From 22246060e677ea4f2f76d0427ed90ccd8b8b7581 Mon Sep 17 00:00:00 2001 From: Uyanide Date: Tue, 26 May 2026 15:18:17 +0200 Subject: [PATCH] init (again) --- .gitignore | 26 + .manager/.gitkeep | 0 DEPENDENCIES.md | 33 + README.md | 80 + files/danmaku-blacklist.txt | 0 fonts/MaterialIconsRound-Regular.otf | Bin 0 -> 400360 bytes fonts/uosc_textures.ttf | Bin 0 -> 37988 bytes icc/DCI-P3-D65.icc | Bin 0 -> 604 bytes icc/DCI-P3-DCI.icc | Bin 0 -> 604 bytes icc/ITU-RBT709ReferenceDisplay.icc | Bin 0 -> 596 bytes icc/ITU-R_BT2020(beta).icc | Bin 0 -> 732 bytes input.conf | 321 + inputevent_key.conf | 29 + manager.json | 120 + mpv.conf | 434 + profiles.conf | 105 + script-modules/extended-menu.lua | 932 +++ script-opts/README.md | 19 + script-opts/auto_save_state.conf | 4 + script-opts/autoload.conf | 34 + script-opts/autosubsync.conf | 28 + script-opts/blacklist_extensions.conf | 12 + script-opts/chapter_make_read.conf | 29 + script-opts/chapterskip.conf | 8 + script-opts/command_palette.conf | 8 + script-opts/commands.conf | 6 + script-opts/console.conf | 37 + script-opts/dyn_menu.conf | 14 + script-opts/evafast.conf | 35 + script-opts/file-browser-keybinds.json | 193 + script-opts/file_browser_favourites.txt | 0 script-opts/hdr_mode.conf | 15 + script-opts/inputevent.conf | 7 + script-opts/modernf.conf | 83 + script-opts/persist_properties.conf | 5 + script-opts/playlistmanager.conf | 157 + script-opts/quality-menu.conf | 81 + script-opts/read_file.conf | 2 + script-opts/select.conf | 7 + script-opts/simplehistory.conf | 305 + script-opts/stats.conf | 91 + script-opts/sub-select.json | 208 + script-opts/sub_assrt.conf | 7 + script-opts/sub_export.conf | 4 + script-opts/sub_select.conf | 24 + script-opts/thumbfast.conf | 42 + script-opts/trackselect.conf | 30 + script-opts/uosc.conf | 241 + script-opts/uosc_danmaku.conf | 62 + script-opts/ytdl_hook.conf | 23 + scripts/auto-save-state.lua | 70 + scripts/autoload.lua | 610 ++ scripts/autosubsync/LICENSE | 21 + scripts/autosubsync/README.md | 130 + scripts/autosubsync/autosubsync.lua | 559 ++ scripts/autosubsync/main.lua | 1 + scripts/autosubsync/menu.lua | 107 + scripts/autosubsync/subtitle.lua | 276 + scripts/blacklist-extensions.lua | 78 + scripts/chapter-make-read.lua | 618 ++ scripts/chapterskip.lua | 91 + scripts/command_palette.lua | 1074 +++ scripts/cycle-commands.lua | 80 + scripts/delete-current-file.lua | 169 + scripts/delete_current_file.lua | 169 + scripts/evafast.lua | 396 + scripts/fix-avsync.lua | 25 + scripts/hdr-mode.lua | 307 + scripts/history-bookmark.lua | 602 ++ scripts/inputevent.lua | 600 ++ scripts/manager.lua | 114 + scripts/mpv-animated.lua | 249 + scripts/open_dialog.lua | 341 + scripts/persist_properties.lua | 115 + scripts/playlistmanager.lua | 1678 ++++ scripts/quality-menu.lua | 1177 +++ scripts/simplehistory.lua | 2328 ++++++ scripts/slicing_copy.lua | 227 + scripts/sponsorblock_minimal.lua | 149 + scripts/sub-assrt.lua | 704 ++ scripts/sub-fonts-dir-auto.lua | 122 + scripts/sub-select.lua | 429 + scripts/sub_export.lua | 148 + scripts/thumbfast.lua | 947 +++ scripts/trackselect.lua | 257 + scripts/undoredo.lua | 218 + scripts/uosc/LICENSE.LGPL | 502 ++ scripts/uosc/README.md | 545 ++ scripts/uosc/char-conv/zh.json | 405 + scripts/uosc/elements/BufferingIndicator.lua | 39 + scripts/uosc/elements/Button.lua | 100 + scripts/uosc/elements/Controls.lua | 428 + scripts/uosc/elements/Curtain.lua | 35 + scripts/uosc/elements/CycleButton.lua | 86 + scripts/uosc/elements/Element.lua | 265 + scripts/uosc/elements/Elements.lua | 152 + scripts/uosc/elements/ManagedButton.lua | 36 + scripts/uosc/elements/Menu.lua | 1825 +++++ scripts/uosc/elements/PauseIndicator.lua | 83 + scripts/uosc/elements/Speed.lua | 195 + scripts/uosc/elements/Timeline.lua | 522 ++ scripts/uosc/elements/TopBar.lua | 431 + scripts/uosc/elements/Updater.lua | 319 + scripts/uosc/elements/Volume.lua | 284 + scripts/uosc/elements/WindowBorder.lua | 35 + scripts/uosc/intl/de.json | 83 + scripts/uosc/intl/es.json | 99 + scripts/uosc/intl/fr.json | 59 + scripts/uosc/intl/it.json | 59 + scripts/uosc/intl/pl.json | 107 + scripts/uosc/intl/pt.json | 99 + scripts/uosc/intl/ro.json | 59 + scripts/uosc/intl/ru.json | 59 + scripts/uosc/intl/tr.json | 107 + scripts/uosc/intl/uk.json | 69 + scripts/uosc/intl/zh-HK.json | 107 + scripts/uosc/intl/zh-hans.json | 99 + scripts/uosc/lib/ass.lua | 312 + scripts/uosc/lib/buttons.lua | 74 + scripts/uosc/lib/char_conv.lua | 66 + scripts/uosc/lib/cursor.lua | 469 ++ scripts/uosc/lib/fzy.lua | 297 + scripts/uosc/lib/intl.lua | 68 + scripts/uosc/lib/menus.lua | 1138 +++ scripts/uosc/lib/std.lua | 381 + scripts/uosc/lib/text.lua | 660 ++ scripts/uosc/lib/utils.lua | 1078 +++ scripts/uosc/main.lua | 1207 +++ scripts/uosc_danmaku/LICENSE | 21 + scripts/uosc_danmaku/README.md | 1058 +++ scripts/uosc_danmaku/apis/dandanplay.lua | 613 ++ scripts/uosc_danmaku/apis/extra.lua | 435 + scripts/uosc_danmaku/dicts/s2t_chars.lua | 3982 +++++++++ scripts/uosc_danmaku/dicts/t2s_chars.lua | 4115 ++++++++++ scripts/uosc_danmaku/main.lua | 940 +++ scripts/uosc_danmaku/modules/aes.lua | 491 ++ scripts/uosc_danmaku/modules/base64.lua | 203 + scripts/uosc_danmaku/modules/guess.lua | 159 + scripts/uosc_danmaku/modules/hash.lua | 192 + scripts/uosc_danmaku/modules/md5.lua | 164 + scripts/uosc_danmaku/modules/menu.lua | 1337 +++ scripts/uosc_danmaku/modules/options.lua | 77 + scripts/uosc_danmaku/modules/parse.lua | 720 ++ scripts/uosc_danmaku/modules/render.lua | 259 + scripts/uosc_danmaku/modules/update.lua | 167 + scripts/uosc_danmaku/modules/utils.lua | 755 ++ shaders/Ani4K/Ani4Kv2_ArtCNN_C4F32_i2.glsl | 4046 +++++++++ .../Ani4K/Ani4Kv2_ArtCNN_C4F32_i2_CMP.glsl | 3519 ++++++++ shaders/Ani4K/AniSD_ArtCNN_C4F32_i4.glsl | 4046 +++++++++ shaders/Ani4K/AniSD_ArtCNN_C4F32_i4_CMP.glsl | 3520 ++++++++ .../.github/ISSUE_TEMPLATE/bug_report.md | 34 + .../.github/ISSUE_TEMPLATE/feature_request.md | 20 + shaders/Anime4K/CODE_OF_CONDUCT.md | 76 + shaders/Anime4K/README.md | 106 + .../glsl/Deblur/Anime4K_Deblur_DoG.glsl | 152 + .../glsl/Deblur/Anime4K_Deblur_Original.glsl | 287 + .../Anime4K_Denoise_Bilateral_Mean.glsl | 67 + .../Anime4K_Denoise_Bilateral_Median.glsl | 120 + .../Anime4K_Denoise_Bilateral_Mode.glsl | 103 + .../Anime4K_Darken_Fast.glsl | 215 + .../Anime4K_Darken_HQ.glsl | 197 + .../Anime4K_Darken_VeryFast.glsl | 217 + .../Anime4K_Thin_Fast.glsl | 234 + .../Experimental-Effects/Anime4K_Thin_HQ.glsl | 222 + .../Anime4K_Thin_VeryFast.glsl | 236 + .../Restore/Anime4K_Clamp_Highlights.glsl | 90 + .../glsl/Restore/Anime4K_Restore_CNN_L.glsl | 429 + .../glsl/Restore/Anime4K_Restore_CNN_M.glsl | 275 + .../glsl/Restore/Anime4K_Restore_CNN_S.glsl | 137 + .../Restore/Anime4K_Restore_CNN_Soft_L.glsl | 429 + .../Restore/Anime4K_Restore_CNN_Soft_M.glsl | 275 + .../Restore/Anime4K_Restore_CNN_Soft_S.glsl | 137 + .../Restore/Anime4K_Restore_CNN_Soft_UL.glsl | 1704 ++++ .../Restore/Anime4K_Restore_CNN_Soft_VL.glsl | 873 ++ .../glsl/Restore/Anime4K_Restore_CNN_UL.glsl | 1704 ++++ .../glsl/Restore/Anime4K_Restore_CNN_VL.glsl | 873 ++ .../glsl/Restore/Anime4K_Restore_GAN_UL.glsl | 1317 +++ .../glsl/Restore/Anime4K_Restore_GAN_UUL.glsl | 1317 +++ .../Anime4K_Upscale_Denoise_CNN_x2_L.glsl | 461 ++ .../Anime4K_Upscale_Denoise_CNN_x2_M.glsl | 300 + .../Anime4K_Upscale_Denoise_CNN_x2_S.glsl | 158 + .../Anime4K_Upscale_Denoise_CNN_x2_UL.glsl | 1702 ++++ .../Anime4K_Upscale_Denoise_CNN_x2_VL.glsl | 969 +++ .../Anime4K_3DGraphics_AA_Upscale_x2_US.glsl | 112 + .../Anime4K_3DGraphics_Upscale_x2_US.glsl | 112 + .../Upscale/Anime4K_AutoDownscalePre_x2.glsl | 36 + .../Upscale/Anime4K_AutoDownscalePre_x4.glsl | 36 + .../Upscale/Anime4K_Upscale_CNN_x2_L.glsl | 461 ++ .../Upscale/Anime4K_Upscale_CNN_x2_M.glsl | 300 + .../Upscale/Anime4K_Upscale_CNN_x2_S.glsl | 158 + .../Upscale/Anime4K_Upscale_CNN_x2_UL.glsl | 1702 ++++ .../Upscale/Anime4K_Upscale_CNN_x2_VL.glsl | 969 +++ .../glsl/Upscale/Anime4K_Upscale_DTD_x2.glsl | 612 ++ .../Anime4K_Upscale_Deblur_DoG_x2.glsl | 157 + .../Anime4K_Upscale_Deblur_Original_x2.glsl | 277 + .../glsl/Upscale/Anime4K_Upscale_DoG_x2.glsl | 142 + .../Upscale/Anime4K_Upscale_GAN_x2_M.glsl | 1079 +++ .../Upscale/Anime4K_Upscale_GAN_x2_S.glsl | 612 ++ .../Upscale/Anime4K_Upscale_GAN_x3_L.glsl | 1646 ++++ .../Upscale/Anime4K_Upscale_GAN_x3_VL.glsl | 2913 +++++++ .../Upscale/Anime4K_Upscale_GAN_x4_UL.glsl | 4815 +++++++++++ .../Upscale/Anime4K_Upscale_GAN_x4_UUL.glsl | 7277 +++++++++++++++++ .../Upscale/Anime4K_Upscale_Original_x2.glsl | 277 + shaders/Anime4K/md/GLSL_Instructions.md | 14 + .../Anime4K/md/GLSL_Instructions_Advanced.md | 102 + shaders/Anime4K/md/GLSL_Instructions_Linux.md | 70 + .../md/GLSL_Instructions_Linux_Plex.md | 52 + shaders/Anime4K/md/GLSL_Instructions_Mac.md | 54 + .../Anime4K/md/GLSL_Instructions_Mac_IINA.md | 34 + .../Anime4K/md/GLSL_Instructions_Mac_MPV.md | 71 + .../Anime4K/md/GLSL_Instructions_Mac_Plex.md | 63 + shaders/Anime4K/md/GLSL_Instructions_Plex.md | 20 + .../md/GLSL_Instructions_Windows_MPV.md | 56 + .../md/GLSL_Instructions_Windows_Plex.md | 58 + shaders/igv/FSRCNNX_x1_16-0-4-1_distort.glsl | 1092 +++ shaders/igv/FSRCNNX_x2_16-0-4-1.glsl | 1133 +++ shaders/igv/FSRCNNX_x2_8-0-4-1.glsl | 411 + shaders/igv/KrigBilateral.glsl | 213 + shaders/igv/SSimDownscaler.glsl | 214 + shaders/igv/SSimSuperRes.glsl | 203 + shaders/igv/adaptive-sharpen.glsl | 230 + shaders/igv/adaptive-sharpen_luma.glsl | 436 + .../nnedi3/gather/nnedi3-nns128-win8x4.glsl | 370 + .../nnedi3/gather/nnedi3-nns128-win8x6.glsl | 378 + .../nnedi3/gather/nnedi3-nns16-win8x4.glsl | 146 + .../nnedi3/gather/nnedi3-nns16-win8x6.glsl | 154 + .../nnedi3/gather/nnedi3-nns256-win8x4.glsl | 626 ++ .../nnedi3/gather/nnedi3-nns256-win8x6.glsl | 634 ++ .../nnedi3/gather/nnedi3-nns32-win8x4.glsl | 178 + .../nnedi3/gather/nnedi3-nns32-win8x6.glsl | 186 + .../nnedi3/gather/nnedi3-nns64-win8x4.glsl | 242 + .../nnedi3/gather/nnedi3-nns64-win8x6.glsl | 250 + shaders/nnedi3/nnedi3-nns128-win8x4.glsl | 418 + shaders/nnedi3/nnedi3-nns128-win8x6.glsl | 450 + shaders/nnedi3/nnedi3-nns16-win8x4.glsl | 194 + shaders/nnedi3/nnedi3-nns16-win8x6.glsl | 226 + shaders/nnedi3/nnedi3-nns256-win8x4.glsl | 674 ++ shaders/nnedi3/nnedi3-nns256-win8x6.glsl | 706 ++ shaders/nnedi3/nnedi3-nns32-win8x4.glsl | 226 + shaders/nnedi3/nnedi3-nns32-win8x6.glsl | 258 + shaders/nnedi3/nnedi3-nns64-win8x4.glsl | 290 + shaders/nnedi3/nnedi3-nns64-win8x6.glsl | 322 + shaders/other/JointBilateral.glsl | 235 + shaders/other/PixelClipper.glsl | 186 + shaders/other/color-alt_luma.glsl | 11 + shaders/other/colorlevel_expand.glsl | 13 + shaders/other/colorlevel_expand_chroma.glsl | 13 + shaders/other/colorlevel_expand_luma.glsl | 13 + shaders/other/colorlevel_shrink.glsl | 13 + shaders/other/colorlevel_shrink_chroma.glsl | 13 + shaders/other/colorlevel_shrink_luma.glsl | 13 + shaders/other/colorlevels.glsl | 12 + shaders/other/minblur-usm.glsl | 72 + shaders/other/nlmeans_luma.glsl | 1035 +++ shaders/other/noise_static_chroma.glsl | 23 + shaders/other/noise_static_luma.glsl | 22 + shaders/other/sdr_normalize.glsl | 220 + shaders/other/unsharp-masking_blur.glsl | 24 + shaders/other/unsharp-masking_sharpen.glsl | 24 + shaders/other/unsharp.glsl | 45 + shaders/ravu/gather/ravu-lite-ar-r2.glsl | 147 + shaders/ravu/gather/ravu-lite-ar-r3.glsl | 186 + shaders/ravu/gather/ravu-lite-ar-r4.glsl | 265 + shaders/ravu/gather/ravu-zoom-ar-r2.glsl | 206 + shaders/ravu/gather/ravu-zoom-ar-r3.glsl | 239 + shaders/ravu/ravu-lite-ar-r2.glsl | 152 + shaders/ravu/ravu-lite-ar-r3.glsl | 202 + shaders/ravu/ravu-lite-ar-r4.glsl | 298 + shaders/ravu/ravu-zoom-ar-r2.glsl | 218 + shaders/ravu/ravu-zoom-ar-r3.glsl | 266 + 270 files changed, 117698 insertions(+) create mode 100644 .gitignore create mode 100644 .manager/.gitkeep create mode 100644 DEPENDENCIES.md create mode 100644 README.md create mode 100644 files/danmaku-blacklist.txt create mode 100644 fonts/MaterialIconsRound-Regular.otf create mode 100644 fonts/uosc_textures.ttf create mode 100644 icc/DCI-P3-D65.icc create mode 100644 icc/DCI-P3-DCI.icc create mode 100644 icc/ITU-RBT709ReferenceDisplay.icc create mode 100644 icc/ITU-R_BT2020(beta).icc create mode 100644 input.conf create mode 100644 inputevent_key.conf create mode 100644 manager.json create mode 100644 mpv.conf create mode 100644 profiles.conf create mode 100644 script-modules/extended-menu.lua create mode 100644 script-opts/README.md create mode 100644 script-opts/auto_save_state.conf create mode 100644 script-opts/autoload.conf create mode 100644 script-opts/autosubsync.conf create mode 100644 script-opts/blacklist_extensions.conf create mode 100644 script-opts/chapter_make_read.conf create mode 100644 script-opts/chapterskip.conf create mode 100644 script-opts/command_palette.conf create mode 100644 script-opts/commands.conf create mode 100644 script-opts/console.conf create mode 100644 script-opts/dyn_menu.conf create mode 100644 script-opts/evafast.conf create mode 100644 script-opts/file-browser-keybinds.json create mode 100644 script-opts/file_browser_favourites.txt create mode 100644 script-opts/hdr_mode.conf create mode 100644 script-opts/inputevent.conf create mode 100644 script-opts/modernf.conf create mode 100644 script-opts/persist_properties.conf create mode 100644 script-opts/playlistmanager.conf create mode 100644 script-opts/quality-menu.conf create mode 100644 script-opts/read_file.conf create mode 100644 script-opts/select.conf create mode 100644 script-opts/simplehistory.conf create mode 100644 script-opts/stats.conf create mode 100644 script-opts/sub-select.json create mode 100644 script-opts/sub_assrt.conf create mode 100644 script-opts/sub_export.conf create mode 100644 script-opts/sub_select.conf create mode 100644 script-opts/thumbfast.conf create mode 100644 script-opts/trackselect.conf create mode 100644 script-opts/uosc.conf create mode 100644 script-opts/uosc_danmaku.conf create mode 100644 script-opts/ytdl_hook.conf create mode 100644 scripts/auto-save-state.lua create mode 100644 scripts/autoload.lua create mode 100644 scripts/autosubsync/LICENSE create mode 100644 scripts/autosubsync/README.md create mode 100644 scripts/autosubsync/autosubsync.lua create mode 100644 scripts/autosubsync/main.lua create mode 100644 scripts/autosubsync/menu.lua create mode 100644 scripts/autosubsync/subtitle.lua create mode 100644 scripts/blacklist-extensions.lua create mode 100644 scripts/chapter-make-read.lua create mode 100644 scripts/chapterskip.lua create mode 100644 scripts/command_palette.lua create mode 100644 scripts/cycle-commands.lua create mode 100644 scripts/delete-current-file.lua create mode 100644 scripts/delete_current_file.lua create mode 100644 scripts/evafast.lua create mode 100644 scripts/fix-avsync.lua create mode 100644 scripts/hdr-mode.lua create mode 100644 scripts/history-bookmark.lua create mode 100644 scripts/inputevent.lua create mode 100644 scripts/manager.lua create mode 100644 scripts/mpv-animated.lua create mode 100644 scripts/open_dialog.lua create mode 100644 scripts/persist_properties.lua create mode 100644 scripts/playlistmanager.lua create mode 100644 scripts/quality-menu.lua create mode 100644 scripts/simplehistory.lua create mode 100644 scripts/slicing_copy.lua create mode 100644 scripts/sponsorblock_minimal.lua create mode 100644 scripts/sub-assrt.lua create mode 100644 scripts/sub-fonts-dir-auto.lua create mode 100644 scripts/sub-select.lua create mode 100644 scripts/sub_export.lua create mode 100644 scripts/thumbfast.lua create mode 100644 scripts/trackselect.lua create mode 100644 scripts/undoredo.lua create mode 100644 scripts/uosc/LICENSE.LGPL create mode 100644 scripts/uosc/README.md create mode 100644 scripts/uosc/char-conv/zh.json create mode 100644 scripts/uosc/elements/BufferingIndicator.lua create mode 100644 scripts/uosc/elements/Button.lua create mode 100644 scripts/uosc/elements/Controls.lua create mode 100644 scripts/uosc/elements/Curtain.lua create mode 100644 scripts/uosc/elements/CycleButton.lua create mode 100644 scripts/uosc/elements/Element.lua create mode 100644 scripts/uosc/elements/Elements.lua create mode 100644 scripts/uosc/elements/ManagedButton.lua create mode 100644 scripts/uosc/elements/Menu.lua create mode 100644 scripts/uosc/elements/PauseIndicator.lua create mode 100644 scripts/uosc/elements/Speed.lua create mode 100644 scripts/uosc/elements/Timeline.lua create mode 100644 scripts/uosc/elements/TopBar.lua create mode 100644 scripts/uosc/elements/Updater.lua create mode 100644 scripts/uosc/elements/Volume.lua create mode 100644 scripts/uosc/elements/WindowBorder.lua create mode 100644 scripts/uosc/intl/de.json create mode 100644 scripts/uosc/intl/es.json create mode 100644 scripts/uosc/intl/fr.json create mode 100644 scripts/uosc/intl/it.json create mode 100644 scripts/uosc/intl/pl.json create mode 100644 scripts/uosc/intl/pt.json create mode 100644 scripts/uosc/intl/ro.json create mode 100644 scripts/uosc/intl/ru.json create mode 100644 scripts/uosc/intl/tr.json create mode 100644 scripts/uosc/intl/uk.json create mode 100644 scripts/uosc/intl/zh-HK.json create mode 100644 scripts/uosc/intl/zh-hans.json create mode 100644 scripts/uosc/lib/ass.lua create mode 100644 scripts/uosc/lib/buttons.lua create mode 100644 scripts/uosc/lib/char_conv.lua create mode 100644 scripts/uosc/lib/cursor.lua create mode 100644 scripts/uosc/lib/fzy.lua create mode 100644 scripts/uosc/lib/intl.lua create mode 100644 scripts/uosc/lib/menus.lua create mode 100644 scripts/uosc/lib/std.lua create mode 100644 scripts/uosc/lib/text.lua create mode 100644 scripts/uosc/lib/utils.lua create mode 100644 scripts/uosc/main.lua create mode 100644 scripts/uosc_danmaku/LICENSE create mode 100644 scripts/uosc_danmaku/README.md create mode 100644 scripts/uosc_danmaku/apis/dandanplay.lua create mode 100644 scripts/uosc_danmaku/apis/extra.lua create mode 100644 scripts/uosc_danmaku/dicts/s2t_chars.lua create mode 100644 scripts/uosc_danmaku/dicts/t2s_chars.lua create mode 100644 scripts/uosc_danmaku/main.lua create mode 100644 scripts/uosc_danmaku/modules/aes.lua create mode 100644 scripts/uosc_danmaku/modules/base64.lua create mode 100644 scripts/uosc_danmaku/modules/guess.lua create mode 100644 scripts/uosc_danmaku/modules/hash.lua create mode 100644 scripts/uosc_danmaku/modules/md5.lua create mode 100644 scripts/uosc_danmaku/modules/menu.lua create mode 100644 scripts/uosc_danmaku/modules/options.lua create mode 100644 scripts/uosc_danmaku/modules/parse.lua create mode 100644 scripts/uosc_danmaku/modules/render.lua create mode 100644 scripts/uosc_danmaku/modules/update.lua create mode 100644 scripts/uosc_danmaku/modules/utils.lua create mode 100644 shaders/Ani4K/Ani4Kv2_ArtCNN_C4F32_i2.glsl create mode 100644 shaders/Ani4K/Ani4Kv2_ArtCNN_C4F32_i2_CMP.glsl create mode 100644 shaders/Ani4K/AniSD_ArtCNN_C4F32_i4.glsl create mode 100644 shaders/Ani4K/AniSD_ArtCNN_C4F32_i4_CMP.glsl create mode 100644 shaders/Anime4K/.github/ISSUE_TEMPLATE/bug_report.md create mode 100644 shaders/Anime4K/.github/ISSUE_TEMPLATE/feature_request.md create mode 100644 shaders/Anime4K/CODE_OF_CONDUCT.md create mode 100644 shaders/Anime4K/README.md create mode 100644 shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_DoG.glsl create mode 100644 shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_Original.glsl create mode 100644 shaders/Anime4K/glsl/Denoise/Anime4K_Denoise_Bilateral_Mean.glsl create mode 100644 shaders/Anime4K/glsl/Denoise/Anime4K_Denoise_Bilateral_Median.glsl create mode 100644 shaders/Anime4K/glsl/Denoise/Anime4K_Denoise_Bilateral_Mode.glsl create mode 100644 shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_Fast.glsl create mode 100644 shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_HQ.glsl create mode 100644 shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_VeryFast.glsl create mode 100644 shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Thin_Fast.glsl create mode 100644 shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Thin_HQ.glsl create mode 100644 shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Thin_VeryFast.glsl create mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Clamp_Highlights.glsl create mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_L.glsl create mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_M.glsl create mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_S.glsl create mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_L.glsl create mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_M.glsl create mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_S.glsl create mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_UL.glsl create mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_VL.glsl create mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_UL.glsl create mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_VL.glsl create mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_GAN_UL.glsl create mode 100644 shaders/Anime4K/glsl/Restore/Anime4K_Restore_GAN_UUL.glsl create mode 100644 shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_L.glsl create mode 100644 shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_M.glsl create mode 100644 shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_S.glsl create mode 100644 shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_UL.glsl create mode 100644 shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_3DGraphics_AA_Upscale_x2_US.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_3DGraphics_Upscale_x2_US.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_AutoDownscalePre_x2.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_AutoDownscalePre_x4.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_L.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_M.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_S.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_UL.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_VL.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_DTD_x2.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Deblur_DoG_x2.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Deblur_Original_x2.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_DoG_x2.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x2_M.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x2_S.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x3_L.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x3_VL.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x4_UL.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x4_UUL.glsl create mode 100644 shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Original_x2.glsl create mode 100644 shaders/Anime4K/md/GLSL_Instructions.md create mode 100644 shaders/Anime4K/md/GLSL_Instructions_Advanced.md create mode 100644 shaders/Anime4K/md/GLSL_Instructions_Linux.md create mode 100644 shaders/Anime4K/md/GLSL_Instructions_Linux_Plex.md create mode 100644 shaders/Anime4K/md/GLSL_Instructions_Mac.md create mode 100644 shaders/Anime4K/md/GLSL_Instructions_Mac_IINA.md create mode 100644 shaders/Anime4K/md/GLSL_Instructions_Mac_MPV.md create mode 100644 shaders/Anime4K/md/GLSL_Instructions_Mac_Plex.md create mode 100644 shaders/Anime4K/md/GLSL_Instructions_Plex.md create mode 100644 shaders/Anime4K/md/GLSL_Instructions_Windows_MPV.md create mode 100644 shaders/Anime4K/md/GLSL_Instructions_Windows_Plex.md create mode 100644 shaders/igv/FSRCNNX_x1_16-0-4-1_distort.glsl create mode 100644 shaders/igv/FSRCNNX_x2_16-0-4-1.glsl create mode 100644 shaders/igv/FSRCNNX_x2_8-0-4-1.glsl create mode 100644 shaders/igv/KrigBilateral.glsl create mode 100644 shaders/igv/SSimDownscaler.glsl create mode 100644 shaders/igv/SSimSuperRes.glsl create mode 100644 shaders/igv/adaptive-sharpen.glsl create mode 100644 shaders/igv/adaptive-sharpen_luma.glsl create mode 100644 shaders/nnedi3/gather/nnedi3-nns128-win8x4.glsl create mode 100644 shaders/nnedi3/gather/nnedi3-nns128-win8x6.glsl create mode 100644 shaders/nnedi3/gather/nnedi3-nns16-win8x4.glsl create mode 100644 shaders/nnedi3/gather/nnedi3-nns16-win8x6.glsl create mode 100644 shaders/nnedi3/gather/nnedi3-nns256-win8x4.glsl create mode 100644 shaders/nnedi3/gather/nnedi3-nns256-win8x6.glsl create mode 100644 shaders/nnedi3/gather/nnedi3-nns32-win8x4.glsl create mode 100644 shaders/nnedi3/gather/nnedi3-nns32-win8x6.glsl create mode 100644 shaders/nnedi3/gather/nnedi3-nns64-win8x4.glsl create mode 100644 shaders/nnedi3/gather/nnedi3-nns64-win8x6.glsl create mode 100644 shaders/nnedi3/nnedi3-nns128-win8x4.glsl create mode 100644 shaders/nnedi3/nnedi3-nns128-win8x6.glsl create mode 100644 shaders/nnedi3/nnedi3-nns16-win8x4.glsl create mode 100644 shaders/nnedi3/nnedi3-nns16-win8x6.glsl create mode 100644 shaders/nnedi3/nnedi3-nns256-win8x4.glsl create mode 100644 shaders/nnedi3/nnedi3-nns256-win8x6.glsl create mode 100644 shaders/nnedi3/nnedi3-nns32-win8x4.glsl create mode 100644 shaders/nnedi3/nnedi3-nns32-win8x6.glsl create mode 100644 shaders/nnedi3/nnedi3-nns64-win8x4.glsl create mode 100644 shaders/nnedi3/nnedi3-nns64-win8x6.glsl create mode 100644 shaders/other/JointBilateral.glsl create mode 100644 shaders/other/PixelClipper.glsl create mode 100644 shaders/other/color-alt_luma.glsl create mode 100644 shaders/other/colorlevel_expand.glsl create mode 100644 shaders/other/colorlevel_expand_chroma.glsl create mode 100644 shaders/other/colorlevel_expand_luma.glsl create mode 100644 shaders/other/colorlevel_shrink.glsl create mode 100644 shaders/other/colorlevel_shrink_chroma.glsl create mode 100644 shaders/other/colorlevel_shrink_luma.glsl create mode 100644 shaders/other/colorlevels.glsl create mode 100644 shaders/other/minblur-usm.glsl create mode 100644 shaders/other/nlmeans_luma.glsl create mode 100644 shaders/other/noise_static_chroma.glsl create mode 100644 shaders/other/noise_static_luma.glsl create mode 100644 shaders/other/sdr_normalize.glsl create mode 100644 shaders/other/unsharp-masking_blur.glsl create mode 100644 shaders/other/unsharp-masking_sharpen.glsl create mode 100644 shaders/other/unsharp.glsl create mode 100644 shaders/ravu/gather/ravu-lite-ar-r2.glsl create mode 100644 shaders/ravu/gather/ravu-lite-ar-r3.glsl create mode 100644 shaders/ravu/gather/ravu-lite-ar-r4.glsl create mode 100644 shaders/ravu/gather/ravu-zoom-ar-r2.glsl create mode 100644 shaders/ravu/gather/ravu-zoom-ar-r3.glsl create mode 100644 shaders/ravu/ravu-lite-ar-r2.glsl create mode 100644 shaders/ravu/ravu-lite-ar-r3.glsl create mode 100644 shaders/ravu/ravu-lite-ar-r4.glsl create mode 100644 shaders/ravu/ravu-zoom-ar-r2.glsl create mode 100644 shaders/ravu/ravu-zoom-ar-r3.glsl diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a9059ea --- /dev/null +++ b/.gitignore @@ -0,0 +1,26 @@ +**/.git +.manager/* +!.manager/.gitkeep +cache/ + +files/*.log +files/*.json +files/*.jsonl +files/command_history.txt +files/watch_history.jsonl +files/historybookmarks/ +files/screen/ +files/animated/ +files/cutfragments/ +files/chapters/ +files/danmaku-history.json + +historybookmarks + +*.log + +.claude/ +.vscode/ +*.swp +*.swo +*~ diff --git a/.manager/.gitkeep b/.manager/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md new file mode 100644 index 0000000..5cb4067 --- /dev/null +++ b/DEPENDENCIES.md @@ -0,0 +1,33 @@ +# 外部依赖 + +## 必需 + +| 依赖 | 用途 | 安装 | +| --------- | --------------------------------------- | --------------------- | +| mpv | 播放器本体(需 gpu-next + vulkan 支持) | `pacman -S mpv` | +| yt-dlp | URL 解析与流媒体播放 | `pacman -S yt-dlp` | +| ffmpeg | 字幕导出、缩略图生成、字幕同步 | `pacman -S ffmpeg` | +| curl | 字幕搜索下载、更新检查 | `pacman -S curl` | +| trash-cli | 安全删除文件(移至回收站) | `pacman -S trash-cli` | + +## 可选 + +| 依赖 | 用途 | 安装 | +| ---------- | ------------------------------------- | ---------------------------------------------- | +| alass | 字幕自动同步(autosubsync 脚本) | `paru -S alass` | +| ffsubsync | 字幕自动同步(alass 的替代) | `pip install ffsubsync` | + +## 字体 + +弹幕中可能出现 emoji, 因此需要使用支持的字体, 例如将 Symbola 加到 Noto Sans CJK SC 的末尾: + +```xml + + + Noto Sans CJK SC + + + Symbola + + +``` diff --git a/README.md b/README.md new file mode 100644 index 0000000..2e9f794 --- /dev/null +++ b/README.md @@ -0,0 +1,80 @@ +# .config/mpv + +一套 mpv 播放器配置,集成 uosc 界面、多种着色器方案和自动更新机制。 + +## Credits + +原始仓库为 [emoeem/mpv](https://github.com/emoeem/mpv)。根据我的需要精简了一些功能,同时做了一些修复。 + +## 结构 + +``` +mpv.conf # 主配置(全局设置 + Profile 定义) +input.conf # 键位绑定与右键菜单 +inputevent_key.conf # inputevent.lua 增强键位(单击/双击/长按) +profiles.conf # 场景预设(游戏/电影/动画/低功耗/直播等) +manager.json # 脚本和着色器的 git 自动更新源 +scripts/ # Lua 脚本 +script-opts/ # 脚本配置 +shaders/ # GPU 着色器(NNEDI3/FSRCNNX/Ani4K/Anime4K/ravu/igv 等) +fonts/ # 字体 +icc/ # ICC 色彩配置文件 +``` + +## 主要功能 + +- **界面**:uosc 界面 + 右键菜单 + 缩略图预览 + 命令面板 +- **色彩管理**:ICC / Target 双模式,HDR 直通与色调映射,动态峰值检测 +- **着色器**:NNEDI3、FSRCNNX、Ani4K、AniSD、Anime4K、ravu-zoom、SSIM +- **条件 Profile**:根据分辨率 / HDR / 帧率 / 刷新率 / 网络等自动调整参数 +- **字幕**:自动加载、编码检测(GB18030)、在线搜索(assrt)、自动同步(autosubsync) +- **音频**:96kHz 重采样、独占模式、多声道自动下混调节、ReplayGain +- **播放管理**:历史记录(simplehistory)、进度保存、文件浏览器、播放列表管理 +- **网络**:yt-dlp 集成、浏览器 Cookie、自动缓存优化 +- **更新**:按 M 键通过 manager.lua 从 git 自动更新所有脚本和着色器 + +## 着色器方案 + +在 `mpv.conf` 的 Profile 激活区切换(取消注释对应行): + +| Profile | 适用场景 | GPU 开销 | +| --------- | --------------- | -------- | +| NNEDI3 | 通用 | 中 | +| NNEDI3+ | 通用(64 变体) | 高 | +| ravu-zoom | 通用 | 中 | +| FSRCNNX | HD 内容 | 中 | +| FSRCNNX+ | SD 内容去伪影 | 中 | +| Ani4K | 动画 | 极高 | +| AniSD | SD 动画 | 极高 | +| Anime4K | 动画 | 低 | +| SSIM | 低性能需求 | 低 | + +其中: + +- Ani4K / AniSD 着色器(`shaders/Ani4K/`)来自 [Sirosky/Upscale-Hub](https://github.com/Sirosky/Upscale-Hub)。 +- nnedi3 / ravu 着色器(`shaders/nnedi3/`,`shaders/ravu/`)来自 [mpv-prescalers](https://github.com/bjin/mpv-prescalers)。 + +## 外部依赖 + +见 [DEPENDENCIES.md](DEPENDENCIES.md)。 + +## 更新流程 + +1. 在 mpv 中按 `M` 触发 manager.lua,观察控制台输出,确认无 `FAILED` 条目。可能会有其他报错如 `[manager] Fehler: externes Repository manager existiert bereits.`,这是正常的。只需要确保不出现全大写的 `FAILED` 即可。 +2. 将 manager.lua 在 dest 目录产生的嵌套 `.git` 目录迁移到仓库内的 `.manager/`(避免根仓库误判为 submodule,幂等可重复执行): + ```bash + REPO=$(git -C ~/.config/mpv rev-parse --show-toplevel) + GITSTORE="$REPO/.manager" + mkdir -p "$GITSTORE" + find -L ~/.config/mpv -mindepth 2 -name .git -type d | while read gitdir; do + dest="${gitdir%/.git}" + rel="${dest#$REPO/}" + name=$(echo "$rel" | tr '/' '-') + mv "$gitdir" "$GITSTORE/$name" + depth=$(echo "$rel" | tr -cd '/' | wc -c) + ups=$(printf '../%.0s' $(seq 1 $((depth + 1)))) + echo "gitdir: ${ups}.manager/$name" > "$dest/.git" + done + ``` +3. 重启 mpv,检查控制台有无 `unknown key` 或脚本加载失败的警告 +4. 若有 `unknown key` 警告,说明对应脚本的配置项发生变化,找 `script-opts/` 下同名 `.conf` 对照脚本源码更新 diff --git a/files/danmaku-blacklist.txt b/files/danmaku-blacklist.txt new file mode 100644 index 0000000..e69de29 diff --git a/fonts/MaterialIconsRound-Regular.otf b/fonts/MaterialIconsRound-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..4c4e0dcfe20684e18da5fd6f4dfbd489ee947c66 GIT binary patch literal 400360 zcmeEvd7M|%|NlM9J@?MuzHgEwNs?qI2}wvok`PkUBAKQ#qh@N#mh_=dvVOArShDqr z4+)7+AN%$pVcMpdDO5s8e$VGQ_rA9&-_Q5=`2F`&kD0mm^*Z<5b6)4QpXHu0XwVs6 zwl~dFUb_?f_HB3C39FCuM6{v$8Dcto4uW)%as6F)si0w9Hyxc(SF9Y&6sSj-#G zQ`dT4{Z?ZxE*>A=d?o>pc+6!T%`w-Z{<-+sGJf3E6VWdIdk#PCJnu{|yct&x zhKs%Y6Q1YZ<9?$QAZh=Eg#cQz@Rh|E6&(G8r(D^uzQ6x?mW=;OSCfh=^gJ!uIzO$p zz1@gs{>)#NTUhHNrax*Oz%$ z;I0s5CV1VwZusdAcsK8G{5}NNgYf$>?@0VU6uE{OtyK&pPjEm-41|DevNS z>bo-AxA*7%Z(8+#_pTE`nepCaOS3CL+lgK~^t2oLegv*g26h~%RfvAH^ZMieiJ(P0 z?*u>!@pm97?Vh^Y-dzS-lm12cJ;Ljn;7&X2fByQD0)JBAPYV1=fj=qmCk6hbz@HTO zlLCKI;7keJldtKqWighd2{cGLZ>%LgGY2B9f;ra&a zo2@@`{T=Ho*MGaA;fAgoj^D6q!{-||Z&Vu_Z)~=4pN;!%?76Ye#ocUUh2K(5j28F0UG0bxqaNRnJx}ty)pFy6VfSudCK>YPIQrO-F7z zdefc3S#TD_$Dva#Oie+}i8UwHoL+Nb&1E%XY9`l|)Ld6nRx`Wi#+qAd=GEL* zGrwj*&7C!O*W6$8V9g^nkJUU;^K{K~HUFr2x#snnH)`Ii`MBounlEeC)@-P$s;Q~@ zrslhvA8UTD*;TWY`$dk=*^Qh&))p_<|Uh#ZC<%~$L60l@7~gG%OT&L z^j-0H4}bUR*8R4gv~|+fd0X$?`pDMDw=UlL#@6??ez0}T)^%IAZ2e)I+@`k`Y-_Ns z(Y7YrT5c=dR<>=%wprV5+O}xh3)}v=ZPm69w|%D1-Mn`9x{m8Q zt?RMwL~zPW>sDG$sajXNK3Jcip4>_gxreWZeF`E`_S_DpcYSUZbl(m~S zY^vGxZFNp{eQ-(-aLVb`XIEcPeQEVI)r+bht6o~Ytop6$_iJQLSW_RIa&pZXHN$Ey zuNhl2We=RP5S+3Iobs^cl*QnbB{eVBEC;8&Rr5j3r{I*zh*P$JQ?^H(;?-t>Q|i@@ zt{o3fnFda|8Jx19_TJh>wGY+4R=cwH?b`QhzpPzbTUGn*=9Zf~ZSJypz~;f5FWNj} z^SI4ZHs1hFS-N?}=C?NgxOvx>5S-HMyOY5w?|k>!)=pbb-a2LLU+Zwn=B+<${RNz2 zw$+a~rDWT5%PH4yyK~zE;FM+C-rn}H<&>|tRfAKufm1wiO4IEvw(r0FK+7rJw;u^k zd3Wb0J8O6T23A=M#nKr368&p;WqjrSwm-}BI?hYNIzF_2Q{HvVYkT&7_}gKV=k2qc zkaiDyUYmQ{Y-{%m{$j4f^V;Tg_?&;+Tmftq%9ZoZ{o8lyzGK?n%ImiEBaqjIeCxGe z#NVw3x2fUZ7RTWyXfXygOl!HL#iuPkX? z>o#`Aq}eB~MC*ol3X>y^qk9MapMEzPnp&bsE$Eo7V*cVu&YT zgF51;ryMEA%OW`i*HdJLoGs_d`Err`5M~R{s|Koz>Z-b_34Bsrt1yRVuP`>cJAQiW zQ}DZ=gX;dczDsi+%+pWm#rXXUewO2Bw?D(b%da%3lmAQ?gR*9X8EeLyGF;6!s42j>Oz`Fn5wf@#4Vl({E(Ab1Ra9}DcegQd8BF{lix@E5cTc7+;JQ7`O< z-xVR~6+RR`lhq)rMOG)z%eo;8@5n-HvtFwE9>V!A%hsHQw`4t*^>`Ngm9->mMb;|( zeK#t>Yy9wE*4u<;eV9EX`v%X;UKsymKal-U_9NM^Wv|G7JNw=2s_g3QZ?k{NX_V6{ zr%leVoKZOwa*A^*a^~lt{+u1TUarm^nma5P)X1Hi`Uw`j6_RsLo@(22l`hWKy_ZR!?{SE$R z|7TNR>YIk%Ssi z6|a~B%=ba7pmoqDXd4_Kl!pz%=Kl5m4gO93&Hh{JJw3$?5B3#jn`6A2^^@Wf|Lous zQDjPWPkFZPjCr{;F>84a=1JEGEp8WYh?U|^@u?gke^P-uRb8k))Q9L|eY5e5Hoh^Y znQ3lXnA6NSGr?2_Q-b$YC;dV2uKqDRQs(IK{^7d2X$3i4FTYZ+s@KBK;c?y&waGii zJJvhS8{kd#ri8;(wST6!)!XKM@9hvqgd$7ih=WBpafs-SdGVIAtsJkeP$SiqdWgPI zjn%dKTm4hmCOqB@F&CJj=0bCYxy^q}mWJK^L(NyFuX)ZqZ~kGH`X2-@co&%$%|Feu zphK`GJS{xK8zEck$Mq9tu{us2uX?K!RUdVd>Z=B+&(v!5g<7M&R9~q|eUE-xKjVL9 zYJ-D<^}&WL!G6Y=%%`v zZm#dp@A)OrXS4kq%~9qoGs?VfJ~ZE%t-;9P%3xIRXz*sZuWaSNF82w3lx@^sFjIP^ z_lozb_ivFa@@7WT5gmzvQ}=ETjV$L zTlt;bF29#M=Ves<9fa#;B{+L^WI8pl()k)NN{&`nUQ-}T=LMI3Mb?hRA#=r!VD@wr^)9~|}+|5678UwR+Gj+`Uc$`-*- z`creV`9e&P7paHTTk3nA>(}%9`Qyx6=HF(uSrZ&9cA68-WHZHI=-*-PkkhOgE8SWjrH|G}>SOe=`Z#?&Y}+7xjy^#T*5~T;{Ht`i{z`A~ z|K>mJZ#VmzQ-hAdq~P!JQ11d+qBr^z!YfRB`AETAZkHr_Fk9tB~;vW(`t*3hHw-dovjz@H}soE2JZ(Sdd~*kf7VA~&)f0vJ|{q*1U3cbZI^~?Nnf2LpI&oY;p73LH3X>e|EesDo>Q7|@`7u3Q= zwiGYuUj708B>%PW(6EoZPjB{>=_C8e)BJb+6~S9!fB!n~eeVPBL+=xLty=28FRznV zsA6@d8X6uSw()-xOT0q=es8tv8y@H{lB48NVwd-~u#>0>?o=O%#cFtXp?E-T6fb$j z@G|a^PwOS3mp92&`Oo^#$g@&&#^hTvvVE@n_q2MvQJK_gY=wZ=+@lf1rI=Wq&EgOqyL zdDFb<-mTtWy#IJ#iu$6VXd;dl$B4e7M9dU(#60nk_)PpPLs?&*D9@3D<)iW``Mi8t zz9Qd~@5@i*F8P~krkbl^YLuFy?o;L5cZd#iTrkgq2j5K9thM8$9%xp8u z+-~kR_nJlKezVQ|5VQ#P3%UnK1t$b227Q9z!NtKPK}B$Va8qy#JfM4n`{DmQ8$2H@ z3H}kh5v&Z>1v`VEgI|JQLlMf*4^0?^Sz%6?9~Ov_;z}_pJU_ft&J^dXyG>p=BD`F! zkWZ?Hs*(Ssx=4NO@8{hpK9IZB1-grWxB4J>*gH`?C$&6Jp0B&=gY~=qf&LW#P5)PO zggH96E%;B^!9P|$tOlE0)6r~~Szd2ZA+zPVdai!h?-2C%`iOqwG@Wnu3yut~4N8L2 z;5vA4)5SC1GvNi{Q1!en2x`LmW~_Kk{6j95)3IVndD=5xfNV(?)_CQ3d0018;MMcm zdhNV@ypG=f-T_``??9~2IomtmyHNZjelb7ECF&YAP1n==>C1J6o&~RTmHxMWNB_q^ z!tdjs^^YoqauX2IBL*6Oxl6U*B`a|XI@Sqn4i_EWPm-)@? zHowEK^#cdw!vKN)^gs<`?fRuTtzUE*DqG{pDCy?mwblRxjw4-U@Mw?xC;IKl`Wo z--(IAOz&&?nfh07wLB&~*Ze1JCSI4h;)q~Ou-#m#N0{;681K&T2!F76%db`k>Vw3p z@Mv>ic%HvoFY_N#k9iOItIb{B!={ILPn|4o39bnSi>vfo!9=w{%iuD9UpYf7^|dTF zM{2Ew_%*mx{3b@o4*D{Gs{9~4(;I0f2F3bP{YEe~+|OI6J@vabfmYkqcVcTWM0_hA z6yK?Ba-G^Lp7z#?Z7LMsi*LksL?SoHo8--Mj(*)gS9J_83;OE@!O3Aixh*(V?Gv0H z+oQ$({bN;1sdQoM}$i@5_PuLv?JBFZNRx%UR*6;pyIMVvAa*)(5`@zlWaptMtPb z@(J~=+)uq8YX5n?!&{}=s~^K`Z(#79c|iT$U#A}T{GiBR5Y#uXg}p?rcT{kIzfB&e z?>2`AE6joZR(+Gq2TOMe{vEt+dIhhW&cQ3etFl1m1+N9m)j?rf|2T1t|B_s#+WEZ# zPizjp4(^i2>TlF^ajNNRE)6Qp`J$)yt(otABYxCdb)(>)UQO6AnCn%0n`Jxmv{$RQ zd0Wgg`aAQ4YN4l_Z^Rn&t=Zz|>)XsQbCNIgBjPf@K>kJEX4aV;zmq=DToMk^lXX!z zFsKeTnXkAY@2_k0bLtK?MBXEBl-G+N#15gb7P6Dq&l~Cu$J($_-Ywo= zy#?MK-t*p9-Y?#6akw~E3>S0d5ps|$lW)kaDof2$52zQ_27RJFTVJGS>c8nl`epsK z{z3oh_wY~jPxeps&+*Um$M{$K6a8ELdHxgr8o$c_!QW|mn~Q?>LC@gmU_$Unur@q7 z9PZWkT6itJHeP#gU$2AL1?&2b$Lhby-fiB$yidIA|{)}akzQ`6QiT>hr zae){rE)wI#WHCiNA|4g1#cuJt>?jYE2g!qFcX^mRT=thkoAQ@#-oyL6xfO)J#>Ou2(mzo7638uDVCv zr~am%Qj672y|3=1kI)nJ)q0vP(=+s~dY+!IpVH6j=k-7IOZpZ4FTF`u>tFP5zV=)A zNBgJy1N?ja`~0W;rT$8PmH%&llV9W4`rrFIj500FK4yP&thv}+Zbq9zGsawHt}*52 zFJ_^6$UI_}n3v4U<`uKtylUPsZ<_ba`{o1lV-N;SgHA!OU}$h*Ff14!%nD`)e+}+H z#Jnu{G}sb+6MP@G3ik;+hNpyQhG&ImhnFzgkbUGyvadW@4wo0JwR*95GiV$%3s(D` zgXVs5@Oe1EpX@ghx2dOt%jGTpHU1LyoW5N)RAu^6{|oh|>=qmv9HAcdU+^CE9?{q9 z8})2`gZH`jg(wx*%hQp0ctHN!_k8L5zVWkz2Ej|=vGT#-ouI3qD+h$_&6jeFDK ztvBBsqCXF=kQ3Bh=3R4qc(K{w|0^gnp9K$^6a4>}zj<^0gTw;yQE+xJ$nWXr`JpWG z>-!D-hGwJLWU9lX!a>0}GhOdgoz2hQZ>E#{kN8B4Rs+nz>XmSR{h%7>eRf8w1RJn5Y$rBuNxrk&VI= z!rtMD;!v!e&DFcZ*38(z{&m30P1&b!|3O}U;l&fj!WJTi_dH~Xi5C+Jue<`5(ybL1 zz!56|5u1m3?Q5^CTJ^=;x8}Un<;{6-c3io0<=mB{R`yvj?ZwX?8F}~aI|^@|G3S&y z?aSUDe%G+^XM6n$kNWh$KFvBbt*y5`>r=TzwDBH+%xkX?q^*UQ9ggqxWda#z+K4*gEh&+@s1v_?YU~3mxWU9xe}Xe zC|2L4z-HhbC1Hu$j<&?*icp>ziDI=i1s^kOuf4GnxU<*J-{fh$YjSv#U+ww0nuaGQ`Rna<8ScycHK0Wi z`Zp6eaX+iY+2@4CgW`}Rg1z={?`%CJu@BUCgUB<(-ip|kuprahwq+bYbIT;3yb}= z5k9rvNvORP85}AaC`4@ap;`)^ zI|H8iKy@VSb2j4N)sVf%VEg+x<%FVE4%Y&}~A!TRc zo^_RmO|4v%fU=`;KM{Wm!v>M8%mgH&ewYJT{63Cr8CvD1z)FB62OxQwC`X>Y2`#I& zu<2+CInnZ7@HJqRXufj>Fs!kOmAqtIrU5e}tQW~6TSNYsZEMK~ly97jj3TK#88ugg zfrUD%++ew-1aOrCby{IkSQP9^fwHBe@ve&C=M*SP*)~@M-&v@mE!)dCmIc%aldY6Y zOSUZ7oB<_ImV_-Jm8oMs5pQJg8e2`5>@($<~5`66{QYPXfo4;R)~;vYC8uOab!rbl^(D5E?nz z9#?{IC<=C`U>tqP|B&k72a8GJR8Y@SBltcA6YH+&>_<=u4EcrQHx=cJ@C3)K6n=DG zq6OqG@-g{={4G;(vvEHOJ&16@FDW?63u~kf#nZtyi%a&FTt@DNehjEb)1(TmanBWn z^}T%5LQPFxod$cslJQs<09%)5qYRjULOtfxSof0$9 zd$xys!tvW?OT_JW97q17mUkLqi&sCKfX<;$S06W%insb9#0n>c@;k@Dr?4T-P3GhqpVTn8Iq#WKsKzLlKg`c@RI{~yXu$Ggb|kb|JwYf`7)QmZTN7^0ms(YI-K#LK7@@h(;i)HG!5 z&s4osI~Br0u0d?G82O9Yh;@b|{^^B?sF9RnD{{|oivwbE0d)^zoE{4EJf)tm65=y}alD{#dg z7pm9o)o6HePvVN2pbU8j4T?kN)IGQ=!_`c6r@bn{6Vq^IJqh&&EVHczbuYtpB=_nc z_L_WEq8@_9o(zt&5~dd7t_;`CL%acZ<(BinNot9;-o>CW=dGqAmJitKm^0MFxOaR& ziKtNb;+~!pwJV>WZ||vF+`Ddz?wy{Rs&0+$%k9_|tJ%1Z-wq3+o`Oxc{l^<=t*=va z0C6Q~sV9Y_)J+Kpbpo`Nnwfx1vYa_hl>@?7l*7*OZ<#8y5bFO5Tk{mP99BEllH@+v zbM=gcIh`^KF!+;daSCj-?bl>=KVXi6PR8hK-vJm~Na_`$9iuT$(*dKMVt=WF;3KJ5 zVN+@UoK#Z#mxWW+eF;m;ID&nLy;8RT>NI^Jo~NushpC$Zbu@7jN%&Ot8mwAsz1QOo zb>O7lO!W$^Urcwtff~ti%OYzr$(Iu`dwLD(v^pPrb~iBbyZLOf#ef=W zfyHo)Nq1VdX{0iEu@o3`(KJANH88X+&XXsHRRHha9?4F|`(J>qtNZ>GZLOZSCF-^y zVY5L~+T2W)Ny}B3Gz^+H_!%WZz78eJ$gGVDofA@CVx1oBCRHYX7nH`)O9FB z*|S;!S9==!7p>JLPp6K3=Gz{%RyS2P$Q@JdGtL{Lwwi0LE;&C%I`LlmjMT}rjTP!? zSkqXivCs53CIjQfxyX(ORw_$F! zk7?)cLgcvAU*H$}Ly%Q#<4awI`G6;pe=9=l*c*Ade6<7f%gfax$k`RE;aDrs1Npt! zHa>&g=M7jTbBP>)__3pGfc?|oiZx=DSc=)A+r$hpQH;Q9fIgxJvItE?h%D&0h$BDs zR(Z?4CEnwh&s*r-79I+_I5WhKX7p`(cs?wd)w5wAT)F7(C~N0P{r1+*QFoqW?HTpr zl&~|dnZIDn*U?@(TJIZOGp;(@+B|Ar>ck_g&5Pr$*0>`l(Pt|TFNO`OuzF|~{!R@C z^7XpceZ3 z7r+v^9!Gj590Uk)h*rr+N5h-*+8Z^?Z)@s#zpbuV|p{zf`_L96OXBr1(&xf2~SSLIN5M*>}@eIjhOK%va(SU z?hj1dPM5cdycWzGF^Y9#!0{qqIB%*Pt84PmYqp5oPMXmoSx+VG30x*G#k_JbaHJ?T zryD0`-kcY*4{)gxMqV6^(s+v)WpS~r^Nr+w>W&i3pXB4tdQYg?aXEYBGKyya8~1{v zK`vpt9bHaI!MZ4wqwM1Ov0+zORo7bTa5u)}i@3!H03XwC2CmpX$_x1co{Si2@yS+C zwJjlk5MLf%2utVqA}JA+0#cP;7QN47QHCvMPhHK<>M-xX_!HSNaV5$mH6bk~pSP4l zYspuI;aS!ey3wplhj@I>^cvYVQe*9@6e&kq7li{-O0van>=`>JZ5^YJLd=}D`Y-Er zITUI=N^m)5%2)dINeyG88kBGrm9!*f+$U#-ims6)tgwaf4z?Nyn@vQ&lSuqC@eUopaW7NYx0+3ec|~0 z0r_3>v-7I+R^~mBHzRLEUZ1=Uc_z0ycUA7=xpQ*I=MK#6k=rC^XU^)JmvZjOnU-@& zPM@5PIbrse?Dw;u%U+OuZT9f&KG~hJbF;Q)eVny4>#nS_tdUs*vU*^ZrWaO)Z->u> z3otSx!hT`5unATWtqWEK&tOGS8P;44#EOFUK{oQmtIccXF*6S_@g=4|)*-b+T)e~o z%74p$2CFVAkUbuX6-zy^t|V9Q)Eo5sn0b3d--bE4LVcd@iy8Fxx*j6sE$|24QcEyv zISw73pe)+&mzxT2;h76a@RWJjEAuMiCgoPuNJ8@5RNHM)j}E^fEi*7Fqe z?6uWaq72vM3&@F>Y_F})CJJ%Q5|CwalD)PWA<-wgh6WIyg7YYcR=&l1xO091ECXiu zc}Ja$9Itr9-qGiWl;SKJM(N~8_$A^N+|35ZS`HOc?Hwf*dPrP_JKI-Va!hnb?K4eW zZ10@sSR&4~cg_M#5`FDm#PQ-s_$3wgZ8okHALE{~$UGN(9jsq+eh_Ud>H2Kqo^n%$ z^(qb@WqHMuiF>P+1#|dpKkH-LO2yZJ*inW2jm6Ix!K{7^nE=RmQJDf656C#NE(KyE zMe#l$mJ@)t+DrV~LKyu}yR)?`5)hYBD-}yEgmIJ2Ucol}BLU%fk^i2s5LyD~Uzdr8 zErePn(sbf#K%DMo&I2C47;Yh~nLWkKhB(7QoL0A9qF4{VChlo8MtDKJ_n(xyBGMh|IPc%7JH zVR2+asuqhPz-T>ao9G?E28hvsas26-MY%n3Sp=g6bM&7r&a^Q1Ed2sX>nRazCVCS2 zIO1{mRm_5tlC;6BwNyN4p|M4yyy0D95uiyrl!AM~=i;6;DE)nS(&8pSX}>u0$96fM zy#~;@NAx|c&nT_{lz5kmaidryE>D9-k+nF_LL-U76OK~nSg7l5BJLGur9j;il&fm^ zdNC)IMtKg()20+S@su0bMDdx0(?)S#DDF$S_ylnBL^KM(k#9=HhZfEnrl1D;n#={1 zLf5jqE6v}m36daQPr#j|a11C5k6AeTl#TC@@cB=WPY^KrHLxrr5JB71IE> zIvQ_e=6E{(qnwxsILCq>AGs#-yWp|WN2b+I^VY;L3r|v>Jw)rog>~RgpAWR~m;=fA zhVf(4iz*JU7f)G? zivZk+Ga8x#oA#*1M3x8r;aiwBD-!nulN?=oVZ4L<3g+OF7|y!Jw(168sCTXhggth0 zJOk938DZ#elHZcgTm(#VR)p~Zxf`}gFtSNv+!$Coitpje*Bv?L38#o}_kg3m180dU z;Mg+8ytHPtN#r=%;EgFbVyJUztsvLp9pKyuI$m>66I(3aOyI0;vNb!KT!z{G__=r# z6Zs**JYhPml6ro2gd?>gU5$F#+7hhH=W`rA<{{E)ITE;7VlpBHae>7prG~AijznL@ zAd7PnLTO-hV&@z%+S?G{WYU_lLA_rlw(bS%B>THPU`coDpNntyfTcxb-)4#pz{X=m z8^PAPH5PcY_y|~zk{d;5g~=gKyT5I*zSHptMp6v6SU0*Z&UV~rqg&B0!n$^n5-u9ISz>YO9Y$MEookppLjt%JL%n zhI&OQN|4^nB~z|Amrwniv}F@ef_L<};}Yy8b*-hR;7oC5UznBS6A{md|DX)t8S^_i zg!4y?SfiCq;$JA^Xu78!JGw7Rl!@uiR?v=7r&wDk7TYpOn?Y;mGRuivytoZzVoM+Q ziX)%MWka5dQO31|aMxD)8>}yy$rB?`#z{D9BjsFXf|B6qS}abpWr(LdIX>t(?VP^+3|4E6CY301^h}%J{7ou{^vFwo-;US@w;`wMMf!+eW8PbXVXS|{# z)<@G(j`VXgVhN86<(>ZE6ZDZMq1@ia$oUy;{Zw%Y%5j`%9~cY7Sz`BWk}CaexxG;( zsXtcPY|P%IlbpnHrZ4b!Tar2~%?Cvr7`0H2=(!*>EN-<~rN|=zo|#J0gEUPUIZ(R- zCF3Y5&5qWg53@$8{iYq_lks{amqh|!inDFWI=*J2Mn;Nu^u@bgQ(ULoDDnYu94*#N zk1K9-nRqcOA6o?%i7^-H#xk}Vk;f<&qWmApLZ&RwK=~v!Y%G{)b;KvQr(Gu{MtOJC z8&a=*!PbK11@j6<6dYMlFTX1PCFH&e^ZVqt%G;6mcHTpI)AEMo^~lT5t<7DTyC}Cb zcSvr}+y*({=B&zj1p9hN*1)Wu zSuMid;ks~T_*ggx`)vn@M~3Y}6Kn}S43=V_&kSU{&cs^yR)IEKu(RPM^MJX@OvFyh zKBkLlgt@K_*jKa!tHy7@I{IPAb#?b!`39>cS7Q&@lX?Nxo{z;|&AwO>(ne>iAF<2f zU98N12>buau#SD0>W@5EC+tnpSQ%1@EZ0j|J-GmT!zW^|=^(5E?};6BEo3fM&TmD2 z>tpOgU5fpR_h9E#1=doI#Z1@`?2qk>T~$5g2gqu1Ed%pW*21aAxFU56Rba2+{mYMW zMZHljU%?eMbeTE@c_lspd!$<6nj;H6rLyfcIloM0Mc1Rk3i%&gQ!4rFfynmoS*ux9 zTYDE-3soO?e80^vC?9vUp4NuSjrNWa5Oj`YHj7q*dZtV+$DM5%cw&rvHRW!sT#<5j zm3%GbZk&8Q)n*FvbDX`et1`Id!HJ4aek z4ML`c-gY8N#Hx}0fU%Z{>Y&JY)g^*4I-`z7%%(b97_Ffj4@kYr1&s8Lsms}K2^j5_ zTf=R+Lawtg*2FQeIU>m{7stUxEj9v{Yb?yoGtizu|H&`XVAjWxpQpjf8DT2U`_=Kq z6mu=K?M{z6->F;;05pm_(E7+es?#hql@epaD^Ec!a30szBTtait*Hdnb<-Y)R66Jg=TGLUgH!>vT2uinW3D*>qDb8M|!pT+WtJ>GXlf8~c zShdT5(+fwQUbO_AYcW_C`J5bz@rmFZmvneTTRzfC=xY@JsnEhni!^&JcLQ#%D(YoS z$nin_@@ETAQii?&_(}eh0jCCp97*mzh&ePR<00PxJoW|IQsyXN?d6*m&fajftcwy! z&*PD~NTnNdV|I2+9hZUO$lA85Lo+Zo`wwgp&WB*Wg}LfjgVEcC1gd5h!?`&ZvpG3s z3mQZitJf{HoYa=e-+-~L2b6uGm*He~R|NLMHOSFSiK zoQRLmPI~&(LZGH<4xF{WfVvoYG{8P!?Q7V^#Q?fs( zfq9QoxfA%*wy`X2DaV(sdms2TdkYNpAF~nkhyHExoWDbE2RM#b94jHRRHxg_L#l0Y z{KeL>p6gWKs6?!FZB~qR+jg@L``Z$v0lA$VN)Mfug1Qm&Bg#VwXM4GZq=K5?(x3fs z8vlKi$m~a2^ry~5WF7MzDHX?e)C;kt?29s~GFzvukh7i{WvKnxa+guED~wc+KPbZp z4SiMJGRiplXMdBv$pN;^9(4gqxe@#wWn$X6^-ZMxRA^F;G$~mmf3anf{LB9Gjx=Vb z27ZuS8XV_T6y?^o=?sqf~0o5Qd+)&c>j-S#kmj1 zH)x?c#%q?=mc3HK(jGGv>Ljma+7t9%xXO^32huDVlW-Jc`&**={4bs(2ROZ2S0aIXZ}mrZ895YX$->YEbWkE*n%CIFJi~Z4cO&A1nX)$>jvr< zu!ctCY@*NPij-X^18`1BmSAn|0-Sww zEpiIOu|x9|>^$j#U7GE%PqQ9QqVnW;WET(@$#M7#e^ZXZUqsFFMEr%VkXIm^K+H5s23L1hgQYKMQxvnOct(=jAb15UpjEA?^}hl??11 zy*fk@l34{tr1XG_3>jj zluC(v@~M>pXlt&)Nb?Qlg%(0NqO?L1 z3`#A{HG}j+@J=}dFvi~G-#Ah~+QzEvVPdvG{0x}$zi9hywnOZ+Fs^1zW}SbsFgLg7 zv{0$M05Mzqj)ZqA8T}?k12u4EMY-%_p>d|(N$+%d1fY~TH!lv-~ql_vVMc9{cO`xU zJf;nIsoaRC$#D}9Lvd{jrGxzMY$AMKdDR{;E@wCv7)U+J#t~#Jqr-rqU9)quz&m<_ zp3uDi7g@N?q)~| z<;94L(nr?$TJ&^Iwzv$QMy-s)_P6nrn^~a@x^}y^Gww@o2V-#O_c6A!QhQrv7MtXgbk57lz`E=LTY|BW3RpKn z)ZNqv@n?$B!`|=bMun-o+!-Vr(^Pmlpx=xRf3xeLB`M3fGR~7_+A8 zWH*|L`BK>n_&tpjGb1Iix1INbcQ&I~a<%xLo@c%u{gcgscXUXldBWmI#>DA*DavHo zUX{v*5#B|Y>>If|X?wBU84%{IXiHo~;i6(f%4M#_lip4)sD(&_SOcAD<5~Lj9Bt>t z(oWK!r;aI-r=kQUC)RXvj+$D@+E00$jdPk$!8fXeeB95z*UaHe%qzKn~a(8&F3Fy}{s-gxZ%&x4EoUz`k#G_5r8H|Vb zG@@JwF&)~G*043oq{>;O!z@=)SKy5jAKy&0hIsak5vTM& zI56Wq-S_fL8b4+{)8A{0H~*2;FfYaNr6f9w;M#9JXYUN`(Ks?}5Y*yKyM;Khtv^mm zl{oqLMY8~BcMUQ+NCPh3hc+6 zgA;0p;4I*dDi`P2u0hQBxV#N#`Ha9`%w9NkITvU7Y{0p_FX245+i+Iuc$}cyA9K%L zL@SYt6AHHDEV$L)yWR@#MQ<@qu)0r{BRa%>RyhfO5tB*osi0<`hEveB)!xOj2v_9n zV)-cMl_^h*kQU+Et(z;7x8mAGh9z<)u44~&F=9XJMw|DM&m&e#YRWQMf%`aTk1VR3 zfqU+)jdPb1ZEQzRh%4SpCD-Zmd9E+B)<-@UK`1fIg%``YfKV@R9+jg~gmW`_asd6j z*q?eCQ5G{1u?Ip;`~YCi7P-79pZptOoV($;TG<6`9$>UyDQl%<8DQ}n7`1Wk`nnXD z^ZCl;lZbXA>Y**PTh!fL`JRNvW&fTAby8d*AF)tAYxO=_#kMa&{E$M|L_eR6;4bUt z{20iTd?o`KpR#aADbkMPfYo^NVZbd<*jDr01Zs*Bc`x9!xmH_Qnm9}ISHS5r z-3SbI8!1Z5`~>{}WKSvGoWmdu?gS?J1fld9(JpyM8YY>ODwFfmFiu0$rzn+Nhs-|F zcGI#ja&jK+)xbD9WSj*cm%+2o;0cs;Uh+#8m%?|zK$BZ3xgWSl3T%1Cpt1hG3%F#j zxKAOX9NM@r4VM!20e3xcneDd}2c@_+xGv85f3qx(){Aop^uA`H2b9YxvIMx8N9n1M z9vm#Oim2`Bd(qctJj=5ZGTTgUa;px<$QS<*k8`4dPx2|F1m~|r zHcs9Ke1;CdyAyMcaw_mKJxOK9g_L3HoKlH1_V(C%Mit09%WHtAM;+-s)Xm&dJpWsP zF{xLlfAlVx0ii|axcqU6k#Y`7WK!Q{Sr?pF-XKwv)01_)I#BmM_+csQpYa5< zbuL$4fp^4Qe~&HaG&yC(#e-IZSt_z$$bHHMD3|17dTQ~S7^ibw%wHz|V#}pj2Gr`j zUvejDz--kmD3?yN*l*yo$!P0t_=(B)CjA=fA$qzA`4#8GLrd*3=i=%6I~|^U(pk1L zuMoRUn_;i%a_lr6pWP3u?!2ru*kw9DYa-U%bh!bjG^B=+a_Y-ll#PNPd>?z%@Khw+b z<%%2hc$^%6GRa_OR@g1VIr|gf%k)-Vu)5B}9@0;7GU1bQA=cJS!0yrhI9s9< zzCNJEcAWPAzF006<2wa&@fC^j;u4%L(HCC{=$dx&(mHRo*biRJw6FrF-71V;xu_4% zh2u3!)U#Lc=fyGbPolFR#gW#Bq14RAd6#Zo9WviS*lUhgx%V5c$v>c`_cgAWY32Sc z3E#$PdiW;Zdfagw$>GJ`m-Y@d;Z232!1_6~ptLAca5yRb9;ah5<~Z}3IdLa=ea6L-7-yX0 zn~vdlkrG9M>#kCtp|p`Vi$u#h7>+;2Q#7)el=bMKrk$BV?8S9g90QIe>vHm5gmbxb z0p-dK!gzi#tvxak9?z6yy&Ox{lZd+U1)5ykCp-dRqkSnjbDWq+^8ijeVY6O>YpZNd zII7RtBldTyXaQVmU+HbKcC-g^BRx*1y<(1IW`zA!7RNfcJBwUL3ehJk_jUr8-Y@op zv2i)#P?txiKjdaB64_Xs+@6WM5;c=1ML1tC6PGyK#oJs5$Gzq5IqnKfrx$lwJ6ug2 zT;gOHZ%ZBAxWsec)WLC|x~r3Gz|!BB(1kc5kT`OJ>v`%p^n_naKEO^i;JHJ|>Kj*9 z9AdF`<<)8Q#=w$;5_=)=yyZPSUGDu1Z2D+WZ&LrkvWXMnai&=eJj)CZtsZ58nd@Y` zs2!P^V}w9_x#(u`bz2sBwBq2s;Go_{oaI&L2rzOd+oFz`ob_lN2VtZ0n?AiJ$ z8BW5QphRX5(lT1!MwB2uowU2vlze+411%1PC(Tjds4`A-R*gOYEgp48ndolI)Ex=N zE3Az>+L%#J&?b78l(-2{jyQNubcC->&z6#Hdw_EE{T&5jpCJpS_C(jTysF5t9&aY~ zUH-%F?{ROyNn!MiGs`(IhdP;*Ah#WkTxU8r#)2l$$fpXp8edGb@^gfD$az^ui(g#RyIH5HO4xQbvXBA5za;%iF{l)@aryk zajU#%yu0xAw<4UcKG-|OJJRdo_k!ohIMJR?;rER0XkUu`9?=~+`#QfnygruX9Y)DN z5ckd(Vg{$eKNOx>jJNCc{BH1&*k|$!XMW&u`TN7ap-zr87wCZ*JHIRZkGLd9-^Kj1 z@D-dKSQ=(@2&IOyYxey^V0Gx9lAewisZHQ}`t%plYlw{BwHT8 z#mxuVERug%gkwxd9;S{Y@51x;I|7$pVSZ>Qg_Zx01c%noFAj z^1IZ*yAvjzo-Xn`L!!7EIY|}LF->~?PLLH+l5L2iJlbcMeU9}++kHOUXWBlU+Eun& z)NWL}?rnc*yQ1x!wnN%>Y_p@yYi;JX8P=vt>s_tiZhcql!q&&OuGeZ^tLIu(v^uX< z=a#!#zT5J?mJ?d`Y1yPjZHr|s=C!!I#gQ%Yo3CrWr1=fahd1xpJh$1pW=osRX?A(D zW1BT;`fbydP48)1)O0}8PEBQ#HBFW@ncHMklfF&bH{RWNb>k(C=QSSNxL@Orjb)>+ z8ok(PexnJE1~lr@D7#^G!<7vmXjs;8c*Elxwrl7$sKhx*_cfS?lah{a(5``3zq0=F z`uEi@!)Zx<>vyW3jq{S;t+%+|Je-&`xL&V%EeduOe1%}H5=tFzume0yKk z?5qh{L$ms3b;CJII{Y^L3@g1J59ec)M}>pJW5Z5}b$10-_?p;@_%_>|pcwIPf9x-7 zkBIjdQ-v?vEyH@vh(Tz&qbn^fm{U#<2v%vgHHCE zvO7B1FL7NKw6xdsNs0sRaia!>b~ZoZy3meLnb~2l?MfH35!cRw&Nd5h?P9|+a~`f~ zGa!NHOnYs8ui$X2J)>FGfV<)-d$if3g9i4FSw6fm$iYd+!Nh#{m&S4r@iBTW%$2lB<^g)fLdmo!MLLhVLc`0 zoaoMKs^D0w<%^)#tQ8K9w)crW@`1Agi8Vt3*VA!4qpVa=-`>;uS=(>E!#y=!SS5Rs=2So^T5Tt#H8D$}?fz}JMVa^7GT)-AF zzA7{9savB$+OY3jZx~a9UO(h97#zVk$HKE|;Xef@0!D9*ZHj#9pci0VdEtCFJD(Ns z)K0E6U`uIlVX=clBN(GpwhbB6pgCYp9+@+-USQB91xDE`31^sEz?=`l@wBm!;Yn8R zo$Nn(v%e8SKpiWD0^vJdF3WClNG{Ief zPQjP(Sk~$tyq(+#`3Uj>WhTzaNR+<{d_WUA1^u<7f-f(nLmmBouu$p^cYY)N;8CU; z&`A5?d1@ST=cY6$IgQXS0Hv0ih4&;*!8V@)%5P0Dci`qXzXKD5>D$04EV8=1L1?%UEmVubC?VCB^B7Cv>5?7*Mwc-f1+xx!9a

Evhfm%Hl zoDENxyc5S`F;Df2;I3_y5365-BLHViOb<9!a@qsVHju01>fIfk-MiTlyQoou-G+KjFF8gQ0iZ|J4RR%s33ju)KV@uVNqdKX*(Z$H*tjBUw>r0MA3 z9AHu@O(~;Zm=+Amz$B@CdW3PKK)S~ovMDezUDM+0fM0b|>rSf5%s`8w-gJ>H$Dh`s*l^XZvnWnFl0L{u7QG)94)j(Q090MHdiN}MZ z=gyuf4tV-+hD}24mb-!;5iUi-Kn-f6(x4r1vRB3@bt2z#*b-fGi3OpyUX9w!n&LUpQfgsWIhIt(oFuPH$n?e*=9WO zp2a!69*-b-1?vvYD&S&!?6OhhJhq_Jyk&9DGH3Gt6Tnd`k|$Xc-^n#J7+-wFnx~gB zwvRc}?PI0g;7SV8H&q6lS6OVh>LJaeLfyDE5j=Tu8L0O<5B1xHH!6p z4ZqTqilr}+xHr2pu+A%VQc!F@1D0~cQF9(HEmpLu%d7x4&7+Qb<3?a1u#wIJ-1)PP z_o)-PdL(nqdHw}CzRcXZ2Q1s{Vz0S-#FD!xo!3~bqagLKvv$#nAj7rziEl{&7wcTw zq@v(7WP*|-n6OAuzlwu{fTzc}huwrIQyK`HNus?+Gzkd%&z5jB$j!Sm@R9vb;D5=$ z^Eq;D{QPE%Cr?uIMJELS8~HVcUoNB$i}ee8N8Qd=kgm&schc+h5Btj4Gq&$9?G+FaUaT2vf{!2cL5VmLh~+oUcQfCjM7oydh`U)gXPf_m5}CbZZknqb zou@u)4<+1K#QOJYTf%Xv;}L4FIA4yI;hWWb3%o$IoKoieDz-U_&e7ZYf6!ZwaB;9N z%ETUOinoF~6COoSV9U53VibVmn9{RM`0_yx$|SS~FqBosEc_Z|#GL`xsi&5i3fyRL zo}0^{WS5#>Gs>iJPh5}LZp)Hi<%c~8QQ!|sY%RTniuz4CNZaIZb6w$zKKsZ;Mjl<%=LRH!)ILf zosn~~xz?89Tn<}Kn?}!oINDzFYDsVu^3jwW>S9`Um*F9g(ff(*Sv{1Z{5XBjk&ogr zTqVcepj7I(I$Bc8rCO3ZP%5eK$v@PS*RwUKEo!T&K&ea`Fjh#L7c!TiR8r1eEaUPk z)baGx8FgsPD5bZ{`8u)ob9bd?Daxg4y~ww~JL3q-@zmn~u^jtSY;H!m%sx;v*jXL) zm1p!|#h&4}elp8(W+93y?TBGzt|_tQGRKqNHmO!>H8i#3#Hbv{DIR-wW`^^4nTeon z9fopA>ebPbc-r;@y0B3lU1&W{J7THvY)6!|G)I3ZOMITAN}Wdi&bd4CLxuSVO8zme zxsH*xun;BrWFkj~`ciZ~?xJ(R%utj}?T_;%+*wVuD+&E?F4$|ym`^Aj;Gdu^X88Cd zV+m?jN)q|S-8%~μO=*0q;?c2bvFZ{w&ewI}Uz6#3h?WcY37NtFF#S|#<%Q~zVx zq@J0BvYC9B%AciHBiJb1%-BO&=4NQ8950a5D0QXgB9u)XhtxS<@&aw&D9Z_jW=KZa zl<%Rm zvruk4xu?&~7BGiC)t1iGlg_WIqb-AOSU1Z|LmeH3Ry*tD@|97XW@g%*P$_wRl%sdT zzL6)WN3C~fxv0#P+VYvLsnZVoHd>7_w)|fC8s+GhCcYpR9DyPo!!JdJ6PBIXgnDTV`(jub-el0_vD)_K8e7Ip3SwwhqP2 zGj=Ce(%-7f&DMV5*~I!V^YnlHOk(|4aHiMdzt<#o91&5QSMk)ICDTP(T*X^zIfwcp zvUb6RIQJxVB>qsx;knrMy@Kcd`?n=@gSigRIUAMgBPOZ7H>nxswfSGQGmU4>%ig|w zX)QU)%@RiId@OAkos-|F5y<)EUVIJ4JnJ2pR!?0H_}|o*w4%@bKdm=O?d9Gpk(r|EBHZym2}0vF>4I_QLE5T+N@gJ8N~;lB{`IW3&2Yb;LS{b>Z^xp77dmXn1tk zCiL*Fs1?CO!EBtJJ0R$e^K5>>e#F%lk6;x;G1f5j!_LGuSkJ#*tx+rS9p#0p0xSB5;mc4xReP0>6$@4JL%9s+ z<<6I7Sfwy5TGQW5hS;T8Ej|-(*|T!*5_7Pse*#X*9W46cRGaRiqiBIMZ4A~(ZO3ZR zO5Fgf7GM=LzwN}#WuYEsub_AJVYspx41I{b!m2#YuSJrxOZ7O+|I_Lq%F$QYYvw^q z^$2@yS9NKwN1*&*b-m8RH8W#~s&x_O;VY~+fT&bojyuk-S{tVM9mzx{UUOa6WIJmE z??Jc19d#)AwN$sXcg)ctTGCDI9rvKH7u?_IasoCxs;|O5W=HWftU*|zN7{SaV(|P} zJv#0FDt%?z{Wv`;?S8!G7b)%fMm&wohQ18*$*vF17rS2f1jOZkB9C8pw-ByvjN)kB z77!O{vkdf`ZVU*mbRw^-$6%h8Bg0)kd>3ZHbzvHevR$T!TNv#nYiH~^MRWd|Ssv$W zQR|iIW71$Y*PwZ>PO=<5`qBDuz~Ua#%RtUs^Q)887>q-3+A{m6d6sQ7#u!~j7t{5= zfLSg%mc?#&97?4 zXXCs0&G9kMtBpCEo*StE`={GPaGUW3Z$!CMeGTTwB1uNSXdjtrfE?)Yz&KygMT#zp zpbTGZF)_z8`x50(G-pKJc*pTm%r$2xFphrAquH#t?w^Kn?PXrHRG*NBNo`vsHG zJJOqSlq=J%fk|j8VC+s3K#DZy^)lPWD2P28kifatvDRpANps#L$-`{5`=%49uKT3n zxQ5hG2|THfO2aY!j=$|vtPcf_?PvZtp38~m5w$!2C-DySfnTAcCpuGeHE7EFf#XOz z{qN2Oax;!DSCaUuv#yWlA{&5btiDf-*#yiDkO!T_Wb7f<=K`DTJ>yI_FXDKF=es7c zc5V*6r0n9`Q<`%>Ni2DtnKM!xdQo%kCyC|waU|(k;Vt^eG%V{QM=__z@oElis!Y@K zpf)4Fmg;kmFHhF&xR>6Ri;@d*`XXXvSaEFG=Dv%;^Yr3FJ-PWY@(tfr~D(|}aIJP>9m~~T> zNgX?4IR8ifkGNT1h)if^zi4O3BP?&Z&kt-?HC|0di;8t==o#Cb*gc@HMqbeIH!Te% zY0sSA7v+*%`C7K_Uh-$QSN zeWp9Gr}1NNrMJ|3+`G@a4Lbm?^~Pflz))|Hy2!53ouT;6S{qNRi|rM5^s6Fxr_o9Q zMbDPy(ec{K2r2K@pVCq#hOty!rn9YL7pmC!*S0UL#J)8Q^RoYVm9(|p}NrCb7Uz0 zWs2)XUAs8Okn);sICCaQHH#G9bo0^atq@dsOLEk zR;IXy)9DOyvyE%j6!=}q_riO|-6%EILPGt zwFsefJDup(olqKS#Sxi#rv!`ft>W{7uK04x8neXAHKXv&mUj4J%W8kAKOcL@2jW{T z4fGEEsa~oV>T3~k_R*bmuG)(I<4bXZ>I^kXorzep4OYj0i3#u!v97TNX^BhyIwq-nk@$n7rS=PnP_|KH2y|Zvd3KkL43~ zIpm3*&QGTo7S(D0_wa;LbCi^fs+ZZ|5YIMn#-blIll$oY-v)vIOzNvW~|zm#Cc4eh5beS|1-%E%Nt*& zlwu1pYn`7SmqWdhR?A1n<(Sm?f#k3sRG*TD*`C(y0pJW~50d88IlVIKhRP!kAh)2F zs`VlCFn0>GrJVhwMcYXnPVN*oTdQD!B{fgP82SG^~ z*cHzILkSxv!yD4HY-2Fw1AC_vI+2<}q8p4jVXT*$d1f8doYIon7$lnSiQYrWMeoAr zqWRh>NY4y>%UT_9e(?jPtbOFpzy3feYt_Ku`S*%~*h8AG@HI8s)~ql}u@-&eejtxf ztBU(Ewm(!dY4PoI{sko!Epz0kSt(9HenFj1@i&Z<(I0DNoqyeoCQ{s5*?CSmmA%vX zi??z=khzDz7f;icH5+rms#a}(sF&0@b3QQa6l&q%!vwqZX--A44beT!Hd$XPdhJ24)iFDhX^)aLu?Qg}4 z$OZRheE{5UdWUe;mTlIb1!w0Ud$ahf-f89Vo|de41y5?G?m$}L{N9=MTi{J=g;AM$ z-e>&*9GLYq%Uc{J>-Dr8@Sk;E5DHGV4v9Yu27`wSG%9i<~U=S!$40WI)#2 zI^TTSj1DBn<%s_d`SyC5+(FHQy=W6pk>yw&*Cy$i-C5*OCg-QWLF?hV6||i`0{{7; zchKtiy_B(!kav@#rZ@^G8CAnUEPGS;~ScoQWlWLDNoQbzToNHM&D z62Ru+$a(=~lKmp{7A4rX{35ArZ`O0*U?wH7=A;}_kdiZ6U&(sfR*KSqx*cZ-Dc98L zPtAG;e9nBA8E?-y!}S)^O9ZZy#l7-&TDB+_Z%d(5lzkbNI=xfoh&0PQ;k;0-HDd`( z`|?j%J60p9BrWF;`M#3vq)+bVP#!Vj_d1$$Yw#VG$qILO*VnGsan{x4KlpnO|NmCU9>R%NmuLPcvmJYQ z*JaMhEYBR2S(xd-Z%L{%uWrw{I^!aE5cXnytO36yxgui@_~W>Yp?ZbvJDha&8BS$- z*YUdhH}F-Q>AnyA5ney{J-9>5av#ARo)UL6?x0S$SMH~|?+4eUFJ_b?k=L8M4>i z3JkfHN%beY>FZFMzM}7DH$59N4tNW7&vy6YkV9+>bzjPOj?04+)?-Z=67r7nz+W|NC6PgsLVuQI4v>^pcZ3I@Z z`$ zrIg|PLE5c$lsD~o&JflIYng5z@X0n=JlTCWbOpABkwv5&wGseL z(R~hb*t?29)9a)(p=S4wb&f^bsDq--eaJDtz86ngJ4M`FO`~L2(u_W6%0}#cc88Ed z+TlBhQ65+L&)nRTB&WgwXUZf+fxF#LATMnepp^Kp+{ci|zOwhR@{zQ=f89x*NjW!2 z9%+^qwdx~s0#fjK$Wz~@AAsY{-V%SSdk^x=RBQ92;GNlv7! zK62^(==GD3Yqo}zp>!9@W7260a@8IZta>icqFAnvW7|SbqpoaDUW=bHQ-2}?7j>oI4d}2CcSg)C_5<^ z_PTjit2wgfxT;lhbNu`$k(|r?9_OZQjm`ZSbi>ZulC10PC}VP3$~9%}DcQvF2hM#K zG{apVP!nRy3ZZ7*jLTmbshfxgJkfW+{_$PZoI|?fbT?KCz+)}WwU{k@k0vFD{IhKERenb9@{N7!^wEb>+VV6(3 z{I<*0_yx0VT_$zunfF!Ri+Q)<$ue~e#a?rjndr|hd?C$Pw+<$OC;l9az9!|EYb?GBz_ zPm7ZD#`p286myLgwCFe&X-XK)-5h5jO^ZrfIauYRCaQL3LYg^NA&uH2U;Gpfp6$X_ z9`Zs^mV>_wPMw%v6pb0Dg{c)QenIxlIC!!MH7)Wu(aPW}p)P9uiYWS^5g2~QlJW4R zC=A~%x}<}@o2Kf*cSCb_Y_TxfSK-)bVc0vUkz;P-9h|RyB)Y)xrNmjg_28aZAWy$A!RA=OLcG!g4&7pM6GcOEMa}$(|N}se_s=UTGGJ}XUFPw49As%rQTp~ z?K)r;E!n&ij=8|9ef2hfy5o1yLd_Oa8{+pkD%7G?ln3>FmJr?ypP-3n3pExa`?$ud zb|?EoY0(^Qw#Jfmjw2{990FKH3F5nPoDDp6QpL-ao{s);v;fZ$;TS8=IHl=6M-%Y- zp^dOS=YT%v$id&FQ+>cE*gG8glX1?UiC4ZHv)35|r^>T0EpMM=A@KIKA(L0k)Oa;^ z7LRbe0^Ql{PtK!c3tqJ4&<;2S-w~$ONpvHO{#w{MGnV_{VO~f z`5b|E$Hi6-wM#~W=v5fU`N-ioa9mX^h}p{x$WgtlGoY^Ub4Rxm76`zQyP+a%JMh!Zc52h@{A*Z5p(+>Kn-qc&cNud==S9oHi_*>74qwCMP% zlw5PQm(RlfzzLuEX=88ak1vR|qv+BcWzw*+<4<PH8E)uOX{lZwbu zZ%2Nz<`yT!J4i9@4*u#zGCw)$x{Z$OQu1vz#~Vl)KSn-fD@TvMF+#K;Oule3@|E_( zHnHxU(HsZy3_5mO`K&SLi%AViujx20UvWLod&msOeB`IjEcU;87ko|*+G^|{;VYmr z&K02}lu;VbB`9I?8cHE@E#>z!`{<`u3C>yiZ#e5L4wt>#u?HoRI$nA!s7Gu=iB7o& zYNSTuUf5xsjU>ORRcwp)ZFQWmKyapJqR*-czy+pRt{W;8<^!O6?=XRh5Rk&oK|BQd`J=HvMrXf1Q<5 z%97nujvS27?8mQkb<3ai3K# zmH*kOPwKZDr#J%RKe=S~x76_%|Jr=KU+z&gyGpg4V&u`*6(3E2*O3MCu z&HV?ITgMsj2>cKQ&=;*%k6IlE|4Ug~27EU(Bdkc<->dYJ^j*W|4BLaU zC+a885PM(Uh&A~n^&iKB(Lx*bIS!z7vUQ!;A~|Okp!5&$N4#6<4y<>(V?Wm6{@c6l zy%)hc+<)N__yR{t`C#@t60%D&X{V~uquij*NQ%_63Tfrl0iSh5f8Z(BoI1M1%cMNj zDtjdVw{O{HZtMr1OaGevxwxa`guRje9NWqhKiQl69lIR;PxvIMh4YoGxqO0ih`q*N z1fhhl&Dou^BBwO_pV`l4UyZV>vWL6BbHDDs!+nlB=w9M3bGuxBay{m{+I2d9xqgAG z%#~|=f_;8>7(d0S#XF37Mj5<3Upe2zF28G>hmZT+`rEO`@ARxt)+YJYp5FM~`p*%` z@!QNhGLL2+#u}zCb5-Vy%rTjLGjkCE{ZYo7h`zih;|BP4k~{ns;dgt+WDLkC#{Rx< zuy*+;{BFzhurnTT&4lj;^UF00z8hLt`&=^s@g#zvs~nJws>=b0{dKB~zulv_?><*= zz+4G|t#5n`nASODpz)E0q4~L{!IwiTP^6M;s-&oWfCsroNlI%HuD(d|ZK9{Ry6F_< z+(B1?PKo?;IVDAI3{Gc!FDdG;&|Qr0bc!`;H@-rOTwHV+*LZk(*dFS6m=UfKNUK$P z$UvN?dJ2Yp$VlaQcEmLg9t!%O$XU3q3oXx81{^I~N;PuCGjL7^ zPlwgL4=kzjWLFOhr`{II4!F3JPL)$QcbVQE5_mhdyH>2j<%@g zA;vcvmy9jhZ>R`Wj=z$U=po~Cl;c{lZSBA{2i^!;hbbJ@#oxJC{ciJ}yVUR8n-LA# zYIYS#*_4{&TVDWce#_#$F8;E-&@{eBUClfntr~dydJ1_1RyJHCffvd^`7@E9UsF z@g?x4Mo*d}2Lh$KYGAY4>z{0Kh2(H#6koUYdANonN3}s{8~Lm^*3?}5EgnR;qo-89 zm1F!Au18MuTTw`DxTCuq(LyeUbgRiUY@u)MM%Nf&C3uGyu2 zeLY!QjyK=WbG-JsCc?@xzsnUT#epq9p=${8O$w!@#o5Yls1ZuIc>W#Vr{tZo4LJVn z6U40;pCDgzZ#<H3UH0W9SWlgOKS_D~b#GGxP_bQVy@ox^e%|ZKK?!ADf@@3N z(!37FrzmmaT9Bh=!B2n zmN~)Ra}9&Npz`=8WlwO#_%&sHf`VOhp=Xn$>6KUHnd?&=JEc{Es$5mjp6zq?Bw05l z6;XGhbWr~6GhAb(q_RiU&QWWg;O*4UxT;EN(hnu=6m`OQP**Qq(v&i`xqx?49%}o? z)kR7s>F|VhC1|Gm2}g@QMUDY|1p8f;(8d3kwjTg*bD^w#gi~v(=w556pqHK}tby`D z+G^qGmT?4o!ZzWogW>qqy{{3y^#ttsOR*0u`Aab6jxzV#(1>tOi2HZYd8qlF>V6Yi zgo+0Mb-G`ZlwK!xzXO@iQ$@6Va=(FeP{vevoBLJBcbR zr{T%rpsTo_2A=dyF2dQbWuu$kYCGPV`R>=jJCf_>N*d7mRh(_V`z6dHi4?}WZ2AG- zM){}XUED9EmD2S|EoJQxtd<>u6ERZIFB~=KbNdcKb01-al&aFDD$`22uog7QQRXOd zVDEuryp)}w%Z`Bt8^FAv54Ak)IqvM|oFRYZN|8u^$5`}_egb$~JcPsPz`N>`xlvbPmpc{@ZIV813 z(@(-*?d!Z>xNqe|_0Pr{=OTEMtI!vN9KF#Sy`)Bcbd8EJHv=;E-2t@-)B{jRApWLG zlR!NIg$3%JR^RK2pDMnfxVE^g=qtnuoKv);sJzHg_R*3&ig#? zxxAb54(A2)mgSAX@8W!t`wXH5&cO*W>k$9iJLenx;_CxBM|1We26h3W1#?r>d-Sl9;F3Rexzig6jA z;n!~-Fs?DqF?Jh1V+Br&DaCKUevRL~dCGZ*^9Z5^TAg*y75M$vQO@2@7k=^P{jBG+ z9>}^0_T(Y_+Kn%34Sv&pTvka|E>4a42s>(@%De~X#$1ZX*xi{sGq>R6m>Gx~D9!AS zU47poI`&W4G4Krb*Q&^Y^D+)0LN;zj4j9*9Y_Ps%9F_ZSIJ?O|4;c3#MQx6{ z!$G4FDavy>gTvS=DRXBNe@TX#B6-2d#_OOo^DW@Q#*0XERxp<}c~a7rHgDXIG{3_$ zS=q{;Bh8jke}Mck)Lvf72GLfHO~{uVDYeH~hcv&gbiHXx*u?-LAbZA#<21e5%YyuHSq zz?l4py5v6Nn8r~4sjpuNjB2g+yBT|c;W`^@q{=h_WA#01*vs%jk#lXx3L}=TTg-dmJ5b9x>}XkZ_E;m@+#57X)|VM45go<bv6~F)^4cSU7=K~+#!@B#nOgQeYw+k4Kl{0A+BSqH@*xk&yC~z zNHL7WJ!o7Htf|*g7LnG@Fs{>Bu9gtX{%kg`0#@}luhfj8q2V+M+TY2(Q&gaS`6G!{ zb!bj2tLVe0vDA%8hor4GW1C?0EJ2P~&BjK-Qh%Z!jdZ{|ECW^~DcYxG8gyghO-L0} zlQVT+Xq5)z7uY67q)znZI1dFXXs~0UCOfOT*n9*2UBvWopK&9=Rish z=}c?##_1_J^m=K^HQJG*tR?n4shPZjTz?gEH0PDN(O*p~W}h)ra>(iQ%mSonaD z97kGSVxb~Oue}?0BaarHvT#Y2)VKKDKI0DLrS~0mAk2E>7AsGAgVb3r{K8Iy>+&WY zaO`aQt8oGHlD*C`u}%*$&eD0dxr^GUnX=!Or`ECAPS$g$aau|qxs;_Z8z-makt!5t zq-0DW&puN*UZgup!B|=z?F;ILu(pkQoyYk}>QsDD+5WG^gPNn8Fjh@>p=SF zm?|m3n!-Ld_!|Xmg{r0EV5%Of)+ZZ0Q;GADJVSH?T?1un!%t^C2)`0@InR~-YmG3< zD!#zAe@ZTLYsC@Fl1V+`3MpgCFeMk$sqI{pN%E!Cel@8%iZaQO(fS>}YU@RVF$8A2 zl~+T>R4aXvy|c$yfHLVVrx%YcWj|t`pm&Zh!|_p?rT8(8$6=Qy<*=eazJa68xlcZN zhVe_3N~dRYMA=75rr&6lN@)+?qNxJq_8XU@R4SL@*HlkfyvH~XrB2kB%Et)qWvoT1 zq$E>bPLuOl7O(Lucmz*e`=s={$tss#|J2#tfpVQnRzNx9TnK_4jV#qV-#DVyhXQjUF2o_-j2$_LWX z^YAMYN8L{OWR*Ta+E849bC+K0HR6F(`pggaAy3p#r(eZosd+GNl2nBr0~etG@dvm7 za>=PMCyh7Ye>Amp#RKR8N&0`)d}jMGe#XyG`oB`5^cdo~j3*EYz!7A>Gm?@0Lw?Ct z@OMKMXCi-9GxTDVPf{?SIE<%LJW-P38)$)F^gop+9k;Un26t}o{YsA{$KraC(%ZNj zgI`kXF!cGhg5UPyUASqd{8sXkv*toXGW_@Yo2@3DEW{J(W17a3QrmCv{OS|WOwCvD zjE&Zf7ZCZNW|@6Ivs!Q9*U7y=i+GA!0Oc9I8jJB%dfhsi6KVCE+sRX%%#gIF<|A4n z{ac;VcItDE5d2f`=iUYHR8#IO_@=(hc_!x?c&2J|rsVX@{u0p)H(*2>vgc)&;`HKo z-S@dKcc0|m=APy*aea&3D-XDi;uo2d5e?57w;2~0?Z!4^7WS>=;@sj_o%cC^?mUFw zUfzUXULNJ_p7mYUhgmP;HP#obmQ8PI>zT(GBl9U!xz> zd87CX_d1nN>VR`U((u_jPm=p?=VRiL!aQ?6ED*S<^EQD%v(8HaakeL%djN6X>~ppY zg!K~VOYj^~yM~SL{GGtUiJXrL%(<}Nd5^%HGY6gAkIfl@+2s5QV6~fguk&PqIlEh& z+#kcSK zY6VPUN1e*^B)eXKZ*^Xcd~ztQsW`7dnv#ds5Nplf<)sINT#g#Xe&@BokpC#k2gh+< zB^bVg5&;n?nWUS`8_MHapkC--5icUzpz*#Vry=;K*!p*VTE9eEkQYxXvOFE-f+>^(?7 z=X1a+yPj5_ip|*Pd|a@qA1n^x{Iy_J3ppn0q^_FH`@+6@37@i7IMajcJ2J7Er)u8b^eL-r^w+t zE9=Q|RoW9uICmq*9HA85%lQWEW=4?k8Tt{FM5WXVI$uDZIh%-4Ha;og6esrwkoqYN zRC_61*oW=TYmmqFR^}0-yjPU;hn)M6$JQv1w36N|!@Qxe0Zln$c_8pr(chdeBRAQL z>|GVxqek#S$+g#q9(9vK?vh;gGp$|I$IH^>FUPE0)yHND&digYw@R)_T}k^vjm9D5 zD$3!A(+f(Q$E2V$Y`Mzzx6{|@lB>7`X`EIgwJY}LPUmToo9rp&F;=~O(8)DPbKJCb zj%QU3I0pPZJ*CUAN2RWkzgOzE-+8x{&yhbY^)_`d&WM{N-)uFhmU@`d4B-=Z{v7#= zm#G*^&NSAQ{mbWngnYAK$gNH4GkfM#$xpV9yn@us{(*jh6PWpXdP?W8(?YX3^KcGx z=Or|!!kIK7lrZ~9jXAx1q$mB`r_QHQg1pCUxm~MJ?YI&pPTWpJY&b7O3B?h`O2qqV zF)>VfICmM(mXE6fDahst3RGkdz^J;XBAz6}{N%?EICKQT#+p02vRP565`} z%2=LIWs-3ZVb|ICdGtS9& z=k;Qnu?0FN12u%ql9nDvv5tOOyR+uuw>I9+ydC?iYjOH;K29Ef2obmKIPJ71qc`-> z_pxX47VMxt9kJ6pu;+M|V^Y@Np>T}Vkv{>@+DPI(q@rQ|s+OU3uu-ijRQkF2lc z8R~e9Y#|k!(m+Mkr9MO6i&^E&0Z&fbMS2?GN??Mnrx2`xBI;&ZBfCv*f=!DQT}GrI*qcov^CY zzix}u5eiA^O=l*o*8lwp-5bt~|4&bueUk-S_kaJE)ha~aJmI(r`}og8wAWro9D7-I zU{CNe?2Vcvu`i{L0*Nol#0(8!kE4NmOE%6sfVHRMOk99eoQWHdiZjUtv-@eD#Yw3htjb+jxLycF{I&{$CX+#DGoE)!QV*W z{$Z}_n0!}jT#ih<54hH~- zqnOE~McKP>ZknSX!iI(;q^TSMJChN%GZ(=-%MrrkL3mNX5k!aY!=|9aII7_y91U^A zaSgUT-iED54?CW9yoEr#|8sog_|)-lnD9jzeKPvvD9Rxjqcg^5RO8^a! z#Q|?&Y>_x6^Q_GCapc=IH~{m}%%?M7&-`QN$C>}ga%XkV8j)3*H8pD)ToF6)LrSM) zot1Syj=8=Xhh5)~A6R+;$6o(A>p#xE_}QhE&SvKU9K&(5^ViPDoUb`QasJK7G~7m^ z(Z?8U3^%6Z@a!hzWaB*JYU5_(9^+x-DdP>}PsXRl-;8fuS*`+Cv8x|KcSgCUxR$s! zxVF0LU5&1&Yp?5o>nE;DT-Unpc0J{K%k`=2TX(Lzk9#~^EsNb-+&=d%I9|?jU+g~W zzSjLK_xY9=H#r(*_`9eY0Wt$=Zu_laxTjGdCs*tcjVlg^GMEbb6&`KFXt~g zpXdB1H#fIe?$F!`xifN?=5ESu$?eEJn0s#S(cGJIZ_T|o_qVyP=Dw5rVeaR-f6vRv z%g!sv>z>y)Zv;Y~s`F;#EzjGL7tK2@?}EH55e#)l-o1Gb<~@qQs8{peM}XA#UGls1 z>N2>?xGqz=Ea)Ij_s*U2g1hOP7bbJm2N*E+2OJs;i@Gm#)3L4((dm zbxzk+UAmxL{Dhn1aa#3k%j1Y%d5D z>?&w0_))=;f?EsjDtM&enSwV8J}mfK!MBAOh3>+T;UryX6B2+Z;FbF`WH$bn!Mcsbh?N{9% z?DllG*Smet?aOZ8ba!OP?Rxb8E%ukF6Id!T!3_aApZzx!p~ujzhA_j|iP(fyh3 z?{xpL`#*YQ^>Fv-)}vRCK|RWPl=qm_V^)vFJvR36_1M+pq#kGVIKRh5J+A3-XOG8w zyx8LpJwEI4ZO`nUJ$m-(zK)2EPmK%Bud&# z&M3LCN`77PNXbhjZRK1AjB{*?}(&d}HA62mX2Bw}T1>^&M0?Xw0C>L30MJ7_@nicTiwZ`=C98emv;1 zL01gAcF@g(ZXa~dphpM2I_UR4h-HkxMT2X zgU=j%?%+!XUpe@e!FLUQV(`m@KN$SCQb%cSX^+yOrQ=Iym98k=Qrb|ut8`!Kd8L<^ z{-X5O(z{C^EPb~0h0?c6-z)vU($7o(H6&w5!H|+6Lx+qSQZr=skd;H$4rv&Y7;@T> zvxl5NKmh-*gN zJmT1hdq+Gr;@J^zjQHb-zl``|#J|dnvYusq%Z8MVE~_l7E}LGqtjtr^P!=!SU3Ny< zPs%PSyRz)Yvir*(EBjs9n`Q5neOdOekvSuKj2tj>=*Y5>l_O`4oI7&K$aNzI(Kyc(IZDs9ld1q z#?eiqTSo64ec|X!M*m{;4Wo~ZetPs9qdyw`uQ9n}dW;!9ree&LF^k7+91|YXKIYJv zbH`jh=K3-BjCpj-Z^k?|=H)T(jQL>9=VQJZn>jXrY|+@>V+V~LGj`_KHDepbwv9b= z?4@IG8T-iCx5s`xu4vrIaW&%>kJ~iPH!eDE_qfx>9Ugb?xTE9l9QV+;XU9E1?u~Kp zkNarc=i@WR=Z)_(zI1%q_;KT>jGsS#`S?xa{o@1UqvKB=fA;vx#$Px7=J9uqe`x&k z(-IKUn^9 z`FrJGPB12Pn=oKP<%C%imQ2_%!8;)|;iL&?OgL}CS@}@q z3zdJa{A*Q4m8&YhYH(F$)wHUWRi3Iq)$Xc;Rfnt2sk)@<=T+BM{j%z=s(Y)Ru6ncT z{i?rIeOdK=wY$2wx~zI~^|b1x)$6O9s#~jfS0AkYN%hg{o2rjhKUV#G^}E%dR)1Oj z@0#42qM89UV``??%&u8nv!Z5A&9)kUO{gYbbFk*(nrmzBsd=vE^_q8T{;%e5HQ&^H zKe6k?J`)E{96Ygn;`E7gCoZ43VWM|paAJ63V&cAu=T1B_@w$n(PJD3U(-U8r_?L-) zpOiVNa8k*nvPn}WEt^z3sc}+l(n*sJOgekgxs#4ex^~hpCp|prnMtor`e4$Rlm0b1 zV{-1~UXv>(PnkS>^3us`C)Z7mOm3Zg+T_ENFP?ney#c-`cEmHQZZ%Gl=V{rQ}#?bJmu(=Yp48b$^%oLp7P3+52pNms%vW3sU=g(rdCd! zGj-|IjZoc8v#&!=Zj&zW8{z1Q@?)61q$oIZ2<{OK#F zZ=W8Ve%kc&re8n(*z|{{KR5mD>F-bfX!@7aznS5jQ9Pq`M)i!DGnUWTIHPGsV#c8v z7tXkP#_cm6nDN4lS7y93Mlg&d#6Rd-jmo)w37PUO&5TcFXLJ*=NnZdiI^OADjKs?6+qBarVcv z|2g}+Ihk{E=M>H9F=zOkadT?sOr5h}&dNF7Iqh=}&beUDWpl2bbNie-=R7{=#X0ZH z`C@L~+~TWC@{>b?=<}aSVW&Y0j?eq7~zj*$U`Pa|Cb^cxRADREV`LE1> zcm4TNe5k?pk>2!gCfLS$NgL>lfa-@Xm$zE_`6&BMYBh z_}apc7XEGF_lvqN>b|J|qT!1w7foC=bJ2oDYZh%@RJ+K(XxE~SMF$rhUUc4~OBNkj zblsx+7rn6P&x^iV>|R{5xNLF7;(3c#Enc&D^WuiZk;ScxPhEUy@x_a8T>Qx5Cl|l8 z_>YS}Sp4zge=o^jQnF;klA0xRmn>Pbeo6C^la~Bs$u&zJUh>A0_m=!+$@fdUFCD#f z`qEWPw=WGXJ$>orOYd0vo273r{dDQSm*p($y{v56tYs^fZC+NttZCWqWrvoXz3h@@ zKU;RyvKyD(zU+Zz&n|m&+2_l?S)RGP%ktvoeU=YdUcS6)`RwHzmNzfoyZqwiw=I8b zg=r>&f~a?Q&6l`ShHD^Ff|aOL?c zFI#!_%3rU1c;#~|-(2~}m7lKs$13M4_o|{*eO8TFHFnkHRdZLZShZ%AcU5pzWYx*5 zPF;0))p@HfUUl`VTUOn*>fTk4t$JzIA69*_I%9SA>K?00S68l{wR-;Qm8-X`_N?}= z4zJ$3`X{S@w))1^_pE+=^{cD@y!y*Ejy2uZ^j|Z6&D1pu*Q{IPT@zi?zGnZLAFnyG z=C(C=uDO5B!)u;d^WK_|)_lFzxwh-t;~RyY|erm#)2X?KNxf zS^L=9C)d8P_N}$=t^IiIH|sLjxz`O?SF>*Vx&`ajuG_XQur9o=eck?bm#n*S-Rz2QR^qIpR<0|`mO7Cu8*$YyZ-R{pRd1f{Zs2-TmSz0 z&(?plA!~zsL&1iU4Z}7}*syRz-G);){CLBW4Oecsb;Dg79^LTLhIcl6u;J4U|K4b9 z%-&eEap1<$8_PFVZJf4o!NwIEw{Hw=+_kZNB>#N-1Ok4r#HQ@>D^5qZ2Ie_uQq+VId60E z=0TfBZl1h(-sZ)dmu+6XdFy81=D_Bb&56ysH=nloN1M;yeBS0OHea*(#?7~GzI*eF zo8Q{}f1CfY#jz!SOTR5;TPnBA*s^5H@-6GOY}~SSOZ}GMmewr?wp_U77h8^Pd2q`! zTb|qU@|NFk`DDvKwq|Y3+uD6=@2x|&R&SlPb(Q;( zZoPHuU0Wa9`pnihwtluPYg>Gtv4r);0Mea-gT?V;^$+fUhkc>6`$uiSpa_Fr#*aQoBSU)}!4 z?VoJ_YWu%xvucZK`_+!Dt*D(`JFj+S?dICL+Ia1r+Jm)c*IrP2Y3)_DH`V^C_MzIx zYM-oqx%Qpf_iI0^{inz6>Eh|-8Q>Y=sqxJ9EcLAQ)OvP!>ODbEhv#(9S)Ow}KlNPh zx!QA+=YG#qo)P;gy*nP+@!XErcD%LYgB^d}@o#SzZ%^+)?^th@canFRcdfV9+u)6Q_jnI@&-Py8 zy~=yD_n7x#?=#+Ky|10vbCL)J%F8RtJrl~C@!t~hOqjq+MJ4_TRPs{AOEoVwyiDX} zk|z=IM7{Aqs1XTbCi8-~GZ`|vt;JYjM?h3xQg72;1dn=mx zCr>b=vb-S@)7O|k=&z4^Dr?F;l|D~29LLwfAx~wa{l%5d9{kDkd}n3EQPAm>Gyep`X4Xh0)Kyoa#?uh@cq86u+*8xcKPk-anApreNwQ-mHShLb!60txCEhb#g`taU_?i4_MgeZYL z;Y2)$;*u9`Y4L}oSW_5%f$c}Gjw=Lgk> zqs)|QGshnd!M8|M6kS6q6Bte6J=PSCL`dhTxV$9pjmd}NVUI5wXq5*6OTA+C=p%U? z82Ny-8Hrs9e}YAIvl~3IdT%I%+W2-RVt8*$AmoX7L;j#A=8tn;;lXeno``wsgMs>H zZ(}r2p9sbisAC|CKXwtydgGpkAm&&)!s87!l4k7qK*$$p4fqmXd?XP-lkJ&7e`7Qp zZt?ir<56#?IiWD9HP~rZ)bC5wr+qEzN5xUc<6mgzq`fd6j>Poad5?fr{hm154%*a7 z4xoo)gl@N^0wFuHgLz?0)>u;_9tQynUGn0=2uR8kZfMXz$Q!InpkaZ=5C$gN3q* zNMJI6M8W?O7%!7nJ^mJNAm{~$iGi2{{+Jhy=)iXY)T0gFkS`hz_`IP&i<%3e5N2?_ zU*=NSC!9>+NWdG3cCgXIs!@u${P|9 zRVwa5KeHP!aOlfegz`>$-W!X7TgnKCllzBmSCG*Fk2k0gA7Fom7pOGx!j0?gCf=8uv6+hAw`U=sCdDD@UR z;e+;oZs7wBfp$+5Ca9IrY{$$aCm`Gy^+r@7av4FHvkTc&Oq4djoT#4?w-wx}#UHKn z)^(7!LyZ&@=t0(k1nvP2a|J5q0&%y%5t7rH!~?2s+T?A-qKkYTU5e z)qz_u9Ix|6)eNfh#?jFc^nXCQ5a}keZr^?1@TyqRO7A zwkK-r36bySt0~c>w*b?98cpZ4S0kmlSvFr2y=rEnk9UJ7>Co2p@NVs0C7!r zi17_3FqlwxxPB=Kib@T#EzAcIg@f_BaJZTONU{vU7H?Egyi=l?IKue4E&&M?WqZwJ z)ZY?DWppy8a>12?8d3sFC&-ZSC|}^I4+q00oD`5cGe9Lq!{me-q_{HC!u~Wq7ViMP ztM@|gX~-0Xb>WUW3NOy1Hm>(dOCdU%8@ymsdTz-3s7`t&)Ft5x8(e9Ft88$!4X&}l z6Kyc3w=GG|VM_+XZMIYkreLC_E(#7<&kDjmp&FQii1?#1Xp})9oBbgVBr@hYq*Bc9 zX+-B^rm9rb6AD9PNkpi*U=*cD6m}MvE0d7lO;!&iVoi0J>Co^+pR7wXLU8lJx&&tm zFIt?{B_P*X>qHb4Bxi#%j!}o2Vru2)U8_9x-nu{t7nom|n0~aZ8BmaP{zz?CDj!1n%%C!0Y&3G!ve-GX(_ZF{@p9y-vS{pSKfI!r_0#eav z41-LhAY_yu^Gp?pMPMEYnu0?ZWW5)!@~SJvu!g`cXbtI9LliC2FgQdw9MuVY%9a8# zni+ST@-^#T~tAMH@+P8c^U%^sAv?ABGKY+sRM;I1tOA!%xvYiqY*smM|mg`xCBD5 zgkpFKG+;3iIFCYmB)gpf(3Y@@t`CqnEhOi)KV=vx0KSO*sYYn-b^-T?1)2CqFw;dN)=dgbGF$41NOo zP#~FN%pYwN!lzppkv5ru^f)Wua8Lp^@HLNB=J)4hz`4*n`BgLzyh58Rf4ZS|p z3vD3AQVBhgMCf?QrKyI8#X+EN&`~hF3KdH>5(vysTp^TjqXMCC9?|ykEg&IJz%~LV zg##4^3E+l`O9_fJOrC}S#1gCM34!+uii!XxLA(hR#Q6o47f)*az!PuPFh@|Erg&ip zlO&<|lX?QWGdW(UzC*tPeG;Go$k)L+0A^^yO&kuL&>}-8!AtmVJ|cHaLDVQBuM{}J zn#BpC$?OkX!qXT|O>=lt3MdVRIIt*r6SyGyO&Bb(NJYSytt?4+e4qppH$E3`4&WN; z5W)>(B6(W_(FE#BlN}{I@MEF?%m%g>UMol{I0oQY;p1|paR{yw#B>6}7eEWi4wIk| zmrC-*cq~wdf0#G;D&AKQn~(o+X?i9LQ0b|Vd$p%Z?h`%La)-(x_XhZN1ONlUeDuOr z0Vf^qd1gZN8A`t@t5P}Cn-^9n~M-@ON=oDmAw}y^d-|X`@c~KLw`qY)a zPd^k(ozlErr()1NB7mVaST>grYz2;0*wdJVWf3v7aIR6g2bK03XExIvtUp+lMWkFsvSQ8$vDd)mR`xC<4nO;Ds)L8@M$o z7xRvmDy}d9v|?(x3t~wK1m29Ym;l1o*^YQxQv0{2X0hk{ig*6vrMo5`2ER zBZ7E|lF*)3uq_&ufmpprcLK1V7* ziD+FCqC#d%vFof-uxpT@d6In0meP;fG3xOYOxi1GE5)&>16MTsJtQaf1&E}G2IJvG zeUlGXIsOy$8ks(GAN;DECA`w+)etHt=C@9wA1sZE>I?rVbmVTbgK!8ETg`X@)eML7 z4^@I61|WukK(Syz*b}gIPZ%Qe*$Vk=>cBcf zq$jLPsb#do2R0}QCo7T&`&y&E4m^eR73gL@3&sinKVdHH(MOQ*Q77OHT_%nlcq1w3 z{cvi*!ik}=G@@-un4^^1{P*AyasQ#H66DIhl!UpIlae5{2?ErGs^Jv?tbtZO1Sc~knao8W zg|S#hH3Y261o)8#xQ+SmsgP@>T&v_-E!P^k!u3yK?D6ESXOEXz`XK+7byTUl}nduUMLg{0R>=% zRsmq(Sokx`fFaV>5YA|_+LVMa=2Q&(h@2Gj8t(+4EmwgR!vu&qt*)L4`d*>$mHJ+# z@74NVqwf>-eUiRUHt!NBpc7znNk~XQKIy5$x-OPobe`S8qEQeNEnW@7a%l0#bfU>; zR#?VCy^f&m?IF;eE*?h#EcU_Gq!F0!G|3t;@DNI3jtY!979@Fc)>0(byZ1M~|_ zA`pWvDTpS>7_2Rk5lfoJZ!;nNINg)9aT_p2l?MY5j3Zpd*Q?q}=Ei?LWdSyK;1c!Y z62mG2S84>}C@LT%cP!a9siqREQ_SL$9iC>kx?Ok-)=+p%22uh&JWoT2Ny^`K%41rn`;gAMZE zte;FEGBAB%*BL>N7f>2Qq3IS(gqOnQi z*iy^fK#UovEZS*Slv!p)VBM&iuobLAq6HT&O6wbf!AuAtSt`p@Z31|c#40q<`yfgI zeHxxR^rfuRNJ{y-F})zmgz!bFO}ZzO5Lg9fIhHp>pRtE;HFAMG6yv%>BRCn1P~KvV z2y}x^=Z(Snjj7W}k2f?AC^-_37Uw!k47w*pPop1%8HvDUjz0*d_D00KG(uQ4hJy_t z7p#i-8yNzDcjLxs$9szxYmbds^2OpY6juPWWvm1y9af8>TH*p9Z(Q!7M%+LxTtE8t?7DL#M&r{i6Dfg=OD!Jq1AWQL)NLt>9a`2h6IM+rHjFX7Sg%*wiq!`c;Z`Aq~ zlA%xn;Zw+qc`Ee1vdN~YW4)MRc}dkBPWYhsmYcxV2y{TaLcR2n9X9zOErgkxcWABD zXqmKhyd(-0V-9Y%a^aBR=m#+$WgUoA%L9bCD$oSSIHC%`<&%(UOAv$Ut#2L}Bqqpj zA|eJI&RZP3AA%_cZ8Y8i1eH;Jvz#qVV*<-M9AJo>L`$T}PtM=u4+08;sbe(#Q317y z2yZ{W+3sybd!VzZ1w4Ubpq_d^Z5w#MQ4@R^ut*XMptwsWSmyvEZS(?%zHtG@1modG z#BH%F88*`tgsehX4N_qkpRn^=VPt~(xy&dLXD!}#b%!@b00>mBuV^bnP$ZG$!mSwb z%I2~mqgar#C1n*2aeW>H6yW9$%0-Drc)6pEl#!TEjB!e)O$$7U@wY_KE!G2^^~n?* zVo1dBU0fiGXzU0~A5jxU6xf*`D1lm0jiz`@uqhso@E^flbxo~c(9nw!k;l0YkQ}{5 z7Fp%uv4_>n%&Jg&U7ky`3WWQXOS1v20f1!a?xsIoC#lXOW=Ha<(P+P!@I;6d ztQb&2Xbpv;1{8(xK6))h$tD|ux(cUnL)bKh0-*>(U|`PibC`xHuvrNGqY9`M4xLI` z`WgY|faSz6>?kQ62(=>Ol+0BlFlRu6l1GJ0F>VvVSWdv46j(Kc-w-|x?V2=`iitpY zk^k|%5C_&;1|C9l!F&|}-5E*n9iJcdz~q8;VF8{Bg3`f|?0CSIAk9OMf(ie; zAQs*UlTSHYccPBs4HH0IkOEPy5J1$4W^ad=v#lAyHFY3+T9(cJ4*c=$xQPSTymP81 zVHGL{gD?%nFQlQ=xAfbTI|z;ys}NN{3H-4zSU!l+{z@V+pk!Y_*l=n!#g4OkoJ3=@ zN~h$c)G;L|wW=vuwi=VWS#J)D6`xWy6=G(UKn#-ww}vqX+2?RO_?o#Y?gz2O{V)(GQ?80ZK+3B3O#LVis}LmFBHR zz{jp3?P3QDQzl2y%is!lQQOyn*1h$6@x!f6>LGcCxT@$=j0;OMIdOK2vP!`faWO4w3bk!s(RZ4 zcpY_CM%W0{CZdfXoa6Mc5Z%mwl0WZ=;8RO?!2mQ+)EmqHvZgEs8%#X56l<3> zQQ=OYX90;AhnMzY?gNepQ@&Q|{RImdsSvZBTLd$ODiaP&2thWGq64Cht z9*jRv1uvDnRN+DisrN(RHImf2nog;XYwc!xAgMQ+Z zl!ULOrfj+56^8bs3#+6pUxCyWWV-T=$y}Yu_CeQZ!G;A?y*(_MK#1rd zK+=-12f26{dkGVdYroL-x&A;$DB_uAuBE0!Owwh=JI6MFK}J+A(on|9fUykG1kFn| z95GNjvZ@73XcR*sKNL@M&c}eo>H!pNI3~dsgTa=Tm{N7DNFJT!w`2`OJF1kDqEK9_ zmdZfmq1FTCQ6f|XMpwlxz!Y?XXaKdzYw<*g3}3L}23o){ZzTophRD?p!m#vdYhwCi zO%|QJTTOfn7?LP~i+Y^~JoPbzLjWHDr`0!bcj%dBLJ13`!a7_@;=IuTVLZlF1P~&| z3KvR0IQYa^5QuTO0#JR!S~Iq~sKp7r14azVRE#uLC`Ek+mTzi-h!-Y7Cn$U$Ent`e za-|5w6g|5%h-oi~7A}cI1h)W+;ev=d7<{BrNhy~mVRT@m1I+JUr3H()nu|ioR|_oa3LeQt6^6JpQvI)^FDIF#lV9hdY9gjF zCn&A4%4YIy2@CG<$m)rP@p%}_FciEkh&sZ+Qt*X*AOtcV*s#H%1=Fi zGlv0ucGx5F;wcyj8c)GU0*1y50l^kh(4lbv815Nrs2BRioIyAY zN+_)det%2-NkZKAf_5=SgnLJbA)OKx6eEZzN@blvB|w^*Hbd*uivlH*3Nce0Qm*#Z%U%qQ3`|Va92XDQQx$}55P-n&^-e&L7E-3g#foDw z8yXQP!lFo8yI_XEk$(A4y;R+Ud>e+#wt%WLtp(Mjo^CId@(6;e;Jbq|XL}7DW}!5U zw9&Ry3wJ+emrr?5W5|^`$e4E%28o)W*nwdPZYY-26+_zWwiqE|6ez$o16RTFT)IJ@ za^ho;71bh&8*~`GK#0Ib)Rs!pFJZzUUK_}fk)(w8F){|657mbA2eIx5Lf{QVD))9= zB~k!xJiHJJ5Le_Rs1)I#@Y^5(J71z{LX9-OF-;l~g5z(4)5eEwV2I*?|AwIvVFcZ% zJJoT(h^c~3q3`fTV!6ZL!NQWE_%R(7d@dcOeQ;Ke;<|8o(OaZT+i>Z{$=Im}SY=H_ zdcih&$Y6~Hldnyptio{Lsz?gz%nYXL5Q~Q)m|$S&2Cj&NggWG+4Ieu!%K&~9#Zc&M zQ=TfEUbGXYAMsN0Kp)BtUEYD7hAe|p!Qdp&06kCoCd7<|btJLg6%HvDuC6i?!qTme z!L?(q1VR4*%R^GRi>O23%?!l`QuG2Hq@xfjQp=`U2^t+3ii1!kA$piV7#zr_mKbV@ zm%*3|NzgS?*j%8lo(g@h)b}cV$8=9ZstJ6GGo2~V1Y52tbugtS>=mnxif)C0eKcl5vW-HP;4Fi(+)!%uy-QGcZ$YsV^se*c~!%Tu>U}80^ynx&ktVF7Ul>(_? zAwu;o8rp&+067i;nN0HeWQyI*x=2ZgEY&wTx-&El#>81?c?zhDs?;>=0y;tVUU8G$c20}0@jN)82Dg45ucUf z;<3sw^OG2%PO58kfksTgnrxstl*KU9^5upR-rzRGiVvXrrbqxzVzsBvd<6nFusV%P zV*rZ+G5BWTM3<;4Kx`Gi=}Q0kU|#8FdsxBJ0K;85hIw2H0s5Lf=OqCQ5`5^ z$79U7lTuW61XyJWSP3~$bp;(h3pt>Rk1L6K8GE_Yl5r>2LOCng|0)2;eao?QJuWz0T6CmrxQYCC8*r&2l z%S_ODMcWCBfnq>HSPx(j4{c{30c>>= z-?E3R=s;lXpk)AnDTtW>JrA}uu83g66`$jQ1mJ#3?L&kId{hWASKFnay{n0&<&&D| zDG8J3Xe5J1H3(MPqPDwe1PyYuK8$L?q+}-`{tdolokCEB22+lbi25Z;iV7H%D~>rp z7^&(CgV+M_CT0MIbwQ#r;_8ZZdJR;XK($6_-UVjQKvGhLTsZjvaI(ua)$q|cj-ATI zOaYTXj|w45e2xiA$bvZju)&23K4=Cfj(`b<`XnLrcL;(&JhA%5XqXl%?;I7$&~GOJ z#e^@^h1-H;Bp7(`J1FZs2|`_Aa*{}ueMR>RmZ(w^bY8-?FmY;m5Pm2wLeL$>e_97R zmK_fxtzBAj){NgXxf~`22n*5i_4RF?AWa;XTXeRX2@)3ps{qEBWHC%alF4k42xuBK z1q&C-u3TV}uy$BiWlUT&)*6W-I2P-&{FexQ6i;BvihKY>|BvEBV!6hmt*`>Z*j%ob z!PVT>u$=q>EemEYp29g1AUOmaV*5S31zeyp0gfT}Y4G2KA;Fo1p8?K^`X(LxDN72P zpW!B9Oz_=e-;vtiXx{M@_slfGJi`^jCsr?Rf7zNN7g=IaL0{sS#qjD~Hg=>?Eku+Z zXPyhBaVJPhJKzEW|57b5mo)WbVq7X1b5wtT5Ez%Z%&shJT5JkZtA|L#FAT6ECX7l`0hc7a|ytVth7jRt<)+)d-3gU&S1~R3-_yM~Rbg z1b}=mSHIylg_VUcLwQJJL;eKjHY=qOos_XqGCWpE@OK`A(Airh%X$nth;qm1tq+z? zV!B7!jVL?f>=^syGWbQH&(L&M3WF;7*g87U=(r*^6 z34;Nj3y#@H#WF?!+?)fKQd;oXyupYzdd_1?_wqF1c%U>?Oe`e}NvX)GXd$4Zqq62} zM0>MR6i2pi#IR}t7Hnn5I^aQ~#fpec1XEaek-srSQ$wXkpq&r1CgSIwEJ#*3wB$n7 znxVTwbqZs8qF}Ef>Rw$zei#KTYVqGwAy+src}JumZ&0DIhKxw|Bpd_#x00BEsR_mH zz(`R9l8BLU0^zJ0+}o(C$rI435IF*86Dlk>$W%Eeh*~YS%=zHzZI=C8=CU#qXc32- z$2F*fHPVrCaz;9mtTgRmF}Uf(>MTQitmzqAwFUQuBT;;PAhXUZ(RtBMtERk^>E8-r zA3t{7rPVpaO~q+AGB$;x?>MD8g0O!yi4g8?e-6tE_T&i~U@wyPVd|5K82Zz5+!vEs z|HEsOh0WH|5`rUFv3h;iyxvTiA>{~NVbB&r9Z+>BG@uxwjxcW|n@Mml8v=Vqsm|)`)VE;K z!CsW1s=8cbM+<}re6i*S8M$eDYZGy#pct_* zJXHm>6@V@bvx5IvFy@{T8;Iyl91-WQE-x1(&XQ;l0F)#mi4Ua~p@qsK^3pgUcz9$_ zGBy{L&z7R9i_9_KPk1$2rC|Fy<0V2Z}66-L~&2}Cy< z<`wN*td@&TBAz=!=n+(gOJVvBZ45RR1T?PxxY$kh5OELMsq7yK3BsmT>%}@qjn+vg zXwh_l=XN>VP-9r>79i?Vq7Ei2JzgdtvqtvG#;{xpPa9YXf;ga)sD}Y!BP#|T{(6kO zSTIrmSg4uiqMkbaMn`8VFM*C6!%Y?gJzx+RfHp5TV1U#FlC|h0BiM_3XnOI)%E zNI-+GL0bU+WnN?rISGkIDtPH53rgZuCrO5Y$s8~jL4)g2{tIk=7b%3qvAO6w*sUNi z>L;CI>7P&Lpw(tMf2k1f;0ogG79@Sp0%&Vr z>wjs+Nat8(wkU-$?E!NypMFpsWR#L%b>M}>AL3$^b%RsA#4QQ_pa5YK3gjg5if2Km zA(RwE+82ng!x|cGAg%@I6rz8yl!HGAKyq`j%S!JSG5_OK@AjkrrKg637AMwfE6g=Gy_A&^SQl~T`m)li@1I7b5M4?#> zTKJI>YtV|=mlno-!bl;&AO_qq$#H>q%)G6wda~~TV zVUR<@?c!l@WmrYY5PcIuSTpvV#32CTQk9(m;QCnOfQJXCxXPwX?m_{8vrI5qsF+aL z(RYjlBAu~&m?T32m&c)5^I6;Wk?f&^d`Dq76K*gA)5z&^u{ z8bNUD3;;wB!2S{4s?&X1#Qf(hqSFSYqVY=XtO~Q%>_L}))tu(5s zzyq-KcW?k$S$>~+7cpwG1%8bUq0#OkAK|vBoq(K#Ys}iOQLZ^hS3k*?c-lY#2 zyT?6ZbXZa)N=d2`2vg$fgAXxT1bJ+YKyWDhKkD8DAgZ!$AAgoJGice$7%(-XX&EkQ zrf6C2xnVAexL^wIK;i-@4bKP0IK#RLI07bhe)AD*iy5(&{ScJ=YWuG5 z5m5})45Rn7Bvn7rJtI=oXC+1E@rFB26g90QERMKJ( z?JgRM=1ukht>#T8u_7%G){@rqF;(6jY z`z@AhdKb}Wf26GtvjM2NePRx0qsB*2PC3}q>M|5 z4v$M%kO1sW0$fBrn^iuxD3zHpRsp;7{0*kQA7Q5WyCF9R3(3 zqEo3ANfDA>qHW>tf+92yUK0^&^9_>0UkXKN61;}OYcjmXz-v6bM#1+yyuS*sAb3rK z*93SCgVzXny#lY1@EQ)U>F}BguhHz*9p`8dj5t)m~ zPl$es;IHCJHX>;ul4+3FROIy`YO@WsEk*Y|gYLVI?w^6$y^0>_j~*O=9vXli9)uqL z5ZV2Ad!imP z)T0_bI~qN^20i;D>iG)lxe4_eje6Ci=jNj4>QV1*sCOdj{SA743VQw!dj4nBrwa8A zM1AW~Ko=CS5B2Mf`u&Ldk4F7Bp%?B)FT|i1A4M;^(SXrtKskEpS@hCY^zu|R@DVid zG#X?@gU6u3tI&{6Xh;nj`Vty?5e@5)hUw6785&-QUKxT$B%+c1(a2&n>Jc<*CK`1Z zjeZi1HlZ;AXv{ejI0yyCqQL8D>}>Svedtva8utVmw+D@%hbFv$CY(hRJEMt7XyPgK zT2J&^270XlO?nwkI*x+EQP4+datsP4D0mJE{sv7+K~t`xso7}i88mGensyOQpO2=0 zfj2!g(B=q`9H1iQOa~_%%iDrF*LWiKxbtv?E6xJPu%|~H}(d>uO?AOukU1$zQ zb2_6rbI}|#np2PFa%gTBG&da0%|vtepm_w%TZQJU(EQD4L07ck09x1^EnI`b+oJGr z6n+^+RHBF*C^8yFZbNUZM2lWTi_W8{$tdb$w0HtqvJWlogO;vAOFu));?c70D7qVp zejmjYBee{vD^P44iYr9%ol*R^C?NqQc0`F6P|`e~~36KTIhIy2H8Mf!F~KLP2TNPij`9z%wy$gmL^A4J9x$hZj^zd|NEG6~3> zjw}<9Ei3TJD3E2czXSw4ys&QG!hQ^ z(WVTvc_i9=8NIm(ZRv<=<*4>kRM!vHxlrA=XzK{H)rq!VMB6%{ZEhn^C|i`5`CPBKK>4U;*ZYC(ODBZdm5d47M)8)=RQZDn$h{;==@jcf;YPG zI=Zj}T@X-%6*V-Vi&k{;82W56`s^6`ya)Qc7=8W=x}-*zengiiqsyn!7bDOYyU>>u zeYp~Sc@uqg0bLo2u2i5ajp*uebZs`eb_iYXhi>?x8#~a~3Fw^sgQ0r-SHL0=o4L z`Z)vrazFZIJo;rTx{c87Md&p1CdSh-&c^rv#*LVC#UvI}Urgs=dKPnCFn1P9 zx?ssSSo#*0O~hWI*lP=J6M);ijoWs|ZCBy@(!!OLiFT9Umd;q@~ieIe513KdYVR*n>_@!+8@=*M;6AyIZLC@ns-{Qgfc!(4a zc?l2MfQLSThpxxN9>v3^<6#weIL5njQ+V=d94y1ZgK%&f4nBaV=)r6{@8g;NcxDxzH3HANjzfcS=y4p@ABSzgbB5tLU*owm@Vp~<{uaET zH(qGL;S`5Y$KfS7{0AKIDvr2}Bc1q-=kXiY@S?eR(G48s!iziM#ryG+F?h)(y!3Uv zbRAyWfR{ajmo3A~w&CcmIJy=`U%@e(am;P3zKCP@;JEfU&W__HIDRWm7=#m!;^cKW zPt>xgw*u`^KkANoEL)gN^xEz&bQzKgbU~4qV~8*kBhtDlHIs; z1TOsumu_m*M?q@qrKV!DsQoG<@(nerqaz>rH$p0w03k zH}Km};Un|$(G-02TU@^s*T03|Ex_;f!0+wC$HwAg#rW6-e0&2wF&Dq@i{C$vKNyQY z*pE-n!KWU^r^4{5i}*te{_qSw{SrQH!ykF$kK*u0AK^38@tJq<$2$D+QT)m4`0S(j z>`r_x5TE-Vf4UH#?~2c_#}}633%}q7EpE7pFPiXY1Mp{C@aJ;;`3Zda5qx;0hxtUz|BRcQ_+LZuPaW`2v+++yurL-27x1lQ z{Bw8w^E&*?82rm8__m&)-GsbC$aO-C2sfT^xrDn;Bz=fvJ&`^|q#7bEBhsIU*Av7m zhIm~kZDx`-jihZHX?u{|7eMYSCHLP??*ELm3ncB>|1C%cg+ zSCURD(&-@S{2J+ekvuIYPdAb-Q%IMSu}QbD(Tjd zbkmV;pOfyxN%s|`M=PLcY*ZoMS3qM zy}u;SuONMjNuS%K?;O(i6bX2d1f-LG_mh4Jr2k{2zmB{xjJ!CGyjV+KJWXEOOI{vH zUOr9+#*l#m8T1MnJb?@@B!hn@L&C_A&&bdlWLN|lR!fHWCBx5>SMte-sbpj<8P$%A zDkY~^$&}G#%1>l!Dw*~GnN~!mPbSmf zBGYe?kO&g;HkmPn%=nbNK7+je9hvDQvt(peF`4xX34Mcvo+Dv>Nmw2Ur#kxn8`kjNe+auIoB z8CkT2M7>6$-Xx2=lEoj8C5yqVB8lIUkiw24HYBrz*U%v(gQBeA|D zb`6P}Na7BW_yHvTEJ+wZ61_=c1W8IJ$(SUEljQv*r5{NtBB|p@>L)}KLedD)!v8mj z)=G4Xi2i$Gm_!WAiBUm}*~IucF-;?;Vq!W#%p5U~Am(~vX+tdW#BzY7N0N+(NXBtu zjV76ok<7Uy^C-z0O0tfU?2#nn3sQ ziF-TAokns`ki4ZN?+nQwMDpJ!1<#Ozt)y@SDg2fcnMlzdQv4Jt&Lkxdl9CKka+s9% zCZ%&pX&xy(LP`ZvHk*_+k@7N9{tc;6k&0uavL~sukjjrq)#IdUF{wI8miHpdkCGKr z$cjp`(ub@(NLGy^s}7KAM5_Cf>a}EbXR`VPSrbmyoF+8}Qqx4%&L(T$CF?TC`tD@? zcVvT`Y-~d|ZX}zeWYaFPc_P{JI;lNL>WrkWo@{MLwvH!To5;2?WZTDN`}1Ub9NGR2 z*%426oFO~slAR~WEp&m+fAlM~+LgoB(oO5U#|@82LFEG8%Sl2fb6sV~Tf zgUE;ZoFp{PYa@$xVLxi3lO&mYv+XM1Bq;KOZ8$%pkv|h zyKVG=O!`0reK3$d_z8VzEPd!-^x={8;Trl#XZpxK`si@_=-bqL8TDR8<@Zy00c}5$ zwlAUWf25CnOMUdz=X>g_p}y}?KQmQ$QN>*P_&NH-r&M{3s>V{)kF>+fw8J{uu`lho zpFU}(PhO;*ifQL|wDV;8)C2S>1AXckeVWpzYiO6gw2Pf~xj~;9P5mFF{#R+&2-eJ`%I;M*3iB~Xx|+) z;0YQqkM1C<+D8WwI#@vm+vwo^bVvs}q?8Wr zM~A*mhdoG#+3E03bhv}Q(vH5Or>|V6Ba-QeYjos7I`S|b)q{@uoQ{s9V;-ktmeMhM zY2d3g@GTm6i@y3WeRVn=_W&JdqvM0=1YbHKgH90W#AS5i8Twiwo%AxDw4Mgp=;T*v zu!IKJ(kY>I$~$!GQabfZIxUP&52Ybb(~$La#(w(xQ}p$6I&&DExsJ|yna(;zLj!1N z0uB9yhE1no=jrURbheYud4tZKL+75N^M=#;kI?z=(*-l>f=hJaFuHIL4IfRzKco?_ z(TERd9T-G}1-EbkTMi^*D`+ql<^r#b41S{pgY4-7M;d=Wjo(cZLTREuP5h81?WM{6Xz~{{C6=aqMpHFZ z(}$*UH0>1C4yD@5R5zUJPEvgeHFTlIvDEk$HHA|1WNLnwTKZDUmo&YJW;{nToHXMm zwMJ3vO`0X8SrIhrU78(8ZSAOS1hpBd?OmFqra4!sT}K@osB;H(t*5RF)Qzb-gt`-` z`%RjQXzpa1TTSyGr+JfT-U^!cEzNIF^WC(-j~0~Cf+kw%PYaE-@B}UVnHKG)#VT5y zLW{qoB`#WOqNVT9vbMCWftHV@6=P^c1Fd|9R<5B{eQ8w$T|SkrP|y|A=!z=3svBM9 zrquy-bz8c+kgl0UYo^n+61w(ZblrHm?gzTQfNm(F8!pq0-RQ<@y74OA)SYfxLpOaw zHxHtlPtZ3P(l>vkTc*-2S7~iLty9sugLG>M-FljC>q)mQquV*UJ(uo~&>bu3PD*zs z)15!iT_(EgJG$FJci*CW$I-o?(0xD z>u1q-@1yU=(|5n3?@g!geNB%Q(qm`o@#*x$KzgE-zJH#65J^Ayf}ZS6Po~n7H|Z$@ zJ=H`%w9?Zr(bM(xqcQZOGxSUdJ@XFzcq;w)CO!KQJ$sy=@EOZ1C_ z^vjO)%WvpcE9jM}^vX7RRY9+&(yQm`wT1NBR(gFBysP+W02r+f&{} zo7&K(6xzhoe=Vi|x=eqXPJcQ}1z#$d=&jlG*4Oms;q>RP=`UmHFKg)S-t@Me-u{+D z<2iJY!zK=&;K)plY~<)Zj_bimhjP;6T$}b>n*y$F0M~XkcV8)Y-@DxX{kZ!#bN7G6 zwR@avSH(ThhI^oZdr-nXIEs648~32VJ+zB^cmel_KljKc?$PetqenRJGEUx!lmEiC zf0=9l3-?$S_t>YL&jXy#OwPx}`M$>aZsh!`ImO4^p$WQ(fXZSh*>w)oWu1z%k}EY^)hk2 z4sg#s$vs!c^`6G{KFU4cn|pp0*XMq&kD2T9HrMw#E&%@LZ~@1-e*L+Ad$|5nxc;Tw z3o`D7Xzqnixfh3XFJ9*cjOPaYz`az&y)5Nkj^zfLxj~d0beJ1#;f6fK4RLcr&T>O1 za6`9oLmRna)3{+3-0)%C@JjBLx!f!Jxe?R25e3|c!`w&>H?ol%<>p3R=0?xp#z?p^ zaom_oT;K_A?33KsNN(&Q?$rYB)tlV7q1?CzZv0o=gdyAnD>v~GZc-;MXapD3#7*wZ zO}@$nf51%{#!a2hO})-d({a;2dlf5xdVbLy`+^)*iYHK+cLQ~$`R zc~1Qkr~bLg^?>-F59hbYYXT$drF;kJN;>THsXy}KN+y;7R%)~2a?!5)K7$@`Ye({x&mGFYn7x^q<*Ww~y5 zo^qcw&jkndmEDMyn@w4^bX7#HBvPi+8}#f#%4;%qEvFN%5Gh+*E3sweWZ4w?jufq4 zwP?=jITEeYkdmr^X7gM4+s$om)9~+`{H$;Rn(TC{&Z~4C!)2ZAUJ3#!vzEOT5 z%X7POmDi+sZk-1Dp@$#kzV_l-&EM^ZKEijwGL2T7rVLGzvMVWj@h2r=mQK2 zdw0SQ3<~sDqvBNoa*bA(rkpHI)4K9h4R9-Wu9962z73E?4wlzMM%GB7Urqi^LI1ux zQNi*R&`vlRZrn0>&9mWjIALalLOJVz*t2`@vzyP5vxY018~*!lsTzg3(3d;izkBRj z$0xA1wL{;6Y_aihLAyNT(IO-*qt#dgQ)AHS90r$aXKW}85%eokmgd&xDi2GUK)4JJ zohqcf4#vx!r>c?VYTaqd2~vK%;4Oz;qIh|B-F2ZzsnKLI8goo`RZVP&wDp_AY?%2| ze7L8H4ZP;xkGDVENR*Dc3U(!!T{g&vJ@W@m6~`lXCp4A~xk0BIuut0SwERy;Q525v z{@EPyZ8rV;3HbY6Gz9<8G&ha!Drcjm+*!_MB*$*gvB8Y|!8ithT7iyC5C>Srdkfq> z_4D2|=6|kx5Ctb=Usl_51d@A{Af=B!yDOi3OIWLB;y6eI@B0Cds+-*@pYUHaed zYU@lgB?Yys@z^n@q|Mz7Q8Oh48yWczCiAYIf_XpX(a)L=e?w3I=VrO5yxC~~MQ59> zJ4|bve?P7FZ0rB$`UJL~Ddu5mfjcF|tXlHC#9%R+^a_nGH_xW3I3=0Ws)~Ql=JTuh zbkD5q=S0WGd-MMP-pbAeT)~_I!xew*GL(Ghzs42J?zM^z--h@8_jmoD8{bx$X?65> zgMfPzlWzRXW<3!4cs9f?Hns75;M<)3-|XR^7=&N<_iq{WyKKO{S-X1?n#bFl%vm-| zGuUKU;||z#Ia~cW75r8@kdSyD`M*u}P zz+*U^$}FkVVbH50MBMwwP4V>N<_@_!R%$c@xB+*nERU6W+-i_m71S?py$*;EvSY@ote)25!W_i7DmZgOuri7gA2}#11vG#(&yzu=oD~Z2$MW`oA;D44i;q z)dJFF&P0UVhduEa2o{S?L+?iH6CqH&*XjR1E#6?0*({52+stf1Gu-~|AT*2p1aWjg z?C$|>w}}1!;r`!KbYuctVDtcTHY&=ZFtC9z`2ghM=MIo>{a}YLS`1L%RyTZaZXrmR zCHI&x@H;Ig%mbcXV1Vn&JrSiyqKJksO$5&%pM1w)d8^|BpJ4<~^;@6evi}>OanExV zB#f48m|8@}ZUjKjoFoLYA-_WUHRba~NGLXTr-#gmlzldWIkmq}<9HaLtN+NI{Y`5d zDxLU69t#>hU!*A;+KWCOz5ry9=kk2P zTr@wZeP53k^juAO(GzTn7ffTl<6QuAgtpy7CWIWB^I3{2RHn-_*&WKa4@+z|tHW#? z|F)0Ot}$!`a>%`<3nI%&=SRN{ii+W3riT#%yDjSC+w$sRyi@G%qrY`@*-6P+h zzaf5m%3j-x=X^kL>Uoe;#yDPNY60S@af@ofaX@04TYtX3`YeaBu!(pr8Sb z0y{nNE>qmftw9h_^9LTKuZ+Jh_Kq_FTMfot^nF0NGZx@K76k>d<}o+o0Tv?ddk2d& zH;>&}{6++1e~}Q#xF!(^VAj0M$Un~rT-f(dVxoH+aHVkkp9C87_!s4OI({!8jDZgo z-xFNb-yztW1~rAtg)1y)0~YzBEWT2gpRe4tOTzC3fn|9cm#i|rG)5^53IMYm56jHr zV`Ab;E33*%D^(4`AaEXe(h_%JkwfV$DYKO;%FE395>=7Got)sOkuj?}2&^g#8C3yc zK!a)B5Ie#Qca(v<$W_*dNtxRa6Fjx$j1tTPf?lJFZIHsDX-Yn*gPb`TWqD{vAcB}K zK)eaxfG$9*oBc>>T$S=BB$_~Nz_@E&kY5qq6N_E>E5HV_lnJ}FiYeD!CpCL3@gxWq z?kz^zrn z)mX;&c}~$N146}Kr?DaM^g2)MwdYg-6?Zy)&uZ)sc@(CEO2!Pgq;P;4*608m9=?+Y zV~jFW0Wm2S!Wd;hWqg}uavPXkgV_rVc7{a(FfqrXn){X{I zES=flwPg0n+4ml%j}u~k512jeY%v~UJ6k_6z}yUXzmL3Qcm64eJ@t>&`)^{zf2ikt zS5BNZPy7I;l!Xedi2%=s-y{NBrkihbFHsj0DR0P9{Uh}e(Veij{l(DVd$Kx@T?niL zMFkCD;;!nz{GG^&xOKS<_S~C|90%-VNNh8|)Xdxb%0ICn2drD2D9eBlTg8J{bo+mo zk9%(CTxjR~*qUF_0C&Y-8^MnG;DMs+Xi3cE zDG&WRF~guVi!B+H_IPK}Ir3I~a3@C&-~2X5ey>qZlRv<#dyG+p zph$TMAS~q&Dg6CaPbjl$@dl6?F$}7gt&gf+s0^(AP+C$@SgZ;Yl=8s9`g-Q4n!KBU z@b?bnz3XLl9E(bt{X|(Di%P_(h6O1smJ$5ba^_ATsQIJAKsVyRXNtPPGR&bJ<)MLf z^|B5?^8PpD8P=o9veGKn8s@m8%i_Ul50w{d3zNWKC&cB%Dq`bI`UF*yL7SZDr{M?Y z$@oF1{{BgZC*||zNel)}j?1rD*pn#JX-r0ka_%OH86qc}ZSy7{yCct}^GlHNdom@( zGFM)X-Jsk&&t|q7%w}I9tGC>4&M|`DW{G!Ipv(wikg`tdVW4E@Y{12)?RNn${X>{Lczo8e+^IXgrdo8|_Fn=#+8Q>*rz2gfVx zW$Y9sTphj@F~gvi92B3*&-(XCl0ULwP`tvtF%+*brsnW}-e~cCppoT~V37Fqduik! znXl$ttXN_5=N79q<)AZqQVw=dXGl5RMIZfPsm*`IZUqfy=f&Z8tR_{p?h|8 z8c)0Qt?d#+E>@@o>E7Iw6q9NRYnQ=nRPY_!x7K3)pB9sU2+%CN9}t_ZDQz|oqTg#B z2*`T_lc87e_jmjEkr&JWghRhcZ>Qc%db>4n|Fv0xnmATC_nQd)e_TLXO&(?*3c0VV|d_ z!6OKJoAdC0PXc}gjai)Qft<|C{Kv%se9YcfA9D{?7_EZw7r6L8Dkc9F7xP{)(~N~7=6@xECZC(Lcpj@x+V{etOKOr z9|lt&I2H!zzn}Yb&@{!U52P96XHDB-2Ia94VeZK&o&^l?u z1&PzuvQw`Q3i3G){D})F7YH^+%7P9^^y1Naoi){|Yv|__8Y=78An{y6+^IhhV^M*G|Km^|lvw`LGFb=sbCy zzq&z#ut%=ffiSvWdEduuOV6?U0bvK$lvQ6V2g&LKT_AQky)RQa)>NQD;lWuV4O#`! z6{M~PK`AE0c8om)nh)v*8pAq>X(|@%DS1~1P!6$5CRfE@y~E}+tr!pFs3lKh*Q9%; zO`T*4Rs>JV$(^dwWNC~RjYZ?s3xvrK&?$ZscFZ`uw{F8Ow{n(PPJN~6 zc{y7o0PTuq84#BKP{sy>q~2{S?_u(J>E+;Lb{e_B3Ay5VC< zbv~d3g+QbU$=W1?%9tcEX&k9}=3Gmz9kNCC!X4JReI!w-6%lI`H-X3k+L_V8uwI~w zMd>gy4SboruPm`JxtOs6%8Rn%l){9>9l^yd71(xe^XkJmsjXEy7V@c@bV>%BiWj25alhLA0&tT zD;ph{sdA}j4aJ|Vu_zaUWNc1V_548K8Gx^W94nI+PCUKa-dO_)85B;C^>mVJ{atrDW>@)v68Ki+3q@ZBJahK{ac^l!Q=m`NnN< zCBVoqy1#)fD`81wan(tz;9c(7F-980mZ1c&RVa+U5px6Ob%MWa;i{SXm6qEimo5-2}D%5pY>J;uhqtOFTv5Q#CevJRM7-cW4Bg z2#F8y$gGtu8BbA>>ckX=C%+N~G;T|ZCybS@z$cnd|De{I@ix;#gwvyLC zhet}6R)d>O%h4!=C!{t*mO<~w=1&=`7UxlK$g&xg!V(yDwx;L`uyM@px;z>z3<4pX zFk{Ez!#j3@X#f)uGGl`1`cA>>8o(E==^MZet>az?*`C%MOr2=)#W~=8ARhZKyJ%M( zv)GlYzS0<==%B9hraYGKDm^@VcTj<{P{tTdrmMI&9<__BgybJq^lr}<&g+TW3hA%LU;-iETUT$B=DYLrEvnc? zi7Q>_)GCBcQmsy}OIO8qkfd7NsRasKM{%-XWZ0GRR5u#}WrBCCyh8&xBYt)JFqmYI z*g@(~6gyUp0%8Y~?6LQdX!~`hjo;fSXXhw|ARdTPP{T^5!opRL?RM^9bgi@WS^h+FqS_o@kD8y2f(7HRr8wwE`TbaU4$Q6(*vH8#vPirCP z=*fd#gkn%JNh%B!_V9ba=CcFER45pfKVDJ?$FLNsutqHxv#Fje>P>O4m~FgR57r0} zu9&0*pa3VdWF>D_$p0*V`Dgh~)`Pz^95cF(p zA-f94fT%$ylsCD*1sR#G6Y-Cj%ogVu65cIyyjR)~AORx|^%Y%N7g`la6mpmcCUc^Y zGt&s>P!w`7;4Iz6#^olzQobT*c}AtdYn3eDkgs(r1@CK;q}(`bQkvl1%}1*@q^9~Y z2Q4aiJ89}lQ;mIH-l6R~4&`~RnJb?V0(NU>2-q*MVIeywsOp8b^59_gzTk>|`znI> zsYR%Ck}s5}=NfZ$_6{HUBr}zoacrFg5Qw@Um2C1&pR8i@7c-@}e zU@`|UlJi5GQ~AM6!edmK8Bl`+RY<;#gNik|2|01TnNDY>Q&GDqaq&uk4*X;C+E7p| zD3;d9S(EN=qEcuZC~s{Wv{Ur+dm&R(E2^AF7HgRzh+>?kVs;qB6^0B{lqpVg!5B}4 zp7P0dNorQANvE4L*Ju2i>AT)|XY*zsmn$bfJ>R(Br#wBOSgn{ZjgE_p&Q#?If&5d# zQ~a1TujT1wWmSF~Wfh4fv00*uu_#mYs9=GZuM#~in>6Onow4$KSAL#FwIeNT{WQfG zu{6#U>Q4W#khZZq<0{r0KIK8C7GAyC)w} zyek$WRe!LSbLb^YZlfpm>uSmS^0h~ zGnArmgQ0}kVW3#>2k!TGIio|6U(gwhfagS;=s{1F4o6m2jxtM^sZH|}8>0MOL(0l5 zh7z%pw}D8iEH~=PRA0(U(uxx8pddRX+H9>=YZ1Idd=d?5P%-kfti!3NZ$v9It=3G% z;+2V;w)mYt20$p3^9Ub6{~h4xXMld}127B5wRI^&U8syDf$TPx{DJHbtQ54{AnOCh zxHaj+h9wAU7-0Zg`GwX2hmtKoDXozW#Qv>ueun@#td!7bbDVmW-f42@`8l&3kT?>C zGt=B+NI=b89z4kpmsyMki(V0(8DCoImjSL*SSZz*+>RVo-9ek(m0>gbuA6%BLkVnK zZN{T7`xtUeTAjFF#06oRs3ovagUK+%W6E;o$(!e@qWq4xg@qa-#}eF8?ug4)$N05a z#qMGV%>wC~)rQnnN(<1`dcUZ$Wh?Z`rOvAOYK1M^nhEj7QH{JM@?kh5F&S_MAJR=O zjFsw5I)hEMuxwLIouY12<@z#}!)9{n6@}O2CCLSe43e<&)8ax1n%K||g3@Tv_`l<4tRdr$=&h)1Cav@v@2hJgUcz)?zr4$fpMRIDa-BYOre9!C{|S2oRz8qyR9@W*O;Tv)?2&`3328)1@GS| z7tM>O68N4Rfk+MdgV6?Qv?;m)mEvvX+X?d}Rh4TCHz{)>%IVB zv~Vcpd^ku~IMkd0tYFbHR1k~79v|*W_Oqal5d>fo_jp!{Lkz@f%bLR_pg>dyq@A8@ zCK{c37+vQNKl)5!tIzY8LevBH6+MEmhD9y_?AI`V(p)CS_#!6QE*UfaO8z!Hioo?J z_N2KAFBIgA!4u{?fl*=@ywxf&c+vtu89V_dR|Hian-?U%D1B=*B6JPoyUO^WKo0`$$N(^)SPyXUl&*;Dn+KhQuKTD3^Dr^UN>PJdXnf>k{jU3*f;O426poA+fRri=!4oiGqg$xay$* zptNLh^#WyJdto4i3Xn07)b#Z^SywOuVDn9iiMhTiG&&bHIDyB=#=4@MrDwuyjl9`^F zp@f|oei1KAGOX!Y$_()O$_>)2tc>(bRnfvsOS;*T;R`2bD1`P>b9#2RD$|;o>31HC z8PvIF=O}hcZ8nQJOLak*o@vQoM>89q4PrSmd-A~(VmD75oIEmHIkP~rQ5U{yj$+2V zc{Ap$3g4(x70i_Ii`i-(t0BXv49k;bW?Qqe{H_cbR zQ31}i)vW?c4UDyFKri{uBDc+2pw0Fb0(OEqg#W%fg@9~rfz{^rE!ug$zXYBmVYTI~ zTIu6iN6_y)s~T_W!@K2WCC0Qu)ps8HNKi=C6&00|9H^NQi}bA~^Z4;TW|P%ugU=4D z&E{2ESrG$;nhbU*HPW(}{6&#|`V2#cL3vENGiS@DT?#eFD7vt95nHybTU)y&eC=#i zM=l`+c*=spl9B>g7{X{j;R0lj8X@L|hq5q>B6=I(ryuSNrTAqIZDm4=Z>>TDnE6a>QvZ`ckzvAyK3DE!CNI@lJ_JV}a;Klbx2WRhBwz+BkzdrX-;v z&DUA#HtXUfW(e=|6?u>d$yMn~p_o6e!d+6FSK%A)vbjrjlAOHk`~p89Y@wb%-XM7` zKpv4guP}9O%G#ohH3e()Hznss6htJ=k4*7m^Lv<=%Z>5L$??XBv_*v}E4&H}xkZJF zOsT_RG1^pyY=_CEU~rbj$0}hAz^IlGV6?P$?VMRDs_PI)8CR++me}XJ7RIH%;gw== zCl)E3&Ky{knwOL7EKn2|0=xkdSS6Hsa2PZAe3^8|#=2b^l~$0-g-`GL;)1leFgYIPP~92` zk9mPR{E=O5#i3xs#i)kIN94+sP;JT#qN?d>sDsrP#pfg$yrR>F@&1wmeTq9tF&N@jZ()!W z_}&d{ln)4;J9fFg+~vEawAkq=(-kpW(b#;S7R<`-15r3sli%fk7A%JQ@aKWPjD!n` zgmZ_Mt5*Y?%=<%GIrFLe#C!mQ(ITxj@H=^&Eh!;hF;TiCcEw7Es_L2qMnY^h)PX?z zz~@5J1L_d{C944yYLl{6!b$#FvFpEW63eDS*O^EMLUkiFiRps0>2Y~{zG-DaX@2R- zoYK_Nl$@ohaVhajO>qTYe4OyMT%=0`xioS~Dv<|P90!3SX5#yfcz^P)l(p|B5lVCpTTyB1gcbfdFThdTwdBty(`x*Ki8d? zp}e5`V9NTTReRsuylLg^Ej|uIPOeMAOCbD&8bd)M(`w8{yE3dcBs_Ss_9b87U>Sab zTQmhgnAbrX8<&;{cq&pj#{XhHz;BhT$cbCNL?K`yLLL=ewYs{hs(N)*bQJreyW(lX z;56ZDk2VE>^u)!8iWTr{Gy*w zI+P8-`mG$9jV**zhE!YOX&XIeN(#(u_TXUv2Ac@L!ui+b$th_mHsz=?p(|+iB^k@N zvD6hH9T^XIhgErScVTp;yx#>u&dZ@v03sk*?r%+T>AfJ5XeV%^|1)iTi@#5}uUS-} zhM_?36#RLA=E?byb#lIkwA5XhpQ;*ornwCR2l}L@x?)Ndd<9SrzlGn7F$ck7RRm%Y z6}Xl^0olMwFcyG$A6ABZ7er@bw2ZHlcmBRv5rlON<3pI))r0Yw0cM5I%*eNHiM3h^FUUtIeMg?{w7QHAR$rhu zRY!^1a+2RA@6jWCoy2HQvl`*Ys!#kZimMJHi#C38OHiLh%5oJ0Yf3)jb$Vt zCC#p)Y-$4p79`p36eFy@t4M+6Hw1ri={IBUK&#Fc+bD0f zfw&oRd3S0a?!FDX^xc=c`!>+#rl2}z16z?eK)%+5vQXAE5DF7mRI*x@P?#e2U&*f) zeT|au3c$+~v-r!{qW0oKSUw93A>$xLKfy@<02t9`PEt9zFB|O^GE-1J4{Sv%Fhy}l|Df3_VaqLlxj0SD%@ldl=H^3_0Y9*2!T^iS z6tlNLaI%|;P5xEI1)yM7WgtE)6HqXm!w5u1VUChQ;z*mWTB2VT7o~_=R<=^Fa;NJ7 zy^ZoX5JowR6BZ~N4OK{=1HJ%WBaFp|Z~;~*0_6?O2L5xY+ojiKsg^jG$5kt;mzS+{ zs$5wvr&|n5hBXm+Sl+C(s3@=T!I4oDr%DnNqxH*jme|$h#+6<>(l*p?Q>yOF?Pz7v19j6Il87gue@CK_P(0xLwh8}#Z}Jbrj^Eu zSo;#M8MzC>W-8+29fc_>tqaQFAaMb8i`HZ)bkqB&E2=eX6ekWIIjK<@Yv0%qme0UP zLsK95VA;islEI#}A-pSB4u0me%x;1OBZH+E;qjcOWqn}}pe`W)g$rr&)6%|hJS-wH z*_Heeu)XI;zt_M2=+XWAzc(66E8aT~tX>Dmxv_eImYRVOPtCwQNaek;D5W5!R9o#^ zn`@7Er{+Q+3llp2ZCK4>fW_+&lN*gTja#uvnwglHl$BcR_DOeV_+hA z?OTtY07n~gG%h$g{iS8_C%x0O5N@X!a&=Cuj<_5>NS3qGF}q!HQYm)4CNIpW@+J`SZF7<<`l!Cj8JGe zk)!5?jx-MPZHkZ@KMFlQYLk}`D?BJq(c~2r=CPM1IYq>H5$yr@v3-F3#C<8v^BgXp zI4xqvGS!mg7-L79wr#=tM~+BLvMwo3 z^gTXu-@cjKB)qHr%$fTpA3sqH1VCc3@5tl9!BD{_9zS#2T&K^n=~X9BN}z5P zp2ZRs9UY~N9SqaSrYg1;mivn}K7Ufi*ANyfmNA4w-lnA>l{r$eP!?M0`u$$soBQ37 zf4I-p{&&Z96x{MRWI*lOm8+%M@N|_d6`1XZW^NN65+0JIr^6#v{3a3%KLaD28k zJ0nY3kSnoeXWG+qQpCj%ZF137I8JY~hGN>7xS(oOKZ zm?S$KVobM~G;ux_Q>HP;lAq?2k#4nE{4Cb=Op7u_D>0ihj9KQqSf6YYTs^zc?vrD& zS?uXqi9YO+H_9ruvNI=Bl~pXs$;!#LWfvLY2s;!Q683Oxidb?Y`13Fd|jm_PFofXV3u!!OIMO^Gg{NlzWRiC zoy43D?0b5t-lucEJaPWKM7`OnahiQMB^A%h*5_GmPT%5<8;e~wYo5;LJHIG#li8`U zT7Yn+-Q@cCc)jO*-%@?+&77sBEjNpI>Pwq%23=@EpU7k5VzSll7`NIQt@U~%HOZDx z)QLxhd_TUey*i^Txj18aPF3N`^cqW*rYL6goTBI7S*D3hdShv{R|hDIH}BlMd8^G4 zG->vt91%Q$Y3l1C16XkaV-GGir!`$3u7FL+5o?;GCKgt258{9M9QZ*}3VtzPoj^Hcep=vH_01c(HF^Rx#xAYzf}&oA+?d z?=7GC2zg)F1tnK~TTk+CImvS{n^dO$j2dQGqDB6}_K8I*zu61-`hz36KiK#C<1(Q+ z86uEj3YKHbgvtngsj0le&uMjJI+Xk~U^dmUInH=hhB?D*@?(dwD=RZ)83uz@uZV>M zes`;K07!S&tc!(Rx$qbPw#eDUo@Wi!Dy%w1nN}k=!UOmIKjz*8Jg(|YA7?>#?rb*6 zmdDpSnqlv?Aqg>rgk}YnV3A+~Mz~;vO)((3%eIQG-ljKcG`(m>z1XrPH*8q~I|frt z5h0-j$U=x5HYA26+1&(RKhNb!{_l6r9ZANtknHpSh4o6Bx#iq*Px;FGz8~aEi1AF( zL)b8M6nP8k`RaL6WYxYs$JIQcDQt~7l1sGfOzKVQb&|tjbvOBp$F;nDo1#Y+tJewP zqf&HF-LA5vamRH0e5<(4RbN?dUb}D0p_sfq($^c=VZ7Bz`{9{DVH$?Foc@|rwqJ;Q zoMC`5698lSTpp!tgWz%doOZL;^AT&ElP_zxX)#GVS3Otw+4zZ~pBc1swR1th z4q#c*=BVvbcfXnl^i~Vn5w_9hWB+*h_d+b0X-l}(8?^IH4xUz?N;`j5jD%bKVddoY z0s`(*BI)zy#^H?p*__QaM-mQwHran zp&+A5zb5TnffUTwK$jzF)V>317XIUZvK9Hm(<>!MvLRr1Xg6s$XK#6vc9SWEGm|(q z&}GM&m#LSl_{aWCu`>w`lqJ4oi7?98CxajRfHgu=8*xSEyB4e!onD(KraZk=2xF~_ zgpWTBD!#YfX<17zVI297vspJBL?o*vPfKeFN&x2>u?3}It%39UnQs%o;C=eI&g-XP zQ$o2E#@fk(kfzx@vR1NGItchhHWN2-(7-hSSi=H(x_8T*g-b*Y>578PVvG&WJzQ!WHw_AsB={e z2Nvb!G_wmY#Bi8K8BrUTAcx2}V+8yFnJklW4AfabM5%LBHD{RR{HcK?w>CgNrJghR zGF(Ty+pR2HhFMQjhTkG2G0GfnK^(W{jH61w#XyGL;uLaj7^fFrs8iec5T4O|jh=)L zcTSc2!v!YHgsF%K-RANMiH}3|M)gJ$&x2_6s{^Cmj;$cjkaQTKF2(-if3o&md7mHGrT{x zBf&GI)`iq1yb~zq4gy|trpi%g*3N}ml_Qg3H+dI^G~iHE52e~LR8!tqOg{cJiT6Q2 zV%c$%J7$Lj#ad?L4Fibf6#sBxmfgn#`qOOY!*D=kv0}PU=U{= zNQ8ak3d441Rd>0iysCbiQ@Mh0UY}AWXWr~Aev2Gdf)FWvfBRQNLCC+lU3oc#N7_(U zj)(|S|G+14`%Fs=8^$IF$Hylti{(eY@>u-U) zcsTR$wdrMKyNtSU>b?Kf&p8R3Gq1q#&EM&gHoyCwsbDhii$2%c@7JyUSi0! zya~fa7wL9WcG&*a&A&~1Kq`C!sY&2MAz?xLiE(s|`Y-A~gOE*s#jyptTt-^=TrQ-M z;%tGhLhzLwSAr=J=7_n%>fPEtsaZW==xl9HH&`|rHkYM(>VWVULVic0!D4s#oK9uo zjrOKMUCfp{y!4JAVs{EQC)`Pb1tg7+zZiq>(3;9^Y42(jE}vdi-+?7bX~|7{9)4Kp ztL>~Cbu?;MnjEb$R}xyN(RiB@d*&yB&{hHLUx&?{MJ~5{lFq1n(Nj|5)v-Y0dSNN; z@|f?4mNK#=!YRjikbTl{6i8Tx)jWFCG|7p9>M@RPXFRUZBoaXaDh! z^#3pTqc&Snuh9aMcB%Glm&X}!MRT=F)o*)Zfn+q6tK!#KG#Q9{@T>OixHn*PaXRSJ z2uyf)WLZ*|^7d%2Og9Mr(wD`^Ho*}@Ut833nf(faG7q=TW3~^K)1aB7V1dIb%$6@K zaD-z9OYoDvxkvR%+ReWfY|-X`&7<9Xxk+cRrfePZ=`R^NQed!p6V9;m;bq!!iNT^( zpTP%2Mu%Cm^QNkQQm>JQrf++XIMye$ua*inBSr6ZJI$-b6%X8b)FvNo-~Y&?=0jq_ z7juQ=g54g(-97%?8nB8Rx{x=deu_p@fvCrraEy)$)Ll_e)Dy6KJjQ!g%^1M>>XQ;x zhmv<+YoMQTWG&=3c0*zi*$Y?9rBFx?MDn6eiS0kEz*P3Q&M^op#NBM&fqog=wCn{^ z@$RwB2KAQ{d_PpXpeU|o6Q~+Uh&J?CEpU% z%7qAGlcmlK2r?c(bDnZCub+;NgL zO>6G=$#;5-Mjtk-o#M{k9Xo^a?(opI&1S8N=$#yhtS)72dl!;9vUaOj-n(t5U*7E> z+CE}dw~7yL8ofU(-x(=dbC+4mh>IV(;~9_qqWk#cKQ*iM>_jGJN%JhC?w0OOH>G>c zgMFR*M>=fv5!o4vc@mZ=D$Qilz}9WA=_`pFIV+N7-I~SK&P^4o&3BJ(d%9VE)S9ZR zH8@JJeVOUal{}PX~(DV3hKe4C{I1#E3Sb3S5TdC$q$#{D- zZOOEI95JNkh-6aw6O+&7Y;{;1&S1!?l-?9aurtw;s|nDZ@LO9z{Avs~MVjPvYuX*N z#%yiP9vh~DH|E{_vdNM5bab0X_v}7&XwT*~^`1t%Ro=Z&h($1aqTcpEI@TU*Z;xl% zjNy(@N2fW{lJT|6);4R*m3C(W9kFz6-?q-On9=HPb~aj?niFZ4QtsN?R96$T1{z&f z`oh(0DNjg^?cTv;PpW$$-s>9JKGMA}ZtM$nb@p5OyBlkQ%0Aaf{ouBq_<$=_pQ`g# zHrR}jhG0XzxxS^r+aPz@B9-y3O6et_WkRAR_!rscsF3)K_w`xxO0>&FwZIUfMJAi+vysL3a0Tv3E_fPFCel zcDO$dvAr2}>$34l%JEZ9pIIVTsHbM2buP_L{dWaoi7@&Q!}qv!bk3#PKS)Ij4COVI z6>ajC%3XUBN~EJb-5Kr(XZ$I*@fp~q{Ekfyyp-?yDtxua7kh24Y>g zdtZHZuh10>3^v5B-)mAYfdFH}Is{eyJgC~xwLauTP&JVas-`HY+BFqaMXM(0VY1aF zLEMFt#B6Ex zu}!c_h#2x!!<_@iHXgSS+wB)Ozi>7DmYij)keVjC+mBW;?xj*pM8Pb7=93@Y!evsTk+?tU4&SrW^s_0Ml+!oE zx=0Q5Cs`~zlv|y$_v^3QUR`ZR+?!tafIV3qM%+6T&xImaa$q1CN9fxX%B@N{a5zHW z&Rja&iNh1V+oEjM6B0X z=55GJQ&`2R#x3v;h~`XaA;MdgF^aP*Rf+#nnL|0OBSRMm0yxdGUul zL`3HB_v3NwZpn0tv~r;87)=x`qg5+cRW!H=lg-0VUe*&R9d(1${oJ@#Zay?!AsddH(fut(2F? zGKhY&_5%@-uxM01@wyNUwuM4wwLnbRBW}0+n`4#H`39;EOGWn#B(WYMvFe>$SJRNQUdq?M$6?M~pmF=YUs2q@ z^5qK`KDqoQz-V&fF|RwMJfwX^aD}`sr^V|HMOqd6@X~<26tHHm-)nJs;&B|Jenp6d zP$9ySr~Qd7ll(R?P!Sqn#6Li5;NS53PX)-a{)2TfF-h@bYRL(tzp_oVv+@iaunkb) zENPwSX!oHnpJq|TsgfXwDy|brnyNZd9jjBK%{{(kDjE&JRx^4!{GDB#Z>9dzZIZ|1 zcZS`@Xj2H(EP7D+fS9y}Jsx@KQe;VC>-(NwYKnT=5ePpZlI&H#x8L2PcrtZihn<1b zZMp+D6Bq)47V280@OW^JD^HcortZ#4eK2XNJUFFr`4E<456%Ebz2Zyu$Cm|f2wi>i z!fRTM-)*_+CvTbex9{oOF8}vM(}-uNwi%&cWYm}BbsMYhDl}{7ynU5=PDuXm;4gm} z`n^&8yUol^&xrzalVyR{6!o#7P9g67t^E9N{qWYY=eNoQ$h^6` zI=i~OT^>`rFX@cfhHf(Xf+2szl2F4W;6yl@W>CTz>Wq9YSuGO@OGEe?Su10iekL@m zE@7V&#zxkb@Z(8XTrFqEZg%UdY5z=>=kpj_%yEKPjihtdf)L zIFV%7cp@#yR&l>$=cYAg?buvB^j=s49TZ(Jj4`yqsG)A-5q1W3)Lt<(+uSynGDn*) zcwGT!#C=MeZ?ebRT^Wn|if%>eWxT(KXcBj_jZ2Kc?$A9E1jUOb0$kxmA_^#vQ-UiMLxKxcdLl@0d5cI+mhBuv$Lf+w^9549`H_-Sf{I}A(pFkCZ%nT2Dhs&)|mUartA(hso!tOG$*Xy zT=km|O1By6ni}hZO1E~;i9ok{kI)lr>O?}SRJ%s1So=1-BsCz(0XOVHu&J@(YWTSQ~iden(TMB zfP9o&9v`mVYuU%H6HK%we2Hba&QA={`i`bJ>;t zTx%Hp?dZ1!ZDh9o+wZUxe{2dpUtKG`Bc5FF8mOfCm&%ukHkY%x$qXn4bMzje=|oVB z4rj&|hlCH{c*Q5i<{M7TE;=zz2#TCJCk)RWe)O57tZfv>)Q!?Jj>9W%HP4@;ZWPD0 z-%9MT$=U2A&599`4Tfi-f{^=}o&7!g9ov(Ssn0?^ZOVl~)Qh4xfR-uRyd3rg?^pH( z^&=vMkb}^%#FTTv^x$A+J%z!r#?TkUWs!Sf=^Y|fbD}z8Q7rv;B4+|p`v%R1dr*dk z?atYwSX7mggp>Rz+CFAYGC+kwaA+=IkBpd37*tD6QMsfn2xDRjA0_9_(a+-eQ^Jg3 z;pEsHE5AccMmKv8@5BMZX2{KlFM70=EZ zPZMW@RVOIZfx)RKK?TkrsG7(p;{=MOzmQIA%MdF@t*OnhobaQ#{}# zL-_M{lTmS!l7LXSfl><01bGZUV8zu?dJdN@s-Z{$GK;8k#Ky!Iy#(Qt5`Wz#N^psi zzwQzUc&Pb*-6dw>60`oQOQ2lR-2ZKzn$fVS46dSG9Mn!u= zY)soaW%V*cXS%&pQQr_dt?5R2IdY>6`bxO&tUlfJ?#_fj)Gu(|YV9s*`5eLPXbPvy zuWmyXO_VKGo;)Q)k{v#~`TFf*Jc?4sEPVR~E>C0cB%ZeTBTvgy$B+~yj|3y1a_;)5 zrggO#@PWTT8;H4(bgM7e!Y^>z)ce?}3KIN%k4N#-|9nO&6WEHfQ@O2P6bUq!7!c(S z$K*DuE*NZM|D(Evp-^wHDG~`M;%4IUG}~NOpX_Pzc-+Y!6lyrmxb{``tES(m|0rP*>gn3k77T#UE5g?hyQK;g+!Ff2V7#pbSg*7J-1ffG((bRy_Ce{zL6l)>k@#?H14a0%f;GaMO*Mc zYMK0FF%wBAk}`76aB1b2QM%pliz?x0EEKoA3`+zpTPY?S5u|n&O}8v~`W7kDVeM>e z(Z1C1T}>F&{;4zXrJGJPy@BlzZ7{w+ z&$lPMFTFQcD{2K+p5TjnHknHAvo3F6+V$O^Ec#{Bars3E?n zhbU>l%_AvXvIohx*(EkXZP_iW^R;t?xG#ZnKk9t-98-HNmhLdCyU5k41c&HCNz2pn zfCC_@?flnFPAF8-4S+px8lPFBUZf(_z>o;Ki^x_-Mvwqv8Isk?eBh!^fa}0)wG-IE zXPp3iSbYR-Axn<=bgH*6T0&_2rnd5(t$U2UiSA6hoZcXW z?d={2ZiJ)lzIN+=Qveb;%Ko-pWgE=v%gWXVWo>yM7yp4;!Ty~fVL@9%$;-*A5@h2& zYyq5i3MyoHCoq-J=~eRlFTS|~)heWej&`eM=^0x*6=sAx!E_7;(iJA`9dOp}AjgFZSw1H2?iSotzHOCe%^(&p7u*ca z0^NQDkd5O{K{W=_nYrQT4%{ICjFinN{Xs;o)*F*cjtc(m;qCE(&TZT4cRESn3`B?+ zh!Bxb5EXf~9Cd|>g&o_(q$_D}lWT)p67~CN7N5=sQc(xGu?P@zy0DkP&^gOdtuf5U z=pHWu)w~$6{`_$@9|WKi5~Kd)jX`%Ne+-E!q{1G-TC3)-6&-Gm-D zQjVB>a2%5>!S|NWxVc(xsOfCPxt)FTJJV3U8bcA&A?q@t9QwoTXPH5yP6+3Xoi|xzO;6IroT*4 z-KtyYFUzc7Yo<6YTk8i--z&Ko1J!upcUD|`vw6;&H~sq8Z~o-e3oG8Z@Hg@Ya3MgvNQ0mx z1o80`iMQS|X(j@>rZe(y-qCYK3toTyH4aeEoxfcgU9)Dj@TNGbRY_~s1l}BFWjT>< zJS>%#@?diAa9Pxo3Gjui9Q}9RF@4bo(yy=pTY+lI zK8ec{9eeZ=>5D#y--3+ssCw`UZ&2Lw0-J6#67XUVW&r` z68a7m8y=!gFkXUW=r} z!2^hV62$r5hjfVZBC+_8&Q<24z<6xs%9VP0feVR^jhPmS4hE4vd|1b>tvz7!{aEU) zt*sSCMa`5mDze|dStn_whW-gbT{))RZ)moI1fbln%@VY$rrGl;HDRCrOTDT9EJir$ z+9F2Y=OP9qkX7H*+@Pq1v$MhmQ=id1|Nn2`x)PL^@cKZDS-lszkZ73IWcZz{yMJBLBQK;C1e5phRqCG0*APGje%d+TTkNL>Q<0Q1Obv=9E3t zVvJz_p;=JZkf)?LsecJQjWFy?ONu30Ch?g15S{Ls1YXx!Sx4G+ zXGSI|Qi&LB9)GhsQi)wtEnK0G7L0$Q!qF&%(hw#$o$@WFIZxHT(bqY?DZMO2W zvqvtX(j{lV5cFtvoyztzy}Uo=WP3N;+sgOP9_8AXatOMag>N(c88zSWg*#&M?Eae2 zXc*`#Ty_*`^R8zp>FgWA)U%^~{J0roa6ZBSr2UwcilKZmge2j1vA2sgJ&O{1k4e*H zWw2?1QBFW@6Q}CBGPJz0DO@)pxjeC0o6@UVpk-3m-r1%M{piq(kDfF_%rqFW#G-C@ zt5T;~gr9*6=5u(J8?}F2z0g);^tIqW2JM(d*fpKGOIZX~O+Y91s>mWR!Qw=*bP6ut z9lKX-7GUku&iZ+(*JzvOAhE6`h&pai3+G6qV%nKPHeeR~UAq;kGTGHfStnW(cEXFp z*0=$re~hvu@1HbeEL&sujI@*GG~>5v_B0y9u9_kt9xiu9Wq0zkbD&!QFMXS z>VY^clhois9NNVcCq(ByD>ikIJgNHSM^to3#?wI^!X>lk!LS&wp>7|b*o{`gLp`k8 z5uH0M<`LhHKBg?%yX-w(jQ6AuK)k0jP?{{;$>~~5*N9OvAdpU8D2Zt!wtWg@1d4Ue z6|1pv%{_&2g-1O_oHXR4aO46BnRnV6-}QHVeP@Fg<%JWk+E-J_f#d`s>mg*J?{O0x@}7yq3Fo2JvAr z8j6IW47pTYD*VrK>Do6A9%M+6gzM;CCLlnXovyWONfr*eFziO-AV;wNDMFfqeS+7> zeimcuvu`H(n^E)m&-wZrgzgEwZKwkr<0qhKJbx;PM?#^67=dir*6l^Ulq(SXEcwWL zT!3-H`aOH=N#6Z4nyG(Md{%1_R?#0IPj6;|{~UuS#GV7meb(uD05Y);3TREEh_iMv zlpC{q44GyZv-$#L7Lcac#aMu|4}iZ|T`LHoWiO+T0~%K#R`T}q;e!`Hb2MR4(J+~h zr{oPfnH?AWofnV+M=5$tX!2ah5=CJo27;E+T?u|#9*l5y{^X>79h7au2clMT=D5p4 z?|*bKK~L$=e4fqEVN(*w2b!~#mYv3Tf6~hF3RVtmgKX)bb&(c}tP&d5MKXZoIg|SA z$1J5QQ@_m92U#9a0KDn^#cKNW%bV(wd_F}8PkzSqr+G1s`M_dJypK=t1115&;GM+W z957I+^GL|nF6U`~*1JgW>O3rH`dmHZ)lef}(Hp4`F)hK{cp^J#_1?}-?vq$Bi37%6 zO$?M{dVd_726+J7#loxVNqsKO?2PPG#|>y$UtHVIb_$;j2eR_>_XZmjU z>ROk-)e-X=A78h>;0NX(Y$zyPC%e6Ej=0}w9U69{n2GeiszJ@IQLMi#_~|vhEN68) z4BVDLpw&|EsdRQIPp><;DBqmFcG1#xvZE-|HvaE-Uc0cBg~@Bw zK_a;RoYbRj@^yyWscJBx>TfSJUB}D_!exI=o;@EC8RQaLHk3Iv8bFuXJ6IA+`Bn+M~{jFN52LLXGy4oli+j#~ zSj^J1n7}k|D(8<%ZRxLIc#w8XH!xF)ioJo#i5exDC)D z?`j-fZCcK;Vow?ltr5B)N7mVOXw>v1V8T%5d{P`e1VKxPmvyc=WYYdc`IQcPXuwz4YQTVv>MMnY4o`=(-C=w~)E+5-J3{K53TR>Wq&<)IK-*Sr=to2)41`<8)=m=H&4BgCyg+(Rv5emly{|}p-mZpF zO{m##bvt}4r4n#lZj~cYY6d(b(w6W=jo!E) zQuBL8cItE%vTWZRjtLx>GnV8VMx5(T0BKaC9U#zIWe)apMc=<1245 zSGuaK^)i%XoFIeZj?tL0dmuTy+x&}#&tL6e3pGI@J2EZ)4D3!d2h$4?{e=2;u@cF% zL*|pOz4orGeJy9|(Udv6PZ29pe`NVMs>iHbRhg{mXjBFU1V_??d_QFQpjls8*5t7| z9P&W5(9x0X8|0hJqd5x}FV0`vS+ac_s*wtHy|x|0W-8@;{K%?hrM9hgb@D)!uzh>S zz60jh7C)QMR?b4g=FJiBKC0snZd|zVC7pn9fi#A+1-s<1uU@K2&>q4HlIyHIXkqb_Y%;c##vn zJ#sccE>udWLJoS}gIkC1DKrtOKYE9zDI73*E<^7 zLOBm35+v%eVxcV@AYKk3&dJ~IF(ALARvEO{9+ccHLFsk{Y#^mOOVnaTSKo{p3-z^2$M_9UyCn-!+mgRPOo zbTZA!fga0VL~;lW5A2b4N@_@3fnB{51u4>99gdg{h+ay*Ga+HJnwU)kBhSh_5*Do{ z-$josSUG5O!T{6P-Nc@hRNSBlHs4S%!*1_WAE7KZEcFQ_&zuRNdcZaUzW5>@<{(%U zMLBK}x7bT-s$_>r+TOK7dl~ z8RD(6)|fniv#RXZ657qYY721GyAUDH|TbATvpR*J>FN&Hvy#ju9L1N|B zpDzHOh~z~|N(uLd z9(EjGGs;3_pDLvFU)qll-qT4aw>)p!>MV`c^i~e~_IK+SAz|gJkZjZ*L$AWUMEByX@4@BjE2&lr1o!Wg~^q!4Y;geE>@U4 zj*vC!!GafxCfj>V+Ifti2ND^^EJj=31Pf$SCS{6Yf&ny+rHsYp$U}vp&iGi_s2(xX zXt;Cdm1jq?j_t|WFy$#Mz`ka5IjDZ)?GP1+;bgU~np4_+FdU5sASOJ#;h`t>%92Nx z=#?e4>kQ6TZz>WaV|fx0vI+GvvEhln@o>zjEs59ORczMo7i;5nX{)@6C2|?4J*nn9 zrqjB6#B@5|(`$ZJT)m-lM}?xTG(5)gyIit@_)>jTOmzH;2jTg7K4pTK*V(&v7`I<50Ipj1ntdK1Z9^5X6Nd3wb$H0li@i zCO%V;Udc1CBJ)hw9joUgRk*}kq)<*Fpe5vak?jhSA%krpWzM+ZvlzLBuVxH}2&rGH zbq|&Ud#p{+uk3;PBq(9?X^HfY^U zb%Xd&$>@C{`L59FwRfWw`k9C0FH%XSB?=Eh)lo4`7~d2r1NEDR{;uBspu9cQU%Sn$ zZ4mF6~@ z<8hK{q(W~`L#8q6Yj;@Iv0Z%d^uJ1(NPDKOvkmlRZ@l7&$%pzFUU$VRlaG~lE#Fx^ zoRoi|ZI-J0tEwu>?+%pj%&i)zsuG%;>s)n~#^y-erYty@oK^U19lua|TopPstzo->7f>gsyxg(z^uR3yX^a7T^x-F5YN87Lb9 zs}>?aQDaX}T@QW*+ZGz5TcuYS2aa&R%Jl{U-zI=#R^HGSN?R)oOh?QO{hy%<(TSf- zpnGTsPQmYSNY`xLAtqu3(}f_As#HjH3CIM|CHRHeH;?Abxb%!0V!R;F1|TA>)HT`y z?5f}}(7G*Si{@xqQlTQH51jzUgr{KgVb`Tpq)gmaN-(HEv{I7d;41@iB8U&Pm!*6+SsPjWbg;oFxP%%p-A68@a z%#omN!sGCe86F3qOqNADN!F;o@>1mrJyBQ99z$PC66(8{_H2DY4-ub;Jw0KEvpR>A z5TeuBLN_Q^Px4?rvfZ>EFr)>xQku{RzOgtyYi{-{vOZGWtp=NdwU%AQQ5LRX-m+i0bEINcwmlGxhuHJG0f#gGvh3&%eQ|pATlMpEq__ zv+C#Xskcbudxc~?+MYH)AwJ*t)4=mJ#@j_}6!~s>e3Q`CJQ(cg*s;Te7{<=}PVIak zQP%_@H1U=C#z1*jgK@{!j;6tut_(AbSZ0w~8(%hP&04cw=$5N*sLg7#N&E5)>9Kr_ z4^Vcn>oQY?9`38ZkznHzZ~V3=OG}?x&T);oTA>=0j%xp4_{K$CwG^yiDnO(PssM3| zqarVOvG65e*hswf#)W#l4Z7w<>VHexMfmR@)PE3OW6L~)QXxxCV~hsXR4Dv)Q8jC3 zox!f=sd;2_qdDBlCrju*)R!ccaOt`psaZ9f7O*XZh8q&x6i!6)11WHt9z=$G&7h$W zm_~SYejObwLXErZ^ktB^AbXxV%mgvEEW8N)!ss8EaWm3TUp7!b@ffARFC(#V#@ zi-${}eRgCE7C+Jf_zf?0@*RDT(4=nZI|i0B|Bfy{H!||y-w@y?Pa%&%nuN}}FAQA( z2#RpQUuq!vx}Ph;On@rvoXj&oKTz(BJSt|mGDGY~kTecO{Rvmw?eXQ!_m-geswd=~ z(9Sc3-N`^Cb^^80)GM{WmueneJ+^Yd8}vdUz5rjleGzBeqF!%6t<9KU32u}$lL0Dt zC^i0$c7+i3Bw8bp2aa?;<9x~(ZS{t|mJiSSPig(VjY|^CjNUe=#amPp1Wpq%pK_Uc zg)izP8PqM>dZ};4q2gmzkrvQaA`|L)CSI*v!)onyLqtNo7M07Ma6OrMXm11}_x^~n zKs}G|qPg?6d45mG8RrFL3o&13Ry!f^ysX+_+udZ?x)X37Tf}C$++eeLoi1f-xo{IV z;68E1$w$V6%35Semdozp#b%iCgG=uE=q1b8B`LYiSm`rtTUx}Z{zN{CvhYjJ5C~EW zb1IhIw)Lrsp=CqIpBlPtN5ydld;jxk7_yr_Vl6Y$Yc?y7EB5B>U)a52!@~LvvU)%F zr**Yg1)hOs(kzlEYV$eF4ahU-2qR^(!N3(Ukk;ioy8w}@mu_QXdhihmzc;~>`3%Ga za8_bkCY>ug3^3$J!|5M_lzEAOdPgWFi})Lnd$}SO?F@xt+MRa9F%jQuOw|S&?YZw^ z9j(X+%=bkd599(_iiM>D;fFE4r#O@mV&S;gWnKaPjaM%#NQf)S%rS8f>@V}#g29A8 zn8`TQB*grQNZfo(j6(&%FIO}P{i615b;X%2$|arwzG|K9q zT7$|E7V@vpSI-}g2SZ6uv|xflf?T|qwmyuq*wV1oDS9;ZC{Qo%q6? zCJIO!h&wWs!gIvz30uM*cf_nMZl@6?tpoB;G3eXyo9s?lgHE^IWp&!2XWN3(e8yIs zDWf`HOCpwvwbhj@0pntLGrZ8T<(2=;-JgftwD{EKfTV#x?ke%a^m=^pD6KJDshqP=(m3{=Lu~g$Sg%^&+SP zl4O*6!&>czwSoih$zg80NYDXM7d|6gm-_M2H!W|!{PNpx-|+I406gW~vhvvT&mW_I zD{r}F<;q(iH8S~6d%!7|IS8c<$f`!wO9m^0jm`K<%d zns>W@M&MYh{>g zMKy`l_DWxEo3YIYJpeORXCbJ6JQRn(O-ZI~N8?_j_Rqv7_)kMeFcZ$mUx)6D)9M8Q z_A3I4Yk0k8?NX5dl~kEfP7$wwaH6o=Pknsh7gAms8tfiSDC)V?S-Q>*dr*#()h;zS zc9r&Qa&Pn2)_S)Y*SJPDj9MmhVAC)cgS;s6su1|Vs;Mo5r|5C|m5p;zRdbrO+lLZD z(|@TJapMOkgOa4*jKOuOtoDKiE}TBcZlS}3iF^AHR= z>(YVp6B(}p@-3?J7_oM=nUP8i1S}|K9rDn_X|f)xxmR7eejWw1uCK9L6d`h=q}< zDq1z_8QW!hlf6Ueve%}nEfjA@JUZl7R_XSKo*$Ts)>%2YbIv%6!e*USa$YeA5fz2m zt>Zk|XQ~afTJ7C2_1$8_2RYiifC^IR|5t|1MU0h~bSFHSU^HQT`pu{RU5Gj}PU~|utW>>@Z>Qv3eYo!9Bo`+D4Lx&K1skxRIq3MI>@*Tm;B1~=Bd3x zl3iqUQCFQ&{gOp*vmueJJ&G(?3*K{96)CHdgu4P<{gL8N?_F~CaUb{D$DK>9nduWj zdLhgCB-aPxs?7D_`xD#02z`nnN#tK7&3ISn^vn;xp*bXL$Ob~CBThTaL#}-#K!Z5i z5|A%Xr`p?F6vuOSJ$!4@xb14GU_vA^uRMq_vbD|bu$t|0XR1|x$N9<)@ym?%V8WF` z`Sny9a(C)^SH7*CmtsJdd2mCh1Ob9ESQEMBW)*)~@xskRdB)$N%Q11r5#Z0dd4Js_ z<>M`&rHJsklX926E>&gO{?_Mw$kt!|MGy9E^%v6RN8Mo;s=?%5ez)5faKwDMzrH)_ zLlLHM?yrx=!l(-z&OM<1!{6rNw0YWEsbHT_DpLB^FF#r)@OwSF%M=TtP`Y_oEZFGw zqd}ouXf)+ay|e$TF39r6lSqIGV6* z8qTA#;bccc3JK^1F*|)(%w4k=?Cpd&%$0MX>b&v-$ixyD4{Q_SIy4a zlLYme2?3LfXP=SHxb*b}Cn*@t;snmq1=9C4NoaN^>$)uJ6^5>4PsXWyPnBF5B-EO7 z4&|GGeRwRVnn zjtO~0@v);F(X3r{p$l&)wvM9k#1SUPXbgU8HmN6f8I1O z5O@HG46r-lMyzedeyHpQ8te{cGG3={klKRLXd5WzxlKK;fqwHqe4wLSjznAWaBwY% z-RyDZ)@`$wmYTPuN_)1+QCE9wJZ4mD)LN;f1rOkix^s7I%B)^vUSln;*erWoZFu51 zAS1E3anESSk%!Gk8-BETRQAMeZ4mU(cC| zV-Qdi^ldD+Vz+f{)I6F#G_*&?M<@_xRI9WqDel6h6Fu9L!-3(JVdrq&b`MnITyA44 z^j%sV5l?PMZM>?+T;-~QmZ6tFc*(D%y_f0*=bvEO+VQJ66;lQ4%xF?CMIwWf|&e*EG1%Xv14tFc0HVCm3j~dl$AD3bt8ib*s zDHd;Scg3!IUNZ!~SK!29aTmN=95(Uj$-u-4TJQlb{g@J%2msCFg>_lla8RD1+y=vq zI2BCj(I)r9z9icXzAV|evri9*Va!$VNk2Nx$BKxVvsLPXQ`kji6;(Erz(s1YFKEc75epR>Xa%uIkY z2^~&oRA`S(PD|3w6*ufE-zW3DBMTa%${qWQcWl47Z`aQKP%PtBUXK+?#p|%6p0-}#(z@*gi=890$_a8n7XOhP%tUY2QY`N`X$-7H6Mz76ioX$ zVrHn;#Xnrlx7d(+)(~;1=TxNMV4&9>#*#(<1@~2J&+&DuRaFVyJBuH+4X2i1?x4 zM>iSb2_X`0MQLUH+3NFERhjB~41l1KJM9mnE*5HZyIiIW3!77%Ty7R!ak%JIB+Jh< zcCi}Qp=|?{VQBODyuMa<#20s(nhaA+>JB9T1h2OZU!XB<;V_o+9@bNz3P$PC{!8L@ z?7CXTitN?_N_Z){fX#y*Sji z)6rKmvL$|B^E#issRhV1zIgmjf?jx;wmqPpua*h*$0Y3rZBKSP{$G7N)^1SuaDWTj zT0R$D@XymFkS_sccT{X|3V9szh8qO8AMebveT~7^;g2Te{VzkA*&BCRwy~x6bChZx z!Q#d=ezPgSO;~L76reh54&tyg|0XYtmK~dNg2*E?kA>5r`}lf(5K*yrY2vU-xF1s` znr1r1Vvq}bQQWpoQ1^nzfqIMjN!kfrkOKvOpdQG5L_H=?-Cd|&D}DcG*~AdTZvE#K z*f0PuPhiijIU@n3ZO}HbaO3Clhi;tG+|7U805|3n_ z`b?rsANChsCJBz}CwOCQD1BN;@iv4M^Iu0fMcyuo6>?RlGuvgPhRrC?^Qlwm<4SA1 zrG_K`um2g*!I{~&$8X1KgoPq^3=ImIO7TrY*?frZ4+W*C=4$!7P^4ujo$>O`uTBpKQ0&ljT#7^Qpb~z2g4l;C|Pr zcW2c=d2D^Wq_(-#*aYSK4jpjR9%%>Io%!e>bt7712SHf7Rr@!=+L+kdYk`z*Z(>Ip z`i&>Tun&tR@hj`EyKx5Ra2VgZ z`s%B7J_mpK#`oXXqrdas*8?GRll>^ik`>kloEgRL+dJervq_tqG`I=jjJo$7vU)9K z=YC)yWx}AcscT==sAY8Dz@9E89K^O_QNQt|cXR$5lxJ2YCMxY|7#U&e^q z;4Kz{Oc0Yu2|{MT63#?3@pj|r(BYwDmScx2)(k0e)anX18zK51v=G+_AhSxAYa2ej z94T}#!%q~vbPdY=1Sw*Hf)hKWfnDkS2hG}qp?L&_LfjFT1#7sjI-u+@1V-n(B1(Bv z!>0I#SVe!$kmo_iq2b7w@gYN`c(nAP#89-qFE$h#cI>R}GHRYH5t#WXG?1iUKJppf z5rQ!J+^Hwz#_&h#JPvdAhIUL(A>@NSNNIEehuFmR5PZqG~i3iAyU4=t4F&n!lmv(q=tl=>j*2_Hy;<;P*U1sDS<+ydj49};Y$P(A@%a7O)Th3FXAKuZ#CfK5eSY< zdRe=;MqGB!s$~e%@+>DIzmVlTB_6-$$TE2XOz~pM+~`2Df+AoQk(gl~7W)IRFnR-W zLGdY()rCV+e*ez0je6YIeAV#YuGflA&ow2huJyAU7ENSRS` zoH1#$!G4M`>WTa!#AFC~%q9YXk;wz(-r@u~4{Qrfke8_|v*TQ{%4qQXjoW$p?$h6s z=FNkCmX(!6o`2sT?uX|}@4t@|(yT`D`&`*` z9u;f0W|X}p^X5$@7s*)Tp;j^kvqF~)PNv7HDNRjQAF(wSXbMY+$#(b-DB)g&Bmg-p za>_uZ-4#2>zL9H<9sL9?Bq@073`%T=bOO`0ksSc^WKV`rhMb&nGJGnIrDG?fSP5VH z>`d+88)&22jzPsCZ%7NZnt$-J5Df!oYEE(F5M3NC@fp@06t<5u_lw;CH%u{~o!tPd zsZZ4YRW%9fgCG72(7~{E5^F|HT3UzaCB(KsTbsGAcgoB|PeJAEPuib!JiT_Gdc9QN zE%?wCxM9&m*ibP9U0Fb7p?y!dEcWE+hcE;G&ijAAgHK-$h0#}<3ZA&mvUtVDl@&^X z=dQv<<{O{9?Il?qHc-O!iTe*1hS|>gspjl^M1EOh*ieo#xhU|cgbWWP_6&`JgR*v& zk}^<~m7=a}x_sW7YKt|@f99j#4?A=E`HvN-*u~W(M6=^ z5b%b-`Fj&DO-mPmpChq{mU+jNSGcTI%I?iVG}9UGv`~^tMs41LjAD9~|$M zW8p|VVeV*3HhbjT%2zMD$$aO)z5BPw>uGJI#S=7cp0t@1skj_dULc1+LDrs7IeF7L z=Mk~5u48MY%s6iFj@LX;I%M3>JnGN;LN&v!(){@+3dG<44#5%>OY!~gn-M4=E7ThLMV&ovskM&6i&Z^Ft{mZw$`t&J2zqIHew$tz0t0LdVhI^q0%jrGJr^8mgC8y7q?s`~Xa&NwQ>yB)gg~hTEhh!Q*B;xPK zj!qhT08WPBVg?n`_~~rYwG_C=Zrr-#$1jj|3Floqq8*S{A5yPZuRpXJwcxI2fP)fP z036Ypjj&}Aug9R@B%Gcl&V>%pC&lz85P~GTijxCoMhrjs8yZG4Ly(^q(p#t9FRkxi zUoC*$52&H~tq-(siB6~29iiOjFiH{fNtd>oP(X;&w_Jwz=S@#hS}i_2|MdBKkA9$? zFCADbY-5dvs}YGPX^049pWp~Ff3Gm8*N#gyeZo)3l-AWI&jV^w0PcDElN$_qlY;s> z6Jb)c*G27I^;{u5eZVTVH59_0pF-|jWjN|6dH}(MqV;z>l&hvK`(GLEPL8if;9&fL zqe_h-^9p}gsGS!ma3D#mEu5DIV^Dakk{?9XxAFt-dHTCbc_j5I}e2| zjd1zShDGJi&fb4Y-j1ev3C%>FCd&pzKOiiQgCWJ_(?DSGWEbc#BEXGv4Iii=(9fbx z{1s_#5pC)mHZqq!FGK=}0gA9!(IQB&>({_W;&G1?k!iOT+16e&~VP|HzgTXDeC3K219%n@~j z)6TBi^w!MYei+S-_9km{lPBR%wWW-^g4_FcS-R2Bp>Rxzg%iMeuWNNKDg=i*6mcou zW>=+u+mN@fIaRl3VBkP#+=y`yiCPXCl5osg6_56Jm(ADC3(=NI{la6w1nSCqxU}iP zA_8iAmb4a}LXNZmQ<199>3lsX=<0mEn718Rz%K(ab8seh?x2{6q+)Jm>2YLjU`ugTu_!PAZUvPd z22aCgrt?+V77iyFfj>HwA+btO4DK;j3*lpl@BD9W4ZG^BG~T1mdQ>EZQTd1JMG`FbR;AioU+<|hqA;A> zVWC_nM1=xM;^4^0D4^VMaxJtJIKU$GE1l{&lHKKWw8}R*?^xmbq0!Oebm1(r0op|J z0F>0PUVQQGq>*{_?7florS~S|gaEyL0&bMSec#$L?b* zW49PxZ81+Qd)ynhK6h>QID~WKY~A^-dQd{)B3Fx2b=}i}beDjNJ8fZ0JmSVju8MfM z;0n?T>hlLfEsC{sX<*>OyV2MSAFYS9U z(Xe#8g37>kO9R$Ufr`eUE*P#DRO02X3c=M9amOv;P+KUdq`RIDRN?9^QDh9mxIjq3 zrJloJPNdqD_BKb#hT(u4hWx$|*FY`Aw3z$BefNHFfzWR44W!fU=|Hco-MA1pCet?U zPkEBc^5vU%KlP*#wcA5BOYx>n#jc<;=vLOQS$9CsCNy?7 zy}A`b0e>t&9zqSf)f!=wuD`vw>Vs0V}qm15%-3i-fVrNli*|* zAd(fRerlZ%_J>jW=cxmxzEhw5I1tgvS_~V?VLec!1Coph7{h&r@yUVlu@hBA*fIeR zfPs85kC}ZSvWOW1r_4;4D^mD~jn%!BbiDK)+MIAC=Dck?SEl)+QW9sHaPfM zu1FTd0p2}qmIdv|ba!^f)xX;qp>vMH0o$e&6@YEuEnZmv{oKUsJ zMAfoE2oY0(~EWd zPzy?ar`-p@Wylu~#*Lvw8^R-rRyaDSN&(DeI1x^ILyrHCy!QaF;ylxavk5cj*l{-5 zU4}^K>^FlGCov{C#ei+>0B%3V*aq8R8`C7ZB#L@HI=$=kuHKM95*;Kkm}1xKliNQAwbWHHX{U3>}_!M;q*ha00zNobrV1iHdMpLusJQUE!$IpWcd-Y#y8x z@+5FlW=C|#cEfhp4$BVF6URxRL?qz}+x3lwvBDxlk+ZPAkgbVRs9H{4`Pov;*3r== z`eSWj)i_kt1J%k<`7DJqvuiYq7i*P!qw!)avvU>+J)IRLB^C6iv!|!Cvq!q1Y=w_A z!0&mzbz^`i_l*<$2?-j{JdBjDDa^e z^mDNaP|ll#l3UoDSX<}|t(N~JL^Gi#UyEn&mj3n8MaiX0lZ&G3`?u`%wD_BXnVA0A zlS`L!W~fxx`qq0kZE>x)EjqUJ#pK@Dj{fl8K(nvOnb99V#wusqss|c-4dkdooHs7V zxgR)?cEJ*@l2nwHu@p=KpsLHZfhl!5BIlPeL!(T0lb~F$TtAdYxqL1X3BmX6EouZk z6fLe((DlF1Z?l)TLh-e{rqnKdUkd{u@^DFQJ=lm@xM9kqY)MAe_{W4q73y&E3Fm~F zm_XBF2M|@P)flY1OX{Qw5*GTPiX2ueLxj*kujRIF8*c$Fs`166!9 zbUpf#JcU&{Sm~N{f1-$y{7vZ@-Duuddx3n!PWN$1lg{W?TVdK>^ypiSr{IK zBRiA_+>7d`T>3)y@E0bN7fNd5;FP-L74QsKZ=UOi;QP>*xb#}=vwgb8DMmUXZ-`5G z#Cz=h);)zg)`cF9KDjjdaCqJJ!oAjhhzWOQhVm}O4JcnZC~Pk8>g(&GKjoV@mzQr= zeOT07T>BxzFn{~QF#=1fl9M_v{-f}|?esm<4bvaEXQoY*e@z4N5AtbYb-ossJD8u7 zvH?ttG)_aaEv2t+Yir|@$%YmihG}hs)uxwsOtM)UYLhm7TQxqJ4UpX=avv=Xsigkk zpq6Y~J!r+z01cy-{0X7D4Fqa*vU>2~Y7H|qcrXXIX@RGiti#^w>YPXAB&t{G{@}jA z7gevT-d~@8P%WR!&0noPL9SEz;+3V$cqM%7zcQ90X#wDVYWftVx>RGxoNL5?k%=6Q z;2~c{@EH``T>EWC`gui7;nl!8bf2@pw~&V`<&mhXmPyp&eJU&!;_KPD47ydUEKTW~ zDV*v%dZ-8C^KdL~Xs$`tJH$r|*FJQw;okiZJzpp`I$D#>hPWq&qTW?Kn~$C{02444 zJNxL|xsN`YaSlPU4<_7x|Eur5`zrmp|MuJOzyEd?=Xy#W5K7`@-GM$md$Se(wfm14 zl8%HefI`aFsrV{iFeulu*Szlh@8vIg#e^$vhag+e^eZE0LuzRnMd(@^!TnFswDVVs zHlRh+Jo+ch)D#(HGx_leqf@qWwuABC>f~!CfD?R>NLzUbjuMx*aYj;1_PY*Q)ngeHM$s zrLzQ}2`7fE5nId=a{v_W*1J<_U!yUZ2!s+6*7`7D`1mgjD*&r{+^~-K_#t#4`aDc6 z6#sbqdY{ML0Pn#S2)iW+1xKJ)8S#OjOiwIjF+)^`+Ot4RJP2*M&)PRHE(I`%U?Wl? z@7-bTt?2~BGr+4A04hwsqBF+{sJ{#UF{po8S!HW+YD+kG0Om9xRL+=PDniBs&=c_U z`K3bL7H_e&q6RqDfKDwkP)h|WDst3n0j<8EyR4?tTI}7DTgWHSJah#t`lH;DJNeL- zRB>x%S(#Pi}aiJWcr8C_d+L61Hrz?=JAmSbIexfoR$t{iWjk4^R6;jgr z>#q!@t^erCklwoM5#3bJ$zDU+2lZ-o8)9jg5fB2D-k5a7Va+3y0~kGo(WPZ)u1`+^ zmPf9~#6fvtK0h*nt<+G&%l>c@)sT>hv z2_G>1O1=yvVAP5N5Jh)OPG$`CzEZb*18B2+^)Y*l3J+r)Dz_E`MohfGC>Ckm6em+0 zj{tsP+UlrNWdw6S{=7U*Q0cioJ)IYuP!PL%Nw>SCe`8QA4V2egEA{n`R9&+%9t%Z7 zh>XP|aUKZ<&)r!K`Av{xro&W(?`X(XY&EX?nZWWfr@I+!xMmOJZpl8gS5P8))dqgMv3?G zXn9dh6*loRaPL@fMvd8Lnd1`bwJV??pe4Md3-X63qo%xNCxvU(B2aqZCtngMuz!iY z)moF|b@@R3Jj&a#i_uFn{IB-%AAbS#kR#i4=Vo$v$CoLgwTpuIFohC25IUm7TDeia zk(0kLqCCmZJg2pe=2@tRv8N`L4=v(1LqT9%w?1{&zMDsNwOM zjHdcvxL$hu+#Sr&~RdmFaLNfL;V22rFZ&YA=_5{%0ZF z9BK+=^sj9^de5y`s8y?kD%0LS`jgjoive@U6t2@R-CVHbK|{76?S}==F6|Q!D&GQ+ zG?8UL|N2nJ-hpnhCXy&=Fq-P@mF0%z`_>_1zVAqvy~ETjHY9plBho-w$ND_2Dr2z# zfl8|KC08zA=9Lg0VGbDu zs1wX0yh70d*CJh+ORAPs6LM@MXq8PJz}1n*jH!)+%%5BxC7;D&1he!%D`%3=P8b($ z|HR@b^>zRACaPosG0p!(DvA702D>AFbM~me`Kcc5LTPZ#w!=>aL(Y?m}EC7>)ZA=69B!xo@vt+4AvRVSfLzSFCUNP>N^w zIZ(eCuxDl+oA=tfJ=IT}PlWWd-rcfQtAfYCAeAi@Q+Fv95n1S%{wisWV995dkAqNs zS^}B|26aAWY%7qHbB7&CPgvixXYZ@;8U{_B#f49-x~)Qdui}YAg~no2MgHx3@9)_l zp=!zI_UNtl(y9W(^8IU%>}*drAhf;n$o~CDc9phU6R^dO36%p|PMtQSf~ZLn+nvum z8Ty*d>+oWx-gXnhDWEcp#G$H%DcJ3FNdt?}y_=#@uu`TIP(!l=jWzJ%mB-1Sn-KcT zGsoLwAnpjdtcLkp7FQNQ+Q1RAvHTdaiBH2;hP8Zkhz?sJuZnSW=`Oeh7m^n-Bbm%n zR7GAgW5X%|97Ji6la+aV)aQyg!I94(KP*`SuagQifGr|p z6l?1+94Owop2`4eq$D~7`S1VuTltG=miI6lt#*giFWqFnea^Rx_dl}h_(o}f8bqy6 zVWwLatOY|L1#$a@gRigonek%b1m*9)b+htCi)8U9tr=q~5l1fNcZqj@`bXodFBCkv z8!pSJrH4E<8KQueW`m3ybT8%Kd*DuE_1A@DBA!ep95&IR>+&>0^DSog)Wh5JIzlKg zj=OA$8l$P)QBl?E*k_iG*JesK8yc5#1VFkQ;%iF0))c5+RLR$HyX0jWBVICojY($P&$kCQen=cegS9NKp* zA*F)xSPCpuRg#SExa2bJUb2w}6?3PGh$ zRXYuz`UgV7l|bw)y=q=&hH*uH^_I;NxSu*>z52$mEn_l5f!ywsEUV1(W*Anq-lYI4_3TLst9@YO%#zZ2T2ukTgnKS1M zPgf6a=@T1$ot|E&zR{C`s-aS##I6*Mp?7$l4AZahRx3t`bjx%E*FDHNDPPecmzZ#f zKc5bud&-kC%3pz^csLQ4e*SZa*MS1rAb&-N9rn059a~uHu~F$@)p+)}e&y3ESE87J zc8eHqF2-E0xv!$OtsFPb)(_> zb2C2r!#i)DPl>^n>P($YZ>gztl^Yj4d3?Al+L3OR5{Y+V5?~b)=hRa12nKh z*#eSfO109cA3^J~JJHR-*+D)uyA|a-!0Dk{OzOQx57DkLdI%&b3Q0|oUW#mERJ)H| zhsGI;qlj`pP+Zub54IcpOAjf5jBsp;02u=AM~lCN2r4rIs0W;dKY@d=hA0Ufo}EEK z<3y<)7L8@DF5Q$0Mb8T3SQLoSoVAmB*-Pz3TpegtBnz({OEPSYY)zJlfB1boo^D7u zb5E^!?KRGVmSvL(5oOX$1eb*-BNpyT>u$Zx;jsAavE0Q+rcL7>+yA5WXN}~4l1GlO z^SE*q;xTG_d>}2}PLl{)g@yIW&(Uq%v1KjPaOz2@lDwdDvCeY-#0Z1cQQC^;IYirpy2aJGHM@`vQl*3WW!o?b0 zJcf9J7UBvl^iSRo*sRFNqmR;eaU-0(v({4&%{5eeYFxGAbA?>GH@XArAYZuk*UIOT zu)hCYxNZLF_uf49%31JF=#==-@BJv&kWGMi+2h2NlV5fzFd9i(fbWnztv|Gz2=B1?bHYOR%>@M(yk9R z2b-G>=O29MmR_+cT4|~&UCGc4AUbrW*~Nl}(i{aq5=)r#2~n zm%jO@bAD@i)&5H7;e!wz>Z!)6UFWmeinipLmN8L^PuDWD;dae9cWwrFRwroxBF}Qk z7V1KGVF@fd_cK1zzAfHk#Ox7^`Ta3To~lJcE{jII!&}>2om~bsm+)sOyq-gy1mq(o zv47>yK_9Op)ZWx#Y#U3w*YK;>6s`0~OWgWJQFn}0n$I7s2j_tO;HF?d>OO+ z%q#WcA&;1i!O}e`HY+ZH{`{EYGo}8;XA$J5?4L%ONb`!g1fkum63D1H2-HxgsEYQ$ zZc;fL72AmyC#rhoIfvInD$U;(9B{47ePZBW#9=@O^63EMFo5X5ZH-EqLPjym^@O zrL8fG&+2nngO&NG2v%PD@RoSRPKF8umr76pT)c&XFjbxv5}z`T*roq?NV$J7Rn3)Nog17E5}X`u2efOZvCW$MhR(lUTj6|}4B z&uXC!XjhR>kQd1h{trCZm2Zr~8D^MJW`(RP3L}!GL~A2~Y*|oGx*&XpCV89P zpb#TgRr+k|0+@BWk1x$1lyiu&H zb@0TFv}gPFJ>r{uCKFA@r8j=VMdP7l!tgvM9z3D+PVDd=15j@E&MK zN$$g7B8+7Adc>V5&6tpVQF7Ip1&F5{fl z+<)g>2xYU&YI8cfEStmG02;b{XUDc3mcwXlXN?*8ME?;v1F` z`zuc!e>kOAdO!XLR&8_%$e{=z&W~V(uWnhly;xN4;z98?@yf$a;;==_!Bl_b=!-8N z1=TQB#JdqHV9~xibJgtU;$rS3!2FSz7etTCw&%R5138188HK|aSAbcCK%V2_ zpbYSpAe0--;c;-#gz_%3zSMnEv{=DU7#mKM{T1krGrq&3;kphJ-V^GxHz>0ICk3R%e8o+0wkBZB!+sd{qs1%3tM& z@;SEk(5lPuU4VmWbw~2+Q#F>EuhPk9=Fv&=SDD%O2f0nywd;CFH7+L;SayKh1rlfGoFAf~& zEw%xa%rMm&SS^|C-vkD4`A+3dc0~WCE05?c#u5J_$Ho%Hwq!kmZnK4D?b`B%}t20Z|CJoH=1{grrF< z%bJ--;Vq12au-dl zmV=#`Y^lW$kb?wIvVi$`;wJhSN%H29rOTEz{+ZSQ5TX=lET>4cW$~O-_<|?6dK+WX zypBcyGkf!Gf32l%Mwx=5%C}cCa5M$<3P7XBTc_REpi)DYuw;0 zXy?zo1a9ICcDly}<_-pLr_;f}z(iG}Y>vBw7Ou_8W`6%#ZX20zf8(uKw0pE| zGCW~6r(F*p7hrFnv9^UnO-sOlwxJKC8WSYnLN?0GLBXpl-NuE~n94^pg;L#$r`a7T z#xo3j!f06|kmEjsS^$R};0c~p$LuaZ=O@MNZ08>{E+k1EjqJnaQ`Vb|XLApL>SF;LYB;E@H94mx^ z<(xISJ9P3Bib*(gMpN0IcP3jFjhGth+)h04#N&kE#LwDqmXeiP;$bT7;StQCofkt9keFN#nuHEnWk(+V zROG9V2FmG|MgoywSWNXFO*o(N>@3+{7+x1Cs<0O6 zE$*ZxO+gw8S|Lh@!TAAoel_T%{8g)YvsiV6t0ZLrNp2s;LlyEDZ>nI+Jc~_Y@?nT2 z7Q0j@C(=|S(dL=*O(Uo^q4|%L%@*+eMeSQ*tAeD-X*Jatl+)U*&mwEt;v96e4<;x) z-<{-|VyUJUgB%>jP{7psf!Yk%&6;Cm^dIt`&uPEG27oRkkAv91xcRX9g4&#{g(K+& z$0wRu(o-GyT4WBZn7nv0hBjHTQmxKxanw~Cs^hg8i&&?Q8XDj*bDE*dPPSXCy~Ugs zThzs`Qn_Z-B5P@avumoal_1``l9~=`*D#O^bk>wLNyTZ9yM|3%pu?|LL>CIsbaP<% zu;KU@yf^vf5~ehFggN0N<~phYpV`ScaOh|0AUZ}A|Ik5BaZ~32W>t9oI73>El3ce_ zTBCDD+%d7gvWS;|Fe0o`x8BMw#R`E2`gQ1BG3kH~^q)@Ao(ECG&I-O3WfDuG95|oc zcKe#OISZLs+W!3zON(TDB$n3Ut7*xKrJ;NbVrkz{#nQHA#nNh9E16iD3^|D_a77AP zc30Vo;)Tl)NQ@=+vTg8ysr(4EYyb#k&p^l;QN-+T*}bqRCS7IQ)$a4@j-%-^jjrwD zA5|vE*EKvUPvCx|Oc3PH^Q(TrH91X*I^(VUbIJtnFGZmBgE+MOpbU}dO-czAqm>7B zGPZGd%2DAtoOvr>XR@1|(yCiHTtMr&G=qSfP3}i1UCWUv{TQ4SDDTrCES<7Wh})6i zG%8=!A_GkF5c8ykA_qA1NiB2ojep~O%6^F4Q1qErDT#ToY6cI{y$Z6ww7^jZY`W}G zo!SzQh>=*?NzbC5q7Lo?wE%}$zgRs8Zp^@axG}2-!I)mG+$U7k*VVY;tm{TKAu&x> zN6gLbhId#k8c{cik2jxWi#HXejr~GWlx`vv(w_}8L~UzlfHnpd={ zR&qpaAzM%{Puiq5oAnm} zdmgOIZ|0XxVE-&RDsA|Moj@BdR*m~yR23~& z7fSpnFIFvrT;;ZT!pRwk`>S6N%e~q`E}Z0Fy6R-sLMP$)SN@I=Xk~3@v zh3|^u#~N1jsz2-N%S)XlM%J6H6l9Y+_`V(SOs{mZc(~zYuio6d!_mj$$60%iSI!R! z0ls%zs-;az#88Xx)YrCcv-TR*O>t~WWH$x)1M=6nP~6vK3Ku7G{-DB>7HCN>8eSN- z`LI@Kk-1S1qEA-E-SVkWQX_Hp)*y}{vCbn9|P*eC!0-Ybp3BBS7k zMJyiEv>q4yK>W8?TR^b_zBxNNZQ5+xToJ3|n-!y^Dx(Z4@)(ol=(Yj)2+%2#6O-A3 zNpxT{XV?&RA!+TJ#(GU!yQPUj&0|p){I*lq*oe|p1Elxp#^PMKSrm~TAEB1yn?Rn4 zZ74GtUC1f4qQJ69FuU;Ljab0aZcC!xsF+Du$)X7>q3V+fE8!tfqQY)Z!b&iv*u%)v zbYYN>M#OyiOPtb*b^nSR$!4&~T=qap+ebq0yBw-Fq6wp%$0y=0M@Z_uorAGR^YK-l zW|aaqjOk+v<0&TaH2NIVb*qRj!#nN?vH^OCzl^^A=r*Mq@83Br7dLb+;FK12*UKiW z`SbtujfUsX+^@1z^$}QdEvg-F2Qi?U%PMq{3|E7)2Cm%?-H*^IV>N} zIiuVxusIH^6XrNpJ`4Y)ghtQ^>a|zzDm*9_6>(NMk8MjG+xB0(Ce6I# zyC=JRNe$=mq2R{gh`QpUTn&}YXguNzgATW(RlASYKb7N5i06`EAajw&`l5VLo!Ps` z(>+M@5addqJehUKbB8DZ^AvqJ8ozRYk}$4s+b( z^!QxHnH#t|@T=Auo*awzoY3uWDp2mawFPMwq)u{C{%nm|(_a10YrEW?jgc+}Zl$-T zaZQ7gy){_AT`sLrRpnXu#_EUCUUn*zB2rmvN5}e`=y;PaT!4)5H7w+L*>0K&*zW&s zOJ8*+c$Tg{d|?4kRc2QVRhkpn-t4{q|Mb4B*C8HEK_enSqv{0d&bx)h%687|Bejqq zpG?G(L20*q^PxQMdgeB&e&;9lL#T>bgJMynxUIgYVpoo(tt?jMxP4=JSm1cqMeq6zB=uAtgvZI z_lb~Y(A~1C%(u(evCG}i9B3|&wzP($sfMt>#noKckU~+9ZE& z@A3mn6)uooAFteZB(uJ8?HwI~+F;GGXl;RhV6$Lz0Ph*6Ke#1s%i`Y%!ekkcfc;V{ z3bN!CS{_~AtGF2Y3B^7C6-7zA{-K9od6waO)8RMB34m{T-Jy-t7fq6#drU{$Nx?!=?pRz5RiG*|DS%LiI@k5K{ zf#<-67(|ksN4^I!n`{)CqCZK*g($gRcutr$XZEydKb`%-hd+JmgAeAs^=%-+Cy=8= zk)rWb+!w!d@oU1?#!ZPL$n`+d&*%ZsnAcelDQGBgdt>f|2X&5tBG)GS*7{tErWhZY zUUzH!R((T*KVaOqb#Lt+3nQ$N;wij+20Ekxzi0_tqSh#sMQJ%gF;)l?f`JCV;f=zd zHT+~JBYf}&eL-joLRk>35Ehr!W%1w#oDws~0P|I4N%yArw(Q$Z*K9B*epmM1lW*d_ z4Su6iqrf4rZr`@8wY{sewW_qVrm8}cZ=6(7!?tyHsoTmK_OoYLP}a%oI5-0gRVU9< zW^v86+Z&o&2F_|7i@I}bW?M68l-M1Vyxnk`cfu@NX5REXX*_*rg)<{ddQ3OUeU^iA)c^oy8 z{J($7h>fTa3}?a z5ChonGp^XMVa4*j>z;o?iaSaAK`(DZ1y-9WR!8nNI=;T^fccpF{fvhtu0i)0SYhz0O)y>tFA*)#ju(CQRl^YjwG^Douki;14+Kofe1nK*@SytHdg0OK&|tMk@5t<~0AZ)L1T-?Z+KX=i&Z zOi{CdHvlPst~JNZ`@06a8c#I85lT5zpfn0uoL&oSXCqh}+S_b38L6Uqn|Zr&`?gGH zvy^FVOST8}J*J16R~c75R99@0mIee$#8cutn@C4cWD>~}5hovU`fb?0bq}Bn!=MaM zH;x?$LALw&I_ZrzGCDL!ry!17r zeFfudR!MKJnK~7moY$P63KaY`=g-sMQ_m~cph4lykRaZ^z2>q$QE?~^uB^|zcb@^( z#&d*q>oeV(k-e53T=(Y8`gMkBvu96Z`JlfNM59{wo13|go$399+G3c$)>2t0%C`V8 z{tEv~=-z)UToiy*Mv*6qej3bi$KjPZWd-&5D>VXx!-I|8yTn5)fmEh(LJ1A9QYz2M zcM603l&ZOF)LZ?;RvDojnp*BffDqIaB6*}@r2gO6q@}v^H*uZ2G6xQ6O}c80xuQUn zzo&c;q?^j?@+4trA-82^{o?eZ=9#bFKT`LiQCg zWzlngqoe&#G%58e>WS24B>BXI`yP4ZzWZKyql7kH>JvR@c7RihfLRP36CC4?Ln!-% zR%i>Bkl6ro%|;<5CR3suX4NNJu$3XHGzb}zM`WDJCq`6wAOO&p8LvnzGLRsm4aC@j zv=C)iF`f6l3tmc*t7D%?SwH-x>wT~an3xipP!vl6)=q)LfH0$D)DAwgir|MKnV zS!a&jZ4MDv;Fk0?l*OnVpwuw(bnL?+^+6vO`UFG#&}Gj-@@bSu6hA|Lg=YAsi}|Sk zB#y-GTXU3WXsO1>JjOrs)MY@J=@+MGK}Vc&=?iPHC>m(9)uzoyk`yUa-3V|}2X%;? z-Nw(PI-`6$f8ud23AI|aQE$-!C?l7tDQRU6AR)BEf15w~1eegE{{zjFMJ#VYji0*E z{rcA=w+6xqmCap0XD-m7>a*Di6yP|#A_t_^(NO~gV311;2?oibV*CCHZ1kwOY2-&y z3#Gzo@Y5_|?whzOTYUj9h}(a4Rlzsf55c#MjAVhk`1c@LAiRMde6e5Z+e~Z>cvh^- zxxb!7x^NJY(^hoW=K5cKUsWB=m7yZ19qH%kwz$T}_bYb@zr+!wT$0<=1RWUl>goq$ z)n4;K?5*iQxD_|Fws2WC<@A{_YdUH5!YczH? zb+o&r$}^9joY$eJvVls2U#Auu{6SeLn3k_!zucrZdu*0^Lj^boqvDy4lP5dQ=-Z>F zj!L5+v22?e6@#}ag3xG7*GI&KZL6Mp)$r<}=U!?P8zW-{2h)omoHf-j^@p>5UMzOF zI+{8eaf9XJBH`ofboFMNIV4W)xbNJb41ap<-1!bM6Ux}?4MUTZZ?GVaD1U=*#KpW) z4RNQo>dhfD_A7N0a6moQl92dz>kog}`i?#m!s=mEZs09`OjvZ2i>Roppb!ZohZwD& zr`#ngNxBql3IM~zE4gt#`(+51lr13|zqr%W5XmURPEAlgD3U)w9j7V@aQqV<$wJox zUTr)ipHkIVY@^Ax7Ud$!#HpOk;WV4U`Kv)F7#b50ip9E&Gh>S*J$b$kX!$y8ZjUmg z77h(!nnL#W%>k7Fl!|Uiisl%fH9qpCS%gi*fWYg%!1h8=xQJsMid^bMqo8turqz`Xc~@^3=3i}Pd}y-mi(#!xsTL8rn` z%AwwRt4Hsut@YLzt7}71C@AcO7!zZj3?&lbI5MfZ%l3RY=Vx4Xdt_&K;~PUcU73Ds zyd+khli1u>FAQAB~V ztB8CRaKa`yEMoL|sb8s-6e>7Yo%~cZ_JyAdwRITmEz6(Iv7{T?;Pt25{3)w`_eS}D z$^R>rYHLVa5r0oxp^R(++53&`5&x#&g;Ev)c7zI50?dhMvn?)`uT>>z7QF;=^GG@Y z{_c;U9>%;8m`+sN&AgE@064JE_X|~-@c4RCVhI9VN)yL~lNT$sBR*nS0kjDbuFb+iM^$!bZjv^fNf#0NbnTHJI>#-XNqs z&>_dM5~~}i){-{RfoeS_bt;-*817~Ku*ySB^;3aiP*r^;z9#=_pqVSTQEPlt9um5` z7*@GCS6#1aYjZ0qe)U~W`O?dRvP4-zU}vw_Fjs{&{WQyFwM1U>-CuL^SCoyy@+DiJ zAZ$3j^v?dKmZUX~DBQpR*9DI8QiJl+FNDgpxw+G@|3J&0X0bEbmq{BEwdoSE*lPA0 zo%VW^b2?(aOf0Dng*tnV7?1ATx?xRz&4xOu%D&lbHMkP4j7!|4;$Uw?_&qZ&p=;I> zx*orqC3Go;%W(VS5~;xS!@E({Bri$mQs#G5DMU-?X3L@&X`#|~LFj#l17GfFLf4Lj z?yPJ=_o^&isx_~o2giDnx(d!w)(QLINM!3chCwFy3337Sg+BB3A5k_73txhaa|4(n zU&0I#O?zyHb>sn|f5PRF7Odlu1$U_k+q39uGiPwjkwQ2gOiGYhdQe^@Fj*52f4kg< zr4*}5iN^q23x&f>*5r=2Ir(eV6wai`$8)m?XAy6awT7m0P`ph73v7?hd=mc}}xvVk8s#RbC%dKx0Wh$kZ26DpOM zLlKp)=E!fnjnp?>K6@h7=!Q)u`U2H$w(h{T+>}3&NP%_)lnVa(XnoSE5Bl0_lBNFA z+;fv~j+M?41C1`6r5`&BC(${gA2iokO9D72Mdwh*m?3uw%H&r#fX~>3iSdV(A|7*t z|I-x$4=5NNS{faarMtLsv#ZoyRpl;q6|`;HVbhy+%H#*RYKNt!3O47~uJRq?&KZ|d z{hk9$VprF85c;=UTB{Rc<)gw{9?52a=HQhh>S=aJYk8ZuF`SU(8;0c@7I2<~x86pm zReXB5>T`JIx|?r=G5>`Rr^*xLFa7?v@^w@M#)_pDpdw(w5SORigjMyXJl*gR35C$P zivig~ae``V7@QH?avo@@ldG9m!MNMdpNhv6iOT9uN47Y4`UHZ##(JCt@J&~FbjSj*t z=5CJ*=1d-x5lNtK#Y&8Ei0{|{|0gUMUX^$e#1YoyWT>lAgegx72MPz)t|=;7BO*{% zQBzYi{0++F25HSe(SZX40|!KTg08c*wX?Ierb7Id zF5vNkvX$h(h=rUgQvwY#4yU(&f%Hn5OZ(n!Im%n(dgxpHsG76t$m-=U%3svjk`?@@ zO}cayLH@1q$RiEYURczB_PLi|+p}nC{(bd#o+>$$c>3w#;a2(X@KHT`^<^IA?wSP) zs7VN2&Nw8H@F$Z5!$sw1PfCk8=@a(MK*)s^#*U&; z$A#{)tmJ1YbXSPbMIj5_(ZdnG7LSl!67X;sm?+7`(_MYn9Se_$cRdP^2Q1t4n9CBL?VNb*Z zzDo~%9Z+eIuoNRPrtl_&t;LQG%rt5(wuo>V)v~B`uwrEgI4Q~On3y*No3l`!lCP6D zT@ad@R7T5OQ)9v!rP!(s8lg~KZdufZ}n- zH#LPq(T0#Wx2-DVZE$ndhQ4)uC!5yV;35{xW*A zzx?I|Zr15(ceRQN6_~;8@wtsl28F}C{8c$;Z7GdM&D-Uxflc0QF`Mg#qxLGxw`?9KVkR`)0XyS`sy!d5d z-?|%aV700sM{>;6W5X!qeVTfdSa%*b#t!r%!qvLqOxi!cIFunuk zPheK16jTS~LS8(0>{O%Jq$9(YkXfQh*Wzh*G+L)lMIDbDY(DGMq~bn}!RN>k?gr{e zv{n}8f&7i8DM%A^(PA?`9|8peaDabNd#THcA8BTiaRd?p2$i8oozdD-CP3?U7q6c? zR>P=m)2v11$qmA@&%S-fk|nSzsptI_L}%*6{4L$k5cg-b%m=m6AF^r~rcZ$AE*&BQ zh@%y`fLeyRzTi#C?#x&Bp)}z$?~(oT_XS`H&6%nOi~&LSNI#iHViD0Y;&3?z2U z>0ITXKul86$)A0rv*PZ%v~jaon0uFE{MPNK?|<*T)33h!$Gc?XT&V+)xdr)yKg#;^ z51#PjtI@QJPDq`B+{mH)ijS0u#>o%NRIUw5%C&(%ul~_c!-5gx@bK`+FiMq%Km`UM zI6&VA3G_{n>(vDXDyP^)FdeY?1o|n=9H!Z*g{~y|^Kz~54drIkN~WrjZ^`3ZQf-Yk z=^OIR_H<2y-NFWn59zP0O2ue50MEp9p>RukZ@pBzhx5c;QD?Y5Zt|O5H$R>O78a(1 zMI(reAn{qj4&XW`ePV{?H4NSSTKd=Z1c`ZwbN7vFtLS z*`IZBZvquC1VAjbGgbnV9IHHlQAdR}s=ZSHEvu#)KeLTccOevR z)*dxr>)JZ|5vBSmkjNF~UGg9&ew;Ii>`wOX&ugyXYWYj4=UYnX&bhcVzBaqXC*QdR zcP4V;y97U&+T8}S^2jtLv()4E`#oaJ>x|kVsb#Z3hb!jQzVu&(T7JVHxn^fwx(30F z(QxQ4eqiPe4UP^jNOO@IF?et+V9?C(o6Obo_M>ZdFAeG!hMst8p*m%sRf605|nU@SG5LhTOwuAk=y|}byQ*cwTxYs|R-|O4ax7WD6tEMyo8-C0p zzH3m}%-0QZKZ1McGlBS{u`1W<3|S0+$+2h2d1D%zJb81a@rM zU|7Fp>w1U;+&LMERe9n9Zs?p2g>k?)(O^D(ah;%)C{LL!vGO)wt~|H)2IU6MP0Z`= zs599Ri|Qc~^;9P9?5YmtDsx-@O}>GPMEyxu#1*rFQk+?DH^Qa(e}>aPsPqfxz`Kd} zoRLQbfNao*@O_14oT&g1gWBn?Af|~1E@H%tM2H8 zrz9p{*@_nz%RRz?F6m7;oz!_^Z3$u zH-04m*LLFTk`^Bko_Lu*@i3>nJR%IwoQdZnk8p_MyIKR0`A7*YX?RG0Dg;eIj2I(t z1kJ&g!YPw=vW4+ivw3Z_s7mR-%7e>yAc`VS>)?saRBYzg$oF&Y?%KvG<3nR(`xU-V z$z4&uVXfn-T*M}9J2tl!!Y{9^^pxsXJNh>sF!pxS8!fz2ep5a^!l*v7t;(oAs8!j* zj|aqz&niA=&$!AEM6(tU*8!!XReCn5asj1c$K{wWfcb<`Wuq#Gt^{l%c|;xH=LU`l zr88(Daxp2WDJtelR-gn`g~6RzgbH`%OLvXUQg85Nc(CYM5#v5tzHjXjiPFgcEp@9i zAY8sIR_PO=wB-wgCKbjA;6a*TjE&N>2okY%A5c?#KX`H!c|^LMycdw!5^(^Yx~mOT3LP`Q_LrOY9#>$YV%zf+qP-2G&8-lV(rs4Z&tx@@_X>s{8cIqAxM zf7z|eIGf93j#@j`=R|E8Z!-G+(VUyquf#r2O8TAd{bfm4CKOHOcI=HNJsDdx_tvBD zA5BKX8CQ}8jV7Yd?L0j=Qn;XVX407mvaqu41dz-Kd7syz9xdifL9SGOP?xYqoKErn z`?9oMmJF;!)ko63*%}hh0e*m{^lh{nI@wdN^Cu18SRSDicb%4wvK{ zWnLu>esP)Za1WP^W;{_ynR?Aumwsi*;gXaqWXAi_dXaz`bpOLo-m!GwqMy#ox*b0~ zv+u=YhPNL+em@AGS)E1JzGdC)m+~6H$yfpP>DtOzxv{*`X{nX$E=vR0QWAltWL)3U z-JcpT4)j}VyQP!^6R2IUI9>v$65G4;z=`(fjL#phDm)-19RcihI?aAZOy66W*Sx~G zBCoEvP;xk-0>G%*RCwDbDgVqx%%6rpmRE}c%94DK@^xU>)^7#+aQ*hdY6+b&4!-dR zSd7LamHuqBqKX32OmsXub?0|7#WMss)GmT*bqv;WsY18p;Hr~QCN0`gw%e(nkMJou z@))^l0!XtU7M$jH$98mQ2J|Om2M;}K=%gSVdH}@xItOppl_hGrdkymONyRl~Wp?ph z5HzzJ<3n7}*Y$HTCLyZmdihK&0bx^uDw1_rmmpPC<%Mye?+d!7O`J0v^WepFH0|O+ z!23j#MkPF{nS2EW`T+ajJMy>-h$ONbAyD=K3mmcKglgThwofNv8ZA%q`!{hwg(3~{ z-AkAxehp6vDwN{>e(rc4Y5Op$e71-)nWBW9!tcWa_ZZx_7b-_T%U5}dLvO^ z#2AYP;j^_gwU|I9AN4^sC>jh!q*OfI=+5XJJ*}x!ERyl0b8lUFWhVLY$wC?LNxPEv zq%C2KTEhBn6p4pfT34*rd3^z|v9iKmS1Wm;{p0m)PUjS+*4J7J-E|E$aTAn;>!WfGOf-z}lx^=H*r=>54v_!+<*4FqoU$?#u!F)sw zqkbsx8kM@IKuGQhLr5snKw*Fs62Kn)nbK18CTnRTS2ifu32q;xdV`qW!oH||TdF^^ zO~38_u+?q0cyoK;_M3NcO#Iakl)VHTeZX(L>~BBxsevLk7GzN83spm7I_0s)q-Il~ zw7yP_d0<_z+5A46w8*-AnRStEar+bd3iSy`#A-1-rA9`hyg8n6G#i^U@eIh*Rj!z4 zbm<6Ky~Y0CwgZO^@6LbqHZa#&go@|*wfmZycW>OiyQyyNT5hqf<9aCG;-fx9-?jm? z%UXtj9^Lo~5ADYWBb7Q6&7L#}iG!>jAIuzeI|7F^PcfZ#tTtI3Edn(NYW?Faz?7Jp zi`^v+WyU8~?K@_dQpj%EjApCV9F&re9$fKkonC1gvkor|vbrzTB9zU#A7_i|RGN)D z-e!s70;)M7R$8p|6oWt?9(B2f;qhXmQPf$2%KNyZC>EXFBiAc7%ytwZ0VSp}M+L@a z1B?GG8?}Im@`EkH_!>*b0(fCECNwpmKoc$%fryWznvW_(r1NAzvHOEcmiZIXTwTm= z4O@&JSEzv}$!O(s)QEZ))4u(PrwH)TVH!)UH|TWwNhWkX>{r9S2; zufUH59hJE@q*F407etatsjI8WG=?^$TYx(QIy0+j@rgf zc@A(auzxA2P4Ql(q)%uZ;=%zW$&9kdN5WoDKx)e4Tp^dkN$TqkcO3K}@gKl~fxQWf zYBVJ$&xYC)+XiD!OWP~|ggE@vjtew>0?CHZI#~xZ;54hweTVE*BmP9PqjFFHG$LML z-IS<#C7{N@z5zBe6$^Gf3}D92F;nH^pk7RDmf!f^?aJp@Hs|*gN*gv1MHL`hDqd{Q zo}7}MgLQ|E&pgw%cb~L(U)wX!7yv<|pf`f@{JY9i2y{)MKw`iPjWmBG6w;q~eR_hk zd(ueV$)Eo{7Y;}K*ahIH*Q*ZGjMb!kc$WC{US(3(ab2i_<>r;1wgZxab6N-<_=xJg*pf$)SCS+Y0KD-c3r8dwz$aP zLSPNU*{^d`0O!{;g#$Z#_a=ay;@2m379TJ|DenfMy|r$8iJhL*6U=q@6g9X@Abafh zcymh=bz9p}3EJTG7^-TTxAw$CKK$>`jg|~FM0=Q0Y%sUS(Y(E?l|y16YH1KCAdPl=7Ca)@WCk!47YFzNZ8ZYw`Wh^<_%(=k~5@}C!wq4X^e&lA&H=I%Oaj&$g6oA zqMKk^QkascN3!lT!r%yux=W+{fT5}4oIwZ0IHXaGpc)Wm;7U;u&;)yhU=aO6haiD7 zc8uCfkx=|3YfCYM!xe@GkRvKo27FFzjEEgG1O`xLm&oQ5)O~b@sGjjzH5@yJN3Z&+ z7<%(z4X)?ErOf9bjo@(@AK__AWj5hn{*Ur}4zdg2-+zH0#Uar1N(d;R^odF|sPu`c z!Xq<lr@KRlDmqfhj<6t$RpJ|li)}@!TX&J5D&v&0jKx`_POD=srz2x@9KSR z$@|8=yOV7@q^3lu-3;Zf`hd-;H&>QAiW$lE*wg+A&Mq^D0Z7(g`lNc=rTYKh_;gRX zguHrHTH??pkGN{g-GBB|Jm1Ax^8Xg*o#9;2&ZD{kC@MO473RR;D-V~1Dca#n`V+x; zNUz*H#vF29%X$Ot%+lZZva0EOR+~gwJ{s6cY2fR+t?i|~UU9(NyA537t8}RRv?s-N zq=ADKdmPU&66MNQh386j4j0s;rRP85BFQF?)v#cj4mo6ek;kTRE?a###lWK2V&c(oNh-;W8dKaQq$(pG)QWj8(UHnN z2xdJR2kUX=g9i?*fvcQsh(fosAqfGP)dvqAJvwuDV(d9pTJwO7Wf~3%nzW1sCtc8x`hyi`M=?=lRtvjNHHX`lq9Ns(@aye8X{2% zqF-YHi1DBNKj|z}2BBL6&NU(r`v>@u7Kg!lE%gl#}Xk zqj(89n2+mfn(6^3`yqw^(y^3>u2h#BibY}0q+}WrA|54fA(7drjHf09ax>CP;60i2jqwNHEWnf zZ_kzQk@t=U*VNHT{%qjSQ@Ap6F~pl^~aYUKXxfmHeJsp|4f)NMYDD_ z{=@g)d+)X^qX_}q;`%ASABVB{jr^)`+ikbKmn|h=m4&~bqE)~FNUT;NX#Ndu@~O;& z>tP-&$WxUr(5NUfV!tpa0OmfvF-?O|#G`LW)jup{s3MXR&}=r_Y-V%P2A~>1ySAiR zk{|tKP3j{^8!PwBdIx>vo_A&eL_|+X6mJhH26+Ow(5_Mgh|RL$6;638F0|HMr3MfZ zpW}&Nl@WPFBbwBTEnrPf5`J=zVtD8ks2hFSc2OE<3UBi9I4U?DPKPuXEM8D@0}P%@ zP!odE$Ag3MIH&ZfgKzGzP^=rpF!lCAjTncM-fwXapT#(dB_%o{SSCSVsfYU22qq+& zs2I~<)`?}l7P_~57T+dcuHqL|H0=4~9xjTT;vD%649}NOgH|&J{k9l@p%Ey|g|SXU zwmFc98`3_cFhoz%1#xJgt0LBrK5VrF>WxtO^jIZ}+wLMIHkaLF)q89{-Cn>r5L|Xa z-VQJK{hM-%=vk`-)mA~fpjD!3t00#arB(?8g^73+gtN?(n~BzjCP3nZ#-HkTE_Hk-wV;Dsd^ zwo2BB9in7Ncc(o~dQX$DwZm{o*AZ+DH;LhryV_7P!8bgVE;{b&fEL?28BQjLb^{Vd!&AF1;q zNdHl(&Wr)RudI8^ma?+VV$lrX01<1RHK6P70k1Ts%{0l3h7V8SvBjPNAH+4(z=w66E zol3i&egr>)q9b6aYDckGLnCk`NO+ST-(12PwPkwm!1$#AJd+k$WusKl*xKZ?dIR z^fWj7T8u5t!Em!w+u3XDGrs=(^RMr#-Bkh(zyi2`(`LW*!Ou>;dbUlX0H%1)3y=Jy zrzg?WA;zl1)m3V#{C8p5(aU9H4-|{Q3^(bDZPcr8M=NDpC)-+d@Ri%1>;yfv^_#y@ zzGPIs^v&-m*IA`%Wj$BwYp>X5yf~BJ*50|zCsoVqxsU((CBf3#>FP2b*xlaOA#Lv1 zU3I|N)ft62SFAcxRl%NaQtiUuRr|*u}c`g8mxGUG1%^ z(n|NUpN2G~h>Dl4A+bJls^id5*D3u|`(N68+SuG23^hp@Od!N!>;c~ed)Sq4bd|TH zCi$DjhIZ5LNLQj=QW-3%S}WoSy8{x&7AA1L-{%KQbQYsRz)LSQzkOn=F_URZ5?PI( z?WFU(?7UzYGU0k}Fysp({)})Q#m)^VI|wEMdVuSY`^cUV###^*BUmq@D77*YL7B&p z1*=eGDkvuWfYbQ&G~U>0VFX8mV#puHUcKAz1ym(_0wc(2wq?wzdVta?;lSc*8oUNv z)c&9pc4IPe<3t4d*olmYNfGH-xVx`ypFYl_RPwb5>v)`DscmidmSb+cU-y|u z*Tuq%vxQ9=bH4|vHxMb9H*GRIJPnq(C%506*%Wr98^ZD2On-kS9&SiG!nw)|%41i) z#8qdgFaHu8k;x{fWN)iZaHg0I6h4ih;E9Xr;w{ll#w&w}{jMFBUdie(J5ahhU2(Aa z74wNdAU#JD%Cq`qSD#QmdFos{ER3IiN?fJZ3UOc)*V3Qdy-(xUShvwuyGev<0?*Y9 z?6vMUf@9-a0S6VXs(CE&aOUPW?)t6yW&3ljhj#WCUqs>kk zJ0(})g}oiycV-T5z|+*P(aYzS2%l~3M08-BI^YdwXZ)@T^~d?cgC})^Ac_=EF3>;{ zdBY19C^zcl&n4ggwfqIO))=XbQFg1WMmM869!FnpK~oWQ3GqI7;S9P2Pm7R1=aB2m z2F2KR7=~mgkFf0s9gZHaB8TKPD}{OUG@o;GpXzhsBQblWsqW-S_y_c}YPPWK<_QF2 z26RoPq{%JL-ozz!&2`CompE+=NY{xqPk9(n3@Q`J5;Pa0s$nt^RV>;FoD2EzFvqE= z8M1{Vs2pO&Qd!@gG{dkR6-9&s7(JfhgRuQH68a@zy>Qt4l1aJl_YEfbIxgwA$E_^- z@c~e`1fRJip?MCmxC>pnretHIM_LK@t<_bRt~UDk>N-n}OR8DSby=EAw;Gh$Y7$aX zrpv34KSWg>BE~iKAXf*!s)Rb9Yg9HbwOpc{YFt3Yau(5`l*-NR)0Tc2f24XKL*Hyb68ARdPpH`C1-AjO0mo1ZmT*6-IsMr8 z49Xmc6e7_Ygg(l@6JFPx>J7vgv_)IE|irpXA-?Qr; z<30Bl{9pBw*_*OtjPmw8^<4C3ipQ~Y5wQWJoi)$C_k=oAX+v$3FPNiD_}9B%4ZR!K z+qSE(l(^h*LuHy;x=i(u_Zyc)@$B zb$7$gjX9lMD39?lXM)@}-@5JD=L{pm!=pQf>nfANe$8NVIJd(%I$TkD=WTa=^9trY z5GlHD3|?L&4H>XKINGM|vL^NJSuHYEHvBEj)92wr1qqi0T;e5Gn9F z6=WSNB4*=9zB~6Y`8jkmxfi5nQn|HykQ@-Cb7|prR5H8&th_a>J``v}?Kq_hO>AF68eB`C`IzXfRl@{;*#dng;Bie!)8PS-bPCx4rNq#uxH%RydK$o2 zJSuCKu0&<+m1R2)&^7_C{eAosi33NTGW>M$(c7sc_A@6q@-fF!;CXoJEnQy5e0fJsM@q?K+Rp)w5e)<36eM*4?LhRnkH${ zQ-Ui`-UXdU3z@1ZAdXGH(}kFh(0TQzEkoHxBdk zQ=8e?-5zoV|`%$|b+yKCzjbt-vcm(qHaJF4tqUq;v=_m z&uJ0WipIh&r!Yr*<~^Pc6;@U6*F+;|B)~>->VwNEF4Wi@@r3xMmgI7UW9%p}E~Gh% z9=I@&vbX7bTu66BJS_oH7fXNc6NdZrdYA}k7CQpM^#I2_Tq@FrOU zDWrW63llwe@*b$VIRV(=w|5m}IOenqmujW&1t9V3w7Xc3Jdp1Zp;bej0!A%8OgMrb z5spmu2(@sIR{qKBJR3=PExC_-Ez&!Zz51K4YnriK{2B zgq#zFt90@L`Su%MRhLSoik9xTSLO?3ERmKdJhuXQpZtcBzLYm@C@f% zBcFb0$*QGc;h|6k2$0g}wFBMT`h&u7sDDd^0dG3*DZEQXh!`3p$Xab(ratEt`rW;` zZ3a?^!1hBvM3J@>2@Tk?3sH@W#o?(*SHpeTIUD;K?D28M>^?(pptrqQob!9N&*#k1 zH(L@lUB)GN^yyn4<*zF#X)t!^a^uoYerZuTa$&;`zsJ3HncnFN+o0rM3_408>Jk^e z?1|X@9#?@pg6djI!10927&ieP~E7B}5DT(sTaz?2>Ro>blyNnqEGbtkf z4`|+J)h&gm`64JGFe(?g)kGkpF@opBxDdy{8l!Z0Y>w=4X`H}zLgX2veDXZ;)G?87sK2HpEv4QBb0QPh=YZ}{UHPGAK5le{L!_>56iQ}J&a3!hnIzj2g*Rl1xDhJ)dV zq05wM5Pmdm=4p^%!Zo|%=Cm;Y>nj98-`_fFKeLujb?dp)jx7+BokhqHAw)t&Uh+h7 zU<&`S-8>shi`quylu&Ba=*Ns$VlmM`hnOj4w*9R=jnc+*c!dcIVi5B}z|y5$yIdV@ z8*C|}giE&07LD<_9N21L!_EIp)=ww}@QhYo3;YZlGc9*Q9dlw8T4N8^L#*dy5ePZ* zS>gQS8Q+9v<{gimxZH1?J;l~NqxGM7`zMcx>7*^!Xp|q(G}`JcOxk7QIvlTlokD>K zdEN(-k;}+0o@=F{3i6HmX&3DSwkv<`9INb8QEI42YH zN5L*5)J3H_5!%7FDJ6qpk`4uye=+uS0v_lHg(OPET4je*2m=JaN{@{JSDyCX*v*tI zO1d;kAt|K!6Aa4$LWyIEl84+y#pwissmK-(vVrCoPiB1POB1ji^eTwKo-h|Z`2*vf zi`Fl$5{q0*ix(JfdFtMmAa1K6GTf6Z4i$$)2ev$Uo93ZaI}Uop$K3lzA2lA>S-CnU z+S+1{gi*l@?MK$_eXzZE`@XIbukJb5!^L+QT!Y%}gLNAt;>y^Db*m=RAPY5ZIo6$yaXVUV%L@X=AmZxE7c^<;+YXWQ}cv z`3enWMUg#+VJGd9{x^TeHAjlLsNL5LqPw#>=uFfMRqbl(MKNW+-8xs+=q=V{ebxvk zKAY@L!;YIHEwiVZ{0>FifQ0sxL`i0iusDLkiInFf0#4))MKnr%%dF-+nmP`vo;69u zht%c*O;v_CacGnb4F@YZyo3!Dv1m5nBeb5?74O4$7*mDc;1N#s8R*pu)BqJ#8_@(2 zZ!#AB6t&IsIlW?^rf7`Yg3pN*$l1t$sOmq96G4;+5U(I#2tE^pbK~*_(&q@8{fF#L z^paX8?&j0YiDs`*?XI!aH(Q-PQ^FQ?C4I4QM*_slkS^W^kij4so#%>C`h;$`Dn=QE z7-jq;VwCQ!w%+D$MU2wr^nFx}QvT0(d0WEdb6T70?KQ4yU9&gQoCf9+jR(bWcdRqf z5stMcolzahR$4%rYZJrOiQ4wMsI|kFNJOH+q&sHqaCW-8b#b2q8Cy~)$5R;ys`!wv z5F(tCFFc>ND|-d`>+|{LYxW+d4EV!)*DPPYX3cW8V9kG~Cr4qD&^ID`ZU=-$eEh5;Wh^##;!=+PsD9uUea3X}rC-^u9XL;!c<| z#&|3oZxaus_YWO5Ld$tEA5TTv!|l3s*p@M)){M*H6<1nTZG6zUadWDxUfc~XAY-SJ zjv(>@uhiO7Nd6SIZR4u?_cVeq^(@CChLZ#WnQ^Dno5GZhWfV-cj#W&b=v>J`e9RlO>SeGyA{ccxL&{$Zs@PhRi^J6{(=9lic0gA zx`rwpN>P(gQ-Pf1siHxv2#La!Wt+~t%`v>wFm~**7hX8Fq=?cViC^*fijm^t6{U+e zMk?EDgmiV>nr%|*9)Og>E_C^ReoIZHy-}>lHSF4BU<3`YB{m{Ws!_0II^8*AI35Tf zQ!_x15&&V%)vEKgSp8mO$qJrP!ph>c?KQo+jYB5X^q`lzXK>T{n(oG}echeCzr5wA zbML;tZ1EPs(d4PCHJAcb?PWp`4~UFZudB@$(b)!E{ey;W;od~IaD3n=`+jbG@AVtM zQwCX*b(I4y0(ftn)@na>vi&4O>9@+;EuEtiY1=dwOKv7 z9vT2J!6O0TRF>;b=F(e@nY7!U5J%!%d$8TsY$#mAx7%aP6`ZuRXoAlHR9`m+vrI8J zTEtD7M;n*#y5D&J^7Ts_@oCCWEn=2q4a6E0%MqW+CsqP|k1>RXC56)ESZ+W3btQ8T zYhXTDk`JDU6|YR@coJ&PaC&Nx1$6QaZ&Bbk*jx@#lMTak8Q@F*5tTJjTT_sKhq}Z0{ccjjLMlI3|Dp)8Zl|R$Y6lBB z`C`rW$9UIB1k_+KA{#+e)3|^c)YwgIMQq9km z|Il+Wl}c6(3m)G2N+bVe2D%%M%M$Rd!WK=YGtslvu)jKIN(!s{9mB2IE&$_u1of%-&sN4>6!>^t-iQUjP3^ceBC5eA~S0K5R4p9}i8l`n4-3RlhT#+;< z8UX60Gb5B9dnO_Ua4SeG4(4ed7Gw#2Fh_{wAU|Hnk5aY(J`-q1&X966@Cy1Cb`q>h zwXOxjXX%1Kn-QH;oC)NsK2A|6HdqM7g-xrtQd77coEZSD^OO)ENTzHXKt2RS6~)ua zK&AHHAZ_4#NlLM?vxXEHYdafz#H&JlcSlEex2dDP-ejt;?=W?XZ_YU9EBW@bzH8`c z>K3njmxg&Z3vJ>ii>0Y4ZOP))bH2i<=X`hNxnE6u?%eOLl7FnQFPl>qMyLeURJ?LV zCe@zKs9#x9%^3_&dTzaRC_4Mn9NYRpu!K3CRb8^ zbX6o2J#3`*acQC@y zaqPtIZCu=EkJ*ga?#aUxWn`#Lj-i<-avI*k*@AJ1i6fbi@i_8o5px*P{u6naXMlPC z2r(Z>$%{~_SajvI(&I}NJpFgb{c$_n#EuOd`EQsNg;R0xlynR4LfRIBToI&jxpbXP z2SzyM?-8fp=5pP4pI#AKFW;f}N+|wtzIs;Q{U+bl(Akwg+2yyoT)Kvau0~F|kjsT! zu!yd)tDymzU&sZEup38pU7ZbG$o}&uLFGgvqAuO9FvTRv6lGHD+Ws=X05;VQf*NmYxlqqCdun$^e01^4&(|%QV)s zClVK=FG%-snV2oxWL&0sS(?jbBB%>!l)tO^nbL_I-)wcD4)kLATU@gzjsmFhXgC%W zlS4oACpU7AAnHsS+mW7%L!@tUDTstL8@E6Lqwg1eKj4f%KwT887;}Z*uN3)>J|I6&)UIE0U=Pfw)sCVLHOzx)7lXnsyE!V=%#@K9k61mip7NSG)OLsp z|8IUxO+dOAq9J=%^MU}5BgCd?`tc#v^$f`D0#N%R1)T5dE9J= zM4=yg9V%N+E}O+N5R0_OWT0H%qeYJ8@QHGvrm-p28ae<*BtN?8;EJ-)-h zFQqz?y6Hojn$BgzW&s3w{(@1&04hK@f5D8$VHCu{OTUVj-n@#-y0eLJHq?n(7S_q! zP_cBI57Lm1V1YSgvEp4^ti5Q!w4d`*xG~@i>YYI(ZyT=H+K?Zk$Y6cKZFV9>$DM6T zG7K^UBwA05`FF&CTC*95xe`cG5ug8}D$dh!)X6FUA3Rd?AlF2z6rwAGHXp zG>;8FvFj(sSH_mz)+;*NVpy5d$#mK+o~pdzneP~HxwCxnYRW0iH$Yk3^YK|guBcx_ z`EC0(ODc=k-(mb=(UBKwL`a*2?M92$VhM}a4!(ZR?~E@#x8w1Bl*y_Ld?t>71((q_ z)YW7@R+GQ0fU|6bu%XA=;%i1y$B}2mQq9q$s3KRYAz`>gJlGZ&piP815OMkJPOt9x zVSdpuZbWl<&EDlUyU%MEAg&2n7gr=0k0O_jqCgJZ)B#VIu^XO3T=9I zTw-dfe;bGSgc^428L-2t%~QNM+=XGubvPIb^Gfg=U@7DKk!(D{+yGMv(}!9tU{8dt zG=;O+ZPAj6ubtsndTXn;xO-Nv^we(N?CmKvmfJ0EvuO9a9d?5$V@pSbNH&`2+}2h% zGSZgYwk=e5;6Nz1&Da^Wxw0sJn@MyS;_jHeO$eLq>2jl7Hq5gF!*%=VzwE#cG2^18 zEbfXq+5}h79dfqmN~FR*8<%vaBH=_R>29}%XLr9JGr8BUrSd4Po1fWSpI{w$)qE;qzIG~_R_1;v`B<#_!eqoQx z*U1wsN-%vQ(v>jpq?xZm5h}l@v*R5xki~)6+Lhf_Ce+#*krVfJ{;aaLhX-5PlZ zE~8l7dc`7B^NjPCVJn?g%J7kRvMu3ZTZ$J;uZuuDO19DYzkWx=Erva(PWz3LWe>lw z&SrIcf^8nbcJr#zBC}f8Cq>FdNM!2roak^UE4Xrv4O2M8Ok%4KrHTzKw#_c(35spjB4`!XF%>D(v~ zl`IQ4Z?3AS?5-JbiA_zYNsd5FfxXdHU&nfE_14k)XN}K}cJ0H~fMk$5iwQ<32wnO=qp`PNuiXy^K?7c4{7p{}h6uS3=cGByMd z(Rp>P$LO;-t&-v)fl zVlWePm}oxEiP>$?AG=zCnW^#xyFAf==<>w~-Xc&%jd>q3W+kUb3&99oLCYzf`>EQt z2B83Vp~5hwgahzRPrH#`u4bw432P`_T}Z+Qb=pPu9`Ft^MxFROZhL%UiMpyNivW`7 z0mB1qC$%Kj)Sa3qi>C~32%UZS)rqg_C%$m&S&dw(kzSHt=Gr2NnHciDhU@>$<#%dn zGhs11g}($BPeH5H&4f^}zvsHMi=YUF3hsFKBq~p87YL~#iaoDKGw@V;VBjgsCP5LL z{98*MEs(eHE4Qw!cDQZPV4@&-c-?kqq%D;Q6dVq99Sp^gN9HK#Tyew`Z-wHRt6<%R z!y<_NQFjKB4EE?PI;0h8y;{3R2!wvfY49&=wRb z!c|?S{`#GIl;4S(k)7G2o> zD2(Yqd6!sBkaj=Apgp({Y=3L~K3`SEIh`#Kd`;auHGZE?QeCR3OX%OEmNKTX0{;S5&@(`cgsmn@r_;KbkLtH=awJgLrE@$dUt7KI%RJOi-+W|NMDt| z%1N&gT!_`;HI4K|`9e-I$tTsM^X7J{sY1olMI6=KJ{dx#f}XmGuYUMdHLYA;BwfSb z^3qCh4iFQv5QioP6@xah^D*uiv(x|P>W+KlJCKbCe#;N16zN{kvW4Oph~!G{rm!$^ z-VfRlEHRW{Dvnuk2}H4uX**LL*@zGYM1i&9YIb3^j6DGx(x>T6kf=W*!B=pO_C~*> zS-wENLT|Ap8ak1)b=PH_#hxJf|IY){1x`;ZGt|64ug&5-yLi_-oOJJHJpMENO3H-_ z%9cNW8JB1dG&w9#SMYj$x<}^4ngb?>rGO=(zo}6!BA26fUH;lVg=}g|Cs1UWI4uN5 zk7>hozi99}~ z0Hs|G713q(jqJuyJ|QrTRkpxdJb7qw@mWHeU6VJS12~A#TPjgK8Ol+Vn7}%j&9nMc z%&Eqn_6|i06gCJP7xq)0Z9qS%KgqhhZZMfB%QA%`E$;_THTrRGbw0BKMqrzF(_1mlS1}Tcr|!*PX;(&_U$@V{t5KA^@xl zx%QMl*PN1XmTo?KLhWA1s^YY?`0G+Fv{LJPBsc%(Z_1_q|N1WuxyoVWh<5i5lpOZ^ zOP6mVJ4oz-OqLR)V=1F}kL1SDa?hZunTR1hKkvWRj|wPG>bGO6Seh*L(gOK5J?SGD z24?f}PH88nL_?IA#*@W*Q$@>$&5SiQJe2D05e}?mNVVe8Dg6J5`M`+Ib7y&AjK^*c z&Opzz(wF?XyE$8kq8Qm!wgYSc$;D;d=7h;;GTY2<@k-gnnOv!+tnts1mk(+V%3rz4 ze^B}g^G$*7@(g>+Pe7$&Ig6^vcm9!wB98Q2rSATOWu#6D^YWLp_LLjRM66_^A2!Y1$Mvo# z^o|U8x!0fnIg6$3=bsmUcWWWhEb>gOEdy@sd~TD5X%|yI@)=}s0dJ-WVMd5xJ~x0V zgPdiQa}j5=bTwvwT#4l)9!^G`;scMMq9&DLLb9L2E9sZZt28!`)fo{{@jc{;`a_{d z9??gm?xfwgNh%-EygrL%>7XltBS5@`*T$hV#6r&_*sOR}f{?$cb;WCL3X!eT3HXEbbkOqpFuvJX`GODN_ zkFmTKKxxfBpYgBm1bAIg-8lT4H)!he!k+3OhyMW7|!>T`VKzsEIjQQ z1RyBmR!LyR_Q%4wbQj`w&MD%rU2xmA`9fExAiFNgtuq#tj2=BYN`FcgEh;Hlq^#7q z5+F6=M5^zc5(1b#Ln8v0%jM=$30W}U&!TbC?=mQy!PaCJsX;SM?Fz2Jp03FmrLtMm&Il@J5N1oUOyvxM?MB%d zHadgeIq}NI6>L{Mu1+q;(@^k~;;~b=%E{$*Y*yu;j$*X*a8fxTf-v7Geu^*Xa)1}> zr1BiT0C@c2e1s{eLd)ofa5MqdYFG(C`k8P@LNy6N&64>sMui|W;s5NDTv)MUx4Sc#m`yw@ki(ANY@f z?{oJn(Fs~Zv1AG--{L;INp8+rcw~Sl_@)rPAV`*czdZp;}7!{FG7i1)>v+LI)RQNG=92rz>87f8w zO(EkDQ@9GGml5K?V1&^|hmUw)`M|aOO)#S?9`cAw-TO-(HA+GGS}K~1lH}N{Rs$}Y znnf+prcAn{QQ?{6;SlX<3}`LO-z$IdQM%V;(6D@3nz#Hd%|ojz9&(FIJ^OI4Qs{Z0 zk~I!8!`wp^GIRrO|)AC5I_G31}+h* zQMLG=kj7Y(=rZg?3IUUKrIm+)VvL$H@oj{2Af;k$6|FzIW$_QXmL=Eku^rK!YW&HG zH;i|ycF-?>3Hf`BnecVL)Vm^N2i>jx+BKKS7xakjw>`4tdGnuZ-g>e9U0o`OQeH-R zei8qsPrJtAx8x$+kGr%l|CSG+hJf4X_MnuUNEA>w-X4;C)Zt$)r@^EJu{Y=u0`4G* zLwcYd25w~t>^fs86bOby!0Ev@NQ*&UEUXKJ0|+;FXhGp^4GBJQAiWR-^8`IXU7(l; zB=0jog`R}UNWQFvA?07@U{OZ?`T3jTB8bqPc$5cJL9o7L`Wm->l^j>I()8jT(fJ zf?fg7OY;3FSAfn!CEwPNF%%92)XqX*;s1C{2>GMVHzdDFzuTN0We-iHz0jN_o&Mrj2&4mZL3GoUjN zgVCLOg%2Qf=0-d6;|I76%E(~+pk85q`~*B;)6)1s1sFDd&?RAGcyj!pYz)RvAgn{2 zBR_u7DXnb$pk4xvpW+!F#B_WD3L4HJD;;#&DQTF&ZuyG*lR#MhzY= zAysGiNAj)G_c%wi#qV&+x60qsJDIZco}$_*(4+?$FL`po$Z3>j{rC?`vKd8lL`bj5 z@gn}u+S9Lc@~wp+3(b;l)t;WueWOqnhya*`Y~oK}_enk>H!BL(j3xuGObK}~i;S$2 zCOG~7LQ>;*Xc~HL>2@I$3IaxuzD+$=jWWwr+#S0k@^}A=X8FHpx)QzZ7L=lK2VKVJ z_VB28;0LrawDIJtsx+9Q2cWy^N(BKec<>N|HDd)!Mou22SX zT$J1(N`nVo9!U!Ozi{ZUPLwmzI zBxpbfm5c|AAYY-N)l7wPDYG|-#45;3wUdI4()Xv?A$Luo+tQb(86jobOJ2X>z4u;! z{XGG83+b%FZo&0uFkqH|8#1!M7-w;EqzmV%j4*+j#d~@NeT8}>jE=*cXeHA;e~#3G z@vBxTA%sG?28sdFv2<~;j*GBdup7XhrvK6<;d`+gs8^%+J`+yed5>W5$0#`Hf8}17 zK+Osd;QVdQ!41R%<_1?AqP?P|m%l9I4-7`H+hu6Tm|FIWuJ75)T-r@^z5tl7$GH$A=-n6N=dSI}={77~zy1M1 z;&=1W=2%O@s%x<}ALcqb_&SZVmmAmkotrjn7Om}$c6UOD>clswY_>}@qoYmFbag#_ zU#8>Ur@DGF+oJsi{XO$~YHC+%w!rYa2Yx1nkhilDctV=s-%=dXLI$#nS7@=<1bxD> zMI0~(e>i;fsGfHHHiLZaI{pfB5E+A*Eb6y3&}$6_#iPeix!n&}ei4pk@~OMwOI)G2 zuO!!w5&V`GI|)=-7arvRM)=+CMT_(>v3y>GbQQ`-EL^C10mtw)misp2TWm6ri%1UU z6&fZU%M8~4Pd55-%)z{D7dhDk9w5nP);Zrrp%Q2*k?!zYP$uw7jTFRZ6@xu*ibk#c zpFCo^cEJWNcq}3I$>m$L)4z}eZT4t#M>riIiCq{PdITKQaF%s*_o09lChVsM!j5cvzG5$gK~rOG>7-?Jxs)f!>ji# z7l>9?S=~F>6N~N{6+_{eANsj_N@C7hLuGYMCFEl;zh`1Z0Ue}8j?G8_t+XOyzK$YZ zLkd56z=fbfw)v*SpG$-M@#9jTyp`){@>iLfnoL#xrVe?l)TfsgNdL?qzbk9p^rh`X9oc?=)>I&`LkTuGIsXh_%+!Q)vOs5>uwZ1fLqm+SPu?KOxnBO-ytkRk z)V$X&Cp?FNJ>!tq2e*M_^~HA?r-5-9suVm#kepJ8-_sQL_^ozN!P=&#H6Dl6?}-&O z?Ol^~wE0u9P{H18b`OVi7k|i}U8|QLpMm4O{ubrL=3id$~3i z$Iq^z7QR05Zc>FnJ)q}#r2 z*T^>GE`ME9n|Ph2tZ1!a-S&-pc0D!tUvZ&N!;&vZ{(G}#m$&}d9Z=|ARc{hoOciV0 zZk^L@hc=hp)!7>pqrJU*<7t!-O=brTht_8rYU-PtEkcXU-XYn@3cn}sg7NT zQsTYN>LxSGDf^67m83Mp5E+@|QoITzJdxBD5l zi-bV#36)}DYzP&lJqZoe*&?k%B;<07HY!dEzyND4;4hL31u8QPEE5To!$}AumXvGj-g_b0}&*wU_-8oaXuFlj{SKrZ; zgVyK*D2EbKr(|BkT4>Rl853c@^f@jaNhdN$(X&}1;(l-dh>2h}wlF*QL1~P?>sdep z#3+()A`>uQr^kycdhB))Kn`jok^Yum-4gQ>u6k|KlXS!c`D%GCBA;g@N+z5+t5DKo zw;C4q0ydaA28_h9GUZH%e&^@;Cci8;dA+H8KCSDv{{-^678zNP)zi{E~y zN`T+%4+V7Z^uPFr_YHs2c3Lw{QQ=y-3P}JIk4H8p18qpGN~x!!8yW&RN{PJ35ut}J zKfWMLh(+rumhaGQ+&EM@WqL}kiPdPtGA@5>`Ew^O{{0r=_kAb+D18ohg(M;Fie@UU zEU1xl{6i1ZO~}4g#B_%?zIqb&Em_ZiXFwRxU3ry*u>cqp_t9I-KJl&JR|~)2dg4!K zKIR4)`4H?*Wz{97EL(9I%Z;i?6I4swHz;5+Y)LVl-bQ9KGMe|UQL>xCN*1O2i+I~_ zZhquMPU%mN@in#9#F-TWJyu6D}f>Cyfs@zP6)-{^W6 z^h>*nSgVom2SfbY1<#*4^*sGqaP74V7F^3F-u!t zhs*VmOh+(lq{cS+OrYoPsEBulyW4UFJ(_a)UwQcr=?yjMMJ)z1xT&VnT;^U=@K?KN zZ+K^Bpm(qm369e;&E(sBtdDjkhr9bkX^p&wtKU*#En^FA9AzA(&)*hvC!)SYL8bJ+ z-uqQF;!W8C1@g?~Qt6AHI26b21xw{G$}_=O^|nM^1@B!`DgQ6dXG7L~So-`6Y$I&J zLdz;;mXs)^GskCv_cekUt043cqGw1w%<7qwrIzvu1?Q}YWso^$c>ee-CTDtj7W)J@ zoJW05u*pgkS{eS!m}O^}^`~IAFb8JS0&#{yY>#2Ie2m{JBXmbUv6!vu(qdqf+;8Cw zD!|1;%PrzXY^A4=i#S*Lo)`-1_r$q?8M5U#Z|<1RM79rYRA0c)envbQsN*T(560o!4IQ=xwQPfYma_O5}gy|Jh>ZS~$# zw|IenUUz?g&-RS&szZG9j@rS>oFjrVXf|E8Jh5&y)n)+C9!z^zxG%o7J*P{_c4UpQ zNF5p4;-54vhd1mi?LmPZt)R*2v{E&|rX8<+E7J5oeuz zf?}+&^2`y%4OfM{nNyy}mgJeGEYhiZ8}dwe=j44-FTqzpNl_N9q}UEV(kJ-#N_b-C z2px;bPp&7@518;#-q)W$i#V$cVIaV;K|4~yJ$JhBPVHzZ*VUjo=acl3>dU{Rp(7yS zG>hH{qDMuAr?ry)!++&Jym8{j{1OinAm$j@q?b>rR?sQUz$O?@*t+wX!g4!OyS8uO zHf+~WA$aw#r{(=5%TI>k*l7a#&{vQOYTacuQC=2uuKd!LLRavjOilK}e zw=AcyYzF;|43x=|MJ%mvu9{6W50NOf9PYT1=7Y(*CpT1Q!BSXpQ7QodWiZWF$P7=u_kW9h|PmO_G!#tCgS z45k>?K6-HGAse`i}UmSuV{!V zu&zdatcYhqF>CfMCpVg0Xt8bvm4d!cERx^70DF6H}r1`sRQkCU~ik8ay8et?n zynEDeuwqwfL^v(4;kz1BwVMn@qhs3bWxcD?tP@V4Bez=zntFt`cs!Ue9^Q-VlNb%< zr5KST-QFGD+GmijdyNmL+C%N^fM##A8^DlO(ja~)|DVWCV7f{SgDo1GW zrj`CFNi+CVEZ*9h5Ndik3bq(Y`$nW35W~FJ&LSBT$5{V>bOG<$)|jjA&^=>+t!lZU zREwM(k4L!vbz*^`Wb@-}|524~nMX#T6y}3mhB24#q&Zw zFI0IS+*(cbz$#H3^C6xU_}W^{3T{>606`Muhk$pmLkEYHLs|JR?BPy+*O0^7C-&Mh zHCqf8B>|riJ+U>mYqw>3dlN#kZz#445l}Z(iC|_z-fR%JR`UU;BVaey)q5O`q6wuk z8j(f|dnGBH+^OjdXJaUC_0raJ`S;^LC5V`cX3PGJbn$6I0XMLlPS6LUEduu=jI8o1keCJK?-ieY~pVV7Qe>T0! zCzTLV2?}=-1uoOfd7NIS-9U*C1Ov0V_y=k8Kcszf(-U~5c$Jld%4;2@g|H^aA3b(# z;lf3Wj&c*?D8F#-8ULbj#=<;-m6NJROd4S*yfSHuL`j)Fn~ZGHH|t<;U_xZ$Yi12n&&&fL{Wtrmd8k_r5d=2!TbfP^9fr z`4UU}mOlT1zP^Gtf7{o$-`}^TK>ECVfwIIFWFF=_09Tq!o2oYTxWl^Z-;n-%u~ zEqz!1R$tw>%D<%sg5b2~u7s%c#eYI(p0%yTxUiUO38Ke^KYdGaHwzwqSk3O7E#1Yd zH^^ijevnhH2JBQ}Oq36)NT_1rR-mCX~+6iFD(PZT3-KI(}ZJJRV6QTl>5YiTz@+uq^y zx?G}Mg!qhniLzKwq=Gz^OJF=w=X@%t?=ILzgb9oNB?JyT?b8JI38xg+j#Abe65hSj7U@UUc?R@4iUI2D#Hp-v)CEnAfmSkm(D=_sUnU1<#+M0IH;_;TD_9#tVIHROz zv{rKovIy$#Jm{}`4v9R07kR2SNeZDaJ@xd9RFzVE9BBe>H#iKUb^G0Z>jn;t5X6L0 z`W*>R52Gqn3}rPy>5sY{_$+^kbF{hbb_HTV66rbD8-PD&I<5S zTD?eDzK(+X48cGg4d)aw&=v>>=*jLi*mIgt=L{sQMydN48d54A3*|%)vu?iKNCSWbv*s89bYkvjlaLE$0cEu zUNm4-V$Q<*X5~B5ogbNo((VLbg_)C&e{7=}g_%QPsco2PR3Vy{o+_GAm}!U%igHGJ zlP}*XUGNwR?s1Fd3ku42W`A<;(|0tYWZhO!Ehwo!SEpYre~v2hNf$icT|Z4b$sX6q z>!fvR;h$sI@c;ewJDTo&I{Om_KVJa{h+4zeg}?e55U#=G7od z&dOn!XfHjQpE?&QZb|&om@2)=W!{; zd9WCRIY0)_Q6!Rp`dq6uom95MJtf!$@`Fg?HkR2a>p=5Ko)JsP^j(um-Jl(cLHa*15UD$;s_=_XKlRc} z_dazCNMR*#BN4`cudTR|2x9;`u11*{;HWU#fr|ngCD-Q+eCTtIB{urGS1p^dd^Hqb z5&NF5`Z@;J3B*}O%Vmm14E7+@qBN(;hc|>esBh36RSZNu5bU%M3Qu2jQDNal3}GN? zm%4;zTDF8}1C^dQ_mnO`@bfsf7_wf984w}JLpjz`<-!C!LsnfOaM^O2qiSY?P-lf^ zC2n8G5EQ~@gmEqP6*FT!6V3cLUGuK`ra}I?mXH+4S286i6_+X9t@)3iy!;Iwn)S$6ASV!KgV^5GYFk`+*GQpLbVbsS5TV`GH@FOWf3 z^j;vEkbmx+2I3o0u#X;+AL2a9A#EBIFoT!_*>mJ65uYIz4I*PX=1xM5Sd|H+73s?u z8sooGMdhw|O9>_vTr+p>I7m0Bq2&HKR*nCDmnD7Oyz3CLAQXF8F? z!i*To$pl#t*$*gyX`vcawM;02iK=3Al^V~Aihgp)k`}W68Rwl~AiG7>v`t!vtvl;8 z^_iyjrnISFXU(~Kx(&wM^Z8H*=d#aC>1Ju%OC&4SynsfumP zK>v1qPh*z_o`5}4*S+09YoPL)kldxDk;%b@ad@g%15J^i0{d$eX+MW)HegDa= z-c!`RcqY{)S#@TYR#3cg3Rd0lDS z^5y#HwH31#XqO*OCpse8wt`zq`NPY(1)8>Oq$82mHQc~IuUWp_mUeY`vjxAonr~_| zMJ$QKhxH4z9lts^n%;2@|Gf6_a*NI6YVsDmIKnSK%ssF1Vl3G#y5+C)hYu$#5mQ@J z!2;&w4PkxX2O2S@S>F8&(k#J{^W1X}QHZT^<370@2{^!*qT=y;kY)*5Ug();)HKW0 zz_@5UeIkmPlmEiAsK-I+`+P&a&FZjwOa(qb+%`ig)L8-v=#PQKoQ%h}_3IPyaN3*k zcC@scL)Fnbi=$rW@Ht(;=D@5;rP{>!_WrFq!o%V1rtYe~^^Uc*wV%Gv=O7YnZb@ap zJi?zAGZAaWG3jdFRBd)T%pm4_Tb(+4tHWV4wj#SFkqn4|Xb`2h6J6cOWQQ)>?%c5+ zW6oiBiEf9@Yj3lLJt&{3>uT>w4;Z)iSQ?XJ+!U!a*D>YDPwW`Akp1*}f@0liCGfpd zTFw3dx2*`64-tXjgZ8kGtEGsc)_GZ7O#)R_R!vz(?6B9{PK0tI(?T zI$9l8!-xig|7}sgpqK}sm#I#8#N}2quB}f_Yw{~8;BX6mM_saN7IfDqjaMt zgKFh5@w9Xa2U1OkqrFhNMBnbT#7ry=kxlHK8tFCpHBQ>8>JXl?o~0zz)j--8Nkh4c`d8!wyu+1&6}CgHwShM;w{WPRMHtxBj7Q` z5TWY7WJ=0+q1Nx;j6X@=&nbLivb^&}Az^uwHVJg6Su~y%zolVxV{!_NGDxfVr|;$9 zoDz>(rS^_%pMDxSUcpG%@R~9pRCNn+o)*0SkVlZd3{5ts$p@n~PkvPpUF7H8#w#Qz zCf4h3h8Bu~oSHlAP&kRl3#9#K2tVf&27q?j9gyffD6Ig%mx&%Q!65D-wuwO8UUv9^|6vs#;|!rdYxajYSn%w%)lhD=IaZf#>8ahRPdm)usy8)R>pkM#^3x>dgt{Uipu$MlC0%|{m2y&8 z98k1Qv6_$-L+xX^EklhvodxoP+9~a&Ze_`mo4(6G7)K?LWH42bJr(Nh?dWwEY;|vf zATc#=H?0&Gv|ar@`E!Of*!@~uQSq6(RgrKI&#-;{RtAhwKIFI7^BOfjW#xf8jKJRZvgw=*=ma0A-l7+ zTGQFM)wZ=&w+wRf#3Y>*(^MUlIHR@*s;(1k+J-pvgSF%ALO4w=&y7K%Cf z2R^s9-d5|X_7#k3JA#=|I-*0lkgpty^11Vt_%Ar&}QEUbnW}*5lermo^0TSB*+H@on>IfD{S1sW8^jJDg*@pIly0s}-?1`2F`OsQ^ZO&Hjs`XVDjB0`% zBuS`~UjH8NGkMG|i*8R{qC3(P+*(kgS%6OJS=*V;cC>dD;G`BSA~^-}N(e>P?P;)> zOqPZM9G*(TgDEJN9sJt5bVG-!%TkcrgN%u!Ema_WRay(%3|{hlZA-`oFnX-$teJ$k z_N$7&OhfJ%NV9z-Tqx>~dm>v#^{8GPau^qDoDPr6D{d}9c+ZcKvaM9_Y(tR?2L-+XJ+9!DOSFmGa8v}hjcy*%N4?5z zaTMH-&82i(d&sq|MDGkm=(ctIV#F`bZWC@h)uxZVtsEHUx8i5P*yC=&BnTC0$d&^sim>c$R)iC?51bB=f`p@WC7OuO z6?Pg~%)-TT(}A!voMc#e?Td1w8o8wd8thS~ODKFQAo*PuANmS(oOYjcwNKwFWVEz; zMab^-%NMKBHN~7@7K&m{C~(9(m+C1e)BEXQ?i0jl+M;w_pGLY^zL+hjaGz;o7o|!y z4tM<7r;Oiv{eDoRCK#Ay)myXcHcr<^?-)dYMlw?S6eZo)VVx?8Tuua}ZDaqEQNFLI*9@7wLVe-IE+ct4~}222A& z%apou2AL~+mqSOtm{B$bW_}@09#Z3g2NmlJXc?oU!sEhKuYd5eg{1vKXwTDc9(>>L zM+RIO*hSJc(MxOr(lrYO|1AALc$PF^z6=?J{yip9dR4QwX?4{@ES&T|Feq36nMtFm zA?mrPyU8>#i9`?NX$&?OKp1c)=kY}-HA2#zfWjDfS5kz6*U0TJ9A}B6SPv=3K$^!s zp+o7@I4dVoBg~#9&m5IzD%v4WAWS{`RnDAj@SCl(=j*KwXS2nCxW9rZLdFX!Uuslz zo;K}lw?aGdV)$zEA|?AR=%bAIKx@I7`5i5(rf@^S!=)ezmz2&`CG(}D3VCh?2yBe_ zi`OwW%KT-KxTN{07;#A{ln%N6dH5BSUzJ@-N8nq`R_K4o#TP*+9~dt}woPd>QUx+u zWZo%=KYP(cDkO@MGL}Tf$z|h-r4)^$z!6EnDZzS>O$EFjVlhy-g)CZ_bmvpoV5)9( zh;ji+fmKB7lx(FlFdi9gr>miwiC;DVN|oNmW1}<@iXw#(*RR~+4!c9{U_qP98FUz{ z>S{NOCSqn{&ftlZJi>g^1jJq_@lAdlF~Uik851ktV{^5qQ6z{0iGbi~!YN1|O6rc& z_t-1*-?J&De4n?y&$`YvSjS+@CB?u{bFZnxlJTShX|Nseghs2~ZWCKKrK&p{b?q%} z=4OL6PL}_y1WtfsK4ifeI!nfzN*j^^yd$FxXS9l&k~l+XZwb*EF$A(`f1QK3vwL7* z_pVKY;O14Xr}AaQa7G_dHYH6gaEXL)+LIlg26FQ$uXnL7E#q; zpu!%DD<-~w<0^TU*M@YHXu$_>ynlVnm5h251*@cgfBzK@B5i3@V&OF_Q7PSMmD zLiqH?#h$+WNKLz$x?)!**%1+^ z*K^NH=Sn-}-?Py~YX6~WeJB#H4-9(-B(aXYyeU4wmT*PS&93O|I z$=owM(D9>Zche&6+_`LTn+aF>|K`0}`)N2$e;6kH@-n?OMY(0Fk3ZGJyu`0K`(X}h zBSDB!3$MTa`VH7jgUDjWEukXt0{^CBkkl!0{xa>&V;`d>@R7ak{CneyeW*8LX5Jmi zP74Za{8OkEsCQt)U{bG185DE0a%hy7N;F{)w^}aWrwxZV>8cT4{=DXiN1s^A$&{8b zB9)hd-%n3fCh7TU^7yOVip+kg7yotltU60>|081dOhq5E`-&SeG(pv z#(imfRG#&Y-VwI>9d3EnWqP~QXNlUQwsv1UnvCghuF|?)L8OdZ(s^Ds3vj0``j%AI z37Dx{lg&m`DKVYKl+9;!I2>k+-UAV8x3TIaO;XX{PZY@idaHt-((s6nLyni*+!p|w zt23()IGlc$5v<)!_d&6|SX+k%<{7Ga#;S-3cActbu;O7w;uSC)6D}C6eCM6%iCqrJ zLwTMYnKli%_i)tUK>%i(cg9tC#UvQ-5nV`@skL4rH>L zvhz>sP1#L;Q`1Ek=}jhoRY%jw`TA!8W}dw9YZu-4>ih50l$j{Ts!x8U_$G_VGJ4YW zL{%aR6X3^Xn%VF2J=bf9+r#KQZz}%hr3$!#Sbd)K^G5ETDfj*vt=#;#o72(^6F?vU zm{iN|MivdG%ZoYOKM!@j(LXeXOgG}R>O=3#!}IepMSswGh{6hFwCGfl#x86_Yo z&@KTg$=iJ0sOFhvNA4k7noxoo*CYauNx~$*z&s}mh7x30F>T~I!1%03K$^0Cx)G43 z_-qm0)~J^8IR`7(3((p(-bM=|gMvZLxSTZlsIn8*XCZ>g-Hh+^HY_eyIi_$1viC+{!kktr&y3Gv1!$!CWYdvw zEQao+5|8T1D9|-k$cEXbNYAkBFlN@V^gdX_5R!v!%V6*&U^Ql!JT~X|@)~JPQ}(Pl z{m!!KK>yCNvw(h`{MyfWwe>$&o~z*Dg?+=ofaE0_>4b-uUy~?^07#ui4O7d;d@V*2 z3R%#KMk9H^YW;2nI-ooc@uSthsi*?;6DQRX7UAU<1Gl6Y!=59get^!~vFgz=ARp*r z*Rdbzoe%+W7=I}(;uG0OmoMi#w07S^Vcorv2Ohf5uxPa8@vhEDJS{xF1nBWp`sb3z z^w;@VP6AR8C?|oXAh2OPADAg?J1N3pjY8XVC39g>(>fv+ z;SI)TD@I|m<6??#;xpQlSq_&_l>$Pcl#@6L%kdE}hu zL!_{0;q|NLE5rqrSn6>KrFuLC(v|YVJf(rntF`A1sj`K;1v|}bHhGC-!`OId z6yK3JHgJyMj?S1ZU2;agL{kLs@57li_1Sn=B2RNl$e4roNo01I)Z}+Ex3Lzh3&qHY zX)i*UZ?bL@v%TL&Z^H#Z_OA`c$`7B%sr2oDYf7$Jn(fWi`(ayX+n5i_dI5x_6%- zT`FJ7LEJ+LU9sWtX>M91mr;q+DW9Ammnon8lLOcC2~~Mxy5mdku#m$pl1CH(WB-p5 zvxOQcb76>#4{wxV3YZau2T3Ppa)4zXsM#l3j`)#VvcF_VtJunBnT)6gXw(RRDK(y9yu%X5fyQm3e)2x ze+jsV)xs!3$WBSJ0t5m}mt_MHGJ-{LOwrj#_~6t3g1bsH;p#H5ZF<>u#ej2sOoexV zfiwAcF=aqNyA*Q(t)Q!XA}8TSoRSx`r%D-}nRHf^ZkE5nudiQIQ(`Px)4Qu)jC#WH zm{Gbz6ARmcn{R$&vV>$dV?og*pk#EXw=tEA6mwNc;2~TTTP=99ESw~j%}_<$)O;SO z`Vf9~UL%Uh0jb&_qo9>ADOGx%Wyl(YWHG%$-1t{g4?i3k$_*QzqlGWYvL5f&-2cGJ z`(5H4u16O>XZ$H!1d{}$-L6?xzGnm`_~**7N&^GIN{Q)}*PY zbaWacnFR_{Hta|#;?l`DSh|^9E!!PULaboGd*AuH5MBiTRdTgIDLsb#Oj|L(d7;GEtaq_?aJ!Ci&foSmPB3*^EZT+B;Z5O~f z(&HR#A2cYDNhR00cW>v)&Z@mtD_7!=&Xp?3m&+wbM^m{;+o&}+7k{L3nbS#zL;4um zy*Z=Iub?SKx=!fRJ%h$BW|8ShKmO5ag6I8rsp ztX!^cO|~~fV^;hQq%#80#u2yna20hHvt3Br>Y7Z(g0hnJYetI?uN(Pz&!cb&WUt~xdZFB>+gk-7P zFO+#q)uqObrj9<35b-0`4j`?|1&YU_zOo^=HW0Ab1Xm+??TnHS?n4GSpG^9^38BVh zEm?2akSb|6@m{;lhdgjOS5j45w9c?#=5bALy1P5cZ))D!v@@bTgL2-qFkAN_FI0U%58GifYBwp{zl1IlZH zzOirM4TC&7J^9Q+T3HF_^#M(N!rTNIV3($%r@E6WUY$LZop5QIKtI%Cctz7w*-?py zk9#F6s4Spl1(lT*Z3bXe{di3LSZ-iToV%Knj%wyU`rI2^(?h*I!f!rQN#A^g+pxYW zZ-wES_wEGG+R5MTs~Xub$Y1_P<;}kQ3YG(#fAT`G>N|JpDoe}-`RuDZw>Ne6^Uokc zvg7?lqKZkeOY?^i=RfyGU%a=uOMqs}^_tn@F!$0+Fbl-f^dDE~2G@7u>}9TUn+bHE z;vVun_TE;Ut;6uR@ zhBc7_k)|j>oyRkvPLRnmUf5w0xS$pvoKl>NfI1G8U`Rm89bISga0(^_9;|O4uo7l4 z2iWo=bR!egzk_^SRt>^4fNi6s3#vTK+dHG7wqGn$<&_Q9kY9ABYFj4Ib6=1H7&kzD zKjt>0Sqxo7B-cl6M3fyQpqNlv3giK>N-#M5=2F(GLG4C@7?ymTG@urr5uZ^}*@oPJ z$`@E&9nFob8-yDEPO^>;=9!R+hg>XY%^oP>6TC(7RZzmmQqDhHx$<)*eA>!9n3RAL zK7C_x*Iu=BXErwkXh5d9_QIFWXLoK1m5OgpkGcA(GD=RAdvoO;a%6O#ggDGGsI^YeS8r z+E`r^Pc;Z%xXJFcy70Y_Eo2W>MFahv(M|EK$>FGW%ZIVfuBJ|>-p}~ckCYrA+VL|- zrw_4cFrshW5lN-PNsoSuIpvO+-8OyQTB=35y!vYA?b3a!gU(Uwkgd}dD5-LSClo5J z7N^J~F7{EpRPNt(tL8jJkW75pg(RMBc2^WH>W~ z*6w9kQD8Sgo|Z<%`-ihl91Le8go=DNE6#=+JjW`~cc`nLUobqcVX1x1 zYU?uX&9yJz{WIfp`*$2{7h>xEQh9;W_ix@@szA_4^ zjh*+aDNnASjZI-q2qNQLmkZFWGl_+Ka33gM>N<1YzGKes*_(c>5$efedQRYpjlL0{wPDu7C zJI7t(Qhejo&6%VzgB;Vvz!!Ab**AzALQW~uH_pu=@{Vol7s)-M%aVgDc~5i&v&*9B zNdENUmvl&(k2^zjkqPk(24cbo!<=S!j}yw{L7Z6f3vlX`E=$T&R0S_o2c*ln6p_`c z!oobEXy%Y+q;Tu1Jp8h1YvBk#G_y#JUsmPempxmzjtE0%iZu9T&j^0mQ@AycFFG@% z#xHyDHGDsdgZPdTL9m9=BDM77G-^O&!aB&42t`GjcM#RfG-WqlF2@~1q}ii%tx0Bl zLFsH8fW3KmPFwWwhnMRV#f%{DwTA1`yZRp$(xg4w?L zmYd&KBnJ`5;*n@SovsjXeEO+8)_N&xiu^RRH{Z-A0S&3#3P^i1r&rJR#+b7c7=Q#< zuHu$c@1Hs^l-5q4E{Dwe@iR$T)8tcWFPN9uTe)!Bo8~186u)&&rL;z9-^VR{o{~hl z@adn**R2<`rYT|iDck~Z6x3**z~SO??Wdp0SE{GIDI8}fxB?f)orq9Fd$^n*k7<{lYTYj z%E@O~H1q`@>rCO%T;hktvve%5S7YRowd&zr{ zLJ3ta=bT0ais@0wQvBp%qWhbTfHWPF5=el5*>Y`srluiej#>Dv4_X{HyUn3DH+MKXjhnig+gpX2*6xN)##pQ|7!_XJ zvw#1fq1zOx<)vk_xth@I@EL4SYlyBx@J zAT%-~E1#7HSEGKPH*V@`!5Fv}&J4LOk#hz@3Nc9FB z&t<{!zy}p|25c_pO_1fXILs~_Z$3~H^VKKM-g#DfRI47 zRCC~U)qh?o-UiM<1i=#Qw078?kIIaWNdC&nFF<7&bTT`Gz`(0X9wrssk)O(z>pb0nRj|hbG!09S z;f61#+r|Hvd+??M*{Yb`XGXuH(;RdrD+Wrp*Y-G4 zwE??zmZa7-SW{JPM!1!2sm^9pX{U?J>`k=+hlMRsr^I3|r(3#m>8!1RCr=lPPrk1D z{vj^!ITeN*Pa4>5y4ZD^(wz_|uVNy}H(DsPxI+)B zottf&%sso!L#177wbE6mx%Q3CC5iRgThxic=Kl6gTIm+lbv@0#<`zRsusPh!zoqsy z_#5gC^^Fa|2L2v(TORkaI#!z8n66lzF4|nVL;EtY>kq2Cb_{LaoiVo zv#FuqKB#?PZC~F|QnOKeNc;|WrP|l*r$aY32b=jnsDllSbZCEruYr$9mvQNyB$Q3G zFRLrp7L~3xYj+_G4K_E@H~hFJTuc~Ofp7R4JajR*ZMeBpi60S}_5#c)!p~gK)Cu6ddK*gdF@)aS58Wa2i= z^vX;+55pYw5Gg9Lt)81Lw~Ef9%O8+0Up~tDmk%%lJIi!116;rgpBXn$hfo&+M(+Gm zD&AA2yzX3ZhivF3oqLW9>lugr0P9WXrb%glBXNO;_{EMx&C_zPiHsB?v^y<=6Hj6) zOlm?wRwU$=kI);+BZaGWepa2@YH4Nw3zI1{fiIAfn6uD~#P9=0)u`Gpmf7|gvtA-D zE*2lxp=1w$2l-`4=F8X`nfSXK^Vs3C2Aokz_wNAvSOfUY9;i#%#UDyjbS;*yKx>ou z196Hjl?b$26ClFG9@2Mzs7pio1lzH>%^KHB__4mp6sSl4+z+HF@*(sher&OH2U?n# zPdghl(%*CcsXC`tQtooksrKZZ z%b&XN6dlb28y;Gwy7=vA>3-zf(f{nFSLdG}3(>>He7=(w0jj}kDCFl)lD~qNi2=Q= zym$><+`Fitgl!+o1t-uQv)cT}N~QW*xEpsWUN0sRWr9!21w`r@K)IOBBP(Rdlhm7# z_|02y{U!lN4-_DVG`bIc$mUvaxWOuYT`SXEh*wP;8&gx>TzF_28XC~f8h?7*wx{FT zWH6pc8qyZ}(u1}oOKcBnE#4F;0G`BU%95A%>+Zh$I)~Qgx7%z6bIO)($QVLoe64<)OS3<$rlEC0iVOWy+9WWMPmsAO4m@{YP5m61XqY2 z46n&m>8QpRTQ(;LLPPqQeoj7%9b66`VS7Ocv}UaBNJ;tH`h1TbEw*;6!Gg?lkUtpN+p%Lndw6m2x~i4#rFx4$L0lpjS8%%y zx9sTc$M+hltR_!chGzs|?M5Ng5^YH|f#NY?M^u=p;gIE-4lJHxD;Q=$Ho?Rc3byen z>=OWq7`%#XB#Vqtc!v@G^i4=og`sTRR+Vh9@pnIwbyB)?t_o^?PKTimIv)xCqvyr1 z&1O!>m#&92eWxOUN#1e>ktIU_flR{L6^?WUR}kl5o9ttfD@pFDkZpx{3+y^*6R30v zxQ|O1`viyk{CD4$E`n9?Kd~Yz?J=$`e%F-D@KIFBqDbj7Ca9hfPiG2i;vCz5c_2t& z~7tnY(LB=2kPeF3iN5OfZ*>3cRet{J@mV4P39=b%zCiB_IL1%=nXyP+$ z(_c8YG*@zRD~U^0)`_9Qrgls5M`$OI(~-!uK#WHEJL&6kLQ*d+5U>5}_xHCN57I2o zi~;oW#_xO9EV-ae4PIcOp!I>?bSok)@Lw==_jI-Q!e?x9gCF1%*+rltFOCc(ksuxJ`m4rD9Dp#_-ih?ZO3jb0 zciwsx$e`hijj1!rIrx#7#QycpU;H>FR7#J5B2N82l?Y#(cMH^x$WcW)_0Jsj3M@RZ zj8*=qcL0eh_~n#bP^=u3M3t8Wjg-?a{sELv&7`n_n3wDkDQw8u6$=l<YnuTdw*g0@SYPl zFu&kSjlA?H*aPC(WcuvDlk9kEfy+zO&Vx)>Sc-sH9i`e59Q;)Be* zl?G=r-54tTj|WI+re(Zzat0Am05iuL(KCrbn$5IH_T|6yi-@7-un7Z;LRbO96O!}5 zfO{wtVlI&>ri3Pg8pe&?UIGcMlH5;bFSb+~+hf*bSHw9+e)Q zC@!Gx#dsIs4d2M^SWARP=(=TL1#9FISHcNoEPjx7AQnGVrU!tD2mJ17_l~uZC$-K- z#zzqaP(yIOuwwrsF)aXK@HZV%SIo~pcPr=WtLiL^Y3)HfR03RKSIozw*&0pKS{Hx> zAWDwL6Fy=28jgX)Wf(bsgW6(ogT!)UvFd)M3Y$SYvnnj2)*RW}$W~`Tf?{#*=#dP+ z=i=Pl#mupR(r{^ed7quXpK=k*xsumd#kn!PuI@{;_ii?zo1P+I8R3ezVul860o+J- z-k4fEW96!1DtpKkPZ+3O6%m*Gnv-&(%Wn7bRW4PH%L;7?i5PHXSzHF~6mvBl*4COR zf7S1~Zj-57oh|WPS4_1j(bn5^A5=BR16>XA zSqF6u@fvHL0bCO8wq`I}RES7c&r-kqGG6{b%oFy6o#-9X-f_nrKLvV^eg>tcGwgZ! zK^=BuX=Q>mlVc*|50D^B$PFHq)ZC`DgCJ>!N1%)sW#E94$I`}JhW`M!07aHUo-|{U zcXpRdX^pB5Yc70;`E9%;m^j;+q^7^CdvgeUP!!4V(q-z}dK9uvn$6xWC;>sZy@F0H z!`V?}IuEabA``_WCgl1ka3Mx2*7Eg^rZd%spm+=GF$JiHtpP%@rp2DBtuoxDWF8Y- zYoa+F=hLwmQmxP8V3{;3@|=q_^|6MulSd^QVw`pMdb5)^JDteFE~00TI+9XjeOA-r zY&OSuR27Y*4|Sh| z*U1^C=Y{|cF$o)F25Xm_Pcr5hbAaV#2N8>+n?}iCT&&3vP~I8i@x5SbRA-zV-Y?r} zD$|koFlL(MX?0Jux^>G=1;R&aNXzaXW0~%pb2GWN2AUivLAl#d>kK&}Zb7_BdQf%w zOqPOGJfI2NHuE#Jc$4@bI+8;1m_Zs@#O05m)|sED0@sUt$8dHIE3OcEqEgKfXA)1 zn;R+{3>2(`tA+?(GM_^B=i;B*(}FwVpzqq`@3z!~6(*j|rQMbU%4BABgT-!k;}!d+ z$`6$Xun%25K_8P66IS*cT?wX%CgO)K5uYc1Qzf+{sX}o<1}#G14=_4TBXD{KSHh@` zrH-@Q=3l51p?EZ51Vch1?y`r3&9|x)OSo42J!g7L)#0v9R~w~+>grl^wOcUVW6SF= z1AC5iheB4FNkiYE>FxDz_OxlGM_;6%?@rKhTI;Hf4VI=>;inoY>lUuTZ?&0?Rrb!7 zkkEZ%Bw)Tp^-JkrxFQqD2`hDkT!w3c>q=IHAL=Taz&VX#FTk8~AvWxB@hR~-uFhhq ztFu7Mly5qz8o5LL322@fz4}lQc0z$-l*td%*Z88YA^8_TrGPnRD5^K$Yn!dfX1`#5 ze@|o2J*xVUy{d}UH}4XwxZ^KM=;Kh?k~LnJxxOf}X4A%B|3oMLV3^xlzc00I>z+OF zV?~4O2On{)T3t|JUC~k~Es_=i-b8p21>hm#2%=8Xo#(Y_>A2utq!~2@E6&C$Q&~vZ zC4H=_47S&G8(~Dd+grPW!Y=V+RbQy8d!td>qelAtPr%ys@7Oy0Oj}n*oxHtr*As$|Bw+%Z5 zU$X-aFGwEW6^&fk`X}0V8@6iNswoe-r0|BjvJ4MyTXb*(U*GNQk8BBdH+8nQzVJL& zGeU{I@QALpzNso~iWECb>rH$526o2}q~F}|>JvMi5u4xTq%thA(Et7yZ++Ax1e+~Q z4LW6sODm^oZExh4yWw3x&Ezsg58FU7;!IEZgkmhrFBn1`Xm$O^YjS zhsM{f3jxJpZVy^#Vd1dk&I0@o4Uq7I7+@YwkdizCClQ3CKCjMtIUpfj>i48s#gBu! zpljWbQM6E{L6NDnsC!3M;tlH7=6G{Vcvs}%QP|q+jM5wGh5=AW5`Evgi7;1u8_ocg zo2W!h-Y~5WEOYf$nmY49@G7Se71eHJ4&^LjMn4>hL<&1WX~yc4$R#qc2*S#Ym+?0u zURovI#BDCw7uek2-ye9or2onv>7X@rY$7YlybqQYWpp`k6lFJWdNvk4JcP-t^4W;{ zKey>Lyp)B@D9a*eK^87szK|^(39*A)vtwyrPEuPIDX-jUko20hE!ACK{#oaN%H4%A zSK1$o?%sN^``MVbGt}DIX%Mf{Y%1?6bMra2rDbc@YEMpKAlu@8gu#kRB&~AOkpa$| zAnV9e%7mvRJu{LLyv_G$>Qzo|%#h(5w3N6h@FM77#iXY_{t2x6=r$5ZggqAm+eH zXN{3F6i;%7!eJ%mNIA$kgL%W)lnTdVK+Fmh-2_H1EFn+D~o5nB$TC4;T};w)@V!fkgU*7{|FQ;VM|wEhDN(v$M4U zw4?P7S3~6jom8nVt}H1@2*Z+k4KOvO_O9YBMsdG-OXrr&b|GKX?1G+Uf1;|t*myIN z@u2M`7lgr{Mu>V1?=;?P0Ytv^HzlKaZ~%`drD;U2f%w^?n9AH}_SkJ}*61D{TzYW* zi@S%>k{3?<)2?TA-QJp3lkq8ac~w<8Kw?t1_#^3u;saJ~udlPS*RWI5UDs|3j;A5B zAF0THQm8k3O^F(<_!DU;QQsLzw16{J97?o%yX({XT~9vJlWokpe4N3l934j_c*mc` z@LZsLN0&JVA=-b*J71cdV{SyOEY;d@3v0y^q{KAvN&S;3d z{9}=xXER>@qGN7V(jT%oT~DsjNu}c5T)op)S7-Q;E0v>G}+9l+NV~PKN(*WEgEtTI}UH%x35WS+2ri&H4yi2 z3-9<`{%E2Pm&Ie$+{bA)6m2xsTeKz5adGt8#ADibU*C1?kl|+!AD%bw;m2=ZvTNbH z_wzpS39j`(>#_rZHS3#~t{GUfq50sNLDc~kAKVB;>EaAAC1D(C@N?u2xpiBLSx*B6 z4C6m{(L&xNoX{k^30I6?`lSa zUiKS&73 z(b^`=L#1ny5f^Yj#Dpwe74W$<&&S<7|J765QbV16f|xJm ztE$S1tOc|@zHn}y0ysaiSmy=xlhttjN7A>4SMYIbYapI#ZtdFKH2}#TLX`tPzO4LpYF7uGXJA&i62GvEoY-J$a}q8Hw9WFn?q3aP$`CxF0GMl53P zUf3Ns^|K7K+S0tj}dpLA%;LDN4f)AWB0H2wd^X!>`; zKYDx;3wt8^g#8qa}? zPpDU~qV^ROP34NI_TBfChLkz)ktmk~IP=w#3x$YDWy2W?#Dg)aA%n_3Qwo4Hlzh)u z3G5^n(FKT8cc}XlrUoHLQ*Sqw@PBxht0>#Br(zlPR>#5dh!S+1KUlG2FXt6Q0ksl;DSe+q<9ddh2oXT0awN{ka1$Ln9tj7c9=T5?fw=ju zhjQ+<3TB3ulQDJABt~}~F&-Jse(^I5xU3raknME-B znf4ST7XE$W)Vu#`{MS=+W+Vh_W5SWbcT#CTI2tWi{!aQ9i<-X5AkRWEkES!@kSHRo zcm@9ed&w!30#%HER0WnUB{Lv&sT)VZrv)P*qflO9Q3wd-X#t&q@CDEJ{6Whs*$Thj z)j7EEnZH;5m_tO7DOL*=Og`m=PLEuCUGl z%M|HA6SU{*+3$f>gZ`g=_0_XyU(F`L+p+-|$4;?CgPal*q)Vr;Vm`{BRE=UEDWUQB zN3tU>f5e<~LHhdr+^%6DEdw!kIDePU6+@-kFq_?Vl&^W6bE%(Lx#N&qc;5B&!RH_e zK8^xeq`qbTJ+o56y@{8XylITG2;y&)c>p!Vy&O6ZArl<%L~c5zv!tES(F=F9w6=#k zqn)lMv$nOawN;f!rlT#)Gpu)+Z8kP$QxS$u0)-JCf*}8(z`E@_a;6i)chdOBcAKs7S*+WDGIGjk7mN*&D*a6C;%Qg)U?4D_q6c8LkUg zk%6M01 zhvd|xyC=&-I;?m@*_|sbi`l>iu!TqIR~Wx$%s@IGT{llJFiI^-C2cO2N~Urp-pIH- z7+bM)qefO!pEmg;CN4`K5%up7tX=kzvBm10H~{I&0vM(l*GJCmh3k9^!d9`ic(QF% zq;fZ7pO*jLY;23!TwtGewV?i&a3vfeK33^YuFvyUZY*=j;WvSWpBV^3pO*?nB z@=2vb(IThgz)E%cvc(a~AbC1j0$EjDmU_I`3gU%XYE#q$1@mYN#7aAdIx!r4Jq zO6W3oOe!Vxpp@XfcqzeRb-V1sYxk?#6Yc3PBWT`(T(UFP73!7?7$$F}v�`Jl%i( zqqtXz^**>s=K!UD7!ritHGO_BAPHr(Ar#rD5BDO3QT=k)ncmhqfXy*nX(O-(RC$mTw=^RLS{y$!m*E>;Vn@&{i@ zRa@4yNtiTR-LZ};xhT^#2nuJCCD`+;-tBn=yg3^2s%urv_Vz$?LcHp?I)qF(Bm9)< z#N#&StoU(2l6&^B*v}zGyG$i_n;Ini>FSDjx$%L;k3aChk;SjPa`?zAy^bDphk!{6 zv_s~lhI0bU7qm>_3FH-`WuMyix1ygPJ^jjj|1&_qa`Ua6;|7RQR%(&$6ecVT8eh6s6q0i4OkCvoc@V zFf_wS06Tvds`sxWw?LV$FyG#)3Wpk_-ms-x=Y>Lv+i!B9W62SAgxtNlupcbC#xgZn zU_5@oU9NI?9UiBvBChi^x&Wszn{+<>6!Ny$=}=$yxEqmQtEpE(%M*u6n{+`>)E5r+ z#B?ztzVk*ZbnZs5;2HY>ZwW`h&(@=ghvJb~q}!>B_#(kjxT#wgLJH0kt^xIUq%j;Z z+?I)aqKo??!@HVh(zc%!aYC$#Bduu7r%{wd>aI~A(t&P zXQ{aqyshMSp_Cp3KOnz%W%n+ykty0_XtkWmH2~ZY5^nA~`S7oejq0+e7bcePt$$vh z@Y!Q_qiYPFHP#H-`)AQcv1ae~XZw#EKRYw?av@hu5aTCSmaQq}cfxqUCn1bGQ-wfx z%iDl#W)i9d&delTv!~E@xuJz^hf4?-R1gnJ25$bVs%neLRnhoFFn71}knO}vFTQ0N zacnC}u8OU97S~t2I!|FKk=qZn52O2F2MTVKDPPxL3=Aq&%noA`!iODqnSk^kkI-Ss z#8=PF;IeiCb!ZFNy|YSmwJu9twLyw%HVjntr}&q9RZyM`gneh9(j~mfKq7RyU)L6G zYV9yUxN2ZSXNi@6upF9G0Z&jLlMbOY{B%GJic_KV8DviQ{}~Y^7J_{C!F1{C6+-=e zk1W2=R^SE?c8fLy!a}DJa}G?BOB(Q|;my#uJQGU#lAeU#+T-f$GmvY~k0^0KVQhW6 zL|FfQm8Y(yzBT;WkZybJ9>-|(_f0?jdE!&8_?`5XXQh8MB9BAkD&$ht3(ucWfG7Zt zyRBfx83%6z@t5hRBmDXo^64vaq&PJj(+|@`iRoB?3szyd&^DgOhiVWlDVgA!&C*#& zyvd4J@cQ8S!J(dsLOrf;Qn8+&1w|t}4i7&$<95^3_*dA^=hVKWD`}5N-+xPo*6V=9 zCH?Rooz>;CSPjx`3hoT-Kf>GMx3X2gK&fU>DQM=%O~2xxlFv~-j8Fl}3Vzx^b?%PA72(IpT!t>2}#WP-&vXR;Guyf>f`_ubZk42SSZu-X98tL+l&{ zxL2&nEP(+S7M5IMIffPC#r0~x3rd#;f>!r-1K0r^LFq@M)vD|qLaR}nUn6qXi?*Df;9lk5I*vtuFxc_O_2&C^)@&f zosCYxEdGRpeGkMU;*USlMM4lpFtpUgElys#;wKWyX_i&V6 zr{E)GaLDRpxU~qTj)Zjzfj^qJ_P)CnG4e*oPi@=IO!vnPi7T;a(Dh_KIt3;T~c8d0JE&r zjp%L0XDl3)smbAiu|5c^kd+C=7{Eb6Xi`N`fiTiV-iU*hRG3PALTYu@=Hbq-R_VNu~n;e^sn>WQly7_YG-C=R6A*F%rd@(P51jGkx{G}o% zpRFm0mo=OC!q)ZMergbFb2-RrhFu|T)CNf(Xi&RdAZo<|?eJ>xMiVcR?$w5TA&iD9qS7U>-gsGcwfIkrZ-_Hwvxp^ zjaeX5x64mL!RfMxhmXaabN|5gX{c}uNDWCtuxK@}Or1NT63e88-2N4+ush%Y<*Xa9 z!w5i}-_f}vfjFFiNF3@JhnDC*&?K9}Q6~?D)-XIjk7wC(oqLe$?Je(BEz|T%SAjc< z41%&W-utH4qjI|efP_w5AQ1^`L*bh~P-SbLT)S$emtW#tHGI$jsO5o{7PqsB->H$V z6t9G);=~&){z>{1>zK+RgZ+ReW^Rbo8<*w7-`kacfCznoKOLdFBKT3cpdedBmvjZU z_=pPK;mAteq*-!EMOaEV{s{mxs(tyv2Om_qJpnte3-5L`a`2GuCZ=l~4l3>ULH8mTh3l|YN3_BrgqL>_1L4u{`__8SI0I+D!V+Jw7VUH z+jko~+wJu!VNds#-LV7O`D$x%adlyIW2CCf)2H3T_SoE8Q&xim#h4Bt2?jN5 zOePy)g8_1pESdKQLb~Upra|n=B6l=+jb!DWRnJ5=VRF_Oc@a6U3lKczU6^}?&L8AO zlw}cUZSe;~ECm6R8y7wSS1BGo2`&8?6jPL%VB4Ps$sx8A)#@Szb~}}u$v9CE>&Pot z?o1_r@&zxgR5;3=$;Fq>0y+j6>~SkF$^b8N>TVSAlu}>k^BCYoPVdnR@MlVNli6a; z5J+8-*@AULL0!lu=ArY_H~3UGib}F(5nwizm8_ADib#A{CCFH146V@BrKW;A%f?rB zfn-fCHjyzrP1(swCp!NED(Qm$+fOS#fV}wHlKkcQZR`7x_0%(rAsGT*)NA^h+6Q+T z_LuBpi^sV+XF=_OHgn3s&LVUH1;@-i7NoZ+8wS?~!8y8d2-twX509bgf${cIS`TSx z8b3g*&|^HwlVOfHjXLFeC__eRY?GD z%0vDQmqv%-P0YF@=gqE8E>U&ou}LXkYB!jSsXbs6+cNmE?h)*r5xVGBfZd~%)l=@k zG$K!Th&6)enS?#YE2e0dA$aEb>HO2UVY!J;8G(=KCglq_E6Z&v`A=qu@$OK%w33F2 zavkzlm68?vDl2J#CGh_WB^t0U=s71OpM8Qi0Y!%3*3@Wd*c1219Dci>=*b$_g`e^k z+qF>p^%)yFcHB6QJ9%FmSvjtU9XH^kdKepL z22)KjegX)~Ode-yn#MSzN{T)}d~(4!pO0{5^YENXx}AIY#TQ?MLLCv6%6N*|vlUeK zd$Thj4)!U7CO=HoRxr;e5=TLA%A89mq$f~+B_b(Mza^^Mb<*EyObJtK9sjEv&}$lK zz()?W3CFcp{PBt_KutwI%ZuBuex++|O`zx^{+*_}MqVvh+sC(l3&A+LCha57Z`km{ zqe?F;Uauf`Q2K`YM_0;BEe@Gf;@|#&iy;k5@f!y<$#7HDCCojcP;%cpSLbqtElE~X zoUAIMIO7?o4=ymd>VFGWkpvRKL9(;;h$@rsCt;m2+2?b__-J3Yp*>LWeX@1=fiO-=tnLy84+2zc;*f_tS2SdQ|`U&*%O*gUP9s zPI4e8uk!Gv?((iph7{$3qK!gI{QBX?Rr6VBz65LZzo=~~XG<&7p4-u1vKB=-m^N|x zXWY}i9eFDa(whtqKz?WQ({8gZVg$%ksP z@fWaFR*PS#p*!#+F=w=@H}+O;j_{q~<__?B$214`3?F3RKjd=1`wjfcz$n#!Cw3Zn;wOw?Oh&QN=-E%DA>6NCV1dtx%sik7kOBBHY;gKbSQZ8!lzKVw_k;X>j*7WRgXK?YF3 zi|B{SqRn4tacbRm$oUy-&GD#Rh&VkVkJ0D#`@DkPZ3{Z1+HF}}IPCSr1Xm*MXfvX< zA(9Z9VvTKfNI+VH4k&DRu|EaY)7akm1?C zV=xx=G}#;V%fgk1K0KmACOH-}%*^L1&6R1DxMW0H!rqSQXJv;;sq-_3Nhx;YLeAYd zjVV%|hh~()k#a}W1!%~YhBo?!jE1C4IWP6#VTz^d?rfqV#m^%h}05bjs1sN7&tRtX>-L_2@N7YM) zr3Cb3l@8firPz@&r7WC3iq^k@XHbs<&?U6K7m4CPBx1lHz-|uqs_@9s#kb+G4y}BR z9{*GII!DwIv4>s5I!Nz&`2}i^*XI#jt5tTd!|iZA)q;FB=8|W_6FMKh5%dm~>-=s6 zL&yaqOUxIQt1vgQec*9j(2KJ+?rhP;U2%896J4Y8gnVKCxH^PTRfz6JD_A5R)$gni z`!VyvdP)5}^4CCh0X;FU>M3rOZsICiRE;dn12GtXi0^Dw1%r(cR+G| zAyCPrD!K^-W2u1o&$2TO_nGN? z6d((Lj1-d<>qM7wTac9gNa5|+aFuSs0 zn8``Q;;=%uCL3j7PNaQGmaHZax!wFD4;bA3vNoqLK<1apGzX6kb-Vq&48U zhgP?gtr^KxiG+=#HrzsWz1d-L2q0jCEEqc_-6_RQFl%sTLIpjDpJt<}u8m#(m{&<^zswd^Mk35sHW<`7)V`ijR?V4=brvT&hJ z5n{YvP1mH;NC)3hdpQH1;48I=6Tf6EcXe;0qrEv->uF$}tc;r3)}OH#XKwBhZA#`$a3 z=Q{+kN~%%~*>`r17(U7#eyog_p8sFUV83?1t|;+TRi5GMu{F>2@dw*gSa*F9pQpxF zS8vl6=QiJc%=qf?;I6pv`n(D6jK=Kz5f|g@Qyb_358JG(E;2!gR4Z zox;8MqL>C0PI&H{x|l1HN*E8Q-*hd4U540-CIMMI;8J=?bJ*|V)+6~72>T%L6T>5@WEp(t=093^!XyxY-eg{xs}ZHzT( zI|owRhYg3S_Z4m9Nr4H`4VJu^UE8;@W$hZnT=70`!7-H#mde*$K6B>fYf|evHwZCH zt3L_6XJg8p*zmOb<()5W8adE?(4);~8Mi2Z{J0DwlQGf6u5j7E{EKv%blC-hmID$f z<}@(U^}HWuA>AsZH6@X9t*Z z4Lb*Vcf|O#hOB)HtUYhm3^?1NzpS-H>=v`p4FQix+$XfU&8bpjQFVP)O|xaxDvVn9 zRWCC5*A!PiC3mX6Ez<=No`pbDgwdsvBKbtXKcNN%xyPwo_e|3nwM0^hRDApj`_3AH zUodeH=7VL9KWmh^c#~V2sCqFOdV^$Xf>4lDu)0`VKE=&!GIXB%J8q!GQWF*I!K5pJ z!fQ)YOS4O`_f>Wj#kDPrf`L&EG-&KTr`O>fD$(T)*_u8-6{dE zv|Ze$(Av|~|Np@?qR;`q`{VNycw=g;vd(%#ZQ6{!`zO#%n{I2d#Vqjlu-;Bae+_^t zNi>Te!*8VFb{H`gV;PmvG6vSTvzTNKXBeOU2fByY z1z;u2!c2+B(4{N%EPGAVt76T)fmp-NyL6)Ztjyz%vwSs3>vZHgsfd)ZAY@Sl__d73 z5smVUy$J-r{MfV$HWgjCiOx%MEBC3(wjeQL0ipU&l#euz&ps}{v8G)zif zLKPf^_tRV`lB=kxUg#-A57>5IqM-od3kx2?CLH#qj zt7m(s5DU8#4x{v-+Tph2ajfgyRWZtZjKAT@7jwD!P{qNDf^qPW}EJf-@$*P{zUwH)ms`V0Rdu$ zK^}#5ffX4=-Qx>D6b0zOpb3*X2vur9%#$f3ju#PWRus?+^frhroN(~6q?syIp6n6l zS!t%u8c##!K|G}Q#l$$4}ZpIyjiL63hbBEL-cNv0bGQ*GJ> z+oY)%ZleR#pjn1en!=S7`$j$dPnW4;oOW=Fr>ERHJ3PQy)T zZn|mys~@0|=mTm$O7nX)A#;7O!I(8`=H*$ZXPy1*%;~c+KmG-z<(EX#2BZQaZAxeI zKsJo0H3`{}L7hPah+qS>pFFd1Wtm&b+>Vfkp03ZSZvioJ!8W=x(#}AoA{zDkqe3v& z7>gVF8#Yz6@YlU~-NUMi`i6}q29(5uPQEc3ZHyYlKX-FIxqAYEyj2x-abn21E*F(J zR`yql8hN?D(WGN>u;KLNVaHtTm}o#Fs?;LpoYwS0TE3?fD8N}z=x)(8#S+*NS8^H^ zgQzR$^f?^Gfudwl$3xF9AG3*<)&Aj+W#VNGujL$>*R(NQ=C5#Jm!K=6wKPRLTO&j9 zZH?O~&TYZ1v4KcyXEbHej-8Z=Q^9tU>2&19 zuieS{)MfWR6DWUE<%jt@@%-~APCWYj+_{fFI(P2#kDd_jd5b#?N(8`Gz=Z-L6h~M% zEb##FIBftbAp_?VEZgo2Sk|fB&=qqTZO&vOteBjsTvd(R0gjc~(ri_{Ez;g;pkwpW z+9Qg8yR}ePy2`vXx;QoCXSe^}dc<`wy=OBvjzd2w&p64G71v7t!4VvOD6yqwlQ2}I za@4wOstk0go$Zl$8$Vd2sxK?H7a7Hmrx0Gg$X;AuCJe4ub#G1Y-fNIS^($AKO$9tQ zwrtvx7$Q6Iw;ue_Y3eY$BYsLSj>Xisz!nusSwJp0m$@E0w)A5O0-`RX6*q9Mfs^h4kKZpJcxx8u zP;vlzqiz%i8apk0JPYJ{;vsI9?SXr41l^x_2RT(^;ttN6GrZy%du^K{TP915p{-WV z*FBb#Nzx(0j>kJXbd8$Xi3M*&f1&+Z^o`>`Gwx)SKYG|gzWUK8RzB**dg0>WQc=2r zWIT|hfP+Sj;gIW~%*xqOl;F>TData1K9F}q>myHJl6Rv_Ew1mYxnq_obJR|!$K?^K ztW}nBV|i6mrxg$pEI`INu$|9HIqK`raBI*pgms*djeItxB`mI(z;FW5KqP$ZxGoxV zBQ3#(rH1n!9p3j$qP7mQZlr@EOIJPj9O_9_etPUEsiZ)rqR6%{d*$?|jG;(U$7PvCdjmp`sMnEUX+ea6L0YSyn3Y)(I^M>nEm zlky{_-M4K|>t5pv&y?nE7aqR%-V;irtn^*!yOidLJMyVlg6MrouDpI=WxT0szL1$(zk7L$`W&bJ_pU$R3zr)k1Yf%1R>`a zF3>q$R%*_pRykJYK%lrwEzQWsk|VOv$K?gkK)5HzEMG*!);yi(A5G zf4RT1+Ed|tYGD122!kRZRSk)EG&}6dhfw>j{rmHGEf>Vcvj68u8pIzW`up|BPt<*m z^7fMP&a3|3_P)5V0BC4LB?|1B)d|n>O-LOC;;zVDM|FUC+5T|*&#y{p&5c&O*6+EJp%EKKcs&4^W-12XL8l=93{gg4v4pNZzY~T7J4W2 z{{3&=64c(*c>lbc40k>I@CgflQ`Q6s9A(aNWJuO2*%^3=%fPfqHj@N1`EystxDW1s z?Iu5etMC4ML$@^E^X$SmEZUo-Ib$itFDRf2BuB@zunKp|Q$B@GAp~MPptIv=$vvfh zC-K6|@3PG83CKyxx%%lOW=fUn&k2q)Wy*>Cy14AG6QHEQ*mCX`PW-O)cC5ChrWT4i z>O-ifK_pHusg~3@YEahJqj3FptbJ1;R>KVR56<1mNv}%Zt#LG#wK-wQR-%Q)6LjhK zO6pi`pFiGC-*`3FR?}YVRPwRkVcTGiv9wj^qG6M0yNk;IcxBe(NWP~ zG<@`EYwPB~_?ZJ6ap)>(zJfp3&VMB*r>+hsY}HG1#5r|sfz7S0`lCl5c=bG3tCn!B zGE^4T;6HL327EpR1(ZD|Lxl9f;D&+a%f)M?YxeI~4dJ%O$H3?N=;~l_($x9QIWu>I zU3H&p@xuEI_a1rV4JW_HW2sgJ9n=}Q5Sj}DV`EoLm3Hu5gQ{L%7s$N8 zGuT(zS;jyiAB}S2StVnARw-;sXQi_$vpG@GVHD4daM_UX8ykZ@CNs>xg<^4j*^dr))7>)Ecoq zq(e~|73H+OHJD6lrAQ-}w9?T#n|tCt;rdj|+qPHgu`vxHm%>Cj8J zi?>gd3t4x~wKo?$nl0Gy!ohtJO;V-uu81bF63P=Kf%Sa$&D*Xu&Ybe_V^xJKg!O}} zk>_6PIbl5UT1DP-!us{9tt%eud|1gy&f%`SZq@t;5Yzx1f`3)7K5*ThD~%_ldakLm zJi5`ivD{^;6r^v9|8U-6kX`u)W|5KG<-YPY{kycBYcF1x$~We(v(^*~*ZxK|I_cWv z+W230o6=%TsL40@@I$K2`72tM8ker9FU=Poeu`IhU(sjY*IWknSqa{=hGk zaV7yrS(WnL%aiqiDqFo?Dqg^FGT_de2(4JBkmpbmVwr z3dOUaeqryP#xEl+xyfCbPG9zK>%hGI#7Qtvvx`{`IbK>nq)Li(o6Fkc)+iFXDh0(pLEPCZY6NtuGfWJK{M~nx@W5jA?xN@`v z5Uw1t<`=@>3rDy!dH8M$yw0v@AQ6pfk35U!0r}@BAQw@W_Vsyk!-M|*c`lbd;F4Lo zCxbY^WqCflK0``Q%D1d2N7)VJY{6-&D1H%14NIqIBQ4F;HOqx%8lZ^Gbq2~LP&&8O zo;Jt%17jqT3nN55F6{A&(^_)TiMXVEIiMlOW-C!3kmu^ta zqP7C+u%jkX+!yR9=B&_lTK#?T234~y*#WWGYi4l+qtf)iK&}diibqd#LqOZ3=mHl` zC_?IE4Ru}c)OO)U+l6y*`>-({^ZP*Id9~b1MzfbZc|+*Jj^s zxO+$T(R@DU_S?{tV=mp`EHX;m52)yY zuHoI?uO8dQCt6&+wSIrVZ~T7awR7rzpq2EM|4Y({95b&rF~;Sd>UpPYPZ)qIyFaVp zmaD_k6m4T55HLp505lqR4Aqo$3fpa)3)dKms!K}id1qITr^oo(vB3kw0#Y_fd*kBZ ztpjb8b-L<) z@zF1?tE0%abVV(g9?Q1W?;0@-H}CA;!oT>iDpIg%<5ti9zm$xNHTSeAqp!jt2lz{`?_U?O70bbFRu%@>IhbBW1P)u_Tu( z8XX!f3e=hEx{Crsxkb4{f!6L;lL|ql{tWl|%|ij&T~(wOXV2tlKY7FC@8g>^8>XMT zjce4TH5s;Zp7aMY^&_AHcG&t0R~w|qH7iF|M9R=;7?t%ymaC=P#M@Njp8x!o;_`Vz zI*70MK=4THkaCk*JQxecc!-$EuAI`0IN9f0hA<{?RJEK%qD)`(Lv~>cfo8t_XR6j% zOH(^2zWpj{3K!sJVQ2Af=^l+3lzyw6*%Q{)IqNMoMuvr=+}1YDLoa>tIaQ}P=^pWJ zm2|gw53`y7C!v&^z@ja~B=4Mq_=uqK8wSsBGi|9m{-T_%WueRblS;tBmMb|@(26sq znOh1!PyZjKembGQ?JoLMf0be|eT{IyhYcMH-#NLiPE_Wv>W z9^i46XWDRz&&-ha?Iu3n(Mwg8Zo2Y}=)ZIP%2@ zv|XW~-W%~oykYuimA!P+3cWP_fAjK<(v4i3DwTBEVq#MR_mrxw35UEzeL`BnH>+Y{ zo5Lf{y_P#?#d-li`#H9v2+!gZJ3c9Yltr7!O&CyC?j@KDQB$$1_99t9ZZ2I5v)xp{ z3TD9VD2gfMAw=l6W056De|WxhjeO19)4HV{9QDtTL9w>l0%<|f5R>s&LZRH)`snIn z^U@9G$KmQp9;s3pK>+0xj*ChcbLZ?;MG00a4i_qYx=$UaFFd04`h7l~d?jt5XfzOv zh#(e@HvJfUEr=c=3Zx=X3~2LRbBQ?6S=zKt5e1TpCy+=Gv}7^+hc(!sRVsFUAR zhi=TxLh@>9wbtu!_<(p|7SdSFiL)?WO==wCSv49+`Du{q%$kvJUi@Z0^?gGc0O@%Ysy%3a9k{u1ck7ICpL4&LW9WU@Qm*ygK>w(&st&(4vceX7Q27><*vL zE=aTG7kJzc`DrvK6pRb@5|0X7dM>#~bc?7zHO8csVP?md^>ZHFXa_28Jx^kV2}DI~ zvY{?ht0PmzwzhDhiQ=r6VU(gwL7Kr5uZPPIJGA#P$nb7;R&WZg7Zn&rb~rDc&lOmt z-$KPmvgR83Q&h`g5GGsLyElCp*a@cB-7(s`hr#uK@R=CBlgandUnugeYSs;m~ZZJ$eDZ)j?P z>iIN_n#7SADWF?zO4(X~_nxm_wSV-HF{y#^tGieFCQsO)JYI{*5jsDR^vuC!7;rh5CZR*|v7=6$cbi}r0Yr8z%-i}NvtC{xe%WIz1(sIyx zK347m_UW>1@&qiC(FAHMF_ zDBx=3lV^EP$`Unu%pQj&Xa-@+kqRV((Udo-k%oW92hG?JOa-G*w)G_OMK2tg%>j!> zc2K`Pj2zkG#2-l)?nfw`3@6-aOIRaaCq2(6T}XwK5&U5ZTf-)N(`5~rk}i$>`~-{3 zZNf%N+MU3U!f9v1l{AMe_>BEB97 z@u)`rg}jnSv&k5RqD{t&n-mMA9SM8fgm1Drg$gKLJDk?67<0!PBT-GDF_G}Jm?8z~ zEgPd{`m&7<(-zU>^wcM;=vP6u(HjjFB-(dGy0EZ9MRu!mo3&bS+Z%0Br>4=Hu(kvv z>4J23w69;+@8~mi3(jn9jORyhrizKQ=d&ovEEMA}08mvz{ z3ryX8j(&ZAUo_nM)i(_M%t_%V$TZD+I#e=e3BQQgOggaVbZFlbI(n+^sPQSw7?egr%q}nz4H-uW> zf9(xvHP^*I;SEX3;^i*@t#AcdOp&0hOF!-5_2pdQ#R5qqhL-!Y>jYtpl5+G4Vaz5A|Kew!5|>6I0vx7F|7erZWv{<8Gt+=MQFS^n}^ixx5v z#6YIj#aC2}WuPn+%1TG%1Fig(aYgc+1$~ZN%M!hb3M&v0UWZDCE z{c+(V5y1f?jnkD74icq-%DnpnN)R1l3F;&SI_+uQ(HR#Hsux+;mCR=t5`vc`gyjr6 zQm&UOt(PYPwA^c#DDaEJs{i`dr7_e(se}h&tf{`WybqEVL_mNBSitIo&%4Xv(7bV9 zw!XKa7mv-GO0dUf8MC$cR4{rDEy}W5QF6!*u4*$Suaf@dD`&}9RAD~>xGQvoQDIKU zZ6?IJCh;lhUwC7U*=aZXz<%<%G9At6Rh;ce!++}v{ow0$)SVia^KBvd92s%ROZjdI}# zzhEV2v{WZrb-z-#W)m5UaAIY`=5MgtSQxxi8sfkGzcDtb6ert9(HLXekrY?nNG<|+ zb>x5jH7{Kye~G&R88Jfo57{a?G_n*Up82)hh~%2Wt1<5#HfSWf8tyFE0S*%xdPkA^pWK$VV;6-nnv(YuoNO-pCLcPZ-UcpI3o6`K|>1$1PN92!^;3o z{AZAR&_dTscT0EhRaMIlwYP`E(ED-~^ll=7co!3hM^&?z@ZF>MPo^4xOF}e^TLGZ0 zA}x_qAYj@Sxi}V0X62X2i+nlW+IgneAT}zc40;huhxv2t#!}@%IES|G++9nK*9i;9 z$$hZeC5}lwkF0dP>dgM*r!xXL0(r#?gSyF+aindUnkviYGM!YMMe4w$QCY-ZLXJ(j zjOhTwuOe%s$Agjz{$$s}CWS1MJQQyulMz%VANV6*-VMzt_3I0t`$e}Q2)fZ zaMt}g48!s*oKa~?y{&4CcVtYWeDg6yP~xKrqtF7X%+o+1G%Xuga2jL72PI-=XfhGY z(MRf+*PniruB^q_gwV}UFBsI18rK)k&|R%AFV8o>22^c{jQoJsZU8)+kvVlI|F$F46x&|#teX1EInDbp<WArWf5|)q%j&|bFS%#zkzIBhP5dX^M3)bcSg&-ye4qB9T5gwa=QnM9?lI0% z<*e9p$-V7X?Oxm4D}Nw;!19fcKc$=h@ONCwxABG}+;_W#c{90vswCzUs~sYNkEt5W z>85A^Fc$aML8oXctmrpB0OSKV-fe3g9Fhd012^r{a(r2oI+L-{Ikm@ILbL<-geD!?f6 zC=9nEfAbHFMT*2S7FWu5ny#(C`yI44kp7ck9Qqp?8LWM!>PL$OY53C|0mYddHx*(t zXao@Of}~~MP=uDH-gD^v=T;Ij-lb^*I^h&Okk>ApB}l*=k!dO7;!>4-)gSo-7L_#x z3nZbZCrAG*?;){r2zp!Qp`(JvLzxQ4xkAF&a#|V-?$W zc_N9|GwWZqq>(L*eLo zf&6c0*0==egP9FREhIePlHMqNgEx3gCXc~Y6R&HwX)J0$BZERe_|3tfm;}n6!1LV| z*>VW^LDd>uu||$zQi&kT=)TnH!IDdKUxcxO{NEFlhA-;Ya}Zb}g9|4#k#q>66ix0X zXGU-(OaVxbxqN6wYeKew)uOX_t>`9rAms=VE%};B;c#Qr6VbR69<&?w!|hTqs$F4k zC@Ade1>YO`m4WqrppfJJ*BR7gbk`6vL`)*GGcOqNbhC@G)?UoJAwt7|>ZBKNU!fIG zzDfj(65FAQOOs_I+SANK{ImEF%U_bdz!xs!jP|-ji|#+w&8^9dT^L@JvHPoyb{cll zuVGVsDJc?uodX+2Ns-jV zjYiOSbVW2<`WyBi(n%*KZLw`_s1aOjhfweLM`D_`&Q$*{-7a%~ZKvRjnZd!vqoGr1 zu8D8mqLbHtpU2~%y)N8h=OS@@f&5EVE@4tNyz}0X4$Kjd-oB9NK{YL)%-@JcIYhCAB`}_hq zqH>(<+}+yBc0kg}2otukHY=VXIbxH20p4JGX^QYZo{&ow*d1$j5EYKXKSp5OCdfC- z-{fIf0Isz;uHSq0SX2F@z3O;46>*5Oo`YB~tg2aTSuFjE|D6)WOi|TZD@_@3pcLvB z8&F#_Wh$+;x+zM?^EU1%ILC^ z?(&$6NIu}3$PSB!r3DiCtW;SDx(a~+gwrZ{KIqgVuC%BJKxDk4c&Psq=x9x?U|=yWcHG3e%>CH zVnlK0on%CTY3!Xl$%ulWsEQ*J5Ht}Npv%(fbv$;JBM#4F-C|&E*p5!EQ7K*%@4N$! zFd4GQ^M8z1Idzo9c`%}2xa4>41V@2D?(e*#jYJ6KzUGvQ?Hi{)Acc9Hf!aF zm@;Kr1`hD=Mu)*vsDdPkKl4 zTs<>%mW^ho#V(>tX|2{**Cm?FV$u#lTYXWEw?Jd-FXSiH^CW?B%D2^3*hMHR9(aj^ z*Qr0E$IRFm6|);4qZ?003e0T>vrp`g9WP)CP{r~!{$jn!Vlf59*up1P9IUxb=Cw|1 zzzFqRXF3o~WS`JVdeyf0j=COr@(@ak-rdpGk$fvyw@x2qAVGpAxoa`d>PuF4+A)s? zS~bvra)N2@g7~-St%=k(*N5B*ySGMjY7+e@qW{}|f~8!*VVF4h*l`+hoJQzSBB6Ie zd~@_baXJv)pDWTvi*mMtgh$KceH2u+FpMMv&yxsBZR+->wroh~4s}#l=#++sFobwx zG)KDR=X6wRuQc>=QI9>0*3LI+%3=Xp9)FJ2`GUG>BS%DJFizD9Dh_=g66zDKRt=*v zS*WTSM6!c#skh2j}yS0=WRh?DZq?tKg9tE*=)Xl#C!z)ht;2P_t+6|e@rJhcXKAw>^@=A z5^b9;Di@#)KABb+CHK6bT43TD+{R3(IekJa{a_luAk7h*TcL|joUBeS2sIdu4WWX! z(JzxHPF9^rbIqZQ(cNHLpuK=7X%yw-#WX#>4+})$CQ+J+wT@`&go0wrGvekvA10?E zaGSiJUvh-2HEnZk4Xuim4Y>B%hfY5=WZma@VnbwAXq&6jTniwG(v`B=(6CoJVpklT zZSrq;yV`2ATdlTOLWrwPq4Ib`zYCRlQm<-^hvM$Ay}%Sr*LUi-w7LhoYr`q-cV_;s%f?FF^MPY z(_1&`=FYQNysT>a@$;j0O4^mSCq#mc26Y5mf_VH-pLzDRkG^+K{*s6?l<9J#-=bl* zEe{x>&W`*P+xf8qWeqH+HiQBZVj*^ z27~SgYD3(RaR?E2)D!h+?jLw#(Xf8_jbpD5h|wUFqC=WYG~U#t`*(Gdt;rZgVE!Ba z#G%UdePUuwNqDJ#X^G3aM%>kRsN;lQK0jf>vW{IFMeCkH*J1tP!Ej=axPIfZ$_4*7 zp3dFR^OY}}Uw&DKr_k}D&8AtnOL+GYwA*l0nrl*FI;qZgy-=^ISnTuyqLe z2mfyCOR3#LCTz_Z^ayASR--W_HkC9#cDwHOhQ|ygg3+BYLWkglswt7lxJAQY!*jpN zRY)fCCy%FouozxFb zm_5&Bc}%SJIBPlca_6$;y5*5&spUeXw#~y?&YW^#;GPO6&xmcoNE??r7&&xMchGsr zd{A(<)dsobWAnnZM}gagj~eYuMe_>V${D(u@siX^!G8ET<2n8C^O@LTF*O)JFr<6Q zHfY{2#Foy=OjUk|HJ>0IOetVHqydPxDt!Y+8#cSeC%Tu{LeW%XsyEt7^d-i4x?Z%! zYSZq6nxxMbvyd>SIUt6Xw{7aIN!ZfPv|EEZ;oGQAr6Y-W=k~Upp+lNfz>+lU)WhNaRJ2&{8ux0?E!zkq~n4+Ivcz6U7bG94zXX>9qf_h!mnR9};5qoRpK;9*xb=prZq`aold9h5w!2$h&CasvOor^g@hk&CmbPWA z2p^@JI9saDZ#T=IlW)=*VPV&T`0kPKamrt%&nXJQBpVJXi_fcD+3y}cPmwidmFfIL zs;xaAlPcL-4&c}o*HEhQ?CP!Gx*b(rQosQD0xj{0Jlbq}c;osHyl0HOxXG8C6F7G17Mff<${zpRmAInP5;F&K(z5-rJkE@V%5 z;4l*kqPJ>k)ozFWHo6axpAc(QiB^s@DePfK$m(%9G}bz6E9Z_{gK)WVd8}baqE1^4 zYAxCp$U0yWX{m=Tpf&0St7a0^|AJvUNTQw#;~>#+EJO`lt8$QNeC!}0621tdgFJc= zSJaj}NQe$n!ZMy(TrL^{8I1;` z&E$ZfdD?D@H|QHoHj`akrF!{g&KH7;qMr5+_M|T){_JPtHsuX)A|al*OfmWw9YpN#frQRpZ>V{*N}05Qsrn+^Bn3Sx zm4e?ek$OVxA28`5iw*WA@&RCE^eg8XCGrU{QqcnKi0i1kYtE6w@t1Z3%Zv(fg(fcU&!-p}9+Ens*_jE1=Mhu7D{@ zjDDna%9M}Ttz?rEi{&ZtzFabi$*+ueK!d~CWJRi?9Y>YVE46H;{(%xy6)Sj~K`8|; ziiRLOEye*WKL96&@s&`^5H4PiyoI1=bc1O2BK81zjzA8Hr2FyPKGhIjpz+E-G!L@K zX+4VSfn(liuQ(7pvLp3#jlcVMvQ96nA>?nj`ox9u5Y&pp&ZzzkRjZ`p0G)%-iuCv& z_`B+hS4`EHsjB439NezL!hWFG!m&oNF_w5CkkmwhEs5$As^^aE_-RIr^muj{TUc3A ziv?)iAGl^mL#j?+N`-r+IXa-~FZ{OOp5+2#WUPmA)$HSx*sR(!nKP02u5HU>5ZwsiaYHM_k# zdw1)5I>_B&HRf;3<;0HOtCDmF&=zhO^3F)<5 z$O1@7C>e?Xn`GLp-QBoz^E#bx?dI~ejeor)Fj@9qo~(>%Bwa~1iPpb~sK`HbN%tG; z9#AhzcZPZ{lT_xEHDhnqTr0gXSgnYYom2D`vV-#H)J@)uE92BiU(LM}6HA!hEpa;t zsLLt|7e}u?^3pndU-)VY2mdM3(+E?QUi^5D&va%>f_gTE`lq-BqzZ!ePDA4 zopmkSHtNdM&?Ex5Q2K&W4q@M1$XW(>{7L2lj&wva%GmgaaG)ix*&tZa}YEu|y}OV^RM0goW4PVjC2i zV~#*AHmi?c*SS!*?g2jCI+)p`-!o`5;meCuQs69)tFA25t)=1-?n|?J@ZQdOVWDd8 z=mE`EugfZ?Yh#rax(fR?Q?1|zxGlvNt6LFhtt>5FxpJTsZ5QZKmJX~GCr_X>Iu9;j zdA3ws_?f=6u^7z1lV+1gw9a3#a=u-& z4El6R^@hqT)NPxHxib%U5@4)}Wt;Spg+ev~6X2veI|f;=mZwq8iWy$O{=HhM8zI?L zN=Er+M842E1##z2*q>sqB?J}C&6uM}3^JZo4Gwn<4h~nA(K^E* zod?}L+5p6uJ&-K%FcoKaIr)rvoUW}&h%r;1R=pO$T2gWDsH4BQJvz4^k&jSW4=@b= z=FP6fHz60T?@DqoKq7a=%}{_2c!T-_Xmlb;7ehO_2wL`$P?tp;#8(@|>~5TsFX#!gUZB-+1A3-ZB>O~BVLZi)-xw1W z#wa4X?C2}HMDZj-$z|dMqP>krO2Z0q!WCarY2sw|teQeE_aFm&x!e$fkuD8XsG$Q7 zfq5t2^r1zcaY;THTf7EQ^@C{(tQBK6kW2NqAWxw&Ool(C8wsli3KK!{V-=es;A_!G zw>uNjh`4iaI0APkXF=Ecqc1{W8WkDmiJxeZQ$yEGc~$W3>uL2w`@2{T);IOZ@V4ig zS@m)g|9F%$HJaQu>+03oNBb5X+xYyxz1ny@l=h{aPifmdbh^}#syyJXn4dCz!}5or&*CwnMGowEqNS$a*ODzj(;*Q{crw;# z!NG^8KQTp5(vY9bbgc&HWAFfwN1ytXO6Y-<&%s@0_)12|#FU&>W8Umx^XAAmrKNn^ zx}{Bz>mOfgs9h&kSxr^jboH0E(_7R#Ozl|UY7&)59IOo{ zahtWFYKzVuutT5EW^saaL~9z&|9|6keDgFL(!KseevvTj7OT_l5>RE0Sl~e51g3dO-j1%%tE`PJ=TUVS*X~<8ZYBFmE zVHPB$5C93oD#-OK_~~QEw8J?B0$@X|b2Q}vzQ1d0*~YC~%gVNP_4Rjk_0tksi)p!S zYzeJZCKT*_Jcc(-K#D*A_7p_BFWhBpCcfWoz4$qCCK%f z8Hrl4Li-=v>BRi2Fy3|fKkzEd4#;2GJe$TGJKveAd1ty`X$)wjd4+tUCA8h$Vc!K8 zpwQgt;w7=Uq4hnRb~)Nz*>Fo@-|9=0E?4i<-aF|sKViC{=_uu}k+6rNunF@y|f9CR|e;sHB;^4l_B%<~E)D?c-{9+>=b{$gmq8 z7YncEdxwAoq%IA~Rf`E$CcY%?|3@N}XrvY+?x5Kb@OE#^7xTt;XSIn)5Udqv(iF5h zHDz^9&uWT#no)f2-)qNBLAXr*{Z9w>)JM%jgIPett}1|K~9e+TcfoZT@Cd) zqYo(XNBYJS0C?s#(5zUBIgg|)?X5ktZx1_2g98{Fk+bcZ#jX2jcz4QdgFzQ)H7e5D1o@(Fr0TcI*^BJjYWX5!;~Q&$jiVfHUc`Z68j({I^kA#n-kQT5H>_DRa^g)--yk z9o6VWdJ7?0zt1Vcjs-0%g9~=nmf9*qU2Ro)dFjSTNu;W|s>iAEG#yW!(uY*1j+uka zVo#*0J=z`_EbS}rQP5b327Br{w#9|BV@0ut)D^b6%5q(KYh|ZRfCFdQs%36rfvaTS zaa}eK^myQ>Iem{Q>Y0aUzhoDFZhhtXpXtu3cf?yedUQqAtOA&?{xQTRjp6T0kN)E# zzz;@X?lDcZuAJ&h=hft>P4;_~tpio5CN*hc-o@z*14PvUuo(%Lgl9~Upts1G7IWza zmt#>2JQCbd~Me&d={E4;O~Ba zLKfO9_{%@^GUS5yf%qSVxs|GZ``d9diQRtFP1=F6L4%i-3~z7-(u;Um=PrM+e7Z|h z;lqMWQG0W1dq8+9!leUgSKPLDwYD|hoM=v=zG)^V|ELYK0z;$39GGE#bDo1@v(2SLD=cq^ssf5IRef2`;GjvecJ ze)V4Mr|iNk&x8o{cjTGokDV~x&zceaILH|^-DrLQP>f{U>r^0?@TDy8J^1RaNpqvc?lb$$F>A`Ji7n$nHq22Clb#M|OMRqL zV}+brLQje$NT(Qq(z<(d?^;wjz9HZHk2}?0)2ldLg;{TtDF3&bxc!8;#w^z>O8>3y zB@5)K7mF_kOMEyCQ*XS5#kseT#Q%XnGPG60!!A^rLm;8b4Mi=g)YFJWLWwF8%I-qd zq!p-A=W2yQmHK{YM$LPid%SP?!A+-5J*5qY11M26{6d>xUV*o;$}LI*kF?I|T`(~F z=;CKfPi%gs_64^lU&wChE5}FwhR5IALVz>F1T+h=C8g$)}9;E+uPfl;%?EiAuaGmF6BRst$$H^~0zo(A92-qb3NYey3A& z?>+at1+^upD&aqVE7X?Wy!YOFI6_!QoDnDVmm-?C-hA_34%Aotov_jX{@nA{TW{j8 z2}m(XFr5GYQ0MN@hJEgkOTUicGht9y>3}S?%U#f@u8MK=ZI8Qdqt@%f6?s|>P!NZm9!%;` z;jA-qZVxWn)w)p|bca3RKzkgY16K-oPq0esYy@yw|6~pm8tUNgc?%6(c&xMGfRZ;f+_%K@&=vhtonEu2UxGD#NYSe2}%$kf14C_K-` zweXlclV97uwu*DOZE&lX{^cY2U(|M+%KHI0OjRSBf#YBDd;h!%Y&GqgAgm|=}B{uAm-*^d723#Q+IyU#wSjM3Wh&b zdKegLWb-3ezsc`fa{5(H!2-UBo6IWD^7`E98GI&ZfG97KzQoIYgk?ZUyN`to6fd9+ z&N|lAY9GBm8Vb3*y}GKpit#vd?fPtcww>Db?N!-oL4HRb_!~SHi$Q%KECIW9c)}nW z3aUYLbwD|0yTsi1f%2h*XPo<1$)Iwai}_8``C%S~=|PqJ!35<`D*Ui>1VQ3E zB=*@n|t|=KCHDXw{M!t)(DubLhv!;v~kvS z+Boz9l{{_2=vhz4;n`<&*6c4O!{G1cPJ1Fq`O2#qPn%gn< z!a6LttlXdDE=!)S99JUE2=>dVli0UtY7pVHSyDZiRZ06Nu|MVOOZXLQRin!AAF7E? z9g9KSeanIFF=3+{#`NNMt1qmDN|FQQYq0o6_2CJaiwZx%afOmCD*27~DZohzPa%A{ z?+MTAkUz5XXB^7O{R|Dv}L6My!+I;A5fFrnQaA5((Q#*uW-k&V2HiqC+sYk zjOC}iprbGFO!-!xG#7>Htqjk_ZuP%YnLG&|B6X92Cb_VJIk^ZWSSpd3UtleKVNm(F zNIm>Z_LPK%s%9Y76u!LJpzMzc|Fiw2gf4t)2M@%%hR?QFSE=NQZ=pCt4XD5V{$p8@ zui~>q)j5j?M70!P5qkmoED88BS|Oepwf;a=7#bcUAbtv}r&>O*u<42HN{Aj@GoyGC zB_d8O4F#Puk@)&_FyuCLuu%@9axlPq2>Z{ts?<(ov`1EU;d{Vmp z#OT2!^T=cT#jmK1CaWnZ+>m|X+@ExRdhOhY*_=q%;3WAwERhhT@2E0~RK_FL{qo@# zf7Gfm1x+O4)i42HFs7~PpzzDq7hi0B2d?VYv{5gATV?hklK<;G;Ouh#ZQBcv#HVTG zujl6AudCtAayS3p%dh_$O|kdYw|uub|p>!}FR*HyM@k32HX#;R3>w)|`4 z1i3}7gz6}OAYK)SW)VC&n*#<1_C^m1EdjtEyIQrVvor?vv53|!Ue5B>1(aL$7?lg)%&;l+D)P-3}2`K7!Bb-*c)^gxPoC~x1wr~*1U6-+|~-|E0Ch&rU(<#RV`ybyc##=_x(7`$hj^*iE5Z$Jc3)abN( zT=ZEmhY-z$0}O-#m|x%JaK(=%y!MOv*A^}N$;}Ul zc9+#}4{L6IZP_bBxiQUme5du2V_hfcV%tHu)AKVpZ5n#girTkm}+@EER0tACkHdlm{4@# zLXm<2kzT%upEZk^vKBC90b?f2UI~ngEn$ZvXZr!>OTnz%M?^ZGj=C%kB`1 zijdKRw4=A%gAr8QUP4!pv|-9rixzSf75-J76~`87`(Yv#hN=zr8-ZIuOdpGRoG9@Y zfu0PxFMYS_=+VwD|GuqV?3og~XM8Iz<&Ry`ii5B}q)lK=&aCE`;1Ej_ZjmnJ)M-Lc zrx_abP&c$%ni7I^FIMby%)i|flkr!rAyH>( z7@LJZ4az!C?%*Yrx&_&TP58GtT-xrhG1-4OM{BSV^PPtN$4OAqm(HJ;(AoXoc@UmT zK>dQRRxA;TI)y)=%7Sd(>ALn_IMY}oG4}g<>0bU1Z*q!>$F*-F5dsoGhh)T_a7H6S zmvroJL)zk;4voyni{vvSZN0j_l{f-#9FZo;lX7J=rGj>e@!hbzm{;zRhHet*G=7(_ zK)OS|v#W&>W6fw0PFbY3x-E`~h;RrsU4J`@EL{%DzxM*W1Lx*><}%12M< zb6D$}RP{ToJNtF;e0*1sH$xaUmqK3{O`%z4Ep48UL>37w^cz_+yBILYE%Md;S@u9& z!c(R2m-J)Fc)V2W0P;e4Aicz`C}mL%)eqslMfsoND*%ag_KAh!kK89j#5cn@b~;Z* z)&!AYA&d&1DAsu@HsS>%@B`|LsQ(Qqa6abX0~fP5R$yIF1*O2s&JGoP%-+ zusE*oBiyT8zZ_BnM2{_+@F^b*6)}b^I0||4H+T}ju$o2b0WW{gbWS<5O}*&5(wQlz zrD-xe_dNP4#KBiYj@hF9_nzGlPMmnUpKul{Acvb{rHhwbmQ-5ASJPS3h2omC)d(Ch zKydwH7MGAm@K*z8h|6Kzbv(@r7*{lw@|$QR<$pFjLHR_%?<$|L0RwHf33!wQ`zP!> z8zI2HD|u0I9e=YLbn0kGc8YqLh7@0K7DDb{gra|v1y|1H0YdDPnEhip|qi|H`wj2X8(I-}jOzRn%J zQO(ooV=Erl)jI2~CIOZSW;{Y0jO3G==4`yHNB4{SU%b6u2)xH%Z@K$!^YxC0x6j^P zf-Kh;qy5FAWNWcuZ^P;IGfhLMPP~-TNT17oc>6WF6%A`DHVIH7HG@!OYXS*C)3=+n zR-~`XpZ}xG8`#477bhcRsOa#w*$tTjqw=?S}pD*#igm??3B5u=2^Z zp}AXDKoYy_K-2N#x<8V;^w%!04%6X2OCd%!$tP(NOo<;UuK{sYAe%`!ITPr>8aQoC z8$q6?AW)c42VwB>>M*SiL4nh;(X(OX3;gV#aI+W`2wh4-13}RSh+}kIrSDDWP*hSj z5l|hCOOlL(fp&w*Z17*6l!S*Er5j%&$8hY^3)~02d$>pv zN|5i8JLdlWLsa4XH^|dJl&25-rMsk#r?11mhW*%ngEXDRH#$i0vh>WrEhNOu1Kv378n{~ z?xFLlO$i7x3DVEy-8@j;0e3(Xv6^Dr^p!?vnTalt@XUIPD;TniW81Bw%R$@Cu0R;u zZS?(ZCcD!rk`t82ry)L|4Ldhxtm%*t19dqZ)P!T<0G+4T6&0O{w0#H8GZsmRL@%W6 z9(PQ1#xr(0|Br7EBioO8G--Dx-lPkFlnt7paIxSi9teEu^T309+&=!+eTS8OgXT;7 zc1G<%0WBPMFUDP)%kE~^%20p;RD~W**fhqu0&c4PaT)2wdozB_il9J{>gX<*!L=dGY|+>Zr6Ew=6S1r*b;Ah?364d^2>7JUY(`*` zPl!}l8v%kGpVXlM*^LVqqiE{TSl^?_#|kRqb!v0S8nX*8KFpzsN_9xY1%y!;RKNHF zBGV91kH1$m-m%X?M14xJ@-M7sk4OSh++QfYu!z~ovH{ z_sWTnUXKr`&`z0#h+pIp-#FCBL}@Gkd!@TD{=9EjOSj3laluFc72RmmlN<1Fj6|Os(_~noCqn-gXaxr;vZiK+R zApZzS#D*%v(ia{@j@oF7+Bz#TrHyL>cl_jmJA9hkeGk3zu5NGBlbziH?6;KQ)MvME z+)%UJx7c&d@DKhBQSi@ue)FF6Io*kxLuI=Jyj+a{fzS=OTY8V5wrvrVLzIuLACaYBEGS%QJ_BvSEJq!u1Pl#D&|B zuLC3J_>;%Ci^ppg?wYNa#RwSF&u9fZkY|N8Ze7a1y8FMXZgwF~zJ2u1g< z_1Z!P?*Jl?N4LX@21MZ?!Nqf>g0eANyE68gQrCidSi>bilILfw{;^b}pMHxu_bwNI z_0`J`=U+l#`(pOz9@XYl#K*u-%A&%?{S>4znAg{p!)B^biO9jYP#Rp*lraDcJ!aB9 ztR`ZnPzWI&R&AhOjWi9XM)UeG=HbgU)>fdyiEy96r%G~Nj}5p@_$6a|u=dO$cz`J< zq-gZLf3tS|C!b9UF3nN#`B|7RP_NEqWf!N8Ow~#~^2pdpy{P`Z&F>!qiwLJ`47?wJ!V&%S?6GWSgb~W%^+XzBH3J6qo$ILm2 z?l4ItkaPku=tX%B;5I*0HD_X(sQ9Y%FI)uX6Y!LXkky3dK^eA&{+p#@ZZTdGRzO2h zMfJ8^xOqOexgop0Uk`*F9h_DXR2Nh`23hF-|DZJ4kR`RQO56rI6S2BM{lFuSKj0Pb z_dYx8b^SQR)1Wkw{flZg5HnD}{_JzFd&Sqhk397NT69_dT=mo}4V7UG{UY^}y=#sT zPMWDc4FNbUogYN4Z*Tb%>k`6Y1p&Xtd&92vI8_5DT4OPpnNE~SKmyZ;OI z$<8NFd0+6nJ@ch$0nHgOyV(leYUCPy#0Rb4q=f>y->a{VvsVZxs!D7@4?N1?S(T~5j?9>8o-5Bt-+qBTw z!}=F&*Wx79qLaXcve5)0&I z@A6E-G^_s3pEww>z@hTim+l|73Jm^E^3W`XWg$M6F7{SY_>bV|1Y(f^lyM2Dt{~gR zj|SAxXwMkMDZk4tP*bL86@D|#8UHOE;pMN&U(Jc2KKh*2jw}eJTL@I6o_KiKe|-dP zLj0Z8ZtZrB+`EQ9-hObPPk5q?bsFQk-zuHPn^~t3B-+i~iq%_-AJKjHwZijNLdKIu z7MXCwtU+OV%bc_C=td?^`r`w`-)k3)toLq>LQ)4ZY|lJ&r*2`@^3sjMhW?xY>P?F9 z>HDfgD1|oJ=AGPuy5Kdxb~UW%RYG-%pjUtmS;&PL0%Da!W~k0GMAsC_ z$}3>%EwP%;ow^I{V;cT!`DK$K1e+(THrG^au?z6GwOLUEVA;h-szy{k$D-^h7uXC9 zadSMD3+Sl;c1t|vVP!=F*obCG7Auf?&4l5?!ePQq(boVS1B)IiJpz3Vo$10HRwnl~ zX&Q)C_$evU<+y&>Ey1UtxKCmh(!@f(aCo>77%nf50w6Vxt5FVA>VMGo6tarkEs~Kb z;NUSi+T5l~zy4Mk|A{}$ee0fid=-A}R(425J{$~2*z_CJ1)sVH)HSB7d+A`^eA}c3imq3mR?Fe3Ji*nXPUr+?Z!4f15aUnbPihHNm;f*1rwMbw~aG5Kv zKJbxBnm)*vP?%UUn8S3%0mv#jFsMSeLBV}Z`H06)N>uW#N!XGP6{+94foJP_61IJ8 zU8h$OEBRDPyDh>!zz%(u?@2SH|N2Z{tU~u_sIX+PXc#UZD{$shOU@0drVb)BD;dP) z;AGpg0O1`dDLki^Z~7%)R@M*G(D(%QC&GrfvW0HI@{y}xJ&z)Ke?NXsYNbfi%j9L3 zZv@U0LOHjRBT&$r zMU4~j%qP_z=!=N2E>5Xtc{*Yt>RybmRG@7@u%~KFqsm`dEH}PRL0LTxMt9?iO{z~) zO>zNl;#0AO?pn1y_8Binsh&*61@ zmWDO6ql=c!(ajqyIn~w@i8l!+<}>6vHPfg#HUEV6PA^1FiEgJ*?udpb+NBxjuDG2h z(cC&?vfW(ovn2|aotp72&S^1v;Jy{{q$6?7I}#sFwFcsrf8rY}3tepr8ept8JGY^sPYtt_or zQ(-Yxcp#APvuX@ples}(*U;P=6dRKP7@W2A_O-NiX?of$CyMnI4JLzCbeJ1paHc_* zyp6H}DEJ|0Rqzel=mrnryjkJqGhyZa0;*2Fcg^IaFw^Fsxq0MY30Bx5R^B1qmP3fdo_hDx!cpr|v`7O#;HXoQzgyDpBA!iX?m?s05U)vH zj|En;r%&VXj$h3Blq`iP8kfj-DcWLmawvl+>lAF%rjW(~q7sTogcV3Y^EEQetD|i? z_QK_&7ib)8kssw}&V;tH(Qk{Rdz^{KHAjyEFr)lE9?!roL-W#1MR8YwOi?w4$;nV# z3WE*2l;L3vHU<6-Od?HPPGmWoRK2fp(V#14*Z)Xa9mSTGs(0#gB{oFsCu1e9s1f^|yL@}?S-(_vyEuv=&I z0t*DeYpWxcfRGm~tb*Zj7FOkY6984NyoFWBorD2GbD}NTq3?!;Ra}gjLY0bz)yQ1H zy0!ta=rGml8_da8v-o6p=ipPi^LGv1apzq#zjxy=ir&d&0>O;1r8!%v^Hk63$%TeSubGIopLW=1liGzl*Q1_{L;cujZf7; zz3c{!A6}(meZ7B6O9N1bNlUXQ6Y4M1+D%}M>ld%ta}?My{BO;Y2A9DBr<8t5V_zNl zXWrnnG}P$;eO1u-j7yP^IRWPjs-zzdadCJwx)bh%C1iEW;qPdFDIWuJ5UN`{dv-n9 z0|a6D=5?afN0@LR67r~&YB^5*YlooN=N4N347G$6XZXx;b3rQv*_gS)v5{S)F>t%IyUF*7ENB_OM&%3 zx9e>8v1bxzHR(n&PnIi&rMfY+qFlFIB{g(HkuO5E`F9ucP_8?a^i*GNi8dkkk z$X5?%3surp6RP`E*#NhJ&P0k2QB4{1K71+aV2eS_Uu1ykc>MHfa3cvEbGld?N9_=D z1vVf$;MLyDkS|fN@rsvi z@#!3lzPMP+T4`Wl;!yE6w(m#gF5e_r9NvZmz?w;KJn}?GPghpiH+4zq4l*?Sr4uX! zl!&a7UlHY#m|{;MvzD&SRa*C~(T2d`cDv*C7CD5qH1uE`;f)KRQO^=;+f#) zJDiX*7ESXlM>#;sB39VGI;|ejyx4q_i+Y`5RQ-`Of!SMfazW~NdLd^E#GG;1M3E6x z#|K;@XpdX<@?T&`qf|2$!oYjCY85+q@g}uB>WB#eRV*5fi9H?a=28?=fFaf=qsfF@ zwCv!}N`yaUM%}y7wi+&%QCm_UjfA6(Vr0AY6Zs+BQNrmeXcR_G7$T-i7Gi&N_eEUA z5c)}}IzsogwjL8PQ zwTKUAlm2iuSFMsBJIVj`JGkSAM({wUv#ce9L2;&297Bg7P=_ zXrH{QzUF)lRqutfI2ggm@O z*+kfu6_}`K;!iW| zBZcZhFmPD_oC~8_XpGRA-l%g*XpG^5z*7mDF{%hx2Vf@!%?KeW^j3buWUN?NLL*nn z!P&KLIIz|Msw5DMDzl1<7GpzxA4Zl{OWpo_7EE8J#I}%xeo+o2xSp~Dh6Z5WANoFt3dj>@1A73>K~?qE zE!DsvWZS#N59LL;lx9``P;-C(5CIUBg^RFbpH^zc;*F8&CkoZFYg`tK!`xUPUxk_y z)`ySOXyn3c?sp$G8R1A2aJqCZwfTPTceDtY#d@XA^~U82MmZs|&2vGaqNzp+eejUm z)lV}WPf38tK(yXp=cspE1Lmj$bd;1i8$it5=YO)k-`-puG?^R@FWUZ^U;G*5aI&C2 z@R+*)J93;EFu3#~oc782?nJ+)edBTo>%TrvYb$Q@G>pJkD zwnLRpg%fcRkp4tm7xPBlK#+Y6sLOs;3(!0J7;$VOmXk8YP1n= zI1~tP|CKfv2advJu+i)+)zNUq0H-B^V3-)EY2oz+yvPeZ%k2c25_T#sA`Qw<9e4i(sRyQ-xwv@EgAW$( zIVwPuGpGaa1D3_qpkYi2A=})Wc%rfSP4qYLA97IuZs(*KOx|cXt|#ELiH=JxxFvDp zj3<0Mt?dm3u)PM?q9tRjH#sa8H=B~F0J20Cj5bE2x+kIARaIlDw+I%4rHN~?)Fi9) z!~$}Fz2p#=D9tR{L`B#fTZrN%lL9fBJa~DJQJy&Ivc98KD!)NJVkRb@mCh4p883hP zN5EkMnM*mrd#bV$&S8VWlOyiT1W@65?w#lE>T|Mr!BZ=o#-&e>Y7|>cRCVDX`bnMcJC|t1A7b=z2eH1oXMD|gqHA^m71FL zWl~5r83lL{(c}Ms^6zm}5_;){KTYFfbv5B?y%A6;lbABckQtdjN~v3{O$`|3X9wsv zJMuyi#Pk#QZ{b5GW5B4du5sDxM8yxBe$yIjPNjr{uU&o^mNXDayd_T(4--k;l_QDQ zgCt&!@Z@r^1|=Kvbo?&a)I{X+>}9`$z^LLzo9{N0^crdj`5%ryV3rQp z-eDEEn(!MS2CcBQ3bYF|=sJ5>=M35Q?1dqlJ7s0GiLZ`)m0v%waQow~yX{3qw!1ao zHvjU6f7G8nv+vn%F%z{k8^8^6J3QjH`Lj1XoLQV)v&VW=^KRXXZ~PKUdWOml5zCK} zJ)xiB0b>OJj49X}1(S(ApTB$t6$|<43C(3|<7@P5*4i4%L}0Hs$P3gc@_%s@g1Qcd zoTPKkvVnH*o z2@vJ;#{&I{oozdIJoWgPP$9H^a-G>*`N=oWxN)s`uoT+m;5|K$&Miyy4L`Q^!a zdHaORWGbZT6PQvn^jVoC#^#;t*{Ko^n1x;PlyO1Olw3r00u*E_pOSRJXsrYwDq4n6 ziX>1500)F;9<4(vT{jq2{LP<8YkoWSj5qgQa%VI`NdsFuG>5x0fVj4R!|k#UJtLTn^pKZ(hfk8sfC$IN0U+E z@X|}bH=2w0jNGFPy8=lE(S{v^$Nli8MCc_wevnTEp)`{GnIvd4F>7msUhYvzbL6?4 z{J8wN%OM{)B|=S%H|a&NGg^)=oWMR|uOo1f^a;!B5OYscKFU?Gl^-cwlIjZzgX9x_ zN>BI0|HIvzfJs%JX~S8lsxvWTGBX^ex+-%H#zcckj1iEy04|7#3Me45+0EV!4K%%X z?fbs(RlPS2G|((Uw`>9~fZ7pvTtmRbB;x1qj1xFq|M8mq_w%0W2BJwc-^_P?*H40U zpE`B+^S;k=FX+O;*g!#xldi5HzX5bPLxM9Xx%7Pq<-S&Sk4AcM#69>yEg$OR@q3?o z2Q1>1%i7SYm8|NHR%2a6tcuiCuh+wI;o`wyuIOP-JQUV|v-4Zf#}n?+|%r z)-2_=l{_;`xpRy|ISPPMsbXm{Aw6~+nNR@j&>6?Hu&YJhx)eInY`6me3pEmYm{4}Y zuvvi|=C3eMB?~KoqE9>YNGc_&Ss11VUBghpWB^Y~*KZ|x)!sZ3q#Vf2fr~rL&qjnf`C4?4Gi4)EQ;YZl?^FMa2 zv7F{FWxo2QMAopx^%v6 zg5kcy*4MZcvzM}1EwGo$j{fbv|K55cd*tctOPutrj$6+Dkm3hafdBet-^FH|*ku=L+O@=2W4dseiwdclupEj{whllysrfNK^*= z<9F-bo?yr;dO!;BMSzij8y@G6`lE4OK?4txU_=N-!LNYa0Haw1p(qv6M6Qv`3vj^I` zo`5Il12X}dp+XQw89_fsR(0fHr)MF5h$H8;unzKokq88&zsi;SJ8sCM@>D*hjzDuE zjLaqoj{wLK`hx-;5z-Dn&PE^f`;hC<3E>n1em{p33ixz>bRB%UMm5ep6c(@nX#0~f zSOljZzT~1oG!wF!Fck=SA(9$Ic^#Yc`vm;;`vvCfM;8b;C`Q-U!-a8g+&Yh+l5@Y8 z{Xr(?!G0mI>DGHa0XQzfWC>fuR`C^%?3tpv7B!BJt|tzR-3DOIpyj}>YDl@NluW@R zka{t=*7!unZW@l*&(vFS$9#HQPAy$&;GKcXA0Qk66vB!RQ1JlhiMZ?m3dBMYAs7u` z@&JXSfA#={JUByofCB6RYGe-(d>PmS1QF8W6GVqX*ZV6yLG<9!6U2~ndYmFV%fI^x zTCse-bwb1BBY341$GGAvef{qzf7ba@{@|gDuk>2jS4a1&4jEUdef6q-1^d9fU`%8D1-CrMGf)+KtiH&f+ zu!0(7uL|}=uSzgPuL}HTn6m{vzmRIBhnT&M^Z?^h;sM69fd>hH^!UN=7foT7bNtn| z6mqCW-aB>n?5W;qzS(;%$2rI-!$c&NbfUnYe7t|v!PK_c#*Oi9+%u`g2j=LP7LC8B zABWp!0M(7-$F#9{hUPlW>&K?w<)v5xcIt2Nz__v0bkr!|*hmTRlTq5Nxii_S+o3ss zvV77JvF`k|^YV4=EJhs#3_@FV%48C*zrMKs$Jc9frmj?*F6Kk|M7aIkci%-RIuwiP zq~WW-=H}lc!K5Fm-FWUj;^ z5C8HV-A5DN8m%}IZAxw|vtD*IVs{F%Q2y>@Y&mVtY)=FBH4GzUFvvE~)X?N9!H)*9G zJ;84??o0P>+p{NeY}J<4TV^^IFDWm#F3eXT|C_B<#z%!<&!Lo!|H<0R^HtjJmMv^R z-$7&9H^V<4BY#7;tcdSDJ{^M-X?`C+UaV&=Q=fYI#3{e!FC`OL@mGlGNm@f{i zHx)-`qfs>n4?o&5c*2xwRuPjl=kI#6elFMXD=V5e*Mn*tO2s4bSjrc5aP_%P%LY9e zE9|M*ws>uoalJ+CEmutf7ztR`lbVfdRXuInT6gM?9awOwdM7I2#n!ugM$^z~%jSfG z2UX-?bXfylkW2ZRM?EO$dlDtphac^7K&UbiE;-!QbvTlQex<#n^U)*KVAlmK4$quw zhUg>aiu4bo&&pg-m=L`8@g-C5k*|0`zT$it=T`XK=adXRs(GvD@QHVIWh2H)KT#j5 z+&=389dMz);N@S8m42a#08W(G=W{+!PJ~R=FZdU?KXa%@kbg2(3AWj&4@l-EfXyNV z^N)*QP(}r}T(-3>3%w93yHRlsDDwpimFKi1sFocghKNT%KrY-js0@h89?Ey-w)(7@ zyKsek0}n3uKgx>(^1sRd*k}l>VG`B_CSlzV3F|~GlhZw;8EAhs@XI>x5sf)!Aqng9 zX7dJ;uR`P#@6N+An_`=}C=!>>tGvhSn%}N9#XK$P)W9#b zsZ>6a^KNo$x5|}#%$f2hB3{^@=5SLSFaCzZF{ghcAJ0HsPgi4b1du0WH#=4 zd5TsVwS%8mdQYXx+df|#Gqre9>0b_Ddy%|1=ia21ADYESYMgaOlc8y@rNU+OnzP}2 zY+L3~b0L>+k9T@DxZCQZ>$x-16cptZ*ESN}VkWXQ6~S_q;Gj$(lj-Raw-KF-!B>nq z`4(TXI<Nf#DPeG-0wZuzT%RGWjuzavM70tvQV(Ak@f%@Mg6}A-U@+iv^^D1Pg*s{4p z>x+Py6I-9dN61A%Big#VDI z2HkMKYcw#0=&&bKOA67xXs{!Jt|yqe-e|Sf6NFT>ego-4M}lIsONBNahS*LAB&nmJ zP$b)-4MqGhZ@96b#j!I$4=^eomAPCgRph@YkIaEsq=`kLa5F`?VJud)G zLT=%frU&kJjpgt@xXwKA`Yp_(6*_pI@ORvyKoCpbxxHZ67-%k(yz>r5rj1R_C3n12 zRNblgDSzOA0vanhFu#b2oj>2<0IDoeGXH=BeTqb)M0y<xR#${W?{yBl$N@sJ+SC=-F>J3fdm_c-g>^`^4Y7IB!J)EPh!`rSu z_*BcTo#M%p0qGwnoup*ySJ=gKcb%<&yEhvRx7bqtpcdlwL5KH&sykZB2Fecw2YR34 zp6uD*zF)swV@rFWkaqky!F=ML$n>GAs%FNFs@Y4$c~e584^8EygHjVuZaxkN$Vv)u z4H=z+!}{bC@)E#IFzOT5h8~H8$ChgHxhyWL+v>4!W>4Cb(qh$Ny3f65u> z){W#%R+AYOC`-f|v&JpWz7%xcLP-zQGrS;xb1+ee+4axMJfC)@JsA(=HL@(|OFBXV zY`nvGz9TjSGysU&po*Dsa-V@6mn){9ixvUFj9JOP_i=5`+=29So921jzBv!*SoA3X z=xayxnYHD@#pv^c`(GcIVv)@&7e@1o_NvUe8e4^uFg{Gmyp34e*_bPK|$$$Qk$3f%JotdVP&E|CaL1@Pt=?L37dngIq975QvN0hIY zAK?`xl1w-qO~*2^P_qq}$QE>X=zn$}1WQ~Fo9^s$e9G1w!U|X|k|9yloJnuPEa(%x zcD&SBJ7k4P0gYuJ4KOaU2oL%8d~8=H3Wd0}AdmD{)`kz6-7wwFI zY0v=$C`E+~M^H#0y%XrM(Wea!+TW?4PaWC!qW-n#9=_*+g>$CE&;Fb2{bbi{;sAAl z@Sb9a#%B0wEQznC9l|ZFZ+qq9xKJN%F}CY}r*3E{=J`scAN#=-Lo1K)kx9HXWD$jz z0y4utQ$KH;v+n`@Jr84t`{o>1c1Ud{oFN%dg6RX}fnf^c=c6;sSy4S!`5nzHwj6@k zSWSI;1p7yt2&x(T2};)eWkbv5iOT2Wlz%WW_3+1_cqd#{dJYypV1{4Se~wLnqof(U zbhl>zvR%yQifxSN(;aa;kr#9&~Z?-jbi9mp1EajlnA3;16<+|3CXIARVS6Zsq zicpM&LOI|!JDY%kgN~{jB|uQI0?|lGDqD!apuOO+8 zr61&sVf?0V$roC@qVdDYuiljBq$`It1`Q@!(VX`S5^w&GA7|v@oFSB@Rda-T;lCb!DqPAs(BS;d^x2w~b?G~F` zFdr()m;Y%F50UXpq{Qh(Wm@BGZKgtgWSAmxUQtklu;&|~CP)}zGu}L2)#S|@n=!tnvLP|^#xsFZc_Y+T&A2~avB{UgXP*Lg zMV~f@EcqsVqqwq-${G< zg(Mw8#>|Q*GuKmj@+5@*Xdo;KCf;Y`Oc@Zka~kFd^pH$&yZ7u~Jg5PqC?Ao+VDVX%*8vTv#6(n}0o<2?Oqi@5 zjf8}U0w0WAb{!;KD}NiPCkl?KYC|@=gZR1fVpV4o;DuQGGS)McA&;vRrg8B^CrwhI z@g>sQgFL1QWwEl1YiMn3zywR+cqPK&T3Z`hfUmgZ+O;&WJ}=?v8JOPQ(8!{Mzgn5z zI*uxnOv;f8eN^WX_dra<7^%+~TRF#L8`i2&3Wr45WTu8knSt<2O-;9Lp~{aK*A<+R zfqMxCO87BH!!bX1(AM^!6&6)BGt*+LZ`HtFB@z-|>{Nlw46%URnpT8ET+|;%FUPL| z>e|I@f8l~ioHd%(Q1}@vIHEwr-icDwei42a#d#R0dfHKbsKuUf3)hjlwMZyDE5QBZAHc32789JL(3Zz$*iku9>i+=KOejK=QOy;GO&_!^< zxXz%qWeD@Vb0^#`C>UJ66D@Xl;pmLOcn^i(^oF}GEJclNzN*P-#Ta?bWk?k6_dO>* z{tS8^e~xO&%P)V?6s3QFSHRONcEC%U%x;ccq>RkdY+VK30{FwM24F!^u}?l!2I37e z(NPMR3W)V#oY;a!rPq5HmBOST#S%un{hpe9oNtpO*ILwup{X5ls7C1l(*vN zfXjR7&z!BP(cPe@?21N`4PEhUhq%3FUuaj$p4tO}J?)&Wt;5x!XSf_X{a=HEoXNEz zxl&AYxTGalZ_zacjYbUHCa4FVM!S{xuNy1(7+Xb8)B)E(&e%}7c%5zy`LfAl+W9)v ztC83#1#VOz6x0e(+9)R@wf|rjbQf9e(5w`pkyH8zSQFg zYKMy15Ey}v^7bin=1j43HsU`~=S~;2k{ap<=~rG(eGtk34jr_FtaiVZTV&_M8D|!HrBd0_*2>K)cn(ht@t#&E46uZYA5%iWalTn)l^s)Xfl*cnPLESuFzDn zvC3#%*G-(drlyk0%3?O#z0PQ?+E`rozA0>JQ_0Cm%}pBvh31l%Uv4f0HZ>JWsy62H z-C*Fc%(thfnE9^j&gVB)6`D2;txNf^{HgpY4xppstw}XCs=a&hb7$wtiTGJ6l}h=E zCp$YYeo|bEZp{@Jra&*>N@C}BMOI-@e@oGe09MzoNqf@vgn-r~B$wX@Q;+I9ie(ca zA_?q|F$r@X-f!wg&^QVP3KMByw;%7YLUDm_F-i+~a?Wdp9!LzQOps(~e~{HvD1QXb zkMj`vRbl}}_Ibhtl;dp}73zXZUlq zG)@4g8rS>|;;DU(kIr&DE7JhWKiVz20 zJ!BU!CyJdKfFD93;j_(>_ywdRv!tg?zB>a6zFWG|Az#xbKBPcqudhb{W65~)o_sWq89DP*M^7dhNrE3`sjPjBaQjBLAwpTg zg6-oz?~0#Df;;9lU~238UtJp z5A%d)0b)|(RHm50X3*WPfj&(VdaySxm2X^%49bbJ$n6?K!Iq2RSf5fs3p5~{I&tEZ zPzrb}iPtYUc5FX{WfnlZej_HzmD^Q-CIM6NGz@?g=Bhxk2J%iKNqXEcy^XS5?J(S* ztkcpO5-t>K`#YG5Av!0`#(WbB!A+O|Nq-l5fn1`_cXNA3 z(wl_G2yNyoO}3+E@Ps5Jt0iH+X4g?w1fp0`eI{2y)F+yC*m*cC{PLH@Lhh@RKmHgchc>%G2jqy?!wOFS z05z0V15g!PCHXL*pb-FG1FqCy8@Xf#fTyh8<%7UDOdMDEN8Em)` zx3bhi=x?7-#z43z@uYYZXM^l}m2x&^bqCnlh|;2{0xL(W6yN|w)P^#DmaC7|$R*N^ zLjrX}S9sE}!HYMv=+0q-^?)H6yGcWfhSs9{ISa8jfnpUPLj|;Yk#sOrEKRi)ipU5v zDTF@{jMpmEoxC$% zgpwCC^tkh;pUJmMw|@A$gkvx-SF~9jiDEc))6bd=@a8p?NVm$jqQ4nvZZ7%o!(xym zm&zjVLJDQqRcP*Oe)Ong5O${6dR&$H-FWGn`fMf`%7}?j1ZJ^QPH3fXNi!7}Y=-n8 zNwii}Q`_po!n$ZpT@_H4l#F5Ap|F{0EDd2%NP!TyOImYbEpN%x1uPc%2l5ZJO!MC& zrQ{UR^56v^{XqJGHj@psSu%1;N@-7h{v%$llj;OaRI!dHExsF9V_L3j| zkjy0PiIS7B8z^rn%g*<69-rGAhAiafO{!n6KJZ}X&X65k@L(boOZb!K_aA$C@=i{k zj%}}5tGa*7{1+^5LU1Q$_c{D7N6?@Ln26Wl3*2-ICj?bA=ovr#9 zbi1klCSQ$J%Go=^_&LOb#)U+eZxC(MtHExX3{ama&_0#E{CWO!;=HgHR7Si&To}X< zG%S8Tyq#eBO7p+SCQ|?c=&}~sW}iqa`Axf@iEORdus*W1Va>J*^v~d!;&Op3=!!#k zuDo_ZqGqRILvU-Mi)&jKG#OtK&hXE|`>=O`y>N}{-605B!fkR!g z3ztaQz#-+jll*?ojHQiBD#grm+nzg>=JsjczFQT=WaoBIxSLgD{&WFUpo$>;gt19N zy|a>01x^jI1$*5f3Mv2B#n(+9BR$UVM9~l4ht7muoWne(#MvPCJ4li=A?(t;0)y5g zOsPS98i&x6j)bUQG|p4s zaK2{91`9)e_Cz@jU-lyGk)K zceQD~8B5ISomj60)wMCw6ooHPbA*%nQ8F$XM$eg3Hco#0p(YR1_M1u!H_V^LD1k|5 z%9#ztliZYvy;%+;ZVtkFUH~K8cvpM{PmNEVlh9=quE6Km7M3U8_7lrobFf} z6wsVT+H>dieEV$tiuYryB6mhINLZ(KRl2n92xfIW^sCq)!k!v}aBa2rYtD`6A1E!_ z5)#LFv>IGXOq@UZ5qdS?66<8gP@i3)LY*y&OOf&bn_R)~Q7TQ)8KOzcDh!PHx*yQf zKKu*&_hA2i*`Z84qydHdG~@(462wde7MY#IgWN@5{IPfAp-RUnAsh zQoCZR4L!L%j(*#*c?YJ)Z%R*`n7%1K{lL6qwtmN+T+aqB<_a`@coWEP&{!h!Ti%|y z>33RCQooRC;jF%7tNW)XZc9y`?w-K)tD}2&?AROOo{2uSaF&j;GrH$BTs`^U$zlv{1NwZu}S{K%vXWVi7dQN&o9wl7~+{jBRc?O%~zV?u{ zK>9wv^yQ06vQvO_aa){m@%W75IUG9%>W({OXMB#Yy?yzI@A3*T>f~G0⪼z6bT&M z^oNWER{Y1v!`jh3m2A{SZSqS{y920w;~B=>HprF33`I%;=YbGIWc8QF=sydI=;&4GNecBP^mRa78Uhei1}4S{RGn-+n$HC6HpO$}ATs{i&H;l@P0g${^FjJErDb3(W zWGDq9Xf#URpb(RuB9$eiaYOdm$*wToljP-YI+r`b-+_uW(vReGcl3HJLeW!kZT1`b# zm>mp>B^CWvtkMk{R5e;6VzkxP(is26Hthk;wq^a*2VGp&pH60(!0JM&gO_JYGZ2f~ zA{J&0Nb$Hlx@e~$&6H;rAu7^nY4l(e`r7MIkcXTT*nQ1;QzJ`SamsJJ&0pZ8n^nz; zKvz@ZbNr|^#^4wPmjdV$rjTGivqXLdIhfA@k<_0skX($F!~cYv`-Q}MpZrh!(q$MP zFknQM?Lwy_ng;mkX`CxkY=Gy5*_&YUXmz^8h0^WCtp2FP2XG4}mdX=L>4#A-UXs1z z7+F`VsH3{Mx~r136$d3%Z`B-)Ewor&3ulVADo@h;>V2EDEfGPQr;%n|uYy06d>v+{ zahfx=W9tIrq>6KL#d(Id`V$^XC3Cpwj4@EmDUf6gs@Gi>1zm!d{C^}pk3ysp+Aqc1 zIatd+4K`rL9g71|!^Xe}o66a2#=v*DS+L+MV%092!sbBdl{Eeb?-KQ6=`BNc)5D4{ zq;W84Y%10bTe{rZxLP!$3TcEcx$+V#VV~Hl$vbjpko8tCPcPL=t3Tw^(P++u0=bS@2yU|a#5gBQl5-Gx~y&0*7{xUB&0q(oOBFL zyQnqiPRI6k?cCY5H$_!$C1-4zB>BYx;&EwqpRX zzjVpqi}qg_+wdA!pd>*R(lfOK%5MW5?4`b6I)xEAV0GC!huLjt(ltd539}Hh`z?S# z+YLcynlrUIHgxN{6J6OhA)YRTQ#MZe31}8YH?Uk=f3 zX@hQqgZ#r__vPg7gyt0kUqaTGfiZz?5GB2QFE+-Uz&7t_-v5;DsiysFb_kA?kv8V= z!zhgFs?054qFZ8GUJdUsM-XOYoZN|w)SfgF>V3_MrUj4b9&28(d4-U$<^2c>5XcyQ5dA*mhaBSNbpczfjS= z2>X#ul1b}x`kju87s^TnmrE{GTcjn?EI?-4SY=($aR>W#pcJ9_wCm_N(k`j8(#x)ll`$?tb#Jt5mGTy}%E? z9W;i~n1*urh)ZSaNVX2s>lU33mfyB^_w>u zs|ung40k6z#F${P1&gSZJI-ydUD39f1qw@{Q}i)Qb6EayJp)-#8YKP>!_5E8A=Aik zSo)v3ARkHp$~z-ApWDf;H>@+R(XUyT-(V2kaa-6)c3ZZnlUv!bqkfNm&yKe39b%Lb z1OA8a(*MRmB~i31T~@uaUUYh*cJyr@P$#0vxJTSxzpSfNe@8!`&SWg)J`;$=fE-FY zW1Kae&cG=ehLEvhUT3jd(<Co*`nX46=t!q3*YOZhJMjm0fb>wzl#cKjD|Fy-DskoT8(V?qBj_gJd&+?;pQh8=6Y^NTe^=-BHc=5*8!!JSU?dKd zZ@c<&9$y??eNDGz+_XRLNK<<4!JlMe9mg!#2;t1}y-cQG3MolvZJh-&VvGxgd?` z0Up!6uvKe|SiLUWl6$pod&rV>?yl7OLHULLRsf)DVM(RR?($ip_TBetW45$671`IS zMT_5^^u!+1+JZ?(TK}Fpl_D|P*i#TL1%5WVuR)8cIUG&xenrci*J4Y0v_TwZR43m& ziCZrPS_sa741!ALh+0@1AwvoP&+G}TuQeP$9<0E zMyZq$?nDtOJPlbT6wiu@4I}wrQL&yjl$g+iOmvtp2IR9a%l|F=wR@om4G6nO*J4nG zy+PFO&9z$KrhT4JO#*KK;c4A9TCC!A>j@GcjsgI2$64ms6CBnp^4R*CAn0f_gw0f?^w!-u*o zz|5n!;0wF6b=r{I55!`VQ44szn{i4aD1bfUpIcSFWbGzkwW(Z8HVe?tC!2+I+$Cb- z?%lWtfbHMEamx)2qIJf+1v9L-n(jW-_y(8s+T(V;$!0c%#qsSYANuejo$EhuI(@a5 zJAlhUA@rq@2@B&b?MO7yg}lUHM;J>tgP=kTr$OBXL7J%CAY~brV_7*=)!%-rDBtm; z&$MAL6&0Ye4(jH$n(?OwlU)QCNeB0zS6}@@l4Jo6Tgi`4ozh}8N6eW704t2{^nVmL zg?73fbI)#|>(|3n&INHrp;V2Z6_v&64cbzL+|{pH zzX4?pVlQv#()P0sAmCFQHlS)jZe3mLwf)TJ6g_oRYzcnkDUrVgl;3a-YsmxE%L4O> zBmT~(`$BRUv&X>LB!5JeRumbDJx5*KkBSL0EWjop^q+tjm|lkQ7gPWeqWn(qd!;)8 z_&vb}sqaO=Y3>)NesxOuu|#@cgrcOv{c8L##t(|&C>X;}J}Ke}M}1NpzU9e)uMk6W zu!lu2x=1f778PlZRDKXo_pyf8;GjTlEG0uhA>hsjXWwHLE#5Sslqrm#A@QkX{}V^_ zNBWmOmK1HFq$367OeW(KU$Z{=^qu;4fDb!U`EJK1PqQi46y;W=DymlMYO@Wk4q>up z=FCBOIP)Fm4jw!>@3Ice%%j>@HFeY@zw+9j%2!xKiytPT`gAgp4vPOP`Kz}+)qnb{ ziPt4XD;qtt7<2rhbcN;GKgd^7&~_dLMk)-@kRyyEG!ZHuBf))AfCP1?QOY>PuWhN` z;1H%I#*^p@I+NA3PTNJpt5ko5|0H%!avZm|e3Mkr_Gh?%&qdDz|O4G`Is4M|O z)Wp;9t14=->+@Te~1U{`kqZ~*VI}p?^2+N24Tyh})KRh2`@Bai#2}0^AUNWe2 zP$d^7oNG0tapDo4m#@T&&I)6w;joffzvg-AN)?nkFi?N0P_s%$lx8Te@_fl^fr5 z*NgA!b~X2QcL{I?haxBAw>ps>%*ag3-uLwE6K0rW)_r{HkGexO`&Mod9C5~f4SxO; zl8R-0zsus3Hvs2H`GLLIX!;YPvdD}l{<1QhOp}N4MoT82%Rn?DV=)=wYb^d;x|xqV zGX7+Y%Ql0`sqbueTAIbA3#d;Z&;5B@f@`j>OjqbDDy>b`qSX;F!gAra(vSH^9<8rf zBHA2&BMu*%NW{5~+xiRp^!xe^>$ZsrXC{~cgn(^g+mc7y9-$%c0$P>4Y4e(#JrYPK zBPE-2xt>TO9f&wea+N)%gePEicuFcwrZrwWh|9^6SFYimc~8O`@Hk4GMuXGgflIol zq~MAh!VZv_6D4tIHX{Mo|%tB`sk(SR>p|$yK zcANfQ1jxyhU-WEKfqWSDgjbujb`*i!$(6^o?qn#FjCZ$c!z8~$!Y5U2DtpYAiKez6 z*G7|>NXp$~(V|@(h8oRQZ90e{U;hfCV}}(FSp^)_BJiB<$!b%O_mA0nAv$35S{$x* z^+g9Y*r-9*>fQvu11^q(6}26k0Cb}FU=|gIMOLRp!Eue~SMP9DZd#_VT;Eh>5k2Zv z-u3G$bVcD|l;)UH7|rA`484en0AR65y8SAKp|szx_P~Ehtc)W5VU)6!*aWaGz!fz^ z5|PrwBeE$A;Z>*2ee8Za_c$9u*}MIu=Kkc|r)&ezd`V|$(sn@eWp1*68BN-|4kg7@ z2=h35a7c2Vfz2@j4<-Sqh7uXJ7I3OBP%!0DmHex(0x-$M85x~x$r9}|REcMqfG|q~ zGQ<$i3+gbhPS%!}YbL*X*}~mRw6oZI#rO`-s1Xw?p^rl2dG%FoZ@GH%_= zP%tBv9{G926b#xIM6sTX!muZi@+S54Kn*@%_App~#Ko^rMI5%UUB6=Onw5ii{iHVq zQ*o3rD;V@)xO4|^FuD*W$T$2(6^sUv&mr?f?kQdO8_>7BYzCKMftih zs+7eTZ-VMAkb9fgY;VrTsr_;N&EP{oZd|u=)7swNO`Ep&uH9759&`$)ZNd$jnHY(r6wfUS%60@&(Kr$NxiXrJ*5X+OkHbh9*j7olW`x^s!NY$@+Z z`T>#V3LVMr&AQF@ZbOIQL}ikK(tIFp<2u%4S1#2pHLt8)BRFkFz(=^*Pa~2Iq@oEf zk_Z92ne>57EVvUvxB#cp&EA-WgMA8>Rz0k=YH9M?QmnMJ%bL@W{TN+)&$w%J*St3Fqgo-W zSm3$H0&fztz?1&pc0QZVX1$`T%idvbccz;{b`Umw)|ew@NHj+3iLmKR>F>m_U7xK< z*2Fkd*kUv3Y*@i3w7Ody%_ttGLoiKD`U{pg*DF88CvAmLBAsbVbw<00tC=L%mHDcCRkvZIJMNFb zN0QwuQeo+*@U2F%60H$S$1*R*AzaL#<7UQ!)X~qMDIMFdu9LU&(oZ#sWGwE%TzW6$ zM}jt|M;<;Frk*wk$lx6MG3~OTU9KoLRDi%OW-Oxo2K6loIVF9B?xK=YkrN*V>e8zQ zkvWj<2e3LrhhZ5eeM^&64r9J5<_+3h zo-xxdp1<_kg=_hM$M189&>#abpDQ>l2_xx%>HR@f+y$#{eWSm@Y^=66IqH0dI;YX& z4_G~c0Ia+m{x$NN0DNEBI9-=IIQyLQC3qs3l*RO__*|NHhfIiWy3bY%7 z&0;zjPR4Zp?oz+E&$pv%=ix9HY)iQVdduUgfH~$jh&8@|$)kHy`X@f+&$`oasf-)L zHuymJoIdWb{0{#~mnu*u?Ffk>rrzgY3!JZ^;Eaj#ZzzUG_h>j@sve@`mQwRbK@?rq zZ!608$`i*iZ7eny_Vtx%U}%dP7SK;)*@!NX=>1S2Oe@enNZRbj>e13jl_T2_aF|ES zBemC1fNK?@v**)2EzeUan02^SwKiv4qTLmgbl+u1z)B2XdM=_oUfRJc zTububK?TX~fLV^hI8?Y6t*zQA2n-0|1DwRmYSau6YCvBBx9B{s6wt^+5PzoEP8BW8 zhEUEW@E)se6*0{S=;;%>x06Bqoba~FoUO4p=w_j+OtU^Eor6Wt0S!Up!LOU8R-}L4 zev5ekvi*K2mGF{EQoS-66iIUQK?i=4Hcm87=u;cPXy*XM96kBf!K%v$d4!^)P!jSf zItq07;O0?4^=BoxGgLLbyiiw+1TQVhl}ZV|lO-IKj0iQFyR5SwoCLV2l9MDcKH^l{ zH794ia95fXwqE~x_e2L;C%wYo@G&d&p^Hg0RtNX-4LzGx|NaNQyGoA9(M!m!i3BIb zq*!+qdMu;>_CB(3_{fXiq~uQAS5>8QxuVcad0!#Rymol2y4VQa!%WNEkXHWoK@Pd(Ao^U{6Y8&ryl;jJ3U zG0bjpyJA9Bw;YvYsGSkZ7oK&N z_Z^idW)HYsP3s+%;YyAbqF+P53`Wr6J1M^ZHdO@8rAVx`JJI9a!lAa}7VgItr31UQ zmuDZw_q?u+#$ewUToYR3TyJoD{m!sw`y2+SwV;wQ2(K)(@5r_akvKN!}j&}z{Q(qwNqD}4tZ&-m}*1C6V83f6jiol#fTTd^k=3&JZ40BveOx>Q=Tc)i*SG90qaXlPc(W*kVFcvexOWcUvMR3=ohvNXNJrm%H)D z<0`S@mCx!?35kZq_WTCwBX2O)idAG%93|Y8F_54E$YnyDQ{Yl5}GOg5b4d2qDN~d7> zt&_%SB9I6U2~Dv^yQ_&aESCR4`X0VQC24f=NxT33aR%d$rEe01KB(Z_u<*TGo}2sj zU0E|;cW0C_Og`%8rSnR;PC8$dX_3#%=T&BNlFTj6^zm}9TI!X0RdO%AT=a!Agt10> z{LB}>Kts2PT&6h>E)IMlhoAw{77Z2S!1jX_I02t9mJfXh8V=x42rkbnAEAOY^ch&D z>_Zym#M2BrMYNqFd`eKZ!g8p;{3*b0gij#G>d+U9`=D-80CdSoGBTGtHk_5tDrr8$ zL6uWoaunh+f~}8|r)e5&o!OiyotMt5ve`~dyI8hjIkHMpfZ-tIzZrI;G-MXr8H%<) zAt*5>lLZ`ixwbzvh`2RabWz>|U88UDaz-K0$Qk9iik;vuIoZn|uB6$l+@A~6_~K=` zN**aqmhV+b&uWsNbG-ba^x@@>1JJnpM|re7deENbJvHP5l^R7769=3t=t)8Yi@$Mv z`NPvtw?kLV&Plc4R1QS#ih@x3?d9@SHwaa&Vh5X%f zR~3)%si(9rYEbA2Cxvb4tzA3yFRC|fLQq3TQU&S2c7}-~?H7UdE*R^CDx9EB(D*}D zAZlZbAdAeR5*OB_=jY3JPbUq(GfZ6|&lmgj*QpO2ES~*?vhd$}_y4arh)ZtQ+A6Pm zy(q1gS4-cPMAheG&K31R1|RS>3+vX_LiV3-sB%9`o_gWgSr_F%@rctC$l$|Y>ye^+ zVv;`M0p6RSzVXJQG?|Pij~sndc=85L_5NP}+xIKxyeK{h19Qr12rEmWGv(44%OESO z@MQ+8fWRnImi^!Rd_#ioFn?YRwy4{!83HL^k5)G%VM6GJ`P|oEmLhq5fuOhNdAqO*2nfI^iNZt z8!>I5AHU)BSn>^`!ydj53^(=1lK8j#TNU#66cMADh9k6w~nCPU)SkidD6nH(R>_39@7x^rO^9v(xMlD;KC-wy-(nO1Z#1 zN^_g{KNXn!3%J&rBbJiQH{W+F=;-j?D~WjBVYi-$QOtfotZCU~+@hBrS8v&r?`#%< zdxU`k2wXNn{`M+f=F|tCOQyp)Pp-sx@ZM&=o*kGYdgVl}HAS1{NA<*bp)b6&yxXqLm0SL{Jl2iB^6`{xL6o ze~c<;YfUxlq`NfD4Ji{2==)=ki}K)?eOv1Yp&tcuRx+CKa<9~; zdZu)!>|r-F3`1C!^tQUR$2869LOv!G;;(NB2a}OhFy(1=rfOXcT+O}v60PA@TcWY# z$?LlvNpA$y#}aw-IljZ`M&&%5D(QH6aii)kjdaJ)p-{iiRw-S*FxjKZZ|2uOGp<4U z)(VDJFPC1&u&p6W)|l|_i{yZla7S)`QL8w&qG!ebO;A)FB<}zwVZ#KuP9nf0=S&); zm@8$GBL&#iuff#OIFJm*giqg8#iEd;=vvqJn{J;O_pbJa8uJ_p2O;B*vhAw{uw09>UsL%D2E zPc9jzUT8^W*4*PsS^{2siK(*E%o?ZOk{(m8QuW;b;zQ8t4n?>`OLIIL3dG%^lBR^C z87e^mpS#4-)a3B^pv~?pX?7+WS-kgEkWX@r+`vm}O>;{sZx?>^uqx{a)SDeQKdd#{ z8}Y)>*$tAoNp*FwZ2kofcNtz$nUT0P<3>W2C5|x;Soz|BC5#*~=%+`EXuJ}nF<)G! ztVWc}%lv{S;`*X3K&`TA>cJKkeq=cRQq5rV3Y1*dOjUS(U7$iy%WFF!ujIBlUjnBX zBY#I}!Xs3nA{PUM49$(itGE=G!BX$9MDP0iUx@K~2n6#(EZCTe3})-JRRiidBiKK6 zt9T{_(Wu_HKm`Ufnss}m3?ESY=As4_19~r@M|f?E>YwtBZ-u6g~k02AJ1IxR{BjV9pd31A{kRb!bR zHA@C1W9f=~S~|_*%U`1xjxpon%1NewL1!$!Cf&nlvk8Fux7KZ3lN5l3by{`Kh%4?B zn%!y0f;C!A1{c(?zS7A~pTnsP7yjMd&24!Dla{!zj#slFyphkazwc~^vHh& zw{#0$VZdfc1(b0}&w!?e-@f9vuLIfaGV19UV?x@}Z0R=M+4gw2ey=|g0OYZdO2gkX zn#5$0;<9dZZd~Z)=#zn@KPh;(S(`06F5z6e84%sIYaC9|VzM@QD>y%lwCy?{ESmI2 z3n(q3#~uXRB4$au3N|hbMJT_gZc(Y%Sx*Y%fQFbmJyCDi8$hEJaAJQdu*n~Dr(B#p z*J9nG-_nv!=EM|4wKoM*0TB051g zztV4Yo9$fV>ZTx^r<(k&;36e#(aNAB=ni<{1Qd$dlAJZ(7lO;Ymna^MhMSWc z@`c`5-kq_=*B62TFVyz@z<}Zrjt9f~NFdh^0|fC5G-+U zAEe(ShU{Ibx_jFB9*s2O2oLuB<=}C^qu2odZFM^BcEI_!QU&20c$rs=)5h~~iGeT5 z;yvJtl0xa@O6vzR1|tbw3di1o>AFzMu8nuR*5*;LS)I$*u6Pr99k`*bku2rJNIpbV5AEd}iTJD_mm@TBLix_e= zS9!wjpgrVpLCOKh-=H^J)m7Kyk~(KBbBVfC8Y_MsvNZF2YsE z8YGP`jnZ(uWaj=|&$q4Wt={b{$@riIs!KZ(wvd2ew!^a7(ydK;tl4@5vnCS-vuhSO zSu9&}NM6Vv*qVYoo-b44JoJ2N;U}_o6N{8Ah#(mvaHD$5+S_N!kG8AoLJduIIz!4- za0{>1O=&x_&e{kxvnFP;WwPE~sGHk?;?wdY!)CYP`_8}v?x7lyAc4_GgH zk9xs=RbR5Fy{8pDs%rweFrEQ7wbT$hiA?)sxLO)^{AiO3tu@65rR~C00Q$W!=WJ zkrSg(*om@8UUBzxxNTmmA1-#9j2jnUSk;pq=&ah-u+vqN^=8tHb}BuGi%NOXpjHe` zMB>(ARkgKMRUNh6-5nj>(BrKVrSH}8v54CRy+)udi&Fhthf(#2K+g26k!p)rx)n85 zQ{$zxvLJsf&qr0>(bTAuc?|(r1Zl4t;aM&y7DDEnQ7;d>Xa*pSzW7lVAKiG-8bG@1 z@{jH*egs<&NeiXGR4ybIf|eXiI9I5*K0{#9Fc3C)qN9R6S*&P7oabL@20TqQP(=`; znnDy3Ar$^&BB@M9NHEeI~lU$~;Wjru)XCzYybyDi{8sXN)4)BJS^bToM6WSG6rF50KX!mKzL#i9~e>4E763i7K^Gq_fC318`ArHA+YJCsE(2 zP2t3zy*Tay5=)~k30NtV_~JhQjMpx0hD)&r(KsY5OUwQ}P}-+5e*Qx~;)cUcl`o6Kh1;_cGos+7kTv+1pNm(3&ICO@vSxRd6rJ`PdOu$bR1eKU{;axDx~ zdA&UR1AdS6?LPV2s_|;+<2k&nh9{piS(QuKTATE;pthl=0M)CMD1Ac>3;M|_lP%TI zte1YIhQ3uYg)7Pi?>#61Q`k&72=WyWPQfatdIL*QSTSYduxZlp0c0+64XzWY_n5@+ z@+tEjH1Yu5r71}qK(NEqHL(UZfbCGtg=yyDf%%9?`y_}$-^A_^tPfV7ly720LmiAw zn)v2mbDhbENdF4noeg*HPsQyv*Z_Lq9cgG^Qm3+I@wnNas#T<=8M}?`gG!$sqkRtIm5e$7jE;fAjgHCllfZ$)ExTHJOH7Dk@d}05pmHmV`a+qpCmR&*5KB zm3cTSukyq`X(GfFP9ys6my${>s*{!=l&5~%`0-llZT2>@N|gLI5pERo;bIw?v>J;R zx)M|xi?k3N&tF&UlP6;5efeD*HVY@Fs%imnZ0Hi??-p(H@wgpBC~KJOnY+=rp`oLuqjN*+#ylqr5Az6N;p<2y zm|-6${aciWmm@qK0ZB$w!`*ck^zo-Wc}JWxg{+pKIrXEL$Njz{=gxU^-h4P0$wvOL z?d8+S&maPyG5cdhlgD=4;egD5u!d%CKaKog2};IdDEK_fgA`&K8rEvtbG zUmU%o*ZMmy?Qn6gTs!w2x;Dd-B|{#2gz|ZN2T`yP-M; zwtdQ;3no%q_w4@c?%#7Wrtw4G999rHZRsk*TDLt&V=#O+;+d{~OTVRqweY^qab0ps z1JZt!!idPfs%+_xU%T;A2LJl4tKWO}b)xR05;ib~k0M8d>j&IZoR;;a+0sm{Vu})v z2UG5(D`o30Y+}dqCsIfvEf}ihKvRMwzyNww+T_q>BIM=BGKOfQVY?c^J;vxRtozk1 z-?ebUmZzxeni}gw`M8GcpisnBx3@I6i_&pTdt*zT@bgk65iGdHJ}A(|vnuZywqPmU z`6u@8-?fxEWQem*^F3W%J)66#nTSVaHFQv9gu-aCPzCahA`fmBOQGm}2dM*N0bU8| zFpV$lefTQrd=d#cOW+5FUHT77dBaH=c4*eakbumK;(>tyRy!K}1ew9bkA@Mo6ct)wDf4O)(wlfornb);Pp9`B1use`Icb#bVL!@EKF6 z_+=HYNgr`d`iN_iyo_tIcrLgm11PA_@laz5`L!|x566wA!MvQo9blM(D=SUJU75%# zEjMFe^f>(>;6^PGbI2TB>0W7E?QtUU3PK7)4Iv4%k=8yNdwItpZs(yFHoo8}`0}2d zEAB}I<1i$R#Qh04nZ%vpTXy`U_Mv+py4QB?zS}u-B4^L*rGx5xE|E)!+m1$Ft$N;z z-j*}Sq1)ktw&2W1cxX7TYi?4MuQ}KiPL-$1|Hu-`Z3wIL$z0AY{!D68WjydG(pzj! zi(9-&Zc>?CDN|mb03AClwjPqc8)%&i7IEC2L|^_K|D^PtC*|*`ZdOY#tmEaM%Rhf$ zV2~F}5C;1@cNF!Mr8}iNixx`COs32gXl#y@0cgBb3k9qLiuG7w6v5tkrIsr93@fhL zuc)RVETlDQOejjF(VA$n(Iom2V#fu`=)I)(6YuG+WeWs(7M>!u6t0)#*Ry}=6AM5~ z7_nd})_elXXw79OC^eW6-U(ma*WdXGed!H9^c%H`5|?l>{+ z-Q+W|y?yB;;X)wi%V9Q2rE~hD>Q=-|86Apc3`F|JX+Y*t#;B4r ze${f_l8qHR(Kx~sN%0LN#ux~@k0uZnJ}VMc$yLDNwsy6o3oS9RIhH7>+CVz!&^KqD zkPK@!s{*-LGs!d}BEH8uX`vpfry>sz(LOx;IHLD2T*+6jG?gvVEy|U3trQLyb{%|9 z_uR6Bj}`>!vk{LPmd$%u_wcTHhYdp4_FUgy-Ck2)^>#tl!ZYO6zT?Ncg&oW0wm+hO zWNzJxW#aLwzUh;7lgp-0uM$@5I#lO;|eoxR%^ZYbaHe3p~Fqxl^z8++q@+>g}Zm6=s7 z>o{r8M|`|&WBHE8mW`RM;qCZDzH5Z@k@5u#*Y~d6S98b><+jIJLF`S*!OK&nsY;|; z^3X#{N?0P@FHbFIj>n%@;<*yzRs6|G3`<0KwLlKKHWN=)R;qGRo@cI|+bR~9RnXsU zeeCv^f;Lkl-J8)2#p*JbSR>z}s&H>uvkiWj(R4~Ya6lR!I51yjO(9s* z_ios{4cwVp=^K1$SzTXgM}J>?S%0nibO*vzB!_rHhno2PWTb)Liy#-wT2^`!2H?Bs ze>AZeeyEN;j>AD&BWbjN;1u}B?2pzj#h>~|?T<;f$hT;pN*-=|0)N_$BoE5BNVjNr z%0J_8x(W0p1obdSfr@G>&|vy*Dg+{=g@jMt4hW*K4|6Gd?uTdoBY`G0qOb=RLN-C7sEyHn{7}+8ZZBg zU7n?~fIVnoiaS)1vew7fwOQLN8{_G=OuMtYK2w*ja$4%S-qCzuWm~3BT-4q0Y|DPA zQl;%tOB||KmipP*hjuOgi9Av3f~-OdjHS6)(%0$dd}DHyZ8HD2T1l_7 zJkRqV%bF1BuHiA|mcLT=>4z4{=u)BzC)81X-{ zz65#=g_4P2gQuRjT@LuS10x*J!>-5grvHs@c-A8bcYD2V31S-%m_%4^^VmFf!J4Ec zfNUnBuGR$tQZM)kj`wIKq>7jy3^)r&d;z+UHsy8fClU0pI_NruE8HIBOMg`7F5*=dk2=nbY(LjuJ5n}-TkSLK>lLFZc6 z($LT%$!kJ_?Y-MxyvZ@&y{xLBkN7MYjQ>9KHUbFufk`nQdyFSO#b}# zxsTK|z*Ho~Q>OfQu5sG!WwRcZe)5xqa!*&G-jwRK4j5njkG7M~Nq_l^MZTx7ORsFc zRe0w3TZvtPrDY2X9>+fg3(9f>N1I+gbWkr(QKkrU=iFsk?b+XUxaUdy({rS4z>`xo z`O!rzN}_szTH6~?r6mEMTALB3JSPBL*3ZK#5FC0iz%+Bf(eheVuo8STLHjBXdXxjX zlmgY18bJ3YRt3w9%H!}I4-rH4z!PvPkn{OmKz5;B$)C+rB`gQdvP)re;g{+Sv^^+n zZ|yVfC~nWswys}qop6Hd;vZ-gwwL<~C(K?Sw{CCWv14mrDtn%?McCxwHg;9_^`q|v z3~h~FmhPLY)^qZ0IfApQ%2ff-dMI2a)%2u0kcX@sgtp`>wORB5TLs#?ll>zm)3 zudi-wx3(MG+vAOmQg5&CSpE)uQ*|l43#q$|K0i@duww1Q4;t1*3hRr+U-iLgkRMWR zBlo5fPnn|}ESw^Ka5vYs3VHDB>MI+oo9eRVx$?hE$7k}_g?oAV-s`w{OQb#6uFRFM z$oi48Q!sDc=IAoM`ohkmebUrEWv+4s2Se12g6Yq9z4?=bej*QX+AAnrAW76qoNJJ{ zVJa4fRsJD1JO6FagyD2f&Q~xdg!5`Bq;G7<>&IuR`GodaL&LItm)nl%Y&x+otRNd` zUpV!$&s<^Bw!vowJy0tnH6dlI7By_u#lxwHU4nd{Qn5?;D=&Xn`7TEUHspcn`T;aT zb~X|c-+DG4NqM98>|g&9M5eEE>13;=(qMOEoEDY4l4dno1vyHdLS%0|`iIk5 zWJac5gFN~yTSp+zI37ev7VhLi3+fzPU^EpYz$fL=(=Yj?OvpWlOmt?W0Z-{hN6$AEJsI9$FuJ6@if z6y}Eq8T`qwD4fE~?`-kxE`%!o4EEQU^J9gD8#%k%2D0g49+4$zsE3O+Z3a2IQ&`A@ zmK_a>hqrPu=s4Iy3%6u}+2^zwlyPm^w;}QHmP@`Jt=ue_w;#5=Y<&4}BDq}(&2Ikb zPiI$xU<niF{aZB3hewyNyqH(qV6@Y*+}P1$cgRB|ontZc1mO#J>BEr`$GfmiqP+p3#p|NhwL zPqDeepRL@X{F`v+V{Pv~@cetRUFUXm21B)s6MpZ=HN=R%2a9qoXx@-G^^J!=;+6 zTg#0%>Iy#L9Ifkp&hmn*|0&liKgM5tq5r3~fczX%J_R46RW|q>)GA-SG5r)@e|ah6 zWmtqw-Zyy}3f$2^BD?v`Sx4-VP%7@vemm0r@1Z#4ORU-5_q}b8dqXC>Bm3b6&36Z3 z&}<7c9O+x~j{$unNEFPi)$$3oM=B5jEDemrc$pR|+4faMcfV%9YBMtW#21 z4aXu_1xb1nm06XEqDsj`wNmmA-;qHGYq2~ff~lm@C+ zpBc{^vffrU3(=nX?kyeq-u$(;;_9*u*=V-!fqIijhN2E}OG$45tU7EUg;Z2hVUJ71 z!l`-#npLGeq;>KY$TqW1fs&!-^U9DGng|rhSWAO!nXAh~Wn7iDR{dZ{ZYQ0^6pE#* zE?2q!9~}p+J46qGsMbg?plAgN96V6u6j0BSQ9 zZ(Fh7o2}ffz3PY6>XUpozj?E_)77L`<~%2W%5V=?6EIg-7;8%Utk|6+qshb$G`jDNGw-*G=z6SS6> zGc}&;K;l{an;&ia<>JE1lH!{6p5386$({Oi$WmX6BAgWzVYgItOZ=L{w{2dwr>Ni5 zZ$1#-+tJnB0Ul~#m20JWjlPzFvEyI|2c^zGSU+0$d;J|)uRpxzuC_JLq38(_rHv=r zUpc}u+VPfXU0;iUQL$D< zNU6j%oNiX$8*;Ig}#bkhQD5H2G zyC@cn>4>x^T14e$HL#(OIBbsDMHw>ST=ACboqH%TEf2!*G2%sfOZ0@@fKMV96m&3$ zR=?Em*6@$VrS||W=rmZu)}&n|5!|#>KThXGQpoGqJCp8Y+E5=%MUrAT z5sN2c$yh3q4(UVbhCq|CsnO$1OKB$|BNG^W!X|yh6fo5q0A$evY{LLRG(cf)o}mkQ zA<62ExnNb|4!MHR6x2gZ$>ktSh{q+eDp{Ye2D%)HUg9elH>>F zLqfV}T|D1dP-v?ylA!8a1v&e(6aFH9gOl%ACG1wJ3mBUoON1q!kub@Y=*mzh9I z$?%mFU)ToP;nnK51C(LCP=xazHOH)7b_@=_V5hBPoV}-e`F(I9y*P~ULB`{HroHk5c6sKW4M2m_! zKu`kE2|Z%zXlWi=2p7QS+!P!KnWr_i=s2R5(v51UGIrToIU7YW!YT~o{YadNz2PvG z`IOxNRb^umDk<%V`>Y6f;mkT1Y=!2SNhSC8xd_9HF` zAX`+e+7sFFeX4+uUbWj1fu{@fZrQM{3aKQ`S#Iba*$u-klD#@qt<;Ewamr&=m@eax zXQvgH$gY&8w3MXYDlUIKkOuVrvWp$QzW}iK#zso?c|B}&z8x>SZ-Xt#8b0Enp0Y^c$Pugaekt_gFjhtU{1Rj z!oqfK@kU_hwiI)=)qFwETwg%}w>m~r%LSq0tvd{|#6L3_8yp<8&4sHv>*VLi3EIls zZ59kqE2_LeMy+cB4-XPJL0|JRr%X`#&;sf!m$_OZ!+yR}cNQP1k1|vBq6ho|FH=Bq zgUX6iJC%K8r*dUF)q6;%;9p})vaH%7O}^@NEW`Sxa z^3RkTh1r|T+eZT>x%Fp0CMBc@WA+{ajhY&!N9+o!=TV@xUOG?az z*|WDakqKH;_Bf?TII%gozN4heoLxM7Nz>|GRZnEgMdO4`C$=X$I+9)4CyJ|hY`s;vrHu&;GcNml#pczH; z7cD&Do~4EaTlxA(tiI835T-nkK@pX%>PvNY@h)bF1g}j1Igq1x!aDfIK>+4@8?S{mGJuXv#G2yR9YHIl#9#C9`h}0Us?IMd(CD&aCY`$ zV`i>xX$~ivq)0I4kGOg(_WF8T@Ut)C9{IE0($ws1AzUjEn}<#bo(Ob(jV;ZwWLg6G z!UqEkbGq5qqJ89t9-H3}zE;c>*FVSCJ5rXIIPJ(&J?$&^Y$p0rqb5+3oSKy^+z>4@R+TzS z*Bw~=+%l|FKNbr3s^r?{^0?mm%v&=lJD?828GFpQR)JE(U6SObkXKZ;Dcc|r3@+f=&4S|D**d8N$q{xEYFi zq`#E|nd?oF5N1cbv(wON?X2n$9T37KA>T%C3__TNsa2~Dt4*s*3q_l`#tTu9AIaBU z>J~(o|Lya42(xB$c0i#(z*nx-mDZG(xy6mnO>J8Z^0oZ_g1t*Z;-lf*<&Pri%S`MX zFtMAJF|j+D6^W9G-3s|9y0(VawxGB*ycxc+$~F9wp5;%t#6!-3y@w3)IO6kDIbhaF zR|tH57hBH!5d6j2vrtQb<)8D!Z1{L3!*N3&B}mjco021ay0|%P$5Q`=mqr+2QPLy> z7LZ573JZkgsCeQe_{yjOvo1xh4)Ql{d>;nV-?;Hc`t$u8GwM#@|HDA()D+wY*>F#p zl67>#z}cgy%watU0Wh^Fa_Ur84wM>m*mUt8%}Ez2=umT*FZJ|GqB(TRt&n(|HH%u- zOf3s6f*SnMa72xfjDD^$zH~%FHfo%3>J)qfzzlGmnv#_>A@^*KPQFuFAgHC7DW|fI zo*kHQR5xV`dodTBUm%p0a=QzsZkcGDIJJ0Hp;X$=*`sC@X&&GaQAEU7QKF&C*tnJJ zY(Ku`HREf?i;LPND5I%Y{VKc(z-4)rS08}#BW0BkbU6HWV;yo=q#s^YQ(Gx2mHd5; zoXv0ZI2;HpYvPu36A*VNok^qoKY-wDYzs>D?{mRsOLKMXru__4GW&0WGZk$}2lcNv z+=39!));GPjN%Vlv>FPGS2o8YL7?}&*?)4icpFUN%IvMTM9M5>6;^0!<(OU7ZgVJG z(LaS$0gwUNljV!-D5t4XT;vuLu^)U4=r>x*KlPL*zNIQ}m6T+; znmjGdh6CySTXu;dIHE#3Dr$mdFe~YH$pyl}#O{G3hKw@rg59|XE#j?wMaxAfc&G=e zk@VBVmSa-HY>5RIoOkKvIfG(hC!ZlWi<8xPi6kI2OWVhFeNUX&@}lv*=N2z(li(5p z3n+v~Nr!Z-=-$Iu8z;}$v}}>I3ri4{M*eygCs*s6bPxIvle}x4(3QEtd-e019~%o0E|sU~b) z=dThVh&3{sb5ZV#JwPq@)sl4!zsR~OcY$H{Q;#v=){#{Mi{j!R*eDktHF@)ly^F*m z_}t@}L5M?og+)-3`pk%!CqB+Ee`3>#7Y#3NKC$-+{5DL_e_1WsJ&2v{RuZF>I(5qz zZJIIJAkT&%;6Jm=(-Qgy`QL@5t@~T?-_rf%OUv=!ey&wX2(A0^NozSi!zbmfOS!w{ z8N&Ly?X~Ik_1m}O5Bvz^!i$L4swyqDG4a8Di(mh>;n|L3y9UH%dm(8HP?1sQRC5-E zVYuxQV9Gd5Ah$8K#{Qdn|&+A{$(@Oi88`D{ghV zLaYnc8Rh~}IV8{j|HS3Xe+T=g8!EEHmkVt>73Gi5GPg5`6g(LEl$s?^hinzOR-b@`jBqpHpH5y zu*vvSoe2N}o3wEQ_YkT(#5TLkdTOlV6^<#R=krru(%f}0QO}o0ALCCwL=!qlp_tI= z1(_=UT2QX$?|<#J*SKrukd7S6X>hZtuj`1n7?5pIb=Q!dk&E6Dkjbg&u-4a$AAYC} zfhfeO8m)A&-{KvTujXI7|Ni^AkB)21#NjPQ?yMC3To`%q&z+avn9*<(JEQg%<%mk_ zWsVLMt{hQ2+!-E5H1)L|30&!Y+LbO^#EnHJ;fwG7rOe$wq~85#bPpwQ_7lFnp`|S( zc7{62iVb7W$_ZL9BdQ($Dpym#$yZZ1{sD~f4pW^$zPaf$CDKi@7r?U9wb&(U4iC_fdHBYSiS6Kq{X zEa+5E>XWc~u#>v%9#BSD{z6Nk!ra#&g!pt#yv`va#SEo@?sZw=U=ZXrNP8HB1LXtj zy2KqjpcqOE=WDLkmaf~oxQs ztXpeX+?v~6D6U0?prNMek>wAu7!N+Unbe20TerHqk_mk%lr7JMYwlR2nvuCATn4?DL_>;`0w_=zQ~{z)FBGt- z8mPXugj$ne>%sKmFXQ8aD?u@G-dFH@K^{C)jHI)m7%9&~HIlJB$0_sBX;pY_8#*9> zqq({Xs&~2!5A^}{BIHRlRMU5455|5NfXg`y)7APX&H9sYm+YAHK;@(|D8^xR7Yyp! zfpHX+^O-fe_BTFZ695hkIY-S}9V;%j=eaR#E4tNu6z%ri*vrE7{ADYCTOfbUEskH! zS5=#<9a32iSLck^rZwtQD^Z_XL469M>SavF)AdfN>?oCll2yjl=XCPdg1_zQV?YZ2=Cqpjoqm2C1g`6Vu2i{;GkFq-eN<1l)bHd9U+QO^>Iau%R&=HE zUEBd(I+3mi4eaz}A<{4B`XYIpvW}fYD`^Zi*J~^1>h*7 zFZ&f;_&9)nFh^7IoXBzPfy((Be1ISwt((N@P;;czJtIJ}N;OI%2+}AIH+n34R{TIN z11a-_HpasP)Mh~F&&`8@#UvHAjOPo~G7!$ZV(J&laIqu~04xsLTf`X|jkqkgP03gC z+n8n{-tS53`>n0>2s25=cHElem*X5`kmV{zQ0T#ccNha6-O=dtaax12yz6J9HSLbL zj`Fe6dH51RwM)F=vwV;*9ZsTmVO9j&Axs(}F0j153-;v;;H15vyvGhF(czBhh)yPb zc0ErCXIgzx5?VTcJx``gaDD#FB#_s0CfKg3t*Jx?`kVmgkN4!$+M!5ojLLB0bSM*K z#`o#tF-Z;o0(t*T#tJY|>YFOpWe`7SazlgXu+{J{*gKO4n|_WI4>0Y~QyG8m+<3Zy zFVEWFgN0&qy0(%oICBG%{D5+`u%>)vNv<(>Wyj8PDe4NxHJ4(zk4PKeW+K!XA!!n- zW|iSZ=SOLh0Q!mwf9l?U$Ew{NG8=Ev1e@=@*Ket4R?!97UY?-`Z2Eo6^y`{O`FD2!xls;clxr&ljr@*YL3z*Gy220eM^osj!JJ-aP z=)o_5D=jP?>tQbS!lQ>~B=no^5T+0Er0OPi$P)!3)2;?ry+e=M=~|_08lNnRZU_|WpU}9?e^+5o z^ycLQK?t-LJxyd=G{WgbUgP)ONGlYY22ky%aUNA78s|&p8+E%Aojdj#@{l~l+i;Fo z3h`7{wDsw>ZEf8aka|MJodrhdj1sDe717F;^BaoGH@Kw&_m-k=<3QPR-9^7skqxK8 zl!8cMVn5%rrL)H+ZS!nw-M}C_x5-1o)gPmDO;1O;No8$&mG?QOu#ll>$~GSPIjHae zJHJ|3@`R?yu6kkUy9!??!&OEOL&yZX^;>UMsbkr{Mm3x2TM`Od-(UqTYMn*r$6%yU z@{wF2L#KyNBAY@Svv?deY^(msCGsK}rkZi&T%gP1tFr>${Ee4{)#+v7JiGq(>d6n* z+`dV<8j!Q^%2&7iHu35U?eE09eO<2Y?xwOxoyiGByMR5k!LzQmK)>mc`FS%O%GWHn z{vj=25kK?X^Jfyf!#nL=H8EELG~-0V(^MCA1RMnYpsOQ~!ey%)w-!mtgSz%XPS)#O z;DKFz2qT_0$>_ z&-hDw3yc{_j{Tw@bQH1&nN(CJ-v-k8s7r{b$)l){fuV%aOC02B0He_hI`FuUFYoPt zhGwaIZS61YEA;!Q%0M=He?Rgh0SnifagLe5qiFJUvpbrzxhNxiv0eN*AtXT{K@0>x!f%8u?nM} z6)xUxsmf7psx&G`b(PhrCWnN{G7P6+b8TH%iWjw)Z3FS>CLrTU4dOZ7$ar-6Sup&l z5PuUN59~?T_v!0H<}}*&-Jq~Zj&J4@!QJ)jQwx-tY*wcYCv#StfRS6PtH8;eQp{}) z+t|rMQbIi$B(JX#X51m)?wj#jTe8w;GqZxjRY(lVRk{k$#(fpjIk~S)fN7p8H>3)j zOwtk`qe_C-%;m2pgP7k=5qS3b;vz(nugSHcc3 zkIa0y<>X^ph2c$R$*7janau|llgig+12PZjM>cY-L0AaKnz`V}P`6Y2oPO`V<$Euf z)W|#K{~Imw)O0Rt^?>4NwbupgiIT3OomCySWR=fqo}lQmYR$>=CL<=`retdxQ~x;m zF>9*IXERZ=Ju@UE;*kU}geS51YMaGbLXd|rHl>;x9N?-uxCUnp06En)mKt!^6$e-2 zNL4i%KbBoWK(}A{*Pr_K%m2#B<8J~zl$NN#y$%aslfeXLHJs(>c}b{jsBIF@C?z`T zeAI(Px#SE_y^sk(;)$~f>HIhDAv7&h_9A7;9+H{NbXWPx9=1nwO`1(zLwHbX892_8 z&-4VbNLO<%AApDRsVVJ%%`=ay%QO#UsM0%!eCaiuJxJmN z=|n@lL;8h0kBh_A%wk-QI@aEyy<@pMb;$VNA@uFxq7hfpVywc{G`v<);#IuGWrpEa z-%2goV&^;~9Md9rlZp7<7c3h9i`J8tg2}`=STXaM8u8zW0Oj?2YSwUWd%%j6lBGEq zPQM}NWQF1$sGmUpBw%$ZIg_$#9j>aRIqZmgW5M2ZmVDKV!ec+4d;F6FteW;M`DyS7 zA=Q9WlAr?k!UV3yDdnjt6SDV|3p%Dc4b5jxLs4KMW(sFs-&w;&-SI#ql1R9lYr{$o zY{!EZ0B-CKk2z$0L&?bs*EPEmP{s_z-Lab9tjgWO;!i$#Y|dQP&c;7}^)`~fCtHQF ze10uwbAz{PsA;gIBY2kYz&JG$j~fz>xHW`l{SH?fu7RDPHEfT$#ok&@zIMJacDe8E zq2=suXM!`fqK_C|NSakqKnr|2^&teaRa%B@PoGw5Rjfde|M&XPwIlkF{4^q7lAw!j#E*Y)G68n!28a~oewc~D}%0vng9n)C@C?hF; zd^59mii04YjyEU3acr^F#w94~T5ZPQYor@P&4T~6mQp4{iXG>pti?6_v;&U}+Qhdk zzk2R<1CxS6;Cww!g9gsH91to>l)1@5jjh5`YAmgUQZz!12ttjw;O|6{hT|#Z1o2o# zNCBuAR78fQxu~ODSZZS>O&_QeEoD|N=(@KLVChZO6vn0?Bq4pEE|4+RynjLC3hUEu zHGVxeiZKt)s-it|K5`N)uD$qkHsE08h*kfvdNlYS8_TQKtwHH*F-m6#PVB7e-q?yk zn#4FTyQu9fS`dC>5f=vJDv^89FDz;^5imiGR>_?e@dUrIqN*U@uqjqrUn%-^8(X@o zb{c!To3^$}_06&N&4%8po?^hCM^6x1<1LLTv8kQ|emc|QKr`@A328JXP#na>C~w6X zz%at#{D^W3XK_W%NzDQw-S?)ieg)?Uk}ED-C2;_Sg-KHwzmSlZFg~x zuq&0-b2A85KN?9u39}Wsss>hxl;8)vmFtX5RCCyFan_PrT2NW@>ik$ z`Q%{^f|V9$Bm@oYkUJWRzbsG40+TUcck?Zryixw^m*3@%^J@gkZ6P*tn$3pcM9e%0 zTqhc%(kt==uD^NRfya%?w{>kFaslAZVFX@Z?laZtm38m}SIa1B!%>3*XsIT1s1g6q zK70XI5x45nFL41p2`6-%;oEDSFahN#7q!*D5}*n%&G*q($%d%(CSNU$&pDgyE=2tz>!u8g;| zBLw!QAz&A)^V+Pd^0EN<$D#ZfDZ+H9ijuEzD0=8a=d%P~(wsC)wT-s64#QNXS-0L> zyr~f0;aj?Q?cBE8ES=)-O-!G2pW%TM3!gvr^s$#j*}zw9=`r^jf5rQjdwSQi(e^q# z0BC~85pdP%YE2aX=0T6j>+(9C283)?=^8A=8=AzV95=Jyni}vMqBU}g4vBg4w>hO5 zz-p4%&BVNwHMLc+x*bzhgU=e$h=oal7p`bZ%aG9dYYv_kk+@OLh0dtM3RciBIb=BL zzWxl>)t2Id`n5)kiO{P#_~>tZhYlS&==;sWgZiJ!-$h6IJd#UAcuAj)9z}|g@4Z3) z!)bcr#GBatnY7ZR%kA^K#7UDlKQyFW26Q8)up9D2uTz}&H0O1@ye^~5?f1K+>#yfX zXWC`RI0sTB7z+AuyMOu<=Y?En$Uuoo%Fw#ti|ZDT&4=Vg2om8aIC_K9>t{GG{PjYH zjG(XRqp7~+|K*FI7S6}0$TC#Kqx+wCj}(+|vdW$cBOO`uqm%t*)M|dPom2Aq<+zi- zb`^I%r2I&5W9mWY3EM-~Ae@5(<{)|iNMGQ?KnK%J?3;idQtg3|0ScJ@fJj1^P{YJu zAt<{9;ZtsmAQ=&oLf#NL1$wX(_%wL1ZbQE=1|gWJ=#Dxg@MFYDEJ1z9YVn(lW{cNt zldNu=6X_Aq4BU3T%i%@g&IXc=Lkt3gh%0kO-5848@KyK3JyCKyX2P71hQWz&5+776 zpiSU(i3pcG7NgVY3%Dd)yWb634=yL<0olhJ)-TuD1Gb=D3}HPObwnLVPPz21c*>iC zJPRy}CG>(|G)y_3P*fj^`lE3}%oBA3x4Q=Rnh58kW?Z_(9H=vz%pR9TGP~gdgyMt4 z?5fqfYu#1lhGl$tpej@=hH4`w>|h0p#;tcHlAd~FDisJNq(m?VU}zLH&QKc6r9e}w zVIL1o9#>j)rJ*zw*Ox0#_v5HP)2qW^j`^i zSOt9{_zO>GkOe7^<>>UV;5Ka#T@n0xFZ*Mq^7OGFU5!yx^K_smawtJjJ0E5I2xiAp{3{7t{ z7O&l^LsNROA-#jZIR?>3^ynr~wy1TZ3MJa@W_KNkQ0y7`K`X=C=Y~VK9#To+hym$> zpe1A#i6<7r8wiG&Tkl4C6mMWM5KKt$Aqqn@68i0-xIPpQAn1trRQ8+)k6SN4TKM1T zt>~)5y)_gX?yaz2_`=@mj*70~-fE>+o_edr{1197=1i@(#@+b$bG;m`hvb{BIj|}(LMDic^Rt$8&f5nj%N3C^w=}{fccJwx4!V~Xd=`F0&;a}LE zgSR%_Om8FRMDYyj1QebA9YADylf@5mZeXu9CBY>17dWS|U({}~m)}y}x@mK3>lSgZ z+CkJEXrlX)fqh^sB0!v}m}eTF>CRYJkAb=WikEW>2B)uPqx9MXTo}gekP=`00n)s1 zlCslqSkEG?-6jYC&bKWG214ZnZw)!+T@wFhn!KY3DEU%S1oetmlTcKm@K z*K-TEUyAmlM=~14Pb!qqdMqfS^swJ&^ewHmStYFBoDM_Vr^4*Ti)Sz0x^hpoWK{vV zW0@Wmi(O&ByQB#Jikd(6(DCOif2%_XBxPp)mrLVR(faYy6OCyZR>YYJyINE zNI)sh?`hn+XFm|c2WEqj@!6G#HGL;x1Tl*rLLBOQj{W#4Vo`jW$34uSRVJd`>O0v# zfK5Ifm6ykUd>C8f)93p8@u@s72RxK*>^!@+5!4Q2C~kU)QmDv-!chLA6zW;k7`CD6`+DFqfy2wxrWqne5CB+0KAIwFP z^8xGvRBJ+AP+b*S0IHm#K!#Jxf2S%qg!~tSPki996Hv;~oj3q~@#3duL*O5=e}>UR zExBgHde)L(zSpEt1a7=YE0oUEb$*FZ7p;bRk6sz~bNOqtxW>lz#Af5>c1v|5MD|ZA zD@&ME&`4T4;`iSO^1saDypW}}XGBB4!Q*2NfW>s9LB4}Wo?;iGab7Jbk_2s3 zl>g-=Q*|y#t!Gz(z5>TQRq-aQ|V3uJ}^ALfL2E7w$+*eeFLC|MB8$XA`3GF5fS| zE3~`Y94%)3%vRmZQSvAq*))ftx%h*2-Skm#9SBe?gx{}g*C}g8wLZ^Rn9CfcZoNF} zc|jS~4sl{9W?83Q--9~-)$Q_iIxn<(J$6>)Bbg4Qs0zEN^chC!^Xr!Zkur%8%2*K_ zR4qTS@p)uf;v4|6L?TtwVD!oibNT3Pz86cFEd$)P#`0Z=RL%}|ytxZka zdksf(2Xb<9b93^W)^Dv6DaNz>s zVvMf6xq%25A83S&+Xt8i&=erV8zL|bF)FR-hZ#K7XXEM^7fop^k(SI28K}dsoE7_2;;)w&La@qjH6=sJLmk(9km4DGoCjR1Q-(S-76Y% zYUfr>TexT%ax7mfyWzKg)85oveu{a~jKux%c~35R#;$*pB{@57n`_%dd!pJ;#x!12 z*j8U2F1By9tw+f1(9bh1+IP&bw{yqtxVVIeds1DsfkePa0Ibnk4=YW1JRf&NtfHa| zUw5lR(b?eh{IAL=d2H7^&4Vwrywh;1d~nqPCL+&7J;8156QX`+#BN-$S+^s;r8C^C zkEp-5>ljs<<-3W>xq!C=-{P0T`CE#1SoNFO@Ak|5ZqpZQCIC#kBq?p-cf{DyKYuo5 zBAkOrS%N@31mIy)->0zHQPthq_=VR*8p21|LfwkVJ+So%jSmyXTkesRrTntqwfn^4 zVhyg^p(6#)fYi75oUd;==LrP8L1Tv|7q@8(x371{K1p86pBbN+Al?8A+Dth;17-n< z{CZ*R*`WzKaB8o=^y{9?*Xp1=PH61mUg=TR7JQ_uF5sqk9(-v$AL)=}KhZd9}ctwi0>I`rhh48BHKn z6tg5Ny;jrgNxo}N+#NSHdlN~$vhoSlvS8&Nrgu+DD3bhd^I&%H_^{bQDKk4*sXc6! z_z&w@7$1}};{){Ose*E4lP+orIh`Wd(f~F?Ah4$(3(2!k%+N@6RL4)CtH>cQ=du~9 zl`9M6E30^W!W9mSJv~TuKw%?Wsh3ZY*hdE$xHF9s2r@}`-Y3jgwsFvYF{OmWeqjI;hAK8SI(G=) zVDUPZ;meo8%78TPw53$94rQGB%92>IvAD!mS1Hw|8(>+)C|0Uvk-nw|HgCOz8ycCF zfiorHN@*1)_VRm|L7h=05@@2c4Grm9uCBsfvdQqszQ>-nh)Wp?NnOCTmtCm;wh<{s zJ9O!O-P4JEPd#hcZ11RR5r2D@!&>Td7Td~F;O>^?@93wVxUUz|*ZGj;r_S^|77Q>B zq7E;~B3o5brv#x*{(<~mE|qNcB~2-lufl9nzNh>k>s1yEvD6>!-T`=R5IF=#M89Oe z-@kib=Ti-bvisSMOMX`15fx#?^i&3eE?U+xV3oXHSF@~i#k%~emYOzGn?B-3X2n=* zsW!!=`r^it*0P&!$*6^@)!BF79mq|BL=bMs{#gFDU^3ZEF6l01B@m^A+{}pS|CMR! ztAJ7fG|6abCG_`Au{vWu#+Tkd?!1|s%zE^#GRj=-v8~oF)9!+8D?>9Qk3Jfi8Ctom zV7Ix;vNhJ8I+~*i?W+$s=V;b1Jpvpky1F)Zbai!<6c(0jDwOV-E&wYDZYotB-p8LG zpS$n+R%xlO7F?`HTlH2Fsn{fH1%LeAKfO$M%}1Quwf&>2VVhzj8ucbpTz~JbTb<+ zAchN&xmO-kIR>}@`J3JAIC%KNUF=;RYB&z@7FI527cfADG1eaVlQDMHY%jGFa`QmW zvGwbm<81xDkZTml&76W3uTM{eE5YS1%lT&HS|W ziN~Qde|P-hsrMKcEbZP8!EW6{?SqS6H}>tS@7OM#op2F%POo&zg+lv{5T;H*mPP}= zyqI3CIWD9aag)qxC8w_Z5EpaV02c8A8BDfZm2*q~#3kHdrvpD?w?JNOGIURe8F4V% zN-#03^b>5z8fhDNQlAzN9^?Q-Rq@K2^#+XMa)puwE}O~cie+y)vS70<AK%Ih6C zhTW;(f)nhzFfiupmapyUiv^+ql(9R@JJ@R-WyT9{`&jimx%jU>Rs5w7U3w5#EAki($s$ zh0n97kAk3)HE*iTN@YkVswHhip=@oRB9n(pwi_CI=>oEi%-FHdh+4YDg!Wkc}~~D9giG*?AiQ7 z>z}Q7-mOo05yl#R&qFvI_S1JYB0};wo!PPXF1_gKV=lQ5xJh4n(Su_yxexUHK|Ds9 zZN#B|qBKw@CO(RNAkXVZ8CCr#9}`2nd_Bu-Ad3p1*!5VBVnU?3R2+XnQVj#qTA`F; za%}(^1nChJ0u|PFp_DHl$<<7@=H59ijY=NfdhL<_IP9j($IinAQ=U!LzTWv{udRpjj1w|Fvi?Nmmt5_ z1{nJ=LK~kFN`Zi5)0HurKpN&^xC}PbWQ~-{scFcXF6U%yu<|fdB40F}UsqDOB9R<75xdM?2c{R*?29X`0v?^7Z z6rof(sLF~g*iSNGJ(B12`lxC;6P5e;=1K+(v@*!!UvVfk0(<%y&G-e>U=^sX4%E#R zS586^;Q=72W7FPiwvujBxI&BN{TzZ58SvX?;Cnn8uUYKYs)GGT0) z(@2M)Hh7c8{d5RggkZ=JJNc{BLkzb#4iN(HL;Q4z+o&d=XlnjDp%0j67FzW^WL^j5 zaR8jYN0~$w{qW^mD5pn_Jur4L$Jj%JrJ;BYy;7x8UQ7=HO_qSQLmIDm7zsly1Jo+f zDH!IWjOY{@RuasS7#Q+ha;_Z!;US|vv6Uzm~OLmpFJtv20f-vh#u-ZofwG7=-iODmkU)xfEMLrj+~zoYBi zpy^Fv(Ufw;^nTrEKRlnsxs^Ad0!5j;q?pjb^Cr%LIy?+}oCGj0PU>|@OZQ{-%*Kou z-&mDIE^N^z)O1zjWYR^|2B8DGaK!BjQMUR4or_sQOab)MWeGSU8@FbKTqr{tC(>)9 zt~lYnp0{XjN{X)AQrvCVKT~(8|Cj+T&8oOXyJqzCy!^GcGWhV;6~xvIZ+Q?~9zcKw zuo9Lnfwbz0TtaUiv65&gmA;68JxtLS8DaY$P_ZW=3sTp2x33mp zADCP^jAlE0GNcm(_6f$LNvvw@){yip;e$eUvl*qnP{bqUU`e^*uH(LS^=(6{8E zhBt;L!tX)RRr7};C{)9JLN@VqtE5jO-o`h#APvN*19;w`4$PgaQ3vKdqjqp6&hj9R zs}=~Lk%8lCYdUt^Ve}S`t7+fhxRoszc{u8ynX3+K*-t-%*9IE5?705|E2O!#1zWg7 z3_TwXxm>Uk490+0rpY7#?0Z0JbCfX`sgm{5qkKW}+%#tk*Z>>(NI3~`Cd|u$2?|55 z^dtFXko4F+*~%DY8ZcfzXmK{CqG5n&`TjAG6pJ{UOfBI&5C*8e^b|z=%}ximha=X zY~Rz+Z#;Ek#hgwlVoJl#w;>#Bwx{)HR!=k{OWJ%)Q7{-GL!;Df)xm;M^)K31jhNZD`X7H*CLB3(bV25-*>?}Ugvkg~h3%n- zGI1bNeZi5{ZASuwtH1lqL(PiV^ zROj2A9HvUJ^!$&7qes8u3G`z}jog+VPyC@%S?U@FM1MA_V(ugXas8+F3pqI#E`|nN z>q}EKhWAUS)b`dc1_vIw?U!CS%dk&9BT!lIBH^1IYqN@$*F74^NnZcfU4JqkbsS9Z z+lmiSw7~VKF|b}K`%rlJq((6srUZpTU4<1DDsv(GEv&_q8|53heVqsEk2?Nje(SE} z^^u&qMMcZ>icZ$;>%S zvT@WR0jzxMM3w`PhNvOkkVv7z_nletcTU2Ar@>ldu#-a&HlEGN-Xj+4W2nc>JMF@%`9-WP6kui z@jyIEe1*DNH(W*KRYFheu4JG0xcAV;-sRi2K{zS}>8x9jHE~ha#NtXuBNB8RdW)8| zEjDi4;<>$+KS=RHj|fe{5!DW%wxt;#U7UquYW>o3GB^7X@NU?;GWA{NK&*;$%w z7#s2Pk<%o|7UGhjUS1vH$9<@E!*S!X>gwVpEymul-~}Rnn~=+jx*2_2mJHP{f##_H zB0X@NGC^3O0cyynZID>-sR$(CPHI|YCuU_iqD~X?qZC0>?e!vNAeG^B)rEMTDxRJP z=ubNzizK2BDepLv%Qm0Wkv9j4*@z`(YzH)Gzpg2sYISzF8cpfykiH6888c4!qZ<~1cdC3&%*@W zf1C?PV!p7WAE%5sEH-25Z92RjPnPmFM*@#j{yvy=iDDArS5;I8l04Jb7(~7b`kK`5 zK_;Hg6TTaI!>ggr!E$fkm%pFoTBL&@G^87gOUjBuVr8(p(c9u_j>8gEe{edg+*pqv z>mhM*NBEfBBV`JM56p|;!0ePRW3KCs*E0gHjU2xGa z6Xe^^7U<-X0wJlw`zQ*g@Jm}$n|X6V?Fs`{L@K+FAQ52mNqk>HI%$|bCfR1@^Lwmi z2J-|y45Rb5o_MdJKv^pIe89q-El}n5r#_*zB4n18`v&DJbc$IvU$$k|$ln)sBDY*q zWpP>U4r%UjPMKV)QYZ0L7;h4QE=is&FB0nOW6iCGp0dvManT&K*v$qI9ikqw$(ckI zq0(Gi?GTYw0jkQyLv<$R5%)Q|R_7WDc#^*&i8ir^KTx!9d5d`S9T=E>eq)!ey|re8 zWV)by)x!7XZ(A;I(3Ms+wgV{Mnrdtg>!ShY;(%13TP(DeZ749jdOxRllxu};T`or_ zU<&r4Le~aJWoo4e>Z18FP#gpvQd$P(7Iv4C;z|6kzdMg|i$J$4eU+Oj-QZuVU+&+r zZtumdAu7MW=gaPn$PWunM&F#+y!@s6*4@{={Go|e(YqGRIx@?C_ZyXaA3EKAdfnca z-e|VJc?8&o{o{p&N3^gZ;MdaFz4^36R)dUezbDgMz7Ok0mNQ{_58L^2jI&d@8oQ;s z+Hfth?Y{we@`@r+zM}Itpof0L@K+u(;Wbep0e)o;n|x+x_A=!)Vcs(sSt$>pCD8XS zm%lH650f#a)74Yym8+Diw4jETi!WnHUqRWcOd?E~cR?%!QE0>$4xPv-Wh&JuDNrgb zQhn-~!Je5%r&d)vGgA{rdq%HATS5@}!fj+^#wnAj zYRMDQm=-u9JQXrTABZ%ll``ct;k&H#c)iw>gHW->>(rZ!v?OOKqpK!?(@sDsGA(lklh z26z$aQi)zd1vlt%;2E>+F3H>G;U%Ulp|+n2>QeVhiT6M&0q>ED_&=?}a?w4A9U#f4 zc@hp4%@A5a7Vt3C%T?(A-!TiFVV4KT0ctWNLEvLV*P(&bBvlYim2S(rAc!_T2Y5M_ ztR2aWrR6|dwa_5v4=igsq;r4=Dw9&W zrbI(yRK&~{ZZo#EIc?2SgFRVOWiY8PIS~X&mYBr)sHkLxtlbwBm42bD6N)!;SejAt zkG(o{zY}?@$?1r)?0YYrWTe6bOXq1O;KK?N!(tRJB*KQ* zhHRzSj!!xpxF}LCHp2oQ1Sxw^ENb9NDYs-I(J@q9B)qg(K#OP5b8sz8;p^i3C*YWL zW^{U$DU}%+x<-9A8jPOL=Q;84zdX+d{D3Ch#5jmwCEKPQS7iX+>&cOa(_-h`ZpxA zz+dosJ*6wMP>yp4yd4!;UWX5!86}lj5Oe^yp?zf*K+)cSzcZNyWVIX2hxJ+5GAQoX z1!1-;g|~Cz02G0P+ss+`*zXUv@5u__Cr_ZHIqR+xsN{T(?nB*dBBXDJ-$W)Gc_B2- z$VU3}0NPOAhtSXaeExJnDLDy=Zim~HyC$FT)R#kz7wqj-g`le2vqs-C77e6z|eu6&($~KUjRej0W6b=FIF0l;S z$fU<#<-e*)8kU!whxdRzcD2fK@e4aqo61a>qW`Nynf#4htQOJm7+sqhz_TLm)!D(} z&xW~IbiWVFKNK1xu$eay50fepFqV^}N`#v%Kf=U__CQL(CW z1=x!U#?jKG&B;NrRcRdwngP`U*AariFG zB5gS0RLW#56j&3O@YO{P^eS7C&{Q>m)&n|=*wpF*3f5+7HI=QsaFt-ao<>OqmyB!F zz5@@I%8wGmbwSm3(ij@4)$gecN29pi(I>eMuAGItK>@`S0iigdEVIWPhhukCqIoLcre<;3)JNb&Szk z&4hNLeluDfA3hs>P8i<)3y+3V4bd83#Z-=r-YBXg<^+9{S*Rao{SYG&4Grp78R`Um z#R`onsg$kpwUF@QUDb{`nh65YjnSw;V;Z6xB5;G zMcqpkCWCqlL>9227MRch)rQK{-r7|$y?*8I>IY zXiL{c#j($GK?g{c05y2r4r%O6PPH>pzQb3?YU}Od&`i!90oTzOjRk@cY3O;bJ{m(t zOqsYy7=O_B=W~y8O2tGTV!Oqz$LCwte8m%r# z@$kS-@IxReT!FWK$Wmy*-u(St5IA&`x+-6P?P=iHQq`Q%r@<5TtGOzGlywnG$AXe|@uCUaUvP?N*aOvAH&Z{mT%VeVJ~f_37?u)HHE${U zH%o)(*cTYRDDtL)1#%mBKGNV>bq^*fqp9SwF@@el-C1Eh!c@`=1e>7)`!hGn?7sbReOzWif7U3mGO26GAs zhc}LcIR%!~#5qhw0O%b|PHKGSL`p0g4~cT!|HY-l4VD@M#64657J+DBqKuL0dTfj) zL7j*7>T_5TWd@lE2xn=IBI7x%Yw3pADi4cSVeG9_ZeAtbwENwuL&l+ZfA!vO>5r>! zJvA1Tol&zN17!_@Gbf%}Je!mRvHvKhvJcwy&h4NALi&_-?fCgC;h(v9w%KELTcsDL zZr{3jN5h_M^*}`%o%Uksz+x_#NCc8bWzlQ!B_cU1eShwnqN3GRdD-gOdr%eIEgyNBG#_cW0C|zJ2a<+QooEa-M(d>=YdPpAxD3SN1~I@N5_{Kj_S$M!weba*fx5d& zItqi&%w<*Ek$_i-xSmCH`#GrV-AaY<=ss>SWhF3TQ!glzb!)29Z#L_d6^{#N?s4s1*S#Echwt=g zHUj&WWtl3Ro1(?B4IL%hY+LM`!!4=zZpzxSaz_11;~Yh|es0EROT)IKm)SB43-SA@0k!jNwESNU!NDhQbx^*ue zIr`#@3yw?!RtV|RWorS~-?3v~{|>Sy?zeWpVA{|5ZXZKwrXsvJ_m zUEFG9TuI93v8%ZCrq*@cM)_IYwzker8+^_3$&5HvVa%aaFD>!e45y+4G4;{xBY*2r zR_?ai3JWy=pz0T^@9I)Lc(awM>x9B?tz4;Mz`6=Yy2>&Olk@2R!k*Hef<{rfhwo`@ z@7ZHe_6<<_k>;{N-761rY1IqCO7VJatq9aRt7@@yvpfz-M{LYiLA0@EoWM4&%WO=Y z5-t1&oc~nZg#N9&?G7AH60e4qTtIV zw`~}C7jeDvmi)Ggbjy~14Zv@e8#{VYedh%hmQr zYj(5N%#p_n?7UI8_)O`Z`7;bNR?eSWs)^UT_}Y4FDlDGvJp9UU=vwdV6iwkeYb}vI z2eGIi_BIV@ROKT*6eR9dg)y}JcVO?)y|=y1Qk@nX)9nxx>+4>(VoA=zS@R^SlK}28 z>*@K2pMZjt5)_ncbZ(E|?~w`;oHO8#1R~Il2u3^|R^+pSzJT!=T{@XeCm_}rl9cP7 zh8PQ(2IeEBEdSdI4orVvJShM4WEPvjaCzXB91+To&+3~}yU4m?g?W+w=T$G<_m=UQ z1G^43OMe6k7i?{!v5EcA8U+#$IXFp~tW&-{{!(Nfj(7I_*M*g(8}k+$9(Z=nD+l_w z?r9h0pC~`MD91ri7!7Wu!f4^7fYlqRsu~F5mx25R{64Q=>|4pn4&~b*cts$dG4e9* z)4^@S?N6V){XQrZOtNCTEe4Yi3{mw3No7ecF7238oCukyH7OIEKV8HwqS4Ti!o zU&xugGw;X?+K;bJh}axvtDmLMMq_rwI&1OD6^kiVvUtym1GLUMu%{2yw~2rs_AM5d zD=P)3%kFUm6w9+&;4vhdjo2n#Z?nXtduBjtUH&CuBN%Af%tz~LLtw+kb=9>ld!3Zz zNvwya;EjJr5+%Ko3;z6Cmp>pnm3pIr^9 zo6~=f$N$xg&kRlzCpJlK`nM?fB|EhP4z`Jnz<>~vumllE2!W)PR{MTy-@7wAyDRNV zD}m4hWCZ46-ZYnyA30dvV&Yin= z?%ex(e82B=fzPPPID=}?K@H_iHC5-yp8;RF`nOkD!eL4Zc&}2Go>K)C4Fb(1ZZ-Txarsx0iuVfof#DRC8J0)o(!}^r7>>f;z&kfL6K4gd)2h3#Xa&Am2H)3KZE@B@TVW$m&3u zXFPC@GQ%5D2tnVY#mjKRFBo?f_l)+4T7^1cu#7$zwzO&$+JvdKr?_DkuU5cbr4} z_F0s(9$nn8W?6^RV?hX$)m>xtMNE@)E+Y0v?O++!W+Adv;*VFqeeF;dhwi=x`vL&} z>RIH_qoqTLVW=i!77a$l{s=HEAkZ-G`k^5TuBilvxOyNVxMdv_=|Ne~|1+sqeo3TH z$46TBTL;8I0#nA%^mMhXYvWqBZyOipbRsyLD`aegh%l56yBs#NgQIj0^~428W~A+yg*+0K_Ev4q4y362M$`3?wF9UJ98WBgPm<{f#N#)>MuUWZ?szj zPOwb*eGbl+b7d1kYB-V}YtEgG3(`tAB`g)qi7GrQwJ?NTE`Gm`K_pY)n9+K^k;QyOSakbmx{B<9ALGY(UB@YKzo+ zJt;@n<1No=dDsa9!};R#*+DU$N{8cKCTlMKz(NVv=v*3}u3`1BGk<;eiu)IHbAGw# zgAaar{>qyxe(~2I3SZNLtd#V7qN2QJU(Z;SNvD8I@_F6j+TijL$B!5}l#jt$5aP=w0s{HV&qCl?u48nR&>w=2x^ID zav(xcXX;sUyMCPx+7gjc5Qac8jTbVXKZA9=8D%m(qSxm1cR`Xlk+O+$k40|b_0ItV z54eJi8>GK3uD8sdac59z7ta8A$fUBFWC2>weos#H^cUP?{8&Mj`o&aENkZ)wpJzqI zpYhTXJVnlOQAj6BD2;PRJ#lw}k$bx2R{o<|xRR$w^x2%g>v|y39^muO_ds!zT0gx9 zQdUU}@Pp~k_dv>}6N7)c2Ov(?dysI)Ne`q}czKVoQct(MnQyU>o?tBWo=7%Pni&hy z6F03aKF8=yj3q3eKSDR~Ev`Cv3{_gojKMt$2&Y%C6-w`^T*h8q^O_ne7I#T}W)#Zf*tH zY?=z~kkZ*+u~qwWyLz)h>P4+B9|{@vHCK-;=f716cAIw|y8Pyu7hc{edK0ODgzAoz z5*0_)Sv$2^24_t6Dp2D|DKT+UoomR%+zKdR5^$6~_ypRPSz6(`>1r4Lx09bA$~!QE9QRYos?l0D_>!tbJf6G0$StSF;+l3Lc(_|~da zsg%Mb@nUg^#*%62p(=mC{!$ORk_a3^x%ZXTwryE0Et8iWuDwcDa-?m4BZ|Sa|D!{w zV7$-NE_Ujvk6K9DNuF!_BMJ&U(o9959t|SX_!g4nkV)W5L5h_kA!wu%F7$leQMdws zr31FA2jO!mgEjH09je~58c~uGUBOJK!z8140c^e@=KYro%oozeTXpCPC~ zD=JVl1}rT4=eZ_RM-kueLVJt+i0i^AOeRG#3EZ`)eP^%*MFy%$(4_3>)5)B2X)aNcKU(qejXk0&;PvdX}5iD5`=IY zxCk9C;PTWT=(Pi6&=8K#(4+cf64ZqVZj@?hZm7v*pvMAaqgyU-)GlC(&J13uCicb| za0nEXwCz8hKUyV>jz^z)`Y}>~Pwd5?Jo5_3r2cJ|p53QYh2-7fEYcRVg+KnI2ZEOA zTzeoe-=^oHzK9TGl)6LM1gzE@xdirWPY@6VX`I{$9ZiTxG=cfy!ExZBLLNY`0H!wo zOb_l_g&rV~2~a0_9#N%xeE}?Lc-502CjHgpZ!TEy_~L~GnMt02*>Gh<7lM#9xj-TZ zhz$|m8BCh2HBBMEp{8{vdX|eZ|RL142$JxGbpt@p=P7m($+a&ONuMdA}r#CyS#K z97=rC!WA%bN^!_*l#EB0C!X|)^NrQ6y7ds7UUL-ma%Zq^=9DaS-VQtJCs#v)dd>Hn zvs(tu;;ID(YtU)8as>EF{J9ulTruJ7?-EjP#+@kdQtZX;9HEsP+hN|45?nC}>=QWv z84#xib*(1|t{$oCLz6Y;%=UA{Y9$>30Wm0uk33|+h8#}uXO1940J6I-OG2`Wia9kl z%*Uv9k6%`L75;{7!6mS=;fV{S#Mf<$kKWJEd*rFg+8qshw}Ns1%#LgTE=O-U7+)os zd*`QTF9{2evWo0>B2S8cX+@Ed>d|gmht&w&|9JSwL2PGE5fRX@v1gw;R{8LgtDjo> z+Ug5gC4xZI+nd@>7+Cfdq?a#ImMrhr7_;%GIj!p|YKY?K@=Q zupYN06ZbiUE@_#Syx?7v`m<|WrS>!9yYJ3y9hBLG(LkP}Z$^|yrBv@o9-q6W=dv#} zEFW6NYqLRE!mLlPAJ``*g>t=U#xgj`ol2re?W+i|C6l z?k@Z&kTi6Ux_9s9{`u!W|K}rzx;E|>c5f`yuHo*AJn+C>{Ku*Z8&q2sn^ZK2z(CON zas*Kl0=_0}Tb87`!1UytdC>DF!I4b3SL1jAXEI1wQTzrv<(P8>e!IPmYa7@a4G6K|=`pjl*1D<+v^AB; zs=f2kh4vpeydr32+F7=-d3Kr@&3e?zSBsB@cB;tJ};eFY-|4BpAmFtBL zQYx19rq}#~DH-s_ywq7HTxav{TQq0!sr!F_wx5bu|U!KpEiTG@n5c-dMaTMuk8E@B>LY2KmZ6 zXRzj_gQaX4IY>`d00{VuG(-X2G!$6Mq>|bpAsbhyUxdY}S1g&Hif8Z@yzQ6G4An~i1IURrC?SJX?gPL47b2|RO zTXOm#^*F1z@}RQ$mtU!04}Y>SL&X<{$VDQ12Q%tvYySb2I?7#+b3CDE;8J&Fk^d<=1=k` zk6JeG75kl$cAL%V><-z}%wTI%W<9^Y$zg64?JlG%6>_2Jrs=!bcwp_`Mf{?*je&qj zc=F&d-evf{wuP-q8thRAaOw>Wrlk|BjXk_ybbb< z+V|8uv^&)AIhpOD!NKj^R9Ug7fW!g0O5OC|u-jYK=hpG-8f}o!^!h?h&|~}La4NwJ z3{PZs^Sj3#FlCbdbU2X&twS;uR=gnpdW=m;A;ptqGM0{12jAZ5by!3XIo*@+%b_Hq z3Yoq{Ki}Wy2XHDGkinbHJkiZUGpW}ndIMok+|T4}#LtBgZ!VWegd|_QJO&;_FW&|5 z%8KQNIdzJX?W97ft7JQWOCO#{iEU@{>7!uVIkEZWuGa$B*mk@!;u{b4fxw-x z?cle*e-8Veq(sEr??>MsEDm(;tmyk1x~*d7UyJV!=8KlW z1(`dTf~`B(NtYJ~)`GWApMLAe3)|KY36fM8=p8rrl^=Pka&!T|pt5z%Q=-}0+fwLK zS3pfF-?KB^-=9vK)(>ra;RvVJ)Ui@F4s_K~a5PjmHdcc#@MwQ7E@cHUe2~I%SjDug z{JDLm??k})Sil6uBrRZqc6VC3xBgta8D5kA zh#Ws|dc7TiLaJihtcWI*OKaE~&f?&l2htv04*=2Js9CCiDv@oE}z>fzt)g zs)8pA&uZoC-yHs%p3_yPv#*)goe--VSWBi`?n;7vB#{mFIi>Q2_poi*P1l~(U7Jd5 z5fi(VbTIEom8)Obz-sTQ@0Bvs`qqAYm8rwoY47Txi-1FMl83uk*q+;-K3Z+s=4*F$ zTCH?_P@MfZ#1uxxju5rhslm2-L` zzvEUSLP{b9FvavVpE?bm0?@_jYSTSNK%Gfo?N|W^I7G*^7d=5z9TWe%e;TzH@Ih7SJgKQ zZeOn>;Z8YoK_$hU+&B5!KX51>zUdQP8fZuJDs||&l^oCl9=qUkhaHkvcK1h8X(l%aa#rpakG#I1TkyQc-fLaF zq`ShlXyA#dYEVztVK^e-~#hR0UKlY%V znbID>6zOVrBp}ixdZe_UC{gHoV+m0Ilc7ayVTe+TA;tqc9-%3K0^iedZO|(POcLh3 z3m?PlM(U2N4KGeVUP{Xxs5iB4=vlj(TbZvJ+aO3Ty@wH^GO=yUHnpFd%1jnV1u*E? z&E9QWxh>MxoLMLhONvtecyj*!JeNgkMiHKGGKBCSj&@j}9j4W{>NiO){<_G|4e6bW znxBnlqPZML;u1D{uiq|AZ7|R?kL+z+BhnN-KGD8{BL9zmR{8BV-&SV_$wcKR(tGxD z>g;cQtbMuh2QEvqFtN#?4DCpa&~>;9pi`jP0U{ys9`QXA8`Fai^XCH}Mr<--uR(H} zJXtzC7jQWuIziuJ!6WDlouE@~P`9%E{){7GyQI!F<%YfE?YS;xTd&pn$afK?@!KF-JFa>G-$EC90-f0-<88OTS}bmw*bioG8_bjNQ)rnx&@(y zdQ|k_D+GA~TOD699=Mgnji@9zo?oq!_}(gk@lw3XoU$hluQ=-x?gdO1^NWN+@huvB zBtb>7?$^e%>BFa9=fJ8@5fK}WYSkQ65S~*XT0-LjO(id3reIF@5(HS@%T?Z+?@4z@ z%DXL2i&tEs@sRTbodCa!awcSi61d{Zt}>`hK>(C=?YR0r>ly6GwEJv9r^9bwp_M}; zlALvro~5I(5xu!`uyhu#WB9ud2^TIg@F*AVjDa`(9b$$5tFfcIyCWiMrm~KFH!vj& zjTh=I2Mp?8g0#CZgrsrVkfqQeXlgTn45;7|gOC>raOua>wQ_sR6AvW9sfe6T4>Czb z%4de;jo>})N%-TvsH}&-M;t!L^u|N|(V_TQVk}WiWgwUnA#nzHf<*EH{|)&e-`g8- znmwBWwcdU|m=<~!B$Y#qAH)VhvGF?w-wxk|Z%-)gkGn&R`Wri&fmmkJ$t2xThn?#V zSlm{@;+8N^N4QX%8d8hEK2gFDEb18BxJxt ziQc3DWvm!7BN4cWZa)I?Auj{fDg0bt#2@nu-Y9Y*Jfw7@i8%Af+pL#NX$Yu5Ln+Aj z*gW0HTv`JtL$XDkNtcjxrhST`yhgXXSHv9K%DlZMNk=EoP-Yk&2a+F;0}qt|^0ZhwG3IeF&!H~Hf)c5Rvz zNt0c6i={`l$yPzKOO|%d;_LFX30+GbQ`Z^PuSVIvE%K&~+@lRoJ<}wdQ6DlWJL5wG z9IWC{l3MbWfLc@>G*YNZg&r}htDq2K2u75uyh?O3s=ZV=cFV052QN~j21;qi*jL1*6pXDe>bWBw;7ju z$f$<3utBZ+d~Z7~R&!9?zs@j8m#32$mV*^_P;K9cs>CWi6i_PfAYnubR!88JgbEOH zJcnnW)FWWT5X1%Z8@fb@k}+b4NeUM+!1NU_z|x^vGOcW?mmSUzTO^+X)v0pN*p5L% zQVL|9e2dXNW(Xqq6m+{cn_7&{fZZpFJIwCQL085jCCk66JpS=7ECD6tC>|hDBiZF>& z#x=mHu>8X9Ae?RlY(;=pgyW4Y-Q?5HeHTCE3Rbw%(2!x#84YHjN{I?qOVDAWI44yh z{284wu`SWLt&OkF8%x|m4F;q*!K<>j(L~Cw(_H>w+3|e`j|apT{SCX;^4k3fhLSC~ z)G*nCVX_iR5_DmD@$|jy*qEL|K+cFzfiW#Dn@Qw_{9S@NkF{*xd{xDlBn6nUF_-5RiDJNkMj1_qd1&IYbHD0!v1l({qB!T$$QpL}m01hzsE zgSKEkY%Z9sz?K1b)=m`VXji{b0n0}yc|>gB1fmy9fNP?ai=-fhgm4HSBsNMC2ZHrM z#)Km8b+d#RZhEN)0xnp#W-7ri0~b#qVf0y^iIQWc%FqBS^z{`|sa{}{Vt_sLLAcM_ zEdV1F(Lx}MYa11pzuuO2vYItvs+&KB%pmf2R;FXcC?YiK{n z<;W#SOVpJ940F+9^d-S-m)+|-;5}V;q$R_5IDybma4+do~s{&;S`=b-D%>Z40j^OVX;WnOCO(bZ>M2R-|9<2x9%V7WAp z=2p=FX+fHI$prPs6?F$sp)>ebM+H7a^{!c@j#1pSiPkgv5X*oGY9ypWglz}}`>1-v z;6q7R+_cL`sj@N0&jG%Dz59l00@y>uCKZ~>R-K?p(-PID`@||!6E!$R^|K+i$#?=x z)zs0~!+EP#nkFgX04K#^iaX^6Q(8_mLxW=pkH1f z`DkhtBS?u$Q4>x7Ow`*Y7BEQckFUHT;IQ(ziL%~PKSKSVALF_!?0d9mlrlEWzXs|f z3-6`r?|{3!riO3?lMFMx>CEB7;3rRlE|Kz+WAG`}m&2DtQOVu#h7Z@266Z*z;^s0n zhlz)r3}jsVJ!l^{^qw+TCXh@DA0qJCJaPE&3~`;FMX0F(N0=_G4FYz;Aa%)@1`r2a uMe>Jib2BzNy=q+V6?3=-{;|&&cch_iO3Gld#p;VCe#8Ij|GxC4Fa0~-$j5*H literal 0 HcmV?d00001 diff --git a/fonts/uosc_textures.ttf b/fonts/uosc_textures.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d25fed5abcaf8a99a97ce75e2010c3ac6f912dec GIT binary patch literal 37988 zcmeHQ31Ae}`G3dE>~6BzCHHbHAtWIjArO`rB19kwgdlBWun7UVy?r=GFP7oh&I#UOZ|l)F&ggmU5HWvkDa%9sb` zM^K)-bjAF68?HO!X~wSTgYvLt^UgShul1Fo3^vwh`MhO~w^g>Jp}ZP>JbTKDRjVN< zj;m^^o=J@)(HRrh3ZSq{t(1SnBHTxOu7mV!dyGNxEcwWuN7xvNfRdZ156VpSMm_dI zos~+()r)EDc+fLo4ao#(eb`X8f}P4%v$OV?d-hOcMVklODx1dlyuIi7JvZ&SanB8V zHlv-pKh*#cXB@4At~$Y3MWtd*@b5pZ7xV17QS-L2L+% zunIPkjb=5hjvdLSu;bWtHj~X^^VuSHGF#4ArYE~1;sl<}BV7z#=JZ4=vJ)XvQa|{# zD@%5~S`zz$7nQ{B;>$~73;EWPSXi(U^LbG}*t}R=Sz?YAua-o=kVPfYyX5kc=t8-* zBpTLOv?MIIMo$aNWzijBS!jC0;uZ6lu(-n95Ek|3+dzqxg!$IkX<@!Bwj<07zX-o_ zSNMvB;reh`-dGZ@UlYD!d-#>um#B)}O-zfz{DD{)4bA5X;t~R@25j_8bP&Cpx>^*L z4@AT0z9d>gf~+BtwnI4612N5`N#JY6#KGpZ~EfwnN1)UoE-&%92GB2ZtH! z&e)z7jmZ{xm%&n40KS&Pda&NCFYCt!vQjpjjbNkTx3z2no5YT0Q{j=b*j$Vk%XAHt zr%UFK@bWJ3xrc`ZD(e=E*tD&(l?N(g+xUVJu?2ivWh@{9mF70FV1&6qY^yW_GEf=a zCKrr|E|A+Qqk({Ijn;+brs$@ytc$kx60K%kSZp#kg+-m&+Kacw>cV_eY*U!m#aer{ zZVPW(5UxY3mSC_hykK*$ZLMJ*jBN|^1+n?P__kOeEQ02?uvlQu?oRqP&N)`?A(=4Me>X}0p+BVu)YQ)O&3ud9r;?jEsi zQ|0`+$^g!ej_u!{mEdf5+yBV6Ht+bv*q5CXuFnDu^P3u8Xl)?7HbB4^r3-&4n}^_ zd?73*D6>Ud!*WoxDJ(Zz7F&S9I(KUH1sP}{V>Mtr2R6h8@dq2oP7SRuG&Id`2(TOC zHuAD`_+|m@QqGRR=f~0P1a=}mHP*26*^k)G?0&YBy};gO|KK`oQ^ZU85qt`t!&mTg z`KA0ieiz@tf5%_vpYkt+SA;}=F+xlb$BV_{3~`~jM%*gy5s!*p;w{lCh0KtB)Uy-jA9+Z_6DI0cJ zd0FJ!&*<6I(eQo+Ws$x{cA3*52;Z5q-ihG<_L{}V;5%b-+h^kP9vT95zW#rnHHU`a z&=ADW$K>;~i{(QfME~#KdjBCq5OF>VDPw&B?@vxSavO|&P;&e}uYa)Lt0JGjWPgg$ z9IxN+ZJ@~K_xq+%6sN>92dgSN=-b6_BXD$3o8lqW$U_cftPhPE%ywX=Yt!nGLms40 z7;?w~%9H!6c!2ugIsl4nq0giJ31iWV^BMN-r0Rp*@;CCHgC81TE<*iw#3$U6Z@YtO z825v37&j(H;oGwhnFpirE%$K9kvbp2e~BaQpQqCN$8X~I6Ax^TVg+VePG@JcbJ<$9 zj$OhoWmmEvvyJRJb|d>KYhib>``A|Y3$}wj&VJ3FV!va5V1Hz#*K9Y~-HN1`=i949b@#%af?qkm9i}=a7 zo4Jag&dQRzR;Z;2dZ=l7BP19H<=*RR8_ebAR>gsySIKN9-e!X@}-8b(AhV7(ktZKtz(Q-LPn1Y8*(T zy;NNYN_$3X!?-t-OIk-p%j|YVoJcs-JR)0^HC+wcSGhf5+M^L>SC01D#%Y}abm9OV zHIL&bw{Ktj1iJ%>b|5APtJa0-u)EVZSQ{ciB@R^>KAd5m(3xA+nHMwL=~#)-1FIzp z*Z|BRR%7mP1-pQ4!ngHr*&FP0o`&z=!}-zpj{RSL6~CQ7%3tMg@b~z~yp?~!qxg2p z#lnPQ`tL$UugJCkvOUGlUwIyHm+Y|SV(R-4^S{O#1;rlMe|c^}ak)-}ioN4pP$%{Z z2L=rqEW~|I=H9SPxi{P^sH)o0 z%Xje?+x@+#Vbx2TNEg|ny9kTEqMsNjO2sg7m^fSL7^utw$w;xcg+R?2J^*NdCQZQ>5Bn7LnU6AxqE%uexJ@eEeayeM84uVD?%d*Va! ziD(s{xA$957RX{bNDh$^Ss_Qt(XvL?$s^?yd7PXsXUaKpzFZ_vmMi2cc{C~BR9#P$eZM?@@MjH`E&W8d{{mzcgo+&XXP&WqI_AtCf}0p$q(fxvQ>UA zzmhRcXoi-e1+)w;7pr#iv;wUdYj=id5v@WSsg2fZv^wobZHjiBcDy!Ao2xC*7Hdnj zQ?%9E8QM8olXjkVq4opqGVLnu8f}yI6YVDLR_$ln-P+H!2en^nk7&Qrexp6DJ%^P) zFKK_)-qhaHKGZ(ZTD8x$udohC=!Twx)j%0~j@|=ng8J(H7}JX@ay_m<WWZs zn4Ahqoj`RKBQ6@OEETERojPnCrEVFD97q>lM_BHDlKbxn$C1Hln~Y6#H&%sR_E5%Q zCI&Zv1L{txo`M5bWVa_ChnCErOiwNoKj9EPzpTAl2hlSGmwCw|y33R&9uMJBE0u8z ztnyAR6(|s=lTzLZ#OJ0v`8Yf=Is(US>9lsZsZ2;k;4l!X8`+&FASye&4v0H->L_(WavQ>N+PLwFrg$9&r!pD9VI;n|W#c^;*zgX4 zxSil2I%P_UugKMg%5B7Om>obTbs9SjsO$i#I+DcA+)?ku>;#9$4dl=$b@IgT&L{Wd z$+tn3cOxGkYNsb^;k2UEL3h)fJhkB!nVFgEGBPrb?A9$#IRH+3WQ#^>~bkt{bruP19np;Ep4Xtel*z=+RkOS>k%& z_D@ewH{VZB?>3OYGgOq8mKJ?7EzQp#1G?%%oC@UFCP12h^LRYsPQ&ng0^l*4rhhDO zCsohM$&EE+XJ=iQk&!8G%*aTO{s8E_9>{-$wEO}@v1Png zMc`8n!!T1J>ur#eKb4)G6PuQuojnCXybQSLPDm?G?$)iFIWiaw@Qk#yz(PpNF9dL` zC?zEY+I!6hNW?YJ{Y`|kbX_;c>$=9nQi=*-J`T9-!(jm4l$n_|7r2uE`yxX0xIiFH zltXLtuRfnwyblSZR}k^{RQuU`mdk^Q2}t%L*RQL@KTsF_L3TUM7L|2 zJRPVxd?ti7ZzC(n`2e2-D?AG5SRUlx*sWW7dTc3KcM=qM*%sZr53(xWZQ{jukv>!0C9$}Ra5aCsgA z+NTJ-JHe70c*Hq0{^J0A2Km5c7=QRagoK8%ACpw;$SKdDvk8c)sfUyGLcrZh>M=ya z0P_YM-b}&x^9JCR1Iqji5w8D)Fq;9m%Qm7ILWA@xMDlT*3b7Mtq|$L(nSViNbkfS+ z=w%zi_s|mz=_@0tF;sj#q%@l_RD2rHcpakHQ;6omg618FcWWB(NlQ%@fU&tb6s0qGWFfc}h7OP|-rz&;PaGSvX(y%3pyhmcb zAtA^pIH6!{%iuV%QYp9%WEqKsBIR_Q3a7VHq0U zU|HEY_sGiD`0F}cNh(j$Y$tTiT}nw!%Y&(b707KI*Rjk@AeLr>Y`c=DIH$Rf+vmAs zSm*Sz07)V1aDzJIPaZ{w+g#*KmZ?ZU%Pk#DG7D)$2fo`xvWci2nU~zhvI-3uoe_lK zNMsEdVG$aIf?SdU9{}7QImao<7p+szf^H=e_L^M1SpYYGnM)wsJf8TXcE@_Cr$ScY{3XY=plj?#ME zPujq*$LfK*aUW?r-^riGnt_+FV&Gk@7ub#2k3GV`oue$Q63E9Ifx%)p?ih{1>VTuf zRICg*5l>Jp7i(~rs2TT&*5eM*MsWk4rn(dNh91T$fZt*bzzgD4%>Vxdv;UuqD4wqJ zV%|SThH)Qgpe&OkX}I^ZNG_LaaMx$8yjWf?e=IjkJS~j10k{u;AkkR|#u88DDDyXO;i&lQNNeoyOw@nmHch}qb zJg%D93AJpGD}k#+8ET>6@vF=3#-=(6_)*s(lGUia>O4+5wgGLA&849wkRyqc0%C8? zIu^(_Pr?eou?*A>&Jftz5%tb(4n`NR|URsdARKxRw^}_vz}Hg}QeSbu|<0@8J>=X3Uw?~Tzy*;7|@^Qm~(GKK|6>>qFS*_hh*)7DRJvQ zUgqtl)C;64S|Ftz{op9}U?d~apxXVF85s)5pBAUJ5r}M&BRlZ{Uy$TaDBRWuJipva zHLG*O%y1fI>GAI4K(;q!Y3=Cd;*PtMo>>+makXqmT)#gKW~(f-!2^E^`bg_Ck)xD% z+e6C&Nw#?U_fK>F1I7LA|Ng}R`ll)*6y*Iv!9Jei;$q&fI3t_#hN=n_`|_xP&22ZZ z;DAd9FII_N>YtT`qKb&@L1nQMcs~>}vMq|kuNvEtheHCiEzZJaHnpR2|BM`k09p?> zGxDk%Pojh3{+Zc!Z>izpVyMvO&xeTX@Jz*r+vpWMW~S|8TDX4}`YgTzo=%~pyk*Zk)RVjiw&Pr)kJ zbHxR?p1oRZ5x3xK_5rb7JRzRN4CiZ@-TVYsvR{c9u4N6GA_LejAV>C)z2#7Om>h+D z118AHa;lsm=gNihBwW$1l&8tFoJqL0rQx*U>5UU%wcYqzmiYN=P-Zy zDrPS~z})3$@+*yD-qNpi)9{(0_0sxig<5~@aLiZMYW0|{Y|v(E^Rz|UGHsQ1rgpBj zUfYaW$zNzsVixiP?PKk4+Gn_K#$GB|a_T9sC@#oFZ094{x#h(L*}2)p6$Ku|p~MJ@3bO1@Oa2T50Fo%%ks+d$; z#dVt*I7-zbo4W{llvh;oqA*8VT%KIkZMuzKL7ftRymM6_@4cczmC;|aH#uc=cgU-h zH+9{slxr31`+K6yUksRuQ=suu2!otYH1JQrl*@YBiOs1+yeN`3 zW(rT6x#Ti5Ts#w;lSiiwqq=_7ZZtJpe3`ph^n%d4xw+GG-^~pjpZgASJY;rjZeDvs zb8|DoT7=x(!oaZ6!O1g%OQKgS3Cx@k;6GdvoG~Magi5iz$-&X11AOICfzhLbeC6c8 zn9+fl76}#>2Ke-0fx^NdpN>*N(44dO^5*9B<|~?;yIHyDhTPm-K8m7|p-`@QOb~i~ z1<5M|ko2o1Ge;2N>m`aXYf1EuAawr~v|14uJ$Wb0!dKW7 z14YL`U$@#ZeOR!-Ry3}*Ifbn;WupCdJKu7-5&1ZS{}7 z7l6jR2wG0zya-yG(@E_JMjbc9CgVO2a?uNHP5BQk-HRgYhZQQ_`T9uVp+W9wkehiC z4Y;}W8;oOpc4n2f!s%Is$4$D%Q<#+=E*V~!K6q5^@bs!l-!d2PnbtE6 z|2^ADr%q~f(CyzGU+-W)Z)vdHTUF&PZyWb6_4Y%ZD-QPd<)DQt&bVgMHIwjvO*`ob zx?61@e&0z@{_L}1o|An0%%AL=2wTmZ2^&uI?K6L*Zy-!NawH5r(6`V0pbiW|h8iD) z;z1}$%8^Oh*ysSQVq3&BuHDRej#ZHQ$t1P?e7=6lJBD+mk@%6*#2Ytr4 z1EZF?ToBVb{3Pc$^MB*>p9i=m_)>W#=7=`R>*S5{r`VzIE_t8aihcTa$j9Zcv0LBo z^3q z+GE-i_yzu~wo7|ads%x;d#m%+!1_S!6F5viOg|jE1y<|h^@-Rs@K}ACJ_9=ko~SR> zPs09zEA`X#v#^U`vwneoG4>L?LcdzyfE@*I&~MRi$G(F1>JR7->D%?k^e6Nu^=I{6 z`iuI@`fFHK@}B;o{)yhIf3AO}#|(kF(i9_LWEeR{52Lry*XU;qG)j$O#$m?c#t}xf zG2WPHOg4@+rWrGg*~W>+LgOT3xv|nX%{a^Wp3!VvU|ejhH?Ae|^RZhQlj_9~Hy0qgu03B*sddNbh zrH4F$&aM9zPmnD=)aTU@_0d9~Vk*}Ttt+2j#N$9HKmx;OSUa>Xe!>qN^x^~{cl6cnrJa!@bA-jTI%{H(tcniZV>^61>y9aMs*v1}akK$bm zzh%#`-{Xx7e`2p<{l+`&1FYcK%|6H8W-*Rs%DKgO9MBU%prpu|qP8a!i?b_0Do-NQ z9Ck6$;vvCCliUuu*v=Cz-v#C7v7oc9iE*n}z^fkJY*uSEg>IuO7RtNXoHBYtHjY9p z4qLpBiela3dVBtfeCPZVcXDQD%ZfKAyZ#GSt zGKJrRC`OTa&lHK&Y??4(!h;AVMS`N=j2&BTZm+JcrVwM*)pGmTv9YF+BS-E;Fe!>r z#K#REUS1w!<>j1FPNn2R7i-)>Psc>mc zO?7pfaMTf1RYy4C>?#~*)r@F+oS)bb$ljxAVa<@z(jl&JHhmo&>-tXUe@snb+vC(D z@{*1ts=N2-(cKjmW~nD}=xLnntN{bEvIo?t=av%BK+JNUoUqcYtdx{2TEpMq-0NkR zv8&j%Y%{wa?=ZQI-O28C?H~9w&afA;d*B;*ugQnlJMc61CC)C%z1+{!@s^YBJk0a) zu9E?H+ezDf1D#zY=J7^;5>`sBh;%z(ng7K)@M3JBsz9+$~SR6W`QlK7+5vT{%ZJghsIJJ%(aj~6> zIKe~xJHSpY!MKA5+esyQvwKy2sh*2$O1w8JlQvZ0U?

o=LUwrX-HW^s!_0jzWe} zJys9tW2=qs#NvwL6&W41C3;udN8cMecI+;Mu{^&T(W%JAHjk~YJ{lP_0#Y^ai|j6t z#)=x0iTMqbVrj(MfXHfEeVNMMOY!9t#a^Q}v8ySz2@38$s#Lw%P4bDuTmx!CkSUoukE@wh)zN%CB*Z{nZH6rhNKYlgK?~qUN+ioVp9P@sya;3kHD#< zlh-E3+#c>WE!>GB!kC1;|@M#|8u@vvwIAtO46WNGK{LJ!iVz2IqwUy&xX z%Wgx|chIUsH1K;5pbhZam%AeY9MRkDt0M`Bxg*K(J#||AdrHGTdVai%Fw6Buzr_3e zCbG%wST>E#z}x&9@m8)CcrVwP*d_OTtoo%ra<5f8X z?Tq_5GdWkg;%2CCHrf%ll$Y~LwHxk4ehl_SnuA@Dmhw}v2k!sk={4E`_j0xW?e+X- z?0!q%W3>0}PPOyx3wVm{&uZV>zp7ntO~J9}E$x9sJKoZ>Y=cCZD93KMW5qbN*KGry zXPYhN(OeZi@aWqoIS@HHfDNRAWL7FCvr-vkwFuF=o<)ql==#!%^?2@})U?4)^pcEi z)u?N4h}c%5gH&f(!v@PI`_kn;k^)Nq4K0FYium24;v_46!y5WI6k+fBKP~b2Gedd) zL7@tNZRlwKtk7crvSt3op;`W;L$&^j&>(+aDAVsL`PBa|xJ7B#*-bVtZR*rCew|99 z*FEFs#V`4vu@jR`@Q)hh=MSnR`r!S3KKfDr{dQuqq5i@`KYvao(dRb%`SjcTo9)D8 zA$ls9f1r}+2j~0wip%}y+ewry^Ye9Qk{T*8*=~}Z2UQXc#zj(+nM}##;iXm@EsYDM zWHXtPDv!^$(&+5CSV}sRDY+{6dMk~tj|-;cGnta?XuiWr%^gaz#r#t%jeZKV@~CZI z9z*84Vz^zQhaL*?QkCp&wi`khUmW7IRkF9yR(3z(gzkL3O7=F{*wBChA-+Q;=8p8f z{L}QlvLy$Wg8TLHmyGb&!c{F#g`?K`N0j*cz)LMFcFL2}XRd$hRR3HR9~*kc|B@Pe zic^$3PEhgT-S785_89pj#XjYVLsgs~+U&ngjW@-<5dEGEsn{1f-+#FpX^KOkW&ShO zI8*FX4!B#zzY972lN2eI@9naZyF;V=mIM^1C<*%9U?okVLcb*g#Xcp&h*PcPXh>j5 zL9x&Bx3N}|Zh4!XkR>f!A^!KX#;%7R+J%s0hZ`=s=mvx&3!Hkw38x|?={|PAfUyX) z=LW+LyKK)kJk8Q_fbRrO+>!b(-EUv5n<>x7Y&y-TJHcJnU390uy|gpFZ(8s4*%chO z{M61}?yUX(^yBchmmbW1-12|d^{KDt_4QlouS2ji(Jgj)OZ{i@oLLW+zq^9sqIxGp zEoS1e04Nu=il3>b#EWMC(f!GmK}kntQdt%EB6d!oc9jE@j?M|xU_`PAUF_`unWtqijT`(4oS&>Ws2w3<>+0NSs@ zArZ*v|0!08kS9beA80=*X8~_;N6-@tcmkfCfp{7SdIH`jf?lLS52exLJpu5545l4+ zK8V^K-XN-hf_S@!C}6|?cExGsqpKCetsPV=)()W$_55A3wkL>Dw#T150b`3qd5q;O z9@*jr!E&T_WA8DJ51~cepSqZz9we6yc$Md>966@lSUKrF@`2+MJ(HhX-fIcjY5sWh zOg&NW`_ZQ*BYL(^fKL0_TQ2mBR;p*0t2jWNnQ(fS&9k>TkEg+H)AN3qElAehe^Xh* zc|7{{C~Yl0lVT5JDfs?>t)0F6^YCVuV#auWc9;G%7G+%vc)JhHCbx|&Ia=g19sI6k zndt@Tk*P*YXgR9mxdFG>>DC-ys%hxnfz6lu|u9C%BrJBs?SzFt44pHXx%%|RK=d=~r5@1fP2P}#1 zs6nE1FgnLaH_MEFc1z5v_Eztr8ObK%-DHdLj?oL)kFZ-(3)TZ|!%j&%*kfpb%~@#I z9hx?y4SYQGAIYth*u|$fKc1Es;}@gDM4RLU`M<14Q)8G$bSJu+?*gs7yz#J&Ew{Je ze`DUpjeRz5Jgl*CX!&qn)Yw=yyc|h+^bM-D|2GDm97qSdaN5xEREkmsum28}T`_S9fp^}YB zwbNRhT51Dk2bG#6Gj{@Y+PHBGyTzmFv=wm>7e4SOgnQ2UXZJb5QU7468hIFd{m4I` zn@IQEsNq5#WiM8TS_j(5NA^6za5V&P{8IBMB)d{2Aqy!%qB4TVPF2fql2^zn))~MV ze?%PXKdamF%+aQuEgMN9x`~3(_~_8$!=a<8ZW5 z1v?60Egf+YZ<>lJk1g%7rq!ZL&?ne=EJVb)X3=$)%8Kp00s0C%pMp0C?!r6<*LG_pmIVJU8~t?Xjk@hg_E?z5eIq}Rs_48L8wPMBc sQZ`;myc#ku0`PLB$2_I#0?^a?*IS* literal 0 HcmV?d00001 diff --git a/icc/DCI-P3-D65.icc b/icc/DCI-P3-D65.icc new file mode 100644 index 0000000000000000000000000000000000000000..6e69c14271ef8d605d8d64d919a11670b5295e55 GIT binary patch literal 604 zcmaiyJxc>Y5Qg8xkBCX3kTS(pY7rqOYHS4Yf-!!81O*kFwU|o@u_^R_B(D(pzo!wc{>N3@Qe*0AC+Tg+kF( zh*jd)zGVpglsK&HQT1rHk3MG4M|jxXi$$7Geec+l-@`Ff+-FlSIBii(Vjnh+Omt zfzUFF0zukTi=bAnq}z9AirE+)m~(&UJLlfRJ#&HJ0caCRz%ZLuDZirZ?CvR3&zM9^ zW&l;Q8y=1I0buw5df;v$SIBSNgg?&*=~lO^rp}f+?WeK3d@-UmtR@f$QL0p`wno;; z$yT!=^$t0v9jO)a6**yTm2%`hd8X#^yX3ORBgqyo0R*GuSj}Taa@pfW$+~0IS+geD z&>i-5P2MD0HMiHf%3K@;m}sI3i>peiy@+F2l@le uu}<7t3c*X@zu52Bc7SY12yyFcr8nUE5s1wC+WaX;tpL5EudyTFlC*C}M{KkJ literal 0 HcmV?d00001 diff --git a/icc/ITU-RBT709ReferenceDisplay.icc b/icc/ITU-RBT709ReferenceDisplay.icc new file mode 100644 index 0000000000000000000000000000000000000000..0b6669ff2c5447c533eb9c9a556b2e43522a7f76 GIT binary patch literal 596 zcmZQzUTKTzYP=;U=U)EWl&5^E-nD6K?95k{K(e4BycKq&xT C4Q(|5 literal 0 HcmV?d00001 diff --git a/icc/ITU-R_BT2020(beta).icc b/icc/ITU-R_BT2020(beta).icc new file mode 100644 index 0000000000000000000000000000000000000000..cf554acba9b6dafb2c36c155a45f0fc1b93d443e GIT binary patch literal 732 zcmaiyK}#D!6vzKbT11Ty#AAgySZGTvF@ks!x`~z0dWi{GPi{8JW-+@iyBkH2QlYnA z3jGA_Io>OH=m+rBie6NDDE$HjFIJ}iw=3>N@WFfYn>YV?Z+2#Z?AgnTvG||}xLy?0 zmJGG}c1;ca!Z0Q=juF7LLVtPXRUNcyy`f6Q64kes0WMF#2>hI`mdonLxzQ@@e*E^~ z;PlV&{Ohl`%DZ8#)ebEnqqw|g`9Vb9CBNH_eBpoOiROlIwjdnvfaED*JK_0Qlkgki zUf*@7Sr?AlR+r5E$Xi{rMSf3y9@J}P@_<~h6FwAfCVV99_WC?qZ1RQqw%1tUxIlk| zD(Yxp8Z{^w+{I(fh}unNOm 打开内置浏览器 +# script-message-to uosc playlist #menu: 打开 > 播放菜单 +# script-message-to uosc chapters #menu: 打开 > 章节菜单 +# script-message-to uosc editions #menu: 打开 > 版本菜单 +# script-message-to uosc audio #menu: 打开 > 其他音轨 +# script-message-to uosc subtitles #menu: 打开 > 其他字幕 +# ignore #menu: 打开 > --- +` script-message-to simplehistory open-list;show-text '' #menu: 打开 > 历史 > 打开历史菜单 +ALT+l script-message-to simplehistory history-incognito-mode #menu: 打开 > 历史 > 开/关 隐身历史 +CTRL+L script-message-to simplehistory history-load-last #menu: 打开 > 历史 > 加载最后播放文件 +CTRL+l script-message-to simplehistory history-resume #menu: 打开 > 历史 > 加载最后播放文件及进度 +# ignore #menu: 打开 > --- +CTRL+c set clipboard/text ${path};show-text "已复制文件路径" #menu: 打开 > 复制 > 复制文件路径 +CTRL+ALT+c set clipboard/text ${filename};show-text "已复制文件名" #menu: 打开 > 复制 > 复制文件名 +# ignore #menu: 打开 > --- +CTRL+F script-message-to quality_menu video_formats_toggle #menu: 打开 > Youtube-dl > 开/关 ytdl 视频选择菜单 +ALT+F script-message-to quality_menu audio_formats_toggle #menu: 打开 > Youtube-dl > 开/关 ytdl 音频选择菜单 +# script-message-to quality_menu reload #menu: 打开 > Youtube-dl > ytdl 重新加载 + +##⇘⇘uosc 一级菜单:文件 +SHIFT+F11 stop #menu: 文件 > 停止 +ALT+t cycle ontop;show-text "置顶:${ontop}" #menu: 文件 > 开/关 置顶状态 #@state=(ontop and 'checked') +ALT+b cycle window-maximized #menu: 文件 > 开/关 最大化 #@state=(window_maximized and 'checked') +f cycle fullscreen #menu: 文件 > 开/关 全屏 #@state=(fullscreen and 'checked') +i script-binding stats/display-stats #menu: 文件 > 临时显示统计信息 +I script-binding stats/display-stats-toggle #menu: 文件 > 常驻显示统计信息 +l ab-loop #menu: 文件 > 设定/清除 片段循环 +L cycle-values loop-file inf no;show-text "循环播放:${loop-file}" #menu: 文件 > 开/关 循环播放 #@state=(loop_file and 'checked') +n script-message playlistmanager shuffle #menu: 文件 > 随机播放 +[ no-osd add speed -0.1; script-message-to uosc flash-speed #menu: 文件 > 速度 > 速度 -0.1 +] no-osd add speed 0.1; script-message-to uosc flash-speed #menu: 文件 > 速度 > 速度 +0.1 +{ no-osd multiply speed 0.5; script-message-to uosc flash-speed #menu: 文件 > 速度 > 半速 +} no-osd multiply speed 2.0; script-message-to uosc flash-speed #menu: 文件 > 速度 > 倍速 +BS no-osd set speed 1.0; script-message-to uosc flash-speed #menu: 文件 > 速度 > 重置速度 +ALT+o script-message-to uosc show-in-directory #menu: 文件 > 定位当前文件 +DEL script-message-to delete_current_file delete-file 1 "请按 1 确认删除" #menu: 文件 > 删除当前文件 + +##⇘⇘uosc 一级菜单:导航 +# show-text ${track-list} 5000 #menu: 导航 > 打开 OSD 轨道信息 +O no-osd cycle-values osd-level 3 1 #menu: 导航 > 开/关 显示 OSD 时间轴 +F4 script-binding select/menu;show-text '' #menu: 导航 > OSD 交互菜单 > 综合菜单 +F5 script-message-to playlistmanager showplaylist;show-text '' #menu: 导航 > OSD 交互菜单 > 播放列表 +F6 script-binding select/select-audio-device;show-text '' #menu: 导航 > OSD 交互菜单 > 音频设备列表 +# script-binding select/select-edition;show-text '' #menu: 导航 > OSD 交互菜单 > 版本列表 +F7 script-binding select/select-chapter;show-text '' #menu: 导航 > OSD 交互菜单 > 章节列表 +F8 script-binding select/select-track;show-text '' #menu: 导航 > OSD 交互菜单 > 轨道列表 +F9 script-binding select/select-vid;show-text '' #menu: 导航 > OSD 交互菜单 > 视频轨列表 +F10 script-binding select/select-aid;show-text '' #menu: 导航 > OSD 交互菜单 > 音频轨列表 +F11 script-binding select/select-sid;show-text '' #menu: 导航 > OSD 交互菜单 > 字幕轨列表 +ALT+c script-message-to chapter_make_read create_chapter #menu: 导航 > 章节制作 > 标记章节时间 +ALT+e script-message-to chapter_make_read edit_chapter #menu: 导航 > 章节制作 > 编辑章节标题 +ALT+r script-message-to chapter_make_read remove_chapter #menu: 导航 > 章节制作 > 删除当前章节 +ALT+w script-message-to chapter_make_read write_chapter chp #menu: 导航 > 章节制作 > 创建 chp 章节文件 +ALT+g script-message-to chapter_make_read write_chapter ogm #menu: 导航 > 章节制作 > 创建 ogm 章节文件 +< playlist-prev;show-text "播放列表:${playlist-pos-1}/${playlist-count}" #menu: 导航 > 上个文件 +> playlist-next;show-text "播放列表:${playlist-pos-1}/${playlist-count}" #menu: 导航 > 下个文件 +PGDWN add chapter -1 #menu: 导航 > 上一章节 +PGUP add chapter 1 #menu: 导航 > 下一章节 +F3 script-message-to chapterskip skip-to-silence;show-text "跳到下一个静音位置" #menu: 导航 > 跳到下一个静音位置 +ALT+q script-message-to chapterskip chapter-skip #menu: 导航 > 切换 章节跳过模式 +ALT+n script-message-to chapterskip toggle-markskip #menu: 导航 > 标记片头片尾 +, frame-back-step;show-text "当前帧:${estimated-frame-number}" #menu: 导航 > 前进后退 > 上一帧 +. frame-step ;show-text "当前帧:${estimated-frame-number}" #menu: 导航 > 前进后退 > 下一帧 +RIGHT seek 5 #menu: 导航 > 前进后退 > 前进 5 秒 +LEFT seek -5 #menu: 导航 > 前进后退 > 后退 5 秒 +UP no-osd add volume 5; script-message-to uosc flash-volume #menu: 音频 > 音量 > 音量 +5 +DOWN no-osd add volume -5; script-message-to uosc flash-volume #menu: 音频 > 音量 > 音量 -5 +SHIFT+RIGHT seek 1 exact #menu: 导航 > 前进后退 > 精准前进 1 秒 +SHIFT+LEFT seek -1 exact #menu: 导航 > 前进后退 > 精准后退 1 秒 +SHIFT+UP seek 85 exact #menu: 导航 > 前进后退 > 精准前进 80 秒 +SHIFT+DOWN seek -85 exact #menu: 导航 > 前进后退 > 精准后退 80 秒 +CTRL+z script-message-to undoredo undo #menu: 导航 > 跳转 > 撤消跳转 +CTRL+x script-message-to undoredo redo #menu: 导航 > 跳转 > 重做跳转 +CTRL+ALT+z script-message-to undoredo undoLoop #menu: 导航 > 跳转 > 循环跳转 + +##⇘⇘uosc 一级菜单:画面 +# set video-aspect-override "-1";show-text "宽高比:${video-aspect-override}" #menu: 画面 > 切换 宽高比 > 默认值 +# set video-aspect-override "16:9";show-text "宽高比:${video-aspect-override}" #menu: 画面 > 切换 宽高比 > 16:9 +# set video-aspect-override "4:3";show-text "宽高比:${video-aspect-override}" #menu: 画面 > 切换 宽高比 > 4:3 +# set video-aspect-override "2.35:1";show-text "宽高比:${video-aspect-override}" #menu: 画面 > 切换 宽高比 > 2.35:1 +A cycle-values video-aspect-override 16:9 4:3 2.35:1 -1;show-text "宽高比:${video-aspect-override}" #menu: 画面 > 切换 宽高比 > 循环切换 +CTRL+LEFT cycle-values video-rotate 0 270 180 90;show-text "视频旋转:${video-rotate}" #menu: 画面 > 左旋转 +CTRL+RIGHT cycle-values video-rotate 0 90 180 270;show-text "视频旋转:${video-rotate}" #menu: 画面 > 右旋转 +CTRL+- add window-scale -0.1;show-text "窗口缩小:${window-scale}" #menu: 画面 > 画面缩放 > 缩小窗口 +CTRL+= add window-scale 0.1;show-text "窗口放大:${window-scale}" #menu: 画面 > 画面缩放 > 放大窗口 +ALT+- add video-zoom -0.1;show-text "画面缩小:${video-zoom}" #menu: 画面 > 画面缩放 > 画面缩小 +ALT+= add video-zoom 0.1;show-text "画面放大:${video-zoom}" #menu: 画面 > 画面缩放 > 画面放大 +ALT+LEFT add video-pan-x -0.1;show-text "画面左移动:${video-pan-x}" #menu: 画面 > 画面缩放 > 画面左移动 +ALT+RIGHT add video-pan-x 0.1;show-text "画面右移动:${video-pan-x}" #menu: 画面 > 画面缩放 > 画面右移动 +ALT+UP add video-pan-y -0.1;show-text "画面上移动:${video-pan-y}" #menu: 画面 > 画面缩放 > 画面上移动 +ALT+DOWN add video-pan-y 0.1;show-text "画面下移动:${video-pan-y}" #menu: 画面 > 画面缩放 > 画面下移动 +ALT+p cycle-values panscan 0.0 1.0;show-text "视频画面缩放:${panscan}" #menu: 画面 > 开/关 裁切填充 #@state=(panscan and 'checked') +# ignore #menu: 画面 > --- +ALT+BS set video-zoom 0;set panscan 0;set video-rotate 0;set video-pan-x 0;set video-pan-y 0;set video-aspect-override -1;show-text "重置画面操作" #menu: 画面 > 重置以上画面操作 +# ignore #menu: 画面 > --- +CTRL+I cycle icc-profile-auto ;show-text "ICC 自动校色:${icc-profile-auto}" #menu: 画面 > 开/关 自动 ICC 校色 #@state=(icc_profile_auto and 'checked') +# cycle sigmoid-upscaling;show-text "非线性色彩转换:${sigmoid-upscaling}" #menu: 画面 > 开/关 非线性色彩转换 #@state=(sigmoid_upscaling and 'checked') +1 add contrast -1;show-text "对比度:${contrast}" #menu: 画面 > 调色 > 对比度 -1 +2 add contrast 1;show-text "对比度:${contrast}" #menu: 画面 > 调色 > 对比度 +1 +3 add brightness -1;show-text "明度:${brightness}" #menu: 画面 > 调色 > 明度 -1 +4 add brightness 1;show-text "明度:${brightness}" #menu: 画面 > 调色 > 明度 +1 +5 add gamma -1;show-text "伽马:${gamma}" #menu: 画面 > 调色 > 伽马 -1 +6 add gamma 1;show-text "伽马:${gamma}" #menu: 画面 > 调色 > 伽马 +1 +7 add saturation -1;show-text "饱和度:${saturation}" #menu: 画面 > 调色 > 饱和度 -1 +8 add saturation 1;show-text "饱和度:${saturation}" #menu: 画面 > 调色 > 饱和度 +1 +- add hue -1;show-text "色相:${hue}" #menu: 画面 > 调色 > 色相 -1 += add hue 1;show-text "色相:${hue}" #menu: 画面 > 调色 > 色相 +1 +CTRL+BS set contrast 0;set brightness 0;set gamma 0;set saturation 0;set hue 0;show-text "重置调色" #menu: 画面 > 调色 > 重置 +D cycle deband;show-text "去色带:${deband}" #menu: 画面 > 去色带 > deband 开关 #@state=(deband and 'checked') +ALT+z add deband-iterations +1;show-text "增加去色带强度:${deband-iterations}" #menu: 画面 > 去色带 > deband 强度 +1 +ALT+x add deband-iterations -1;show-text "降低去色带强度:${deband-iterations}" #menu: 画面 > 去色带 > deband 强度 -1 +h cycle-values tone-mapping auto spline bt.2390 hable bt.2446a st2094-40 st2094-10;show-text "HDR 映射曲线:${tone-mapping}" #menu: 画面 > HDR 相关 > 切换 HDR 映射曲线 +ALT+h cycle-values hdr-compute-peak yes no;show-text "HDR 动态映射:${hdr-compute-peak}" #menu: 画面 > HDR 相关 > 切换 HDR 动态映射 #@state=(hdr_compute_peak and 'checked') +CTRL+h cycle target-colorspace-hint;show-text "HDR 直通模式:${target-colorspace-hint}" #menu: 画面 > HDR 相关 > 切换 HDR 直通模式 #@state=(target_colorspace_hint and 'checked') +CTRL+t cycle-values target-trc auto pq gamma2.2;show-text "显示器传输特性:${target-trc}" #menu: 画面 > HDR 相关 > 切换 显示器传输特性 +CTRL+T cycle-values target-peak 100 203;show-text "映射目标峰值:${target-peak}" #menu: 画面 > HDR 相关 > 切换 映射目标峰值 +CTRL+g cycle gamut-mapping-mode ;show-text "色域映射模式:${gamut-mapping-mode}" #menu: 画面 > HDR 相关 > 切换 色域映射模式 +# cycle tone-mapping-visualize;show-text "色调映射可视化模式:${tone-mapping-visualize}" #menu: 画面 > HDR 相关 > 切换 色调映射可视化模式 +# ignore #menu: --- + +##⇘⇘menu 一级菜单:轨道 +# ignore #menu: 菜单 > 轨道 #@tracks +# ignore #menu: 菜单 > 次字幕 #@tracks/sub-secondary +# ignore #menu: 菜单 > 章节列表 #@chapters +# ignore #menu: 菜单 > 版本列表 #@editions +# ignore #menu: --- + +##⇘⇘uosc 一级菜单:视频 +# cycle video #menu: 视频 > 切换 视频轨 +# set hwdec "no" #menu: 视频 > 切换 解码方式 > 软解 +# set hwdec "auto-safe" #menu: 视频 > 切换 解码方式 > 自动选择硬解加速模式 +# set hwdec "auto-copy-safe" #menu: 视频 > 切换 解码方式 > 自动选择 copy 硬解模式 +# set hwdec "nvdec" #menu: 视频 > 切换 解码方式 > nvdec 硬解 +# set hwdec "nvdec-copy" #menu: 视频 > 切换 解码方式 > nvdec-copy 硬解 +# set video-sync audio;show-text "帧同步模式:${video-sync}" #menu: 视频 > 切换 帧同步模式 > audio +# set video-sync display-resample;show-text "帧同步模式:${video-sync}" #menu: 视频 > 切换 帧同步模式 > display-resample +# set video-sync display-tempo;show-text "帧同步模式:${video-sync}" #menu: 视频 > 切换 帧同步模式 > display-tempo +# set video-sync display-vdrop;show-text "帧同步模式:${video-sync}" #menu: 视频 > 切换 帧同步模式 > display-vdrop +# set video-sync display-resample-vdrop;show-text "帧同步模式:${video-sync}" #menu: 视频 > 切换 帧同步模式 > display-resample-vdrop +# cycle-values video-sync display-resample display-tempo audio display-vdrop display-resample-vdrop;show-text "帧同步模式:${video-sync}" #menu: 视频 > 切换 帧同步模式 > 循环切换 +ALT+i cycle interpolation ;show-text "抖动补偿:${interpolation}" #menu: 视频 > 开/关 抖动补偿 #@state=(interpolation and 'checked') +d cycle deinterlace;show-text "去交错:${deinterlace}" #menu: 视频 > 开/关 反交错 #@state=(deinterlace and 'checked') +# cycle vd-lavc-assume-old-x264;show-text "兼容 x264 旧编码模式:${vd-lavc-assume-old-x264}" #menu: 视频 > 开/关 兼容 x264 旧编码模式 #@state=(vd_lavc_assume_old_x264 and 'checked') +# ignore #menu: 视频 > --- +s screenshot subtitles #menu: 视频 > 截屏 > 同源尺寸 - 有字幕 - 无 OSD-单帧 +S screenshot video #menu: 视频 > 截屏 > 同源尺寸 - 无字幕 - 无 OSD-单帧 +CTRL+s show-text "截屏" 400;script-message delay-command 0.5 screenshot window #menu: 视频 > 截屏 > 实际尺寸 - 有字幕 - 有 OSD-单帧 +ALT+s screenshot subtitles+each-frame #menu: 视频 > 截屏 > 同源尺寸 - 有字幕 - 无 OSD-逐帧 +ALT+S screenshot video+each-frame #menu: 视频 > 截屏 > 同源尺寸 - 无字幕 - 无 OSD-逐帧 +CTRL+S show-text "逐帧截屏" 400;script-message delay-command 0.5 screenshot window+each-frame #menu: 视频 > 截屏 > 实际尺寸 - 有字幕 - 有 OSD-逐帧 + +##⇘⇘uosc 一级菜单:音频 +# script-message-to uosc audio-device #menu: 音频 > 音频设备列表 #@audio-devices +# ignore #menu: 音频 > --- +y cycle audio;show-text "音轨切换为:${audio}" #menu: 音频 > 切换 音频轨 +m cycle mute;show-text "静音:${mute}" #menu: 音频 > 切换 静音 #@state=(mute and 'checked') +# ignore #menu: 音频 > --- +CTRL+, add audio-delay -0.1;show-text "音频延迟:${audio-delay}" #menu: 音频 > 延迟 -0.1 +CTRL+. add audio-delay 0.1;show-text "音频预载:${audio-delay}" #menu: 音频 > 延迟 +0.1 +; set audio-delay 0 ;show-text "重置音频延迟:${audio-delay}" #menu: 音频 > 延迟 重置 +# ignore #menu: 音频 > --- +# cycle audio-normalize-downmix;show-text "音频规格化:${audio-normalize-downmix}" #menu: 音频 > 切换 音频规格化 #@state=(audio_normalize_downmix and 'checked') +CTRL+y cycle audio-exclusive ;show-text "音频独占模式:${audio-exclusive}" #menu: 音频 > 切换 音频独占模式 #@state=(audio_exclusive and 'checked') +CTRL+Y cycle hr-seek-framedrop;show-text "音频同步模式:${hr-seek-framedrop}" #menu: 音频 > 切换 音频同步模式 #@state=(hr_seek_framedrop and 'checked') +# set audio-channels "7.1";show-text "音频通道输出方式:${audio-channels}" #menu: 音频 > 音频通道输出方式 > 7.1 声道输出 +# set audio-channels "5.1";show-text "音频通道输出方式:${audio-channels}" #menu: 音频 > 音频通道输出方式 > 5.1 声道输出 +# set audio-channels "stereo";show-text "音频通道输出方式:${audio-channels}" #menu: 音频 > 音频通道输出方式 > 双通道输出 +# set audio-channels "7.1,5.1,stereo";show-text "音频通道输出方式:${audio-channels}" #menu: 音频 > 音频通道输出方式 > 自动选择以上输出方式 +ALT+y cycle-values audio-channels "7.1,5.1,stereo" "7.1" "5.1" "stereo" "auto-safe" "auto";show-text "音频通道输出方式:${audio-channels}" #menu: 音频 > 音频通道输出方式 > 循环切换 +F2 cycle-values af "@dynaudnorm:lavfi=[dynaudnorm=f=500:g=31:p=0.5:m=5:r=0.9]" "@loudnorm:lavfi=[loudnorm=I=-16:TP=-1.5:LRA=11]" "" #menu: 音频 > 切换 下混滤镜 +ALT+` af clr "" #menu: 音频 > 清空 af 滤镜 + +##⇘⇘uosc 一级菜单:字幕 +j cycle sub;show-text "字幕切换为:${sub}" #menu: 字幕 > 切换 字幕轨 +k cycle secondary-sid;show-text "切换次字幕:${secondary-sid}" #menu: 字幕 > 切换 次字幕 +v cycle sub-visibility;show-text "字幕可见性:${sub-visibility}" #menu: 字幕 > 切换 字幕可见性 #@state=(sub_visibility and 'checked') +ALT+V cycle secondary-sub-visibility;show-text "次字幕可见性:${secondary-sub-visibility}" #menu: 字幕 > 切换 次字幕可见性 #@state=(secondary_sub_visibility and 'checked') +u cycle sub-ass-override;show-text "字幕渲染样式:${sub-ass-override}" #menu: 字幕 > 切换 渲染样式 +F cycle-values sub-font "Noto Sans CJK SC" "Noto Sans CJK KR" "Noto Serif CJK SC" "Noto Serif CJK KR";show-text "字幕字体:${sub-font}" #menu: 字幕 > 切换 默认字体 +CTRL+r sub-reload;show-text "重载当前字幕" #menu: 字幕 > 重载当前字幕 +# ignore #menu: 字幕 > --- +ALT+R cycle secondary-sub-ass-override;show-text "次字幕样式覆盖:${secondary-sub-ass-override}" #menu: 字幕 > 兼容性 > 切换 次字幕样式覆盖 #@state=(secondary_sub_ass_override and 'checked') +ALT+T cycle blend-subtitles;show-text "字幕混合视频帧:${blend-subtitles}" #menu: 字幕 > 兼容性 > 切换 字幕混合视频帧 #@state=(blend_subtitles and 'checked') +K cycle sub-fix-timing ;show-text "字幕时序修复:${sub-fix-timing}" #menu: 字幕 > 兼容性 > 切换 字幕时序修复 #@state=(sub_fix_timing and 'checked') +J cycle sub-ass-vsfilter-color-compat ;show-text "字幕颜色转换方式:${sub-ass-vsfilter-color-compat}" #menu: 字幕 > 兼容性 > 切换 字幕颜色转换方式 +V cycle sub-ass-use-video-data ;show-text "使用视频信息:${sub-ass-use-video-data}" #menu: 字幕 > 兼容性 > 切换 使用视频信息 +ALT+B cycle sub-vsfilter-bidi-compat ;show-text "bidi 双向检测兼容性:${sub-vsfilter-bidi-compat}" #menu: 字幕 > 兼容性 > 切换 bidi 双向检测兼容性 #@state=(sub_vsfilter_bidi_compat and 'checked') +ALT+X cycle-values sub-ass-style-overrides "ScaledBorderAndShadow=no" "ScaledBorderAndShadow=yes";show-text "强制替换 ass 样式:${sub-ass-style-overrides}" #menu: 字幕 > 兼容性 > 切换 ass 字幕阴影边框缩放 +H cycle sub-ass-force-margins ;show-text "ass 字幕输出黑边:${sub-ass-force-margins}" #menu: 字幕 > 兼容性 > 切换 ass 字幕输出到黑边 #@state=(sub_ass_force_margins and 'checked') +ALT+Z cycle sub-use-margins ;show-text "srt 字幕输出黑边:${sub-use-margins}" #menu: 字幕 > 兼容性 > 切换 srt 字幕输出到黑边 #@state=(sub_use_margins and 'checked') +P cycle stretch-image-subs-to-screen ;show-text "pgs 字幕输出黑边:${stretch-image-subs-to-screen}" #menu: 字幕 > 兼容性 > 切换 pgs 字幕输出到黑边 #@state=(stretch_image_subs_to_screen and 'checked') +p cycle sub-gray;show-text "pgs 字幕灰度转换:${sub-gray}" #menu: 字幕 > 兼容性 > 切换 pgs 字幕灰度转换 #@state=(sub_gray and 'checked') +# ignore #menu: 字幕 > --- +Y script-message sub-select toggle #menu: 字幕 > 切换 字幕选择脚本 +CTRL+f script-message-to sub_assrt sub-assrt #menu: 字幕 > 打开 字幕下载菜单 +CTRL+m script-message-to autosubsync autosubsync-menu #menu: 字幕 > 打开 字幕同步菜单 +CTRL+M script-binding select/select-subtitle-line #menu: 字幕 > 打开 字幕内容菜单 +ALT+m script-message-to sub_export export-selected-subtitles #menu: 字幕 > 导出当前内封字幕 +# ignore #menu: 字幕 > --- +r add sub-pos -1;show-text "字幕上移:${sub-pos}" #menu: 字幕 > 其他操作 > 字幕上移 +t add sub-pos +1;show-text "字幕下移:${sub-pos}" #menu: 字幕 > 其他操作 > 字幕下移 +R add secondary-sub-pos -1;show-text "次字幕上移:${secondary-sub-pos}" #menu: 字幕 > 其他操作 > 次字幕上移 +T add secondary-sub-pos +1;show-text "次字幕下移:${secondary-sub-pos}" #menu: 字幕 > 其他操作 > 次字幕下移 +z add sub-delay -0.1;show-text "字幕延迟:${sub-delay}" #menu: 字幕 > 其他操作 > 字幕延迟 -0.1 +x add sub-delay 0.1;show-text "字幕预载:${sub-delay}" #menu: 字幕 > 其他操作 > 字幕延迟 +0.1 +Z add secondary-sub-delay -0.1;show-text "次字幕延迟:${secondary-sub-delay}" #menu: 字幕 > 其他操作 > 次字幕延迟 -0.1 +X add secondary-sub-delay 0.1;show-text "次字幕预载:${secondary-sub-delay}" #menu: 字幕 > 其他操作 > 次字幕延迟 +0.1 +ALT+j add sub-scale -0.1;show-text "字幕缩小:${sub-scale}" #menu: 字幕 > 其他操作 > 字号 -0.1 +ALT+k add sub-scale 0.1;show-text "字幕放大:${sub-scale}" #menu: 字幕 > 其他操作 > 字号 +0.1 +CTRL+j sub-seek -1 #menu: 字幕 > 其他操作 > 跳转上一条字幕 +CTRL+k sub-seek 1 #menu: 字幕 > 其他操作 > 跳转下一条字幕 +SHIFT+BS set sub-pos 100;set sub-scale 1.0;set sub-delay 0;show-text "重置字幕状态" #menu: 字幕 > 其他操作 > 恢复初始 + +##⇘⇘uosc 一级菜单:视频滤镜 +CTRL+` vf clr "" #menu: 视频滤镜 > 清空 +ALT+v vf toggle deblock=filter=weak:block=4 #menu: 视频滤镜 > 开/关 去色块滤镜 +! vf toggle format=colorlevels=limited #menu: 视频滤镜 > 开/关 动态范围限制 +@ vf toggle vflip #menu: 视频滤镜 > 开/关 垂直翻转 +SHARP vf toggle hflip #menu: 视频滤镜 > 开/关 水平翻转 +$ vf toggle rotate=angle=180*PI/180 #menu: 视频滤镜 > 开/关 旋转 180 +% vf toggle format:gamma=gamma2.2 #menu: 视频滤镜 > 开/关 伽马修正 2.2 +^ vf toggle fps=fps=60/1.001 #menu: 视频滤镜 > 开/关 强制帧数 59.94 +* vf toggle pad=aspect=16/9:x=-1:y=-1 #menu: 视频滤镜 > 开/关 填充 16:9 的黑边并居中 +& vf toggle colortemperature=temperature=6500 #menu: 视频滤镜 > 开/关 色温修正 6500 + +##⇘⇘uosc 一级菜单:着色器 +CTRL+0 change-list glsl-shaders clr "" #menu: 着色器 > 清空 +CTRL+1 change-list glsl-shaders toggle "~~/shaders/igv/KrigBilateral.glsl" #menu: 着色器 > IGV > 开/关 KrigBilateral +CTRL+2 change-list glsl-shaders toggle "~~/shaders/igv/SSimSuperRes.glsl" #menu: 着色器 > IGV > 开/关 SSimSuperRes +CTRL+3 change-list glsl-shaders toggle "~~/shaders/igv/SSimDownscaler.glsl" #menu: 着色器 > IGV > 开/关 SSimDownscaler +CTRL+4 change-list glsl-shaders toggle "~~/shaders/igv/adaptive-sharpen.glsl" #menu: 着色器 > IGV > 开/关 自适应锐化 +# change-list glsl-shaders toggle "~~/shaders/igv/adaptive-sharpen_luma.glsl" #menu: 着色器 > IGV > 开/关 自适应锐化-luma +CTRL+5 change-list glsl-shaders toggle "~~/shaders/igv/FSRCNNX_x2_8-0-4-1.glsl" #menu: 着色器 > FSRCNNX > 开/关 FSRCNNX +# change-list glsl-shaders toggle "~~/shaders/igv/FSRCNNX_x2_16-0-4-1.glsl" #menu: 着色器 > FSRCNNX > 开/关 FSRCNNX-16x +CTRL+6 change-list glsl-shaders toggle "~~/shaders/igv/FSRCNNX_x1_16-0-4-1_distort.glsl" #menu: 着色器 > FSRCNNX > 开/关 FSRCNNX-distort +CTRL+7 change-list glsl-shaders toggle "~~/shaders/nnedi3/nnedi3-nns32-win8x4.glsl" #menu: 着色器 > NNEDI3 > 开/关 nns32-4 +# change-list glsl-shaders toggle "~~/shaders/nnedi3/nnedi3-nns32-win8x6.glsl" #menu: 着色器 > NNEDI3 > 开/关 nns32-6 +# change-list glsl-shaders toggle "~~/shaders/nnedi3/nnedi3-nns64-win8x4.glsl" #menu: 着色器 > NNEDI3 > 开/关 nns64-4 +# change-list glsl-shaders toggle "~~/shaders/nnedi3/nnedi3-nns64-win8x6.glsl" #menu: 着色器 > NNEDI3 > 开/关 nns64-6 +# change-list glsl-shaders toggle "~~/shaders/nnedi3/nnedi3-nns128-win8x4.glsl" #menu: 着色器 > NNEDI3 > 开/关 nns128-4 +# change-list glsl-shaders toggle "~~/shaders/nnedi3/nnedi3-nns128-win8x6.glsl" #menu: 着色器 > NNEDI3 > 开/关 nns128-6 +CTRL+8 change-list glsl-shaders toggle "~~/shaders/ravu/ravu-zoom-ar-r3.glsl" #menu: 着色器 > RAVU > 开/关 ravu-zoom-ar +# change-list glsl-shaders toggle "~~/shaders/ravu/ravu-lite-ar-r3.glsl" #menu: 着色器 > RAVU > 开/关 ravu-lite-ar +# change-list glsl-shaders toggle "~~/shaders/Anime4K/glsl/Restore/Anime4K_Clamp_Highlights.glsl" #menu: 着色器 > Anime4K > 开/关 Anime4K 去伪影 +CTRL+9 change-list glsl-shaders toggle "~~/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_M.glsl" #menu: 着色器 > Anime4K > 开/关 Anime4K 抗锯齿 +# change-list glsl-shaders toggle "~~/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_VL.glsl" #menu: 着色器 > Anime4K > 开/关 Anime4K 中强度抗锯齿 +# change-list glsl-shaders toggle "~~/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_UL.glsl" #menu: 着色器 > Anime4K > 开/关 Anime4K 高强度抗锯齿 +# change-list glsl-shaders toggle "~~/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_HQ.glsl" #menu: 着色器 > Anime4K > 开/关 Anime4K 深线 +# change-list glsl-shaders toggle "~~/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Thin_HQ.glsl" #menu: 着色器 > Anime4K > 开/关 Anime4K 收线 +# change-list glsl-shaders toggle "~~/shaders/Anime4K/glsl/Denoise/Anime4K_Denoise_Bilateral_Mode.glsl" #menu: 着色器 > Anime4K > 开/关 Anime4K 降噪 +# change-list glsl-shaders toggle "~~/shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_DoG.glsl" #menu: 着色器 > Anime4K > 开/关 Anime4K 去糊 +# change-list glsl-shaders toggle "~~/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_S.glsl" #menu: 着色器 > Anime4K > 开/关 Anime4K 放大 +# change-list glsl-shaders toggle "~~/shaders/other/PixelClipper.glsl" #menu: 着色器 > Other > 开/关 抗振铃 +# script-message cycle-commands "change-list glsl-shaders pre '~~/shaders/other/nlmeans_luma.glsl'" "change-list glsl-shaders remove '~~/shaders/other/nlmeans_luma.glsl'" #menu: 着色器 > Other > 开/关 nlmeans-luma 降噪 + +##⇘⇘uosc 一级菜单:其它 +CTRL+P script-message cycle-commands "apply-profile FSRCNNX;show-text 配置组:FSRCNNX" "apply-profile FSRCNNX+;show-text 配置组:FSRCNNX+" "apply-profile NNEDI3;show-text 配置组:NNEDI3" "apply-profile ravu-zoom;show-text 配置组:ravu-zoom" "apply-profile Anime4K;show-text 配置组:Anime4K" #menu: 其它 > 常规配置组 > 切换 指定配置组 +ALT+1 apply-profile FSRCNNX;show-text "配置组:FSRCNNX" #menu: 其它 > 常规配置组 > 切换 FSRCNNX 配置 +ALT+2 apply-profile FSRCNNX+;show-text "配置组:FSRCNNX+" #menu: 其它 > 常规配置组 > 切换 FSRCNNX+ 配置 +ALT+3 apply-profile ravu-zoom;show-text "配置组:ravu-zoom" #menu: 其它 > 常规配置组 > 切换 Ravu-zoom 配置 +ALT+4 apply-profile Ani4K;show-text "配置组:Ani4K" #menu: 其它 > 常规配置组 > 切换 Ani4K 配置 +ALT+5 apply-profile AniSD;show-text "配置组:AniSD" #menu: 其它 > 常规配置组 > 切换 AniSD 配置 +ALT+6 apply-profile Anime4K;show-text "配置组:Anime4K" #menu: 其它 > 常规配置组 > 切换 Anime4k 配置 +ALT+7 apply-profile NNEDI3;show-text "配置组:NNEDI3" #menu: 其它 > 常规配置组 > 切换 NNEDI3 配置 +ALT+8 apply-profile NNEDI3+;show-text "配置组:NNEDI3+" #menu: 其它 > 常规配置组 > 切换 NNEDI3+ 配置 +# apply-profile SSIM;show-text "配置组:SSIM" #menu: 其它 > 常规配置组 > 切换 SSIM 配置 +# cycle border;show-text "显示边框:${border}" #menu: 其它 > 切换 边框模式 #@state=(border and 'checked') +CTRL+B cycle title-bar;show-text "显示标题栏:${title-bar}" #menu: 其它 > 切换 标题栏 #@state=(title_bar and 'checked') +# cycle-values title ${media-title} ${filename} #menu: 其它 > 切换 媒体标题 +~ script-binding console/enable #menu: 其它 > 打开 控制台 +CTRL+R cycle-values reset-on-next-file "all" "no" "vf,af,loop-file,deinterlace,border,contrast,brightness,gamma,saturation,hue,video-zoom,video-rotate,video-pan-x,video-pan-y,panscan,speed,audio,sub,audio-delay,sub-pos,sub-scale,sub-delay,sub-speed,sub-visibility";show-text "播放下一个文件时重置以下选项:${reset-on-next-file}" #menu: 其它 > 重置播放中更改项 + +##⇘⇘uosc 一级菜单:工具 +Ctrl+p script-message-to command_palette show-command-palette "Command Palette" #menu: 工具 > 打开命令面板 +# set clipboard/text ${filename} #menu: 工具 > 复制文件信息 > 复制当前文件名 +# set clipboard/text ${path} #menu: 工具 > 复制文件信息 > 复制当前文件路径 +CTRL+ALT+t set clipboard/text ${time-pos} #menu: 工具 > 复制文件信息 > 复制当前时间 +CTRL+ALT+s set clipboard/text ${sub-text} #menu: 工具 > 复制文件信息 > 复制当前字幕内容 +# script-message-to uosc open-config-directory #menu: 工具 > 定位配置文件 +M script-message manager-update-all ;show-text "更新脚本着色器" #menu: 工具 > 一键更新脚本和着色器 +CTRL+d script-message-to uosc_danmaku show_danmaku_keyboard #menu: 工具 > 弹幕功能 > 开/关 弹幕显示 +CTRL+D script-message-to uosc_danmaku open_add_total_menu #menu: 工具 > 弹幕功能 > 打开弹幕综合菜单 +CTRL+ALT+d script-message danmaku-delay 1 ${=time-pos} #menu: 工具 > 弹幕功能 > 弹幕延迟 +1 秒 +CTRL+ALT+a script-message danmaku-delay -1 ${=time-pos} #menu: 工具 > 弹幕功能 > 弹幕延迟 -1 秒 +_ script-message-to uosc_danmaku immediately_save_danmaku #menu: 工具 > 弹幕功能 > 保存当前弹幕 +# ignore #menu: --- + +##⇘⇘uosc 一级菜单 +b cycle window-minimized #menu: 最小化 +q quit #menu: 退出程序 +Q quit-watch-later # 退出并保存当前状态 + +##⇘⇘以下键位不显示在 uosc 菜单中 +MENU script-message-to uosc menu-blurred # 开/关 uosc 菜单 +POWER quit +PLAY cycle pause;script-message-to uosc flash-pause-indicator +PAUSE cycle pause;script-message-to uosc flash-pause-indicator +PLAYPAUSE cycle pause;script-message-to uosc flash-pause-indicator +STOP quit +FORWARD seek 30 +REWIND seek -30 +NEXT playlist-next +PREV playlist-prev + +SPACE cycle pause;script-message-to uosc flash-pause-indicator + +MBTN_LEFT cycle pause;script-message-to uosc flash-pause-indicator +MBTN_LEFT_DBL ignore +MBTN_Right script-message-to uosc menu-blurred # 开/关 uosc 菜单 +MBTN_FORWARD playlist-next;show-text "播放列表:${playlist-pos-1}/${playlist-count}" # 前进键 切换到列表中的下个文件 +MBTN_BACK playlist-prev;show-text "播放列表:${playlist-pos-1}/${playlist-count}" # 后退键 切换到列表中的上个文件 +MBTN_Right_DBL ignore +Wheel_Up no-osd add volume 10; script-message-to uosc flash-volume +Wheel_Down no-osd add volume -10; script-message-to uosc flash-volume +ESC set fullscreen no;set window-maximized no + +9 no-osd add volume -1; script-message-to uosc flash-volume # 音量 -1 +0 no-osd add volume 1; script-message-to uosc flash-volume # 音量 +1 diff --git a/inputevent_key.conf b/inputevent_key.conf new file mode 100644 index 0000000..eac4f6e --- /dev/null +++ b/inputevent_key.conf @@ -0,0 +1,29 @@ +##⇘⇘以下为基于 inputevent.lua 脚本实现的增强式功能键位绑定 +## '#event:click'用于指定同键位单击时的操作,'#event:double_click'用于指定同键位双击时的操作,'#event:press'用于指定同键位长按时的操作,'#event:release'用于指定同键位长按释放时的操作 +## 更多的键位动作请参考脚本上游说明:https://github.com/zhongfly/InputEvent/tree/property-expansion +##! 注意:并非所有键位都具有以上不同的触发动作 +## 同时脚本支持同一种动作根据条件触发不同的命令,条件的语法等同于 profile-cond(自动 profile 的条件语句) +## 即脚本语法升级为 '#event:动作|条件'(原先的#event:动作视为无条件执行命令),命令执行的优先级是从下到上按顺序,执行第一个满足条件的命令 + +RIGHT seek 5 #event:click +RIGHT script-message-to evafast speedup #event:press +RIGHT script-message-to evafast slowdown #event:release + +TAB script-message-to uosc open-file #event:click +TAB script-message-to uosc toggle-ui #event:press +TAB script-message-to uosc toggle-ui #event:release + +PGDWN add chapter -1 #event:click +PGDWN playlist-prev;show-text 播放列表:${playlist-pos-1}/${playlist-count} #event:click|chapter == 0 +PGDWN playlist-prev;show-text 播放列表:${playlist-pos-1}/${playlist-count} #event:press +PGUP add chapter 1 #event:click +PGUP playlist-next;show-text 播放列表:${playlist-pos-1}/${playlist-count} #event:click|chapter+1 == chapters +PGUP playlist-next;show-text 播放列表:${playlist-pos-1}/${playlist-count} #event:press + +SPACE cycle pause;script-message-to uosc flash-pause-indicator #event:click +SPACE script-binding simplehistory/history-load-last #event:click|idle_active +SPACE no-osd set speed 3; set pause no #event:press +SPACE ignore #event:release + +MBTN_LEFT cycle pause;script-message-to uosc flash-pause-indicator #event:click +MBTN_LEFT cycle fullscreen #event:double_click diff --git a/manager.json b/manager.json new file mode 100644 index 0000000..c759388 --- /dev/null +++ b/manager.json @@ -0,0 +1,120 @@ +[ + { + "git": "https://github.com/po5/mpv_manager", + "branch": "master", + "whitelist": "manager%.lua$", + "dest": "~~/scripts" + }, + { + "git": "https://github.com/po5/evafast", + "branch": "rewrite", + "whitelist": "%.lua$", + "dest": "~~/scripts" + }, + { + "git": "https://github.com/stax76/mpv-scripts", + "branch": "main", + "whitelist": "delete_current_file%.lua$", + "dest": "~~/scripts" + }, + { + "git": "https://github.com/dyphire/mpv-scripts", + "branch": "main", + "blacklist": "license|%.md$|drcbox%.lua$|.-%-list%.lua$|mpv-torrserver.lua", + "dest": "~~/scripts" + }, + { + "git": "https://github.com/dyphire/mpv-playlistmanager", + "branch": "dev", + "whitelist": "playlistmanager%.lua$", + "dest": "~~/scripts" + }, + { + "git": "https://github.com/dyphire/mpv-sub-assrt", + "whitelist": "%.lua$", + "dest": "~~/scripts" + }, + { + "git": "https://github.com/dyphire/chapterskip", + "branch": "dev", + "whitelist": "%.lua$", + "dest": "~~/scripts" + }, + { + "git": "https://github.com/dyphire/Eisa01_mpv-scripts", + "branch": "dev", + "whitelist": "undoredo%.lua$|simplehistory%.lua$", + "dest": "~~/scripts" + }, + { + "git": "https://github.com/dyphire/autosubsync-mpv", + "branch": "v0.33_CM", + "whitelist": "readme%.md$|%.lua$", + "dest": "~~/scripts/autosubsync" + }, + { + "git": "https://github.com/christoph-heinrich/mpv-quality-menu", + "whitelist": "quality%-menu%.lua$", + "dest": "~~/scripts" + }, + { + "git": "https://github.com/tomasklaen/uosc", + "branch": "main", + "whitelist": "src/uosc/", + "dest": "~~/scripts/uosc" + }, + { + "git": "https://github.com/Tony15246/uosc_danmaku", + "branch": "main", + "blacklist": "^%.|^\"", + "dest": "~~/scripts/uosc_danmaku" + }, + { + "git": "https://github.com/CogentRedTester/mpv-sub-select", + "whitelist": "sub%-select%.lua$", + "dest": "~~/scripts" + }, + { + "git": "https://github.com/CogentRedTester/mpv-scripts", + "whitelist": "cycle%-commands%.lua$", + "dest": "~~/scripts" + }, + { + "git": "https://gist.github.com/igv/8a77e4eb8276753b54bb94c1c50c317e", + "whitelist": "%.glsl$", + "dest": "~~/shaders/igv" + }, + { + "git": "https://gist.github.com/igv/a015fc885d5c22e6891820ad89555637", + "whitelist": "%.glsl$", + "dest": "~~/shaders/igv" + }, + { + "git": "https://gist.github.com/igv/2364ffa6e81540f29cb7ab4c9bc05b6b", + "whitelist": "%.glsl$", + "dest": "~~/shaders/igv" + }, + { + "git": "https://gist.github.com/igv/36508af3ffc84410fe39761d6969be10", + "whitelist": "%.glsl$", + "dest": "~~/shaders/igv" + }, + { + "git": "https://github.com/Artoriuz/glsl-joint-bilateral", + "branch": "main", + "whitelist": "jointbilateral%.glsl$", + "dest": "~~/shaders/other" + }, + { + "git": "https://github.com/Artoriuz/glsl-pixel-clipper", + "branch": "main", + "whitelist": "%.glsl$", + "dest": "~~/shaders/other" + }, + { + "git": "https://github.com/bloc97/Anime4K", + "whitelist": "%.md$|%.glsl$", + "blacklist": "tensorflow", + "dest": "~~/shaders/Anime4K" + } +] diff --git a/mpv.conf b/mpv.conf new file mode 100644 index 0000000..a107d22 --- /dev/null +++ b/mpv.conf @@ -0,0 +1,434 @@ +# ===== 基础设置 ===== + +vo=gpu-next # 视频输出驱动 +gpu-api=vulkan # 图形绘制接口 +input-ime=no # 仅文本输入时激活 IME +autofit-smaller=40%x30% # 窗口最小占屏比例 +idle=yes # 播放结束后保持运行 +ontop # 窗口置顶 +hr-seek=yes # 精确跳转 +hr-seek-framedrop=no # 跳转时不丢帧,利于修正音频延迟 +save-position-on-quit=yes # 退出时记住播放进度 +write-filename-in-watch-later-config # 播放记录中写入文件名 +resume-playback-check-mtime=yes # 校验文件修改时间防止误恢复 +watch-later-dir="~~/cache/watch_later" +watch-later-options=start,vid,aid,sid +save-watch-history=yes # 保存播放历史(内置 select 脚本可浏览) +watch-history-path=~~/files/watch_history.jsonl +reset-on-next-file=vid,aid,sid,secondary-sid,vf,af,loop-file,deinterlace,contrast,brightness,gamma,saturation,hue,video-zoom,video-rotate,video-pan-x,video-pan-y,panscan,speed,audio-delay,sub-pos,sub-scale,sub-delay,sub-speed,sub-visibility,secondary-sub-visibility +input-ipc-server=/tmp/mpvsocket # IPC 套接字 +directory-mode=ignore # 打开目录时忽略子目录 +metadata-codepage=auto # 元数据编码自动检测 +msg-level=all=info,auto_profiles=warn +title=${?pause==yes:⏸}${?mute==yes:🔇}${?ontop==yes:📌}${?demuxer-via-network==yes:${media-title}}${?demuxer-via-network==no:${filename}} + +# ===== OSD ===== + +no-osd-bar +osd-on-seek=msg-bar +osd-bar-w=100 +osd-bar-h=2 +osd-bar-align-y=-1 +osd-font="Noto Sans CJK SC;Noto Color Emoji" +osd-font-size=24 +osd-color="#FFFFFF" +osd-outline-size=1.0 +osd-outline-color="#1C1B1F" +osd-shadow-offset=0 +osd-back-color="#1C1B1F" +osd-border-style=outline-and-shadow +osd-playlist-entry=filename +osd-status-msg=${playback-time/full} / ${duration/full} (${percent-pos}%)\nframe: ${estimated-frame-number} / ${estimated-frame-count} +osd-fractions=yes +osd-duration=2000 + +# ===== 色彩管理 ===== + +icc-profile-auto # 自动检测系统 ICC 配置文件 +icc-intent=0 # 感知度映射意图 +icc-force-contrast=1000 # 解决校色文件对比度问题 +icc-3dlut-size=128x128x128 # 3D LUT 精度 +icc-cache-dir="~~/cache/icc_cache" +use-embedded-icc-profile=yes # 使用嵌入式 ICC 配置文件 +inverse-tone-mapping=yes # SDR→HDR 反向映射(仅 HDR 显示器有效) +target-colorspace-hint=auto # 自动配置显示器输出色彩空间 +hdr-contrast-recovery=0.30 # HDR 对比度恢复强度 +hdr-compute-peak=yes # 动态峰值检测 + +# ===== 音频 ===== + +audio-device=auto +audio-channels=7.1,5.1,stereo # 按优先级回退,避免多声道下混丢声道 +ao=alsa +audio-exclusive=yes # 独占音频通道 +audio-samplerate=96000 # 重采样至 96kHz +audio-format=s32 # 32位有符号整数 +replaygain=album # 专辑增益优先,无专辑增益时回退到曲目增益 +gapless-audio=no # 避免采样率锁定导致音质下降 +audio-file-auto=fuzzy # 自动加载同名外部音轨 +audio-file-paths=audio;audios;audio 5.1;audios 5.1;audio 7.1;audios 7.1;音轨 +alang=japanese,jpn,jap,ja,jp,english,eng,en + +# ===== 字幕 ===== + +sub-codepage=gb18030 # 非 UTF-8 字幕首先尝试 GB18030 +sub-auto=fuzzy # 自动加载同名外部字幕 +sub-file-paths=sub;subs;subtitles;字幕 +slang=chs,sc,zh-Hans,zh-CN,cht,tc,zh-Hant,zh-HK,zh-TW,chi,zho,zh +sub-font="Noto Sans CJK SC;Noto Color Emoji" +sub-font-size=50 +sub-bold=yes +sub-color="#FFFFFF" +sub-outline-size=0.5 +sub-outline-color="#000000" +sub-shadow-offset=0.5 +sub-back-color="#000000" + +# ===== 截图 ===== + +screenshot-format=webp +screenshot-webp-quality=85 +screenshot-webp-compression=6 +screenshot-tag-colorspace=no +screenshot-template="~~/files/screen/%{media-title}-%P-%n" + +# ===== 脚本与着色器 ===== + +gpu-shader-cache-dir="~~/cache/shaders_cache" +osc=no # 禁用内置 OSC,使用 uosc +ytdl=yes +ytdl-format=bestvideo[height<=?2160][vcodec!=?vp9.2][vcodec!=?vp9]+bestaudio/best +ytdl-raw-options-append=cookies-from-browser=Firefox +input-default-bindings=no # 禁用内置键位,在 input.conf 中自定义 + +# ===== 外部配置 ===== + +include="~~/profiles.conf" # 场景预设(游戏/电影/动画等,手动激活) + +# ========================================= +# Profile 激活 +# ========================================= + +# 色彩管理(ICC 和 Target 二选一) +#profile=ICC # ICC 色彩管理,使用系统 ICC 配置文件 +#profile=ICC+ # ICC 色彩管理,使用自定义 ICC 文件 +profile=Target # Target 色彩管理,直接指定目标色彩空间 + +profile=Dither # 抖动算法(fruit) +#profile=Dither+ # 抖动算法(error-diffusion,更耗能) + +profile=Tscale # 时域插值(oversample) +#profile=Tscale+ # 时域插值(sphinx,更平滑但略模糊) + +profile=HQ # 高质量缩放算法组合 +profile=DeBand-low # 去色带(低强度) +#profile=DeBand-medium +#profile=DeBand-high + +profile=HDR2SDR # HDR 映射 SDR 参数 +#profile=SDR2HDR # SDR 反向映射 HDR(仅 HDR 显示器) +#profile=SWscaler # 软件缩放备选方案 + +# 着色器(选一) +#profile=NNEDI3 # 通用场景(NNEDI3-32) +profile=NNEDI3+ # 通用场景(NNEDI3-64,更耗能) +#profile=ravu-zoom # 通用场景(ravu-zoom) +#profile=FSRCNNX # HD 场景 +#profile=FSRCNNX+ # SD 场景(FSRCNNX 去伪影) +#profile=Ani4K # 动画(Ani4K V2,高性能开销) +#profile=AniSD # SD 动画(AniSD,高性能开销) +#profile=Anime4K # 动画(Anime4K 修复 + 去伪影) +#profile=SSIM # 低性能消耗 + +# ========================================= +# Profile 定义:常规 +# ========================================= + +[ICC] + # 使用系统 ICC 配置文件进行色彩管理 + icc-profile="" + icc-profile-auto + icc-intent=0 + icc-force-contrast=1000 + icc-3dlut-size=auto + icc-cache-dir="~~/cache/icc_cache" + +[ICC+] + # 使用自定义 ICC 文件(如 color.org 泛 ICC 或专业校色文件) + icc-profile="~~/icc/ITU-RBT709ReferenceDisplay.icc" + icc-intent=0 + icc-force-contrast=no + icc-3dlut-size=auto + icc-cache-dir="~~/cache/icc_cache" + +[Target] + # 不使用 ICC,直接指定目标色彩空间参数 + icc-profile="" + icc-profile-auto=no + target-prim=auto + target-contrast=auto + #target-trc=gamma2.2 # 非 OLED 显示器建议启用 + #target-peak=203 # SDR 显示器默认 203 nit + +[Dither] + dither-depth=auto + dither=fruit + dither-size-fruit=6 + +[Dither+] + dither-depth=auto + dither=error-diffusion + error-diffusion=floyd-steinberg + +[Tscale] + video-sync=display-resample + interpolation + tscale=oversample + +[Tscale+] + video-sync=display-resample + interpolation + tscale=sphinx + tscale-blur=0.65 + +[HQ] + scale=ewa_lanczossharp + cscale=bilinear + dscale=catmull_rom + scale-antiring=0.5 + dscale-antiring=0.5 + linear-upscaling=no + sigmoid-upscaling=yes + correct-downscaling=yes + linear-downscaling=no + deband=no + +[DeBand-low] + deband-iterations=1 + deband-threshold=48 + deband-range=16 + deband-grain=16 + +[DeBand-medium] + deband-iterations=2 + deband-threshold=64 + deband-range=16 + deband-grain=24 + +[DeBand-high] + deband-iterations=3 + deband-threshold=64 + deband-range=16 + deband-grain=24 + +[HDR2SDR] + tone-mapping=auto + gamut-mapping-mode=auto + hdr-contrast-recovery=0.30 + hdr-compute-peak=auto + hdr-peak-percentile=99.995 + hdr-peak-decay-rate=100 + hdr-scene-threshold-low=5.5 + hdr-scene-threshold-high=10 + allow-delayed-peak-detect=no + +[SDR2HDR] + # SDR 反向映射 HDR,仅 HDR 显示器有效 + icc-profile="" + icc-profile-auto=no + target-prim=auto + target-trc=auto + target-peak=auto + target-colorspace-hint=auto + inverse-tone-mapping=yes + +[SWscaler] + sws-allow-zimg=no + sws-scaler=bicublin + zimg-scaler-chroma=bicubic + zimg-scaler=bicubic + zimg-scaler-param-a=1/3 + zimg-scaler-param-b=1/3 + zimg-fast=no + +# --- 着色器 Profile --- + +[NNEDI3] + profile-desc=通用场景(NNEDI3-32 + 自适应锐化) + glsl-shaders-append="~~/shaders/nnedi3/nnedi3-nns32-win8x4.glsl" + glsl-shaders-append="~~/shaders/igv/adaptive-sharpen_luma.glsl" + +[NNEDI3+] + profile-desc=通用场景(NNEDI3-64 + 自适应锐化) + glsl-shaders-append="~~/shaders/nnedi3/nnedi3-nns64-win8x4.glsl" + glsl-shaders-append="~~/shaders/igv/adaptive-sharpen_luma.glsl" + +[ravu-zoom] + profile-desc=通用场景(ravu-zoom + 自适应锐化) + glsl-shaders-append="~~/shaders/ravu/ravu-zoom-ar-r3.glsl" + glsl-shaders-append="~~/shaders/igv/adaptive-sharpen_luma.glsl" + +[FSRCNNX] + profile-desc=HD 场景(FSRCNNX + 自适应锐化) + glsl-shaders-append="~~/shaders/igv/FSRCNNX_x2_8-0-4-1.glsl" + glsl-shaders-append="~~/shaders/igv/adaptive-sharpen_luma.glsl" + +[FSRCNNX+] + profile-desc=SD 场景(NNEDI3 + FSRCNNX 去伪影) + glsl-shaders-append="~~/shaders/nnedi3/nnedi3-nns32-win8x4.glsl" + glsl-shaders-append="~~/shaders/igv/FSRCNNX_x1_16-0-4-1_distort.glsl" + +[Ani4K] + profile-desc=动画(Ani4K V2,高性能开销) + glsl-shaders-append="~~/shaders/Ani4K/Ani4Kv2_ArtCNN_C4F32_i2.glsl" + +[AniSD] + profile-desc=SD 动画(AniSD,高性能开销) + glsl-shaders-append="~~/shaders/Ani4K/AniSD_ArtCNN_C4F32_i4.glsl" + +[Anime4K] + profile-desc=动画(Anime4K 修复 + 去伪影) + glsl-shaders-append="~~/shaders/igv/KrigBilateral.glsl" + glsl-shaders-append="~~/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_M.glsl" + glsl-shaders-append="~~/shaders/Anime4K/glsl/Restore/Anime4K_Clamp_Highlights.glsl" + +[SSIM] + profile-desc=低性能消耗(SSIM 超分 + 缩小) + glsl-shaders-append="~~/shaders/igv/SSimSuperRes.glsl" + glsl-shaders-append="~~/shaders/igv/SSimDownscaler.glsl" + +# ========================================= +# Profile 定义:条件触发 +# ========================================= + +[SD] + # 低清源(≤720p)自动启用 FSRCNNX+ 增强 + profile-cond=height <= 720 or width <= 720 + profile-restore=copy + profile=FSRCNNX+ + +[Deband] + # YUV420P10 以下自动开启去色带 + profile-cond=get("video-params/average-bpp") < 24 + profile-restore=copy + deband=yes + +[hdr-2390] + profile-cond=p.tone_mapping == "bt.2390" and p.current_vo == "gpu-next" + profile-restore=copy + tone-mapping-param=2.0 + +[peak-percentile] + profile-cond=get("video-params/avg-pq-y") < 0.21 and p.current_vo == "gpu-next" + profile-restore=copy + hdr-peak-percentile=99.8 + +[SDR-gamut] + # SDR 非 BT.709 内容的色域映射 + profile-cond=get("video-params/primaries") ~= "bt.709" and get("video-params/gamma") == "bt.1886" + profile-restore=copy + gamut-mapping-mode=clip + +[SDR-target] + # SDR 显示目标配置 + profile-cond=not get("video-params/max-luma") and not get("inverse-tone-mapping") and p.current_vo == "gpu-next" + profile-restore=copy + target-colorspace-hint=no + +[HDR] + # HDR 内容自动配置 + profile-cond=get("video-params/max-luma") > 203 + profile-restore=copy + target-peak=auto + target-colorspace-hint=auto + blend-subtitles=no + deband=no + vf="" + +[HDR-PASS] + # HDR 直通(仅 HDR 显示模式下生效) + profile-cond=get("video-params/max-luma") > 203 and get("video-target-params/max-luma") > 203 and p.current_vo == "gpu-next" + profile-restore=copy + icc-profile="" + icc-profile-auto=no + target-colorspace-hint=auto + inverse-tone-mapping=no + target-prim=auto + target-trc=auto + target-peak=auto + target-contrast=auto + +[video-sync] + # 音频调速超过阈值时切换同步模式,避免明显音高变化 + profile-cond=(speed * audio_speed_correction) > 0 and ((speed * audio_speed_correction) < 0.96 or (speed * audio_speed_correction) > 1.04) and not (get("estimated-vf-fps") > 240 or get("display-fps") > 240) + profile-restore=copy-equal + video-sync=display-tempo + +[fps-fix] + # 极高帧率/刷新率时使用 audio 同步避免异常 + profile-cond=get("estimated-vf-fps") > 240 or get("display-fps") > 240 + profile-restore=copy + video-sync=audio + +[pgs-fix] + # 修复宽屏视频 PGS 字幕比例错位 + profile-cond=get("video-params/aspect") > 16 / 9 + profile-restore=copy + stretch-image-subs-to-screen=yes + +[audio-filter] + # 多声道音频自动启用动态范围调节(适用于双声道设备) + profile-cond=get("audio-params/channel-count") > 2 + profile-restore=copy-equal + af-pre=@dynaudnorm:lavfi=[dynaudnorm=f=500:g=31:p=0.5:m=5:r=0.9] + +[pause] + # 暂停时取消置顶 + profile-cond=pause + profile-restore=copy + ontop=no + +[maximized] + # 最大化时禁止窗口自动调整大小 + profile-cond=window_maximized and vid and not get("current-tracks/video/albumart") + profile-restore=copy-equal + auto-window-resize=no + +[minimized] + # 最小化时自动暂停 + profile-cond=window_minimized and vid and not get("current-tracks/video/albumart") + profile-restore=copy-equal + pause + +[end] + # 播放列表结束后退出全屏 + profile-cond=idle_active + no-fullscreen + no-window-maximized + +[media-title] + # 网络/磁力链接显示媒体标题 + profile-cond=path:find('://') ~= nil or path:find('^magnet:') ~= nil + profile-restore=copy + title=${?pause==yes:⏸}${?mute==yes:🔇}${?ontop==yes:📌}${media-title} + osd-playlist-entry=title + +# ========================================= +# Profile 定义:网络优化 +# ========================================= + +[network-optimize] + # 网络播放时自动启用 + profile-cond=demuxer_via_network + profile-restore=copy + cache=yes + cache-secs=600 + demuxer-max-bytes=1GiB + demuxer-readahead-secs=120 + network-timeout=60 + stream-buffer-size=2MiB + prefetch-playlist=yes + stream-lavf-o-append=reconnect=1 + stream-lavf-o-append=reconnect_at_eof=1 + stream-lavf-o-append=reconnect_streamed=1 + stream-lavf-o-append=multiple_requests=1 diff --git a/profiles.conf b/profiles.conf new file mode 100644 index 0000000..40a622d --- /dev/null +++ b/profiles.conf @@ -0,0 +1,105 @@ +# 场景预设,手动激活:profile=game 等 + +[game] +profile-desc=低延迟,高性能 +hwdec=auto-safe +video-sync=display-resample +interpolation=no +deband=no +video-latency-hacks=yes +opengl-pbo=yes +gpu-api=vulkan +gpu-context=wayland +cache=no +demuxer-max-bytes=8MiB +demuxer-max-back-bytes=4MiB + +[movie] +profile-desc=高质量画质 +hwdec=auto-copy-safe +video-sync=display-resample +interpolation=yes +deband=yes +deband-iterations=4 +deband-threshold=35 +deband-range=16 +deband-grain=4 +icc-profile-auto=yes +target-colorspace-hint=yes +hdr-compute-peak=yes +tone-mapping=hable +target-peak=100 + +[anime] +profile-desc=动画优化 +hwdec=auto-safe +video-sync=display-resample +interpolation=yes +deband=yes +deband-iterations=3 +deband-threshold=48 +deband-range=16 +deband-grain=6 +icc-profile-auto=yes +glsl-shaders="~~/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_M.glsl;~~/shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_DoG.glsl" + +[lowpower] +profile-desc=省电模式 +hwdec=no +video-sync=audio +interpolation=no +deband=no +icc-profile-auto=no +vd-lavc-threads=2 +vd-lavc-skiploopfilter=all +vd-lavc-fast=yes +scale=bilinear +dscale=bilinear +cscale=bilinear + +[stream] +profile-desc=网络流媒体优化 +hwdec=auto-safe +video-sync=display-resample +cache=yes +cache-secs=300 +demuxer-max-bytes=64MiB +demuxer-max-back-bytes=32MiB +network-timeout=60 +ytdl=yes +ytdl-format=bestvideo[height<=?1080][vcodec!=?vp9]+bestaudio/best + +[HDR-scene] +profile-desc=HDR 手动预设 +hwdec=auto-copy-safe +target-colorspace-hint=yes +hdr-compute-peak=yes +tone-mapping=hable +target-peak=203 +gamut-mapping-mode=relative +icc-profile-auto=yes +glsl-shaders="~~/shaders/other/PixelClipper.glsl" + +[screenshot-hq] +profile-desc=高质量截图 +screenshot-format=png +screenshot-png-compression=9 +screenshot-png-filter=5 +screenshot-tag-colorspace=yes +screenshot-high-bit-depth=yes +screenshot-sw=no +scale=lanczos +dscale=mitchell +cscale=mitchell + +[live] +profile-desc=直播低延迟 +hwdec=auto-safe +video-sync=display-resample +cache=no +demuxer-max-bytes=2MiB +demuxer-max-back-bytes=1MiB +video-latency-hacks=yes +opengl-pbo=yes +network-timeout=30 +stream-lavf-o=reconnect_streamed=1,reconnect_delay_max=30 diff --git a/script-modules/extended-menu.lua b/script-modules/extended-menu.lua new file mode 100644 index 0000000..1b8f925 --- /dev/null +++ b/script-modules/extended-menu.lua @@ -0,0 +1,932 @@ +-- https://github.com/Seme4eg/mpv-scripts/blob/master/script-modules/extended-menu.lua + +local mp = require 'mp' +local utils = require 'mp.utils' +local assdraw = require 'mp.assdraw' + +-- create namespace with default values +local em = { + + -- customisable values ------------------------------------------------------ + + loop_when_navigating = false, -- Loop when navigating through list + lines_to_show = 17, -- NOT including search line + pause_on_open = true, + resume_on_exit = "only-if-was-paused", -- another possible value is true + + -- styles (earlyer it was a table, but required many more steps to pass def-s + -- here from .conf file) + font_size = 21, + --font size scales by window + scale_by_window = false, + -- cursor 'width', useful to change if you have hidpi monitor + cursor_x_border = 0.3, + line_bottom_margin = 1, -- basically space between lines + text_color = { + default = 'ffffff', + accent = 'd8a07b', + current = 'aaaaaa', + comment = '636363', + }, + menu_x_padding = 5, -- this padding for now applies only to 'left', not x + menu_y_padding = 2, -- but this one applies to both - top & bottom + + + -- values that should be passed from main script ---------------------------- + + search_heading = 'Default search heading', + -- 'full' is required from main script, 'current_i' is optional + -- others are 'private' + list = { + full = {}, filtered = {}, current_i = nil, pointer_i = 1, show_from_to = {} + }, + -- field to compare with when searching for 'current value' by 'current_i' + index_field = 'index', + -- fields to use when searching for string match / any other custom searching + -- if value has 0 length, then search list item itself + filter_by_fields = {}, + + + -- 'private' values that are not supposed to be changed from the outside ---- + + is_active = false, + -- https://mpv.io/manual/master/#lua-scripting-mp-create-osd-overlay(format) + ass = mp.create_osd_overlay("ass-events"), + was_paused = false, -- flag that indicates that vid was paused by this script + + line = '', + -- if there was no cursor it wouldn't have been needed, but for now we need + -- variable below only to compare it with 'line' and see if we need to filter + prev_line = '', + cursor = 1, + history = {}, + history_pos = 1, + key_bindings = {}, + insert_mode = false, + + -- used only in 'update' func to get error text msgs + error_codes = { + no_match = 'Match required', + no_submit_provided = 'No submit function provided' + } +} + +-- PRIVATE METHODS ------------------------------------------------------------ + +local ime_active = mp.get_property_native("input-ime") + +-- declare constructor function +function em:new(o) + o = o or {} + setmetatable(o, self) + self.__index = self + + -- some options might be customised by user in .conf file and read as strings + -- in that case parse those + if type(o.filter_by_fields) == 'string' then + o.filter_by_fields = utils.parse_json(o.filter_by_fields) + end + + if type(o.text_color) == 'string' then + o.text_color = utils.parse_json(o.text_color) + end + + return o +end + +-- this func is just a getter of a current list depending on search line +function em:current() + return self.line == '' and self.list.full or self.list.filtered +end + +-- REVIEW: how to get rid of this wrapper and handle filter func sideeffects +-- in a more elegant way? +function em:filter_wrapper() + -- handles sideeffect that are needed to be run on filtering list + -- cuz the filter func may be redefined in main script and therefore needs + -- to be straight forward - only doing filtering and returning the table + + -- passing current query just in case, so ppl can use it in their custom funcs + self.list.filtered = self:filter(self.line) + + self.prev_line = self.line + self.list.pointer_i = 1 + self:set_from_to(true) +end + +function em:set_from_to(reset_flag) + -- additional variables just for shorter var name + local i = self.list.pointer_i + local to_show = self.lines_to_show + local total = #self:current() + + if reset_flag or to_show >= total then + self.list.show_from_to = { 1, math.min(to_show, total) } + return + end + + -- If menu is opened with something already selected we want this 'selected' + -- to be displayed close to the middle of the menu. That's why 'show_from_to' + -- is not initially set, so we can know - if show_from_to length is 0 - it is + -- first call of this func in cur. init + if #self.list.show_from_to == 0 then + -- set show_from_to so chosen item will be displayed close to middle + local half_list = math.ceil(to_show / 2) + if i < half_list then + self.list.show_from_to = { 1, to_show } + elseif total - i < half_list then + self.list.show_from_to = { total - to_show + 1, total } + else + self.list.show_from_to = { i - half_list + 1, i - half_list + to_show } + end + else + table.unpack = table.unpack or unpack -- 5.1 compatibility + local first, last = table.unpack(self.list.show_from_to) + + -- handle cursor moving towards start / end bondary + if first ~= 1 and i - first < 2 then + self.list.show_from_to = { first - 1, last - 1 } + end + if last ~= total and last - i < 2 then + self.list.show_from_to = { first + 1, last + 1 } + end + + -- handle index jumps from beginning to end and backwards + if i > last then + self.list.show_from_to = { i - to_show + 1, i } + end + if i < first then self.list.show_from_to = { 1, to_show } end + end +end + +function em:change_selected_index(num) + self.list.pointer_i = self.list.pointer_i + num + if self.loop_when_navigating then + if self.list.pointer_i < 1 then + self.list.pointer_i = #self:current() + elseif self.list.pointer_i > #self:current() then + self.list.pointer_i = 1 + end + else + if self.list.pointer_i < 1 then + self.list.pointer_i = 1 + elseif self.list.pointer_i > #self:current() then + self.list.pointer_i = #self:current() + end + end + self:set_from_to() + self:update() +end + +-- Render the REPL and console as an ASS OSD +function em:update(err_code) + -- ASS tags documentation here - https://aegi.vmoe.info/docs/3.0/ASS_Tags/ + + -- do not bother if function was called to close the menu.. + if not self.is_active then + em.ass:remove() + return + end + + local line_height = self.font_size + self.line_bottom_margin + local _, h, aspect = mp.get_osd_size() + local wh = self.scale_by_window and 720 or h + local ww = wh * aspect + + -- '+ 1' below is a search string + local menu_y_pos = + wh - (line_height * (self.lines_to_show + 1) + self.menu_y_padding * 2) + + -- didn't find better place to handle filtered list update + if self.line ~= self.prev_line then self:filter_wrapper() end + + local function get_background() + local a = self:ass_new_wrapper() + a:append('{\\1c&H1c1c1c\\1a&H19}') -- background color & opacity + a:pos(0, 0) + a:draw_start() + a:rect_cw(0, menu_y_pos, ww, wh) + a:draw_stop() + return a.text + end + + local function get_search_header() + local a = self:ass_new_wrapper() + + a:pos(self.menu_x_padding, menu_y_pos + self.menu_y_padding) + + local search_prefix = table.concat({ + self:get_font_color('accent'), + (#self:current() ~= 0 and self.list.pointer_i or '!'), + '/', #self:current(), '\\h\\h', self.search_heading, ':\\h' + }); + + a:append(search_prefix) + -- reset font color after search prefix + a:append(self:get_font_color 'default') + + -- Create the cursor glyph as an ASS drawing. ASS will draw the cursor + -- inline with the surrounding text, but it sets the advance to the width + -- of the drawing. So the cursor doesn't affect layout too much, make it as + -- thin as possible and make it appear to be 1px wide by giving it 0.5px + -- horizontal borders. + local cheight = self.font_size * 8 + -- TODO: maybe do it using draw_rect from ass? + local cglyph = '{\\r' .. -- styles reset + '\\1c&Hffffff&\\3c&Hffffff' .. -- font color and border color + '\\xbord' .. self.cursor_x_border .. '\\p4\\pbo24}' .. -- xborder, scale x8 and baseline offset + 'm 0 0 l 0 ' .. cheight .. -- drawing just a line + '{\\p0\\r}' -- finish drawing and reset styles + local before_cur = self:ass_escape(self.line:sub(1, self.cursor - 1)) + local after_cur = self:ass_escape(self.line:sub(self.cursor)) + + a:append(table.concat({ + before_cur, cglyph, self:reset_styles(), + self:get_font_color('default'), after_cur, + (err_code and '\\h' .. self.error_codes[err_code] or "") + })) + + return a.text + + -- NOTE: perhaps this commented code will some day help me in coding cursor + -- like in M-x emacs menu: + -- Redraw the cursor with the REPL text invisible. This will make the + -- cursor appear in front of the text. + -- ass:new_event() + -- ass:an(1) + -- ass:append(style .. '{\\alpha&HFF&}> ' .. before_cur) + -- ass:append(cglyph) + -- ass:append(style .. '{\\alpha&HFF&}' .. after_cur) + end + + local function get_list() + local a = assdraw.ass_new() + + local function apply_highlighting(y) + a:new_event() + a:append(self:reset_styles()) + a:append('{\\1c&Hffffff\\1a&HE6}') -- background color & opacity + a:pos(0, 0) + a:draw_start() + a:rect_cw(0, y, ww, y + self.font_size) + a:draw_stop() + end + + -- REVIEW: maybe make another function 'get_line_str' and move there + -- everything from this for loop? + -- REVIEW: how to use something like table.unpack below? + for i = self.list.show_from_to[1], self.list.show_from_to[2] do + local value = assert(self:current()[i], 'no value with index ' .. i) + local y_offset = menu_y_pos + self.menu_y_padding + + (line_height * (i - self.list.show_from_to[1] + 1)) + + if i == self.list.pointer_i then apply_highlighting(y_offset) end + + a:new_event() + a:append(self:reset_styles()) + a:pos(self.menu_x_padding, y_offset) + a:append(self:get_line(i, value)) + end + + return a.text + end + + em.ass.res_x = ww + em.ass.res_y = wh + em.ass.data = table.concat({ + get_background(), + get_search_header(), + get_list() + }, "\n") + + em.ass:update() +end + +-- params: +-- - data : {list: {}, [current_i] : num} +function em:init(data) + self.list.full = data.list or {} + self.list.current_i = data.current_i or nil + self.list.pointer_i = data.current_i or 1 + self:set_active(true) +end + +function em:exit() + self:undefine_key_bindings() + collectgarbage() +end + +-- TODO: write some idle func like this +-- function idle() +-- if pending_selection then +-- gallery:set_selection(pending_selection) +-- pending_selection = nil +-- end +-- if ass_changed or geometry_changed then +-- local ww, wh = mp.get_osd_size() +-- if geometry_changed then +-- geometry_changed = false +-- compute_geometry(ww, wh) +-- end +-- if ass_changed then +-- ass_changed = false +-- mp.set_osd_ass(ww, wh, ass) +-- end +-- end +-- end +-- ... +-- and handle it as follows +-- init(): +-- mp.register_idle(idle) +-- idle() +-- exit(): +-- mp.unregister_idle(idle) +-- idle() +-- And in these observers he is setting a flag, that's being checked in func above +-- mp.observe_property("osd-width", "native", mark_geometry_stale) +-- mp.observe_property("osd-height", "native", mark_geometry_stale) + +-- PRIVATE METHODS END -------------------------------------------------------- + +-- PUBLIC METHODS ------------------------------------------------------------- + +function em:filter() + -- default filter func, might be redefined in main script + local result = {} + + local function get_full_search_str(v) + local str = '' + for _, key in ipairs(self.filter_by_fields) do str = str .. (v[key] or '') end + return str + end + + for _, v in ipairs(self.list.full) do + -- if filter_by_fields has 0 length, then search list item itself + if #self.filter_by_fields == 0 then + if self:search_method(v) then table.insert(result, v) end + else + -- NOTE: we might use search_method on fiels separately like this: + -- for _,key in ipairs(self.filter_by_fields) do + -- if self:search_method(v[key]) then table.insert(result, v) end + -- end + -- But since im planning to implement fuzzy search in future i need full + -- search string here + if self:search_method(get_full_search_str(v)) then + table.insert(result, v) + end + end + end + return result +end + +-- TODO: implement fuzzy search and maybe match highlights +function em:search_method(str) + -- also might be redefined by main script + + -- convert to string just to make sure.. + return tostring(str):lower():find(self.line:lower(), 1, true) +end + +-- this module requires submit function to be defined in main script +function em:submit() self:update('no_submit_provided') end + +function em:update_list(list) + -- for now this func doesn't handle cases when we have 'current_i' to update + -- it + self.list.full = list + if self.line ~= self.prev_line then self:filter_wrapper() end +end + +-- PUBLIC METHODS END --------------------------------------------------------- + +-- HELPER METHODS ------------------------------------------------------------- + +function em:get_line(_, v) -- [i]ndex, [v]alue + -- this func might be redefined in main script to get a custom-formatted line + -- default implementation of this func supposes that value.content field is a + -- String + local a = assdraw.ass_new() + local style = (self.list.current_i == v[self.index_field]) + and 'current' or 'default' + + a:append(self:reset_styles()) + a:append(self:get_font_color(style)) + -- content as default field, which is holding string + -- no point in moving it to main object since content itself is being + -- composed in THIS function, that might (and most likely, should) be + -- redefined in main script + a:append(v.content or 'Something is off in `get_line` func') + return a.text +end + +-- REVIEW: for now i don't see normal way of mergin this func with below one +-- but it's being used only once +function em:reset_styles() + local a = assdraw.ass_new() + -- alignment top left, no word wrapping, border 0, shadow 0 + a:append('{\\an7\\q2\\bord0\\shad0}') + a:append('{\\fs' .. self.font_size .. '}') + return a.text +end + +-- function to get rid of some copypaste +function em:ass_new_wrapper() + local a = assdraw.ass_new() + a:new_event() + a:append(self:reset_styles()) + return a +end + +function em:get_font_color(style) + return '{\\1c&H' .. self.text_color[style] .. '}' +end + +-- HELPER METHODS END --------------------------------------------------------- + + +--[[ + The below code is a modified implementation of text input from mpv's console.lua: + https://github.com/mpv-player/mpv/blob/87c9eefb2928252497f6141e847b74ad1158bc61/player/lua/console.lua + + I was too lazy to list all modifications i've done to the script, but if u + rly need to see those - do diff with the original code +]] +-- + +------------------------------------------------------------------------------- +-- START ORIGINAL MPV CODE -- +------------------------------------------------------------------------------- + +-- Copyright (C) 2019 the mpv developers +-- +-- Permission to use, copy, modify, and/or distribute this software for any +-- purpose with or without fee is hereby granted, provided that the above +-- copyright notice and this permission notice appear in all copies. +-- +-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +-- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +-- SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +-- OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +-- CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +function em:detect_platform() + local o = {} + -- Kind of a dumb way of detecting the platform but whatever + if mp.get_property_native('options/vo-mmcss-profile', o) ~= o then + return 'windows' + elseif mp.get_property_native('options/macos-force-dedicated-gpu', o) ~= o then + return 'macos' + elseif os.getenv('WAYLAND_DISPLAY') then + return 'wayland' + end + return 'x11' +end + +-- Escape a string for verbatim display on the OSD +function em:ass_escape(str) + -- There is no escape for '\' in ASS (I think?) but '\' is used verbatim if + -- it isn't followed by a recognised character, so add a zero-width + -- non-breaking space + str = str:gsub('\\', '\\\239\187\191') + str = str:gsub('{', '\\{') + str = str:gsub('}', '\\}') + -- Precede newlines with a ZWNBSP to prevent ASS's weird collapsing of + -- consecutive newlines + str = str:gsub('\n', '\239\187\191\\N') + -- Turn leading spaces into hard spaces to prevent ASS from stripping them + str = str:gsub('\\N ', '\\N\\h') + str = str:gsub('^ ', '\\h') + return str +end + +-- Set the REPL visibility ("enable", Esc) +function em:set_active(active) + if active == self.is_active then return end + if active then + if ime_active == false then + mp.set_property_bool("input-ime", true) + end + self.is_active = true + self.insert_mode = false + mp.enable_messages('terminal-default') + self:define_key_bindings() + + -- set flag 'was_paused' only if vid wasn't paused before EM init + if self.pause_on_open and not mp.get_property_bool("pause", false) then + mp.set_property_bool("pause", true) + self.was_paused = true + end + + self:set_from_to() + self:update() + else + -- no need to call 'update' in this block cuz 'clear' method is calling it + if ime_active == false then + mp.set_property_bool("input-ime", false) + end + self.is_active = false + self:undefine_key_bindings() + + if self.resume_on_exit == true or + (self.resume_on_exit == "only-if-was-paused" and self.was_paused) then + mp.set_property_bool("pause", false) + end + + self:clear() + collectgarbage() + end +end + +-- Naive helper function to find the next UTF-8 character in 'str' after 'pos' +-- by skipping continuation bytes. Assumes 'str' contains valid UTF-8. +function em:next_utf8(str, pos) + if pos > str:len() then return pos end + repeat + pos = pos + 1 + until pos > str:len() or str:byte(pos) < 0x80 or str:byte(pos) > 0xbf + return pos +end + +-- As above, but finds the previous UTF-8 charcter in 'str' before 'pos' +function em:prev_utf8(str, pos) + if pos <= 1 then return pos end + repeat + pos = pos - 1 + until pos <= 1 or str:byte(pos) < 0x80 or str:byte(pos) > 0xbf + return pos +end + +-- Insert a character at the current cursor position (any_unicode) +function em:handle_char_input(c) + if self.insert_mode then + self.line = self.line:sub(1, self.cursor - 1) .. c .. self.line:sub(self:next_utf8(self.line, self.cursor)) + else + self.line = self.line:sub(1, self.cursor - 1) .. c .. self.line:sub(self.cursor) + end + self.cursor = self.cursor + #c + self:update() +end + +-- Remove the character behind the cursor (Backspace) +function em:handle_backspace() + if self.cursor <= 1 then return end + local prev = self:prev_utf8(self.line, self.cursor) + self.line = self.line:sub(1, prev - 1) .. self.line:sub(self.cursor) + self.cursor = prev + self:update() +end + +-- Remove the character in front of the cursor (Del) +function em:handle_del() + if self.cursor > self.line:len() then return end + self.line = self.line:sub(1, self.cursor - 1) .. self.line:sub(self:next_utf8(self.line, self.cursor)) + self:update() +end + +-- Toggle insert mode (Ins) +function em:handle_ins() + self.insert_mode = not self.insert_mode +end + +-- Move the cursor to the next character (Right) +function em:next_char() + self.cursor = self:next_utf8(self.line, self.cursor) + self:update() +end + +-- Move the cursor to the previous character (Left) +function em:prev_char() + self.cursor = self:prev_utf8(self.line, self.cursor) + self:update() +end + +-- Clear the current line (Ctrl+C) +function em:clear() + self.line = '' + self.prev_line = '' + + self.list.current_i = nil + self.list.pointer_i = 1 + self.list.filtered = {} + self.list.show_from_to = {} + + self.was_paused = false + + self.cursor = 1 + self.insert_mode = false + self.history_pos = #self.history + 1 + + self:update() +end + +-- Run the current command and clear the line (Enter) +function em:handle_enter() + if #self:current() == 0 then + self:update('no_match') + return + end + + if self.history[#self.history] ~= self.line then + self.history[#self.history + 1] = self.line + end + + self:submit(self:current()[self.list.pointer_i]) + self:set_active(false) +end + +-- Go to the specified position in the command history +function em:go_history(new_pos) + local old_pos = self.history_pos + self.history_pos = new_pos + + -- Restrict the position to a legal value + if self.history_pos > #self.history + 1 then + self.history_pos = #self.history + 1 + elseif self.history_pos < 1 then + self.history_pos = 1 + end + + -- Do nothing if the history position didn't actually change + if self.history_pos == old_pos then + return + end + + -- If the user was editing a non-history line, save it as the last history + -- entry. This makes it much less frustrating to accidentally hit Up/Down + -- while editing a line. + if old_pos == #self.history + 1 and self.line ~= '' and self.history[#self.history] ~= self.line then + self.history[#self.history + 1] = self.line + end + + -- Now show the history line (or a blank line for #history + 1) + if self.history_pos <= #self.history then + self.line = self.history[self.history_pos] + else + self.line = '' + end + self.cursor = self.line:len() + 1 + self.insert_mode = false + self:update() +end + +-- Go to the specified relative position in the command history (Up, Down) +function em:move_history(amount) + self:go_history(self.history_pos + amount) +end + +-- Go to the first command in the command history (PgUp) +function em:handle_pgup() + -- Determine the number of items to move up (half a page) + local half_page = math.ceil(self.lines_to_show / 2) + + -- Move the history position up by half a page + self:change_selected_index(-half_page) +end + +-- Stop browsing history and start editing a blank line (PgDown) +function em:handle_pgdown() + -- Determine the number of items to move down (half a page) + local half_page = math.ceil(self.lines_to_show / 2) + + -- Move the history position down by half a page + self:change_selected_index(half_page) +end + +-- Move to the start of the current word, or if already at the start, the start +-- of the previous word. (Ctrl+Left) +function em:prev_word() + -- This is basically the same as next_word() but backwards, so reverse the + -- string in order to do a "backwards" find. This wouldn't be as annoying + -- to do if Lua didn't insist on 1-based indexing. + self.cursor = self.line:len() - select(2, self.line:reverse():find('%s*[^%s]*', self.line:len() - self.cursor + 2)) + 1 + self:update() +end + +-- Move to the end of the current word, or if already at the end, the end of +-- the next word. (Ctrl+Right) +function em:next_word() + self.cursor = select(2, self.line:find('%s*[^%s]*', self.cursor)) + 1 + self:update() +end + +-- Move the cursor to the beginning of the line (HOME) +function em:go_home() + self.cursor = 1 + self:update() +end + +-- Move the cursor to the end of the line (END) +function em:go_end() + self.cursor = self.line:len() + 1 + self:update() +end + +-- Delete from the cursor to the beginning of the word (Ctrl+Backspace) +function em:del_word() + local before_cur = self.line:sub(1, self.cursor - 1) + local after_cur = self.line:sub(self.cursor) + + before_cur = before_cur:gsub('[^%s]+%s*$', '', 1) + self.line = before_cur .. after_cur + self.cursor = before_cur:len() + 1 + self:update() +end + +-- Delete from the cursor to the end of the word (Ctrl+Del) +function em:del_next_word() + if self.cursor > self.line:len() then return end + + local before_cur = self.line:sub(1, self.cursor - 1) + local after_cur = self.line:sub(self.cursor) + + after_cur = after_cur:gsub('^%s*[^%s]+', '', 1) + self.line = before_cur .. after_cur + self:update() +end + +-- Delete from the cursor to the end of the line (Ctrl+K) +function em:del_to_eol() + self.line = self.line:sub(1, self.cursor - 1) + self:update() +end + +-- Delete from the cursor back to the start of the line (Ctrl+U) +function em:del_to_start() + self.line = self.line:sub(self.cursor) + self.cursor = 1 + self:update() +end + +-- Returns a string of UTF-8 text from the clipboard (or the primary selection) +function em:get_clipboard(clip) + -- Pick a better default font for Windows and macOS + local platform = self:detect_platform() + + if platform == 'x11' then + local res = utils.subprocess({ + args = { 'xclip', '-selection', clip and 'clipboard' or 'primary', '-out' }, + playback_only = false, + }) + if not res.error then + return res.stdout + end + elseif platform == 'wayland' then + local res = utils.subprocess({ + args = { 'wl-paste', clip and '-n' or '-np' }, + playback_only = false, + }) + if not res.error then + return res.stdout + end + elseif platform == 'windows' then + local res = utils.subprocess({ + args = { 'powershell', '-NoProfile', '-Command', [[& { + Trap { + Write-Error -ErrorRecord $_ + Exit 1 + } + + $clip = "" + if (Get-Command "Get-Clipboard" -errorAction SilentlyContinue) { + $clip = Get-Clipboard -Raw -Format Text -TextFormatType UnicodeText + } else { + Add-Type -AssemblyName PresentationCore + $clip = [Windows.Clipboard]::GetText() + } + + $clip = $clip -Replace "`r","" + $u8clip = [System.Text.Encoding]::UTF8.GetBytes($clip) + [Console]::OpenStandardOutput().Write($u8clip, 0, $u8clip.Length) + }]] }, + playback_only = false, + }) + if not res.error then + return res.stdout + end + elseif platform == 'macos' then + local res = utils.subprocess({ + args = { 'pbpaste' }, + playback_only = false, + }) + if not res.error then + return res.stdout + end + end + return '' +end + +-- Paste text from the window-system's clipboard. 'clip' determines whether the +-- clipboard or the primary selection buffer is used (on X11 and Wayland only.) +function em:paste(clip) + local text = self:get_clipboard(clip) + local before_cur = self.line:sub(1, self.cursor - 1) + local after_cur = self.line:sub(self.cursor) + self.line = before_cur .. text .. after_cur + self.cursor = self.cursor + text:len() + self:update() +end + +-- List of input bindings. This is a weird mashup between common GUI text-input +-- bindings and readline bindings. +function em:get_bindings() + local bindings = { + { 'ctrl+[', function() self:set_active(false) end }, + { 'ctrl+g', function() self:set_active(false) end }, + { 'esc', function() self:set_active(false) end }, + { 'enter', function() self:handle_enter() end }, + { 'kp_enter', function() self:handle_enter() end }, + { 'ctrl+m', function() self:handle_enter() end }, + { 'bs', function() self:handle_backspace() end }, + { 'shift+bs', function() self:handle_backspace() end }, + { 'ctrl+h', function() self:handle_backspace() end }, + { 'del', function() self:handle_del() end }, + { 'shift+del', function() self:handle_del() end }, + { 'ins', function() self:handle_ins() end }, + { 'shift+ins', function() self:paste(false) end }, + { 'mbtn_mid', function() self:paste(false) end }, + { 'left', function() self:prev_char() end }, + { 'ctrl+b', function() self:prev_char() end }, + { 'right', function() self:next_char() end }, + { 'ctrl+f', function() self:next_char() end }, + { 'ctrl+k', function() self:change_selected_index(-1) end }, + { 'ctrl+p', function() self:change_selected_index(-1) end }, + { 'ctrl+j', function() self:change_selected_index(1) end }, + { 'ctrl+n', function() self:change_selected_index(1) end }, + { 'up', function() self:move_history(-1) end }, + { 'alt+p', function() self:move_history(-1) end }, + { 'wheel_up', function() self:move_history(-1) end }, + { 'down', function() self:move_history(1) end }, + { 'alt+n', function() self:move_history(1) end }, + { 'wheel_down', function() self:move_history(1) end }, + { 'wheel_left', function() end }, + { 'wheel_right', function() end }, + { 'ctrl+left', function() self:prev_word() end }, + { 'alt+b', function() self:prev_word() end }, + { 'ctrl+right', function() self:next_word() end }, + { 'alt+f', function() self:next_word() end }, + { 'ctrl+a', function() self:go_home() end }, + { 'home', function() self:go_home() end }, + { 'ctrl+e', function() self:go_end() end }, + { 'end', function() self:go_end() end }, + { 'ctrl+shift+f', function() self:handle_pgdown() end }, + { 'ctrl+shift+b', function() self:handle_pgup() end }, + { 'pgdwn', function() self:handle_pgdown() end }, + { 'pgup', function() self:handle_pgup() end }, + { 'ctrl+c', function() self:clear() end }, + { 'ctrl+d', function() self:handle_del() end }, + { 'ctrl+u', function() self:del_to_start() end }, + { 'ctrl+v', function() self:paste(true) end }, + { 'meta+v', function() self:paste(true) end }, + { 'ctrl+bs', function() self:del_word() end }, + { 'ctrl+w', function() self:del_word() end }, + { 'ctrl+del', function() self:del_next_word() end }, + { 'alt+d', function() self:del_next_word() end }, + { 'kp_dec', function() self:handle_char_input('.') end }, + } + + for i = 0, 9 do + bindings[#bindings + 1] = + { 'kp' .. i, function() self:handle_char_input('' .. i) end } + end + + return bindings +end + +function em:text_input(info) + if info.key_text and (info.event == "press" or info.event == "down" + or info.event == "repeat") + then + self:handle_char_input(info.key_text) + end +end + +function em:define_key_bindings() + if #self.key_bindings > 0 then + return + end + for _, bind in ipairs(self:get_bindings()) do + -- Generate arbitrary name for removing the bindings later. + local name = "search_" .. (#self.key_bindings + 1) + self.key_bindings[#self.key_bindings + 1] = name + mp.add_forced_key_binding(bind[1], name, bind[2], { repeatable = true }) + end + mp.add_forced_key_binding("any_unicode", "search_input", function(...) + self:text_input(...) + end, { repeatable = true, complex = true }) + self.key_bindings[#self.key_bindings + 1] = "search_input" +end + +function em:undefine_key_bindings() + for _, name in ipairs(self.key_bindings) do + mp.remove_key_binding(name) + end + self.key_bindings = {} +end + +------------------------------------------------------------------------------- +-- END ORIGINAL MPV CODE -- +------------------------------------------------------------------------------- + +return em diff --git a/script-opts/README.md b/script-opts/README.md new file mode 100644 index 0000000..eb0be2c --- /dev/null +++ b/script-opts/README.md @@ -0,0 +1,19 @@ +### 该文件夹下存放mpv脚本的对应设置文件 + +通常脚本设置文件名与所属脚本文件同名,注意脚本文件名中的`-`默认需转译成`_`。实际以脚本开发者设定为准。 + +脚本设置文件切勿美化格式(例如加入无意义的空格);切勿在参数后注释(应单独另起一行写注释)。 + +脚本及其设置文件可能不支持windows的CRLF换行(尝试更改为LF)。 + +以上所述情况在自行修改的过程中都可能导致脚本设置文件(部分)失效。 + +以下为mpv内置脚本所使用的设置文件: + +``` +console.conf +osc.conf +stats.conf +ytdl_hook.conf +``` + diff --git a/script-opts/auto_save_state.conf b/script-opts/auto_save_state.conf new file mode 100644 index 0000000..ad69b83 --- /dev/null +++ b/script-opts/auto_save_state.conf @@ -0,0 +1,4 @@ +# 设置自动保存文件播放进度及状态的时间间隔,单位为秒。默认值:60 秒 +save_interval=60 +# 设置文件播放进度的百分比,满足时自动删除文件播放进度及状态。默认值:99 +percent_pos=99 \ No newline at end of file diff --git a/script-opts/autoload.conf b/script-opts/autoload.conf new file mode 100644 index 0000000..427d34d --- /dev/null +++ b/script-opts/autoload.conf @@ -0,0 +1,34 @@ +###不支持参数后注释,须另起一行 + +##禁用所有自动加载相关功能,默认:no +#disabled=yes + +##是否自动加载当前目录(不含子目录)所有图片到播放列表,默认:yes +#images=no + +##是否自动加载当前目录(不含子目录)所有视频到播放列表,默认:yes +#videos=no + +##是否自动加载当前目录(不含子目录)所有音频到播放列表,默认:yes +#audio=no + +##指定额外需要用于加载的图片、视频和音频扩展白名单 +additional_image_exts=jfif +additional_video_exts=asf,f4v,rm,ts,vob +additional_audio_exts=dsf,spx + +## 打开文件时,选择递归、懒惰或忽略全部子目录 +directory_mode=ignore + +##是否掠过隐藏文件,默认:yes +#ignore_hidden=no + +##指定需要略过的文件名模式,多个模式之间用逗号分隔。默认值为空 +##支持 lua 模式写法,可使用 % 转义 , +#ignore_patterns=^~,^bak-,%.bak$ + +#是否只自动载入相同类型的文件(视频、音频、图片),默认:no +same_type=yes + +#是否只自动载入相似系列的文件,默认:no +#same_series=yes \ No newline at end of file diff --git a/script-opts/autosubsync.conf b/script-opts/autosubsync.conf new file mode 100644 index 0000000..d1f3f29 --- /dev/null +++ b/script-opts/autosubsync.conf @@ -0,0 +1,28 @@ +# 手动指定可执行文件的绝对路径,如果以下程序不存在于环境变量中 + +# 1. ffmpeg +#ffmpeg_path=C:/Program Files/ffmpeg/bin/ffmpeg.exe +ffmpeg_path=ffmpeg + +# 2. ffsubsync +#ffsubsync_path=C:/Program Files/ffsubsync/ffsubsync.exe +#ffsubsync_path=/home/user/.local/bin/ffsubsync + +# 3. alass +#alass_path=C:/Program Files/ffmpeg/bin/alass.exe +#alass_path=/usr/bin/alass +##⇘⇘以下路径设置为在 mpv 程序所在的根目录下查找指定程序 +alass_path=alass + +# 首选的字幕同步工具。允许选项:'ffsubsync','alass','ask'. +# 如果设置为“ask”,脚本每次都会要求选择工具: + +# 1. 用于与音频同步的首选工具。('ffsubsync','alass','ask') +audio_subsync_tool=alass + +# 2. 用于与字幕同步的首选工具。('ffsubsync','alass','ask') +altsub_subsync_tool=alass + +# 禁用原字幕 (yes,no) +# 尝试字幕同步操作完成后,告诉 mpv 忽略原来的字幕轨道 +unload_old_sub=no \ No newline at end of file diff --git a/script-opts/blacklist_extensions.conf b/script-opts/blacklist_extensions.conf new file mode 100644 index 0000000..69afb59 --- /dev/null +++ b/script-opts/blacklist_extensions.conf @@ -0,0 +1,12 @@ +# 黑名单或白名单只需设置其中一种 + +# 白名单,只允许视频格式 +#whitelist=3gp,amr,amv,asf,avi,avi,bdmv,f4v,flv,ifo,iso,m2ts,m4v,mkv,mov,mp4,mpeg,mpg,ogv,rm,rmvb,ts,vob,webm,wmv + +# 或者,视频附近常见的黑名单格式 +blacklist=mpls,mks,mka,weba,aqt,ass,gsub,idx,jss,lrc,mks,pgs,pjs,psb,rt,slt,smi,sub,sup,sbv,srt,ssa,ssf,ttxt,txt,usf,vt,vtt + +remove_files_without_extension=yes + +# 脚本仅在播放开始时生效,禁用则在播放列表更改时也会生效 +oneshot=no diff --git a/script-opts/chapter_make_read.conf b/script-opts/chapter_make_read.conf new file mode 100644 index 0000000..4990653 --- /dev/null +++ b/script-opts/chapter_make_read.conf @@ -0,0 +1,29 @@ +#是否启用自动读取并加载外部章节文件。默认:yes +autoload=yes +#是否启用自动导出章节文件 (当章节信息更改后)。默认:no +autosave=no +#是否使用外部章节信息覆盖视频内部章节信息。默认:no +force_overwrite=no +#指定外部章节文件的标识及扩展名 +chapter_file_ext=.chp +#选择外部章节文件是否需要匹配源文件的扩展名。默认:yes +basename_with_ext=yes +#从视频文件同目录下的指定子目录读取外部章节文件 +#注意:脚本优先从指定的子目录读取外部章节文件 +#当子目录的文件不存在时会继续尝试在视频文件同目录中读取外部章节文件 +external_chapter_subpath=chapters +#是否将章节文件统一存储在配置的全局目录中,网络文件将始终使用全局目录。默认:no +global_chapters=no +#指定章节文件的全局目录的路径。可以是 mpv 支持的相对路径或绝对路径 +global_chapters_dir=~~/files/chapters +#是否在全局目录中使用哈希值保存章节文件名。默认:no +##如果设置为'no',章节文件将以相应的媒体文件命名,可能会导致冲突 +##使用哈希可防止同名但位于不同目录中的媒体文件获取相同的章节文件 +##但如果您将文件移动到不同的目录,哈希值将更改导致无法加载章节文件 +hash=no +#设置创建新章节时是否默认打开重命名输入功能。默认:yes +ask_for_title=yes +#设置询问新章节标题时的占位符名称 +placeholder_title=Chapter +#设置询问章节标题时是否暂停播放。默认:yes +pause_on_input=yes \ No newline at end of file diff --git a/script-opts/chapterskip.conf b/script-opts/chapterskip.conf new file mode 100644 index 0000000..29b9a23 --- /dev/null +++ b/script-opts/chapterskip.conf @@ -0,0 +1,8 @@ +# 是否启用自动跳过。默认:no +enabled=no +# 每个章节名仅跳过一次。默认:yes +skip_once=yes +# 章节名匹配规则(Lua 正则) +categories=opening>^OP/ OP$/^[Oo]pening/[Oo]pening$/^Intro%s*Start/オープニング$/^片头$/片头开始$; ending>^ED/ ED$/^[Ee]nding/[Ee]nding$/エンディング$; credits>^[Cc]redits/[Cc]redits$; prologue>^[Pp]rologue/^[Ii]ntro$; preview>[Pp]review$/^[Pp]review/予告$/預告$; PartAB>Part [AB]/Ending 1; PartC>Part C +# 需要跳过的章节类别 +skip=opening;ending;credits;prologue;preview diff --git a/script-opts/command_palette.conf b/script-opts/command_palette.conf new file mode 100644 index 0000000..8a50dff --- /dev/null +++ b/script-opts/command_palette.conf @@ -0,0 +1,8 @@ +#指定命令面板的字体大小,默认值:16 +font_size=26 +#指定字体大小是否随窗口大小缩放,默认值:no +scale_by_window=yes +#指定命令面板的菜单项的显示数量,默认值:12 +lines_to_show=12 +#指定是否在打开命令面板时暂停播放,默认值:no +pause_on_open=yes \ No newline at end of file diff --git a/script-opts/commands.conf b/script-opts/commands.conf new file mode 100644 index 0000000..17d5de7 --- /dev/null +++ b/script-opts/commands.conf @@ -0,0 +1,6 @@ +###此配置不支持参数后注释,须另起一行 + +# 是否将命令历史记录保存到文件并加载它。默认:no +persist_history=yes +# 命令历史记录文件的路径。默认:~~state/command_history.txt +history_path=~~/files/command_history.txt \ No newline at end of file diff --git a/script-opts/console.conf b/script-opts/console.conf new file mode 100644 index 0000000..bcc22ba --- /dev/null +++ b/script-opts/console.conf @@ -0,0 +1,37 @@ +###此配置不支持参数后注释,须另起一行 + +# 指定控制台显示补全时使用的等宽字体。其他情况使用 --osd-font +#monospace_font=Noto Sans Mono CJK SC +# 字体大小默认 24。最终大小将与缩放率相乘 +#font_size=24 +# 设置用于 REPL 和控制台的字体边框大小。默认值:1.32 +border_size=1.3 +# 菜单背景的透明度。范围从 0(不透明)到 255(完全透明)。默认值:80 +background_alpha=50 +# 菜单的内边距。默认值:10 +#padding=10 +# 菜单边框的大小。默认值:0 +#menu_outline_size=0 +# 菜单边框的颜色。默认值:#FFFFFF +#menu_outline_color=#FFFFFF +# 菜单的圆角半径。默认值:8 +#orner_radius=8 +# 菜单所选项的颜色。默认值:#222222 +#selected_color=#222222 +# 菜单所选项的背景颜色。默认值:#FFFFFF +#selected_back_color=#FFFFFF +# 与搜索字符串匹配的字符的颜色。默认值:#0088FF +#match_color=#0088FF +# 是否使用窗口高度缩放控制台。可以是 yes、no 或 auto,取决于--osd-scale-by-window 选项。默认值:auto +#scale_with_window=auto +# 查询时是否使用精确搜索而非模糊搜索,默认值:no +# 在查询前加上 ' 字符可强制启用精确匹配 +#exact_match=no +# 设置 Tab 自动补全是否区分大小写。仅适用于 ASCII 字符 +## 默认值:在 Windows 上为 no,在其他平台上为 yes +#case_sensitive=no +# 删除历史记录中的重复条目,以便仅保留最新的条目。默认:yes +history_dedup=yes +# 设置字体高度与字体宽度的比率,调整完成建议的表格宽度。默认值:auto +## 1.8-2.5 范围内的值对于常见的等宽字体有用 +#font_hw_ratio=auto diff --git a/script-opts/dyn_menu.conf b/script-opts/dyn_menu.conf new file mode 100644 index 0000000..e1270a4 --- /dev/null +++ b/script-opts/dyn_menu.conf @@ -0,0 +1,14 @@ +##! 注意这个菜单脚本只支持 windows 系统 +## 指定是否使用 mpv 内部的上下文菜单实现。默认值为 yes +## 需使用包含上游提交 https://github.com/mpv-player/mpv/commit/3c1e983 的 mpv 版本 +use_mpv_impl=no +### 指定是否启用 uosc 的菜单语法支持。与默认支持的 mpv.net 菜单语法不兼容,但是可以使用 uosc 的菜单语法。默认值为 no +uosc_syntax=yes +## 指定是否启用菜单标题转义。默认值为 yes +escape_title=yes +## 指定菜单标题的最大长度。默认值为 80。如果标题长度超过这个值,将会被截断 +## 设为 0 表示不限制标题长度 +max_title_length=80 +## 指定播放列表菜单项的最大数量。默认值为 20 +## 设为 0 表示禁用播放列表菜单 +max_playlist_items=20 diff --git a/script-opts/evafast.conf b/script-opts/evafast.conf new file mode 100644 index 0000000..ae9f96f --- /dev/null +++ b/script-opts/evafast.conf @@ -0,0 +1,35 @@ +# 脚本键位按下时要跳多远 +seek_distance=5 + +# 播放速度调整量,每 'speed_interval' 应用一次,直到达到上限 +speed_increase=0.1 +speed_decrease=0.1 + +# 以什么间隔应用速度调整量 +speed_interval=0.05 + +# 播放速度上限 +speed_cap=3 + +# 显示字幕时的播放速度上限,'no' 表示与 'speed_cap' 相同 +subs_speed_cap=1.5 + +# 调整前将当前速度乘以速度调整量(指数加速)。默认:no +# 使用比默认值低得多的值,例如 speed_increase=0.05, speed_decrease=0.025 +multiply_modifier=no + +# 在 OSD 上显示当前速度(如果使用 uosc,则闪烁显示速度)。默认:yes +show_speed=yes + +# 速度切换时在 OSD 上显示当前速度(如果使用 uosc,则闪烁显示速度)。默认:yes +show_speed_toggled=yes + +# 在 osd 上显示搜索操作(如果使用 uosc,则闪烁显示时间线)。默认:yes +show_seek=yes + +# 设置 'subs_speed_cap' 项时提前查看以实现更平滑的过渡。默认:no +subs_lookahead=no + +# 设置 osd 消息显示的符号,示例即默认值 +#osd_symbol={\fnmpv-osd-symbols} {\r} +#osd_rewind={\fnmpv-osd-symbols} {\r} \ No newline at end of file diff --git a/script-opts/file-browser-keybinds.json b/script-opts/file-browser-keybinds.json new file mode 100644 index 0000000..8a6f246 --- /dev/null +++ b/script-opts/file-browser-keybinds.json @@ -0,0 +1,193 @@ +[ + { + "key": "WHEEL_UP", + "command": ["script-binding", "file_browser/dynamic/scroll_up"] + }, + { + "key": "WHEEL_DOWN", + "command": ["script-binding", "file_browser/dynamic/scroll_down"] + }, + { + "key": "MBTN_LEFT", + "command": ["script-binding", "file_browser/dynamic/down_dir"] + }, + { + "key": "MBTN_RIGHT", + "command": ["script-binding", "file_browser/dynamic/up_dir"] + }, + { + "key": "MBTN_MID", + "command": ["script-binding", "file_browser/dynamic/play"] + }, + + { + "key": "KP1", + "command": ["print-text", "files: %n"], + "filter": "file", + "multiselect": true, + "multi-type": "concat", + "concat-string": "\n" + }, + { + "key": "KP1", + "command": ["print-text", "directories: %n"], + "filter": "dir", + "multiselect": true, + "multi-type": "concat", + "concat-string": "\n" + }, + { + "key": "KP1", + "command": ["print-text", "%f"], + "passthrough": true, + "name": "thing" + }, + { + "key": "KP2", + "command": ["print-text", "name: %n"], + "multiselect": true + }, + { + "key": "KP3", + "command": ["print-text", "open directory: %p"] + }, + { + "key": "KP4", + "command": ["print-text", "directory name: %d"] + }, + { + "key": "KP5", + "command": ["print-text", "escape the code: %%f"], + "multiselect": true + }, + { + "key": "KP6", + "command": ["print-text", "full filepath via concatenation: %p%n"], + "multiselect": true + }, + { + "key": "KP7", + "command": ["print-text", "quote/escape filepath: %F"], + "multiselect": true + }, + { + "key": "KP8", + "command": ["print-text", "%r"] + }, + + { + "key": "Alt+DEL", + "command": ["run", "powershell", "-command", "rm", "%F"], + "filter": "file", + "multiselect": true, + "multi-type": "concat" + }, + { + "key": "Ctrl+ENTER", + "command": ["run", "powershell", "-command", "mpv.exe", "%F"], + "multiselect": true, + "multi-type": "concat" + }, + { + "key": "Ctrl+c", + "command": [ + ["run", "powershell", "-command", "Set-Clipboard", "%F"], + ["print-text", "copied filepath to clipboard"] + ], + "multiselect": true, + "delay": 0.3 + }, + { + "key": "Ctrl+v", + "command": ["run", "powershell", "-command", "cp", "-LiteralPath", "(Get-Clipboard)", "%P"], + "multiselect": false + }, + { + "key": "Ctrl+x", + "command": ["run", "powershell", "-command", "mv", "-LiteralPath", "(Get-Clipboard)", "%P"], + "multiselect": false + }, + { + "key": "INS", + "command": ["run", "powershell", "-command", "Set-Content", "-LiteralPath", "( %P + '/.ordered-chapters.m3u' )", "-Value", "( %N )"], + "multiselect": true, + "multi-type": "concat", + "concat-string": "+'\n'+" + }, + { + "key": "Ctrl+INS", + "command": ["run", "powershell", "-command", "rm", "-LiteralPath", "( %P + '/.ordered-chapters.m3u' )", "-Force"], + "multiselect": false + }, + { + "key": "Ctrl+o", + "command": ["run", "powershell", "-command", "explorer.exe", "(( %P ).TrimEnd('/') -replace '/', '\\' )"], + "multiselect": false + }, + { + "key": "Ctrl+O", + "command": ["run", "powershell", "-command", "explorer.exe", "(( %F ).TrimEnd('/') -replace '/', '\\' )"], + "filter": "dir", + "multiselect": true + }, + { + "key": "Ctrl+O", + "command": ["run", "powershell", "-command", "explorer.exe", "'/select,'", "( %F -replace '/', '\\' )"], + "filter": "file", + "multiselect": true + }, + { + "key": "Ctrl+o", + "command": ["run", "powershell", "-command", "& 'C:/Program Files/Mozilla Firefox/firefox.exe' %P"], + "multiselect": false, + "parser": "ftp" + }, + { + "key": "Ctrl+O", + "command": ["run", "powershell", "-command", "& 'C:/Program Files/Mozilla Firefox/firefox.exe' %F"], + "filter": "dir", + "multiselect": true, + "parser": "ftp" + }, + { + "key": "DEL", + "command": [ + ["run", "powershell", "-command", "(New-Object -ComObject 'Shell.Application').NameSpace(0).ParseName((%F -replace '/', '\\' )).InvokeVerb('delete')"], + ["script-message", "delay-command", "4", "script-binding", "file_browser/dynamic/reload"], + ["show-text", "删除 %f"] + ], + "multiselect": true, + "multi-type": "repeat" + }, + + { + "key": "F", + "command": ["script-message", "favourites/add_favourite", "%f"] + }, + { + "key": "F", + "command": ["script-message", "favourites/remove_favourite", "%f"], + "parser": "favourites" + }, + { + "key": "Ctrl+UP", + "command": [ + ["script-message", "favourites/move_up", "%f"] + ], + "parser": "favourites" + }, + { + "key": "Ctrl+DOWN", + "command": [ + ["script-message", "favourites/move_down", "%f"] + ], + "parser": "favourites" + }, + { + "key": "Ctrl+r", + "command": [ + ["script-message", "winroot/import_root_drives"] + ], + "parser": "root" + } +] \ No newline at end of file diff --git a/script-opts/file_browser_favourites.txt b/script-opts/file_browser_favourites.txt new file mode 100644 index 0000000..e69de29 diff --git a/script-opts/hdr_mode.conf b/script-opts/hdr_mode.conf new file mode 100644 index 0000000..b13bbac --- /dev/null +++ b/script-opts/hdr_mode.conf @@ -0,0 +1,15 @@ +# 指定脚本的工作方式,有三种模式可选:noth、pass、switch。默认值:noth +## noth:什么也不做 +## pass:当显示器处于 HDR 模式时,为 HDR 内容传递 HDR 信号 +## switch:根据 mpv 播放的视频内容在显示器的 HDR 模式和 SDR 模式之间自动切换,在 Windows 10 及更高版本的系统上可用 +hdr_mode=noth +# 指定是否仅在全屏或窗口最大化时自动切换 HDR 模式。仅在 hdr_mode=switch 时生效,默认值:no +fullscreen_only=no +# 用于指定你的 HDR 显示器的目标峰值,默认值:203 +#! 提醒:此项必须指定显示器的真实峰值亮度,否则会导致 HDR 内容显示不正确。默认值 203 会视为 SDR 显示器处理 +target_peak=203 +# 用于指定你的 HDR 显示器的最大对比度数值,默认值:auto,即无限对比度(OLED) +#! 提醒:此项必须指定为显示器的最大对比度,否则无法正确实施黑位补偿 +## 例如 100000 表示显示器最大对比度为 100000:1 +## OLED 显示器无需更改此项,使用默认值即可 +target_contrast=auto \ No newline at end of file diff --git a/script-opts/inputevent.conf b/script-opts/inputevent.conf new file mode 100644 index 0000000..4e8300d --- /dev/null +++ b/script-opts/inputevent.conf @@ -0,0 +1,7 @@ +#是否使用外部配置文件设置增强式键位动作,默认:no +enable_external_config=yes +#指定外部配置文件的路径,可以是 mpv 支持的相对路径或绝对路径 +#注意:启用外部配置文件功能时请确保该文件存在 +external_config=~~/inputevent_key.conf +#指定键位事件的识别前缀,默认:event +prefix=event \ No newline at end of file diff --git a/script-opts/modernf.conf b/script-opts/modernf.conf new file mode 100644 index 0000000..55ab565 --- /dev/null +++ b/script-opts/modernf.conf @@ -0,0 +1,83 @@ +#choose a layout(reduced/original/mid) +#layout=original + +#show OSC when windowed? yes/no +#showwindowed= + +#show OSC when fullscreen? yes/no +#showfullscreen= + +#scaling of the controller when windowed +scalewindowed=1 + +#scaling of the controller when fullscreen +scalefullscreen=1 + +#scaling when rendered on a forced window +scaleforcedwindow=1.5 + +#scale the controller with the video? yes/no +#vidscale= + +#duration in ms until the OSC hides if no mouse movement. enforced non-negative for the user but internally negative is 'always-on'. +#hidetimeout=500 + +#duration of fade out in ms 0=no fade +#fadeduration=200 + +#minimum amount of pixels the mouse has to move between ticks to make the OSC show up +#minmousemove=3 + +#use native mpv values and disable OSC internal track list management (and some functions that depend on it) yes/no +#amaprogrammer= + +#default osc font +#font='mpv-osd-symbols' + +#show seekrange overlay yes/no +#seekrange= + +#color of seekbar and knot,there is no # before value +#seekbarfg_color="7FFFD4" + +#transparency of seekranges +seekrangealpha=128 + +#use keyframes when dragging the seekbar yes/no +#seekbarkeyframes= + +#string compatible with property-expansion to be shown as OSC title +#title='${media-title}' + +#show osc and no hide timeout on pause yes/no +showonpause=no + +#display timecodes with milliseconds yes/no +#timems=false + +#display total time instead of remaining time? yes/no +#timetotal=no + +#how mpv logo on idle +#idlescreen=yes + +#only used at init to set visibility_mode(...) auto/always/never +#visibility=always + +#whether to show window controls auto/yes/no +#windowcontrols= + +#whether to show mute button and volumne slider yes/no +#volumecontrol= + +#volume bar show processd volume yes/no +#processvolume= + +#eng=English chs=Chinese eng/chs +#language=chs + +#alpha of the background box,0 (opaque) to 255 (fully transparent) +boxalpha=128 + +#hight of deadzone,from bottom to top +#deadzone=200 diff --git a/script-opts/persist_properties.conf b/script-opts/persist_properties.conf new file mode 100644 index 0000000..3e26274 --- /dev/null +++ b/script-opts/persist_properties.conf @@ -0,0 +1,5 @@ +# options to pass to wget +## 设置 mpv 需全局记忆的选项状态 +properties=volume +## 保存文件路径 +properties_path=files/persistent_config.json \ No newline at end of file diff --git a/script-opts/playlistmanager.conf b/script-opts/playlistmanager.conf new file mode 100644 index 0000000..30e97b4 --- /dev/null +++ b/script-opts/playlistmanager.conf @@ -0,0 +1,157 @@ +###此配置不支持在激活的参数后进行注释,如有注释需求应另起一行 + +#### ------- Mpv-Playlistmanager configuration ------- #### + +#### ------- FUNCTIONAL ------- #### + +#navigation 键绑定仅在播放列表可见时强制覆盖 +#设置"no",则可以通过任何导航键显示播放列表 +dynamic_binds=yes + +#主菜单键位绑定 +key_showplaylist= + +#按住键位时显示播放列表 +key_peek_at_playlist= + +## 动态绑定键位 不应在 input.conf 中设置(不与静态绑定的键位冲突) +## 可以绑定多个键位,用空格分离 +key_moveup=UP WHEEL_UP +key_movedown=DOWN WHEEL_DOWN +key_movepageup=PGUP MBTN_BACK +key_movepagedown=PGDWN MBTN_FORWARD +key_movebegin=HOME +key_moveend=END +key_selectfile=RIGHT +key_unselectfile=LEFT +key_playfile=ENTER MBTN_LEFT +key_removefile=DEL BS +key_closeplaylist=ESC MBTN_RIGHT + +## 额外的功能键位动态绑定 +## 可以绑定多个键位,用空格分离 +key_sortplaylist=s +key_shuffleplaylist=r R +key_reverseplaylist=S +key_loadfiles=l L +key_saveplaylist=p P + +# json 替换格式,请查看.lua 以获取说明 +# example json=[{"ext":{"all":true},"rules":[{"_":" "}]},{"ext":{"mp4":true,"mkv":true},"rules":[{"^(.+)%..+$":"%1"},{"%s*[%[%(].-[%]%)]%s*":""},{"(%w)%.(%w)":"%1 %2"}]},{"protocol":{"http":true,"https":true},"rules":[{"^%a+://w*%.?":""}]}] +# 空值,无需更换 +filename_replace=[{"protocol":{"all":true},"rules":[{"%%(%x%x)":"hex_to_char"}]},{"protocol":{"http":true,"https":true},"rules":[{"^%a[%a%d]+://localhost:.*/":""}]}] + +## 指定从目录中搜索和加载的文件类型。注:此项与 autoload.lua 脚本功能重复 +#loadfiles_filetypes=["3gp","amr","amv","asf","avi","avi","bdmv","f4v","flv","ifo","iso","m2ts","m4v","mkv","mov","mp4","mpeg","mpg","ogv","rm","rmvb","ts","vob","webm","wmv"] +#在启动时加载 1 个或多个文件到播放列表。注:此项与 autoload.lua 脚本功能重复 +loadfiles_on_start=no + +#空闲启动时从工作目录加载文件 +loadfiles_on_idle_start=no + +#总是在当前播放文件后放置加载的文件 +loadfiles_always_append=no + +#指定在初始加载后将任何文件添加到播放列表时是否进行自然排序 +sortplaylist_on_file_add=no + +#指定使用排序功能时需使用的排序方法,必须是其中之一:"name-asc", "name-desc", "date-asc", "date-desc", "size-asc", "size-desc". +default_sort=name-asc + +#linux | windows | auto +system=auto + +#Use ~ 用于主目录。留空以使用 mpv/playlists +playlist_savepath= + +#播放列表打开时同步当前播放文件所在位置(pos) +sync_cursor_on_load=yes + +#每次加载新文件时显示文件标题 +show_title_on_file_load=no +#每次加载新文件时显示播放列表 +show_playlist_on_file_load=no +#选择播放文件后关闭播放列表 +close_playlist_on_playfile=no + +##是否光标移动到末尾自动切换到首位条目 +loop_cursor=yes + +#当播放列表不可见时重置光标导航 +reset_cursor_on_close=yes + +#允许播放列表管理器在文件之间导航时编写稍后观看配置 +allow_write_watch_later_config=no + +#在保存、随机播放、反转播放列表时向 OSD 输出视觉反馈 +display_osd_feedback=no + +#prefer 以显示以下文件的标题:"all","url","none"。排序仍使用文件名 +prefer_titles=url + +#指定要用于标题解析的 ytdl 可执行文件,可以是绝对路径。默认:yt-dlp +youtube_dl_executable=yt-dlp + +#使用 youtube-dl/yt-dlp 解析播放列表中网址的标题,默认:no +#prefer_titles 必须设置为 "url" 或"all" 才能正常工作 +resolve_url_titles=yes + +#指定播放列表中 url 标题解析的超时时长,默认值:15s +resolve_title_timeout=15 + +#指定同时解析 url 媒体标题的数量。较高的数字可能会导致卡明显的卡顿 +concurrent_title_resolve_limit=10 + +##播放列表在 OSD 显示的时长,默认值:5s +playlist_display_timeout=5 + +##播放列表将呈现的最大行数。特殊值 -1 将自动计算,默认值:-1 +showamount=13 + +##播放列表的字体样式 +#example {\fnUbuntu\fs10\b0\bord1} equals: font=Ubuntu, size=10, bold=no, border=1 +#read http://docs.aegisub.org/3.2/ASS_Tags/ for reference of tags +#no 值默认为 mpv.conf 中的 OSD 设置 +style_ass_tags={\fnNoto Sans CJK SC\fs26\b1\bord0.5} + +##左上方的边距 +text_padding_x=10 +text_padding_y=15 + +#菜指定单打开时屏幕的不透明度,值:0.0 - 1.0(0 表示透明(默认),1 表示不透明) +curtain_opacity=0.0 + +##是否修改 MPV 的窗口标题 +set_title_stripped=no +title_prefix= +title_suffix= - mpv + +##是否切断长文件名,最大显示字符数 +slice_longfilenames=yes +slice_longfilenames_amount=100 + +##播放列表标题 +#%mediatitle or %filename = 播放文件的标题或名称 +#%pos = 播放文件的位置 +#%cursor = 导航的位置 +#%plen = 播放列表长度 +#%N = 换行符 +playlist_header=播放列表 [%cursor/%plen] + +##播放列表模板 +#%pos = 播放文件的位置 +#%name = 文件的标题或名称 +#%N = 换行符 +#也可以使用上面提到的 ASS 标签。例如: +# selected_file={\c&HFF00FF&}➔ %name | 为所选文件添加颜色 +#使用 ASS 标签,你需要为每一行重置它们 (see https://github.com/jonniek/mpv-playlistmanager/issues/20) +normal_file={\c&HFFFFFF&}□ %name +hovered_file={\c&H33FFFF&}■ %name +selected_file={\c&C1C1FF&}☑ %name +playing_file={\c&HAAAAAA&}▷ %name +playing_hovered_file={\c&H00FF00&}▶ %name +playing_selected_file={\c&C1C1FF&}☑ %name + +##播放列表被截断时的显示 +playlist_sliced_prefix=▲ +playlist_sliced_suffix=▼ diff --git a/script-opts/quality-menu.conf b/script-opts/quality-menu.conf new file mode 100644 index 0000000..3d4453b --- /dev/null +++ b/script-opts/quality-menu.conf @@ -0,0 +1,81 @@ +###### 键绑定 ###### +# 向上移动菜单光标 +up_binding=UP WHEEL_UP +# 向下移动菜单光标 +down_binding=DOWN WHEEL_DOWN +# 选择菜单项 +select_binding=ENTER MBTN_LEFT +# 关闭质量菜单 +close_menu_binding=ESC MBTN_RIGHT CTRL+F ALT+F +###### 键绑定 ###### + +# 字体大小按窗口缩放,如果为否需要更大的字体和填充大小 +scale_playlist_by_window=yes + +# 播放列表屁股样式覆盖大括号内。\keyvalue 是一个字段,额外 \ 用于 lua 中的转义 +# example {\\fnUbuntu\\fs10\\b0\\bord1} equals: font=Ubuntu, size=10, bold=no, border=1 +# 标签参考 https://aegi.vmoe.info/docs/3.0/ASS_Tags/ +# 未声明的标签将使用默认的 osd 设置 +# 这些样式将用于整个播放列表。更具体的样式实现方式并不优雅 +# 建议使用等宽字体,保持样式美观 +style_ass_tags={\\fnNoto Sans CJK SC,Noto Color Emoji\\fs25\\bord0.5} + +# 自定义游标 +# 也可以使用上面提到的 ASS 标签。例如: +# selected_and_inactive={\c&H33FFFF&}● - | 为所选格式添加颜色 +# 使用 ASS 标签,你需要为每一行重置它们 +selected_and_active={\c&H00FF00&}▶ - +selected_and_inactive={\c&H33FFFF&}● - +unselected_and_active={\c&HAAAAAA&}▷ - +unselected_and_inactive={\c&HFFFFFF&}○ - + +# 移位绘图坐标。mpv.net 兼容性所必需的 +shift_x=0 +shift_y=0 + +# 左上角的填充 +text_padding_x=5 +text_padding_y=10 + +# 菜单打开时屏幕变暗 +curtain_opacity=0.7 + +# 质量菜单超时的秒数 +menu_timeout=6 + +# 使用 youtube-dl 获取可用格式的列表(覆盖 quality_strings),默认:yes +fetch_formats=yes + +# 可供选择的 ytdl 格式字符串列表 +quality_strings_video=[ {"4320p" : "bestvideo[height<=?4320p]"}, {"2160p" : "bestvideo[height<=?2160]"}, {"1440p" : "bestvideo[height<=?1440]"}, {"1080p" : "bestvideo[height<=?1080]"}, {"720p" : "bestvideo[height<=?720]"}, {"480p" : "bestvideo[height<=?480]"}, {"360p" : "bestvideo[height<=?360]"}, {"240p" : "bestvideo[height<=?240]"}, {"144p" : "bestvideo[height<=?144]"} ] +quality_strings_audio=[ {"default" : "bestaudio"} ] + +# 打开网络视频后显示视频格式菜单,默认:yes +start_with_menu=no + +# 在列表中包含未知格式,不幸的是,选择视频或音频格式并不总是完美的 +# 设置为 yes 以确保您不会错过任何格式,但随后列表还可能包括实际上不是视频或音频的格式。已知不是视频或音频的格式仍会被过滤掉 +include_unknown=no + +# 隐藏所有格式都相同的列,默认:yes +hide_identical_columns=yes + +# 指定列的属性以什么顺序显示,使用','分隔列表,属性前加'-'可使该列左对齐 +# 对于 uosc 集成,可以将文本分成标题和提示 +## 这是通过用'|'而不是逗号分隔两列来实现的 +##可用属性有: +#resolution, width, height, fps, dynamic_range, tbr, vbr, abr, asr, +#filesize, filesize_approx, vcodec, acodec, ext, video_ext, audio_ext, +#language, format, format_note, quality +##以下属性经过特殊处理 +#size, frame_rate, bitrate_total, bitrate_video, bitrate_audio, +#codec_video, codec_audio, audio_sample_rate +columns_video=-resolution,frame_rate|dynamic_range,bitrate_video,size,-codec_video,-ext +columns_audio=language,audio_sample_rate,bitrate_audio|size,-codec_audio,-ext + +# 用于排序的列,有关可用列,请参阅'columns_video' +# 逗号分隔列表,前缀列带“-”以反转排序顺序 +# 将此内容留空可保留 yt-dlp/youtube-dl 的顺序 +# 注:拼写错误的列不会导致错误,但它们可能会影响结果 +sort_video= +sort_audio= diff --git a/script-opts/read_file.conf b/script-opts/read_file.conf new file mode 100644 index 0000000..465d0c0 --- /dev/null +++ b/script-opts/read_file.conf @@ -0,0 +1,2 @@ +# options to pass to wget +#wget_opts= \ No newline at end of file diff --git a/script-opts/select.conf b/script-opts/select.conf new file mode 100644 index 0000000..157d54a --- /dev/null +++ b/script-opts/select.conf @@ -0,0 +1,7 @@ +###此配置不支持参数后注释,须另起一行 + +# 指定历史记录条目的日期格式。这被传递给 Lua 的 os.date +# 这使用与 strftime(3)相同的格式 +history_date_format=%Y-%m-%d %H:%M:%S +# 是否仅显示具有相同路径的最后一个历史记录条目,默认:yes +hide_history_duplicates=yes \ No newline at end of file diff --git a/script-opts/simplehistory.conf b/script-opts/simplehistory.conf new file mode 100644 index 0000000..2de9a87 --- /dev/null +++ b/script-opts/simplehistory.conf @@ -0,0 +1,305 @@ +####------脚本设置-----#### + +#--打开 mpv 且没有加载视频/文件时自动运行列表。'none'表示禁用。或者选择:all, recents, distinct, protocols, fileonly, titleonly, timeonly, keywords. +auto_run_list_idle=none + +#--mpv 启动且未加载任何内容时的行为。'none'表示禁用。'resume'以自动恢复您上次播放的项目。'resume-notime'以恢复您上次播放的项目,但从头开始 +startup_idle_behavior=none + +#--在打开和关闭菜单时隐藏 OSC 空闲屏幕消息(如果多个脚本触发 osc-空闲屏幕关闭,可能会导致意外行为) +toggle_idlescreen=no + +#--更改为 0,以便项目从确切位置恢复,或减小值,以便在加载恢复点之前为您提供一些预览 +resume_offset=-10 + +#--yes 用于在发生操作时显示 OSD 消息。更改为 no 将禁用从此脚本生成的所有 osd 消息 +osd_messages=yes + +#--none: :用于禁用。notification:将触发一条消息以恢复上一个到达的时间。force:根据阈值强制恢复上次播放 +resume_option=none + +#--0 在之前播放过同一视频时始终触发恢复选项,如果上次播放时间在视频的 5% 之后开始并在完成 5% 之前结束,则值(如 5)将仅触发恢复选项 +resume_option_threshold=5 + +#--yes 用于将历史记录时间标记为章节。no 禁用标记为章节的行为 +mark_history_as_chapter=no + +#--yes: 反转黑名单为白名单,以便将诸如路径/网址之类的东西添加到 history_blacklist 中以保存到历史记录中 +invert_history_blacklist=no + +#--设置黑名单:Paths / URLs / Websites / Files / Protocols / Extensions, 黑名单中的类型或路径将不会添加到历史记录中 +##例如:["c:\\users\\eisa01\\desktop", "c:\\users\\eisa01\\desktop\\*", "c:\\temp\\naruto-01.mp4", "youtube.com", "https://dailymotion.com/", "avi", "https://www.youtube.com/watch?v=e8YBesRKq_U", ".jpeg", "magnet:", "https://", "ftp"] +history_blacklist=[""] + +#--键绑定,用于在没有视频播放时立即加载和恢复最后一项。如果视频正在播放,它将恢复到上次找到的位置 +##! 注意:该绑定将覆盖 input.conf 中的同键位,推荐留空在 input.conf 中绑定该功能 +history_resume_keybind=[""] + +#--键绑定,用于在没有播放视频时立即加载最后一项而不恢复。如果视频正在播放,那么它将添加到播放列表中 +##! 注意:该绑定将覆盖 input.conf 中的同键位,推荐留空在 input.conf 中绑定该功能 +history_load_last_keybind=[""] + +#--键绑定,将用于打开列表以及指定的筛选器。可用的过滤器:"all", "recents", "distinct", "protocols", "fileonly", "titleonly", "timeonly", "keywords". +##! 注意:该绑定将覆盖 input.conf 中的同键位,推荐留空在 input.conf 中绑定该功能 +open_list_keybind=[ ["", "distinct"], ["", "recents"] ] + +#--动态键绑定,在列表打开时使用以跳转到特定筛选器(它还允许按两次筛选器键绑定以关闭列表)。可用的过滤器:"all", "recents", "distinct", "protocols", "fileonly", "titleonly", "timeonly", "keywords". +list_filter_jump_keybind=[ ["a", "all"], ["r", "recents"], ["d", "distinct"], ["f", "fileonly"], ["p", "protocols"], ["t", "titleonly"], ["l", "playing"] ] + +####------隐身设置-----#### + +#--指定是否在 MPV 启动时自动启动隐身模式 +auto_run_incognito_mode=no + +#--yes:以便自动从历史记录中删除触发隐身模式的文件,no:将文件保留在隐身模式触发的历史记录中 +delete_incognito_entry=yes + +#--"none"表示禁用,"deleted-restore"以便自动恢复进入隐身时删除的文件,"always"表示退出隐身模式后始终立即更新历史记录中的条目 +restore_incognito_entry=always + +#--键绑定,触发隐身模式。启用后播放的文件不会添加到历史记录中,直到禁用此模式 +##! 注意:该绑定将覆盖 input.conf 中的同键位,推荐留空在 input.conf 中绑定该功能 +history_incognito_mode_keybind=[""] + +####------日志记录设置------#### + +#--指定书签日志文件的保存路径。更改为'/:dir%script%'以将其放置在脚本的同一目录中,或者更改为'/:dir%mpvconf%'以将其放置在 mpv portable_config 目录中。 +##或者使用'/:var'写入任何变量,然后使用变量'/:var%APPDATA%',您也可以使用路径,例如:'/:var%APPDATA%\mpv'或'/:var%HOME%/mpv'或指定绝对路径,例如:'C:\Users\Eisa01\Desktop\' +log_path=/:dir%mpvconf%/files + +#--名称 + 将用于存储日志数据的文件的扩展名 +log_file=mpvHistory.log + +#--日志中的日期格式(请参阅 lua 日期格式),例如:"%d/%m/%y %X" or "%d/%b/%y %X" +date_format=%A/%B %d/%m/%Y %X + +#--在 all, protocols, none 中选择保存媒体标题的类型。此选项会将媒体标题存储在日志文件中,这对于网站/协议很有用,因为标题无法仅从链接中解析 +file_title_logging=protocols + +#--在下面(逗号后)添加您希望将其标题存储在日志文件中的任何协议。这仅对 (file_title_logging = "protocols" or file_title_logging = "all") 有效 +logging_protocols=["://", "magnet:"] + +#--指定显示文件名而不是标题的范围。在 local, protocols, all, 和 none 之间进行选择 +## "local"更喜欢非协议视频的文件名。"protocols"将仅首选协议的文件名。"all"将始终使用文件名而不是标题。"none"将始终使用标题而不是文件名 +prefer_filename_over_title=local + +#--限制保存具有相同路径的条目:-1 表示无限制,0 将始终更新相同路径的条目,例如值 3 将限制为 3,然后它将在第 4 个条目开始更新旧值 +same_entry_limit=2 + +####------列表设置-------#### + +#--设置是否启用光标循环滚动 +loop_through_list=yes + +#--设置是否在到达列表中间后更新显示新项目 +list_middle_loader=yes + +#--显示文件路径而不是媒体标题 +show_paths=no + +#--在显示其名称和值之前显示每个项目的编号 +show_item_number=yes + +#--设置是否按下面指定的字符数量对长文件名进行切片 +slice_longfilenames=yes + +#--用于切片长文件名的字符数量 +slice_longfilenames_amount=80 + +#--更改最大数量以在当前列表显示更多项目 +list_show_amount=10 + +#--是否启用动态选择键绑定,条目从 0 到 9,用于在列表打开时快速选择(list_show_amount = 10 是此功能工作的最大值) +quickselect_0to9_keybind=yes + +#--是否启用双击主列表时退出列表的功能,即使列表是通过其他过滤器访问的 +main_list_keybind_twice_exits=yes + +#--巧妙地将搜索设置为不键入(当搜索框打开时),而无需按 ctrl+enter 键 +search_not_typing_smartly=yes + +#--"specific"查找日期、标题、路径/URL、时间的匹配项。"any"以根据日期,标题,路径/ URL 和时间的组合查找任何键入的搜索。"any-notime"根据日期、标题和路径/URL 的组合查找任何键入的搜索,但不查找时间(这是为了减少不需要的结果) +search_behavior=any + +####------过滤器设置-------#### +##--可用过滤器:"all"以显示所有项目。或"keybinds"以显示使用键绑定插槽过滤的列表。或"recents"以显示最近添加的要记录的项目而不重复。或"distinct"以显示不同路径中文件的最近保存条目。 +##或"fileonly"以显示没有时间保存的文件。或"timeonly"以显示只有时间的文件。或"keywords"以显示具有配置中指定的匹配关键字的文件。或"playing"以显示当前播放文件的列表。 + +#--跳转到以下过滤器,并在通过左右键导航时按显示的顺序跳转。您可以更改顺序并删除不需要的筛选器 +filters_and_sequence=["all", "recents", "distinct", "protocols", "playing", "fileonly", "titleonly", "keywords"] + +#--键绑定,将用于根据 filters_and_sequence 跳转到下一个可用筛选器 +next_filter_sequence_keybind=["RIGHT", "MBTN_FORWARD"] + +#--键绑定,将用于根据 filters_and_sequence 跳转到上一个可用筛选器 +previous_filter_sequence_keybind=["LEFT", "MBTN_BACK"] + +#--是否启用循环访问过滤器的行为 +loop_through_filters=yes + +#--为您想要的"keywords"中创建一个过滤器,例如:youtube.com 将过滤掉 YouTube 上的视频。您还可以插入文件名或标题的一部分,或扩展名或路径的完整路径/部分。例如: ["youtube.com", "mp4", "naruto", "c:\\users\\eisa01\\desktop"]. 留空已禁用关键词过滤器 +keywords_filter_list=["youtube.com"] + +####------排序设置-------#### +##--可用排序:added-asc 用于首先显示最新添加的项目。或者 added-desc 用于显示添加顺序。或者 alphanum-asc 用于 A 到 Z 方法,文件名和集数先降低。或者 alphanum-desc 是它的 Z 到 A 方法。或 time-asc,time-desc 根据时间对列表进行排序 + +#--指定列表中所有不同筛选器的默认排序方法。选择范围:added-asc, added-desc, time-asc, time-desc, alphanum-asc, alphanum-desc +list_default_sort=added-asc + +#--指定特定过滤器的默认排序,例如:[ ["all", "alphanum-asc"], ["playing", "added-desc"] ] +list_filters_sort=[ ["keybinds", "keybind-asc"], ["fileonly", "alphanum-asc"], ["playing", "time-asc"] ] + +#--键绑定,用于在列表打开时循环浏览不同的可用排序 +list_cycle_sort_keybind=["alt+s"] + +####------列表设计设置------#### + +#--指定列表的对齐方式,使用数字键盘位置从 1-9 中选择,或 0 以禁用。例如:7 左上对齐,8 中上对齐,9 右上角对齐 +list_alignment=7 + +#--列表中项目显示的时间类型。选择:duration, length, remaining. +text_time_type=duration + +#--指定在保存的时间之前显示的时间分隔符样式 +time_seperator= 🕒 + +#--指定表示上面有更多项目的文本时的样式。\n 用于换行。\h 代表空格 +list_sliced_prefix=...\h\N + +#--指定表示下面有更多项目的文本时的样式 +list_sliced_suffix=... + +#--yes 启用前文本,用于在列表之前显示快速选择键绑定。no 禁用 +quickselect_0to9_pre_text=no + +#--指定列表的文本颜色,BGR 十六进制 +text_color=ffffff + +#--列表文本的字体大小 +text_scale=80 + +#--列表文本的黑色边框大小 +text_border=0.5 + +#--前光标位置的文本颜色,BGR 十六进制 +text_cursor_color=ffbf7f + +#--列表中当前光标位置的文本的字体大小 +text_cursor_scale=90 + +#--列表中当前光标位置的文本的黑色边框大小 +text_cursor_border=0.7 + +#--突出显示的多选项目的前置文本 +text_highlight_pre_text=✅ + +#--在打字模式下搜索框的颜色 +search_color_typing=ffffaa + +#--处于打字模式且处于活动状态时搜索框的颜色 +search_color_not_typing=00bfff + +#--列表标题颜色,BGR 十六进制 +header_color=00bfff + +#--列表的标题文本大小 +header_scale=100 + +#--列表标题的黑色边框大小 +header_border=0.6 + +#--要显示为列表标题的文本 +#--可用标头变量:%cursor%, %total%, %highlight%, %filter%, %search%, %listduration%, %listlength%, %listremaining% +#--仅在触发变量时显示的用户定义文本:%prefilter%, %afterfilter%, %prehighlight%, %afterhighlight% %presearch%, %aftersearch%, %prelistduration%, %afterlistduration%, %prelistlength%, %afterlistlength%, %prelistremaining%, %afterlistremaining% +#--变量说明:%cursor:显示列表中光标位置的数量。%total:当前列表中的项目总数。%highlight%:突出显示的项目总数。%filter:显示筛选器名称,%search:显示键入的搜索。仅在触发用户变量时才显示的用户定义文本示例:%prefilter:显示筛选器之前的用户定义文本,%afterfilter:显示筛选器后的用户定义文本 + +header_text=⌛ 历史菜单 [%cursor%/%total%]%prehighlight%%highlight%%afterhighlight%%prelistduration%%listduration%%afterlistduration%%prefilter%%filter%%afterfilter%%presort%%sort%%aftersort%%presearch%%search%%aftersearch% + +#--指定使用 %sort% 变量时从标头中隐藏的排序方法 +header_sort_hide_text=added-asc + +#--设置在标头中触发变量之前或之后显示的文本 +header_sort_pre_text= \{ +header_sort_after_text=} +header_filter_pre_text= [Filter: +header_filter_after_text=] +header_search_pre_text=\h\N[Search= +header_search_after_text=..] +header_highlight_pre_text=✅ +header_highlight_after_text= +header_list_duration_pre_text= 🕒 +header_list_duration_after_text= +header_list_length_pre_text= 🕒 +header_list_length_after_text= +header_list_remaining_pre_text= 🕒 +header_list_remaining_after_text= + +####-----时间格式设置-----#### +##--在第一个参数中,您可以从可用样式中定义:default, hms, hms-full, timestamp, timestamp-concise。"default"以 HH:MM:SS.sss 格式显示。"hms"以 1h 2m 3.4s 格式显示。"hms-full"与 hms 相同,但当小时和分钟为 0 时保持恒定。"timestamp"将总时间显示为时间戳 123456.700 格式。"timestamp-concise"以 123456.7 格式显示总时间(根据可用性显示和隐藏小数)。 +##--在第二个参数中,您可以定义是显示毫秒、舍入毫秒还是截断毫秒。可用选项:'truncate'以删除毫秒并保留秒数。0 删除毫秒并将秒舍入。1 或大于是要显示的毫秒数。默认值为 3 毫秒。 +##--在第三个参数中,您可以在 hour:minute:second(小时:分钟:秒) 之间定义分隔符。"default"样式自动设置为":","hms","hms-full"自动设置为" "。您可以定义自己的。一些例子: ["default",3, "-"],["hms-full",5, "."],["hms", "truncate", ":"],["timestamp-concise"],["timestamp", ["timestamp",0],["timestamp", "truncate"],["timestamp",5] + +osd_time_format=["default", "truncate"] +list_time_format=["default", "truncate"] +header_duration_time_format=["hms", "truncate", ":"] +header_length_time_format=["hms", "truncate", ":"] +header_remaining_time_format=["hms", "truncate", ":"] + + +####------列出键绑定设置------#### +#--在下面(逗号后)添加要绑定的任何其他键绑定。或者更改引号内的字母以更改键绑定 +#--更改和添加键绑定的示例:--从 ["b", "B"] 到 ["b"]. --从 [""] 到 ["alt+b"]. --从 [""] 到 ["a" "ctrl+a", "alt+a"] + +#--键绑定,将用于在列表中向上导航 +list_move_up_keybind=["UP", "WHEEL_UP"] + +#--键绑定,将用于在列表中向下导航 +list_move_down_keybind=["DOWN", "WHEEL_DOWN"] + +#--键绑定,将用于转到列表上显示的页面的第一项 +list_page_up_keybind=["PGUP"] + +#--键绑定,将用于转到列表上显示的页面的最后一项 +list_page_down_keybind=["PGDWN"] + +#--键绑定,将用于导航到列表中的第一项 +list_move_first_keybind=["HOME"] + +#--密钥绑定,将用于导航到列表中的最后一项 +list_move_last_keybind=["END"] + +#--按键绑定,用于在按下导航键绑定时突出显示,按住 shift,然后按任何导航键绑定,例如:up, down, home, pgdwn 等。 +list_highlight_move_keybind=["SHIFT"] + +#--键绑定,将用于突出显示列表中所有显示的项目 +list_highlight_all_keybind=["ctrl+a"] + +#--键绑定,将用于从列表中删除所有当前突出显示的项目 +list_unhighlight_all_keybind=["ctrl+d"] + +#--键绑定,将用于根据光标位置加载条目 +list_select_keybind=["ENTER", "MBTN_MID"] + +#--键绑定,将用于根据光标位置向播放列表添加条目 +list_add_playlist_keybind=["CTRL+ENTER"] + +#--键绑定,将用于将所有突出显示的条目添加到播放列表 +list_add_playlist_highlighted_keybind=["SHIFT+ENTER"] + +#--将用于关闭列表的键绑定(如果搜索打开,则首先关闭搜索) +list_close_keybind=["ESC", "MBTN_RIGHT"] + +#--键绑定,将用于根据光标位置删除条目 +list_delete_keybind=["DEL"] + +#--密钥绑定,将用于从列表中删除所有突出显示的条目 +list_delete_highlighted_keybind=["SHIFT+DEL"] + +#--将用于触发搜索的密钥绑定 +list_search_activate_keybind=["ctrl+f"] + +#--键绑定,将用于在保持搜索打开的同时退出搜索的键入模式 +list_search_not_typing_mode_keybind=["ALT+ENTER"] + +#--列表打开时忽略的键绑定 +list_ignored_keybind=[""] diff --git a/script-opts/stats.conf b/script-opts/stats.conf new file mode 100644 index 0000000..ee02bcf --- /dev/null +++ b/script-opts/stats.conf @@ -0,0 +1,91 @@ +###不支持参数后注释,须另起一行 + +# -- 动态键位绑定(对应五个不同的信息页) +#key_page_1=1 +#key_page_2=2 +#key_page_3=3 +#key_page_4=4 +#key_page_0=0 + +# -- 动态键位绑定(部分页面支持上下翻页) +#key_scroll_up=UP +#key_scroll_down=DOWN +##设置滚动一次的行数。默认值:1 +#scroll_lines=1 + +##短暂显示的持续时间(秒)。默认值:4 +#duration=4 +##常驻显示的数据刷新间隔(秒),设为 0 会有 bug。默认值:1 +#redraw_delay=1 +##文本格式化(ASS)。默认值:yes +##ass_formatting=yes +##禁止其它 OSD 文本覆盖 stats 信息。默认值:no +#persistent_overlay=yes +##设为 yes 将输出传递的完整信息。默认值:no +#print_perfdata_passes=no +##如果过滤器列表的长度超过这个数目,则每行显示一个过滤器。默认值:128 +#filter_params_max_length=128 +##启用调试输出。默认值:100 +#debug=no + +# -- 图形选项和样式 +##显示性能数据的图表。默认值:no +#plot_perfdata=yes +##显示垂直同步和抖动值的图形(仅在统计信息常驻显示时)。默认值:no +#plot_vsync_ratio=yes +#plot_vsync_jitter=yes +##显示缓存值图表(第 3 页),仅在切换时显示。默认值:no +#plot_cache=no +##自动启用色调映射 LUT 可视化(仅在统计信息常驻显示时)。默认值:no +#plot_tonemapping_lut=no + +#skip_frames=5 +#global_max=yes +##切换时清除数据缓冲区。默认值:yes +#flush_graph_data=yes +#plot_bg_border_width=1.25 +#plot_bg_border_color=0000FF +#plot_bg_color=262626 +#plot_color=FFFFFF + +##指定是否使用视频缩放文本和图形。no 尝试保持大小不变,auto 使用 OSD 缩放文本和图形 +##而 OSD 使用 window 或保持恒定大小,具体取决于 --osd-scale-by-window 选项。默认值:auto +#vidscale=auto + +# -- 字体相关设定 +font=Noto Sans CJK SC,Noto Color Emoji +font_mono=Noto Sans CJK SC,Noto Color Emoji +##字体大小,默认 20 +#font_size=20 +##字体颜色 +font_color=FFFFFF +##字体边框粗细,默认 1.2 +border_size=1.5 +##字体边框颜色,默认 262626 +border_color=000000 +shadow_x_offset=0.1 +shadow_y_offset=0.1 +shadow_color=000000 +##<0-99> 字体透明度,似乎是百分比,默认 11 +alpha=0 + +# -- 自定义标头,用于设置 ASS 标签的文本输出样式 +# -- 指定此参数将忽略上面的文本样式值并使用这个字符串代替 +#custom_header= + +# -- 文本格式(ASS) +#ass_nl=\\N +#ass_indent=\\h\\h\\h\\h\\h +#ass_prefix_sep=\\h\\h +#ass_b1={\\b1} +#ass_b0={\\b0} +#ass_it1={\\i1} +#ass_it0={\\i0} +# -- Without ASS +#no_ass_nl=\n +#no_ass_indent=\t +#no_ass_prefix_sep= +#no_ass_b1=\027[1m +#no_ass_b0=\027[0m +#no_ass_it1=\027[3m +#no_ass_it0=\027[0m diff --git a/script-opts/sub-select.json b/script-opts/sub-select.json new file mode 100644 index 0000000..0f59b7a --- /dev/null +++ b/script-opts/sub-select.json @@ -0,0 +1,208 @@ +[ + { + "alang": "*", + "slang": ["chs", "sc", "zho?%-cn", "zho?%-hans", "cht", "tc", "zho?%-hant", "zho?%-tw", "zho?%-hk", "zho?%-", "chi", "zho?", "und"], + "whitelist": ["chs&j[ap]n?"], + "condition": "sub.codec ~= 'null'" + }, + { + "inherit": "^", + "whitelist": ["sc&j[ap]n?"] + }, + { + "inherit": "^", + "whitelist": ["cht&j[ap]n?"] + }, + { + "inherit": "^", + "whitelist": ["ch&j[ap]n?"] + }, + { + "inherit": "^", + "whitelist": ["tc&j[ap]n?"] + }, + { + "inherit": "^", + "whitelist": ["zh&j[ap]n?"] + }, + { + "inherit": "^", + "whitelist": ["chs&eng?"] + }, + { + "inherit": "^", + "whitelist": ["sc&eng?"] + }, + { + "inherit": "^", + "whitelist": ["cht&eng?"] + }, + { + "inherit": "^", + "whitelist": ["ch&eng?"] + }, + { + "inherit": "^", + "whitelist": ["tc&eng?"] + }, + { + "inherit": "^", + "whitelist": ["zh&eng?"] + }, + { + "inherit": "^", + "whitelist": ["中日"] + }, + { + "inherit": "^", + "whitelist": ["中英"] + }, + { + "inherit": "^", + "whitelist": ["中上英下"] + }, + { + "inherit": "^", + "whitelist": ["简英"] + }, + { + "inherit": "^", + "whitelist": ["双语"] + }, + { + "inherit": "^", + "whitelist": ["特效"] + }, + { + "inherit": "^", + "whitelist": ["简体&英文"] + }, + { + "inherit": "^", + "whitelist": ["繁英"] + }, + { + "inherit": "^", + "whitelist": ["繁体&英文"] + }, + { + "inherit": "^", + "whitelist": ["繁體&英文"] + }, + { + "inherit": "^", + "whitelist": ["chs"] + }, + { + "inherit": "^", + "whitelist": ["sc"] + }, + { + "inherit": "^", + "whitelist": ["cn"] + }, + { + "inherit": "^", + "whitelist": ["hans"] + }, + { + "inherit": "^", + "whitelist": ["cht"] + }, + { + "inherit": "^", + "blacklist": ["dutch"], + "whitelist": ["tc"] + }, + { + "inherit": "^", + "whitelist": ["hant"] + }, + { + "inherit": "^", + "whitelist": ["hk"] + }, + { + "inherit": "^", + "whitelist": ["tw"] + }, + { + "inherit": "^", + "whitelist": ["简"] + }, + { + "inherit": "^", + "whitelist": ["中"] + }, + { + "inherit": "^", + "whitelist": ["繁"] + }, + { + "alang": "*", + "slang": "und", + "blacklist": [ "sign", "song", "comment", "danmaku", "danmu", "xml" ], + "condition": "sub.codec ~= 'null'" + }, + { + "alang": "*", + "slang": ["chi", "zho?", "und"], + "whitelist": ["simplified"], + "condition": "sub.codec ~= 'null'" + }, + { + "inherit": "^", + "whitelist": ["traditional"] + }, + { + "alang": "*", + "slang": "zho?%-cn", + "condition": "sub.codec ~= 'null'" + }, + { + "inherit": "^", + "slang": "zho?%-hans" + }, + { + "inherit": "^", + "slang": "zho?%-hant" + }, + { + "inherit": "^", + "slang": "zho?%-hk" + }, + { + "inherit": "^", + "slang": "zho?%-tw" + }, + { + "inherit": "^", + "slang": "zho?%-" + }, + { + "inherit": "^", + "slang": "chi" + }, + { + "inherit": "^", + "slang": "zho?" + }, + { + "inherit": "^", + "slang": "default" + }, + { + "inherit": "^", + "slang": "forced" + }, + { + "inherit": "^", + "slang": "j[ap]n?", + "blacklist": [ "sign", "song" ] + }, + { + "inherit": "^", + "slang": "eng?", + "blacklist": [ "sign", "song" ] + } +] \ No newline at end of file diff --git a/script-opts/sub_assrt.conf b/script-opts/sub_assrt.conf new file mode 100644 index 0000000..f5aa2ed --- /dev/null +++ b/script-opts/sub_assrt.conf @@ -0,0 +1,7 @@ +# API token, 可以在 https://assrt.net 上注册账号后在个人界面获取 +#示例为脚本内预设的 key +#api_token=tNjXZUnOJWcHznHDyalNMYqqP6IdDdpQ +# 是否使用 https,默认 yes +#use_https=no +# 代理设置 +#proxy= \ No newline at end of file diff --git a/script-opts/sub_export.conf b/script-opts/sub_export.conf new file mode 100644 index 0000000..22b90a4 --- /dev/null +++ b/script-opts/sub_export.conf @@ -0,0 +1,4 @@ +#ffmpeg 所在绝对路径,或者放入环境变量 +ffmpeg_path=ffmpeg +#指定脚本在 OSD 和控制台显示的文本使用的语言,eng=English, chs=Chinese。默认值:eng +language=chs \ No newline at end of file diff --git a/script-opts/sub_select.conf b/script-opts/sub_select.conf new file mode 100644 index 0000000..2844b9c --- /dev/null +++ b/script-opts/sub_select.conf @@ -0,0 +1,24 @@ +####################################################### +## Default configuration file for mpv-sub-select ## +## https://github.com/CogentRedTester/mpv-sub-select ## +####################################################### + +# 强制启用脚本 +#! 注意:这不会覆盖 sid 选项的显式指定 +force_enable=yes + +# 基于偏好 json 文件的实验性音轨选择 +select_audio=no + +#observe 音频开关,并在 alang 更改时重新选择字幕 +observe_audio_switches=yes + +# 仅选择用字幕轨道中明确说明的强制字幕。 +# 默认情况下,在搜索特定语言的字幕轨道时, +# 强制字幕将包含在搜索结果中,并与其他曲目相同。 +# 这意味着没有办法编写专门排除强制字幕轨道的规则 +# 通过启用强制字幕,除非有规则在`slang`中明确包含"forced",否则永远不会选择强制字幕 +explicit_forced_subs=no + +# 指定包含 "sub-select.json" 文件的文件夹 +config=~~/script-opts \ No newline at end of file diff --git a/script-opts/thumbfast.conf b/script-opts/thumbfast.conf new file mode 100644 index 0000000..dd9c486 --- /dev/null +++ b/script-opts/thumbfast.conf @@ -0,0 +1,42 @@ +# Socket 路径 (留空自动设置) +socket= + +# 缩略图缓存路径 (留空自动设置) +thumbnail= + +# 最大缩略图大小(以像素为单位)(缩小以适合) +# 当启用 hidpi 时此值会自适应缩放 +max_height=200 +max_width=200 + +# 叠加 ID +overlay_id=42 + +# 在文件加载时生成缩略图器,以更快地获得初始缩略图。默认禁用 +spawn_first=no + +# 是否退出超时未活动的缩略图进程(秒),默认 0 即禁用 +quit_after_inactivity=0 + +# 在网络播放时启用。默认禁用 +network=no + +# 在音频播放时启用。默认禁用 +audio=no + +# 启用硬件解码生成缩略图。默认禁用 +# 注意:硬解在高端显卡上可以加速生成缩略图,但在低端显卡上可能会出问题 +hwdec=yes + +# 仅限 Windows:使用原生 Windows API 写入管道(需要 LuaJIT)。默认禁用 +direct_io=yes + +# 指定 mpv 可执行文件的自定义路径。默认:mpv +mpv_path=mpv + +# 指定需要忽略的视频扩展名黑名单,这些文件无法正常生成缩略图 +blacklist_ext=bdmv,ifo + +## 指定需忽略的共享盘(挂载盘)的路径/目录(缩略图生成性能差) +## windows 示例:excluded_dir=["X:", "Z:", "F:/Download/", "Download"] +#excluded_dir=[] \ No newline at end of file diff --git a/script-opts/trackselect.conf b/script-opts/trackselect.conf new file mode 100644 index 0000000..6c7afdd --- /dev/null +++ b/script-opts/trackselect.conf @@ -0,0 +1,30 @@ +# Options are slash-separated lists of words and languages +#是否启用脚本,默认 yes +enabled=yes +#同步选择曲目,与其他脚本一起更好地工作,默认 yes +hook=yes +#模仿 mpv 的曲目列表信息,以保留用户在文件中选择的曲目,默认 no +#注意此项必须设为 no,否则脚本功能无法真正生效 +fingerprint=no +#覆盖用户的显式曲目选择,默认 no +force=no +#如果 mpv 无法做到这一点,请尝试重新选择最后一个轨道,例如当信息更改时,默认 no +smart_keep=no +## 指定需忽略的特殊协议 +special_protocols=["://", "^magnet:"] + +#视频轨道筛选项设置 +#preferred_video_lang= +#excluded_video_words= +#expected_video_words= + +#音频轨道筛选项设置 +preferred_audio_lang=japanese/jpn/jap/ja/jp/english/eng/en +preferred_audio_channels=8/6/3/2 +excluded_audio_words=commentary/cast/staff/dub/guide +expected_audio_words= + +#字幕轨道筛选项设置 +#preferred_sub_lang=chs/sc/zh-CN/zh-Hans/cht/tc/zh-Hant/zh-HK/zh-TW/chi/zh +#excluded_sub_words= +#expected_sub_words=中日/中英/中上英下/双语/特效/简/繁/中 diff --git a/script-opts/uosc.conf b/script-opts/uosc.conf new file mode 100644 index 0000000..fcbf699 --- /dev/null +++ b/script-opts/uosc.conf @@ -0,0 +1,241 @@ +# 时间轴中当前位置的显示样式。可用:line, bar +timeline_style=bar +# 时间线(line)宽度(窗口/全屏模式) +timeline_line_width=2 +# 进度条完全展开时的时间轴大小,以像素为单位,0 表示禁用 +timeline_size=30 +# 背景颜色的顶部边框,有助于在视觉上将时间轴与视频分开 +timeline_border=1 +# 指定在时间线上使用鼠标滚轮时,跳转的步进秒数。默认:5 +# 默认使用快速查找。添加 '!' 后缀以启用精确查找。示例:'5!' +timeline_step=5 +# 是否在时间轴上显示网络内容的渲染缓存指标,默认:yes +timeline_cache=yes +# 设置时间轴应始终可见的状态。使用逗号分隔,可用:paused, audio, image, video, idle, windowed, fullscreen +timeline_persistency= +# 设置何时显示始终可见的进度条(最小化时间线)。可以是:windowed(默认值), fullscreen, always, never +# 也可以使用 `toggle-progress` 命令按需切换 +progress=windowed +progress_size=2 +progress_line_width=10 + +# 以逗号分隔的项列表,用于构造时间轴上方的控制栏。设置为`never`以禁用 +# 参数规范:括在`{}`中表示值,括在`[]`中表示可选 +# 完整的条目语法:`[<[!]{disposition1}[,[!]{dispositionN}]>]{element}[:{paramN}][#{badge}[>{limit}]][?{tooltip}]` +# +# 常用属性参考: +# `{icon}` 指定图标名称的参数(例如 face)这里查询所有可用的值 https://fonts.google.com/icons?icon.platform=web&icon.set=Material+Icons&icon.style=Rounded +# `{element}`的参数及介绍: +# `{shorthand}` - 以下的可用值都是预配置好的快捷指令,可作为按钮: +# play-pause(播放/暂停)menu(菜单)subtitles(字幕轨列表)audio(音轨列表)video(视频轨列表)playlist(播放列表)chapters(章节列表)editions(版本列表) +# stream-quality(流式传输品质偏好)open-file(文件浏览器)items(播放列表/文件浏览器) +# next(跳转下一个)prev(上一个)first(首位)last(末位)audio-device(音频输出设备列表) +# fullscreen(切换全屏)loop-playlist(切换列表循环)loop-file(切换单曲循环)shuffle(切换乱序播放)autoload(自动加载文件) +# +# speed[:{scale}] (速度滑块 其中控件系数的尺寸,默认 1.3) +# command:{icon}:{command} (按下该按钮时执行的指令) +# toggle:{icon}:{prop} (切换 mpv 属性的按钮) +# +# cycle:{default_icon}:{prop}:{value1}[={icon1}][!]/{valueN}[={iconN}][!] +# 在不同 mpv 属性的值之间循环的按钮,每个值都可以选择不同的 {icon} 和激活标记。结尾处赋予可选的半角感叹号,将使该按钮成为可激活的样式。 +# +# gap[:{scale}] (留出一个间隔 其中系数的尺寸,默认 0.3) +# space(填补上两个控件之间的所有空间,对于将条目右对齐非常有用。用多个 space 可在它们之间分配空间,可用于居中对齐) +# +# 控件条目的可见性控制: +## `<[!]{disposition1}[+[!]{dispositionN}][,{more_dispositions}]>` - 可选的前缀是用于控制 {element} 的可见性 +# - `+` 创建 AND 条件,`,` 拆分为 OR 组。示例:`` -> `foo OR (bar AND baz)` +# - `{disposition}` 的可用值: +## idle 如果 mpv 处于空闲状态则为 true +## image 如果当前文件为单帧图片则为 true +## audio 如果当前文件为纯音频则为 true +## video 如果当前文件存在视频轨则为 true +## has_many_video 如果当前文件存在多个视频轨则为 true +## has_image 如果当前文件带有封面或其他图像轨道则为 true +## has_audio 如果当前文件存在音轨则为 true +## has_many_audio 如果当前文件存在多个音轨则为 true +## has_sub 如果当前文件存在字幕轨则为 true +## has_many_sub 如果当前文件存在多个字幕轨则为 true +## has_many_edition 如果当前文件存在多个版本则为 true +## has_chapter 如果当前文件存在章节则为 true +## stream 如果当前文件为流则为 true +## has_playlist 如果当前列表存在多个文件则为 true +## {mpv_prop} 任何 mpv 属性(注意:可以在脚本中设置 `user-data/foo` 以添加自定义属性) +## 可选的`!`前缀可用来反转所需的处理方式 +## 示例: +## - `stream-quality` - 仅对流媒体显示“流式传输品质偏好”按钮 +## - `audio` - 对所有存在音轨的文件显示“音轨列表”按钮,但不包括纯音频的文件 +# +# 将 `#{badge}[>{limit}]` 放在 `{element}` 参数后,可赋予它一个徽章标记。可用的 `badge` 值: +## `sub`, `audio`, `video` - 轨道计数值 +## `{mpv_prop}` - 如果 mpv 的属性值是一个数组,将显示其大小。可用的属性参见:https://mpv.io/manual/master/#property-list +## `>{limit}` 只有当它的数值高于此阈值时,才会显示徽章标记 +## 示例:`#audio>1` +# +# 将 `?{tooltip}` 放在 `{element}` 的设置后面,赋予它一个工具提示 +## 示例:`stream-quality?Stream quality` +# +# 一些可用的快捷指令的实现示范: +## menu = command:menu:script-binding uosc/menu-blurred?Menu +## subtitles = command:subtitles:script-binding uosc/subtitles#sub>1?Subtitles +## fullscreen = cycle:crop_free:fullscreen:no/yes=fullscreen_exit!?Fullscreen +## loop-playlist = cycle:repeat:loop-playlist:no/inf!?Loop playlist +## toggle:{icon}:{prop} = cycle:{icon}:{prop}:no/yes! +controls=menu,open-file,command:history:script-binding recentmenu/open?最近播放,command:bookmarks:script-binding simplebookmark/open-list?书签菜单,command:file_copy:script-binding smartcopypaste_II/open-list?剪贴菜单,gap,command:analytics:script-binding stats/display-stats-toggle?统计,stream-quality,command:image:script-binding uosc/video#video?封面,editions, + +Supported backends: +* [ffsubsync](https://github.com/smacke/ffsubsync) +* [alass](https://github.com/kaegi/alass) + +## Installation + +0. Make sure you have mpv v0.33 or higher installed. + ``` + $ mpv --version + ``` +1. Install [FFmpeg](https://wiki.archlinux.org/index.php/FFmpeg): + ``` + $ pacman -S ffmpeg + ``` + Windows users have to manually install FFmpeg from [here](https://ffmpeg.zeranoe.com/builds/). +2. Install your retiming program of choice, +[ffsubsync](https://github.com/smacke/ffsubsync), [alass](https://github.com/kaegi/alass) or both: + ``` + $ pip install ffsubsync + ``` + ``` + $ trizen -S alass-git # for Arch-based distros + ``` + +3. Download the add-on and save it to your mpv scripts folder. + + | GNU/Linux | Windows | + |---|---| + | `~/.config/mpv/scripts` | `%AppData%\mpv\scripts\` | + + To do it in one command: + + ``` + $ git clone 'https://github.com/Ajatt-Tools/autosubsync-mpv' ~/.config/mpv/scripts/autosubsync + ``` + +## Configuration + +You can skip this step if the add-on works out of the box. + +Create a config file: + +| GNU/Linux | Windows | +|---|---| +| `~/.config/mpv/script-opts/autosubsync.conf` | `%AppData%\mpv\script-opts\autosubsync.conf` | + +Example config: + +``` +# Absolute paths to the executables, if needed: + +# 1. ffmpeg +ffmpeg_path=C:/Program Files/ffmpeg/bin/ffmpeg.exe +ffmpeg_path=/usr/bin/ffmpeg + +# 2. ffsubsync +ffsubsync_path=C:/Program Files/ffsubsync/ffsubsync.exe +ffsubsync_path=/home/user/.local/bin/ffsubsync + +# 3. alass +alass_path=C:/Program Files/ffmpeg/bin/alass.exe +alass_path=/usr/bin/alass + +# Preferred retiming tool. Allowed options: 'ffsubsync', 'alass', 'ask'. +# If set to 'ask', the add-on will ask to choose the tool every time: + +# 1. Preferred tool for syncing to audio. +audio_subsync_tool=ask +audio_subsync_tool=ffsubsync +audio_subsync_tool=alass + +# 2. Preferred tool for syncing to another subtitle. +altsub_subsync_tool=ask +altsub_subsync_tool=ffsubsync +altsub_subsync_tool=alass + +# Unload old subs (yes,no) +# After retiming, tell mpv to forget the original subtitle track. +unload_old_sub=yes +unload_old_sub=no +``` + +## Notes + +* On Windows, you need to use forward slashes or double backslashes for your path. +For example, `"C:\\Users\\YourPath\\Scripts\\ffsubsync"` +or `"C:/Users/YourPath/Scripts/ffsubsync"`, +or it might not work. + +* On GNU/Linux you can use `which ffsubsync` to find out where it is. + +## Usage + +When you have an out of sync sub, press `n` to synchronize it. + +`ffsubsync` can typically take up to about 20-30 seconds +to synchronize (I've seen it take as much as 2 minutes +with a very large file on a lower end computer), so it +would probably be faster to find another, properly +synchronized subtitle with `autosub` or `trueautosub`. +Many times this is just not possible, as all available +subs for your specific language are out of sync. + +Take into account that using this script has the +same limitations as `ffsubsync`, so subtitles that have +a lot of extra text or are meant for an entirely different +version of the video might not sync properly. `alass` is supposed +to handle some edge cases better, but I haven't fully tested it yet, +obtaining similar results with both. + +Note that the script will create a new subtitle file, in the same folder +as the original, with the `_retimed` suffix at the end. + +## Issues and feedback + +If you are having trouble getting it to work or you've found a bug, +feel free to [join our community](https://tatsumoto-ren.github.io/blog/join-our-community.html) to ask directly. + +Try to check if +[ffsubsync](https://github.com/smacke/ffsubsync) +or +[alass](https://github.com/kaegi/alass) +works properly outside of `mpv` first. +If the retiming tool of choice isn't working, `autosubsync` will likely fail. \ No newline at end of file diff --git a/scripts/autosubsync/autosubsync.lua b/scripts/autosubsync/autosubsync.lua new file mode 100644 index 0000000..38f438d --- /dev/null +++ b/scripts/autosubsync/autosubsync.lua @@ -0,0 +1,559 @@ +-- Usage: +-- default keybinding: n +-- add the following to your input.conf to change the default keybinding: +-- keyname script_binding autosubsync-menu + +local mp = require('mp') +local utils = require('mp.utils') +local mpopt = require('mp.options') +local menu = require('menu') +local sub = require('subtitle') +local ref_selector +local engine_selector +local track_selector + +-- Config +-- Options can be changed here or in a separate config file. +-- Config path: ~/.config/mpv/script-opts/autosubsync.conf +local config = { + -- Change the following lines if the locations of executables differ from the defaults + -- If set to empty, the path will be guessed. + ffmpeg_path = "", + ffsubsync_path = "", + alass_path = "", + + -- Choose what tool to use. Allowed options: ffsubsync, alass, ask. + -- If set to ask, the add-on will ask to choose the tool every time. + audio_subsync_tool = "ask", + altsub_subsync_tool = "ask", + + -- After retiming, tell mpv to forget the original subtitle track. + unload_old_sub = true, +} +mpopt.read_options(config, 'autosubsync') + +local function is_empty(var) + return var == nil or var == '' or (type(var) == 'table' and next(var) == nil) +end + +----- string +local function replace(str, what, with) + if is_empty(str) then return "" end + if is_empty(what) then return str end + if with == nil then with = "" end + what = string.gsub(what, "[%(%)%.%+%-%*%?%[%]%^%$%%]", "%%%1") + with = string.gsub(with, "[%%]", "%%%%") + return string.gsub(str, what, with) +end + +local function esc_for_title(string) + string = string:gsub('^[%._%-%s]*', '') + :gsub('%.%w+$', '') + return string +end + +local function esc_for_code(trackCode) + if trackCode:find("PGS") then trackCode = "PGS" + elseif trackCode:find("SUBRIP") then trackCode = "SRT" + elseif trackCode:find("VTT") then trackCode = "VTT" + elseif trackCode:find("DVD_SUB") then trackCode = "VOB_SUB" + elseif trackCode:find("DVB_SUB") then trackCode = "DVB_SUB" + elseif trackCode:find("DVB_TELE") then trackCode = "TELETEXT" + elseif trackCode:find("ARIB") then trackCode = "ARIB" + end + return trackCode +end + +-- Snippet borrowed from stackoverflow to get the operating system +-- originally found at: https://stackoverflow.com/a/30960054 +local os_name = (function() + if os.getenv("HOME") == nil then + return function() + return "Windows" + end + else + return function() + return "*nix" + end + end +end)() + +local os_temp = (function() + if os_name() == "Windows" then + return function() + return os.getenv('TEMP') + end + else + return function() + return '/tmp/' + end + end +end)() + +-- Courtesy of https://stackoverflow.com/questions/4990990/check-if-a-file-exists-with-lua +local function file_exists(filepath) + if not filepath then + return false + end + local f = io.open(filepath, "r") + if f ~= nil then + io.close(f) + return true + else + return false + end +end + +local function find_executable(name) + local os_path = os.getenv("PATH") or "" + local fallback_path = utils.join_path("/usr/bin", name) + local exec_path + for path in os_path:gmatch("[^:]+") do + exec_path = utils.join_path(path, name) + if file_exists(exec_path) then + return exec_path + end + end + return fallback_path +end + +local function notify(message, level, duration) + level = level or 'info' + duration = duration or 1 + mp.msg[level](message) + mp.osd_message(message, duration) +end + +local function subprocess(args) + return mp.command_native { + name = "subprocess", + playback_only = false, + capture_stdout = true, + args = args + } +end + +local url_decode = function(url) + local function hex_to_char(x) + return string.char(tonumber(x, 16)) + end + if url ~= nil then + url = url:gsub("^file://", "") + url = url:gsub("+", " ") + url = url:gsub("%%(%x%x)", hex_to_char) + return url + else + return + end +end + +local function get_loaded_tracks(track_type) + local result = {} + local track_list = mp.get_property_native('track-list') + for _, track in pairs(track_list) do + if track.type == track_type then + track['external-filename'] = track.external and url_decode(track['external-filename']) + table.insert(result, track) + end + end + return result +end + +local function get_active_track(track_type) + local track_list = mp.get_property_native('track-list') + for num, track in ipairs(track_list) do + if track.type == track_type and track.selected == true then + if track.external then + track['external-filename'] = url_decode(track['external-filename']) + end + if not (track_type == 'sub' and track.id == mp.get_property_native('secondary-sid')) then + return num, track + end + end + end + return notify(string.format("错误: 没有选择类型为 '%s' 的轨道", track_type), "error", 3) +end + +local function remove_extension(filename) + return filename:gsub('%.%w+$', '') +end + +local function get_extension(filename) + return filename:match("^.+(%.%w+)$") +end + +local function startswith(str, prefix) + return string.sub(str, 1, string.len(prefix)) == prefix +end + +local function mkfp_retimed(sub_path) + if not startswith(sub_path, os_temp()) then + return table.concat { remove_extension(sub_path), '_retimed', get_extension(sub_path) } + else + return table.concat { remove_extension(mp.get_property("path")), '_retimed', get_extension(sub_path) } + end +end + +local function engine_is_set() + local subsync_tool = ref_selector:get_subsync_tool() + if is_empty(subsync_tool) or subsync_tool == "ask" then + return false + else + return true + end +end + +local function extract_to_file(subtitle_track) + local codec_ext_map = { subrip = "srt", ass = "ass" } + local ext = codec_ext_map[subtitle_track['codec']] + if ext == nil then + return notify(string.format("错误: 不支持的格式: %s", subtitle_track['codec']), "error", 3) + end + local temp_sub_fp = utils.join_path(os_temp(), 'autosubsync_extracted.' .. ext) + notify("提取内封字幕...", nil, 3) + local screenx, screeny, aspect = mp.get_osd_size() + mp.set_osd_ass(screenx, screeny, "{\\an9}● ") + local ret = subprocess { + config.ffmpeg_path, + "-hide_banner", + "-nostdin", + "-y", + "-loglevel", "quiet", + "-an", + "-vn", + "-i", mp.get_property("path"), + "-map", "0:" .. (subtitle_track and subtitle_track['ff-index'] or 's'), + "-f", ext, + temp_sub_fp + } + mp.set_osd_ass(screenx, screeny, "") + if ret == nil or ret.status ~= 0 then + return notify("无法提取内封字幕.\n请先确保在脚本配置文件中为 ffmpeg 指定了正确的路径\n并确保视频有内封字幕.", "error", 7) + end + return temp_sub_fp +end + +local function sync_subtitles(ref_sub_path) + local reference_file_path = ref_sub_path or mp.get_property("path") + local _, sub_track = get_active_track('sub') + if sub_track == nil then + return + end + local subtitle_path = sub_track.external and sub_track['external-filename'] or extract_to_file(sub_track) + local engine_name = engine_selector:get_engine_name() + local engine_path = config[engine_name .. '_path'] + + if not file_exists(subtitle_path) then + return notify( + table.concat { + "字幕同步失败:\n无法找到 ", + subtitle_path or "外部字幕文件." + }, + "error", + 3 + ) + end + + local retimed_subtitle_path = mkfp_retimed(subtitle_path) + + notify(string.format("开始 %s...", engine_name), nil, 2) + + local ret + local screenx, screeny, aspect = mp.get_osd_size() + if engine_name == "ffsubsync" then + local args = { config.ffsubsync_path, reference_file_path, "-i", subtitle_path, "-o", retimed_subtitle_path } + if not ref_sub_path then + table.insert(args, '--reference-stream') + table.insert(args, '0:' .. get_active_track('audio')) + end + mp.set_osd_ass(screenx, screeny, "{\\an9}● ") + ret = subprocess(args) + mp.set_osd_ass(screenx, screeny, "") + else + mp.set_osd_ass(screenx, screeny, "{\\an9}● ") + ret = subprocess { config.alass_path, reference_file_path, subtitle_path, retimed_subtitle_path } + mp.set_osd_ass(screenx, screeny, "") + end + + if ret == nil then + return notify("解析失败或没有传递参数.", "fatal", 3) + end + + if ret.status == 0 then + local old_sid = mp.get_property("sid") + if mp.commandv("sub_add", retimed_subtitle_path) then + notify("字幕同步.", nil, 2) + mp.set_property("sub-delay", 0) + if config.unload_old_sub then + mp.commandv("sub_remove", old_sid) + end + else + notify("错误: 不能添加同步字幕.", "error", 3) + end + else + notify(string.format("字幕同步失败.\n请确保在脚本配置文件中为 %s 指定了正确的路径.\n或音轨提取失败", engine_name), "error", 3) + end +end + +local function sync_to_subtitle() + local selected_track = track_selector:get_selected_track() + + if selected_track and selected_track.external then + sync_subtitles(selected_track['external-filename']) + else + local temp_sub_fp = extract_to_file(selected_track) + if temp_sub_fp then + sync_subtitles(temp_sub_fp) + os.remove(temp_sub_fp) + end + end +end + +local function sync_to_manual_offset() + local _, track = get_active_track('sub') + local sub_delay = tonumber(mp.get_property("sub-delay")) + if tonumber(sub_delay) == 0 then + return notify("没有手动调整时轴,什么都做不了!", "error", 7) + end + local file_path = track.external and track['external-filename'] or extract_to_file(track) + if file_path == nil then + return + end + + local ext = get_extension(file_path) + local codec_parser_map = { ass = sub.ASS, subrip = sub.SRT } + local parser = codec_parser_map[track['codec']] + if parser == nil then + return notify(string.format("错误: 不支持的格式: %s", track['codec']), "error", 3) + end + local s = parser:populate(file_path) + s:shift_timing(sub_delay) + if track.external == false then + os.remove(file_path) + s.filename = mp.get_property("filename/no-ext") .. "_manual_timing" .. ext + else + s.filename = remove_extension(s.filename) .. '_manual_timing' .. ext + end + s:save() + mp.commandv("sub_add", s.filename) + if config.unload_old_sub then + mp.commandv("sub_remove", track.id) + end + mp.set_property("sub-delay", 0) + return notify(string.format("手动同步保存,加载 '%s'", s.filename), "info", 7) +end + +------------------------------------------------------------ +-- Menu actions & bindings + +ref_selector = menu:new { + items = { '与音频同步', '与其他字幕同步', '保存当前时轴', '退出' }, + last_choice = 'audio', + pos_x = 50, + pos_y = 50, + rect_width = 400, + text_color = 'fff5da', + border_color = '2f1728', + active_color = 'ff6b71', + inactive_color = 'fff5da', +} + +function ref_selector:get_keybindings() + return { + { key = 'h', fn = function() self:close() end }, + { key = 'j', fn = function() self:down() end }, + { key = 'k', fn = function() self:up() end }, + { key = 'l', fn = function() self:act() end }, + { key = 'down', fn = function() self:down() end }, + { key = 'up', fn = function() self:up() end }, + { key = 'Enter', fn = function() self:act() end }, + { key = 'ESC', fn = function() self:close() end }, + { key = 'n', fn = function() self:close() end }, + { key = 'WHEEL_DOWN', fn = function() self:down() end }, + { key = 'WHEEL_UP', fn = function() self:up() end }, + { key = 'MBTN_LEFT', fn = function() self:act() end }, + { key = 'MBTN_RIGHT', fn = function() self:close() end }, + } +end + +function ref_selector:new(o) + self.__index = self + o = o or {} + return setmetatable(o, self) +end + +function ref_selector:get_ref() + if self.selected == 1 then + return 'audio' + elseif self.selected == 2 then + return 'sub' + else + return nil + end +end + +function ref_selector:get_subsync_tool() + if self.selected == 1 then + return config.audio_subsync_tool + elseif self.selected == 2 then + return config.altsub_subsync_tool + end +end + +function ref_selector:act() + self:close() + + if self.selected == 3 then + return sync_to_manual_offset() + end + if self.selected == 4 then + return + end + + engine_selector:init() +end + +function ref_selector:call_subsync() + if self.selected == 1 then + sync_subtitles() + elseif self.selected == 2 then + sync_to_subtitle() + elseif self.selected == 3 then + sync_to_manual_offset() + end +end + +function ref_selector:open() + self.selected = 1 + for _, val in pairs(self:get_keybindings()) do + mp.add_forced_key_binding(val.key, val.key, val.fn) + end + self:draw() +end + +function ref_selector:close() + for _, val in pairs(self:get_keybindings()) do + mp.remove_key_binding(val.key) + end + self:erase() +end + + +------------------------------------------------------------ +-- Engine selector + +engine_selector = ref_selector:new { + items = { 'ffsubsync', 'alass', '退出' }, + last_choice = 'ffsubsync', +} + +function engine_selector:init() + if not engine_is_set() then + engine_selector:open() + else + track_selector:init() + end +end + +function engine_selector:get_engine_name() + return engine_is_set() and ref_selector:get_subsync_tool() or self.last_choice +end + +function engine_selector:act() + self:close() + + if self.selected == 1 then + self.last_choice = 'ffsubsync' + elseif self.selected == 2 then + self.last_choice = 'alass' + elseif self.selected == 3 then + return + end + + track_selector:init() +end + +------------------------------------------------------------ +-- Track selector + +track_selector = ref_selector:new { } + +function track_selector:init() + self.selected = 0 + + if ref_selector:get_ref() == 'audio' then + return ref_selector:call_subsync() + end + + self.all_sub_tracks = get_loaded_tracks(ref_selector:get_ref()) + self.tracks = {} + self.items = {} + + local filename = mp.get_property_native('filename/no-ext') + for _, track in ipairs(self.all_sub_tracks) do + local supported_format = true + if track.external then + local ext = get_extension(track['external-filename']) + if ext ~= '.srt' and ext ~= '.ass' then + supported_format = false + end + end + + if not track.selected and supported_format then + table.insert(self.tracks, track) + table.insert( + self.items, + string.format( + "%s #%s - %s%s%s", + (track.external and 'External' or 'Internal'), + track['id'], + (track.lang or (track.title and + esc_for_title(replace(track.title, filename, '')) or 'unknown')), + (track.codec and '[' .. esc_for_code(track.codec:upper()) .. ']' or ''), + (track.selected and ' (active)' or '') + ) + ) + end + end + + if #self.items == 0 then + notify("没有找到受支持的字幕轨道.", "warn", 5) + return + end + + table.insert(self.items, "退出") + self:open() +end + +function track_selector:get_selected_track() + if self.selected < 1 then + return nil + end + return self.tracks[self.selected] +end + +function track_selector:act() + self:close() + + if self.selected == #self.items then + return + end + + ref_selector:call_subsync() +end + +------------------------------------------------------------ +-- Initialize the addon + +local function init() + for _, executable in pairs { 'ffmpeg', 'ffsubsync', 'alass' } do + local config_key = executable .. '_path' + config[config_key] = is_empty(config[config_key]) and find_executable(executable) or config[config_key] + end +end + +------------------------------------------------------------ +-- Entry point + +init() +mp.add_key_binding("n", "autosubsync-menu", function() ref_selector:open() end) \ No newline at end of file diff --git a/scripts/autosubsync/main.lua b/scripts/autosubsync/main.lua new file mode 100644 index 0000000..cabda79 --- /dev/null +++ b/scripts/autosubsync/main.lua @@ -0,0 +1 @@ +require('autosubsync') \ No newline at end of file diff --git a/scripts/autosubsync/menu.lua b/scripts/autosubsync/menu.lua new file mode 100644 index 0000000..b6a0b21 --- /dev/null +++ b/scripts/autosubsync/menu.lua @@ -0,0 +1,107 @@ +------------------------------------------------------------ +-- Menu visuals + +local mp = require('mp') +local assdraw = require('mp.assdraw') +local Menu = assdraw.ass_new() + +function Menu:new(o) + self.__index = self + o = o or {} + o.selected = o.selected or 1 + o.canvas_width = o.canvas_width or 1280 + o.canvas_height = o.canvas_height or 720 + o.pos_x = o.pos_x or 0 + o.pos_y = o.pos_y or 0 + o.rect_width = o.rect_width or 320 + o.rect_height = o.rect_height or 40 + o.active_color = o.active_color or 'ffffff' + o.inactive_color = o.inactive_color or 'aaaaaa' + o.border_color = o.border_color or '000000' + o.text_color = o.text_color or 'ffffff' + + return setmetatable(o, self) +end + +function Menu:set_position(x, y) + self.pos_x = x + self.pos_y = y +end + +function Menu:font_size(size) + self:append(string.format([[{\fs%s}]], size)) +end + +function Menu:set_text_color(code) + self:append(string.format("{\\1c&H%s%s%s&\\1a&H05&}", code:sub(5, 6), code:sub(3, 4), code:sub(1, 2))) +end + +function Menu:set_border_color(code) + self:append(string.format("{\\3c&H%s%s%s&}", code:sub(5, 6), code:sub(3, 4), code:sub(1, 2))) +end + +function Menu:apply_text_color() + self:set_border_color(self.border_color) + self:set_text_color(self.text_color) +end + +function Menu:apply_rect_color(i) + self:set_border_color(self.border_color) + if i == self.selected then + self:set_text_color(self.active_color) + else + self:set_text_color(self.inactive_color) + end +end + +function Menu:draw_text(i) + local padding = 5 + local font_size = 25 + + self:new_event() + self:pos(self.pos_x + padding, self.pos_y + self.rect_height * (i - 1) + padding) + self:font_size(font_size) + self:apply_text_color(i) + self:append(self.items[i]) +end + +function Menu:draw_item(i) + self:new_event() + self:pos(self.pos_x, self.pos_y) + self:apply_rect_color(i) + self:draw_start() + self:rect_cw(0, 0 + (i - 1) * self.rect_height, self.rect_width, i * self.rect_height) + self:draw_stop() + self:draw_text(i) +end + +function Menu:draw() + self.text = '' + for i, _ in ipairs(self.items) do + self:draw_item(i) + end + + mp.set_osd_ass(self.canvas_width, self.canvas_height, self.text) +end + +function Menu:erase() + mp.set_osd_ass(self.canvas_width, self.canvas_height, '') +end + +function Menu:up() + self.selected = self.selected - 1 + if self.selected == 0 then + self.selected = #self.items + end + self:draw() +end + +function Menu:down() + self.selected = self.selected + 1 + if self.selected > #self.items then + self.selected = 1 + end + self:draw() +end + +return Menu \ No newline at end of file diff --git a/scripts/autosubsync/subtitle.lua b/scripts/autosubsync/subtitle.lua new file mode 100644 index 0000000..2720d9f --- /dev/null +++ b/scripts/autosubsync/subtitle.lua @@ -0,0 +1,276 @@ +local P = {} + +local TimeStamp = {} +local TimeStamp_mt = { __index = TimeStamp } +function TimeStamp:new(hours, minutes, seconds) + local new = {} + new.hours = hours + new.minutes = minutes + new.seconds = seconds + return setmetatable(new, TimeStamp_mt) +end + +function TimeStamp.toTimeStamp(seconds) + local diff, h, m, s = seconds, 0, 0, 0 + h = math.floor(diff / 3600) + diff = diff - (h * 3600) + m = math.floor(diff / 60) + diff = diff - (m * 60) + s = diff + return TimeStamp:new(h, m, s) +end + +function TimeStamp:toSeconds() + return (3600 * self.hours) + (60 * self.minutes) + self.seconds +end + +function TimeStamp:adjustTime(seconds) + return self.toTimeStamp(self:toSeconds() + seconds) +end + +function TimeStamp:toString(decimal_symbol) + local seconds_fmt = string.format("%06.3f", self.seconds):gsub("%.", decimal_symbol) + return string.format("%02d:%02d:%s", self.hours, self.minutes, seconds_fmt) +end + +function TimeStamp.to_seconds(seconds, milliseconds) + return tonumber(string.format("%s.%s", seconds, milliseconds)) +end + +local AbstractSubtitle = {} +local AbstractSubtitle_mt = { __index = AbstractSubtitle } + +function AbstractSubtitle:create() + local new = {} + return setmetatable(new, AbstractSubtitle_mt) +end + +function AbstractSubtitle:save() + print(string.format("Writing '%s' to file..", self.filename)) + local f = io.open(self.filename, 'w') + f:write(self:toString()) + f:close() +end + +-- strip Byte Order Mark from file, if it's present +function AbstractSubtitle:sanitize(line) + local bom_table = { 0xEF, 0xBB, 0xBF } -- TODO maybe add other ones (like UTF-16) + local function has_bom() + for i = 1, #bom_table do + if i > #line then return false end + local ch, byte = line:sub(i, i), line:byte(i, i) + if byte ~= bom_table[i] then return false end + end + return true + end + return has_bom() and string.sub(line, #bom_table + 1) or line +end + +local function trim(s) + return s:match "^%s*(.-)%s*$" +end + +function AbstractSubtitle:parse_file(filename) + local lines = {} + for line in io.lines(filename) do + if #lines == 0 then line = self:sanitize(line) end + line = line:gsub('\r\n?', '') -- make sure there's no carriage return + line = trim(line) + table.insert(lines, line) + end + return lines +end + +function AbstractSubtitle:shift_timing(diff_seconds) + for _, entry in pairs(self.entries) do + if self.valid_entry(entry) then + entry.start_time = entry.start_time:adjustTime(diff_seconds) + entry.end_time = entry.end_time:adjustTime(diff_seconds) + end + end +end + +function AbstractSubtitle.valid_entry(entry) + return entry ~= nil +end + +local function inheritsFrom (baseClass) + local new_class = {} + local class_mt = { __index = new_class } + + function new_class:create(filename) + local instance = { + filename = filename, + language = nil, + header = nil, -- will be empty for srt, some stuff for ass + entries = {} -- list of entries + } + setmetatable(instance, class_mt) + return instance + end + + if baseClass then + setmetatable(new_class, { __index = baseClass }) + end + return new_class +end + +local SRT = inheritsFrom(AbstractSubtitle) +function SRT.entry() + return { index = nil, start_time = nil, end_time = nil, text = {} } +end + +function SRT:populate(filename) + local timestamp_fmt = "^(%d+):(%d+):(%d+),(%d+) %-%-> (%d+):(%d+):(%d+),(%d+)$" + local function parse_timestamp(timestamp) + local function to_seconds(seconds, milliseconds) + return tonumber(string.format("%s.%s", seconds, milliseconds)) + end + local _, _, from_h, from_m, from_s, from_ms, to_h, to_m, to_s, to_ms = timestamp:find(timestamp_fmt) + return TimeStamp:new(from_h, from_m, to_seconds(from_s, from_ms)), TimeStamp:new(to_h, to_m, to_seconds(to_s, to_ms)) + end + + local new = self:create(filename) + local entry = self.entry() + local f_idx, idx = 1, 1 + for _, line in pairs(self:parse_file(filename)) do + if idx == 1 and #line > 0 then + assert(line:match("^%d+$"), string.format("SRT FORMAT ERROR (line %d): expected a number but got '%s'", f_idx, line)) + entry.index = line + elseif idx == 2 then + assert(line:match("^%d+:%d+:%d+,%d+ %-%-> %d+:%d+:%d+,%d+$"), string.format("SRT FORMAT ERROR (line %d): expected a timecode string but got '%s'", f_idx, line)) + local t_start, t_end = parse_timestamp(line) + entry.start_time, entry.end_time = t_start, t_end + else + if #line == 0 then + -- end of text + if entry.index ~= nil then + table.insert(new.entries, entry) + end + entry = SRT.entry() + idx = 0 + else + table.insert(entry.text, line) + end + end + idx = idx + 1 + f_idx = f_idx + 1 + end + return new +end + +function SRT:toString() + local stringbuilder = {} + local function append(s) + table.insert(stringbuilder, s) + end + for _, entry in pairs(self.entries) do + append(entry.index) + local timestamp_string = string.format("%s --> %s", entry.start_time:toString(","), entry.end_time:toString(",")) + append(timestamp_string) + if type(entry.text) == 'table' then + append(table.concat(entry.text, "\n")) + else append(entry.text) end + append('') + end + return table.concat(stringbuilder, '\n') +end + +local ASS = inheritsFrom(AbstractSubtitle) +ASS.header_mapper = { ["Start"] = "start_time", ["End"] = "end_time" } + +function ASS.valid_entry(entry) + return entry['type'] ~= nil +end + +function ASS:toString() + local stringbuilder = {} + local function append(s) table.insert(stringbuilder, s) end + append(self.header) + append('[Events]') + for i = 1, #self.entries do + if i == 1 then + -- stringbuilder for events header + local event_sb = {}; + for _, v in pairs(self.event_header) do table.insert(event_sb, v) end + append(string.format("Format: %s", table.concat(event_sb, ", "))) + end + local entry = self.entries[i] + local entry_sb = {} + for _, col in pairs(self.event_header) do + local value = entry[col] + local timestamp_entry_column = self.header_mapper[col] + if timestamp_entry_column then + value = entry[timestamp_entry_column]:toString(".") + end + table.insert(entry_sb, value) + end + append(string.format("%s: %s", entry['type'], table.concat(entry_sb, ","))) + end + return table.concat(stringbuilder, '\n') +end + +function ASS:populate(filename, language) + local header, events, parser = {}, {}, nil + for _, line in pairs(self:parse_file(filename)) do + local _, _, event = string.find(line, "^%[([^%]]+)%]%s*$") + if event then + if event == "Events" then + parser = function(x) table.insert(events, x) end + else + parser = function(x) table.insert(header, x) end + parser(line) + end + else + parser(line) + end + end + -- create subtitle instance + local ev_regex = "^(%a+):%s(.+)$" + local function parse_event(header_columns, ev) + local function create_timestamp(timestamp_str) + local timestamp_fmt = "^(%d+):(%d+):(%d+).(%d+)" + local _, _, h, m, s, ms = timestamp_str:find(timestamp_fmt) + return TimeStamp:new(h, m, TimeStamp.to_seconds(s, ms)) + end + local new_event = {} + local _, _, ev_type, ev_values = string.find(ev, ev_regex) + new_event['type'] = ev_type + -- skipping last column, since that's the text, which can contain commas + local last_idx = 0; + for i = 1, #header_columns - 1 do + local col = header_columns[i] + local idx = string.find(ev_values, ",", last_idx + 1) + local val = ev_values:sub(last_idx + 1, idx - 1) + local timestamp_entry_column = self.header_mapper[col] + if timestamp_entry_column then + new_event[timestamp_entry_column] = create_timestamp(val) + else + new_event[col] = val + end + last_idx = idx + end + new_event[header_columns[#header_columns]] = ev_values:sub(last_idx + 1) + return new_event + end + + local sub = self:create(filename) + sub.header = table.concat(header, "\n") + sub.language = language + -- remove and process first entry in events, which is a header + local _, _, colstring = string.find(table.remove(events, 1), "^%a+:%s(.+)$") + local columns = {}; + for i in colstring:gmatch("[^%,%s]+") do table.insert(columns, i) end + sub.event_header = columns + for _, event in pairs(events) do + if #event > 0 then + table.insert(sub.entries, parse_event(columns, event)) + end + end + return sub +end + +P.AbstractSubtitle = AbstractSubtitle +P.ASS = ASS +P.SRT = SRT +return P \ No newline at end of file diff --git a/scripts/blacklist-extensions.lua b/scripts/blacklist-extensions.lua new file mode 100644 index 0000000..0990662 --- /dev/null +++ b/scripts/blacklist-extensions.lua @@ -0,0 +1,78 @@ +opts = { + blacklist="", + whitelist="", + remove_files_without_extension = false, + oneshot = true, +} +(require 'mp.options').read_options(opts) +local msg = require 'mp.msg' + +function split(input) + local ret = {} + for str in string.gmatch(input, "([^,]+)") do + ret[#ret + 1] = str + end + return ret +end + +opts.blacklist = split(opts.blacklist) +opts.whitelist = split(opts.whitelist) + +local exclude +if #opts.whitelist > 0 then + exclude = function(extension) + for _, ext in pairs(opts.whitelist) do + if extension == ext then + return false + end + end + return true + end +elseif #opts.blacklist > 0 then + exclude = function(extension) + for _, ext in pairs(opts.blacklist) do + if extension == ext then + return true + end + end + return false + end +else + return +end + +function should_remove(filename) + if string.find(filename, "://") then + return false + end + local extension = string.match(filename, "%.([^%.]+)$") + if not extension and opts.remove_file_without_extension then + return true + end + if extension and exclude(string.lower(extension)) then + return true + end + return false +end + +function process(playlist_count) + if playlist_count < 2 then return end + if opts.oneshot then + mp.unobserve_property(observe) + end + local playlist = mp.get_property_native("playlist") + local removed = 0 + for i = #playlist, 1, -1 do + if should_remove(playlist[i].filename) then + mp.commandv("playlist-remove", i-1) + removed = removed + 1 + end + end + if removed == #playlist then + msg.warn("Removed eveything from the playlist") + end +end + +function observe(k,v) process(v) end + +mp.observe_property("playlist-count", "number", observe) diff --git a/scripts/chapter-make-read.lua b/scripts/chapter-make-read.lua new file mode 100644 index 0000000..a0cc91c --- /dev/null +++ b/scripts/chapter-make-read.lua @@ -0,0 +1,618 @@ +--[[ + * chapter-make-read.lua v.2025-03-01 + * + * AUTHORS: dyphire + * License: MIT + * link: https://github.com/dyphire/mpv-scripts +--]] + +--[[ +Copyright (c) 2023 dyphire + +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. +--]] + +-- Implementation read and automatically load the namesake external chapter file. +-- The external chapter files should conform to the following formats. +-- Note: The Timestamps should use the 12-bit format of 'hh:mm:ss.sss'. +-- Note: The file encoding should be UTF-8 and the linebreak should be Unix(LF). +-- Note: The script also supports reading OGM format and MediaInfo format in addition to the following formats. +--[[ +00:00:00.000 A part +00:00:40.312 OP +00:02:00.873 B part +00:10:44.269 C part +00:22:40.146 ED +--]] + +-- This script also supports manually load/refresh,marks,edits,remove and creates external chapter files, usage: +-- Note: It can also be used to export the existing chapter information of the playback file. +-- add bindings to input.conf: +-- key script-message-to chapter_make_read load_chapter +-- key script-message-to chapter_make_read create_chapter +-- key script-message-to chapter_make_read edit_chapter +-- key script-message-to chapter_make_read remove_chapter +-- key script-message-to chapter_make_read write_chapter chp +-- key script-message-to chapter_make_read write_chapter ogm + +local msg = require 'mp.msg' +local utils = require 'mp.utils' +local options = require "mp.options" + +local o = { + autoload = true, + autosave = false, + force_overwrite = false, + -- Specifies the extension of the external chapter file. + chapter_file_ext = ".chp", + -- Select whether the external chapter file needs to match the extension of the source file. + basename_with_ext = true, + -- Specifies the subpath of the same directory as the playback file as the external chapter file path. + -- Note: The external chapter file is read from the subdirectory first. + -- If the file does not exist, it will next be read from the same directory as the playback file. + external_chapter_subpath = "chapters", + -- save all chapter files in a single global directory + global_chapters = false, + global_chapters_dir = "~~/chapters", + -- hash works only in global_chapters_dir + hash = false, + -- ask for title or leave it empty + ask_for_title = true, + -- placeholder when asking for title of a new chapter + placeholder_title = "Chapter ", + -- pause the playback when asking for chapter title + pause_on_input = true, +} + +options.read_options(o) + +local input_loaded, input = pcall(require, "mp.input") +-- Requires: https://github.com/CogentRedTester/mpv-user-input +local user_input_loaded, user_input = pcall(require, "user-input-module") + +local path = nil +local dir = nil +local fname = nil +local chapter_fullpath = nil +local all_chapters = {} +local chapter_count = 0 +local chapters_modified = false +local paused = false +local protocol = false + +local function is_protocol(path) + return type(path) == 'string' and (path:find('^%a[%w.+-]-://') ~= nil or path:find('^%a[%w.+-]-:%?') ~= nil) +end + +function url_decode(str) + local function hex_to_char(x) + return string.char(tonumber(x, 16)) + end + + if str ~= nil then + str = str:gsub('^%a[%a%d-_]+://', '') + :gsub('^%a[%a%d-_]+:\\?', '') + :gsub('%%(%x%x)', hex_to_char) + if str:find('://localhost:?') then + str = str:gsub('^.*/', '') + end + str = str:gsub('[\\/:%?]*', '') + return str + end +end + +--create global_chapters_dir if it doesn't exist +local global_chapters_dir = mp.command_native({ "expand-path", o.global_chapters_dir }) +if global_chapters_dir and global_chapters_dir ~= '' then + local meta = utils.file_info(global_chapters_dir) + if not meta or not meta.is_dir then + local is_windows = package.config:sub(1, 1) == "\\" + local windows_args = { 'powershell', '-NoProfile', '-Command', 'mkdir', string.format("\"%s\"", global_chapters_dir) } + local unix_args = { 'mkdir', '-p', global_chapters_dir } + local args = is_windows and windows_args or unix_args + local res = mp.command_native({ name = "subprocess", capture_stdout = true, playback_only = false, args = args }) + if res.status ~= 0 then + msg.error("Failed to create global_chapters_dir save directory " .. global_chapters_dir .. + ". Error: " .. (res.error or "unknown")) + return + end + end +end + +local function read_chapter(func) + local meta = utils.file_info(chapter_fullpath) + if not meta or not meta.is_file then return end + local f = io.open(chapter_fullpath, "r") + if not f then return end + local contents = {} + for line in f:lines() do + table.insert(contents, (func(line))) + end + f:close() + return contents +end + +local function read_chapter_table() + local line_pos = 0 + return read_chapter(function(line) + local h, m, s, t, n, l + local thin_space = string.char(0xE2, 0x80, 0x89) + local line = line:gsub(thin_space, " ") + if line:match("^%d+:%d+:%d+") ~= nil then + h, m, s = line:match("^(%d+):(%d+):(%d+[,%.]?%d+)") + s = s:gsub(',', '.') + t = h * 3600 + m * 60 + s + if line:match("^%d+:%d+:%d+[,%.]?%d+[,%s].*") ~= nil then + n = line:match("^%d+:%d+:%d+[,%.]?%d+[,%s](.*)") + n = n:gsub(":%s%a?%a?:", "") + :gsub("^%s*(.-)%s*$", "%1") + end + l = line + line_pos = line_pos + 1 + elseif line:match("^%d+:%d+[,%.]?%d+[,%s].*") ~= nil then + m, s = line:match("^(%d+):(%d+[,%.]?%d+)") + s = s:gsub(',', '.') + t = m * 60 + s + if line:match("^%d+:%d+[,%.]?%d+[,%s].*") ~= nil then + n = line:match("^%d+:%d+[,%.]?%d+[,%s](.*)") + n = n:gsub(":%s%a?%a?:", "") + :gsub("^%s*(.-)%s*$", "%1") + end + l = line + line_pos = line_pos + 1 + elseif line:match("^CHAPTER%d+=%d+:%d+:%d+") ~= nil then + h, m, s = line:match("^CHAPTER%d+=(%d+):(%d+):(%d+[,%.]?%d+)") + s = s:gsub(',', '.') + t = h * 3600 + m * 60 + s + l = line + line_pos = line_pos + 1 + elseif line:match("^CHAPTER%d+NAME=.*") ~= nil then + n = line:gsub("^CHAPTER%d+NAME=", "") + n = n:gsub("^%s*(.-)%s*$", "%1") + l = line + line_pos = line_pos + 1 + else + return + end + return { found_title = n, found_time = t, found_line = l } + end) +end + +local function refresh_globals() + path = mp.get_property("path") + if path then + protocol = is_protocol(path) + dir = utils.split_path(path) + end + + if protocol then + fname = url_decode(mp.get_property("media-title")) + elseif o.basename_with_ext then + fname = mp.get_property("filename") + else + fname = mp.get_property("filename/no-ext") + end + + all_chapters = mp.get_property_native("chapter-list") + chapter_count = mp.get_property_number("chapter-list/count") +end + +local function format_time(seconds) + local result = "" + local hours, mins, secs, msecs + if seconds <= 0 then + return "00:00:00.000"; + else + hours = string.format("%02.f", math.floor(seconds / 3600)) + mins = string.format("%02.f", math.floor(seconds / 60 - (hours * 60))) + secs = string.format("%02.f", math.floor(seconds - hours * 60 * 60 - mins * 60)) + msecs = string.format("%03.f", seconds * 1000 - hours * 60 * 60 * 1000 - mins * 60 * 1000 - secs * 1000) + result = hours .. ":" .. mins .. ":" .. secs .. "." .. msecs + end + return result +end + +-- for unix use only +-- returns a table of command path and varargs, or nil if command was not found +local function command_exists(command, ...) + msg.debug("looking for command:", command) + -- msg.debug("args:", ) + local process = mp.command_native({ + name = "subprocess", + capture_stdout = true, + capture_stderr = true, + playback_only = false, + args = {"sh", "-c", "command -v -- " .. command} + }) + + if process.status == 0 then + local command_path = process.stdout:gsub("\n", "") + msg.debug("command found:", command_path) + return {command_path, ...} + else + msg.debug("command not found:", command) + return nil + end +end + +-- returns md5 hash of the full path of the current media file +local function hash(path) + if path == nil then + msg.debug("something is wrong with the path, can't get full_path, can't hash it") + return + end + + msg.debug("hashing:", path) + + local cmd = { + name = 'subprocess', + capture_stdout = true, + playback_only = false, + } + + local args = nil + local is_unix = package.config:sub(1,1) == "/" + if is_unix then + local md5 = command_exists("md5sum") or command_exists("md5") or command_exists("openssl", "md5 | cut -d ' ' -f 2") + if md5 == nil then + msg.warn("no md5 command found, can't generate hash") + return + end + md5 = table.concat(md5, " ") + cmd["stdin_data"] = path + args = {"sh", "-c", md5 .. " | cut -d ' ' -f 1 | tr '[:lower:]' '[:upper:]'" } + else --windows + -- https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-filehash?view=powershell-7.3 + local hash_command = [[ + $s = [System.IO.MemoryStream]::new(); + $w = [System.IO.StreamWriter]::new($s); + $w.write(']] .. path .. [['); + $w.Flush(); + $s.Position = 0; + Get-FileHash -Algorithm MD5 -InputStream $s | Select-Object -ExpandProperty Hash + ]] + + args = {"powershell", "-NoProfile", "-Command", hash_command} + end + cmd["args"] = args + msg.debug("hash cmd:", utils.to_string(cmd)) + local process = mp.command_native(cmd) + + if process.status == 0 then + local hash = process.stdout:gsub("%s+", "") + msg.debug("hash:", hash) + return hash + else + msg.warn("hash function failed") + return + end +end + +local function get_chapter_filename(path) + name = hash(path) + if name == nil then + msg.warn("hash function failed, fallback to filename") + name = fname + end + return name +end + +local function mark_chapter(force_overwrite) + refresh_globals() + if not path then return end + + local chapter_index = 0 + local chapters_time = {} + local chapters_title = {} + local fpath = dir + if protocol then + fpath = global_chapters_dir + if o.hash then fname = get_chapter_filename(path) end + elseif o.external_chapter_subpath ~= '' then + fpath = utils.join_path(dir, o.external_chapter_subpath) + local meta = utils.file_info(fpath) + if not meta or not meta.is_dir then + fpath = dir + end + end + + if o.global_chapters and global_chapters_dir and global_chapters_dir ~= '' and not protocol then + fpath = global_chapters_dir + local meta = utils.file_info(fpath) + if meta and meta.is_dir then + if o.hash then + fname = get_chapter_filename(path) + end + end + end + + local chapter_filename = fname .. o.chapter_file_ext + chapter_fullpath = utils.join_path(fpath, chapter_filename) + local fmeta = utils.file_info(chapter_fullpath) + if (not fmeta or not fmeta.is_file) and fpath ~= dir and not protocol then + if o.basename_with_ext then + fname = mp.get_property("filename") + else + fname = mp.get_property("filename/no-ext") + end + chapter_filename = fname .. o.chapter_file_ext + chapter_fullpath = utils.join_path(dir, chapter_filename) + end + local list_contents = read_chapter_table() + + if not list_contents then return end + for i = 1, #list_contents do + local chapter_time = tonumber(list_contents[i].found_time) + if chapter_time ~= nil and chapter_time >= 0 then + table.insert(chapters_time, chapter_time) + end + if list_contents[i].found_title ~= nil then + table.insert(chapters_title, list_contents[i].found_title) + end + end + if not chapters_time[1] then return end + + table.sort(chapters_time, function(a, b) return a < b end) + + if force_overwrite then all_chapters = {} end + for i = 1, #chapters_time do + chapter_index = chapter_index + 1 + all_chapters[chapter_index] = { + title = chapters_title[i] or ("Chapter " .. string.format("%02.f", chapter_index)), + time = chapters_time[i] + } + end + + table.sort(all_chapters, function(a, b) return a['time'] < b['time'] end) + + mp.set_property_native("chapter-list", all_chapters) + msg.info("load external chapter file successful: " .. chapter_filename) +end + +local function change_chapter_list(chapter_tltle, chapter_index) + local chapter_list = mp.get_property_native("chapter-list") + + if chapter_index > mp.get_property_number("chapter-list/count") then + msg.warn("can't set chapter title") + return + end + + chapter_list[chapter_index].title = chapter_tltle + mp.set_property_native("chapter-list", chapter_list) +end + +local function change_title_callback(user_input, err, chapter_index) + if user_input == nil or err ~= nil then + if paused then return elseif o.pause_on_input then mp.set_property_native("pause", false) end + msg.warn("no chapter title provided:", err) + return + end + change_chapter_list(user_input, chapter_index) + if paused then return elseif o.pause_on_input then mp.set_property_native("pause", false) end + chapters_modified = true +end + +local function input_title(default_input, cursor_pos, chapter_index) + input.get({ + prompt = 'Chapter title:', + default_text = default_input, + cursor_position = cursor_pos, + submit = function(text) + input.terminate() + change_chapter_list(text, chapter_index) + end, + closed = function() + if paused then return elseif o.pause_on_input then mp.set_property_native("pause", false) end + end + }) +end + +local function input_choice(title, chapter_index) + if not input_loaded and not user_input_loaded then + msg.error("no mpv-user-input, can't get user input, install: https://github.com/CogentRedTester/mpv-user-input") + return + end + + if input_loaded then + input_title(title, #title + 1, chapter_index) + elseif user_input_loaded then + -- ask user for chapter title + -- (+1 because mpv indexes from 0, lua from 1) + user_input.get_user_input(change_title_callback, { + request_text = "Chapter title:", + default_input = title, + cursor_pos = #title + 1, + }, chapter_index) + end +end + +local function create_chapter() + refresh_globals() + if not path then return end + + local time_pos = mp.get_property_number("time-pos") + local time_pos_osd = mp.get_property_osd("time-pos/full") + local current_chapter = mp.get_property_number("chapter") + mp.osd_message(time_pos_osd, 1) + + if chapter_count == 0 then + all_chapters[1] = { + title = o.placeholder_title .. "01", + time = time_pos + } + -- We just set it to zero here so when we add 1 later it ends up as 1 + -- otherwise it's probably "nil" + current_chapter = 0 + -- note that mpv will treat the beginning of the file as all_chapters[0] when using pageup/pagedown + -- so we don't actually have to worry if the file doesn't start with a chapter + else + -- to insert a chapter we have to increase the index on all subsequent chapters + -- otherwise we'll end up with duplicate chapter IDs which will confuse mpv + -- +2 looks weird, but remember mpv indexes at 0 and lua indexes at 1 + -- adding two will turn "current chapter" from mpv notation into "next chapter" from lua's notation + -- count down because these areas of memory overlap + for i = chapter_count, current_chapter + 2, -1 do + all_chapters[i + 1] = all_chapters[i] + end + all_chapters[current_chapter + 2] = { + title = o.placeholder_title .. string.format("%02.f", current_chapter + 2), + time = time_pos + } + end + mp.set_property_native("chapter-list", all_chapters) + mp.set_property_number("chapter", current_chapter + 1) + chapters_modified = true + + if o.ask_for_title then + local chapter_index = mp.get_property_number("chapter") + 1 + local title = o.placeholder_title .. string.format("%02.f", chapter_index) + + input_choice(title, chapter_index) + + if o.pause_on_input then + paused = mp.get_property_native("pause") + mp.set_property_bool("pause", true) + -- FIXME: for whatever reason osd gets hidden when we pause the + -- playback like that, workaround to make input prompt appear + -- right away without requiring mouse or keyboard action + mp.osd_message(" ", 0.1) + end + end +end + +local function edit_chapter() + local chapter_index = mp.get_property_number("chapter") + 1 + local chapter_list = mp.get_property_native("chapter-list") + local title = chapter_list[chapter_index + 1].title + if chapter_index == nil or chapter_index == -1 then + msg.verbose("no chapter selected, nothing to edit") + return + end + + input_choice(title, chapter_index) + + if o.pause_on_input then + paused = mp.get_property_native("pause") + mp.set_property_bool("pause", true) + -- FIXME: for whatever reason osd gets hidden when we pause the + -- playback like that, workaround to make input prompt appear + -- right away without requiring mouse or keyboard action + mp.osd_message(" ", 0.1) + end +end + +local function remove_chapter() + local chapter_count = mp.get_property_number("chapter-list/count") + + if chapter_count < 1 then + msg.verbose("no chapters to remove") + return + end + + local chapter_list = mp.get_property_native("chapter-list") + -- +1 because mpv indexes from 0, lua from 1 + local current_chapter = mp.get_property_number("chapter") + 1 + + table.remove(chapter_list, current_chapter) + msg.debug("removing chapter", current_chapter) + + mp.set_property_native("chapter-list", chapter_list) + chapters_modified = true +end + +local function write_chapter(format, force_write) + refresh_globals() + if not path or chapter_count == 0 or (not chapters_modified and not force_write) then + msg.debug("nothing to write") + return + end + + if o.global_chapters then dir = global_chapters_dir end + if o.hash and o.global_chapters then fname = get_chapter_filename(path) end + local out_path = utils.join_path(dir, fname .. o.chapter_file_ext) + local chapters = "" + local next_chapter = nil + for i = 1, chapter_count, 1 do + local current_chapter = all_chapters[i] + local time_pos = format_time(current_chapter.time) + if format == "ogm" then + next_chapter = "CHAPTER" .. string.format("%02.f", i) .. "=" .. time_pos .. "\n" .. + "CHAPTER" .. string.format("%02.f", i) .. "NAME=" .. current_chapter.title .. "\n" + elseif format == "chp" then + next_chapter = time_pos .. " " .. current_chapter.title .. "\n" + else + msg.warn("please specify the correct chapter format: chp/ogm.") + return + end + if i == 1 and (o.global_chapters or protocol) then + chapters = "# " .. path .. "\n\n" .. next_chapter + else + chapters = chapters .. next_chapter + end + end + + local file = io.open(out_path, "w") + if file == nil then + dir = global_chapters_dir + fname = url_decode(mp.get_property("media-title")) + if o.hash then fname = get_chapter_filename(path) end + out_path = utils.join_path(dir, fname .. o.chapter_file_ext) + file = io.open(out_path, "w") + end + if file == nil then + mp.error("Could not open chapter file for writing.") + return + end + file:write(chapters) + file:close() + if not o.autosave then + mp.osd_message("Export chapter file to: " .. out_path, 3) + end + msg.info("Export chapter file to: " .. out_path) +end + +-- HOOKS ----------------------------------------------------------------------- + +if o.autoload then + mp.add_hook("on_preloaded", 50, function() + if o.force_overwrite then + mark_chapter(true) + else + mark_chapter(false) + end + end) +end + +if o.autosave then + mp.add_hook("on_unload", 50, function() + write_chapter("chp", false) + end) +end + +if user_input_loaded and not input_loaded then + mp.add_hook("on_unload", 50, function() user_input.cancel_user_input() end) +end + +mp.register_script_message("load_chapter", function() mark_chapter(true) end) +mp.register_script_message("create_chapter", create_chapter, { repeatable = true }) +mp.register_script_message("remove_chapter", remove_chapter) +mp.register_script_message("edit_chapter", edit_chapter) +mp.register_script_message("write_chapter", function(format) + write_chapter(format, true) +end) \ No newline at end of file diff --git a/scripts/chapterskip.lua b/scripts/chapterskip.lua new file mode 100644 index 0000000..aa6bb38 --- /dev/null +++ b/scripts/chapterskip.lua @@ -0,0 +1,91 @@ +-- chapterskip.lua +-- +-- Ain't Nobody Got Time for That +-- +-- This script skips chapters based on their title. + +local categories = { + prologue = "^[Pp]rologue/^[Ii]ntro", + opening = "^OP/ OP$/^[Oo]pening/[Oo]pening$", + ending = "^ED/ ED$/^[Ee]nding/[Ee]nding$", + credits = "^[Cc]redits/[Cc]redits$", + preview = "[Pp]review$" +} + +local options = { + enabled = false, + skip_once = true, + categories = "", + skip = "" +} + +mp.options = require "mp.options" + +function matches(i, title) + for category in string.gmatch(options.skip, " *([^;]*[^; ]) *") do + if categories[category:lower()] then + if string.find(category:lower(), "^idx%-") == nil then + if title then + for pattern in string.gmatch(categories[category:lower()], "([^/]+)") do + if string.match(title, pattern) then + return true + end + end + end + else + for pattern in string.gmatch(categories[category:lower()], "([^/]+)") do + if tonumber(pattern) == i then + return true + end + end + end + end + end +end + +local skipped = {} +local parsed = {} + +local function toggle_chapterskip() + options.enabled = not options.enabled +end + +function chapterskip(_, current) + mp.options.read_options(options, "chapterskip") + if not options.enabled then return end + for category in string.gmatch(options.categories, "([^;]+)") do + name, patterns = string.match(category, " *([^+>]*[^+> ]) *[+>](.*)") + if name then + categories[name:lower()] = patterns + elseif not parsed[category] then + mp.msg.warn("Improper category definition: " .. category) + end + parsed[category] = true + end + local chapters = mp.get_property_native("chapter-list") + local skip = false + for i, chapter in ipairs(chapters) do + if (not options.skip_once or not skipped[i]) and matches(i, chapter.title) then + if i == current + 1 or skip == i - 1 then + if skip then + skipped[skip] = true + end + skip = i + end + elseif skip then + mp.set_property("time-pos", chapter.time) + skipped[skip] = true + return + end + end + if skip then + if mp.get_property_native("playlist-count") == mp.get_property_native("playlist-pos-1") then + return mp.set_property("time-pos", mp.get_property_native("duration")) + end + mp.commandv("playlist-next") + end +end + +mp.observe_property("chapter", "number", chapterskip) +mp.register_event("file-loaded", function() skipped = {} end) +mp.register_script_message("chapter-skip", toggle_chapterskip) \ No newline at end of file diff --git a/scripts/command_palette.lua b/scripts/command_palette.lua new file mode 100644 index 0000000..6e28586 --- /dev/null +++ b/scripts/command_palette.lua @@ -0,0 +1,1074 @@ + +-- https://github.com/stax76/mpv-scripts + +----- options + +local o = { + font_size = 16, + scale_by_window = false, + lines_to_show = 12, + pause_on_open = false, -- does not work on my system when enabled, menu won't show + resume_on_exit = "only-if-was-paused", + + -- styles + line_bottom_margin = 1, + menu_x_padding = 5, + menu_y_padding = 2, + + use_mediainfo = false, -- # true requires the MediaInfo CLI app being installed + stream_quality_options = "2160,1440,1080,720,480", + aspect_ratios = "4:3,16:9,2.35:1,1.36,1.82,0,-1", +} + +local opt = require "mp.options" +opt.read_options(o) + +----- string + +function is_empty(input) + if input == nil or input == "" then + return true + end +end + +function contains(input, find) + if not is_empty(input) and not is_empty(find) then + return input:find(find, 1, true) + end +end + +function starts_with(str, start) + return str:sub(1, #start) == start +end + +function split(input, sep) + assert(#sep == 1) -- supports only single character separator + local tbl = {} + + if input ~= nil then + for str in string.gmatch(input, "([^" .. sep .. "]+)") do + table.insert(tbl, str) + end + end + + return tbl +end + +function replace(str, what, with) + what = string.gsub(what, "[%(%)%.%+%-%*%?%[%]%^%$%%]", "%%%1") + with = string.gsub(with, "[%%]", "%%%%") + return string.gsub(str, what, with) +end + +function first_to_upper(str) + return (str:gsub("^%l", string.upper)) +end + +----- list + +function list_contains(list, value) + for _, v in pairs(list) do + if v == value then + return true + end + end +end + +----- path + +function get_temp_dir() + local is_windows = package.config:sub(1,1) == "\\" + + if is_windows then + return os.getenv("TEMP") .. "\\" + else + return "/tmp/" + end +end + +---- file + +function file_exists(path) + if is_empty(path) then return false end + local file = io.open(path, "r") + + if file ~= nil then + io.close(file) + return true + end +end + +function file_write(path, content) + local file = assert(io.open(path, "w")) + file:write(content) + file:close() +end + +----- mpv + +local utils = require "mp.utils" +local assdraw = require 'mp.assdraw' +local msg = require "mp.msg" + +----- path mpv + +function file_name(value) + local _, filename = utils.split_path(value) + return filename +end + +----- main + +local command_palette_version = 1 +mp.commandv('script-message', 'command-palette-version', command_palette_version) + +local is_older_than_v0_36 = string.find(mp.get_property("mpv-version"), 'mpv v0%.[1-3][0-5]%.') == 1 + +if not is_older_than_v0_36 then + mp.set_property_native("user-data/command-palette/version", command_palette_version) +end + +local BluRayTitles = {} + +mp.enable_messages("info") + +mp.register_event('log-message', function(e) + if e.prefix ~= "bd" then + return + end + + if contains(e.text, " 0 duration: ") then + BluRayTitles = {} + end + + if contains(e.text, " duration: ") then + local match = string.match(e.text, "%d%d:%d%d:%d%d") + + if match then + table.insert(BluRayTitles, match) + end + end +end) + +local uosc_available = false +package.path = mp.command_native({ "expand-path", "~~/script-modules/?.lua;" }) .. package.path + +local em = require "extended-menu" +local menu = em:new(o) +local menu_content = { list = {}, current_i = nil } +local media_info_cache = {} +local original_set_active_func = em.set_active +local original_get_line_func = em.get_line + +function em:get_bindings() + local bindings = { + { 'esc', function() self:set_active(false) end }, + { 'enter', function() self:handle_enter() end }, + { 'bs', function() self:handle_backspace() end }, + { 'del', function() self:handle_del() end }, + { 'ins', function() self:handle_ins() end }, + { 'left', function() self:prev_char() end }, + { 'right', function() self:next_char() end }, + { 'ctrl+f', function() self:next_char() end }, + { 'up', function() self:change_selected_index(-1) end }, + { 'down', function() self:change_selected_index(1) end }, + { 'ctrl+up', function() self:move_history(-1) end }, + { 'ctrl+down', function() self:move_history(1) end }, + { 'ctrl+left', function() self:prev_word() end }, + { 'ctrl+right', function() self:next_word() end }, + { 'home', function() self:go_home() end }, + { 'end', function() self:go_end() end }, + { 'pgup', function() self:change_selected_index(-o.lines_to_show) end }, + { 'pgdwn', function() self:change_selected_index(o.lines_to_show) end }, + { 'ctrl+u', function() self:del_to_start() end }, + { 'ctrl+v', function() self:paste(true) end }, + { 'ctrl+bs', function() self:del_word() end }, + { 'ctrl+del', function() self:del_next_word() end }, + { 'kp_dec', function() self:handle_char_input('.') end }, + { 'mbtn_left', function() self:handle_enter() end }, + { 'mbtn_right', function() self:set_active(false) end }, + { 'wheel_up', function() self:change_selected_index(-1) end }, + { 'wheel_down', function() self:change_selected_index(1) end }, + { 'mbtn_forward',function() self:change_selected_index(-o.lines_to_show) end }, + { 'mbtn_back', function() self:change_selected_index(o.lines_to_show) end }, + } + + for i = 0, 9 do + bindings[#bindings + 1] = {'kp' .. i, function() self:handle_char_input('' .. i) end} + end + + return bindings +end + +function em:set_active(active) + original_set_active_func(self, active) + + if not active then + if osc_visibility == "auto" or osc_visibility == "always" then + mp.command("script-message osc-visibility " .. osc_visibility .. " no_osd") + osc_visibility = nil + elseif uosc_available then + mp.commandv('script-message-to', 'uosc', 'disable-elements', mp.get_script_name(), '') + end + end +end + +menu.index_field = "index" + +local function format_time(t, duration) + local h = math.floor(t / (60 * 60)) + t = t - (h * 60 * 60) + local m = math.floor(t / 60) + local s = t - (m * 60) + + if duration >= 60 * 60 or h > 0 then + return string.format("%.2d:%.2d:%.2d", h, m, s) + end + + return string.format("%.2d:%.2d", m, s) +end + +function get_media_info() + local path = mp.get_property("path") + + if contains(path, "://") or not file_exists(path) then + return + end + + if media_info_cache[path] then + return media_info_cache[path] + end + + local format_file = get_temp_dir() .. mp.get_script_name() .. " media-info-format-v1.txt" + + if not file_exists(format_file) then + media_info_format = [[General;N: %FileNameExtension%\\nG: %Format%, %FileSize/String%, %Duration/String%, %OverallBitRate/String%, %Recorded_Date%\\n +Video;V: %Format%, %Format_Profile%, %Width%x%Height%, %BitRate/String%, %FrameRate% FPS\\n +Audio;A: %Language/String%, %Format%, %Format_Profile%, %BitRate/String%, %Channel(s)% ch, %SamplingRate/String%, %Title%\\n +Text;S: %Language/String%, %Format%, %Format_Profile%, %Title%\\n]] + + file_write(format_file, media_info_format) + end + + local proc_result = mp.command_native({ + name = "subprocess", + playback_only = false, + capture_stdout = true, + args = {"mediainfo", "--inform=file://" .. format_file, path}, + }) + + if proc_result.status == 0 then + local output = proc_result.stdout + + output = string.gsub(output, ", , ,", ",") + output = string.gsub(output, ", ,", ",") + output = string.gsub(output, ": , ", ": ") + output = string.gsub(output, ", \\n\r*\n", "\\n") + output = string.gsub(output, "\\n\r*\n", "\\n") + output = string.gsub(output, ", \\n", "\\n") + output = string.gsub(output, "\\n", "\n") + output = string.gsub(output, "%.000 FPS", " FPS") + output = string.gsub(output, "MPEG Audio, Layer 3", "MP3") + + media_info_cache[path] = output + + return output + end +end + +function binding_get_line(self, _, v) + local ass = assdraw.ass_new() + local cmd = self:ass_escape(v.cmd) + local key = self:ass_escape(v.key) + local comment = self:ass_escape(v.comment or '') + + if v.priority == -1 or v.priority == -2 then + local why_inactive = (v.priority == -1) and 'Inactive' or 'Shadowed' + ass:append(self:get_font_color('comment')) + + if comment ~= "" then + ass:append(comment .. '\\h') + end + + ass:append(key .. '\\h(' .. why_inactive .. ')' .. '\\h' .. cmd) + return ass.text + end + + if comment ~= "" then + ass:append(self:get_font_color('default')) + ass:append(comment .. '\\h') + end + + ass:append(self:get_font_color('accent')) + ass:append(key) + ass:append(self:get_font_color('comment')) + ass:append(' ' .. cmd) + return ass.text +end + +function command_palette_get_line(self, _, v) + local ass = assdraw.ass_new() + + if v.key == "" then + ass:append(self:get_font_color('default')) + ass:append(self:ass_escape(v.name or '')) + else + ass:append(self:get_font_color('default')) + ass:append(self:ass_escape(v.name or '') .. '\\h') + + ass:append(self:get_font_color('accent')) + ass:append(self:ass_escape("(" .. v.key .. ")")) + end + + return ass.text +end + +local function escape_codec(str) + if not str or str == '' then return '' end + + local codec_map = { + mpeg2 = "mpeg2", + dvvideo = "dv", + pcm = "pcm", + pgs = "pgs", + subrip = "srt", + vtt = "vtt", + dvd_sub = "vob", + dvb_sub = "dvb", + dvb_tele = "teletext", + arib = "arib" + } + + for key, value in pairs(codec_map) do + if str:find(key) then + return value + end + end + + return str +end + +local function format_flags(track) + local flags = "" + + for _, flag in ipairs({ + "default", "forced", "dependent", "visual-impaired", "hearing-impaired", + "image", "external" + }) do + if track[flag] then + flags = flags .. flag .. " " + end + end + + if flags == "" then + return "" + end + + return " [" .. flags:sub(1, -2) .. "]" +end + +local function format_track(track, type) + local title = track.title or '' + local filename = mp.get_property('filename/no-ext', ''):gsub("[%(%)%.%%%+%-%*%?%[%]%^%$]", "%%%0") + local codec = escape_codec(track.codec) + + if track.external and title ~= "" then + local extension = title:match("%.([^%.]+)$") + if filename ~= "" and extension then + title = title:gsub(filename .. "%.?", "") + end + if track.lang and extension + and title:lower() == track.lang:lower() .. "." .. extension:lower() then + title = extension + end + end + if title == '' then + local name = type:sub(1, 1):upper() .. type:sub(2, #type) + title = string.format('%s %02.f', name, track.id) + end + + local hints = {} + local function h(value) hints[#hints + 1] = value end + if codec ~= '' then h(codec) end + if track['demux-h'] then + h(track['demux-w'] and (track['demux-w'] .. 'x' .. track['demux-h'] or track['demux-h'] .. 'p')) + end + if track['demux-fps'] then h(string.format('%.5gfps', track['demux-fps'])) end + if track['audio-channels'] then h(track['audio-channels'] .. 'ch') end + if track['demux-samplerate'] then h(string.format('%.3gkHz', track['demux-samplerate'] / 1000)) end + if track['demux-bitrate'] then h(string.format('%.0fkbps', track['demux-bitrate'] / 1000)) end + if track.selected then + title = "● " .. title + else + title = "○ " .. title + end + if track.lang then title = string.format('%s\t(%s)', title, track.lang) end + if #hints > 0 then title = string.format('%s\t[%s]', title, table.concat(hints, ' ')) end + title = title .. format_flags(track) + return title +end + +local function select(conf) + for k, v in ipairs(conf.items) do + table.insert(menu_content.list, { index = k, content = v }) + end + + if conf.default_item then + menu_content.current_i = conf.default_item + end + + function menu:submit(value) + conf.submit(value) + end +end + +local function select_track(property, type, error) + local tracks = {} + local items = {} + local default_item + local track_id = mp.get_property_native(property) + + for _, track in ipairs(mp.get_property_native("track-list")) do + if track.type == type then + tracks[#tracks + 1] = track + items[#items + 1] = format_track(track, type) + + if track.id == track_id then + default_item = #items + end + end + end + + if #items == 0 then + mp.commandv("show-text", error) + return + end + + select({ + items = items, + default_item = default_item, + submit = function (tbl) + mp.command("set " .. property .. " " .. + (tracks[tbl.index].selected and "no" or tracks[tbl.index].id)) + end, + }) +end + +local function subtitle_line(data, codec) + local sub_lines = {} + local sub_times = {} + local default_item + local delay = mp.get_property_native("sub-delay") + local time_pos = mp.get_property_native("time-pos") - delay + local duration = mp.get_property_native("duration", math.huge) + local sub_content = {} + + -- Strip HTML and ASS tags and process subtitles + for line in data:gmatch("[^\n]+") do + -- Clean up tags + local sub_line = line:gsub("<.->", "") -- Strip HTML tags + :gsub("\\h+", " ") -- Replace '\h' tag + :gsub("{[\\=].-}", "") -- Remove ASS formatting + :gsub(".-]", "", 1) -- Remove time info prefix + :gsub("^%s*(.-)%s*$", "%1") -- Strip whitespace + :gsub("^m%s[mbl%s%-%d%.]+$", "") -- Remove graphics code + + if codec == "subrip" or (sub_line ~= "" and sub_line:match("^%s+$") == nil) then + local sub_time = line:match("%d+") * 60 + line:match(":([%d%.]*)") + local time_seconds = math.floor(sub_time) + sub_content[time_seconds] = sub_content[time_seconds] or {} + sub_content[time_seconds][sub_line] = true + end + end + + -- Process all timestamps and content into selectable subtitle list + for time_seconds, contents in pairs(sub_content) do + for sub_line in pairs(contents) do + sub_times[#sub_times + 1] = time_seconds + sub_lines[#sub_lines + 1] = format_time(time_seconds, duration) .. " " .. sub_line + end + end + + -- Generate time -> subtitle mapping + local time_to_lines = {} + for i = 1, #sub_times do + local time = sub_times[i] + local line = sub_lines[i] + + if not time_to_lines[time] then + time_to_lines[time] = {} + end + table.insert(time_to_lines[time], line) + end + + -- Sort by timestamp + local sorted_sub_times = {} + for i = 1, #sub_times do + sorted_sub_times[i] = sub_times[i] + end + table.sort(sorted_sub_times) + + -- Use a helper table to avoid duplicates + local added_times = {} + + -- Rebuild sub_lines and sub_times based on the sorted timestamps + local sorted_sub_lines = {} + for _, sub_time in ipairs(sorted_sub_times) do + -- Iterate over all subtitle content for this timestamp + if not added_times[sub_time] then + added_times[sub_time] = true + for _, line in ipairs(time_to_lines[sub_time]) do + table.insert(sorted_sub_lines, line) + end + end + end + + -- Use the sorted subtitle list + sub_lines = sorted_sub_lines + sub_times = sorted_sub_times + + -- Get the default item (last subtitle before current time position) + for i, sub_time in ipairs(sub_times) do + if sub_time <= time_pos then + default_item = i + end + end + + return sub_lines, sub_times, default_item +end + +function hide_osc() + if is_empty(mp.get_property("path")) and not is_older_than_v0_36 then + osc_visibility = mp.get_property_native("user-data/osc/visibility") + + if osc_visibility == "auto" or osc_visibility == "always" then + mp.command("script-message osc-visibility never no_osd") + end + end + + if uosc_available then + local disable_elements = "window_border, top_bar, timeline, controls, volume, idle_indicator, audio_indicator, buffering_indicator, pause_indicator" + mp.commandv('script-message-to', 'uosc', 'disable-elements', mp.get_script_name(), disable_elements) + end +end + +mp.register_script_message("show-command-palette", function (name) + menu_content.list = {} + menu_content.current_i = 1 + menu.search_heading = name + menu.filter_by_fields = { "content" } + em.get_line = original_get_line_func + + if menu.is_active then + menu:set_active(false) + return + end + + if name == "Command Palette" then + local menu_items = {} + local bindings = utils.parse_json(mp.get_property("input-bindings")) + + local items = { + "Playlist", + "Tracks", + "Video Tracks", + "Audio Tracks", + "Subtitle Tracks", + "Secondary Subtitle", + "Subtitle Line", + "Chapters", + "Editions", + "Profiles", + "Bindings", + "Commands", + "Properties", + "Options", + "Audio Devices", + "Blu-ray Titles", + "Stream Quality", + "Aspect Ratio", + "Command Palette", + "Recent Files", + } + + for _, item in ipairs(items) do + local found = false + + for _, binding in ipairs(bindings) do + if contains(binding.cmd, "show-command-palette") and + (contains(binding.cmd, '"' .. item .. '"') or + contains(binding.cmd, "'" .. item .. "'")) then + + table.insert(menu_items, { name = item, key = binding.key, cmd = binding.cmd }) + found = true + break + end + end + + if not found then + local cmd = "script-message-to command_palette show-command-palette '" .. item .. "'" + table.insert(menu_items, { name = item, key = "", cmd = cmd }) + end + end + + menu_content.list = menu_items + + function menu:submit(tbl) + mp.command(tbl.cmd) + end + + menu.filter_by_fields = {'name', 'key'} + em.get_line = command_palette_get_line + elseif name == "Bindings" then + local bindings = utils.parse_json(mp.get_property("input-bindings")) + + for _, v in ipairs(bindings) do + v.key = "(" .. v.key .. ")" + + if not is_empty(v.comment) then + if contains(v.comment, "custom-menu: ") then + v.comment = replace(v.comment, "custom-menu: ", "") + end + + if contains(v.comment, "menu: ") then + v.comment = replace(v.comment, "menu: ", "") + end + + v.comment = first_to_upper(v.comment) + end + end + + for _, v in ipairs(bindings) do + for _, v2 in ipairs(bindings) do + if v.key == v2.key and v.priority < v2.priority then + v.priority = -2 + break + end + end + end + + table.sort(bindings, function(i, j) + return i.priority > j.priority + end) + + menu_content.list = bindings + + function menu:submit(tbl) + mp.command(tbl.cmd) + end + + menu.filter_by_fields = {'cmd', 'key', 'comment'} + em.get_line = binding_get_line + elseif name == "Chapters" then + local default_index = mp.get_property_native("chapter") + + if not default_index then + mp.commandv("show-text", "Chapter: (unavailable)") + return + end + + local duration = mp.get_property_native("duration", math.huge) + + for i, chapter in ipairs(mp.get_property_native("chapter-list")) do + table.insert(menu_content.list, { index = i, content = format_time(chapter.time, duration) .. " " + .. chapter.title or ("Chapter " .. string.format("%02.f", i))}) + end + + menu_content.current_i = default_index + 1 + + function menu:submit(tbl) + mp.set_property_number("chapter", tbl.index - 1) + end + elseif name == "Editions" then + local default_index = mp.get_property_native("current-edition") + + if not default_index then + mp.commandv("show-text", "Edition: (unavailable)") + return + end + + for i, edition in ipairs(mp.get_property_native("edition-list")) do + table.insert(menu_content.list, { index = i, content = edition.title or + ("Edition " .. string.format("%02.f", i))}) + end + + menu_content.current_i = default_index + 1 + + function menu:submit(tbl) + mp.set_property_number("edition", tbl.index - 1) + end + elseif name == "Playlist" then + local count = mp.get_property_number("playlist-count") + local show = mp.get_property_native("osd-playlist-entry") + if count == 0 then return end + + for i = 0, (count - 1) do + local text = mp.get_property("playlist/" .. i .. "/title") + + if not text or show ~= "title" then + text = file_name(mp.get_property("playlist/" .. i .. "/filename")) + end + + table.insert(menu_content.list, { index = i + 1, content = text }) + end + + menu_content.current_i = mp.get_property_number("playlist-pos") + 1 + + function menu:submit(tbl) + mp.set_property_number("playlist-pos", tbl.index - 1) + end + elseif name == "Commands" then + local commands = utils.parse_json(mp.get_property("command-list")) + + for k, v in ipairs(commands) do + local text = v.name + + for _, arg in ipairs(v.args) do + if arg.optional then + text = text .. " [<" .. arg.name .. ">]" + else + text = text .. " <" .. arg.name .. ">" + end + end + + table.insert(menu_content.list, { index = k, content = text }) + end + + function menu:submit(tbl) + print(tbl.content) + local cmd = string.match(tbl.content, '%S+') + mp.commandv("script-message-to", "console", "type", cmd .. " ") + end + elseif name == "Properties" then + local properties = split(mp.get_property("property-list"), ",") + + for k, v in ipairs(properties) do + table.insert(menu_content.list, { index = k, content = v }) + end + + function menu:submit(tbl) + mp.commandv('script-message-to', 'console', 'type', "print-text ${" .. tbl.content .. "}") + end + elseif name == "Options" then + local options = split(mp.get_property("options"), ",") + + for k, v in ipairs(options) do + local type = mp.get_property_osd("option-info/" .. v .. "/type", "") + local default =mp.get_property_osd("option-info/" .. v .. "/default-value", "") + v = v .. " (type: " .. type .. ", default: " .. default .. ")" + table.insert(menu_content.list, { index = k, content = v }) + end + + function menu:submit(tbl) + print(tbl.content) + local prop = string.match(tbl.content, '%S+') + mp.commandv("script-message-to", "console", "type", "set " .. prop .. " ") + end + elseif name == "Profiles" then + local profiles = utils.parse_json(mp.get_property("profile-list")) + local ignore_list = {"builtin-pseudo-gui", "encoding", "libmpv", "pseudo-gui", "default"} + + for k, v in ipairs(profiles) do + if not list_contains(ignore_list, v.name) then + table.insert(menu_content.list, { index = k, content = v.name }) + end + end + + function menu:submit(tbl) + mp.command("show-text " .. tbl.content); + mp.command("apply-profile " .. tbl.content); + end + elseif name == "Audio Devices" then + local devices = utils.parse_json(mp.get_property("audio-device-list")) + local current_name = mp.get_property("audio-device") + + for k, v in ipairs(devices) do + table.insert(menu_content.list, { index = k, name = v.name, content = v.description }) + + if v.name == current_name then + menu_content.current_i = k + end + end + + function menu:submit(tbl) + mp.commandv("set", "audio-device", tbl.name) + mp.commandv("show-text", "audio-device: " .. tbl.content) + end + elseif name == "Aspect Ratio" then + local current_ar = mp.get_property_number("video-aspect-override") + + for k, v in ipairs(split(o.aspect_ratios, ",")) do + local display_name = v + + if display_name == "0" then display_name = "0 (square pixels)" end + if display_name == "-1" then display_name = "-1 (original)" end + + table.insert(menu_content.list, { index = k, content = display_name, value = v }) + + local w, h = string.match(v, "^([0-9.]+):([0-9.]+)$") + + if w and h then + local current_ar_truncated = tonumber(string.format("%.3f", current_ar)) + local ar_truncated = tonumber(string.format("%.3f", w / h)) + + if current_ar_truncated == ar_truncated then + menu_content.current_i = k + end + elseif v == tostring(current_ar) then + menu_content.current_i = k + end + end + + function menu:submit(tbl) + mp.command("set video-aspect-override " .. tbl.value) + end + elseif name == "Stream Quality" then + local ytdl_format = mp.get_property_native('ytdl-format') + + for k, v in ipairs(split(o.stream_quality_options, ",")) do + local format = 'bestvideo[height<=?' .. v .. ']+bestaudio/best[height<=?' .. v .. ']' + table.insert(menu_content.list, { index = k, content = v .. 'p', value = format }) + + if format == ytdl_format then + menu_content.current_i = k + end + end + + function menu:submit(tbl) + mp.set_property('ytdl-format', tbl.value) + mp.commandv("show-text", "Stream Quality: " .. tbl.content) + + local duration = mp.get_property_native('duration') + local time_pos = mp.get_property('time-pos') + + mp.command('playlist-play-index current') + + if duration and duration > 0 then + local function seeker() + mp.commandv('seek', time_pos, 'absolute') + mp.unregister_event(seeker) + end + + mp.register_event('file-loaded', seeker) + end + end + elseif name == "Tracks" then + local tracks = {} + + for i, track in ipairs(mp.get_property_native("track-list")) do + local type = track.image and "I" or track.type + + if type == "video" then track_type = "V" end + if type == "audio" then track_type = "A" end + if type == "sub" then track_type = "S" end + + tracks[i] = track_type .. ": " .. format_track(track, type) + end + + if #tracks == 0 then + mp.commandv("show-text", "No available tracks") + return + end + + select({ + items = tracks, + submit = function (tbl) + local track = mp.get_property_native("track-list/" .. tbl.index - 1) + + if track then + mp.command("set " .. track.type .. " " .. (track.selected and "no" or track.id)) + end + end, + }) + elseif name == "Audio Tracks" then + if o.use_mediainfo then + local mi = get_media_info() + if mi == nil then return end + local tracks = split(mi .. "\nA: None", "\n") + local id = 0 + + for _, v in ipairs(tracks) do + if starts_with(v, "A: ") then + id = id + 1 + table.insert(menu_content.list, { index = id, content = string.sub(v, 4) }) + end + end + + menu_content.current_i = mp.get_property_number("aid") or id + + function menu:submit(tbl) + mp.command("set aid " .. ((tbl.index == id) and 'no' or tbl.index)) + end + else + select_track("aid", "audio", "No available audio tracks") + end + elseif name == "Subtitle Tracks" then + if o.use_mediainfo then + local mi = get_media_info() + if mi == nil then return end + local tracks = split(mi .. "\nS: None", "\n") + local id = 0 + + for _, v in ipairs(tracks) do + if starts_with(v, "S: ") then + id = id + 1 + table.insert(menu_content.list, { index = id, content = string.sub(v, 4) }) + end + end + + menu_content.current_i = mp.get_property_number("sid") or id + + function menu:submit(tbl) + mp.command("set sid " .. ((tbl.index == id) and 'no' or tbl.index)) + end + else + select_track("sid", "sub", "No available subtitle tracks") + end + elseif name == "Secondary Subtitle" then + select_track("secondary-sid", "sub", "No available subtitle tracks") + elseif name == "Recent Files" then + mp.command("script-message open-recent-menu command-palette") + return + elseif name == "Video Tracks" then + if o.use_mediainfo then + local mi = get_media_info() + if mi == nil then return end + local tracks = split(mi .. "\nV: None", "\n") + local id = 0 + + for _, v in ipairs(tracks) do + if starts_with(v, "V: ") then + id = id + 1 + table.insert(menu_content.list, { index = id, content = string.sub(v, 4) }) + end + end + + menu_content.current_i = mp.get_property_number("vid") or id + + function menu:submit(tbl) + mp.command("set vid " .. ((tbl.index == id) and 'no' or tbl.index)) + end + else + select_track("vid", "video", "No available video tracks") + end + elseif name == "Blu-ray Titles" then + if #BluRayTitles == 0 then + return + end + + local items = {} + + for k, v in ipairs(BluRayTitles) do + table.insert(items, "Title " .. k .. " " .. v) + end + + select({ + items = items, + submit = function (tbl) + mp.commandv("loadfile", "bd://" .. (tbl.index - 1)) + end, + }) + elseif name == "Subtitle Line" then + local sub = mp.get_property_native("current-tracks/sub") + + if sub == nil then + mp.commandv("show-text", "No subtitle is loaded") + return + end + + if sub.external and sub["external-filename"]:find("^edl://") then + sub["external-filename"] = sub["external-filename"]:match('https?://.*') + or sub["external-filename"] + end + + local r = mp.command_native({ + name = "subprocess", + capture_stdout = true, + args = sub.external + and {"ffmpeg", "-loglevel", "error", "-i", sub["external-filename"], + "-f", "lrc", "-map_metadata", "-1", "-fflags", "+bitexact", "-"} + or {"ffmpeg", "-loglevel", "error", "-i", mp.get_property("path"), + "-map", "s:" .. sub["id"] - 1, "-f", "lrc", "-map_metadata", + "-1", "-fflags", "+bitexact", "-"} + }) + + if r.error_string == "init" then + mp.commandv("show-text", "Failed to extract subtitles: ffmpeg not found") + return + elseif r.status ~= 0 then + mp.commandv("show-text", "Failed to extract subtitles") + return + end + + local delay = mp.get_property_native("sub-delay") + + local sub_lines, sub_times, default_item = subtitle_line(r.stdout, sub.codec) + + select({ + items = sub_lines, + default_item = default_item, + submit = function (tbl) + -- Add an offset to seek to the correct line while paused without a video track. + if mp.get_property_native("current-tracks/video/image") ~= false then + delay = delay + 0.1 + end + + mp.commandv("seek", sub_times[tbl.index] + delay, "absolute") + end, + }) + else + if name == nil then + msg.error("Unknown mode") + else + msg.error("Unknown mode: " .. name) + end + + return + end + + hide_osc() + menu:init(menu_content) +end) + +mp.register_script_message('uosc-version', function(version) + local major, minor = version:match('^(%d+)%.(%d+)') + if major and minor and tonumber(major) >= 5 and tonumber(minor) >= 0 then + uosc_available = true + end +end) + +mp.register_script_message("show-command-palette-json", function (json) + local menu_data = utils.parse_json(json) + menu_content.list = {} + menu_content.current_i = 1 + menu.search_heading = menu_data.title + menu.filter_by_fields = { "content", "hint", "value_hint" } + em.get_line = original_get_line_func + + for k, v in ipairs(menu_data.items) do + local values = v.value + + if type(values) == "string" then + values = { values } + end + + table.insert(menu_content.list, { + index = k, + content = v.title, + hint = v.hint, + values = values, + value_hint = table.concat(values, " "), + }) + + if menu_data.selected_index then + menu_content.current_i = menu_data.selected_index + end + end + + function menu:submit(tbl) + mp.command_native(tbl.values) + end + + hide_osc() + menu:init(menu_content) +end) diff --git a/scripts/cycle-commands.lua b/scripts/cycle-commands.lua new file mode 100644 index 0000000..1a0254c --- /dev/null +++ b/scripts/cycle-commands.lua @@ -0,0 +1,80 @@ +--[[ + script to cycle commands with a keybind, accomplished through script messages + available at: https://github.com/CogentRedTester/mpv-scripts + + syntax: + script-message cycle-commands "command1 args" "command2 args" "command3 args" + + The syntax of each command is identical to the standard input.conf syntax, but each command must be + a quoted string. Note that this may require you to nest (and potentially escape) quotes for the arguments. + Read the mpv documentation for how to do this: https://mpv.io/manual/master/#flat-command-syntax. + + Semicolons also work exactly like they do normally, so you can easily send multiple commands each cycle. + + Here are some examples of the same command using different quotes: + script-message cycle-commands "show-text one 1000 ; print-text two" "show-text \"three four\"" + script-message cycle-commands 'show-text one 1000 ; print-text two' 'show-text "three four"' + script-message cycle-commands ``show-text one 1000 ; print-text two`` ``show-text "three four"`` + + This would, on keypress one, print 'one' to the OSD for 1 second and 'two' to the console, + and on keypress two 'three four' would be printed to the OSD. + Note that single (') and backtick (`) quoting was only added in mpv v0.34. + + There are no limits to the number of commands, and the script message can be used as often as one wants. + The script stores the current iteration position for each unique set of command strings, + so there should be no overlap unless one binds the exact same set of strings (including spacing). + + If the first command is `!reverse`, then the commands are cycled in the opposite direction. + If every subsequent command string is identical to a non-reversed cycle, then they share + their iteration position, making it possible to 'seek' forwards or backwards in the cycle: + script-message cycle-commands 'apply-profile profile1' 'apply-profile profile2' 'apply-profile profile3' + script-message cycle-commands !reverse 'apply-profile profile1' 'apply-profile profile2' 'apply-profile profile3' + + Most commands should print messages to the OSD automatically, this can be controlled + by adding input prefixes to the commands: https://mpv.io/manual/master/#input-command-prefixes. + Some commands will not print an osd message even when told to, in this case you have two options: + you can add a show-text command to the cycle, or you can use the cycle-commands/osd script message + which will print the command string to the osd. For example: + script-message cycle-commands 'apply-profile profile1;show-text "applying profile1"' 'apply-profile profile2;show-text "applying profile2"' + script-message cycle-commands/osd 'apply-profile profile1' 'apply-profile profile2' + + Any osd messages printed by the command will override the message sent by cycle-commands/osd. +]]-- + +local mp = require 'mp' +local msg = require 'mp.msg' + +--keeps track of the current position for a specific cycle +local iterators = {} + +--main function to identify and run the cycles +local function main(osd, ...) + local commands = {...} + + local reverse = commands[1] == '!reverse' + if reverse then table.remove(commands, 1) end + + --to identify the specific cycle we'll concatenate all the strings together to use as our table key + local str = ("%d> %s"):format(#commands, table.concat(commands, '|')) + msg.trace('recieved:', str) + + -- we'll initialise the iterator at 0 (an invalid position) to support forward or backwards iteration + if iterators[str] == nil then + msg.debug('unknown cycle, creating iterator') + iterators[str] = 0 + end + + iterators[str] = iterators[str] + (reverse and -1 or 1) + if iterators[str] > #commands then iterators[str] = 1 end + if iterators[str] < 1 then iterators[str] = #commands end + + --mp.command should run the commands exactly as if they were entered in input.conf. + --This should provide universal support for all input.conf command syntax + local cmd = commands[ iterators[str] ] + msg.verbose('sending command:', cmd) + if osd then mp.osd_message(cmd) end + mp.command(cmd) +end + +mp.register_script_message('cycle-commands', function(...) main(false, ...) end) +mp.register_script_message('cycle-commands/osd', function(...) main(true, ...) end) \ No newline at end of file diff --git a/scripts/delete-current-file.lua b/scripts/delete-current-file.lua new file mode 100644 index 0000000..0856579 --- /dev/null +++ b/scripts/delete-current-file.lua @@ -0,0 +1,169 @@ + +--[[ + + https://github.com/stax76/mpv-scripts + + This script instantly deletes the file that is currently playing + via keyboard shortcut, the file is moved to the recycle bin and + removed from the playlist. + + On Linux the app trash-cli must be installed first. + On Ubuntu: sudo apt install trash-cli + + Usage: + Add bindings to input.conf: + + # delete directly + KP0 script-message-to delete_current_file delete-file + + # delete with confirmation + KP0 script-message-to delete_current_file delete-file KP1 "Press 1 to delete file" + + Press KP0 to initiate the delete operation, + the script will ask to confirm by pressing KP1. + You may customize the the init and confirm key and the confirm message. + Confirm key and confirm message are optional. + + Similar scripts: + https://github.com/zenyd/mpv-scripts#delete-file + +]]-- + +key_bindings = {} + +function file_exists(name) + if not name or name == '' then + return false + end + + local f = io.open(name, "r") + + if f ~= nil then + io.close(f) + return true + else + return false + end +end + +function is_protocol(path) + return type(path) == 'string' and (path:match('^%a[%a%d_-]+://')) +end + +function delete_file(path) + local is_windows = package.config:sub(1,1) == "\\" + + if is_protocol(path) or not file_exists(path) then + return + end + + if is_windows then + local ps_code = [[ + Add-Type -AssemblyName Microsoft.VisualBasic + [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile('__path__', 'OnlyErrorDialogs', 'SendToRecycleBin') + ]] + + local escaped_path = string.gsub(path, "'", "''") + escaped_path = string.gsub(escaped_path, "’", "’’") + escaped_path = string.gsub(escaped_path, "%%", "%%%%") + ps_code = string.gsub(ps_code, "__path__", escaped_path) + + mp.command_native({ + name = "subprocess", + playback_only = false, + detach = true, + args = { 'powershell', '-NoProfile', '-Command', ps_code }, + }) + else + mp.command_native({ + name = "subprocess", + playback_only = false, + args = { 'trash', path }, + }) + end +end + +function remove_current_file() + local count = mp.get_property_number("playlist-count") + local pos = mp.get_property_number("playlist-pos") + local new_pos = 0 + + if pos == count - 1 then + new_pos = pos - 1 + else + new_pos = pos + 1 + end + + mp.set_property_number("playlist-pos", new_pos) + + if pos > -1 then + mp.command("playlist-remove " .. pos) + end +end + +function handle_confirm_key() + local path = mp.get_property("path") + + if file_to_delete == path then + mp.commandv("show-text", "") + delete_file(file_to_delete) + remove_current_file() + remove_bindings() + file_to_delete = "" + end +end + +function cleanup() + remove_bindings() + file_to_delete = "" + mp.commandv("show-text", "") +end + +function get_bindings() + return { + { confirm_key, handle_confirm_key }, + } +end + +function add_bindings() + if #key_bindings > 0 then + return + end + + local script_name = mp.get_script_name() + + for _, bind in ipairs(get_bindings()) do + local name = script_name .. "_key_" .. (#key_bindings + 1) + key_bindings[#key_bindings + 1] = name + mp.add_forced_key_binding(bind[1], name, bind[2]) + end +end + +function remove_bindings() + if #key_bindings == 0 then + return + end + + for _, name in ipairs(key_bindings) do + mp.remove_key_binding(name) + end + + key_bindings = {} +end + +function client_message(event) + local path = mp.get_property("path") + + if event.args[1] == "delete-file" and #event.args == 1 then + delete_file(path) + remove_current_file() + elseif event.args[1] == "delete-file" and #event.args == 3 and #key_bindings == 0 then + confirm_key = event.args[2] + mp.add_timeout(10, cleanup) + add_bindings() + file_to_delete = path + mp.commandv("show-text", event.args[3], "10000") + end +end + +mp.register_event("client-message", client_message) diff --git a/scripts/delete_current_file.lua b/scripts/delete_current_file.lua new file mode 100644 index 0000000..cb3365b --- /dev/null +++ b/scripts/delete_current_file.lua @@ -0,0 +1,169 @@ + +--[[ + + https://github.com/stax76/mpv-scripts + + This script instantly deletes the file that is currently playing + via keyboard shortcut, the file is moved to the recycle bin and + removed from the playlist. + + On Linux the app trash-cli must be installed first. + On Ubuntu: sudo apt install trash-cli + + Usage: + Add bindings to input.conf: + + # delete directly + KP0 script-message-to delete_current_file delete-file + + # delete with confirmation + KP0 script-message-to delete_current_file delete-file KP1 "Press 1 to delete file" + + Press KP0 to initiate the delete operation, + the script will ask to confirm by pressing KP1. + You may customize the the init and confirm key and the confirm message. + Confirm key and confirm message are optional. + + Similar scripts: + https://github.com/zenyd/mpv-scripts#delete-file + +]]-- + +key_bindings = {} + +function file_exists(name) + if not name or name == '' then + return false + end + + local f = io.open(name, "r") + + if f ~= nil then + io.close(f) + return true + else + return false + end +end + +function is_protocol(path) + return type(path) == 'string' and (path:match('^%a[%a%d_-]+://')) +end + +function delete_file(path) + local is_windows = package.config:sub(1,1) == "\\" + + if is_protocol(path) or not file_exists(path) then + return + end + + if is_windows then + local ps_code = [[ + Add-Type -AssemblyName Microsoft.VisualBasic + [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile('__path__', 'OnlyErrorDialogs', 'SendToRecycleBin') + ]] + + local escaped_path = string.gsub(path, "'", "''") + escaped_path = string.gsub(escaped_path, "’", "’’") + escaped_path = string.gsub(escaped_path, "%%", "%%%%") + ps_code = string.gsub(ps_code, "__path__", escaped_path) + + mp.command_native({ + name = "subprocess", + playback_only = false, + detach = true, + args = { 'powershell', '-NoProfile', '-Command', ps_code }, + }) + else + mp.command_native({ + name = "subprocess", + playback_only = false, + args = { 'trash', path }, + }) + end +end + +function remove_current_file() + local count = mp.get_property_number("playlist-count") + local pos = mp.get_property_number("playlist-pos") + local new_pos = 0 + + if pos == count - 1 then + new_pos = pos - 1 + else + new_pos = pos + 1 + end + + mp.set_property_number("playlist-pos", new_pos) + + if pos > -1 then + mp.command("playlist-remove " .. pos) + end +end + +function handle_confirm_key() + local path = mp.get_property("path") + + if file_to_delete == path then + mp.commandv("show-text", "") + delete_file(file_to_delete) + remove_current_file() + remove_bindings() + file_to_delete = "" + end +end + +function cleanup() + remove_bindings() + file_to_delete = "" + mp.commandv("show-text", "") +end + +function get_bindings() + return { + { confirm_key, handle_confirm_key }, + } +end + +function add_bindings() + if #key_bindings > 0 then + return + end + + local script_name = mp.get_script_name() + + for _, bind in ipairs(get_bindings()) do + local name = script_name .. "_key_" .. (#key_bindings + 1) + key_bindings[#key_bindings + 1] = name + mp.add_forced_key_binding(bind[1], name, bind[2]) + end +end + +function remove_bindings() + if #key_bindings == 0 then + return + end + + for _, name in ipairs(key_bindings) do + mp.remove_key_binding(name) + end + + key_bindings = {} +end + +function client_message(event) + local path = mp.get_property("path") + + if event.args[1] == "delete-file" and #event.args == 1 then + delete_file(path) + remove_current_file() + elseif event.args[1] == "delete-file" and #event.args == 3 and #key_bindings == 0 then + confirm_key = event.args[2] + mp.add_timeout(10, cleanup) + add_bindings() + file_to_delete = path + mp.commandv("show-text", event.args[3], "10000") + end +end + +mp.register_event("client-message", client_message) \ No newline at end of file diff --git a/scripts/evafast.lua b/scripts/evafast.lua new file mode 100644 index 0000000..3dd93f2 --- /dev/null +++ b/scripts/evafast.lua @@ -0,0 +1,396 @@ +-- evafast.lua +-- +-- Much speed. +-- +-- Jumps forwards when right arrow is tapped, speeds up when it's held. +-- Inspired by bilibili.com's player. Allows you to have both seeking and fast-forwarding on the same key. +-- Also supports toggling fastforward mode with a keypress. +-- Adjust --input-ar-delay to define when to start fastforwarding. +-- Define --hr-seek if you want accurate seeking. +-- If you just want a nicer fastforward.lua without hybrid key behavior, set seek_distance to 0. +-- Consider setting --sub-filter-regex="\`\s*\'" (on Linux) to ignore empty lines. + +local options = { + -- How far to jump on press, set to 0 to disable seeking and force fastforward + seek_distance = 5, + + -- Playback speed modifier, applied once every speed_interval until cap is reached + speed_increase = 0.1, + speed_decrease = 0.1, + + -- At what interval to apply speed modifiers + speed_interval = 0.05, + + -- Playback speed cap + speed_cap = 2, + + -- Playback speed cap when subtitles are displayed, ignored when equal to speed_cap + subs_speed_cap = 1.6, + + -- Multiply current speed by modifier before adjustment (exponential speedup) + -- Use much lower values than default e.g. speed_increase=0.05, speed_decrease=0.025 + multiply_modifier = false, + + -- Show current speed on the osd (or flash speed if using uosc) + show_speed = true, + + -- Show current speed on the osd when toggled (or flash speed if using uosc) + show_speed_toggled = true, + + -- Show current speed on the osd when speeding up towards a target time (or flash speed if using uosc) + show_speed_target = false, + + -- Show seek actions on the osd (or flash timeline if using uosc) + show_seek = true, + + -- Look ahead for smoother transition when subs_speed_cap is set + subs_lookahead = true, + + -- Symbols prepended to the osd message + osd_symbol = "{\\fnmpv-osd-symbols} {\\r}", + osd_rewind = "{\\fnmpv-osd-symbols} {\\r}" +} + +mp.options = require "mp.options" +mp.options.read_options(options, "evafast", function() end) + +local uosc_available = false +local has_subtitle = true +local speedup_target = nil +local toggled_display = true +local toggled = false +local toggled_rewind = false +local speedup = false +local original_speed = 1 +local next_sub_at = -1 +local rewinding = false +local forced_slowdown = false +local file_duration = 0 +local last_key_state = "up" +local was_rewinding = false + +local ass_start = mp.get_property_osd("osd-ass-cc/0") +local ass_stop = mp.get_property_osd("osd-ass-cc/1") + +local function speed_transition(current_speed, target_speed) + local speed_correction = current_speed >= target_speed and -options.speed_decrease or options.speed_increase + + local time_for_correction = 0 + local adjusted_speed = current_speed + + while adjusted_speed ~= target_speed do + time_for_correction = time_for_correction + options.speed_interval * adjusted_speed + + if options.multiply_modifier then + adjusted_speed = adjusted_speed + adjusted_speed * speed_correction + else + adjusted_speed = adjusted_speed + speed_correction + end + + if (current_speed < target_speed and adjusted_speed > target_speed) or (current_speed > target_speed and adjusted_speed < target_speed) then + adjusted_speed = target_speed + end + end + + return time_for_correction +end + +local function next_sub(current_time) + local sub_delay = mp.get_property_native("sub-delay", 0) + local sub_visible = mp.get_property_bool("sub-visibility") + + if sub_visible then + mp.set_property_bool("sub-visibility", false) + end + + mp.command("no-osd sub-step 1") + + local sub_next_delay = mp.get_property_native("sub-delay", 0) + mp.set_property("sub-delay", sub_delay) + + if sub_visible then + mp.set_property_bool("sub-visibility", sub_visible) + end + + if sub_delay - sub_next_delay == 0 then + return -2 + end + + local sub_next = current_time + sub_delay - sub_next_delay + + normalized = math.floor(sub_next * 1000 + 0.5) / 1000 + return normalized +end + +local function flash_state(current_speed, display, forced) + local uosc_show = uosc_available and (display == nil or display == "uosc") + local osd_show = not uosc_available and (display == nil or display == "osd") + + local show_special = (not speedup_target and options.show_speed_toggled) or (speedup_target and options.show_speed_target) + local show_toggled = show_special and (toggled or not speedup) + local show_regular = not toggled and toggled_display and options.show_speed + + if current_speed and (show_regular or show_toggled or forced) then + if uosc_show then + mp.command("script-binding uosc/flash-speed") + elseif osd_show then + if current_speed == true then + current_speed = mp.get_property_number("speed", 1) + end + mp.osd_message(ass_start .. (was_rewinding and options.osd_rewind or options.osd_symbol) .. ass_stop .. string.format("x%.1f", current_speed)) + end + elseif not current_speed and options.show_seek then + if uosc_show then + mp.command("script-binding uosc/flash-timeline") + elseif osd_show then + mp.osd_message(ass_start .. (was_rewinding and options.osd_rewind or options.osd_symbol)) + end + end +end + +local function ensure_timer(reset) + if not reset and speed_timer:is_enabled() then return end + + speed_timer.timeout = 0 + speed_timer:resume() + speed_timer.timeout = options.speed_interval +end + +local function evafast_speedup(toggle) + if not toggled and not speedup_target and not speed_timer:is_enabled() then + original_speed = mp.get_property_number("speed", 1) + end + + speedup = true + + if toggle then + toggled = true + end + + ensure_timer() +end + +local function evafast_slowdown(display) + forced_slowdown = false + if not display then + toggled_display = false + end + toggled = false + speedup = false + + ensure_timer() +end + +local function evafast_toggle() + if toggled_rewind then + mp.set_property("play-dir", "+") + end + toggled_rewind = false + if speedup then + evafast_slowdown() + else + evafast_speedup(true) + end +end + +local function evafast_toggle_rewind() + rewinding = not speedup + mp.set_property("play-dir", rewinding and "-" or "+") + evafast_toggle() + toggled_rewind = rewinding +end + +local function adjust_speed() + local current_time = mp.get_property_number("time-pos", 0) + local current_speed = mp.get_property_number("speed", 1) + local target_speed = original_speed + + if speedup then + target_speed = options.speed_cap + + if has_subtitle and target_speed ~= options.subs_speed_cap then + local sub_displayed = mp.get_property("sub-start") ~= nil + + if sub_displayed then + target_speed = options.subs_speed_cap + elseif options.subs_lookahead then + if next_sub_at < current_time and next_sub_at ~= -2 then + next_sub_at = next_sub(current_time) + end + if target_speed ~= options.subs_speed_cap and next_sub_at > current_time then + local time_for_correction = speed_transition(options.speed_cap, options.subs_speed_cap) + if current_time + time_for_correction >= next_sub_at then + target_speed = options.subs_speed_cap + end + end + end + end + + if speedup_target ~= nil then + local effective_speedup_target = speedup_target >= 0 and speedup_target or (file_duration + speedup_target) + + if current_time >= effective_speedup_target then + evafast_slowdown() + else + local time_for_correction = speed_transition(current_speed, original_speed) + if current_time + time_for_correction > effective_speedup_target or forced_slowdown then + forced_slowdown = true + speedup = false + target_speed = original_speed + end + end + end + end + + if math.floor(target_speed * 1000 + 0.5) == math.floor(current_speed * 1000 + 0.5) then + if forced_slowdown or (not toggled and (not speedup or options.subs_speed_cap == options.speed_cap or (not has_subtitle and not speedup_target))) then + speed_timer:kill() + toggled_display = true + if speedup_target ~= nil then + evafast_slowdown() + end + speedup_target = nil + end + return + end + + local new_speed = current_speed + local speed_correction = 0 + + if options.multiply_modifier then + speed_correction = current_speed * options.speed_increase + else + speed_correction = options.speed_increase + end + + if current_speed > target_speed then + new_speed = math.max(current_speed - speed_correction, target_speed) + else + new_speed = math.min(current_speed + speed_correction, target_speed) + end + + mp.set_property("speed", new_speed) + + flash_state(new_speed) +end + +speed_timer = mp.add_periodic_timer(100, adjust_speed) +speed_timer:kill() + +local function evafast(keypress, rewind) + was_rewinding = false + if rewinding and not toggled_rewind and (not rewind or (keypress["event"] == "up" and last_key_state ~= "down")) then + rewinding = false + was_rewinding = true + mp.set_property("play-dir", "+") + end + if rewind then + was_rewinding = true + end + + if keypress["event"] == "down" then + if not speed_timer:is_enabled() then + if not toggled and not speedup_target then + original_speed = mp.get_property_number("speed", 1) + end + flash_state(nil, "osd") + flash_state(1, "uosc", true) + end + toggled_display = true + speed_timer:stop() + if options.seek_distance == 0 then + keypress["event"] = "repeat" + end + end + + if keypress["event"] == "press" or keypress["event"] == "up" and last_key_state ~= "repeat" then + if not toggled and not speedup_target then + speed_timer:kill() + mp.set_property("speed", original_speed) + end + flash_state() + ensure_timer() + if rewind then + if not toggled_rewind then + rewinding = false + mp.set_property("play-dir", "+") -- unnecessary in some cases + end + mp.commandv("seek", -options.seek_distance) + else + mp.commandv("seek", options.seek_distance) + end + elseif keypress["event"] == "repeat" and last_key_state ~= "repeat" then + speedup = true + ensure_timer() + if rewind then + mp.set_property("play-dir", "-") + rewinding = true + end + elseif keypress["event"] == "up" and not toggled and not speedup_target then + evafast_slowdown(true) + ensure_timer(true) + end + + last_key_state = keypress["event"] +end + +local function evafast_rewind(keypress) + evafast(keypress, true) +end + +mp.observe_property("duration", "native", function(prop, val) + file_duration = val or 0 +end) + +mp.observe_property("sid", "native", function(prop, val) + has_subtitle = (val or 0) ~= 0 + next_sub_at = -1 +end) + +mp.observe_property("sub-start", "native", function(prop, val) + next_sub_at = -1 +end) + +mp.register_event("file-loaded", function() + next_sub_at = -1 +end) + +mp.register_event("seek", function() + next_sub_at = -1 +end) + +mp.register_script_message("uosc-version", function(version) + uosc_available = true +end) + +mp.register_script_message("speedup-target", function(time) + local current_time = mp.get_property_number("time-pos", 0) + sign = string.sub(time, 1, 1) + time = tonumber(time) or 0 + + if sign == "+" then + time = current_time + time + end + + if current_time >= time and time >= 0 then + speedup_target = nil + evafast_slowdown() + return + end + speedup_target = time + evafast_speedup() +end) + +mp.register_script_message("get-version", function(script) + mp.commandv("script-message-to", script, "evafast-version", "2.0") +end) + +mp.add_key_binding("RIGHT", "evafast", evafast, {repeatable = true, complex = true}) +mp.add_key_binding(nil, "evafast-rewind", evafast_rewind, {repeatable = true, complex = true}) +mp.add_key_binding(nil, "flash-speed", function() flash_state(true, nil, true) end) +mp.add_key_binding(nil, "speedup", evafast_speedup) +mp.add_key_binding(nil, "slowdown", evafast_slowdown) +mp.add_key_binding(nil, "toggle", evafast_toggle) +mp.add_key_binding(nil, "toggle-rewind", evafast_toggle_rewind) + +mp.commandv("script-message-to", "uosc", "get-version", mp.get_script_name()) \ No newline at end of file diff --git a/scripts/fix-avsync.lua b/scripts/fix-avsync.lua new file mode 100644 index 0000000..cdc8d63 --- /dev/null +++ b/scripts/fix-avsync.lua @@ -0,0 +1,25 @@ +--[[ + Fixed A/V sync when switching the audio output device with using audio filters + available at: https://github.com/dyphire/mpv-scripts +]]-- + +local msg = require "mp.msg" + +local function fix_avsync() + local paused = mp.get_property_bool("pause") + msg.info("fix A/V sync.") + mp.commandv("frame-back-step") + if paused then + return + else + mp.set_property_bool("pause", false) + end +end + +mp.observe_property("current-ao", "native", function(_, device) + local aid = mp.get_property_number("aid") + local has_af = mp.get_property("af", "") ~= "" + if device and aid and has_af then + fix_avsync() + end +end) \ No newline at end of file diff --git a/scripts/hdr-mode.lua b/scripts/hdr-mode.lua new file mode 100644 index 0000000..54c3795 --- /dev/null +++ b/scripts/hdr-mode.lua @@ -0,0 +1,307 @@ +-- Copyright (c) 2025 dyphire +-- License: MIT +-- link: https://github.com/dyphire/mpv-scripts +-- Automatically switches the display's SDR and HDR modes for HDR passthrough +-- based on the content of the video being played by the mpv, only works on Windows 10 and later systems + +--! Required for use with mpv-display-plugin: https://github.com/dyphire/mpv-display-plugin + +local msg = require 'mp.msg' +local utils = require 'mp.utils' +local options = require 'mp.options' + +local o = { + -- Specify the script working mode, value: noth, pass, switch. default: noth + -- noth: Do nothing + -- pass: Passing HDR signals for HDR content when the monitor is in HDR mode + -- switch: Automatically switch between HDR displays and SDR displays + -- on Windows 10 and later based on video specifications + hdr_mode = "noth", + -- Specify whether to switch HDR mode only when the window is in fullscreen or window maximized + -- only works with hdr_mode = "switch", default: false + fullscreen_only = false, + -- Specify the target peak of the HDR display, default: 203 + -- must be the true peak brightness of the monitor, + -- otherwise it will cause HDR content to display incorrectly + target_peak = "203", + -- Specifies the measured contrast of the output display. + -- Used in black point compensation during HDR tone-mapping and HDR passthrough. + -- Must be the true contrast information of the display, e.g. 100000 means 100000:1 maximum contrast + -- OLED display do not need to change this, default: auto + target_contrast = "auto", +} +options.read_options(o, _, function() end) + +local hdr_active = false +local hdr_supported = false +local first_switch_check = true +local file_loaded = false + +local state = { + icc_profile = mp.get_property_native("icc-profile"), + icc_profile_auto = mp.get_property_native("icc-profile-auto"), + target_peak = mp.get_property_native("target-peak"), + target_prim = mp.get_property_native("target-prim"), + target_trc = mp.get_property_native("target-trc"), + target_contrast = mp.get_property_native("target_contrast"), + colorspace_hint = mp.get_property_native("target-colorspace-hint"), + inverse_mapping = mp.get_property_native("inverse-tone-mapping") +} + +local function query_hdr_state() + hdr_supported = mp.get_property_native("user-data/display-info/hdr-supported") + hdr_active = mp.get_property_native("user-data/display-info/hdr-status") == "on" +end + +local function switch_display_mode(enable) + if enable == hdr_active then return end + local arg = enable and "on" or "off" + mp.commandv('script-message', 'toggle-hdr-display', arg) +end + +local function apply_hdr_settings() + mp.set_property_native("icc-profile", "") + mp.set_property_native("icc-profile-auto", false) + mp.set_property_native("target-prim", "bt.2020") + mp.set_property_native("target-trc", "pq") + mp.set_property_native("target-peak", o.target_peak) + mp.set_property_native("target-contrast", o.target_contrast) + mp.set_property_native("target-colorspace-hint", "yes") + mp.set_property_native("inverse-tone-mapping", "no") +end + +local function apply_sdr_settings() + mp.set_property_native("icc-profile", state.icc_profile) + mp.set_property_native("icc-profile-auto", state.icc_profile_auto) + mp.set_property_native("target-peak", "203") + mp.set_property_native("target-contrast", state.target_contrast) + mp.set_property_native("target-colorspace-hint", "no") + if state.target_prim ~= "bt.2020" then + mp.set_property_native("target-prim", state.target_prim) + else + mp.set_property_native("target-prim", "auto") + end + if state.target_trc ~= "pq" then + mp.set_property_native("target-trc", state.target_trc) + else + mp.set_property_native("target-trc", "auto") + end +end + +local function reset_target_settings() + mp.set_property_native("target-peak", state.target_peak) + mp.set_property_native("target-prim", state.target_prim) + mp.set_property_native("target-trc", state.target_trc) + mp.set_property_native("target-contrast", state.target_contrast) + mp.set_property_native("target-colorspace-hint", state.colorspace_hint) + mp.set_property_native("inverse-tone-mapping", state.inverse_mapping) +end + +local function pause_if_needed() + local paused = mp.get_property_native("pause") + if not paused then + mp.set_property_native("pause", true) + return true + end + return false +end + +local function resume_if_needed(paused_before) + if paused_before then + mp.add_timeout(1, function() + mp.set_property_native("pause", false) + end) + end +end + +local function handle_hdr_logic(paused_before, target_peak, target_prim, target_trc) + query_hdr_state() + if hdr_active and o.hdr_mode ~= "noth" then + apply_hdr_settings() + resume_if_needed(paused_before) + elseif not hdr_active and o.hdr_mode ~= "noth" and + (tonumber(target_peak) ~= 203 or target_prim == "bt.2020" or target_trc == "pq") then + apply_sdr_settings() + end +end + +local function handle_sdr_logic(paused_before, target_peak, target_prim, target_trc) + query_hdr_state() + if not hdr_active or o.hdr_mode ~= "noth" then + if (not hdr_active or not state.inverse_mapping) and + (tonumber(target_peak) ~= 203 or target_prim == "bt.2020" or target_trc == "pq") then + apply_sdr_settings() + elseif hdr_active and state.inverse_mapping then + reset_target_settings() + end + resume_if_needed(paused_before) + end + if hdr_active and o.hdr_mode == "pass" and state.inverse_mapping then + reset_target_settings() + end +end + +local function should_switch_hdr(hdr_active, is_fullscreen) + if o.hdr_mode ~= "switch" then return false end + if not hdr_active and (not o.fullscreen_only or is_fullscreen) then + return true + elseif hdr_active and o.fullscreen_only and not is_fullscreen then + return true + end + return false +end + +local function switch_hdr() + query_hdr_state() + local params = mp.get_property_native("video-params") + local gamma = params and params["gamma"] + local max_luma = params and params["max-luma"] + local is_hdr = max_luma and max_luma > 203 + if not gamma then return end + + local current_state = is_hdr and "hdr" or "sdr" + local pause_changed = false + local fullscreen = mp.get_property_native("fullscreen") + local maximized = mp.get_property_native("window-maximized") + local target_peak = mp.get_property_native("target-peak") + local target_prim = mp.get_property_native("target-prim") + local target_trc = mp.get_property_native("target-trc") + local is_fullscreen = fullscreen or maximized + + if current_state == "hdr" then + local function continue_hdr() + handle_hdr_logic(pause_changed, target_peak, target_prim, target_trc) + end + + if first_switch_check and o.fullscreen_only and not is_fullscreen then + first_switch_check = false + elseif should_switch_hdr(hdr_active, is_fullscreen) then + pause_changed = pause_if_needed() + if hdr_active and o.fullscreen_only and not is_fullscreen then + msg.info("Switching to SDR output...") + switch_display_mode(false) + else + msg.info("Switching to HDR output...") + switch_display_mode(true) + end + mp.add_timeout(3, continue_hdr) + return + end + + handle_hdr_logic(false, target_peak, target_prim, target_trc) + + elseif current_state == "sdr" then + local function continue_sdr() + handle_sdr_logic(pause_changed, target_peak, target_prim, target_trc) + end + + if hdr_active and o.hdr_mode == "switch" and (not o.fullscreen_only or is_fullscreen) then + msg.info("Switching back to SDR output...") + pause_changed = pause_if_needed() + switch_display_mode(false) + mp.add_timeout(3, continue_sdr) + return + end + + handle_sdr_logic(false, target_peak, target_prim, target_trc) + end +end + +local function check_paramet() + query_hdr_state() + local target_peak = mp.get_property_native("target-peak") + local target_prim = mp.get_property_native("target-prim") + local target_trc = mp.get_property_native("target-trc") + local target_contrast = mp.get_property_native("target-contrast") + local colorspace_hint = mp.get_property_native("target-colorspace-hint") + local inverse_mapping = mp.get_property_native("inverse-tone-mapping") + local params = mp.get_property_native("video-params") + local gamma = params and params["gamma"] + local max_luma = params and params["max-luma"] + local is_hdr = max_luma and max_luma > 203 + if not gamma then return end + + if is_hdr and hdr_active and o.hdr_mode ~= "noth" then + if target_peak ~= o.target_peak then + mp.set_property_native("target-peak", o.target_peak) + end + if target_contrast ~= o.target_contrast then + mp.set_property_native("target-contrast", o.target_contrast) + end + if target_prim ~= "bt.2020" then + mp.set_property_native("target-prim", "bt.2020") + end + if target_trc ~= "pq" then + mp.set_property_native("target-trc", "pq") + end + if colorspace_hint ~= "yes" then + mp.set_property_native("target-colorspace-hint", "yes") + end + if inverse_mapping then + mp.set_property_native("inverse-tone-mapping", "no") + end + end + if not is_hdr and o.hdr_mode ~= "noth" and not state.inverse_mapping + and (tonumber(target_peak) ~= 203 or target_prim == "bt.2020" or target_trc == "pq") then + apply_sdr_settings() + end +end + +local function on_start() + if o.hdr_mode == "noth" or tonumber(o.target_peak) <= 203 then + return + end + local vo = mp.get_property("vo") + if vo and vo ~= "gpu-next" then + msg.warn("The current video output is not supported, please use gpu-next") + return + end + file_loaded = true + query_hdr_state() + mp.observe_property("video-params", "native", switch_hdr) + mp.observe_property("target-peak", "native", check_paramet) + mp.observe_property("target-prim", "native", check_paramet) + mp.observe_property("target-trc", "native", check_paramet) + mp.observe_property("target-contrast", "native", check_paramet) + mp.observe_property("target-colorspace-hint", "native", check_paramet) + mp.observe_property("user-data/display-info/hdr-status", "native", switch_hdr) + if o.fullscreen_only then + mp.observe_property("fullscreen", "native", switch_hdr) + mp.observe_property("window-maximized", "native", switch_hdr) + end +end + +local function on_end(event) + query_hdr_state() + first_switch_check = true + mp.unobserve_property(switch_hdr) + mp.unobserve_property(check_paramet) + if event["reason"] == "quit" and o.hdr_mode == "switch" then + if hdr_active then + msg.info("Restoring display to SDR on shutdown") + switch_display_mode(false) + end + end +end + +local function on_idle(_, active) + local target_peak = mp.get_property_native("target-peak") + local target_prim = mp.get_property_native("target-prim") + local target_trc = mp.get_property_native("target-trc") + if active and o.hdr_mode ~= "noth" and + (tonumber(target_peak) ~= 203 or target_prim == "bt.2020" or target_trc == "pq") then + apply_sdr_settings() + end + if active and file_loaded and o.hdr_mode == "switch" then + file_loaded = false + query_hdr_state() + if hdr_active then + msg.info("Restoring display to SDR on shutdown") + switch_display_mode(false) + end + end +end + +mp.register_event("start-file", on_start) +mp.register_event("end-file", on_end) +mp.observe_property("idle-active", "native", on_idle) \ No newline at end of file diff --git a/scripts/history-bookmark.lua b/scripts/history-bookmark.lua new file mode 100644 index 0000000..a466b8e --- /dev/null +++ b/scripts/history-bookmark.lua @@ -0,0 +1,602 @@ +--lite version of the code written by sorayuki +--only keep the function to record the histroy and recover it + +local mp = require 'mp' +local utils = require 'mp.utils' +local options = require 'mp.options' +local msg = require 'mp.msg' -- this is for debugging + +local o = { + enabled = true, + -- eng=English, chs=Chinese Simplified + language = 'eng', + timeout = 15, + save_period = 30, + -- Set '/:dir%mpvconf%/historybookmarks' to use mpv config directory + -- OR change to '/:dir%script%/historybookmarks' for placing it in the same directory of script + -- OR change to '~~/historybookmarks' for sub path of mpv portable_config directory + -- OR write any variable using '/:var', such as: '/:var%APPDATA%/mpv/historybookmarks' or '/:var%HOME%/mpv/historybookmarks' + -- OR specify the absolute path + history_dir = "/:dir%mpvconf%/historybookmarks", + -- specifies the extension of the history-bookmark file + bookmark_ext = ".mpv.history", + -- use hash to bookmark_name + hash = true, + -- set false to get playlist from directory + use_playlist = true, + -- specifies a whitelist of files to find in a directory + whitelist = "3gp,amr,amv,asf,avi,avi,bdmv,f4v,flv,m2ts,m4v,mkv,mov,mp4,mpeg,mpg,ogv,rm,rmvb,ts,vob,webm,wmv", + -- excluded directories for shared, #windows: ["X:", "Z:", "F:/Download/", "Download"] + excluded_dir = [[ + [] + ]], + included_dir = [[ + [] + ]] +} +options.read_options(o, _, function() end) + +o.excluded_dir = utils.parse_json(o.excluded_dir) +o.included_dir = utils.parse_json(o.included_dir) + +local file_loaded = false + +local locals = { + ['eng'] = { + msg1 = 'Resume successfully', + msg2 = 'Resume the last played file in current directory', + msg3 = 'Press 1 to confirm, 0 to cancel', + }, + ['chs'] = { + msg1 = '成功恢复上次播放', + msg2 = '是否恢复当前目录的上次播放文件', + msg3 = '按1确认,按0取消', + } +} + +-- apply lang opts +local texts = locals[o.language] + +-- `pl` stands for playlist +local path = nil +local dir = nil +local fname = nil +local pl_count = 0 +local pl_name = nil +local pl_path = nil +local pl_list = {} +local pl_idx = 1 +local current_idx = 1 +local bookmark_path = nil +local history_dir = nil +local normalize_path = nil + +local wait_msg +local on_key = false + +if o.history_dir:find('^/:dir%%mpvconf%%') then + history_dir = o.history_dir:gsub('/:dir%%mpvconf%%', mp.find_config_file('.')) +elseif o.history_dir:find('^/:dir%%script%%') then + history_dir = o.history_dir:gsub('/:dir%%script%%', mp.find_config_file('scripts')) +elseif o.history_dir:find('/:var%%(.*)%%') then + local os_variable = o.history_dir:match('/:var%%(.*)%%') + history_dir = o.history_dir:gsub('/:var%%(.*)%%', os.getenv(os_variable)) +else + history_dir = mp.command_native({ "expand-path", o.history_dir }) -- Expands both ~ and ~~ +end + +local is_windows = package.config:sub(1, 1) == "\\" -- detect path separator, detect path separator, windows uses backslashes +--create history_dir if it doesn't exist +if history_dir ~= '' then + local meta = utils.file_info(history_dir) + if not meta or not meta.is_dir then + local windows_args = { 'powershell', '-NoProfile', '-Command', 'mkdir', string.format("\"%s\"", history_dir) } + local unix_args = { 'mkdir', '-p', history_dir } + local args = is_windows and windows_args or unix_args + local res = mp.command_native({ name = "subprocess", capture_stdout = true, playback_only = false, args = args }) + if res.status ~= 0 then + msg.error("Failed to create history_dir save directory " .. history_dir .. + ". Error: " .. (res.error or "unknown")) + return + end + end +end + +local function split(input) + local ret = {} + for str in string.gmatch(input, "([^,]+)") do + ret[#ret + 1] = str + end + return ret +end + +local ext_whitelist = split(o.whitelist) + +local function exclude(extension) + if #ext_whitelist > 0 then + for _, ext in pairs(ext_whitelist) do + if extension == ext then + return true + end + end + else + return + end +end + +local function is_protocol(path) + return type(path) == 'string' and (path:find('^%a[%w.+-]-://') ~= nil or path:find('^%a[%w.+-]-:%?') ~= nil) +end + +local function need_ignore(tab, val) + for _, element in pairs(tab) do + if string.find(val, element) then + return true + end + end + return false +end + +local function tablelength(tab) + local count = 0 + for _, _ in pairs(tab) do + count = count + 1 + end + return count +end + +local message_overlay = mp.create_osd_overlay('ass-events') +local message_timer = mp.add_timeout(1, function () + message_overlay:remove() +end, true) + +function show_message(text, time) + message_timer:kill() + message_timer.timeout = time or 1 + message_overlay.data = text + message_overlay:update() + message_timer:resume() +end + +local function normalize(path) + if normalize_path ~= nil then + if normalize_path then + path = mp.command_native({"normalize-path", path}) + else + local directory = mp.get_property("working-directory", "") + path = utils.join_path(directory, path:gsub('^%.[\\/]','')) + if is_windows then path = path:gsub("\\", "/") end + end + return path + end + + normalize_path = false + + local commands = mp.get_property_native("command-list", {}) + for _, command in ipairs(commands) do + if command.name == "normalize-path" then + normalize_path = true + break + end + end + return normalize(path) +end + +function refresh_globals() + path = mp.get_property("path") + fname = mp.get_property("filename") + pl_count = mp.get_property_number('playlist-count', 0) + if path and not is_protocol(path) then + path = normalize(path) + dir = utils.split_path(path) + else + dir = nil + end +end + +-- for unix use only +-- returns a table of command path and varargs, or nil if command was not found +local function command_exists(command, ...) + msg.debug("looking for command:", command) + -- msg.debug("args:", ) + local process = mp.command_native({ + name = "subprocess", + capture_stdout = true, + capture_stderr = true, + playback_only = false, + args = {"sh", "-c", "command -v -- " .. command} + }) + + if process.status == 0 then + local command_path = process.stdout:gsub("\n", "") + msg.debug("command found:", command_path) + return {command_path, ...} + else + msg.debug("command not found:", command) + return nil + end +end + +-- returns md5 hash of the full path of the current media file +local function hash(path) + if path == nil then + msg.debug("something is wrong with the path, can't get full_path, can't hash it") + return + end + + msg.debug("hashing:", path) + + local cmd = { + name = 'subprocess', + capture_stdout = true, + playback_only = false, + } + + local args = nil + local is_unix = package.config:sub(1,1) == "/" + if is_unix then + local md5 = command_exists("md5sum") or command_exists("md5") or command_exists("openssl", "md5 | cut -d ' ' -f 2") + if md5 == nil then + msg.warn("no md5 command found, can't generate hash") + return + end + md5 = table.concat(md5, " ") + cmd["stdin_data"] = path + args = {"sh", "-c", md5 .. " | cut -d ' ' -f 1 | tr '[:lower:]' '[:upper:]'" } + else --windows + -- https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-filehash?view=powershell-7.3 + local hash_command = [[ + $s = [System.IO.MemoryStream]::new(); + $w = [System.IO.StreamWriter]::new($s); + $w.write(']] .. path .. [['); + $w.Flush(); + $s.Position = 0; + Get-FileHash -Algorithm MD5 -InputStream $s | Select-Object -ExpandProperty Hash + ]] + + args = {"powershell", "-NoProfile", "-Command", hash_command} + end + cmd["args"] = args + msg.debug("hash cmd:", utils.to_string(cmd)) + local process = mp.command_native(cmd) + + if process.status == 0 then + local hash = process.stdout:gsub("%s+", "") + msg.debug("hash:", hash) + return hash + else + msg.warn("hash function failed") + return + end +end + +local function get_bookmark_path(dir) + local fpath = string.sub(dir, 1, -2) + local _, name = utils.split_path(fpath) + local history_name = nil + if o.hash then + history_name = hash(dir) + if history_name == nil then + msg.warn("hash function failed, fallback to dirname") + history_name = name + end + else + history_name = name + end + local bookmark_name = history_name .. o.bookmark_ext + bookmark_path = utils.join_path(history_dir, bookmark_name) + if is_windows then bookmark_path = bookmark_path:gsub("\\", "/") end +end + +local function file_exist(path) + local meta = utils.file_info(path) + if not meta or not meta.is_file then + return false + end + return true +end + +-- get the content of the bookmark +-- Arg: bookmark_file (path) +-- Return: nil / content of the bookmark +local function get_record(bookmark_path) + local file = io.open(bookmark_path, 'r') + local record = file:read() + if record == nil then + msg.verbose('No history record is found in the bookmark file.') + return nil + end + msg.verbose('last play: ' .. record) + file:close() + return record +end + +----- winapi start ----- +-- in windows system, we can use the sorting function provided by the win32 API +-- see https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strcmplogicalw +-- this function was taken from https://github.com/mpvnet-player/mpv.net/issues/575#issuecomment-1817413401 +local winapi = {} +local is_windows = mp.get_property_native("platform") == "windows" + +if is_windows then + -- is_ffi_loaded is false usually means the mpv builds without luajit + local is_ffi_loaded, ffi = pcall(require, "ffi") + + if is_ffi_loaded then + winapi = { + ffi = ffi, + C = ffi.C, + CP_UTF8 = 65001, + shlwapi = ffi.load("shlwapi"), + } + + -- ffi code from https://github.com/po5/thumbfast, Mozilla Public License Version 2.0 + ffi.cdef[[ + int __stdcall MultiByteToWideChar(unsigned int CodePage, unsigned long dwFlags, const char *lpMultiByteStr, + int cbMultiByte, wchar_t *lpWideCharStr, int cchWideChar); + int __stdcall StrCmpLogicalW(wchar_t *psz1, wchar_t *psz2); + ]] + + winapi.utf8_to_wide = function(utf8_str) + if utf8_str then + local utf16_len = winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, utf8_str, -1, nil, 0) + + if utf16_len > 0 then + local utf16_str = winapi.ffi.new("wchar_t[?]", utf16_len) + + if winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, utf8_str, -1, utf16_str, utf16_len) > 0 then + return utf16_str + end + end + end + + return "" + end + end +end +----- winapi end ----- + +local function alphanumsort_windows(filenames) + table.sort(filenames, function(a, b) + local a_wide = winapi.utf8_to_wide(a) + local b_wide = winapi.utf8_to_wide(b) + return winapi.shlwapi.StrCmpLogicalW(a_wide, b_wide) == -1 + end) + + return filenames +end + +-- alphanum sorting for humans in Lua +-- http://notebook.kulchenko.com/algorithms/alphanumeric-natural-sorting-for-humans-in-lua +local function alphanumsort_lua(filenames) + local function padnum(n, d) + return #d > 0 and ("%03d%s%.12f"):format(#n, n, tonumber(d) / (10 ^ #d)) + or ("%03d%s"):format(#n, n) + end + + local tuples = {} + for i, f in ipairs(filenames) do + tuples[i] = {f:lower():gsub("0*(%d+)%.?(%d*)", padnum), f} + end + table.sort(tuples, function(a, b) + return a[1] == b[1] and #b[2] < #a[2] or a[1] < b[1] + end) + for i, tuple in ipairs(tuples) do filenames[i] = tuple[2] end + return filenames +end + +local function alphanumsort(filenames) + local is_ffi_loaded = pcall(require, "ffi") + if is_windows and is_ffi_loaded then + alphanumsort_windows(filenames) + else + alphanumsort_lua(filenames) + end +end + +local function create_playlist(dir) + local pl_list = {} + local file_list = utils.readdir(dir, 'files') + for i = 1, #file_list do + local file = file_list[i] + local ext = file:match('%.([^./]+)$') + if ext and exclude(ext:lower()) then + table.insert(pl_list, file) + msg.verbose("Adding " .. file) + end + end + alphanumsort(pl_list) + return pl_list +end + +local function get_playlist() + local pl_list = {} + local playlist = mp.get_property_native("playlist") + for i = 0, #playlist - 1 do + local filename = mp.get_property("playlist/" .. i .. "/filename") + local _, file = utils.split_path(filename) + table.insert(pl_list, file) + end + return pl_list +end + +-- get the index of the wanted file playlist +-- if there is no playlist, return nil +local function get_playlist_idx(dst_file) + if dst_file == nil or dst_file == " " then + return nil + end + + local idx = nil + for i = 1, #pl_list do + if (dst_file == pl_list[i]) then + idx = i + return idx + end + end + return idx +end + +local function jump_resume() + mp.unregister_event(jump_resume) + show_message(texts.msg1, 2) +end + +local function unbind_key() + msg.verbose('Unbinding keys') + wait_jump_timer:kill() + mp.remove_key_binding('key_jump') + mp.remove_key_binding('key_cancel') +end + +local function key_jump() + on_key = true + wait_jump_timer:kill() + unbind_key() + current_idx = pl_idx + mp.register_event('file-loaded', jump_resume) + msg.verbose('Jumping to ' .. pl_path) + mp.commandv('loadfile', pl_path) +end + +local function key_cancel() + on_key = true + wait_jump_timer:kill() + unbind_key() +end + +local function bind_key() + mp.add_forced_key_binding('1', 'key_jump', key_jump) + mp.add_forced_key_binding('0', 'key_cancel', key_cancel) +end + +-- creat a .history file +local function record_history() + if not o.enabled or not file_loaded then return end + refresh_globals() + if not path or is_protocol(path) then return end + get_bookmark_path(dir) + local eof = mp.get_property_bool("eof-reached") + local percent_pos = mp.get_property_number("percent-pos", 0) + if not eof and percent_pos < 90 then + if fname ~= nil then + local file = io.open(bookmark_path, "w") + file:write(fname .. "\n") + file:close() + end + else + local file = io.open(bookmark_path, "w") + file:write(" " .. "\n") + file:close() + end +end + +local timeout = o.timeout +local function wait_jumping() + timeout = timeout - 1 + if timeout > 0 then + if not on_key then + local msg = string.format("%s -- %s? (%s) %02d", wait_msg, texts.msg2, texts.msg3, timeout) + show_message(msg, 1) + bind_key() + else + timeout = 0 + wait_jump_timer:kill() + unbind_key() + end + else + wait_jump_timer:kill() + unbind_key() + end +end + +-- record the file name when video is paused +-- and stop the timer +local function pause(_, paused) + if paused then + timer4saving_history:stop() + record_history() + else + timer4saving_history:resume() + end +end + +-- main function of the file +local function record() + if not o.enabled then return end + refresh_globals() + if pl_count and pl_count < 1 then return end + if not path or is_protocol(path) or not file_exist(path) then return end + if not dir or not fname then return end + get_bookmark_path(dir) + included_dir_count = tablelength(o.included_dir) + if included_dir_count > 0 then + if not need_ignore(o.included_dir, dir) then return end + end + if need_ignore(o.excluded_dir, dir) then return end + + msg.verbose('folder -- ' .. dir) + msg.verbose('playing -- ' .. fname) + msg.verbose('bookmark path -- ' .. bookmark_path) + + if (not file_exist(bookmark_path)) then + pl_name = nil + return + else + pl_name = get_record(bookmark_path) + if pl_name then + pl_path = utils.join_path(dir, pl_name) + else + pl_name = fname + pl_path = path + end + end + + if o.use_playlist or pl_count > 1 then + pl_list = get_playlist() + else + pl_list = create_playlist(dir) + end + + pl_idx = get_playlist_idx(pl_name) + if (pl_idx == nil) then + msg.verbose('Playlist not found. Creating a new one...') + else + msg.verbose('playlist index --' .. pl_idx) + end + + current_idx = get_playlist_idx(fname) + if current_idx then msg.verbose('current index -- ' .. current_idx) end + + if current_idx and (pl_idx == nil) then + pl_idx = current_idx + pl_name = fname + pl_path = path + elseif current_idx and (pl_idx ~= current_idx) then + wait_msg = pl_idx + msg.verbose('Last watched episode -- ' .. wait_msg) + wait_jump_timer = mp.add_periodic_timer(1, wait_jumping) + end + timer4saving_history = mp.add_periodic_timer(o.save_period, record_history) + mp.observe_property("pause", "bool", pause) +end + +mp.register_event('file-loaded', function() + file_loaded = true + local path = mp.get_property("path") + if not is_protocol(path) then + path = normalize(path) + directory = utils.split_path(path) + else + directory = nil + end + if directory ~= nil and directory ~= dir then + mp.add_timeout(0.5, record) + end +end) + +mp.add_hook("on_unload", 50, function() + mp.unobserve_property(pause) + record_history() + file_loaded = false +end) \ No newline at end of file diff --git a/scripts/inputevent.lua b/scripts/inputevent.lua new file mode 100644 index 0000000..ef38aad --- /dev/null +++ b/scripts/inputevent.lua @@ -0,0 +1,600 @@ +-- InputEvent +-- https://github.com/Natural-Harmonia-Gropius/InputEvent + +local utils = require("mp.utils") +local opt = require("mp.options") +local msg = require("mp.msg") +local next = next + +local watched_properties = {} -- indexed by property name (used as a set) +local cached_properties = {} -- property name -> last known raw value +local o = { + --enable external config + enable_external_config = false, + + --external config file path + external_config = "~~/script-opts/inputevent_key.conf", + prefix = "event", +} + +opt.read_options(o, _, function() end) + +local bind_map = {} + +local event_pattern = { + { to = "penta_click", from = "down,up,down,up,down,up,down,up,down,up", length = 10 }, + { to = "quatra_click", from = "down,up,down,up,down,up,down,up", length = 8 }, + { to = "triple_click", from = "down,up,down,up,down,up", length = 6 }, + { to = "double_click", from = "down,up,down,up", length = 4 }, + { to = "click", from = "down,up", length = 2 }, + { to = "press", from = "down", length = 1 }, + { to = "release", from = "up", length = 1 }, +} + +local supported_events = { + ["repeat"] = true +} +for _, value in ipairs(event_pattern) do + supported_events[value.to] = true +end + +-- https://mpv.io/manual/master/#input-command-prefixes +local prefixes = { "osd-auto", "no-osd", "osd-bar", "osd-msg", "osd-msg-bar", "raw", "expand-properties", + "repeatable", "nonrepeatable", "async", "sync" } + +-- https://mpv.io/manual/master/#list-of-input-commands +local commands = { "set", "cycle", "add", "multiply" } + +function table:isEmpty() + if next(self) == nil then + return true + else + return false + end +end + +function table:push(element) + self[#self + 1] = element + return self +end + +function table:assign(source) + for key, value in pairs(source) do + self[key] = value + end + return self +end + +function table:has(element) + for _, value in ipairs(self) do + if value == element then + return true + end + end + return false +end + +function table:filter(filter) + local nt = {} + for index, value in ipairs(self) do + if (filter(index, value)) then + nt = table.push(nt, value) + end + end + return nt +end + +function table:join(separator) + local result = "" + for i, v in ipairs(self) do + local value = type(v) == "string" and v or tostring(v) + local semi = i == #self and "" or separator + result = result .. value .. semi + end + return result +end + +function string:trim() + return (self:gsub("^%s*(.-)%s*$", "%1")) +end + +function string:replace(pattern, replacement) + local result, n = self:gsub(pattern, replacement) + return result +end + +function string:split(separator) + local fields = {} + local separator = separator or ":" + local pattern = string.format("([^%s]+)", separator) + local copy = self:gsub(pattern, function(c) fields[#fields + 1] = c end) + return fields +end + +local function debounce(func, wait) + func = type(func) == "function" and func or function() end + wait = type(wait) == "number" and wait / 1000 or 0 + + local timer = nil + local timer_end = function() + if timer then + timer:kill() + timer = nil + end + func() + end + + return function() + if timer then + timer:kill() + end + timer = mp.add_timeout(wait, timer_end) + end +end + +local function now() + return mp.get_time() * 1000 +end + +local function command(command) + if not command or command == '' then return true end + return mp.command(command) +end + +local function command_split(command) + local separator = { ";" } + local escape = { "\\" } + local quotation = { '"', "'" } + local quotation_stack = {} + local result = {} + local temp = "" + + for i = 1, #command do + local char = command:sub(i, i) + + if table.has(separator, char) and #quotation_stack == 0 then + result = table.push(result, temp) + temp = "" + elseif table.has(quotation, char) and not table.has(escape, temp:sub(#temp, #temp)) then + temp = temp .. char + if quotation_stack[#quotation_stack] == char then + quotation_stack = table.filter(quotation_stack, function(i, v) return i ~= #quotation_stack end) + else + quotation_stack = table.push(quotation_stack, char) + end + else + temp = temp .. char + end + end + + if #temp then + result = table.push(result, temp) + end + + return result +end + +local function command_invert(command) + local invert = "" + local command_list = command_split(command) + for i, v in ipairs(command_list) do + local trimed = v:trim() + local subs = trimed:split("%s*") + local prefix, command, property = "", nil, nil + for _, s in ipairs(subs) do + local sub = s:trim() + if not command and table.has(prefixes, sub) then + prefix = prefix .. " " .. sub + elseif not command then + if table.has(commands, sub) then + command = sub + else + msg.warn("\"" .. trimed .. "\" doesn't support auto restore.") + break + end + elseif command and not property then + property = sub + break + end + end + + repeat -- workaround continue + if not command or not property then + msg.warn("\"" .. trimed .. "\" doesn't support auto restore.") + break + end + + local value = mp.get_property(property) + if value then + local semi = i == #command_list and "" or ";" + invert = invert .. prefix:trim() .. " set " .. property .. " " .. value .. semi + else + msg.warn("\"" .. trimed .. "\" doesn't support auto restore.") + end + until true + end + msg.verbose("command_invert:" .. invert) + return invert +end + +-- https://github.com/mpv-player/mpv/blob/master/player/lua/auto_profiles.lua +local function on_property_change(name, val) + cached_properties[name] = val +end + +local function magic_get(name) + -- Lua identifiers can't contain "-", so in order to match with mpv + -- property conventions, replace "_" to "-" + name = string.gsub(name, "_", "-") + if not watched_properties[name] then + watched_properties[name] = true + local res, err = mp.get_property_native(name) + if err == "property not found" then + msg.error("Property '" .. name .. "' was not found.") + return default + end + cached_properties[name] = res + mp.observe_property(name, "native", on_property_change) + end + return cached_properties[name] +end + +local evil_magic = {} +setmetatable(evil_magic, { + __index = function(table, key) + -- interpret everything as property, unless it already exists as + -- a non-nil global value + local v = _G[key] + if type(v) ~= "nil" then + return v + end + return magic_get(key) + end, +}) + +p = {} +setmetatable(p, { + __index = function(table, key) + return magic_get(key) + end, +}) + +local function compile_cond(name, s) + local code, chunkname = "return " .. s, "Event " .. name .. " condition" + local chunk, err + if setfenv then -- lua 5.1 + chunk, err = loadstring(code, chunkname) + if chunk then + setfenv(chunk, evil_magic) + end + else -- lua 5.2 + chunk, err = load(code, chunkname, "t", evil_magic) + end + if not chunk then + msg.error("Event '" .. name .. "' condition: " .. err) + chunk = function() return false end + end + return chunk +end + +local InputEvent = {} + +function InputEvent:new(key, on) + local Instance = {} + setmetatable(Instance, self); + self.__index = self; + + Instance.key = key + Instance.on = table.assign({ click = {} }, on) -- event -> actions {cmd="",cond=function} + Instance.queue = {} + Instance.queue_max = { length = 0 } + Instance.duration = mp.get_property_number("input-doubleclick-time", 300) + Instance.ignored = {} + + for _, event in ipairs(event_pattern) do + if Instance.on[event.to] and event.length > 1 then + Instance.queue_max = { event = event.to, length = event.length } + break + end + end + + return Instance +end + +function InputEvent:evaluate(event) + msg.verbose("Evaluating event: " .. event) + local seleted = nil + local actions = self.on[event] + if not actions or table.isEmpty(actions) then return end + for _, action in ipairs(actions) do + msg.verbose("Evaluating comand: " .. action.cmd) + if type(action.cond) ~= "function" then + seleted = action.cmd + break + else + local status, res = pcall(action.cond) + if not status then + -- errors can be "normal", e.g. in case properties are unavailable + msg.verbose("Action condition error on evaluating: " .. res) + res = false + end + res = not not res + if res then + seleted = action.cmd + break + end + end + end + + return seleted +end + +local function cmd_filter(i,v) return (v.cmd ~= nil and v.cmd ~= "ignore") end + +function InputEvent:emit(event) + if self.ignored[event] then + if now() - self.ignored[event] < self.duration then + return + end + + self.ignored[event] = nil + end + + if event == "release" and ( + self.on["release"] == nil or + table.isEmpty(self.on["release"]) or + table.isEmpty( table.filter(self.on["release"], cmd_filter) ) + ) + then + event = "release-auto" + end + + if event == "repeat" and self.on[event] == "ignore" then + event = "click" + end + + local cmd = self:evaluate(event) + if not cmd or cmd == "" then + return + end + + if event == "press" and ( + self.on["release"] == nil or + table.isEmpty(self.on["release"]) or + table.isEmpty( table.filter(self.on["release"], cmd_filter) ) + ) + then + self.on["release-auto"] = {{cmd = command_invert(cmd), cond = nil}} + end + + local expand = mp.command_native({'expand-text', cmd}) + if #command_split(cmd) == #command_split(expand) then + cmd = mp.command_native({'expand-text', cmd}) + else + mp.msg.warn("Unsafe property-expansion detected.") + end + + msg.verbose("Apply comand: " .. cmd) + command(cmd) +end + +function InputEvent:handler(event) + if event == "press" then + self:handler("down") + self:handler("up") + return + end + + if event == "down" then + self:ignore("repeat") + end + + if event == "repeat" then + self:emit(event) + return + end + + if event == "up" then + if #self.queue == 0 then + self:emit("release") + return + end + + if #self.queue + 1 == self.queue_max.length then + self.queue = {} + self:emit(self.queue_max.event) + return + end + end + + if event == "cancel" then + if #self.queue == 0 then + self:emit("release") + return + end + + table.remove(self.queue) + return + end + + self.queue = table.push(self.queue, event) + self.exec_debounced() +end + +function InputEvent:exec() + if #self.queue == 0 then + return + end + + local separator = "," + + local queue_string = table.join(self.queue, separator) + for _, v in ipairs(event_pattern) do + if self.on[v.to] then + queue_string = queue_string:replace(v.from, v.to) + end + end + + self.queue = queue_string:split(separator) + for _, event in ipairs(self.queue) do + self:emit(event) + end + + self.queue = {} +end + +function InputEvent:ignore(event, timeout) + timeout = timeout or 0 + + self.ignored[event] = now() + timeout +end + +function InputEvent:bind() + self.exec_debounced = debounce(function() self:exec() end, self.duration) + mp.add_forced_key_binding(self.key, self.key, function(e) + local event = e.canceled and "cancel" or e.event + self:handler(event) + end, { complex = true }) +end + +function InputEvent:unbind() + mp.remove_key_binding(self.key) +end + +function InputEvent:rebind(diff) + if type(diff) == "table" then + self = table.assign(self, diff) + end + + self:unbind() + self:bind() +end + +local function bind(key, on) + key = #key == 1 and key or key:upper() + + if type(on) == "string" then + on = utils.parse_json(on) + end + + if bind_map[key] then + on = table.assign(bind_map[key].on, on) + bind_map[key]:unbind() + end + + bind_map[key] = InputEvent:new(key, on) + bind_map[key]:bind() +end + +local function unbind(key) + bind_map[key]:unbind() +end + +local function bind_from_conf(conf) + local parsed = {} + for _, line in pairs(conf:split("\n")) do + line = line:trim() + if line ~= "" and line:sub(1, 1) ~= "#" then + local key, cmd, comment = line:trim():match("^([%S]+)%s+(.-)%s+#%s*(.-)$") + if comment then + local comments = {} + for _, item in ipairs(comment:split("#")) do + item = item:trim() + local prefix, value = item:match("^(.-)%s*:%s*(.-)$") + if not prefix then + prefix, value = item:match("^(%p)%s*(.-)$") + end + if prefix then + comments[prefix] = value + end + end + + local event, cond = comments[o.prefix], nil + local parts = event and event:split("|") + if parts and #parts > 1 then + event, cond = event:match("(.-)%s*|%s*(.-)$") + end + + if event and event ~= "" then + if not supported_events[event] then + event = "click" + end + if parsed[key] == nil then + parsed[key] = {} + end + if parsed[key][event] == nil then + parsed[key][event] = {} + end + + local index = table.isEmpty(parsed[key][event]) and 1 or #parsed[key][event]+1 + local cond_name = string.format("%s-%s-%d", key, event, index) + table.insert(parsed[key][event], 1,{ + cmd = cmd, + cond = cond ~= nil and compile_cond(cond_name, cond) or nil + }) + end + end + end + end + return parsed +end + +local function bind_content(content) + local parsed = bind_from_conf(content) + if parsed and not table.isEmpty(parsed) then + for key, on in pairs(parsed) do + bind(key, on) + end + end +end + +local function read_conf(path) + local content = "" + local meta, meta_error = utils.file_info(path) + if meta and meta.is_file then + local file = io.open(path, "r") + if file then + content = file:read("*all") + file:close() + end + end + return content +end + +local function on_input_doubleclick_time_update(_, duration) + for _, binding in pairs(bind_map) do + binding:rebind({ duration = duration }) + end +end + +local function on_focused_update(_, focused) + if not focused then + return + end + + local binding = bind_map["MBTN_LEFT"] + if not binding then + return + end + + binding:ignore("click", binding.duration) +end + + +mp.register_script_message("bind", bind) +mp.register_script_message("unbind", unbind) +mp.observe_property("input-doubleclick-time", "native", on_input_doubleclick_time_update) +mp.observe_property("focused", "native", on_focused_update) + +local content = "" +local input_conf = mp.get_property_native("input-conf") +local input_conf_path = mp.command_native({ "expand-path", input_conf == "" and "~~/input.conf" or input_conf }) +if o.enable_external_config then + local external_config_path = mp.command_native({ "expand-path", o.external_config }) + content = read_conf(external_config_path) +elseif input_conf:match("^memory://") then + content = input_conf:replace("^memory://", "") +else + content = read_conf(input_conf_path) +end +if content ~= "" then bind_content(content) end \ No newline at end of file diff --git a/scripts/manager.lua b/scripts/manager.lua new file mode 100644 index 0000000..26b9302 --- /dev/null +++ b/scripts/manager.lua @@ -0,0 +1,114 @@ +local utils = require "mp.utils" +local legacy = mp.command_native_async == nil +local config = {} +local dir_cache = {} + +function run(args) + if legacy then + return utils.subprocess({args = args}) + end + return mp.command_native({name = "subprocess", capture_stdout = true, playback_only = false, args = args}) +end + +function parent(path) + return string.match(path, "(.*)[/\\]") +end + +function cache(path) + local p_path = parent(path) + if p_path == nil or p_path == "" or dir_cache[p_path] then return end + cache(p_path) + dir_cache[path] = 1 +end + +function mkdir(path) + if dir_cache[path] then return end + cache(path) + run({"git", "init", path}) +end + +function match(str, patterns) + for pattern in string.gmatch(patterns, "[^|]+") do + if string.match(str, pattern) then + return true + end + end +end + +function apply_defaults(info) + if info.git == nil then return false end + if info.whitelist == nil then info.whitelist = "" end + if info.blacklist == nil then info.blacklist = "" end + if info.dest == nil then info.dest = "~~/scripts" end + if info.branch == nil then info.branch = "master" end + return info +end + +function update(info) + info = apply_defaults(info) + if not info then return false end + + local base = nil + + local e_dest = string.match(mp.command_native({"expand-path", info.dest}), "(.-)[/\\]?$") + mkdir(e_dest) + + local files = {} + + run({"git", "-C", e_dest, "remote", "add", "manager", info.git}) + run({"git", "-C", e_dest, "remote", "set-url", "manager", info.git}) + run({"git", "-C", e_dest, "fetch", "manager", info.branch}) + + for file in string.gmatch(run({"git", "-C", e_dest, "ls-tree", "-r", "--name-only", "remotes/manager/"..info.branch}).stdout, "[^\r\n]+") do + local l_file = string.lower(file) + if info.whitelist == "" or match(l_file, info.whitelist) then + if info.blacklist == "" or not match(l_file, info.blacklist) then + table.insert(files, file) + if base == nil then base = parent(l_file) or "" end + while string.match(base, l_file) == nil do + if l_file == "" then break end + l_file = parent(l_file) or "" + end + base = l_file + end + end + end + + if base == nil then return false end + + if base ~= "" then base = base.."/" end + + if next(files) == nil then + print("no files matching patterns") + else + for _, file in ipairs(files) do + local based = string.sub(file, string.len(base)+1) + local p_based = parent(based) + if p_based and not info.flatten_folders then mkdir(e_dest.."/"..p_based) end + local c = string.match(run({"git", "-C", e_dest, "--no-pager", "show", "remotes/manager/"..info.branch..":"..file}).stdout, "(.-)[\r\n]?$") + local f = io.open(e_dest.."/"..(info.flatten_folders and file:match("[^/]+$") or based), "w") + f:write(c) + f:close() + end + end + return true +end + +function update_all() + local f = io.open(mp.command_native({"expand-path", "~~/manager.json"}), "r") + if f then + local json = f:read("*all") + f:close() + + local props = utils.parse_json(json or "") + if props then + config = props + end + end + + for i, info in ipairs(config) do + print("update"..i, update(info)) + end +end + +mp.add_key_binding(nil, "manager-update-all", update_all) \ No newline at end of file diff --git a/scripts/mpv-animated.lua b/scripts/mpv-animated.lua new file mode 100644 index 0000000..d5e4ccd --- /dev/null +++ b/scripts/mpv-animated.lua @@ -0,0 +1,249 @@ +-- Original by Scheliux, Dragoner7 which was ported from Ruin0x11 +-- Adapted to webp by DonCanjas +-- Modify_: https://github.com/dyphire/mpv-scripts + +-- Create animated webps or gifs with mpv +-- Requires ffmpeg. +-- Adapted from https://github.com/Scheliux/mpv-gif-generator +-- Usage: "w" to set start frame, "W" to set end frame, "Ctrl+w" to create. + +-- Note: +-- Requires FFmpeg in PATH environment variable or edit ffmpeg_path in the script options, +-- Note: +-- A small circle at the top-right corner is a sign that creat is happenning now. + +require 'mp.options' +local msg = require 'mp.msg' +local utils = require "mp.utils" + +local options = { + type = "gif", -- gif or webp + ffmpeg_path = "ffmpeg", + dir = "~~desktop/", + rez = 600, + fps = 15, + lossless = 0, + quality = 90, + compression_level = 6, + loop = 0, +} + +read_options(options) + + +local fps +local ext +local text + +if options.type == "webp" then + ext = "webp" + text = "webP" +else + ext = "gif" + text = "GIF" +end + +-- Check for invalid fps values +-- Can you believe Lua doesn't have a proper ternary operator in the year of our lord 2020? +if options.fps ~= nil and options.fps >= 1 and options.fps < 30 then + fps = options.fps +else + fps = 15 +end + +-- Set this to the filters to pass into ffmpeg's -vf option. +-- filters="fps=24,scale=320:-1:flags=spline" +filters=string.format("fps=%s,scale='trunc(ih*dar/2)*2:trunc(ih/2)*2',setsar=1/1,scale=%s:-1:flags=lanczos", fps, options.rez) + +local is_windows = package.config:sub(1, 1) == "\\" -- detect path separator, windows uses backslashes +-- Setup output directory +local output_directory = mp.command_native({ "expand-path", options.dir }) +--create output_directory if it doesn't exist +if output_directory ~= '' then + local meta, meta_error = utils.file_info(output_directory) + if not meta or not meta.is_dir then + local windows_args = { 'powershell', '-NoProfile', '-Command', 'mkdir', string.format("\"%s\"", output_directory) } + local unix_args = { 'mkdir', '-p', output_directory } + local args = is_windows and windows_args or unix_args + local res = mp.command_native({name = "subprocess", capture_stdout = true, playback_only = false, args = args}) + if res.status ~= 0 then + msg.error("Failed to create animated_dir save directory "..output_directory..". Error: "..(res.error or "unknown")) + return + end + end +end + +start_time = -1 +end_time = -1 + +local function is_protocol(path) + return type(path) == 'string' and (path:find('^%a[%w.+-]-://') ~= nil or path:find('^%a[%w.+-]-:%?') ~= nil) +end + + +function make_animated_with_subtitles() + make_animated_internal(true) +end + +function make_animated() + make_animated_internal(false) +end + +function table_length(t) + local count = 0 + for _ in pairs(t) do count = count + 1 end + return count +end + + +function make_animated_internal(burn_subtitles) + local start_time_l = start_time + local end_time_l = end_time + if start_time_l == -1 or end_time_l == -1 or start_time_l >= end_time_l then + mp.osd_message("Invalid start/end time.") + return + end + + local trim_filters = filters + local position = start_time_l + local duration = end_time_l - start_time_l + local filename = mp.get_property("filename/no-ext") + + msg.info("Creating " .. text) + mp.osd_message("Creating " .. text) + + -- shell escape + function esc_for_sub(s) + s = string.gsub(s, "\\", "/") + s = string.gsub(s, '"', '\\"') + s = string.gsub(s, ":", "\\:") + s = string.gsub(s, "'", "\\'") + s = string.gsub(s, "%[", "\\%[") + s = string.gsub(s, "%]", "\\%]") + return s + end + + local pathname = mp.get_property("path", "") + local path = mp.get_property_native("path") + local cache = mp.get_property_native("cache") + local cache_state = mp.get_property_native("demuxer-cache-state") + local cache_ranges = cache_state and cache_state["seekable-ranges"] or {} + if path and is_protocol(path) or cache == "auto" and #cache_ranges > 0 then + local pid = mp.get_property_native('pid') + local temp_path = os.getenv("TEMP") or "/tmp/" + local temp_video_file = utils.join_path(temp_path, "mpv_dump_" .. pid .. ".mkv") + mp.commandv("dump-cache", start_time_l, end_time_l, temp_video_file) + position = 0 + filename = mp.get_property("media-title") + pathname = temp_video_file + end + + if burn_subtitles then + -- Determine currently active sub track + + local i = 0 + local tracks_count = mp.get_property_number("track-list/count") + local subs_array = {} + + -- check for subtitle tracks + + while i < tracks_count do + local type = mp.get_property(string.format("track-list/%d/type", i)) + local selected = mp.get_property(string.format("track-list/%d/selected", i)) + local external = mp.get_property(string.format("track-list/%d/external", i)) + + -- if it's a sub track, save it + + if type == "sub" then + local length = table_length(subs_array) + if selected == "yes" and external == "yes" then + msg.info("Error: external subtitles have been selected") + mp.osd_message("Error: external subtitles have been selected", 2) + return + else + subs_array[length] = selected == "yes" + end + end + i = i + 1 + end + + if table_length(subs_array) > 0 then + + local correct_track = 0 + + -- iterate through saved subtitle tracks until the correct one is found + + for index, is_selected in pairs(subs_array) do + if (is_selected) then + correct_track = index + end + end + + trim_filters = trim_filters .. string.format(",subtitles='%s':si=%s", esc_for_sub(pathname), correct_track) + + end + + end + + -- make the animated + local file_path = utils.join_path(output_directory, filename) + + -- increment filename + for i = 0, 999 do + local fn = string.format('%s_%03d.%s', file_path, i, ext) + if not file_exists(fn) then + animated_name = fn + break + end + end + if not animated_name then + mp.osd_message('No available filenames!') + return + end + + local copyts = "" + + if burn_subtitles then + copyts = "-copyts" + end + + if options.type == "webp" then + arg = string.format("%s -y -hide_banner -loglevel error -ss %s %s -t %s -i '%s' -lavfi %s -lossless %s -q:v %s -compression_level %s -loop %s '%s'", options.ffmpeg_path, position, copyts, duration, pathname, trim_filters, options.lossless, options.quality, options.compression_level, options.loop, animated_name) + else + arg = string.format("%s -y -hide_banner -loglevel error -ss %s %s -t %s -i '%s' -lavfi %s,'split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse' -loop %s '%s'", options.ffmpeg_path, position, copyts, duration, pathname, trim_filters, options.loop, animated_name) + end + local windows_args = { 'powershell', '-NoProfile', '-Command', arg } + local unix_args = { '/bin/bash', '-c', arg } + local args = is_windows and windows_args or unix_args + local screenx, screeny, aspect = mp.get_osd_size() + mp.set_osd_ass(screenx, screeny, "{\\an9}● ") + local res = mp.command_native({name = "subprocess", capture_stdout = true, playback_only = false, args = args}) + mp.set_osd_ass(screenx, screeny, "") + if res.status ~= 0 then + msg.info("Failed to creat " .. animated_name) + mp.osd_message("Error creating " .. text .. ", check console for more info.") + return + end + msg.info(animated_name .. " created.") + mp.osd_message(text .. " created.") +end + +function set_animated_start() + start_time = mp.get_property_number("time-pos", -1) + mp.osd_message(text .. " Start: " .. start_time) +end + +function set_animated_end() + end_time = mp.get_property_number("time-pos", -1) + mp.osd_message(text .. " End: " .. end_time) +end + +function file_exists(name) + local f = io.open(name, "r") + if f ~= nil then io.close(f) return true else return false end +end + +mp.add_key_binding("w", "set_animated_start", set_animated_start) +mp.add_key_binding("W", "set_animated_end", set_animated_end) +mp.add_key_binding("Ctrl+w", "make_animated", make_animated) +mp.add_key_binding("Ctrl+W", "make_animated_with_subtitles", make_animated_with_subtitles) --only works with srt for now \ No newline at end of file diff --git a/scripts/open_dialog.lua b/scripts/open_dialog.lua new file mode 100644 index 0000000..b529fdd --- /dev/null +++ b/scripts/open_dialog.lua @@ -0,0 +1,341 @@ +-- Copyright (c) 2022-2024 dyphire +-- License: MIT +-- link: https://github.com/dyphire/mpv-scripts + +--[[ +The script calls up a window in mpv to quickly load the folder/files/iso/clipboard (support url)/other subtitles/other audio tracks/other video tracks. +Usage, add bindings to input.conf: +key script-message-to open_dialog import_folder +key script-message-to open_dialog import_files +key script-message-to open_dialog import_files # vid, aid, sid (video/audio/subtitle track) +key script-message-to open_dialog import_clipboard +key script-message-to open_dialog import_clipboard # vid, aid, sid (video/audio/subtitle track) +key script-message-to open_dialog set_clipboard # text can be mpv properties as ${path} + +Also supports open dialog to select folder/files for other scripts. +Scripting Example: +-- open a folder select dialog +mp.commandv('script-message-to', 'open_dialog', 'select_folder', mp.get_script_name()) +-- receive the selected folder reply +mp.register_script_message('select_folder_reply', function(folder_path) + if folder_path and folder_path ~= '' then + -- do something with folder_path + end +end) +-- open a xml file select dialog +mp.commandv('script-message-to', 'open_dialog', 'select_files', mp.get_script_name(), 'XML File|*.xml') +-- receive the selected files reply +mp.register_script_message('select_files_reply', function(file_paths) + for i, file_path in ipairs(utils.parse_json(file_paths)) do + -- do something with file_path + end +end) + +]]-- + +local msg = require 'mp.msg' +local utils = require 'mp.utils' +local options = require 'mp.options' + +o = { + video_types = '3g2,3gp,asf,avi,f4v,flv,h264,h265,m2ts,m4v,mkv,mov,mp4,mp4v,mpeg,mpg,ogm,ogv,rm,rmvb,ts,vob,webm,wmv,y4m', + audio_types = 'aac,ac3,aiff,ape,au,cue,dsf,dts,flac,m4a,mid,midi,mka,mp3,mp4a,oga,ogg,opus,spx,tak,tta,wav,weba,wma,wv', + image_types = 'apng,avif,bmp,gif,j2k,jp2,jfif,jpeg,jpg,jxl,mj2,png,svg,tga,tif,tiff,webp', + subtitle_types = 'aqt,ass,gsub,idx,jss,lrc,mks,pgs,pjs,psb,rt,sbv,slt,smi,sub,sup,srt,ssa,ssf,ttxt,txt,usf,vt,vtt', + playlist_types = 'm3u,m3u8,pls,cue', + iso_types = 'iso', +} +options.read_options(o) + +local function split(input) + local ret = {} + for str in string.gmatch(input, "([^,]+)") do + ret[#ret + 1] = string.format("*.%s", str) + end + return ret +end + +-- pre-defined file types +local file_types = { + video = table.concat(split(o.video_types), ';'), + audio = table.concat(split(o.audio_types), ';'), + image = table.concat(split(o.image_types), ';'), + iso = table.concat(split(o.iso_types), ';'), + subtitle = table.concat(split(o.subtitle_types), ';'), + playlist = table.concat(split(o.playlist_types), ';'), +} + +local powershell = nil + +local function pwsh_check() + local arg = {"cmd", "/c", "pwsh", "--version"} + local res = mp.command_native({name = "subprocess", capture_stdout = true, playback_only = false, args = arg}) + if res.status ~= 0 or res.stdout:match("^PowerShell") == nil then + powershell = "powershell" + else + powershell = "pwsh" + end +end + +-- escapes a string so that it can be inserted into powershell as a string literal +local function escape_powershell(str) + if not str then return '""' end + str = str:gsub('[$"`]', '`%1'):gsub('“', '`%1'):gsub('”', '`%1') + return '"'..str..'"' +end + +local function end_file(event) + mp.unregister_event(end_file) + if event["reason"] == "eof" or event["reason"] == "stop" or event["reason"] == "error" then + local bd_device = mp.get_property_native("bluray-device") + local dvd_device = mp.get_property_native("dvd-device") + if event["reason"] == "error" and bd_device and bd_device ~= "" then + loaded_fail = true + else + loaded_fail = false + end + if bd_device then mp.set_property("bluray-device", "") end + if dvd_device then mp.set_property("dvd-device", "") end + end +end + +-- open bluray iso or dir +local function open_bluray(path) + mp.set_property('bluray-device', path) + mp.commandv('loadfile', 'bd://') +end + +-- open dvd iso or dir +local function open_dvd(path) + mp.set_property('dvd-device', path) + mp.commandv('loadfile', 'dvd://') +end + +-- open folder +local function open_folder(path, i) + local fpath, dir = utils.split_path(path) + if utils.file_info(utils.join_path(path, "BDMV")) then + open_bluray(path) + elseif utils.file_info(utils.join_path(path, "VIDEO_TS")) then + open_dvd(path) + elseif dir:upper() == "BDMV" then + open_bluray(fpath) + elseif dir:upper() == "VIDEO_TS" then + open_dvd(fpath) + else + mp.commandv('loadfile', path, i == 1 and 'replace' or 'append') + end +end + +-- open files +local function open_files(path, type, i, is_clip) + local ext = string.match(path, "%.([^%.]+)$"):lower() + if file_types['subtitle']:match(ext) then + mp.commandv('sub-add', path, 'cached') + elseif type == 'vid' and (not is_clip or (file_types['video']:match(ext) or file_types['image']:match(ext))) then + mp.commandv('video-add', path, 'cached') + elseif type == 'aid' and (not is_clip or file_types['audio']:match(ext)) then + mp.commandv('audio-add', path, 'cached') + elseif file_types['iso']:match(ext) then + local idle = mp.get_property('idle') + if idle ~= 'yes' then mp.set_property('idle', 'yes') end + mp.register_event("end-file", end_file) + open_bluray(path) + mp.add_timeout(1.0, function() + if idle ~= 'yes' then mp.set_property('idle', idle) end + if loaded_fail then + loaded_fail = false + open_dvd(path) + end + end) + else + mp.commandv('loadfile', path, i == 1 and 'replace' or 'append') + end +end + +local function select_folder() + if not powershell then pwsh_check() end + local powershell_script = string.format([[&{ + Add-Type -AssemblyName System.Windows.Forms + $fbd = New-Object System.Windows.Forms.FolderBrowserDialog + $fbd.RootFolder = "Desktop" + $fbd.ShowNewFolderButton = $true + $owner = New-Object System.Windows.Forms.NativeWindow + $owner.AssignHandle((Get-Process -Id %d).MainWindowHandle) + try { + if ($fbd.ShowDialog($owner) -eq [System.Windows.Forms.DialogResult]::OK) { + $u8 = [System.Text.Encoding]::UTF8 + $out = [Console]::OpenStandardOutput() + $selectedFolder = $fbd.SelectedPath + $u8selectedFolder = $u8.GetBytes("$selectedFolder`n") + $out.Write($u8selectedFolder, 0, $u8selectedFolder.Length) + } + } finally { + $owner.ReleaseHandle() + $fbd.Dispose() + } + }]], mp.get_property_number('pid')) + local res = mp.command_native({ + name = 'subprocess', + playback_only = false, + capture_stdout = true, + args = { powershell, '-NoProfile', '-Command', powershell_script }, + }) + if res.status ~= 0 then + mp.osd_message("Failed to open folder dialog.") + return nil + end + local folder_path = res.stdout:match("(.-)[\r\n]?$") -- Trim any trailing newline + return folder_path +end + +local function select_files(filter) + if not powershell then pwsh_check() end + local powershell_script = string.format([[&{ + Add-Type -AssemblyName System.Windows.Forms + $ofd = New-Object System.Windows.Forms.OpenFileDialog + $ofd.Multiselect = $true + $ofd.Filter = %s + $owner = New-Object System.Windows.Forms.NativeWindow + $owner.AssignHandle((Get-Process -Id %d).MainWindowHandle) + try { + if ($ofd.ShowDialog($owner) -eq [System.Windows.Forms.DialogResult]::OK) { + $u8 = [System.Text.Encoding]::UTF8 + $out = [Console]::OpenStandardOutput() + ForEach ($filename in $ofd.FileNames) { + $u8filename = $u8.GetBytes("$filename`n") + $out.Write($u8filename, 0, $u8filename.Length) + } + } + } finally { + $owner.ReleaseHandle() + $ofd.Dispose() + } + }]], escape_powershell(filter), mp.get_property_number('pid')) + local res = mp.command_native({ + name = 'subprocess', + playback_only = false, + capture_stdout = true, + args = { powershell, '-NoProfile', '-Command', powershell_script }, + }) + local file_paths = {} + if res.status ~= 0 then + mp.osd_message("Failed to open files dialog.") + return file_paths + end + for file_path in string.gmatch(res.stdout, '[^\r\n]+') do + table.insert(file_paths, file_path) + end + return file_paths +end + +-- import folder +local function import_folder() + local folder_path = select_folder() + if folder_path and folder_path ~= '' then open_folder(folder_path, 1) end +end + +-- import files +local function import_files(type) + local filter = '' + if type == 'vid' then + filter = string.format("Video Files|%s|Image Files|%s", file_types['video'], file_types['image']) + elseif type == 'aid' then + filter = string.format("Audio Files|%s", file_types['audio']) + elseif type == 'sid' then + filter = string.format("Subtitle Files|%s", file_types['subtitle']) + else + filter = string.format("All Files (*.*)|*.*|Video Files|%s|Audio Files|%s|Image Files|%s|ISO Files|%s|Subtitle Files|%s|Playlist Files|%s", + file_types['video'], file_types['audio'], file_types['image'], file_types['iso'], file_types['subtitle'], file_types['playlist']) + end + for i, file_path in ipairs(select_files(filter)) do + open_files(file_path, type, i, false) + end +end + +-- Returns a string of UTF-8 text from the clipboard +local function get_clipboard() + if mp.get_property('clipboard-backends') ~= nil or mp.get_property_bool('clipboard-enable') then + return mp.get_property('clipboard/text', '') + end + local res = mp.command_native({ + name = 'subprocess', + playback_only = false, + capture_stdout = true, + args = { 'powershell', '-NoProfile', '-Command', [[& { + Trap { + Write-Error -ErrorRecord $_ + Exit 1 + } + $clip = Get-Clipboard -Raw -Format Text -TextFormatType UnicodeText + if (-not $clip) { + $clip = Get-Clipboard -Raw -Format FileDropList + } + $u8clip = [System.Text.Encoding]::UTF8.GetBytes($clip) + [Console]::OpenStandardOutput().Write($u8clip, 0, $u8clip.Length) + }]] } + }) + if not res.error then + return res.stdout + end + return '' +end + +-- open files from clipboard +local function open_clipboard(path, type, i) + local path = path:gsub("^[\'\"]", ""):gsub("[\'\"]$", ""):gsub('^%s+', ''):gsub('%s+$', '') + if path:find('^%a[%w.+-]-://') then + mp.commandv('loadfile', path, i == 1 and 'replace' or 'append') + else + local meta = utils.file_info(path) + if not meta then + mp.osd_message('Clipboard path is invalid') + msg.warn('Clipboard path is invalid') + elseif meta.is_dir then + open_folder(path, i) + elseif meta.is_file then + open_files(path, type, i, true) + else + mp.osd_message('Clipboard path is invalid') + msg.warn('Clipboard path is invalid') + end + end +end + +-- import clipboard +local function import_clipboard(type) + local clip = get_clipboard() + if clip ~= '' then + local i = 0 + for path in string.gmatch(clip, '[^\r\n]+') do + i = i + 1 + open_clipboard(path, type, i) + end + else + mp.osd_message('Clipboard is empty') + msg.warn('Clipboard is empty') + end +end + +-- sets the contents of the clipboard to the given string +local function set_clipboard(text) + msg.verbose('setting clipboard text:', text) + if mp.get_property('clipboard-backends') ~= nil or mp.get_property_bool('clipboard-enable') then + mp.commandv('set', 'clipboard/text', text) + else + mp.commandv('run', 'powershell', '-NoProfile', '-command', 'set-clipboard', escape_powershell(text)) + end +end + +mp.register_script_message('import_folder', import_folder) +mp.register_script_message('import_files', import_files) +mp.register_script_message('import_clipboard', import_clipboard) +mp.register_script_message('set_clipboard', set_clipboard) +mp.register_script_message('select_folder', function(script_name) + local folder_path = select_folder() + mp.commandv('script-message-to', script_name, 'select_folder_reply', folder_path) +end) +mp.register_script_message('select_files', function(script_name, filter) + local file_paths = select_files(filter) + mp.commandv('script-message-to', script_name, 'select_files_reply', utils.format_json(file_paths)) +end) \ No newline at end of file diff --git a/scripts/persist_properties.lua b/scripts/persist_properties.lua new file mode 100644 index 0000000..961cfe2 --- /dev/null +++ b/scripts/persist_properties.lua @@ -0,0 +1,115 @@ +-- Script home: https://github.com/d87/mpv-persist-properties +local utils = require "mp.utils" +local msg = require "mp.msg" + +local opts = { + properties = "volume,sub-scale", + properties_path = 'persistent_config.json' +} +(require 'mp.options').read_options(opts, "persist_properties") + +local CONFIG_ROOT = mp.find_config_file(".") +if not utils.file_info(CONFIG_ROOT) then + -- On Windows if using portable_config dir, APPDATA mpv folder isn't auto-created + -- In more recent mpv versions there's a mp.get_script_directory function, but i'm not using it for compatiblity + local mpv_conf_path = mp.find_config_file("scripts") -- finds where the scripts folder is located + local mpv_conf_dir = utils.split_path(mpv_conf_path) + CONFIG_ROOT = mpv_conf_dir +end +local PCONFIG = utils.join_path(CONFIG_ROOT, opts.properties_path); + +local function split(input) + local ret = {} + for str in string.gmatch(input, "([^,]+)") do + table.insert(ret, str) + end + return ret +end +local persisted_properties = split(opts.properties) + +local print = function(...) + -- return msg.log("info", ...) +end + +-- print("Config Root is "..CONFIG_ROOT) + +local isInitialized = false + +local properties + +local function load_config(file) + local f = io.open(file, "r") + if f then + local jsonString = f:read() + f:close() + + if jsonString == nil then + return {} + end + + local props = utils.parse_json(jsonString) + if props then + return props + end + end + return {} +end + +local function save_config(file, properties) + local serialized_props = utils.format_json(properties) + + local f = io.open(file, 'w+') + if f then + f:write(serialized_props) + f:close() + else + msg.log("error", string.format("Couldn't open file: %s", file)) + end +end + +local save_timer = nil +local got_unsaved_changed = false + +local function onInitialLoad() + properties = load_config(PCONFIG) + + for i, property in ipairs(persisted_properties) do + local name = property + local value = properties[name] + if value ~= nil then + mp.set_property_native(name, value) + end + end + + for i, property in ipairs(persisted_properties) do + local property_type = nil + mp.observe_property(property, property_type, function(name) + if isInitialized then + local value = mp.get_property_native(name) + -- print(string.format("%s changed to %s at %s", name, value, os.time())) + + properties[name] = value + + if save_timer then + save_timer:kill() + save_timer:resume() + got_unsaved_changed = true + else + save_timer = mp.add_timeout(5, function() + save_config(PCONFIG, properties) + got_unsaved_changed = false + end) + end + end + end) + end + + isInitialized = true +end + +onInitialLoad() +mp.register_event("shutdown", function() + if got_unsaved_changed then + save_config(PCONFIG, properties) + end +end) diff --git a/scripts/playlistmanager.lua b/scripts/playlistmanager.lua new file mode 100644 index 0000000..885e4a3 --- /dev/null +++ b/scripts/playlistmanager.lua @@ -0,0 +1,1678 @@ +local settings = { + --navigation keybindings force override only while playlist is visible + --if "no" then you can display the playlist by any of the navigation keys + dynamic_binds = true, + + -- to bind multiple keys separate them by a space + + -- main key to show playlist + key_showplaylist = "SHIFT+ENTER", + + -- display playlist while key is held down + key_peek_at_playlist = "", + + -- dynamic keys + key_moveup = "UP", + key_movedown = "DOWN", + key_movepageup = "PGUP", + key_movepagedown = "PGDWN", + key_movebegin = "HOME", + key_moveend = "END", + key_selectfile = "RIGHT LEFT", + key_unselectfile = "", + key_playfile = "ENTER", + key_removefile = "BS", + key_closeplaylist = "ESC SHIFT+ENTER", + + -- extra functionality dynamic keys + key_sortplaylist = "", + key_shuffleplaylist = "", + key_reverseplaylist = "", + key_loadfiles = "", + key_saveplaylist = "", + + --replaces matches on filenames based on extension, put as empty string to not replace anything + --replace rules are executed in provided order + --replace rule key is the pattern and value is the replace value + --uses :gsub('pattern', 'replace'), read more http://lua-users.org/wiki/StringLibraryTutorial + --'all' will match any extension or protocol if it has one + --uses json and parses it into a lua table to be able to support .conf file + + filename_replace = [[ + [ + { + "protocol": { "all": true }, + "rules": [ + { "%%(%x%x)": "hex_to_char" } + ] + } + ] + ]], + +--[=====[ START OF SAMPLE REPLACE - Remove this line to use it + --Sample replace: replaces underscore to space on all files + --for mp4 and webm; remove extension, remove brackets and surrounding whitespace, change dot between alphanumeric to space + filename_replace = [[ + [ + { + "ext": { "all": true}, + "rules": [ + { "_" : " " } + ] + },{ + "ext": { "mp4": true, "mkv": true }, + "rules": [ + { "^(.+)%..+$": "%1" }, + { "%s*[%[%(].-[%]%)]%s*": "" }, + { "(%w)%.(%w)": "%1 %2" } + ] + },{ + "protocol": { "http": true, "https": true }, + "rules": [ + { "^%a+://w*%.?": "" } + ] + } + ] + ]], +--END OF SAMPLE REPLACE ]=====] + + --json array of filetypes to search from directory + loadfiles_filetypes = [[ + [ + "jpg", "jpeg", "png", "tif", "tiff", "gif", "webp", "svg", "bmp", + "mp3", "wav", "ogm", "flac", "m4a", "wma", "ogg", "opus", + "mkv", "avi", "mp4", "ogv", "webm", "rmvb", "flv", "wmv", "mpeg", "mpg", "m4v", "3gp" + ] + ]], + + --loadfiles at startup if 1 or more items in playlist + loadfiles_on_start = false, + -- loadfiles from working directory on idle startup + loadfiles_on_idle_start = false, + --always put loaded files after currently playing file + loadfiles_always_append = false, + + --sort playlist when files are added to playlist + sortplaylist_on_file_add = false, + + --default sorting method, must be one of: "name-asc", "name-desc", "date-asc", "date-desc", "size-asc", "size-desc". + default_sort = "name-asc", + + --"linux | windows | auto" + system = "auto", + + --Use ~ for home directory. Leave as empty to use mpv/playlists + playlist_savepath = "", + + -- constant filename to save playlist as. Note that it will override existing playlist. Leave empty for generated name. + playlist_save_filename = "", + + --save playlist automatically after current file was unloaded + save_playlist_on_file_end = false, + + + --show file title every time a new file is loaded + show_title_on_file_load = false, + --show playlist every time a new file is loaded + show_playlist_on_file_load = false, + --close playlist when selecting file to play + close_playlist_on_playfile = false, + + --sync cursor when file is loaded from outside reasons(file-ending, playlist-next shortcut etc.) + --has the sideeffect of moving cursor if file happens to change when navigating + --good side is cursor always following current file when going back and forth files with playlist-next/prev + sync_cursor_on_load = true, + + --allow the playlist cursor to loop from end to start and vice versa + loop_cursor = true, + + + -- allow playlistmanager to write watch later config when navigating between files + allow_write_watch_later_config = true, + + -- reset cursor navigation when closing or opening playlist + reset_cursor_on_close = true, + + --prefer to display titles for following files: "all", "url", "none". Sorting still uses filename. + prefer_titles = "url", + + --youtube-dl executable for title resolving if enabled, probably "youtube-dl" or "yt-dlp", can be absolute path + youtube_dl_executable = "yt-dlp", + + --call youtube-dl to resolve the titles of urls in the playlist + resolve_url_titles = false, + + -- timeout in seconds for url title resolving + resolve_title_timeout = 15, + + -- how many url titles can be resolved at a time. Higher number might lead to stutters. + concurrent_title_resolve_limit = 10, + + --osd timeout on inactivity in seconds, use 0 for no timeout + playlist_display_timeout = 0, + + -- when peeking at playlist, show playlist at the very least for display timeout + peek_respect_display_timeout = false, + + -- the maximum amount of lines playlist will render. -1 will automatically calculate lines. + showamount = -1, + + --playlist ass style overrides inside curly brackets, \keyvalue is one field, extra \ for escape in lua + --example {\\q2\\an7\\fnUbuntu\\fs10\\b0\\bord1} equals: line-wrap=no, align=top left, font=Ubuntu, size=10, bold=no, border=1 + --read http://docs.aegisub.org/3.2/ASS_Tags/ for reference of tags + --undeclared tags will use default osd settings + --these styles will be used for the whole playlist + --\\q2 style is recommended since filename wrapping may lead to unexpected rendering + --\\an7 style is recommended to align to top left otherwise, osd-align-x/y is respected + style_ass_tags = "{\\q2\\an7}", + --paddings for left right and top bottom + text_padding_x = 30, + text_padding_y = 60, + + --screen dim when menu is open 0.0 - 1.0 (0 is no dim, 1 is black) + curtain_opacity=0.0, + + --set title of window with stripped name + set_title_stripped = false, + title_prefix = "", + title_suffix = " - mpv", + + --slice long filenames, and how many chars to show + slice_longfilenames = false, + slice_longfilenames_amount = 70, + + --Playlist header template + --%mediatitle or %filename = title or name of playing file + --%pos = position of playing file + --%cursor = position of navigation + --%plen = playlist length + --%N = newline + playlist_header = "[%cursor/%plen]", + + --Playlist file templates + --%pos = position of file with leading zeros + --%name = title or name of file + --%N = newline + --you can also use the ass tags mentioned above. For example: + -- selected_file="{\\c&HFF00FF&}➔ %name" | to add a color for selected file. However, if you + -- use ass tags you need to reset them for every line (see https://github.com/jonniek/mpv-playlistmanager/issues/20) + normal_file = "○ %name", + hovered_file = "● %name", + selected_file = "➔ %name", + playing_file = "▷ %name", + playing_hovered_file = "▶ %name", + playing_selected_file = "➤ %name", + + + -- what to show when playlist is truncated + playlist_sliced_prefix = "...", + playlist_sliced_suffix = "...", + + --output visual feedback to OSD for tasks + display_osd_feedback = true, +} +local opts = require("mp.options") +opts.read_options(settings, "playlistmanager", function(list) update_opts(list) end) + +local utils = require("mp.utils") +local msg = require("mp.msg") +local assdraw = require("mp.assdraw") + +local alignment_table = { + [1] = { ["x"] = "left", ["y"] = "bottom" }, + [2] = { ["x"] = "center", ["y"] = "bottom" }, + [3] = { ["x"] = "right", ["y"] = "bottom" }, + [4] = { ["x"] = "left", ["y"] = "center" }, + [5] = { ["x"] = "center", ["y"] = "center" }, + [6] = { ["x"] = "right", ["y"] = "center" }, + [7] = { ["x"] = "left", ["y"] = "top" }, + [8] = { ["x"] = "center", ["y"] = "top" }, + [9] = { ["x"] = "right", ["y"] = "top" }, +} + +--check os +if settings.system=="auto" then + local o = {} + if mp.get_property_native('options/vo-mmcss-profile', o) ~= o then + settings.system = "windows" + else + settings.system = "linux" + end +end + +-- auto calculate showamount +if settings.showamount == -1 then + -- same as draw_playlist() height + local h = 720 + + local playlist_h = h + -- both top and bottom with same padding + playlist_h = playlist_h - settings.text_padding_y * 2 + + -- osd-font-size is based on 720p height + -- see https://mpv.io/manual/stable/#options-osd-font-size + -- details in https://mpv.io/manual/stable/#options-sub-font-size + -- draw_playlist() is based on 720p, need some conversion + local fs = mp.get_property_native('osd-font-size') * h / 720 + -- get the ass font size + if settings.style_ass_tags ~= nil then + local ass_fs_tag = settings.style_ass_tags:match('\\fs%d+') + if ass_fs_tag ~= nil then + fs = tonumber(ass_fs_tag:match('%d+')) + end + end + + settings.showamount = math.floor(playlist_h / fs) + + -- exclude the header line + if settings.playlist_header ~= "" then + settings.showamount = settings.showamount - 1 + -- probably some newlines (%N or \N) in the header + for _ in settings.playlist_header:gmatch('%%N') do + settings.showamount = settings.showamount - 1 + end + for _ in settings.playlist_header:gmatch('\\N') do + settings.showamount = settings.showamount - 1 + end + end + + msg.info('auto showamount: ' .. settings.showamount) +end + +--global variables +local playlist_overlay = mp.create_osd_overlay("ass-events") +local playlist_visible = false +local strippedname = nil +local path = nil +local directory = nil +local filename = nil +local pos = 0 +local plen = 0 +local cursor = 0 +--table for saved media titles for later if we prefer them +local title_table = {} +-- table for urls and local file paths that we have requested to be resolved to titles +local requested_titles = {} + +local filetype_lookup = {} + +local normalize_path = nil +local is_windows = package.config:sub(1, 1) == "\\" -- detect path separator, detect path separator, windows uses backslashes + +function refresh_UI() + if not playlist_visible then return end + refresh_globals() + if plen == 0 then return end + draw_playlist() +end + +function update_opts(changelog) + msg.verbose('updating options') + + --parse filename json + if changelog.filename_replace then + if(settings.filename_replace~="") then + settings.filename_replace = utils.parse_json(settings.filename_replace) + else + settings.filename_replace = false + end + end + + --parse loadfiles json + if changelog.loadfiles_filetypes then + settings.loadfiles_filetypes = utils.parse_json(settings.loadfiles_filetypes) + + filetype_lookup = {} + --create loadfiles set + for _, ext in ipairs(settings.loadfiles_filetypes) do + filetype_lookup[ext] = true + end + end + + if changelog.resolve_url_titles then + resolve_titles() + end + + if changelog.playlist_display_timeout then + keybindstimer = mp.add_periodic_timer(settings.playlist_display_timeout, remove_keybinds) + keybindstimer:kill() + end + + refresh_UI() +end + +update_opts({filename_replace = true, loadfiles_filetypes = true}) + +----- winapi start ----- +-- in windows system, we can use the sorting function provided by the win32 API +-- see https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strcmplogicalw +local winapi = {} +local is_windows = package.config:sub(1,1) == "\\" + +if is_windows then + local is_ffi_loaded, ffi = pcall(require, "ffi") + + if is_ffi_loaded then + winapi = { + ffi = ffi, + C = ffi.C, + CP_UTF8 = 65001, + shlwapi = ffi.load("shlwapi"), + } + + -- ffi code from https://github.com/po5/thumbfast, Mozilla Public License Version 2.0 + ffi.cdef[[ + int __stdcall MultiByteToWideChar(unsigned int CodePage, unsigned long dwFlags, const char *lpMultiByteStr, + int cbMultiByte, wchar_t *lpWideCharStr, int cchWideChar); + int __stdcall StrCmpLogicalW(wchar_t *psz1, wchar_t *psz2); + ]] + + winapi.utf8_to_wide = function(utf8_str) + if utf8_str then + local utf16_len = winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, utf8_str, -1, nil, 0) + + if utf16_len > 0 then + local utf16_str = winapi.ffi.new("wchar_t[?]", utf16_len) + + if winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, utf8_str, -1, utf16_str, utf16_len) > 0 then + return utf16_str + end + end + end + + return "" + end + end +end +----- winapi end ----- + +local sort_modes = { + { + id="name-asc", + title="name ascending", + sort_fn=function (a, b, playlist) + return alphanumsort(playlist[a].string, playlist[b].string) + end, + }, + { + id="name-desc", + title="name descending", + sort_fn=function (a, b, playlist) + return alphanumsort(playlist[b].string, playlist[a].string) + end, + }, + { + id="date-asc", + title="date ascending", + sort_fn=function (a, b) + return (get_file_info(a).mtime or 0) < (get_file_info(b).mtime or 0) + end, + }, + { + id="date-desc", + title="date descending", + sort_fn=function (a, b) + return (get_file_info(a).mtime or 0) > (get_file_info(b).mtime or 0) + end, + }, + { + id="size-asc", + title="size ascending", + sort_fn=function (a, b) + return (get_file_info(a).size or 0) < (get_file_info(b).size or 0) + end, + }, + { + id="size-desc", + title="size descending", + sort_fn=function (a, b) + return (get_file_info(a).size or 0) > (get_file_info(b).size or 0) + end, + }, +} + +local sort_mode = 1 +for mode, sort_data in pairs(sort_modes) do + if sort_data.id == settings.default_sort then + sort_mode = mode + end +end + +function is_protocol(path) + return type(path) == 'string' and path:find('^%a[%a%d-_]+://') ~= nil +end + +function normalize(path) + if normalize_path ~= nil then + if normalize_path then + path = mp.command_native({"normalize-path", path}) + else + local directory = mp.get_property("working-directory", "") + path = utils.join_path(directory, path:gsub('^%.[\\/]','')) + if is_windows then path = path:gsub("\\", "/") end + end + return path + end + normalize_path = false + local commands = mp.get_property_native("command-list", {}) + for _, command in ipairs(commands) do + if command.name == "normalize-path" then + normalize_path = true + break + end + end + return normalize(path) +end + +function on_file_loaded() + refresh_globals() + if settings.sync_cursor_on_load then cursor=pos end + refresh_UI() -- refresh only after moving cursor + + filename = mp.get_property("filename") + path = mp.get_property('path') + local media_title = mp.get_property("media-title") + if is_protocol(path) and not title_table[path] and path ~= media_title then + title_table[path] = media_title + end + + strippedname = stripfilename(mp.get_property('media-title')) + if settings.show_title_on_file_load then + mp.commandv('show-text', strippedname) + end + if settings.show_playlist_on_file_load then + showplaylist() + end + if settings.set_title_stripped then + mp.set_property("title", settings.title_prefix..strippedname..settings.title_suffix) + end +end + +function on_start_file() + refresh_globals() + filename = mp.get_property("filename") + path = mp.get_property('path') + --if not a url then join path with working directory + if not is_protocol(path) then + path = normalize(path) + directory = utils.split_path(path) + else + directory = nil + end + + if settings.loadfiles_on_start and plen == 1 then + local ext = filename:match("%.([^%.]+)$") + -- a directory or playlist has been loaded, let's not do anything as mpv will expand it into files + if ext and filetype_lookup[ext:lower()] then + msg.info("Loading files from playing files directory") + playlist() + end + end +end + +function on_end_file() + if settings.save_playlist_on_file_end then save_playlist() end + strippedname = nil + path = nil + directory = nil + filename = nil +end + +function refresh_globals() + pos = mp.get_property_number('playlist-pos', 0) + plen = mp.get_property_number('playlist-count', 0) +end + +function escapepath(dir, escapechar) + return string.gsub(dir, escapechar, '\\'..escapechar) +end + +function replace_table_has_value(value, valid_values) + if value == nil or valid_values == nil then + return false + end + return valid_values['all'] or valid_values[value] +end + +local filename_replace_functions = { + --decode special characters in url + hex_to_char = function(x) return string.char(tonumber(x, 16)) end +} + +-- from http://lua-users.org/wiki/LuaUnicode +local UTF8_PATTERN = '[%z\1-\127\194-\244][\128-\191]*' + +-- return a substring based on utf8 characters +-- like string.sub, but negative index is not supported +local function utf8_sub(s, i, j) + if i > j then + return s + end + + local t = {} + local idx = 1 + for char in s:gmatch(UTF8_PATTERN) do + if i <= idx and idx <= j then + local width = #char > 2 and 2 or 1 + idx = idx + width + t[#t + 1] = char + end + end + return table.concat(t) +end + +--strip a filename based on its extension or protocol according to rules in settings +function stripfilename(pathfile, media_title) + if pathfile == nil then return '' end + local ext = pathfile:match("%.([^%.]+)$") + local protocol = pathfile:match("^(%a%a+)://") + if not ext then ext = "" end + local tmp = pathfile + if settings.filename_replace and not media_title then + for k,v in ipairs(settings.filename_replace) do + if replace_table_has_value(ext, v['ext']) or replace_table_has_value(protocol, v['protocol']) then + for ruleindex, indexrules in ipairs(v['rules']) do + for rule, override in pairs(indexrules) do + override = filename_replace_functions[override] or override + tmp = tmp:gsub(rule, override) + end + end + end + end + end + local tmp_clip = utf8_sub(tmp, 1, settings.slice_longfilenames_amount) + if settings.slice_longfilenames and tmp ~= tmp_clip then + tmp = tmp_clip .. "..." + end + return tmp +end + +--gets the file info of an item +function get_file_info(item) + local path = mp.get_property('playlist/' .. item - 1 .. '/filename') + if is_protocol(path) then return {} end + local file_info = utils.file_info(path) + if not file_info then + msg.warn('failed to read file info for', path) + return {} + end + + return file_info +end + +--gets a nicename of playlist entry at 0-based position i +function get_name_from_index(i, notitle) + refresh_globals() + if plen <= i then msg.error("no index in playlist", i, "length", plen); return nil end + local _, name = nil + local title = mp.get_property('playlist/'..i..'/title') + local name = mp.get_property('playlist/'..i..'/filename') + + local should_use_title = settings.prefer_titles == 'all' or is_protocol(name) and settings.prefer_titles == 'url' + + --check if file has a media title stored + if not title and should_use_title and title_table[name] then + title = title_table[name] + end + + --if we have media title use a more conservative strip + if title and not notitle and should_use_title then + -- Escape a string for verbatim display on the OSD + -- Ref: https://github.com/mpv-player/mpv/blob/94677723624fb84756e65c8f1377956667244bc9/player/lua/stats.lua#L145 + return stripfilename(title, true):gsub("\\", '\\\239\187\191'):gsub("{", "\\{"):gsub("^ ", "\\h") + end + + --remove paths if they exist, keeping protocols for stripping + if string.sub(name, 1, 1) == '/' or name:find("^%a:[/\\]") then + _, name = utils.split_path(name) + end + return stripfilename(name):gsub("\\", '\\\239\187\191'):gsub("{", "\\{"):gsub("^ ", "\\h") +end + +function parse_header(string) + local esc_title = stripfilename(mp.get_property("media-title"), true):gsub("%%", "%%%%") + local esc_file = stripfilename(mp.get_property("filename")):gsub("%%", "%%%%") + return string:gsub("%%N", "\\N") + -- add a blank character at the end of each '\N' to ensure that the height of the empty line is the same as the non empty line + :gsub("\\N", "\\N ") + :gsub("%%pos", mp.get_property_number("playlist-pos",0)+1) + :gsub("%%plen", mp.get_property("playlist-count")) + :gsub("%%cursor", cursor+1) + :gsub("%%mediatitle", esc_title) + :gsub("%%filename", esc_file) + -- undo name escape + :gsub("%%%%", "%%") +end + +function parse_filename(string, name, index) + local base = tostring(plen):len() + local esc_name = stripfilename(name):gsub("%%", "%%%%") + return string:gsub("%%N", "\\N") + :gsub("%%pos", string.format("%0"..base.."d", index+1)) + :gsub("%%name", esc_name) + -- undo name escape + :gsub("%%%%", "%%") +end + +function parse_filename_by_index(index) + local template = settings.normal_file + + local is_idle = mp.get_property_native('idle-active') + local position = is_idle and -1 or pos + + if index == position then + if index == cursor then + if selection then + template = settings.playing_selected_file + else + template = settings.playing_hovered_file + end + else + template = settings.playing_file + end + elseif index == cursor then + if selection then + template = settings.selected_file + else + template = settings.hovered_file + end + end + + return parse_filename(template, get_name_from_index(index), index) +end + +function is_terminal_mode() + local width, height, aspect_ratio = mp.get_osd_size() + return width == 0 and height == 0 and aspect_ratio == 0 +end + +function draw_playlist() + refresh_globals() + + -- if there is no playing file, then cursor can be -1. That would break rendering of playlist. + if cursor == -1 then + cursor = 0 + end + + local ass = assdraw.ass_new() + local terminaloutput = "" + + local _, _, a = mp.get_osd_size() + local h = 720 + local w = math.ceil(h * a) + + if settings.curtain_opacity ~= nil and settings.curtain_opacity ~= 0 and settings.curtain_opacity <= 1.0 then + -- curtain dim from https://github.com/christoph-heinrich/mpv-quality-menu/blob/501794bfbef468ee6a61e54fc8821fe5cd72c4ed/quality-menu.lua#L699-L707 + local alpha = 255 - math.ceil(255 * settings.curtain_opacity) + ass.text = string.format('{\\pos(0,0)\\rDefault\\an7\\1c&H000000&\\alpha&H%X&}', alpha) + ass:draw_start() + ass:rect_cw(0, 0, w, h) + ass:draw_stop() + ass:new_event() + end + + ass:append(settings.style_ass_tags) + + -- add \clip style + -- make both left and right follow text_padding_x + -- both top and bottom follow text_padding_y + local border_size = mp.get_property_number('osd-border-size') + if settings.style_ass_tags ~= nil then + local bord = tonumber(settings.style_ass_tags:match('\\bord(%d+%.?%d*)')) + if bord ~= nil then border_size = bord end + end + ass:append(string.format('{\\clip(%f,%f,%f,%f)}', + settings.text_padding_x - border_size, settings.text_padding_y - border_size, + w - 1 - settings.text_padding_x + border_size, h - 1 - settings.text_padding_y + border_size)) + + -- align from mpv.conf + local align_x = mp.get_property("osd-align-x") + local align_y = mp.get_property("osd-align-y") + -- align from style_ass_tags + if settings.style_ass_tags ~= nil then + local an = tonumber(settings.style_ass_tags:match('\\an(%d)')) + if an ~= nil and alignment_table[an] ~= nil then + align_x = alignment_table[an]["x"] + align_y = alignment_table[an]["y"] + end + end + -- range of x [0, w-1] + local pos_x + if align_x == 'left' then + pos_x = settings.text_padding_x + elseif align_x == 'right' then + pos_x = w - 1 - settings.text_padding_x + else + pos_x = math.floor((w - 1) / 2) + end + -- range of y [0, h-1] + local pos_y + if align_y == 'top' then + pos_y = settings.text_padding_y + elseif align_y == 'bottom' then + pos_y = h - 1 - settings.text_padding_y + else + pos_y = math.floor((h - 1) / 2) + end + ass:pos(pos_x, pos_y) + + if settings.playlist_header ~= "" then + local header = parse_header(settings.playlist_header) + ass:append(header.."\\N") + terminaloutput = terminaloutput..header.."\n" + end + + -- (visible index, playlist index) pairs of playlist entries that should be rendered + local visible_indices = {} + + local one_based_cursor = cursor + 1 + table.insert(visible_indices, one_based_cursor) + + local offset = 1; + local visible_indices_length = 1; + while visible_indices_length < settings.showamount and visible_indices_length < plen do + -- add entry for offset steps below the cursor + local below = one_based_cursor + offset + if below <= plen then + table.insert(visible_indices, below) + visible_indices_length = visible_indices_length + 1; + end + + -- add entry for offset steps above the cursor + -- also need to double check that there is still space, this happens if we have even numbered limit + local above = one_based_cursor - offset + if above >= 1 and visible_indices_length < settings.showamount and visible_indices_length < plen then + table.insert(visible_indices, 1, above) + visible_indices_length = visible_indices_length + 1; + end + + offset = offset + 1 + end + + -- both indices are 1 based + for display_index, playlist_index in pairs(visible_indices) do + if display_index == 1 and playlist_index ~= 1 then + ass:append(settings.playlist_sliced_prefix.."\\N") + terminaloutput = terminaloutput..settings.playlist_sliced_prefix.."\n" + elseif display_index == settings.showamount and playlist_index ~= plen then + ass:append(settings.playlist_sliced_suffix) + terminaloutput = terminaloutput..settings.playlist_sliced_suffix.."\n" + else + -- parse_filename_by_index expects 0 based index + local fname = parse_filename_by_index(playlist_index - 1) + ass:append(fname.."\\N") + terminaloutput = terminaloutput..fname.."\n" + end + end + + if is_terminal_mode() then + local timeout_setting = settings.playlist_display_timeout + local timeout = timeout_setting == 0 and 2147483 or timeout_setting + -- TODO: probably have to strip ass tags from terminal output + -- would maybe be possible to use terminal color output instead + mp.osd_message(terminaloutput, timeout) + else + playlist_overlay.data = ass.text + playlist_overlay:update() + end +end + +local peek_display_timer = nil +local peek_button_pressed = false + +function peek_timeout() + peek_display_timer:kill() + if not peek_button_pressed and not playlist_visible then + remove_keybinds() + end +end + +function handle_complex_playlist_toggle(table) + local event = table["event"] + if event == "press" then + msg.error("Complex key event not supported. Falling back to normal playlist display.") + showplaylist() + elseif event == "down" then + showplaylist(1000000) + if settings.peek_respect_display_timeout then + peek_button_pressed = true + peek_display_timer = mp.add_periodic_timer(settings.playlist_display_timeout, peek_timeout) + end + elseif event == "up" then + -- set playlist state to not visible, doesn't actually hide playlist yet + -- this will allow us to check if other functionality has rendered playlist before removing binds + playlist_visible = false + + function remove_keybinds_after_timeout() + -- if playlist is still not visible then lets actually hide it + -- this lets other keys that interupt the peek to render playlist without peek up event closing it + if not playlist_visible then + remove_keybinds() + end + end + + if settings.peek_respect_display_timeout then + peek_button_pressed = false + if not peek_display_timer:is_enabled() then + mp.add_timeout(0.01, remove_keybinds_after_timeout) + end + else + -- use small delay to let dynamic binds run before keys are potentially unbound + mp.add_timeout(0.01, remove_keybinds_after_timeout) + end + end +end + +function toggle_playlist(show_function) + local show = show_function or showplaylist + if playlist_visible then + remove_keybinds() + else + show(settings.playlist_display_timeout) + end +end + +function showplaylist(duration) + refresh_globals() + if plen == 0 then return end + + playlist_visible = true + add_keybinds() + + draw_playlist() + keybindstimer:kill() + + local dur = tonumber(duration) or settings.playlist_display_timeout + if dur > 0 then + keybindstimer = mp.add_periodic_timer(dur, remove_keybinds) + end +end + +function showplaylist_non_interactive(duration) + refresh_globals() + if plen == 0 then return end + playlist_visible = true + draw_playlist() + keybindstimer:kill() + + local dur = tonumber(duration) or settings.playlist_display_timeout + if dur > 0 then + keybindstimer = mp.add_periodic_timer(dur, remove_keybinds) + end +end + +selection=nil +function selectfile() + refresh_globals() + if plen == 0 then return end + if not selection then + selection=cursor + else + selection=nil + end + showplaylist() +end + +function unselectfile() + selection=nil + showplaylist() +end + +function resetcursor() + selection = nil + cursor = mp.get_property_number('playlist-pos', 1) +end + +function removefile() + refresh_globals() + if plen == 0 then return end + selection = nil + if cursor==pos then mp.command("script-message unseenplaylist mark true \"playlistmanager avoid conflict when removing file\"") end + mp.commandv("playlist-remove", cursor) + if cursor==plen-1 then cursor = cursor - 1 end + if plen == 1 then + remove_keybinds() + else + showplaylist() + end +end + +function moveup() + refresh_globals() + if plen == 0 then return end + if cursor~=0 then + if selection then mp.commandv("playlist-move", cursor,cursor-1) end + cursor = cursor-1 + elseif settings.loop_cursor then + if selection then mp.commandv("playlist-move", cursor,plen) end + cursor = plen-1 + end + showplaylist() +end + +function movedown() + refresh_globals() + if plen == 0 then return end + if cursor ~= plen-1 then + if selection then mp.commandv("playlist-move", cursor,cursor+2) end + cursor = cursor + 1 + elseif settings.loop_cursor then + if selection then mp.commandv("playlist-move", cursor,0) end + cursor = 0 + end + showplaylist() +end + + +function movepageup() + refresh_globals() + if plen == 0 or cursor == 0 then return end + local offset = settings.showamount % 2 == 0 and 1 or 0 + local last_file_that_doesnt_scroll = math.ceil(settings.showamount / 2) + local reverse_cursor = plen - cursor + local files_to_jump = math.max(last_file_that_doesnt_scroll + offset - reverse_cursor, 0) + settings.showamount - 2 + local prev_cursor = cursor + cursor = cursor - files_to_jump + if cursor < last_file_that_doesnt_scroll then + cursor = 0 + end + if selection then + mp.commandv("playlist-move", prev_cursor, cursor) + end + showplaylist() +end + +function movepagedown() + refresh_globals() + if plen == 0 or cursor == plen - 1 then return end + local last_file_that_doesnt_scroll = math.ceil(settings.showamount / 2) - 1 + local files_to_jump = math.max(last_file_that_doesnt_scroll - cursor, 0) + settings.showamount - 2 + local prev_cursor = cursor + cursor = cursor + files_to_jump + + local cursor_on_last_page = plen - (settings.showamount - 3) + if cursor > cursor_on_last_page then + cursor = plen - 1 + end + if selection then + mp.commandv("playlist-move", prev_cursor, cursor + 1) + end + showplaylist() +end + + +function movebegin() + refresh_globals() + if plen == 0 or cursor == 0 then return end + local prev_cursor = cursor + cursor = 0 + if selection then mp.commandv("playlist-move", prev_cursor, cursor) end + showplaylist() +end + +function moveend() + refresh_globals() + if plen == 0 or cursor == plen-1 then return end + local prev_cursor = cursor + cursor = plen-1 + if selection then mp.commandv("playlist-move", prev_cursor, cursor+1) end + showplaylist() +end + +function write_watch_later(force_write) + if settings.allow_write_watch_later_config then + if mp.get_property_bool("save-position-on-quit") or force_write then + mp.command("write-watch-later-config") + end + end +end + +function playlist_next() + write_watch_later(true) + mp.commandv("playlist-next", "weak") + if settings.close_playlist_on_playfile then + remove_keybinds() + end + refresh_UI() +end + +function playlist_prev() + write_watch_later(true) + mp.commandv("playlist-prev", "weak") + if settings.close_playlist_on_playfile then + remove_keybinds() + end + refresh_UI() +end + +function playlist_random() + write_watch_later() + refresh_globals() + if plen < 2 then return end + math.randomseed(os.time()) + local random = pos + while random == pos do + random = math.random(0, plen-1) + end + mp.set_property("playlist-pos", random) + if settings.close_playlist_on_playfile then + remove_keybinds() + end +end + +function playfile() + refresh_globals() + if plen == 0 then return end + selection = nil + local is_idle = mp.get_property_native('idle-active') + if cursor ~= pos or is_idle then + write_watch_later() + mp.set_property("playlist-pos", cursor) + else + if cursor~=plen-1 then + cursor = cursor + 1 + end + write_watch_later() + mp.commandv("playlist-next", "weak") + end + if settings.close_playlist_on_playfile then + remove_keybinds() + elseif playlist_visible then + showplaylist() + end +end + +function file_filter(filenames) + local files = {} + for i = 1, #filenames do + local file = filenames[i] + local ext = file:match('%.([^%.]+)$') + if ext and filetype_lookup[ext:lower()] then + table.insert(files, file) + end + end + return files +end + +function get_playlist_filenames_set() + local filenames = {} + for n=0,plen-1,1 do + local filename = mp.get_property('playlist/'..n..'/filename') + local _, file = utils.split_path(filename) + filenames[file] = true + end + return filenames +end + +--Creates a playlist of all files in directory, will keep the order and position +--For exaple, Folder has 12 files, you open the 5th file and run this, the remaining 7 are added behind the 5th file and prior 4 files before it +function playlist(refresh, force_dir) + refresh_globals() + if not refresh and not force_dir and plen > 0 then + return + end + local hasfile = true + if plen == 0 then + hasfile = false + dir = mp.get_property('working-directory') + elseif directory ~= nil then + dir = directory + end + + if force_dir then + dir = force_dir + end + + if not dir or dir == "." then + return + end + + local files = file_filter(utils.readdir(dir, "files")) + + if files == nil then + msg.verbose("no files in directory") + return + end + + table.sort(files, alphanumsort) + + local filenames = get_playlist_filenames_set() + local c, c2 = 0,0 + if files then + local cur = false + local filename = mp.get_property("filename") + for _, file in ipairs(files) do + if file == nil or file[1] == "." then + break + end + local appendstr = "append" + if not hasfile then + cur = true + appendstr = "append-play" + hasfile = true + end + if filename == file then + cur = true + elseif filenames[file] then + -- skip files already in playlist + elseif cur == true or settings.loadfiles_always_append then + mp.commandv("loadfile", utils.join_path(dir, file), appendstr) + msg.info("Appended to playlist: " .. file) + c2 = c2 + 1 + else + mp.commandv("loadfile", utils.join_path(dir, file), appendstr) + msg.info("Prepended to playlist: " .. file) + mp.commandv("playlist-move", mp.get_property_number("playlist-count", 1)-1, c) + c = c + 1 + end + end + if c2 > 0 or c>0 then + msg.info("Added "..c + c2.." files to playlist") + else + msg.info("No additional files found") + end + cursor = mp.get_property_number('playlist-pos', 1) + else + msg.error("Could not scan for files: "..(error or "")) + end + refresh_globals() + if playlist_visible then + showplaylist() + end + if settings.display_osd_feedback then + if c2 > 0 or c>0 then + mp.osd_message("Added "..c + c2.." files to playlist") + else + mp.osd_message("No additional files found") + end + end + return c + c2 +end + +function parse_home(path) + if not path:find("^~") then + return path + end + local home_dir = os.getenv("HOME") or os.getenv("USERPROFILE") + if not home_dir then + local drive = os.getenv("HOMEDRIVE") + local path = os.getenv("HOMEPATH") + if drive and path then + home_dir = utils.join_path(drive, path) + else + msg.error("Couldn't find home dir.") + return nil + end + end + local result = path:gsub("^~", home_dir) + return result +end + +local interactive_save = false +function activate_playlist_save() + if interactive_save then + remove_keybinds() + mp.command("script-message playlistmanager-save-interactive \"start interactive filenaming process\"") + else + save_playlist() + end +end + +--saves the current playlist into a m3u file +function save_playlist(filename) + local length = mp.get_property_number('playlist-count', 0) + if length == 0 then return end + + --get playlist save path + local savepath + if settings.playlist_savepath == nil or settings.playlist_savepath == "" then + savepath = mp.command_native({"expand-path", "~~home/"}).."/playlists" + else + savepath = parse_home(settings.playlist_savepath) + if savepath == nil then return end + end + + --create savepath if it doesn't exist + if utils.readdir(savepath) == nil then + local windows_args = {'powershell', '-NoProfile', '-Command', 'mkdir', string.format("\"%s\"", savepath)} + local unix_args = { 'mkdir', savepath } + local args = settings.system == 'windows' and windows_args or unix_args + local res = utils.subprocess({ args = args, cancellable = false }) + if res.status ~= 0 then + msg.error("Failed to create playlist save directory "..savepath..". Error: "..(res.error or "unknown")) + return + end + end + + local name = filename + if name == nil then + if settings.playlist_save_filename == nil or settings.playlist_save_filename == "" then + local date = os.date("*t") + local datestring = ("%02d-%02d-%02d_%02d-%02d-%02d"):format(date.year, date.month, date.day, date.hour, date.min, date.sec) + + name = datestring.."_playlist-size_"..length..".m3u" + else + name = settings.playlist_save_filename + end + end + + local savepath = utils.join_path(savepath, name) + local file, err = io.open(savepath, "w") + if not file then + msg.error("Error in creating playlist file, check permissions. Error: "..(err or "unknown")) + else + file:write("#EXTM3U\n") + local i=0 + while i < length do + local pwd = mp.get_property("working-directory") + local filename = mp.get_property('playlist/'..i..'/filename') + local fullpath = filename + if not is_protocol(filename) then + fullpath = utils.join_path(pwd, filename) + end + local title = mp.get_property('playlist/'..i..'/title') or title_table[filename] + if title then + file:write("#EXTINF:,"..title.."\n") + end + file:write(fullpath, "\n") + i=i+1 + end + local saved_msg = "Playlist written to: "..savepath + mp.osd_message(saved_msg) + msg.info(saved_msg) + file:close() + end +end + +function alphanumsort(a, b) + local is_ffi_loaded = pcall(require, 'ffi') + if is_windows and is_ffi_loaded then + local a_wide = winapi.utf8_to_wide(a) + local b_wide = winapi.utf8_to_wide(b) + return winapi.shlwapi.StrCmpLogicalW(a_wide, b_wide) == -1 + else + -- alphanum sorting for humans in Lua + -- http://notebook.kulchenko.com/algorithms/alphanumeric-natural-sorting-for-humans-in-lua + local function padnum(d) + local dec, n = string.match(d, "(%.?)0*(.+)") + return #dec > 0 and ("%.12f"):format(d) or ("%s%03d%s"):format(dec, #n, n) + end + return tostring(a):lower():gsub("%.?%d+", padnum) .. ("%3d"):format(#b) + < tostring(b):lower():gsub("%.?%d+", padnum) .. ("%3d"):format(#a) + end +end + +-- fast sort algo from https://github.com/zsugabubus/dotfiles/blob/master/.config/mpv/scripts/playlist-filtersort.lua +function sortplaylist(startover) + local playlist = mp.get_property_native('playlist') + if #playlist < 2 then return end + + local order = {} + for i=1, #playlist do + order[i] = i + playlist[i].string = get_name_from_index(i - 1, true) + end + + table.sort(order, function(a, b) + return sort_modes[sort_mode].sort_fn(a, b, playlist) + end) + + for i=1, #playlist do + playlist[order[i]].new_pos = i + end + + for i=1, #playlist do + while true do + local j = playlist[i].new_pos + if i == j then + break + end + mp.commandv('playlist-move', (i) - 1, (j + 1) - 1) + mp.commandv('playlist-move', (j - 1) - 1, (i) - 1) + playlist[j], playlist[i] = playlist[i], playlist[j] + end + end + + for i = 1, #playlist do + local filename = mp.get_property('playlist/' .. i - 1 .. '/filename') + local ext = filename:match("%.([^%.]+)$") + if not ext or not filetype_lookup[ext:lower()] then + --move the directory to the end of the playlist + mp.commandv('playlist-move', i - 1, #playlist) + end + end + + cursor = mp.get_property_number('playlist-pos', 0) + if startover then + mp.set_property('playlist-pos', 0) + end + if playlist_visible then + showplaylist() + end + if settings.display_osd_feedback then + mp.osd_message("Playlist sorted with "..sort_modes[sort_mode].title) + end +end + +function reverseplaylist() + local length = mp.get_property_number('playlist-count', 0) + if length < 2 then return end + for outer=1, length-1, 1 do + mp.commandv('playlist-move', outer, 0) + end + if playlist_visible then + showplaylist() + end + if settings.display_osd_feedback then + mp.osd_message("Playlist reversed") + end +end + +function shuffleplaylist() + refresh_globals() + if plen < 2 then return end + mp.command("playlist-shuffle") + math.randomseed(os.time()) + mp.commandv("playlist-move", pos, math.random(0, plen-1)) + + local playlist = mp.get_property_native('playlist') + for i = 1, #playlist do + local filename = mp.get_property('playlist/' .. i - 1 .. '/filename') + local ext = filename:match("%.([^%.]+)$") + if not ext or not filetype_lookup[ext:lower()] then + --move the directory to the end of the playlist + mp.commandv('playlist-move', i - 1, #playlist) + end + end + + mp.set_property('playlist-pos', 0) + refresh_globals() + if playlist_visible then + showplaylist() + end + if settings.display_osd_feedback then + mp.osd_message("Playlist shuffled") + end +end + +function bind_keys(keys, name, func, opts) + if keys == nil or keys == "" then + mp.add_key_binding(keys, name, func, opts) + return + end + local i = 1 + for key in keys:gmatch("[^%s]+") do + local prefix = i == 1 and '' or i + mp.add_key_binding(key, name..prefix, func, opts) + i = i + 1 + end +end + +function bind_keys_forced(keys, name, func, opts) + if keys == nil or keys == "" then + mp.add_forced_key_binding(keys, name, func, opts) + return + end + local i = 1 + for key in keys:gmatch("[^%s]+") do + local prefix = i == 1 and '' or i + mp.add_forced_key_binding(key, name..prefix, func, opts) + i = i + 1 + end +end + +function unbind_keys(keys, name) + if keys == nil or keys == "" then + mp.remove_key_binding(name) + return + end + local i = 1 + for key in keys:gmatch("[^%s]+") do + local prefix = i == 1 and '' or i + mp.remove_key_binding(name..prefix) + i = i + 1 + end +end + +function add_keybinds() + bind_keys_forced(settings.key_moveup, 'moveup', moveup, "repeatable") + bind_keys_forced(settings.key_movedown, 'movedown', movedown, "repeatable") + bind_keys_forced(settings.key_movepageup, 'movepageup', movepageup, "repeatable") + bind_keys_forced(settings.key_movepagedown, 'movepagedown', movepagedown, "repeatable") + bind_keys_forced(settings.key_movebegin, 'movebegin', movebegin, "repeatable") + bind_keys_forced(settings.key_moveend, 'moveend', moveend, "repeatable") + bind_keys_forced(settings.key_selectfile, 'selectfile', selectfile) + bind_keys_forced(settings.key_unselectfile, 'unselectfile', unselectfile) + bind_keys_forced(settings.key_playfile, 'playfile', playfile) + bind_keys_forced(settings.key_removefile, 'removefile', removefile, "repeatable") + bind_keys_forced(settings.key_closeplaylist, 'closeplaylist', remove_keybinds) + bind_keys_forced(settings.key_sortplaylist, "sortplaylist", function() + sortplaylist() + sort_mode = sort_mode + 1 + if sort_mode > #sort_modes then sort_mode = 1 end + end) + bind_keys_forced(settings.key_reverseplaylist, "reverseplaylist", reverseplaylist) + bind_keys_forced(settings.key_shuffleplaylist, "shuffleplaylist", shuffleplaylist) + bind_keys_forced(settings.key_loadfiles, "loadfiles", playlist) + bind_keys_forced(settings.key_saveplaylist, "saveplaylist", activate_playlist_save) +end + +function remove_keybinds() + keybindstimer:kill() + keybindstimer = mp.add_periodic_timer(settings.playlist_display_timeout, remove_keybinds) + keybindstimer:kill() + playlist_overlay.data = "" + playlist_overlay:remove() + if is_terminal_mode() then + mp.osd_message("") + end + playlist_visible = false + if settings.reset_cursor_on_close then + resetcursor() + end + if settings.dynamic_binds then + unbind_keys(settings.key_moveup, 'moveup') + unbind_keys(settings.key_movedown, 'movedown') + unbind_keys(settings.key_movepageup, 'movepageup') + unbind_keys(settings.key_movepagedown, 'movepagedown') + unbind_keys(settings.key_movebegin, 'movebegin') + unbind_keys(settings.key_moveend, 'moveend') + unbind_keys(settings.key_selectfile, 'selectfile') + unbind_keys(settings.key_unselectfile, 'unselectfile') + unbind_keys(settings.key_playfile, 'playfile') + unbind_keys(settings.key_removefile, 'removefile') + unbind_keys(settings.key_closeplaylist, 'closeplaylist') + unbind_keys(settings.key_sortplaylist, "sortplaylist") + unbind_keys(settings.key_reverseplaylist, "reverseplaylist") + unbind_keys(settings.key_shuffleplaylist, "shuffleplaylist") + unbind_keys(settings.key_loadfiles, "loadfiles") + unbind_keys(settings.key_saveplaylist, "saveplaylist") + end +end + +keybindstimer = mp.add_periodic_timer(settings.playlist_display_timeout, remove_keybinds) +keybindstimer:kill() + +if not settings.dynamic_binds then + add_keybinds() +end + +if settings.loadfiles_on_idle_start and mp.get_property_number('playlist-count', 0) == 0 then + playlist() +end + +mp.observe_property('playlist-count', "number", function(_, plcount) + --if we promised to listen and sort on playlist size increase do it + if settings.sortplaylist_on_file_add and (plcount > plen) then + msg.info("Added files will be automatically sorted") + refresh_globals() + sortplaylist() + end + refresh_UI() + resolve_titles() +end) +mp.observe_property('osd-dimensions', 'native', refresh_UI) + + +url_request_queue = {} +function url_request_queue.push(item) table.insert(url_request_queue, item) end +function url_request_queue.pop() return table.remove(url_request_queue, 1) end +local url_titles_to_fetch = url_request_queue +local ongoing_url_requests = {} + +function url_fetching_throttler() + if #url_titles_to_fetch == 0 then + url_title_fetch_timer:kill() + end + + local ongoing_url_requests_count = 0 + for _, ongoing in pairs(ongoing_url_requests) do + if ongoing then + ongoing_url_requests_count = ongoing_url_requests_count + 1 + end + end + + -- start resolving some url titles if there is available slots + local amount_to_fetch = math.max(0, settings.concurrent_title_resolve_limit - ongoing_url_requests_count) + for index=1,amount_to_fetch,1 do + local file = url_titles_to_fetch.pop() + if file then + ongoing_url_requests[file] = true + resolve_ytdl_title(file) + end + end +end + +url_title_fetch_timer = mp.add_periodic_timer(0.1, url_fetching_throttler) +url_title_fetch_timer:kill() + +function resolve_titles() + if settings.prefer_titles == 'none' or not settings.resolve_url_titles then return end + + local length = mp.get_property_number('playlist-count', 0) + if length < 2 then return end + -- loop all items in playlist because we can't predict how it has changed + local added_urls = false + for i=0,length - 1,1 do + local filename = mp.get_property('playlist/'..i..'/filename') + local title = mp.get_property('playlist/'..i..'/title') + if i ~= pos + and filename + and not title + and not title_table[filename] + and not requested_titles[filename] + then + requested_titles[filename] = true + if filename:find('^https?://') and settings.resolve_url_titles then + url_titles_to_fetch.push(filename) + added_urls = true + end + end + end + if added_urls then + url_title_fetch_timer:resume() + end +end + +function resolve_ytdl_title(filename) + local args = { + settings.youtube_dl_executable, + '--no-playlist', + '--flat-playlist', + '-sJ', + '--no-config', + filename, + } + local req = mp.command_native_async( + { + name = "subprocess", + args = args, + playback_only = false, + capture_stdout = true + }, + function (success, res) + ongoing_url_requests[filename] = false + if res.killed_by_us then + msg.verbose('Request to resolve url title ' .. filename .. ' timed out') + return + end + if res.status == 0 then + local json, err = utils.parse_json(res.stdout) + if not err then + local is_playlist = json['_type'] and json['_type'] == 'playlist' + local title = (is_playlist and '[playlist]: ' or '') .. json['title'] + msg.verbose(filename .. " resolved to '" .. title .. "'") + title_table[filename] = title + mp.set_property_native('user-data/playlistmanager/titles', title_table) + refresh_UI() + else + msg.error("Failed parsing json, reason: "..(err or "unknown")) + end + else + msg.error("Failed to resolve url title "..filename.." Error: "..(res.error or "unknown")) + end + end + ) + + mp.add_timeout( + settings.resolve_title_timeout, + function() + mp.abort_async_command(req) + ongoing_url_requests[filename] = false + end + ) +end + +--script message handler +function handlemessage(msg, value, value2) + if msg == "show" and value == "playlist" then + if value2 ~= "toggle" then + showplaylist(value2) + return + else + toggle_playlist(showplaylist) + return + end + end + if msg == "show" and value == "playlist-nokeys" then + if value2 ~= "toggle" then + showplaylist_non_interactive(value2) + return + else + toggle_playlist(showplaylist_non_interactive) + return + end + end + if msg == "show" and value == "filename" and strippedname and value2 then + mp.commandv('show-text', strippedname, tonumber(value2)*1000 ) ; return + end + if msg == "show" and value == "filename" and strippedname then + mp.commandv('show-text', strippedname ) ; return + end + if msg == "sort" then sortplaylist(value) ; return end + if msg == "shuffle" then shuffleplaylist() ; return end + if msg == "reverse" then reverseplaylist() ; return end + if msg == "refresh" then playlist(true) ; return end + if msg == "loadfiles" then playlist(false, value) ; return end + if msg == "save" then save_playlist(value) ; return end + if msg == "playlist-next" then playlist_next() ; return end + if msg == "playlist-prev" then playlist_prev() ; return end + if msg == "playlist-next-random" then playlist_random() ; return end + if msg == "enable-interactive-save" then interactive_save = true end + if msg == "close" then remove_keybinds() end +end + +mp.register_script_message("playlistmanager", handlemessage) + +bind_keys( + settings.key_peek_at_playlist, + "peek_at_playlist", + handle_complex_playlist_toggle, + { complex=true } +) + +bind_keys(settings.key_showplaylist, "showplaylist", toggle_playlist) + +mp.register_event("start-file", on_start_file) +mp.register_event("file-loaded", on_file_loaded) +mp.register_event("end-file", on_end_file) \ No newline at end of file diff --git a/scripts/quality-menu.lua b/scripts/quality-menu.lua new file mode 100644 index 0000000..cac5c8c --- /dev/null +++ b/scripts/quality-menu.lua @@ -0,0 +1,1177 @@ +-- quality-menu 4.2.1 - 2025-Jun-29 +-- https://github.com/christoph-heinrich/mpv-quality-menu +-- +-- Change the stream video and audio quality on the fly. +-- +-- Usage: +-- add bindings to input.conf: +-- F script-binding quality_menu/video_formats_toggle +-- Alt+f script-binding quality_menu/audio_formats_toggle + +local mp = require 'mp' +local utils = require 'mp.utils' +local msg = require 'mp.msg' +local assdraw = require 'mp.assdraw' +local opt = require('mp.options') +local script_name = mp.get_script_name() + +local opts = { + --key bindings + up_binding = 'UP WHEEL_UP', + down_binding = 'DOWN WHEEL_DOWN', + select_binding = 'ENTER MBTN_LEFT', + close_menu_binding = 'ESC MBTN_RIGHT', + + --formatting / cursors + selected_and_active = '▶ - ', + selected_and_inactive = '● - ', + unselected_and_active = '▷ - ', + unselected_and_inactive = '○ - ', + + --font size scales by window, if false requires larger font and padding sizes + scale_playlist_by_window = true, + + --playlist ass style overrides inside curly brackets, \keyvalue is one field, extra \ for escape in lua + --example {\\fnUbuntu\\fs10\\b0\\bord1} equals: font=Ubuntu, size=10, bold=no, border=1 + --read http://docs.aegisub.org/3.2/ASS_Tags/ for reference of tags + --undeclared tags will use default osd settings + --these styles will be used for the whole playlist. More specific styling will need to be hacked in + -- + --(a monospaced font is recommended but not required) + style_ass_tags = '{\\fnmonospace\\fs25\\bord1}', + + -- Shift drawing coordinates. Required for mpv.net compatiblity + shift_x = 0, + shift_y = 0, + + --paddings from window edge + text_padding_x = 5, + text_padding_y = 10, + + --Screen dim when menu is open + curtain_opacity = 0.7, + + --how many seconds until the quality menu times out + --setting this to 0 deactivates the timeout + menu_timeout = 6, + + --use youtube-dl to fetch a list of available formats (overrides quality_strings) + fetch_formats = true, + + --list of ytdl-format strings to choose from + quality_strings_video = [[ + [ + {"4320p" : "bestvideo[height<=?4320p]"}, + {"2160p" : "bestvideo[height<=?2160]"}, + {"1440p" : "bestvideo[height<=?1440]"}, + {"1080p" : "bestvideo[height<=?1080]"}, + {"720p" : "bestvideo[height<=?720]"}, + {"480p" : "bestvideo[height<=?480]"}, + {"360p" : "bestvideo[height<=?360]"}, + {"240p" : "bestvideo[height<=?240]"}, + {"144p" : "bestvideo[height<=?144]"} + ] + ]], + quality_strings_audio = [[ + [ + {"default" : "bestaudio/best"} + ] + ]], + + --show the video format menu after opening an url + start_with_menu = false, + + --include unknown formats in the list + --Unfortunately choosing which formats are video or audio is not always perfect. + --Set to true to make sure you don't miss any formats, but then the list + --might also include formats that aren't actually video or audio. + --Formats that are known to not be video or audio are still filtered out. + include_unknown = false, + + --hide columns that are identical for all formats + hide_identical_columns = true, + + --which columns are shown in which order + --comma separated list, prefix column with "-" to align left + -- + --for the uosc integration it is possible to split the text up into a title and a hint + --this is done by separating two columns with a "|" instead of a comma + --column order in the hint is reversed + -- + --columns that might be useful are: + --resolution, width, height, fps, dynamic_range, tbr, vbr, abr, asr, + --filesize, filesize_approx, vcodec, acodec, ext, video_ext, audio_ext, + --language, format, format_note, quality + -- + --columns that are derived from the above, but with special treatment: + --size, frame_rate, bitrate_total, bitrate_video, bitrate_audio, + --codec_video, codec_audio, audio_sample_rate + -- + --If those still aren't enough or you're just curious, run: + --yt-dlp -j + --This outputs unformatted JSON. + --Format it and look under "formats" to see what's available. + -- + --Not all videos have all columns available. + --Be careful, misspelled columns simply won't be displayed, there is no error. + columns_video = '-resolution,frame_rate,dynamic_range|language,bitrate_total,size,-codec_video,-codec_audio', + columns_audio = 'audio_sample_rate,bitrate_total|size,language,-codec_audio', + + --columns used for sorting, see "columns_video" for available columns + --comma separated list, prefix column with "-" to reverse sorting order + --Leaving this empty keeps the order from yt-dlp/youtube-dl. + --Be careful, misspelled columns won't result in an error, + --but they might influence the result. + sort_video = 'height,fps,tbr,size,format_id', + sort_audio = 'asr,tbr,size,format_id', +} +opt.read_options(opts, 'quality-menu') + +---@alias Format { properties: {[string]: string}, id: string, label?: string, title?: string, hint?: string } +-- *_active_id == nil means unknown, *_active_id == '' means disabled +---@alias Data { video_formats: Format[], audio_formats: Format[], video_active_id?: string, audio_active_id?: string } +---@alias UIState { type: string, type_capitalized: string, name: string , to_other_type: UIState, to_fetching: UIState, to_menu: UIState, is_video: boolean } + +do + ---@param option_string string + ---@param option_name string + ---@return Format[] + local function parse_predefined(option_string, option_name) + ---@type {[string]: string}[] + local json, error = utils.parse_json(option_string) + if error then + msg.error('Error while parsing JSON of option ' .. option_name .. ': ' .. error) + return {} + end + ---@type Format[] + local formats = {} + for i, format in ipairs(json) do + local label, format_string = next(format) + formats[i] = { + label = label, + title = label, + id = format_string, + } + end + return formats + end + + ---@type Data + opts.predefined_data = { + video_formats = parse_predefined(opts.quality_strings_video, 'quality_strings_video'), + audio_formats = parse_predefined(opts.quality_strings_audio, 'quality_strings_audio'), + video_active_id = nil, + audio_active_id = nil, + } +end + +opts.font_size = tonumber(opts.style_ass_tags:match('\\fs(%d+%.?%d*)')) or mp.get_property_number('osd-font-size') or 25 +opts.curtain_opacity = math.max(math.min(opts.curtain_opacity, 1), 0) + +---@param input string +---@param separator string +---@return string[] +local function string_split(input, separator) + if separator == nil then + separator = '%s' + end + local t = {} + for str in string.gmatch(input, '([^' .. separator .. ']+)') do + table.insert(t, str) + end + return t +end + +---@param strings string[] +---@return string[], boolean[] +local function strip_minus(strings) + local stripped_list = {} + local had_minus = {} + for i, val in ipairs(strings) do + if string.sub(val, 1, 1) == '-' then + val = string.sub(val, 2) + had_minus[val] = true + end + stripped_list[i] = val + end + return stripped_list, had_minus +end + +do + ---@param column_definition string + ---@return { all: string[], all_align_left: boolean[], title: string[], title_align_left: boolean[], hint?: string[] } + local function parse_columns(column_definition) + local columns, columns_align_left = strip_minus(string_split(column_definition, '|,')) + local title_hint = string_split(column_definition, '|') + local title, title_align_left = strip_minus(string_split(title_hint[1], ',')) + + local hint = nil + if title_hint[2] then + hint = strip_minus(string_split(title_hint[2], ',')) + -- reverse column order + local n = #hint + for i = 1, n / 2 do + hint[i], hint[n - i + 1] = hint[n - i + 1], hint[i] + end + end + return { + all = columns, all_align_left = columns_align_left, + title = title, title_align_left = title_align_left, + hint = hint + } + end + + ---@type { all: string[], all_align_left: boolean[], title: string[], title_align_left: boolean[], hint?: string[] } + ---@diagnostic disable-next-line: param-type-mismatch + opts.columns_video = parse_columns(opts.columns_video) + ---@type { all: string[], all_align_left: boolean[], title: string[], title_align_left: boolean[], hint?: string[] } + ---@diagnostic disable-next-line: param-type-mismatch + opts.columns_audio = parse_columns(opts.columns_audio) +end + +-- special thanks to reload.lua (https://github.com/4e6/mpv-reload/) +local function reload_resume() + local reload_duration = mp.get_property_native('duration') + local time_pos = mp.get_property('time-pos') + + mp.command('playlist-play-index current') + + -- Tries to determine live stream vs. pre-recorded VOD. VOD has non-zero + -- duration property. When reloading VOD, to keep the current time position + -- we should provide offset from the start. Stream doesn't have fixed start. + -- Decent choice would be to reload stream from it's current 'live' position. + -- That's the reason we don't pass the offset when reloading streams. + if reload_duration and reload_duration > 0 and time_pos then + local function seeker() + mp.commandv('seek', time_pos, 'absolute+exact') + mp.unregister_event(seeker) + end + + mp.register_event('file-loaded', seeker) + end +end + +---@type { video_menu: UIState, audio_menu: UIState, video_fetching: UIState, audio_fetching: UIState } +local states = { + video_menu = { type = 'video', type_capitalized = 'Video', name = 'video_menu', is_video = true }, + audio_menu = { type = 'audio', type_capitalized = 'Audio', name = 'audio_menu', is_video = false }, + video_fetching = { type = 'video', type_capitalized = 'Video', name = 'video_fetching', is_video = true }, + audio_fetching = { type = 'audio', type_capitalized = 'Audio', name = 'audio_fetching', is_video = false }, +} +states.video_menu.to_fetching = states.video_fetching +states.video_menu.to_menu = states.video_menu +states.video_menu.to_other_type = states.audio_menu +states.audio_menu.to_fetching = states.audio_fetching +states.audio_menu.to_menu = states.audio_menu +states.audio_menu.to_other_type = states.video_menu +states.video_fetching.to_fetching = states.video_fetching +states.video_fetching.to_menu = states.video_menu +states.video_fetching.to_other_type = states.audio_fetching +states.audio_fetching.to_fetching = states.audio_fetching +states.audio_fetching.to_menu = states.audio_menu +states.audio_fetching.to_other_type = states.video_fetching + +---@type UIState | nil +local open_menu_state = nil +---@type string | nil +local current_url = nil +---@type function | nil +local destructor = nil + +local menu_open +local menu_close +local video_formats_toggle +local audio_formats_toggle + +local osd = mp.create_osd_overlay('ass-events') + +local function hide_osd() + -- workaround mpv bug, setting to hidden does not cause a redraw + -- https://github.com/mpv-player/mpv/issues/10227 + osd.data = '' + osd:update() + osd.hidden = true + osd:update() +end + +local osd_timer = mp.add_timeout(1, function() menu_close() end) +osd_timer:kill() + +---@param message string +---@param time number +local function osd_message(message, time) + osd.res_x = 1280 + osd.res_y = 720 + osd.hidden = false + osd.data = message + osd:update() + osd_timer.timeout = time + osd_timer:kill() + osd_timer:resume() +end + +---@alias FormatRaw {format_id: string, vcodec?: string, acodec?: string, filesize: integer?, filesize_approx?: integer, fps?: number, tbr?: number, vbr?: number, abr?: number, asr?: number} + +---@param json {formats: FormatRaw[], requested_formats: FormatRaw, requested_downloads: FormatRaw} +---@return Data +local function process_json(json) + ---@param format FormatRaw + ---@return boolean + local function is_video(format) + -- 'none' means it is not a video + -- nil means it is unknown + return (opts.include_unknown or format.vcodec) and format.vcodec ~= 'none' or false + end + + ---@param format FormatRaw + ---@return boolean + local function is_audio(format) + return (opts.include_unknown or format.acodec) and format.acodec ~= 'none' or false + end + + local requested_video = nil + local requested_audio = nil + local requested_formats = json.requested_formats or json.requested_downloads or {} + for _, format in ipairs(requested_formats) do + if is_video(format) then + requested_video = format.format_id + elseif is_audio(format) then + requested_audio = format.format_id + end + end + + local video_formats = {} + local audio_formats = {} + local all_formats = {} + for i = #json.formats, 1, -1 do + local format = json.formats[i] + if is_video(format) then + video_formats[#video_formats + 1] = format + all_formats[#all_formats + 1] = format + elseif is_audio(format) then + audio_formats[#audio_formats + 1] = format + all_formats[#all_formats + 1] = format + end + end + + ---@param format FormatRaw + local function populate_special_fields(format) + format.size = format.filesize or format.filesize_approx + format.frame_rate = format.fps + format.bitrate_total = format.tbr + format.bitrate_video = format.vbr + format.bitrate_audio = format.abr + format.codec_video = format.vcodec + format.codec_audio = format.acodec + format.audio_sample_rate = format.asr + end + + for _, format in ipairs(all_formats) do + populate_special_fields(format) + end + + local sort_video, reverse_video = strip_minus(string_split(opts.sort_video, ',')) + local sort_audio, reverse_audio = strip_minus(string_split(opts.sort_audio, ',')) + + ---@param properties string[] + ---@param reverse {[string]: boolean} + ---@return fun(a: FormatRaw, b: FormatRaw): boolean + local function comp(properties, reverse) + return function(a, b) + for _, prop in ipairs(properties) do + local a_val = a[prop] + local b_val = b[prop] + if a_val and b_val and type(a_val) ~= 'table' and a_val ~= b_val then + if reverse[prop] then + return a_val < b_val + else + return a_val > b_val + end + end + end + return false + end + end + + if #sort_video > 0 then + table.sort(video_formats, comp(sort_video, reverse_video)) + end + if #sort_audio > 0 then + table.sort(audio_formats, comp(sort_audio, reverse_audio)) + end + + ---@param size integer + ---@return string + local function scale_filesize(size) + if size == nil then + return '' + end + + local counter = 0 + while size > 1024 do + size = size / 1024 + counter = counter + 1 + end + + if counter >= 3 then return string.format('%.1fGiB', size) + elseif counter >= 2 then return string.format('%.1fMiB', size) + elseif counter >= 1 then return string.format('%.1fKiB', size) + else return string.format('%.1fB ', size) + end + end + + ---@param bitrate integer + ---@return string + local function scale_bitrate(bitrate) + if bitrate == nil then + return '' + end + + local counter = 0 + while bitrate > 1000 do + bitrate = bitrate / 1000 + counter = counter + 1 + end + + if counter >= 2 then return string.format('%.1fGbps', bitrate) + elseif counter >= 1 then return string.format('%.1fMbps', bitrate) + else return string.format('%.1fKbps', bitrate) + end + end + + ---@param format FormatRaw + local function format_special_fields(format) + local size_prefix = not format.filesize and format.filesize_approx and '~' or '' + ---@diagnostic disable-next-line: param-type-mismatch + format.size = (size_prefix) .. scale_filesize(format.size) + format.frame_rate = format.fps and format.fps .. 'fps' or '' + format.bitrate_total = scale_bitrate(format.tbr) + format.bitrate_video = scale_bitrate(format.vbr) + format.bitrate_audio = scale_bitrate(format.abr) + format.codec_video = format.vcodec == nil and 'unknown' or format.vcodec == 'none' and '' or format.vcodec + format.codec_audio = format.acodec == nil and 'unknown' or format.acodec == 'none' and '' or format.acodec + format.audio_sample_rate = format.asr and tostring(format.asr) .. 'Hz' or '' + end + + for _, format in ipairs(all_formats) do + format_special_fields(format) + end + + ---@param raw_formats { [string]: any } + ---@param properties string[] + ---@return Format[] + local function convert_to_format(raw_formats, properties) + ---@type Format[] + local formats = {} + for i, format in ipairs(raw_formats) do + local props = {} + for _, prop in ipairs(properties) do + props[prop] = tostring(format[prop] or '') + end + formats[i] = { properties = props, id = format.format_id } + end + return formats + end + + return { + video_formats = convert_to_format(video_formats, opts.columns_video.all), + audio_formats = convert_to_format(audio_formats, opts.columns_audio.all), + video_active_id = requested_video, + audio_active_id = requested_audio, + } +end + +---@return string | nil +local function get_url() + local path, n = mp.get_property('path'), nil + if not path then return nil end + path, n = path:gsub('^ytdl://', '') -- Strip possible ytdl:// prefix. + if n > 0 then return path end + + ---@param str string + ---@return boolean + local function is_url(str) + -- adapted the regex from + -- https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url + return nil ~= + str:match( + '^[%w]-://[-a-zA-Z0-9@:%._\\+~#=]+%.' .. + '[a-zA-Z0-9()][a-zA-Z0-9()]?[a-zA-Z0-9()]?[a-zA-Z0-9()]?[a-zA-Z0-9()]?[a-zA-Z0-9()]?' .. + '[-a-zA-Z0-9()@:%_\\+.~#?&/=]*') + end + + return is_url(path) and path or nil +end + +local uosc_available = false +---@type { [string]: Data } +local url_data = {} + +local function uosc_set_format_counts() + if not uosc_available then return end + + local data = url_data[current_url] + if data then + mp.commandv('script-message-to', 'uosc', 'set', 'vformats', #data.video_formats) + mp.commandv('script-message-to', 'uosc', 'set', 'aformats', #data.audio_formats) + else + mp.commandv('script-message-to', 'uosc', 'set', 'vformats', 0) + mp.commandv('script-message-to', 'uosc', 'set', 'aformats', 0) + end +end + +---@param json string +---@return Data | nil +local function process_json_string(json) + local json_table, err = utils.parse_json(json) + + if (json_table == nil) then + osd_message('fetching formats failed...', 2) + if err == nil then err = 'unexpected error occurred' end + msg.error('failed to parse JSON data: ' .. err) + return + end + + if json_table.formats == nil then + return + end + + return process_json(json_table) +end + +---Unknown format falls back on highest ranked format if possible +---@param id string | nil +---@param formats Format[] +---@return string +local function sanitize_format_id(id, formats) + return id or (formats[1] or {}).id or '' +end + +---@param video_id string +---@param audio_id string +---@return string +local function format_string(video_id, audio_id) + if #video_id > 0 and #audio_id > 0 then + return video_id .. '+' .. audio_id + elseif #video_id > 0 then + return video_id + elseif #audio_id > 0 then + return audio_id + else + return '' + end +end + +---@param url string +---@param video_format string +---@param audio_format string +local function set_format(url, video_format, audio_format) + if (url_data[url].video_active_id ~= video_format or url_data[url].audio_active_id ~= audio_format) then + url_data[url].video_active_id = video_format + url_data[url].audio_active_id = audio_format + if url == mp.get_property('path') then reload_resume() end + end +end + +---@param formats Format[] +---@param active_format string | nil +---@param menu_type UIState +local function text_menu_open(formats, active_format, menu_type) + local active = 0 + local selected = 1 + --set the cursor to the current format + for i, format in ipairs(formats) do + if format.id == active_format then + active = i + selected = active + break + end + end + if active_format == '' then + active = #formats + 1 + selected = active + end + + ---@param i integer + ---@return string + local function choose_prefix(i) + if i == selected and i == active then return opts.selected_and_active + elseif i == selected then return opts.selected_and_inactive end + + if i ~= selected and i == active then return opts.unselected_and_active + elseif i ~= selected then return opts.unselected_and_inactive end + return '> ' --shouldn't get here. + end + + local width, height + local margin_top, margin_bottom = 0, 0 + local num_options = #formats > 0 and #formats + 2 or 1 + + ---@return integer + local function get_scrolled_lines() + local output_height = height - opts.text_padding_y * 2 - margin_top * height - margin_bottom * height + local screen_lines = math.max(math.floor(output_height / opts.font_size), 1) + local max_scroll = math.max(num_options - screen_lines, 0) + return math.min(math.max(selected - math.ceil(screen_lines / 2), 0), max_scroll) + end + + local function draw_menu() + local ass = assdraw.ass_new() + + if opts.curtain_opacity > 0 then + local alpha = 255 - math.ceil(255 * opts.curtain_opacity) + ass.text = string.format('{\\pos(0,0)\\rDefault\\an7\\1c&H000000&\\alpha&H%X&}', alpha) + ass:draw_start() + ass:rect_cw(0, 0, width, height) + ass:draw_stop() + ass:new_event() + end + + local scrolled_lines = get_scrolled_lines() + local pos_y = opts.shift_y + margin_top * height + opts.text_padding_y - scrolled_lines * opts.font_size + ass:pos(opts.shift_x + opts.text_padding_x, pos_y) + local clip_top = math.floor(margin_top * height + 0.5) + local clip_bottom = math.floor((1 - margin_bottom) * height + 0.5) + local clipping_coordinates = '0,' .. clip_top .. ',' .. width .. ',' .. clip_bottom + ass:append('{\\rDefault\\an7\\q2\\clip(' .. clipping_coordinates .. ')}' .. opts.style_ass_tags) + + if #formats > 0 then + for i, format in ipairs(formats) do + ass:append(choose_prefix(i) .. format.label .. '\\N') + end + ass:append(choose_prefix(#formats + 1) .. 'Disabled\\N') + ass:append(choose_prefix(#formats + 2) .. menu_type.to_other_type.type_capitalized .. ' menu') + else + ass:append('no formats found\\N') + ass:append(opts.selected_and_inactive .. menu_type.to_other_type.type_capitalized .. ' menu') + end + + osd.data = ass.text + osd:update() + end + + local function update_dimensions() + local _, h, aspect = mp.get_osd_size() + if opts.scale_playlist_by_window then h = 720 end + height = h + width = height * aspect + osd.res_y = height + osd.res_x = width + draw_menu() + end + + local update_margins = function(_, val) + if not val then + val = mp.get_property_native('user-data/osc/margins') + end + if val then + margin_top = val.t + margin_bottom = val.b + else + margin_top = 0 + margin_bottom = 0 + end + draw_menu() + end + mp.observe_property('user-data/osc/margins', 'native', update_margins) + + update_dimensions() + update_margins() + mp.observe_property('osd-dimensions', 'native', update_dimensions) + + ---@param amount integer + local function selected_move(amount) + selected = selected + amount + if selected < 1 then selected = num_options + elseif selected > num_options then selected = 1 end + if osd_timer then + osd_timer:kill() + osd_timer:resume() + end + draw_menu() + end + + ---@param keys string | nil + ---@param name string + ---@param func function + ---@param opts table | nil + local function bind_keys(keys, name, func, opts) + if not keys then + mp.add_forced_key_binding(keys, name, func, opts) + return + end + local i = 1 + for key in keys:gmatch('[^%s]+') do + local prefix = i == 1 and '' or i + mp.add_forced_key_binding(key, name .. prefix, func, opts) + i = i + 1 + end + end + + ---@param keys string | nil + ---@param name string + local function unbind_keys(keys, name) + if not keys then + mp.remove_key_binding(name) + return + end + local i = 1 + for key in keys:gmatch('[^%s]+') do + local prefix = i == 1 and '' or i + mp.remove_key_binding(name .. prefix) + i = i + 1 + end + end + + -- make sure observers are cleaned up + if open_menu_state and open_menu_state == open_menu_state.to_menu and destructor then destructor() end + destructor = function() + unbind_keys(opts.up_binding, 'move_up') + unbind_keys(opts.down_binding, 'move_down') + unbind_keys(opts.select_binding, 'select') + unbind_keys(opts.close_menu_binding, 'close') + mp.unobserve_property(update_dimensions) + mp.unobserve_property(update_margins) + end + + osd_timer:kill() + if opts.menu_timeout > 0 then + osd_timer.timeout = opts.menu_timeout + osd_timer:resume() + end + + bind_keys(opts.up_binding, 'move_up', function() selected_move( -1) end, { repeatable = true }) + bind_keys(opts.down_binding, 'move_down', function() selected_move(1) end, { repeatable = true }) + bind_keys(opts.close_menu_binding, 'close', menu_close) + bind_keys(opts.select_binding, 'select', function() + if selected == num_options then + mp.unobserve_property(update_dimensions) + mp.unobserve_property(update_margins) + if menu_type.is_video then audio_formats_toggle() + else video_formats_toggle() end + return + end + menu_close() + if selected == active then return end + if current_url == nil then return end + + local video_id, audio_id + local id = formats[selected] and formats[selected].id or '' + local data = url_data[current_url] + if menu_type.is_video then + video_id = id + audio_id = sanitize_format_id(data.audio_active_id, data.audio_formats) + else + video_id = sanitize_format_id(data.video_active_id, data.video_formats) + audio_id = id + end + set_format(current_url, video_id, audio_id) + end) + + osd.hidden = false + draw_menu() +end + +---@param menu table +---@param menu_type UIState +local function uosc_show_menu(menu, menu_type) + local json = utils.format_json(menu) + -- always using update wouldn't work, because it doesn't support the on_close command + -- therefore opening a different kind requires `open-menu` + -- while updating the same kind requires `update-menu` + if open_menu_state == menu_type then mp.commandv('script-message-to', 'uosc', 'update-menu', json) + else mp.commandv('script-message-to', 'uosc', 'open-menu', json) end +end + +---@param formats Format[] +---@param active_format string | nil +---@param menu_type UIState +local function uosc_menu_open(formats, active_format, menu_type) + local menu = { + title = menu_type.type_capitalized .. ' Formats', + items = {}, + type = 'quality-menu-' .. menu_type.name, + keep_open = true, + on_close = { + 'script-message-to', + script_name, + 'uosc-menu-closed', + menu_type.name, + } + } + + menu.items[#menu.items + 1] = { + title = menu_type.to_other_type.type_capitalized, + italic = true, + bold = true, + hint = 'open menu', + value = { + 'script-message-to', + script_name, + menu_type.to_other_type.type .. '_formats_toggle', + }, + } + menu.items[#menu.items + 1] = { + title = 'Disabled', + italic = true, + muted = true, + hint = '—', + active = active_format == '', + value = { + 'script-message-to', + script_name, + menu_type.type .. '-format-set', + current_url, + '', + } + } + + for _, format in ipairs(formats) do + menu.items[#menu.items + 1] = { + title = format.title, + hint = format.hint, + active = format.id == active_format, + value = { + 'script-message-to', + script_name, + menu_type.type .. '-format-set', + current_url, + format.id, + } + } + end + + uosc_show_menu(menu, menu_type) + destructor = function() + mp.commandv('script-message-to', 'uosc', 'close-menu', menu.type) + end +end + +---Check if property is same for all formats +---@param formats Format[] +---@param properties string[] +---@return { [string]: boolean } +local function identical_for_all(formats, properties) + ---@param formats Format[] + ---@param prop string + ---@return boolean + local function all_formats_same_value(formats, prop) + local first_value = nil + for _, format in ipairs(formats) do + first_value = first_value or format.properties[prop] + if format.properties[prop] ~= first_value then return false end + end + return true + end + + local identical_props = {} + for _, prop in ipairs(properties) do + identical_props[prop] = all_formats_same_value(formats, prop) + end + return identical_props +end + +---@param formats Format[] +---@param columns string[] +---@param column_align_left boolean[] +---@return string[] +local function format_table(formats, columns, column_align_left) + local column_widths = {} + for _, format in pairs(formats) do + for col, prop in ipairs(columns) do + local width = format.properties[prop]:len() + if not column_widths[col] or column_widths[col] < width then + column_widths[col] = width + end + end + end + + local identical_columns = #formats < 2 and {} or identical_for_all(formats, columns) + + local show_columns = {} + for i, width in ipairs(column_widths) do + local prop = columns[i] + if width > 0 and not (opts.hide_identical_columns and identical_columns[prop]) then + show_columns[#show_columns + 1] = { + prop = prop, + width = width, + align_left = column_align_left[prop] + } + end + end + + local spacing = 2 + ---@type string[] + local rows = {} + for i, format in ipairs(formats) do + local row = {} + for j, column in ipairs(show_columns) do + -- lua errors out with width > 99 ("invalid conversion specification") + local width = math.min(column.width * (column.align_left and -1 or 1), 99) + row[j] = string.format('%' .. width .. 's', format.properties[column.prop] or '') + end + rows[i] = table.concat(row, string.format('%' .. spacing .. 's', '')):gsub('%s+$', '') + end + return rows +end + +---@param formats Format[] +---@param columns string[] +---@return string[] +local function format_csv(formats, columns) + local identical_props = #formats < 2 and {} or identical_for_all(formats, columns) + local hints = {} + for i, format in ipairs(formats) do + local row = {} + for _, prop in ipairs(columns) do + local val = format.properties[prop] + if #val > 0 and not (opts.hide_identical_columns and identical_props[prop]) then + row[#row + 1] = val + end + end + hints[i] = table.concat(row, ', ') + end + return hints +end + +---@param formats Format[] +---@param menu_type UIState +local function ensure_menu_data_filled(formats, menu_type) + if uosc_available then + if formats[1] and formats[1].title == nil then + local columns = menu_type.is_video and opts.columns_video or opts.columns_audio + local titles = format_table(formats, columns.title, columns.title_align_left) + + local hints = {} + if columns.hint then + hints = format_csv(formats, columns.hint) + end + + for i, format in ipairs(formats) do + format.title = titles[i] + format.hint = hints[i] + end + end + else + if formats[1] and formats[1].label == nil then + local columns = menu_type.is_video and opts.columns_video or opts.columns_audio + local labels = format_table(formats, columns.all, columns.all_align_left) + for i, format in ipairs(formats) do format.label = labels[i] end + end + end +end + +---@param menu_type UIState +local function loading_message(menu_type) + menu_type = menu_type.to_fetching + if uosc_available then + if open_menu_state and open_menu_state == menu_type then return end + local menu = { + title = menu_type.type_capitalized .. ' Formats', + items = { { icon = 'spinner', selectable = false, value = 'ignore' } }, + type = 'quality-menu-' .. menu_type.name, + keep_open = true, + on_close = { + 'script-message-to', + script_name, + 'uosc-menu-closed', + menu_type.name + } + } + uosc_show_menu(menu, menu_type) + destructor = function() + mp.commandv('script-message-to', 'uosc', 'close-menu', menu.type) + end + else + osd_message('fetching available ' .. menu_type.type .. ' formats...', 60) + end + open_menu_state = menu_type +end + +---@param menu_type UIState +function menu_open(menu_type) + if not current_url then return end + menu_type = menu_type.to_menu + + local data = url_data[current_url] + if not data then + if opts.fetch_formats then + loading_message(menu_type) + return + end + + -- shallow clone so that each url has it's own active format ids + data = {} + for k, v in pairs(opts.predefined_data) do + data[k] = v + end + url_data[current_url] = data + end + local formats = menu_type.is_video and data.video_formats or data.audio_formats + local active_format + if menu_type.is_video then active_format = data.video_active_id + else active_format = data.audio_active_id end + + msg.verbose('current ytdl-format: ' .. mp.get_property('ytdl-format', '')) + + ensure_menu_data_filled(formats, menu_type) + if uosc_available then uosc_menu_open(formats, active_format, menu_type) + else text_menu_open(formats, active_format, menu_type) end + open_menu_state = menu_type +end + +function menu_close() + if destructor then + destructor() + destructor = nil + end + if not osd.hidden then hide_osd() end + open_menu_state = nil +end + +---@param menu_type UIState +local function toggle_menu(menu_type) + if open_menu_state and open_menu_state.type == menu_type.type then + menu_close() + return + end + + if current_url == nil then + if uosc_available then + if menu_type.is_video then + mp.commandv('script-binding', 'uosc/video') + else + mp.commandv('script-binding', 'uosc/audio') + end + end + return + end + + menu_open(menu_type) +end + +function video_formats_toggle() toggle_menu(states.video_menu) end +function audio_formats_toggle() toggle_menu(states.audio_menu) end + +-- keybind to launch menu +mp.add_key_binding(nil, 'video_formats_toggle', video_formats_toggle) +mp.add_key_binding(nil, 'audio_formats_toggle', audio_formats_toggle) +mp.add_key_binding(nil, 'reload', reload_resume) + +mp.register_event('start-file', function() + local new_url = get_url() + local url_changed = current_url ~= new_url + current_url = new_url + uosc_set_format_counts() + + -- new path isn't an url + if not new_url then return menu_close() end + + -- open or update menu + if opts.start_with_menu and url_changed or open_menu_state then + menu_open(open_menu_state or states.video_menu) + end +end) + +-- run before ytdl_hook, which uses a priority of 10 +mp.add_hook('on_load', 9, function() + local path = mp.get_property('path') + local data = url_data[path] + if not (data and data.video_active_id and data.audio_active_id) then return end + local format = format_string(data.video_active_id, data.audio_active_id) + msg.verbose('setting ytdl-format: ' .. format) + mp.set_property('file-local-options/ytdl-format', format) +end) + +---@param url string +---@param format_id string +mp.register_script_message('video-format-set', function(url, format_id) + menu_close() + local data = url_data[url] + set_format(url, format_id, sanitize_format_id(data.audio_active_id, data.audio_formats)) +end) + +---@param url string +---@param format_id string +mp.register_script_message('audio-format-set', function(url, format_id) + menu_close() + local data = url_data[url] + set_format(url, sanitize_format_id(data.video_active_id, data.video_formats), format_id) +end) + +--- check if uosc is running +---@param version string +mp.register_script_message('uosc-version', function(version) + ---Like the comperator for table.sort, this returns v1 < v2 + ---Assumes two valid semver strings + ---@param v1 string + ---@param v2 string + ---@return boolean + local function semver_comp(v1, v2) + local v1_iterator = v1:gmatch('%d+') + local v2_iterator = v2:gmatch('%d+') + for v2_num_str in v2_iterator do + local v1_num_str = v1_iterator() + if not v1_num_str then return true end + local v1_num = tonumber(v1_num_str) + local v2_num = tonumber(v2_num_str) + if v1_num < v2_num then return true end + if v1_num > v2_num then return false end + end + return false + end + + local min_version = '4.6.0' + uosc_available = not semver_comp(version, min_version) + if not uosc_available then return end + uosc_set_format_counts() + mp.commandv( + 'script-message-to', + 'uosc', + 'overwrite-binding', + 'stream-quality', + 'script-binding ' .. script_name .. '/video_formats_toggle' + ) + ---@param name string + mp.register_script_message('uosc-menu-closed', function(name) + -- got closed from the uosc side + if open_menu_state and open_menu_state.name == name then + destructor = nil + menu_close() + end + end) +end) +mp.commandv('script-message-to', 'uosc', 'get-version', mp.get_script_name()) + +mp.observe_property('user-data/mpv/ytdl/json-subprocess-result', 'native', function(_, ytdl_result) + if not ytdl_result then + -- property gets deleted in on_after_end_file hook + return + end + + if not current_url then + osd_message('current_url is nil', 2) + msg.error('current_url is nil') + return + end + + local json = ytdl_result.stdout + + if ytdl_result.status ~= 0 or json == '' then + json = nil + osd_message('fetching formats failed...', 2) + elseif json then + ---@type Data | nil + local data = url_data[current_url] + if data == nil then + data = process_json_string(json) + url_data[current_url] = data + uosc_set_format_counts() + end + if not data then return end + if open_menu_state and open_menu_state == open_menu_state.to_fetching then + menu_open(open_menu_state) + end + end + +end) \ No newline at end of file diff --git a/scripts/simplehistory.lua b/scripts/simplehistory.lua new file mode 100644 index 0000000..43c5ffb --- /dev/null +++ b/scripts/simplehistory.lua @@ -0,0 +1,2328 @@ +-- Copyright (c) 2022, Eisa AlAwadhi +-- License: BSD 2-Clause License +-- Creator: Eisa AlAwadhi +-- Project: SimpleHistory +-- Version: 1.1.6 + +local o = { +---------------------------USER CUSTOMIZATION SETTINGS--------------------------- +--These settings are for users to manually change some options. +--Changes are recommended to be made in the script-opts directory. + + -----Script Settings---- + auto_run_list_idle = 'recents', --Auto run the list when opening mpv and there is no video / file loaded. 'none' for disabled. Or choose between: 'all', 'recents', 'distinct', 'protocols', 'fileonly', 'titleonly', 'timeonly', 'keywords'. + startup_idle_behavior = 'none', --The behavior when mpv launches and nothing is loaded. 'none' for disabled. 'resume' to automatically resume your last played item. 'resume-notime' to resume your last played item but starts from the beginning. + toggle_idlescreen = false, --hides OSC idle screen message when opening and closing menu (could cause unexpected behavior if multiple scripts are triggering osc-idlescreen off) + resume_offset = -0.65, --change to 0 so item resumes from the exact position, or decrease the value so that it gives you a little preview before loading the resume point + osd_messages = true, --true is for displaying osd messages when actions occur. Change to false will disable all osd messages generated from this script + resume_option = 'notification', --'none': for disabled. 'notification': a message to resume the previous reached time will be triggered. 'force': to forcefully resume last playback based on threshold + resume_option_threshold = 2, --0 to always trigger the resume option when the same video has been played previously, a value such as 5 will only trigger the resume option if the last played time starts after 5% of the video and ends before completion by 5% + mark_history_as_chapter = false, --true is for marking the time as a chapter. false disables mark as chapter behavior. + invert_history_blacklist = false, --true so that blacklist becomes a whitelist, resulting in stuff such as paths / websites that are added to history_blacklist to be saved into history + history_blacklist=[[ + [""] + ]], --Paths / URLs / Websites / Files / Protocols / Extensions, that wont be added to history automatically, e.g.: ["c:\\users\\eisa01\\desktop", "c:\\users\\eisa01\\desktop\\*", "c:\\temp\\naruto-01.mp4", "youtube.com", "https://dailymotion.com/", "avi", "https://www.youtube.com/watch?v=e8YBesRKq_U", ".jpeg", "magnet:", "https://", "ftp"] + history_resume_keybind=[[ + ["ctrl+r", "ctrl+R"] + ]], --Keybind that will be used to immediately load and resume last item when no video is playing. If video is playing it will resume to the last found position + history_load_last_keybind=[[ + ["alt+r", "alt+R"] + ]], --Keybind that will be used to immediately load the last item without resuming when no video is playing. If video is playing then it will add into playlist + open_list_keybind=[[ + [ ["h", "all"], ["H", "all"], ["r", "recents"], ["R", "recents"] ] + ]], --Keybind that will be used to open the list along with the specified filter. Available filters: 'all', 'recents', 'distinct', 'protocols', 'fileonly', 'titleonly', 'timeonly', 'keywords'. + list_filter_jump_keybind=[[ + [ ["h", "all"], ["H", "all"], ["r", "recents"], ["R", "recents"], ["d", "distinct"], ["D", "distinct"], ["f", "fileonly"], ["F", "fileonly"] ] + ]], --Keybind that is used while the list is open to jump to the specific filter (it also enables pressing a filter keybind twice to close list). Available fitlers: 'all', 'recents', 'distinct', 'protocols', 'fileonly', 'titleonly', 'timeonly', 'keywords'. + + -----Incognito Settings---- + auto_run_incognito_mode = false, --true to automatically start incognito mode when mpv launches, false disables this behavior + delete_incognito_entry = true, --true so that the file that had incognito mode triggered on gets removed from history automatically, false keeps the file in history that incognito mode triggered on + restore_incognito_entry = 'always', --'none' for disabled, 'deleted-restore' so that the the file that was removed when entering incognito automtically gets restored, 'always' so that exiting incognito_mode always immediately updates entry into history + history_incognito_mode_keybind=[[ + ["ctrl+H"] + ]], --Triggers incognito mode. When enabled files played wont be added to history until this mode is disabled. + + -----Logging Settings----- + log_path = '/:dir%mpvconf%', --Change to '/:dir%script%' for placing it in the same directory of script, OR change to '/:dir%mpvconf%' for mpv portable_config directory. OR write any variable using '/:var' then the variable '/:var%APPDATA%' you can use path also, such as: '/:var%APPDATA%\\mpv' OR '/:var%HOME%/mpv' OR specify the absolute path , e.g.: 'C:\\Users\\Eisa01\\Desktop\\' + log_file = 'mpvHistory.log', --name+extension of the file that will be used to store the log data + date_format = '%A/%B %d/%m/%Y %X', --Date format in the log (see lua date formatting), e.g.:'%d/%m/%y %X' or '%d/%b/%y %X' + file_title_logging = 'protocols', --Change between 'all', 'protocols', 'none'. This option will store the media title in log file, it is useful for websites / protocols because title cannot be parsed from links alone + logging_protocols=[[ + ["://", "magnet:"] + ]], --add above (after a comma) any protocol you want its title to be stored in the log file. This is valid only for (file_title_logging = 'protocols' or file_title_logging = 'all') + prefer_filename_over_title = 'local', --Prefers to log filename over filetitle. Select between 'local', 'protocols', 'all', and 'none'. 'local' prefer filenames for videos that are not protocols. 'protocols' will prefer filenames for protocols only. 'all' will prefer filename over filetitle for both protocols and not protocols videos. 'none' will always use filetitle instead of filename + same_entry_limit = 2, --Limit saving entries with same path: -1 for unlimited, 0 will always update entries of same path, e.g. value of 3 will have the limit of 3 then it will start updating old values on the 4th entry. + + -----List Settings----- + loop_through_list = false, --true is for going up on the first item loops towards the last item and vise-versa. false disables this behavior. + list_middle_loader = true, --false is for more items to show, then u must reach the end. true is for new items to show after reaching the middle of list. + show_paths = false, --Show file paths instead of media-title + show_item_number = true, --Show the number of each item before displaying its name and values. + slice_longfilenames = false, --Change to true or false. Slices long filenames per the amount specified below + slice_longfilenames_amount = 55, --Amount for slicing long filenames + list_show_amount = 10, --Change maximum number to show items at once + quickselect_0to9_keybind = true, --Keybind entries from 0 to 9 for quick selection when list is open (list_show_amount = 10 is maximum for this feature to work) + main_list_keybind_twice_exits = true, --Will exit the list when double tapping the main list, even if the list was accessed through a different filter. + search_not_typing_smartly = true, --To smartly set the search as not typing (when search box is open) without needing to press ctrl+enter. + search_behavior = 'any', --'specific' to find a match of either a date, title, path / url, time. 'any' to find any typed search based on combination of date, title, path / url, and time. 'any-notime' to find any typed search based on combination of date, title, and path / url, but without looking for time (this is to reduce unwanted results). + + -----Filter Settings------ + --available filters: "all" to display all the items. Or "recents" to display recently added items to log without duplicate. Or "distinct" to show recent saved entries for files in different paths. Or "fileonly" to display files saved without time. Or "timeonly" to display files that have time only. Or "keywords" to display files with matching keywords specified in the configuration. Or "playing" to show list of current playing file. + filters_and_sequence=[[ + ["all", "recents", "distinct", "protocols", "playing", "fileonly", "titleonly", "keywords"] + ]], --Jump to the following filters and in the shown sequence when navigating via left and right keys. You can change the sequence and delete filters that are not needed. + next_filter_sequence_keybind=[[ + ["RIGHT", "MBTN_FORWARD"] + ]], --Keybind that will be used to go to the next available filter based on the filters_and_sequence + previous_filter_sequence_keybind=[[ + ["LEFT", "MBTN_BACK"] + ]], --Keybind that will be used to go to the previous available filter based on the filters_and_sequence + loop_through_filters = true, --true is for bypassing the last filter to go to first filter when navigating through filters using arrow keys, and vice-versa. false disables this behavior. + keywords_filter_list=[[ + [""] + ]], --Create a filter out of your desired 'keywords', e.g.: youtube.com will filter out the videos from youtube. You can also insert a portion of filename or title, or extension or a full path / portion of a path. e.g.: ["youtube.com", "mp4", "naruto", "c:\\users\\eisa01\\desktop"] + + -----Sort Settings------ + --available sort: 'added-asc' is for the newest added item to show first. Or 'added-desc' for the newest added to show last. Or 'alphanum-asc' is for A to Z approach with filename and episode number lower first. Or 'alphanum-desc' is for its Z to A approach. Or 'time-asc', 'time-desc' to sort the list based on time. + list_default_sort = 'added-asc', --the default sorting method for all the different filters in the list. select between 'added-asc', 'added-desc', 'time-asc', 'time-desc', 'alphanum-asc', 'alphanum-desc' + list_filters_sort=[[ + [ ] + ]], --Default sort for specific filters, e.g.: [ ["all", "alphanum-asc"], ["playing", "added-desc"] ] + list_cycle_sort_keybind=[[ + ["alt+s", "alt+S"] + ]], --Keybind to cycle through the different available sorts when list is open + + -----List Design Settings----- + list_alignment = 7, --The alignment for the list, uses numpad positions choose from 1-9 or 0 to disable. e,g.:7 top left alignment, 8 top middle alignment, 9 top right alignment. + text_time_type = 'duration', --The time type for items on the list. Select between 'duration', 'length', 'remaining'. + time_seperator = ' 🕒 ', --Time seperator that will be used before the time + list_sliced_prefix = '...\\h\\N\\N', --The text that indicates there are more items above. \\N is for new line. \\h is for hard space. + list_sliced_suffix = '...', --The text that indicates there are more items below. + quickselect_0to9_pre_text = false, --true enables pre text for showing quickselect keybinds before the list. false to disable + text_color = 'ffffff', --Text color for list in BGR hexadecimal + text_scale = 50, --Font size for the text of list + text_border = 0.7, --Black border size for the text of list + text_cursor_color = 'ffbf7f', --Text color of current cursor position in BGR hexadecimal + text_cursor_scale = 50, --Font size for text of current cursor position in list + text_cursor_border = 0.7, --Black border size for text of current cursor position in list + text_highlight_pre_text = '✅ ', --Pre text for highlighted multi-select item + search_color_typing = 'ffffaa', --Search color when in typing mode + search_color_not_typing = '00bfff', --Search color when not in typing mode and it is active + header_color = '00bfff', --Header color in BGR hexadecimal + header_scale = 55, --Header text size for the list + header_border = 0.8, --Black border size for the Header of list + header_text = '⌛ History [%cursor%/%total%]%prehighlight%%highlight%%afterhighlight%%prelistduration%%listduration%%afterlistduration%%prefilter%%filter%%afterfilter%%presort%%sort%%aftersort%%presearch%%search%%aftersearch%', --Text to be shown as header for the list + --Available header variables: %cursor%, %total%, %highlight%, %filter%, %search%, %listduration%, %listlength%, %listremaining% + --User defined text that only displays if a variable is triggered: %prefilter%, %afterfilter%, %prehighlight%, %afterhighlight% %presearch%, %aftersearch%, %prelistduration%, %afterlistduration%, %prelistlength%, %afterlistlength%, %prelistremaining%, %afterlistremaining% + --Variables explanation: %cursor: displays the number of cursor position in list. %total: total amount of items in current list. %highlight%: total number of highlighted items. %filter: shows the filter name, %search: shows the typed search. Example of user defined text that only displays if a variable is triggered of user: %prefilter: user defined text before showing filter, %afterfilter: user defined text after showing filter. + header_sort_hide_text = 'added-asc',--Sort method that is hidden from header when using %sort% variable + header_sort_pre_text = ' \\{',--Text to be shown before sort in the header, when using %presort% + header_sort_after_text = '}',--Text to be shown after sort in the header, when using %aftersort% + header_filter_pre_text = ' [Filter: ', --Text to be shown before filter in the header, when using %prefilter% + header_filter_after_text = ']', --Text to be shown after filter in the header, when using %afterfilter% + header_search_pre_text = '\\h\\N\\N[Search=', --Text to be shown before search in the header, when using %presearch% + header_search_after_text = '..]', --Text to be shown after search in the header, when using %aftersearch% + header_highlight_pre_text = '✅', --Text to be shown before total highlighted items of displayed list in the header + header_highlight_after_text = '', --Text to be shown after total highlighted items of displayed list in the header + header_list_duration_pre_text = ' 🕒 ', --Text to be shown before playback total duration of displayed list in the header + header_list_duration_after_text = '', --Text to be shown after playback total duration of displayed list in the header + header_list_length_pre_text = ' 🕒 ', --Text to be shown before playback total duration of displayed list in the header + header_list_length_after_text = '', --Text to be shown after playback total duration of displayed list in the header + header_list_remaining_pre_text = ' 🕒 ', --Text to be shown before playback total duration of displayed list in the header + header_list_remaining_after_text = '', --Text to be shown after playback total duration of displayed list in the header + + -----Time Format Settings----- + --in the first parameter, you can define from the available styles: default, hms, hms-full, timestamp, timestamp-concise "default" to show in HH:MM:SS.sss format. "hms" to show in 1h 2m 3.4s format. "hms-full" is the same as hms but keeps the hours and minutes persistent when they are 0. "timestamp" to show the total time as timestamp 123456.700 format. "timestamp-concise" shows the total time in 123456.7 format (shows and hides decimals depending on availability). + --in the second parameter, you can define whether to show milliseconds, round them or truncate them. Available options: 'truncate' to remove the milliseconds and keep the seconds. 0 to remove the milliseconds and round the seconds. 1 or above is the amount of milliseconds to display. The default value is 3 milliseconds. + --in the third parameter you can define the seperator between hour:minute:second. "default" style is automatically set to ":", "hms", "hms-full" are automatically set to " ". You can define your own. Some examples: ["default", 3, "-"],["hms-full", 5, "."],["hms", "truncate", ":"],["timestamp-concise"],["timestamp", 0],["timestamp", "truncate"],["timestamp", 5] + osd_time_format=[[ + ["default", "truncate"] + ]], + list_time_format=[[ + ["default", "truncate"] + ]], + header_duration_time_format=[[ + ["hms", "truncate", ":"] + ]], + header_length_time_format=[[ + ["hms", "truncate", ":"] + ]], + header_remaining_time_format=[[ + ["hms", "truncate", ":"] + ]], + + -----List Keybind Settings----- + --Add below (after a comma) any additional keybind you want to bind. Or change the letter inside the quotes to change the keybind + --Example of changing and adding keybinds: --From ["b", "B"] To ["b"]. --From [""] to ["alt+b"]. --From [""] to ["a" "ctrl+a", "alt+a"] + list_move_up_keybind=[[ + ["UP", "WHEEL_UP"] + ]], --Keybind that will be used to navigate up on the list + list_move_down_keybind=[[ + ["DOWN", "WHEEL_DOWN"] + ]], --Keybind that will be used to navigate down on the list + list_page_up_keybind=[[ + ["PGUP"] + ]], --Keybind that will be used to go to the first item for the page shown on the list + list_page_down_keybind=[[ + ["PGDWN"] + ]], --Keybind that will be used to go to the last item for the page shown on the list + list_move_first_keybind=[[ + ["HOME"] + ]], --Keybind that will be used to navigate to the first item on the list + list_move_last_keybind=[[ + ["END"] + ]], --Keybind that will be used to navigate to the last item on the list + list_highlight_move_keybind=[[ + ["SHIFT"] + ]], --Keybind that will be used to highlight while pressing a navigational keybind, keep holding shift and then press any navigation keybind, such as: up, down, home, pgdwn, etc.. + list_highlight_all_keybind=[[ + ["ctrl+a", "ctrl+A"] + ]], --Keybind that will be used to highlight all displayed items on the list + list_unhighlight_all_keybind=[[ + ["ctrl+d", "ctrl+D"] + ]], --Keybind that will be used to remove all currently highlighted items from the list + list_select_keybind=[[ + ["ENTER", "MBTN_MID"] + ]], --Keybind that will be used to load entry based on cursor position + list_add_playlist_keybind=[[ + ["CTRL+ENTER"] + ]], --Keybind that will be used to add entry to playlist based on cursor position + list_add_playlist_highlighted_keybind=[[ + ["SHIFT+ENTER"] + ]], --Keybind that will be used to add all highlighted entries to playlist + list_close_keybind=[[ + ["ESC", "MBTN_RIGHT"] + ]], --Keybind that will be used to close the list (closes search first if it is open) + list_delete_keybind=[[ + ["DEL"] + ]], --Keybind that will be used to delete the entry based on cursor position + list_delete_highlighted_keybind=[[ + ["SHIFT+DEL"] + ]], --Keybind that will be used to delete all highlighted entries from the list + list_search_activate_keybind=[[ + ["ctrl+f", "ctrl+F"] + ]], --Keybind that will be used to trigger search + list_search_not_typing_mode_keybind=[[ + ["ALT+ENTER"] + ]], --Keybind that will be used to exit typing mode of search while keeping search open + list_ignored_keybind=[[ + ["B", "b", "k", "K", "c", "C"] + ]], --Keybind thats are ignored when list is open + +---------------------------END OF USER CUSTOMIZATION SETTINGS--------------------------- +} + +(require 'mp.options').read_options(o) +local utils = require 'mp.utils' +local msg = require 'mp.msg' + +o.history_blacklist = utils.parse_json(o.history_blacklist) +o.history_incognito_mode_keybind = utils.parse_json(o.history_incognito_mode_keybind) +o.filters_and_sequence = utils.parse_json(o.filters_and_sequence) +o.keywords_filter_list = utils.parse_json(o.keywords_filter_list) +o.list_filters_sort = utils.parse_json(o.list_filters_sort) +o.logging_protocols = utils.parse_json(o.logging_protocols) +o.history_resume_keybind = utils.parse_json(o.history_resume_keybind) +o.history_load_last_keybind = utils.parse_json(o.history_load_last_keybind) +o.osd_time_format = utils.parse_json(o.osd_time_format) +o.list_time_format = utils.parse_json(o.list_time_format) +o.header_duration_time_format = utils.parse_json(o.header_duration_time_format) +o.header_length_time_format = utils.parse_json(o.header_length_time_format) +o.header_remaining_time_format = utils.parse_json(o.header_remaining_time_format) +o.list_move_up_keybind = utils.parse_json(o.list_move_up_keybind) +o.list_move_down_keybind = utils.parse_json(o.list_move_down_keybind) +o.list_page_up_keybind = utils.parse_json(o.list_page_up_keybind) +o.list_page_down_keybind = utils.parse_json(o.list_page_down_keybind) +o.list_move_first_keybind = utils.parse_json(o.list_move_first_keybind) +o.list_move_last_keybind = utils.parse_json(o.list_move_last_keybind) +o.list_highlight_move_keybind = utils.parse_json(o.list_highlight_move_keybind) +o.list_highlight_all_keybind = utils.parse_json(o.list_highlight_all_keybind) +o.list_unhighlight_all_keybind = utils.parse_json(o.list_unhighlight_all_keybind) +o.list_cycle_sort_keybind = utils.parse_json(o.list_cycle_sort_keybind) +o.list_select_keybind = utils.parse_json(o.list_select_keybind) +o.list_add_playlist_keybind = utils.parse_json(o.list_add_playlist_keybind) +o.list_add_playlist_highlighted_keybind = utils.parse_json(o.list_add_playlist_highlighted_keybind) +o.list_close_keybind = utils.parse_json(o.list_close_keybind) +o.list_delete_keybind = utils.parse_json(o.list_delete_keybind) +o.list_delete_highlighted_keybind = utils.parse_json(o.list_delete_highlighted_keybind) +o.list_search_activate_keybind = utils.parse_json(o.list_search_activate_keybind) +o.list_search_not_typing_mode_keybind = utils.parse_json(o.list_search_not_typing_mode_keybind) +o.next_filter_sequence_keybind = utils.parse_json(o.next_filter_sequence_keybind) +o.previous_filter_sequence_keybind = utils.parse_json(o.previous_filter_sequence_keybind) +o.open_list_keybind = utils.parse_json(o.open_list_keybind) +o.list_filter_jump_keybind = utils.parse_json(o.list_filter_jump_keybind) +o.list_ignored_keybind = utils.parse_json(o.list_ignored_keybind) + +local is_windows = package.config:sub(1, 1) == "\\" -- detect path separator, windows uses backslashes + +if utils.shared_script_property_set then + utils.shared_script_property_set('simplehistory-menu-open', 'no') +end +mp.set_property('user-data/simplehistory/menu-open', 'no') + +if o.log_path:match('^/:dir%%mpvconf%%') then + o.log_path = o.log_path:gsub('/:dir%%mpvconf%%', mp.find_config_file('.')) +elseif o.log_path:match('^/:dir%%script%%') then + o.log_path = o.log_path:gsub('/:dir%%script%%', mp.find_config_file('scripts')) +elseif o.log_path:match('^/:var%%(.*)%%') then + local os_variable = o.log_path:match('/:var%%(.*)%%') + o.log_path = o.log_path:gsub('/:var%%(.*)%%', os.getenv(os_variable)) +end +local log_fullpath = utils.join_path(o.log_path, o.log_file) + +--create log_path if it doesn't exist +local log_path = utils.split_path(log_fullpath) +if utils.readdir(log_path) == nil then + local is_windows = package.config:sub(1, 1) == "\\" + local windows_args = { 'powershell', '-NoProfile', '-Command', 'mkdir', string.format("\"%s\"", log_path) } + local unix_args = { 'mkdir', '-p', log_path } + local args = is_windows and windows_args or unix_args + local res = mp.command_native({name = "subprocess", capture_stdout = true, playback_only = false, args = args}) + if res.status ~= 0 then + msg.error("Failed to create log_path save directory "..log_path..". Error: "..(res.error or "unknown")) + return + end +end + +local log_length_text = 'length=' +local log_time_text = 'time=' +local protocols = {'https?:', 'magnet:', 'rtmps?:', 'smb:', 'ftps?:', 'sftp:'} +local available_filters = {'all', 'recents', 'distinct', 'playing', 'protocols', 'fileonly', 'titleonly', 'timeonly', 'keywords'} +local available_sorts = {'added-asc', 'added-desc', 'time-asc', 'time-desc', 'alphanum-asc', 'alphanum-desc'} +local search_string = '' +local search_active = false + +local incognito_mode = false +local autosaved_entry = false +local incognito_auto_run_triggered = false + +local loadTriggered = false --1.1.5# to identify if load is triggered atleast once for idle option +local resume_selected = false +local list_contents = {} +local list_start = 0 +local list_cursor = 1 +local list_highlight_cursor = {} +local list_drawn = false +local list_pages = {} +local filePath, fileTitle, fileLength +local seekTime = 0 +local logTime = 0 --1.3# use logTime since seekTime is used in multiple places +local filterName = 'all' +local sortName +local normalize_path = nil + +function starts_protocol(tab, val) + for index, element in ipairs(tab) do + if string.find(val, element) then + return true + end + end + return false +end + +function contain_value(tab, val) + if not tab then return msg.error('check value passed') end + if not val then return msg.error('check value passed') end + + for index, value in ipairs(tab) do + if value.match(string.lower(val), string.lower(value)) then + return true + end + end + + return false +end + +function has_value(tab, val, array2d) + if not tab then return msg.error('check value passed') end + if not val then return msg.error('check value passed') end + if not array2d then + for index, value in ipairs(tab) do + if string.lower(value) == string.lower(val) then + return true + end + end + end + if array2d then + for i=1, #tab do + if tab[i] and string.lower(tab[i][array2d]) == string.lower(val) then + return true + end + end + end + + return false +end + +function file_exists(name) + local f = io.open(name, "r") + if f ~= nil then io.close(f) return true else return false end +end + +function format_time(seconds, sep, decimals, style) + local function divmod (a, b) + return math.floor(a / b), a % b + end + decimals = decimals == nil and 3 or decimals + + local s = seconds + local h, s = divmod(s, 60*60) + local m, s = divmod(s, 60) + + if decimals == 'truncate' then + s = math.floor(s) + decimals = 0 + if style == 'timestamp' then + seconds = math.floor(seconds) + end + end + + if not style or style == '' or style == 'default' then + local second_format = string.format("%%0%d.%df", 2+(decimals > 0 and decimals+1 or 0), decimals) + sep = sep and sep or ":" + return string.format("%02d"..sep.."%02d"..sep..second_format, h, m, s) + elseif style == 'hms' or style == 'hms-full' then + sep = sep ~= nil and sep or " " + if style == 'hms-full' or h > 0 then + return string.format("%dh"..sep.."%dm"..sep.."%." .. tostring(decimals) .. "fs", h, m, s) + elseif m > 0 then + return string.format("%dm"..sep.."%." .. tostring(decimals) .. "fs", m, s) + else + return string.format("%." .. tostring(decimals) .. "fs", s) + end + elseif style == 'timestamp' then + return string.format("%." .. tostring(decimals) .. "f", seconds) + elseif style == 'timestamp-concise' then + return seconds + end +end + +function normalize(path) + if normalize_path ~= nil then + if normalize_path then + path = mp.command_native({"normalize-path", path}) + else + local directory = mp.get_property("working-directory", "") + path = utils.join_path(directory, path:gsub('^%.[\\/]','')) + if is_windows then path = path:gsub("\\", "/") end + end + return path + end + + normalize_path = false + + local commands = mp.get_property_native("command-list", {}) + for _, command in ipairs(commands) do + if command.name == "normalize-path" then + normalize_path = true + break + end + end + return normalize(path) +end + +function get_file() + function hex_to_char(x) + return string.char(tonumber(x, 16)) + end + + local path = mp.get_property('path') + if not path then return end + if path:match("bd://") or path:match("dvd://") or path:match("dvb://") or path:match("cdda://") then return end + if not path:match('^%a[%a%d-_]+://') then path = normalize(path) end + + local length = (mp.get_property_number('duration') or 0) + + local title = mp.get_property('media-title'):gsub("\"", "") + + + if starts_protocol(o.logging_protocols, path) and o.prefer_filename_over_title == 'protocols' then + title = mp.get_property('filename'):gsub("\"", "") + elseif not starts_protocol(o.logging_protocols, path) and o.prefer_filename_over_title == 'local' then + title = mp.get_property('filename'):gsub("\"", "") + elseif o.prefer_filename_over_title == 'all' then + title = mp.get_property('filename'):gsub("\"", "") + end + + title = title:gsub('%%(%x%x)', hex_to_char) + return path, title, length +end + +function bind_keys(keys, name, func, opts) + if not keys then + mp.add_forced_key_binding(keys, name, func, opts) + return + end + + for i = 1, #keys do + if i == 1 then + mp.add_forced_key_binding(keys[i], name, func, opts) + else + mp.add_forced_key_binding(keys[i], name .. i, func, opts) + end + end +end + +function unbind_keys(keys, name) + if not keys then + mp.remove_key_binding(name) + return + end + + for i = 1, #keys do + if i == 1 then + mp.remove_key_binding(name) + else + mp.remove_key_binding(name .. i) + end + end +end + +function esc_string(str) + return str:gsub("([%p])", "%%%1") +end + +---------Start of LogManager--------- +--LogManager (Read and Format the List from Log)-- +function read_log(func) + local f = io.open(log_fullpath, "r") + if not f then return end + local contents = {} + for line in f:lines() do + table.insert(contents, (func(line))) + end + f:close() + return contents +end + +function read_log_table() + local line_pos = 0 + return read_log(function(line) + local tt, p, t, s, d, n, e, l, dt, ln, r + if line:match('^.-\"(.-)\"') then + tt = line:match('^.-\"(.-)\"') + n, p = line:match('^.-\"(.-)\" | (.*) | ' .. esc_string(log_length_text) .. '(.*)') + else + p = line:match('[(.*)%]]%s(.*) | ' .. esc_string(log_length_text) .. '(.*)') + d, n, e = p:match('^(.-)([^\\/]-)%.([^\\/%.]-)%.?$') + end + dt = line:match('%[(.-)%]') + t = line:match(' | ' .. esc_string(log_time_text) .. '(%d*%.?%d*)(.*)$') + ln = line:match(' | ' .. esc_string(log_length_text) .. '(%d*%.?%d*)(.*)$') + r = tonumber(ln) - tonumber(t) + l = line + line_pos = line_pos + 1 + return {found_path = p, found_time = t, found_name = n, found_title = tt, found_line = l, found_sequence = line_pos, found_directory = d, found_datetime = dt, found_length = ln, found_remaining = r} + end) +end + +function list_sort(tab, sort) + if sort == 'added-asc' then + table.sort(tab, function(a, b) return a['found_sequence'] < b['found_sequence'] end) + elseif sort == 'added-desc' then + table.sort(tab, function(a, b) return a['found_sequence'] > b['found_sequence'] end) + elseif sort == 'time-asc' then + table.sort(tab, function(a, b) return tonumber(a['found_time']) > tonumber(b['found_time']) end) + elseif sort == 'time-desc' then + table.sort(tab, function(a, b) return tonumber(a['found_time']) < tonumber(b['found_time']) end) + elseif sort == 'alphanum-asc' or sort == 'alphanum-desc' then + local function padnum(d) local dec, n = string.match(d, "(%.?)0*(.+)") + return #dec > 0 and ("%.12f"):format(d) or ("%s%03d%s"):format(dec, #n, n) end + if sort == 'alphanum-asc' then + table.sort(tab, function(a, b) return tostring(a['found_path']):lower():gsub("%.?%d+", padnum) .. ("%3d"):format(#b) > tostring(b['found_path']):lower():gsub("%.?%d+", padnum) .. ("%3d"):format(#a) end) + elseif sort == 'alphanum-desc' then + table.sort(tab, function(a, b) return tostring(a['found_path']):lower():gsub("%.?%d+", padnum) .. ("%3d"):format(#b) < tostring(b['found_path']):lower():gsub("%.?%d+", padnum) .. ("%3d"):format(#a) end) + end + end + + return tab +end + +function parse_header(string) + local osd_header_color = string.format("{\\1c&H%s}", o.header_color) + local osd_search_color = osd_header_color + if search_active == 'typing' then + osd_search_color = string.format("{\\1c&H%s}", o.search_color_typing) + elseif search_active == 'not_typing' then + osd_search_color = string.format("{\\1c&H%s}", o.search_color_not_typing) + end + local osd_msg_end = "{\\1c&HFFFFFF}" + + string = string:gsub("%%total%%", #list_contents) + :gsub("%%cursor%%", list_cursor) + + if filterName ~= 'all' then + string = string:gsub("%%filter%%", filterName) + :gsub("%%prefilter%%", o.header_filter_pre_text) + :gsub("%%afterfilter%%", o.header_filter_after_text) + else + string = string:gsub("%%filter%%", '') + :gsub("%%prefilter%%", '') + :gsub("%%afterfilter%%", '') + end + + local list_total_duration = 0 + if string:match('%listduration%%') then + list_total_duration = get_total_duration('found_time') + if list_total_duration > 0 then + string = string:gsub("%%listduration%%", format_time(list_total_duration, o.header_duration_time_format[3], o.header_duration_time_format[2], o.header_duration_time_format[1])) + else + string = string:gsub("%%listduration%%", '') + end + end + if list_total_duration > 0 then + string = string:gsub("%%prelistduration%%", o.header_list_duration_pre_text) + :gsub("%%afterlistduration%%", o.header_list_duration_after_text) + else + string = string:gsub("%%prelistduration%%", '') + :gsub("%%afterlistduration%%", '') + end + + local list_total_length = 0 + if string:match('%listlength%%') then + list_total_length = get_total_duration('found_length') + if list_total_length > 0 then + string = string:gsub("%%listlength%%", format_time(list_total_length, o.header_length_time_format[3], o.header_length_time_format[2], o.header_length_time_format[1])) + else + string = string:gsub("%%listlength%%", '') + end + end + if list_total_length > 0 then + string = string:gsub("%%prelistlength%%", o.header_list_length_pre_text) + :gsub("%%afterlistlength%%", o.header_list_length_after_text) + else + string = string:gsub("%%prelistlength%%", '') + :gsub("%%afterlistlength%%", '') + end + + local list_total_remaining = 0 + if string:match('%listremaining%%') then + list_total_remaining = get_total_duration('found_remaining') + if list_total_remaining > 0 then + string = string:gsub("%%listremaining%%", format_time(list_total_remaining, o.header_remaining_time_format[3], o.header_remaining_time_format[2], o.header_remaining_time_format[1])) + else + string = string:gsub("%%listremaining%%", '') + end + end + if list_total_remaining > 0 then + string = string:gsub("%%prelistremaining%%", o.header_list_remaining_pre_text) + :gsub("%%afterlistremaining%%", o.header_list_remaining_after_text) + else + string = string:gsub("%%prelistremaining%%", '') + :gsub("%%afterlistremaining%%", '') + end + + if #list_highlight_cursor > 0 then + string = string:gsub("%%highlight%%", #list_highlight_cursor) + :gsub("%%prehighlight%%", o.header_highlight_pre_text) + :gsub("%%afterhighlight%%", o.header_highlight_after_text) + else + string = string:gsub("%%highlight%%", '') + :gsub("%%prehighlight%%", '') + :gsub("%%afterhighlight%%", '') + end + + if sortName and sortName ~= o.header_sort_hide_text then + string = string:gsub("%%sort%%", sortName) + :gsub("%%presort%%", o.header_sort_pre_text) + :gsub("%%aftersort%%", o.header_sort_after_text) + else + string = string:gsub("%%sort%%", '') + :gsub("%%presort%%", '') + :gsub("%%aftersort%%", '') + end + + if search_active then + local search_string_osd = search_string + if search_string_osd ~= '' then + search_string_osd = search_string:gsub('%%', '%%%%%%%%'):gsub('\\', '\\​'):gsub('{', '\\{') + end + + string = string:gsub("%%search%%", osd_search_color..search_string_osd..osd_header_color) + :gsub("%%presearch%%", o.header_search_pre_text) + :gsub("%%aftersearch%%", o.header_search_after_text) + else + string = string:gsub("%%search%%", '') + :gsub("%%presearch%%", '') + :gsub("%%aftersearch%%", '') + end + string = string:gsub("%%%%", "%%") + return string +end + +function get_list_contents(filter, sort) + if not filter then filter = filterName end + if not sort then sort = get_list_sort(filter) end + + local current_sort + + local filtered_table = {} + + local prev_list_contents + if list_contents ~= nil and list_contents[1] then + prev_list_contents = list_contents + else + prev_list_contents = read_log_table() + end + + list_contents = read_log_table() + if not list_contents and not search_active or not list_contents[1] and not search_active then return end + current_sort = 'added-asc' + + if filter == 'recents' then + table.sort(list_contents, function(a, b) return a['found_sequence'] < b['found_sequence'] end) + local unique_values = {} + local list_total = #list_contents + + if filePath == list_contents[#list_contents].found_path and tonumber(list_contents[#list_contents].found_time) == 0 then + list_total = list_total -1 + end + + for i = list_total, 1, -1 do + if not has_value(unique_values, list_contents[i].found_path) then + table.insert(unique_values, list_contents[i].found_path) + table.insert(filtered_table, list_contents[i]) + end + end + table.sort(filtered_table, function(a, b) return a['found_sequence'] < b['found_sequence'] end) + + list_contents = filtered_table + + end + + if filter == 'distinct' then + table.sort(list_contents, function(a, b) return a['found_sequence'] < b['found_sequence'] end) + local unique_values = {} + local list_total = #list_contents + + if filePath == list_contents[#list_contents].found_path and tonumber(list_contents[#list_contents].found_time) == 0 then + list_total = list_total -1 + end + + for i = list_total, 1, -1 do + if list_contents[i].found_directory and not has_value(unique_values, list_contents[i].found_directory) and not starts_protocol(protocols, list_contents[i].found_path) then + table.insert(unique_values, list_contents[i].found_directory) + table.insert(filtered_table, list_contents[i]) + end + end + table.sort(filtered_table, function(a, b) return a['found_sequence'] < b['found_sequence'] end) + + list_contents = filtered_table + end + + if filter == 'fileonly' then + for i = 1, #list_contents do + if tonumber(list_contents[i].found_time) == 0 then + table.insert(filtered_table, list_contents[i]) + end + end + + list_contents = filtered_table + end + + if filter == 'timeonly' then + for i = 1, #list_contents do + if tonumber(list_contents[i].found_time) > 0 then + table.insert(filtered_table, list_contents[i]) + end + end + + list_contents = filtered_table + end + + if filter == 'titleonly' then + for i = 1, #list_contents do + if list_contents[i].found_title then + table.insert(filtered_table, list_contents[i]) + end + end + + list_contents = filtered_table + end + + if filter == 'protocols' then + for i = 1, #list_contents do + if starts_protocol(o.logging_protocols, list_contents[i].found_path) then + table.insert(filtered_table, list_contents[i]) + end + end + + list_contents = filtered_table + end + + if filter == 'keywords' then + for i = 1, #list_contents do + if contain_value(o.keywords_filter_list, list_contents[i].found_line) then + table.insert(filtered_table, list_contents[i]) + end + end + + list_contents = filtered_table + end + + if filter == 'playing' then + for i = 1, #list_contents do + if list_contents[i].found_path == filePath then + table.insert(filtered_table, list_contents[i]) + end + end + + list_contents = filtered_table + end + + if search_active and search_string ~= '' then + local filtered_table = {} + + local search_query = '' + for search in search_string:gmatch("[^%s]+") do + search_query = search_query..'.-'..esc_string(search) + end + + local contents_string = '' + for i = 1, #list_contents do + + if o.search_behavior == 'specific' then + if string.lower(list_contents[i].found_path):match(string.lower(search_query)) then + table.insert(filtered_table, list_contents[i]) + elseif list_contents[i].found_title and string.lower(list_contents[i].found_title):match(string.lower(search_query)) then + table.insert(filtered_table, list_contents[i]) + elseif tonumber(list_contents[i].found_time) > 0 and format_time(list_contents[i].found_time, o.osd_time_format[3], o.osd_time_format[2], o.osd_time_format[1]):match(search_query) then + table.insert(filtered_table, list_contents[i]) + elseif string.lower(list_contents[i].found_datetime):match(string.lower(search_query)) then + table.insert(filtered_table, list_contents[i]) + end + elseif o.search_behavior == 'any' then + contents_string = list_contents[i].found_datetime..(list_contents[i].found_title or '')..list_contents[i].found_path + if tonumber(list_contents[i].found_time) > 0 then + contents_string = contents_string..format_time(list_contents[i].found_time, o.osd_time_format[3], o.osd_time_format[2], o.osd_time_format[1]) + end + elseif o.search_behavior == 'any-notime' then + contents_string = list_contents[i].found_datetime..(list_contents[i].found_title or '')..list_contents[i].found_path + end + + if string.lower(contents_string):match(string.lower(search_query)) then + table.insert(filtered_table, list_contents[i]) + end + end + + list_contents = filtered_table + + end + + if sort ~= current_sort then + list_sort(list_contents, sort) + end + + if not list_contents and not search_active or not list_contents[1] and not search_active then return end +end + +function get_list_sort(filter) + if not filter then filter = filterName end + + local sort + for i=1, #o.list_filters_sort do + if o.list_filters_sort[i][1] == filter then + if has_value(available_sorts, o.list_filters_sort[i][2]) then sort = o.list_filters_sort[i][2] end + break + end + end + + if not sort and has_value(available_sorts, o.list_default_sort) then sort = o.list_default_sort end + + if not sort then sort = 'added-asc' end + + return sort +end + +function draw_list() + local osd_msg = '' + local osd_index = '' + local osd_key = '' + local osd_color = '' + local key = 0 + local osd_text = string.format("{\\an%f{\\fscx%f}{\\fscy%f}{\\bord%f}{\\1c&H%s}", o.list_alignment, o.text_scale, o.text_scale, o.text_border, o.text_color) + local osd_cursor = string.format("{\\an%f}{\\fscx%f}{\\fscy%f}{\\bord%f}{\\1c&H%s}", o.list_alignment, o.text_cursor_scale, o.text_cursor_scale, o.text_cursor_border, o.text_cursor_color) + local osd_header = string.format("{\\an%f}{\\fscx%f}{\\fscy%f}{\\bord%f}{\\1c&H%s}", o.list_alignment, o.header_scale, o.header_scale, o.header_border, o.header_color) + local osd_msg_end = "{\\1c&HFFFFFF}" + local osd_time_type = 'found_time' + + if o.text_time_type == 'length' then + osd_time_type = 'found_length' + elseif o.text_time_type == 'remaining' then + osd_time_type = 'found_remaining' + end + + if o.header_text ~= '' then + osd_msg = osd_msg .. osd_header .. parse_header(o.header_text) + osd_msg = osd_msg .. "\\h\\N\\N" .. osd_msg_end + end + + if search_active and not list_contents[1] then + osd_msg = osd_msg .. 'No search results found' .. osd_msg_end + end + + if o.list_middle_loader then + list_start = list_cursor - math.floor(o.list_show_amount / 2) + else + list_start = list_cursor - o.list_show_amount + end + + local showall = false + local showrest = false + if list_start < 0 then list_start = 0 end + if #list_contents <= o.list_show_amount then + list_start = 0 + showall = true + end + if list_start > math.max(#list_contents - o.list_show_amount - 1, 0) then + list_start = #list_contents - o.list_show_amount + showrest = true + end + if list_start > 0 and not showall then + osd_msg = osd_msg .. o.list_sliced_prefix .. osd_msg_end + end + for i = list_start, list_start + o.list_show_amount - 1, 1 do + if i == #list_contents then break end + + if o.show_paths then + p = list_contents[#list_contents - i].found_path or list_contents[#list_contents - i].found_name or "" + else + p = list_contents[#list_contents - i].found_name or list_contents[#list_contents - i].found_path or "" + end + + if o.slice_longfilenames and p:len() > o.slice_longfilenames_amount then + p = p:sub(1, o.slice_longfilenames_amount) .. "..." + end + + if o.quickselect_0to9_keybind and o.list_show_amount <= 10 and o.quickselect_0to9_pre_text then + key = 1 + key + if key == 10 then key = 0 end + osd_key = '(' .. key .. ') ' + end + + if o.show_item_number then + osd_index = (i + 1) .. '. ' + end + + if i + 1 == list_cursor then + osd_color = osd_cursor + else + osd_color = osd_text + end + + for j = 1, #list_highlight_cursor do + if list_highlight_cursor[j] and list_highlight_cursor[j][1] == i+1 then + osd_msg = osd_msg..osd_color..esc_string(o.text_highlight_pre_text) + end + end + + -- example in the mpv source suggests this escape method for set_osd_ass: + -- https://github.com/mpv-player/mpv/blob/94677723624fb84756e65c8f1377956667244bc9/player/lua/stats.lua#L145 + p = p:gsub('\\', '\\\239\187\191') + :gsub("{", "\\{") + :gsub("^ ", "\\h") + osd_msg = osd_msg .. osd_color .. osd_key .. osd_index .. p + + if list_contents[#list_contents - i][osd_time_type] and tonumber(list_contents[#list_contents - i][osd_time_type]) > 0 then + osd_msg = osd_msg .. o.time_seperator .. format_time(list_contents[#list_contents - i][osd_time_type], o.list_time_format[3], o.list_time_format[2], o.list_time_format[1]) + end + + osd_msg = osd_msg .. '\\h\\N\\N' .. osd_msg_end + + if i == list_start + o.list_show_amount - 1 and not showall and not showrest then + osd_msg = osd_msg .. o.list_sliced_suffix + end + + end + mp.set_osd_ass(0, 0, osd_msg) +end + +function list_empty_error_msg() + if list_contents ~= nil and list_contents[1] then return end + local msg_text + if filterName ~= 'all' then + msg_text = filterName .. " filter in History Empty" + else + msg_text = "History Empty" + end + msg.info(msg_text) + if o.osd_messages == true and not list_drawn then + mp.osd_message(msg_text) + end +end + +function display_list(filter, sort, action) + if not filter or not has_value(available_filters, filter) then filter = 'all' end + if not sortName then sortName = get_list_sort(filter) end + + local prev_sort = sortName + if not has_value(available_sorts, prev_sort) then prev_sort = get_list_sort() end + + if not sort then sort = get_list_sort(filter) end + sortName = sort + + local prev_filter = filterName + filterName = filter + + get_list_contents(filter, sort) + + if action ~= 'hide-osd' then + if not list_contents or not list_contents[1] then + list_empty_error_msg() + filterName = prev_filter + get_list_contents(filterName) + return + end + end + if not list_contents and not search_active or not list_contents[1] and not search_active then return end + + if not has_value(o.filters_and_sequence, filter) then + table.insert(o.filters_and_sequence, filter) + end + + local insert_new = false + + local trigger_close_list = false + local trigger_initial_list = false + + + if not list_pages or not list_pages[1] then + table.insert(list_pages, {filter, 1, 1, {}, sort}) + else + for i = 1, #list_pages do + if list_pages[i][1] == filter then + list_pages[i][3] = list_pages[i][3]+1 + insert_new = false + break + else + insert_new = true + end + end + end + + if insert_new then table.insert(list_pages, {filter, 1, 1, {}, sort}) end + + for i = 1, #list_pages do + if not search_active and list_pages[i][1] == prev_filter then + list_pages[i][2] = list_cursor + list_pages[i][4] = list_highlight_cursor + list_pages[i][5] = prev_sort + end + if list_pages[i][1] ~= filter then + list_pages[i][3] = 0 + end + if list_pages[i][3] == 2 and filter == 'all' and o.main_list_keybind_twice_exits then + trigger_close_list = true + elseif list_pages[i][3] == 2 and list_pages[1][1] == filter then + trigger_close_list = true + elseif list_pages[i][3] == 2 then + trigger_initial_list = true + end + end + + if trigger_initial_list then + display_list(list_pages[1][1], nil, 'hide-osd') + return + end + + if trigger_close_list then + list_close_and_trash_collection() + return + end + + if not search_active then get_page_properties(filter) else update_search_results('','') end + draw_list() + if utils.shared_script_property_set then + utils.shared_script_property_set('simplehistory-menu-open', 'yes') + end + mp.set_property('user-data/simplehistory/menu-open', 'yes') + if o.toggle_idlescreen then mp.commandv('script-message', 'osc-idlescreen', 'no', 'no_osd') end --1.1.6# fix osc-idlescreen (value was yes for some reason) + list_drawn = true + if not search_active then get_list_keybinds() end +end + +--End of LogManager (Read and Format the List from Log)-- + +--LogManager Navigation-- +function select(pos, action) + if not search_active then + if not list_contents or not list_contents[1] then + list_close_and_trash_collection() + return + end + end + + local list_cursor_temp = list_cursor + pos + if list_cursor_temp > 0 and list_cursor_temp <= #list_contents then + list_cursor = list_cursor_temp + + if action == 'highlight' then + if not has_value(list_highlight_cursor, list_cursor, 1) then + if pos > -1 then + for i = pos, 1, -1 do + if not has_value(list_highlight_cursor, list_cursor-i, 1) then + table.insert(list_highlight_cursor, {list_cursor-i, list_contents[#list_contents+1+i - list_cursor]}) + end + end + else + for i = pos, -1, 1 do + if not has_value(list_highlight_cursor, list_cursor-i, 1) then + table.insert(list_highlight_cursor, {list_cursor-i, list_contents[#list_contents+1+i - list_cursor]}) + end + end + end + table.insert(list_highlight_cursor, {list_cursor, list_contents[#list_contents+1 - list_cursor]}) + else + for i=1, #list_highlight_cursor do + if list_highlight_cursor[i] and list_highlight_cursor[i][1] == list_cursor then + table.remove(list_highlight_cursor, i) + end + end + if pos > -1 then + for i=1, #list_highlight_cursor do + for j = pos, 1, -1 do + if list_highlight_cursor[i] and list_highlight_cursor[i][1] == list_cursor-j then + table.remove(list_highlight_cursor, i) + end + end + end + else + for i=#list_highlight_cursor, 1, -1 do + for j = pos, -1, 1 do + if list_highlight_cursor[i] and list_highlight_cursor[i][1] == list_cursor-j then + table.remove(list_highlight_cursor, i) + end + end + end + end + end + end + end + + if o.loop_through_list then + if list_cursor_temp > #list_contents then + list_cursor = 1 + elseif list_cursor_temp < 1 then + list_cursor = #list_contents + end + end + + draw_list() +end + +function list_move_up(action) + select(-1, action) + + if search_active and o.search_not_typing_smartly then + list_search_not_typing_mode(true) + end +end + +function list_move_down(action) + select(1, action) + + if search_active and o.search_not_typing_smartly then + list_search_not_typing_mode(true) + end +end + +function list_move_first(action) + select(1 - list_cursor, action) + + if search_active and o.search_not_typing_smartly then + list_search_not_typing_mode(true) + end +end + +function list_move_last(action) + select(#list_contents - list_cursor, action) + + if search_active and o.search_not_typing_smartly then + list_search_not_typing_mode(true) + end +end + +function list_page_up(action) + select(list_start + 1 - list_cursor, action) + + if search_active and o.search_not_typing_smartly then + list_search_not_typing_mode(true) + end +end + +function list_page_down(action) + if o.list_middle_loader then + if #list_contents < o.list_show_amount then + select(#list_contents - list_cursor, action) + else + select(o.list_show_amount + list_start - list_cursor, action) + end + else + if o.list_show_amount > list_cursor then + select(o.list_show_amount - list_cursor, action) + elseif #list_contents - list_cursor >= o.list_show_amount then + select(o.list_show_amount, action) + else + select(#list_contents - list_cursor, action) + end + end + + if search_active and o.search_not_typing_smartly then + list_search_not_typing_mode(true) + end +end + +function list_highlight_all() + get_list_contents(filterName) + if not list_contents or not list_contents[1] then return end + + if #list_highlight_cursor < #list_contents then + for i=1, #list_contents do + if not has_value(list_highlight_cursor, i, 1) then + table.insert(list_highlight_cursor, {i, list_contents[#list_contents+1-i]}) + end + end + select(0) + else + list_unhighlight_all() + end +end + +function list_unhighlight_all() + if not list_highlight_cursor or not list_highlight_cursor[1] then return end + list_highlight_cursor = {} + select(0) +end +--End of LogManager Navigation-- + +--LogManager Actions-- +function load(list_cursor, add_playlist, target_time) + if not list_contents or not list_contents[1] then return end + if not target_time then + seekTime = tonumber(list_contents[#list_contents - list_cursor + 1].found_time) + o.resume_offset + if (seekTime < 0) then + seekTime = 0 + end + else + seekTime = target_time + end + if file_exists(list_contents[#list_contents - list_cursor + 1].found_path) or starts_protocol(protocols, list_contents[#list_contents - list_cursor + 1].found_path) then + if not add_playlist then + if filePath ~= list_contents[#list_contents - list_cursor + 1].found_path then + mp.commandv('loadfile', list_contents[#list_contents - list_cursor + 1].found_path) + resume_selected = true + else + mp.commandv('seek', seekTime, 'absolute', 'exact') + list_close_and_trash_collection() + end + if o.osd_messages == true then + mp.osd_message('Loaded:\n' .. list_contents[#list_contents - list_cursor + 1].found_name.. o.time_seperator .. format_time(seekTime, o.osd_time_format[3], o.osd_time_format[2], o.osd_time_format[1])) + end + msg.info('Loaded the below file:\n' .. list_contents[#list_contents - list_cursor + 1].found_name .. ' | '.. format_time(seekTime)) + else + mp.commandv('loadfile', list_contents[#list_contents - list_cursor + 1].found_path, 'append-play') + if o.osd_messages == true then + mp.osd_message('Added into Playlist:\n'..list_contents[#list_contents - list_cursor + 1].found_name..' ') + end + msg.info('Added the below file into playlist:\n' .. list_contents[#list_contents - list_cursor + 1].found_path) + end + else + if o.osd_messages == true then + mp.osd_message('File Doesn\'t Exist:\n' .. list_contents[#list_contents - list_cursor + 1].found_path) + end + msg.info('The file below doesn\'t seem to exist:\n' .. list_contents[#list_contents - list_cursor + 1].found_path) + return + end +end + +function list_select() + load(list_cursor) +end + +function list_add_playlist(action) + if not action then + load(list_cursor, true) + elseif action == 'highlight' then + if not list_highlight_cursor or not list_highlight_cursor[1] then return end + local file_ignored_total = 0 + + for i=1, #list_highlight_cursor do + if file_exists(list_highlight_cursor[i][2].found_path) or starts_protocol(protocols, list_highlight_cursor[i][2].found_path) then + mp.commandv("loadfile", list_highlight_cursor[i][2].found_path, "append-play") + else + msg.warn('The below file was not added into playlist as it does not seem to exist:\n' .. list_highlight_cursor[i][2].found_path) + file_ignored_total = file_ignored_total + 1 + end + end + if o.osd_messages == true then + if file_ignored_total > 0 then + mp.osd_message('Added into Playlist '..#list_highlight_cursor - file_ignored_total..' Item/s\nIgnored '..file_ignored_total.. " Item/s That Do Not Exist") + else + mp.osd_message('Added into Playlist '..#list_highlight_cursor - file_ignored_total..' Item/s') + end + end + if file_ignored_total > 0 then + msg.warn('Ignored a total of '..file_ignored_total.. " Item/s that does not seem to exist") + end + msg.info('Added into playlist a total of '..#list_highlight_cursor - file_ignored_total..' item/s') + end +end + +function delete_log_entry_specific(target_index, target_path, target_time) + local trigger_delete = false + list_contents = read_log_table() + if not list_contents or not list_contents[1] then return end + if target_index == 'last' then target_index = #list_contents end + if not target_index then return end + + if target_index and target_path and target_time then + if list_contents[target_index].found_path == target_path and tonumber(list_contents[target_index].found_time) == target_time then + table.remove(list_contents, target_index) + trigger_delete = true + end + elseif target_index and target_path and not target_time then + if list_contents[target_index].found_path == target_path then + table.remove(list_contents, target_index) + trigger_delete = true + end + elseif target_index and target_time and not target_path then + if tonumber(list_contents[target_index].found_time) == target_time then + table.remove(list_contents, target_index) + trigger_delete = true + end + elseif target_index and not target_path and not target_time then + table.remove(list_contents, target_index) + trigger_delete = true + end + + if not trigger_delete then return end + local f = io.open(log_fullpath, "w+") + if list_contents ~= nil and list_contents[1] then + for i = 1, #list_contents do + f:write(("%s\n"):format(list_contents[i].found_line)) + end + end + f:close() +end + +function delete_log_entry(multiple, round, target_path, target_time, entry_limit) + if not target_path then target_path = filePath end + if not target_time then target_time = seekTime end + list_contents = read_log_table() + if not list_contents or not list_contents[1] then return end + local trigger_delete = false + + if not multiple then + for i = #list_contents, 1, -1 do + if not round then + if list_contents[i].found_path == target_path and tonumber(list_contents[i].found_time) == target_time then + table.remove(list_contents, i) + trigger_delete = true + break + end + else + if list_contents[i].found_path == target_path and math.floor(tonumber(list_contents[i].found_time)) == target_time then + table.remove(list_contents, i) + trigger_delete = true + break + end + end + end + else + for i = #list_contents, 1, -1 do + if not round then + if list_contents[i].found_path == target_path and tonumber(list_contents[i].found_time) == target_time then + table.remove(list_contents, i) + trigger_delete = true + end + else + if list_contents[i].found_path == target_path and math.floor(tonumber(list_contents[i].found_time)) == target_time then + table.remove(list_contents, i) + trigger_delete = true + end + end + end + end + + if entry_limit and entry_limit > -1 then + local entries_found = 0 + for i = #list_contents, 1, -1 do + if list_contents[i].found_path == target_path and entries_found < entry_limit then + entries_found = entries_found + 1 + elseif list_contents[i].found_path == target_path and entries_found >= entry_limit then + table.remove(list_contents,i) + trigger_delete = true + end + end + end + + if not trigger_delete then return end + local f = io.open(log_fullpath, "w+") + if list_contents ~= nil and list_contents[1] then + for i = 1, #list_contents do + f:write(("%s\n"):format(list_contents[i].found_line)) + end + end + f:close() +end + +function delete_log_entry_highlighted() + if not list_highlight_cursor or not list_highlight_cursor[1] then return end + list_contents = read_log_table() + if not list_contents or not list_contents[1] then return end + + local list_contents_length = #list_contents + + for i = 1, list_contents_length do + for j=1, #list_highlight_cursor do + if list_contents[list_contents_length+1-i] then + if list_contents[list_contents_length+1-i].found_sequence == list_highlight_cursor[j][2].found_sequence then + table.remove(list_contents, list_contents_length+1-i) + end + end + end + end + + msg.info("Deleted "..#list_highlight_cursor.." Item/s") + + list_unhighlight_all() + + local f = io.open(log_fullpath, "w+") + if list_contents ~= nil and list_contents[1] then + for i = 1, #list_contents do + f:write(("%s\n"):format(list_contents[i].found_line)) + end + end + f:close() + +end + +function delete_selected() + filePath = list_contents[#list_contents - list_cursor + 1].found_path + fileTitle = list_contents[#list_contents - list_cursor + 1].found_name + seekTime = tonumber(list_contents[#list_contents - list_cursor + 1].found_time) + if not filePath and not seekTime then + msg.info("Failed to delete") + return + end + delete_log_entry() + msg.info("Deleted \"" .. filePath .. "\" | " .. format_time(seekTime)) + filePath, fileTitle, fileLength = get_file() +end + +function list_delete(action) + if not action then + delete_selected() + elseif action == 'highlight' then + delete_log_entry_highlighted() + end + get_list_contents() + if not list_contents or not list_contents[1] then + list_close_and_trash_collection() + return + end + if list_cursor < #list_contents + 1 then + select(0) + else + list_move_last() + end +end + +function get_total_duration(action) + if not list_contents or not list_contents[1] then return 0 end + local list_total_duration = 0 + if action == 'found_time' or action == 'found_length' or action == 'found_remaining' then + for i = #list_contents, 1, -1 do + if tonumber(list_contents[i][action]) > 0 then + list_total_duration = list_total_duration + list_contents[i][action] + end + end + end + return list_total_duration +end + +function list_cycle_sort() + local next_sort + for i = 1, #available_sorts do + if sortName == available_sorts[i] then + if i == #available_sorts then + next_sort = available_sorts[1] + break + else + next_sort = available_sorts[i+1] + break + end + end + end + if not next_sort then return end + get_list_contents(filterName, next_sort) + sortName = next_sort + update_list_highlist_cursor() + select(0) +end + +function update_list_highlist_cursor() + if not list_highlight_cursor or not list_highlight_cursor[1] then return end + + local temp_list_highlight_cursor = {} + for i = 1, #list_contents do + for j=1, #list_highlight_cursor do + if list_contents[#list_contents+1-i].found_sequence == list_highlight_cursor[j][2].found_sequence then + table.insert(temp_list_highlight_cursor, {i, list_highlight_cursor[j][2]}) + end + end + end + + list_highlight_cursor = temp_list_highlight_cursor +end + +--End of LogManager Actions-- + +--LogManager Filter Functions-- +function get_page_properties(filter) + if not filter then return end + for i=1, #list_pages do + if list_pages[i][1] == filter then + list_cursor = list_pages[i][2] + list_highlight_cursor = list_pages[i][4] + sortName = list_pages[i][5] + end + end + if list_cursor > #list_contents then + list_move_last() + end +end + +function select_filter_sequence(pos) + if not list_drawn then return end + local curr_pos + local target_pos + + for i = 1, #o.filters_and_sequence do + if filterName == o.filters_and_sequence[i] then + curr_pos = i + end + end + + if curr_pos and pos > -1 then + for i = curr_pos, #o.filters_and_sequence do + if o.filters_and_sequence[i + pos] then + get_list_contents(o.filters_and_sequence[i + pos]) + if list_contents ~= nil and list_contents[1] then + target_pos = i + pos + break + end + end + end + elseif curr_pos and pos < 0 then + for i = curr_pos, 0, -1 do + if o.filters_and_sequence[i + pos] then + get_list_contents(o.filters_and_sequence[i + pos]) + if list_contents ~= nil and list_contents[1] then + target_pos = i + pos + break + end + end + end + end + + if o.loop_through_filters then + if not target_pos and pos > -1 or target_pos and target_pos > #o.filters_and_sequence then + for i = 1, #o.filters_and_sequence do + get_list_contents(o.filters_and_sequence[i]) + if list_contents ~= nil and list_contents[1] then + target_pos = i + break + end + end + end + if not target_pos and pos < 0 or target_pos and target_pos < 1 then + for i = #o.filters_and_sequence, 1, -1 do + get_list_contents(o.filters_and_sequence[i]) + if list_contents ~= nil and list_contents[1] then + target_pos = i + break + end + end + end + end + + if o.filters_and_sequence[target_pos] then + display_list(o.filters_and_sequence[target_pos], nil, 'hide-osd') + end +end + +function list_filter_next() + select_filter_sequence(1) +end +function list_filter_previous() + select_filter_sequence(-1) +end +--End of LogManager Filter Functions-- + +--LogManager (List Bind and Unbind)-- +function get_list_keybinds() + bind_keys(o.list_ignored_keybind, 'ignore') + bind_keys(o.list_move_up_keybind, 'move-up', list_move_up, 'repeatable') + bind_keys(o.list_move_down_keybind, 'move-down', list_move_down, 'repeatable') + bind_keys(o.list_move_first_keybind, 'move-first', list_move_first, 'repeatable') + bind_keys(o.list_move_last_keybind, 'move-last', list_move_last, 'repeatable') + bind_keys(o.list_page_up_keybind, 'page-up', list_page_up, 'repeatable') + bind_keys(o.list_page_down_keybind, 'page-down', list_page_down, 'repeatable') + bind_keys(o.list_select_keybind, 'list-select', list_select) + bind_keys(o.list_add_playlist_keybind, 'list-add-playlist', list_add_playlist) + bind_keys(o.list_add_playlist_highlighted_keybind, 'list-add-playlist-highlight', function()list_add_playlist('highlight')end) + bind_keys(o.list_delete_keybind, 'list-delete', list_delete) + bind_keys(o.list_delete_highlighted_keybind, 'list-delete-highlight', function()list_delete('highlight')end) + bind_keys(o.next_filter_sequence_keybind, 'list-filter-next', list_filter_next) + bind_keys(o.previous_filter_sequence_keybind, 'list-filter-previous', list_filter_previous) + bind_keys(o.list_search_activate_keybind, 'list-search-activate', list_search_activate) + bind_keys(o.list_highlight_all_keybind, 'list-highlight-all', list_highlight_all) + bind_keys(o.list_unhighlight_all_keybind, 'list-unhighlight-all', list_unhighlight_all) + bind_keys(o.list_cycle_sort_keybind, 'list-cycle-sort', list_cycle_sort) + + for i = 1, #o.list_highlight_move_keybind do + for j = 1, #o.list_move_up_keybind do + mp.add_forced_key_binding(o.list_highlight_move_keybind[i]..'+'..o.list_move_up_keybind[j], 'highlight-move-up'..j, function()list_move_up('highlight') end, 'repeatable') + end + for j = 1, #o.list_move_down_keybind do + mp.add_forced_key_binding(o.list_highlight_move_keybind[i]..'+'..o.list_move_down_keybind[j], 'highlight-move-down'..j, function()list_move_down('highlight') end, 'repeatable') + end + for j = 1, #o.list_move_first_keybind do + mp.add_forced_key_binding(o.list_highlight_move_keybind[i]..'+'..o.list_move_first_keybind[j], 'highlight-move-first'..j, function()list_move_first('highlight') end, 'repeatable') + end + for j = 1, #o.list_move_last_keybind do + mp.add_forced_key_binding(o.list_highlight_move_keybind[i]..'+'..o.list_move_last_keybind[j], 'highlight-move-last'..j, function()list_move_last('highlight') end, 'repeatable') + end + for j = 1, #o.list_page_up_keybind do + mp.add_forced_key_binding(o.list_highlight_move_keybind[i]..'+'..o.list_page_up_keybind[j], 'highlight-page-up'..j, function()list_page_up('highlight') end, 'repeatable') + end + for j = 1, #o.list_page_down_keybind do + mp.add_forced_key_binding(o.list_highlight_move_keybind[i]..'+'..o.list_page_down_keybind[j], 'highlight-page-down'..j, function()list_page_down('highlight') end, 'repeatable') + end + end + + if not search_active then + bind_keys(o.list_close_keybind, 'list-close', list_close_and_trash_collection) + end + + for i = 1, #o.list_filter_jump_keybind do + mp.add_forced_key_binding(o.list_filter_jump_keybind[i][1], 'list-filter-jump'..i, function()display_list(o.list_filter_jump_keybind[i][2]) end) + end + + for i = 1, #o.open_list_keybind do + if i == 1 then + mp.remove_key_binding('open-list') + else + mp.remove_key_binding('open-list'..i) + end + end + + if o.quickselect_0to9_keybind and o.list_show_amount <= 10 then + mp.add_forced_key_binding("1", "recent-1", function()load(list_start + 1) end) + mp.add_forced_key_binding("2", "recent-2", function()load(list_start + 2) end) + mp.add_forced_key_binding("3", "recent-3", function()load(list_start + 3) end) + mp.add_forced_key_binding("4", "recent-4", function()load(list_start + 4) end) + mp.add_forced_key_binding("5", "recent-5", function()load(list_start + 5) end) + mp.add_forced_key_binding("6", "recent-6", function()load(list_start + 6) end) + mp.add_forced_key_binding("7", "recent-7", function()load(list_start + 7) end) + mp.add_forced_key_binding("8", "recent-8", function()load(list_start + 8) end) + mp.add_forced_key_binding("9", "recent-9", function()load(list_start + 9) end) + mp.add_forced_key_binding("0", "recent-0", function()load(list_start + 10) end) + end +end + +function unbind_list_keys() + unbind_keys(o.list_ignored_keybind, 'ignore') + unbind_keys(o.list_move_up_keybind, 'move-up') + unbind_keys(o.list_move_down_keybind, 'move-down') + unbind_keys(o.list_move_first_keybind, 'move-first') + unbind_keys(o.list_move_last_keybind, 'move-last') + unbind_keys(o.list_page_up_keybind, 'page-up') + unbind_keys(o.list_page_down_keybind, 'page-down') + unbind_keys(o.list_select_keybind, 'list-select') + unbind_keys(o.list_add_playlist_keybind, 'list-add-playlist') + unbind_keys(o.list_add_playlist_highlighted_keybind, 'list-add-playlist-highlight') + unbind_keys(o.list_delete_keybind, 'list-delete') + unbind_keys(o.list_delete_highlighted_keybind, 'list-delete-highlight') + unbind_keys(o.list_close_keybind, 'list-close') + unbind_keys(o.next_filter_sequence_keybind, 'list-filter-next') + unbind_keys(o.previous_filter_sequence_keybind, 'list-filter-previous') + unbind_keys(o.list_highlight_all_keybind, 'list-highlight-all') + unbind_keys(o.list_highlight_all_keybind, 'list-unhighlight-all') + unbind_keys(o.list_cycle_sort_keybind, 'list-cycle-sort') + + for i = 1, #o.list_move_up_keybind do + mp.remove_key_binding('highlight-move-up'..i) + end + for i = 1, #o.list_move_down_keybind do + mp.remove_key_binding('highlight-move-down'..i) + end + for i = 1, #o.list_move_first_keybind do + mp.remove_key_binding('highlight-move-first'..i) + end + for i = 1, #o.list_move_last_keybind do + mp.remove_key_binding('highlight-move-last'..i) + end + for i = 1, #o.list_page_up_keybind do + mp.remove_key_binding('highlight-page-up'..i) + end + for i = 1, #o.list_page_down_keybind do + mp.remove_key_binding('highlight-page-down'..i) + end + + for i = 1, #o.list_filter_jump_keybind do + mp.remove_key_binding('list-filter-jump'..i) + end + + for i = 1, #o.open_list_keybind do + if i == 1 then + mp.add_forced_key_binding(o.open_list_keybind[i][1], 'open-list', function()display_list(o.open_list_keybind[i][2]) end) + else + mp.add_forced_key_binding(o.open_list_keybind[i][1], 'open-list'..i, function()display_list(o.open_list_keybind[i][2]) end) + end + end + + if o.quickselect_0to9_keybind and o.list_show_amount <= 10 then + mp.remove_key_binding("recent-1") + mp.remove_key_binding("recent-2") + mp.remove_key_binding("recent-3") + mp.remove_key_binding("recent-4") + mp.remove_key_binding("recent-5") + mp.remove_key_binding("recent-6") + mp.remove_key_binding("recent-7") + mp.remove_key_binding("recent-8") + mp.remove_key_binding("recent-9") + mp.remove_key_binding("recent-0") + end +end + +function list_close_and_trash_collection() + if utils.shared_script_property_set then + utils.shared_script_property_set('simplehistory-menu-open', 'no') + end + mp.set_property('user-data/simplehistory/menu-open', 'no') + if o.toggle_idlescreen then mp.commandv('script-message', 'osc-idlescreen', 'yes', 'no_osd') end + unbind_list_keys() + unbind_search_keys() + mp.set_osd_ass(0, 0, "") + list_drawn = false + list_cursor = 1 + list_start = 0 + filterName = 'all' + list_pages = {} + search_string = '' + search_active = false + list_highlight_cursor = {} + sortName = nil +end +--End of LogManager (List Bind and Unbind)-- + +--LogManager Search Feature-- +function list_search_exit() + search_active = false + get_list_contents(filterName) + get_page_properties(filterName) + select(0) + unbind_search_keys() + get_list_keybinds() +end + +function list_search_not_typing_mode(auto_triggered) + if auto_triggered then + if search_string ~= '' and list_contents[1] then + search_active = 'not_typing' + elseif not list_contents[1] then + return + else + search_active = false + end + else + if search_string ~= '' then + search_active = 'not_typing' + else + search_active = false + end + end + select(0) + unbind_search_keys() + get_list_keybinds() +end + +function list_search_activate() + if not list_drawn then return end + if search_active == 'typing' then list_search_exit() return end + search_active = 'typing' + + for i = 1, #list_pages do + if list_pages[i][1] == filterName then + list_pages[i][2] = list_cursor + list_pages[i][4] = list_highlight_cursor + list_pages[i][5] = sortName + end + end + + update_search_results('','') + bind_search_keys() +end + +function update_search_results(character, action) + if not character then character = '' end + if action == 'string_del' then + search_string = search_string:sub(1, -2) + end + search_string = search_string..character + local prev_contents_length = #list_contents + get_list_contents(filterName) + + if prev_contents_length ~= #list_contents then + list_highlight_cursor = {} + end + + if character ~= '' and #list_contents > 0 or action ~= nil and #list_contents > 0 then + select(1-list_cursor) + elseif #list_contents == 0 then + list_cursor = 0 + select(list_cursor) + else + select(0) + end +end + +function bind_search_keys() + mp.add_forced_key_binding('a', 'search_string_a', function() update_search_results('a') end, 'repeatable') + mp.add_forced_key_binding('b', 'search_string_b', function() update_search_results('b') end, 'repeatable') + mp.add_forced_key_binding('c', 'search_string_c', function() update_search_results('c') end, 'repeatable') + mp.add_forced_key_binding('d', 'search_string_d', function() update_search_results('d') end, 'repeatable') + mp.add_forced_key_binding('e', 'search_string_e', function() update_search_results('e') end, 'repeatable') + mp.add_forced_key_binding('f', 'search_string_f', function() update_search_results('f') end, 'repeatable') + mp.add_forced_key_binding('g', 'search_string_g', function() update_search_results('g') end, 'repeatable') + mp.add_forced_key_binding('h', 'search_string_h', function() update_search_results('h') end, 'repeatable') + mp.add_forced_key_binding('i', 'search_string_i', function() update_search_results('i') end, 'repeatable') + mp.add_forced_key_binding('j', 'search_string_j', function() update_search_results('j') end, 'repeatable') + mp.add_forced_key_binding('k', 'search_string_k', function() update_search_results('k') end, 'repeatable') + mp.add_forced_key_binding('l', 'search_string_l', function() update_search_results('l') end, 'repeatable') + mp.add_forced_key_binding('m', 'search_string_m', function() update_search_results('m') end, 'repeatable') + mp.add_forced_key_binding('n', 'search_string_n', function() update_search_results('n') end, 'repeatable') + mp.add_forced_key_binding('o', 'search_string_o', function() update_search_results('o') end, 'repeatable') + mp.add_forced_key_binding('p', 'search_string_p', function() update_search_results('p') end, 'repeatable') + mp.add_forced_key_binding('q', 'search_string_q', function() update_search_results('q') end, 'repeatable') + mp.add_forced_key_binding('r', 'search_string_r', function() update_search_results('r') end, 'repeatable') + mp.add_forced_key_binding('s', 'search_string_s', function() update_search_results('s') end, 'repeatable') + mp.add_forced_key_binding('t', 'search_string_t', function() update_search_results('t') end, 'repeatable') + mp.add_forced_key_binding('u', 'search_string_u', function() update_search_results('u') end, 'repeatable') + mp.add_forced_key_binding('v', 'search_string_v', function() update_search_results('v') end, 'repeatable') + mp.add_forced_key_binding('w', 'search_string_w', function() update_search_results('w') end, 'repeatable') + mp.add_forced_key_binding('x', 'search_string_x', function() update_search_results('x') end, 'repeatable') + mp.add_forced_key_binding('y', 'search_string_y', function() update_search_results('y') end, 'repeatable') + mp.add_forced_key_binding('z', 'search_string_z', function() update_search_results('z') end, 'repeatable') + + mp.add_forced_key_binding('A', 'search_string_A', function() update_search_results('A') end, 'repeatable') + mp.add_forced_key_binding('B', 'search_string_B', function() update_search_results('B') end, 'repeatable') + mp.add_forced_key_binding('C', 'search_string_C', function() update_search_results('C') end, 'repeatable') + mp.add_forced_key_binding('D', 'search_string_D', function() update_search_results('D') end, 'repeatable') + mp.add_forced_key_binding('E', 'search_string_E', function() update_search_results('E') end, 'repeatable') + mp.add_forced_key_binding('F', 'search_string_F', function() update_search_results('F') end, 'repeatable') + mp.add_forced_key_binding('G', 'search_string_G', function() update_search_results('G') end, 'repeatable') + mp.add_forced_key_binding('H', 'search_string_H', function() update_search_results('H') end, 'repeatable') + mp.add_forced_key_binding('I', 'search_string_I', function() update_search_results('I') end, 'repeatable') + mp.add_forced_key_binding('J', 'search_string_J', function() update_search_results('J') end, 'repeatable') + mp.add_forced_key_binding('K', 'search_string_K', function() update_search_results('K') end, 'repeatable') + mp.add_forced_key_binding('L', 'search_string_L', function() update_search_results('L') end, 'repeatable') + mp.add_forced_key_binding('M', 'search_string_M', function() update_search_results('M') end, 'repeatable') + mp.add_forced_key_binding('N', 'search_string_N', function() update_search_results('N') end, 'repeatable') + mp.add_forced_key_binding('O', 'search_string_O', function() update_search_results('O') end, 'repeatable') + mp.add_forced_key_binding('P', 'search_string_P', function() update_search_results('P') end, 'repeatable') + mp.add_forced_key_binding('Q', 'search_string_Q', function() update_search_results('Q') end, 'repeatable') + mp.add_forced_key_binding('R', 'search_string_R', function() update_search_results('R') end, 'repeatable') + mp.add_forced_key_binding('S', 'search_string_S', function() update_search_results('S') end, 'repeatable') + mp.add_forced_key_binding('T', 'search_string_T', function() update_search_results('T') end, 'repeatable') + mp.add_forced_key_binding('U', 'search_string_U', function() update_search_results('U') end, 'repeatable') + mp.add_forced_key_binding('V', 'search_string_V', function() update_search_results('V') end, 'repeatable') + mp.add_forced_key_binding('W', 'search_string_W', function() update_search_results('W') end, 'repeatable') + mp.add_forced_key_binding('X', 'search_string_X', function() update_search_results('X') end, 'repeatable') + mp.add_forced_key_binding('Y', 'search_string_Y', function() update_search_results('Y') end, 'repeatable') + mp.add_forced_key_binding('Z', 'search_string_Z', function() update_search_results('Z') end, 'repeatable') + + mp.add_forced_key_binding('1', 'search_string_1', function() update_search_results('1') end, 'repeatable') + mp.add_forced_key_binding('2', 'search_string_2', function() update_search_results('2') end, 'repeatable') + mp.add_forced_key_binding('3', 'search_string_3', function() update_search_results('3') end, 'repeatable') + mp.add_forced_key_binding('4', 'search_string_4', function() update_search_results('4') end, 'repeatable') + mp.add_forced_key_binding('5', 'search_string_5', function() update_search_results('5') end, 'repeatable') + mp.add_forced_key_binding('6', 'search_string_6', function() update_search_results('6') end, 'repeatable') + mp.add_forced_key_binding('7', 'search_string_7', function() update_search_results('7') end, 'repeatable') + mp.add_forced_key_binding('8', 'search_string_8', function() update_search_results('8') end, 'repeatable') + mp.add_forced_key_binding('9', 'search_string_9', function() update_search_results('9') end, 'repeatable') + mp.add_forced_key_binding('0', 'search_string_0', function() update_search_results('0') end, 'repeatable') + + mp.add_forced_key_binding('SPACE', 'search_string_space', function() update_search_results(' ') end, 'repeatable') + mp.add_forced_key_binding('`', 'search_string_`', function() update_search_results('`') end, 'repeatable') + mp.add_forced_key_binding('~', 'search_string_~', function() update_search_results('~') end, 'repeatable') + mp.add_forced_key_binding('!', 'search_string_!', function() update_search_results('!') end, 'repeatable') + mp.add_forced_key_binding('@', 'search_string_@', function() update_search_results('@') end, 'repeatable') + mp.add_forced_key_binding('SHARP', 'search_string_sharp', function() update_search_results('#') end, 'repeatable') + mp.add_forced_key_binding('$', 'search_string_$', function() update_search_results('$') end, 'repeatable') + mp.add_forced_key_binding('%', 'search_string_percentage', function() update_search_results('%') end, 'repeatable') + mp.add_forced_key_binding('^', 'search_string_^', function() update_search_results('^') end, 'repeatable') + mp.add_forced_key_binding('&', 'search_string_&', function() update_search_results('&') end, 'repeatable') + mp.add_forced_key_binding('*', 'search_string_*', function() update_search_results('*') end, 'repeatable') + mp.add_forced_key_binding('(', 'search_string_(', function() update_search_results('(') end, 'repeatable') + mp.add_forced_key_binding(')', 'search_string_)', function() update_search_results(')') end, 'repeatable') + mp.add_forced_key_binding('-', 'search_string_-', function() update_search_results('-') end, 'repeatable') + mp.add_forced_key_binding('_', 'search_string__', function() update_search_results('_') end, 'repeatable') + mp.add_forced_key_binding('=', 'search_string_=', function() update_search_results('=') end, 'repeatable') + mp.add_forced_key_binding('+', 'search_string_+', function() update_search_results('+') end, 'repeatable') + mp.add_forced_key_binding('\\', 'search_string_\\', function() update_search_results('\\') end, 'repeatable') + mp.add_forced_key_binding('|', 'search_string_|', function() update_search_results('|') end, 'repeatable') + mp.add_forced_key_binding(']', 'search_string_]', function() update_search_results(']') end, 'repeatable') + mp.add_forced_key_binding('}', 'search_string_rightcurly', function() update_search_results('}') end, 'repeatable') + mp.add_forced_key_binding('[', 'search_string_[', function() update_search_results('[') end, 'repeatable') + mp.add_forced_key_binding('{', 'search_string_leftcurly', function() update_search_results('{') end, 'repeatable') + mp.add_forced_key_binding('\'', 'search_string_\'', function() update_search_results('\'') end, 'repeatable') + mp.add_forced_key_binding('\"', 'search_string_\"', function() update_search_results('\"') end, 'repeatable') + mp.add_forced_key_binding(';', 'search_string_semicolon', function() update_search_results(';') end, 'repeatable') + mp.add_forced_key_binding(':', 'search_string_:', function() update_search_results(':') end, 'repeatable') + mp.add_forced_key_binding('/', 'search_string_/', function() update_search_results('/') end, 'repeatable') + mp.add_forced_key_binding('?', 'search_string_?', function() update_search_results('?') end, 'repeatable') + mp.add_forced_key_binding('.', 'search_string_.', function() update_search_results('.') end, 'repeatable') + mp.add_forced_key_binding('>', 'search_string_>', function() update_search_results('>') end, 'repeatable') + mp.add_forced_key_binding(',', 'search_string_,', function() update_search_results(',') end, 'repeatable') + mp.add_forced_key_binding('<', 'search_string_<', function() update_search_results('<') end, 'repeatable') + + mp.add_forced_key_binding('bs', 'search_string_del', function() update_search_results('', 'string_del') end, 'repeatable') + bind_keys(o.list_close_keybind, 'search_exit', function() list_search_exit() end) + bind_keys(o.list_search_not_typing_mode_keybind, 'search_string_not_typing', function()list_search_not_typing_mode(false) end) + + if o.search_not_typing_smartly then + bind_keys(o.next_filter_sequence_keybind, 'list-filter-next', function() list_filter_next() list_search_not_typing_mode(true) end) + bind_keys(o.previous_filter_sequence_keybind, 'list-filter-previous', function() list_filter_previous() list_search_not_typing_mode(true) end) + bind_keys(o.list_delete_keybind, 'list-delete', function() list_delete() list_search_not_typing_mode(true) end) + bind_keys(o.list_delete_highlighted_keybind, 'list-delete-highlight', function() list_delete('highlight') list_search_not_typing_mode(true) end) + end +end + +function unbind_search_keys() + mp.remove_key_binding('search_string_a') + mp.remove_key_binding('search_string_b') + mp.remove_key_binding('search_string_c') + mp.remove_key_binding('search_string_d') + mp.remove_key_binding('search_string_e') + mp.remove_key_binding('search_string_f') + mp.remove_key_binding('search_string_g') + mp.remove_key_binding('search_string_h') + mp.remove_key_binding('search_string_i') + mp.remove_key_binding('search_string_j') + mp.remove_key_binding('search_string_k') + mp.remove_key_binding('search_string_l') + mp.remove_key_binding('search_string_m') + mp.remove_key_binding('search_string_n') + mp.remove_key_binding('search_string_o') + mp.remove_key_binding('search_string_p') + mp.remove_key_binding('search_string_q') + mp.remove_key_binding('search_string_r') + mp.remove_key_binding('search_string_s') + mp.remove_key_binding('search_string_t') + mp.remove_key_binding('search_string_u') + mp.remove_key_binding('search_string_v') + mp.remove_key_binding('search_string_w') + mp.remove_key_binding('search_string_x') + mp.remove_key_binding('search_string_y') + mp.remove_key_binding('search_string_z') + + mp.remove_key_binding('search_string_A') + mp.remove_key_binding('search_string_B') + mp.remove_key_binding('search_string_C') + mp.remove_key_binding('search_string_D') + mp.remove_key_binding('search_string_E') + mp.remove_key_binding('search_string_F') + mp.remove_key_binding('search_string_G') + mp.remove_key_binding('search_string_H') + mp.remove_key_binding('search_string_I') + mp.remove_key_binding('search_string_J') + mp.remove_key_binding('search_string_K') + mp.remove_key_binding('search_string_L') + mp.remove_key_binding('search_string_M') + mp.remove_key_binding('search_string_N') + mp.remove_key_binding('search_string_O') + mp.remove_key_binding('search_string_P') + mp.remove_key_binding('search_string_Q') + mp.remove_key_binding('search_string_R') + mp.remove_key_binding('search_string_S') + mp.remove_key_binding('search_string_T') + mp.remove_key_binding('search_string_U') + mp.remove_key_binding('search_string_V') + mp.remove_key_binding('search_string_W') + mp.remove_key_binding('search_string_X') + mp.remove_key_binding('search_string_Y') + mp.remove_key_binding('search_string_Z') + + mp.remove_key_binding('search_string_1') + mp.remove_key_binding('search_string_2') + mp.remove_key_binding('search_string_3') + mp.remove_key_binding('search_string_4') + mp.remove_key_binding('search_string_5') + mp.remove_key_binding('search_string_6') + mp.remove_key_binding('search_string_7') + mp.remove_key_binding('search_string_8') + mp.remove_key_binding('search_string_9') + mp.remove_key_binding('search_string_0') + + mp.remove_key_binding('search_string_space') + mp.remove_key_binding('search_string_`') + mp.remove_key_binding('search_string_~') + mp.remove_key_binding('search_string_!') + mp.remove_key_binding('search_string_@') + mp.remove_key_binding('search_string_sharp') + mp.remove_key_binding('search_string_$') + mp.remove_key_binding('search_string_percentage') + mp.remove_key_binding('search_string_^') + mp.remove_key_binding('search_string_&') + mp.remove_key_binding('search_string_*') + mp.remove_key_binding('search_string_(') + mp.remove_key_binding('search_string_)') + mp.remove_key_binding('search_string_-') + mp.remove_key_binding('search_string__') + mp.remove_key_binding('search_string_=') + mp.remove_key_binding('search_string_+') + mp.remove_key_binding('search_string_\\') + mp.remove_key_binding('search_string_|') + mp.remove_key_binding('search_string_]') + mp.remove_key_binding('search_string_rightcurly') + mp.remove_key_binding('search_string_[') + mp.remove_key_binding('search_string_leftcurly') + mp.remove_key_binding('search_string_\'') + mp.remove_key_binding('search_string_\"') + mp.remove_key_binding('search_string_semicolon') + mp.remove_key_binding('search_string_:') + mp.remove_key_binding('search_string_/') + mp.remove_key_binding('search_string_?') + mp.remove_key_binding('search_string_.') + mp.remove_key_binding('search_string_>') + mp.remove_key_binding('search_string_,') + mp.remove_key_binding('search_string_<') + + mp.remove_key_binding('search_string_del') + if not search_active then + unbind_keys(o.list_close_keybind, 'search_exit') + end +end +--End of LogManager Search Feature-- +---------End of LogManager--------- + +function history_blacklist_check() + if not o.history_blacklist[1] or #o.history_blacklist == 1 and o.history_blacklist[1] == "" then return false end + local invertable_return = {true, false} + local blacklist_msg = 'File was not added to history because of blacklist' + if o.invert_history_blacklist then + invertable_return = {false, true} + blacklist_msg = 'File was added to history because of whitelist' + end + + if has_value(o.history_blacklist, filePath, nil) then + msg.info(blacklist_msg) + return invertable_return[1] + elseif not starts_protocol(protocols, filePath) then + if has_value(o.history_blacklist, filePath:match('^(.-)([^\\/]-)%.([^\\/%.]-)%.?$'), nil) or + has_value(o.history_blacklist, filePath:match('^(.-)([^\\/]-)%.([^\\/%.]-)%.?$'):gsub('\\$', ''), nil) then + msg.info(blacklist_msg) + return invertable_return[1] + elseif has_value(o.history_blacklist, filePath:match('%.([^%.]+)$'), nil) or + has_value(o.history_blacklist, "."..filePath:match('%.([^%.]+)$'), nil) then + msg.info(blacklist_msg) + return invertable_return[1] + else --1.1.2# check to add any subfolder after /* to blacklist. issue #70 + for i=1, #o.history_blacklist do --1.1.2# loop through blacklisted items, if the blacklist ends with * and it is a match after subbing of the current filePath then log it. #and additionally if it is the exact same path then ignore it. + if string.lower(filePath):match(string.lower(o.history_blacklist[i])) and o.history_blacklist[i]:sub(-1,#o.history_blacklist[i]) == '*' and string.lower(o.history_blacklist[i]:sub(1,-2)) ~= string.lower(filePath):match("(.*[\\/])") then + msg.info(blacklist_msg) + return invertable_return[1] + end + end + end + elseif starts_protocol(protocols, filePath) then + if has_value(o.history_blacklist, filePath:match('(.-)(:)'), nil) or + has_value(o.history_blacklist, filePath:match('(.-:)'), nil) or + has_value(o.history_blacklist, filePath:match('(.-:/?/?)'), nil) then + msg.info(blacklist_msg) + return invertable_return[1] + elseif filePath:find('https?://') == 1 then + local difchk_1, difchk_2 = filePath:match("(https?://)w?w?w?%.?([%w%.%:]*)") + local different_check_temp = difchk_1..difchk_2 + local different_checks = {different_check_temp, filePath:match("https?://w?w?w?%.?([%w%.%:]*)"), filePath:match("https?://([%w%.%:]*)"), filePath:match("(https?://[%w%.%:]*)") } + for i = 1, #different_checks do + if different_checks[i] and has_value(o.history_blacklist, different_checks[i], nil) + or different_checks[i]..'/' and has_value(o.history_blacklist, different_checks[i]..'/', nil) then + msg.info(blacklist_msg) + return invertable_return[1] + end + end + end + end + + return invertable_return[2] +end + +function mark_chapter() + if not o.mark_history_as_chapter then return end + + local all_chapters = mp.get_property_native("chapter-list") + local chapter_index = 0 + local chapters_time = {} + + get_list_contents() + if not list_contents or not list_contents[1] then return end + for i = 1, #list_contents do + if list_contents[i].found_path == filePath and tonumber(list_contents[i].found_time) > 0 then + table.insert(chapters_time, tonumber(list_contents[i].found_time)) + end + end + if not chapters_time[1] then return end + + table.sort(chapters_time, function(a, b) return a < b end) + + for i = 1, #chapters_time do + chapter_index = chapter_index + 1 + + all_chapters[chapter_index] = { + title = 'SimpleHistory ' .. chapter_index, + time = chapters_time[i] + } + end + + table.sort(all_chapters, function(a, b) return a['time'] < b['time'] end) + + mp.set_property_native("chapter-list", all_chapters) +end + +function write_log(target_time, update_seekTime, entry_limit) + if not filePath then return end + local prev_seekTime = seekTime + seekTime = (mp.get_property_number('time-pos') or 0) + if target_time then + seekTime = target_time + end + if seekTime < 0 then seekTime = 0 end + + delete_log_entry(false, true, filePath, math.floor(seekTime), entry_limit) + + local f = io.open(log_fullpath, "a+") + if o.file_title_logging == 'all' then + f:write(("[%s] \"%s\" | %s | %s | %s"):format(os.date(o.date_format), fileTitle, filePath, log_length_text .. tostring(fileLength), log_time_text .. tostring(seekTime))) + elseif o.file_title_logging == 'protocols' and (starts_protocol(o.logging_protocols, filePath)) then + f:write(("[%s] \"%s\" | %s | %s | %s"):format(os.date(o.date_format), fileTitle, filePath, log_length_text .. tostring(fileLength), log_time_text .. tostring(seekTime))) + elseif o.file_title_logging == 'protocols' and not (starts_protocol(o.logging_protocols, filePath)) then + f:write(("[%s] %s | %s | %s"):format(os.date(o.date_format), filePath, log_length_text .. tostring(fileLength), log_time_text .. tostring(seekTime))) + else + f:write(("[%s] %s | %s | %s"):format(os.date(o.date_format), filePath, log_length_text .. tostring(fileLength), log_time_text .. tostring(seekTime))) + end + + f:write('\n') + f:close() + + if not update_seekTime then + seekTime = prev_seekTime + end +end + +function history_incognito_mode() + if not incognito_mode then + incognito_mode = true + if o.osd_messages == true then + mp.osd_message('🕵 Incognito Mode Enabled') + end + msg.info('Incognito Mode Enabled') + + if o.delete_incognito_entry and autosaved_entry == true then + delete_log_entry_specific('last', filePath, 0) + autosaved_entry = 'autosaved-restore' + if list_drawn then + get_list_contents() + select(0) + end + end + else + incognito_mode = false + if o.osd_messages == true then + mp.osd_message('Incognito Mode Disabled') + end + msg.info('Incognito Mode Disabled') + + if o.restore_incognito_entry == 'always' then + history_fileonly_save() + autosaved_entry = true + elseif o.restore_incognito_entry == 'deleted-restore' and autosaved_entry == 'autosaved-restore' then + history_fileonly_save() + autosaved_entry = true + if list_drawn then + get_list_contents() + select(0) + end + end + end +end + +function history_resume_option() + if o.resume_option == 'notification' or o.resume_option == 'force' then + local video_time = mp.get_property_number('time-pos') + local video_path = mp.get_property('path') --1.1.4# local variable instead of filePath + if video_time > 0 then return end + local logged_time = 0 + local percentage = 0 + local video_duration = (mp.get_property_number('duration') or 0) + list_contents = read_log_table() + if not list_contents or not list_contents[1] then return end + for i = #list_contents, 1, -1 do + if list_contents[i].found_path == video_path and tonumber(list_contents[i].found_time) > 0 then --1.1.4# instead of filePath in case it is causing issue + logged_time = tonumber(list_contents[i].found_time) + o.resume_offset + break + end + end + if logged_time > 0 then + percentage = math.floor((logged_time / video_duration) * 100 + 0.5) + if o.resume_option == 'notification' then + if percentage > o.resume_option_threshold and percentage < (100-o.resume_option_threshold) or o.resume_option_threshold == 0 then + mp.osd_message('⌨ [' .. string.upper(o.history_resume_keybind[1]) .. '] Resumes To' .. o.time_seperator .. format_time(logged_time, o.osd_time_format[3], o.osd_time_format[2], o.osd_time_format[1]),3) + end + elseif o.resume_option == 'force' then + if percentage > o.resume_option_threshold and percentage < (100-o.resume_option_threshold) or o.resume_option_threshold == 0 then + mp.commandv('seek', logged_time, 'absolute', 'exact') + if (o.osd_messages == true) then + mp.osd_message('Resumed To Last Played Position\n' .. o.time_seperator .. format_time(logged_time, o.osd_time_format[3], o.osd_time_format[2], o.osd_time_format[1])) + end + msg.info('Resumed to the last played position') + end + end + end + end +end + +function history_save(target_time) + if filePath ~= nil then + if history_blacklist_check() then + return + end + write_log(target_time, false, o.same_entry_limit) + if list_drawn then + get_list_contents() + select(0) + end + msg.info('Added the below into history\n' .. fileTitle .. o.time_seperator .. format_time(seekTime)) + else + msg.info("Failed to add into history") + end +end + +function history_fileonly_save() + if filePath ~= nil then + if history_blacklist_check() then + return + end + write_log(0, false) + if list_drawn then + get_list_contents() + select(0) + end + msg.info('Added the below into history\n' .. fileTitle .. o.time_seperator .. format_time(seekTime)) + else + msg.info("Failed to add into history, no file found") + end +end + +function history_resume() + if filePath == nil then + list_contents = read_log_table() + load(1) + elseif filePath ~= nil then + list_contents = read_log_table() + if list_contents ~= nil and list_contents[1] then + for i = #list_contents, 1, -1 do + if list_contents[i].found_path == filePath and tonumber(list_contents[i].found_time) > 0 then + seekTime = tonumber(list_contents[i].found_time) + o.resume_offset + break + end + end + end + if seekTime > 0 then + mp.commandv('seek', seekTime, 'absolute', 'exact') + if (o.osd_messages == true) then + mp.osd_message('Resumed To Last Played Position\n' .. o.time_seperator .. format_time(seekTime, o.osd_time_format[3], o.osd_time_format[2], o.osd_time_format[1])) + end + msg.info('Resumed to the last played position') + else + if (o.osd_messages == true) then + mp.osd_message('No Resume Position Found For This Video') + end + msg.info('No resume position found for this video') + end + end +end + +function history_load_last() + if filePath == nil then + list_contents = read_log_table() + load(1, false, 0) + elseif filePath ~= nil then + list_contents = read_log_table() + load(2, true) + end +end + +mp.register_event('file-loaded', function() + list_close_and_trash_collection() + filePath, fileTitle, fileLength = get_file() + loadTriggered = true --1.1.5# for resume and resume-notime startup behavior (so that it only triggers if started as idle and only once) + if (o.resume_option ~= 'none' and resume_selected == true and seekTime > 0) then + mp.commandv('seek', seekTime, 'absolute', 'exact') + resume_selected = false + end + history_resume_option() --1.1.4# remove timeout, cant remember why I put it in first place + mark_chapter() + if not incognito_mode then + history_fileonly_save() + autosaved_entry = true + end +end) + +mp.add_hook('on_unload', 9, function()--1.1.3# get the LogTime only when using on_unload because big functions do not run fully in here + logTime = (mp.get_property_number('time-pos') or 0) +end) +mp.register_event('end-file', function()--1.1.3# use end-file instead so that it doesn't cause crash while seeking ( i am able to run big functions here) + if not incognito_mode then + if autosaved_entry == true then delete_log_entry_specific('last', filePath, 0) end + history_save(logTime) --1.1.3# get the updated time from on_unload since it will still be preserved + end + autosaved_entry = false + logTime = 0 --1.1.3# reset logTime to 0 +end) + +mp.observe_property("idle-active", "bool", function(_, v) + if v then --1.1.2# if idle is triggered + filePath, fileTitle, fileLength = nil --1.1.2# set it back to nil if idle is triggered for better trash collection. issue #69 + end + + if v and o.startup_idle_behavior == 'resume' and not loadTriggered then --1.1.5# option to resume on startup + history_resume() + elseif v and o.startup_idle_behavior == 'resume-notime' and not loadTriggered then --1.1.5# option to load last item on startup + history_load_last() + elseif v and has_value(available_filters, o.auto_run_list_idle) then + display_list(o.auto_run_list_idle, nil, 'hide-osd') + end + + if v and o.auto_run_incognito_mode and not incognito_auto_run_triggered or + not v and o.auto_run_incognito_mode and not incognito_auto_run_triggered then + history_incognito_mode() + incognito_auto_run_triggered = true + end +end) + +bind_keys(o.history_resume_keybind, 'history-resume', history_resume) +bind_keys(o.history_load_last_keybind, 'history-load-last', history_load_last) +bind_keys(o.history_incognito_mode_keybind, 'history-incognito-mode', history_incognito_mode) + +for i = 1, #o.open_list_keybind do + if i == 1 then + mp.add_forced_key_binding(o.open_list_keybind[i][1], 'open-list', function()display_list(o.open_list_keybind[i][2]) end) + else + mp.add_forced_key_binding(o.open_list_keybind[i][1], 'open-list'..i, function()display_list(o.open_list_keybind[i][2]) end) + end +end \ No newline at end of file diff --git a/scripts/slicing_copy.lua b/scripts/slicing_copy.lua new file mode 100644 index 0000000..95587ae --- /dev/null +++ b/scripts/slicing_copy.lua @@ -0,0 +1,227 @@ +local msg = require "mp.msg" +local utils = require "mp.utils" +local options = require "mp.options" + +local cut_pos = nil +local copy_audio = true +local ext_map = { + ["mpegts"] = "ts", +} +local o = { + ffmpeg_path = "ffmpeg", + target_dir = "~~/cutfragments", + overwrite = false, -- whether to overwrite exist files + vcodec = "copy", + acodec = "copy", + debug = false, +} + +options.read_options(o) + +Command = {} + +local function is_protocol(path) + return type(path) == 'string' and (path:find('^%a[%w.+-]-://') ~= nil or path:find('^%a[%w.+-]-:%?') ~= nil) +end + +function Command:new(name) + local o = {} + setmetatable(o, self) + self.__index = self + o.name = "" + o.args = { "" } + if name then + o.name = name + o.args[1] = name + end + return o +end +function Command:arg(...) + for _, v in ipairs({...}) do + self.args[#self.args + 1] = v + end + return self +end +function Command:as_str() + return table.concat(self.args, " ") +end +function Command:run() + local res, err = mp.command_native({ + name = "subprocess", + args = self.args, + capture_stdout = true, + capture_stderr = true, + }) + return res, err +end + +local function file_format() + local fmt = mp.get_property("file-format") + if not fmt:find(',') then + return fmt + end + local path = mp.get_property('path') + if is_protocol(path) then + return nil + end + local filename = mp.get_property('filename') + return filename:match('%.([^.]+)$') +end + +local function get_ext() + local fmt = file_format() + if fmt and ext_map[fmt] ~= nil then + return ext_map[fmt] + else + return fmt + end +end + +local function timestamp(duration) + local hours = math.floor(duration / 3600) + local minutes = math.floor(duration % 3600 / 60) + local seconds = duration % 60 + return string.format("%02d:%02d:%06.3f", hours, minutes, seconds) +end + +local function osd(str) + return mp.osd_message(str, 3) +end + +local function info(s) + msg.info(s) + osd(s) +end + +local function get_outname(path, shift, endpos) + local name = mp.get_property("filename/no-ext") + if is_protocol(path) then + name = mp.get_property("media-title") + end + local ext = get_ext() or "mkv" + name = string.format("%s_%s-%s.%s", name, timestamp(shift), timestamp(endpos), ext) + return name:gsub(":", "-") +end + +local function cut(shift, endpos) + local duration = endpos - shift + local path = mp.get_property("path") + local inpath = mp.get_property("stream-open-filename") + local outpath = utils.join_path( + o.target_dir, + get_outname(path, shift, endpos) + ) + + local cache = mp.get_property_native("cache") + local cache_state = mp.get_property_native("demuxer-cache-state") + local cache_ranges = cache_state and cache_state["seekable-ranges"] or {} + if path and is_protocol(path) or cache == "auto" and #cache_ranges > 0 then + local pid = mp.get_property_native('pid') + local temp_path = os.getenv("TEMP") or "/tmp/" + local temp_video_file = utils.join_path(temp_path, "mpv_dump_" .. pid .. ".mkv") + mp.commandv("dump-cache", shift, endpos, temp_video_file) + shift = 0 + inpath = temp_video_file + end + + local cmds = Command:new(o.ffmpeg_path) + :arg("-v", "warning") + :arg(o.overwrite and "-y" or "-n") + :arg("-stats") + cmds:arg("-ss", tostring(shift)) + cmds:arg("-accurate_seek") + cmds:arg("-i", inpath) + cmds:arg("-t", tostring(duration)) + cmds:arg("-c:v", o.vcodec) + cmds:arg("-c:a", o.acodec) + cmds:arg("-c:s", "copy") + cmds:arg("-map", string.format("v:%s?", math.max(mp.get_property_number("current-tracks/video/id", 0) - 1, 0))) + cmds:arg("-map", string.format("a:%s?", math.max(mp.get_property_number("current-tracks/audio/id", 0) - 1, 0))) + cmds:arg("-map", string.format("s:%s?", math.max(mp.get_property_number("current-tracks/sub/id", 0) - 1, 0))) + cmds:arg(not copy_audio and "-an" or nil) + cmds:arg("-avoid_negative_ts", "make_zero") + cmds:arg("-async", "1") + cmds:arg(outpath) + msg.info("Run commands: " .. cmds:as_str()) + local screenx, screeny, aspect = mp.get_osd_size() + mp.set_osd_ass(screenx, screeny, "{\\an9}● ") + local res, err = cmds:run() + mp.set_osd_ass(screenx, screeny, "") + if err then + msg.error(utils.to_string(err)) + mp.osd_message("Failed. Refer console for details.") + elseif res.status ~= 0 then + if res.stderr ~= "" or res.stdout ~= "" then + msg.info("stderr: " .. (res.stderr:gsub("^%s*(.-)%s*$", "%1"))) -- trim stderr + msg.info("stdout: " .. (res.stdout:gsub("^%s*(.-)%s*$", "%1"))) -- trim stdout + mp.osd_message("Failed. Refer console for details.") + end + elseif res.status == 0 then + if o.debug and (res.stderr ~= "" or res.stdout ~= "") then + msg.info("stderr: " .. (res.stderr:gsub("^%s*(.-)%s*$", "%1"))) -- trim stderr + msg.info("stdout: " .. (res.stdout:gsub("^%s*(.-)%s*$", "%1"))) -- trim stdout + end + msg.info("Trim file successfully created: " .. outpath) + mp.add_timeout(1, function() + mp.osd_message("Trim file successfully created!") + end) + end +end + +local function toggle_mark() + local pos, err = mp.get_property_number("time-pos") + if not pos then + osd("Failed to get timestamp") + msg.error("Failed to get timestamp: " .. err) + return + end + if cut_pos then + local shift, endpos = cut_pos, pos + if shift > endpos then + shift, endpos = endpos, shift + elseif shift == endpos then + osd("Cut fragment is empty") + return + end + cut_pos = nil + info(string.format("Cut fragment: %s-%s", timestamp(shift), timestamp(endpos))) + cut(shift, endpos) + else + cut_pos = pos + info(string.format("Marked %s as start position", timestamp(pos))) + end +end + +local function toggle_audio() + copy_audio = not copy_audio + info("Audio capturing is " .. (copy_audio and "enabled" or "disabled")) +end + +local function clear_toggle_mark() + cut_pos = nil + info("Cleared cut fragment") +end + +o.target_dir = o.target_dir:gsub('"', "") +local file, _ = utils.file_info(mp.command_native({ "expand-path", o.target_dir })) +if not file then + --create target_dir if it doesn't exist + local savepath = mp.command_native({ "expand-path", o.target_dir }) + local is_windows = package.config:sub(1, 1) == "\\" + local windows_args = { 'powershell', '-NoProfile', '-Command', 'mkdir', string.format("\"%s\"", savepath) } + local unix_args = { 'mkdir', '-p', savepath } + local args = is_windows and windows_args or unix_args + local res = mp.command_native({name = "subprocess", capture_stdout = true, playback_only = false, args = args}) + if res.status ~= 0 then + msg.error("Failed to create target_dir save directory "..savepath..". Error: "..(res.error or "unknown")) + return + end +elseif not file.is_dir then + osd("target_dir is a file") + msg.warn(string.format("target_dir `%s` is a file", o.target_dir)) +end +o.target_dir = mp.command_native({ "expand-path", o.target_dir }) + +mp.add_key_binding("c", "slicing_mark", toggle_mark) +mp.add_key_binding("a", "slicing_audio", toggle_audio) +mp.add_key_binding("C", "clear_slicing_mark", clear_toggle_mark) \ No newline at end of file diff --git a/scripts/sponsorblock_minimal.lua b/scripts/sponsorblock_minimal.lua new file mode 100644 index 0000000..00ff1f6 --- /dev/null +++ b/scripts/sponsorblock_minimal.lua @@ -0,0 +1,149 @@ +-- sponsorblock_minimal.lua v 0.5.1 +-- +-- This script skip/mute sponsored segments of YouTube and bilibili videos +-- using data from https://github.com/ajayyy/SponsorBlock +-- and https://github.com/hanydd/BilibiliSponsorBlock + +local opt = require 'mp.options' +local utils = require 'mp.utils' + +local options = { + youtube_sponsor_server = "https://sponsor.ajay.app/api/skipSegments", + bilibili_sponsor_server = "https://bsbsb.top/api/skipSegments", + -- Categories to fetch + -- Perform skip/mute/mark chapter based on the 'actionType' returned + categories = '"sponsor"', +} + +opt.read_options(options) + +local ranges = nil +local video_id = nil +local sponsor_server = nil +local cache = {} +local mute = false +local ON = false + +local function getranges(url) + local res = mp.command_native{ + name = "subprocess", + capture_stdout = true, + playback_only = false, + args = { + "curl", "-L", "-s", "-g", + "-H", "origin: mpv-script/sponsorblock_minimal", + "-H", "x-ext-version: 0.5.1", + url + } + } + + if res.status ~= 0 then + return nil + end + + return utils.parse_json(res.stdout) +end + +local function make_chapter(ranges) + local chapters_time = {} + local chapters_title = {} + local chapter_index = 0 + local all_chapters = mp.get_property_native("chapter-list") + for _, v in pairs(ranges) do + table.insert(chapters_time, v.segment[1]) + table.insert(chapters_title, v.category) + table.insert(chapters_time, v.segment[2]) + table.insert(chapters_title, "normal") + end + + for i = 1, #chapters_time do + chapter_index = chapter_index + 1 + all_chapters[chapter_index] = { + title = chapters_title[i] or ("Chapter " .. string.format("%02.f", chapter_index)), + time = chapters_time[i] + } + end + + table.sort(all_chapters, function(a, b) return a['time'] < b['time'] end) + mp.set_property_native("chapter-list", all_chapters) +end + +local function skip_ads(_, pos) + if pos ~= nil and ranges ~= nil then + for _, v in pairs(ranges) do + if v.actionType == "skip" and v.segment[1] <= pos and v.segment[2] > pos then + --this message may sometimes be wrong + --it only seems to be a visual thing though + local time = math.floor(v.segment[2] - pos) + mp.osd_message(string.format("[sponsorblock] skipping forward %ds", time)) + --need to do the +0.01 otherwise mpv will start spamming skip sometimes + mp.set_property("time-pos", v.segment[2] + 0.01) + elseif v.actionType == "mute" then + if v.segment[1] <= pos and v.segment[2] >= pos then + cache[v.segment[2]] = nil + mp.set_property_bool("mute", true) + elseif pos > v.segment[2] and not cache[v.segment[2]] and mute ~= false then + cache[v.segment[2]] = true + mp.set_property_bool("mute", false) + end + end + end + end +end + +local function file_loaded() + cache = {} + local video_path = mp.get_property("path", "") + local video_referer = mp.get_property("http-header-fields", ""):match("[Rr]eferer:%s*([^,\r\n]+)") or "" + local purl = mp.get_property("metadata/by-key/PURL", "") + local bilibili = video_path:match("bilibili.com/video") or video_referer:match("bilibili.com/video") or false + mute = mp.get_property_bool("mute") + + local urls = { + "ytdl://youtu%.be/([%w-_]+).*", + "ytdl://w?w?w?%.?youtube%.com/v/([%w-_]+).*", + "ytdl://w?w?w?%.?bilibili%.com/video/([%w-_]+).*", + "https?://youtu%.be/([%w-_]+).*", + "https?://w?w?w?%.?youtube%.com/v/([%w-_]+).*", + "https?://w?w?w?%.?bilibili%.com/video/([%w-_]+).*", + "/watch.*[?&]v=([%w-_]+).*", + "/embed/([%w-_]+).*", + "^ytdl://([%w-_]+)$", + "-([%w-_]+)%." + } + + for _, url in ipairs(urls) do + video_id = video_id or video_path:match(url) or video_referer:match(url) or purl:match(url) + end + + if not video_id or string.len(video_id) < 11 then return end + + if bilibili then + sponsor_server = options.bilibili_sponsor_server + video_id = string.sub(video_id, 1, 12) + else + sponsor_server = options.youtube_sponsor_server + video_id = string.sub(video_id, 1, 11) + end + + local url = ("%s?videoID=%s&categories=[%s]"):format(sponsor_server, video_id, options.categories) + + ranges = getranges(url) + if ranges ~= nil then + make_chapter(ranges) + ON = true + mp.observe_property("time-pos", "native", skip_ads) + end +end + +local function end_file() + if not ON then return end + mp.unobserve_property(skip_ads) + video_id = nil + cache = nil + ranges = nil + ON = false +end + +mp.register_event("file-loaded", file_loaded) +mp.register_event("end-file", end_file) \ No newline at end of file diff --git a/scripts/sub-assrt.lua b/scripts/sub-assrt.lua new file mode 100644 index 0000000..59e7dda --- /dev/null +++ b/scripts/sub-assrt.lua @@ -0,0 +1,704 @@ +--[[ + * sub-assrt.lua + * + * AUTHORS: dyphire + * License: MIT + * link: https://github.com/dyphire/mpv-sub-assrt +]] + +local utils = require "mp.utils" +local msg = require "mp.msg" +local options = require("mp.options") +local input_loaded, input = pcall(require, "mp.input") +local uosc_available = false + +local o = { + -- API token, 可以在 https://assrt.net 上注册账号后在个人界面获取 + api_token = "tNjXZUnOJWcHznHDyalNMYqqP6IdDdpQ", + -- 是否使用 https + use_https = true, + -- 代理设置 + proxy = "", +} + +options.read_options(o, _, function() end) + +local ASSRT_SEARCH_API = (o.use_https and "https" or "http") .. "://api.assrt.net/v1/sub/search" +local ASSRT_DETAIL_API = (o.use_https and "https" or "http") .. "://api.assrt.net/v1/sub/detail" + +local TEMP_DIR = os.getenv("TEMP") or "/tmp" +local cache = {} + +local function is_protocol(path) + return type(path) == 'string' and (path:find('^%a[%w.+-]-://') ~= nil or path:find('^%a[%w.+-]-:%?') ~= nil) +end + +local function hex_to_char(x) + return string.char(tonumber(x, 16)) +end + +local function url_encode(str) + if str then + str = str:gsub("([^%w%-%.%_%~])", function(c) + return string.format("%%%02X", string.byte(c)) + end) + end + return str +end + +local function url_decode(str) + if str ~= nil then + str = str:gsub('^%a[%a%d-_]+://', '') + :gsub('^%a[%a%d-_]+:\\?', '') + :gsub('%%(%x%x)', hex_to_char) + if str:find('://localhost:?') then + str = str:gsub('^.*/', '') + end + str = str:gsub('%?.+', '') + :gsub('%+', ' ') + return str + else + return + end +end + +local function is_compressed_file(filename) + local ext_map = { + zip = true, + rar = true, + ["7z"] = true, + gz = true, + tar = true, + bz2 = true, + xz = true, + tgz = true, + tbz2 = true, + } + + local ext = filename:match("%.([%w]+)$"):lower() + if ext then + return ext_map[ext] or false + end + return false +end + +local function http_request(url) + local cmd = { + "curl", + "-s", + "-L", + "--max-redirs", "5", + "--connect-timeout", "10", + "--max-time", "30", + "--user-agent", "mpv", + url + } + + if o.proxy ~= "" then + table.insert(cmd, '-x') + table.insert(cmd, o.proxy) + end + + local res = mp.command_native({ name = "subprocess", capture_stdout = true, capture_stderr = true, args = cmd }) + if res.status == 0 then + return utils.parse_json(res.stdout) + else + msg.error("HTTP request failed: " .. res.stderr) + return nil + end +end + +local function file_exists(path) + if path then + local meta = utils.file_info(path) + return meta and meta.is_file + end + return false +end + +local function alphanumsort(a, b) + -- alphanum sorting for humans in Lua + -- http://notebook.kulchenko.com/algorithms/alphanumeric-natural-sorting-for-humans-in-lua + local function padnum(d) + local dec, n = string.match(d, "(%.?)0*(.+)") + return #dec > 0 and ("%.12f"):format(d) or ("%s%03d%s"):format(dec, #n, n) + end + return tostring(a):lower():gsub("%.?%d+", padnum) .. ("%3d"):format(#b) + < tostring(b):lower():gsub("%.?%d+", padnum) .. ("%3d"):format(#a) +end + +local function normalize(path) + if normalize_path ~= nil then + if normalize_path then + path = mp.command_native({"normalize-path", path}) + else + local directory = mp.get_property("working-directory", "") + path = utils.join_path(directory, path:gsub('^%.[\\/]','')) + if platform == "windows" then path = path:gsub("\\", "/") end + end + return path + end + + normalize_path = false + + local commands = mp.get_property_native("command-list", {}) + for _, command in ipairs(commands) do + if command.name == "normalize-path" then + normalize_path = true + break + end + end + return normalize(path) +end + +local function check_sub(sub_file) + local tracks = mp.get_property_native("track-list") + local _, sub_title = utils.split_path(sub_file) + for _, track in ipairs(tracks) do + if track["type"] == "sub" and track["title"] == sub_title then + return true, track["id"] + end + end + return false, nil +end + +local function append_sub(sub_file) + local sub, id = check_sub(sub_file) + if not sub then + mp.commandv('sub-add', sub_file) + else + mp.commandv('sub-reload', id) + end +end + +local function clean_name(name) + return name:gsub("^%[.-%]", " ") + :gsub("^%(.-%)", " ") + :gsub("[_%.%[%]]", " ") + :gsub("^%s*(.-)%s*$", "%1") + :gsub("[!@#%.%?%+%-%%&*_=,/~`]+$", "") +end + +-- Formatters for media titles +local formatters = { + { + regex = "^(.-)%s*[_%.%s]%s*(%d%d%d%d)[_%.%s]%d%d[_%.%s]%d%d%s*[_%.%s]?(.-)%s*[_%.%s]%d+[pPkKxXbBfF]", + format = function(name, year, subtitle) + local title = clean_name(name) + if subtitle then + title = title .. ": " .. subtitle:gsub("%.", " "):gsub("^%s*(.-)%s*$", "%1") + end + return title .. " (" .. year .. ")" + end + }, + { + regex = "^(.-)%s*[_%.%s]%s*(%d%d%d%d)%s*[_%.%s]%s*[sS](%d+)[%.%-%s:]?[eE](%d+%.?%d*)", + format = function(name, year, season, episode) + return clean_name(name) .. " (" .. year .. ") S" .. season .. "E" .. episode + end + }, + { + regex = "^(.-)%s*[_%.%s]%s*(%d%d%d%d)%s*[_%.%s]%s*[eEpP]+(%d+%.?%d*)", + format = function(name, year, episode) + return clean_name(name) .. " (" .. year .. ") E" .. episode + end + }, + { + regex = "^(.-)%s*[_%-%.%s]%s*[sS](%d+)[%.%-%s:]?[eE](%d+[%.v]?%d*)%s*[_%.%s]%s*(%d%d%d%d)[^%dhHxXvVpPkKxXbBfF]", + format = function(name, season, episode, year) + return clean_name(name) .. " (" .. year .. ") S" .. season .. "E" .. episode:gsub("v%d+$","") + end + }, + { + regex = "^(.-)%s*[_%-%.%s]%s*[sS](%d+)[%.%-%s:]?[eE](%d+%.?%d*)", + format = function(name, season, episode) + return clean_name(name) .. " S" .. season .. "E" .. episode + end + }, + { + regex = "^(.-)%s*[_%.%s]%s*(%d+)[nrdsth]+[_%.%s]%s*[sS]eason[_%.%s]%s*%[(%d+[%.v]?%d*)%]", + format = function(name, season, episode) + return clean_name(name) .. " S" .. season .. "E" .. episode:gsub("v%d+$","") + end + }, + { + regex = "^(.-)%s*[^dD][eEpP]+(%d+[%.v]?%d*)[_%.%s]%s*(%d%d%d%d)[^%dhHxXvVpPkKxXbBfF]", + format = function(name, episode, year) + return clean_name(name) .. " (" .. year .. ") E" .. episode:gsub("v%d+$","") + end + }, + { + regex = "^(.-)%s*[^dD][eEpP]+(%d+%.?%d*)", + format = function(name, episode) + return clean_name(name) .. " E" .. episode + end + }, + { + regex = "^(.-)%s*第%s*(%d+[%.v]?%d*)%s*[话回集]", + format = function(name, episode) + return clean_name(name) .. " E" .. episode:gsub("v%d+$","") + end + }, + { + regex = "^(.-)%s*%[(%d+[%.v]?%d*)%]", + format = function(name, episode) + return clean_name(name) .. " E" .. episode:gsub("v%d+$","") + end + }, + { + regex = "^(.-)%s*%[(%d+[%.v]?%d*)%(%a+%)%]", + format = function(name, episode) + return clean_name(name) .. " E" .. episode:gsub("v%d+$","") + end + }, + { + regex = "^(.-)%s*[%-#]%s*(%d+%.?%d*)%s*", + format = function(name, episode) + return clean_name(name) .. " E" .. episode + end + }, + { + regex = "^(.-)%s*[%[%(]([OVADSPs]+)[%]%)]", + format = function(name, sp) + return clean_name(name) .. " [" .. sp .. "]" + end + }, + { + regex = "^(.-)%s*[_%-%.%s]%s*(%d?%d)x(%d%d?%d?%d?)[^%dhHxXvVpPkKxXbBfF]", + format = function(name, season, episode) + return clean_name(name) .. " S" .. season .. "E" .. episode + end + }, + { + regex = "^%((%d%d%d%d)%.?%d?%d?%.?%d?%d?%)%s*(.-)%s*[%(%[]", + format = function(year, name) + return clean_name(name) .. " (" .. year .. ")" + end + }, + { + regex = "^(.-)%s*[_%.%s]%s*(%d%d%d%d)[^%dhHxXvVpPkKxXbBfF]", + format = function(name, year) + return clean_name(name) .. " (" .. year .. ")" + end + }, + { + regex = "^%[.-%]%s*%[?(.-)%]?%s*[%(%[]", + format = function(name) + return clean_name(name) + end + }, +} + +local function format_filename(title) + for _, formatter in ipairs(formatters) do + local matches = {title:match(formatter.regex)} + if #matches > 0 then + title = formatter.format(unpack(matches)) + return title + end + end + title = title:gsub("^%[.-%]", " ") + :gsub("^%(.-%)", " ") + :gsub("[_%.]", " ") + :gsub("^%s*(.-)%s*$", "%1") + :gsub("[!@#%.%?%+%-%%&*_=,/~`]+$", "") + return title +end + +local function is_writable(path) + local file = io.open(path, "w") + if file then + file:close() + os.remove(path) + return true + end + return false +end + +local function download_file(url, fname) + local path = mp.get_property("path") + local filename = mp.get_property("filename/no-ext") + local ext = fname:match('%.([^%.]+)$'):lower() + + if is_protocol(path) then + sub_path = utils.join_path(TEMP_DIR, fname) + else + local dir = utils.split_path(normalize(path)) + sub_path = utils.join_path(dir, filename .. ".assrt." .. ext) + if not is_writable(sub_path) then + sub_path = utils.join_path(TEMP_DIR, fname) + end + end + + local message = "正在下载字幕..." + local type = "download_subtitle" + local title = "字幕下载菜单" + local footnote = "使用 / 打开筛选" + if uosc_available then + update_menu_uosc(type, title, message, footnote) + else + mp.osd_message(message) + end + + local cmd = {"curl", "-s", "--user-agent", "mpv", "-o", sub_path, url} + if o.proxy ~= "" then + table.insert(cmd, '-x') + table.insert(cmd, o.proxy) + end + local res = mp.command_native({ name = "subprocess", capture_stdout = true, capture_stderr = true, args = cmd }) + if res.status == 0 then + if file_exists(sub_path) then + append_sub(sub_path) + local message = "字幕下载完成, 已载入" + if uosc_available then + update_menu_uosc(type, title, message, footnote) + -- 下载完字幕1.5秒后关闭面板 + mp.add_timeout(1.5, function() + mp.commandv("script-message-to", "uosc", "close-menu", "download_subtitle") + end) + else + mp.osd_message(message, 3) + end + msg.info("Subtitle downloaded: " .. sub_path) + end + else + local message = "字幕下载失败,查看控制台获取更多信息" + if uosc_available then + update_menu_uosc(type, title, message, footnote) + else + mp.osd_message(message, 3) + end + msg.error("Failed to download file: " .. res.stderr) + return nil + end +end + +local function fetch_subtitle_details(sub_id) + local message = "正在加载字幕详细信息..." + local type = "subtitle_details" + local title = "字幕下载菜单" + local footnote = "使用 / 打开筛选" + if uosc_available then + update_menu_uosc(type, title, message, footnote) + else + mp.osd_message(message) + end + + local url = ASSRT_DETAIL_API .."?token=" .. o.api_token .. "&id=" .. (sub_id or 0) + local res = http_request(url) + if not res or res.status ~= 0 then + local message = "获取字幕详细信息失败,查看控制台获取更多信息" + if uosc_available then + update_menu_uosc(type, title, message, footnote) + else + mp.osd_message(message, 3) + end + msg.error("Failed to fetch subtitle details: " .. (res and res.errmsg or "Unknown error")) + return nil + end + + local items = {} + items[#items + 1] = { + title = "..", + hint = "返回搜索结果", + value = { + "script-message-to", + mp.get_script_name(), + "search-subtitles-event", + "has_details", nil, + }, + } + local subs = res.sub.subs[1] + for _, sub in ipairs(subs.filelist) do + table.insert(items, { + title = sub.f, + hint = sub.s, + value = { + "script-message-to", + mp.get_script_name(), + "download-file-event", + sub.url, sub.f, + }, + }) + end + + if #items > 2 then + table.sort(items, function(a, b) + return alphanumsort(a.title, b.title) + end) + end + + if #items == 0 and subs.url and not is_compressed_file(subs.filename) then + local size= subs.size / 1024 + local sub_size = size > 1024 and string.format("%.2fMB", size / 1024) or string.format("%.2fKB", size) + table.insert(items, { + title = subs.filename, + hint = sub_size, + value = { + "script-message-to", + mp.get_script_name(), + "download-file-event", + subs.url, subs.filename, + }, + }) + end + + if uosc_available then + update_menu_uosc(type, title, items, footnote) + elseif input_loaded then + mp.osd_message("") + mp.add_timeout(0.1, function() + open_menu_select(items) + end) + end +end + +local function search_subtitles(pos, query) + local items = {} + local type = "menu_subtitle" + local title = "输入搜索内容" + local footnote = "使用enter或ctrl+enter进行搜索" + if pos ~= "has_details" and (query ~= cache.query or tonumber(pos) > 0) then + local pos = tonumber(pos) + local message = "正在搜索字幕..." + local cmd = { "script-message-to", mp.get_script_name(), "search-subtitles-event", tostring(pos) } + if uosc_available then + update_menu_uosc(type, title, message, footnote, cmd, query) + else + mp.osd_message(message) + end + + local url = ASSRT_SEARCH_API .. "?token=" .. o.api_token .. "&q=" .. url_encode(query) .. "&no_muxer=1&pos=" .. pos + local res = http_request(url) + if not res or res.status ~= 0 then + local message = "搜索字幕失败,查看控制台获取更多信息" + if uosc_available then + update_menu_uosc(type, title, message, footnote, cmd, query) + else + mp.osd_message(message, 3) + end + msg.error("Failed to search subtitles: " .. (res and res.errmsg or "Unknown error")) + return nil + end + + local sub = res.sub + local subs = {} + if sub then subs = res.sub.subs end + if #subs == 0 then + local message = "未找到字幕,建议更改关键字尝试重新搜索" + if uosc_available then + update_menu_uosc(type, title, message, footnote, cmd, query) + else + mp.osd_message(message, 3) + end + msg.info("No subtitles found.") + return nil + end + + table.insert(items, { + title = "..", + hint = "返回搜索菜单", + value = { + "script-message-to", + mp.get_script_name(), + "open-search-menu", + 0, query, + }, + }) + + for _, sub in ipairs(subs) do + table.insert(items, { + title = sub.video_chinese_name and sub.video_chinese_name ~= '' and sub.video_chinese_name + or sub.native_name and sub.native_name ~= '' and sub.native_name or sub.videoname, + hint = sub.lang and sub.lang.desc ~= '' and sub.lang.desc + or sub.m_lang and sub.m_lang ~= '' and sub.m_lang:gsub(" ", " "), + value = { + "script-message-to", + mp.get_script_name(), + "fetch-details-event", + sub.id or sub.fileid, + }, + }) + end + + if #items == 16 then + pos = pos + 15 + table.insert(items, { + title = "加载下一页", + value = { + "script-message-to", + mp.get_script_name(), + "search-subtitles-event", + tostring(pos), query, + }, + italic = true, + bold = true, + align = "center", + }) + end + cache.query = query + cache.items = items + else + items = cache.items + end + + if uosc_available then + update_menu_uosc(type, title, items, footnote) + elseif input_loaded then + mp.osd_message("") + mp.add_timeout(0.1, function() + open_menu_select(items) + end) + end +end + +function open_menu_select(menu_items) + local item_titles, item_values = {}, {} + for i, v in ipairs(menu_items) do + item_titles[i] = v.hint and v.title .. " (" .. v.hint .. ")" or v.title + item_values[i] = v.value + end + mp.commandv('script-message-to', 'console', 'disable') + input.select({ + prompt = '筛选:', + items = item_titles, + submit = function(id) + mp.commandv(unpack(item_values[id])) + end, + }) +end + +function open_input_menu_get(pos, query) + mp.commandv('script-message-to', 'console', 'disable') + input.get({ + prompt = '搜索字幕:', + default_text = query, + cursor_position = query and #query + 1, + submit = function(text) + input.terminate() + search_subtitles(pos, text) + end + }) +end + +function open_input_menu_uosc(pos, query) + local menu_props = { + type = "menu_subtitle", + title = "输入搜索内容", + search_style = "palette", + search_debounce = "submit", + search_suggestion = query, + on_search = { + "script-message-to", + mp.get_script_name(), + "search-subtitles-event", + tostring(pos), + }, + footnote = "使用enter或ctrl+enter进行搜索", + items = {}, + } + local json_props = utils.format_json(menu_props) + mp.commandv("script-message-to", "uosc", "open-menu", json_props) +end + +function update_menu_uosc(menu_type, menu_title, menu_item, menu_footnote, menu_cmd, query) + local items = {} + if type(menu_item) == "string" then + table.insert(items, { + title = menu_item, + value = "", + italic = true, + keep_open = true, + selectable = false, + align = "center", + }) + else + items = menu_item + end + + local menu_props = { + type = menu_type, + title = menu_title, + search_style = menu_cmd and "palette" or "on_demand", + search_debounce = menu_cmd and "submit" or 0, + on_search = menu_cmd, + footnote = menu_footnote, + search_suggestion = query, + items = items, + } + local json_props = utils.format_json(menu_props) + mp.commandv("script-message-to", "uosc", "open-menu", json_props) +end + +local function sub_assrt() + local path = mp.get_property("path") + local filename = mp.get_property("filename/no-ext") + local title = mp.get_property("media-title") + local thin_space = string.char(0xE2, 0x80, 0x89) + if not path then + msg.error("No file loaded.") + return + end + + if is_protocol(path) then + title = url_decode(title:gsub('%.[^%.]+$', '')) + elseif #title < #filename then + title = filename + end + + local pos = 0 + local title = title:gsub(thin_space, " ") + local query = format_filename(title):gsub("%s*E%d+$", "") + + if cache.title and cache.title == query + and cache.items and #cache.items > 0 then + search_subtitles("has_details") + return + end + + cache.title = query + + if uosc_available then + open_input_menu_uosc(pos, query) + elseif input_loaded then + open_input_menu_get(pos, query) + end +end + +mp.register_script_message('uosc-version', function() + uosc_available = true + mp.commandv('script-message-to', 'uosc', 'overwrite-binding', 'download-subtitles', + 'script-message-to sub_assrt sub-assrt') +end) + +mp.register_script_message("open-search-menu", function(pos, query) + if uosc_available then + mp.commandv("script-message-to", "uosc", "open-menu", "menu_subtitle") + end + if uosc_available then + open_input_menu_uosc(pos, query) + elseif input_loaded then + open_input_menu_get(pos, query) + end +end) + +mp.register_script_message("search-subtitles-event", function(pos, query) + if uosc_available then + mp.commandv("script-message-to", "uosc", "open-menu", "menu_subtitle") + end + search_subtitles(pos, query) +end) +mp.register_script_message("fetch-details-event", function(query) + if uosc_available then + mp.commandv("script-message-to", "uosc", "open-menu", "subtitle_details") + end + fetch_subtitle_details(query) +end) +mp.register_script_message("download-file-event", function(url, filename) + if uosc_available then + mp.commandv("script-message-to", "uosc", "open-menu", "download_subtitle") + end + download_file(url, filename) +end) + +mp.register_script_message("sub-assrt", sub_assrt) \ No newline at end of file diff --git a/scripts/sub-fonts-dir-auto.lua b/scripts/sub-fonts-dir-auto.lua new file mode 100644 index 0000000..a877b34 --- /dev/null +++ b/scripts/sub-fonts-dir-auto.lua @@ -0,0 +1,122 @@ +--[[ + + Automatically look for a fonts directory to use with `sub-fonts-dir`. + + This mpv Lua script will automatically use the `sub-fonts-dir` option (to + override the default `~~/fonts` location) if it find a `Fonts` directory + alongside the currently playing file. (The name of the directory is + matched case-insensitively.) + + + USAGE: + + Simply drop this script in your scripts configuration directory (usually + `~/.config/mpv/scripts/`). + + + REQUIREMENTS: + + This script requires a version of mpv that includes the `sub-fonts-dir` + option. + + + NOTES: + + - Any `--sub-fonts-dir` option passed on the command-line will override + this script. + + - When going through a playlist, `sub-fonts-dir` will be dynamically + updated for each individual file. + + - This script will output some additional information on higher verbosity + levels (`-v`). To increase the verbosity for this script only, use + `--msg-level=sub_fonts_dir_auto=v` (or `=debug` for more output). + + + AUTHOR: + + Frédéric Brière (fbriere@fbriere.net) + + Licensed under the GNU General Public License, version 2 or later. + +--]] + + +local utils = require 'mp.utils' +local msg = require 'mp.msg' +-- msg.trace() was added in 0.28.0 -- define it ourselves if it's missing +if msg.trace == nil then + msg.trace = function(...) return mp.log("trace", ...) end +end + + +-- Directory name we are looking for (case-insensitive) +local FONTS_DIR_NAME = "Fonts" +-- Option name that we want to set +local OPTION_NAME = "sub-fonts-dir" +-- Make sure this option is available in this version of mpv +do + local _, err = mp.get_property(OPTION_NAME) + if err then + msg.error(string.format("This version of mpv does not support the %s option", OPTION_NAME)) + return + end +end + + +-- Whether a path is a directory +local function isdir(path) + local meta, meta_error = utils.file_info(path) + if meta and meta.is_dir then + return true + end +end + +-- Set an option's value for this file, without overriding the command-line +local function set_option(name, value) + if not mp.get_property_bool(string.format("option-info/%s/set-from-commandline", name)) then + msg.verbose(string.format("Setting %s to %q", name, value)) + mp.set_property(string.format("file-local-options/%s", name), value) + else + msg.debug(string.format("Option %s was set on command-line -- leaving it as-is", name)) + end +end + +-- Find a "Fonts" directory under a single path +local function find_fonts_dir(path) + local fonts_path = utils.join_path(path, FONTS_DIR_NAME) + local meta, meta_error = utils.file_info(fonts_path) + if meta and meta.is_dir then + msg.trace("Match found") + return fonts_path + else + fonts_path = utils.join_path(path, FONTS_DIR_NAME:lower()) + local fmeta, fmeta_error = utils.file_info(fonts_path) + if fmeta and fmeta.is_dir then + msg.trace("Match found") + return fonts_path + end + end + msg.trace("No match found") +end + +-- "on_load" hook callback for when a file is about to be loaded. +local function on_load() + local path = mp.get_property("path") + if isdir(path) then + msg.debug("Playing 'file' is actually a directory -- skipping") + return + end + + local path_dir = utils.split_path(path) + -- Cosmetic nitpicking: That trailing "/" just looks annoying to me + path_dir = path_dir:gsub("(.)/+$", "%1") + + msg.debug(string.format("Searching %q for fonts directory", path_dir)) + local fonts_dir = find_fonts_dir(path_dir) + if fonts_dir then + msg.debug("Found fonts directory:", fonts_dir) + set_option(OPTION_NAME, fonts_dir) + end +end +mp.add_hook("on_load", 50, on_load) diff --git a/scripts/sub-select.lua b/scripts/sub-select.lua new file mode 100644 index 0000000..48ecd4c --- /dev/null +++ b/scripts/sub-select.lua @@ -0,0 +1,429 @@ +--[[ + mpv-sub-select + + This script allows you to configure advanced subtitle track selection based on + the current audio track and the names and language of the subtitle tracks. + + https://github.com/CogentRedTester/mpv-sub-select +]]-- + +local mp = require 'mp' +local msg = require 'mp.msg' +local utils = require 'mp.utils' +local opt = require 'mp.options' + +local o = { + --forcibly enable the script regardless of the sid option + force_enable = false, + + --experimental audio track selection based on the preferences. + select_audio = false, + + --observe audio switches and reselect the subtitles when alang changes + observe_audio_switches = false, + + --only select forced subtitles if they are explicitly included in slang + explicit_forced_subs = false, + + --the folder that contains the 'sub-select.json' file + config = "~~/script-opts" +} + +opt.read_options(o, "sub_select") + +local prefs + +local ENABLED = o.force_enable or true +local latest_audio = {} +local audio_tracks = {} +local sub_tracks = {} + +-- represents when there is no audio or subtitle track selected +local NO_TRACK = { + id = 0 +} + +--returns a table that stores the given table t as the __index in its metatable +--creates a prototypally inherited table +local function redirect_table(t, new) + return setmetatable(new or {}, { __index = t }) +end + +local function type_check(val, t, required) + if val == nil then return not required end + if not t:find(type(val)) then return false end + return true +end + +local function setup_prefs() + local file = assert(io.open(mp.command_native({"expand-path", o.config .. "/sub-select.json"}))) + local json = file:read("*all") + file:close() + prefs = utils.parse_json(json) + + assert(prefs, "Invalid JSON format in sub-select.json.") + local reservedIDs = { ['^'] = true } + local IDs = {} + + -- storing the ID in the first pass + for _, pref in ipairs(prefs) do + if pref.id then + assert(not reservedIDs[pref.id], 'using reserved ID '..pref.id) + assert(not IDs[pref.id], 'duplicate ID '..pref.id) + IDs[pref.id] = pref + end + end + + -- doing a second pass to inherit prefs and type check + for i, pref in ipairs(prefs) do + local pref_str = 'pref_'..i..' '..utils.to_string(pref) + assert(type_check(pref.inherit, 'string'), '`inherit` must be a string: '..pref_str) + + if pref.inherit then + local parent = pref.inherit == '^' and prefs[i-1] or IDs[pref.inherit] + assert(parent, 'failed to find matching id: '..pref_str) + pref = redirect_table(parent, pref) + end + + -- type checking the options + assert(type_check(pref.alang, 'string table', true), '`alang` must be a string or a table of strings: '..pref_str) + assert(type_check(pref.slang, 'string table', true), '`slang` must be a string or a table of strings: '..pref_str) + assert(type_check(pref.blacklist, 'table'), '`blacklist` must be a table: '..pref_str) + assert(type_check(pref.whitelist, 'table'), '`whitelist` must be a table: '..pref_str) + assert(type_check(pref.condition, 'string'), '`condition` must be a string: '..pref_str) + assert(type_check(pref.id, 'string'), '`id` must be a string: '..pref_str) + end +end + +setup_prefs() + +--evaluates and runs the given string in both Lua 5.1 and 5.2 +--the name argument is used for error reporting +--provides the mpv modules and the fb module to the string +local function evaluate_string(str, env) + msg.trace('evaluating string '..str) + + env = redirect_table(_G, env) + env.mp = redirect_table(mp) + env.msg = redirect_table(msg) + env.utils = redirect_table(utils) + + local chunk, err + if setfenv then + chunk, err = loadstring(str) + if chunk then setfenv(chunk, env) end + else + chunk, err = load(str, nil, 't', env) + end + if not chunk then + msg.warn('failed to load string:', str) + msg.error(err) + chunk = function() return nil end + end + + local success, boolean = pcall(chunk) + if not success then msg.error(boolean) end + return boolean +end + +--anticipates the default audio track +--returns the node for the predicted track +--this whole function can be skipped if the user decides to load the subtitles asynchronously instead, +--or if `--aid` is not set to `auto` +local function predict_audio() + --if the option is not set to auto then it is easy + local aid = mp.get_property("options/aid", "auto") + if aid == "no" then return NO_TRACK + elseif aid ~= "auto" then return audio_tracks[tonumber(aid)] end + + local num_tracks = #audio_tracks + if num_tracks == 1 then return audio_tracks[1] + elseif num_tracks == 0 then return NO_TRACK end + + local highest_priority = NO_TRACK + local priority_str = "" + local alangs = mp.get_property_native("alang", {}) + + --loop through the track list for any audio tracks + for _,track in ipairs(audio_tracks) do + + --loop through the alang list to check if it has a preference + local pref = 0 + for j,alang in ipairs(alangs) do + if track.lang == alang then + + --a lower number j has higher priority, so flip the numbers around so the lowest j has highest preference + pref = 1000 - j + break + end + end + + --format the important preferences so that we can easily use a lexicographical comparison to find the default + local formatted_str = string.format("%d-%03d-%d-%02d", + track.forced and 1 or 0, + pref, + track.default and 1 or 0, + num_tracks - track.id + ) + msg.trace("formatted track info: " .. formatted_str) + + if formatted_str > priority_str then + priority_str = formatted_str + highest_priority = track + end + end + + msg.verbose("predicted audio track is "..tostring(highest_priority.id)) + return highest_priority +end + +--sets the subtitle track to the given sid +--this is a function to prepare for some upcoming functionality, but I've forgotten what that is +local function set_track(type, id) + msg.verbose("setting", type, "to", id) + if mp.get_property_number(type) == id then return end + mp.set_property('file-local-options/'..type, id) +end + +--checks if the given audio matches the given track preference +local function is_valid_audio(audio, pref) + local alangs = type(pref.alang) == "string" and {pref.alang} or pref.alang + + for _,lang in ipairs(alangs) do + msg.trace("Checking for valid audio:", lang) + + if audio == NO_TRACK then + if lang == "no" then return true end + else + if lang == '*' then + return true + elseif lang == "forced" then + if audio.forced then return true end + elseif lang == "default" then + if audio.default then return true end + else + if audio.lang and audio.lang:lower():find(lang) then return true end + end + end + end + return false +end + +--checks if the given sub matches the given track preference +local function is_valid_sub(sub, slang, pref) + msg.trace("checking sub", slang, "against track", utils.to_string(sub)) + + -- Do not try to un-nest these if statements, it will break detection of default and forced tracks. + -- I've already had to un-nest these statements twice due to this mistake, don't let it happen again. + if sub == NO_TRACK then + return slang == 'no' + else + if slang == "default" then + if not sub.default then return false end + elseif slang == "forced" then + if not sub.forced then return false end + else + if sub.forced and o.explicit_forced_subs then return false end + if not sub.lang:lower():find(slang) and slang ~= "*" then return false end + end + end + + local title = sub.title or '' + + -- if the whitelist is not set then we don't need to find anything + local passes_whitelist = not pref.whitelist + local passes_blacklist = true + + -- whitelist/blacklist handling + if pref.whitelist and title then + for _,word in ipairs(pref.whitelist) do + if title:lower():find(word) then passes_whitelist = true end + end + end + + if pref.blacklist and title then + for _,word in ipairs(pref.blacklist) do + if title:lower():find(word) then passes_blacklist = false end + end + end + + msg.trace(string.format("%s %s whitelist: %s | %s blacklist: %s", + title, + passes_whitelist and "passed" or "failed", utils.to_string(pref.whitelist), + passes_blacklist and "passed" or "failed", utils.to_string(pref.blacklist) + )) + return passes_whitelist and passes_blacklist +end + +--scans the track list and selects audio and subtitle tracks which match the track preferences +--if an audio track is provided to the function it will assume this track is the only audio +local function find_valid_tracks(manual_audio) + assert(manual_audio == nil or (type(manual_audio) == 'table' and manual_audio.id), 'argument must be an audio track or nil') + + local sub_track_list = {NO_TRACK, unpack(sub_tracks)} + local audio_track_list + + if manual_audio == nil then + audio_track_list = {NO_TRACK, unpack(audio_tracks)} + else + audio_track_list = {manual_audio} + end + + if manual_audio then msg.debug("select subtitle for", utils.to_string(manual_audio)) + else msg.debug('selecting audio and subtitles') end + + --searching the selection presets for one that applies to this track + for _,pref in ipairs(prefs) do + msg.debug("checking pref:", utils.to_string(pref)) + + for _, audio_track in ipairs(audio_track_list) do + if is_valid_audio(audio_track, pref) then + local aid = audio_track and audio_track.id + + --checks if any of the subtitle tracks match the preset for the current audio + local slangs = type(pref.slang) == "string" and {pref.slang} or pref.slang + msg.trace("valid audio preference found:", utils.to_string(pref.alang)) + + for _, slang in ipairs(slangs) do + msg.trace("checking for valid sub:", slang) + + + for _,sub_track in ipairs(sub_track_list) do + if is_valid_sub(sub_track, slang, pref) + and (not pref.condition or (evaluate_string('return '..pref.condition, { + audio = aid > 0 and audio_track or nil, + sub = sub_track.id > 0 and sub_track or nil + }) == true)) + then + msg.verbose("valid audio preference found:", utils.to_string(pref.alang)) + msg.verbose("valid subtitle preference found:", utils.to_string(pref.slang)) + return aid, sub_track and sub_track.id + end + end + end + end + end + end +end + + +--returns the audio node for the currently playing audio track +local function find_current_audio() + local aid = mp.get_property_number("aid", 0) + return audio_tracks[aid] or NO_TRACK +end + +--extract the language code from an audio track node and pass it to select_subtitles +local function select_tracks(audio) + local aid, sid = find_valid_tracks(audio) + if sid then + set_track('sid', sid == 0 and 'no' or sid) + end + if aid and o.select_audio then + set_track('aid', aid == 0 and 'no' or aid) + end + + latest_audio = audio or find_current_audio() +end + +--select subtitles asynchronously after playback start +local function async_load() + select_tracks(not o.select_audio and find_current_audio() or nil) +end + +--select subtitles synchronously during the on_preloaded hook +local function preload() + if o.select_audio then return select_tracks() end + + local audio = predict_audio() + select_tracks(audio) + latest_audio = audio +end + +local track_auto_selection = true +mp.observe_property("track-auto-selection", "bool", function(_,b) track_auto_selection = b end) + +local function selection_enabled() + if not ENABLED then return false end + if not track_auto_selection then return false end + if #sub_tracks == 0 then return false end + return true +end + +local INITIAL_LOAD = true +local ORIGINAL_SID = mp.get_property('options/sid') + +mp.add_hook('on_load', 50, function() + INITIAL_LOAD = true + ORIGINAL_SID = mp.get_property('options/sid') +end) + +--reselect the subtitles if the audio is different from what was last used +local function reselect_subtitles() + local initial = INITIAL_LOAD + INITIAL_LOAD = false + if not selection_enabled() then return end + local audio = find_current_audio() + if latest_audio.id ~= audio.id and (not initial or ORIGINAL_SID == 'auto') then + msg.info("detected audio change - reselecting subtitles") + select_tracks(audio) + end +end + +--setups the audio and subtitle track lists to use for the rest of the script +local function read_track_list() + local track_list = mp.get_property_native("track-list", {}) + audio_tracks = {} + sub_tracks = {} + for _,track in ipairs(track_list) do + if not track.lang then track.lang = "und" end + + if track.type == "audio" then + table.insert(audio_tracks, track) + elseif track.type == "sub" then + table.insert(sub_tracks, track) + end + end +end + +local function observe_audio_switches() + mp.observe_property("aid", "string", reselect_subtitles) +end + +local function unobserve_audio_switches() + mp.unobserve_property(reselect_subtitles) +end + +mp.add_hook('on_preloaded', 25, read_track_list) +mp.add_hook('on_preloaded', 26, function() latest_audio = predict_audio() end) + +--events for file loading +mp.add_hook('on_preloaded', 30, function() + if not selection_enabled() then return end + if mp.get_property('options/sid') ~= 'auto' then return end + preload() +end) + +if o.observe_audio_switches then + mp.register_event('file-loaded', observe_audio_switches) + mp.add_hook('on_unload', 50, unobserve_audio_switches) +else + mp.register_event('file-loaded', reselect_subtitles) +end + +mp.observe_property('track-list/count', 'number', read_track_list) + +--force subtitle selection during playback +mp.register_script_message("select-subtitles", async_load) + +--toggle sub-select during playback +mp.register_script_message("sub-select", function(arg) + if arg == "toggle" then ENABLED = not ENABLED + elseif arg == "enable" then ENABLED = true + elseif arg == "disable" then ENABLED = false end + local str = "sub-select: ".. (ENABLED and "enabled" or "disabled") + mp.osd_message(str) + + if not selection_enabled() then return end + async_load() +end) \ No newline at end of file diff --git a/scripts/sub_export.lua b/scripts/sub_export.lua new file mode 100644 index 0000000..a5bd22a --- /dev/null +++ b/scripts/sub_export.lua @@ -0,0 +1,148 @@ +-- SOURCE: https://github.com/kelciour/mpv-scripts/blob/master/sub-export.lua +-- COMMIT: 29 Aug 2018 5039d8b +-- +-- Usage: +-- add bindings to input.conf: +-- key script-message-to sub_export export-selected-subtitles +-- +-- Note: +-- Requires FFmpeg in PATH environment variable or edit ffmpeg_path in the script options, +-- for example, by replacing "ffmpeg" with "C:\Programs\ffmpeg\bin\ffmpeg.exe" +-- Note: +-- The script support subtitles in srt, ass, and sup formats. +-- Note: +-- A small circle at the top-right corner is a sign that export is happenning now. +-- Note: +-- The exported subtitles will be automatically selected with visibility set to true. +-- Note: +-- It could take ~1-5 minutes to export subtitles. + +local msg = require 'mp.msg' +local utils = require 'mp.utils' +local options = require "mp.options" + +---- Script Options ---- +local o = { + ffmpeg_path = "ffmpeg", + -- eng=English, chs=Chinese + language = "eng", +} + +options.read_options(o) +------------------------ + +local is_windows = package.config:sub(1, 1) == "\\" -- detect path separator, windows uses backslashes + +local TEMP_DIR = os.getenv("TEMP") or "/tmp" +local function is_writable(path) + local file = io.open(path, "w") + if file then + file:close() + os.remove(path) + return true + end + return false +end + +local function export_selected_subtitles() + local i = 0 + local tracks_count = mp.get_property_number("track-list/count") + while i < tracks_count do + local track_type = mp.get_property(string.format("track-list/%d/type", i)) + local track_index = mp.get_property_number(string.format("track-list/%d/ff-index", i)) + local track_selected = mp.get_property(string.format("track-list/%d/selected", i)) + local track_title = mp.get_property(string.format("track-list/%d/title", i)) + local track_lang = mp.get_property(string.format("track-list/%d/lang", i)) + local track_external = mp.get_property(string.format("track-list/%d/external", i)) + local track_codec = mp.get_property(string.format("track-list/%d/codec", i)) + local path = mp.get_property('path') + local dir, filename = utils.split_path(path) + local fname = mp.get_property("filename/no-ext") + local index = string.format("0:%d", track_index) + + if track_type == "sub" and track_selected == "yes" then + if track_external == "yes" then + if o.language == 'chs' then + msg.info("错误:已选择外部字幕") + mp.osd_message("错误:已选择外部字幕", 2) + else + msg.info("Error: external subtitles have been selected") + mp.osd_message("Error: external subtitles have been selected", 2) + end + return + end + + local video_file = utils.join_path(dir, filename) + + local subtitles_ext = ".srt" + if string.find(track_codec, "ass") ~= nil then + subtitles_ext = ".ass" + elseif string.find(track_codec, "pgs") ~= nil then + subtitles_ext = ".sup" + end + + if track_lang ~= nil then + if track_title ~= nil then + subtitles_ext = "." .. track_title .. "." .. track_lang .. subtitles_ext + else + subtitles_ext = "." .. track_lang .. subtitles_ext + end + end + + subtitles_file = utils.join_path(dir, fname .. subtitles_ext) + + if not is_writable(subtitles_file) then + subtitles_file = utils.join_path(TEMP_DIR, fname .. subtitles_ext) + end + + if o.language == 'chs' then + msg.info("正在导出当前字幕") + mp.osd_message("正在导出当前字幕") + else + msg.info("Exporting selected subtitles") + mp.osd_message("Exporting selected subtitles") + end + + cmd = string.format("%s -y -hide_banner -loglevel error -i '%s' -map '%s' -vn -an -c:s copy '%s'", + o.ffmpeg_path, video_file, index, subtitles_file) + windows_args = { 'powershell', '-NoProfile', '-Command', cmd } + unix_args = { '/bin/bash', '-c', cmd } + args = is_windows and windows_args or unix_args + + mp.add_timeout(mp.get_property_number("osd-duration") * 0.001, process) + + break + end + + i = i + 1 + end +end + +function process() + local screenx, screeny, aspect = mp.get_osd_size() + + mp.set_osd_ass(screenx, screeny, "{\\an9}● ") + local res = mp.command_native({ name = "subprocess", capture_stdout = true, playback_only = false, args = args }) + mp.set_osd_ass(screenx, screeny, "") + if res.status == 0 then + if o.language == 'chs' then + msg.info("当前字幕已导出") + mp.osd_message("当前字幕已导出") + else + msg.info("Finished exporting subtitles") + mp.osd_message("Finished exporting subtitles") + end + mp.commandv("sub-add", subtitles_file) + mp.set_property("sub-visibility", "yes") + else + if o.language == 'chs' then + msg.info("当前字幕导出失败") + mp.osd_message("当前字幕导出失败, 查看控制台获取更多信息.") + else + msg.info("Failed to export subtitles") + mp.osd_message("Failed to export subtitles, check console for more info.") + end + end +end + +mp.register_script_message("export-selected-subtitles", export_selected_subtitles) \ No newline at end of file diff --git a/scripts/thumbfast.lua b/scripts/thumbfast.lua new file mode 100644 index 0000000..2c23451 --- /dev/null +++ b/scripts/thumbfast.lua @@ -0,0 +1,947 @@ +-- thumbfast.lua +-- +-- High-performance on-the-fly thumbnailer +-- +-- Built for easy integration in third-party UIs. + +--[[ +This Source Code Form is subject to the terms of the Mozilla Public +License, v. 2.0. If a copy of the MPL was not distributed with this +file, You can obtain one at https://mozilla.org/MPL/2.0/. +]] + +local options = { + -- Socket path (leave empty for auto) + socket = "", + + -- Thumbnail path (leave empty for auto) + thumbnail = "", + + -- Maximum thumbnail size in pixels (scaled down to fit) + -- Values are scaled when hidpi is enabled + max_height = 200, + max_width = 200, + + -- Overlay id + overlay_id = 42, + + -- Spawn thumbnailer on file load for faster initial thumbnails + spawn_first = false, + + -- Close thumbnailer process after an inactivity period in seconds, 0 to disable + quit_after_inactivity = 0, + + -- Enable on network playback + network = false, + + -- Enable on audio playback + audio = false, + + -- Enable hardware decoding + hwdec = false, + + -- Windows only: use native Windows API to write to pipe (requires LuaJIT) + direct_io = false, + + -- Custom path to the mpv executable + mpv_path = "mpv", + + -- Specifies a blacklist of video extensions to ignore + blacklist_ext = "bdmv,ifo", + + -- excluded directories for shared, #windows: ["X:", "Z:", "F:/Download/", "Download"] + excluded_dir = [[ + [] + ]], +} + +mp.utils = require "mp.utils" +mp.options = require "mp.options" +mp.options.read_options(options, "thumbfast") + +local properties = {} +local pre_0_30_0 = mp.command_native_async == nil +local pre_0_33_0 = true + +local is_windows = package.config:sub(1, 1) == "\\" -- detect path separator, windows uses backslashes + +local function split(input) + local ret = {} + for str in string.gmatch(input, "([^,]+)") do + ret[#ret + 1] = str + end + return ret +end + +local function exclude(extension, tab) + if #tab > 0 then + for _, ext in pairs(tab) do + if extension == ext then + return true + end + end + else + return + end +end + +local function need_ignore(tab, val) + for index, element in ipairs(tab) do + if string.find(val, element) then + return true + end + end + return false +end + +local function is_protocol(path) + return type(path) == 'string' and (path:find('^%a[%w.+-]-://') ~= nil or path:find('^%a[%w.+-]-:%?') ~= nil) +end + +function subprocess(args, async, callback) + callback = callback or function() end + + if not pre_0_30_0 then + if async then + return mp.command_native_async({name = "subprocess", playback_only = true, args = args}, callback) + else + return mp.command_native({name = "subprocess", playback_only = false, capture_stdout = true, args = args}) + end + else + if async then + return mp.utils.subprocess_detached({args = args}, callback) + else + return mp.utils.subprocess({args = args}) + end + end +end + +local winapi = {} +if options.direct_io then + local ffi_loaded, ffi = pcall(require, "ffi") + if ffi_loaded then + winapi = { + ffi = ffi, + C = ffi.C, + bit = require("bit"), + socket_wc = "", + + -- WinAPI constants + CP_UTF8 = 65001, + GENERIC_WRITE = 0x40000000, + OPEN_EXISTING = 3, + FILE_FLAG_WRITE_THROUGH = 0x80000000, + FILE_FLAG_NO_BUFFERING = 0x20000000, + PIPE_NOWAIT = ffi.new("unsigned long[1]", 0x00000001), + + INVALID_HANDLE_VALUE = ffi.cast("void*", -1), + + -- don't care about how many bytes WriteFile wrote, so allocate something to store the result once + _lpNumberOfBytesWritten = ffi.new("unsigned long[1]"), + } + -- cache flags used in run() to avoid bor() call + winapi._createfile_pipe_flags = winapi.bit.bor(winapi.FILE_FLAG_WRITE_THROUGH, winapi.FILE_FLAG_NO_BUFFERING) + + ffi.cdef[[ + void* __stdcall CreateFileW(const wchar_t *lpFileName, unsigned long dwDesiredAccess, unsigned long dwShareMode, void *lpSecurityAttributes, unsigned long dwCreationDisposition, unsigned long dwFlagsAndAttributes, void *hTemplateFile); + bool __stdcall WriteFile(void *hFile, const void *lpBuffer, unsigned long nNumberOfBytesToWrite, unsigned long *lpNumberOfBytesWritten, void *lpOverlapped); + bool __stdcall CloseHandle(void *hObject); + bool __stdcall SetNamedPipeHandleState(void *hNamedPipe, unsigned long *lpMode, unsigned long *lpMaxCollectionCount, unsigned long *lpCollectDataTimeout); + int __stdcall MultiByteToWideChar(unsigned int CodePage, unsigned long dwFlags, const char *lpMultiByteStr, int cbMultiByte, wchar_t *lpWideCharStr, int cchWideChar); + ]] + + winapi.MultiByteToWideChar = function(MultiByteStr) + if MultiByteStr then + local utf16_len = winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, MultiByteStr, -1, nil, 0) + if utf16_len > 0 then + local utf16_str = winapi.ffi.new("wchar_t[?]", utf16_len) + if winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, MultiByteStr, -1, utf16_str, utf16_len) > 0 then + return utf16_str + end + end + end + return "" + end + + else + options.direct_io = false + end +end + +local file = nil +local file_bytes = 0 +local spawned = false +local disabled = false +local force_disabled = false +local spawn_waiting = false +local spawn_working = false +local script_written = false + +local dirty = false + +local x = nil +local y = nil +local last_x = x +local last_y = y + +local last_seek_time = nil + +local effective_w = options.max_width +local effective_h = options.max_height +local real_w = nil +local real_h = nil +local last_real_w = nil +local last_real_h = nil + +local script_name = nil + +local show_thumbnail = false + +local filters_reset = {["lavfi-crop"]=true, ["crop"]=true} +local filters_runtime = {["hflip"]=true, ["vflip"]=true} +local filters_all = {["hflip"]=true, ["vflip"]=true, ["lavfi-crop"]=true, ["crop"]=true} + +local last_vf_reset = "" +local last_vf_runtime = "" + +local last_rotate = 0 + +local par = "" +local last_par = "" + +local last_has_vid = 0 +local has_vid = 0 + +local file_timer = nil +local file_check_period = 1/60 + +local allow_fast_seek = true + +local client_script = [=[ +#!/usr/bin/env bash +MPV_IPC_FD=0; MPV_IPC_PATH="%s" +trap "kill 0" EXIT +while [[ $# -ne 0 ]]; do case $1 in --mpv-ipc-fd=*) MPV_IPC_FD=${1/--mpv-ipc-fd=/} ;; esac; shift; done +if echo "print-text thumbfast" >&"$MPV_IPC_FD"; then echo -n > "$MPV_IPC_PATH"; tail -f "$MPV_IPC_PATH" >&"$MPV_IPC_FD" & while read -r -u "$MPV_IPC_FD" 2>/dev/null; do :; done; fi +]=] + +local cached_ranges = {} +local ext_blacklist = split(options.blacklist_ext) +local excluded_dir = mp.utils.parse_json(options.excluded_dir) + +local function get_os() + local raw_os_name = "" + + if jit and jit.os and jit.arch then + raw_os_name = jit.os + else + if package.config:sub(1,1) == "\\" then + -- Windows + local env_OS = os.getenv("OS") + if env_OS then + raw_os_name = env_OS + end + else + raw_os_name = subprocess({"uname", "-s"}).stdout + end + end + + raw_os_name = (raw_os_name):lower() + + local os_patterns = { + ["windows"] = "windows", + ["linux"] = "linux", + + ["osx"] = "darwin", + ["mac"] = "darwin", + ["darwin"] = "darwin", + + ["^mingw"] = "windows", + ["^cygwin"] = "windows", + + ["bsd$"] = "darwin", + ["sunos"] = "darwin" + } + + -- Default to linux + local str_os_name = "linux" + + for pattern, name in pairs(os_patterns) do + if raw_os_name:match(pattern) then + str_os_name = name + break + end + end + + return str_os_name +end + +local os_name = mp.get_property("platform") or get_os() + +local path_separator = os_name == "windows" and "\\" or "/" + +if options.socket == "" then + if os_name == "windows" then + options.socket = "thumbfast" + else + options.socket = "/tmp/thumbfast" + end +end + +if options.thumbnail == "" then + if os_name == "windows" then + options.thumbnail = os.getenv("TEMP").."\\thumbfast.out" + else + options.thumbnail = "/tmp/thumbfast.out" + end +end + +local unique = mp.utils.getpid() + +options.socket = options.socket .. unique +options.thumbnail = options.thumbnail .. unique + +if options.direct_io then + if os_name == "windows" then + winapi.socket_wc = winapi.MultiByteToWideChar("\\\\.\\pipe\\" .. options.socket) + end + + if winapi.socket_wc == "" then + options.direct_io = false + end +end + +local mpv_path = options.mpv_path + +if mpv_path == "mpv" then + local frontend_name = mp.get_property_native("user-data/frontend/name") + if frontend_name == "mpv.net" then + mpv_path = mp.get_property_native("user-data/frontend/process-path") + end +end + +if mpv_path == "mpv" and os_name == "darwin" and unique then + -- TODO: look into ~~osxbundle/ + mpv_path = string.gsub(subprocess({"ps", "-o", "comm=", "-p", tostring(unique)}).stdout, "[\n\r]", "") + if mpv_path ~= "mpv" then + mpv_path = string.gsub(mpv_path, "/mpv%-bundle$", "/mpv") + local mpv_bin = mp.utils.file_info("/usr/local/mpv") + if mpv_bin and mpv_bin.is_file then + mpv_path = "/usr/local/mpv" + else + local mpv_app = mp.utils.file_info("/Applications/mpv.app/Contents/MacOS/mpv") + if mpv_app and mpv_app.is_file then + mp.msg.warn("symlink mpv to fix Dock icons: `sudo ln -s /Applications/mpv.app/Contents/MacOS/mpv /usr/local/mpv`") + else + mp.msg.warn("drag to your Applications folder and symlink mpv to fix Dock icons: `sudo ln -s /Applications/mpv.app/Contents/MacOS/mpv /usr/local/mpv`") + end + end + end +end + +local function vf_string(filters, full) + local vf = "" + local vf_table = properties["vf"] + + if vf_table and #vf_table > 0 then + for i = #vf_table, 1, -1 do + if filters[vf_table[i].name] then + local args = "" + for key, value in pairs(vf_table[i].params) do + if args ~= "" then + args = args .. ":" + end + args = args .. key .. "=" .. value + end + vf = vf .. vf_table[i].name .. "=" .. args .. "," + end + end + end + + if full then + vf = vf.."scale=w="..effective_w..":h="..effective_h..par..",pad=w="..effective_w..":h="..effective_h..":x=-1:y=-1,format=bgra" + end + + return vf +end + +local function calc_dimensions() + local width = properties["video-out-params"] and properties["video-out-params"]["dw"] + local height = properties["video-out-params"] and properties["video-out-params"]["dh"] + if not width or not height then return end + + local scale = properties["display-hidpi-scale"] or 1 + + if width / height > options.max_width / options.max_height then + effective_w = math.floor(options.max_width * scale + 0.5) + effective_h = math.floor(height / width * effective_w + 0.5) + else + effective_h = math.floor(options.max_height * scale + 0.5) + effective_w = math.floor(width / height * effective_h + 0.5) + end + + local v_par = properties["video-out-params"] and properties["video-out-params"]["par"] or 1 + if v_par == 1 then + par = ":force_original_aspect_ratio=decrease" + else + par = "" + end +end + +local info_timer = nil + +local function info(w, h) + local rotate = properties["video-params"] and properties["video-params"]["rotate"] + local dovi_p5 = properties["video-params"] and properties["video-params"]["colormatrix"] == "dolbyvision" and properties["video-params"]["colorlevels"] == "full" + local image = properties["current-tracks/video"] and properties["current-tracks/video"]["image"] + local albumart = image and properties["current-tracks/video"]["albumart"] + local cache_state = properties["demuxer-cache-state"] + local dir = properties["path"] and mp.utils.split_path(properties["path"]) + local file_ext = properties["path"] and properties["path"]:match("%.([^%.]+)$") + + if is_windows and dir then dir = dir:gsub("\\", "/") end + if cache_state then cached_ranges = cache_state["seekable-ranges"] end + + disabled = (w or 0) == 0 or (h or 0) == 0 or + has_vid == 0 or + (dir and need_ignore(excluded_dir, dir)) or + (file_ext and exclude(file_ext:lower(), ext_blacklist)) or + ((properties["demuxer-via-network"] or is_protocol(properties["path"]) or (properties["cache"] == "auto" and #cached_ranges > 0)) and not options.network) or + (dovi_p5) or + (albumart and not options.audio) or + (image and not albumart) or + force_disabled + + if info_timer then + info_timer:kill() + info_timer = nil + elseif has_vid == 0 or (rotate == nil and not disabled) then + info_timer = mp.add_timeout(0.05, function() info(w, h) end) + end + + local json, err = mp.utils.format_json({width=w, height=h, disabled=disabled, available=true, socket=options.socket, thumbnail=options.thumbnail, overlay_id=options.overlay_id}) + if pre_0_30_0 then + mp.command_native({"script-message", "thumbfast-info", json}) + else + mp.command_native_async({"script-message", "thumbfast-info", json}, function() end) + end +end + +local function remove_thumbnail_files() + if file then + file:close() + file = nil + file_bytes = 0 + end + os.remove(options.thumbnail) + os.remove(options.thumbnail..".bgra") +end + +local activity_timer + +local function spawn(time) + if disabled then return end + + local path = properties["path"] + if path == nil then return end + + if options.quit_after_inactivity > 0 then + if show_thumbnail or activity_timer:is_enabled() then + activity_timer:kill() + end + activity_timer:resume() + end + + local open_filename = properties["stream-open-filename"] + local ytdl = open_filename and properties["demuxer-via-network"] and path ~= open_filename + if ytdl then + path = open_filename + end + + remove_thumbnail_files() + + local vid = properties["vid"] + has_vid = vid or 0 + + local args = { + mpv_path, "--no-config", "--msg-level=all=no", "--idle", "--ao=null", "--pause", "--keep-open=always", "--really-quiet", "--no-terminal", + "--load-scripts=no", "--osc=no", "--ytdl=no", "--load-stats-overlay=no", + "--load-auto-profiles=no", "--load-osd-console=no", "--load-select=no", "--autoload-files=no", + "--edition="..(properties["edition"] or "auto"), "--vid="..(vid or "auto"), "--no-sub", "--no-audio", + "--start="..time, allow_fast_seek and "--hr-seek=no" or "--hr-seek=yes", + "--gpu-dumb-mode=yes", "--dither-depth=no", "--hdr-compute-peak=no", "--target-colorspace-hint=no", + "--ytdl-format=worst", "--demuxer-readahead-secs=0", "--demuxer-max-bytes=128KiB", + "--vd-lavc-skiploopfilter=all", "--vd-lavc-skipidct=all", "--vd-lavc-software-fallback=1", "--vd-lavc-fast", "--vd-lavc-threads=2", + "--hwdec="..(options.hwdec and "auto" or "no"), + "--vf="..vf_string(filters_all, true), "--audio-pitch-correction=no", "--deinterlace=no", + "--zimg-scaler=bilinear", "--zimg-fast=yes", + "--video-rotate="..last_rotate, + "--ovc=rawvideo", "--of=image2", "--ofopts=update=1", "--ocopy-metadata=no", "--o="..options.thumbnail + } + + if os_name == "darwin" and properties["macos-app-activation-policy"] then + table.insert(args, "--macos-app-activation-policy=accessory") + end + + if os_name == "windows" or pre_0_33_0 then + table.insert(args, "--input-ipc-server="..options.socket) + local media_controls = mp.get_property_native("media-controls") + if media_controls ~= nil then + table.insert(args, "--media-controls=no") + end + elseif not script_written then + local client_script_path = options.socket..".run" + local script = io.open(client_script_path, "w+") + if script == nil then + mp.msg.error("client script write failed") + return + else + script_written = true + script:write(string.format(client_script, options.socket)) + script:close() + subprocess({"chmod", "+x", client_script_path}, true) + table.insert(args, "--scripts="..client_script_path) + end + else + local client_script_path = options.socket..".run" + table.insert(args, "--scripts="..client_script_path) + end + + table.insert(args, "--") + table.insert(args, path) + + spawned = true + spawn_waiting = true + + subprocess(args, true, + function(success, result) + if spawn_waiting and (success == false or (result.status ~= 0 and result.status ~= -2)) then + spawned = false + spawn_waiting = false + mp.msg.error("mpv subprocess create failed") + if not spawn_working then -- notify users of required configuration + if options.mpv_path == "mpv" then + if properties["current-vo"] == "libmpv" then + if options.mpv_path == mpv_path then -- attempt to locate ImPlay + mpv_path = "ImPlay" + spawn(time) + else -- ImPlay not in path + if os_name ~= "darwin" then + force_disabled = true + info(real_w or effective_w, real_h or effective_h) + end + mp.commandv("show-text", "thumbfast: ERROR! cannot create mpv subprocess", 5000) + mp.commandv("script-message-to", "implay", "show-message", "thumbfast initial setup", "Set mpv_path=PATH_TO_ImPlay in thumbfast config:\n" .. string.gsub(mp.command_native({"expand-path", "~~/script-opts/thumbfast.conf"}), "[/\\]", path_separator).."\nand restart ImPlay") + end + else + mp.commandv("show-text", "thumbfast: ERROR! cannot create mpv subprocess", 5000) + end + else + mp.commandv("show-text", "thumbfast: ERROR! cannot create mpv subprocess", 5000) + -- found ImPlay but not defined in config + mp.commandv("script-message-to", "implay", "show-message", "thumbfast", "Set mpv_path=PATH_TO_ImPlay in thumbfast config:\n" .. string.gsub(mp.command_native({"expand-path", "~~/script-opts/thumbfast.conf"}), "[/\\]", path_separator).."\nand restart ImPlay") + end + end + elseif success == true and (result.status == 0 or result.status == -2) then + if not spawn_working and properties["current-vo"] == "libmpv" and options.mpv_path ~= mpv_path then + mp.commandv("script-message-to", "implay", "show-message", "thumbfast initial setup", "Set mpv_path=ImPlay in thumbfast config:\n" .. string.gsub(mp.command_native({"expand-path", "~~/script-opts/thumbfast.conf"}), "[/\\]", path_separator).."\nand restart ImPlay") + end + spawn_working = true + spawn_waiting = false + end + end + ) +end + +local function run(command) + if not spawned then return end + + if options.direct_io then + local hPipe = winapi.C.CreateFileW(winapi.socket_wc, winapi.GENERIC_WRITE, 0, nil, winapi.OPEN_EXISTING, winapi._createfile_pipe_flags, nil) + if hPipe ~= winapi.INVALID_HANDLE_VALUE then + local buf = command .. "\n" + winapi.C.SetNamedPipeHandleState(hPipe, winapi.PIPE_NOWAIT, nil, nil) + winapi.C.WriteFile(hPipe, buf, #buf + 1, winapi._lpNumberOfBytesWritten, nil) + winapi.C.CloseHandle(hPipe) + end + + return + end + + local command_n = command.."\n" + + if os_name == "windows" then + if file and file_bytes + #command_n >= 4096 then + file:close() + file = nil + file_bytes = 0 + end + if not file then + file = io.open("\\\\.\\pipe\\"..options.socket, "r+b") + end + elseif pre_0_33_0 then + subprocess({"/usr/bin/env", "sh", "-c", "echo '" .. command .. "' | socat - " .. options.socket}) + return + elseif not file then + file = io.open(options.socket, "r+") + end + if file then + file_bytes = file:seek("end") + file:write(command_n) + file:flush() + end +end + +local function draw(w, h, script) + if not w or not show_thumbnail then return end + if x ~= nil then + if pre_0_30_0 then + mp.command_native({"overlay-add", options.overlay_id, x, y, options.thumbnail..".bgra", 0, "bgra", w, h, (4*w)}) + else + mp.command_native_async({"overlay-add", options.overlay_id, x, y, options.thumbnail..".bgra", 0, "bgra", w, h, (4*w)}, function() end) + end + elseif script then + local json, err = mp.utils.format_json({width=w, height=h, x=x, y=y, socket=options.socket, thumbnail=options.thumbnail, overlay_id=options.overlay_id}) + mp.commandv("script-message-to", script, "thumbfast-render", json) + end +end + +local function real_res(req_w, req_h, filesize) + local count = filesize / 4 + local diff = (req_w * req_h) - count + + if (properties["video-params"] and properties["video-params"]["rotate"] or 0) % 180 == 90 then + req_w, req_h = req_h, req_w + end + + if diff == 0 then + return req_w, req_h + else + local threshold = 5 -- throw out results that change too much + local long_side, short_side = req_w, req_h + if req_h > req_w then + long_side, short_side = req_h, req_w + end + for a = short_side, short_side - threshold, -1 do + if count % a == 0 then + local b = count / a + if long_side - b < threshold then + if req_h < req_w then return b, a else return a, b end + end + end + end + return nil + end +end + +local function move_file(from, to) + if os_name == "windows" then + os.remove(to) + end + -- move the file because it can get overwritten while overlay-add is reading it, and crash the player + os.rename(from, to) +end + +local function seek(fast) + if last_seek_time then + run("async seek " .. last_seek_time .. (fast and " absolute+keyframes" or " absolute+exact")) + end +end + +local seek_period = 3/60 +local seek_period_counter = 0 +local seek_timer +seek_timer = mp.add_periodic_timer(seek_period, function() + if seek_period_counter == 0 then + seek(allow_fast_seek) + seek_period_counter = 1 + else + if seek_period_counter == 2 then + if allow_fast_seek then + seek_timer:kill() + seek() + end + else seek_period_counter = seek_period_counter + 1 end + end +end) +seek_timer:kill() + +local function request_seek() + if seek_timer:is_enabled() then + seek_period_counter = 0 + else + seek_timer:resume() + seek(allow_fast_seek) + seek_period_counter = 1 + end +end + +local function check_new_thumb() + -- the slave might start writing to the file after checking existance and + -- validity but before actually moving the file, so move to a temporary + -- location before validity check to make sure everything stays consistant + -- and valid thumbnails don't get overwritten by invalid ones + local tmp = options.thumbnail..".tmp" + move_file(options.thumbnail, tmp) + local finfo = mp.utils.file_info(tmp) + if not finfo then return false end + spawn_waiting = false + local w, h = real_res(effective_w, effective_h, finfo.size) + if w then -- only accept valid thumbnails + move_file(tmp, options.thumbnail..".bgra") + + real_w, real_h = w, h + if real_w and (real_w ~= last_real_w or real_h ~= last_real_h) then + last_real_w, last_real_h = real_w, real_h + info(real_w, real_h) + end + if not show_thumbnail then + file_timer:kill() + end + return true + end + + return false +end + +file_timer = mp.add_periodic_timer(file_check_period, function() + if check_new_thumb() then + draw(real_w, real_h, script_name) + end +end) +file_timer:kill() + +local function clear() + file_timer:kill() + seek_timer:kill() + if options.quit_after_inactivity > 0 then + if show_thumbnail or activity_timer:is_enabled() then + activity_timer:kill() + end + activity_timer:resume() + end + last_seek_time = nil + show_thumbnail = false + last_x = nil + last_y = nil + if script_name then return end + if pre_0_30_0 then + mp.command_native({"overlay-remove", options.overlay_id}) + else + mp.command_native_async({"overlay-remove", options.overlay_id}, function() end) + end +end + +local function quit() + activity_timer:kill() + if show_thumbnail then + activity_timer:resume() + return + end + run("quit") + spawned = false + real_w, real_h = nil, nil + clear() +end + +activity_timer = mp.add_timeout(options.quit_after_inactivity, quit) +activity_timer:kill() + +local function thumb(time, r_x, r_y, script) + if disabled then return end + + time = tonumber(time) + if time == nil then return end + + if r_x == "" or r_y == "" then + x, y = nil, nil + else + x, y = math.floor(r_x + 0.5), math.floor(r_y + 0.5) + end + + script_name = script + if last_x ~= x or last_y ~= y or not show_thumbnail then + show_thumbnail = true + last_x = x + last_y = y + draw(real_w, real_h, script) + end + + if options.quit_after_inactivity > 0 then + if show_thumbnail or activity_timer:is_enabled() then + activity_timer:kill() + end + activity_timer:resume() + end + + if time == last_seek_time then return end + last_seek_time = time + if not spawned then spawn(time) end + request_seek() + if not file_timer:is_enabled() then file_timer:resume() end +end + +local function watch_changes() + if not dirty or not properties["video-out-params"] then return end + dirty = false + + local old_w = effective_w + local old_h = effective_h + + calc_dimensions() + + local vf_reset = vf_string(filters_reset) + local rotate = properties["video-rotate"] or 0 + + local resized = old_w ~= effective_w or + old_h ~= effective_h or + last_vf_reset ~= vf_reset or + (last_rotate % 180) ~= (rotate % 180) or + par ~= last_par + + if resized then + last_rotate = rotate + info(effective_w, effective_h) + elseif last_has_vid ~= has_vid and has_vid ~= 0 then + info(effective_w, effective_h) + end + + if spawned then + if resized then + -- mpv doesn't allow us to change output size + local seek_time = last_seek_time + run("quit") + clear() + spawned = false + spawn(seek_time or mp.get_property_number("time-pos", 0)) + file_timer:resume() + else + if rotate ~= last_rotate then + run("set video-rotate "..rotate) + end + local vf_runtime = vf_string(filters_runtime) + if vf_runtime ~= last_vf_runtime then + run("vf set "..vf_string(filters_all, true)) + last_vf_runtime = vf_runtime + end + end + else + last_vf_runtime = vf_string(filters_runtime) + end + + last_vf_reset = vf_reset + last_rotate = rotate + last_par = par + last_has_vid = has_vid + + if not spawned and not disabled and options.spawn_first and resized then + spawn(mp.get_property_number("time-pos", 0)) + file_timer:resume() + end +end + +local function update_property(name, value) + properties[name] = value +end + +local function update_property_dirty(name, value) + properties[name] = value + dirty = true +end + +local function update_tracklist(name, value) + -- current-tracks shim + for _, track in ipairs(value) do + if track.type == "video" and track.selected then + properties["current-tracks/video"] = track + return + end + end +end + +local function sync_changes(prop, val) + update_property(prop, val) + if val == nil then return end + + if type(val) == "boolean" then + if prop == "vid" then + has_vid = 0 + last_has_vid = 0 + info(effective_w, effective_h) + clear() + return + end + val = val and "yes" or "no" + end + + if prop == "vid" then + has_vid = 1 + end + + if not spawned then return end + + run("set "..prop.." "..val) + dirty = true +end + +local function file_load() + clear() + spawned = false + real_w, real_h = nil, nil + last_real_w, last_real_h = nil, nil + last_seek_time = nil + if info_timer then + info_timer:kill() + info_timer = nil + end + + calc_dimensions() + info(effective_w, effective_h) +end + +local function shutdown() + run("quit") + remove_thumbnail_files() + if os_name ~= "windows" then + os.remove(options.socket) + os.remove(options.socket..".run") + end +end + +local function on_duration(prop, val) + allow_fast_seek = (val or 30) >= 30 +end + +mp.observe_property("current-tracks/video", "native", function(name, value) + if pre_0_33_0 then + mp.unobserve_property(update_tracklist) + pre_0_33_0 = false + end + update_property(name, value) +end) + +mp.observe_property("track-list", "native", update_tracklist) +mp.observe_property("display-hidpi-scale", "native", update_property_dirty) +mp.observe_property("video-out-params", "native", update_property_dirty) +mp.observe_property("video-params", "native", update_property_dirty) +mp.observe_property("vf", "native", update_property_dirty) +mp.observe_property("tone-mapping", "native", update_property_dirty) +mp.observe_property("cache", "native", update_property) +mp.observe_property("demuxer-via-network", "native", update_property) +mp.observe_property('demuxer-cache-state', 'native', update_property) +mp.observe_property("stream-open-filename", "native", update_property) +mp.observe_property("macos-app-activation-policy", "native", update_property) +mp.observe_property("current-vo", "native", update_property) +mp.observe_property("video-rotate", "native", update_property) +mp.observe_property("path", "native", update_property) +mp.observe_property("vid", "native", sync_changes) +mp.observe_property("edition", "native", sync_changes) +mp.observe_property("duration", "native", on_duration) + +mp.register_script_message("thumb", thumb) +mp.register_script_message("clear", clear) + +mp.register_event("file-loaded", file_load) +mp.register_event("shutdown", shutdown) + +mp.register_idle(watch_changes) diff --git a/scripts/trackselect.lua b/scripts/trackselect.lua new file mode 100644 index 0000000..e9a0e92 --- /dev/null +++ b/scripts/trackselect.lua @@ -0,0 +1,257 @@ +-- trackselect.lua +-- https://github.com/po5/trackselect +-- Because --slang isn't smart enough. +-- +-- This script tries to select non-dub +-- audio and subtitle tracks. +-- Idea from https://github.com/siikamiika/scripts/blob/master/mpv%20scripts/dualaudiofix.lua + +local opt = require 'mp.options' +local utils = require 'mp.utils' + +local defaults = { + audio = { + selected = nil, + best = {}, + lang_score = nil, + channels_score = -math.huge, + preferred = "jpn/japanese", + excluded = "", + expected = "", + id = "" + }, + video = { + selected = nil, + best = {}, + lang_score = nil, + preferred = "", + excluded = "", + expected = "", + id = "" + }, + sub = { + selected = nil, + best = {}, + lang_score = nil, + preferred = "eng", + excluded = "sign", + expected = "", + id = "" + } +} + +local options = { + enabled = true, + + -- Do track selection synchronously, plays nicer with other scripts + hook = true, + + -- Mimic mpv's track list fingerprint to preserve user-selected tracks across files + fingerprint = false, + + -- Override user's explicit track selection + force = false, + + -- Try to re-select the last track if mpv cannot do it e.g. when fingerprint changes + smart_keep = false, + + --add above (after a comma) any protocol to disable + special_protocols = [[ + ["://", "^magnet:"] + ]], +} + +for _type, track in pairs(defaults) do + options["preferred_" .. _type .. "_lang"] = track.preferred + options["excluded_" .. _type .. "_words"] = track.excluded + options["expected_" .. _type .. "_words"] = track.expected +end + +options["preferred_audio_channels"] = "" + +local tracks = {} +local last = {} +local fingerprint = "" + +opt.read_options(options, _, function() end) + +options.special_protocols = utils.parse_json(options.special_protocols) + +local function need_ignore(tab, val) + for index, element in ipairs(tab) do + if string.find(val, element) then + return true + end + end + return false +end + +function contains(track, words, attr) + if not track[attr] then return false end + local i = 0 + if track.external then + i = 1 + end + for word in string.gmatch(words:lower(), "([^/]+)") do + i = i - 1 + if string.find(tostring(track[attr] or ""):lower(), word) then + return i + end + end + return false +end + +function preferred(track, words, attr, title) + local score = contains(track, words, attr) + if not score then + if tracks[track.type][title] == nil then + tracks[track.type][title] = -math.huge + return true + end + return false + end + if tracks[track.type][title] == nil or score > tracks[track.type][title] then + tracks[track.type][title] = score + return true + end + return false +end + +function preferred_or_equals(track, words, attr, title) + local score = contains(track, words, attr) + if not score then + if tracks[track.type][title] == nil or tracks[track.type][title] == -math.huge then + return true + end + return false + end + if tracks[track.type][title] == nil or score >= tracks[track.type][title] then + return true + end + return false +end + +function copy(obj) + if type(obj) ~= "table" then return obj end + local res = {} + for k, v in pairs(obj) do res[k] = copy(v) end + return res +end + +function track_layout_hash(tracklist) + local t = {} + for _, track in ipairs(tracklist) do + t[#t + 1] = string.format("%s-%d-%s-%s-%s-%s", track.type, track.id, tostring(track.default), + tostring(track.external), track.lang or "", track.external and "" or (track.title or "")) + end + return table.concat(t, "\n") +end + +function trackselect() + local fpath = mp.get_property('path') + if not options.enabled then return end + if need_ignore(options.special_protocols, fpath) then return end + tracks = copy(defaults) + local filename = mp.get_property("filename/no-ext") + local tracklist = mp.get_property_native("track-list") + local tracklist_changed = false + local found_last = {} + if options.fingerprint then + local new_fingerprint = track_layout_hash(tracklist) + if new_fingerprint == fingerprint then + return + end + fingerprint = new_fingerprint + tracklist_changed = true + end + for _, track in ipairs(tracklist) do + if options.smart_keep and last[track.type] ~= nil and last[track.type].lang == track.lang and + last[track.type].codec == track.codec and last[track.type].external == track.external and + last[track.type].title == track.title then + tracks[track.type].best = track + options["preferred_" .. track.type .. "_lang"] = "" + options["excluded_" .. track.type .. "_words"] = "" + options["expected_" .. track.type .. "_words"] = "" + options["preferred_" .. track.type .. "_channels"] = "" + found_last[track.type] = true + elseif not options.force and (tracklist_changed or not options.fingerprint) then + if tracks[track.type].id == "" then + tracks[track.type].id = mp.get_property(track.type:sub(1, 1) .. "id", "auto") + end + if tracks[track.type].id ~= "auto" then + options["preferred_" .. track.type .. "_lang"] = "" + options["excluded_" .. track.type .. "_words"] = "" + options["expected_" .. track.type .. "_words"] = "" + options["preferred_" .. track.type .. "_channels"] = "" + end + end + if options["preferred_" .. track.type .. "_lang"] ~= "" or options["excluded_" .. track.type .. "_words"] ~= "" + or options["expected_" .. track.type .. "_words"] ~= "" or + (options["preferred_" .. track.type .. "_channels"] or "") ~= "" then + if track.selected then + tracks[track.type].selected = track.id + if options.smart_keep then + last[track.type] = track + end + end + if track.title then + track.title = string.gsub(string.gsub(track.title, "[%(%)%.%+%-%*%?%[%]%^%$%%]", "%%%1"), filename, "") + end + if next(tracks[track.type].best) == nil or not (tracks[track.type].best.external + and tracks[track.type].best.lang ~= nil and not track.external) then + if options["excluded_" .. track.type .. "_words"] == "" or + not contains(track, options["excluded_" .. track.type .. "_words"], "title") then + if options["expected_" .. track.type .. "_words"] == "" or + contains(track, options["expected_" .. track.type .. "_words"], "title") then + local pass = true + local channels = false + local lang = false + if (options["preferred_" .. track.type .. "_channels"] or "") ~= "" and + preferred_or_equals(track, options["preferred_" .. track.type .. "_lang"], "lang", + "lang_score") then + channels = preferred(track, options["preferred_" .. track.type .. "_channels"], + "demux-channel-count", "channels_score") + pass = channels + end + if options["preferred_" .. track.type .. "_lang"] ~= "" then + lang = preferred(track, options["preferred_" .. track.type .. "_lang"], "lang", "lang_score") + end + if (options["preferred_" .. track.type .. "_lang"] == "" and pass) or channels or lang or + (track.external and track.lang == nil and + (not tracks[track.type].best.external or tracks[track.type].best.lang == nil)) then + tracks[track.type].best = track + end + end + end + end + end + end + for _type, track in pairs(tracks) do + if next(track.best) ~= nil and track.best.id ~= track.selected then + mp.set_property(_type:sub(1, 1) .. "id", track.best.id) + if options.smart_keep and found_last[track.best.type] then + last[track.best.type] = track.best + end + end + end +end + +function selected_tracks() + local tracklist = mp.get_property_native("track-list") + last = {} + for _, track in ipairs(tracklist) do + if track.selected then + last[track.type] = track + end + end +end + +if options.hook then + mp.add_hook("on_preloaded", 50, trackselect) +else + mp.register_event("file-loaded", trackselect) +end + +if options.smart_keep then + mp.register_event("track-switched", selected_tracks) +end \ No newline at end of file diff --git a/scripts/undoredo.lua b/scripts/undoredo.lua new file mode 100644 index 0000000..c5d8f7b --- /dev/null +++ b/scripts/undoredo.lua @@ -0,0 +1,218 @@ +-- Copyright (c) 2021, Eisa AlAwadhi +-- License: BSD 2-Clause License + +-- Creator: Eisa AlAwadhi +-- Project: UndoRedo +-- Version: 2.2 + +local utils = require 'mp.utils' +local msg = require 'mp.msg' +local seconds = 0 +local countTimer = -1 +local seekTime = 0 +local seekNumber = 0 +local currentIndex = 0 +local seekTable = {} +local seeking = 0 +local undoRedo = 0 +local pause = false +seekTable[0] = 0 + +----------------------------USER CUSTOMIZATION SETTINGS----------------------------------- +--These settings are for users to manually change some options in the script. +--Keybinds can be defined in the bottom of the script. + +local osd_messages = true --true is for displaying osd messages when actions occur, Change to false will disable all osd messages generated from this script + +---------------------------END OF USER CUSTOMIZATION SETTINGS--------------------- + +local function prepareUndoRedo() + if (pause == true) then + seconds = seconds + else + seconds = seconds - 0.5 + end + seekTable[currentIndex] = seekTable[currentIndex] + seconds + seconds = 0 +end + +local function getUndoRedo() + if (seeking == 0) then + prepareUndoRedo() + + seekNumber = currentIndex + 1 + currentIndex = seekNumber + seekTime = math.floor(mp.get_property_number('time-pos')) + table.insert(seekTable, seekNumber, seekTime) + + undoRedo = 0 + + elseif (seeking == 1) then + seeking = 0 + end +end + +mp.register_event('file-loaded', function() + filePath = mp.get_property('path') + + timer = mp.add_periodic_timer(0.1, function() + seconds = seconds + 0.1 + end) + + if (pause == true) then + timer:stop() + else + timer:resume() + end + + timer2 = mp.add_periodic_timer(0.1, function() + countTimer = countTimer + 0.1 + + if (countTimer == 0.6) then + timer:resume() + getUndoRedo() + end + + end) + + timer2:stop() +end) + + +mp.register_event('seek', function() + countTimer = 0 + timer2:resume() + timer:stop() +end) + +mp.observe_property('pause', 'bool', function(name, value) + if value then + if timer ~= nil then + timer:stop() + end + pause = true + else + if timer ~= nil then + timer:resume() + end + pause = false + end +end) + +mp.register_event('end-file', function() + if timer ~= nil then + timer:kill() + end + if timer2 ~= nil then + timer2:kill() + end + seekNumber = 0 + currentIndex = 0 + undoRedo = 0 + seconds = 0 + countTimer = -1 + seekTable[0] = 0 +end) + +local function undo() + if (filePath ~= nil) and (countTimer >= 0) and (countTimer < 0.6) and (seeking == 0) then + timer2:stop() + + getUndoRedo() + + currentIndex = currentIndex - 1 + if (currentIndex < 0) then + if (osd_messages == true) then + mp.osd_message('No Undo Found') + end + currentIndex = 0 + msg.info('No undo found') + else + if (seekTable[currentIndex] < 0) then + seekTable[currentIndex] = 0 + end + + seeking = 1 + + mp.commandv('seek', seekTable[currentIndex], 'absolute', 'exact') + + undoRedo = 1 + if (osd_messages == true) then + mp.osd_message('Undo') + end + msg.info('Seeked using undo') + end + elseif (filePath ~= nil) and (currentIndex > 0) then + + prepareUndoRedo() + currentIndex = currentIndex - 1 + + if (seekTable[currentIndex] < 0) then + seekTable[currentIndex] = 0 + end + + seeking = 1 + mp.commandv('seek', seekTable[currentIndex], 'absolute', 'exact') + + undoRedo = 1 + if (osd_messages == true) then + mp.osd_message('Undo') + end + msg.info('Seeked using undo') + elseif (filePath ~= nil) and (currentIndex == 0) then + if (osd_messages == true) then + mp.osd_message('No Undo Found') + end + msg.info('No undo found') + end +end + +local function redo() + if (filePath ~= nil) and (currentIndex < seekNumber) then + + prepareUndoRedo() + currentIndex = currentIndex + 1 + + if (seekTable[currentIndex] < 0) then + seekTable[currentIndex] = 0 + end + + seeking = 1 + mp.commandv('seek', seekTable[currentIndex], 'absolute', 'exact') + + undoRedo = 0 + + if (osd_messages == true) then + mp.osd_message('Redo') + end + msg.info('Seeked using redo') + elseif (filePath ~= nil) and (currentIndex == seekNumber) then + if (osd_messages == true) then + mp.osd_message('No Redo Found') + end + msg.info('No redo found') + end +end + +local function undoLoop() + if (filePath ~= nil) and (undoRedo == 0) then + undo() + elseif (filePath ~= nil) and (undoRedo == 1) then + redo() + elseif (filePath ~= nil) and (countTimer == -1) then + if (osd_messages == true) then + mp.osd_message('No Undo Found') + end + msg.info('No undo found') + end +end + + +mp.add_key_binding("ctrl+z", "undo", undo) +mp.add_key_binding("ctrl+Z", "undoCaps", undo) + +mp.add_key_binding("ctrl+y", "redo", redo) +mp.add_key_binding("ctrl+Y", "redoCaps", redo) + +mp.add_key_binding("ctrl+alt+z", "undoLoop", undoLoop) +mp.add_key_binding("ctrl+alt+Z", "undoLoopCaps", undoLoop) \ No newline at end of file diff --git a/scripts/uosc/LICENSE.LGPL b/scripts/uosc/LICENSE.LGPL new file mode 100644 index 0000000..4362b49 --- /dev/null +++ b/scripts/uosc/LICENSE.LGPL @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library 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 2.1 of the License, or (at your option) any later version. + + This library 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 library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/scripts/uosc/README.md b/scripts/uosc/README.md new file mode 100644 index 0000000..84f80e9 --- /dev/null +++ b/scripts/uosc/README.md @@ -0,0 +1,545 @@ +

+

uosc

+

+ Feature-rich minimalist proximity-based UI for MPV player. +

+
+ Preview screenshot +
+ +Features: + +- UI elements hide and show based on their proximity to cursor instead of every time mouse moves. This provides 100% control over when you see the UI and when you don't. Click on the preview above to see it in action. +- When timeline is unused, it can minimize itself into a small discrete progress bar. +- Build your own context menu with nesting support by editing your `input.conf` file. +- Configurable controls bar. +- Fast and efficient thumbnails with [thumbfast](https://github.com/po5/thumbfast) integration. +- UIs for: + - Selecting subtitle/audio/video track. + - [Downloading subtitles](#download-subtitles) from [Open Subtitles](https://www.opensubtitles.com). + - Loading external subtitles. + - Selecting stream quality. + - Quick directory and playlist navigation. +- All menus are instantly searchable. Just start typing. +- Mouse scroll wheel does multiple things depending on what is the cursor hovering over: + - Timeline: seek by `timeline_step` seconds per scroll. + - Volume bar: change volume by `volume_step` per scroll. + - Speed bar: change speed by `speed_step` per scroll. + - Just hovering video with no UI widget below cursor: your configured wheel bindings from `input.conf`. +- Right click on volume or speed elements to reset them. +- Transforming chapters into timeline ranges (the red portion of the timeline in the preview). +- A lot of useful options and commands to bind keys to. +- [API for 3rd party scripts](https://github.com/tomasklaen/uosc/wiki) to extend, or use uosc to render their menus. + +[Changelog](https://github.com/tomasklaen/uosc/releases). + +## Install + +1. These commands will install or update **uosc** and place a default `uosc.conf` file into `script-opts` if it doesn't exist already. + + ### Windows + + _Optional, needed to run a remote script the first time if not enabled already:_ + + ```powershell + Set-ExecutionPolicy RemoteSigned -Scope CurrentUser + ``` + + Run: + + ```powershell + irm https://raw.githubusercontent.com/tomasklaen/uosc/HEAD/installers/windows.ps1 | iex + ``` + + _**NOTE**: If this command is run in an mpv installation directory with `portable_config`, it'll install there instead of `AppData`._ + + _**NOTE2**: The downloaded archive might trigger false positives in some antiviruses. This is explained in [FAQ below](#why-is-the-release-reported-as-malicious-by-some-antiviruses)._ + + ### Linux & macOS + + _Requires **curl** and **unzip**._ + + ```sh + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/tomasklaen/uosc/HEAD/installers/unix.sh)" + ``` + + On Linux, we try to detect what package manager variant of the config location you're using, with precedent being: + + ``` + ~/.var/app/io.mpv.Mpv (flatpak) + ~/snap/mpv + ~/snap/mpv-wayland + ~/.config/mpv + ``` + + To install into any of these locations, make sure the ones above it don't exist. + + ### Manual + + 1. Download & extract [`uosc.zip`](https://github.com/tomasklaen/uosc/releases/latest/download/uosc.zip) into your mpv config directory. (_See the [documentation of mpv config locations](https://mpv.io/manual/master/#files)._) + + 2. If you don't have it already, download & extract [`uosc.conf`](https://github.com/tomasklaen/uosc/releases/latest/download/uosc.conf) into `script-opts` inside your mpv config directory. It contains all of uosc options along with their default values and documentation. + +2. **OPTIONAL**: `mpv.conf` tweaks to better integrate with **uosc**: + + ```config + # uosc provides seeking & volume indicators (via flash-timeline and flash-volume commands) + # if you decide to use them, you don't need osd-bar + osd-bar=no + + # uosc will draw its own window controls and border if you disable window border + border=no + ``` + +3. **OPTIONAL**: To have thumbnails in timeline, install [thumbfast](https://github.com/po5/thumbfast). No other step necessary, **uosc** integrates with it seamlessly. + +4. **OPTIONAL**: If the UI feels sluggish/slow while playing video, you can remedy this _a bit_ by placing this in your `mpv.conf`: + + ```config + video-sync=display-resample + ``` + + Though this does come at the cost of a little bit higher CPU/GPU load. + + #### What is going on? + + **uosc** places performance as one of its top priorities, but it might feel a bit sluggish because during a video playback, the UI rendering frequency is chained to its frame rate. To test this, you can pause the video which will switch refresh rate to be closer or match the frequency of your monitor, and the UI should feel smoother. This is mpv limitation, and not much we can do about it on our side. + +#### Build instructions + +To build ziggy (our utility binary) yourself, run: + +``` +tools/build ziggy +``` + +Which will run the `tools/build(.ps1)` script that builds it for each platform. It requires [go](https://go.dev/) to be installed. Source code is in `src/ziggy`. + +## Options + +All of the available **uosc** options with their default values are documented in [`uosc.conf`](https://github.com/tomasklaen/uosc/blob/HEAD/src/uosc.conf) file ([download](https://github.com/tomasklaen/uosc/releases/latest/download/uosc.conf)). + +To change the font, **uosc** respects the mpv's `osd-font` configuration. + +## Navigation + +These bindings are active when any **uosc** menu is open (main menu, playlist, load/select subtitles,...): + +- `up`, `down` - Select previous/next item. +- `enter` - Activate item or submenu. +- `bs` (backspace) - Activate parent menu. +- `esc` - Close menu. +- `wheel_up`, `wheel_down` - Scroll menu. +- `pgup`, `pgdwn`, `home`, `end` - Self explanatory. +- `ctrl+f` or `\` - In case `menu_type_to_search` config option is disabled, these two trigger the menu search instead. +- `ctrl+backspace` - Delete search query by word. +- `shift+backspace` - Clear search query. +- Holding `alt` while activating an item should prevent closing the menu (this is just a guideline, not all menus behave this way). + +Each menu can also add its own shortcuts and bindings for special actions on items/menu, such as `del` to delete a playlist item, `ctrl+up/down/pgup/pgdwn/home/end` to move it around, etc. These are usually also exposed as item action buttons for you to find out about them that way. + +Click on a faded parent menu to go back to it. + +## Commands + +**uosc** provides various commands with useful features to bind your preferred keys to, or populate your menu with. These are all unbound by default. + +To add a keybind to one of this commands, open your `input.conf` file and add one on a new line. The command syntax is `script-binding uosc/{command-name}`. + +Example to bind the `tab` key to toggle the ui visibility: + +``` +tab script-binding uosc/toggle-ui +``` + +Available commands: + +#### `toggle-ui` + +Makes the whole UI visible until you call this command again. Useful for peeking remaining time and such while watching. + +There's also a `toggle-elements ` message you can send to toggle one or more specific elements by specifying their names separated by comma: + +``` +script-message-to uosc toggle-elements timeline,speed +``` + +Available element IDs: `timeline`, `controls`, `volume`, `top_bar`, `speed` + +Under the hood, `toggle-ui` is using `toggle-elements`, and that is in turn using the `set-min-visibility []` message. `` is a `0-1` floating point. Leave out `` to set it for all elements. + +#### `toggle-progress` + +Toggles the timeline progress mode on/off. Progress mode is an always visible thin version of timeline with no text labels. It can be configured using the `progress*` config options. + +#### `toggle-title` + +Toggles the top bar title between main and alternative title's. This can also be done by clicking on the top bar. + +Only relevant if top bar is enabled, `top_bar_alt_title` is configured, and `top_bar_alt_title_place` is `toggle`. + +#### `flash-ui` + +Command(s) to briefly flash the whole UI. Elements are revealed for a second and then fade away. + +To flash individual elements, you can use: `flash-timeline`, `flash-progress`, `flash-top-bar`, `flash-volume`, `flash-speed`, `flash-pause-indicator`, `decide-pause-indicator` + +There's also a `flash-elements ` message you can use to flash one or more specific elements. Example: + +``` +script-message-to uosc flash-elements timeline,speed +``` + +Available element IDs: `timeline`, `progress`, `controls`, `volume`, `top_bar`, `speed`, `pause_indicator` + +This is useful in combination with other commands that modify values represented by flashed elements, for example: flashing volume element when changing the volume. + +You can use it in your bindings like so: + +``` +space cycle pause; script-binding uosc/flash-pause-indicator +right seek 5 +left seek -5 +shift+right seek 30; script-binding uosc/flash-timeline +shift+left seek -30; script-binding uosc/flash-timeline +m no-osd cycle mute; script-binding uosc/flash-volume +up no-osd add volume 10; script-binding uosc/flash-volume +down no-osd add volume -10; script-binding uosc/flash-volume +[ no-osd add speed -0.25; script-binding uosc/flash-speed +] no-osd add speed 0.25; script-binding uosc/flash-speed +\ no-osd set speed 1; script-binding uosc/flash-speed +> script-binding uosc/next; script-message-to uosc flash-elements top_bar,timeline +< script-binding uosc/prev; script-message-to uosc flash-elements top_bar,timeline +``` + +Case for `(flash/decide)-pause-indicator`: mpv handles frame stepping forward by briefly resuming the video, which causes pause indicator to flash, and none likes that when they are trying to compare frames. The solution is to enable manual pause indicator (`pause_indicator=manual`) and use `flash-pause-indicator` (for a brief flash) or `decide-pause-indicator` (for a static indicator) as a secondary command to appropriate bindings. + +#### `menu` + +Toggles default menu. Read [Menu](#menu-1) section below to find out how to fill it up with items you want there. + +Note: there's also a `menu-blurred` command that opens a menu without pre-selecting the 1st item, suitable for commands triggered with a mouse, such as control bar buttons. + +#### `subtitles`, `audio`, `video` + +Menus to select a track of a requested type. + +#### `load-subtitles`, `load-audio`, `load-video` + +Displays a file explorer with directory navigation to load a requested track type. + +For subtitles, the explorer only displays file types defined in `subtitle_types` option. For audio and video, the ones defined in `video_types` and `audio_types` are displayed. + +#### `download-subtitles` + +A menu to search and download subtitles from [Open Subtitles](https://www.opensubtitles.com). It can also be opened by selecting the **Download** option in `subtitles` menu. + +We fetch results for languages defined in *uosc**'s `languages` option, which defaults to your mpv `slang` configuration. + +We also hash the current file and send the hash to Open Subtitles so you can search even with empty query and if your file is known, you'll get subtitles exactly for it. + +Subtitles will be downloaded to the same directory as currently opened file, or `~~/subtitles` (folder in your mpv config directory) if playing a URL. + +Current Open Subtitles limit for unauthenticated requests is **5 download per day**, but searching is unlimited. Authentication raises downloads to 10, which doesn't feel like it's worth the effort of implementing it, so currently there's no way to authenticate. 5 downloads per day seems sufficient for most use cases anyway, as if you need more, you should probably just deal with it in the browser beforehand so you don't have to fiddle with the subtitle downloading menu every time you start playing a new file. + +#### `playlist` + +Playlist navigation. + +#### `chapters` + +Chapter navigation. + +#### `editions` + +Editions menu. Editions are different video cuts available in some mkv files. + +#### `stream-quality` + +Switch stream quality. This is just a basic re-assignment of `ytdl-format` mpv property from predefined options (configurable with `stream_quality_options`) and video reload, there is no fetching of available formats going on. + +#### `keybinds` + +Displays a command palette menu with all currently active keybindings (defined in your `input.conf` file, or registered by scripts). Useful to check what command is bound to what shortcut, or the other way around. + +#### `open-file` + +Open file menu. Browsing starts in current file directory, or user directory when file not available. The explorer only displays file types defined in the `video_types`, `audio_types`, and `image_types` options. + +You can use `alt+enter` or `alt+click` to load the whole directory in mpv instead of navigating its contents. +You can also use `ctrl+enter` or `ctrl+click` to append a file or directory to the playlist. + +#### `items` + +Opens `playlist` menu when playlist exists, or `open-file` menu otherwise. + +#### `next`, `prev` + +Open next/previous item in playlist, or file in current directory when there is no playlist. Enable `loop-playlist` to loop around. + +#### `first`, `last` + +Open first/last item in playlist, or file in current directory when there is no playlist. + +#### `next-file`, `prev-file` + +Open next/prev file in current directory. Enable `loop-playlist` to loop around + +#### `first-file`, `last-file` + +Open first/last file in current directory. + +#### `shuffle` + +Toggle uosc's playlist/directory shuffle mode on or off. + +This simply makes the next selected playlist or directory item be random, like the shuffle function of most other players. This does not modify the actual playlist in any way, in contrast to the mpv built-in command `playlist-shuffle`. + +#### `delete-file-next` + +Delete currently playing file and start next file in playlist (if there is a playlist) or current directory. + +Useful when watching episodic content. + +#### `delete-file-quit` + +Delete currently playing file and quit mpv. + +#### `show-in-directory` + +Show current file in your operating systems' file explorer. + +#### `audio-device` + +Switch audio output device. + +#### `paste`, `paste-to-open`, `paste-to-playlist` + +Commands to paste path or URL in clipboard to either open immediately, or append to playlist. + +`paste` will add to playlist if there's any (`playlist-count > 1`), or open immediately otherwise. + +`paste-to-playlist` will also open the pasted file if mpv is idle (no file open). + +Note: there are alternative ways to open stuff from clipboard without the need to bind these commands: + +- When `open-file` menu is open → `ctrl+v` to open path/URL in clipboard. +- When `playlist` menu is open → `ctrl+v` to add path/URL in clipboard to playlist. +- When any track menu (`subtitles`, `audio`, `video`) is open → `ctrl+v` to add path/URL in clipboard as a new track. + +#### `copy-to-clipboard` + +Copy currently open path or URL to clipboard. + +Additionally, you can also press `ctrl+c` to copy path of a selected item in `playlist` or all directory listing menus. + +#### `open-config-directory` + +Open directory with `mpv.conf` in file explorer. + +#### `update` + +Updates uosc to the latest stable release right from the UI. Available in the "Utils" section of default menu . + +Supported environments: + +| Env | Works | Note | +|:---|:---:|---| +| Windows | ✔️ | _Not tested on older PowerShell versions. You might need to `Set-ExecutionPolicy` from the install instructions and install with the terminal command first._ | +| Linux (apt) | ✔️ | | +| Linux (flatpak) | ✔️ | | +| Linux (snap) | ❌ | We're not allowed to access commands like `curl` even if they're installed. (Or at least this is what I think the issue is.) | +| MacOS | ❌ | `(23) Failed writing body` error, whatever that means. | + +If you know about a solution to fix self-updater for any of the currently broken environments, please make an issue/PR and share it with us! + +**Note:** The terminal commands from install instructions still work fine everywhere, so you can use those to update instead. + +## Menu + +**uosc** provides a way to build, display, and use your own menu. By default it displays a pre-configured menu with common actions. + +To display the menu, add **uosc**'s `menu` command to a key of your choice. Example to bind it to **right click** and **menu** buttons: + +``` +mbtn_right script-binding uosc/menu +menu script-binding uosc/menu +``` + +To display a submenu, send a `show-submenu` message to **uosc** with first parameter specifying menu ID. Example: + +``` +R script-message-to uosc show-submenu "Utils > Aspect ratio" +``` + +Note: The **menu** key is the one nobody uses between the **win** and **right_ctrl** keys (it might not be on your keyboard). + +### Adding items to menu + +Adding items to menu is facilitated by commenting your keybinds in `input.conf` with special comment syntax. **uosc** will than parse this file and build the context menu out of it. + +#### Syntax + +Comment has to be at the end of the line with the binding. + +Comment has to start with `#!` (or `#menu:`). + +Text after `#!` is an item title. + +Title can be split with `>` to define nested menus. There is no limit on nesting. + +Use `#` instead of a key if you don't necessarily want to bind a key to a command, but still want it in the menu. + +If multiple menu items with the same command are defined, **uosc** will concatenate them into one item and just display all available shortcuts as that items' hint, while using the title of the first defined item. + +Menu items are displayed in the order they are defined in `input.conf` file. + +The command `ignore` does not result in a menu item, however all the folders leading up to it will still be created. +This allows more flexible structuring of the `input.conf` file. + +#### Examples + +Adds a menu item to load subtitles: + +``` +alt+s script-binding uosc/load-subtitles #! Load subtitles +``` + +Adds a stay-on-top toggle with no keybind: + +``` +# cycle ontop #! Toggle on-top +``` + +Define and display multiple shortcuts in single items' menu hint (items with same command get concatenated): + +``` +esc quit #! Quit +q quit #! +``` + +Define a folder without defining any of its contents: + +``` +# ignore #! Folder title > +``` + +Define an un-selectable, muted, and italic title item by using `#` as key, and omitting the command: + +``` +# #! Title +# #! Section > Title +``` + +Define a separator between previous and next items by doing the same, but using `---` as title: + +``` +# #! --- +# #! Section > --- +``` + +Example context menu: + +This is the default pre-configured menu if none is defined in your `input.conf`, but with added shortcuts. To both pause & move the window with left mouse button, so that you can have the menu on the right one, enable `click_threshold` in `uosc.conf` (see default `uosc.conf` for example/docs). + +``` +menu script-binding uosc/menu +mbtn_right script-binding uosc/menu +s script-binding uosc/subtitles #! Subtitles +a script-binding uosc/audio #! Audio tracks +q script-binding uosc/stream-quality #! Stream quality +p script-binding uosc/items #! Playlist +c script-binding uosc/chapters #! Chapters +> script-binding uosc/next #! Navigation > Next +< script-binding uosc/prev #! Navigation > Prev +alt+> script-binding uosc/delete-file-next #! Navigation > Delete file & Next +alt+< script-binding uosc/delete-file-prev #! Navigation > Delete file & Prev +alt+esc script-binding uosc/delete-file-quit #! Navigation > Delete file & Quit +o script-binding uosc/open-file #! Navigation > Open file +# set video-aspect-override "-1" #! Utils > Aspect ratio > Default +# set video-aspect-override "16:9" #! Utils > Aspect ratio > 16:9 +# set video-aspect-override "4:3" #! Utils > Aspect ratio > 4:3 +# set video-aspect-override "2.35:1" #! Utils > Aspect ratio > 2.35:1 +# script-binding uosc/audio-device #! Utils > Audio devices +# script-binding uosc/editions #! Utils > Editions +ctrl+s async screenshot #! Utils > Screenshot +alt+i script-binding uosc/keybinds #! Utils > Key bindings +O script-binding uosc/show-in-directory #! Utils > Show in directory +# script-binding uosc/open-config-directory #! Utils > Open config directory +# script-binding uosc/update #! Utils > Update uosc +esc quit #! Quit +``` + +To see all the commands you can bind keys or menu items to, refer to [mpv's list of input commands documentation](https://mpv.io/manual/master/#list-of-input-commands). + +## Messages + +**uosc** listens on some messages that can be sent with `script-message-to uosc` command. Example: + +``` +R script-message-to uosc show-submenu "Utils > Aspect ratio" +``` + +### `show-submenu `, `show-submenu-blurred ` + +Opens one of the submenus defined in `input.conf` (read on how to build those in the Menu documentation above). To prevent 1st item being preselected, use `show-submenu-blurred` instead. + +Parameters + +##### `` + +ID (title) of the submenu, including `>` subsections as defined in `input.conf`. It has to be match the title exactly. + +## Scripting API + +3rd party script developers can use our messaging API to integrate with uosc, or use it to render their menus. Documentation is available in [uosc Wiki](https://github.com/tomasklaen/uosc/wiki). + +## Contributing + +### Localization + +If you want to help localizing uosc by either adding a new locale or fixing one that is not up to date, start by running this while in the repository root: + +``` +tools/intl languagecode +``` + +`languagecode` can be any existing locale in `src/uosc/intl/` directory, or any [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag). If it doesn't exist yet, the `intl` tool will create it. + +This will parse the codebase for localization strings and use them to either update existing locale by removing unused and setting untranslated strings to `null`, or create a new one with all `null` strings. + +You can then navigate to `src/uosc/intl/languagecode.json` and start translating. + +### Setting up binaries + +If you want to test or work on something that involves ziggy (our multitool binary, currently handles searching & downloading subtitles), you first need to build it with: + +``` +tools/build ziggy +``` + +This requires [`go`](https://go.dev/dl/) to be installed and in path. If you don't want to bother with installing go, and there were no changes to ziggy, you can just use the binaries from [latest release](https://github.com/tomasklaen/uosc/releases/latest/download/uosc.zip). Place folder `scripts/uosc/bin` from `uosc.zip` into `src/uosc/bin`. + +## FAQ + +#### Why is the release zip size in megabytes? Isn't this just a lua script? + +We are limited in what we can do in mpv's lua scripting environment. To work around this, we include a binary tool (one for each platform), that we call to handle stuff we can't do in lua. Currently this means searching & downloading subtitles, accessing clipboard data, and in future might improve self updating, and potentially other things. + +Other scripts usually choose to go the route of adding python scripts and requiring users to install the runtime. I don't like this as I want the installation process to be as seamless and as painless as possible. I also don't want to contribute to potential python version mismatch issues, because one tool depends on 2.7, other latest 3, and this one 3.9 only and no newer (real world scenario that happened to me), now have fun reconciling this. Depending on external runtimes can be a mess, and shipping a stable, tiny, and fast binary that users don't even have to know about is imo more preferable than having unstable external dependencies and additional installation steps that force everyone to install and manage hundreds of megabytes big runtimes in global `PATH`. + +#### Why don't you have `uosc-{platform}.zip` releases and only include binaries for the concerned platform in each? + +Then you wouldn't be able to sync your mpv config between platforms and everything _just work_. + +#### Why is the release reported as malicious by some antiviruses? + +Some antiviruses find our binaries suspicious due to the way go packages them. This is a known issue with all go binaries (https://go.dev/doc/faq#virus). I think the only way to solve that would be to sign them (not 100% sure though), but I'm not paying to work on free stuff. If anyone is bothered by this, and would be willing to donate a code signing certificate, let me know. + +If you want to check the binaries are safe, the code is in `src/ziggy`, and you can build them yourself by running `tools/build ziggy` in the repository root. + +We might eventually rewrite it in something else. + +#### Why _uosc_? + +It stood for micro osc as it used to render just a couple rectangles before it grew to what it is today. And now it means a minimalist UI design direction where everything is out of your way until needed. diff --git a/scripts/uosc/char-conv/zh.json b/scripts/uosc/char-conv/zh.json new file mode 100644 index 0000000..ddab0d3 --- /dev/null +++ b/scripts/uosc/char-conv/zh.json @@ -0,0 +1,405 @@ +{ + "a": "阿啊呵腌嗄锕錒", + "ai": "爱唉挨碍哀矮埃哎艾癌隘蔼嗳皑霭捱暧瑷娭砹锿嫒薆䔽㤅鴱㗨藹㕌磑礙硋䑂愛壒㘷叆靉䨠毐塧靄璦㱯䶣瞹䀳濭溰溾曖昹啀噯嘊㗒㝶䝽敱敳賹懓懝㢊銰鑀鱫鎄皧皚馤躷䅬㿄凒娾嬡伌㑸僾餲䬵譪譺", + "an": "安按案暗岸氨俺铵胺鞍黯庵桉谙鮟鹌咹犴广厂埯揞菴蓭荌萻葊隌㸩䮗㱘鵪豻貋腤雸堓垵䎨玵䁆洝晻唵啽㽢罯㟁屵䯥峖鞌䅁錌銨䅖馣痷鶕闇媕㜝盫儑侒䬓偣韽盦䎏䜙諳誝", + "ang": "昂肮盎䩕䒢䭹䭺䀚昻㦹㼜骯岇醠㭿枊䍩仰", + "ao": "傲熬凹遨嗷奥拗澳袄懊坳敖翱螯鳌鏖岙媪鏊骜艹聱獒廒蔜芺隞隩䮯厫磝䦋奡镺䐿䞝垇㘬墺㘭璈嗸嶅䫨㥿驁鰲鷔䵅摮嫯鼇謷䁱滶澚㕭軪䯠㟼㠂㠗岰慠㤇爊襖䥝獓翶擙抝䚫梎柪翺嶴䴈奧㿰㜜媼㜩㑃謸䜒", + "ba": "把八吧巴爸罢拔霸坝叭芭扒跋疤靶耙粑笆钯伯茇菝灞岜鲅捌魃䩻䩗夿䳊䃻㔜胈鼥壩垻豝玐㶚蚆㖠跁䟦哵罷軷㞎炦鈀鲃䥯䰾鮁䳁䱝魞釟抜㧊扷覇柭欛朳叐矲䆉羓䇑丷妭颰癹仈弝詙", + "bai": "白百摆败拜柏呗掰伯稗捭佰薭䒔㼣㓦瓸㗗㗑贁㠔䢙敗韛粨庍粺䙓襬猈拝㼟擺䳆挀㿟㧳栢䴽竡絔", + "ban": "办般半班板伴版搬斑扮颁瓣拌扳绊坂阪舨瘢柈钣癍靽䕰㚘瓪湴昄蝂岅肦怑粄䉽魬鈑鉡㩯㸞秚褩螌辦㪵闆辬姅頒鳻攽䬳絆斒", + "bang": "帮邦膀棒傍榜绑梆磅蚌旁镑谤浜蒡䧛䂜幚邫垹鞤幇幫䎧塝玤蜯䖫䟺髈䰷鎊挷捠搒㯁㭋㮄棓牓稖艕㔙㾦綁縍謗彭", + "bao": "保报包胞宝暴抱薄剥炮爆饱堡孢豹瀑刨鲍苞雹葆曝褒鸨褓煲龅趵勹蕔菢藵犦髱䨌䨔㙅靌報堢㙸虣珤㻄齙㵡㿺曓㫧蚫骲鳵怉䎂寳寚寶䴐宲窇䥤鑤㲒鮑䳈鉋铇勽䤖枹䈏㲏忁笣䪨闁媬儤賲䳰佨飹飽䭋駂鴇剝緥袌裦襃", + "bei": "被北备背倍悲贝杯辈臂卑碑呗狈惫钡悖孛蓓焙陂碚褙勃鞴鐾庳鹎邶䔒鞁藣苝犕㸬㸽牬盃愂䎬䎱琲㰆珼䁅輩䩀㻗㶔昁蛽䠙唄䡶㽡郥骳貝㤳糒禙鋇䰽狽㔨鉳㼎鵯揹柸桮梖椑㸢㓈㾱鄁軰㛝僃備憊㷶偹俻偝㣁䋳誖", + "ben": "本奔笨苯贲坌夯畚锛奙逩坋㱵渀漰泍㤓㡷錛撪㨧捹桳㮺翉楍栟犇倴䬱", + "beng": "崩蹦绷甭迸泵嘣甏菶䩬鞛奟䳞埲䨻塴埄琫㱶琣嗙嵭㷯䙀祊鏰镚甮揼逬䭰痭閍伻㑟綳䋽繃絣蚌", + "bi": "比必笔毕避壁秘闭鼻币彼逼辟臂泌碧弊蔽鄙毙弼痹庇陛璧婢敝匕俾裨荸吡哔蓖贲襞铋秕毖愎髀篦睥畀妣筚薜萆芘荜滗濞跸嬖狴箅舭鞸䩛蓽㳼萞苾䕗䎵聛䧗驆駜䮡夶髲䭮觱㗉皕䏢腷毴貏䏶賁堛䟆㙄㘩㻫豍珌㱸㻶㹃睤䁹䀣湢滭幤㵥獘斃鄨幣鷩潷䨆沘㡀畢鷝㪤䖩螕蜌啚蹕䟤躃䠋嗶咇罼奰㘠貱䯗畁㡙㠲贔赑怶愊韠䪐躄繴㵨鼊怭屄邲煏熚廦䊧粃襅袐襣禆䃾鲾鏎鐴鉍鰏鮅獙鎞㧙魓㪏柀楅䣥㯇㮿柲榌㮰䵄朼梐䫁篳馝䇷箆筆䄶閉閇㓖閟痺䦘疕疪㚰妼鵖嬶佊偪朇佖䬛䫾饆飶㢰䋔㢶弻彃縪鄪䌟綼㿫毞坒粊㢸䘡詖诐佛拂", + "bian": "变便边遍编辩辨鞭扁贬辫蝙匾卞鳊汴砭弁苄碥忭煸褊窆笾缏䒪鞕䛒藊萹䪻鴘㺹玣㻞䁵㳎覍汳㝸㴜昪䡢峅貶惼炞糄鯾鯿獱猵鍽㣐抃揙㭓牑邉邊釆籩艑䉸箯徧稨閞㵷㦚辡辧辮辯緶編㲢甂変諚變", + "biao": "表标彪裱婊飚飙镖膘鳔俵骠镳飑髟瘭䔸藨蔈骉驫飆猋嫑磦脿爂臕墂㯱滮淲瀌贆幖㟽㠒飊熛褾錶鑣鏢㧼摽㯹標檦穮儦飇颩颮颷飈諘謤䞄", + "bie": "别憋瘪鳖蹩虌莂䏟蟞鱉龞彆鼈蛂䠥別襒䋢徶䭱䉲癟㿜㢼", + "bin": "宾滨斌彬濒缤鬓槟殡摈膑邠玢份频髌豳镔傧髩鬢鬂臏䐔霦豩璸瑸殯頻虨瀕濱濵汃髕賓顮䚔賔鑌擯檳梹椕儐繽", + "bing": "并病兵冰饼丙柄炳秉禀屏槟摒邴鞆鞞苪䓑陃靐垪眪昞昺蛃䗒怲庰寎窉鈵鮩鋲鉼掤抦㨀棅栤䴵幷䈂並竝偋倂併仒傡餠餅仌䋑氷稟誁", + "bo": "波伯播剥博玻勃拨柏脖卜搏泊驳膊舶簿渤簸菠箔跛薄钵铂僰帛礴饽钹亳啵檗鹁踣擘䪇葧萡蘗蔔㹀䂍䮂䮀駁駮驋礡盋䰊䫊㝿砵䶈肑胉䑈䞳郣鵓㪍䢌㱟碆浡㴾溊淿謈㬧㬍䗚䟛蹳嚗㗘㖕䯋髉髆㟑嶓懪孹糪愽㶿煿袹襮袯䙏襏鑮䥬鈸鋍鲌馎鮊鱍鉑鎛镈鉢狛猼瓟瓝㩭挬㩧撥欂桲秡䢪缽簙牔䭯馛馞䒄艊䍨䪬䍸癷侼癶仢僠䭦䬪餑餺紴䊿袰譒佛", + "bu": "不部步布补捕卜哺埔怖簿埠钚卟逋晡钸醭瓿䪁荹蔀䏽㘵埗㙛㻉歨歩堡䴝鳪䀯㳍吥咘踄轐峬䝵䪔悑庯䊇廍補鈈鈽錻鸔抪捗㨐柨鵏䴺䍌䒈䑰篰㾟勏郶䳝㚴佈䬏餔餢䋠誧", + "ca": "擦嚓礤遪礸䟃䵽攃", + "cai": "才采材财彩菜裁猜蔡踩睬䰂毝䐆埰䞗啋跴財㥒寀採棌䴭䣋㒲婇倸偲䌨綵䌽纔縩", + "can": "参残餐惨蚕灿掺惭璨孱粲骖黪薒䣟朁蠶叄參㕘叅驂䏼蝅蠺䗞䘉殘㱚㻮㣓䝳㛑澯湌㘔喰㽩黲慙䳻㨻㥇憯慘慚㦧燦爘䙁䗝㺑穇䅟䑶㿊䍼飡䫮㜗嬠傪儏䬫謲䛹", + "cang": "藏苍仓舱沧臧伧蒼㶓㵴濸滄螥嵢賶鑶獊欌艙䅮凔仺鸧傖倉鶬䢢", + "cao": "草操曹槽糙嘈漕螬艚蓸䏆艸騲䐬鼜䎭曺鄵嶆愺慅慒懆褿襙䄚鏪撡㯥肏䒑㜖", + "ce": "策测侧册厕栅恻拆䔴荝萴萗蓛厠䜺測畟冊㥽夨惻憡廁粣䊂㨲拺㩍敇筴䇲䈟笧筞簎箣側", + "cen": "参岑涔䃡䨙埁㻸嵾䯔㞥䲋䤁䅾篸笒", + "ceng": "层曾蹭噌驓䁬㬝嶒層䉕㣒竲", + "cha": "差察查茶插叉诧岔刹喳茬嚓楂杈碴汊搽衩姹槎馇镲锸猹檫靫䕓䓭䒲䰈䑘垞䶪䁟嗏䟕蹅嵖㣾㤞㢒㢎㢉䆛銟䲦䤩鑔鍤扠剎挿揷査臿䊬秅䑡艖䡨疀奼侘偛餷詧紁㪯詫㛳㫅", + "chai": "差柴拆钗豺侪虿瘥茝芆䓱蠆䘍袃肞㼮祡㳗囆喍釵犲㾹儕㑪訍", + "chan": "产颤阐缠禅铲掺潺馋蝉搀蟾忏谄孱谗巉廛羼崭蒇骣觇澶躔冁婵单剗蕆䩶韂䵐苂䧯㹌䣑硟䐮䑎壥㙻㶣㙴刬䀡覘㢟䂁湹瀍瀺潹㵌灛滻浐㬄蟐蟬螹旵䠨囅丳嚵䡲磛䡪幝幨辿嵼懴䪜㦃懺煘鄽㢆燀裧襜䥀酁劖毚䤫䱿鑱镵㹽鋋鋓獑㺥鏟摻摲攙摌醦䤘䊲棎欃梴㯆䴼㸥艬簅闡閳産剷嬋儳饞儃緾繟纏纒產譂顫諂䜛讒誗讇斺", + "chang": "长常场厂唱昌肠偿尝倡畅倘敞淌猖怅嫦娼氅菖昶徜鲳惝苌鬯阊伥萇䩨䕋長䯴镸瓺兏厰腸膓㙊場鼚塲瑺瑒琩玚仧淐甞嘗㦂䗅暢㫤䠆䠀嚐畼悵韔廠焻裮鋹鲿錩锠鱨鯧椙閶倀仩僘償誯裳", + "chao": "朝超潮吵巢抄嘲剿炒钞绰晁焯耖怊焣㷅䏚䎐眧巣漅鼌鼂罺轈巐䬤煼㶤窲窼觘鈔䰫樔麨牊䄻鄛欩仯仦弨謿訬", + "che": "车彻撤扯澈掣尺屮砗坼莗㱌䧪聅䨁硨䞣䰩頙迠瞮䁤㵔蛼㬚唓車㥉爡烢䚢撦㨋硩㿭㯙䑲䒆勶徹㾝偖伡俥㔭䋲䛸䜠", + "chen": "称陈沉晨臣尘趁衬辰嗔琛抻伧谶碜宸郴谌忱龀榇茞蔯莀䢻莐薼䒞陳螴敶磣䣅㲀㫳䢈敐硶䫖夦䢅䐜墋趂霃齓齔瞋㴴鷐迧曟踸䟢趻㕴嚫軙贂賝䞋愖煁麎塵襯䆣鍖鈂䤟捵栕樄桭梣棽櫬䚘䑣瘎疢㽸㧱儭諶䜟謓訦諃讖沈", + "cheng": "成程称城承诚呈乘惩撑澄秤橙逞丞骋盛瞠铛塍柽埕琤净抢蛏裎铖酲枨荿䔲䧕阷㞼騁䮪騬郕䫆㼩碀脭爯頳䞓赪赬塖堘珹靗珵睈䀕䁎洆浾泟澂㲂牚瀓溗蟶晿䗊畻峸憆悜憕庱宬窚竀䆑䆵䆸䄇鋮鐣鏿鯎掁摚撐挰㨃揨檉棖檙橕棦朾乗筬稱罉穪䇸徎懲娍偁侱㐼饓僜絾緽誠椉", + "chi": "吃持池尺赤迟斥齿翅驰耻痴弛炽哧侈嗤叱敕啻饬笞踟柢呎茌褫鸱勅墀蚩蚩豉眵螭魑匙篪瘛媸傺荎䠠㔑䔟䧝妛恥欼馳䮻䮈肔胵腟胣䐤趩赿䞾灻垑漦雴鵄䜵䜻彨彲銐殦䶔齝齒歯瞝懘㳏湁蚇蚳喫噄䟷翤叺㽚㞿㞴貾㟂恜翄㓾遲翨杘遅遟憏迡烾㢁㶴粚㡿㢋熾裭䙙袳鴟㱀䤲鍉卶鉹㺈鉓瓻䰡抶摛攡㮛鶒慗鷘遫㓼麶勑䳵竾䑛䇪箎筂䈕䇼黐䪧痸癡侙䶵伬䬜飭㒆㘜䊼絺㢮訵㙜䜄謘袲誺䛂", + "chong": "重充冲虫崇涌宠憧忡舂铳种茺艟隀憃埫珫沖漴浺㳘蟲蝩蹖嘃罿㓽翀爞崈寵褈銃摏揰㧤䳯䖝衝㹐緟䌬", + "chou": "抽筹仇丑愁臭酬畴瞅绸稠踌惆帱瘳俦雠䓓薵菗䔏遚魗㦞㐜殠矁㵞躊吜疇幬㤽懤燽䊭裯䲖鮘㿧㩅皗搊㨶梼檮醻酧醜椆杽栦籌䇺臰篘䪮嬦㛶丒儔䀺偢犨讐雔雦犫讎䌧綢紬䌷絒詶", + "chu": "出处除初础助楚触畜储厨锄橱雏躇矗搐刍蜍怵滁黜绌杵蹰亍憷樗楮蒢蒭䢺㔘欪䧁䮞犓㕑㕏礎貙臅㙇埱趎耡䎤㼥䎝豠豖珿䜴璴齣齭齼敊䖏處泏濋㶆滀蟵䟞䠧躕䟣嘼㗰歜㡡幮岀㤕㤘廚䊰䙘䙕禇鶵芻雛鋤鉏㐥觸㹼摴斶櫉櫥䠂椘檚榋篨䅳処䦌竐竌閦媰俶儊儲傗絀諔鄐", + "chuai": "揣啜踹膪搋膗㪜㪓䦤䦟䦷", + "chuan": "传船穿川串喘椽氚钏舛遄舡巛荈堾玔瑏㱛䁣汌暷踳圌輲歂㼷賗釧猭㯌篅舩僢傳剶鶨", + "chuang": "创床窗闯疮怆磢䃥䚎刱䎫㵂噇䡴㡖愴窓窻摐牎牕䇬剙剏闖䚒牀瘡刅傸䭚創幢", + "chui": "吹垂锤椎炊捶槌陲棰菙㝽腄䞼䶴㓃錘鎚搥桘㩾䳠䍋埀䄲箠㥨龡倕顀", + "chun": "春纯唇醇蠢淳椿莼鹑蝽䔚䓐萶萅蓴蒓陙㸪犉脣䫃惷䐏䏝䐇䏛旾瑃睶㵮浱漘滣湻暙㖺輴賰䞐䄝䥎鰆鯙錞㿤鶞槆杶䣩䣨醕櫄橁箺䦮媋偆純㝄鶉㝇", + "chuo": "戳绰辍龊啜淖踔辶䓎歠䮕磭䃗辵趠繛齪逴涰嚽踀哾輟惙䆯鑡㚟㲋擉酫䂐䄪䍳䇍婥娖娕餟䋘綽", + "ci": "此次差词刺磁辞雌慈兹瓷赐伺疵呲糍祠茨鹚䓧㹂茦莿薋䦻㤵辝䰍䯸䂣礠㓨辭辤蛓趀䨏珁玼刾䧳㘹䖪㠿鮆鴜䳄飺泚濨蠀䗹螆跐㘂骴髊賜䛐㞖䲿㡹庛㢀皉㩞朿柌栨䆅䈘齹垐䳐餈鶿鷀甆嬨佌偨佽䭣縒絘詞", + "cong": "从匆丛聪葱囱淙熜琮苁骢璁枞藂䕺茐蔥蓯孮聦聰聡騘驄瑽瞛潈潀灇潨漗漎蟌暰䟲賩悰愡憁爜叢賨錝鍯怱鏓鏦欉樷樬樅棇徔悤囪徖䉘篵従從䳷㼻婃忩繱誴謥", + "cou": "凑腠辏楱湊㫶輳", + "cu": "促粗簇醋卒蹙猝蹴徂趣趋蔟殂䓚觕㗤顣䃚䢐脨趗鼀䠞踧踿䠓噈怚䎌憱麤䙯䥄麁䥘䟟㰗橻瘄瘯媨麄䬨縬蹵䛤誎", + "cuan": "窜篡攒蹿撺爨镩汆䰖㸑殩㵀躥㠝巑熶竄䆘鑹攛櫕欑㭫簒穳", + "cui": "催翠脆粹崔摧萃悴瘁璀啐淬毳榱䃀磪䂱膵膬䄟㯔臎脃脺趡墔琗㧘㱖㵏漼濢㳃啛嵟慛㥞忰翆㷃䊫粋㷪焠㝮襊竁鏙皠㯜槯䧽䆊凗疩伜倅紣縗缞綷顇衰", + "cun": "存村寸忖皴吋刌壿邨膥澊踆籿拵䍎竴侟", + "cuo": "错措挫搓撮磋锉蹉矬厝脞鹾鹾嵯痤蔖剒逪莡蒫莝遳蓌䂳䐣瑳䣜虘鹺睉䠡䟶㽨嵳㟇錯䱜鎈銼醝䴾酂酇㿷剉夎", + "da": "大打达答搭瘩嗒哒鞑沓耷惮靼跶褡怛笪妲荙韃䩢薘剳荅䃮迖羍迏䐛䐊垯墶㙮逹達溚蟽噠迚呾咑䵣䳴眔㟷燵炟匒鎝鐽鎉撘㯚笚䑽龖龘㾑㜓㿯畣繨詚亣畗", + "dai": "代带待袋戴呆贷逮歹岱傣玳怠黛殆迨甙棣呔诒埭毒大绐帶䒫貣㞭黱叇霴靆瑇帯㻖瀻蝳㫹曃蚮蹛跢軩軑轪軚獃懛廗襶䚟䚞鴏㯂簤艜䈆㿃垈帒貸柋㐲侢㶡紿緿", + "dan": "但单担弹蛋淡胆丹旦氮诞耽郸掸惮疸眈赕澹啖箪膻石萏聃殚瘅儋蓞䩥匰耼聸馾駳髧砃䃫㽎腅膽䨢霮䨵玬殫頕㴷単泹㵅鴠㫜啿㗖鄲單噉㕪啗嘾唌嚪黮黕黵帎賧贉刐饏疍憚憺㡺瓭沊㱽褝襌衴窞禫甔觛䱋狚㺗撣㲷抌擔撢酖柦䄷䉞蜑簞䉷躭癉癚媅妉僤伔䭛餤弾彈紞繵訑勯亶㔊誕", + "dang": "当党荡挡档裆铛宕噹菪砀凼谠蘯蕩礑碭䑗雼圵趤壋垱璫珰瞊澢灙盪璗䣊䣣當黨瓽潒逿蟷嵣氹愓襠鐺擋攩檔欓簜簹筜艡䦒闣㜭婸儅譡讜", + "dao": "到道导倒岛刀蹈稻盗捣叨悼祷焘氘捯纛刂忉菿陦隯﨩隝䧂䲽壔翿燾瓙盜螩翢嶹嶌嶋禱禂鱽島㠀魛釖擣搗椡槝檤朷稲軇艔衜舠衟㿒導噵䆃辺䌦", + "de": "的地得德嘚底锝㤫悳惪㥁䙸䙷淂㝵㥀鍀㯖棏徳恴", + "dei": "得嘚", + "deng": "等灯登邓瞪凳澄蹬噔磴戥嶝镫簦䒭隥䮴墱璒䠬燈鐙櫈艠竳嬁鄧㲪覴豋", + "di": "的地第提低底敌帝弟抵递滴迪堤蒂缔笛涤狄嘀谛娣嫡邸诋砥棣碲柢睇骶荻觌坻氐镝籴羝蔕䩘鞮靮䩚蔋苖菧慸遰菂苐蔐藡隄聜阺墬埅䮤馰牴㹍髢䯼磾厎奃䂡腣坘䞶趆覿䨤埞墑䶍豴玓珶眱䴞䀿坔滌螮蝃㼵䗖蝭旳踶䟡蹢嚁呧唙啲䵠軧䍕頔嶳埊廸岻怟鸐䊮䣌㡳焍袛祶禘鉪㪆䢑釱觝䏑鯳䱃䱱鏑摕逓遞掋拞䀸梊杕枤㭽梑樀楴㰅㣙彽秪䑭䑯糴䨀媂僀仾俤偙弤㢩締詆啇敵甋遆諦翟", + "dia": "嗲", + "dian": "点电典店淀颠殿垫奠甸碘佃滇惦巅癫掂踮玷靛钿癜阽坫簟蒧蕇䓦䧃驔厧磹㼭䟍顛㒹電墊琔齻奌敁㓠澱㵤㶘蜔蹎跕嚸㸃點敟巔嵮巓壂㞟㥆㝪鈿攧槙椣橂槇䍄癲瘨㚲婰婝傎顚扂", + "diao": "掉雕吊钓刁叼调碉凋貂鲷屌铞铫藋䔙蓧䂽奝䂪鼦雿琱㪕瞗汈蛁虭䵲彫鵰䘟窎窵鋽銱錭鑃鯛魡鮉銚釣㹿鈟扚䠼簓䉆竨瘹刟鳭㒛伄弔盄弴調訋", + "die": "爹跌叠蝶迭碟谍喋牒堞蹀垤耋鲽瓞㦶戜苵㲲䴑䮢镻胅䏲臷趃䞕耊褺䠟䲀䞇㻡殜眰眣蜨曡㬪螲㫼昳哋咥跮疂氎疊疉畳嵽峌幉㥈惵㦅恎㷸褋䘭㲳鰈䳀挕㩹㩸楪㭯鴩艓牃㑙絰绖諜詄佚", + "ding": "定顶丁订钉盯叮鼎锭啶腚仃町铤酊疔碇耵玎靪薡萣艼聢䦺矴磸碠鼑濎㴿㫀蝊虰帄嵿忊顁㝎鐤饤錠釘頂㼗㐉椗奵飣訂", + "diu": "丢铥丟銩", + "dong": "动东冬洞懂冻董咚栋侗峒恫胴氡鸫硐胨垌岽菄苳蕫駧䂢腖霘鼕䞒埬涷湩蝀昸㖦㗢戙迵㢥崬崠鯟鮗挏氭㨂東㼯鶇鶫棟動徚䅍箽笗㐑䳉䵔㓊凍䍶嬞姛㜱娻㑈倲働諌", + "dou": "都斗读豆抖兜陡逗窦蚪痘渎吋蔸篼钭䕱荳䕆阧脰郖毭㪷㐙鬦鬪鬥鬬鬭浢唗唞吺斣㞳㢄㷆竇䄈饾鈄㨮兠梪酘橷枓乧闘閗㛒餖䬦䛠", + "du": "度独读毒督渡杜肚堵赌嘟笃睹妒都镀竺犊渎牍蠹黩阇芏髑椟靯韇䪅匵䓯荰犢㸿騳䮷䀾䐗皾䢱蠧䲧覩剢瓄琽㱩殰殬裻錖瀆涜䟻黷䫳賭厾韣韥䙱䄍鑟鍍獨贕櫝醏螙篤牘䅊秺䈞凟闍㾄妬嬻豄讀讟読", + "duan": "断段短端锻缎煅椴簖葮碫腶塅㱭瑖躖䠪耑褍鍴鍛毈籪媏偳緞斷㫁", + "dui": "对队堆兑碓敦追怼镦憝䔪薱隊陮磓䨺䨴垖塠㙂㳔㵽濧瀩㬣轛䯟㠚㟋憞䊚對懟祋鐓䇤頧鴭痽䇏兊兌䬈䬽綐鐜対譵譈", + "dun": "盾顿吨蹲敦钝墩囤沌遁盹炖趸惇砘礅躉驐犜碷遯㬿逇頓潡蜳噸踲蹾㥫庉燉鈍䤜獤撴伅墪撉", + "duo": "多夺朵躲踱度堕惰哆舵跺垛咄掇铎剁哚柁裰缍䩔䩣䒳墮陏陊刴朶敠毲剟鵽敪鬌奲尮奪䐾垜㙍趓㙐埵㻧㻔畓㖼跥䠤喥嚉崜憜墯㥩剫䙃䙟䙤䤻鐸饳鈬䫂䤪挅㧷挆柮桗椯㔍軃躱䅜䑨㣞敚凙䍴痥㛆夛㛊敓飿綞嚲亸䯬隋", + "e": "额恶俄饿呃鹅扼厄蛾娥峨愕鳄鄂遏萼腭颚讹噩谔婀锷垩轭屙阿咹鹗苊莪锇䩹䳬䓊㼢蕚䔾䕏阨鵈娿阸騀頋阏砐砈㕎礘磀硆砨㼂妿䞩堨堮迗䝈豟堊蝁惡琧悪䫷㱦珴齶歺睋湂涐蚅歞噁卾㓵顎咢鶚遌覨㗁䣞遻㖾吪呝軛囮軶岋㡋崿㟧㠋㟯峉峩㦍㷈廅額頞䆓䄉鈪匎㔩鑩鍔䱮鰪鱷鰐䳗䳘魤鋨鈋擜搹㩵㼰皒搤㧖枙櫮㮙䙳齃頟䖸鵝鵞䑥䑪閼妸姶僫偔餓餩譌讍䛖諤戹誐訛哦", + "ei": "诶欸", + "en": "嗯恩摁蒽奀峎䊐煾䅰䭡䭓䬶", + "er": "而二儿尔耳饵迩洱贰鲕珥鸸铒佴荋貳弍薾聏陑毦隭刵䎶駬䮘髶髵耏鴯䏪胹兒趰弐貮邇爾児洏咡㖇唲輀轜峏粫袻鉺鮞㧫樲栮㮕栭䣵尓衈㛅䎟㜨㚷䎠㒃侕尒餌䋙䌺㢽䋩誀", + "fa": "发法乏罚伐阀筏砝珐垡䒥藅茷蕟髪髮䂲坺㘺墢琺沷㳒灋浌㕹罸罰峜彂鍅瞂䣹栰橃笩䇅冹疺閥㛲姂佱発發傠", + "fan": "反范饭犯翻繁凡泛番烦返贩帆藩梵樊蕃矾幡钒畈璠蘩燔蹯匥薠䒦㝃軬䮳颿䭵膰䐪墦䪤凣䀟㴀䀀氾滼瀿盕汎噃㕨輽䡊轓軓㠶販䪛㤆憣忛煩籵畨䊩襎㼝鱕㸋鐇㺕釩払䣲礬蠜䫶鐢棥橎柉杋笲䉊笵籓範勫飜鷭䉒舧舤凢瀪緐䌓㶗䋣㽹羳嬎㜶嬏奿仮飯飰繙䋦䛀旙旛訉拚", + "fang": "方放房防仿访芳纺妨肪坊彷舫鲂钫匚枋邡㯐牥䦈髣眆淓汸昘昉蚄趽㕫㤃錺魴䲱鈁㧍堏㑂倣鶭紡瓬䢍鴋旊訪", + "fei": "非飞费肥废肺匪菲沸啡妃吠斐翡诽绯蜚扉霏腓痱悱芾榧狒淝鲱镄镄篚萉蕜䕁䕠陫騑騛䰁厞朏蜰䑔鼣胇靅奜猆靟䩁剕㐟䨽棐婓餥渄濷㵒蟦暃昲曊䠊胐㥱屝飛飝䨾廃廢裶䚨䤵鯡鐨㩌杮㭭櫠䈈馡䆏䉬癈疿婔俷緋㔗費誹䛍", + "fen": "分份奋粉纷愤氛芬粪坟焚吩酚忿汾雰玢鼢瀵鲼棼偾蕡䩿棻蒶隫㸮奮膹朌鼖䴅墳豮豶瞓濆昐蚡㖹轒幩帉岎憤翂燌黺糞黂㥹衯鐼鱝魵獖鈖㮥橨梤燓㷊枌馩馚躮秎羵㿎朆竕羒妢僨弅餴饙蚠炃紛䯨訜", + "feng": "风封丰锋峰奉凤缝蜂冯逢疯讽枫沣烽俸砜葑唪酆䒠䩼飌蘴碸䏎堼犎霻靊堸鴌琒盽湗灃溄浲漨㵯沨渢䟪鄷豐崶㡝賵赗峯㦀焨煈寷䙜鎽鋒鏠猦摓檒桻覂楓麷夆蠭㷭篈艂馮瘋妦仹凮凨凬鳳僼鳯風偑綘縫諷", + "fo": "佛坲梻仏", + "fou": "否不缶鴀䳕雬殕缹缻妚紑", + "fu": "复服夫富府父负副福妇附符付幅伏浮腐腹傅扶辐肤抚覆辅赋赴甫缚弗咐俯俘孵拂斧敷脯腑袱芙氟孚蝠阜匐麸釜涪馥凫驸茯讣蝮蚨苻呋罘稃芾跗拊茀趺伕鄜莩菔莩阝砩郛滏蜉呒幞赙赙怫黻黼祓鳆鲋桴绂艴绋荂芣葍䕎䓛䔰萯荴蕧䧞䮛駙䭸䯱㬼䯽髴砆䩉㕊䂤㚕鵩胕䨗䞜䞯䞸䞞韨䘄㙏䨱垘坿䝾邞琈豧玞畐㽬鶝鬴巿玸鳺䫍膚虙㐢㜑澓洑泭㳇㫙蝜蜅蚹䗄蚥哹踾䟔䟮嘸㕮咈罦輻畉䡍䍖輔輹㟊賦帗賻㠅岪翇㤱䪙韍㤔烰粰糐焤炥冨䘠袚褔衭襆複袝襥䃽禣祔鍢鈇頫負鰒鳧鮲鮒鮄鍑鳬鉜鉘䎅捬撫郙棴尃酜枎盙乶椨榑椱覄栿柎麬麩麱柫旉懯箙筟㓡䫝甶䠵䘀蛗峊鴔簠秿復稪艀䒇䒀䑧䵗彿笰乀竎㵗癁䦣㾈娐妋嬔婏媍婦䵾怤姇釡俛偩俌颫紱綒綍䋹䌿刜㪄縛䌗緮䋨絥弣紨紼諨訃㚆詂佛", + "ga": "嘎伽尬噶旮咖夹尕尜钆嘠錷釓魀玍", + "gai": "改该概盖钙溉芥丐垓赅戤陔葢蓋荄䏗瓂豥㕢䀭漑晐畡乢峐賅䪱忋祴鈣匃匄㧉摡槩槪㮣姟侅絠絯郂㱾賌該", + "gan": "感赶敢甘杆干肝乾柑竿赣尴苷秆橄坩擀绀酐泔玕灨旰矸澉淦疳䔈芉皯䃭尷尲趕幹榦倝迀鳱䲺攼尶盰澸漧㽏汵䵟骭䯎忓粓衦鳡鱤㺂魐檊桿䇞簳稈筸贑䤗贛凎仠凲紺詌", + "gang": "刚钢港纲岗杠缸冈扛肛戆罡筻犅牨矼堽堈䴚㽘㟵崗㟠剛岡焵焹釭䚗鎠鋼摃㧏掆槓㭎棡罁疘冮戅戇綱", + "gao": "高告搞稿膏糕羔镐篙睾皋诰槁藁锆杲缟槔郜菒䔌藳㚏夰䗣鼛櫜峼韟祮祰禞鋯鎬鷎㚖皐槹橰檺勂吿臯鷱筶㾸餻縞髙槀稾稁誥", + "ge": "个合各革格歌哥隔割葛阁戈胳颌鸽搁咯疙蛤骼铬膈嗝镉圪鬲硌盖哿塥虼袼搿舸䪂䩐鞈䕻戓㦴茖呄䧄牫騔㷴䐙肐䨣䘁䪺䫦臵鞷㵧滆滒䗘蛒㗆嗰轕輵㠷愅韚韐裓㝓䆟觡鎘亇饹鴚鮯鎶獦鉻犵匌挌㨰擱槅戨㢦櫊䈓㪾敋箇笴閣鴿䢔個佫佮彁諽䛋䛿謌", + "gei": "给給", + "gen": "根跟亘艮茛哏亙㫔揯搄㮓䫀", + "geng": "更耕耿庚梗哽埂羹赓颈鲠绠莄菮堩刯郠浭畊骾峺焿鹒賡鶊䱍䱎鯁䱭䱴挭椩㾘羮絚綆䌄緪縆䋁", + "gong": "工公共功供攻宫贡巩弓恭拱躬龚汞蚣珙肱红廾觥龷慐貢㔶䢼拲㭟䂬鞏䡗㧬㼦碽厷髸塨䢚㺬㫒唝嗊輁幊愩㤨熕宮觵匔匑栱㯯杛篢躳䇨㓋龏龔侊糼糿", + "gou": "构够句购狗沟勾钩拘苟垢篝枸媾佝诟笱岣鞲遘觏彀缑冓覯芶䃓豿撀㜌㝅㨌坸耇耉耈玽溝㳶蚼㗕啂㽛購䝭䞀韝煹㝤褠袧雊鈎鉤夠㺃搆構簼䑦痀姤緱訽詬", + "gu": "古故固顾姑骨鼓股谷孤估雇咕呱辜菇沽锢贾钴梏臌箍蛄汩蛊轱诂牯崮鸪鹘瞽痼鲴毂菰牿嘏罟觚酤巭薣盬㠬䓢蓇苽巬㠫夃㚉䜼䮩尳鴣㼋䀇脵皷鼔堌㯏䅽皼榖穀糓轂䍍䐨䶜䀦䵻䀰濲瀔淈泒蠱啒唃唂軲䡩䍛罛軱鶻崓愲祻鈷錮馉鮕鯝鈲䀜㧽扢橭棝榾柧杚箛稒笟篐㒴㽽凅㾶羖嫴傦餶逧僱䊺縎詁顧", + "gua": "挂瓜寡刮褂呱卦剐胍鸹括栝诖䒷劀騧趏坬颪啩踻叧罣冎剮歄㒷煱掛桰鴰䈑颳絓緺詿", + "guai": "怪拐乖䂯㽇罫恠叏夬㷇㧔柺枴箉䊽", + "guan": "关观管官惯馆贯冠灌罐棺斡倌纶矜盥莞鳏鹳掼涫䩪䪀鸛觀雚蒄覌礶瓘璭琯矔卝泴㴦潅丱䗆䗰躀輨䏓䎚悺慣爟㮡悹䙮䘾䙛窤祼鑵鳤鱹鱞鰥䲘錧鏆摜欟樌罆観筦䦎癏瘝痯関關闗舘館䌯遦貫毌䝺", + "guang": "光广逛胱犷潢咣桄茪黆炗垙珖洸㫛炚輄臦臩廣烡広灮炛銧獷姯僙俇", + "gui": "规贵归鬼桂轨柜硅龟跪瑰闺诡傀匮圭刽桧鲑癸皈炅鳜珪匦眭晷刿庋宄簋妫茥鞼匭蓕蘬㔳陒雟㸵騩䰎厬胿䝿㙺攰邽㪈郌䳏䞨垝昋鬹規槼嫢璝鬶椝瓌劌瞡瞆瞶䁛氿湀㲹蟡蛫螝貴䠩軌䯣䞈巂嶲恑庪廆袿䙆襘祪禬鑎䣀㩻觤亀鐀鱖鮭䲅鱥䤥猤摫撌㨳㧪櫃槻樻槶椢櫷檜筀歸龜䇈攱閨䍷䍯癐䐴嬀姽媯劊佹䌆詭帰", + "gun": "滚棍辊衮磙丨鲧绲蓘蔉䎾䃂㙥㯻睔滾䵪輥惃鯀鮌袞緄緷㫎䜇謴", + "guo": "国过果郭锅裹蝈埚帼聒虢椁腘粿掴蜾崞猓馘菓蔮聝䂸㞅䆐腂膕䐸堝墎㳀㶁淉漍濄蟈褁㖪㕵嘓啯㗻國囯輠囻囶圀幗過惈慖䙨鈛鍋鐹馃㚍懖摑楇䴹槨簂瘑䤋䬎餜彉綶彍涡", + "ha": "哈蛤虾铪鉿紦", + "hai": "还海孩害嗨亥骇咳氦嗐骸胲醢㜾駴駭㦟塰咍䯐㤥烸䱺㺔㨟㧡酼䠽䠹䇋妎饚餀", + "han": "含汉喊寒汗旱韩函涵罕憾焊憨翰撼邯悍捍酣瀚鼾蚶颔晗菡犴旰顸焓厂邗撖䕿䓿㽉䓍蔊莟顄凾圅馯駻厈䫲丆䏷䶃䐄爳䨡䖔㙳頇㙈垾韓㲦螒鶾䮧雗㙔䎯䧲琀䁔睅甝㵄漢涆澏浫㵎浛暵蜬虷㪋晘蜭蛿㘕㖤哻㘚㘎唅輚䍐崡嵅屽䍑㟏㟔熯㶰㸁䗙䘶䤴䥁釬銲魽鋎猂㺖鋡㨔扞皔㮀梒䈄馠筨兯閈闬㽳嫨㜦娢傼佄㒈㑵谽豃頷㼨䌍㢨䛞譀", + "hang": "行航杭巷夯沆吭绗颃苀垳䀪蚢䣈䟘貥㤚裄䴂魧筕笐䘕䦳絎斻頏迒䲳", + "hao": "好号毫耗豪浩郝壕嚎皓镐蒿嗥濠昊貉薅颢灏蚝嚆薃䒵茠薧聕䧚䧫䝞毜㬶䝥㘪淏㵆灝澔滈昦㬔暤暭晧曍䯫顥暠蠔㙱䪽號㕺噑哠嘷㞻㠙乚悎鰝獆獔獋皞皡皥皜㩝椃秏籇竓恏㚪侴䬉䜰傐儫㝀䚽鄗譹皋", + "he": "和合何河呵核喝荷吓贺赫盒颌褐鹤禾嗬壑诃涸阂阖劾貉龢翮菏盖盍曷纥蠚鞨䕣萂䒩䓼㹇䃒碋礉盇賀䶅貈䞦䚂㷤靏靎垎靍鸖齕㕡龁澕渮㵑䳚㬞螛毼㔠鹖㓭䫘鶡㕰嚇啝咊㗿哬嗃䵱䢗峆䳽㥺䪚㦦翯煂熆爀焃㷎籺粭熇燺袔寉鶴鑉釛鲄饸魺狢鉌皬㿣抲㭱㪃㰤㮫楁覈柇㭘㮝麧䴳篕䎋惒盉䅂闔癋閤閡姀郃敆頜㪉欱餄紇鶮訶訸詥謞苛", + "hei": "黑嘿嗨潶黒", + "hen": "很恨狠痕鞎䓳拫㯊佷詪", + "heng": "衡横恒哼亨珩鸻蘅桁㔰䒛胻脝㶇涥啈䯒恆悙烆䄓鑅撗橫鴴鵆姮䬖䬝", + "hong": "红洪宏轰鸿哄虹烘弘泓竑訇讧闳薨蕻荭黉鞃䩑葓䲨葒苰䧆耾硔翃䫺硡䃔䂫㬴黌垬霟霐䞑䨎玒沗玜䀧鬨澒鴻汯渱潂浤渹晎叿吰呍嚝㖓䍔䡌軣轟輷䡏屸羾灴䉺㶹粠焢翝䆖宖銾鉷鈜魟鋐鍧撔揈篊閧闀閎䪦竤闂妅娂仜䫹谾䜫谹谼紅紘纮㢬彋綋紭訌", + "hou": "后候厚猴侯喉吼逅篌齁骺堠鲎糇後瘊茩葔䂉㸸㕈鱟䞧豞睺洉㫗㬋䗔㗋㖃吽帿翵㤧翭䙈矦鲘䪷鮜鯸䳧銗犼㺅鍭郈垕㮢鄇䫛餱", + "hu": "互乎护呼户忽胡湖虎糊弧狐壶沪蝴葫瑚浒惚唬扈琥瓠囫鹄唿斛祜滹鄠鹕醐猢和许核觳虍轷岵怙煳烀鹱槲笏冱戽䩴芐萀㸦蔛匢匫䔯苸蔰䕶㕆鬍鶘鶦䭌綔瓳㪶䎁怘䮸膴䞱豰壺嗀縠㺉螜壷垀雽䨥䨼戸䁫虖歑虝雐鍙瀫沍淴汻䲵泘滬滸䗂昒昈㗅䠒嘑嘝嚛喖䍓軤幠恗䪝䊀䉿焀熩粐㝬寣隺鍸䚛鳠錿鱯鸌鰗魱鯱曶㫚㹱乕摢抇搰㿥䰧㨭楜㯛枑槴箶衚頶鵠䧼䇘戶䈸䉉乯簄㾰頀媩嫮嫭婟俿䬍餬䭍䭅弖絗護謼帍鳸㦿䛎戏", + "hua": "化话花划画华滑哗桦猾铧骅砉華鷨蕐黊蘤㭉䔢蒊驊硴夻磆䏦埖㓰䶤澅螖嘩㕦䠉㕷㕲呚㠏崋㟆㦊㦎糀鏵錵觟釫釪鋘䱻㚌撶摦搳㩇樺椛槬㮯枠杹䅿舙嬅婲畵畫劃婳姡嫿繣譁誮諣諙䛡話譮豁", + "huai": "坏怀淮槐徊踝蘾蘹䃶壊耲壞䴜瀤咶㠢懐懷櫰䈭㜳褱褢", + "huan": "还环换欢缓患幻唤焕寰桓痪宦涣豢獾浣奂洹圜鬟鹮垸萑漶逭锾鲩擐缳荁萈酄歡藧㿪㕕驩䭴䮝㹖貛䝠貆肒堚豲瓛環瑍雈睆䀨䀓澣澴㶎㵹渙㬊㬇㼫嚾喛喚還轘嵈䯘峘鴅懽㦥愌㡲糫煥䴟鵍寏䆠鍰䥧鐶镮奐烉鰀鯶鯇獂狟犿攌換梙槵㣪䈠歓䍺闤阛羦䦡瘓㓉孉嬛緩絙繯綄讙㪱", + "huang": "黄皇荒慌晃煌惶簧谎恍蝗磺凰隍幌徨潢璜湟肓篁蟥遑鳇癀䪄黃鷬葟㞷䮲騜奛䐵㬻䐠䑟墴塃趪䞹堭瑝䁜兤滉曂晄喤㡆崲䍿愰怳㤺熿䊣熀炾䊗宺鐄鎤鱑鰉鍠锽獚皝皩䳨㿠㨪揘榥櫎楻穔䅣艎韹㾠㾮媓偟餭䌙縨謊朚巟㠵衁諻詤", + "hui": "会回挥灰汇绘恢辉毁慧惠悔溃徽讳卉秽贿晦诙彗晖蛔桧诲喙洄荟珲蕙烩茴睢迴麾咴隳恚虺蟪缋蘳蔧薉匯㰥䕇藱薈隓䜐䧥芔䃣㥣靧䩈㩓毀毇䏨噕璤恵豗㱱㻅璯睳顪翽瞺頮颒滙湏洃泋潓輝濊瀈蛕㬩暳蚘蜖暉嚖嘒噅䫭囬廽逥圚廻㞧屷賄囘翙屶懳㤬憓恛翚翬烠烣燬㷐㷄煇燴寭袆䙡䙌褘禈鏸鐬䤧灳鮰獩㨤㩨㨹拻撝揮櫘槥檓橞檅楎篲䂕穢鰴幑䇻䅏徻闠阓痐瘣㜇彚媈嬒婎㒑僡會㑹佪儶餯㑰繢彙絵繪譿詼譭䛼譓䜋䛛諱詯誨堕", + "hun": "婚混昏魂浑棍荤馄珲诨溷阍葷蔒䧰鼲䰟琿殙睴睧尡渾涽䫟圂慁轋䡣昬睯忶㥵惛焝觨䚠掍㨡棔䴷䅙䅱閽婫倱俒㑮餛䛰諢", + "huo": "和活或火获货伙惑霍祸豁夥蠖嚯镬藿劐耠灬钬锪攉㦯韄䰥蒦騞奯剨臛耯靃眓矆矐䂄䁨濩湱瀖沎漷曤嚄嚿喐咟吙㗲㘞䯏旤雘㦜邩㸌煷窢䄀禍䄑䄆鑊䱛鈥鍃獲掝擭捇㨯檴䣶㯉穫秮䉟秳艧秴癨䦚閄彠彟佸俰貨䋭謋", + "ji": "机几基己期济及级计即极技记集际积纪急激既继击奇季鸡迹剂辑绩吉寄疾挤肌籍祭寂脊饥忌冀藉稽畸棘鲫叽圾嫉姬讥妓汲系伎缉唧骥羁髻悸瘠箕暨矶麂岌蓟亟戟跻诘犄荠稷畿霁嵇嵴屐蒺觊笈玑楫偈鱀勣芨咭其齐芰蕺剞赍殛乩洎虮戢跽哜墼鲚掎笄彐佶齑䓫䩯蘎鞿蘻蘮葪薊茤旡蕀蔇虀薺䓽焏際隮㤂䲯﨤㹄䯂驥䮺鳮䰏㞆㚡朞卙䦇惎諅磼磯䐀鶏膌䐕䐚鷄雞叝䨖趌䟌䞘䟇塉郆霵賷坖䣢耤耭垍賫㙫㙨霽㒫䢋㱞㻷㻑璣璾䶩茍㦸䁒㭰㲺㴕㴉湒濈瀱漃㳵泲鹡鶺漈潗済濟䗁螏蝍暩蟣嗘踖躤踑蹟蹐䠏躋跡㘍㗊㖢喞㗱嘰嚌羇羈轚擊檕罽輯毄㚻繋撃䍤䝸覬㡇䶓嶯㠖㞦㠍㥛忣㠱㥍丮鵋㞛愱懻妀庴廭㸄㲅襀襋禝禨錤觙觭銈銡鱾䤠鍓魥鰿魝魢鯚鯽鰶鱭鑙犱鏶鐖鑇㔕撠刏鬾魕㰟裚揤曁旣皀卽皍擠㨈鸄覉覊極㮟樭橶枅䤒檝㮨梞槣槉楖㭲檵機櫅䇫彶䚐嵆徛簊稘筓積臮箿稩躸䪢刉艥䒁鷑穊穄穖穧兾㾊痵癪㽺㾒㾵癠塈堲䳭姞䢳伋亼偮㑧飢饑谻㞃僟亽雧級綨績緁緝紀彑䋟継紒㡮幾㡭繼計韲齏剤劑齎齌㧀記誋譤譏䜞给", + "jia": "家加价假架甲夹佳嫁驾嘉贾钾稼颊伽挟迦枷荚戛拮浃胛袈痂颉镓岬笳珈蛱跏瘕袷葭恝郏铗莢䩡䕛斚犌戞㕅郟夾頰鵊㼪脥駕毠乫㔖鴐腵貑鴶㪴耞圿豭玾頬䁍䀹䀫浹泇蛺䖬唊斝䑝幏叚忦糘麚䴥裌鋏鉫鉀鎵猳拁抸扴㮖榎梜賈椵榢槚檟徦㿓婽傢價䛟", + "jian": "间见建件坚简渐减检践健尖监艰键肩兼鉴浅箭碱剪剑舰奸歼俭拣荐贱茧柬捡煎溅涧谏睑堑腱毽笺缄饯硷翦犍謇鲣僭锏缣囝鞯菅蒹戋戬湔趼踺蹇裥搛枧楗笕鹣牮谫戔韉靬韀鞬堅䵖㔋監鋻鍳鑒㯺譼虃囏艱蔪繭薦藆蕑蕳葌菺䧖䮿礷碊礛鬋䶠䩆礀磵礆堿麉䶬趝墹䵤鳽雃戩臶幵瑊珔䵡豜豣殱殲瑐蠒玪鹸鹻鹼見瞷睷瞼㓺瀳減洊瀐䤔漸濺瀽㶕澗湕㳨瀸暕鵑踐䟰跈轞䟅䭕賤䯛䯡賎帴㦗惤熞熸糋寋弿襺袸襉襇鑑鑬鳒鏩鰹鰔鰜鰎鑳㺝猏鐗鐧䥜鍵鐱鑯㨴挸揀擶揃㨵撿樫檻椷栫榗梘㰄椾検檢櫼箋㣤㔓䄯牋筧䅐馢籛䇟篯艦簡䉍徤䵛覵間覸冿鶼姧姦俴剣劍劎剱劒劔餞䬻䭠餰䭈㦰倹儉緘絸繝彅縑諓䛳譛鵳諫譾謭旔詃槛", + "jiang": "将讲江降奖蒋港匠疆浆姜僵酱桨缰绛犟强茳礓耩豇洚糨匞韁薑顜葁蔣䕬㹔膙塂壃䞪䙹畺殭䁰滰疅畕嵹翞糡鳉鱂摪摾橿櫤㯍夅䉃䒂奨醤㢡奬獎醬漿螀螿槳將傋䋌䥒繮勥謽絳弜弶講", + "jiao": "教叫较交觉角脚焦胶郊缴骄娇轿搅浇嚼校剿礁椒矫狡绞蕉酵窖饺跤佼侥皎蛟茭醮姣铰湫鲛峤艽噍挢敫徼僬鹪茮斠藠驕膠腳膲趭璬珓䂃䣤䴛䁶㳅灚澆漖䀊滘潐㬭曒蟜暞晈蟭䠛踋劋嘂嘄噭呌嘦轇轎較嶠㠐峧賋嶕嶣䪒憿憍煍烄燋䘨䆗窌䚩鱎鮫䥞獥鉸鐎㩰敎皭攪撹皦撟捁挍摷㰾譥釂㭂敽鷮敿矯徺臫笅穚簥筊㽲㽱虠䢒䴔鵁勦嬓嬌孂㚣僥龣儌餃鷦燞繳纐絞訆譑䜈", + "jie": "结解接阶界价节介姐借街揭届洁杰截皆戒捷竭劫桔藉诫秸睫楷芥婕拮孑诘疥嗟颉疖桀碣羯讦偈蚧毑袷家她卩喈骱鲒䕙鞊鞂蓵䔿菨莭㔾階卪岊犗礍䂝䯰䂶㛃镼砎䃈脻丯刦刧刼頡㔛劼㓤迼堺堦䣠琾疌玠䀷䁓潔尐滐蠽湝昅蛶蠘蜐蛣䗻蝔唶踕跲喼吤畍嶻崨幯㠹巀嵥岕悈屆㞯㦢㸅庎煯㝌衱袺褯衸㝏䥛觧鉣㘶鍻鎅鮚䰺䱄䲙魪狤擮㨗掲擑㨩掶搩杢㮮楬楐檞桝榤㮞椄徣䂒䅥節蠞稭㓗㾏㿍楶癤痎䇒媎媫嫅媘㑘倢偼䲸傑飷結䌖鶛誡訐詰誱謯䛺", + "jin": "进金今近仅紧尽禁劲津斤晋锦浸筋巾谨襟靳矜瑾烬噤缙觐馑堇荩卺赆廑衿钅槿妗蓳荕菫緊覲㝻歏黅藎䒺巹㹏矝厪㰹砛䐶墐壗晉㬜琎瑨殣琻勁珒璶璡齽䶖鹶漌溍浕濅堻濜㴆㬐䗯唫嚍䝲贐惍㶦煡燼寖䘳䆮祲觔釿錦釒㨷劤搢䖐䤐枃䫴㱈㯲㯸䑤凚嫤㶳盡䀆賮嬧僅仐侭伒僸饉䭙儘進縉䋮䌝紟謹䥆", + "jing": "经精境京静竟惊景睛镜径警晶劲竞净敬井颈茎鲸荆靖兢痉憬泾菁粳阱胫腈迳旌璟儆箐刭肼靓獍婧弪荊莖葏㢣蟼憼驚䔔聙頚㣏㕋脛鼱㘫坓汬丼璥靜靚䴖鶄殌璄巠剄頸鵛逕坙梷淨汫瀞㵾涇澋浄曔暻㬌踁䵞䡖幜麠麖宑穽鯨㹵猄鏡坕桱橸稉徑秔凈痙竸競竫竧妌婙婛俓傹経弳經綡䜘鶁亰旍誩", + "jiong": "炯窘迥炅颎冂扃蘏蘔褧駫駉澃䐃坰埛㷡煛泂浻煚㖥囧冋㢠冏䢛燛㤯烱逈㷗㓏㑋僒侰絅䌹綗熲顈", + "jiu": "就究九久旧酒救纠舅揪灸疚臼鸠厩赳韭咎桕啾柩鹫鬏玖阄僦匶萛韮匛䓘舊牞镹䊆䳔䳎慦㺩㺵殧齨䰗鬮㲃汣䡂㠇丩乆䊘㡱廏廐廄㶭麔䆒鯦勼匓捄摎㧕揂㩆欍柾朻樛杦舏䅢揫㐇鳩奺倃糾乣糺紤鷲䛮", + "ju": "具据局举剧句居巨距聚拒柜菊矩惧俱拘桔咀锯鞠橘踞驹沮瞿炬踽疽遽掬枸飓榘苣裾龃榉倨狙钜莒且车苴鞫犋雎琚屦窭锔醵椐讵蘜䕮䢹乬巪蒟輂埾陱聥犑駏驧駶駒䃊砠㪺䢸舉㐦擧鴡貗腒䏱鼳鼰毩毱弆壉趜埧㘲耟㠪歫䶙齟䶥郹䴗鶪㮂狊䋰勮豦劇愳虡眗䡞洰㳥挙湨澽涺泦泃淗趄昛蚷㬬蜛䗇蹫跙㘌躆跼跔踘啹罝㽤巈岠岨崌㞫鵙怇鶋懅懼䪕㥌屨㞐凥烥粔焗粷寠袓襷䆽窶䄔鉅鐻邭鋸鋦鮔匊䱟鮈鵴䱡據㩴㩀㨿挶䰬抅㐝拠檋櫸欅䣰䤎椇梮椈秬簴筥躹䅓艍䈮䵕閰姖娵㜘婮婅倶侷颶䜯繘詎䛯諊渠", + "juan": "卷倦捐圈娟鹃绢眷涓镌蠲鄄狷锩桊蔨菤奆朘腃臇埍睊睠淃瓹呟罥羂䳪脧惓慻焆㷷裐隽鋑䥴獧錈鎸鐫捲䚈䣺㯞䅌䡓勌劵䄅龹䖭帣巻餋弮勬絭姢䌸㢧絹㢾讂㪻", + "jue": "决觉绝掘嚼爵诀厥倔攫崛蕨獗撅噘抉镢蹶谲角孓噱橛珏矍鳜桷钁劂爝觖匷㓸芵蕝孒䦼矡駃砄蹷蟨憠鷢橜䐘䏣臄貜䏐䁷覺趉䞵䞷赽瑴䝌玨㻕玦亅䀗覐㵐決覚泬灍蟩䖼蚗虳噊䟾躩䠇趹爴䡈㟲嶡嶥崫㤜憰戄屩屫刔鴂爑㷾熦焳䙠䘿䆕䆢氒鐍鐝觼觮䦆鈌鴃玃㹟㩱挗㸕捔撧㰐㭾㭈櫭䍊䇶欮疦瘚弡彏䋉㔢絶㔃絕譎斍訣", + "jun": "军均菌君俊峻钧郡骏竣隽浚筠麇儁皲捃莙葰䕑陖皹駿鵕㕙碅㓴埈䝍㻒珺䜭濬汮㴫晙蜠蚐呁㽙畯賐懏燇麏麕皸軍袀㝦寯鲪銞馂鵔鮶鍕銁鈞攈攟棞桾箟箘䇹姰頵鵘覠㒞餕㑺雋龟", + "ka": "卡咔咖咯喀佧胩垰裃鉲䘔", + "kai": "开凯慨恺揩楷铠忾闿锴岂蒈垲剀锎䒓奒䐩塏䁗暟嘅䡷輆剴颽凱㡁嵦愷愾炌烗鎧㚊鎎鐦鍇開闓勓欬", + "kan": "看刊堪砍坎勘嵌侃槛瞰龛阚磡戡莰凵顑歁墈栞䶫鬫矙轗輡嵁崁惂冚欿衎㸝䘓㸔䀍竷闞龕偘", + "kang": "抗康炕扛慷亢糠鱇伉钪闶匟砊漮䡉囥嵻忼㱂粇㝩鏮犺鈧槺躿穅閌嫝邟㰠", + "kao": "考靠烤铐拷犒尻栲䐧攷丂洘䯌嵪㸆銬鲓鮳鯌䯪髛", + "ke": "可科克客刻课颗壳棵渴咳柯磕苛坷瞌窠蝌轲颏恪稞髁珂氪缂岢嗑剋尅呵骒溘蚵锞钶疴薖萪匼騍牱犐礚碦勊勀砢㕉堁殼殻㵣渇顆敤㪙趷礊軻嶱嵑㞹嵙峇愘炣㪡愙䙐錁翗鈳搕揢榼醘㐓㪼㤩衉艐痾㾧牁娔樖緙課頦", + "kei": "剋尅", + "ken": "肯恳垦啃龈裉㸧硍墾懇貇豤肻肎褃錹掯", + "keng": "坑吭铿硻阬牼硁硜䡰鏗鍞銵摼挳妔誙劥", + "kong": "空控孔恐箜倥崆鞚硿埪涳㤟悾鵼錓躻㸜", + "kou": "口扣寇叩抠佝蔻芤眍筘剾蔲瞉鷇㲄瞘滱䳟怐冦宼㓂窛釦敂䳹摳劶㔚簆彄", + "ku": "苦哭库枯裤酷窟挎骷绔袴刳堀喾䧊郀矻嚳㱠跍圐㠸庫廤㐣焅褲鮬狜楛桍䇢秙䵈瘔㒂俈絝", + "kua": "跨夸垮挎胯侉咵趶骻䯞銙舿姱誇䋀", + "kuai": "会快块筷脍侩狯哙蒯浍郐䓒巜膾凷墤㙕㙗塊圦㱮欳澮㬮噲䯤㟴廥糩鲙鱠獪擓㧟㔞䈛鄶䭝儈旝", + "kuan": "款宽髋䕀臗髖寛寬窾窽䥗䲌鑧䤭㯘歀梡欵", + "kuang": "况矿狂框旷筐眶匡邝哐圹诳劻夼贶贶纩诓匩邼硄礦砿壙眖矌洭黋況曠昿軭軖軦軠岲貺恇忹懭鄺懬爌䊯鋛鑛鉱㤮鵟狅抂䵃筺穬儣絖纊絋誆誑", + "kui": "亏溃愧奎魁馈葵窥盔傀匮逵夔喟睽喹聩揆篑岿馗蒉蝰暌跬悝愦䕚蘷藈匱蕢䕫虁聵聭聧骙騤犪尯磈㚝膭頍㙓刲䖯殨㕟虧潰晆䠑䟸躨蹞嘳顝䯓巋巙憒煃窺頯鍷鍨㨒䫥楏䤆櫆楑籄簣䈐䦱闚䍪㛻嬇媿戣鄈䳫饋餽䧶謉", + "kun": "困昆捆坤锟崑鲲琨髡堃醌悃阃菎騉髨髠硱堒壼壸瑻睏涃潉蜫䖵晜㫻鹍鵾䠅崐焜熴鶤裩裍裈褌祵錕鯤猑㩲梱稇稛閸閫綑", + "kuo": "括扩阔廓蛞鞟鞹萿葀䯺髺鬠霩濶䟯㗥韕挄擴拡頢筈䦢闊", + "la": "拉啦腊辣蜡落喇垃剌旯邋砬瘌藞鞡䪉菈䏀鬎磖䂰㕇䃳臈臘䟑䝓䶛㻋㻝瓎溂䗶蝋蝲蠟嚹翋㸊爉鯻鑞镴搚揦攋䱫揧辢楋櫴柆䓥", + "lai": "来赖莱癞睐籁徕涞崃疠唻赉濑铼䓶藾萊䧒騋㚓䂾琜睞瀨瀬淶䠭㠣崍庲襰䄤䲚鯠錸猍梾頼賴鵣棶郲來賚顂鶆逨䚅麳筙㥎籟徠箂䅘癩㾢婡俫倈䋱", + "lan": "兰蓝烂览篮栏拦懒滥揽澜婪岚缆阑榄斓褴啉谰镧漤罱藍韊䪍覧覽擥蘫蘭葻䰐䃹䑌壈璼㱫瓓灆濫灠灡浨㳕瀾嚂囒躝㘓幱嵐㞩懢懶惏㦨爁爦爤糷䊖顲燗爛燷燣襤襽襕襴䆾钄䳿鑭㩜攬㨫攔欖㰖欗醂欄籃籣䦨闌㜮孏嬾㛦孄儖㑣㑑繿纜䌫䍀譋斕讕", + "lang": "浪朗郎狼廊琅螂啷榔鎯莨阆蒗锒稂䕞蓈蓢硠朤朖㙟埌㱢瑯䁁䀶蜋㫰䍚䡙䯖崀㟍㢃烺䆡㝗䱶鋃樃桹躴艆筤㾿閬㾗嫏郞塱㮾勆郒欴㓪斏誏", + "lao": "老劳落牢络捞姥烙唠涝佬潦痨酪崂醪乐耢铹铑栳荖䵏䕩硓磱嗠䝤朥耮耂㐗䳓珯澇労浶蛯蟧㗦咾嘮哰轑㟙㟹嶗㟉㞠恅憦顟粩䃕勞憥䝁窂銠鮱鐒䲏狫㧯撈㨓橯䇭躼軂簩癆嫪僗髝䜎", + "le": "了乐勒肋仂嘞鳓泐叻艻阞砳㔹玏氻㖀忇㦡鰳鱳扐楽樂簕竻韷餎", + "lei": "类累雷泪勒蕾垒肋擂磊儡镭耒羸嘞檑酹嫘缧缧诔䒹蕌蘲虆藟蘽蔂蘱絫厽㹎䮑礌礧磥㲕䐯鼺䨓靁㙼䢮䣂頛㼍瓃矋㵢洡灅㶟涙淚㴃蠝䍥䍣塁罍礨㔣壘壨畾纍轠鸓䴎櫐㡞類頪纇颣禷鐳銇鑸鑘鱩錑攂㭩䣦欙櫑樏䉪䉂䉓癗㿔㒍㑍㒦儽傫纝縲䛶誄讄", + "leng": "冷愣楞棱塄薐䮚碐堎睖踜㘄唥䚏䉄稜倰䬋", + "li": "里理力利立例离历李礼丽粒隶哩璃励黎厉厘梨莉吏栗犁鲤狸砾沥荔篱漓笠蛎痢俐锂俚雳逦戾镉罹栎蠡俪藜鹂骊砺蜊黧娌莅猁疠傈唳溧疬慄醴砬喱鬲苈澧蓠坜嫠郦呖跞轹詈粝鲡鳢枥篥缡藶蒚蒞荲䔆䔁䔣䔧蔾菞䔉苙茘䓞蘺䧉犡䮥䮋驪勵厲礪㔏礰鬁㻎砅䃯礫歴暦厯磿歷厤曆㻺㽁貍䤚蠫䴄脷壢靂隷䟐赲䟏靋塛孷釐剺斄㹈瓑珕蟸叓䣓䰛酈鸝邐䚕婯麗䴡㱹㡂㽝瓅瑮琍瓈䶘㮚䁻睙濿瀝浬浰沴涖灕蠇䘈曞蠣蛠㬏蝷蚸蟍蜧㒿嚦㘑囇躒㗚唎嚟㕸囄轣䡃轢䍠䍦豊巁屴峛峢㟳峲㠟岦㤦㤡㦒悧悷䊪爄糲糎爏廲粴麜㷰裡褵䙰禲禮䄜䥶觻䲞鋰鱱鳨鱺鯉鱧鯏㺡鏫鑗鉝瓥㼖攊㿨攦㸚擽皪搮㧰攭櫔櫪栛朸隸䣫欐䤙醨栃檪櫟鷅梸㰀㯤欚棙樆㰚䅄穲䖽䵩悡鋫䱘㴝犂睝䖿鯬鵹䊍邌錅䴻棃剓筣䉫秝艃䵓䅻籬癘竰癧䍽㿛㾐㾖鴗凓䇐孋㓯娳刕儮儷䬅䬆㑦㒧劙䗍盠盭䰜纚䋥綟縭讈裏離謧", + "lia": "俩", + "lian": "联连脸练炼恋莲怜链廉帘敛镰鲢涟殓濂梿奁裢潋楝蔹臁琏琏蠊裣匲蓮薕萰蘞匳蘝聨聫聯䏈聮奩鬑䃛磏臉䨬覝堜鄻璉㱨殮瑓䁠㶌瀮漣湅濓溓瀲澰㶑螊蹥嗹噒連㦁㡘慩翴㦑憐䙺㥕燫煉劆㢘熑褳襝鏈鰱鰊鐮錬鍊㺦䥥鎌㼓摙櫣㪝槤㼑㰈㯬㟀簾䆂䇜籢籨亷㾾㝺羷㜕嫾嬚媡㜃㜻斂㪘歛㰸僆䭑縺練䌞纞謰戀", + "liang": "两量亮良粮梁俩凉辆谅粱踉晾靓莨墚魉椋䩫䓣駺㹁脼㔝兩両涼湸蜽唡啢䠃喨哴輌輛輬辌㒳䝶悢糧裲䭪鍄掚魎䣼樑倆倞俍緉諒", + "liao": "了料疗辽僚聊廖缭寥撩燎撂瞭缪嘹潦寮镣蓼獠尥鹩钌藔䒿镽䩍尞鷯遼䨅㶫膫㙩璙䝀敹漻㵳暸蟟曢蹽蹘䍡嶚嶛髎嵺賿憭憀屪鄝䢧䎆廫膋爎㡻䉼炓㝋窷竂釕鐐爒㺒橑䄦簝䑠療嫽尦飉豂䜮繚䜍", + "lie": "列烈裂猎劣咧冽趔鬣埒洌躐捩茢䓟聗㸹犣鬛㼲脟㲱埓劽䴕㤠烮鮤鴷迾姴䁽浖毟蛚㬯哷䟹䟩㽟煭鱲猟獵㧜挒挘擸栵㭞㯿䅀䉭巤颲儠䜲", + "lin": "林临邻磷淋鳞霖麟琳拎凛吝粼赁蔺躏嶙啉璘廪檩遴膦瞵辚辚懔臨䕲菻藺隣阾厸驎䮼䫰碄壣瀶潾澟暽䗲晽躪蹸躙㖁轥疄轔崊恡悋懍燐㷠䢯鄰粦㔂亃翷斴甐麐廩冧㝝䚬鱗鏻獜撛㨆橉䫐檁箖䉮焛閵癝凜癛僯賃繗綝㐭", + "ling": "领另令灵零龄岭铃玲凌陵棱菱伶苓聆翎绫羚鲮呤棂蛉囹瓴酃泠柃䔖蘦䖅蕶蔆蓤䕘䧙駖㸳砱朎霊霗㪮䰱龗霝䴒䚖孁靈㲆䨩夌坽䴇霛琌㱥㻏齡羐鹷齢澪淩㬡昤㖫跉䡼䡿輘軨䯍崚岺嶺㦭㥄爧燯炩㡵䴫麢䙥裬袊祾䄥錂鯪魿狑鈴掕皊櫺欞㯪醽䉁䍅䉹䈊䉖䠲舲彾秢笭衑竛閝㾉婈姈鸰刢領鴒䌢綾紷詅〇", + "liu": "流六留刘硫柳溜瘤碌榴馏琉浏绺蹓遛镠骝鎏鹨熘镏锍旒蓅藰蒥䋷䭷驑駵駠騮磟磂䶉㙀塯霤㽌璢畱鬸珋瑠䰘澑畄瀏瑬蟉䗜㽞嚠疁罶嵧羀懰鷚翏雡熮㶯廇麍裗䄂䚧鐂鏐䱞䱖鰡鎦鋶鹠劉鶹㨨橊桺栁桞橮䉧癅嬼媹飗飂䬟飀飅餾綹㐬斿旈", + "long": "龙隆笼垄拢胧聋咙陇窿珑垅弄砻茏栊滝眬泷癃䪊蘢䃧隴䏊龓尨礲朧霳䥢鏧壠靇瓏矓漋㙙㴳湰瀧昽曨蠬哢躘嚨嶐㟖巃巄贚㦕㢅爖㝫襱竉鑨攏梇䙪櫳槞㚅䡁徿籠䆍篭聾礱龍壟龒蠪驡鸗㰍竜㛞㑝儱豅㡣", + "lou": "露楼漏陋搂喽篓娄镂偻髅蝼瘘耧蒌嵝鞻㔷蔞䮫㲎塿耬䝏剅瞜䁖漊溇螻嘍䣚䫫婁甊遱鷜㪹髏㟺嶁屚慺㥪廔熡䄛鏤䱾㺏摟樓簍䅹軁艛瘻瘺謱", + "lu": "路陆绿露录鲁炉卢芦鹿碌禄卤虏庐噜麓颅漉辘掳六赂鹭戮泸橹璐潞鲈撸蓼箓轳胪垆氇鸬渌辂镥栌簏舻逯虂䩮蘆蓾蕗蔍菉陸䎼騼䮉騄馿䰕磠硵䃙硉臚膔氌䐂壚塷趢塶圥勎坴鵱瓐㱺璷琭矑虜㪭盧顱鸕鹵睩淕瀘滷澛瀂淥曥蠦螰㫽踛嚧蹗鷺䟿嚕㖨黸䡜轤轆輅䡎髗㠠賂峍㟤㦇䎑勠剹㢚廬爐廘熝粶䴪㼾䘵祿錴鐪鑪鏀㔪鏴鯥䲐鱸魯鴼鵦䱚鏕魲鑥獹録錄鈩擄攎摝擼醁㯭櫨樐㯝樚櫓㯟㭔椂枦甪罏稑籚簬簵穋簶穞籙艣艫艪舮㓐㿖㛬㪖䚄盝㜙娽僇侓纑彔䌒㢳㪐謢玈", + "luan": "乱卵挛峦滦鸾孪栾銮脔娈䖂虊亂灤羉圞圝釠癴癵鵉孿㝈奱㡩灓曫巒鸞鑾攣欒孌臠㱍龻䜌", + "lun": "论轮伦仑沦纶抡囵崙菕芲陯磮碖腀耣埨淪溣蜦踚㖮圇輪崘惀㷍鯩錀㤻掄棆䑳稐䈁婨侖倫綸論", + "luo": "落罗逻洛络螺裸萝锣骆烙骡啰珞箩摞捋倮瘰猡硌荦脶漯泺镙椤雒蠃蘿蓏騾駱䯁硦覶頱腡㼈㱻覼䀩㴖濼曪囉囖邏羅峈㦬犖鏍鑼鮥玀㩡攞㰁欏洜㓢鵅籮躶䈷笿癳㿚㑩儸饠㒩纙絡䌱䌴驘臝䊨鸁䇔詻剆㽋咯", + "lv": "律率绿虑旅氯铝履吕捋驴滤侣屡缕榈褛偻闾稆膂藘葎䕡驢膢膟垏勴慮濾郘呂氀㠥嵂屢爈焒褸祣鑢鋁㲶捛挔櫖梠櫚穭箻閭儢侶僂絽縷緑綠繂膐", + "lve": "略掠锊寽㔀畧㨼圙鋢鋝稤", + "ma": "马吗妈麻嘛骂码抹玛蚂蟆犸嫲么杩蟇蔴䣕馬䣖遤碼鬕瑪睰溤螞䗫嗎駡嘜罵䯦犘㦄䳸祃禡鎷鰢鷌獁㨸榪㾺痲痳閁媽㜫㐷傌㑻摩", + "mai": "买卖麦脉埋迈霾荬劢唛薶勱邁蕒䮮脈霢霡䨪賣売䨫䁲嘪䚑鷶買麥衇䘑䈿㜥佅䜕", + "man": "满慢漫曼蛮瞒蔓馒螨幔缦鳗谩颟墁埋鞔熳镘䕕顢㒼蔄蘰鬗䯶鬘䰋䐽䝡䝢㙢䟂瞞満滿㵘澷蟎鄤㬅㗈㗄䡬㡢慲屘悗䊡襔鏋鏝鰻獌摱樠槾䅼䑱姏娨嫚㛧僈饅䜱縵謾䛲矕蠻", + "mang": "忙盲茫芒氓莽蟒铓牤邙硭漭䒎莾蘉茻牻駹厖硥壾㙁㻊䁳䀮盳浝汒蠎㬒蛖哤䟥䵨㟿㟐㟌㡛恾庬㝑鋩狵釯杧䅒笀䈍痝娏䖟杗吂", + "mao": "毛矛貌冒贸帽猫茂茅髦瑁锚牦铆卯懋袤昴峁眊茆瞀蟊蝥耄泖旄蓩鶜䓮芼鄚萺堥暓䖥愗髳冇貓䫉覒氂犛㲠㺺渵㴘冐毷㪞㒻㫯蝐罞軞䡚冃㡌戼㝟錨夘鉾䀤鉚乮鄮貿㧌㿞㧇皃㒵楙柕㮘枆酕䅦笷媢㚹䋃", + "me": "么濹嚰嚒", + "mei": "没美每妹梅煤眉霉媒枚酶镁媚魅玫昧莓糜楣寐湄嵋袂浼鹛镅猸䒽葿䓺苺脄腜脢堳坆㺳䜸瑂珻眛睸䀛湈沬沒渼䰪蝞跊嚜槑䵢黣䍙嵄郿鶥韎㶬䊊煝塺䊈燘禖祙鎇鋂鎂抺攗鬽挴楳㭑䤂栂䆀䰨躾黴徾篃毎䉋羙凂痗媺嬍媄睂旀", + "men": "们门闷瞒懑扪汶焖钔虋菛璊玧㱪懣㵍暪㡈䝧㥃㦖䊟穈燜䫒鍆㨺捫椚門悶閅們", + "meng": "梦蒙猛盟孟萌朦氓锰懵蟒勐檬濛蜢虻蠓矇瞢甍礞艨艋䓝鄸䒐䠢顭夢莔氋鹲鸏蕄䰒㚞䑅䑃䏵㙹靀霿霥矒溕曚䗈甿㠓幪懜懞冡鼆䀄䙩㝱䙦錳䴌䲛鯭鯍䥂獴䥰㩚掹擝橗䤓䴿䵆䉚㒱癦䇇㜴儚饛鄳夣蝱", + "mi": "密米秘迷蜜弥泌眯咪觅谜靡糜猕谧醚嘧弭脒幂麋縻汨蘼蘼芈敉宓冖祢糸蔝㰽蒾䕷蘪藌蔤葞䕳䮭镾覔㫘䪾覓㸓塓鸍羋瞇䖑濗漞濔㵋㳴㴵灖洣滵淧沵沕䌘渳瀰㳽羃䍘峚幎㠧㟜怽幦戂㥝㐘粎䊳麊熐麿爢㸏麛䴢冪宻鼏䁇冞㝥袮禰祕䱊銤獼㩢覛擟攠㨠䤍䤉釄醿醾䣾榓櫁樒簚䉾㜆孊侎䭩䭧䌩䌐㣆䥸彌㜷瓕䌕䋛䌏䛉謐䛑䛧謎詸", + "mian": "面免棉眠绵勉缅腼冕娩沔湎眄渑宀芇葂䏃䰓勔靦靣䃇㻰㤁丏麺䀎睌矈矏矊汅㴐澠蝒㬆喕愐糆㝰鮸緜㮌䤄杣㰃櫋麵麪麫檰䫵臱媔㛯婂嬵偭㒙緬絻綿", + "miao": "描苗妙秒庙渺瞄缪淼藐缈邈鹋眇喵杪鶓㦝䁧䖢㠺庿廟劰篎䅺竗媌嫹㑤緢緲玅", + "mie": "灭蔑篾咩乜蠛薎孭礣烕䩏䁾瀎滅䘊哶吀幭懱鴓鑖鱴搣櫗衊䈼㒝", + "min": "民敏闽皿悯抿泯岷闵苠珉玟黾愍鳘缗蠠䃉䂥碈砇垊琝瑉琘䁕盿湣潣旻旼䟨䡅罠䡑䡻㟭崏㞶䪸敯刡㥸鴖暋㟩敃惽怋憫忟鍲鈱䲄錉㨉捪笽笢簢勄慜鰵閩冺痻閔姄僶緡㢯䋋黽緍忞", + "ming": "明命名鸣铭冥螟茗瞑酩溟暝蓂眀眳洺㫥鳴朙㟰慏䊅鄍䒌䫤覭㝠䆩䆨䄙銘猽掵榠凕嫇姳佲詺", + "miu": "谬缪謬", + "mo": "么没模末默莫摸脉磨冒膜摩墨漠魔抹沫陌寞摹蓦蟆蘑馍谟茉貉秣殁貘万貊耱麽镆瘼嫫嬷嬷靺䒬莈驀㱳謩藦䮬砞䩋礳䃺䏞貃䳮塻圽歿歾瞙眜瞐䁼眽眿尛蛨黙昩䘃蟔嗼嚤䁿㱄髍帞帓懡糢㷬爅㷵䯢劘麼䜆庅鏌銆魹䱅魩獏㹮皌擵枺橅䴲䉑妺嫼嬤饃䬴饝纆絈謨嘿", + "mou": "某谋牟眸缪呣哞鍪蛑侔䥐劺鴾䏬䗋踎䍒恈䱕㭌麰繆謀", + "mu": "目母木模莫幕牧亩墓姆慕穆暮姥牡拇睦募沐牟缪苜钼毪坶仫莯䧔鞪䱯楘㜈牳砪氁胟雮霂畞䀲暯蚞踇畂畮峔幙慔毣炑䥈鉬狇鉧㣎㧅䑵艒㾇凩㒇縸䊾畆畝畒", + "na": "那哪拿纳娜呐捺衲钠内南肭镎靹蒳䖓乸䫱貀豽䏧雫䀑㴸䖧䟜吶㗙嗱軜䎎䪏袦鈉魶䱹鎿㨥䅞笝䇱郍䇣䈫拏妠搻納䛔", + "nai": "奶耐乃奈萘氖迺艿能鼐柰孻螚䘅䯮腉渿褦釢錼㮈㲡廼㮏疓㾍䍲嬭倷", + "nan": "难南男喃楠囡赧囝腩蝻䕼䔜萳戁難莮䔳遖䁪湳暔㫱㽖畘䶲煵揇抩枏柟䈒㓓婻娚侽諵䛁", + "nang": "囊囔曩馕攮䂇嚢灢㶞蠰乪擃欜齉儾㒄饢", + "nao": "脑闹恼挠瑙呶孬桡淖铙硇垴蛲猱夒䃩碙碯臑脳腦䑋䴃堖鬧蟯巎嶩悩憹怓惱鐃獶獿峱㺀㺁撓䄩閙嫐㞪㛴䫸㑎匘譊䛝詉䜀䜧", + "ne": "呢呐讷哪疒䭆䎪眲㕯抐訥", + "nei": "那内哪馁脮腇㼏㘨㖏䡾內䳖鮾䲎鯘錗㨅氞氝娞㐻餒", + "nen": "嫩恁㶧㯎㜛嫰", + "neng": "能䏻㲌㴰", + "ni": "你疑尼泥拟逆妮腻倪匿溺霓昵睨怩鲵铌旎呢坭猊伲䘌臡苨䕥薿孴聣隬䧇膩貎胒䝚郳㪒堄䁥齯惄眤㵫淣聻埿氼暱晲蜺蚭跜輗㞾㠜㥾㦐愵籾麑䘽䘦觬鈮鯢狔㹸掜屔抳䰯擬棿檷柅䭲馜秜䵒䵑屰䦵嫟嬺婗妳儞㲻伱儗㣇縌誽䛏", + "nian": "年念粘碾撵捻辗蔫拈埝黏鲶鲇辇廿䩞卄輦涊㲽淰躎蹍蹨哖唸㘝㞋惗焾鮎鯰攆撚䚓鵇秥簐䄭秊艌䄹姩䬯", + "niang": "娘酿䖆醸釀嬢孃", + "niao": "鸟尿溺袅脲茑嬲蔦䮍䦊䃵䐁㳮㠡㞙鳥䙚裊㭤樢嬝嫋㜵㒟褭", + "nie": "捏聂涅孽镍蹑蘖镊颞啮嗫摄乜陧臬糵㜸苶菍聶顳隉孼蠥糱櫱䯅䯀䯵齧㚔䂼㘿㙞摰槷湼㴪圼囁囓躡踙嚙踂噛踗㡪嵲嶭巕㸎䄒鑷鑈钀鎳錜揑㩶枿㮆籋臲篞㖖痆闑帇敜䌜䜓讘捻", + "nin": "您恁脌囜㤛拰䋻䚾䛘", + "ning": "宁凝拧狞咛柠泞佞聍甯䔭薴聹鬡㿦矃澝濘䗿嚀寕㝕㲰寍寜鸋寧寗鑏獰擰橣檸㣷嬣儜倿䭢侫", + "niu": "牛扭纽钮拗妞忸狃靵莥䒜牜䏔㺲䀔汼炄鈕杻䋴紐", + "nong": "农弄浓脓哝侬蕽鬞膿䢉䁸濃噥農燶㶶襛禯㺜挵挊醲檂欁辳齈穠秾䵜癑儂繷譨", + "nu": "努奴怒弩帑孥驽胬搙䢞笯駑砮㐐傉伮㚢", + "nuan": "暖䎡渜㬉煗煖䙇奻餪", + "nuo": "诺娜挪糯懦喏傩搦难锘逽㔮蹃㡅愞懧糥糑鍩䚥掿㰙梛榒橠稬穤㐡㛂儺㑚諾", + "nv": "女衄恧钕朒沑籹釹衂", + "nve": "虐疟硸䖋䖈瘧婩", + "o": "哦噢喔筽", + "ou": "偶呕鸥殴耦藕讴禺沤怄瓯区欧蕅毆鷗歐甌䚆鴎藲膒腢塸漚㼴嘔吘䯚慪熰鏂䳼櫙㛏㒖䌔䌂謳", + "pa": "怕爬帕扒啪趴琶耙杷葩钯筢䔤苩䯲䶕潖帊袙皅掱舥妑", + "pai": "派排迫拍牌湃徘俳哌蒎犤沠渒㵺䖰輫鎃猅棑㭛簲箄簰", + "pan": "判盘胖潘盼叛攀畔拌蹒泮蟠磐槃爿袢柈番襻丬萠蒰聁䰉䰔磻䃑䃲坢眅㳪溿沜瀊洀蹣跘炍鑻鋬牉䈲鞶幋縏盤鎜搫媻頖鵥冸詊拚", + "pang": "旁胖庞乓磅螃彷滂徬耪逄䮾厐龎肨膖胮霶㫄雱䨦眫㤶㥬炐龐鳑鰟舽䅭㜊嫎䒍覫", + "pao": "跑炮泡抛袍刨咆疱狍庖匏脬鞄䩝萢皰礟礮靤砲奅褜垉㘐軳麅麃炰拋爮㯡麭䶌㚿䛌", + "pei": "配培陪佩胚赔沛妃裴呸帔辔霈锫醅旆蓜阫馷䪹䲹䫠肧毰珮㳈浿㫲䣙賠㟝怌㤄䊃犻錇㧩衃姵俖伂轡裵斾", + "pen": "盆喷湓葐翸歕喯噴呠瓫", + "peng": "朋碰棚蓬膨捧篷鹏烹砰澎抨怦硼嘭彭堋蟛莑芃蘕駍騯鬅髼鬔䰃磞硑鵬蟚塜塳㼞淎泙踫輣軯䡫剻㥊憉恲熢袶䄘鑝錋匉捀皏掽樥槰椪䴶梈椖稝竼篣閛韸韼㛔倗傰纄弸苹亨", + "pi": "皮批屁披辟疲脾匹劈僻副罢譬啤琵坯癖毗痞枇霹噼裨媲否貔丕吡陂砒邳铍圮睥蜱疋鼙陴埤淠蚍罴甓庀擗郫仳纰苉鴄㓟隦阰駓髬㔻礔磇䏘豾脴腗䑀䑄膍肶豼噽嚭壀耚疈錃潎澼蚾蚽䠘㔥羆䡟毘岯嶏崥翍礕䴙憵鷿鸊悂炋焷螷蠯鈹銔鉟銢鲏鮍魾魮䤨釽錍狓狉鈚抷㨽揊䰦䫌䤏㯅秛秠稫篺笓鵧㿙闢嫓伾伓枈紕諀旇䚰䚹", + "pian": "片偏篇骗扁翩骈胼蹁便犏谝貵䮁騈駢騙腁䏒跰囨骿賆魸鍂楩楄覑㸤㾫㛹媥㓲騗鶣㼐諞", + "piao": "票飘漂瓢瞟缥剽嫖朴嘌骠慓殍螵薸䕯䏇驃犥㵱㬓䴩鰾㺓㹾皫㩠魒勡彯飄顠翲㼼醥徱篻闝僄飃縹旚", + "pie": "撇瞥苤氕丿暼鐅撆嫳覕䥕", + "pin": "品贫频拼聘拚嫔颦姘牝玭榀蘋薲驞礗砏琕顰䀻矉蠙嚬汖㰋馪穦嬪娦貧", + "ping": "平评凭瓶屏苹萍乒坪呯鲆枰娉俜蓱荓聠砯胓䶄塀玶㻂淜涄洴蚲蛢輧軿甹岼幈帲帡屛焩鮃檘缾䍈甁簈箳郱頩艵慿憑凴竮㺸評冯", + "po": "破迫婆坡颇泼朴泊魄粕珀鄱钋笸陂叵钷皤蔢尀蒪頗駊奤砶䞟䨰㨇洦湐溌潑昢哱嘙嚩岥䯙岶䪖烞鉕釙鏺廹敀櫇䣮䣪酦醱醗箥䎊䄸㰴㛘㔇繁", + "pou": "剖掊裒犃垺哣㧵抔捊抙箁咅娝婄", + "pu": "普铺扑谱朴葡仆浦蒲埔菩瀑圃噗曝匍蹼溥濮璞莆氆攴镤镨堡攵䔕䑑蒱䧤陠㹒暴圤墣㺪瞨潽㬥䗱圑贌烳炇㲫䴆菐鯆鏷䲕鋪獛鐠擈撲酺檏樸㯷䈻䈬穙痡暜舖舗㒒僕纀諩譜", + "qi": "起其气期器企七奇汽齐妻启旗弃骑欺漆棋岂凄契歧戚栖泣砌祈蹊乞迄崎祺鳍伎缉岐琦祁琪憩畦沏绮脐亟嘁荠杞麒颀耆啐蛴碛淇葺芪祇綦欹槭萋讫圻蕲揭萁芑骐亓丌柒汔蜞屺桤藄䩓䓅鄿䕤蘄䔇䒻炁芞藒䒗萕陭隑䏅䧘亝騹騎騏䭼䭶唘碶磩碕鬐䰇磧慼䫔䚉栔㓞㼤矵攲敧鵸碁䫏磜剘蜝㐞䳢棊肵䏠臍墄埼霋䞚䟄䎢璂䚍玘郪鶈䀙䶞盀盵濝淒呇滊湇湆蚑螧蚔蚚暣㫓蠐咠唭踦跂䟚噐呮罊蟿䡋軝䡔䢀㟢豈帺㟓岓嵜㠎邔慽㥓愭悽愒迉忯㞚㞓懠粸䉻麡䧵褀褄䙄禥䄎䄢鏚錡锜釮鲯鯕鶀䱈鰭䲬䰴夡玂猉鐑頎掑捿氣鬿魌気摖㩩櫀㯦㟚棲㩽榿檱㮑䣛桼憇諬䅲欫甈㣬䄫簯䅤䑴䉝艩簱籏㾨竒疧闙䀈婍娸傶僛倛䏌䬣㒅綺緀紪䭫䭬綥䌌斊棄䛴諆斉齊䶒䐡䁉䋯啔啟䏿䁈晵啓棨訖旂枝俟稽", + "qia": "恰洽掐卡髂拤袷咭葜鞐圶硈胢䨐殎䶝䶗䠍跒䯊峠㡊帢㤉擖酠冾㓣䜑", + "qian": "前千钱潜迁浅签纤牵欠遣铅歉谦乾倩嵌虔钳黔谴堑扦阡茜钎掮犍钤佥荨骞愆箝芡芊肷椠岍悭慊褰搴仟缱䪈韆䕭茾孯臤蜸掔婜蔳葥蕁蒨騚騝㸫鬜鬝厱膁㦮墘䥅亁乹圲䨿䁮䖍歬淺灊潛汧壍嬱汘濳蚈黚輤塹㟻槧㜞軡㡨岒慳悓忴粁䊴䞿騫錢鹐鵮銭鉗鑓鰬釺鎆鈆鉛鈐鏲㧄攑㩮拑皘㨜攐攓㩃拪揵扲撁橬檶遷棈榩櫏杄槏㯠圱刋谸籖䍉篏䈤䈴篟簽籤羬䇂䦲竏㪠䫡奷媊僉俔儙諐伣㐸偂傔䭤仱欦綪繾縴譴顅謙牽", + "qiang": "强枪墙抢腔羌呛跄锵蔷羟襁戕戗嫱樯蜣炝锖镪薔蘠蔃墻玱瑲溬漒蹡蹌啌嗴唴嗆嶈廧熗獇猐鏘鎗鏹摤㩖搶檣椌䵁槍艢䅚篬牆羥羗羻羫墏斨牄嬙㛨戧強彊繈繦謒疆", + "qiao": "巧桥悄瞧敲乔侨翘峭窍俏锹鞘憔跷撬樵荞橇壳雀诮峤鞒硗愀劁缲谯鞩鞽㤍䲾㚽菬荍藮蕎陗犞磽䃝䩌硚礄䂭翹墝㚁趬趫墽墧睄郻㴥踍蹺躈蹻嘺骹帩幧韒燆㢗㝯䆻竅釥鐰鄥䱁鄡鐈鍬撽櫵槗橋勪喬䀉䎗㡑鍫䇌頝癄嫶僺僑顦繰繑誚髜毃㪣髚譙", + "qie": "切且窃契怯砌伽茄妾惬趄锲箧挈郄苆㥦匧㰼聺㚗洯蛪㓶厒㤲㰰朅淁㫸䟙踥㗫愜悏竊鍥䤿鯜㹤癿篋笡籡穕㾜䦧㾀㛍㛙䬊", + "qin": "亲侵勤秦琴禽钦沁芹寝擒矜噙覃揿芩嗪衾螓吣锓檎菣靲䔷懃斳兓菳菦藽耹骎㮗駸肣㘦赾埐坅琹珡䖌澿瀙螼蠄昑蚙唚㞬嶜嵚嶔嵰懄慬吢㤈㢙庈㝲寴寢寑顉鈙鮼鵭欽鋟鈫抋捦撳㩒搇梫䠴笉䈜瘽䦦親㓎㾛嫀媇㪁鳹雂綅誛", + "qing": "情清亲青轻请倾庆氢晴顷卿蜻擎氰磬罄圊箐苘檠謦黥鲭綮葝䔛碃䌠硘埥殸漀㷫郬靘靑殑濪淸暒甠啨軽輕鑋䝼䞍慶檾庼廎寈錆鯖䲔夝擏掅氫㯳櫦棾樈凊儬傾頃請勍剠䋜䯧", + "qiong": "穷琼穹邛茕跫蛩銎筇卭㧭䓖藭藑蛬䊄䅃赹璚瓗㼇瓊瞏睘惸㷀煢焭熍焪䆳竆窮宆憌桏㮪橩笻䠻舼儝㒌䛪", + "qiu": "求球秋丘酋囚蚯邱裘鳅巯泅湫虬遒楸逑龟蝤赇糗犰鼽俅蓲鞦鞧莍萩蘒芁䎿毬肍䞭趥坵皳䣇盚㺫蟗玌璆殏巰㐀汓浗湭渞蛷虯䟵䟬䠗唒㕤賕㟈崷㞗㤹㥢恘秌煪觩觓銶䲡䤛䱸鰽鯄鮂鰍鰌釚釻㼒㧨搝扏梂逎㭝朹湬蝵鹙鶖醔媝穐篍龝蠤㷕丠頄㐤叴訄恷䜪紌絿緧䊵訅仇", + "qu": "去区取曲趣趋屈驱渠躯娶岖瞿祛蛐觑衢蛆龋黢癯苣蠼佉阒麯蘧蕖磲朐璩氍劬鸲麴诎葋䒧匤菃敺區䒼螶䧢阹驅駆駈厺髷胠刞臞䝣鼩㰦鼁坥䟊䞤趍趨耝璖麹䶚齲覰覻䁦䀠䂂戵鸜覷灈浀淭䖦㫢蠷蟝蝺呿䠐躣㖆軥㻃嶇㲘岴胊鶌憈翑焌爠粬煀袪鑺鴝斪䵶鰸魼鱋抾㭕㯫欔欋麮衐籧忂筁軀闃閴竘竬㜹佢伹紶㣄䋧絇詘詓誳㧁", + "quan": "全权圈泉劝拳券犬醛蜷痊颧铨荃诠筌鬈畎辁悛犭绻勸顴葲虇䄐騡駩犈牷犮硂䑏䟒埢瑔䀬湶洤蠸䠰踡跧啳圏輇巏㟨㟫峑恮䊎烇鳈鐉鰁銓搼權楾権棬椦勧箞㒰齤奍韏觠牶闎婘姾佺縓綣絟詮", + "que": "确却缺雀鹊炔瘸榷阙阕悫皵鵲䧿蒛碏礭確硞碻礐趞㱿㲉愨慤埆㱋塙琷㴶崅燩㕁搉㩁棤㰌缼䇎䦬㾡闕闋傕卻", + "qun": "群裙逡麇䭽夋囷峮宭㿏㪊裠帬羣", + "ran": "然染燃冉髯苒蚺䖄㲯蒅㸐䒣㿵髥肰䫇珃蚦呥嘫冄䎃衻袡袇䤡橪㯗䑙㾆媣姌㚩㜣䣸繎", + "rang": "让壤嚷攘瓤禳穰蘘鬤㚂壌瀼躟懹爙獽穣䉴儴勷譲讓", + "rao": "绕扰饶桡娆荛蕘隢㹛遶襓擾橈䫞嬈㑱饒繞", + "re": "热惹喏若熱", + "ren": "人认任忍仁韧刃妊纫壬饪仞衽荏稔轫亻靭靱荵芢㸾牣䏕䏰肕腍忈䀼軔㠴岃屻韌㣼䴦袵祍魜鈓銋扨梕杒栣朲棯忎躵秹䇮秂姙刄䋕鵀㶵栠飪餁䭃仭䌾紝纴綛紉絍認訒讱", + "reng": "仍扔芿陾辸礽㭁䄧㺱䚮", + "ri": "日䒤驲馹囸衵鈤釰釼", + "rong": "容溶荣融绒熔蓉茸戎榕冗嵘镕蝾肜狨茙㲨䩸氄駥毧㲓㲝坈瑢瀜栄螎曧蠑䠜㘇䡥䡆軵嶸峵烿爃嵤榮㣑䘬褣䇀宂㝐䢇㼸鎔㺎搑搈榵㭜䤊槦穁䇯穃䈶羢媶嬫嫆傇傛縙絨", + "rou": "肉柔揉蹂鞣糅葇鶔騥䰆腬脜䐓瑈瓇渘蝚㖻輮㽥禸韖煣粈宍鍒鰇楺䄾䧷媃厹譳", + "ru": "如入乳儒辱汝蠕茹褥濡嚅孺铷缛襦女蓐薷颥溽洳蕠蒘㹘㦺鄏肗䰰顬渪蝡曘嗕嶿袽鱬銣㨎擩扖醹杁筎㐈鳰邚鴑䋈媷嬬帤鴽挐桇侞縟繻", + "ruan": "软阮朊䓴碝礝耎腝堧壖瑌瓀輭㽭軟䞂撋䪭㼱媆偄㐾緛", + "rui": "瑞锐蕊兑睿芮蕤蚋枘蕋蘃蘂䓲㓹甤叡㪫㲊壡汭蜹繠橤鋭銳桵㮃䅑㛱緌䌼", + "run": "润闰膶瞤潤㠈橍閏閠䦞", + "ruo": "若弱偌箬鄀爇蒻叒䐞渃㘃嵶焫鰙鰯挼捼楉篛婼鶸", + "sa": "萨撒洒仨卅飒脎蕯薩靸躠隡馺䘮㪪灑㳐䊛䙣鈒钑摋櫒颯㽂㒎䬃訯", + "sai": "塞赛腮鳃噻毸毢嗮㗷嘥顋愢賽䚡鰓揌䈢簺僿思", + "san": "三参散伞叁糁毵馓弎㪚毿犙䫩鬖毶壭䀐潵㤾糤糣糝䊉䫅鏾鏒㧲㪔䉈閐厁俕饊傘繖", + "sang": "丧桑嗓搡颡磉顙䫙桒喪䡦褬鎟槡", + "sao": "扫嫂骚缫搔臊瘙埽鳋䕅騒騷䐹矂溞螦氉鰠鱢掻掃㿋㛐㛮颾繅髞梢", + "se": "色涩瑟啬塞铯穑槭䔼雭䨛嗇㱇璱㻭歮濇濏澁渋㴔洓瀒澀轖懎㥶銫鏼摵擌㮦栜穯穡䉢閪瘷歰飋㒊繬譅", + "sen": "森襂槮椮", + "seng": "僧鬙", + "sha": "沙杀啥纱砂傻刹厦杉莎煞鲨霎裟挲嗄唦痧唼铩歃萐蔱䮜髿䝊硰㲚㸺乷鯊桬啑喢帹翜翣廈粆魦鯋鎩猀毮閷殺榝樧㰱箑䶎䈉䵘閯㚫㛼儍倽紗繺", + "shai": "晒筛曬㬠㩄簛籭簁篩", + "shan": "山单善闪扇衫陕珊禅杉擅掺栅煽膳删姗汕赡跚掸讪缮舢疝嬗潸鳝搧鄯苫膻芟骟彡蟮钐陝剼騸㚒磰㪎脠赸墠圸墡㣌睒灗澘㶒晱蟺嘇軕刪邖幓贍炶煔覢熌䘰禪䄠釤銏䱉䱇鱓鯅鱔狦鐥䦅䥇䦂掞挻㨛樿柵檆椫䴮㣣笘䠾䆄痁閊㪨敾歚羴閃羶譱姍僐饍傓縿繕䚲訕謆", + "shang": "上商伤尚赏汤裳晌熵墒垧殇觞绱鞝蔏鬺殤丄尙賞漡滳螪贘慯恦禓觴鋿鏛鑜樉䬕傷緔扄謪", + "shao": "少烧绍召稍梢哨勺捎邵鞘芍韶筲艄苕劭潲杓莦萷䒚䔠蕱髾㪢䏴㲈玿輎㷹焼燒䘯袑鮹柖䈰䈾㸛娋卲綤䙼䬰弰紹旓", + "she": "社设射涉舍摄舌蛇折拾畲奢赦慑麝赊佘猞歙阇厍滠揲蔎騇厙奓䂠䁋䁯灄渉㴇㵃涻蠂虵蛥䵥畭輋䞌賒賖懾韘慴䀅䄕䤮攝摂捨欇㰒㭙檨䠶㒤舎畬䬷弽䌰㢵設", + "shen": "什身神深参甚审伸申沈渗婶肾慎绅呻娠砷蜃莘吲糁鯵诜谌瘆信葚胂渖哂矧谂蔘腎頣蓡薓葠駪㰮眘昚脤㥲堔珅眒瞫滲㵕㵊瀋涁蜄曑曋罧屾峷愼糂籸燊籶邥㔤審覾宷裑䆦穼罙祳鋠鲹鉮鰺鰰魫鯓氠扟䰠柛㰂榊兟甧甡鵢瘮㾕妽嬸㜤姺敒侺侁㑗紳弞矤訷谉讅詵諗訠", + "sheng": "生声省胜升盛圣剩乘牲绳笙甥嵊晟眚蕂苼䎴聖陞阩陹鼪勝賸榺墭聲殅珄渻湦泩䚇㼳晠琞曻昇㗂呏貹䞉憴焺鍟䱆鵿鉎狌斘橳枡剰䪿㾪竔偗䁞繉縄繩譝甸", + "shi": "是时实事十使什式世识食市史石始师失视示似适士势试施室释诗氏湿饰驶拾蚀尸逝侍誓矢狮匙柿硕嗜屎噬嘘栅拭峙仕恃虱轼舐耆螫豕谥弑奭殖蓍泽莳贳埘炻鲥鲺铈酾筮蒔貰䒨蒒葹䦹旹㱁乨駛䰄觢㸷䩃乭䂖䏡鼫鼭卋㔺邿塒㐊辻兘勢丗䴓鳾瑡亊䶡眎睗䁺眂眡溼溡浉湜濕㵓澨溮湤䖨㫑㫭時昰遈㒾呩㕜䟗㖷呞軾嵵崼峕忕蝨屍鸤䲩鳲恀烒煶䊓実寔宩冟襫襹褷䙾實祏視鉽釶鉐鉂䤱鮖鰣鯴鰘鰤鶳鉇鉃㹬㹝獅鈰鍦㹷銴弒揓栻枾釃榯榁柹㮶簭遾舓秲徥師釋釈笶籂箷竍䦠嬕姼餝䭄蝕餙飾飠䌳絁試詩諟戺䗐䛈適謚諡識", + "shou": "手受收首守授售寿瘦兽狩绶扌艏膄壽夀垨涭獣㖟獸㥅収㝊鏉龵痩䭭綬䛵", + "shu": "术数书属树述熟输束殊叔朱舒鼠疏署竖蔬抒枢淑暑薯梳俞蜀庶赎塾墅恕曙倏漱黍腧戍孰澍秫菽纾疋沭摅姝殳毹荗䩳䩱㷂竪豎䜿䝂薥䔫蒁藷陎㽰毺䑕䞖霔尌朮怷璹琡䜹㻿尗虪濖瀭潄潻㳆鼡㶖蠴暏䠱踈䟽咰數軗輸㟬贖䝪䎉疎屬庻糬襩裋襡䘤䆝鏣鮛鱪鱰錰鉥掓攄捒樞樹橾㯮杸䴰鶐䉀䢤術癙㾁書㛸婌㜐㣽鵨鄃侸跾倐儵焂㒔紓綀絉䃞", + "shua": "刷耍唰㕞誜", + "shuai": "率衰摔帅甩蟀帥䢦卛", + "shuan": "拴栓涮闩䧠腨閂", + "shuang": "双霜爽孀骦騻驦礵䫪鷞㼽㦼塽鹴鸘漺灀䗮䡯慡鏯欆艭㕠孇雙縔", + "shui": "谁水睡税说氵脽氺涚涗帨裞祱稅閖㽷䭨誰", + "shun": "顺瞬舜吮蕣䑞鬊䀵瞚䀢順㥧橓楯", + "shuo": "说烁硕朔数妁蒴铄搠槊矟碩䀥爍鑠獡鎙欶箾䌃説說", + "si": "思四死斯似司丝私饲寺撕祀肆嘶嗣厮俟泗咝巳鸶蛳驷锶汜伺食厶耜兕澌笥姒缌纟蕼䔮蕬㹑㸻牭騃駟騦磃蟴䏤鼶貄亖耛䎣㺨肂洍涘洠瀃泀泤㴲蟖螄㕽噝罳㟃孠覗廝燍䇁禗禩禠鈶鐁鋖鍶鈻鉰釲㺇銯虒枱杫梩柶楒㭒榹蜤㐌恖竢凘䦙䇃媤㚶㚸娰儩佀飔価俬颸飼飤緦糹㣈鷥絲", + "song": "送松宋颂讼耸诵淞嵩悚凇怂忪菘崧竦駷鬆硹濍㕬嵷憽㞞愯䢠庺梥鎹㧐㩳㨦檧楤㮸枩柗㣝䉥聳慫娀頌枀倯傱餸䜬誦訟䛦", + "sou": "搜艘嗽嗖擞飕馊薮螋叟溲瞍嗾锼蓃藪蒐䏂騪䮟鄋㵻㖩廋廀叜鎪獀捜擻摉摗醙櫢籔䉤䈹凁瘶傁颼䬒餿", + "su": "素速苏诉缩俗塑肃宿稣溯粟酥簌窣夙谡嗉僳愫蔌涑觫蘇莤藗䔎蘓㕖骕驌碿䃤膆塐趚甦殐璛珟玊溸㴑㴼泝潥潚㴋洬㬘囌蹜憟䘻㝛鯂穌鱐鋉䥔㨞㩋榡遬㔄樎櫯梀㯈樕䅇橚䑿愬遡㪩肅䎘鷫嫊鹔䏋粛㜚㓘傃㑛餗㑉縤䌚䛾謖訴", + "suan": "算酸蒜狻匴㔯祘筭笇痠", + "sui": "随虽岁碎遂髓穗隋绥隧邃祟燧睢荽濉谇䔹荾鞖䪎芕隨䢫鐆遀砕膸埣瓍㻟璲㻪㻽歲歳睟瀡㵦浽澻㴚滖哸䠔雖䡵嵗㞸䯝髄亗賥韢熣煫襚禭䥙鐩夊檖䉌穂䅗穟㒸嬘䭉倠綏繐繀繸䍁䜔旞譢誶尿", + "sun": "孙损笋荪狲飧榫隼蓀薞蕵孫飱䁚㡄㦏猻鎨搎損㔼槂簨箰筍鶽", + "suo": "所索缩锁梭嗦琐唆羧唢娑蓑挲些睃睃嗍桫䓾莏䂹䐝䞽趖琑瑣㪽䖛溹溑逤䣔暛蜶嗩䞆惢褨鎍鎖鮻獕鏁鎻挱乺摍䵀䅴䈗簔簑㛖傞䌇縮莎", + "ta": "他它她塔踏塌榻沓蹋嗒拓獭挞趿遢溻鳎铊闼鞳鞜䓠㿹牠䂿䶁䶀墖㳠㳫澾涾毾躂躢蹹嚃嚺㗳䵬䍝遝崉䎓粏褟祂禢錔鰨鮙鉈㺚㹺獺狧撻㧺搨榙橽㭼㯓䑜䍇㣵濌䈋䈳㣛闧闥闒阘㛥侤㒓傝䌈誻䜚譶", + "tai": "大太态台抬泰胎苔汰钛酞肽薹骀邰炱跆鲐䑓菭孡態㣍駘夳冭坮臺㙵溙汏汱㬃旲㘆囼㥭忲䢰燤炲㷘㸀鈦鮐擡檯䣭䈚籉箈舦嬯㒗㑷㑀儓颱", + "tan": "谈探弹碳坦叹滩炭摊坛贪谭潭痰毯瘫檀坍袒覃忐昙钽澹郯锬藫歎菼䕊䃪貚䏙䐺墵䞡壜埮墰㽑壇璮灘潬湠曇暺嘆嘽啴嗿惔憛憳憻顃㲜㲭㷋燂䊤襢䆱鉭錟擹攤醈醓醰橝榃舑舕罎罈䉡癱䦔痑婒怹倓僋貪談譚䜖譠", + "tang": "堂唐糖躺汤塘倘趟烫膛淌棠搪螳蹚羰傥溏帑醣耥瑭螗铴镗樘鞺薚蓎隚䧜磄膅鼞赯矘漟燙湯坣䣘劏曭蝪踼䟖嘡啺戃糛爣糃煻鄌㲥鶶㼺禟鐋鏜钂鎲镋鎕㿩摥㭻橖榶䉎篖䅯闛㜍伖㑽儻㒉偒傏饄餹䌅㙶", + "tao": "讨套逃陶桃萄掏涛淘滔叨韬啕绦洮饕跳鼗鞱鞉鞀㹗騊駣㚐夲瑫㴞濤蜪飸咷轁幍慆韜裪祹迯鋾匋搯槄醄䵚嫍絛䬞饀䬢弢縚綯绹縧詜謟討䚯䛬", + "te": "特忑忒慝铽脦蟘㥂鋱㧹", + "teng": "腾疼藤滕誊䕨虅驣䲢幐縢螣騰鰧謄膯鼟霯漛䠮熥籐籘䒅䲍駦痋邆儯", + "ti": "体提题替梯踢蹄惕啼剔剃涕屉嚏锑棣倜悌鹈逖醍缇绨䪆䔶薙蕛䧅㯩騠髰鬄鬀碮厗朑䨑趧趯䎮瑅殢瓋睼漽渧題鶗惖逷㗣嚔蹏鷤嗁㖒罤䯜體骵䝰㡗崹惿屜褆䙗褅禔禵䚣鳀鯷鷈鮷悐銻鍗䴘鷉掦挮揥擿笹䣽㬱䶑䅠躰軆徲籊稊㣢䣡䶏鵜媞偍䬾緹䌡綈䛱戻謕歒鶙弟", + "tian": "天田甜填添佃恬腆舔阗钿畑忝殄畋掭菾黇磌碵䩄胋鷏㙉甛塡靔靝瑱㐁琠璳兲睓沺淟湉晪䟧䠄唺㖭䡒䡘鴫䐌覥觍賟悿屇㥏㶺窴錪䥖搷㮇䣯酟䑚舚䄼䄽闐痶婖倎餂鷆緂㧂甸", + "tiao": "条调跳挑眺迢窕苕佻笤啁粜髫龆蜩祧鲦䒒萔芀蓚蓨糶聎䯾朓趒齠晀旫䟭㟘脁岧岹恌庣宨窱祒覜鰷䱔樤㸠䠷䎄䳂嬥鞗䩦䖺鯈鋚鎥條絩誂", + "tie": "铁贴帖餮萜聑驖䵿蛈呫貼怗鐵鐡䥫銕鉄䴴僣飻", + "ting": "听停庭挺厅廷亭艇烃婷蜓汀霆町铤葶莛梃鞓聴聽聤厛鼮脡䵺圢耓珽涏渟䗴蝏甼嵉聼廰廳烴庁烶䱓鋌㹶邒桯榳楟頲颋筳䦐閮娗侹䋼綎誔諪", + "tong": "同通统痛童铜筒桶桐佟侗酮捅瞳僮彤潼嗵恸峒茼砼仝蓪㼧㪌䂈䮵犝朣赨眮浵晍蚒䳋曈哃㠽峝峂㠉膧慟㤏烔粡庝炵燑䆚䆹鲖鉵銅鮦狪獞鉖樋㮔橦筩憅㣠秱㣚衕穜䶱勭氃䴀㼿痌㛚㸗餇絧統綂詷", + "tou": "头投透偷愉骰亠蘣斢黈䞬頭㰯䟝㖣㡏䵉㢏鋀䱏鍮㪗敨婾媮妵㓱偸紏緰㕻䚵", + "tu": "图土突途徒吐涂兔屠凸秃荼钍菟堍酴蒤葖莵鷋駼鼵迌腯㐋堗圡瑹㻬㻯㻠㻌䖘汢潳涋湥塗跿䠈唋圗圖図嶀㟮䣝鷵怢悇廜庩宊鶟鈯釷鵵鵌鍎鋵揬捸捈䤅㭸梌䅷馟兎禿稌筡鵚瘏痜凃䣄峹嵞䳜", + "tuan": "团湍疃抟彖䵎貒墥剸鷒漙湪団䵯團畽圕慱䊜糰煓褖鏄鷻猯摶㩛槫檲篿䜝揣", + "tui": "推退腿颓蜕褪忒煺藬蓷蘈隤駾㞂尵㦌䍾䀃㱣螁蛻蹪蹆骽㷟㢈㢑魋橔頺䅪頹䫋頽穨㿉㾯㾽㿗㾼弚娧俀僓弟", + "tun": "吞屯豚臀囤褪饨鲀氽暾芚朜霕坉㼊豘涒旽蛌㖔噋黗軘臋忳㞘焞魨㹠㩔呑飩", + "tuo": "脱托拖妥拓驼陀唾椭驮沱砣鸵佗坨跎箨柁柝橐沲鼍庹酡乇䓕萚蘀莌阤嶞陁馱駄䭾驝騨驒駝馲駞㸰㸱毻碢砤鼧鵎脫堶槖沰汑涶跅鼉咜咃䡐㟎岮䪑袥袉㼠饦䲊鰖鮀鴕魠䰿鮵狏扡拕捝挩橢楕杔䴱彵籜䍫㾃嫷媠毤侂仛侻飥紽詑託讬", + "wa": "瓦挖娃哇蛙凹洼袜佤娲腽韈聉䎳砙膃劸㰪鼃䵷邷漥溛咓䠚嗢嗗畖㼘韤襪窐窪穵窊㧚搲攨屲瓾媧䚴", + "wai": "外歪崴呙㖞喎咼䶐䠿顡竵", + "wan": "完万晚玩湾弯碗顽挽烷婉皖蔓腕丸宛惋蜿豌绾纨莞剜脘畹塆菀芄琬箢薍萖萬㿸䂺䩊脕埦頑㝴刓壪琓瞣睕澫涴潫汍灣蟃晥晼晩踠唍輐輓贎䯈岏貦帵贃䝹忨卐卍翫䗕䘼䖤盌㽜鋄錽䳃鋔䥑鎫抏捖捥杤椀梚䅋笂妧婠倇㸘綰綩紈䛷彎", + "wang": "往王望忘亡网旺汪妄枉惘罔辋辋魍朢菵莣尪迋尫瀇㲿㴏㳹蚟蛧蝄暀罒輞罖罓㓁䤑棢徍彺䰣徃兦仼亾尣尩䋞䋄網䛃誷", + "wei": "为维围委未微谓卫味唯威危伟尾违伪慰魏喂胃纬畏韦惟苇萎尉蔚巍薇偎帷娓渭桅圩倭痿崴猬诿猥潍煨葳韪帏嵬玮逶炜隈隗洧涠沩囗軎鲔艉闱位䔺蔿䪋苿菋蓶葨䵋荱藯葦蘶芛蒍隇䧦䮹熭碨硙䃬㞇硊㕒䑊腲鄬爲䙿壝墛霨䞔霺䝐瑋㱬琟覹矀濻潙韑瀢渨潿溦浘湋洈濰溈蝛㬙韙蝟暐蜲蜼喴踓㖐喡䡺轊囲䵳罻圍㠕骩骫骪幃嶉嵔㟪峗峞嶶崣屗㞑叞褽犚螱㷉韡䪘韋違㥜愄愇懀燰烓煟煒寪頠鏏厃鳂鳚鍡鍏鮪鰄鮇鰃䲁鮠䥩撱㨊揻揋捤㧑楲㭏醀椳欈梶椲䈧㣲徫躗躛㦣衛衞䘙讆讏䉠覣犩䭳痏闈癓媙媦媁儰僞偉䬑颹䬐饖餵䬿餧偽縅緭緯㢻維䗽詴亹斖䜜謂䜅為諉", + "wen": "文问温闻稳纹吻蚊紊瘟韫雯汶刎璺阌鞰莬芠䎽駇馼鼤脗肳塭豱瑥䰚殟珳渂溫㳷昷㗃呡㖧呅輼辒轀蟁炆顐㝧鳁鎾鰛鰮魰揾搵抆榅榲桽穩穏䎹聞閿闅䦩閺問闦瘒妏㒚伆饂繧紋彣䘇螡蚉㐎鴍鳼", + "weng": "翁嗡瓮蓊蕹聬㹙㹚䐥䤰塕奣瞈滃暡螉㘢嵡䱵鎓攚齆䈵㜲勜鹟鶲罋甕", + "wo": "我握窝卧沃涡斡蜗喔倭挝龌渥莴幄硪肟臥萵䰀臒腛㦱瓁㱧齷䁊瞃濣渦涹蝸䠎踒唩㠛焥窩猧捰捾㧴枂楃婐媉婑仴偓", + "wu": "物无五务舞武屋误恶午吴伍污乌雾悟吾呜侮唔巫勿梧诬捂晤兀於芜戊毋鹉妩钨邬坞蜈婺鹜忤骛牾庑杌亡芴阢鼯圬浯鋈怃焐寤迕痦仵莁靰蘁茣蕪鹀鵐陚䎸隖奦務㡔嵍熃騖鶩䳱敄䮏鴮碔矹䃖䑁㬳霧雺霚塢墲鵡珷珸郚㻍㐚逜㐏忢瑦卼玝璑瞴洿汚汙洖溩㵲潕螐旿蟱䟼躌吳呉嗚䡧䍢峿屼嵨岉剭悮悞憮乄熓粅廡㷻窏窹祦鋙铻鄔鯃烏鰞歍鎢㹳扤摀㐅杇啎無鷡橆甒鼿齀箼䒉㽾䦜䫓䦍娬娪嫵娒倵俉㐳儛㑄弙䳇誣誈䛩誤譕", + "xi": "系西细习息吸喜戏析希席洗稀惜悉袭腊溪媳牺锡嘻夕隙晰栖膝熙昔烯熄禧鳃徙嬉犀蟋奚兮曦蜥汐翕玺唏螅铣淅硒皙熹窸羲矽檄郗忾僖屣歙樨觋娭豨咭葸菥蓰隰鼷舄浠粞裼穸禊饩欷醯舾阋㐂葈蕮蒵䩤䓇匸煕蓆莃薂蒠覡隵隟䧍䢄枲騱驨騽䮎犔犠犧磶磎礂䲪䙽㚛䐼䏮貕舃肸肹谿䫣㙾霼趘䨳趇欯囍憙歖霫赩赥豯卌琋壐璽瞦䀘鬩戲䖒矖戱卥戯睎盻覤㳧澙渓潟鸂虩漝㵿漇潝螇暿蟢蠵晞嚱躧蹝呬㗩㕧焁唽噏喺繫黖㽯嵠巇㠄嶍酅㔒忚㤴慀恄憘㤸怬屃屓屭㥡㦻悕習飁恓㞒屖焟熺糦㸍焬熂燨爔熻邜鐊觿觽觹鳛錫鑴饻鱚鰼鯑鉨釸鈢㹫㺣鎴釳鏭狶鉩扱鵗㩗忥氥扸墍㯕榽䙵橲槢桸晳惁椞㮩㭡厀椺橀怸熈㷩稧徯㣟䈪郋鄎徆襲㿇凞瘜闟䊠㜎衋嬆傒翖俙㑶係饎餼餏郤豀縘繥緆細縰綌绤謑䜁譆諰焈謵䛥䜣䚷洒蹊", + "xia": "下夏吓狭辖霞峡瞎厦虾暇匣唬遐侠黠呷瑕罅狎瘕硖柙蕸陿陜䖎騢硤碬磍夓埉圷㙤赮丅乤珨睱䖖虲蝦㗇㽠㘡翈轄峽懗䫗㰺䪗舝炠煆烚鶷䘥祫鎼鏬鍜魻鰕鎋狹梺筪敮舺閕䦖疜閜傄俠颬谺縖諕䛅", + "xian": "现先线显限县鲜险献宪陷仙闲纤腺弦贤嫌掀咸衔羡掺涎娴见酰舷藓馅锨铣冼霰暹籼苋痫氙蚬岘莶燹跹跣祆猃筅鹇藖韅䁂賢贒莧䵌㔵蘚䒸䕔薟苮䧟䧋䧮陥険險礥䃱尠䃸臔姭䏹鼸毨胘韯壏塪赻䨘垷埳䨷現豏珗䶢䶟獻睍縣鹹県盷瞯涀灦㳭瀗㶍㳄鍌㵪澖湺䝨尟㫫晛蜆䗾顕䘆㬗蛝顯㬎蚿㘋咁咞嘕哯蹮躚啣㘅嗛輱䞁幰峴㡉崄嶮㦓忺憪憸糮粯廯䵇烍㡾麙鶱憲褼襳禒鑦臽䚚䀏鋧䥪䱤鱻䲗鮮銽錎䤼鍁銛铦銑獮玁狝㺌獫㧋搟攇㩈㧥撊撏挦攕㮭醎枮櫶杴㭠橌橺麲㭹㯀䉯䢾㪇箲馦秈銜䉳衘稴屳閒鷳羨鷼閑鷴㜪䦥㿅癇癎甉㛾娊奾嫺嫻嬐孅娹妶仚僊僲僩僴餡韱佡伭綫纎繊線缐絤㢺纖婱絃諴誢䜢譣誸洗", + "xiang": "想相象向响像项乡降香羊享箱祥详湘橡翔巷厢镶襄饷骧芗飨衖葙蟓庠鲞缃缃項瓨䔗萫䢽薌驤䐟膷䜶珦瓖晑䖮曏跭㟟嶑㟄䊑廂麘襐勨鱌鱶鱜鐌銄鑲栙楿欀缿稥忀鮝鯗姠佭餉饟緗鄊蚃鄕郷鄉蠁響嚮㗽饗絴纕亯㖜㐔詳", + "xiao": "小消笑效校销削晓肖硝萧孝啸潇俏嚣哮淆宵箫霄筱逍骁姣枭哓鴞蛸崤魈枵绡绡䒕虈䕧䒝蕭藃驍硣膮斅斆㬵毊瀟揱涍㕾敩洨蠨蟏暁曉蟂蟰嘵嘋鸮踃嚻囂呺嘐㗛咲嘯嘨髐髇憢㤊恔庨焇灲熽䊥灱宯窙銷鴵䥵梟㹲猇獢郩殽皢皛撨櫹穘鷍筿簫簘篠痚痟効㔅歗婋虓侾翛㑾烋颵俲傚綃彇謏誟歊誵訤詨", + "xie": "些解写协谢械鞋斜谐胁泄歇邪契携卸屑泻蟹懈挟蝎偕楔勰亵燮鲑撷颉榭邂缬澥瀣廨躞叶薤渫獬榍绁靾鞢鞵䕵䩧䢡藛薢䕈䔑㔎㕐絜脅脇劦膎協㙝奊翓塮暬垥瑎齛齥齘禼卨䪥韰㱔㳦洩㴮瀉㵼㴬㴽㳿蝢旪蠍蠏㖑嚡噧㖿嗋䵦䡡峫嶰屟恊愶屧㞕㥟㦪灺緳熁燲糏炨炧䊝冩寫㝍褉䙎襭䙊祄㙰䲒䥱䥾猲揳挾拹㨙擷攜㨝烲焎娎㩉㩦擕㩪㰔䉣缷徢齂㣯䉏㣰䦑㸉㓔䦏媟孈脋伳偞偰龤㙦㒠㰡僁䭎紲緤綊纈絏縀繲絬衺䚳䙝褻讗爕夑㽊謝䚸諧血", + "xin": "心新信欣辛薪锌芯馨鑫衅昕訢忻莘炘歆囟忄镡䒖阠孞馸舋釁脪盺噷噺軐惞廞焮襑鈊䰼鐔鋅邤㭄杺枔馫顖嬜妡㛛㚯㐰伈俽伩䜗䚱訫䛨", + "xing": "行性形兴型星省幸醒刑姓杏猩腥邢惺悻荥陉擤荇硎饧䓷莕葕陘骍騂臖興㐩㓝㼬㙚垶㼛郉瑆䣆䁄睲涬洐蛵曐哘䳙煋滎㝭觲觪䤯鈃钘鉶铏銒鋞鯹鮏㨘䰢皨㮐䂔㣜箵篂㓑嬹婞娙倖侀餳緈䛭謃", + "xiong": "雄兄胸凶熊汹匈芎熋䧺洶焽焸哅賯恟忷夐敻胷匂兇詗诇詾訩讻㐫", + "xiu": "修秀休袖臭羞绣朽锈嗅溴貅岫咻宿髹庥馐鸺苬髤脙璓臹珛㱙琇潃滫螑嚊㗜峀糔烌鱃鮴鏥銹鏽鎀鏅銝樇齅㾋脩鵂俢飍饈綉繡繍褎褏", + "xu": "许需须续序虚徐绪叙蓄吁絮婿嘘旭栩墟畜浒戌胥圩恤煦蓿酗顼诩魆洫盱砉溆勖糈醑芧蕦藇藚㰲蒣聓䔓㜿䦽㞊䳳㷦㕛㐨䂆驉㚜㦽鬚䢕盨媭嬃須㘧壻垿珬頊珝殈㺷瞁虛歔虗汿沀㵰湑潊漵朂晇暊勗旴冔蝑昫㖅噓㗵呴喣盢㞰賉怴㤢㥠慉燸烼歘欻烅裇䙒禑銊鑐欨鱮䱬獝揟魖䣱䣴楈槒聟䅡鄦卹䘏欰稰稸疞㾥䦗䍱姁㜅㑔㑯敍敘伵偦䬔侐俆䋶續続緒緖縃綇䜡訏譃諿詡諝谞訹許䛙休邪", + "xuan": "选宣旋悬玄喧轩绚眩炫渲漩暄萱癣煊镟璇县碹泫铉揎楦痃儇谖萲䩰鞙䩙蓒蕿藼蘐蔙䧎駽䮄塇璿琄瑄琁玹懸睻眴矎贙䁢㳙㳬晅昍蠉暅蝖蜁暶昡咺䠣吅軒翾䴉㘣䍗䝮愋懁選愃怰烜翧䘩袨禤䚭䚙鋗䴋鰚䲂鍹㹡鏇鉉㧦楥梋檈箮衒䍻癬㾌媗嫙颴弲繏絢縼諼譞諠䗠䲻券", + "xue": "学血雪削穴薛靴谑踅噱鳕泶蒆鞾茓辥膤學觷壆澩嶨燢鷽䨮趐坹瞲㔧辪㶅瀥峃鸴㗾㖸吷轌㞽㡜岤䎀袕鱈䱑狘㧒㿱乴樰䤕桖艝疶䫻䬂䫼䭥斈謔", + "xun": "训迅寻循讯巡询旬逊驯勋熏汛殉荀薰峋洵浚鲟徇浔醺窨荨埙巽蕈孙曛恂郇獯蘍薫愻遜馴駨顨奞毥臐壦攳坃塤壎殾燅珣璕矄潠潯畃䖲蟳勛噀嚑噚䞊卂巺㽦爋燻燖䙉㝁迿㰬鱏鱘鑂狥㨚灥揗㰊杊栒樳桪稄勲勳鄩尋廵焄㜄侚伨偱㒐䭀紃䋸纁㢲訓訊詢䛜訙", + "ya": "压呀亚牙雅芽鸭押崖哑鸦讶丫涯轧衙娅伢蚜桠氩垭碣琊疋迓邪砑睚吖岈揠痖蕥䪵鴉聐孲厊圧厓䃁壓厑䝟劜堐埡圠玡亞鵶䢝㰳亜襾齖齾漄啞唖圔䵝軋鴨崕䯉㿿庌䊦庘㝞窫錏鐚铔䰲犽猰猚㧎掗氬挜枒椏覀笌䄰稏䅉冴疨瘂䦪婭俹訝", + "yan": "眼研验言严演烟沿盐延颜岩炎燕掩厌艳咽焰铅宴衍殷阎雁淹砚檐焉彦蜒俨奄谚腌堰晏胭嫣阉湮筵兖妍偃唁鼹恹琰赝魇滟酽焱餍甗郾菸厣埏鄢罨崦剡闫谳讠鹽匽鶠䕾酀㬫鷰㷼䴏嬊莚萒蔅䓂隁隒驠騴騐験驗牪硽黡䊙揅硏硯夵魘厭厴懕黶檿嬮饜䣍剦礹䂩鳫贗鴈贋㷳䶮䂴臙䑍鼴墕壧䎦䀋塩壛㿼䢥珚琂齞齴䖗鬳䁙覎䀽虤沇厳漹灔灎灧灩淊溎渷㶄㳂渰蝘曣㦔猒䗡暥曮鷃曕妟䳛昖㫟嚥嚈囐嚴碞喦嵒㘙啱㗴喭㘖噞黭黫黬黤艶艷豓豔巘巚巌嵓巖巗觃嵃嶖愝懨熖㷔焑敥炏焔煙烻㢂爓㢛麣戭褗裺鴳䄋䤷觾燄鰋䲓䱲狿抁揜椻㭺歅醼醃釅醶欕棪樮椼櫩楌篶郔䗺躽軅簷䅧䇾閆閹龑䢭兗乵閻顔遃㿕嬿㛪姸孍㚧姲娫娮傿弇顩㕣儼偐䭘酓㓧䳺䨄縯䊻綖䌪讌䜩顏彥訮詽讞扊諺㫃訁", + "yang": "样养阳洋氧央杨扬羊仰秧痒漾疡佯殃鸯怏鞅恙徉炀暘泱蛘烊陽阦駚礢胦䑆霷雵坱垟珜䁑眏眻瀁䬗昜敭蝆䖹旸㬕咉䵮輰軮㿮崸䒋鴦崵岟㟅懩慃煬炴鍈卬鍚鉠钖鰑㺊氜揚氱抰㨾攁楧鸉楊柍様樣䇦劷羏㔦羕飬養瘍鴹癢姎佒飏颺䬬䬺䭐傟紻諹詇详", + "yao": "要药摇腰咬耀遥邀瑶姚窑妖谣钥尧么乐吆肴夭侥舀幺徭珧杳窕窈鹞繇曜爻约轺崾鳐䔄蘨靿薬藥葽蓔苭葯騕磘㞁䂚䍃颻鷂飖尭垚顤堯瑤殀䋤䶧齩䁘㔽矅覞䁏眑㴭溔滧㵸㿢暚䖴㫐嗂喓鷕軺峣嶢嶤岆㟱愮熎燿烑㢓䴠宎㝔䙅袎窰䆙窅䆞穾窯窔祅鎐鰩鱙猺遙獟狕䚻䢣䌛邎揺抭搖㨱摿榣柼㮁楆枖榚鴁鼼䉰筄䑬艞㿑闄媱婹傜倄偠仸䬙餆餚鴢䌊䋂纅謡謠訞㫏䚺讑詏疟", + "ye": "也业夜叶液爷野喝页冶耶咽邪拽曳腋椰掖噎晔谒揶射邺靥吔烨铘䓉葉枼䧨驜靨擪㪑頁礏墷枽㙪㐖璍瑘殗瞸瞱潱澲漜洂曄曅蠮暍曵曗嘢㗼㖶㖡㙒嶪嶫燁煠㥷爗鄴鸈業㱉㝣鐷鋣釾䥺鍱鎁䤶鎑馌䲜䥟䥡䤳擛皣捓抴擫歋㩎捙擨㭨壄埜䈎㸣僷倻爺䭟餣饁謁亪亱鵺", + "yi": "一以义意已艺易议咦依益衣异医移遗疑亦宜仪忆伊倚乙亿抑役毅译椅翼姨蚁泄谊疫逸矣溢夷疙绎尾蛾怡胰贻裔彝邑奕翌屹臆颐诣驿熠咿蜴漪沂呓揖弋轶迤懿悒佚羿噫铱弈壹肄翳癔缢刈旖苡怿痍猗诒峄食射荑薏埸圯殪眙嗌黟嶷嶷衤饴钇镱镒挹酏劓舣瘗翊仡佾蘙芅匜䩟藝蓺虉弌頤巸媐䖁䓃㔴䔬苢勚勩萓苅殹㙠醫鹥瞖繄䗟贀悘鷖黳嫛毉瑿萟䓈藙䓹䕍䬥隿耴迆阣䧧㹓瓵䮊驛駅䭿逘礒䝝帠肊䐖䐅鶂膉貖䝘敼㰻霬墿夁亄㦤鷧㱅壱坄㙯埶㺿玴珆豷豛䰙鹝鷊辷㱲殔鴺乁頥齮齸頉㵩浳㶠渏沶㴁洟浥潩㳑瀷㲼泆浂澺洢㵝㴒湙曀蛦晹䗑曎螘蛡敡鶍螔蟻䗷螠蛜暆囈呭㘊跇遺跠㖂唈㘁呹吚㕥㘈異欭輢黓睪斁歝圛軼轙畩貤貽䞅骮䯆顗峓幆嶧䝯嶬崺怈㦉恞㠯䎈郼䢃懌乛㞔㰝㥴忔攺憶㡼廙熼燡㢞熤燚熪燱炈庡焲宧冝宐㝖襼袣䘝衪裿褹袘寱䘸䆿迱寲䄁祎禕釴鈘釔鉯䱌鶃鮧鯣䱒鳦鸃䲑鮨鏔匇迻狋㹭獈鐿鎰鈠銥撎䖊㣻拸乂㩘枻杙杝槸䣧醳醷桋栧椬栘柂檥檍榏枍䴬㰘椸檹棭䄬劮鄓㓷䇵䄿䇩穓顊稦笖簃乊䉨艗艤秇垼篒籎瘞瘱豙䴊義羛羠鷾痬䦴竩兿鹢鷁嫕㚤㜒嬄㚦㛕彛彞嬟嬑㜋㛄佁侇㑥俋伿㐹㑜䬁儀億飴饐䭂䭞䬮䭇伇㥋偯㑊弬㣂㡫䋵繹䋚䌻彜觺㽈繶縊讛詍裛詒旑訲讉譯㦾扅悥扆訳帟誼誃謻㫊議譩詣蛇", + "yin": "因音引印银阴隐饮姻吟殷荫淫尹茵寅蚓瘾龈垠胤喑氤窨鄞吲圻狺铟茚霪堙洇廴夤夤蘟蔭䕃鞇靷荶蔩䓄蒑䒡隱檃櫽隠阥陻隂陰骃駰㹜碒磤㕂㥯㸒䨸霒趛赺韾堷霠烎璌殥慭珢齗齦龂䖜濦滛濥垽㴈峾溵乑湚泿洕朄螾蟫噖嚚㖗噾䡛囙輑圁嶾湮㡥崟崯㞤訔㦩懚㥼愔廕粌㝙㪦冘裀禋䤺䲟淾銦鮣犾鈝㹞銀鈏㼉㧢斦慇㐆㧈檼垔䤃酳鷣栶檭猌㙬憖憗筃秵㣧䇙癮癊䪩㾙闉凐瘖訚誾婬婣飲侌㱃飮䌥絪緸讔䚿諲訡", + "ying": "应影英营映迎硬盈婴鹰颖赢荧蝇莹莺樱瑛萤鹦萦缨膺瀛荥璎嘤媵罂瘿茔楹郢滢颍嬴景蓥潆撄萾㲟鶧蘡藀䕦盁孾碤礯䃷朠膡䑉霙䨍珱瓔㼆䁐䀴鷪渶溁溋㵬浧㴄瀴濴瀠㶈瀯濙灐濚瀅蛍営鴬灜暎蝧蝿蠳蠅嚶甖巊鑍鸎罌嬰鸚賏譻巆愥煐㢍廮応罃褮塋䁝禜縈螢䪯營熒鶯覮鎣嫈瑩甇謍鶑噟應鷹譍䙬锳鐛鱦䤝㨕攖摬攍桜梬櫻櫿矨軈籝籯韺癭㿘媖孆偀僌㑞䭊䭗緓绬頴颕潁纓㯋穎贏", + "yo": "哟唷喲", + "yong": "用永勇拥涌庸泳佣咏雍踊蛹臃俑甬壅鳙恿痈邕喁慵湧墉镛饔苚蒏㦷勈硧砽惥埇䞻塎㙲慂滽㴩灉澭顒颙䗤踴嗈噰㞲嵱愑悀愹怺㶲醟鄘鷛廱彮㝘鲬鯒鱅鰫鏞郺擁柡栐㷏牅癰癕雝嫞傭㽫詠", + "you": "有又由优油友游右幼尤犹忧邮幽诱悠铀佑黝柚囿蚴酉釉疣猷莠攸祐鱿繇鼬蚰牖呦莜莸尢卣蝣宥铕侑苃䒴蕕䢊聈牰駀䀁鄾迶憂䳑肬貁䞥耰丣㻀逌䚃瀀沋㳺湵滺浟泑蜏䖻哊嚘㕱唀㘥輏輶㽕峟甴峳懮㤑怞怮庮麀䆜禉銪鲉鈾魷鮋䱂㹨狖㺠猶逰㮋栯櫌櫾酭梄槱楢郵怣牗㰶秞䅎䑻㕗羑㾞羪姷㚭優佦㒡㛜䬀偤纋孧㓜訧亴䛻遊誘䢟㫍", + "yu": "于与语育鱼余雨预域玉遇予欲宇愈渔誉郁羽狱御裕愉豫愚喻娱寓浴吁舆尉榆俞禹屿淤逾峪谕於迂虞瘀驭芋隅渝瑜阈毓盂汩熨禺腴揄臾煜钰彧鹬鬻谀馀聿纡竽伛龉觎圄欤妪玙邪蓣萸舁雩蜮昱蝓圉嵛庾庾燠窳窬饫狳瘐妤肀俣鹆蕷蘛㔱䩒芌蕍茰蒮䔡䖇萭薁蓹蘌茟匬萮陓隃䂊矞預鷸遹䮙驈馭䮇騟䂛戫礖砡㝼礇䃋硢硲䏸礜轝㦛鸒歟與譽輿䐳雤貐斞霱堣䨒迃亐圫䨞堬堉琙璵邘㺮㪀玗䢩敔䜽鳿瑀齬齵鸆䁌䲣䱷䁩睮歶淢㳚潏滪澦㳛盓澞湡漁灪淯㶛虶㬂䗨欥㬰蜟噳踰喅喩唹罭㽣輍骬嶼㠘髃嵎嶎䍞㠨崳惐䣁忬頨懙㥚㥥㤤㥔燏㡰粖庽㷒爩麌焴䢓㲾䴁䵫寙㝢䙔衧褕䆷穻鴧鴪䄏祤鈺鍝魣鱊鰅鴥鷠䰻魚鮽鯲㺞鐭䥏㺄獄銉鋊錥㼌扝扜挧魊扵棫櫲桙楰醧杅酑鬰欎欝鬱楀楡棛棜稢䈅稶穥籅䍂䄨䘘牏鄅㙑軉秗禦䉛篽籞艅艈籲込箊閾瘉羭癒䘱嫗嬩㚥䢖媀娛娯傴伃僪㒜儥兪覦歈㼶悆雓俁㑨㒁䬄偊饇飫餘螸慾鵒俼緎紆䋖㣃逳袬諛謣語斔䛕旟諭乻吾奥粥", + "yuan": "原员远元院源愿圆园缘援袁怨冤渊猿宛苑垣媛鸳辕沅爰橼塬鸢圜螈垸瑗鼋湲芫眢掾蒝薳䩩薗蒬茒葾鳶㹉䏍貟贠騵厡厵願鶢䳒䳣遠鼘逺邧䲮黿㤪盶溒渁鼝淵渆渕灁蝯蚖蜵蜎䖠蝝肙剈噮鶰員圎園轅囦圓㟶円㥳悁鹓惌鵷寃褑褤裫裷禐駌夗鴛妴鎱鈨魭鋺猨㭇榞榬杬酛棩櫞笎衏邍羱䅈䬇嫄媴嬽傆㥐䬧䬼䨊縁緣謜䛄䛇", + "yue": "月约越跃阅悦曰岳乐粤兑钥栎钺说刖瀹哕樾龠䖃戉蘥㹊玥䢲泧㬦蚏蚎䟠噦跀躍䠯啘䢁黦䡇軏岄曱嶽恱悅爚礿禴鉞鈅䥃鸑䤦鑰抈捳㰛籆矱籰粵籥篗箹閲閱嬳㜧妜㜰鸙䶳䋐約", + "yun": "运云允匀韵孕晕蕴芸陨酝韫耘恽纭熨愠氲筠郓郧殒员昀狁蕓䩵荺蕰薀蒀蒷蒕藴蘊阭耺隕馻夽奫磒腪䢵䨶䲰雲䞫霣㚃鋆殞齫齳眃沄澐涢溳蝹暈鄖䚋喗囩䵴䡝畇賱㟦㞌韗韞愪慍惲煴熉熅鄆運褞䆬鈗䤞勻抎氳抣枟橒醖醞秐䉙馧筼篔䦾䇖韻㾓㚺妘㛣㜏䪳伝傊餫紜緼缊縜縕贇赟", + "za": "杂咱扎咋砸咂匝拶䕹臜臢䞙䪞帀迊沯沞囋囃襍鉔魳桚韴雑雥雜", + "zai": "在再载灾仔栽宰崽哉甾䏁䮨載䵧烖㦲酨㱰睵渽溨洅㴓㞨賳扗畠䣬災傤儎縡", + "zan": "咱赞暂攒簪瓒錾糌趱昝㔆兂趲瓉鄼賛瓚濽灒噆喒暫蹔鏨㟛寁襸禶鐕鵤鐟撍攅攢揝橵贊簮㜺儧儹偺㤰饡㣅讃讚", + "zang": "藏脏葬赃臧奘驵蔵塟匨駔臟臓羘㘸贜贓髒賍賘弉銺牂", + "zao": "造早遭藻燥糟灶躁枣凿噪皂澡蚤唣薻䥣㲧趮栆璪璅䖣䗢蹧喿唕慥㷮煰鑿竃竈䲃皁醩棗梍簉艁䒃傮䜊譟", + "ze": "则责择泽侧啧仄赜咋昃帻箦迮舴蔶賾䕪䕉矠礋責齰䶦齚歵瞔㳻㳁澤溭沢滜泎汄蠌昗㖽嘖鸅幘則崱庂襗䰹皟捑擇択樍䇥簀㣱嫧諎謮", + "zei": "贼蠈賊戝鲗鱡鰂", + "zen": "怎谮䫈譖", + "zeng": "增综赠憎曾锃甑罾缯鬵磳増䰝璔囎㽪贈熷䙢鋥鱛橧矰鄫曽繒譄", + "zha": "扎炸眨渣闸喳榨诈栅札乍楂喋蚱柞铡咤查咋砟哳吒揸齄痄䕢䃎厏䞢耫霅㱜皻㪥㗬㴙溠䖳灹㡸宱觰鲊鍘鮓䥷抯摣紥挓搾拃柤醡樝皶蚻紮䵵牐齇劄箚䵙㷢閘鲝鮺偧㒀䋾譇䛽詐譗", + "zhai": "摘窄债宅寨斋翟砦责择侧祭齐瘵㡯鉙粂捚㩟榸檡夈債斎齋", + "zhan": "展战站占粘颤沾崭盏斩毡湛瞻栈辗詹绽蘸谵旃霑搌㠭菚虦盞䪌薝驏驙䩅氊趈䟋琖㻵虥䁴惉戦魙䗃蛅戰噡輾轏斬覱㟞岾嶃嶄嶦嶘㞡䎒䘺鳣䱠䱼鱣㺘棧桟醆枬榐栴橏䡀㣶閚嫸偡佔僝飐颭飦饘䋎綻詀讝氈鹯鸇邅譧譫旜", + "zhang": "长张章掌丈障涨帐仗胀账杖璋彰樟瘴漳蟑嶂鱆獐幛鄣嫜仉蔁騿礃脹墇㙣瞕涱漲暲㕩賬帳幥慞粻粀麞鏱扙痮㽴遧瘬傽餦張", + "zhao": "找照招召赵着兆昭沼诏朝钊肇濯啁棹罩爪嘲笊䮓駋㕚䃍㐍䝖爫趙垗瑵瞾曌㷖䍜羄燳㡽炤鍣釗鮡狣㺐鉊㨄櫂枛罀箌䈇䈃䍮㐒巶妱㑿佋皽肈肁旐詔", + "zhe": "这着者折哲遮浙蔗褶辙锗辄蛰蜇赭柘鹧摺螫谪著磔䩾䓆䎲㪿䮰䂞矺厇砓詟䐑䐲䏳喆嚞乽蟄謺䝕䝃歽淛蟅晣虴啫踷䠦嗻輙輒䵭轍㞏䗪鷓粍籷䊞襵袩銸鍺鮿埑晢啠悊㯰樜讋嫬這謫讁", + "zhei": "这", + "zhen": "真针阵镇振珍震诊侦贞枕圳砧斟疹臻甄祯桢朕赈帧榛缜箴畛稹填蓁胗溱浈轸鸩椹葴蒖䑐䫬薽萙塦陣聄㓄駗碪鬒䂧䂦㪛䏖䨯瑧殝珎遉貞眹眕㴨湞潧澵昣䟴辴轃黰甽軫賑帪幀䝩屒䲴寊䪴鴆裖袗禛禎鍼鋴針鎮錱覙鱵獉鉁鎭挋䳲揕搸抮㮳酙楨樼㯢栚籈姫嫃侲㐱偵弫䊶縥絼縝㣀眞紾紖纼誫診", + "zheng": "正政争整证征丁蒸症郑睁挣怔拯铮筝狰峥诤徵钲聇脀烝氶䂻鬇爭㱏埩靕鴊䥭睜眐塣晸踭䡕崢崝幁㡧㡠炡䥌鉦錚猙鏳掙揁掟抍撜愸篜箏徰䈣䦛䦶鄭㽀癥姃媜佂凧䋊䋫糽䛫証諍證", + "zhi": "之只制质知指直至志织支值致职止植置纸智执殖枝脂秩肢滞拓汁旨址稚芝吱帜蜘挚掷侄趾治识酯窒峙炙桎栉雉祗芷咫痣栀氏胝祇跖踯鸷蛭枳帙痔徵贽姪沚陟骘陟膣豸埴郅踬轾轵忮黹祉觯卮摭絷夂彘蘵芖䓌䛗䓜迣茋䓡藢䕌聀阯騭隲䏄㝂䎺職犆馶駤馽厔㕄砋礩䐭䐈䏯胑䑇乿膱墆鳷䧴坧䟈㙷覟墌疐坁垁漐縶贄慹騺鷙䥍摯執瓡驇臸瓆璏歭㫖淽滯滍汥洔淔洷㴛潌汦泜潪瀄晊蟙跱蹠躓躑㗌㗧㘉畤䡹輊軹豑豒剬䞃幟崻懥懫翐恉庤庢廌㡶熫寘衼襧衹袟禃祬祑帋觶觗䚦鋕銍铚䳅䱨鯯㩼锧鑕狾猘釞劧㨁貭搘挃㨖巵㧻抧摨搱扺扻劕質䭁擳擲梽榰㮹梔櫍椥柣櫛䵂栺樴㲛䝷鼅䵹鴙䅩秓徝稙憄䉅秷製䱥䄺䇛徏軄徴筫穉䆈稺秖䇽䉜㣥瘈痓䦯疻疷㜼娡㛿妷嬂値俧凪傂儨倁偫䬹隻綕緻䌤鴲紙紩織誌訨袠戠䫕旘", + "zhong": "中种重众终钟忠肿仲衷踵盅冢锺忪螽舯茽蔠刣尰鼨腫塚堹歱泈汷蚛蜙蹱喠眾幒煄炂衶衳祌銿鈡䱰鴤鍾狆㹣鐘㲴柊衆籦種㣫徸彸筗瘇妕媑妐偅伀㐺終螤諥蚣", + "zhou": "周州洲宙轴骤皱昼舟咒粥肘帚绉胄纣诌妯繇啁调荮碡酎籀䩜菷葤㔌䎻驟駎騆駲䐍䶇霌盩珘睭淍䖞晭嚋呪喌噣咮輖軸輈辀冑郮週㼙賙赒㥮粙炿烐皺鯞銂矪徟甃籒籕鸼鵃箒䈙䇠疛㾭晝婤㛩伷㑳㑇僽侜紂縐䋓诪譸詋䛆謅", + "zhu": "主住注助逐著宁筑诸珠猪竹朱柱祝驻株贮嘱煮铸烛蛛瞩竺蛀拄伫褚诛侏澍潴箸渚炷躅铢瘃苎术属茱翥洙麈橥杼槠邾舳疰丶茿莇藸蓫䕽苧蕏陼䎷逫馵䮱駯駐劯硃砫䐢墸䟉壴坾䬡煑䝒豬櫫矚眝㵭瀦濐灟乼蝫蠋曯蠾蠩跦跓囑鸀罜軴帾貯嵀䝬劚斸㤖㔉㫂燝燭爥炢麆㝉㿾䘢袾窋宔祩鋳鑄钃鯺鱁鮢䥮㺛銖㹥鉒拀㧣柷欘樦櫧笁篫築笜筯䍆鴸鼄篴䇧簗䇡秼㾻竚羜孎㑏佇䭖飳䰞䌵纻紵絑紸諸迬殶詝誅註", + "zhua": "抓爪髽膼撾檛簻挝", + "zhuai": "拽转跩", + "zhuan": "转专砖赚撰篆传颛馔啭蒃孨磚磗膞腞塼堟瑼鄟專甎叀専瑑蟤囀䡱転轉顓賺灷襈鱄篹籑䉵竱嫥僎饌縳諯譔", + "zhuang": "状装庄壮撞桩妆幢僮奘戆庒荘莊壵湷糚粧樁梉狀壯焋娤裝妝", + "zhui": "追缀椎坠锥赘惴骓隹缒墜騅硾礈腏膇贅沝畷䄌錣鑆鵻錐醊甀笍娷綴縋諈揣", + "zhun": "准谆淳屯肫窀埻迍準啍㡒宒衠稕凖綧訰諄", + "zhuo": "捉桌著卓着浊灼啄琢拙酌镯茁斫濯淖涿棹擢焯浞禚倬诼斮斲䕴䪼叕硺䶂龺圴斱琸鵫灂濁汋晫蠗啅罬斀劅㣿㪬蠿烵炪丵窡窧鐯鋜鐲㺟犳斵擆撯棳椓㭬槕櫡棁梲穱籗籱篧彴䅵穛娺妰諁諑謶鷟缴", + "zi": "自子资字紫仔姿滋兹姊籽咨孜渍梓髭恣滓谘淄呲孳鲻龇辎甾眦秭赀吱齐茈趑耔觜訾嵫锱笫粢缁芓蓻茡荢䔂茊葘菑茲孖牸矷頾頿胏䐉胾嗭赼趦鼒㺭剚鄑㱴㰷齜眥呰啙貲胔鈭㰣姕漬澬湽虸吇嗞輺輜崰䘣禌釨鰦鯔鎡镃鍿錙㧗杍橴榟椔秄䅆稵資栥秶㾅㜽姉鶅倳紎緇緕纃訿齍諮孶玆", + "zong": "总宗综纵踪棕粽鬃熜偬从腙葼蓗骔騌騣惣㹅鬉䰌碂磫朡堫䝋豵鬷昮蝬䗥蹤踨䍟嵏嵕嵸惾翪燪糭㷓糉㢔焧鑁鯮鯼鍐猔猣㚇揔摠搃捴㯶椶稯熧瘲疭倧傯倊綜緫緵總繌縦縱縂総緃", + "zou": "走奏邹揍陬鄹驺鲰诹菆郰棸騶赱㔿齱齺㵵䠫黀鄒鯫鯐掫棷箃緅諏", + "zu": "组族足祖阻租卒诅镞俎菹靻䔃蒩葅䯿珇䖕唨踤哫㞺崒崪䚝䱣鎺鏃爼椊䅸箤卆組䘚詛㲞㰵", + "zuan": "钻攥纂躜缵繤䂎躦鑚鉆鑽䤸劗籫纉纘䌣", + "zui": "最嘴罪醉咀蕞䮔厜璻蟕晬嗺噿嶵㠑嶊冣㝡䘹祽鋷錊酻酔樶檌㰎栬槜檇辠䘒稡纗絊", + "zun": "尊遵樽鳟撙墫噂嶟鶎銌鱒鐏捘罇鷷僔繜譐", + "zuo": "作做坐左座昨佐琢撮柞唑祚捽阼胙嘬怍酢笮葄葃蓙䔘苲莋㸲㝾䞰䎰咗㘀㘴岝岞䝫糳袏鈼㭮稓穝秨筰㛗㑅飵侳繓䋏" +} \ No newline at end of file diff --git a/scripts/uosc/elements/BufferingIndicator.lua b/scripts/uosc/elements/BufferingIndicator.lua new file mode 100644 index 0000000..e288a1f --- /dev/null +++ b/scripts/uosc/elements/BufferingIndicator.lua @@ -0,0 +1,39 @@ +local Element = require('elements/Element') + +---@class BufferingIndicator : Element +local BufferingIndicator = class(Element) + +function BufferingIndicator:new() return Class.new(self) --[[@as BufferingIndicator]] end +function BufferingIndicator:init() + Element.init(self, 'buffering_indicator', {ignores_curtain = true, render_order = 2}) + self.enabled = false + self:decide_enabled() +end + +function BufferingIndicator:decide_enabled() + local cache = state.cache_underrun or state.cache_buffering and state.cache_buffering < 100 + local player = state.core_idle and not state.eof_reached + if self.enabled then + if not player or (state.pause and not cache) then self.enabled = false end + elseif player and cache and state.uncached_ranges then + self.enabled = true + end +end + +function BufferingIndicator:on_prop_pause() self:decide_enabled() end +function BufferingIndicator:on_prop_core_idle() self:decide_enabled() end +function BufferingIndicator:on_prop_eof_reached() self:decide_enabled() end +function BufferingIndicator:on_prop_uncached_ranges() self:decide_enabled() end +function BufferingIndicator:on_prop_cache_buffering() self:decide_enabled() end +function BufferingIndicator:on_prop_cache_underrun() self:decide_enabled() end + +function BufferingIndicator:render() + local ass = assdraw.ass_new() + ass:rect(0, 0, display.width, display.height, {color = bg, opacity = config.opacity.buffering_indicator}) + local size = round(30 + math.min(display.width, display.height) / 10) + local opacity = (Elements.menu and Elements.menu:is_alive()) and 0.3 or 0.8 + ass:spinner(display.width / 2, display.height / 2, size, {color = fg, opacity = opacity}) + return ass +end + +return BufferingIndicator \ No newline at end of file diff --git a/scripts/uosc/elements/Button.lua b/scripts/uosc/elements/Button.lua new file mode 100644 index 0000000..422f024 --- /dev/null +++ b/scripts/uosc/elements/Button.lua @@ -0,0 +1,100 @@ +local Element = require('elements/Element') + +---@alias ButtonProps {icon: string; on_click?: function; is_clickable?: boolean; anchor_id?: string; active?: boolean; badge?: string|number; foreground?: string; background?: string; tooltip?: string} + +---@class Button : Element +local Button = class(Element) + +---@param id string +---@param props ButtonProps +function Button:new(id, props) return Class.new(self, id, props) --[[@as Button]] end +---@param id string +---@param props ButtonProps +function Button:init(id, props) + self.icon = props.icon + self.active = props.active + self.tooltip = props.tooltip + self.badge = props.badge + self.foreground = props.foreground or fg + self.background = props.background or bg + self.is_clickable = true + ---@type fun()|nil + self.on_click = props.on_click + Element.init(self, id, props) +end + +function Button:on_coordinates() self.font_size = round((self.by - self.ay) * 0.7) end +function Button:handle_cursor_click() + if not self.on_click or not self.is_clickable then return end + -- We delay the callback to next tick, otherwise we are risking race + -- conditions as we are in the middle of event dispatching. + -- For example, handler might add a menu to the end of the element stack, and that + -- than picks up this click event we are in right now, and instantly closes itself. + mp.add_timeout(0.01, self.on_click) +end + +function Button:render() + local visibility = self:get_visibility() + if visibility <= 0 then return end + cursor:zone('primary_down', self, function() self:handle_cursor_click() end) + + local ass = assdraw.ass_new() + local is_clickable = self.is_clickable and self.on_click ~= nil + local is_hover = self.proximity_raw <= 0 + local foreground = self.active and self.background or self.foreground + local background = self.active and self.foreground or self.background + local background_opacity = self.active and 1 or config.opacity.controls + + if is_hover and is_clickable and background_opacity < 0.3 then background_opacity = 0.3 end + + -- Background + if background_opacity > 0 then + ass:rect(self.ax, self.ay, self.bx, self.by, { + color = (self.active or not is_hover) and background or foreground, + radius = state.radius, + opacity = visibility * background_opacity, + }) + end + + -- Tooltip on hover + if is_hover and self.tooltip then ass:tooltip(self, self.tooltip) end + + -- Badge + local icon_clip + if self.badge then + local badge_font_size = self.font_size * 0.6 + local badge_opts = {size = badge_font_size, color = background, opacity = visibility} + local badge_width = text_width(self.badge, badge_opts) + local width, height = math.ceil(badge_width + (badge_font_size / 7) * 2), math.ceil(badge_font_size * 0.93) + local bx, by = self.bx - 1, self.by - 1 + ass:rect(bx - width, by - height, bx, by, { + color = foreground, + radius = state.radius, + opacity = visibility, + border = self.active and 0 or 1, + border_color = background, + }) + ass:txt(bx - width / 2, by - height / 2, 5, self.badge, badge_opts) + + local clip_border = math.max(self.font_size / 20, 1) + local clip_path = assdraw.ass_new() + clip_path:round_rect_cw( + math.floor((bx - width) - clip_border), math.floor((by - height) - clip_border), bx, by, 3 + ) + icon_clip = '\\iclip(' .. clip_path.scale .. ', ' .. clip_path.text .. ')' + end + + -- Icon + local x, y = round(self.ax + (self.bx - self.ax) / 2), round(self.ay + (self.by - self.ay) / 2) + ass:icon(x, y, self.font_size, self.icon, { + color = foreground, + border = self.active and 0 or options.text_border * state.scale, + border_color = background, + opacity = visibility, + clip = icon_clip, + }) + + return ass +end + +return Button \ No newline at end of file diff --git a/scripts/uosc/elements/Controls.lua b/scripts/uosc/elements/Controls.lua new file mode 100644 index 0000000..7d45b1b --- /dev/null +++ b/scripts/uosc/elements/Controls.lua @@ -0,0 +1,428 @@ +local Element = require('elements/Element') +local Button = require('elements/Button') +local CycleButton = require('elements/CycleButton') +local ManagedButton = require('elements/ManagedButton') +local Speed = require('elements/Speed') + +-- sizing: +-- static - shrink, have highest claim on available space, disappear when there's not enough of it +-- dynamic - shrink to make room for static elements until they reach their ratio_min, then disappear +-- gap - shrink if there's no space left +-- space - expands to fill available space, shrinks as needed +-- scale - `options.controls_size` scale factor. +-- ratio - Width/height ratio of a static or dynamic element. +-- ratio_min Min ratio for 'dynamic' sized element. +---@alias ControlItem {element?: Element; kind: string; sizing: 'space' | 'static' | 'dynamic' | 'gap'; scale: number; ratio?: number; ratio_min?: number; hide: boolean; dispositions?: {[string]: boolean}[]} + +---@class Controls : Element +local Controls = class(Element) + +function Controls:new() return Class.new(self) --[[@as Controls]] end +function Controls:init() + Element.init(self, 'controls', {render_order = 6}) + ---@type ControlItem[] All control elements serialized from `options.controls`. + self.controls = {} + ---@type ControlItem[] Only controls that match current dispositions. + self.layout = {} + + self:init_options() +end + +function Controls:destroy() + self:destroy_elements() + Element.destroy(self) +end + +function Controls:init_options() + -- Serialize control elements + local shorthands = { + ['play-pause'] = 'cycle:pause:pause:no/yes=play_arrow?' .. t('Play/Pause'), + menu = 'command:menu:script-binding uosc/menu-blurred?' .. t('Menu'), + subtitles = 'command:subtitles:script-binding uosc/subtitles#sub>0?' .. t('Subtitles'), + audio = 'command:graphic_eq:script-binding uosc/audio#audio>1?' .. t('Audio'), + ['audio-device'] = 'command:speaker:script-binding uosc/audio-device?' .. t('Audio device'), + video = 'command:theaters:script-binding uosc/video#video>1?' .. t('Video'), + playlist = 'command:list_alt:script-binding uosc/playlist?' .. t('Playlist'), + chapters = 'command:bookmark:script-binding uosc/chapters#chapters>0?' .. t('Chapters'), + ['editions'] = 'command:bookmarks:script-binding uosc/editions#editions>1?' .. t('Editions'), + ['stream-quality'] = 'command:high_quality:script-binding uosc/stream-quality?' .. t('Stream quality'), + ['open-file'] = 'command:file_open:script-binding uosc/open-file?' .. t('Open file'), + ['items'] = 'command:list_alt:script-binding uosc/items?' .. t('Playlist/Files'), + prev = 'command:arrow_back_ios:script-binding uosc/prev?' .. t('Previous'), + next = 'command:arrow_forward_ios:script-binding uosc/next?' .. t('Next'), + first = 'command:first_page:script-binding uosc/first?' .. t('First'), + last = 'command:last_page:script-binding uosc/last?' .. t('Last'), + ['loop-playlist'] = 'cycle:repeat:loop-playlist:no/inf!?' .. t('Loop playlist'), + ['loop-file'] = 'cycle:repeat_one:loop-file:no/inf!?' .. t('Loop file'), + shuffle = 'toggle:shuffle:shuffle?' .. t('Shuffle'), + autoload = 'toggle:hdr_auto:autoload@uosc?' .. t('Autoload'), + fullscreen = 'cycle:crop_free:fullscreen:no/yes=fullscreen_exit!?' .. t('Fullscreen'), + } + + -- Parse out disposition/config pairs + local items = {} + local in_disposition = false + local current_item = nil + for c in options.controls:gmatch('.') do + if not current_item then current_item = {disposition = '', config = ''} end + if c == '<' and #current_item.config == 0 then + in_disposition = true + elseif c == '>' and #current_item.config == 0 then + in_disposition = false + elseif c == ',' and not in_disposition then + items[#items + 1] = current_item + current_item = nil + else + local prop = in_disposition and 'disposition' or 'config' + current_item[prop] = current_item[prop] .. c + end + end + items[#items + 1] = current_item + + -- Create controls + self.controls = {} + for i, item in ipairs(items) do + local config = shorthands[item.config] and shorthands[item.config] or item.config + local config_tooltip = split(config, ' *%? *') + local tooltip = config_tooltip[2] + config = shorthands[config_tooltip[1]] + and split(shorthands[config_tooltip[1]], ' *%? *')[1] or config_tooltip[1] + local config_badge = split(config, ' *# *') + config = config_badge[1] + local badge = config_badge[2] + local parts = split(config, ' *: *') + local kind, params = parts[1], itable_slice(parts, 2) + + -- Serialize dispositions into OR groups of AND conditions + ---@type {[string]: boolean}[] + local dispositions = {} + ---@type string[] + local disposition_props = {} + for _, or_group in ipairs(comma_split(item.disposition)) do + local group = {} + for _, condition in ipairs(split(or_group, ' *+ *')) do + if #condition > 0 then + local value = condition:sub(1, 1) ~= '!' + local name = not value and condition:sub(2) or condition + if name:sub(1, 4) == 'has_' or itable_has({'idle', 'image', 'audio', 'video', 'stream'}, name) then + local prop = name:sub(1, 4) == 'has_' and name or 'is_' .. name + group[prop] = value + else + disposition_props[#disposition_props + 1] = name + group[name] = value + end + end + end + dispositions[#dispositions + 1] = group + end + + -- Convert toggles into cycles + if kind == 'toggle' then + kind = 'cycle' + params[#params + 1] = 'no/yes!' + end + + -- Create a control element + local control = {dispositions = dispositions, kind = kind} + + if kind == 'space' then + control.sizing = 'space' + elseif kind == 'gap' then + table_assign(control, {sizing = 'gap', scale = 1, ratio = params[1] or 0.3, ratio_min = 0}) + elseif kind == 'command' then + if #params ~= 2 then + mp.error(string.format( + 'command button needs 2 parameters, %d received: %s', #params, table.concat(params, '/') + )) + else + local element = Button:new('control_' .. i, { + render_order = self.render_order, + icon = params[1], + anchor_id = 'controls', + on_click = function() mp.command(params[2]) end, + tooltip = tooltip, + count_prop = 'sub', + }) + table_assign(control, {element = element, sizing = 'static', scale = 1, ratio = 1}) + if badge then self:register_badge_updater(badge, element) end + end + elseif kind == 'cycle' then + if #params ~= 3 then + mp.error(string.format( + 'cycle button needs 3 parameters, %d received: %s', + #params, table.concat(params, '/') + )) + else + local state_configs = split(params[3], ' */ *') + local states = {} + + for _, state_config in ipairs(state_configs) do + local active = false + if state_config:sub(-1) == '!' then + active = true + state_config = state_config:sub(1, -2) + end + local state_params = split(state_config, ' *= *') + local value, icon = state_params[1], state_params[2] or params[1] + states[#states + 1] = {value = value, icon = icon, active = active} + end + + local element = CycleButton:new('control_' .. i, { + render_order = self.render_order, + prop = params[2], + anchor_id = 'controls', + states = states, + tooltip = tooltip, + }) + table_assign(control, {element = element, sizing = 'static', scale = 1, ratio = 1}) + if badge then self:register_badge_updater(badge, element) end + end + elseif kind == 'button' then + if #params ~= 1 then + mp.error(string.format( + 'managed button needs 1 parameter, %d received: %s', #params, table.concat(params, '/') + )) + else + local element = ManagedButton:new('control_' .. i, { + name = params[1], + render_order = self.render_order, + anchor_id = 'controls', + on_hide = function() self:reflow() end, + }) + table_assign(control, {element = element, sizing = 'static', scale = 1, ratio = 1}) + end + elseif kind == 'speed' then + if not Elements.speed then + local element = Speed:new({anchor_id = 'controls', render_order = self.render_order}) + local scale = tonumber(params[1]) or 1.3 + table_assign(control, { + element = element, sizing = 'dynamic', scale = scale, ratio = 3.5, ratio_min = 2, + }) + else + msg.error('there can only be 1 speed slider') + end + else + msg.error('unknown element kind "' .. kind .. '"') + break + end + + if control.element then + for _, prop in ipairs(disposition_props) do + control.element:observe_mp_property(prop, function() self:reflow() end) + end + end + self.controls[#self.controls + 1] = control + end + + self:reflow() +end + +function Controls:reflow() + -- Populate the layout only with items that are not hidden and match current disposition + self.layout = {} + for _, control in ipairs(self.controls) do + local matches = false + local conditions_num = 0 + + -- Check against OR groups of AND conditions + for _, group in pairs(control.dispositions) do + local group_matches = true + for prop, value in pairs(group) do + conditions_num = conditions_num + 1 + ---@type boolean + local current_value + if prop:sub(1, 4) == 'has_' or prop:sub(1, 3) == 'is_' then + current_value = state[prop] + else + current_value = mp.get_property_bool(prop, false) + end + if current_value ~= value then + group_matches = false + break + end + end + if group_matches then + matches = true + break + end + end + + if conditions_num == 0 then matches = true end + local show = matches and (not control.element or control.element.hide ~= true) + if control.element then control.element.enabled = show end + if show then self.layout[#self.layout + 1] = control end + end + + self:update_dimensions() + Elements:trigger('controls_reflow') +end + +---@param badge string +---@param element Element An element that supports `badge` property. +function Controls:register_badge_updater(badge, element) + local prop_and_limit = split(badge, ' *> *') + local prop, limit = prop_and_limit[1], tonumber(prop_and_limit[2] or -1) + local observable_name, serializer, is_external_prop = prop, nil, false + + if itable_index_of({'sub', 'audio', 'video'}, prop) then + observable_name = 'track-list' + serializer = function(value) + local count = 0 + for _, track in ipairs(value) do if track.type == prop then count = count + 1 end end + return count + end + else + local parts = split(prop, '@') + -- Support both new `prop@owner` and old `@prop` syntaxes + if #parts > 1 then prop, is_external_prop = parts[1] ~= '' and parts[1] or parts[2], true end + serializer = function(value) return value and (type(value) == 'table' and #value or tostring(value)) or nil end + end + + local function handler(_, value) + local new_value = serializer(value) --[[@as nil|string|integer]] + local value_number = tonumber(new_value) + if value_number then new_value = value_number > limit and value_number or nil end + element.badge = new_value + request_render() + end + + if is_external_prop then + element['on_external_prop_' .. prop] = function(_, value) handler(prop, value) end + else + element:observe_mp_property(observable_name, handler) + end +end + +function Controls:get_visibility() + return Elements:v('speed', 'dragging') and 1 or Elements:maybe('timeline', 'get_is_hovered') + and -1 or Element.get_visibility(self) +end + +function Controls:update_dimensions() + local window_border = Elements:v('window_border', 'size', 0) + local size = round(options.controls_size * state.scale) + local spacing = round(options.controls_spacing * state.scale) + local margin = round(options.controls_margin * state.scale) + + -- Disable when not enough space + local available_space = display.height - window_border * 2 - Elements:v('top_bar', 'size', 0) + - Elements:v('timeline', 'size', 0) + self.enabled = available_space > size + 10 + + -- Reset hide/enabled flags + for c, control in ipairs(self.layout) do + control.hide = false + if control.element then control.element.enabled = self.enabled end + end + + if not self.enabled then return end + + -- Container + self.bx = display.width - window_border - margin + self.by = Elements:v('timeline', 'ay', display.height - window_border) - margin + self.ax, self.ay = window_border + margin, self.by - size + + -- Controls + local available_width, statics_width = self.bx - self.ax, 0 + local min_content_width = statics_width + local max_dynamics_width, dynamic_units, spaces, gaps = 0, 0, 0, 0 + + -- Calculate statics_width, min_content_width, and count spaces & gaps + for c, control in ipairs(self.layout) do + if control.sizing == 'space' then + spaces = spaces + 1 + elseif control.sizing == 'gap' then + gaps = gaps + control.scale * control.ratio + elseif control.sizing == 'static' then + local width = size * control.scale * control.ratio + (c ~= #self.layout and spacing or 0) + statics_width = statics_width + width + min_content_width = min_content_width + width + elseif control.sizing == 'dynamic' then + local spacing = (c ~= #self.layout and spacing or 0) + statics_width = statics_width + spacing + min_content_width = min_content_width + size * control.scale * control.ratio_min + spacing + max_dynamics_width = max_dynamics_width + size * control.scale * control.ratio + dynamic_units = dynamic_units + control.scale * control.ratio + end + end + + -- Hide & disable elements in the middle until we fit into available width + if min_content_width > available_width then + local i = math.ceil(#self.layout / 2 + 0.1) + for a = 0, #self.layout - 1, 1 do + i = i + (a * (a % 2 == 0 and 1 or -1)) + local control = self.layout[i] + + if control.sizing ~= 'gap' and control.sizing ~= 'space' then + control.hide = true + if control.element then control.element.enabled = false end + if control.sizing == 'static' then + local width = size * control.scale * control.ratio + min_content_width = min_content_width - width - spacing + statics_width = statics_width - width - spacing + elseif control.sizing == 'dynamic' then + statics_width = statics_width - spacing + min_content_width = min_content_width - size * control.scale * control.ratio_min - spacing + max_dynamics_width = max_dynamics_width - size * control.scale * control.ratio + dynamic_units = dynamic_units - control.scale * control.ratio + end + + if min_content_width < available_width then break end + end + end + end + + -- Lay out the elements + local current_x = self.ax + local width_for_dynamics = available_width - statics_width + local empty_space_width = width_for_dynamics - max_dynamics_width + local width_for_gaps = math.min(empty_space_width, size * gaps) + local individual_space_width = spaces > 0 and ((empty_space_width - width_for_gaps) / spaces) or 0 + + for c, control in ipairs(self.layout) do + if not control.hide then + local sizing, element, scale, ratio = control.sizing, control.element, control.scale, control.ratio + local width, height = 0, 0 + + if sizing == 'space' then + if individual_space_width > 0 then width = individual_space_width end + elseif sizing == 'gap' then + if width_for_gaps > 0 then width = width_for_gaps * (ratio / gaps) end + elseif sizing == 'static' then + height = size * scale + width = height * ratio + elseif sizing == 'dynamic' then + height = size * scale + width = max_dynamics_width < width_for_dynamics + and height * ratio or width_for_dynamics * ((scale * ratio) / dynamic_units) + end + + local bx = current_x + width + if element then element:set_coordinates(round(current_x), round(self.by - height), bx, self.by) end + current_x = element and bx + spacing or bx + end + end + + Elements:update_proximities() + request_render() +end + +function Controls:on_dispositions() self:reflow() end +function Controls:on_display() self:update_dimensions() end +function Controls:on_prop_border() self:update_dimensions() end +function Controls:on_prop_title_bar() self:update_dimensions() end +function Controls:on_prop_fullormaxed() self:update_dimensions() end +function Controls:on_timeline_enabled() self:update_dimensions() end + +function Controls:destroy_elements() + for _, control in ipairs(self.controls) do + if control.element then control.element:destroy() end + end +end + +function Controls:on_options() + self:destroy_elements() + self:init_options() +end + +return Controls \ No newline at end of file diff --git a/scripts/uosc/elements/Curtain.lua b/scripts/uosc/elements/Curtain.lua new file mode 100644 index 0000000..8c53fd1 --- /dev/null +++ b/scripts/uosc/elements/Curtain.lua @@ -0,0 +1,35 @@ +local Element = require('elements/Element') + +---@class Curtain : Element +local Curtain = class(Element) + +function Curtain:new() return Class.new(self) --[[@as Curtain]] end +function Curtain:init() + Element.init(self, 'curtain', {render_order = 999}) + self.opacity = 0 + ---@type string[] + self.dependents = {} +end + +---@param id string +function Curtain:register(id) + self.dependents[#self.dependents + 1] = id + if #self.dependents == 1 then self:tween_property('opacity', self.opacity, 1) end +end + +---@param id string +function Curtain:unregister(id) + self.dependents = itable_filter(self.dependents, function(item) return item ~= id end) + if #self.dependents == 0 then self:tween_property('opacity', self.opacity, 0) end +end + +function Curtain:render() + if self.opacity == 0 or config.opacity.curtain == 0 then return end + local ass = assdraw.ass_new() + ass:rect(0, 0, display.width, display.height, { + color = config.color.curtain, opacity = config.opacity.curtain * self.opacity, + }) + return ass +end + +return Curtain \ No newline at end of file diff --git a/scripts/uosc/elements/CycleButton.lua b/scripts/uosc/elements/CycleButton.lua new file mode 100644 index 0000000..23f981b --- /dev/null +++ b/scripts/uosc/elements/CycleButton.lua @@ -0,0 +1,86 @@ +local Button = require('elements/Button') + +---@alias CycleState {value: any; icon: string; active?: boolean} +---@alias CycleButtonProps {prop: string; states: CycleState[]; anchor_id?: string; tooltip?: string} + +local function yes_no_to_boolean(value) + if type(value) ~= 'string' then return value end + local lowercase = trim(value):lower() + if lowercase == 'yes' or lowercase == 'no' then + return lowercase == 'yes' + else + return value + end +end + +---@class CycleButton : Button +local CycleButton = class(Button) + +---@param id string +---@param props CycleButtonProps +function CycleButton:new(id, props) return Class.new(self, id, props) --[[@as CycleButton]] end +---@param id string +---@param props CycleButtonProps +function CycleButton:init(id, props) + local is_state_prop = itable_index_of({'shuffle'}, props.prop) + self.prop = props.prop + self.states = props.states + + Button.init(self, id, props) + + self.icon = self.states[1].icon + self.active = self.states[1].active + self.current_state_index = 1 + self.on_click = function() + local new_state = self.states[self.current_state_index + 1] or self.states[1] + local new_value = new_state.value + if self.owner == 'uosc' then + if type(options[self.prop]) == 'number' then + options[self.prop] = tonumber(new_value) or 0 + else + options[self.prop] = yes_no_to_boolean(new_value) + end + handle_options({[self.prop] = options[self.prop]}) + elseif self.owner then + mp.commandv('script-message-to', self.owner, 'set', self.prop, new_value) + elseif is_state_prop then + set_state(self.prop, yes_no_to_boolean(new_value)) + else + mp.set_property(self.prop, new_value) + end + end + + local function handle_change(name, value) + -- Removes unnecessary floating point digits from values like `2.00000`. + -- This happens when observing properties like `speed`. + if type(value) == 'string' and string.match(value, '^[%+%-]?%d+%.%d+$') then + value = tonumber(value) + end + + value = type(value) == 'boolean' and (value and 'yes' or 'no') or tostring(value or '') + local index = itable_find(self.states, function(state) return state.value == value end) + self.current_state_index = index or 1 + self.icon = self.states[self.current_state_index].icon + self.active = self.states[self.current_state_index].active + request_render() + end + + local prop_parts = split(self.prop, '@') + if #prop_parts == 2 then -- External prop with a script owner + self.prop, self.owner = prop_parts[1], prop_parts[2] + if self.owner == 'uosc' then + self['on_options'] = function() handle_change(self.prop, options[self.prop]) end + handle_change(self.prop, options[self.prop]) + else + self['on_external_prop_' .. self.prop] = function(_, value) handle_change(self.prop, value) end + handle_change(self.prop, external[self.prop]) + end + elseif is_state_prop then -- uosc's state props + self['on_prop_' .. self.prop] = function(self, value) handle_change(self.prop, value) end + handle_change(self.prop, state[self.prop]) + else + self:observe_mp_property(self.prop, 'string', handle_change) + end +end + +return CycleButton \ No newline at end of file diff --git a/scripts/uosc/elements/Element.lua b/scripts/uosc/elements/Element.lua new file mode 100644 index 0000000..3fdae20 --- /dev/null +++ b/scripts/uosc/elements/Element.lua @@ -0,0 +1,265 @@ +---@alias ElementProps {enabled?: boolean; render_order?: number; ax?: number; ay?: number; bx?: number; by?: number; ignores_curtain?: boolean; anchor_id?: string;} + +-- Base class all elements inherit from. +---@class Element : Class +local Element = class() + +---@param id string +---@param props? ElementProps +function Element:init(id, props) + self.id = id + self.render_order = 1 + -- `false` means element won't be rendered, or receive events + self.enabled = true + -- Element coordinates + self.ax, self.ay, self.bx, self.by = 0, 0, 0, 0 + -- Relative proximity from `0` - mouse outside `proximity_max` range, to `1` - mouse within `proximity_min` range. + self.proximity = 0 + -- Raw proximity in pixels. + self.proximity_raw = math.huge + ---@type number `0-1` factor to force min visibility. Used for toggling element's permanent visibility. + self.min_visibility = 0 + ---@type number `0-1` factor to force a visibility value. Used for flashing, fading out, and other animations + self.forced_visibility = nil + ---@type boolean Show this element even when curtain is visible. + self.ignores_curtain = false + ---@type nil|string ID of an element from which this one should inherit visibility. + self.anchor_id = nil + ---@type fun()[] Disposer functions called when element is destroyed. + self._disposers = {} + ---@type table> Namespaced active key bindings. Default namespace is `_`. + self._key_bindings = {} + + if props then table_assign(self, props) end + + -- Flash timer + self._flash_out_timer = mp.add_timeout(options.flash_duration / 1000, function() + local function getTo() return self.proximity end + local function onTweenEnd() self.forced_visibility = nil end + if self.enabled then + self:tween_property('forced_visibility', self:get_visibility(), getTo, onTweenEnd) + else + onTweenEnd() + end + end) + self._flash_out_timer:kill() + + Elements:add(self) +end + +function Element:destroy() + self:dispose() + self.destroyed = true + self:remove_key_bindings() + Elements:remove(self) +end + +-- Calls all disposers registered for this element (usually mpv events/prop observers). +function Element:dispose() + for _, disposer in ipairs(self._disposers) do disposer() end +end + +function Element:reset_proximity() self.proximity, self.proximity_raw = 0, math.huge end + +---@param ax number +---@param ay number +---@param bx number +---@param by number +function Element:set_coordinates(ax, ay, bx, by) + self.ax, self.ay, self.bx, self.by = ax, ay, bx, by + Elements:update_proximities() + self:maybe('on_coordinates') +end + +function Element:update_proximity() + if cursor.hidden then + self:reset_proximity() + else + local range = options.proximity_out - options.proximity_in + self.proximity_raw = get_point_to_rectangle_proximity(cursor, self) + self.proximity = 1 - (clamp(0, self.proximity_raw - options.proximity_in, range) / range) + end +end + +function Element:is_persistent() + local persist = config[self.id .. '_persistency'] + return persist and ( + (persist.audio and state.is_audio) + or ( + persist.paused and state.pause + and (not Elements.timeline or not Elements.timeline.pressed or Elements.timeline.pressed.pause) + ) + or (persist.video and state.is_video) + or (persist.image and state.is_image) + or (persist.idle and state.is_idle) + or (persist.windowed and not state.fullormaxed) + or (persist.fullscreen and state.fullormaxed) + ) +end + +-- Decide elements visibility based on proximity and various other factors +function Element:get_visibility() + -- Hide when curtain is visible, unless this elements ignores it + local min_order = (Elements.curtain.opacity > 0 and not self.ignores_curtain) and Elements.curtain.render_order or 0 + if self.render_order < min_order then return 0 end + + -- Persistency + if self:is_persistent() then return 1 end + + -- Forced visibility + if self.forced_visibility then return math.max(self.forced_visibility, self.min_visibility) end + + -- Anchor inheritance + -- If anchor returns -1, it means all attached elements should force hide. + local anchor = self.anchor_id and Elements[self.anchor_id] + local anchor_visibility = anchor and anchor:get_visibility() or 0 + + return anchor_visibility == -1 and 0 or math.max(self.proximity, anchor_visibility, self.min_visibility) +end + +-- Call method if it exists +function Element:maybe(name, ...) + if self[name] then return self[name](self, ...) end +end + +-- Attach a tweening animation to this element +---@param from number +---@param to number|fun():number +---@param setter fun(value: number) +---@param duration_or_callback? number|fun() Duration in milliseconds or a callback function. +---@param callback? fun() Called either on animation end, or when animation is killed. +function Element:tween(from, to, setter, duration_or_callback, callback) + self:tween_stop() + self._kill_tween = self.enabled and tween( + from, to, setter, duration_or_callback, + function() + self._kill_tween = nil + if callback then callback() end + end + ) +end + +function Element:is_tweening() return self and self._kill_tween end +function Element:tween_stop() self:maybe('_kill_tween') end + +-- Animate an element property between 2 values. +---@param prop string +---@param from number +---@param to number|fun():number +---@param duration_or_callback? number|fun() Duration in milliseconds or a callback function. +---@param callback? fun() Called either on animation end, or when animation is killed. +function Element:tween_property(prop, from, to, duration_or_callback, callback) + self:tween(from, to, function(value) self[prop] = value end, duration_or_callback, callback) +end + +---@param name string +function Element:trigger(name, ...) + local result = self:maybe('on_' .. name, ...) + request_render() + return result +end + +-- Briefly flashes the element for `options.flash_duration` milliseconds. +-- Useful to visualize changes of volume and timeline when changed via hotkeys. +function Element:flash() + if self.enabled and options.flash_duration > 0 and (self.proximity < 1 or self._flash_out_timer:is_enabled()) then + self:tween_stop() + self.forced_visibility = 1 + request_render() + self._flash_out_timer.timeout = options.flash_duration / 1000 + self._flash_out_timer:kill() + self._flash_out_timer:resume() + end +end + +-- Register disposer to be called when element is destroyed. +---@param disposer fun() +function Element:register_disposer(disposer) + if not itable_index_of(self._disposers, disposer) then + self._disposers[#self._disposers + 1] = disposer + end +end + +-- Automatically registers disposer for the passed callback. +---@param event string +---@param callback fun() +function Element:register_mp_event(event, callback) + mp.register_event(event, callback) + self:register_disposer(function() mp.unregister_event(callback) end) +end + +-- Automatically registers disposer for the observer. +---@param name string +---@param type_or_callback string|fun(name: string, value: any) +---@param callback_maybe nil|fun(name: string, value: any) +function Element:observe_mp_property(name, type_or_callback, callback_maybe) + local callback = type(type_or_callback) == 'function' and type_or_callback or callback_maybe + local prop_type = type(type_or_callback) == 'string' and type_or_callback or 'native' + mp.observe_property(name, prop_type, callback) + self:register_disposer(function() mp.unobserve_property(callback) end) +end + +-- Adds a keybinding for the lifetime of the element, or until removed manually. +---@param key string mpv key identifier. +---@param fnFlags fun()|string|table Callback, or `{callback, flags}` tuple. Callback can be just a method name, in which case it'll be wrapped in `create_action(callback)`. +---@param namespace? string Keybinding namespace. Default is `_`. +function Element:add_key_binding(key, fnFlags, namespace) + local name = self.id .. '-' .. key + local isTuple = type(fnFlags) == 'table' + local fn = (isTuple and fnFlags[1] or fnFlags) + local flags = isTuple and fnFlags[2] or nil + namespace = namespace or '_' + local names = self._key_bindings[namespace] + if not names then + names = {} + self._key_bindings[namespace] = names + end + names[name] = true + if type(fn) == 'string' then + fn = self:create_action(fn) + end + mp.add_forced_key_binding(key, name, fn, flags) +end + +-- Remove all or only keybindings belonging to a specific namespace. +---@param namespace? string Optional keybinding namespace to remove. +function Element:remove_key_bindings(namespace) + local namespaces = namespace and {namespace} or table_keys(self._key_bindings) + for _, namespace in ipairs(namespaces) do + local names = self._key_bindings[namespace] + if names then + for name, _ in pairs(names) do + mp.remove_key_binding(name) + end + self._key_bindings[namespace] = nil + end + end +end + +-- Checks if there are any (at all or namespaced) keybindings for this element. +---@param namespace? string Only check this namespace. +function Element:has_keybindings(namespace) + if namespace then + return self._key_bindings[namespace] ~= nil + else + return #table_keys(self._key_bindings) > 0 + end +end + +-- Check if element is not destroyed or otherwise disabled. +-- Intended to be overridden by inheriting elements to add more checks. +function Element:is_alive() return not self.destroyed end + +-- Wraps a function into a callback that won't run if element is destroyed or otherwise disabled. +---@param fn fun(...)|string Function or a name of a method on this class to call. +function Element:create_action(fn) + if type(fn) == 'string' then + local method = fn + fn = function(...) self[method](self, ...) end + end + return function(...) + if self:is_alive() then fn(...) end + end +end + +return Element \ No newline at end of file diff --git a/scripts/uosc/elements/Elements.lua b/scripts/uosc/elements/Elements.lua new file mode 100644 index 0000000..d97cf6a --- /dev/null +++ b/scripts/uosc/elements/Elements.lua @@ -0,0 +1,152 @@ +local Elements = {_all = {}} + +---@param element Element +function Elements:add(element) + if not element.id then + msg.error('attempt to add element without "id" property') + return + end + + if self:has(element.id) then Elements:remove(element.id) end + + self._all[#self._all + 1] = element + self[element.id] = element + + -- Sort by render order + table.sort(self._all, function(a, b) return a.render_order < b.render_order end) + + request_render() +end + +function Elements:remove(idOrElement) + if not idOrElement then return end + local id = type(idOrElement) == 'table' and idOrElement.id or idOrElement + local element = Elements[id] + if element then + if not element.destroyed then element:destroy() end + element.enabled = false + self._all = itable_delete_value(self._all, self[id]) + self[id] = nil + request_render() + end +end + +function Elements:update_proximities() + local curtain_render_order = Elements.curtain.opacity > 0 and Elements.curtain.render_order or 0 + local mouse_leave_elements = {} + local mouse_enter_elements = {} + + -- Calculates proximities for all elements + for _, element in self:ipairs() do + if element.enabled then + local previous_proximity_raw = element.proximity_raw + + -- If curtain is open, we disable all elements set to rendered below it + if not element.ignores_curtain and element.render_order < curtain_render_order then + element:reset_proximity() + else + element:update_proximity() + end + + if element.proximity_raw <= 0 then + -- Mouse entered element area + if previous_proximity_raw > 0 then + mouse_enter_elements[#mouse_enter_elements + 1] = element + end + else + -- Mouse left element area + if previous_proximity_raw <= 0 then + mouse_leave_elements[#mouse_leave_elements + 1] = element + end + end + end + end + + -- Trigger `mouse_leave` and `mouse_enter` events + for _, element in ipairs(mouse_leave_elements) do element:trigger('mouse_leave') end + for _, element in ipairs(mouse_enter_elements) do element:trigger('mouse_enter') end +end + +-- Toggles passed elements' min visibilities between 0 and 1. +---@param ids string[] IDs of elements to peek. +function Elements:toggle(ids) + local has_invisible = itable_find(ids, function(id) + return Elements[id] and Elements[id].enabled and (Elements[id].min_visibility or 0) ~= 1 + end) + + self:set_min_visibility(has_invisible and 1 or 0, ids) + + -- Reset proximities when toggling off. Has to happen after `set_min_visibility`, + -- as that is using proximity as a tween starting point. + if not has_invisible then + for _, id in ipairs(ids) do + if Elements[id] then Elements[id]:reset_proximity() end + end + end +end + +-- Set (animate) elements' min visibilities to passed value. +---@param visibility number 0-1 floating point. +---@param ids string[] IDs of elements to peek. +function Elements:set_min_visibility(visibility, ids) + for _, id in ipairs(ids) do + local element = Elements[id] + if element then + local from = math.max(0, element:get_visibility()) + element:tween_property('min_visibility', from, visibility) + end + end +end + +-- Flash passed elements. +---@param ids string[] IDs of elements to peek. +function Elements:flash(ids) + local elements = itable_filter(self._all, function(element) return itable_has(ids, element.id) end) + for _, element in ipairs(elements) do element:flash() end + + -- Special case for 'progress' since it's a state of timeline, not an element + if itable_has(ids, 'progress') and not itable_has(ids, 'timeline') then + Elements:maybe('timeline', 'flash_progress') + end +end + +---@param name string Event name. +function Elements:trigger(name, ...) + for _, element in self:ipairs() do element:trigger(name, ...) end +end + +-- Trigger two events, `name` and `global_name`, depending on element-cursor proximity. +-- Disabled elements don't receive these events. +---@param name string Event name. +function Elements:proximity_trigger(name, ...) + for i = #self._all, 1, -1 do + local element = self._all[i] + if element.enabled then + if element.proximity_raw <= 0 then + if element:trigger(name, ...) == 'stop_propagation' then break end + end + if element:trigger('global_' .. name, ...) == 'stop_propagation' then break end + end + end +end + +-- Returns a property of an element with a passed `id` if it exists, with an optional fallback. +---@param id string +---@param prop string +---@param fallback any +function Elements:v(id, prop, fallback) + if self[id] and self[id].enabled and self[id][prop] ~= nil then return self[id][prop] end + return fallback +end + +-- Calls a method on an element with passed `id` if it exists. +---@param id string +---@param method string +function Elements:maybe(id, method, ...) + if self[id] then return self[id]:maybe(method, ...) end +end + +function Elements:has(id) return self[id] ~= nil end +function Elements:ipairs() return ipairs(self._all) end + +return Elements \ No newline at end of file diff --git a/scripts/uosc/elements/ManagedButton.lua b/scripts/uosc/elements/ManagedButton.lua new file mode 100644 index 0000000..69edc40 --- /dev/null +++ b/scripts/uosc/elements/ManagedButton.lua @@ -0,0 +1,36 @@ +local Button = require('elements/Button') + +---@alias ManagedButtonProps {name: string; anchor_id?: string; render_order?: number; hide?: boolean} + +---@class ManagedButton : Button +local ManagedButton = class(Button) + +---@param id string +---@param props ManagedButtonProps +function ManagedButton:new(id, props) return Class.new(self, id, props) --[[@as ManagedButton]] end +---@param id string +---@param props ManagedButtonProps +function ManagedButton:init(id, props) + ---@type string | table | nil + self.command = nil + ---@type boolean + self.hide = nil + ---@type fun(hide: boolean) | nil + self.on_hide = nil + Button.init(self, id, table_assign({}, props, {on_click = function() execute_command(self.command) end})) + self:update(buttons:get(props.name)) + self:register_disposer(buttons:subscribe(props.name, function(data) self:update(data) end)) +end + +function ManagedButton:update(data) + local hide_before = self.hide + for _, prop in ipairs({'icon', 'active', 'badge', 'command', 'tooltip', 'hide'}) do + self[prop] = data[prop] + end + self.is_clickable = self.command ~= nil + if self.hide ~= hide_before and self.on_hide then + self.on_hide(self.hide) + end +end + +return ManagedButton \ No newline at end of file diff --git a/scripts/uosc/elements/Menu.lua b/scripts/uosc/elements/Menu.lua new file mode 100644 index 0000000..137979d --- /dev/null +++ b/scripts/uosc/elements/Menu.lua @@ -0,0 +1,1825 @@ +local Element = require('elements/Element') + +---@alias MenuAction {name: string; icon: string; label?: string; filter_hidden?: boolean;} + +-- Menu data structure accepted by `Menu:open(menu)`. +---@alias MenuData {id?: string; type?: string; title?: string; hint?: string; footnote: string; search_style?: 'on_demand' | 'palette' | 'disabled'; item_actions?: MenuAction[]; item_actions_place?: 'inside' | 'outside'; callback?: string[]; keep_open?: boolean; bold?: boolean; italic?: boolean; muted?: boolean; separator?: boolean; align?: 'left'|'center'|'right'; items?: MenuDataChild[]; selected_index?: integer; on_search?: string|string[]; on_paste?: string|string[]; on_move?: string|string[]; on_close?: string|string[]; search_debounce?: number|string; search_submenus?: boolean; search_suggestion?: string; search_submit?: boolean; bind_keys?: string[]} +---@alias MenuDataChild MenuDataItem|MenuData +---@alias MenuDataItem {title?: string; hint?: string; icon?: string; value: any; actions?: MenuAction[]; actions_place?: 'inside' | 'outside'; active?: boolean; keep_open?: boolean; selectable?: boolean; bold?: boolean; italic?: boolean; muted?: boolean; separator?: boolean; align?: 'left'|'center'|'right'} +---@alias MenuOptions {mouse_nav?: boolean;} + +-- Internal data structure created from `MenuData`. +---@alias MenuStack {id?: string; type?: string; title?: string; hint?: string; footnote: string; search_style?: 'on_demand' | 'palette' | 'disabled'; item_actions?: MenuAction[]; item_actions_place?: 'inside' | 'outside'; callback?: string[]; selected_index?: number; action_index?: number; keep_open?: boolean; bold?: boolean; italic?: boolean; muted?: boolean; separator?: boolean; align?: 'left'|'center'|'right'; items: MenuStackChild[]; on_search?: string|string[]; on_paste?: string|string[]; on_move?: string|string[]; on_close?: string|string[]; search_debounce?: number|string; search_submenus?: boolean; search_suggestion?: string; search_submit?: boolean; bind_keys?: string[]; parent_menu?: MenuStack; submenu_path: integer[]; active?: boolean; width: number; height: number; top: number; scroll_y: number; scroll_height: number; title_width: number; hint_width: number; max_width: number; is_root?: boolean; fling?: Fling, search?: Search, ass_safe_title?: string} +---@alias MenuStackChild MenuStackItem|MenuStack +---@alias MenuStackItem {title?: string; hint?: string; icon?: string; value: any; actions?: MenuAction[]; actions_place?: 'inside' | 'outside'; active?: boolean; keep_open?: boolean; selectable?: boolean; bold?: boolean; italic?: boolean; muted?: boolean; separator?: boolean; align?: 'left'|'center'|'right'; title_width: number; hint_width: number; ass_safe_hint?: string} +---@alias Fling {y: number, distance: number, time: number, easing: fun(x: number), duration: number, update_cursor?: boolean} +---@alias Search {query: string; cursor: number; timeout: unknown; min_top: number; max_width: number; source: {width: number; top: number; scroll_y: number; selected_index?: integer; items?: MenuStackChild[]}} + +---@alias MenuEventActivate {type: 'activate'; index: number; value: any; action?: string; modifiers?: string; alt: boolean; ctrl: boolean; shift: boolean; is_pointer: boolean; keep_open?: boolean; menu_id: string;} +---@alias MenuEventMove {type: 'move'; from_index: number; to_index: number; menu_id: string;} +---@alias MenuEventSearch {type: 'search'; query: string; menu_id: string;} +---@alias MenuEventKey {type: 'key'; id: string; key: string; modifiers?: string; alt: boolean; ctrl: boolean; shift: boolean; menu_id: string; selected_item?: {index: number; value: any; action?: string;}} +---@alias MenuEventPaste {type: 'paste'; value: string; menu_id: string; selected_item?: {index: number; value: any; action?: string;}} +---@alias MenuEventBack {type: 'back';} +---@alias MenuEventClose {type: 'close';} +---@alias MenuEvent MenuEventActivate | MenuEventMove | MenuEventSearch | MenuEventKey | MenuEventPaste | MenuEventBack | MenuEventClose +---@alias MenuCallback fun(data: MenuEvent) + +---@class Menu : Element +local Menu = class(Element) + +---@param data MenuData +---@param callback MenuCallback +---@param opts? MenuOptions +function Menu:open(data, callback, opts) + local open_menu = Menu:is_open() + if open_menu then + open_menu.is_being_replaced = true + open_menu:close(true) + end + return Menu:new(data, callback, opts) +end + +---@param menu_type? string +---@return Menu|nil +function Menu:is_open(menu_type) + return Elements.menu and (not menu_type or Elements.menu.type == menu_type) and Elements.menu or nil +end + +---@param immediate? boolean Close immediately without fadeout animation. +---@param callback? fun() Called after the animation (if any) ends and element is removed and destroyed. +---@overload fun(callback: fun()) +function Menu:close(immediate, callback) + if type(immediate) ~= 'boolean' then callback = immediate end + + local menu = self == Menu and Elements.menu or self + + if state.ime_active == false and mp.get_property_bool('input-ime') then + mp.set_property_bool('input-ime', false) + end + + if menu and not menu.destroyed then + if menu.is_closing then + menu:tween_stop() + return + end + + local function close() + local on_close = menu.root.on_close -- removed in menu:destroy() + Elements:remove('menu') -- calls menu:destroy() under the hood + Elements:update_proximities() + cursor:queue_autohide() + + -- Call :close() callback + if callback then callback() end + + -- Call callbacks/events defined on menu config + local close_event = {type = 'close'} + if not on_close or menu:command_or_event(on_close, {}, close_event) ~= 'event' then + menu.callback(close_event) + end + + request_render() + end + + menu.is_closing = true + + if immediate then + close() + else + menu:fadeout(close) + end + end +end + +---@param data MenuData +---@param callback MenuCallback +---@param opts? MenuOptions +---@return Menu +function Menu:new(data, callback, opts) return Class.new(self, data, callback, opts) --[[@as Menu]] end +---@param data MenuData +---@param callback MenuCallback +---@param opts? MenuOptions +function Menu:init(data, callback, opts) + Element.init(self, 'menu', {render_order = 1001}) + + -----@type fun() + self.callback = callback + self.opts = opts or {} + self.offset_x = 0 -- Used for submenu transition animation. + self.mouse_nav = self.opts.mouse_nav -- Stops pre-selecting items + self.item_height = nil + self.min_width = nil + self.item_spacing = 1 + self.item_padding = nil + self.separator_size = nil + self.padding = nil + self.gap = nil + self.font_size = nil + self.font_size_hint = nil + self.scroll_step = nil -- Item height + item spacing. + self.scroll_height = nil -- Items + spacings - container height. + self.opacity = 0 -- Used to fade in/out. + self.type = data.type + ---@type MenuStack Root MenuStack. + self.root = nil + ---@type MenuStack Current MenuStack. + self.current = nil + ---@type MenuStack[] All menus in a flat array. + self.all = nil + ---@type table Map of submenus by their ids, such as `'Tools > Aspect ratio'`. + self.by_id = {} + self.type_to_search = options.menu_type_to_search + self.is_being_replaced = false + self.is_closing = false + self.drag_last_y = nil + self.is_dragging = false + + if utils.shared_script_property_set then + utils.shared_script_property_set('uosc-menu-type', self.type or 'undefined') + end + mp.set_property_native('user-data/uosc/menu/type', self.type or 'undefined') + self:update(data) + + for _, menu in ipairs(self.all) do self:scroll_to_index(menu.selected_index, menu.id) end + if self.mouse_nav then self.current.selected_index = nil end + + self:tween_property('opacity', 0, 1) + self:enable_key_bindings() + Elements:maybe('curtain', 'register', self.id) + + if data.search_submit then + -- We have to defer this so that menu callbacks don't fire before the menu + -- instance we're constructing here is returned, as they might depend on it. + mp.add_timeout(0.01, function() + self:search_submit() + end) + end +end + +function Menu:destroy() + Element.destroy(self) + self.is_closing = false + if not self.is_being_replaced then Elements:maybe('curtain', 'unregister', self.id) end + if utils.shared_script_property_set then + utils.shared_script_property_set('uosc-menu-type', nil) + end + mp.set_property_native('user-data/uosc/menu/type', nil) +end + +---@param data MenuData +function Menu:update(data) + local new_root = {is_root = true, submenu_path = {}} + local new_all = {} + local new_menus = {} -- menus that didn't exist before this `update()` + local new_by_id = {} + local menus_to_serialize = {{new_root, data}} + local old_current_id = self.current and self.current.id + local menu_state_props = {'selected_index', 'action_index', 'scroll_y', 'fling', 'search'} + local internal_props_set = create_set(itable_append({'is_root', 'submenu_path', 'id', 'items'}, menu_state_props)) + + table_assign_exclude(new_root, data, internal_props_set) + + local i = 0 + while i < #menus_to_serialize do + i = i + 1 + local menu, menu_data = menus_to_serialize[i][1], menus_to_serialize[i][2] + local parent_id = menu.parent_menu and not menu.parent_menu.is_root and menu.parent_menu.id + if menu_data.id then + menu.id = menu_data.id + elseif not menu.is_root then + menu.id = (parent_id and parent_id .. ' > ' or '') .. (menu_data.title or i) + else + menu.id = '{root}' + end + menu.icon = 'chevron_right' + + -- Normalize `search_debounce` + if type(menu_data.search_debounce) == 'number' then + menu.search_debounce = math.max(0, menu_data.search_debounce --[[@as number]]) + elseif menu_data.search_debounce == 'submit' then + menu.search_debounce = 'submit' + else + menu.search_debounce = menu.on_search and 300 or 0 + end + + -- Update items + local first_active_index = nil + menu.items = { + {title = t('Empty'), value = 'ignore', italic = 'true', muted = 'true', selectable = false, align = 'center'}, + } + + for i, item_data in ipairs(menu_data.items or {}) do + if item_data.active and not first_active_index then first_active_index = i end + + local item = {} + table_assign_exclude(item, item_data, internal_props_set) + if item.keep_open == nil then item.keep_open = menu.keep_open end + + -- Submenu + if item_data.items then + item.parent_menu = menu + item.submenu_path = itable_join(menu.submenu_path, {i}) + menus_to_serialize[#menus_to_serialize + 1] = {item, item_data} + end + + menu.items[i] = item + end + + if menu.is_root then menu.selected_index = menu_data.selected_index or first_active_index end + + -- Retain old state + local old_menu = self.by_id[menu.id] + if old_menu then + table_assign_props(menu, old_menu, menu_state_props) + else + new_menus[#new_menus + 1] = menu + end + + new_all[#new_all + 1] = menu + new_by_id[menu.id] = menu + end + + self.root, self.all, self.by_id = new_root, new_all, new_by_id + self.current = self.by_id[old_current_id] or self.root + + self:update_content_dimensions() + self:reset_navigation() + + -- Ensure palette menus have active searches, and clean empty searches from menus that lost the `palette` flag + local update_dimensions_again = false + for _, menu in ipairs(self.all) do + local is_palette = menu.search_style == 'palette' + if not menu.search and (is_palette or (menu.search_suggestion and itable_index_of(new_menus, menu))) then + update_dimensions_again = true + self:search_init(menu.id) + elseif not is_palette and menu.search and menu.search.query == '' then + update_dimensions_again = true + menu.search = nil + end + end + -- We update before _and_ after because search_inits need the initial un-searched + -- menu's position and scroll state to save on the `search.source` table. + if update_dimensions_again then + self:update_content_dimensions() + self:reset_navigation() + end + -- Apply search suggestions + for _, menu in ipairs(new_menus) do + if menu.search_suggestion then + menu.search.query = menu.search_suggestion + menu.search.cursor = #menu.search_suggestion + end + end + for _, menu in ipairs(self.all) do + if menu.search then + -- the menu items are new objects and the search needs to contain those + menu.search.source.items = not menu.on_search and menu.items or nil + -- Only internal searches are immediately submitted + if not menu.on_search then self:search_internal(menu.id, true) end + end + + if menu.selected_index then self:select_by_offset(0, menu) end + end + + self:search_ensure_key_bindings() +end + +---@param items MenuDataChild[] +function Menu:update_items(items) + local data = table_assign({}, self.root) + data.items = items + self:update(data) +end + +function Menu:update_content_dimensions() + self.item_height = round(options.menu_item_height * state.scale) + self.min_width = round(options.menu_min_width * state.scale) + self.separator_size = round(1 * state.scale) + self.scrollbar_size = round(2 * state.scale) + self.padding = round(options.menu_padding * state.scale) + self.gap = round(2 * state.scale) + self.font_size = round(self.item_height * 0.48 * options.font_scale) + self.font_size_hint = self.font_size - 1 + self.item_padding = round((self.item_height - self.font_size) * 0.6) + self.scroll_step = self.item_height + self.item_spacing + + local title_opts = {size = self.font_size, italic = false, bold = false} + local hint_opts = {size = self.font_size_hint} + + for _, menu in ipairs(self.all) do + title_opts.bold, title_opts.italic = true, false + local max_width = text_width(menu.title, title_opts) + 2 * self.item_padding + + -- Estimate width of a widest item + for _, item in ipairs(menu.items) do + local icon_width = item.icon and self.font_size or 0 + item.title_width = text_width(item.title, title_opts) + item.hint_width = text_width(item.hint, hint_opts) + local spacings_in_item = 1 + (item.title_width > 0 and 1 or 0) + + (item.hint_width > 0 and 1 or 0) + (icon_width > 0 and 1 or 0) + local estimated_width = item.title_width + item.hint_width + icon_width + + (self.item_padding * spacings_in_item) + if estimated_width > max_width then max_width = estimated_width end + end + + menu.max_width = max_width + end + + self:update_dimensions() +end + +function Menu:update_dimensions() + -- Coordinates and sizes are of the scrollable area. Title is rendered + -- above it, so we need to account for that in max_height and ay position. + -- This is a debt from an era where we had different cursor event handling, + -- and dumb titles with no search inputs. It could use a refactor. + local margin = round(self.item_height / 2) + local external_buttons_reserve = display.width / self.item_height > 14 and self.scroll_step * 6 - margin * 2 or 0 + local width_available = display.width - margin * 2 - self.padding * 2 - external_buttons_reserve + local height_available = display.height - margin * 2 - self.padding * 2 + local min_width = math.min(self.min_width, width_available) + + for _, menu in ipairs(self.all) do + local width = math.max(menu.search and menu.search.max_width or 0, menu.max_width) + menu.width = round(clamp(min_width, width, width_available)) + local title_height = (menu.is_root and menu.title or menu.search) and + self.scroll_step + self.separator_size + 1 or 0 + local footnote_height = self.font_size * 1.5 + local max_height = height_available - title_height - footnote_height + local content_height = self.scroll_step * #menu.items + menu.height = math.min(content_height - self.item_spacing, max_height) + menu.top = clamp( + title_height + margin + self.padding, + menu.search and math.min(menu.search.min_top, menu.search.source.top) or height_available, + round((height_available - menu.height + title_height) / 2) + ) + if menu.search then + menu.search.min_top = math.min(menu.search.min_top, menu.top) + menu.search.max_width = math.max(menu.search.max_width, menu.width) + end + menu.scroll_height = math.max(content_height - menu.height - self.item_spacing, 0) + self:set_scroll_to(menu.scroll_y, menu.id) -- clamps scroll_y to scroll limits + end + + self:update_coordinates() +end + +-- Updates element coordinates to match padding box of currently open (sub)menu. +function Menu:update_coordinates() + local ax = round((display.width - self.current.width) / 2 - self.padding) + self.offset_x + self:set_coordinates( + ax, self.current.top - self.padding, + ax + self.current.width + self.padding * 2, self.current.top + self.current.height + self.padding + ) +end + +function Menu:reset_navigation() + local menu = self.current + + -- Reset indexes and scroll + self:set_scroll_to(menu.scroll_y) -- clamps scroll_y to scroll limits + if menu.items and #menu.items > 0 then + -- Normalize existing selected_index always, and force it only in keyboard navigation + if not self.mouse_nav then + self:select_by_offset(0) + end + else + self:select_index(nil) + end + + -- Walk up the parent menu chain and activate items that lead to current menu + local parent = menu.parent_menu + while parent do + parent.selected_index = itable_index_of(parent.items, menu) + menu, parent = parent, parent.parent_menu + end + + request_render() +end + +function Menu:set_offset_x(offset) + local delta = offset - self.offset_x + self.offset_x = offset + self:set_coordinates(self.ax + delta, self.ay, self.bx + delta, self.by) +end + +function Menu:fadeout(callback) self:tween_property('opacity', 1, 0, callback) end + +-- If `menu_id` is provided, will return menu with that id or `nil`. If `menu_id` is `nil`, will return current menu. +---@param menu_id? string +---@return MenuStack | nil +function Menu:get_menu(menu_id) return menu_id == nil and self.current or self.by_id[menu_id] end + +function Menu:get_first_active_index(menu_id) + local menu = self:get_menu(menu_id) + if not menu then return end + for index, item in ipairs(menu.items) do + if item.active then return index end + end +end + +---@param pos? number +---@param menu_id? string +function Menu:set_scroll_to(pos, menu_id) + local menu = self:get_menu(menu_id) + if not menu then return end + menu.scroll_y = clamp(0, pos or 0, menu.scroll_height) + request_render() +end + +---@param delta? number +---@param menu_id? string +function Menu:set_scroll_by(delta, menu_id) + local menu = self:get_menu(menu_id) + if not menu then return end + self:set_scroll_to(menu.scroll_y + delta, menu_id) +end + +---@param pos? number +---@param menu_id? string +---@param fling_options? table +function Menu:scroll_to(pos, menu_id, fling_options) + local menu = self:get_menu(menu_id) + if not menu then return end + menu.fling = { + y = menu.scroll_y, + distance = clamp(-menu.scroll_y, pos - menu.scroll_y, menu.scroll_height - menu.scroll_y), + time = mp.get_time(), + duration = 0.1, + easing = ease_out_sext, + } + if fling_options then table_assign(menu.fling, fling_options) end + request_render() +end + +---@param delta? number +---@param menu_id? string +---@param fling_options? Fling +function Menu:scroll_by(delta, menu_id, fling_options) + local menu = self:get_menu(menu_id) + if not menu then return end + self:scroll_to((menu.fling and (menu.fling.y + menu.fling.distance) or menu.scroll_y) + delta, menu_id, fling_options) +end + +---@param index? integer +---@param menu_id? string +---@param immediate? boolean +function Menu:scroll_to_index(index, menu_id, immediate) + local menu = self:get_menu(menu_id) + if not menu then return end + if (index and index >= 1 and index <= #menu.items) then + local position = round((self.scroll_step * (index - 1)) - ((menu.height - self.scroll_step) / 2)) + if immediate then + self:set_scroll_to(position, menu_id) + else + self:scroll_to(position, menu_id) + end + end +end + +---@param index? integer +---@param menu_id? string +function Menu:select_index(index, menu_id) + local menu = self:get_menu(menu_id) + if not menu then return end + menu.selected_index = (index and index >= 1 and index <= #menu.items) and index or nil + self:select_action(menu.action_index, menu_id) -- normalize selected action index + request_render() +end + +---@param index? integer +---@param menu_id? string +function Menu:select_action(index, menu_id) + local menu = self:get_menu(menu_id) + if not menu then return end + local actions = menu.items[menu.selected_index] and menu.items[menu.selected_index].actions or menu.item_actions + if not index or not actions or type(actions) ~= 'table' or index < 1 or index > #actions then + menu.action_index = nil + return + end + menu.action_index = index + request_render() +end + +---@param delta? integer +---@param menu_id? string +function Menu:navigate_action(delta, menu_id) + local menu = self:get_menu(menu_id) + if not menu then return end + local actions = menu.items[menu.selected_index] and menu.items[menu.selected_index].actions or menu.item_actions + if actions and delta ~= 0 then + -- Circular navigation where zero gets converted to nil + local index = (menu.action_index or (delta > 0 and 0 or #actions + 1)) + delta + self:select_action(index <= #actions and index > 0 and (index - 1) % #actions + 1 or nil, menu_id) + else + self:select_action(nil, menu_id) + end + request_render() +end + +function Menu:next_action() self:navigate_action(1) end +function Menu:prev_action() self:navigate_action(-1) end + +---@param value? any +---@param menu_id? string +function Menu:select_value(value, menu_id) + local menu = self:get_menu(menu_id) + if not menu then return end + local index = itable_find(menu.items, function(item) return item.value == value end) + self:select_index(index) +end + +---@param menu_id? string +function Menu:deactivate_items(menu_id) + local menu = self:get_menu(menu_id) + if not menu then return end + for _, item in ipairs(menu.items) do item.active = false end + request_render() +end + +---@param index? integer +---@param menu_id? string +function Menu:activate_index(index, menu_id) + local menu = self:get_menu(menu_id) + if not menu then return end + if index and index >= 1 and index <= #menu.items then menu.items[index].active = true end + request_render() +end + +---@param value? any +---@param menu_id? string +function Menu:activate_value(value, menu_id) + local menu = self:get_menu(menu_id) + if not menu then return end + local index = itable_find(menu.items, function(item) return item.value == value end) + self:activate_index(index, menu_id) +end + +---@param value? any +---@param menu_id? string +function Menu:activate_one_value(value, menu_id) + local menu = self:get_menu(menu_id) + if not menu then return end + local index = itable_find(menu.items, function(item) return item.value == value end) + self:activate_index(index, menu_id) +end + +---@param id string One of menus in `self.all`. +function Menu:activate_menu(id) + local menu = self:get_menu(id) + if menu then + self.current = menu + self:update_coordinates() + self:reset_navigation() + self:search_ensure_key_bindings() + local parent = menu.parent_menu + while parent do + parent.selected_index = itable_index_of(parent.items, menu) + self:scroll_to_index(parent.selected_index, parent) + menu, parent = parent, parent.parent_menu + end + request_render() + end +end + +---@param index? integer +---@param menu_id? string +function Menu:delete_index(index, menu_id) + local menu = self:get_menu(menu_id) + if not menu then return end + if (index and index >= 1 and index <= #menu.items) then + table.remove(menu.items, index) + self:update_content_dimensions() + self:scroll_to_index(menu.selected_index, menu_id) + end +end + +---@param value? any +---@param menu_id? string +function Menu:delete_value(value, menu_id) + local menu = self:get_menu(menu_id) + if not menu then return end + local index = itable_find(menu.items, function(item) return item.value == value end) + self:delete_index(index) +end + +---@param id string Menu id. +---@param x number `x` coordinate to slide from. +function Menu:slide_in_menu(id, x) + local menu = self:get_menu(id) + if not menu then return end + self:activate_menu(id) + self:tween(-(display.width / 2 - menu.width / 2 - x), 0, function(offset) self:set_offset_x(offset) end) + self.opacity = 1 -- in case tween above canceled fade in animation +end + +function Menu:back() + if not self:is_alive() then return end + + local current = self.current + local parent = current.parent_menu + + if parent then + self:slide_in_menu(parent.id, display.width / 2 - current.width / 2 - parent.width / 2 + self.offset_x) + else + self.callback({type = 'back'}) + end +end + +---@param shortcut? Shortcut +---@param is_pointer? boolean Whether this was called by a pointer. +function Menu:activate_selected_item(shortcut, is_pointer) + local menu = self.current + local item = menu.items[menu.selected_index] + if item then + -- Is submenu + if item.items then + if not self.mouse_nav then + self:select_index(1, item.id) + end + self:activate_menu(item.id) + self:tween(self.offset_x + menu.width / 2, 0, function(offset) self:set_offset_x(offset) end) + self.opacity = 1 -- in case tween above canceled fade in animation + else + local actions = item.actions or menu.item_actions + local action = actions and actions[menu.action_index] + self.callback({ + type = 'activate', + index = menu.selected_index, + value = item.value, + is_pointer = is_pointer == true, + action = action and action.name, + keep_open = item.keep_open or menu.keep_open, + modifiers = shortcut and shortcut.modifiers or nil, + alt = shortcut and shortcut.alt or false, + ctrl = shortcut and shortcut.ctrl or false, + shift = shortcut and shortcut.shift or false, + menu_id = menu.id, + }) + end + end +end + +---@param index integer +function Menu:move_selected_item_to(index) + if self.current.search then return end -- Moving filtered items is an undefined behavior + local callback = self.current.on_move + local from, items_count = self.current.selected_index, self.current.items and #self.current.items or 0 + if callback and from and from ~= index and index >= 1 and index <= items_count then + local event = {type = 'move', from_index = from, to_index = index, menu_id = self.current.id} + self:command_or_event(callback, {from, index, self.current.id}, event) + self:select_index(index, self.current.id) + self:scroll_to_index(index, self.current.id, true) + end +end + +---@param delta number +function Menu:move_selected_item_by(delta) + local current_index, items_count = self.current.selected_index, self.current.items and #self.current.items or 0 + if current_index and items_count > 1 then + local new_index = clamp(1, current_index + delta, items_count) + if current_index ~= new_index then + self:move_selected_item_to(new_index) + end + end +end + +function Menu:on_display() self:update_dimensions() end +function Menu:on_prop_fullormaxed() self:update_content_dimensions() end +function Menu:on_options() self:update_content_dimensions() end + +function Menu:handle_cursor_down() + if self.proximity_raw <= 0 then + self.drag_last_y = cursor.y + self.current.fling = nil + else + self:close() + end +end + +---@param shortcut? Shortcut +function Menu:handle_cursor_up(shortcut) + if self.proximity_raw <= -self.padding and self.drag_last_y and not self.is_dragging then + self:activate_selected_item(shortcut, true) + end + if self.is_dragging then + local distance = cursor:get_velocity().y / -3 + if math.abs(distance) > 50 then + self.current.fling = { + y = self.current.scroll_y, + distance = distance, + time = cursor.history:head().time, + easing = ease_out_quart, + duration = 0.5, + update_cursor = true, + } + request_render() + end + end + self.is_dragging = false + self.drag_last_y = nil +end + +function Menu:on_global_mouse_move() + self.mouse_nav = true + if self.drag_last_y then + self.is_dragging = self.is_dragging or math.abs(cursor.y - self.drag_last_y) >= 10 + if self.is_dragging then + local distance = self.drag_last_y - cursor.y + if distance ~= 0 then self:set_scroll_by(distance) end + self.drag_last_y = cursor.y + end + end + request_render() +end + +function Menu:handle_wheel_up() self:scroll_by(self.scroll_step * -3, nil, {update_cursor = true}) end +function Menu:handle_wheel_down() self:scroll_by(self.scroll_step * 3, nil, {update_cursor = true}) end + +---@param offset integer +---@param menu? MenuStack +function Menu:select_by_offset(offset, menu) + menu = menu or self.current + + -- Blur selected_index when navigating off bounds and submittable search is active. + -- Blurred selected_index is an implied focused input, so enter can submit it. + if menu.search and menu.search_debounce == 'submit' and ( + (menu.selected_index == 1 and offset < 0) or (menu.selected_index == #menu.items and offset > 0) + ) then + self:select_index(nil, menu.id) + else + local index = clamp(1, (menu.selected_index or offset >= 0 and 0 or #menu.items + 1) + offset, #menu.items) + local prev_index = itable_find(menu.items, function(item) return item.selectable ~= false end, index, 1) + local next_index = itable_find(menu.items, function(item) return item.selectable ~= false end, index) + if prev_index and next_index then + if offset == 0 then + self:select_index(index - prev_index <= next_index - index and prev_index or next_index, menu.id) + elseif offset > 0 then + self:select_index(next_index, menu.id) + else + self:select_index(prev_index, menu.id) + end + else + self:select_index(prev_index or next_index or nil, menu.id) + end + end + + request_render() +end + +---@param offset integer +---@param immediate? boolean +function Menu:navigate_by_items(offset, immediate) + self:select_by_offset(offset) + if self.current.selected_index then + self:scroll_to_index(self.current.selected_index, self.current.id, immediate) + end +end + +---@param offset integer +---@param immediate? boolean +function Menu:navigate_by_page(offset, immediate) + local items_per_page = round((self.current.height / self.scroll_step) * 0.4) + self:navigate_by_items(items_per_page * offset, immediate) +end + +function Menu:paste() + local menu = self.current + local payload = get_clipboard() + if not payload then return end + if menu.search then + self:search_query_insert(payload) + elseif menu.on_paste then + local selected_item = menu.items and menu.selected_index and menu.items[menu.selected_index] + local actions = selected_item and selected_item.actions or menu.item_actions + local selected_action = actions and menu.action_index and actions[menu.action_index] + self:command_or_event(menu.on_paste, {payload, menu.id}, { + type = 'paste', + value = payload, + menu_id = menu.id, + selected_item = selected_item and { + index = menu.selected_index, value = selected_item.value, action = selected_action, + }, + }) + elseif menu.search_style ~= 'disabled' then + self:search_start(menu.id) + self:search_query_replace(payload, menu.id) + end +end + +---@param menu_id string +---@param no_select_first? boolean +function Menu:search_internal(menu_id, no_select_first) + local menu = self:get_menu(menu_id) + if not menu then return end + local query = menu.search.query:lower() + if query == '' then + -- Reset menu state to what it was before search + for key, value in pairs(menu.search.source) do menu[key] = value end + else + -- Inherit `search_submenus` from parent menus + local search_submenus, parent_menu = menu.search_submenus, menu.parent_menu + while not search_submenus and parent_menu do + search_submenus, parent_menu = parent_menu.search_submenus, parent_menu.parent_menu + end + menu.items = search_items(menu.search.source.items, query, search_submenus) + -- Select 1st item in search results + if not no_select_first then + menu.scroll_y = 0 + self:select_index(1, menu_id) + end + end + self:update_content_dimensions() +end + +---@param items MenuStackChild[] +---@param query string +---@param recursive? boolean +---@param prefix? string +---@return MenuStackChild[] +function search_items(items, query, recursive, prefix) + local result = {} + local haystacks = {} + local flat_items = {} + local concat = table.concat + local romanization = need_romanization() + + for _, item in ipairs(items) do + if item.selectable ~= false then + local prefixed_title = prefix and prefix .. ' / ' .. (item.title or '') or item.title + haystacks[#haystacks + 1] = item.title + flat_items[#flat_items + 1] = item + + if item.items and recursive then + itable_append(result, search_items(item.items, query, recursive, prefixed_title)) + end + end + end + + local seen = {} + + local fuzzy = fzy.filter(query, haystacks, false) + for _, match in ipairs(fuzzy) do + local idx, positions, score = match[1], match[2], match[3] + local matched_title = haystacks[idx] + local item = flat_items[idx] + local prefixed_title = prefix and prefix .. ' / ' .. (item.title or '') or item.title + + if item.selectable ~= false and not (item.items and recursive) and not seen[item] then + local bold = item.bold or options.font_bold + local font_color = item.active and fgt or bgt + local ass_safe_title = highlight_match(matched_title, positions, font_color, bold) or nil + local new_item = table_assign({}, item) + new_item.title = prefixed_title + new_item.ass_safe_title = prefix and prefix .. ' / ' .. (ass_safe_title or '') or ass_safe_title + new_item.score = score + result[#result + 1] = new_item + seen[item] = true + end + end + + for _, item in ipairs(items) do + local title = item.title and item.title:lower() + local hint = item.hint and item.hint:lower() + local bold = item.bold or options.font_bold + local font_color = item.active and fgt or bgt + local ass_safe_title = nil + local prefixed_title = prefix and prefix .. ' / ' .. (item.title or '') or item.title + if item.selectable ~= false and not (item.items and recursive) and not seen[item] then + local score = 0 + local match = false + + if title and romanization then + local ligature_conv_title, ligature_roman = char_conv(title, true) + local initials_arr_conv, initials_roman = char_conv(title, false) + local initials_conv_title = concat(initials(initials_arr_conv)) + if ligature_conv_title:find(query, 1, true) then + match = true + score = 1000 + local pos = get_roman_match_positions(title, query, 'ligature', ligature_roman) + if pos then + ass_safe_title = highlight_match(item.title, pos, font_color, bold) + end + elseif initials_conv_title:find(query, 1, true) then + match = true + score = 900 + local pos = get_roman_match_positions(title, query, 'initial', initials_roman) + if pos then + ass_safe_title = highlight_match(item.title, pos, font_color, bold) + end + end + end + + if hint and not match then + if hint:find(query, 1, true) then + match = true + score = 100 + elseif concat(initials(hint)):find(query, 1, true) then + match = true + score = 90 + end + end + + if match then + local new_item = table_assign({}, item) + new_item.title = prefixed_title + new_item.ass_safe_title = prefix and prefix .. ' / ' .. (ass_safe_title or '') or ass_safe_title + new_item.score = score + result[#result + 1] = new_item + end + end + end + + table.sort(result, function(a, b) return a.score > b.score end) + + return result +end + +---@param menu_id? string +function Menu:search_submit(menu_id) + local menu = self:get_menu(menu_id) + if not menu or not menu.search then return end + local callback, query = menu.on_search, menu.search.query + if callback then + self:command_or_event(callback, {query, menu.id}, {type = 'search', query = query, menu_id = menu.id}) + else + self:search_internal(menu.id) + end +end + +-- Move search query cursor by an amount. +---@param amount number `<0` for left, `>0` for right. +---@param word_mode? boolean Move by words/segments. Overwrites amount, but respects its direction. +function Menu:search_cursor_move(amount, word_mode) + local menu = self:get_menu() + if not menu or not menu.search then return end + local query, cursor = menu.search.query, menu.search.cursor + if word_mode then + menu.search.cursor = find_string_segment_bound(query, cursor, amount) + (amount < 0 and -1 or 0) + else + local move = amount > 0 and utf8_next or utf8_prev + local step_count = 0 + local limit = math.abs(amount) + + while step_count < limit do + local next_cursor = move(query, cursor) + if next_cursor == cursor then break end + cursor = next_cursor + step_count = step_count + 1 + end + + menu.search.cursor = clamp(0, cursor, #query) + end + request_render() +end + +---@param query string +---@param menu_id? string +---@param immediate? boolean +function Menu:search_query_replace(query, menu_id, immediate) + local menu = self:get_menu(menu_id) + if not menu or not menu.search then return end + menu.search.query = query + menu.search.cursor = #query + self:search_trigger(menu_id, immediate) +end + +-- Insert string into search query at cursor. +---@param str string +---@param menu_id? string +function Menu:search_query_insert(str, menu_id) + local menu = self:get_menu(menu_id) + if not menu or not menu.search then return end + local query, cursor = menu.search.query, menu.search.cursor + local head, tail = string.sub(query, 1, cursor), string.sub(query, cursor + 1) + menu.search.query = head .. str .. tail + menu.search.cursor = cursor + #str + self:search_trigger(menu_id) +end + +-- Trigger menu search callbacks, should be called after any query changes. +function Menu:search_trigger(menu_id, immediate) + local menu = self:get_menu(menu_id) + if not menu or not menu.search then return end + if menu.search_debounce ~= 'submit' then + if menu.search.timeout then menu.search.timeout:kill() end + if menu.search.timeout and not immediate then + menu.search.timeout:resume() + else + self:search_submit(menu_id) + end + else + -- `search_debounce='submit'` behavior: We blur selected item when query + -- changes to let [enter] key submit searches instead of activating items. + self:select_index(nil, menu.id) + end + request_render() +end + +---@param event? string +---@param word_mode? boolean Delete by words. +function Menu:search_query_backspace(event, word_mode) + local search = self.current.search + if not search then return end + + local cursor, old_query = search.cursor, search.query + local head, tail = string.sub(old_query, 1, cursor), string.sub(old_query, cursor + 1) + + if word_mode then + cursor = find_string_segment_bound(head, cursor, -1) - 1 + elseif cursor > 0 then + -- The while loop is for skipping utf8 continuation bytes + while cursor > 1 and old_query:byte(cursor) >= 0x80 and old_query:byte(cursor) <= 0xbf do + cursor = cursor - 1 + end + cursor = cursor - 1 + end + + local new_query = head:sub(1, cursor) .. tail + if new_query ~= old_query then + search.query = new_query + search.cursor = math.max(0, cursor) + self:search_trigger() + end + + if #new_query == 0 then + local is_palette = self.current.search_style == 'palette' + if not is_palette and self.type_to_search then + self:search_cancel() + elseif is_palette and event ~= 'repeat' then + self:back() + end + end +end + +---@param event? string +---@param word_mode? boolean Delete by words. +function Menu:search_query_delete(event, word_mode) + local search = self.current.search + if not search then return end + + local cursor, old_query = search.cursor, search.query + local head, tail = string.sub(old_query, 1, cursor), string.sub(old_query, cursor + 1) + local tail_cursor = 1 + + if word_mode then + tail_cursor = find_string_segment_bound(tail, 0, 1) + 1 + else + -- The while loop is for skipping utf8 continuation bytes + while tail_cursor < #tail and tail:byte(tail_cursor) >= 0x80 and tail:byte(tail_cursor) <= 0xbf do + tail_cursor = tail_cursor + 1 + end + tail_cursor = tail_cursor + 1 + end + + local new_query = head .. tail:sub(tail_cursor) + if new_query ~= old_query then + search.query = new_query + search.cursor = #head + self:search_trigger() + end + + if #new_query == 0 then + local is_palette = self.current.search_style == 'palette' + if not is_palette and self.type_to_search then + self:search_cancel() + elseif is_palette and event ~= 'repeat' then + self:back() + end + end +end + +function Menu:search_text_input(info) + local menu = self.current + if not menu.search and menu.search_style == 'disabled' then return end + if info.event ~= 'up' then + local key_text = info.key_text + if not key_text then + -- might be KP0 to KP9 or KP_DEC + key_text = info.key_name:match('KP_?(.+)') + if not key_text then return end + if key_text == 'DEC' then key_text = '.' end + end + if not menu.search then self:search_start() end + self:search_query_insert(key_text) + end +end + +---@param menu_id? string +function Menu:search_cancel(menu_id) + local menu = self:get_menu(menu_id) + if not menu or not menu.search or menu.search_style == 'palette' then + self:search_query_replace('', menu_id) + return + end + if state.ime_active == false then + mp.set_property_bool('input-ime', false) + end + self:search_query_replace('', menu_id, true) + menu.search = nil + self:search_ensure_key_bindings() + self:update_dimensions() + self:reset_navigation() +end + +---@param menu_id? string +function Menu:search_init(menu_id) + local menu = self:get_menu(menu_id) + if not menu then return end + if menu.search then return end + if state.ime_active == false then + mp.set_property_bool('input-ime', true) + end + local timeout + if menu.search_debounce ~= 'submit' and menu.search_debounce > 0 then + timeout = mp.add_timeout(menu.search_debounce / 1000, self:create_action(function() + self:search_submit(menu.id) + end)) + timeout:kill() + end + menu.search = { + query = '', + cursor = 0, + timeout = timeout, + min_top = menu.top, + max_width = menu.width, + source = { + width = menu.width, + top = menu.top, + scroll_y = menu.scroll_y, + selected_index = menu.selected_index, + items = not menu.on_search and menu.items or nil, + }, + } +end + +---@param menu_id? string +function Menu:search_start(menu_id) + local menu = self:get_menu(menu_id) + if not menu or menu.search_style == 'disabled' then return end + self:search_init(menu_id) + self:search_ensure_key_bindings() + self:update_dimensions() +end + +---@param menu_id? string +function Menu:search_clear_query(menu_id) + local menu = self:get_menu(menu_id) + if not menu then return end + if not self.current.search_style == 'palette' and self.type_to_search then + self:search_cancel(menu_id) + else + self:search_query_replace('', menu_id) + end +end + +function Menu:search_enable_key_bindings() + if self:has_keybindings('search') then return end + local flags = {repeatable = true, complex = true} + self:add_key_binding('any_unicode', {self:create_key_handler('search_text_input'), flags}, 'search') + -- KP0 to KP9 and KP_DEC are not included in any_unicode + -- despite typically producing characters, they don't have a info.key_text + self:add_key_binding('kp_dec', {self:create_key_handler('search_text_input'), flags}, 'search') + for i = 0, 9 do + self:add_key_binding('kp' .. i, {self:create_key_handler('search_text_input'), flags}, 'search') + end +end + +function Menu:search_ensure_key_bindings() + if self.current.search or (self.type_to_search and self.current.search_style ~= 'disabled') then + self:search_enable_key_bindings() + else + self:remove_key_bindings('search') + end +end + +function Menu:enable_key_bindings() + local standalone_keys = {'/', 'kp_divide', 'mbtn_back', 'ctrl+f', 'ctrl+v', 'ctrl+c'} + if type(self.root.bind_keys) == 'table' then itable_append(standalone_keys, self.root.bind_keys) end + -- `+` at the end enables `repeatable` flag + local modifiable_keys = {'up+', 'down+', 'left', 'right', 'enter', 'kp_enter', 'bs', 'tab', 'esc', 'pgup+', + 'pgdwn+', 'home', 'end', 'del'} + local modifiers = {nil, 'alt', 'alt+ctrl', 'alt+shift', 'alt+ctrl+shift', 'ctrl', 'ctrl+shift', 'shift'} + + ---@param shortcut Shortcut + ---@param flags table + local function bind(shortcut, flags) + local handler = self:create_action(function(info) self:handle_shortcut(shortcut, info) end) + self:add_key_binding(shortcut.id, {handler, flags}) + end + + for i, key in ipairs(standalone_keys) do + bind(create_shortcut(key), {repeatable = false, complex = true}) + end + + for i, key in ipairs(modifiable_keys) do + local flags = {repeatable = false, complex = true} + + if key:sub(-1) == '+' then + key = key:sub(1, -2) + flags.repeatable = true + end + + for j = 1, #modifiers do + bind(create_shortcut(key, modifiers[j]), flags) + end + end + + self:search_ensure_key_bindings() +end + +-- Handles all key and mouse button shortcuts, except unicode inputs. +---@param shortcut Shortcut +---@param info ComplexBindingInfo +function Menu:handle_shortcut(shortcut, info) + if not self:is_alive() then return end + + self.mouse_nav = info.is_mouse + local menu, id, key, modifiers = self.current, shortcut.id, shortcut.key, shortcut.modifiers + local selected_index = menu.selected_index + local selected_item = menu and selected_index and menu.items[selected_index] + local is_submenu = selected_item and selected_item.items ~= nil + local actions = selected_item and selected_item.actions or menu.item_actions + local selected_action = actions and menu.action_index and actions[menu.action_index] + + if info.event == 'up' then return end + + function trigger_shortcut(shortcut) + self.callback(table_assign({}, shortcut, { + type = 'key', + menu_id = menu.id, + selected_item = selected_item and { + index = selected_index, value = selected_item.value, action = selected_action, + }, + })) + end + + if (key == 'enter' and selected_item) or (id == 'right' and is_submenu and not menu.search) then + self:activate_selected_item(shortcut) + elseif id == 'enter' and menu.search and menu.search_debounce == 'submit' then + self:search_submit() + elseif id == 'up' or id == 'down' then + self:navigate_by_items(id == 'up' and -1 or 1, true) + elseif id == 'pgup' or id == 'pgdwn' then + self:navigate_by_page(id == 'pgup' and -1 or 1) + elseif menu.search and (id == 'left' or id == 'ctrl+left') then + self:search_cursor_move(-1, modifiers == 'ctrl') + elseif menu.search and (id == 'right' or id == 'ctrl+right') then + self:search_cursor_move(1, modifiers == 'ctrl') + elseif menu.search and id == 'home' then + self:search_cursor_move(-math.huge) + elseif menu.search and id == 'end' then + self:search_cursor_move(math.huge) + elseif id == 'home' or id == 'end' then + self:navigate_by_items(id == 'home' and -math.huge or math.huge) + elseif id == 'shift+tab' then + self:prev_action() + elseif id == 'tab' then + self:next_action() + elseif id == 'ctrl+up' then + self:move_selected_item_by(-1) + elseif id == 'ctrl+down' then + self:move_selected_item_by(1) + elseif id == 'ctrl+pgup' then + self:move_selected_item_by(-round((menu.height / self.scroll_step) * 0.4)) + elseif id == 'ctrl+pgdwn' then + self:move_selected_item_by(round((menu.height / self.scroll_step) * 0.4)) + elseif id == 'ctrl+home' then + self:move_selected_item_by(-math.huge) + elseif id == 'ctrl+end' then + self:move_selected_item_by(math.huge) + elseif id == '/' or id == 'kp_divide' or id == 'ctrl+f' then + self:search_start() + elseif key == 'esc' then + if menu.search and menu.search_style ~= 'palette' then + self:search_cancel() + else + self:close() + end + elseif id == 'left' and menu.parent_menu then + self:back() + elseif key == 'bs' then + if menu.search then + if modifiers == 'shift' then + self:search_clear_query() + elseif not modifiers or modifiers == 'ctrl' then + self:search_query_backspace(info.event, modifiers == 'ctrl') + end + elseif not modifiers and info.event ~= 'repeat' then + self:back() + end + elseif menu.search and (id == 'del' or id == 'ctrl+del' or id == 'shift+del') then + if id == 'shift+del' then + -- During search `del` edits the string. We convert `shift+del` to + -- `del` to have a way to trigger menu callbacks bound to `del`. + trigger_shortcut(create_shortcut('del')) + else + self:search_query_delete(info.event, modifiers == 'ctrl') + end + elseif key == 'mbtn_back' then + self:back() + elseif id == 'ctrl+v' then + self:paste() + else + trigger_shortcut(shortcut) + end +end + +-- Check if menu is not closed or closing. +function Menu:is_alive() return not self.is_closing and not self.destroyed end + +---@param name string +function Menu:create_key_handler(name) + return self:create_action(function(...) + self.mouse_nav = false + self:maybe(name, ...) + end) +end + +-- Sends command with params, or triggers a callback event if `command == 'callback'`. +-- Intended to handle `on_{event}: 'callback' | string | string[]` events. +-- Returns what happened. +---@param command string|number|string[]|number[] +---@param params string[]|number[] +---@param event MenuEvent +---@return 'event' | 'command' | nil +function Menu:command_or_event(command, params, event) + if command == 'callback' then + self.callback(event) + return 'event' + elseif type(command) == 'table' then + ---@diagnostic disable-next-line: deprecated + mp.command_native(itable_join(command, params)) + return 'command' + elseif type(command) == 'string' then + mp.command(command .. ' ' .. table.concat(params, ' ')) + return 'command' + end + return nil +end + +function Menu:render() + for _, menu in ipairs(self.all) do + if menu.fling then + local time_delta = state.render_last_time - menu.fling.time + local progress = menu.fling.easing(math.min(time_delta / menu.fling.duration, 1)) + self:set_scroll_to(round(menu.fling.y + menu.fling.distance * progress), menu.id) + if progress < 1 then request_render() else menu.fling = nil end + end + end + + cursor:zone('primary_down', display, self:create_action(function() self:handle_cursor_down() end)) + cursor:zone('primary_up', display, self:create_action(function(shortcut) self:handle_cursor_up(shortcut) end)) + cursor:zone('wheel_down', self, function() self:handle_wheel_down() end) + cursor:zone('wheel_up', self, function() self:handle_wheel_up() end) + + local ass = assdraw.ass_new() + local icon_size = self.font_size + + ---@param menu MenuStack + ---@param x number + ---@param pos number Horizontal position index. 0 = current menu, <0 parent menus, >1 submenu. + local function draw_menu(menu, x, pos) + local is_current, is_parent, is_submenu = pos == 0, pos < 0, pos > 0 + local menu_opacity = (pos == 0 and 1 or config.opacity.submenu ^ math.abs(pos)) * self.opacity + -- Scrollable content area coordinates + local content_rect = { + ax = x + self.padding, + ay = menu.top, + bx = x + self.padding + menu.width, + by = menu.top + menu.height, + } + -- local ax, ay, bx, by = x + self.padding, menu.top, x + menu.width + self.padding, menu.top + menu.height + local draw_title = menu.is_root and menu.title or menu.search + local scroll_clip = '\\clip(0,' .. content_rect.ay .. ',' .. display.width .. ',' .. content_rect.by .. ')' + local start_index = math.floor(menu.scroll_y / self.scroll_step) + 1 + local end_index = math.ceil((menu.scroll_y + menu.height) / self.scroll_step) + local bg_rect = { + ax = x, + ay = content_rect.ay - (draw_title and self.scroll_step or 0) - self.padding, + bx = content_rect.bx + self.padding, + by = content_rect.by + self.padding, + } + local blur_action_index = self.mouse_nav and menu.action_index ~= nil + + -- Background + ass:rect(bg_rect.ax, bg_rect.ay, bg_rect.bx, bg_rect.by, { + color = bg, + opacity = menu_opacity * config.opacity.menu, + radius = state.radius > 0 and math.min(state.radius + self.padding, state.radius * 3) or 0, + }) + + if is_parent then + cursor:zone('primary_down', bg_rect, self:create_action(function() self:slide_in_menu(menu.id, x) end)) + end + + -- Scrollbar + if menu.scroll_height > 0 then + local groove_height = menu.height - 2 + local thumb_height = math.max((menu.height / (menu.scroll_height + menu.height)) * groove_height, 40) + local thumb_y = content_rect.ay + 1 + ((menu.scroll_y / menu.scroll_height) * (groove_height - thumb_height)) + local sax = content_rect.bx - round(self.scrollbar_size / 2) + local sbx = sax + self.scrollbar_size + ass:rect(sax, thumb_y, sbx, thumb_y + thumb_height, {color = fg, opacity = menu_opacity * 0.8}) + end + + -- Draw submenu if selected + local submenu_rect, current_item = nil, is_current and menu.selected_index and menu.items[menu.selected_index] + local submenu_is_hovered = false + if current_item and current_item.items then + submenu_rect = draw_menu(current_item --[[@as MenuStack]], bg_rect.bx + self.gap, 1) + cursor:zone('primary_down', submenu_rect, self:create_action(function(shortcut) + self:activate_selected_item(shortcut, true) + end)) + end + + ---@type MenuAction|nil + local selected_action + for index = start_index, end_index, 1 do + local item = menu.items[index] + + if not item then break end + + local item_ay = content_rect.ay - menu.scroll_y + self.scroll_step * (index - 1) + local item_by = item_ay + self.item_height + local item_center_y = item_ay + (self.item_height / 2) + local item_clip = (item_ay < content_rect.ay or item_by > content_rect.by) and scroll_clip or nil + local content_ax, content_bx = content_rect.ax + self.item_padding, + content_rect.bx - self.item_padding + local is_selected = menu.selected_index == index + local item_rect_hitbox = { + ax = content_rect.ax, + ay = math.max(item_ay, bg_rect.ay), + bx = bg_rect.bx + (item.items and self.gap or -self.padding), -- to bridge the submenu gap with cursor + by = math.min(item_ay + self.scroll_step, bg_rect.by), + } + + -- Select hovered item + if is_current and self.mouse_nav and item.selectable ~= false + -- Do not select items if cursor is moving towards a submenu + and (not submenu_rect or not cursor:direction_to_rectangle_distance(submenu_rect)) + and (submenu_is_hovered or get_point_to_rectangle_proximity(cursor, item_rect_hitbox) <= 0) then + menu.selected_index = index + if not is_selected then + is_selected = true + request_render() + end + end + + local has_background = is_selected or item.active + local next_item = menu.items[index + 1] + local next_is_active = next_item and next_item.active + local next_has_background = menu.selected_index == index + 1 or next_is_active + local font_color = item.active and fgt or bgt + local actions = is_selected and (item.actions or menu.item_actions) -- not nil = actions are visible + local action = actions and actions[menu.action_index] -- not nil = action is selected + + if action then selected_action = action end + + -- Separator + if item_by < content_rect.by and ((not has_background and not next_has_background) or item.separator) then + local ay, by = item_by, item_by + self.separator_size + if has_background then + ay, by = ay + self.separator_size, by + self.separator_size + elseif next_has_background then + ay, by = ay - self.separator_size, by - self.separator_size + end + ass:rect( + content_rect.ax + self.item_padding, ay, content_rect.bx - self.item_padding, by, + {color = fg, opacity = menu_opacity * (item.separator and 0.13 or 0.04)} + ) + end + + -- Background + local highlight_opacity = 0 + (item.active and 0.8 or 0) + (is_selected and 0.15 or 0) + if highlight_opacity > 0 then + ass:rect(content_rect.ax, item_ay, content_rect.bx, item_by, { + radius = state.radius, + color = fg, + opacity = highlight_opacity * menu_opacity, + clip = item_clip, + }) + end + + local title_clip_bx = content_bx + + -- Actions + local actions_rect + if is_selected and actions and #actions > 0 and not item.items then + local place = item.actions_place or menu.item_actions_place + local margin = self.gap * 2 + local size = item_by - item_ay - margin * 2 + local rect_width = size * #actions + margin * (#actions - 1) + + -- Place actions outside of menu when requested and there's enough space for it + actions_rect = { + ay = item_ay + margin, + by = item_by - margin, + is_outside = place == 'outside' and display.width - bg_rect.bx + margin * 2 > rect_width, + } + actions_rect.bx = actions_rect.is_outside and bg_rect.bx + margin + rect_width or + content_rect.bx - margin + actions_rect.ax = actions_rect.bx + + for i = 1, #actions, 1 do + local action_index = #actions - (i - 1) + local action = actions[action_index] + + -- Hide when the action shouldn't be displayed when the item is a result of a search/filter + if not (action.filter_hidden and menu.search) then + local is_active = action_index == menu.action_index + local bx = actions_rect.ax - (i == 1 and 0 or margin) + local rect = { + ay = actions_rect.ay, + by = actions_rect.by, + ax = bx - size, + bx = bx, + } + actions_rect.ax = rect.ax + + ass:rect(rect.ax, rect.ay, rect.bx, rect.by, { + radius = state.radius > 2 and state.radius - 1 or state.radius, + color = is_active and fg or bg, + border = is_active and self.gap or nil, + border_color = bg, + opacity = menu_opacity, + clip = item_clip, + }) + ass:icon(rect.ax + size / 2, rect.ay + size / 2, size * 0.66, action.icon, { + color = is_active and bg or fg, opacity = menu_opacity, clip = item_clip, + }) + + -- Re-use rect as a hitbox by growing it so it bridges gaps to prevent flickering + rect.ay, rect.by, rect.bx = item_ay, item_ay + self.scroll_step, rect.bx + margin + + -- Select action on cursor hover + if self.mouse_nav and get_point_to_rectangle_proximity(cursor, rect) <= 0 then + cursor:zone('primary_down', rect, self:create_action(function(shortcut) + self:activate_selected_item(shortcut, true) + end)) + blur_action_index = false + if not is_active then + menu.action_index = action_index + selected_action = actions[action_index] + request_render() + end + end + end + end + + title_clip_bx = actions_rect.ax - self.gap * 2 + end + + -- Selected item indicator line + if is_selected and not selected_action then + local size = round(2 * state.scale) + local v_padding = math.min(state.radius, math.ceil(self.item_height / 3)) + ass:rect( + content_rect.ax - size - 1, item_ay + v_padding, + content_rect.ax - 1, item_by - v_padding, + {radius = 1 * state.scale, color = fg, opacity = menu_opacity, clip = item_clip} + ) + end + + -- Icon + if item.icon then + if not actions_rect or actions_rect.is_outside then + local x = (not item.title and not item.hint and item.align == 'center') + and bg_rect.ax + (bg_rect.bx - bg_rect.ax) / 2 + or content_bx - (icon_size / 2) + if item.icon == 'spinner' then + ass:spinner(x, item_center_y, icon_size * 1.5, {color = font_color, opacity = menu_opacity * 0.8}) + else + ass:icon(x, item_center_y, icon_size * 1.5, item.icon, { + color = font_color, opacity = menu_opacity, clip = item_clip, + }) + end + end + content_bx = content_bx - icon_size - self.item_padding + title_clip_bx = math.min(content_bx, title_clip_bx) + end + + local hint_clip_bx = title_clip_bx + if item.hint_width > 0 then + -- controls title & hint clipping proportional to the ratio of their widths + -- both title and hint get at least 50% of the width, unless they are smaller then that + local width = content_bx - content_ax - self.item_padding + local title_min = math.min(item.title_width, width * 0.5) + local hint_min = math.min(item.hint_width, width * 0.5) + local title_ratio = item.title_width / (item.title_width + item.hint_width) + title_clip_bx = math.min( + title_clip_bx, + round(content_ax + clamp(title_min, width * title_ratio, width - hint_min)) + ) + end + + -- Hint + if item.hint then + item.ass_safe_hint = item.ass_safe_hint or ass_escape(item.hint) + local clip = '\\clip(' .. title_clip_bx + self.item_padding .. ',' + .. math.max(item_ay, content_rect.ay) .. ',' .. hint_clip_bx .. ',' + .. math.min(item_by, content_rect.by) .. ')' + ass:txt(content_bx, item_center_y, 6, item.ass_safe_hint, { + size = self.font_size_hint, + color = font_color, + wrap = 2, + opacity = 0.5 * menu_opacity, + clip = clip, + }) + end + + -- Title + if item.title then + item.ass_safe_title = item.ass_safe_title or ass_escape(item.title) + local clip = '\\clip(' .. content_rect.ax .. ',' .. math.max(item_ay, content_rect.ay) .. ',' + .. title_clip_bx .. ',' .. math.min(item_by, content_rect.by) .. ')' + local title_x, align = content_ax, 4 + if item.align == 'right' then + title_x, align = title_clip_bx, 6 + elseif item.align == 'center' then + title_x, align = content_ax + (title_clip_bx - content_ax) / 2, 5 + end + ass:txt(title_x, item_center_y, align, item.ass_safe_title, { + size = self.font_size, + color = font_color, + italic = item.italic, + bold = item.bold, + wrap = 2, + opacity = menu_opacity * (item.muted and 0.5 or 1), + clip = clip, + }) + end + end + + -- Footnote / Selected action label + if is_current and (menu.footnote or selected_action) then + local height_half = self.font_size + local icon_x, icon_y = content_rect.ax + self.font_size / 2, bg_rect.by + height_half + local is_icon_hovered = false + local icon_hitbox = { + ax = icon_x - height_half, + ay = icon_y - height_half, + bx = icon_x + height_half, + by = icon_y + height_half, + } + is_icon_hovered = get_point_to_rectangle_proximity(cursor, icon_hitbox) <= 0 + local text = selected_action and selected_action.label or is_icon_hovered and menu.footnote + local opacity = (is_icon_hovered and 1 or 0.5) * menu_opacity + ass:icon(icon_x, icon_y, self.font_size, is_icon_hovered and 'help' or 'help_outline', { + color = fg, border = state.scale, border_color = bg, opacity = opacity, + }) + if text then + ass:txt(icon_x + self.font_size * 0.75, icon_y - self.font_size * 0.5, 7, ass_escape(text), { + size = self.font_size, + color = fg, + border = state.scale, + border_color = bg, + opacity = menu_opacity, + italic = true, + }) + end + end + + -- Menu title + if draw_title then + local requires_submit = menu.search_debounce == 'submit' + local rect = { + ax = content_rect.ax, + ay = content_rect.ay - self.scroll_step - self.separator_size - 1, + bx = content_rect.bx, + by = content_rect.ay - self.separator_size - 1, + } + -- Centers + rect.cx, rect.cy = round(rect.ax + (rect.bx - rect.ax) / 2), round(rect.ay + (rect.by - rect.ay) / 2) + + if menu.title and not menu.ass_safe_title then + menu.ass_safe_title = ass_escape(menu.title) + end + + -- Separator + ass:rect( + rect.ax, rect.by, rect.bx, rect.by + self.separator_size, {color = fg, opacity = menu_opacity * 0.2} + ) + + -- Blur selection (also activates search input) when user clicks title + if is_current then + cursor:zone('primary_down', rect, function() + self:select_index(nil) + end) + end + + -- Title + if menu.search then + -- Icon + local icon_size, icon_opacity = self.font_size * 1.3, menu_opacity * (requires_submit and 0.5 or 1) + local icon_rect = { + ax = rect.ax, + ay = rect.ay, + bx = content_rect.ax + icon_size + self.item_padding * 1.5, + by = rect.by, + } + + if is_current and requires_submit then + cursor:zone('primary_down', icon_rect, function() self:search_submit() end) + if get_point_to_rectangle_proximity(cursor, icon_rect) <= 0 then + icon_opacity = menu_opacity + end + end + + ass:icon(rect.ax + icon_size / 2, rect.cy, icon_size, 'search', { + color = fg, + opacity = icon_opacity, + clip = '\\clip(' .. + icon_rect.ax .. ',' .. icon_rect.ay .. ',' .. icon_rect.bx .. ',' .. icon_rect.by .. ')', + }) + + -- Query/Placeholder + local cursor_height_half, cursor_thickness = round(self.font_size * 0.6), round(self.font_size / 12) + local cursor_ax = rect.bx + 1 + if menu.search.query ~= '' then + local opts = { + size = self.font_size, + color = bgt, + wrap = 2, + opacity = menu_opacity, + clip = '\\clip(' .. icon_rect.bx .. ',' .. rect.ay .. ',' .. rect.bx .. ',' .. rect.by .. ')', + } + local query, cursor = menu.search.query, menu.search.cursor + -- Add a ZWNBSP suffix to prevent libass from trimming trailing spaces + local head = ass_escape(string.sub(query, 1, cursor)) .. '\239\187\191' + local tail_no_escape = string.sub(query, cursor + 1) + local tail = ass_escape(tail_no_escape) .. '\239\187\191' + cursor_ax = math.max(round(cursor_ax - text_width(tail_no_escape, opts)), rect.cx) + ass:txt(cursor_ax, rect.cy, 6, head, opts) + ass:txt(cursor_ax, rect.cy, 4, tail, opts) + else + local placeholder = (menu.search_style == 'palette' and menu.ass_safe_title) + and menu.ass_safe_title + or (requires_submit and t('type & ctrl+enter to search') or t('type to search')) + ass:txt(rect.bx, rect.cy, 6, placeholder, { + size = self.font_size, + italic = true, + color = bgt, + wrap = 2, + opacity = menu_opacity * 0.4, + clip = '\\clip(' .. rect.ax .. ',' .. rect.ay .. ',' .. rect.bx .. ',' .. rect.by .. ')', + }) + end + + -- Selected input indicator for submittable searches. + -- (input is selected when `selected_index` is `nil`) + if menu.search_debounce == 'submit' and not menu.selected_index then + local size_half = round(1 * state.scale) + ass:rect( + content_rect.ax, rect.by - size_half, content_rect.bx, rect.by + size_half, + {color = fg, opacity = menu_opacity} + ) + end + local input_is_blurred = menu.search_debounce == 'submit' and menu.selected_index + + -- Cursor + local cursor_bx = cursor_ax + cursor_thickness + ass:rect(cursor_ax, rect.cy - cursor_height_half, cursor_bx, rect.cy + cursor_height_half, { + color = fg, + opacity = menu_opacity * (input_is_blurred and 0.5 or 1), + clip = '\\clip(' .. cursor_ax .. ',' .. rect.ay .. ',' .. cursor_bx .. ',' .. rect.by .. ')', + }) + else + ass:txt(rect.cx, rect.cy, 5, menu.ass_safe_title, { + size = self.font_size, + bold = true, + color = bgt, + wrap = 2, + opacity = menu_opacity, + clip = '\\clip(' .. rect.ax .. ',' .. rect.ay .. ',' .. rect.bx .. ',' .. rect.by .. ')', + }) + end + end + + if blur_action_index then + menu.action_index = nil + request_render() + end + + return bg_rect + end + + -- Active menu + draw_menu(self.current, self.ax, 0) + + -- Parent menus + local parent_menu = self.current.parent_menu + local parent_offset_x, parent_horizontal_index = self.ax, -1 + + while parent_menu do + parent_offset_x = parent_offset_x - parent_menu.width - self.padding * 2 - self.gap + draw_menu(parent_menu, parent_offset_x, parent_horizontal_index) + parent_horizontal_index = parent_horizontal_index - 1 + parent_menu = parent_menu.parent_menu + end + + return ass +end + +return Menu \ No newline at end of file diff --git a/scripts/uosc/elements/PauseIndicator.lua b/scripts/uosc/elements/PauseIndicator.lua new file mode 100644 index 0000000..01da5ee --- /dev/null +++ b/scripts/uosc/elements/PauseIndicator.lua @@ -0,0 +1,83 @@ +local Element = require('elements/Element') + +---@class PauseIndicator : Element +local PauseIndicator = class(Element) + +function PauseIndicator:new() return Class.new(self) --[[@as PauseIndicator]] end +function PauseIndicator:init() + Element.init(self, 'pause_indicator', {render_order = 3}) + self.ignores_curtain = true + self.paused = state.pause + self.opacity = 0 + self.fadeout = false + self:init_options() +end + +function PauseIndicator:init_options() + self.base_icon_opacity = config.opacity.pause_indicator or (options.pause_indicator == 'flash' and 1) or 0.8 + self.type = options.pause_indicator + self:on_prop_pause() +end + +function PauseIndicator:flash() + -- Can't wait for pause property event listener to set this, because when this is used inside a binding like: + -- cycle pause; script-binding uosc/flash-pause-indicator + -- The pause event is not fired fast enough, and indicator starts rendering with old icon. + self.paused = mp.get_property_native('pause') + self.fadeout, self.opacity = false, 1 + self:tween_property('opacity', 1, 0, 300) +end + +-- Decides whether static indicator should be visible or not. +function PauseIndicator:decide() + self.paused = mp.get_property_native('pause') -- see flash() for why this line is necessary + self.fadeout, self.opacity = self.paused, self.paused and 1 or 0 + request_render() + + -- Workaround for an mpv race condition bug during pause on windows builds, which causes osd updates to be ignored. + -- .03 was still loosing renders, .04 was fine, but to be safe I added 10ms more + mp.add_timeout(.05, function() osd:update() end) +end + +function PauseIndicator:on_prop_pause() + if Elements:v('timeline', 'pressed') then return end + if options.pause_indicator == 'flash' then + if self.paused ~= state.pause then self:flash() end + elseif options.pause_indicator == 'static' then + self:decide() + end +end + +function PauseIndicator:on_options() + self:init_options() + if self.type == 'flash' then self.opacity = 0 end +end + +function PauseIndicator:render() + if self.opacity == 0 then return end + + local ass = assdraw.ass_new() + + -- Background fadeout + if self.fadeout then + ass:rect(0, 0, display.width, display.height, {color = bg, opacity = self.opacity * 0.3}) + end + + -- Icon + local size = round(math.min(display.width, display.height) * (self.fadeout and 0.20 or 0.15)) + size = size + size * (1 - self.opacity) + + if self.paused then + ass:icon(display.width / 2, display.height / 2, size, 'pause', + {border = 1, opacity = self.base_icon_opacity * self.opacity} + ) + else + ass:icon(display.width / 2, display.height / 2, size * 1.2, 'play_arrow', + {border = 1, opacity = self.base_icon_opacity * self.opacity} + ) + end + + return ass +end + +return PauseIndicator \ No newline at end of file diff --git a/scripts/uosc/elements/Speed.lua b/scripts/uosc/elements/Speed.lua new file mode 100644 index 0000000..271c87e --- /dev/null +++ b/scripts/uosc/elements/Speed.lua @@ -0,0 +1,195 @@ +local Element = require('elements/Element') + +---@alias Dragging { start_time: number; start_x: number; distance: number; speed_distance: number; start_speed: number; } + +---@class Speed : Element +local Speed = class(Element) + +---@param props? ElementProps +function Speed:new(props) return Class.new(self, props) --[[@as Speed]] end +function Speed:init(props) + Element.init(self, 'speed', props) + + self.width = 0 + self.height = 0 + self.notches = 10 + self.notch_every = 0.1 + ---@type number + self.notch_spacing = nil + ---@type number + self.font_size = nil + ---@type Dragging|nil + self.dragging = nil +end + +function Speed:get_visibility() + return Elements:maybe('timeline', 'get_is_hovered') and -1 or Element.get_visibility(self) +end + +function Speed:on_coordinates() + self.height, self.width = self.by - self.ay, self.bx - self.ax + self.notch_spacing = self.width / (self.notches + 1) + self.font_size = round(self.height * 0.48 * options.font_scale) +end +function Speed:on_options() self:on_coordinates() end + +function Speed:speed_step(speed, up) + if options.speed_step_is_factor then + if up then + return speed * options.speed_step + else + return speed * 1 / options.speed_step + end + else + if up then + return speed + options.speed_step + else + return speed - options.speed_step + end + end +end + +function Speed:handle_cursor_down() + self:tween_stop() -- Stop and cleanup possible ongoing animations + self.dragging = { + start_time = mp.get_time(), + start_x = cursor.x, + distance = 0, + speed_distance = 0, + start_speed = state.speed, + } +end + +function Speed:on_global_mouse_move() + if not self.dragging then return end + + self.dragging.distance = cursor.x - self.dragging.start_x + self.dragging.speed_distance = (-self.dragging.distance / self.notch_spacing * self.notch_every) + + local speed_current = state.speed + local speed_drag_current = self.dragging.start_speed + self.dragging.speed_distance + speed_drag_current = clamp(0.01, speed_drag_current, 100) + local drag_dir_up = speed_drag_current > speed_current + + local speed_step_next = speed_current + local speed_drag_diff = math.abs(speed_drag_current - speed_current) + while math.abs(speed_step_next - speed_current) < speed_drag_diff do + speed_step_next = self:speed_step(speed_step_next, drag_dir_up) + end + local speed_step_prev = self:speed_step(speed_step_next, not drag_dir_up) + + local speed_new = speed_step_prev + local speed_next_diff = math.abs(speed_drag_current - speed_step_next) + local speed_prev_diff = math.abs(speed_drag_current - speed_step_prev) + if speed_next_diff < speed_prev_diff then + speed_new = speed_step_next + end + + if speed_new ~= speed_current then + mp.set_property_native('speed', speed_new) + end +end + +function Speed:handle_cursor_up() + self.dragging = nil + request_render() +end + +function Speed:on_global_mouse_leave() + self.dragging = nil + request_render() +end + +function Speed:handle_wheel_up() mp.set_property_native('speed', self:speed_step(state.speed, true)) end +function Speed:handle_wheel_down() mp.set_property_native('speed', self:speed_step(state.speed, false)) end + +function Speed:render() + local visibility = self:get_visibility() + local opacity = self.dragging and 1 or visibility + + if opacity <= 0 then return end + + cursor:zone('primary_down', self, function() + self:handle_cursor_down() + cursor:once('primary_up', function() self:handle_cursor_up() end) + end) + cursor:zone('secondary_click', self, function() mp.set_property_native('speed', 1) end) + cursor:zone('wheel_down', self, function() self:handle_wheel_down() end) + cursor:zone('wheel_up', self, function() self:handle_wheel_up() end) + + local ass = assdraw.ass_new() + + -- Background + ass:rect(self.ax, self.ay, self.bx, self.by, { + color = bg, radius = state.radius, opacity = opacity * config.opacity.speed, + }) + + -- Coordinates + local ax, ay = self.ax, self.ay + local bx, by = self.bx, ay + self.height + local half_width = (self.width / 2) + local half_x = ax + half_width + + -- Notches + local speed_at_center = state.speed + if self.dragging then + speed_at_center = self.dragging.start_speed + self.dragging.speed_distance + speed_at_center = clamp(0.01, speed_at_center, 100) + end + local nearest_notch_speed = round(speed_at_center / self.notch_every) * self.notch_every + local nearest_notch_x = half_x + (((nearest_notch_speed - speed_at_center) / self.notch_every) * self.notch_spacing) + local guide_size = math.floor(self.height / 7.5) + local notch_by = by - guide_size + local notch_ay_big = ay + round(self.font_size * 1.1) + local notch_ay_medium = notch_ay_big + ((notch_by - notch_ay_big) * 0.2) + local notch_ay_small = notch_ay_big + ((notch_by - notch_ay_big) * 0.4) + local from_to_index = math.floor(self.notches / 2) + + for i = -from_to_index, from_to_index do + local notch_speed = nearest_notch_speed + (i * self.notch_every) + + if notch_speed >= 0 and notch_speed <= 100 then + local notch_x = nearest_notch_x + (i * self.notch_spacing) + local notch_thickness = 1 + local notch_ay = notch_ay_small + if (notch_speed % (self.notch_every * 10)) < 0.00000001 then + notch_ay = notch_ay_big + notch_thickness = 1.5 + elseif (notch_speed % (self.notch_every * 5)) < 0.00000001 then + notch_ay = notch_ay_medium + end + + ass:rect(notch_x - notch_thickness, notch_ay, notch_x + notch_thickness, notch_by, { + color = fg, + border = 1, + border_color = bg, + opacity = math.min(1.2 - (math.abs((notch_x - ax - half_width) / half_width)), 1) * opacity, + }) + end + end + + -- Center guide + ass:new_event() + ass:append('{\\rDefault\\an7\\blur0\\bord1\\shad0\\1c&H' .. fg .. '\\3c&H' .. bg .. '}') + ass:opacity(opacity) + ass:pos(0, 0) + ass:draw_start() + ass:move_to(half_x, by - 2 - guide_size) + ass:line_to(half_x + guide_size, by - 2) + ass:line_to(half_x - guide_size, by - 2) + ass:draw_stop() + + -- Speed value + local speed_text = (round(state.speed * 100) / 100) .. 'x' + ass:txt(half_x, ay + (notch_ay_big - ay) / 2, 5, speed_text, { + size = self.font_size, + color = bgt, + border = options.text_border * state.scale, + border_color = bg, + opacity = opacity, + }) + + return ass +end + +return Speed \ No newline at end of file diff --git a/scripts/uosc/elements/Timeline.lua b/scripts/uosc/elements/Timeline.lua new file mode 100644 index 0000000..86f1f98 --- /dev/null +++ b/scripts/uosc/elements/Timeline.lua @@ -0,0 +1,522 @@ +local Element = require('elements/Element') + +---@class Timeline : Element +local Timeline = class(Element) + +function Timeline:new() return Class.new(self) --[[@as Timeline]] end +function Timeline:init() + Element.init(self, 'timeline', {render_order = 5}) + ---@type false|{pause: boolean, distance: number, last: {x: number, y: number}} + self.pressed = false + self.obstructed = false + self.size = 0 + self.progress_size = 0 + self.min_progress_size = 0 -- used for `flash-progress` + self.font_size = 0 + self.top_border = 0 + self.line_width = 0 + self.progress_line_width = 0 + self.is_hovered = false + self.has_thumbnail = false + self.heatmap = nil + + self:decide_progress_size() + self:update_dimensions() + + -- Load Youtube heatmap data if available + self:register_mp_event('file-loaded', function() + self.heatmap = load_youtube_heatmap() + end) + -- Release any dragging and clear heatmap when file gets unloaded + self:register_mp_event('end-file', function() + self.pressed = false + self.heatmap = nil + end) +end + +function Timeline:get_visibility() + return math.max(Elements:maybe('controls', 'get_visibility') or 0, Element.get_visibility(self)) +end + +function Timeline:decide_enabled() + local previous = self.enabled + self.enabled = not self.obstructed and state.duration ~= nil and state.duration > 0 and state.time ~= nil + if self.enabled ~= previous then Elements:trigger('timeline_enabled', self.enabled) end +end + +function Timeline:get_effective_size() + if Elements:v('speed', 'dragging') then return self.size end + local progress_size = math.max(self.min_progress_size, self.progress_size) + return progress_size + math.ceil((self.size - self.progress_size) * self:get_visibility()) +end + +function Timeline:get_is_hovered() return self.enabled and self.is_hovered end + +function Timeline:update_dimensions() + self.size = round(options.timeline_size * state.scale) + self.top_border = round(options.timeline_border * state.scale) + self.line_width = round(options.timeline_line_width * state.scale) + self.progress_line_width = round(options.progress_line_width * state.scale) + self.font_size = math.floor(math.min((self.size + 60 * state.scale) * 0.2, self.size * 0.96) * options.font_scale) + local window_border_size = Elements:v('window_border', 'size', 0) + self.ax = window_border_size + self.ay = display.height - window_border_size - self.size - self.top_border + self.bx = display.width - window_border_size + self.by = display.height - window_border_size + self.width = self.bx - self.ax + self.chapter_size = math.max((self.by - self.ay) / 10, 3) + self.chapter_size_hover = self.chapter_size * 2 + + -- Disable if not enough space + local available_space = display.height - window_border_size * 2 - Elements:v('top_bar', 'size', 0) + self.obstructed = available_space < self.size + 10 + self:decide_enabled() +end + +function Timeline:decide_progress_size() + local show = options.progress == 'always' + or (options.progress == 'fullscreen' and state.fullormaxed) + or (options.progress == 'windowed' and not state.fullormaxed) + self.progress_size = show and options.progress_size or 0 +end + +function Timeline:toggle_progress() + local current = self.progress_size + self:tween_property('progress_size', current, current > 0 and 0 or options.progress_size) + request_render() +end + +function Timeline:flash_progress() + if self.enabled and options.flash_duration > 0 then + if not self._flash_progress_timer then + self._flash_progress_timer = mp.add_timeout(options.flash_duration / 1000, function() + self:tween_property('min_progress_size', options.progress_size, 0) + end) + self._flash_progress_timer:kill() + end + + self:tween_stop() + self.min_progress_size = options.progress_size + request_render() + self._flash_progress_timer.timeout = options.flash_duration / 1000 + self._flash_progress_timer:kill() + self._flash_progress_timer:resume() + end +end + +function Timeline:get_time_at_x(x) + local line_width = (options.timeline_style == 'line' and self.line_width - 1 or 0) + local time_width = self.width - line_width - 1 + local fax = (time_width) * state.time / state.duration + local fbx = fax + line_width + -- time starts 0.5 pixels in + x = x - self.ax - 0.5 + if x > fbx then + x = x - line_width + elseif x > fax then + x = fax + end + local progress = clamp(0, x / time_width, 1) + return state.duration * progress +end + +---@param fast? boolean +function Timeline:set_from_cursor(fast) + if state.time and state.duration then + mp.commandv('seek', self:get_time_at_x(cursor.x), fast and 'absolute+keyframes' or 'absolute+exact') + end +end + +function Timeline:clear_thumbnail() + if self.has_thumbnail then + mp.commandv('script-message-to', 'thumbfast', 'clear') + self.has_thumbnail = false + end +end + +function Timeline:handle_cursor_down() + self.pressed = {pause = state.pause, distance = 0, last = {x = cursor.x, y = cursor.y}} + mp.set_property_native('pause', true) + self:set_from_cursor() +end +function Timeline:on_prop_duration() self:decide_enabled() end +function Timeline:on_prop_time() self:decide_enabled() end +function Timeline:on_prop_border() self:update_dimensions() end +function Timeline:on_prop_title_bar() self:update_dimensions() end +function Timeline:on_prop_fullormaxed() + self:decide_progress_size() + self:update_dimensions() +end +function Timeline:on_display() self:update_dimensions() end +function Timeline:on_options() + self:decide_progress_size() + self:update_dimensions() +end +function Timeline:handle_cursor_up() + if self.pressed then + mp.set_property_native('pause', self.pressed.pause) + self.pressed = false + end +end +function Timeline:on_global_mouse_leave() + self.pressed = false +end + +function Timeline:on_global_mouse_move() + if self.pressed then + self.pressed.distance = self.pressed.distance + get_point_to_point_proximity(self.pressed.last, cursor) + self.pressed.last.x, self.pressed.last.y = cursor.x, cursor.y + if state.is_video and math.abs(cursor:get_velocity().x) / self.width * state.duration > 30 then + self:set_from_cursor(true) + else + self:set_from_cursor() + end + end +end + +function Timeline:render() + if self.size == 0 then + self:clear_thumbnail() + return + end + + local size = self:get_effective_size() + local visibility = self:get_visibility() + self.is_hovered = false + + if size < 1 then + self:clear_thumbnail() + return + end + + if self.proximity_raw <= 0 then + self.is_hovered = true + end + if visibility > 0 then + cursor:zone('primary_down', self, function() + self:handle_cursor_down() + cursor:once('primary_up', function() self:handle_cursor_up() end) + end) + if config.timeline_step ~= 0 then + cursor:zone('wheel_down', self, function() + mp.commandv('seek', -config.timeline_step, config.timeline_step_flag) + end) + cursor:zone('wheel_up', self, function() + mp.commandv('seek', config.timeline_step, config.timeline_step_flag) + end) + end + end + + local ass = assdraw.ass_new() + local progress_size = math.max(self.min_progress_size, self.progress_size) + + -- Text opacity rapidly drops to 0 just before it starts overflowing, or before it reaches progress_size + local hide_text_below = math.max(self.font_size * 0.8, progress_size * 2) + local hide_text_ramp = hide_text_below / 2 + local text_opacity = clamp(0, size - hide_text_below, hide_text_ramp) / hide_text_ramp + + local tooltip_gap = round(2 * state.scale) + local timestamp_gap = tooltip_gap + + local spacing = math.max(math.floor((self.size - self.font_size) / 2.5), 4) + local progress = state.time / state.duration + local is_line = options.timeline_style == 'line' + + -- Foreground & Background bar coordinates + local bax, bay, bbx, bby = self.ax, self.by - size - self.top_border, self.bx, self.by + local fax, fay, fbx, fby = 0, bay + self.top_border, 0, bby + local fcy = fay + (size / 2) + + local line_width = 0 + + if is_line then + local minimized_fraction = 1 - math.min((size - progress_size) / ((self.size - progress_size) / 8), 1) + local progress_delta = progress_size > 0 and self.progress_line_width - self.line_width or 0 + line_width = self.line_width + (progress_delta * minimized_fraction) + fax = bax + (self.width - line_width) * progress + fbx = fax + line_width + line_width = line_width - 1 + else + fax, fbx = bax, bax + self.width * progress + end + + local foreground_size = fby - fay + local foreground_coordinates = round(fax) .. ',' .. fay .. ',' .. round(fbx) .. ',' .. fby -- for clipping + + -- time starts 0.5 pixels in + local time_ax = bax + 0.5 + local time_width = self.width - line_width - 1 + + -- time to x: calculates x coordinate so that it never lies inside of the line + local function t2x(time) + local x = time_ax + time_width * time / state.duration + return time <= state.time and x or x + line_width + end + + -- Background + ass:new_event() + ass:pos(0, 0) + ass:append('{\\rDefault\\an7\\blur0\\bord0\\1c&H' .. bg .. '}') + ass:opacity(config.opacity.timeline) + ass:draw_start() + ass:rect_cw(bax, bay, fax, bby) --left of progress + ass:rect_cw(fbx, bay, bbx, bby) --right of progress + ass:rect_cw(fax, bay, fbx, fay) --above progress + ass:draw_stop() + + -- Progress + local function draw_progress() + ass:rect(fax, fay, fbx, fby, {opacity = config.opacity.position}) + end + + -- Youtube heatmap + local function draw_heatmap() + if options.timeline_heatmap ~= 'no' and self.heatmap and config.opacity.heatmap > 0 and visibility > 0 then + local is_above = options.timeline_heatmap == 'above' + local height = math.min(40, size / self.size * 40) + local ax, ay = bax, is_above and (bay - height) or (bay + self.top_border) + local bx, by = bbx, is_above and bay or bby + local opts = {color = config.color.heatmap, opacity = config.opacity.heatmap * visibility} + local clip_ay = is_above and (ay - 10) or ay + opts.clip = string.format('\\clip(%d,%d,%d,%d)', ax, clip_ay, bx, by) + ass:smooth_curve(ax, ay, bx, by, self.heatmap, opts) + end + end + + -- Change draw order based on 'timeline_style' to keep the heatmap visible + if is_line then + draw_heatmap() + draw_progress() + else + draw_progress() + draw_heatmap() + end + + -- Uncached ranges + if state.uncached_ranges then + local opts = {size = 80, anchor_y = fby} + local texture_char = visibility > 0 and 'b' or 'a' + local offset = opts.size / (visibility > 0 and 24 or 28) + for _, range in ipairs(state.uncached_ranges) do + if options.timeline_cache then + local ax = range[1] < 0.5 and bax or math.floor(t2x(range[1])) + local bx = range[2] > state.duration - 0.5 and bbx or math.ceil(t2x(range[2])) + opts.color, opts.opacity, opts.anchor_x = 'ffffff', 0.4 - (0.2 * visibility), bax + ass:texture(ax, fay, bx, fby, texture_char, opts) + opts.color, opts.opacity, opts.anchor_x = '000000', 0.6 - (0.2 * visibility), bax + offset + ass:texture(ax, fay, bx, fby, texture_char, opts) + end + end + end + + -- Custom ranges + for _, chapter_range in ipairs(state.chapter_ranges) do + local rax = chapter_range.start < 0.1 and bax or t2x(chapter_range.start) + local rbx = chapter_range['end'] > state.duration - 0.1 and bbx + or t2x(math.min(chapter_range['end'], state.duration)) + ass:rect(rax, fay, rbx, fby, {color = chapter_range.color, opacity = chapter_range.opacity}) + end + + -- Chapters + local hovered_chapter = nil + if (config.opacity.chapters > 0 and (#state.chapters > 0 or state.ab_loop_a or state.ab_loop_b)) then + local diamond_radius = math.min(math.max(1, foreground_size * 0.8), self.chapter_size) + local diamond_radius_hovered = diamond_radius * 2 + local diamond_border = options.timeline_border and math.max(options.timeline_border, 1) or 1 + + if diamond_radius > 0 then + local function draw_chapter(time, radius) + local chapter_x, chapter_y = t2x(time), fay - 1 + ass:new_event() + ass:append(string.format( + '{\\pos(0,0)\\rDefault\\an7\\blur0\\yshad0.01\\bord%f\\1c&H%s\\3c&H%s\\4c&H%s\\1a&H%X&\\3a&H00&\\4a&H00&}', + diamond_border, fg, bg, bg, opacity_to_alpha(config.opacity.chapters) + )) + ass:draw_start() + ass:move_to(chapter_x - radius, chapter_y) + ass:line_to(chapter_x, chapter_y - radius) + ass:line_to(chapter_x + radius, chapter_y) + ass:line_to(chapter_x, chapter_y + radius) + ass:draw_stop() + end + + if #state.chapters > 0 then + -- Find hovered chapter indicator + local closest_delta = math.huge + + if self.proximity_raw < diamond_radius_hovered then + for i, chapter in ipairs(state.chapters) do + local chapter_x, chapter_y = t2x(chapter.time), fay - 1 + local cursor_chapter_delta = math.sqrt((cursor.x - chapter_x) ^ 2 + (cursor.y - chapter_y) ^ 2) + if cursor_chapter_delta <= diamond_radius_hovered and cursor_chapter_delta < closest_delta then + hovered_chapter, closest_delta = chapter, cursor_chapter_delta + self.is_hovered = true + end + end + end + + for i, chapter in ipairs(state.chapters) do + if chapter ~= hovered_chapter then draw_chapter(chapter.time, diamond_radius) end + local circle = {point = {x = t2x(chapter.time), y = fay - 1}, r = diamond_radius_hovered} + if visibility > 0 and chapter == hovered_chapter then + cursor:zone('primary_down', circle, function() + mp.commandv('seek', chapter.time, 'absolute+exact') + end) + end + end + + -- Render hovered chapter above others + if hovered_chapter then + draw_chapter(hovered_chapter.time, diamond_radius_hovered) + timestamp_gap = tooltip_gap + round(diamond_radius_hovered) + else + timestamp_gap = tooltip_gap + round(diamond_radius) + end + end + + -- A-B loop indicators + local has_a, has_b = state.ab_loop_a and state.ab_loop_a >= 0, state.ab_loop_b and state.ab_loop_b > 0 + local ab_radius = round(math.min(math.max(8, foreground_size * 0.25), foreground_size)) + + ---@param time number + ---@param kind 'a'|'b' + local function draw_ab_indicator(time, kind) + local x = t2x(time) + ass:new_event() + ass:append(string.format( + '{\\pos(0,0)\\rDefault\\an7\\blur0\\yshad0.01\\bord%f\\1c&H%s\\3c&H%s\\4c&H%s\\1a&H%X&\\3a&H00&\\4a&H00&}', + diamond_border, fg, bg, bg, opacity_to_alpha(config.opacity.chapters) + )) + ass:draw_start() + ass:move_to(x, fby - ab_radius) + if kind == 'b' then ass:line_to(x + 3, fby - ab_radius) end + ass:line_to(x + (kind == 'a' and 0 or ab_radius), fby) + ass:line_to(x - (kind == 'b' and 0 or ab_radius), fby) + if kind == 'a' then ass:line_to(x - 3, fby - ab_radius) end + ass:draw_stop() + end + + if has_a then draw_ab_indicator(state.ab_loop_a, 'a') end + if has_b then draw_ab_indicator(state.ab_loop_b, 'b') end + end + end + + local function draw_timeline_timestamp(x, y, align, timestamp, opts) + opts.color, opts.border_color = fgt, fg + opts.clip = '\\clip(' .. foreground_coordinates .. ')' + local func = options.time_precision > 0 and ass.timestamp or ass.txt + func(ass, x, y, align, timestamp, opts) + opts.color, opts.border_color = bgt, bg + opts.clip = '\\iclip(' .. foreground_coordinates .. ')' + func(ass, x, y, align, timestamp, opts) + end + + -- Time values + if text_opacity > 0 then + local time_opts = {size = self.font_size, opacity = text_opacity, border = options.text_border * state.scale} + -- Upcoming cache time + local cache_duration = state.cache_duration and state.cache_duration / state.speed or nil + if cache_duration and options.buffered_time_threshold > 0 + and cache_duration < options.buffered_time_threshold then + local margin = 5 * state.scale + local x, align = fbx + margin, 4 + local cache_opts = { + size = self.font_size * 0.8, opacity = text_opacity * 0.6, border = options.text_border * state.scale, + } + local human = round(cache_duration) .. 's' + local width = text_width(human, cache_opts) + local time_width = timestamp_width(state.time_human, time_opts) + local time_width_end = timestamp_width(state.destination_time_human, time_opts) + local min_x, max_x = bax + spacing + margin + time_width, bbx - spacing - margin - time_width_end + if x < min_x then x = min_x elseif x + width > max_x then x, align = max_x, 6 end + draw_timeline_timestamp(x, fcy, align, human, cache_opts) + end + + -- Elapsed time + if state.time_human then + draw_timeline_timestamp(bax + spacing, fcy, 4, state.time_human, time_opts) + end + + -- End time + if state.destination_time_human then + draw_timeline_timestamp(bbx - spacing, fcy, 6, state.destination_time_human, time_opts) + end + end + + -- Hovered time and chapter + local rendered_thumbnail = false + if (self.proximity_raw <= 0 or self.pressed or hovered_chapter) and not Elements:v('speed', 'dragging') then + local cursor_x = hovered_chapter and t2x(hovered_chapter.time) or cursor.x + local hovered_seconds = hovered_chapter and hovered_chapter.time or self:get_time_at_x(cursor.x) + + -- Cursor line + -- 0.5 to switch when the pixel is half filled in + local color = ((fax - 0.5) < cursor_x and cursor_x < (fbx + 0.5)) and bg or fg + local ax, ay, bx, by = cursor_x - 0.5, fay, cursor_x + 0.5, fby + ass:rect(ax, ay, bx, by, {color = color, opacity = 0.33}) + local tooltip_anchor = {ax = ax, ay = ay - self.top_border, bx = bx, by = by} + + -- Timestamp + local opts = { + size = self.font_size, offset = timestamp_gap, margin = tooltip_gap, timestamp = options.time_precision > 0, + } + local hovered_time_human = format_time(hovered_seconds, state.duration) + opts.width_overwrite = timestamp_width(hovered_time_human, opts) + tooltip_anchor = ass:tooltip(tooltip_anchor, hovered_time_human, opts) + + -- Thumbnail + if not thumbnail.disabled + and (not self.pressed or self.pressed.distance < 5) + and thumbnail.width ~= 0 + and thumbnail.height ~= 0 + then + local border = math.ceil(math.max(2, state.radius / 2) * state.scale) + local thumb_x_margin, thumb_y_margin = border + tooltip_gap + bax, border + tooltip_gap + local thumb_width, thumb_height = thumbnail.width, thumbnail.height + local thumb_x = round(clamp( + thumb_x_margin, + cursor_x - thumb_width / 2, + display.width - thumb_width - thumb_x_margin + )) + local thumb_y = round(tooltip_anchor.ay - thumb_y_margin - thumb_height) + local ax, ay = (thumb_x - border), (thumb_y - border) + local bx, by = (thumb_x + thumb_width + border), (thumb_y + thumb_height + border) + ass:rect(ax, ay, bx, by, { + color = bg, + border = 1, + opacity = {main = config.opacity.thumbnail, border = 0.08 * config.opacity.thumbnail}, + border_color = fg, + radius = state.radius, + }) + local thumb_seconds = (state.rebase_start_time == false and state.start_time) and + (hovered_seconds - state.start_time) or hovered_seconds + mp.commandv('script-message-to', 'thumbfast', 'thumb', thumb_seconds, thumb_x, thumb_y) + self.has_thumbnail, rendered_thumbnail = true, true + tooltip_anchor.ay = ay + end + + -- Chapter title + if config.opacity.chapters > 0 and #state.chapters > 0 then + local _, chapter = itable_find(state.chapters, function(c) return hovered_seconds >= c.time end, + #state.chapters, 1) + if chapter and not chapter.is_end_only then + ass:tooltip(tooltip_anchor, chapter.title_wrapped, { + size = self.font_size, + offset = tooltip_gap, + responsive = false, + bold = true, + width_overwrite = chapter.title_wrapped_width * self.font_size, + lines = chapter.title_lines, + margin = tooltip_gap, + }) + end + end + end + + -- Clear thumbnail + if not rendered_thumbnail then self:clear_thumbnail() end + + return ass +end + +return Timeline \ No newline at end of file diff --git a/scripts/uosc/elements/TopBar.lua b/scripts/uosc/elements/TopBar.lua new file mode 100644 index 0000000..f8ecc6f --- /dev/null +++ b/scripts/uosc/elements/TopBar.lua @@ -0,0 +1,431 @@ +local Element = require('elements/Element') + +---@alias TopBarButtonProps {icon: string; hover_fg?: string; hover_bg?: string; command: (fun():string)} + +---@class TopBar : Element +local TopBar = class(Element) + +function TopBar:new() return Class.new(self) --[[@as TopBar]] end +function TopBar:init() + Element.init(self, 'top_bar', {render_order = 4}) + self.size = 0 + self.alt_title_size = 0 + self.chapter_size = 0 + self.titles_spacing = 1 + self.icon_size, self.font_size, self.title_by = 1, 1, 1 + self.show_alt_as_main = false + self.main_title, self.alt_title = nil, nil + ---@type table + self.render_titles = {} + ---@type {index: number; title: string}|nil + self.current_chapter = nil + + local function maximized_command() + if state.platform == 'windows' then + mp.command(state.border + and (state.fullscreen and 'set fullscreen no;cycle window-maximized' or 'cycle window-maximized') + or 'set window-maximized no;cycle fullscreen') + else + mp.command(state.fullormaxed and 'set fullscreen no;set window-maximized no' or 'set window-maximized yes') + end + end + + local close = {icon = 'close', hover_bg = '2311e8', hover_fg = 'ffffff', command = function() mp.command('quit') end} + local max = {icon = 'crop_square', command = maximized_command} + local min = {icon = 'minimize', command = function() mp.command('cycle window-minimized') end} + self.buttons = options.top_bar_controls == 'left' and {close, max, min} or {min, max, close} + + self:register_observers() + self:decide_enabled() + self:update_dimensions() +end + +---@return string|nil +local function expand_template(template) + -- escape ASS, and strip newlines and trailing slashes and trim whitespace + local tmp = mp.command_native({'expand-text', template}):gsub('\\n', ' '):gsub('[\\%s]+$', ''):gsub('^%s+', '') + return tmp and tmp ~= '' and ass_escape(tmp) or nil +end + +function TopBar:add_template_listener(template, callback) + local props = get_expansion_props(template) + for prop, _ in pairs(props) do + self:observe_mp_property(prop, 'native', callback) + end + if not next(props) then callback() end +end + +function TopBar:register_observers() + -- Main title + if #options.top_bar_title > 0 and options.top_bar_title ~= 'no' then + if options.top_bar_title == 'yes' then + local template = nil + local function update_main_title() + self.main_title = expand_template(template) + self:update_render_titles() + end + local function remove_template_listener(callback) mp.unobserve_property(callback) end + + self:observe_mp_property('title', 'string', function(_, title) + remove_template_listener(update_main_title) + template = title + if template then + if template:sub(-6) == ' - mpv' then template = template:sub(1, -7) end + self:add_template_listener(template, update_main_title) + end + end) + elseif type(options.top_bar_title) == 'string' then + self:add_template_listener(options.top_bar_title, function() + self.main_title = expand_template(options.top_bar_title) + self:update_render_titles() + end) + end + end + + -- Alt title + if #options.top_bar_alt_title > 0 and options.top_bar_alt_title ~= 'no' then + self:add_template_listener(options.top_bar_alt_title, function() + self.alt_title = expand_template(options.top_bar_alt_title) + self:update_render_titles() + end) + end +end + +function TopBar:decide_enabled() + if options.top_bar == 'no-border' then + self.enabled = not state.border or state.title_bar == false or state.fullscreen + else + self.enabled = options.top_bar == 'always' + end + self.enabled = self.enabled and (options.top_bar_controls or options.top_bar_title ~= 'no' or state.has_playlist) +end + +-- Set titles. Both have to be passed at the same time so that they can be normalized & deduplicated. +function TopBar:update_render_titles() + local main, alt = self.main_title, self.alt_title + + if main == 'No file' then + main = t('No file') + end + + -- Fall back to alt title if main is empty + if not main or main == '' then + main, alt = alt, nil + end + + -- Deduplicate the main and alt titles by checking if one completely + -- contains the other, and using only the longer one. + if main and alt and not self.show_alt_as_main then + local longer_title, shorter_title + if #main < #alt then + longer_title, shorter_title = alt, main + else + longer_title, shorter_title = main, alt + end + + local escaped_shorter_title = regexp_escape(shorter_title --[[@as string]]) + if string.match(longer_title --[[@as string]], escaped_shorter_title) then + main, alt = longer_title, nil + end + end + + if self.show_alt_as_main and alt and alt ~= '' then + main, alt = alt, nil + end + + self.render_titles.main, self.render_titles.alt = main, alt + self:update_dimensions() + request_render() +end + +function TopBar:select_current_chapter() + local current_chapter_index = self.current_chapter and self.current_chapter.index + local current_chapter + if state.time and state.chapters then + _, current_chapter = itable_find(state.chapters, function(c) return state.time >= c.time end, #state.chapters, 1) + end + local new_chapter_index = current_chapter and current_chapter.index + if current_chapter_index ~= new_chapter_index then + self.current_chapter = current_chapter + if itable_has(config.top_bar_flash_on, 'chapter') then + self:flash() + end + self:update_dimensions() + end +end + +function TopBar:update_dimensions() + self.size = round(options.top_bar_size * state.scale) + self.title_spacing = round(1 * state.scale) + self.icon_size = round(self.size * 0.5) + self.font_size = math.floor((self.size - (math.ceil(self.size * 0.25) * 2)) * options.font_scale) + self.alt_title_size = round(self.font_size * 1.2) + self.chapter_size = round(self.font_size * 1.1) + local window_border_size = Elements:v('window_border', 'size', 0) + local min_hitbox_height = self.size + if self.render_titles.alt and options.top_bar_alt_title_place == 'below' then + min_hitbox_height = min_hitbox_height + self.title_spacing + self.alt_title_size + end + if self.current_chapter then + min_hitbox_height = min_hitbox_height + self.title_spacing + self.chapter_size + end + self.ax = window_border_size + self.ay = window_border_size + self.bx = display.width - window_border_size + -- We extend the hitbox so that people with low proximity options can still click on chapter button + self.by = math.max(self.size + window_border_size, min_hitbox_height - options.proximity_in) +end + +function TopBar:toggle_title() + if options.top_bar_alt_title_place ~= 'toggle' then return end + self.show_alt_as_main = not self.show_alt_as_main + self:update_render_titles() +end + +function TopBar:on_prop_time() + self:select_current_chapter() +end + +function TopBar:on_prop_chapters() + self:select_current_chapter() +end + +function TopBar:on_prop_border() + self:decide_enabled() + self:update_dimensions() +end + +function TopBar:on_prop_title_bar() + self:decide_enabled() + self:update_dimensions() +end + +function TopBar:on_prop_fullscreen() + self:decide_enabled() + self:update_dimensions() +end + +function TopBar:on_prop_maximized() + self:decide_enabled() + self:update_dimensions() +end + +function TopBar:on_prop_has_playlist() + self:decide_enabled() + self:update_dimensions() +end + +function TopBar:on_display() self:update_dimensions() end + +function TopBar:on_options() + self:decide_enabled() + self:update_dimensions() +end + +function TopBar:render() + local visibility = self:get_visibility() + if visibility <= 0 then return end + local ass = assdraw.ass_new() + -- `by` might be artificially extended so people with low proximity options + -- can still click on chapter button, so we can't use it for rendering. + local ax, ay, bx, by = self.ax, self.ay, self.bx, self.ay + self.size + local margin = math.floor((self.size - self.font_size) / 4) + + -- Window controls + if options.top_bar_controls then + local is_left, button_ax = options.top_bar_controls == 'left', 0 + if is_left then + button_ax = ax + ax = self.size * #self.buttons + else + button_ax = bx - self.size * #self.buttons + bx = button_ax + end + + for _, button in ipairs(self.buttons) do + local rect = {ax = button_ax, ay = ay, bx = button_ax + self.size, by = by} + local is_hover = get_point_to_rectangle_proximity(cursor, rect) <= 0 + local opacity = is_hover and 1 or config.opacity.controls + local button_fg = is_hover and (button.hover_fg or bg) or fg + local button_bg = is_hover and (button.hover_bg or fg) or bg + + cursor:zone('primary_down', rect, button.command) + + local bg_size = self.size - margin + local bg_ax, bg_ay = rect.ax + (is_left and margin or 0), rect.ay + margin + local bg_bx, bg_by = bg_ax + bg_size, bg_ay + bg_size + + ass:rect(bg_ax, bg_ay, bg_bx, bg_by, { + color = button_bg, opacity = visibility * opacity, radius = state.radius, + }) + + ass:icon(bg_ax + bg_size / 2, bg_ay + bg_size / 2, bg_size * 0.5, button.icon, { + color = button_fg, + border_color = button_bg, + opacity = visibility, + border = options.text_border * state.scale, + }) + + button_ax = button_ax + self.size + end + end + + -- Window title + local main_title, alt_title = self.render_titles.main, self.render_titles.alt + if main_title or state.has_playlist then + local padding = round(self.font_size / 2) + local left_aligned = options.top_bar_controls == 'left' + local title_ax, title_bx, title_ay = ax + margin, bx - margin, self.ay + margin + + -- Playlist position + if state.has_playlist then + local text = state.playlist_pos .. '' .. state.playlist_count + local formatted_text = '{\\b1}' .. state.playlist_pos .. '{\\b0\\fs' .. self.font_size * 0.9 .. '}/' + .. state.playlist_count + local opts = {size = self.font_size, wrap = 2, color = fgt, opacity = visibility} + local rect_width = round(text_width(text, opts) + padding * 2) + local ax = left_aligned and title_bx - rect_width or title_ax + local rect = { + ax = ax, + ay = title_ay, + bx = ax + rect_width, + by = by - margin, + } + local opacity = get_point_to_rectangle_proximity(cursor, rect) <= 0 + and 1 or config.opacity.playlist_position + if opacity > 0 then + ass:rect(rect.ax, rect.ay, rect.bx, rect.by, { + color = fg, opacity = visibility * opacity, radius = state.radius, + }) + end + ass:txt(rect.ax + (rect.bx - rect.ax) / 2, rect.ay + (rect.by - rect.ay) / 2, 5, formatted_text, opts) + if left_aligned then title_bx = rect.ax - margin else title_ax = rect.bx + margin end + + -- Click action + cursor:zone('primary_down', rect, function() mp.command('script-binding uosc/playlist') end) + end + + -- Skip rendering titles if there's not enough horizontal space + if title_bx - title_ax > self.font_size * 3 and options.top_bar_title ~= 'no' then + -- Main title + if main_title then + local opts = { + size = self.font_size, + wrap = 2, + color = bgt, + opacity = visibility, + border = options.text_border * state.scale, + border_color = bg, + clip = string.format('\\clip(%d, %d, %d, %d)', self.ax, ay, title_bx, by), + } + local rect_ideal_width = round(text_width(main_title, opts) + padding * 2) + local rect_width = math.min(rect_ideal_width, title_bx - title_ax) + local ax = left_aligned and title_bx - rect_width or title_ax + local by = by - margin + local title_rect = {ax = ax, ay = title_ay, bx = ax + rect_width, by = by} + + if options.top_bar_alt_title_place == 'toggle' then + cursor:zone('primary_down', title_rect, function() self:toggle_title() end) + end + + ass:rect(title_rect.ax, title_rect.ay, title_rect.bx, title_rect.by, { + color = bg, opacity = visibility * config.opacity.title, radius = state.radius, + }) + local align = left_aligned and rect_ideal_width == rect_width and 6 or 4 + local x = align == 6 and title_rect.bx - padding or ax + padding + ass:txt(x, ay + (self.size / 2), align, main_title, opts) + title_ay = by + self.title_spacing + end + + -- Alt title + if alt_title and options.top_bar_alt_title_place == 'below' then + local by = title_ay + self.alt_title_size + local opts = { + size = round(self.alt_title_size * 0.77), + wrap = 2, + color = bgt, + border = options.text_border * state.scale, + border_color = bg, + opacity = visibility, + } + local rect_ideal_width = round(text_width(alt_title, opts) + padding * 2) + local rect_width = math.min(rect_ideal_width, title_bx - title_ax) + local ax = left_aligned and title_bx - rect_width or title_ax + local bx = ax + rect_width + opts.clip = string.format('\\clip(%d, %d, %d, %d)', title_ax, title_ay, bx, by) + ass:rect(ax, title_ay, bx, by, { + color = bg, opacity = visibility * config.opacity.title, radius = state.radius, + }) + local align = left_aligned and rect_ideal_width == rect_width and 6 or 4 + local x = align == 6 and bx - padding or ax + padding + ass:txt(x, title_ay + self.alt_title_size / 2, align, alt_title, opts) + title_ay = by + self.title_spacing + end + + -- Current chapter + if self.current_chapter then + local padding_half = round(padding / 2) + local prefix, postfix = left_aligned and '' or '└ ', left_aligned and ' ┘' or '' + local text = prefix .. self.current_chapter.index .. ': ' .. self.current_chapter.title .. postfix + local next_chapter = state.chapters[self.current_chapter.index + 1] + local chapter_end = next_chapter and next_chapter.time or state.duration or 0 + local remaining_time = ((state.time or 0) - chapter_end) / + (options.destination_time == 'time-remaining' and 1 or state.speed) + local remaining_human = format_time(remaining_time, math.abs(remaining_time)) + local opts = { + size = round(self.chapter_size * 0.77), + italic = true, + wrap = 2, + color = bgt, + border = options.text_border * state.scale, + border_color = bg, + opacity = visibility * 0.8, + } + local remaining_width = timestamp_width(remaining_human, opts) + local remaining_box_width = remaining_width + padding_half * 2 + + -- Title + local max_bx = title_bx - remaining_box_width - self.title_spacing + local rect_ideal_width = round(text_width(text, opts) + padding * 2) + local rect_width = math.min(rect_ideal_width, max_bx - title_ax) + local ax = left_aligned and title_bx - rect_width or title_ax + local rect = { + ax = ax, + ay = title_ay, + bx = ax + rect_width, + by = title_ay + self.chapter_size, + } + opts.clip = string.format('\\clip(%d, %d, %d, %d)', title_ax, title_ay, rect.bx, rect.by) + ass:rect(rect.ax, rect.ay, rect.bx, rect.by, { + color = bg, opacity = visibility * config.opacity.title, radius = state.radius, + }) + local align = left_aligned and rect_ideal_width == rect_width and 6 or 4 + local x = align == 6 and rect.bx - padding or rect.ax + padding + ass:txt(x, rect.ay + self.chapter_size / 2, align, text, opts) + + -- Time + local time_ax = left_aligned + and rect.ax - self.title_spacing - remaining_box_width or rect.bx + self.title_spacing + local time_bx = time_ax + remaining_box_width + opts.clip = nil + ass:rect(time_ax, rect.ay, time_bx, rect.by, { + color = bg, opacity = visibility * config.opacity.title, radius = state.radius, + }) + ass:txt(time_ax + padding_half, rect.ay + self.chapter_size / 2, 4, remaining_human, opts) + + -- Click action + rect.bx = time_bx + cursor:zone('primary_down', rect, function() mp.command('script-binding uosc/chapters') end) + + title_ay = rect.by + self.title_spacing + end + end + self.title_by = title_ay - 1 + else + self.title_by = ay + end + + return ass +end + +return TopBar \ No newline at end of file diff --git a/scripts/uosc/elements/Updater.lua b/scripts/uosc/elements/Updater.lua new file mode 100644 index 0000000..4a98036 --- /dev/null +++ b/scripts/uosc/elements/Updater.lua @@ -0,0 +1,319 @@ +local Element = require('elements/Element') +local dots = {'.', '..', '...'} + +local function cleanup_output(output) + return tostring(output):gsub('%c*\n%c*', '\n'):match('^[%s%c]*(.-)[%s%c]*$') +end + +---@class Updater : Element +local Updater = class(Element) + +function Updater:new() return Class.new(self) --[[@as Updater]] end +function Updater:init() + Element.init(self, 'updater', {render_order = 1000}) + self.output = nil + self.title = '' + self.state = 'circle' -- Also used as an icon name. 'pending' maps to 'spinner'. + self.update_available = false + + -- Buttons + self.check_button = {method = 'check', title = t('Check for updates')} + self.update_button = {method = 'update', title = t('Update uosc'), color = config.color.success} + self.changelog_button = {method = 'open_changelog', title = t('Open changelog')} + self.close_button = {method = 'destroy', title = t('Close') .. ' (Esc)', color = config.color.error} + self.quit_button = {method = 'quit', title = t('Quit')} + self.buttons = {self.check_button, self.close_button} + self.selected_button_index = 1 + + -- Key bindings + self:add_key_binding('right', 'select_next_button') + self:add_key_binding('tab', 'select_next_button') + self:add_key_binding('left', 'select_prev_button') + self:add_key_binding('shift+tab', 'select_prev_button') + self:add_key_binding('enter', 'activate_selected_button') + self:add_key_binding('kp_enter', 'activate_selected_button') + self:add_key_binding('esc', 'destroy') + + Elements:maybe('curtain', 'register', self.id) + self:check() +end + +function Updater:destroy() + Elements:maybe('curtain', 'unregister', self.id) + Element.destroy(self) +end + +function Updater:quit() + mp.command('quit') +end + +function Updater:select_prev_button() + self.selected_button_index = self.selected_button_index - 1 + if self.selected_button_index < 1 then self.selected_button_index = #self.buttons end + request_render() +end + +function Updater:select_next_button() + self.selected_button_index = self.selected_button_index + 1 + if self.selected_button_index > #self.buttons then self.selected_button_index = 1 end + request_render() +end + +function Updater:activate_selected_button() + local button = self.buttons[self.selected_button_index] + if button then self[button.method](self) end +end + +---@param msg string +function Updater:append_output(msg) + self.output = (self.output or '') .. ass_escape('\n' .. cleanup_output(msg)) + request_render() +end + +---@param msg string +function Updater:display_error(msg) + self.state = 'error' + self.title = t('An error has occurred.') .. ' ' .. t('See console for details.') + self:append_output(msg) + print(msg) +end + +function Updater:open_changelog() + if self.state == 'pending' then return end + + local url = 'https://github.com/tomasklaen/uosc/releases' + + self:append_output('Opening URL: ' .. url) + + call_ziggy_async({'open', url}, function(error) + if error then + self:display_error(error) + return + end + end) +end + +function Updater:check() + if self.state == 'pending' then return end + self.state = 'pending' + self.title = t('Checking for updates') .. '...' + + local url = 'https://api.github.com/repos/tomasklaen/uosc/releases/latest' + local headers = utils.format_json({ + Accept = 'application/vnd.github+json', + }) + local args = {'http-get', '--headers', headers, url} + + self:append_output('Fetching: ' .. url) + + call_ziggy_async(args, function(error, response) + if error then + self:display_error(error) + return + end + + release = utils.parse_json(type(response.body) == 'string' and response.body or '') + if response.status == 200 and type(release) == 'table' and type(release.tag_name) == 'string' then + self.update_available = config.version ~= release.tag_name + self:append_output('Response: 200 OK') + self:append_output('Current version: ' .. config.version) + self:append_output('Latest version: ' .. release.tag_name) + if self.update_available then + self.state = 'upgrade' + self.title = t('Update available') + self.buttons = {self.update_button, self.changelog_button, self.close_button} + self.selected_button_index = 1 + else + self.state = 'done' + self.title = t('Up to date') + end + else + self:display_error('Response couldn\'t be parsed, is invalid, or not-OK status code.\nStatus: ' .. + response.status .. '\nBody: ' .. response.body) + end + + request_render() + end) +end + +function Updater:update() + if self.state == 'pending' then return end + self.state = 'pending' + self.title = t('Updating uosc') + self.output = nil + request_render() + + local config_dir = mp.command_native({'expand-path', '~~/'}) + + local function handle_result(success, result, error) + if success and result and result.status == 0 then + self.state = 'done' + self.title = t('uosc has been installed. Restart mpv for it to take effect.') + self.buttons = {self.quit_button, self.close_button} + self.selected_button_index = 1 + else + self.state = 'error' + self.title = t('An error has occurred.') .. ' ' .. t('See above for clues.') + end + + local output = (result.stdout or '') .. '\n' .. (error or result.stderr or '') + if state.platform == 'darwin' then + output = + 'Self-updater is known not to work on MacOS.\nIf you know about a solution, please make an issue and share it with us!.\n' .. + output + end + self:append_output(output) + end + + local function update(args) + local env = utils.get_env_list() + env[#env + 1] = 'MPV_CONFIG_DIR=' .. config_dir + + mp.command_native_async({ + name = 'subprocess', + capture_stderr = true, + capture_stdout = true, + playback_only = false, + args = args, + env = env, + }, handle_result) + end + + if state.platform == 'windows' then + local url = 'https://raw.githubusercontent.com/tomasklaen/uosc/HEAD/installers/windows.ps1' + update({'powershell', '-NoProfile', '-Command', 'irm ' .. url .. ' | iex'}) + else + -- Detect missing dependencies. We can't just let the process run and + -- report an error, as on snap packages there's no error. Everything + -- either exits with 0, or no helpful output/error message. + local missing = {} + + for _, name in ipairs({'curl', 'unzip'}) do + local result = mp.command_native({ + name = 'subprocess', + capture_stdout = true, + playback_only = false, + args = {'which', name}, + }) + local path = cleanup_output(result and result.stdout or '') + if path == '' then + missing[#missing + 1] = name + end + end + + if #missing > 0 then + local stderr = 'Missing dependencies: ' .. table.concat(missing, ', ') + if config_dir:match('/snap/') then + stderr = stderr .. + '\nThis is a known error for mpv snap packages.\nYou can still update uosc by entering the Linux install command from uosc\'s readme into your terminal, it just can\'t be done this way.\nIf you know about a solution, please make an issue and share it with us!' + end + handle_result(false, {stderr = stderr}) + else + local url = 'https://raw.githubusercontent.com/tomasklaen/uosc/HEAD/installers/unix.sh' + update({'/bin/bash', '-c', 'source <(curl -fsSL ' .. url .. ')'}) + end + end +end + +function Updater:render() + local ass = assdraw.ass_new() + + local text_size = math.min(20 * state.scale, display.height / 20) + local icon_size = text_size * 2 + local center_x = round(display.width / 2) + + local color = fg + if self.state == 'done' or self.update_available then + color = config.color.success + elseif self.state == 'error' then + color = config.color.error + end + + -- Divider + local divider_width = round(math.min(500 * state.scale, display.width * 0.8)) + local divider_half, divider_border_half, divider_y = divider_width / 2, round(1 * state.scale), display.height * 0.65 + local divider_ay, divider_by = round(divider_y - divider_border_half), round(divider_y + divider_border_half) + ass:rect(center_x - divider_half, divider_ay, center_x - icon_size, divider_by, { + color = color, border = options.text_border * state.scale, border_color = bg, opacity = 0.5, + }) + ass:rect(center_x + icon_size, divider_ay, center_x + divider_half, divider_by, { + color = color, border = options.text_border * state.scale, border_color = bg, opacity = 0.5, + }) + if self.state == 'pending' then + ass:spinner(center_x, divider_y, icon_size, { + color = fg, border = options.text_border * state.scale, border_color = bg, + }) + else + ass:icon(center_x, divider_y, icon_size * 0.8, self.state, { + color = color, border = options.text_border * state.scale, border_color = bg, + }) + end + + -- Output + local output = self.output or dots[math.ceil((mp.get_time() % 1) * #dots)] + ass:txt(center_x, divider_y - icon_size, 2, output, { + size = text_size, color = fg, border = options.text_border * state.scale, border_color = bg, + }) + + -- Title + ass:txt(center_x, divider_y + icon_size, 5, self.title, { + size = text_size, bold = true, color = color, border = options.text_border * state.scale, border_color = bg, + }) + + -- Buttons + local outline = round(1 * state.scale) + local spacing = outline * 9 + local padding = round(text_size * 0.5) + + local text_opts = {size = text_size, bold = true} + + -- Calculate button text widths + local total_width = (#self.buttons - 1) * spacing + for _, button in ipairs(self.buttons) do + button.width = text_width(button.title, text_opts) + padding * 2 + total_width = total_width + button.width + end + + -- Render buttons + local ay = round(divider_y + icon_size * 1.8) + local ax = round(display.width / 2 - total_width / 2) + local height = text_size + padding * 2 + for index, button in ipairs(self.buttons) do + local rect = { + ax = ax, + ay = ay, + bx = ax + button.width, + by = ay + height, + } + ax = rect.bx + spacing + local is_hovered = get_point_to_rectangle_proximity(cursor, rect) <= 0 + + -- Background + ass:rect(rect.ax, rect.ay, rect.bx, rect.by, { + color = button.color or fg, + radius = state.radius, + opacity = is_hovered and 1 or 0.8, + }) + -- Selected outline + if index == self.selected_button_index then + ass:rect(rect.ax - outline * 4, rect.ay - outline * 4, rect.bx + outline * 4, rect.by + outline * 4, { + border = outline, + border_color = button.color or fg, + radius = state.radius + outline * 4, + opacity = {primary = 0, border = 0.5}, + }) + end + -- Text + local x, y = rect.ax + (rect.bx - rect.ax) / 2, rect.ay + (rect.by - rect.ay) / 2 + ass:txt(x, y, 5, button.title, {size = text_size, bold = true, color = fgt}) + + cursor:zone('primary_down', rect, self:create_action(button.method)) + + -- Select hovered button + if is_hovered then self.selected_button_index = index end + end + + return ass +end + +return Updater \ No newline at end of file diff --git a/scripts/uosc/elements/Volume.lua b/scripts/uosc/elements/Volume.lua new file mode 100644 index 0000000..4528083 --- /dev/null +++ b/scripts/uosc/elements/Volume.lua @@ -0,0 +1,284 @@ +local Element = require('elements/Element') + +--[[ VolumeSlider ]] + +---@class VolumeSlider : Element +local VolumeSlider = class(Element) +---@param props? ElementProps +function VolumeSlider:new(props) return Class.new(self, props) --[[@as VolumeSlider]] end +function VolumeSlider:init(props) + Element.init(self, 'volume_slider', props) + self.pressed = false + self.nudge_y = 0 -- vertical position where volume overflows 100 + self.nudge_size = 0 + self.draw_nudge = false + self.spacing = 0 + self.border_size = 0 + self:update_dimensions() +end + +function VolumeSlider:update_dimensions() + self.border_size = math.max(0, round(options.volume_border * state.scale)) +end + +function VolumeSlider:get_visibility() return Elements.volume:get_visibility(self) end + +function VolumeSlider:set_volume(volume) + volume = round(volume / options.volume_step) * options.volume_step + if state.volume == volume then return end + mp.commandv('set', 'volume', clamp(0, volume, state.volume_max)) +end + +function VolumeSlider:set_from_cursor() + local volume_fraction = (self.by - cursor.y - self.border_size) / (self.by - self.ay - self.border_size) + self:set_volume(volume_fraction * state.volume_max) +end + +function VolumeSlider:on_display() self:update_dimensions() end +function VolumeSlider:on_options() self:update_dimensions() end +function VolumeSlider:on_coordinates() + if type(state.volume_max) ~= 'number' or state.volume_max <= 0 then return end + local width = self.bx - self.ax + self.nudge_y = self.by - round((self.by - self.ay) * (100 / state.volume_max)) + self.nudge_size = round(width * 0.18) + self.draw_nudge = self.ay < self.nudge_y + self.spacing = round(width * 0.2) +end +function VolumeSlider:on_global_mouse_move() + if self.pressed then self:set_from_cursor() end +end +function VolumeSlider:handle_wheel_up() self:set_volume(state.volume + options.volume_step) end +function VolumeSlider:handle_wheel_down() self:set_volume(state.volume - options.volume_step) end + +function VolumeSlider:render() + local visibility = self:get_visibility() + local ax, ay, bx, by = self.ax, self.ay, self.bx, self.by + local width, height = bx - ax, by - ay + + if width <= 0 or height <= 0 or visibility <= 0 then return end + + cursor:zone('primary_down', self, function() + self.pressed = true + self:set_from_cursor() + cursor:once('primary_up', function() self.pressed = false end) + end) + cursor:zone('wheel_down', self, function() self:handle_wheel_down() end) + cursor:zone('wheel_up', self, function() self:handle_wheel_up() end) + + local ass = assdraw.ass_new() + local nudge_y, nudge_size = self.draw_nudge and self.nudge_y or -math.huge, self.nudge_size + local volume_y = self.ay + self.border_size + + ((height - (self.border_size * 2)) * (1 - math.min(state.volume / state.volume_max, 1))) + + -- Draws a rectangle with nudge at requested position + ---@param p number Padding from slider edges. + ---@param r number Border radius. + ---@param cy? number A y coordinate where to clip the path from the bottom. + function create_nudged_path(p, r, cy) + cy = cy or ay + p + local ax, bx, by = ax + p, bx - p, by - p + local d, rh = r * 2, r / 2 + local nudge_size = ((QUARTER_PI_SIN * (nudge_size - p)) + p) / QUARTER_PI_SIN + local path = assdraw.ass_new() + path:move_to(bx - r, by) + path:line_to(ax + r, by) + if cy > by - d then + local subtracted_radius = (d - (cy - (by - d))) / 2 + local xbd = (r - subtracted_radius * 1.35) -- x bezier delta + path:bezier_curve(ax + xbd, by, ax + xbd, cy, ax + r, cy) + path:line_to(bx - r, cy) + path:bezier_curve(bx - xbd, cy, bx - xbd, by, bx - r, by) + else + path:bezier_curve(ax + rh, by, ax, by - rh, ax, by - r) + local nudge_bottom_y = nudge_y + nudge_size + + if cy + rh <= nudge_bottom_y then + path:line_to(ax, nudge_bottom_y) + if cy <= nudge_y then + path:line_to((ax + nudge_size), nudge_y) + local nudge_top_y = nudge_y - nudge_size + if cy <= nudge_top_y then + local r, rh = r, rh + if cy > nudge_top_y - r then + r = nudge_top_y - cy + rh = r / 2 + end + path:line_to(ax, nudge_top_y) + path:line_to(ax, cy + r) + path:bezier_curve(ax, cy + rh, ax + rh, cy, ax + r, cy) + path:line_to(bx - r, cy) + path:bezier_curve(bx - rh, cy, bx, cy + rh, bx, cy + r) + path:line_to(bx, nudge_top_y) + else + local triangle_side = cy - nudge_top_y + path:line_to((ax + triangle_side), cy) + path:line_to((bx - triangle_side), cy) + end + path:line_to((bx - nudge_size), nudge_y) + else + local triangle_side = nudge_bottom_y - cy + path:line_to((ax + triangle_side), cy) + path:line_to((bx - triangle_side), cy) + end + path:line_to(bx, nudge_bottom_y) + else + path:line_to(ax, cy + r) + path:bezier_curve(ax, cy + rh, ax + rh, cy, ax + r, cy) + path:line_to(bx - r, cy) + path:bezier_curve(bx - rh, cy, bx, cy + rh, bx, cy + r) + end + path:line_to(bx, by - r) + path:bezier_curve(bx, by - rh, bx - rh, by, bx - r, by) + end + return path + end + + -- BG & FG paths + local bg_path = create_nudged_path(0, state.radius + self.border_size) + local fg_path = create_nudged_path(self.border_size, state.radius, volume_y) + + -- Background + ass:new_event() + ass:append('{\\rDefault\\an7\\blur0\\bord0\\1c&H' .. bg .. + '\\iclip(' .. fg_path.scale .. ', ' .. fg_path.text .. ')}') + ass:opacity(config.opacity.slider, visibility) + ass:pos(0, 0) + ass:draw_start() + ass:append(bg_path.text) + ass:draw_stop() + + -- Foreground + ass:new_event() + ass:append('{\\rDefault\\an7\\blur0\\bord0\\1c&H' .. fg .. '}') + ass:opacity(config.opacity.slider_gauge, visibility) + ass:pos(0, 0) + ass:draw_start() + ass:append(fg_path.text) + ass:draw_stop() + + -- Current volume value + local volume_string = tostring(round(state.volume * 10) / 10) + local font_size = round(((width * 0.6) - (#volume_string * (width / 20))) * options.font_scale) + if volume_y < self.by - self.spacing then + ass:txt(self.ax + (width / 2), self.by - self.spacing, 2, volume_string, { + size = font_size, + color = fgt, + opacity = visibility, + clip = '\\clip(' .. fg_path.scale .. ', ' .. fg_path.text .. ')', + }) + end + if volume_y > self.by - self.spacing - font_size then + ass:txt(self.ax + (width / 2), self.by - self.spacing, 2, volume_string, { + size = font_size, + color = bgt, + opacity = visibility, + clip = '\\iclip(' .. fg_path.scale .. ', ' .. fg_path.text .. ')', + }) + end + + -- Disabled stripes for no audio + if not state.has_audio then + local fg_100_path = create_nudged_path(self.border_size, state.radius) + local texture_opts = { + size = 200, + color = 'ffffff', + opacity = visibility * 0.1, + anchor_x = ax, + clip = '\\clip(' .. fg_100_path.scale .. ',' .. fg_100_path.text .. ')', + } + ass:texture(ax, ay, bx, by, 'a', texture_opts) + texture_opts.color = '000000' + texture_opts.anchor_x = ax + texture_opts.size / 28 + ass:texture(ax, ay, bx, by, 'a', texture_opts) + end + + return ass +end + +--[[ Volume ]] + +---@class Volume : Element +local Volume = class(Element) + +function Volume:new() return Class.new(self) --[[@as Volume]] end +function Volume:init() + Element.init(self, 'volume', {render_order = 7}) + self.size = 0 + self.mute_ay = 0 + self.slider = VolumeSlider:new({anchor_id = 'volume', render_order = self.render_order}) + self:update_dimensions() +end + +function Volume:destroy() + self.slider:destroy() + Element.destroy(self) +end + +function Volume:get_visibility() + if not state.is_idle and not state.has_audio then return 0 end + return self.slider.pressed and 1 or Elements:maybe('timeline', 'get_is_hovered') and -1 + or Element.get_visibility(self) +end + +function Volume:update_dimensions() + self.size = round(options.volume_size * state.scale) + local min_y = Elements:v('top_bar', 'by') or Elements:v('window_border', 'size', 0) + local max_y = Elements:v('controls', 'ay') or Elements:v('timeline', 'ay') + or display.height - Elements:v('window_border', 'size', 0) + local available_height = max_y - min_y + local max_height = available_height * 0.8 + local height = round(math.min(self.size * 8, max_height)) + self.enabled = height > self.size * 2 -- don't render if too small + local margin = (self.size / 2) + Elements:v('window_border', 'size', 0) + self.ax = round(options.volume == 'left' and margin or display.width - margin - self.size) + self.ay = min_y + round((available_height - height) / 2) + self.bx = round(self.ax + self.size) + self.by = round(self.ay + height) + self.mute_ay = self.by - self.size + self.slider.enabled = self.enabled + self.slider:set_coordinates(self.ax, self.ay, self.bx, self.mute_ay) +end + +function Volume:on_display() self:update_dimensions() end +function Volume:on_prop_border() self:update_dimensions() end +function Volume:on_prop_title_bar() self:update_dimensions() end +function Volume:on_prop_volume_max() self:update_dimensions() end +function Volume:on_controls_reflow() self:update_dimensions() end +function Volume:on_options() self:update_dimensions() end + +function Volume:render() + local visibility = self:get_visibility() + if visibility <= 0 then return end + + -- Reset volume on secondary click + cursor:zone('secondary_click', self, function() + mp.set_property_native('mute', false) + mp.set_property_native('volume', 100) + end) + + -- Mute button + local mute_rect = {ax = self.ax, ay = self.mute_ay, bx = self.bx, by = self.by} + cursor:zone('primary_down', mute_rect, function() mp.commandv('cycle', 'mute') end) + local ass = assdraw.ass_new() + local width_half = (mute_rect.bx - mute_rect.ax) / 2 + local height_half = (mute_rect.by - mute_rect.ay) / 2 + local icon_size = math.min(width_half, height_half) * 1.5 + local icon_name, horizontal_shift = 'volume_up', 0 + if state.mute then + icon_name = 'volume_off' + elseif state.volume <= 0 then + icon_name, horizontal_shift = 'volume_mute', height_half * 0.25 + elseif state.volume <= 60 then + icon_name, horizontal_shift = 'volume_down', height_half * 0.125 + end + local underlay_opacity = {main = visibility * 0.3, border = visibility} + ass:icon(mute_rect.ax + width_half, mute_rect.ay + height_half, icon_size, 'volume_up', + {border = options.text_border * state.scale, opacity = underlay_opacity, align = 5} + ) + ass:icon(mute_rect.ax + width_half - horizontal_shift, mute_rect.ay + height_half, icon_size, icon_name, + {opacity = visibility, align = 5} + ) + return ass +end + +return Volume \ No newline at end of file diff --git a/scripts/uosc/elements/WindowBorder.lua b/scripts/uosc/elements/WindowBorder.lua new file mode 100644 index 0000000..ddcefe8 --- /dev/null +++ b/scripts/uosc/elements/WindowBorder.lua @@ -0,0 +1,35 @@ +local Element = require('elements/Element') + +---@class WindowBorder : Element +local WindowBorder = class(Element) + +function WindowBorder:new() return Class.new(self) --[[@as WindowBorder]] end +function WindowBorder:init() + Element.init(self, 'window_border', {render_order = 9999}) + self.size = 0 + self:decide_enabled() +end + +function WindowBorder:decide_enabled() + self.enabled = options.window_border_size > 0 and not state.fullormaxed and not state.border + self.size = self.enabled and round(options.window_border_size * state.scale) or 0 +end + +function WindowBorder:on_prop_border() self:decide_enabled() end +function WindowBorder:on_prop_title_bar() self:decide_enabled() end +function WindowBorder:on_prop_fullormaxed() self:decide_enabled() end +function WindowBorder:on_options() self:decide_enabled() end + +function WindowBorder:render() + if self.size > 0 then + local ass = assdraw.ass_new() + local clip = '\\iclip(' .. self.size .. ',' .. self.size .. ',' .. + (display.width - self.size) .. ',' .. (display.height - self.size) .. ')' + ass:rect(0, 0, display.width + 1, display.height + 1, { + color = config.color.window_border, clip = clip, opacity = config.opacity.border, + }) + return ass + end +end + +return WindowBorder \ No newline at end of file diff --git a/scripts/uosc/intl/de.json b/scripts/uosc/intl/de.json new file mode 100644 index 0000000..0f98a6f --- /dev/null +++ b/scripts/uosc/intl/de.json @@ -0,0 +1,83 @@ +{ + "%s are empty": "%s sind leer", + "%s channel": "%s Kanal", + "%s channels": "%s Kanäle", + "%s to search": "%s um zu suchen", + "An error has occurred.": "Ein Fehler ist aufgetreten.", + "Aspect ratio": "Seitenverhältnis", + "Audio": "Audio", + "Audio device": "Audiogerät", + "Audio devices": "Audiogeräte", + "Audio tracks": "Audiospuren", + "Chapter %s": "Kapitel %s", + "Chapters": "Kapitel", + "Default": "Standard", + "Default %s": "Standard %s", + "Delete file & Next": "Lösche Datei & Nächstes", + "Delete file & Prev": "Lösche Datei & Vorheriges", + "Delete file & Quit": "Lösche Datei & Beenden", + "Disabled": "Deaktiviert", + "Download": "Herunterladen", + "Drives": "Laufwerke", + "Drop files or URLs to play here": "Dateien oder URLs zum Abspielen hier ablegen", + "Edition %s": "Edition %s", + "Editions": "Editionen", + "Empty": "Leer", + "First": "Erstes", + "Fullscreen": "Vollbild", + "Key bindings": "Tastenkürzel", + "Last": "Letztes", + "Load": "Hinzufügen", + "Load audio": "Audio hinzufügen", + "Load subtitles": "Untertitel hinzufügen", + "Load video": "Video hinzufügen", + "Loop file": "Datei wiederholen", + "Loop playlist": "Wiedergabeliste wiederholen", + "Menu": "Menü", + "Navigation": "Navigation", + "Next": "Nächstes", + "Next page": "Nächste Seite", + "No file": "Keine Datei", + "Open config folder": "Konfigurationsordner öffnen", + "Open file": "Datei öffnen", + "Play/Pause": "Abspielen/Pause", + "Playlist": "Wiedergabeliste", + "Playlist/Files": "Wiedergabeliste/Dateien", + "Prev": "Vorheriges", + "Previous": "Vorheriges", + "Previous page": "Vorherige Seite", + "Quit": "Beenden", + "Remaining downloads today: %s": "Verbleibende Downloads heute: %s", + "Resets in: %s": "Zurückgesetzt in: %s", + "Screenshot": "Bildschirmfoto", + "See above for clues.": "Siehe oben für Hinweise.", + "Show in directory": "Im Verzeichnis anzeigen", + "Shuffle": "Zufällig", + "Stream quality": "Streamqualität", + "Subtitles": "Untertitel", + "Subtitles loaded & enabled": "Untertitel geladen & aktiviert", + "Track %s": "Spur %s", + "Update uosc": "Aktualisiere uosc", + "Updating uosc": "uosc wird aktualisiert", + "Utils": "Werkzeuge", + "Video": "Video", + "default": "Standard", + "drive": "Laufwerk", + "enter query": "Anfrage eingeben", + "error": "Fehler", + "external": "extern", + "forced": "erzwungen", + "foreign parts only": "nur fremdsprachige Teile", + "hearing impaired": "Gehörgeschädigte", + "invalid response json (see console for details)": "Ungültige JSON-Antwort (siehe Konsole für Details)", + "no results": "Keine Ergebnisse", + "open file": "Datei öffnen", + "parent dir": "übergeordnetes Verzeichnis", + "playlist or file": "Wiedergabeliste oder Datei", + "process exited with code %s (see console for details)": "Prozess endete mit dem Status %s (siehe Konsole für Details)", + "search online": "Suche im Internet", + "type & ctrl+enter to search": "Tippe & Strg+Eingabe um zu suchen", + "type to search": "Tippe um zu suchen", + "unknown error": "Unbekannter Fehler", + "uosc has been installed. Restart mpv for it to take effect.": "uosc wurde installiert. mpv muss neu gestarted werden um es wirksam zu machen." +} \ No newline at end of file diff --git a/scripts/uosc/intl/es.json b/scripts/uosc/intl/es.json new file mode 100644 index 0000000..303dab9 --- /dev/null +++ b/scripts/uosc/intl/es.json @@ -0,0 +1,99 @@ +{ + "%s are empty": "%s están vacíos", + "%s channel": "%s canal", + "%s channels": "%s canales", + "%s to delete": "%s para eliminar", + "%s to go up in tree.": "%s para subir en el árbol", + "%s to reorder.": "%s para reordenar", + "%s to search": "%s para buscar", + "Add to playlist": "Añadir a lista de reproducción", + "Added to playlist": "Añadido a lista de reproducción", + "An error has occurred.": "Un error ha ocurrido.", + "Aspect ratio": "Relación de aspecto", + "Audio": "Audio", + "Audio device": "Dispositivo de audio", + "Audio devices": "Dispositivos de audio", + "Audio tracks": "Pistas de audio", + "Chapter %s": "Capítulo %s", + "Chapters": "Capítulos", + "Copied to clipboard": "Copiado al portapapeles", + "Default": "Por defecto", + "Default %s": "Por defecto %s", + "Delete": "Eliminar", + "Delete file & Next": "Eliminar archivo y siguiente", + "Delete file & Prev": "Eliminar archivo y anterior", + "Delete file & Quit": "Eliminar archivo y salir", + "Drives": "Unidades", + "Drop files or URLs to play here": "Soltar archivos o URLs aquí para reproducirlas", + "Edition %s": "Edición %s", + "Editions": "Ediciones", + "Empty": "Vacío", + "First": "Primero", + "Fullscreen": "Pantalla completa", + "Key bindings": "Atajos de teclas", + "Last": "Último", + "Load": "Abrir", + "Load audio": "Añadir una pista de audio", + "Load subtitles": "Añadir una pista de subtítulos", + "Load video": "Añadir una pista de vídeo", + "Loaded audio": "Audio cargado", + "Loaded subtitles": "Subtítulos cargados", + "Loaded video": "Vídeos cargados", + "Loop file": "Repetir archivo", + "Loop playlist": "Repetir lista de reproducción", + "Menu": "Menú", + "Move down": "Moverse abajo", + "Move up": "Moverse arriba", + "Navigation": "Navegación", + "Next": "Siguiente", + "Next page": "Página siguiente", + "No file": "Ningún archivo", + "Open config folder": "Abrir carpeta de configuración", + "Open file": "Abrir archivo", + "Open in browser": "Abrir en navegador", + "Open in mpv": "Abrir en mpv", + "Paste path or url to add.": "Pegar ruta o url a añadir.", + "Paste path or url to open.": "Pegar ruta o url a abrir.", + "Play/Pause": "Reproducir/Pausa", + "Playlist": "Lista de reproducción", + "Playlist/Files": "Lista de reproducción/Archivos", + "Prev": "Anterior", + "Previous": "Anterior", + "Previous page": "Página anterior", + "Quit": "Salir", + "Reload": "Recargar", + "Remaining downloads today: %s": "Descargas restantes por hoy: %s", + "Remove": "Eliminar", + "Resets in: %s": "Restablecer en: %s", + "Screenshot": "Captura de pantalla", + "Search online": "Buscar en línea", + "See above for clues.": "Vea arriba para más pistas", + "See console for details.": "Vea la consola para más detalles", + "Show in directory": "Mostrar en la carpeta", + "Shuffle": "Reproducción aleatoria", + "Something went wrong.": "Algo malió sal", + "Stream quality": "Calidad de la transmisión", + "Subtitles": "Subtítulos", + "Subtitles loaded & enabled": "Subtítulos cargados y habilitados", + "Toggle to disable.": "Alternar para deshabilitar", + "Track %s": "Pista %s", + "Update uosc": "Actualizar uosc", + "Updating uosc": "Actualizando uosc", + "Use as secondary": "Utilizar como secundario", + "Utils": "Utilidades", + "Video": "Vídeo", + "default": "por defecto", + "drive": "unidad", + "enter query": "ingresar consulta", + "external": "externo", + "forced": "forzado", + "foreign parts only": "solo partes extranjeras", + "hearing impaired": "discapacidad auditiva", + "no results": "sin resultados", + "open file": "abrir archivo", + "parent dir": "directorio padre", + "playlist or file": "archivo o lista de reproducción", + "type & ctrl+enter to search": "escriba y presione ctrl+enter para buscar", + "type to search": "escriba para buscar", + "uosc has been installed. Restart mpv for it to take effect.": "uosc ha sido instalado, Reinicie mpv para que tome efecto." +} \ No newline at end of file diff --git a/scripts/uosc/intl/fr.json b/scripts/uosc/intl/fr.json new file mode 100644 index 0000000..093541c --- /dev/null +++ b/scripts/uosc/intl/fr.json @@ -0,0 +1,59 @@ +{ + "Aspect ratio": "Format d'image", + "Audio": "Audio", + "Audio device": "Périphérique audio", + "Audio devices": "Périphériques audio", + "Audio tracks": "Pistes audio", + "Autoselect device": "Sélection automatique", + "Chapter %s": "Chapitre %s", + "Chapters": "Chapitres", + "Default": "Par défaut", + "Default %s": "Par défaut %s", + "Delete file & Next": "Supprimer le fichier et Suivant", + "Delete file & Prev": "Supprimer le fichier et Précédent", + "Delete file & Quit": "Supprimer le fichier et Quitter", + "Disabled": "Désactivé", + "Drives": "Lecteurs", + "Edition": "Édition", + "Edition %s": "Édition %s", + "Editions": "Éditions", + "Empty": "Vide", + "First": "Premier", + "Fullscreen": "Plein écran", + "Last": "Dernier", + "Load": "Ouvrir", + "Load audio": "Ajouter une piste audio", + "Load subtitles": "Ajouter une piste de sous-titres", + "Load video": "Ajouter une piste vidéo", + "Loop file": "Lire en boucle le fichier", + "Loop playlist": "Lire en boucle la liste de lecture", + "Menu": "Menu", + "Navigation": "Navigation", + "Next": "Suivant", + "No file": "Aucun fichier", + "Open config folder": "Ouvrir le dossier de configuration", + "Open file": "Ouvrir un fichier", + "Playlist": "Liste de lecture", + "Playlist/Files": "Liste de lecture / Fichiers", + "Prev": "Précédent", + "Previous": "Précédent", + "Quit": "Quitter", + "Screenshot": "Capture d'écran", + "Show in directory": "Accéder au dossier", + "Shuffle": "Lecture aléatoire", + "Stream quality": "Qualité du flux", + "Subtitles": "Sous-titres", + "Track": "Piste", + "Track %s": "Piste %s", + "Utils": "Outils", + "Video": "Vidéo", + "%s channel": "%s canal", + "%s channels": "%s canaux", + "default": "par défaut", + "drive": "lecteur", + "external": "externe", + "forced": "forcé", + "open file": "sélectionner un fichier", + "parent dir": "répertoire parent", + "playlist or file": "fichier ou liste de lecture" +} \ No newline at end of file diff --git a/scripts/uosc/intl/it.json b/scripts/uosc/intl/it.json new file mode 100644 index 0000000..f540f16 --- /dev/null +++ b/scripts/uosc/intl/it.json @@ -0,0 +1,59 @@ +{ + "Aspect ratio": "Proporizioni", + "Audio": "Audio", + "Audio device": "Dispositivo audio", + "Audio devices": "Dispositivi audio", + "Audio tracks": "Tracce audio", + "Autoselect device": "Selezione automatica dispositivo", + "Chapter %s": "Capitolo %s", + "Chapters": "Capitoli", + "Default": "Predefinito", + "Default %s": "Predefinito %s", + "Delete file & Next": "Elimina file e Successivo", + "Delete file & Prev": "Elimina file e Precedente", + "Delete file & Quit": "Elimina file e Esci", + "Disabled": "Disabilitato", + "Drives": "Unità", + "Edition": "Edizione", + "Edition %s": "Edizione %s", + "Editions": "Edizioni", + "Empty": "Vuoto", + "First": "Primo", + "Fullscreen": "Schermo intero", + "Last": "Ultimo", + "Load": "Carica", + "Load audio": "Carica traccia audio", + "Load subtitles": "Carica sottotitoli", + "Load video": "Carica traccia video", + "Loop file": "Ripeti file", + "Loop playlist": "Ripeti playlist", + "Menu": "Menu", + "Navigation": "Navigazione", + "Next": "Successivo", + "No file": "Nessun file", + "Open config folder": "Apri cartella configurazione", + "Open file": "Apri file", + "Playlist": "Playlist", + "Playlist/Files": "Playlist/File", + "Prev": "Precedente", + "Previous": "Precedente", + "Quit": "Esci", + "Screenshot": "Schermata", + "Show in directory": "Mostra nella cartella", + "Shuffle": "Riproduzione casuale", + "Stream quality": "Qualità streaming", + "Subtitles": "Sottotitoli", + "Track": "Traccia", + "Track %s": "Traccia %s", + "Utils": "Utilità", + "Video": "Video", + "%s channel": "%s canale", + "%s channels": "%s canali", + "default": "predefinito", + "drive": "unità", + "external": "esterno", + "forced": "forzato", + "open file": "seleziona file", + "parent dir": "cartella superiore", + "playlist or file": "file o playlist" +} \ No newline at end of file diff --git a/scripts/uosc/intl/pl.json b/scripts/uosc/intl/pl.json new file mode 100644 index 0000000..37b6524 --- /dev/null +++ b/scripts/uosc/intl/pl.json @@ -0,0 +1,107 @@ +{ + "%s are empty": "%s są puste", + "%s channel": "%s kanał", + "%s channels": "%s kanały", + "%s to delete": "%s aby usunąć", + "%s to go up in tree.": "%s aby przejść wyżej.", + "%s to reorder.": "%s aby zmienić kolejność.", + "%s to search": "%s aby wyszukać", + "Add to playlist": "Dodaj do listy odtwarzania", + "Added to playlist": "Dodano do listy odtwarzania", + "An error has occurred.": "Wystąpił błąd.", + "Aspect ratio": "Proporcje obrazu", + "Audio": "Dźwięk", + "Audio device": "Urządzenie audio", + "Audio devices": "Urządzenia audio", + "Audio tracks": "Ścieżki audio", + "Autoload": "Automatyczne ładowanie", + "Chapter %s": "Rozdział %s", + "Chapters": "Rozdziały", + "Check for updates": "Sprawdź aktualizacje", + "Checking for updates": "Sprawdzanie aktualizacji", + "Close": "Zamknij", + "Copied to clipboard": "Skopiowano do schowka", + "Default": "Domyślne", + "Default %s": "Domyślne %s", + "Delete": "Usuń", + "Delete file & Next": "Usuń plik i następny", + "Delete file & Prev": "Usuń plik i poprzedni", + "Delete file & Quit": "Usuń plik i zakończ", + "Drives": "Dyski", + "Drop files or URLs to play here": "Przeciągnij pliki lub adresy URL, aby odtworzyć", + "Edition %s": "Edycja %s", + "Editions": "Edycje", + "Empty": "Puste", + "First": "Pierwszy", + "Fullscreen": "Pełny ekran", + "Key bindings": "Skróty klawiszowe", + "Last": "Ostatni", + "Load": "Wczytaj", + "Load audio": "Wczytaj dźwięk", + "Load subtitles": "Wczytaj napisy", + "Load video": "Wczytaj wideo", + "Loaded audio": "Wczytano dźwięk", + "Loaded subtitles": "Wczytano napisy", + "Loaded video": "Wczytano wideo", + "Loop file": "Zapętl plik", + "Loop playlist": "Zapętl listę odtwarzania", + "Menu": "Menu", + "Move down": "Przesuń w dół", + "Move up": "Przesuń w górę", + "Navigation": "Nawigacja", + "Next": "Następny", + "Next page": "Następna strona", + "No file": "Brak pliku", + "Nothing to copy": "Nic do skopiowania", + "Open changelog": "Otwórz dziennik zmian", + "Open config folder": "Otwórz folder konfiguracji", + "Open file": "Otwórz plik", + "Open in browser": "Otwórz w przeglądarce", + "Open in mpv": "Otwórz w mpv", + "Paste path or url to add.": "Wklej ścieżkę lub adres URL, aby dodać.", + "Paste path or url to open.": "Wklej ścieżkę lub adres URL, aby otworzyć.", + "Play/Pause": "Odtwórz/Pauza", + "Playlist": "Lista odtwarzania", + "Playlist/Files": "Lista odtwarzania/Pliki", + "Prev": "Poprzedni", + "Previous": "Poprzedni", + "Previous page": "Poprzednia strona", + "Quit": "Zakończ", + "Reload": "Odśwież", + "Remaining downloads today: %s": "Pozostałe pobrania dzisiaj: %s", + "Remove": "Usuń", + "Resets in: %s": "Resetuje się za: %s", + "Screenshot": "Zrzut ekranu", + "Search online": "Szukaj online", + "See above for clues.": "Zobacz wskazówki powyżej.", + "See console for details.": "Sprawdź szczegóły w konsoli.", + "Show in directory": "Pokaż w katalogu", + "Shuffle": "Losowo", + "Something went wrong.": "Coś poszło nie tak.", + "Stream quality": "Jakość strumienia", + "Subtitles": "Napisy", + "Subtitles loaded & enabled": "Napisy wczytane i włączone", + "Toggle to disable.": "Kliknij, aby wyłączyć.", + "Track %s": "Ścieżka %s", + "Up to date": "Aktualny", + "Update available": "Dostępna aktualizacja", + "Update uosc": "Aktualizuj uosc", + "Updating uosc": "Aktualizowanie uosc", + "Use as secondary": "Użyj jako dodatkowe", + "Utils": "Narzędzia", + "Video": "Wideo", + "default": "domyślne", + "drive": "dysk", + "enter query": "wprowadź zapytanie", + "external": "zewnętrzne", + "forced": "wymuszone", + "foreign parts only": "tylko obce fragmenty", + "hearing impaired": "dla niesłyszących", + "no results": "brak wyników", + "open file": "otwórz plik", + "parent dir": "katalog nadrzędny", + "playlist or file": "lista odtwarzania lub plik", + "type & ctrl+enter to search": "wpisz i ctrl+enter aby wyszukać", + "type to search": "wpisz aby wyszukać", + "uosc has been installed. Restart mpv for it to take effect.": "uosc został zainstalowany. Uruchom ponownie mpv, aby zmiany zostały zastosowane." +} \ No newline at end of file diff --git a/scripts/uosc/intl/pt.json b/scripts/uosc/intl/pt.json new file mode 100644 index 0000000..3b0a518 --- /dev/null +++ b/scripts/uosc/intl/pt.json @@ -0,0 +1,99 @@ +{ + "%s are empty": "%s estão vazios", + "%s channel": "%s canal", + "%s channels": "%s canais", + "%s to delete": "%s para excluir", + "%s to go up in tree.": "%s para subir na árvore", + "%s to reorder.": "%s para reordenar", + "%s to search": "%s para buscar", + "Add to playlist": "Adicionar à lista", + "Added to playlist": "Adicionado à lista", + "An error has occurred.": "Ocorreu um erro.", + "Aspect ratio": "Proporção da tela", + "Audio": "Áudio", + "Audio device": "Dispositivo de áudio", + "Audio devices": "Dispositivos de áudio", + "Audio tracks": "Faixas de áudio", + "Chapter %s": "Capítulo %s", + "Chapters": "Capítulos", + "Copied to clipboard": "Copiado para a área de transferência", + "Default": "Padrão", + "Default %s": "Padrão %s", + "Delete": "Excluir", + "Delete file & Next": "Excluir arquivo e Próximo", + "Delete file & Prev": "Excluir arquivo e Anterior", + "Delete file & Quit": "Excluir arquivo e Sair", + "Drives": "Unidades", + "Drop files or URLs to play here": "Arraste arquivos ou URLs para reproduzir aqui", + "Edition %s": "Edição %s", + "Editions": "Edições", + "Empty": "Vazio", + "First": "Primeiro", + "Fullscreen": "Tela cheia", + "Key bindings": "Atalhos de teclado", + "Last": "Último", + "Load": "Abrir", + "Load audio": "Carregar faixa de áudio", + "Load subtitles": "Carregar faixa de legenda", + "Load video": "Carregar faixa de vídeo", + "Loaded audio": "Áudio carregado", + "Loaded subtitles": "Legendas carregadas", + "Loaded video": "Vídeo carregado", + "Loop file": "Repetir arquivo", + "Loop playlist": "Repetir lista", + "Menu": "Menu", + "Move down": "Mover para baixo", + "Move up": "Mover para cima", + "Navigation": "Navegação", + "Next": "Próximo", + "Next page": "Próxima página", + "No file": "Nenhum arquivo", + "Open config folder": "Abrir pasta de configuração", + "Open file": "Abrir arquivo", + "Open in browser": "Abrir no navegador", + "Open in mpv": "Abrir no mpv", + "Paste path or url to add.": "Cole o caminho ou URL para adicionar.", + "Paste path or url to open.": "Cole o caminho ou URL para abrir.", + "Play/Pause": "Reproduzir/Pausar", + "Playlist": "Lista de reprodução", + "Playlist/Files": "Lista/Arquivos", + "Prev": "Anterior", + "Previous": "Anterior", + "Previous page": "Página anterior", + "Quit": "Sair", + "Reload": "Recarregar", + "Remaining downloads today: %s": "Restante de downloads hoje: %s", + "Remove": "Remover", + "Resets in: %s": "Reinicia em: %s", + "Screenshot": "Captura de tela", + "Search online": "Pesquisar online", + "See above for clues.": "Veja acima por dicas.", + "See console for details.": "Veja o console para detalhes.", + "Show in directory": "Mostrar na pasta", + "Shuffle": "Aleatório", + "Something went wrong.": "Algo deu errado.", + "Stream quality": "Qualidade da transmissão", + "Subtitles": "Legendas", + "Subtitles loaded & enabled": "Legendas carregadas e ativadas", + "Toggle to disable.": "Alternar para desativar", + "Track %s": "Faixa %s", + "Update uosc": "Atualizar uosc", + "Updating uosc": "Atualizando uosc", + "Use as secondary": "Usar como secundário", + "Utils": "Ferramentas", + "Video": "Vídeo", + "default": "padrão", + "drive": "unidade", + "enter query": "digite a consulta", + "external": "externo", + "forced": "forçada", + "foreign parts only": "somente partes estrangeiras", + "hearing impaired": "deficiência auditiva", + "no results": "sem resultados", + "open file": "abrir arquivo", + "parent dir": "diretório superior", + "playlist or file": "lista ou arquivo", + "type & ctrl+enter to search": "digite e pressione Ctrl+Enter para buscar", + "type to search": "digite para buscar", + "uosc has been installed. Restart mpv for it to take effect.": "uosc foi instalado. Reinicie o mpv para que tenha efeito." +} \ No newline at end of file diff --git a/scripts/uosc/intl/ro.json b/scripts/uosc/intl/ro.json new file mode 100644 index 0000000..ea69b49 --- /dev/null +++ b/scripts/uosc/intl/ro.json @@ -0,0 +1,59 @@ +{ + "Aspect ratio": "Raportul de aspect", + "Audio": "Audio", + "Audio device": "Dispozitiv audio", + "Audio devices": "Dispozitive audio", + "Audio tracks": "Piese audio", + "Autoselect device": "Selectare automată", + "Chapter %s": "Capitolul %s", + "Chapters": "Capitole", + "Default": "Implicit", + "Default %s": "Implicit %s", + "Delete file & Next": "Ștergere fișier și următorul", + "Delete file & Prev": "Ștergere fișier și anteriorul", + "Delete file & Quit": "Ștergere fișier și ieși", + "Disabled": "Dezactivat", + "Drives": "Unități", + "Edition": "Ediție", + "Edition %s": "Ediție %s", + "Editions": "Ediții", + "Empty": "Gol", + "First": "Primul", + "Fullscreen": "Ecran complet", + "Last": "Ultimul", + "Load": "Încarcă", + "Load audio": "Deschide audio", + "Load subtitles": "Deschide subtitrările", + "Load video": "Deschide video", + "Loop file": "Repetă fișierul", + "Loop playlist": "Repetă lista de redare", + "Menu": "Meniu", + "Navigation": "Navigare", + "Next": "Următor", + "No file": "Niciun fisier", + "Open config folder": "Deschide dosarul de configurație", + "Open file": "Deschide fișierul", + "Playlist": "Listă de redare", + "Playlist/Files": "Listă de redare/Fișiere", + "Prev": "Precedent", + "Previous": "Precedent", + "Quit": "Ieșire", + "Screenshot": "Captură de ecran", + "Show in directory": "Arată în dosar", + "Shuffle": "Amestecă", + "Stream quality": "Calitatea fluxului", + "Subtitles": "Subtitrări", + "Track": "Pistă", + "Track %s": "Pistă %s", + "Utils": "Utilități", + "Video": "Video", + "%s channel": "%s canal", + "%s channels": "%s canale", + "default": "implicit", + "drive": "unitate", + "external": "extern", + "forced": "forțat", + "open file": "deschide fișierul", + "parent dir": "director părinte", + "playlist or file": "fișier sau listă de redare" +} \ No newline at end of file diff --git a/scripts/uosc/intl/ru.json b/scripts/uosc/intl/ru.json new file mode 100644 index 0000000..eec50b3 --- /dev/null +++ b/scripts/uosc/intl/ru.json @@ -0,0 +1,59 @@ +{ + "Aspect ratio": "Соотношение сторон", + "Audio": "Аудио", + "Audio device": "Аудиоустройство", + "Audio devices": "Аудиоустройства", + "Audio tracks": "Аудиодорожки", + "Autoselect device": "Автовыбор устройства", + "Chapter %s": "Глава %s", + "Chapters": "Главы", + "Default": "По умолчанию", + "Default %s": "По умолчанию %s", + "Delete file & Next": "Удалить файл и след.", + "Delete file & Prev": "Удалить файл и пред.", + "Delete file & Quit": "Удалить файл и выйти", + "Disabled": "Отключено", + "Drives": "Диски", + "Edition": "Редакция", + "Edition %s": "Редакция %s", + "Editions": "Редакции", + "Empty": "Пусто", + "First": "Первый", + "Fullscreen": "Полный экран", + "Last": "Последний", + "Load": "Загрузить", + "Load audio": "Загрузить аудио", + "Load subtitles": "Загрузить субтитры", + "Load video": "Загрузить видео", + "Loop file": "Повторять файл", + "Loop playlist": "Повторять плейлист", + "Menu": "Меню", + "Navigation": "Навигация", + "Next": "Следующий", + "No file": "Нет файла", + "Open config folder": "Открыть папку конфигурации", + "Open file": "Открыть файл", + "Playlist": "Плейлист", + "Playlist/Files": "Плейлист / файлы", + "Prev": "Предыдущий", + "Previous": "Предыдущий", + "Quit": "Выйти", + "Screenshot": "Скриншот", + "Show in directory": "Показать в папке", + "Shuffle": "Перемешать", + "Stream quality": "Качество потока", + "Subtitles": "Субтитры", + "Track": "Дорожка", + "Track %s": "Дорожка %s", + "Utils": "Инструменты", + "Video": "Видео", + "%s channels": "%s канала/-ов", + "%s channel": "%s канал", + "default": "по умолчанию", + "drive": "диск", + "external": "внешняя", + "forced": "форсированная", + "open file": "открыть файл", + "parent dir": "родительская папка", + "playlist or file": "плейлист или файл" +} \ No newline at end of file diff --git a/scripts/uosc/intl/tr.json b/scripts/uosc/intl/tr.json new file mode 100644 index 0000000..359f205 --- /dev/null +++ b/scripts/uosc/intl/tr.json @@ -0,0 +1,107 @@ +{ + "%s are empty": "%s boş", + "%s channel": "%s kanal", + "%s channels": "%s kanallar", + "%s to delete": "%s silmek için", + "%s to go up in tree.": "%s yukarı gitmek için.", + "%s to reorder.": "%s yeniden sıralamak için.", + "%s to search": "%s aramak için", + "Add to playlist": "Çalma listesine ekle", + "Added to playlist": "Çalma listesine eklendi", + "An error has occurred.": "Bir hata oluştu.", + "Aspect ratio": "En-boy oranı", + "Audio": "Ses", + "Audio device": "Ses cihazı", + "Audio devices": "Ses cihazları", + "Audio tracks": "Ses parçaları", + "Autoload": "Otomatik yükleme", + "Chapter %s": "Bölüm %s", + "Chapters": "Bölümler", + "Check for updates": "Güncellemeleri kontrol et", + "Checking for updates": "Güncellemeler kontrol ediliyor", + "Close": "Kapat", + "Copied to clipboard": "Panoya kopyalandı", + "Default": "Varsayılan", + "Default %s": "Varsayılan %s", + "Delete": "Sil", + "Delete file & Next": "Dosyayı sil & Sonraki", + "Delete file & Prev": "Dosyayı sil & Önceki", + "Delete file & Quit": "Dosyayı sil & Çık", + "Drives": "Sürücüler", + "Drop files or URLs to play here": "Dosyaları veya URL'leri buraya bırakın", + "Edition %s": "Sürüm %s", + "Editions": "Sürümler", + "Empty": "Boş", + "First": "İlk", + "Fullscreen": "Tam ekran", + "Key bindings": "Tuş atamaları", + "Last": "Son", + "Load": "Yükle", + "Load audio": "Ses yükle", + "Load subtitles": "Altyazı yükle", + "Load video": "Video yükle", + "Loaded audio": "Ses yüklendi", + "Loaded subtitles": "Altyazı yüklendi", + "Loaded video": "Video yüklendi", + "Loop file": "Dosyayı döngüye al", + "Loop playlist": "Çalma listesini döngüye al", + "Menu": "Menü", + "Move down": "Aşağı taşı", + "Move up": "Yukarı taşı", + "Navigation": "Gezinme", + "Next": "Sonraki", + "Next page": "Sonraki sayfa", + "No file": "Dosya yok", + "Nothing to copy": "Kopyalanacak bir şey yok", + "Open changelog": "Değişiklik günlüğünü aç", + "Open config folder": "Yapılandırma klasörünü aç", + "Open file": "Dosya aç", + "Open in browser": "Tarayıcıda aç", + "Open in mpv": "mpv'de aç", + "Paste path or url to add.": "Eklemek için yolu veya URL'yi yapıştırın.", + "Paste path or url to open.": "Açmak için yolu veya URL'yi yapıştırın.", + "Play/Pause": "Oynat/Duraklat", + "Playlist": "Çalma listesi", + "Playlist/Files": "Çalma listesi/Dosyalar", + "Prev": "Önceki", + "Previous": "Önceki", + "Previous page": "Önceki sayfa", + "Quit": "Çıkış", + "Reload": "Yeniden yükle", + "Remaining downloads today: %s": "Bugünkü kalan indirmeler: %s", + "Remove": "Kaldır", + "Resets in: %s": "%s içinde sıfırlanacak", + "Screenshot": "Ekran görüntüsü", + "Search online": "Çevrimiçi ara", + "See above for clues.": "İpuçları için yukarıya bakın.", + "See console for details.": "Ayrıntılar için konsola bakın.", + "Show in directory": "Dizinde göster", + "Shuffle": "Karıştır", + "Something went wrong.": "Bir şeyler ters gitti.", + "Stream quality": "Yayın kalitesi", + "Subtitles": "Altyazılar", + "Subtitles loaded & enabled": "Altyazılar yüklendi ve etkinleştirildi", + "Toggle to disable.": "Devre dışı bırakmak için değiştir.", + "Track %s": "Parça %s", + "Up to date": "Güncel", + "Update available": "Güncelleme mevcut", + "Update uosc": "uosc güncelle", + "Updating uosc": "uosc güncelleniyor", + "Use as secondary": "İkincil olarak kullan", + "Utils": "Araçlar", + "Video": "Video", + "default": "varsayılan", + "drive": "sürücü", + "enter query": "Sorgu gir", + "external": "harici", + "forced": "zorunlu", + "foreign parts only": "sadece yabancı bölümler", + "hearing impaired": "işitme engelli", + "no results": "Sonuç yok", + "open file": "Dosya aç", + "parent dir": "üst dizin", + "playlist or file": "çalma listesi veya dosya", + "type & ctrl+enter to search": "Yaz & aramak için Ctrl+Enter'a bas", + "type to search": "Aramak için yaz", + "uosc has been installed. Restart mpv for it to take effect.": "uosc yüklendi. Etkin olması için mpv'yi yeniden başlatın." +} \ No newline at end of file diff --git a/scripts/uosc/intl/uk.json b/scripts/uosc/intl/uk.json new file mode 100644 index 0000000..42009c5 --- /dev/null +++ b/scripts/uosc/intl/uk.json @@ -0,0 +1,69 @@ +{ + "Aspect ratio": "Співвідношення сторін", + "Audio": "Аудіо", + "Audio device": "Аудіопристрій", + "Audio devices": "Аудіопристрої", + "Audio tracks": "Аудіодоріжки", + "Autoselect device": "Автовибір пристрою", + "Chapter %s": "Розділ %s", + "Chapters": "Розділи", + "Default": "За замовчуванням", + "Default %s": "За замовчуванням %s", + "Delete file & Next": "Видалити файл & Наступний", + "Delete file & Prev": "Видалити файл & Попередній", + "Delete file & Quit": "Видалити файл & Вийти", + "Disabled": "Вимкнено", + "Drives": "Диски", + "Edition": "Видання", + "Edition %s": "Видання %s", + "Editions": "Видання", + "Empty": "Порожньо", + "First": "Перший", + "Fullscreen": "На весь екран", + "Last": "Останній", + "Load": "Завантажити", + "Load audio": "Завантажити аудіо", + "Load subtitles": "Завантажити субтитри", + "Load video": "Завантажити відео", + "Loop file": "Повторювати файл", + "Loop playlist": "Повторювати плейліст", + "Menu": "Меню", + "Navigation": "Навігація", + "Next": "Наступний", + "No file": "Файл відсутній", + "Open config folder": "Відкрити каталог конфігурації", + "Open file": "Відкрити файл", + "Playlist": "Плейліст", + "Playlist/Files": "Плейліст / Файли", + "Prev": "Попередній", + "Previous": "Попередній", + "Quit": "Вийти", + "Screenshot": "Скриншот", + "Show in directory": "Показати в каталозі", + "Shuffle": "Перемішати", + "Stream quality": "Якість потоку", + "Subtitles": "Субтитри", + "Track": "Трек", + "Track %s": "Трек %s", + "Utils": "Інструменти", + "Video": "Відео", + "%s channels": "%s канали/-ів", + "%s channel": "%s канал", + "default": "за замовчуванням", + "drive": "диск", + "external": "зовнішня", + "forced": "примусова", + "open file": "відкрити файл", + "parent dir": "батьківський каталог", + "playlist or file": "плейліст або файл", + "type to search": "Введіть для пошуку", + "type & ctrl+enter to search": "Введіть & Ctrl+Enter для пошуку", + "Key bindings": "Комбінації клавіш", + "Drop files or URLs to play here": "Перемістіть файли або URL-адреси для відтворення сюди", + "Update uosc": "Оновити uosc", + "Updating uosc": "uosc оновлюється", + "uosc has been installed. Restart mpv for it to take effect.": "uosc встановлено. mpv потрібно перезапустити.", + "An error has occurred.": "Сталася помилка.", + "See above for clues.": "Дивіться підказки вище.", + "Play/Pause": "Відтворення / Пауза" +} \ No newline at end of file diff --git a/scripts/uosc/intl/zh-HK.json b/scripts/uosc/intl/zh-HK.json new file mode 100644 index 0000000..565719c --- /dev/null +++ b/scripts/uosc/intl/zh-HK.json @@ -0,0 +1,107 @@ +{ + "%s are empty": "%s 是空字串", + "%s channel": "%s 聲道", + "%s channels": "%s 聲道", + "%s to delete": "使用 %s 删除", + "%s to go up in tree.": "使用 %s 返回上一級", + "%s to reorder.": "使用 %s 重新排序", + "%s to search": "使用 %s 搜尋", + "Add to playlist": "新增到播放清單", + "Added to playlist": "已新增到播放清單", + "An error has occurred.": "出現錯誤", + "Aspect ratio": "長寬比", + "Audio": "音訊", + "Audio device": "音訊裝置", + "Audio devices": "音訊裝置", + "Audio tracks": "音軌", + "Autoload": "自動載入", + "Chapter %s": "第 %s 章", + "Chapters": "章節", + "Check for updates": "檢查更新", + "Checking for updates": "正在檢查更新", + "Close": "關閉", + "Copied to clipboard": "已複製到剪貼簿", + "Default": "預設", + "Default %s": "預設 %s", + "Delete": "删除", + "Delete file & Next": "删除檔案並播放下一個", + "Delete file & Prev": "删除檔案並播放上一個", + "Delete file & Quit": "删除檔案並退出", + "Drives": "硬碟", + "Drop files or URLs to play here": "拖放檔案或 URLs 到此播放", + "Edition %s": "版本 %s", + "Editions": "版本", + "Empty": "空", + "First": "第一個", + "Fullscreen": "全螢幕", + "Key bindings": "快捷鍵", + "Last": "最後一個", + "Load": "載入", + "Load audio": "載入音訊", + "Load subtitles": "載入字幕", + "Load video": "載入視訊", + "Loaded audio": "已載入音訊", + "Loaded subtitles": "已載入字幕", + "Loaded video": "已載入視訊", + "Loop file": "重複播放", + "Loop playlist": "重複播放清單", + "Menu": "選單", + "Move down": "下移", + "Move up": "上移", + "Navigation": "導覽", + "Next": "下一個", + "Next page": "下一頁", + "No file": "無檔案", + "Nothing to copy": "沒有東西可以複製", + "Open changelog": "開啟更新日誌", + "Open config folder": "開啟設定檔資料夾", + "Open file": "開啟檔案", + "Open in browser": "用瀏覽器開啟", + "Open in mpv": "用 mpv 開啟", + "Paste path or url to add.": "貼上路徑或 url 以新增", + "Paste path or url to open.": "貼上路徑或 url 以開啟", + "Play/Pause": "播放/暫停", + "Playlist": "播放清單", + "Playlist/Files": "播放清單/檔案列表", + "Prev": "上一個", + "Previous": "上一個", + "Previous page": "上一頁", + "Quit": "結束", + "Reload": "重新載入", + "Remaining downloads today: %s": "今天的剩餘下載量: %s", + "Remove": "移除", + "Resets in: %s": "重置: %s", + "Screenshot": "截圖", + "Search online": "線上搜尋", + "See above for clues.": "請參閱上文提示", + "See console for details.": "詳情請參閱終端", + "Show in directory": "開啟所在資料夾", + "Shuffle": "隨機播放", + "Something went wrong.": "出錯了", + "Stream quality": "串流質素", + "Subtitles": "字幕", + "Subtitles loaded & enabled": "已載入及啟用字幕", + "Toggle to disable.": "切換以停用", + "Track %s": "音軌 %s", + "Up to date": "最新版本", + "Update available": "有可用更新", + "Update uosc": "更新 uosc", + "Updating uosc": "正在更新 uosc", + "Use as secondary": "設為副字幕", + "Utils": "工具", + "Video": "影片", + "default": "預設", + "drive": "硬碟", + "enter query": "輸入查詢", + "external": "外置", + "forced": "強制", + "foreign parts only": "只限外語部分", + "hearing impaired": "聽障", + "no results": "沒有結果", + "open file": "開啟檔案", + "parent dir": "父資料夾", + "playlist or file": "播放清單或檔案", + "type & ctrl+enter to search": "輸入並按 ctrl+enter 搜尋", + "type to search": "輸入文字以搜尋內容", + "uosc has been installed. Restart mpv for it to take effect.": "已安装 uosc ,重新開啟 mpv 使其生效" +} \ No newline at end of file diff --git a/scripts/uosc/intl/zh-hans.json b/scripts/uosc/intl/zh-hans.json new file mode 100644 index 0000000..7669e03 --- /dev/null +++ b/scripts/uosc/intl/zh-hans.json @@ -0,0 +1,99 @@ +{ + "%s are empty": "%s 为空", + "%s channel": "%s 声道", + "%s channels": "%s 声道", + "%s to delete": "使用 %s 进行删除", + "%s to go up in tree.": "使用 %s 返回上一级", + "%s to reorder.": "使用 %s 重新排序", + "%s to search": "使用 %s 进行搜索", + "Add to playlist": "添加到播放列表", + "Added to playlist": "已添加到播放列表", + "An error has occurred.": "出现错误", + "Aspect ratio": "纵横比", + "Audio": "音频", + "Audio device": "音频设备", + "Audio devices": "音频设备", + "Audio tracks": "音频轨道", + "Chapter %s": "第 %s 章", + "Chapters": "章节", + "Copied to clipboard": "已复制到剪贴板", + "Default": "默认", + "Default %s": "默认 %s", + "Delete": "删除", + "Delete file & Next": "删除文件并播放下一个", + "Delete file & Prev": "删除文件并播放上一个", + "Delete file & Quit": "删除文件并退出", + "Drives": "驱动器", + "Drop files or URLs to play here": "拖放文件或 URLs 到此处进行播放", + "Edition %s": "版本 %s", + "Editions": "版本", + "Empty": "空", + "First": "第一个", + "Fullscreen": "全屏", + "Key bindings": "键位绑定", + "Last": "最后一个", + "Load": "加载", + "Load audio": "加载音轨", + "Load subtitles": "加载字幕", + "Load video": "加载视频轨", + "Loaded audio": "已加载音轨", + "Loaded subtitles": "已加载字幕", + "Loaded video": "已加载视频轨", + "Loop file": "单个循环", + "Loop playlist": "列表循环", + "Menu": "菜单", + "Move down": "下移", + "Move up": "上移", + "Navigation": "导航", + "Next": "下一个", + "Next page": "下一页", + "No file": "无文件", + "Open config folder": "打开配置文件夹", + "Open file": "打开文件", + "Open in browser": "在浏览器中打开", + "Open in mpv": "在 mpv 中打开", + "Paste path or url to add.": "粘贴路径或网址以添加", + "Paste path or url to open.": "粘贴路径或网址以打开", + "Play/Pause": "播放/暂停", + "Playlist": "播放列表", + "Playlist/Files": "播放列表/文件列表", + "Prev": "上一个", + "Previous": "上一个", + "Previous page": "上一页", + "Quit": "退出", + "Reload": "重载", + "Remaining downloads today: %s": "今天的剩余下载量: %s", + "Remove": "移除", + "Resets in: %s": "重置: %s", + "Screenshot": "截图", + "Search online": "在线搜索", + "See above for clues.": "线索见上文", + "See console for details.": "参阅控制台了解详细信息", + "Show in directory": "打开所在文件夹", + "Shuffle": "乱序", + "Something went wrong.": "出错了", + "Stream quality": "流媒体品质", + "Subtitles": "字幕", + "Subtitles loaded & enabled": "字幕已加载并启用", + "Toggle to disable.": "点击切换禁用状态", + "Track %s": "轨道 %s", + "Update uosc": "更新 uosc", + "Updating uosc": "正在更新 uosc", + "Use as secondary": "设置为次字幕", + "Utils": "工具", + "Video": "视频", + "default": "默认", + "drive": "磁盘", + "enter query": "输入查询", + "external": "外置", + "forced": "强制", + "foreign parts only": "仅限外语部分", + "hearing impaired": "听力障碍", + "no results": "没有结果", + "open file": "打开文件", + "parent dir": "父文件夹", + "playlist or file": "播放列表或文件", + "type & ctrl+enter to search": "输入并按 ctrl+enter 进行搜索", + "type to search": "输入搜索内容", + "uosc has been installed. Restart mpv for it to take effect.": "uosc 已经安装,重新启动 mpv 使其生效" +} \ No newline at end of file diff --git a/scripts/uosc/lib/ass.lua b/scripts/uosc/lib/ass.lua new file mode 100644 index 0000000..2cd78cd --- /dev/null +++ b/scripts/uosc/lib/ass.lua @@ -0,0 +1,312 @@ +--[[ ASSDRAW EXTENSIONS ]] + +local ass_mt = getmetatable(assdraw.ass_new()) + +-- Opacity. +---@param self table|nil +---@param opacity number|{primary?: number; border?: number, shadow?: number, main?: number} Opacity of all elements. +---@param fraction? number Optionally adjust the above opacity by this fraction. +---@return string|nil +function ass_mt.opacity(self, opacity, fraction) + fraction = fraction ~= nil and fraction or 1 + opacity = type(opacity) == 'table' and opacity or {main = opacity} + local text = '' + if opacity.main then + text = text .. string.format('\\alpha&H%X&', opacity_to_alpha(opacity.main * fraction)) + end + if opacity.primary then + text = text .. string.format('\\1a&H%X&', opacity_to_alpha(opacity.primary * fraction)) + end + if opacity.border then + text = text .. string.format('\\3a&H%X&', opacity_to_alpha(opacity.border * fraction)) + end + if opacity.shadow then + text = text .. string.format('\\4a&H%X&', opacity_to_alpha(opacity.shadow * fraction)) + end + if self == nil then + return text + elseif text ~= '' then + self.text = self.text .. '{' .. text .. '}' + end +end + +-- Icon. +---@param x number +---@param y number +---@param size number +---@param name string +---@param opts? {color?: string; border?: number; border_color?: string; opacity?: number; clip?: string; align?: number} +function ass_mt:icon(x, y, size, name, opts) + opts = opts or {} + opts.font, opts.size, opts.bold = 'MaterialIconsRound-Regular', size, false + self:txt(x, y, opts.align or 5, name, opts) +end + +-- Text. +-- Named `txt` because `ass.text` is a value. +---@param x number +---@param y number +---@param align number +---@param value string|number +---@param opts {size: number; font?: string; color?: string; bold?: boolean; italic?: boolean; border?: number; border_color?: string; shadow?: number; shadow_color?: string; rotate?: number; wrap?: number; opacity?: number|{primary?: number; border?: number, shadow?: number, main?: number}; clip?: string} +function ass_mt:txt(x, y, align, value, opts) + local border_size = opts.border or 0 + local shadow_size = opts.shadow or 0 + local tags = '\\pos(' .. x .. ',' .. y .. ')\\rDefault\\an' .. align .. '\\blur0' + -- font + tags = tags .. '\\fn' .. (opts.font or config.font) + -- font size + tags = tags .. '\\fs' .. opts.size + -- bold + if opts.bold or (opts.bold == nil and options.font_bold) then tags = tags .. '\\b1' end + -- italic + if opts.italic then tags = tags .. '\\i1' end + -- rotate + if opts.rotate then tags = tags .. '\\frz' .. opts.rotate end + -- wrap + if opts.wrap then tags = tags .. '\\q' .. opts.wrap end + -- border + tags = tags .. '\\bord' .. border_size + -- shadow + tags = tags .. '\\shad' .. shadow_size + -- colors + tags = tags .. '\\1c&H' .. (opts.color or bgt) + if border_size > 0 then tags = tags .. '\\3c&H' .. (opts.border_color or bg) end + if shadow_size > 0 then tags = tags .. '\\4c&H' .. (opts.shadow_color or bg) end + -- opacity + if opts.opacity then tags = tags .. self.opacity(nil, opts.opacity) end + -- clip + if opts.clip then tags = tags .. opts.clip end + -- render + self:new_event() + self.text = self.text .. '{' .. tags .. '}' .. value +end + +-- Tooltip. +---@param element Rect +---@param value string|number +---@param opts? {size?: number; align?: number; offset?: number; bold?: boolean; italic?: boolean; width_overwrite?: number, margin?: number; responsive?: boolean; lines?: integer, timestamp?: boolean; invert_colors?: boolean} +function ass_mt:tooltip(element, value, opts) + if value == '' then return end + opts = opts or {} + opts.size = opts.size or round(16 * state.scale) + opts.border = options.text_border * state.scale + opts.border_color = opts.invert_colors and fg or bg + opts.margin = opts.margin or round(10 * state.scale) + opts.lines = opts.lines or 1 + opts.color = opts.invert_colors and bg or fg + local offset = opts.offset or 2 + local padding_y = round(opts.size / 6) + local padding_x = round(opts.size / 3) + local width = (opts.width_overwrite or text_width(value, opts)) + padding_x * 2 + local height = opts.size * opts.lines + 2 * padding_y + local width_half, height_half = width / 2, height / 2 + local margin = opts.margin + Elements:v('window_border', 'size', 0) + local align = opts.align or 8 + + local x, y = 0, 0 -- center of tooltip + + -- Flip alignment to other side when not enough space + if opts.responsive ~= false then + if align == 8 then + if element.ay - offset - height < margin then align = 2 end + elseif align == 2 then + if element.by + offset + height > display.height - margin then align = 8 end + elseif align == 6 then + if element.bx + offset + width > display.width - margin then align = 4 end + elseif align == 4 then + if element.ax - offset - width < margin then align = 6 end + end + end + + -- Calculate tooltip center based on alignment + if align == 8 or align == 2 then + x = clamp(margin + width_half, element.ax + (element.bx - element.ax) / 2, display.width - margin - width_half) + y = align == 8 and element.ay - offset - height_half or element.by + offset + height_half + else + x = align == 6 and element.bx + offset + width_half or element.ax - offset - width_half + y = clamp(margin + height_half, element.ay + (element.by - element.ay) / 2, display.height - margin - height_half) + end + + -- Draw + local ax, ay, bx, by = round(x - width_half), round(y - height_half), round(x + width_half), round(y + height_half) + self:rect(ax, ay, bx, by, { + color = opts.invert_colors and fg or bg, opacity = config.opacity.tooltip, radius = state.radius + }) + local func = opts.timestamp and self.timestamp or self.txt + func(self, x, y, 5, tostring(value), opts) + return {ax = element.ax, ay = ay, bx = element.bx, by = by} +end + +-- Timestamp with each digit positioned as if it was replaced with 0 +---@param x number +---@param y number +---@param align number +---@param timestamp string +---@param opts {size: number; opacity?: number|{primary?: number; border?: number, shadow?: number, main?: number}} +function ass_mt:timestamp(x, y, align, timestamp, opts) + local widths, width_total = {}, 0 + zero_rep = timestamp_zero_rep(timestamp) + for i = 1, #zero_rep do + local width = text_width(zero_rep:sub(i, i), opts) + widths[i] = width + width_total = width_total + width + end + + -- shift x and y to fit align 5 + local mod_align = align % 3 + if mod_align == 0 then + x = x - width_total + elseif mod_align == 2 then + x = x - width_total / 2 + end + if align < 4 then + y = y - opts.size / 2 + elseif align > 6 then + y = y + opts.size / 2 + end + + local opacity = opts.opacity + local primary_opacity + if type(opacity) == 'table' then + opts.opacity = {main = opacity.main, border = opacity.border, shadow = opacity.shadow, primary = 0} + primary_opacity = opacity.primary or opacity.main + else + opts.opacity = {main = opacity, primary = 0} + primary_opacity = opacity + end + for i, width in ipairs(widths) do + self:txt(x + width / 2, y, 5, timestamp:sub(i, i), opts) + x = x + width + end + x = x - width_total + opts.opacity = {main = 0, primary = primary_opacity or 1} + for i, width in ipairs(widths) do + self:txt(x + width / 2, y, 5, timestamp:sub(i, i), opts) + x = x + width + end + opts.opacity = opacity +end + +-- Rectangle. +---@param ax number +---@param ay number +---@param bx number +---@param by number +---@param opts? {color?: string; border?: number; border_color?: string; opacity?: number|{primary?: number; border?: number, shadow?: number, main?: number}; clip?: string, radius?: number} +function ass_mt:rect(ax, ay, bx, by, opts) + opts = opts or {} + local border_size = opts.border or 0 + local tags = '\\pos(0,0)\\rDefault\\an7\\blur0' + -- border + tags = tags .. '\\bord' .. border_size + -- colors + tags = tags .. '\\1c&H' .. (opts.color or fg) + if border_size > 0 then tags = tags .. '\\3c&H' .. (opts.border_color or bg) end + -- opacity + if opts.opacity then tags = tags .. self.opacity(nil, opts.opacity) end + -- clip + if opts.clip then + tags = tags .. opts.clip + end + -- draw + self:new_event() + self.text = self.text .. '{' .. tags .. '}' + self:draw_start() + if opts.radius and opts.radius > 0 then + self:round_rect_cw(ax, ay, bx, by, opts.radius) + else + self:rect_cw(ax, ay, bx, by) + end + self:draw_stop() +end + +-- Circle. +---@param x number +---@param y number +---@param radius number +---@param opts? {color?: string; border?: number; border_color?: string; opacity?: number; clip?: string} +function ass_mt:circle(x, y, radius, opts) + opts = opts or {} + opts.radius = radius + self:rect(x - radius, y - radius, x + radius, y + radius, opts) +end + +-- Texture. +---@param ax number +---@param ay number +---@param bx number +---@param by number +---@param char string Texture font character. +---@param opts {size?: number; color: string; opacity?: number; clip?: string; anchor_x?: number, anchor_y?: number} +function ass_mt:texture(ax, ay, bx, by, char, opts) + opts = opts or {} + local anchor_x, anchor_y = opts.anchor_x or ax, opts.anchor_y or ay + local clip = opts.clip or ('\\clip(' .. ax .. ',' .. ay .. ',' .. bx .. ',' .. by .. ')') + local tile_size, opacity = opts.size or 100, opts.opacity or 0.2 + local x, y = ax - (ax - anchor_x) % tile_size, ay - (ay - anchor_y) % tile_size + local width, height = bx - x, by - y + local line = string.rep(char, math.ceil((width / tile_size))) + local lines = '' + for i = 1, math.ceil(height / tile_size), 1 do lines = lines .. (lines == '' and '' or '\\N') .. line end + self:txt( + x, y, 7, lines, + {font = 'uosc_textures', size = tile_size, color = opts.color, bold = false, opacity = opacity, clip = clip}) +end + +-- Rotating spinner icon. +---@param x number +---@param y number +---@param size number +---@param opts? {color?: string; opacity?: number; clip?: string; border?: number; border_color?: string;} +function ass_mt:spinner(x, y, size, opts) + opts = opts or {} + opts.rotate = (state.render_last_time * 1.75 % 1) * -360 + opts.color = opts.color or fg + self:icon(x, y, size, 'autorenew', opts) + request_render() +end + +-- Renders a smooth curve from Bezier segments. +---@param ax number +---@param ay number +---@param bx number +---@param by number +---@param points number[] Flat table of normalized points (0–1): start point followed by segment entries cp1x, cp1y, cp2x, cp2y, px, py, ... +---@param opts? {color?: string; border?: number; border_color?: string; opacity?: number|{primary?: number; border?: number, shadow?: number, main?: number}; clip?: string} +function ass_mt:smooth_curve(ax, ay, bx, by, points, opts) + if not points or #points < 8 then return end + opts = opts or {} + local border_size = opts.border or 0 + local tags = '\\pos(0,0)\\rDefault\\an7\\blur0' + -- border + tags = tags .. '\\bord' .. border_size + -- colors + tags = tags .. '\\1c&H' .. (opts.color or fg) + if border_size > 0 then tags = tags .. '\\3c&H' .. (opts.border_color or bg) end + -- opacity + if opts.opacity then tags = tags .. self.opacity(nil, opts.opacity) end + -- clip + if opts.clip then tags = tags .. opts.clip end + -- draw + self:new_event() + self.text = self.text .. '{' .. tags .. '}' + self:draw_start() + + -- Scale normalized (0–1) coordinates to rectangle bounds + local width, height = bx - ax, by - ay + local function scale(x, y) + return ax + x * width, ay + y * height + end + + local x0, y0 = scale(points[1], points[2]) + self:move_to(x0, y0) + local max = math.floor((#points - 2) / 6) * 6 + 2 + for i = 3, max, 6 do + local x1, y1 = scale(points[i], points[i+1]) + local x2, y2 = scale(points[i+2], points[i+3]) + local x3, y3 = scale(points[i+4], points[i+5]) + self:bezier_curve(x1, y1, x2, y2, x3, y3) + end + self:draw_stop() +end \ No newline at end of file diff --git a/scripts/uosc/lib/buttons.lua b/scripts/uosc/lib/buttons.lua new file mode 100644 index 0000000..4a492fd --- /dev/null +++ b/scripts/uosc/lib/buttons.lua @@ -0,0 +1,74 @@ +---@alias ButtonData {icon: string; active?: boolean; badge?: string; command?: string | string[]; tooltip?: string;} +---@alias ButtonSubscriber fun(data: ButtonData) + +local buttons = { + ---@type ButtonData[] + data = {}, + ---@type table + subscribers = {}, +} + +---@param name string +---@return ButtonData +function buttons:get(name) + return self.data[name] or {icon = 'help_center', tooltip = 'Uninitialized button "' .. name .. '"'} +end + +---@param name string +---@param callback fun(data: ButtonData) +function buttons:subscribe(name, callback) + local pool = self.subscribers[name] + if not pool then + pool = {} + self.subscribers[name] = pool + end + pool[#pool + 1] = callback + return function() buttons:unsubscribe(name, callback) end +end + +---@param name string +---@param callback? ButtonSubscriber +function buttons:unsubscribe(name, callback) + if self.subscribers[name] then + if callback == nil then + self.subscribers[name] = {} + else + itable_delete_value(self.subscribers[name], callback) + end + end +end + +---@param name string +function buttons:trigger(name) + local pool = self.subscribers[name] + if pool then + local data = self:get(name) + for _, callback in ipairs(pool) do callback(data) end + end +end + +---@param name string +---@param data ButtonData +function buttons:set(name, data) + buttons.data[name] = data + buttons:trigger(name) + request_render() +end + +mp.register_script_message('set-button', function(name, data) + if type(name) ~= 'string' then + msg.error('Invalid set-button message parameter: 1st parameter (name) has to be a string.') + return + end + if type(data) ~= 'string' then + msg.error('Invalid set-button message parameter: 2nd parameter (data) has to be a string.') + return + end + + local data = utils.parse_json(data) + if type(data) == 'table' and type(data.icon) == 'string' then + buttons:set(name, data) + end +end) + +return buttons \ No newline at end of file diff --git a/scripts/uosc/lib/char_conv.lua b/scripts/uosc/lib/char_conv.lua new file mode 100644 index 0000000..3e45467 --- /dev/null +++ b/scripts/uosc/lib/char_conv.lua @@ -0,0 +1,66 @@ +require('lib/text') + +local char_dir = mp.get_script_directory() .. '/char-conv/' +local data = {} + +local languages = get_languages() +for _, lang in ipairs(languages) do + table_assign(data, get_locale_from_json(char_dir .. lang:lower() .. '.json')) +end + +local romanization = {} + +local function get_romanization_table() + for k, v in pairs(data) do + for _, char in utf8_iter(v) do + romanization[char] = k + end + end +end +get_romanization_table() + +function need_romanization() + return next(romanization) ~= nil +end + +function char_conv(chars, use_ligature, has_separator) + local separator = has_separator or ' ' + local length = 0 + local char_conv, sp, cache = {}, {}, {} + local roman_list = {} + local chars_length = utf8_length(chars) + local concat = table.concat + for _, char in utf8_iter(chars) do + local match = romanization[char] or char + roman_list[#roman_list + 1] = match + if use_ligature then + char_conv[#char_conv + 1] = match + else + length = length + 1 + if #char <= 2 then + if (char ~= ' ' and length ~= chars_length) then + cache[#cache + 1] = match + elseif (char == ' ' or length == chars_length) then + if length == chars_length then + cache[#cache + 1] = match + end + sp[#sp + 1] = concat(cache) + itable_clear(cache) + end + else + if next(cache) ~= nil then + sp[#sp + 1] = concat(cache) + itable_clear(cache) + end + sp[#sp + 1] = match + end + end + end + if use_ligature then + return concat(char_conv), roman_list + else + return concat(sp, separator), roman_list + end +end + +return char_conv \ No newline at end of file diff --git a/scripts/uosc/lib/cursor.lua b/scripts/uosc/lib/cursor.lua new file mode 100644 index 0000000..c7a5cb5 --- /dev/null +++ b/scripts/uosc/lib/cursor.lua @@ -0,0 +1,469 @@ +---@alias CursorEventHandler fun(shortcut: Shortcut) + +local cursor = { + x = math.huge, + y = math.huge, + hidden = true, + distance = 0, -- Distance traveled during current move. Reset by `cursor.distance_reset_timer`. + last_hover = false, -- Stores `mouse.hover` boolean of the last mouse event for enter/leave detection. + -- Event handlers that are only fired on zones defined during render loop. + ---@type {event: string, hitbox: Hitbox; handler: CursorEventHandler}[] + zones = {}, + handlers = { + primary_down = {}, + primary_up = {}, + secondary_down = {}, + secondary_up = {}, + wheel_down = {}, + wheel_up = {}, + move = {}, + }, + first_real_mouse_move_received = false, + history = CircularBuffer:new(10), + autohide_fs_only = nil, + -- Tracks current key binding levels for each event. 0: disabled, 1: enabled, 2: enabled + window dragging prevented + binding_levels = { + mbtn_left = 0, + mbtn_left_dbl = 0, + mbtn_right = 0, + wheel = 0, + }, + is_dragging_prevented = false, + event_forward_map = { + primary_down = 'MBTN_LEFT', + primary_up = 'MBTN_LEFT', + secondary_down = 'MBTN_RIGHT', + secondary_up = 'MBTN_RIGHT', + wheel_down = 'WHEEL_DOWN', + wheel_up = 'WHEEL_UP', + }, + event_binding_map = { + primary_down = 'mbtn_left', + primary_up = 'mbtn_left', + primary_click = 'mbtn_left', + secondary_down = 'mbtn_right', + secondary_up = 'mbtn_right', + secondary_click = 'mbtn_right', + wheel_down = 'wheel', + wheel_up = 'wheel', + }, + window_dragging_blockers = create_set({'primary_click', 'primary_down'}), + event_propagation_blockers = { + primary_down = 'primary_click', + primary_click = 'primary_down', + secondary_down = 'secondary_click', + secondary_click = 'secondary_down', + }, + event_meta = { + primary_down = {is_start = true, trigger_event = 'primary_click'}, + primary_up = {is_end = true, start_event = 'primary_down', trigger_event = 'primary_click'}, + secondary_down = {is_start = true, trigger_event = 'secondary_click'}, + secondary_up = {is_end = true, start_event = 'secondary_down', trigger_event = 'secondary_click'}, + }, + -- Holds positions and times of starting events (events that start compound events like click). + ---@type {[string]: {x: number, y: number, time: number, zone_handled: boolean}} + last_events = {}, +} + +cursor.autohide_timer = mp.add_timeout(1, function() cursor:autohide() end) +cursor.autohide_timer:kill() +mp.observe_property('cursor-autohide', 'number', function(_, val) + cursor.autohide_timer.timeout = (val or 1000) / 1000 +end) + +cursor.distance_reset_timer = mp.add_timeout(0.2, function() + cursor.distance = 0 + request_render() +end) +cursor.distance_reset_timer:kill() + +-- Called at the beginning of each render +function cursor:clear_zones() + itable_clear(self.zones) +end + +---@param hitbox Hitbox +function cursor:collides_with(hitbox) + return point_collides_with(self, hitbox) +end + +-- Returns zone for event at current cursor position. +---@param event string +function cursor:find_zone(event) + -- Premature optimization to ignore a high frequency event that is not needed as a zone atm. + if event == 'move' then return end + + for i = #self.zones, 1, -1 do + local zone = self.zones[i] + local is_blocking_only = zone.event == self.event_propagation_blockers[event] + if (zone.event == event or is_blocking_only) and self:collides_with(zone.hitbox) then + return not is_blocking_only and zone or nil + end + end +end + +-- Defines an event zone for a hitbox on currently rendered screen. Available events: +-- - primary_down, primary_up, primary_click, secondary_down, secondary_up, secondary_click, wheel_down, wheel_up +-- +-- Notes: +-- - Zones are cleared on beginning of every `render()`, and need to be rebound. +-- - One event type per zone: only the last bound zone per event gets triggered. +-- - In current implementation, you have to choose between `_click` or `_down`. Binding both makes only the last bound fire. +-- - Primary `_down` and `_click` disable dragging. Define `window_drag = true` on hitbox to re-enable. +-- - Anything that disables dragging also implicitly disables cursor autohide. +-- - `move` event zones are ignored due to it being a high frequency event that is currently not needed as a zone. +---@param event string +---@param hitbox Hitbox +---@param callback CursorEventHandler +function cursor:zone(event, hitbox, callback) + self.zones[#self.zones + 1] = {event = event, hitbox = hitbox, handler = callback} +end + +-- Binds a permanent cursor event handler active until manually unbound using `cursor:off()`. +-- `_click` events are not available as permanent global events, only as zones. +---@param event string +---@param callback CursorEventHandler +---@return fun() disposer Unbinds the event. +function cursor:on(event, callback) + if self.handlers[event] and not itable_index_of(self.handlers[event], callback) then + self.handlers[event][#self.handlers[event] + 1] = callback + self:decide_keybinds() + end + return function() self:off(event, callback) end +end + +-- Unbinds a cursor event handler. +---@param event string +function cursor:off(event, callback) + if self.handlers[event] then + local index = itable_index_of(self.handlers[event], callback) + if index then + table.remove(self.handlers[event], index) + self:decide_keybinds() + end + end +end + +-- Binds a cursor event handler to be called once. +---@param event string +function cursor:once(event, callback) + local function callback_wrap() + callback() + self:off(event, callback_wrap) + end + return self:on(event, callback_wrap) +end + +-- Trigger the event. +---@param event string +---@param shortcut? Shortcut +function cursor:trigger(event, shortcut) + local forward, zone_handled = true, false + + -- Call raw event handlers. + local zone = self:find_zone(event) + local callbacks = self.handlers[event] + if zone or #callbacks > 0 then + forward = false + if zone and shortcut then + zone.handler(shortcut) + zone_handled = true + end + for _, callback in ipairs(callbacks) do callback(shortcut) end + end + + if event ~= 'move' then + -- Call compound/parent (click) event handlers if both start and end events are within `parent_zone.hitbox`. + local meta = self.event_meta[event] + if meta then + -- Trigger compound event + local parent_zone = self:find_zone(meta.trigger_event) + if parent_zone then + forward = false -- Canceled here so we don't forward down events if they can lead to a click. + if meta.is_end then + local start_event = self.last_events[meta.start_event] + if start_event and point_collides_with(start_event, parent_zone.hitbox) and shortcut then + parent_zone.handler(create_shortcut('primary_click', shortcut.modifiers)) + end + end + end + end + + -- Forward unhandled events. + if forward then + local forward_name = self.event_forward_map[event] + local last_down = meta and meta.is_end and self.last_events[meta.start_event] + local down_zone_handled = last_down and last_down.zone_handled + if forward_name and not down_zone_handled then + -- Forward events if there was no handler. + local active = find_active_keybindings(forward_name) + if active and active.cmd then + local is_wheel = event:find('wheel', 1, true) + local is_up = event:sub(-3) == '_up' + if active.owner then + -- Binding belongs to other script, so make it look like regular key event. + -- Mouse bindings are simple, other keys would require repeat and pressed handling, + -- which can't be done with mp.set_key_bindings(), but is possible with mp.add_key_binding(). + local state = is_wheel and 'pm' or is_up and 'um' or 'dm' + local name = active.cmd:sub(active.cmd:find('/') + 1, -1) + mp.commandv('script-message-to', active.owner, 'key-binding', name, state, forward_name) + elseif is_wheel or is_up then + -- input.conf binding, react to button release for mouse buttons + mp.command(active.cmd) + end + end + end + end + end + + -- Track last events + local last = self.last_events[event] or {} + last.x, last.y, last.time, last.zone_handled = self.x, self.y, mp.get_time(), zone_handled + self.last_events[event] = last + + -- Refresh cursor autohide timer. + self:queue_autohide() +end + +-- Enables or disables keybinding groups based on what event listeners are bound. +function cursor:decide_keybinds() + local new_levels = {mbtn_left = 0, mbtn_right = 0, wheel = 0} + self.is_dragging_prevented = false + + -- Check global events. + for name, handlers in ipairs(self.handlers) do + local binding = self.event_binding_map[name] + if binding then + new_levels[binding] = math.max(new_levels[binding], #handlers > 0 and 1 or 0) + end + end + + -- Check zones. + for _, zone in ipairs(self.zones) do + local binding = self.event_binding_map[zone.event] + if binding and cursor:collides_with(zone.hitbox) then + local new_level = (self.window_dragging_blockers[zone.event] and zone.hitbox.window_drag ~= true) and 2 + or math.max(new_levels[binding], zone.hitbox.window_drag == false and 2 or 1) + + -- We only allow dragging preventing levels when cursor is on top of the draggable element, + -- otherwise it breaks window dragging. This means touch devices need to tap the draggable + -- element before they can start dragging it. Can't think of a way around this atm. + if new_level > 1 and not cursor:collides_with(zone.hitbox) then + new_level = 1 + end + + new_levels[binding] = math.max(new_levels[binding], new_level) + if new_level > 1 then + self.is_dragging_prevented = true + end + end + end + + -- Window dragging only gets prevented when on top of an element, which is when double clicks should be ignored. + new_levels.mbtn_left_dbl = new_levels.mbtn_left == 2 and 2 or 0 + + for name, level in pairs(new_levels) do + if level ~= self.binding_levels[name] then + local flags = level == 1 and 'allow-vo-dragging+allow-hide-cursor' or '' + mp[(level == 0 and 'disable' or 'enable') .. '_key_bindings'](name, flags) + self.binding_levels[name] = level + self:queue_autohide() + end + end +end + +function cursor:_find_history_sample() + local time = mp.get_time() + for _, e in self.history:iter_rev() do + if time - e.time > 0.1 then + return e + end + end + return self.history:tail() +end + +-- Returns the current velocity vector in pixels per second. +---@return Point +function cursor:get_velocity() + local snap = self:_find_history_sample() + if snap then + local x, y, time = self.x - snap.x, self.y - snap.y, mp.get_time() + local time_diff = time - snap.time + if time_diff > 0.001 then + return {x = x / time_diff, y = y / time_diff} + end + end + return {x = 0, y = 0} +end + +---@param x integer +---@param y integer +function cursor:move(x, y) + local old_x, old_y = self.x, self.y + + -- mpv reports initial mouse position on linux as (0, 0), which always + -- displays the top bar, so we hardcode cursor position as infinity until + -- we receive a first real mouse move event with coordinates other than 0,0. + if not self.first_real_mouse_move_received then + if x > 0 and y > 0 and x < 99999999 and y < 99999999 then + self.first_real_mouse_move_received = true + else + x, y = math.huge, math.huge + end + end + + -- Add 0.5 to be in the middle of the pixel + self.x, self.y = x + 0.5, y + 0.5 + + if old_x ~= self.x or old_y ~= self.y then + if self.x == math.huge or self.y == math.huge then + self.hidden = true + self.history:clear() + + -- Slowly fadeout elements that are currently visible + for _, id in ipairs(config.cursor_leave_fadeout_elements) do + local element = Elements[id] + if element then + local visibility = element:get_visibility() + if visibility > 0 then + element:tween_property('forced_visibility', visibility, 0, function() + element.forced_visibility = nil + end) + end + end + end + + Elements:update_proximities() + Elements:trigger('global_mouse_leave') + else + if self.hidden then + -- Cancel potential fadeouts + for _, id in ipairs(config.cursor_leave_fadeout_elements) do + if Elements[id] then Elements[id]:tween_stop() end + end + + self.hidden = false + Elements:trigger('global_mouse_enter') + end + + -- Update current move travel distance + -- `mp.get_time() - last.time < 0.5` check is there to ignore first event after long inactivity to + -- filter out big jumps due to window being repositioned/rescaled (e.g. opening a different file). + local last = self.last_events.move + if last and last.x < math.huge and last.y < math.huge and mp.get_time() - last.time < 0.5 then + self.distance = self.distance + get_point_to_point_proximity(cursor, last) + cursor.distance_reset_timer:kill() + cursor.distance_reset_timer:resume() + end + + Elements:update_proximities() + -- Update history + self.history:insert({x = self.x, y = self.y, time = mp.get_time()}) + end + + Elements:proximity_trigger('mouse_move') + self:queue_autohide() + end + + self:trigger('move') + + request_render() +end + +function cursor:leave() self:move(math.huge, math.huge) end + +function cursor:is_autohide_allowed() + return options.autohide and (not self.autohide_fs_only or state.fullscreen) + and not self.is_dragging_prevented + and not Menu:is_open() +end +mp.observe_property('cursor-autohide-fs-only', 'bool', function(_, val) cursor.autohide_fs_only = val end) + +-- Cursor auto-hiding after period of inactivity. +function cursor:autohide() + if self:is_autohide_allowed() then + self:leave() + self.autohide_timer:kill() + end +end + +function cursor:queue_autohide() + if self:is_autohide_allowed() then + self.autohide_timer:kill() + self.autohide_timer:resume() + end +end + +-- Calculates distance in which cursor reaches rectangle if it continues moving on the same path. +-- Returns `nil` if cursor is not moving towards the rectangle. +---@param rect Rect +function cursor:direction_to_rectangle_distance(rect) + local prev = self:_find_history_sample() + if not prev then return false end + local end_x, end_y = self.x + (self.x - prev.x) * 1e10, self.y + (self.y - prev.y) * 1e10 + return get_ray_to_rectangle_distance(self.x, self.y, end_x, end_y, rect) +end + +---@param event string +---@param shortcut Shortcut +---@param cb? fun(shortcut: Shortcut) +function cursor:create_handler(event, shortcut, cb) + return function() + if cb then cb(shortcut) end + self:trigger(event, shortcut) + end +end + +-- Movement +local function handle_mouse_pos(_, mouse) + if not mouse then return end + if cursor.last_hover and not mouse.hover then + cursor:leave() + elseif not (cursor.last_hover == false and mouse.hover == false) then -- filters out duplicate mouse out events + cursor:move(mouse.x, mouse.y) + end + cursor.last_hover = mouse.hover +end + +local function handle_touch_pos(_, touches) + if not touches then return end + local touch = touches[1] + if touch then + cursor:move(touch.x, touch.y) + end +end + +mp.observe_property('mouse-pos', 'native', handle_mouse_pos) +mp.observe_property('touch-pos', 'native', handle_touch_pos) + +-- Key binding groups +local modifiers = {nil, 'alt', 'alt+ctrl', 'alt+shift', 'alt+ctrl+shift', 'ctrl', 'ctrl+shift', 'shift'} +local primary_bindings = {} +for i = 1, #modifiers do + local mods = modifiers[i] + local mp_name = (mods and mods .. '+' or '') .. 'mbtn_left' + primary_bindings[#primary_bindings + 1] = { + mp_name, + cursor:create_handler('primary_up', create_shortcut('primary_up', mods)), + cursor:create_handler('primary_down', create_shortcut('primary_down', mods), function(...) + handle_mouse_pos(nil, mp.get_property_native('mouse-pos')) + end), + } +end +mp.set_key_bindings(primary_bindings, 'mbtn_left', 'force') +mp.set_key_bindings({ + {'mbtn_left_dbl', 'ignore'}, +}, 'mbtn_left_dbl', 'force') +mp.set_key_bindings({ + { + 'mbtn_right', + cursor:create_handler('secondary_up', create_shortcut('secondary_up')), + cursor:create_handler('secondary_down', create_shortcut('secondary_down')), + }, +}, 'mbtn_right', 'force') +mp.set_key_bindings({ + {'wheel_up', cursor:create_handler('wheel_up', create_shortcut('wheel_up'))}, + {'wheel_down', cursor:create_handler('wheel_down', create_shortcut('wheel_down'))}, +}, 'wheel', 'force') + +return cursor \ No newline at end of file diff --git a/scripts/uosc/lib/fzy.lua b/scripts/uosc/lib/fzy.lua new file mode 100644 index 0000000..e13ea8c --- /dev/null +++ b/scripts/uosc/lib/fzy.lua @@ -0,0 +1,297 @@ +--[[ The MIT License (MIT) + +Copyright (c) 2020 Seth Warn + +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. ]] + +-- The lua implementation of the fzy string matching algorithm + +local SCORE_GAP_LEADING = -0.005 +local SCORE_GAP_TRAILING = -0.005 +local SCORE_GAP_INNER = -0.01 +local SCORE_MATCH_CONSECUTIVE = 1.0 +local SCORE_MATCH_SLASH = 0.9 +local SCORE_MATCH_WORD = 0.8 +local SCORE_MATCH_CAPITAL = 0.7 +local SCORE_MATCH_DOT = 0.6 +local SCORE_MAX = math.huge +local SCORE_MIN = -math.huge +local MATCH_MAX_LENGTH = 1024 + +local fzy = {} + +-- Check if `needle` is a subsequence of the `haystack`. +-- +-- Usually called before `score` or `positions`. +-- +-- Args: +-- needle (string) +-- haystack (string) +-- case_sensitive (bool, optional): defaults to false +-- +-- Returns: +-- bool +function fzy.has_match(needle, haystack, case_sensitive) + if not case_sensitive then + needle = string.lower(needle) + haystack = string.lower(haystack) + end + + local j = 1 + for i = 1, string.len(needle) do + j = string.find(haystack, needle:sub(i, i), j, true) + if not j then + return false + else + j = j + 1 + end + end + + return true +end + +local function is_lower(c) + return c:match("%l") +end + +local function is_upper(c) + return c:match("%u") +end + +local function precompute_bonus(haystack) + local match_bonus = {} + + local last_char = "/" + for i = 1, string.len(haystack) do + local this_char = haystack:sub(i, i) + if last_char == "/" or last_char == "\\" then + match_bonus[i] = SCORE_MATCH_SLASH + elseif last_char == "-" or last_char == "_" or last_char == " " then + match_bonus[i] = SCORE_MATCH_WORD + elseif last_char == "." then + match_bonus[i] = SCORE_MATCH_DOT + elseif is_lower(last_char) and is_upper(this_char) then + match_bonus[i] = SCORE_MATCH_CAPITAL + else + match_bonus[i] = 0 + end + + last_char = this_char + end + + return match_bonus +end + +local function compute(needle, haystack, D, M, case_sensitive) + -- Note that the match bonuses must be computed before the arguments are + -- converted to lowercase, since there are bonuses for camelCase. + local match_bonus = precompute_bonus(haystack) + local n = string.len(needle) + local m = string.len(haystack) + + if not case_sensitive then + needle = string.lower(needle) + haystack = string.lower(haystack) + end + + -- Because lua only grants access to chars through substring extraction, + -- get all the characters from the haystack once now, to reuse below. + local haystack_chars = {} + for i = 1, m do + haystack_chars[i] = haystack:sub(i, i) + end + + for i = 1, n do + D[i] = {} + M[i] = {} + + local prev_score = SCORE_MIN + local gap_score = i == n and SCORE_GAP_TRAILING or SCORE_GAP_INNER + local needle_char = needle:sub(i, i) + + for j = 1, m do + if needle_char == haystack_chars[j] then + local score = SCORE_MIN + if i == 1 then + score = ((j - 1) * SCORE_GAP_LEADING) + match_bonus[j] + elseif j > 1 then + local a = M[i - 1][j - 1] + match_bonus[j] + local b = D[i - 1][j - 1] + SCORE_MATCH_CONSECUTIVE + score = math.max(a, b) + end + D[i][j] = score + prev_score = math.max(score, prev_score + gap_score) + M[i][j] = prev_score + else + D[i][j] = SCORE_MIN + prev_score = prev_score + gap_score + M[i][j] = prev_score + end + end + end +end + +-- Compute a matching score. +-- +-- Args: +-- needle (string): must be a subsequence of `haystack`, or the result is +-- undefined. +-- haystack (string) +-- case_sensitive (bool, optional): defaults to false +-- +-- Returns: +-- number: higher scores indicate better matches. See also `get_score_min` +-- and `get_score_max`. +function fzy.score(needle, haystack, case_sensitive) + local n = string.len(needle) + local m = string.len(haystack) + + if n == 0 or m == 0 or m > MATCH_MAX_LENGTH or n > m then + return SCORE_MIN + elseif n == m then + return SCORE_MAX + else + local D = {} + local M = {} + compute(needle, haystack, D, M, case_sensitive) + return M[n][m] + end +end + +-- Compute the locations where fzy matches a string. +-- +-- Determine where each character of the `needle` is matched to the `haystack` +-- in the optimal match. +-- +-- Args: +-- needle (string): must be a subsequence of `haystack`, or the result is +-- undefined. +-- haystack (string) +-- case_sensitive (bool, optional): defaults to false +-- +-- Returns: +-- {int,...}: indices, where `indices[n]` is the location of the `n`th +-- character of `needle` in `haystack`. +-- number: the same matching score returned by `score` +function fzy.positions(needle, haystack, case_sensitive) + local n = string.len(needle) + local m = string.len(haystack) + + if n == 0 or m == 0 or m > MATCH_MAX_LENGTH or n > m then + return {}, SCORE_MIN + elseif n == m then + local consecutive = {} + for i = 1, n do + consecutive[i] = i + end + return consecutive, SCORE_MAX + end + + local D = {} + local M = {} + compute(needle, haystack, D, M, case_sensitive) + + local positions = {} + local match_required = false + local j = m + for i = n, 1, -1 do + while j >= 1 do + if D[i][j] ~= SCORE_MIN and (match_required or D[i][j] == M[i][j]) then + match_required = (i ~= 1) and (j ~= 1) and ( + M[i][j] == D[i - 1][j - 1] + SCORE_MATCH_CONSECUTIVE) + positions[i] = j + j = j - 1 + break + else + j = j - 1 + end + end + end + + return positions, M[n][m] +end + +-- Apply `has_match` and `positions` to an array of haystacks. +-- +-- Args: +-- needle (string) +-- haystack ({string, ...}) +-- case_sensitive (bool, optional): defaults to false +-- +-- Returns: +-- {{idx, positions, score}, ...}: an array with one entry per matching line +-- in `haystacks`, each entry giving the index of the line in `haystacks` +-- as well as the equivalent to the return value of `positions` for that +-- line. +function fzy.filter(needle, haystacks, case_sensitive) + local result = {} + + for i, line in ipairs(haystacks) do + if fzy.has_match(needle, line, case_sensitive) then + local p, s = fzy.positions(needle, line, case_sensitive) + table.insert(result, {i, p, s}) + end + end + + return result +end + +-- The lowest value returned by `score`. +-- +-- In two special cases: +-- - an empty `needle`, or +-- - a `needle` or `haystack` larger than than `get_max_length`, +-- the `score` function will return this exact value, which can be used as a +-- sentinel. This is the lowest possible score. +function fzy.get_score_min() + return SCORE_MIN +end + +-- The score returned for exact matches. This is the highest possible score. +function fzy.get_score_max() + return SCORE_MAX +end + +-- The maximum size for which `fzy` will evaluate scores. +function fzy.get_max_length() + return MATCH_MAX_LENGTH +end + +-- The minimum score returned for normal matches. +-- +-- For matches that don't return `get_score_min`, their score will be greater +-- than than this value. +function fzy.get_score_floor() + return MATCH_MAX_LENGTH * SCORE_GAP_INNER +end + +-- The maximum score for non-exact matches. +-- +-- For matches that don't return `get_score_max`, their score will be less than +-- this value. +function fzy.get_score_ceiling() + return MATCH_MAX_LENGTH * SCORE_MATCH_CONSECUTIVE +end + +-- The name of the currently-running implementation, "lua" or "native". +function fzy.get_implementation_name() + return "lua" +end + +return fzy \ No newline at end of file diff --git a/scripts/uosc/lib/intl.lua b/scripts/uosc/lib/intl.lua new file mode 100644 index 0000000..7589eab --- /dev/null +++ b/scripts/uosc/lib/intl.lua @@ -0,0 +1,68 @@ +local intl_dir = mp.get_script_directory() .. '/intl/' +local locale = {} +local cache = {} + +-- https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/supported-languages?pivots=store-installer-msix#list-of-supported-languages +function get_languages() + local languages = {} + + for _, lang in ipairs(comma_split(options.languages)) do + if (lang == 'slang') then + local slang = mp.get_property_native('slang') + if slang then + itable_append(languages, slang) + end + else + languages[#languages +1] = lang + end + end + + return languages +end + +---@param path string +function get_locale_from_json(path) + local expand_path = mp.command_native({'expand-path', path}) + + local meta, meta_error = utils.file_info(expand_path) + if not meta or not meta.is_file then + return nil + end + + local json_file = io.open(expand_path, 'r') + if not json_file then + return nil + end + + local json = json_file:read('*all') + json_file:close() + + local json_table = utils.parse_json(json) + return json_table +end + +---@param text string +function t(text, a) + if not text then return '' end + local key = text + if a then key = key .. '|' .. a end + if cache[key] then return cache[key] end + cache[key] = string.format(locale[text] or text, a or '') + return cache[key] +end + +-- Load locales +local languages = get_languages() + +for i = #languages, 1, -1 do + lang = languages[i] + if (lang:match('.json$')) then + table_assign(locale, get_locale_from_json(lang)) + elseif (lang == 'en') then + locale = {} + else + table_assign(locale, get_locale_from_json(intl_dir .. lang:lower() .. '.json')) + end +end + +return {t = t} \ No newline at end of file diff --git a/scripts/uosc/lib/menus.lua b/scripts/uosc/lib/menus.lua new file mode 100644 index 0000000..5e7f844 --- /dev/null +++ b/scripts/uosc/lib/menus.lua @@ -0,0 +1,1138 @@ +---@alias OpenCommandMenuOptions {submenu?: string; mouse_nav?: boolean; on_close?: string | string[]} +---@param data MenuData +---@param opts? OpenCommandMenuOptions +function open_command_menu(data, opts) + opts = opts or {} + local menu + + local function run_command(command) + if type(command) == 'table' then + ---@diagnostic disable-next-line: deprecated + mp.commandv(unpack(command)) + else + mp.command(tostring(command)) + end + end + + local function callback(event) + if type(menu.root.callback) == 'table' then + ---@diagnostic disable-next-line: deprecated + mp.commandv(unpack(itable_join({'script-message-to'}, menu.root.callback, {utils.format_json(event)}))) + elseif event.type == 'activate' then + -- Modifiers and actions are not available on basic non-callback mode menus. + -- `alt` modifier should activate without closing the menu. + if (event.modifiers == 'alt' or not event.modifiers) and not event.action then + run_command(event.value) + end + -- Convention: Only pure item activations should close the menu. + -- Using modifiers or triggering item actions should not. + if not event.keep_open and not event.modifiers and not event.action then + menu:close() + end + end + end + + ---@type MenuOptions + local menu_opts = table_assign_props({}, opts, {'mouse_nav'}) + menu = Menu:open(data, callback, menu_opts) + if opts.submenu then menu:activate_menu(opts.submenu) end + return menu +end + +---@param opts? OpenCommandMenuOptions +function toggle_menu_with_items(opts) + if Menu:is_open('menu') then + Menu:close() + else + open_command_menu({type = 'menu', items = get_menu_items(), search_submenus = true}, opts) + end +end + +---@alias TrackEventRemove {type: 'remove' | 'delete', index: number; value: any;} +---@alias TrackEventReload {type: 'reload', index: number; value: any;} +---@param opts {type: string; title: string; list_prop: string; active_prop?: string; footnote?: string; serializer: fun(list: any, active: any): MenuDataItem[]; actions?: MenuAction[]; actions_place?: 'inside'|'outside'; on_paste: fun(event: MenuEventPaste); on_move?: fun(event: MenuEventMove); on_activate?: fun(event: MenuEventActivate); on_remove?: fun(event: TrackEventRemove); on_delete?: fun(event: TrackEventRemove); on_reload?: fun(event: TrackEventReload); on_key?: fun(event: MenuEventKey, close: fun())} +function create_self_updating_menu_opener(opts) + return function() + if Menu:is_open(opts.type) then + Menu:close() + return + end + local list = mp.get_property_native(opts.list_prop) + local active = opts.active_prop and mp.get_property_native(opts.active_prop) or nil + local menu + + local function update() menu:update_items(opts.serializer(list, active)) end + + local ignore_initial_list = true + local function handle_list_prop_change(name, value) + if ignore_initial_list then + ignore_initial_list = false + else + list = value + update() + end + end + + local ignore_initial_active = true + local function handle_active_prop_change(name, value) + if ignore_initial_active then + ignore_initial_active = false + else + active = value + update() + end + end + + local function cleanup_and_close() + mp.unobserve_property(handle_list_prop_change) + mp.unobserve_property(handle_active_prop_change) + menu:close() + end + + local initial_items, selected_index = opts.serializer(list, active) + + ---@type MenuAction[] + local actions = opts.actions or {} + if opts.on_move then + actions[#actions + 1] = { + name = 'move_up', + icon = 'arrow_upward', + label = t('Move up') .. ' (ctrl+up/pgup/home)', + filter_hidden = true, + } + actions[#actions + 1] = { + name = 'move_down', + icon = 'arrow_downward', + label = t('Move down') .. ' (ctrl+down/pgdwn/end)', + filter_hidden = true, + } + end + if opts.on_reload then + actions[#actions + 1] = {name = 'reload', icon = 'refresh', label = t('Reload') .. ' (f5)'} + end + if opts.on_remove or opts.on_delete then + local label = (opts.on_remove and t('Remove') or t('Delete')) .. ' (del)' + if opts.on_remove and opts.on_delete then + label = t('Remove') .. ' (' .. t('%s to delete', 'del, ctrl+del') .. ')' + end + actions[#actions + 1] = {name = 'remove', icon = 'delete', label = label} + end + + function remove_or_delete(index, value, menu_id, modifiers) + if opts.on_remove and opts.on_delete then + local method = modifiers == 'ctrl' and 'delete' or 'remove' + local handler = method == 'delete' and opts.on_delete or opts.on_remove + if handler then + handler({type = method, value = value, index = index}) + end + elseif opts.on_remove or opts.on_delete then + local method = opts.on_delete and 'delete' or 'remove' + local handler = opts.on_delete or opts.on_remove + if handler then + handler({type = method, value = value, index = index}) + end + end + end + + -- Items and active_index are set in the handle_prop_change callback, since adding + -- a property observer triggers its handler immediately, we just let that initialize the items. + menu = Menu:open({ + type = opts.type, + title = opts.title, + footnote = opts.footnote, + items = initial_items, + item_actions = actions, + item_actions_place = opts.actions_place, + selected_index = selected_index, + on_move = opts.on_move and 'callback' or nil, + on_paste = opts.on_paste and 'callback' or nil, + }, function(event) + if event.type == 'activate' then + if (event.action == 'move_up' or event.action == 'move_down') and opts.on_move then + local to_index = event.index + (event.action == 'move_up' and -1 or 1) + if to_index >= 1 and to_index <= #menu.current.items then + opts.on_move({ + type = 'move', + from_index = event.index, + to_index = to_index, + menu_id = menu.current.id, + }) + menu:select_index(to_index) + if not event.is_pointer then + menu:scroll_to_index(to_index, nil, true) + end + end + elseif event.action == 'reload' and opts.on_reload then + opts.on_reload({type = 'reload', index = event.index, value = event.value}) + elseif event.action == 'remove' and (opts.on_remove or opts.on_delete) then + remove_or_delete(event.index, event.value, event.menu_id, event.modifiers) + else + opts.on_activate(event --[[@as MenuEventActivate]]) + if not event.modifiers and not event.action then cleanup_and_close() end + end + elseif event.type == 'key' then + local item = event.selected_item + if event.id == 'enter' then + -- We get here when there's no selectable item in menu and user presses enter. + cleanup_and_close() + elseif event.key == 'f5' and opts.on_reload and item then + opts.on_reload({type = 'reload', index = item.index, value = item.value}) + elseif event.key == 'del' and (opts.on_remove or opts.on_delete) and item then + if itable_has({nil, 'ctrl'}, event.modifiers) then + remove_or_delete(item.index, item.value, event.menu_id, event.modifiers) + end + elseif opts.on_key then + opts.on_key(event --[[@as MenuEventKey]], cleanup_and_close) + end + elseif event.type == 'paste' and opts.on_paste then + opts.on_paste(event --[[@as MenuEventPaste]]) + elseif event.type == 'close' then + cleanup_and_close() + elseif event.type == 'move' and opts.on_move then + opts.on_move(event --[[@as MenuEventMove]]) + elseif event.type == 'remove' and opts.on_move then + end + end) + + mp.observe_property(opts.list_prop, 'native', handle_list_prop_change) + if opts.active_prop then + mp.observe_property(opts.active_prop, 'native', handle_active_prop_change) + end + end +end + +---@param opts {title: string; type: string; prop: string; enable_prop?: string; secondary?: {prop: string; icon: string; enable_prop?: string}; load_command: string; download_command?: string} +function create_select_tracklist_type_menu_opener(opts) + local snd = opts.secondary + local function get_props() + return tonumber(mp.get_property(opts.prop)), snd and tonumber(mp.get_property(snd.prop)) or nil + end + + local function serialize_tracklist(tracklist) + local items = {} + + if opts.load_command then + items[#items + 1] = { + title = t('Load'), + bold = true, + italic = true, + hint = t('open file'), + value = '{load}', + actions = opts.download_command + and {{name = 'download', icon = 'language', label = t('Search online')}} + or nil, + } + end + if #items > 0 then + items[#items].separator = true + end + + local track_prop_index, snd_prop_index = get_props() + local filename = mp.get_property_native('filename/no-ext') + local escaped_filename = filename and regexp_escape(filename) + local first_item_index = #items + 1 + local active_index = nil + local disabled_item = nil + local track_actions = nil + local track_external_actions = {} + + if snd then + local action = { + name = 'as_secondary', icon = snd.icon, label = t('Use as secondary') .. ' (shift+enter/click)', + } + track_actions = {action} + table.insert(track_external_actions, action) + end + table.insert(track_external_actions, {name = 'reload', icon = 'refresh', label = t('Reload') .. ' (f5)'}) + table.insert(track_external_actions, {name = 'remove', icon = 'delete', label = t('Remove') .. ' (del)'}) + + for _, track in ipairs(tracklist) do + if track.type == opts.type then + local hint_values = {} + local track_selected = track.selected and track.id == track_prop_index + local snd_selected = snd and track.id == snd_prop_index + local function h(value) + value = trim(value) + if #value > 0 then hint_values[#hint_values + 1] = value end + end + + if track.lang then h(track.lang) end + if track['demux-h'] then + h(track['demux-w'] and (track['demux-w'] .. 'x' .. track['demux-h']) or (track['demux-h'] .. 'p')) + end + if track['demux-fps'] then h(string.format('%.5gfps', track['demux-fps'])) end + h(track.codec) + if track['audio-channels'] then + h(track['audio-channels'] == 1 + and t('%s channel', track['audio-channels']) + or t('%s channels', track['audio-channels'])) + end + if track['demux-samplerate'] then h(string.format('%.3gkHz', track['demux-samplerate'] / 1000)) end + if track.forced then h(t('forced')) end + if track.default then h(t('default')) end + if track.external then + local extension = track.title:match('%.([^%.]+)$') + if track.title and escaped_filename and extension then + track.title = trim(track.title:gsub(escaped_filename .. '%.?', ''):gsub('%.?([^%.]+)$', '')) + if track.title == '' or track.lang and track.title:lower() == track.lang:lower() then + track.title = nil + end + end + h(t('external')) + end + + items[#items + 1] = { + title = (track.title and track.title or t('Track %s', track.id)), + hint = table.concat(hint_values, ', '), + value = track.id, + active = track_selected or snd_selected, + italic = snd_selected, + icon = snd and snd_selected and snd.icon or nil, + actions = track.external and track_external_actions or track_actions, + } + + if track_selected then + if disabled_item then disabled_item.active = false end + active_index = #items + end + end + end + + return items, active_index or first_item_index + end + + local function reload(id) + if id then mp.commandv(opts.type .. '-reload', id) end + end + local function remove(id) + if id then mp.commandv(opts.type .. '-remove', id) end + end + + ---@param event MenuEventActivate + local function handle_activate(event) + if event.value == '{load}' then + mp.command(event.action == 'download' and opts.download_command or opts.load_command) + else + if snd and (event.action == 'as_secondary' or event.modifiers == 'shift') then + local _, snd_track_index = get_props() + mp.commandv('set', snd.prop, event.value == snd_track_index and 'no' or event.value) + if snd.enable_prop then + mp.commandv('set', snd.enable_prop, 'yes') + end + elseif event.action == 'reload' then + reload(event.value) + elseif event.action == 'remove' then + remove(event.value) + elseif not event.modifiers or event.modifiers == 'alt' then + mp.commandv('set', opts.prop, event.value == get_props() and 'no' or event.value) + if opts.enable_prop then + mp.commandv('set', opts.enable_prop, 'yes') + end + end + end + end + + ---@param event MenuEventKey + local function handle_key(event) + if event.selected_item then + if event.id == 'f5' then + reload(event.selected_item.value) + elseif event.id == 'del' then + remove(event.selected_item.value) + end + end + end + + return create_self_updating_menu_opener({ + title = opts.title, + footnote = t('Toggle to disable.') .. ' ' .. t('Paste path or url to add.'), + type = opts.type, + list_prop = 'track-list', + serializer = serialize_tracklist, + on_activate = handle_activate, + on_key = handle_key, + actions_place = 'outside', + on_paste = function(event) load_track(opts.type, event.value) end, + }) +end + +---@alias NavigationMenuOptions {type: string, title?: string, allowed_types?: string[], file_actions?: MenuAction[], directory_actions?: MenuAction[], active_path?: string, selected_path?: string; on_close?: fun()} + +-- Opens a file navigation menu with items inside `directory_path`. +---@param directory_path string +---@param handle_activate fun(event: MenuEventActivate) +---@param opts NavigationMenuOptions +function open_file_navigation_menu(directory_path, handle_activate, opts) + if directory_path == '{drives}' then + if state.platform ~= 'windows' then directory_path = '/' end + else + directory_path = normalize_path(mp.command_native({'expand-path', directory_path})) + end + + opts = opts or {} + ---@type string|nil + local current_directory = nil + ---@type Menu + local menu + ---@type string | nil + local back_path + local separator = path_separator(directory_path) + + ---@param path string Can be path to a directory, or special string `'{drives}'` to get windows drives items. + ---@param selected_path? string Marks item with this path as active. + ---@return MenuStackChild[] menu_items + ---@return number selected_index + ---@return string|nil error + local function serialize_items(path, selected_path) + if path == '{drives}' then + local process = mp.command_native({ + name = 'subprocess', + capture_stdout = true, + playback_only = false, + args = {'fsutil', 'fsinfo', 'drives'}, + }) + local items, selected_index = {}, 1 + + if process.status == 0 then + for drive in process.stdout:gmatch('(%a:)\\') do + if drive then + local drive_path = normalize_path(drive) + items[#items + 1] = { + title = drive, hint = t('drive'), value = drive_path, active = opts.active_path == drive_path, + } + if selected_path == drive_path then selected_index = #items end + end + end + else + return {}, 1, 'Couldn\'t open drives. Error: ' .. utils.to_string(process.stderr) + end + return items, selected_index + end + + local serialized = serialize_path(path) + if not serialized then + return {}, 0, 'Couldn\'t serialize path "' .. path .. '.' + end + local files, directories, error = read_directory(serialized.path, { + types = opts.allowed_types, + hidden = options.show_hidden_files, + }) + if error then + return {}, 1, error + end + local is_root = not serialized.dirname + + if not files or not directories then return {}, 0 end + + sort_strings(directories) + sort_strings(files) + + -- Pre-populate items with parent directory selector if not at root + -- Each item value is a serialized path table it points to. + local items = {} + + if is_root then + if state.platform == 'windows' then + items[#items + 1] = {title = '..', hint = t('Drives'), value = '{drives}', separator = true, is_to_parent = true} + end + else + items[#items + 1] = {title = '..', hint = t('parent dir'), value = serialized.dirname, separator = true, is_to_parent = true} + end + + back_path = items[#items] and items[#items].value + local selected_index = #items + 1 + + for _, dir in ipairs(directories) do + items[#items + 1] = { + title = dir .. ' ' .. separator, + value = join_path(path, dir), + bold = true, + actions = opts + .directory_actions, + } + end + + for _, file in ipairs(files) do + items[#items + 1] = {title = file, value = join_path(path, file), actions = opts.file_actions} + end + + for index, item in ipairs(items) do + if not item.is_to_parent then + if opts.active_path == item.value then + item.active = true + if not selected_path then selected_index = index end + end + + if selected_path == item.value then selected_index = index end + end + end + + return items, selected_index + end + + local menu_data = { + type = opts.type, + title = opts.title or '', + footnote = t('%s to go up in tree.', 'alt+up') .. ' ' .. t('Paste path or url to open.'), + items = {}, + on_paste = 'callback', + } + + ---@param path string + local function open_directory(path) + local items, selected_index, error = serialize_items(path, current_directory) + if error then + msg.error(error) + items = {{title = 'Something went wrong. See console for errors.', selectable = false, muted = true}} + end + + local title = opts.title + if not title then + if path == '{drives}' then + title = 'Drives' + else + local serialized = serialize_path(path) + title = serialized and serialized.basename .. separator or '??' + end + end + + current_directory = path + menu_data.title = title + menu_data.items = items + menu:search_cancel() + menu:update(menu_data) + menu:select_index(selected_index) + menu:scroll_to_index(selected_index, nil, true) + end + + local function close() + menu:close() + if opts.on_close then opts.on_close() end + end + + ---@param event MenuEventActivate + ---@param only_if_dir? boolean Activate item only if it's a directory. + local function activate(event, only_if_dir) + local path = event.value + local is_drives = path == '{drives}' + + if is_drives then + open_directory(path) + return + end + + local info, error = utils.file_info(path) + + if not info then + msg.error('Can\'t retrieve path info for "' .. path .. '". Error: ' .. (error or '')) + return + end + + if info.is_dir and not event.modifiers and not event.action then + open_directory(path) + elseif not only_if_dir then + handle_activate(event) + end + end + + menu = Menu:open(menu_data, function(event) + if event.type == 'activate' then + activate(event --[[@as MenuEventActivate]]) + elseif event.type == 'back' or event.type == 'key' and itable_has({'alt+up', 'left'}, event.id) then + if back_path then open_directory(back_path) end + elseif event.type == 'paste' then + handle_activate({type = 'activate', value = event.value}) + elseif event.type == 'key' then + if event.id == 'right' then + local selected_item = event.selected_item + if selected_item then + activate(table_assign({}, selected_item, {type = 'activate'}), true) + end + elseif event.id == 'ctrl+c' and event.selected_item then + set_clipboard(event.selected_item.value) + end + elseif event.type == 'close' then + close() + end + end) + + open_directory(directory_path) + + return menu +end + +-- On demand menu items loading +do + ---@type {key: string; cmd: string; comment: string; is_menu_item: boolean}[]|nil + local all_user_bindings = nil + ---@type MenuStackItem[]|nil + local menu_items = nil + + local function is_uosc_menu_comment(v) return v:match('^!') or v:match('^menu:') end + + -- Returns all relevant bindings from `input.conf`, even if they are overwritten + -- (same key bound to something else later) or have no keys (uosc menu items). + function get_all_user_bindings() + if all_user_bindings then return all_user_bindings end + all_user_bindings = {} + + local input_conf_property = mp.get_property_native('input-conf') + local input_conf_iterator + if input_conf_property:sub(1, 9) == 'memory://' then + -- mpv.net v7 + local input_conf_lines = split(input_conf_property:sub(10), '\n') + local i = 0 + input_conf_iterator = function() + i = i + 1 + return input_conf_lines[i] + end + else + local input_conf = input_conf_property == '' and '~~/input.conf' or input_conf_property + local input_conf_path = mp.command_native({'expand-path', input_conf}) + local input_conf_meta, meta_error = utils.file_info(input_conf_path) + + -- File doesn't exist + if not input_conf_meta or not input_conf_meta.is_file then + menu_items = create_default_menu_items() + return menu_items, all_user_bindings + end + + input_conf_iterator = io.lines(input_conf_path) + end + + for line in input_conf_iterator do + local key, command, comment = string.match(line, '%s*([%S]+)%s+([^#]*)%s*(.-)%s*$') + local is_commented_out = key and key:sub(1, 1) == '#' + + if comment and #comment > 0 then comment = comment:sub(2) end + if command then command = trim(command) end + + local is_menu_item = comment and is_uosc_menu_comment(comment) + + if key + -- Filter out stuff like `#F2`, which is clearly intended to be disabled + and not (is_commented_out and #key > 1) + -- Filter out comments that are not uosc menu items + and (not is_commented_out or is_menu_item) then + all_user_bindings[#all_user_bindings + 1] = { + key = key, + cmd = command, + comment = comment or '', + is_menu_item = is_menu_item, + } + end + end + + return all_user_bindings + end + + function get_menu_items() + if menu_items then return menu_items end + + local all_user_bindings = get_all_user_bindings() + local main_menu = {items = {}, items_by_command = {}} + local by_id = {} + + for _, bind in ipairs(all_user_bindings) do + local key, command, comment = bind.key, bind.cmd, bind.comment + local title = '' + + if comment then + local comments = split(comment, '#') + local titles = itable_filter(comments, is_uosc_menu_comment) + if titles and #titles > 0 then + title = titles[1]:match('^!%s*(.*)%s*') or titles[1]:match('^menu:%s*(.*)%s*') + end + end + + if title ~= '' then + local is_dummy = key:sub(1, 1) == '#' + local submenu_id = '' + local target_menu = main_menu + local title_parts = split(title or '', ' *> *') + + for index, title_part in ipairs(#title_parts > 0 and title_parts or {''}) do + if index < #title_parts then + submenu_id = submenu_id .. title_part + + if not by_id[submenu_id] then + local items = {} + by_id[submenu_id] = {items = items, items_by_command = {}} + target_menu.items[#target_menu.items + 1] = {title = title_part, items = items} + end + + target_menu = by_id[submenu_id] + else + -- If command is already in menu, just append the key to it + if key ~= '#' and command ~= '' and target_menu.items_by_command[command] then + local hint = target_menu.items_by_command[command].hint + local key_human = keybind_to_human(key) + target_menu.items_by_command[command].hint = hint and hint .. ', ' .. key_human or key_human + else + -- Separator + if title_part:sub(1, 3) == '---' then + local last_item = target_menu.items[#target_menu.items] + if last_item then last_item.separator = true end + elseif command ~= 'ignore' then + local item = { + title = title_part, + hint = not is_dummy and keybind_to_human(key) or nil, + value = command, + } + if command == '' then + item.selectable = false + item.muted = true + item.italic = true + else + target_menu.items_by_command[command] = item + end + target_menu.items[#target_menu.items + 1] = item + end + end + end + end + end + end + + menu_items = #main_menu.items > 0 and main_menu.items or create_default_menu_items() + return menu_items + end +end + +-- Adapted from `stats.lua` +function get_keybinds_items() + local items = {} + -- uosc and mpv-menu-plugin binds with no keys + local no_key_menu_binds = itable_filter( + get_all_user_bindings(), + function(b) return b.is_menu_item and b.cmd and b.cmd ~= '' and (b.key == '#' or b.key == '_') end + ) + local binds_dump = itable_join(find_active_keybindings(), no_key_menu_binds) + local ids = {} + + -- Convert to menu items + for _, bind in pairs(binds_dump) do + local id = bind.key .. '<>' .. bind.cmd + if not ids[id] then + ids[id] = true + items[#items + 1] = {title = bind.cmd, hint = keybind_to_human(bind.key) or bind.key, value = bind.cmd} + end + end + + -- Sort + table.sort(items, function(a, b) return a.title < b.title end) + + return #items > 0 and items or { + { + title = t('%s are empty', '`input-bindings`'), + selectable = false, + align = 'center', + italic = true, + muted = true, + }, + } +end + +function open_stream_quality_menu() + if Menu:is_open('stream-quality') then + Menu:close() + return + end + + local ytdl_format = mp.get_property_native('ytdl-format') + local items = {} + ---@type Menu + local menu + + for _, height in ipairs(config.stream_quality_options) do + local format = 'bestvideo[height<=?' .. height .. ']+bestaudio/best[height<=?' .. height .. ']' + items[#items + 1] = {title = height .. 'p', value = format, active = format == ytdl_format} + end + + menu = Menu:open({type = 'stream-quality', title = t('Stream quality'), items = items}, function(event) + if event.type == 'activate' then + mp.set_property('ytdl-format', event.value) + + -- Reload the video to apply new format + -- This is taken from https://github.com/jgreco/mpv-youtube-quality + -- which is in turn taken from https://github.com/4e6/mpv-reload/ + local duration = mp.get_property_native('duration') + local time_pos = mp.get_property('time-pos') + + mp.command('playlist-play-index current') + + -- Tries to determine live stream vs. pre-recorded VOD. VOD has non-zero + -- duration property. When reloading VOD, to keep the current time position + -- we should provide offset from the start. Stream doesn't have fixed start. + -- Decent choice would be to reload stream from it's current 'live' position. + -- That's the reason we don't pass the offset when reloading streams. + if duration and duration > 0 then + local function seeker() + mp.commandv('seek', time_pos, 'absolute') + mp.unregister_event(seeker) + end + mp.register_event('file-loaded', seeker) + end + + if not event.alt then menu:close() end + end + end) +end + +function open_open_file_menu() + if Menu:is_open('open-file') then + Menu:close() + return + end + + ---@type Menu | nil + local menu + local directory + local active_file + + if state.path == nil or is_protocol(state.path) then + directory = options.default_directory + active_file = nil + else + local serialized = serialize_path(state.path) + if serialized then + directory = serialized.dirname + active_file = serialized.path + end + end + + if not directory then + msg.error('Couldn\'t serialize path "' .. state.path .. '".') + return + end + + -- Update active file in directory navigation menu + local function handle_file_loaded() + if menu and menu:is_alive() then + menu:activate_one_value(normalize_path(mp.get_property_native('path'))) + end + end + + menu = open_file_navigation_menu( + directory, + function(event) + if not menu then return end + local command = has_any_extension(event.value, config.types.playlist) and 'loadlist' or 'loadfile' + if event.modifiers == 'shift' or event.action == 'add_to_playlist' then + mp.commandv(command, event.value, 'append') + local serialized = serialize_path(event.value) + local filename = serialized and serialized.basename or event.value + mp.commandv('show-text', t('Added to playlist') .. ': ' .. filename, 3000) + elseif itable_has({nil, 'ctrl', 'alt', 'alt+ctrl'}, event.modifiers) and itable_has({nil, 'force_open'}, event.action) then + mp.commandv(command, event.value) + if not event.alt then menu:close() end + end + end, + { + type = 'open-file', + allowed_types = config.types.media, + active_path = active_file, + directory_actions = { + {name = 'add_to_playlist', icon = 'playlist_add', label = t('Add to playlist') .. ' (shift+enter/click)'}, + {name = 'force_open', icon = 'play_circle_outline', label = t('Open in mpv') .. ' (ctrl+enter/click)'}, + }, + file_actions = { + {name = 'add_to_playlist', icon = 'playlist_add', label = t('Add to playlist') .. ' (shift+enter/click)'}, + }, + keep_open = true, + on_close = function() mp.unregister_event(handle_file_loaded) end, + } + ) + if menu then mp.register_event('file-loaded', handle_file_loaded) end +end + +---@param opts {prop: 'sub'|'audio'|'video'; title: string; loaded_message: string; allowed_types: string[]} +function create_track_loader_menu_opener(opts) + local menu_type = 'load-' .. opts.prop + return function() + if Menu:is_open(menu_type) then + Menu:close() + return + end + + ---@type Menu + local menu + local path = state.path + if path then + if is_protocol(path) then + path = false + else + local serialized_path = serialize_path(path) + path = serialized_path ~= nil and serialized_path.dirname or false + end + end + if not path then + path = options.default_directory + end + + local function handle_activate(event) + load_track(opts.prop, event.value) + local serialized = serialize_path(event.value) + local filename = serialized and serialized.basename or event.value + mp.commandv('show-text', opts.loaded_message .. ': ' .. filename, 3000) + if not event.alt then menu:close() end + end + + menu = open_file_navigation_menu(path, handle_activate, { + type = menu_type, title = opts.title, allowed_types = opts.allowed_types, + }) + end +end + +function open_subtitle_downloader() + local menu_type = 'download-subtitles' + ---@type Menu + local menu + + if Menu:is_open(menu_type) then + Menu:close() + return + end + + local search_suggestion, file_path, destination_directory = '', nil, nil + local credentials = {'--api-key', config.open_subtitles_api_key, '--agent', config.open_subtitles_agent} + + if state.path then + if is_protocol(state.path) then + local title = mp.get_property_native('title') + if title and not is_protocol(title) then search_suggestion = title end + else + local serialized_path = serialize_path(state.path) + if serialized_path then + search_suggestion = serialized_path.filename + file_path = state.path + destination_directory = serialized_path.dirname + end + end + end + + local force_destination = options.subtitles_directory:sub(1, 1) == '!' + if force_destination or not destination_directory then + local subtitles_directory = options.subtitles_directory:sub(force_destination and 2 or 1) + destination_directory = mp.command_native({'expand-path', subtitles_directory}) + end + + local handle_download, handle_search + + -- Checks if there an error, or data is invalid. If true, reports the error, + -- updates menu to inform about it, and returns true. + ---@param error string|nil + ---@param data any + ---@param check_is_valid? fun(data: any):boolean + ---@return boolean abort Whether the further response handling should be aborted. + local function should_abort(error, data, check_is_valid) + if error or not data or (not check_is_valid or not check_is_valid(data)) then + menu:update_items({ + { + title = t('Something went wrong.'), + align = 'center', + muted = true, + italic = true, + selectable = false, + }, + { + title = t('See console for details.'), + align = 'center', + muted = true, + italic = true, + selectable = false, + }, + }) + msg.error(error or ('Invalid response: ' .. (utils.format_json(data) or tostring(data)))) + return true + end + return false + end + + ---@param data {kind: 'file', id: number}|{kind: 'page', query: string, page: number} + handle_download = function(data) + if data.kind == 'page' then + handle_search(data.query, data.page) + return + end + + menu = Menu:open({ + type = menu_type .. '-result', + search_style = 'disabled', + items = {{icon = 'spinner', align = 'center', selectable = false, muted = true}}, + }, function(event) + if event.type == 'key' and event.key == 'enter' then + menu:close() + end + end) + + local args = itable_join({'download-subtitles'}, credentials, { + '--file-id', tostring(data.id), + '--destination', destination_directory, + }) + + call_ziggy_async(args, function(error, data) + if not menu:is_alive() then return end + if should_abort(error, data, function(data) return type(data.file) == 'string' end) then return end + + load_track('sub', data.file) + + menu:update_items({ + { + title = t('Subtitles loaded & enabled'), + bold = true, + icon = 'check', + selectable = false, + }, + { + title = t('Remaining downloads today: %s', data.remaining .. '/' .. data.total), + italic = true, + muted = true, + icon = 'file_download', + selectable = false, + }, + { + title = t('Resets in: %s', data.reset_time), + italic = true, + muted = true, + icon = 'schedule', + selectable = false, + }, + }) + end) + end + + ---@param query string + ---@param page number|nil + handle_search = function(query, page) + if not menu:is_alive() then return end + page = math.max(1, type(page) == 'number' and round(page) or 1) + + menu:update_items({{icon = 'spinner', align = 'center', selectable = false, muted = true}}) + + local args = itable_join({'search-subtitles'}, credentials) + + local languages = itable_filter(get_languages(), function(lang) return lang:match('.json$') == nil end) + args[#args + 1] = '--languages' + args[#args + 1] = table.concat(table_keys(create_set(languages)), ',') -- deduplicates stuff like `en,eng,en` + + args[#args + 1] = '--page' + args[#args + 1] = tostring(page) + + if file_path then + args[#args + 1] = '--hash' + args[#args + 1] = file_path + end + + if query and #query > 0 then + args[#args + 1] = '--query' + args[#args + 1] = query + end + + call_ziggy_async(args, function(error, data) + if not menu:is_alive() then return end + + local function check_is_valid(data) + return type(data.data) == 'table' and data.page and data.total_pages + end + + if should_abort(error, data, check_is_valid) then return end + + local subs = itable_filter(data.data, function(sub) + return sub and sub.attributes and sub.attributes.release and type(sub.attributes.files) == 'table' and + #sub.attributes.files > 0 + end) + local items = itable_map(subs, function(sub) + local hints = {sub.attributes.language} + if sub.attributes.foreign_parts_only then hints[#hints + 1] = t('foreign parts only') end + if sub.attributes.hearing_impaired then hints[#hints + 1] = t('hearing impaired') end + local url = sub.attributes.url + return { + title = sub.attributes.release, + hint = table.concat(hints, ', '), + value = {kind = 'file', id = sub.attributes.files[1].file_id, url = url}, + keep_open = true, + actions = url and + {{name = 'open_in_browser', icon = 'open_in_new', label = t('Open in browser') .. ' (shift)'}}, + } + end) + + if #items == 0 then + items = { + {title = t('no results'), align = 'center', muted = true, italic = true, selectable = false}, + } + end + + if data.page > 1 then + items[#items + 1] = { + title = t('Previous page'), + align = 'center', + bold = true, + italic = true, + icon = 'navigate_before', + keep_open = true, + value = {kind = 'page', query = query, page = data.page - 1}, + } + end + + if data.page < data.total_pages then + items[#items + 1] = { + title = t('Next page'), + align = 'center', + bold = true, + italic = true, + icon = 'navigate_next', + keep_open = true, + value = {kind = 'page', query = query, page = data.page + 1}, + } + end + + menu:update_items(items) + end) + end + + local initial_items = { + {title = t('%s to search', 'enter'), align = 'center', muted = true, italic = true, selectable = false}, + } + + menu = Menu:open( + { + type = menu_type, + title = t('enter query'), + items = initial_items, + search_style = 'palette', + on_search = 'callback', + search_debounce = 'submit', + search_suggestion = search_suggestion, + search_submit = search_suggestion and #search_suggestion > 0, + }, + function(event) + if event.type == 'activate' then + if event.action == 'open_in_browser' or event.modifiers == 'shift' then + local command = ({ + windows = 'explorer', + linux = 'xdg-open', + darwin = 'open', + })[state.platform] + local url = event.value.url + mp.command_native_async({ + name = 'subprocess', + capture_stderr = true, + capture_stdout = true, + playback_only = false, + args = {command, url}, + }, function(success, result, error) + if not success then + local err_str = utils.to_string(error or result.stderr) + msg.error('Error trying to open url "' .. url .. '" in browser: ' .. err_str) + end + end) + elseif not event.action then + handle_download(event.value) + end + elseif event.type == 'search' then + handle_search(event.query) + end + end + ) +end \ No newline at end of file diff --git a/scripts/uosc/lib/std.lua b/scripts/uosc/lib/std.lua new file mode 100644 index 0000000..5462f7e --- /dev/null +++ b/scripts/uosc/lib/std.lua @@ -0,0 +1,381 @@ +--[[ Stateless utilities missing in lua standard library ]] + +---@alias Shortcut {id: string; key: string; modifiers?: string; alt: boolean; ctrl: boolean; shift: boolean} + +---@param number number +function round(number) return math.floor(number + 0.5) end + +---@param min number +---@param value number +---@param max number +function clamp(min, value, max) return math.max(min, math.min(value, max)) end + +---@param rgba string `rrggbb` or `rrggbbaa` hex string. +function serialize_rgba(rgba) + local a = rgba:sub(7, 8) + return { + color = rgba:sub(5, 6) .. rgba:sub(3, 4) .. rgba:sub(1, 2), + opacity = clamp(0, tonumber(#a == 2 and a or 'ff', 16) / 255, 1), + } +end + +-- Trim any white space from the start and end of the string. +---@param str string +---@return string +function trim(str) return str:match('^%s*(.-)%s*$') end + +-- Trim any `char` from the end of the string. +---@param str string +---@param char string +---@return string +function trim_end(str, char) + local char, end_i = char:byte(), 0 + for i = #str, 1, -1 do + if str:byte(i) ~= char then + end_i = i + break + end + end + return str:sub(1, end_i) +end + +---@param str string +---@param pattern string +---@return string[] +function split(str, pattern) + local list = {} + local full_pattern = '(.-)' .. pattern + local last_end = 1 + local start_index, end_index, capture = str:find(full_pattern, 1) + while start_index do + list[#list + 1] = capture + last_end = end_index + 1 + start_index, end_index, capture = str:find(full_pattern, last_end) + end + if last_end <= (#str + 1) then + capture = str:sub(last_end) + list[#list + 1] = capture + end + return list +end + +-- Handles common option and message inputs that need to be split by comma when strings. +---@param input string|string[]|nil +---@return string[] +function comma_split(input) + if not input then return {} end + if type(input) == 'table' then return itable_map(input, tostring) end + local str = tostring(input) + return str:match('^%s*$') and {} or split(str, ' *, *') +end + +-- Get index of the last appearance of `sub` in `str`. +---@param str string +---@param sub string +---@return integer|nil +function string_last_index_of(str, sub) + local sub_length = #sub + for i = #str, 1, -1 do + for j = 1, sub_length do + if str:byte(i + j - 1) ~= sub:byte(j) then break end + if j == sub_length then return i end + end + end +end + +-- Creates a pattern that matches `str` of any case. +-- Usage: +-- ```lua +-- string.gsub(str, anycase('foo'), 'bar') +-- ``` +---@param str string +function anycase(str) + return string.gsub(str, '%a', function(c) + return string.format('[%s%s]', c:lower(), c:upper()) + end) +end + +-- Escapes a string to be used in a matching expression. +---@param value string +function regexp_escape(value) + return string.gsub(value, '[%(%)%.%+%-%*%?%[%]%^%$%%]', '%%%1') +end + +---@param itable table +---@param value any +---@return integer|nil +function itable_index_of(itable, value) + for index = 1, #itable do + if itable[index] == value then return index end + end +end + +---@param itable table +---@param value any +---@return boolean +function itable_has(itable, value) + return itable_index_of(itable, value) ~= nil +end + +---@param itable table +---@param compare fun(value: any, index: number): boolean|integer|string|nil +---@param from? number Where to start search, defaults to `1`. +---@param to? number Where to end search, defaults to `#itable`. +---@return number|nil index +---@return any|nil value +function itable_find(itable, compare, from, to) + from, to = from or 1, to or #itable + for index = from, to, from < to and 1 or -1 do + if index > 0 and index <= #itable and compare(itable[index], index) then + return index, itable[index] + end + end +end + +---@param itable table +---@param decider fun(value: any, index: number): boolean|integer|string|nil +function itable_filter(itable, decider) + local filtered = {} + for index, value in ipairs(itable) do + if decider(value, index) then filtered[#filtered + 1] = value end + end + return filtered +end + +---@param itable table +---@param value any +function itable_delete_value(itable, value) + for index = 1, #itable, 1 do + if itable[index] == value then table.remove(itable, index) end + end + return itable +end + +---@param itable table +---@param transformer fun(value: any, index: number) : any +function itable_map(itable, transformer) + local result = {} + for index, value in ipairs(itable) do + result[index] = transformer(value, index) + end + return result +end + +---@param itable table +---@param start_pos? integer +---@param end_pos? integer +function itable_slice(itable, start_pos, end_pos) + start_pos = start_pos and start_pos or 1 + end_pos = end_pos and end_pos or #itable + + if end_pos < 0 then end_pos = #itable + end_pos + 1 end + if start_pos < 0 then start_pos = #itable + start_pos + 1 end + + local new_table = {} + for index, value in ipairs(itable) do + if index >= start_pos and index <= end_pos then + new_table[#new_table + 1] = value + end + end + return new_table +end + +---@generic T +---@param ...T[]|nil +---@return T[] +function itable_join(...) + local args, result = {...}, {} + for i = 1, select('#', ...) do + if args[i] then for _, value in ipairs(args[i]) do result[#result + 1] = value end end + end + return result +end + +---@param target any[] +---@param source any[] +function itable_append(target, source) + for _, value in ipairs(source) do target[#target + 1] = value end + return target +end + +function itable_clear(itable) + for i = #itable, 1, -1 do itable[i] = nil end +end + +---@generic T +---@param input table +---@return T[] +function table_keys(input) + local keys = {} + for key, _ in pairs(input) do keys[#keys + 1] = key end + return keys +end + +---@generic T +---@param input table +---@return T[] +function table_values(input) + local values = {} + for _, value in pairs(input) do values[#values + 1] = value end + return values +end + +---@generic T: table +---@param target T +---@param ... T|nil +---@return T +function table_assign(target, ...) + local args = {...} + for i = 1, select('#', ...) do + if type(args[i]) == 'table' then for key, value in pairs(args[i]) do target[key] = value end end + end + return target +end + +---@generic T: table +---@param target T +---@param source T +---@param props string[] +---@return T +function table_assign_props(target, source, props) + for _, name in ipairs(props) do target[name] = source[name] end + return target +end + +-- Assign props from `source` to `target` that are not in `props` set. +---@generic T: table +---@param target T +---@param source T +---@param props table +---@return T +function table_assign_exclude(target, source, props) + for key, value in pairs(source) do + if not props[key] then target[key] = value end + end + return target +end + +-- `table_assign({}, input)` without loosing types :( +---@generic T: table +---@param input T +---@return T +function table_copy(input) return table_assign({}, input) end + +-- Converts itable values into `table` map. +---@param values any[] +function create_set(values) + local result = {} + for _, value in ipairs(values) do result[value] = true end + return result +end + +---@generic T: any +---@param input string +---@param value_sanitizer? fun(value: string, key: string): T +---@return table +function serialize_key_value_list(input, value_sanitizer) + local result, sanitize = {}, value_sanitizer or function(value) return value end + for _, key_value_pair in ipairs(comma_split(input)) do + local key, value = key_value_pair:match('^([%w_]+)=([%w%.]+)$') + if key and value then result[key] = sanitize(value, key) end + end + return result +end + +---@param key string Key or a combination of a `modifiers+key`. If this includes modifiers, the `modifiers` param is ignored. +---@param modifiers? string +---@return Shortcut +function create_shortcut(key, modifiers) + key = key:lower() + + local last_plus_in_key = string_last_index_of(key, '+') + if last_plus_in_key then + modifiers = string.sub(key, 1, last_plus_in_key - 1) + key = string.sub(key, last_plus_in_key + 1) + end + + local id_parts, modifiers_set + if modifiers then + id_parts = split(modifiers:lower(), '+') + table.sort(id_parts, function(a, b) return a < b end) + modifiers_set = create_set(id_parts) + modifiers = table.concat(id_parts, '+') + else + id_parts, modifiers, modifiers_set = {}, nil, {} + end + id_parts[#id_parts + 1] = key + + return table_assign({id = table.concat(id_parts, '+'), key = key, modifiers = modifiers}, modifiers_set) +end + +--[[ EASING FUNCTIONS ]] + +function ease_out_quart(x) return 1 - ((1 - x) ^ 4) end +function ease_out_sext(x) return 1 - ((1 - x) ^ 6) end + +--[[ CLASSES ]] + +---@class Class +Class = {} +function Class:new(...) + local object = setmetatable({}, {__index = self}) + object:init(...) + return object +end +function Class:init(...) end +function Class:destroy() end + +function class(parent) return setmetatable({}, {__index = parent or Class}) end + +---@class CircularBuffer : Class +CircularBuffer = class() + +function CircularBuffer:new(max_size) return Class.new(self, max_size) --[[@as CircularBuffer]] end +function CircularBuffer:init(max_size) + self.max_size = max_size + self.pos = 0 + self.data = {} +end + +function CircularBuffer:insert(item) + self.pos = self.pos % self.max_size + 1 + self.data[self.pos] = item +end + +function CircularBuffer:get(i) + return i <= #self.data and self.data[(self.pos + i - 1) % #self.data + 1] or nil +end + +local function iter(self, i) + if i == #self.data then return nil end + i = i + 1 + return i, self:get(i) +end + +function CircularBuffer:iter() + return iter, self, 0 +end + +local function iter_rev(self, i) + if i == 1 then return nil end + i = i - 1 + return i, self:get(i) +end + +function CircularBuffer:iter_rev() + return iter_rev, self, #self.data + 1 +end + +function CircularBuffer:head() + return self.data[self.pos] +end + +function CircularBuffer:tail() + if #self.data < 1 then return nil end + return self.data[self.pos % #self.data + 1] +end + +function CircularBuffer:clear() + itable_clear(self.data) + self.pos = 0 +end \ No newline at end of file diff --git a/scripts/uosc/lib/text.lua b/scripts/uosc/lib/text.lua new file mode 100644 index 0000000..7875e9c --- /dev/null +++ b/scripts/uosc/lib/text.lua @@ -0,0 +1,660 @@ +-- https://en.wikipedia.org/wiki/Unicode_block +---@alias CodePointRange {[1]: integer; [2]: integer} + +---@type CodePointRange[] +local zero_width_blocks = { + {0x0000, 0x001F}, -- C0 + {0x007F, 0x009F}, -- Delete + C1 + {0x034F, 0x034F}, -- combining grapheme joiner + {0x061C, 0x061C}, -- Arabic Letter Strong + {0x200B, 0x200F}, -- {zero-width space, zero-width non-joiner, zero-width joiner, left-to-right mark, right-to-left mark} + {0x2028, 0x202E}, -- {line separator, paragraph separator, Left-to-Right Embedding, Right-to-Left Embedding, Pop Directional Format, Left-to-Right Override, Right-to-Left Override} + {0x2060, 0x2060}, -- word joiner + {0x2066, 0x2069}, -- {Left-to-Right Isolate, Right-to-Left Isolate, First Strong Isolate, Pop Directional Isolate} + {0xFEFF, 0xFEFF}, -- zero-width non-breaking space + -- Some other characters can also be combined https://en.wikipedia.org/wiki/Combining_character + {0x0300, 0x036F}, -- Combining Diacritical Marks 0 BMP Inherited + {0x1AB0, 0x1AFF}, -- Combining Diacritical Marks Extended 0 BMP Inherited + {0x1DC0, 0x1DFF}, -- Combining Diacritical Marks Supplement 0 BMP Inherited + {0x20D0, 0x20FF}, -- Combining Diacritical Marks for Symbols 0 BMP Inherited + {0xFE20, 0xFE2F}, -- Combining Half Marks 0 BMP Cyrillic (2 characters), Inherited (14 characters) + -- Egyptian Hieroglyph Format Controls and Shorthand format Controls + {0x13430, 0x1345F}, -- Egyptian Hieroglyph Format Controls 1 SMP Egyptian Hieroglyphs + {0x1BCA0, 0x1BCAF}, -- Shorthand Format Controls 1 SMP Common + -- not sure how to deal with those https://en.wikipedia.org/wiki/Spacing_Modifier_Letters + {0x02B0, 0x02FF}, -- Spacing Modifier Letters 0 BMP Bopomofo (2 characters), Latin (14 characters), Common (64 characters) +} + +-- All characters have the same width as the first one +---@type CodePointRange[] +local same_width_blocks = { + {0x3400, 0x4DBF}, -- CJK Unified Ideographs Extension A 0 BMP Han + {0x4E00, 0x9FFF}, -- CJK Unified Ideographs 0 BMP Han + {0x20000, 0x2A6DF}, -- CJK Unified Ideographs Extension B 2 SIP Han + {0x2A700, 0x2B73F}, -- CJK Unified Ideographs Extension C 2 SIP Han + {0x2B740, 0x2B81F}, -- CJK Unified Ideographs Extension D 2 SIP Han + {0x2B820, 0x2CEAF}, -- CJK Unified Ideographs Extension E 2 SIP Han + {0x2CEB0, 0x2EBEF}, -- CJK Unified Ideographs Extension F 2 SIP Han + {0x2F800, 0x2FA1F}, -- CJK Compatibility Ideographs Supplement 2 SIP Han + {0x30000, 0x3134F}, -- CJK Unified Ideographs Extension G 3 TIP Han + {0x31350, 0x323AF}, -- CJK Unified Ideographs Extension H 3 TIP Han +} + +local width_length_ratio = 0.5 + +---@type integer, integer +local osd_width, osd_height = 100, 100 + +---Get byte count of utf-8 character at index i in str +---@param str string +---@param i integer? +---@return integer +local function utf8_char_bytes(str, i) + local char_byte = str:byte(i) + local max_bytes = #str - i + 1 + if char_byte < 0xC0 then + return math.min(max_bytes, 1) + elseif char_byte < 0xE0 then + return math.min(max_bytes, 2) + elseif char_byte < 0xF0 then + return math.min(max_bytes, 3) + elseif char_byte < 0xF8 then + return math.min(max_bytes, 4) + else + return math.min(max_bytes, 1) + end +end + +---Creates an iterator for an utf-8 encoded string +---Iterates over utf-8 characters instead of bytes +---@param str string +---@return fun(): integer?, string? +function utf8_iter(str) + local byte_start = 1 + return function() + local start = byte_start + if #str < start then return nil end + local byte_count = utf8_char_bytes(str, start) + byte_start = start + byte_count + return start, str:sub(start, start + byte_count - 1) + end +end + +---Estimating string length based on the number of characters +---@param char string +---@return number +function utf8_length(str) + local str_length = 0 + for _, c in utf8_iter(str) do + str_length = str_length + 1 + end + return str_length +end + +---Get the next character in an utf-8 encoded string +---@param str string +---@param i integer +---@return integer +function utf8_next(str, i) + if i >= #str then return #str end + local len = utf8_char_bytes(str, i + 1) + return math.min(i + len, #str) +end + +---Get the previous character in an utf-8 encoded string +---@param str string +---@param i integer +---@return integer +function utf8_prev(str, i) + if i <= 0 then return 0 end + local pos = 1 + local last_valid = 0 + while pos <= #str do + local len = utf8_char_bytes(str, pos) + if pos > i then break end + last_valid = pos - 1 + pos = pos + len + end + return last_valid +end + +---Convert character position to byte position in utf-8 encoded string +---@param str string +---@param char_pos integer +---@return integer +function utf8_charpos_to_bytepos(str, char_pos) + local byte_pos = 1 + local current_char = 1 + local str_len = #str + while byte_pos <= str_len and current_char < char_pos do + local char_len = utf8_char_bytes(str, byte_pos) + byte_pos = byte_pos + char_len + current_char = current_char + 1 + end + return byte_pos +end + +---Extract Unicode code point from utf-8 character at index i in str +---@param str string +---@param i integer +---@return integer +local function utf8_to_unicode(str, i) + local byte_count = utf8_char_bytes(str, i) + local char_byte = str:byte(i) + local unicode = char_byte + if byte_count ~= 1 then + local shift = 2 ^ (8 - byte_count) + char_byte = char_byte - math.floor(0xFF / shift) * shift + unicode = char_byte * (2 ^ 6) ^ (byte_count - 1) + end + for j = 2, byte_count do + char_byte = str:byte(i + j - 1) - 0x80 + unicode = unicode + char_byte * (2 ^ 6) ^ (byte_count - j) + end + return round(unicode) +end + +---Convert Unicode code point to utf-8 string +---@param unicode integer +---@return string? +local function unicode_to_utf8(unicode) + if unicode < 0x80 then + return string.char(unicode) + else + local byte_count + if unicode < 0x800 then + byte_count = 2 + elseif unicode < 0x10000 then + byte_count = 3 + elseif unicode < 0x110000 then + byte_count = 4 + else + return + end -- too big + + local res = {} + local shift = 2 ^ 6 + local after_shift = unicode + for _ = byte_count, 2, -1 do + local before_shift = after_shift + after_shift = math.floor(before_shift / shift) + table.insert(res, 1, before_shift - after_shift * shift + 0x80) + end + shift = 2 ^ (8 - byte_count) + table.insert(res, 1, after_shift + math.floor(0xFF / shift) * shift) + ---@diagnostic disable-next-line: deprecated + return string.char(unpack(res)) + end +end + +---Update osd resolution if valid +---@param width integer +---@param height integer +local function update_osd_resolution(width, height) + if width > 0 and height > 0 then osd_width, osd_height = width, height end +end + +mp.observe_property('osd-dimensions', 'native', function(_, dim) + if dim then update_osd_resolution(dim.w, dim.h) end +end) + +local measure_bounds +do + local text_osd = mp.create_osd_overlay('ass-events') + text_osd.compute_bounds, text_osd.hidden = true, true + + ---@param ass_text string + ---@return integer, integer, integer, integer + measure_bounds = function(ass_text) + update_osd_resolution(mp.get_osd_size()) + text_osd.res_x, text_osd.res_y = osd_width, osd_height + text_osd.data = ass_text + local res = text_osd:update() + return res.x0, res.y0, res.x1, res.y1 + end +end + +local normalized_text_width +do + ---@type {wrap: integer; bold: boolean; italic: boolean, rotate: number; size: number} + local bounds_opts = {wrap = 2, bold = false, italic = false, rotate = 0, size = 0} + + ---Measure text width and normalize to a font size of 1 + ---text has to be ass safe + ---@param text string + ---@param size number + ---@param bold boolean + ---@param italic boolean + ---@param horizontal boolean + ---@return number, integer + normalized_text_width = function(text, size, bold, italic, horizontal) + bounds_opts.bold, bounds_opts.italic, bounds_opts.rotate = bold, italic, horizontal and 0 or -90 + local x1, y1 = nil, nil + size = size / 0.8 + -- prevent endless loop + local repetitions_left = 5 + repeat + size = size * 0.8 + bounds_opts.size = size + local ass = assdraw.ass_new() + ass:txt(0, 0, horizontal and 7 or 1, text, bounds_opts) + _, _, x1, y1 = measure_bounds(ass.text) + repetitions_left = repetitions_left - 1 + -- make sure nothing got clipped + until (x1 and x1 < osd_width and y1 < osd_height) or repetitions_left == 0 + local width = (repetitions_left == 0 and not x1) and 0 or (horizontal and x1 or y1) + return width / size, horizontal and osd_width or osd_height + end +end + +---Estimates character length based on utf8 byte count +---1 character length is roughly the size of a latin character +---@param char string +---@return number +local function char_length(char) + return #char > 2 and 2 or 1 +end + +---Estimates string length based on utf8 byte count +---Note: Making a string in the iterator with the character is a waste here, +---but as this function is only used when measuring whole string widths it's fine +---@param text string +---@return number +local function text_length(text) + if not text or text == '' then return 0 end + local text_length = 0 + for _, char in utf8_iter(tostring(text)) do text_length = text_length + char_length(char) end + return text_length +end + +---Finds the best orientation of text on screen and returns the estimated max size +---and if the text should be drawn horizontally +---@param text string +---@return number, boolean +local function fit_on_screen(text) + local estimated_width = text_length(text) * width_length_ratio + if osd_width >= osd_height then + -- Fill the screen as much as we can, bigger is more accurate. + return math.min(osd_width / estimated_width, osd_height), true + else + return math.min(osd_height / estimated_width, osd_width), false + end +end + +---Gets next stage from cache +---@param cache {[any]: table} +---@param value any +local function get_cache_stage(cache, value) + local stage = cache[value] + if not stage then + stage = {} + cache[value] = stage + end + return stage +end + +---Is measured resolution sufficient +---@param px integer +---@return boolean +local function no_remeasure_required(px) + return px >= 800 or (px * 1.1 >= osd_width and px * 1.1 >= osd_height) +end + +local character_width +do + ---@type {[boolean]: {[string]: {[1]: number, [2]: integer}}} + local char_width_cache = {} + + ---Get measured width of character + ---@param char string + ---@param bold boolean + ---@return number, integer + character_width = function(char, bold) + ---@type {[string]: {[1]: number, [2]: integer}} + local char_widths = get_cache_stage(char_width_cache, bold) + local width_px = char_widths[char] + if width_px and no_remeasure_required(width_px[2]) then return width_px[1], width_px[2] end + + local unicode = utf8_to_unicode(char, 1) + for _, block in ipairs(zero_width_blocks) do + if unicode >= block[1] and unicode <= block[2] then + char_widths[char] = {0, math.huge} + return 0, math.huge + end + end + + local measured_char = nil + for _, block in ipairs(same_width_blocks) do + if unicode >= block[1] and unicode <= block[2] then + measured_char = unicode_to_utf8(block[1]) + width_px = char_widths[measured_char] + if width_px and no_remeasure_required(width_px[2]) then + char_widths[char] = width_px + return width_px[1], width_px[2] + end + break + end + end + + if not measured_char then measured_char = char end + -- half as many repetitions for wide characters + local char_count = 10 / char_length(char) + local max_size, horizontal = fit_on_screen(measured_char:rep(char_count)) + local size = math.min(max_size * 0.9, 50) + char_count = math.min(math.floor(char_count * max_size / size * 0.8), 100) + local enclosing_char, enclosing_width, next_char_count = '|', 0, char_count + if measured_char == enclosing_char then + enclosing_char = '' + else + enclosing_width = 2 * character_width(enclosing_char, bold) + end + local width_ratio, width, px = nil, nil, nil + repeat + char_count = next_char_count + local str = enclosing_char .. measured_char:rep(char_count) .. enclosing_char + width, px = normalized_text_width(str, size, bold, false, horizontal) + width = width - enclosing_width + width_ratio = width * size / (horizontal and osd_width or osd_height) + next_char_count = math.min(math.floor(char_count / width_ratio * 0.9), 100) + until width_ratio < 0.05 or width_ratio > 0.5 or char_count == next_char_count + width = width / char_count + + width_px = {width, px} + if char ~= measured_char then char_widths[measured_char] = width_px end + char_widths[char] = width_px + return width, px + end +end + +---Calculate text width from individual measured characters +---@param text string|number +---@param bold boolean +---@return number, integer +local function character_based_width(text, bold) + local max_width = 0 + local min_px = math.huge + for line in tostring(text):gmatch('([^\n]*)\n?') do + local total_width = 0 + for _, char in utf8_iter(line) do + local width, px = character_width(char, bold) + total_width = total_width + width + if px < min_px then min_px = px end + end + if total_width > max_width then max_width = total_width end + end + return max_width, min_px +end + +---Measure width of whole text +---@param text string|number +---@param bold boolean +---@param italic boolean +---@return number, integer +local function whole_text_width(text, bold, italic) + text = tostring(text) + local size, horizontal = fit_on_screen(text) + return normalized_text_width(ass_escape(text), size * 0.9, bold, italic, horizontal) +end + +---Scale normalized width to real width based on font size and italic +---@param opts {size: number; italic?: boolean} +---@return number, number +local function opts_factor_offset(opts) + return opts.size, opts.italic and opts.size * 0.2 or 0 +end + +---Scale normalized width to real width based on font size and italic +---@param opts {size: number; italic?: boolean} +---@return number +local function normalized_to_real(width, opts) + local factor, offset = opts_factor_offset(opts) + return factor * width + offset +end + +do + ---@type {[boolean]: {[boolean]: {[string|number]: {[1]: number, [2]: integer}}}} | {[boolean]: {[string|number]: {[1]: number, [2]: integer}}} + local width_cache = {} + + ---Calculate width of text with the given opts + ---@param text string|number + ---@return number + ---@param opts {size: number; bold?: boolean; italic?: boolean} + function text_width(text, opts) + if not text or text == '' then return 0 end + + ---@type boolean, boolean + local bold, italic = opts.bold or options.font_bold, opts.italic or false + + if not config.refine.text_width then + ---@type {[string|number]: {[1]: number, [2]: integer}} + local text_width = get_cache_stage(width_cache, bold) + local width_px = text_width[text] + if width_px and no_remeasure_required(width_px[2]) then return normalized_to_real(width_px[1], opts) end + + local width, px = character_based_width(text, bold) + width_cache[bold][text] = {width, px} + return normalized_to_real(width, opts) + else + ---@type {[string|number]: {[1]: number, [2]: integer}} + local text_width = get_cache_stage(get_cache_stage(width_cache, bold), italic) + local width_px = text_width[text] + if width_px and no_remeasure_required(width_px[2]) then return width_px[1] * opts.size end + + local width, px = whole_text_width(text, bold, italic) + width_cache[bold][italic][text] = {width, px} + return width * opts.size + end + end +end + +do + ---@type {[string]: string} + local cache = {} + + function timestamp_zero_rep_clear_cache() + cache = {} + end + + ---Replace all timestamp digits with 0 + ---@param timestamp string + function timestamp_zero_rep(timestamp) + local substitute = cache[#timestamp] + if not substitute then + substitute = timestamp:gsub('%d', '0') + cache[#timestamp] = substitute + end + return substitute + end + + ---Get width of formatted timestamp as if all the digits were replaced with 0 + ---@param timestamp string + ---@param opts {size: number; bold?: boolean; italic?: boolean} + ---@return number + function timestamp_width(timestamp, opts) + return text_width(timestamp_zero_rep(timestamp), opts) + end +end + +do + local wrap_at_chars = {' ', ' ', '-', '–'} + local remove_when_wrap = {' ', ' '} + + ---Wrap the text at the closest opportunity to target_line_length + ---@param text string + ---@param opts {size: number; bold?: boolean; italic?: boolean} + ---@param target_line_length number + ---@return string, integer + function wrap_text(text, opts, target_line_length) + local target_line_width = target_line_length * width_length_ratio * opts.size + local bold, scale_factor, scale_offset = opts.bold or false, opts_factor_offset(opts) + local wrap_at_chars, remove_when_wrap = wrap_at_chars, remove_when_wrap + local lines = {} + for _, text_line in ipairs(split(text, '\n')) do + local line_width = scale_offset + local line_start = 1 + local before_end = nil + local before_width = scale_offset + local before_line_start = 0 + local before_removed_width = 0 + for char_start, char in utf8_iter(text_line) do + local char_end = char_start + #char - 1 + local char_width = character_width(char, bold) * scale_factor + line_width = line_width + char_width + if (char_end == #text_line) or itable_has(wrap_at_chars, char) then + local remove = itable_has(remove_when_wrap, char) + local line_width_after_remove = line_width - (remove and char_width or 0) + if line_width_after_remove < target_line_width then + before_end = remove and char_start - 1 or char_end + before_width = line_width_after_remove + before_line_start = char_end + 1 + before_removed_width = remove and char_width or 0 + else + if (target_line_width - before_width) < + (line_width_after_remove - target_line_width) then + lines[#lines + 1] = text_line:sub(line_start, before_end) + line_start = before_line_start + line_width = line_width - before_width - before_removed_width + scale_offset + else + lines[#lines + 1] = text_line:sub(line_start, remove and char_start - 1 or char_end) + line_start = char_end + 1 + line_width = scale_offset + end + before_end = line_start + before_width = scale_offset + end + end + end + if #text_line >= line_start then + lines[#lines + 1] = text_line:sub(line_start) + elseif text_line == '' then + lines[#lines + 1] = '' + end + end + return table.concat(lines, '\n'), #lines + end +end + +do + local word_separators = create_set({ + ' ', ' ', '\t', '-', '–', '_', ',', '.', '+', '&', '(', ')', '[', ']', '{', '}', '<', '>', '/', '\\', + '(', ')', '【', '】', ';', ':', '《', '》', '“', '”', '‘', '’', '?', '!', + }) + + ---Get the first character of each word + ---@param str string + ---@return string[] + function initials(str) + local initials, is_word_start, word_separators = {}, true, word_separators + for _, char in utf8_iter(str) do + if word_separators[char] then + is_word_start = true + elseif is_word_start then + initials[#initials + 1] = char + is_word_start = false + end + end + return initials + end +end + +-- Returns the index of the beginning or end of the current word/segment in a string. +---@param str string String to search in. +---@param cursor number Where in the string to start searching. +---@param direction number `1` to search forward, `-1` backward. +function find_string_segment_bound(str, cursor, direction) + if #str < 2 then return #str end + cursor = math.max(1, math.min(cursor, #str)) + local head, tail = string.sub(str, 1, cursor), string.sub(str, cursor + 1) + if direction < 0 then + local word_pat, other_pat = '[^%c%s%p]+$', '[%c%s%p]+$' + local pat = head:sub(#head):match(word_pat) and word_pat or other_pat + -- First we match all same type consecutive chars starting at cursor + local segment = head:match(pat) or '' + -- If there's only one, we extend the segment with opposite type chars + if segment and #segment == 1 then + local match = head:sub(1, #head - #segment):match(pat == word_pat and other_pat or word_pat) + segment = (match or '') .. segment + end + return cursor - #segment + 1 + else + local word_pat, other_pat = '^[^%c%s%p]+', '^[%c%s%p]+' + local pat = tail:sub(1, 1):match(word_pat) and word_pat or other_pat + local segment = tail:match(pat) or '' + if segment and #segment == 1 then + local match = tail:sub(#segment):match(pat == word_pat and other_pat or word_pat) + segment = segment .. (match or '') + end + return cursor + #segment + end +end + +-- Highlight matching text in a string. +---@param text string +---@param byte_positions number[] +---@param font_color string +---@return string +function highlight_match(text, byte_positions, font_color, bold) + if not byte_positions or #byte_positions == 0 then + return ass_escape(text) + end + + table.sort(byte_positions) + local start_tag = '{\\c&H' .. config.color.match .. '&\\b' .. (bold and '1' or '0') .. '}' + local end_tag = '{\\c&H' .. font_color .. '&}' + + local result = {} + local pos_set = {} + for _, p in ipairs(byte_positions) do + pos_set[p] = true + end + + local i = 1 + local len = #text + while i <= len do + if pos_set[i] then + table.insert(result, start_tag) + local char_len = utf8_char_bytes(text, i) + table.insert(result, ass_escape(text:sub(i, i + char_len - 1))) + table.insert(result, end_tag) + i = i + char_len + else + local char_len = utf8_char_bytes(text, i) + table.insert(result, ass_escape(text:sub(i, i + char_len - 1))) + i = i + char_len + end + end + + return table.concat(result) +end + +-- Get positions of matching characters in a romanized string. +---@param title string +---@param query string +---@param mode string +---@param roman string[] +function get_roman_match_positions(title, query, mode, roman) + local romans = {} + local char_ranges = {} + local total_len = 0 + for _, char in ipairs(roman) do + local part = (mode == "initial") and char:sub(1, 1) or char + part = part:lower() + romans[#romans + 1] = part + char_ranges[#char_ranges + 1] = {total_len + 1, total_len + #part} + total_len = total_len + #part + end + + local full_roman = table.concat(romans) + local s, e = full_roman:find(query, 1, true) + if not s then return nil end + + local byte_positions = {} + for i, range in ipairs(char_ranges) do + local rs, re = range[1], range[2] + if not (re < s or rs > e) then + byte_positions[#byte_positions + 1] = utf8_charpos_to_bytepos(title, i) + end + end + + return byte_positions +end \ No newline at end of file diff --git a/scripts/uosc/lib/utils.lua b/scripts/uosc/lib/utils.lua new file mode 100644 index 0000000..0e2f2a8 --- /dev/null +++ b/scripts/uosc/lib/utils.lua @@ -0,0 +1,1078 @@ +--[[ UI specific utilities that might or might not depend on its state or options ]] + +---@alias Point {x: number; y: number} +---@alias Rect {ax: number, ay: number, bx: number, by: number, window_drag?: boolean} +---@alias Circle {point: Point, r: number, window_drag?: boolean} +---@alias Hitbox Rect|Circle +---@alias ComplexBindingInfo {event: 'down' | 'repeat' | 'up' | 'press'; is_mouse: boolean; canceled: boolean; key_name?: string; key_text?: string;} + +-- String sorting +do + ----- winapi start ----- + -- in windows system, we can use the sorting function provided by the win32 API + -- see https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strcmplogicalw + -- this function was taken from https://github.com/mpvnet-player/mpv.net/issues/575#issuecomment-1817413401 + local winapi = nil + + if state.platform == 'windows' and config.refine.sorting then + -- is_ffi_loaded is false usually means the mpv builds without luajit + local is_ffi_loaded, ffi = pcall(require, 'ffi') + + if is_ffi_loaded then + winapi = { + ffi = ffi, + C = ffi.C, + CP_UTF8 = 65001, + shlwapi = ffi.load('shlwapi'), + } + + -- ffi code from https://github.com/po5/thumbfast, Mozilla Public License Version 2.0 + ffi.cdef [[ + int __stdcall MultiByteToWideChar(unsigned int CodePage, unsigned long dwFlags, const char *lpMultiByteStr, + int cbMultiByte, wchar_t *lpWideCharStr, int cchWideChar); + int __stdcall StrCmpLogicalW(wchar_t *psz1, wchar_t *psz2); + ]] + + winapi.utf8_to_wide = function(utf8_str) + if utf8_str then + local utf16_len = winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, utf8_str, -1, nil, 0) + + if utf16_len > 0 then + local utf16_str = winapi.ffi.new('wchar_t[?]', utf16_len) + + if winapi.C.MultiByteToWideChar(winapi.CP_UTF8, 0, utf8_str, -1, utf16_str, utf16_len) > 0 then + return utf16_str + end + end + end + + return '' + end + end + end + ----- winapi end ----- + + -- alphanum sorting for humans in Lua + -- http://notebook.kulchenko.com/algorithms/alphanumeric-natural-sorting-for-humans-in-lua + local function padnum(n, d) + return #d > 0 and ('%03d%s%.12f'):format(#n, n, tonumber(d) / (10 ^ #d)) + or ('%03d%s'):format(#n, n) + end + + local function sort_lua(strings) + local tuples = {} + for i, f in ipairs(strings) do + tuples[i] = {f:lower():gsub('0*(%d+)%.?(%d*)', padnum), f} + end + table.sort(tuples, function(a, b) + return a[1] == b[1] and #b[2] < #a[2] or a[1] < b[1] + end) + for i, tuple in ipairs(tuples) do strings[i] = tuple[2] end + return strings + end + + ---@param strings string[] + function sort_strings(strings) + if winapi then + table.sort(strings, function(a, b) + return winapi.shlwapi.StrCmpLogicalW(winapi.utf8_to_wide(a), winapi.utf8_to_wide(b)) == -1 + end) + else + sort_lua(strings) + end + end +end + +-- Creates in-between frames to animate value from `from` to `to` numbers. +---@param from number +---@param to number|fun():number +---@param setter fun(value: number) +---@param duration_or_callback? number|fun() Duration in milliseconds or a callback function. +---@param callback? fun() Called either on animation end, or when animation is killed. +function tween(from, to, setter, duration_or_callback, callback) + local duration = duration_or_callback + if type(duration_or_callback) == 'function' then callback = duration_or_callback end + if type(duration) ~= 'number' then duration = options.animation_duration end + + local current, done, timeout = from, false, nil + local get_to = type(to) == 'function' and to or function() return to --[[@as number]] end + local distance = math.abs(get_to() - current) + local cutoff = distance * 0.01 + local target_ticks = (math.max(duration, 1) / (state.render_delay * 1000)) + local decay = 1 - ((cutoff / distance) ^ (1 / target_ticks)) + + local function finish() + if not done then + setter(get_to()) + done = true + timeout:kill() + if callback then callback() end + request_render() + end + end + + local function tick() + local to = get_to() + current = current + ((to - current) * decay) + local is_end = math.abs(to - current) <= cutoff + if is_end then + finish() + else + setter(current) + timeout:resume() + request_render() + end + end + + timeout = mp.add_timeout(state.render_delay, tick) + if cutoff > 0 then tick() else finish() end + + return finish +end + +-- Returns signed distance (negative values mean how deep inside the rect the point is). +---@param point Point +---@param rect Rect +function get_point_to_rectangle_proximity(point, rect) + local dx = math.max(rect.ax - point.x, point.x - rect.bx) + local dy = math.max(rect.ay - point.y, point.y - rect.by) + local distance = math.sqrt(math.max(0, dx)^2 + math.max(0, dy)^2) + return distance + math.min(0, math.max(dx, dy)) +end + +---@param point_a Point +---@param point_b Point +function get_point_to_point_proximity(point_a, point_b) + local dx, dy = point_a.x - point_b.x, point_a.y - point_b.y + return math.sqrt(dx * dx + dy * dy) +end + +---@param point Point +---@param hitbox Hitbox +function point_collides_with(point, hitbox) + return (hitbox.r and get_point_to_point_proximity(point, hitbox.point) <= hitbox.r) or + (not hitbox.r and get_point_to_rectangle_proximity(point, hitbox --[[@as Rect]]) <= 0) +end + +---@param lax number +---@param lay number +---@param lbx number +---@param lby number +---@param max number +---@param may number +---@param mbx number +---@param mby number +function get_line_to_line_intersection(lax, lay, lbx, lby, max, may, mbx, mby) + -- Calculate the direction of the lines + local uA = ((mbx - max) * (lay - may) - (mby - may) * (lax - max)) / + ((mby - may) * (lbx - lax) - (mbx - max) * (lby - lay)) + local uB = ((lbx - lax) * (lay - may) - (lby - lay) * (lax - max)) / + ((mby - may) * (lbx - lax) - (mbx - max) * (lby - lay)) + + -- If uA and uB are between 0-1, lines are colliding + if uA >= 0 and uA <= 1 and uB >= 0 and uB <= 1 then + return lax + (uA * (lbx - lax)), lay + (uA * (lby - lay)) + end + + return nil, nil +end + +-- Returns distance from the start of a finite ray assumed to be at (rax, ray) +-- coordinates to a line. +---@param rax number +---@param ray number +---@param rbx number +---@param rby number +---@param lax number +---@param lay number +---@param lbx number +---@param lby number +function get_ray_to_line_distance(rax, ray, rbx, rby, lax, lay, lbx, lby) + local x, y = get_line_to_line_intersection(rax, ray, rbx, rby, lax, lay, lbx, lby) + if x then + return math.sqrt((rax - x) ^ 2 + (ray - y) ^ 2) + end + return nil +end + +-- Returns distance from the start of a finite ray assumed to be at (ax, ay) +-- coordinates to a rectangle. Returns `0` if ray originates inside rectangle. +---@param ax number +---@param ay number +---@param bx number +---@param by number +---@param rect Rect +---@return number|nil +function get_ray_to_rectangle_distance(ax, ay, bx, by, rect) + -- Is inside + if ax >= rect.ax and ax <= rect.bx and ay >= rect.ay and ay <= rect.by then + return 0 + end + + local closest = nil + + local function updateDistance(distance) + if distance and (not closest or distance < closest) then closest = distance end + end + + updateDistance(get_ray_to_line_distance(ax, ay, bx, by, rect.ax, rect.ay, rect.bx, rect.ay)) + updateDistance(get_ray_to_line_distance(ax, ay, bx, by, rect.bx, rect.ay, rect.bx, rect.by)) + updateDistance(get_ray_to_line_distance(ax, ay, bx, by, rect.ax, rect.by, rect.bx, rect.by)) + updateDistance(get_ray_to_line_distance(ax, ay, bx, by, rect.ax, rect.ay, rect.ax, rect.by)) + + return closest +end + +-- Converts a flat table of points to a smooth curve using Catmull-Rom to Bezier conversion. +---@param points number[] Flat table: x1, y1, x2, y2, ... +---@return number[] Flat table: start point followed by segment entries cp1x, cp1y, cp2x, cp2y, px, py, ... +function points_to_bezier(points) + if not points or #points < 4 then return {} end + local function catmullrom_to_bezier(p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y) + local cp1x = p1x + (p2x - p0x) / 6 + local cp1y = p1y + (p2y - p0y) / 6 + local cp2x = p2x - (p3x - p1x) / 6 + local cp2y = p2y - (p3y - p1y) / 6 + return cp1x, cp1y, cp2x, cp2y + end + -- Helper to get x, y from flat table + local function get_xy(i) + return points[i * 2 - 1], points[i * 2] + end + local curve = {points[1], points[2]} + local xy_pairs = #points / 2 + for i = 1, xy_pairs - 1 do + local p0x, p0y = get_xy(math.max(i - 1, 1)) + local p1x, p1y = get_xy(i) + local p2x, p2y = get_xy(i+1) + local p3x, p3y = get_xy(math.min(i + 2, xy_pairs)) + local cp1x, cp1y, cp2x, cp2y = catmullrom_to_bezier(p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y) + local n = #curve + curve[n+1], curve[n+2], curve[n+3], curve[n+4], curve[n+5], curve[n+6] = + cp1x, cp1y, cp2x, cp2y, p2x, p2y + end + return curve +end + +-- Extracts the properties used by property expansion of that string. +---@param str string +---@param res { [string] : boolean } | nil +---@return { [string] : boolean } +function get_expansion_props(str, res) + res = res or {} + for str in str:gmatch('%$(%b{})') do + local name, str = str:match('^{[?!]?=?([^:]+):?(.*)}$') + if name then + local s = name:find('==') or nil + if s then name = name:sub(0, s - 1) end + res[name] = true + if str and str ~= '' then get_expansion_props(str, res) end + end + end + return res +end + +-- Escape a string for verbatim display on the OSD. +---@param str string +function ass_escape(str) + -- There is no escape for '\' in ASS (I think?) but '\' is used verbatim if + -- it isn't followed by a recognized character, so add a zero-width + -- non-breaking space + str = str:gsub('\\', '\\\239\187\191') + str = str:gsub('{', '\\{') + str = str:gsub('}', '\\}') + -- Precede newlines with a ZWNBSP to prevent ASS's weird collapsing of + -- consecutive newlines + str = str:gsub('\n', '\239\187\191\\N') + -- Turn leading spaces into hard spaces to prevent ASS from stripping them + str = str:gsub('\\N ', '\\N\\h') + str = str:gsub('^ ', '\\h') + return str +end + +---@param seconds number +---@param max_seconds number|nil Trims unnecessary `00:` if time is not expected to reach it. +---@return string +function format_time(seconds, max_seconds) + local human = mp.format_time(seconds) + if options.time_precision > 0 then + local formatted = string.format('%.' .. options.time_precision .. 'f', math.abs(seconds) % 1) + human = human .. '.' .. string.sub(formatted, 3) + end + if max_seconds then + local trim_length = (max_seconds < 60 and 7 or (max_seconds < 3600 and 4 or 0)) + if trim_length > 0 then + local has_minus = seconds < 0 + human = string.sub(human, trim_length + (has_minus and 1 or 0)) + if has_minus then human = '-' .. human end + end + end + return human +end + +---@param opacity number 0-1 +function opacity_to_alpha(opacity) + return 255 - math.ceil(255 * opacity) +end + +path_separator = (function() + local os_separator = state.platform == 'windows' and '\\' or '/' + + -- Get appropriate path separator for the given path. + ---@param path string + ---@return string + return function(path) + return path:sub(1, 2) == '\\\\' and '\\' or os_separator + end +end)() + +-- Joins paths with the OS aware path separator or UNC separator. +---@param p1 string +---@param p2 string +---@return string +function join_path(p1, p2) + local p1, separator = trim_trailing_separator(p1) + -- Prevents joining drive letters with a redundant separator (`C:\\foo`), + -- as `trim_trailing_separator()` doesn't trim separators from drive letters. + return p1:sub(#p1) == separator and p1 .. p2 or p1 .. separator .. p2 +end + +-- Check if path is absolute. +---@param path string +---@return boolean +function is_absolute(path) + if path:sub(1, 2) == '\\\\' then + return true + elseif state.platform == 'windows' then + return path:find('^%a+:') ~= nil + else + return path:sub(1, 1) == '/' + end +end + +-- Ensure path is absolute. +---@param path string +---@return string +function ensure_absolute(path) + if is_absolute(path) then return path end + return join_path(state.cwd, path) +end + +-- Remove trailing slashes/backslashes. +---@param path string +---@return string path, string trimmed_separator_type +function trim_trailing_separator(path) + local separator = path_separator(path) + path = trim_end(path, separator) + if state.platform == 'windows' then + -- Drive letters on windows need trailing backslash + if path:sub(#path) == ':' then path = path .. '\\' end + else + if path == '' then path = '/' end + end + return path, separator +end + +-- Ensures path is absolute, remove trailing slashes/backslashes. +-- Lightweight version of normalize_path for performance critical parts. +---@param path string +---@return string +function normalize_path_lite(path) + if not path or is_protocol(path) then return path end + path = trim_trailing_separator(ensure_absolute(path)) + return path +end + +-- Ensures path is absolute, remove trailing slashes/backslashes, normalization of path separators and deduplication. +---@param path string +---@return string +function normalize_path(path) + if not path or is_protocol(path) then return path end + + path = ensure_absolute(path) + local is_unc = path:sub(1, 2) == '\\\\' + if state.platform == 'windows' or is_unc then path = path:gsub('/', '\\') end + path = trim_trailing_separator(path) + + --Deduplication of path separators + if is_unc then + path = path:gsub('(.\\)\\+', '%1') + elseif state.platform == 'windows' then + path = path:gsub('\\\\+', '\\') + else + path = path:gsub('//+', '/') + end + + return path +end + +-- Check if path is a protocol, such as `http://...`. +---@param path string +function is_protocol(path) + return type(path) == 'string' and (path:find('^%a[%w.+-]-://') ~= nil or path:find('^%a[%w.+-]-:%?') ~= nil) +end + +---@param path string +---@param extensions string[] Lowercase extensions without the dot. +function has_any_extension(path, extensions) + local path_last_dot_index = string_last_index_of(path, '.') + if not path_last_dot_index then return false end + local path_extension = path:sub(path_last_dot_index + 1):lower() + for _, extension in ipairs(extensions) do + if path_extension == extension then return true end + end + return false +end + +-- Executes mp command defined as a string or an itable, or does nothing if command is any other value. +-- Returns boolean specifying if command was executed or not. +---@param command string | string[] | nil | any +---@return boolean executed `true` if command was executed. +function execute_command(command) + local command_type = type(command) + if command_type == 'string' then + mp.command(command) + return true + elseif command_type == 'table' and #command > 0 then + mp.command_native(command) + return true + end + return false +end + +-- Serializes path into its semantic parts. +---@param path string +---@return nil|{path: string; is_root: boolean; dirname?: string; basename: string; filename: string; extension?: string;} +function serialize_path(path) + if not path or is_protocol(path) then return end + + local normal_path = normalize_path_lite(path) + local dirname, basename = utils.split_path(normal_path) + if basename == '' then basename, dirname = dirname:sub(1, #dirname - 1), nil end + local dot_i = string_last_index_of(basename, '.') + + return { + path = normal_path, + is_root = dirname == nil, + dirname = dirname, + basename = basename, + filename = dot_i and basename:sub(1, dot_i - 1) or basename, + extension = dot_i and basename:sub(dot_i + 1) or nil, + } +end + +local system_files = create_set({ + '$RECYCLE.BIN', '$Recycle.Bin', '$SysReset', '$WinREAgent', '.sys', 'pagefile.sys', 'hiberfil.sys', 'config.sys', + 'swapfile.sys', 'Thumbs.db', 'desktop.ini', +}) + +-- Reads items in directory and splits it into directories and files tables. +---@param path string +---@param opts? {types?: string[], hidden?: boolean} +---@return string[] files +---@return string[] directories +---@return string|nil error +function read_directory(path, opts) + opts = opts or {} + local items, error = utils.readdir(path, 'all') + local files, directories = {}, {} + + if not items then + return files, directories, 'Reading directory "' .. path .. '" failed. Error: ' .. utils.to_string(error) + end + + for _, item in ipairs(items) do + if item ~= '.' and item ~= '..' and not system_files[item] and (opts.hidden or item:sub(1, 1) ~= '.') then + local info = utils.file_info(join_path(path, item)) + if info then + if info.is_file then + if not opts.types or has_any_extension(item, opts.types) then + files[#files + 1] = item + end + else + directories[#directories + 1] = item + end + end + end + end + + return files, directories +end + +-- Returns full absolute paths of files in the same directory as `file_path`, +-- and index of the current file in the table. +-- Returned table will always contain `file_path`, regardless of `allowed_types`. +---@param file_path string +---@param opts? {types?: string[], hidden?: boolean} +function get_adjacent_files(file_path, opts) + opts = opts or {} + local current_meta = serialize_path(file_path) + if not current_meta then return end + local files, _dirs, error = read_directory(current_meta.dirname, {hidden = opts.hidden}) + if error then + msg.error(error) + return + end + sort_strings(files) + local current_file_index + local paths = {} + for _, file in ipairs(files) do + local is_current_file = current_meta.basename == file + if is_current_file or not opts.types or has_any_extension(file, opts.types) then + paths[#paths + 1] = join_path(current_meta.dirname, file) + if is_current_file then current_file_index = #paths end + end + end + if not current_file_index then return end + return paths, current_file_index +end + +-- Navigates in a list, using delta or, when `state.shuffle` is enabled, +-- randomness to determine the next item. Loops around if `loop-playlist` is enabled. +---@param paths table +---@param current_index number +---@param delta number 1 or -1 for forward or backward +function decide_navigation_in_list(paths, current_index, delta) + if #paths < 2 then return end + delta = delta < 0 and -1 or 1 + + -- Shuffle looks at the played files history trimmed to 80% length of the paths + -- and removes all paths in it from the potential shuffle pool. This guarantees + -- no path repetition until at least 80% of the playlist has been exhausted. + if state.shuffle then + state.shuffle_history = state.shuffle_history or { + pos = #state.history, + paths = itable_slice(state.history), + } + state.shuffle_history.pos = state.shuffle_history.pos + delta + local history_path = state.shuffle_history.paths[state.shuffle_history.pos] + local next_index = history_path and itable_index_of(paths, history_path) + if next_index then + return next_index, history_path + end + if delta < 0 then + state.shuffle_history.pos = state.shuffle_history.pos - delta + else + state.shuffle_history.pos = math.min(state.shuffle_history.pos, #state.shuffle_history.paths + 1) + end + + local trimmed_history = itable_slice(state.history, -math.floor(#paths * 0.8)) + local shuffle_pool = {} + + for index, value in ipairs(paths) do + if not itable_has(trimmed_history, value) then + shuffle_pool[#shuffle_pool + 1] = index + end + end + + math.randomseed(os.time()) + local next_index = shuffle_pool[math.random(#shuffle_pool)] + local next_path = paths[next_index] + table.insert(state.shuffle_history.paths, state.shuffle_history.pos, next_path) + return next_index, next_path + end + + local new_index = current_index + delta + if mp.get_property_native('loop-playlist') then + if new_index > #paths then + new_index = new_index % #paths + elseif new_index < 1 then + new_index = #paths - new_index + end + elseif new_index < 1 or new_index > #paths then + return + end + + return new_index, paths[new_index] +end + +---@param delta number +function navigate_directory(delta) + if not state.path or is_protocol(state.path) then return false end + local paths, current_index = get_adjacent_files(state.path, { + types = config.types.load, + hidden = options.show_hidden_files, + }) + if paths and current_index then + local _, path = decide_navigation_in_list(paths, current_index, delta) + if path then + mp.commandv('loadfile', path) + return true + end + end + return false +end + +---@param delta number +function navigate_playlist(delta) + local playlist, pos = mp.get_property_native('playlist'), mp.get_property_native('playlist-pos-1') + if playlist and #playlist > 1 and pos then + local paths = itable_map(playlist, function(item) return normalize_path(item.filename) end) + local index = decide_navigation_in_list(paths, pos, delta) + if index then + mp.commandv('playlist-play-index', index - 1) + return true + end + end + return false +end + +---@param delta number +function navigate_item(delta) + if state.has_playlist then return navigate_playlist(delta) else return navigate_directory(delta) end +end + +-- Can't use `os.remove()` as it fails on paths with unicode characters. +-- Returns `result, error`, result is table of: +-- `status:number(<0=error), stdout, stderr, error_string, killed_by_us:boolean` +---@param path string +function delete_file(path) + if state.platform == 'windows' then + if options.use_trash then + local ps_code = [[ + Add-Type -AssemblyName Microsoft.VisualBasic + [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile('__path__', 'OnlyErrorDialogs', 'SendToRecycleBin') + ]] + + local escaped_path = string.gsub(path, "'", "''") + escaped_path = string.gsub(escaped_path, '’', '’’') + escaped_path = string.gsub(escaped_path, '%%', '%%%%') + ps_code = string.gsub(ps_code, '__path__', escaped_path) + args = {'powershell', '-NoProfile', '-Command', ps_code} + else + args = {'cmd', '/C', 'del', path} + end + else + if options.use_trash then + --On Linux and Macos the app trash-cli/trash must be installed first. + args = {'trash', path} + else + args = {'rm', path} + end + end + return mp.command_native({ + name = 'subprocess', + args = args, + playback_only = false, + capture_stdout = true, + capture_stderr = true, + }) +end + +function delete_file_navigate(delta) + local path, playlist_pos = state.path, state.playlist_pos + local is_local_file = path and not is_protocol(path) + + if navigate_item(delta) then + if state.has_playlist then + mp.commandv('playlist-remove', playlist_pos - 1) + end + else + mp.command('stop') + end + + if is_local_file then + if Menu:is_open('open-file') then + Elements:maybe('menu', 'delete_value', path) + end + if path then delete_file(path) end + end +end + +function serialize_chapter_ranges(normalized_chapters) + local ranges = {} + local simple_ranges = { + { + name = 'openings', + patterns = { + '^op ', '^op$', ' op$', + '^opening$', ' opening$', + }, + requires_next_chapter = true, + }, + { + name = 'intros', + patterns = { + '^intro$', ' intro$', + '^avant$', '^prologue$', + }, + requires_next_chapter = true, + }, + { + name = 'endings', + patterns = { + '^ed ', '^ed$', ' ed$', + '^ending ', '^ending$', ' ending$', + }, + }, + { + name = 'outros', + patterns = { + '^outro$', ' outro$', + '^closing$', '^closing ', + '^preview$', '^pv$', + }, + }, + } + local sponsor_ranges = {} + + -- Extend with alt patterns + for _, meta in ipairs(simple_ranges) do + local alt_patterns = config.chapter_ranges[meta.name] and config.chapter_ranges[meta.name].patterns + if alt_patterns then meta.patterns = itable_join(meta.patterns, alt_patterns) end + end + + -- Clone chapters + local chapters = {} + for i, normalized in ipairs(normalized_chapters) do chapters[i] = table_assign({}, normalized) end + + for i, chapter in ipairs(chapters) do + -- Simple ranges + for _, meta in ipairs(simple_ranges) do + if config.chapter_ranges[meta.name] then + local match = itable_find(meta.patterns, function(p) return chapter.lowercase_title:find(p) end) + if match then + local next_chapter = chapters[i + 1] + if next_chapter or not meta.requires_next_chapter then + ranges[#ranges + 1] = table_assign({ + start = chapter.time, + ['end'] = next_chapter and next_chapter.time or math.huge, + }, config.chapter_ranges[meta.name]) + end + end + end + end + + -- Sponsor blocks + if config.chapter_ranges.ads then + local id = chapter.lowercase_title:match('segment start *%(([%w]%w-)%)') + if id then -- ad range from sponsorblock + for j = i + 1, #chapters, 1 do + local end_chapter = chapters[j] + local end_match = end_chapter.lowercase_title:match('segment end *%(' .. id .. '%)') + if end_match then + local range = table_assign({ + start_chapter = chapter, + end_chapter = end_chapter, + start = chapter.time, + ['end'] = end_chapter.time, + }, config.chapter_ranges.ads) + ranges[#ranges + 1], sponsor_ranges[#sponsor_ranges + 1] = range, range + end_chapter.is_end_only = true + break + end + end -- single chapter for ad + elseif not chapter.is_end_only and + (chapter.lowercase_title:find('%[sponsorblock%]:') or chapter.lowercase_title:find('^sponsors?')) then + local next_chapter = chapters[i + 1] + ranges[#ranges + 1] = table_assign({ + start = chapter.time, + ['end'] = next_chapter and next_chapter.time or math.huge, + }, config.chapter_ranges.ads) + end + end + end + + -- Fix overlapping sponsor block segments + for index, range in ipairs(sponsor_ranges) do + local next_range = sponsor_ranges[index + 1] + if next_range then + local delta = next_range.start - range['end'] + if delta < 0 then + local mid_point = range['end'] + delta / 2 + range['end'], range.end_chapter.time = mid_point - 0.01, mid_point - 0.01 + next_range.start, next_range.start_chapter.time = mid_point, mid_point + end + end + end + table.sort(chapters, function(a, b) return a.time < b.time end) + + return chapters, ranges +end + +-- Ensures chapters are in chronological order +function normalize_chapters(chapters) + if not chapters then return {} end + -- Ensure chronological order + table.sort(chapters, function(a, b) return a.time < b.time end) + -- Ensure titles + for index, chapter in ipairs(chapters) do + local chapter_number = chapter.title and string.match(chapter.title, '^Chapter (%d+)$') + if chapter_number then + chapter.title = t('Chapter %s', tonumber(chapter_number)) + end + chapter.title = chapter.title ~= '(unnamed)' and chapter.title ~= '' and chapter.title or t('Chapter %s', index) + chapter.lowercase_title = chapter.title:lower() + end + return chapters +end + +function serialize_chapters(chapters) + chapters = normalize_chapters(chapters) + if not chapters then return end + --- timeline font size isn't accessible here, so normalize to size 1 and then scale during rendering + local opts = {size = 1, bold = true} + for index, chapter in ipairs(chapters) do + chapter.index = index + chapter.title_wrapped, chapter.title_lines = wrap_text(chapter.title, opts, 25) + chapter.title_wrapped_width = text_width(chapter.title_wrapped, opts) + chapter.title_wrapped = ass_escape(chapter.title_wrapped) + end + return chapters +end + +---Find all active key bindings or the active key binding for key +---@param key string|nil +---@return {[string]: table}|table +function find_active_keybindings(key) + local bindings = mp.get_property_native('input-bindings', {}) + local active_map = {} -- map: key-name -> bind-info + local active_table = {} + for _, bind in pairs(bindings) do + if bind.owner ~= 'uosc' and bind.priority >= 0 and (not key or bind.key == key) and ( + not active_map[bind.key] + or (active_map[bind.key].is_weak and not bind.is_weak) + or (bind.is_weak == active_map[bind.key].is_weak and bind.priority > active_map[bind.key].priority) + ) + then + active_table[#active_table + 1] = bind + active_map[bind.key] = bind + end + end + return key and active_map[key] or active_table +end + +do + local key_subs = {{'^#$', ''}, {anycase('sharp'), '#'}} + + -- Replaces stuff like `SHARP` -> `#`, `#` -> `` + ---@param keybind string + function keybind_to_human(keybind) + for _, sub in ipairs(key_subs) do + keybind = string.gsub(keybind, sub[1], sub[2]) + end + return keybind + end +end + +---@param type 'sub'|'audio'|'video' +---@param path string +function load_track(type, path) + mp.commandv(type .. '-add', path, 'cached') + -- If subtitle track was loaded, assume the user also wants to see it + if type == 'sub' then + mp.commandv('set', 'sub-visibility', 'yes') + end +end + +---@param args (string|number)[] +---@return string|nil error +---@return table data +function call_ziggy(args) + local result = mp.command_native({ + name = 'subprocess', + capture_stderr = true, + capture_stdout = true, + playback_only = false, + args = itable_join({config.ziggy_path}, args), + }) + + if result.status ~= 0 then + return 'Calling ziggy failed. Exit code ' .. result.status .. ': ' .. result.stdout .. result.stderr, {} + end + + local data = utils.parse_json(result.stdout) + if not data then + return 'Ziggy response error. Couldn\'t parse json: ' .. result.stdout, {} + elseif data.error then + return 'Ziggy error: ' .. data.message, {} + else + return nil, data + end +end + +---@param args (string|number)[] +---@param callback fun(error: string|nil, data: table) +---@return fun() abort Function to abort the request. +function call_ziggy_async(args, callback) + local abort_signal = mp.command_native_async({ + name = 'subprocess', + capture_stderr = true, + capture_stdout = true, + playback_only = false, + args = itable_join({config.ziggy_path}, args), + }, function(success, result, error) + if not success or not result or result.status ~= 0 then + local exit_code = (result and result.status or 'unknown') + local message = error or (result and result.stdout .. result.stderr) or '' + callback('Calling ziggy failed. Exit code: ' .. exit_code .. ' Error: ' .. message, {}) + return + end + + local json = result and type(result.stdout) == 'string' and result.stdout or '' + local data = utils.parse_json(json) + if not data then + callback('Ziggy response error. Couldn\'t parse json: ' .. json, {}) + elseif data.error then + callback('Ziggy error: ' .. data.message, {}) + else + return callback(nil, data) + end + end) + + return function() + mp.abort_async_command(abort_signal) + end +end + +---@return string|nil +function get_clipboard() + local data, err = mp.get_property('clipboard/text') + if data then + return data + end + if err and err ~= 'property not found' and err ~= 'property unavailable' then + mp.commandv('show-text', 'Get clipboard error: ' .. err) + return nil + end + + local err, data = call_ziggy({'get-clipboard'}) + if err then + mp.commandv('show-text', 'Get clipboard error. See console for details.') + msg.error(err) + end + return data and data.payload +end + +---@param payload any +---@return string|nil payload String that was copied to clipboard. +function set_clipboard(payload) + payload = tostring(payload) + + local success, err = mp.set_property('clipboard/text', payload) + if success then + mp.commandv('show-text', t('Copied to clipboard') .. ': ' .. payload, 3000) + return payload + end + if err and err ~= 'property not found' and err ~= 'property unavailable' then + mp.commandv('show-text', 'Set clipboard error: ' .. err) + return nil + end + + local err, data = call_ziggy({'set-clipboard', payload}) + if err then + mp.commandv('show-text', 'Set clipboard error. See console for details.') + msg.error(err) + else + mp.commandv('show-text', t('Copied to clipboard') .. ': ' .. payload, 3000) + end + return data and data.payload +end + +-- Returns Youtube heatmap data if available. +---@return number[]|nil Flat table of normalized points (0–1) +function load_youtube_heatmap() + if not state.path or not is_protocol(state.path) then return end + -- Match mpv's ytdl whitelist + if not (state.path:match('^https?://%w+%.youtube%.com/') or + state.path:match('^https?://youtube%.com/') or + state.path:match('^https?://youtu%.be/')) then return end + + local r = mp.get_property_native('user-data/mpv/ytdl/json-subprocess-result') + local ytdl_result = r and utils.parse_json(r.stdout) + if ytdl_result and ytdl_result.heatmap then + local data = ytdl_result.heatmap + local max_val = 0 + local vid_length = data[#data].end_time + for _, seg in ipairs(data) do + max_val = math.max(max_val, seg.value) + end + -- Normalize and clamp to avoid gaps in heatmap + local is_above = options.timeline_heatmap == 'above' + local min_height, graph_height = 4, is_above and 40 or options.timeline_size + local max_norm_y = 1 - (min_height / graph_height) + local norm = {0, 1} + for _, seg in ipairs(data) do + local center_time = (seg.start_time + seg.end_time) / 2 + local norm_x = center_time / vid_length + local norm_y = math.min(max_norm_y, 1 - (seg.value / max_val)) + norm[#norm + 1], norm[#norm + 2] = norm_x, norm_y + end + -- Add final anchor + local last_y = math.min(max_norm_y, 1 - (data[#data].value / max_val)) + norm[#norm + 1], norm[#norm + 2] = 1, last_y + norm[#norm + 1], norm[#norm + 2] = 1, 1 + return points_to_bezier(norm) + end +end + +--[[ RENDERING ]] + +function render() + if not display.initialized then return end + state.render_last_time = mp.get_time() + + cursor:clear_zones() + + -- Actual rendering + local ass = assdraw.ass_new() + + -- Idle indicator + if state.is_idle and not Manager.disabled.idle_indicator then + local smaller_side = math.min(display.width, display.height) + local center_x, center_y, icon_size = display.width / 2, display.height / 2, math.max(smaller_side / 4, 56) + ass:icon(center_x, center_y - icon_size / 4, icon_size, 'not_started', { + color = fg, opacity = config.opacity.idle_indicator, + }) + ass:txt(center_x, center_y + icon_size / 2, 8, t('Drop files or URLs to play here'), { + size = icon_size / 4, color = fg, opacity = config.opacity.idle_indicator, + }) + end + + -- Audio indicator + if state.is_audio and not state.has_image and not Manager.disabled.audio_indicator + and not (state.pause and options.pause_indicator == 'static') then + local smaller_side = math.min(display.width, display.height) + ass:icon(display.width / 2, display.height / 2, smaller_side / 4, 'graphic_eq', { + color = fg, opacity = config.opacity.audio_indicator, + }) + end + + -- Elements + for _, element in Elements:ipairs() do + if element.enabled then + local result = element:maybe('render') + if result then + ass:new_event() + ass:merge(result) + end + end + end + + cursor:decide_keybinds() + + -- submit + if osd.res_x == display.width and osd.res_y == display.height and osd.data == ass.text then + return + end + + osd.res_x = display.width + osd.res_y = display.height + osd.data = ass.text + osd.z = 2000 + osd:update() + + update_margins() +end + +-- Request that render() is called. +-- The render is then either executed immediately, or rate-limited if it was +-- called a small time ago. +state.render_timer = mp.add_timeout(0, render) +state.render_timer:kill() +function request_render() + if state.render_timer:is_enabled() then return end + local timeout = math.max(0, state.render_delay - (mp.get_time() - state.render_last_time)) + state.render_timer.timeout = timeout + state.render_timer:resume() +end \ No newline at end of file diff --git a/scripts/uosc/main.lua b/scripts/uosc/main.lua new file mode 100644 index 0000000..8ff6f6a --- /dev/null +++ b/scripts/uosc/main.lua @@ -0,0 +1,1207 @@ +--[[ uosc | https://github.com/tomasklaen/uosc ]] +local uosc_version = '5.12.0' + +mp.commandv('script-message', 'uosc-version', uosc_version) + +mp.set_property('osc', 'no') + +assdraw = require('mp.assdraw') +opt = require('mp.options') +utils = require('mp.utils') +msg = require('mp.msg') +osd = mp.create_osd_overlay('ass-events') +QUARTER_PI_SIN = math.sin(math.pi / 4) + +require('lib/std') + +--[[ OPTIONS ]] + +defaults = { + timeline_style = 'line', + timeline_line_width = 2, + timeline_size = 40, + progress = 'windowed', + progress_size = 2, + progress_line_width = 20, + timeline_persistency = '', + timeline_border = 1, + timeline_step = '5', + timeline_cache = true, + timeline_heatmap = 'overlay', + + controls = + 'menu,gap,subtitles,audio,video,editions,stream-quality,gap,space,speed,space,shuffle,loop-playlist,loop-file,gap,prev,items,next,gap,fullscreen', + controls_size = 32, + controls_margin = 8, + controls_spacing = 2, + controls_persistency = '', + + volume = 'right', + volume_size = 40, + volume_persistency = '', + volume_border = 1, + volume_step = 1, + + speed_persistency = '', + speed_step = 0.1, + speed_step_is_factor = false, + + menu_item_height = 36, + menu_min_width = 260, + menu_padding = 4, + menu_type_to_search = true, + + top_bar = 'no-border', + top_bar_size = 40, + top_bar_persistency = '', + top_bar_controls = 'right', + top_bar_title = 'yes', + top_bar_alt_title = '', + top_bar_alt_title_place = 'below', + top_bar_flash_on = 'video,audio', + + window_border_size = 1, + + autoload = false, + shuffle = false, + + scale = 1, + scale_fullscreen = 1.3, + font_scale = 1, + text_border = 1.2, + border_radius = 4, + color = '', + opacity = '', + animation_duration = 100, + refine = '', + flash_duration = 1000, + proximity_in = 40, + proximity_out = 120, + total_time = false, -- deprecated by below + destination_time = 'playtime-remaining', + time_precision = 0, + font_bold = false, + autohide = false, + buffered_time_threshold = 60, + pause_indicator = 'flash', + stream_quality_options = '4320,2160,1440,1080,720,480,360,240,144', + video_types = + '3g2,3gp,asf,avi,f4v,flv,h264,h265,m2ts,m4v,mkv,mov,mp4,mp4v,mpeg,mpg,ogm,ogv,rm,rmvb,ts,vob,webm,wmv,y4m', + audio_types = + 'aac,ac3,aiff,ape,au,cue,dsf,dts,flac,m4a,mid,midi,mka,mp3,mp4a,oga,ogg,opus,spx,tak,tta,wav,weba,wma,wv', + image_types = 'apng,avif,bmp,gif,j2k,jp2,jfif,jpeg,jpg,jxl,mj2,png,svg,tga,tif,tiff,webp', + subtitle_types = 'aqt,ass,gsub,idx,jss,lrc,mks,pgs,pjs,psb,rt,sbv,slt,smi,sub,sup,srt,ssa,ssf,ttxt,txt,usf,vt,vtt', + playlist_types = 'm3u,m3u8,pls,url,cue', + load_types = 'video,audio,image', + default_directory = '~/', + show_hidden_files = false, + use_trash = false, + adjust_osd_margins = true, + chapter_ranges = 'openings:30abf964,endings:30abf964,ads:c54e4e80', + chapter_range_patterns = 'openings:オープニング;endings:エンディング', + languages = 'slang,en', + subtitles_directory = '~~/subtitles', + disable_elements = '', +} +options = table_copy(defaults) +function handle_options(changed_options) + if changed_options.time_precision then + timestamp_zero_rep_clear_cache() + end + update_config() + update_human_times() + Manager:disable('user', options.disable_elements) + Elements:trigger('options') + Elements:update_proximities() + request_render() +end +opt.read_options(options, 'uosc', handle_options) +-- Normalize values +options.proximity_out = math.max(options.proximity_out, options.proximity_in + 1) +if options.chapter_ranges:sub(1, 4) == '^op|' then options.chapter_ranges = defaults.chapter_ranges end +if options.total_time and options.destination_time == 'playtime-remaining' then + msg.warn('`total_time` is deprecated. Use `destination_time` instead.') + options.destination_time = 'total' +elseif not itable_index_of({'total', 'playtime-remaining', 'time-remaining'}, options.destination_time) then + options.destination_time = 'playtime-remaining' +end +if not itable_index_of({'left', 'right'}, options.top_bar_controls) then + options.top_bar_controls = options.top_bar_controls == 'yes' and 'right' or nil +end + +--[[ INTERNATIONALIZATION ]] +local intl = require('lib/intl') +t = intl.t +require('lib/char_conv') +fzy = require('lib/fzy') + +--[[ CONFIG ]] +local config_defaults = { + color = { + foreground = serialize_rgba('ffffff').color, + foreground_text = serialize_rgba('000000').color, + background = serialize_rgba('000000').color, + background_text = serialize_rgba('ffffff').color, + window_border = serialize_rgba('000000').color, + curtain = serialize_rgba('111111').color, + success = serialize_rgba('a5e075').color, + error = serialize_rgba('ff616e').color, + match = serialize_rgba('69c5ff').color, + heatmap = serialize_rgba('00adee').color, + }, + opacity = { + timeline = 0.9, + position = 1, + chapters = 0.8, + slider = 0.9, + slider_gauge = 1, + controls = 0, + speed = 0.6, + menu = 1, + submenu = 0.4, + border = 1, + title = 1, + tooltip = 1, + thumbnail = 1, + curtain = 0.8, + idle_indicator = 0.8, + audio_indicator = 0.5, + buffering_indicator = 0.3, + playlist_position = 0.8, + heatmap = 0.4, + }, +} +config = { + version = uosc_version, + open_subtitles_api_key = 'b0rd16N0bp7DETMpO4pYZwIqmQkZbYQr', + open_subtitles_agent = 'uosc v' .. uosc_version, + -- sets max rendering frequency in case the + -- native rendering frequency could not be detected + render_delay = 1 / 60, + font = mp.get_property('options/osd-font'), + osd_margin_x = mp.get_property('osd-margin-x'), + osd_margin_y = mp.get_property('osd-margin-y'), + osd_alignment_x = mp.get_property('osd-align-x'), + osd_alignment_y = mp.get_property('osd-align-y'), + refine = create_set(comma_split(options.refine)), + types = { + video = comma_split(options.video_types), + audio = comma_split(options.audio_types), + image = comma_split(options.image_types), + subtitle = comma_split(options.subtitle_types), + playlist = comma_split(options.playlist_types), + media = comma_split(options.video_types + .. ',' .. options.audio_types + .. ',' .. options.image_types + .. ',' .. options.playlist_types), + load = {}, -- populated by update_load_types() below + }, + stream_quality_options = comma_split(options.stream_quality_options), + top_bar_flash_on = comma_split(options.top_bar_flash_on), + chapter_ranges = (function() + ---@type table Alternative patterns. + local alt_patterns = {} + if options.chapter_range_patterns and options.chapter_range_patterns ~= '' then + for _, definition in ipairs(split(options.chapter_range_patterns, ';+ *')) do + local name_patterns = split(definition, ' *:') + local name, patterns = name_patterns[1], name_patterns[2] + if name and patterns then alt_patterns[name] = split(patterns, ',') end + end + end + + ---@type table + local ranges = {} + if options.chapter_ranges and options.chapter_ranges ~= '' then + for _, definition in ipairs(split(options.chapter_ranges, ' *,+ *')) do + local name_color = split(definition, ' *:+ *') + local name, color = name_color[1], name_color[2] + if name and color + and name:match('^[a-zA-Z0-9_]+$') and color:match('^[a-fA-F0-9]+$') + and (#color == 6 or #color == 8) then + local range = serialize_rgba(name_color[2]) + range.patterns = alt_patterns[name] + ranges[name_color[1]] = range + end + end + end + return ranges + end)(), + color = table_copy(config_defaults.color), + opacity = table_copy(config_defaults.opacity), + cursor_leave_fadeout_elements = {'timeline', 'volume', 'top_bar', 'controls'}, + timeline_step = 5, + timeline_step_flag = '', +} + +function update_load_types() + local extensions = {} + local types = create_set(comma_split(options.load_types:lower())) + + if types.same then + types.same = nil + if state and state.type then types[state.type] = true end + end + + for _, name in ipairs(table_keys(types)) do + local type_extensions = config.types[name] + if type(type_extensions) == 'table' then + itable_append(extensions, type_extensions) + else + msg.warn('Unknown load type: ' .. name) + end + end + + config.types.load = extensions +end + +-- Updates config with values dependent on options +function update_config() + -- Required environment config + if options.autoload then + mp.commandv('set', 'keep-open', 'yes') + mp.commandv('set', 'keep-open-pause', 'no') + end + + -- Adds `{element}_persistency` config properties with forced visibility states (e.g.: `{paused = true}`) + for _, name in ipairs({'timeline', 'controls', 'volume', 'top_bar', 'speed'}) do + local option_name = name .. '_persistency' + local value, flags = options[option_name], {} + if type(value) == 'string' then + for _, state in ipairs(comma_split(value)) do flags[state] = true end + end + config[option_name] = flags + end + + -- Opacity + config.opacity = table_assign({}, config_defaults.opacity, serialize_key_value_list(options.opacity, + function(value, key) + return clamp(0, tonumber(value) or config.opacity[key], 1) + end + )) + + -- Color + config.color = table_assign({}, config_defaults.color, serialize_key_value_list(options.color, function(value) + return serialize_rgba(value).color + end)) + + -- Global color shorthands + fg, bg = config.color.foreground, config.color.background + fgt, bgt = config.color.foreground_text, config.color.background_text + + -- Timeline step + do + local is_exact = options.timeline_step:sub(-1) == '!' + config.timeline_step = tonumber(is_exact and options.timeline_step:sub(1, -2) or options.timeline_step) + config.timeline_step_flag = is_exact and 'exact' or '' + end + + -- Other + update_load_types() +end +update_config() + +-- Default menu items +function create_default_menu_items() + return { + {title = t('Subtitles'), value = 'script-binding uosc/subtitles'}, + {title = t('Audio tracks'), value = 'script-binding uosc/audio'}, + {title = t('Stream quality'), value = 'script-binding uosc/stream-quality'}, + {title = t('Playlist'), value = 'script-binding uosc/items'}, + {title = t('Chapters'), value = 'script-binding uosc/chapters'}, + { + title = t('Navigation'), + items = { + { + title = t('Next'), + hint = t('playlist or file'), + value = + 'script-binding uosc/next', + }, + { + title = t('Prev'), + hint = t('playlist or file'), + value = + 'script-binding uosc/prev', + }, + {title = t('Delete file & Next'), value = 'script-binding uosc/delete-file-next'}, + {title = t('Delete file & Prev'), value = 'script-binding uosc/delete-file-prev'}, + {title = t('Delete file & Quit'), value = 'script-binding uosc/delete-file-quit'}, + {title = t('Open file'), value = 'script-binding uosc/open-file'}, + }, + }, + { + title = t('Utils'), + items = { + { + title = t('Aspect ratio'), + items = { + {title = t('Default'), value = 'set video-aspect-override no'}, + {title = '16:9', value = 'set video-aspect-override "16:9"'}, + {title = '4:3', value = 'set video-aspect-override "4:3"'}, + {title = '2.35:1', value = 'set video-aspect-override "2.35:1"'}, + }, + }, + {title = t('Audio devices'), value = 'script-binding uosc/audio-device'}, + {title = t('Editions'), value = 'script-binding uosc/editions'}, + {title = t('Screenshot'), value = 'async screenshot'}, + {title = t('Key bindings'), value = 'script-binding uosc/keybinds'}, + {title = t('Show in directory'), value = 'script-binding uosc/show-in-directory'}, + {title = t('Open config folder'), value = 'script-binding uosc/open-config-directory'}, + {title = t('Update uosc'), value = 'script-binding uosc/update'}, + }, + }, + {title = t('Quit'), value = 'quit'}, + } +end + +--[[ STATE ]] + +display = {ax = 0, ay = 0, bx = 1280, by = 720, width = 1280, height = 720, initialized = false} +cursor = require('lib/cursor') +state = { + platform = (function() + local platform = mp.get_property_native('platform') + if platform then + if itable_index_of({'windows', 'darwin'}, platform) then return platform end + else + if os.getenv('windir') ~= nil then return 'windows' end + local homedir = os.getenv('HOME') + if homedir ~= nil and string.sub(homedir, 1, 6) == '/Users' then return 'darwin' end + end + return 'linux' + end)(), + cwd = mp.get_property('working-directory'), + path = nil, -- current file path or URL + history = {}, -- history of last played files stored as full paths + time = nil, -- current media playback time + speed = 1, + ---@type number|nil + duration = nil, -- current media duration + max_seconds = nil, -- max seconds the time in timeline is expected to reach, accounted for speed + time_human = nil, -- current playback time in human format + destination_time_human = nil, -- depends on options.destination_time + pause = mp.get_property_native('pause'), + ime_active = mp.get_property_native('input-ime'), + chapters = {}, + chapter_ranges = {}, + border = mp.get_property_native('border'), + title_bar = mp.get_property_native('title-bar'), + fullscreen = mp.get_property_native('fullscreen'), + maximized = mp.get_property_native('window-maximized'), + fullormaxed = mp.get_property_native('fullscreen') or mp.get_property_native('window-maximized'), + render_timer = nil, + render_last_time = 0, + volume = mp.get_property_native('volume'), + volume_max = mp.get_property_native('volume-max'), + mute = nil, + type = nil, -- video,image,audio + is_idle = false, + is_video = false, + is_audio = false, -- true if file is audio only (mp3, etc) + is_image = false, + is_stream = false, + has_image = false, + has_audio = false, + has_sub = false, + has_chapter = false, + has_playlist = false, + shuffle = options.shuffle, + ---@type nil|{pos: number; paths: string[]} + shuffle_history = nil, + on_shuffle = function() state.shuffle_history = nil end, + mouse_bindings_enabled = false, + uncached_ranges = nil, + cache = nil, + cache_buffering = 100, + cache_underrun = false, + cache_duration = nil, + core_idle = false, + eof_reached = false, + render_delay = config.render_delay, + playlist_count = 0, + playlist_pos = 0, + margin_top = 0, + margin_bottom = 0, + margin_left = 0, + margin_right = 0, + hidpi_scale = 1, + scale = 1, + radius = 0, +} +buttons = require('lib/buttons') +thumbnail = {width = 0, height = 0, disabled = false} +external = {} -- Properties set by external scripts +key_binding_overwrites = {} -- Table of key_binding:mpv_command +Elements = require('elements/Elements') +Menu = require('elements/Menu') + +-- State dependent utilities +require('lib/utils') +require('lib/text') +require('lib/ass') +require('lib/menus') + +-- Determine path to ziggy +do + local bin = 'ziggy-' .. (state.platform == 'windows' and 'windows.exe' or state.platform) + config.ziggy_path = os.getenv('MPV_UOSC_ZIGGY') or join_path(mp.get_script_directory(), join_path('bin', bin)) +end + +--[[ STATE UPDATERS ]] + +function update_display_dimensions() + state.scale = (state.hidpi_scale or 1) * (state.fullormaxed and options.scale_fullscreen or options.scale) + state.radius = round(options.border_radius * state.scale) + local real_width, real_height = mp.get_osd_size() + if real_width <= 0 then return end + display.bx, display.width, display.by, display.height = real_width, real_width, real_height, real_height + display.initialized = true + + -- Tell elements about this + Elements:trigger('display') + + -- Some elements probably changed their rectangles as a reaction to `display` + Elements:update_proximities() + request_render() +end + +function update_fullormaxed() + state.fullormaxed = state.fullscreen or state.maximized + update_display_dimensions() + Elements:trigger('prop_fullormaxed', state.fullormaxed) + cursor:leave() +end + +function update_duration() + local duration = state._duration and ((state.rebase_start_time == false and state.start_time) + and (state._duration + state.start_time) or state._duration) + set_state('duration', duration) + update_human_times() +end + +function update_human_times() + state.speed = state.speed or 1 + if state.time then + if state.duration then + if options.destination_time == 'playtime-remaining' then + state.destination_time_human = format_time((state.time - state.duration) / state.speed, state.duration) + elseif options.destination_time == 'total' then + state.destination_time_human = format_time(state.duration, state.duration) + else + state.destination_time_human = format_time(state.time - state.duration, state.duration) + end + else + state.destination_time_human = nil + end + state.time_human = format_time(state.time, state.duration or state.time) + else + state.time_human, state.destination_time_human = nil, nil + end +end + +-- Notifies other scripts such as console about where the unoccupied parts of the screen are. +function update_margins() + if display.height == 0 then return end + + local function causes_margin(element) + return element and element.enabled and (element:is_persistent() or element.min_visibility > 0.5) + end + local timeline, top_bar, controls, volume = Elements.timeline, Elements.top_bar, Elements.controls, Elements.volume + -- margins are normalized to window size + local left, right, top, bottom = 0, 0, 0, 0 + + if causes_margin(controls) then + bottom = (display.height - controls.ay) / display.height + elseif causes_margin(timeline) then + bottom = (display.height - timeline.ay) / display.height + end + + if causes_margin(top_bar) then top = top_bar.title_by / display.height end + + if causes_margin(volume) then + if options.volume == 'left' then + left = volume.bx / display.width + elseif options.volume == 'right' then + right = volume.ax / display.width + end + end + + if top == state.margin_top and bottom == state.margin_bottom and + left == state.margin_left and right == state.margin_right then + return + end + + state.margin_top = top + state.margin_bottom = bottom + state.margin_left = left + state.margin_right = right + + if utils.shared_script_property_set then + utils.shared_script_property_set('osc-margins', string.format('%f,%f,%f,%f', 0, 0, top, bottom)) + end + mp.set_property_native('user-data/osc/margins', {l = left, r = right, t = top, b = bottom}) + + if not options.adjust_osd_margins then return end + local osd_margin_y, osd_margin_x, osd_factor_x = 0, 0, display.width / display.height * 720 + if config.osd_alignment_y == 'bottom' then + osd_margin_y = round(bottom * 720) + elseif config.osd_alignment_y == 'top' then + osd_margin_y = round(top * 720) + end + if config.osd_alignment_x == 'left' then + osd_margin_x = round(left * osd_factor_x) + elseif config.osd_alignment_x == 'right' then + osd_margin_x = round(right * osd_factor_x) + end + mp.set_property_native('osd-margin-y', osd_margin_y + config.osd_margin_y) + mp.set_property_native('osd-margin-x', osd_margin_x + config.osd_margin_x) +end +function create_state_setter(name, callback) + return function(_, value) + set_state(name, value) + if callback then callback() end + request_render() + end +end + +function set_state(name, value) + state[name] = value + local state_event = state['on_' .. name] + if state_event then state_event(value) end + Elements:trigger('prop_' .. name, value) +end + +function handle_file_end() + local resume = false + if not state.loop_file then + if state.has_playlist then + resume = state.shuffle and navigate_playlist(1) + else + resume = options.autoload and navigate_directory(1) + end + end + -- Resume only when navigation happened + if resume then mp.command('set pause no') end +end +local file_end_timer = mp.add_timeout(1, handle_file_end) +file_end_timer:kill() + +function load_file_index_in_current_directory(index) + if not state.path or is_protocol(state.path) then return end + + local serialized = serialize_path(state.path) + if serialized and serialized.dirname then + local files, _dirs, error = read_directory(serialized.dirname, { + types = config.types.load, + hidden = options.show_hidden_files, + }) + + if error then + msg.error(error) + return + end + + sort_strings(files) + if index < 0 then index = #files + index + 1 end + + if files[index] then + mp.commandv('loadfile', join_path(serialized.dirname, files[index])) + end + end +end + +function update_render_delay(name, fps) + if fps then state.render_delay = 1 / fps end +end + +function observe_display_fps(name, fps) + if fps then + mp.unobserve_property(update_render_delay) + mp.unobserve_property(observe_display_fps) + mp.observe_property('display-fps', 'native', update_render_delay) + end +end + +--[[ STATE HOOKS ]] + +mp.register_event('file-loaded', function() + local path = normalize_path(mp.get_property_native('path')) + itable_delete_value(state.history, path) + state.history[#state.history + 1] = path + set_state('path', path) + + -- Flash top bar on requested file types + for _, type in ipairs(config.top_bar_flash_on) do + if state['is_' .. type] then + Elements:flash({'top_bar'}) + break + end + end +end) +mp.register_event('end-file', function(event) + set_state('path', nil) + if event.reason == 'eof' then + file_end_timer:kill() + handle_file_end() + end +end) +mp.observe_property('playback-time', 'number', create_state_setter('time', function() + -- Create a file-end event that triggers right before file ends + file_end_timer:kill() + if state.duration and state.time and not state.pause then + local remaining = (state.duration - state.time) / state.speed + if remaining < 5 then + local timeout = remaining - 0.02 + if timeout > 0 then + file_end_timer.timeout = timeout + file_end_timer:resume() + else + handle_file_end() + end + end + end + + update_human_times() +end)) +mp.observe_property('rebase-start-time', 'bool', create_state_setter('rebase_start_time', update_duration)) +mp.observe_property('demuxer-start-time', 'number', create_state_setter('start_time', update_duration)) +mp.observe_property('duration', 'number', create_state_setter('_duration', update_duration)) +mp.observe_property('speed', 'number', create_state_setter('speed', update_human_times)) +mp.observe_property('track-list', 'native', function(name, value) + -- checks the file dispositions + local types = {sub = 0, image = 0, audio = 0, video = 0} + for _, track in ipairs(value) do + if track.type == 'video' then + if track.image or track.albumart then + types.image = types.image + 1 + else + types.video = types.video + 1 + end + elseif types[track.type] then + types[track.type] = types[track.type] + 1 + end + end + set_state('is_audio', types.video == 0 and types.audio > 0) + set_state('is_image', types.image > 0 and types.video == 0 and types.audio == 0) + set_state('has_image', types.image > 0) + set_state('has_audio', types.audio > 0) + set_state('has_many_audio', types.audio > 1) + set_state('has_sub', types.sub > 0) + set_state('has_many_sub', types.sub > 1) + set_state('is_video', types.video > 0) + set_state('has_many_video', types.video > 1) + set_state('type', state.is_video and 'video' or state.is_audio and 'audio' or state.is_image and 'image' or nil) + update_load_types() + Elements:trigger('dispositions') +end) +mp.observe_property('editions', 'number', function(_, editions) + if editions then set_state('has_many_edition', editions > 1) end + Elements:trigger('dispositions') +end) +mp.observe_property('chapter-list', 'native', function(_, chapters) + local chapters, chapter_ranges = serialize_chapters(chapters), {} + if chapters then chapters, chapter_ranges = serialize_chapter_ranges(chapters) end + set_state('chapters', chapters) + set_state('chapter_ranges', chapter_ranges) + set_state('has_chapter', #chapters > 0) + Elements:trigger('dispositions') +end) +mp.observe_property('border', 'bool', create_state_setter('border')) +mp.observe_property('title-bar', 'bool', create_state_setter('title_bar')) +mp.observe_property('loop-file', 'native', create_state_setter('loop_file')) +mp.observe_property('ab-loop-a', 'number', create_state_setter('ab_loop_a')) +mp.observe_property('ab-loop-b', 'number', create_state_setter('ab_loop_b')) +mp.observe_property('playlist-pos-1', 'number', create_state_setter('playlist_pos')) +mp.observe_property('playlist-count', 'number', function(_, value) + set_state('playlist_count', value) + set_state('has_playlist', value > 1) + Elements:trigger('dispositions') +end) +mp.observe_property('fullscreen', 'bool', create_state_setter('fullscreen', update_fullormaxed)) +mp.observe_property('window-maximized', 'bool', create_state_setter('maximized', update_fullormaxed)) +mp.observe_property('idle-active', 'bool', function(_, idle) + set_state('is_idle', idle) + Elements:trigger('dispositions') + mp.commandv('script-message-to', 'thumbfast', 'clear') +end) +mp.observe_property('pause', 'bool', create_state_setter('pause', function() file_end_timer:kill() end)) +mp.observe_property('volume', 'number', create_state_setter('volume')) +mp.observe_property('volume-max', 'number', create_state_setter('volume_max')) +mp.observe_property('mute', 'bool', create_state_setter('mute')) +mp.observe_property('osd-dimensions', 'native', function(name, val) + update_display_dimensions() + request_render() +end) +mp.observe_property('display-hidpi-scale', 'native', create_state_setter('hidpi_scale', update_display_dimensions)) +mp.observe_property('cache', 'string', create_state_setter('cache')) +mp.observe_property('cache-buffering-state', 'number', create_state_setter('cache_buffering')) +mp.observe_property('demuxer-via-network', 'native', create_state_setter('is_stream', function() + Elements:trigger('dispositions') +end)) +mp.observe_property('demuxer-cache-state', 'native', function(prop, cache_state) + local cached_ranges, bof, eof, uncached_ranges = nil, nil, nil, nil + if cache_state then + cached_ranges, bof, eof = cache_state['seekable-ranges'], cache_state['bof-cached'], cache_state['eof-cached'] + set_state('cache_underrun', cache_state['underrun']) + set_state('cache_duration', not cache_state.eof and cache_state['cache-duration'] or nil) + else + cached_ranges = {} + set_state('cache_underrun', false) + end + + if not (state.duration and (#cached_ranges > 0 or state.cache == 'yes' or + (state.cache == 'auto' and state.is_stream))) then + if state.uncached_ranges then set_state('uncached_ranges', nil) end + set_state('cache_duration', nil) + return + end + + -- Normalize + local ranges = {} + for _, range in ipairs(cached_ranges) do + ranges[#ranges + 1] = { + math.max(range['start'] or 0, 0), + math.min(range['end'] or state.duration --[[@as number]], state.duration), + } + end + table.sort(ranges, function(a, b) return a[1] < b[1] end) + if bof then ranges[1][1] = 0 end + if eof then ranges[#ranges][2] = state.duration end + -- Invert cached ranges into uncached ranges, as that's what we're rendering + local inverted_ranges = {{0, state.duration}} + for _, cached in pairs(ranges) do + inverted_ranges[#inverted_ranges][2] = cached[1] + inverted_ranges[#inverted_ranges + 1] = {cached[2], state.duration} + end + uncached_ranges = {} + local last_range = nil + for _, range in ipairs(inverted_ranges) do + if last_range and last_range[2] + 0.5 > range[1] then -- fuse ranges + last_range[2] = range[2] + else + if range[2] - range[1] > 0.5 then -- skip short ranges + uncached_ranges[#uncached_ranges + 1] = range + last_range = range + end + end + end + + set_state('uncached_ranges', uncached_ranges) +end) +mp.observe_property('display-fps', 'native', observe_display_fps) +mp.observe_property('estimated-display-fps', 'native', update_render_delay) +mp.observe_property('eof-reached', 'native', create_state_setter('eof_reached')) +mp.observe_property('core-idle', 'native', create_state_setter('core_idle')) + +--[[ KEY BINDS ]] + +-- Adds a key binding that respects rerouting set by `key_binding_overwrites` table. +---@param name string +---@param callback fun(event: table) +---@param flags nil|string +function bind_command(name, callback, flags) + mp.add_key_binding(nil, name, function(...) + if key_binding_overwrites[name] then + mp.command(key_binding_overwrites[name]) + else + callback(...) + end + end, flags) +end + +bind_command('toggle-ui', function() Elements:toggle({'timeline', 'controls', 'volume', 'top_bar'}) end) +bind_command('flash-ui', function() Elements:flash({'timeline', 'controls', 'volume', 'top_bar'}) end) +bind_command('flash-timeline', function() Elements:flash({'timeline'}) end) +bind_command('flash-top-bar', function() Elements:flash({'top_bar'}) end) +bind_command('flash-volume', function() Elements:flash({'volume'}) end) +bind_command('flash-speed', function() Elements:flash({'speed'}) end) +bind_command('flash-pause-indicator', function() Elements:flash({'pause_indicator'}) end) +bind_command('flash-progress', function() Elements:flash({'progress'}) end) +bind_command('toggle-progress', function() Elements:maybe('timeline', 'toggle_progress') end) +bind_command('toggle-title', function() Elements:maybe('top_bar', 'toggle_title') end) +bind_command('decide-pause-indicator', function() Elements:maybe('pause_indicator', 'decide') end) +bind_command('menu', function() toggle_menu_with_items() end) +bind_command('menu-blurred', function() toggle_menu_with_items({mouse_nav = true}) end) +bind_command('keybinds', function() + if Menu:is_open('keybinds') then + Menu:close() + else + open_command_menu({type = 'keybinds', items = get_keybinds_items(), search_style = 'palette'}) + end +end) +bind_command('download-subtitles', open_subtitle_downloader) +bind_command('load-subtitles', create_track_loader_menu_opener({ + prop = 'sub', + title = t('Load subtitles'), + loaded_message = t('Loaded subtitles'), + allowed_types = itable_join(config.types.video, config.types.subtitle), +})) +bind_command('load-audio', create_track_loader_menu_opener({ + prop = 'audio', + title = t('Load audio'), + loaded_message = t('Loaded audio'), + allowed_types = itable_join(config.types.video, config.types.audio), +})) +bind_command('load-video', create_track_loader_menu_opener({ + prop = 'video', + title = t('Load video'), + loaded_message = t('Loaded video'), + allowed_types = config.types.video, +})) +bind_command('subtitles', create_select_tracklist_type_menu_opener({ + title = t('Subtitles'), + type = 'sub', + prop = 'sid', + enable_prop = 'sub-visibility', + secondary = {prop = 'secondary-sid', icon = 'vertical_align_top', enable_prop = 'secondary-sub-visibility'}, + load_command = 'script-binding uosc/load-subtitles', + download_command = 'script-binding uosc/download-subtitles', +})) +bind_command('audio', create_select_tracklist_type_menu_opener({ + title = t('Audio'), type = 'audio', prop = 'aid', load_command = 'script-binding uosc/load-audio', +})) +bind_command('video', create_select_tracklist_type_menu_opener({ + title = t('Video'), type = 'video', prop = 'vid', load_command = 'script-binding uosc/load-video', +})) +bind_command('playlist', create_self_updating_menu_opener({ + title = t('Playlist'), + type = 'playlist', + list_prop = 'playlist', + footnote = t('Paste path or url to add.') .. ' ' .. t('%s to reorder.', 'ctrl+up/down/pgup/pgdn/home/end'), + serializer = function(playlist) + local items = {} + local force_filename = mp.get_property_native('osd-playlist-entry') == 'filename' + for index, item in ipairs(playlist) do + local title = type(item.title) == 'string' and #item.title > 0 and item.title or false + items[index] = { + title = (not force_filename and title) and title + or (is_protocol(item.filename) and item.filename or serialize_path(item.filename).basename), + hint = tostring(index), + active = item.current, + value = index, + } + end + return items + end, + on_activate = function(event) mp.commandv('set', 'playlist-pos-1', tostring(event.value)) end, + on_paste = function(event) mp.commandv('loadfile', tostring(event.value), 'append') end, + on_key = function(event) + if event.id == 'ctrl+c' and event.selected_item then + local payload = mp.get_property_native('playlist/' .. (event.selected_item.value - 1) .. '/filename') + set_clipboard(payload) + end + end, + on_move = function(event) + local from, to = event.from_index, event.to_index + mp.commandv('playlist-move', tostring(from - 1), tostring(to - (to > from and 0 or 1))) + end, + on_remove = function(event) mp.commandv('playlist-remove', tostring(event.value - 1)) end, +})) +bind_command('chapters', create_self_updating_menu_opener({ + title = t('Chapters'), + type = 'chapters', + list_prop = 'chapter-list', + active_prop = 'chapter', + serializer = function(chapters, current_chapter) + local items = {} + chapters = normalize_chapters(chapters) + for index, chapter in ipairs(chapters) do + items[index] = { + title = chapter.title or '', + hint = format_time(chapter.time, state.duration), + value = index, + active = index - 1 == current_chapter, + } + end + return items + end, + on_activate = function(event) mp.commandv('set', 'chapter', tostring(event.value - 1)) end, +})) +bind_command('editions', create_self_updating_menu_opener({ + title = t('Editions'), + type = 'editions', + list_prop = 'edition-list', + active_prop = 'current-edition', + serializer = function(editions, current_id) + local items = {} + for _, edition in ipairs(editions or {}) do + local edition_id_1 = tostring(edition.id + 1) + items[#items + 1] = { + title = edition.title or t('Edition %s', edition_id_1), + hint = edition_id_1, + value = edition.id, + active = edition.id == current_id, + } + end + return items + end, + on_activate = function(event) mp.commandv('set', 'edition', event.value) end, +})) +bind_command('show-in-directory', function() + -- Ignore URLs + if not state.path or is_protocol(state.path) then return end + + if state.platform == 'windows' then + utils.subprocess_detached({args = {'explorer', '/select,', state.path .. ' '}, cancellable = false}) + elseif state.platform == 'darwin' then + utils.subprocess_detached({args = {'open', '-R', state.path}, cancellable = false}) + elseif state.platform == 'linux' then + local result = utils.subprocess({args = {'nautilus', state.path}, cancellable = false}) + + -- Fallback opens the folder with xdg-open instead + if result.status ~= 0 then + utils.subprocess({args = {'xdg-open', serialize_path(state.path).dirname}, cancellable = false}) + end + end +end) +bind_command('stream-quality', open_stream_quality_menu) +bind_command('open-file', open_open_file_menu) +bind_command('shuffle', function() + set_state('shuffle', not state.shuffle) + mp.osd_message(state.shuffle and t('Shuffle ON') or t('Shuffle OFF')) +end) +bind_command('items', function() + if state.has_playlist then + mp.command('script-binding uosc/playlist') + else + mp.command('script-binding uosc/open-file') + end +end) +bind_command('next', function() navigate_item(1) end) +bind_command('prev', function() navigate_item(-1) end) +bind_command('next-file', function() navigate_directory(1) end) +bind_command('prev-file', function() navigate_directory(-1) end) +bind_command('first', function() + if state.has_playlist then + mp.commandv('set', 'playlist-pos-1', '1') + else + load_file_index_in_current_directory(1) + end +end) +bind_command('last', function() + if state.has_playlist then + mp.commandv('set', 'playlist-pos-1', tostring(state.playlist_count)) + else + load_file_index_in_current_directory(-1) + end +end) +bind_command('first-file', function() load_file_index_in_current_directory(1) end) +bind_command('last-file', function() load_file_index_in_current_directory(-1) end) +bind_command('delete-file-prev', function() delete_file_navigate(-1) end) +bind_command('delete-file-next', function() delete_file_navigate(1) end) +bind_command('delete-file-quit', function() + mp.command('stop') + if state.path and not is_protocol(state.path) then delete_file(state.path) end + mp.command('quit') +end) +bind_command('menu-prev', function() Elements:maybe('menu', 'navigate_by_items', -1) end) +bind_command('menu-next', function() Elements:maybe('menu', 'navigate_by_items', 1) end) +bind_command('menu-prev-page', function() Elements:maybe('menu', 'navigate_by_page', -1) end) +bind_command('menu-next-page', function() Elements:maybe('menu', 'navigate_by_page', 1) end) +bind_command('menu-start', function() Elements:maybe('menu', 'navigate_by_items', -math.huge) end) +bind_command('menu-end', function() Elements:maybe('menu', 'navigate_by_items', math.huge) end) +bind_command('menu-activate', function() Elements:maybe('menu', 'activate_selected_item') end) +bind_command('menu-back', function() Elements:maybe('menu', 'back') end) +bind_command('audio-device', create_self_updating_menu_opener({ + title = t('Audio devices'), + type = 'audio-device-list', + list_prop = 'audio-device-list', + active_prop = 'audio-device', + serializer = function(audio_device_list, current_device) + current_device = current_device or 'auto' + local ao = mp.get_property('current-ao') or '' + local items = {} + for _, device in ipairs(audio_device_list) do + if device.name == 'auto' or string.match(device.name, '^' .. ao) then + local hint = string.match(device.name, ao .. '/(.+)') + if not hint then hint = device.name end + items[#items + 1] = { + title = device.description:sub(1, 7) == 'Default' + and t('Default %s', device.description:sub(9)) + or device.description, + hint = hint, + active = device.name == current_device, + value = device.name, + } + end + end + return items + end, + on_activate = function(event) mp.commandv('set', 'audio-device', event.value) end, +})) +bind_command('paste', function() + local has_playlist = mp.get_property_native('playlist-count') > 1 + mp.commandv('script-binding', 'uosc/paste-to-' .. (has_playlist and 'playlist' or 'open')) +end) +bind_command('paste-to-open', function() + local payload = get_clipboard() + if payload then mp.commandv('loadfile', payload) end +end) +bind_command('paste-to-playlist', function() + -- If there's no file loaded, we use `paste-to-open`, which both opens and adds to playlist + if state.is_idle then + mp.commandv('script-binding', 'uosc/paste-to-open') + else + local payload = get_clipboard() + if payload then + mp.commandv('loadfile', payload, 'append') + mp.commandv('show-text', t('Added to playlist') .. ': ' .. payload, 3000) + end + end +end) +bind_command('copy-to-clipboard', function() + if state.path then + set_clipboard(state.path) + else + mp.commandv('show-text', t('Nothing to copy'), 3000) + end +end) +bind_command('open-config-directory', function() + local config_path = mp.command_native({'expand-path', '~~/mpv.conf'}) + local config = serialize_path(normalize_path(config_path)) + + if config then + local args + + if state.platform == 'windows' then + args = {'explorer', '/select,', config.path} + elseif state.platform == 'darwin' then + args = {'open', '-R', config.path} + elseif state.platform == 'linux' then + args = {'xdg-open', config.dirname} + end + + utils.subprocess_detached({args = args, cancellable = false}) + else + msg.error('Couldn\'t serialize config path "' .. config_path .. '".') + end +end) +bind_command('update', function() + if not Elements:has('updater') then require('elements/Updater'):new() end +end) + +--[[ MESSAGE HANDLERS ]] + +mp.register_script_message('show-submenu', function(id) toggle_menu_with_items({submenu = id}) end) +mp.register_script_message('show-submenu-blurred', function(id) + toggle_menu_with_items({submenu = id, mouse_nav = true}) +end) +mp.register_script_message('open-menu', function(json, submenu_id) + local data = utils.parse_json(json) + if type(data) ~= 'table' or type(data.items) ~= 'table' then + msg.error('open-menu: received json didn\'t produce a table with menu configuration') + else + open_command_menu(data, {submenu = submenu_id, on_close = data.on_close}) + end +end) +mp.register_script_message('update-menu', function(json) + local data = utils.parse_json(json) + if type(data) ~= 'table' or type(data.items) ~= 'table' then + msg.error('update-menu: received json didn\'t produce a table with menu configuration') + else + local menu = data.type and Menu:is_open(data.type) + if menu then menu:update(data) end + end +end) +mp.register_script_message('select-menu-item', function(type, item_index, menu_id) + local menu = Menu:is_open(type) + local index = tonumber(item_index) + if menu and index and not menu.mouse_nav then + index = round(index) + if index > 0 and index <= #menu.current.items then + menu:select_index(index, menu_id) + menu:scroll_to_index(index, menu_id, true) + end + end +end) +mp.register_script_message('close-menu', function(type) + if Menu:is_open(type) then Menu:close() end +end) +mp.register_script_message('menu-action', function(name, ...) + local menu = Menu:is_open() + if menu then + local method = ({ + ['search-cancel'] = 'search_cancel', + ['search-query-update'] = 'search_query_update', + })[name] + if method then menu[method](menu, ...) end + end +end) +mp.register_script_message('thumbfast-info', function(json) + local data = utils.parse_json(json) + if type(data) ~= 'table' or not data.width or not data.height then + thumbnail.disabled = true + msg.error('thumbfast-info: received json didn\'t produce a table with thumbnail information') + else + thumbnail = data + request_render() + end +end) +mp.register_script_message('set', function(name, value) + external[name] = value + Elements:trigger('external_prop_' .. name, value) +end) +mp.register_script_message('toggle-elements', function(elements) Elements:toggle(comma_split(elements)) end) +mp.register_script_message('set-min-visibility', function(visibility, elements) + local fraction = tonumber(visibility) + local ids = comma_split(elements and elements ~= '' and elements or 'timeline,controls,volume,top_bar') + if fraction then Elements:set_min_visibility(clamp(0, fraction, 1), ids) end +end) +mp.register_script_message('flash-elements', function(elements) Elements:flash(comma_split(elements)) end) +mp.register_script_message('overwrite-binding', function(name, command) key_binding_overwrites[name] = command end) +mp.register_script_message('disable-elements', function(id, elements) Manager:disable(id, elements) end) + +--[[ ELEMENTS ]] + +-- Dynamic elements +local constructors = { + window_border = require('elements/WindowBorder'), + buffering_indicator = require('elements/BufferingIndicator'), + pause_indicator = require('elements/PauseIndicator'), + top_bar = require('elements/TopBar'), + timeline = require('elements/Timeline'), + controls = options.controls and options.controls ~= 'never' and require('elements/Controls'), + volume = itable_index_of({'left', 'right'}, options.volume) and require('elements/Volume'), +} + +-- Required elements +require('elements/Curtain'):new() + +-- Element manager +-- Handles creating and destroying elements based on disabled_elements user+script config. +Manager = { + -- Managed disable-able element IDs + _ids = itable_join(table_keys(constructors), {'idle_indicator', 'audio_indicator'}), + ---@type table A map of clients and a list of element ids they disable + _disabled_by = {}, + ---@type table + disabled = {}, +} + +-- Set client and which elements it wishes disabled. To undo just pass an empty `element_ids` for the same `client`. +---@param client string +---@param element_ids string|string[]|nil `foo,bar` or `{'foo', 'bar'}`. +function Manager:disable(client, element_ids) + self._disabled_by[client] = comma_split(element_ids) + ---@diagnostic disable-next-line: deprecated + self.disabled = create_set(itable_join(unpack(table_values(self._disabled_by)))) + self:_commit() +end + +function Manager:_commit() + -- Create and destroy elements as needed + for _, id in ipairs(self._ids) do + local constructor = constructors[id] + if not self.disabled[id] then + if not Elements:has(id) and constructor then constructor:new() end + else + Elements:maybe(id, 'destroy') + end + end + + -- We use `on_display` event to tell elements to update their dimensions + Elements:trigger('display') +end + +-- Initial commit +Manager:disable('user', options.disable_elements) \ No newline at end of file diff --git a/scripts/uosc_danmaku/LICENSE b/scripts/uosc_danmaku/LICENSE new file mode 100644 index 0000000..39bf231 --- /dev/null +++ b/scripts/uosc_danmaku/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 吴南李 + +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. \ No newline at end of file diff --git a/scripts/uosc_danmaku/README.md b/scripts/uosc_danmaku/README.md new file mode 100644 index 0000000..de50f5a --- /dev/null +++ b/scripts/uosc_danmaku/README.md @@ -0,0 +1,1058 @@ +# uosc_danmaku + +在MPV播放器中加载弹弹play弹幕,基于 uosc UI框架和弹弹play API的mpv弹幕扩展插件 + +> [!WARNING] +> Release1.2.0及Release1.2.0之前的发行版,都由于弹弹play接口使用政策改版,部分功能无法使用。如果发现插件功能异常,比如搜索弹幕总是显示无结果,请拉取或下载主分支最新源代码;或下载[最新发行版](https://github.com/Tony15246/uosc_danmaku/releases/latest) + +> [!NOTE] +> 已添加对mpv内部 `mp.input`的支持,在uosc不可用时通过键绑定调用此方式渲染菜单 +> +> 欲启用此支持mpv最低版本要求:0.39.0 + +## 项目简介 + +插件具体效果见演示视频: + + + +在未安装uosc框架时,调用mpv内部的 `mp.input`进行菜单渲染,具体效果见[此pr](https://github.com/Tony15246/uosc_danmaku/pull/24) + +### 主要功能 + +
+ +1. 从弹弹play或自定义服务的API获取剧集及弹幕数据,并根据用户选择的集数加载弹幕 + +2. 通过点击uosc control bar中的弹幕搜索按钮可以显示搜索菜单供用户选择需要的弹幕 + +3. 通过点击加入uosc control bar中的弹幕开关控件可以控制弹幕的开关 + +4. 通过点击加入uosc control bar中的[从源获取弹幕](#从弹幕源向当前弹幕添加新弹幕内容可选)按钮可以通过受支持的网络源或本地文件添加弹幕 + +5. 通过点击加入uosc control bar中的[弹幕样式](#实时修改弹幕样式可选)按钮可以打开uosc弹幕样式菜单供用户在视频播放时实时修改弹幕样式(注意⚠️:未安装uosc框架时该功能不可用) + +6. 通过点击加入uosc control bar中的[弹幕设置](#弹幕设置总菜单可选)按钮可以打开多级功能复合菜单,包含了插件目前所有的图形化功能。 + +7. 通过点击加入uosc control bar中的[弹幕源延迟设置](#弹幕源延迟设置可选)按钮可以打开弹幕源延迟控制菜单,可以独立控制每个弹幕源的延迟(注意⚠️:未安装uosc框架时该功能不可用) + +8. 记忆型全自动弹幕填装,在为某个文件夹下的某一集番剧加载过一次弹幕后,加载过的弹幕会自动关联到该集;之后每次重新播放该文件就会自动加载弹幕,同时该文件对应的文件夹下的所有其他集数的文件都会在播放时自动加载弹幕,无需再重复手动输入番剧名进行搜索(注意⚠️:全自动弹幕填装默认关闭,如需开启请阅读[auto_load配置项说明](#auto_load)) + +9. 在没有手动加载过弹幕,没有填装自动弹幕记忆之前,通过文件哈希匹配的方式自动添加弹幕(~仅限本地文件~,现已支持网络视频),对于能够哈希匹配关联的文件不再需要手动搜索关联,实现全自动加载弹幕并添加记忆。该功能随记忆型全自动弹幕填装功能一起开启(哈希匹配自动加载准确率较低,如关联到错误的剧集请手动加载正确的剧集) + + > 哈希匹配功能需要 mpv 基于 LuaJIT 或 Lua 5.2 构建,不支持 Lua 5.1 + +10. 自动记忆弹幕开关情况,播放视频时保持上次关闭时的弹幕开关状态 + +11. 自定义默认播放弹幕样式(具体设置方法详见[自定义弹幕样式](#自定义弹幕样式相关配置)) + +12. 在使用如[Play-With-MPV](https://github.com/LuckyPuppy514/Play-With-MPV)或[ff2mpv](https://github.com/woodruffw/ff2mpv)等网络播放手段时,自动加载弹幕(注意⚠️:目前支持自动加载bilibili和巴哈姆特这两个网站的弹幕,具体说明查看[autoload_for_url配置项说明](#autoload_for_url)) + +13. 保存当前弹幕到本地(详细功能说明见[save_danmaku配置项说明](#save_danmaku)) + +14. 可以合并一定时间段内同时出现的大量重复弹幕(具体设置方法详见[merge_tolerance配置项说明](#merge_tolerance)) + +15. 弹幕简体字繁体字转换,解决弹幕简繁混杂问题(具体设置方法详见[chConvert配置项说明](#chConvert)) + +16. 自定义插件相关提示的显示位置,可以自由调节距离画面左上角的两个维度的距离(具体设置方法详见[message_x配置项说明](#message_x)和[message_y配置项说明](#message_y)) + +无需亲自下载整合弹幕文件资源,无需亲自处理文件格式转换,在mpv播放器中一键加载包含了哔哩哔哩、巴哈姆特等弹幕网站弹幕的弹弹play的动画弹幕。 + +插件本身支持Linux和Windows平台。项目依赖于[uosc UI框架](https://github.com/tomasklaen/uosc)。欲使用本插件强烈建议为mpv播放器中安装uosc。uosc的安装步骤可以参考其[官方安装教程](https://github.com/tomasklaen/uosc?tab=readme-ov-file#install)。当然,如果使用[MPV_lazy](https://github.com/hooke007/MPV_lazy)等内置了uosc的懒人包则只需安装本插件即可。 + +
+ +## 安装 + +### 下载 + +一般的mpv配置目录结构大致如下 + +``` +~/.config/mpv +├── fonts +├── input.conf +├── mplayer-input.conf +├── mpv.conf +├── script-opts +└── scripts +``` + +想要使用本插件,请将本插件完整地[下载](https://github.com/Tony15246/uosc_danmaku/releases)或者克隆到 `scripts`目录下即可使用,文件结构参阅下方 + +> [!IMPORTANT] +> +> 1. scripts目录下放置本插件的文件夹名称必须为uosc_danmaku,否则必须参照uosc控件配置部分[修改uosc控件](#修改uosc控件可选) +> 2. 记得给bin文件夹下的文件赋予可执行权限 + +
+文件结构 + +``` +~/.config/mpv/scripts +└── uosc_danmaku + ├── apis + │   ├── dandanplay.lua + │   └── extra.lua + ├── LICENSE + ├── main.lua + ├── modules + │   ├── base64.lua + │   ├── guess.lua + │   ├── md5.lua + │   ├── menu.lua + │   ├── options.lua + │   ├── render.lua + │   └── utils.lua + └── README.md +``` + +
+ +## 基本配置 + +#### uosc控件配置 + +这一步非常重要,不添加控件,弹幕搜索按钮和弹幕开关就不会显示在进度条上方的控件条中。若没有控件,则只能通过[绑定快捷键](#绑定快捷键可选)调用弹幕搜索和弹幕开关功能 + +想要添加uosc控件,需要修改mpv配置文件夹下的 `script-opts`中的 `uosc.conf`文件。如果已经安装了uosc,但是 `script-opts`文件夹下没有 `uosc.conf`文件,可以去[uosc项目地址](https://github.com/tomasklaen/uosc)下载官方的 `uosc.conf`文件,并按照后面的配置步骤进行配置。 + +由于uosc最近才更新了部分接口和控件代码,导致老旧版本的uosc和新版的uosc配置有所不同。如果是下载的最新git版uosc或者一直保持更新的用户按照 `最新版uosc的控件配置步骤` 配置即可。如果不确定自己的uosc版本,或者在使用诸如[MPV_lazy](https://github.com/hooke007/MPV_lazy)等由第三方管理uosc版本的用户,可以按照兼容新版和旧版uosc的 `旧版uosc控件配置步骤` 配置。 + +
+最新版uosc的控件配置步骤 + +找到 `uosc.conf`文件中的 `controls`配置项,uosc官方默认的配置可能如下: + +``` +controls=menu,gap,subtitles,audio,video,editions,stream-quality,gap,space,speed,space,shuffle,loop-playlist,loop-file,gap,prev,items,next,gap,fullscreen +``` + +在 `controls`控件配置项中添加 `button:danmaku`的弹幕搜索按钮和 `cycle:toggle_on:show_danmaku@uosc_danmaku:on=toggle_on/off=toggle_off?弹幕开关`的弹幕开关。放置的位置就是实际会在在进度条上方的控件条中显示的位置,可以放在自己喜欢的位置。我个人把这两个控件放在了 `stream-quality`画质选择控件后边。添加完控件的配置大概如下: + +``` +controls=menu,gap,subtitles,audio,video,editions,stream-quality,button:danmaku,cycle:toggle_on:show_danmaku@uosc_danmaku:on=toggle_on/off=toggle_off?弹幕开关,gap,space,speed,space,shuffle,loop-playlist,loop-file,gap,prev,items,next,gap,fullscreen +``` + +
+ +
+旧版uosc控件配置步骤 + +找到 `uosc.conf`文件中的 `controls`配置项,uosc官方默认的配置可能如下: + +``` +controls=menu,gap,subtitles,audio,video,editions,stream-quality,gap,space,speed,space,shuffle,loop-playlist,loop-file,gap,prev,items,next,gap,fullscreen +``` + +在 `controls`控件配置项中添加 `command:search:script-message open_search_danmaku_menu?搜索弹幕`的弹幕搜索按钮和 `cycle:toggle_on:show_danmaku@uosc_danmaku:on=toggle_on/off=toggle_off?弹幕开关`的弹幕开关。放置的位置就是实际会在在进度条上方的控件条中显示的位置,可以放在自己喜欢的位置。我个人把这两个控件放在了 `stream-quality`画质选择控件后边。添加完控件的配置大概如下: + +``` +controls=menu,gap,subtitles,audio,video,editions,stream-quality,command:search:script-message open_search_danmaku_menu?搜索弹幕,cycle:toggle_on:show_danmaku@uosc_danmaku:on=toggle_on/off=toggle_off?弹幕开关,gap,space,speed,space,shuffle,loop-playlist,loop-file,gap,prev,items,next,gap,fullscreen +``` + +
+ +
+修改uosc控件(可选) + +如果出于重名等各种原因,无法将本插件所放置的文件夹命名为 `uosc_danmaku`的话,需要修改 `cycle:toggle_on:show_danmaku@uosc_danmaku:on=toggle_on/off=toggle_off?弹幕开关`的弹幕开关配置中的 `uosc_danmaku`为放置本插件的文件夹的名称。假如将本插件放置在 `my_folder`文件夹下,那么弹幕开关配置就要修改为 `cycle:toggle_on:show_danmaku@my_folder:on=toggle_on/off=toggle_off?弹幕开关` + +
+ +#### 绑定快捷键(可选) + +对于坚定的键盘爱好者和不使用鼠标主义者,可以选择通过快捷键调用弹幕搜索和弹幕开关功能 + +快捷键已经进行了默认绑定。默认情况下弹幕搜索功能绑定“Ctrl+d”;弹幕开关功能绑定“j” + +弹幕搜索功能绑定的脚本消息为 `open_search_danmaku_menu`,弹幕开关功能绑定的脚本消息为 `show_danmaku_keyboard` + +如需配置快捷键,只需在 `input.conf`中添加如下行即可,快捷键可以改为自己喜欢的按键组合。 + +``` +Ctrl+d script-message open_search_danmaku_menu +j script-message show_danmaku_keyboard +``` + +> 根据[此issue中的需求](https://github.com/Tony15246/uosc_danmaku/issues/6),添加了通过uosc_danmaku.conf绑定快捷键的功能。(请注意,最高优先级仍然是input.conf中设置的快捷键) +> 想要在uosc_danmaku.conf中自定义快捷键,可以像下面这样更改默认快捷键。 + +``` +open_search_danmaku_menu_key=Ctrl+i +show_danmaku_keyboard_key=i +``` + +## 拓展功能(可选) + +本插件针对弹幕有全方面的拓展功能 + +--- + +**带控件的功能** + +
+从弹幕源向当前弹幕添加新弹幕内容(从网络url或本地添加弹幕) + +> #### 从弹幕源向当前弹幕添加新弹幕内容(可选) + +从弹幕源添加弹幕。在已经在播放弹幕的情况下会将添加的弹幕追加到现有弹幕中。 + +可添加的弹幕源如哔哩哔哩上任意视频通过video路径加BV号,或者巴哈姆特上的视频地址等。比如说以下地址均可作为有效弹幕源被添加: + +``` +https://www.bilibili.com/video/BV1kx411o7Yo +https://ani.gamer.com.tw/animeVideo.php?sn=36843 +``` + +此功能通过调用弹弹Play的extcomment接口实现获取第三方弹幕站(如A/B/C站)上指定网址对应的弹幕。想要启用此功能,需要参照[uosc控件配置](#uosc控件配置),根据uosc版本添加 `button:danmaku_source`或 `command:add_box:script-message open_add_source_menu?从源添加弹幕`到 `uosc.conf`的controls配置项中。 + +想要通过快捷键使用此功能,请添加类似下面的配置到 `input.conf`中。从源添加弹幕功能对应的脚本消息为 `open_add_source_menu`。 + +``` +key script-message open_add_source_menu +``` + +现已添加了对加载本地弹幕文件的支持,输入本地弹幕文件的绝对路径即可使用本插件加载弹幕。加载出来的弹幕样式同在本插件中设置的弹幕样式。支持的文件格式有ass文件和xml文件。具体可参见[此issue](https://github.com/Tony15246/uosc_danmaku/issues/26) + +``` +#Linux下示例 +/home/tony/Downloads/example.xml +#Windows下示例 +C:\Users\Tony\Downloads\example.xml +``` + +现已更新增强了此菜单。现在在该菜单内可以可视化地控制所有弹幕源,删除或者屏蔽任何不想要的弹幕源。对于自己手动添加的弹幕源,可以进行移除。对于来自弹弹play的弹幕源,无法进行移除,但是可以进行屏蔽,将不会再从屏蔽过的弹幕源获取弹幕。当然,也可以解除对来自弹弹play的弹幕源的屏蔽。另外需要注意在菜单内对于弹幕源的可视化操作都需要下次打开视频,或者重新用弹幕搜索功能加载一次弹幕才会生效。 + +
+ +
+弹幕源延迟设置 + +> #### 弹幕源延迟设置(可选) + +可以独立控制每个弹幕源的延迟,延迟支持两种输入模式。第一种模式为输入数字(最高可精确到小数点后两位),单位为秒;第二种输入模式为输入形如 `14m15s`格式的字符串,代表延迟的分钟数和秒数。 + +想要启用此功能,需要参照[uosc控件配置](#uosc控件配置),根据uosc版本添加 `button:danmaku_delay`或 `command:more_time:script-message open_source_delay_menu?弹幕源延迟设置`到 `uosc.conf`的controls配置项中。 + +想要通过快捷键使用此功能,请添加类似下面的配置到 `input.conf`中。弹幕源延迟设置功能对应的脚本消息为 `open_source_delay_menu`。 + +``` +key script-message open_source_delay_menu +``` + +
+ +
+ 实时修改弹幕样式 + +> #### 实时修改弹幕样式(可选) + +依赖于[uosc UI框架](https://github.com/tomasklaen/uosc)实现**弹幕样式实时修改**,将打开弹幕样式修改图形化菜单供用户手动修改(默认使用[自定义弹幕样式](#自定义弹幕样式相关配置)里的样式配置)。想要启用此功能,需要参照[uosc控件配置](#uosc控件配置),根据uosc版本添加 `button:danmaku_styles`或 `command:palette:script-message open_danmaku_style_menu?弹幕样式`到 `uosc.conf`的controls配置项中。 + +想要通过快捷键使用此功能,请添加类似下面的配置到 `input.conf`中。实时修改弹幕样式功能对应的脚本消息为 `open_danmaku_style_menu`。 + +``` +key script-message open_danmaku_style_menu +``` + +
+ +
+ 弹幕设置总菜单 + +> #### 弹幕设置总菜单(可选) + +打开多级功能复合菜单,包含了插件目前所有的图形化功能。想要启用此功能,需要参照[uosc控件配置](#uosc控件配置),根据uosc版本添加 `button:danmaku_menu`或 `command:grid_view:script-message open_add_total_menu?弹幕设置`到 `uosc.conf`的controls配置项中。 + +想要通过快捷键使用此功能,请添加类似下面的配置到 `input.conf`中。从源添加弹幕功能对应的脚本消息为 `open_add_total_menu`。 + +``` +key script-message open_add_total_menu +``` + +
+ +--- + +**仅快捷键的功能** + +
+设置弹幕延迟 + +> #### 设置弹幕延迟(可选) + +可以通过快捷键绑定以下命令来调整弹幕延迟,单位:秒。秒数的含义为在当前弹幕延迟的基础上叠加新设置的延迟秒数进行调整,可以设置为负数。另外,设置为0时为特殊情况,会将弹幕延迟重置为0,回到初始状态。 + +``` +# 设置整体弹幕延迟 +key script-message danmaku-delay +# 设置当前播放时间点的弹幕延迟 +key script-message danmaku-delay ${=time-pos} +``` + +> 当前弹幕延迟的值可以从 `user-data/uosc_danmaku/danmaku-delay`属性中获取到,具体用法可以参考[此issue](https://github.com/Tony15246/uosc_danmaku/issues/77) + +
+ +
+保存当前视频弹幕 + +> #### 保存当前视频弹幕(可选) + +在视频播放时手动保存弹幕至视频所在文件夹,保存格式为 `xml`(注:此功能将保存为视频同名弹幕,若视频文件夹下存在同名文件将不会执行该功能) + +想要通过快捷键使用此功能,请添加类似下面的配置到 `input.conf`中。从源添加弹幕功能对应的脚本消息为 `immediately_save_danmaku`。 + +``` +key script-message immediately_save_danmaku +``` + +
+ +
+清空当前视频关联的弹幕源 + +> #### 清空当前视频关联的弹幕源(可选) + +可以清空当前视频中,用户通过[从源获取弹幕](#从弹幕源向当前弹幕添加新弹幕内容可选)菜单手动添加的所有弹幕源(注意该功能不会删除来源于弹幕服务器的弹幕,此类弹幕只能屏蔽或者手动重新匹配新弹幕库)。清空过弹幕源之后,下次播放该视频,就不会再加载之前手动添加过的弹幕源,可以重新添加弹幕源。 + +想要通过快捷键使用此功能,请添加类似下面的配置到 `input.conf`中。从源添加弹幕功能对应的脚本消息为 `clear-source`。 + +``` +key script-message clear-source +``` + +
+ +
+检查脚本更新 + +> #### 检查脚本更新(可选) + +可以通过绑定以下脚本命令来实现检查并自动更新脚本 + +> 只会检查 `Releases`中发布的更新 + +``` +key script-message check-update +``` + +
+ +--- + +## 可配置选项(可选) + +本插件可以在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件自定义下例配置开启额外功能或自定义功能细节 + +### 弹幕加载相关 + + + +
+ +auto_load + +> 开关全自动弹幕填装 + + + +### auto_load + +#### 功能说明 + +该选项控制是否开启全自动弹幕填装功能。该功能会在为某个文件夹下的某一集番剧加载过一次弹幕后,把加载过的弹幕会自动关联到该集。之后每次重新播放该文件就会自动加载对应的弹幕,同时该文件对应的文件夹下的所有其他集数的文件都会在播放时自动加载弹幕。 + +举个例子,比如说有一个文件夹结构如下 + +``` +败犬女主太多了 +├── KitaujiSub_Make_Heroine_ga_Oosugiru!_01WebRipHEVC_AACCHS_JP.mp4 +├── KitaujiSub_Make_Heroine_ga_Oosugiru!_02WebRipHEVC_AACCHS_JP.mp4 +├── KitaujiSub_Make_Heroine_ga_Oosugiru!_03WebRipHEVC_AACCHS_JP.mp4 +├── KitaujiSub_Make_Heroine_ga_Oosugiru!_04WebRipHEVC_AACCHS_JP.mp4 +├── KitaujiSub_Make_Heroine_ga_Oosugiru!_05WebRipHEVC_AACCHS_JP.mp4 +├── KitaujiSub_Make_Heroine_ga_Oosugiru!_06WebRipHEVC_AACCHS_JP.mp4 +├── KitaujiSub_Make_Heroine_ga_Oosugiru!_07v2WebRipHEVC_AACCHS_JP.mp4 +└── KitaujiSub_Make_Heroine_ga_Oosugiru!_08WebRipHEVC_AACCHS_JP.mp4 +``` + +只要在播放第一集 `KitaujiSub_Make_Heroine_ga_Oosugiru!_01WebRipHEVC_AACCHS_JP.mp4`的时候手动搜索并且加载过一次弹幕,那么打开第二集时就会直接自动加载第二集的弹幕,打开第三集时就会直接加载第三集的弹幕,以此类推,不用再手动搜索 + +#### 使用方法 + +想要开启此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并添加如下内容: + +``` +auto_load=yes +``` + +注意⚠️: 一个文件夹下有且仅有一同部番剧的若干视频文件才会生效。下面这种情况下,如果手动搜索并且加载过一次《少女歌剧》第一集的弹幕,《哭泣少女乐队》第二集必须重新手动识别,但这样会破坏《少女歌剧》的弹幕记录 + +``` +少女歌剧 +├── 少女歌剧1.mp4 +├── 少女歌剧2.mp4 +├── 少女歌剧3.mp4 +├── 少女歌剧4.mp4 +└── 哭泣少女乐队2.mp4 +``` + +
+ +--- + +
+ +autoload_for_url + +> 开关url播放场景自动加载弹幕与关联继承 + + + +### autoload_for_url + +#### 功能说明 + +开启此选项后,会为可能支持的 url 视频文件实现弹幕关联记忆和继承,配合播放列表食用效果最佳。目前兼容在使用[embyToLocalPlayer](https://github.com/kjtsune/embyToLocalPlayer)、[mpv-torrserver](https://github.com/dyphire/mpv-config/blob/master/scripts/mpv-torrserver.lua)、[tsukimi](https://github.com/tsukinaha/tsukimi)等场景时进行弹幕关联记忆和继承。 + +目前的具体支持情况和实现效果可以参考[此pr](https://github.com/Tony15246/uosc_danmaku/pull/16) + +另外,开启此选项后还会在网络播放bilibili以及巴哈姆特的视频时自动加载对应视频的弹幕,可配合[Play-With-MPV](https://github.com/LuckyPuppy514/Play-With-MPV)或[ff2mpv](https://github.com/woodruffw/ff2mpv)等网络播放手段使用。(播放巴哈姆特的视频时弹幕自动加载如果失败,请检查[proxy](#proxy)选项配置是否正确) + +#### 使用方法 + +想要开启此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并添加如下内容: + +``` +autoload_for_url=yes +``` + +
+ +--- + +
+ +autoload_local_danmaku + +> 开关自动加载同目录下的xml格式弹幕文件 + + + +### autoload_local_danmaku + +#### 功能说明 + +自动加载播放文件同目录下同名的 xml 格式的弹幕文件 + +#### 使用方法 + +想要开启此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并添加如下内容: + +``` +autoload_local_danmaku=yes +``` + +
+ +--- + +
+ +save_danmaku + +> 开关自动保存弹幕文件(xml格式)至视频同目录 + + + +### save_danmaku + +#### 功能说明 + +当文件关闭时自动保存弹幕文件(xml格式)至视频同目录,保存的弹幕文件名与对应的视频文件名相同。配合[autoload_local_danmaku选项](#autoload_local_danmaku)可以实现弹幕自动保存到本地并且下次播放时自动加载本地保存的弹幕。此功能默认禁用。 + +> **⚠️NOTE!** +> +> 当开启[autoload_local_danmaku选项](#autoload_local_danmaku)时,会自动加载播放文件同目录下同名的 xml 格式的弹幕文件,优先级高于一切其他自动加载弹幕功能。如果不希望每次播放都加载之前保存的本地弹幕,则请关闭[autoload_local_danmaku选项](#autoload_local_danmaku);或者在保存完弹幕之后转移弹幕文件至其他路径并关闭 `save_danmaku`选项。 +> +> `save_danmaku`选项的打开和关闭可以运行时实时更新。在 `input.conf`中添加如下内容,可通过快捷键实时控制 `save_danmaku`选项的打开和关闭 +> +> ``` +> key cycle-values script-opts uosc_danmaku-save_danmaku=yes uosc_danmaku-save_danmaku=no +> ``` + +#### 使用方法 + +想要启用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并指定如下内容: + +``` +save_danmaku=yes +``` + +
+ +--- + +
+ + +~~add_from_source~~ + +> ~~开关记录通过 从弹幕源向当前弹幕添加新弹幕内容 关联过的弹幕源并自动加载(已废除)~~ + + + +### add_from_source + +> **⚠️NOTE!** +> +> 该可选配置项在Release v1.2.0之后已废除。现在通过 `从弹幕源向当前弹幕添加新弹幕内容`功能关联过的弹幕源被记录,并且下次播放同一个视频的时候自动关联并加载所有添加过的弹幕源,这样的行为已经成为了插件的默认行为,不需要再通过 `add_from_source`来开启。在[从源获取弹幕](#从弹幕源向当前弹幕添加新弹幕内容可选)菜单中可以可视化地管理所有添加过的弹幕源。 + +#### 功能说明 + +开启此选项后,通过 `从弹幕源向当前弹幕添加新弹幕内容`功能关联过的弹幕源会被记录,并且下次播放同一个视频的时候会自动关联并加载添加过的弹幕源。 + +#### 使用方法 + +想要开启此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并添加如下内容: + +``` +add_from_source=yes +``` + +
+ +--- + +### 弹幕显示相关 + +(如果需要更细节的弹幕样式修改请看[自定义弹幕样式](#自定义弹幕样式相关配置)) + + + +
+ +opacity + +> 自定义弹幕的透明度 + + + +### opacity + +#### 功能说明 + +自定义弹幕的透明度,0(完全透明)到1(不透明)。默认值:0.7 + +#### 使用方法 + +想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: + +``` +opacity=0.7 +``` + +
+ +--- + +
+ +chConvert + +> 开关中文简繁转换 + + + +### chConvert + +#### 功能说明 + +中文简繁转换。0-不转换,1-转换为简体,2-转换为繁体。默认值: 0,不转换简繁字体,按照弹幕源原本字体显示 + +#### 使用方法 + +想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: + +``` +chConvert=0 +``` + +
+ +--- + +
+ +merge_tolerance + +> 开关合并重复弹幕并设置容差值 + + + +### merge_tolerance + +#### 功能说明 + +指定合并重复弹幕的时间间隔的容差值,单位为秒。默认值: -1,表示禁用 + +当值设为0时会合并同一时间相同内容的弹幕,值大于0时会合并指定秒数误差内的相同内容的弹幕 + +#### 使用方法 + +想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: + +``` +merge_tolerance=1 +``` + +
+ +--- + +
+ +max_screen_danmaku + +> 限制屏幕中同时显示的弹幕数量 + + + +### max_screen_danmaku + +#### 功能说明 + +当该值大于0时,脚本会在解析弹幕时丢弃部分弹幕,确保任意时刻屏幕中显示的弹幕不超过设定值。 + +#### 使用方法 + +在 `script-opts` 目录下创建 `uosc_danmaku.conf` 并添加如下内容: + +``` +max_screen_danmaku=60 +``` + +
+ +--- + +
+ +vf_fps + +> 开关使用fps视频滤镜提升弹幕平滑度(帧数) + + + +### vf_fps + +#### 功能说明 + +指定是否使用 fps 视频滤镜 `@danmaku:fps=fps=60/1.001`,可大幅提升弹幕平滑度。默认禁用 + +注意该视频滤镜的性能开销较大,需在确保设备性能足够的前提下开启 + +启用选项后仅在视频帧率小于 60 及显示器刷新率大于等于 60 时生效 + +#### 使用方法 + +想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并指定如下内容: + +``` +vf_fps=yes +``` + +
+ +--- + +
+ +fps + +> 自定义fps滤镜参数适配不同显示器刷新率 + + + +### fps + +#### 功能说明 + +指定要使用的 fps 滤镜参数,例如如果设置fps为 `60/1.001`,则实际生效的视频滤镜参数为 `@danmaku:fps=fps=60/1.001` + +使用这个选项,可以根据自己显示器的刷新率调整要使用的视频滤镜参数 + +#### 使用方法 + +想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并指定如下内容: + +``` +fps=60/1.001 +``` + +
+ +--- + +### 弹幕解析服务相关 + + + +
+ +api_server + +> 自定义弹幕API + + + +### api_server + +#### 功能说明 + +允许自定义弹幕 API 的服务地址 + +> **⚠️NOTE!** +> +> 请确保自定义服务的 API 与弹弹play 的兼容,已知兼容:[misaka_danmu_server](https://github.com/l429609201/misaka_danmu_server),[danmu_api](https://github.com/huangxd-/danmu_api) + +#### 使用方法 + +想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: + +``` +api_server=https://api.dandanplay.net +``` + +
+ +--- + +
+ +fallback_server + +> 自定义b站和爱腾优的弹幕获取的兜底服务器地址 + + + +### fallback_server + +#### 功能说明 + +自定义 b 站和爱腾优的弹幕获取的兜底服务器地址,主要用于获取非动画弹幕,只有在弹弹play无法解析视频源对应弹幕的情况下才会使用此处设置的服务器进行解析。可用: https://api.danmu.icu,https://dmku.hls.one + +> **⚠️NOTE!** +> +> 不设置此选项的情况下默认使用 ` https://api.danmu.icu`作为兜底服务器 + +#### 使用方法 + +想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: + +``` +fallback_server=https://api.danmu.icu +``` + +
+ +--- + +
+ +tmdb_api_key + +> 自定义 tmdb 的 API Key获取非动画条目的中文信息 + + + +### tmdb_api_key + +#### 功能说明 + +设置 tmdb 的 API Key,用于获取非动画条目的中文信息(当搜索内容非中文时)。可以在 https://www.themoviedb.org 注册后去个人账号设置界面获取个人的tmdb 的 API Key。 + +> **⚠️NOTE!** +> +> 不设置此选项的情况下默认使用专为本项目申请的API Key。另外,自定义此选项时还需要对获取到的 API Key 进行 base64 编码。 + +#### 使用方法 + +想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: + +``` +tmdb_api_key=NmJmYjIxOTZkNzIyN2UyMTIzMGM3Y2YzZjQ4MDNkZGM= +``` + +
+ +--- + +### 插件配置相关 + +
+ +user_agent + +> 自定义请求时的User Agent + + + +### user_agent + +#### 功能说明 + +自定义 `curl`发送网络请求时使用的 User Agent,默认值是 `mpv_danmaku/1.0` + +#### 使用方法 + +想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容(不可为空): + +> **⚠️NOTE!** +> +> User-Agent格式必须符合弹弹play的标准,否则无法成功请求。具体格式要求见[弹弹play官方文档](https://github.com/kaedei/dandanplay-libraryindex/blob/master/api/OpenPlatform.md#5user-agent) +> +> 若想提高URL播放的哈希匹配成功率,可以将此项设为 `mpv`或浏览器的User-Agent + +``` +user_agent=mpv_danmaku/1.0 +``` + +
+ +--- + +
+ +proxy + +> 自定义请求时的代理 + + + +### proxy + +#### 功能说明 + +自定义 `curl`发送网络请求时使用的代理,默认禁用 + +#### 使用方法 + +想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: + +``` +proxy=127.0.0.1:7890 +``` + +
+ +--- + +
+ +message_x + +> 自定义插件相关提示的显示位置(x轴) + + + +### message_x + +#### 功能说明 + +自定义插件相关提示的显示位置,距离屏幕左上角的x轴的距离 + +#### 使用方法 + +想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: + +``` +message_x=30 +``` + +
+ +--- + +
+ +message_y + +> 自定义插件相关提示的显示位置(y轴) + + + +### message_y + +#### 功能说明 + +自定义插件相关提示的显示位置,距离屏幕左上角的y轴的距离 + +#### 使用方法 + +想要使用此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并自定义如下内容: + +``` +message_y=30 +``` + +
+ +--- + +
+ +title_replace + +> 自定义文件标题解析中的额外替换规则 + + + +### title_replace + +自定义标题解析中的额外替换规则,内容格式为 JSON 字符串,替换模式为 lua 的 string.gsub 函数 + +注意⚠️:由于 mpv 的 lua 版本限制,自定义规则只支持形如 %n 的捕获组写法,即示例用法,不支持直接替换字符的写法 + +用法示例: + +``` +title_replace=[{"rules":[{ "^〔(.-)〕": "%1"},{ "^.*《(.-)》": "%1" }]}] +``` + +
+ +--- + +
+ +excluded_path + +> 指定哈希匹配中需忽略的共享盘(挂载盘)的路径/目录 + + + +### excluded_path + +指定哈希匹配中需忽略的共享盘(挂载盘)的路径/目录。支持绝对路径和相对路径,多个路径用逗号分隔 + +用法示例: + +``` +excluded_path=["X:", "Z:", "F:/Download/", "Download"] +``` + +
+ +--- + +
+ +history_path + +> 指定弹幕关联历史记录文件路径 + + + +### history_path + +#### 功能说明 + +指定弹幕关联历史记录文件的路径,支持绝对路径和相对路径。默认值是 `~~/danmaku-history.json`也就是mpv配置文件夹的根目录下 + +#### 使用示例 + +想要配置此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并添加类似如下内容: + +> **⚠️IMPORTANT** +> 不要直接复制这里的配置,这只是一个示例,路径要写成真实存在的路径。此选项可以不配置,脚本会默认放在mpv配置文件夹的根目录下。 + +``` +history_path=/path/to/your/danmaku-history.json +``` + +
+ +--- + +### 自定义弹幕样式相关配置 + +默认配置如下,可根据需求更改并自定义弹幕样式 + +想要配置此选项,请在mpv配置文件夹下的 `script-opts`中创建 `uosc_danmaku.conf`文件并添加类似如下内容: + +``` +#滚动弹幕的显示时间 +scrolltime=15 +#固定弹幕的显示时间 +fixtime=5 +#字体(名称两边不需要使用引号""括住) +fontname=sans-serif +#大小 +fontsize=50 +#阴影 +shadow=0 +#粗体 +bold=yes +#全部弹幕的显示范围(0.0-1.0) +displayarea=0.85 +#描边 0-4 +outline=1 +#指定弹幕屏蔽词文件路径(black.txt),支持绝对路径和相对路径。文件内容以换行分隔 +##支持 lua 的正则表达式写法 +blacklist_path= +``` + +## 插件自定义属性 + +- `user-data/uosc_danmaku/danmaku-delay` + + 从 `user-data/uosc_danmaku/danmaku-delay`属性中可以获取到当前弹幕延迟的值,具体用法可以参考[此issue](https://github.com/Tony15246/uosc_danmaku/issues/77) + +- `user-data/uosc_danmaku/has-danmaku` + 从`user-data/uosc_danmaku/has-danmaku`属性中可以获取到表示当前是否有弹幕在显示的布尔值,具体用法可以参考[此pr](https://github.com/Tony15246/uosc_danmaku/pull/276) + +## 常见问题 + +### 来自弹弹play的弹幕源问题如何从根源进行调整解决 + +本插件动画弹幕均来自[弹弹play api](https://github.com/kaedei/dandanplay-libraryindex/blob/master/api/OpenPlatform.md),所以你可能会遇到 `部分动画没有弹幕`和 `弹幕时间轴对不上`这类问题,虽然你可以使用本插件的 [从源获取弹幕](#从弹幕源向当前弹幕添加新弹幕内容可选) 和 [弹幕源延迟设置](#弹幕源延迟设置可选) 这两个功能解决,但你如果想为弹幕源做贡献从根源解决帮所有用户解决这类问题,可以参考下列教程: + +1.下载[弹弹play pc端](https://www.dandanplay.com) + +2.使用弹弹play `播放任意视频文件`并 `绑定你想要调整的动画弹幕库` + +3.然后就可以参考下方详细教程对弹幕源进行操作并使所有用户同步操作内容了 + +**为动画添加弹幕源** + +如果你想为一部动画添加弹幕可以使用 `视频设置菜单`-→`弹幕列表`-→`添加更多弹幕` 这项功能添加对应的弹幕 + +> [!NOTE] +> 如果想使API(本插件)弹幕同步操作内容请将链接重复添加三次(弹弹play投票抉择机制) + +**为动画弹幕源调整延迟** + +如果你想为动画弹幕源修改延迟,请在 `视频设置菜单`-→`编辑弹幕来源`中复制下你要编辑的弹幕源的具体网址,然后点击删除,然后使用 `视频设置菜单`-→`弹幕列表`-→`添加更多弹幕` 这项功能进行重新添加,添加时在下方 `已选弹幕`中更改 `弹幕偏移`(单位为秒)调整延迟,然后依旧是重复添加三次就能使API弹幕同步了 + +另外,弹弹play的弹幕源一直是人工维护人工绑定制,感谢所有用此方式做贡献的人 + +## 特别感谢 + +感谢以下项目为本项目提供了实现参考或者外部依赖 + +- 弹幕api:[弹弹play](https://github.com/kaedei/dandanplay-libraryindex/blob/master/api/OpenPlatform.md) +- 菜单api:[uosc](https://github.com/tomasklaen/uosc) +- 弹幕格式解析转换:[DanmakuConvert](https://github.com/timerring/DanmakuConvert) +- 简繁转换:[OpenCC](https://github.com/BYVoid/OpenCC) +- lua原生md5计算实现:https://github.com/rkscv/danmaku +- b站在线播放弹幕获取实现参考:[MPV-Play-BiliBili-Comments](https://github.com/itKelis/MPV-Play-BiliBili-Comments) +- 巴哈姆特在线播放弹幕获取实现参考:[MPV-Play-BAHA-Comments](https://github.com/s594569321/MPV-Play-BAHA-Comments) + +## 相关项目 + +- [slqy123/uosc_danmaku](https://github.com/slqy123/uosc_danmaku) 本项目的fork版本,实现了通过dandanplay api发送弹幕的功能,由于版本的兼容性以及功能的易用性问题未被合并,具体讨论请参阅 [#220](https://github.com/Tony15246/uosc_danmaku/pull/220) +- [Loukyuu1120/uosc_danmaku](https://github.com/Loukyuu1120/uosc_danmaku) 本项目的fork版本,实现了自定义多个 api_servers 与 弹幕来源选择菜单 功能,具体讨论请参阅 [#282](https://github.com/Tony15246/uosc_danmaku/issues/282) \ No newline at end of file diff --git a/scripts/uosc_danmaku/apis/dandanplay.lua b/scripts/uosc_danmaku/apis/dandanplay.lua new file mode 100644 index 0000000..fa8f42e --- /dev/null +++ b/scripts/uosc_danmaku/apis/dandanplay.lua @@ -0,0 +1,613 @@ +local msg = require('mp.msg') +local utils = require("mp.utils") + +local function extract_url(url) + local path = url:match("^https?://[^/]+(/[^%?]*)") + return path +end + +local function generateXSignature(url, time, appid, app_accept) + local url_path = extract_url(url) + if not url_path then + return nil + end + + local dataToHash = string.format("%s%d%s%s", AES.ECB.decrypt(KEY, Base64.decode(appid)), + time, url_path, AES.ECB.decrypt(KEY, Base64.decode(app_accept))) + local hash = Sha256(dataToHash) + local base64Hash = Base64.encode(hex_to_bin(hash)) + return base64Hash +end + +-- 写入history.json +-- 读取episodeId获取danmaku +function set_episode_id(input, from_menu) + from_menu = from_menu or false + DANMAKU.source = "dandanplay" + local api_server = options.api_server + for url, source in pairs(DANMAKU.sources) do + if source.from == "api_server" then + if not source.from_history then + DANMAKU.sources[url] = nil + else + DANMAKU.sources[url]["data"] = nil + api_server = source.api_server or options.api_server + end + end + end + local episodeId = tonumber(input) + + local main_url = api_server .. "/api/v2/comment/" .. episodeId .. "?withRelated=true&chConvert=0" + add_source_to_history(main_url, { from = "api_server", api_server = api_server }) + write_history(episodeId, api_server) + set_danmaku_button() + fetch_danmaku(episodeId, from_menu, api_server) +end + +-- 回退使用额外的弹幕获取方式 +function get_danmaku_fallback(query) + local url = options.fallback_server .. "/?ac=dm&url=" .. query + msg.verbose("尝试获取弹幕:" .. url) + + local args = make_danmaku_request_args("GET", url) + if not args then return end + + fetch_danmaku_data(args, function(data) + if not data or not data["comments"] or data["count"] <= 1 then + msg.info("备用服务器无数据或返回格式不正确") + show_message("备用服务器无数据或返回格式不正确", 3) + return + end + + save_danmaku_data(data["comments"], query, "user_custom") + load_danmaku(true) + end) +end + +-- 返回弹幕请求参数 +function make_danmaku_request_args(method, url, headers, body) + local args = { + "curl", + "-L", + "-X", + method, + "-H", + "Accept: application/json", + "-H", + "User-Agent: " .. options.user_agent, + } + + if headers then + for k, v in pairs(headers) do + table.insert(args, '-H') + table.insert(args, string.format('%s: %s', k, v)) + end + end + + if body then + table.insert(args, '-d') + table.insert(args, utils.format_json(body)) + table.insert(args, '-H') + table.insert(args, 'Content-Type: application/json') + end + + if url:find("api%.dandanplay%.") then + local time = os.time() + local appid = "UgjRIH45lE1BBLNmir1WKw==" + local app_accept = "SzuWlFZAPRMqeWf9qmfp8dcvYr3hvxuSrIRZuAeEfko=" + table.insert(args, '-H') + table.insert(args, string.format('X-AppId: %s', AES.ECB.decrypt(KEY, Base64.decode(appid)))) + table.insert(args, '-H') + table.insert(args, string.format('X-Signature: %s', generateXSignature(url, time, appid, app_accept))) + table.insert(args, '-H') + table.insert(args, string.format('X-Timestamp: %s', time)) + end + + if options.proxy ~= "" then + table.insert(args, '-x') + table.insert(args, options.proxy) + end + + table.insert(args, url) + + return args +end + +local function normalize_danmaku_response(d) + if not d then return d end + -- 已经是 comments/count 格式则直接返回 + if d.comments or d.count then return d end + + if d.danmuku and type(d.danmuku) == "table" then + local out = {} + for _, item in ipairs(d.danmuku) do + -- item 预期为数组,索引: 1=time, 2=pos(right/top/bottom), 3=color(hex), 5=content + local time = tonumber(item[1]) or 0 + local pos = item[2] or "right" + local color = item[3] or "" + local content = item[5] or item[4] or "" + + local mode = 1 + if pos == "right" then + mode = 1 + elseif pos == "top" then + mode = 4 + elseif pos == "bottom" then + mode = 5 + end + + local colorDec = 16777215 + if type(color) == "number" then + colorDec = color + elseif type(color) == "string" then + colorDec = hex_to_int_color(color) + end + + local p = string.format("%.2f,%d,%d", time, mode, colorDec) + table.insert(out, { p = p, m = content }) + end + return { comments = out, count = tonumber(d.danum) or #out } + end + + return d +end + +-- 尝试通过解析文件名匹配剧集 +local function match_episode(animeTitle, bangumiId, episode_num) + local url = options.api_server .. "/api/v2/bangumi/" .. bangumiId + local args = make_danmaku_request_args("GET", url) + + if args == nil then + return + end + + call_cmd_async(args, function(error, json) + async_running = false + if error then + show_message("HTTP 请求失败,打开控制台查看详情", 5) + msg.error(error) + return + end + + local data = utils.parse_json(json) + if not data or not data.bangumi or not data.bangumi.episodes then + msg.info("无结果") + return + end + + for _, episode in ipairs(data.bangumi.episodes) do + local ep_num = tonumber(episode.episodeNumber) + if ep_num and ep_num == tonumber(episode_num) then + DANMAKU.anime = animeTitle + DANMAKU.episode = episode.episodeTitle + set_episode_id(episode.episodeId) + break + end + end + end) +end + +local function match_anime() + local animes = {} + local anime_type = "tvseries" + local type_count = 0 + local title, season_num, episode_num = parse_title() + if not episode_num then + msg.info("无法解析剧集信息") + return + end + + if title:match("OVA") or title:match("OAD") then + anime_type = "ova" + end + + local encoded_query = url_encode(title) + local url = options.api_server .. "/api/v2/search/anime" + local params = "keyword=" .. encoded_query + local full_url = url .. "?" .. params + local args = make_danmaku_request_args("GET", full_url) + + if not args then return end + + call_cmd_async(args, function(error, json) + async_running = false + if error then + show_message("HTTP 请求失败,打开控制台查看详情", 5) + msg.error(error) + return + end + + local data = utils.parse_json(json) + if not data or not data.animes then + msg.info("无结果") + return + end + + for _, anime in ipairs(data.animes) do + if anime.type == anime_type then + type_count = type_count + 1 + table.insert(animes, anime) + end + end + + if type_count == 1 then + match_episode(animes[1].animeTitle, animes[1].bangumiId, episode_num) + elseif type_count > 1 and season_num then + local best_match, best_score = nil, -1 + local target_title = title + if tonumber(season_num) > 1 then + target_title = title .. " 第" .. number_to_chinese(season_num) .. "季" + end + for _, anime in ipairs(animes) do + local animeTitle = tostring(anime.animeTitle or "") + animeTitle = animeTitle:gsub("^%s*(.-)%s*$", "%1") + :gsub("%s*%(.-%)%s*$", "") + :gsub("%s*【.-】.*$", "") + if animeTitle:match("第一[季部]") and tonumber(season_num) == 1 then + target_title = title .. " 第一季" + end + local score = jaro_winkler(target_title, animeTitle) + msg.debug(("候选: %s -> 相似度 %.3f"):format(animeTitle, score)) + if score > best_score then + best_score = score + best_match = anime + end + end + + if best_match and best_score >= 0.75 then + msg.info(("模糊匹配选中: %s (score=%.2f)"):format(best_match.animeTitle, best_score)) + match_episode(best_match.animeTitle, best_match.bangumiId, episode_num) + else + msg.info("匹配到多个结果,但相似度不足,请手动搜索") + end + else + msg.info("没有找到合适的匹配结果") + end + end) +end + +-- 执行哈希匹配获取弹幕 +local function match_file(file_path, file_name, callback) + -- 计算文件哈希 + local hash = nil + local file_info = utils.file_info(file_path) + if file_info and file_info.size > 16 * 1024 * 1024 then + local file, error = io.open(normalize(file_path), 'rb') + if file and not error then + local m = MD5.new() + for _ = 1, 16 * 1024 do + local content = file:read(1024) + if not content then + break + end + m:update(content) + end + file:close() + hash = m:finish() + end + end + + if hash then msg.info('hash:', hash) end + + local title, season_num, episode_num = parse_title() + if title and episode_num then + if season_num then + file_name = title .. " S" .. season_num .. "E" .. episode_num + else + file_name = title .. " E" .. episode_num + end + else + file_name = title + end + + local url = options.api_server .. "/api/v2/match" + local args = make_danmaku_request_args("POST", url, { + ["Content-Type"] = "application/json" + }, { + fileName = file_name, + fileHash = hash or "a1b2c3d4e5f67890abcd1234ef567890", + matchMode = "hashAndFileName" + } + ) + + if not args then return end + + call_cmd_async(args, function(error, json) + async_running = false + if error then + show_message("HTTP 请求失败,打开控制台查看详情", 5) + callback(error) + return + end + local data = utils.parse_json(json) + if not data or not data.isMatched then + callback("没有匹配的剧集") + return + end + + DANMAKU.anime = data.matches[1].animeTitle + DANMAKU.episode = data.matches[1].episodeTitle + + -- 获取并加载弹幕数据 + set_episode_id(data.matches[1].episodeId) + end) +end + +-- 异步获取弹幕数据 +function fetch_danmaku_data(args, callback) + call_cmd_async(args, function(error, json) + async_running = false + if error then + show_message("获取数据失败", 3) + msg.error("HTTP 请求失败:" .. error) + return + end + local data = utils.parse_json(json) + data = normalize_danmaku_response(data) + callback(data) + end) +end + +-- 保存弹幕数据 +function save_danmaku_data(comments, query, danmaku_source) + local danmaku_list = save_danmaku_to_list(comments) + + if DANMAKU.sources[query] ~= nil then + DANMAKU.sources[query]["data"] = danmaku_list + else + DANMAKU.sources[query] = {from = danmaku_source, data = danmaku_list} + end +end + +function save_danmaku_downloaded(url, downloaded_file) + local danmaku_list = parse_danmaku_file(downloaded_file) + if file_exists(downloaded_file) then + os.remove(downloaded_file) + end + if DANMAKU.sources[url] ~= nil then + DANMAKU.sources[url]["data"] = danmaku_list + else + DANMAKU.sources[url] = {from = "user_custom", data = danmaku_list} + end +end + +-- 处理弹幕数据 +function handle_danmaku_data(query, data, from_menu) + -- 如果没有数据,进行重试 + if not data or not data["comments"] or data["count"] <= 1 then + show_message("服务器无缓存数据,再次尝试请求", 10) + msg.verbose("服务器无缓存数据,再次尝试请求") + -- 等待 2 秒后重试 + local start = os.time() + while os.time() - start < 2 do + -- 空循环,等待 2 秒 + end + -- 重新发起请求 + local url = options.api_server .. "/api/v2/extcomment?url=" .. url_encode(query) + local args = make_danmaku_request_args("GET", url) + + if args == nil then + return + end + + fetch_danmaku_data(args, function(retry_data) + if not retry_data or not retry_data["comments"] or retry_data["count"] <= 1 then + get_danmaku_fallback(query) + return + end + save_danmaku_data(retry_data["comments"], query, "user_custom") + load_danmaku(from_menu) + end) + else + save_danmaku_data(data["comments"], query, "user_custom") + load_danmaku(from_menu) + end +end + +-- 处理获取到的数据 +function handle_fetched_danmaku(data, url, from_menu) + if data and data["comments"] then + if data["count"] == 0 then + if DANMAKU.sources[url] == nil then + DANMAKU.sources[url] = {from = "api_server"} + end + show_message("该集弹幕内容为空,结束加载", 3) + msg.verbose("该集弹幕内容为空,结束加载") + return + end + save_danmaku_data(data["comments"], url, "api_server") + load_danmaku(from_menu) + else + show_message("无数据", 3) + msg.info("无数据") + end +end + +-- 匹配弹幕库 comment, 仅匹配dandan本身弹幕库 +-- 通过danmaku api(url)+id获取弹幕 +function fetch_danmaku(episodeId, from_menu, api_server) + local url = (api_server or options.api_server) .. "/api/v2/comment/" .. episodeId .. "?withRelated=true&chConvert=0" + show_message("弹幕加载中...", 30) + msg.verbose("尝试获取弹幕:" .. url) + local args = make_danmaku_request_args("GET", url) + + if args == nil then + return + end + + fetch_danmaku_data(args, function(data) + handle_fetched_danmaku(data, url, from_menu) + end) +end + +-- 从用户添加过的弹幕源添加弹幕 +function addon_danmaku(dir, from_menu) + if dir then + local history_json = read_file(HISTORY_PATH) + local history = utils.parse_json(history_json) or {} + if history[dir] and history[dir].extra ~= nil then + return + end + end + for url, source in pairs(DANMAKU.sources) do + if source.from ~= "api_server" then + add_danmaku_source(url, from_menu) + end + end +end + +--通过输入源url获取弹幕库 +function add_danmaku_source(query, from_menu) + if DANMAKU.sources[query] == nil then + DANMAKU.sources[query] = {from = "user_custom"} + end + + from_menu = from_menu or false + if from_menu then + add_source_to_history(query, DANMAKU.sources[query]) + end + + if is_protocol(query) then + add_danmaku_source_online(query, from_menu) + else + add_danmaku_source_local(query, from_menu) + end +end + +function add_danmaku_source_local(query, from_menu) + local path = normalize(query) + if not file_exists(path) then + msg.warn("无效的文件路径") + return + end + if not (string.match(path, "%.xml$") or string.match(path, "%.json$")) then + msg.warn("仅支持弹幕文件") + return + end + + if DANMAKU.sources[query] ~= nil then + DANMAKU.sources[query]["from"] = "user_local" + DANMAKU.sources[query]["data"] = parse_danmaku_file(path) + else + DANMAKU.sources[query] = {from = "user_local", data = parse_danmaku_file(path)} + end + + set_danmaku_button() + load_danmaku(from_menu) +end + +--通过输入源url获取弹幕库 +function add_danmaku_source_online(query, from_menu) + set_danmaku_button() + local url = options.api_server .. "/api/v2/extcomment?url=" .. url_encode(query) + show_message("弹幕加载中...", 30) + msg.verbose("尝试获取弹幕:" .. url) + local args = make_danmaku_request_args("GET", url) + + if args == nil then + return + end + + fetch_danmaku_data(args, function(data) + handle_danmaku_data(query, data, from_menu) + end) +end + +-- 将弹幕转换为 Lua table +function save_danmaku_to_list(comments) + local danmaku_list = {} + + for _, comment in ipairs(comments) do + local p = comment["p"] + local shift = comment["shift"] + if p then + local fields = split(p, ",") + if shift ~= nil then + fields[1] = tonumber(fields[1]) + tonumber(shift) + end + local time = tonumber(fields[1]) + local type = tonumber(fields[2]) + local color = tonumber(fields[3]) or 0xFFFFFF + local size = 25 + local m_value = comment["m"] + :gsub("[%z\1-\31]", "") + :gsub("\\", "") + :gsub("\"", "") + table.insert(danmaku_list, { + time = time, + type = type, + size = size, + color = color, + text = m_value + }) + end + end + + return danmaku_list +end + +-- 通过文件前 16M 的 hash 值进行弹幕匹配 +function get_danmaku_with_hash(file_name, file_path) + if type(MD5) ~= "table" or not MD5.sum then + msg.warn("MD5 模块不支持 Lua 5.1,回退到文件名匹配") + match_anime() + return + end + if is_protocol(file_path) then + set_danmaku_button() + local temp_file = "temp-" .. PID .. ".mp4" + local arg = { + "curl", + "--connect-timeout", + "10", + "--max-time", + "30", + "--range", + "0-16777215", + "--user-agent", + options.user_agent, + "--output", + utils.join_path(DANMAKU_PATH, temp_file), + "-L", + file_path, + } + + if options.proxy ~= "" then + table.insert(arg, '-x') + table.insert(arg, options.proxy) + end + + call_cmd_async(arg, function(error) + async_running = false + + file_path = utils.join_path(DANMAKU_PATH, temp_file) + + match_file(file_path, file_name, function(error) + if error then + msg.error(error) + msg.info("尝试通过解析文件名获取弹幕") + match_anime() + end + end) + end) + else + local dir = get_parent_directory(file_path) + local excluded_path = utils.parse_json(options.excluded_path) + if PLATFORM == "windows" then + for i, path in pairs(excluded_path) do + excluded_path[i] = path:gsub("/", "\\") + end + end + if contains_any(excluded_path, dir) then + match_anime() + return + end + match_file(file_path, file_name, function(error) + if error then + msg.error(error) + msg.info("尝试通过解析文件名获取弹幕") + match_anime() + end + end) + end +end \ No newline at end of file diff --git a/scripts/uosc_danmaku/apis/extra.lua b/scripts/uosc_danmaku/apis/extra.lua new file mode 100644 index 0000000..a124d0b --- /dev/null +++ b/scripts/uosc_danmaku/apis/extra.lua @@ -0,0 +1,435 @@ +local utils = require 'mp.utils' +local msg = require 'mp.msg' + +local Source = { + ["b 站"] = "bilibili1", + ["腾讯"] = "qq", + ["爱奇艺"] = "qiyi", + ["优酷"] = "youku", +} + +local function load_extra_danmaku(url, episode, number, class, id, site, title, year) + local play_url = nil + if url:match("^.-%.html") then + play_url = url:match("^(.-%.html).*") + elseif url:match("^https?://v%.youku%.com/") and url:match("[?&]vid=") then + -- 转换 youku 的短链接形式 video?vid=... 到真实播放页 v_show/id_*.html + local vid = url:match("[?&]vid=([^&]+)") + if vid then + play_url = "https://v.youku.com/v_show/id_" .. vid .. ".html" + else + play_url = url:gsub("%?bsource=360ogvys$",""):gsub("&.*$","") + end + else + play_url = url:gsub("%?bsource=360ogvys$",""):gsub("&.*$","") + end + + ENABLED = true + DANMAKU.anime = title .. " (" .. year .. ")" + DANMAKU.episode = "第" .. episode .. "话" + DANMAKU.source = site + DANMAKU.extra = { + id = id, + site = site, + year = year, + class = class, + title = title, + number = tonumber(number), + episodenum = tonumber(episode), + } + write_history() + add_danmaku_source(play_url, true) +end + +local function query_tmdb(title, class, menu) + local encoded_title = url_encode(title) + local url = string.format("https://api.tmdb.org/3/search/%s?api_key=%s&query=%s&language=zh-CN", + class, Base64.decode(options.tmdb_api_key), encoded_title) + + local cmd = { + "curl", + "-s", + "-H", "accept: application/json", + url + } + + if options.proxy ~= "" then + table.insert(cmd, '-x') + table.insert(cmd, options.proxy) + end + + local res = mp.command_native({ + name = "subprocess", + args = cmd, + capture_stdout = true, + capture_stderr = true, + }) + + local data = utils.parse_json(res.stdout) + if not res.status or res.status ~= 0 or not data.results or #data.results == 0 then + local message = "获取 tmdb 中文数据失败" + if uosc_available then + update_menu_uosc(menu.type, menu.title, message, menu.footnote, menu.cmd, title) + else + show_message(message, 3) + end + msg.error("获取 tmdb 中文数据失败:" .. res.stdout) + else + if class == "tv" then + return data.results[1].name + else + return data.results[1].title + end + end +end + +local function get_number(cat, id, site) + local url = string.format("https://api.web.360kan.com/v1/detail?cat=%s&id=%s&site=%s", + cat, id, site) + + local cmd = { "curl", "-s", url } + local res = mp.command_native({ + name = "subprocess", + args = cmd, + capture_stdout = true, + capture_stderr = true, + }) + + if not res.status or res.status ~= 0 then + msg.error("Failed to fetch data: " .. (res.stderr or "unknown error")) + return nil + end + + local result = utils.parse_json(res.stdout) + if result and result.data and result.data.allupinfo then + return tonumber(result.data.allupinfo[site]) + end + return nil +end + +local function get_episodes_v2(cat, id, site) + local s_param = string.format('[{"cat_id":"%s","ent_id":"%s","site":"%s"}]', tostring(cat), tostring(id), tostring(site)) + + local url = string.format("https://api.so.360kan.com/episodesv2?v_ap=1&s=%s", url_encode(s_param)) + + local cmd = { "curl", "-s", url } + local res = mp.command_native({ + name = "subprocess", + args = cmd, + capture_stdout = true, + capture_stderr = true, + }) + + if not res.status or res.status ~= 0 then + msg.error("Failed to fetch episodesv2: " .. (res.stderr or "unknown error")) + return nil + end + + local data_text = res.stdout or "" + -- 兼容 JSONP 和 纯 JSON:提取最外层括号内 JSON + local json_payload = data_text + local first_paren = data_text:find('%(') + local last_paren = data_text:match('.*()%)') + if first_paren and last_paren and last_paren > first_paren then + json_payload = data_text:sub(first_paren + 1, last_paren - 1) + end + + local parsed = utils.parse_json(json_payload) + if not parsed then + msg.error("episodesv2: 解析返回失败: " .. (res.stdout or "")) + return nil + end + + local episodes = {} + if parsed.code == 0 and parsed.data and #parsed.data > 0 then + local seriesHTML = parsed.data[1] and parsed.data[1].seriesHTML + if seriesHTML and seriesHTML.seriesPlaylinks then + for i, ep in ipairs(seriesHTML.seriesPlaylinks) do + local episode_url = nil + if type(ep) == 'string' then + episode_url = ep + elseif type(ep) == 'table' and ep.url then + episode_url = ep.url + end + if episode_url and episode_url ~= '' then + table.insert(episodes, { index = i, url = episode_url }) + end + end + end + end + + if #episodes == 0 then + return nil + end + return episodes +end + +function get_details(class, id, site, title, year, number, episodenum) + local message = episodenum and "查询弹幕中..." or "加载数据中..." + local menu_type = "menu_details" + local menu_title = "剧集信息" + local footnote = "使用 / 打开筛选" + if uosc_available and not episodenum then + update_menu_uosc(menu_type, menu_title, message, footnote) + else + show_message(message, 3) + end + + local cat = 0 + if class == "电影" then + cat = 1 + elseif class == "电视剧" then + cat = 2 +-- elseif class == "综艺" then +-- cat = 3 + elseif class == "动漫" then + cat = 4 + end + + local items = {} + local episodes = nil + if cat == 2 or cat == 4 then + episodes = get_episodes_v2(cat, id, site) + end + + -- 统一构建 episode_rows:优先使用 episodesv2 返回的数据,否则使用 v1/detail + local episode_rows = nil + if episodes then + episode_rows = {} + for _, ep in ipairs(episodes) do + table.insert(episode_rows, { index = tostring(ep.index), url = ep.url }) + end + else + if not number and cat ~= 0 then + number = get_number(cat, id, site) + end + if not number or cat == 0 then + local message = "无结果" + if uosc_available and not episodenum then + update_menu_uosc(menu_type, menu_title, message, footnote) + else + show_message(message, 3) + end + msg.verbose("无结果") + return + end + + local url = string.format("https://api.web.360kan.com/v1/detail?cat=%s&id=%s&start=1&end=%s&site=%s", + cat, id, number, site) + + local cmd = { "curl", "-s", url } + local res = mp.command_native({ + name = "subprocess", + args = cmd, + capture_stdout = true, + capture_stderr = true, + }) + + if not res.status or res.status ~= 0 then + local message = "无结果" + if uosc_available and not episodenum then + update_menu_uosc(menu_type, menu_title, message, footnote) + else + show_message(message, 3) + end + msg.verbose("无结果") + return + end + + local result = utils.parse_json(res.stdout) + if result and result.data and result.data.allepidetail and result.data.allepidetail[site] then + episode_rows = {} + for _, it in ipairs(result.data.allepidetail[site]) do + table.insert(episode_rows, { index = tostring(it.playlink_num), url = it.url }) + end + end + end + + if episode_rows and #episode_rows > 0 then + if episodenum then + for _, ep in ipairs(episode_rows) do + if tonumber(ep.index) == tonumber(episodenum) then + load_extra_danmaku(ep.url, ep.index, number, class, id, site, title, year) + return + end + end + end + + table.insert(items, { + title = "← 返回搜索结果", + value = { "script-message-to", "uosc", "open-menu", latest_menu_anime }, + keep_open = false, + selectable = true, + }) + + for _, ep in ipairs(episode_rows) do + table.insert(items, { + title = "第" .. ep.index .. "集", + hint = ep.index, + value = { + "script-message-to", + mp.get_script_name(), + "add-extra-event", + ep.url, ep.index, tostring(number), class, id, site, title, year + }, + }) + end + end + if #items > 0 then + if uosc_available and not episodenum then + update_menu_uosc(menu_type, menu_title, items, footnote) + elseif not episodenum then + show_message("", 0) + mp.add_timeout(0.1, function() + open_menu_select(items) + end) + end + else + local message = "无结果" + if uosc_available and not episodenum then + update_menu_uosc(menu_type, menu_title, message, footnote) + else + show_message(message, 3) + end + msg.verbose("无结果") + end +end + +local function search_query(query, class, menu) + local url = string.format("https://api.so.360kan.com/index?force_v=1&kw=%s", query) + if class ~= nil then + url = url .. "&type=" .. class + end + local cmd = { "curl", "-s", url } + + local res = mp.command_native({ + name = "subprocess", + args = cmd, + capture_stdout = true, + capture_stderr = true, + }) + + if not res.status or res.status ~= 0 then + local message = "无结果" + if uosc_available then + update_menu_uosc(menu.type, menu.title, message, menu.footnote, menu.cmd, query) + else + show_message(message, 3) + end + msg.verbose("无结果") + return + end + + local result = utils.parse_json(res.stdout) + local items = {} + if result and result.data.longData and result.data.longData.rows then + for _, item in ipairs(result.data.longData.rows) do + if item.playlinks then + for source_name, source_id in pairs(Source) do + if item.playlinks[source_id] then + table.insert(items, { + title = item.titleTxt, + hint = item.cat_name .. " | " .. item.year .. " | 来源:" .. source_name, + value = { + "script-message-to", + mp.get_script_name(), + "get-extra-event", + item.cat_name, item.en_id, item.playlinks[source_id], source_id, + item.titleTxt, item.year, + }, + }) + end + end + end + end + end + if #items > 0 then + if uosc_available then + latest_menu_anime = update_menu_uosc(menu.type, menu.title, items, menu.footnote, menu.cmd, query) + else + show_message("", 0) + mp.add_timeout(0.1, function() + open_menu_select(items) + end) + end + else + local message = "无结果" + if uosc_available then + update_menu_uosc(menu.type, menu.title, message, menu.footnote, menu.cmd, query) + else + show_message(message, 3) + end + msg.verbose("无结果") + end +end + +function query_extra(name, class) + local name = name:gsub("%s*%(%d-%)%s*$", "") + local title = nil + local class = class and class:lower() + local message = "加载数据中..." + local menu = { + type = "menu_anime", + title = "在此处输入番剧名称", + footnote = "使用enter或ctrl+enter进行搜索" + } + menu.cmd = { "script-message-to", mp.get_script_name(), "search-anime-event" } + if uosc_available then + update_menu_uosc(menu.type, menu.title, message, menu.footnote, menu.cmd, name) + else + show_message(message, 30) + end + + if is_chinese(name) then + search_query(name, class, menu) + return + end + + + if options.tmdb_api_key == "" or #Base64.decode(options.tmdb_api_key) < 32 then + local message = "请正确设置 tmdb_api_key 或尝试使用中文搜索" + if uosc_available then + update_menu_uosc(menu.type, menu.title, message, menu.footnote, menu.cmd, name) + else + show_message(message, 3) + end + return + end + + if class == "dy" then + title = query_tmdb(name, "movie", menu) + else + title = query_tmdb(name, "tv", menu) + end + + if title then + search_query(title, class, menu) + end +end + +mp.register_script_message("get-extra-event", function(cat, id, playlink, source_id, title, year) + if uosc_available then + mp.commandv("script-message-to", "uosc", "close-menu", "menu_anime") + end + if cat == "电影" then + if playlink:match("^.-%.html") then + playlink = playlink:match("^(.-%.html).*") + else + playlink = playlink:gsub("%?bsource=360ogvys$","") + end + DANMAKU.anime = title .. " (" .. year .. ")" + DANMAKU.episode = "电影" + DANMAKU.source = source_id + write_history() + add_danmaku_source(playlink, true) + else + get_details(cat, id, source_id, title, year) + end +end) + +mp.register_script_message("add-extra-event", function(url, episode, number, class, id, site, title, year) + if uosc_available then + mp.commandv("script-message-to", "uosc", "close-menu", "menu_details") + end + load_extra_danmaku(url, episode, number, class, id, site, title, year) +end) \ No newline at end of file diff --git a/scripts/uosc_danmaku/dicts/s2t_chars.lua b/scripts/uosc_danmaku/dicts/s2t_chars.lua new file mode 100644 index 0000000..0893b07 --- /dev/null +++ b/scripts/uosc_danmaku/dicts/s2t_chars.lua @@ -0,0 +1,3982 @@ +return { + ["誊"] = "謄", + ["𫐗"] = "轐", + ["讠"] = "訁", + ["𫐘"] = "轗", + ["计"] = "計", + ["𫐙"] = "轠", + ["订"] = "訂", + ["𫐷"] = "遱", + ["讣"] = "訃", + ["𫑘"] = "鄟", + ["认"] = "認", + ["𫑡"] = "鄳", + ["讥"] = "譏", + ["𫑷"] = "醶", + ["讦"] = "訐", + ["𫓥"] = "釟", + ["讧"] = "訌", + ["𫓦"] = "釨", + ["讨"] = "討", + ["诹"] = "諏", + ["让"] = "讓", + ["诺"] = "諾", + ["讪"] = "訕", + ["读"] = "讀", + ["讫"] = "訖", + ["诼"] = "諑", + ["讬"] = "託", + ["诽"] = "誹", + ["训"] = "訓", + ["课"] = "課", + ["议"] = "議", + ["诿"] = "諉", + ["讯"] = "訊", + ["谀"] = "諛", + ["记"] = "記", + ["谁"] = "誰", + ["谂"] = "諗", + ["调"] = "調", + ["谄"] = "諂", + ["谅"] = "諒", + ["谆"] = "諄", + ["谇"] = "誶", + ["谈"] = "談", + ["𫗭"] = "餵", + ["谉"] = "讅", + ["猃"] = "獫", + ["谊"] = "誼", + ["猎"] = "獵", + ["谋"] = "謀", + ["猕"] = "獼", + ["谌"] = "諶", + ["猡"] = "玀", + ["谍"] = "諜", + ["猪"] = "豬", + ["谎"] = "謊", + ["猫"] = "貓", + ["谏"] = "諫", + ["猬"] = "蝟", + ["谐"] = "諧", + ["献"] = "獻", + ["谑"] = "謔", + ["獭"] = "獺", + ["谒"] = "謁", + ["玑"] = "璣", + ["谓"] = "謂", + ["玙"] = "璵", + ["谔"] = "諤", + ["玚"] = "瑒", + ["谕"] = "諭", + ["玛"] = "瑪", + ["谖"] = "諼", + ["玩"] = "玩", + ["谗"] = "讒", + ["环"] = "環", + ["谙"] = "諳", + ["现"] = "現", + ["谚"] = "諺", + ["玱"] = "瑲", + ["谛"] = "諦", + ["玺"] = "璽", + ["谜"] = "謎", + ["珐"] = "琺", + ["谝"] = "諞", + ["珑"] = "瓏", + ["谞"] = "諝", + ["珰"] = "璫", + ["谟"] = "謨", + ["珲"] = "琿", + ["谠"] = "讜", + ["琎"] = "璡", + ["谡"] = "謖", + ["琏"] = "璉", + ["谢"] = "謝", + ["琐"] = "瑣", + ["谣"] = "謠", + ["琼"] = "瓊", + ["谤"] = "謗", + ["瑶"] = "瑤", + ["谥"] = "諡", + ["瑷"] = "璦", + ["谦"] = "謙", + ["瑸"] = "璸", + ["泞"] = "濘", + ["谧"] = "謐", + ["璇"] = "璇", + ["注"] = "注", + ["谨"] = "謹", + ["泪"] = "淚", + ["谩"] = "謾", + ["泶"] = "澩", + ["谪"] = "謫", + ["泷"] = "瀧", + ["谫"] = "譾", + ["泸"] = "瀘", + ["谬"] = "謬", + ["泺"] = "濼", + ["谭"] = "譚", + ["泻"] = "瀉", + ["谮"] = "譖", + ["泼"] = "潑", + ["谯"] = "譙", + ["泽"] = "澤", + ["谰"] = "讕", + ["泾"] = "涇", + ["谱"] = "譜", + ["洁"] = "潔", + ["谲"] = "譎", + ["洒"] = "灑", + ["谳"] = "讞", + ["洼"] = "窪", + ["谴"] = "譴", + ["浃"] = "浹", + ["谵"] = "譫", + ["浅"] = "淺", + ["谶"] = "讖", + ["浆"] = "漿", + ["谷"] = "谷", + ["浇"] = "澆", + ["豮"] = "豶", + ["疯"] = "瘋", + ["浈"] = "湞", + ["贝"] = "貝", + ["疱"] = "皰", + ["浉"] = "溮", + ["贞"] = "貞", + ["疴"] = "痾", + ["浊"] = "濁", + ["负"] = "負", + ["症"] = "症", + ["测"] = "測", + ["痈"] = "癰", + ["浍"] = "澮", + ["贡"] = "貢", + ["济"] = "濟", + ["财"] = "財", + ["浏"] = "瀏", + ["责"] = "責", + ["浐"] = "滻", + ["贤"] = "賢", + ["浑"] = "渾", + ["败"] = "敗", + ["浒"] = "滸", + ["账"] = "賬", + ["浓"] = "濃", + ["货"] = "貨", + ["浔"] = "潯", + ["质"] = "質", + ["浕"] = "濜", + ["涂"] = "塗", + ["涌"] = "湧", + ["涚"] = "涗", + ["涛"] = "濤", + ["涝"] = "澇", + ["涞"] = "淶", + ["涟"] = "漣", + ["涠"] = "潿", + ["涡"] = "渦", + ["涢"] = "溳", + ["涣"] = "渙", + ["涤"] = "滌", + ["润"] = "潤", + ["涧"] = "澗", + ["涨"] = "漲", + ["𪼋"] = "㻶", + ["𣑶"] = "𣠲", + ["涩"] = "澀", + ["𣎑"] = "臗", + ["𰶎"] = "譅", + ["淀"] = "澱", + ["𰰨"] = "菕", + ["𰬸"] = "繐", + ["渊"] = "淵", + ["𬺓"] = "齼", + ["𬺈"] = "齮", + ["渌"] = "淥", + ["𬹼"] = "齘", + ["𬸯"] = "鷿", + ["渍"] = "漬", + ["𬸪"] = "鷭", + ["𬸦"] = "鷟", + ["渎"] = "瀆", + ["𬸣"] = "鶱", + ["𬸚"] = "鸑", + ["渐"] = "漸", + ["𬸘"] = "鶠", + ["𬷕"] = "鵏", + ["渑"] = "澠", + ["𫂃"] = "簢", + ["𫂈"] = "䉬", + ["渔"] = "漁", + ["𫂿"] = "𥻦", + ["𫄙"] = "糺", + ["渖"] = "瀋", + ["𫄛"] = "紟", + ["𫄝"] = "𥾯", + ["渗"] = "滲", + ["𫄟"] = "絁", + ["𫄡"] = "絧", + ["温"] = "溫", + ["𫄣"] = "繷", + ["𫄥"] = "纚", + ["游"] = "遊", + ["𫄧"] = "綖", + ["𫄩"] = "䋦", + ["𫄫"] = "綟", + ["𫄭"] = "緮", + ["𫄯"] = "𦃩", + ["𫄱"] = "繬", + ["𫄳"] = "縰", + ["𬱖"] = "頔", + ["𬯎"] = "隤", + ["𬯀"] = "隮", + ["𫄷"] = "繶", + ["𫄸"] = "纁", + ["𬭼"] = "鐩", + ["𬭸"] = "鏻", + ["𬭶"] = "𨭆", + ["𬭳"] = "𨭎", + ["𬭯"] = "䥕", + ["𬭭"] = "鏚", + ["𬭬"] = "鏏", + ["𬭩"] = "鎓", + ["𬭤"] = "鍭", + ["𬭛"] = "𨨏", + ["𬭚"] = "錞", + ["𬭎"] = "鋐", + ["𬭊"] = "𨧀", + ["𬭁"] = "鉧", + ["𬬿"] = "鉊", + ["𬬻"] = "鑪", + ["𬬹"] = "鉮", + ["𬬸"] = "鉥", + ["𬬱"] = "釿", + ["𬬮"] = "鋹", + ["𬬭"] = "錀", + ["𬬩"] = "釴", + ["𬪩"] = "醲", + ["𬩽"] = "鄩", + ["𬨎"] = "輶", + ["𬨂"] = "軝", + ["𬤝"] = "譓", + ["𬤊"] = "諟", + ["𬤇"] = "諲", + ["𬣳"] = "詪", + ["𬣡"] = "諓", + ["𬣞"] = "詝", + ["𬣙"] = "訏", + ["𬟽"] = "蝀", + ["𬟁"] = "虉", + ["𬞟"] = "蘋", + ["𬜯"] = "䓣", + ["𬜬"] = "蔄", + ["𬙋"] = "纕", + ["𬙊"] = "纆", + ["𬙂"] = "縯", + ["𬘯"] = "綧", + ["𬘭"] = "綝", + ["𬘬"] = "綪", + ["𬘫"] = "綄", + ["𬘩"] = "綎", + ["𬘡"] = "絪", + ["𬘘"] = "紞", + ["𬘓"] = "紃", + ["𬕂"] = "篢", + ["𬒗"] = "𥗽", + ["𬒈"] = "礐", + ["𬍤"] = "璕", + ["𣗊"] = "樠", + ["𣗙"] = "㰙", + ["𣘓"] = "𣞻", + ["𣘷"] = "𣝕", + ["𬉼"] = "熰", + ["𬇹"] = "漍", + ["𬇙"] = "浿", + ["𬇕"] = "澫", + ["𬃊"] = "櫍", + ["𬂩"] = "梜", + ["𬀪"] = "晛", + ["𬀩"] = "暐", + ["𫸩"] = "彄", + ["𫷷"] = "廞", + ["𫶇"] = "嵽", + ["𫵷"] = "㠣", + ["𫰛"] = "娙", + ["𫮃"] = "墠", + ["𫭼"] = "𡑍", + ["𫭢"] = "埨", + ["𦈋"] = "綇", + ["𫬐"] = "㘔", + ["𫫇"] = "噁", + ["𫧮"] = "𪋿", + ["𫧃"] = "𣍐", + ["𫢸"] = "僤", + ["𫠜"] = "齯", + ["𫠖"] = "𩿅", + ["𫠒"] = "鱆", + ["𫠑"] = "䱸", + ["𫠐"] = "魽", + ["𫠏"] = "𩵦", + ["𫠌"] = "𩦠", + ["𫠋"] = "騼", + ["𫠊"] = "䮄", + ["𫠈"] = "䫾", + ["𫠇"] = "𩖰", + ["𫠆"] = "頍", + ["𫠅"] = "韚", + ["𫠂"] = "閝", + ["𫠁"] = "鑉", + ["𫠀"] = "䥄", + ["𫟿"] = "鎈", + ["𫟾"] = "𨩰", + ["𫟽"] = "𨧰", + ["𫟼"] = "鐽", + ["𫟻"] = "銂", + ["𫟺"] = "䤤", + ["𫟹"] = "鉷", + ["𫟸"] = "鉽", + ["𫟷"] = "鉝", + ["𫟶"] = "銏", + ["𫟵"] = "鈗", + ["𫟴"] = "鈖", + ["𫟳"] = "釲", + ["𫟲"] = "釚", + ["𫟬"] = "𨟊", + ["𫟫"] = "𨞺", + ["纭"] = "紜", + ["𫟦"] = "䡵", + ["𫟥"] = "䡩", + ["纮"] = "紘", + ["𫟤"] = "䡐", + ["𫟢"] = "䜖", + ["纯"] = "純", + ["𫟡"] = "誴", + ["𫟠"] = "譂", + ["纰"] = "紕", + ["𫟟"] = "詊", + ["𫟞"] = "訨", + ["纱"] = "紗", + ["𫟕"] = "䕤", + ["𫟑"] = "䖅", + ["纲"] = "綱", + ["𫟇"] = "𦆲", + ["𫟆"] = "緟", + ["纳"] = "納", + ["𫟅"] = "綡", + ["镯"] = "鐲", + ["纴"] = "紝", + ["𫟄"] = "綋", + ["镰"] = "鐮", + ["纵"] = "縱", + ["𫟃"] = "絍", + ["镱"] = "鐿", + ["纶"] = "綸", + ["𫞷"] = "𥢶", + ["镲"] = "鑔", + ["纷"] = "紛", + ["𫞩"] = "璊", + ["镳"] = "鑣", + ["纸"] = "紙", + ["𫞨"] = "璼", + ["镴"] = "鑞", + ["摅"] = "攄", + ["𫞧"] = "𤩂", + ["镵"] = "鑱", + ["摆"] = "擺", + ["𫞦"] = "璾", + ["镶"] = "鑲", + ["摇"] = "搖", + ["𫞥"] = "珼", + ["长"] = "長", + ["摈"] = "擯", + ["𫞣"] = "㹽", + ["门"] = "門", + ["摊"] = "攤", + ["𫞢"] = "𤛱", + ["闩"] = "閂", + ["撄"] = "攖", + ["𫞡"] = "爃", + ["闪"] = "閃", + ["撑"] = "撐", + ["𫞠"] = "爧", + ["闫"] = "閆", + ["撵"] = "攆", + ["𫞝"] = "灍", + ["闬"] = "閈", + ["撷"] = "擷", + ["𫞛"] = "㶆", + ["闭"] = "閉", + ["撸"] = "擼", + ["𫞚"] = "澬", + ["问"] = "問", + ["撺"] = "攛", + ["𫞗"] = "潣", + ["闯"] = "闖", + ["擜"] = "㩵", + ["馒"] = "饅", + ["闰"] = "閏", + ["擞"] = "擻", + ["脓"] = "膿", + ["闱"] = "闈", + ["细"] = "細", + ["铈"] = "鈰", + ["闲"] = "閒", + ["织"] = "織", + ["铚"] = "銍", + ["闳"] = "閎", + ["终"] = "終", + ["铥"] = "銩", + ["间"] = "間", + ["绉"] = "縐", + ["𨸎"] = "𨷲", + ["闵"] = "閔", + ["绊"] = "絆", + ["𣞎"] = "𣠩", + ["闶"] = "閌", + ["绋"] = "紼", + ["𣭤"] = "𣯴", + ["闷"] = "悶", + ["绌"] = "絀", + ["𣱝"] = "氭", + ["闸"] = "閘", + ["绍"] = "紹", + ["盖"] = "蓋", + ["闹"] = "鬧", + ["绎"] = "繹", + ["盗"] = "盜", + ["闺"] = "閨", + ["经"] = "經", + ["盘"] = "盤", + ["闻"] = "聞", + ["绐"] = "紿", + ["眍"] = "瞘", + ["闼"] = "闥", + ["绑"] = "綁", + ["眦"] = "眥", + ["闽"] = "閩", + ["绒"] = "絨", + ["眬"] = "矓", + ["闾"] = "閭", + ["结"] = "結", + ["睁"] = "睜", + ["闿"] = "闓", + ["绔"] = "絝", + ["睐"] = "睞", + ["阀"] = "閥", + ["绕"] = "繞", + ["睑"] = "瞼", + ["阁"] = "閣", + ["绖"] = "絰", + ["瞆"] = "瞶", + ["阂"] = "閡", + ["绗"] = "絎", + ["𣲘"] = "潕", + ["阃"] = "閫", + ["绘"] = "繪", + ["𣶩"] = "澅", + ["阄"] = "鬮", + ["给"] = "給", + ["𣶭"] = "𪷓", + ["阅"] = "閱", + ["绚"] = "絢", + ["𣸣"] = "濆", + ["阆"] = "閬", + ["绛"] = "絳", + ["𤽯"] = "㿧", + ["阇"] = "闍", + ["络"] = "絡", + ["𤿲"] = "麬", + ["𫍤"] = "譑", + ["绝"] = "絕", + ["𥅘"] = "𥌃", + ["𫍥"] = "誂", + ["绞"] = "絞", + ["𥅿"] = "𥊝", + ["𫍦"] = "譨", + ["统"] = "統", + ["𥇢"] = "䁪", + ["𫍧"] = "誺", + ["绠"] = "綆", + ["𥐟"] = "礒", + ["𫍨"] = "誫", + ["绡"] = "綃", + ["𥐰"] = "𥕥", + ["𫍩"] = "諣", + ["绢"] = "絹", + ["𥞦"] = "𥞵", + ["𫍪"] = "誋", + ["绣"] = "繡", + ["𦈈"] = "𥿊", + ["𫍫"] = "䛳", + ["绤"] = "綌", + ["𦈉"] = "緷", + ["𫍬"] = "誷", + ["绥"] = "綏", + ["𦈌"] = "綀", + ["𫍭"] = "𧩕", + ["绦"] = "絛", + ["𦈎"] = "繟", + ["𫍮"] = "誳", + ["继"] = "繼", + ["𦈏"] = "緍", + ["屦"] = "屨", + ["绨"] = "綈", + ["𫜕"] = "𪍠", + ["屿"] = "嶼", + ["绩"] = "績", + ["𫜔"] = "䴽", + ["岁"] = "歲", + ["绪"] = "緒", + ["𫜓"] = "𪌭", + ["岂"] = "豈", + ["绫"] = "綾", + ["𫜒"] = "䴱", + ["岖"] = "嶇", + ["𫜑"] = "麷", + ["𫜊"] = "𪉸", + ["𫍴"] = "謱", + ["𫜅"] = "䴋", + ["𫜄"] = "鷷", + ["𫍵"] = "謸", + ["𫜃"] = "鷣", + ["𫜂"] = "𪅂", + ["𫍶"] = "𧩼", + ["𫜁"] = "鷩", + ["𫜀"] = "鷐", + ["𫍷"] = "謉", + ["𫛾"] = "𪆷", + ["𫛽"] = "鷅", + ["𫍸"] = "謆", + ["𫛼"] = "䳫", + ["𫛻"] = "𪃒", + ["𫍹"] = "謯", + ["𫛺"] = "䳧", + ["𫛹"] = "𪃧", + ["𫍺"] = "𧫝", + ["𫛸"] = "鶗", + ["𫛷"] = "鶦", + ["𫍻"] = "譆", + ["𫛶"] = "鶒", + ["𫛵"] = "鶌", + ["𫍼"] = "𧬤", + ["𫛴"] = "鷤", + ["𫛳"] = "鵩", + ["𫍽"] = "譞", + ["𫛲"] = "鵰", + ["𫎭"] = "䞓", + ["𫍾"] = "𧭈", + ["𫛱"] = "鵫", + ["𫎱"] = "䟐", + ["𫍿"] = "譾", + ["𫛰"] = "䳢", + ["𫎆"] = "豵", + ["𫛯"] = "鶭", + ["𫛮"] = "䳤", + ["𫎌"] = "貗", + ["𫛭"] = "鵟", + ["𫛬"] = "䳜", + ["𫎦"] = "贚", + ["𫛫"] = "鶰", + ["𫛪"] = "鴽", + ["𫎧"] = "䝭", + ["𫛩"] = "鴳", + ["𫛨"] = "鵧", + ["𫎨"] = "𧸘", + ["𫛧"] = "𪀖", + ["𫛦"] = "鴮", + ["𫎩"] = "賝", + ["𫛥"] = "鵊", + ["𫛤"] = "鴐", + ["𫎪"] = "䞋", + ["𫛣"] = "鴥", + ["𫛢"] = "鸋", + ["𫎫"] = "贉", + ["𫛡"] = "鴔", + ["𫛠"] = "𩿤", + ["𫎬"] = "贑", + ["𫛟"] = "鸗", + ["𫛞"] = "鴃", + ["𫏕"] = "𨆪", + ["𫛝"] = "鴅", + ["𫛜"] = "鴀", + ["𫏞"] = "𨇰", + ["𫛛"] = "鳷", + ["𫛚"] = "鳽", + ["𫏨"] = "𨇤", + ["𫚭"] = "鱲", + ["𫚬"] = "𩼶", + ["𫐄"] = "軏", + ["𫚫"] = "鱢", + ["𫚪"] = "鱊", + ["𫐅"] = "軕", + ["𫚩"] = "𩻬", + ["𫚨"] = "𩻗", + ["𫐆"] = "轣", + ["𫚧"] = "鰽", + ["𫚦"] = "鰫", + ["𫐇"] = "軜", + ["𫚥"] = "鰕", + ["𫚤"] = "鰦", + ["𫐈"] = "軷", + ["𫚣"] = "鯾", + ["𫚢"] = "鰋", + ["𫐉"] = "軨", + ["𫚡"] = "鯞", + ["𫚠"] = "䱧", + ["𫐊"] = "軬", + ["𫚟"] = "𩸡", + ["𫚞"] = "鯬", + ["𫐋"] = "𨎌", + ["𫚝"] = "𩸄", + ["𫚜"] = "䲅", + ["𫐌"] = "軿", + ["𫚛"] = "鮵", + ["𫚚"] = "鮿", + ["𫐍"] = "𨌈", + ["𫚙"] = "鯆", + ["𫚘"] = "𩻮", + ["𫐎"] = "輢", + ["𫚗"] = "鮯", + ["𫚖"] = "鮆", + ["𫐏"] = "輖", + ["𫚕"] = "鰤", + ["𫚔"] = "鮰", + ["𫐐"] = "輗", + ["𫚓"] = "鮤", + ["𫚒"] = "鮄", + ["𫐑"] = "輨", + ["𫚑"] = "鮅", + ["𫚐"] = "䱀", + ["𫐒"] = "輷", + ["𫚏"] = "䱁", + ["𫚎"] = "𩶁", + ["𫚍"] = "魵", + ["𫚌"] = "魦", + ["𫚋"] = "鱄", + ["𫚊"] = "鰑", + ["𫚉"] = "魟", + ["𫚈"] = "鱮", + ["𫙂"] = "𩯁", + ["𫘽"] = "鬠", + ["𫘱"] = "驨", + ["𫘰"] = "驙", + ["𫘯"] = "驓", + ["𫘮"] = "䮰", + ["𫘭"] = "騻", + ["𫘬"] = "騱", + ["𫘫"] = "騴", + ["𫘪"] = "騵", + ["𫘩"] = "騜", + ["𫘨"] = "騠", + ["𫘧"] = "騄", + ["𫘦"] = "騊", + ["𫘥"] = "騉", + ["𫘤"] = "騃", + ["𫘣"] = "駻", + ["𫘡"] = "駫", + ["𫘠"] = "駤", + ["𫘟"] = "駊", + ["𫘞"] = "駞", + ["𫘝"] = "駃", + ["𫘜"] = "馼", + ["𫘛"] = "馯", + ["𫗵"] = "饟", + ["𫗴"] = "饘", + ["𫗳"] = "𩝽", + ["𫗱"] = "䭑", + ["𫗰"] = "䭔", + ["𫗯"] = "餱", + ["𫗮"] = "餭", + ["𫇭"] = "蔿", + ["𫇴"] = "蒭", + ["𫇽"] = "蕽", + ["𫗩"] = "饠", + ["𫗨"] = "𩛡", + ["𫗧"] = "餗", + ["𫗦"] = "餔", + ["𫉁"] = "薆", + ["𫊪"] = "䗅", + ["𫊸"] = "蟜", + ["𫊻"] = "蟳", + ["𫋌"] = "蟘", + ["𫋷"] = "襗", + ["𫋻"] = "襘", + ["𫌇"] = "襵", + ["𫗚"] = "𩟗", + ["𪣒"] = "堚", + ["𫗋"] = "飋", + ["𫗊"] = "䬓", + ["𪣻"] = "塿", + ["𫗉"] = "𩗴", + ["𫌬"] = "𧢄", + ["𪤄"] = "𡓁", + ["𫌯"] = "䚩", + ["𫍙"] = "訑", + ["𪤚"] = "壣", + ["𫍛"] = "訜", + ["𫖸"] = "願", + ["𪥠"] = "𧹈", + ["𫖷"] = "𩔑", + ["𫖶"] = "顅", + ["𪥫"] = "孇", + ["𫖵"] = "𩓥", + ["𫖴"] = "𩔳", + ["𪥰"] = "嬣", + ["𫖳"] = "頵", + ["𫍰"] = "諰", + ["𪥿"] = "嬻", + ["𫍲"] = "謏", + ["𫎳"] = "䟆", + ["𪧀"] = "孾", + ["𫎺"] = "䟃", + ["𫏃"] = "䠆", + ["𪧘"] = "寠", + ["𫏆"] = "蹳", + ["𫏋"] = "蹻", + ["𪨊"] = "㞞", + ["𫏌"] = "𨂐", + ["𫏐"] = "蹔", + ["𪨗"] = "屩", + ["𫏑"] = "𨇽", + ["贳"] = "貰", + ["𪨧"] = "崙", + ["贺"] = "賀", + ["𫓧"] = "鈇", + ["𪨩"] = "𡸗", + ["𫓩"] = "鏦", + ["𫓫"] = "𨥟", + ["𪨶"] = "輋", + ["𫓭"] = "鉠", + ["𫓯"] = "銈", + ["𪨷"] = "巗", + ["𫓱"] = "鐈", + ["𫓳"] = "𨰋", + ["𪨹"] = "𡹬", + ["𫓵"] = "鋠", + ["𫓷"] = "𫒡", + ["𪩇"] = "㟺", + ["𫓹"] = "錤", + ["𫓻"] = "錜", + ["𪩎"] = "巊", + ["𫓽"] = "錝", + ["𫓿"] = "𨨢", + ["𪩘"] = "巘", + ["扬"] = "揚", + ["𫔁"] = "鐼", + ["𪩛"] = "𡿖", + ["扰"] = "擾", + ["侩"] = "儈", + ["𪩷"] = "幝", + ["折"] = "折", + ["侪"] = "儕", + ["抚"] = "撫", + ["𫔃"] = "𨰲", + ["侬"] = "儂", + ["抛"] = "拋", + ["𫔅"] = "鎍", + ["侭"] = "儘", + ["抟"] = "摶", + ["𫔆"] = "䥯", + ["俊"] = "俊", + ["抠"] = "摳", + ["俣"] = "俁", + ["𪪴"] = "𢍰", + ["抡"] = "掄", + ["俦"] = "儔", + ["𪪼"] = "彃", + ["抢"] = "搶", + ["俨"] = "儼", + ["𪫌"] = "徿", + ["护"] = "護", + ["俩"] = "倆", + ["𪫡"] = "𢤩", + ["报"] = "報", + ["俪"] = "儷", + ["𪫷"] = "㦞", + ["抵"] = "抵", + ["俫"] = "倈", + ["担"] = "擔", + ["𫔇"] = "鎞", + ["俭"] = "儉", + ["拐"] = "拐", + ["𫔉"] = "𨰃", + ["拟"] = "擬", + ["𫔋"] = "䥗", + ["借"] = "借", + ["拢"] = "攏", + ["债"] = "債", + ["𫔔"] = "鑴", + ["拣"] = "揀", + ["倾"] = "傾", + ["𫔓"] = "𨯟", + ["拥"] = "擁", + ["偬"] = "傯", + ["𫔒"] = "𨮳", + ["拦"] = "攔", + ["偻"] = "僂", + ["𫔑"] = "𨭖", + ["拧"] = "擰", + ["偾"] = "僨", + ["𫔐"] = "𨭸", + ["拨"] = "撥", + ["偿"] = "償", + ["𫔏"] = "𨬖", + ["择"] = "擇", + ["傤"] = "儎", + ["𫔎"] = "鐍", + ["挂"] = "掛", + ["傥"] = "儻", + ["𫔍"] = "鐇", + ["挚"] = "摯", + ["傧"] = "儐", + ["𫔌"] = "鏾", + ["𫔕"] = "𨰥", + ["储"] = "儲", + ["𫔊"] = "鏥", + ["𫔖"] = "𨲳", + ["傩"] = "儺", + ["𫔈"] = "鎙", + ["𫔭"] = "開", + ["僵"] = "僵", + ["𫔮"] = "閒", + ["儿"] = "兒", + ["𫔯"] = "閗", + ["𫔄"] = "鍒", + ["克"] = "克", + ["𫔰"] = "閞", + ["兑"] = "兌", + ["𫔂"] = "鍉", + ["𫔲"] = "𨴹", + ["兖"] = "兗", + ["𫔀"] = "鍊", + ["𫔴"] = "閵", + ["党"] = "黨", + ["𫓾"] = "錥", + ["𫔵"] = "䦯", + ["兰"] = "蘭", + ["𫓼"] = "𨨛", + ["𫔶"] = "闑", + ["关"] = "關", + ["𫓺"] = "鐪", + ["𫔽"] = "𨼳", + ["兴"] = "興", + ["𫓸"] = "錽", + ["𫕚"] = "𩀨", + ["兹"] = "茲", + ["𫓶"] = "鋗", + ["𫕥"] = "霣", + ["养"] = "養", + ["𫓴"] = "鉾", + ["𫕨"] = "𩅙", + ["兽"] = "獸", + ["𫓲"] = "銁", + ["𫖃"] = "靧", + ["冁"] = "囅", + ["𫓰"] = "銊", + ["𫖅"] = "䪊", + ["内"] = "內", + ["𫓮"] = "𨪕", + ["𫖇"] = "鞾", + ["㐽"] = "偑", + ["𫓬"] = "鉔", + ["𫖑"] = "𩎖", + ["㑇"] = "㑳", + ["𫓪"] = "鈆", + ["𫖒"] = "韠", + ["写"] = "寫", + ["𫓨"] = "鈛", + ["𫖓"] = "𩏂", + ["军"] = "軍", + ["玮"] = "瑋", + ["𫖔"] = "韛", + ["农"] = "農", + ["贶"] = "貺", + ["𫖕"] = "韝", + ["冬"] = "冬", + ["𫖖"] = "𩏠", + ["冯"] = "馮", + ["㓥"] = "劏", + ["𫖪"] = "𩑔", + ["冲"] = "衝", + ["㓰"] = "劃", + ["𫖫"] = "䪴", + ["决"] = "決", + ["㔉"] = "劚", + ["𫖬"] = "䪾", + ["况"] = "況", + ["㖊"] = "噚", + ["𫖭"] = "𩒎", + ["冻"] = "凍", + ["㖞"] = "喎", + ["𫖮"] = "顗", + ["净"] = "淨", + ["㘎"] = "㘚", + ["𫖯"] = "頫", + ["凄"] = "悽", + ["𫎸"] = "𧽯", + ["𫖰"] = "䫂", + ["准"] = "準", + ["𫍳"] = "諥", + ["𫖱"] = "䫀", + ["凉"] = "涼", + ["𫍱"] = "諯", + ["𫖲"] = "䫟", + ["凌"] = "凌", + ["𫍯"] = "諴", + ["减"] = "減", + ["瞒"] = "瞞", + ["𫍣"] = "詷", + ["凑"] = "湊", + ["瞩"] = "矚", + ["𫍢"] = "譊", + ["凛"] = "凜", + ["矩"] = "矩", + ["𫍡"] = "詑", + ["几"] = "幾", + ["𫍠"] = "䛄", + ["𫍟"] = "𧦧", + ["凤"] = "鳳", + ["𫍞"] = "𧦝", + ["𫍝"] = "諫", + ["凫"] = "鳧", + ["𫍜"] = "詓", + ["𫖹"] = "顣", + ["凭"] = "憑", + ["𫍚"] = "訞", + ["𫖺"] = "䫶", + ["凯"] = "凱", + ["𫍐"] = "𧭹", + ["𫗇"] = "䫻", + ["码"] = "碼", + ["𫌭"] = "覹", + ["𫗈"] = "𩗓", + ["出"] = "出", + ["𫌫"] = "𧡴", + ["击"] = "擊", + ["砗"] = "硨", + ["𫌪"] = "覛", + ["凿"] = "鑿", + ["砚"] = "硯", + ["𫌨"] = "覼", + ["刍"] = "芻", + ["砜"] = "碸", + ["𫌋"] = "𧞫", + ["划"] = "劃", + ["砺"] = "礪", + ["刘"] = "劉", + ["𫗞"] = "飦", + ["砻"] = "礱", + ["𫌀"] = "襀", + ["𫗟"] = "䬧", + ["砾"] = "礫", + ["𫋹"] = "襓", + ["𫗠"] = "餦", + ["础"] = "礎", + ["𫋲"] = "䙔", + ["𫗡"] = "𩚩", + ["硁"] = "硜", + ["𫋇"] = "蟂", + ["𫗢"] = "飵", + ["硕"] = "碩", + ["𫊹"] = "𧒯", + ["𫗣"] = "飶", + ["硖"] = "硤", + ["𫊮"] = "蠦", + ["𫗤"] = "𩛌", + ["硗"] = "磽", + ["𫉄"] = "藷", + ["𫗥"] = "餫", + ["硙"] = "磑", + ["𫈵"] = "蕝", + ["杀"] = "殺", + ["硚"] = "礄", + ["𫈟"] = "蔯", + ["杂"] = "雜", + ["确"] = "確", + ["𫈎"] = "葝", + ["权"] = "權", + ["硵"] = "磠", + ["𫈉"] = "蕳", + ["杆"] = "杆", + ["硷"] = "礆", + ["杠"] = "槓", + ["𫗪"] = "餧", + ["碍"] = "礙", + ["条"] = "條", + ["𫗫"] = "餬", + ["碛"] = "磧", + ["来"] = "來", + ["𫗬"] = "餪", + ["碜"] = "磣", + ["杨"] = "楊", + ["𫇪"] = "𦱌", + ["碱"] = "鹼", + ["杩"] = "榪", + ["𫇛"] = "艣", + ["礼"] = "禮", + ["杯"] = "杯", + ["𫇘"] = "𦧺", + ["祃"] = "禡", + ["𫆫"] = "𦡝", + ["𫆝"] = "𦟼", + ["松"] = "松", + ["𫆏"] = "聻", + ["板"] = "板", + ["祢"] = "禰", + ["极"] = "極", + ["𫅼"] = "𦔖", + ["祯"] = "禎", + ["构"] = "構", + ["𫅭"] = "䎙", + ["祷"] = "禱", + ["枞"] = "樅", + ["𫅥"] = "𦒀", + ["祸"] = "禍", + ["枢"] = "樞", + ["𫅗"] = "羵", + ["禀"] = "稟", + ["扣"] = "扣", + ["𫅅"] = "䍤", + ["禄"] = "祿", + ["枥"] = "櫪", + ["𫄹"] = "纗", + ["禅"] = "禪", + ["枧"] = "梘", + ["𬮱"] = "闉", + ["离"] = "離", + ["枨"] = "棖", + ["𬮿"] = "隑", + ["私"] = "私", + ["枪"] = "槍", + ["秃"] = "禿", + ["𫄶"] = "繈", + ["枫"] = "楓", + ["秆"] = "稈", + ["𫄵"] = "𦅈", + ["枭"] = "梟", + ["秋"] = "秋", + ["𫄴"] = "繂", + ["种"] = "種", + ["𬱟"] = "頠", + ["𫄲"] = "縸", + ["秘"] = "祕", + ["𬳵"] = "駓", + ["𫄰"] = "縍", + ["积"] = "積", + ["𬳶"] = "駉", + ["𫄮"] = "䋼", + ["栀"] = "梔", + ["𬳽"] = "駪", + ["𫄬"] = "緤", + ["栅"] = "柵", + ["𬳿"] = "駼", + ["𫄪"] = "𦅇", + ["标"] = "標", + ["𬴂"] = "騑", + ["𫄨"] = "絺", + ["栈"] = "棧", + ["𬴃"] = "騞", + ["𫄦"] = "𦀖", + ["栉"] = "櫛", + ["𬴊"] = "驎", + ["𫄤"] = "繨", + ["栊"] = "櫳", + ["𬶋"] = "鮈", + ["𫄢"] = "絥", + ["栋"] = "棟", + ["𬶍"] = "鮀", + ["𫄠"] = "絙", + ["栌"] = "櫨", + ["𬶏"] = "鮠", + ["𫄞"] = "䋔", + ["栎"] = "櫟", + ["𬶐"] = "鮡", + ["𫄜"] = "䋃", + ["栏"] = "欄", + ["𬶟"] = "鯻", + ["𫄚"] = "䊺", + ["树"] = "樹", + ["𬶠"] = "鰊", + ["𫃗"] = "𩏷", + ["栖"] = "棲", + ["𬶨"] = "鱀", + ["𫂖"] = "𥴨", + ["栗"] = "栗", + ["𬶭"] = "鰶", + ["样"] = "樣", + ["𫂆"] = "簂", + ["𬶮"] = "鱚", + ["核"] = "核", + ["𫁺"] = "𥴼", + ["栾"] = "欒", + ["𫁷"] = "䉶", + ["𫁳"] = "𥯤", + ["桠"] = "椏", + ["𫁲"] = "䉑", + ["𫁱"] = "𥶽", + ["桡"] = "橈", + ["𫁡"] = "鴗", + ["𫁟"] = "竱", + ["桢"] = "楨", + ["𫁂"] = "䆉", + ["𫀮"] = "𥢷", + ["档"] = "檔", + ["𫀬"] = "䅳", + ["鬶"] = "鬹", + ["桤"] = "榿", + ["骦"] = "驦", + ["骠"] = "驃", + ["桥"] = "橋", + ["骛"] = "騖", + ["骗"] = "騙", + ["桦"] = "樺", + ["骓"] = "騅", + ["骏"] = "駿", + ["桧"] = "檜", + ["骋"] = "騁", + ["马"] = "馬", + ["桨"] = "槳", + ["鳒"] = "鰜", + ["𢫞"] = "𢶫", + ["桩"] = "樁", + ["𢬍"] = "擫", + ["𢭏"] = "擣", + ["桪"] = "樳", + ["𣃁"] = "斸", + ["𣈣"] = "𣋋", + ["梁"] = "梁", + ["𣍯"] = "腪", + ["梦"] = "夢", + ["𰾄"] = "鋂", + ["𣐕"] = "桱", + ["梼"] = "檮", + ["𰾭"] = "鑀", + ["𣓿"] = "橯", + ["梾"] = "棶", + ["𱊜"] = "𪈼", + ["𪻺"] = "璝", + ["梿"] = "槤", + ["𪻲"] = "瑻", + ["𪻨"] = "瓄", + ["𪻐"] = "瑽", + ["𪺽"] = "猌", + ["𪺻"] = "㺜", + ["𪺸"] = "𤠮", + ["𪺷"] = "獊", + ["𪺭"] = "犞", + ["𪺪"] = "𤜆", + ["𪺣"] = "𤘀", + ["𪹹"] = "𤒻", + ["𪹳"] = "爥", + ["𪹠"] = "𤓌", + ["𪹀"] = "𤑹", + ["态"] = "態", + ["园"] = "園", + ["怂"] = "慫", + ["剀"] = "剴", + ["怃"] = "憮", + ["彩"] = "彩", + ["怄"] = "慪", + ["伧"] = "傖", + ["怅"] = "悵", + ["吗"] = "嗎", + ["参"] = "參", + ["呜"] = "嗚", + ["坚"] = "堅", + ["县"] = "縣", + ["壮"] = "壯", + ["𪲔"] = "欐", + ["𪲎"] = "櫅", + ["𪱷"] = "梖", + ["𪱥"] = "膹", + ["𪰶"] = "曊", + ["𪯋"] = "㪎", + ["墙"] = "牆", + ["𪮳"] = "𢺳", + ["𪮖"] = "撧", + ["𪮋"] = "㩋", + ["𪮃"] = "㨻", + ["𪭾"] = "撊", + ["𪭵"] = "掚", + ["𪭯"] = "𢶒", + ["𣺽"] = "𤁣", + ["𪭧"] = "擟", + ["𪭢"] = "摐", + ["𣽷"] = "瀃", + ["𪭝"] = "𢯷", + ["𪬯"] = "𢤿", + ["𤆡"] = "熓", + ["𪬚"] = "𢣐", + ["𪫺"] = "憸", + ["𤆢"] = "㷍", + ["𪪞"] = "廧", + ["𪪑"] = "㢗", + ["𤇃"] = "爄", + ["𪪏"] = "廬", + ["𪩸"] = "幩", + ["𤇄"] = "熌", + ["𪣆"] = "埬", + ["𪢸"] = "墲", + ["𤇭"] = "爖", + ["𪢮"] = "圞", + ["𪢠"] = "囒", + ["𤇹"] = "熚", + ["𪢖"] = "𡅯", + ["𪢕"] = "嚽", + ["𤈶"] = "熉", + ["𪢒"] = "𡂡", + ["𪢐"] = "𡃤", + ["𤈷"] = "㷿", + ["𪢌"] = "㘓", + ["𪡺"] = "𡃄", + ["𤊀"] = "𤒎", + ["𪡞"] = "嘳", + ["𪡛"] = "㗿", + ["𤊰"] = "𤓩", + ["𪡏"] = "嗹", + ["𪡋"] = "噞", + ["𤋏"] = "熡", + ["𪡃"] = "嘪", + ["𪡀"] = "嘺", + ["𤎺"] = "𤓎", + ["𪠽"] = "噹", + ["𪠺"] = "𠽃", + ["𤎻"] = "𤑳", + ["𪠸"] = "嚛", + ["𪠵"] = "㖮", + ["𤙯"] = "𤛮", + ["𪠳"] = "唓", + ["𪠡"] = "𠬙", + ["𤝢"] = "𤢟", + ["𪠟"] = "㓄", + ["𪠀"] = "𧷎", + ["𤞃"] = "獩", + ["𪟝"] = "勣", + ["𪟎"] = "㔋", + ["𤞤"] = "玁", + ["𪞝"] = "凙", + ["𪜎"] = "𠿕", + ["𤠋"] = "㺏", + ["𪚐"] = "𪘯", + ["𪚏"] = "𪘀", + ["𤦀"] = "瓕", + ["𪔭"] = "𪔵", + ["缳"] = "繯", + ["𤩽"] = "瓛", + ["𪑅"] = "䵳", + ["缴"] = "繳", + ["𤳄"] = "𤳸", + ["𪎌"] = "麳", + ["缵"] = "纘", + ["𤶊"] = "癐", + ["𪎋"] = "䴴", + ["罂"] = "罌", + ["𤶧"] = "𤸫", + ["𪎊"] = "麨", + ["网"] = "網", + ["𤻊"] = "㿗", + ["𪎉"] = "麲", + ["罗"] = "羅", + ["称"] = "稱", + ["𪎈"] = "䴬", + ["罚"] = "罰", + ["秽"] = "穢", + ["𪉕"] = "𪇳", + ["罢"] = "罷", + ["秾"] = "穠", + ["𪉔"] = "𪄆", + ["罴"] = "羆", + ["稆"] = "穭", + ["𪉒"] = "𪄕", + ["羁"] = "羈", + ["税"] = "稅", + ["𪉑"] = "鷔", + ["羟"] = "羥", + ["稣"] = "穌", + ["𪉐"] = "𪃍", + ["羡"] = "羨", + ["稳"] = "穩", + ["𪉏"] = "𪃏", + ["群"] = "羣", + ["穑"] = "穡", + ["𪉎"] = "𪂆", + ["翘"] = "翹", + ["穞"] = "穭", + ["𪉍"] = "鵚", + ["翙"] = "翽", + ["奁"] = "奩", + ["𪉌"] = "𪁖", + ["翚"] = "翬", + ["奂"] = "奐", + ["𪉋"] = "𪀾", + ["耢"] = "耮", + ["奋"] = "奮", + ["𪉊"] = "鷨", + ["耧"] = "耬", + ["奖"] = "獎", + ["鸳"] = "鴛", + ["窑"] = "窯", + ["奥"] = "奧", + ["鸬"] = "鸕", + ["窜"] = "竄", + ["奸"] = "奸", + ["鸨"] = "鴇", + ["窝"] = "窩", + ["𥧂"] = "𥨐", + ["鳙"] = "鱅", + ["窥"] = "窺", + ["𥩟"] = "竚", + ["鳗"] = "鰻", + ["职"] = "職", + ["𥩺"] = "𥪂", + ["鳕"] = "鱈", + ["窭"] = "窶", + ["𥫣"] = "籅", + ["鳓"] = "鰳", + ["竖"] = "豎", + ["𥬀"] = "䉙", + ["鳑"] = "鰟", + ["竞"] = "競", + ["𥬞"] = "籋", + ["鳏"] = "鰥", + ["笃"] = "篤", + ["𥬠"] = "篘", + ["鳍"] = "鰭", + ["笋"] = "筍", + ["𥭉"] = "𥵊", + ["姹"] = "奼", + ["笔"] = "筆", + ["𥮋"] = "𥸠", + ["娄"] = "婁", + ["笕"] = "筧", + ["𥮜"] = "䉲", + ["娅"] = "婭", + ["笺"] = "箋", + ["𥮾"] = "篸", + ["娆"] = "嬈", + ["笼"] = "籠", + ["𥱔"] = "𥵃", + ["娇"] = "嬌", + ["笾"] = "籩", + ["𥹥"] = "𥼽", + ["娈"] = "孌", + ["筑"] = "築", + ["𥺅"] = "䊭", + ["娘"] = "娘", + ["筚"] = "篳", + ["娱"] = "娛", + ["鳋"] = "鰠", + ["筛"] = "篩", + ["娲"] = "媧", + ["鳉"] = "鱂", + ["筜"] = "簹", + ["娴"] = "嫺", + ["鳇"] = "鰉", + ["筝"] = "箏", + ["婳"] = "嫿", + ["鳅"] = "鰍", + ["筹"] = "籌", + ["婴"] = "嬰", + ["鳃"] = "鰓", + ["筼"] = "篔", + ["婵"] = "嬋", + ["鳁"] = "鰮", + ["签"] = "籤", + ["婶"] = "嬸", + ["鲿"] = "鱨", + ["筿"] = "篠", + ["媪"] = "媼", + ["讱"] = "訒", + ["简"] = "簡", + ["媭"] = "嬃", + ["讲"] = "講", + ["箓"] = "籙", + ["嫒"] = "嬡", + ["讳"] = "諱", + ["箦"] = "簀", + ["嫔"] = "嬪", + ["讴"] = "謳", + ["箧"] = "篋", + ["嫱"] = "嬙", + ["讵"] = "詎", + ["箨"] = "籜", + ["嬷"] = "嬤", + ["讶"] = "訝", + ["箩"] = "籮", + ["孙"] = "孫", + ["讷"] = "訥", + ["箪"] = "簞", + ["学"] = "學", + ["许"] = "許", + ["箫"] = "簫", + ["孪"] = "孿", + ["讹"] = "訛", + ["篑"] = "簣", + ["宁"] = "寧", + ["论"] = "論", + ["篓"] = "簍", + ["它"] = "它", + ["讻"] = "訩", + ["篮"] = "籃", + ["𦈛"] = "繓", + ["讼"] = "訟", + ["篯"] = "籛", + ["雠"] = "讎", + ["讽"] = "諷", + ["篱"] = "籬", + ["雳"] = "靂", + ["设"] = "設", + ["簖"] = "籪", + ["雾"] = "霧", + ["访"] = "訪", + ["籁"] = "籟", + ["霁"] = "霽", + ["诀"] = "訣", + ["籴"] = "糴", + ["霉"] = "黴", + ["证"] = "證", + ["类"] = "類", + ["霡"] = "霢", + ["诂"] = "詁", + ["籼"] = "秈", + ["霭"] = "靄", + ["诃"] = "訶", + ["粜"] = "糶", + ["鲳"] = "鯧", + ["评"] = "評", + ["粝"] = "糲", + ["鲱"] = "鯡", + ["诅"] = "詛", + ["粤"] = "粵", + ["鲯"] = "鯕", + ["识"] = "識", + ["粪"] = "糞", + ["鲭"] = "鯖", + ["诇"] = "詗", + ["粮"] = "糧", + ["鲫"] = "鯽", + ["诈"] = "詐", + ["粽"] = "糉", + ["鲩"] = "鯇", + ["诉"] = "訴", + ["糁"] = "糝", + ["鲧"] = "鯀", + ["诊"] = "診", + ["糇"] = "餱", + ["鲥"] = "鰣", + ["诋"] = "詆", + ["糍"] = "餈", + ["鲣"] = "鰹", + ["诌"] = "謅", + ["系"] = "系", + ["鲡"] = "鱺", + ["词"] = "詞", + ["鲵"] = "鯢", + ["鲟"] = "鱘", + ["诎"] = "詘", + ["鲶"] = "鯰", + ["鲝"] = "鮺", + ["诏"] = "詔", + ["鲷"] = "鯛", + ["鲛"] = "鮫", + ["诐"] = "詖", + ["鲸"] = "鯨", + ["鲙"] = "鱠", + ["译"] = "譯", + ["鲹"] = "鰺", + ["层"] = "層", + ["诒"] = "詒", + ["鲺"] = "鯴", + ["屃"] = "屓", + ["诓"] = "誆", + ["鲻"] = "鯔", + ["屉"] = "屜", + ["诔"] = "誄", + ["鲼"] = "鱝", + ["届"] = "屆", + ["试"] = "試", + ["鲽"] = "鰈", + ["属"] = "屬", + ["诖"] = "詿", + ["鲾"] = "鰏", + ["屡"] = "屢", + ["诗"] = "詩", + ["鲗"] = "鰂", + ["鲕"] = "鮞", + ["诘"] = "詰", + ["鲓"] = "鮳", + ["𩨐"] = "𩧆", + ["诙"] = "詼", + ["𩨏"] = "䮳", + ["𩨎"] = "龭", + ["诚"] = "誠", + ["𩨍"] = "𩥇", + ["𩨌"] = "𩥑", + ["诛"] = "誅", + ["𩨋"] = "𩥄", + ["𩨊"] = "騚", + ["诜"] = "詵", + ["𩨉"] = "𩤲", + ["鲑"] = "鮭", + ["话"] = "話", + ["鲏"] = "鮍", + ["鲍"] = "鮑", + ["诞"] = "誕", + ["鲋"] = "鮒", + ["鲉"] = "鮋", + ["诟"] = "詬", + ["鲇"] = "鮎", + ["𩨂"] = "驄", + ["诠"] = "詮", + ["𩨁"] = "䮞", + ["𩨀"] = "騔", + ["诡"] = "詭", + ["𩧿"] = "䮠", + ["𩧼"] = "𩣺", + ["询"] = "詢", + ["𩧻"] = "𩣵", + ["𩧺"] = "駶", + ["诣"] = "詣", + ["𩧸"] = "𩣫", + ["𩧶"] = "𩣏", + ["诤"] = "諍", + ["𩧵"] = "𩢴", + ["𩧴"] = "駩", + ["该"] = "該", + ["𩧳"] = "𩢸", + ["𩧲"] = "駧", + ["详"] = "詳", + ["𩧱"] = "𩥉", + ["𩧰"] = "䮝", + ["诧"] = "詫", + ["𩧯"] = "驋", + ["𩧮"] = "𩢾", + ["诨"] = "諢", + ["𩧭"] = "䭿", + ["𩧬"] = "𩢡", + ["诩"] = "詡", + ["𩧫"] = "駚", + ["𩧪"] = "䮾", + ["诪"] = "譸", + ["𩧩"] = "𩤊", + ["𩧨"] = "駎", + ["诫"] = "誡", + ["𩧦"] = "𩡺", + ["𩡖"] = "𩡣", + ["诬"] = "誣", + ["𩠠"] = "𩠴", + ["𩠏"] = "𩞦", + ["语"] = "語", + ["𩠎"] = "𩞄", + ["𩠌"] = "餸", + ["诮"] = "誚", + ["𩠋"] = "𩝔", + ["𩠊"] = "𩜵", + ["误"] = "誤", + ["𩠉"] = "𩜇", + ["𩠈"] = "䭃", + ["诰"] = "誥", + ["𩠇"] = "䭀", + ["𩠆"] = "𩜦", + ["诱"] = "誘", + ["𩠅"] = "𩟐", + ["𩠃"] = "𩛩", + ["诲"] = "誨", + ["𩠂"] = "𩛆", + ["𩠁"] = "𩚵", + ["诳"] = "誑", + ["𩠀"] = "𩚥", + ["𩟿"] = "𩚛", + ["说"] = "說", + ["𩙰"] = "𩙈", + ["𩙯"] = "䬝", + ["诵"] = "誦", + ["𩙮"] = "䬘", + ["𩙭"] = "𩘝", + ["诶"] = "誒", + ["𩙬"] = "𩘺", + ["𩙫"] = "颾", + ["请"] = "請", + ["𩙪"] = "颷", + ["𩙩"] = "𩘀", + ["诸"] = "諸", + ["𩙨"] = "𩘹", + ["厩"] = "廄", + ["卷"] = "卷", + ["埚"] = "堝", + ["埙"] = "壎", + ["剧"] = "劇", + ["垴"] = "堖", + ["穷"] = "窮", + ["𩐀"] = "䪗", + ["𩏿"] = "䪘", + ["𩏾"] = "𩎢", + ["𩏽"] = "𩏪", + ["𩏼"] = "䪏", + ["𨸟"] = "䧢", + ["𨸘"] = "𨽏", + ["𫝫"] = "婡", + ["𨸌"] = "𨶮", + ["𨸋"] = "𨶲", + ["𫝬"] = "嬇", + ["铣"] = "銑", + ["铠"] = "鎧", + ["𫝭"] = "孆", + ["电"] = "電", + ["狝"] = "獮", + ["𫝮"] = "孄", + ["沣"] = "灃", + ["锛"] = "錛", + ["𫝵"] = "嶹", + ["馐"] = "饈", + ["锜"] = "錡", + ["𫞅"] = "𦠅", + ["馔"] = "饌", + ["锝"] = "鍀", + ["𨱕"] = "𨮂", + ["𨱔"] = "鐏", + ["锞"] = "錁", + ["𨱓"] = "鐎", + ["𨱒"] = "鏉", + ["锟"] = "錕", + ["𨱑"] = "鐄", + ["𨱐"] = "𨫒", + ["锠"] = "錩", + ["𨱏"] = "鎝", + ["𨱎"] = "鍮", + ["锡"] = "錫", + ["𨱍"] = "鎯", + ["𨱌"] = "鏆", + ["锢"] = "錮", + ["𨱋"] = "錂", + ["𨱊"] = "𨧱", + ["锣"] = "鑼", + ["𨱉"] = "鍄", + ["𨱈"] = "鋉", + ["锤"] = "錘", + ["𨱇"] = "銶", + ["𨱆"] = "龯", + ["锥"] = "錐", + ["𨱅"] = "鉁", + ["𨱄"] = "鈯", + ["锦"] = "錦", + ["𨱃"] = "鈲", + ["𨱂"] = "鈋", + ["锧"] = "鑕", + ["𨱁"] = "鈠", + ["𨱀"] = "𨥛", + ["锨"] = "鍁", + ["𨰿"] = "釳", + ["𨰾"] = "鎷", + ["锩"] = "錈", + ["𨤰"] = "𨤻", + ["𨡺"] = "𨣈", + ["锪"] = "鍃", + ["𨡙"] = "𨢿", + ["𨠨"] = "𨣧", + ["锫"] = "錇", + ["𨟳"] = "𨣞", + ["𨑹"] = "䢨", + ["锬"] = "錟", + ["𨐊"] = "𨏥", + ["𨐉"] = "𨎮", + ["锭"] = "錠", + ["𨐈"] = "輄", + ["𨐇"] = "𨏠", + ["键"] = "鍵", + ["𨐆"] = "𨊻", + ["𨐅"] = "軗", + ["锯"] = "鋸", + ["趋"] = "趨", + ["𨉗"] = "軉", + ["锰"] = "錳", + ["趱"] = "趲", + ["𨅬"] = "躝", + ["锱"] = "錙", + ["趸"] = "躉", + ["𨅫"] = "𨇞", + ["锲"] = "鍥", + ["跃"] = "躍", + ["𨅛"] = "䠱", + ["锳"] = "鍈", + ["跄"] = "蹌", + ["𨄄"] = "𨈌", + ["锹"] = "鍬", + ["跖"] = "蹠", + ["𨂺"] = "𨈊", + ["锺"] = "鍾", + ["跞"] = "躒", + ["锻"] = "鍛", + ["𨁴"] = "𨅍", + ["践"] = "踐", + ["锼"] = "鎪", + ["𨀱"] = "𨄣", + ["跶"] = "躂", + ["锽"] = "鍠", + ["𨀁"] = "躘", + ["跷"] = "蹺", + ["锾"] = "鍰", + ["𧿈"] = "𨇁", + ["跸"] = "蹕", + ["锿"] = "鎄", + ["𧹗"] = "贃", + ["跹"] = "躚", + ["镀"] = "鍍", + ["𧹖"] = "賟", + ["跻"] = "躋", + ["镁"] = "鎂", + ["𧹕"] = "䝻", + ["踌"] = "躊", + ["镂"] = "鏤", + ["鹱"] = "鸌", + ["踪"] = "蹤", + ["镃"] = "鎡", + ["鹳"] = "鸛", + ["踬"] = "躓", + ["镄"] = "鐨", + ["鹴"] = "鸘", + ["踯"] = "躑", + ["镅"] = "鎇", + ["鹾"] = "鹺", + ["蹑"] = "躡", + ["镆"] = "鏌", + ["麦"] = "麥", + ["蹒"] = "蹣", + ["镇"] = "鎮", + ["麸"] = "麩", + ["蹰"] = "躕", + ["镈"] = "鎛", + ["麹"] = "麴", + ["蹿"] = "躥", + ["镉"] = "鎘", + ["麺"] = "麪", + ["躏"] = "躪", + ["镊"] = "鑷", + ["麽"] = "麼", + ["躜"] = "躦", + ["镋"] = "钂", + ["镥"] = "鑥", + ["躯"] = "軀", + ["镌"] = "鐫", + ["镩"] = "鑹", + ["輼"] = "轀", + ["镍"] = "鎳", + ["镭"] = "鐳", + ["车"] = "車", + ["镎"] = "鎿", + ["阊"] = "閶", + ["轧"] = "軋", + ["镏"] = "鎦", + ["阎"] = "閻", + ["轨"] = "軌", + ["镐"] = "鎬", + ["阒"] = "闃", + ["轩"] = "軒", + ["镑"] = "鎊", + ["阖"] = "闔", + ["轪"] = "軑", + ["镒"] = "鎰", + ["鼌"] = "鼂", + ["轫"] = "軔", + ["镓"] = "鎵", + ["鼍"] = "鼉", + ["转"] = "轉", + ["镔"] = "鑌", + ["鼹"] = "鼴", + ["轭"] = "軛", + ["镕"] = "鎔", + ["齐"] = "齊", + ["轮"] = "輪", + ["镖"] = "鏢", + ["齑"] = "齏", + ["软"] = "軟", + ["镗"] = "鏜", + ["齿"] = "齒", + ["轰"] = "轟", + ["镘"] = "鏝", + ["攒"] = "攢", + ["轱"] = "軲", + ["镙"] = "鏍", + ["敌"] = "敵", + ["轲"] = "軻", + ["镚"] = "鏰", + ["敚"] = "敓", + ["轳"] = "轤", + ["镛"] = "鏞", + ["敛"] = "斂", + ["轴"] = "軸", + ["镜"] = "鏡", + ["敩"] = "斆", + ["轵"] = "軹", + ["镝"] = "鏑", + ["数"] = "數", + ["轶"] = "軼", + ["镞"] = "鏃", + ["斋"] = "齋", + ["轷"] = "軤", + ["镟"] = "鏇", + ["斓"] = "斕", + ["轸"] = "軫", + ["镠"] = "鏐", + ["斗"] = "鬥", + ["轹"] = "轢", + ["镡"] = "鐔", + ["斩"] = "斬", + ["轺"] = "軺", + ["镢"] = "钁", + ["断"] = "斷", + ["轻"] = "輕", + ["龀"] = "齔", + ["旋"] = "旋", + ["轼"] = "軾", + ["无"] = "無", + ["龁"] = "齕", + ["载"] = "載", + ["旧"] = "舊", + ["龂"] = "齗", + ["轾"] = "輊", + ["时"] = "時", + ["龃"] = "齟", + ["轿"] = "轎", + ["旷"] = "曠", + ["龄"] = "齡", + ["辀"] = "輈", + ["旸"] = "暘", + ["哒"] = "噠", + ["辁"] = "輇", + ["昆"] = "昆", + ["哓"] = "嘵", + ["辂"] = "輅", + ["龅"] = "齙", + ["哔"] = "嗶", + ["较"] = "較", + ["龆"] = "齠", + ["哕"] = "噦", + ["辄"] = "輒", + ["𦈞"] = "䌟", + ["哗"] = "譁", + ["辅"] = "輔", + ["𦈝"] = "繏", + ["哙"] = "噲", + ["辆"] = "輛", + ["𦈜"] = "䌖", + ["哜"] = "嚌", + ["辇"] = "輦", + ["𦈚"] = "縬", + ["哝"] = "噥", + ["辈"] = "輩", + ["𦈙"] = "䌰", + ["哟"] = "喲", + ["辉"] = "輝", + ["𦈘"] = "䌋", + ["唇"] = "脣", + ["辊"] = "輥", + ["𦈗"] = "𦃄", + ["唛"] = "嘜", + ["辋"] = "輞", + ["𦈖"] = "䌈", + ["唝"] = "嗊", + ["辌"] = "輬", + ["𦈕"] = "緰", + ["唠"] = "嘮", + ["辍"] = "輟", + ["𦈔"] = "縎", + ["唡"] = "啢", + ["辎"] = "輜", + ["𦈓"] = "䋿", + ["唢"] = "嗩", + ["辏"] = "輳", + ["𦈒"] = "𦂅", + ["唤"] = "喚", + ["辐"] = "輻", + ["𦈑"] = "緸", + ["啧"] = "嘖", + ["辑"] = "輯", + ["术"] = "術", + ["啬"] = "嗇", + ["辒"] = "轀", + ["朱"] = "朱", + ["啭"] = "囀", + ["荦"] = "犖", + ["𦈐"] = "縺", + ["辔"] = "轡", + ["荧"] = "熒", + ["觊"] = "覬", + ["辕"] = "轅", + ["荨"] = "蕁", + ["觋"] = "覡", + ["辖"] = "轄", + ["荩"] = "藎", + ["觌"] = "覿", + ["辗"] = "輾", + ["荪"] = "蓀", + ["觍"] = "覥", + ["辘"] = "轆", + ["荫"] = "蔭", + ["觎"] = "覦", + ["辙"] = "轍", + ["荬"] = "蕒", + ["觏"] = "覯", + ["辚"] = "轔", + ["驰"] = "馳", + ["觐"] = "覲", + ["𫜙"] = "䵴", + ["驱"] = "驅", + ["觑"] = "覷", + ["𫜟"] = "𪓰", + ["驲"] = "馹", + ["觞"] = "觴", + ["𫜨"] = "䶕", + ["驳"] = "駁", + ["𫭟"] = "塸", + ["𫜩"] = "齧", + ["驴"] = "驢", + ["𫜪"] = "齩", + ["𥺇"] = "𥽖", + ["驵"] = "駔", + ["𫜫"] = "𫜦", + ["𥐻"] = "碙", + ["驶"] = "駛", + ["𫜬"] = "齰", + ["𥐯"] = "𥖅", + ["驷"] = "駟", + ["𫜭"] = "齭", + ["𥎝"] = "䂎", + ["驸"] = "駙", + ["𫜮"] = "齴", + ["𥆧"] = "瞤", + ["驹"] = "駒", + ["𫜯"] = "𪙏", + ["𥅴"] = "䀹", + ["驺"] = "騶", + ["𫜰"] = "齾", + ["𥁢"] = "䀉", + ["驻"] = "駐", + ["𫜲"] = "龓", + ["𤾀"] = "皟", + ["驼"] = "駝", + ["𫜳"] = "䶲", + ["𣺼"] = "灙", + ["驽"] = "駑", + ["𫝈"] = "㑮", + ["𣷷"] = "𤅶", + ["驾"] = "駕", + ["𫝋"] = "𠐊", + ["𣶫"] = "𣿉", + ["驿"] = "驛", + ["𫝦"] = "㛝", + ["𣳆"] = "㵗", + ["骀"] = "駘", + ["𫝧"] = "㜐", + ["𣲗"] = "湋", + ["骁"] = "驍", + ["𫝨"] = "媈", + ["𣯣"] = "𣯩", + ["骂"] = "罵", + ["𫝩"] = "嬦", + ["𣨼"] = "殢", + ["骃"] = "駰", + ["𫝪"] = "𡟫", + ["𣚚"] = "欘", + ["骄"] = "驕", + ["𬊈"] = "燖", + ["𣘴"] = "檭", + ["骅"] = "驊", + ["𬊤"] = "燀", + ["𣘐"] = "㯤", + ["骆"] = "駱", + ["𬍛"] = "瓅", + ["𣗋"] = "欓", + ["骇"] = "駭", + ["𬍡"] = "璗", + ["𣔌"] = "樤", + ["骈"] = "駢", + ["𪼴"] = "𤬅", + ["𣒌"] = "楇", + ["骉"] = "驫", + ["𪽈"] = "畼", + ["𣐤"] = "欍", + ["骊"] = "驪", + ["𪽝"] = "𤳷", + ["𣏢"] = "槫", + ["䞌"] = "𧵳", + ["𪽪"] = "痮", + ["𣍰"] = "脥", + ["䞍"] = "䝼", + ["𪽭"] = "𤷃", + ["𣍨"] = "𦢈", + ["䞎"] = "𧶧", + ["𪽮"] = "㿖", + ["𣆐"] = "曥", + ["䞐"] = "賰", + ["𪽴"] = "𤺔", + ["𢽾"] = "斅", + ["䟢"] = "躎", + ["𪽷"] = "瘱", + ["𢬦"] = "𢹿", + ["䢀"] = "𨊰", + ["𪾔"] = "盨", + ["𢫬"] = "摋", + ["䢁"] = "𨊸", + ["𪾢"] = "睍", + ["𢫊"] = "𢷮", + ["䢂"] = "𨋢", + ["𪾣"] = "眝", + ["鳔"] = "鰾", + ["䥺"] = "釾", + ["𪾦"] = "矑", + ["驮"] = "馱", + ["䥽"] = "鏺", + ["𪾸"] = "矉", + ["骍"] = "騂", + ["䥾"] = "䥱", + ["𪿊"] = "𥏝", + ["骑"] = "騎", + ["䥿"] = "𨯅", + ["𪿞"] = "𥖲", + ["骕"] = "驌", + ["䦀"] = "𨦫", + ["𪿫"] = "礮", + ["骙"] = "騤", + ["䦁"] = "𨧜", + ["𪿵"] = "𥗇", + ["骝"] = "騮", + ["䦂"] = "䥇", + ["𫀌"] = "𥜰", + ["骣"] = "驏", + ["䦃"] = "鐯", + ["𫀓"] = "𥜐", + ["髋"] = "髖", + ["䦅"] = "鐥", + ["𫀨"] = "䅐", + ["鱼"] = "魚", + ["䦆"] = "钁", + ["鳚"] = "䲁", + ["鱿"] = "魷", + ["䦶"] = "䦛", + ["鳛"] = "鰼", + ["鲂"] = "魴", + ["䦷"] = "䦟", + ["鳜"] = "鱖", + ["鲅"] = "鮁", + ["䩄"] = "靦", + ["鳝"] = "鱔", + ["𩨃"] = "騝", + ["䭪"] = "𩞯", + ["鳞"] = "鱗", + ["𩨄"] = "騪", + ["䯃"] = "𩣑", + ["鳟"] = "鱒", + ["𩨅"] = "𩤸", + ["䯄"] = "騧", + ["鳠"] = "鱯", + ["𩨆"] = "𩤙", + ["䯅"] = "䯀", + ["鳡"] = "鱤", + ["𩨇"] = "䮫", + ["䲝"] = "䱽", + ["鳢"] = "鱧", + ["𩨈"] = "騟", + ["䲞"] = "𩶘", + ["鳣"] = "鱣", + ["蔺"] = "藺", + ["䲟"] = "鮣", + ["鳤"] = "䲘", + ["蔼"] = "藹", + ["䲠"] = "鰆", + ["鸟"] = "鳥", + ["蕰"] = "薀", + ["䲡"] = "鰌", + ["鸠"] = "鳩", + ["蕲"] = "蘄", + ["䲢"] = "鰧", + ["鸡"] = "雞", + ["蕴"] = "蘊", + ["䲣"] = "䱷", + ["鸢"] = "鳶", + ["薮"] = "藪", + ["䴓"] = "鳾", + ["鸣"] = "鳴", + ["藓"] = "蘚", + ["䴔"] = "鵁", + ["鸤"] = "鳲", + ["藴"] = "蘊", + ["䴕"] = "鴷", + ["蘖"] = "櫱", + ["𩩈"] = "䯤", + ["䴖"] = "鶄", + ["虏"] = "虜", + ["𩬣"] = "𩭙", + ["䴗"] = "鶪", + ["虑"] = "慮", + ["𩬤"] = "𩰀", + ["䴘"] = "鷉", + ["虚"] = "虛", + ["𩭹"] = "鬖", + ["䴙"] = "鸊", + ["虫"] = "蟲", + ["𩯒"] = "𩯳", + ["䶮"] = "龑", + ["虬"] = "虯", + ["𩰰"] = "𩰹", + ["万"] = "萬", + ["虮"] = "蟣", + ["𩲒"] = "𩳤", + ["与"] = "與", + ["虱"] = "蝨", + ["𩴌"] = "𩴵", + ["丑"] = "醜", + ["虽"] = "雖", + ["𩽹"] = "魥", + ["专"] = "專", + ["鸮"] = "鴞", + ["𩽺"] = "𩵩", + ["业"] = "業", + ["鸯"] = "鴦", + ["𩽻"] = "𩵹", + ["丛"] = "叢", + ["鸰"] = "鴒", + ["𩽼"] = "鯶", + ["东"] = "東", + ["邝"] = "鄺", + ["𩽽"] = "𩶱", + ["丝"] = "絲", + ["邬"] = "鄔", + ["𩽾"] = "鮟", + ["丢"] = "丟", + ["邮"] = "郵", + ["𩽿"] = "𩶰", + ["两"] = "兩", + ["邹"] = "鄒", + ["𩾁"] = "鯄", + ["严"] = "嚴", + ["邺"] = "鄴", + ["𩾂"] = "䲖", + ["丧"] = "喪", + ["邻"] = "鄰", + ["𩾃"] = "鮸", + ["个"] = "個", + ["郁"] = "鬱", + ["𩾄"] = "𩷰", + ["丰"] = "豐", + ["郏"] = "郟", + ["𩾅"] = "𩸃", + ["临"] = "臨", + ["郐"] = "鄶", + ["𩾆"] = "𩸦", + ["贼"] = "賊", + ["郑"] = "鄭", + ["𩾇"] = "鯱", + ["贽"] = "贄", + ["郓"] = "鄆", + ["𩾈"] = "䱙", + ["贾"] = "賈", + ["郦"] = "酈", + ["𩾊"] = "䱬", + ["贿"] = "賄", + ["郧"] = "鄖", + ["𩾋"] = "䱰", + ["赀"] = "貲", + ["郸"] = "鄲", + ["𩾌"] = "鱇", + ["赁"] = "賃", + ["酂"] = "酇", + ["𩾎"] = "𩽇", + ["赂"] = "賂", + ["酝"] = "醞", + ["𪉂"] = "䲰", + ["赃"] = "贓", + ["酦"] = "醱", + ["𪉃"] = "鳼", + ["资"] = "資", + ["酱"] = "醬", + ["𪉄"] = "𩿪", + ["赅"] = "賅", + ["酸"] = "酸", + ["𪉅"] = "𪀦", + ["赆"] = "贐", + ["鸦"] = "鴉", + ["𪉆"] = "鴲", + ["赇"] = "賕", + ["鸪"] = "鴣", + ["𪉈"] = "鴜", + ["赈"] = "賑", + ["鸱"] = "鴟", + ["𪉉"] = "𪁈", + ["赉"] = "賚", + ["鸵"] = "鴕", + ["采"] = "採", + ["赊"] = "賒", + ["龈"] = "齦", + ["释"] = "釋", + ["赋"] = "賦", + ["龇"] = "齜", + ["里"] = "裏", + ["赌"] = "賭", + ["𦈟"] = "䌝", + ["鉴"] = "鑑", + ["赍"] = "齎", + ["𦈠"] = "䌥", + ["銮"] = "鑾", + ["赎"] = "贖", + ["𦈡"] = "繻", + ["錾"] = "鏨", + ["赏"] = "賞", + ["𦍠"] = "䍽", + ["钅"] = "釒", + ["赐"] = "賜", + ["𦛨"] = "朥", + ["钆"] = "釓", + ["赑"] = "贔", + ["𦝼"] = "膢", + ["钇"] = "釔", + ["赒"] = "賙", + ["𦟗"] = "𦣎", + ["针"] = "針", + ["赓"] = "賡", + ["𦨩"] = "𦪽", + ["钉"] = "釘", + ["赔"] = "賠", + ["𦰏"] = "蓧", + ["钊"] = "釗", + ["赕"] = "賧", + ["𦰴"] = "䕳", + ["钋"] = "釙", + ["赖"] = "賴", + ["𦶟"] = "爇", + ["钌"] = "釕", + ["赗"] = "賵", + ["𦶻"] = "𦾟", + ["钍"] = "釷", + ["赘"] = "贅", + ["𦻕"] = "蘟", + ["钎"] = "釺", + ["赙"] = "賻", + ["𧉐"] = "𧕟", + ["钏"] = "釧", + ["赚"] = "賺", + ["𧉞"] = "䗿", + ["钐"] = "釤", + ["赛"] = "賽", + ["𧌥"] = "𧎈", + ["钑"] = "鈒", + ["赜"] = "賾", + ["𧏖"] = "蠙", + ["钒"] = "釩", + ["赝"] = "贗", + ["𧏗"] = "蠀", + ["钓"] = "釣", + ["赞"] = "贊", + ["𧑏"] = "蠾", + ["钔"] = "鍆", + ["赟"] = "贇", + ["𧒭"] = "𧔥", + ["钕"] = "釹", + ["赠"] = "贈", + ["𧜭"] = "䙱", + ["钖"] = "鍚", + ["赡"] = "贍", + ["𧝝"] = "襰", + ["钗"] = "釵", + ["赢"] = "贏", + ["𧝧"] = "𧟀", + ["钘"] = "鈃", + ["赣"] = "贛", + ["𧮪"] = "詀", + ["钙"] = "鈣", + ["赪"] = "赬", + ["𧳕"] = "𧳟", + ["钚"] = "鈈", + ["赵"] = "趙", + ["𧹑"] = "䞈", + ["钛"] = "鈦", + ["赶"] = "趕", + ["𧹒"] = "買", + ["钜"] = "鉅", + ["𧹓"] = "𧶔", + ["鹲"] = "鸏", + ["钝"] = "鈍", + ["𧹔"] = "賬", + ["鹰"] = "鷹", + ["钞"] = "鈔", + ["鹯"] = "鸇", + ["鹮"] = "䴉", + ["钟"] = "鍾", + ["鹭"] = "鷺", + ["鹬"] = "鷸", + ["钠"] = "鈉", + ["鹫"] = "鷲", + ["鹪"] = "鷦", + ["钡"] = "鋇", + ["鹩"] = "鷯", + ["鹨"] = "鷚", + ["钢"] = "鋼", + ["鹧"] = "鷓", + ["鹦"] = "鸚", + ["钣"] = "鈑", + ["鹥"] = "鷖", + ["鹤"] = "鶴", + ["钤"] = "鈐", + ["鹣"] = "鶼", + ["鹢"] = "鷁", + ["钥"] = "鑰", + ["鹡"] = "鶺", + ["鹠"] = "鶹", + ["钦"] = "欽", + ["鹟"] = "鶲", + ["鹞"] = "鷂", + ["辞"] = "辭", + ["鹝"] = "鷊", + ["鹜"] = "鶩", + ["辟"] = "闢", + ["鹛"] = "鶥", + ["骞"] = "騫", + ["辩"] = "辯", + ["骡"] = "騾", + ["骤"] = "驟", + ["辫"] = "辮", + ["骧"] = "驤", + ["髌"] = "髕", + ["边"] = "邊", + ["魇"] = "魘", + ["鱽"] = "魛", + ["辽"] = "遼", + ["鲀"] = "魨", + ["鲃"] = "䰾", + ["达"] = "達", + ["鲆"] = "鮃", + ["鲈"] = "鱸", + ["迁"] = "遷", + ["鲊"] = "鮓", + ["鲌"] = "鮊", + ["过"] = "過", + ["鲎"] = "鱟", + ["鲐"] = "鮐", + ["迈"] = "邁", + ["鲒"] = "鮚", + ["鲔"] = "鮪", + ["运"] = "運", + ["鲖"] = "鮦", + ["颤"] = "顫", + ["还"] = "還", + ["鲘"] = "鮜", + ["颥"] = "顬", + ["这"] = "這", + ["鲚"] = "鱭", + ["颦"] = "顰", + ["进"] = "進", + ["鲜"] = "鮮", + ["颧"] = "顴", + ["远"] = "遠", + ["鲞"] = "鯗", + ["风"] = "風", + ["违"] = "違", + ["鲠"] = "鯁", + ["飏"] = "颺", + ["连"] = "連", + ["鹃"] = "鵑", + ["飐"] = "颭", + ["迟"] = "遲", + ["鹂"] = "鸝", + ["飑"] = "颮", + ["迩"] = "邇", + ["鹁"] = "鵓", + ["飒"] = "颯", + ["迳"] = "逕", + ["鹀"] = "鵐", + ["飓"] = "颶", + ["迹"] = "跡", + ["鸿"] = "鴻", + ["飔"] = "颸", + ["适"] = "適", + ["鸾"] = "鸞", + ["飕"] = "颼", + ["选"] = "選", + ["鸽"] = "鴿", + ["飖"] = "颻", + ["逊"] = "遜", + ["鸼"] = "鵃", + ["飗"] = "飀", + ["递"] = "遞", + ["鸻"] = "鴴", + ["飘"] = "飄", + ["逦"] = "邐", + ["鸺"] = "鵂", + ["飙"] = "飆", + ["逻"] = "邏", + ["鸹"] = "鴰", + ["飚"] = "飈", + ["遗"] = "遺", + ["鸸"] = "鴯", + ["飞"] = "飛", + ["遥"] = "遙", + ["鸷"] = "鷙", + ["飨"] = "饗", + ["邓"] = "鄧", + ["鸶"] = "鷥", + ["餍"] = "饜", + ["龉"] = "齬", + ["鸴"] = "鷽", + ["饣"] = "飠", + ["龊"] = "齪", + ["鸲"] = "鴝", + ["饤"] = "飣", + ["龋"] = "齲", + ["鸭"] = "鴨", + ["饥"] = "飢", + ["龌"] = "齷", + ["鸫"] = "鶇", + ["饦"] = "飥", + ["龙"] = "龍", + ["鸩"] = "鴆", + ["饧"] = "餳", + ["龚"] = "龔", + ["鸧"] = "鶬", + ["饨"] = "飩", + ["龛"] = "龕", + ["鸥"] = "鷗", + ["饩"] = "餼", + ["龟"] = "龜", + ["鳘"] = "鰵", + ["饪"] = "飪", + ["鿎"] = "䃮", + ["鳖"] = "鱉", + ["饫"] = "飫", + ["鿏"] = "䥑", + ["𢢐"] = "𤢻", + ["饬"] = "飭", + ["鿒"] = "鿓", + ["𢧐"] = "戰", + ["饭"] = "飯", + ["鿔"] = "鎶", + ["鳐"] = "鰩", + ["饮"] = "飲", + ["𠀾"] = "𠁞", + ["鳎"] = "鰨", + ["饯"] = "餞", + ["𠆲"] = "儣", + ["鳌"] = "鰲", + ["饰"] = "飾", + ["𠆿"] = "𠌥", + ["鳊"] = "鯿", + ["饱"] = "飽", + ["𠇹"] = "俓", + ["鳈"] = "鰁", + ["饲"] = "飼", + ["𠉂"] = "㒓", + ["鳆"] = "鰒", + ["饳"] = "飿", + ["𠉗"] = "𠏢", + ["鳄"] = "鱷", + ["饴"] = "飴", + ["𠋆"] = "儭", + ["鳂"] = "鰃", + ["饵"] = "餌", + ["𠚳"] = "𠠎", + ["鳀"] = "鯷", + ["饶"] = "饒", + ["𠛅"] = "剾", + ["鲴"] = "鯝", + ["饷"] = "餉", + ["𠛆"] = "𠞆", + ["鲲"] = "鯤", + ["饸"] = "餄", + ["𠛾"] = "𪟖", + ["鲰"] = "鯫", + ["饹"] = "餎", + ["𠡠"] = "勑", + ["鲮"] = "鯪", + ["饺"] = "餃", + ["𠮶"] = "嗰", + ["鲬"] = "鯒", + ["饻"] = "餏", + ["𠯟"] = "哯", + ["鲪"] = "鮶", + ["饼"] = "餅", + ["𠯠"] = "噅", + ["鲨"] = "鯊", + ["饽"] = "餑", + ["𠰱"] = "㘉", + ["鲦"] = "鰷", + ["饾"] = "餖", + ["𠰷"] = "嚧", + ["鲤"] = "鯉", + ["饿"] = "餓", + ["𠱞"] = "囃", + ["鲢"] = "鰱", + ["馀"] = "餘", + ["𠲥"] = "𡅏", + ["馁"] = "餒", + ["鹄"] = "鵠", + ["𠴛"] = "𡃕", + ["馂"] = "餕", + ["鹅"] = "鵝", + ["𠴢"] = "𡄔", + ["馃"] = "餜", + ["鹆"] = "鵒", + ["𠵸"] = "𡄣", + ["馄"] = "餛", + ["鹇"] = "鷳", + ["𠵾"] = "㗲", + ["馅"] = "餡", + ["鹈"] = "鵜", + ["𡋀"] = "𡓾", + ["馆"] = "館", + ["鹉"] = "鵡", + ["𡋗"] = "𡑭", + ["馇"] = "餷", + ["鹊"] = "鵲", + ["𡋤"] = "壗", + ["馈"] = "饋", + ["鹋"] = "鶓", + ["𡍣"] = "𡔖", + ["馉"] = "餶", + ["鹌"] = "鵪", + ["𡒄"] = "壈", + ["馊"] = "餿", + ["鹍"] = "鵾", + ["𡝠"] = "㜷", + ["馋"] = "饞", + ["鹎"] = "鵯", + ["𡞋"] = "㜗", + ["馌"] = "饁", + ["鹏"] = "鵬", + ["𡞱"] = "㜢", + ["馍"] = "饃", + ["鹐"] = "鵮", + ["𡠟"] = "孎", + ["馎"] = "餺", + ["鹑"] = "鶉", + ["𡥧"] = "孻", + ["鲄"] = "魺", + ["鹒"] = "鶊", + ["𡭜"] = "𡮉", + ["鲁"] = "魯", + ["鹓"] = "鵷", + ["𡭬"] = "𡮣", + ["鱾"] = "魢", + ["鹔"] = "鷫", + ["𡳃"] = "𡳳", + ["魉"] = "魎", + ["鹕"] = "鶘", + ["𡳒"] = "𦘧", + ["鬓"] = "鬢", + ["鹖"] = "鶡", + ["𡶴"] = "嵼", + ["髅"] = "髏", + ["鹗"] = "鶚", + ["𡸃"] = "𡽗", + ["骥"] = "驥", + ["鹘"] = "鶻", + ["𡺃"] = "嶈", + ["骢"] = "驄", + ["鹙"] = "鶖", + ["𡺄"] = "嶘", + ["骟"] = "騸", + ["鹚"] = "鷀", + ["𢋈"] = "㢝", + ["骜"] = "驁", + ["㚯"] = "㜄", + ["𢗓"] = "㦛", + ["骚"] = "騷", + ["㛀"] = "媰", + ["𢘙"] = "𢤱", + ["骘"] = "騭", + ["㛟"] = "𡞵", + ["𢘝"] = "𢣚", + ["骖"] = "驂", + ["㛠"] = "𡢃", + ["𢘞"] = "𢣭", + ["骔"] = "騌", + ["㛣"] = "㜏", + ["𢙏"] = "愻", + ["骒"] = "騍", + ["㛤"] = "孋", + ["𢙐"] = "憹", + ["骐"] = "騏", + ["㛿"] = "𡠹", + ["𢙑"] = "𢠼", + ["骎"] = "駸", + ["㟆"] = "㠏", + ["𢙒"] = "憢", + ["验"] = "驗", + ["㟜"] = "𡾱", + ["𢙓"] = "懀", + ["驯"] = "馴", + ["㟥"] = "嵾", + ["𢛯"] = "㦎", + ["驭"] = "馭", + ["㡎"] = "幓", + ["𢠁"] = "懎", + ["馕"] = "饢", + ["㤘"] = "㥮", + ["𨱖"] = "䥩", + ["馓"] = "饊", + ["㤽"] = "懤", + ["𨷿"] = "䦳", + ["馑"] = "饉", + ["㥪"] = "慺", + ["𨸀"] = "𨳕", + ["馏"] = "餾", + ["㧏"] = "掆", + ["𨸁"] = "𨳑", + ["从"] = "從", + ["㧐"] = "㩳", + ["𨸂"] = "閍", + ["炝"] = "熗", + ["㧑"] = "撝", + ["𨸃"] = "閐", + ["状"] = "狀", + ["㧟"] = "擓", + ["𨸄"] = "䦘", + ["狭"] = "狹", + ["㧰"] = "擽", + ["𨸅"] = "𨴗", + ["家"] = "家", + ["㨫"] = "㩜", + ["𨸆"] = "𨵩", + ["铝"] = "鋁", + ["㭎"] = "棡", + ["𨸇"] = "𨵸", + ["岗"] = "崗", + ["㭏"] = "椲", + ["𨸉"] = "𨶀", + ["铦"] = "銛", + ["㭣"] = "𣙎", + ["𨸊"] = "𨶏", + ["铟"] = "銦", + ["㭤"] = "樢", + ["铙"] = "鐃", + ["璎"] = "瓔", + ["㭴"] = "樫", + ["狈"] = "狽", + ["烃"] = "烴", + ["㱩"] = "殰", + ["溃"] = "潰", + ["掷"] = "擲", + ["㱮"] = "殨", + ["钵"] = "鉢", + ["钯"] = "鈀", + ["㲿"] = "瀇", + ["钩"] = "鉤", + ["酽"] = "釅", + ["㳔"] = "濧", + ["锔"] = "鋦", + ["锖"] = "錆", + ["㳕"] = "灡", + ["锘"] = "鍩", + ["锚"] = "錨", + ["㳠"] = "澾", + ["锵"] = "鏘", + ["锷"] = "鍔", + ["㳡"] = "濄", + ["镣"] = "鐐", + ["黄"] = "黃", + ["㳢"] = "𣾷", + ["镧"] = "鑭", + ["黉"] = "黌", + ["㳽"] = "瀰", + ["镫"] = "鐙", + ["黡"] = "黶", + ["㴋"] = "潚", + ["阈"] = "閾", + ["黩"] = "黷", + ["㶉"] = "鸂", + ["阌"] = "閿", + ["黪"] = "黲", + ["㶶"] = "燶", + ["阐"] = "闡", + ["黾"] = "黽", + ["㶽"] = "煱", + ["阔"] = "闊", + ["鼋"] = "黿", + ["㺍"] = "獱", + ["阘"] = "闒", + ["绬"] = "緓", + ["㻅"] = "璯", + ["阚"] = "闞", + ["续"] = "續", + ["㻏"] = "𤫩", + ["队"] = "隊", + ["绮"] = "綺", + ["㻘"] = "𤪺", + ["阴"] = "陰", + ["绯"] = "緋", + ["䀥"] = "䁻", + ["阶"] = "階", + ["绰"] = "綽", + ["䁖"] = "瞜", + ["陆"] = "陸", + ["绱"] = "鞝", + ["䂵"] = "碽", + ["陈"] = "陳", + ["绲"] = "緄", + ["䃅"] = "磾", + ["陕"] = "陝", + ["绳"] = "繩", + ["䅉"] = "稏", + ["陧"] = "隉", + ["维"] = "維", + ["䅟"] = "穇", + ["险"] = "險", + ["绵"] = "綿", + ["䅪"] = "𥢢", + ["隐"] = "隱", + ["绶"] = "綬", + ["䇲"] = "筴", + ["隽"] = "雋", + ["绷"] = "繃", + ["䉤"] = "籔", + ["靥"] = "靨", + ["绸"] = "綢", + ["䌶"] = "䊷", + ["面"] = "面", + ["绹"] = "綯", + ["䌷"] = "紬", + ["静"] = "靜", + ["绺"] = "綹", + ["䌸"] = "縳", + ["靔"] = "靝", + ["绻"] = "綣", + ["䌹"] = "絅", + ["靓"] = "靚", + ["综"] = "綜", + ["䌺"] = "䋙", + ["雕"] = "雕", + ["绽"] = "綻", + ["䌻"] = "䋚", + ["雏"] = "雛", + ["绾"] = "綰", + ["触"] = "觸", + ["雇"] = "僱", + ["绿"] = "綠", + ["觯"] = "觶", + ["难"] = "難", + ["鞑"] = "韃", + ["訚"] = "誾", + ["隶"] = "隸", + ["鞒"] = "鞽", + ["䌿"] = "䋹", + ["随"] = "隨", + ["鞯"] = "韉", + ["䍀"] = "繿", + ["陨"] = "隕", + ["鞲"] = "韝", + ["䍁"] = "繸", + ["陦"] = "隯", + ["韦"] = "韋", + ["䍠"] = "䍦", + ["陉"] = "陘", + ["韧"] = "韌", + ["䎬"] = "䎱", + ["陇"] = "隴", + ["韨"] = "韍", + ["䏝"] = "膞", + ["际"] = "際", + ["韩"] = "韓", + ["䑽"] = "𦪙", + ["阵"] = "陣", + ["韪"] = "韙", + ["䓓"] = "薵", + ["阳"] = "陽", + ["韫"] = "韞", + ["䓕"] = "薳", + ["阛"] = "闤", + ["韬"] = "韜", + ["䓖"] = "藭", + ["阙"] = "闕", + ["韵"] = "韻", + ["䓨"] = "罃", + ["阗"] = "闐", + ["页"] = "頁", + ["䗖"] = "螮", + ["阕"] = "闋", + ["顶"] = "頂", + ["䘛"] = "𧝞", + ["阓"] = "闠", + ["顷"] = "頃", + ["䘞"] = "𧜗", + ["阑"] = "闌", + ["顸"] = "頇", + ["䙊"] = "𧜵", + ["阏"] = "閼", + ["项"] = "項", + ["䙌"] = "䙡", + ["阍"] = "閽", + ["顺"] = "順", + ["䙓"] = "襬", + ["阋"] = "鬩", + ["须"] = "須", + ["䜣"] = "訢", + ["阉"] = "閹", + ["顼"] = "頊", + ["䜤"] = "鿁", + ["镮"] = "鐶", + ["顽"] = "頑", + ["䜥"] = "𧩙", + ["镬"] = "鑊", + ["顾"] = "顧", + ["䜧"] = "䜀", + ["镪"] = "鏹", + ["顿"] = "頓", + ["䜩"] = "讌", + ["镨"] = "鐠", + ["颀"] = "頎", + ["䝙"] = "貙", + ["镦"] = "鐓", + ["颁"] = "頒", + ["铨"] = "銓", + ["镤"] = "鏷", + ["颂"] = "頌", + ["铩"] = "鎩", + ["锸"] = "鍤", + ["颃"] = "頏", + ["铪"] = "鉿", + ["锶"] = "鍶", + ["预"] = "預", + ["铫"] = "銚", + ["锴"] = "鍇", + ["颅"] = "顱", + ["铬"] = "鉻", + ["错"] = "錯", + ["领"] = "領", + ["铭"] = "銘", + ["锗"] = "鍺", + ["颇"] = "頗", + ["铮"] = "錚", + ["锕"] = "錒", + ["颈"] = "頸", + ["铯"] = "銫", + ["锓"] = "鋟", + ["颉"] = "頡", + ["铰"] = "鉸", + ["醖"] = "醞", + ["颊"] = "頰", + ["铱"] = "銥", + ["钬"] = "鈥", + ["颋"] = "頲", + ["铲"] = "鏟", + ["钲"] = "鉦", + ["颌"] = "頜", + ["铳"] = "銃", + ["传"] = "傳", + ["颍"] = "潁", + ["铴"] = "鐋", + ["背"] = "背", + ["颎"] = "熲", + ["铵"] = "銨", + ["灯"] = "燈", + ["颏"] = "頦", + ["银"] = "銀", + ["牺"] = "犧", + ["颐"] = "頤", + ["铷"] = "銣", + ["独"] = "獨", + ["频"] = "頻", + ["铸"] = "鑄", + ["疡"] = "瘍", + ["颒"] = "頮", + ["铹"] = "鐒", + ["铜"] = "銅", + ["颓"] = "頹", + ["铺"] = "鋪", + ["铢"] = "銖", + ["颔"] = "頷", + ["铻"] = "鋙", + ["铧"] = "鏵", + ["颕"] = "頴", + ["铼"] = "錸", + ["铤"] = "鋌", + ["颖"] = "穎", + ["铽"] = "鋱", + ["铡"] = "鍘", + ["颗"] = "顆", + ["链"] = "鏈", + ["铞"] = "銱", + ["题"] = "題", + ["铿"] = "鏗", + ["铛"] = "鐺", + ["颙"] = "顒", + ["销"] = "銷", + ["铘"] = "鋣", + ["颚"] = "顎", + ["锁"] = "鎖", + ["疖"] = "癤", + ["颛"] = "顓", + ["锂"] = "鋰", + ["狯"] = "獪", + ["颜"] = "顏", + ["锃"] = "鋥", + ["狞"] = "獰", + ["额"] = "額", + ["锄"] = "鋤", + ["犸"] = "獁", + ["颞"] = "顳", + ["锅"] = "鍋", + ["铉"] = "鉉", + ["颟"] = "顢", + ["锆"] = "鋯", + ["纪"] = "紀", + ["颠"] = "顛", + ["锇"] = "鋨", + ["滞"] = "滯", + ["颡"] = "顙", + ["锈"] = "鏽", + ["沦"] = "淪", + ["颢"] = "顥", + ["锉"] = "銼", + ["泛"] = "泛", + ["颣"] = "纇", + ["锊"] = "鋝", + ["掴"] = "摑", + ["掼"] = "摜", + ["锋"] = "鋒", + ["沾"] = "沾", + ["钶"] = "鈳", + ["锌"] = "鋅", + ["钴"] = "鈷", + ["钳"] = "鉗", + ["锍"] = "鋶", + ["钱"] = "錢", + ["钰"] = "鈺", + ["锎"] = "鐦", + ["钮"] = "鈕", + ["钭"] = "鈄", + ["锏"] = "鐧", + ["钫"] = "鈁", + ["钪"] = "鈧", + ["锐"] = "銳", + ["钨"] = "鎢", + ["钧"] = "鈞", + ["锑"] = "銻", + ["酿"] = "釀", + ["酾"] = "釃", + ["锒"] = "鋃", + ["伞"] = "傘", + ["挽"] = "挽", + ["缀"] = "綴", + ["费"] = "費", + ["图"] = "圖", + ["缁"] = "緇", + ["监"] = "監", + ["堑"] = "塹", + ["缂"] = "緙", + ["贵"] = "貴", + ["头"] = "頭", + ["缃"] = "緗", + ["贲"] = "賁", + ["贯"] = "貫", + ["缄"] = "緘", + ["贮"] = "貯", + ["贬"] = "貶", + ["缅"] = "緬", + ["贫"] = "貧", + ["扎"] = "扎", + ["缆"] = "纜", + ["谘"] = "諮", + ["贸"] = "貿", + ["缇"] = "緹", + ["摄"] = "攝", + ["柠"] = "檸", + ["缈"] = "緲", + ["啯"] = "嘓", + ["滦"] = "灤", + ["缉"] = "緝", + ["机"] = "機", + ["啮"] = "齧", + ["缊"] = "縕", + ["吕"] = "呂", + ["缋"] = "繢", + ["朴"] = "樸", + ["䌽"] = "綵", + ["缌"] = "緦", + ["䌾"] = "䋻", + ["寝"] = "寢", + ["缍"] = "綞", + ["厅"] = "廳", + ["曲"] = "曲", + ["缎"] = "緞", + ["呐"] = "吶", + ["聍"] = "聹", + ["缏"] = "緶", + ["暧"] = "曖", + ["卜"] = "卜", + ["缐"] = "線", + ["暗"] = "暗", + ["缑"] = "緱", + ["耸"] = "聳", + ["宽"] = "寬", + ["缒"] = "縋", + ["暅"] = "𣈶", + ["疠"] = "癘", + ["缓"] = "緩", + ["对"] = "對", + ["暂"] = "暫", + ["缔"] = "締", + ["㐷"] = "傌", + ["寿"] = "壽", + ["缕"] = "縷", + ["晖"] = "暉", + ["紧"] = "緊", + ["编"] = "編", + ["将"] = "將", + ["晕"] = "暈", + ["缗"] = "緡", + ["冈"] = "岡", + ["尔"] = "爾", + ["缘"] = "緣", + ["晔"] = "曄", + ["犷"] = "獷", + ["缙"] = "縉", + ["掸"] = "撣", + ["晓"] = "曉", + ["缚"] = "縛", + ["牵"] = "牽", + ["尝"] = "嘗", + ["缛"] = "縟", + ["晒"] = "曬", + ["㑔"] = "㑯", + ["缜"] = "縝", + ["挣"] = "掙", + ["晋"] = "晉", + ["缝"] = "縫", + ["㓆"] = "𠗣", + ["显"] = "顯", + ["缞"] = "縗", + ["练"] = "練", + ["挞"] = "撻", + ["缟"] = "縞", + ["昽"] = "曨", + ["组"] = "組", + ["缠"] = "纏", + ["昼"] = "晝", + ["挜"] = "掗", + ["缡"] = "縭", + ["昵"] = "暱", + ["挛"] = "攣", + ["缢"] = "縊", + ["昙"] = "曇", + ["纹"] = "紋", + ["缣"] = "縑", + ["犊"] = "犢", + ["余"] = "餘", + ["缤"] = "繽", + ["縆"] = "緪", + ["周"] = "周", + ["缥"] = "縹", + ["狲"] = "猻", + ["扫"] = "掃", + ["缦"] = "縵", + ["画"] = "畫", + ["执"] = "執", + ["缧"] = "縲", + ["扪"] = "捫", + ["㐹"] = "㑶", + ["缨"] = "纓", + ["畴"] = "疇", + ["疬"] = "癧", + ["缩"] = "縮", + ["耻"] = "恥", + ["吓"] = "嚇", + ["缪"] = "繆", + ["为"] = "爲", + ["剐"] = "剮", + ["缫"] = "繅", + ["丽"] = "麗", + ["荥"] = "滎", + ["缬"] = "纈", + ["举"] = "舉", + ["掳"] = "擄", + ["缭"] = "繚", + ["么"] = "麼", + ["导"] = "導", + ["缮"] = "繕", + ["义"] = "義", + ["尘"] = "塵", + ["缯"] = "繒", + ["乌"] = "烏", + ["圹"] = "壙", + ["缰"] = "繮", + ["乐"] = "樂", + ["挟"] = "挾", + ["缱"] = "繾", + ["乔"] = "喬", + ["升"] = "升", + ["缲"] = "繰", + ["习"] = "習", + ["纾"] = "紓", + ["协"] = "協", + ["乡"] = "鄉", + ["则"] = "則", + ["伤"] = "傷", + ["书"] = "書", + ["刚"] = "剛", + ["窦"] = "竇", + ["买"] = "買", + ["创"] = "創", + ["呓"] = "囈", + ["乱"] = "亂", + ["删"] = "刪", + ["坝"] = "壩", + ["了"] = "了", + ["别"] = "別", + ["争"] = "爭", + ["挠"] = "撓", + ["刬"] = "剗", + ["于"] = "於", + ["挡"] = "擋", + ["刭"] = "剄", + ["亏"] = "虧", + ["挢"] = "撟", + ["刮"] = "刮", + ["云"] = "雲", + ["制"] = "制", + ["扩"] = "擴", + ["亘"] = "亙", + ["挤"] = "擠", + ["吁"] = "籲", + ["刽"] = "劊", + ["挥"] = "揮", + ["叶"] = "葉", + ["产"] = "產", + ["挦"] = "撏", + ["垄"] = "壟", + ["亩"] = "畝", + ["挨"] = "挨", + ["吃"] = "喫", + ["亲"] = "親", + ["呒"] = "嘸", + ["捝"] = "挩", + ["亵"] = "褻", + ["合"] = "合", + ["捞"] = "撈", + ["亸"] = "嚲", + ["垆"] = "壚", + ["损"] = "損", + ["亿"] = "億", + ["剂"] = "劑", + ["捡"] = "撿", + ["剥"] = "剝", + ["后"] = "後", + ["换"] = "換", + ["仆"] = "僕", + ["垦"] = "墾", + ["捣"] = "搗", + ["劝"] = "勸", + ["伙"] = "夥", + ["据"] = "據", + ["办"] = "辦", + ["垩"] = "堊", + ["仑"] = "侖", + ["务"] = "務", + ["历"] = "歷", + ["仓"] = "倉", + ["劢"] = "勱", + ["垫"] = "墊", + ["仪"] = "儀", + ["动"] = "動", + ["厉"] = "厲", + ["们"] = "們", + ["励"] = "勵", + ["伣"] = "俔", + ["掺"] = "摻", + ["劲"] = "勁", + ["窎"] = "窵", + ["仿"] = "仿", + ["劳"] = "勞", + ["众"] = "衆", + ["困"] = "困", + ["势"] = "勢", + ["囱"] = "囪", + ["揾"] = "搵", + ["勋"] = "勳", + ["围"] = "圍", + ["揿"] = "撳", + ["勚"] = "勩", + ["会"] = "會", + ["搀"] = "攙", + ["匀"] = "勻", + ["国"] = "國", + ["搁"] = "擱", + ["匦"] = "匭", + ["苔"] = "苔", + ["搂"] = "摟", + ["匮"] = "匱", + ["圆"] = "圓", + ["苹"] = "蘋", + ["区"] = "區", + ["圣"] = "聖", + ["范"] = "範", + ["医"] = "醫", + ["伡"] = "俥", + ["茎"] = "莖", + ["千"] = "千", + ["携"] = "攜", + ["茏"] = "蘢", + ["吨"] = "噸", + ["坏"] = "壞", + ["茑"] = "蔦", + ["彨"] = "彲", + ["块"] = "塊", + ["茔"] = "塋", + ["垱"] = "壋", + ["单"] = "單", + ["茕"] = "煢", + ["窃"] = "竊", + ["湾"] = "灣", + ["茧"] = "繭", + ["搄"] = "揯", + ["伪"] = "僞", + ["荆"] = "荊", + ["占"] = "佔", + ["溁"] = "濚", + ["荐"] = "薦", + ["卢"] = "盧", + ["坞"] = "塢", + ["荙"] = "薘", + ["卤"] = "滷", + ["溅"] = "濺", + ["荚"] = "莢", + ["卧"] = "臥", + ["坠"] = "墜", + ["荛"] = "蕘", + ["佣"] = "傭", + ["溇"] = "漊", + ["荜"] = "蓽", + ["却"] = "卻", + ["垅"] = "壠", + ["荝"] = "萴", + ["侠"] = "俠", + ["滚"] = "滾", + ["荞"] = "蕎", + ["同"] = "同", + ["垒"] = "壘", + ["荟"] = "薈", + ["侥"] = "僥", + ["滟"] = "灩", + ["荠"] = "薺", + ["侦"] = "偵", + ["滠"] = "灄", + ["荡"] = "蕩", + ["侧"] = "側", + ["满"] = "滿", + ["荣"] = "榮", + ["侨"] = "僑", + ["滢"] = "瀅", + ["压"] = "壓", + ["𩓋"] = "顂", + ["垯"] = "墶", + ["厌"] = "厭", + ["𩖕"] = "𩓣", + ["滥"] = "濫", + ["厍"] = "厙", + ["𩖖"] = "顃", + ["启"] = "啓", + ["厐"] = "龎", + ["𩖗"] = "䫴", + ["吴"] = "吳", + ["厕"] = "廁", + ["𩙥"] = "颰", + ["滩"] = "灘", + ["厘"] = "釐", + ["𩙦"] = "𩗀", + ["滪"] = "澦", + ["厢"] = "廂", + ["𩙧"] = "䬞", + ["漓"] = "漓", + ["厣"] = "厴", + ["潆"] = "瀠", + ["呕"] = "嘔", + ["厦"] = "廈", + ["潇"] = "瀟", + ["堕"] = "墮", + ["厨"] = "廚", + ["潋"] = "瀲", + ["塆"] = "壪", + ["虾"] = "蝦", + ["潍"] = "濰", + ["员"] = "員", + ["虿"] = "蠆", + ["潜"] = "潛", + ["呙"] = "咼", + ["蚀"] = "蝕", + ["潴"] = "瀦", + ["声"] = "聲", + ["蚁"] = "蟻", + ["澛"] = "瀂", + ["壳"] = "殼", + ["蚂"] = "螞", + ["澜"] = "瀾", + ["壶"] = "壺", + ["蚃"] = "蠁", + ["濑"] = "瀨", + ["壸"] = "壼", + ["蚕"] = "蠶", + ["濒"] = "瀕", + ["处"] = "處", + ["蚝"] = "蠔", + ["咛"] = "嚀", + ["备"] = "備", + ["蚬"] = "蜆", + ["灭"] = "滅", + ["复"] = "復", + ["蛊"] = "蠱", + ["咤"] = "吒", + ["够"] = "夠", + ["蛎"] = "蠣", + ["灵"] = "靈", + ["夫"] = "夫", + ["蛏"] = "蟶", + ["咸"] = "鹹", + ["𪮶"] = "攋", + ["蛮"] = "蠻", + ["灾"] = "災", + ["台"] = "臺", + ["蛰"] = "蟄", + ["灿"] = "燦", + ["响"] = "響", + ["蛱"] = "蛺", + ["炀"] = "煬", + ["哑"] = "啞", + ["蛲"] = "蟯", + ["炉"] = "爐", + ["叹"] = "嘆", + ["蛳"] = "螄", + ["炖"] = "燉", + ["叽"] = "嘰", + ["蛴"] = "蠐", + ["炜"] = "煒", + ["弦"] = "弦", + ["蜕"] = "蛻", + ["弪"] = "弳", + ["𪲛"] = "檵", + ["蜗"] = "蝸", + ["点"] = "點", + ["𪲮"] = "櫠", + ["蜡"] = "蠟", + ["弹"] = "彈", + ["𪳍"] = "欇", + ["蝇"] = "蠅", + ["炽"] = "熾", + ["𪳗"] = "𣜬", + ["蝈"] = "蟈", + ["归"] = "歸", + ["𪴙"] = "欑", + ["蝉"] = "蟬", + ["烂"] = "爛", + ["𪵑"] = "毊", + ["蝎"] = "蠍", + ["录"] = "錄", + ["𪵣"] = "霼", + ["蝼"] = "螻", + ["彟"] = "彠", + ["𪵱"] = "濿", + ["蝾"] = "蠑", + ["烟"] = "煙", + ["𪶄"] = "溡", + ["螀"] = "螿", + ["烦"] = "煩", + ["𪶒"] = "𤄷", + ["螨"] = "蟎", + ["烧"] = "燒", + ["𪶮"] = "𣽏", + ["蟏"] = "蠨", + ["烨"] = "燁", + ["𪷍"] = "㵾", + ["衅"] = "釁", + ["烩"] = "燴", + ["𪷽"] = "灒", + ["衔"] = "銜", + ["烫"] = "燙", + ["𪸕"] = "熂", + ["补"] = "補", + ["烬"] = "燼", + ["𪸩"] = "煇", + ["表"] = "表", + ["热"] = "熱", + ["衬"] = "襯", + ["夹"] = "夾", + ["焕"] = "煥", + ["衮"] = "袞", + ["怀"] = "懷", + ["焖"] = "燜", + ["袄"] = "襖", + ["弯"] = "彎", + ["焘"] = "燾", + ["袅"] = "嫋", + ["伫"] = "佇", + ["煴"] = "熅", + ["袆"] = "褘", + ["忾"] = "愾", + ["熏"] = "燻", + ["袜"] = "襪", + ["当"] = "當", + ["爱"] = "愛", + ["袭"] = "襲", + ["检"] = "檢", + ["爷"] = "爺", + ["袯"] = "襏", + ["棁"] = "梲", + ["妆"] = "妝", + ["装"] = "裝", + ["棂"] = "欞", + ["师"] = "師", + ["裆"] = "襠", + ["椁"] = "槨", + ["祎"] = "禕", + ["裈"] = "褌", + ["椝"] = "槼", + ["帅"] = "帥", + ["裢"] = "褳", + ["椟"] = "櫝", + ["妈"] = "媽", + ["裣"] = "襝", + ["椠"] = "槧", + ["砖"] = "磚", + ["裤"] = "褲", + ["椢"] = "槶", + ["妩"] = "嫵", + ["裥"] = "襉", + ["椤"] = "欏", + ["砀"] = "碭", + ["褛"] = "褸", + ["椫"] = "樿", + ["彻"] = "徹", + ["褴"] = "襤", + ["椭"] = "橢", + ["妪"] = "嫗", + ["襕"] = "襴", + ["椮"] = "槮", + ["矿"] = "礦", + ["见"] = "見", + ["楼"] = "樓", + ["巯"] = "巰", + ["观"] = "觀", + ["榄"] = "欖", + ["御"] = "御", + ["觃"] = "覎", + ["榅"] = "榲", + ["征"] = "徵", + ["规"] = "規", + ["榇"] = "櫬", + ["巩"] = "鞏", + ["觅"] = "覓", + ["榈"] = "櫚", + ["妫"] = "嬀", + ["视"] = "視", + ["榉"] = "櫸", + ["矾"] = "礬", + ["觇"] = "覘", + ["榝"] = "樧", + ["径"] = "徑", + ["览"] = "覽", + ["槚"] = "檟", + ["姗"] = "姍", + ["觉"] = "覺", + ["槛"] = "檻", + ["矶"] = "磯", + ["徕"] = "徠", + ["槟"] = "檳", + ["姜"] = "姜", + ["矫"] = "矯", + ["槠"] = "櫧", + ["宝"] = "寶", + ["实"] = "實", + ["横"] = "橫", + ["宠"] = "寵", + ["审"] = "審", + ["樯"] = "檣", + ["宪"] = "憲", + ["宫"] = "宮", + ["樱"] = "櫻", + ["喂"] = "喂", + ["亚"] = "亞", + ["橥"] = "櫫", + ["疭"] = "瘲", + ["啸"] = "嘯", + ["橱"] = "櫥", + ["夺"] = "奪", + ["崄"] = "嶮", + ["橹"] = "櫓", + ["疟"] = "瘧", + ["厂"] = "廠", + ["橼"] = "櫞", + ["崃"] = "崍", + ["畅"] = "暢", + ["檩"] = "檁", + ["哄"] = "哄", + ["崂"] = "嶗", + ["欢"] = "歡", + ["叠"] = "疊", + ["峰"] = "峯", + ["欤"] = "歟", + ["佛"] = "佛", + ["变"] = "變", + ["欧"] = "歐", + ["峦"] = "巒", + ["呛"] = "嗆", + ["欲"] = "欲", + ["双"] = "雙", + ["歼"] = "殲", + ["峥"] = "崢", + ["咏"] = "詠", + ["殁"] = "歿", + ["伦"] = "倫", + ["峤"] = "嶠", + ["殇"] = "殤", + ["听"] = "聽", + ["仇"] = "仇", + ["残"] = "殘", + ["峣"] = "嶢", + ["搜"] = "搜", + ["殒"] = "殞", + ["价"] = "價", + ["峡"] = "峽", + ["殓"] = "殮", + ["咽"] = "咽", + ["伛"] = "傴", + ["殚"] = "殫", + ["峄"] = "嶧", + ["刹"] = "剎", + ["殡"] = "殯", + ["彦"] = "彥", + ["峃"] = "嶨", + ["殴"] = "毆", + ["仅"] = "僅", + ["伥"] = "倀", + ["毁"] = "毀", + ["岿"] = "巋", + ["呖"] = "嚦", + ["毂"] = "轂", + ["荭"] = "葒", + ["侣"] = "侶", + ["毕"] = "畢", + ["荮"] = "葤", + ["岽"] = "崬", + ["毙"] = "斃", + ["药"] = "藥", + ["牦"] = "犛", + ["毡"] = "氈", + ["莅"] = "蒞", + ["纤"] = "纖", + ["毵"] = "毿", + ["莱"] = "萊", + ["约"] = "約", + ["毶"] = "𣯶", + ["莲"] = "蓮", + ["级"] = "級", + ["氇"] = "氌", + ["莳"] = "蒔", + ["纨"] = "紈", + ["气"] = "氣", + ["莴"] = "萵", + ["纩"] = "纊", + ["氢"] = "氫", + ["莶"] = "薟", + ["烁"] = "爍", + ["氩"] = "氬", + ["获"] = "獲", + ["炼"] = "煉", + ["氲"] = "氳", + ["莸"] = "蕕", + ["联"] = "聯", + ["汇"] = "匯", + ["莹"] = "瑩", + ["聩"] = "聵", + ["汉"] = "漢", + ["莺"] = "鶯", + ["聪"] = "聰", + ["汤"] = "湯", + ["莼"] = "蓴", + ["肃"] = "肅", + ["汹"] = "洶", + ["萚"] = "蘀", + ["肠"] = "腸", + ["沄"] = "澐", + ["萝"] = "蘿", + ["肤"] = "膚", + ["沈"] = "沈", + ["萤"] = "螢", + ["肮"] = "骯", + ["纫"] = "紉", + ["营"] = "營", + ["肴"] = "餚", + ["纬"] = "緯", + ["萦"] = "縈", + ["肾"] = "腎", + ["灶"] = "竈", + ["萧"] = "蕭", + ["肿"] = "腫", + ["纻"] = "紵", + ["萨"] = "薩", + ["胀"] = "脹", + ["灏"] = "灝", + ["葱"] = "蔥", + ["胁"] = "脅", + ["沟"] = "溝", + ["蒀"] = "蒕", + ["胄"] = "胄", + ["揽"] = "攬", + ["蒇"] = "蕆", + ["沨"] = "渢", + ["滗"] = "潷", + ["蒉"] = "蕢", + ["沩"] = "潙", + ["胜"] = "勝", + ["蒋"] = "蔣", + ["沪"] = "滬", + ["胡"] = "胡", + ["蒌"] = "蔞", + ["胧"] = "朧", + ["聋"] = "聾", + ["蒏"] = "醟", + ["胨"] = "腖", + ["溆"] = "漵", + ["蒙"] = "蒙", + ["胪"] = "臚", + ["蓝"] = "藍", + ["枣"] = "棗", + ["胫"] = "脛", + ["蓟"] = "薊", + ["沥"] = "瀝", + ["胶"] = "膠", + ["蓠"] = "蘺", + ["修"] = "修", + ["脉"] = "脈", + ["蓣"] = "蕷", + ["坛"] = "壇", + ["脍"] = "膾", + ["蓥"] = "鎣", + ["瓯"] = "甌", + ["脏"] = "髒", + ["蓦"] = "驀", + ["狮"] = "獅", + ["脐"] = "臍", + ["蔂"] = "虆", + ["胆"] = "膽", + ["脑"] = "腦", + ["蔑"] = "蔑", + ["刾"] = "㓨", + ["蔷"] = "薔", + ["钷"] = "鉕", + ["体"] = "體", + ["蔹"] = "蘞", + ["钸"] = "鈽", + ["挝"] = "撾", + ["脚"] = "腳", + ["钹"] = "鈸", + ["刿"] = "劌", + ["脱"] = "脫", + ["钺"] = "鉞", + ["剑"] = "劍", + ["脶"] = "腡", + ["钻"] = "鑽", + ["脔"] = "臠", + ["脸"] = "臉", + ["钼"] = "鉬", + ["寻"] = "尋", + ["腊"] = "臘", + ["钽"] = "鉭", + ["伟"] = "偉", + ["腌"] = "醃", + ["钾"] = "鉀", + ["优"] = "優", + ["腘"] = "膕", + ["钿"] = "鈿", + ["沧"] = "滄", + ["腭"] = "齶", + ["铀"] = "鈾", + ["湿"] = "溼", + ["腻"] = "膩", + ["铁"] = "鐵", + ["沤"] = "漚", + ["腼"] = "靦", + ["铂"] = "鉑", + ["腽"] = "膃", + ["没"] = "沒", + ["铃"] = "鈴", + ["腾"] = "騰", + ["岘"] = "峴", + ["铄"] = "鑠", + ["膑"] = "臏", + ["岚"] = "嵐", + ["铅"] = "鉛", + ["膻"] = "羶", + ["岛"] = "島", + ["铆"] = "鉚", + ["臜"] = "臢", + ["岩"] = "巖", + ["铇"] = "鉋", + ["致"] = "致", + ["岭"] = "嶺", + ["舆"] = "輿", + ["纥"] = "紇", + ["岳"] = "嶽", + ["舍"] = "舍", + ["纣"] = "紂", + ["舣"] = "艤", + ["铊"] = "鉈", + ["红"] = "紅", + ["舰"] = "艦", + ["铋"] = "鉍", + ["纡"] = "紆", + ["舱"] = "艙", + ["铌"] = "鈮", + ["纠"] = "糾", + ["舻"] = "艫", + ["铍"] = "鈹", + ["局"] = "局", + ["艰"] = "艱", + ["铎"] = "鐸", + ["尽"] = "盡", + ["艳"] = "豔", + ["铏"] = "鉶", + ["尸"] = "屍", + ["艺"] = "藝", + ["铐"] = "銬", + ["尴"] = "尷", + ["节"] = "節", + ["铑"] = "銠", + ["尧"] = "堯", + ["芈"] = "羋", + ["铒"] = "鉺", + ["狱"] = "獄", + ["芗"] = "薌", + ["铓"] = "鋩", + ["瓮"] = "甕", + ["芜"] = "蕪", + ["铔"] = "錏", + ["啰"] = "囉", + ["芦"] = "蘆", + ["铕"] = "銪", + ["啴"] = "嘽", + ["芸"] = "芸", + ["铖"] = "鋮", + ["苁"] = "蓯", + ["崭"] = "嶄", + ["铗"] = "鋏", + ["苇"] = "葦", + ["嵘"] = "嶸", + ["喷"] = "噴", + ["苈"] = "藶", + ["嵚"] = "嶔", + ["喽"] = "嘍", + ["苋"] = "莧", + ["嵝"] = "嶁", + ["喾"] = "嚳", + ["苌"] = "萇", + ["巅"] = "巔", + ["嗫"] = "囁", + ["苍"] = "蒼", + ["巨"] = "巨", + ["嗳"] = "噯", + ["苎"] = "苧", + ["苧"] = "薴", + ["嘘"] = "噓", + ["苏"] = "蘇", + ["忆"] = "憶", + ["嘤"] = "嚶", + ["币"] = "幣", + ["忏"] = "懺", + ["嘱"] = "囑", + ["布"] = "布", + ["志"] = "志", + ["噜"] = "嚕", + ["忧"] = "憂", + ["妇"] = "婦", + ["噪"] = "噪", + ["念"] = "念", + ["嚣"] = "囂", + ["帏"] = "幃", + ["强"] = "強", + ["回"] = "回", + ["帐"] = "帳", + ["团"] = "團", + ["号"] = "號", + ["帘"] = "簾", + ["夸"] = "誇", + ["只"] = "只", + ["帜"] = "幟", + ["咨"] = "諮", + ["叙"] = "敘", + ["带"] = "帶", + ["咝"] = "噝", + ["发"] = "發", + ["帧"] = "幀", + ["咙"] = "嚨", + ["叇"] = "靆", + ["席"] = "席", + ["叆"] = "靉", + ["帮"] = "幫", + ["怆"] = "愴", + ["叁"] = "叄", + ["帱"] = "幬", + ["怜"] = "憐", + ["厮"] = "廝", + ["帻"] = "幘", + ["总"] = "總", + ["呗"] = "唄", + ["帼"] = "幗", + ["怼"] = "懟", + ["埘"] = "塒", + ["幂"] = "冪", + ["怿"] = "懌", + ["垲"] = "塏", + ["干"] = "幹", + ["恋"] = "戀", + ["窍"] = "竅", + ["并"] = "並", + ["恒"] = "恆", + ["垭"] = "埡", + ["幸"] = "幸", + ["恤"] = "恤", + ["广"] = "廣", + ["恳"] = "懇", + ["向"] = "向", + ["庄"] = "莊", + ["恶"] = "惡", + ["卺"] = "巹", + ["庆"] = "慶", + ["恸"] = "慟", + ["佥"] = "僉", + ["床"] = "牀", + ["恹"] = "懨", + ["卫"] = "衛", + ["庐"] = "廬", + ["恺"] = "愷", + ["坟"] = "墳", + ["庑"] = "廡", + ["恻"] = "惻", + ["坜"] = "壢", + ["库"] = "庫", + ["恼"] = "惱", + ["卖"] = "賣", + ["应"] = "應", + ["恽"] = "惲", + ["华"] = "華", + ["庙"] = "廟", + ["悦"] = "悅", + ["场"] = "場", + ["庞"] = "龐", + ["悫"] = "愨", + ["搅"] = "攪", + ["废"] = "廢", + ["悬"] = "懸", + ["囵"] = "圇", + ["庵"] = "庵", + ["悭"] = "慳", + ["庼"] = "廎", + ["䌼"] = "綐", + ["悮"] = "悞", + ["廪"] = "廩", + ["吊"] = "吊", + ["悯"] = "憫", + ["开"] = "開", + ["柽"] = "檉", + ["惊"] = "驚", + ["异"] = "異", + ["柜"] = "櫃", + ["惧"] = "懼", + ["弃"] = "棄", + ["杰"] = "傑", + ["惨"] = "慘", + ["弑"] = "弒", + ["瓒"] = "瓚", + ["惩"] = "懲", + ["张"] = "張", + ["絷"] = "縶", + ["惫"] = "憊", + ["弥"] = "彌", + ["犹"] = "猶", + ["惬"] = "愜", + ["牍"] = "牘", + ["烛"] = "燭", + ["惭"] = "慚", + ["凶"] = "兇", + ["纺"] = "紡", + ["惮"] = "憚", + ["纼"] = "紖", + ["纽"] = "紐", + ["惯"] = "慣", + ["线"] = "線", + ["绀"] = "紺", + ["痉"] = "痙", + ["绂"] = "紱", + ["愠"] = "慍", + ["痒"] = "癢", + ["绅"] = "紳", + ["愤"] = "憤", + ["痖"] = "瘂", + ["绁"] = "紲", + ["愦"] = "憒", + ["痨"] = "癆", + ["㑩"] = "儸", + ["愿"] = "願", + ["痪"] = "瘓", + ["㑈"] = "倲", + ["慑"] = "懾", + ["痫"] = "癇", + ["册"] = "冊", + ["慭"] = "憖", + ["痴"] = "癡", + ["纟"] = "糹", + ["懑"] = "懣", + ["瘅"] = "癉", + ["緼"] = "縕", + ["懒"] = "懶", + ["瘆"] = "瘮", + ["狰"] = "猙", + ["懔"] = "懍", + ["瘗"] = "瘞", + ["疗"] = "療", + ["戆"] = "戇", + ["瘘"] = "瘻", + ["疮"] = "瘡", + ["戋"] = "戔", + ["瘪"] = "癟", + ["聂"] = "聶", + ["戏"] = "戲", + ["瘫"] = "癱", + ["滨"] = "濱", + ["戗"] = "戧", + ["瘾"] = "癮", + ["宾"] = "賓", + ["战"] = "戰", + ["瘿"] = "癭", + ["愈"] = "愈", + ["戚"] = "戚", + ["癞"] = "癩", + ["戬"] = "戩", + ["荤"] = "葷", + ["癣"] = "癬", + ["戯"] = "戱", + ["滤"] = "濾", + ["癫"] = "癲", + ["户"] = "戶", + ["贩"] = "販", + ["皂"] = "皁", + ["才"] = "才", + ["贠"] = "貟", + ["皑"] = "皚", + ["贪"] = "貪", + ["扑"] = "撲", + ["皱"] = "皺", + ["购"] = "購", + ["托"] = "託", + ["皲"] = "皸", + ["贰"] = "貳", + ["贱"] = "賤", + ["盏"] = "盞", + ["𫐓"] = "輮", + ["贴"] = "貼", + ["盐"] = "鹽", + ["𫐔"] = "𨍰", + ["贷"] = "貸", + ["詟"] = "讋", + ["𫐕"] = "轊", + ["贻"] = "貽", + ["誉"] = "譽", + ["𫐖"] = "轇", + ["输"] = "輸", +} \ No newline at end of file diff --git a/scripts/uosc_danmaku/dicts/t2s_chars.lua b/scripts/uosc_danmaku/dicts/t2s_chars.lua new file mode 100644 index 0000000..f456942 --- /dev/null +++ b/scripts/uosc_danmaku/dicts/t2s_chars.lua @@ -0,0 +1,4115 @@ +return { + ["㑮"] = "𫝈", + ["㑯"] = "㑔", + ["㑳"] = "㑇", + ["㑶"] = "㐹", + ["㒓"] = "𠉂", + ["㓄"] = "𪠟", + ["㓨"] = "刾", + ["㔋"] = "𪟎", + ["㖮"] = "𪠵", + ["㗲"] = "𠵾", + ["㗿"] = "𪡛", + ["㘉"] = "𠰱", + ["㘓"] = "𪢌", + ["㘔"] = "𫬐", + ["㘚"] = "㘎", + ["㛝"] = "𫝦", + ["㜄"] = "㚯", + ["㜏"] = "㛣", + ["㜐"] = "𫝧", + ["㜗"] = "𡞋", + ["㜢"] = "𡞱", + ["㜷"] = "𡝠", + ["㞞"] = "𪨊", + ["㟺"] = "𪩇", + ["㠏"] = "㟆", + ["㠣"] = "𫵷", + ["㢗"] = "𪪑", + ["㢝"] = "𢋈", + ["㥮"] = "㤘", + ["㦎"] = "𢛯", + ["㦛"] = "𢗓", + ["㦞"] = "𪫷", + ["㨻"] = "𪮃", + ["㩋"] = "𪮋", + ["㩜"] = "㨫", + ["㩳"] = "㧐", + ["㩵"] = "擜", + ["㪎"] = "𪯋", + ["㯤"] = "𣘐", + ["㰙"] = "𣗙", + ["㵗"] = "𣳆", + ["㵾"] = "𪷍", + ["㶆"] = "𫞛", + ["㷍"] = "𤆢", + ["㷿"] = "𤈷", + ["㸇"] = "𤎺", + ["㹽"] = "𫞣", + ["㺏"] = "𤠋", + ["㺜"] = "𪺻", + ["㻶"] = "𪼋", + ["㿖"] = "𪽮", + ["㿗"] = "𤻊", + ["㿧"] = "𤽯", + ["䀉"] = "𥁢", + ["䀹"] = "𥅴", + ["䁪"] = "𥇢", + ["䁻"] = "䀥", + ["䂎"] = "𥎝", + ["䃮"] = "鿎", + ["䅐"] = "𫀨", + ["䅳"] = "𫀬", + ["䆉"] = "𫁂", + ["䉑"] = "𫁲", + ["䉙"] = "𥬀", + ["䉬"] = "𫂈", + ["䉲"] = "𥮜", + ["䉶"] = "𫁷", + ["䊭"] = "𥺅", + ["䊷"] = "䌶", + ["䊺"] = "𫄚", + ["䋃"] = "𫄜", + ["䋔"] = "𫄞", + ["䋙"] = "䌺", + ["䋚"] = "䌻", + ["䋦"] = "𫄩", + ["䋹"] = "䌿", + ["䋻"] = "䌾", + ["䋼"] = "𫄮", + ["䋿"] = "𦈓", + ["䌈"] = "𦈖", + ["䌋"] = "𦈘", + ["䌖"] = "𦈜", + ["䌝"] = "𦈟", + ["䌟"] = "𦈞", + ["䌥"] = "𦈠", + ["䌰"] = "𦈙", + ["䍤"] = "𫅅", + ["䍦"] = "䍠", + ["䍽"] = "𦍠", + ["䎙"] = "𫅭", + ["䎱"] = "䎬", + ["䓣"] = "𬜯", + ["䕤"] = "𫟕", + ["䕳"] = "𦰴", + ["䖅"] = "𫟑", + ["䗅"] = "𫊪", + ["䗿"] = "𧉞", + ["䙔"] = "𫋲", + ["䙡"] = "䙌", + ["䙱"] = "𧜭", + ["䚩"] = "𫌯", + ["䛄"] = "𫍠", + ["䛳"] = "𫍫", + ["䜀"] = "䜧", + ["䜖"] = "𫟢", + ["䝭"] = "𫎧", + ["䝻"] = "𧹕", + ["䝼"] = "䞍", + ["䞈"] = "𧹑", + ["䞋"] = "𫎪", + ["䞓"] = "𫎭", + ["䟃"] = "𫎺", + ["䟆"] = "𫎳", + ["䟐"] = "𫎱", + ["䠆"] = "𫏃", + ["䠱"] = "𨅛", + ["䡐"] = "𫟤", + ["䡩"] = "𫟥", + ["䡵"] = "𫟦", + ["䢨"] = "𨑹", + ["䤤"] = "𫟺", + ["䥄"] = "𫠀", + ["䥇"] = "䦂", + ["䥑"] = "鿏", + ["䥕"] = "𬭯", + ["䥗"] = "𫔋", + ["䥩"] = "𨱖", + ["䥯"] = "𫔆", + ["䥱"] = "䥾", + ["䦘"] = "𨸄", + ["䦛"] = "䦶", + ["䦟"] = "䦷", + ["䦯"] = "𫔵", + ["䦳"] = "𨷿", + ["䧢"] = "𨸟", + ["䪊"] = "𫖅", + ["䪏"] = "𩏼", + ["䪗"] = "𩐀", + ["䪘"] = "𩏿", + ["䪴"] = "𫖫", + ["䪾"] = "𫖬", + ["䫀"] = "𫖱", + ["䫂"] = "𫖰", + ["䫟"] = "𫖲", + ["䫴"] = "𩖗", + ["䫶"] = "𫖺", + ["䫻"] = "𫗇", + ["䫾"] = "𫠈", + ["䬓"] = "𫗊", + ["䬘"] = "𩙮", + ["䬝"] = "𩙯", + ["䬞"] = "𩙧", + ["䬧"] = "𫗟", + ["䭀"] = "𩠇", + ["䭃"] = "𩠈", + ["䭑"] = "𫗱", + ["䭔"] = "𫗰", + ["䭿"] = "𩧭", + ["䮄"] = "𫠊", + ["䮝"] = "𩧰", + ["䮞"] = "𩨁", + ["䮠"] = "𩧿", + ["䮫"] = "𩨇", + ["䮰"] = "𫘮", + ["䮳"] = "𩨏", + ["䮾"] = "𩧪", + ["䯀"] = "䯅", + ["䯤"] = "𩩈", + ["䰾"] = "鲃", + ["䱀"] = "𫚐", + ["䱁"] = "𫚏", + ["䱙"] = "𩾈", + ["䱧"] = "𫚠", + ["䱬"] = "𩾊", + ["䱰"] = "𩾋", + ["䱷"] = "䲣", + ["䱸"] = "𫠑", + ["䱽"] = "䲝", + ["䲁"] = "鳚", + ["䲅"] = "𫚜", + ["䲖"] = "𩾂", + ["䲘"] = "鳤", + ["䲰"] = "𪉂", + ["䳜"] = "𫛬", + ["䳢"] = "𫛰", + ["䳤"] = "𫛮", + ["䳧"] = "𫛺", + ["䳫"] = "𫛼", + ["䴉"] = "鹮", + ["䴋"] = "𫜅", + ["䴬"] = "𪎈", + ["䴱"] = "𫜒", + ["䴴"] = "𪎋", + ["䴽"] = "𫜔", + ["䵳"] = "𪑅", + ["䵴"] = "𫜙", + ["䶕"] = "𫜨", + ["䶲"] = "𫜳", + ["丟"] = "丢", + ["並"] = "并", + ["乾"] = "干", + ["亂"] = "乱", + ["亙"] = "亘", + ["亞"] = "亚", + ["佇"] = "伫", + ["佈"] = "布", + ["佔"] = "占", + ["併"] = "并", + ["來"] = "来", + ["侖"] = "仑", + ["侶"] = "侣", + ["侷"] = "局", + ["俁"] = "俣", + ["係"] = "系", + ["俓"] = "𠇹", + ["俔"] = "伣", + ["俠"] = "侠", + ["俥"] = "伡", + ["俬"] = "私", + ["倀"] = "伥", + ["倆"] = "俩", + ["倈"] = "俫", + ["倉"] = "仓", + ["個"] = "个", + ["們"] = "们", + ["倖"] = "幸", + ["倫"] = "伦", + ["倲"] = "㑈", + ["偉"] = "伟", + ["偑"] = "㐽", + ["側"] = "侧", + ["偵"] = "侦", + ["偽"] = "伪", + ["傌"] = "㐷", + ["傑"] = "杰", + ["傖"] = "伧", + ["傘"] = "伞", + ["備"] = "备", + ["傢"] = "家", + ["傭"] = "佣", + ["傯"] = "偬", + ["傳"] = "传", + ["傴"] = "伛", + ["債"] = "债", + ["傷"] = "伤", + ["傾"] = "倾", + ["僂"] = "偻", + ["僅"] = "仅", + ["僉"] = "佥", + ["僑"] = "侨", + ["僕"] = "仆", + ["僞"] = "伪", + ["僤"] = "𫢸", + ["僥"] = "侥", + ["僨"] = "偾", + ["僱"] = "雇", + ["價"] = "价", + ["儀"] = "仪", + ["儁"] = "俊", + ["儂"] = "侬", + ["億"] = "亿", + ["儈"] = "侩", + ["儉"] = "俭", + ["儎"] = "傤", + ["儐"] = "傧", + ["儔"] = "俦", + ["儕"] = "侪", + ["儘"] = "尽", + ["償"] = "偿", + ["儣"] = "𠆲", + ["優"] = "优", + ["儭"] = "𠋆", + ["儲"] = "储", + ["儷"] = "俪", + ["儸"] = "㑩", + ["儺"] = "傩", + ["儻"] = "傥", + ["儼"] = "俨", + ["兇"] = "凶", + ["兌"] = "兑", + ["兒"] = "儿", + ["兗"] = "兖", + ["內"] = "内", + ["兩"] = "两", + ["冊"] = "册", + ["冑"] = "胄", + ["冪"] = "幂", + ["凈"] = "净", + ["凍"] = "冻", + ["凙"] = "𪞝", + ["凜"] = "凛", + ["凱"] = "凯", + ["別"] = "别", + ["刪"] = "删", + ["剄"] = "刭", + ["則"] = "则", + ["剋"] = "克", + ["剎"] = "刹", + ["剗"] = "刬", + ["剛"] = "刚", + ["剝"] = "剥", + ["剮"] = "剐", + ["剴"] = "剀", + ["創"] = "创", + ["剷"] = "铲", + ["剾"] = "𠛅", + ["劃"] = "划", + ["劇"] = "剧", + ["劉"] = "刘", + ["劊"] = "刽", + ["劌"] = "刿", + ["劍"] = "剑", + ["劏"] = "㓥", + ["劑"] = "剂", + ["劚"] = "㔉", + ["勁"] = "劲", + ["勑"] = "𠡠", + ["動"] = "动", + ["務"] = "务", + ["勛"] = "勋", + ["勝"] = "胜", + ["勞"] = "劳", + ["勢"] = "势", + ["勣"] = "𪟝", + ["勩"] = "勚", + ["勱"] = "劢", + ["勳"] = "勋", + ["勵"] = "励", + ["勸"] = "劝", + ["勻"] = "匀", + ["匭"] = "匦", + ["匯"] = "汇", + ["匱"] = "匮", + ["區"] = "区", + ["協"] = "协", + ["卹"] = "恤", + ["卻"] = "却", + ["卽"] = "即", + ["厙"] = "厍", + ["厠"] = "厕", + ["厤"] = "历", + ["厭"] = "厌", + ["厲"] = "厉", + ["厴"] = "厣", + ["參"] = "参", + ["叄"] = "叁", + ["叢"] = "丛", + ["吒"] = "咤", + ["吳"] = "吴", + ["吶"] = "呐", + ["呂"] = "吕", + ["咼"] = "呙", + ["員"] = "员", + ["哯"] = "𠯟", + ["唄"] = "呗", + ["唓"] = "𪠳", + ["唸"] = "念", + ["問"] = "问", + ["啓"] = "启", + ["啞"] = "哑", + ["啟"] = "启", + ["啢"] = "唡", + ["喎"] = "㖞", + ["喚"] = "唤", + ["喪"] = "丧", + ["喫"] = "吃", + ["喬"] = "乔", + ["單"] = "单", + ["喲"] = "哟", + ["嗆"] = "呛", + ["嗇"] = "啬", + ["嗊"] = "唝", + ["嗎"] = "吗", + ["嗚"] = "呜", + ["嗩"] = "唢", + ["嗰"] = "𠮶", + ["嗶"] = "哔", + ["嗹"] = "𪡏", + ["嘆"] = "叹", + ["嘍"] = "喽", + ["嘓"] = "啯", + ["嘔"] = "呕", + ["嘖"] = "啧", + ["嘗"] = "尝", + ["嘜"] = "唛", + ["嘩"] = "哗", + ["嘪"] = "𪡃", + ["嘮"] = "唠", + ["嘯"] = "啸", + ["嘰"] = "叽", + ["嘳"] = "𪡞", + ["嘵"] = "哓", + ["嘸"] = "呒", + ["嘺"] = "𪡀", + ["嘽"] = "啴", + ["噁"] = "恶", + ["噅"] = "𠯠", + ["噓"] = "嘘", + ["噚"] = "㖊", + ["噝"] = "咝", + ["噞"] = "𪡋", + ["噠"] = "哒", + ["噥"] = "哝", + ["噦"] = "哕", + ["噯"] = "嗳", + ["噲"] = "哙", + ["噴"] = "喷", + ["噸"] = "吨", + ["噹"] = "当", + ["嚀"] = "咛", + ["嚇"] = "吓", + ["嚌"] = "哜", + ["嚐"] = "尝", + ["嚕"] = "噜", + ["嚙"] = "啮", + ["嚛"] = "𪠸", + ["嚥"] = "咽", + ["嚦"] = "呖", + ["嚧"] = "𠰷", + ["嚨"] = "咙", + ["嚮"] = "向", + ["嚲"] = "亸", + ["嚳"] = "喾", + ["嚴"] = "严", + ["嚶"] = "嘤", + ["嚽"] = "𪢕", + ["囀"] = "啭", + ["囁"] = "嗫", + ["囂"] = "嚣", + ["囃"] = "𠱞", + ["囅"] = "冁", + ["囈"] = "呓", + ["囉"] = "啰", + ["囌"] = "苏", + ["囑"] = "嘱", + ["囒"] = "𪢠", + ["囪"] = "囱", + ["圇"] = "囵", + ["國"] = "国", + ["圍"] = "围", + ["園"] = "园", + ["圓"] = "圆", + ["圖"] = "图", + ["團"] = "团", + ["圞"] = "𪢮", + ["垻"] = "坝", + ["埡"] = "垭", + ["埨"] = "𫭢", + ["埬"] = "𪣆", + ["埰"] = "采", + ["執"] = "执", + ["堅"] = "坚", + ["堊"] = "垩", + ["堖"] = "垴", + ["堚"] = "𪣒", + ["堝"] = "埚", + ["堯"] = "尧", + ["報"] = "报", + ["場"] = "场", + ["塊"] = "块", + ["塋"] = "茔", + ["塏"] = "垲", + ["塒"] = "埘", + ["塗"] = "涂", + ["塚"] = "冢", + ["塢"] = "坞", + ["塤"] = "埙", + ["塵"] = "尘", + ["塸"] = "𫭟", + ["塹"] = "堑", + ["塿"] = "𪣻", + ["墊"] = "垫", + ["墜"] = "坠", + ["墠"] = "𫮃", + ["墮"] = "堕", + ["墰"] = "坛", + ["墲"] = "𪢸", + ["墳"] = "坟", + ["墶"] = "垯", + ["墻"] = "墙", + ["墾"] = "垦", + ["壇"] = "坛", + ["壈"] = "𡒄", + ["壋"] = "垱", + ["壎"] = "埙", + ["壓"] = "压", + ["壗"] = "𡋤", + ["壘"] = "垒", + ["壙"] = "圹", + ["壚"] = "垆", + ["壜"] = "坛", + ["壞"] = "坏", + ["壟"] = "垄", + ["壠"] = "垅", + ["壢"] = "坜", + ["壣"] = "𪤚", + ["壩"] = "坝", + ["壪"] = "塆", + ["壯"] = "壮", + ["壺"] = "壶", + ["壼"] = "壸", + ["壽"] = "寿", + ["夠"] = "够", + ["夢"] = "梦", + ["夥"] = "伙", + ["夾"] = "夹", + ["奐"] = "奂", + ["奧"] = "奥", + ["奩"] = "奁", + ["奪"] = "夺", + ["奬"] = "奖", + ["奮"] = "奋", + ["奼"] = "姹", + ["妝"] = "妆", + ["姍"] = "姗", + ["姦"] = "奸", + ["娙"] = "𫰛", + ["娛"] = "娱", + ["婁"] = "娄", + ["婡"] = "𫝫", + ["婦"] = "妇", + ["婭"] = "娅", + ["媈"] = "𫝨", + ["媧"] = "娲", + ["媯"] = "妫", + ["媰"] = "㛀", + ["媼"] = "媪", + ["媽"] = "妈", + ["嫋"] = "袅", + ["嫗"] = "妪", + ["嫵"] = "妩", + ["嫺"] = "娴", + ["嫻"] = "娴", + ["嫿"] = "婳", + ["嬀"] = "妫", + ["嬃"] = "媭", + ["嬇"] = "𫝬", + ["嬈"] = "娆", + ["嬋"] = "婵", + ["嬌"] = "娇", + ["嬙"] = "嫱", + ["嬡"] = "嫒", + ["嬣"] = "𪥰", + ["嬤"] = "嬷", + ["嬦"] = "𫝩", + ["嬪"] = "嫔", + ["嬰"] = "婴", + ["嬸"] = "婶", + ["嬻"] = "𪥿", + ["孃"] = "娘", + ["孄"] = "𫝮", + ["孆"] = "𫝭", + ["孇"] = "𪥫", + ["孋"] = "㛤", + ["孌"] = "娈", + ["孎"] = "𡠟", + ["孫"] = "孙", + ["學"] = "学", + ["孻"] = "𡥧", + ["孾"] = "𪧀", + ["孿"] = "孪", + ["宮"] = "宫", + ["寀"] = "采", + ["寠"] = "𪧘", + ["寢"] = "寝", + ["實"] = "实", + ["寧"] = "宁", + ["審"] = "审", + ["寫"] = "写", + ["寬"] = "宽", + ["寵"] = "宠", + ["寶"] = "宝", + ["將"] = "将", + ["專"] = "专", + ["尋"] = "寻", + ["對"] = "对", + ["導"] = "导", + ["尷"] = "尴", + ["屆"] = "届", + ["屍"] = "尸", + ["屓"] = "屃", + ["屜"] = "屉", + ["屢"] = "屡", + ["層"] = "层", + ["屨"] = "屦", + ["屩"] = "𪨗", + ["屬"] = "属", + ["岡"] = "冈", + ["峯"] = "峰", + ["峴"] = "岘", + ["島"] = "岛", + ["峽"] = "峡", + ["崍"] = "崃", + ["崑"] = "昆", + ["崗"] = "岗", + ["崙"] = "仑", + ["崢"] = "峥", + ["崬"] = "岽", + ["嵐"] = "岚", + ["嵗"] = "岁", + ["嵼"] = "𡶴", + ["嵽"] = "𫶇", + ["嵾"] = "㟥", + ["嶁"] = "嵝", + ["嶄"] = "崭", + ["嶇"] = "岖", + ["嶈"] = "𡺃", + ["嶔"] = "嵚", + ["嶗"] = "崂", + ["嶘"] = "𡺄", + ["嶠"] = "峤", + ["嶢"] = "峣", + ["嶧"] = "峄", + ["嶨"] = "峃", + ["嶮"] = "崄", + ["嶸"] = "嵘", + ["嶹"] = "𫝵", + ["嶺"] = "岭", + ["嶼"] = "屿", + ["嶽"] = "岳", + ["巊"] = "𪩎", + ["巋"] = "岿", + ["巒"] = "峦", + ["巔"] = "巅", + ["巖"] = "岩", + ["巗"] = "𪨷", + ["巘"] = "𪩘", + ["巰"] = "巯", + ["巹"] = "卺", + ["帥"] = "帅", + ["師"] = "师", + ["帳"] = "帐", + ["帶"] = "带", + ["幀"] = "帧", + ["幃"] = "帏", + ["幓"] = "㡎", + ["幗"] = "帼", + ["幘"] = "帻", + ["幝"] = "𪩷", + ["幟"] = "帜", + ["幣"] = "币", + ["幩"] = "𪩸", + ["幫"] = "帮", + ["幬"] = "帱", + ["幹"] = "干", + ["幾"] = "几", + ["庫"] = "库", + ["廁"] = "厕", + ["廂"] = "厢", + ["廄"] = "厩", + ["廈"] = "厦", + ["廎"] = "庼", + ["廕"] = "荫", + ["廚"] = "厨", + ["廝"] = "厮", + ["廞"] = "𫷷", + ["廟"] = "庙", + ["廠"] = "厂", + ["廡"] = "庑", + ["廢"] = "废", + ["廣"] = "广", + ["廧"] = "𪪞", + ["廩"] = "廪", + ["廬"] = "庐", + ["廳"] = "厅", + ["弒"] = "弑", + ["弔"] = "吊", + ["弳"] = "弪", + ["張"] = "张", + ["強"] = "强", + ["彃"] = "𪪼", + ["彄"] = "𫸩", + ["彆"] = "别", + ["彈"] = "弹", + ["彌"] = "弥", + ["彎"] = "弯", + ["彔"] = "录", + ["彙"] = "汇", + ["彠"] = "彟", + ["彥"] = "彦", + ["彫"] = "雕", + ["彲"] = "彨", + ["彷"] = "彷", + ["彿"] = "佛", + ["後"] = "后", + ["徑"] = "径", + ["從"] = "从", + ["徠"] = "徕", + ["復"] = "复", + ["徵"] = "征", + ["徹"] = "彻", + ["徿"] = "𪫌", + ["恆"] = "恒", + ["恥"] = "耻", + ["悅"] = "悦", + ["悞"] = "悮", + ["悵"] = "怅", + ["悶"] = "闷", + ["悽"] = "凄", + ["惡"] = "恶", + ["惱"] = "恼", + ["惲"] = "恽", + ["惻"] = "恻", + ["愛"] = "爱", + ["愜"] = "惬", + ["愨"] = "悫", + ["愴"] = "怆", + ["愷"] = "恺", + ["愻"] = "𢙏", + ["愾"] = "忾", + ["慄"] = "栗", + ["態"] = "态", + ["慍"] = "愠", + ["慘"] = "惨", + ["慚"] = "惭", + ["慟"] = "恸", + ["慣"] = "惯", + ["慤"] = "悫", + ["慪"] = "怄", + ["慫"] = "怂", + ["慮"] = "虑", + ["慳"] = "悭", + ["慶"] = "庆", + ["慺"] = "㥪", + ["慼"] = "戚", + ["慾"] = "欲", + ["憂"] = "忧", + ["憊"] = "惫", + ["憐"] = "怜", + ["憑"] = "凭", + ["憒"] = "愦", + ["憖"] = "慭", + ["憚"] = "惮", + ["憢"] = "𢙒", + ["憤"] = "愤", + ["憫"] = "悯", + ["憮"] = "怃", + ["憲"] = "宪", + ["憶"] = "忆", + ["憸"] = "𪫺", + ["憹"] = "𢙐", + ["懀"] = "𢙓", + ["懇"] = "恳", + ["應"] = "应", + ["懌"] = "怿", + ["懍"] = "懔", + ["懎"] = "𢠁", + ["懞"] = "蒙", + ["懟"] = "怼", + ["懣"] = "懑", + ["懤"] = "㤽", + ["懨"] = "恹", + ["懲"] = "惩", + ["懶"] = "懒", + ["懷"] = "怀", + ["懸"] = "悬", + ["懺"] = "忏", + ["懼"] = "惧", + ["懾"] = "慑", + ["戀"] = "恋", + ["戇"] = "戆", + ["戔"] = "戋", + ["戧"] = "戗", + ["戩"] = "戬", + ["戰"] = "战", + ["戱"] = "戯", + ["戲"] = "戏", + ["戶"] = "户", + ["拋"] = "抛", + ["挩"] = "捝", + ["挱"] = "挲", + ["挾"] = "挟", + ["捨"] = "舍", + ["捫"] = "扪", + ["捱"] = "挨", + ["捲"] = "卷", + ["掃"] = "扫", + ["掄"] = "抡", + ["掆"] = "㧏", + ["掗"] = "挜", + ["掙"] = "挣", + ["掚"] = "𪭵", + ["掛"] = "挂", + ["採"] = "采", + ["揀"] = "拣", + ["揚"] = "扬", + ["換"] = "换", + ["揮"] = "挥", + ["揯"] = "搄", + ["損"] = "损", + ["搖"] = "摇", + ["搗"] = "捣", + ["搵"] = "揾", + ["搶"] = "抢", + ["摋"] = "𢫬", + ["摐"] = "𪭢", + ["摑"] = "掴", + ["摜"] = "掼", + ["摟"] = "搂", + ["摯"] = "挚", + ["摳"] = "抠", + ["摶"] = "抟", + ["摺"] = "折", + ["摻"] = "掺", + ["撈"] = "捞", + ["撊"] = "𪭾", + ["撏"] = "挦", + ["撐"] = "撑", + ["撓"] = "挠", + ["撝"] = "㧑", + ["撟"] = "挢", + ["撣"] = "掸", + ["撥"] = "拨", + ["撧"] = "𪮖", + ["撫"] = "抚", + ["撲"] = "扑", + ["撳"] = "揿", + ["撻"] = "挞", + ["撾"] = "挝", + ["撿"] = "捡", + ["擁"] = "拥", + ["擄"] = "掳", + ["擇"] = "择", + ["擊"] = "击", + ["擋"] = "挡", + ["擓"] = "㧟", + ["擔"] = "担", + ["據"] = "据", + ["擟"] = "𪭧", + ["擠"] = "挤", + ["擣"] = "捣", + ["擫"] = "𢬍", + ["擬"] = "拟", + ["擯"] = "摈", + ["擰"] = "拧", + ["擱"] = "搁", + ["擲"] = "掷", + ["擴"] = "扩", + ["擷"] = "撷", + ["擺"] = "摆", + ["擻"] = "擞", + ["擼"] = "撸", + ["擽"] = "㧰", + ["擾"] = "扰", + ["攄"] = "摅", + ["攆"] = "撵", + ["攋"] = "𪮶", + ["攏"] = "拢", + ["攔"] = "拦", + ["攖"] = "撄", + ["攙"] = "搀", + ["攛"] = "撺", + ["攜"] = "携", + ["攝"] = "摄", + ["攢"] = "攒", + ["攣"] = "挛", + ["攤"] = "摊", + ["攪"] = "搅", + ["攬"] = "揽", + ["敎"] = "教", + ["敓"] = "敚", + ["敗"] = "败", + ["敘"] = "叙", + ["敵"] = "敌", + ["數"] = "数", + ["斂"] = "敛", + ["斃"] = "毙", + ["斅"] = "𢽾", + ["斆"] = "敩", + ["斕"] = "斓", + ["斬"] = "斩", + ["斷"] = "断", + ["斸"] = "𣃁", + ["於"] = "于", + ["旂"] = "旗", + ["旣"] = "既", + ["昇"] = "升", + ["時"] = "时", + ["晉"] = "晋", + ["晛"] = "𬀪", + ["晝"] = "昼", + ["暈"] = "晕", + ["暉"] = "晖", + ["暐"] = "𬀩", + ["暘"] = "旸", + ["暢"] = "畅", + ["暫"] = "暂", + ["曄"] = "晔", + ["曆"] = "历", + ["曇"] = "昙", + ["曉"] = "晓", + ["曊"] = "𪰶", + ["曏"] = "向", + ["曖"] = "暧", + ["曠"] = "旷", + ["曥"] = "𣆐", + ["曨"] = "昽", + ["曬"] = "晒", + ["書"] = "书", + ["會"] = "会", + ["朥"] = "𦛨", + ["朧"] = "胧", + ["朮"] = "术", + ["東"] = "东", + ["枴"] = "拐", + ["柵"] = "栅", + ["柺"] = "拐", + ["査"] = "查", + ["桱"] = "𣐕", + ["桿"] = "杆", + ["梔"] = "栀", + ["梖"] = "𪱷", + ["梘"] = "枧", + ["梜"] = "𬂩", + ["條"] = "条", + ["梟"] = "枭", + ["梲"] = "棁", + ["棄"] = "弃", + ["棊"] = "棋", + ["棖"] = "枨", + ["棗"] = "枣", + ["棟"] = "栋", + ["棡"] = "㭎", + ["棧"] = "栈", + ["棲"] = "栖", + ["棶"] = "梾", + ["椏"] = "桠", + ["椲"] = "㭏", + ["楇"] = "𣒌", + ["楊"] = "杨", + ["楓"] = "枫", + ["楨"] = "桢", + ["業"] = "业", + ["極"] = "极", + ["榘"] = "矩", + ["榦"] = "干", + ["榪"] = "杩", + ["榮"] = "荣", + ["榲"] = "榅", + ["榿"] = "桤", + ["構"] = "构", + ["槍"] = "枪", + ["槓"] = "杠", + ["槤"] = "梿", + ["槧"] = "椠", + ["槨"] = "椁", + ["槫"] = "𣏢", + ["槮"] = "椮", + ["槳"] = "桨", + ["槶"] = "椢", + ["槼"] = "椝", + ["樁"] = "桩", + ["樂"] = "乐", + ["樅"] = "枞", + ["樑"] = "梁", + ["樓"] = "楼", + ["標"] = "标", + ["樞"] = "枢", + ["樠"] = "𣗊", + ["樢"] = "㭤", + ["樣"] = "样", + ["樤"] = "𣔌", + ["樧"] = "榝", + ["樫"] = "㭴", + ["樳"] = "桪", + ["樸"] = "朴", + ["樹"] = "树", + ["樺"] = "桦", + ["樿"] = "椫", + ["橈"] = "桡", + ["橋"] = "桥", + ["機"] = "机", + ["橢"] = "椭", + ["橫"] = "横", + ["橯"] = "𣓿", + ["檁"] = "檩", + ["檉"] = "柽", + ["檔"] = "档", + ["檜"] = "桧", + ["檟"] = "槚", + ["檢"] = "检", + ["檣"] = "樯", + ["檭"] = "𣘴", + ["檮"] = "梼", + ["檯"] = "台", + ["檳"] = "槟", + ["檵"] = "𪲛", + ["檸"] = "柠", + ["檻"] = "槛", + ["櫃"] = "柜", + ["櫅"] = "𪲎", + ["櫍"] = "𬃊", + ["櫓"] = "橹", + ["櫚"] = "榈", + ["櫛"] = "栉", + ["櫝"] = "椟", + ["櫞"] = "橼", + ["櫟"] = "栎", + ["櫠"] = "𪲮", + ["櫥"] = "橱", + ["櫧"] = "槠", + ["櫨"] = "栌", + ["櫪"] = "枥", + ["櫫"] = "橥", + ["櫬"] = "榇", + ["櫱"] = "蘖", + ["櫳"] = "栊", + ["櫸"] = "榉", + ["櫻"] = "樱", + ["欄"] = "栏", + ["欅"] = "榉", + ["欇"] = "𪳍", + ["權"] = "权", + ["欍"] = "𣐤", + ["欏"] = "椤", + ["欐"] = "𪲔", + ["欑"] = "𪴙", + ["欒"] = "栾", + ["欓"] = "𣗋", + ["欖"] = "榄", + ["欘"] = "𣚚", + ["欞"] = "棂", + ["欽"] = "钦", + ["歎"] = "叹", + ["歐"] = "欧", + ["歟"] = "欤", + ["歡"] = "欢", + ["歲"] = "岁", + ["歷"] = "历", + ["歸"] = "归", + ["歿"] = "殁", + ["殘"] = "残", + ["殞"] = "殒", + ["殢"] = "𣨼", + ["殤"] = "殇", + ["殨"] = "㱮", + ["殫"] = "殚", + ["殭"] = "僵", + ["殮"] = "殓", + ["殯"] = "殡", + ["殰"] = "㱩", + ["殲"] = "歼", + ["殺"] = "杀", + ["殻"] = "壳", + ["殼"] = "壳", + ["毀"] = "毁", + ["毆"] = "殴", + ["毊"] = "𪵑", + ["毿"] = "毵", + ["氂"] = "牦", + ["氈"] = "毡", + ["氌"] = "氇", + ["氣"] = "气", + ["氫"] = "氢", + ["氬"] = "氩", + ["氭"] = "𣱝", + ["氳"] = "氲", + ["氾"] = "泛", + ["汎"] = "泛", + ["汙"] = "污", + ["決"] = "决", + ["沒"] = "没", + ["沖"] = "冲", + ["況"] = "况", + ["泝"] = "溯", + ["洩"] = "泄", + ["洶"] = "汹", + ["浹"] = "浃", + ["浿"] = "𬇙", + ["涇"] = "泾", + ["涗"] = "涚", + ["涼"] = "凉", + ["淒"] = "凄", + ["淚"] = "泪", + ["淥"] = "渌", + ["淨"] = "净", + ["淩"] = "凌", + ["淪"] = "沦", + ["淵"] = "渊", + ["淶"] = "涞", + ["淺"] = "浅", + ["渙"] = "涣", + ["減"] = "减", + ["渢"] = "沨", + ["渦"] = "涡", + ["測"] = "测", + ["渾"] = "浑", + ["湊"] = "凑", + ["湋"] = "𣲗", + ["湞"] = "浈", + ["湧"] = "涌", + ["湯"] = "汤", + ["溈"] = "沩", + ["準"] = "准", + ["溝"] = "沟", + ["溡"] = "𪶄", + ["溫"] = "温", + ["溮"] = "浉", + ["溳"] = "涢", + ["溼"] = "湿", + ["滄"] = "沧", + ["滅"] = "灭", + ["滌"] = "涤", + ["滎"] = "荥", + ["滙"] = "汇", + ["滬"] = "沪", + ["滯"] = "滞", + ["滲"] = "渗", + ["滷"] = "卤", + ["滸"] = "浒", + ["滻"] = "浐", + ["滾"] = "滚", + ["滿"] = "满", + ["漁"] = "渔", + ["漊"] = "溇", + ["漍"] = "𬇹", + ["漚"] = "沤", + ["漢"] = "汉", + ["漣"] = "涟", + ["漬"] = "渍", + ["漲"] = "涨", + ["漵"] = "溆", + ["漸"] = "渐", + ["漿"] = "浆", + ["潁"] = "颍", + ["潑"] = "泼", + ["潔"] = "洁", + ["潕"] = "𣲘", + ["潙"] = "沩", + ["潚"] = "㴋", + ["潛"] = "潜", + ["潣"] = "𫞗", + ["潤"] = "润", + ["潯"] = "浔", + ["潰"] = "溃", + ["潷"] = "滗", + ["潿"] = "涠", + ["澀"] = "涩", + ["澅"] = "𣶩", + ["澆"] = "浇", + ["澇"] = "涝", + ["澐"] = "沄", + ["澗"] = "涧", + ["澠"] = "渑", + ["澤"] = "泽", + ["澦"] = "滪", + ["澩"] = "泶", + ["澫"] = "𬇕", + ["澬"] = "𫞚", + ["澮"] = "浍", + ["澱"] = "淀", + ["澾"] = "㳠", + ["濁"] = "浊", + ["濃"] = "浓", + ["濄"] = "㳡", + ["濆"] = "𣸣", + ["濕"] = "湿", + ["濘"] = "泞", + ["濚"] = "溁", + ["濛"] = "蒙", + ["濜"] = "浕", + ["濟"] = "济", + ["濤"] = "涛", + ["濧"] = "㳔", + ["濫"] = "滥", + ["濰"] = "潍", + ["濱"] = "滨", + ["濺"] = "溅", + ["濼"] = "泺", + ["濾"] = "滤", + ["濿"] = "𪵱", + ["瀂"] = "澛", + ["瀃"] = "𣽷", + ["瀅"] = "滢", + ["瀆"] = "渎", + ["瀇"] = "㲿", + ["瀉"] = "泻", + ["瀋"] = "沈", + ["瀏"] = "浏", + ["瀕"] = "濒", + ["瀘"] = "泸", + ["瀝"] = "沥", + ["瀟"] = "潇", + ["瀠"] = "潆", + ["瀦"] = "潴", + ["瀧"] = "泷", + ["瀨"] = "濑", + ["瀰"] = "弥", + ["瀲"] = "潋", + ["瀾"] = "澜", + ["灃"] = "沣", + ["灄"] = "滠", + ["灍"] = "𫞝", + ["灑"] = "洒", + ["灒"] = "𪷽", + ["灕"] = "漓", + ["灘"] = "滩", + ["灙"] = "𣺼", + ["灝"] = "灏", + ["灡"] = "㳕", + ["灣"] = "湾", + ["灤"] = "滦", + ["灧"] = "滟", + ["灩"] = "滟", + ["災"] = "灾", + ["為"] = "为", + ["烏"] = "乌", + ["烴"] = "烃", + ["無"] = "无", + ["煇"] = "𪸩", + ["煉"] = "炼", + ["煒"] = "炜", + ["煙"] = "烟", + ["煢"] = "茕", + ["煥"] = "焕", + ["煩"] = "烦", + ["煬"] = "炀", + ["煱"] = "㶽", + ["熂"] = "𪸕", + ["熅"] = "煴", + ["熉"] = "𤈶", + ["熌"] = "𤇄", + ["熒"] = "荧", + ["熓"] = "𤆡", + ["熗"] = "炝", + ["熚"] = "𤇹", + ["熡"] = "𤋏", + ["熰"] = "𬉼", + ["熱"] = "热", + ["熲"] = "颎", + ["熾"] = "炽", + ["燀"] = "𬊤", + ["燁"] = "烨", + ["燈"] = "灯", + ["燉"] = "炖", + ["燒"] = "烧", + ["燖"] = "𬊈", + ["燙"] = "烫", + ["燜"] = "焖", + ["營"] = "营", + ["燦"] = "灿", + ["燬"] = "毁", + ["燭"] = "烛", + ["燴"] = "烩", + ["燶"] = "㶶", + ["燻"] = "熏", + ["燼"] = "烬", + ["燾"] = "焘", + ["爃"] = "𫞡", + ["爄"] = "𤇃", + ["爇"] = "𦶟", + ["爍"] = "烁", + ["爐"] = "炉", + ["爖"] = "𤇭", + ["爛"] = "烂", + ["爥"] = "𪹳", + ["爧"] = "𫞠", + ["爭"] = "争", + ["爲"] = "为", + ["爺"] = "爷", + ["爾"] = "尔", + ["牀"] = "床", + ["牆"] = "墙", + ["牘"] = "牍", + ["牴"] = "牴", + ["牽"] = "牵", + ["犖"] = "荦", + ["犛"] = "牦", + ["犞"] = "𪺭", + ["犢"] = "犊", + ["犧"] = "牺", + ["狀"] = "状", + ["狹"] = "狭", + ["狽"] = "狈", + ["猌"] = "𪺽", + ["猙"] = "狰", + ["猶"] = "犹", + ["猻"] = "狲", + ["獁"] = "犸", + ["獃"] = "呆", + ["獄"] = "狱", + ["獅"] = "狮", + ["獊"] = "𪺷", + ["獎"] = "奖", + ["獨"] = "独", + ["獩"] = "𤞃", + ["獪"] = "狯", + ["獫"] = "猃", + ["獮"] = "狝", + ["獰"] = "狞", + ["獱"] = "㺍", + ["獲"] = "获", + ["獵"] = "猎", + ["獷"] = "犷", + ["獸"] = "兽", + ["獺"] = "獭", + ["獻"] = "献", + ["獼"] = "猕", + ["玀"] = "猡", + ["玁"] = "𤞤", + ["珼"] = "𫞥", + ["現"] = "现", + ["琱"] = "雕", + ["琺"] = "珐", + ["琿"] = "珲", + ["瑋"] = "玮", + ["瑒"] = "玚", + ["瑣"] = "琐", + ["瑤"] = "瑶", + ["瑩"] = "莹", + ["瑪"] = "玛", + ["瑲"] = "玱", + ["瑻"] = "𪻲", + ["瑽"] = "𪻐", + ["璉"] = "琏", + ["璊"] = "𫞩", + ["璕"] = "𬍤", + ["璗"] = "𬍡", + ["璝"] = "𪻺", + ["璡"] = "琎", + ["璣"] = "玑", + ["璦"] = "瑷", + ["璫"] = "珰", + ["璯"] = "㻅", + ["環"] = "环", + ["璵"] = "玙", + ["璸"] = "瑸", + ["璼"] = "𫞨", + ["璽"] = "玺", + ["璾"] = "𫞦", + ["璿"] = "璇", + ["瓄"] = "𪻨", + ["瓅"] = "𬍛", + ["瓊"] = "琼", + ["瓏"] = "珑", + ["瓔"] = "璎", + ["瓕"] = "𤦀", + ["瓚"] = "瓒", + ["瓛"] = "𤩽", + ["甌"] = "瓯", + ["甕"] = "瓮", + ["產"] = "产", + ["産"] = "产", + ["甦"] = "苏", + ["甯"] = "宁", + ["畝"] = "亩", + ["畢"] = "毕", + ["畫"] = "画", + ["異"] = "异", + ["畵"] = "画", + ["當"] = "当", + ["畼"] = "𪽈", + ["疇"] = "畴", + ["疊"] = "叠", + ["痙"] = "痉", + ["痠"] = "酸", + ["痮"] = "𪽪", + ["痾"] = "疴", + ["瘂"] = "痖", + ["瘋"] = "疯", + ["瘍"] = "疡", + ["瘓"] = "痪", + ["瘞"] = "瘗", + ["瘡"] = "疮", + ["瘧"] = "疟", + ["瘮"] = "瘆", + ["瘱"] = "𪽷", + ["瘲"] = "疭", + ["瘺"] = "瘘", + ["瘻"] = "瘘", + ["療"] = "疗", + ["癆"] = "痨", + ["癇"] = "痫", + ["癉"] = "瘅", + ["癐"] = "𤶊", + ["癒"] = "愈", + ["癘"] = "疠", + ["癟"] = "瘪", + ["癡"] = "痴", + ["癢"] = "痒", + ["癤"] = "疖", + ["癥"] = "症", + ["癧"] = "疬", + ["癩"] = "癞", + ["癬"] = "癣", + ["癭"] = "瘿", + ["癮"] = "瘾", + ["癰"] = "痈", + ["癱"] = "瘫", + ["癲"] = "癫", + ["發"] = "发", + ["皁"] = "皂", + ["皚"] = "皑", + ["皟"] = "𤾀", + ["皰"] = "疱", + ["皸"] = "皲", + ["皺"] = "皱", + ["盃"] = "杯", + ["盜"] = "盗", + ["盞"] = "盏", + ["盡"] = "尽", + ["監"] = "监", + ["盤"] = "盘", + ["盧"] = "卢", + ["盨"] = "𪾔", + ["盪"] = "荡", + ["眝"] = "𪾣", + ["眞"] = "真", + ["眥"] = "眦", + ["眾"] = "众", + ["睍"] = "𪾢", + ["睏"] = "困", + ["睜"] = "睁", + ["睞"] = "睐", + ["瞘"] = "眍", + ["瞜"] = "䁖", + ["瞞"] = "瞒", + ["瞤"] = "𥆧", + ["瞭"] = "瞭", + ["瞶"] = "瞆", + ["瞼"] = "睑", + ["矇"] = "蒙", + ["矉"] = "𪾸", + ["矑"] = "𪾦", + ["矓"] = "眬", + ["矚"] = "瞩", + ["矯"] = "矫", + ["硃"] = "朱", + ["硜"] = "硁", + ["硤"] = "硖", + ["硨"] = "砗", + ["硯"] = "砚", + ["碕"] = "埼", + ["碙"] = "𥐻", + ["碩"] = "硕", + ["碭"] = "砀", + ["碸"] = "砜", + ["確"] = "确", + ["碼"] = "码", + ["碽"] = "䂵", + ["磑"] = "硙", + ["磚"] = "砖", + ["磠"] = "硵", + ["磣"] = "碜", + ["磧"] = "碛", + ["磯"] = "矶", + ["磽"] = "硗", + ["磾"] = "䃅", + ["礄"] = "硚", + ["礆"] = "硷", + ["礎"] = "础", + ["礐"] = "𬒈", + ["礒"] = "𥐟", + ["礙"] = "碍", + ["礦"] = "矿", + ["礪"] = "砺", + ["礫"] = "砾", + ["礬"] = "矾", + ["礮"] = "𪿫", + ["礱"] = "砻", + ["祇"] = "祇", + ["祕"] = "秘", + ["祿"] = "禄", + ["禍"] = "祸", + ["禎"] = "祯", + ["禕"] = "祎", + ["禡"] = "祃", + ["禦"] = "御", + ["禪"] = "禅", + ["禮"] = "礼", + ["禰"] = "祢", + ["禱"] = "祷", + ["禿"] = "秃", + ["秈"] = "籼", + ["稅"] = "税", + ["稈"] = "秆", + ["稏"] = "䅉", + ["稜"] = "棱", + ["稟"] = "禀", + ["種"] = "种", + ["稱"] = "称", + ["穀"] = "谷", + ["穇"] = "䅟", + ["穌"] = "稣", + ["積"] = "积", + ["穎"] = "颖", + ["穠"] = "秾", + ["穡"] = "穑", + ["穢"] = "秽", + ["穩"] = "稳", + ["穫"] = "获", + ["穭"] = "穞", + ["窩"] = "窝", + ["窪"] = "洼", + ["窮"] = "穷", + ["窯"] = "窑", + ["窵"] = "窎", + ["窶"] = "窭", + ["窺"] = "窥", + ["竄"] = "窜", + ["竅"] = "窍", + ["竇"] = "窦", + ["竈"] = "灶", + ["竊"] = "窃", + ["竚"] = "𥩟", + ["竪"] = "竖", + ["竱"] = "𫁟", + ["競"] = "竞", + ["筆"] = "笔", + ["筍"] = "笋", + ["筧"] = "笕", + ["筴"] = "䇲", + ["箇"] = "个", + ["箋"] = "笺", + ["箏"] = "筝", + ["節"] = "节", + ["範"] = "范", + ["築"] = "筑", + ["篋"] = "箧", + ["篔"] = "筼", + ["篘"] = "𥬠", + ["篠"] = "筿", + ["篢"] = "𬕂", + ["篤"] = "笃", + ["篩"] = "筛", + ["篳"] = "筚", + ["篸"] = "𥮾", + ["簀"] = "箦", + ["簂"] = "𫂆", + ["簍"] = "篓", + ["簑"] = "蓑", + ["簞"] = "箪", + ["簡"] = "简", + ["簢"] = "𫂃", + ["簣"] = "篑", + ["簫"] = "箫", + ["簹"] = "筜", + ["簽"] = "签", + ["簾"] = "帘", + ["籃"] = "篮", + ["籅"] = "𥫣", + ["籋"] = "𥬞", + ["籌"] = "筹", + ["籔"] = "䉤", + ["籙"] = "箓", + ["籛"] = "篯", + ["籜"] = "箨", + ["籟"] = "籁", + ["籠"] = "笼", + ["籤"] = "签", + ["籩"] = "笾", + ["籪"] = "簖", + ["籬"] = "篱", + ["籮"] = "箩", + ["籲"] = "吁", + ["粵"] = "粤", + ["糉"] = "粽", + ["糝"] = "糁", + ["糞"] = "粪", + ["糧"] = "粮", + ["糰"] = "团", + ["糲"] = "粝", + ["糴"] = "籴", + ["糶"] = "粜", + ["糹"] = "纟", + ["糺"] = "𫄙", + ["糾"] = "纠", + ["紀"] = "纪", + ["紂"] = "纣", + ["紃"] = "𬘓", + ["約"] = "约", + ["紅"] = "红", + ["紆"] = "纡", + ["紇"] = "纥", + ["紈"] = "纨", + ["紉"] = "纫", + ["紋"] = "纹", + ["納"] = "纳", + ["紐"] = "纽", + ["紓"] = "纾", + ["純"] = "纯", + ["紕"] = "纰", + ["紖"] = "纼", + ["紗"] = "纱", + ["紘"] = "纮", + ["紙"] = "纸", + ["級"] = "级", + ["紛"] = "纷", + ["紜"] = "纭", + ["紝"] = "纴", + ["紞"] = "𬘘", + ["紟"] = "𫄛", + ["紡"] = "纺", + ["紬"] = "䌷", + ["紮"] = "扎", + ["細"] = "细", + ["紱"] = "绂", + ["紲"] = "绁", + ["紳"] = "绅", + ["紵"] = "纻", + ["紹"] = "绍", + ["紺"] = "绀", + ["紼"] = "绋", + ["紿"] = "绐", + ["絀"] = "绌", + ["絁"] = "𫄟", + ["終"] = "终", + ["絃"] = "弦", + ["組"] = "组", + ["絅"] = "䌹", + ["絆"] = "绊", + ["絍"] = "𫟃", + ["絎"] = "绗", + ["結"] = "结", + ["絕"] = "绝", + ["絙"] = "𫄠", + ["絛"] = "绦", + ["絝"] = "绔", + ["絞"] = "绞", + ["絡"] = "络", + ["絢"] = "绚", + ["絥"] = "𫄢", + ["給"] = "给", + ["絧"] = "𫄡", + ["絨"] = "绒", + ["絪"] = "𬘡", + ["絰"] = "绖", + ["統"] = "统", + ["絲"] = "丝", + ["絳"] = "绛", + ["絶"] = "绝", + ["絹"] = "绢", + ["絺"] = "𫄨", + ["綀"] = "𦈌", + ["綁"] = "绑", + ["綃"] = "绡", + ["綄"] = "𬘫", + ["綆"] = "绠", + ["綇"] = "𦈋", + ["綈"] = "绨", + ["綉"] = "绣", + ["綋"] = "𫟄", + ["綌"] = "绤", + ["綎"] = "𬘩", + ["綏"] = "绥", + ["綐"] = "䌼", + ["綑"] = "捆", + ["經"] = "经", + ["綖"] = "𫄧", + ["綜"] = "综", + ["綝"] = "𬘭", + ["綞"] = "缍", + ["綟"] = "𫄫", + ["綠"] = "绿", + ["綡"] = "𫟅", + ["綢"] = "绸", + ["綣"] = "绻", + ["綧"] = "𬘯", + ["綪"] = "𬘬", + ["綫"] = "线", + ["綬"] = "绶", + ["維"] = "维", + ["綯"] = "绹", + ["綰"] = "绾", + ["綱"] = "纲", + ["網"] = "网", + ["綳"] = "绷", + ["綴"] = "缀", + ["綵"] = "彩", + ["綸"] = "纶", + ["綹"] = "绺", + ["綺"] = "绮", + ["綻"] = "绽", + ["綽"] = "绰", + ["綾"] = "绫", + ["綿"] = "绵", + ["緄"] = "绲", + ["緇"] = "缁", + ["緊"] = "紧", + ["緋"] = "绯", + ["緍"] = "𦈏", + ["緑"] = "绿", + ["緒"] = "绪", + ["緓"] = "绬", + ["緔"] = "绱", + ["緗"] = "缃", + ["緘"] = "缄", + ["緙"] = "缂", + ["線"] = "线", + ["緝"] = "缉", + ["緞"] = "缎", + ["緟"] = "𫟆", + ["締"] = "缔", + ["緡"] = "缗", + ["緣"] = "缘", + ["緤"] = "𫄬", + ["緦"] = "缌", + ["編"] = "编", + ["緩"] = "缓", + ["緬"] = "缅", + ["緮"] = "𫄭", + ["緯"] = "纬", + ["緰"] = "𦈕", + ["緱"] = "缑", + ["緲"] = "缈", + ["練"] = "练", + ["緶"] = "缏", + ["緷"] = "𦈉", + ["緸"] = "𦈑", + ["緹"] = "缇", + ["緻"] = "致", + ["緼"] = "缊", + ["縈"] = "萦", + ["縉"] = "缙", + ["縊"] = "缢", + ["縋"] = "缒", + ["縍"] = "𫄰", + ["縎"] = "𦈔", + ["縐"] = "绉", + ["縑"] = "缣", + ["縕"] = "缊", + ["縗"] = "缞", + ["縛"] = "缚", + ["縝"] = "缜", + ["縞"] = "缟", + ["縟"] = "缛", + ["縣"] = "县", + ["縧"] = "绦", + ["縫"] = "缝", + ["縬"] = "𦈚", + ["縭"] = "缡", + ["縮"] = "缩", + ["縯"] = "𬙂", + ["縰"] = "𫄳", + ["縱"] = "纵", + ["縲"] = "缧", + ["縳"] = "䌸", + ["縴"] = "纤", + ["縵"] = "缦", + ["縶"] = "絷", + ["縷"] = "缕", + ["縸"] = "𫄲", + ["縹"] = "缥", + ["縺"] = "𦈐", + ["總"] = "总", + ["績"] = "绩", + ["繂"] = "𫄴", + ["繃"] = "绷", + ["繅"] = "缫", + ["繆"] = "缪", + ["繈"] = "𫄶", + ["繏"] = "𦈝", + ["繐"] = "𰬸", + ["繒"] = "缯", + ["繓"] = "𦈛", + ["織"] = "织", + ["繕"] = "缮", + ["繚"] = "缭", + ["繞"] = "绕", + ["繟"] = "𦈎", + ["繡"] = "绣", + ["繢"] = "缋", + ["繨"] = "𫄤", + ["繩"] = "绳", + ["繪"] = "绘", + ["繫"] = "系", + ["繬"] = "𫄱", + ["繭"] = "茧", + ["繮"] = "缰", + ["繯"] = "缳", + ["繰"] = "缲", + ["繳"] = "缴", + ["繶"] = "𫄷", + ["繷"] = "𫄣", + ["繸"] = "䍁", + ["繹"] = "绎", + ["繻"] = "𦈡", + ["繼"] = "继", + ["繽"] = "缤", + ["繾"] = "缱", + ["繿"] = "䍀", + ["纁"] = "𫄸", + ["纆"] = "𬙊", + ["纇"] = "颣", + ["纈"] = "缬", + ["纊"] = "纩", + ["續"] = "续", + ["纍"] = "累", + ["纏"] = "缠", + ["纓"] = "缨", + ["纔"] = "才", + ["纕"] = "𬙋", + ["纖"] = "纤", + ["纗"] = "𫄹", + ["纘"] = "缵", + ["纚"] = "𫄥", + ["纜"] = "缆", + ["缽"] = "钵", + ["罃"] = "䓨", + ["罈"] = "坛", + ["罌"] = "罂", + ["罎"] = "坛", + ["罰"] = "罚", + ["罵"] = "骂", + ["罷"] = "罢", + ["羅"] = "罗", + ["羆"] = "罴", + ["羈"] = "羁", + ["羋"] = "芈", + ["羣"] = "群", + ["羥"] = "羟", + ["羨"] = "羡", + ["義"] = "义", + ["羵"] = "𫅗", + ["羶"] = "膻", + ["習"] = "习", + ["翫"] = "玩", + ["翬"] = "翚", + ["翹"] = "翘", + ["翽"] = "翙", + ["耬"] = "耧", + ["耮"] = "耢", + ["聖"] = "圣", + ["聞"] = "闻", + ["聯"] = "联", + ["聰"] = "聪", + ["聲"] = "声", + ["聳"] = "耸", + ["聵"] = "聩", + ["聶"] = "聂", + ["職"] = "职", + ["聹"] = "聍", + ["聻"] = "𫆏", + ["聽"] = "听", + ["聾"] = "聋", + ["肅"] = "肃", + ["脅"] = "胁", + ["脈"] = "脉", + ["脛"] = "胫", + ["脣"] = "唇", + ["脥"] = "𣍰", + ["脩"] = "修", + ["脫"] = "脱", + ["脹"] = "胀", + ["腎"] = "肾", + ["腖"] = "胨", + ["腡"] = "脶", + ["腦"] = "脑", + ["腪"] = "𣍯", + ["腫"] = "肿", + ["腳"] = "脚", + ["腸"] = "肠", + ["膃"] = "腽", + ["膕"] = "腘", + ["膚"] = "肤", + ["膞"] = "䏝", + ["膠"] = "胶", + ["膢"] = "𦝼", + ["膩"] = "腻", + ["膹"] = "𪱥", + ["膽"] = "胆", + ["膾"] = "脍", + ["膿"] = "脓", + ["臉"] = "脸", + ["臍"] = "脐", + ["臏"] = "膑", + ["臗"] = "𣎑", + ["臘"] = "腊", + ["臚"] = "胪", + ["臟"] = "脏", + ["臠"] = "脔", + ["臢"] = "臜", + ["臥"] = "卧", + ["臨"] = "临", + ["臺"] = "台", + ["與"] = "与", + ["興"] = "兴", + ["舉"] = "举", + ["舊"] = "旧", + ["舘"] = "馆", + ["艙"] = "舱", + ["艣"] = "𫇛", + ["艤"] = "舣", + ["艦"] = "舰", + ["艫"] = "舻", + ["艱"] = "艰", + ["艷"] = "艳", + ["芻"] = "刍", + ["苧"] = "苎", + ["茲"] = "兹", + ["荊"] = "荆", + ["莊"] = "庄", + ["莖"] = "茎", + ["莢"] = "荚", + ["莧"] = "苋", + ["菕"] = "𰰨", + ["華"] = "华", + ["菴"] = "庵", + ["菸"] = "烟", + ["萇"] = "苌", + ["萊"] = "莱", + ["萬"] = "万", + ["萴"] = "荝", + ["萵"] = "莴", + ["葉"] = "叶", + ["葒"] = "荭", + ["葝"] = "𫈎", + ["葤"] = "荮", + ["葦"] = "苇", + ["葯"] = "药", + ["葷"] = "荤", + ["蒍"] = "𫇭", + ["蒐"] = "搜", + ["蒓"] = "莼", + ["蒔"] = "莳", + ["蒕"] = "蒀", + ["蒞"] = "莅", + ["蒭"] = "𫇴", + ["蒼"] = "苍", + ["蓀"] = "荪", + ["蓆"] = "席", + ["蓋"] = "盖", + ["蓧"] = "𦰏", + ["蓮"] = "莲", + ["蓯"] = "苁", + ["蓴"] = "莼", + ["蓽"] = "荜", + ["蔄"] = "𬜬", + ["蔔"] = "卜", + ["蔘"] = "参", + ["蔞"] = "蒌", + ["蔣"] = "蒋", + ["蔥"] = "葱", + ["蔦"] = "茑", + ["蔭"] = "荫", + ["蔯"] = "𫈟", + ["蔿"] = "𫇭", + ["蕁"] = "荨", + ["蕆"] = "蒇", + ["蕎"] = "荞", + ["蕒"] = "荬", + ["蕓"] = "芸", + ["蕕"] = "莸", + ["蕘"] = "荛", + ["蕝"] = "𫈵", + ["蕢"] = "蒉", + ["蕩"] = "荡", + ["蕪"] = "芜", + ["蕭"] = "萧", + ["蕳"] = "𫈉", + ["蕷"] = "蓣", + ["蕽"] = "𫇽", + ["薀"] = "蕰", + ["薆"] = "𫉁", + ["薈"] = "荟", + ["薊"] = "蓟", + ["薌"] = "芗", + ["薑"] = "姜", + ["薔"] = "蔷", + ["薘"] = "荙", + ["薟"] = "莶", + ["薦"] = "荐", + ["薩"] = "萨", + ["薳"] = "䓕", + ["薴"] = "苧", + ["薵"] = "䓓", + ["薹"] = "苔", + ["薺"] = "荠", + ["藉"] = "藉", + ["藍"] = "蓝", + ["藎"] = "荩", + ["藝"] = "艺", + ["藥"] = "药", + ["藪"] = "薮", + ["藭"] = "䓖", + ["藴"] = "蕴", + ["藶"] = "苈", + ["藷"] = "𫉄", + ["藹"] = "蔼", + ["藺"] = "蔺", + ["蘀"] = "萚", + ["蘄"] = "蕲", + ["蘆"] = "芦", + ["蘇"] = "苏", + ["蘊"] = "蕴", + ["蘋"] = "苹", + ["蘚"] = "藓", + ["蘞"] = "蔹", + ["蘟"] = "𦻕", + ["蘢"] = "茏", + ["蘭"] = "兰", + ["蘺"] = "蓠", + ["蘿"] = "萝", + ["虆"] = "蔂", + ["虉"] = "𬟁", + ["處"] = "处", + ["虛"] = "虚", + ["虜"] = "虏", + ["號"] = "号", + ["虧"] = "亏", + ["虯"] = "虬", + ["蛺"] = "蛱", + ["蛻"] = "蜕", + ["蜆"] = "蚬", + ["蝀"] = "𬟽", + ["蝕"] = "蚀", + ["蝟"] = "猬", + ["蝦"] = "虾", + ["蝨"] = "虱", + ["蝸"] = "蜗", + ["螄"] = "蛳", + ["螞"] = "蚂", + ["螢"] = "萤", + ["螮"] = "䗖", + ["螻"] = "蝼", + ["螿"] = "螀", + ["蟂"] = "𫋇", + ["蟄"] = "蛰", + ["蟈"] = "蝈", + ["蟎"] = "螨", + ["蟘"] = "𫋌", + ["蟜"] = "𫊸", + ["蟣"] = "虮", + ["蟬"] = "蝉", + ["蟯"] = "蛲", + ["蟲"] = "虫", + ["蟳"] = "𫊻", + ["蟶"] = "蛏", + ["蟻"] = "蚁", + ["蠀"] = "𧏗", + ["蠁"] = "蚃", + ["蠅"] = "蝇", + ["蠆"] = "虿", + ["蠍"] = "蝎", + ["蠐"] = "蛴", + ["蠑"] = "蝾", + ["蠔"] = "蚝", + ["蠙"] = "𧏖", + ["蠟"] = "蜡", + ["蠣"] = "蛎", + ["蠦"] = "𫊮", + ["蠨"] = "蟏", + ["蠱"] = "蛊", + ["蠶"] = "蚕", + ["蠻"] = "蛮", + ["蠾"] = "𧑏", + ["衆"] = "众", + ["衊"] = "蔑", + ["術"] = "术", + ["衕"] = "同", + ["衚"] = "胡", + ["衛"] = "卫", + ["衝"] = "冲", + ["衹"] = "衹", + ["袞"] = "衮", + ["裊"] = "袅", + ["裏"] = "里", + ["補"] = "补", + ["裝"] = "装", + ["裡"] = "里", + ["製"] = "制", + ["複"] = "复", + ["褌"] = "裈", + ["褘"] = "袆", + ["褲"] = "裤", + ["褳"] = "裢", + ["褸"] = "褛", + ["褻"] = "亵", + ["襀"] = "𫌀", + ["襇"] = "裥", + ["襉"] = "裥", + ["襏"] = "袯", + ["襓"] = "𫋹", + ["襖"] = "袄", + ["襗"] = "𫋷", + ["襘"] = "𫋻", + ["襝"] = "裣", + ["襠"] = "裆", + ["襤"] = "褴", + ["襪"] = "袜", + ["襬"] = "摆", + ["襯"] = "衬", + ["襰"] = "𧝝", + ["襲"] = "袭", + ["襴"] = "襕", + ["襵"] = "𫌇", + ["覆"] = "覆", + ["覈"] = "核", + ["見"] = "见", + ["覎"] = "觃", + ["規"] = "规", + ["覓"] = "觅", + ["視"] = "视", + ["覘"] = "觇", + ["覛"] = "𫌪", + ["覡"] = "觋", + ["覥"] = "觍", + ["覦"] = "觎", + ["親"] = "亲", + ["覬"] = "觊", + ["覯"] = "觏", + ["覲"] = "觐", + ["覷"] = "觑", + ["覹"] = "𫌭", + ["覺"] = "觉", + ["覼"] = "𫌨", + ["覽"] = "览", + ["覿"] = "觌", + ["觀"] = "观", + ["觴"] = "觞", + ["觶"] = "觯", + ["觸"] = "触", + ["訁"] = "讠", + ["訂"] = "订", + ["訃"] = "讣", + ["計"] = "计", + ["訊"] = "讯", + ["訌"] = "讧", + ["討"] = "讨", + ["訏"] = "𬣙", + ["訐"] = "讦", + ["訑"] = "𫍙", + ["訒"] = "讱", + ["訓"] = "训", + ["訕"] = "讪", + ["訖"] = "讫", + ["託"] = "托", + ["記"] = "记", + ["訛"] = "讹", + ["訜"] = "𫍛", + ["訝"] = "讶", + ["訞"] = "𫍚", + ["訟"] = "讼", + ["訢"] = "䜣", + ["訣"] = "诀", + ["訥"] = "讷", + ["訨"] = "𫟞", + ["訩"] = "讻", + ["訪"] = "访", + ["設"] = "设", + ["許"] = "许", + ["訴"] = "诉", + ["訶"] = "诃", + ["診"] = "诊", + ["註"] = "注", + ["証"] = "证", + ["詀"] = "𧮪", + ["詁"] = "诂", + ["詆"] = "诋", + ["詊"] = "𫟟", + ["詎"] = "讵", + ["詐"] = "诈", + ["詑"] = "𫍡", + ["詒"] = "诒", + ["詓"] = "𫍜", + ["詔"] = "诏", + ["評"] = "评", + ["詖"] = "诐", + ["詗"] = "诇", + ["詘"] = "诎", + ["詛"] = "诅", + ["詝"] = "𬣞", + ["詞"] = "词", + ["詠"] = "咏", + ["詡"] = "诩", + ["詢"] = "询", + ["詣"] = "诣", + ["試"] = "试", + ["詩"] = "诗", + ["詪"] = "𬣳", + ["詫"] = "诧", + ["詬"] = "诟", + ["詭"] = "诡", + ["詮"] = "诠", + ["詰"] = "诘", + ["話"] = "话", + ["該"] = "该", + ["詳"] = "详", + ["詵"] = "诜", + ["詷"] = "𫍣", + ["詼"] = "诙", + ["詿"] = "诖", + ["誂"] = "𫍥", + ["誄"] = "诔", + ["誅"] = "诛", + ["誆"] = "诓", + ["誇"] = "夸", + ["誋"] = "𫍪", + ["誌"] = "志", + ["認"] = "认", + ["誑"] = "诳", + ["誒"] = "诶", + ["誕"] = "诞", + ["誘"] = "诱", + ["誚"] = "诮", + ["語"] = "语", + ["誠"] = "诚", + ["誡"] = "诫", + ["誣"] = "诬", + ["誤"] = "误", + ["誥"] = "诰", + ["誦"] = "诵", + ["誨"] = "诲", + ["說"] = "说", + ["誫"] = "𫍨", + ["説"] = "说", + ["誰"] = "谁", + ["課"] = "课", + ["誳"] = "𫍮", + ["誴"] = "𫟡", + ["誶"] = "谇", + ["誷"] = "𫍬", + ["誹"] = "诽", + ["誺"] = "𫍧", + ["誼"] = "谊", + ["誾"] = "訚", + ["調"] = "调", + ["諂"] = "谄", + ["諄"] = "谆", + ["談"] = "谈", + ["諉"] = "诿", + ["請"] = "请", + ["諍"] = "诤", + ["諏"] = "诹", + ["諑"] = "诼", + ["諒"] = "谅", + ["諓"] = "𬣡", + ["論"] = "论", + ["諗"] = "谂", + ["諛"] = "谀", + ["諜"] = "谍", + ["諝"] = "谞", + ["諞"] = "谝", + ["諟"] = "𬤊", + ["諡"] = "谥", + ["諢"] = "诨", + ["諣"] = "𫍩", + ["諤"] = "谔", + ["諥"] = "𫍳", + ["諦"] = "谛", + ["諧"] = "谐", + ["諫"] = "谏", + ["諭"] = "谕", + ["諮"] = "咨", + ["諯"] = "𫍱", + ["諰"] = "𫍰", + ["諱"] = "讳", + ["諲"] = "𬤇", + ["諳"] = "谙", + ["諴"] = "𫍯", + ["諶"] = "谌", + ["諷"] = "讽", + ["諸"] = "诸", + ["諺"] = "谚", + ["諼"] = "谖", + ["諾"] = "诺", + ["謀"] = "谋", + ["謁"] = "谒", + ["謂"] = "谓", + ["謄"] = "誊", + ["謅"] = "诌", + ["謆"] = "𫍸", + ["謉"] = "𫍷", + ["謊"] = "谎", + ["謎"] = "谜", + ["謏"] = "𫍲", + ["謐"] = "谧", + ["謔"] = "谑", + ["謖"] = "谡", + ["謗"] = "谤", + ["謙"] = "谦", + ["謚"] = "谥", + ["講"] = "讲", + ["謝"] = "谢", + ["謠"] = "谣", + ["謡"] = "谣", + ["謨"] = "谟", + ["謫"] = "谪", + ["謬"] = "谬", + ["謭"] = "谫", + ["謯"] = "𫍹", + ["謱"] = "𫍴", + ["謳"] = "讴", + ["謸"] = "𫍵", + ["謹"] = "谨", + ["謾"] = "谩", + ["譁"] = "哗", + ["譂"] = "𫟠", + ["譅"] = "𰶎", + ["譆"] = "𫍻", + ["證"] = "证", + ["譊"] = "𫍢", + ["譎"] = "谲", + ["譏"] = "讥", + ["譑"] = "𫍤", + ["譓"] = "𬤝", + ["譖"] = "谮", + ["識"] = "识", + ["譙"] = "谯", + ["譚"] = "谭", + ["譜"] = "谱", + ["譞"] = "𫍽", + ["譟"] = "噪", + ["譨"] = "𫍦", + ["譫"] = "谵", + ["譭"] = "毁", + ["譯"] = "译", + ["議"] = "议", + ["譴"] = "谴", + ["護"] = "护", + ["譸"] = "诪", + ["譽"] = "誉", + ["譾"] = "谫", + ["讀"] = "读", + ["讅"] = "谉", + ["變"] = "变", + ["讋"] = "詟", + ["讌"] = "䜩", + ["讎"] = "雠", + ["讒"] = "谗", + ["讓"] = "让", + ["讕"] = "谰", + ["讖"] = "谶", + ["讚"] = "赞", + ["讜"] = "谠", + ["讞"] = "谳", + ["豈"] = "岂", + ["豎"] = "竖", + ["豐"] = "丰", + ["豔"] = "艳", + ["豬"] = "猪", + ["豵"] = "𫎆", + ["豶"] = "豮", + ["貓"] = "猫", + ["貗"] = "𫎌", + ["貙"] = "䝙", + ["貝"] = "贝", + ["貞"] = "贞", + ["貟"] = "贠", + ["負"] = "负", + ["財"] = "财", + ["貢"] = "贡", + ["貧"] = "贫", + ["貨"] = "货", + ["販"] = "贩", + ["貪"] = "贪", + ["貫"] = "贯", + ["責"] = "责", + ["貯"] = "贮", + ["貰"] = "贳", + ["貲"] = "赀", + ["貳"] = "贰", + ["貴"] = "贵", + ["貶"] = "贬", + ["買"] = "买", + ["貸"] = "贷", + ["貺"] = "贶", + ["費"] = "费", + ["貼"] = "贴", + ["貽"] = "贻", + ["貿"] = "贸", + ["賀"] = "贺", + ["賁"] = "贲", + ["賂"] = "赂", + ["賃"] = "赁", + ["賄"] = "贿", + ["賅"] = "赅", + ["資"] = "资", + ["賈"] = "贾", + ["賊"] = "贼", + ["賑"] = "赈", + ["賒"] = "赊", + ["賓"] = "宾", + ["賕"] = "赇", + ["賙"] = "赒", + ["賚"] = "赉", + ["賜"] = "赐", + ["賝"] = "𫎩", + ["賞"] = "赏", + ["賟"] = "𧹖", + ["賠"] = "赔", + ["賡"] = "赓", + ["賢"] = "贤", + ["賣"] = "卖", + ["賤"] = "贱", + ["賦"] = "赋", + ["賧"] = "赕", + ["質"] = "质", + ["賫"] = "赍", + ["賬"] = "账", + ["賭"] = "赌", + ["賰"] = "䞐", + ["賴"] = "赖", + ["賵"] = "赗", + ["賺"] = "赚", + ["賻"] = "赙", + ["購"] = "购", + ["賽"] = "赛", + ["賾"] = "赜", + ["贃"] = "𧹗", + ["贄"] = "贽", + ["贅"] = "赘", + ["贇"] = "赟", + ["贈"] = "赠", + ["贉"] = "𫎫", + ["贊"] = "赞", + ["贋"] = "赝", + ["贍"] = "赡", + ["贏"] = "赢", + ["贐"] = "赆", + ["贑"] = "𫎬", + ["贓"] = "赃", + ["贔"] = "赑", + ["贖"] = "赎", + ["贗"] = "赝", + ["贚"] = "𫎦", + ["贛"] = "赣", + ["贜"] = "赃", + ["赬"] = "赪", + ["趕"] = "赶", + ["趙"] = "赵", + ["趨"] = "趋", + ["趲"] = "趱", + ["跡"] = "迹", + ["踐"] = "践", + ["踰"] = "逾", + ["踴"] = "踊", + ["蹌"] = "跄", + ["蹔"] = "𫏐", + ["蹕"] = "跸", + ["蹟"] = "迹", + ["蹠"] = "跖", + ["蹣"] = "蹒", + ["蹤"] = "踪", + ["蹳"] = "𫏆", + ["蹺"] = "跷", + ["蹻"] = "𫏋", + ["躂"] = "跶", + ["躉"] = "趸", + ["躊"] = "踌", + ["躋"] = "跻", + ["躍"] = "跃", + ["躎"] = "䟢", + ["躑"] = "踯", + ["躒"] = "跞", + ["躓"] = "踬", + ["躕"] = "蹰", + ["躘"] = "𨀁", + ["躚"] = "跹", + ["躝"] = "𨅬", + ["躡"] = "蹑", + ["躥"] = "蹿", + ["躦"] = "躜", + ["躪"] = "躏", + ["軀"] = "躯", + ["軉"] = "𨉗", + ["車"] = "车", + ["軋"] = "轧", + ["軌"] = "轨", + ["軍"] = "军", + ["軏"] = "𫐄", + ["軑"] = "轪", + ["軒"] = "轩", + ["軔"] = "轫", + ["軕"] = "𫐅", + ["軗"] = "𨐅", + ["軛"] = "轭", + ["軜"] = "𫐇", + ["軝"] = "𬨂", + ["軟"] = "软", + ["軤"] = "轷", + ["軨"] = "𫐉", + ["軫"] = "轸", + ["軬"] = "𫐊", + ["軲"] = "轱", + ["軷"] = "𫐈", + ["軸"] = "轴", + ["軹"] = "轵", + ["軺"] = "轺", + ["軻"] = "轲", + ["軼"] = "轶", + ["軾"] = "轼", + ["軿"] = "𫐌", + ["較"] = "较", + ["輄"] = "𨐈", + ["輅"] = "辂", + ["輇"] = "辁", + ["輈"] = "辀", + ["載"] = "载", + ["輊"] = "轾", + ["輋"] = "𪨶", + ["輒"] = "辄", + ["輓"] = "挽", + ["輔"] = "辅", + ["輕"] = "轻", + ["輖"] = "𫐏", + ["輗"] = "𫐐", + ["輛"] = "辆", + ["輜"] = "辎", + ["輝"] = "辉", + ["輞"] = "辋", + ["輟"] = "辍", + ["輢"] = "𫐎", + ["輥"] = "辊", + ["輦"] = "辇", + ["輨"] = "𫐑", + ["輩"] = "辈", + ["輪"] = "轮", + ["輬"] = "辌", + ["輮"] = "𫐓", + ["輯"] = "辑", + ["輳"] = "辏", + ["輶"] = "𬨎", + ["輷"] = "𫐒", + ["輸"] = "输", + ["輻"] = "辐", + ["輼"] = "辒", + ["輾"] = "辗", + ["輿"] = "舆", + ["轀"] = "辒", + ["轂"] = "毂", + ["轄"] = "辖", + ["轅"] = "辕", + ["轆"] = "辘", + ["轇"] = "𫐖", + ["轉"] = "转", + ["轊"] = "𫐕", + ["轍"] = "辙", + ["轎"] = "轿", + ["轐"] = "𫐗", + ["轔"] = "辚", + ["轗"] = "𫐘", + ["轟"] = "轰", + ["轠"] = "𫐙", + ["轡"] = "辔", + ["轢"] = "轹", + ["轣"] = "𫐆", + ["轤"] = "轳", + ["辦"] = "办", + ["辭"] = "辞", + ["辮"] = "辫", + ["辯"] = "辩", + ["農"] = "农", + ["迴"] = "回", + ["逕"] = "迳", + ["這"] = "这", + ["連"] = "连", + ["週"] = "周", + ["進"] = "进", + ["遊"] = "游", + ["運"] = "运", + ["過"] = "过", + ["達"] = "达", + ["違"] = "违", + ["遙"] = "遥", + ["遜"] = "逊", + ["遞"] = "递", + ["遠"] = "远", + ["遡"] = "溯", + ["適"] = "适", + ["遱"] = "𫐷", + ["遲"] = "迟", + ["遷"] = "迁", + ["選"] = "选", + ["遺"] = "遗", + ["遼"] = "辽", + ["邁"] = "迈", + ["還"] = "还", + ["邇"] = "迩", + ["邊"] = "边", + ["邏"] = "逻", + ["邐"] = "逦", + ["郟"] = "郏", + ["郵"] = "邮", + ["鄆"] = "郓", + ["鄉"] = "乡", + ["鄒"] = "邹", + ["鄔"] = "邬", + ["鄖"] = "郧", + ["鄟"] = "𫑘", + ["鄧"] = "邓", + ["鄩"] = "𬩽", + ["鄭"] = "郑", + ["鄰"] = "邻", + ["鄲"] = "郸", + ["鄳"] = "𫑡", + ["鄴"] = "邺", + ["鄶"] = "郐", + ["鄺"] = "邝", + ["酇"] = "酂", + ["酈"] = "郦", + ["醃"] = "腌", + ["醖"] = "酝", + ["醜"] = "丑", + ["醞"] = "酝", + ["醟"] = "蒏", + ["醣"] = "糖", + ["醫"] = "医", + ["醬"] = "酱", + ["醱"] = "酦", + ["醲"] = "𬪩", + ["醶"] = "𫑷", + ["釀"] = "酿", + ["釁"] = "衅", + ["釃"] = "酾", + ["釅"] = "酽", + ["釋"] = "释", + ["釐"] = "厘", + ["釒"] = "钅", + ["釓"] = "钆", + ["釔"] = "钇", + ["釕"] = "钌", + ["釗"] = "钊", + ["釘"] = "钉", + ["釙"] = "钋", + ["釚"] = "𫟲", + ["針"] = "针", + ["釟"] = "𫓥", + ["釣"] = "钓", + ["釤"] = "钐", + ["釦"] = "扣", + ["釧"] = "钏", + ["釨"] = "𫓦", + ["釩"] = "钒", + ["釲"] = "𫟳", + ["釳"] = "𨰿", + ["釴"] = "𬬩", + ["釵"] = "钗", + ["釷"] = "钍", + ["釹"] = "钕", + ["釺"] = "钎", + ["釾"] = "䥺", + ["釿"] = "𬬱", + ["鈀"] = "钯", + ["鈁"] = "钫", + ["鈃"] = "钘", + ["鈄"] = "钭", + ["鈅"] = "钥", + ["鈆"] = "𫓪", + ["鈇"] = "𫓧", + ["鈈"] = "钚", + ["鈉"] = "钠", + ["鈋"] = "𨱂", + ["鈍"] = "钝", + ["鈎"] = "钩", + ["鈐"] = "钤", + ["鈑"] = "钣", + ["鈒"] = "钑", + ["鈔"] = "钞", + ["鈕"] = "钮", + ["鈖"] = "𫟴", + ["鈗"] = "𫟵", + ["鈛"] = "𫓨", + ["鈞"] = "钧", + ["鈠"] = "𨱁", + ["鈡"] = "钟", + ["鈣"] = "钙", + ["鈥"] = "钬", + ["鈦"] = "钛", + ["鈧"] = "钪", + ["鈮"] = "铌", + ["鈯"] = "𨱄", + ["鈰"] = "铈", + ["鈲"] = "𨱃", + ["鈳"] = "钶", + ["鈴"] = "铃", + ["鈷"] = "钴", + ["鈸"] = "钹", + ["鈹"] = "铍", + ["鈺"] = "钰", + ["鈽"] = "钸", + ["鈾"] = "铀", + ["鈿"] = "钿", + ["鉀"] = "钾", + ["鉁"] = "𨱅", + ["鉅"] = "巨", + ["鉆"] = "钻", + ["鉈"] = "铊", + ["鉉"] = "铉", + ["鉊"] = "𬬿", + ["鉋"] = "铇", + ["鉍"] = "铋", + ["鉑"] = "铂", + ["鉔"] = "𫓬", + ["鉕"] = "钷", + ["鉗"] = "钳", + ["鉚"] = "铆", + ["鉛"] = "铅", + ["鉝"] = "𫟷", + ["鉞"] = "钺", + ["鉠"] = "𫓭", + ["鉢"] = "钵", + ["鉤"] = "钩", + ["鉥"] = "𬬸", + ["鉦"] = "钲", + ["鉧"] = "𬭁", + ["鉬"] = "钼", + ["鉭"] = "钽", + ["鉮"] = "𬬹", + ["鉳"] = "锫", + ["鉶"] = "铏", + ["鉷"] = "𫟹", + ["鉸"] = "铰", + ["鉺"] = "铒", + ["鉻"] = "铬", + ["鉽"] = "𫟸", + ["鉾"] = "𫓴", + ["鉿"] = "铪", + ["銀"] = "银", + ["銁"] = "𫓲", + ["銂"] = "𫟻", + ["銃"] = "铳", + ["銅"] = "铜", + ["銈"] = "𫓯", + ["銊"] = "𫓰", + ["銍"] = "铚", + ["銏"] = "𫟶", + ["銑"] = "铣", + ["銓"] = "铨", + ["銖"] = "铢", + ["銘"] = "铭", + ["銚"] = "铫", + ["銛"] = "铦", + ["銜"] = "衔", + ["銠"] = "铑", + ["銣"] = "铷", + ["銥"] = "铱", + ["銦"] = "铟", + ["銨"] = "铵", + ["銩"] = "铥", + ["銪"] = "铕", + ["銫"] = "铯", + ["銬"] = "铐", + ["銱"] = "铞", + ["銳"] = "锐", + ["銶"] = "𨱇", + ["銷"] = "销", + ["銹"] = "锈", + ["銻"] = "锑", + ["銼"] = "锉", + ["鋁"] = "铝", + ["鋂"] = "𰾄", + ["鋃"] = "锒", + ["鋅"] = "锌", + ["鋇"] = "钡", + ["鋉"] = "𨱈", + ["鋌"] = "铤", + ["鋏"] = "铗", + ["鋐"] = "𬭎", + ["鋒"] = "锋", + ["鋗"] = "𫓶", + ["鋙"] = "铻", + ["鋝"] = "锊", + ["鋟"] = "锓", + ["鋠"] = "𫓵", + ["鋣"] = "铘", + ["鋤"] = "锄", + ["鋥"] = "锃", + ["鋦"] = "锔", + ["鋨"] = "锇", + ["鋩"] = "铓", + ["鋪"] = "铺", + ["鋭"] = "锐", + ["鋮"] = "铖", + ["鋯"] = "锆", + ["鋰"] = "锂", + ["鋱"] = "铽", + ["鋶"] = "锍", + ["鋸"] = "锯", + ["鋹"] = "𬬮", + ["鋼"] = "钢", + ["錀"] = "𬬭", + ["錁"] = "锞", + ["錂"] = "𨱋", + ["錄"] = "录", + ["錆"] = "锖", + ["錇"] = "锫", + ["錈"] = "锩", + ["錏"] = "铔", + ["錐"] = "锥", + ["錒"] = "锕", + ["錕"] = "锟", + ["錘"] = "锤", + ["錙"] = "锱", + ["錚"] = "铮", + ["錛"] = "锛", + ["錜"] = "𫓻", + ["錝"] = "𫓽", + ["錞"] = "𬭚", + ["錟"] = "锬", + ["錠"] = "锭", + ["錡"] = "锜", + ["錢"] = "钱", + ["錤"] = "𫓹", + ["錥"] = "𫓾", + ["錦"] = "锦", + ["錨"] = "锚", + ["錩"] = "锠", + ["錫"] = "锡", + ["錮"] = "锢", + ["錯"] = "错", + ["録"] = "录", + ["錳"] = "锰", + ["錶"] = "表", + ["錸"] = "铼", + ["錼"] = "镎", + ["錽"] = "𫓸", + ["鍀"] = "锝", + ["鍁"] = "锨", + ["鍃"] = "锪", + ["鍄"] = "𨱉", + ["鍅"] = "钫", + ["鍆"] = "钔", + ["鍇"] = "锴", + ["鍈"] = "锳", + ["鍉"] = "𫔂", + ["鍊"] = "炼", + ["鍋"] = "锅", + ["鍍"] = "镀", + ["鍒"] = "𫔄", + ["鍔"] = "锷", + ["鍘"] = "铡", + ["鍚"] = "钖", + ["鍛"] = "锻", + ["鍠"] = "锽", + ["鍤"] = "锸", + ["鍥"] = "锲", + ["鍩"] = "锘", + ["鍬"] = "锹", + ["鍭"] = "𬭤", + ["鍮"] = "𨱎", + ["鍰"] = "锾", + ["鍵"] = "键", + ["鍶"] = "锶", + ["鍺"] = "锗", + ["鍼"] = "针", + ["鍾"] = "钟", + ["鎂"] = "镁", + ["鎄"] = "锿", + ["鎇"] = "镅", + ["鎈"] = "𫟿", + ["鎊"] = "镑", + ["鎌"] = "镰", + ["鎍"] = "𫔅", + ["鎓"] = "𬭩", + ["鎔"] = "镕", + ["鎖"] = "锁", + ["鎘"] = "镉", + ["鎙"] = "𫔈", + ["鎚"] = "锤", + ["鎛"] = "镈", + ["鎝"] = "𨱏", + ["鎞"] = "𫔇", + ["鎡"] = "镃", + ["鎢"] = "钨", + ["鎣"] = "蓥", + ["鎦"] = "镏", + ["鎧"] = "铠", + ["鎩"] = "铩", + ["鎪"] = "锼", + ["鎬"] = "镐", + ["鎭"] = "镇", + ["鎮"] = "镇", + ["鎯"] = "𨱍", + ["鎰"] = "镒", + ["鎲"] = "镋", + ["鎳"] = "镍", + ["鎵"] = "镓", + ["鎶"] = "鿔", + ["鎷"] = "𨰾", + ["鎸"] = "镌", + ["鎿"] = "镎", + ["鏃"] = "镞", + ["鏆"] = "𨱌", + ["鏇"] = "旋", + ["鏈"] = "链", + ["鏉"] = "𨱒", + ["鏌"] = "镆", + ["鏍"] = "镙", + ["鏏"] = "𬭬", + ["鏐"] = "镠", + ["鏑"] = "镝", + ["鏗"] = "铿", + ["鏘"] = "锵", + ["鏚"] = "𬭭", + ["鏜"] = "镗", + ["鏝"] = "镘", + ["鏞"] = "镛", + ["鏟"] = "铲", + ["鏡"] = "镜", + ["鏢"] = "镖", + ["鏤"] = "镂", + ["鏥"] = "𫔊", + ["鏦"] = "𫓩", + ["鏨"] = "錾", + ["鏰"] = "镚", + ["鏵"] = "铧", + ["鏷"] = "镤", + ["鏹"] = "镪", + ["鏺"] = "䥽", + ["鏻"] = "𬭸", + ["鏽"] = "锈", + ["鏾"] = "𫔌", + ["鐃"] = "铙", + ["鐄"] = "𨱑", + ["鐇"] = "𫔍", + ["鐈"] = "𫓱", + ["鐋"] = "铴", + ["鐍"] = "𫔎", + ["鐎"] = "𨱓", + ["鐏"] = "𨱔", + ["鐐"] = "镣", + ["鐒"] = "铹", + ["鐓"] = "镦", + ["鐔"] = "镡", + ["鐘"] = "钟", + ["鐙"] = "镫", + ["鐝"] = "镢", + ["鐠"] = "镨", + ["鐥"] = "䦅", + ["鐦"] = "锎", + ["鐧"] = "锏", + ["鐨"] = "镄", + ["鐩"] = "𬭼", + ["鐪"] = "𫓺", + ["鐫"] = "镌", + ["鐮"] = "镰", + ["鐯"] = "䦃", + ["鐲"] = "镯", + ["鐳"] = "镭", + ["鐵"] = "铁", + ["鐶"] = "镮", + ["鐸"] = "铎", + ["鐺"] = "铛", + ["鐼"] = "𫔁", + ["鐽"] = "𫟼", + ["鐿"] = "镱", + ["鑀"] = "𰾭", + ["鑄"] = "铸", + ["鑉"] = "𫠁", + ["鑊"] = "镬", + ["鑌"] = "镔", + ["鑑"] = "鉴", + ["鑒"] = "鉴", + ["鑔"] = "镲", + ["鑕"] = "锧", + ["鑞"] = "镴", + ["鑠"] = "铄", + ["鑣"] = "镳", + ["鑥"] = "镥", + ["鑪"] = "𬬻", + ["鑭"] = "镧", + ["鑰"] = "钥", + ["鑱"] = "镵", + ["鑲"] = "镶", + ["鑴"] = "𫔔", + ["鑷"] = "镊", + ["鑹"] = "镩", + ["鑼"] = "锣", + ["鑽"] = "钻", + ["鑾"] = "銮", + ["鑿"] = "凿", + ["钁"] = "镢", + ["钂"] = "镋", + ["長"] = "长", + ["門"] = "门", + ["閂"] = "闩", + ["閃"] = "闪", + ["閆"] = "闫", + ["閈"] = "闬", + ["閉"] = "闭", + ["開"] = "开", + ["閌"] = "闶", + ["閍"] = "𨸂", + ["閎"] = "闳", + ["閏"] = "闰", + ["閐"] = "𨸃", + ["閑"] = "闲", + ["閒"] = "闲", + ["間"] = "间", + ["閔"] = "闵", + ["閗"] = "𫔯", + ["閘"] = "闸", + ["閝"] = "𫠂", + ["閞"] = "𫔰", + ["閡"] = "阂", + ["閣"] = "阁", + ["閤"] = "合", + ["閥"] = "阀", + ["閨"] = "闺", + ["閩"] = "闽", + ["閫"] = "阃", + ["閬"] = "阆", + ["閭"] = "闾", + ["閱"] = "阅", + ["閲"] = "阅", + ["閵"] = "𫔴", + ["閶"] = "阊", + ["閹"] = "阉", + ["閻"] = "阎", + ["閼"] = "阏", + ["閽"] = "阍", + ["閾"] = "阈", + ["閿"] = "阌", + ["闃"] = "阒", + ["闆"] = "板", + ["闇"] = "暗", + ["闈"] = "闱", + ["闉"] = "𬮱", + ["闊"] = "阔", + ["闋"] = "阕", + ["闌"] = "阑", + ["闍"] = "阇", + ["闐"] = "阗", + ["闑"] = "𫔶", + ["闒"] = "阘", + ["闓"] = "闿", + ["闔"] = "阖", + ["闕"] = "阙", + ["闖"] = "闯", + ["關"] = "关", + ["闞"] = "阚", + ["闠"] = "阓", + ["闡"] = "阐", + ["闢"] = "辟", + ["闤"] = "阛", + ["闥"] = "闼", + ["阪"] = "阪", + ["陘"] = "陉", + ["陝"] = "陕", + ["陞"] = "升", + ["陣"] = "阵", + ["陰"] = "阴", + ["陳"] = "陈", + ["陸"] = "陆", + ["陽"] = "阳", + ["隉"] = "陧", + ["隊"] = "队", + ["階"] = "阶", + ["隑"] = "𬮿", + ["隕"] = "陨", + ["際"] = "际", + ["隤"] = "𬯎", + ["隨"] = "随", + ["險"] = "险", + ["隮"] = "𬯀", + ["隯"] = "陦", + ["隱"] = "隐", + ["隴"] = "陇", + ["隸"] = "隶", + ["隻"] = "只", + ["雋"] = "隽", + ["雖"] = "虽", + ["雙"] = "双", + ["雛"] = "雏", + ["雜"] = "杂", + ["雞"] = "鸡", + ["離"] = "离", + ["難"] = "难", + ["雲"] = "云", + ["電"] = "电", + ["霑"] = "沾", + ["霢"] = "霡", + ["霣"] = "𫕥", + ["霧"] = "雾", + ["霼"] = "𪵣", + ["霽"] = "霁", + ["靂"] = "雳", + ["靄"] = "霭", + ["靆"] = "叇", + ["靈"] = "灵", + ["靉"] = "叆", + ["靚"] = "靓", + ["靜"] = "静", + ["靝"] = "靔", + ["靦"] = "腼", + ["靧"] = "𫖃", + ["靨"] = "靥", + ["鞏"] = "巩", + ["鞝"] = "绱", + ["鞦"] = "秋", + ["鞽"] = "鞒", + ["鞾"] = "𫖇", + ["韁"] = "缰", + ["韃"] = "鞑", + ["韆"] = "千", + ["韉"] = "鞯", + ["韋"] = "韦", + ["韌"] = "韧", + ["韍"] = "韨", + ["韓"] = "韩", + ["韙"] = "韪", + ["韚"] = "𫠅", + ["韛"] = "𫖔", + ["韜"] = "韬", + ["韝"] = "鞲", + ["韞"] = "韫", + ["韠"] = "𫖒", + ["韻"] = "韵", + ["響"] = "响", + ["頁"] = "页", + ["頂"] = "顶", + ["頃"] = "顷", + ["項"] = "项", + ["順"] = "顺", + ["頇"] = "顸", + ["須"] = "须", + ["頊"] = "顼", + ["頌"] = "颂", + ["頍"] = "𫠆", + ["頎"] = "颀", + ["頏"] = "颃", + ["預"] = "预", + ["頑"] = "顽", + ["頒"] = "颁", + ["頓"] = "顿", + ["頔"] = "𬱖", + ["頗"] = "颇", + ["領"] = "领", + ["頜"] = "颌", + ["頠"] = "𬱟", + ["頡"] = "颉", + ["頤"] = "颐", + ["頦"] = "颏", + ["頫"] = "𫖯", + ["頭"] = "头", + ["頮"] = "颒", + ["頰"] = "颊", + ["頲"] = "颋", + ["頴"] = "颕", + ["頵"] = "𫖳", + ["頷"] = "颔", + ["頸"] = "颈", + ["頹"] = "颓", + ["頻"] = "频", + ["頽"] = "颓", + ["顂"] = "𩓋", + ["顃"] = "𩖖", + ["顅"] = "𫖶", + ["顆"] = "颗", + ["題"] = "题", + ["額"] = "额", + ["顎"] = "颚", + ["顏"] = "颜", + ["顒"] = "颙", + ["顓"] = "颛", + ["顔"] = "颜", + ["顗"] = "𫖮", + ["願"] = "愿", + ["顙"] = "颡", + ["顛"] = "颠", + ["類"] = "类", + ["顢"] = "颟", + ["顣"] = "𫖹", + ["顥"] = "颢", + ["顧"] = "顾", + ["顫"] = "颤", + ["顬"] = "颥", + ["顯"] = "显", + ["顰"] = "颦", + ["顱"] = "颅", + ["顳"] = "颞", + ["顴"] = "颧", + ["風"] = "风", + ["颭"] = "飐", + ["颮"] = "飑", + ["颯"] = "飒", + ["颰"] = "𩙥", + ["颱"] = "台", + ["颳"] = "刮", + ["颶"] = "飓", + ["颷"] = "𩙪", + ["颸"] = "飔", + ["颺"] = "飏", + ["颻"] = "飖", + ["颼"] = "飕", + ["颾"] = "𩙫", + ["飀"] = "飗", + ["飄"] = "飘", + ["飆"] = "飙", + ["飈"] = "飚", + ["飋"] = "𫗋", + ["飛"] = "飞", + ["飠"] = "饣", + ["飢"] = "饥", + ["飣"] = "饤", + ["飥"] = "饦", + ["飦"] = "𫗞", + ["飩"] = "饨", + ["飪"] = "饪", + ["飫"] = "饫", + ["飭"] = "饬", + ["飯"] = "饭", + ["飱"] = "飧", + ["飲"] = "饮", + ["飴"] = "饴", + ["飵"] = "𫗢", + ["飶"] = "𫗣", + ["飼"] = "饲", + ["飽"] = "饱", + ["飾"] = "饰", + ["飿"] = "饳", + ["餃"] = "饺", + ["餄"] = "饸", + ["餅"] = "饼", + ["餈"] = "糍", + ["餉"] = "饷", + ["養"] = "养", + ["餌"] = "饵", + ["餎"] = "饹", + ["餏"] = "饻", + ["餑"] = "饽", + ["餒"] = "馁", + ["餓"] = "饿", + ["餔"] = "𫗦", + ["餕"] = "馂", + ["餖"] = "饾", + ["餗"] = "𫗧", + ["餘"] = "余", + ["餚"] = "肴", + ["餛"] = "馄", + ["餜"] = "馃", + ["餞"] = "饯", + ["餡"] = "馅", + ["餦"] = "𫗠", + ["餧"] = "𫗪", + ["館"] = "馆", + ["餪"] = "𫗬", + ["餫"] = "𫗥", + ["餬"] = "糊", + ["餭"] = "𫗮", + ["餱"] = "糇", + ["餳"] = "饧", + ["餵"] = "喂", + ["餶"] = "馉", + ["餷"] = "馇", + ["餸"] = "𩠌", + ["餺"] = "馎", + ["餼"] = "饩", + ["餾"] = "馏", + ["餿"] = "馊", + ["饁"] = "馌", + ["饃"] = "馍", + ["饅"] = "馒", + ["饈"] = "馐", + ["饉"] = "馑", + ["饊"] = "馓", + ["饋"] = "馈", + ["饌"] = "馔", + ["饑"] = "饥", + ["饒"] = "饶", + ["饗"] = "飨", + ["饘"] = "𫗴", + ["饜"] = "餍", + ["饞"] = "馋", + ["饟"] = "𫗵", + ["饠"] = "𫗩", + ["饢"] = "馕", + ["馬"] = "马", + ["馭"] = "驭", + ["馮"] = "冯", + ["馯"] = "𫘛", + ["馱"] = "驮", + ["馳"] = "驰", + ["馴"] = "驯", + ["馹"] = "驲", + ["馼"] = "𫘜", + ["駁"] = "驳", + ["駃"] = "𫘝", + ["駉"] = "𬳶", + ["駊"] = "𫘟", + ["駎"] = "𩧨", + ["駐"] = "驻", + ["駑"] = "驽", + ["駒"] = "驹", + ["駓"] = "𬳵", + ["駔"] = "驵", + ["駕"] = "驾", + ["駘"] = "骀", + ["駙"] = "驸", + ["駚"] = "𩧫", + ["駛"] = "驶", + ["駝"] = "驼", + ["駞"] = "𫘞", + ["駟"] = "驷", + ["駡"] = "骂", + ["駢"] = "骈", + ["駤"] = "𫘠", + ["駧"] = "𩧲", + ["駩"] = "𩧴", + ["駪"] = "𬳽", + ["駫"] = "𫘡", + ["駭"] = "骇", + ["駰"] = "骃", + ["駱"] = "骆", + ["駶"] = "𩧺", + ["駸"] = "骎", + ["駻"] = "𫘣", + ["駼"] = "𬳿", + ["駿"] = "骏", + ["騁"] = "骋", + ["騂"] = "骍", + ["騃"] = "𫘤", + ["騄"] = "𫘧", + ["騅"] = "骓", + ["騉"] = "𫘥", + ["騊"] = "𫘦", + ["騌"] = "骔", + ["騍"] = "骒", + ["騎"] = "骑", + ["騏"] = "骐", + ["騑"] = "𬴂", + ["騔"] = "𩨀", + ["騖"] = "骛", + ["騙"] = "骗", + ["騚"] = "𩨊", + ["騜"] = "𫘩", + ["騝"] = "𩨃", + ["騞"] = "𬴃", + ["騟"] = "𩨈", + ["騠"] = "𫘨", + ["騤"] = "骙", + ["騧"] = "䯄", + ["騪"] = "𩨄", + ["騫"] = "骞", + ["騭"] = "骘", + ["騮"] = "骝", + ["騰"] = "腾", + ["騱"] = "𫘬", + ["騴"] = "𫘫", + ["騵"] = "𫘪", + ["騶"] = "驺", + ["騷"] = "骚", + ["騸"] = "骟", + ["騻"] = "𫘭", + ["騼"] = "𫠋", + ["騾"] = "骡", + ["驀"] = "蓦", + ["驁"] = "骜", + ["驂"] = "骖", + ["驃"] = "骠", + ["驄"] = "骢", + ["驅"] = "驱", + ["驊"] = "骅", + ["驋"] = "𩧯", + ["驌"] = "骕", + ["驍"] = "骁", + ["驎"] = "𬴊", + ["驏"] = "骣", + ["驓"] = "𫘯", + ["驕"] = "骄", + ["驗"] = "验", + ["驙"] = "𫘰", + ["驚"] = "惊", + ["驛"] = "驿", + ["驟"] = "骤", + ["驢"] = "驴", + ["驤"] = "骧", + ["驥"] = "骥", + ["驦"] = "骦", + ["驨"] = "𫘱", + ["驪"] = "骊", + ["驫"] = "骉", + ["骯"] = "肮", + ["髏"] = "髅", + ["髒"] = "脏", + ["體"] = "体", + ["髕"] = "髌", + ["髖"] = "髋", + ["髮"] = "发", + ["鬆"] = "松", + ["鬍"] = "胡", + ["鬖"] = "𩭹", + ["鬚"] = "须", + ["鬠"] = "𫘽", + ["鬢"] = "鬓", + ["鬥"] = "斗", + ["鬧"] = "闹", + ["鬨"] = "哄", + ["鬩"] = "阋", + ["鬮"] = "阄", + ["鬱"] = "郁", + ["鬹"] = "鬶", + ["魎"] = "魉", + ["魘"] = "魇", + ["魚"] = "鱼", + ["魛"] = "鱽", + ["魟"] = "𫚉", + ["魢"] = "鱾", + ["魥"] = "𩽹", + ["魦"] = "𫚌", + ["魨"] = "鲀", + ["魯"] = "鲁", + ["魴"] = "鲂", + ["魵"] = "𫚍", + ["魷"] = "鱿", + ["魺"] = "鲄", + ["魽"] = "𫠐", + ["鮀"] = "𬶍", + ["鮁"] = "鲅", + ["鮃"] = "鲆", + ["鮄"] = "𫚒", + ["鮅"] = "𫚑", + ["鮆"] = "𫚖", + ["鮈"] = "𬶋", + ["鮊"] = "鲌", + ["鮋"] = "鲉", + ["鮍"] = "鲏", + ["鮎"] = "鲇", + ["鮐"] = "鲐", + ["鮑"] = "鲍", + ["鮒"] = "鲋", + ["鮓"] = "鲊", + ["鮚"] = "鲒", + ["鮜"] = "鲘", + ["鮝"] = "鲞", + ["鮞"] = "鲕", + ["鮟"] = "𩽾", + ["鮠"] = "𬶏", + ["鮡"] = "𬶐", + ["鮣"] = "䲟", + ["鮤"] = "𫚓", + ["鮦"] = "鲖", + ["鮪"] = "鲔", + ["鮫"] = "鲛", + ["鮭"] = "鲑", + ["鮮"] = "鲜", + ["鮯"] = "𫚗", + ["鮰"] = "𫚔", + ["鮳"] = "鲓", + ["鮵"] = "𫚛", + ["鮶"] = "鲪", + ["鮸"] = "𩾃", + ["鮺"] = "鲝", + ["鮿"] = "𫚚", + ["鯀"] = "鲧", + ["鯁"] = "鲠", + ["鯄"] = "𩾁", + ["鯆"] = "𫚙", + ["鯇"] = "鲩", + ["鯉"] = "鲤", + ["鯊"] = "鲨", + ["鯒"] = "鲬", + ["鯔"] = "鲻", + ["鯕"] = "鲯", + ["鯖"] = "鲭", + ["鯗"] = "鲞", + ["鯛"] = "鲷", + ["鯝"] = "鲴", + ["鯞"] = "𫚡", + ["鯡"] = "鲱", + ["鯢"] = "鲵", + ["鯤"] = "鲲", + ["鯧"] = "鲳", + ["鯨"] = "鲸", + ["鯪"] = "鲮", + ["鯫"] = "鲰", + ["鯬"] = "𫚞", + ["鯰"] = "鲶", + ["鯱"] = "𩾇", + ["鯴"] = "鲺", + ["鯶"] = "𩽼", + ["鯷"] = "鳀", + ["鯻"] = "𬶟", + ["鯽"] = "鲫", + ["鯾"] = "𫚣", + ["鯿"] = "鳊", + ["鰁"] = "鳈", + ["鰂"] = "鲗", + ["鰃"] = "鳂", + ["鰆"] = "䲠", + ["鰈"] = "鲽", + ["鰉"] = "鳇", + ["鰊"] = "𬶠", + ["鰋"] = "𫚢", + ["鰌"] = "䲡", + ["鰍"] = "鳅", + ["鰏"] = "鲾", + ["鰐"] = "鳄", + ["鰑"] = "𫚊", + ["鰒"] = "鳆", + ["鰓"] = "鳃", + ["鰕"] = "𫚥", + ["鰛"] = "鳁", + ["鰜"] = "鳒", + ["鰟"] = "鳑", + ["鰠"] = "鳋", + ["鰣"] = "鲥", + ["鰤"] = "𫚕", + ["鰥"] = "鳏", + ["鰦"] = "𫚤", + ["鰧"] = "䲢", + ["鰨"] = "鳎", + ["鰩"] = "鳐", + ["鰫"] = "𫚦", + ["鰭"] = "鳍", + ["鰮"] = "鳁", + ["鰱"] = "鲢", + ["鰲"] = "鳌", + ["鰳"] = "鳓", + ["鰵"] = "鳘", + ["鰶"] = "𬶭", + ["鰷"] = "鲦", + ["鰹"] = "鲣", + ["鰺"] = "鲹", + ["鰻"] = "鳗", + ["鰼"] = "鳛", + ["鰽"] = "𫚧", + ["鰾"] = "鳔", + ["鱀"] = "𬶨", + ["鱂"] = "鳉", + ["鱄"] = "𫚋", + ["鱅"] = "鳙", + ["鱆"] = "𫠒", + ["鱇"] = "𩾌", + ["鱈"] = "鳕", + ["鱉"] = "鳖", + ["鱊"] = "𫚪", + ["鱒"] = "鳟", + ["鱔"] = "鳝", + ["鱖"] = "鳜", + ["鱗"] = "鳞", + ["鱘"] = "鲟", + ["鱚"] = "𬶮", + ["鱝"] = "鲼", + ["鱟"] = "鲎", + ["鱠"] = "鲙", + ["鱢"] = "𫚫", + ["鱣"] = "鳣", + ["鱤"] = "鳡", + ["鱧"] = "鳢", + ["鱨"] = "鲿", + ["鱭"] = "鲚", + ["鱮"] = "𫚈", + ["鱯"] = "鳠", + ["鱲"] = "𫚭", + ["鱷"] = "鳄", + ["鱸"] = "鲈", + ["鱺"] = "鲡", + ["鳥"] = "鸟", + ["鳧"] = "凫", + ["鳩"] = "鸠", + ["鳬"] = "凫", + ["鳲"] = "鸤", + ["鳳"] = "凤", + ["鳴"] = "鸣", + ["鳶"] = "鸢", + ["鳷"] = "𫛛", + ["鳼"] = "𪉃", + ["鳽"] = "𫛚", + ["鳾"] = "䴓", + ["鴀"] = "𫛜", + ["鴃"] = "𫛞", + ["鴅"] = "𫛝", + ["鴆"] = "鸩", + ["鴇"] = "鸨", + ["鴉"] = "鸦", + ["鴐"] = "𫛤", + ["鴒"] = "鸰", + ["鴔"] = "𫛡", + ["鴕"] = "鸵", + ["鴗"] = "𫁡", + ["鴛"] = "鸳", + ["鴜"] = "𪉈", + ["鴝"] = "鸲", + ["鴞"] = "鸮", + ["鴟"] = "鸱", + ["鴣"] = "鸪", + ["鴥"] = "𫛣", + ["鴦"] = "鸯", + ["鴨"] = "鸭", + ["鴮"] = "𫛦", + ["鴯"] = "鸸", + ["鴰"] = "鸹", + ["鴲"] = "𪉆", + ["鴳"] = "𫛩", + ["鴴"] = "鸻", + ["鴷"] = "䴕", + ["鴻"] = "鸿", + ["鴽"] = "𫛪", + ["鴿"] = "鸽", + ["鵁"] = "䴔", + ["鵂"] = "鸺", + ["鵃"] = "鸼", + ["鵊"] = "𫛥", + ["鵏"] = "𬷕", + ["鵐"] = "鹀", + ["鵑"] = "鹃", + ["鵒"] = "鹆", + ["鵓"] = "鹁", + ["鵚"] = "𪉍", + ["鵜"] = "鹈", + ["鵝"] = "鹅", + ["鵟"] = "𫛭", + ["鵠"] = "鹄", + ["鵡"] = "鹉", + ["鵧"] = "𫛨", + ["鵩"] = "𫛳", + ["鵪"] = "鹌", + ["鵫"] = "𫛱", + ["鵬"] = "鹏", + ["鵮"] = "鹐", + ["鵯"] = "鹎", + ["鵰"] = "雕", + ["鵲"] = "鹊", + ["鵷"] = "鹓", + ["鵾"] = "鹍", + ["鶄"] = "䴖", + ["鶇"] = "鸫", + ["鶉"] = "鹑", + ["鶊"] = "鹒", + ["鶌"] = "𫛵", + ["鶒"] = "𫛶", + ["鶓"] = "鹋", + ["鶖"] = "鹙", + ["鶗"] = "𫛸", + ["鶘"] = "鹕", + ["鶚"] = "鹗", + ["鶠"] = "𬸘", + ["鶡"] = "鹖", + ["鶥"] = "鹛", + ["鶦"] = "𫛷", + ["鶩"] = "鹜", + ["鶪"] = "䴗", + ["鶬"] = "鸧", + ["鶭"] = "𫛯", + ["鶯"] = "莺", + ["鶰"] = "𫛫", + ["鶱"] = "𬸣", + ["鶲"] = "鹟", + ["鶴"] = "鹤", + ["鶹"] = "鹠", + ["鶺"] = "鹡", + ["鶻"] = "鹘", + ["鶼"] = "鹣", + ["鶿"] = "鹚", + ["鷀"] = "鹚", + ["鷁"] = "鹢", + ["鷂"] = "鹞", + ["鷄"] = "鸡", + ["鷅"] = "𫛽", + ["鷉"] = "䴘", + ["鷊"] = "鹝", + ["鷐"] = "𫜀", + ["鷓"] = "鹧", + ["鷔"] = "𪉑", + ["鷖"] = "鹥", + ["鷗"] = "鸥", + ["鷙"] = "鸷", + ["鷚"] = "鹨", + ["鷟"] = "𬸦", + ["鷣"] = "𫜃", + ["鷤"] = "𫛴", + ["鷥"] = "鸶", + ["鷦"] = "鹪", + ["鷨"] = "𪉊", + ["鷩"] = "𫜁", + ["鷫"] = "鹔", + ["鷭"] = "𬸪", + ["鷯"] = "鹩", + ["鷲"] = "鹫", + ["鷳"] = "鹇", + ["鷴"] = "鹇", + ["鷷"] = "𫜄", + ["鷸"] = "鹬", + ["鷹"] = "鹰", + ["鷺"] = "鹭", + ["鷽"] = "鸴", + ["鷿"] = "𬸯", + ["鸂"] = "㶉", + ["鸇"] = "鹯", + ["鸊"] = "䴙", + ["鸋"] = "𫛢", + ["鸌"] = "鹱", + ["鸏"] = "鹲", + ["鸑"] = "𬸚", + ["鸕"] = "鸬", + ["鸗"] = "𫛟", + ["鸘"] = "鹴", + ["鸚"] = "鹦", + ["鸛"] = "鹳", + ["鸝"] = "鹂", + ["鸞"] = "鸾", + ["鹵"] = "卤", + ["鹹"] = "咸", + ["鹺"] = "鹾", + ["鹼"] = "碱", + ["鹽"] = "盐", + ["麗"] = "丽", + ["麥"] = "麦", + ["麨"] = "𪎊", + ["麩"] = "麸", + ["麪"] = "面", + ["麫"] = "面", + ["麬"] = "𤿲", + ["麯"] = "曲", + ["麲"] = "𪎉", + ["麳"] = "𪎌", + ["麴"] = "曲", + ["麵"] = "面", + ["麷"] = "𫜑", + ["麼"] = "么", + ["麽"] = "么", + ["黃"] = "黄", + ["黌"] = "黉", + ["點"] = "点", + ["黨"] = "党", + ["黲"] = "黪", + ["黴"] = "霉", + ["黶"] = "黡", + ["黷"] = "黩", + ["黽"] = "黾", + ["黿"] = "鼋", + ["鼂"] = "鼌", + ["鼉"] = "鼍", + ["鼕"] = "冬", + ["鼴"] = "鼹", + ["齊"] = "齐", + ["齋"] = "斋", + ["齎"] = "赍", + ["齏"] = "齑", + ["齒"] = "齿", + ["齔"] = "龀", + ["齕"] = "龁", + ["齗"] = "龂", + ["齘"] = "𬹼", + ["齙"] = "龅", + ["齜"] = "龇", + ["齟"] = "龃", + ["齠"] = "龆", + ["齡"] = "龄", + ["齣"] = "出", + ["齦"] = "龈", + ["齧"] = "啮", + ["齩"] = "𫜪", + ["齪"] = "龊", + ["齬"] = "龉", + ["齭"] = "𫜭", + ["齮"] = "𬺈", + ["齯"] = "𫠜", + ["齰"] = "𫜬", + ["齲"] = "龋", + ["齴"] = "𫜮", + ["齶"] = "腭", + ["齷"] = "龌", + ["齼"] = "𬺓", + ["齾"] = "𫜰", + ["龍"] = "龙", + ["龎"] = "厐", + ["龐"] = "庞", + ["龑"] = "䶮", + ["龓"] = "𫜲", + ["龔"] = "龚", + ["龕"] = "龛", + ["龜"] = "龟", + ["龭"] = "𩨎", + ["龯"] = "𨱆", + ["鿁"] = "䜤", + ["鿓"] = "鿒", + ["𠁞"] = "𠀾", + ["𠌥"] = "𠆿", + ["𠏢"] = "𠉗", + ["𠐊"] = "𫝋", + ["𠗣"] = "㓆", + ["𠞆"] = "𠛆", + ["𠠎"] = "𠚳", + ["𠬙"] = "𪠡", + ["𠽃"] = "𪠺", + ["𠿕"] = "𪜎", + ["𡂡"] = "𪢒", + ["𡃄"] = "𪡺", + ["𡃕"] = "𠴛", + ["𡃤"] = "𪢐", + ["𡄔"] = "𠴢", + ["𡄣"] = "𠵸", + ["𡅏"] = "𠲥", + ["𡅯"] = "𪢖", + ["𡑍"] = "𫭼", + ["𡑭"] = "𡋗", + ["𡓁"] = "𪤄", + ["𡓾"] = "𡋀", + ["𡔖"] = "𡍣", + ["𡞵"] = "㛟", + ["𡟫"] = "𫝪", + ["𡠹"] = "㛿", + ["𡢃"] = "㛠", + ["𡮉"] = "𡭜", + ["𡮣"] = "𡭬", + ["𡳳"] = "𡳃", + ["𡸗"] = "𪨩", + ["𡹬"] = "𪨹", + ["𡻕"] = "岁", + ["𡽗"] = "𡸃", + ["𡾱"] = "㟜", + ["𡿖"] = "𪩛", + ["𢍰"] = "𪪴", + ["𢠼"] = "𢙑", + ["𢣐"] = "𪬚", + ["𢣚"] = "𢘝", + ["𢣭"] = "𢘞", + ["𢤩"] = "𪫡", + ["𢤱"] = "𢘙", + ["𢤿"] = "𪬯", + ["𢯷"] = "𪭝", + ["𢶒"] = "𪭯", + ["𢶫"] = "𢫞", + ["𢷮"] = "𢫊", + ["𢹿"] = "𢬦", + ["𢺳"] = "𪮳", + ["𣈶"] = "暅", + ["𣋋"] = "𣈣", + ["𣍐"] = "𫧃", + ["𣙎"] = "㭣", + ["𣜬"] = "𪳗", + ["𣝕"] = "𣘷", + ["𣞻"] = "𣘓", + ["𣠩"] = "𣞎", + ["𣠲"] = "𣑶", + ["𣯩"] = "𣯣", + ["𣯴"] = "𣭤", + ["𣯶"] = "毶", + ["𣽏"] = "𪶮", + ["𣾷"] = "㳢", + ["𣿉"] = "𣶫", + ["𤁣"] = "𣺽", + ["𤄷"] = "𪶒", + ["𤅶"] = "𣷷", + ["𤑳"] = "𤎻", + ["𤑹"] = "𪹀", + ["𤒎"] = "𤊀", + ["𤒻"] = "𪹹", + ["𤓌"] = "𪹠", + ["𤓎"] = "𤎺", + ["𤓩"] = "𤊰", + ["𤘀"] = "𪺣", + ["𤛮"] = "𤙯", + ["𤛱"] = "𫞢", + ["𤜆"] = "𪺪", + ["𤠮"] = "𪺸", + ["𤢟"] = "𤝢", + ["𤢻"] = "𢢐", + ["𤩂"] = "𫞧", + ["𤪺"] = "㻘", + ["𤫩"] = "㻏", + ["𤬅"] = "𪼴", + ["𤳷"] = "𪽝", + ["𤳸"] = "𤳄", + ["𤷃"] = "𪽭", + ["𤸫"] = "𤶧", + ["𤺔"] = "𪽴", + ["𥊝"] = "𥅿", + ["𥌃"] = "𥅘", + ["𥏝"] = "𪿊", + ["𥕥"] = "𥐰", + ["𥖅"] = "𥐯", + ["𥖲"] = "𪿞", + ["𥗇"] = "𪿵", + ["𥗽"] = "𬒗", + ["𥜐"] = "𫀓", + ["𥜰"] = "𫀌", + ["𥞵"] = "𥞦", + ["𥢢"] = "䅪", + ["𥢶"] = "𫞷", + ["𥢷"] = "𫀮", + ["𥨐"] = "𥧂", + ["𥪂"] = "𥩺", + ["𥯤"] = "𫁳", + ["𥴨"] = "𫂖", + ["𥴼"] = "𫁺", + ["𥵃"] = "𥱔", + ["𥵊"] = "𥭉", + ["𥶽"] = "𫁱", + ["𥸠"] = "𥮋", + ["𥻦"] = "𫂿", + ["𥼽"] = "𥹥", + ["𥽖"] = "𥺇", + ["𥾯"] = "𫄝", + ["𥿊"] = "𦈈", + ["𦀖"] = "𫄦", + ["𦂅"] = "𦈒", + ["𦃄"] = "𦈗", + ["𦃩"] = "𫄯", + ["𦅇"] = "𫄪", + ["𦅈"] = "𫄵", + ["𦆲"] = "𫟇", + ["𦒀"] = "𫅥", + ["𦔖"] = "𫅼", + ["𦘧"] = "𡳒", + ["𦟼"] = "𫆝", + ["𦠅"] = "𫞅", + ["𦡝"] = "𫆫", + ["𦢈"] = "𣍨", + ["𦣎"] = "𦟗", + ["𦧺"] = "𫇘", + ["𦪙"] = "䑽", + ["𦪽"] = "𦨩", + ["𦱌"] = "𫇪", + ["𦾟"] = "𦶻", + ["𧎈"] = "𧌥", + ["𧒯"] = "𫊹", + ["𧔥"] = "𧒭", + ["𧕟"] = "𧉐", + ["𧜗"] = "䘞", + ["𧜵"] = "䙊", + ["𧝞"] = "䘛", + ["𧞫"] = "𫌋", + ["𧟀"] = "𧝧", + ["𧡴"] = "𫌫", + ["𧢄"] = "𫌬", + ["𧦝"] = "𫍞", + ["𧦧"] = "𫍟", + ["𧩕"] = "𫍭", + ["𧩙"] = "䜥", + ["𧩼"] = "𫍶", + ["𧫝"] = "𫍺", + ["𧬤"] = "𫍼", + ["𧭈"] = "𫍾", + ["𧭹"] = "𫍐", + ["𧳟"] = "𧳕", + ["𧵳"] = "䞌", + ["𧶔"] = "𧹓", + ["𧶧"] = "䞎", + ["𧷎"] = "𪠀", + ["𧸘"] = "𫎨", + ["𧹈"] = "𪥠", + ["𧽯"] = "𫎸", + ["𨂐"] = "𫏌", + ["𨄣"] = "𨀱", + ["𨅍"] = "𨁴", + ["𨆪"] = "𫏕", + ["𨇁"] = "𧿈", + ["𨇞"] = "𨅫", + ["𨇤"] = "𫏨", + ["𨇰"] = "𫏞", + ["𨇽"] = "𫏑", + ["𨈊"] = "𨂺", + ["𨈌"] = "𨄄", + ["𨊰"] = "䢀", + ["𨊸"] = "䢁", + ["𨊻"] = "𨐆", + ["𨋢"] = "䢂", + ["𨌈"] = "𫐍", + ["𨍰"] = "𫐔", + ["𨎌"] = "𫐋", + ["𨎮"] = "𨐉", + ["𨏠"] = "𨐇", + ["𨏥"] = "𨐊", + ["𨞺"] = "𫟫", + ["𨟊"] = "𫟬", + ["𨢿"] = "𨡙", + ["𨣈"] = "𨡺", + ["𨣞"] = "𨟳", + ["𨣧"] = "𨠨", + ["𨤻"] = "𨤰", + ["𨥛"] = "𨱀", + ["𨥟"] = "𫓫", + ["𨦫"] = "䦀", + ["𨧀"] = "𬭊", + ["𨧜"] = "䦁", + ["𨧰"] = "𫟽", + ["𨧱"] = "𨱊", + ["𨨏"] = "𬭛", + ["𨨛"] = "𫓼", + ["𨨢"] = "𫓿", + ["𨩰"] = "𫟾", + ["𨪕"] = "𫓮", + ["𨫒"] = "𨱐", + ["𨬖"] = "𫔏", + ["𨭆"] = "𬭶", + ["𨭎"] = "𬭳", + ["𨭖"] = "𫔑", + ["𨭸"] = "𫔐", + ["𨮂"] = "𨱕", + ["𨮳"] = "𫔒", + ["𨯅"] = "䥿", + ["𨯟"] = "𫔓", + ["𨰃"] = "𫔉", + ["𨰋"] = "𫓳", + ["𨰥"] = "𫔕", + ["𨰲"] = "𫔃", + ["𨲳"] = "𫔖", + ["𨳑"] = "𨸁", + ["𨳕"] = "𨸀", + ["𨴗"] = "𨸅", + ["𨴹"] = "𫔲", + ["𨵩"] = "𨸆", + ["𨵸"] = "𨸇", + ["𨶀"] = "𨸉", + ["𨶏"] = "𨸊", + ["𨶮"] = "𨸌", + ["𨶲"] = "𨸋", + ["𨷲"] = "𨸎", + ["𨼳"] = "𫔽", + ["𨽏"] = "𨸘", + ["𩀨"] = "𫕚", + ["𩅙"] = "𫕨", + ["𩎖"] = "𫖑", + ["𩎢"] = "𩏾", + ["𩏂"] = "𫖓", + ["𩏠"] = "𫖖", + ["𩏪"] = "𩏽", + ["𩏷"] = "𫃗", + ["𩑔"] = "𫖪", + ["𩒎"] = "𫖭", + ["𩓣"] = "𩖕", + ["𩓥"] = "𫖵", + ["𩔑"] = "𫖷", + ["𩔳"] = "𫖴", + ["𩖰"] = "𫠇", + ["𩗀"] = "𩙦", + ["𩗓"] = "𫗈", + ["𩗴"] = "𫗉", + ["𩘀"] = "𩙩", + ["𩘝"] = "𩙭", + ["𩘹"] = "𩙨", + ["𩘺"] = "𩙬", + ["𩙈"] = "𩙰", + ["𩚛"] = "𩟿", + ["𩚥"] = "𩠀", + ["𩚩"] = "𫗡", + ["𩚵"] = "𩠁", + ["𩛆"] = "𩠂", + ["𩛌"] = "𫗤", + ["𩛡"] = "𫗨", + ["𩛩"] = "𩠃", + ["𩜇"] = "𩠉", + ["𩜦"] = "𩠆", + ["𩜵"] = "𩠊", + ["𩝔"] = "𩠋", + ["𩝽"] = "𫗳", + ["𩞄"] = "𩠎", + ["𩞦"] = "𩠏", + ["𩞯"] = "䭪", + ["𩟐"] = "𩠅", + ["𩟗"] = "𫗚", + ["𩠴"] = "𩠠", + ["𩡣"] = "𩡖", + ["𩡺"] = "𩧦", + ["𩢡"] = "𩧬", + ["𩢴"] = "𩧵", + ["𩢸"] = "𩧳", + ["𩢾"] = "𩧮", + ["𩣏"] = "𩧶", + ["𩣑"] = "䯃", + ["𩣫"] = "𩧸", + ["𩣵"] = "𩧻", + ["𩣺"] = "𩧼", + ["𩤊"] = "𩧩", + ["𩤙"] = "𩨆", + ["𩤲"] = "𩨉", + ["𩤸"] = "𩨅", + ["𩥄"] = "𩨋", + ["𩥇"] = "𩨍", + ["𩥉"] = "𩧱", + ["𩥑"] = "𩨌", + ["𩦠"] = "𫠌", + ["𩧆"] = "𩨐", + ["𩭙"] = "𩬣", + ["𩯁"] = "𫙂", + ["𩯳"] = "𩯒", + ["𩰀"] = "𩬤", + ["𩰹"] = "𩰰", + ["𩳤"] = "𩲒", + ["𩴵"] = "𩴌", + ["𩵦"] = "𫠏", + ["𩵩"] = "𩽺", + ["𩵹"] = "𩽻", + ["𩶁"] = "𫚎", + ["𩶘"] = "䲞", + ["𩶰"] = "𩽿", + ["𩶱"] = "𩽽", + ["𩷰"] = "𩾄", + ["𩸃"] = "𩾅", + ["𩸄"] = "𫚝", + ["𩸡"] = "𫚟", + ["𩸦"] = "𩾆", + ["𩻗"] = "𫚨", + ["𩻬"] = "𫚩", + ["𩻮"] = "𫚘", + ["𩼶"] = "𫚬", + ["𩽇"] = "𩾎", + ["𩿅"] = "𫠖", + ["𩿤"] = "𫛠", + ["𩿪"] = "𪉄", + ["𪀖"] = "𫛧", + ["𪀦"] = "𪉅", + ["𪀾"] = "𪉋", + ["𪁈"] = "𪉉", + ["𪁖"] = "𪉌", + ["𪂆"] = "𪉎", + ["𪃍"] = "𪉐", + ["𪃏"] = "𪉏", + ["𪃒"] = "𫛻", + ["𪃧"] = "𫛹", + ["𪄆"] = "𪉔", + ["𪄕"] = "𪉒", + ["𪅂"] = "𫜂", + ["𪆷"] = "𫛾", + ["𪇳"] = "𪉕", + ["𪈼"] = "𱊜", + ["𪉸"] = "𫜊", + ["𪋿"] = "𫧮", + ["𪌭"] = "𫜓", + ["𪍠"] = "𫜕", + ["𪓰"] = "𫜟", + ["𪔵"] = "𪔭", + ["𪘀"] = "𪚏", + ["𪘯"] = "𪚐", + ["𪙏"] = "𫜯", + ["𪟖"] = "𠛾", + ["𪷓"] = "𣶭", + ["𫒡"] = "𫓷", + ["𫜦"] = "𫜫", +} \ No newline at end of file diff --git a/scripts/uosc_danmaku/main.lua b/scripts/uosc_danmaku/main.lua new file mode 100644 index 0000000..935af72 --- /dev/null +++ b/scripts/uosc_danmaku/main.lua @@ -0,0 +1,940 @@ +VERSION = "2.0.0" + +mp.commandv('script-message', 'uosc_danmaku-version', VERSION) + +local msg = require('mp.msg') +local utils = require("mp.utils") + +AES = require("modules/aes") +Base64 = require("modules/base64") +MD5 = require("modules/md5") +Sha256 = require("modules/hash") + +require("modules/options") +require("modules/utils") +require("modules/parse") +require("modules/guess") +require('modules/render') +require('modules/menu') +require("modules/update") + +require("apis/dandanplay") +require('apis/extra') + +DANMAKU_PATH = os.getenv("TEMP") or "/tmp/" +HISTORY_PATH = mp.command_native({"expand-path", options.history_path}) +PID = utils.getpid() +DANMAKU = {sources = {}, count = 1} +ENABLED, COMMENTS, DELAY = false, nil, 0 +DELAY_PROPERTY = string.format("user-data/%s/danmaku-delay", mp.get_script_name()) +mp.set_property_native(DELAY_PROPERTY, 0) +HAS_DANMAKU = string.format("user-data/%s/has-danmaku", mp.get_script_name()) +mp.set_property_bool(HAS_DANMAKU, false) +KEY = table_to_zero_indexed({ + 0x00,0x01,0x02,0x03,0x04, + 0x05,0x06,0x07,0x08,0x09, + 0x0a,0x0b,0x0c,0x0d,0x0e, + 0x0f,0x10,0x11,0x12,0x13, + 0x14,0x15,0x16,0x17,0x18, + 0x19,0x1a,0x1b,0x1c,0x1d, + 0x1e,0x1f +}) + +PLATFORM = (function() + local platform = mp.get_property_native("platform") + if platform then + if itable_index_of({ "windows", "darwin" }, platform) then + return platform + end + else + if os.getenv("windir") ~= nil then + return "windows" + end + local homedir = os.getenv("HOME") + if homedir ~= nil and string.sub(homedir, 1, 6) == "/Users" then + return "darwin" + end + end + return "linux" +end)() + +local rebuild_convert_timer = nil + +function get_danmaku_visibility() + local history_json = read_file(HISTORY_PATH) + local history + if history_json ~= nil then + history = utils.parse_json(history_json) or {} + local flag = history["show_danmaku"] + if flag == nil then + history["show_danmaku"] = false + write_json_file(HISTORY_PATH, history) + else + return flag + end + else + history = {} + history["show_danmaku"] = false + write_json_file(HISTORY_PATH, history) + end + return false +end + +function set_danmaku_visibility(flag) + local history = {} + local history_json = read_file(HISTORY_PATH) + if history_json ~= nil then + history = utils.parse_json(history_json) or {} + end + history["show_danmaku"] = flag + write_json_file(HISTORY_PATH, history) +end + +function set_danmaku_button() + if get_danmaku_visibility() then + mp.commandv("script-message-to", "uosc", "set", "show_danmaku", "on") + end +end + +function show_loaded(init) + if DANMAKU.anime and DANMAKU.episode then + show_message("匹配内容:" .. DANMAKU.anime .. "-" .. DANMAKU.episode .. "\\N弹幕加载成功,共计" .. #COMMENTS .. "条弹幕", 3) + if init then + msg.info(DANMAKU.anime .. "-" .. DANMAKU.episode .. " 弹幕加载成功,共计" .. #COMMENTS .. "条弹幕") + end + else + show_message("弹幕加载成功,共计" .. #COMMENTS .. "条弹幕", 3) + end +end + +local function get_cid() + local cid, danmaku_id = nil, nil + local tracks = mp.get_property_native("track-list") + for _, track in ipairs(tracks) do + if track["lang"] == "danmaku" then + cid = track["external-filename"]:match("/(%d-)%.xml$") + danmaku_id = track["id"] + break + end + end + return cid, danmaku_id +end + +local function extract_between_colons(input_string) + local start_index = 0 + local end_index = 0 + local count = 0 + for i = 1, #input_string do + if input_string:sub(i, i) == ":" then + count = count + 1 + if count == 2 then + start_index = i + elseif count == 3 then + end_index = i + break + end + end + end + if start_index > 0 and end_index > 0 then + return input_string:sub(start_index + 1, end_index - 1) + else + return nil + end +end + +local function get_type_from_position(position) + if position == 0 then + return 1 + end + if position == 1 then + return 4 + end + return 5 +end + +-- 获取指定时间的延迟 +-- 返回该时间点之前所有延迟段的总和 +function get_delay_for_time(delay_segments, time) + if not delay_segments or #delay_segments == 0 then return 0 end + + local segs = {} + for i = 1, #delay_segments do segs[i] = delay_segments[i] end + table.sort(segs, function(a, b) return a.start < b.start end) + + local applied_delay = 0 + for i = 1, #segs do + local seg = segs[i] + local delay = tonumber(seg.delay) + if time >= seg.start and delay then + applied_delay = applied_delay + delay + else + break + end + end + return applied_delay +end + +local function merge_delay_segments(segments) + if not segments or #segments == 0 then return {} end + + local NEAREST_THRESHOLD = 10 -- 最邻近段合并阈值 + local MERGE_THRESHOLD = 30 -- 跨段合并阈值 + local EPSILON = 1e-6 -- 判断接近 0 的阈值 + + table.sort(segments, function(a, b) return a.start < b.start end) + + local partially_merged = {} + local i = 1 + while i <= #segments do + local cur = segments[i] + local next_seg = segments[i + 1] + + if next_seg and (next_seg.start - cur.start) <= NEAREST_THRESHOLD then + local combined_delay = tonumber(cur.delay) + tonumber(next_seg.delay) + if math.abs(combined_delay) > EPSILON then + table.insert(partially_merged, { + start = cur.start, + delay = combined_delay + }) + end + i = i + 2 + else + if math.abs(tonumber(cur.delay)) > EPSILON then + table.insert(partially_merged, cur) + end + i = i + 1 + end + end + + local merged = {} + for _, seg in ipairs(partially_merged) do + local merged_flag = false + for idx, m in ipairs(merged) do + if math.abs(seg.start - m.start) <= MERGE_THRESHOLD then + m.delay = tonumber(m.delay) + tonumber(seg.delay) + if math.abs(m.delay) <= EPSILON then + table.remove(merged, idx) + end + merged_flag = true + break + end + end + if not merged_flag then + if math.abs(tonumber(seg.delay)) > EPSILON then + table.insert(merged, { + start = seg.start, + delay = seg.delay + }) + end + end + end + + table.sort(merged, function(a, b) return a.start < b.start end) + return merged +end + +function parse_delay_input(text) + if not text then return nil end + local s = tostring(text):gsub("%s+", "") + if s == "" then return nil end + -- XmYs 格式,允许负号在分钟部分 + local m, sec = string.match(s, "^(%-?%d+)m(%d+)s$") + if m and sec then + m = tonumber(m) + sec = tonumber(sec) + if not m or not sec then return nil end + if m < 0 then sec = -sec end + return m * 60 + sec + end + -- 普通数字(整数或小数),支持负数 + local n = tonumber(s) + if n ~= nil then return n end + return nil +end + +local function set_danmaku_delay(dly, time, specific_source) + if specific_source then + local source = DANMAKU.sources[specific_source] + if source and source.data and not source.blocked then + source.delay_segments = source.delay_segments or {} + if dly == 0 then + source.delay_segments = {} + elseif time then + table.insert(source.delay_segments, {start = time, delay = dly}) + else + table.insert(source.delay_segments, {start = 0, delay = dly}) + end + source.delay = nil + source.delay_segments = merge_delay_segments(source.delay_segments) + add_source_to_history(specific_source, source) + end + else + for url, source in pairs(DANMAKU.sources) do + if source.data and not source.blocked then + source.delay_segments = source.delay_segments or {} + if dly == 0 then + source.delay_segments = {} + elseif time then + table.insert(source.delay_segments, {start = time, delay = dly}) + else + table.insert(source.delay_segments, {start = 0, delay = dly}) + end + + source.delay = nil + source.delay_segments = merge_delay_segments(source.delay_segments) + add_source_to_history(url, source) + end + end + end + + if dly == 0 then + DELAY = 0 + else + DELAY = DELAY + dly + end + + if ENABLED and COMMENTS ~= nil then + render() + end + + -- 防抖:批量重建 ASS 事件并渲染,避免频繁变更导致重复重建 + if rebuild_convert_timer then + rebuild_convert_timer:kill() + rebuild_convert_timer = nil + end + rebuild_convert_timer = mp.add_timeout(0.1, function() + if convert_danmaku_to_ass_events then + convert_danmaku_to_ass_events(true) + end + render() + rebuild_convert_timer = nil + end) + + show_message('设置弹幕延迟: ' .. string.format("%.1f", DELAY + 1e-10) .. ' s') + mp.set_property_native(DELAY_PROPERTY, DELAY) +end + +local function clear_source() + local path = mp.get_property("path") + local history_json = read_file(HISTORY_PATH) + + if not path or not history_json then return end + + local history = utils.parse_json(history_json) or {} + if history[path] == nil then return end + + history[path] = nil + write_json_file(HISTORY_PATH, history) + + for url, source in pairs(DANMAKU.sources) do + if source.from == "user_custom" then + DANMAKU.sources[url] = nil + end + end + + load_danmaku(false) + + show_message("已重置当前视频所有弹幕源更改", 3) + msg.verbose("已重置当前视频所有弹幕源更改") +end + +function write_history(episodeid, api_server) + local history = {} + local path = mp.get_property("path") + local dir = get_parent_directory(path) + local fname = mp.get_property('filename/no-ext') + local episodeNumber = 0 + if episodeid then + episodeNumber = tonumber(episodeid) % 1000 + elseif DANMAKU.extra then + episodeNumber = DANMAKU.extra.episodenum + end + + if is_protocol(path) then + local title, season_num, episod_num = parse_title() + if title and episod_num then + if season_num then + dir = title .." Season".. season_num + else + dir = title + end + fname = url_decode(mp.get_property("media-title")) + episodeNumber = episod_num + end + end + + if dir ~= nil then + local history_json = read_file(HISTORY_PATH) + if history_json ~= nil then + history = utils.parse_json(history_json) or {} + end + history[dir] = {} + history[dir].fname = fname + history[dir].source = DANMAKU.source + history[dir].animeTitle = DANMAKU.anime + history[dir].episodeTitle = DANMAKU.episode + history[dir].episodeNumber = episodeNumber + if episodeid then + history[dir].episodeId = episodeid + elseif DANMAKU.extra then + history[dir].extra = DANMAKU.extra + end + if api_server then + history[dir].api_server = api_server + end + write_json_file(HISTORY_PATH, history) + end +end + +function remove_source_from_history(rm_source) + local history_json = read_file(HISTORY_PATH) + local path = mp.get_property("path") + + if is_protocol(path) then + path = remove_query(path) + end + + if history_json then + local history = utils.parse_json(history_json) or {} + + if history[path] ~= nil and history[path]["sources"] ~= nil then + for source in pairs(history[path]["sources"]) do + if source == rm_source then + history[path]["sources"][source] = nil + break + end + end + end + + write_json_file(HISTORY_PATH, history) + end +end + +function add_source_to_history(add_url, add_source) + local history_json = read_file(HISTORY_PATH) + local path = mp.get_property("path") + + if is_protocol(path) then + path = remove_query(path) + end + + local history = {} + if history_json then + history = utils.parse_json(history_json) or {} + end + + history[path] = history[path] or {} + history[path]["sources"] = history[path]["sources"] or {} + history[path]["sources"][add_url] = history[path]["sources"][add_url] or {} + + local record = history[path]["sources"][add_url] + record.from = add_source.from or "user_custom" + record.blocked = add_source.blocked or false + if record.from == "api_server" then + record.api_server = add_source.api_server or options.api_server + else + record.api_server = nil + end + + local delay_segments = shallow_copy(add_source.delay_segments or {}) + if #delay_segments > 0 then + record.delay_segments = merge_delay_segments(delay_segments) + if #record.delay_segments == 0 then + record.delay_segments = nil + end + else + record.delay_segments = nil + end + + record.delay = nil + write_json_file(HISTORY_PATH, history) +end + +function read_danmaku_source_record(path) + if is_protocol(path) then + path = remove_query(path) + end + + local history_json = read_file(HISTORY_PATH) + if not history_json then return end + + local history = utils.parse_json(history_json) or {} + local record = history[path] + if not record or not record.sources then return end + + local sources = record.sources + local upgraded_sources = {} + + if is_nested_table(sources) then + for source, data in pairs(sources) do + local from = data.from or "user_custom" + local blocked = data.blocked or false + local delay_segments = shallow_copy(data.delay_segments or {}) + if data.delay ~= nil then + for i = #delay_segments, 1, -1 do + if delay_segments[i].start == 0 then + table.remove(delay_segments, i) + end + end + table.insert(delay_segments, 1, { start = 0, delay = tonumber(data.delay) }) + end + if #delay_segments > 0 then + delay_segments = merge_delay_segments(delay_segments) + else + delay_segments = nil + end + + DANMAKU.sources[source] = { + from = from, + blocked = blocked, + delay_segments = delay_segments, + from_history = true, + api_server = data.api_server, + } + end + else + for _, raw in ipairs(sources) do + local source = raw + local blocked = false + local from = raw:match("<(.-)>") + local delay = raw:match("{{(.-)}}") + + source = source:gsub("<.->", ""):gsub("{{.-}}", "") + + if source:match("^%-") then + source = source:sub(2) + blocked = true + from = from or "api_server" + end + + local delay_segments = nil + if delay ~= nil then + delay_segments = { + { start = 0, delay = tonumber(delay) } + } + end + + DANMAKU.sources[source] = { + from = from or "user_custom", + blocked = blocked, + delay_segments = delay_segments, + from_history = true, + api_server = record.api_server, + } + + upgraded_sources[source] = shallow_copy(DANMAKU.sources[source]) + end + + if next(upgraded_sources) then + record.sources = upgraded_sources + write_json_file(HISTORY_PATH, history) + end + end +end + +-- 视频播放时保存弹幕 +function save_danmaku(not_forced) + local path = mp.get_property("path") + local dir = get_parent_directory(path) or "" + local filename = mp.get_property('filename/no-ext') + local danmaku_out = utils.join_path(dir, filename .. ".xml") + -- 排除网络播放场景 + if not path or is_protocol(path) or (not file_exists(danmaku_out) + and not is_writable(danmaku_out)) then + show_message("此弹幕文件不支持保存至本地") + msg.warn("此弹幕文件不支持保存至本地") + else + if not_forced and file_exists(danmaku_out) then + show_message("已存在同名弹幕文件:" .. danmaku_out) + msg.info("已存在同名弹幕文件:" .. danmaku_out) + return + else + convert_danmaku_to_xml(danmaku_out) + end + end +end + +-- 加载弹幕 +function load_danmaku(from_menu, no_osd) + if not ENABLED then return end + convert_danmaku_to_ass_events() + render_danmaku(from_menu, no_osd) +end + +-- 为 bilibli 网站的视频播放加载弹幕 +function load_danmaku_for_bilibili(path) + local cid, danmaku_id = get_cid() + if danmaku_id ~= nil then + mp.commandv('sub-remove', danmaku_id) + end + + if cid == nil then + cid = mp.get_opt('cid') + if not cid then + local patterns = { + "bilivideo%.c[nom]+.*/resource/(%d+)%D+.*", + "bilivideo%.c[nom]+.*/(%d+)-%d+-%d+%..*%?", + } + local urls = { + path, + mp.get_property("stream-open-filename", ''), + } + + for _, pattern in ipairs(patterns) do + for _, url in ipairs(urls) do + if url:find(pattern) then + cid = url:match(pattern) + break + end + end + end + end + end + if cid == nil and path:match("/video/BV.-") then + if path:match("video/BV.-/.*") then + path = path:gsub("/[^/]+$", "") + end + add_danmaku_source_online(path, true) + return + end + if cid ~= nil then + local url = "https://comment.bilibili.com/" .. cid .. ".xml" + local temp_file = "danmaku-" .. PID .. DANMAKU.count .. ".xml" + local danmaku_xml = utils.join_path(DANMAKU_PATH, temp_file) + DANMAKU.count = DANMAKU.count + 1 + local arg = { + "curl", + "-L", + "-s", + "--compressed", + "--user-agent", + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0", + "--output", + danmaku_xml, + url, + } + + if options.cookie_file and options.cookie_file ~= "" then + table.insert(arg, '-b') + table.insert(arg, mp.command_native({"expand-path", options.cookie_file})) + end + + call_cmd_async(arg, function(error) + async_running = false + if error then + show_message("HTTP 请求失败,打开控制台查看详情", 5) + msg.error(error) + return + end + if file_exists(danmaku_xml) then + save_danmaku_downloaded(path, danmaku_xml) + load_danmaku(true) + end + end) + end +end + +-- 为 bahamut 网站的视频播放加载弹幕 +function load_danmaku_for_bahamut(path) + local path = path:gsub('%%(%x%x)', hex_to_char) + local sn = extract_between_colons(path) + if sn == nil then + return + end + local url = "https://ani.gamer.com.tw/ajax/danmuGet.php" + local temp_file = "bahamut-" .. PID .. ".json" + local danmaku_json = utils.join_path(DANMAKU_PATH, temp_file) + local arg = { + "curl", + "-X", + "POST", + "-d", + "sn=" .. sn, + "-L", + "-s", + "--user-agent", + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36", + "--header", + "Origin: https://ani.gamer.com.tw", + "--header", + "Content-Type: application/x-www-form-urlencoded;charset=utf-8", + "--header", + "Accept: application/json", + "--header", + "Authority: ani.gamer.com.tw", + "--output", + danmaku_json, + url, + } + + if options.proxy ~= "" then + table.insert(arg, '-x') + table.insert(arg, options.proxy) + end + + if options.cookie_file and options.cookie_file ~= "" then + table.insert(arg, '-b') + table.insert(arg, mp.command_native({"expand-path", options.cookie_file})) + end + + call_cmd_async(arg, function(error) + async_running = false + if error then + show_message("HTTP 请求失败,打开控制台查看详情", 5) + msg.error(error) + return + end + if not file_exists(danmaku_json) then + url = "https://ani.gamer.com.tw/animeVideo.php?sn=" .. sn + ENABLED = true + add_danmaku_source_online(url, true) + return + end + + local comments_json = read_file(danmaku_json) + os.remove(danmaku_json) + local comments = utils.parse_json(comments_json) + if not comments then + return + end + + local output_table = {} + for _, comment in ipairs(comments) do + local color = hex_to_int_color(comment["color"]) + local mode = get_type_from_position(comment["position"]) + local time = tonumber(comment["time"]) / 10 + local c_param = string.format("%s,%s,%s,25,,,", time, color, mode) + table.insert(output_table, { + c = c_param, + m = comment["text"] + }) + end + + local final_json_str = utils.format_json(output_table) + + temp_file = "danmaku-" .. PID .. DANMAKU.count .. ".json" + local json_filename = utils.join_path(DANMAKU_PATH, temp_file) + DANMAKU.count = DANMAKU.count + 1 + + local json_file = io.open(json_filename, "w") + if json_file then + json_file:write(final_json_str) + json_file:close() + end + + if file_exists(json_filename) then + save_danmaku_downloaded( + "https://ani.gamer.com.tw/animeVideo.php?sn=" .. sn, + json_filename) + load_danmaku(true) + end + end) +end + +function load_danmaku_for_url(path) + if path:find('bilibili.com') or path:find('bilivideo.c[nom]+') then + load_danmaku_for_bilibili(path) + return + end + + if path:find('bahamut.akamaized.net') then + load_danmaku_for_bahamut(path) + return + end + + local title, season_num, episod_num = parse_title() + local filename = url_decode(mp.get_property("media-title")) + local episod_number = nil + if title and episod_num then + if season_num then + dir = title .." Season".. season_num + episod_number = episod_num + else + dir = title + end + auto_load_danmaku(path, dir, filename, episod_number) + addon_danmaku(dir, false) + return + end + get_danmaku_with_hash(filename, path) + addon_danmaku() +end + +-- 自动加载上次匹配的弹幕 +function auto_load_danmaku(path, dir, filename, number) + if dir ~= nil then + local history_json = read_file(HISTORY_PATH) + if history_json ~= nil then + local history = utils.parse_json(history_json) or {} + -- 1.判断父文件名是否存在 + local history_dir = history[dir] + if history_dir ~= nil then + --2.如果存在,则获取number和id + DANMAKU.anime = history_dir.animeTitle + local episode_number = history_dir.episodeTitle and history_dir.episodeTitle:match("%d+") + local history_number = history_dir.episodeNumber + local history_id = history_dir.episodeId + local history_fname = history_dir.fname + local history_extra = history_dir.extra + local playing_number = nil + + if history_fname then + if filename ~= history_fname then + if number then + playing_number = number + else + history_number, playing_number = get_episode_number(filename, history_fname) + end + else + playing_number = history_number + end + else + playing_number = get_episode_number(filename) + end + if playing_number ~= nil then + local x = playing_number - history_number --获取集数差值 + DANMAKU.episode = episode_number and string.format("第%s话", episode_number + x) or history_dir.episodeTitle + show_message("自动加载上次匹配的弹幕", 3) + msg.verbose("自动加载上次匹配的弹幕") + if history_id then + local tmp_id = tostring(x + history_id) + set_episode_id(tmp_id) + elseif history_extra then + local episodenum = history_extra.episodenum + x + get_details(history_extra.class, history_extra.id, history_extra.site, + history_extra.title, history_extra.year, history_extra.number, episodenum) + end + else + get_danmaku_with_hash(filename, path) + end + else + get_danmaku_with_hash(filename, path) + end + else + get_danmaku_with_hash(filename, path) + end + end +end + +function init(path) + if not path then return end + local dir = get_parent_directory(path) + local filename = mp.get_property('filename/no-ext') + local video = mp.get_property_native("current-tracks/video") + local duration = mp.get_property_number("duration", 0) + if not video or video["image"] or video["albumart"] or duration < 60 then + msg.info("不支持的播放内容(非视频)") + return + end + if is_protocol(path) then + load_danmaku_for_url(path) + end + if dir and filename then + local danmaku_xml = utils.join_path(dir, filename .. ".xml") + if file_exists(danmaku_xml) then + add_danmaku_source_local(danmaku_xml, true) + else + auto_load_danmaku(path, dir, filename) + addon_danmaku(dir, true) + end + end +end + +mp.register_event("file-loaded", function() + local path = mp.get_property("path") + local dir = get_parent_directory(path) + local filename = mp.get_property('filename/no-ext') + local video = mp.get_property_native("current-tracks/video") + local fps = mp.get_property_number("container-fps", 0) + local duration = mp.get_property_number("duration", 0) + if not video or video["image"] or video["albumart"] or fps < 23 or duration < 60 then + return + end + + read_danmaku_source_record(path) + + if not get_danmaku_visibility() then + return + end + + if options.autoload_for_url and is_protocol(path) then + ENABLED = true + load_danmaku_for_url(path) + end + + if filename == nil or dir == nil then + return + end + local danmaku_xml = utils.join_path(dir, filename .. ".xml") + if options.autoload_local_danmaku then + if file_exists(danmaku_xml) then + ENABLED = true + add_danmaku_source_local(danmaku_xml) + return + end + end + + if options.auto_load then + ENABLED = true + auto_load_danmaku(path, dir, filename) + addon_danmaku(dir, false) + return + end + + if ENABLED and COMMENTS == nil and not async_running then + init(path) + end +end) + +-------------- 键位绑定 -------------- +mp.add_key_binding(options.open_search_danmaku_menu_key, "open_search_danmaku_menu", function() + mp.commandv("script-message", "open_search_danmaku_menu") +end) +mp.add_key_binding(options.show_danmaku_keyboard_key, "show_danmaku_keyboard", function() + mp.commandv("script-message", "show_danmaku_keyboard") +end) + +mp.register_script_message("danmaku-delay", function(...) + local commands = {...} + local delay_str, time_str = commands[1], commands[2] + local source_arg = commands[3] + local dly = parse_delay_input(delay_str) + local time = time_str and tonumber(time_str) + if type(dly) ~= "number" then + show_message("参数错误:缺少有效的延迟秒数", 3) + return + end + if source_arg and source_arg ~= "nil" then + set_danmaku_delay(dly, time, source_arg) + else + set_danmaku_delay(dly, time) + end +end) + +mp.register_script_message("show_danmaku_keyboard", function() + ENABLED = not ENABLED + if ENABLED then + mp.commandv("script-message-to", "uosc", "set", "show_danmaku", "on") + if COMMENTS == nil then + show_message("加载弹幕初始化...", 3) + set_danmaku_visibility(true) + local path = mp.get_property("path") + init(path) + else + show_loaded() + show_danmaku_func() + end + else + show_message("关闭弹幕", 2) + mp.commandv("script-message-to", "uosc", "set", "show_danmaku", "off") + hide_danmaku_func() + end +end) + +mp.register_script_message("check-update", check_for_update) +mp.register_script_message("clear-source", clear_source) +mp.register_script_message("immediately_save_danmaku", save_danmaku) +mp.register_script_message("open_source_delay_menu", open_delay_menu) +mp.register_script_message("open_search_danmaku_menu", open_input_menu) +mp.register_script_message("open_add_source_menu", open_add_menu) +mp.register_script_message("open_add_total_menu", open_add_total_menu) \ No newline at end of file diff --git a/scripts/uosc_danmaku/modules/aes.lua b/scripts/uosc_danmaku/modules/aes.lua new file mode 100644 index 0000000..3dd3d3b --- /dev/null +++ b/scripts/uosc_danmaku/modules/aes.lua @@ -0,0 +1,491 @@ +-- modified from https://github.com/idiomic/Lua_AES +--[[ + Copyright 2019 Tyler Richard Hoyer + Copyright 2025 dyphire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +]] + +local unpack = unpack or table.unpack + +local GF8x2 = { + [0]=0x00,0x02,0x04,0x06,0x08,0x0a,0x0c,0x0e,0x10,0x12,0x14,0x16,0x18,0x1a,0x1c,0x1e, + 0x20,0x22,0x24,0x26,0x28,0x2a,0x2c,0x2e,0x30,0x32,0x34,0x36,0x38,0x3a,0x3c,0x3e, + 0x40,0x42,0x44,0x46,0x48,0x4a,0x4c,0x4e,0x50,0x52,0x54,0x56,0x58,0x5a,0x5c,0x5e, + 0x60,0x62,0x64,0x66,0x68,0x6a,0x6c,0x6e,0x70,0x72,0x74,0x76,0x78,0x7a,0x7c,0x7e, + 0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e,0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e, + 0xa0,0xa2,0xa4,0xa6,0xa8,0xaa,0xac,0xae,0xb0,0xb2,0xb4,0xb6,0xb8,0xba,0xbc,0xbe, + 0xc0,0xc2,0xc4,0xc6,0xc8,0xca,0xcc,0xce,0xd0,0xd2,0xd4,0xd6,0xd8,0xda,0xdc,0xde, + 0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xee,0xf0,0xf2,0xf4,0xf6,0xf8,0xfa,0xfc,0xfe, + 0x1b,0x19,0x1f,0x1d,0x13,0x11,0x17,0x15,0x0b,0x09,0x0f,0x0d,0x03,0x01,0x07,0x05, + 0x3b,0x39,0x3f,0x3d,0x33,0x31,0x37,0x35,0x2b,0x29,0x2f,0x2d,0x23,0x21,0x27,0x25, + 0x5b,0x59,0x5f,0x5d,0x53,0x51,0x57,0x55,0x4b,0x49,0x4f,0x4d,0x43,0x41,0x47,0x45, + 0x7b,0x79,0x7f,0x7d,0x73,0x71,0x77,0x75,0x6b,0x69,0x6f,0x6d,0x63,0x61,0x67,0x65, + 0x9b,0x99,0x9f,0x9d,0x93,0x91,0x97,0x95,0x8b,0x89,0x8f,0x8d,0x83,0x81,0x87,0x85, + 0xbb,0xb9,0xbf,0xbd,0xb3,0xb1,0xb7,0xb5,0xab,0xa9,0xaf,0xad,0xa3,0xa1,0xa7,0xa5, + 0xdb,0xd9,0xdf,0xdd,0xd3,0xd1,0xd7,0xd5,0xcb,0xc9,0xcf,0xcd,0xc3,0xc1,0xc7,0xc5, + 0xfb,0xf9,0xff,0xfd,0xf3,0xf1,0xf7,0xf5,0xeb,0xe9,0xef,0xed,0xe3,0xe1,0xe7,0xe5 + } + +local GF8x3 = { + [0]=0x00,0x03,0x06,0x05,0x0c,0x0f,0x0a,0x09,0x18,0x1b,0x1e,0x1d,0x14,0x17,0x12,0x11, + 0x30,0x33,0x36,0x35,0x3c,0x3f,0x3a,0x39,0x28,0x2b,0x2e,0x2d,0x24,0x27,0x22,0x21, + 0x60,0x63,0x66,0x65,0x6c,0x6f,0x6a,0x69,0x78,0x7b,0x7e,0x7d,0x74,0x77,0x72,0x71, + 0x50,0x53,0x56,0x55,0x5c,0x5f,0x5a,0x59,0x48,0x4b,0x4e,0x4d,0x44,0x47,0x42,0x41, + 0xc0,0xc3,0xc6,0xc5,0xcc,0xcf,0xca,0xc9,0xd8,0xdb,0xde,0xdd,0xd4,0xd7,0xd2,0xd1, + 0xf0,0xf3,0xf6,0xf5,0xfc,0xff,0xfa,0xf9,0xe8,0xeb,0xee,0xed,0xe4,0xe7,0xe2,0xe1, + 0xa0,0xa3,0xa6,0xa5,0xac,0xaf,0xaa,0xa9,0xb8,0xbb,0xbe,0xbd,0xb4,0xb7,0xb2,0xb1, + 0x90,0x93,0x96,0x95,0x9c,0x9f,0x9a,0x99,0x88,0x8b,0x8e,0x8d,0x84,0x87,0x82,0x81, + 0x9b,0x98,0x9d,0x9e,0x97,0x94,0x91,0x92,0x83,0x80,0x85,0x86,0x8f,0x8c,0x89,0x8a, + 0xab,0xa8,0xad,0xae,0xa7,0xa4,0xa1,0xa2,0xb3,0xb0,0xb5,0xb6,0xbf,0xbc,0xb9,0xba, + 0xfb,0xf8,0xfd,0xfe,0xf7,0xf4,0xf1,0xf2,0xe3,0xe0,0xe5,0xe6,0xef,0xec,0xe9,0xea, + 0xcb,0xc8,0xcd,0xce,0xc7,0xc4,0xc1,0xc2,0xd3,0xd0,0xd5,0xd6,0xdf,0xdc,0xd9,0xda, + 0x5b,0x58,0x5d,0x5e,0x57,0x54,0x51,0x52,0x43,0x40,0x45,0x46,0x4f,0x4c,0x49,0x4a, + 0x6b,0x68,0x6d,0x6e,0x67,0x64,0x61,0x62,0x73,0x70,0x75,0x76,0x7f,0x7c,0x79,0x7a, + 0x3b,0x38,0x3d,0x3e,0x37,0x34,0x31,0x32,0x23,0x20,0x25,0x26,0x2f,0x2c,0x29,0x2a, + 0x0b,0x08,0x0d,0x0e,0x07,0x04,0x01,0x02,0x13,0x10,0x15,0x16,0x1f,0x1c,0x19,0x1a +} + +local GF8x9 = { + [0]=0x00,0x09,0x12,0x1b,0x24,0x2d,0x36,0x3f,0x48,0x41,0x5a,0x53,0x6c,0x65,0x7e,0x77, + 0x90,0x99,0x82,0x8b,0xb4,0xbd,0xa6,0xaf,0xd8,0xd1,0xca,0xc3,0xfc,0xf5,0xee,0xe7, + 0x3b,0x32,0x29,0x20,0x1f,0x16,0x0d,0x04,0x73,0x7a,0x61,0x68,0x57,0x5e,0x45,0x4c, + 0xab,0xa2,0xb9,0xb0,0x8f,0x86,0x9d,0x94,0xe3,0xea,0xf1,0xf8,0xc7,0xce,0xd5,0xdc, + 0x76,0x7f,0x64,0x6d,0x52,0x5b,0x40,0x49,0x3e,0x37,0x2c,0x25,0x1a,0x13,0x08,0x01, + 0xe6,0xef,0xf4,0xfd,0xc2,0xcb,0xd0,0xd9,0xae,0xa7,0xbc,0xb5,0x8a,0x83,0x98,0x91, + 0x4d,0x44,0x5f,0x56,0x69,0x60,0x7b,0x72,0x05,0x0c,0x17,0x1e,0x21,0x28,0x33,0x3a, + 0xdd,0xd4,0xcf,0xc6,0xf9,0xf0,0xeb,0xe2,0x95,0x9c,0x87,0x8e,0xb1,0xb8,0xa3,0xaa, + 0xec,0xe5,0xfe,0xf7,0xc8,0xc1,0xda,0xd3,0xa4,0xad,0xb6,0xbf,0x80,0x89,0x92,0x9b, + 0x7c,0x75,0x6e,0x67,0x58,0x51,0x4a,0x43,0x34,0x3d,0x26,0x2f,0x10,0x19,0x02,0x0b, + 0xd7,0xde,0xc5,0xcc,0xf3,0xfa,0xe1,0xe8,0x9f,0x96,0x8d,0x84,0xbb,0xb2,0xa9,0xa0, + 0x47,0x4e,0x55,0x5c,0x63,0x6a,0x71,0x78,0x0f,0x06,0x1d,0x14,0x2b,0x22,0x39,0x30, + 0x9a,0x93,0x88,0x81,0xbe,0xb7,0xac,0xa5,0xd2,0xdb,0xc0,0xc9,0xf6,0xff,0xe4,0xed, + 0x0a,0x03,0x18,0x11,0x2e,0x27,0x3c,0x35,0x42,0x4b,0x50,0x59,0x66,0x6f,0x74,0x7d, + 0xa1,0xa8,0xb3,0xba,0x85,0x8c,0x97,0x9e,0xe9,0xe0,0xfb,0xf2,0xcd,0xc4,0xdf,0xd6, + 0x31,0x38,0x23,0x2a,0x15,0x1c,0x07,0x0e,0x79,0x70,0x6b,0x62,0x5d,0x54,0x4f,0x46 +} + +local GF8x11 = { + [0]=0x00,0x0b,0x16,0x1d,0x2c,0x27,0x3a,0x31,0x58,0x53,0x4e,0x45,0x74,0x7f,0x62,0x69, + 0xb0,0xbb,0xa6,0xad,0x9c,0x97,0x8a,0x81,0xe8,0xe3,0xfe,0xf5,0xc4,0xcf,0xd2,0xd9, + 0x7b,0x70,0x6d,0x66,0x57,0x5c,0x41,0x4a,0x23,0x28,0x35,0x3e,0x0f,0x04,0x19,0x12, + 0xcb,0xc0,0xdd,0xd6,0xe7,0xec,0xf1,0xfa,0x93,0x98,0x85,0x8e,0xbf,0xb4,0xa9,0xa2, + 0xf6,0xfd,0xe0,0xeb,0xda,0xd1,0xcc,0xc7,0xae,0xa5,0xb8,0xb3,0x82,0x89,0x94,0x9f, + 0x46,0x4d,0x50,0x5b,0x6a,0x61,0x7c,0x77,0x1e,0x15,0x08,0x03,0x32,0x39,0x24,0x2f, + 0x8d,0x86,0x9b,0x90,0xa1,0xaa,0xb7,0xbc,0xd5,0xde,0xc3,0xc8,0xf9,0xf2,0xef,0xe4, + 0x3d,0x36,0x2b,0x20,0x11,0x1a,0x07,0x0c,0x65,0x6e,0x73,0x78,0x49,0x42,0x5f,0x54, + 0xf7,0xfc,0xe1,0xea,0xdb,0xd0,0xcd,0xc6,0xaf,0xa4,0xb9,0xb2,0x83,0x88,0x95,0x9e, + 0x47,0x4c,0x51,0x5a,0x6b,0x60,0x7d,0x76,0x1f,0x14,0x09,0x02,0x33,0x38,0x25,0x2e, + 0x8c,0x87,0x9a,0x91,0xa0,0xab,0xb6,0xbd,0xd4,0xdf,0xc2,0xc9,0xf8,0xf3,0xee,0xe5, + 0x3c,0x37,0x2a,0x21,0x10,0x1b,0x06,0x0d,0x64,0x6f,0x72,0x79,0x48,0x43,0x5e,0x55, + 0x01,0x0a,0x17,0x1c,0x2d,0x26,0x3b,0x30,0x59,0x52,0x4f,0x44,0x75,0x7e,0x63,0x68, + 0xb1,0xba,0xa7,0xac,0x9d,0x96,0x8b,0x80,0xe9,0xe2,0xff,0xf4,0xc5,0xce,0xd3,0xd8, + 0x7a,0x71,0x6c,0x67,0x56,0x5d,0x40,0x4b,0x22,0x29,0x34,0x3f,0x0e,0x05,0x18,0x13, + 0xca,0xc1,0xdc,0xd7,0xe6,0xed,0xf0,0xfb,0x92,0x99,0x84,0x8f,0xbe,0xb5,0xa8,0xa3 +} + +local GF8x13 = { + [0]=0x00,0x0d,0x1a,0x17,0x34,0x39,0x2e,0x23,0x68,0x65,0x72,0x7f,0x5c,0x51,0x46,0x4b, + 0xd0,0xdd,0xca,0xc7,0xe4,0xe9,0xfe,0xf3,0xb8,0xb5,0xa2,0xaf,0x8c,0x81,0x96,0x9b, + 0xbb,0xb6,0xa1,0xac,0x8f,0x82,0x95,0x98,0xd3,0xde,0xc9,0xc4,0xe7,0xea,0xfd,0xf0, + 0x6b,0x66,0x71,0x7c,0x5f,0x52,0x45,0x48,0x03,0x0e,0x19,0x14,0x37,0x3a,0x2d,0x20, + 0x6d,0x60,0x77,0x7a,0x59,0x54,0x43,0x4e,0x05,0x08,0x1f,0x12,0x31,0x3c,0x2b,0x26, + 0xbd,0xb0,0xa7,0xaa,0x89,0x84,0x93,0x9e,0xd5,0xd8,0xcf,0xc2,0xe1,0xec,0xfb,0xf6, + 0xd6,0xdb,0xcc,0xc1,0xe2,0xef,0xf8,0xf5,0xbe,0xb3,0xa4,0xa9,0x8a,0x87,0x90,0x9d, + 0x06,0x0b,0x1c,0x11,0x32,0x3f,0x28,0x25,0x6e,0x63,0x74,0x79,0x5a,0x57,0x40,0x4d, + 0xda,0xd7,0xc0,0xcd,0xee,0xe3,0xf4,0xf9,0xb2,0xbf,0xa8,0xa5,0x86,0x8b,0x9c,0x91, + 0x0a,0x07,0x10,0x1d,0x3e,0x33,0x24,0x29,0x62,0x6f,0x78,0x75,0x56,0x5b,0x4c,0x41, + 0x61,0x6c,0x7b,0x76,0x55,0x58,0x4f,0x42,0x09,0x04,0x13,0x1e,0x3d,0x30,0x27,0x2a, + 0xb1,0xbc,0xab,0xa6,0x85,0x88,0x9f,0x92,0xd9,0xd4,0xc3,0xce,0xed,0xe0,0xf7,0xfa, + 0xb7,0xba,0xad,0xa0,0x83,0x8e,0x99,0x94,0xdf,0xd2,0xc5,0xc8,0xeb,0xe6,0xf1,0xfc, + 0x67,0x6a,0x7d,0x70,0x53,0x5e,0x49,0x44,0x0f,0x02,0x15,0x18,0x3b,0x36,0x21,0x2c, + 0x0c,0x01,0x16,0x1b,0x38,0x35,0x22,0x2f,0x64,0x69,0x7e,0x73,0x50,0x5d,0x4a,0x47, + 0xdc,0xd1,0xc6,0xcb,0xe8,0xe5,0xf2,0xff,0xb4,0xb9,0xae,0xa3,0x80,0x8d,0x9a,0x97 +} + +local GF8x14 = { + [0]=0x00,0x0e,0x1c,0x12,0x38,0x36,0x24,0x2a,0x70,0x7e,0x6c,0x62,0x48,0x46,0x54,0x5a, + 0xe0,0xee,0xfc,0xf2,0xd8,0xd6,0xc4,0xca,0x90,0x9e,0x8c,0x82,0xa8,0xa6,0xb4,0xba, + 0xdb,0xd5,0xc7,0xc9,0xe3,0xed,0xff,0xf1,0xab,0xa5,0xb7,0xb9,0x93,0x9d,0x8f,0x81, + 0x3b,0x35,0x27,0x29,0x03,0x0d,0x1f,0x11,0x4b,0x45,0x57,0x59,0x73,0x7d,0x6f,0x61, + 0xad,0xa3,0xb1,0xbf,0x95,0x9b,0x89,0x87,0xdd,0xd3,0xc1,0xcf,0xe5,0xeb,0xf9,0xf7, + 0x4d,0x43,0x51,0x5f,0x75,0x7b,0x69,0x67,0x3d,0x33,0x21,0x2f,0x05,0x0b,0x19,0x17, + 0x76,0x78,0x6a,0x64,0x4e,0x40,0x52,0x5c,0x06,0x08,0x1a,0x14,0x3e,0x30,0x22,0x2c, + 0x96,0x98,0x8a,0x84,0xae,0xa0,0xb2,0xbc,0xe6,0xe8,0xfa,0xf4,0xde,0xd0,0xc2,0xcc, + 0x41,0x4f,0x5d,0x53,0x79,0x77,0x65,0x6b,0x31,0x3f,0x2d,0x23,0x09,0x07,0x15,0x1b, + 0xa1,0xaf,0xbd,0xb3,0x99,0x97,0x85,0x8b,0xd1,0xdf,0xcd,0xc3,0xe9,0xe7,0xf5,0xfb, + 0x9a,0x94,0x86,0x88,0xa2,0xac,0xbe,0xb0,0xea,0xe4,0xf6,0xf8,0xd2,0xdc,0xce,0xc0, + 0x7a,0x74,0x66,0x68,0x42,0x4c,0x5e,0x50,0x0a,0x04,0x16,0x18,0x32,0x3c,0x2e,0x20, + 0xec,0xe2,0xf0,0xfe,0xd4,0xda,0xc8,0xc6,0x9c,0x92,0x80,0x8e,0xa4,0xaa,0xb8,0xb6, + 0x0c,0x02,0x10,0x1e,0x34,0x3a,0x28,0x26,0x7c,0x72,0x60,0x6e,0x44,0x4a,0x58,0x56, + 0x37,0x39,0x2b,0x25,0x0f,0x01,0x13,0x1d,0x47,0x49,0x5b,0x55,0x7f,0x71,0x63,0x6d, + 0xd7,0xd9,0xcb,0xc5,0xef,0xe1,0xf3,0xfd,0xa7,0xa9,0xbb,0xb5,0x9f,0x91,0x83,0x8d +} + +local s = { + [0]=0x63,0x7C,0x77,0x7B,0xF2,0x6B,0x6F,0xC5,0x30,0x01,0x67,0x2B,0xFE,0xD7,0xAB,0x76, + 0xCA,0x82,0xC9,0x7D,0xFA,0x59,0x47,0xF0,0xAD,0xD4,0xA2,0xAF,0x9C,0xA4,0x72,0xC0, + 0xB7,0xFD,0x93,0x26,0x36,0x3F,0xF7,0xCC,0x34,0xA5,0xE5,0xF1,0x71,0xD8,0x31,0x15, + 0x04,0xC7,0x23,0xC3,0x18,0x96,0x05,0x9A,0x07,0x12,0x80,0xE2,0xEB,0x27,0xB2,0x75, + 0x09,0x83,0x2C,0x1A,0x1B,0x6E,0x5A,0xA0,0x52,0x3B,0xD6,0xB3,0x29,0xE3,0x2F,0x84, + 0x53,0xD1,0x00,0xED,0x20,0xFC,0xB1,0x5B,0x6A,0xCB,0xBE,0x39,0x4A,0x4C,0x58,0xCF, + 0xD0,0xEF,0xAA,0xFB,0x43,0x4D,0x33,0x85,0x45,0xF9,0x02,0x7F,0x50,0x3C,0x9F,0xA8, + 0x51,0xA3,0x40,0x8F,0x92,0x9D,0x38,0xF5,0xBC,0xB6,0xDA,0x21,0x10,0xFF,0xF3,0xD2, + 0xCD,0x0C,0x13,0xEC,0x5F,0x97,0x44,0x17,0xC4,0xA7,0x7E,0x3D,0x64,0x5D,0x19,0x73, + 0x60,0x81,0x4F,0xDC,0x22,0x2A,0x90,0x88,0x46,0xEE,0xB8,0x14,0xDE,0x5E,0x0B,0xDB, + 0xE0,0x32,0x3A,0x0A,0x49,0x06,0x24,0x5C,0xC2,0xD3,0xAC,0x62,0x91,0x95,0xE4,0x79, + 0xE7,0xC8,0x37,0x6D,0x8D,0xD5,0x4E,0xA9,0x6C,0x56,0xF4,0xEA,0x65,0x7A,0xAE,0x08, + 0xBA,0x78,0x25,0x2E,0x1C,0xA6,0xB4,0xC6,0xE8,0xDD,0x74,0x1F,0x4B,0xBD,0x8B,0x8A, + 0x70,0x3E,0xB5,0x66,0x48,0x03,0xF6,0x0E,0x61,0x35,0x57,0xB9,0x86,0xC1,0x1D,0x9E, + 0xE1,0xF8,0x98,0x11,0x69,0xD9,0x8E,0x94,0x9B,0x1E,0x87,0xE9,0xCE,0x55,0x28,0xDF, + 0x8C,0xA1,0x89,0x0D,0xBF,0xE6,0x42,0x68,0x41,0x99,0x2D,0x0F,0xB0,0x54,0xBB,0x16 +} + +local si = { + [0]=0x52,0x09,0x6A,0xD5,0x30,0x36,0xA5,0x38,0xBF,0x40,0xA3,0x9E,0x81,0xF3,0xD7,0xFB, + 0x7C,0xE3,0x39,0x82,0x9B,0x2F,0xFF,0x87,0x34,0x8E,0x43,0x44,0xC4,0xDE,0xE9,0xCB, + 0x54,0x7B,0x94,0x32,0xA6,0xC2,0x23,0x3D,0xEE,0x4C,0x95,0x0B,0x42,0xFA,0xC3,0x4E, + 0x08,0x2E,0xA1,0x66,0x28,0xD9,0x24,0xB2,0x76,0x5B,0xA2,0x49,0x6D,0x8B,0xD1,0x25, + 0x72,0xF8,0xF6,0x64,0x86,0x68,0x98,0x16,0xD4,0xA4,0x5C,0xCC,0x5D,0x65,0xB6,0x92, + 0x6C,0x70,0x48,0x50,0xFD,0xED,0xB9,0xDA,0x5E,0x15,0x46,0x57,0xA7,0x8D,0x9D,0x84, + 0x90,0xD8,0xAB,0x00,0x8C,0xBC,0xD3,0x0A,0xF7,0xE4,0x58,0x05,0xB8,0xB3,0x45,0x06, + 0xD0,0x2C,0x1E,0x8F,0xCA,0x3F,0x0F,0x02,0xC1,0xAF,0xBD,0x03,0x01,0x13,0x8A,0x6B, + 0x3A,0x91,0x11,0x41,0x4F,0x67,0xDC,0xEA,0x97,0xF2,0xCF,0xCE,0xF0,0xB4,0xE6,0x73, + 0x96,0xAC,0x74,0x22,0xE7,0xAD,0x35,0x85,0xE2,0xF9,0x37,0xE8,0x1C,0x75,0xDF,0x6E, + 0x47,0xF1,0x1A,0x71,0x1D,0x29,0xC5,0x89,0x6F,0xB7,0x62,0x0E,0xAA,0x18,0xBE,0x1B, + 0xFC,0x56,0x3E,0x4B,0xC6,0xD2,0x79,0x20,0x9A,0xDB,0xC0,0xFE,0x78,0xCD,0x5A,0xF4, + 0x1F,0xDD,0xA8,0x33,0x88,0x07,0xC7,0x31,0xB1,0x12,0x10,0x59,0x27,0x80,0xEC,0x5F, + 0x60,0x51,0x7F,0xA9,0x19,0xB5,0x4A,0x0D,0x2D,0xE5,0x7A,0x9F,0x93,0xC9,0x9C,0xEF, + 0xA0,0xE0,0x3B,0x4D,0xAE,0x2A,0xF5,0xB0,0xC8,0xEB,0xBB,0x3C,0x83,0x53,0x99,0x61, + 0x17,0x2B,0x04,0x7E,0xBA,0x77,0xD6,0x26,0xE1,0x69,0x14,0x63,0x55,0x21,0x0C,0x7D +} + +local rcon = { + 0x8d,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1b,0x36,0x6c,0xd8,0xab,0x4d,0x9a, + 0x2f,0x5e,0xbc,0x63,0xc6,0x97,0x35,0x6a,0xd4,0xb3,0x7d,0xfa,0xef,0xc5,0x91,0x39, + 0x72,0xe4,0xd3,0xbd,0x61,0xc2,0x9f,0x25,0x4a,0x94,0x33,0x66,0xcc,0x83,0x1d,0x3a, + 0x74,0xe8,0xcb,0x8d,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1b,0x36,0x6c,0xd8, + 0xab,0x4d,0x9a,0x2f,0x5e,0xbc,0x63,0xc6,0x97,0x35,0x6a,0xd4,0xb3,0x7d,0xfa,0xef, + 0xc5,0x91,0x39,0x72,0xe4,0xd3,0xbd,0x61,0xc2,0x9f,0x25,0x4a,0x94,0x33,0x66,0xcc, + 0x83,0x1d,0x3a,0x74,0xe8,0xcb,0x8d,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1b, + 0x36,0x6c,0xd8,0xab,0x4d,0x9a,0x2f,0x5e,0xbc,0x63,0xc6,0x97,0x35,0x6a,0xd4,0xb3, + 0x7d,0xfa,0xef,0xc5,0x91,0x39,0x72,0xe4,0xd3,0xbd,0x61,0xc2,0x9f,0x25,0x4a,0x94, + 0x33,0x66,0xcc,0x83,0x1d,0x3a,0x74,0xe8,0xcb,0x8d,0x01,0x02,0x04,0x08,0x10,0x20, + 0x40,0x80,0x1b,0x36,0x6c,0xd8,0xab,0x4d,0x9a,0x2f,0x5e,0xbc,0x63,0xc6,0x97,0x35, + 0x6a,0xd4,0xb3,0x7d,0xfa,0xef,0xc5,0x91,0x39,0x72,0xe4,0xd3,0xbd,0x61,0xc2,0x9f, + 0x25,0x4a,0x94,0x33,0x66,0xcc,0x83,0x1d,0x3a,0x74,0xe8,0xcb,0x8d,0x01,0x02,0x04, + 0x08,0x10,0x20,0x40,0x80,0x1b,0x36,0x6c,0xd8,0xab,0x4d,0x9a,0x2f,0x5e,0xbc,0x63, + 0xc6,0x97,0x35,0x6a,0xd4,0xb3,0x7d,0xfa,0xef,0xc5,0x91,0x39,0x72,0xe4,0xd3,0xbd, + 0x61,0xc2,0x9f,0x25,0x4a,0x94,0x33,0x66,0xcc,0x83,0x1d,0x3a,0x74,0xe8,0xcb,0x8d +} + +local xor4 = { + [0]=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, + 1,0,3,2,5,4,7,6,9,8,11,10,13,12,15,14, + 2,3,0,1,6,7,4,5,10,11,8,9,14,15,12,13, + 3,2,1,0,7,6,5,4,11,10,9,8,15,14,13,12, + 4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11, + 5,4,7,6,1,0,3,2,13,12,15,14,9,8,11,10, + 6,7,4,5,2,3,0,1,14,15,12,13,10,11,8,9, + 7,6,5,4,3,2,1,0,15,14,13,12,11,10,9,8, + 8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7, + 9,8,11,10,13,12,15,14,1,0,3,2,5,4,7,6, + 10,11,8,9,14,15,12,13,2,3,0,1,6,7,4,5, + 11,10,9,8,15,14,13,12,3,2,1,0,7,6,5,4, + 12,13,14,15,8,9,10,11,4,5,6,7,0,1,2,3, + 13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2, + 14,15,12,13,10,11,8,9,6,7,4,5,2,3,0,1, + 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0, +} + +local function xor8(a, b) + local al = a % 16 + local bl = b % 16 + return 16 * xor4[a - al + (b - bl) / 16] + xor4[16 * al + bl] +end + +local function xor_blocks_8(a, b) + local res = {} + for i = 1, 16 do + res[i] = xor8(a[i], b[i]) + end + return res +end + +local function addRoundKey(state, key) + for i, byte in next, state do + state[i] = xor8(byte, key[i]) + end +end + +local function subBytes(state, s_box) + for i, byte in next, state do + state[i] = s_box[byte] + end +end + +local function shiftRows(state) + state[2], state[6], state[10], state[14] = + state[6], state[10], state[14], state[2] + + state[3], state[7], state[11], state[15] = + state[11], state[15], state[3], state[7] + + state[4], state[8], state[12], state[16] = + state[16], state[4], state[8], state[12] +end + +local function inv_shiftRows(state) + state[2], state[6], state[10], state[14] = + state[14], state[2], state[6], state[10] + + state[3], state[7], state[11], state[15] = + state[11], state[15], state[3], state[7] + + state[4], state[8], state[12], state[16] = + state[8], state[12], state[16], state[4] +end + +local function mixColumns(state) + for i = 0, 3 do + local cur = i*4+1 + local a, b, c, d = state[cur], state[cur + 1], state[cur + 2], state[cur + 3] + state[cur + 0] = xor8(xor8(xor8(GF8x2[a], GF8x3[b]), c), d) + state[cur + 1] = xor8(xor8(xor8(a, GF8x2[b]), GF8x3[c]), d) + state[cur + 2] = xor8(xor8(xor8(a, b), GF8x2[c]), GF8x3[d]) + state[cur + 3] = xor8(xor8(xor8(GF8x3[a], b), c), GF8x2[d]) + end +end + +local function inv_mixColumns(state) -- TODO: fix + for i = 0, 3 do + local cur = i*4+1 + local a, b, c, d = state[cur], state[cur + 1], state[cur + 2], state[cur + 3] + state[cur + 0] = xor8(xor8(xor8(GF8x14[a], GF8x11[b]), GF8x13[c]), GF8x9[d]) + state[cur + 1] = xor8(xor8(xor8(GF8x9[a], GF8x14[b]), GF8x11[c]), GF8x13[d]) + state[cur + 2] = xor8(xor8(xor8(GF8x13[a], GF8x9[b]), GF8x14[c]), GF8x11[d]) + state[cur + 3] = xor8(xor8(xor8(GF8x11[a], GF8x13[b]), GF8x9[c]), GF8x14[d]) + end +end + +-- 256-bit key constants +local n = 32 -- number of bytes in the 256-bit encryption key +local b = 240 -- number of bytes in 15 128-bit round keys +local function schedule256(key) + local expanded = {} + for c = 0, n-1 do + expanded[c] = key[c] + end + + local i = 1 + local c = n + local t1, t2, t3, t4 --t + while c < b do + t1 = expanded[c-4] + t2 = expanded[c-3] + t3 = expanded[c-2] + t4 = expanded[c-1] + + if (c % n == 0) then + t1, t2, t3, t4 = xor8(rcon[i+1], s[t2]), s[t3], s[t4], s[t1] + i = i + 1 + end + + if (c % n == 16) then + t1 = s[t1] + t2 = s[t2] + t3 = s[t3] + t4 = s[t4] + end + + t1 = xor8(t1, expanded[c - n]) + expanded[c] = t1 + c = c + 1 + + t2 = xor8(t2, expanded[c - n]) + expanded[c] = t2 + c = c + 1 + + t3 = xor8(t3, expanded[c - n]) + expanded[c] = t3 + c = c + 1 + + t4 = xor8(t4, expanded[c - n]) + expanded[c] = t4 + c = c + 1 + end + + local roundKeys = {} + for round = 0, 14 do + local roundKey = {} + for byte = 0, 15 do + roundKey[byte+1] = expanded[round * 16 + byte] + end + roundKeys[round] = roundKey + end + return roundKeys +end + +local function chunks(text, i) + local first = i * 16 + 1 + if first > #text then + return + end + i = i + 1 + + local chunk = {text:byte(first, first + 15)} + for j = #chunk + 1, 16 do + chunk[j] = 0 + end + + return i, chunk +end + +local function pkcs7_unpad(str) + local len = #str + if len == 0 then return str end + + local pad_len = string.byte(str, len) + if pad_len < 1 or pad_len > 16 then + return nil + end + + for i = len - pad_len + 1, len do + if string.byte(str, i) ~= pad_len then + return nil + end + end + + return string.sub(str, 1, len - pad_len) +end + +local function zero_unpad(str) + local len = #str + while len > 0 and string.byte(str, len) == 0 do + len = len - 1 + end + return string.sub(str, 1, len) +end + +local function unpad(str) + local unpadded = pkcs7_unpad(str) + if unpadded then + return unpadded + else + return zero_unpad(str) + end +end + +local function encrypt(state, roundKeys) + addRoundKey(state, roundKeys[0]) + for round = 1, 13 do + subBytes(state, s) + shiftRows(state) + mixColumns(state) + addRoundKey(state, roundKeys[round]) + end + subBytes(state, s) + shiftRows(state) + addRoundKey(state, roundKeys[14]) +end + +local function decrypt(state, roundKeys) + addRoundKey(state, roundKeys[14]) + inv_shiftRows(state) + subBytes(state, si) + for round = 13, 1, -1 do + addRoundKey(state, roundKeys[round]) + inv_mixColumns(state) + inv_shiftRows(state) + subBytes(state, si) + end + addRoundKey(state, roundKeys[0]) +end + +local function ECB_encrypt(key, originaltext) + local text = {} + local roundKeys = schedule256(key) + local i = 0 + while true do + i, state = chunks(originaltext, i) + if not state then break end + encrypt(state, roundKeys) + text[i] = string.char(unpack(state)) + end + return table.concat(text) +end + +local function ECB_decrypt(key, ciphertext) + local text = {} + local roundKeys = schedule256(key) + local i = 0 + while true do + i, state = chunks(ciphertext, i) + if not state then break end + decrypt(state, roundKeys) + text[i] = string.char(unpack(state)) + end + return unpad(table.concat(text)) +end + +local function CBC_encrypt(key, iv, originaltext) + local roundKeys = schedule256(key) + local text = {} + local prev_block = {unpack(iv)} + local i = 0 + + while true do + i, block = chunks(originaltext, i) + if not block then break end + + local xored = xor_blocks_8(block, prev_block) + encrypt(xored, roundKeys) + text[i] = string.char(unpack(xored)) + prev_block = xored + end + + return table.concat(text) +end + +local function CBC_decrypt(key, iv, ciphertext) + local roundKeys = schedule256(key) + local text = {} + local prev_block = {unpack(iv)} + local i = 0 + + while true do + i, block = chunks(ciphertext, i) + if not block then break end + + local decrypted = {unpack(block)} + + decrypt(decrypted, roundKeys) + local plain_block = xor_blocks_8(decrypted, prev_block) + text[i] = string.char(unpack(plain_block)) + prev_block = block + end + + local result = table.concat(text) + return unpad(result) +end + +return { + ECB = { + encrypt = ECB_encrypt; + decrypt = ECB_decrypt; + }; + CBC = { + encrypt = CBC_encrypt; + decrypt = CBC_decrypt; + }; +} \ No newline at end of file diff --git a/scripts/uosc_danmaku/modules/base64.lua b/scripts/uosc_danmaku/modules/base64.lua new file mode 100644 index 0000000..08be240 --- /dev/null +++ b/scripts/uosc_danmaku/modules/base64.lua @@ -0,0 +1,203 @@ +--[[ + + base64 -- v1.5.3 public domain Lua base64 encoder/decoder + no warranty implied; use at your own risk + + Needs bit32.extract function. If not present it's implemented using BitOp + or Lua 5.3 native bit operators. For Lua 5.1 fallbacks to pure Lua + implementation inspired by Rici Lake's post: + http://ricilake.blogspot.co.uk/2007/10/iterating-bits-in-lua.html + + author: Ilya Kolbin (iskolbin@gmail.com) + url: github.com/iskolbin/lbase64 + + COMPATIBILITY + + Lua 5.1+, LuaJIT + + LICENSE + + See end of file for license information. + +--]] + + +local base64 = {} + +local extract = _G.bit32 and _G.bit32.extract -- Lua 5.2/Lua 5.3 in compatibility mode +if not extract then + if _G.bit then -- LuaJIT + local shl, shr, band = _G.bit.lshift, _G.bit.rshift, _G.bit.band + extract = function( v, from, width ) + return band( shr( v, from ), shl( 1, width ) - 1 ) + end + elseif _G._VERSION == "Lua 5.1" then + extract = function( v, from, width ) + local w = 0 + local flag = 2^from + for i = 0, width-1 do + local flag2 = flag + flag + if v % flag2 >= flag then + w = w + 2^i + end + flag = flag2 + end + return w + end + else -- Lua 5.3+ + extract = load[[return function( v, from, width ) + return ( v >> from ) & ((1 << width) - 1) + end]]() + end +end + + +function base64.makeencoder( s62, s63, spad ) + local encoder = {} + for b64code, char in pairs{[0]='A','B','C','D','E','F','G','H','I','J', + 'K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y', + 'Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n', + 'o','p','q','r','s','t','u','v','w','x','y','z','0','1','2', + '3','4','5','6','7','8','9',s62 or '+',s63 or'/',spad or'='} do + encoder[b64code] = char:byte() + end + return encoder +end + +function base64.makedecoder( s62, s63, spad ) + local decoder = {} + for b64code, charcode in pairs( base64.makeencoder( s62, s63, spad )) do + decoder[charcode] = b64code + end + return decoder +end + +local DEFAULT_ENCODER = base64.makeencoder() +local DEFAULT_DECODER = base64.makedecoder() + +local char, concat = string.char, table.concat + +function base64.encode( str, encoder, usecaching ) + encoder = encoder or DEFAULT_ENCODER + local t, k, n = {}, 1, #str + local lastn = n % 3 + local cache = {} + for i = 1, n-lastn, 3 do + local a, b, c = str:byte( i, i+2 ) + local v = a*0x10000 + b*0x100 + c + local s + if usecaching then + s = cache[v] + if not s then + s = char(encoder[extract(v,18,6)], encoder[extract(v,12,6)], encoder[extract(v,6,6)], encoder[extract(v,0,6)]) + cache[v] = s + end + else + s = char(encoder[extract(v,18,6)], encoder[extract(v,12,6)], encoder[extract(v,6,6)], encoder[extract(v,0,6)]) + end + t[k] = s + k = k + 1 + end + if lastn == 2 then + local a, b = str:byte( n-1, n ) + local v = a*0x10000 + b*0x100 + t[k] = char(encoder[extract(v,18,6)], encoder[extract(v,12,6)], encoder[extract(v,6,6)], encoder[64]) + elseif lastn == 1 then + local v = str:byte( n )*0x10000 + t[k] = char(encoder[extract(v,18,6)], encoder[extract(v,12,6)], encoder[64], encoder[64]) + end + return concat( t ) +end + +function base64.decode( b64, decoder, usecaching, schar1pos, schar2pos ) + decoder = decoder or DEFAULT_DECODER + schar1pos = schar1pos or 62 + schar2pos = schar2pos or 63 + local pattern = '[^%w%+%/%=]' + if decoder then + local s62, s63 + for charcode, b64code in pairs( decoder ) do + if b64code == schar1pos then s62 = charcode + elseif b64code == schar2pos then s63 = charcode + end + end + pattern = ('[^%%w%%%s%%%s%%=]'):format( char(s62), char(s63) ) + end + b64 = b64:gsub( pattern, '' ) + local cache = usecaching and {} + local t, k = {}, 1 + local n = #b64 + local padding = b64:sub(-2) == '==' and 2 or b64:sub(-1) == '=' and 1 or 0 + for i = 1, padding > 0 and n-4 or n, 4 do + local a, b, c, d = b64:byte( i, i+3 ) + local s + if usecaching then + local v0 = a*0x1000000 + b*0x10000 + c*0x100 + d + s = cache[v0] + if not s then + local v = decoder[a]*0x40000 + decoder[b]*0x1000 + decoder[c]*0x40 + decoder[d] + s = char( extract(v,16,8), extract(v,8,8), extract(v,0,8)) + cache[v0] = s + end + else + local v = decoder[a]*0x40000 + decoder[b]*0x1000 + decoder[c]*0x40 + decoder[d] + s = char( extract(v,16,8), extract(v,8,8), extract(v,0,8)) + end + t[k] = s + k = k + 1 + end + if padding == 1 then + local a, b, c = b64:byte( n-3, n-1 ) + local v = decoder[a]*0x40000 + decoder[b]*0x1000 + decoder[c]*0x40 + t[k] = char( extract(v,16,8), extract(v,8,8)) + elseif padding == 2 then + local a, b = b64:byte( n-3, n-2 ) + local v = decoder[a]*0x40000 + decoder[b]*0x1000 + t[k] = char( extract(v,16,8)) + end + return concat( t ) +end + +return base64 + +--[[ +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2018 Ilya Kolbin +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. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +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 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. +------------------------------------------------------------------------------ +--]] \ No newline at end of file diff --git a/scripts/uosc_danmaku/modules/guess.lua b/scripts/uosc_danmaku/modules/guess.lua new file mode 100644 index 0000000..5440cc9 --- /dev/null +++ b/scripts/uosc_danmaku/modules/guess.lua @@ -0,0 +1,159 @@ +local unpack = unpack or table.unpack + +-- Clean up media name +local function clean_name(name) + return name:gsub("^%[.-%]", " ") + :gsub("^%(.-%)", " ") + :gsub("[_%.%[%]]", " ") + :gsub("第%s*%d+%s*季", "") + :gsub("第%s*%d+%s*部", "") + :gsub("第[一二三四五六七八九十]+季", "") + :gsub("第[一二三四五六七八九十]+部", "") + :gsub("^%s*(.-)%s*$", "%1") + :gsub("[!@#%.%?%+%-%%&*_=,/~`]+$", "") +end + +-- Formatters for media titles +local formatters = { + { + regex = "^(.-)%s*[_%-%.%s]%s*第%s*(%d+)%s*[季部]+%s*[_%-%.%s]%s*第%s*(%d+[%.v]?%d*)%s*[话集回]", + format = function(name, season, episode) + return clean_name(name) .. " S" .. season .. "E" .. episode:gsub("v%d+$","") + end + }, + { + regex = "^(.-)%s*[_%-%.%s]%s*第([一二三四五六七八九十]+)[季部]+%s*[_%-%.%s]%s*第%s*(%d+[%.v]?%d*)%s*[话集回]", + format = function(name, season, episode) + return clean_name(name) .. " S" .. chinese_to_number(season) .. "E" .. episode:gsub("v%d+$","") + end + }, + { + regex = "^(.-)%s*[_%-%.%s]%s*第%s*(%d+)%s*[季部]+%s*[_%-%.%s]%s*[^%ddD][eEpP]+(%d+[%.v]?%d*)", + format = function(name, season, episode) + return clean_name(name) .. " S" .. season .. "E" .. episode:gsub("v%d+$","") + end + }, + { + regex = "^(.-)%s*[_%-%.%s]%s*第([一二三四五六七八九十]+)[季部]+%s*[_%-%.%s]%s*[^%ddD][eEpP]+(%d+[%.v]?%d*)", + format = function(name, season, episode) + return clean_name(name) .. " S" .. chinese_to_number(season) .. "E" .. episode:gsub("v%d+$","") + end + }, + { + regex = "^(.-)%s*[_%.%s]%s*(%d%d%d%d)[_%.%s]%d%d[_%.%s]%d%d%s*[_%.%s]?(.-)%s*[_%.%s]%d+[pPkKxXbBfF]", + format = function(name, year, subtitle) + local title = clean_name(name) + if subtitle then + title = title .. ": " .. subtitle:gsub("%.", " "):gsub("^%s*(.-)%s*$", "%1") + end + return title .. " (" .. year .. ")" + end + }, + { + regex = "^(.-)%s*[_%.%s]%s*(%d%d%d%d)%s*[_%.%s]%s*[sS](%d+)[%.%-%s:]?[eE](%d+%.?%d*)", + format = function(name, year, season, episode) + return clean_name(name) .. " (" .. year .. ") S" .. season .. "E" .. episode + end + }, + { + regex = "^(.-)%s*[_%.%s]%s*(%d%d%d%d)%s*[_%.%s]%s*[^%ddD][eEpP]+(%d+%.?%d*)", + format = function(name, year, episode) + return clean_name(name) .. " (" .. year .. ") E" .. episode + end + }, + { + regex = "^(.-)%s*[_%-%.%s]%s*[sS](%d+)[%.%-%s:]?[eE](%d+[%.v]?%d*)%s*[_%.%s]%s*(%d%d%d%d)[^%dhHxXvVpPkKxXbBfF]", + format = function(name, season, episode, year) + return clean_name(name) .. " (" .. year .. ") S" .. season .. "E" .. episode:gsub("v%d+$","") + end + }, + { + regex = "^(.-)%s*[_%-%.%s]%s*[sS](%d+)[%.%-%s:]?[eE](%d+%.?%d*)", + format = function(name, season, episode) + return clean_name(name) .. " S" .. season .. "E" .. episode + end + }, + { + regex = "^(.-)%s*[_%.%s]%s*(%d+)[nrdsth]+[_%.%s]%s*[sS]eason[_%.%s]%s*%[(%d+[%.v]?%d*)%]", + format = function(name, season, episode) + return clean_name(name) .. " S" .. season .. "E" .. episode:gsub("v%d+$","") + end + }, + { + regex = "^(.-)%s*[^%ddD][eEpP]+(%d+[%.v]?%d*)[_%.%s]%s*(%d%d%d%d)[^%dhHxXvVpPkKxXbBfF]", + format = function(name, episode, year) + return clean_name(name) .. " (" .. year .. ") E" .. episode:gsub("v%d+$","") + end + }, + { + regex = "^(.-)%s*[^%ddD][eEpP]+(%d+%.?%d*)", + format = function(name, episode) + return clean_name(name) .. " E" .. episode + end + }, + { + regex = "^(.-)%s*第%s*(%d+[%.v]?%d*)%s*[话集回]", + format = function(name, episode) + return clean_name(name) .. " E" .. episode:gsub("v%d+$","") + end + }, + { + regex = "^(.-)%s*%[(%d+[%.v]?%d*)%]", + format = function(name, episode) + return clean_name(name) .. " E" .. episode:gsub("v%d+$","") + end + }, + { + regex = "^(.-)%s*%[(%d+[%.v]?%d*)%(%a+%)%]", + format = function(name, episode) + return clean_name(name) .. " E" .. episode:gsub("v%d+$","") + end + }, + { + regex = "^(.-)%s*[%-#]%s*(%d+%.?%d*)%s*", + format = function(name, episode) + return clean_name(name) .. " E" .. episode + end + }, + { + regex = "^(.-)%s*[%[%(]([OVADSPs]+)[%]%)]", + format = function(name, sp) + return clean_name(name) .. " [" .. sp .. "]" + end + }, + { + regex = "^(.-)%s*[_%-%.%s]%s*(%d?%d)x(%d%d?%d?%d?)[^%dhHxXvVpPkKxXbBfF]", + format = function(name, season, episode) + return clean_name(name) .. " S" .. season .. "E" .. episode + end + }, + { + regex = "^%((%d%d%d%d)%.?%d?%d?%.?%d?%d?%)%s*(.-)%s*[%(%[]", + format = function(year, name) + return clean_name(name) .. " (" .. year .. ")" + end + }, + { + regex = "^(.-)%s*[_%.%s]%s*(%d%d%d%d)[^%dhHxXvVpPkKxXbBfF]", + format = function(name, year) + return clean_name(name) .. " (" .. year .. ")" + end + }, + { + regex = "^%[.-%]%s*%[?(.-)%]?%s*[%(%[]", + format = function(name) + return clean_name(name) + end + }, +} + +-- Format filename based on regex patterns +function format_filename(title) + for _, formatter in ipairs(formatters) do + local matches = {title:match(formatter.regex)} + if #matches > 0 then + title = formatter.format(unpack(matches)) + return title + end + end +end \ No newline at end of file diff --git a/scripts/uosc_danmaku/modules/hash.lua b/scripts/uosc_danmaku/modules/hash.lua new file mode 100644 index 0000000..50240a4 --- /dev/null +++ b/scripts/uosc_danmaku/modules/hash.lua @@ -0,0 +1,192 @@ +--[[ + + sha256 -- public domain Lua SHA-256 implementation + no warranty implied; use at your own risk + + author: dyphire + + COMPATIBILITY + + Lua 5.1+, LuaJIT + + LICENSE: MIT License + +--]] + +local unpack = unpack or table.unpack + +local function band(a,b) + local res = 0 + local bit = 1 + for i = 0,31 do + local aa = a % 2 + local bb = b % 2 + if aa == 1 and bb == 1 then + res = res + bit + end + a = (a - aa) / 2 + b = (b - bb) / 2 + bit = bit * 2 + end + return res +end + +local function bor(a,b) + local res = 0 + local bit = 1 + for i = 0,31 do + local aa = a % 2 + local bb = b % 2 + if aa == 1 or bb == 1 then + res = res + bit + end + a = (a - aa) / 2 + b = (b - bb) / 2 + bit = bit * 2 + end + return res +end + +local function bxor(a,b) + local res = 0 + local bit = 1 + for i = 0,31 do + local aa = a % 2 + local bb = b % 2 + if (aa + bb) == 1 then + res = res + bit + end + a = (a - aa) / 2 + b = (b - bb) / 2 + bit = bit * 2 + end + return res +end + +local function bnot(a) + return 0xFFFFFFFF - a +end + +local function lshift(a,n) + return (a * 2^n) % 2^32 +end + +local function rshift(a,n) + return math.floor(a / 2^n) % 2^32 +end + +local function bit_ror(x, n) + return bor(rshift(x, n), lshift(x, 32 - n)) +end + +local function sha256(message) + local k = { + 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, + 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, + 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, + 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, + 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, + 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, + 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, + 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 + } + + local function preprocess(msg) + local len = #msg + local bitLen = len * 8 + msg = msg .. "\128" + + local zeroPad = 64 - ((len + 9) % 64) + if zeroPad ~= 64 then + msg = msg .. string.rep("\0", zeroPad) + end + + msg = msg .. string.char( + rshift(bitLen, 56) % 256, + rshift(bitLen, 48) % 256, + rshift(bitLen, 40) % 256, + rshift(bitLen, 32) % 256, + rshift(bitLen, 24) % 256, + rshift(bitLen, 16) % 256, + rshift(bitLen, 8) % 256, + bitLen % 256 + ) + return msg + end + + local function chunkify(msg) + local chunks = {} + for i = 1, #msg, 64 do + table.insert(chunks, msg:sub(i, i + 63)) + end + return chunks + end + + local function processChunk(chunk, hash) + local w = {} + + for i = 1, 64 do + if i <= 16 then + w[i] = lshift(string.byte(chunk, (i - 1) * 4 + 1), 24) + + lshift(string.byte(chunk, (i - 1) * 4 + 2), 16) + + lshift(string.byte(chunk, (i - 1) * 4 + 3), 8) + + string.byte(chunk, (i - 1) * 4 + 4) + else + local s0 = bxor(bxor(bit_ror(w[i - 15], 7), bit_ror(w[i - 15], 18)), rshift(w[i - 15], 3)) + local s1 = bxor(bxor(bit_ror(w[i - 2], 17), bit_ror(w[i - 2], 19)), rshift(w[i - 2], 10)) + w[i] = (w[i - 16] + s0 + w[i - 7] + s1) % 2^32 + end + end + + local a, b, c, d, e, f, g, h = unpack(hash) + + for i = 1, 64 do + local s1 = bxor(bxor(bit_ror(e, 6), bit_ror(e, 11)), bit_ror(e, 25)) + local ch = bxor(band(e, f), band(bnot(e), g)) + local temp1 = (h + s1 + ch + k[i] + w[i]) % 2^32 + local s0 = bxor(bxor(bit_ror(a, 2), bit_ror(a, 13)), bit_ror(a, 22)) + local maj = bxor(bxor(band(a, b), band(a, c)), band(b, c)) + local temp2 = (s0 + maj) % 2^32 + + h = g + g = f + f = e + e = (d + temp1) % 2^32 + d = c + c = b + b = a + a = (temp1 + temp2) % 2^32 + end + + return + (hash[1] + a) % 2^32, + (hash[2] + b) % 2^32, + (hash[3] + c) % 2^32, + (hash[4] + d) % 2^32, + (hash[5] + e) % 2^32, + (hash[6] + f) % 2^32, + (hash[7] + g) % 2^32, + (hash[8] + h) % 2^32 + end + + message = preprocess(message) + local chunks = chunkify(message) + + local hash = { + 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, + 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19 + } + + for _, chunk in ipairs(chunks) do + hash = {processChunk(chunk, hash)} + end + + local result = "" + for _, h in ipairs(hash) do + result = result .. string.format("%08x", h) + end + + return result +end + +return sha256 \ No newline at end of file diff --git a/scripts/uosc_danmaku/modules/md5.lua b/scripts/uosc_danmaku/modules/md5.lua new file mode 100644 index 0000000..f2b1d8c --- /dev/null +++ b/scripts/uosc_danmaku/modules/md5.lua @@ -0,0 +1,164 @@ +-- taken from https://github.com/rkscv/danmaku/blob/main/danmaku.lua +-- modified from https://bitop.luajit.org/download.html (LuaBitOp-1.0.2 / md5test.lua) +-- and https://github.com/kikito/md5.lua/blob/master/md5.lua +-- SPDX-License-Identifier:MIT + +local byte, char, sub, rep = string.byte, string.char, string.sub, string.rep + +local tobit, tohex, bnot, bor, band, bxor, lshift, rshift, rol, bswap +if _G.bit then --LuaJIT + tobit, tohex = _G.bit.tobit or _G.bit.cast, _G.bit.tohex + bnot, bor, band, bxor, lshift, rshift = _G.bit.bnot, _G.bit.bor, _G.bit.band, _G.bit.bxor, _G.bit.lshift, _G.bit.rshift + rol, bswap = _G.bit.rol, _G.bit.bswap +elseif _G.bit32 then --Lua 5.2 + local bit32_bnot = _G.bit32.bnot + tobit = function(a) return a <= 0x7fffffff and a or -(_G.bit32.bnot(a) + 1) end + bnot = function(a) return tobit(bit32_bnot(tobit(a))) end + bor, band, bxor, lshift, rshift, rol = _G.bit32.bor, _G.bit32.band, _G.bit32.bxor, _G.bit32.lshift, _G.bit32.rshift, _G.bit32.lrotate +else + return nil +end +if not tohex then + tohex = function(a) return string.sub(string.format('%08x', a), -8) end +end +if not bswap then + bswap = function(a) + return bor(rshift(a, 24), band(rshift(a, 8), 0xff00), lshift(band(a, 0xff00), 8), lshift(a, 24)) + end +end + +local function tr_f(a, b, c, d, x, s) return rol(bxor(d, band(b, bxor(c, d))) + a + x, s) + b end +local function tr_g(a, b, c, d, x, s) return rol(bxor(c, band(d, bxor(b, c))) + a + x, s) + b end +local function tr_h(a, b, c, d, x, s) return rol(bxor(b, c, d) + a + x, s) + b end +local function tr_i(a, b, c, d, x, s) return rol(bxor(c, bor(b, bnot(d))) + a + x, s) + b end + +local function transform(x, a1, b1, c1, d1) + local a, b, c, d = a1, b1, c1, d1 + + a = tr_f(a, b, c, d, x[1] + 0xd76aa478, 7) + d = tr_f(d, a, b, c, x[2] + 0xe8c7b756, 12) + c = tr_f(c, d, a, b, x[3] + 0x242070db, 17) + b = tr_f(b, c, d, a, x[4] + 0xc1bdceee, 22) + a = tr_f(a, b, c, d, x[5] + 0xf57c0faf, 7) + d = tr_f(d, a, b, c, x[6] + 0x4787c62a, 12) + c = tr_f(c, d, a, b, x[7] + 0xa8304613, 17) + b = tr_f(b, c, d, a, x[8] + 0xfd469501, 22) + a = tr_f(a, b, c, d, x[9] + 0x698098d8, 7) + d = tr_f(d, a, b, c, x[10] + 0x8b44f7af, 12) + c = tr_f(c, d, a, b, x[11] + 0xffff5bb1, 17) + b = tr_f(b, c, d, a, x[12] + 0x895cd7be, 22) + a = tr_f(a, b, c, d, x[13] + 0x6b901122, 7) + d = tr_f(d, a, b, c, x[14] + 0xfd987193, 12) + c = tr_f(c, d, a, b, x[15] + 0xa679438e, 17) + b = tr_f(b, c, d, a, x[16] + 0x49b40821, 22) + + a = tr_g(a, b, c, d, x[2] + 0xf61e2562, 5) + d = tr_g(d, a, b, c, x[7] + 0xc040b340, 9) + c = tr_g(c, d, a, b, x[12] + 0x265e5a51, 14) + b = tr_g(b, c, d, a, x[1] + 0xe9b6c7aa, 20) + a = tr_g(a, b, c, d, x[6] + 0xd62f105d, 5) + d = tr_g(d, a, b, c, x[11] + 0x02441453, 9) + c = tr_g(c, d, a, b, x[16] + 0xd8a1e681, 14) + b = tr_g(b, c, d, a, x[5] + 0xe7d3fbc8, 20) + a = tr_g(a, b, c, d, x[10] + 0x21e1cde6, 5) + d = tr_g(d, a, b, c, x[15] + 0xc33707d6, 9) + c = tr_g(c, d, a, b, x[4] + 0xf4d50d87, 14) + b = tr_g(b, c, d, a, x[9] + 0x455a14ed, 20) + a = tr_g(a, b, c, d, x[14] + 0xa9e3e905, 5) + d = tr_g(d, a, b, c, x[3] + 0xfcefa3f8, 9) + c = tr_g(c, d, a, b, x[8] + 0x676f02d9, 14) + b = tr_g(b, c, d, a, x[13] + 0x8d2a4c8a, 20) + + a = tr_h(a, b, c, d, x[6] + 0xfffa3942, 4) + d = tr_h(d, a, b, c, x[9] + 0x8771f681, 11) + c = tr_h(c, d, a, b, x[12] + 0x6d9d6122, 16) + b = tr_h(b, c, d, a, x[15] + 0xfde5380c, 23) + a = tr_h(a, b, c, d, x[2] + 0xa4beea44, 4) + d = tr_h(d, a, b, c, x[5] + 0x4bdecfa9, 11) + c = tr_h(c, d, a, b, x[8] + 0xf6bb4b60, 16) + b = tr_h(b, c, d, a, x[11] + 0xbebfbc70, 23) + a = tr_h(a, b, c, d, x[14] + 0x289b7ec6, 4) + d = tr_h(d, a, b, c, x[1] + 0xeaa127fa, 11) + c = tr_h(c, d, a, b, x[4] + 0xd4ef3085, 16) + b = tr_h(b, c, d, a, x[7] + 0x04881d05, 23) + a = tr_h(a, b, c, d, x[10] + 0xd9d4d039, 4) + d = tr_h(d, a, b, c, x[13] + 0xe6db99e5, 11) + c = tr_h(c, d, a, b, x[16] + 0x1fa27cf8, 16) + b = tr_h(b, c, d, a, x[3] + 0xc4ac5665, 23) + + a = tr_i(a, b, c, d, x[1] + 0xf4292244, 6) + d = tr_i(d, a, b, c, x[8] + 0x432aff97, 10) + c = tr_i(c, d, a, b, x[15] + 0xab9423a7, 15) + b = tr_i(b, c, d, a, x[6] + 0xfc93a039, 21) + a = tr_i(a, b, c, d, x[13] + 0x655b59c3, 6) + d = tr_i(d, a, b, c, x[4] + 0x8f0ccc92, 10) + c = tr_i(c, d, a, b, x[11] + 0xffeff47d, 15) + b = tr_i(b, c, d, a, x[2] + 0x85845dd1, 21) + a = tr_i(a, b, c, d, x[9] + 0x6fa87e4f, 6) + d = tr_i(d, a, b, c, x[16] + 0xfe2ce6e0, 10) + c = tr_i(c, d, a, b, x[7] + 0xa3014314, 15) + b = tr_i(b, c, d, a, x[14] + 0x4e0811a1, 21) + a = tr_i(a, b, c, d, x[5] + 0xf7537e82, 6) + d = tr_i(d, a, b, c, x[12] + 0xbd3af235, 10) + c = tr_i(c, d, a, b, x[3] + 0x2ad7d2bb, 15) + b = tr_i(b, c, d, a, x[10] + 0xeb86d391, 21) + + return tobit(a + a1), tobit(b + b1), tobit(c + c1), tobit(d + d1) +end + +local function md5_update(self, s) + local m, len = s, #s + if len % 4 ~= 0 then + m = m .. '\128' .. rep('\0', 63 - band(len + 8, 63)) .. + char(band(lshift(len, 3), 255), band(rshift(len, 5), 255), band(rshift(len, 13), 255), + band(rshift(len, 21), 255)) .. '\0\0\0\0' + end + local a, b, c, d = self.a, self.b, self.c, self.d + local x, k = self.x, self.k + for i = 1, #m, 4 do + local m0, m1, m2, m3 = byte(m, i, i + 3) + x[k] = bor(m0, lshift(m1, 8), lshift(m2, 16), lshift(m3, 24)) + if k == 16 then + a, b, c, d = transform(x, a, b, c, d) + k = 1 + else + k = k + 1 + end + end + self.a, self.b, self.c, self.d, self.k = a, b, c, d, k + self.len = self.len + len + return self +end + +local function md5_finish(self) + local len = self.len + if len % 4 == 0 then + local s = '\128' .. rep('\0', 63 - band(len + 8, 63)) .. + char(band(lshift(len, 3), 255), band(rshift(len, 5), 255), band(rshift(len, 13), 255), + band(rshift(len, 21), 255)) .. '\0\0\0\0' + md5_update(self, s) + end + return tohex(bswap(self.a)) .. tohex(bswap(self.b)) .. tohex(bswap(self.c)) .. tohex(bswap(self.d)) +end + +local md5 = {} + +function md5.new() + return { + a = 0x67452301, + b = 0xefcdab89, + c = 0x98badcfe, + d = 0x10325476, + x = {}, + k = 1, + len = 0, + update = md5_update, + finish = md5_finish, + } +end + +function md5.sum(s) + return md5.new():update(s):finish() +end + +return md5 \ No newline at end of file diff --git a/scripts/uosc_danmaku/modules/menu.lua b/scripts/uosc_danmaku/modules/menu.lua new file mode 100644 index 0000000..691f30b --- /dev/null +++ b/scripts/uosc_danmaku/modules/menu.lua @@ -0,0 +1,1337 @@ +local msg = require('mp.msg') +local utils = require("mp.utils") +local unpack = unpack or table.unpack + +input_loaded, input = pcall(require, "mp.input") +uosc_available = false +latest_menu_anime = {} + +-- 打开番剧数据匹配菜单 +function get_animes(query) + local encoded_query = url_encode(query) + local url = options.api_server .. "/api/v2/search/anime" + local params = "keyword=" .. encoded_query + local full_url = url .. "?" .. params + local items = {} + + local message = "加载数据中..." + local menu_type = "menu_anime" + local menu_title = "在此处输入番剧名称" + local footnote = "使用enter或ctrl+enter进行搜索" + local menu_cmd = { "script-message-to", mp.get_script_name(), "search-anime-event" } + if uosc_available then + update_menu_uosc(menu_type, menu_title, message, footnote, menu_cmd, query) + else + show_message(message, 30) + end + msg.verbose("尝试获取番剧数据:" .. full_url) + + local args = make_danmaku_request_args("GET", full_url) + + if args == nil then + return + end + + local res = mp.command_native({ name = 'subprocess', capture_stdout = true, capture_stderr = true, args = args }) + + if not res.status or res.status ~= 0 then + local message = "获取数据失败" + if uosc_available then + update_menu_uosc(menu_type, menu_title, message, footnote, menu_cmd, query) + else + show_message(message, 3) + end + msg.error("HTTP 请求失败:" .. res.stderr) + end + + local response = utils.parse_json(res.stdout) + + if not response or not response.animes then + local message = "无结果" + if uosc_available then + update_menu_uosc(menu_type, menu_title, message, footnote, menu_cmd, query) + else + show_message(message, 3) + end + msg.info("无结果") + return + end + + for _, anime in ipairs(response.animes) do + table.insert(items, { + title = anime.animeTitle, + hint = anime.typeDescription, + value = { + "script-message-to", + mp.get_script_name(), + "search-episodes-event", + anime.animeTitle, anime.bangumiId, + }, + }) + end + + if uosc_available then + latest_menu_anime = update_menu_uosc(menu_type, menu_title, items, footnote, menu_cmd, query) + elseif input_loaded then + show_message("", 0) + mp.add_timeout(0.1, function() + latest_menu_anime = utils.format_json(items) + open_menu_select(items) + end) + end +end + +function get_episodes(animeTitle, bangumiId) + local url = options.api_server .. "/api/v2/bangumi/" .. bangumiId + local items = {} + + local message = "加载数据中..." + local menu_type = "menu_episodes" + local menu_title = "剧集信息" + local footnote = "使用 / 打开筛选" + + if uosc_available then + update_menu_uosc(menu_type, menu_title, message, footnote) + else + show_message(message, 30) + end + + local args = make_danmaku_request_args("GET", url) + + if args == nil then + return + end + + local res = mp.command_native({ name = 'subprocess', capture_stdout = true, capture_stderr = true, args = args }) + + if not res.status or res.status ~= 0 then + local message = "获取数据失败" + if uosc_available then + update_menu_uosc(menu_type, menu_title, message, footnote) + else + show_message(message, 3) + end + msg.error("HTTP 请求失败:" .. res.stderr) + end + + local response = utils.parse_json(res.stdout) + + if not response or not response.bangumi or not response.bangumi.episodes then + local message = "无结果" + if uosc_available then + update_menu_uosc(menu_type, menu_title, message, footnote) + else + show_message(message, 3) + end + msg.info("无结果") + return + end + + table.insert(items, { + title = "← 返回搜索结果", + value = { "script-message-to", mp.get_script_name(), "open-latest-menu-anime", latest_menu_anime }, + keep_open = false, + selectable = true, + }) + + for _, episode in ipairs(response.bangumi.episodes) do + table.insert(items, { + title = episode.episodeTitle, + hint = episode.episodeNumber, + value = { "script-message-to", mp.get_script_name(), "load-danmaku", + animeTitle, episode.episodeTitle, episode.episodeId }, + keep_open = false, + selectable = true, + }) + end + + if uosc_available then + footnote = mp.get_property("filename") + update_menu_uosc(menu_type, menu_title, items, footnote) + elseif input_loaded then + mp.add_timeout(0.1, function() + open_menu_select(items) + end) + end +end + +function update_menu_uosc(menu_type, menu_title, menu_item, menu_footnote, menu_cmd, query) + local items = {} + if type(menu_item) == "string" then + table.insert(items, { + title = menu_item, + value = "", + italic = true, + keep_open = true, + selectable = false, + align = "center", + icon = "spinner", + }) + else + items = menu_item + end + + local menu_props = { + type = menu_type, + title = menu_title, + search_style = menu_cmd and "palette" or "on_demand", + search_debounce = menu_cmd and "submit" or 0, + on_search = menu_cmd, + footnote = menu_footnote, + search_suggestion = query, + items = items, + } + local json_props = utils.format_json(menu_props) + mp.commandv("script-message-to", "uosc", "open-menu", json_props) + + return json_props +end + +function open_menu_select(menu_items, is_time) + local item_titles, item_values = {}, {} + for i, v in ipairs(menu_items) do + item_titles[i] = is_time and "[" .. v.hint .. "] " .. v.title or + (v.hint and v.title .. " (" .. v.hint .. ")" or v.title) + item_values[i] = v.value + end + mp.commandv('script-message-to', 'console', 'disable') + input.select({ + prompt = is_time and '筛选:' or '选择:', + items = item_titles, + submit = function(id) + input.terminate() + local v = item_values[id] + if type(v) == 'table' then + mp.commandv(unpack(v)) + elseif type(v) == 'string' then + mp.command(v) + end + end, + }) +end + +-- 打开弹幕输入搜索菜单 +function open_input_menu_get() + mp.commandv('script-message-to', 'console', 'disable') + local title = parse_title() + input.get({ + prompt = '番剧名称:', + default_text = title, + cursor_position = title and #title + 1, + submit = function(text) + input.terminate() + mp.commandv("script-message-to", mp.get_script_name(), "search-anime-event", text) + end + }) +end + +function open_input_menu_uosc() + local items = {} + + if DANMAKU.anime and DANMAKU.episode then + local episode = DANMAKU.episode:gsub("%s.-$","") + episode = episode:match("^(第.*[话回集]+)%s*") or episode + items[#items + 1] = { + title = string.format("已关联弹幕:%s-%s", DANMAKU.anime, episode), + bold = true, + italic = true, + keep_open = true, + selectable = false, + } + end + + items[#items + 1] = { + hint = " 追加|ds或|dy或|dm可搜索电视剧|电影|国漫", + keep_open = true, + selectable = false, + } + + local menu_props = { + type = "menu_danmaku", + title = "在此处输入番剧名称", + search_style = "palette", + search_debounce = "submit", + search_suggestion = parse_title(), + on_search = { "script-message-to", mp.get_script_name(), "search-anime-event" }, + footnote = "使用enter或ctrl+enter进行搜索", + items = items + } + local json_props = utils.format_json(menu_props) + mp.commandv("script-message-to", "uosc", "open-menu", json_props) +end + +function open_input_menu() + if uosc_available then + open_input_menu_uosc() + elseif input_loaded then + open_input_menu_get() + end +end + +-- 打开弹幕源添加管理菜单 +function open_add_menu_get() + local menu_log, deal_value = {}, {} + + -- 重建菜单内容函数 + local function rebuild_menu_log(select_num) + deal_value = {} + menu_log = { + { text = "【既有弹幕源】", style = "{\\c&H00CCFF&\\b1}" }, + { text = "----------------------------", style = "{\\c&H888888&}" } + } + + local serial = 0 + for url, source in pairs(DANMAKU.sources) do + if source.data then + serial = serial + 1 + local action, text + + if source.from == "api_server" then + action = source.blocked and "unblock" or "block" + text = string.format(" [%02d] %s [来源:弹幕服务器%s] ", serial, url, + source.blocked and "(已屏蔽)" or "(未屏蔽)") + else + action = "delete" + text = string.format(" [%02d] %s [来源:用户添加] ", serial, url) + end + + local style = (tonumber(select_num) == serial) and + "{\\c&HFFDE7F&\\b1}" or (action == "unblock" and "{\\c&H4C4CC3&\\b0}" or "{\\c&HCCCCCC&\\b0}") + + deal_value[serial] = {value = url, action = action} + table.insert(menu_log, {text = text, style = style}) + end + end + + if serial == 0 then + table.insert(menu_log, { text = " 无", style = "" }) + end + end + + -- 显示菜单 + local function show_menu(extra_lines, select_num) + rebuild_menu_log(select_num) + + local display = {} + for _, item in ipairs(menu_log) do table.insert(display, item) end + table.insert(display, { text = "----------------------------", style = "{\\c&H888888&}" }) + + if extra_lines then + if #extra_lines < 2 then table.insert(display, { text = "\n", style = "" }) end + for _, line in ipairs(extra_lines) do table.insert(display, line) end + else + table.insert(display, { text = "\n", style = "" }) + table.insert(display, { + text = "提示: 输入【选项数字】可屏蔽或删除既有弹幕源", + style = "{\\c&H999999&}" + }) + end + + input.set_log(display) + end + + -- 获取操作提示 + local function get_hint(action) + local hints = { + block = "按回车执行,屏蔽该弹幕源", + unblock = "按回车执行,解除该弹幕源的屏蔽", + delete = "按回车执行,删除该弹幕源" + } + return hints[action] or "按回车执行,获取输入源地址url的弹幕" + end + + input.get({ + keep_open = true, + prompt = "请在此输入源地址url: ", + opened = function() show_menu() end, + edited = function(text) + text = text:gsub("^%s*(.-)%s*$", "%1") + + if text == "" then + show_menu() + return + end + + local num = tonumber(text) + local event = num and deal_value[num] + local hint = get_hint(event and event.action) + + show_menu({ + { text = string.format("已输入: %s", text), style = "{\\c&HCCCCCC&}" }, + { text = hint, style = "{\\c&H999999&}" } + }, text) + end, + submit = function(text) + text = text:gsub("^%s*(.-)%s*$", "%1") + if text == "" then return end + + local num = tonumber(text) + local event = num and deal_value[num] + + if event then + local args = string.format('{"type":"activate","value":"%s","action":"%s"}', + string.gsub(event.value, '\\', '\\\\'), event.action) + mp.commandv("script-message-to", mp.get_script_name(), "setup-danmaku-source", args) + else + input.terminate() + mp.commandv("script-message-to", mp.get_script_name(), "add-source-event", text) + end + + mp.add_timeout(0.1, show_menu) + end + }) +end + +function open_add_menu_uosc() + local sources = {} + for url, source in pairs(DANMAKU.sources) do + if source.data then + local item = {title = url, value = url, keep_open = true,} + if source.from == "api_server" then + if source.blocked then + item.hint = "来源:弹幕服务器(已屏蔽)" + item.actions = {{icon = "check", name = "unblock", label = "解除屏蔽"},} + else + item.hint = "来源:弹幕服务器(未屏蔽)" + item.actions = {{icon = "not_interested", name = "block", label = "屏蔽"},} + end + else + item.hint = "来源:用户添加" + item.actions = {{icon = "delete", name = "delete", label = "删除"},} + end + table.insert(sources, item) + end + end + local menu_props = { + type = "menu_source", + title = "在此输入源地址url", + search_style = "palette", + search_debounce = "submit", + on_search = { "script-message-to", mp.get_script_name(), "add-source-event" }, + footnote = "使用enter或ctrl+enter进行添加", + items = sources, + item_actions_place = "outside", + callback = {mp.get_script_name(), 'setup-danmaku-source'}, + } + local json_props = utils.format_json(menu_props) + mp.commandv("script-message-to", "uosc", "open-menu", json_props) +end + +function open_add_menu() + if uosc_available then + open_add_menu_uosc() + elseif input_loaded then + open_add_menu_get() + end +end + +-- 打开弹幕内容菜单 +function open_content_menu(pos) + local items = {} + local time_pos = pos or mp.get_property_native("time-pos") + local duration = mp.get_property_number("duration", 0) + + if COMMENTS ~= nil then + for _, event in ipairs(COMMENTS) do + local text = event.clean_text:gsub("^m%s[mbl%s%-%d%.]+$", ""):gsub("^%s*(.-)%s*$", "%1") + local delay = event.delay + local start_time = event.start_time + local end_time = event.end_time + if text and text ~= "" and start_time >= 0 and start_time <= duration then + local delay_label_suffix = nil + local delay_num = delay and tonumber(delay) + if delay_num and math.abs(delay_num) > 0 then + delay_label_suffix = string.format("已存在延迟: %+0.1fs", delay_num) + end + + local adjust_label = '调整弹幕延迟' + if delay_label_suffix then + adjust_label = adjust_label .. '(' .. delay_label_suffix .. ')' + end + + table.insert(items, { + title = abbr_str(text, 60), + hint = seconds_to_time(start_time) .. " (" .. utf8_sub(remove_query(event.source), 1, 70) .. ")", + actions = { + { + name = 'block_source', + icon = 'block', + label = '屏蔽对应弹幕源' + }, + { + name = 'adjust_delay', + icon = 'more_time', + label = adjust_label, + }, + }, + value = { "seek", start_time, "absolute" }, + active = time_pos >= start_time and time_pos <= end_time, + }) + end + end + end + + local menu_props = { + type = "menu_content", + title = "弹幕内容", + footnote = "使用 / 打开搜索", + items = items, + item_actions_place = "outside", + callback = {mp.get_script_name(), 'handle-danmaku-content-action'}, + } + local json_props = utils.format_json(menu_props) + + if uosc_available then + mp.commandv("script-message-to", "uosc", "open-menu", json_props) + elseif input_loaded then + open_menu_select(items, true) + end +end + +local menu_items_config = { + bold = { title = "粗体", hint = options.bold, original = options.bold, + footnote = "true / false", }, + fontsize = { title = "大小", hint = options.fontsize, original = options.fontsize, + scope = { min = 0, max = math.huge }, footnote = "请输入整数(>=0)", }, + outline = { title = "描边", hint = options.outline, original = options.outline, + scope = { min = 0.0, max = 4.0 }, footnote = "输入范围:(0.0-4.0)" }, + shadow = { title = "阴影", hint = options.shadow, original = options.shadow, + scope = { min = 0, max = math.huge }, footnote = "请输入整数(>=0)", }, + scrolltime = { title = "速度", hint = options.scrolltime, original = options.scrolltime, + scope = { min = 1, max = math.huge }, footnote = "请输入整数(>=1)", }, + opacity = { title = "透明度", hint = options.opacity, original = options.opacity, + scope = { min = 0, max = 1 }, footnote = "输入范围:0(完全透明)到1(不透明)", }, + displayarea = { title = "弹幕显示范围", hint = options.displayarea, original = options.displayarea, + scope = { min = 0.0, max = 1.0 }, footnote = "显示范围(0.0-1.0)", }, +} +-- 创建一个包含键顺序的表,这是样式菜单的排布顺序 +local ordered_keys = {"bold", "fontsize", "outline", "shadow", "scrolltime", "opacity", "displayarea"} + +-- 设置弹幕样式菜单 +function open_style_menu_get(query, indicator) + mp.commandv('script-message-to', 'console', 'disable') + local menu_log = {} + + local select_num = 0 + local select_query = nil + if query then + if tonumber(query) ~= nil then + select_num = tonumber(query) + else + for i, v in ipairs(ordered_keys) do + if v == query then + select_num = i + end + end + end + select_query = ordered_keys[select_num] + end + + local function build_menu(source) + menu_log = { + { text = "【弹幕样式菜单】", style = "{\\c&H00CCFF&\\b1}" }, + { text = ("-"):rep(33), style = "{\\c&H888888&}" } + } + + local serial = 0 + for _, key in ipairs(ordered_keys) do + serial = serial + 1 + local config = menu_items_config[key] + local text = string.format(" [%02d] %s [目前:%s] ", serial, config.title, config.hint) + text = config.hint ~= config.original and text .. "⟳" or text + local style = serial == select_num and "{\\c&HFFDE7F&}" or "{\\c&HCCCCCC&}" + local item_config = { text = text, style = style } + table.insert(menu_log, item_config) + end + + table.insert(menu_log, { text = ("-"):rep(33), style = "{\\c&H888888&}" }) + if select_num == 0 then + table.insert(menu_log, { + text = "注: 样式更改仅在本次播放生效", + style = "{\\c&HFFDE7F&}" + }) + table.insert(menu_log, { + text = "提示: 输入【w】可上移选项,【s】可下移选项", + style = "{\\c&H999999&}" + }) + else + local input_text = source and source or "" + local config = menu_items_config[select_query] + local suffix = "" + if config and config.hint ~= config.original then + suffix = "(输入\\r恢复默认配置)" + end + input_text = string.format("已输入%s: %s", suffix, input_text) + + local scope = config and config.footnote or "" + local hint_text = select_query == "bold" and "提示: 输入【y】切换状态" or "提示: " .. scope + local hint_style = "{\\c&H999999&}" + if source and source:lower() == "\\r" then + hint_text = string.format("提示: 回车将恢复默认配置 < %s >", config.original) + end + if indicator == "refresh" or indicator == "updata" then + indicator = "" + hint_text = "提示: 样式更改成功" + hint_style = "{\\c&HFFDE7F&}" + mp.add_timeout(1.5, build_menu) + elseif indicator == "error" then + indicator = "" + hint_text = "提示: 输入非数字字符或范围出错" + hint_style = "{\\c&H4C4CC3&}" + mp.add_timeout(1.5, build_menu) + end + + table.insert(menu_log, { text = input_text, style = "{\\c&HCCCCCC&}" }) + table.insert(menu_log, { text = hint_text, style = hint_style }) + end + input.set_log(menu_log) + end + + input.get({ + keep_open = true, + prompt = "请在此输入操作(w/s|上移/下移): ", + opened = function() build_menu() end, + edited = function(text) + text = text:gsub("^%s*(.-)%s*$", "%1") + + if text == "" then + build_menu() + return + end + + if text:lower() == "w" or text:lower() == "s" then + input.terminate() + select_num = text:lower() == "w" and select_num - 1 or select_num + 1 + select_num = (select_num > #ordered_keys) and 1 or (select_num <= 0 and #ordered_keys or select_num) + mp.add_timeout(0.01, function() + open_style_menu_get(select_num) + end) + return + end + + build_menu(text) + end, + submit = function(text) + if select_query == nil then return end + text = text:gsub("^%s*(.-)%s*$", "%1") + if text == "" then return end + + if text:lower() == "\\r" then + input.terminate() + local args = string.format('{"type":"activate","action":"%s","index":%d}', select_query, select_num) + mp.commandv("script-message-to", mp.get_script_name(), "setup-danmaku-style", args) + else + if menu_items_config[select_query]["scope"] ~= nil then + input.terminate() + mp.commandv("script-message-to", mp.get_script_name(), "setup-danmaku-style", select_query, text) + elseif text:lower() == "y" and select_query == "bold" then + input.terminate() + local args = string.format('{"type":"activate","index":%d}', select_num) + mp.commandv("script-message-to", mp.get_script_name(), "setup-danmaku-style", args) + end + end + return + end + }) +end + +function open_style_menu_uosc(actived, status) + local items = {} + for _, key in ipairs(ordered_keys) do + local config = menu_items_config[key] + local item_config = { + title = config.title, + hint = "目前:" .. tostring(config.hint), + active = key == actived, + keep_open = true, + selectable = true, + } + if config.hint ~= config.original then + local original_str = tostring(config.original) + item_config.actions = {{icon = "refresh", name = key, label = "恢复默认配置 < " .. original_str .. " >"}} + end + table.insert(items, item_config) + end + + local menu_props = { + type = "menu_style", + title = "弹幕样式", + search_style = "disabled", + footnote = "样式更改仅在本次播放生效", + item_actions_place = "outside", + items = items, + callback = { mp.get_script_name(), 'setup-danmaku-style'}, + } + + local actions = "open-menu" + if status ~= nil then + -- msg.info(status) + if status == "updata" then + -- "updata" 模式会保留输入框文字 + menu_props.title = " " .. menu_items_config[actived]["footnote"] + actions = "update-menu" + elseif status == "refresh" then + -- "refresh" 模式会清除输入框文字 + menu_props.title = " " .. menu_items_config[actived]["footnote"] + elseif status == "error" then + menu_props.title = "输入非数字字符或范围出错" + -- 创建一个定时器,在1秒后触发回调函数,删除搜索栏错误信息 + mp.add_timeout(1.0, function() open_style_menu_uosc(actived, "updata") end) + end + menu_props.search_style = "palette" + menu_props.search_debounce = "submit" + menu_props.footnote = menu_items_config[actived]["footnote"] or "" + menu_props.on_search = { "script-message-to", mp.get_script_name(), "setup-danmaku-style", actived } + end + + local json_props = utils.format_json(menu_props) + mp.commandv("script-message-to", "uosc", actions, json_props) +end + +function open_style_menu(actived, status) + if uosc_available then + open_style_menu_uosc(actived, status) + elseif input_loaded then + mp.add_timeout(0.01, function() + open_style_menu_get(actived, status) + end) + else + show_message("无支持可用的 UI框架,不支持使用该功能", 3) + end +end + +-- 打开以指定时间为起点的延迟菜单 +function open_delay_from_time_get(source, time, status) + mp.commandv('script-message-to', 'console', 'disable') + local menu_log = {} + + local function build_menu(query, input_text) + menu_log = { + { text = "【从该时间起调整弹幕延迟】", style = "{\\c&H00CCFF&\\b1}" }, + { text = ("-"):rep(33), style = "{\\c&H888888&}" } + } + + table.insert(menu_log, { text = "\n", style = "" }) + local hint_text = "提示:请输入数字,单位(秒)/ 或者按照形如\"14m15s\"的格式输入分钟数加秒数" + local hint_style = "{\\c&H999999&}" + if status == "error" then + hint_text = "提示: 输入非数字字符或范围出错" + hint_style = "{\\c&H4C4CC3&}" + end + + table.insert(menu_log, { text = input_text and ("已输入:" .. input_text) or "", style = "{\\c&HCCCCCC&}" }) + table.insert(menu_log, { text = hint_text, style = hint_style }) + input.set_log(menu_log) + end + + input.get({ + keep_open = true, + prompt = "请输入要设置的延迟(秒或 XmYs): ", + opened = function() build_menu() end, + edited = function(text) + text = text:gsub("^%s*(.-)%s*$", "%1") + if text == "" then + build_menu() + return + end + build_menu(text) + end, + submit = function(text) + text = text and text:gsub("^%s*(.-)%s*$", "%1") or "" + if text == "" then return end + input.terminate() + local parsed = parse_delay_input(text) + if parsed ~= nil then + mp.commandv("script-message", "danmaku-delay", tostring(parsed), tostring(time), tostring(source)) + else + open_delay_from_time(time, "error") + end + end + }) +end + +function open_delay_from_time_uosc(source, time, status) + if not uosc_available then + show_message("无uosc UI框架,不支持使用该功能", 2) + return + end + + local menu_props = { + type = "menu_delay_from_time", + title = "从该时间起调整弹幕延迟", + search_style = "palette", + search_debounce = "submit", + footnote = "请输入数字,单位(秒)/ 或者按照形如\"14m15s\"的格式输入分钟数加秒数", + items = {}, + on_search = { "script-message-to", mp.get_script_name(), "setup-content-delay", tostring(time), tostring(source) }, + } + + if status == "error" then + menu_props.title = "输入非数字字符或范围出错" + mp.add_timeout(1.0, function() open_delay_from_time_uosc(source, time) end) + end + + local json_props = utils.format_json(menu_props) + mp.commandv("script-message-to", "uosc", "open-menu", json_props) +end + +function open_delay_from_time(source, time, status) + if uosc_available then + open_delay_from_time_uosc(source, time, status) + elseif input_loaded then + mp.add_timeout(0.01, function() + open_delay_from_time_get(source, time, status) + end) + else + show_message("无支持可用的 UI框架,不支持使用该功能", 3) + end +end + +-- 设置弹幕源延迟菜单 +function open_delay_menu_get(source, status) + mp.commandv('script-message-to', 'console', 'disable') + local menu_log = {} + + local serial = 0 + local select_num = 0 + if source and tonumber(source) ~= nil then + select_num = tonumber(source) + end + local select_url = nil + + local function build_menu(query, text) + menu_log = { + { text = "【弹幕源延迟菜单】", style = "{\\c&H00CCFF&\\b1}" }, + { text = ("-"):rep(33), style = "{\\c&H888888&}" } + } + + serial, select_num = 0, 0 + for url, src in pairs(DANMAKU.sources) do + if src.data and not src.blocked then + local delay = 0 + serial = serial + 1 + select_num = (url == source) and serial or select_num + if src.delay_segments then + for _, seg in ipairs(src.delay_segments) do + if seg.start == 0 then + delay = seg.delay or 0 + break + end + end + end + local hint = "当前弹幕源延迟: " .. string.format("%.1f", delay + 1e-10) .. "秒" + local text = string.format(" [%02d] %s [%s] ", serial, url, hint) + local style = (serial == select_num) and "{\\c&HFFDE7F&}" or "{\\c&HCCCCCC&}" + table.insert(menu_log, { text = text, style = style }) + select_url = serial == select_num and url or select_url + end + end + if serial == 0 then + table.insert(menu_log, { text = " 无", style = "" }) + end + + table.insert(menu_log, { text = ("-"):rep(33), style = "{\\c&H888888&}" }) + if select_num == 0 then + table.insert(menu_log, { text = "\n", style = "" }) + table.insert(menu_log, { + text = "提示: 输入【w】可上移选项,【s】可下移选项", + style = "{\\c&H999999&}" + }) + else + local input_text = "已输入:" .. (text ~= nil and text or "") + + local hint_text = "提示:请输入数字,单位(秒)/ 或者按照形如\"14m15s\"的格式输入分钟数加秒数" + local hint_style = "{\\c&H999999&}" + if status == "refresh" then + status = "" + hint_text = "提示: 样式更改成功" + hint_style = "{\\c&HFFDE7F&}" + mp.add_timeout(1.5, build_menu) + elseif status == "error" then + status = "" + hint_text = "提示: 输入非数字字符或范围出错" + hint_style = "{\\c&H4C4CC3&}" + mp.add_timeout(1.5, build_menu) + end + +-- table.insert(menu_log, { text = input_text, style = "{\\c&HCCCCCC&}" }) + table.insert(menu_log, { text = input_text, style = "{\\c&HCCCCCC&}" }) + table.insert(menu_log, { text = hint_text, style = hint_style }) + end + input.set_log(menu_log) + end + + input.get({ + keep_open = true, + prompt = "请在此输入操作(w/s|上移/下移): ", + opened = function() build_menu() end, + edited = function(text) + text = text:gsub("^%s*(.-)%s*$", "%1") + + if text == "" then + build_menu() + return + end + + if text:lower() == "w" or text:lower() == "s" then + input.terminate() + select_num = text:lower() == "w" and select_num - 1 or select_num + 1 + select_num = (select_num > serial) and 1 or (select_num <= 0 and serial or select_num) + mp.add_timeout(0.01, function() + open_delay_menu_get(select_num) + end) + return + end + + build_menu(select_num, text) + end, + submit = function(text) + if select_url == nil then return end + text = text:gsub("^%s*(.-)%s*$", "%1") + if text == "" then return end + + input.terminate() + mp.commandv("script-message-to", mp.get_script_name(), "setup-source-delay", select_url, text) + return + end + }) +end + +function open_delay_menu_uosc(source_url, status) + if not uosc_available then + show_message("无uosc UI框架,不支持使用该功能", 2) + return + end + + local sources = {} + for url, source in pairs(DANMAKU.sources) do + if source.data and not source.blocked then + local delay = 0 + if source.delay_segments then + for _, seg in ipairs(source.delay_segments) do + if seg.start == 0 then + delay = seg.delay or 0 + break + end + end + end + local item = {title = url, value = url, keep_open = true,} + item.hint = "当前弹幕源延迟:" .. string.format("%.1f", delay + 1e-10) .. "秒" + item.active = url == source_url + table.insert(sources, item) + end + end + + local menu_props = { + type = "menu_delay", + title = "弹幕源延迟设置", + search_style = "disabled", + items = sources, + callback = {mp.get_script_name(), 'setup-source-delay'}, + } + if source_url ~= nil then + if status == "error" then + menu_props.title = "输入非数字字符或范围出错" + -- 创建一个定时器,在1秒后触发回调函数,删除搜索栏错误信息 + mp.add_timeout(1.0, function() open_delay_menu_uosc(source_url) end) + else + menu_props.title = "请输入数字,单位(秒)/ 或者按照形如\"14m15s\"的格式输入分钟数加秒数" + end + menu_props.search_style = "palette" + menu_props.search_debounce = "submit" + menu_props.on_search = { "script-message-to", mp.get_script_name(), "setup-source-delay", source_url } + end + + local json_props = utils.format_json(menu_props) + mp.commandv("script-message-to", "uosc", "open-menu", json_props) +end + +function open_delay_menu(source, status) + if uosc_available then + open_delay_menu_uosc(source, status) + elseif input_loaded then + mp.add_timeout(0.01, function() + open_delay_menu_get(source, status) + end) + else + show_message("无支持可用的 UI框架,不支持使用该功能", 3) + end +end + +-- 总集合弹幕菜单 +local total_menu_items_config = { + { title = "弹幕搜索", action = "open_search_danmaku_menu" }, + { title = "从源添加弹幕", action = "open_add_source_menu" }, + { title = "弹幕源延迟设置", action = "open_source_delay_menu" }, + { title = "弹幕样式", action = "open_danmaku_style_menu" }, + { title = "弹幕内容", action = "open_content_danmaku_menu" }, +} + +function open_add_total_menu_uosc() + local items = {} + + if DANMAKU.anime and DANMAKU.episode then + local episode = DANMAKU.episode:gsub("%s.-$","") + episode = episode:match("^(第.*[话回集]+)%s*") or episode + items[#items + 1] = { + title = string.format("已关联弹幕:%s-%s", DANMAKU.anime, episode), + bold = true, + italic = true, + keep_open = true, + selectable = false, + } + end + + for _, config in ipairs(total_menu_items_config) do + table.insert(items, { + title = config.title, + value = { "script-message-to", mp.get_script_name(), config.action }, + keep_open = false, + selectable = true, + }) + end + + local menu_props = { + type = "menu_total", + title = "弹幕设置", + search_style = "disabled", + items = items, + } + local json_props = utils.format_json(menu_props) + mp.commandv("script-message-to", "uosc", "open-menu", json_props) +end + +function open_add_total_menu_select() + local item_titles, item_values = {}, {} + for i, config in ipairs(total_menu_items_config) do + item_titles[i] = config.title + item_values[i] = { "script-message-to", mp.get_script_name(), config.action } + end + + mp.commandv('script-message-to', 'console', 'disable') + input.select({ + prompt = '选择:', + items = item_titles, + submit = function(id) + mp.commandv(unpack(item_values[id])) + end, + }) +end + +function open_add_total_menu() + if uosc_available then + open_add_total_menu_uosc() + elseif input_loaded then + open_add_total_menu_select() + end +end + + +mp.commandv( + "script-message-to", + "uosc", + "set-button", + "danmaku", + utils.format_json({ + icon = "search", + tooltip = "弹幕搜索", + command = "script-message open_search_danmaku_menu", + }) +) + +mp.commandv( + "script-message-to", + "uosc", + "set-button", + "danmaku_source", + utils.format_json({ + icon = "add_box", + tooltip = "从源添加弹幕", + command = "script-message open_add_source_menu", + }) +) + +mp.commandv( + "script-message-to", + "uosc", + "set-button", + "danmaku_styles", + utils.format_json({ + icon = "palette", + tooltip = "弹幕样式", + command = "script-message open_danmaku_style_menu", + }) +) + +mp.commandv( + "script-message-to", + "uosc", + "set-button", + "danmaku_delay", + utils.format_json({ + icon = "more_time", + tooltip = "弹幕源延迟设置", + command = "script-message open_source_delay_menu", + }) +) + +mp.commandv( + "script-message-to", + "uosc", + "set-button", + "danmaku_menu", + utils.format_json({ + icon = "grid_view", + tooltip = "弹幕设置", + command = "script-message open_add_total_menu", + }) +) + + +mp.register_script_message('uosc-version', function() + uosc_available = true +end) + +mp.commandv("script-message-to", "uosc", "set", "show_danmaku", "off") +mp.register_script_message("set", function(prop, value) + if prop ~= "show_danmaku" then + return + end + + if value == "on" then + ENABLED = true + if COMMENTS == nil then + set_danmaku_visibility(true) + local path = mp.get_property("path") + init(path) + else + show_loaded() + show_danmaku_func() + end + else + show_message("关闭弹幕", 2) + ENABLED = false + hide_danmaku_func() + end + + mp.commandv("script-message-to", "uosc", "set", "show_danmaku", value) +end) + +-- 注册函数给 uosc 按钮使用 +mp.register_script_message("search-anime-event", function(query) + if uosc_available then + mp.commandv("script-message-to", "uosc", "close-menu", "menu_danmaku") + end + local name, class = query:match("^(.-)%s*|%s*(.-)%s*$") + if name and class then + query_extra(name, class) + else + get_animes(query) + end +end) +mp.register_script_message("search-episodes-event", function(animeTitle, bangumiId) + if uosc_available then + mp.commandv("script-message-to", "uosc", "close-menu", "menu_anime") + end + get_episodes(animeTitle, bangumiId) +end) + +-- Register script message to show the input menu +mp.register_script_message("load-danmaku", function(animeTitle, episodeTitle, episodeId) + ENABLED = true + DANMAKU.anime = animeTitle + DANMAKU.episode = episodeTitle + set_episode_id(episodeId, true) +end) + +mp.register_script_message("add-source-event", function(query) + if uosc_available then + mp.commandv("script-message-to", "uosc", "close-menu", "menu_source") + end + ENABLED = true + add_danmaku_source(query, true) +end) + +mp.register_script_message("open_danmaku_style_menu", function() + if uosc_available then + mp.commandv("script-message-to", "uosc", "close-menu", "menu_total") + end + open_style_menu() +end) + +mp.register_script_message("open_content_danmaku_menu", function() + if uosc_available then + mp.commandv("script-message-to", "uosc", "close-menu", "menu_total") + end + open_content_menu() +end) + +mp.register_script_message("open-latest-menu-anime", function () + if uosc_available then + mp.commandv("script-message-to", "uosc", "open-menu", latest_menu_anime) + elseif input_loaded then + show_message("", 0) + mp.add_timeout(0.1, function() + open_menu_select(utils.parse_json(latest_menu_anime)) + end) + end +end) + +mp.register_script_message("setup-danmaku-style", function(query, text) + local event = utils.parse_json(query) + if event ~= nil then + -- item点击 或 图标点击 + if event.type == "activate" then + if not event.action then + if ordered_keys[event.index] == "bold" then + options.bold = not options.bold + menu_items_config.bold.hint = options.bold and "true" or "false" + end + -- "updata" 模式会保留输入框文字 + open_style_menu(ordered_keys[event.index], "updata") + return + else + -- msg.info("event.action:" .. event.action) + options[event.action] = menu_items_config[event.action]["original"] + menu_items_config[event.action]["hint"] = options[event.action] + open_style_menu(event.action, "updata") + if event.action == "fontsize" or event.action == "scrolltime" then + load_danmaku(true) + end + end + end + else + -- 数值输入 + if text == nil or text == "" then + return + end + local newText, _ = text:gsub("%s", "") -- 移除所有空白字符 + if tonumber(newText) ~= nil and menu_items_config[query]["scope"] ~= nil then + local num = tonumber(newText) + local min_num = menu_items_config[query]["scope"]["min"] + local max_num = menu_items_config[query]["scope"]["max"] + if num and min_num <= num and num <= max_num then + if string.match(menu_items_config[query]["footnote"], "整数") then + -- 输入范围为整数时向下取整 + num = tostring(math.floor(num)) + end + options[query] = tostring(num) + menu_items_config[query]["hint"] = options[query] + -- "refresh" 模式会清除输入框文字 + open_style_menu(query, "refresh") + if query == "fontsize" or query == "scrolltime" then + load_danmaku(true, true) + end + return + end + end + open_style_menu(query, "error") + end +end) + +mp.register_script_message('setup-danmaku-source', function(json) + local event = utils.parse_json(json) + if event.type == 'activate' then + + if event.action == "delete" then + DANMAKU.sources[event.value] = nil + remove_source_from_history(event.value) + mp.commandv("script-message-to", "uosc", "close-menu", "menu_source") + open_add_menu() + load_danmaku(true) + end + + if event.action == "block" then + DANMAKU.sources[event.value]["blocked"] = true + add_source_to_history(event.value, DANMAKU.sources[event.value]) + mp.commandv("script-message-to", "uosc", "close-menu", "menu_source") + open_add_menu() + load_danmaku(true) + end + + if event.action == "unblock" then + DANMAKU.sources[event.value]["blocked"] = false + add_source_to_history(event.value, DANMAKU.sources[event.value]) + mp.commandv("script-message-to", "uosc", "close-menu", "menu_source") + open_add_menu() + load_danmaku(true) + end + end +end) + +mp.register_script_message("setup-source-delay", function(query, text) + local event = utils.parse_json(query) + if event ~= nil then + -- item点击 + if event.type == "activate" then + open_delay_menu(event.value) + end + else + -- 数值输入 + if text == nil or text == "" then + return + end + local delay = parse_delay_input(text) + if delay ~= nil then + mp.commandv("script-message", "danmaku-delay", tostring(delay), "0") + mp.commandv("script-message-to", "uosc", "close-menu", "menu_delay") + mp.add_timeout(0.1, function() + open_delay_menu(query, "refresh") + end) + else + open_delay_menu(query, "error") + end + end +end) + +mp.register_script_message('handle-danmaku-content-action', function(json) + local event = utils.parse_json(json) + if not event or event.type ~= 'activate' then return end + + if event.action then + local d = COMMENTS[event.index] + if not d or not d.source then return end + + if event.action == "block_source" then + DANMAKU.sources[d.source]["blocked"] = true + add_source_to_history(d.source, DANMAKU.sources[d.source]) + mp.commandv("script-message-to", "uosc", "close-menu", "menu_content") + load_danmaku(true) + elseif event.action == "adjust_delay" then + -- 打开以该弹幕时间为起点的延迟菜单(该延迟将作用于该时间点及之后的弹幕),仅针对该条弹幕的 source + mp.commandv("script-message", "open_content_delay_menu", d.source, tostring(d.start_time)) + end + else + if event.value then + if type(event.value) == "table" then + mp.commandv(unpack(event.value)) + else + mp.command(event.value) + end + mp.commandv("script-message-to", "uosc", "close-menu", "menu_content") + end + end +end) + +mp.register_script_message("open_content_delay_menu", function(source, time) + open_delay_from_time(source, tonumber(time)) +end) + +mp.register_script_message("setup-content-delay", function(...) + local args = {...} + if #args == 1 then + return + end + if #args >= 2 then + local time = tonumber(args[1]) + local source = args[2] + local delay_str = args[3] + local delay = parse_delay_input(delay_str) + if delay ~= nil then + mp.commandv("script-message", "danmaku-delay", tostring(delay), tostring(time), tostring(source)) + mp.commandv("script-message-to", "uosc", "close-menu", "menu_delay_from_time") + else + open_delay_from_time(source, tonumber(time), "error") + end + end +end) \ No newline at end of file diff --git a/scripts/uosc_danmaku/modules/options.lua b/scripts/uosc_danmaku/modules/options.lua new file mode 100644 index 0000000..370e741 --- /dev/null +++ b/scripts/uosc_danmaku/modules/options.lua @@ -0,0 +1,77 @@ +local opt = require("mp.options") + +-- 选项 +options = { + -- 指定弹幕服务器地址,自定义服务需兼容 dandanplay 的 api + api_server = "https://api.dandanplay.net", + -- 指定 b 站和爱腾优的弹幕获取的兜底服务器地址,主要用于获取非动画弹幕 + -- 可用: https://api.danmu.icu,https://dmku.hls.one + fallback_server = "https://api.danmu.icu", + -- 设置 tmdb 的 API Key,用于获取非动画条目的中文信息(当搜索内容非中文时) + -- 可以在 https://www.themoviedb.org 注册后去个人账号设置界面获取 + -- 注意:自定义此参数时还需要对获取到的 API Key 进行 base64 编码 + tmdb_api_key = "NmJmYjIxOTZkNzIyN2UyMTIzMGM3Y2YzZjQ4MDNkZGM=", + auto_load = false, + autoload_local_danmaku = false, + autoload_for_url = false, + save_danmaku = false, + user_agent = "mpv_danmaku/1.0", + proxy = "", + -- 可选:向 HTTP 请求传递 cookie.txt 文件路径 + cookie_file = "", + -- 使用 fps 视频滤镜,大幅提升弹幕平滑度。默认禁用 + vf_fps = false, + -- 设置要使用的 fps 滤镜参数 + fps = "60/1.001", + -- 指定合并重复弹幕的时间间隔的容差值,单位为秒。默认值: -1,表示禁用 + merge_tolerance = -1, + -- 指定弹幕关联历史记录文件的路径,支持绝对路径和相对路径 + history_path = "~~/danmaku-history.json", + open_search_danmaku_menu_key = "Ctrl+d", + show_danmaku_keyboard_key = "j", + -- 中文简繁转换。0-不转换,1-转换为简体,2-转换为繁体 + chConvert = 0, + --滚动弹幕的显示时间 + scrolltime = 15, + --固定弹幕的显示时间 + fixtime = 5, + --字体 + fontname = "sans-serif", + --字体大小 + fontsize = 50, + --字体阴影 + shadow = 0, + --字体粗体 + bold = true, + -- 透明度:0(完全透明)到 1(不透明) + opacity = 0.7, + --全部弹幕的显示范围(0.0-1.0) + displayarea = 0.85, + --描边 0-4 + outline = 1.0, + -- 限制屏幕中同时显示的最大弹幕数量,0 表示不限制 + max_screen_danmaku = 0, + --指定弹幕屏蔽词文件路径(black.txt),支持绝对路径和相对路径。文件内容以换行分隔 + --支持 lua 的正则表达式写法 + blacklist_path = "", + --指定脚本相关消息显示的消息的对齐方式 + message_anlignment = 7, + --指定脚本相关消息显示的消息的x轴坐标 + message_x = 30, + --指定脚本相关消息显示的消息的y轴坐标 + message_y = 30, + -- 自定义标题解析中的额外替换规则,内容格式为 JSON 字符串,替换模式为 lua 的 string.gsub 函数 + --! 注意:由于 mpv 的 lua 版本限制,自定义规则只支持形如 %n 的捕获组写法,即示例用法,不支持直接替换字符的写法 + title_replace = [[ + [{ + "rules": [{ "^〔(.-)〕": "%1"},{ "^.*《(.-)》": "%1" }], + }] + ]], + -- 指定哈希匹配中需忽略的共享盘(挂载盘)的路径/目录。支持绝对路径和相对路径,多个路径用逗号分隔 + -- 示例:["X:", "Z:", "F:/Download/", "Download"] + excluded_path = [[ + [] + ]], +} + +opt.read_options(options, mp.get_script_name(), function() end) \ No newline at end of file diff --git a/scripts/uosc_danmaku/modules/parse.lua b/scripts/uosc_danmaku/modules/parse.lua new file mode 100644 index 0000000..ad28c40 --- /dev/null +++ b/scripts/uosc_danmaku/modules/parse.lua @@ -0,0 +1,720 @@ +local msg = require 'mp.msg' +local utils = require 'mp.utils' +local s2t = require("dicts/s2t_chars") +local t2s = require("dicts/t2s_chars") + +local function ass_escape(text) + return text:gsub("\\", "\\\\") + :gsub("{", "\\{") + :gsub("}", "\\}") + :gsub("\n", "\\N") +end + +local function xml_unescape(str) + return str:gsub(""", "\"") + :gsub("'", "'") + :gsub(">", ">") + :gsub("<", "<") + :gsub("&", "&") +end + +local function decode_html_entities(text) + return text:gsub("&#x([%x]+);", function(hex) + local codepoint = tonumber(hex, 16) + return unicode_to_utf8(codepoint) + end):gsub("&#(%d+);", function(dec) + local codepoint = tonumber(dec, 10) + return unicode_to_utf8(codepoint) + end) +end + +-- 加载黑名单模式 +local function load_blacklist_patterns(filepath) + local patterns = {} + if not file_exists(filepath) then + return patterns + end + local file = io.open(filepath, "r") + if not file then + msg.error("无法打开黑名单文件: " .. filepath) + return patterns + end + + if string.match(filepath, "%.xml$") then + -- xml文件格式示例 + -- + -- + -- t=卡在 + -- t=进度条 + -- + print("加载黑名单文件: " .. filepath) + for line in file:lines() do + local pattern = line:match('t=(.-)') + if pattern then + print("加载黑名单模式: " .. pattern) + table.insert(patterns, pattern) + end + end + end + + if string.match(filepath, "%.json$") then + -- json文件格式示例 + -- [{"type":0,"filter":"开门","opened":true,"id":15628936} + -- ,{"type":0,"filter":"tony","opened":true,"id":15628939} + -- ,{"type":1,"filter":"0+.1","opened":true,"id":15628951}] + local content = read_file(filepath) + if content then + local json = utils.parse_json(content) + if json and type(json) == "table" then + for _, entry in ipairs(json) do + if entry.opened and entry.filter and entry.type == 0 then + table.insert(patterns, entry.filter) + end + end + end + end + end + + if string.match(filepath, "%.txt$") then + -- 文本文件格式示例 + -- 卡在 + -- 进度条 + for line in file:lines() do + line = line:match("^%s*(.-)%s*$") + if line ~= "" then + table.insert(patterns, line) + end + end + end + + file:close() + return patterns +end + +local blacklist_file = mp.command_native({ "expand-path", options.blacklist_path }) +local black_patterns = load_blacklist_patterns(blacklist_file) + +-- 检查字符串是否在黑名单中 +function is_blacklisted(str, patterns) + for _, pattern in ipairs(patterns) do + local ok, result = pcall(function() + return str:match(pattern) + end) + + if ok and result then + return true, pattern + elseif not ok then + -- msg.debug("黑名单规则错误,跳过: " .. pattern .. ",错误信息:" .. result) + end + end + return false +end + +-- 简繁转换 +local function convert(text, dict) + return text:gsub("[%z\1-\127\194-\244][\128-\191]*", function(c) + return dict[c] or c + end) +end + +local function ch_convert(str) + if options.chConvert == 1 then + return convert(str, t2s) + elseif options.chConvert == 2 then + return convert(str, s2t) + end + return str +end + +local ch_convert_cache = {} +local ch_cache_keys = {} +local ch_cache_max = 5000 + +local function ch_convert_cached(text) + if type(text) ~= "string" or text == "" then return text end + local cached = ch_convert_cache[text] + if cached ~= nil then return cached end + + local converted = ch_convert(text) + ch_convert_cache[text] = converted + ch_cache_keys[#ch_cache_keys+1] = text + + if #ch_cache_keys > ch_cache_max then + local old_key = table.remove(ch_cache_keys, 1) + ch_convert_cache[old_key] = nil + end + + return converted +end + +-- 合并重复弹幕 +local function merge_duplicate_danmaku(danmakus, threshold) + if not threshold or tonumber(threshold) < 0 then return danmakus end + + local groups = {} + + for _, d in ipairs(danmakus) do + local tkey = tostring(d.type or "") + local ckey = tostring(d.color or "") + local text = d.text or "" + + groups[tkey] = groups[tkey] or {} + groups[tkey][ckey] = groups[tkey][ckey] or {} + groups[tkey][ckey][text] = groups[tkey][ckey][text] or {} + table.insert(groups[tkey][ckey][text], d) + end + + local merged = {} + local abs = math.abs + + for _, bytype in pairs(groups) do + for _, bycolor in pairs(bytype) do + for _, group in pairs(bycolor) do + table.sort(group, function(a, b) return a.time < b.time end) + + local i = 1 + while i <= #group do + local base = group[i] + local times = { base.time } + local count = 1 + local j = i + 1 + + while j <= #group and abs(group[j].time - base.time) <= threshold do + times[#times+1] = group[j].time + count = count + 1 + j = j + 1 + end + + local same_time = true + for k = 2, #times do + if times[k] ~= times[1] then + same_time = false + break + end + end + + local danmaku = { + time = base.time, + type = base.type, + size = base.size, + color = base.color, + text = base.text, + source = base.source, + orig_time = base.orig_time, + } + if count > 2 or not same_time then + danmaku.text = danmaku.text .. string.format("x%d", count) + end + + table.insert(merged, danmaku) + i = j + end + end + end + end + + table.sort(merged, function(a, b) return a.time < b.time end) + return merged +end + +-- 限制每屏弹幕条数 +local function limit_danmaku(danmakus, limit) + if not limit or limit <= 0 then + return danmakus + end + + local window = {} + for _, d in ipairs(danmakus) do + for i = #window, 1, -1 do + if window[i].end_time <= d.start_time then + table.remove(window, i) + end + end + + if #window < limit then + table.insert(window, d) + else + local max_idx = 1 + for i = 2, #window do + if window[i].end_time > window[max_idx].end_time then + max_idx = i + end + end + if window[max_idx].end_time > d.end_time then + window[max_idx].drop = true + window[max_idx] = d + else + d.drop = true + end + end + end + + local result = {} + for _, d in ipairs(danmakus) do + if not d.drop then + table.insert(result, d) + end + end + return result +end + +-- 解析 XML 弹幕 +local function parse_xml_danmaku(xml_string) + local danmakus = {} + -- [^>]* 匹配其他 attributes + -- %f[^%s] 确保 p= 前面是空白字符 + for p_attr, text in xml_string:gmatch(']*%f[^%s]p="([^"]+)"[^>]*>([^<]+)') do + local params = {} + local i = 1 + for val in p_attr:gmatch("([^,]+)") do + params[i] = tonumber(val) + i = i + 1 + end + + if params[1] and params[2] and params[3] and params[4] then + table.insert(danmakus, { + time = params[1], + type = params[2] or 1, + size = params[3] or 25, + color = params[4] or 0xFFFFFF, + text = xml_unescape(text) + }) + end + end + + table.sort(danmakus, function(a, b) return a.time < b.time end) + return danmakus +end + +-- 解析 JSON 弹幕 +local function parse_json_danmaku(json_string) + local danmakus = {} + if json_string:sub(1, 3) == "\239\187\191" then + json_string = json_string:sub(4) + end + + local json = utils.parse_json(json_string) + if not json or type(json) ~= "table" then + msg.info("JSON 解析失败") + return danmakus + end + + for _, entry in ipairs(json) do + local c = entry.c + local text = entry.m or "" + if type(c) == "string" then + local params = {} + local i = 1 + for val in c:gmatch("([^,]+)") do + params[i] = tonumber(val) + i = i + 1 + end + + if params[1] and params[2] and params[3] and params[4] then + table.insert(danmakus, { + time = params[1], + color = params[2] or 0xFFFFFF, + type = params[3] or 1, + size = params[4] or 25, + text = text + }) + end + end + end + + table.sort(danmakus, function(a, b) return a.time < b.time end) + return danmakus +end + +-- 解析弹幕文件 +function parse_danmaku_file(danmaku_input) + local danmakus = {} + + if file_exists(danmaku_input) then + local content = read_file(danmaku_input) + if content then + local parsed = {} + if danmaku_input:match("%.xml$") then + parsed = parse_xml_danmaku(content) + elseif danmaku_input:match("%.json$") then + parsed = parse_json_danmaku(content) + end + + for _, d in ipairs(parsed) do + table.insert(danmakus, d) + end + else + msg.info("无法读取文件内容: " .. danmaku_input) + end + else + msg.info("文件不存在: " .. danmaku_input) + end + + for _, d in ipairs(danmakus) do + if d.orig_time == nil then d.orig_time = d.time end + end + + if #danmakus == 0 then + msg.info("未能解析任何弹幕") + return nil + end + + return danmakus +end + +--# 弹幕数组与布局算法 (Danmaku Array & Layout Algorithms) +local DanmakuArray = {} +DanmakuArray.__index = DanmakuArray + +function DanmakuArray:new(res_x, res_y, font_size) + local obj = { + solution_y = res_y, + font_size = font_size, + rows = math.floor(res_y / font_size), + time_length_array = {} + } + for i = 1, obj.rows do + obj.time_length_array[i] = { time = 0, length = 0, empty = true } + end + setmetatable(obj, self) + return obj +end + +function DanmakuArray:set_time_length(row, time, length) + if row > 0 and row <= self.rows then + self.time_length_array[row] = { time = time, length = length, empty = false } + end +end + +function DanmakuArray:get_time(row) + if row > 0 and row <= self.rows then + return self.time_length_array[row].time + end + return -1 +end + +function DanmakuArray:get_length(row) + if row > 0 and row <= self.rows then + return self.time_length_array[row].length + end + return 0 +end + +function DanmakuArray:is_empty(row) + if row > 0 and row <= self.rows then + return self.time_length_array[row].empty + end + return false +end + +-- 滚动弹幕 Y 坐标算法 +function get_position_y(font_size, appear_time, text_length, resolution_x, roll_time, array) + local velocity = (text_length + resolution_x) / roll_time + + for i = 1, array.rows do + local previous_appear_time = array:get_time(i) + if array:is_empty(i) then + array:set_time_length(i, appear_time, text_length) + return 1 + (i - 1) * font_size + end + + local previous_length = array:get_length(i) + local previous_velocity = (previous_length + resolution_x) / roll_time + local delta_velocity = velocity - previous_velocity + local delta_x = (appear_time - previous_appear_time) * previous_velocity - previous_length + + if delta_x >= 0 then + if delta_velocity <= 0 then + array:set_time_length(i, appear_time, text_length) + return 1 + (i - 1) * font_size + end + + local delta_time = delta_x / delta_velocity + if delta_time >= roll_time then + array:set_time_length(i, appear_time, text_length) + return 1 + (i - 1) * font_size + end + end + end + -- 所有行都被占用,放弃渲染 + return nil +end + +-- 固定弹幕 Y 坐标算法 +function get_fixed_y(font_size, appear_time, fixtime, array, from_top) + local row_start, row_end, row_step + if from_top then + row_start, row_end, row_step = 1, array.rows, 1 + else + row_start, row_end, row_step = array.rows, 1, -1 + end + + for i = row_start, row_end, row_step do + local previous_appear_time = array:get_time(i) + if array:is_empty(i) then + array:set_time_length(i, appear_time, 0) + return (i - 1) * font_size + 1 + else + local delta_time = appear_time - previous_appear_time + if delta_time > fixtime then + array:set_time_length(i, appear_time, 0) + return (i - 1) * font_size + 1 + end + end + end + -- 所有行都被占用,放弃渲染 + return nil +end + +-- 将弹幕转换为 XML 格式 +function convert_danmaku_to_xml(danmaku_out) + local danmakus = {} + for _, source in pairs(DANMAKU.sources) do + if not source.blocked and source.data then + for _, d in ipairs(source.data) do + table.insert(danmakus, d) + end + end + end + + if #danmakus == 0 then + show_message("弹幕内容为空,无法保存", 3) + msg.verbose("弹幕内容为空,无法保存") + COMMENTS = {} + return false + end + + -- 拼接为 XML 内容 + local xml = { '\n' } + for _, d in ipairs(danmakus) do + local time = d.time + local type = d.type or 1 + local size = d.size or 25 + local color = d.color or 0xFFFFFF + local text = d.text or "" + + text = text:gsub("&", "&") + :gsub("<", "<") + :gsub(">", ">") + :gsub("\"", """) + :gsub("'", "'") + + table.insert(xml, string.format('%s\n', time, type, size, color, text)) + end + table.insert(xml, '') + + -- 写入 XML 文件 + local file = io.open(danmaku_out, "w") + if not file then + show_message("无法写入目标 XML 文件", 3) + msg.info("无法写入目标 XML 文件: " .. danmaku_out) + return false + end + file:write(table.concat(xml)) + file:close() + show_message("转换 XML 弹幕成功: " .. danmaku_out, 3) + msg.info("转换 XML 弹幕成功: " .. danmaku_out) + return true +end + +function convert_danmaku_to_ass_events(force) + local per_source_lists = {} + for url, source in pairs(DANMAKU.sources) do + if not source.blocked and source.data then + local segments = nil + local prefix = nil + if source.delay_segments and #source.delay_segments > 0 then + segments = {} + for i, v in ipairs(source.delay_segments) do segments[i] = v end + table.sort(segments, function(a, b) return (a.start or 0) < (b.start or 0) end) + prefix = {} + local s = 0 + for i, v in ipairs(segments) do + s = s + (v.delay or 0) + prefix[i] = s + end + end + + local function get_cached_delay(t) + local segs = segments or {} + local pre = prefix or {} + if #segs == 0 then return 0 end + local idx = binary_search(segs, t, function(s) return (s and s.start) or 0 end) + local target = idx - 1 + if target < 1 then return 0 end + return pre[target] or 0 + end + + local list = {} + for _, d in ipairs(source.data) do + local base_time = d.orig_time or d.time + if d.orig_time == nil then d.orig_time = base_time end + local adjusted_time = base_time + get_cached_delay(base_time) + local entry = { + orig_time = d.orig_time, + time = adjusted_time, + type = d.type, + size = d.size, + color = d.color, + text = d.text, + source = url, + } + if not is_blacklisted(d.text, black_patterns) then + table.insert(list, entry) + end + end + + if #list > 0 then + table.sort(list, function(a, b) return a.time < b.time end) + per_source_lists[#per_source_lists + 1] = list + end + end + end + + local danmakus = {} + + local heap = new_min_heap() + for li = 1, #per_source_lists do + local lst = per_source_lists[li] + if lst and #lst > 0 then + heap.push({ time = lst[1].time, list_idx = li, pos = 1, entry = lst[1] }) + end + end + + while true do + local node = heap.pop() + if not node then break end + table.insert(danmakus, node.entry) + local li = node.list_idx + local next_pos = node.pos + 1 + local lst = per_source_lists[li] + if lst and lst[next_pos] then + heap.push({ time = lst[next_pos].time, list_idx = li, pos = next_pos, entry = lst[next_pos] }) + end + end + + if options.max_screen_danmaku > 0 and options.merge_tolerance <= 0 then + options.merge_tolerance = options.scrolltime + end + + danmakus = merge_duplicate_danmaku(danmakus, options.merge_tolerance) + + if #danmakus == 0 then + if not force then + show_message("该集弹幕内容为空,结束加载", 3) + msg.verbose("该集弹幕内容为空,结束加载") + end + COMMENTS = {} + return + end + + if not force then + msg.info("已解析 " .. #danmakus .. " 条弹幕") + end + + local fontsize = tonumber(options.fontsize) or 50 + local scrolltime = tonumber(options.scrolltime) or 15 + local fixtime = tonumber(options.fixtime) or 5 + + local res_x = 1920 + local res_y = 1080 + + local roll_array = DanmakuArray:new(res_x, res_y, fontsize) + local top_array = DanmakuArray:new(res_x, res_y, fontsize) + + -- 预处理弹幕,先计算时间段以便进行数量限制 + local pre_events = {} + for _, d in ipairs(danmakus) do + local time = d.type == 1 and math.floor(d.time + 0.5) or d.time + local orig_time = d.type == 1 and math.floor(d.orig_time + 0.5) or d.orig_time + local appear_time = time + local danmaku_type = d.type + + local end_time = nil + if danmaku_type >= 1 and danmaku_type <= 3 then + end_time = appear_time + scrolltime + elseif danmaku_type == 5 or danmaku_type == 4 then + end_time = appear_time + fixtime + end + + if end_time then + table.insert(pre_events, {orig_time = orig_time, start_time = appear_time, end_time = end_time, danmaku = d}) + end + end + + if options.max_screen_danmaku > 0 then + pre_events = limit_danmaku(pre_events, options.max_screen_danmaku) + end + + local ass_events = {} + for _, ev in ipairs(pre_events) do + local d = ev.danmaku + local appear_time = ev.start_time + local danmaku_type = d.type + local clean_text = ch_convert_cached(decode_html_entities(d.text)) + local text = ass_escape(clean_text) + :gsub("x(%d+)$", "{\\b1\\i1}x%1") + + -- 颜色从十进制转为 BGR Hex + local color = math.max(0, math.min(d.color or 0xFFFFFF, 0xFFFFFF)) + local color_hex = string.format("%06X", color) + local r = string.sub(color_hex, 1, 2) + local g = string.sub(color_hex, 3, 4) + local b = string.sub(color_hex, 5, 6) + local color_text = string.format("{\\c&H%s%s%s&}", b, g, r) + + local style, effect + local pos, move = nil, nil + + -- 滚动弹幕 (类型 1, 2, 3) + if danmaku_type >= 1 and danmaku_type <= 3 then + style = "R2L" + local text_length = get_str_width(text, fontsize) + local x1 = res_x + text_length / 2 + local x2 = -text_length / 2 + local y = get_position_y(fontsize, appear_time, text_length, res_x, scrolltime, roll_array) + if y then + effect = string.format("{\\move(%d, %d, %d, %d)}", x1, y, x2, y) + move = {x1, y, x2, y} + end + + -- 顶部弹幕 (类型 5) + elseif danmaku_type == 5 then + style = "TOP" + local x = res_x / 2 + local y = get_fixed_y(fontsize, appear_time, fixtime, top_array, true) + if y then + effect = string.format("{\\pos(%d, %d)}", x, y) + pos = {x, y} + end + + -- 底部弹幕 (类型 4) + elseif danmaku_type == 4 then + style = "BTM" + local x = res_x / 2 + local y = get_fixed_y(fontsize, appear_time, fixtime, top_array, false) + if y then + effect = string.format("{\\pos(%d, %d)}", x, y) + pos = {x, y} + end + end + + if style and effect then + text = effect .. color_text .. text + local event = { + orig_time = ev.orig_time, + start_time = ev.start_time, + end_time = ev.end_time, + delay = ev.start_time - (ev.orig_time or ev.start_time), + style = style, + text = text, + clean_text = clean_text, + pos = pos, + move = move, + source = d.source, + } + table.insert(ass_events, event) + COMMENTS = ass_events + end + end +end \ No newline at end of file diff --git a/scripts/uosc_danmaku/modules/render.lua b/scripts/uosc_danmaku/modules/render.lua new file mode 100644 index 0000000..2088859 --- /dev/null +++ b/scripts/uosc_danmaku/modules/render.lua @@ -0,0 +1,259 @@ +-- modified from https://github.com/rkscv/danmaku/blob/main/danmaku.lua +local msg = require('mp.msg') +local utils = require("mp.utils") +local unpack = unpack or table.unpack + +local osd_width, osd_height, pause = 0, 0, true +local time_pos_observer_active = false +local overlay = mp.create_osd_overlay('ass-events') + +local function realtime_position_text(event, pos, displayarea) + if not event.move then + local _, current_y = unpack(event.pos) + if not current_y or tonumber(current_y) > displayarea then return end + if event.style ~= "SP" and event.style ~= "MSG" then + return string.format("{\\an8}%s", event.text) + else + return string.format("{\\an7}%s", event.text) + end + end + + local x1, y1, x2, y2 = unpack(event.move) + -- 计算移动的时间范围 + local duration = event.end_time - event.start_time --mean: options.scrolltime + local progress = (pos - event.start_time) / duration -- 移动进度 [0, 1] + + -- 计算当前坐标 + local current_x = tonumber(x1 + (x2 - x1) * progress) + local current_y = tonumber(y1 + (y2 - y1) * progress) + + -- 移除 \move 标签并应用当前坐标 + local clean_text = event.text:gsub("\\move%(.-%)", "") + if current_y > displayarea then return end + if event.style ~= "SP" and event.style ~= "MSG" then + return string.format("{\\pos(%.1f,%.1f)\\an8}%s", current_x, current_y, clean_text) + else + return string.format("{\\pos(%.1f,%.1f)\\an7}%s", current_x, current_y, clean_text) + end +end + +function render(pos_arg) + if COMMENTS == nil then return end + + local pos, err + if pos_arg == nil then + pos, err = mp.get_property_number('time-pos') + if err ~= nil then + return msg.error(err) + end + else + pos = pos_arg + end + + if not pos then + overlay:remove() + return + end + + local fontname = options.fontname + local fontsize = options.fontsize + local opacity = tonumber(options.opacity) + local alpha = string.format("%02X", (1 - (opacity or 0)) * 255) + + local width, height = 1920, 1080 + local ratio = osd_width / osd_height + if width / height < ratio then + height = width / ratio + fontsize = options.fontsize - ratio * 2 + end + + local ass_events = {} + local max_display = math.max(options.scrolltime, options.fixtime) + local window_start = pos - max_display + + -- 跳过已结束的弹幕 + local lo = binary_search(COMMENTS, window_start, function(item) return item.start_time end) + + local re_entity = "&#%d+;" + local re_fs = "\\fs(%d+)" + local ass_prefix = string.format("{\\rDefault\\fn%s\\fs%d\\c&HFFFFFF&\\alpha&H%s\\bord%s\\shad%s\\b%s\\q2}", + fontname, fontsize, alpha, options.outline, options.shadow, options.bold and "1" or "0") + + for i = lo, #COMMENTS do + local event = COMMENTS[i] + if not event then break end + + if event.start_time > pos then break end -- 后续弹幕提前退出 + if event.end_time >= pos then + local text = realtime_position_text(event, pos, height * options.displayarea) + if text then + text = text:gsub(re_entity, "") + end + + if text and text:match(re_fs) then + text = text:gsub(re_fs, function(size) + local n = tonumber(size) or 0 + return string.format("\\fs%d", math.floor(n * 1.5)) + end) + end + + -- 构建 ASS 字符串 + local ass_text = text and (ass_prefix .. text) + + table.insert(ass_events, ass_text) + end + end + + overlay.res_x = width + overlay.res_y = height + overlay.data = table.concat(ass_events, '\n') + overlay:update() +end + +local function time_pos_callback(_, time_pos) + if time_pos then + render(time_pos) + else + overlay:remove() + end +end + +local function start_time_observer() + if not time_pos_observer_active then + mp.observe_property('time-pos', 'number', time_pos_callback) + time_pos_observer_active = true + end +end + +local function stop_time_observer() + if time_pos_observer_active then + mp.unobserve_property(time_pos_callback) + time_pos_observer_active = false + end +end + +function render_danmaku(from_menu, no_osd) + if ENABLED and (from_menu or get_danmaku_visibility()) then + if not no_osd then + show_loaded(true) + end + mp.commandv("script-message-to", "uosc", "set", "show_danmaku", "on") + show_danmaku_func() + else + show_message("") + hide_danmaku_func() + end +end + +local function filter_state(label, name) + local filters = mp.get_property_native("vf") + for _, filter in pairs(filters) do + if filter.label == label or filter.name == name + or filter.params[name] ~= nil then + return true + end + end + return false +end + +function show_danmaku_func() + mp.set_property_bool(HAS_DANMAKU, true) + set_danmaku_visibility(true) + render() + if not pause then + start_time_observer() + end + if options.vf_fps then + local display_fps = mp.get_property_number('display-fps') + local video_fps = mp.get_property_number('estimated-vf-fps') + if (display_fps and display_fps < 58) or (video_fps and video_fps > 58) then + return + end + if not filter_state("danmaku", "fps") then + mp.commandv("vf", "append", string.format("@danmaku:fps=fps=%s", options.fps)) + end + end +end + +function hide_danmaku_func() + stop_time_observer() + mp.set_property_bool(HAS_DANMAKU, false) + set_danmaku_visibility(false) + overlay:remove() + if filter_state("danmaku") then + mp.commandv("vf", "remove", "@danmaku") + end +end + +local message_overlay = mp.create_osd_overlay('ass-events') +local message_timer = mp.add_timeout(3, function() + message_overlay:remove() +end, true) + +function show_message(text, time) + message_timer.timeout = time or 3 + message_timer:kill() + message_overlay:remove() + local message = string.format("{\\an%d\\pos(%d,%d)}%s", options.message_anlignment, + options.message_x, options.message_y, text) + local width, height = 1920, 1080 + local ratio = osd_width / osd_height + if width / height < ratio then + height = width / ratio + end + message_overlay.res_x = width + message_overlay.res_y = height + message_overlay.data = message + message_overlay:update() + message_timer:resume() +end + +mp.observe_property('osd-width', 'number', function(_, value) osd_width = value or osd_width end) +mp.observe_property('osd-height', 'number', function(_, value) osd_height = value or osd_height end) +mp.observe_property('pause', 'bool', function(_, value) + if value ~= nil then + pause = value + end + if ENABLED then + if pause then + stop_time_observer() + elseif COMMENTS ~= nil then + start_time_observer() + end + end +end) + +mp.register_event('playback-restart', function(event) + if event.error then + return msg.error(event.error) + end + if ENABLED and COMMENTS ~= nil then + render() + end +end) + +mp.add_hook("on_unload", 50, function() + COMMENTS, DELAY = nil, 0 + stop_time_observer() + overlay:remove() + mp.set_property_native(DELAY_PROPERTY, 0) + if filter_state("danmaku") then + mp.commandv("vf", "remove", "@danmaku") + end + + local files_to_remove = { + file1 = utils.join_path(DANMAKU_PATH, "temp-" .. PID .. ".mp4"), + } + + if options.save_danmaku then + save_danmaku(true) + end + + for _, file in pairs(files_to_remove) do + if file_exists(file) then + os.remove(file) + end + end + + DANMAKU = {sources = {}, count = 1} +end) \ No newline at end of file diff --git a/scripts/uosc_danmaku/modules/update.lua b/scripts/uosc_danmaku/modules/update.lua new file mode 100644 index 0000000..bd6a96c --- /dev/null +++ b/scripts/uosc_danmaku/modules/update.lua @@ -0,0 +1,167 @@ +local msg = require('mp.msg') +local utils = require("mp.utils") + +local repo = "Tony15246/uosc_danmaku" +local zip_file = utils.join_path(os.getenv("TEMP") or "/tmp/", "uosc_danmaku.zip") + +local local_version = VERSION or "0.0.0" +local platform = mp.get_property("platform") + +local function version_greater(v1, v2) + local function parse(ver) + local a, b, c = ver:match("v?(%d+)%.(%d+)%.(%d+)") + return tonumber(a), tonumber(b), tonumber(c) + end + local a1, a2, a3 = parse(v1) + local b1, b2, b3 = parse(v2) + if a1 ~= b1 then return a1 > b1 end + if a2 ~= b2 then return a2 > b2 end + return a3 > b3 +end + +local function get_latest_release(repo) + local url = "https://api.github.com/repos/" .. repo .. "/releases/latest" + local cmd = { "curl", "-sL", url } + local res = mp.command_native({ + name = "subprocess", + args = cmd, + capture_stdout = true, + capture_stderr = true, + playback_only = false, + }) + if not res or res.status ~= 0 then return nil end + local tag = res.stdout:match([["tag_name"%s*:%s*"([^"]+)"]]) + local zip_url = res.stdout:match([["browser_download_url"%s*:%s*"([^"]+%.zip)"]]) + return tag, zip_url +end + +local function escape_ps(str) + return tostring(str):gsub("'", "''") +end + +local function unzip_overwrite(zip_file) + local outpath = mp.get_script_directory() + -- 定义临时目录路径,用于安全更新 + local tmpdir = utils.join_path( + (platform == "windows" and (os.getenv("TEMP") or "C:\\Windows\\Temp") or "/tmp"), + "uosc_update_" .. tostring(os.time()) + ) + + local cmd_unzip = {} + + msg.info("创建临时目录并解压: " .. tmpdir) + + if platform == "windows" then + -- PowerShell: Expand-Archive (会自动创建目标目录) + local ps_script = string.format( + "Expand-Archive -LiteralPath '%s' -DestinationPath '%s' -Force", + escape_ps(zip_file), + escape_ps(tmpdir) + ) + cmd_unzip = { "powershell", "-NoProfile", "-Command", ps_script } + else + -- Unix: unzip + cmd_unzip = { "unzip", "-o", zip_file, "-d", tmpdir } + end + + local res = mp.command_native({ + name = "subprocess", + args = cmd_unzip, + capture_stdout = true, + capture_stderr = true, + playback_only = false, + }) + + if not res or res.status ~= 0 then + msg.error("❌ 解压失败:\n" .. (res and (res.stdout .. res.stderr) or "未知错误")) + -- 清理残留的临时目录 + if platform == "windows" then + mp.command_native({ + name = "subprocess", + args = {"powershell", "-NoProfile", "-Command", "Remove-Item -LiteralPath '"..escape_ps(tmpdir).."' -Recurse -Force"} + }) + else + os.execute("rm -rf \"" .. tmpdir .. "\"") + end + return false + end + + msg.info("解压成功,准备替换旧目录...") + + local cmd_swap = {} + + if platform == "windows" then + -- Windows: 在一个 PowerShell 实例中执行删除和移动 + local ps_swap = string.format( + "Remove-Item -LiteralPath '%s' -Recurse -Force -ErrorAction SilentlyContinue; Move-Item -LiteralPath '%s' -Destination '%s' -Force", + escape_ps(outpath), + escape_ps(tmpdir), + escape_ps(outpath) + ) + cmd_swap = { "powershell", "-NoProfile", "-Command", ps_swap } + else + -- Unix: rm && mv + cmd_swap = { "sh", "-c", string.format("rm -rf \"%s\" && mv \"%s\" \"%s\"", outpath, tmpdir, outpath) } + end + + local res_swap = mp.command_native({ + name = "subprocess", + args = cmd_swap, + capture_stdout = true, + capture_stderr = true, + playback_only = false, + }) + + if not res_swap or res_swap.status ~= 0 then + msg.error("❌ 替换目录失败:\n" .. (res_swap and (res_swap.stdout .. res_swap.stderr) or "")) + return false + end + + msg.info("更新完成") + return true +end + +function check_for_update() + local latest_version, download_url = get_latest_release(repo) + if not latest_version or not download_url then + show_message("❌ 无法获取最新版本信息") + msg.warn("❌ 无法获取最新版本信息") + return + end + + if not version_greater(latest_version, local_version) then + show_message("✅ 已是最新版本 ("..local_version..")") + msg.info("✅ 已是最新版本") + return + end + + show_message("⬇️ 发现新版本: " .. latest_version .. ",正在下载...") + msg.info("⬇️ 发现新版本: " .. latest_version .. ",地址: " .. download_url) + + local cmd = { "curl", "-L", "-o", zip_file, download_url } + local res = mp.command_native({ + name = "subprocess", + args = cmd, + capture_stdout = true, + capture_stderr = true, + playback_only = false, + }) + if not res or res.status ~= 0 then + show_message("❌ 下载失败!") + msg.warn("❌ 下载失败!") + return + end + + show_message("📦 下载完成,开始解压覆盖...") + msg.info("📦 下载完成,开始解压覆盖...") + + if unzip_overwrite(zip_file) then + os.remove(zip_file) + show_message("✅ 更新成功!请重启 mpv 以应用更新,当前版本为:" .. latest_version) + msg.info("✅ 更新成功,当前版本为:" .. latest_version) + else + os.remove(zip_file) + show_message("❌ 解压失败!请查看控制台日志") + msg.warn("❌ 解压失败!") + end +end \ No newline at end of file diff --git a/scripts/uosc_danmaku/modules/utils.lua b/scripts/uosc_danmaku/modules/utils.lua new file mode 100644 index 0000000..46fc31b --- /dev/null +++ b/scripts/uosc_danmaku/modules/utils.lua @@ -0,0 +1,755 @@ +local utils = require("mp.utils") +local unpack = unpack or table.unpack + +-- from http://lua-users.org/wiki/LuaUnicode +local UTF8_PATTERN = '[%z\1-\127\194-\244][\128-\191]*' + +-- return a substring based on utf8 characters +-- like string.sub, but negative index is not supported +function utf8_sub(s, i, j) + if i > j then + return s + end + local t, idx = {}, 1 + for char in s:gmatch(UTF8_PATTERN) do + if idx >= i and idx <= j then + t[#t + 1] = char + end + idx = idx + 1 + end + return table.concat(t) +end + +function utf8_len(s) + local count = 0 + for _ in s:gmatch(UTF8_PATTERN) do + count = count + 1 + end + return count +end + +function utf8_iter(s) + local iter = s:gmatch(UTF8_PATTERN) + return function() + return iter() + end +end + +function utf8_to_table(s) + local t = {} + for ch in utf8_iter(s) do + t[#t + 1] = ch + end + return t +end + +-- abbreviate string if it's too long +function abbr_str(str, length) + if not str or str == '' then return '' end + local str_clip = utf8_sub(str, 1, length) + if str ~= str_clip then + return str_clip .. '...' + end + return str +end + +function get_str_width(text, font_size) + local width = 0 + for i = 1, #text do + local byte = string.byte(text, i) + if byte > 127 then + width = width + 2 + else + width = width + 1 + end + end + + local unicode_width = 0 + local i = 1 + while i <= #text do + local byte = string.byte(text, i) + local char_len + if byte < 128 then char_len = 1; unicode_width = unicode_width + 1 + elseif byte >= 192 and byte < 224 then char_len = 2; unicode_width = unicode_width + 2 + elseif byte >= 224 and byte < 240 then char_len = 3; unicode_width = unicode_width + 2 + elseif byte >= 240 and byte < 248 then char_len = 4; unicode_width = unicode_width + 2 + else char_len = 1; unicode_width = unicode_width + 1 + end + i = i + char_len + end + return unicode_width * (font_size / 2) +end + +function unicode_to_utf8(unicode) + if unicode < 0x80 then + return string.char(unicode) + else + local byte_count + if unicode < 0x800 then + byte_count = 2 + elseif unicode < 0x10000 then + byte_count = 3 + elseif unicode < 0x110000 then + byte_count = 4 + else + return + end + + local res = {} + local shift = 2 ^ 6 + local after_shift = unicode + for _ = byte_count, 2, -1 do + local before_shift = after_shift + after_shift = math.floor(before_shift / shift) + table.insert(res, 1, before_shift - after_shift * shift + 0x80) + end + shift = 2 ^ (8 - byte_count) + table.insert(res, 1, after_shift + math.floor(0xFF / shift) * shift) + ---@diagnostic disable-next-line: deprecated + return string.char(unpack(res)) + end +end + +function jaro(s1, s2) + local match_window = math.floor(math.max(#s1, #s2) / 2.0) - 1 + local matches1 = {} + local matches2 = {} + + local m = 0; + local t = 0; + + for i = 0, #s1, 1 do + local start = math.max(0, i - match_window) + local final = math.min(i + match_window + 1, #s2) + + for k = start, final, 1 do + if not (matches2[k] or s1[i] ~= s2[k]) then + matches1[i] = true + matches2[k] = true + m = m + 1 + break + end + end + end + + if m == 0 then + return 0.0 + end + + local k = 0 + for i = 0, #s1, 1 do + if matches1[i] then + while not matches2[k] do + k = k + 1 + end + + if s1[i] ~= s2[k] then + t = t + 1 + end + + k = k + 1 + end + end + + t = t / 2.0 + + return (m / #s1 + m / #s2 + (m - t) / m) / 3.0 +end + +function jaro_winkler(s1, s2) + if #s1 + #s2 == 0 then + return 0.0 + end + + if s1 == s2 then + return 1.0 + end + + s1 = utf8_to_table(s1) + s2 = utf8_to_table(s2) + + local d = jaro(s1, s2) + local p = 0.1 + local l = 0; + while (s1[l] == s2[l] and l < 4) do + l = l + 1 + end + + return d + l * p * (1 - d) +end + +-- 从时间字符串转换为秒数 +function time_to_seconds(time_str) + local h, m, s = time_str:match("(%d+):(%d+):([%d%.]+)") + return tonumber(h) * 3600 + tonumber(m) * 60 + tonumber(s) +end + +-- 从秒数转换为时间字符串 +function seconds_to_time(seconds) + local hours = math.floor(seconds / 3600) + local minutes = math.floor((seconds % 3600) / 60) + local secs = math.floor(seconds % 60) + local centiseconds = math.floor((seconds - math.floor(seconds)) * 100) + return string.format("%d:%02d:%02d.%02d", hours, minutes, secs, centiseconds) +end + +function is_chinese(str) + return string.match(str, "[\228-\233][\128-\191]") ~= nil +end + +function is_protocol(path) + return type(path) == 'string' and (path:find('^%a[%w.+-]-://') ~= nil or path:find('^%a[%w.+-]-:%?') ~= nil) +end + +function hex_to_bin(hexstr) + return (hexstr:gsub('..', function (cc) + return string.char(tonumber(cc, 16)) + end)) +end + +function hex_to_char(x) + return string.char(tonumber(x, 16)) +end + +function hex_to_int_color(hex_color) + -- 移除颜色代码中的'#'字符 + hex_color = hex_color:sub(2) -- 只保留颜色代码部分 + + -- 提取R, G, B的十六进制值并转为整数 + local r = tonumber(hex_color:sub(1, 2), 16) + local g = tonumber(hex_color:sub(3, 4), 16) + local b = tonumber(hex_color:sub(5, 6), 16) + + -- 计算32位整数值 + local color_int = (r * 256 * 256) + (g * 256) + b + + return color_int +end + +local function get_type_from_position(position) + if position == 0 then + return 1 + end + if position == 1 then + return 4 + end + return 5 +end + +-- url编码转换 +function url_encode(str) + -- 将非安全字符转换为百分号编码 + if str then + str = str:gsub("([^%w%-%.%_%~])", function(c) + return string.format("%%%02X", string.byte(c)) + end) + end + return str +end + +-- url解码转换 +function url_decode(str) + if str ~= nil then + str = str:gsub('^%a[%a%d-_]+://', '') + :gsub('^%a[%a%d-_]+:\\?', '') + :gsub('%%(%x%x)', hex_to_char) + if str:find('://localhost:?') then + str = str:gsub('^.*/', '') + end + str = str:gsub('%?.+', '') + :gsub('%+', ' ') + return str + end +end + +-- Utility function to split a string by a delimiter +function split(str, delim) + local result = {} + for match in (str .. delim):gmatch("(.-)" .. delim) do + table.insert(result, match) + end + return result +end + +function table_to_zero_indexed(tbl) + for i = #tbl, 1, -1 do + tbl[i - 1] = tbl[i] + end + tbl[#tbl] = nil + return tbl +end + +function itable_index_of(itable, value) + for index = 1, #itable do + if itable[index] == value then + return index + end + end +end + +function is_nested_table(t) + if type(t) ~= "table" then + return false + end + for _, v in pairs(t) do + if type(v) == "table" then + return true + end + end + return false +end + +function shallow_copy(original) + if type(original) ~= "table" then + return original + end + local copy = {} + for k, v in pairs(original) do + copy[k] = v + end + return copy +end + +function deep_copy(obj, seen) + if type(obj) ~= "table" then + return obj + end + if seen and seen[obj] then + return seen[obj] + end + local s = seen or {} + local copy = {} + s[obj] = copy + for k, v in pairs(obj) do + copy[deep_copy(k, s)] = deep_copy(v, s) + end + setmetatable(copy, getmetatable(obj)) + return copy +end + +function remove_query(url) + local qpos = string.find(url, "?", 1, true) + if qpos then + return string.sub(url, 1, qpos - 1) + else + return url + end +end + +function file_exists(path) + if path then + local meta = utils.file_info(path) + return meta and meta.is_file + end + return false +end + +function binary_search(tbl, target, key) + if not tbl or #tbl == 0 then return 1 end + key = key or function(x) return x end + local lo, hi = 1, #tbl + local res = #tbl + 1 + while lo <= hi do + local mid = math.floor((lo + hi) / 2) + local v = tbl[mid] + local val = key(v) + if val >= target then + res = mid + hi = mid - 1 + else + lo = mid + 1 + end + end + return res +end + +function new_min_heap() + local h = {} + local function swap(i, j) + h[i], h[j] = h[j], h[i] + end + local function up(i) + while i > 1 do + local p = math.floor(i/2) + if h[p].time <= h[i].time then break end + swap(p, i) + i = p + end + end + local function down(i) + local n = #h + while true do + local l = i * 2 + local r = l + 1 + local smallest = i + if l <= n and h[l].time < h[smallest].time then smallest = l end + if r <= n and h[r].time < h[smallest].time then smallest = r end + if smallest == i then break end + swap(i, smallest) + i = smallest + end + end + local function push(node) + h[#h + 1] = node + up(#h) + end + local function pop() + if #h == 0 then return nil end + local root = h[1] + if #h == 1 then h[1] = nil; return root end + h[1] = h[#h] + h[#h] = nil + down(1) + return root + end + return { push = push, pop = pop, size = function() return #h end } +end + +function is_writable(path) + local file = io.open(path, "w") + if file then + file:close() + os.remove(path) + return true + end + return false +end + +function contains_any(tab, val) + for _, element in pairs(tab) do + if string.find(val, element) then + return true + end + end + return false +end + +--读history 和 写history +function read_file(file_path) + local file = io.open(file_path, "r") -- 打开文件,"r"表示只读模式 + if not file then + return nil + end + local content = file:read("*all") -- 读取文件所有内容 + file:close() -- 关闭文件 + return content +end + +-- 应用额外的自定义标题替换规则 +function title_replace(title) + local title_replace = utils.parse_json(options.title_replace) + if not title_replace then + return title + end + for _, v in pairs(title_replace) do + for _, indexrules in pairs(v['rules']) do + for rule, override in pairs(indexrules) do + title = title:gsub(rule, override) + :gsub("[_%.]", " ") + :gsub("^%s*(.-)%s*$", "%1") + :gsub("[@#%.%+%-%%&*_=,/~`]+$", "") + end + end + end + return title +end + +function write_json_file(file_path, data) + local file = io.open(file_path, "w") + if not file then + return + end + file:write(utils.format_json(data)) -- 将 Lua 表转换为 JSON 并写入 + file:close() +end + +-- 拆分字符串中的字符和数字 +local function split_by_numbers(filename) + local parts = {} + local pattern = "([^%d]*)(%d+)([^%d]*)" + for pre, num, post in string.gmatch(filename, pattern) do + table.insert(parts, {pre = pre, num = tonumber(num), post = post}) + end + return parts +end + +-- 识别匹配前后剧集并提取集数 +local function get_series_episodes(fname1, fname2) + local parts1 = split_by_numbers(fname1) + local parts2 = split_by_numbers(fname2) + local title1 = format_filename(fname1) + local title2 = format_filename(fname2) + if title1 and title2 then + local media_title1, season1, episode1 = title1:match("^(.-)%s*[sS](%d+)[eE](%d+)") + local media_title2, season2, episode2 = title2:match("^(.-)%s*[sS](%d+)[eE](%d+)") + if season1 and season2 and season1 ~= season2 then + return nil, nil + end + end + + local min_len = math.min(#parts1, #parts2) + + -- 逐个部分进行比较 + for i = 1, min_len do + local part1 = parts1[i] + local part2 = parts2[i] + + -- 比较数字前的字符是否相同 + if part1.pre ~= part2.pre then + return nil, nil + end + + -- 比较数字部分 + if part1.num ~= part2.num then + return part1.num, part2.num + end + + -- 比较数字后的字符是否相同 + if part1.post ~= part2.post then + return nil, nil + end + end + + return nil, nil +end + +-- 获取当前文件名所包含的集数 +function get_episode_number(filename, fname) + -- 尝试对比记录文件名来获取当前集数 + if fname then + return get_series_episodes(fname, filename) + end + + local thin_space = string.char(0xE2, 0x80, 0x89) + filename = filename:gsub(thin_space, " ") + + local title = format_filename(filename) + if title then + local media_title, season, episode = title:match("^(.-)%s*[sS](%d+)[eE](%d+)") + if season then + return tonumber(episode) + else + local media_title, episode = title:match("^(.-)%s*[eE](%d+)") + if episode then + return tonumber(episode) + end + end + end + return nil +end + +-- 规范化路径 +function normalize(path) + if normalize_path ~= nil then + if normalize_path then + path = mp.command_native({"normalize-path", path}) + else + local directory = mp.get_property("working-directory", "") + path = utils.join_path(directory, path:gsub('^%.[\\/]','')) + if PLATFORM == "windows" then path = path:gsub("\\", "/") end + end + return path + end + + normalize_path = false + + local commands = mp.get_property_native("command-list", {}) + for _, command in ipairs(commands) do + if command.name == "normalize-path" then + normalize_path = true + break + end + end + return normalize(path) +end + +-- 获取父目录路径 +function get_parent_directory(path) + local dir = nil + if path and not is_protocol(path) then + path = normalize(path) + dir = utils.split_path(path) + end + return dir +end + +-- 获取播放文件标题信息 +function parse_title() + local path = mp.get_property("path") + local filename = mp.get_property("filename/no-ext") + + if not filename then + return + end + local thin_space = string.char(0xE2, 0x80, 0x89) + filename = filename:gsub(thin_space, " ") + local media_title, season, episode = nil, nil, nil + if path and not is_protocol(path) then + local title = format_filename(filename) + if title then + media_title, season, episode = title:match("^(.-)%s*[sS](%d+)[eE](%d+)") + if season then + return title_replace(media_title), season, episode + else + media_title, episode = title:match("^(.-)%s*[eE](%d+)") + if episode then + return title_replace(media_title), season, episode + end + end + return title_replace(title) + end + + local directory = get_parent_directory(path) + local dir, title = utils.split_path(directory:sub(1, -2)) + if title:lower():match("^%s*seasons?%s*%d+%s*$") or title:lower():match("^%s*specials?%s*$") or title:match("^%s*SPs?%s*$") + or title:match("^%s*O[VAD]+s?%s*$") or title:match("^%s*第.-[季部]+%s*$") then + directory, title = utils.split_path(dir:sub(1, -2)) + end + title = title + :gsub(thin_space, " ") + :gsub("%[.-%]", "") + :gsub("^%s*%(%d+.?%d*.?%d*%)", "") + :gsub("%(%d+.?%d*.?%d*%)%s*$", "") + :gsub("[%._]", " ") + :gsub("^%s*(.-)%s*$", "%1") + return title_replace(title) + end + + local title = mp.get_property("media-title") + if title then + title = title:gsub(thin_space, " ") + local ftitle = url_decode(title) + local name, class = ftitle:match("^(.-)%s*|%s*(.-)%s*$") + if name then ftitle = name end + local format_title = format_filename(ftitle) + if format_title then + media_title, season, episode = format_title:match("^(.-)%s*[sS](%d+)[eE](%d+)") + if season then + title = media_title + else + media_title, episode = format_title:match("^(.-)%s*[eE](%d+)") + if episode then + season = 1 + title = media_title + else + title = format_title + end + end + end + end + + return title_replace(title), season, episode +end + +local CHINESE_NUM_MAP = { + ["零"] = 0, ["一"] = 1, ["二"] = 2, ["三"] = 3, ["四"] = 4, + ["五"] = 5, ["六"] = 6, ["七"] = 7, ["八"] = 8, ["九"] = 9, + ["十"] = 10, ["百"] = 100, ["千"] = 1000, ["万"] = 10000, +} + +function chinese_to_number(cn) + local total = 0 + local num = 0 + local unit = 1 + + local chars = {} + for uchar in cn:gmatch(UTF8_PATTERN) do + table.insert(chars, 1, uchar) + end + + for _, char in ipairs(chars) do + local val = CHINESE_NUM_MAP[char] + if val then + if val >= 10 then + if num == 0 then + num = 1 + end + unit = val + else + total = total + val * unit + unit = 1 + num = 0 + end + end + end + + if unit > 1 then + total = total + num * unit + end + + if total > 0 then + return total + else + return num + end +end + +local CHINESE_NUM = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"} +local CHINESE_UNIT = {"", "十", "百", "千"} +local CHINESE_BIG_UNIT = {"", "万", "亿"} + +function number_to_chinese(num) + if num == 0 then return "零" end + + local str = tostring(num) + local len = #str + local result = "" + local zero_flag = false + + for i = 1, len do + local digit = tonumber(str:sub(i, i)) + local pos = len - i + 1 + local small_unit_index = (pos - 1) % 4 + 1 + local small_unit = CHINESE_UNIT[small_unit_index] + + if digit == 0 then + zero_flag = true + else + if zero_flag then + result = result .. "零" + zero_flag = false + end + if digit == 1 and small_unit_index == 2 and i == 1 then + result = result .. small_unit + else + result = result .. CHINESE_NUM[digit + 1] .. small_unit + end + end + + if pos % 4 == 1 and pos > 1 then + local big_unit_index = math.floor((pos - 1) / 4) + result = result .. CHINESE_BIG_UNIT[big_unit_index + 1] + end + end + + result = result:gsub("零+$", "") + + return result +end + +-- 异步执行命令 +-- 同时返回 abort 函数,用于取消异步命令 +function call_cmd_async(args, callback) + async_running = true + local abort_signal = mp.command_native_async({ + name = 'subprocess', + capture_stderr = true, + capture_stdout = true, + playback_only = true, + args = args, + }, function(success, result, error) + if not success or not result or result.status ~= 0 then + local exit_code = (result and result.status or 'unknown') + local message = error or (result and result.stdout .. result.stderr) or '' + callback('Calling failed. Exit code: ' .. exit_code .. ' Error: ' .. message, {}) + return + end + + local json = result and type(result.stdout) == 'string' and result.stdout or '' + return callback(nil, json) + end) + + return function() + mp.abort_async_command(abort_signal) + end +end \ No newline at end of file diff --git a/shaders/Ani4K/Ani4Kv2_ArtCNN_C4F32_i2.glsl b/shaders/Ani4K/Ani4Kv2_ArtCNN_C4F32_i2.glsl new file mode 100644 index 0000000..ad1fcef --- /dev/null +++ b/shaders/Ani4K/Ani4Kv2_ArtCNN_C4F32_i2.glsl @@ -0,0 +1,4046 @@ +// Ani4Kv2 ArtCNN - trained by Sirosky and distributed on the CC BY-NC 4.0 license. +// The ArtCNN architecture is further subject to the below license. + +// MIT License + +// Copyright (c) 2024 Joao Chrisostomo + +// 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. + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D) +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d_0 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.013557938, 0.0047282414, -0.0055004754, 0.0074933744); + result += vec4(-0.05818977, 0.087365575, 0.14038453, -0.051457155) * LUMA_texOff(vec2(-1, -1)).x; + result += vec4(-0.093848094, -0.023228006, 0.020210264, -0.022740263) * LUMA_texOff(vec2(0, -1)).x; + result += vec4(0.02274444, -0.008311727, 0.013800997, 0.16538861) * LUMA_texOff(vec2(1, -1)).x; + result += vec4(-0.105236664, -0.12083248, -0.05628961, -0.056439184) * LUMA_texOff(vec2(-1, 0)).x; + result += vec4(-0.01007437, 0.0008896297, -0.00861718, -0.005546233) * LUMA_texOff(vec2(0, 0)).x; + result += vec4(-0.1070594, 0.07984668, 0.011602427, 0.022988683) * LUMA_texOff(vec2(1, 0)).x; + result += vec4(-0.03031697, 0.02054523, -0.0620382, -0.11236594) * LUMA_texOff(vec2(-1, 1)).x; + result += vec4(0.11955658, -0.09762395, 0.14277576, 0.018350534) * LUMA_texOff(vec2(0, 1)).x; + result += vec4(0.01664652, 0.0027460025, -0.020302603, 0.038123485) * LUMA_texOff(vec2(1, 1)).x; + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D) +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d_1 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.00606217, 0.0028236886, -0.014054051, 0.0037515557); + result += vec4(-0.11717517, 0.02590337, 0.14002699, -0.07471835) * LUMA_texOff(vec2(-1, -1)).x; + result += vec4(0.1143018, 0.04357534, 0.13998327, -0.14240041) * LUMA_texOff(vec2(0, -1)).x; + result += vec4(-0.052134506, -0.08979846, 0.050204687, 0.029983379) * LUMA_texOff(vec2(1, -1)).x; + result += vec4(0.01618129, -0.13259113, 0.024325445, -0.104753695) * LUMA_texOff(vec2(-1, 0)).x; + result += vec4(0.100182466, 0.06383499, -0.115760624, -0.07542764) * LUMA_texOff(vec2(0, 0)).x; + result += vec4(0.039049312, -0.0014231527, 0.14633176, -0.11090889) * LUMA_texOff(vec2(1, 0)).x; + result += vec4(0.04374475, 0.1065789, 0.04664098, -0.03103964) * LUMA_texOff(vec2(-1, 1)).x; + result += vec4(-0.060316052, -0.03070326, 0.13148578, -0.13707723) * LUMA_texOff(vec2(0, 1)).x; + result += vec4(0.074843094, 0.0108667025, 0.047905315, 0.059164535) * LUMA_texOff(vec2(1, 1)).x; + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D) +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d_2 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0015426857, -0.0056094904, 0.0174101, 0.01143031); + result += vec4(0.021166498, -0.14109746, -0.009065403, 0.029893016) * LUMA_texOff(vec2(-1, -1)).x; + result += vec4(0.08088207, 0.07114565, 0.0096370755, -0.08392174) * LUMA_texOff(vec2(0, -1)).x; + result += vec4(0.04177714, 0.12172563, -0.051969334, 0.021110004) * LUMA_texOff(vec2(1, -1)).x; + result += vec4(-0.012387507, -0.15442912, 0.06502845, -0.10903934) * LUMA_texOff(vec2(-1, 0)).x; + result += vec4(0.04218814, -0.121190704, -0.03268408, 0.09660384) * LUMA_texOff(vec2(0, 0)).x; + result += vec4(0.09981482, 0.1502269, 0.012524943, 0.009950072) * LUMA_texOff(vec2(1, 0)).x; + result += vec4(-0.027561454, 0.10656239, -0.02767334, 0.11605408) * LUMA_texOff(vec2(-1, 1)).x; + result += vec4(-0.15713026, -0.09045111, -0.099420406, -0.02555601) * LUMA_texOff(vec2(0, 1)).x; + result += vec4(-0.08254365, 0.06748684, -0.1061058, -0.07678628) * LUMA_texOff(vec2(1, 1)).x; + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D) +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d_3 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0020699732, 0.010311046, -0.0122236535, -0.0057681506); + result += vec4(-0.13171206, -0.115182996, 0.10687281, -0.019337498) * LUMA_texOff(vec2(-1, -1)).x; + result += vec4(0.025328152, 0.09656909, -0.08877802, 0.13900071) * LUMA_texOff(vec2(0, -1)).x; + result += vec4(-0.014073492, 0.026424214, -0.02951061, -0.086750895) * LUMA_texOff(vec2(1, -1)).x; + result += vec4(0.06295426, -0.06434664, 0.08405197, 0.10608779) * LUMA_texOff(vec2(-1, 0)).x; + result += vec4(0.19898853, 0.0023069843, -0.04414371, 0.0285924) * LUMA_texOff(vec2(0, 0)).x; + result += vec4(-0.14715488, 0.00086186273, -0.12685679, 0.0996023) * LUMA_texOff(vec2(1, 0)).x; + result += vec4(-0.04810055, -0.14015491, -0.18063203, -0.10066722) * LUMA_texOff(vec2(-1, 1)).x; + result += vec4(0.01307263, -0.092514314, 0.1380627, 0.13491923) * LUMA_texOff(vec2(0, 1)).x; + result += vec4(0.039886076, 0.051204894, 0.15279008, 0.043279227) * LUMA_texOff(vec2(1, 1)).x; + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D) +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d_4 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0054853344, -0.004406003, -0.0023702087, -0.0021772839); + result += vec4(-0.15866047, 0.19588727, 0.14002316, 0.051201846) * LUMA_texOff(vec2(-1, -1)).x; + result += vec4(0.085247315, -0.02618147, -0.09789057, 0.078908175) * LUMA_texOff(vec2(0, -1)).x; + result += vec4(-0.17589302, 0.123723306, 0.12453267, 0.07831262) * LUMA_texOff(vec2(1, -1)).x; + result += vec4(0.09033319, -0.09166804, -0.005148519, 0.06720134) * LUMA_texOff(vec2(-1, 0)).x; + result += vec4(0.03345655, -0.10424217, -0.13445246, 0.158821) * LUMA_texOff(vec2(0, 0)).x; + result += vec4(0.10564271, -0.10134308, -0.11317296, 0.07481705) * LUMA_texOff(vec2(1, 0)).x; + result += vec4(0.06830029, 0.006397327, 0.12616493, 0.12087824) * LUMA_texOff(vec2(-1, 1)).x; + result += vec4(0.06679759, -0.04430325, 0.10446539, 0.14996198) * LUMA_texOff(vec2(0, 1)).x; + result += vec4(-0.109402604, 0.040104996, -0.14259185, -0.1093432) * LUMA_texOff(vec2(1, 1)).x; + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D) +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d_5 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0005247076, -0.0064215013, -0.0063047167, -0.0045687305); + result += vec4(-0.065397374, 0.07411419, -0.12276642, 0.11735085) * LUMA_texOff(vec2(-1, -1)).x; + result += vec4(-0.13821891, 0.07206402, 0.04052938, -0.08303998) * LUMA_texOff(vec2(0, -1)).x; + result += vec4(0.008153271, 0.06659256, -0.088545084, 0.052727234) * LUMA_texOff(vec2(1, -1)).x; + result += vec4(0.0020265798, -0.017523022, 0.08750033, 0.034287166) * LUMA_texOff(vec2(-1, 0)).x; + result += vec4(-0.09240684, -0.132584, -0.05521535, -0.11365951) * LUMA_texOff(vec2(0, 0)).x; + result += vec4(0.0648652, 0.00063704373, 0.026009742, -0.11492421) * LUMA_texOff(vec2(1, 0)).x; + result += vec4(0.062282912, 0.06680331, 0.0021922512, 0.046125904) * LUMA_texOff(vec2(-1, 1)).x; + result += vec4(-0.0071307817, -0.02705501, 0.005304769, 0.10458681) * LUMA_texOff(vec2(0, 1)).x; + result += vec4(0.15888241, -0.09814522, 0.1098367, -0.042445354) * LUMA_texOff(vec2(1, 1)).x; + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D) +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d_6 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0048197624, 0.0075116986, 0.0099129155, 0.00775909); + result += vec4(0.004974469, -0.11057374, 0.054637253, 0.05073738) * LUMA_texOff(vec2(-1, -1)).x; + result += vec4(-0.128019, 0.054411564, -0.14099243, -0.12757975) * LUMA_texOff(vec2(0, -1)).x; + result += vec4(-0.07598182, -0.120226055, -0.010914497, -0.11205681) * LUMA_texOff(vec2(1, -1)).x; + result += vec4(-0.030250512, 0.024317788, 0.089506894, 0.12391518) * LUMA_texOff(vec2(-1, 0)).x; + result += vec4(-0.045656554, 0.13402466, 0.10797582, -0.122651406) * LUMA_texOff(vec2(0, 0)).x; + result += vec4(0.14234965, 0.011252227, -0.110444754, 0.15114875) * LUMA_texOff(vec2(1, 0)).x; + result += vec4(-0.03378752, -0.03878609, -0.08627183, 0.08631743) * LUMA_texOff(vec2(-1, 1)).x; + result += vec4(0.04149253, 0.023052553, -0.033660937, 0.0095798345) * LUMA_texOff(vec2(0, 1)).x; + result += vec4(0.11971444, 0.020501256, 0.11135282, -0.06693651) * LUMA_texOff(vec2(1, 1)).x; + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D) +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d_7 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.014978659, 0.0050648223, 0.0076116957, -0.007783821); + result += vec4(0.12193714, 0.003774343, 0.09972001, 0.06001656) * LUMA_texOff(vec2(-1, -1)).x; + result += vec4(0.037704255, -0.04623956, -0.028892698, -0.15893014) * LUMA_texOff(vec2(0, -1)).x; + result += vec4(0.12699004, 0.027365703, -0.09859563, -0.060610455) * LUMA_texOff(vec2(1, -1)).x; + result += vec4(0.062362995, -0.10326245, -0.049302436, -0.0041777436) * LUMA_texOff(vec2(-1, 0)).x; + result += vec4(0.027090665, 0.10767031, 0.08545651, 0.09814222) * LUMA_texOff(vec2(0, 0)).x; + result += vec4(0.0800181, 0.11339877, 0.14778155, -0.007044769) * LUMA_texOff(vec2(1, 0)).x; + result += vec4(0.036384713, -0.11539939, -0.12518965, 0.10631763) * LUMA_texOff(vec2(-1, 1)).x; + result += vec4(-0.034553416, -0.023034953, 0.08761218, -0.050655343) * LUMA_texOff(vec2(0, 1)).x; + result += vec4(0.004409459, 0.026714291, -0.12731543, 0.02625806) * LUMA_texOff(vec2(1, 1)).x; + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-1-ReLU) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_1 +//!BIND conv2d_2 +//!BIND conv2d_3 +//!BIND conv2d_4 +//!BIND conv2d_5 +//!BIND conv2d_6 +//!BIND conv2d_7 +//!SAVE conv2d_1_0 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.02761569, -0.001303431, 0.0059456453, 0.011364153); + result += mat4(0.037088707, 0.039107785, 0.049373046, 0.029887611, 0.17761885, 0.022945065, -0.044636622, 0.12700973, -0.20957622, -0.06410905, -0.07590757, 0.036686096, -0.06310094, -0.07954025, -0.011991116, -0.003010624) * conv2d_0_texOff(vec2(-1, -1)); + result += mat4(0.042399388, 0.045059893, 0.06800108, -0.115304366, 0.07296464, 0.03951488, 0.058417566, -0.019752966, -0.24829188, 0.032663327, -0.07660841, 0.059906118, -0.13647622, 0.19546683, 0.004744577, 0.14182745) * conv2d_0_texOff(vec2(0, -1)); + result += mat4(0.08336863, 0.036376677, -0.098944515, 0.049606726, 0.14065643, -0.048906505, -0.055670567, 0.04091548, -0.385516, 0.0040277955, -0.083274476, -0.08572098, -0.18240012, -0.0065575317, 0.051582176, -0.052601893) * conv2d_0_texOff(vec2(1, -1)); + result += mat4(-0.079820685, 0.068413995, 0.046803232, -0.003666424, 0.07048597, 0.1186215, 0.17330538, 0.08607984, -0.35499558, -0.00075235975, 0.056733217, -0.031382944, 0.0044486006, -0.00033770053, 0.18563506, 0.037485413) * conv2d_0_texOff(vec2(-1, 0)); + result += mat4(-0.072174765, 0.090702295, -0.041858044, 0.029457342, 0.10745088, 0.02440524, 0.05454572, 0.062174387, -0.44866538, 0.06788242, -0.047310323, 0.07745266, -0.036993157, 0.109724015, 0.13787764, 0.038699944) * conv2d_0_texOff(vec2(0, 0)); + result += mat4(-0.026424862, -0.07601646, 0.044226952, 0.031176368, 0.05768912, -0.015567413, -0.084214084, -0.056456145, -0.05111811, -0.044614747, -0.089155465, -0.04208763, 0.032561414, -0.041552335, -0.07731431, -0.09377579) * conv2d_0_texOff(vec2(1, 0)); + result += mat4(0.04373623, -0.00531333, 0.056447662, 0.10575006, 0.090051495, -0.031158486, -0.035757173, 0.13599198, 0.115777686, 0.07135353, -0.07880651, -0.08656131, 0.11350851, 0.16005085, 0.15270387, -0.01340997) * conv2d_0_texOff(vec2(-1, 1)); + result += mat4(-0.090338185, -0.0061558075, 0.07440105, 0.07998819, 0.03734147, 0.034271456, 0.07038486, 0.0064278357, -0.06316883, -0.12851131, 0.104488686, -0.06621635, -0.042390525, 0.011483585, -0.00614616, 0.13337699) * conv2d_0_texOff(vec2(0, 1)); + result += mat4(0.021350065, -0.06553768, 0.088978864, -0.04718948, 0.11847316, 0.020330824, 0.048353635, 0.11683656, 0.056026552, 0.03751398, -0.038178694, -0.07047206, 0.11210363, -0.0004433918, 0.04150284, 0.17515638) * conv2d_0_texOff(vec2(1, 1)); + result += mat4(-0.15682161, -0.031473707, 0.030253299, -0.041748017, 0.030382723, -0.14621396, -0.12894657, 0.05362784, -0.17239687, 0.016553588, -0.042380407, 0.09540878, 0.22551297, -0.056741998, -0.0030478665, 0.05394928) * conv2d_1_texOff(vec2(-1, -1)); + result += mat4(-0.056790065, -0.056703642, 0.002659399, 0.04735789, -0.03920069, -0.07000189, 0.058327585, -0.14269045, -0.17523172, -0.0064095105, 0.09835048, 0.0018919881, 0.3141227, -0.023967152, -0.053918995, 0.0797732) * conv2d_1_texOff(vec2(0, -1)); + result += mat4(-0.23335966, 0.087769546, 0.026102941, -0.0096911825, -0.06810754, 0.045207564, 0.13496265, 0.009555187, -0.25998208, -0.019500287, 0.057989404, 0.0024302762, 0.48002297, -0.04046989, 0.0052357917, -0.035644695) * conv2d_1_texOff(vec2(1, -1)); + result += mat4(-0.045313835, -0.08374049, 0.018499387, -0.06623021, -0.06555796, -0.012287675, -0.015122152, 0.016986316, -0.092487924, 0.025774505, -0.0010562062, -0.02650086, 0.014801757, 0.06750847, 0.09865225, 0.10953315) * conv2d_1_texOff(vec2(-1, 0)); + result += mat4(0.037979554, -0.023644108, 0.058705773, -0.078800365, 0.03471599, 0.16479132, -0.028003164, 0.0010208902, -0.06333016, -0.009407941, -0.09128135, 0.08101959, 0.0783575, 0.07412249, -0.008664677, -0.01999057) * conv2d_1_texOff(vec2(0, 0)); + result += mat4(-0.030677773, 0.11961758, -0.060348786, -0.06510084, -0.055473115, -0.09350679, -0.099412635, 0.14311117, -0.02437633, 0.051498406, -0.0045971726, -0.008503924, -0.04199868, -0.07289543, -0.030003952, 0.07716714) * conv2d_1_texOff(vec2(1, 0)); + result += mat4(-0.121329, -0.07286863, 0.058191475, -0.0063791526, 0.09366723, -0.08558315, -0.019722778, -0.06400999, 0.079417184, 0.07201573, -0.037171558, -0.050720986, 0.079808034, 0.114417985, -0.0054190145, 0.06912783) * conv2d_1_texOff(vec2(-1, 1)); + result += mat4(-0.059432074, 0.00669558, -0.11531157, 0.004150261, 0.06494481, 0.22469191, 0.026583701, -0.048079163, -0.019697739, 0.051067643, 0.047560435, -0.09175629, 0.03691384, 0.02980104, 0.071804516, 0.007448786) * conv2d_1_texOff(vec2(0, 1)); + result += mat4(0.09890353, 0.03246942, 0.016157217, 0.010111077, 0.13595293, -0.04375725, -0.02008658, 0.07505057, 0.11496347, -0.04299425, 0.04134444, 0.02708125, 0.065794446, -0.04000543, -0.014976788, 0.00076551025) * conv2d_1_texOff(vec2(1, 1)); + result += mat4(0.018885192, 0.07263801, 0.08209769, 0.31161678, 0.050031394, 0.0072181905, 0.11818119, 0.013147318, -0.0054596704, -0.0006071879, -0.064186566, 0.03409386, -0.063249335, -0.07980881, -0.10956793, -0.06739726) * conv2d_2_texOff(vec2(-1, -1)); + result += mat4(0.16189493, -0.17183621, 0.1569347, 0.22482295, -0.054127686, 0.06676453, -0.06077584, 0.06851102, 0.03122203, 0.03450254, -0.06630915, 0.047559235, 0.06136845, -0.11692344, -0.09031074, 0.006285412) * conv2d_2_texOff(vec2(0, -1)); + result += mat4(0.19681932, -0.0046566674, 0.19023016, 0.12542269, -0.15745784, 0.04875973, -0.008189951, -0.042797092, 0.08374266, 0.012683859, -0.05822523, -0.07747233, 0.116249934, -0.01764783, 0.01353973, 0.03972922) * conv2d_2_texOff(vec2(1, -1)); + result += mat4(0.08870154, 0.049118433, 0.041131232, 0.08667491, -0.017626565, 0.15511449, 0.12040571, 0.053428147, 0.020696208, 0.012470551, 0.022307185, -0.045834243, 0.060623735, -0.05125088, 0.06843799, 0.08656212) * conv2d_2_texOff(vec2(-1, 0)); + result += mat4(0.17092396, 0.030363526, 0.0140894, 0.02912769, 0.058119573, 0.095461175, 0.070812345, 0.09921958, 0.078285515, -0.022314569, 0.013995026, -0.0328069, -0.063750766, 0.09065675, 0.028035391, -0.113053046) * conv2d_2_texOff(vec2(0, 0)); + result += mat4(0.06405799, 0.21168756, -9.151996e-05, -0.0503785, -0.13791454, 0.10283767, -0.004092496, -0.067826845, -0.08090034, -0.0030361228, 0.030797834, 0.034114983, 0.061679136, -0.060509812, 0.029965324, 0.00540641) * conv2d_2_texOff(vec2(1, 0)); + result += mat4(-0.031794824, 0.060991615, -0.011038124, -0.03274945, 0.20039667, 0.08893567, 0.10624686, -0.07583237, 0.057389423, 0.003315266, 0.006454787, 0.030258719, 0.039025854, 0.06980554, -0.11136397, 0.057272784) * conv2d_2_texOff(vec2(-1, 1)); + result += mat4(0.10876384, 0.07798564, 0.026748007, 0.13123696, 0.2821341, 0.10730637, 0.09280867, -0.05766453, 0.027808543, -0.1052174, 0.03893968, 0.10775714, 0.14183632, -0.099473216, -0.05778472, -0.03137033) * conv2d_2_texOff(vec2(0, 1)); + result += mat4(0.15816005, -0.096787825, -0.06022702, 0.0381998, -0.023503086, 0.030795382, 0.01035088, -0.07878285, 0.0009552831, -0.042173848, 0.0746334, -0.0112526, 0.04763265, -0.041836012, -0.003314706, -0.0500568) * conv2d_2_texOff(vec2(1, 1)); + result += mat4(-0.046129987, -0.03118589, -0.07786298, -0.1049737, 0.29214287, 0.12085579, 0.012827161, 0.017566396, 0.108787045, 0.09451712, 0.15464358, -0.16249146, -0.13999546, 0.018309386, 0.014786083, 0.07303404) * conv2d_3_texOff(vec2(-1, -1)); + result += mat4(-0.07378837, 0.011273643, -0.1120379, -0.0026170607, 0.1814809, 0.08930166, 0.08356305, 0.01833846, 0.033170637, 0.24108212, -0.130211, 0.030318882, -0.29687455, 0.110697806, 0.09319216, 0.08654984) * conv2d_3_texOff(vec2(0, -1)); + result += mat4(-0.13948832, -0.06703306, 0.07523594, 0.21173337, 0.10341617, -0.05580924, 0.027701901, -0.013774061, -0.09089573, -0.09652651, -0.07885977, 0.06811104, -0.46284908, 0.06903523, 0.041834757, 0.0114014) * conv2d_3_texOff(vec2(1, -1)); + result += mat4(-0.019021397, -0.26629323, -0.07098138, 0.07351062, 0.12342077, -0.09418445, 0.026054522, 0.123952925, 0.03109452, -0.0045966646, 0.05038325, -0.06087832, -0.028441643, 0.03807018, 0.06422488, -0.03001049) * conv2d_3_texOff(vec2(-1, 0)); + result += mat4(-0.05468568, 0.0327175, 0.12617524, -0.07542483, -0.018951744, 0.10551418, 0.07483223, 0.1169595, -0.017687174, -0.09272559, -0.13982548, 0.0021275969, -0.07185063, -0.039989647, -0.0077523887, -0.039195437) * conv2d_3_texOff(vec2(0, 0)); + result += mat4(0.12988251, 0.10941108, 0.15224512, -0.12031406, -0.020163897, -0.031190401, 0.08508183, -0.023342766, 0.03194575, -0.002796166, 0.027059184, -0.010880353, 0.15295668, 0.09802124, 0.0037197326, 0.071890816) * conv2d_3_texOff(vec2(1, 0)); + result += mat4(0.017139537, -0.09763452, 0.043702517, -0.0017359561, -0.021294793, -0.0638558, 0.0008975771, 0.09110497, -0.007586657, -0.06678283, -0.0134450095, -0.018394625, 0.032951344, -0.01955024, -0.075448416, -0.020135287) * conv2d_3_texOff(vec2(-1, 1)); + result += mat4(-0.35745835, 0.07109913, -0.056332603, 0.06334652, 0.0053310636, 0.12636055, 0.106544495, 0.017279532, 0.02801295, -0.1446968, 0.14564823, -0.06979035, -0.1726678, 0.06928777, 0.043383125, 0.014876556) * conv2d_3_texOff(vec2(0, 1)); + result += mat4(0.105424166, 0.060225878, -0.12770179, -0.049939167, 0.18948837, -0.045437824, 0.012294204, 0.046608612, 0.053367853, 0.009596092, 0.029627405, -0.055216577, -0.06541836, -0.07233395, 0.043816403, -0.08915632) * conv2d_3_texOff(vec2(1, 1)); + result += mat4(0.04160133, -0.35034466, -0.09791312, 0.093261205, -0.06831845, 0.0851133, -0.053280674, -0.09827873, -0.005778535, -0.13280119, -0.13910456, -0.15472464, -0.26904503, 0.0004950885, -0.016046168, 0.03187566) * conv2d_4_texOff(vec2(-1, -1)); + result += mat4(-0.027507946, -0.053984743, 0.04627523, 0.2009932, 0.01102568, 0.024638634, -0.12111149, -0.103453085, 0.17028779, -0.11304579, -0.008148545, -0.23088348, -0.28374445, -0.08716236, 0.021794433, 0.05258543) * conv2d_4_texOff(vec2(0, -1)); + result += mat4(0.013218336, 0.07701681, 0.21862121, 0.02654918, 0.044408165, -0.0788119, -0.08543796, -0.061530057, 0.36024255, 0.03936189, -0.03930867, -0.13106105, -0.2940241, -0.053024504, 0.06382034, 0.07871436) * conv2d_4_texOff(vec2(1, -1)); + result += mat4(0.13724972, -0.23636502, -0.27293172, -0.124739595, -0.112919584, 0.27524987, -0.10301696, 0.19510813, -0.08015892, 0.04455963, 0.022465274, 0.2073669, -0.09678278, -0.018959148, -0.059930515, 0.08956838) * conv2d_4_texOff(vec2(-1, 0)); + result += mat4(0.10813729, 0.08113293, -0.16651708, -0.28258207, -0.02664726, -0.007968327, -0.08971246, 0.2381642, -0.14862755, -0.09012422, -0.009191523, 0.009187735, -0.10264482, 0.047298796, 0.00065596786, 0.084936574) * conv2d_4_texOff(vec2(0, 0)); + result += mat4(0.16527553, 0.16333109, -0.10906002, -0.11600706, 0.009340215, -0.15967317, 0.057286974, -0.007947666, -0.07539558, -0.048452135, 0.014758945, -0.035601526, -0.029910984, 0.086507834, 0.05682731, 0.08694974) * conv2d_4_texOff(vec2(1, 0)); + result += mat4(-0.09455753, -0.25718254, -0.46974602, -0.17321396, 0.2058579, -0.044676166, 0.15880384, 0.09082368, 0.36071256, 0.088171154, 0.07985134, 0.03562033, -0.011981267, 0.022630319, -0.114429295, 0.03545544) * conv2d_4_texOff(vec2(-1, 1)); + result += mat4(-0.35241106, 0.22275616, -0.11238957, -0.058529295, 0.3275477, -0.0841411, 0.08733342, 0.0024533719, 0.4327844, -0.20082138, 0.10952084, -0.03370095, -0.028660584, -0.043844976, -0.0894902, -0.0036635625) * conv2d_4_texOff(vec2(0, 1)); + result += mat4(-0.13464318, -0.04747511, -0.1338263, -0.04075609, 0.18872672, 0.05443863, 0.28123236, 0.112445064, -0.0051509426, 0.074833654, -0.017829131, -0.03576044, 0.06429401, -0.0037442248, 0.0443509, -0.011471484) * conv2d_4_texOff(vec2(1, 1)); + result += mat4(-0.033960752, 0.17812099, 0.113339335, 0.039034948, 0.13780743, -0.022480128, -0.06493001, -0.07914036, 0.025295194, 0.08997309, 0.16050398, 0.0152748795, -0.01667359, -0.10506268, 0.03365411, 0.027771063) * conv2d_5_texOff(vec2(-1, -1)); + result += mat4(-0.098467626, -0.1516087, -0.090719014, -0.16919157, 0.038436893, -0.14015834, 0.10464323, -0.066535756, 0.084718876, 0.06657195, -0.10025528, 0.11670654, -0.044952806, -0.0012713686, 0.036094677, -0.1250607) * conv2d_5_texOff(vec2(0, -1)); + result += mat4(-0.32697773, 0.0024904069, -0.0318002, -0.14388008, 0.025393477, 0.1355304, -0.025073601, -0.06781301, -0.033339716, -0.10428237, -0.08760491, -0.058536585, -0.06277895, -0.05797407, -0.12217669, 0.032862153) * conv2d_5_texOff(vec2(1, -1)); + result += mat4(0.13257584, 0.3125901, -0.004826834, 0.023016412, 0.0137814395, 0.07649444, -0.011283409, 0.12480625, 0.08035556, 0.08562913, 0.051745087, -0.010379843, -0.1719882, 0.019019378, 0.03253453, 0.1349059) * conv2d_5_texOff(vec2(-1, 0)); + result += mat4(0.15542264, -0.07498042, -0.054504056, -0.1130992, 0.08257349, -0.028014142, -0.0632218, 0.1754813, 0.044353295, -0.13583407, -0.13511257, -0.17404458, -0.094962865, -0.1499342, -0.04324668, -0.058163624) * conv2d_5_texOff(vec2(0, 0)); + result += mat4(0.091226265, -0.019397736, -0.15051126, -0.13262361, -0.052419744, 0.022728384, -0.017814085, 0.15778238, -0.045445465, 0.057812717, 0.090955496, -0.08521417, -0.08493022, 0.0458461, 0.038604733, -0.060735296) * conv2d_5_texOff(vec2(1, 0)); + result += mat4(0.017462738, 0.30318317, 0.020650871, 0.0049322373, 0.025454514, -0.06072033, 0.11654518, 0.037275076, -0.00079333835, 0.085537426, -0.029005496, -0.13338101, 0.025329508, -0.015836718, 0.053024746, 0.00406369) * conv2d_5_texOff(vec2(-1, 1)); + result += mat4(0.060283504, -0.18455754, -0.075665906, -0.03629259, 0.045932658, -0.023702286, 0.01825637, -0.011526267, -0.14195777, 0.008922332, 0.029492423, 0.035661146, 0.14617355, -0.09066765, 0.027462238, -0.12548925) * conv2d_5_texOff(vec2(0, 1)); + result += mat4(-0.36163256, -0.051146578, 0.11729546, -0.08423403, 0.106104486, -0.02499687, 0.022577967, -0.11865076, -0.127109, -0.0983434, -0.051264703, 0.017415091, -0.06907152, 0.021569695, 0.04765592, -0.021509318) * conv2d_5_texOff(vec2(1, 1)); + result += mat4(-0.020325258, 0.007175456, 0.15568674, 0.0268168, -0.04252941, 0.06245771, -0.06428836, 0.03889941, -0.016388465, 0.074869685, 0.0950176, 0.026303388, -0.05905569, 0.010531668, 0.055855878, 0.06955287) * conv2d_6_texOff(vec2(-1, -1)); + result += mat4(-0.055937205, 0.049704984, 0.08490253, 0.030004494, -0.028285054, -0.021864135, -0.070368275, -0.07678754, -0.04661075, -0.032502286, 0.016280256, -0.04206708, 0.030877868, -0.07661279, 0.02834831, -0.026066286) * conv2d_6_texOff(vec2(0, -1)); + result += mat4(-0.17748152, 0.007852392, -0.14960057, -0.04700179, 0.02509319, 0.04310571, 0.017439451, -0.06377278, -0.10304223, -0.05971072, 0.08723792, 0.1271908, -0.042265162, 0.095980346, -0.031949062, -0.10269542) * conv2d_6_texOff(vec2(1, -1)); + result += mat4(0.11442661, 0.22355922, 0.077263944, -0.19311424, 0.12785651, -0.18419869, 0.009072283, -0.11784601, 0.046265043, 0.027490687, 0.020513132, -0.11853117, 0.119715765, 0.09155084, -0.08806068, -0.13099991) * conv2d_6_texOff(vec2(-1, 0)); + result += mat4(0.09267516, 0.009534724, -0.1534431, -0.069718234, 0.09534833, 0.09643722, -0.07244729, -0.07503579, 0.049628712, -0.089211434, 0.11313615, 0.031837456, 0.042876128, -0.16599229, -0.09885001, -0.20849445) * conv2d_6_texOff(vec2(0, 0)); + result += mat4(0.15836427, 0.039397597, -0.10033209, -0.08952858, 0.20341766, -0.0183139, -0.048921306, 0.041464794, 0.15270574, -0.026300838, -0.06993224, -0.09279086, -0.0076041482, 0.09520925, -0.09645774, -0.001976442) * conv2d_6_texOff(vec2(1, 0)); + result += mat4(-0.09605317, 0.03516231, 0.021520022, -0.07026322, -0.09843845, 0.018796725, -0.032101627, -0.07200406, 0.009931766, -0.0012845487, -0.038088765, -0.00048343104, -0.01332002, 0.059822187, -0.18040723, 0.059926108) * conv2d_6_texOff(vec2(-1, 1)); + result += mat4(0.04695635, -0.09528347, -0.08518778, 0.03437041, -0.16211584, 0.08615655, -0.0596972, 0.07928578, -0.12804055, -0.12800768, -0.05631355, -0.068491004, 0.054722015, -0.16027765, -0.053435765, 0.0055658827) * conv2d_6_texOff(vec2(0, 1)); + result += mat4(-0.23087862, 0.060950283, 0.06483394, 0.0112723, 0.021190802, 0.015489685, -0.084800646, -0.06498323, -0.122740686, 0.08601281, 0.06930297, -0.02401346, -0.13796073, 0.059523232, -0.1229297, -0.1313897) * conv2d_6_texOff(vec2(1, 1)); + result += mat4(-0.20410736, 0.008917194, 0.027389951, 0.08584264, 0.11003438, 0.022213133, 0.09178437, 0.05450775, -0.01304892, -0.08140342, -0.021694947, -0.0028083185, -0.065252356, -0.0887981, -0.09430747, -0.10619862) * conv2d_7_texOff(vec2(-1, -1)); + result += mat4(-0.14222789, -0.02770178, 0.0057030017, -0.04385153, 0.07067748, 0.076741844, 0.074142836, 0.112219356, 0.10509791, 0.14008267, 0.09908752, 0.0343511, 0.012106488, 0.007804691, 0.062716246, -0.022749215) * conv2d_7_texOff(vec2(0, -1)); + result += mat4(-0.25188452, 0.086774535, 0.043418173, 0.07051929, 0.05869175, 0.005817447, 0.031649627, -0.06367935, -0.010777343, -0.065083295, -0.002142289, -0.081685126, -0.03822952, 0.09470792, 0.07443214, 0.0152457915) * conv2d_7_texOff(vec2(1, -1)); + result += mat4(0.003740148, -0.10212012, 0.082150206, 0.06324506, 0.12001256, -0.025637323, 0.18010361, -0.059838697, -0.003753066, -0.08005211, 0.047556523, -0.14785989, -0.041791067, 0.0039094524, -0.00017652505, -0.12913406) * conv2d_7_texOff(vec2(-1, 0)); + result += mat4(-0.020593995, -0.081874, 0.048278, -0.0053195683, 0.28651488, 0.1640567, 0.15966168, 0.082722425, 0.1570142, 0.19820258, -0.052342843, -0.033562254, -0.02614581, -0.098495275, -0.044366807, -0.055630334) * conv2d_7_texOff(vec2(0, 0)); + result += mat4(-0.09661177, -0.014020618, 0.051468264, -0.026384348, 0.31507862, -0.12511897, 0.061704103, -0.060045782, 0.23090814, 0.018513214, 0.015074701, 0.051465522, 0.10594349, 0.115795426, 0.027499227, -0.10733994) * conv2d_7_texOff(vec2(1, 0)); + result += mat4(-0.021955505, 0.08258324, 0.08424402, 0.06377491, 0.06519483, 0.1510674, 0.017168894, 0.11956491, 0.017034065, 0.06976995, -0.15467577, 0.081934586, -0.0039609377, 0.080919094, -0.050352793, -0.0462441) * conv2d_7_texOff(vec2(-1, 1)); + result += mat4(-0.036016695, -0.100190744, -0.051705576, 0.035166018, -0.036927998, 0.008058679, 0.072933845, 0.1457097, -0.078346506, -0.13454653, 0.02853062, 0.129857, 0.052758798, -0.14486746, -0.014382735, -0.03168785) * conv2d_7_texOff(vec2(0, 1)); + result += mat4(0.0010188763, -0.041984238, 0.0715447, -0.034105368, 0.17399262, 0.041071795, -0.022110598, 0.03014559, 0.04161949, -0.096565865, 0.053164575, 0.055329412, -0.09356863, -0.018130451, 0.07688227, 0.04318047) * conv2d_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-1-ReLU) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_1 +//!BIND conv2d_2 +//!BIND conv2d_3 +//!BIND conv2d_4 +//!BIND conv2d_5 +//!BIND conv2d_6 +//!BIND conv2d_7 +//!SAVE conv2d_1_1 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.016769439, 0.0025616076, -0.033234686, -0.017233113); + result += mat4(-0.07937274, 0.024551604, 0.045484476, -0.028590381, -0.0055548563, 0.091164075, -0.0832477, 0.0056726784, 0.009145615, -0.056674864, -0.12838204, -0.029696077, -0.104894035, -0.0021465523, -0.19386864, 0.04343148) * conv2d_0_texOff(vec2(-1, -1)); + result += mat4(-0.056155153, 0.08125948, 0.047882646, -0.05619554, -0.07280543, 0.06907689, -0.07096061, 0.024550367, 0.06942433, -0.015227393, 0.19139177, 0.034082085, 0.026274368, -0.044310287, 0.2190903, -0.10265051) * conv2d_0_texOff(vec2(0, -1)); + result += mat4(0.054673616, -0.04683691, -0.060920995, 0.098106205, -0.09166132, 0.05957283, -0.074146934, 0.073306106, 0.014094467, 0.06827852, 0.01580575, 0.038518988, -0.0462546, 0.021577721, -0.078415, 0.029640203) * conv2d_0_texOff(vec2(1, -1)); + result += mat4(-0.1085866, 0.018027164, 0.0009858405, -0.09908315, 0.045768503, -0.07956935, 0.09952082, 0.030113233, 0.06256073, -0.05886293, 0.006130924, -0.048609912, 0.13590431, 0.03444453, -0.15257333, -0.11231053) * conv2d_0_texOff(vec2(-1, 0)); + result += mat4(-0.011424763, -0.071742706, 0.04301765, 0.070896834, 0.07755313, 0.10378807, 0.12022343, 0.021524828, 0.029912747, 0.115998074, -0.13353577, -0.016215743, -0.12557493, 0.13347831, 0.07265532, 0.0010080107) * conv2d_0_texOff(vec2(0, 0)); + result += mat4(0.011295676, 0.036876403, 0.06479442, 0.08397527, 0.12332453, -0.13206731, 0.09754398, 0.00029035402, 0.03560405, -0.056740932, -0.031969912, -0.012531853, 0.10487021, -0.079280175, -0.036755282, 0.0359944) * conv2d_0_texOff(vec2(1, 0)); + result += mat4(-0.048982903, 0.00045150236, -0.16215974, -0.025085704, -0.06113199, 0.061917245, -0.041983806, 0.12413298, 0.02764671, 0.09159367, 0.1746024, 0.08465373, -0.09993331, 0.09977577, 0.05697615, -0.112461075) * conv2d_0_texOff(vec2(-1, 1)); + result += mat4(-0.07934379, -0.039607003, -0.07690708, 0.023781974, 0.015746487, 0.108917706, -0.09303546, 0.12878792, -0.026604395, -0.042081278, 0.09499319, -0.0506606, 0.10261265, 0.12871245, -0.13543636, -0.013091424) * conv2d_0_texOff(vec2(0, 1)); + result += mat4(-0.049167998, -0.08167343, 0.021342967, 0.0842813, 0.019894106, -0.08718225, 0.14338472, -0.08321608, -0.06424248, 0.0020290306, 0.11345402, -0.031149132, 0.055689946, 0.0005042397, -0.009219514, 0.07936348) * conv2d_0_texOff(vec2(1, 1)); + result += mat4(0.042045802, 0.08653694, -0.057840317, 0.043052666, 0.05711909, -0.014766705, -0.05957707, 0.024248779, 0.01729787, -0.08104619, 0.028377637, 0.0774164, -0.029571198, 0.098805726, -0.05487531, 0.011131538) * conv2d_1_texOff(vec2(-1, -1)); + result += mat4(0.0026329665, -0.07978645, 0.023266913, -0.063317545, -0.13192022, -0.052285846, -0.09071553, 0.01294073, 0.020364795, -0.021405185, -0.046866737, 0.08936077, 0.032601304, 0.088665865, -0.06398512, -0.015807016) * conv2d_1_texOff(vec2(0, -1)); + result += mat4(-0.072908536, 0.10124559, -0.059382346, -0.07274975, -0.15386926, 0.058088895, 0.13734575, -0.08429202, -0.0077596977, -0.059642684, -0.04087486, -0.08461217, 0.03605134, 0.08031782, -0.027293874, -0.05226643) * conv2d_1_texOff(vec2(1, -1)); + result += mat4(-0.05761235, 0.0063328813, -0.012605376, 0.017634902, 0.021166831, -0.016585106, -0.03065502, -0.029615575, -0.04674592, -0.063615814, 0.027525546, 0.07175821, -0.10640246, -0.021860883, 0.07215713, -0.09373414) * conv2d_1_texOff(vec2(-1, 0)); + result += mat4(-0.08998505, -0.00014465432, 0.10441247, -0.021165052, 0.05263818, -0.20437573, 0.11552614, -0.11383138, -0.047426652, 0.08757641, -0.025403168, 0.03527013, -0.02045051, -0.053358436, 0.09311368, -0.06521593) * conv2d_1_texOff(vec2(0, 0)); + result += mat4(0.058935154, -0.017358156, -0.10218483, 0.022098077, 0.014286717, 0.029318301, -0.20659512, 0.10422841, -0.037607525, 0.019619823, 0.08594738, -0.10172927, -0.053619463, -0.11814796, 0.0018046426, 0.031578325) * conv2d_1_texOff(vec2(1, 0)); + result += mat4(-0.0058175665, -0.027186159, 0.04891019, -0.05580266, 0.17695417, 0.06257584, -0.053988926, -0.04441824, -0.11641258, 0.010220604, 0.10162313, 0.077824146, -0.07027242, -0.021471716, -0.07523949, -0.02031263) * conv2d_1_texOff(vec2(-1, 1)); + result += mat4(0.024723828, 0.09212882, -0.10201016, -0.08879776, -0.028374758, 0.03794084, 0.16667119, 0.102898754, 0.084029555, -0.07575912, 0.09611676, -0.12024204, 0.09981554, 0.04426836, 0.065200955, 0.044676803) * conv2d_1_texOff(vec2(0, 1)); + result += mat4(-0.10512724, 0.05358826, -0.14085302, 0.052071247, -0.021827307, 0.017526265, 0.15236545, 0.026917933, -0.061030466, -0.08549802, -0.06748439, 0.055241548, 0.117513224, -0.031710867, 0.094942175, 0.09423875) * conv2d_1_texOff(vec2(1, 1)); + result += mat4(0.015552336, 0.04420794, -0.029277187, -0.19120461, 0.034245424, -0.02792134, -0.09716776, -0.0573681, -0.075626604, 0.037915822, 0.12992129, -0.02319238, -0.0039902157, -0.08158752, -0.07895762, 0.08473973) * conv2d_2_texOff(vec2(-1, -1)); + result += mat4(0.08799909, 0.14314105, -0.20044601, 0.10480823, -0.095984094, 0.012125623, -0.035740513, 0.007108744, -0.0939765, 0.010239716, -0.114662096, 0.018953988, 0.05602594, -0.08161215, -0.06033333, -0.019941881) * conv2d_2_texOff(vec2(0, -1)); + result += mat4(-0.12727, -0.038333707, -0.25097314, 0.018155312, 0.060406335, -0.020452917, 0.113399886, -0.11267086, -0.06354953, -0.012558013, -0.12128287, 0.039447643, -0.17020549, 0.037829228, -0.05092166, 0.06897524) * conv2d_2_texOff(vec2(1, -1)); + result += mat4(0.0705451, 0.08091754, -0.008346885, -0.044707194, -0.08981229, 0.06599425, 0.043990392, -0.0031653778, 0.12341977, 0.018836867, 0.025816211, 0.026450949, -0.029844712, -0.0464313, -0.13568954, -0.072483405) * conv2d_2_texOff(vec2(-1, 0)); + result += mat4(0.012711535, -0.3026428, 0.13166624, -0.004995521, 0.008398716, 0.14346163, 0.068649575, -0.09263464, 0.018636724, -0.111215554, 0.05045415, 0.10613949, -0.14595944, -0.10123244, 0.1399268, 0.05277028) * conv2d_2_texOff(vec2(0, 0)); + result += mat4(0.02605338, -0.09055099, 0.14284265, -0.016676703, -0.07651899, 0.11876108, -0.07980653, 0.1367855, 0.027205238, -0.121692345, 0.097538166, 0.019252293, 0.0085324785, -0.0066619613, -0.051010814, 0.015619256) * conv2d_2_texOff(vec2(1, 0)); + result += mat4(-0.053689305, 0.11616701, 0.050079677, 0.062457107, -0.131444, 0.09234042, 0.32624242, -0.04541031, 0.10710542, 0.10381631, -0.11372033, 0.047911637, -0.095062315, 0.08364793, -0.20961949, -0.033144835) * conv2d_2_texOff(vec2(-1, 1)); + result += mat4(-0.02494579, 0.18658453, -0.24268891, 0.03562996, -0.011188254, 0.15070106, -0.049641307, -0.04412288, 0.08451071, 0.008854023, -0.027331132, 0.010873642, 0.05840684, 0.093645036, -0.19649129, 0.14708613) * conv2d_2_texOff(vec2(0, 1)); + result += mat4(0.0030784938, 0.03550323, -0.17132902, 0.069450766, 0.024668658, 0.029604401, 0.11464523, -0.07167686, 0.051766425, 0.014539138, -0.009160021, 0.12180583, -0.05230532, 0.0662672, 0.003080154, -0.07940716) * conv2d_2_texOff(vec2(1, 1)); + result += mat4(-0.05423636, -0.011784935, 0.14290236, 0.032433644, -0.118710525, -0.0920717, 0.0823441, 0.056657888, -0.040222954, 0.010854127, 0.15074678, -0.098136485, -0.06447723, 0.02108425, 0.009055196, -0.11257116) * conv2d_3_texOff(vec2(-1, -1)); + result += mat4(0.12390864, -0.09158103, 0.04741346, -0.0708486, -0.06425824, 0.013386543, 0.057961702, 0.07413954, -0.07973955, -0.09554655, 0.18467925, -0.10788285, 0.09482614, 0.012062154, 0.029963506, -0.029858127) * conv2d_3_texOff(vec2(0, -1)); + result += mat4(-0.10729881, 0.009982173, -0.22733152, 0.098401695, 0.029435245, -0.06580569, -0.12520123, -0.07642179, 0.11545801, 0.15011081, -0.13486712, 0.028433813, 0.07591163, 0.017288294, 0.099007584, -0.097372234) * conv2d_3_texOff(vec2(1, -1)); + result += mat4(0.13141108, 0.017468836, -0.16651976, 0.13195527, 0.07581501, 0.10724365, -0.09905088, 0.0015309928, -0.059403155, -0.009239631, 0.14939612, -0.1072595, 0.030013539, 0.016426543, 0.0017660961, 0.08670179) * conv2d_3_texOff(vec2(-1, 0)); + result += mat4(-0.14684048, 0.034820206, 0.19213732, 0.03307732, -0.08472444, 0.046669018, 0.12534994, -0.11100139, 0.09718424, 0.15050825, -0.21054505, 0.2016825, 0.072763614, -0.07057747, -0.07941401, -0.0811291) * conv2d_3_texOff(vec2(0, 0)); + result += mat4(0.055816874, 0.09170443, -0.05008039, 0.024646416, -0.009889805, 0.0041081966, 0.12131254, 0.07974836, 0.117176384, 0.0844261, 0.28521234, -0.09175087, -0.08795007, 0.0043471255, 0.07127032, 0.05553993) * conv2d_3_texOff(vec2(1, 0)); + result += mat4(-0.026806787, -0.114655524, -0.12831697, -0.16896728, 0.09705996, 0.07696132, -0.03238421, -0.016604574, 0.0069550225, 0.005655338, 0.43047038, -0.075586416, 0.004409626, 0.05427515, 0.066713005, 0.06727002) * conv2d_3_texOff(vec2(-1, 1)); + result += mat4(-0.012092775, -0.14372861, -0.032439742, 0.10276534, 0.074446976, 0.117915854, -0.07504714, 0.059478015, 0.17400376, -0.09012655, 0.12881382, -0.03453601, 0.006655172, -0.05988123, 0.057871893, -0.10036389) * conv2d_3_texOff(vec2(0, 1)); + result += mat4(-0.004990822, 0.08878998, -0.03183994, -0.12615976, 0.0076586036, -0.039238214, -0.04804058, -0.03638868, -0.07475823, -0.107461564, 0.027054943, 0.036395226, -0.09547209, 0.08394239, -0.060993254, -0.07529691) * conv2d_3_texOff(vec2(1, 1)); + result += mat4(0.021110354, -0.08261888, -0.10318944, 0.040032186, -0.064552136, -0.051267777, 0.0887074, -0.10907327, -0.008963476, 0.13419461, 0.12557253, 0.19924735, 0.07389039, 0.037197713, -0.006051149, 0.09969139) * conv2d_4_texOff(vec2(-1, -1)); + result += mat4(0.10912339, -0.05223203, -0.41098392, 0.075798415, -0.057029378, -0.0017331461, 0.06383876, -0.025387159, -0.04747141, 0.039427005, 0.018824644, 0.08538382, 0.051092204, 0.06586574, -0.11215414, 0.0791303) * conv2d_4_texOff(vec2(0, -1)); + result += mat4(0.03419454, -0.021962, -0.13961087, -0.022702947, 0.011523682, 0.06005019, 0.19224952, 0.010064379, 0.15189806, -0.14856116, 0.1919555, -0.062437158, 0.015603976, 0.00086081197, -0.0468853, -0.04738336) * conv2d_4_texOff(vec2(1, -1)); + result += mat4(0.10732999, -0.06551857, 0.0602404, 0.19181146, -0.09031337, 0.05160001, 0.0040802015, -0.11860206, -0.057076015, -0.13912433, -0.060380206, -0.06443237, 0.11100557, -0.11861049, -0.108246945, 0.09199632) * conv2d_4_texOff(vec2(-1, 0)); + result += mat4(0.16064756, -0.10392113, 0.16806966, -0.12632309, 0.067356676, 0.051871065, -0.087932274, 0.04682788, -0.035441585, 0.005433438, -0.20120451, 0.14360161, 0.0051706037, -0.022827601, 0.076131314, -0.028320156) * conv2d_4_texOff(vec2(0, 0)); + result += mat4(-0.11838603, 0.11412809, -0.22658278, -0.037884485, -0.007884632, -0.047932684, 0.10884189, 0.07825834, 0.008924509, 0.13113378, -0.10875834, -0.107598744, 0.0067470223, 0.09434388, -0.109961726, 0.079642296) * conv2d_4_texOff(vec2(1, 0)); + result += mat4(-0.2042058, -0.07531935, -0.09399276, 0.008989612, 0.07966336, -0.0068313014, 0.24716976, 0.058068536, -0.013480067, -0.05133768, 0.07945195, -0.10644309, -0.094064265, -0.009725714, 0.059794, 0.022166375) * conv2d_4_texOff(vec2(-1, 1)); + result += mat4(-0.2752565, 0.1852604, -0.23770782, -0.03482585, 0.03348158, -0.098442525, 0.1648311, 0.028246937, 0.115351744, -0.12337124, 0.12334623, -0.06349723, -0.113191076, 0.10705012, -0.08011575, -0.0009850222) * conv2d_4_texOff(vec2(0, 1)); + result += mat4(0.019758724, 0.08675475, -0.25644946, 0.19483091, 0.056206577, -0.28102186, 0.2467782, -0.19515087, 0.030795587, -0.21867925, 0.10537924, 0.032142207, 0.06683745, 0.045662083, -0.036633432, 0.07147296) * conv2d_4_texOff(vec2(1, 1)); + result += mat4(-0.06670792, -0.0021875468, 0.012345075, 0.07533767, -0.0772911, -0.020445222, 0.055677257, -0.03592486, -0.08034898, 0.0061573903, -0.075330086, -0.04805722, -0.012458078, 0.07707378, 0.1340744, -0.037905995) * conv2d_5_texOff(vec2(-1, -1)); + result += mat4(0.14461063, 0.017936263, 0.029614784, 0.13786332, -0.06205171, 0.05635858, -0.057858724, 0.0991939, 0.0843583, 0.00076131267, 0.09621426, 0.12912948, 0.027043015, -0.05128006, -0.045921084, -0.04307526) * conv2d_5_texOff(vec2(0, -1)); + result += mat4(0.059195258, -0.0761724, 0.22519636, 0.047220387, 0.13788861, 0.017554784, 0.17639084, -0.086442344, 0.15308294, 0.11420089, 0.09245167, -0.07941055, 0.147952, -0.06565538, 0.23476095, -0.0062853643) * conv2d_5_texOff(vec2(1, -1)); + result += mat4(-0.12952094, 0.15930383, 0.21732077, -0.0077073327, -0.030176776, 0.1060875, 0.11774164, -0.050923593, -0.011193686, -0.03966681, 0.2143074, 0.14424497, -0.1332584, 0.053643733, 0.10166897, -0.11144746) * conv2d_5_texOff(vec2(-1, 0)); + result += mat4(-0.03859702, 0.20158121, -0.17083117, -0.024978075, -0.061759107, -0.023627415, -0.019641025, 0.070127934, 0.003741842, 0.022356411, -0.13977034, 0.015925655, -0.069790415, -0.015829412, -0.19992931, 0.085839465) * conv2d_5_texOff(vec2(0, 0)); + result += mat4(-0.051424056, 0.06681765, -0.120979376, 0.0017001146, 0.0051011327, -0.05086517, -0.051919993, -0.050319064, -0.15493919, 0.010663769, -0.059243806, 0.1122366, 0.042886723, 0.13127504, 0.11036723, -0.022160923) * conv2d_5_texOff(vec2(1, 0)); + result += mat4(-0.09295841, 0.12198834, 0.14107624, -0.015114837, -0.037394222, -0.021517873, 0.03543997, 0.05839734, -0.046089817, 0.011284783, 0.057499498, -0.0008424343, 0.01061968, -0.07435791, -0.023883415, 0.074838415) * conv2d_5_texOff(vec2(-1, 1)); + result += mat4(0.08546618, -0.001638889, -0.059880786, -0.0059915804, 0.05733248, 0.002214513, 0.14065383, -0.08221448, 0.05616745, -0.040358093, -0.09910867, 0.015900759, 0.08278462, -0.14608642, 0.13865638, -0.028652601) * conv2d_5_texOff(vec2(0, 1)); + result += mat4(0.050315954, -0.124541774, 0.1193908, -0.045964096, -0.11453154, -0.17920852, 0.018419629, 0.0885126, 0.0045665368, -0.012980899, 0.0022270456, -0.03926158, 0.021241607, -0.09130771, 0.20553377, -0.0996037) * conv2d_5_texOff(vec2(1, 1)); + result += mat4(0.10302262, 0.027687268, -0.21909182, -0.11463514, -0.045840893, 0.10050073, -0.0613349, 0.042572837, -0.06806023, -0.0010388973, 0.018142693, 0.14837755, -0.022527771, 0.07391722, -0.08493624, -0.11404409) * conv2d_6_texOff(vec2(-1, -1)); + result += mat4(-0.121575266, -0.027801964, 0.09613693, 0.002286362, -0.039520085, 0.03476184, -0.10104017, 0.031482354, 0.11636573, -0.06323037, -0.011886145, 0.06297528, -0.066137604, -0.008157256, -0.04869969, 0.0059183626) * conv2d_6_texOff(vec2(0, -1)); + result += mat4(-0.10905, 0.03983639, 0.056099143, 0.0034510016, 0.012703439, -0.060960226, -0.14831713, -0.069385834, 0.0011631255, 0.11983661, -0.21988507, 0.06868837, 0.034076165, -0.08466886, 0.012345503, -0.040119033) * conv2d_6_texOff(vec2(1, -1)); + result += mat4(-0.13324322, 0.01718367, 0.2076508, 0.016123328, 0.057933662, -0.08142827, 0.028756473, -0.012525868, -0.08725264, -0.009463192, -0.046336904, -0.033815436, -0.1391711, -0.08475892, 0.0687412, -0.039241564) * conv2d_6_texOff(vec2(-1, 0)); + result += mat4(0.041625768, 0.16654244, -0.1799811, 0.048581764, 0.045822866, -0.037232295, 0.05179076, -0.05777596, -0.0095104305, 0.12848996, -0.0789733, 0.08890033, 0.17187265, 0.03049758, -0.06398407, 0.13677458) * conv2d_6_texOff(vec2(0, 0)); + result += mat4(0.009284352, 0.08338313, 0.026661666, 0.026534343, -0.026173279, -0.04352123, -0.16721159, 0.04861703, -0.02597866, 0.021577125, 0.056278646, -0.076812565, -0.026800256, 0.08736506, -0.15648517, 0.028837873) * conv2d_6_texOff(vec2(1, 0)); + result += mat4(0.09535911, 0.14442755, 0.11180536, -0.06517056, -0.009842117, -0.0060931295, -0.061150488, -0.02944281, 0.12734199, 0.0006065784, -0.06975431, 0.108781986, 0.033593517, 0.07567509, -0.17313817, 0.25374523) * conv2d_6_texOff(vec2(-1, 1)); + result += mat4(0.19506572, 0.155975, -0.04777849, -0.016203694, -0.0068075536, -0.042868037, -0.17068684, 0.0037194034, -0.0012168193, -0.10092494, -0.06852381, 0.01380547, 0.1136827, -0.041867908, 0.00013216352, -0.05468068) * conv2d_6_texOff(vec2(0, 1)); + result += mat4(0.07748595, -0.14235479, 0.15257135, -0.053396966, -0.07791306, 0.067098655, -0.057766736, 0.021077331, -0.09494074, -0.023778684, -0.013639282, -0.10075655, -0.080349326, -0.18532336, -0.08169879, 0.11040296) * conv2d_6_texOff(vec2(1, 1)); + result += mat4(-0.069554105, 0.060413048, -0.106799476, 0.053021252, -0.05345125, 0.01492141, -0.004792767, -0.05385169, 0.0843777, 0.013497531, -0.22934411, 0.099761985, 0.061654877, 0.0023306322, 0.037343726, 0.09909317) * conv2d_7_texOff(vec2(-1, -1)); + result += mat4(0.05697883, 0.07050332, 0.076690584, 0.01667316, 0.006008317, 0.06300223, 0.051146176, 0.012772907, -0.06102923, 0.029040178, -0.053367697, 0.07482501, 0.06490111, 0.052685887, -0.049605075, -0.002080413) * conv2d_7_texOff(vec2(0, -1)); + result += mat4(0.0046620304, 0.059921052, 0.028985702, 0.07646957, 0.0034581195, 0.084394254, -0.15584604, 0.03665553, -0.07015666, 0.003627641, -0.22974466, 0.072483964, -0.075953916, -0.075793676, 0.118282355, -0.113565505) * conv2d_7_texOff(vec2(1, -1)); + result += mat4(0.11088133, -0.047126915, -0.1282911, 0.052591946, -0.014328814, 0.008643943, -0.068740405, -0.1435253, -0.02709035, -0.04505739, 0.008873879, -0.21076852, -0.043750796, -0.044584595, 0.03902912, -0.030772295) * conv2d_7_texOff(vec2(-1, 0)); + result += mat4(-0.038197093, -0.062249802, 0.033598337, -0.102512054, 0.120059155, 0.039409705, 0.23213148, 0.017042313, 0.07811867, -0.003232613, 0.19507286, 0.053877868, 0.012963436, 0.0028906679, 0.21984786, 0.019151483) * conv2d_7_texOff(vec2(0, 0)); + result += mat4(-0.019865166, -0.0071905544, 0.11206307, -0.07782036, 0.09469346, 0.036127537, 0.03760374, 0.055601902, -0.007445543, 0.079429135, 0.049627665, -0.12807842, 0.08465151, 0.057704467, -0.0042503723, -0.0064193746) * conv2d_7_texOff(vec2(1, 0)); + result += mat4(-0.024744835, -0.011291583, -0.024014616, -0.033544473, -0.0038538529, 0.12559661, -0.027841812, -0.06250194, 0.0073181563, 0.013020039, -0.21632992, 0.09582357, -0.02713949, -0.04855593, -0.008293703, 0.021271667) * conv2d_7_texOff(vec2(-1, 1)); + result += mat4(-0.110498585, 0.059027217, 0.020372093, -0.06329277, 0.13400175, 0.22068635, -0.19118437, 0.10078439, 0.0022693954, 0.11991088, -0.16167273, -0.006496246, -0.07048625, 0.08765234, 0.032959696, 0.11292396) * conv2d_7_texOff(vec2(0, 1)); + result += mat4(0.040295064, 0.043726686, 0.06391998, -0.05502049, -0.047743503, -0.0029117474, 0.15594602, 0.093968496, 0.054743696, 0.06277688, 0.028176308, -0.03813296, 0.07304441, -0.04628543, -0.051543918, -0.056700226) * conv2d_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-1-ReLU) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_1 +//!BIND conv2d_2 +//!BIND conv2d_3 +//!BIND conv2d_4 +//!BIND conv2d_5 +//!BIND conv2d_6 +//!BIND conv2d_7 +//!SAVE conv2d_1_2 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.013938967, 0.015533113, 0.0028973701, 0.0075022657); + result += mat4(0.032846577, -0.052960653, 0.034282815, 0.041243304, -0.08967592, 0.048318267, -0.07621673, 0.1028415, 0.048737485, 0.053634305, 0.0054881927, 0.033276886, -0.21132886, -0.00425043, 0.050949793, -0.0111281965) * conv2d_0_texOff(vec2(-1, -1)); + result += mat4(-0.12298811, -0.053651, 0.014085534, 0.06090373, 0.046195626, -0.03364584, 0.08522945, -0.047111996, 0.023065615, -0.05466919, -0.0021231575, 0.074913114, -0.04375345, -0.09714572, -0.13357763, 0.07338338) * conv2d_0_texOff(vec2(0, -1)); + result += mat4(0.01141243, 0.030614294, 0.012433801, 0.02139655, -0.0684577, -0.08955104, 0.093261145, -0.09983138, 0.089424804, -0.021487309, -0.12033073, 0.07616843, -0.090022355, 0.18183194, 0.11445503, 0.067792386) * conv2d_0_texOff(vec2(1, -1)); + result += mat4(0.003242191, 0.031642754, -0.07453954, 0.11052475, 0.009998606, -0.11990727, -0.14618039, 0.099430494, -0.042089403, 0.070518434, -0.010203386, -0.029402874, -0.20027012, 0.17072497, -0.08798141, 0.05406464) * conv2d_0_texOff(vec2(-1, 0)); + result += mat4(-0.01612824, 0.03477462, -0.042969614, 0.056698266, -0.03255394, -0.11133351, -0.004118145, 0.03954056, -0.033006884, 0.04043607, -0.12047454, -0.044718977, 0.0698965, -0.12542497, 0.052342955, 0.094750166) * conv2d_0_texOff(vec2(0, 0)); + result += mat4(-0.08191703, 0.09355846, 0.059092406, 0.06475061, -0.025731565, 0.19678155, -0.0776595, 0.046088483, 0.100162126, -0.016052794, -0.07798135, -0.07101751, -0.06735093, 0.08204773, 0.053372316, -0.10643969) * conv2d_0_texOff(vec2(1, 0)); + result += mat4(0.07641936, -0.009392707, -0.08043631, -0.022394316, -0.0025288959, -0.097324744, -0.10157535, -0.098694205, 0.046158034, 0.086306415, -0.09310042, 0.045507442, -0.1552158, -0.25672314, -0.045775324, -0.016271122) * conv2d_0_texOff(vec2(-1, 1)); + result += mat4(0.027376695, -0.08542285, -0.00053156266, -0.055664603, 0.11108501, 0.00900522, -0.039494418, 0.058275703, -0.024041515, -0.0043008253, 0.04309959, -0.029130701, 0.07585582, 0.042668022, -0.033310007, 0.035263296) * conv2d_0_texOff(vec2(0, 1)); + result += mat4(0.027053017, -0.08627896, 0.08763188, 0.043387715, -0.088418104, 0.023269104, 0.071471125, 0.054824803, -0.012928226, -0.06803476, -0.10451357, -0.04683332, -0.03276313, -0.02956615, 0.02772458, 0.016769126) * conv2d_0_texOff(vec2(1, 1)); + result += mat4(0.05519512, 0.026617685, 0.059249084, 0.05214254, -0.0005045204, 0.012417094, -0.06620078, 0.0813855, -0.035043526, -0.03206556, 0.07487492, 0.03989685, -0.099046, -0.10826472, 0.04286894, 0.123804376) * conv2d_1_texOff(vec2(-1, -1)); + result += mat4(0.023046117, 0.15525448, -0.016758833, 0.08583576, 0.08520866, 0.12128569, 0.0064738714, -0.21322465, 0.051468074, -0.08525122, -0.07286322, -0.06859845, 0.06326966, 0.044056647, 0.088103294, 0.09067303) * conv2d_1_texOff(vec2(0, -1)); + result += mat4(0.06426195, 0.009186825, -0.07230378, 0.04104307, 0.017211473, -0.20848492, -0.04187725, 0.21498612, 0.020638483, 0.002735242, -0.111722566, -0.014182573, -0.003047092, 0.100285515, -0.06567301, 0.0138706695) * conv2d_1_texOff(vec2(1, -1)); + result += mat4(0.08885051, 0.093490265, -0.03140803, -0.03252425, -0.19602428, 0.0145222675, 0.03036853, -0.07987939, 0.013513645, -0.008580325, -0.0059136273, 0.048060436, 0.10868937, 0.10224574, -0.030258277, -0.008786517) * conv2d_1_texOff(vec2(-1, 0)); + result += mat4(-0.041580692, -0.02790423, 0.022062302, 0.047895577, -0.1059916, -0.112150155, -0.04447172, 0.07482147, -0.057116378, 0.11231512, -0.082839444, -0.033725716, -0.10277563, -0.10362856, 0.04035678, -0.048499774) * conv2d_1_texOff(vec2(0, 0)); + result += mat4(-0.06345017, -0.07136062, -0.073399685, 0.11837334, -0.0045550424, 0.30553803, 0.010344913, -0.114337504, -0.037289858, 0.08024155, -0.09092938, 0.01512199, 0.059033062, -0.015965948, 0.09940773, -0.07353052) * conv2d_1_texOff(vec2(1, 0)); + result += mat4(-0.07212204, -0.073826596, -0.016235586, 0.08354734, -0.1110086, 0.023471365, 0.20727345, -0.12833963, -0.01702859, 0.004681886, 0.029475408, -0.09220702, 0.10658454, 0.07304483, -0.105907686, 0.028076867) * conv2d_1_texOff(vec2(-1, 1)); + result += mat4(-0.019951629, 0.039863996, -0.10994326, 0.08695047, 0.12011675, 0.014324402, -0.13076435, 0.1224294, 0.038881417, -0.09101597, 0.048266523, 0.02081965, 0.054930367, 0.042563003, -0.07030875, -0.045356747) * conv2d_1_texOff(vec2(0, 1)); + result += mat4(-0.0120314285, -0.028235875, -0.081212506, -0.0030252447, -0.04822626, -0.04711799, 0.062013462, 0.043998722, 0.007708696, -0.098528996, 0.037904922, -0.029747024, 0.024580749, -0.091394715, -0.06220346, 0.036037244) * conv2d_1_texOff(vec2(1, 1)); + result += mat4(-0.013719639, 0.068786085, -0.2582946, -0.18412389, -0.16333252, 0.12252754, -0.08445838, 0.06032664, -0.11343617, 0.063644305, 0.06866097, 0.029576793, 0.04192072, 0.08560085, 0.043356523, 0.09876049) * conv2d_2_texOff(vec2(-1, -1)); + result += mat4(0.008559685, 0.21590574, 0.15706843, -0.15791821, 0.050628748, 0.024257801, 0.04210108, 0.104727186, 0.0045100497, 0.07006695, 0.034892123, -0.04694154, -0.037952803, 0.0039479756, 0.051974215, -0.02402075) * conv2d_2_texOff(vec2(0, -1)); + result += mat4(-0.16285849, -0.1351455, 0.22289366, -0.19113839, -0.020619422, -0.104307786, -0.06431112, 0.14210887, 0.0044410434, 0.08799993, 0.046918754, 0.026606759, -0.030655297, -0.23118538, 0.07378562, -0.02753961) * conv2d_2_texOff(vec2(1, -1)); + result += mat4(0.04190715, -0.07085707, -0.16785142, -0.08579393, -0.16594838, -0.21295592, -0.19651107, 0.1108744, -0.017264538, 0.01228312, 0.013902221, -0.045920342, -0.23022439, 0.089863844, 0.15524478, 0.11105493) * conv2d_2_texOff(vec2(-1, 0)); + result += mat4(-0.05898294, -0.035147365, 0.0047032023, -0.10104759, 0.05405861, 0.029577512, 0.08253608, 0.12578677, -0.09454659, -0.07002651, -0.012900482, -0.09280986, -0.16421299, -0.10147469, -0.12098356, 0.14639007) * conv2d_2_texOff(vec2(0, 0)); + result += mat4(-0.05408464, 0.116305515, -0.0030977353, -0.033564936, 0.083220914, 0.05112416, 0.065894075, -0.12722094, -0.093101144, -0.0926052, -0.068206765, -0.0033095647, 0.109661594, 0.21803294, 0.04223223, -0.04131261) * conv2d_2_texOff(vec2(1, 0)); + result += mat4(-0.06972871, -0.09167746, -0.15979786, 0.13048, 0.06253625, -0.09264288, -0.05032426, 0.15510198, -0.14806736, 0.0063203163, -0.08419503, -0.011996139, -0.17226042, -0.018295549, -0.049481925, 0.01995809) * conv2d_2_texOff(vec2(-1, 1)); + result += mat4(0.0840082, -0.037556678, -0.19460279, -0.018812792, 0.004944361, -0.049664762, -0.08419881, 0.005028327, 0.007848979, -0.042863537, 0.031951196, 0.019603448, 0.15948758, 0.1491548, -0.08453285, -0.10676616) * conv2d_2_texOff(vec2(0, 1)); + result += mat4(0.08164055, -0.027523054, -0.028529225, 0.06508434, 0.1484274, 0.0736036, 0.045612324, -0.1698624, -0.105022065, 0.018172331, -0.073550254, -0.043985896, -0.1179838, -0.0444282, 0.14739418, -0.013361285) * conv2d_2_texOff(vec2(1, 1)); + result += mat4(0.14466478, -0.1375525, -0.078926675, -0.07146436, -0.02455428, -0.03134981, -0.046245314, 0.038217396, 0.0033201047, -0.0818952, 0.0060245525, 0.1058006, 0.041843913, 0.03813736, 0.08554309, 0.063544) * conv2d_3_texOff(vec2(-1, -1)); + result += mat4(0.13304569, 0.10625694, -0.1030556, -0.053505816, 0.037258405, 0.044456914, -0.03631202, -0.06508498, -0.005214813, -0.27949867, -0.2163986, 0.15527907, 0.0057765082, -0.043244556, -0.076198526, 0.038292184) * conv2d_3_texOff(vec2(0, -1)); + result += mat4(-0.041140325, 0.15411493, 0.060217228, 0.09170098, -0.006105441, -0.045251857, -0.07079478, 0.03558165, 0.22392677, 0.4409335, 0.08216555, -0.12828667, 0.020134708, 0.04240352, 0.04178916, 0.005399634) * conv2d_3_texOff(vec2(1, -1)); + result += mat4(0.17139013, 0.24163511, 0.122895755, 0.02841926, 0.060389537, -0.017288694, 0.059575845, -0.032035768, 0.19195938, 0.092920214, -0.07348584, -0.03231902, -0.01957814, -0.07692006, 0.022113338, 0.014335964) * conv2d_3_texOff(vec2(-1, 0)); + result += mat4(-0.09234144, -0.14912902, 0.0041282643, -0.027115146, 0.12525725, 0.03379189, -0.07923043, 0.01664941, 0.11189519, -0.014339368, 0.017915903, -0.12146901, 0.04682695, -0.037487045, 0.0781563, 0.07242103) * conv2d_3_texOff(vec2(0, 0)); + result += mat4(-0.12280214, -0.07928621, -0.00084343384, 0.117775716, -0.08470734, 0.02297821, 0.055031396, -0.04422762, 0.03624792, -0.07233905, 0.1049448, -0.008404658, -0.031488854, -0.104380265, -0.039811365, 0.06190357) * conv2d_3_texOff(vec2(1, 0)); + result += mat4(-0.09426611, -0.059807744, 0.16133043, 0.037267085, -0.044063903, -0.04881754, -0.036063835, -0.0005282542, 0.3019107, -0.09280052, 0.08644239, -0.085524224, -0.06320671, 0.121795595, -0.008503126, 0.049327616) * conv2d_3_texOff(vec2(-1, 1)); + result += mat4(0.056063645, -0.027197428, -0.275161, 0.117007494, 0.009994409, -0.11506362, 0.05293116, 0.109181024, -0.20537406, -0.011914534, 0.21813466, -0.19475429, -0.03542684, -0.014357295, 0.06533645, -0.06992156) * conv2d_3_texOff(vec2(0, 1)); + result += mat4(0.11626918, 0.06787258, -0.024249015, -0.14433035, -0.10196498, 0.041349225, -0.04500458, -0.101851776, -0.13543579, -0.20013253, -0.22151956, 0.15556997, 0.009776829, -0.015146394, 0.039016746, 0.043856163) * conv2d_3_texOff(vec2(1, 1)); + result += mat4(0.09574218, 0.43134865, 0.06287345, -0.14401114, 0.07259602, -0.0763569, -0.02227203, 0.112953484, 0.09246757, 0.25071567, 0.0643707, -0.08116504, -0.08215675, -0.046698894, 0.07829749, -0.12789002) * conv2d_4_texOff(vec2(-1, -1)); + result += mat4(-0.20191924, -0.056483887, -0.035593227, 0.029989725, -0.054922167, -0.12155225, -0.01314009, 0.018419497, -0.09012032, -0.2546305, 0.11454314, 0.024380885, 0.0024255472, 0.060235217, 0.06451117, -0.09309257) * conv2d_4_texOff(vec2(0, -1)); + result += mat4(-0.073611856, -0.13808423, -0.052807756, -0.011837564, 0.12048, -0.031830203, 0.027526058, 0.088994816, 0.029460358, -0.06082022, -0.1596075, 0.052041758, -0.023746919, -0.030569702, 0.025013674, 0.026854126) * conv2d_4_texOff(vec2(1, -1)); + result += mat4(-0.086055025, -0.27568772, 0.12127773, 0.05009544, -0.054843403, 0.17005071, -0.050590053, 0.04224273, -0.17188133, 0.16836992, -0.027306903, -0.059306376, -0.06309424, -0.02755114, 0.0006239271, 0.009682775) * conv2d_4_texOff(vec2(-1, 0)); + result += mat4(-0.101595916, 0.077240214, -0.250513, 0.13649723, 0.05415376, 0.03777246, 0.034393545, -0.09718768, 0.023413684, 0.073868506, 0.10415262, 0.011855031, -0.048522275, -0.05025404, 0.07603722, -0.0133422455) * conv2d_4_texOff(vec2(0, 0)); + result += mat4(-0.005209693, -0.03132555, -0.075816676, 0.12494877, -0.0029918156, 0.12346448, 0.057733785, -0.11805883, 0.11076001, 0.15045074, 0.13931994, -0.028937897, -0.019406365, 0.09444509, -0.027938375, 0.05988758) * conv2d_4_texOff(vec2(1, 0)); + result += mat4(-0.017660402, 0.33389142, 0.3368349, -0.20588791, -0.0056653786, -0.2651566, -0.04290172, -0.012614579, -0.11986817, -0.05799836, -0.39571932, 0.11297465, -0.07600458, -0.020395143, 0.028914806, 0.099363364) * conv2d_4_texOff(vec2(-1, 1)); + result += mat4(0.15865004, -0.045258045, -0.07157293, 0.2891403, -0.08760969, 0.039345026, 0.13047671, -0.023942553, -0.0033943066, 0.14529294, 0.28212127, -0.18738058, 0.054405157, -0.07250427, -0.057954464, 0.07266344) * conv2d_4_texOff(vec2(0, 1)); + result += mat4(0.07110851, 0.2947595, 0.14452806, -0.04179915, -0.07646726, -0.35550603, -0.09038327, 0.1859547, -0.030575223, -0.23900814, 0.035673585, 0.009947154, 0.1004944, -0.05465786, 0.09433755, 0.08319697) * conv2d_4_texOff(vec2(1, 1)); + result += mat4(-0.09650646, -0.2106911, -0.14350054, 0.09678866, 0.141645, 0.12216212, -0.015125403, 0.07808061, 0.021505704, -0.060919236, 0.025231823, -0.037320167, 0.09172411, 0.0071801394, -0.08808234, -0.0036207838) * conv2d_5_texOff(vec2(-1, -1)); + result += mat4(-0.030052708, 0.033569835, 0.08926979, 0.11178668, -0.091706395, -0.12504517, -0.0070420154, 0.03058263, 0.1316749, -0.073301606, -0.039943352, 0.048992824, -0.012253534, -0.12068569, 0.059805628, 0.014095031) * conv2d_5_texOff(vec2(0, -1)); + result += mat4(0.09948852, -0.11137538, -0.096741654, 0.16914417, -0.0785128, -0.022394864, -0.048322883, -0.056172695, -0.013107698, 0.07919407, -0.13742791, -0.041318193, 0.16285864, -0.01721374, 0.043658752, -0.022331616) * conv2d_5_texOff(vec2(1, -1)); + result += mat4(-0.09335611, -0.14867131, -0.28287446, 0.17306156, 0.15854278, -0.095198154, -0.10047315, 0.0010695432, 0.18735754, -0.10223568, -0.19490556, -0.018932529, 0.007102843, 0.016200561, 0.0100492025, -0.0029140124) * conv2d_5_texOff(vec2(-1, 0)); + result += mat4(-0.01925431, 0.10660208, 0.27944034, -0.0011139654, -0.10035412, 0.09825183, 0.1448656, -0.1492353, 0.09415358, 0.12020322, 0.05821491, -0.08285908, -0.056045406, -0.009525278, 0.045026075, -0.0043133344) * conv2d_5_texOff(vec2(0, 0)); + result += mat4(0.1453938, -0.1819587, 0.0059757284, 0.051746137, -0.0110834325, -0.070206106, 0.05421846, 0.038294274, -0.014713783, -0.22189125, -0.08452043, 0.03983536, 0.07674623, 0.020582968, 0.07983692, -0.07595044) * conv2d_5_texOff(vec2(1, 0)); + result += mat4(0.05846307, -0.14692274, -0.13257322, 0.07857917, 0.081295855, -0.02054582, -0.14121507, -0.012233117, 0.20367633, 0.20878336, 0.1984374, 0.0030697384, 0.015199983, -0.03457278, -0.115692005, 0.12165493) * conv2d_5_texOff(vec2(-1, 1)); + result += mat4(0.0074242325, 0.079576045, 0.20005365, -0.05483021, -0.12659398, 0.03902692, -0.015557649, -0.064035706, -0.10649736, -0.21311344, 0.11481038, 0.09883342, -0.11245709, 0.0992991, 0.20141985, -0.123599924) * conv2d_5_texOff(vec2(0, 1)); + result += mat4(-0.023659606, 0.028784622, 0.15630634, -0.16217248, -0.020239111, -0.07716568, -0.010747737, 0.03945967, -0.010214203, 0.24981211, -0.09295191, -0.10133283, -0.08014364, -0.065089874, -0.108319044, -0.022462547) * conv2d_5_texOff(vec2(1, 1)); + result += mat4(-0.1404802, -0.07709674, 0.09681487, 0.06958544, -0.039029483, -0.005657039, -0.041457523, -0.018028699, -0.17900372, -0.2743584, -0.0020316062, 0.02434286, -0.25971797, 0.045841504, 0.06624523, 0.059360214) * conv2d_6_texOff(vec2(-1, -1)); + result += mat4(0.03962932, -0.102508165, -0.10335586, 0.02769998, -0.034909446, 0.08839743, -0.054328848, 0.05946154, -0.080311604, 0.0863828, -0.12949784, -0.023000276, -0.027209371, -0.19840518, 0.13048606, 0.033447914) * conv2d_6_texOff(vec2(0, -1)); + result += mat4(0.13438398, -0.03328395, 0.00886096, 0.062370244, -0.08165411, -0.004406249, -0.07576186, -0.04371637, 0.112132765, 0.057616953, -0.091129914, 0.074267745, 0.03333039, -0.022591632, 0.030719416, -0.0816658) * conv2d_6_texOff(vec2(1, -1)); + result += mat4(-0.16862763, -0.20332028, -0.13617799, 0.10863646, 0.08856559, 0.09361129, 0.06661578, 0.112887606, 0.21530516, 0.10044223, -0.062562965, -0.035199128, -0.09036694, -0.22348131, -0.11113321, 0.0669725) * conv2d_6_texOff(vec2(-1, 0)); + result += mat4(0.16750894, -0.08843269, -0.07074065, 0.05376084, 0.07708549, 0.015515703, 0.016807212, 0.04526428, 0.06690181, -0.1088821, 0.14146914, -0.008922299, 0.07360777, 0.047104575, 0.05380345, -0.027304618) * conv2d_6_texOff(vec2(0, 0)); + result += mat4(-0.037288673, 0.069152765, 0.085217334, -0.011905897, -0.035554044, -0.0675126, 0.029835347, -0.002959171, 0.045045763, -0.091421194, -0.106193855, 0.0143471295, 0.02488115, 0.03365488, 0.050359994, 0.1503394) * conv2d_6_texOff(vec2(1, 0)); + result += mat4(0.12319791, 0.0032950933, -0.06824863, 0.012392062, -0.118234396, 0.14496185, 0.114632, 0.076892786, 0.07817824, -0.11684472, 0.12347112, 0.06353911, -0.11729137, 0.016371759, 0.018917851, -0.09600979) * conv2d_6_texOff(vec2(-1, 1)); + result += mat4(0.13907284, 0.091185175, 0.23634766, -0.09853092, -0.04085903, -0.034933154, -0.106923856, 0.029059209, -0.00412088, 0.10090707, 0.044486817, -0.07920565, -0.12085485, 0.07436986, 0.29817295, -0.041254688) * conv2d_6_texOff(vec2(0, 1)); + result += mat4(-0.11655869, -0.0035880397, -0.06810132, 0.04146236, 0.023564009, 0.09065643, 0.12430169, -0.008510147, 0.018586572, -0.003018705, 0.019272458, 0.045007218, -0.034521285, -0.13510515, 0.1783665, -0.057660464) * conv2d_6_texOff(vec2(1, 1)); + result += mat4(0.023256643, 0.0025501647, 0.054036576, -0.09010554, -0.09981198, 0.0025569394, 0.034095336, 0.09616902, -0.018435046, 0.24729924, 0.059934802, -0.11045272, 0.101369314, -0.08758456, 0.06130956, -0.025856761) * conv2d_7_texOff(vec2(-1, -1)); + result += mat4(-0.04986097, 0.07840398, -0.030468019, -0.10168706, -0.08907567, -0.052781705, 0.009643028, -0.017915532, -0.0006377926, -0.13322766, -0.059335712, 0.030386358, -0.062960066, 0.055721477, 0.09809302, -0.13177848) * conv2d_7_texOff(vec2(0, -1)); + result += mat4(-0.0527928, -0.005294284, -0.06544233, -0.081286736, 0.103860065, 0.0007467491, 0.046420082, 0.053392958, -0.044237245, 0.012775338, 0.061520044, -0.13960223, 0.046545796, -0.07827683, 0.071598575, 0.11218506) * conv2d_7_texOff(vec2(1, -1)); + result += mat4(0.047418635, 0.02560069, -0.010231855, 0.038420632, -0.020437442, -0.062833995, -0.106617115, 0.060434762, -0.068092115, -0.19020845, 0.028286979, 0.19222891, -0.0017695813, 0.11305281, -0.04130067, 0.057593267) * conv2d_7_texOff(vec2(-1, 0)); + result += mat4(-0.066758946, 0.07490352, -0.029228708, 0.04663125, 0.15840468, -0.0046553714, -0.08245643, 0.036379512, -0.03015929, -0.089421146, -0.100079834, -0.035049494, 0.013819554, -0.25975573, -0.018371454, 0.15429766) * conv2d_7_texOff(vec2(0, 0)); + result += mat4(0.031221949, 0.052311487, -0.07574577, 0.061409235, 0.020268876, 0.05725393, 0.013888014, -0.013324502, 0.118358225, 0.20001312, -0.024774512, 0.06972467, 0.061767373, 0.06987276, 0.025338497, -0.048177954) * conv2d_7_texOff(vec2(1, 0)); + result += mat4(-0.05117255, 0.0002652026, -0.07259172, 0.008833372, 0.02545644, 0.053515352, -0.122432254, 0.09457164, -0.02191779, 0.033954985, 0.011324267, -0.021841804, 0.06336945, -0.14116831, -0.01481205, 0.045752063) * conv2d_7_texOff(vec2(-1, 1)); + result += mat4(-0.068163946, 0.088295355, 0.023176758, -0.041886695, 0.15731299, 0.10447455, -0.07877785, -0.0017151001, -0.04918913, 0.11859751, 0.053340085, -0.11550387, 0.039760426, 0.17686935, 0.14131936, -0.034438223) * conv2d_7_texOff(vec2(0, 1)); + result += mat4(0.09526958, 0.05310667, -0.021711513, 0.09264313, 0.07289789, 0.039330672, -0.010363671, 0.012968474, -0.07759688, -0.12618916, 0.037153497, -0.096806124, 0.07612327, -0.07627222, 0.039467458, 0.1416746) * conv2d_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-1-ReLU) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_1 +//!BIND conv2d_2 +//!BIND conv2d_3 +//!BIND conv2d_4 +//!BIND conv2d_5 +//!BIND conv2d_6 +//!BIND conv2d_7 +//!SAVE conv2d_1_3 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.012518986, 0.0070945756, -0.017511968, -0.011538896); + result += mat4(-0.0033189987, -0.031796757, -0.0030766327, -0.0926814, 0.05007564, -0.08319193, 0.021896787, 0.042394504, 0.059333492, 0.071108565, -0.006133896, -0.055546977, -0.012800422, -0.019034186, -0.052137543, 0.08397118) * conv2d_0_texOff(vec2(-1, -1)); + result += mat4(0.04151804, 0.00015169942, -0.04424385, -0.019633979, 0.007792724, 0.1064535, 0.019604206, 0.028914968, 0.03367432, 0.036510177, -0.03172884, 0.053186815, -0.08092355, -0.016948175, -0.030257976, 0.13167389) * conv2d_0_texOff(vec2(0, -1)); + result += mat4(0.032768372, 0.08118147, 0.019695593, 0.044301298, 0.06408394, 0.03696116, 0.04725715, 0.036921944, -0.122164376, -0.0273368, -0.09139513, -0.048480477, -0.014760667, -0.013382793, -0.08632843, 0.040539995) * conv2d_0_texOff(vec2(1, -1)); + result += mat4(0.018762996, -0.01951869, 0.014385124, -0.06788179, -0.082866736, -0.061339386, 0.018546801, -0.0589986, 0.055554125, 0.03177357, 0.038438693, -0.059902295, 0.036744174, 0.013993095, -0.104956396, 0.02324095) * conv2d_0_texOff(vec2(-1, 0)); + result += mat4(0.091185644, -0.017909246, 0.009693272, 0.084280215, 0.021513043, -0.11447645, -0.0973848, 0.03255333, 0.027737834, 0.12152628, -0.07032842, -0.087216154, 0.028611587, 0.10433965, -0.08831671, 0.061329376) * conv2d_0_texOff(vec2(0, 0)); + result += mat4(-0.048295487, 0.051766906, 0.0032284127, 0.096738674, 0.06556372, 0.058431383, 0.024475524, -0.012327159, 0.084385686, -0.05426389, -0.095153116, 0.036337677, 0.025465416, 0.00079764595, 0.003768222, 0.1922321) * conv2d_0_texOff(vec2(1, 0)); + result += mat4(0.04550392, -0.01742628, -0.022397673, -0.081209674, 0.059117768, 0.08539677, 0.044724893, -0.07230344, 0.07101733, 0.04267182, -0.10297767, 0.10966792, -0.028898953, -0.09682309, 0.12835433, -0.063649416) * conv2d_0_texOff(vec2(-1, 1)); + result += mat4(0.0868637, -0.090506434, 0.015264549, 0.0048999507, 0.0051321923, -0.02700547, 0.10830839, -0.033225227, 0.062388703, -0.012921367, -0.1241208, -0.120850645, 0.0011642652, -0.057013053, 0.026096784, 0.12770547) * conv2d_0_texOff(vec2(0, 1)); + result += mat4(0.057904053, 0.07126332, 0.065179005, 0.0072393892, 0.026289284, -0.015522321, 0.07844126, 0.032296654, -0.030876618, -0.07873953, -0.07705523, 0.094147995, 0.033468008, -0.08345182, -0.047274567, 0.034313187) * conv2d_0_texOff(vec2(1, 1)); + result += mat4(0.021974018, -0.051888954, 0.105214044, 0.084303275, 0.04999884, 0.17472866, -0.11108904, 0.058541253, 0.0538708, 0.064646415, 0.058524862, -0.043715067, 0.055651437, -0.047220215, 0.009773646, -0.02485704) * conv2d_1_texOff(vec2(-1, -1)); + result += mat4(0.025558477, -0.01251669, -0.0037142544, 0.043163832, 0.065668955, 0.10107531, -0.09262398, -0.17516854, 0.014086335, 0.003614558, 0.052761476, 0.01935481, -0.06523785, -0.0007596225, 0.08677427, 0.051786784) * conv2d_1_texOff(vec2(0, -1)); + result += mat4(-0.010353633, -0.011511458, 0.124540664, 0.015506225, -0.013702326, -0.22546078, -0.009125284, 0.14047997, -0.086276114, 0.05632797, 0.045119684, -0.020841895, -0.054863915, 0.10877265, 0.009997848, 0.075950526) * conv2d_1_texOff(vec2(1, -1)); + result += mat4(-0.05302458, 0.041873578, 0.00273112, 0.052187666, -0.17102851, 0.10754417, 0.06025484, -0.13963804, -0.04224225, 0.07015497, -0.060627867, 0.09545506, -0.020657288, -0.003703757, -0.03025258, 0.029137025) * conv2d_1_texOff(vec2(-1, 0)); + result += mat4(0.0065668435, -0.027646733, 0.008731909, -0.06519734, 0.017368566, -0.08487297, 0.0398607, 0.16249032, -0.091075644, -0.0072050923, 0.012804633, -0.009777676, 0.051832534, 0.06296942, 0.017187657, -0.045606267) * conv2d_1_texOff(vec2(0, 0)); + result += mat4(-0.05286811, -0.031980447, -0.109653525, 0.107621334, 0.10310813, 0.094651565, -0.17985307, -0.0709109, -0.04163984, -0.07897926, -0.037096098, -0.085069895, 0.10909844, 0.05413038, -0.09471971, 0.104520105) * conv2d_1_texOff(vec2(1, 0)); + result += mat4(-0.024281105, 0.024670474, -0.041669488, -0.13778168, -0.04807533, 0.057321854, -0.3055263, -0.17789663, 0.053347982, 0.09278458, 0.017643485, -0.020183902, 0.015703797, -0.024234815, -0.02279699, 0.08634246) * conv2d_1_texOff(vec2(-1, 1)); + result += mat4(0.0322598, 0.12928702, -0.018312672, 0.033272922, -0.081245765, 0.002731988, 0.10783381, -0.01819588, -0.072988875, -0.119637206, -0.0017404997, 0.053428713, -0.037571784, 0.035086032, -0.070783064, 0.11154226) * conv2d_1_texOff(vec2(0, 1)); + result += mat4(0.017401507, 0.0716273, -0.0047323806, -0.039071944, 0.08658567, -0.25666538, 0.18513608, 0.058399133, 0.05631411, 0.021030791, 0.028186567, -0.025449097, 0.013340149, -0.07296003, -0.06381846, -0.078611866) * conv2d_1_texOff(vec2(1, 1)); + result += mat4(-0.011221426, 0.08857708, -0.08577031, 0.010345953, 0.0673383, -0.0445656, 0.012178515, 0.081286035, -0.033502717, -0.00540955, 0.07992292, 0.056445684, 0.1542914, 0.09162749, -0.0077017574, -0.014916754) * conv2d_2_texOff(vec2(-1, -1)); + result += mat4(-0.13194574, 0.026240204, 0.014445435, 0.027149092, -0.11852262, 0.065161884, -0.12150717, -0.0350862, 0.027981466, 0.030369619, 0.07647812, -0.08312393, 0.03061999, -0.06818669, 0.07923772, -0.13542707) * conv2d_2_texOff(vec2(0, -1)); + result += mat4(-0.031187573, -0.1144571, 0.25582755, 0.13512984, -0.011426639, 0.0002195666, 0.1890554, 0.12920667, -0.00070874277, -0.08356669, 0.127737, -0.064896345, 0.11981627, 0.052162938, -0.01778623, 0.03409122) * conv2d_2_texOff(vec2(1, -1)); + result += mat4(-0.0906666, -0.14043517, 0.05000323, 0.03911633, 0.0010870898, 0.037956953, 0.004988063, 0.07945947, -0.093095325, 0.032581642, 0.06880558, 0.017078595, -0.049920302, -0.14744014, 0.06983257, -0.2219827) * conv2d_2_texOff(vec2(-1, 0)); + result += mat4(0.0781317, -0.1880285, 0.018607302, 0.09578213, 0.06964125, 0.057154838, -0.046211112, 0.12189891, -0.069240056, 0.0025894253, -0.00073457503, 0.04199582, 0.025048101, -0.034043204, 0.10146976, 0.118151434) * conv2d_2_texOff(vec2(0, 0)); + result += mat4(-0.010345736, -0.07171317, -0.09768584, 0.14352156, -0.055494152, -0.005513953, -0.06853412, 0.09995613, -0.052851375, 0.01893506, 0.047571268, -0.04101016, 0.11214197, 0.19076993, -0.11133744, -0.099796236) * conv2d_2_texOff(vec2(1, 0)); + result += mat4(-0.019642381, 0.15385611, -0.16100065, -0.05033071, -0.07097628, 0.009658509, 0.08903772, -0.07229059, -0.075223394, 0.08733085, 0.06899845, -0.06016796, 0.0051204916, -0.043387733, 0.07764605, 0.036038157) * conv2d_2_texOff(vec2(-1, 1)); + result += mat4(-0.17266122, -0.010641261, 0.1582168, -0.18112601, 0.070201986, 0.01324204, 0.067627385, 0.059807725, -0.010387782, 0.09056353, 0.07382892, -0.097843505, -0.004956607, 0.1073234, -0.09324925, -0.014120173) * conv2d_2_texOff(vec2(0, 1)); + result += mat4(-0.04028673, -0.16908011, -0.06618007, 0.030393122, 0.06455691, -0.07580985, -0.14101352, 0.15954699, 0.08678407, -0.053937983, -0.041481435, -0.07600984, -0.0991647, -0.119672835, 0.15467931, 0.020880038) * conv2d_2_texOff(vec2(1, 1)); + result += mat4(-0.081293546, 0.053699862, 0.14566663, 0.013796403, -0.06066052, 0.043988783, -0.10105489, -0.06898023, -0.032039654, -0.11546325, 0.21414636, -0.25241634, 0.06102923, -0.00593279, -0.018899463, -0.0067900214) * conv2d_3_texOff(vec2(-1, -1)); + result += mat4(0.10864861, -0.05397389, 0.008364067, 0.03765568, -0.04103933, -0.07005402, -0.08266339, 0.07166335, 0.058689557, -0.0861921, 0.044305477, 0.20912674, 0.026193125, -0.033231795, 0.029178977, 0.040098224) * conv2d_3_texOff(vec2(0, -1)); + result += mat4(0.061218586, 0.082248196, -0.23817077, -0.039828382, -0.08834102, 0.029025316, -0.043707553, 0.028199632, -0.026544318, 0.09860735, -0.44910544, 0.0044959346, -0.024065895, -0.029217964, -0.093128726, 0.068041176) * conv2d_3_texOff(vec2(1, -1)); + result += mat4(-0.032779202, 0.24977143, -0.11003235, -0.2144612, 0.08295377, 0.037470598, 0.06372874, -0.09732213, -0.03706732, 0.1352681, -0.24067616, 0.024204416, -0.016781984, 0.041783802, 0.0477157, -0.018714981) * conv2d_3_texOff(vec2(-1, 0)); + result += mat4(0.008999692, -0.043068297, 0.18586408, -0.20028335, -0.06752217, -0.07442845, -0.023827419, -0.04832255, -0.07989864, 0.42066112, 0.19692871, 0.033019282, -0.06465765, 0.011740137, -0.08295818, -0.06473271) * conv2d_3_texOff(vec2(0, 0)); + result += mat4(0.087912485, -0.08375099, 0.03187817, -0.081059806, 0.078459404, -0.10819257, 0.0032759625, 0.008452853, 0.081715435, -0.33896744, 0.29382282, 0.036052786, 0.05491081, 0.009191513, -0.098438226, -0.037519783) * conv2d_3_texOff(vec2(1, 0)); + result += mat4(-0.017103858, -0.114877224, -0.07347175, -0.03093364, 0.008613353, -0.011185535, 0.09340415, -0.01709707, 0.03769859, -0.117369644, 0.08248022, 0.29412773, 0.035937488, 0.08534834, -0.043632608, -0.1040913) * conv2d_3_texOff(vec2(-1, 1)); + result += mat4(0.09821377, -0.019997912, -0.103378855, 0.13884595, 0.061904706, -0.058991164, -0.0006783847, 0.089894764, 0.10261887, -0.19231838, -0.24745579, -0.14215156, -0.075559914, 0.065083064, 0.066898234, -0.10658473) * conv2d_3_texOff(vec2(0, 1)); + result += mat4(0.030993572, 0.17065513, -0.054179028, 0.076734655, -0.037471965, 0.109911226, -0.09103931, 0.027973885, 0.030605793, 0.2812993, 0.06654922, -0.21080564, 0.08313831, 0.11429299, 0.052559037, -0.10178759) * conv2d_3_texOff(vec2(1, 1)); + result += mat4(0.055546902, 0.23473305, -0.032706447, 0.040358905, -0.05507196, -0.16279553, -0.062475704, -0.06196063, -0.12137719, 0.0628512, -0.10730041, 0.02362356, 0.017290175, 0.10258329, 0.07114065, 0.086324625) * conv2d_4_texOff(vec2(-1, -1)); + result += mat4(-0.056055643, -0.10129195, 0.08074658, -0.27998975, -0.070233144, -0.050883558, -0.06140847, 0.19997111, -0.0929587, 0.05503528, 0.19992894, 0.010727875, 0.04187714, 0.043866176, -0.054347392, -0.045991357) * conv2d_4_texOff(vec2(0, -1)); + result += mat4(-0.043120414, 0.008932252, 0.03794669, -0.038929574, -0.09469499, 0.049454827, -0.0620481, -0.08027811, 0.059158288, 0.05771179, -0.04809073, -0.10111638, -0.057779193, 0.034075275, -0.08250269, 0.060179956) * conv2d_4_texOff(vec2(1, -1)); + result += mat4(0.008353357, -0.12457073, 0.012224879, -0.01111286, 0.07604441, 0.06729123, -0.06326354, 0.07077102, 0.030457448, -0.10277716, -0.13277951, 0.19069631, 0.08174628, -0.020162959, -0.088179484, -0.059240878) * conv2d_4_texOff(vec2(-1, 0)); + result += mat4(0.051828988, -0.12397702, -0.073869735, -0.31402183, -0.023100207, 0.042972405, -0.12108119, 0.13764128, 0.05773046, 0.075143486, -0.082998134, 0.14037855, 0.058919247, -0.10234473, 0.0962092, -0.058279492) * conv2d_4_texOff(vec2(0, 0)); + result += mat4(-0.061602686, 0.018831931, -0.018526068, -0.06753372, 0.076515175, 0.09013678, 0.0650367, 0.015100234, 0.09338403, 0.042433888, 0.118137844, -0.09007471, -0.049626224, 0.03340139, -0.0123476675, -0.00034085874) * conv2d_4_texOff(vec2(1, 0)); + result += mat4(-0.018961582, 0.3967363, -0.31594083, -0.35462314, -0.052969597, -0.17571561, 0.11196098, 0.20526563, 0.058153138, -0.042746466, 0.16982311, 0.08606994, 0.033260424, -0.08833448, 0.024254246, 0.0042823893) * conv2d_4_texOff(vec2(-1, 1)); + result += mat4(-0.0133263115, -0.028293245, 0.2721697, 0.18898858, -0.14849076, -0.117591724, -0.12813184, -0.02793723, -0.02359971, -0.22682042, -0.080521025, -0.094790734, -0.05922585, 0.028207934, -0.0017661817, 0.006202953) * conv2d_4_texOff(vec2(0, 1)); + result += mat4(0.22524153, 0.17023394, -0.0963173, 0.053282466, -0.011862443, -0.14291856, 0.19688088, -0.14245985, -0.0048251944, -0.27915266, 0.011816415, 0.008326922, -0.10318171, -0.040821753, 0.086039625, 0.088790774) * conv2d_4_texOff(vec2(1, 1)); + result += mat4(0.06792482, -0.20209098, 0.2719679, 0.14842628, 0.07325956, 0.00355278, -0.08418818, 0.010095955, 0.05507352, -0.07232141, 0.24224822, 0.09347204, -0.13863057, 0.017190974, -0.059830546, -0.061914764) * conv2d_5_texOff(vec2(-1, -1)); + result += mat4(0.05859695, 0.11469206, -0.040357865, -0.075446375, -0.0027944802, 0.05874611, 0.14319946, 0.10879777, 0.10623748, 0.0023573602, -0.042572387, -0.11647939, -0.08565273, -0.05575276, 0.20734814, -0.039831895) * conv2d_5_texOff(vec2(0, -1)); + result += mat4(-0.0988295, 0.025366988, 0.044457443, 0.000415382, 0.017351544, -0.076726496, 0.18975927, -0.053370487, -0.068056345, 0.035373554, -0.1079101, 0.06736961, 0.12972794, -0.07613468, -0.061491176, -0.028829588) * conv2d_5_texOff(vec2(1, -1)); + result += mat4(0.10419876, 0.16370384, 0.05213879, 0.076686755, 0.03000197, -0.08340143, 0.10903286, 0.18682446, 0.061049215, 0.2153403, 0.008591312, 0.00097234047, -0.09942478, -0.14483237, -0.12278689, 0.11877181) * conv2d_5_texOff(vec2(-1, 0)); + result += mat4(-0.09284779, 0.023179924, -0.14336403, 0.054617073, 0.08931739, 0.008755494, -0.09233432, 0.1318745, -0.0106256455, 0.029484555, -0.070480555, -0.078460686, 0.016648866, 0.08025689, -0.10368326, 0.07154847) * conv2d_5_texOff(vec2(0, 0)); + result += mat4(-0.11207711, -0.05404491, 0.026518183, 0.14643024, 0.027290542, 0.17891558, -0.03201469, 0.049092837, 0.06641549, -0.015455411, 0.0006642197, -0.027090365, -0.037820242, -0.030721243, 0.0885668, 0.01403756) * conv2d_5_texOff(vec2(1, 0)); + result += mat4(0.1593183, 0.04163153, 0.027754696, 0.23408459, -0.081305884, 0.07192084, 0.028704971, -0.1673062, -0.0131462, 0.1831182, 0.04591727, -0.062007397, -0.06898538, -0.034902614, 0.0244412, 0.1737308) * conv2d_5_texOff(vec2(-1, 1)); + result += mat4(0.13590239, -0.018635431, 0.008354303, 0.030199578, 0.007843736, -0.21279456, 0.12636064, -0.122310884, 0.0836748, -0.01508202, 0.2823602, 0.22335844, 0.063699886, -0.015213885, -0.18021664, 0.016720569) * conv2d_5_texOff(vec2(0, 1)); + result += mat4(-0.093401976, 0.12994859, 0.004596148, -0.0025210932, -0.07524645, -0.09145301, -0.12855847, -0.046675723, 0.06828675, 0.15758525, -0.13011307, 0.011466958, 0.08928475, -0.12561987, 0.02587927, -0.060053047) * conv2d_5_texOff(vec2(1, 1)); + result += mat4(0.026849022, -0.08344982, 0.027339526, -0.10797092, -0.042989243, 0.09463806, -0.023465551, 0.057911985, 0.045670893, -0.12640919, 0.21453263, -0.058938336, -0.0019534708, -0.11602531, -0.111686885, 0.034049165) * conv2d_6_texOff(vec2(-1, -1)); + result += mat4(0.13259117, 0.007287392, -0.13264011, 0.102430485, 0.067014776, -0.040232033, -0.12802108, 0.03399695, 0.08426492, -0.009571089, -0.09980492, 0.09706471, 0.07698754, 0.18946758, 0.048677966, -0.018176554) * conv2d_6_texOff(vec2(0, -1)); + result += mat4(-0.0026777305, 0.07559322, -0.043378428, 0.0006132307, -0.011789629, -0.06270641, -0.20602962, -0.02229917, -0.07189674, -0.02774425, -0.24331799, -0.005238476, -0.060146578, -0.08298993, 0.2780255, -0.1221403) * conv2d_6_texOff(vec2(1, -1)); + result += mat4(-0.048961475, -0.008537959, 0.020299785, -0.04674011, 0.05801819, -0.0050382307, 0.06383046, -0.09235001, 0.030783033, 0.13839787, -0.12695888, -0.11915143, -0.023063133, -0.21119176, 0.14511593, 0.056838203) * conv2d_6_texOff(vec2(-1, 0)); + result += mat4(-0.07378068, 0.1378775, 0.08751815, 0.11141921, -0.019916391, -0.090647206, 0.13377483, 0.005675396, -0.13311717, 0.04137002, 0.15869711, 0.046977434, -0.05859421, 0.13273284, -0.09698427, -0.019570885) * conv2d_6_texOff(vec2(0, 0)); + result += mat4(-0.08665149, -0.10476117, 0.095954455, 0.09325756, -0.073159605, 0.026447566, -0.005702611, 0.013930532, 0.0056692413, -0.08785445, 0.17831667, -0.06505376, -0.08869095, -0.09389505, 0.012569796, -0.18258388) * conv2d_6_texOff(vec2(1, 0)); + result += mat4(0.17376915, 0.23689021, -0.07616001, 0.166539, 0.031684257, 0.06483957, 0.04357372, -0.08224827, 0.024566712, -0.21435706, 0.14373408, 0.11941946, 0.08952546, 0.18489012, -0.06908224, 0.1436825) * conv2d_6_texOff(vec2(-1, 1)); + result += mat4(0.12569818, 0.025636923, -0.0023101897, -0.01451862, 0.009871901, 0.0704823, 0.13068587, -0.024988944, 0.106237575, 0.1495855, -0.06400552, -0.0060628895, -0.0340343, -0.10139416, -0.0483312, -0.030328147) * conv2d_6_texOff(vec2(0, 1)); + result += mat4(0.05760114, -0.030080087, -0.023362376, 0.07358987, -0.03770872, 0.10508679, -0.05084864, -0.09883935, -0.053945195, 0.07558925, 0.15257448, -0.16067523, 0.018835824, -0.017086739, -0.0049569677, 0.00052892556) * conv2d_6_texOff(vec2(1, 1)); + result += mat4(0.03580358, 0.041618627, -0.029684678, -0.05997835, 0.06627627, -0.04320545, -0.065716684, -0.05160917, 0.02882716, 0.13442057, -0.19936845, -0.07544488, -0.044389877, 0.06922347, -0.055597793, 0.10591793) * conv2d_7_texOff(vec2(-1, -1)); + result += mat4(0.066855475, -0.008913665, -0.011440354, 0.053137377, 0.100191265, -0.0039034565, 0.01809614, 0.08138383, 0.11774637, -0.026204426, 0.04862349, 0.10443436, 0.09947928, 0.1155981, -0.14135462, -0.031974357) * conv2d_7_texOff(vec2(0, -1)); + result += mat4(-0.07720407, -0.07326839, -0.030723352, 0.08946443, 0.017669173, 0.08433194, -0.087835275, 0.0068506273, 0.058695525, -0.004545919, -0.079558685, 0.09358488, -0.11137907, 0.031959847, -0.004352902, -0.07820139) * conv2d_7_texOff(vec2(1, -1)); + result += mat4(0.062447827, 0.06354601, 0.12064299, 0.10357937, 0.03633872, -0.0087055, 0.03910267, -0.042532217, -0.11951508, -0.12654538, 0.11553444, -0.18648426, -0.14168927, -0.089021765, 0.031963695, -0.05277296) * conv2d_7_texOff(vec2(-1, 0)); + result += mat4(-0.018299429, 0.06490567, 0.04453839, -0.07599991, -0.044118144, 0.056176044, 0.07112692, 0.055740055, -0.027183728, 0.04875211, 0.07265558, 0.099663004, -0.10826245, 0.021758752, 0.032656122, -0.035560343) * conv2d_7_texOff(vec2(0, 0)); + result += mat4(0.05047425, -0.00048453535, 0.03448634, 0.015250464, -0.019913772, -0.11299326, 0.044895217, 0.16725911, -0.04834221, -0.06470435, 0.02869884, 0.0015011507, 0.020315113, 0.009936202, 0.06617021, 0.050816577) * conv2d_7_texOff(vec2(1, 0)); + result += mat4(-0.09485105, -0.10343747, 0.051820677, 0.076749474, 0.12610984, -0.096889585, 0.112727374, 0.08339473, 0.11839153, 0.10069566, -0.1252954, -0.029617446, 0.054540392, 0.07360402, 0.06576374, 0.037865337) * conv2d_7_texOff(vec2(-1, 1)); + result += mat4(0.026366921, -0.0710845, -0.009771795, -0.08159256, -0.029146278, 0.17357002, -0.028913356, -0.022613551, 0.00562325, -0.039720505, 0.04224189, -0.21584687, 0.1338681, 0.085350074, 0.011183579, 0.08088101) * conv2d_7_texOff(vec2(0, 1)); + result += mat4(0.038068265, -0.09367862, -0.064264, 0.09790984, -0.018264253, -0.023783265, 0.08623268, -0.058141768, -0.06183709, -0.0179468, 0.06922853, 0.07352424, -0.07878659, -0.026078839, 0.16651386, -0.00702365) * conv2d_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-1-ReLU) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_1 +//!BIND conv2d_2 +//!BIND conv2d_3 +//!BIND conv2d_4 +//!BIND conv2d_5 +//!BIND conv2d_6 +//!BIND conv2d_7 +//!SAVE conv2d_1_4 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.03394019, 0.0063071293, -0.004553025, 0.0022147307); + result += mat4(-0.09437763, 0.025333982, -0.062552236, -0.11040296, -0.035997435, 0.105522975, -0.04753781, 0.10900919, -0.10352017, 0.026009884, 0.09224299, 0.060414173, 0.09760993, -0.12260322, -0.07643996, -0.027872674) * conv2d_0_texOff(vec2(-1, -1)); + result += mat4(0.00093713513, 0.04205644, 0.026839055, 0.079139255, 0.048524708, -0.012118945, -0.016735239, -0.10736535, -0.032618236, 0.0235557, -0.057678573, 0.111510605, -0.08039416, 0.09757609, -0.13083325, 0.07144637) * conv2d_0_texOff(vec2(0, -1)); + result += mat4(0.034322124, -0.086195655, 0.018661585, -0.07604054, 0.06121045, 0.0449508, -0.02640634, -0.027428767, -0.028541444, -0.16129419, 0.063549526, 0.03443972, 0.032553032, -0.14239065, -0.28684318, -0.09040096) * conv2d_0_texOff(vec2(1, -1)); + result += mat4(0.034213763, -0.044421032, 0.0062948987, 0.071225666, 0.08121343, 0.027456205, -0.10675497, 0.038162798, -0.008328705, -0.005796417, -0.06319454, -0.0360602, -0.10682284, 0.049447723, -0.13839251, -0.013379942) * conv2d_0_texOff(vec2(-1, 0)); + result += mat4(0.04175881, 0.035257004, 0.0433806, 0.05573847, -0.11505523, 0.082857795, 0.099840775, 0.16590463, 0.0074201394, 0.0015407244, -0.04565351, -0.09311857, 0.01534157, -0.019662822, -0.001221302, 0.001330326) * conv2d_0_texOff(vec2(0, 0)); + result += mat4(0.08620673, 0.06327106, -0.002852416, -0.0987737, 0.07900914, -0.08198202, -0.029014885, -0.012796967, -0.029162072, -0.12328019, 0.022484984, -0.09272236, 0.041170888, -0.08515775, -0.020671245, 0.09171878) * conv2d_0_texOff(vec2(1, 0)); + result += mat4(-0.0030836589, 0.06904002, -0.10530766, 0.12453553, 0.026617557, -0.04080634, 0.041614223, 0.09192066, -0.021149194, 0.020043759, 0.11552467, 0.078194946, -0.035195723, 0.07571378, -0.10569726, 0.15035814) * conv2d_0_texOff(vec2(-1, 1)); + result += mat4(-0.06328905, -0.06432256, 0.057530504, -0.08029342, 0.089735836, -0.052603565, -0.037380233, 0.10064235, -0.05943334, 0.074459426, -0.020967271, 0.009380174, -0.0058354214, -0.041380208, -0.10332938, 0.11091954) * conv2d_0_texOff(vec2(0, 1)); + result += mat4(0.09760047, -0.0696524, 0.03252792, -0.077999994, -0.0682742, 0.1171209, 0.06813058, -0.017899346, -0.034085665, -0.009196537, 0.042982448, 0.0068317475, 0.06884779, -0.08132331, 0.0062076035, 0.10353194) * conv2d_0_texOff(vec2(1, 1)); + result += mat4(-0.08392445, -0.085824475, -0.006372055, 0.011465822, 0.035508245, -0.036508195, 0.0830142, -0.049925458, -0.07195438, -0.06331219, 0.026815966, 0.088416405, -0.04507615, 0.014155013, -0.03227812, 0.07446025) * conv2d_1_texOff(vec2(-1, -1)); + result += mat4(0.051397275, 0.021637455, -0.057635587, 0.060157485, 0.07145887, -0.0070617655, -0.01068081, -0.17041488, 0.064338334, -0.029150758, -0.043861624, -0.028088756, 0.02513069, -0.015773907, -0.08477395, -0.08155918) * conv2d_1_texOff(vec2(0, -1)); + result += mat4(0.031871706, -0.05373803, 0.02596584, -0.00802297, 0.056114983, 0.11148172, 0.09315036, 0.18542424, -0.089957625, 0.00693296, -0.06990303, 0.034442645, 0.021289283, 0.059214205, -0.08314528, 0.015713321) * conv2d_1_texOff(vec2(1, -1)); + result += mat4(0.060116228, 0.009356164, -0.058515508, -0.063108444, 0.080449015, -0.0186705, -0.05405133, -0.084320776, -0.046189383, 0.0563503, -0.06621707, -0.032458276, -0.089028776, 0.06843305, -0.108973704, -0.01828762) * conv2d_1_texOff(vec2(-1, 0)); + result += mat4(0.02353574, 0.12925528, -0.103289835, -0.04508289, -0.008032645, -0.0032984929, 0.031241048, 0.10855681, -0.014146661, -0.06415369, 0.08038387, 0.019622287, 0.10292075, -0.010572693, -0.023009026, -0.090629905) * conv2d_1_texOff(vec2(0, 0)); + result += mat4(-0.088386945, -0.031532843, -0.0478147, -0.037775718, 0.084623784, -0.017881174, -0.119551584, -0.05066966, -0.08675798, -0.04589876, -0.006283722, -0.09277274, 0.0018372581, 0.019095, 0.018991433, 0.08162115) * conv2d_1_texOff(vec2(1, 0)); + result += mat4(-0.061558936, -0.023329174, -0.05173367, -0.061170585, -0.12988907, 0.02560699, 0.10465059, -0.03246207, -0.046974763, -0.0031397166, -0.07150699, 0.024136085, -0.022393592, -0.06476617, 0.025518684, -0.016449701) * conv2d_1_texOff(vec2(-1, 1)); + result += mat4(0.0003105685, 0.112822324, -0.17245114, -0.09100159, 0.090701215, -0.041928522, 0.036354367, -0.091436096, -0.03054911, 0.021809053, -0.08357215, 0.043661933, -0.036309015, -0.05929171, 0.034266543, 0.041488912) * conv2d_1_texOff(vec2(0, 1)); + result += mat4(0.0699, -0.06802696, -0.118003815, 0.024763422, -0.113789804, 0.00820018, 0.05899957, -0.006858595, -0.095512226, -0.048163045, 0.06947071, -0.0065126503, -0.03278608, -0.063707635, 0.0087253, -0.060966253) * conv2d_1_texOff(vec2(1, 1)); + result += mat4(0.018512981, 0.20938855, -0.07381695, -0.0021696284, -0.086967856, 0.026584681, -0.09155546, -0.037897456, 0.12546395, -0.05799967, -0.028232217, -0.033903923, -0.0014904769, 0.00871965, -0.038308755, 0.016197735) * conv2d_2_texOff(vec2(-1, -1)); + result += mat4(0.037008595, -0.03334967, 0.15311697, -0.058099456, -0.05943241, 0.0458402, 0.083439626, -0.0642011, -0.033287715, 0.054966167, 0.10094721, -0.08225503, 0.12543209, 0.12739961, 0.13884738, -0.1510141) * conv2d_2_texOff(vec2(0, -1)); + result += mat4(0.1395355, 0.18413527, 0.09929639, 0.054510936, -0.022072144, 3.653761e-05, -0.11479926, 0.17919476, 0.03598976, 0.07895406, -0.02092442, 0.05051627, -0.046784833, 0.007935168, -0.08252544, 0.0061053634) * conv2d_2_texOff(vec2(1, -1)); + result += mat4(0.03779649, -0.07891349, -0.0506571, 0.07443722, 0.055762496, 0.09940456, -0.09844577, 0.041726314, -0.06474542, -0.04639385, 0.069236234, 0.12090632, -0.07219978, 0.07749022, -0.012450074, 0.044993624) * conv2d_2_texOff(vec2(-1, 0)); + result += mat4(-0.0015142753, -0.10278332, -0.02112002, 0.02163204, -0.061768975, -0.019094309, 0.024217434, 0.05342125, 0.017420538, 0.04369068, 0.10574606, 0.06550595, -0.038671058, 0.17878352, 0.03632205, 0.08429799) * conv2d_2_texOff(vec2(0, 0)); + result += mat4(-0.014222577, 0.028750641, -0.025364336, -0.03799132, 0.12191485, -0.044757847, 0.03638611, 0.035173897, -0.055415876, -0.019270666, -0.029587531, 0.021871107, -0.0046337927, -0.09135549, -0.08602843, 0.0842959) * conv2d_2_texOff(vec2(1, 0)); + result += mat4(0.07012096, 0.03267791, -0.087364465, -0.049299654, -0.045256704, 0.06476236, -0.31475484, 0.09743393, 0.07930344, -0.07983675, -0.011515391, 0.019979138, -0.07530401, 0.023368148, -0.11723518, 0.13526474) * conv2d_2_texOff(vec2(-1, 1)); + result += mat4(-0.05964749, 0.014155246, -0.07484547, 0.0041015265, -0.029510796, -0.080988586, 0.034463838, 0.14565398, -0.065564595, -0.06926234, -0.072689116, 0.08444465, -0.0008344084, -0.06848954, -0.042353578, -0.07155271) * conv2d_2_texOff(vec2(0, 1)); + result += mat4(-0.11916696, -0.049838364, -0.12433276, 0.054805893, -0.017697748, -0.0902201, 0.06584496, 0.055197906, -0.0608965, 0.03169635, 0.0042745904, 0.018417515, 0.16708447, 0.060755398, -0.02655057, 0.01629553) * conv2d_2_texOff(vec2(1, 1)); + result += mat4(-0.041598845, -0.016187962, -0.049939677, -0.0075789373, -0.11890842, 0.055042516, -0.06297794, -0.0332452, -0.095378645, -0.033444982, 0.07623157, 0.025656275, 0.004933435, 0.0049235495, 0.07874337, 0.015478843) * conv2d_3_texOff(vec2(-1, -1)); + result += mat4(0.04222491, 0.049260814, -0.033473067, -0.07313565, -0.08927281, -0.06826574, 0.05652189, -0.0148047265, -0.08067069, 0.05568892, -0.27869964, 0.2242681, 0.06042978, 0.08624994, 0.024782425, 0.028057119) * conv2d_3_texOff(vec2(0, -1)); + result += mat4(-0.13835308, -0.041646432, 0.061237346, -0.41368553, 0.015568001, 0.088887565, 0.047259834, 0.078841425, 0.038902678, -0.029252844, 0.09067905, -0.08149438, -0.096127175, 0.023137618, 0.009827007, 0.11092158) * conv2d_3_texOff(vec2(1, -1)); + result += mat4(-0.20671457, -0.21583454, 0.05080811, -0.03985139, -0.09278551, 0.022611052, -0.049891908, -0.030083625, 0.041489568, -0.03859803, -0.18836792, 0.10645976, -0.09473744, -0.08206966, -0.01977349, 0.108454235) * conv2d_3_texOff(vec2(-1, 0)); + result += mat4(0.08438201, 0.10109855, 0.04835497, -0.097279996, 0.10464185, -0.081028424, 0.023336766, -0.05551088, 0.117488235, 0.07336154, -0.066660866, -0.12331002, -0.017617287, -0.075394906, 0.032989293, 0.0639043) * conv2d_3_texOff(vec2(0, 0)); + result += mat4(-0.05415811, 0.053215038, -0.15804274, 0.012755712, 0.016137525, -0.113652594, 0.06555802, 0.049256444, -0.09367918, 0.049105804, 0.024765981, 0.07863174, -0.01356092, 0.02009712, -0.047503468, -0.09203007) * conv2d_3_texOff(vec2(1, 0)); + result += mat4(-0.16348255, 0.06164869, 0.10698088, 0.1697916, 0.05157265, 0.07173701, 0.0789601, 0.10337374, -0.098802365, 0.025100932, 0.08630953, -0.088553116, 0.029131643, 0.07562116, 0.035270106, 0.013072624) * conv2d_3_texOff(vec2(-1, 1)); + result += mat4(-0.03718207, 0.06955725, -0.06201116, 0.095698476, 0.06967885, 0.022552341, 0.0828904, 0.0844106, -0.077113956, -0.09510503, 0.20583567, -0.120412394, 0.044752944, 0.029797595, 0.007872696, 0.041015033) * conv2d_3_texOff(vec2(0, 1)); + result += mat4(-0.18671519, -0.11241185, -0.14541543, 0.02497096, -0.004093575, -0.11851908, 0.05697698, 0.0036773365, -0.009395175, 0.17734392, 0.084612414, 0.10919383, -0.07812235, -0.027470892, 0.015064795, -0.07023634) * conv2d_3_texOff(vec2(1, 1)); + result += mat4(-0.023248414, -0.17918935, 0.3039317, -0.20914415, 0.040558305, 0.11658683, -0.07976297, 0.17796718, -0.02785066, 0.06334601, 0.08237335, -0.044847053, -0.027200663, -0.031045765, 0.0133346515, 0.042113364) * conv2d_4_texOff(vec2(-1, -1)); + result += mat4(0.12313874, -0.022201233, 0.13676512, -0.20417577, 0.09579883, -0.041295234, -0.07993363, 0.08701582, 0.06340395, -0.052874677, 0.16660255, 0.069349155, 0.016829384, 0.08329944, 0.029438246, 0.03877884) * conv2d_4_texOff(vec2(0, -1)); + result += mat4(-0.005183316, -0.15270017, 0.15665948, 0.08135187, -0.060290392, 0.1254701, 0.005225119, 0.18915918, 0.09127011, -0.017276337, -0.0995399, 0.066343114, 0.076982565, -0.100880854, -0.008821775, 0.061642777) * conv2d_4_texOff(vec2(1, -1)); + result += mat4(-0.23649675, 0.113303155, 0.11089937, 0.22017753, 0.17644916, -0.040031992, -0.06622252, -0.08742151, 0.13297348, -0.08437998, 0.05657392, 0.05205783, -0.036187243, 0.0625019, 0.07930819, 0.079385564) * conv2d_4_texOff(vec2(-1, 0)); + result += mat4(-0.03955119, 0.121434405, -0.08533528, -0.01196203, 0.036766663, -0.10874476, 0.117752254, 0.060306042, 0.11999636, -0.009082349, -0.0053480226, -0.016360553, 0.08404274, -0.031563085, 0.04300188, -0.07718227) * conv2d_4_texOff(vec2(0, 0)); + result += mat4(-0.04080095, -0.04516341, -0.24529295, -0.03471159, 0.16470635, -0.034871727, 0.17730154, -0.10027146, -0.0147999525, -0.06347412, -0.014954238, -0.0044432604, 0.06496281, -0.09795616, 0.025435383, -0.021183675) * conv2d_4_texOff(vec2(1, 0)); + result += mat4(-0.0745711, -0.32010895, -0.08191053, -0.17890424, 0.08521167, 0.12647803, 0.15476389, 0.07569176, 0.038981907, 0.09267308, 0.17334458, 0.09705121, -0.028559655, 0.020889917, -0.07934987, -0.07063077) * conv2d_4_texOff(vec2(-1, 1)); + result += mat4(-0.058581203, 0.05481933, -0.102725334, 0.00054632523, -0.014864315, 0.031976774, 0.3184148, -0.13375854, 0.0028076419, -0.11976155, 0.19108021, 0.019597169, 0.020193608, 0.040092286, -0.08651569, -0.07034373) * conv2d_4_texOff(vec2(0, 1)); + result += mat4(-0.06811454, -0.30094254, -0.31127912, -0.06389527, 0.022924952, 0.20998423, 0.09897904, -0.008806621, 0.09054789, 0.20787308, 0.067054234, 0.09840057, 0.030542051, -0.020097708, -0.11164204, -0.10558834) * conv2d_4_texOff(vec2(1, 1)); + result += mat4(-0.0147944, 0.16923076, -0.19365954, 0.016354663, 0.0179701, -0.0014622626, -0.06079666, 0.045306984, 0.09215516, 0.25195295, -0.019599643, -0.050997417, -0.052923966, 0.0370636, 0.12669684, -0.07636879) * conv2d_5_texOff(vec2(-1, -1)); + result += mat4(0.0017328475, -0.062553436, -0.058573164, -0.11326381, 0.06686627, 0.034723446, 0.16632907, 0.060322896, -0.17527656, -0.16062477, -0.025523257, 0.051525317, 0.053178232, 0.016461007, 0.009224222, 0.117979474) * conv2d_5_texOff(vec2(0, -1)); + result += mat4(0.007099262, -0.08498394, -0.019383837, 0.031228475, 0.090004936, 0.04655821, 0.015765645, 0.15946323, -0.09692485, 0.043933056, -0.062082507, -0.055708982, 0.022711681, -0.026090942, 0.007075086, 0.094657816) * conv2d_5_texOff(vec2(1, -1)); + result += mat4(0.07135292, 0.13303703, -0.12691426, 0.0016388777, 0.10658249, 0.01904966, 0.15309335, 0.014387505, -0.10355512, 0.0031776347, -0.11626996, 0.002473539, 0.16922055, -0.063464455, -0.04569613, -0.09600729) * conv2d_5_texOff(vec2(-1, 0)); + result += mat4(-0.07321115, 0.026258584, 0.042844165, -0.05731958, -0.04653382, -0.046323437, 0.03829019, 0.10542283, 0.014822933, -0.07223352, -0.05845845, -0.05245863, 0.071427375, -0.023018666, -0.07168124, -0.053759478) * conv2d_5_texOff(vec2(0, 0)); + result += mat4(0.053822506, -0.03516894, 0.016144965, -0.05681739, 0.078939825, 0.0034966848, 0.0588891, -0.09199508, 0.032641925, 0.08030426, -0.10326962, 0.06630255, 0.013383807, -0.0032370503, -0.07309646, -0.027627762) * conv2d_5_texOff(vec2(1, 0)); + result += mat4(-0.046528395, -0.020150835, -0.16492063, -0.008063345, 0.0566744, 0.08136724, 0.036954932, -0.028310603, 0.036593236, -0.13923924, 0.03874829, -0.024299087, 0.046711426, 0.12027686, 0.07873215, -0.056707896) * conv2d_5_texOff(vec2(-1, 1)); + result += mat4(0.008849047, -0.05328244, 0.11294245, 0.077844836, -0.03231928, -0.039708402, 0.12911479, -0.054102287, -0.07207237, 0.023877505, -0.0091733625, 0.017418968, -0.023286188, -0.025621377, 0.18542492, -0.09035961) * conv2d_5_texOff(vec2(0, 1)); + result += mat4(0.24548459, 0.11366697, 0.026608147, -0.011380166, -0.068937935, 0.05858985, 0.09308093, -0.02150483, -0.023025619, -0.089805335, -0.09542768, -0.0645171, 0.061186545, 0.07799115, 0.14530878, 0.05913566) * conv2d_5_texOff(vec2(1, 1)); + result += mat4(-0.006215006, -0.04195464, -0.060494643, -0.016106568, -0.07781778, -0.026003445, 0.06884006, -0.08146866, 0.026090072, 0.07743246, -0.153756, 0.10913951, 0.18884245, 0.028492304, -0.026944922, -0.07159445) * conv2d_6_texOff(vec2(-1, -1)); + result += mat4(-0.13312884, 0.020791404, -0.011476196, -0.08258898, -0.079863116, 0.10429129, 0.06461874, -0.16199265, 0.053389657, 0.0016562509, -0.16823909, 0.036011796, -0.046280045, -0.09130366, -0.019821005, -0.003490752) * conv2d_6_texOff(vec2(0, -1)); + result += mat4(-0.02637234, 0.003839667, -0.11280954, 0.07887154, -0.16050191, 0.038991433, 0.071208, -0.05809164, 0.04161225, 0.07906716, -0.008864255, -0.14590111, 0.15517384, 0.07924608, -0.15507409, 0.014431999) * conv2d_6_texOff(vec2(1, -1)); + result += mat4(0.059623122, 0.08610828, -0.12339475, -0.048790492, -0.1434395, -0.0667607, -0.04823531, 0.06269931, 0.016354218, -0.06697374, -0.075201884, -0.0074788504, 0.13962579, 0.19486101, -0.09923358, 0.07657977) * conv2d_6_texOff(vec2(-1, 0)); + result += mat4(-0.0024650185, -0.09423582, -0.0014853256, -0.07036325, -0.0108841155, 0.10253081, -0.1592986, -0.04233518, 0.0020340157, -0.024791788, 0.13080625, -0.077072084, -0.080920555, -0.13925171, -0.03632214, 0.009198923) * conv2d_6_texOff(vec2(0, 0)); + result += mat4(0.1273026, 0.082468666, -0.076032475, 0.06922508, -0.16447973, 0.046402097, 0.0068236385, 0.045510057, 0.048593845, 0.1293485, -0.05072142, -0.04789056, 0.19458714, 0.21363118, 0.08517636, -0.1258577) * conv2d_6_texOff(vec2(1, 0)); + result += mat4(0.12538639, -0.13491894, -0.19772142, 0.06354123, -0.012646169, -0.12845467, 0.039675314, -0.0012103168, -0.024604607, 0.092560425, 0.0070612035, 0.06255603, 0.15246171, -0.0668309, -0.058645688, -0.089570105) * conv2d_6_texOff(vec2(-1, 1)); + result += mat4(-0.024142267, -0.06304781, 0.095677435, 0.04587942, -0.0077792355, 0.03213616, -0.14179476, -0.032539576, 0.100014746, -0.047373842, 0.048226416, 0.07206783, 0.09099761, -0.044454914, 0.16000612, 0.016380569) * conv2d_6_texOff(vec2(0, 1)); + result += mat4(0.14879318, -0.032642722, 0.046427384, -0.05243468, 0.060599796, -0.19269058, 0.0203106, -0.0043840175, 0.11268127, -0.037726317, 0.029066226, 0.12905635, 0.2302876, 0.10108943, 0.07214831, -0.11023703) * conv2d_6_texOff(vec2(1, 1)); + result += mat4(-0.08180923, 0.05722328, -0.04134615, 0.07226055, -0.0146638015, 0.10235656, -0.01817456, 0.05709055, -0.06868476, -0.019262644, -0.014241581, -0.105246745, 0.07188785, 0.031418744, 0.08088386, -0.053292107) * conv2d_7_texOff(vec2(-1, -1)); + result += mat4(-0.09241504, -0.0176939, -0.041099783, 0.07282346, 0.09859766, 0.104741834, 0.04641909, -0.006147371, 0.13593078, 0.03879295, 0.03523546, 0.06104692, -0.11296395, -0.05959855, -0.02446783, -0.043239135) * conv2d_7_texOff(vec2(0, -1)); + result += mat4(0.061206445, 0.10227823, 0.07812581, 0.10158114, 0.012146762, 0.033374697, -0.11059852, 0.09906475, 0.055343553, -0.1424462, -0.006535454, 0.05491578, 0.085004255, 0.07328792, 0.08888612, -0.059611805) * conv2d_7_texOff(vec2(1, -1)); + result += mat4(0.09636153, -0.03309488, 0.072099224, -0.015887033, -0.062449556, 0.0070542167, -0.08716011, 0.058069985, -0.14568558, 0.12176272, 0.12124619, 0.0038388588, 0.11644186, -0.00812438, 0.027258594, 0.041122966) * conv2d_7_texOff(vec2(-1, 0)); + result += mat4(-0.10818618, -0.09333734, 0.11177544, 0.009722059, -0.039850216, 0.039553292, -0.08449213, 0.04448799, 0.01918366, 0.048204165, -0.06341774, 0.015144849, -0.007970177, 0.110212654, -0.075593546, 0.082136214) * conv2d_7_texOff(vec2(0, 0)); + result += mat4(-0.010567975, 0.0073764957, -0.0119619295, 0.035409182, -0.07667536, -0.09016946, -0.037919715, 0.079019025, -0.035555456, -0.088727444, -0.00670423, 0.0685123, -0.009501422, 0.020203806, -0.004700152, -0.09814708) * conv2d_7_texOff(vec2(1, 0)); + result += mat4(0.05923798, -0.04701577, -0.08120059, -0.07372097, -0.06787038, 0.019650178, -0.05275782, -0.018468587, 0.05143172, -0.12083961, -0.07905041, -0.008644658, 0.029489512, -0.021678576, -0.13014157, 0.05191168) * conv2d_7_texOff(vec2(-1, 1)); + result += mat4(-0.07311946, -0.00971481, 0.046882797, 0.06738838, 0.034707483, 0.0068468316, -0.017982768, -0.11204199, 0.020481985, 0.0027910236, -0.049475618, 0.060932834, -0.07326506, -0.035942994, -0.10338203, 0.0050914306) * conv2d_7_texOff(vec2(0, 1)); + result += mat4(0.030990351, 0.10504075, -0.05887262, -0.07403477, -0.08955305, 0.010453459, 0.06579182, -0.034479667, 0.08244798, -0.064673476, 0.047025323, 0.067608945, -0.056295212, 0.06179171, -0.030385278, -0.11070112) * conv2d_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-1-ReLU) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_1 +//!BIND conv2d_2 +//!BIND conv2d_3 +//!BIND conv2d_4 +//!BIND conv2d_5 +//!BIND conv2d_6 +//!BIND conv2d_7 +//!SAVE conv2d_1_5 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0088090105, -0.016752342, -0.039628763, -0.015084046); + result += mat4(0.050414, 0.08473254, -0.09987163, -0.0033134145, -0.0778504, -0.00079786935, 0.094602846, 0.1885519, -0.06896312, -0.038446665, 0.024472125, -0.10554964, -0.09010018, 0.006611687, 0.08593856, -0.17391464) * conv2d_0_texOff(vec2(-1, -1)); + result += mat4(-0.008896208, 0.052704338, 0.09106369, 0.01623027, -0.059480555, 0.23042499, 0.01373109, 0.010983339, -0.020082666, 0.084601045, -0.101083264, -0.057115216, -0.06908593, 0.024037117, -0.06053194, -0.09370632) * conv2d_0_texOff(vec2(0, -1)); + result += mat4(-0.034419876, 0.027612118, -0.017359078, -0.0024572057, -0.024153171, 0.1862957, 0.03535662, 0.08236361, -0.08816691, -0.04710695, 0.07771245, -0.19126007, 0.12695736, -0.02989989, -0.05993501, 0.040389623) * conv2d_0_texOff(vec2(1, -1)); + result += mat4(-0.025376827, 0.0012821978, -0.02712986, 0.045796152, -0.0017144078, -0.019787084, 0.06568391, 0.19634984, 0.027964134, -0.035935704, 0.03316756, 0.011822895, -0.02643366, -0.021529673, 0.0048164115, -0.03761635) * conv2d_0_texOff(vec2(-1, 0)); + result += mat4(-0.020526646, 0.1068086, 0.051094864, 0.10218603, 0.02865511, 0.08169258, 0.029304778, 0.027999615, -0.08843049, -0.29966852, -0.11008211, 0.11294648, -0.0135864625, 0.00017746595, -0.033158146, 0.033411395) * conv2d_0_texOff(vec2(0, 0)); + result += mat4(-0.007333058, 0.0643789, 0.05576426, -0.084461965, 0.28898343, 0.18237397, 0.08954228, -0.019445451, -0.052936763, -0.093386896, 0.05576748, -0.23007141, -0.06766702, 0.109210216, 0.0043788524, -0.13587755) * conv2d_0_texOff(vec2(1, 0)); + result += mat4(0.101472564, 0.027562974, -0.017604595, 0.05515815, 0.014799801, -0.120750576, 0.10855637, 0.044402312, -0.10667068, 0.065199874, -0.05093361, -0.00968512, -0.09367184, -0.0033117528, 0.07664916, -0.19041073) * conv2d_0_texOff(vec2(-1, 1)); + result += mat4(-0.03181475, 0.12951665, -0.07734823, -0.010224463, -0.09134335, -0.007915625, -0.021665778, 0.058906112, -0.031948928, -0.09524843, -0.1009961, -0.00048539188, -0.09799897, -0.163594, -0.08234963, 0.16278222) * conv2d_0_texOff(vec2(0, 1)); + result += mat4(0.018066043, 0.050728217, 0.031174691, 0.015662074, 0.092022784, -0.00799051, 0.04489978, 0.009525031, -0.14754735, -0.002074072, -0.037968013, -0.029616285, 0.26668355, 0.010278124, -0.071732886, -0.20668685) * conv2d_0_texOff(vec2(1, 1)); + result += mat4(0.032379556, -0.21813367, 0.09098259, -0.18797046, 0.0107282465, 0.08785592, -0.0039953208, -0.45733348, 0.03850412, -0.07120937, -0.08311114, -0.12543501, -0.105831474, -0.044682287, -0.038924143, 0.26900396) * conv2d_1_texOff(vec2(-1, -1)); + result += mat4(0.080939785, -0.31284925, -0.053159334, -0.13299577, 0.04849924, 0.044665195, -0.05235064, -0.17748852, -0.0649649, -0.10123812, 0.00616318, -0.04174146, 0.038032506, 0.0022887788, -0.073168576, 0.0013853887) * conv2d_1_texOff(vec2(0, -1)); + result += mat4(0.06280923, -0.08773247, 0.028586963, -0.044867102, -0.015027794, 0.18404445, 0.030198827, 0.02978504, 0.008113309, -0.08025364, 0.03677549, -0.1413542, -0.037724823, 0.092379406, -0.089792885, 0.12689027) * conv2d_1_texOff(vec2(1, -1)); + result += mat4(-0.053028498, -0.17371379, 0.010880563, -0.116484, -0.107762896, 0.021590091, 0.01406337, 0.08236744, -0.10454625, -0.13151653, -0.049435835, -0.08678966, -0.09182622, 0.07198642, 0.016769003, 0.043149922) * conv2d_1_texOff(vec2(-1, 0)); + result += mat4(-0.013133092, -0.10821928, -0.025545627, 0.010325739, -0.0586114, 0.008847764, 0.10357605, -0.044184063, -0.048252195, -0.19632444, 0.080500565, 0.03613015, -0.014324805, 0.1750198, 0.056753494, -0.08010559) * conv2d_1_texOff(vec2(0, 0)); + result += mat4(-0.021216076, 0.04013462, -0.0015009912, 0.045293577, 0.06866397, -0.034520097, -0.08469119, -0.09149297, 0.050970115, -0.09634674, -0.0116465995, -0.07146418, 0.0257332, 0.12762259, -0.059959263, -0.023931347) * conv2d_1_texOff(vec2(1, 0)); + result += mat4(-0.12334489, -0.09486098, -0.024682112, -0.024754882, 0.014009291, -0.1564648, -0.11243381, -0.13461067, -0.10127412, -0.05984244, 0.073340766, 0.0027260333, 0.12747276, 0.050573792, -0.04838065, 0.15195711) * conv2d_1_texOff(vec2(-1, 1)); + result += mat4(-0.12163591, 0.005003651, -0.04079216, 0.08034854, 0.042436425, -0.022331761, 0.06231861, -0.01203694, -0.14796253, 0.021853603, 0.07697012, -0.026616096, 0.053728696, 0.082292736, 0.06980636, 0.077886656) * conv2d_1_texOff(vec2(0, 1)); + result += mat4(-0.018860847, 0.098148175, 0.007831446, 0.021586834, -0.14625444, -0.03741886, -0.009771408, 0.21077196, -0.0922294, 0.0449821, 0.04238299, 0.0977885, 0.19472243, -0.05592255, 0.044421855, -0.018517578) * conv2d_1_texOff(vec2(1, 1)); + result += mat4(-0.14139451, -0.035071414, 0.06914942, 0.20838389, -0.05912261, 0.07693023, 0.12901309, -0.048631627, -0.07070585, 0.029934734, 0.102654524, -0.119016156, -0.107143156, 0.0061845426, -0.022770837, 0.11759651) * conv2d_2_texOff(vec2(-1, -1)); + result += mat4(0.069619775, 0.056224756, -0.08503622, -0.06539206, -0.0726186, -0.020566152, -0.016312247, 0.04891742, 0.030198129, 0.08901828, -0.061404116, 0.017855566, 0.14579889, 0.04199216, -0.07170519, 0.008699391) * conv2d_2_texOff(vec2(0, -1)); + result += mat4(0.004622645, 0.09201129, -0.08818528, 0.7219454, 0.10777447, -0.006401707, -0.106485285, 0.23151354, 0.041409403, -0.005709619, 0.057598304, 0.013101955, -0.048271142, 0.024683218, 0.035366256, -0.05109898) * conv2d_2_texOff(vec2(1, -1)); + result += mat4(0.060320884, -0.065173894, 0.093448885, 0.13967268, -0.029447671, -0.13488992, -0.040148903, 0.068312906, 0.06590625, 0.040525373, 0.023043415, 0.11687214, -0.041204322, 0.05199793, -0.027382206, 0.031439133) * conv2d_2_texOff(vec2(-1, 0)); + result += mat4(0.15894948, -0.27763322, 0.08873291, 0.08019887, -0.16965489, 0.05772807, -0.0055598207, -0.02340867, 0.16505475, -0.07345378, -0.03675307, -0.039460346, 0.049012933, 0.18790837, -0.012651545, 0.10704027) * conv2d_2_texOff(vec2(0, 0)); + result += mat4(0.13526365, -0.17836031, -0.034026887, -0.15073684, 0.0405121, 0.12410729, -0.030491687, -0.028001813, 0.05430124, -0.037492044, -0.025876626, -0.08102473, 0.053781655, -0.10313615, 0.006443645, -0.041358616) * conv2d_2_texOff(vec2(1, 0)); + result += mat4(-0.1282835, -0.051189765, -0.0062667066, -0.5984734, -0.062638454, -0.055442236, 0.067123555, -0.18039145, 0.07154619, 0.0023743876, 0.038592964, 0.089497246, 0.08170808, -0.09811899, 0.029816736, 0.05481179) * conv2d_2_texOff(vec2(-1, 1)); + result += mat4(-0.2536596, -0.15495391, 0.054681737, 0.24012734, -0.15202072, 0.14797859, -0.031249778, 0.21873273, 0.01619971, 0.040870413, -0.016419994, 0.06584393, 0.018176576, -0.11674203, -0.012126837, -0.03313733) * conv2d_2_texOff(vec2(0, 1)); + result += mat4(-0.28663304, -0.080699585, -0.016042965, -0.18413262, 0.19938001, 0.2364686, 0.00894697, -0.1698736, 0.030511152, -0.113597795, 0.09528029, 0.06953854, 0.029479668, -0.06870517, -0.028465671, -0.01106093) * conv2d_2_texOff(vec2(1, 1)); + result += mat4(-0.059718512, -0.10117343, 0.100848734, -0.036988836, -0.062084336, -0.07491397, 0.033599645, 0.12513998, 0.14438428, -0.11195347, 0.04364426, -0.026118193, 0.09671882, -0.12790528, -0.033217777, -0.19638705) * conv2d_3_texOff(vec2(-1, -1)); + result += mat4(-0.07240134, -0.0056367833, -0.01769792, -0.08249673, -0.06541131, 0.10064013, 0.028528083, -0.07828684, -0.09653107, -0.107471004, 0.035847425, -0.07010181, 0.0055030696, -0.19870685, -0.097295396, -0.026863026) * conv2d_3_texOff(vec2(0, -1)); + result += mat4(-0.033379216, -0.048624367, -0.022679813, -0.06919699, 0.09099423, 0.24338117, 0.011537056, 0.007658676, -0.12723151, -0.012294067, -0.020517407, 0.12841275, -0.10402546, -0.0111949565, -0.08921051, -0.13271843) * conv2d_3_texOff(vec2(1, -1)); + result += mat4(0.11919059, -0.023275005, -0.138915, -0.3046058, 0.07064916, -0.035303663, -0.0130835, 0.12185464, -0.14076382, 3.3419637e-06, -0.118625, -0.13109398, -0.02157241, -0.06231202, -0.050452214, -0.012158169) * conv2d_3_texOff(vec2(-1, 0)); + result += mat4(0.2017124, 0.06175212, 0.059819814, 0.19566752, 0.0590672, 0.07099516, 0.06872188, 0.02619031, -0.035272993, -0.00047497664, -0.06408197, 0.13386178, -0.052148856, -0.25219527, 0.062067214, -0.039922845) * conv2d_3_texOff(vec2(0, 0)); + result += mat4(-0.10876185, -0.1860325, -0.00078242493, 0.16637307, 0.15056083, 0.11845178, -0.07495905, -0.049387828, -0.06354015, -0.0050613307, 0.020697514, 0.03802752, 0.048755925, -0.045073558, 0.10350482, 0.078221075) * conv2d_3_texOff(vec2(1, 0)); + result += mat4(0.13401312, 0.029215474, 0.0050373804, 0.17831346, -0.0594264, -0.09469283, -0.076292045, 0.13025537, 0.1403726, 0.23932946, 0.04477145, 0.20816502, -0.08104763, -0.00997463, 0.022665258, -0.04354909) * conv2d_3_texOff(vec2(-1, 1)); + result += mat4(0.12024541, -0.027829506, -0.042694982, 0.1374507, 0.020815978, 0.0038758933, -0.01604543, 0.20116115, 0.14679812, 0.051307026, -0.008014086, -0.01280538, -0.033022895, 0.03164607, 0.059430484, -0.009389939) * conv2d_3_texOff(vec2(0, 1)); + result += mat4(-0.038568214, -0.00563095, 0.014856495, -0.10472904, 0.12109006, -0.049032994, 0.036682874, 0.042809222, -0.054917924, 0.00024394358, 0.094675556, 0.09099599, -0.11843757, 0.031774454, -0.043021783, -0.06149194) * conv2d_3_texOff(vec2(1, 1)); + result += mat4(-0.07231295, -0.17928968, -0.06272047, -0.16943535, -0.0062750243, 0.21174674, 0.10974446, 0.088539414, 0.042161774, 0.30036846, -0.010905255, 0.13086669, 0.08949824, 0.00807042, -0.013581214, -0.18119365) * conv2d_4_texOff(vec2(-1, -1)); + result += mat4(0.101928815, -0.118977465, 0.009728015, -0.09376619, -0.15497874, 0.098972484, -0.00752386, 0.12040656, 0.009510178, 0.2762397, 0.06830537, 0.15076663, 0.099307664, -0.17406656, 0.0408844, -0.11878784) * conv2d_4_texOff(vec2(0, -1)); + result += mat4(-0.069841206, -0.15811735, 0.054902047, -0.070164345, 0.12187154, 0.1201287, -0.007088877, 0.12073297, 0.08666397, -0.07934995, 0.08732263, -0.21746807, -0.05564928, -0.0502779, 0.07440021, -0.07011105) * conv2d_4_texOff(vec2(1, -1)); + result += mat4(-0.024793418, 0.04607963, -0.040366396, -0.108927354, -0.13881303, 0.0960442, 0.03798962, -0.0037218272, 0.052837696, 0.29868096, 0.1270602, 0.0877385, 0.076987386, -0.027118, 0.059998702, -0.057970487) * conv2d_4_texOff(vec2(-1, 0)); + result += mat4(0.16263193, -0.14791605, 0.018089002, -0.03185625, 0.010005685, 0.071991526, -0.03208397, -0.06183557, -0.08610084, -0.05307547, -0.00013350244, -0.096093595, 0.07782963, -0.10322959, 0.046356726, 0.10046797) * conv2d_4_texOff(vec2(0, 0)); + result += mat4(0.020519225, -0.1662513, 0.038370237, 0.21469583, 0.022922369, 0.0016967058, -0.04343971, -0.07272291, 0.024004208, -0.15337212, -0.06775982, -0.053507943, 0.03932022, -0.1484322, 0.027297013, -0.020143574) * conv2d_4_texOff(vec2(1, 0)); + result += mat4(0.10556194, 0.0750697, -0.27565226, -0.24343842, 0.06630084, 0.041297033, -0.021066999, 0.18337163, 0.031920236, 0.12132763, 0.016128968, 0.2692069, 0.015093743, -0.05908706, -0.008766995, -0.06573997) * conv2d_4_texOff(vec2(-1, 1)); + result += mat4(0.064952865, 0.20863867, 0.10624579, 0.16304387, 0.067088336, -0.06851662, -0.18153575, -0.07740687, 0.15862405, -0.0824376, -0.069278926, -0.01276115, 0.009405141, -0.10274402, -0.08475097, 0.10468798) * conv2d_4_texOff(vec2(0, 1)); + result += mat4(-0.23448612, -0.10668369, -0.04350461, -0.46906105, -0.041047033, -0.0529753, 0.13355224, 0.20821694, 0.148258, 0.10516769, 0.064329006, 0.2086173, -0.12177973, -0.069714315, -0.014037164, 0.081057005) * conv2d_4_texOff(vec2(1, 1)); + result += mat4(-0.029885948, -0.017124385, 0.116664484, -0.2732252, -0.08420996, 0.024184182, 0.05731242, 0.3979639, 0.019842431, -0.045798033, 0.08919879, 0.09510337, 0.043320876, 0.109453045, -0.043033972, 0.16946702) * conv2d_5_texOff(vec2(-1, -1)); + result += mat4(-0.07281097, -0.22186719, 0.009787973, -0.0002988038, 0.023536671, 0.09174523, 0.083748944, 0.048392583, 0.013914881, -0.08102105, 0.09240202, -0.13142423, 0.05884546, 0.112043045, -0.045351647, 0.19383289) * conv2d_5_texOff(vec2(0, -1)); + result += mat4(-0.06192399, 0.03078837, 0.063610874, 0.12899044, 0.08251394, 0.03345697, 0.051650982, -0.038996954, -0.10885055, 0.12473987, -0.0013183127, -0.101975046, 0.019488597, -0.08362515, -0.00056520104, -0.09516629) * conv2d_5_texOff(vec2(1, -1)); + result += mat4(0.022525318, 0.094836675, 0.008785618, -0.040806442, -0.022498531, 0.1310569, 0.0399555, 0.041705925, 0.04143798, 0.12995645, -0.109982565, -0.15739845, -0.073268, 0.09821025, -0.01967121, 0.15537728) * conv2d_5_texOff(vec2(-1, 0)); + result += mat4(-0.02274632, 0.13503882, -0.039286103, 0.024240611, -0.030517224, 0.06820281, 0.022626443, -0.16005571, -0.10298903, 0.11454639, -0.1133634, 0.06215786, -0.016071526, 0.1548376, -0.029631907, -0.1978083) * conv2d_5_texOff(vec2(0, 0)); + result += mat4(-0.017985044, 0.20543018, 0.027578115, 0.05280077, -0.03805386, -0.11201309, -0.062852934, -0.074153356, -0.04144113, 0.22299767, 0.105856135, 0.03606476, -0.014090609, 0.022593694, 0.021211246, -0.04050317) * conv2d_5_texOff(vec2(1, 0)); + result += mat4(0.112408675, 0.18328016, -0.029072842, 0.031212633, -0.09008304, -0.07309512, -0.05240811, 0.09203991, 0.079368226, 0.037171837, -0.10379127, 0.14094801, 0.10799976, -0.014589191, 0.07150746, 0.1592687) * conv2d_5_texOff(vec2(-1, 1)); + result += mat4(0.19341956, 0.19218016, -0.010944599, -0.20699202, -0.042915147, 0.008847772, 0.031332664, 0.023757994, 0.1716521, 0.20932522, 0.110757284, 0.123104975, 0.04961257, -0.06313525, 0.049290843, -0.20353347) * conv2d_5_texOff(vec2(0, 1)); + result += mat4(0.321722, 0.20086057, 0.00036446864, -0.022950992, 0.023790497, 0.05808072, -0.0402817, 0.119479, 0.11686589, 0.035674755, 0.03953239, 0.055852603, -0.03280196, -0.00046569895, 0.03292813, 0.050148617) * conv2d_5_texOff(vec2(1, 1)); + result += mat4(0.035719834, -0.06366306, 0.00305512, -0.106118426, 0.030862901, -0.13915156, 0.030961553, -0.15467675, -0.1063637, -0.03007748, -0.033737693, -0.13240983, -0.01691698, -0.0056404225, -0.09449469, -0.17905112) * conv2d_6_texOff(vec2(-1, -1)); + result += mat4(0.016570598, -0.113574564, 0.0800056, -0.19186203, -0.027728265, -0.13353746, -0.033095952, -0.15169261, -0.11562077, -0.14281736, 0.0023874897, -0.0021097462, 0.08744849, -0.06835687, 0.01846489, 0.12642542) * conv2d_6_texOff(vec2(0, -1)); + result += mat4(-0.008989377, -0.021540558, -0.09382607, 0.13737984, 0.0438222, -0.033322457, 0.036108796, -0.002134793, 0.13970694, 0.06691677, -0.065204926, -0.07746017, 0.021146862, -0.007384999, -0.06475407, -0.069935896) * conv2d_6_texOff(vec2(1, -1)); + result += mat4(-0.004848776, -0.04485786, 0.00898217, -0.00063779525, 0.018286124, 0.025713017, 0.038095225, -0.10726698, -0.101107046, 0.11996742, -0.05329508, -0.36839777, -0.09521874, 0.17437439, 0.038803525, 0.01930261) * conv2d_6_texOff(vec2(-1, 0)); + result += mat4(-0.1703257, 0.085726924, 0.086254165, 0.06113087, -0.0017237734, 0.11290002, -0.028794162, 0.32150197, 0.08954738, 0.15317987, 0.05766022, 0.22908257, -0.103337474, 0.049044363, 0.026997216, 0.014922629) * conv2d_6_texOff(vec2(0, 0)); + result += mat4(-0.011235731, 0.060733646, -0.09531226, 0.096299246, 0.022460354, -0.12336617, -0.059369415, 0.000903697, 0.029047133, 0.049568303, 0.03980712, 0.30410928, 0.007632266, 0.09353374, 0.09009642, 0.10713155) * conv2d_6_texOff(vec2(1, 0)); + result += mat4(0.008992308, 0.14680879, -0.05031047, -0.30790427, 0.022301784, -0.0060163615, -0.0886035, 0.06397588, 0.15637432, 0.2168609, -0.019087551, 0.04010968, 0.09162268, -0.0230925, -0.082297, -0.12346424) * conv2d_6_texOff(vec2(-1, 1)); + result += mat4(-0.032324214, 0.1921989, 0.07193979, -0.1081583, 0.047984965, 0.01741955, -0.005087614, 0.08468555, 0.22980537, 0.11471997, -0.077334814, -0.08665772, 0.038207397, 0.022510715, 0.07664487, -0.19512874) * conv2d_6_texOff(vec2(0, 1)); + result += mat4(0.26655126, 0.13282919, -0.060605776, -0.09964281, -0.12297181, -0.024021287, -0.07230138, -0.15152237, -0.03341573, -0.06912974, 0.047553204, 0.006942218, 0.102059714, 0.10813895, -0.11137467, 0.042363353) * conv2d_6_texOff(vec2(1, 1)); + result += mat4(0.08470756, 0.023598943, 0.015683614, -0.08362522, 0.06816657, -0.081384465, 0.021684699, 0.16401602, 0.018565724, -0.12640002, -0.15460525, -0.1646563, -0.048350424, -0.08526944, 0.025608115, 0.16324359) * conv2d_7_texOff(vec2(-1, -1)); + result += mat4(0.07673073, -0.039952647, 0.015091956, -0.112785056, -0.109136835, -0.0746798, 0.10821191, 0.0021110626, 0.068305805, -0.047371663, 0.07464305, 0.020262728, -0.049541045, -0.07285911, -0.08980574, -0.08539389) * conv2d_7_texOff(vec2(0, -1)); + result += mat4(0.035531174, 0.07182939, 0.02240393, -0.026053507, 0.0779054, 0.056202456, 0.08300239, 0.15875922, -0.0037831606, -0.076454364, -0.09569559, 0.038605765, 0.018635737, -0.1250243, -0.024334915, -6.395339e-05) * conv2d_7_texOff(vec2(1, -1)); + result += mat4(0.04969414, -0.09678477, 0.034280296, -0.1308104, 0.17915197, -0.07775411, 0.12064177, 0.052832007, 0.008024819, -0.08151186, 0.0584397, 0.111378185, 0.048748177, 0.14398612, 0.038549, -0.09146661) * conv2d_7_texOff(vec2(-1, 0)); + result += mat4(0.05755315, -0.26791456, -0.00978791, -0.0071702455, -0.06865795, -0.09436785, 0.13152775, 0.20224638, 0.053114492, -0.13753004, -0.08138597, 0.48945388, -0.12757172, -0.053508736, 0.05443862, 0.12211018) * conv2d_7_texOff(vec2(0, 0)); + result += mat4(0.031211484, -0.121848196, 0.03236369, -0.050907716, -0.009480536, 0.0051535494, -0.017838966, -0.03403903, 0.05500327, 0.062439445, 0.069036305, -0.1766623, -0.12535876, -0.08458658, 0.06538458, 0.10078889) * conv2d_7_texOff(vec2(1, 0)); + result += mat4(-0.13838346, 0.065318495, -0.03558216, -0.12320209, 0.016022496, 0.008993901, -0.033093292, 0.022690114, 0.010870928, -0.052787557, -0.04492758, -0.2741296, 0.13919473, 0.002299327, 0.112689316, -0.017900843) * conv2d_7_texOff(vec2(-1, 1)); + result += mat4(-0.13437931, -0.046348304, 0.0035711194, 0.09375112, -0.045950234, -0.13495189, 0.055352174, 0.019134853, -0.020332105, -0.17835884, 0.04929229, 0.028079443, 0.11040148, 0.003510094, -0.09089318, -0.14148518) * conv2d_7_texOff(vec2(0, 1)); + result += mat4(0.044653624, -0.088946596, 0.06933632, 0.02443716, -0.06758146, 0.09023867, -0.002951476, -0.028247414, -0.12813342, -0.18787791, 0.088390894, -0.012096706, 0.054099075, 0.035535008, 0.0074546174, 0.016586268) * conv2d_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-1-ReLU) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_1 +//!BIND conv2d_2 +//!BIND conv2d_3 +//!BIND conv2d_4 +//!BIND conv2d_5 +//!BIND conv2d_6 +//!BIND conv2d_7 +//!SAVE conv2d_1_6 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.01535246, 0.002334057, 0.010469864, 0.0068757595); + result += mat4(-0.099578604, 0.0055482863, 0.023796393, 0.023339668, -0.10940227, -0.057246536, -0.021116033, 0.12817466, 0.105018534, -0.015419417, 0.05786354, -0.07421419, -0.00076512416, 0.06907284, -0.14865626, 0.056825485) * conv2d_0_texOff(vec2(-1, -1)); + result += mat4(-0.06369135, -0.00025211685, -0.051278073, 0.045845166, -0.06874274, -0.09340049, -0.03258099, 0.07765602, -0.09273994, 0.10112845, -0.042857043, -0.069248445, -0.072052695, 0.08760152, 0.007198643, -0.04816713) * conv2d_0_texOff(vec2(0, -1)); + result += mat4(-0.047838524, 0.048741486, 0.10016213, -0.043414168, -0.08937862, 0.11109062, -0.08776315, 0.019833066, -0.030591773, -0.048200794, -0.07012686, 0.11842654, 0.07507222, -0.00088736444, -0.05908865, -0.08128799) * conv2d_0_texOff(vec2(1, -1)); + result += mat4(0.06894782, -0.0043598907, 0.06458092, -0.04016795, -0.025204176, 0.11172614, -0.051197026, -0.033198453, 0.003278839, 0.018093372, 0.029267251, 0.03237272, -0.016736258, 0.027255131, -0.07180807, -0.09597046) * conv2d_0_texOff(vec2(-1, 0)); + result += mat4(0.012017105, -0.04864774, -0.06880151, -0.11229976, -0.04963216, -0.06703839, 0.0075095813, 0.1649629, 0.114044555, 0.02647054, -0.055449244, 0.0068097236, -0.06581895, -0.046807118, -0.022981308, 0.10964288) * conv2d_0_texOff(vec2(0, 0)); + result += mat4(0.102602, 0.034899734, 0.03924892, 0.020380022, 0.038973145, 0.06664757, -0.10416908, -0.023202939, 0.03125626, 0.06503337, 0.08844853, -0.04353972, -0.08242791, -0.12961534, -0.098042294, 0.09378676) * conv2d_0_texOff(vec2(1, 0)); + result += mat4(-0.07721457, 0.12152526, -0.079646416, 0.04351895, -0.048106764, 0.04204762, 0.04705728, -0.1447443, 0.028716465, 0.005480102, 0.06488712, -0.07279755, -0.059672605, 0.13765089, -0.05346768, -0.12685315) * conv2d_0_texOff(vec2(-1, 1)); + result += mat4(0.09132061, 0.01854122, -0.0071732034, -0.0496132, -0.03861954, 0.06858943, -0.07141063, 0.006920657, 0.030695062, -0.07495453, -0.0146956025, -0.09522221, -0.13496281, 0.027095037, -0.06428125, 0.112212315) * conv2d_0_texOff(vec2(0, 1)); + result += mat4(-0.08237948, 0.03743769, 0.03163411, 0.027374148, -0.0029028703, 0.067902096, -0.05704935, 0.10191501, 0.079087146, -0.051637657, 0.030823978, 0.11058975, 0.022365794, -0.092721455, -0.027569262, -0.0031517092) * conv2d_0_texOff(vec2(1, 1)); + result += mat4(0.002259791, 0.09699616, -0.028860785, -0.054064956, -0.055816285, 0.20718735, 0.03282179, 0.08407721, 0.10525644, -0.041905735, -0.09394762, 0.0643906, -0.045785334, 0.06914875, -0.029297475, 0.08402818) * conv2d_1_texOff(vec2(-1, -1)); + result += mat4(0.004338956, 0.027949879, 0.0660037, -0.06305493, 0.099644706, -0.13945976, 0.12571493, -0.0075495183, 0.020482963, 0.07557141, 0.081462435, 0.04322084, -0.10850704, -0.021956397, 0.07339975, 0.033480886) * conv2d_1_texOff(vec2(0, -1)); + result += mat4(-0.10550988, 0.008123777, 0.04732148, 0.06122102, -0.16876651, 0.1259245, -0.096346684, -0.0031602366, -0.023747476, 0.06515843, -0.07580826, -0.06295153, 0.09827505, 0.0686367, 0.0408199, -0.012795387) * conv2d_1_texOff(vec2(1, -1)); + result += mat4(-0.06281274, -0.033012133, 0.10642343, 0.0023921991, 0.04021275, 0.023958169, 0.043350723, -0.097244844, 0.053197246, -0.08633332, -0.02794245, -0.07001152, -0.08517094, -0.018514145, 0.0059442683, -0.09664073) * conv2d_1_texOff(vec2(-1, 0)); + result += mat4(-0.11075751, 0.09004196, -0.005192052, 0.070645995, 0.044235095, 0.091480136, 0.13117178, -0.0011304375, -0.077670164, -0.07112385, -0.049511254, -0.07278434, 0.05823405, -0.07242856, 0.014415223, 0.019173695) * conv2d_1_texOff(vec2(0, 0)); + result += mat4(-0.1330359, -0.043987848, 0.049993005, 0.10890567, 0.019764991, -0.08497535, -0.10605469, -0.013664991, -0.06588649, -0.010965663, 0.047281343, 0.022723654, 0.02733295, -0.10711664, 0.019931583, 0.05807119) * conv2d_1_texOff(vec2(1, 0)); + result += mat4(0.04918037, -0.15210044, 0.082911134, -0.066897005, 0.05875519, -0.1647038, 0.044648875, -0.055016354, 0.09820391, -0.073874205, 0.08019384, -0.06523192, 0.029436707, -0.0054050386, 0.026853152, -0.048799727) * conv2d_1_texOff(vec2(-1, 1)); + result += mat4(0.040055614, 0.08976324, -0.04931942, -0.054897033, -0.049227055, 0.076008536, -0.069810055, -0.043483317, -0.082161896, -0.019277148, 0.09578513, -0.037093993, 0.06661676, -0.05808748, -0.07687125, 0.08819297) * conv2d_1_texOff(vec2(0, 1)); + result += mat4(-0.06322981, -0.00052107644, 0.077510014, 0.08698638, -0.004687962, -0.10106482, -0.01123155, 0.067328624, -0.063220024, -0.10062753, -0.028605303, 0.023101754, -0.05351938, -0.06397046, -0.04411359, -0.016891813) * conv2d_1_texOff(vec2(1, 1)); + result += mat4(0.1491096, -0.0050159446, -0.18715136, 0.21053383, -0.1569404, -0.0015714668, 0.07654724, 0.13804148, -0.060337413, -0.08370527, 0.08072491, 0.035189178, 0.07496685, 0.013046376, 0.08452412, -0.08029743) * conv2d_2_texOff(vec2(-1, -1)); + result += mat4(0.23685674, -0.036051903, -0.08976417, 0.1106323, -0.080145635, -0.06364895, -0.05165207, 0.09697384, 0.019083265, -0.024430096, 0.034981005, -0.089612655, 0.064483054, -0.14613773, -0.017280672, -0.11347067) * conv2d_2_texOff(vec2(0, -1)); + result += mat4(0.15765448, -0.058121458, -0.14565447, -0.14713965, -0.19919705, 0.0026110215, 0.041706968, 0.02408511, 0.067035064, -0.003723377, -0.023838656, -0.026870465, -0.05744477, 0.15530308, 0.040555537, -0.036356766) * conv2d_2_texOff(vec2(1, -1)); + result += mat4(0.0964622, 0.12177917, -0.18599944, 0.09138213, -0.21679589, 0.00930075, -0.13409857, 0.013576879, -0.028810391, 0.1162599, 0.01221714, 0.016208563, -0.03598451, -0.14516944, 0.014142426, -0.006570285) * conv2d_2_texOff(vec2(-1, 0)); + result += mat4(-0.09597093, 0.052974727, -0.020173239, 0.085633196, -0.12709336, -0.11912772, -0.027181804, 0.12258373, -0.042638004, -0.02255151, 0.008868137, 0.07119827, -0.06062806, 0.16639511, 0.026727838, -0.07842415) * conv2d_2_texOff(vec2(0, 0)); + result += mat4(-0.12980402, -0.0013303088, -0.12674467, 0.066975065, -0.06303222, 0.09587195, -0.035207473, -0.0414149, 0.034333114, 0.009756673, -0.09220797, -0.08811007, 0.11412453, -0.174555, -0.004708406, -0.06260044) * conv2d_2_texOff(vec2(1, 0)); + result += mat4(0.0049168426, -0.1040108, -0.061385095, -0.049354807, -0.14552572, -0.07295244, 0.0711066, -0.023314636, 0.021936458, -0.0979696, 0.0030844542, -0.012452741, 0.03406905, -0.017978255, 0.012281016, -0.026137844) * conv2d_2_texOff(vec2(-1, 1)); + result += mat4(-0.02148211, 0.14575228, -0.01230665, -0.046271518, -0.12248301, 0.08179556, -0.016037485, 0.023618633, 0.117173664, -0.0037110776, -0.00269635, -0.019897366, 0.09674864, -0.024196694, -0.09442293, 0.069840245) * conv2d_2_texOff(vec2(0, 1)); + result += mat4(-0.12616865, 0.13018657, -0.03801273, 0.08629655, -0.040497445, -0.0813176, 0.0022220865, 0.13691865, 0.031703573, 0.09649188, 0.02144791, -0.04337646, 0.092517585, -0.017117135, 0.042988624, 0.030148633) * conv2d_2_texOff(vec2(1, 1)); + result += mat4(0.091898285, 0.10539604, -0.00022927782, -0.05362202, -0.06678953, 0.05060491, -0.05283759, -0.029685602, -0.09275747, -0.039358474, -0.02274879, 0.06958768, -0.054337654, 0.06734742, 0.04843611, 0.07703325) * conv2d_3_texOff(vec2(-1, -1)); + result += mat4(0.047763318, 0.08505465, 0.029553603, -0.042763516, -0.09083985, 0.020611588, 0.0218238, 0.10364504, -0.1440525, 0.10516183, 0.02751855, 0.110182144, -0.006335585, 0.055840362, -0.07413172, 0.10564111) * conv2d_3_texOff(vec2(0, -1)); + result += mat4(0.037685167, 0.13534851, 0.013890131, 0.14330833, 0.09486917, -0.002141371, -0.10881948, -0.0700937, 0.09015352, -0.09453568, -0.04019919, 0.19488974, -0.027287688, -0.067788914, -0.083772264, 0.09590505) * conv2d_3_texOff(vec2(1, -1)); + result += mat4(0.16248676, -0.22434518, -0.075925626, -0.023215758, -0.07131964, -0.067945756, -0.109720394, 0.045694903, -0.029911974, 0.0010814423, 0.09878556, -0.09149358, -0.061978187, -0.02993607, -0.07410134, 0.09315295) * conv2d_3_texOff(vec2(-1, 0)); + result += mat4(-0.07290716, 0.11469069, 0.16735438, -0.067015626, 0.021936968, -0.059070814, -0.061958972, 0.1221209, 0.041146506, 0.14851029, -0.013648441, -0.009718062, -0.011134049, 0.073112465, -0.04379107, 0.02769827) * conv2d_3_texOff(vec2(0, 0)); + result += mat4(-0.14614348, 0.0004487857, -0.10672616, 0.061815806, 0.04329874, -0.068840854, -0.008375975, -0.051815826, 0.009977147, -0.034855414, 0.16749316, 0.026905673, -0.020755235, 0.10939057, -0.01637421, -0.026456796) * conv2d_3_texOff(vec2(1, 0)); + result += mat4(-0.064641975, -0.15517437, 0.13422023, 0.17362778, 0.018888779, 0.042097405, 0.015657898, 0.018483898, 0.009432297, 0.029174123, 0.05565005, -0.036415353, 0.05683499, 0.03611238, 0.077035815, -0.100594416) * conv2d_3_texOff(vec2(-1, 1)); + result += mat4(-0.03390315, 0.06615515, -0.101681, -0.15385544, 0.0539985, -0.06980682, -0.085287206, -0.06761921, -0.017866587, -0.094980285, -0.09579466, -0.108786285, -0.068487674, 0.04266774, -0.0007186188, -0.087653644) * conv2d_3_texOff(vec2(0, 1)); + result += mat4(-0.048431028, 0.06745568, 0.034047317, 0.10720527, -0.057520084, 0.05271078, -0.09948358, 0.11742151, 0.08464735, -0.006620753, -0.084571764, -0.08317781, -0.12291357, -0.032546185, 0.014828777, 0.10589131) * conv2d_3_texOff(vec2(1, 1)); + result += mat4(0.331622, -0.22447313, 0.111163594, 0.13109626, -0.2631011, 0.20857751, -0.028767703, -0.06058442, 0.059877463, -0.028788289, -0.039463434, 0.027172105, 0.10121292, -0.10584534, -0.07662507, -0.059465904) * conv2d_4_texOff(vec2(-1, -1)); + result += mat4(0.27496618, 0.041863587, 0.12237015, -0.10891951, -0.051931024, -0.12641801, -0.075905025, -0.11188238, 0.19044034, -0.049633715, 0.10799188, -0.021614457, 0.11612521, 0.11029006, -0.06711436, -0.08104054) * conv2d_4_texOff(vec2(0, -1)); + result += mat4(0.00036053732, -0.018890133, 0.013372965, 0.14889039, 0.11448677, 0.04095257, -0.09549307, -0.015556528, -0.059752587, -0.10112596, -0.0438977, 0.14089203, -0.034234, -0.022813648, -0.008591946, 0.082018055) * conv2d_4_texOff(vec2(1, -1)); + result += mat4(-0.082727, 0.0009236159, -0.054481223, 0.08375925, -0.079461105, -0.027187962, -0.09862464, 0.03873161, -0.11024226, -0.055627435, 0.09516925, 0.16123378, 0.037878763, 0.02184031, 0.012324688, 0.08988867) * conv2d_4_texOff(vec2(-1, 0)); + result += mat4(-0.21302852, -0.01108857, 0.22095583, -0.043329876, 0.06993355, 0.047646157, -0.12148249, 0.09864996, 0.27853003, -0.037218433, -0.17659257, -0.14096415, -0.00300316, -0.08088997, 0.012546695, 0.03256319) * conv2d_4_texOff(vec2(0, 0)); + result += mat4(-0.30824727, 0.1172803, -0.007183296, -0.081379555, 0.033460308, -0.009735137, 0.10291124, -0.023259176, 0.104261875, -0.012423987, 0.16226856, -0.06400793, 0.009897889, 0.031953912, -0.029829068, 0.009754183) * conv2d_4_texOff(vec2(1, 0)); + result += mat4(0.1012338, -0.3661385, -0.02328685, 0.20775573, 0.14466265, 0.1166957, 0.02531568, -0.058375075, 0.030103233, 0.13270895, -0.12252502, 0.039495237, -0.033629615, 0.087804474, 0.048366606, -0.043090772) * conv2d_4_texOff(vec2(-1, 1)); + result += mat4(-0.045867313, 0.19428329, 0.12002355, -0.04310063, 0.17343087, -0.2140284, -0.049506746, 0.068252936, 0.16899821, 0.013598138, -0.12386372, 0.016161252, -0.09354446, -0.030714735, -0.07121204, 0.008478763) * conv2d_4_texOff(vec2(0, 1)); + result += mat4(-0.031962026, -0.1120269, -0.10534903, -0.043571126, 0.0742193, 0.13126801, -0.04605866, -0.11936348, 0.05194759, 0.022354655, 0.13120446, -0.22661644, 0.06959577, -0.021233791, -0.08088737, -0.02227644) * conv2d_4_texOff(vec2(1, 1)); + result += mat4(-0.061454307, 0.085747294, 0.14126454, -0.08265858, 0.00064153504, -0.099481024, -0.055069834, 0.062579125, -0.05436221, -0.0082622925, 0.16964276, -0.00063786824, 0.032801457, -0.022056427, 0.07706531, -0.097043544) * conv2d_5_texOff(vec2(-1, -1)); + result += mat4(-0.18137328, -0.08320683, -0.0048264624, 0.15306675, -0.014388193, 0.028470092, -0.11971235, -0.10754343, 0.07434022, -0.03213596, -0.022039393, 0.02340359, -0.065431304, -0.055472307, -0.065477386, -0.05001452) * conv2d_5_texOff(vec2(0, -1)); + result += mat4(-0.04439882, -0.0062783845, 0.12675254, -0.047097087, -0.0273773, -0.039227843, -0.057372387, -0.060772613, -0.0052131237, 0.039571047, 0.03486965, 0.123852886, -0.026419176, 0.0315294, -0.028998587, 0.056564305) * conv2d_5_texOff(vec2(1, -1)); + result += mat4(-0.16197704, 0.08713111, -0.03111488, -0.13131893, 0.06028583, -0.05206349, -0.09954216, 0.15310617, 0.047037043, 0.14958505, 0.034411084, 0.050205532, -0.04499521, -0.02719239, 0.010067397, -0.063912764) * conv2d_5_texOff(vec2(-1, 0)); + result += mat4(-0.1294358, -0.12335496, 0.114689745, -0.1048117, 0.027546834, -0.09265357, -0.07487691, 0.020099873, -0.10476385, -0.17727998, 0.15224785, 0.02367305, 0.07793359, 0.048128083, -0.1188674, 0.0032961823) * conv2d_5_texOff(vec2(0, 0)); + result += mat4(0.0938391, 0.028097967, 0.20921662, -0.1359386, 0.11138106, 0.12477254, 0.058115598, -0.066018134, -0.0775512, 0.097075015, 0.08843088, -0.029530354, 0.02366019, 0.060298063, 0.15210365, -0.07104227) * conv2d_5_texOff(vec2(1, 0)); + result += mat4(-0.21876606, 0.06674357, -0.113218464, 0.027531486, 0.01743253, -0.02131312, -0.068621665, -0.065092, -0.035087835, -0.1560874, -0.08051735, -0.0828705, -0.046726268, 0.012187361, 0.053438697, 0.10437371) * conv2d_5_texOff(vec2(-1, 1)); + result += mat4(0.04321305, -0.15177734, -0.12236193, 0.172206, -0.033419184, -0.05716891, 0.021284835, -0.014985287, -0.104491726, 0.07168098, -0.04265354, 0.05826023, 0.13632444, -0.16856338, -0.010569198, 0.00041842012) * conv2d_5_texOff(vec2(0, 1)); + result += mat4(0.20566566, -0.011247947, -0.043177407, -0.041441754, 0.018305307, 0.010024282, -0.0007091247, 0.04000433, 0.0949282, -0.09733099, -0.1031055, -0.0882436, 0.07868123, 0.09232749, -0.077265605, -0.04762952) * conv2d_5_texOff(vec2(1, 1)); + result += mat4(-0.10415603, -0.050076813, 0.11005622, -0.08326066, -0.04475326, 0.03695116, 0.031858835, -0.012020294, -0.033038963, 0.14445485, -0.059398077, -0.04276503, -0.0912014, -0.04843333, 0.0652052, 0.008916966) * conv2d_6_texOff(vec2(-1, -1)); + result += mat4(-0.09961901, 0.08563857, 0.00033354643, 0.015225438, -0.025885044, 0.0933696, 0.13320589, -0.057471618, 0.07932565, -0.015379087, 0.116469756, -0.027576927, 0.14670713, -0.0024699, 0.108898304, -0.106529705) * conv2d_6_texOff(vec2(0, -1)); + result += mat4(-0.12513635, -0.034617435, 0.11789229, -0.049598537, -0.1498718, -0.05537802, 0.0950952, -0.032889724, -0.06906129, -0.100764565, 0.010879511, -0.013544281, 0.0863665, -0.022720376, 0.061068464, -0.16695958) * conv2d_6_texOff(vec2(1, -1)); + result += mat4(-0.13808861, 0.11696037, -0.010690698, -0.09495652, 0.019111319, -0.07491097, -0.06481876, -0.01899027, 0.06514543, -0.10774333, -0.055383768, -0.016730314, -0.12118944, 0.18476783, 0.07307586, -0.064872555) * conv2d_6_texOff(vec2(-1, 0)); + result += mat4(-0.05819417, -0.0044255424, -0.08593671, -0.009845559, -0.052938227, -0.04442853, 0.15448698, -0.08345233, -0.024103843, 0.06126544, -0.00081301027, -0.14838867, 0.08754173, -0.11302074, -0.08148381, -0.018474068) * conv2d_6_texOff(vec2(0, 0)); + result += mat4(0.1035095, -0.02002143, 0.014839803, -0.018158736, -0.015430147, 0.00961599, -0.0105680255, 0.13650681, -0.014748632, 0.018096937, 0.027762277, 0.13310307, 0.08384116, -0.012234115, 0.22962603, -0.14955075) * conv2d_6_texOff(vec2(1, 0)); + result += mat4(-0.026903123, -0.04455861, -0.012015546, -0.050227664, -0.08890349, -0.002999286, -0.024099413, -0.08536453, -0.07245603, -0.0368327, -0.08811443, 0.07502762, -0.09039195, -0.0044528665, 0.013482542, 0.04317987) * conv2d_6_texOff(vec2(-1, 1)); + result += mat4(0.012173193, -0.104716085, 0.028015228, 0.07026166, -0.017986499, 0.13454989, 0.118026614, 0.012873384, 0.12611425, -0.166317, -0.11305373, -0.03171902, 0.111754954, 0.023834547, 0.06855709, -0.028401792) * conv2d_6_texOff(vec2(0, 1)); + result += mat4(0.12650786, -0.0047193486, 0.045794994, 0.09161245, -0.11028719, -0.019568264, -0.042281643, 0.1364284, -0.033713438, 0.11642366, 0.07564675, -0.024442472, 0.036465663, 0.07833873, 0.014873189, -0.14370635) * conv2d_6_texOff(vec2(1, 1)); + result += mat4(-0.028254526, 0.03760354, -0.011797037, 0.09870556, -0.0036645592, -0.088996716, 0.056265235, 0.01563317, 0.12723766, -0.18277185, -0.065603904, -0.009434915, -0.042067092, 0.1101167, -0.04523329, -0.05518942) * conv2d_7_texOff(vec2(-1, -1)); + result += mat4(0.09887286, -0.062833555, -0.10169822, 0.045400508, -0.10149524, -0.020788958, 0.049276303, 0.1848544, -0.036457896, 0.089807145, 0.064557664, -0.037241396, 0.07144491, -0.040111642, 0.018787336, 0.0459721) * conv2d_7_texOff(vec2(0, -1)); + result += mat4(-0.02347139, 0.06849755, 0.020212974, -0.073171265, -0.09778604, -0.014445421, -0.060268626, -0.11255312, -0.027394159, -0.1284241, -0.116680905, -0.07262339, 0.01820211, 0.11708002, 0.11478465, 0.042252164) * conv2d_7_texOff(vec2(1, -1)); + result += mat4(0.074675925, 0.062356316, 0.10121299, -0.05468041, -0.17298809, -0.08007273, -0.021630626, 0.04011219, -0.055344217, -0.015984988, 0.038248274, -0.04828419, -0.020083927, -0.114590816, 0.041761182, -0.1102727) * conv2d_7_texOff(vec2(-1, 0)); + result += mat4(-0.078522146, -0.04654445, -0.013584582, -0.055614058, -0.16887546, 0.13834028, 0.06688044, 0.07430672, -0.074730664, 0.05231348, -0.12518688, 0.055874057, 0.06311226, 0.07774808, 0.09540121, 0.031748146) * conv2d_7_texOff(vec2(0, 0)); + result += mat4(0.061944894, 0.1019094, -0.033603672, 0.028389081, -0.06501574, 0.04419563, -0.06686472, 0.012942882, 0.051533747, -0.042957004, 0.08542106, 0.12271295, 0.04759611, -0.10126614, 0.03832705, 0.06986874) * conv2d_7_texOff(vec2(1, 0)); + result += mat4(0.036853768, -0.074119866, 0.017912362, -0.08458544, -0.039857548, -0.03394903, 0.040394437, -0.072873235, -0.029146789, -0.07400487, -0.087986626, -0.02232881, 0.0012841695, -0.05850906, -0.053323742, 0.0344403) * conv2d_7_texOff(vec2(-1, 1)); + result += mat4(-0.074327774, -0.08389734, 0.015938314, 0.01334375, -0.007207572, 0.0703115, -0.094333984, 0.10248625, 0.08068116, 0.021807257, 0.16126512, 0.045083255, 0.05597088, -0.06936684, -0.041154552, -0.0011198962) * conv2d_7_texOff(vec2(0, 1)); + result += mat4(-0.09000184, 0.04163457, 0.11448483, 0.052682266, 0.06829012, 0.103317015, 0.0009461821, 0.010028677, -0.04878846, 0.06509187, -0.044245765, 0.08430748, -0.14804026, 0.052387252, 0.11350894, -0.121219076) * conv2d_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-1-ReLU) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_1 +//!BIND conv2d_2 +//!BIND conv2d_3 +//!BIND conv2d_4 +//!BIND conv2d_5 +//!BIND conv2d_6 +//!BIND conv2d_7 +//!SAVE conv2d_1_7 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0044188052, -0.009346381, -0.012235327, 0.015252484); + result += mat4(-0.042972498, 0.08236769, -0.023618605, -0.06191364, 0.04191988, -0.008675704, -0.07390221, 0.0009311356, 0.09500118, 0.08298368, 0.044286814, -0.059407096, 0.01787688, -0.0554614, -0.017483596, 0.00093742355) * conv2d_0_texOff(vec2(-1, -1)); + result += mat4(-0.13977277, 0.01398194, -0.039226227, 0.10783513, -0.05334263, 0.037340507, -0.081757136, -0.11580031, 0.00525869, -0.11478112, -0.11297556, -0.0061270124, -0.1348311, -0.022002054, -0.090973005, -0.006276886) * conv2d_0_texOff(vec2(0, -1)); + result += mat4(0.06473276, 0.05067689, 0.058701705, 0.03988178, -0.0020876927, 0.037043255, 0.11746849, 0.029095052, -0.047080904, -0.12857254, -0.042120684, -0.06485761, -0.13170835, 0.08814094, 0.071971744, -0.06819217) * conv2d_0_texOff(vec2(1, -1)); + result += mat4(-0.031466667, 0.03851458, -0.061024304, -0.035576716, -0.0034004268, 0.094658814, 0.029965902, -0.0007654756, -0.032061186, 0.033324577, -0.022280822, -0.0740202, 0.18441853, 0.12826037, -0.0128189055, -0.027810102) * conv2d_0_texOff(vec2(-1, 0)); + result += mat4(0.046307396, -0.042226657, 0.10600841, 0.103890106, -0.06976821, -0.14608271, -0.15969653, 0.054102868, -0.032681562, 0.02596465, -0.100162305, -0.019553388, -0.10975941, 0.035550997, -0.10094666, 0.068499625) * conv2d_0_texOff(vec2(0, 0)); + result += mat4(0.11081086, 0.06376337, 0.021107139, 0.05602029, 0.051659282, 0.08977382, 0.027325183, 0.031382747, -0.017366126, 0.06011955, -0.08811169, -0.09456346, 0.044535648, -0.17661487, 0.041359928, -0.081572115) * conv2d_0_texOff(vec2(1, 0)); + result += mat4(0.06385934, -0.0414731, 0.07428848, -0.020465659, -0.06924196, 0.06559097, -0.08858527, 0.03863324, -0.017671417, 0.058841515, 0.050122302, -0.080328904, -0.09091497, -0.057557963, -0.18077, 0.09653239) * conv2d_0_texOff(vec2(-1, 1)); + result += mat4(0.06400039, -0.0810924, -0.043889116, 0.019048017, -0.033843514, -0.04030667, -0.028509255, 0.08303655, -0.08567671, -0.012256329, -0.0781362, -0.08034393, 0.091040805, -0.14055714, -0.0040820283, -0.036268663) * conv2d_0_texOff(vec2(0, 1)); + result += mat4(0.088520035, 0.043026187, -0.05791277, -0.09694408, -0.05769773, 0.034705132, -0.0734794, 0.014783636, 0.061584204, 0.070767395, 0.08592947, -0.07063723, 0.15544488, 0.019874154, -0.031173864, -0.023830239) * conv2d_0_texOff(vec2(1, 1)); + result += mat4(-0.07329762, -0.052830968, 0.065536544, -0.02043986, -0.1839597, -0.16657177, 0.020405231, 0.05674559, 0.049243655, 0.09800907, 0.016842889, 0.08090283, -0.0057650604, -0.042263307, 0.1024937, 0.100807525) * conv2d_1_texOff(vec2(-1, -1)); + result += mat4(0.14186054, 0.06957121, -0.09371007, -0.103624344, 0.1952639, 0.011528402, 0.056691114, -0.178617, 0.030123634, -0.10215357, 0.0049742092, -0.018976381, -0.011651249, 0.08920201, -0.029738203, 0.06812927) * conv2d_1_texOff(vec2(0, -1)); + result += mat4(-0.0691108, -0.04874268, 0.039057232, 0.10373766, -0.17683646, -0.15897743, -0.045607284, 0.27158597, -0.016547546, 0.06300457, -0.03572716, -0.038823098, -0.080916725, 0.026222965, 0.10451524, -0.012559655) * conv2d_1_texOff(vec2(1, -1)); + result += mat4(-0.027840726, 0.023510518, 0.0709063, -0.060737185, -0.010471409, 0.12458618, 0.059408803, -0.0005855043, -0.079232566, -0.033852626, 0.07291792, -0.08391672, 0.0065321084, -0.014525109, -0.008916134, -0.005250325) * conv2d_1_texOff(vec2(-1, 0)); + result += mat4(0.07064998, 0.008205172, 0.014256786, 0.060115546, -0.036033798, -0.2257095, -0.058475986, 0.044987645, 0.08654608, 0.073779, 0.041525807, -0.04604366, 0.08340023, 0.051346913, -0.06490604, 0.006678627) * conv2d_1_texOff(vec2(0, 0)); + result += mat4(0.025671128, -0.08049351, -0.06395712, -0.034588303, 0.22381192, 0.18458383, 0.10206551, -0.038579214, 0.0775415, 0.08581948, -0.10330833, 0.0032988365, 0.06643222, 0.058374785, 0.1048187, 0.047139924) * conv2d_1_texOff(vec2(1, 0)); + result += mat4(0.01718272, -0.041079007, 0.0028916863, -0.045841116, 0.06290111, 0.10825325, -0.012091148, -0.12546325, 0.08754547, -0.07688822, 0.07113101, -0.06434712, -0.08960407, -0.024328178, -0.06888256, -0.010802101) * conv2d_1_texOff(vec2(-1, 1)); + result += mat4(-0.04562127, -0.033757474, 0.0333275, 0.042751852, -0.12483206, 0.07173492, 0.028207038, 0.111860454, 0.040582974, -0.031253193, -0.015997479, 0.08742704, -0.050877187, -0.09085872, -0.011412988, -0.071639545) * conv2d_1_texOff(vec2(0, 1)); + result += mat4(-0.0681969, 0.014121789, 0.084272936, -0.11689993, 0.0650356, 0.0037843802, -0.070339344, -0.046727277, -0.017384231, -0.052480593, 0.00622065, -0.0077619585, 0.11511185, 0.09917432, -0.06462241, 0.013835205) * conv2d_1_texOff(vec2(1, 1)); + result += mat4(0.4502069, -0.14058442, -0.32510665, -0.031222165, 0.11508633, -0.13026409, -0.042208627, -0.09696273, -0.02653963, -0.081706166, 0.079558186, -0.008650209, -0.04185425, 0.033850662, 0.012780042, 0.0028709555) * conv2d_2_texOff(vec2(-1, -1)); + result += mat4(0.6171254, 0.04880311, -0.06366232, -0.048632268, 0.09391385, -0.008851289, -0.04452032, 0.044348, 0.010649384, 0.04123659, 0.07070385, -0.08392835, 0.04774949, 0.18820691, 0.1375036, -0.15219852) * conv2d_2_texOff(vec2(0, -1)); + result += mat4(0.012749834, 0.03862648, -0.12462674, -0.09528665, -0.2766919, -0.06359671, 0.13081431, 0.06950242, -0.0012419836, 0.08928085, -0.07385423, -0.019549424, -0.14748497, -0.043136973, 0.017317096, 0.118798845) * conv2d_2_texOff(vec2(1, -1)); + result += mat4(-0.05377673, 0.038660076, -0.08637298, 0.09246952, -0.08943347, -0.058526535, -0.17723918, -0.03173288, -0.040664397, -0.034982074, -0.088963576, 0.0673496, -0.038978536, 0.0011519849, -0.047311116, -0.06692778) * conv2d_2_texOff(vec2(-1, 0)); + result += mat4(-0.016708337, -0.07142881, -0.17485009, 0.046416435, 0.06907238, -0.1640736, -0.037923932, -0.08383272, -0.058138955, 0.03066273, -0.03930247, -0.058903515, -0.15952809, -0.14465106, -0.06922676, 0.08436034) * conv2d_2_texOff(vec2(0, 0)); + result += mat4(-0.0548304, -0.001955446, -0.06137349, -0.002579337, -0.018770404, 0.053265315, 0.0569514, -0.067930475, 0.017032743, 0.09003891, -0.0009916181, -0.022997674, 0.09324562, 0.02234357, 0.052872874, -0.08975708) * conv2d_2_texOff(vec2(1, 0)); + result += mat4(0.006500333, 0.10855631, 0.055917233, -0.02552525, -0.034358244, 0.1630112, 0.008826352, 0.12530114, 0.102394395, 0.019413164, -0.030894356, 0.007903982, -0.07372388, -0.1341909, -0.03528071, 0.14413129) * conv2d_2_texOff(vec2(-1, 1)); + result += mat4(-0.039479576, 0.003751778, -0.029938944, -0.011562966, 0.01372743, -0.048338767, -0.17865638, 0.1156163, 0.05463624, -0.033179086, 0.025522457, -0.09588742, 0.056066476, 0.038501736, 0.10310547, -0.07028259) * conv2d_2_texOff(vec2(0, 1)); + result += mat4(0.10189389, -0.07894085, -0.010738713, -0.040523022, 0.04871086, -0.15268117, -0.17392033, 0.07826077, 0.061577957, 0.07235159, 0.08870906, -0.1059967, -0.03774972, 0.015838, -0.02016568, 0.07129622) * conv2d_2_texOff(vec2(1, 1)); + result += mat4(-0.08413017, -0.024244286, 0.11126331, 0.15677144, 0.09960454, -0.090100616, -0.072861396, -0.04066774, -0.19846842, 0.18788089, 0.07460535, 0.16101979, -0.014709628, 0.10972338, -0.047890175, -0.06562814) * conv2d_3_texOff(vec2(-1, -1)); + result += mat4(0.029365957, 0.021124853, -0.08882974, 0.0047347504, 0.047496114, -0.08617213, 0.009591299, -0.078052506, -0.1381898, -0.18845789, -0.024468902, 0.08282443, 0.09653097, -0.013629455, 0.053046867, 0.10030924) * conv2d_3_texOff(vec2(0, -1)); + result += mat4(0.056686174, 0.10158162, -0.10148985, -0.09656042, -0.040548015, -0.077940285, -0.058515888, 0.08102927, 0.2805579, 0.08287495, 0.022490898, -0.16125019, 0.11050356, -0.10154386, -0.10571093, 0.028916081) * conv2d_3_texOff(vec2(1, -1)); + result += mat4(0.12782824, 0.16595022, 0.0817979, -0.12992367, -0.0294961, -0.08895477, 0.0091270525, -0.030490559, -0.032378417, -0.024405543, 0.08162507, -0.16938132, 0.03223068, 0.013271533, 0.02296996, 0.0074539813) * conv2d_3_texOff(vec2(-1, 0)); + result += mat4(-0.075403385, 0.07022349, 0.04048072, -0.011805813, 0.049484305, 0.06511094, -0.058259293, -0.046113107, 0.06881787, 0.09468641, 0.08956952, -0.030891474, 0.029509544, -0.072196014, -0.02522846, -0.03126399) * conv2d_3_texOff(vec2(0, 0)); + result += mat4(-0.11992874, 0.006091359, 0.011452678, -0.019710643, -0.00091066724, -0.05322973, -0.09153711, -0.046453882, -0.056157224, -0.09612111, -0.12461235, 0.06839094, -0.053210936, 0.06443881, -0.06524147, -0.013285268) * conv2d_3_texOff(vec2(1, 0)); + result += mat4(0.016592978, -0.05170965, 0.013124206, -0.008229887, 0.068704724, -0.05544043, -0.033693474, -0.019731853, -0.14927536, -0.22934002, -0.16900721, 0.042109188, -0.07119953, 0.08096116, 0.09816346, -0.08440075) * conv2d_3_texOff(vec2(-1, 1)); + result += mat4(-0.021389626, -0.15911743, 0.059243187, -0.041614234, -0.08581605, -0.07801326, -0.014880717, 0.0688762, 0.16751014, 0.14271726, 0.050911162, -0.097509295, -0.02907791, -0.101282276, 0.092033915, -0.06555687) * conv2d_3_texOff(vec2(0, 1)); + result += mat4(0.055462394, -0.028573176, 0.019333964, -0.20141667, 0.0127428295, 0.038475774, 0.021786643, -0.061532535, -0.056278512, 0.05232261, -0.059163935, 0.1514255, -0.07671748, 0.013675766, 0.009982045, -0.08100556) * conv2d_3_texOff(vec2(1, 1)); + result += mat4(-0.005167638, 0.020581504, -0.07862394, -0.17684157, -0.0031000625, -0.14954539, 0.069842964, 0.030354353, 0.124608554, -0.09446856, 0.1687582, 0.005157815, 0.007742732, 0.09855265, 0.040785424, -0.06443787) * conv2d_4_texOff(vec2(-1, -1)); + result += mat4(-0.107285194, -0.012274551, 0.03476451, 0.08232292, -0.028296445, -0.08165656, 0.1113063, -0.04116379, -0.117790595, 0.0061224755, 0.17527793, 0.11147725, 0.07468039, -0.060451962, -0.05534745, -0.053837113) * conv2d_4_texOff(vec2(0, -1)); + result += mat4(-0.4099292, 0.05319343, -0.07277789, 0.08392169, 0.0778884, -0.0016935042, 0.053082906, -0.024616612, -0.010807481, -0.026990024, -0.0107655395, 0.10837214, -0.02306861, -0.09735729, -0.029194392, 0.06834456) * conv2d_4_texOff(vec2(1, -1)); + result += mat4(-0.47505695, 0.013424064, 0.15694304, 0.108538955, 0.16191903, 0.07646038, -0.07085192, -0.11418573, 0.13251925, -0.12840144, -0.19181624, -0.10899171, 0.07911538, 0.037602026, 0.033040803, -0.087832704) * conv2d_4_texOff(vec2(-1, 0)); + result += mat4(0.0023192822, 0.056456596, 0.11698143, 0.06585435, 0.20019081, -0.1072962, -0.05490011, 0.05927231, 0.111795865, 0.10762911, 0.115964815, -0.0057104235, 0.029638218, 0.09479947, 0.024725636, 0.09952583) * conv2d_4_texOff(vec2(0, 0)); + result += mat4(-0.37098902, 0.09024805, 0.04935781, -0.0108443815, 0.38294646, 0.14033927, -0.08040615, -0.00047512425, 0.20373835, 0.02647173, 0.17475735, -0.10867986, -0.013326589, -0.01081643, -0.07153496, 0.077986486) * conv2d_4_texOff(vec2(1, 0)); + result += mat4(0.2026888, 0.38725019, 0.22630195, -0.2397593, -0.057994384, -0.1602306, -0.20954075, 0.23057564, -0.1212649, -0.06828097, -0.31270313, 0.07583422, -0.02048566, 0.060854737, -0.026188299, 0.02587037) * conv2d_4_texOff(vec2(-1, 1)); + result += mat4(-0.115148544, -0.05973017, 0.105538286, 0.038416564, 0.07450745, 0.17460452, -0.024395261, -0.07867058, 0.048128754, -0.050820958, -0.09522374, -0.05467946, -0.115934685, 0.077789195, 0.08014698, 0.06520131) * conv2d_4_texOff(vec2(0, 1)); + result += mat4(0.18097208, -0.057183832, 0.115934014, -0.06612094, -0.20411746, -0.02116219, -0.09826483, 0.12012894, -0.12474726, -0.12424287, -0.021464726, 0.23416954, 0.074439414, 0.042034335, -0.03599648, 0.10615894) * conv2d_4_texOff(vec2(1, 1)); + result += mat4(-0.12838504, 0.078036584, -0.060761474, -0.07416854, 0.19088359, -0.108306155, 0.06963609, 0.01153449, -0.26607174, 0.075586155, 0.008192374, -0.02142922, -0.07934279, 0.065015435, 0.050541308, -0.0029828877) * conv2d_5_texOff(vec2(-1, -1)); + result += mat4(-0.36981347, -0.037735168, 0.043609772, 0.028525606, 0.09282028, -0.09432902, 0.12392448, -0.034204256, -0.10482351, -0.0038587102, -0.037856054, -0.08583087, -0.23455796, 0.0681164, 0.041203354, -0.0337476) * conv2d_5_texOff(vec2(0, -1)); + result += mat4(-0.17138104, 0.018881427, 0.13214697, 0.025100978, 0.056494992, -0.09864637, -0.03657233, 0.05699267, -0.11559624, 0.06690213, -0.08271825, -0.16194308, 0.1698416, 0.092894256, -0.028552894, -0.05993268) * conv2d_5_texOff(vec2(1, -1)); + result += mat4(0.05665143, -0.10725243, -0.021360341, -0.020634897, -0.05536402, 0.01126733, -0.09322824, -0.018626515, -0.039469253, -0.031065976, 0.12657729, 0.06617079, 0.009733555, -0.09043607, 0.027877841, -0.070866555) * conv2d_5_texOff(vec2(-1, 0)); + result += mat4(0.06927989, -0.0354144, 0.0913346, -0.02813786, 0.14509279, 0.11216251, -0.020455442, -0.10641737, -0.00992218, -0.053365022, -0.052748807, -0.13504332, 0.07232538, 0.09110253, 0.09554926, -0.09316133) * conv2d_5_texOff(vec2(0, 0)); + result += mat4(0.0413889, -0.04932883, 0.18011075, 0.07646243, 0.0059266337, 0.1268775, -0.10422976, 0.03187383, -0.015668241, 0.015213961, 0.1008891, 0.020698952, 0.088751554, 0.02155865, -0.00312336, 0.049160823) * conv2d_5_texOff(vec2(1, 0)); + result += mat4(-0.09845953, -0.04807057, -0.043651782, 0.10603783, -0.019108322, 0.11157556, 0.026124043, 0.04728367, 0.022227494, 0.07575614, 0.027786085, -0.077188425, -0.05634767, 0.017439459, -0.012602251, 0.1331112) * conv2d_5_texOff(vec2(-1, 1)); + result += mat4(0.12226909, -0.12653734, 0.06052695, 0.0022916752, -0.026772361, 0.11964343, -0.005062834, 0.116502516, 0.06149993, -0.19168381, 0.048470173, 0.047855955, -0.044725195, 0.15975447, 0.010538891, 0.041401602) * conv2d_5_texOff(vec2(0, 1)); + result += mat4(0.0021262981, 0.096402995, 0.036751896, 0.095884934, -0.1440762, -0.033938132, 0.041247673, 0.17431653, 0.08332564, 0.085176274, 0.02079729, -0.13884166, -0.0103706485, -0.056976233, 0.06429865, 0.20951837) * conv2d_5_texOff(vec2(1, 1)); + result += mat4(-0.14865911, -0.0033151659, -0.07556782, -0.09529799, -0.07728004, 0.08411206, 0.05856479, -0.017499086, -0.1811411, 0.0665903, -0.068367556, 0.21565972, -0.080145344, 0.017228749, 0.07492279, -0.065801576) * conv2d_6_texOff(vec2(-1, -1)); + result += mat4(-0.14765729, 0.10826299, -0.024709873, 0.012362728, 0.04391636, 0.10987977, -0.018460494, 0.00878542, -0.11648853, -0.0547344, -0.10289871, -0.036513843, -0.22267629, 0.14624597, 0.12987025, -0.068637624) * conv2d_6_texOff(vec2(0, -1)); + result += mat4(0.013880712, 0.07201017, 0.08995496, 0.023345022, -0.0069717257, 0.12730515, 0.08843655, 0.13002919, 0.029217303, 0.048933927, -0.057865877, 0.0029433516, 0.009081064, 0.00090320734, -0.039985053, 0.12593411) * conv2d_6_texOff(vec2(1, -1)); + result += mat4(-0.020093922, 0.02832678, 0.076517284, 0.14896962, 0.030297626, 0.039410945, 0.06290372, -0.012125426, 0.016962443, 0.12556942, 0.081339605, -0.07519717, -0.10587436, -0.11860046, 0.047564913, 0.1811847) * conv2d_6_texOff(vec2(-1, 0)); + result += mat4(-0.0022420331, -0.018002613, -0.05148695, 0.044879645, -0.021220846, 0.12832104, 0.04005127, -0.03339664, -0.14241697, 0.0080814725, 0.054456588, 0.09187548, -0.0062494064, -0.021719959, 0.008873317, -0.089253955) * conv2d_6_texOff(vec2(0, 0)); + result += mat4(-0.027915016, -0.0050413944, -0.003969127, -0.061730318, -0.024238197, -0.08404075, 0.008629776, -0.042085335, 0.024575708, 0.088190086, 0.08441291, 0.033729814, -0.11431039, -0.015531204, 0.01765996, 0.12082085) * conv2d_6_texOff(vec2(1, 0)); + result += mat4(-0.05232218, -0.1242685, 0.11219631, -0.0071739196, 0.0032092307, 0.012850346, 0.141704, -0.082019165, -0.01477886, -0.07279771, 0.037390485, -0.037801385, 0.078651845, -0.02685829, 0.016210916, -0.1317117) * conv2d_6_texOff(vec2(-1, 1)); + result += mat4(0.0049826205, 0.045458294, -0.094738096, -0.012499717, -0.062567115, 0.0020541043, -0.05723545, 0.06692189, 0.020766987, 0.009829899, 0.102257006, 0.035253223, 0.017854722, -0.016762182, 0.15947789, -0.125396) * conv2d_6_texOff(vec2(0, 1)); + result += mat4(0.036733855, 0.05617634, 0.005982208, 0.09329533, 0.09484701, -0.029876193, 0.0055299876, -0.04210585, 0.06478121, 0.033512, -0.04066347, 0.0084053995, 0.06250591, 0.079230666, 0.15870893, 0.107289195) * conv2d_6_texOff(vec2(1, 1)); + result += mat4(-0.06531635, -0.06625975, -0.10347056, 0.025065754, 0.026364654, 0.02390899, -0.0046242476, 0.11252533, 0.022141954, 0.17861386, 0.043199148, -0.17532277, -0.041788377, -0.08357254, -0.07215946, -0.0669387) * conv2d_7_texOff(vec2(-1, -1)); + result += mat4(0.02921715, -0.10792706, -0.012892618, 0.06352269, 0.06141789, 0.07308627, -0.020512952, -0.036848176, -0.017593946, -0.040751047, -0.062127266, 0.12765522, -0.0736577, 0.14404714, 0.04670535, 0.010925797) * conv2d_7_texOff(vec2(0, -1)); + result += mat4(0.08084389, 0.03364242, -0.026560796, 0.06986507, 0.06206371, 0.063918054, -0.019717116, 0.00048482596, 0.042276606, -0.024262639, -0.120303124, -0.037834655, -0.11741202, -0.087440185, -0.10753524, 0.11074116) * conv2d_7_texOff(vec2(1, -1)); + result += mat4(-0.013639584, -0.04522073, -0.045491457, 0.07629796, -0.030604478, -0.05056982, -0.10951277, -0.03778193, -0.17291497, 0.046923887, 0.001919085, 0.11581932, -0.009824227, 0.14124894, 0.12648281, -0.010122175) * conv2d_7_texOff(vec2(-1, 0)); + result += mat4(-0.04298535, -0.01983132, -0.0032256874, 0.022838103, -0.18907496, -0.07964904, -0.024860065, 0.019412767, -0.0826054, -0.014342087, -0.08917059, 0.005110098, -0.014483347, -0.020919787, 0.054011423, 0.14644018) * conv2d_7_texOff(vec2(0, 0)); + result += mat4(0.017723536, -0.024452621, 0.038154136, -0.033410314, -0.0039806333, -0.056049388, -0.09950896, -0.01011608, 0.089299366, -0.085298575, 0.0056067267, -0.1920985, 0.031546757, 0.07737097, 0.04859091, 0.03354972) * conv2d_7_texOff(vec2(1, 0)); + result += mat4(-0.106303185, -0.020270139, 0.055845004, 0.08245232, -0.077301726, -0.111508645, 0.048426956, 0.061425447, 0.010446957, -0.05391356, 0.12373156, -0.04634582, -0.08086986, -0.12794629, -0.0010374871, -0.03704727) * conv2d_7_texOff(vec2(-1, 1)); + result += mat4(-0.10840291, -0.025253637, 0.043432534, -0.027769437, 0.012440286, 0.012097243, 0.006579044, -0.01397799, -0.0019582852, -0.030722551, 0.042473722, -0.18090717, 0.058281105, 0.06528352, 0.15172726, -0.06857547) * conv2d_7_texOff(vec2(0, 1)); + result += mat4(-0.09554375, 0.08136336, 0.019328006, -0.04607918, 0.06763769, 0.020982848, 0.03403954, 0.07027059, -0.027469065, -0.07210642, 0.053730663, -0.025463764, 0.0121935345, -0.06680501, 0.047258466, 0.047999073) * conv2d_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-2-ReLU) +//!HOOK LUMA +//!BIND conv2d_1_0 +//!BIND conv2d_1_1 +//!BIND conv2d_1_2 +//!BIND conv2d_1_3 +//!BIND conv2d_1_4 +//!BIND conv2d_1_5 +//!BIND conv2d_1_6 +//!BIND conv2d_1_7 +//!SAVE conv2d_2_0 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.003442629, 0.013375611, 0.011637685, -0.0033052866); + result += mat4(-0.0516883, 0.1223235, -0.010883935, 0.09438911, 0.017591503, 0.051363852, 0.051496428, -0.04656569, 0.02543791, -0.1092288, 0.11765959, 0.039808914, -0.047174525, -0.114782095, -0.019813973, -0.027763354) * conv2d_1_0_texOff(vec2(-1, -1)); + result += mat4(-0.042130083, -0.17126416, 0.033631187, 0.09168481, 0.019962575, 0.10976285, 0.034760248, 0.073325485, -0.09115988, -0.0115670655, -0.03478817, 0.018615771, -0.0023165664, 0.014027706, -0.03731295, -0.043543793) * conv2d_1_0_texOff(vec2(0, -1)); + result += mat4(-0.16503891, 0.1166455, -0.14426629, -0.11587218, -0.017246457, 0.10145523, -0.024674272, -0.03727136, -0.038797025, 0.024247516, 0.07808381, 0.019523546, 0.0056397147, 0.013953187, 0.09304354, 0.07722131) * conv2d_1_0_texOff(vec2(1, -1)); + result += mat4(-0.074226476, -0.20569965, -0.040748388, 0.12922601, -0.032972317, 0.11628865, 0.08778825, 0.100518756, 0.016125318, -0.13110456, -0.015183646, -0.022027299, 0.032437608, -0.110451385, -0.03447586, 0.0043697096) * conv2d_1_0_texOff(vec2(-1, 0)); + result += mat4(0.032670178, -0.16246165, 0.024775188, 0.09502671, 0.025912184, 0.121336885, 0.025341397, -0.030970527, -0.049652822, -0.14885397, 0.041994046, -0.023311207, -0.08581219, -0.13498022, 0.06965343, -0.056874692) * conv2d_1_0_texOff(vec2(0, 0)); + result += mat4(0.06393143, 0.034051385, 0.008888838, 0.038546853, 0.06947941, 0.06178005, -0.049819645, 0.06794293, -0.13366286, -0.14938863, -0.037693966, 0.051842153, 0.037708096, 0.040628813, 0.102534845, 0.0071342047) * conv2d_1_0_texOff(vec2(1, 0)); + result += mat4(0.06150137, -0.046255656, 0.13692896, -0.023179762, 0.03713181, -0.10310992, 0.09385238, -0.0047284197, 0.025656024, 0.09891812, 0.08686281, -0.009539339, 0.0731247, 0.07668687, -0.09762713, -0.059970424) * conv2d_1_0_texOff(vec2(-1, 1)); + result += mat4(0.059885383, -0.08883125, 0.05225452, -0.025442436, 0.06153856, 0.14436032, 0.013788722, 0.0113854725, -0.012819896, -0.19287184, 0.09983513, -0.024793316, 0.038836777, -0.052246887, 0.0059347996, 0.01900127) * conv2d_1_0_texOff(vec2(0, 1)); + result += mat4(0.15384208, -0.22237863, 0.07046196, 0.09070783, -0.019386219, 0.01878587, 0.09160569, 0.16305578, 0.0098382505, -0.14395851, 0.014114545, -0.035733894, 0.056480207, 0.0006837963, 0.0019656941, 0.04400927) * conv2d_1_0_texOff(vec2(1, 1)); + result += mat4(-0.10650795, 0.046735253, 0.09259645, 0.014654708, 0.010226026, -0.11936858, -0.11678929, -0.052416194, 0.13530041, -0.05194774, 0.13022895, 0.1432494, -0.035729438, -0.0019865127, 0.050633468, 0.006274034) * conv2d_1_1_texOff(vec2(-1, -1)); + result += mat4(0.0214423, -0.17011152, -0.028696338, -0.110234044, -0.040174622, -0.108965695, 0.008227098, 0.063629985, -0.14791602, 0.004125044, 0.011615113, 0.122726314, -0.028705064, -0.039566778, -0.071891725, -0.06212427) * conv2d_1_1_texOff(vec2(0, -1)); + result += mat4(-0.081452325, 0.020910071, -0.016452488, 0.07210494, -0.08088186, 0.06797714, 0.08857902, -0.03965487, 0.046168204, -0.05276988, 0.04365019, 0.24730065, -0.003263334, -0.14522351, -0.02959662, 0.09913768) * conv2d_1_1_texOff(vec2(1, -1)); + result += mat4(0.09131164, -0.03868012, -0.045859553, 0.038488243, 0.10892, 0.13744669, -0.063878775, -0.017026704, -0.31645218, 0.16467562, -0.09782914, -0.10328421, 0.08764717, 0.042647827, -0.03998367, -0.0065759374) * conv2d_1_1_texOff(vec2(-1, 0)); + result += mat4(-0.07121675, -0.053125687, -0.015473897, 0.037690498, -0.11444654, -0.14523968, 0.008924308, -0.04098788, -0.104130544, -0.05505333, -0.028085077, -0.052494265, -0.0226373, 0.0030073656, 0.0841683, -0.05533188) * conv2d_1_1_texOff(vec2(0, 0)); + result += mat4(0.06603429, -0.0698434, -0.01583814, -0.05218147, 0.0054660025, -0.11764239, -0.028240068, 0.010165519, -0.28188765, -0.01058381, -0.03525232, -0.047920473, -0.047851518, -0.04823144, -0.058103524, -0.08332379) * conv2d_1_1_texOff(vec2(1, 0)); + result += mat4(0.028600972, 0.13142908, 0.026104137, -0.04268192, -0.022775013, -0.014523361, 0.02226707, 0.06322737, -0.10761655, 0.06735946, 0.117321685, -0.016469825, -0.056598056, 0.02441578, -0.03231526, 0.009799762) * conv2d_1_1_texOff(vec2(-1, 1)); + result += mat4(0.046519756, 0.0010246322, 0.055382118, 0.10480469, -0.056605417, -0.0649274, 0.039919082, 0.042091604, -0.03027313, 0.000687018, 0.03254063, -0.17211948, 0.04611447, 0.06783789, 0.10692804, -0.014811766) * conv2d_1_1_texOff(vec2(0, 1)); + result += mat4(0.07505623, -0.15010943, -0.09224019, -0.009662299, 0.0391686, -0.07664002, 0.07763067, -0.064216435, -0.09109313, 0.12934338, 0.03457879, 0.01982002, 0.045189314, 0.0014844715, -0.1354248, 0.07776369) * conv2d_1_1_texOff(vec2(1, 1)); + result += mat4(-0.23575372, -0.20916402, 0.062224787, -0.112326115, 0.064626195, -0.03810418, 0.07295485, 0.014745601, 0.08663006, -0.035257984, 0.067087986, -0.0068540587, -0.07883062, -0.049193997, -0.01979881, -0.036141884) * conv2d_1_2_texOff(vec2(-1, -1)); + result += mat4(-0.016203457, -0.20384413, -0.06284793, -0.039454132, 0.05827383, 0.06440675, 0.036207717, 0.020822337, 0.04353693, 0.037884302, -5.167541e-05, 0.05858269, -0.0009116797, -0.00086968276, 0.031834215, -0.024399042) * conv2d_1_2_texOff(vec2(0, -1)); + result += mat4(-0.003219082, -0.04297337, -0.0062287953, 0.08495083, -0.004494778, 0.10618316, -0.17250143, 0.029387794, 0.048578553, -0.17977375, -0.09815774, -0.004012064, 0.034396183, 0.031990655, 0.04576335, 0.044685774) * conv2d_1_2_texOff(vec2(1, -1)); + result += mat4(0.057716437, 0.06253896, -0.088651486, -0.046108227, -0.06020788, 0.016781656, 0.041366972, 0.09491335, 0.06343052, -0.014260148, 0.05434982, 0.02787039, 0.1024581, 0.010880765, -0.033063978, 0.06677028) * conv2d_1_2_texOff(vec2(-1, 0)); + result += mat4(0.12709586, 0.4045799, 0.009852, -0.02042569, 0.08908296, -0.1090025, 0.033085667, -0.03766496, -0.06446206, 0.04983797, -0.05064461, -0.16059521, -0.12109033, -0.0027703668, 0.066734456, 0.02556977) * conv2d_1_2_texOff(vec2(0, 0)); + result += mat4(-0.073184855, 0.25490257, -0.16114198, 0.02275981, 0.0065019755, 0.08409689, -0.14280286, -0.08801142, -0.066786714, 0.014090064, -0.26533183, 0.06304747, 0.02210616, -0.032883894, 0.06576031, -0.011046229) * conv2d_1_2_texOff(vec2(1, 0)); + result += mat4(-0.14275646, -0.00084464403, -0.0703081, 0.043860044, -0.010851522, -0.22751017, 0.122808665, 0.046687886, -0.02003021, 0.035175133, 0.119783655, -0.031573713, 0.032656256, -0.053362623, -0.02658459, 0.03316823) * conv2d_1_2_texOff(vec2(-1, 1)); + result += mat4(-0.055334743, 0.017404053, -0.016423844, 0.0741847, -0.07912923, -0.040405974, 0.05193074, 0.012869429, 0.036050186, 0.031962436, 0.12607427, -0.011362307, -0.09532705, -0.08341516, -0.020436132, -0.005016131) * conv2d_1_2_texOff(vec2(0, 1)); + result += mat4(0.054198246, -0.008781335, 0.11987427, 0.013400618, -0.06351809, 0.017788813, -0.03444837, -0.005943444, -0.07397155, 0.080663346, -0.13804428, 0.06851538, -0.08832343, -0.08281272, 0.061568934, -0.05590224) * conv2d_1_2_texOff(vec2(1, 1)); + result += mat4(0.048422214, 0.0882096, -0.015030608, -0.10135356, 0.008011804, 0.030250866, 0.014552564, 0.008256356, -0.05740036, -0.046427455, -0.018813487, -0.016010005, 0.01048484, -0.114028156, 0.031222235, -0.060205508) * conv2d_1_3_texOff(vec2(-1, -1)); + result += mat4(0.028182564, -0.05912414, 0.022914773, -0.13453418, 0.037059613, -0.036556043, -0.07535737, -0.016822884, -0.028566778, 0.11565894, 0.021367239, -0.06701894, -0.032096725, 0.044734847, -0.0073112627, 0.0074240505) * conv2d_1_3_texOff(vec2(0, -1)); + result += mat4(-0.05880545, -0.052018944, 0.022135228, -0.03800326, -0.07087699, -0.28158522, 0.121120945, 0.029811101, 0.057445467, 0.290543, 0.078989066, 0.019574359, 0.08412573, -0.10001867, 0.00626211, 0.05163718) * conv2d_1_3_texOff(vec2(1, -1)); + result += mat4(-0.050437752, 0.020409917, 0.05806958, 0.019130085, 0.0372162, 0.09366855, -0.07678022, -0.039855033, 0.033538964, 0.23069714, -0.038316667, -0.12954265, -0.07289259, 0.049885344, 0.06292729, -0.025425589) * conv2d_1_3_texOff(vec2(-1, 0)); + result += mat4(0.023943014, -0.08759173, -0.06185972, -0.061545014, 0.053152163, 0.19081846, 0.043645542, -0.008407938, -0.075783245, -0.1859964, 0.08659916, 0.010488999, 0.08240174, -0.11964047, -0.114584886, -0.11902114) * conv2d_1_3_texOff(vec2(0, 0)); + result += mat4(-0.010366827, -0.029145885, 0.115005665, 0.01655262, 0.04004001, 0.06597598, -0.09807251, 0.08586093, 0.08319979, 0.013092327, 0.08287092, 0.078944795, -0.030562766, -0.027823647, -0.05334102, -0.11193261) * conv2d_1_3_texOff(vec2(1, 0)); + result += mat4(0.054666776, 0.13348368, 0.0019419125, 0.08124257, 0.046780676, -0.07266956, 0.06664775, -0.035681203, -0.0008467227, -0.14177862, 0.051860817, -0.14050585, 0.005693945, -0.16635133, 0.02721335, -0.03807163) * conv2d_1_3_texOff(vec2(-1, 1)); + result += mat4(0.07823977, -0.15409158, -0.08923035, 0.08401554, -0.099613614, -0.16091618, 0.039866116, -0.012680801, 0.055174213, 0.07946077, -0.044296768, 0.05820352, -0.015891919, -0.046970848, -0.019661175, -0.1313544) * conv2d_1_3_texOff(vec2(0, 1)); + result += mat4(-0.08236053, -0.14904302, -0.007949339, 0.06310023, -0.08902054, 0.09991664, -0.026032416, -0.0011966327, -0.036444787, 0.09199297, -0.21504907, 0.043247856, 0.02236589, -0.15416005, -0.0105029885, -0.0067938785) * conv2d_1_3_texOff(vec2(1, 1)); + result += mat4(-0.11732966, -0.10472387, 0.12730962, -0.053779032, -0.08099377, 0.04476129, 0.022480056, -0.13573004, 0.18501645, -0.11255146, -0.0829434, -0.08779753, -0.082872234, -0.07091369, 0.046987016, 0.001789607) * conv2d_1_4_texOff(vec2(-1, -1)); + result += mat4(0.0001841773, 0.08885647, -0.13208508, -0.072944574, 0.0070056603, -0.054579325, -0.16735768, -0.049921118, -0.049292635, -0.03392617, 0.10550992, 0.030762367, -0.10163061, 0.047216035, -0.08041572, -0.07611193) * conv2d_1_4_texOff(vec2(0, -1)); + result += mat4(-0.035448655, 0.14822306, -0.04878872, -0.0746945, -0.060244925, 0.0822443, 0.0625219, 0.03356549, 0.03891253, -0.010678343, 0.072259866, -0.12065982, 0.027890064, -0.01056815, -0.106252536, -0.00812856) * conv2d_1_4_texOff(vec2(1, -1)); + result += mat4(0.010682728, -0.057190124, 0.024039853, -0.049071018, 0.06671262, 0.10580547, 0.06114008, -0.027142048, 0.0070528546, 0.111861385, 0.05085344, 0.07242349, 0.11960674, -0.22299533, 0.026508173, 0.030118395) * conv2d_1_4_texOff(vec2(-1, 0)); + result += mat4(0.13280915, -0.07924072, -0.090050384, 0.05283513, -0.091666065, -0.14002225, -0.14763567, -0.016189087, -0.10117109, 0.05499106, 0.029511433, 0.081549644, -0.035187725, 0.06161617, 0.042676724, 0.029305635) * conv2d_1_4_texOff(vec2(0, 0)); + result += mat4(0.08529392, -0.051476993, 0.040334698, 0.08094866, -0.050459165, 0.026990544, 0.017269399, -0.0046234047, -0.07637832, -0.0015510239, 0.11318409, -0.004616539, 0.10067467, 0.14108709, 0.043603513, -0.088025756) * conv2d_1_4_texOff(vec2(1, 0)); + result += mat4(-0.038899567, 0.03502128, 0.094575115, -0.1716205, -0.037085354, -0.11291488, -0.025886811, -0.10783659, 0.04456275, -0.052541457, -0.079615116, 0.073266625, -0.067546375, -0.07555959, 0.03368702, -0.07228856) * conv2d_1_4_texOff(vec2(-1, 1)); + result += mat4(-0.08401444, -0.0033819543, -0.111090004, -0.012519393, 0.051470328, -0.19865474, -0.14088048, 0.06306316, -0.063153945, -0.029220344, 0.009064916, 0.05055387, -2.0794327e-05, -0.025079904, 0.021477627, 0.034820333) * conv2d_1_4_texOff(vec2(0, 1)); + result += mat4(0.038313475, 0.03284816, 0.114614934, -0.12352222, -0.012737359, -0.0028172547, -0.046252742, 0.17683344, -0.096878424, 0.08909354, 0.04416406, 0.004774474, -0.04148429, 0.023412686, -0.008101432, 0.067253225) * conv2d_1_4_texOff(vec2(1, 1)); + result += mat4(0.062278196, -0.53816324, -0.15103306, -0.17200018, 0.051400732, 0.04138932, 0.13394047, -0.119237274, -0.047384914, 0.01679893, -0.0068038427, 0.025806105, -0.117235914, 0.087412186, -0.11617584, -0.14323951) * conv2d_1_5_texOff(vec2(-1, -1)); + result += mat4(0.11668384, 0.074840136, 0.42223442, -0.19560121, -0.020292128, 0.01671585, 0.054223668, -0.056781337, 0.07575778, -0.018754218, 0.06514087, -0.031790406, -0.10921607, 0.052557115, -0.16343062, 0.030965082) * conv2d_1_5_texOff(vec2(0, -1)); + result += mat4(0.17218459, 0.23054613, 0.16784467, -0.065492846, -0.050076734, 0.123028904, -0.17201862, -0.1655768, 0.06440684, 0.13164178, -0.005537595, -0.034656573, -0.22443742, 0.20967042, 0.3041761, -0.007478679) * conv2d_1_5_texOff(vec2(1, -1)); + result += mat4(-0.17426656, 0.4528224, -0.12206193, -0.09436925, 0.08454841, -0.09759462, 0.014630061, -0.057183, 0.05609388, 0.010791998, 0.007940699, 0.02109524, -0.121039115, 0.376498, -0.049768537, -0.14014526) * conv2d_1_5_texOff(vec2(-1, 0)); + result += mat4(-0.056152247, -0.078359775, 0.024252938, 0.002805122, -0.049185686, -0.42327765, 0.022885872, -0.11947411, -0.06836373, -0.11480447, -0.085081905, 0.071665406, -0.36042693, 0.18898365, 0.12252569, -0.061614163) * conv2d_1_5_texOff(vec2(0, 0)); + result += mat4(0.06352047, -0.03375747, -0.065147534, -0.0574813, 0.1371266, 0.103330635, -0.1323223, -0.2582797, 0.059934467, -0.075954154, 0.05327265, -0.00027559337, -0.436382, 0.23164439, -0.11767409, -0.13686763) * conv2d_1_5_texOff(vec2(1, 0)); + result += mat4(-0.010999393, 0.037416346, -0.117749415, 0.037723485, -0.09378002, -0.06545638, 0.10155104, -0.2491548, 0.0728737, 0.07561564, -0.09612676, 0.066651665, 0.15435365, -0.20851313, -0.25308436, -0.1517674) * conv2d_1_5_texOff(vec2(-1, 1)); + result += mat4(-0.059262548, 0.088123396, 0.04595589, 0.071299136, -0.2657167, -0.0743166, 0.19549409, -0.17509139, -0.07912206, -0.07722041, 0.032773502, 0.008807091, -0.36755344, 0.69608283, 0.2551445, -0.06061691) * conv2d_1_5_texOff(vec2(0, 1)); + result += mat4(-0.12210964, -0.057808213, -0.03825865, 0.027386822, -0.21363692, -0.12373217, -0.13868341, -0.2978032, -0.06466259, 0.10511675, 0.101937175, -0.0048433132, -0.091977045, 0.044653077, 0.20223714, -0.33129585) * conv2d_1_5_texOff(vec2(1, 1)); + result += mat4(-0.058450785, 0.063353345, 0.099592514, 0.030007755, -0.04972511, -0.14383356, 0.0020709035, 0.07048428, -0.022548817, 0.0063583693, 0.004757659, 0.056969695, 0.046252646, 0.2022494, 0.036288697, 0.007839983) * conv2d_1_6_texOff(vec2(-1, -1)); + result += mat4(-0.021845829, -0.08786369, -0.13037223, 0.027431091, 0.030601915, -0.04768066, -0.03495091, 0.033611946, 0.03385561, -0.06580581, -0.021568859, -0.016728533, 0.04180178, 0.3107473, -0.04187441, -0.009557169) * conv2d_1_6_texOff(vec2(0, -1)); + result += mat4(-0.017555168, -0.09019388, -0.13118231, 0.0041893627, -0.055518832, 0.10808544, 0.018163051, 0.06777048, 0.025003126, -0.02140458, 0.071954355, -0.022797646, -0.0066630314, -0.07335746, -0.06472745, 0.030310564) * conv2d_1_6_texOff(vec2(1, -1)); + result += mat4(-0.01794501, -0.092173874, 0.05863492, 0.028494524, 0.18878207, 0.12759832, -0.1275855, 0.05596837, 0.034271166, 0.060568184, 0.033352237, 0.026323156, 0.046888746, 0.13910039, -0.033721946, 0.048105676) * conv2d_1_6_texOff(vec2(-1, 0)); + result += mat4(0.0843007, 0.14086449, -0.12937884, -0.029571462, -0.103683874, -0.12255864, 0.011206627, -0.037995305, -0.00062648655, -0.033720143, 0.04066085, -0.05737302, -0.099000625, 0.11286555, -0.06838891, -0.017499028) * conv2d_1_6_texOff(vec2(0, 0)); + result += mat4(0.03421948, 0.048566256, -0.1642122, 0.07475413, 0.029047074, 0.02460739, 0.048939757, -0.0061795223, 0.040129643, -0.15545441, -0.028020121, 0.006692578, 0.043647636, 0.20153019, -0.087731495, -0.047531262) * conv2d_1_6_texOff(vec2(1, 0)); + result += mat4(-0.019625593, -0.118388884, 0.054435182, -0.005192937, 0.061393365, 0.12351411, -0.009069284, -0.08370055, -0.036216546, 0.012977539, -0.016095726, 0.083318464, 0.0023230386, 0.054868925, 0.0021136866, -0.052701376) * conv2d_1_6_texOff(vec2(-1, 1)); + result += mat4(0.12024552, -0.057164833, -0.024687454, -0.020667013, -0.083002895, 0.04474543, 0.029743817, -0.04447344, -0.08212052, 0.062480733, -0.124424934, -0.117168, -0.0048817443, 0.23786889, 0.0876864, -0.06447469) * conv2d_1_6_texOff(vec2(0, 1)); + result += mat4(0.06302613, 0.015881766, -0.18436377, -0.0590962, -0.0006935935, -0.12352232, 0.046164673, 0.012302003, 0.020855915, -0.10902478, -0.07522982, -0.06429665, -0.034547158, 0.10823844, 0.015109224, -0.028962206) * conv2d_1_6_texOff(vec2(1, 1)); + result += mat4(-0.01946017, 0.016151685, 0.11467929, -0.04279579, 0.022072032, 0.1371591, -0.0482247, -0.051824886, -0.0031306858, 0.112242214, -0.055662546, -0.016279643, 0.047434453, -0.06905586, -0.008905158, 0.04366862) * conv2d_1_7_texOff(vec2(-1, -1)); + result += mat4(0.016693613, -0.001538355, 0.0112478165, 0.042273838, -0.1174123, 0.00038066664, -0.019793522, 0.15272483, 0.008429458, -0.073130004, -0.092114285, 0.075534694, -0.12419683, -0.13350578, 0.0949343, -0.046170726) * conv2d_1_7_texOff(vec2(0, -1)); + result += mat4(-0.07946698, -0.04164358, 0.056165032, 0.034795765, 0.0594917, -0.008625992, -0.04381531, -0.07846636, 0.0017590298, 0.14191683, 0.055887274, 0.080611594, -0.02343628, -0.04236199, -0.012723384, 0.046555463) * conv2d_1_7_texOff(vec2(1, -1)); + result += mat4(-0.006229897, 0.0926588, 0.013100328, 0.0713355, -0.06869194, -0.02985101, 0.021145627, 0.016922202, -0.03673092, 0.18399979, -0.056074876, 0.0070666173, -0.007980999, 0.14234199, 0.07306246, -0.029087301) * conv2d_1_7_texOff(vec2(-1, 0)); + result += mat4(0.07607793, 0.17911147, 0.013611211, -0.009084229, 0.13068137, 0.038981672, 0.029955443, -0.00994748, 0.09046184, 0.07559542, 0.012598565, -0.0034760982, -0.05443224, 0.034976996, -0.03046626, 0.057495724) * conv2d_1_7_texOff(vec2(0, 0)); + result += mat4(0.06430616, -0.0723466, -0.037540536, -0.022483155, -0.13232912, -0.18224835, -0.12110369, -0.064465016, -0.030505897, 0.05481982, 0.041200448, 0.024950625, -0.02368916, -0.056606762, 0.013905769, -0.012128648) * conv2d_1_7_texOff(vec2(1, 0)); + result += mat4(-0.039399266, 0.12301912, -0.05215033, 0.031424098, 0.004601558, -0.09658625, 0.14569914, 0.035255328, 0.03054353, -0.2175089, -0.0858491, 0.094312824, 0.116292305, 0.023325652, -0.012200195, 0.005125089) * conv2d_1_7_texOff(vec2(-1, 1)); + result += mat4(-0.09873105, 0.16695476, -0.074045815, 0.14276518, 0.09140053, -0.052848183, 0.015915362, 0.043499194, -0.02386, 0.09549653, -0.033498764, 0.026330357, 0.097885154, 0.10678137, -0.105109885, -0.025195993) * conv2d_1_7_texOff(vec2(0, 1)); + result += mat4(-0.03615445, 0.045302264, 0.052051153, -0.011744928, -0.010769293, -0.042392176, -0.10117992, -0.06578498, -0.035368808, 0.11709175, 0.04415361, -0.07105186, -0.03605601, -0.056450993, -0.024680115, -0.043298017) * conv2d_1_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-2-ReLU) +//!HOOK LUMA +//!BIND conv2d_1_0 +//!BIND conv2d_1_1 +//!BIND conv2d_1_2 +//!BIND conv2d_1_3 +//!BIND conv2d_1_4 +//!BIND conv2d_1_5 +//!BIND conv2d_1_6 +//!BIND conv2d_1_7 +//!SAVE conv2d_2_1 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0026704965, -0.0069852816, 0.013155309, -0.0030670145); + result += mat4(0.1088151, -0.1832992, 0.048958622, 0.01714007, -0.02975891, -0.07361721, 0.04749533, 0.025297625, 0.017636111, 0.035925288, 0.105162285, -0.02550838, 0.07371688, 0.18853368, 0.054847084, 0.054785542) * conv2d_1_0_texOff(vec2(-1, -1)); + result += mat4(0.02039287, -0.07107351, 0.058345817, -0.12288336, 0.012482367, 0.037051555, 0.15683356, 0.10577934, 0.0041690376, -0.0052497326, 0.07248003, 0.05679496, 0.038790483, 0.061607312, 0.09126633, 0.023941834) * conv2d_1_0_texOff(vec2(0, -1)); + result += mat4(0.12869008, -0.03287627, 0.01949578, -0.06683287, 0.008253354, -0.03939117, -0.028978111, 0.30465445, 0.028981432, 0.039871175, -0.05122636, -0.022937665, 0.0077531715, -0.033321038, 0.07472768, -0.14529845) * conv2d_1_0_texOff(vec2(1, -1)); + result += mat4(0.08185111, 0.07739009, 0.050191715, 0.013613045, 0.023266561, 0.0016993212, 0.04417637, 0.061227184, 0.020861998, 0.013890073, -0.09765723, -0.06517111, 0.017003689, -0.027420385, 0.029547054, -0.065200455) * conv2d_1_0_texOff(vec2(-1, 0)); + result += mat4(0.18058242, 0.1254569, 0.04266301, 0.08140856, 0.09683645, 0.01607585, -0.19379143, 0.23192826, -0.012026313, -0.06126885, -0.035950378, 0.013585793, -0.05303691, -0.13076438, 0.08686017, -0.034630038) * conv2d_1_0_texOff(vec2(0, 0)); + result += mat4(0.021640534, 0.05879787, -0.041268736, -0.0329055, 0.010431408, 0.011531553, -0.0946539, -0.23675436, 0.0039062416, -0.090672486, -0.14505802, -0.049114898, -0.019955348, -0.062832475, -0.068216555, -0.062025294) * conv2d_1_0_texOff(vec2(1, 0)); + result += mat4(0.10506846, -0.14340083, 0.04425446, -0.16630755, -0.013111705, -0.088043086, -0.07118783, -0.0084669255, 0.007818927, 0.08007053, 0.10037983, 0.008034847, -0.015481081, -0.09441236, -0.02934192, 0.080016166) * conv2d_1_0_texOff(vec2(-1, 1)); + result += mat4(0.23244402, -0.25649387, 0.10123927, -0.09339192, -0.11517544, -0.03192777, -0.028575087, -0.0039167535, 0.02461542, 0.06610514, -0.0022811962, -0.060388286, -0.07823475, -0.1295637, -0.1250978, -0.0077112494) * conv2d_1_0_texOff(vec2(0, 1)); + result += mat4(0.14078344, -0.25149414, -0.000262269, 0.03776187, -0.05942706, -0.11188389, 0.06237743, -0.0960046, 0.008844598, 0.01064003, 0.009240677, -0.105411306, 0.03588519, -0.08503706, 0.027017552, 0.091664344) * conv2d_1_0_texOff(vec2(1, 1)); + result += mat4(-0.025809344, 0.036648158, -0.038556434, -0.091364026, 0.021098474, -0.18813086, 0.054817956, 0.013274525, -0.004860089, 0.061252136, -0.4010078, 0.028161518, 0.057617947, -0.040474117, -0.028016347, 0.08150711) * conv2d_1_1_texOff(vec2(-1, -1)); + result += mat4(-0.03109231, 0.10934241, 0.112985976, 0.0393403, -0.044026494, -0.14719681, 0.08305918, -0.049001534, -0.14948358, -0.116897725, 0.14239249, -0.1475096, 0.04267312, 0.09919887, 0.058851175, -0.06775575) * conv2d_1_1_texOff(vec2(0, -1)); + result += mat4(0.07256321, -0.070845716, 0.08027308, -0.023798112, 0.021374578, -0.058409873, -0.005381723, 0.100429565, -0.067277536, -0.31138912, 0.028534539, -0.010959187, 0.042965706, -0.051006038, -0.0063746893, -0.0386547) * conv2d_1_1_texOff(vec2(1, -1)); + result += mat4(-0.00825807, 0.018709922, -0.0076478333, 0.05206399, 0.071014956, -0.044771537, 0.049626976, 0.042767078, 0.13867988, 0.08031969, 0.52796715, 0.012749221, -0.012184806, -0.050476115, -0.090253726, -0.061818082) * conv2d_1_1_texOff(vec2(-1, 0)); + result += mat4(-0.09834351, 0.20069839, 0.0008747681, -0.054800313, -0.03508278, -0.03650194, 0.008603268, -0.031086609, 0.08389489, 0.0628695, -0.007057513, 0.30119655, 0.016492778, -0.014644034, 0.08891636, 0.07418784) * conv2d_1_1_texOff(vec2(0, 0)); + result += mat4(0.07156967, -0.082470946, -0.07492583, 0.033875734, -0.013942119, 0.008381342, -0.13543797, -0.021790132, -0.07335912, 0.0398517, -0.033103228, 0.02030422, -0.044961028, 0.07043076, -0.09802279, -0.006354124) * conv2d_1_1_texOff(vec2(1, 0)); + result += mat4(0.04951003, 0.017480737, 0.016225683, 0.007048184, 0.059292335, 0.12895189, -0.05478721, -0.013576888, -0.13228326, 0.17077534, -0.28587508, 0.13150844, -0.068026975, 0.17105229, 0.04167912, 0.014466832) * conv2d_1_1_texOff(vec2(-1, 1)); + result += mat4(0.038300667, 0.07154786, -0.03586753, 0.016044145, 0.057209227, 0.090286724, -0.019170709, -0.07921791, -0.11503769, 0.12964235, -0.21930082, -0.014193156, -0.07745815, -0.11389486, -0.012471894, -0.07303676) * conv2d_1_1_texOff(vec2(0, 1)); + result += mat4(-0.05260188, -0.0008349193, -0.057639297, -0.08013019, -0.0062188604, 0.124228574, 0.011428276, 0.006081407, 0.0275851, 0.005091149, 0.071275055, 0.12313547, 0.036689863, -0.0072859265, 0.044182673, 0.03913697) * conv2d_1_1_texOff(vec2(1, 1)); + result += mat4(-0.085747205, 0.08977075, -0.075297445, -0.053212356, 0.043574367, -0.08332664, 0.033378232, -0.016753674, 0.035918314, 0.017287347, 0.10905726, 0.11174788, 0.041658066, -0.07496966, -0.16299699, 0.022935748) * conv2d_1_2_texOff(vec2(-1, -1)); + result += mat4(0.058556892, 0.04428411, -0.14927663, -0.09258147, 0.004791652, -0.09980849, 0.103075534, -0.039152823, -0.040156644, -0.0013588275, -0.09726483, -0.0933792, 0.00085981714, -0.06333058, -0.20642959, 0.062655844) * conv2d_1_2_texOff(vec2(0, -1)); + result += mat4(0.010851088, 0.01380577, -0.08843051, 0.029241262, -0.03987717, -0.04235511, 0.062285908, -0.028464457, 0.070916586, -0.17241235, -0.13732435, -0.04874849, -0.006166181, -0.026928531, -0.07700698, -0.003995623) * conv2d_1_2_texOff(vec2(1, -1)); + result += mat4(-0.008161641, 0.07345208, -0.11394142, -0.051929906, -0.03988688, 0.00034258308, 0.031395, -0.04526695, 0.036304057, -0.010043342, -0.05661853, -0.011951855, -0.001625418, 0.04959622, 0.041639585, -0.04584268) * conv2d_1_2_texOff(vec2(-1, 0)); + result += mat4(-0.056066968, -0.008693962, 0.06537246, 0.06524182, -0.05325742, -0.048489656, -0.13713194, -0.26379478, -0.09561769, 0.059302866, -0.04856914, -0.081459895, 0.036279865, -0.007421027, -0.051144138, 0.045120463) * conv2d_1_2_texOff(vec2(0, 0)); + result += mat4(-0.23677833, -0.100541584, -0.07114872, 0.19120902, -0.007977221, -0.0437171, 0.031434637, 0.13993657, 0.019671714, -0.033520013, 0.029058244, 0.05690114, 0.041721802, 0.092754856, 0.08479769, 0.015923) * conv2d_1_2_texOff(vec2(1, 0)); + result += mat4(-0.107399374, -0.072907366, -0.061016914, -0.07816711, 0.00865098, 0.062974535, -0.009175328, 0.057524927, -0.029175969, 0.097273156, 0.17491844, 0.10403947, -0.074273966, -0.033571154, -0.03973288, -0.01795094) * conv2d_1_2_texOff(vec2(-1, 1)); + result += mat4(-0.07135758, -0.03402484, 0.13840432, -0.059983995, -0.027984899, -0.005216275, -0.113446586, -0.011974018, -0.040498774, -0.025960442, 0.0021536136, -0.08108863, 0.06570102, 0.021127172, 0.10499755, -0.10434602) * conv2d_1_2_texOff(vec2(0, 1)); + result += mat4(0.13126719, 0.030389834, -0.027178172, 0.052266292, 0.050826833, 0.10726871, 0.018899592, 0.09672414, 0.004778316, 0.010996268, 0.09388898, 0.034348436, -0.021181598, 0.049826242, 0.025890322, -0.021035185) * conv2d_1_2_texOff(vec2(1, 1)); + result += mat4(0.02387066, -0.0019770782, 0.014698564, -0.008972518, -0.080487885, -0.051378407, -0.09584634, 0.041089877, -0.14433114, 0.11417367, -0.08283237, 0.05915595, -0.008951171, 0.031376246, 0.056666695, 0.045404032) * conv2d_1_3_texOff(vec2(-1, -1)); + result += mat4(0.04551425, 0.102362484, 0.0474437, -0.058157034, -0.036515962, -0.051881462, 0.014176975, 0.06985667, -0.04951922, 0.06337128, 0.23234814, 0.04558573, -0.0005147947, 0.09289937, -0.13400975, -0.037995934) * conv2d_1_3_texOff(vec2(0, -1)); + result += mat4(-0.011400457, 0.060906548, 0.017685182, 0.13471691, 0.042263918, -0.072464585, -0.029505994, 0.042287562, -0.15731233, 0.041662168, 0.12050174, -0.009218427, -0.05272572, 0.045482863, -0.07564003, 0.080094784) * conv2d_1_3_texOff(vec2(1, -1)); + result += mat4(-0.13179456, -0.044580128, -0.0678042, -0.0067075305, 0.036029655, 0.050663132, 0.099046044, 0.0021006803, 0.022268966, 0.05823543, 0.0706285, -0.042681515, -0.11546079, 0.037124842, -0.13093139, 0.09928705) * conv2d_1_3_texOff(vec2(-1, 0)); + result += mat4(0.0050920066, -0.048848465, 0.007235457, 0.047719467, 0.013665446, 0.059786, -0.044465125, -0.06423957, 0.009951522, -0.007955132, 0.06168498, 0.14562762, 0.016457863, -0.10418997, 0.11994617, -0.12006934) * conv2d_1_3_texOff(vec2(0, 0)); + result += mat4(-0.060305364, 0.091600575, 0.09400265, 0.004962471, -0.023778446, -0.10445334, -0.045618597, -0.08188831, -0.03188418, -0.051408507, 0.0733052, -0.0030304336, 0.0030962958, -0.13388325, 0.095084056, -0.10653108) * conv2d_1_3_texOff(vec2(1, 0)); + result += mat4(-0.077077985, -0.005678703, 0.035587642, 0.019118015, 0.0129434755, 0.09225257, 0.070360735, 0.058033004, -0.042619266, -0.15670079, -0.028990913, -0.037901893, 0.044235617, 0.016797164, 0.10073648, 0.07225611) * conv2d_1_3_texOff(vec2(-1, 1)); + result += mat4(0.10855486, -0.045005046, 0.05747941, -0.08356379, 0.008437102, 0.03584871, 0.018218372, -0.07147123, 0.052730054, -0.0541613, -0.09760797, 0.020678725, -0.1862807, 0.024548158, -0.06646696, -0.065310076) * conv2d_1_3_texOff(vec2(0, 1)); + result += mat4(0.06963095, 0.029642345, -0.0063035246, -0.018240528, 0.043350488, -0.08533327, 0.033755474, 0.013139315, -0.062036183, 0.063722596, 0.051771253, -0.03816292, 0.09839318, 0.09614864, 0.10981896, -0.1290471) * conv2d_1_3_texOff(vec2(1, 1)); + result += mat4(-0.17641085, -0.010182052, -0.0036417746, 0.14117956, -0.17076519, -0.11276081, 0.062209047, -0.0030820128, 0.02975343, -0.068979725, -0.05307052, -0.13357079, -0.0627314, 0.093097314, 0.12116838, -0.061883282) * conv2d_1_4_texOff(vec2(-1, -1)); + result += mat4(-0.1725705, 0.10295102, -0.0067457375, 0.070907705, -0.15377024, -0.05920565, 0.06955612, -0.09185015, 0.103261694, -0.02419628, 0.059518483, 0.0070519676, 0.0002755215, 0.030872881, 0.05809548, -0.14090301) * conv2d_1_4_texOff(vec2(0, -1)); + result += mat4(-0.0028612476, -0.06292442, -0.14077505, -0.0040909876, -0.04104147, -0.05700585, 0.12088585, -0.113127984, 0.0072628506, -0.2860728, -0.09936785, -0.05225051, 0.055694547, -0.015715964, 0.061907955, 0.0076989187) * conv2d_1_4_texOff(vec2(1, -1)); + result += mat4(-0.013300694, 0.05932074, 0.02024308, -0.012018003, -0.11679539, -0.048200108, -0.0010584274, -0.012746669, -0.1520735, -0.010815683, -0.009636238, 0.07178915, -0.08070399, -0.087217115, -0.13590254, 0.1416625) * conv2d_1_4_texOff(vec2(-1, 0)); + result += mat4(-0.07212092, 0.0133687835, 0.101147115, 0.043204058, 0.0014778317, -0.0031936024, -0.001279152, 0.06300477, 0.0065123173, -0.07069444, -0.03826448, -0.010170904, 0.060314506, 0.04550587, 0.032762975, 0.07501511) * conv2d_1_4_texOff(vec2(0, 0)); + result += mat4(0.0765572, -0.06225455, -0.03720499, -0.027457511, -0.017475808, 0.0854966, 0.0128695825, -0.06962552, 0.013439235, -0.3151606, -0.05162763, -0.06907078, 0.07320413, 0.118098356, 0.007507865, -0.06823115) * conv2d_1_4_texOff(vec2(1, 0)); + result += mat4(-0.13064471, -0.04525325, -0.06729313, -0.10874011, -0.12503847, -0.08993702, 0.123558454, -0.022549894, -0.045872938, -0.014483434, -0.015273253, 0.08612221, 0.07558581, -0.11063083, 0.056277506, -0.008811498) * conv2d_1_4_texOff(vec2(-1, 1)); + result += mat4(-0.09475841, 0.04157716, 0.101559035, -0.079362325, -0.14107005, -0.054472543, -0.000538525, -0.030467028, 0.0836119, 0.1072241, 0.093004026, 0.07438355, -0.052058168, -0.073526055, -0.12048847, 0.060134094) * conv2d_1_4_texOff(vec2(0, 1)); + result += mat4(0.012937585, 0.085655585, -0.0270884, 0.0158207, -0.13645686, 0.03343071, 0.154644, 0.060194816, 0.042012356, 0.11193414, -0.12376376, 0.014426494, -0.05523338, -0.058922317, -0.027986813, -0.026128557) * conv2d_1_4_texOff(vec2(1, 1)); + result += mat4(0.081485234, 0.19365637, 0.39215708, -0.33364275, -0.043804552, 0.35765672, -0.0031804915, -0.05506859, -0.027712235, 0.03164502, -0.005734909, 0.079150744, 0.064796105, -0.22864886, 0.30665022, 0.20148) * conv2d_1_5_texOff(vec2(-1, -1)); + result += mat4(0.027903143, -0.17736118, 0.019127762, -0.016941661, 0.049628414, 0.09541171, -0.06659206, 0.013946481, -0.03042714, -0.004203666, -0.053757437, -0.053279944, 0.18877645, 0.33594015, 0.06748911, -0.018176422) * conv2d_1_5_texOff(vec2(0, -1)); + result += mat4(-0.07447659, -0.015346219, 0.025095666, 0.13611203, 0.065223485, -0.019520022, -0.10179913, 0.009003509, 0.04392522, 0.01924529, 0.082025036, 0.055515688, 0.11723383, 0.03858237, 0.20347755, 0.59635836) * conv2d_1_5_texOff(vec2(1, -1)); + result += mat4(-0.038716223, 0.32654786, -0.081118494, 0.1309216, 0.09445383, 0.10445356, -0.019478874, 0.021666443, -0.021147601, -0.108409785, 0.06560097, -0.0057787723, -0.013059382, 0.2296983, 0.21498029, 0.053936318) * conv2d_1_5_texOff(vec2(-1, 0)); + result += mat4(-0.0017508173, 0.16176096, 0.054738402, 0.027850294, 0.030409595, -0.072870396, -0.16046646, 0.1724339, 0.016977604, 0.008775995, 0.06307639, -0.00019767167, 0.4451092, 0.16957378, 0.29084396, 0.44695956) * conv2d_1_5_texOff(vec2(0, 0)); + result += mat4(-0.03507766, -0.38168535, 0.08430297, -0.10719897, 0.010931773, -0.08159854, -0.17967746, 0.12140802, 0.04934819, 0.03658758, -0.06290671, -0.061221533, -0.3718763, -0.600655, -0.07915636, -0.21348712) * conv2d_1_5_texOff(vec2(1, 0)); + result += mat4(0.034924757, -0.13438396, 0.032301974, 0.045070734, 0.08027754, -0.10418697, 0.023910154, -0.19306639, 0.08650844, 0.017263744, -0.01178968, -0.028993733, -0.8645689, 0.033755895, 0.007948923, 0.3410306) * conv2d_1_5_texOff(vec2(-1, 1)); + result += mat4(0.0047199307, 0.10619797, 0.11525978, 0.037618894, 0.047066554, -0.06652497, -0.20610657, 0.04888747, 0.08347011, -0.06650786, -0.01612577, 0.044566292, -0.19907191, 0.12543651, -0.28160203, -0.28315276) * conv2d_1_5_texOff(vec2(0, 1)); + result += mat4(-0.09135274, 0.10351545, 0.09480959, 0.04342388, 0.056631826, -0.25605074, -0.07694557, 0.07892138, 0.06781161, -0.032615397, -0.010433441, -0.035385344, -0.07405581, -0.0036417297, -0.23708083, -0.1570032) * conv2d_1_5_texOff(vec2(1, 1)); + result += mat4(0.026759056, -0.047683284, 0.11272839, 0.047666263, -0.07337569, 0.059083562, 0.029269814, 0.057907235, -0.03443016, 0.016351, -0.073791504, -0.02960598, -0.01220422, -0.016893888, 0.01654694, -0.008970511) * conv2d_1_6_texOff(vec2(-1, -1)); + result += mat4(-0.012990575, -0.059437305, 0.053463947, 0.024959585, -0.043774337, 0.08394113, -0.07143647, 0.08682348, -0.051990546, -0.0220162, -0.28938624, 0.011068624, 0.020086268, 0.13227147, 0.12643246, 0.07697984) * conv2d_1_6_texOff(vec2(0, -1)); + result += mat4(-0.0070821494, -0.055028163, 0.055550747, -0.052326813, -0.04880355, 0.043850675, -0.019916993, 0.095207065, 0.024018437, 0.004741865, -0.20379701, -0.03205333, -0.01306054, -0.037194315, -0.066100076, 0.0880687) * conv2d_1_6_texOff(vec2(1, -1)); + result += mat4(0.035614494, 0.0195995, 0.03172716, -0.044270128, 0.05476892, -0.0681205, -0.10611151, -0.057478696, 0.08412523, 0.07445439, 0.03845507, -0.015672065, 0.059600424, 0.10137879, -0.021469647, 0.103087716) * conv2d_1_6_texOff(vec2(-1, 0)); + result += mat4(-0.021467581, -0.07585906, -0.06877208, 0.09122821, 0.08158795, -0.017641615, 0.06464714, 0.1052147, -0.0323058, 0.08724154, 0.008192184, 0.03622704, 0.044998072, 0.11121423, 0.02731009, -0.042066287) * conv2d_1_6_texOff(vec2(0, 0)); + result += mat4(0.03308632, 0.08297764, -0.11844884, 0.017111233, 0.011611377, -0.07365047, 0.05491624, -0.1349648, 0.008340181, 0.05791371, 0.029888865, 0.07637047, -0.0047884677, -0.029054781, 0.017358597, -0.09362269) * conv2d_1_6_texOff(vec2(1, 0)); + result += mat4(0.058560807, -0.0812555, -0.055556864, -0.10472523, 0.10357364, -0.023850085, 0.011952905, -0.0632911, 0.033069592, 0.14187448, 0.033038504, -0.059645314, -0.03547079, -0.13193862, 0.08067015, 0.10193497) * conv2d_1_6_texOff(vec2(-1, 1)); + result += mat4(-0.011560774, -0.09525364, -0.060700435, -0.0034738835, -0.004149295, 0.0012452266, 0.08497418, 0.028244028, -0.038908776, -0.008875011, 0.051133815, 0.12043489, 0.059140496, 0.03854453, -0.021552913, -0.07531871) * conv2d_1_6_texOff(vec2(0, 1)); + result += mat4(-0.054233734, 0.10431967, -0.06309718, -0.008249014, -0.068859495, -2.472221e-05, -0.01962901, -0.0550269, 0.07172022, 0.0021008865, 0.009355253, 0.0018972098, 0.0069770534, 0.14083464, -0.043212507, -0.076081425) * conv2d_1_6_texOff(vec2(1, 1)); + result += mat4(-0.014855535, -0.076818466, -0.12069867, -0.016461655, 0.04632222, -0.08924164, -0.14444649, -0.013705438, -0.10629519, 0.07447358, 0.103745714, 0.0532043, 0.047529317, 0.039758485, -0.0019607402, -0.060533386) * conv2d_1_7_texOff(vec2(-1, -1)); + result += mat4(-0.024203092, 0.041032843, -0.07819547, 0.065076016, 0.098019525, 0.0039738026, -0.13179854, 0.05826582, 0.050578855, 0.029939752, -0.05294407, 0.15086016, -0.08475205, -0.022390533, -0.062435713, -0.028691648) * conv2d_1_7_texOff(vec2(0, -1)); + result += mat4(-0.035394967, -0.019776506, -0.13145833, 0.105074435, -0.0876225, -0.03131812, -0.05946118, 0.008440808, -0.03241915, -0.09119424, 0.012539307, 0.055068422, -0.022113472, 0.06397827, -0.06943161, -0.007590992) * conv2d_1_7_texOff(vec2(1, -1)); + result += mat4(-0.010154215, -0.040791787, -0.028874818, 0.07792026, 0.0041777114, 0.010586441, 0.04266796, -0.15120162, -0.01588253, 0.07648988, 0.0021197675, 0.068199955, -0.007960036, -0.051724818, 0.059286304, 0.1320615) * conv2d_1_7_texOff(vec2(-1, 0)); + result += mat4(-0.05823228, 0.07613547, 0.040016692, -0.06628279, 0.051269006, 0.05712993, 0.023926284, 0.0110481195, 0.07769265, 0.07996533, 0.06614829, 0.07428, 0.0073516103, 0.07385875, 0.12093192, 0.006949762) * conv2d_1_7_texOff(vec2(0, 0)); + result += mat4(-0.024753397, -0.05918336, -0.04520435, 0.020141589, -0.040896162, 0.009261509, 0.12394741, -0.116169095, -0.036923975, -0.010316278, 0.05081735, 0.03784362, -0.039655194, 0.07628969, -0.010759494, -0.07288344) * conv2d_1_7_texOff(vec2(1, 0)); + result += mat4(-0.02587162, -0.10437475, -0.16753805, 0.019829882, -0.035106115, 0.05311255, -0.03649359, 0.044361763, -0.045516107, -0.07203907, -0.02955126, -0.0730952, 0.05720901, 0.0959022, 0.054544374, -0.06752504) * conv2d_1_7_texOff(vec2(-1, 1)); + result += mat4(0.0053152847, -0.070863366, -0.092273585, -0.05409987, -0.018190462, 0.076571845, 0.020241732, 0.08773496, 0.00028201131, -0.024266556, -0.11885602, -0.025534047, 0.041835975, -0.07190047, -0.017420858, 0.049698886) * conv2d_1_7_texOff(vec2(0, 1)); + result += mat4(0.05920705, 0.115230545, -0.0820071, -0.11792878, 0.0052734255, -0.06270135, 0.076746665, 0.08309652, 0.075374834, -0.031009419, -0.13471813, 0.012491437, -0.0006443069, -0.055743083, -0.0722765, 0.0061092316) * conv2d_1_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-2-ReLU) +//!HOOK LUMA +//!BIND conv2d_1_0 +//!BIND conv2d_1_1 +//!BIND conv2d_1_2 +//!BIND conv2d_1_3 +//!BIND conv2d_1_4 +//!BIND conv2d_1_5 +//!BIND conv2d_1_6 +//!BIND conv2d_1_7 +//!SAVE conv2d_2_2 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.008124407, -0.0020193816, 0.012078299, 0.0024210974); + result += mat4(-0.052535776, -0.014211415, -0.17005576, -0.027237497, -0.034896113, 0.10457906, -0.035401966, 0.101174966, -0.05727851, 0.13829572, -0.12618788, 0.011687037, 0.0028803404, -0.002095759, 0.006880763, -0.11591623) * conv2d_1_0_texOff(vec2(-1, -1)); + result += mat4(0.15124372, -0.0202947, -0.07680285, -0.09734262, 0.010044373, -0.015822256, -0.253034, 0.08154531, -0.017261066, 0.11458919, -0.067662284, 0.029937135, -0.052168176, -0.065581456, 0.08717657, -0.030866234) * conv2d_1_0_texOff(vec2(0, -1)); + result += mat4(-0.1300706, -0.13887797, -0.0766475, -0.07821131, 0.041690633, 0.04234833, 0.11015016, 0.053378522, 0.052996542, 0.06750751, 0.12402405, 0.08211918, -0.09521911, -0.037727416, 0.015168657, -0.060231246) * conv2d_1_0_texOff(vec2(1, -1)); + result += mat4(0.11782033, -0.051945087, -0.09596021, -0.025618782, 0.023758316, -0.11414418, 0.488304, 0.072520986, 0.016367633, -0.057003368, 0.04256549, 0.012725302, 0.0087373685, 0.061531745, 0.01970312, -0.011890301) * conv2d_1_0_texOff(vec2(-1, 0)); + result += mat4(-0.08834262, 0.038400967, -0.17562167, -0.01965825, 0.04788477, -0.057316363, -0.022016158, 0.0537068, 0.107173815, -0.22044869, -0.020337395, 0.002501145, 0.012108825, 0.04973479, -0.06372553, -0.050760705) * conv2d_1_0_texOff(vec2(0, 0)); + result += mat4(-0.008078243, -0.18531144, 0.07852272, 0.13154668, -0.0454689, 0.043260574, -0.7291269, 0.16427864, 0.044356998, -0.06903823, -0.11544218, 0.21921986, 0.01667663, 0.100789875, 0.0050756484, -0.084862426) * conv2d_1_0_texOff(vec2(1, 0)); + result += mat4(-0.031693336, -0.05431168, -0.023739772, 0.113188595, 0.047176104, 0.037936557, -0.14309663, 0.033107154, -0.021537835, -0.18022846, -0.14955017, -0.021592883, 0.042608432, 0.004977977, -0.121474124, 0.008736747) * conv2d_1_0_texOff(vec2(-1, 1)); + result += mat4(-0.035450157, 0.17297141, -0.0432462, 0.04828009, 0.06904412, -0.042664506, -0.48801273, 0.07338872, 0.057418235, 0.115706876, 0.084082976, -0.056380406, 0.05721174, -0.020170929, -0.018231472, -0.019912915) * conv2d_1_0_texOff(vec2(0, 1)); + result += mat4(0.01570996, 0.13402873, 0.14335136, 0.16034704, 0.122387804, -0.11458639, -0.67476964, 0.071622394, -0.0055932426, -0.007218675, -0.12868723, 0.07392125, 0.005712185, -0.035340235, 0.07343785, -0.03075334) * conv2d_1_0_texOff(vec2(1, 1)); + result += mat4(0.06842837, 0.0014799602, 0.09242908, 0.018144805, 0.11390728, -0.06139364, 0.051422134, -0.12517595, 0.22213769, -0.24756144, -0.14524817, -0.12331956, 0.017291635, -0.05073709, 0.09078665, -0.0018638001) * conv2d_1_1_texOff(vec2(-1, -1)); + result += mat4(-0.1693954, 0.092451856, -0.068647966, 0.031207222, -0.014652092, -0.16089562, 0.08973792, -0.09157502, -0.18550354, 0.16457786, 0.12014937, 0.27663234, 0.06622955, -0.032419216, 0.09001038, -0.060215563) * conv2d_1_1_texOff(vec2(0, -1)); + result += mat4(-0.09436052, 0.018222474, -0.07056811, -0.09489533, 0.100522496, 0.020838158, 0.07128237, 0.009293915, 0.07398343, -0.090709925, 0.038814157, 0.070531875, -0.11602609, -0.09303687, 0.040626682, -0.039370857) * conv2d_1_1_texOff(vec2(1, -1)); + result += mat4(0.0033815622, 0.026455026, 0.13445567, -0.027127545, -0.05571503, 0.23140806, -0.1738328, 0.027930072, -0.017656753, 0.27099556, 0.17390294, -0.0008110577, 0.0080086915, -0.024295608, 0.005313502, -0.007095684) * conv2d_1_1_texOff(vec2(-1, 0)); + result += mat4(0.009123415, -0.14150245, 0.11645765, 0.08068394, -0.025846453, 0.063673496, 0.17174795, -0.0046284916, 0.03781219, -0.1327192, 0.028737323, 0.05104707, 0.011437801, 0.1740317, 0.034525834, 0.052320953) * conv2d_1_1_texOff(vec2(0, 0)); + result += mat4(0.042135403, -0.08864625, 0.028220575, -0.0843621, 0.0061724805, 0.03458925, -0.44155458, -0.013346777, -0.10843706, 0.03951845, 0.16782464, 0.017718796, 0.008080537, 0.036954474, 0.09717939, 0.13488936) * conv2d_1_1_texOff(vec2(1, 0)); + result += mat4(0.0327611, 0.09008878, -0.10471193, 0.03847788, 0.11938482, -0.08097387, -0.20089841, 0.064390816, 0.06497311, -0.17245272, 0.0935848, -0.16081041, -0.042574424, -0.00761538, 0.00692099, -0.014547337) * conv2d_1_1_texOff(vec2(-1, 1)); + result += mat4(0.03176615, -0.1922432, -0.08986754, 0.045440774, -0.04923635, -0.12517464, 0.061887022, -0.059543464, -0.033718884, 0.102514945, -0.06837295, 0.13247837, -0.09565723, -0.058953423, -0.1396155, 0.020317772) * conv2d_1_1_texOff(vec2(0, 1)); + result += mat4(-0.027684502, 0.10811927, 0.00108738, -0.105242416, -0.04064422, 0.0418755, -0.41457203, -0.052987874, 0.059145253, -0.0862944, 0.12899467, -0.12314277, -0.027189719, -0.016242286, -0.08853324, -0.07417349) * conv2d_1_1_texOff(vec2(1, 1)); + result += mat4(0.020300949, 0.1378349, -0.07735279, -0.070956886, 0.027683172, -0.03910675, 0.22344933, -0.04991637, -0.04153582, -0.0077428822, 0.0052021267, 0.0041702613, -0.023509122, 0.112413585, 0.06663535, -0.007655562) * conv2d_1_2_texOff(vec2(-1, -1)); + result += mat4(0.026391853, 0.13063906, 0.19918168, -0.027567947, -0.15280806, 0.0005399417, 0.044323698, -0.05353186, -0.108331844, 0.0642273, 0.11526692, 0.1763071, 0.08671701, -0.08591536, 0.15455848, -0.06257889) * conv2d_1_2_texOff(vec2(0, -1)); + result += mat4(-0.035121102, -0.049517103, 0.12550326, 0.05493655, -0.07018697, 0.04505196, -0.075139545, 0.063487306, -0.0034183017, -0.17775097, -0.069629, 0.033472158, 0.00058203127, -0.09124237, 0.008812818, -0.01835733) * conv2d_1_2_texOff(vec2(1, -1)); + result += mat4(-0.06364609, -0.060786966, 0.06728228, -0.13645837, 7.4434225e-05, 0.040680885, 0.12634079, 0.08272184, 0.051654816, 0.184505, 0.12543541, 0.06802063, 0.09359788, -0.13195473, -0.035926852, 0.10100427) * conv2d_1_2_texOff(vec2(-1, 0)); + result += mat4(-0.034730118, -0.13259622, -0.25746426, -0.06640055, -0.08099572, 0.045332354, -0.02092612, 0.071015134, -0.09260636, -0.18842165, 0.15495226, 0.07177528, 0.058337443, 0.03949755, -0.03160813, -0.06399582) * conv2d_1_2_texOff(vec2(0, 0)); + result += mat4(-0.29608458, -0.08133991, -0.18249218, -0.15995133, -0.0074370517, -0.06982894, 0.015924254, 0.09221639, 0.03295871, 0.0012430374, 0.07714546, 0.04428004, -0.023817755, 0.013524082, -0.1573092, 0.04716363) * conv2d_1_2_texOff(vec2(1, 0)); + result += mat4(-0.027431134, -0.13822332, 0.018933218, -0.06384679, 0.066807315, 0.024663057, -0.009654227, -0.0029937471, -0.01806688, 0.055148497, -0.060793687, -0.06507566, -0.09519545, -0.016968334, -0.27206853, -0.072879545) * conv2d_1_2_texOff(vec2(-1, 1)); + result += mat4(-0.0047973716, 0.23479585, 0.2710734, 0.04421939, 0.0695976, -0.13279814, -0.07414404, -0.12323619, -0.02778131, -0.058724355, 0.028642131, -0.0061892434, 0.03429735, 0.16703483, -0.17521217, -0.05143772) * conv2d_1_2_texOff(vec2(0, 1)); + result += mat4(0.23435596, 0.05767946, 0.09423902, 0.095939666, 0.016260337, -0.039704084, -0.13278197, -0.05309615, -0.03196163, 0.10293732, -0.15582295, -0.022381393, -0.039811075, -0.0049146917, -0.09745298, 0.063672006) * conv2d_1_2_texOff(vec2(1, 1)); + result += mat4(0.021042801, 0.116783865, -0.058065318, -0.008813273, -0.031008596, -0.009723028, 0.051484894, 0.026334632, -0.041873958, 0.06253409, 0.07625625, -0.07441391, 0.006316715, -0.095433354, 0.0138627095, -0.0045948704) * conv2d_1_3_texOff(vec2(-1, -1)); + result += mat4(-0.057156205, 0.036514215, -0.027188191, 8.630857e-05, -0.02359836, -0.009866879, 0.13497095, -0.0814636, -0.05694517, 0.117544375, 0.11597932, -0.028813086, 0.00068886613, -0.14869054, -0.23531663, -0.03901723) * conv2d_1_3_texOff(vec2(0, -1)); + result += mat4(-0.049799748, -0.009938766, -0.028716963, 0.08784805, 0.044684723, 0.029870348, 0.0033121952, -0.02467974, 0.012198275, -0.00037626573, 0.13357611, 0.047521908, 0.10361371, -0.033129334, -0.036486365, 0.020141436) * conv2d_1_3_texOff(vec2(1, -1)); + result += mat4(0.04340855, -0.18654637, -0.071857534, 0.019414844, 0.014858241, 0.053474236, -0.022015559, -0.0033104806, -0.029859243, -0.013297177, 0.062095992, -0.08799694, -0.036811695, -0.13892487, 0.03512006, -0.035490982) * conv2d_1_3_texOff(vec2(-1, 0)); + result += mat4(-0.0178077, 0.013258619, 0.023754146, -0.08777631, -0.123559855, 0.080691315, 0.03365515, 0.0077727456, -0.019071914, -0.123532854, 0.17364188, -0.16524413, -0.05502586, -0.08722581, 0.1189093, -0.079791315) * conv2d_1_3_texOff(vec2(0, 0)); + result += mat4(0.070832305, 0.056602158, -0.032178942, 0.014502144, 0.02902185, 0.08341152, -0.07531352, 0.11774292, 0.041873805, 0.035229, -0.044145618, -0.031148184, -0.03532755, -0.02851702, -0.014900279, -0.051433213) * conv2d_1_3_texOff(vec2(1, 0)); + result += mat4(-0.031234711, 0.01669503, -0.073721796, 0.051360052, 0.03472475, -0.010263244, 0.04534574, -0.043840338, -0.006697858, 0.10550431, 0.042000767, -0.034370556, 0.06552974, 0.13232537, 0.08448493, -0.047447257) * conv2d_1_3_texOff(vec2(-1, 1)); + result += mat4(0.023305265, -0.08813832, -0.05707718, 0.04819251, -0.010520421, -0.06483293, 0.033472568, 0.047580775, -0.1565443, 0.22539379, -0.107965685, 0.03451597, 0.062833466, 0.077650726, 0.06410451, -0.15403499) * conv2d_1_3_texOff(vec2(0, 1)); + result += mat4(0.038148414, -0.1998617, -0.13230838, -0.08391571, -0.016357375, -0.17041, -0.12451344, 0.031758066, 0.06863037, 0.009345845, -0.19005936, 0.08374422, 0.023269571, 0.07401202, -0.45052704, -0.028954258) * conv2d_1_3_texOff(vec2(1, 1)); + result += mat4(-0.06906135, -0.121656805, -0.096703775, 0.025245335, -0.073695056, 0.08447997, -0.10079928, 0.01572041, 0.006553555, -0.017723486, -0.075667605, -0.0288287, -0.008437011, -0.18121357, -0.08487259, -0.004625675) * conv2d_1_4_texOff(vec2(-1, -1)); + result += mat4(-0.028657798, 0.050350923, 0.07817257, 0.02083274, -0.05504802, 0.09905155, 0.057043377, 0.019634902, -0.116677195, -0.020129712, -0.012650706, 0.034142125, 0.07788996, -0.02256509, -0.00041805863, 0.014918388) * conv2d_1_4_texOff(vec2(0, -1)); + result += mat4(0.03828233, 0.06178211, -0.046562687, -0.09398483, -0.035327204, 0.06762725, -0.015460955, -0.021733925, -0.040423937, 0.009866935, -0.15314358, -0.019070916, -0.048563726, -0.050428487, -0.01475836, 0.021238107) * conv2d_1_4_texOff(vec2(1, -1)); + result += mat4(-0.17084639, -0.03216837, 0.067380905, -0.07225759, 0.058293488, -0.14431457, 0.021505976, -0.027038366, -0.026928796, 0.00217304, 0.04902029, -0.107884765, 0.060176235, -0.11676606, 0.048157606, -0.002454523) * conv2d_1_4_texOff(vec2(-1, 0)); + result += mat4(0.008564068, 0.07738041, 0.03556781, -0.013533667, 0.073667064, -0.05908527, -0.27559882, -0.10767401, -0.08099931, -0.044537865, 0.106307365, -0.010011945, -0.077408314, 0.02209622, 0.0016589265, -0.041718632) * conv2d_1_4_texOff(vec2(0, 0)); + result += mat4(-0.029442482, 0.012268094, -0.11027414, 0.007866336, -0.033615977, 0.0040453244, -0.08624242, -0.02455893, -0.0067750216, -0.093974374, 0.04301029, 0.0018668688, -0.027411643, 0.017462313, -0.04138216, -0.0073121977) * conv2d_1_4_texOff(vec2(1, 0)); + result += mat4(0.022825908, -0.07490623, -0.047620192, 0.019579092, -0.05006438, 0.023714388, -0.09593809, 0.016069254, -0.06131708, -0.12291849, 0.14684057, -0.04243996, -0.054392878, 0.21841945, 0.10099634, 0.011432986) * conv2d_1_4_texOff(vec2(-1, 1)); + result += mat4(0.00189062, 0.083734475, 0.088338405, 0.059007727, -0.13090092, 0.040832534, -0.040133324, 0.077142306, -0.11970538, -0.12467267, 0.07499235, -0.0019709743, -0.0114843175, 0.083587684, 0.09818655, 0.07874441) * conv2d_1_4_texOff(vec2(0, 1)); + result += mat4(-0.0028946407, -0.008939552, -0.037139304, 0.076602064, -0.048469473, -0.10961944, -0.12835595, 0.008010287, 0.0032538376, -0.033537302, 0.015438487, -0.049786907, -0.005741158, 0.025683124, -0.066857494, -0.066738896) * conv2d_1_4_texOff(vec2(1, 1)); + result += mat4(-0.060647056, -0.13786669, -0.08960521, -0.16577527, 0.14696306, 0.082829595, 0.120474026, 0.056174066, 0.031312454, 0.00037252446, 0.0925302, 0.10683427, -0.089117154, 0.21500608, 0.023205632, -0.027533635) * conv2d_1_5_texOff(vec2(-1, -1)); + result += mat4(-0.12305827, -0.023216942, 0.40843007, -0.036796365, 0.16070177, 0.090896256, -0.028923228, 0.09217565, 0.04584545, -0.007953125, 0.04655022, 0.007821298, -0.07040309, 0.20610932, -0.22402284, 0.086188816) * conv2d_1_5_texOff(vec2(0, -1)); + result += mat4(-0.12672457, 0.21635312, -0.007658912, -0.06338032, -0.015614248, 0.059981894, -0.036089096, 0.253188, 0.047513656, -0.018895, 0.05315635, -0.045215398, -0.15651777, 0.14414075, -0.0022256677, 0.26796883) * conv2d_1_5_texOff(vec2(1, -1)); + result += mat4(-0.09581846, 0.12966518, -0.046075616, -0.10618528, -0.084612705, -0.22689326, -0.14084078, -0.0015569233, -0.11834107, -0.0074450276, 0.020628192, -0.05903313, 0.24642222, 0.15175356, -0.65473646, 0.1462456) * conv2d_1_5_texOff(vec2(-1, 0)); + result += mat4(0.04255483, 0.2422738, 0.013521262, 0.086461596, -0.07591773, -0.2403478, 0.032429025, 0.049108926, 0.097121134, -0.044095583, 0.03627894, -0.03705819, 0.46417817, 0.032130044, -0.0037030703, -0.02033806) * conv2d_1_5_texOff(vec2(0, 0)); + result += mat4(0.023460567, 0.08868948, 0.047699016, -0.09021233, 0.016410267, -0.22500864, -0.0052801846, 0.12017604, -0.04147999, 0.08157115, -0.08603833, 0.041315462, -0.07288791, 0.28835016, 0.09133119, -0.033017047) * conv2d_1_5_texOff(vec2(1, 0)); + result += mat4(-0.046196885, -0.2843749, 0.24743016, 0.08067155, 0.11526439, 0.122329704, -0.05142601, -0.16448979, -0.10209903, -0.011385983, -0.038594186, -0.031843033, -0.09735162, 0.4929669, -0.028064996, -0.111828655) * conv2d_1_5_texOff(vec2(-1, 1)); + result += mat4(-0.06394871, -0.041687082, 0.114683814, 0.01843774, 0.024552055, 0.052396603, 0.1018556, -0.118303895, 0.022760816, -0.0057125385, -0.16846563, -0.03842608, 0.022532526, -0.6222966, 0.14168759, -0.19894227) * conv2d_1_5_texOff(vec2(0, 1)); + result += mat4(-0.053083412, -0.21444872, 0.0019725626, 0.006817263, -0.10663231, 0.26685303, 0.09000829, 0.12726967, 0.08040452, 0.00239694, -0.21638417, 0.05202804, 0.060966194, 0.11699174, 0.20532265, -0.33910066) * conv2d_1_5_texOff(vec2(1, 1)); + result += mat4(0.0067659467, -0.06274069, -0.043823, -0.0016491401, -0.02039174, -0.11671349, 0.119548604, -0.0134675, -0.0022919942, -0.0692119, 0.07936216, -0.010279963, 0.060703624, 0.0835079, -0.102447525, -0.01728927) * conv2d_1_6_texOff(vec2(-1, -1)); + result += mat4(0.054595187, 0.038653016, -0.0372437, 0.06625272, 0.016852802, -0.09259641, -0.013169063, -0.01674635, -0.043728046, 0.043360934, -0.08662618, 0.047291115, 0.026712408, 0.120873205, -0.25950655, 0.11518089) * conv2d_1_6_texOff(vec2(0, -1)); + result += mat4(-0.010948247, 0.019712524, 0.16311762, 0.053796805, -0.11105897, 0.04501822, -0.07785052, -0.07632084, 0.014309578, 0.02573699, -0.0329539, 0.0020288685, -0.03550915, -0.03667852, 0.26099935, -0.057078518) * conv2d_1_6_texOff(vec2(1, -1)); + result += mat4(0.014883856, 0.1723117, -0.1662286, 0.10677147, -0.052755564, -0.08503574, 0.1084729, -0.014702356, -0.14190675, 0.020650664, -0.055357393, 0.1023268, -0.033492994, -0.039679863, 0.06958044, -0.001251619) * conv2d_1_6_texOff(vec2(-1, 0)); + result += mat4(0.03139613, 0.058421362, -0.100158155, 0.10987329, 0.13696006, 0.09851761, 0.011595606, -0.104920164, 0.06830703, -0.000880735, -0.11312242, -0.073666975, -0.02293863, -0.06509251, 0.02116773, 0.051084027) * conv2d_1_6_texOff(vec2(0, 0)); + result += mat4(0.12932421, 0.021144506, 0.24132755, -0.0038678437, 0.012704769, -0.04911282, 0.077328816, 0.04345564, 0.04921675, -0.011733689, -0.09273999, 0.04864153, -0.036446914, 0.060412392, 0.10110944, 0.0021588057) * conv2d_1_6_texOff(vec2(1, 0)); + result += mat4(0.073132284, -0.056209352, 0.11774526, 0.052885562, -0.04536572, 0.092013635, -0.05113821, 0.10789656, 0.0040255934, -0.1477107, -0.06086219, -0.046296872, 0.051665388, -0.07828915, -0.077615984, -0.01698224) * conv2d_1_6_texOff(vec2(-1, 1)); + result += mat4(0.10686115, -0.0013952448, -0.26336846, -0.011506914, -0.0040087495, 0.07770171, -0.31766212, 0.0813433, 0.0637688, -0.0064722644, 0.05089167, 0.01888754, 0.08170416, -0.105017185, -0.21673621, 0.008697255) * conv2d_1_6_texOff(vec2(0, 1)); + result += mat4(0.09727243, -0.030679313, 0.0018239318, 0.1084791, 0.0467288, 0.045753002, -0.028850071, -0.019675976, 0.010843736, 0.081030406, -0.0008179727, 0.063497365, 0.038878802, 0.003440067, -0.38809142, -0.0267265) * conv2d_1_6_texOff(vec2(1, 1)); + result += mat4(0.058111727, 0.051079918, 0.013481994, 0.015481259, 0.014770735, -0.063191, 0.08966536, 0.06343161, 0.023537181, 0.002710287, 0.044653926, 0.038899705, -0.11147924, -0.024242477, 0.050940458, 0.059727356) * conv2d_1_7_texOff(vec2(-1, -1)); + result += mat4(-0.014367345, 0.0014869478, 0.097891584, 0.025157472, -0.008440475, 0.03279256, -0.05519584, 0.003762991, 0.105258286, 0.06507283, 0.23076873, 0.060666185, 0.0032257517, -0.00967675, -0.00614575, -0.07814585) * conv2d_1_7_texOff(vec2(0, -1)); + result += mat4(0.046487115, -0.00047466694, -0.030015826, 0.052825112, 0.040465046, 0.026129836, -0.023980934, -0.03898887, -0.026454994, -0.075065225, -0.0059987246, -0.03840582, 0.0009763966, 0.051358137, -0.05193923, 0.036122665) * conv2d_1_7_texOff(vec2(1, -1)); + result += mat4(0.014428596, 0.060780868, 0.011105292, -0.015106931, -0.006564676, 0.02907815, 0.012398738, 0.0776083, 0.045921016, 0.06828431, -0.07960895, 0.019630233, -0.09608293, -0.12930602, 0.015388368, 0.029871682) * conv2d_1_7_texOff(vec2(-1, 0)); + result += mat4(-0.033425223, 0.05204155, 0.100817196, -0.057977065, 0.011955073, -0.10364568, -0.028932136, 0.036511518, 0.0038376253, 0.052375857, -0.23280184, 0.03899165, 0.124620244, -0.030906051, -0.15981069, -0.011859105) * conv2d_1_7_texOff(vec2(0, 0)); + result += mat4(0.08416316, 0.03873556, -0.053507432, 0.081637025, -0.035126343, -0.0046718344, -0.12627733, -0.10779359, -0.015306946, 0.060055126, -0.053386163, -0.01958905, 0.10607404, -0.039135017, -0.056744516, -0.044107907) * conv2d_1_7_texOff(vec2(1, 0)); + result += mat4(-0.056529015, -0.045700572, -0.018841397, -0.004230751, -0.05324538, 0.015358149, 0.015203164, -0.0033391279, 0.058028363, -0.01416199, 0.17194435, 0.00426538, -0.03344133, 0.00908011, -0.056920476, 0.052656043) * conv2d_1_7_texOff(vec2(-1, 1)); + result += mat4(-0.0092925355, 0.0002989357, -0.180472, -0.034488328, 0.039845984, -0.07233865, -0.15334694, 0.026931679, -0.0382505, -0.072958216, 0.15677318, 0.0762494, -0.037486196, 0.13549002, -0.1518991, 0.0015173068) * conv2d_1_7_texOff(vec2(0, 1)); + result += mat4(0.0059870235, 0.087831415, 0.06962559, 0.048658643, -0.10469524, 0.13786025, -0.13996576, 0.03869361, 0.03827801, -0.1335386, 0.020064032, -0.0063017393, 0.038187154, 0.0061584706, -0.15772523, -0.044064794) * conv2d_1_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-2-ReLU) +//!HOOK LUMA +//!BIND conv2d_1_0 +//!BIND conv2d_1_1 +//!BIND conv2d_1_2 +//!BIND conv2d_1_3 +//!BIND conv2d_1_4 +//!BIND conv2d_1_5 +//!BIND conv2d_1_6 +//!BIND conv2d_1_7 +//!SAVE conv2d_2_3 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.011652052, 0.022062385, -0.001546929, 0.00020062509); + result += mat4(-0.08330636, 0.049162906, 0.008396231, -0.0076774913, -0.09351204, -0.07772722, 0.0094818715, 0.02542276, 0.03664139, -0.26479062, -0.07053719, -0.03249695, -0.14121793, -0.043294985, 0.07003803, 0.08941718) * conv2d_1_0_texOff(vec2(-1, -1)); + result += mat4(0.11044743, -0.073958315, 0.13564977, -0.026050512, -0.11226439, 0.08101391, 0.04124508, 0.06568714, 0.023263384, 0.07711352, -0.10179949, -0.06604675, -0.019488912, -0.12501998, 0.026219713, 0.010592317) * conv2d_1_0_texOff(vec2(0, -1)); + result += mat4(0.036472596, 0.0090033645, -0.028176447, -0.06921427, 0.042495813, -0.06291604, 0.09473066, -0.18481648, -0.045481768, -0.042123906, 0.06684412, -0.043141592, -0.48408964, -0.13946135, -0.044245936, 0.0151885105) * conv2d_1_0_texOff(vec2(1, -1)); + result += mat4(0.07125669, 0.0780961, 0.27557254, -0.11918002, 0.08550482, -0.066431336, 0.037522454, -0.028691629, -0.059012815, -0.13621074, -0.026611488, 0.029657127, 0.029513292, 0.095107004, 0.0028469043, -0.12458502) * conv2d_1_0_texOff(vec2(-1, 0)); + result += mat4(0.22948313, 0.17340198, 0.18488769, 0.078466594, -0.10531251, -0.2071252, 0.110695325, 0.027070861, -0.11073122, 0.16606508, 0.030653901, 0.13079351, 0.014863717, 0.053982675, -0.023042131, -0.062409468) * conv2d_1_0_texOff(vec2(0, 0)); + result += mat4(0.1520212, 0.06347779, -0.35537082, -0.036669385, 0.10637588, -0.17982265, 0.05626281, -0.17016101, 0.01238604, -0.117131226, 0.057543878, -0.03667534, -0.06371315, 0.09929477, -0.07217054, 0.013174418) * conv2d_1_0_texOff(vec2(1, 0)); + result += mat4(-0.10996774, -0.0033679968, -0.0031981538, 0.08871225, -0.0118426, -0.23688729, 0.046026617, 0.007611081, -0.008071957, -0.27882507, 0.010923047, -0.011725823, 0.033326495, 0.20596988, 0.04888373, 0.1347579) * conv2d_1_0_texOff(vec2(-1, 1)); + result += mat4(-0.024169922, -0.076512985, 0.00057504675, 0.022177026, -0.109111816, -0.34708214, 0.12115656, 0.07083134, 0.10801001, -0.069281176, -0.09671689, 0.015401848, 0.027214518, 0.032161623, -0.010618085, -0.116707616) * conv2d_1_0_texOff(vec2(0, 1)); + result += mat4(0.030222045, 0.028324934, -0.11937444, 0.22152331, 0.14065568, -0.03130195, 0.41301054, 0.05900636, -0.01804583, -0.12667306, -0.10402285, 0.10095315, -0.09630131, -0.03189374, -0.08930149, -0.062197305) * conv2d_1_0_texOff(vec2(1, 1)); + result += mat4(0.09634118, 0.0570853, -0.10267185, 0.027406638, 0.035797384, 0.11004353, 0.12025238, -0.026480641, -0.40793347, 0.11404435, -0.0033047625, -0.3694174, 0.00036460801, 0.0035789502, 0.01743744, -0.0797779) * conv2d_1_1_texOff(vec2(-1, -1)); + result += mat4(-0.16516463, 0.009316201, 0.018115483, 0.04987651, -0.030466622, -0.14033845, -0.12595646, 0.109484516, 0.48992527, -0.05685021, -0.24464664, 0.03638251, 0.07271939, 0.036355752, 0.026580183, 0.18453635) * conv2d_1_1_texOff(vec2(0, -1)); + result += mat4(-0.12491497, -0.01703926, -0.004937495, 0.059267916, -0.03736439, -0.0809114, -0.071080685, 0.018006155, -0.07773382, -0.058246627, -0.021915266, -0.34110448, -0.13491006, 0.071395054, -0.08990192, -0.05934976) * conv2d_1_1_texOff(vec2(1, -1)); + result += mat4(0.06130466, -0.068749234, -0.08244389, -0.03347531, -0.008824207, 0.08897292, -0.025526218, -0.10255953, -0.24932893, 0.022437334, -0.025842492, -0.084644005, -0.0935894, -0.09659154, -0.06378207, 0.06084524) * conv2d_1_1_texOff(vec2(-1, 0)); + result += mat4(-0.029936112, -0.004573059, -0.054074846, -0.08333223, 0.10769997, 0.13173296, -0.56757087, -0.009202769, -0.11770031, 0.0880048, 0.27976876, 0.2844114, -0.030647727, 0.017353158, 0.079904854, -0.01558535) * conv2d_1_1_texOff(vec2(0, 0)); + result += mat4(-0.07043644, 0.043099076, 0.13575919, 0.041761108, 0.012894792, 0.12149047, 0.115931, -0.024168203, 0.29955688, 0.07533524, 0.0060966606, 0.10181777, 0.08390215, 0.0411948, 0.0038429946, 0.0892596) * conv2d_1_1_texOff(vec2(1, 0)); + result += mat4(-0.060933646, 0.08951312, -0.015868338, -0.112811, -0.021716075, 0.102082655, -0.053108267, 0.012841387, 0.07154755, 0.11051479, 0.27700707, -0.09897719, 0.0035411594, -0.1473833, 0.022692515, -0.059862476) * conv2d_1_1_texOff(vec2(-1, 1)); + result += mat4(0.059023205, 0.07045528, 0.06671744, 0.019316906, 0.07203406, -0.1470815, -0.1888366, -0.030285323, 0.023868715, -0.13033564, 0.022384997, 0.12078735, -0.033538993, -0.02623755, 0.015084656, -0.21218133) * conv2d_1_1_texOff(vec2(0, 1)); + result += mat4(0.016217167, -0.135535, 0.059825126, 0.03368268, -0.035295203, -0.1896766, 0.2459194, 0.021643693, -0.03184525, 0.074946575, 0.014342048, -0.09689158, 0.055604465, 0.038521167, 0.065738104, 0.09486489) * conv2d_1_1_texOff(vec2(1, 1)); + result += mat4(0.0467992, 0.07507035, -0.31387568, 0.0017789045, -0.06943144, -0.023551079, 0.1202195, 0.051861517, 0.006746107, -0.084154606, -0.13943137, -0.06261484, -0.003634806, 0.032643322, -0.004670953, 0.025849395) * conv2d_1_2_texOff(vec2(-1, -1)); + result += mat4(0.22467735, -0.10897901, 0.287165, -0.08951138, -0.34167737, -0.081294395, -0.08632213, 0.024225855, -0.1896291, 0.11991027, 0.038341846, -0.043174203, 0.10404109, 0.037286162, 0.012857701, -0.08057198) * conv2d_1_2_texOff(vec2(0, -1)); + result += mat4(0.38277555, -0.067399554, 0.09805988, -0.3778351, -0.652566, 0.09076445, 0.018322535, -0.034138165, 0.05401292, 0.075686105, 0.083106466, 0.05198759, -0.12817162, -0.080426, -0.01500607, 0.05127779) * conv2d_1_2_texOff(vec2(1, -1)); + result += mat4(-0.0539401, -0.14120239, 0.32033452, -0.12151134, 0.13389514, -0.10262602, -0.1294399, 0.02234751, 0.0019548265, -0.083460905, -0.25419915, -0.02717899, 0.07117888, 0.02960478, -0.048321713, -0.05435106) * conv2d_1_2_texOff(vec2(-1, 0)); + result += mat4(-0.0029470022, 0.17161573, 0.14963561, -0.13844451, 0.19944277, 0.18664123, -0.031895384, -0.1521851, -0.02539496, 0.05954258, 0.00716028, 0.044349883, -0.0067527993, -0.078803115, 0.042293865, 0.12174216) * conv2d_1_2_texOff(vec2(0, 0)); + result += mat4(-0.02879266, -0.15779871, -0.16138062, -0.27796337, -0.19896412, 0.0035436952, 0.10695336, 0.25440073, 0.033224627, 0.021448035, 0.13631922, 0.004792618, -0.064079985, 0.039922588, -0.002313311, -0.07275477) * conv2d_1_2_texOff(vec2(1, 0)); + result += mat4(0.034795843, -0.30295643, 0.11718697, 0.00025957753, 0.021149829, 0.1013589, -0.14658146, 0.038830064, 0.056402437, -0.31482187, -0.0069417306, 0.0046984367, -0.007964319, -0.049518526, -0.103734665, 0.11375604) * conv2d_1_2_texOff(vec2(-1, 1)); + result += mat4(-0.14336222, -0.40361738, 0.076255895, 0.0664032, -0.09441012, -0.0153489355, 0.0693471, 0.063041724, 0.005981882, 0.02596235, 0.04040183, 0.09256692, 0.011770913, 0.04358797, -0.18356423, -0.15636829) * conv2d_1_2_texOff(vec2(0, 1)); + result += mat4(0.03172028, -0.11724038, -0.32512513, 0.03610552, -0.13753153, -0.0247058, 0.11007234, -0.3066736, 0.009625976, 0.044196256, 0.06281339, -0.059191924, 0.098102614, 0.013401028, -0.055753667, 0.028744685) * conv2d_1_2_texOff(vec2(1, 1)); + result += mat4(-0.1723049, -0.07040044, 0.056452185, 0.019519886, -0.007948932, 0.23141168, -0.02762798, 0.012102004, 0.2448916, 0.03802371, -0.047116183, -0.034872662, -0.41310167, -0.018370124, -0.31477657, 0.03455253) * conv2d_1_3_texOff(vec2(-1, -1)); + result += mat4(-0.13167496, 0.010988499, -0.011340504, -0.0076854494, 0.17186487, -0.03843782, -0.0853645, 0.06367902, 0.14475204, -0.05390038, -0.10594651, -0.107169375, -0.5768419, 0.063925646, -0.17971571, -0.20200756) * conv2d_1_3_texOff(vec2(0, -1)); + result += mat4(-0.56925964, -0.027769405, 0.05211042, -0.036807984, -0.2042305, 0.025781007, 0.14044596, -0.20522039, 0.027589638, -0.057910703, -0.003162761, 0.14441961, -0.2768724, 0.07164081, 0.03400485, -0.06213148) * conv2d_1_3_texOff(vec2(1, -1)); + result += mat4(0.16602193, 0.012349463, 0.034252286, 0.049536224, 0.07069032, 0.057927124, 0.075170696, -0.044493444, -0.013126579, 0.0557171, -0.035722382, -0.06765479, -0.18425788, -0.16180725, -0.14182726, 0.02177146) * conv2d_1_3_texOff(vec2(-1, 0)); + result += mat4(-0.0204844, -0.08323888, -0.050945025, -0.12144609, -0.1939198, 0.23082834, -0.0057885074, -0.10291823, -0.11061234, -0.0071849725, 0.049740016, 0.11244706, -0.1583826, -0.072612785, -0.0918428, -0.113358185) * conv2d_1_3_texOff(vec2(0, 0)); + result += mat4(-0.11861806, 0.04549157, -0.047710583, -0.04305479, -0.03936605, -0.06215322, 0.06042824, 0.15859792, 0.059743028, -0.14048731, -0.08342951, -0.109495796, -0.24759775, 0.0390175, -0.04202932, 0.01088754) * conv2d_1_3_texOff(vec2(1, 0)); + result += mat4(0.05000272, 0.12829296, 0.054699045, -0.0010108113, 0.02808264, -0.20279196, -0.11197208, 0.198424, -0.04816655, 0.087231696, -0.07284435, 0.11132787, 0.005510299, -0.12606308, -0.12486048, 0.027935965) * conv2d_1_3_texOff(vec2(-1, 1)); + result += mat4(0.069721766, 0.027720887, -0.032809466, 0.051508076, 0.009564985, -0.14988148, -0.11472035, 0.008004764, -0.008429419, 0.07944074, -0.012340306, -0.16404247, 0.0057158596, -0.08669706, -0.048008643, -0.079706855) * conv2d_1_3_texOff(vec2(0, 1)); + result += mat4(-0.027881954, -0.034280255, -0.06919617, 0.04957271, -0.0026781317, -0.06833296, 0.057472717, -0.0942837, -0.011173484, -0.040623467, -0.074820615, -0.09725291, -0.09535903, 0.06440736, 0.014952256, -0.05788655) * conv2d_1_3_texOff(vec2(1, 1)); + result += mat4(0.090988494, 0.135864, -0.037293557, -0.00669852, 0.11474156, 0.05095543, 0.0009546769, 0.033547606, -0.34649068, 0.16997112, 0.20497166, -0.03151781, 0.12801076, -0.13004877, -0.06752601, -0.06540437) * conv2d_1_4_texOff(vec2(-1, -1)); + result += mat4(-0.072644144, -0.028671, 0.08693593, 0.0214741, 0.1516645, -0.05550459, -0.004890301, -0.1074339, 0.3341523, -0.10148679, -0.16534632, 0.06090466, -0.105967894, -0.0072356607, 0.021972273, -0.1023005) * conv2d_1_4_texOff(vec2(0, -1)); + result += mat4(-0.4886623, -0.0734097, -0.019953737, -0.09170267, -0.14879447, -0.053270012, 0.16986816, 0.012297041, 0.2774014, 0.08816917, -0.11438952, 0.04281652, -0.26109532, -0.15842235, -0.052390497, 0.04425239) * conv2d_1_4_texOff(vec2(1, -1)); + result += mat4(-0.05403593, 0.07664394, 0.0035441879, -0.00025371715, 0.16069125, 0.1404209, -0.21648829, -0.05334183, -0.0143241305, 0.18921508, -0.024575213, -0.038048994, -0.2713237, 0.13207144, -0.00044428243, 0.07971978) * conv2d_1_4_texOff(vec2(-1, 0)); + result += mat4(0.043509074, -0.0093786605, -0.05775749, 0.08396122, 0.10528818, -0.06345159, 0.11478223, 0.15232384, 0.120478354, 0.14627941, 0.0009952316, -0.013299346, 0.06938963, 0.010698561, 0.07483393, -0.0062399586) * conv2d_1_4_texOff(vec2(0, 0)); + result += mat4(0.06764553, -0.1233951, -0.023840243, -0.033741347, -0.08368751, -0.09093282, 0.048353117, -0.09387961, -0.1414398, -0.062646344, 0.10185746, -0.10339812, -0.4712729, 0.014148734, 0.09298878, -0.17830105) * conv2d_1_4_texOff(vec2(1, 0)); + result += mat4(0.0047729313, -0.0794016, -0.030354537, 0.08674144, -0.05598557, 0.2412231, 0.04060981, 0.008682972, 0.014793397, 0.10090573, 0.21526873, 0.0010166336, -0.023241458, 0.03160017, -0.030968174, -0.042707015) * conv2d_1_4_texOff(vec2(-1, 1)); + result += mat4(0.054066125, -0.0060979403, 0.062678866, 0.0053949896, 0.24452867, 0.041589152, 0.031095654, 0.07002662, 0.053817064, -0.020950347, 0.05275373, 0.049925685, 0.05820521, 0.12140638, 0.00603149, 0.07743739) * conv2d_1_4_texOff(vec2(0, 1)); + result += mat4(0.08679559, -0.090480745, 0.04166125, -0.16482885, 0.073066644, -0.029751176, 0.43331534, 0.17069033, -0.0083841495, 0.024059176, -0.00920533, 0.039571773, 0.040804364, -0.06687341, 0.017265236, 0.12513639) * conv2d_1_4_texOff(vec2(1, 1)); + result += mat4(-0.7391665, 0.2827394, -0.5394532, -0.008632795, -0.061030187, 0.2029287, 0.06706516, 0.061498288, -0.101262726, 0.040589318, 0.10952882, 0.027766107, 0.23612231, 0.041229203, -0.16286215, 0.024957974) * conv2d_1_5_texOff(vec2(-1, -1)); + result += mat4(-0.12409921, 0.116870254, -0.07005952, 0.01619142, -0.19819717, -0.025387099, 0.122740336, 0.1359832, -0.119658634, -0.120027125, 0.0435, -0.011905054, -0.15860997, -0.035980392, 0.016164202, 0.011981146) * conv2d_1_5_texOff(vec2(0, -1)); + result += mat4(-0.2202051, 0.020243369, 0.10773024, -0.016802201, 0.22045475, -0.042656735, 0.09619403, -0.021666488, 0.036526326, 0.018207455, -0.023582028, 0.071033366, 0.12903962, -0.5503087, -0.25029528, 0.03655807) * conv2d_1_5_texOff(vec2(1, -1)); + result += mat4(-0.34356573, -0.42054573, 0.09326763, -0.18265307, 0.1214744, -0.04915886, 0.07463705, -0.103529274, -0.0775286, 0.07665473, -0.08224456, -0.08668903, 0.4928269, -0.17220399, -0.31068486, -0.26251906) * conv2d_1_5_texOff(vec2(-1, 0)); + result += mat4(-0.03184825, -0.008898757, 0.026278501, 0.056645762, 0.054021943, -0.06420886, -0.07775908, 0.026141867, 0.06902462, -0.059885032, 0.023253333, -0.025502818, -0.08446218, 0.055721834, 0.011700037, 0.6573216) * conv2d_1_5_texOff(vec2(0, 0)); + result += mat4(0.27687755, -0.03200076, 0.048366074, 0.24966271, 0.23309463, -0.093944825, 0.040354546, 0.036569834, -0.07962413, 0.02223425, 0.00023224163, -0.11816629, 0.1642228, 0.18144776, -0.11416183, -0.11652635) * conv2d_1_5_texOff(vec2(1, 0)); + result += mat4(-0.0044673057, -0.1910388, 0.017006455, 0.123332135, 0.009453745, -0.08816662, 0.12287432, -0.016641289, 0.047612205, 0.0058223256, 0.017607886, 0.085550226, -0.036656406, -0.48096725, -0.83117497, 0.06763204) * conv2d_1_5_texOff(vec2(-1, 1)); + result += mat4(0.04656699, 0.0046211146, -0.008614267, 0.018187627, -0.13009639, 0.025140038, -0.13616438, -0.077271774, -0.064900644, 0.049480226, 0.0030205173, 0.040368833, 0.108254634, -0.38116303, 0.26202172, 0.13821222) * conv2d_1_5_texOff(vec2(0, 1)); + result += mat4(0.0016573431, -0.05717647, 0.10620185, -0.15327954, -0.09015996, -0.13687421, -0.13446945, -0.01816269, -0.03518803, 0.043194328, -0.06959625, 0.028712219, -0.013961362, 0.058676884, 0.022391181, -0.15274402) * conv2d_1_5_texOff(vec2(1, 1)); + result += mat4(0.24144281, -0.14400913, -0.062018573, -0.06647732, -0.2761569, 0.10189228, -0.06810651, 0.098376, -0.10659099, -0.07570074, 0.019777685, 0.007531339, 0.27236366, 0.033979688, -0.033113673, -0.043607168) * conv2d_1_6_texOff(vec2(-1, -1)); + result += mat4(-0.14071223, -0.0051564267, 0.03646982, -0.06466368, 0.20870309, -0.0071925353, 0.07821617, -0.019102607, 0.11883222, 0.036697175, 0.087084375, -0.1030211, -0.29508936, -0.053574834, -0.1275982, 0.0059927697) * conv2d_1_6_texOff(vec2(0, -1)); + result += mat4(-0.20608684, 0.020648291, 0.057047933, -0.08864953, 0.15636049, -0.10578052, -0.035335757, -0.09837999, -0.06811496, 0.071228616, -0.05985415, 0.109940454, 0.0545609, -0.025351673, -0.04069463, 0.047175128) * conv2d_1_6_texOff(vec2(1, -1)); + result += mat4(0.0020735653, -0.29089704, -0.0033984357, 0.063937515, -0.047978356, 0.015881786, -0.009875686, -0.0654542, 0.087348334, 0.01914603, 0.029716035, -0.00512595, 0.013613408, -0.19007736, 0.14355746, 0.009465248) * conv2d_1_6_texOff(vec2(-1, 0)); + result += mat4(-0.08316984, 0.025992809, 0.034225874, -0.00076259923, 0.074796535, -0.041568212, 0.030300073, 0.17745571, 0.015946425, -0.041914605, 0.0010679243, 0.066954814, -0.058067843, -0.008671985, -0.021261372, -0.09916718) * conv2d_1_6_texOff(vec2(0, 0)); + result += mat4(0.075042345, 0.015637053, -0.04006511, 0.07571555, -0.14340895, 0.07688097, -0.022702666, -0.10312867, 0.016358972, 0.070819415, -0.015063529, -0.004873108, 0.10336658, -0.10496165, 0.06862018, 0.047109496) * conv2d_1_6_texOff(vec2(1, 0)); + result += mat4(-0.021951608, -0.23525625, -0.027076358, 0.072561175, -0.038820703, -0.07082861, -0.005169914, -0.049515583, -0.01020729, -0.15829383, 0.12618855, 0.039894268, 0.027133815, -0.25428462, 0.08580189, -0.067688294) * conv2d_1_6_texOff(vec2(-1, 1)); + result += mat4(0.10861442, 0.043021247, 0.07620817, 0.013570201, -0.0019210486, 0.09309381, 0.14931512, -0.16174383, -0.0059727672, -0.16072449, -0.011591054, -0.023387874, -0.08254176, -0.043620072, -0.0235324, 0.04300052) * conv2d_1_6_texOff(vec2(0, 1)); + result += mat4(-0.085828885, -0.047209084, -0.10880459, -0.0870634, -0.05622369, -0.057588466, -0.17478503, 0.19157821, -0.020144265, -0.05294794, -0.110088736, -0.1405198, 0.081271596, -0.062294167, -0.03246561, -0.016470082) * conv2d_1_6_texOff(vec2(1, 1)); + result += mat4(0.1807892, 0.12269327, -0.032686412, 0.034980506, -0.07747139, 0.014915848, -0.056166377, 0.04459676, 0.09183141, 0.04164659, -0.116649054, 0.031404547, -0.08243292, -0.041228633, -0.022320407, -0.11184662) * conv2d_1_7_texOff(vec2(-1, -1)); + result += mat4(0.12688437, 0.06261286, -0.051828027, 0.0676579, -0.016404754, -0.046448167, 0.051989775, -0.011964095, -0.082994714, -0.023272978, 0.08587617, 0.04658063, -0.055298757, 0.0056486554, -0.010558743, -0.04508733) * conv2d_1_7_texOff(vec2(0, -1)); + result += mat4(-0.010341792, 0.041159056, 0.077650405, -0.04643296, -0.12247132, -0.024182014, -0.06788601, -0.054608095, -0.05421754, -0.035198692, 0.014502264, -0.09634834, -0.16039112, -0.070390105, 0.0037416657, -0.062297985) * conv2d_1_7_texOff(vec2(1, -1)); + result += mat4(-0.042285956, -0.04050862, -0.11637513, 0.054310247, 0.10902279, -0.21600753, -0.052831378, -0.07732206, 0.032911032, -0.062154345, -0.047157697, 0.035121948, -0.058768403, 0.019368898, 0.03910559, 0.10354808) * conv2d_1_7_texOff(vec2(-1, 0)); + result += mat4(0.12899391, -0.043552097, 0.033675674, -0.15806904, -0.00020917632, 0.04560186, 0.034179527, -0.09029664, 0.010178838, 0.11538606, 0.097935736, 0.0038417382, 0.020915117, -0.039434724, -0.014987019, 0.113300756) * conv2d_1_7_texOff(vec2(0, 0)); + result += mat4(-0.07399016, -0.0069469702, 0.11629896, 0.13147637, -0.104717515, 0.14911765, -0.051662326, 0.20679307, 0.033848498, -0.009340367, -0.04389881, 0.093633644, -0.06466577, 0.031942412, -0.05409814, -0.16794822) * conv2d_1_7_texOff(vec2(1, 0)); + result += mat4(0.031885304, -0.14330411, -0.09025747, 0.01589742, -0.019025436, -0.0701957, 0.08231872, 0.015730564, -0.074974336, -0.19851577, -0.04655555, -0.0540558, -0.028068583, 0.023066452, 0.07706145, 0.031974092) * conv2d_1_7_texOff(vec2(-1, 1)); + result += mat4(0.13133459, 0.1340606, 0.064349115, 0.119187765, 0.07823739, -0.013258393, 0.11756852, -0.02244607, -0.018553818, -0.010439721, 0.08452864, 0.0030316496, 0.093463704, 0.00894494, -0.07296927, -0.09368486) * conv2d_1_7_texOff(vec2(0, 1)); + result += mat4(0.056231953, 0.08907265, 0.013330655, -0.047468364, 0.007810955, 0.046405457, -0.044531606, -0.037312873, 0.13709784, -0.045995966, -0.005603822, 0.008829829, -0.06720611, 0.060846344, -0.059751607, 0.18905227) * conv2d_1_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-2-ReLU) +//!HOOK LUMA +//!BIND conv2d_1_0 +//!BIND conv2d_1_1 +//!BIND conv2d_1_2 +//!BIND conv2d_1_3 +//!BIND conv2d_1_4 +//!BIND conv2d_1_5 +//!BIND conv2d_1_6 +//!BIND conv2d_1_7 +//!SAVE conv2d_2_4 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.01857259, 0.020888787, 0.007238534, -0.00403704); + result += mat4(0.10967289, -0.013293821, -0.14953062, 0.007050341, -0.07907498, -0.01906839, -0.03607447, 0.06456735, -0.012081385, 0.050091762, -0.005414264, 0.0069189034, -0.016207904, -0.014012386, 0.0627765, -0.028777385) * conv2d_1_0_texOff(vec2(-1, -1)); + result += mat4(-0.07918457, 0.013209431, -0.04499024, -0.11687809, 0.01268219, 0.0074925385, 0.12746306, -0.049772598, 0.04713802, 0.104619786, -0.019431584, 0.046959113, -0.030143918, 0.009717761, -0.007827202, -0.043561347) * conv2d_1_0_texOff(vec2(0, -1)); + result += mat4(-0.16257705, 0.03467366, 0.08518225, -0.046024397, -0.03135386, -0.034851365, -0.020914344, 0.028596807, -0.12224856, -9.988478e-05, -0.009115976, -0.062032085, 0.11767511, 0.10622022, 0.013164589, -0.029558318) * conv2d_1_0_texOff(vec2(1, -1)); + result += mat4(0.018060263, -0.02867387, 0.029803667, -0.08594958, 0.015107323, -0.073091805, 0.036897548, -0.013076949, -0.0120678665, -0.08624659, -0.021395558, -0.03611275, 0.0057391925, -0.08998793, -0.041092075, -0.028520864) * conv2d_1_0_texOff(vec2(-1, 0)); + result += mat4(-0.07196759, 0.027180946, 0.055509083, 0.1888752, -0.00842885, -0.045146238, 0.001887397, -0.021091156, 0.0007294446, -0.09178041, 0.055937298, 0.007393392, -0.09361864, 0.009492764, -0.0021452361, -0.0344149) * conv2d_1_0_texOff(vec2(0, 0)); + result += mat4(-0.17174779, -0.1188803, 0.05648137, 0.21428655, 0.18758354, -0.09332587, 0.05619607, 0.06374383, 0.06633351, 0.013780069, 0.04560336, -0.04951734, -0.11180627, 0.021182401, -0.07579525, 0.04604379) * conv2d_1_0_texOff(vec2(1, 0)); + result += mat4(0.12862727, 0.17750795, -0.09120518, -0.13478005, 0.047357757, 0.10503705, -0.070507035, -0.004920827, -0.065118216, 0.018146256, 0.028936053, 0.120275095, 0.015813692, -0.10555226, 0.011669277, 0.009304321) * conv2d_1_0_texOff(vec2(-1, 1)); + result += mat4(0.054230675, 0.07131498, -0.04538429, -0.02730018, 0.03749153, -0.03486007, -0.007372331, 0.121224925, -0.009547714, 0.057651766, -0.068087325, 0.014474149, 0.07146902, 0.07629445, -0.05295835, 0.09128088) * conv2d_1_0_texOff(vec2(0, 1)); + result += mat4(0.10265219, 0.038865693, 0.0007280558, 0.034281064, 0.19002894, -0.15108632, -0.1617103, -0.035664424, -0.06964315, 0.1247818, -0.037078608, 0.05408554, 0.08111989, -0.022131514, -0.09336266, 0.07612998) * conv2d_1_0_texOff(vec2(1, 1)); + result += mat4(-0.034781873, 0.008768646, -0.020172289, -0.016108485, 0.17865731, -0.058091443, 0.10142226, 0.015737405, -0.25811228, 0.10340568, 0.1762534, 0.0702288, 0.1146735, -0.048717238, -0.033869933, -0.073756225) * conv2d_1_1_texOff(vec2(-1, -1)); + result += mat4(-0.0896519, 0.040145867, -0.037814766, 0.05316818, 0.053987477, -0.13904224, -0.0678985, -0.062443666, 0.19061452, 0.11765743, -0.019090055, 0.065148525, 0.061330922, 0.054668043, -0.001344092, -0.004846902) * conv2d_1_1_texOff(vec2(0, -1)); + result += mat4(0.01585879, -0.038350105, -0.0022357495, 0.04849701, -0.027535874, 0.052150987, 0.060644407, 0.010999622, -0.0432819, 0.16372447, 0.08533679, -0.1412715, 0.023804422, -0.042077426, 0.07172983, 0.07251932) * conv2d_1_1_texOff(vec2(1, -1)); + result += mat4(0.06865901, -0.043294184, 0.13124649, -0.01998965, 0.075910226, -0.15211248, 0.005416819, -0.061996937, -0.15881419, -0.0033964473, -0.04293052, -0.27600986, 0.025783977, 0.010925737, -0.07398209, 0.04738424) * conv2d_1_1_texOff(vec2(-1, 0)); + result += mat4(-0.11051977, 0.026122313, 0.028679958, -5.3052758e-05, -0.16662455, 0.16775064, -0.036147498, -0.02761276, -0.30059212, 0.041976053, 0.33618078, 0.052713133, -0.044952087, 0.062899925, 0.028357506, 0.087590404) * conv2d_1_1_texOff(vec2(0, 0)); + result += mat4(-0.049435418, -0.055601373, -0.05483589, 0.012929352, -0.14574559, -0.010891065, -0.087778434, 0.003872387, -0.1705317, -0.029696887, 0.12805921, 0.1134294, 0.020899188, -0.08293696, 0.06235339, 0.016491871) * conv2d_1_1_texOff(vec2(1, 0)); + result += mat4(-0.06681283, 0.06297766, 0.041880272, 0.045250855, -0.05479287, 0.026897931, -0.0027426328, 0.004391306, -0.016174123, 0.06820367, -0.03513827, -0.0025769854, -0.07214782, -0.022227753, -0.06108957, 0.007224175) * conv2d_1_1_texOff(vec2(-1, 1)); + result += mat4(0.0058817337, -0.019163292, -0.029854972, -0.047936916, -0.018569475, 0.17907861, 0.00153486, -0.023768753, -0.09154197, 0.07704797, 0.0082255425, 0.014598756, -0.030119138, 0.07094062, 0.012222555, -0.05931726) * conv2d_1_1_texOff(vec2(0, 1)); + result += mat4(0.09984412, -0.07356945, -0.08113471, 0.018231397, 0.043577038, -0.0735985, 0.04540236, -0.05205051, 0.10076603, 0.016761003, 0.11810357, -0.014211836, -0.08304744, -0.026871096, 0.015814789, 0.015877115) * conv2d_1_1_texOff(vec2(1, 1)); + result += mat4(-0.098559484, 0.14670555, -0.053650424, 0.37768367, -0.032427125, -0.123920254, 0.01742982, 0.025579356, 0.006046203, 0.009799896, 0.005363464, 0.020183664, -0.027991481, -0.053980175, -0.06521101, 0.018351655) * conv2d_1_2_texOff(vec2(-1, -1)); + result += mat4(-0.07977202, -0.09445745, -0.017913347, 0.10178565, 0.030844454, -0.09312721, 0.09609783, -0.060033876, 0.026633723, 0.1307258, 0.076929964, 0.0018970632, 0.05722249, -0.14772636, -0.17554845, -0.03327956) * conv2d_1_2_texOff(vec2(0, -1)); + result += mat4(-0.022553483, -0.009134754, -0.03369612, -0.043095842, -0.10134476, 0.037938762, 0.124365725, -0.116667315, 0.056688815, -0.0890345, 0.12057316, -0.052658644, 0.008672906, 0.030163862, -0.11128414, -0.044175986) * conv2d_1_2_texOff(vec2(1, -1)); + result += mat4(-0.18910822, -0.17729102, -0.18767454, 0.10087806, 0.00325382, 0.10777388, 0.035040066, 0.046848107, -0.1046287, -0.10865923, -0.102109656, 0.044469055, -0.011397, 0.017436434, 0.018583497, -0.026365766) * conv2d_1_2_texOff(vec2(-1, 0)); + result += mat4(0.03286891, 0.07985469, -0.043117926, 0.037655886, -0.17278744, 0.15383828, -0.080331564, 0.06276011, -0.03204496, 0.051486716, 0.055926368, -0.049044017, 0.08868475, -0.023991957, 0.06823326, -0.14062157) * conv2d_1_2_texOff(vec2(0, 0)); + result += mat4(-0.0059354473, -0.090656646, -0.027698673, 0.02313914, 0.019000547, 0.021021465, -0.06376444, 0.019146847, 0.044650204, -0.08702587, 0.06479418, -0.041983593, -0.10566302, 0.07219649, 0.067135766, -0.038041215) * conv2d_1_2_texOff(vec2(1, 0)); + result += mat4(0.054858178, -0.12565796, -0.06652672, 0.0046777185, -0.0564918, -0.01724832, -0.0346407, 0.09900646, 0.022778621, 0.11191918, -0.10252596, -0.0033474888, -0.06889147, 0.19719581, 0.08740053, -0.06327915) * conv2d_1_2_texOff(vec2(-1, 1)); + result += mat4(0.062599264, 0.04801815, 0.018566884, -0.03270711, 0.15284248, -0.09396901, -0.07398883, 0.0097584175, -0.060111973, 0.062136948, -0.025920797, 0.010134888, -0.046181004, 0.15617587, -0.018010393, -0.036242064) * conv2d_1_2_texOff(vec2(0, 1)); + result += mat4(-0.1242844, 0.21191922, 0.036963593, 0.12200254, 0.063753694, 0.03233781, 0.0053352015, -0.11061274, -0.04201351, 0.0015074124, 0.0060441047, -0.010141946, -0.009555532, -0.010544267, -0.04314097, 0.028344546) * conv2d_1_2_texOff(vec2(1, 1)); + result += mat4(0.08088072, 0.0059827114, 0.21148568, -0.13334909, 0.019948993, -0.01906085, 0.06438295, 0.029699985, -0.13814679, -0.052204035, 0.17554669, 0.022233654, -0.08348387, 0.122280255, 0.084545024, -0.026955962) * conv2d_1_3_texOff(vec2(-1, -1)); + result += mat4(-0.004924417, -0.10987649, 0.075152844, 0.070244566, 0.054765098, -0.16274123, 0.08626406, -0.014773861, -0.07184794, 0.16716999, -0.25992894, -0.023315063, 0.014667282, -0.058417723, 0.14199135, -0.021057734) * conv2d_1_3_texOff(vec2(0, -1)); + result += mat4(-0.05957402, -0.023738245, 0.13210142, 0.09085989, -0.05539771, 0.075117595, 0.05002829, 0.081334196, 0.114480704, 0.054078307, -0.15846047, -0.013698696, -0.0074021914, -0.011857826, -0.035579666, 0.06767839) * conv2d_1_3_texOff(vec2(1, -1)); + result += mat4(-0.045069054, 0.01719902, -0.06661749, -0.015605888, -0.10064918, -0.007915361, -0.024505952, -0.025148537, 0.039265264, -0.001784636, -0.0021948372, 0.041779723, -0.12468699, -0.03842205, 0.08182073, -0.11126409) * conv2d_1_3_texOff(vec2(-1, 0)); + result += mat4(-0.06310543, -0.054441974, -0.048329514, 0.06260527, -0.0693293, -0.09211749, 0.007818526, -0.08082515, 0.13494363, -0.09900091, -0.053903356, 0.062414005, 0.037604477, -0.059827805, 0.3556317, -0.06562772) * conv2d_1_3_texOff(vec2(0, 0)); + result += mat4(-0.05829909, -0.050673295, -0.056385327, 0.004621441, 0.016593354, 0.016039899, 0.052652564, 0.08343319, 0.05751422, 0.052646082, -0.05496396, -0.025797253, 0.0924839, 0.041013926, 0.09229606, 0.062440813) * conv2d_1_3_texOff(vec2(1, 0)); + result += mat4(-0.020773614, -0.1078972, -0.093438625, -0.006121549, 0.027955165, 0.108248465, -0.07321735, 0.061445262, 0.09590813, 0.16763993, -0.09198082, 0.08817931, -0.08210198, 0.055414136, -0.16297404, -0.13803203) * conv2d_1_3_texOff(vec2(-1, 1)); + result += mat4(0.031825576, 0.04908549, -0.09039055, 0.048296127, -0.023166232, 0.05662354, 0.02121508, -0.089728914, 0.031147739, 0.23726235, 0.0033778634, -0.08600718, -0.09182115, 0.037283327, 0.07486584, -0.082122035) * conv2d_1_3_texOff(vec2(0, 1)); + result += mat4(-0.014665775, 0.029003534, -0.011186521, -0.06027118, 0.041377656, 0.058076065, -0.06571409, -0.042715598, -0.05174396, 0.28977394, -0.055684026, -0.023867637, -0.049236044, 0.07488795, -0.19048877, 0.059757646) * conv2d_1_3_texOff(vec2(1, 1)); + result += mat4(-0.08148838, 0.03489174, -0.18769434, 0.03127589, 0.073262244, 0.029319407, 0.30351332, -0.109721325, 0.19410379, -0.04780345, 0.06073894, -0.14044657, 0.0119226035, 0.016777916, -0.055305194, -0.058671046) * conv2d_1_4_texOff(vec2(-1, -1)); + result += mat4(-0.023804324, 0.16828187, -0.12717621, -0.043349173, -0.08130066, -0.014888782, 0.19605576, 0.12806931, 0.029461788, -0.0850722, -0.22066222, -0.086207986, 0.09668434, 0.14662412, 0.038236935, -0.027301364) * conv2d_1_4_texOff(vec2(0, -1)); + result += mat4(-0.052222084, 0.0014978964, -0.08176945, -0.05130913, -0.047698658, 0.20141694, 0.1932175, -0.11715432, -0.12131196, -0.14304024, -0.011259099, -0.04790511, -0.072519824, 0.15122196, 0.0297478, -0.040584862) * conv2d_1_4_texOff(vec2(1, -1)); + result += mat4(-0.032584663, -0.022773951, 0.17060414, 0.055011548, 0.032739453, -0.061072167, -0.18261917, 0.08388062, -0.043350495, -0.00750836, 0.024371093, -0.030445172, -0.011480477, -0.09744492, 0.07955392, -0.064587794) * conv2d_1_4_texOff(vec2(-1, 0)); + result += mat4(-0.011636613, -0.08287539, 0.0783088, -0.022689316, -0.07641636, -0.15817478, -0.1271724, 0.112740085, 0.0045166034, -0.12647337, -0.115381405, -0.11007196, 0.00938381, -0.08226849, -0.10325836, 0.046306614) * conv2d_1_4_texOff(vec2(0, 0)); + result += mat4(0.024087476, 0.003225992, 0.031204412, -0.031232027, -0.07936151, 0.007570615, 0.03150448, 0.024551554, 0.0556452, -0.35328162, -0.049990732, -0.10110353, -0.087240234, -0.050849184, -0.09629491, 0.046937585) * conv2d_1_4_texOff(vec2(1, 0)); + result += mat4(0.024741538, 0.06061063, 0.046193436, 0.01720697, -0.07238745, 0.23646607, -0.11201221, -0.117345795, 0.054472003, -0.12911755, 0.13056277, -0.17377071, -0.04660596, 0.09696492, -0.018524779, 0.046871386) * conv2d_1_4_texOff(vec2(-1, 1)); + result += mat4(0.083669186, -0.053513065, 0.08024297, 0.046209037, -0.01033379, 0.07104392, -0.066179164, 0.048617925, 0.09320756, -0.0057532275, 0.044687916, -0.022881856, 0.07643959, -0.036727227, 0.040449727, 0.027972786) * conv2d_1_4_texOff(vec2(0, 1)); + result += mat4(-0.011457813, -0.12169325, -0.010937543, -0.007945057, 0.060219817, -0.061780907, -0.080071345, 0.008881678, -0.07780946, 0.11040561, -0.015533364, 0.03476733, -0.04279532, -0.08905175, 0.05362479, 0.048324477) * conv2d_1_4_texOff(vec2(1, 1)); + result += mat4(-0.07379912, -0.08974454, -0.31221688, 0.31423903, -0.0020414002, -0.10421233, 0.2727074, -0.46847436, 0.0765586, 0.054675113, 0.07743009, 0.10468551, 0.17016593, 0.21636865, -0.013252979, 0.43400237) * conv2d_1_5_texOff(vec2(-1, -1)); + result += mat4(-0.13186799, -0.05960515, -0.14344595, 0.104881294, -0.049666237, 0.10468047, -0.087970376, 0.07475206, -0.13590285, 0.020308552, 0.0021445232, 0.034008462, 0.11126391, -0.0016126926, 0.46066344, 0.31372267) * conv2d_1_5_texOff(vec2(0, -1)); + result += mat4(0.013713915, -0.13504335, -0.07655789, -0.15935956, 0.18705988, -0.034855384, -0.08338708, 0.091781944, 0.043279365, 0.013114455, 0.046055607, -0.054581027, -0.07750604, -0.3401825, 0.0740436, -0.10619498) * conv2d_1_5_texOff(vec2(1, -1)); + result += mat4(-0.11884086, 0.22747955, 0.045354016, 0.19584218, 0.23029639, 0.1586264, 0.07773575, -0.27856395, -0.0223825, -0.10113906, -0.049126834, -0.015580851, 0.24910434, -0.39251474, -0.074891545, -0.014674201) * conv2d_1_5_texOff(vec2(-1, 0)); + result += mat4(0.14931205, 0.12530185, -0.00700508, -0.032516018, -0.15689875, 0.04939057, -0.1327473, -0.07332778, 0.037156075, -0.014016345, 0.017006353, 0.04560819, 0.269051, 0.008449732, 0.19899794, -0.07768204) * conv2d_1_5_texOff(vec2(0, 0)); + result += mat4(-0.11663734, -0.13124512, -0.008104163, -0.3061945, 0.15005948, 0.048333887, -0.2372172, -0.16608796, 0.008596328, 0.014568234, 0.015526763, -0.045243397, -0.38461944, 0.5708276, -0.0108670285, -0.11463723) * conv2d_1_5_texOff(vec2(1, 0)); + result += mat4(0.06276771, 0.023090865, 0.17844161, -0.022977576, 0.12217172, -0.0023340357, 0.20656134, 0.05886508, -0.05020614, -0.013372999, -0.11507288, -0.0064873756, 0.2388367, 0.1816009, 0.48670453, 0.54038036) * conv2d_1_5_texOff(vec2(-1, 1)); + result += mat4(0.055491593, 0.07216549, -0.050165057, -0.057778, 0.038662907, 0.047224518, 0.11620347, 0.2541949, 0.06943954, 0.050353047, -0.030529926, -0.041601907, 0.44253665, -0.012129478, 0.4095507, -0.4543625) * conv2d_1_5_texOff(vec2(0, 1)); + result += mat4(0.043787654, 0.13750023, 0.074168675, -0.12511553, 0.21608989, -0.071201265, -0.055323113, -0.05007086, 0.024435852, 0.017426398, 0.045813374, -0.076589994, -0.09135835, -0.1115496, 0.34639132, 0.36721388) * conv2d_1_5_texOff(vec2(1, 1)); + result += mat4(-0.07903278, -0.120777145, 0.055270813, -0.058830548, 0.053322926, -0.049677372, 0.04236781, -0.024325967, 0.044554867, 0.013636287, -0.18880354, -0.015345383, -0.047079057, -0.051606584, 0.02596575, 0.00020469449) * conv2d_1_6_texOff(vec2(-1, -1)); + result += mat4(-0.019326562, 0.044735815, 0.040966444, 0.08733458, 0.023817016, -0.17114091, 0.025438825, 0.106942736, -0.022533976, 0.05563792, -0.17772534, 0.0425728, 0.028187037, -0.03152132, -0.043655623, 0.02664131) * conv2d_1_6_texOff(vec2(0, -1)); + result += mat4(0.008790251, -0.03131413, 0.16859248, 0.03880981, -0.041067228, 0.01412589, -0.054849636, -0.017050464, -0.014785012, 0.035363108, -0.029243266, -0.034276173, -0.003935834, 0.051821306, -0.19852048, 0.023901531) * conv2d_1_6_texOff(vec2(1, -1)); + result += mat4(-0.04378375, -0.09414415, -0.08714498, 0.013981138, -0.07939476, 0.09188874, -0.06869893, -0.04341569, -0.09461346, 0.16208062, 0.011330236, 0.023708148, 0.11809939, -0.060284566, -0.0065738554, -0.029795077) * conv2d_1_6_texOff(vec2(-1, 0)); + result += mat4(-0.0077576824, -0.07456527, -0.106406264, 0.085264765, 0.18380718, -0.016068762, 0.029291052, 0.046777874, -0.055501774, -0.121245064, -0.044295393, 0.046549376, 0.019864453, -0.011270729, 0.07053211, 0.096204765) * conv2d_1_6_texOff(vec2(0, 0)); + result += mat4(0.092552476, -0.2683427, 0.03392313, 0.10920852, -0.07048239, 0.15458229, -0.079066396, 0.102609634, 0.010556015, -0.024930615, -0.06838372, -0.0286873, 0.079655245, -0.073063485, -0.037423264, -0.10934318) * conv2d_1_6_texOff(vec2(1, 0)); + result += mat4(-0.045746025, -0.10774832, -0.121795535, 0.06507651, -0.05160872, -0.011019425, -0.008473849, -0.10631199, -0.058666613, 0.057450373, 0.020254774, -0.07405828, 0.041318152, -0.072057575, -0.04559828, 0.049601324) * conv2d_1_6_texOff(vec2(-1, 1)); + result += mat4(0.046588834, -0.37314194, -0.14343248, 0.09961091, -0.038530704, -0.009202089, 0.059594072, -0.019697472, 0.05199055, 0.04673683, 0.07766044, 0.10076961, -0.065983064, -0.03542237, 0.067469165, 0.046354767) * conv2d_1_6_texOff(vec2(0, 1)); + result += mat4(0.028424596, -0.11306427, -0.039330702, 0.047458425, 0.029179644, -0.029850198, 0.03271165, -0.05307752, -0.013545757, 0.07222693, 0.07391397, -0.006753348, 0.03540693, -0.052112743, 0.058363248, -0.05059325) * conv2d_1_6_texOff(vec2(1, 1)); + result += mat4(0.020158192, -0.1382549, -0.03805195, 0.07839086, 0.024502633, -0.08325899, 0.10442678, 0.106010094, 0.092813194, -0.030464465, -0.10319511, 0.01272336, 0.09420401, 0.021368386, -0.055554118, -0.016121214) * conv2d_1_7_texOff(vec2(-1, -1)); + result += mat4(0.03287945, -0.017870774, -0.0819087, 0.00097607984, 0.003780958, 0.04140619, -0.014074337, -0.017316507, 0.049977336, -0.09422557, 0.010630434, 0.06590678, -0.056841977, -0.013153161, -0.08757371, 0.038220484) * conv2d_1_7_texOff(vec2(0, -1)); + result += mat4(-0.02138877, -0.07560103, -0.015501253, 0.12655002, -0.011854948, 0.042692427, -0.13602078, -0.029090812, 0.026129406, 0.013012344, -0.025182707, 0.080126226, -0.04990616, 0.0853841, -0.04389179, -0.017734492) * conv2d_1_7_texOff(vec2(1, -1)); + result += mat4(0.0365429, 0.06441157, -0.020278446, -0.0076265363, 0.0072516683, 0.03997104, -0.06139289, -0.042760577, 0.032075357, 0.012124861, 0.024963958, 0.05551307, 0.0078075137, 0.010221212, 0.06174257, -0.08354646) * conv2d_1_7_texOff(vec2(-1, 0)); + result += mat4(-0.0084719015, 0.07308454, -0.040790636, 0.07345684, 0.00492248, -0.013039461, -0.0047874674, -0.035205323, -0.024858091, -0.08256945, 0.06608196, -0.037582237, 0.10006943, -0.14145644, 0.033362545, 0.0767524) * conv2d_1_7_texOff(vec2(0, 0)); + result += mat4(-0.0165489, -0.04997377, 0.059976976, 0.017004969, -0.07300802, -0.06577859, -0.048123863, 0.09686428, -0.099549904, -0.09598758, -0.035849836, 0.0051228055, -0.05938937, 0.10001028, -0.09651446, 0.113233864) * conv2d_1_7_texOff(vec2(1, 0)); + result += mat4(-0.039901406, -0.07206994, 0.06891404, -0.044568736, -0.04136785, 0.0009571173, 0.09903945, 0.020985054, 0.089511774, -0.12881942, -0.0072235633, 0.03772051, -0.055335283, 0.006012859, -0.04232295, -0.0024678125) * conv2d_1_7_texOff(vec2(-1, 1)); + result += mat4(-0.04359205, -0.056857064, 0.1396613, -0.0025182038, 0.025736034, -0.05887709, 0.0063486816, -0.003208133, 0.08862747, -0.114592366, 0.037339997, -0.041908044, -0.062324062, -0.09517351, 0.09982301, -0.04886982) * conv2d_1_7_texOff(vec2(0, 1)); + result += mat4(0.10634239, -0.12392349, 0.12503938, 0.023933146, 0.07300103, 0.12592071, 0.010313503, 0.00061433343, 0.08321294, -0.20702001, -0.16440046, -0.016937824, 0.057380952, 0.020351058, 0.09752324, -0.042238925) * conv2d_1_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-2-ReLU) +//!HOOK LUMA +//!BIND conv2d_1_0 +//!BIND conv2d_1_1 +//!BIND conv2d_1_2 +//!BIND conv2d_1_3 +//!BIND conv2d_1_4 +//!BIND conv2d_1_5 +//!BIND conv2d_1_6 +//!BIND conv2d_1_7 +//!SAVE conv2d_2_5 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.01353681, 0.0059173047, 0.009455066, -0.06561346); + result += mat4(-0.23735307, -0.0652622, 0.016052736, 0.12966576, -0.018279819, 0.06395662, -0.0604202, -0.050795015, 0.11654865, 0.097204946, -0.013710466, 0.03327355, -0.050578125, 0.03935842, -0.06126209, -0.041436307) * conv2d_1_0_texOff(vec2(-1, -1)); + result += mat4(0.19733028, 0.030490952, -0.019426456, 0.13732824, 0.06571396, 0.06827393, -0.15381348, -0.05330653, -0.0076578627, 0.040544786, 0.06082586, -0.09375613, 0.00090473925, 0.095929, -0.06796813, -0.11225004) * conv2d_1_0_texOff(vec2(0, -1)); + result += mat4(0.28367582, 0.08566306, -0.040297363, 0.1480605, 0.05022474, -0.02833898, 0.16204791, -0.23837155, 0.016739085, -5.4234653e-05, 0.02498039, -0.23225506, -0.08314183, 0.0018945858, -0.09970236, -0.028313383) * conv2d_1_0_texOff(vec2(1, -1)); + result += mat4(-0.05593027, 0.042922154, -0.16540058, 0.080197774, 0.04063859, -0.068269424, -0.0026102595, 0.062498532, -0.1118361, 0.09477544, 0.007534625, 0.018183436, -0.044208076, 0.044527844, 0.05902022, 0.04283692) * conv2d_1_0_texOff(vec2(-1, 0)); + result += mat4(0.007982958, -0.112160236, 0.18007588, 0.11975772, 0.053692438, -0.034405008, -0.09851102, -0.11239068, 0.038845103, -0.035252478, -0.12314611, 0.049339056, 0.13042308, 0.026388649, 0.019821638, -0.01308899) * conv2d_1_0_texOff(vec2(0, 0)); + result += mat4(0.10335505, 0.07277708, -0.028688285, 0.0034167138, 0.02061956, 0.071611196, 0.11519382, -0.6914963, 0.028662808, -0.005573126, 0.096354455, -0.08053773, -0.040671088, 0.07534644, 0.112193026, -0.036820002) * conv2d_1_0_texOff(vec2(1, 0)); + result += mat4(0.025606956, -0.03623982, 0.15006569, 0.053134896, 0.10214222, -0.023711871, 0.008881994, 0.04114201, -0.03642404, -0.024428278, -0.048740946, 0.014965302, 0.05128559, 0.030646164, 0.005904384, 0.10235021) * conv2d_1_0_texOff(vec2(-1, 1)); + result += mat4(-0.015401585, 0.07148117, 0.15802893, 0.009821948, 0.12087749, 0.034545045, -0.13646767, -0.023442902, 0.06223444, 0.030259283, 0.03725835, -0.07791329, 0.07340227, -0.06457359, -0.02677432, 0.07124813) * conv2d_1_0_texOff(vec2(0, 1)); + result += mat4(0.015005511, 0.049881183, 0.1223008, 0.035444237, 0.016948603, -0.051284414, 0.124149136, -0.058760084, -0.16631436, 0.017339993, 0.080793016, -0.015165146, 0.01586677, -0.024232183, -0.062361997, -0.041806288) * conv2d_1_0_texOff(vec2(1, 1)); + result += mat4(0.09108784, 0.07793329, 0.00074809656, -0.053806685, -0.057026234, -0.14185692, 0.01571714, 0.15026052, 0.10145905, -0.086524464, -0.073561646, 0.015963838, -0.09909224, -0.02571335, -0.040460076, -0.023384703) * conv2d_1_1_texOff(vec2(-1, -1)); + result += mat4(-0.10294317, 0.030461898, 0.0020525963, 0.06420687, 0.06606386, -0.049814638, -0.11059498, -0.03079706, -0.14158267, -0.27957013, 0.20420672, 0.07946835, 0.08130071, -0.04831967, -0.13085793, -0.0052076713) * conv2d_1_1_texOff(vec2(0, -1)); + result += mat4(-0.037628055, 0.09346202, 0.001886137, -0.08829984, -0.053793382, 0.052393187, -0.12082882, -0.085459635, 0.4146695, -0.04661081, 0.06872527, -0.088119276, -0.002712217, 0.022286415, 0.036476664, 0.07871722) * conv2d_1_1_texOff(vec2(1, -1)); + result += mat4(0.028565487, -0.018032305, 0.019993234, -0.017699014, -0.00027475884, -0.044234812, 0.05036078, -0.04983042, -0.24588455, 0.08054836, -0.15385877, 0.052588314, 0.0024693487, -0.029249119, -0.07992449, -0.04686426) * conv2d_1_1_texOff(vec2(-1, 0)); + result += mat4(0.05915254, -0.02499786, 0.050892368, 0.081852555, -0.012582628, 0.06018068, 0.07759678, -0.08230762, 0.097699456, 0.009405475, -0.17219996, -0.00045306873, 0.06552581, 0.07830941, 0.011547842, -0.01844987) * conv2d_1_1_texOff(vec2(0, 0)); + result += mat4(-0.0055807116, -0.044964787, -0.04201196, -0.0055737873, -0.016677774, -0.00951261, 0.05647445, -0.0001946351, -0.19178915, 0.11183416, -0.21702045, 0.13368106, 0.008175524, -0.047931395, -0.051164944, 0.028708104) * conv2d_1_1_texOff(vec2(1, 0)); + result += mat4(0.106025785, 0.04827277, -0.06824549, 0.04530747, 0.010040959, 0.047816437, -0.035710335, -0.03449957, 0.062883414, 0.10324068, -0.0475433, -0.12640645, -0.094069816, 0.0112876445, 0.026417105, -0.0488702) * conv2d_1_1_texOff(vec2(-1, 1)); + result += mat4(-0.04718561, -0.10326767, -0.019695543, 0.055308502, -0.02539689, -0.010178188, 0.009915679, 0.013178478, 0.20357002, -0.10094949, -0.25285476, 0.08852787, -0.013270086, 0.036792163, 0.09874398, 0.07818088) * conv2d_1_1_texOff(vec2(0, 1)); + result += mat4(-0.03467638, -0.054264013, 0.034818497, -0.04390087, -0.062451307, 0.114496276, 0.0112654865, -0.021314662, -0.13981849, 0.1256962, 0.08423735, 0.17459682, -0.16004293, -0.0051985546, 0.08094039, -0.069427766) * conv2d_1_1_texOff(vec2(1, 1)); + result += mat4(-0.14300738, 0.07089623, -0.12690848, 0.0815967, -0.09272153, -0.0007083397, -0.000825486, 0.0004077729, 0.0007645436, -0.09581712, -0.1451279, -0.06296552, -0.10823187, 0.14934221, -0.018843533, 0.06747873) * conv2d_1_2_texOff(vec2(-1, -1)); + result += mat4(-0.060922112, 0.15397286, -0.056360167, 0.04400242, 0.05426037, 0.08352793, -0.002508474, -0.03445279, -0.035842888, -0.028816298, 0.08459189, 0.020494947, -0.056567688, -0.2345421, 0.08054554, -0.04447615) * conv2d_1_2_texOff(vec2(0, -1)); + result += mat4(-0.011738017, -0.005126863, -0.0163909, 0.44857222, 0.08647339, -0.02518792, 0.06145625, 0.007731622, -0.122636706, -0.054621212, 0.021104217, 0.008578667, 0.08506497, -0.023247855, -0.021295883, 0.10858076) * conv2d_1_2_texOff(vec2(1, -1)); + result += mat4(0.040498383, 0.0138248755, -0.12927243, 0.00536549, -0.03419615, 0.08454201, -0.11034346, 0.017174833, -0.070048355, 0.10393343, -0.047001142, -0.018824799, -0.060813375, -0.09088826, -0.06202124, -0.041994203) * conv2d_1_2_texOff(vec2(-1, 0)); + result += mat4(-0.032586068, 0.028390232, -0.0878151, -0.118801825, 0.04755131, 0.021344662, 0.053511187, -0.010708393, -0.033964407, -0.06710113, 0.16789915, 0.012736925, 0.13235673, -0.01874683, 0.14939252, 0.008864691) * conv2d_1_2_texOff(vec2(0, 0)); + result += mat4(-0.048998572, -0.083739065, 0.120087825, 0.10513611, -0.102526695, -0.03485622, -0.037975695, 0.07344169, -0.028166356, -0.015494939, 0.07352754, 0.035402484, 0.13390346, -0.04773846, -0.027217463, -0.036711253) * conv2d_1_2_texOff(vec2(1, 0)); + result += mat4(0.032593008, -0.11457967, -0.0676911, -0.15977077, 0.049267158, -0.015022297, 0.024103327, -0.036288034, -0.049446493, 0.08390857, -0.21763225, -0.003581375, 0.0024045808, -0.01400532, 0.117285386, -0.11610388) * conv2d_1_2_texOff(vec2(-1, 1)); + result += mat4(0.0012309003, -0.12735178, 0.08773004, -0.030052284, -0.0004673605, -0.033730023, -0.06721574, 0.031059874, -0.012644349, 0.04194687, 0.12806068, 0.085339405, 0.06877, 0.014165804, 0.018051468, -0.072827354) * conv2d_1_2_texOff(vec2(0, 1)); + result += mat4(0.25995806, 0.07440623, -0.06633635, 0.0069265156, 0.055084493, -0.10239992, 0.018360764, 0.019308615, 0.04230354, 0.0015911133, -0.064445704, 0.03483173, -0.0371255, 0.05514569, -0.06090195, -0.0057822205) * conv2d_1_2_texOff(vec2(1, 1)); + result += mat4(0.06105467, -0.013976459, -0.04810161, 0.07870925, -0.07351109, -0.17185329, 0.056165166, -0.005805865, -0.028361563, -0.15435544, 0.063116066, 0.018066801, 0.017585274, 0.04580864, -0.00286124, 0.1419176) * conv2d_1_3_texOff(vec2(-1, -1)); + result += mat4(-0.072450824, -0.03322898, 0.040231943, -0.036842365, 0.044594724, -0.025336117, -0.021715691, 0.026637359, -0.044576183, -0.03210198, -0.08222462, 0.0022228179, 0.002240779, 0.046739858, -0.08996766, 0.28939328) * conv2d_1_3_texOff(vec2(0, -1)); + result += mat4(0.055691734, 0.052730665, 0.09980155, -0.029798578, 0.07248881, -0.14179769, -0.0002029484, 0.05736459, -0.08243939, -0.0058614677, 0.0090626655, -0.018530453, -0.033448324, 0.07280501, 0.012835352, -0.020146951) * conv2d_1_3_texOff(vec2(1, -1)); + result += mat4(-0.11536833, 0.049265023, 0.07230971, 0.09327738, 0.014039213, -0.06369424, -0.03833462, -0.0231456, -0.010358377, -0.024001176, 0.027237637, -0.2702502, -0.06868693, -0.0011844612, 0.01270004, 0.11945122) * conv2d_1_3_texOff(vec2(-1, 0)); + result += mat4(-0.0058807894, 0.08531298, -0.07140863, 0.061922945, 0.0349968, 0.1025458, 0.09617451, -0.06208352, 0.04232867, -0.07017044, 0.018171398, 0.022925323, 0.029584806, -0.030618846, -0.03793145, -0.10085252) * conv2d_1_3_texOff(vec2(0, 0)); + result += mat4(-0.10579153, -0.042237252, 0.011305523, -0.01621337, -0.051863156, 0.050971806, -0.05480254, 0.06322881, 0.1269123, 0.109943, 0.023331918, 0.12507108, -0.034883976, -0.04537587, -0.05640265, -0.04852635) * conv2d_1_3_texOff(vec2(1, 0)); + result += mat4(-0.114722796, -0.036705308, -0.058774427, -0.041493617, 0.05959832, 0.0688787, -0.098242454, -0.062100396, 0.050134365, 0.078825034, -0.07603158, -0.084399596, -0.029078254, 0.015490392, -0.17236646, 0.24088848) * conv2d_1_3_texOff(vec2(-1, 1)); + result += mat4(0.051852956, -0.039989457, 0.030041715, -0.08010738, 0.030876698, 0.16010472, 0.066263564, 0.034014296, 0.009096297, -0.00016639242, -0.03203736, 0.16088776, -0.020249188, -0.031127525, -0.05564619, 0.074225314) * conv2d_1_3_texOff(vec2(0, 1)); + result += mat4(0.021550914, -0.023549795, -0.06189534, -0.09476848, -0.051550746, 0.012194424, 0.013548567, -0.003643752, 0.09098134, 0.040990915, 0.03840504, 0.118517764, 0.045686167, 0.06437383, -0.05376765, 0.0666491) * conv2d_1_3_texOff(vec2(1, 1)); + result += mat4(-0.099015184, 0.03500007, 0.0933932, -0.013763404, 0.10611047, -0.030151375, 0.008687981, -0.17390022, -0.010357151, 0.0037973584, 0.04451201, -0.47383535, -0.043883953, 0.095434226, 0.008985713, 0.017199218) * conv2d_1_4_texOff(vec2(-1, -1)); + result += mat4(-0.05140939, 0.06187163, -0.02096817, -0.041651875, -0.075807154, 0.017882248, 0.039651226, -0.07143041, 0.0713116, 0.073344246, 0.045282528, -0.10114683, -0.054192714, 0.04893598, -0.053567693, 0.008312285) * conv2d_1_4_texOff(vec2(0, -1)); + result += mat4(-0.010290655, 0.037567105, -0.054062527, 0.13549717, 0.003984349, -0.04704232, 0.00090713403, 0.015518633, -0.044600166, -0.011049431, 0.17379348, -0.035964366, -0.024794038, 0.07750628, -0.036825225, 0.037809074) * conv2d_1_4_texOff(vec2(1, -1)); + result += mat4(-0.027097574, 0.08171161, 0.09628703, 0.3343901, -0.06469457, -0.15294991, 0.027598793, -0.17149867, -0.04943282, -0.07620475, -0.18062398, -0.106246755, -0.035804868, -0.064186916, 0.11199222, -0.03614291) * conv2d_1_4_texOff(vec2(-1, 0)); + result += mat4(0.019513838, -0.01113246, 0.115151614, -0.056833085, 0.048250884, 0.025248583, 0.02220513, 0.05796664, -0.16717197, 0.023371646, -0.038020324, -0.0132686505, 0.106527984, -0.056256987, 0.014048423, -0.013953765) * conv2d_1_4_texOff(vec2(0, 0)); + result += mat4(0.07367401, 0.019808441, -0.04657124, 0.02376679, -0.041022226, -0.046520595, 0.061511345, 0.18319462, 0.006923705, 0.05392838, -0.09386923, 0.080193, 0.04482432, -0.045932736, 0.011430329, 0.03979142) * conv2d_1_4_texOff(vec2(1, 0)); + result += mat4(0.10598416, -0.085635945, -0.031024998, -0.12770595, -0.2568619, -0.17363603, -0.2638495, -0.06996971, -0.02311967, -0.00655481, 0.011683348, 0.049524937, 0.0018321014, 0.021074655, 0.03017087, -0.06556681) * conv2d_1_4_texOff(vec2(-1, 1)); + result += mat4(0.05211377, -0.004601518, -0.09612739, -0.15220925, -0.10374338, 0.072172545, 0.037019208, -0.043692537, -0.0043634814, 0.023708578, 0.13495283, 0.022016125, -0.043506313, 0.011071505, 0.038609546, 0.028885955) * conv2d_1_4_texOff(vec2(0, 1)); + result += mat4(0.023423275, -0.014850502, 0.01662597, 0.041795727, -0.12176833, 0.0736197, 0.053319495, 0.08301435, 0.06849843, 0.1705687, 0.033053905, 0.048472013, -0.05574832, -0.02626521, -0.08309131, -0.052587796) * conv2d_1_4_texOff(vec2(1, 1)); + result += mat4(-0.77233785, 0.006393876, 0.36735722, -0.07890108, 0.13657752, 0.01477426, -0.06295646, 0.015871115, 0.064781286, -0.060841728, -0.01085609, -0.012541993, 0.19306976, 0.2529333, -0.1357119, 0.053578988) * conv2d_1_5_texOff(vec2(-1, -1)); + result += mat4(-0.14096919, 0.101748, -0.06550409, -0.0792966, 0.037381917, 0.0523011, -0.14150633, -0.12622538, -0.07014487, -0.010596306, 0.06042152, 0.10822163, 0.06749768, -0.20000535, 0.17510734, -0.70991063) * conv2d_1_5_texOff(vec2(0, -1)); + result += mat4(-0.09036168, 0.054815844, 0.09136112, -0.13275306, 0.06964799, 0.12677146, -0.13850625, -0.14608008, -0.064552754, 0.064353734, 0.043868754, 0.09171546, 0.12046518, -0.041478284, 0.33256626, -0.66216105) * conv2d_1_5_texOff(vec2(1, -1)); + result += mat4(0.0009857231, 0.076647244, 0.33709645, 0.21337996, -0.049800426, 0.04716261, -0.068043664, -0.21376781, 0.0018597327, 0.073524185, 0.076222986, 0.040136, 0.0026282244, 0.18404269, -0.04442308, -0.085673966) * conv2d_1_5_texOff(vec2(-1, 0)); + result += mat4(0.05874647, -0.03943763, -0.13145657, -0.06648413, -0.253045, 0.1268124, -0.038562663, -0.061502606, 0.019345982, -0.022664811, -0.022142114, -0.04447954, 0.18363045, -0.058746185, 0.06523419, 0.25664195) * conv2d_1_5_texOff(vec2(0, 0)); + result += mat4(0.08019555, -0.012239751, -0.011895252, -0.061315633, 0.038944505, 0.14706634, -0.15751922, -0.10458593, 0.1115193, -0.0410773, -0.0708922, 0.06306769, -0.24465056, 0.5771332, -0.77821606, 0.10064463) * conv2d_1_5_texOff(vec2(1, 0)); + result += mat4(-0.10863808, 0.0387043, 0.034883734, 0.00736392, 0.102684096, -0.123234995, -0.07671682, 0.025862332, -0.036028706, 0.059380133, -0.021309514, 0.13564269, 0.08718602, 0.0660794, -0.62152934, 0.06356079) * conv2d_1_5_texOff(vec2(-1, 1)); + result += mat4(0.13219112, -0.03859387, 0.069880486, -0.039997123, -0.04373965, -0.064094, 0.040652506, -0.017591119, -0.029136121, -0.12277621, -0.035486937, 0.093530566, -0.18162584, 0.6069, -0.0056084874, 0.18537244) * conv2d_1_5_texOff(vec2(0, 1)); + result += mat4(0.009590808, -0.026721004, -0.13316211, 0.003195802, -0.008524979, 0.15655214, -0.18576302, 0.10593688, -0.033705708, 0.0074143307, 0.0072742095, 0.028321259, 0.14526361, 0.27303115, -0.10055347, 0.11181452) * conv2d_1_5_texOff(vec2(1, 1)); + result += mat4(0.12747978, 0.015559857, -0.0279742, -0.09386083, -0.1165334, 0.07168884, 0.10968242, 0.11787874, -0.0595236, 0.04358443, -0.04367302, -0.0027309263, -0.04038383, 0.030720126, -0.1630981, -0.08419226) * conv2d_1_6_texOff(vec2(-1, -1)); + result += mat4(0.0003181307, 0.00505075, -0.07564156, -0.043625094, 0.10428135, 0.033647664, -0.119266815, 0.05638696, 0.0022349646, -0.036607567, 0.04933508, 0.013704803, 0.041861095, -0.006851572, -0.0025068629, -0.17488024) * conv2d_1_6_texOff(vec2(0, -1)); + result += mat4(0.047816746, -0.03701946, -0.0036915878, 0.014944819, 0.007316625, 0.0069717015, 0.07201905, 0.0451527, -0.065704264, 0.0457849, -0.03573041, 0.09611936, -0.13465062, -0.06738985, 0.07426441, 0.025207536) * conv2d_1_6_texOff(vec2(1, -1)); + result += mat4(0.14039126, 0.103511274, -0.070839904, 0.0359138, -0.10010466, -0.079511814, 0.021657562, -0.05220276, 0.06966273, -0.097947605, 0.048306875, -0.001760612, 0.017690253, -0.025701575, -0.09290096, 0.008922746) * conv2d_1_6_texOff(vec2(-1, 0)); + result += mat4(0.014666001, 0.16857994, 0.13247117, 0.07219578, -0.011406998, -0.0299144, -0.17868042, -0.087843984, -0.034396175, -0.04378406, 0.0014156562, 0.055493787, 0.09912178, 0.010798549, -0.056449745, -0.105339006) * conv2d_1_6_texOff(vec2(0, 0)); + result += mat4(-0.08475972, 0.024784021, 0.05117882, 0.0030542447, 0.06358664, -0.059914384, -0.08966191, -0.027729059, -0.020200023, 0.015280264, 0.11297914, -0.029743366, -0.1393606, 0.052631944, 0.040251493, 0.049765185) * conv2d_1_6_texOff(vec2(1, 0)); + result += mat4(0.04627259, 0.10382761, -0.12397328, -0.04554128, -0.049570445, 0.09403558, 0.12372191, -0.048224386, 0.079080045, -0.042654444, 0.06234977, 0.011434104, -0.23205517, 0.0335763, 0.024476146, 0.04098352) * conv2d_1_6_texOff(vec2(-1, 1)); + result += mat4(-0.03452633, 0.017702322, -0.025027052, 0.053853385, 0.09295817, -0.05085124, 0.044716712, -0.064820446, 0.016282395, 0.036084466, 0.056406625, -0.120010056, 0.088272974, 0.035654973, -0.13473986, 0.01703694) * conv2d_1_6_texOff(vec2(0, 1)); + result += mat4(-0.035903554, -0.048575256, 0.024643412, -0.00443236, -0.09261782, 0.05099343, -0.006347384, 0.055303227, 0.03278513, 0.03181457, -0.013651474, -0.12203365, 0.042468697, 0.054433845, -0.011344749, 0.027542654) * conv2d_1_6_texOff(vec2(1, 1)); + result += mat4(-0.086430915, -0.065509714, 0.043919407, -0.04097845, 0.11006178, -0.088632576, -0.09873109, -0.008289689, -0.015440207, -0.19398527, -0.07621872, -0.053077586, 0.002886392, 0.07673537, 0.0782981, 0.017993418) * conv2d_1_7_texOff(vec2(-1, -1)); + result += mat4(0.10632289, -0.11350796, 0.0053830203, -0.14215466, -0.017720895, 0.12882212, 0.06310734, -0.06953946, -0.04053536, -0.08010739, -0.032327257, -0.030655555, -0.051441494, -0.07905176, 0.06792791, -0.024575006) * conv2d_1_7_texOff(vec2(0, -1)); + result += mat4(0.030074816, -0.030221714, -0.07829937, 0.12425652, -3.8672904e-05, -0.029702056, 0.0333131, -0.072872885, 0.007072218, 0.04201622, -0.043637272, -0.017288411, 0.029321441, 0.002571058, -0.05830326, -0.036916103) * conv2d_1_7_texOff(vec2(1, -1)); + result += mat4(0.009731808, -0.07976237, -0.07436349, -0.115674466, 0.012868435, 0.07498626, 0.006302168, -0.0031271582, -0.031092001, 0.041452654, 0.0029373302, 0.008484121, -0.110957146, -0.05176115, 0.045835372, 0.009569374) * conv2d_1_7_texOff(vec2(-1, 0)); + result += mat4(0.030405916, 0.062476136, 0.06415665, -0.19112875, -0.13489065, -0.05099669, 0.034169614, 0.09077126, 0.0057279305, 0.0021678875, -0.009860846, 0.09303514, 0.008051612, -0.11715329, -0.07073297, 0.0034952646) * conv2d_1_7_texOff(vec2(0, 0)); + result += mat4(-0.0055856523, -0.04420112, 0.057584874, -0.04059, 0.100946784, 0.01372505, -0.029832253, 0.027149882, -0.017059969, 0.066859275, -0.056763906, 0.07876712, 0.091814935, 0.006537651, 0.00072605826, -0.005798766) * conv2d_1_7_texOff(vec2(1, 0)); + result += mat4(-0.026313337, 0.033527467, -0.058112957, 0.027514352, -0.042737003, -0.08616322, -0.07042629, 0.022246884, 0.012239016, -0.069337025, -0.10015211, -0.31331468, -0.07439822, -0.020264693, 0.016009275, 0.060473885) * conv2d_1_7_texOff(vec2(-1, 1)); + result += mat4(0.11078354, -0.020858342, 0.01171633, -0.039373726, 0.0846813, 0.0017472956, 0.059698742, 0.07358353, -0.039256245, 0.08319258, -0.002833705, -0.08858863, 0.070085265, 0.05738256, 0.031479087, -0.03547387) * conv2d_1_7_texOff(vec2(0, 1)); + result += mat4(-0.0885485, -0.046670824, -0.14118028, -0.11072674, 0.008664852, -0.008465289, 0.00963273, -0.06553135, 0.03722114, -0.043166548, -0.11217241, -0.013756767, 0.07886938, 0.12084444, -0.10432687, -0.0026870214) * conv2d_1_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-2-ReLU) +//!HOOK LUMA +//!BIND conv2d_1_0 +//!BIND conv2d_1_1 +//!BIND conv2d_1_2 +//!BIND conv2d_1_3 +//!BIND conv2d_1_4 +//!BIND conv2d_1_5 +//!BIND conv2d_1_6 +//!BIND conv2d_1_7 +//!SAVE conv2d_2_6 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0004264091, 0.005937544, 0.0035721099, -0.014284692); + result += mat4(-0.042577773, -0.077956386, -0.059540264, -0.23328188, -0.09816041, 0.07455467, -0.025121294, 0.07271508, 0.026003769, 0.056198437, 0.04908984, 0.018677354, -0.048364215, -0.044719025, -0.019636089, -0.06626732) * conv2d_1_0_texOff(vec2(-1, -1)); + result += mat4(-0.060725257, 0.0136296665, 0.23225763, -0.0683614, 0.060532954, -0.024470521, 0.10719459, 0.09746133, -0.0044030137, 0.06786734, -0.062048074, 0.015671123, 0.007394907, -0.10441487, 0.005962235, -0.017620144) * conv2d_1_0_texOff(vec2(0, -1)); + result += mat4(-0.051392607, 0.3164097, 0.061055504, -0.17507575, 0.002527037, 0.032407638, -0.3650608, -0.030682726, -0.013766896, 0.029345607, -0.0835438, -0.06651298, 0.017686, -0.20419958, -0.0058855936, -0.0032635138) * conv2d_1_0_texOff(vec2(1, -1)); + result += mat4(0.13391773, 0.15957427, -0.48225874, -0.042625632, -0.039695818, -0.11436006, -0.069976486, -0.024810981, 0.028983217, 0.09998346, 0.06226458, 0.11312214, 0.08349287, -0.09247754, -0.023621144, 0.061271507) * conv2d_1_0_texOff(vec2(-1, 0)); + result += mat4(0.031214278, -0.052541412, -0.2801004, 0.04734473, -0.078062005, 0.084203675, 0.06400836, 0.02688797, 0.11493345, 0.08728993, 0.025520982, 0.011056487, 0.09479432, -0.117512554, 0.04229702, 0.036032364) * conv2d_1_0_texOff(vec2(0, 0)); + result += mat4(-0.05418046, 0.17469393, 0.011565229, -0.13769169, 0.014414331, 0.14864779, 0.057055417, -0.30031353, 0.120246306, -0.0054366537, 0.17772159, -0.05580829, 0.018963616, -0.0063377637, 0.049221214, 0.036523055) * conv2d_1_0_texOff(vec2(1, 0)); + result += mat4(-0.050742593, 0.10772785, 0.060549796, -0.15822785, 0.02916783, -0.042092495, 0.014020564, -0.11006188, 0.0070868745, -0.11593029, 0.06802139, 0.07831628, 0.06399996, 0.0048264815, -0.009292508, -0.103551224) * conv2d_1_0_texOff(vec2(-1, 1)); + result += mat4(0.006512731, -0.035323747, -0.13796578, -0.02163476, -0.064236216, 0.098594554, -0.0815945, 0.113997295, 0.030383274, -0.07086206, -0.010099978, -0.07885382, 0.032812387, -0.06676014, 0.12388364, 0.02276361) * conv2d_1_0_texOff(vec2(0, 1)); + result += mat4(0.010259105, -0.06728323, 0.04149047, -0.034909725, 0.014955953, -0.017496476, 0.12975033, -0.11433472, -0.023374662, 0.018814947, -0.03945723, 0.09011417, -0.10127962, 0.053520672, 0.06339788, -0.08821346) * conv2d_1_0_texOff(vec2(1, 1)); + result += mat4(-0.034490604, -0.08592626, -0.017572964, 0.031274147, -0.031546578, -0.03407052, 0.02475188, -0.09163524, -0.08514582, -0.15226641, -0.13601367, -0.0028377653, -0.06265119, -0.0464583, 0.039890215, -0.10839764) * conv2d_1_1_texOff(vec2(-1, -1)); + result += mat4(0.015984641, -0.040684097, -0.048208468, 0.0015477275, -0.0059633977, 0.017775137, 0.15742524, -0.031754833, -0.0049295384, 0.0061479476, -0.18259297, -0.10025176, 0.045257777, -0.0014434316, 0.04885071, 0.15015508) * conv2d_1_1_texOff(vec2(0, -1)); + result += mat4(-0.046460517, 0.043068882, 0.045054093, 0.013955046, -0.02643912, 0.0045010857, 0.047738515, 0.10592973, -0.15079391, -0.010410149, -0.095728725, -0.020180425, 0.04360357, -0.017615482, 0.08112072, -0.0026855685) * conv2d_1_1_texOff(vec2(1, -1)); + result += mat4(0.005795852, 0.01907471, 0.051279318, -0.09930653, -0.033596825, -0.06355971, -0.030189376, 0.041561868, -0.014145312, -0.24842227, -0.030857312, 0.16594979, -0.07846819, -0.06015665, 0.026562674, 0.0547817) * conv2d_1_1_texOff(vec2(-1, 0)); + result += mat4(-0.03350617, 0.039106645, 0.08830988, -0.0037522414, 0.015912836, 0.061395198, -0.015271464, -0.010129363, -0.018035024, -0.084739946, 0.10353, 0.04736907, 0.09709259, -0.074155554, -0.04152452, -0.16868268) * conv2d_1_1_texOff(vec2(0, 0)); + result += mat4(0.07064044, 0.097939916, 0.12855777, 0.0439167, 0.045879688, -0.038390294, 0.046347182, 0.12151034, -0.09935332, -0.036059514, -0.085764535, -0.24381882, 0.08867297, 0.070544586, -0.08301343, -0.10830596) * conv2d_1_1_texOff(vec2(1, 0)); + result += mat4(-0.07783152, 0.023744743, -0.08426514, -0.063795, -0.01989762, 0.08851649, -0.068707615, -0.051585317, -0.028470688, -0.17170103, 0.01773259, 0.071877204, -0.026643718, -0.06285906, -0.042698715, 0.08677802) * conv2d_1_1_texOff(vec2(-1, 1)); + result += mat4(0.0857614, -0.0006550824, 0.02910495, -0.21246761, -0.07237258, -0.02832576, -0.08112254, -0.03742035, -0.16849908, -0.14463174, 0.12396146, 0.26929656, -0.037450824, -0.033768583, 0.019363262, -0.107025646) * conv2d_1_1_texOff(vec2(0, 1)); + result += mat4(0.026310513, 0.017839829, -0.085504286, -0.12561972, 0.10286881, -0.07125225, -0.059048012, -0.020323709, -0.14752758, -0.041401487, 0.13259363, -0.15987426, 0.045780674, 0.0005910613, -0.04225513, -0.05354625) * conv2d_1_1_texOff(vec2(1, 1)); + result += mat4(0.12593487, -0.16345686, -0.054435603, -0.013675059, -0.08175027, 0.035872277, 0.044541687, -0.013734589, -0.07244321, -0.042503268, -0.06451637, 0.112249576, 0.044948213, -0.10950716, 0.0271489, -0.08489257) * conv2d_1_2_texOff(vec2(-1, -1)); + result += mat4(0.09125924, -0.027624339, 0.45312744, -0.0060238224, -0.04194228, -0.13583626, -0.084564514, -0.032295477, 0.038657393, -0.017130256, -0.0992161, -0.01397506, 0.009838301, -0.13227843, 0.029034238, 0.081426404) * conv2d_1_2_texOff(vec2(0, -1)); + result += mat4(-0.23138896, -0.15576662, -0.1489242, -0.07425258, 0.08938947, 0.0064302036, -0.06886603, -0.10231456, -0.0780459, -0.013454179, -0.003830311, -0.04116771, -0.07584303, -0.07161291, -0.05265901, 0.06713695) * conv2d_1_2_texOff(vec2(1, -1)); + result += mat4(-0.13699703, 0.0879359, 0.036424085, -0.14780053, -0.03107792, 0.007178339, 0.04573627, -0.06967439, -0.006942722, -0.025955446, -0.124463476, 0.07444043, -0.02788854, -0.10125745, -0.017385172, -0.05724794) * conv2d_1_2_texOff(vec2(-1, 0)); + result += mat4(-0.07044322, -0.042001348, 0.0014581396, -0.06590976, -0.09167587, 0.042081155, -0.060550217, -0.24139938, 0.07154418, 0.08488996, -0.08223617, 0.031395577, 0.041587185, 0.029740317, -0.049667273, 0.029697489) * conv2d_1_2_texOff(vec2(0, 0)); + result += mat4(-0.0056358073, 0.0039491835, 0.18076648, 0.031224607, 0.07627618, 0.037655495, -0.12406358, -0.022427263, 0.035241038, 0.036430534, -0.08195273, 0.023283409, -0.02319754, 0.0729022, -0.074347705, 0.10066725) * conv2d_1_2_texOff(vec2(1, 0)); + result += mat4(0.048884727, 0.026119146, 0.35505974, -0.056831356, 0.06610226, 0.026168963, 0.08859439, -0.17305438, 0.024694262, 0.029860884, 0.03133766, -0.055157285, 0.012950357, 0.014844853, -0.08340626, 0.02199587) * conv2d_1_2_texOff(vec2(-1, 1)); + result += mat4(0.02778354, 0.041584894, -0.11667611, 0.06681191, -0.043748066, 0.07694623, 0.08660364, -0.13821697, 0.062939756, 0.013305564, 0.063139215, -0.1215003, 0.017204082, -0.026662208, -0.060951736, -0.043540075) * conv2d_1_2_texOff(vec2(0, 1)); + result += mat4(0.030071147, -0.059526093, -0.10506504, 0.2773404, -0.055779878, -0.014838181, 0.06987174, -0.07557315, -0.0077181663, 0.0072538247, 0.023385204, 0.022719152, -0.009496598, -0.056971878, -0.034776337, -0.038293265) * conv2d_1_2_texOff(vec2(1, 1)); + result += mat4(-0.031155968, -0.016943721, -0.08239819, -0.0549717, 0.00274148, -0.13906625, -0.03132978, -0.07075669, -0.07038984, 0.012750922, 0.07060429, 0.01733845, -0.07619339, -0.079963185, -0.02175363, -0.06496028) * conv2d_1_3_texOff(vec2(-1, -1)); + result += mat4(-0.025425836, -0.022124495, 0.007158458, 0.001217976, 0.024905121, -0.24160852, -0.02243388, -0.018607637, 0.021341788, -0.020668369, -0.009122475, -0.07200047, -0.07157541, 0.113855794, 0.062393077, 0.23326081) * conv2d_1_3_texOff(vec2(0, -1)); + result += mat4(-0.023852853, -0.13200527, 0.08323842, 0.010220229, 0.032118686, 0.07507577, 0.09607754, -0.10689959, -0.049993146, -0.14645717, -0.12211937, 0.13578005, -0.10429025, -0.045783084, 0.0795505, 0.06853356) * conv2d_1_3_texOff(vec2(1, -1)); + result += mat4(0.007479156, 0.1309282, 0.047995068, 0.049660936, 0.006086352, 0.16730678, -0.13319813, 0.035390835, -0.14892192, 0.0905492, 0.25641343, 0.013718618, 0.056348495, 0.021455048, -0.05752022, -0.1756935) * conv2d_1_3_texOff(vec2(-1, 0)); + result += mat4(0.010921784, -0.08542085, -0.007980609, 0.053927597, -0.06657699, -0.010462975, -0.02873351, 0.10501236, -0.11121293, -0.2622706, 0.09138707, -0.038543288, 0.023267588, -0.06556869, 0.11259117, 0.023230383) * conv2d_1_3_texOff(vec2(0, 0)); + result += mat4(0.042706285, 0.09893061, 0.036133256, -0.0071409843, -0.0191799, 0.055100214, -0.008109323, 0.090333626, -0.0596578, 0.042258695, -0.0093518505, 0.041049797, -0.018995173, 0.19098689, -0.05664252, -0.32975656) * conv2d_1_3_texOff(vec2(1, 0)); + result += mat4(0.015577549, 0.04875396, 0.0026381605, 0.06630381, -0.0011482927, -0.079627015, -0.029827833, -0.09024112, -0.08184988, 0.2514084, 0.13034645, 0.014077346, 0.0050434736, 0.0010724547, -0.10509333, 0.03711317) * conv2d_1_3_texOff(vec2(-1, 1)); + result += mat4(-0.11590032, 0.024120253, -0.07089869, -0.024748875, -0.052186165, -0.02575927, 0.04455965, -0.12033272, -0.087819085, 0.04119415, -0.117326714, -0.10475886, -0.11821093, -0.14033663, -0.034128156, 0.19320899) * conv2d_1_3_texOff(vec2(0, 1)); + result += mat4(-0.019832043, 0.1016876, -0.0986808, -0.072319105, 0.04705192, -0.018404111, 0.012934827, -0.012026547, 0.041148085, -0.18479517, -0.0637207, -0.24290517, -0.08633974, -0.05443155, 0.012410934, -0.020451948) * conv2d_1_3_texOff(vec2(1, 1)); + result += mat4(0.1570391, -0.02804512, -0.2022808, 0.15134914, -0.06334352, 0.25673828, -0.11532457, -0.0070444397, 0.010697046, -0.06522865, 0.04603086, -0.20159441, -0.053978913, 0.02767094, -0.08525054, -0.09987039) * conv2d_1_4_texOff(vec2(-1, -1)); + result += mat4(-0.039845128, -0.15688312, 0.0012659659, -0.17762418, -0.05236062, 0.071555644, 0.008511281, 0.08732305, -0.020046236, -0.023585295, -0.08951699, -0.3873027, 0.047776062, -0.020395685, 0.0032143441, 0.07065591) * conv2d_1_4_texOff(vec2(0, -1)); + result += mat4(0.05174699, -0.16144924, 0.07546116, -0.1041507, -0.008119178, -0.04552907, -0.010301143, -0.00053371605, -0.03710154, 0.02666633, -0.037634276, -0.02281001, 0.03002562, -0.018909644, -0.06638723, 0.050033737) * conv2d_1_4_texOff(vec2(1, -1)); + result += mat4(0.0052562654, 0.11975083, 0.06353933, -0.06782186, -0.03148752, 0.112668656, -0.15249333, -0.026453739, 0.053123884, 0.033976518, -0.030461306, -0.15371186, -0.04482542, -0.10812421, 0.116154104, -0.004454006) * conv2d_1_4_texOff(vec2(-1, 0)); + result += mat4(0.047487877, 0.08994409, -0.08378867, 0.005575779, -0.022916157, -0.23025134, 0.003621081, 0.09947929, -0.026862739, 0.058303297, -0.049354725, -0.21494308, -0.07298947, -0.08449239, 0.15149896, 0.0972863) * conv2d_1_4_texOff(vec2(0, 0)); + result += mat4(-0.073171005, 0.0022491408, 0.004480586, -0.1396087, -0.066008225, 0.041926276, 0.077401176, -0.07177158, 0.006422821, 0.08670165, 0.08758592, 0.16492946, 0.07340619, -0.053376727, 0.07582215, -0.083218895) * conv2d_1_4_texOff(vec2(1, 0)); + result += mat4(-0.041799124, 0.066667125, 0.03190019, -0.029580675, 0.057970554, -0.038371168, 0.043127343, 0.10818981, 0.03851449, 0.044829555, 0.011709395, 0.22661434, 0.1095633, 0.100413494, -0.033492785, -0.04723497) * conv2d_1_4_texOff(vec2(-1, 1)); + result += mat4(-0.03307666, 0.070453234, 0.06317883, -0.23473312, -0.08245466, -0.16504043, -0.18091509, 0.07463026, -0.05866306, -0.07097979, -0.05458624, 0.0780096, -0.016721994, -0.021029124, -0.018965775, -0.032754052) * conv2d_1_4_texOff(vec2(0, 1)); + result += mat4(-0.024297507, 0.0006460339, 0.02494553, -0.13983472, -0.08233686, 0.056075417, -0.050025593, -0.15296987, -0.09916967, -0.057149086, -0.031006848, 0.02837649, 0.009155175, 0.01278855, -0.09076268, 0.029292503) * conv2d_1_4_texOff(vec2(1, 1)); + result += mat4(0.19640549, 0.086963825, 0.0681292, -0.1811652, 0.08967127, -0.23284656, 0.09593735, -0.14773206, 0.045919377, -0.04805539, -0.027261682, -0.09064161, 0.031166324, -0.028916132, 0.11069551, 0.018083334) * conv2d_1_5_texOff(vec2(-1, -1)); + result += mat4(0.046282757, 0.07022012, -0.021611804, 0.015486397, 0.0017170198, -0.11547197, 0.13555785, 0.071025856, 0.09175413, -0.03902823, 0.08474814, 0.04640062, 0.049641993, -0.21414725, 0.09995083, 0.14675312) * conv2d_1_5_texOff(vec2(0, -1)); + result += mat4(0.003570117, 0.29845083, -0.16479817, -0.16584677, 0.07758215, -0.16391514, -0.16437647, 0.08020513, -0.058781482, -0.07833067, 0.0016890962, 0.07912792, -0.0689971, -0.24674723, -0.061103277, 0.21994698) * conv2d_1_5_texOff(vec2(1, -1)); + result += mat4(-0.12102856, -0.07532253, -0.0023631966, -0.107289374, 0.09514554, -0.0651862, 0.078417495, -0.14983092, -0.0153338, 0.020040894, 0.09313856, -0.11413359, 0.06976474, 0.71448463, -0.21779947, 0.19663434) * conv2d_1_5_texOff(vec2(-1, 0)); + result += mat4(0.027644534, 0.23597267, 0.057272885, 0.006029669, 0.11920952, 0.10335024, 0.22472882, 0.04750365, -0.04288211, 0.007053268, 0.077791564, -0.040292732, -0.42941442, -0.08644213, 0.9345921, 0.3517853) * conv2d_1_5_texOff(vec2(0, 0)); + result += mat4(0.0137436045, 0.14845555, 0.10991932, 0.4175938, 0.040128134, -0.078556135, -0.05144127, 0.104240224, -0.07082723, 0.043770388, -0.00010998591, -0.06608717, 0.17442042, -0.5062115, 0.021388521, -0.08159179) * conv2d_1_5_texOff(vec2(1, 0)); + result += mat4(-0.008749383, 0.085934, -0.024593689, -0.009342965, -0.092573136, 0.043908626, 0.11518263, -0.18980132, -0.020809593, -0.049848855, -0.13010202, 0.037051145, -0.1669628, 0.097693644, 0.31814525, -0.04882667) * conv2d_1_5_texOff(vec2(-1, 1)); + result += mat4(-0.042194128, -0.011674845, 0.07626045, 0.024274576, -0.08506086, 0.14655381, -0.22198848, 0.062456407, 0.07191522, 0.03335872, -0.11652837, 0.07541473, 0.49359927, -0.45849997, 0.19145717, -0.25934938) * conv2d_1_5_texOff(vec2(0, 1)); + result += mat4(-0.03475545, -0.028462712, -0.013618619, 0.04708128, 0.08664516, -0.046458505, 0.13232322, -0.22901559, 0.0667344, 0.03085983, -0.020873455, 0.10222632, -0.2611279, -0.21692024, 0.08966302, 0.0037844712) * conv2d_1_5_texOff(vec2(1, 1)); + result += mat4(-0.07771795, 0.033730872, -0.046177845, 0.20739533, 0.12897904, 0.059704654, 0.096005484, 0.046961337, 0.04043023, -0.08252133, -0.075502284, 0.0092655895, -0.066645816, 0.08655621, 0.097130105, -0.005034047) * conv2d_1_6_texOff(vec2(-1, -1)); + result += mat4(-0.0043796827, -0.041134235, -0.07280609, -0.10867899, -0.07217665, -0.0052616373, 0.13197671, 0.1321504, 0.059979726, 0.09622325, -0.02691405, -0.004788777, -0.03523106, 0.078405574, -0.069668554, 0.090516694) * conv2d_1_6_texOff(vec2(0, -1)); + result += mat4(-0.0022567979, -0.06482103, -0.024878317, 0.005236776, -0.12749022, -0.043835074, -0.03125229, -0.14521727, -0.04032008, -0.18585172, 0.06659718, -0.024166882, 0.032716513, 0.037917733, -0.08269988, 0.12867971) * conv2d_1_6_texOff(vec2(1, -1)); + result += mat4(-0.027577017, 0.062398, -0.03161065, -0.1984228, 0.043994464, 0.071540624, -0.0769222, -0.07245015, 0.097281694, 0.036788452, -0.15146855, 0.04700497, 0.02026809, 0.038153145, 0.074723214, -0.1625608) * conv2d_1_6_texOff(vec2(-1, 0)); + result += mat4(0.008544523, 0.1033058, 0.06448073, 0.07207453, 0.10278613, -0.08839407, 0.019589404, 0.09392849, -0.057403985, -0.014791048, 0.015990091, 0.022426598, -0.016531639, -0.049922276, 0.058254518, 0.07329709) * conv2d_1_6_texOff(vec2(0, 0)); + result += mat4(-0.015053353, -0.10993852, -0.02372503, 0.008879514, -0.1476332, -0.06305476, -0.013468469, -0.10362475, 0.09241548, -0.0055219256, 0.11470531, -0.089309685, -0.035324298, 0.021731652, 0.08384883, -0.00634845) * conv2d_1_6_texOff(vec2(1, 0)); + result += mat4(0.064109124, 0.089048274, 0.015129284, 0.113012135, -0.040176652, 0.058444947, -0.074923314, -0.07029526, -0.021091003, -0.020197496, -0.1631834, 0.036998924, -0.03393292, 0.06178893, -0.036781445, -0.047052033) * conv2d_1_6_texOff(vec2(-1, 1)); + result += mat4(0.0047763707, 0.023142477, 0.10713467, 0.05227011, 0.017489921, -0.069223866, -0.05283379, 0.11562391, 0.046654064, -0.046573464, -0.17478119, -0.024396924, -0.12748063, 0.04773925, -0.038070694, 0.04308706) * conv2d_1_6_texOff(vec2(0, 1)); + result += mat4(0.0207454, 0.0065072104, 0.120736316, -0.12497009, 0.03243522, -0.031404, 0.037922848, -0.041609757, -0.0069228243, 0.014103973, -0.14685644, -0.015528963, 0.014804607, 0.02906411, -0.02806056, -0.044774313) * conv2d_1_6_texOff(vec2(1, 1)); + result += mat4(0.085983686, -0.026710888, 0.015978444, -0.027722757, -0.10153876, 0.035194993, 0.0051833587, 0.1232624, 0.025893308, -0.0973468, 0.015180037, 0.01581638, 0.09675774, 0.011234542, 0.045843583, -0.09305535) * conv2d_1_7_texOff(vec2(-1, -1)); + result += mat4(0.06817786, 0.003497266, 0.030175231, 0.02983251, 0.06095087, 0.036047883, 0.06767649, -0.07874793, -0.039684877, -0.084995136, 0.05892904, 0.044998586, -0.007679529, 0.16906635, -0.031347573, 0.064132474) * conv2d_1_7_texOff(vec2(0, -1)); + result += mat4(0.04012152, 0.0730568, 0.0095109455, 0.031935446, 0.0652706, 0.030271951, 0.017871648, 0.06921794, -0.024663186, 0.09138562, -0.007347492, -0.018937554, -0.15359351, 0.032435097, 0.06897794, -0.08736604) * conv2d_1_7_texOff(vec2(1, -1)); + result += mat4(-0.14759475, 0.0062286584, 0.011327622, 0.06866775, 0.10847301, 0.056752063, -0.056113143, 0.0590981, -0.06830198, 0.05297486, 0.03336916, -0.016855862, -0.054833576, -0.03184048, 0.006759047, 0.09345793) * conv2d_1_7_texOff(vec2(-1, 0)); + result += mat4(-0.023615476, 0.016381538, -0.0773503, -0.5177109, -0.057268377, 0.060075745, -0.042404313, -0.05456304, 0.027147042, -0.0050419103, -0.009349153, 0.020928545, 0.072674446, -0.06446604, 0.06668412, 0.10886393) * conv2d_1_7_texOff(vec2(0, 0)); + result += mat4(0.03857033, -0.10699387, -0.0018258106, 0.17069462, -0.031347156, -0.110483296, 0.03345727, 0.06301936, -0.038085036, -0.067378506, 0.035097476, 0.016893866, -0.06401619, 0.028808264, 0.005645964, 0.016329268) * conv2d_1_7_texOff(vec2(1, 0)); + result += mat4(0.053584523, 0.12572215, 0.08838021, 0.336898, -0.13841294, 0.01397935, 0.063325845, 0.040917937, 0.07410617, 0.12144694, 0.17548656, -0.01019531, -0.08077669, -0.11017199, -0.102404706, -0.096533306) * conv2d_1_7_texOff(vec2(-1, 1)); + result += mat4(-0.033442985, 0.09870464, 0.1427535, -0.09824837, 0.012289218, 0.03309981, -0.08743496, 0.070933655, -0.06671893, 0.08355648, 0.0463622, -0.12656225, 0.044989333, -0.055795744, -0.04745669, -0.052177347) * conv2d_1_7_texOff(vec2(0, 1)); + result += mat4(0.03234606, -0.02594794, -0.07466235, 0.0025612034, 0.06352495, 0.0067928927, -0.13020647, 0.046504013, 0.06025401, 0.04108894, -0.0020044441, -0.031627566, 0.07211742, -0.06771876, -0.033619847, -0.030113189) * conv2d_1_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-2-ReLU) +//!HOOK LUMA +//!BIND conv2d_1_0 +//!BIND conv2d_1_1 +//!BIND conv2d_1_2 +//!BIND conv2d_1_3 +//!BIND conv2d_1_4 +//!BIND conv2d_1_5 +//!BIND conv2d_1_6 +//!BIND conv2d_1_7 +//!SAVE conv2d_2_7 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0053789704, 0.0025854765, 0.015197983, -0.011652295); + result += mat4(0.05666514, -0.0687492, -0.20598878, -0.08785657, 0.018653763, -0.10966081, 0.0026371218, -0.061146006, 0.00061644556, 0.026699504, 0.14169437, -0.0072716544, 0.036873106, -0.037818324, 0.08342457, 0.027157893) * conv2d_1_0_texOff(vec2(-1, -1)); + result += mat4(-0.06956009, -0.19231883, -0.14141782, 0.055096384, 0.030632079, 0.06572195, 0.15954925, -0.012697241, 0.0003095268, -0.07799744, 0.07448543, 0.030110694, 0.051203646, 0.007050742, -0.04388412, -0.11948482) * conv2d_1_0_texOff(vec2(0, -1)); + result += mat4(0.022695528, 0.031703804, 0.012767316, -0.11228437, 0.02793923, 0.010146033, -0.013791832, 0.031158343, -0.02931798, 0.03702564, 0.10596144, -0.058024183, 0.035432126, 0.071007796, -0.051965307, 0.07440998) * conv2d_1_0_texOff(vec2(1, -1)); + result += mat4(-0.015914058, -0.098694816, -0.08454627, 0.014217437, 0.06657819, -0.0077960095, 0.036915753, -0.046696495, -0.079249896, -0.14123632, -0.018564327, 0.061380323, -0.07054456, -0.16939011, -0.055110887, 0.054265097) * conv2d_1_0_texOff(vec2(-1, 0)); + result += mat4(-0.026921999, 0.023473589, -0.05059933, -0.072471, -0.21903448, 0.1140922, 0.11606049, 0.016368339, -0.07729925, -0.04143266, 0.067296274, 0.051659137, -0.2019198, -0.14190796, -0.0044181384, 0.041265965) * conv2d_1_0_texOff(vec2(0, 0)); + result += mat4(0.009694087, -0.07087399, 0.015845967, 0.06585512, -0.24124053, -0.0655696, -0.07027005, 0.122316465, -0.064407386, 0.08761634, 0.053304445, 0.034286425, 0.009045888, -0.099226855, 0.0051248055, 0.031103073) * conv2d_1_0_texOff(vec2(1, 0)); + result += mat4(0.095543936, 0.08424394, -0.022815775, -0.07014027, 0.052844353, 0.05348323, 0.026352283, -0.005606848, -0.002883026, 0.039527986, -0.09411716, -0.1342347, -0.098524116, 0.03447414, 0.06730448, -0.010394821) * conv2d_1_0_texOff(vec2(-1, 1)); + result += mat4(-0.026385324, -0.08824026, -0.11585972, 0.1030116, 0.04219515, 0.0318411, -0.026093587, 0.027016265, 0.08567896, -0.0143344505, 0.055180106, 0.008065516, 0.034066617, 0.04156471, 0.06309237, -0.020552596) * conv2d_1_0_texOff(vec2(0, 1)); + result += mat4(-0.00096979213, -0.12608443, -0.033576388, 0.012878639, -0.09766652, -0.03690318, 0.03403222, 0.13202143, 0.12101274, 0.027858492, -0.012407527, 0.049603727, -0.10900754, 0.0022585979, -0.056014832, -0.05491789) * conv2d_1_0_texOff(vec2(1, 1)); + result += mat4(0.011571224, 0.10039139, -0.0014391219, -0.020644149, 0.08792045, 0.0624742, -0.21022794, -0.050530553, 0.05408142, 0.13484432, -0.035968672, -0.27709222, 0.15014364, 0.038168304, -0.0066760574, 0.10458473) * conv2d_1_1_texOff(vec2(-1, -1)); + result += mat4(0.05167086, -0.12039959, -0.01986911, -0.074747734, -0.044697285, 0.04921119, 0.1378892, 0.03481171, 0.028050862, -0.061392564, -0.19878274, -0.036646966, -0.080988966, -0.08365945, -0.029412778, -0.13012893) * conv2d_1_1_texOff(vec2(0, -1)); + result += mat4(-0.036751747, -0.12197377, -0.009800108, 0.022284098, 0.03371776, 0.0839102, 0.019083815, 0.057321984, 0.00938777, 0.02370644, 0.0064145187, -0.093253545, -0.06927927, -0.033613797, -0.031398904, 0.04975483) * conv2d_1_1_texOff(vec2(1, -1)); + result += mat4(0.07102962, 0.0136048915, 0.05139143, 0.011585698, 0.017591143, 0.15940964, -0.20790483, 0.004592042, -0.10924146, 0.0036954589, -0.03261804, 0.07504535, 0.03150984, 0.02770599, -0.054189883, -0.021886973) * conv2d_1_1_texOff(vec2(-1, 0)); + result += mat4(-0.017331854, -0.08597708, 0.06806796, -0.0077305324, 0.05669231, -0.056901522, 0.080572926, 0.14957619, 0.03349567, 0.3439177, 0.05930278, 0.13584878, 0.06892927, 0.055669587, 0.006997141, -0.011672978) * conv2d_1_1_texOff(vec2(0, 0)); + result += mat4(-0.028430147, -0.0019392807, 0.039368816, 0.0011118908, -0.07042851, -0.0005342881, -0.04321876, -0.18646954, 0.06697478, 0.010731473, -0.07831406, -0.06941017, -0.08234334, -0.017092653, 0.033339232, -0.03498768) * conv2d_1_1_texOff(vec2(1, 0)); + result += mat4(0.08338941, 0.016742336, -0.00095426396, 0.026095787, 0.052147616, -0.05183135, -0.08809574, -0.017223313, -0.024711594, -0.06462015, 0.2737911, -0.34832507, -0.08410303, -0.018319262, -0.008743848, -0.0062105493) * conv2d_1_1_texOff(vec2(-1, 1)); + result += mat4(-0.07855083, -0.017816482, -0.030418888, 0.05447271, -0.021245, -0.020841155, 0.013671578, 0.03882945, 0.1742647, 0.01775674, 0.1562898, -0.062315434, 0.010131578, -0.06636407, 0.10727656, -0.019702993) * conv2d_1_1_texOff(vec2(0, 1)); + result += mat4(-0.017121596, 0.09368523, 0.03144715, -0.012291371, -0.020281412, -0.12299579, 0.02910841, 0.007218249, 0.080847934, -0.08406859, 0.07259622, -0.013574704, 0.07549602, 0.07723734, -0.07970015, -0.02615056) * conv2d_1_1_texOff(vec2(1, 1)); + result += mat4(0.0790598, 0.0070430296, -0.092757374, -0.082541466, 0.047627795, 0.021244135, -0.13364942, -0.0810232, 0.054291513, 0.13363357, -0.20676257, -0.062141486, 0.030947106, -0.09416954, -0.1027634, -0.032044455) * conv2d_1_2_texOff(vec2(-1, -1)); + result += mat4(-0.018030254, 0.0098400805, 0.13232952, -0.033046655, 0.07596969, 0.13749397, 0.1859569, -0.14020164, -0.06990134, -0.0019651868, -0.057608586, 0.042596128, 0.013491154, 0.056449253, 0.11832558, -0.016455222) * conv2d_1_2_texOff(vec2(0, -1)); + result += mat4(0.115637764, 0.0868485, -0.051552907, -0.10830525, 0.05680974, 0.017426718, -0.017443301, 0.14847037, 0.009757844, -0.065559335, 0.050576314, -0.023079261, -0.052207172, -0.0015279793, -0.01021434, 0.0567085) * conv2d_1_2_texOff(vec2(1, -1)); + result += mat4(-0.19769597, 0.008447673, 0.05445979, 0.08525326, 0.052396342, 0.06385715, -0.15212223, -0.0008696227, 0.018443141, -0.059416693, -0.031270802, -0.0066024265, 0.07033135, 0.04949086, -0.11986256, 0.048120964) * conv2d_1_2_texOff(vec2(-1, 0)); + result += mat4(-0.08346605, -0.06636133, 0.054285944, 0.12908636, -0.08527135, -0.122714736, -0.044791445, 0.08082007, 0.054965813, 0.035973955, 0.13196996, 0.093821354, -0.040817473, 0.17990302, 0.08994842, -0.025919829) * conv2d_1_2_texOff(vec2(0, 0)); + result += mat4(-0.13936931, 0.15964657, 0.0021002723, -0.07155503, -0.029519333, -0.008643308, 0.019718772, 0.060484882, 0.028331464, 0.00967312, -0.008407306, -0.11079924, 0.057593424, 0.15932065, 0.051221114, -0.0016470518) * conv2d_1_2_texOff(vec2(1, 0)); + result += mat4(-0.10734961, 0.06235397, -0.009057098, -0.026301542, 0.013540632, -0.05162323, 0.0370406, 0.026798243, 0.043326765, -0.10875731, 0.011128338, -0.01863063, 0.10689365, -0.005097236, -0.058399286, -0.073798954) * conv2d_1_2_texOff(vec2(-1, 1)); + result += mat4(-0.029223802, 0.0012966333, 0.10094817, -0.17609578, -0.10913601, -0.10453748, 0.011173238, -0.14054483, -0.112140834, 0.06626987, 0.09080102, -0.08762913, 0.13030668, 0.054614175, 0.05091183, 0.099065416) * conv2d_1_2_texOff(vec2(0, 1)); + result += mat4(0.05469908, 0.035654828, 0.10501923, -0.0042429804, 0.044244573, -0.03625996, 0.044347595, 0.033446666, 0.03411213, -0.05345478, 0.14238544, 0.08360376, -0.02604568, -0.1375197, 0.035960864, -0.0064564426) * conv2d_1_2_texOff(vec2(1, 1)); + result += mat4(-0.0499932, -0.06142242, 0.100184634, 0.075236306, 0.036325846, 0.016511641, -0.012447042, 0.05944831, -0.07555385, 0.056282684, -0.24895836, 0.014458436, -0.019543694, -0.18169408, -0.20884325, -0.11685414) * conv2d_1_3_texOff(vec2(-1, -1)); + result += mat4(-0.119416036, -0.008168222, -0.025852013, -0.11279435, -0.029294118, 0.06619017, -0.112610884, -0.10391663, -0.051209502, -0.094587654, -0.058253013, -0.14903109, -0.055112056, -0.041897323, -0.015950289, -0.044616196) * conv2d_1_3_texOff(vec2(0, -1)); + result += mat4(0.0680232, 0.07212786, -0.075774565, 0.12888348, -0.07565356, 0.0019361761, 0.023712091, 0.14158373, 0.090737484, -0.051129308, 0.05690291, 0.0037955295, 0.026192429, -0.08388514, 0.062261645, 0.064529076) * conv2d_1_3_texOff(vec2(1, -1)); + result += mat4(-0.101079434, 0.011922752, -0.058729544, 0.08692563, 0.024849348, 3.467293e-05, -0.093050905, -0.02413552, 0.017605588, 0.09245521, -0.11766639, 0.00047133458, 0.052890748, 0.014028446, -0.115995176, -0.08884552) * conv2d_1_3_texOff(vec2(-1, 0)); + result += mat4(-0.017140824, 0.012285072, -0.029690033, -0.15068929, 0.054078132, 0.025342502, 0.033844642, 0.11498677, -0.03540204, 0.12705295, 0.039011642, -0.03131211, 0.16139264, -0.00338103, -0.09842188, -0.051374804) * conv2d_1_3_texOff(vec2(0, 0)); + result += mat4(-0.060567785, 0.014906641, 0.009815348, 6.619824e-05, 0.04369735, 0.030770164, -0.023521341, 0.018942414, 0.19000447, 0.041663565, 0.10003292, 0.05336761, 0.024944112, 0.08883642, 0.006914667, -0.020451684) * conv2d_1_3_texOff(vec2(1, 0)); + result += mat4(-0.00907664, 0.026173059, -0.005008095, 0.09504228, -0.047254335, -0.000649588, 0.048251353, -0.14182955, -0.3485766, -0.021746434, 0.04815546, -0.14104033, 0.10107957, -0.08167642, -0.024006402, -0.08239549) * conv2d_1_3_texOff(vec2(-1, 1)); + result += mat4(0.067871146, 0.018201813, -0.097101584, -0.104746565, -0.010194239, -0.08051833, -0.007596521, -0.09627473, -0.040196355, 0.021017613, -0.024181781, 0.0033035597, 0.07156622, 0.041812293, -0.07725421, 0.01648094) * conv2d_1_3_texOff(vec2(0, 1)); + result += mat4(0.007247082, 0.07118014, 0.013164776, -0.0026585266, 0.029301973, -0.074743226, 0.08969769, 0.0076641636, -0.048669834, -0.062386185, 0.14539757, -0.077229924, 0.1568452, -0.028835239, -0.12936483, 0.010520348) * conv2d_1_3_texOff(vec2(1, 1)); + result += mat4(-0.09140188, 0.16926093, 0.06886596, 0.078117505, -0.101858296, -0.0052931174, -0.14932333, -0.089288495, 0.036855947, 0.020352522, -0.12879966, -0.057451647, 0.0583163, 0.07000335, -0.051591545, 0.000107920656) * conv2d_1_4_texOff(vec2(-1, -1)); + result += mat4(-0.0016148832, -0.076266445, 0.084311694, 0.13753302, -0.06577036, 0.006041888, -0.0141350925, -0.05092375, -0.013288516, 0.06724341, -0.09086112, -0.24800844, 0.012090776, -0.09634044, -0.15034819, 0.111872695) * conv2d_1_4_texOff(vec2(0, -1)); + result += mat4(-0.04533377, 0.029518532, 0.036748208, -0.030043608, -0.0015710319, 0.046938032, -0.12150115, -0.23176794, 0.010277305, -0.028474892, 0.017144188, 0.004385751, 0.05635276, 0.022111354, 0.12564327, -0.11502858) * conv2d_1_4_texOff(vec2(1, -1)); + result += mat4(-0.04469734, 0.0113415, -0.028640777, 0.02836782, -0.12246081, 0.028170826, -0.09266717, 0.116464384, 0.13647519, 0.10977953, -0.18012261, 0.038502276, 0.07918458, 0.10636838, 0.05412915, -0.08286509) * conv2d_1_4_texOff(vec2(-1, 0)); + result += mat4(0.08048876, -0.022884697, 0.007001685, -0.0944541, -0.17289579, 0.081044406, 0.07140763, -0.07240395, -0.18377699, 0.16049394, -0.022612097, 0.022131315, -0.13993753, -0.06406611, -0.075289205, -0.1052884) * conv2d_1_4_texOff(vec2(0, 0)); + result += mat4(0.056851868, -0.010847677, 0.05635118, -0.014116288, 0.053181335, 0.035709463, -0.008538211, 0.23569828, 0.22660647, -0.042526037, -0.22268362, -0.032510936, -0.06532491, -0.0791376, 0.025359834, -0.037947442) * conv2d_1_4_texOff(vec2(1, 0)); + result += mat4(0.0053019673, 0.02478364, -0.029590646, -0.061128553, -0.09762802, 0.22151712, -0.19141476, -0.2846354, 0.070802085, 0.0020157513, 0.007862835, -0.020805826, 0.07594529, -0.026372926, 0.0012691952, 0.06980455) * conv2d_1_4_texOff(vec2(-1, 1)); + result += mat4(0.09351495, -0.007966582, 0.12022749, -0.15391615, -0.1896228, 0.13500099, 0.08563764, 0.078252435, 0.20570906, -0.07511488, 0.031098815, -0.09944285, 0.031679932, 0.03593208, -0.11530465, 0.06200585) * conv2d_1_4_texOff(vec2(0, 1)); + result += mat4(0.061249282, -0.1575541, 0.041680746, -0.042291097, -0.044488933, -0.07686675, 0.14201736, 0.21293552, 0.24996586, -0.14468548, 0.036632843, 0.00038907008, -0.11500689, -0.051599603, 0.09331435, 0.09749423) * conv2d_1_4_texOff(vec2(1, 1)); + result += mat4(-0.124378406, -0.4048025, 0.17961971, 0.26844308, 0.07949525, 0.1347329, 0.07709348, -0.097555734, -0.06629847, -0.090735376, -0.09644388, 0.06310977, -0.27906576, -0.43457314, -0.1366527, -0.15464012) * conv2d_1_5_texOff(vec2(-1, -1)); + result += mat4(0.052193165, 0.015854765, -0.01224421, 0.07321183, -0.042924818, 0.047326166, -0.086192526, -0.07872293, -0.011293528, 0.04775049, -0.10551445, 0.047768187, -0.04716993, 0.03131848, 0.37574837, 0.15519753) * conv2d_1_5_texOff(vec2(0, -1)); + result += mat4(-0.052107293, -0.033524152, -0.18055573, 0.080779105, 0.06821293, 0.19942957, 0.0014988541, 0.052248172, 0.0466914, -0.034186024, -0.010236326, -0.047998883, -0.041536625, 0.2490287, -0.371111, -0.2193193) * conv2d_1_5_texOff(vec2(1, -1)); + result += mat4(0.22888456, -0.03543311, -0.16168748, -0.07889605, -0.01669852, 0.07677655, 0.08500835, -0.086704925, -0.01576141, 0.003543525, -0.0107001765, -0.05774835, -0.12800154, 0.28807333, -0.15624149, 0.35628632) * conv2d_1_5_texOff(vec2(-1, 0)); + result += mat4(0.21485566, 0.23107779, -0.12810478, -0.14246476, -0.053422194, 0.12332042, 0.038226463, 0.055101406, -0.0960511, -0.044886257, -0.092476755, -0.08146779, -0.16568983, 0.59729934, 0.37994778, -0.4317865) * conv2d_1_5_texOff(vec2(0, 0)); + result += mat4(0.077629216, 0.04490685, -0.0014667452, -0.013239536, 0.022386512, 0.075461105, -0.029538881, -0.18596256, -0.03985326, 0.046895646, -0.06676009, 0.023410453, 0.30913633, -0.20051044, -0.13216172, 0.3900065) * conv2d_1_5_texOff(vec2(1, 0)); + result += mat4(-0.0068070083, -0.0069136056, -0.14759555, 0.03651449, -0.018215606, -0.00083672896, 0.03328746, 0.14425918, 0.03445058, 0.03131223, -0.16414946, -0.058880024, -0.4315149, 0.04385308, 0.032215543, -0.09452023) * conv2d_1_5_texOff(vec2(-1, 1)); + result += mat4(-0.0029658887, 0.054051768, -0.044476446, -0.12003007, 0.0021438722, 0.039113697, -0.109358735, 0.28525048, 0.09043809, -0.035674576, -0.05397791, 0.07343925, -0.039687783, -0.025696091, -0.14772332, 0.34789202) * conv2d_1_5_texOff(vec2(0, 1)); + result += mat4(-0.11246529, 0.033228833, 0.07324775, -0.030482141, 0.050453078, 0.08626062, -0.08022131, 0.2620251, 0.06485852, 0.053682942, -0.07258124, 0.046973646, -0.05858527, 0.22647582, 0.06114931, 0.24786088) * conv2d_1_5_texOff(vec2(1, 1)); + result += mat4(0.056778446, 0.016456615, 0.041475434, -0.0344607, 0.013947115, -0.10177933, 0.08294105, 0.008011066, 0.019947631, 0.057009883, 0.004877294, -0.085832454, -0.049219225, 0.02447436, 0.059908643, 0.03551456) * conv2d_1_6_texOff(vec2(-1, -1)); + result += mat4(0.042105965, -0.0884481, -0.016966134, -0.0117598465, -0.13590808, -0.07694648, -0.009869471, 0.0072160605, 0.0482305, -0.009109982, -0.0052547525, 0.124012925, -0.0119091645, -0.057929713, -0.024751287, -0.05337793) * conv2d_1_6_texOff(vec2(0, -1)); + result += mat4(0.004894345, -0.14617302, -0.001989701, -0.030300831, -0.04007291, 0.037290458, -0.106011085, 0.042428236, -0.0016004231, -0.0004504842, -0.03793217, -0.08372132, 0.037499513, -0.09089602, 0.008211781, 0.016897323) * conv2d_1_6_texOff(vec2(1, -1)); + result += mat4(-0.27796113, -0.07810831, 0.062244676, 0.013541458, -0.01436712, 0.010686106, -0.09237694, 0.1376333, 0.01749583, -0.0019605109, -0.05104232, 0.19070308, -0.17772831, 0.011466239, -0.19379972, -0.033944525) * conv2d_1_6_texOff(vec2(-1, 0)); + result += mat4(-0.0655731, 0.0019040171, -0.12391805, 0.1217065, -0.017015886, 0.023397053, 0.035671487, -0.039599694, 0.014829829, -0.018512562, 0.07511455, -0.05615126, -0.12937154, 0.057979073, 0.055963453, 0.12754911) * conv2d_1_6_texOff(vec2(0, 0)); + result += mat4(-0.050232027, -0.028957525, -0.15878057, -0.042808246, -0.07007482, -0.009819291, -0.014887981, 0.13020256, -0.06350212, -0.03718679, 0.0540824, -0.00460389, 0.046179693, -0.049890947, -0.02975092, 0.017548801) * conv2d_1_6_texOff(vec2(1, 0)); + result += mat4(-0.46527207, -0.06798271, 0.16449538, -0.053844187, 0.12740596, 0.11932178, -0.10305892, -0.117529355, 0.0811836, 0.1431828, -0.033068728, 0.053193957, 0.09336577, 0.0023919397, -0.15100269, -0.13261929) * conv2d_1_6_texOff(vec2(-1, 1)); + result += mat4(-0.30288944, -0.021273544, -0.04617583, 0.1303943, 0.096688755, -0.06859098, -0.067672186, -0.0554803, 0.0657815, -0.028244924, 0.06733386, -0.10710465, 0.0067219357, 0.003860032, -0.011553924, 0.08953613) * conv2d_1_6_texOff(vec2(0, 1)); + result += mat4(-0.085617416, -0.010688524, 0.13662979, -0.03836585, 0.05179767, 0.069494516, -0.040404085, -0.08666117, 0.0021569484, 0.10934313, -0.025590356, 0.007480811, -0.053807955, 0.022814091, 0.112554744, 0.10559354) * conv2d_1_6_texOff(vec2(1, 1)); + result += mat4(-0.012023872, 0.07079116, 0.053840525, 0.11851069, 0.018109271, -0.056847878, 0.032157272, -0.01902578, -0.028272795, 0.03748648, 0.03727818, -0.00048632055, 0.006171326, -0.093427196, -0.1170217, -0.021707464) * conv2d_1_7_texOff(vec2(-1, -1)); + result += mat4(-0.056917716, 0.14060374, -0.16010235, 0.066473715, -0.055243585, -0.03828031, -0.07051191, 0.03115574, 0.070036195, -0.07905837, -0.12327318, 0.0304603, -0.029671662, 0.03397466, 0.038026333, 0.036792763) * conv2d_1_7_texOff(vec2(0, -1)); + result += mat4(0.066246256, -0.061950386, 0.08933538, 0.031459566, -0.031286642, 9.614108e-05, -0.029668983, 0.038759045, 0.024603458, 0.07435891, 0.06422563, 0.030144641, 0.09051597, -0.030882716, -0.067613274, 0.1261506) * conv2d_1_7_texOff(vec2(1, -1)); + result += mat4(-0.19958952, 0.19628568, 0.04254856, -0.102305725, 0.02405828, -0.05493232, -0.008526281, -0.013256018, -0.07802039, 0.019447172, 0.04605606, -0.046304177, -0.09106759, 0.12520824, -0.12901597, -0.029309845) * conv2d_1_7_texOff(vec2(-1, 0)); + result += mat4(-0.0835762, 0.06394317, 0.046013217, 0.02414982, 0.050658476, -0.03236606, -0.07829686, 0.1161885, -0.030762492, 0.110627405, 0.02351719, 0.06414008, -0.0014508388, -0.0032928966, 0.03290606, -0.1314493) * conv2d_1_7_texOff(vec2(0, 0)); + result += mat4(0.07293574, 0.062243484, -0.011109678, -0.047835413, 0.061750825, -0.03635749, 0.08776314, -0.0120963715, 0.02658541, 0.10977554, -0.0228995, -0.052181434, 0.012684233, 0.008198349, 0.07738348, 0.07691579) * conv2d_1_7_texOff(vec2(1, 0)); + result += mat4(-0.13568059, -0.030253146, -0.13753651, 0.106419034, -0.1557093, 0.07538132, 0.036382604, -0.1520924, -0.08000182, 0.03251509, 0.074987926, -0.05645376, 0.051527865, -0.053209826, -0.077316046, -0.0021309035) * conv2d_1_7_texOff(vec2(-1, 1)); + result += mat4(-0.49364266, 0.078044444, -0.13522051, 0.070170246, 0.05484597, 0.057964224, 0.04982187, -0.13059925, -0.024406066, 0.011622169, -0.0415241, 0.01034871, 0.010487049, 0.059847392, 0.0034699654, -0.038274396) * conv2d_1_7_texOff(vec2(0, 1)); + result += mat4(0.07862424, -0.010938437, -0.05813607, 0.041292384, 0.045454565, 0.14464068, -0.018179748, 0.040905673, 0.1500685, -0.058837574, -0.024157893, 0.074536055, -0.009033567, -0.020644836, -0.08995514, -0.009798473) * conv2d_1_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-3-ReLU) +//!HOOK LUMA +//!BIND conv2d_2_0 +//!BIND conv2d_2_1 +//!BIND conv2d_2_2 +//!BIND conv2d_2_3 +//!BIND conv2d_2_4 +//!BIND conv2d_2_5 +//!BIND conv2d_2_6 +//!BIND conv2d_2_7 +//!SAVE conv2d_3_0 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.004638044, 0.0013329395, -0.00088052906, -0.0008565964); + result += mat4(0.07550451, -0.062335107, -0.030128578, -0.01702887, -0.0067610205, -0.09363684, 0.0990458, -0.0072268276, 0.043910407, -0.014495193, 0.0010299616, 0.06571345, 0.051192664, -0.042668786, 0.11707809, 0.038482215) * conv2d_2_0_texOff(vec2(-1, -1)); + result += mat4(0.028938133, -0.07763962, -0.039839357, 0.005674207, 0.029407276, -0.09656223, -0.0055031516, 0.082172535, -0.010112508, -0.062146503, 0.035055943, 0.037777815, 0.003791935, 0.04126734, -0.025585257, 0.01193133) * conv2d_2_0_texOff(vec2(0, -1)); + result += mat4(0.030179523, -0.0009621381, -0.026895603, -0.026422866, -0.009596113, -0.090893455, 0.21804497, 0.11891871, 0.007617312, 0.02739259, -0.036617145, 0.017682299, -0.093786575, -0.002729282, -0.0443831, 0.05467525) * conv2d_2_0_texOff(vec2(1, -1)); + result += mat4(-0.08374694, 0.04840475, -0.026630968, 0.03070717, 0.15004708, -0.005388031, 0.16621166, 0.038215104, 0.037021782, -0.059139475, 0.033812936, 0.104307264, -0.02521773, -0.05312636, -0.022046043, 0.051154003) * conv2d_2_0_texOff(vec2(-1, 0)); + result += mat4(-0.039371412, -0.05422514, 0.045989472, -0.072994255, -0.026025929, 0.07628557, -0.2575606, -0.025011815, 0.036368866, -0.051147897, 0.03937521, 0.13125563, 0.09123269, 0.09021674, 0.07406457, 0.014771902) * conv2d_2_0_texOff(vec2(0, 0)); + result += mat4(0.077451915, 0.036679897, -0.056028325, 0.014218875, 0.03210626, 0.017991815, 0.10675305, 0.055960767, -0.060156737, -0.08060133, 0.004610833, -0.005791917, -0.030218259, -0.05701287, 0.030644499, -0.036675338) * conv2d_2_0_texOff(vec2(1, 0)); + result += mat4(-0.0573847, 0.06121734, -0.022958796, 0.009732074, 0.15481265, 0.0048336796, -0.021265794, -0.0014876906, 0.0056713065, -0.018603824, 0.053220365, 0.025527135, -0.058431905, -0.0014262631, -0.064513154, -0.015684986) * conv2d_2_0_texOff(vec2(-1, 1)); + result += mat4(-0.11597489, 0.032360062, 0.044680815, 0.043940496, 0.03594062, 0.014350057, 0.15514506, -0.054004006, -0.009222455, 0.049240157, -0.032198053, 0.101598024, -0.07465124, -0.014790325, 0.057053253, 0.016285447) * conv2d_2_0_texOff(vec2(0, 1)); + result += mat4(0.034978684, -0.09362837, 0.05964478, 0.0033915446, 0.0844611, -0.008974734, 0.090058774, -0.054855116, 0.083573624, -0.03900838, 0.019984512, 0.0442797, 0.07372096, 0.07309687, -0.006958133, -0.10594898) * conv2d_2_0_texOff(vec2(1, 1)); + result += mat4(0.054712515, 0.07088088, 0.0073476234, -0.06699575, -0.08808331, -0.03199675, -0.04514842, 0.032373276, -0.038173363, -0.024278319, -0.027418261, 0.064418174, -0.10447958, 0.0032106645, -0.04277769, -0.11309977) * conv2d_2_1_texOff(vec2(-1, -1)); + result += mat4(-0.05384842, 0.0740386, -0.054084986, 0.0024278406, 0.056520715, 0.029342713, 0.021787433, 0.0038633363, 0.015939254, 0.0682706, 0.0054887994, -0.04119087, -0.07394435, -0.00663839, 0.027829101, -0.017376835) * conv2d_2_1_texOff(vec2(0, -1)); + result += mat4(0.078896746, 0.046693444, 0.08750508, 0.08403734, 0.02203688, -0.010983498, -0.072839454, 0.031068912, 0.04118232, 0.03291075, -0.03185903, 0.076725654, 0.020303203, 0.080684036, 0.051007036, 0.0024716079) * conv2d_2_1_texOff(vec2(1, -1)); + result += mat4(0.013261571, 0.043484103, -0.034937546, -0.07128885, 0.001998469, 0.009554853, 0.05851828, 0.052759014, -0.025819391, -0.015543633, 0.02712523, -0.06484681, -0.012022489, -0.016641388, -0.0048575513, 0.012229059) * conv2d_2_1_texOff(vec2(-1, 0)); + result += mat4(0.05502941, 0.07690699, -0.032896075, 0.012344708, 0.009396056, -0.026499858, -0.011459326, 0.06036896, 0.078324586, -0.09677589, 0.12032886, -0.05718042, -0.103318155, -0.03446979, -0.1430661, 0.13276161) * conv2d_2_1_texOff(vec2(0, 0)); + result += mat4(0.022034168, 0.021548055, -0.072068125, 0.045090538, -0.1366563, 0.09238439, -0.014003816, -0.019418236, -0.0141091915, 0.026721846, -0.018281663, 0.10515927, 0.033571433, 0.11032933, 0.11833405, 0.00043340217) * conv2d_2_1_texOff(vec2(1, 0)); + result += mat4(-0.06571235, 0.04375221, -0.03530189, -0.028916305, 0.14437988, -0.05696346, 0.08870323, 0.13027044, 0.12405446, 0.06079818, 0.011711471, -0.04522661, 0.0026470372, 0.035102524, 0.052623324, 0.011086813) * conv2d_2_1_texOff(vec2(-1, 1)); + result += mat4(0.015897902, 0.054018516, 0.027189003, -0.0784164, -0.0619845, -0.085624985, -0.15043996, -0.008923019, -0.022991644, -0.038600445, -0.0016093372, -0.04856352, -0.03957691, -0.0036588367, 0.08671981, 0.055210836) * conv2d_2_1_texOff(vec2(0, 1)); + result += mat4(-0.021715198, 0.045859955, -0.026510036, 0.090152085, -0.1554341, 0.18493308, -0.08130215, -0.12307236, -0.18049568, 0.037198436, -0.04618665, 0.04035744, -0.014461031, 0.009296255, 0.071711965, -0.018782066) * conv2d_2_1_texOff(vec2(1, 1)); + result += mat4(0.1423923, -0.040828574, 0.06017673, -0.012305377, -0.01756701, 0.0132827135, -0.058057845, -0.1505554, 0.14422798, -0.0973062, -0.05318921, -0.027779114, 0.08943591, 0.035738494, -0.04599758, 0.1138796) * conv2d_2_2_texOff(vec2(-1, -1)); + result += mat4(-0.08693265, -0.0630501, 0.04077083, 0.0026657602, 0.006951623, 0.07434736, 0.10658128, -0.002723772, -0.20628722, -0.1874146, -0.0982181, -0.06054813, 0.123957746, 0.0029406028, -0.085461855, 0.019555211) * conv2d_2_2_texOff(vec2(0, -1)); + result += mat4(-0.019727336, 0.034046743, 0.078694925, 0.03092844, 0.045617487, 0.016383491, -0.028096786, -0.07075771, -0.07275973, -0.011496064, 0.08588529, -0.41148093, -0.013605152, 0.008960944, 0.0054122023, 0.011849688) * conv2d_2_2_texOff(vec2(1, -1)); + result += mat4(0.053449254, -0.01759084, -0.05983056, 0.07469939, 0.09675158, 0.15918379, -0.03123546, -0.0478807, 0.023928693, 0.027205884, 0.035120673, 0.11770268, 0.054755293, 0.0037571308, -0.017051104, -0.07279476) * conv2d_2_2_texOff(vec2(-1, 0)); + result += mat4(0.048907664, 0.0711624, 0.03633436, -0.00265645, -0.028118687, 0.014030224, -0.070787236, -0.09514738, 0.086933315, 0.14440535, -0.09338331, 0.1871065, -0.11713414, 0.02804693, -0.06628909, -0.013888061) * conv2d_2_2_texOff(vec2(0, 0)); + result += mat4(-0.081196286, -0.065492086, -0.00017666405, 0.09595935, 0.01980225, 0.05067121, -0.081625275, -0.06238897, 0.09958395, 0.15478204, -0.028720425, 0.15622725, -0.035913825, 0.032719728, -0.009650126, -0.1581231) * conv2d_2_2_texOff(vec2(1, 0)); + result += mat4(-0.025216818, -0.0022359875, -0.12852153, -0.003495527, 0.058687817, 0.005596214, -0.029446207, -0.033708625, -0.095558025, -0.018134689, -0.0072379378, -0.061378617, 0.065822594, 0.04122825, 0.0903899, -0.024085391) * conv2d_2_2_texOff(vec2(-1, 1)); + result += mat4(0.12524936, -0.043412864, -0.061029445, 0.07299882, 0.069372505, 0.08731561, -0.0033887848, -0.041316967, -0.055528387, 0.035052698, 0.091037504, -0.026066255, -0.102841415, 0.034771822, 0.009706607, -0.10095511) * conv2d_2_2_texOff(vec2(0, 1)); + result += mat4(-0.11310718, -0.098786786, -0.029074667, -0.05250082, -0.10541161, 0.09621685, -0.14312825, -0.09211866, 0.0072362097, -0.010769236, 0.04380973, 0.07227443, -0.024610572, -0.06353912, -0.056663837, -0.00031348024) * conv2d_2_2_texOff(vec2(1, 1)); + result += mat4(0.09799025, -0.05561765, -0.10684524, -0.09130704, -0.02029044, -0.08786181, 0.05247843, -0.11993557, 0.14233977, -0.020953557, 0.00042240537, 0.17486909, -0.16096553, 0.07802784, -0.013483595, -0.011192127) * conv2d_2_3_texOff(vec2(-1, -1)); + result += mat4(0.018832644, -0.022803077, 0.029230187, 0.0117769465, 0.013131861, -0.024574993, 0.0014103446, 0.019665701, 0.11111023, 0.07740727, 0.049223423, 0.042547356, -0.06180384, 0.071026035, 0.01826411, -0.12811337) * conv2d_2_3_texOff(vec2(0, -1)); + result += mat4(-0.03519996, -0.0016774106, -0.050582953, 0.02969125, 0.05295512, 0.07545041, 0.067757614, 0.058877304, 0.049738064, 0.019004583, -0.01497017, 0.1209859, -0.2608165, 0.088678956, -0.13987042, -0.26864347) * conv2d_2_3_texOff(vec2(1, -1)); + result += mat4(0.18752822, 0.11003352, 0.12516375, 0.038616635, -0.015304432, -0.004085559, 0.043638982, -0.072326325, 0.05825277, 0.032821376, 0.034980297, 0.13589483, -0.14525366, 0.086786486, -0.0061633536, -0.13445525) * conv2d_2_3_texOff(vec2(-1, 0)); + result += mat4(-0.091591895, -0.015429195, 0.008949045, 0.043816864, -0.013914944, 0.027358234, 0.13735779, -0.061025914, -0.025603358, 0.025186263, -0.054422177, 0.14329095, -0.045384888, 0.030472955, -0.060815126, -0.0016653932) * conv2d_2_3_texOff(vec2(0, 0)); + result += mat4(-0.05414674, 0.004098243, -0.0066918703, 0.07354258, -0.043389253, 0.009581423, 0.02754253, 0.06773356, 0.04515303, -0.040643677, -0.042861022, 0.06493858, -0.19283381, 0.12989104, -0.08427725, -0.17517987) * conv2d_2_3_texOff(vec2(1, 0)); + result += mat4(0.107989915, 0.6592918, 0.81305116, -0.16442487, 0.0012615005, -0.028390218, -0.2076805, -0.10502958, 0.09900609, -0.006584518, -0.052727483, 0.08136194, -0.10383863, 0.04554994, 0.034533855, -0.13303411) * conv2d_2_3_texOff(vec2(-1, 1)); + result += mat4(0.30287343, -0.29062536, 0.07027857, 0.6074594, -0.06719367, 0.04593709, -0.082563914, -0.040913377, -0.056906268, 0.015311079, -0.031499416, 0.051717397, -0.09323974, 0.07442548, -0.013729593, -0.13460834) * conv2d_2_3_texOff(vec2(0, 1)); + result += mat4(0.16709657, 0.3004767, -0.013979588, -0.057253104, 0.09093283, 0.027809702, -0.093225345, -0.0074986434, -0.09183636, 0.06686104, -0.0025844949, 0.008254446, -0.12355159, 0.026022097, -0.014114874, -0.12702648) * conv2d_2_3_texOff(vec2(1, 1)); + result += mat4(-0.007892159, -0.030996205, 0.060949434, -0.1052953, 0.054757163, 0.0049502593, 0.049148757, 0.024501031, -0.0044443845, -0.06428674, 0.02081297, -0.010449093, 0.0006796615, -0.116483375, 0.07895969, -0.09875419) * conv2d_2_4_texOff(vec2(-1, -1)); + result += mat4(-0.036055494, 0.0040580053, -0.060177404, 0.01923804, 0.0746371, -0.027677456, 0.018235246, 0.11637139, 0.016069638, 0.012379733, 0.08045141, -0.01632434, 0.04212761, -0.03840027, 0.026693087, 0.010439889) * conv2d_2_4_texOff(vec2(0, -1)); + result += mat4(-0.02060023, 0.014448262, -0.0688781, 0.005006292, -0.045237195, -0.03089264, -0.10705499, -0.062051166, -0.010832554, -0.025314834, 0.09144002, -0.038024154, -0.06706859, -0.055244148, 0.037440185, -0.076413795) * conv2d_2_4_texOff(vec2(1, -1)); + result += mat4(0.040396523, 0.0043113614, 0.043053027, 0.014303586, -0.015000269, 0.00072920515, 0.12018328, 0.07367008, 0.03514693, 0.08594737, -0.040571876, 0.047524042, 0.06355542, -0.011198771, 0.020886287, -0.0136213675) * conv2d_2_4_texOff(vec2(-1, 0)); + result += mat4(-0.0059468625, 0.091515474, -0.03255579, -0.08121742, 0.092769906, 0.0031186666, -0.009267876, 0.009321596, 0.086935714, 0.100779824, 0.026747864, 0.085568935, -0.032602098, -0.004454295, -0.011054594, 0.08759095) * conv2d_2_4_texOff(vec2(0, 0)); + result += mat4(-0.024563242, -0.093507014, -0.025027728, 0.05411134, -0.11971296, 0.03569462, -0.10608399, -0.014252344, -0.0030740744, -0.060720615, -0.040373884, -0.05067482, -0.020264626, 0.022318961, -0.06568771, 0.10153597) * conv2d_2_4_texOff(vec2(1, 0)); + result += mat4(0.05366157, 0.05012672, 0.010328434, -0.03369169, 0.11503748, 0.059484664, -0.0016224221, -0.05684909, 0.044594545, 0.06982947, 0.048649967, -0.0009415055, -0.029072171, -0.1392011, -0.058411654, -0.14244273) * conv2d_2_4_texOff(vec2(-1, 1)); + result += mat4(0.018280528, -0.021797685, 0.045640808, -0.005444198, -0.076482624, -0.07411756, 0.03619293, 0.0696966, 0.14507923, 0.0238164, 0.034416225, 0.115115575, -0.019453438, -0.11304696, 0.017618693, 0.031941455) * conv2d_2_4_texOff(vec2(0, 1)); + result += mat4(0.0037019202, 0.009083433, -0.014298384, 0.07596038, -0.008830719, 0.03493475, 0.029754981, -0.041310363, 0.017609261, 0.068001464, 0.040328622, 0.08654431, -0.0115386695, -0.09800658, 0.060005356, 0.038184598) * conv2d_2_4_texOff(vec2(1, 1)); + result += mat4(-0.07291011, -0.028364709, -0.017231965, -0.119886935, -0.0070341835, 0.04227094, 0.011697326, 0.014779357, 0.047855932, -0.06823143, 0.053692754, -0.09584762, -0.0010860756, 0.01818491, 0.017221306, -2.6360969e-05) * conv2d_2_5_texOff(vec2(-1, -1)); + result += mat4(-0.00700668, -0.06970981, -0.069699794, 0.025218759, -0.05516095, 0.041521274, -0.073224254, 0.03281639, -0.035012044, 0.0011292085, 0.013880517, 0.03215441, -0.039938074, -0.05514986, 0.037627354, -0.089501984) * conv2d_2_5_texOff(vec2(0, -1)); + result += mat4(0.06485068, 0.073909126, -0.20852885, -0.074550554, 0.030342076, 0.0060152677, 0.057080176, -0.061303694, -0.026844798, 0.0312766, -0.09419688, 0.05710712, 0.085175194, -0.054999884, 0.09518784, 0.05660951) * conv2d_2_5_texOff(vec2(1, -1)); + result += mat4(-0.00633142, 0.021536225, -0.098287195, 0.040192537, 0.043196965, -0.013291022, -0.011696372, 0.09544832, -0.037339088, -0.01466889, -0.012527002, -0.026837317, -0.05629395, -0.026563983, -0.03519713, 0.057014566) * conv2d_2_5_texOff(vec2(-1, 0)); + result += mat4(0.06742553, 0.16203931, 0.035801552, 0.04725366, -0.006839323, 0.012659727, 0.07697063, -0.07247078, 0.022152634, -0.008589092, -0.0399024, -0.047231335, -0.039026804, -0.104366235, -0.12933916, -0.1055458) * conv2d_2_5_texOff(vec2(0, 0)); + result += mat4(-0.07643264, -0.024429707, -0.055225924, -0.15168265, -0.092801124, 0.050427075, 0.009033653, 0.015783686, 0.059598852, 0.018057335, 0.0041746157, -0.09822667, -0.064765744, -0.08420155, -0.10469114, 0.0027721566) * conv2d_2_5_texOff(vec2(1, 0)); + result += mat4(0.004969701, -0.019684803, -0.0023362797, -0.07781452, 0.009495337, 0.030909099, -0.0020470577, -0.06995148, -0.056489125, 0.067498975, -0.033915773, -0.05419307, -0.043032195, 0.024316503, 0.072555274, 0.08646344) * conv2d_2_5_texOff(vec2(-1, 1)); + result += mat4(0.049429715, 0.024585338, -0.04228766, 0.058864743, -0.056415882, -0.09031061, 0.098517254, -0.020772228, 0.11875924, -0.042835537, -0.04006169, 0.014155194, -0.14321163, 0.035287462, 0.038775966, -0.026632061) * conv2d_2_5_texOff(vec2(0, 1)); + result += mat4(-0.080034316, 0.0075196186, 0.02557883, -0.09059167, 0.014115703, -0.07790354, 0.026459787, -0.13106064, 0.0686173, 0.035748597, -0.07041808, -0.010261114, -0.117917664, -0.00060949405, -0.096128836, 0.08858381) * conv2d_2_5_texOff(vec2(1, 1)); + result += mat4(-0.025792174, -0.043125387, -0.02438486, -0.06168551, -0.09020301, -0.098141, 0.050459802, -0.10763907, 0.07656642, -0.055485874, 0.0106896255, 0.045363974, -0.055227973, 0.041982487, 0.01939652, 0.01933086) * conv2d_2_6_texOff(vec2(-1, -1)); + result += mat4(-0.009202173, -0.09083309, 0.061039034, 0.014430451, -0.121787645, 0.02170057, 0.033894107, -0.055819105, -0.06420505, -0.06792123, 0.07905533, 0.12970804, 0.008477709, -0.00758126, -0.018335834, -0.0069725495) * conv2d_2_6_texOff(vec2(0, -1)); + result += mat4(0.098140866, -0.0077063874, 0.094662495, 0.02921294, -0.14219654, 0.08993935, -0.12432894, -0.049365994, -0.10765265, 0.0030529539, 0.028907653, -0.14933185, 0.15688027, -0.09607701, -0.038473636, 0.066820934) * conv2d_2_6_texOff(vec2(1, -1)); + result += mat4(-0.109544456, -0.022704171, 0.025218716, -0.051683217, -0.05289845, -0.012563853, -0.11210084, -0.06563382, 0.01357761, -0.109513275, 0.1082599, 0.081950404, -0.07320254, 0.040982097, -0.029645588, -0.059207924) * conv2d_2_6_texOff(vec2(-1, 0)); + result += mat4(-0.06890508, 0.027215194, 0.022536399, -0.031923305, -0.08707902, 0.06516953, 0.058389448, -0.084786564, 0.10831499, -0.023406982, 0.035605416, 0.10951021, 0.033340465, -0.00094364764, -0.27169314, 0.08120589) * conv2d_2_6_texOff(vec2(0, 0)); + result += mat4(0.05146102, 0.09468764, 0.060545336, 0.07217722, 0.0038827718, 0.035922326, 0.09512193, -0.024249235, -0.10889323, -0.13436069, 0.047264673, -0.007881797, 0.045006167, 0.05478931, 0.010914823, 0.06335571) * conv2d_2_6_texOff(vec2(1, 0)); + result += mat4(-0.107982196, 0.040635265, 0.009674093, -0.100797616, -0.01037918, 0.021897992, -0.055415664, -0.036284357, -0.046191048, 0.016217427, 0.043449745, -0.027171357, 5.0366543e-05, -0.116625465, 0.08526652, -0.047906976) * conv2d_2_6_texOff(vec2(-1, 1)); + result += mat4(0.039177623, 0.06776419, -0.06735239, -0.060768597, -0.05232136, 0.028872924, -0.055196103, 0.005945679, 0.09334819, 0.061021294, 0.10189038, -0.015966283, -0.012409853, 0.032773286, -0.020590406, 0.09946743) * conv2d_2_6_texOff(vec2(0, 1)); + result += mat4(0.023877263, -0.0026558377, -0.043284733, 0.027011143, 0.0027714875, -0.042179793, -0.013992048, 0.047184926, 0.028351655, 0.0020465835, -0.0042692395, 0.030745761, 0.20748039, -0.03634542, 0.08284478, 0.07486638) * conv2d_2_6_texOff(vec2(1, 1)); + result += mat4(-0.064863555, -0.061631463, -0.06939373, -0.058285333, 0.0476506, 0.04547357, -0.026650984, 0.0038155748, 0.027852671, -0.13588051, -0.024810072, -0.0040653087, 0.026684485, 0.07416254, 0.018078407, 0.055533618) * conv2d_2_7_texOff(vec2(-1, -1)); + result += mat4(-0.0649953, 0.09668107, -0.06574944, -0.004875135, 0.025712471, -0.0387325, 0.105153784, -0.007855383, 0.08342693, -0.1808626, -0.04671476, 0.08321175, 0.02682099, 0.033327505, -0.0004884546, -0.018751396) * conv2d_2_7_texOff(vec2(0, -1)); + result += mat4(0.045200143, 0.009577292, 0.016348368, 0.014176594, -0.060916077, 0.047202036, 0.0560356, 0.025348397, -0.04523417, -0.120603204, -0.1354737, -0.1443878, -0.01837244, -0.046950243, -0.06550495, -0.034148633) * conv2d_2_7_texOff(vec2(1, -1)); + result += mat4(-0.08332346, -0.0130338585, 0.023027698, -0.017426869, -0.0039050183, -0.062203135, -0.049673438, 0.06722776, -0.044250526, -0.123791814, -0.03686481, 0.055875216, 0.10666146, 0.03328583, -0.05980216, 0.040882327) * conv2d_2_7_texOff(vec2(-1, 0)); + result += mat4(-0.0070009707, -0.033739816, -0.028997937, -0.05703844, 0.018149657, -0.046305824, -0.018351201, 0.13682646, 0.025964893, 0.012340385, 0.0385617, 0.15253662, 0.12500963, 0.036884084, 0.029603606, -0.070373885) * conv2d_2_7_texOff(vec2(0, 0)); + result += mat4(-0.027597323, -0.009051174, 0.020609139, -0.030550875, 0.018079022, 0.06926881, 0.053048816, 0.036067955, -0.11558739, -0.04067844, -0.016622169, -0.19319125, -0.11470861, -0.06814917, 0.058138814, -0.063312866) * conv2d_2_7_texOff(vec2(1, 0)); + result += mat4(0.034770187, -0.114568174, 0.044806715, 0.025352184, 0.07940104, -0.05224068, -0.008557804, -0.027625272, -0.028154701, -0.00554887, 0.06613189, 0.03483264, 0.07055817, 0.00516033, 0.035881147, -0.042731375) * conv2d_2_7_texOff(vec2(-1, 1)); + result += mat4(-0.033385437, -0.0018418881, -0.0057918127, 0.02121062, -0.0052135587, -0.07495365, 0.088017695, 0.09515293, 0.07774717, -0.036435105, 0.049255703, 0.12696859, 0.054903723, 0.0424865, 0.014382958, -0.04382939) * conv2d_2_7_texOff(vec2(0, 1)); + result += mat4(0.009779173, -0.0141778495, 0.02382084, 0.0731548, -0.073161975, -0.0810154, -0.087937035, -0.10825817, -0.052717503, -0.19617619, 0.079801455, -0.061422553, -0.05983676, -0.076028965, -0.012642849, 0.07324476) * conv2d_2_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-3-ReLU) +//!HOOK LUMA +//!BIND conv2d_2_0 +//!BIND conv2d_2_1 +//!BIND conv2d_2_2 +//!BIND conv2d_2_3 +//!BIND conv2d_2_4 +//!BIND conv2d_2_5 +//!BIND conv2d_2_6 +//!BIND conv2d_2_7 +//!SAVE conv2d_3_1 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0036242744, -0.005289604, -0.006082875, -0.004486832); + result += mat4(0.11041926, -0.013642997, 0.01941969, -0.13551107, -0.07636666, 0.14380749, -0.08821902, -0.027975705, 0.076648906, -0.014130777, -0.014306416, -0.01326992, -0.17404439, -0.019723644, -0.0150222, -0.08196701) * conv2d_2_0_texOff(vec2(-1, -1)); + result += mat4(-0.11145045, 0.07703348, 0.013738923, -0.041917086, 0.08303143, -0.0019729033, -0.035230268, -0.05759371, -0.09996412, 0.017979221, 0.035272297, -0.010122982, -0.065574266, -0.082887724, -0.11180638, 0.045597043) * conv2d_2_0_texOff(vec2(0, -1)); + result += mat4(-0.06041171, -0.047889072, 0.013032555, -0.05674196, -0.049768846, -0.16431013, -0.039846253, -0.05696949, -0.03384903, -0.005812267, 0.027481828, 0.027965613, 0.04702176, -0.014047294, 0.0040174993, 0.07870478) * conv2d_2_0_texOff(vec2(1, -1)); + result += mat4(0.0061399234, -0.029781692, 0.0342467, -0.09243609, -0.1671689, -0.089433275, 0.10100709, 0.050218426, -0.024030792, -0.035494413, 0.020345375, 0.043102298, 0.05268208, 0.016824873, -0.010671081, -0.029339425) * conv2d_2_0_texOff(vec2(-1, 0)); + result += mat4(0.0850371, -0.03021448, -0.0006579921, 0.05870759, 0.17931254, 0.012252652, -0.029077038, 0.1557844, 0.068633616, -0.010727571, 0.0111757, -0.0006619933, -0.061237447, -0.080668695, 0.03694657, 0.005882804) * conv2d_2_0_texOff(vec2(0, 0)); + result += mat4(0.039284453, 0.12938578, -0.054949645, 0.044601575, -0.061479997, 0.012750529, -0.013957438, -0.05087325, 0.031530827, -0.11414851, 0.06507259, -0.024469497, 0.0015316467, 0.097087026, 0.028733607, -0.049078647) * conv2d_2_0_texOff(vec2(1, 0)); + result += mat4(0.110952854, -0.048297267, 0.0016829252, -0.023874594, 0.30690274, 0.09298809, -0.007255941, -0.12696588, 0.022794286, -0.004423633, 0.038792472, -0.08485592, -0.11818199, 0.052286647, 0.017924253, 0.0004946917) * conv2d_2_0_texOff(vec2(-1, 1)); + result += mat4(0.052405115, 0.031178992, -0.069990896, 0.017708346, 0.04254406, -0.06868603, 0.004948076, -0.04169902, 0.07126781, 0.0133477645, 0.04255837, -0.10888506, 0.042417526, -0.019762838, 0.022641428, 0.060820926) * conv2d_2_0_texOff(vec2(0, 1)); + result += mat4(0.05297054, -0.038713496, 0.047507487, 0.06328998, 0.027493902, 0.025763825, 0.01562572, 0.004883579, -0.04729108, 0.05243348, 0.007495019, 0.09996488, 0.06399121, 0.028784584, -0.06979498, -0.026982049) * conv2d_2_0_texOff(vec2(1, 1)); + result += mat4(-0.11264847, 0.076772854, 0.06285069, -0.1360328, -0.07947071, 0.061208326, -0.0040222886, -0.010650883, -0.2891781, 0.0907444, 0.040094197, 0.104091436, -0.07808069, -0.08122291, 0.011603443, 0.07125012) * conv2d_2_1_texOff(vec2(-1, -1)); + result += mat4(-0.092229374, -0.055039562, 0.0021436454, -0.0498183, 0.1368853, -0.06764557, -0.04116273, -0.061664455, 0.0005088927, 0.11308255, 0.010504985, -0.0002396099, 0.014526815, -0.056015983, -0.0082915425, -0.0199536) * conv2d_2_1_texOff(vec2(0, -1)); + result += mat4(-0.018808275, -0.019995568, -0.020682476, 0.042709347, 0.09616552, -0.016587196, 0.08691799, -0.04449925, -0.006192871, 0.028777286, 0.105152585, -0.000563213, -0.0109313885, -0.037859783, 0.04554028, -0.019829245) * conv2d_2_1_texOff(vec2(1, -1)); + result += mat4(-0.038143747, -0.058929414, -0.06907299, -0.067938074, 0.12453968, 0.04741291, -0.13743295, 0.029108092, 0.11761386, -0.03945222, -0.013060284, -0.038628574, 0.014531108, -0.02067494, 0.026703151, 0.027414827) * conv2d_2_1_texOff(vec2(-1, 0)); + result += mat4(0.0825296, 0.0844686, 0.04532099, -0.0025514832, -0.07179565, 0.081927665, -0.023587814, -0.030306004, -0.06678964, 0.05848835, 0.060262848, -0.022264108, 0.025425484, 0.13242587, 0.079798795, 0.016780458) * conv2d_2_1_texOff(vec2(0, 0)); + result += mat4(0.0016233135, 0.08910649, 0.018997066, 0.04650938, 0.14032406, 0.12204884, -0.08651441, 0.029024985, 0.20210628, 0.05504176, 0.078186005, 0.06270403, -0.011137399, 0.039159857, -0.053795222, -0.006939948) * conv2d_2_1_texOff(vec2(1, 0)); + result += mat4(-0.056993973, 0.015646556, 0.052484535, 0.10150468, -0.08409195, 0.09905435, 0.08097561, 0.098143466, 0.0554386, -0.11730653, 0.0471719, 0.010522996, 0.0015789813, -0.0025814774, -0.0012255408, 0.0068571744) * conv2d_2_1_texOff(vec2(-1, 1)); + result += mat4(0.03129706, -0.08672031, 0.036483243, 0.11534501, 0.0060086814, 0.06399479, 0.03891094, -0.10566114, -0.05226492, -0.015754102, -0.10434002, 0.0804794, -0.08340187, 0.020774677, 0.02658139, 0.04153418) * conv2d_2_1_texOff(vec2(0, 1)); + result += mat4(0.07279303, -0.04277622, -0.022332724, 0.033348862, -0.0016894583, -0.06748876, 0.08726391, -0.02130423, 0.034252193, -0.11472518, -0.030995417, 0.07674198, 0.040180724, -0.036847617, -0.014826158, 0.040430155) * conv2d_2_1_texOff(vec2(1, 1)); + result += mat4(-0.04897707, -0.07583299, 0.0026693586, -0.01774975, 0.06785023, -0.021615764, -0.08565717, -0.0624921, -0.09141639, -0.048468947, 0.031531617, 0.08867062, -0.09310766, 0.070388615, 0.04518173, 0.019329583) * conv2d_2_2_texOff(vec2(-1, -1)); + result += mat4(-0.21140064, -0.118781514, 0.008640593, 0.045391012, 0.050383408, -0.009522922, -0.030051503, -0.014282942, -0.100506015, -0.12771232, -0.067873515, -0.0555918, 0.075603716, -0.050421897, 0.07426838, 0.055758342) * conv2d_2_2_texOff(vec2(0, -1)); + result += mat4(-0.069717295, 0.019385578, 0.0016496398, -0.009461111, -0.32446986, 0.014274383, -0.03375793, 0.0045403335, -0.19697425, 0.11747762, -0.05951152, 0.04618126, -0.019383604, 0.09763079, -0.0111384215, 0.06113077) * conv2d_2_2_texOff(vec2(1, -1)); + result += mat4(0.017358493, 0.09005723, 0.023664653, -0.119806506, 0.23388506, 0.102560215, -0.050751198, 0.03816619, -0.08360957, -0.0020551959, -0.09166499, -0.11925602, -0.10184179, -0.0011944897, -0.021166516, 0.081681125) * conv2d_2_2_texOff(vec2(-1, 0)); + result += mat4(0.14774026, 0.047280684, -0.025804112, 0.0927594, -0.12006226, -0.05681688, -0.071410835, 0.07820292, -0.023836713, 0.06960154, 0.04275955, 0.1459012, -0.014135709, 0.017991187, 0.07153791, -0.08033414) * conv2d_2_2_texOff(vec2(0, 0)); + result += mat4(0.13833062, -0.018163104, -0.030517854, 0.0315802, 0.07727878, 0.06901876, -0.054639325, 0.046008337, -0.1538294, 0.11000659, 0.02419592, -0.13985842, -0.14143434, 0.050663177, -0.020025121, 0.024202183) * conv2d_2_2_texOff(vec2(1, 0)); + result += mat4(0.14155301, 0.086209945, 0.07010831, 0.02121562, -0.03433445, -0.07131087, 0.021530515, 0.06517639, -0.021944242, -0.07625894, -0.03997962, 0.008472106, -0.020765347, -0.15909708, -0.030594908, -0.03816833) * conv2d_2_2_texOff(vec2(-1, 1)); + result += mat4(-0.06867411, 0.02608135, 0.085751206, 0.010238442, -0.17581658, 0.07887809, 0.04311893, -0.07050578, -0.050487828, -0.0010305465, 0.042140655, 0.063122176, 0.18043864, -0.027916417, 0.027330559, 0.02514334) * conv2d_2_2_texOff(vec2(0, 1)); + result += mat4(0.08635559, -0.059645046, -0.045859423, -0.027666368, -0.15682614, -0.05086466, 0.013070787, -0.021805638, -0.1735552, -0.042729724, -0.047796786, -0.08674762, 0.13148005, 0.06613158, 0.06371481, -0.007359133) * conv2d_2_2_texOff(vec2(1, 1)); + result += mat4(0.15523273, -0.040036023, -0.04877897, -0.03211038, 0.06439256, 0.00686451, 0.0005281419, -0.0009669833, -0.015633138, -0.029525949, -0.096842505, 0.03788632, 0.21441686, 0.014666519, 0.047690272, 0.029601887) * conv2d_2_3_texOff(vec2(-1, -1)); + result += mat4(-0.21543196, 0.024521904, -0.057729613, 0.032250684, -0.062475014, -0.108686805, -0.01702861, -0.0057732486, 0.17342022, -0.036859687, 0.054292653, -0.049758274, 0.1505113, -0.056047626, 0.06845113, -0.045679115) * conv2d_2_3_texOff(vec2(0, -1)); + result += mat4(0.026718406, -0.102589734, 0.023490187, 0.041583966, 0.02092212, -0.09446896, -0.0041000536, 0.007689522, 0.09786688, -0.08643873, 0.07668125, -0.067850634, 0.020798609, -0.08430466, -0.039359145, -0.07386437) * conv2d_2_3_texOff(vec2(1, -1)); + result += mat4(-0.27284223, -0.03346459, -0.255149, 0.098367415, 0.011605497, 0.07360927, 0.029931255, -0.010709494, -0.027306756, 0.06444499, -0.046451952, -0.14781758, 0.14734891, -0.019737102, 0.065264426, 0.0033951127) * conv2d_2_3_texOff(vec2(-1, 0)); + result += mat4(-0.4255001, -0.022696191, -0.06455307, 0.118653014, -0.10078108, 0.08211034, -0.025757251, 0.13471709, 0.036728147, 0.11220965, 0.09924172, 0.020902677, 0.016052186, 0.055675395, 0.15283176, 0.1740219) * conv2d_2_3_texOff(vec2(0, 0)); + result += mat4(-0.109029, 0.049718946, 0.038869243, 0.100699164, 0.016381297, 0.0063549043, -0.07356171, 0.017434694, 0.0023371682, 0.061028227, -0.043292493, 0.020546578, -0.15911047, -0.08130223, 0.06250305, 0.0070966114) * conv2d_2_3_texOff(vec2(1, 0)); + result += mat4(-0.3429501, -0.21277043, -0.049093653, 0.054242488, 0.03864163, 0.15202525, 0.13077521, -0.024716642, 0.12944369, -0.04242532, -0.0984026, -0.0075546815, 0.049691617, -0.26148278, 0.11690892, 0.026852012) * conv2d_2_3_texOff(vec2(-1, 1)); + result += mat4(0.21194349, 0.5033045, -0.15561762, 0.29727763, -0.053240307, 0.06598053, 0.03536803, -0.05529177, 0.003915308, -0.030083273, 0.11567217, 0.086338036, -0.08228356, -0.098615445, -0.017176205, -0.04703896) * conv2d_2_3_texOff(vec2(0, 1)); + result += mat4(0.40610483, 0.37556309, -0.1011902, -0.17072535, 0.0418945, -0.03117632, -0.015956977, 0.031467345, 0.06438388, -0.065987475, -0.023303997, -0.00033362446, 0.016899861, -0.16399954, 0.19797426, 0.02526555) * conv2d_2_3_texOff(vec2(1, 1)); + result += mat4(-0.20880018, -0.04814317, 0.034842845, -0.08506645, 0.023150053, 0.17523171, -0.08906912, 0.018768176, -0.15747237, -0.013412836, -0.010350671, 0.081620745, -0.07663209, 0.06631126, 0.027957207, -0.011831954) * conv2d_2_4_texOff(vec2(-1, -1)); + result += mat4(-0.012521762, -0.07600875, -0.047059476, -0.01805801, -0.048674945, 0.12181972, -0.017663226, 0.0432318, -0.14352627, 0.06650046, 0.035068337, -0.013101888, -0.067864515, -0.04194169, 0.037848126, 0.09747346) * conv2d_2_4_texOff(vec2(0, -1)); + result += mat4(0.09322095, -0.04626651, 0.06241107, 0.08410371, 0.08864914, -0.005793155, -0.048492763, 0.0022041746, -0.13943855, -0.02801761, -0.06640211, 0.013866674, -0.16187423, -0.10009419, 0.0035107725, -0.011626992) * conv2d_2_4_texOff(vec2(1, -1)); + result += mat4(0.16228244, -0.021634847, 0.05236101, -0.071439035, 0.027690664, 0.09696895, 0.040318534, -0.061701674, -0.1430865, 0.05777522, -0.099094726, 0.0017936935, 0.0753561, 0.03443709, 0.014760066, -0.014573198) * conv2d_2_4_texOff(vec2(-1, 0)); + result += mat4(0.038053274, 0.1179154, -0.042510927, -0.026590457, -0.18273753, -0.032407228, 0.057307344, -0.024179177, 0.012070812, -0.04441303, -0.07412736, -0.028880898, 0.013157441, 0.024619505, -0.026092878, 0.052096672) * conv2d_2_4_texOff(vec2(0, 0)); + result += mat4(-0.020279795, 0.029085517, -0.095050074, -0.104299106, 0.0037579818, -0.017660499, 0.030140616, -0.021265104, -0.14832298, -0.0051694326, -0.0037362757, 0.014919578, 0.05259005, -0.07513208, -0.0146490075, -0.020174798) * conv2d_2_4_texOff(vec2(1, 0)); + result += mat4(-0.060481466, 0.064523265, -0.016726509, -0.030172478, 0.06568881, -0.02927993, -0.034046184, -0.039543655, -0.029001983, -0.059581038, -0.03352741, -0.023694208, -0.079014026, 0.03805421, -0.079779446, 0.009257319) * conv2d_2_4_texOff(vec2(-1, 1)); + result += mat4(-0.14134443, -0.018266985, 0.00225007, -0.016296288, -0.008975656, -0.1963972, 0.093705304, 0.029402032, -0.012637663, 0.040354986, 0.066651635, -0.029830167, -0.006835361, -0.06894832, -0.013944294, 0.0091162175) * conv2d_2_4_texOff(vec2(0, 1)); + result += mat4(0.114390135, -0.00016745036, 0.12920782, 0.08555781, 0.074522816, -0.13803281, 0.07790181, 0.06764221, -0.06504244, 0.19695061, 0.007874553, -0.008984066, 0.0646646, -0.045174103, 0.045999963, -0.023214761) * conv2d_2_4_texOff(vec2(1, 1)); + result += mat4(-0.10191958, -0.03874261, -0.037013978, -0.03554504, -0.15408207, -0.03912224, -0.0025491773, 0.02514618, 0.0081371935, -0.011157079, -0.049409658, -0.09066647, -0.082534716, -0.140024, -0.07047659, -0.010767147) * conv2d_2_5_texOff(vec2(-1, -1)); + result += mat4(-0.11951902, -0.033060033, -0.017517444, -0.068778016, 0.13182302, 0.06574557, 0.033769637, 0.007278625, -0.02074191, -0.01054671, -0.032349627, -0.14870508, -0.018687231, -0.10657922, 0.018227793, -0.1510748) * conv2d_2_5_texOff(vec2(0, -1)); + result += mat4(0.10524415, -0.082600325, -0.06009325, -0.07936977, -0.022961827, 0.07552152, 0.0772994, 0.049266733, 0.0011367839, 0.05645326, -0.03506292, -0.027761465, -0.04068284, -0.0372859, -0.007829683, -0.0029989474) * conv2d_2_5_texOff(vec2(1, -1)); + result += mat4(0.24137077, 0.11253418, 0.014269552, -0.0049034758, -0.15284607, -0.17572679, -0.010111458, -0.050182037, 0.016863324, 0.028379707, -0.008467809, 0.05363246, -0.0059467405, -0.06815264, -0.04820141, -0.039045922) * conv2d_2_5_texOff(vec2(-1, 0)); + result += mat4(0.11472866, -0.004083763, -0.05435374, -0.04374669, -0.24542388, -0.13271864, -0.030852046, -0.071296185, -0.04381048, 0.18751605, 0.013991484, -0.008890562, 0.027254371, -0.13989857, -0.026445393, 0.106878355) * conv2d_2_5_texOff(vec2(0, 0)); + result += mat4(0.05933585, 0.1296524, -0.24849, 0.061089203, -0.011110502, -0.046969563, 0.057217665, -0.10190127, 0.04149168, 0.013625205, -0.009964156, 0.00655208, 0.12474139, 0.05813398, 0.034603283, 0.102029055) * conv2d_2_5_texOff(vec2(1, 0)); + result += mat4(-0.23110618, 0.025900839, 0.09039707, -0.03600807, 0.05083383, 0.0007133113, 0.031209944, -0.05488001, -0.085672684, -0.05489757, -0.023722759, 0.01343279, -0.042107046, 0.05121416, 0.056957364, -0.07334564) * conv2d_2_5_texOff(vec2(-1, 1)); + result += mat4(-0.08630733, -0.023526754, -0.04581732, -0.06983333, 0.052523002, 0.013817501, -0.04829048, 0.029134845, 0.04165144, -0.01300882, 0.012012411, 0.045277026, -0.07602016, 0.17785713, -0.055950396, -0.023746358) * conv2d_2_5_texOff(vec2(0, 1)); + result += mat4(-0.049360923, 0.16614445, -0.011222778, -0.024431104, 0.07472029, -0.005999077, -0.12143143, -0.06615785, 0.11231663, -0.07111464, 0.0069506564, 0.031068586, -0.0065435125, 0.0860152, -0.10510063, -0.007849685) * conv2d_2_5_texOff(vec2(1, 1)); + result += mat4(-0.16503394, -0.030097283, -0.06097495, 0.014028306, 0.23415084, -0.07284573, -0.015977817, -0.00022654721, -0.26720545, 0.031500626, 0.049804825, 0.0021022758, 0.02852822, 0.0041927802, -0.028819656, -0.12635648) * conv2d_2_6_texOff(vec2(-1, -1)); + result += mat4(0.057454627, -8.802682e-05, -0.026928894, 0.057943676, 0.16152431, -0.020799745, 0.073038295, 0.06438425, -0.11345996, 0.0053526172, 0.03072667, 0.09149475, -0.14405242, 0.08746874, -0.017918596, -0.08689966) * conv2d_2_6_texOff(vec2(0, -1)); + result += mat4(-0.08908187, -0.08191689, 0.06759692, -0.036632597, 0.048351426, -0.04757934, 0.011406578, 0.012961949, -0.06647717, 0.051628597, -0.06885519, 0.12285056, -0.018870829, 0.07443567, 0.016951323, 0.013862363) * conv2d_2_6_texOff(vec2(1, -1)); + result += mat4(-0.042692978, 0.077293925, 0.03896673, 0.0425908, -0.28592974, 0.03445474, -0.01632285, -0.011563877, 0.07550368, 0.03203724, 0.07518867, 0.06220217, 0.1314145, 0.032467943, 0.02704701, -0.024360724) * conv2d_2_6_texOff(vec2(-1, 0)); + result += mat4(-0.15659915, -0.05721017, -0.091016546, 0.031778496, 0.02089697, -0.02270808, -0.06612838, -0.057273105, 0.1423093, -0.036797423, 0.11714067, -0.026786275, 0.38642588, -0.011024934, 0.059736818, -0.036764227) * conv2d_2_6_texOff(vec2(0, 0)); + result += mat4(0.058708556, 0.03706921, -0.0008710216, 0.04416315, -0.15748537, 0.0007599563, -0.06059174, 0.06445689, -0.091981515, 0.038883362, 0.010335649, 0.10921828, 0.033286862, -0.067116, -0.05037677, 0.02959022) * conv2d_2_6_texOff(vec2(1, 0)); + result += mat4(-0.012230355, -0.06236505, -0.029447619, 0.011503981, 0.057088036, -0.0028359322, 0.053800084, 0.040693726, 0.009525737, -0.016998239, -0.058721464, 0.058173772, 0.13641192, -0.02478606, -0.0038512833, 0.02965093) * conv2d_2_6_texOff(vec2(-1, 1)); + result += mat4(0.081262305, 0.040893327, -0.06860977, -0.06282487, -0.002353218, -0.0024606825, 0.0011623024, 0.08530419, 0.12838128, 0.09145752, 0.09669559, -0.0040755267, -0.0032358633, -0.026013672, 0.09415612, 0.05954407) * conv2d_2_6_texOff(vec2(0, 1)); + result += mat4(0.052563474, 0.07604839, 0.07239139, -0.06243014, -0.029170431, 0.010141796, -0.22448957, -0.04312275, -0.03771702, -0.038096126, 0.03964655, 0.0014458939, -0.09441405, -0.05434206, -0.11259064, 0.06293755) * conv2d_2_6_texOff(vec2(1, 1)); + result += mat4(0.11496349, 0.02573986, 0.027303828, 0.0748392, -0.27423587, -0.007129563, 0.014165222, -0.0012558092, 0.008829933, -0.05276369, -0.023303749, -0.035579868, 0.17526165, -0.005927478, 0.0015676081, 0.052291207) * conv2d_2_7_texOff(vec2(-1, -1)); + result += mat4(0.05625258, -0.005404888, -0.029767733, 0.02800696, -0.28336978, -0.027190037, -0.016843513, 0.038721167, 0.0885064, 0.07903839, 0.060136586, 0.016053334, 0.0729737, 0.16545194, 0.06819913, 0.002046832) * conv2d_2_7_texOff(vec2(0, -1)); + result += mat4(0.0738362, -0.052854244, 0.02799776, -0.0011567409, -0.008778064, 0.07761802, -0.061677296, 0.07041691, -0.059107147, 0.010733205, 0.023213526, 0.02539794, 0.008882071, 0.00053705944, -0.005576075, -0.02450448) * conv2d_2_7_texOff(vec2(1, -1)); + result += mat4(0.066811346, 0.01722091, -0.037251867, -0.019496892, -0.26120344, 0.09679296, -0.019666381, 0.036662705, 0.050680723, 0.12882115, 0.019879477, 0.03638969, 0.0076786554, -0.07982096, 0.014343399, -0.06562858) * conv2d_2_7_texOff(vec2(-1, 0)); + result += mat4(-0.1808875, -0.012710979, 0.008214454, 0.083973184, -0.20222192, -0.016720204, 0.04636568, 0.17955957, -0.056773156, 0.02040038, 0.063023746, -0.075231224, -0.15711196, -0.09329235, -0.014461877, -0.15659945) * conv2d_2_7_texOff(vec2(0, 0)); + result += mat4(-0.0070561194, 0.040393945, 0.027761368, -0.011914938, -0.24730462, 0.010503104, -0.1013549, 0.011239225, -0.10323379, -0.105025046, -0.10390131, 0.030872915, -0.045116328, -0.10852855, -0.031169297, -0.033775616) * conv2d_2_7_texOff(vec2(1, 0)); + result += mat4(0.020622585, 0.09235388, 0.045661643, 0.023561945, -0.12915225, -0.09366666, 0.02256627, 0.07274897, -0.06484767, -0.040414084, -0.06418333, 0.07192602, -0.0013509926, 0.03002767, 0.03440333, 0.0015422223) * conv2d_2_7_texOff(vec2(-1, 1)); + result += mat4(0.013748483, -0.038822625, 0.004070744, -0.0035835847, 0.05616971, -0.13141598, 0.0648682, 0.050821226, -0.06351425, 0.13671215, 0.053132717, 0.023813974, -0.06612636, 0.0570178, 0.06354147, 0.07083255) * conv2d_2_7_texOff(vec2(0, 1)); + result += mat4(-0.018749023, 0.033468246, 0.08911305, 0.06979292, 0.16021834, 0.017705414, -0.016056716, 0.08098104, -0.0104938485, -0.104511894, -0.0029400282, 0.0035629903, -0.12257078, -0.010939516, -0.021454025, -0.108183004) * conv2d_2_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-3-ReLU) +//!HOOK LUMA +//!BIND conv2d_2_0 +//!BIND conv2d_2_1 +//!BIND conv2d_2_2 +//!BIND conv2d_2_3 +//!BIND conv2d_2_4 +//!BIND conv2d_2_5 +//!BIND conv2d_2_6 +//!BIND conv2d_2_7 +//!SAVE conv2d_3_2 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.007836888, -0.017780114, -0.0030567038, -0.012376305); + result += mat4(0.064867124, 0.08116552, -0.042717513, 0.07135525, -0.06274602, 0.026776405, 0.026968006, 0.009218932, -0.054236013, 0.02801656, -0.12646192, 0.035681557, 0.05499709, -0.1261364, -0.042787287, -0.051813222) * conv2d_2_0_texOff(vec2(-1, -1)); + result += mat4(0.036879618, 0.062372934, -0.037162654, 0.10689936, 0.0753199, 0.09334855, -0.12810078, 0.015713481, -0.0400899, -0.07045015, -0.13400082, -0.030875336, 0.0076537947, 0.01008903, -0.06466983, 0.068072855) * conv2d_2_0_texOff(vec2(0, -1)); + result += mat4(-0.049684588, -0.04772579, 0.037324946, 0.024771214, 0.1378929, -0.19453223, -0.054536548, -0.08664942, 0.07479053, -0.043426964, -0.07761122, 0.030413933, -0.12079091, -0.017851325, -0.061491624, -0.039906256) * conv2d_2_0_texOff(vec2(1, -1)); + result += mat4(0.0050705587, 0.012214411, 0.066997685, -0.042899966, -0.054423973, 0.10105104, 0.08845574, -0.024304843, 0.035645276, 0.057728104, 0.009663384, 0.026262198, 0.09677756, -0.055687472, 0.03498619, 0.070468) * conv2d_2_0_texOff(vec2(-1, 0)); + result += mat4(0.075751044, 0.07946137, 0.008891481, 0.018256815, -0.004769432, 0.22556365, 0.07304193, 0.025247838, 0.09156931, -0.04650038, 0.07169809, -0.13114129, 0.104602404, -0.03157063, -0.064767495, -0.017320616) * conv2d_2_0_texOff(vec2(0, 0)); + result += mat4(-0.12617247, -0.03360223, 0.012468606, -0.04125704, -0.06796843, 0.036802657, 0.052807115, 0.08315858, -0.043726366, -0.06982438, -0.11247679, -0.052452747, -0.0851437, -0.08498668, -0.056587644, -0.026131725) * conv2d_2_0_texOff(vec2(1, 0)); + result += mat4(-0.12872946, 0.06651097, -0.021923192, 0.089969814, 0.043146133, 0.033607785, 0.0664458, 0.04983982, -0.035349283, -0.00602551, -0.041191462, 0.070467085, -0.058300726, 0.020012807, -0.05781061, -0.082117796) * conv2d_2_0_texOff(vec2(-1, 1)); + result += mat4(0.040243853, 0.061657246, -0.003927181, 0.0003782733, 0.14085606, -0.064911574, 0.032850765, -0.17609514, 0.05409894, -0.055293016, -0.11594751, -0.035899278, -0.0151736755, 0.00023742852, -0.014663413, -0.10710294) * conv2d_2_0_texOff(vec2(0, 1)); + result += mat4(-0.10809791, -0.01882408, 0.071670584, 0.004769354, 0.14412333, 0.00061455363, -0.013466365, -0.00559433, 0.057903465, -0.053236686, 0.045947924, -0.011523849, 0.05577444, 0.08778107, 0.015510017, -0.00241558) * conv2d_2_0_texOff(vec2(1, 1)); + result += mat4(-0.045244776, -0.056265276, 0.018449282, -0.048074085, -0.008075517, -0.0067596366, 0.10184961, -0.011604453, -0.0613305, 0.034325946, 0.020245792, 0.016657533, -0.10425194, -0.0016832374, -0.08741105, 0.09788958) * conv2d_2_1_texOff(vec2(-1, -1)); + result += mat4(0.08257654, -0.076758094, 0.042764682, -0.09449557, -0.030543631, 0.025712078, 0.016326576, -0.022411717, 0.060647313, 0.13265954, -0.099330194, 0.00442133, 0.05853471, -0.02471072, 0.021411646, -0.06349755) * conv2d_2_1_texOff(vec2(0, -1)); + result += mat4(0.15767977, -0.16815087, -0.008513889, 0.019822152, -0.10052779, 0.021605404, 0.08858671, 0.022810232, -0.043820005, -0.039937567, 0.0070138588, 0.08095023, -0.1263726, -0.107525714, 0.012859529, -0.018182985) * conv2d_2_1_texOff(vec2(1, -1)); + result += mat4(0.049787004, -0.0026324473, -0.040232815, -0.058697402, 0.10134607, 0.024951793, 0.05546618, -0.077452205, 0.04918382, 0.01528203, -0.13156049, -0.100772664, -0.060207028, -0.00081977225, -0.07573476, -0.0031026392) * conv2d_2_1_texOff(vec2(-1, 0)); + result += mat4(0.023565786, 0.055348426, -0.03428737, 0.09799082, -0.055268943, 0.113410234, -0.0026607362, 0.2528761, -0.04966023, 0.018075192, -0.040889144, 0.19475861, 0.08083943, -0.04727874, -0.13308279, 0.018120747) * conv2d_2_1_texOff(vec2(0, 0)); + result += mat4(-0.080781616, 0.013140725, 0.05523571, -0.12655741, 0.030729664, -0.063033506, 0.05181861, 0.07897962, 0.010540272, -0.14124185, -0.112319425, -0.06437154, 0.0041169217, -0.12251772, 0.017566338, -0.027628383) * conv2d_2_1_texOff(vec2(1, 0)); + result += mat4(-0.059300713, -0.002951986, -0.006505751, -0.06900276, 0.0040559974, -0.045834605, 0.19747004, -0.43178058, 0.05137482, 0.05150407, 0.07873406, -0.017233321, 0.05912573, -0.0255193, 0.022505127, 0.063944295) * conv2d_2_1_texOff(vec2(-1, 1)); + result += mat4(0.012822053, -0.08249302, 0.037735585, 0.029413765, -0.18334402, 0.059212074, -0.049098898, 0.12658434, 0.015182256, -0.008130877, 0.02941914, -0.017085813, -0.019478178, 0.10284055, 0.014324915, -0.05191756) * conv2d_2_1_texOff(vec2(0, 1)); + result += mat4(-0.07886133, 0.029362326, -0.078605086, -0.034613874, -0.018729337, -0.03743598, 0.07386679, -0.10731108, -0.16454412, 0.009396162, -0.06718669, 0.025988216, 0.02417802, 0.0144832395, -0.067050956, 0.026532969) * conv2d_2_1_texOff(vec2(1, 1)); + result += mat4(-0.039690178, 0.029612394, -0.03280664, -0.087282665, 0.047143094, 0.10279325, -0.003165382, -0.01049849, -0.09025831, 0.072282255, 0.12533449, 0.08718501, 0.013361927, -0.04690151, -0.021449031, -0.060457103) * conv2d_2_2_texOff(vec2(-1, -1)); + result += mat4(-0.053461693, 0.073145464, 0.05972572, -0.01836888, -0.019485593, 0.16535361, -0.10352698, -0.057225022, 0.335944, -0.14922038, -0.051865768, -0.09299926, 0.07656307, 0.07449775, 0.048373137, 0.068631485) * conv2d_2_2_texOff(vec2(0, -1)); + result += mat4(-0.10068067, -0.011042619, 0.0016748653, -0.033888984, -0.024243513, -0.095328, -0.11664949, -0.117893904, -0.11824704, 0.0046946337, 0.1577316, 0.108014874, 0.0136241345, 0.083659, 0.09382239, 0.03989257) * conv2d_2_2_texOff(vec2(1, -1)); + result += mat4(0.0045214263, 0.0099560805, 0.10306492, 0.090566516, 0.09249973, 0.0013719198, 0.020489851, 0.2311689, -0.016418936, 0.09004837, 0.10745057, 0.1436865, -0.032783713, 0.00042356804, -0.07277369, -0.14467028) * conv2d_2_2_texOff(vec2(-1, 0)); + result += mat4(0.05922811, -0.036643066, -0.102698706, 0.031125888, 0.116843805, 0.033747837, -0.06226649, 0.27403384, 0.033350803, -0.009099586, 0.0007810661, 0.13877438, -0.06683036, 0.029215446, 0.10675674, 0.026762793) * conv2d_2_2_texOff(vec2(0, 0)); + result += mat4(0.12623322, -0.025143683, 0.005891797, -0.025634978, -0.02845588, 0.056256626, 0.020862829, 0.03541102, 0.019190941, -0.020842977, -0.021876287, 0.09791826, -0.11097346, -0.04083419, 0.104472704, -0.019207004) * conv2d_2_2_texOff(vec2(1, 0)); + result += mat4(-0.09595539, -0.00120303, 0.047564495, -0.034901615, -0.06700871, 0.10137784, 0.0024619205, -0.029052246, 0.00060329644, -0.08600963, 0.020294841, -0.0070577287, 0.01682353, 0.073653184, -0.014975451, 0.008448338) * conv2d_2_2_texOff(vec2(-1, 1)); + result += mat4(-0.007343811, -0.024925608, 0.058315754, -0.0134660555, 0.09831449, 0.0074572656, -0.07337497, 0.025398139, 0.023413152, -0.06985647, 0.06997643, 0.055757385, 0.020339973, -0.0030641607, -0.020580562, -0.055939827) * conv2d_2_2_texOff(vec2(0, 1)); + result += mat4(-0.0121545615, 0.086005315, -0.0700809, -0.045746673, -0.03592779, -0.031454153, -0.03901285, -0.0020150472, 0.0033141787, 0.0051090075, -0.011993272, -0.017800413, -0.000247124, -0.006122932, 0.023016963, -0.045373186) * conv2d_2_2_texOff(vec2(1, 1)); + result += mat4(0.048518464, 0.023002146, 0.09101621, -0.0150993895, -0.07802911, 0.0096329395, 0.055244595, -0.10065365, -0.028113408, 0.03402117, 0.03671585, -0.53991705, -0.06637541, 0.044506766, -0.23535141, 0.07314484) * conv2d_2_3_texOff(vec2(-1, -1)); + result += mat4(-0.023382824, 0.054615013, -0.062259965, 0.04253972, 0.010439508, 0.010369349, 0.04495065, 0.013806849, 0.08643737, 0.13632987, 0.04923533, 0.025767887, -0.12344774, 0.138286, -0.2117759, 0.022032846) * conv2d_2_3_texOff(vec2(0, -1)); + result += mat4(-0.021846995, -0.2183748, -0.0669629, 0.052866135, 0.049547292, -0.0917945, -0.02691233, 0.0065659108, -0.02898437, -0.20100898, -0.07140602, 0.059327263, -0.110967755, 0.063089475, -0.039848804, 0.101310946) * conv2d_2_3_texOff(vec2(1, -1)); + result += mat4(0.12304643, 0.08600901, -0.086043805, -0.4373529, -0.038673215, 0.08472819, 0.027486669, -0.08218865, 0.031040192, 0.01759818, 0.11964828, 0.1282844, -0.23848814, 0.09170438, -0.16936828, 0.057127636) * conv2d_2_3_texOff(vec2(-1, 0)); + result += mat4(0.025140189, 0.06579242, -0.018113695, 0.18109828, 0.01540709, -0.0104258945, 0.096301295, -0.13920261, 0.0032722757, 0.11594367, -0.0631355, -0.013543512, -0.10336542, 0.07085419, 0.0027251805, 0.12998712) * conv2d_2_3_texOff(vec2(0, 0)); + result += mat4(0.03220046, 0.010742731, -0.1252253, -0.07583481, 0.06504055, -0.085044146, 0.06929313, -0.18942456, -0.019775147, -0.055204723, -0.09028095, -0.048191387, -0.014879141, -0.009397993, 0.08697113, 0.1709783) * conv2d_2_3_texOff(vec2(1, 0)); + result += mat4(-0.27971327, 0.1830119, 0.11491136, -0.27309558, -0.118982084, 0.10239444, 0.101834096, -0.0362393, 0.08575636, 0.010436211, 0.04213823, 0.017934479, -0.02270839, 0.11539529, 0.029402746, 0.10470581) * conv2d_2_3_texOff(vec2(-1, 1)); + result += mat4(-0.35318425, -0.2154415, 0.09472703, -0.4916189, 0.0007722517, 0.061319403, 0.08076075, -0.090124115, 0.0040707984, 0.06506524, 0.03146755, 0.068794034, -0.024000535, 0.06742625, -0.05461802, 0.033735123) * conv2d_2_3_texOff(vec2(0, 1)); + result += mat4(-0.0607574, -0.011533519, -0.0052474192, -0.248598, -0.07101345, 0.064575456, 0.102011524, 0.034539964, -0.12731016, -0.035224803, 0.0065832534, 0.05208777, -0.021112682, 0.10908446, 0.07827533, 0.07603959) * conv2d_2_3_texOff(vec2(1, 1)); + result += mat4(0.00989775, 0.042330835, 0.06137369, -0.208577, -0.083904624, 0.030999891, -0.011113184, 0.03510446, 0.040647447, 0.073540635, -0.06164029, 0.080778256, 0.022658829, -0.03230737, 0.023580452, 0.059405684) * conv2d_2_4_texOff(vec2(-1, -1)); + result += mat4(-0.010226946, 0.05118414, -0.042006712, -0.054912392, -0.04581744, -0.042859137, 0.02994442, 0.036453947, -0.06546612, 0.01756355, 0.008825342, -0.046769146, 0.050681405, -0.03636642, 0.01996099, -0.010326923) * conv2d_2_4_texOff(vec2(0, -1)); + result += mat4(-0.11864682, -0.014455684, -0.024851566, -0.005084514, 0.011766685, 0.025016347, 0.0056383363, 0.0031668758, 0.041566223, -0.030836785, -0.10276229, 0.014021363, -0.08281395, 0.0053541, -0.041281406, -0.090839624) * conv2d_2_4_texOff(vec2(1, -1)); + result += mat4(-0.015251424, -0.015589548, 0.13332509, -0.08958094, 0.059801243, -0.037289582, -0.076657645, -0.11877761, 0.06345926, -0.036079213, -0.04139002, 0.08628088, 0.0985828, -0.09563308, -0.036603626, -0.068365596) * conv2d_2_4_texOff(vec2(-1, 0)); + result += mat4(0.07978581, 0.00020230809, -0.089976475, -0.004476051, 0.009229594, -0.09260871, 0.109404996, -0.048022695, 0.11503476, 0.008346313, -0.051847484, 0.12988037, 0.12733372, -0.02487283, -0.11312637, 0.016830392) * conv2d_2_4_texOff(vec2(0, 0)); + result += mat4(0.08404981, -0.041387837, 0.06591291, 0.0138987135, -0.15861037, -0.039738968, -0.01591915, -0.00015206134, 0.11198493, 0.08536562, -0.019507006, 0.042737473, -0.1040353, -0.10862504, 0.046145402, -0.1053108) * conv2d_2_4_texOff(vec2(1, 0)); + result += mat4(0.06252069, 0.050228078, -0.013423237, -0.12080195, 0.079800904, 0.028625904, 0.0020529972, -0.13143612, 0.10848543, 0.13957642, 0.031159222, -0.029737575, -0.11095812, -0.01722123, 0.02253779, 0.015025483) * conv2d_2_4_texOff(vec2(-1, 1)); + result += mat4(0.035642717, 0.072670974, 0.09227086, -0.006960762, 0.09344914, -0.10057379, -0.015956115, 0.037299167, -0.09408371, 0.11645593, 0.12852386, 0.03756607, 0.089232475, 0.106520265, -0.04271509, -0.019486358) * conv2d_2_4_texOff(vec2(0, 1)); + result += mat4(0.047652014, 0.08011616, -0.084661625, 0.072131425, -0.062498335, 0.028728375, -0.058975317, 0.13279505, 0.21369706, -0.007902714, -0.022945374, 0.03773331, -0.000742448, -0.036565267, -0.0067201694, 0.04314417) * conv2d_2_4_texOff(vec2(1, 1)); + result += mat4(0.026797093, 0.015207327, -0.004711901, 0.07134827, -0.05442815, 0.0404376, 0.0050826934, 0.048135206, -0.015051483, 0.040219456, -0.007174698, -0.02342508, -0.020744871, -0.118869595, 0.00059445656, -0.045250222) * conv2d_2_5_texOff(vec2(-1, -1)); + result += mat4(-0.046181433, -0.12215475, 0.023687834, 0.023096219, -0.075024344, 0.015536311, -0.0004707185, -0.017627237, -0.023165371, 0.06782119, 0.005555786, 0.09824037, 0.06203637, 0.1158184, -0.019484244, 0.16694842) * conv2d_2_5_texOff(vec2(0, -1)); + result += mat4(-0.12960562, 0.104927845, -0.0904708, 0.052424215, -0.076434344, -0.045645006, 0.047053814, 0.0115662785, 0.08173085, -0.04085224, -0.021101506, 0.039589364, 0.1989789, -0.0794755, 0.022297597, 0.060057897) * conv2d_2_5_texOff(vec2(1, -1)); + result += mat4(0.123900525, -0.030985635, 0.004160302, 0.05607748, -0.0171013, -0.013624366, 0.0036712473, -0.10706851, -0.08273937, -0.02643046, 0.07085563, -0.053843644, 0.050284095, -0.08355137, 0.0010697911, 0.062090505) * conv2d_2_5_texOff(vec2(-1, 0)); + result += mat4(0.02272455, -0.035506617, 0.10369482, 0.029699186, -0.027146531, 0.015098471, -0.014034926, 0.019962842, -0.10970273, 0.023633087, 0.029260712, 0.017109668, 0.047055863, -0.0023782027, 0.12681669, 0.021947091) * conv2d_2_5_texOff(vec2(0, 0)); + result += mat4(0.012770919, 0.12520048, 0.124157116, 0.10329926, -0.09709967, -0.13523929, 0.049120467, 0.024366321, -0.04635268, -0.053958524, 0.034399845, -0.01698449, -0.011092493, -0.12745579, 0.029072868, 0.15284488) * conv2d_2_5_texOff(vec2(1, 0)); + result += mat4(0.013705744, -0.023099976, 0.005381425, -0.067938924, 0.07149288, 0.06345384, 0.046428736, -0.03212844, 0.101470985, 0.046261217, 0.0478026, 0.0059452523, 0.029024677, 0.015864443, 0.025546491, -0.026913246) * conv2d_2_5_texOff(vec2(-1, 1)); + result += mat4(0.087239385, 0.07264499, 0.10672952, 0.07022457, 0.013734032, 0.09373572, 0.057128344, -0.104541086, -0.007673397, 0.03174853, -0.01684911, -0.06255564, 0.019564072, -0.06591953, -0.046294812, 0.1440224) * conv2d_2_5_texOff(vec2(0, 1)); + result += mat4(0.026808104, 0.06483529, -0.07593498, 0.037337024, -0.010671756, -0.010567212, -0.007066666, -0.07766787, -0.05939303, -0.057808455, 0.08466622, -0.0015391326, -0.036044322, 0.0567753, -0.085352, 0.035164956) * conv2d_2_5_texOff(vec2(1, 1)); + result += mat4(0.022483801, 0.03767137, 0.05925877, -0.057902772, -0.112983145, 0.014669387, -0.024587594, -0.013244178, 0.05199239, 0.017614657, -0.013509225, -0.089065865, 0.024319937, -0.04739392, -0.032571938, 0.08252971) * conv2d_2_6_texOff(vec2(-1, -1)); + result += mat4(0.0042097447, 0.0538892, 0.01428982, 0.07087082, -0.17661992, -0.086898774, -0.11922367, 0.051708452, -0.055376142, 0.050917257, 0.062313657, -0.09885456, -0.04933336, -0.043045714, -0.06600457, 0.11954962) * conv2d_2_6_texOff(vec2(0, -1)); + result += mat4(0.0356375, -0.06740745, -0.018059561, -0.03662148, -0.17665485, -0.037729207, 0.00893899, -0.014461336, -0.053481895, 0.038475066, -0.010790406, 0.110719785, -0.00088759273, -0.09699064, 0.1356421, -0.111286946) * conv2d_2_6_texOff(vec2(1, -1)); + result += mat4(-0.0003840645, -0.051959295, 0.018975744, 0.09185836, -0.07121334, 0.0412956, -0.045374684, 0.058718562, 0.059167754, 0.046799563, -0.027636718, -0.02538539, 0.01526129, 0.024174556, 0.10681165, 0.03545854) * conv2d_2_6_texOff(vec2(-1, 0)); + result += mat4(0.052171506, -0.057785958, 0.053119306, -0.03804127, -0.14660102, -0.015885042, -0.09493207, -0.012802389, 0.1077968, 0.023977436, 0.056385662, 0.13389829, -0.03409409, 0.05631319, 0.03504353, 0.054927893) * conv2d_2_6_texOff(vec2(0, 0)); + result += mat4(-0.022600029, 0.016337868, -0.046836406, -0.055491, -0.122020826, -0.050626907, -0.04049129, 0.044815224, 0.15334393, -0.040983606, 0.086781606, 0.12263395, 0.13598368, -0.029949063, -0.14003432, -0.16128942) * conv2d_2_6_texOff(vec2(1, 0)); + result += mat4(-0.060244635, 0.012587049, -0.06521883, -0.028400365, -0.044947445, 0.004762534, 0.0074034636, -0.13436104, -0.01495801, 0.04163697, 0.025688598, -0.0008085523, 0.05991574, -0.03701323, 0.08403229, -0.086293876) * conv2d_2_6_texOff(vec2(-1, 1)); + result += mat4(-0.08802117, -0.07833956, -0.056918945, -0.0601627, 0.14277685, -0.027123487, 0.009378864, -0.13117345, -0.012370647, 0.05855523, 0.061166547, 0.020553557, 0.056749143, -0.16038379, 0.012941727, -0.007054367) * conv2d_2_6_texOff(vec2(0, 1)); + result += mat4(-0.0052366364, -0.023185035, 0.066899486, -0.083040215, 0.036027603, 0.037935726, 0.10562217, 0.094911985, 0.015138541, 0.019327002, -0.025114661, -0.027460491, -0.12451173, -0.014303632, -0.008734612, -0.017810417) * conv2d_2_6_texOff(vec2(1, 1)); + result += mat4(0.06306168, 0.06890165, 0.036780767, -0.041341122, 0.056517236, -0.0030566754, -0.019079229, 0.031899083, -0.037550688, -0.027635846, 0.07805982, -0.06747401, -0.024682289, 0.1056633, -0.06990837, 0.030996542) * conv2d_2_7_texOff(vec2(-1, -1)); + result += mat4(-0.070520036, 0.10911468, -0.041152567, -0.015369213, 0.048588928, -0.025702802, 0.044370543, 0.017154846, 0.060050506, 0.06794226, -0.0008629066, 0.04797938, -0.03938491, 0.054177005, -0.013213945, -0.023345994) * conv2d_2_7_texOff(vec2(0, -1)); + result += mat4(0.062167376, -0.00857359, -0.029520046, -0.036285758, 0.067987315, 0.06819931, -0.055840652, 0.034848955, -0.054334853, -0.0355902, 0.0073488276, -0.037003614, -0.20238714, 0.09083669, -0.047831625, 0.08126633) * conv2d_2_7_texOff(vec2(1, -1)); + result += mat4(-0.09821312, -0.05826319, -0.0050994856, 0.07252472, 0.021788003, 0.003992055, -0.002852754, -0.061774842, -0.056406945, 0.012880579, -0.02117645, 0.10498327, -0.053611517, 0.0132983755, -0.062423445, -0.032335807) * conv2d_2_7_texOff(vec2(-1, 0)); + result += mat4(0.00546202, -0.04657244, -0.031963397, -0.021432558, -0.050222527, -0.025026033, 0.0075516254, -0.0022420678, -0.003297881, -0.015766388, -0.032450765, 0.1336898, -0.073937364, 0.014101668, 0.0017328606, -0.13124995) * conv2d_2_7_texOff(vec2(0, 0)); + result += mat4(0.045719624, -0.0088148415, -0.04392568, -0.056650594, -0.0811456, 0.08487926, 0.029103303, -0.06995726, 0.08693881, 0.07955721, 0.0074128085, -0.015125575, -0.0014562369, -0.027886417, 0.080719724, 0.03795393) * conv2d_2_7_texOff(vec2(1, 0)); + result += mat4(0.06792885, 0.043767866, 0.05669561, -0.014340465, -0.018706026, 0.05095034, 0.05180557, 0.024369225, -0.030198174, -0.010530062, 0.0022768613, 0.04936656, -0.09273409, 0.036811337, 0.008328851, -0.06674966) * conv2d_2_7_texOff(vec2(-1, 1)); + result += mat4(-0.046439458, -0.0065687075, 0.050190717, 0.022581525, -0.08102853, 0.0486295, -0.059325356, 0.025582356, -0.0059659537, 0.11713113, 0.054784697, -0.065588325, -0.05982006, -0.060878433, 0.03242755, -0.053998288) * conv2d_2_7_texOff(vec2(0, 1)); + result += mat4(0.0217669, -0.006241051, 0.09188003, -0.026316183, -0.04602839, 0.03506404, 0.027233733, 0.02179772, 0.17619652, -0.03644682, -0.09131738, 0.012778665, 0.01541296, 0.012450838, 0.011495254, -0.0074731475) * conv2d_2_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-3-ReLU) +//!HOOK LUMA +//!BIND conv2d_2_0 +//!BIND conv2d_2_1 +//!BIND conv2d_2_2 +//!BIND conv2d_2_3 +//!BIND conv2d_2_4 +//!BIND conv2d_2_5 +//!BIND conv2d_2_6 +//!BIND conv2d_2_7 +//!SAVE conv2d_3_3 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0026036764, 0.0044385036, -0.0040474595, 0.009238027); + result += mat4(-0.0714545, 0.065498, -0.061600354, -0.06415288, -0.018808343, 0.008028284, 0.014483795, 0.09299403, 0.090389, -0.052577298, -0.09260725, -0.024926452, -0.030117005, 0.076228775, -0.086576946, -0.0482364) * conv2d_2_0_texOff(vec2(-1, -1)); + result += mat4(-0.08472644, 0.07986897, -0.018794218, 0.11723797, -0.10964081, 0.12213347, 0.09669454, -0.03164835, -0.12106711, -0.080865756, 0.053249404, 0.080235586, 0.07940725, -0.110999145, 0.012126561, 0.0017895659) * conv2d_2_0_texOff(vec2(0, -1)); + result += mat4(-0.0067173666, -0.007983506, -0.0460779, -0.023966307, 0.0263185, 0.014775326, 0.004461807, 0.014015511, 0.020959437, -0.058172524, 0.02585372, -0.010874219, 0.08365153, 0.0057499628, 0.08518352, -0.045191023) * conv2d_2_0_texOff(vec2(1, -1)); + result += mat4(-0.038094383, 0.045685858, -0.027216624, -0.03394116, 0.0040049246, -0.17535195, 0.033721115, -0.041036107, -0.0704733, 0.04439279, 0.00097406254, -0.024943428, 0.065802015, 0.10245639, -0.04642332, -0.004365874) * conv2d_2_0_texOff(vec2(-1, 0)); + result += mat4(0.014868387, -0.03844958, 0.12753086, 0.058758114, -0.27152115, -0.06634455, -0.09231862, 0.019900192, -0.01400693, -0.03001302, 0.0627821, 0.014236835, 0.033044692, -0.09042842, -0.094869114, 0.08472492) * conv2d_2_0_texOff(vec2(0, 0)); + result += mat4(-0.04007452, -0.10056755, -0.060954265, -0.055218622, -0.10610404, 0.15858957, 0.030801462, 0.05040157, -0.009074889, -0.095647804, 0.0052459603, -0.0055895536, -0.035407223, -0.03133827, 0.061817084, 0.046344828) * conv2d_2_0_texOff(vec2(1, 0)); + result += mat4(0.13135906, 0.0031819667, -0.021039218, -0.065024935, -0.0011845811, 0.04016623, 0.0035092523, 0.085468344, 0.029049948, -0.020375462, -0.028043473, -0.012218688, -0.012207591, 0.022088192, 0.07060732, -0.024101438) * conv2d_2_0_texOff(vec2(-1, 1)); + result += mat4(-0.03938141, -0.0053701983, -0.01068585, 0.02057677, -0.0819056, -0.07419435, -0.077708, 0.05281823, -0.08940981, 0.055519886, -0.035490893, -0.01116059, 0.041717708, 0.06142335, 0.007849206, 0.006546085) * conv2d_2_0_texOff(vec2(0, 1)); + result += mat4(0.014057999, -0.07531093, 0.07601044, 0.011395965, -0.16565192, -0.007824894, -0.03631075, -0.009606571, -0.050404448, -0.032819726, -0.001880161, -0.015130115, -0.007845919, 0.030869804, 0.04247279, 0.03709897) * conv2d_2_0_texOff(vec2(1, 1)); + result += mat4(-0.03183466, -0.08183416, 0.017525107, -0.06888788, -0.043214746, 0.02529286, -0.02572965, 0.08564433, -0.021533202, 0.050036352, 0.053293563, 0.034276754, -0.010673255, -0.015755996, -0.08998709, -0.023324717) * conv2d_2_1_texOff(vec2(-1, -1)); + result += mat4(-0.026349535, -0.034181334, -0.023696264, -0.004285344, -0.034388676, 0.06497488, -0.048948925, 0.057839327, 0.05402305, 0.050073404, -0.035385966, -0.07153681, -0.028492521, -0.04192891, 0.059576202, -0.006890968) * conv2d_2_1_texOff(vec2(0, -1)); + result += mat4(0.058749676, -0.05682726, -0.079438314, 0.042174775, 0.00080519426, -0.075743735, -0.05097762, 0.09805696, -0.012928097, 0.06748731, -0.051517807, 0.094262876, 0.0027653924, -0.023517696, 0.053181965, 0.015048062) * conv2d_2_1_texOff(vec2(1, -1)); + result += mat4(-0.022172783, 0.11496847, -0.030385027, 0.008614392, 0.030981326, 0.019453583, 0.13187481, 0.09377922, 0.0026864132, -0.026794732, -0.015599469, 0.0071094367, -0.0132001955, 0.010960563, 0.021424081, -0.008965632) * conv2d_2_1_texOff(vec2(-1, 0)); + result += mat4(-0.029493902, -0.032789975, 0.037515894, -0.033258967, 0.037783727, 0.09917456, 0.06288577, 0.04100962, 0.052388463, -0.024480442, 0.026190905, 0.14440596, 0.035397332, 0.07477578, 0.00957738, 0.012383921) * conv2d_2_1_texOff(vec2(0, 0)); + result += mat4(-0.065307766, -0.038607135, -0.07138016, 0.08806195, -0.018617405, 0.039815776, 0.083885856, 0.010016369, 0.0074204723, -0.08191276, 0.036251795, 0.02697035, 0.108486585, -0.019209757, 0.07805835, 0.03610147) * conv2d_2_1_texOff(vec2(1, 0)); + result += mat4(0.080954485, 0.06536743, 0.023199186, -0.009885833, 0.05521075, 0.112755686, -0.030556105, -0.036457494, 0.023692, -0.04199314, 0.080927536, 0.029178442, 0.021286821, -0.11084144, 0.14549212, -0.08454426) * conv2d_2_1_texOff(vec2(-1, 1)); + result += mat4(0.097908795, 0.0324215, 0.055298734, -0.03475424, 0.18426526, -0.0085680885, -0.10986818, 0.043182865, 0.030597916, -0.060408834, -0.00623625, -0.00394038, -0.073336124, 0.032060314, -0.14339039, 0.028863093) * conv2d_2_1_texOff(vec2(0, 1)); + result += mat4(-0.07761118, -0.0026173673, -0.041108754, -0.09113873, -0.017281923, -0.068149745, -0.06477051, 0.012139082, 0.0026904878, -0.052617252, -0.09932861, -0.041587833, -0.013097101, 0.048657995, -0.09725451, 0.0125665525) * conv2d_2_1_texOff(vec2(1, 1)); + result += mat4(-0.047918092, 0.00644297, -0.021414302, 0.039830394, 0.039546497, -0.041452162, -0.097632885, -0.07177341, 0.0252415, 0.020891104, -0.04055002, -0.13496552, 0.084507294, 0.0028764578, 0.06508134, -0.12704062) * conv2d_2_2_texOff(vec2(-1, -1)); + result += mat4(-0.008542774, -0.01689032, -0.08744516, 0.00674331, 0.021076474, -0.08560567, 0.086418994, -0.047166657, -0.028859299, -0.056496955, -0.17195557, -0.04674375, 0.07896536, 0.031319115, -0.019618778, 0.01019462) * conv2d_2_2_texOff(vec2(0, -1)); + result += mat4(-0.048574854, -0.13142207, -0.01407468, -0.061679125, -0.06458987, -0.055473935, -0.10797231, -0.016784528, -0.019857321, 0.14748909, -0.08458109, 0.11072837, -0.022147179, 0.12492681, 0.0073770266, -0.02923637) * conv2d_2_2_texOff(vec2(1, -1)); + result += mat4(0.07340522, 0.0019291071, 0.041346185, 0.0024796927, -0.038646534, -0.087153904, 0.23527718, -0.043642815, 0.0028348465, -0.05045508, -0.34367493, 0.05952948, 0.097119644, -0.036778547, -0.112308584, 0.026914578) * conv2d_2_2_texOff(vec2(-1, 0)); + result += mat4(0.054319162, -0.018014949, 0.12896298, -0.00020219608, -0.01438306, -0.09802356, 0.039358266, 0.0707573, 0.02565265, -0.0012682289, 0.1565099, -0.019489799, -0.04849277, 0.07084013, -0.13685842, 0.05277736) * conv2d_2_2_texOff(vec2(0, 0)); + result += mat4(0.020934893, -0.0060985046, 0.0899548, 0.046221424, 0.028288051, -0.107719846, 0.018293079, 0.016777739, 0.033358093, -0.075334124, 0.04232806, 0.05374841, 0.014950256, 0.14606972, 0.080643125, 0.029063674) * conv2d_2_2_texOff(vec2(1, 0)); + result += mat4(0.023923399, 0.023661247, 0.12406709, -0.11637559, -0.098827034, -0.2140225, 0.07058601, 0.008464584, 0.077404216, -0.065253735, 0.12601657, 0.016932134, 0.007663073, 0.009982655, -0.056592762, 0.045935716) * conv2d_2_2_texOff(vec2(-1, 1)); + result += mat4(0.056047067, 0.091744915, -0.060684353, 0.020088946, 0.00072521204, -0.097573884, 0.23040147, 0.015055929, -0.07132253, -0.021449212, -0.06351318, 0.10761701, 0.09022344, 0.02019259, 0.06102733, -0.028591024) * conv2d_2_2_texOff(vec2(0, 1)); + result += mat4(0.040703457, -0.045877304, -0.14895058, -0.0155656375, -0.033993684, -0.110211186, -0.0013925176, 0.016713768, -0.0007963287, -0.022050483, -0.05160167, 0.033303943, -0.06440652, 0.067670226, -0.025576, 0.019698935) * conv2d_2_2_texOff(vec2(1, 1)); + result += mat4(-0.11003221, 0.06749978, 0.024378518, -0.15460198, 0.054584432, 0.01802052, 0.026277028, 0.0349336, -0.041640446, -0.009001229, 0.13871288, -0.021442268, 0.08117112, -0.07073695, 0.03765347, -0.25913537) * conv2d_2_3_texOff(vec2(-1, -1)); + result += mat4(0.02132993, 0.034324087, 0.019986272, 0.021555241, 0.032336984, -0.08027819, -0.06734585, 0.02961137, -0.2983855, 0.08308537, 0.07450085, 0.05305424, 0.04864929, 0.011654245, -0.02285861, -0.10553484) * conv2d_2_3_texOff(vec2(0, -1)); + result += mat4(-0.17347518, 7.1894196e-05, -0.017684363, -0.056074556, -0.011781041, -0.08892966, -0.047113936, -0.06421842, -0.1799119, 0.040620517, 0.008175481, 0.07600921, 0.09789055, -0.15827401, -0.009406223, -0.07810505) * conv2d_2_3_texOff(vec2(1, -1)); + result += mat4(0.079829335, -0.006345632, 0.012504709, 0.10534068, -0.025812292, -0.057341766, -0.028314874, -0.063599706, -0.038188733, -0.096084155, -0.018726349, -0.083818555, 0.0144246975, -0.05314762, 0.038902022, -0.025251826) * conv2d_2_3_texOff(vec2(-1, 0)); + result += mat4(0.013789667, -0.056864474, 0.016856376, 0.09257926, 0.02633923, -0.10530635, -0.028794222, 0.013368844, -0.118350156, 0.05195979, 0.10333594, 0.043878343, 0.22877769, 0.042130142, 0.08544454, 0.0020097494) * conv2d_2_3_texOff(vec2(0, 0)); + result += mat4(0.010879447, 0.029319435, 0.046042897, 0.09194739, -0.10691528, -0.1317304, 0.025600443, -0.031563066, 0.037932064, -0.03987921, 0.00740476, 0.03467083, 0.11889545, -0.026353987, -0.083119534, -0.093931794) * conv2d_2_3_texOff(vec2(1, 0)); + result += mat4(0.13367672, -0.52021724, -0.5622331, -0.15691873, -0.1187782, 0.15989777, 0.0021084575, -0.09893177, -0.026648879, -0.042741574, 0.038363777, 0.026406838, 0.22023259, -0.13688634, 0.06151974, -0.096442774) * conv2d_2_3_texOff(vec2(-1, 1)); + result += mat4(-0.520493, 0.47050917, 0.30301076, 0.59267247, 0.034429077, -0.018276166, 0.091590114, -0.00596645, 0.0065793362, 0.0611077, -0.087548114, 0.09399796, 0.2327971, -0.04315915, 0.03379643, -0.059445925) * conv2d_2_3_texOff(vec2(0, 1)); + result += mat4(0.067003034, -0.07874017, 0.051140867, -0.13949995, 0.02540472, 0.03181655, 0.036438886, -0.012121058, -0.0056509674, -0.028863037, -0.0089688245, 0.0037452593, 0.25239575, -0.06964125, -0.0063551646, -0.0017476056) * conv2d_2_3_texOff(vec2(1, 1)); + result += mat4(0.021775508, -0.08066443, -0.114946954, 0.043449074, 0.090165645, -0.0021365567, 0.10626677, -0.11184275, -0.08547339, -0.097629435, 0.011686386, 0.049501114, 0.0074638887, 0.009472601, -0.039127957, -0.0014180952) * conv2d_2_4_texOff(vec2(-1, -1)); + result += mat4(0.039523438, 0.015843045, 0.011464026, -0.024143131, 0.0022692163, 0.06907575, 0.015447468, 0.12548776, -0.06542547, -0.02309186, 0.023855122, -0.0043289196, 0.0638667, -0.0695001, -0.030883804, 0.0739935) * conv2d_2_4_texOff(vec2(0, -1)); + result += mat4(0.002419384, 0.04759746, 0.108132266, -0.016725654, 0.024584569, -0.018576909, 0.010683569, -0.025430081, -0.1278667, -0.042549822, 0.04827011, 0.10051653, 0.028136412, 0.017135058, -0.13889293, -0.047769643) * conv2d_2_4_texOff(vec2(1, -1)); + result += mat4(-0.010974923, -0.007878488, -0.015520591, -0.066078186, -0.07691915, -0.084176004, -0.009103109, 0.03185102, -0.0144848265, -0.044766363, 0.10361305, 0.09840192, 0.02096667, 0.072684065, -0.051061876, 0.021439662) * conv2d_2_4_texOff(vec2(-1, 0)); + result += mat4(0.05284137, 0.016475389, 0.068663865, 0.08115189, 0.16691133, -0.09066687, -0.012394095, 0.015857033, -0.09017429, 0.062576026, -0.020789266, -0.0520461, -0.056230344, -0.109361984, 0.04249437, 0.017052783) * conv2d_2_4_texOff(vec2(0, 0)); + result += mat4(-0.024210362, -0.0065703867, -0.040717747, 0.037433386, -0.024385748, -0.0036765735, -0.061571177, -0.0022780464, -0.18261018, 0.09241959, -0.078964755, 0.009261177, 0.05212027, 0.06202276, 0.11746936, 0.051050015) * conv2d_2_4_texOff(vec2(1, 0)); + result += mat4(-0.01251557, 0.027184587, 0.05036122, -0.1000089, 0.015584482, -0.09961171, 0.012073849, 0.008231646, -0.14602979, 0.053591035, -0.06944473, -0.06288132, 0.041342404, 0.009767239, -0.06564838, 0.021195307) * conv2d_2_4_texOff(vec2(-1, 1)); + result += mat4(-0.05245409, 0.0209776, 0.032398406, -0.049946513, -0.030092131, -0.037957065, -0.03394185, -0.032239065, -0.14805831, -0.01918394, 0.09588077, -0.007946895, 0.029780399, 0.017832829, 0.07323535, 0.03969193) * conv2d_2_4_texOff(vec2(0, 1)); + result += mat4(-0.014741487, -0.032017328, -0.10656832, -0.0026423193, 0.09264616, 0.017114308, 0.05090972, 0.064666234, -0.282506, 0.058844704, -0.1327057, 0.07091124, 0.0026194658, 0.07859634, 0.00076602295, -0.11814861) * conv2d_2_4_texOff(vec2(1, 1)); + result += mat4(-0.046556894, -0.08281667, -0.05634788, -0.06808367, 0.01709079, -0.034677062, 0.12162032, 0.041204333, -0.05168435, 0.0042249803, -0.053210877, -0.030572927, -0.07658626, 0.013784009, -0.2707799, 0.04548639) * conv2d_2_5_texOff(vec2(-1, -1)); + result += mat4(0.026479287, -0.10049472, 0.015186118, -0.01999732, 0.076974615, -0.049945638, -0.14202558, 0.030205863, 0.030481651, 0.010659522, -0.054029297, -0.07601431, 0.012206371, 0.010064765, -0.21703325, 0.085651256) * conv2d_2_5_texOff(vec2(0, -1)); + result += mat4(-0.03555312, 0.04546238, 0.07206854, -0.030742306, -0.04373742, 0.07571863, -0.08311978, 0.09518465, -0.039265487, -0.021036347, 0.060136493, 0.041247062, 0.021759853, -0.09591445, 0.07990565, -0.058321323) * conv2d_2_5_texOff(vec2(1, -1)); + result += mat4(-0.061680514, 0.114830114, 0.018918889, 0.08874849, -0.016434686, -0.061448094, 0.10058316, 0.039125156, 0.04295758, 0.03042395, 0.01729835, 0.018572576, 0.057179157, 0.027403226, -0.18164486, 0.07334759) * conv2d_2_5_texOff(vec2(-1, 0)); + result += mat4(0.111717805, 0.042118203, 0.09333064, -0.0046623196, -0.079890296, -0.0487579, -0.2757372, 0.042880733, 0.028895026, 0.11475146, -0.025685437, -0.0007470209, -0.02142076, -0.03960211, -0.07835267, -0.010756627) * conv2d_2_5_texOff(vec2(0, 0)); + result += mat4(0.044826526, -0.032822713, 0.08019007, 0.02145821, 0.091736615, -0.1319012, 0.049043123, -0.08397175, -0.13970937, -0.06267836, 0.050826192, -0.022212155, 0.04976189, -0.035551876, 0.008948665, -0.061360907) * conv2d_2_5_texOff(vec2(1, 0)); + result += mat4(-0.05769575, 0.026525272, -0.010219101, -0.006115766, -0.018494952, -0.014934534, -0.063206695, 0.0196463, -0.034213446, 0.034672722, -0.017848123, 0.026952036, -0.03467854, 0.09149045, 0.058725566, 0.12185632) * conv2d_2_5_texOff(vec2(-1, 1)); + result += mat4(0.03782309, -0.07411752, 0.05573643, -0.020300163, -0.015106704, -0.066599265, -0.057195533, 0.02953021, -0.012815698, -0.031527832, 0.0339034, -0.01615142, 0.086941004, -0.03159188, -0.0017003593, 0.06749315) * conv2d_2_5_texOff(vec2(0, 1)); + result += mat4(-0.1752955, -0.0199468, -0.13840647, -0.045556806, 0.06091559, -0.0039247796, 0.08012011, -0.042903524, -0.039857306, -0.036994427, -0.04440077, -0.007385724, -0.0017408774, -0.035084344, -0.028053561, -0.07670797) * conv2d_2_5_texOff(vec2(1, 1)); + result += mat4(-0.07483355, -0.007243654, -0.060994845, -0.089232, -0.05188221, -0.0105481185, -0.15425228, -0.0059690485, 0.008212583, -0.0018751272, -0.045637075, -0.079164945, -0.19020642, -0.037828747, 0.024478463, -0.0040043495) * conv2d_2_6_texOff(vec2(-1, -1)); + result += mat4(0.021676257, 0.009986342, -0.016953986, 0.015556635, 0.020019429, -0.031057062, -0.09107665, 0.04205193, -0.074002825, -0.0025922663, -0.008091998, 0.0031079615, -0.0653097, -0.080673955, 0.08129577, 0.026175456) * conv2d_2_6_texOff(vec2(0, -1)); + result += mat4(-0.0944075, -0.062118873, -0.0334687, 0.034969423, -0.082649685, 0.06841236, 0.04568395, 0.038040575, -0.033794135, 0.15894778, 0.036773346, 0.017924074, -0.10249818, 0.16631655, 0.11280874, 0.14923227) * conv2d_2_6_texOff(vec2(1, -1)); + result += mat4(0.056345664, 0.0020313042, -0.16113833, -0.016114146, -0.10067524, 0.019166157, -0.0015776453, -0.09778376, 0.021652807, 0.05182534, 0.002318157, -0.091949254, -0.027834285, 0.09071933, 0.07388685, 0.1227561) * conv2d_2_6_texOff(vec2(-1, 0)); + result += mat4(0.082682624, -0.015465603, -0.00667202, -0.014446184, 0.043527056, -0.079608545, -0.03640065, -0.11981999, -0.01911159, 0.09126658, 0.051822476, 0.0009398118, -0.0010211744, 0.054650437, 0.019304587, 0.03468232) * conv2d_2_6_texOff(vec2(0, 0)); + result += mat4(0.043016285, 0.048682045, 0.04126939, 0.044463165, -0.015304141, -0.026303884, 0.048771102, -0.13009897, 0.013979769, 0.08684027, 0.020994574, 0.018884627, -0.077606715, 0.07690616, 0.0660881, 0.08118238) * conv2d_2_6_texOff(vec2(1, 0)); + result += mat4(-0.05906544, 0.1187921, 0.03432537, 0.061378717, -0.021062432, 0.03532236, 0.08770343, -0.013009092, 0.062185496, 0.024752779, -0.001438773, 0.0142205795, -0.008901933, -0.02617475, 0.059874963, 0.08781766) * conv2d_2_6_texOff(vec2(-1, 1)); + result += mat4(0.068480805, -0.07250875, 0.03186545, 0.07828275, -0.07203089, -0.032775603, -0.15222213, -0.11272224, -0.018315226, 0.03553894, 0.018937396, 0.0007509646, -0.011302495, -0.042354297, -0.010435266, -0.04434733) * conv2d_2_6_texOff(vec2(0, 1)); + result += mat4(-0.049039423, -0.036833633, 0.09292994, -0.027307821, 0.018024636, 0.03459209, -0.009422918, -0.0058641033, -0.007582944, 0.05095108, -0.037836995, 0.05233823, -0.13675198, -0.06881579, -0.060528852, 0.112404905) * conv2d_2_6_texOff(vec2(1, 1)); + result += mat4(0.12193916, -0.04553563, -0.05576789, -0.07414427, 0.013000115, 0.0070517855, -0.068785354, -0.0065676956, 0.03727183, -0.0050972733, -0.104057044, -0.026727235, 0.05827359, -0.09806976, 0.07189457, 0.027599633) * conv2d_2_7_texOff(vec2(-1, -1)); + result += mat4(0.09701775, 0.026237557, -0.11394842, 0.026580092, -0.06505886, 0.04505161, 0.088803194, 0.014750034, 0.088819936, -0.012877766, 0.09513793, 0.00033038182, 0.10534173, -0.031501725, 0.004437941, -0.09329253) * conv2d_2_7_texOff(vec2(0, -1)); + result += mat4(-0.10147423, -0.02970726, -0.05316123, -0.019707795, -0.09710665, -0.089805014, 0.025359, -0.03694656, -0.068765886, 0.13602133, 0.043600727, -0.05811662, -0.06060836, -0.0293223, -0.0712798, -0.0081870705) * conv2d_2_7_texOff(vec2(1, -1)); + result += mat4(0.065419905, -0.059703067, -0.0035745697, -0.009302754, 0.010457414, 0.09394642, 0.06568142, -0.021500912, -0.071534954, 0.025833325, -0.002483204, -0.07052453, 0.06817526, 0.057378713, -0.010048686, -0.071558245) * conv2d_2_7_texOff(vec2(-1, 0)); + result += mat4(0.097686514, 0.030942025, -0.03449037, -0.035528556, 0.0052185077, 0.041012425, 0.1019464, 0.088232055, -0.029422862, -0.0058931266, 0.121769376, -0.117122054, 0.07236717, -0.025981406, -0.117532805, 0.045560468) * conv2d_2_7_texOff(vec2(0, 0)); + result += mat4(-0.17881715, -0.098069526, 0.02105095, -0.02356276, -0.01234635, 0.13489187, -0.053738844, -0.03750417, -0.14413872, -0.05249437, 0.044711966, -0.030961413, -0.05624273, 0.027276374, 0.029368356, 0.045046408) * conv2d_2_7_texOff(vec2(1, 0)); + result += mat4(-0.012224694, -0.02086723, 0.090835005, 0.012672982, -0.024984442, 0.03280425, 0.054065123, -0.016199512, 0.041835286, -0.11200286, -0.010293755, -0.02264231, -0.017152052, 0.055216603, -0.08007815, 0.0957691) * conv2d_2_7_texOff(vec2(-1, 1)); + result += mat4(0.013541014, 0.019288378, 0.019121042, 0.084853314, 0.025010405, 0.0022340596, -0.091715306, 0.017532155, 0.006510062, 0.10284994, 0.04330279, -0.084811784, -0.066089846, -0.027881298, 0.08283547, 0.052171025) * conv2d_2_7_texOff(vec2(0, 1)); + result += mat4(-0.022040302, 0.0636172, -0.07385822, -0.005745445, -0.12149394, -0.07430491, -0.033473834, 0.025718667, 0.009256204, -0.02986516, -0.14274886, 0.04576361, 0.08325691, -0.004615722, 0.016273994, 0.030325472) * conv2d_2_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-3-ReLU) +//!HOOK LUMA +//!BIND conv2d_2_0 +//!BIND conv2d_2_1 +//!BIND conv2d_2_2 +//!BIND conv2d_2_3 +//!BIND conv2d_2_4 +//!BIND conv2d_2_5 +//!BIND conv2d_2_6 +//!BIND conv2d_2_7 +//!SAVE conv2d_3_4 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.004735955, -0.011154338, 0.00050490565, -0.008099378); + result += mat4(-0.015063483, 0.07670223, 0.01684671, -0.06119425, -0.09611889, 0.027036062, -0.032425106, 0.11784769, 0.017464705, 0.10454548, 0.04590622, 0.07588411, -0.10989313, 0.019989684, 0.106785685, 0.020414012) * conv2d_2_0_texOff(vec2(-1, -1)); + result += mat4(0.02321356, -0.02673635, -0.00414593, -0.11078863, 0.008538254, 0.036928393, -0.0886962, 0.15977104, 0.024822144, -0.090606615, -0.0411504, -0.024451608, -0.0472288, 0.008614179, 0.11563864, 0.026788743) * conv2d_2_0_texOff(vec2(0, -1)); + result += mat4(0.04553711, 0.07778015, -0.058635138, 0.060077738, -0.168339, -0.037088238, -0.03403537, 0.027929107, -0.12416154, -0.18549521, -0.018047435, 0.017525887, 0.13410054, -0.015204183, -0.04553936, -0.07551208) * conv2d_2_0_texOff(vec2(1, -1)); + result += mat4(-0.07606639, -0.036872454, 0.01764641, 0.08853326, 0.01862117, 0.108252056, 0.015324277, -0.0043183104, -0.032374747, 0.12055598, 0.03515931, 0.037427537, -0.09215995, 0.065545894, -0.02240777, -0.08328936) * conv2d_2_0_texOff(vec2(-1, 0)); + result += mat4(0.060890693, -0.087199375, 0.094016075, -0.095759735, 0.07033259, -0.11294448, -0.0011424568, -0.16863006, 0.09971104, -0.028399535, -0.059583094, 0.024857251, 0.09153301, -0.057876833, -0.073316835, -0.027404126) * conv2d_2_0_texOff(vec2(0, 0)); + result += mat4(-0.05600564, 0.04947255, 0.075047754, 0.051623043, -0.0765812, -0.24560504, 0.16239622, 0.07069269, -0.08922536, -0.052034173, 0.040838905, -0.06619146, -0.02585233, -0.049992476, -0.05536244, 0.08680326) * conv2d_2_0_texOff(vec2(1, 0)); + result += mat4(0.015363561, 0.050251372, 0.008811858, 0.10584626, 0.13243008, 0.14305958, 0.047309298, -0.061379623, 0.068279624, 0.03575837, 0.009580203, -0.09990796, 0.015620114, -0.018361269, 0.007936499, -0.022617964) * conv2d_2_0_texOff(vec2(-1, 1)); + result += mat4(-0.10947004, -0.033525225, 0.011086085, 0.019964335, 0.02216596, 0.12322872, -0.07247044, 0.19340494, -0.05991777, -0.06357445, -0.0014785611, -0.0012751089, 0.028833939, -0.042707704, -0.071295284, -0.10729627) * conv2d_2_0_texOff(vec2(0, 1)); + result += mat4(-0.02193807, 0.034767658, 0.023371154, -0.026161553, -0.00085793633, 0.07909539, 0.0894838, 0.08679381, -0.06955741, -0.0887129, 0.036617953, 0.036971297, 0.10324221, 0.053066395, -0.02491876, 0.10822163) * conv2d_2_0_texOff(vec2(1, 1)); + result += mat4(-0.030263452, 0.0005361006, -0.080568045, -0.058568124, 0.05157814, -0.09032775, 0.007788106, -0.10795898, -0.0049413126, -0.056324344, -0.019912016, -0.018144833, 0.079457216, 0.09910783, 0.012470503, -0.071430884) * conv2d_2_1_texOff(vec2(-1, -1)); + result += mat4(0.049396433, -0.10223651, 0.037205927, 0.10544326, -0.023765408, -0.07264304, -0.12989543, 0.10723356, 0.10040238, 0.025848826, -0.011372795, 0.04918811, 0.06544232, 0.1132606, 0.1264817, 0.05795943) * conv2d_2_1_texOff(vec2(0, -1)); + result += mat4(0.01334088, 0.0034315574, 0.007028578, -0.0014464344, -0.015642703, -0.16441911, -0.07369869, -0.026512904, 0.06275765, 0.01113901, 0.025633525, 0.0719524, 0.020007629, 0.059556507, -0.097847596, -0.024269553) * conv2d_2_1_texOff(vec2(1, -1)); + result += mat4(0.037835706, 0.07718426, 0.012495012, -0.07350939, 0.033679035, -0.021725936, -0.052601185, 0.08526635, 0.066473, -0.039759774, -0.08002632, -0.07997743, 0.11824938, -0.074507385, -0.03681701, -0.09755007) * conv2d_2_1_texOff(vec2(-1, 0)); + result += mat4(-0.055141326, 0.0074919956, 0.026570933, 0.07530658, -0.10418526, -0.2814364, 0.00022002973, 0.06607884, 0.0018605699, -0.011164871, -0.08434438, 0.018605543, 0.04273815, 0.1790712, 0.06424053, -0.027971296) * conv2d_2_1_texOff(vec2(0, 0)); + result += mat4(0.010445089, -0.041883513, -0.07051296, 0.06295059, -0.048888203, -0.2921149, -0.015932187, -0.0627166, -0.09900603, -0.037403047, -0.063741304, 0.052013792, -0.022986082, 0.052960657, -0.08005012, 0.011343181) * conv2d_2_1_texOff(vec2(1, 0)); + result += mat4(0.019453028, -0.014998984, -0.031842075, 0.027155476, 0.06459917, -0.17020185, 0.036979835, 0.1167967, -0.09425153, -0.020765433, -0.06249579, 0.06370447, -0.027015598, -0.0151165705, -0.023108847, 0.12545837) * conv2d_2_1_texOff(vec2(-1, 1)); + result += mat4(-0.059413996, -0.078269266, 0.02936003, -0.064708166, 0.027820757, 0.059683822, -0.1387525, -0.106353156, 0.078919, 0.093358345, -0.0020976416, 0.028167564, -0.02248795, -0.049959823, 0.034695227, -0.10863736) * conv2d_2_1_texOff(vec2(0, 1)); + result += mat4(0.07566479, 0.055308267, -0.08813703, -0.03289597, -0.09893957, 0.07163572, -0.086205706, -0.17112343, -0.040505257, 0.015727526, -0.10283423, -0.12432348, 0.110397175, -0.0077269105, 0.036370482, 0.027239084) * conv2d_2_1_texOff(vec2(1, 1)); + result += mat4(-0.044626057, 0.10841306, 0.08305002, 0.020105464, 0.014522675, 0.03021191, -0.10379491, -0.02786152, 0.020262627, 0.018890157, -0.09078023, 0.15829025, 0.009205817, 0.1581095, 0.17284802, -0.039782807) * conv2d_2_2_texOff(vec2(-1, -1)); + result += mat4(0.0502276, 0.021795431, 0.002451595, 0.045030206, -0.020100854, 0.025641674, 0.030649694, 0.21810453, 0.008550539, -0.18789558, 0.04487359, -0.106224574, 0.027043631, 0.0367444, -0.049134918, -0.0025564297) * conv2d_2_2_texOff(vec2(0, -1)); + result += mat4(0.036417242, -0.06951425, 0.008830553, -0.06735311, -0.07463138, 0.003413202, -0.13372855, -0.099537455, 0.09679968, 0.023558361, 0.055189315, -0.24139465, -0.043912638, -0.17511179, 0.07693848, 0.0970188) * conv2d_2_2_texOff(vec2(1, -1)); + result += mat4(-0.020517325, -0.0040909313, 0.05793624, -0.16408017, -0.00557655, -0.0051472764, -0.10158333, -0.039138425, 0.005312237, 0.07954688, 0.08198155, 0.10167433, 0.07270455, 0.18783389, -0.014246334, -0.08390186) * conv2d_2_2_texOff(vec2(-1, 0)); + result += mat4(-0.05983925, 0.026325604, 0.018141413, 0.1564759, 0.18160091, -0.051375177, -0.017691165, -0.029988118, -0.09824875, -0.13475586, -0.0074675246, -0.15796721, -0.062973745, -0.0976916, 0.07465285, -0.15239434) * conv2d_2_2_texOff(vec2(0, 0)); + result += mat4(-0.014030234, -0.10303328, -0.06380614, -0.015099564, -0.05724248, 0.2666387, -0.03398221, -0.1433912, -0.06970823, -0.2016702, -0.0515048, -0.09067586, -0.04794586, -0.114475265, 0.010336639, -0.006356276) * conv2d_2_2_texOff(vec2(1, 0)); + result += mat4(0.029262418, 0.06569483, -0.045076955, -0.1089898, 0.08935271, -0.12472187, 0.05317387, -0.047480512, -0.078948185, -0.0012255943, 0.022777082, 0.014297449, -0.061717898, 0.027948165, 0.018843777, 0.031519562) * conv2d_2_2_texOff(vec2(-1, 1)); + result += mat4(-0.048277713, 0.03990761, -0.0050848457, 0.08172836, 0.045054026, -0.03594903, 0.034082044, 0.057197753, 0.08153872, 0.0553497, 0.02736703, 0.013399202, 0.032955576, 0.0130273225, 0.05390365, -0.0340063) * conv2d_2_2_texOff(vec2(0, 1)); + result += mat4(0.046077274, -0.19646434, 0.004863062, 0.07467918, -0.00956752, 0.10955548, -0.0017258303, 0.0070082904, 0.06417592, 0.09296826, -0.0112590585, -0.10896619, -0.015760524, -0.14936794, -0.009051693, -0.0006272792) * conv2d_2_2_texOff(vec2(1, 1)); + result += mat4(0.020896472, 0.11320545, 0.001124608, -0.056407034, -0.050261434, 0.1690631, -0.09687377, 0.030149976, 0.08829461, 0.21508066, -0.012716894, -0.011991619, -0.11170859, 0.11224431, 0.06793867, -0.0032008039) * conv2d_2_3_texOff(vec2(-1, -1)); + result += mat4(-0.057047207, 0.043738004, -0.015311935, -0.026227348, 0.011305239, 0.0069190534, -0.07904699, 0.12032293, -0.047430176, -0.026218101, 0.104247615, 0.042496756, 0.043209646, 0.12655537, 0.005471818, -0.023191845) * conv2d_2_3_texOff(vec2(0, -1)); + result += mat4(-0.0055392976, -0.11158563, 0.14455085, 0.12809001, 0.023795452, -0.14742707, -0.012721887, 0.024853485, -0.025120981, -0.3866285, 0.1043825, -0.020051423, 0.019107943, 0.16134024, 0.036961883, -0.05381674) * conv2d_2_3_texOff(vec2(1, -1)); + result += mat4(0.051150613, -0.19773835, 0.029640399, 0.43385142, -0.1150951, -0.23231862, -0.08687607, -0.118368715, -0.032466136, 0.054480467, 0.098070905, -0.2723822, 0.0008046459, -0.015044088, 0.07531475, -0.28840706) * conv2d_2_3_texOff(vec2(-1, 0)); + result += mat4(-0.34304637, -0.33477625, 0.04300784, 0.01990439, 0.02852147, 0.059356894, -0.040918287, 0.02586044, 0.03242986, 0.0066069663, 0.04265384, 0.055829633, -0.012299194, 0.14929631, 0.0083323885, -0.021617578) * conv2d_2_3_texOff(vec2(0, 0)); + result += mat4(-0.22631077, -0.08278223, 0.14459121, -0.08762887, 0.030586127, 0.13664284, 0.052248508, 0.07783478, 0.05011825, -0.48137036, -0.09635861, 0.024184162, 0.07389443, 0.1565075, -0.035496753, 0.057884023) * conv2d_2_3_texOff(vec2(1, 0)); + result += mat4(-0.54414004, -0.18155654, 0.3048669, -0.27371472, -0.16746517, 0.052716263, -0.121110246, -0.11073803, -0.039138988, 0.056080442, -0.004188109, 0.0110723125, -0.059925742, 0.25680318, 0.056285977, 0.103013225) * conv2d_2_3_texOff(vec2(-1, 1)); + result += mat4(-0.23950188, -0.3977739, 0.57169014, -0.14458138, -0.056247722, 0.10782982, -0.04864947, -0.08174219, -0.023266045, 0.005675665, 0.057111993, 0.026830496, -0.025445044, 0.06946184, 0.013491426, -0.09727738) * conv2d_2_3_texOff(vec2(0, 1)); + result += mat4(-0.32490414, -0.22977674, -0.105144024, 0.15895532, 0.024886861, -0.2132562, -0.070100695, 0.02739811, -0.020368155, -0.25673497, 0.055790942, -0.026785845, 0.05664801, 0.29083517, -0.027099108, -0.0383722) * conv2d_2_3_texOff(vec2(1, 1)); + result += mat4(-0.087586455, -0.09212045, 0.04954156, 0.013363578, -0.04871678, 0.034068085, 0.07765974, 0.059765078, 0.06407479, 0.028653027, -0.015470749, -0.06786355, 0.07014502, -0.028997868, 0.050877824, 0.05511069) * conv2d_2_4_texOff(vec2(-1, -1)); + result += mat4(-0.019349335, 0.015258747, -0.049923, 0.05603056, -0.030476602, 0.059233647, -0.08050101, -0.0010983229, 0.030475996, 0.075902514, 0.00782849, -0.0668396, 0.0045790505, -0.009687267, 0.026884336, -0.042174757) * conv2d_2_4_texOff(vec2(0, -1)); + result += mat4(-0.00051313476, 0.03267351, -0.029418895, -0.03250419, -0.0248214, -0.095108084, -0.00025430255, -0.07404958, 0.080239594, 0.13910554, -0.006736224, 0.049584795, -0.0011373629, -0.049073998, -0.022927653, -0.07295206) * conv2d_2_4_texOff(vec2(1, -1)); + result += mat4(0.0039193854, 0.12593965, 0.012992398, -0.11977936, -0.054284535, -0.008254932, 0.043845713, 0.07534619, -0.027889743, 0.0057226424, 0.04240325, -0.06705133, 0.07617884, -0.0041327407, -0.03178493, 0.005971945) * conv2d_2_4_texOff(vec2(-1, 0)); + result += mat4(0.023388581, 0.036700383, -0.0048774397, 0.0867597, 0.058875315, -0.11094137, -0.014637974, 0.0918556, -0.016443165, -0.122703195, 0.0535901, -0.11854644, 0.028812679, 0.103230424, 0.09196645, 0.04649116) * conv2d_2_4_texOff(vec2(0, 0)); + result += mat4(0.058415327, -0.0492348, 0.028566418, -0.042918902, 0.036632646, -0.012206388, -0.09212673, -0.032336198, 0.026986443, 0.0386428, 0.08204011, -0.00012513103, -0.06602606, 0.17851155, -0.0652653, 0.052647516) * conv2d_2_4_texOff(vec2(1, 0)); + result += mat4(-0.000597286, -0.055876274, 0.03537347, 0.04849983, 0.05590338, -0.02745153, -0.017409094, 0.023931487, -0.074991, 0.001437211, -0.021529526, 0.04771364, -0.001690222, 0.07828316, -0.025744053, -0.14176777) * conv2d_2_4_texOff(vec2(-1, 1)); + result += mat4(-0.04835507, -0.15864792, -0.072972864, -0.07622847, 0.069862954, 0.04224408, 0.004434023, -0.044949643, -0.06809051, -0.016191661, 0.066770375, 0.0026798074, 0.080338545, 0.00010194231, 0.026666297, -0.02961198) * conv2d_2_4_texOff(vec2(0, 1)); + result += mat4(0.024921302, 0.084872834, -0.07425524, 0.017264077, 0.14707325, -0.0975542, -0.034451336, -0.041742437, -0.22483371, 0.16553187, 0.13737528, 0.047064394, -0.0056819217, -0.16876066, -0.013260631, -0.00018139323) * conv2d_2_4_texOff(vec2(1, 1)); + result += mat4(-0.08245482, -0.15062691, -0.031405356, -0.044244416, 0.124649666, 0.039452035, 0.050509945, 0.008117046, -0.13125412, 0.11401934, -0.021634994, -0.08312318, -0.033093195, 0.057580177, -0.048852388, -0.023589993) * conv2d_2_5_texOff(vec2(-1, -1)); + result += mat4(-0.041651454, 0.03180477, 0.046396308, 0.029842524, 0.008660811, 0.12482323, 0.0836882, 0.008276516, 0.008292012, 0.072104596, 0.031204656, 0.007151598, -0.09527128, 0.02321866, -0.078018785, 0.012518177) * conv2d_2_5_texOff(vec2(0, -1)); + result += mat4(-0.03271469, 0.09788881, -0.1076272, 0.0337693, 0.06877698, -0.14705335, 0.027128033, 0.021017918, -0.03542469, -0.015168685, -0.0774517, 0.03110525, 0.043630283, -0.014300013, 0.008984056, 0.055108342) * conv2d_2_5_texOff(vec2(1, -1)); + result += mat4(-0.04206248, -0.06677257, 0.009721873, -0.13384317, 0.0057018194, 0.12084662, 0.055175636, 0.004443207, -0.07902124, -0.085541934, -0.025257515, 0.01114654, 0.030447353, -0.14010184, 0.034927405, -0.086872034) * conv2d_2_5_texOff(vec2(-1, 0)); + result += mat4(0.043609615, 0.12699306, 0.10880322, 0.09177279, -0.030582314, -0.014937853, -0.0058863154, -0.00020161114, -0.116040245, -0.12360829, 0.03134614, -0.043157447, 0.028543152, 0.1083842, -0.0048643546, -0.0114639485) * conv2d_2_5_texOff(vec2(0, 0)); + result += mat4(0.025722554, 0.09559571, -0.031839512, 0.008622582, -0.014690661, 0.079801604, 0.06835276, -0.02800534, 0.06504849, 0.039506786, -0.031397793, 0.08614376, 0.025308384, 0.113900565, 0.025341993, 0.018600369) * conv2d_2_5_texOff(vec2(1, 0)); + result += mat4(0.0051322496, -0.068629324, -0.0025876532, -0.06554289, 0.052944176, -0.0044878377, -0.013153771, -0.064186335, -0.005671102, 0.060347922, -0.1363615, -0.040712707, 0.018905962, -0.06732461, -0.019903129, -0.12518822) * conv2d_2_5_texOff(vec2(-1, 1)); + result += mat4(0.010830499, 0.011836183, 0.087253995, 0.054375276, -0.09590798, -0.06296603, 0.059564825, 0.016791051, 0.0059145424, 0.104429014, -0.02891308, -0.11841333, 0.014105828, -0.0059882216, 0.12213775, 0.038086493) * conv2d_2_5_texOff(vec2(0, 1)); + result += mat4(-0.002816375, -0.26531777, 0.056919463, 0.017331416, 0.01507084, -0.14502144, 0.114110604, 0.037730366, 0.021625787, 0.09293539, -0.12940904, 0.058913935, 0.03772994, 0.03914597, -0.09284706, 0.06466444) * conv2d_2_5_texOff(vec2(1, 1)); + result += mat4(-0.026590386, -0.08522513, -0.074660696, -0.0036900388, -0.06790109, -0.0735118, -0.009513342, 0.051435594, -0.03630675, 0.00080939505, -0.021313054, 0.061078973, -0.038468257, -0.047212824, -0.027851712, 0.0065175807) * conv2d_2_6_texOff(vec2(-1, -1)); + result += mat4(-0.05656805, 0.08203627, -0.058001794, 0.09393716, 0.030302916, -0.031128677, -0.15442665, -0.0736598, -0.026734265, -0.10428282, 0.031861372, 0.0119149955, 0.11251739, -0.017858919, 0.013742262, 0.052598506) * conv2d_2_6_texOff(vec2(0, -1)); + result += mat4(0.09244924, 0.10033164, 0.09077303, -0.047417644, 0.019606205, -0.024444072, 0.015651243, 0.020481972, 6.157843e-06, -0.038752656, -0.031847596, -0.04209745, -0.110352986, 0.14359398, 0.118057445, 0.0040780427) * conv2d_2_6_texOff(vec2(1, -1)); + result += mat4(-0.062835574, 0.056254417, 0.06475736, -0.0969588, -0.0652468, -0.20191394, -0.13651143, -0.0761128, -0.05620092, 0.05715848, -0.005989714, -0.06643722, -0.02846998, -0.20334885, -0.03416355, 0.023229491) * conv2d_2_6_texOff(vec2(-1, 0)); + result += mat4(0.01971213, -0.10195105, 0.012422608, -0.008319593, -0.0048562353, -0.16926892, -0.015901532, 0.028719665, -0.06454108, 0.016990619, 0.057776228, 0.11297205, -0.014921143, -0.23819336, -0.09400553, -0.11355093) * conv2d_2_6_texOff(vec2(0, 0)); + result += mat4(-0.034569073, -0.069308914, 0.009807801, 0.054807883, 0.019075267, -0.0063178623, -0.101287834, 0.030941192, -0.096113674, -0.36371267, -0.1107633, -0.010352561, 0.03892786, -0.2926382, 0.12538378, 0.02102076) * conv2d_2_6_texOff(vec2(1, 0)); + result += mat4(-0.02034876, -0.0458069, 0.0005795509, -0.030917404, -0.063640475, 0.0002717584, -0.03700314, -0.05163001, -0.051994205, -0.02712251, -0.043111846, 0.0127102835, 0.0061135143, -0.07174879, -0.031637818, 0.061048105) * conv2d_2_6_texOff(vec2(-1, 1)); + result += mat4(0.08187789, 0.089889936, -0.08577894, 0.05576432, -0.032083, -0.18602961, -0.03344683, -0.09566295, -0.0005560678, 0.06934706, 0.035132986, -0.03845225, 0.095963016, -0.16203149, -0.039352767, -0.02568342) * conv2d_2_6_texOff(vec2(0, 1)); + result += mat4(0.025420168, -0.015849527, -0.04370373, 0.014300688, 0.07055051, -0.07173607, -0.030016655, 0.06631208, 0.035520647, -0.06769677, -0.063831, 0.0163351, 0.06808609, 0.10922171, 0.2880431, -0.013449426) * conv2d_2_6_texOff(vec2(1, 1)); + result += mat4(-0.06945285, -0.0445309, -0.00010099563, -0.13370097, 0.018477818, 0.07351692, 0.04665236, 0.044313367, 0.10504947, -0.045164954, -0.04887666, 0.100453936, -0.00021914572, 0.010932825, -0.040392384, -0.030983973) * conv2d_2_7_texOff(vec2(-1, -1)); + result += mat4(-0.017678723, 0.099341735, -0.15917104, 0.117130555, -0.045357857, -0.03863164, 0.02966814, -0.0085029425, -0.006919527, -0.0068871095, 0.043999743, -0.06522521, -0.07881302, 0.066340506, -0.073380984, 0.0920036) * conv2d_2_7_texOff(vec2(0, -1)); + result += mat4(0.075727314, -0.16187425, -0.12722991, 0.11383079, 0.026065184, 0.051327985, 0.052497186, 0.008737786, -0.113209344, -0.1290982, -0.050255, -0.009904176, 0.10882039, 0.08016468, -0.10517997, 0.077066936) * conv2d_2_7_texOff(vec2(1, -1)); + result += mat4(-0.017081818, -0.005477723, -0.021428928, 0.033803225, 0.0031606671, 0.09513672, 0.04874967, -0.0033948787, -0.026035843, 0.018785642, -0.0064884, 0.070093185, -0.0019563385, 0.07318126, -0.03290593, 0.0037585297) * conv2d_2_7_texOff(vec2(-1, 0)); + result += mat4(-0.04805944, -0.008027864, -0.16179848, -0.064286694, -0.06725689, 0.15208247, 0.013324412, -0.068980314, 0.10170304, -0.102749035, 0.006374425, -0.025578938, 0.07889637, 0.04789324, -0.012576449, -0.059824638) * conv2d_2_7_texOff(vec2(0, 0)); + result += mat4(0.028867366, -0.15914789, -0.10484364, 0.03155037, -0.07186452, -0.11069487, 0.057437357, -0.06389273, -0.13453409, 0.19078203, 0.008993035, 0.051782776, 0.009674137, -0.038414992, -0.074951224, 0.05837314) * conv2d_2_7_texOff(vec2(1, 0)); + result += mat4(0.0044407295, -0.08260227, 0.021554744, 0.036690094, -0.08016129, 0.03933205, 0.053518888, -0.029578457, 0.07746776, 0.11039787, 0.0458523, 0.021110237, -0.04664053, -0.040015567, -0.03272275, -0.025357846) * conv2d_2_7_texOff(vec2(-1, 1)); + result += mat4(-0.11893543, -0.02469871, 0.020011425, -0.032255877, -0.046219725, -0.011934205, -0.048680093, -0.049135126, -0.009581826, -0.07269019, -0.026464729, -0.034968637, 0.022838075, 0.04628182, -0.02930733, 0.046895586) * conv2d_2_7_texOff(vec2(0, 1)); + result += mat4(0.051664896, -0.256316, -0.042295165, -0.013032644, 0.014426622, -0.18166812, 0.008655725, 0.07370474, -0.15512861, 0.07226539, -0.040640846, -0.008279804, -0.060272556, 0.08703779, -0.037998423, 0.007323034) * conv2d_2_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-3-ReLU) +//!HOOK LUMA +//!BIND conv2d_2_0 +//!BIND conv2d_2_1 +//!BIND conv2d_2_2 +//!BIND conv2d_2_3 +//!BIND conv2d_2_4 +//!BIND conv2d_2_5 +//!BIND conv2d_2_6 +//!BIND conv2d_2_7 +//!SAVE conv2d_3_5 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.010292046, 0.017811157, 0.0015870796, 0.0039759693); + result += mat4(0.019898266, -0.03102323, 0.07265718, 0.049024213, -0.039219655, -0.007905203, 0.058321908, -0.062380556, -0.088430956, 0.008231799, -0.08622275, 0.053757045, 0.0304779, 0.0274935, 0.0009828041, 0.065651335) * conv2d_2_0_texOff(vec2(-1, -1)); + result += mat4(0.048961546, -0.10284589, -0.042098507, 0.06947375, -0.115686245, 0.024872493, -0.10764795, 0.02461632, 0.097908005, -0.0064840363, -0.07596243, -0.030596124, -0.01642703, -0.058535527, 0.015209974, 0.08596268) * conv2d_2_0_texOff(vec2(0, -1)); + result += mat4(-0.10480637, 0.053117026, -0.1073671, 0.038229477, 0.01945628, 0.0023012436, 0.009755064, -0.12681668, -0.007056047, 0.080952086, 0.06616974, -0.0008809339, -0.034013424, 0.020581769, -0.1139986, -0.041461967) * conv2d_2_0_texOff(vec2(1, -1)); + result += mat4(0.077559404, -0.030616604, 0.11146209, 0.028385766, -0.07597514, 0.012847523, -0.008744325, 0.06404043, -0.16936131, -0.026680537, 0.009117358, -0.0041741203, 0.057449076, -0.06580516, -0.005474894, 0.06429752) * conv2d_2_0_texOff(vec2(-1, 0)); + result += mat4(0.08747548, -0.0141959945, 0.047885794, -0.029450195, -0.025448551, -0.017606499, 0.010157665, 0.22638029, -0.01489979, 0.06329646, 0.03215423, 0.050167605, -0.06238946, 0.013820056, 0.09135299, -0.072570674) * conv2d_2_0_texOff(vec2(0, 0)); + result += mat4(-0.14702259, 0.04718864, 0.036916178, -0.10988399, -0.04078568, 0.010761461, -0.19532706, -0.035943087, 0.13237567, -0.0073409863, 0.07728901, -0.065670155, -0.01998341, -0.033257816, -0.037865683, -0.10209929) * conv2d_2_0_texOff(vec2(1, 0)); + result += mat4(0.008866902, -0.062336802, -0.014137499, 0.038570046, -0.03972095, -0.027769076, 0.017015554, 0.017669616, 0.01996671, -7.577808e-05, 0.078459255, -0.013437907, 0.04575979, -0.026343293, -0.0959558, 0.015536176) * conv2d_2_0_texOff(vec2(-1, 1)); + result += mat4(0.082388304, 0.041299697, -0.014870574, -0.047188073, -0.11531502, -0.029519118, 0.13669339, -0.0078857085, -0.07088982, -0.05065388, -0.011715734, 0.021657499, 0.028356194, -0.09864892, -0.021652753, -0.012401035) * conv2d_2_0_texOff(vec2(0, 1)); + result += mat4(-0.017287599, -0.003641197, 0.044179477, -0.065630496, 0.072573565, 0.09064762, -0.03321381, 0.008596993, 0.07018502, 0.023963723, -0.052777644, 0.09159396, -0.0013718654, 0.02280182, -0.09079759, -0.011082365) * conv2d_2_0_texOff(vec2(1, 1)); + result += mat4(0.0042779935, -0.1213387, 0.13900805, 0.0653358, 0.044736207, -0.073437355, -0.083238244, 0.005519809, 0.075506166, -0.019063545, -0.014192979, -0.13275342, 0.019297898, 0.055898435, 0.07407258, 0.102626964) * conv2d_2_1_texOff(vec2(-1, -1)); + result += mat4(-0.08075919, -0.056649897, -0.0065887165, -0.012304268, -0.042337485, -0.025335705, -0.08074793, -0.051833868, -0.020377891, 0.063150406, -0.057909813, -0.24413958, -0.005246811, -0.010505003, -0.019446488, 0.020563185) * conv2d_2_1_texOff(vec2(0, -1)); + result += mat4(-0.0513973, -0.037913665, -0.027011856, 0.010880086, 0.026303468, 0.003622293, -0.07231485, -0.037178926, 0.0004798497, -0.07037806, 0.021741677, -0.17073485, 0.028371612, 0.033486, 0.024112921, 0.013460672) * conv2d_2_1_texOff(vec2(1, -1)); + result += mat4(-0.002505241, -0.1318156, 0.06075139, -0.017321615, -0.13431928, 0.04740631, 0.055394184, -0.06645817, 0.045988098, 0.014917374, -0.035739377, 0.061110016, -0.008503344, 0.023125151, 0.1095111, 0.048940334) * conv2d_2_1_texOff(vec2(-1, 0)); + result += mat4(0.11341975, 0.0420957, -0.03920861, -0.008753801, -0.03344046, -0.06076109, 0.026289845, 0.08942012, -0.075039834, -0.0010372045, 0.09943631, 0.065857105, -0.0025754315, -0.12825638, -0.12481507, 0.12516071) * conv2d_2_1_texOff(vec2(0, 0)); + result += mat4(-0.045262028, 0.03488839, -0.026222078, -0.048237834, 0.028981289, 0.1057249, 0.052424952, -0.05486685, 0.030450527, 0.1176183, 0.050020833, 0.11518075, -0.088798426, -0.058807086, 0.053199075, 0.06337715) * conv2d_2_1_texOff(vec2(1, 0)); + result += mat4(0.058434404, -0.05216907, -0.090296656, 0.009646472, 0.0054599014, -0.01800373, 0.1819028, -0.052061837, 0.0771914, -0.04287359, 0.06991865, 0.07044203, -0.065976106, 0.043955166, 0.02281677, 0.05198581) * conv2d_2_1_texOff(vec2(-1, 1)); + result += mat4(-0.023298545, -0.033074927, -0.05650547, 0.07228898, 0.00064778473, -0.062095925, -0.10694023, -0.058337167, -0.05142881, -0.05483003, -0.0940436, 0.11445554, -0.0012370702, 0.0700007, 0.0068462114, 0.0528641) * conv2d_2_1_texOff(vec2(0, 1)); + result += mat4(-0.012832624, -0.048799925, -0.07882709, -1.9790159e-05, 0.014034885, 0.07641611, 0.11621244, -0.011937855, 0.062663116, 0.0006656655, -0.1321811, -0.00011244179, 0.06936362, -0.11945097, -0.035863854, 0.072146535) * conv2d_2_1_texOff(vec2(1, 1)); + result += mat4(0.042039525, 0.061217286, 0.0023070376, -0.06355448, 0.07593987, 0.042586822, -0.030279031, 0.07227913, -0.0005004753, 0.002201379, 0.081546515, -0.02234479, -0.08077246, 0.01744644, 0.06937229, -0.0023126216) * conv2d_2_2_texOff(vec2(-1, -1)); + result += mat4(-0.060474634, 0.03563597, -0.048449554, 0.11766885, -0.06035128, 0.059181675, -0.103754975, 0.038546793, 0.07018518, 0.0480535, 0.028971244, -0.012167781, -0.029271174, -0.010183264, 0.08994146, -0.035359614) * conv2d_2_2_texOff(vec2(0, -1)); + result += mat4(0.04502664, -0.11819687, 0.0017872906, -0.02746493, -0.019755699, 0.065451704, -0.041309807, -0.02750317, 0.1849534, 0.027144413, 0.08684711, 0.114544146, -0.052903686, -0.019412983, 0.009354269, 0.020405274) * conv2d_2_2_texOff(vec2(1, -1)); + result += mat4(-0.05717253, -0.038361043, 0.0138104735, 0.0023000885, 0.04633789, 0.025579933, -0.11485757, -0.009179847, -0.006942586, -0.06661638, 0.008716604, -0.030035334, 0.054594904, -0.07129582, 0.010413648, -0.10838735) * conv2d_2_2_texOff(vec2(-1, 0)); + result += mat4(-0.04801093, -0.041181874, 0.08267906, -0.06002975, 0.10201126, 0.04084427, -0.028060852, 0.09054284, 0.047106, 0.0011673092, -0.051753543, 0.036465257, 0.08605359, 0.077430785, 0.07017208, 0.018571835) * conv2d_2_2_texOff(vec2(0, 0)); + result += mat4(0.021536091, 0.03699245, -0.018637797, 0.08049834, -0.034678947, 0.15327473, -0.08128214, 0.079457074, 0.1293499, 0.027893748, 0.03402142, -0.06271972, 0.022226302, 0.030717926, 0.028144049, -0.13021562) * conv2d_2_2_texOff(vec2(1, 0)); + result += mat4(0.083727114, -0.051307227, -0.032771662, -0.032526776, -0.030331977, -0.011982045, -0.03112242, 0.027140804, 0.123297356, 0.006223701, -0.039508402, 0.106729776, 0.011343601, 0.063883916, -0.0077201463, -0.036829796) * conv2d_2_2_texOff(vec2(-1, 1)); + result += mat4(0.027799038, 0.09573617, 0.084772594, -0.02806329, -0.023049394, 0.03158497, 0.054682083, -0.026241254, -0.011525106, 0.024196615, 0.014161, 0.03531537, 0.046109088, -0.059963033, 0.055303846, 0.080541424) * conv2d_2_2_texOff(vec2(0, 1)); + result += mat4(-0.0034514545, -0.016191673, -0.022026343, -0.0016931124, 0.070976935, -0.004262911, -0.00096220867, -0.01289568, -0.11138385, -0.09721889, 0.022620434, -0.033679914, 0.044646394, 0.015293881, -0.019056309, -0.007531635) * conv2d_2_2_texOff(vec2(1, 1)); + result += mat4(-0.05022479, -0.0644463, 0.112185515, -0.016564539, 0.057196613, -0.0041910717, 0.00859705, 0.0045335293, -0.058300126, -0.03151445, 0.021250987, -0.0683099, 0.10680195, 0.13217027, -0.051593877, 0.09301706) * conv2d_2_3_texOff(vec2(-1, -1)); + result += mat4(0.09899685, 0.16492116, -0.017884683, 0.06089034, -0.07136719, -0.030590171, 0.032426786, 0.12257921, -0.0065773837, 0.06275063, 0.15830463, -0.035916563, 0.031498805, 0.08829284, 0.020857727, -0.117173046) * conv2d_2_3_texOff(vec2(0, -1)); + result += mat4(-0.09733915, 0.10495844, 0.08310153, 0.06597559, -0.10357524, 0.02096253, -0.04093932, 0.11083315, -0.055126164, 0.011316645, 0.059574008, -0.087016255, -0.07485649, 0.21497902, -0.08492185, 0.058321346) * conv2d_2_3_texOff(vec2(1, -1)); + result += mat4(-0.02137871, -0.076491944, 0.11702748, -0.04873554, 0.10934954, -0.033340964, -0.07426723, 0.007504287, -0.13460815, 0.04475907, 0.18636806, -0.056291424, 0.24983634, 0.09065705, -0.042634074, 0.031589188) * conv2d_2_3_texOff(vec2(-1, 0)); + result += mat4(-0.47457373, -0.13196267, -0.019636571, 0.22722289, -0.04592603, 0.062394865, -0.038237814, 0.047248926, -0.027640892, -0.021636382, -0.094269976, 0.04466166, -0.067229055, 0.12356696, 0.014440733, 0.17287399) * conv2d_2_3_texOff(vec2(0, 0)); + result += mat4(0.030627074, -0.11357722, -0.031575378, 0.023155302, -0.19660853, -0.09899298, -0.034384623, -0.041821368, 0.047804598, 0.026575217, -0.09318437, -0.008268077, -0.089149214, 0.21467431, -0.05849381, 0.05996214) * conv2d_2_3_texOff(vec2(1, 0)); + result += mat4(-0.30367056, 0.32124925, 0.36718544, -0.15644331, 0.08721045, -0.051870927, -0.1128741, -0.19010973, -0.1073772, -0.026730148, -3.96388e-05, -0.047910277, -0.017116211, 0.17794198, 0.036911633, 0.21090814) * conv2d_2_3_texOff(vec2(-1, 1)); + result += mat4(0.11278304, 0.1965289, 0.6046851, -0.34184146, -0.0064564953, 0.04572099, 0.015147546, -0.040653735, -0.08214308, -0.08428354, 0.00042597204, -0.012188032, 0.032635838, 0.16165397, 0.07757847, 0.09223495) * conv2d_2_3_texOff(vec2(0, 1)); + result += mat4(-0.16915497, 0.0153973, 0.12676285, 0.06972969, 0.014682666, -0.03466612, -0.0028453856, 0.029096572, -0.0043599266, 0.012213018, -0.076532155, 0.04508606, -0.12350809, 0.14752205, -0.024942026, 0.18994325) * conv2d_2_3_texOff(vec2(1, 1)); + result += mat4(0.032883488, -0.052701104, -0.06523296, -0.09578863, -0.070546485, 0.0007160986, 0.023965025, 0.027140899, -0.04201505, 0.006525939, -0.09661379, -0.05856582, 0.038180403, -0.044355646, -0.046104413, -0.020868266) * conv2d_2_4_texOff(vec2(-1, -1)); + result += mat4(-0.0796293, -0.008570138, 0.04403255, 0.10455205, -0.12476015, 0.02706622, -0.04345614, -0.14163625, -0.00070032396, -0.01060892, 0.008377632, -0.04463019, 0.05249191, 0.00030885308, -0.10371343, -0.04111633) * conv2d_2_4_texOff(vec2(0, -1)); + result += mat4(0.035385042, 0.0074648275, -0.0042256755, -0.032188427, 0.10550991, -0.008609807, -0.09484075, 0.00051719986, 0.08417588, -0.060725994, -0.18207002, -0.10115796, 0.081672706, 0.021356784, 0.005790011, 0.020541478) * conv2d_2_4_texOff(vec2(1, -1)); + result += mat4(0.12571718, 0.026249358, -0.0005818357, 0.038163964, -0.1497834, -0.026215944, 0.15504782, -0.09632822, -0.11961636, 0.060720325, -0.029770376, -0.036256462, 0.1368126, -0.045905266, 0.074709594, 0.021943737) * conv2d_2_4_texOff(vec2(-1, 0)); + result += mat4(-0.030187681, -0.055592414, -0.0008680993, 0.026324185, 0.1047444, 0.08543081, -0.0051651597, -0.011929584, -0.029364629, -0.009013848, 0.002724289, 0.02825831, -0.061591636, -0.0040002954, -0.05028465, 0.10412465) * conv2d_2_4_texOff(vec2(0, 0)); + result += mat4(-0.07392467, 0.08178864, -0.070465595, 0.0017576977, 0.017052865, 0.047865078, -0.08854556, -0.047512915, -0.005198814, -0.009488779, -0.014298924, -0.01903477, 0.0425555, 0.0949892, -0.0064983545, -0.0149973575) * conv2d_2_4_texOff(vec2(1, 0)); + result += mat4(0.07844767, 0.05093207, 0.014128391, -0.028700806, -0.051558983, -0.031980146, -0.02388972, -0.0300492, -0.16985591, 0.11626446, 0.014311478, -0.061581533, 0.051919725, 0.021960206, -0.02508247, -0.052968744) * conv2d_2_4_texOff(vec2(-1, 1)); + result += mat4(-0.047611352, 0.021378057, 0.12452001, 0.11122276, 0.124606036, -0.053068332, -0.07298715, 0.14800288, -0.13077472, 0.050573636, 0.13899545, 0.14172249, -0.00914518, -0.047857977, -0.015108806, 0.015885195) * conv2d_2_4_texOff(vec2(0, 1)); + result += mat4(-0.025437076, -0.06482224, -0.085284956, -0.056458317, -0.06278887, -0.027232738, -0.0086713005, -0.0031674847, -0.05697876, -0.029965132, 0.11181712, -0.10408781, 0.06897122, -0.067343526, 0.13986716, 0.041485526) * conv2d_2_4_texOff(vec2(1, 1)); + result += mat4(0.05582442, 0.022608185, -0.14463839, 0.028609566, -0.1316193, 0.01402416, 0.04438618, -0.10716094, 0.07536865, -0.05689485, -0.010988654, 0.0802037, 0.103024326, -0.17312713, -0.044616953, -0.02591282) * conv2d_2_5_texOff(vec2(-1, -1)); + result += mat4(-0.007841725, -0.029510487, -0.07404941, 0.079887256, 0.095747724, -0.051596474, -0.063693464, 0.018858278, 0.030332105, -0.0641837, 0.07483415, -0.006859072, 0.028423559, -0.21472485, 0.08214206, 0.09460861) * conv2d_2_5_texOff(vec2(0, -1)); + result += mat4(-0.19341941, -0.008559521, -0.02786418, 0.008049167, 0.034066003, -0.040081434, 0.003680143, -0.037779566, -0.23077072, -0.038599227, -0.040743884, 0.016700126, 0.018629976, -0.05290129, 0.13016932, 0.098385155) * conv2d_2_5_texOff(vec2(1, -1)); + result += mat4(0.037717786, -0.046259657, -0.026423305, -0.0069667744, -0.074130096, 0.007958183, -0.025208341, 0.09849877, 0.11521551, 0.045813486, 0.022236196, 0.004416141, 0.017433736, -0.1068484, 0.033268478, 0.0043522054) * conv2d_2_5_texOff(vec2(-1, 0)); + result += mat4(-0.17370465, -0.03488704, 0.057367038, -0.04789062, 0.096039064, 0.033296652, 0.014079373, 0.015356793, 0.16518968, 0.057152346, -0.054042917, 0.0070565254, 0.10757034, -0.021602929, -0.07919234, -0.022110537) * conv2d_2_5_texOff(vec2(0, 0)); + result += mat4(-0.04852621, -0.019377688, 0.0119137885, -0.0042394428, -0.06657281, 0.042298924, 0.05027284, 0.04697178, -0.15285842, -0.054350946, -0.10979889, -0.0029864863, -0.15729165, -0.12643307, -0.2642667, 0.038907614) * conv2d_2_5_texOff(vec2(1, 0)); + result += mat4(-0.010043995, 0.09287422, 0.038897205, 0.0710695, -0.04138276, 0.028926764, 0.0073119686, -0.048609313, -0.020024547, -0.0038690055, -0.054206144, -0.017099261, -0.011421355, -0.08654407, 0.05131156, 0.016581675) * conv2d_2_5_texOff(vec2(-1, 1)); + result += mat4(-0.014845168, -0.040038552, 0.11575068, -0.08706872, 0.01814075, -0.0062346742, -0.004651195, 0.18341804, 0.049718257, 0.027503256, 0.006899092, -0.047349628, 0.0018782485, -0.0012107973, -0.00048724993, -0.15566508) * conv2d_2_5_texOff(vec2(0, 1)); + result += mat4(-0.039332088, -0.035715014, 0.03523943, -0.028101392, 0.04011208, -0.0801635, 0.0060611656, -0.034481786, -0.1380085, 0.09051378, -0.057559397, 0.0770283, -0.122531116, -0.14357041, -0.087311246, -0.15660973) * conv2d_2_5_texOff(vec2(1, 1)); + result += mat4(0.05396752, -0.015057689, -0.038443115, 0.07965854, -0.023314228, -0.056096565, -0.0056100255, -0.02272898, -0.027265538, 0.038172036, 0.098645285, -0.07003121, 0.013717061, 0.032166757, 0.05594546, -0.061714157) * conv2d_2_6_texOff(vec2(-1, -1)); + result += mat4(-0.053008437, 0.06427805, -0.03746859, -0.04090423, 0.0429269, -0.01746919, -0.007380819, 0.039974883, 0.06559021, -0.068925425, 0.10925703, -0.09568423, -0.07477659, 0.06146387, -0.030916087, 0.15617129) * conv2d_2_6_texOff(vec2(0, -1)); + result += mat4(0.03857919, 0.010715387, 0.006954834, -0.00023796473, 0.033609215, -0.021531533, -0.08522054, -0.011814584, 0.018671313, -0.064097516, 0.01060304, -0.01285243, -0.086842194, -0.058414467, 0.17138194, -0.0032262662) * conv2d_2_6_texOff(vec2(1, -1)); + result += mat4(0.097497374, -0.06957041, -0.024459133, 0.029793017, 0.05773547, 0.05517656, -0.05697278, 0.032118294, -0.0062131686, 0.025256071, 0.01674892, 0.018072452, -0.04720883, -0.092359215, -0.08249947, 0.08784974) * conv2d_2_6_texOff(vec2(-1, 0)); + result += mat4(0.021926617, 0.049375426, -0.063890345, -0.04655509, -0.0630303, 0.016058976, -0.032819696, 0.091796234, -0.15869053, 0.167308, 0.035466738, 0.008962673, -0.01384396, 0.086096995, -0.253834, -0.06845667) * conv2d_2_6_texOff(vec2(0, 0)); + result += mat4(-0.11755873, -0.028916698, -0.013987473, 0.019167537, 0.08750411, 0.04941727, -0.12692647, -0.05395736, 0.0034140083, 0.004808461, 0.10841692, -0.0098558385, -0.099827036, 0.076205924, -0.021544598, -0.035159983) * conv2d_2_6_texOff(vec2(1, 0)); + result += mat4(0.102698945, -0.08195324, -0.09538588, -0.062762074, 0.021301981, 0.030618185, 0.053401537, -0.035845064, 0.057678647, -0.04588069, 0.019323697, -0.060831662, 0.088909574, -0.03719734, 0.009234662, -0.032310676) * conv2d_2_6_texOff(vec2(-1, 1)); + result += mat4(-0.012444303, -0.10928829, -0.007710559, 0.07088603, 0.022959635, -0.001601276, -0.050142728, 0.04961799, -0.0792677, 0.053062897, -0.0389657, -0.014050945, -0.2302402, -0.00070387474, -0.1200321, -0.22535647) * conv2d_2_6_texOff(vec2(0, 1)); + result += mat4(-0.10639305, -0.010127715, -0.034682564, -0.12139725, 0.026878467, -0.031295903, -0.13005422, -0.014716105, 0.056644812, -0.021237567, 0.03402466, 0.030415252, -0.19540247, -0.10646383, 0.08526519, 0.13609745) * conv2d_2_6_texOff(vec2(1, 1)); + result += mat4(0.10841735, 0.00703575, 0.05229535, 0.003712159, -0.014488463, -0.048153657, 0.09024097, -0.020500712, -0.078996606, -0.049159348, 0.024551094, 0.017371215, -0.027138304, 0.0075862617, -0.043698415, -0.060584247) * conv2d_2_7_texOff(vec2(-1, -1)); + result += mat4(-0.040153775, -0.034538966, -0.06831485, -0.08698853, -0.0010678475, 0.07407043, 0.11552406, -0.04862151, 0.04826814, 0.05090706, 0.15577137, -0.026989767, 0.020895014, -0.049075644, -0.16568467, -0.029126916) * conv2d_2_7_texOff(vec2(0, -1)); + result += mat4(-0.041043345, -0.0725161, -0.019178197, 0.03876852, 0.03712581, 0.055178043, -0.026280928, -0.2545717, 0.102481656, -0.11295318, -0.032639362, -0.026244422, -0.010449924, 0.016885139, -0.01883277, 0.029929966) * conv2d_2_7_texOff(vec2(1, -1)); + result += mat4(0.15909685, 0.05688062, -0.04938656, -0.052956108, 0.050724044, -0.010793868, 0.03242358, -0.013564398, -0.08833861, 0.011785539, -0.03140303, 0.04352616, -0.1267456, -0.016473839, 0.0007947726, -0.023370145) * conv2d_2_7_texOff(vec2(-1, 0)); + result += mat4(0.018270547, -0.014315625, -0.04530398, -0.10853184, -0.057609275, 0.08228726, 0.01282188, -0.030917626, -0.08893558, -0.0047554187, 0.030033132, 0.10651613, 0.11290742, 0.050030164, -0.10250954, -0.13145623) * conv2d_2_7_texOff(vec2(0, 0)); + result += mat4(-0.009434476, -0.017702028, -0.12924476, -0.018579815, 0.049015347, -0.04967243, 0.028853342, -0.16670261, 0.06618221, -0.18739995, -0.06235724, -0.0323652, -0.07132881, 0.072841205, -0.036427245, 0.003952112) * conv2d_2_7_texOff(vec2(1, 0)); + result += mat4(-0.038359758, -0.03458916, -0.00883968, 0.054694217, 0.005327728, 0.014527585, 0.02445876, -0.051686373, 0.07238767, 0.028454082, -0.010694447, 0.026264979, -0.06398158, -0.001123328, -0.03547982, 0.003787934) * conv2d_2_7_texOff(vec2(-1, 1)); + result += mat4(-0.0026730602, -0.010797033, -0.014636274, -0.12515742, 0.035996962, -0.062317528, -0.061463512, -0.09849216, -0.065137595, 0.06860676, 0.08229327, -0.070360854, -0.0663919, 0.023231652, -0.0022527133, 0.009690312) * conv2d_2_7_texOff(vec2(0, 1)); + result += mat4(0.07832781, -0.023008034, -0.05025634, -0.0072358884, -0.022369241, 0.015263983, -0.06372441, -0.15701488, 0.16068271, -0.061635286, -0.017301856, 0.03252815, -0.025266672, 0.003950214, -0.082581274, 0.026801404) * conv2d_2_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-3-ReLU) +//!HOOK LUMA +//!BIND conv2d_2_0 +//!BIND conv2d_2_1 +//!BIND conv2d_2_2 +//!BIND conv2d_2_3 +//!BIND conv2d_2_4 +//!BIND conv2d_2_5 +//!BIND conv2d_2_6 +//!BIND conv2d_2_7 +//!SAVE conv2d_3_6 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.004757555, 0.0066921245, 0.0015465204, -0.000539636); + result += mat4(0.11349899, 0.03682467, 0.011535115, 0.1134954, -0.06778684, -0.11583971, -0.04730881, -0.005766791, -0.057189506, 0.02036273, 0.06992569, 0.08935313, 0.094404444, -0.041955933, -0.007894757, 0.00083215197) * conv2d_2_0_texOff(vec2(-1, -1)); + result += mat4(0.10448087, -0.03055553, 0.050075825, -0.026454924, 0.07776824, -0.04372387, 0.009735731, 0.11756392, -0.030613687, 0.039888073, 0.05550842, -0.011767378, 0.038470417, 0.09790034, 0.1053843, -0.044205744) * conv2d_2_0_texOff(vec2(0, -1)); + result += mat4(-0.040458314, 0.038171683, -0.03260193, 0.055705454, -0.0094249835, -0.0311955, 0.0020066788, -0.010603218, -0.0590773, 0.08409822, 0.08585444, -0.021766132, 0.03565077, 0.11177095, -0.005916123, 0.029700363) * conv2d_2_0_texOff(vec2(1, -1)); + result += mat4(0.07804942, -0.048418522, -0.11822066, -0.14643224, -0.052237958, 0.0049337726, -0.11353842, -0.24496666, 0.026374422, 0.055838462, -0.031768564, -0.023432704, 0.014158713, -0.0033560663, 0.0087569915, 0.093721904) * conv2d_2_0_texOff(vec2(-1, 0)); + result += mat4(0.10306694, -0.05687962, -0.073112905, 0.10862642, 0.121475525, 0.04025473, -0.055780344, 0.043165553, -0.04195123, 0.08860717, 0.0042974046, -0.013587914, 0.0041836943, 0.05036958, -0.06577297, -0.06400082) * conv2d_2_0_texOff(vec2(0, 0)); + result += mat4(-0.07342447, 0.022924803, -0.08262387, -0.02821925, -0.11561012, 0.05878551, -0.081531666, 0.059017397, -0.029640576, 0.039185617, 0.03206757, 0.0053963237, -0.022958111, -0.05658538, -0.08873518, 0.036778968) * conv2d_2_0_texOff(vec2(1, 0)); + result += mat4(-0.05429673, -0.007503706, -0.11964424, 0.03583713, -0.0022615332, -0.16127859, -0.037525125, -0.08634031, 0.08670388, -0.069134004, -0.05868231, -0.067023136, -0.06621436, 0.039539885, -0.02442324, -0.116597004) * conv2d_2_0_texOff(vec2(-1, 1)); + result += mat4(-0.11058096, -0.037296385, 0.011716341, -0.17049587, 0.11286633, -0.061436735, -0.07316096, -0.043949377, 0.08578814, 0.025394598, -0.11578363, -0.12133509, 0.036231276, 0.00283885, 0.0071045132, -0.02475817) * conv2d_2_0_texOff(vec2(0, 1)); + result += mat4(-0.13321236, 0.10548257, -0.022046754, -0.12420882, -0.052974854, 0.10962823, -0.117062375, 0.10289217, 0.04886255, 0.052521188, -0.038161162, -0.028780565, -0.097921774, -0.061971717, -0.0053417953, 0.052453052) * conv2d_2_0_texOff(vec2(1, 1)); + result += mat4(0.05065307, -0.113952495, -0.03008697, -0.031024761, -0.06223088, 0.047849946, -0.041622628, -0.047523104, -0.16697808, 0.059578948, 0.007976812, -0.02929543, -0.06833772, -0.097213976, 0.06381056, -0.050738882) * conv2d_2_1_texOff(vec2(-1, -1)); + result += mat4(0.039316688, -0.021094432, 0.06550708, -0.031300284, 0.005683813, 0.03649793, -0.016535792, 0.009946008, -0.21162187, 0.047833323, 0.07382211, 0.029751297, 0.043913007, 0.043567155, 0.0036953858, 0.029767344) * conv2d_2_1_texOff(vec2(0, -1)); + result += mat4(0.0063038785, 0.10711857, 0.0747232, 0.053938143, 0.028359989, 0.0056362334, 0.06201187, 0.013750262, -0.12456847, -0.016474402, 0.05970153, 0.06165272, 0.00040503746, -0.027742824, 0.027708692, 0.03154629) * conv2d_2_1_texOff(vec2(1, -1)); + result += mat4(0.048496153, 0.056712948, -0.08912388, 0.14948198, 0.04904744, 0.064647146, 0.08713012, -0.17428106, 0.017615698, 0.03156796, 0.0076193716, -0.034744363, 0.026632795, -0.08388072, -0.04966008, 0.0420437) * conv2d_2_1_texOff(vec2(-1, 0)); + result += mat4(0.00027174, -0.018484779, 0.017151076, 0.009515324, -0.08260088, -0.0011761031, 0.054539025, -0.08429204, 0.17473443, -0.07000628, 0.015802365, 0.025413582, -0.033006478, 0.044893403, 0.05101894, 0.019576613) * conv2d_2_1_texOff(vec2(0, 0)); + result += mat4(-0.05556953, -0.0043248413, -0.10920537, 0.04212936, -0.07425214, 0.0049062395, 0.012085829, 0.11344209, -0.037492193, -0.03936168, -0.09392863, 0.08912198, 0.0037864845, 0.039498962, -0.012497312, 0.03129254) * conv2d_2_1_texOff(vec2(1, 0)); + result += mat4(-0.10349949, -0.019108104, 0.0271792, -0.043420084, -0.24280572, -0.018777141, 0.02111925, -0.020043941, 0.15011993, -0.033566855, -0.05220742, -0.21430387, 0.033793673, 0.023931855, -0.031598497, -0.17530876) * conv2d_2_1_texOff(vec2(-1, 1)); + result += mat4(0.008160566, 0.04790762, -0.10873158, -0.06855155, -0.11840364, 0.102650575, -0.21880019, -0.23445879, 0.08393631, -0.020286081, -0.051135343, -0.030273959, -0.037730783, 0.10600372, -0.03188769, -0.13385715) * conv2d_2_1_texOff(vec2(0, 1)); + result += mat4(0.08042516, 0.0068187476, -0.08388898, -0.06233123, -0.029016411, 0.024358617, 0.12879671, -0.000651075, -0.019510139, 0.12592776, -0.15377519, 0.004293696, -0.036617503, -0.11463557, 0.07544606, -0.039037067) * conv2d_2_1_texOff(vec2(1, 1)); + result += mat4(0.12670575, 0.0025218169, 0.07214214, 0.061585333, 0.077228926, -0.045126535, 0.07227507, 0.084963806, 0.058618683, 0.010716497, 0.13813764, -0.063208774, -0.063441575, 0.03546016, 0.019498022, -0.014480743) * conv2d_2_2_texOff(vec2(-1, -1)); + result += mat4(0.10878993, -0.001717275, 0.055847716, -0.016908139, -0.0039723986, 0.028472496, -0.11038391, 0.05307657, -0.043845467, -0.058447253, -0.10275314, 0.021605598, -0.041815136, 0.053483896, 0.046177905, 0.008242724) * conv2d_2_2_texOff(vec2(0, -1)); + result += mat4(-0.004308458, 0.0061851065, -0.030787209, -0.06687588, 0.11691508, 0.11137651, -0.06870892, 0.0679365, 0.08282016, 0.18061428, 0.0058225235, -0.0035563533, -0.022215093, -0.05853177, -0.06624062, 0.10195481) * conv2d_2_2_texOff(vec2(1, -1)); + result += mat4(0.06207687, 0.06801286, 0.05132017, 0.13642049, -0.0449156, -0.0077699777, 0.08562286, 0.12734161, 0.11306914, -0.113344915, 0.13355012, 0.17697674, -0.12486384, -0.0598797, -0.01142903, -0.14067113) * conv2d_2_2_texOff(vec2(-1, 0)); + result += mat4(0.00089821336, -0.05310936, -0.034743913, 0.10185827, -0.15219459, 0.027291978, 0.06965937, 0.083906874, 0.026358424, -0.05011626, 0.041339397, 0.004187528, 0.025451437, -0.067929566, -0.06314939, 0.07040784) * conv2d_2_2_texOff(vec2(0, 0)); + result += mat4(-0.0053124023, 0.021365123, -0.07844448, 0.021620518, 0.018069288, -0.0258702, 0.030977404, 0.12526077, -0.10196389, -0.086077295, 0.040602755, -0.16427751, 0.12992612, -0.016316755, -0.06691121, 0.14424118) * conv2d_2_2_texOff(vec2(1, 0)); + result += mat4(-0.13271052, 0.050992165, 0.013349729, -0.19272551, 0.0261862, -0.07412381, -0.16521539, -0.017831609, -0.033204485, -0.007401179, 0.008699602, -0.04113147, 0.013678685, -0.041841835, -0.033449862, -0.078453004) * conv2d_2_2_texOff(vec2(-1, 1)); + result += mat4(-0.14311169, -0.18062009, 0.02696865, -0.023684287, 0.048120074, 0.0022888265, 0.0034597565, 0.054043934, 0.09733168, 0.06112986, 0.06425913, -0.0055744965, -0.003110356, -0.07575617, -0.029493136, 0.042553112) * conv2d_2_2_texOff(vec2(0, 1)); + result += mat4(-0.10877049, 0.015661005, 0.01836191, -0.024580982, 0.08938417, 0.016133158, -0.083037436, 0.041907147, 0.19387297, -0.05894791, 0.047843628, 0.1775111, 0.0015946283, 0.0020886348, -0.14576925, -0.0433137) * conv2d_2_2_texOff(vec2(1, 1)); + result += mat4(-0.094514154, -0.03210124, -0.07565005, -0.20597404, 0.023298204, -0.17757241, -0.1387228, 0.047445524, -0.06114681, 0.045789618, -0.10065938, -0.034673207, -0.24135587, -0.023437276, -0.10630994, -0.115963876) * conv2d_2_3_texOff(vec2(-1, -1)); + result += mat4(-0.05300619, -0.0063644014, -0.109262876, -0.039670758, 0.04336747, -0.034151327, 0.01861349, -0.004413683, 0.054878518, 0.0057930704, 0.08501838, 0.042661592, 0.06946401, -0.12543148, 0.050226208, -0.047517277) * conv2d_2_3_texOff(vec2(0, -1)); + result += mat4(-0.041740403, 0.07430137, 0.08569165, -0.057543404, 0.08646031, 0.1393351, 0.053923957, 0.12306488, 0.02644189, 0.023807218, 0.13098423, -0.02051862, -0.05499877, -0.08754613, -0.035724323, 0.070999324) * conv2d_2_3_texOff(vec2(1, -1)); + result += mat4(0.03482623, 0.01282608, 5.8674977e-06, -0.38494566, 0.013138842, -0.12779595, -0.0077767274, -0.16306975, 0.05228305, 0.0020776272, 0.111728214, 0.018564979, -0.069880314, -0.011943985, -0.0008817632, 0.0661268) * conv2d_2_3_texOff(vec2(-1, 0)); + result += mat4(0.17886259, 0.12594935, 0.44553977, 0.23785625, 0.08682439, -0.08111878, -0.07357941, 0.06275705, 0.10032153, 0.07850621, 0.0016675915, 0.0119662145, -0.0035606516, 0.0020743476, -0.027936766, -0.06926981) * conv2d_2_3_texOff(vec2(0, 0)); + result += mat4(0.16417812, -0.0070310337, 0.14106219, -0.09991219, -0.037681475, 0.089959666, -0.02957134, -0.015084552, -0.148131, -0.07798319, 0.02414321, -0.012240228, -0.18377134, -0.020498876, -0.23074734, 0.032067563) * conv2d_2_3_texOff(vec2(1, 0)); + result += mat4(0.32918534, -0.16878515, -0.0830635, 0.07592082, -0.041547474, -0.10544633, 0.08481323, 0.12836282, 0.016958868, -0.04063196, -0.022966098, -0.11859095, 0.028517874, -0.015105806, -0.12805948, 0.22081275) * conv2d_2_3_texOff(vec2(-1, 1)); + result += mat4(-0.075458646, -0.10800405, -0.263067, 0.20835415, -0.061416715, -0.031533703, 0.013553136, -0.022732047, -0.050140247, 0.08912443, 0.05826256, -0.03147566, -0.27344075, 0.010031876, -0.22195, 0.18671158) * conv2d_2_3_texOff(vec2(0, 1)); + result += mat4(0.21969724, 0.039667282, -0.3086246, -0.0058653164, -0.09200558, 0.04614033, 0.0904847, -0.08542906, -0.039527368, -0.010760348, -0.07588415, -0.11697903, -0.3011086, -0.027940327, -0.2591113, 0.07887538) * conv2d_2_3_texOff(vec2(1, 1)); + result += mat4(0.11310526, -0.1191841, 0.008222723, 0.0030214223, 0.046757426, 0.019034086, 0.022289075, 0.012728503, 0.039831948, -0.048884124, 0.051098753, 0.053818706, -0.023442304, 0.076537855, 0.06961743, -0.007961205) * conv2d_2_4_texOff(vec2(-1, -1)); + result += mat4(0.04796011, 0.004699384, 0.04051665, 0.0012662468, -0.065301515, -0.017007938, 0.07413308, -0.02438513, 0.035958406, 0.010927845, 0.022229886, 0.009191045, -0.035966754, 0.03084916, 0.04305757, -0.021394214) * conv2d_2_4_texOff(vec2(0, -1)); + result += mat4(0.06798636, -0.036332805, 0.043610465, -0.013572959, -0.04986304, 0.035915036, -0.067367814, 0.01923968, 0.02163741, -0.15295288, -0.04248053, -0.027923513, -0.0653446, -0.01685205, 0.0016655462, 0.04086946) * conv2d_2_4_texOff(vec2(1, -1)); + result += mat4(0.082093135, 0.0116175795, -0.06229353, 0.057567067, 0.002070583, -0.019433213, -0.10820982, -0.06510465, 0.0023888461, -0.039131373, 0.08684572, -0.029247586, -0.046205662, -0.07600052, -0.048761863, 0.1119688) * conv2d_2_4_texOff(vec2(-1, 0)); + result += mat4(-0.09854264, 0.034014903, 0.032533847, 0.086708464, -0.18420456, 0.06425726, -0.019944152, -0.113858595, 0.067102134, -0.023330009, 0.016175846, 0.02207056, 0.051203225, 0.106763445, 0.022313962, -0.07319695) * conv2d_2_4_texOff(vec2(0, 0)); + result += mat4(-0.08285395, 0.101158425, 0.095449746, 0.056932118, -0.010269262, 0.10500684, 0.09804487, 0.029416436, 0.018405171, -0.00756643, -0.14734982, -0.027628047, -0.0021709756, 0.04837203, 0.04046945, -0.07148995) * conv2d_2_4_texOff(vec2(1, 0)); + result += mat4(0.0068056993, -0.012655505, 0.041893397, -0.20637612, 0.10357054, -0.039183695, -0.03874575, 0.03250902, -0.005688544, -0.08735709, 0.0407617, -0.2630221, 0.04929919, 0.015207005, 0.031928465, -0.05988603) * conv2d_2_4_texOff(vec2(-1, 1)); + result += mat4(-0.06360958, -0.0016529092, 0.036746763, -0.07929452, 0.04649289, 0.10552208, 0.019129697, 0.04247747, 0.0333161, -0.055369295, 0.015400768, -0.21071377, 0.075626925, -0.019724565, 0.05673808, 0.031451184) * conv2d_2_4_texOff(vec2(0, 1)); + result += mat4(-0.10448173, 0.0024858385, -0.055335138, -0.025521627, 0.07000973, 0.045164585, -0.08821254, -0.029078333, 0.03237743, 0.03412713, -0.08277621, -0.008206058, 0.13888146, 0.06433806, 0.09635601, 0.009300237) * conv2d_2_4_texOff(vec2(1, 1)); + result += mat4(0.05628329, -0.049013995, -0.042843785, 0.10905238, -0.13861625, -0.0033450013, -0.08102925, -0.021642348, 0.06950021, -0.050236728, 0.011063194, -0.05445041, -0.026387254, 0.02149008, -0.012052465, -0.015521887) * conv2d_2_5_texOff(vec2(-1, -1)); + result += mat4(0.037469618, -0.10782092, 0.16267659, -0.017570743, -0.11076471, -0.017461535, 0.09157403, 0.06183931, 0.050781213, -0.047209375, 0.057156242, 0.017524479, 0.05568796, -0.09026668, 0.009749823, 0.01231608) * conv2d_2_5_texOff(vec2(0, -1)); + result += mat4(0.012531465, -0.10234399, -0.06545549, -0.05673929, 0.01473559, -0.023543626, -0.024662662, -0.023166092, -0.011096109, -0.034617644, -0.04284926, 0.069722705, 0.10831282, 0.0448412, 0.0035130812, -0.063478604) * conv2d_2_5_texOff(vec2(1, -1)); + result += mat4(0.012193419, -0.0046619456, 0.06142149, -0.009428366, -0.04379314, 0.018028691, -0.064939916, 0.045077585, -0.06380097, -0.030957522, -0.00064179423, -0.10726085, 0.04562282, 0.03318346, 0.032894075, 0.0057286317) * conv2d_2_5_texOff(vec2(-1, 0)); + result += mat4(0.0774749, -0.05273974, 0.013361095, 0.003996927, 0.07394484, -0.03463487, 0.0135050155, 0.10033323, -0.077846445, -0.016434154, 0.036393348, -0.10085155, -0.04174958, -0.10173868, -0.055484813, 0.0767971) * conv2d_2_5_texOff(vec2(0, 0)); + result += mat4(-0.054177377, -0.035136092, 1.6553884e-05, -0.075745866, 0.07161627, 0.028670466, 0.08635801, -0.049687378, -0.06149632, -0.090239674, -0.04604012, 0.037281927, -0.013900084, -0.025308648, -0.04160905, 0.05236423) * conv2d_2_5_texOff(vec2(1, 0)); + result += mat4(0.021772992, 0.079682894, 0.049365964, 0.080592774, 0.09486552, 0.0005647539, -0.09744135, -0.06550276, 0.06517251, 0.013947098, -0.049141996, 0.07036129, 0.05793302, 0.009150216, 0.008434343, -0.010301527) * conv2d_2_5_texOff(vec2(-1, 1)); + result += mat4(0.020805387, -0.02862174, -0.06900585, 0.08063093, 0.042023793, -0.017361684, -0.14224279, 0.002890036, -0.050307795, -0.07287953, -0.12160202, 0.029457036, -0.081102654, -0.040054563, 0.010552698, 0.008621605) * conv2d_2_5_texOff(vec2(0, 1)); + result += mat4(0.06572347, -0.03944712, 0.07462236, -0.052968614, 0.1651128, -0.0050947857, -0.16246855, 0.011928858, 0.0022549967, -0.041426033, -0.009666929, 0.13474783, -0.16574116, 0.058332365, 0.01842872, -0.041698866) * conv2d_2_5_texOff(vec2(1, 1)); + result += mat4(-0.061695214, 0.0439581, 0.04819791, 0.04084196, -0.04817394, -0.06648881, 0.07974342, 0.07847899, -0.047357164, -0.014205644, -0.06797453, 0.014230147, 0.06291337, -0.068596296, -0.12509707, 0.08504361) * conv2d_2_6_texOff(vec2(-1, -1)); + result += mat4(0.09887612, -0.030411558, -0.068186745, -0.06456985, -0.053841483, 0.09986901, -0.17974052, 0.0033505913, 0.010932002, -0.05817109, -0.01561137, 0.04292959, 0.004044488, 0.044107474, -0.036454186, -0.022074549) * conv2d_2_6_texOff(vec2(0, -1)); + result += mat4(0.048093945, -0.04142131, -0.006397631, 0.029621024, -0.033857297, -0.00832237, 0.061985046, 0.0018212764, 0.036430612, -0.002574387, -0.042038023, 0.060955923, 0.09265335, 0.07207511, -0.03624408, 0.011721343) * conv2d_2_6_texOff(vec2(1, -1)); + result += mat4(0.09587588, -0.048132017, 0.0030001635, 0.017401407, 0.014507915, -0.1613648, 0.08629626, 0.0671625, 0.06365815, 0.017713983, 0.13653816, -0.10809365, -0.10039833, 0.022505641, 0.037629344, 0.04369148) * conv2d_2_6_texOff(vec2(-1, 0)); + result += mat4(-0.021129504, -0.027774522, -0.040217243, 0.044580977, 0.03418482, 0.06980686, 0.05906925, -0.12685576, 0.05005031, -0.009486927, 0.14387128, -0.09414186, -0.16633372, 0.06291003, 0.06385437, 0.01382828) * conv2d_2_6_texOff(vec2(0, 0)); + result += mat4(-0.040803794, -0.11550628, -0.009804584, -0.10101504, -0.07007197, 0.033600125, 0.019411325, -0.009911569, 0.0219513, -0.025183251, 0.061174493, -0.012735013, -0.18262456, -0.065662146, 0.058936115, -0.057779215) * conv2d_2_6_texOff(vec2(1, 0)); + result += mat4(-0.1097271, 0.1060282, -0.09872891, -0.0380541, 0.016392106, -0.053847674, -0.003181774, -0.09004309, -0.07646991, -0.04291185, 0.002126514, -0.02716048, -0.017903525, -0.015712854, 0.04478264, 0.11158974) * conv2d_2_6_texOff(vec2(-1, 1)); + result += mat4(-0.032863095, 0.071703695, -0.108703256, 0.07342488, 0.108845875, 0.07361278, 0.17857915, -0.08053826, -0.044019863, 0.022172097, -0.01441005, -0.037975915, -0.0040993467, 0.028056452, -0.1959774, -0.396473) * conv2d_2_6_texOff(vec2(0, 1)); + result += mat4(-0.008128875, 0.015478254, 0.008289732, 0.028073817, -0.05445876, -0.04683642, -0.06538109, 0.03899905, -0.096197486, 0.025874358, -0.034843657, -0.0023212302, 0.33299488, -0.008234567, 0.035895467, 0.008845726) * conv2d_2_6_texOff(vec2(1, 1)); + result += mat4(-0.015127326, 0.050381284, -0.023957968, 0.013446369, 0.049920883, 0.035301927, 0.03798589, -0.0042353948, 0.0004398059, -0.05863492, 0.08663867, -0.12998216, -0.1223253, 0.0843225, 0.044872735, 0.13198064) * conv2d_2_7_texOff(vec2(-1, -1)); + result += mat4(-0.12622693, -0.028360683, -0.015941314, 0.027059209, 0.1658973, 0.0026687132, 0.0013781668, 0.03768538, 0.00037406373, 0.082323045, 0.07725557, -0.013813238, -0.07053939, 0.018268615, -0.016613442, 0.08555984) * conv2d_2_7_texOff(vec2(0, -1)); + result += mat4(-0.030968921, 0.04988211, 0.047198135, -0.06080826, 0.03948702, -0.026050689, 0.01785742, 0.021210028, -0.02777861, -0.024286846, -0.18957746, 0.030048167, -0.05093788, 0.022113025, 0.080163375, 0.043587737) * conv2d_2_7_texOff(vec2(1, -1)); + result += mat4(-0.12931837, -0.06624186, 0.048230994, -0.14303525, 0.011868749, 0.05876437, 0.08283446, 0.096630804, 0.078242354, 0.017186532, 0.01107169, -0.09535571, -0.081958145, -0.01187443, -0.042515688, 0.041455794) * conv2d_2_7_texOff(vec2(-1, 0)); + result += mat4(-0.09620027, -0.09389716, -0.02755073, -0.07172476, 0.060631033, 0.10633425, 0.020453556, 0.015004116, 0.068574816, 0.037624687, 0.083897874, -0.043020047, -0.055612575, -0.037665978, 0.03191591, 0.018990554) * conv2d_2_7_texOff(vec2(0, 0)); + result += mat4(-0.16054095, 0.079194486, 0.08251715, -0.030420316, 0.024793591, 0.0066223466, -0.07848799, 0.026549103, 0.10273049, -0.055960022, 0.09209815, -0.058158513, 0.030097134, -0.059460137, 0.042498615, -0.0655346) * conv2d_2_7_texOff(vec2(1, 0)); + result += mat4(0.076910384, -0.028854616, 0.034690343, -0.3163691, -0.022167513, 0.048529234, 0.011295191, -0.24878581, -0.07049643, -0.043963216, 0.03107965, 0.045172, 0.09532809, 0.025588188, -0.08722443, 0.06796673) * conv2d_2_7_texOff(vec2(-1, 1)); + result += mat4(0.032659616, 0.011626888, 0.11363313, -0.10491743, -0.089956574, 0.023321712, -0.086859286, -0.28858283, -0.0436798, -0.0041113957, -0.041210726, 0.058477964, 0.08519075, 0.06381179, 0.10313036, 0.1064427) * conv2d_2_7_texOff(vec2(0, 1)); + result += mat4(0.08195395, 0.029072773, 0.09645364, -0.1331128, 0.010006744, -0.035336263, -0.078235984, -0.100892104, -0.11188394, -0.09306771, -0.05584668, 0.0851246, -0.058804363, 0.050579723, -0.03372555, 0.03584036) * conv2d_2_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-3-ReLU) +//!HOOK LUMA +//!BIND conv2d_2_0 +//!BIND conv2d_2_1 +//!BIND conv2d_2_2 +//!BIND conv2d_2_3 +//!BIND conv2d_2_4 +//!BIND conv2d_2_5 +//!BIND conv2d_2_6 +//!BIND conv2d_2_7 +//!SAVE conv2d_3_7 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.010093253, 0.0030979498, -0.009945917, -0.0028646134); + result += mat4(-0.052817143, 0.002212199, 0.028175354, 0.01752312, -0.024059987, -0.034982406, -0.0823692, -0.14901216, 0.020960469, -0.03748541, -0.09018264, 0.015323, 0.05144814, -0.13600393, -0.13445613, 0.069762036) * conv2d_2_0_texOff(vec2(-1, -1)); + result += mat4(0.06827586, 0.0703458, -0.06894819, 0.00088594516, 0.018793514, -0.053264253, 0.15727098, 0.10565909, 0.020995786, -0.073440425, -0.016690494, 0.1479086, -0.058948364, -0.0791279, -0.055432227, 0.046929073) * conv2d_2_0_texOff(vec2(0, -1)); + result += mat4(0.0282332, -0.038427632, 0.037297875, -0.034946367, -0.02903317, 0.07089535, -0.1317738, 0.31971014, 0.08237799, -0.002177024, 0.0028373394, 0.03672002, 0.02289465, 0.0010561787, 0.018560356, 0.10047951) * conv2d_2_0_texOff(vec2(1, -1)); + result += mat4(0.09461853, -0.037170637, 0.04099613, 0.026774347, -0.035639457, -0.03770909, 0.011653578, -0.2728709, 0.11719966, 0.09836897, -0.05813555, -0.070931844, -0.08800717, 0.035530616, -0.045155324, -0.078391835) * conv2d_2_0_texOff(vec2(-1, 0)); + result += mat4(-0.19398674, -0.012254907, -0.08600672, -0.11491757, 0.08367692, -0.059326764, 0.05075526, -0.23950206, 0.034008104, 0.07750407, -0.0053664437, -0.0378413, 0.1358654, 0.09803174, -0.040954523, -0.10823794) * conv2d_2_0_texOff(vec2(0, 0)); + result += mat4(0.16082066, -0.124672525, -0.0351442, 0.014070176, 0.054719046, 0.043338597, 0.10507917, 0.15590054, 0.008730584, -0.05798604, 0.050166424, 0.06823853, 0.01843268, -0.011128594, 0.054955035, 0.048077513) * conv2d_2_0_texOff(vec2(1, 0)); + result += mat4(-0.071411334, -0.02709184, -0.017589344, 0.08073806, -0.0069443267, 0.02389994, 0.0073655583, -0.03998735, 0.067277394, 0.049400445, -0.04988836, 0.01824602, -0.022236217, -0.00056634116, -0.07687963, -0.02842552) * conv2d_2_0_texOff(vec2(-1, 1)); + result += mat4(0.024667177, 0.0042771534, -0.014276378, 0.045863137, 0.040866137, -0.08839627, -0.0041296543, 0.00051970244, 0.029851934, -0.058286875, -0.0013674849, -0.0805984, 0.03570393, 0.086647585, -0.057948098, 0.0062022763) * conv2d_2_0_texOff(vec2(0, 1)); + result += mat4(-0.015547867, 0.04384457, -0.015359485, 0.04380505, 0.07681569, 0.030143823, 0.13590969, 0.044662785, -0.026010433, -0.06590536, -0.0030342895, 0.0019454237, -0.038111445, 0.02542262, 0.04671972, -0.002052507) * conv2d_2_0_texOff(vec2(1, 1)); + result += mat4(0.045374565, 0.047892347, -0.08426521, -0.04845604, -0.011286642, 0.0019627323, 0.028258817, 0.0148245655, 0.003643463, -0.007561848, -0.13815665, 0.05888418, 0.010417708, 0.046106715, 0.0010331987, 0.070423216) * conv2d_2_1_texOff(vec2(-1, -1)); + result += mat4(0.07544333, 0.027092673, -0.063055724, -0.010969607, 0.052434634, 0.0053786454, 0.09524213, 0.01183889, -0.09156778, 0.00337187, -0.075037174, -0.06613649, 0.017007899, 0.029491507, 0.020276293, 0.1002523) * conv2d_2_1_texOff(vec2(0, -1)); + result += mat4(0.06794062, -0.06663001, -0.0013214787, -0.026867885, 0.07225855, 0.030664058, 0.086437754, -0.09958769, -0.006958276, 0.043646608, 0.025989138, -0.0073254933, -0.0372581, 0.046872683, -0.07750571, 0.037775975) * conv2d_2_1_texOff(vec2(1, -1)); + result += mat4(0.059993867, 0.0208507, 0.022746803, 0.05375079, -0.028866738, 0.013796953, 0.06107955, -0.034542948, -0.17232534, -0.058118045, 0.082838595, -0.01369194, 0.14652948, 0.017388348, -0.026810039, 0.07939627) * conv2d_2_1_texOff(vec2(-1, 0)); + result += mat4(-0.04958076, -0.034861684, 0.013720466, 0.050227273, -0.024653476, 0.028051538, 0.04030152, -0.117435165, 0.056463327, -0.086978674, 0.08665229, -0.09058818, -0.031566508, -0.03196963, 0.11628149, -0.039170064) * conv2d_2_1_texOff(vec2(0, 0)); + result += mat4(-0.07786924, 0.046314433, 0.016736176, 0.0025878206, -0.13275605, 0.010890811, 0.02608986, -0.077810585, 0.13155577, -0.070663676, 0.040935438, -0.027096994, 0.015678724, 0.0632002, -0.029694784, 0.040319134) * conv2d_2_1_texOff(vec2(1, 0)); + result += mat4(0.080062516, -0.017041847, -0.1807908, 0.028788142, -0.03383607, 0.004711085, -0.04754284, -0.30198175, 0.012987751, 0.007168569, -0.09628087, 0.0041087135, 0.094406836, -0.13526797, -0.027160518, -0.07329403) * conv2d_2_1_texOff(vec2(-1, 1)); + result += mat4(-0.1142603, 0.051183037, -0.005216107, -0.037383903, -0.06358105, 0.18394762, -0.069858104, 0.1765225, -0.024236305, -0.052698888, 0.08283749, -0.10126377, -0.06296555, -0.06794055, -0.065837964, -0.18322305) * conv2d_2_1_texOff(vec2(0, 1)); + result += mat4(-0.057684455, 0.039189402, 0.024506807, -0.07146248, -0.06307401, -0.096499056, -0.07782666, 0.07304465, -0.14147285, -0.0094955545, 0.07641891, -0.17299448, -0.060026, 0.015830213, 0.016441697, -0.08980843) * conv2d_2_1_texOff(vec2(1, 1)); + result += mat4(0.08995622, 0.035335455, -0.062040627, 0.024272358, -0.057256218, -0.13136488, 0.09059813, 0.02450577, 0.05146425, 0.07659153, 0.04129474, -0.013656916, -0.03501584, 0.011278049, -0.121104985, -0.014527283) * conv2d_2_2_texOff(vec2(-1, -1)); + result += mat4(-0.08175117, 0.002600368, 0.018559895, -0.030640086, 0.052098293, 0.015568206, 0.17529301, 0.13796051, -0.031648304, -0.11440125, -0.08731695, 0.022338102, 0.024790972, 0.06100665, 0.026448535, 0.035441745) * conv2d_2_2_texOff(vec2(0, -1)); + result += mat4(-0.08833055, 0.028866421, 0.05383967, 0.037397347, -0.020838268, -0.104215994, 0.038883522, -0.05276631, -0.036368255, -0.12485399, -0.020505834, -0.152442, 0.013298882, -0.09412798, -0.040997755, 0.10254575) * conv2d_2_2_texOff(vec2(1, -1)); + result += mat4(0.072345644, 0.0028624153, -0.023264164, 0.0032946577, -0.07990283, -0.004601327, 0.21140556, -0.049908727, 0.053420562, 0.0389528, -0.008937805, 0.032145094, 0.08891193, -0.1038764, -0.1290682, 0.03327991) * conv2d_2_2_texOff(vec2(-1, 0)); + result += mat4(0.044321563, -0.05759256, 0.15617782, 0.077190705, -0.21873704, -0.15992488, 0.17741539, 0.11081979, -0.07004686, -0.0046884236, -0.087132335, -0.035204023, -0.116804965, 0.0885009, -0.030251827, -0.08839536) * conv2d_2_2_texOff(vec2(0, 0)); + result += mat4(0.07535699, 0.06980732, -0.049515944, -0.033445325, -0.09237193, -0.031234704, -0.054125268, -0.060737535, 0.017052, 0.025330685, 0.19404979, -0.046796653, 0.025860898, 0.0026086213, 0.12825601, 0.066703536) * conv2d_2_2_texOff(vec2(1, 0)); + result += mat4(-0.035218675, 0.056579303, -0.04601394, -0.03773755, -0.06502738, 0.054420687, -0.04699332, -0.22961397, 0.014562894, -0.018646099, 0.011672857, 0.08276406, 0.009118081, -0.0008451879, -0.009345393, -0.03606451) * conv2d_2_2_texOff(vec2(-1, 1)); + result += mat4(0.08277387, -0.15970086, 0.06275407, 0.003424809, -0.16147119, 0.11690582, 0.056949176, -0.23921, 0.052308455, 0.14488497, -0.10344301, 0.11020762, -0.017569592, 0.0144406995, 0.04930314, -0.026829936) * conv2d_2_2_texOff(vec2(0, 1)); + result += mat4(-0.04917524, 0.086095154, -0.027394922, 0.040365323, -0.08899659, -0.040968, 0.046315666, -0.33874503, -0.23498026, -0.10822274, -0.0025513615, 0.042556245, 0.015212904, -0.099088006, 0.045687508, -0.075261146) * conv2d_2_2_texOff(vec2(1, 1)); + result += mat4(0.06726809, -0.0061324444, -0.3444722, -0.039973885, -0.1582473, 0.05025102, 0.08495311, 0.025857005, 0.052926548, -0.12193293, 0.1380711, -0.14170942, -0.011231747, -0.005751425, 0.03124626, -0.080484755) * conv2d_2_3_texOff(vec2(-1, -1)); + result += mat4(-0.015424694, 0.016479969, -0.09517515, -0.10323726, 0.039380245, 0.037390523, 0.004262769, -0.049400486, -0.13183437, -0.07021707, 0.00012383003, 0.09193902, -0.01197365, 0.06633876, 0.023855792, -0.12509575) * conv2d_2_3_texOff(vec2(0, -1)); + result += mat4(0.0061365734, -0.051785953, 0.15651871, 0.039185368, 0.023622895, -0.0559847, 0.052860074, -0.07439876, -0.044265773, 0.053211868, 0.08892756, 0.1404263, 0.08816908, 0.08679912, 0.07592974, -0.055393804) * conv2d_2_3_texOff(vec2(1, -1)); + result += mat4(0.04603408, 0.18642771, -0.015224575, -0.40612525, 0.00039912146, -0.08327426, -0.018544627, 0.08702238, -0.07618399, 0.00045984448, -0.0024707546, -0.1688651, 0.12915307, 0.13075638, 0.05146175, -0.06817692) * conv2d_2_3_texOff(vec2(-1, 0)); + result += mat4(-0.3018873, -0.059525907, 0.015119917, 0.46888322, -0.058859102, -0.045305185, -0.061065163, 0.07687981, -0.030210031, 0.056729868, 0.09037692, 0.11505714, 0.1176135, 0.035580378, -0.028978491, -0.07123962) * conv2d_2_3_texOff(vec2(0, 0)); + result += mat4(0.17184415, 0.060126923, -0.03419522, -0.08774862, 0.1027244, -0.041237164, -0.15576603, -0.017237198, 0.021603772, 0.041135587, -0.041272953, -0.00532409, 0.11762288, 0.050772674, 0.11216044, -0.040241525) * conv2d_2_3_texOff(vec2(1, 0)); + result += mat4(-0.21900521, 0.1753161, -0.220829, 0.022376612, -0.0067504523, 0.07743558, 0.07179624, 0.10919218, -0.012175348, -0.028337767, -0.021360382, -0.139815, 0.113238186, 0.15368696, 0.025225963, 0.08891982) * conv2d_2_3_texOff(vec2(-1, 1)); + result += mat4(-0.37238395, 0.32597846, 0.7211832, -0.16881873, 0.021591071, -0.0018966692, -0.110048905, 0.004778059, 0.043364957, 0.07239852, 0.057545107, 0.017220007, -0.03667948, 0.115216516, 0.092870414, -0.08104667) * conv2d_2_3_texOff(vec2(0, 1)); + result += mat4(-0.13875571, -0.13770458, -0.028352967, -0.1464727, -0.027298847, -0.01445571, 0.006155361, 0.016625125, -0.08740675, 0.0646462, -0.088235416, -0.02831539, 0.017340869, 0.14814426, 0.038821958, -0.06661259) * conv2d_2_3_texOff(vec2(1, 1)); + result += mat4(0.0031220994, -0.0339335, 0.07614791, -0.055266626, -0.1180158, -0.035372414, 0.017735355, 0.013722326, -0.06587946, 0.050467912, -0.047740486, 0.017698769, -0.06282047, -0.050236564, -0.054655477, -0.0121994475) * conv2d_2_4_texOff(vec2(-1, -1)); + result += mat4(-0.14619339, -0.076966405, -0.010861275, -0.031517904, 0.039184112, 0.07138213, -0.0702162, -0.02079, -0.06701071, -0.04727614, 0.015979549, 0.022992207, -0.05809022, 0.071408436, -0.013638785, 0.1351908) * conv2d_2_4_texOff(vec2(0, -1)); + result += mat4(0.051964168, 0.09378624, 0.009820825, -0.0062255394, 0.022991994, 0.021567462, 0.04614127, -0.08799105, -0.0570647, -0.03943098, -0.20275263, 0.14406271, 0.027310422, 0.06477741, -0.014123091, 0.027554346) * conv2d_2_4_texOff(vec2(1, -1)); + result += mat4(-0.046303146, -0.028624179, -0.0019513558, -0.010861608, 0.07929469, -0.05229401, -0.09874981, -0.0068337885, -0.07316628, -0.049669296, 0.037577294, 0.04280212, -0.00013534028, 0.009134087, -0.06995011, 0.07442783) * conv2d_2_4_texOff(vec2(-1, 0)); + result += mat4(0.13656802, 0.08492786, -0.08779892, 0.023367425, 0.026074382, -0.047828443, 0.057581216, -0.046263594, -0.086343735, -0.05570989, -0.02979171, -0.0025530716, 0.046799492, 0.10757387, 0.032787602, 0.061262116) * conv2d_2_4_texOff(vec2(0, 0)); + result += mat4(0.064034514, 0.017740712, 0.051968142, -0.0047266055, -0.0529538, 0.01375426, -0.021655386, -0.033190448, -0.03280069, -0.1705518, 0.0061334386, 0.089156695, 0.09321499, 0.051029947, -0.060467582, -0.0034452858) * conv2d_2_4_texOff(vec2(1, 0)); + result += mat4(-0.12664945, -0.075080074, 0.07323743, -0.00075575995, -0.030720523, 0.101101756, 0.09509263, -0.046846274, -0.048263088, 0.04333969, 0.0888796, -0.15111901, -0.0030033125, -0.05993035, -0.03718872, 0.024819108) * conv2d_2_4_texOff(vec2(-1, 1)); + result += mat4(-0.09730331, -0.049084567, -0.112638086, 0.060049362, -0.017738773, 0.11905199, -0.03558887, 0.016899299, -0.08229485, -0.12859744, 0.009020687, 0.050146732, -0.02080286, 0.029949125, -0.029627774, 0.009691969) * conv2d_2_4_texOff(vec2(0, 1)); + result += mat4(0.11997835, 0.03191391, 0.06534221, -0.045429386, -0.05032835, 0.08009786, 0.1826683, 0.027050843, -0.040142428, -0.21352889, -0.131883, -0.00025124155, -0.01040815, -0.05225331, 0.004208429, -0.03359977) * conv2d_2_4_texOff(vec2(1, 1)); + result += mat4(-0.023396213, 0.06891799, -0.098445386, -0.035124484, 0.03471554, 0.02272089, -0.18472956, 0.017888885, 0.06040376, -0.040489376, -0.0005443804, -0.16046587, 0.06093021, 0.07839775, 0.021473665, 0.055592645) * conv2d_2_5_texOff(vec2(-1, -1)); + result += mat4(0.041557085, -0.072037905, 0.1804498, 0.018611887, 0.002847408, 0.053269785, -0.20205802, -0.00089862355, -0.06433174, 0.042295527, -0.17964174, 0.020377232, -0.09655997, -0.08049554, 0.19659108, -0.02854923) * conv2d_2_5_texOff(vec2(0, -1)); + result += mat4(-0.026232813, 0.0325022, -0.02037916, -0.047701124, 0.06980882, 0.06691362, 0.028768243, 0.113236845, -0.039957304, -0.12430314, 0.028447095, 0.0040261173, 0.081020035, 0.010674468, -0.117409654, 0.013692501) * conv2d_2_5_texOff(vec2(1, -1)); + result += mat4(0.065786384, 0.0005992301, 0.064661525, 0.1288952, -0.074281275, 0.060290888, -0.06730421, -0.011512728, -0.010016912, -0.06614566, 0.006222685, 0.012775675, -0.13318385, 0.02976427, 0.0009275602, -0.02657586) * conv2d_2_5_texOff(vec2(-1, 0)); + result += mat4(0.055243112, -0.10161648, 0.06896416, 0.009231527, 0.03402835, 0.037006166, -0.120754935, 0.06723492, -0.07661594, 0.057083845, 0.07694408, -0.029086439, -0.025010493, 0.04097605, 0.21848506, -0.0465654) * conv2d_2_5_texOff(vec2(0, 0)); + result += mat4(-0.05601832, -0.022294002, -0.069476075, -0.07090722, -0.16644618, -0.033828788, 0.005138565, 0.044612136, -0.05478788, -0.031215979, 0.03188637, 0.00984995, 0.037473064, -0.03152525, 0.2799505, 0.05473705) * conv2d_2_5_texOff(vec2(1, 0)); + result += mat4(0.011880885, -0.18498395, -0.01388173, 0.0031235705, -0.041054986, 0.057089932, -0.00917233, -0.10033175, 0.05777529, 0.01899963, 0.0005910955, -0.027155481, -0.06403921, -0.06533432, -0.062140424, -0.031655308) * conv2d_2_5_texOff(vec2(-1, 1)); + result += mat4(-0.06345406, -0.17486466, 0.021360697, -0.2622939, -0.071724676, 0.008789376, 0.035861846, -0.015483006, -0.06038933, 0.00018164098, 0.051145785, -0.023036532, 0.05892123, -0.011357707, -0.11050422, 0.08514108) * conv2d_2_5_texOff(vec2(0, 1)); + result += mat4(-0.054249708, -0.0021653613, 0.06626078, 0.014232258, 0.07234081, -0.055689257, 0.033304486, -0.14233044, 0.0020672218, -0.015958883, 0.033780273, 0.019420587, 0.0026314084, -0.06797286, -0.08075071, 0.076316744) * conv2d_2_5_texOff(vec2(1, 1)); + result += mat4(0.106767334, 0.055033952, -0.12942946, 0.0644164, 0.08123859, -0.005265214, 0.07153413, 0.21271828, -0.063327186, 0.0046514533, -0.06277532, -0.34372458, -0.071054906, -0.053403847, 0.015840659, -0.07562892) * conv2d_2_6_texOff(vec2(-1, -1)); + result += mat4(-0.03923783, -0.047094095, -0.07043216, 0.045965537, 0.0049150814, -0.029306993, -0.09854758, 0.043443885, -0.13287699, -0.018384436, -0.007359946, -0.30717736, 0.095961116, -0.12309459, 0.04673524, -0.01774819) * conv2d_2_6_texOff(vec2(0, -1)); + result += mat4(-0.034959465, 0.059510365, -0.11494939, -0.003503468, 0.07101595, 0.09836746, -0.03300809, 0.06969265, -0.07663193, -0.08983477, -0.01930957, -0.0068298737, 0.07137577, -0.08357992, -0.20070665, -0.056401964) * conv2d_2_6_texOff(vec2(1, -1)); + result += mat4(-0.04936233, -0.03653014, -0.017894328, 0.11140129, 0.02891294, -0.019181771, 0.24414434, 0.19152279, -0.020054162, -0.042048648, 0.09356266, -0.07262944, -0.042722102, -0.08282751, -0.05615183, 0.03592758) * conv2d_2_6_texOff(vec2(-1, 0)); + result += mat4(0.08730993, -0.073902436, 0.029642459, -0.0222136, -0.11398949, 0.074024804, 0.038144443, -0.029516261, 0.0010372894, 0.016119584, 0.053904753, -0.07544754, -0.0027566398, 0.068776906, 0.094996184, 0.032324824) * conv2d_2_6_texOff(vec2(0, 0)); + result += mat4(-0.027888713, 0.027564524, 0.02109768, -0.011936006, 0.01818104, 0.048043896, -0.037970714, 0.056252904, -0.0056945374, -0.037662074, 0.095109396, -0.004566899, -0.013025716, 0.050833914, 0.02962866, -0.14334038) * conv2d_2_6_texOff(vec2(1, 0)); + result += mat4(0.06135352, 0.0038510638, -0.04605617, -0.058818962, 0.08151938, -0.03980168, -0.095936544, -0.03936693, -0.039692435, -0.0395301, -0.034059517, -0.08426192, 0.047299232, -0.12162504, -0.02667258, -0.012606707) * conv2d_2_6_texOff(vec2(-1, 1)); + result += mat4(0.04608114, 0.035380967, 0.020888275, -0.03911857, 0.13951616, 0.03369697, 0.044491384, -0.017207447, -0.07701077, -0.021307955, 0.08442861, -0.24578623, 0.06171646, 0.04667645, 0.1821173, 0.06257717) * conv2d_2_6_texOff(vec2(0, 1)); + result += mat4(0.02094516, -0.06937651, -0.020470114, -0.023903364, 0.08313354, 0.040232696, -0.11638914, 0.010351562, -0.11930117, -0.013907573, 0.008204282, -0.1444142, 0.0070734136, -0.034355175, -0.11675269, 0.054532167) * conv2d_2_6_texOff(vec2(1, 1)); + result += mat4(0.03696335, 0.030188408, 0.044820342, -0.014465056, -0.07805499, -0.02122215, -0.08872484, 0.010395978, -0.015623597, -0.020731209, -0.012713514, 0.09328578, 0.013983574, -0.014601428, -0.06184512, -0.043835092) * conv2d_2_7_texOff(vec2(-1, -1)); + result += mat4(0.024949647, 0.021963747, -0.17282303, 0.066650376, 0.03973785, -0.0035689252, -0.13222031, 0.052264296, 0.056597553, 0.0025277394, 0.1024629, 0.02972996, 0.05745854, 0.026602328, -0.012088891, -0.04472458) * conv2d_2_7_texOff(vec2(0, -1)); + result += mat4(0.008840532, 0.00937341, 0.0935768, -0.018508814, 0.031145768, -0.024462301, -0.108331606, 0.069659, -0.021821752, 0.023265984, -0.25949734, -0.032884013, 0.15698111, 0.022307903, 0.013167216, 0.07558735) * conv2d_2_7_texOff(vec2(1, -1)); + result += mat4(0.04454401, -0.0555355, 0.016810743, 0.03685232, -0.04014836, -0.037628025, -0.04510644, -0.038304143, 0.005727342, 0.006939839, 0.08064889, 0.06592243, 0.072425835, -0.075042665, 0.018586641, -0.09252461) * conv2d_2_7_texOff(vec2(-1, 0)); + result += mat4(-0.024218814, -0.008518983, 0.0060934126, 0.03086288, -0.055540152, -0.0003721631, 0.1467716, 0.07673141, 0.037549675, 0.069674626, 0.10925861, -0.022487411, 0.07579648, 0.03342671, 0.012877341, -0.25499743) * conv2d_2_7_texOff(vec2(0, 0)); + result += mat4(0.031397786, -0.040787194, 0.08291078, 0.043072525, -0.11775743, -0.03071782, 0.10617856, 0.081188485, -0.06410682, 0.0486248, 0.07217999, 0.09787964, 0.0014497906, -0.012750786, -0.0058547626, 0.020066911) * conv2d_2_7_texOff(vec2(1, 0)); + result += mat4(0.008479106, -0.078493804, -0.044856735, -0.02280209, -0.15707463, -0.11767986, -0.08458008, -0.10706185, -0.003569438, -0.08211497, 0.10066953, 0.013452658, 0.09199308, 0.06541638, 0.018911876, -0.04524077) * conv2d_2_7_texOff(vec2(-1, 1)); + result += mat4(-0.052886218, 0.00013017308, -0.07390449, -0.13183668, -0.14034812, -0.0055607823, -0.0012001754, -0.266319, -0.08458421, 0.03773662, 0.12072527, -0.14198543, 0.024804272, 0.105756626, -0.016230503, -0.0021803358) * conv2d_2_7_texOff(vec2(0, 1)); + result += mat4(-0.13210618, -0.05634646, -0.0071148924, -0.07793783, -0.10219109, -0.078970596, -0.009146864, -0.2209968, 0.084586404, 0.08742043, -0.1394729, 0.044054504, 0.085197434, 0.040285654, -0.0039622323, 0.042296283) * conv2d_2_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-4-ReLU) +//!HOOK LUMA +//!BIND conv2d_3_0 +//!BIND conv2d_3_1 +//!BIND conv2d_3_2 +//!BIND conv2d_3_3 +//!BIND conv2d_3_4 +//!BIND conv2d_3_5 +//!BIND conv2d_3_6 +//!BIND conv2d_3_7 +//!SAVE conv2d_4_0 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.001297498, -0.0065087434, -0.009712298, 0.0029563736); + result += mat4(0.0307542, 0.110071115, -0.040095046, -0.059011918, -0.0090467455, -0.0791047, 0.024168316, -0.035515428, -0.023193259, -0.07325606, 0.031104079, -0.032659292, 0.0005690495, 0.021187503, -0.024620738, 0.02402571) * conv2d_3_0_texOff(vec2(-1, -1)); + result += mat4(0.030317472, 0.009841716, 0.001405222, 0.10998552, -0.04070918, -0.030174514, -0.10165219, 0.027603397, 0.03920649, -0.014142091, -0.018238597, -0.04310875, 0.039986778, 0.05468892, 0.13610546, -0.09742952) * conv2d_3_0_texOff(vec2(0, -1)); + result += mat4(0.018383956, 0.081812285, 0.0978937, -0.08858433, -0.042761404, -0.018811576, -0.11025978, 0.00821123, -0.037487622, -0.047184784, 0.078985445, -0.13612099, 0.11629009, 0.109684765, -0.15596342, -0.15914178) * conv2d_3_0_texOff(vec2(1, -1)); + result += mat4(-0.0005451826, 0.10638089, -0.114058085, -0.044767763, 0.05867638, 0.07330843, 0.024307122, -0.06548046, -0.09819632, -0.05593764, 0.06872451, 0.011643019, -0.048135873, -0.039245054, 0.18267886, 0.022808876) * conv2d_3_0_texOff(vec2(-1, 0)); + result += mat4(-0.0061249533, -0.025543265, 0.087183535, 0.06305036, 0.08679025, 0.055491995, -0.051148675, 0.06606443, 0.045283027, -0.058413275, -0.14586654, -0.04275762, 0.026269728, 0.06888181, 0.02443734, -0.1153312) * conv2d_3_0_texOff(vec2(0, 0)); + result += mat4(0.053239673, -0.039385278, 0.12978165, -0.057609085, -0.029325148, -0.0075038997, -0.01560957, -0.045984242, 0.03956, 0.10531751, 0.007981278, -0.017814726, 0.08625581, 0.13439517, -0.15654576, -0.22681886) * conv2d_3_0_texOff(vec2(1, 0)); + result += mat4(0.062885135, 0.060144275, 0.022538256, 0.080524385, -0.09633449, 0.029877335, -0.058771614, 0.00077241875, 0.009234255, 0.057728197, 0.04450057, -0.0060449303, 0.03931956, 0.024256837, 0.16332047, 0.010146978) * conv2d_3_0_texOff(vec2(-1, 1)); + result += mat4(-0.02263935, 0.01685396, 0.06881484, -0.08608047, -0.035623115, 0.0701705, -0.04254183, 0.094864406, -0.0028715294, 0.00421661, -0.07754217, 0.07112932, 0.11540607, 0.026115391, -0.10514461, 0.03153022) * conv2d_3_0_texOff(vec2(0, 1)); + result += mat4(0.010606313, -0.06293143, 0.009866375, 0.010348902, 0.058000587, -0.011621273, -0.040615186, -0.021988424, 0.0027976448, -0.017929649, -0.039801568, 0.04725894, 0.11663037, 0.06689773, -0.07368649, -0.13354376) * conv2d_3_0_texOff(vec2(1, 1)); + result += mat4(-0.09756944, -0.12760656, -0.09669971, 0.02254296, 0.027734643, -0.006440755, -0.0086526675, 0.004913226, 0.054760635, -0.037872385, -0.0647683, -0.03295994, -0.08560667, 0.024064248, -0.0076756733, 0.17973886) * conv2d_3_1_texOff(vec2(-1, -1)); + result += mat4(-0.11556187, -0.05046799, 0.03406781, -0.17882515, -0.012502973, -0.034855243, -0.039059963, 0.0073535647, -0.025793198, 0.050479945, -0.033634454, -0.052991625, -0.031874537, 0.031061765, -0.030797457, 0.013010272) * conv2d_3_1_texOff(vec2(0, -1)); + result += mat4(-0.15420745, -0.1119091, -0.028498705, 0.072394595, -0.011131699, -0.020890353, 0.031915553, -0.023362067, -0.020740172, -0.038504977, -0.03187763, -0.02519372, -0.043623883, -0.14736407, -0.060275123, -0.03588015) * conv2d_3_1_texOff(vec2(1, -1)); + result += mat4(-0.08187187, -0.09991047, -0.19398731, 0.01396751, -0.00029235732, 0.0153481085, -0.15794529, -0.03274963, -0.035598565, -0.011526904, -0.0395109, 0.044316217, 0.07450283, -0.012877751, -0.08947059, -0.052287932) * conv2d_3_1_texOff(vec2(-1, 0)); + result += mat4(-0.06408677, -0.050958212, -0.15064482, 0.02524688, -0.09586835, 0.10694065, 0.060516164, -0.05857554, -0.107326046, 0.053013414, -0.08412699, -0.07637008, 0.08172109, 0.05021269, 0.114445105, -0.008352143) * conv2d_3_1_texOff(vec2(0, 0)); + result += mat4(-0.12518707, -0.105771616, 0.024336437, 0.130691, 0.005528732, -0.06271579, 0.030122153, -0.15884657, 0.08020923, -0.038627278, -0.050263498, -0.09366431, 0.031746317, -0.032087095, -0.016263798, -0.09096556) * conv2d_3_1_texOff(vec2(1, 0)); + result += mat4(-0.055702973, -0.029449092, -0.1435379, 0.049259502, 0.02895272, -0.031808507, 0.02508659, -0.22359204, -0.04380133, -0.0033889313, -0.045197885, 0.10225647, -0.009282755, -0.07061266, -0.09267174, -0.031175869) * conv2d_3_1_texOff(vec2(-1, 1)); + result += mat4(-0.04561683, 0.028633386, -0.094766825, 0.031183949, 0.096117266, -0.002092539, 0.023125917, -0.1354043, -0.010632316, -0.14139698, 0.05043378, -0.021457214, 0.060801364, -0.03997295, 0.010746449, -0.10096417) * conv2d_3_1_texOff(vec2(0, 1)); + result += mat4(-0.053789776, -0.13882828, -0.04896368, 0.13932355, 0.10390755, 0.14019322, 0.009105085, -0.25317812, -1.535523e-05, 0.0068908846, 0.02472801, -0.003135073, 0.014385219, -0.03566427, 0.080236286, -0.06345098) * conv2d_3_1_texOff(vec2(1, 1)); + result += mat4(0.077196844, 0.004092501, -0.046330996, -0.06201501, -0.030739622, -0.0789396, -0.00090717175, -0.10028272, 0.034967124, 0.07509549, 0.073571794, -0.04538965, 0.007212024, 0.023142103, -0.0257363, -0.019395739) * conv2d_3_2_texOff(vec2(-1, -1)); + result += mat4(0.098047264, 0.012449374, -0.08943702, -0.08114387, -0.052819632, 0.021099402, 0.015188124, -0.14554141, 0.035786945, -0.04229858, -0.049022265, 0.13082772, 0.040538386, -0.12868588, -0.20625453, -0.05965263) * conv2d_3_2_texOff(vec2(0, -1)); + result += mat4(0.023317575, 0.104224786, 0.09206533, -0.023418326, 0.0042558634, -0.02666202, -0.031166553, 0.12801245, 0.05182929, -0.06887129, 0.05300279, -0.123951025, -0.049699016, 0.06908968, 0.29655758, -0.038046475) * conv2d_3_2_texOff(vec2(1, -1)); + result += mat4(-0.1964653, 3.4631346e-05, -0.09324147, -0.07098879, 0.00089661917, -0.11899747, -0.017626856, 0.039199922, 0.04253898, -0.0014969219, 0.03797999, 0.04869461, 0.010138269, 0.1138518, -0.35780638, 0.0236427) * conv2d_3_2_texOff(vec2(-1, 0)); + result += mat4(-0.091229826, -0.10324766, 0.10011874, -0.031203935, 0.08294743, 0.124475785, 0.017462194, -0.104370385, 0.054000873, 0.045663238, -0.050728757, -0.06544032, -0.06252454, -0.009182348, -0.09399992, 0.095046304) * conv2d_3_2_texOff(vec2(0, 0)); + result += mat4(0.036615778, 0.0058296607, 0.090496495, -0.14238304, -0.034296636, -0.020861303, 0.036375947, -0.14971264, -0.09989942, -0.019475972, 0.05718199, 0.029351253, 0.05768112, -0.117703214, 0.16779335, 0.030592788) * conv2d_3_2_texOff(vec2(1, 0)); + result += mat4(0.045826964, 0.05831493, -0.114153065, 0.0620855, -0.047409765, -0.08814292, -0.06820969, 0.08479351, 0.012514235, 0.0022593061, 0.008650499, -0.032736726, -0.0893812, -0.023484234, -0.21249874, 0.01186003) * conv2d_3_2_texOff(vec2(-1, 1)); + result += mat4(-0.05623989, -0.015771845, 0.052164074, 0.0026584459, -0.046969395, 0.039325863, 0.039562754, 0.066653684, 0.004509716, -0.04127077, 0.15639794, -0.09216284, -0.036561962, 0.086212836, -0.019100452, 0.09528127) * conv2d_3_2_texOff(vec2(0, 1)); + result += mat4(0.011825223, -0.038636, 0.035087947, 0.02963992, -0.06643939, -0.055656023, -0.014666177, 0.04367673, -0.024191942, 0.018664971, -0.1048709, 0.09064458, 0.031754673, -0.08235673, 0.3301148, 0.04262688) * conv2d_3_2_texOff(vec2(1, 1)); + result += mat4(-0.06501429, -0.031165564, -0.005327258, -0.06717788, 0.003616754, 0.10405685, -0.095887996, -0.047348894, 0.0409149, -0.12565504, 0.0427097, 0.048669744, 0.018292882, 0.04050423, 0.05457229, -0.07633226) * conv2d_3_3_texOff(vec2(-1, -1)); + result += mat4(0.02089264, -0.059583075, -0.0071142484, -0.008521035, -0.049831536, -0.0616244, 0.0814477, -0.0046176105, 0.0063499394, 0.0030608159, 0.01147707, 0.0007642247, 0.05646711, -0.045907, -0.07669806, 0.030491516) * conv2d_3_3_texOff(vec2(0, -1)); + result += mat4(-0.00071282836, -0.093612395, 0.027151577, -0.0121151265, -0.08838265, 0.031802285, -0.0786883, 0.12009554, -0.016435333, -0.04704302, 0.097600535, -0.13984397, 0.02851337, 0.108890116, -0.00081444427, 0.028605126) * conv2d_3_3_texOff(vec2(1, -1)); + result += mat4(-0.03280678, -0.015515791, 0.081762955, -0.043930836, 0.04634103, 0.15362364, 0.019036409, -0.08762447, -0.036144573, 0.00013811376, -0.10648993, 0.05397241, -0.062102128, 0.072900385, 0.0530934, 0.034270357) * conv2d_3_3_texOff(vec2(-1, 0)); + result += mat4(-0.006247557, 0.078225024, -0.043557804, -0.07037807, -0.04431877, 0.019305224, 0.109520264, -0.004579523, -0.14944728, 0.01711581, 0.12166854, 0.006380165, -0.029962087, 0.046440613, -0.1660476, 0.09694119) * conv2d_3_3_texOff(vec2(0, 0)); + result += mat4(-0.045680307, -0.055874266, 0.043643504, 0.070179984, 0.019562298, -0.08366807, -0.066016875, -0.015373493, 0.025208062, 0.037054513, -0.09943359, -0.19693671, 0.042480238, -0.054974757, 0.021959044, -0.07544782) * conv2d_3_3_texOff(vec2(1, 0)); + result += mat4(-0.036999106, 0.026237903, -0.07756478, -0.025651202, 0.040296767, 0.021823041, -0.10726705, -0.001880506, 0.020753525, -0.022241127, 0.099860944, -0.01582521, 0.06560787, -0.00032392485, -0.020402864, 0.0019662138) * conv2d_3_3_texOff(vec2(-1, 1)); + result += mat4(-0.043003313, -0.06846286, 0.0016433535, 0.08310244, 0.11344309, 0.16058642, -0.026007267, 0.08067074, -0.07387524, -0.037627757, 0.10078218, -0.30546921, 0.03623496, -0.08555637, -0.0731982, -0.14555268) * conv2d_3_3_texOff(vec2(0, 1)); + result += mat4(-0.09309881, -0.16514696, 0.048096593, 0.030614678, 0.025486484, -0.04482028, -0.055902865, 0.017464122, 0.13281885, -0.032596026, -0.23231979, -0.24311082, -0.049219217, 0.06379393, 0.06227947, 0.07824621) * conv2d_3_3_texOff(vec2(1, 1)); + result += mat4(0.0029592272, -0.0330112, -0.004600684, -0.045740645, -0.10392563, -0.21787354, 0.05658194, 0.046001498, -0.07394025, 0.01582621, 0.05982421, -0.042299494, 0.009829001, 0.06504289, 0.08802753, -0.10162826) * conv2d_3_4_texOff(vec2(-1, -1)); + result += mat4(0.031229619, 0.017050657, 0.0042669787, 0.01449318, -0.12361226, -0.13428785, 0.008537231, 0.010576643, 0.005321235, -0.09053617, -0.011286252, 0.032964926, 0.063006096, 0.08278964, -0.07858851, -0.013400612) * conv2d_3_4_texOff(vec2(0, -1)); + result += mat4(0.006416756, -0.017903578, -0.06097922, 0.04595689, -0.021175915, 0.010042849, -0.03621645, 0.058986496, 0.053579263, 0.058018215, -0.07598693, 0.04467991, -0.078982115, -0.047617685, -0.051238883, -0.060940657) * conv2d_3_4_texOff(vec2(1, -1)); + result += mat4(0.008006531, 0.005419851, -0.01851887, -0.12200991, -0.06509548, -0.06956807, -0.22295326, 0.009908863, 0.16202894, 0.09325551, -0.09836891, -0.056791734, -0.080961846, 0.0061289063, 0.119229406, -0.06516644) * conv2d_3_4_texOff(vec2(-1, 0)); + result += mat4(-0.026715597, -0.06488778, -0.076047994, -0.00027032994, -0.03899138, -0.08387015, 0.0004755267, 0.024045484, -0.042108167, -0.036748625, 0.012082791, 0.05340476, 0.016424278, -0.069954745, 0.029739354, -0.24664564) * conv2d_3_4_texOff(vec2(0, 0)); + result += mat4(-0.050991487, 0.011041646, 0.09607095, 0.08222427, -0.020713005, 0.03526859, -0.08924468, -0.030224532, 0.007608889, -0.12818351, -0.058399063, 0.004891563, 0.1319858, 0.12219863, -0.054178406, 0.00443812) * conv2d_3_4_texOff(vec2(1, 0)); + result += mat4(0.029241577, 0.12286318, 0.018364731, 0.084777646, -0.07230131, -0.16515256, 0.051283628, -0.024057353, -0.003159949, -0.017476914, -0.13690387, 0.022863373, -0.04398845, -0.013619937, 0.09118551, -0.030597817) * conv2d_3_4_texOff(vec2(-1, 1)); + result += mat4(0.047796004, 0.053400468, 0.06587853, -0.09657542, -0.1168141, -0.08290447, 0.0066278954, -0.0039822008, -0.08968305, 0.004075313, -0.031153284, -0.085834384, -0.030500645, -0.001754176, 0.025058124, -0.17719801) * conv2d_3_4_texOff(vec2(0, 1)); + result += mat4(0.012093572, -0.0028116016, 0.12560028, 0.01600372, -0.09476861, 0.0030154102, 0.03254636, -0.14718753, -0.039479017, -0.06743988, 0.061963316, -0.0011230095, 0.0064540724, 0.08046787, 0.038849723, -0.10481304) * conv2d_3_4_texOff(vec2(1, 1)); + result += mat4(-0.00931645, 0.055880506, -0.029021595, -0.2355026, -0.0037775412, -0.054555755, -0.05965363, -0.012274303, -0.0035042088, -0.016910566, 0.16002516, 0.060919665, -0.027682295, -0.04949971, 0.12735513, -0.043415584) * conv2d_3_5_texOff(vec2(-1, -1)); + result += mat4(0.018021692, 0.07864286, -0.017921787, -0.26490626, 0.026476748, 0.07127155, -0.042125244, 0.060463946, 0.17918523, 0.15827659, -0.041599564, 0.06345943, 0.0019365129, -0.010124011, -0.067821845, 0.061100647) * conv2d_3_5_texOff(vec2(0, -1)); + result += mat4(0.0053032497, 0.14350167, -0.013867777, -0.23029254, -0.09990379, -0.046520513, -0.024037374, 0.06713618, -0.052718636, -0.033764903, -0.018470788, 0.04428408, -0.04714799, 0.021927105, -0.08813312, -0.026622457) * conv2d_3_5_texOff(vec2(1, -1)); + result += mat4(0.021239528, 0.014440995, 0.04270728, -0.19568206, -0.004939722, 0.019886607, 0.08293881, 0.023766965, -0.054048106, -0.03639703, 0.23772617, -0.042408448, -0.04110383, -0.10284417, 0.06320205, 0.08808155) * conv2d_3_5_texOff(vec2(-1, 0)); + result += mat4(0.040875874, 0.10902725, -0.016772829, -0.22694634, -0.051665004, -0.01408541, 0.032597907, -0.028247062, 0.15107481, -0.0007243052, -0.14807174, 0.20454818, 0.04342644, 0.047159765, -0.0685189, -0.19587798) * conv2d_3_5_texOff(vec2(0, 0)); + result += mat4(0.08543036, 0.10890476, -0.01631826, -0.2169062, 0.03694484, 0.094237626, -0.08748355, -0.06613997, -0.039067704, 0.17417417, 0.08749135, 0.020222077, -0.028901102, 0.044807855, -0.030436795, 0.13042559) * conv2d_3_5_texOff(vec2(1, 0)); + result += mat4(-0.00052453903, 0.030077165, 0.054609634, -0.09680568, 0.002509746, -0.016451577, -0.017412098, -0.09732518, 0.02325644, -0.15515515, 0.038588226, 0.012091095, -0.017176855, -0.07627223, 0.07901696, -0.058352504) * conv2d_3_5_texOff(vec2(-1, 1)); + result += mat4(0.020975858, 0.09265018, 0.031137316, -0.28925422, 0.011965871, 0.013576407, 0.016227296, 0.0709036, -0.06389025, -0.044018753, -0.05544598, -0.013356189, 0.04382926, 0.05201352, -0.075479604, 0.0010320517) * conv2d_3_5_texOff(vec2(0, 1)); + result += mat4(0.06068905, 0.081895284, -0.039442956, -0.20067702, -0.044060506, -0.06541156, -0.01929244, -0.06877913, -0.025418289, 0.009166058, 0.03897904, -0.049793076, -0.00059621176, 0.10523079, 0.032395337, -0.037087638) * conv2d_3_5_texOff(vec2(1, 1)); + result += mat4(0.012649169, -0.016478803, 0.02811713, -0.1288813, 0.030994868, 0.066158265, -0.12128426, -0.05990015, -0.08596737, -0.059043776, 0.11374108, 0.078249454, -0.00853374, 0.06551078, 0.1043416, -0.040512238) * conv2d_3_6_texOff(vec2(-1, -1)); + result += mat4(0.052196752, 0.13836735, 0.032849066, -0.110948406, -0.055362485, -0.061873112, 0.019687528, -0.06281369, 0.0122711575, 0.05506548, -0.13559866, -0.036733773, 0.043169715, 0.08321538, -0.01972971, -0.13704552) * conv2d_3_6_texOff(vec2(0, -1)); + result += mat4(0.02453781, -0.10235448, -0.04871784, -0.14650507, -0.036084916, 0.014000968, -0.027747724, 0.062071666, 0.0066410154, -0.030238656, 0.085084334, 0.017837113, 0.10545094, 0.071239635, 0.024302112, -0.0687442) * conv2d_3_6_texOff(vec2(1, -1)); + result += mat4(0.05438801, -0.06291775, 0.0959787, -0.14545797, 0.025826182, 0.014061577, -0.08653995, 0.06959441, 0.13462521, -0.046186417, -0.027058318, -0.0040011723, -0.021815652, 0.055174697, 0.07899487, -0.015391194) * conv2d_3_6_texOff(vec2(-1, 0)); + result += mat4(0.014874482, 0.2834055, -0.031861242, -0.086979024, 0.010068959, -0.04039305, 0.070874505, -0.071026094, -0.022789251, -0.059423715, 0.13312775, -0.090216756, 0.034641657, -0.0765178, -0.1255788, -0.014283237) * conv2d_3_6_texOff(vec2(0, 0)); + result += mat4(-0.015436476, 0.0054826564, -0.03670224, -0.26363578, -0.0065187193, 0.0012426856, -0.06513984, 0.07602856, -0.048755202, -0.08096903, 0.004155334, 0.009528009, 0.12222361, 0.0083645005, -0.031097414, 0.05375383) * conv2d_3_6_texOff(vec2(1, 0)); + result += mat4(0.06738378, 0.022118593, -0.049497444, -0.040710486, 0.14152277, 0.012439517, -0.03872261, 0.0036324025, -0.088352464, 0.06362654, 0.0057503446, 0.034636024, -0.016986528, -0.023452438, 0.07595582, 0.024162212) * conv2d_3_6_texOff(vec2(-1, 1)); + result += mat4(-0.008057275, -0.009183485, 0.21042077, -0.07742524, -0.09224939, -0.11267391, 0.08989098, 0.12049052, -0.1186678, -0.047290556, 0.07291625, 0.0749828, 0.07284727, -0.14506471, 0.020206574, 0.0548584) * conv2d_3_6_texOff(vec2(0, 1)); + result += mat4(0.042531006, -0.063214146, -0.11715253, -0.12647526, 0.05192705, -0.04712912, 0.05893539, -0.13802843, 0.0484423, -0.112423055, -0.10124069, 0.07110461, -0.006452327, 0.026906116, -0.07637753, 0.02274258) * conv2d_3_6_texOff(vec2(1, 1)); + result += mat4(-0.045590512, -0.053180832, 0.040544603, 0.07261352, 0.027663944, -0.05133755, -0.03554973, -0.080693096, -0.03350957, 0.05262152, -0.09918379, 0.042182315, -0.011063213, 0.007788051, -0.2607562, 0.08191719) * conv2d_3_7_texOff(vec2(-1, -1)); + result += mat4(-0.06860746, -0.05494562, 0.05685143, -0.090176344, 0.030526621, 0.050996087, -0.15769346, -0.020723766, 0.031475082, -0.0085524265, 0.054390844, 0.060677394, -0.10295058, -0.012169543, 0.019751893, 0.07105646) * conv2d_3_7_texOff(vec2(0, -1)); + result += mat4(0.011602318, -0.05711275, -0.06437084, -0.09135134, -0.08599616, 0.0037876826, 0.18347543, 0.01694199, -0.040707465, 0.05684759, -0.0587266, 0.039101496, -0.056792706, -0.10920313, 2.935624e-05, 0.08455136) * conv2d_3_7_texOff(vec2(1, -1)); + result += mat4(0.062483698, -0.078039676, -0.0624309, 0.0825381, 0.059258297, 0.046247248, -0.1232144, -0.05782922, 0.07832184, -0.035790816, 0.013762023, 0.053666815, -0.00928483, 0.04190493, -0.10190783, -0.0052450737) * conv2d_3_7_texOff(vec2(-1, 0)); + result += mat4(0.0552271, -0.004141488, 0.0064614736, 0.07087936, -0.034206193, -0.01323255, -0.042950492, 0.01013751, -0.0006116106, -0.21293692, -0.15012604, 0.26192838, -0.089695476, -0.06988212, -0.05460127, -0.03294617) * conv2d_3_7_texOff(vec2(0, 0)); + result += mat4(0.016797192, 0.01788471, -0.018910827, -0.11585205, -0.013969206, -0.0010817602, 0.048054293, 0.094405785, 0.0069383574, 0.03038115, 0.0798555, -0.30880728, -0.094242185, -0.145702, 0.09085706, 0.034629773) * conv2d_3_7_texOff(vec2(1, 0)); + result += mat4(-0.024397159, 0.0015022815, -0.047804654, 0.06643988, -0.04243779, 0.056689598, -0.052593403, 0.06582832, -0.09247831, -0.098168895, 0.07059941, -0.09151667, 0.09736248, 0.007911405, -0.1270915, 0.045242336) * conv2d_3_7_texOff(vec2(-1, 1)); + result += mat4(-0.013235571, 0.020706205, 0.028391587, -0.11776801, -0.052475262, 0.047859296, -0.25097835, -0.08298256, -0.0021267128, 0.09005628, -0.18598458, -0.023555268, -0.14667366, -0.1607977, -0.030906295, 0.08551479) * conv2d_3_7_texOff(vec2(0, 1)); + result += mat4(0.01866763, -0.028790705, -0.03306289, 0.052150063, -0.029481972, -0.04892118, -0.07195435, -0.022099348, -0.16663189, 0.03374329, 0.10295009, -0.06170818, -0.11896051, -0.040600613, 0.114862375, 0.015520137) * conv2d_3_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-4-ReLU) +//!HOOK LUMA +//!BIND conv2d_3_0 +//!BIND conv2d_3_1 +//!BIND conv2d_3_2 +//!BIND conv2d_3_3 +//!BIND conv2d_3_4 +//!BIND conv2d_3_5 +//!BIND conv2d_3_6 +//!BIND conv2d_3_7 +//!SAVE conv2d_4_1 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.006379549, -0.008068941, -0.006406628, -0.0015497542); + result += mat4(-0.031557634, -0.09833661, -0.012600758, 0.062796265, 0.048256084, 0.0071421205, -0.0062383804, -0.03477908, 0.014040985, 0.034432925, 0.11154019, -0.08572129, 0.111747235, 0.038687356, -0.043459814, 0.012978157) * conv2d_3_0_texOff(vec2(-1, -1)); + result += mat4(0.0749469, -0.1464586, -0.13580792, -0.030490637, 0.02536902, 0.063326105, -0.015711743, 0.057850186, 0.018953172, 0.027411148, -0.107490405, -0.034978304, 0.090348616, -0.039208833, 0.067540415, -0.073663816) * conv2d_3_0_texOff(vec2(0, -1)); + result += mat4(0.052428, -0.025310375, -0.012101226, 0.02872605, 0.03845422, -0.13816716, 0.07972185, -0.087639056, -0.034431107, 0.015608462, -0.001860736, -0.08053116, 0.04661563, 0.054424103, 0.0017307067, -0.013718681) * conv2d_3_0_texOff(vec2(1, -1)); + result += mat4(0.055763863, -0.047137097, -0.041851573, 0.07192936, 0.027522488, 0.05603891, 0.044625197, 0.104749486, 0.019905852, 0.042022575, -0.051554766, 0.05292041, -0.043068454, 0.017715639, -0.06493816, 0.038954046) * conv2d_3_0_texOff(vec2(-1, 0)); + result += mat4(-0.016847378, -0.031903423, -0.045065466, -0.103377916, -0.009210504, -0.034480657, -0.014561754, -0.03902196, -0.019400213, 0.011279455, 0.14939165, 0.019456228, 0.021778706, 0.031016603, -0.12966788, 0.006136294) * conv2d_3_0_texOff(vec2(0, 0)); + result += mat4(0.012586105, -0.04650489, -0.09717416, -0.064375736, 0.028706407, -0.03538536, -0.0014567799, -0.0947692, -0.111324854, 0.04230429, 0.038363326, 0.09026202, 0.0808334, -0.049467277, -0.016986497, 0.035324596) * conv2d_3_0_texOff(vec2(1, 0)); + result += mat4(-0.041722007, -0.05653621, -0.018161407, 0.0093411375, -0.028402137, -0.025824646, -0.061412856, -0.04429888, 0.037695054, 0.03982964, -0.06465468, -0.004455608, 0.078447975, 0.043222263, -0.03933266, -0.032986682) * conv2d_3_0_texOff(vec2(-1, 1)); + result += mat4(0.027190413, -0.066920035, -0.06023376, 0.016298406, -0.118690744, 0.0051810415, -0.0040356913, 0.0147043485, 0.023735289, -0.088419594, -0.2024236, -0.079781175, -0.004736081, -0.034069758, 0.08687962, 0.019174892) * conv2d_3_0_texOff(vec2(0, 1)); + result += mat4(0.054737765, -0.021340962, 0.01104752, 0.0333757, -0.053149, -0.03882079, -0.096302904, 0.013653397, 0.089342155, 0.0093604885, 0.057342783, -0.103037946, -0.0030194612, 0.01629727, -0.018219076, -0.20671043) * conv2d_3_0_texOff(vec2(1, 1)); + result += mat4(-0.1270316, -0.021611517, -0.092947654, 0.029557023, -0.034573324, -0.06703402, -0.14412916, 0.029102309, 0.05557864, -0.05357307, -0.09082321, 0.019904437, -0.08588484, -0.08338233, -0.040256515, -0.012690078) * conv2d_3_1_texOff(vec2(-1, -1)); + result += mat4(0.011558843, 0.107756816, 0.075884484, -0.057844736, -0.040056314, 0.07745908, 0.0015567744, 0.0670652, -0.082373984, -0.07205164, 0.042835336, 0.009112733, 0.010506597, -0.009922741, -0.13930598, 0.0332309) * conv2d_3_1_texOff(vec2(0, -1)); + result += mat4(-0.14390019, 0.02255831, -0.0007907062, -0.06768102, -0.14758824, 0.011935593, 0.048765987, 0.012218844, 0.042762093, 0.07372455, 0.040072832, -0.06231301, 0.07784797, 0.03052204, -0.03896795, 0.05628744) * conv2d_3_1_texOff(vec2(1, -1)); + result += mat4(-0.106554605, -0.034986675, -0.013941409, -0.021957757, -0.109548934, -0.053906474, 0.003178843, -0.03242499, -0.03753928, -0.09477807, 0.20001714, 0.12106788, -0.017310549, 0.061520476, 0.10212664, 0.085120246) * conv2d_3_1_texOff(vec2(-1, 0)); + result += mat4(-0.06820208, 0.06267926, -0.18606792, -0.15910155, -0.0044741435, 0.0010818539, -0.06256029, 0.08838236, 0.06802175, 0.0008685989, 0.12538886, -0.07624376, 0.07764809, -0.023178866, 0.05820777, 0.046605077) * conv2d_3_1_texOff(vec2(0, 0)); + result += mat4(-0.11031076, -0.043721896, -0.09019402, -0.096983165, 0.010841077, -0.0565334, -0.036537968, 0.038519647, -0.04230495, -0.0026516193, -0.011886841, 0.040969823, -0.04114108, -0.056148015, 0.04165617, 0.01682448) * conv2d_3_1_texOff(vec2(1, 0)); + result += mat4(-0.072676696, -0.04935679, -0.008774759, -0.034445893, 0.016995613, -0.06504868, 0.036067665, -0.06956205, -0.06397044, 0.011371528, -0.05833817, 0.017485252, 0.011973828, -0.11467404, -0.067089565, -0.032667823) * conv2d_3_1_texOff(vec2(-1, 1)); + result += mat4(0.044613097, -0.07150738, 0.09481051, -0.034945123, -0.005838635, -0.009794261, 0.025432182, 0.012879437, 0.031842623, -0.023082467, 0.06791512, -0.04485353, 0.0061815367, 0.02073496, 0.0235874, -0.089794904) * conv2d_3_1_texOff(vec2(0, 1)); + result += mat4(-0.062255457, -0.05034199, 0.12960191, 0.014749233, -0.084441185, -0.043702856, 0.010875469, 0.01378591, -0.09913864, -0.013836205, 0.044231307, -0.07501944, 0.035245683, -0.12061859, 0.08606187, -0.020762263) * conv2d_3_1_texOff(vec2(1, 1)); + result += mat4(0.039011452, -0.021201672, 0.08973478, -0.12652613, 0.04091401, -0.042701654, -0.05553945, -0.023494247, 0.023621388, 0.030265056, 0.004952567, -0.07795097, -0.031923488, 0.032330234, -0.095344685, -0.00820541) * conv2d_3_2_texOff(vec2(-1, -1)); + result += mat4(-0.027047275, -0.03497473, -0.04303649, 0.007833228, -0.0017952244, -0.011845454, -0.02594256, 0.044121236, 0.054716222, -0.08063141, -0.011296308, -0.057420578, -0.011466104, -0.025981821, -0.028433414, 0.06771239) * conv2d_3_2_texOff(vec2(0, -1)); + result += mat4(-0.081554964, 0.0060052723, -0.07570701, -0.16558117, -0.016621096, 0.03762745, -0.025554847, -0.07534501, 0.07163663, -0.03910671, -0.11210569, -0.024504058, -0.09524719, -0.024367318, -0.09679198, 0.10582615) * conv2d_3_2_texOff(vec2(1, -1)); + result += mat4(-0.041602045, -0.04592826, -0.058546264, -0.06703029, -0.039960887, -0.012083674, 0.031457923, -0.15202989, -0.003566816, 0.04517968, 0.033583768, -0.0079607265, -0.07493188, -0.07676251, -0.11132592, -0.08907929) * conv2d_3_2_texOff(vec2(-1, 0)); + result += mat4(0.0489248, -0.032027543, 0.048861843, -0.16087845, 0.0183817, -0.023579668, 0.097747706, -0.06979567, -0.0482675, -0.037625317, -0.07446015, -0.04399538, 0.031422477, 0.13986263, 0.05564236, 0.018157335) * conv2d_3_2_texOff(vec2(0, 0)); + result += mat4(-0.075395726, -0.10987765, 0.028960433, -0.09613142, -0.015673451, -0.02715371, 0.009297457, 0.03968693, -0.019503893, -0.046434402, -0.008862317, -0.1264693, -0.021771563, -0.03364429, -0.06408313, 0.035143375) * conv2d_3_2_texOff(vec2(1, 0)); + result += mat4(-0.0067302026, 0.029115217, 0.10212905, -0.046082444, 0.019866742, -0.08075798, 0.007520845, 0.13507208, -0.056084305, -0.016229725, 0.036655758, 0.07552115, -0.014207492, -0.032520503, 0.08934484, 0.01803111) * conv2d_3_2_texOff(vec2(-1, 1)); + result += mat4(-0.010150478, 0.036370803, 0.035316333, 0.006266827, -0.03643874, -0.025266206, 0.025615927, 0.013662436, -0.035489373, -0.085752144, -0.00018927001, 0.049070083, -0.15031797, -0.0019938648, -0.052474562, 0.13337575) * conv2d_3_2_texOff(vec2(0, 1)); + result += mat4(-0.017123569, -0.050188128, -0.04494167, -0.075566456, -0.003976764, -0.065112054, 0.0935131, 0.07206743, 0.06249476, -0.06999651, 0.08811845, -0.04911541, -0.0897098, 0.019112157, -0.18798569, -0.018330144) * conv2d_3_2_texOff(vec2(1, 1)); + result += mat4(-0.014443157, -0.003867554, -0.056355413, -0.04501927, -0.051694386, -0.009236123, 0.1934243, 0.0152042275, -0.15414947, -0.026325725, 0.0639396, -0.065190166, 0.0063039567, 0.04605716, 0.04693497, -0.057013843) * conv2d_3_3_texOff(vec2(-1, -1)); + result += mat4(0.049466543, 0.046881102, -0.089264385, -0.09105392, -0.0026708045, 0.028674418, -0.0688195, 0.04500861, -0.056107096, 0.020292899, -0.022170024, 0.019272014, 0.040343903, -0.01864657, 0.039130572, 0.12246929) * conv2d_3_3_texOff(vec2(0, -1)); + result += mat4(-0.11978123, -0.014080547, -0.03095094, -0.05827396, 0.020160414, 0.08341323, 0.03122259, 0.06813834, 0.07521792, 0.037215207, 0.17815745, 0.018291129, -0.054779578, 0.020670453, 0.047426403, -0.054653898) * conv2d_3_3_texOff(vec2(1, -1)); + result += mat4(0.0098295575, -0.09078141, -0.01947299, 0.097710036, -0.014986923, 0.013906354, -0.15915929, 0.077868424, -0.014539689, -0.007099252, -0.13051815, -0.004207807, -0.025044637, -0.064730644, -0.07236125, -0.023479084) * conv2d_3_3_texOff(vec2(-1, 0)); + result += mat4(0.05483069, -0.0642339, -0.11310222, -0.035991013, 0.07335746, 0.028148228, -0.08902329, -0.016377512, 0.09289109, 0.041102886, -0.14050706, 0.07754713, -0.033194207, 0.026210776, -0.15714128, -0.023462247) * conv2d_3_3_texOff(vec2(0, 0)); + result += mat4(-0.12646034, -0.09611034, 0.06925332, 0.03613202, 0.0088838525, -0.0013688274, -0.057155307, 0.058939993, 0.049988396, 0.04502221, -0.03312694, 0.10025968, -0.038739346, 0.041013986, 0.022444034, 0.05929534) * conv2d_3_3_texOff(vec2(1, 0)); + result += mat4(-0.009394362, -0.012867917, 0.10170856, -0.050007902, -0.042305037, 0.0010661094, 0.073919214, -0.10299727, 0.034269635, 0.013315939, 0.01827331, -0.11886929, -0.03280931, -0.055600323, 0.06487842, -0.033505674) * conv2d_3_3_texOff(vec2(-1, 1)); + result += mat4(-0.014987281, -0.01479912, 0.061754286, -0.057256557, 0.015801616, -0.05664583, 0.043822795, 0.0003575993, 0.015437192, 0.06385222, -0.10102374, -0.02188333, 0.060227167, 0.056198474, 0.0011104168, 0.023920864) * conv2d_3_3_texOff(vec2(0, 1)); + result += mat4(0.04105658, 0.0016000401, 0.07631601, -5.0323033e-05, 0.051494293, -0.017381554, 0.14712106, 0.04231181, -0.11968268, -0.024419863, -0.12928204, -0.19623996, -0.011724766, 0.10955326, 0.0672974, -0.01196519) * conv2d_3_3_texOff(vec2(1, 1)); + result += mat4(-0.009500626, -0.04593044, 0.15175454, 0.020074619, -0.14804457, 0.09085396, -0.03886497, -0.062061604, 0.06479826, 0.033519138, 0.066756226, 0.15580761, 0.019001205, -0.01766892, -0.10331112, -0.048340514) * conv2d_3_4_texOff(vec2(-1, -1)); + result += mat4(0.0844588, -0.17924862, 0.08131529, -0.057142507, -0.09489402, 0.13710365, 0.14796935, 0.08574858, 0.013559088, 0.061372247, 0.016817117, -0.059698835, -0.025622744, 0.09422751, -0.030873083, -0.13956547) * conv2d_3_4_texOff(vec2(0, -1)); + result += mat4(-0.004176894, -0.045978073, -0.021016007, -0.029214354, -0.08006942, -0.024203746, 0.0754765, 0.05516781, 0.026428793, -0.017889999, 0.121390805, 0.102080196, -0.0564172, -0.029988818, 0.08641925, -0.06576334) * conv2d_3_4_texOff(vec2(1, -1)); + result += mat4(0.037855122, 0.076551534, 0.073687285, 0.053381443, -0.15082312, 0.015844898, 0.027618458, 0.024533326, -0.02033491, 0.050976362, -0.046312857, -0.1050088, 0.07674517, -0.07822095, 0.048117667, -0.12752186) * conv2d_3_4_texOff(vec2(-1, 0)); + result += mat4(-0.033724017, -0.19545004, 0.0062876013, -0.02873434, -0.05307122, 0.03550702, -0.21098393, 0.045404747, -0.002765991, 0.04490203, -0.15316449, 0.0042809513, -0.03308299, 0.01909727, 0.04443164, -0.0221982) * conv2d_3_4_texOff(vec2(0, 0)); + result += mat4(-0.0042151795, -0.16366081, 0.02720247, 0.041591402, -0.04979202, 0.06568537, -0.08404586, -0.07298453, -0.011102839, -0.028511155, -0.007857246, -0.01601577, -0.18030691, 0.036533706, -0.11274184, -0.14314854) * conv2d_3_4_texOff(vec2(1, 0)); + result += mat4(0.039053682, 0.093523666, 0.02666122, -0.10628801, -0.08118801, 0.008226446, 0.07636806, -0.10582424, -0.011157787, 0.07067199, 0.015913136, 0.044000614, -0.035512898, 0.06841706, -0.011828261, -0.04549051) * conv2d_3_4_texOff(vec2(-1, 1)); + result += mat4(-0.09267773, -0.03447796, -0.00033222444, -0.04680444, -0.04599075, 0.022900414, 0.10739522, -0.006933593, -0.0407681, 0.051071838, 0.10855842, 0.088202104, 0.05512666, 0.026374947, 0.13797046, -0.008934741) * conv2d_3_4_texOff(vec2(0, 1)); + result += mat4(0.024418455, 0.032623876, 0.016051661, 0.0012874677, -0.0832906, 0.026129542, -0.024901014, -0.0005604438, -0.0104362, 0.021871138, 0.032550603, 0.11117649, -0.02353592, 0.022361765, 0.09432064, 0.008075875) * conv2d_3_4_texOff(vec2(1, 1)); + result += mat4(-0.10782272, 0.010707939, -0.035464585, -0.13409427, 0.015791193, 0.021345653, 0.105609216, 0.11404161, 0.039640475, -0.06334943, -0.02653452, -0.07496489, 0.054856766, -0.04968686, 0.10544469, -0.030918695) * conv2d_3_5_texOff(vec2(-1, -1)); + result += mat4(-0.062389884, -0.05547848, 0.0010734282, -0.0429281, 0.07614693, 0.01534373, -0.05008403, -0.007615763, -0.011251943, 0.008121658, -0.013581108, -0.016601838, 0.09310436, -0.012089313, -0.096622095, 0.015976) * conv2d_3_5_texOff(vec2(0, -1)); + result += mat4(0.03898166, 0.043864068, -0.016967306, -0.03452438, -0.00075442164, 0.08786674, 0.05508875, -0.02882528, 0.012361892, 0.029220203, -0.056392934, -0.16082695, -0.0039260807, -0.06794844, 0.0029214052, -0.090994276) * conv2d_3_5_texOff(vec2(1, -1)); + result += mat4(-0.04607115, 0.010185816, 0.036989134, -0.04311765, 0.03577598, -0.01360423, -0.07308209, 0.024986299, 0.102144115, -0.054218113, 0.067918055, -0.04779955, -0.008445968, 0.0051174588, 0.05930026, 0.002343835) * conv2d_3_5_texOff(vec2(-1, 0)); + result += mat4(-0.13733412, -0.014426313, -0.03514928, -0.052066527, 0.02400515, -0.05688351, 0.10741943, -0.014617627, -0.019645352, 0.01664399, 0.059176996, -0.01098756, 0.018908162, 0.026661571, -0.26604939, 0.036170106) * conv2d_3_5_texOff(vec2(0, 0)); + result += mat4(0.12316135, 0.062278144, 0.06716553, -0.1370833, 0.028455734, 0.032528765, 0.09571788, -0.07751702, 0.08597513, 0.02184005, -0.0055810153, 0.021880092, 0.057679277, 0.071229085, -0.16049728, 0.10844087) * conv2d_3_5_texOff(vec2(1, 0)); + result += mat4(0.0040560393, 0.0013187994, -0.10736172, -0.08318756, -0.046868272, -0.011398476, -0.0077576307, 0.07510381, -0.007149423, 0.0037010862, 0.033663042, 0.0091506895, 0.030220961, 0.0041366634, -0.0939435, -0.08187666) * conv2d_3_5_texOff(vec2(-1, 1)); + result += mat4(-0.08728521, 0.0103874905, -0.24696323, -0.11262677, -0.020995151, 0.01415977, 0.0055129183, 0.01609927, 0.038575538, 0.11412283, -0.09385882, 0.026222993, 0.0067803743, 0.08869492, -0.061580356, 0.064350136) * conv2d_3_5_texOff(vec2(0, 1)); + result += mat4(0.006635151, 0.013697534, -0.036708083, -0.09071457, 0.02252869, 0.036674485, -0.021161666, -0.021817124, -0.0068915305, 0.090446904, 0.028016478, -0.03908822, -0.06741112, 0.07661349, -0.13695787, 0.018650535) * conv2d_3_5_texOff(vec2(1, 1)); + result += mat4(-0.019289339, 0.037071098, -0.1218084, -0.07588943, -0.079689905, 0.042683553, 0.059263237, -0.078778364, 0.079837434, 0.035180893, 0.013684723, 0.024062498, 0.105321005, 0.093330875, -0.070933536, 0.011564074) * conv2d_3_6_texOff(vec2(-1, -1)); + result += mat4(-0.025750613, 0.0069270637, -0.13420728, 0.008692811, 0.01377209, -0.013325155, -0.07579644, 0.0040682517, 0.042294264, -0.033541728, 0.00042764246, -0.07840713, -0.104129896, 0.07424997, -0.07653547, 0.033231627) * conv2d_3_6_texOff(vec2(0, -1)); + result += mat4(0.00030930762, 0.050755963, -0.06730331, -0.23007311, 0.07969623, 0.031384524, -0.036481157, -0.06480065, 0.0129956305, -0.11166892, -0.036413856, 0.017459098, 0.015679915, 0.11686492, -0.065539606, -0.10107066) * conv2d_3_6_texOff(vec2(1, -1)); + result += mat4(-0.04837143, -0.021418607, 0.1173516, 0.036758166, -0.09965267, -0.0051464736, -0.15964583, -0.051872596, -0.014420162, 0.0062180683, -0.044712983, -0.006595436, -0.02539534, -0.013090929, -0.10992321, -0.023108393) * conv2d_3_6_texOff(vec2(-1, 0)); + result += mat4(-0.012958707, -0.1122496, -0.008336997, 0.035062794, 0.06348563, -0.0422613, -0.022596734, 0.093218945, -0.013564156, -0.109662205, 0.21543671, 0.0028705643, 0.005906808, 0.056813344, 0.07401914, 0.015659334) * conv2d_3_6_texOff(vec2(0, 0)); + result += mat4(0.014846, -0.07035893, -0.042500004, -0.05063596, -0.0040058238, -0.030017363, -0.053446654, -0.009495751, 0.021402175, 0.027752375, 0.04942243, 0.046363335, -0.018042265, 0.05339136, -0.048854053, -0.0977109) * conv2d_3_6_texOff(vec2(1, 0)); + result += mat4(-0.033647865, -0.050957497, -0.13686328, -0.16783376, 0.041911226, 0.0713124, 0.13232704, -0.05402305, 0.0701161, 0.08855016, 0.11501843, 0.081495345, -0.055866815, -0.025376003, -0.088600576, -0.08924299) * conv2d_3_6_texOff(vec2(-1, 1)); + result += mat4(0.043295972, -0.116145045, -0.00021050368, -0.12492157, -0.052067526, 0.044986323, 0.103310995, 0.02496672, 0.08851941, 0.021261754, -0.009708712, 0.029323298, -0.049297825, -0.039404806, -0.049114585, -0.1531363) * conv2d_3_6_texOff(vec2(0, 1)); + result += mat4(0.060109217, -0.07982405, 0.18495898, -0.10848381, -0.019830562, 0.06386159, 0.10412183, 0.0063083703, 0.088378355, -0.013027357, -0.1280596, 0.039428927, -0.092504114, 0.04911022, -0.099677615, -0.25590375) * conv2d_3_6_texOff(vec2(1, 1)); + result += mat4(-0.067895755, 0.1225913, -0.033694915, -0.020392777, -0.06474364, -0.00029990927, 0.108219296, -0.0092293, -0.022290297, -0.01545505, -0.02490264, 0.0708652, -0.2087358, -0.003039558, -0.115329154, 0.020226866) * conv2d_3_7_texOff(vec2(-1, -1)); + result += mat4(0.023737814, 0.066237, -0.04278168, -0.1768209, 0.071938224, -0.022252603, 0.067882106, -0.018303582, 0.075020485, -0.07614848, -0.06657078, 0.030590668, 0.0005044966, 0.06254264, -0.047597747, -0.03860997) * conv2d_3_7_texOff(vec2(0, -1)); + result += mat4(-0.0056649246, -0.02772952, 0.0059592472, -0.19438975, -0.0979509, 0.04257816, 0.048015803, -0.14468832, -0.13062087, -0.001109985, -0.08225019, -0.04780823, -0.049912065, -0.11205447, -0.013591776, -0.009455406) * conv2d_3_7_texOff(vec2(1, -1)); + result += mat4(-0.056263454, -0.026980465, -0.12238719, 0.020796232, -0.12228451, 0.04957358, -0.02037517, -0.17504129, -0.036068764, 0.03719431, 0.023687003, -0.04598091, -0.12891547, -0.14131694, -0.032963414, -0.0011036004) * conv2d_3_7_texOff(vec2(-1, 0)); + result += mat4(-0.03588658, -0.09526258, -0.038530387, -0.104611106, -0.04273799, -0.027974825, -0.044680264, 0.00452936, 0.019387638, 0.1652349, -0.14495638, 0.013041547, -0.066739716, -0.037750505, 0.17374417, 0.07637479) * conv2d_3_7_texOff(vec2(0, 0)); + result += mat4(0.020533798, -0.06264511, -0.15585168, 0.039230622, -0.092151396, 0.029082121, -0.027477669, -0.00910508, 0.008025708, -0.085854314, -0.19811887, 0.102801695, -0.08136379, 0.00029042174, -0.06017675, -0.037106395) * conv2d_3_7_texOff(vec2(1, 0)); + result += mat4(-0.06030947, -0.007916848, -0.010851101, 0.094587944, -0.090791635, -0.029541526, 0.07362873, 0.05331954, 0.041299146, 0.013917543, 0.057984937, -0.10002641, -0.06355282, -0.08085237, -0.25989357, 0.091206044) * conv2d_3_7_texOff(vec2(-1, 1)); + result += mat4(-0.010071332, -0.023625618, 0.09582982, -0.027598761, -0.083347395, -0.04313407, -0.04942605, 0.0577437, 0.011144802, -0.0657881, 0.0034739564, 0.065259576, -0.011166708, -0.0456764, 0.02932219, 0.004185385) * conv2d_3_7_texOff(vec2(0, 1)); + result += mat4(-0.011356291, -0.0073744208, -0.08721416, 0.0054885093, -0.17897803, -0.06306387, -0.020903874, 0.07883087, -0.045014415, -0.05545672, 0.070923656, 0.084147304, 0.011384594, 0.022585245, -0.06772357, 0.06783098) * conv2d_3_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-4-ReLU) +//!HOOK LUMA +//!BIND conv2d_3_0 +//!BIND conv2d_3_1 +//!BIND conv2d_3_2 +//!BIND conv2d_3_3 +//!BIND conv2d_3_4 +//!BIND conv2d_3_5 +//!BIND conv2d_3_6 +//!BIND conv2d_3_7 +//!SAVE conv2d_4_2 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0033967996, -0.011525759, 0.001000769, 0.0024347317); + result += mat4(0.0012797012, 0.064603224, -0.03167407, -0.008984405, 0.013882293, 0.028909836, -0.050851762, -0.028747026, 0.032513674, 0.0018186644, 0.004228268, 0.03359829, 0.08037707, 0.11243716, -0.045996413, -0.01372579) * conv2d_3_0_texOff(vec2(-1, -1)); + result += mat4(-0.051785935, 0.105163775, -0.050439734, 0.008110951, 0.0031589668, 0.05644954, -0.012534201, 0.04176635, 0.02135067, 0.0462119, -0.0059558083, 0.01364383, -0.015007946, 0.017699003, -0.0738038, -0.06725637) * conv2d_3_0_texOff(vec2(0, -1)); + result += mat4(-0.034045927, -0.048980776, 0.007907708, 0.00787968, 0.06480215, -0.0047387662, -0.032979444, -0.08521585, 0.0057624346, 0.058704223, 0.023376156, -0.012310096, 0.048041485, -0.031442642, -0.08386895, -0.015208176) * conv2d_3_0_texOff(vec2(1, -1)); + result += mat4(0.017868506, 0.028601903, -0.010064311, -0.030338977, -0.060749106, 0.06675904, 0.028715545, 0.022116827, 0.06588907, 0.008097056, 0.0093545, -0.05988307, 0.08818741, 0.08040428, -0.044130526, 0.053917117) * conv2d_3_0_texOff(vec2(-1, 0)); + result += mat4(0.015140886, 0.08416198, 0.008040863, -0.058584493, -0.044646256, 0.027235327, -0.016297221, 0.051164825, -0.060073905, 0.080755405, -0.14304934, 0.12298097, 0.03489213, 0.07207115, 0.032725614, 0.042357214) * conv2d_3_0_texOff(vec2(0, 0)); + result += mat4(0.05616683, 0.09858498, -0.015024381, -0.10186987, -0.029762134, -0.0755632, -0.034539156, -0.0034500202, 0.048103675, -0.05933044, -0.049120482, 0.08334892, -0.0073441598, 0.08102224, 0.0028269417, 0.119426765) * conv2d_3_0_texOff(vec2(1, 0)); + result += mat4(0.0027114425, -0.04607504, -0.03229435, 0.035030186, -0.06260466, -0.024089329, -0.0020227032, -0.03706233, -0.07813799, -0.009345002, -0.017952668, 0.05627455, 0.05437145, -0.030515525, 0.058517385, 0.011959416) * conv2d_3_0_texOff(vec2(-1, 1)); + result += mat4(-0.01699319, -0.17324385, 0.012895436, 0.016268872, 0.09406972, 0.023450086, -0.014906668, -0.05519765, -0.03740592, 0.019486872, 0.069116734, 0.055231668, -0.017312495, -0.071521655, -0.054614652, 0.06843946) * conv2d_3_0_texOff(vec2(0, 1)); + result += mat4(-0.016752435, -0.004666998, 0.03877957, -0.048480608, 0.031330865, -0.039954662, -0.0637838, -0.03812079, 0.020133888, 0.05949326, -0.008591646, 0.09279523, -0.019543344, 0.029551003, 0.0445, -0.0013720461) * conv2d_3_0_texOff(vec2(1, 1)); + result += mat4(-0.10733103, 0.012951398, 0.11089118, -0.022197507, -0.07094193, -0.17127149, -0.022135621, 0.0022817252, 0.09587112, -0.05293235, -0.035395905, 0.039657492, -0.010123302, 0.024922024, 0.03595476, -0.09856857) * conv2d_3_1_texOff(vec2(-1, -1)); + result += mat4(-0.06941942, 0.000391484, 0.04912582, -0.013312207, 0.07538991, -0.18163049, 0.037853792, -0.060946666, -0.05614457, -0.11674057, -0.0014746565, 0.022648748, 0.038072646, 0.0862642, -0.015673498, -0.03351374) * conv2d_3_1_texOff(vec2(0, -1)); + result += mat4(-0.0965454, 0.0866725, 0.025630346, -0.060738556, -0.0064773243, -0.1715594, -0.07335091, 0.050168645, -0.0066294465, 0.057750657, -0.0050638383, -0.06184518, -0.026206415, 0.05021243, 0.023560587, -0.017160311) * conv2d_3_1_texOff(vec2(1, -1)); + result += mat4(-0.19594999, 0.013910842, -0.001661627, -0.121117376, 0.08692266, -0.049739014, 0.020122, -0.04611084, 0.0056465175, 0.015577081, 0.018807147, 0.0020665955, -0.02929408, -0.03439837, 0.0010688041, 0.06044485) * conv2d_3_1_texOff(vec2(-1, 0)); + result += mat4(-0.14412895, -0.10852596, 0.052967153, -0.09636424, 0.13914329, -0.03555186, 0.019495394, -0.10366792, -0.04926855, 0.032998547, 0.06975885, 0.08109695, 0.08578113, -0.10372708, 0.02196528, -0.123482764) * conv2d_3_1_texOff(vec2(0, 0)); + result += mat4(-0.04677668, -0.0008822032, -0.014623308, -0.04396308, -0.025980726, 0.0519444, 0.00035437045, -0.008102987, -0.055020202, 0.03930469, -0.021717716, 0.07884037, -0.027123613, -0.08434695, -0.051020432, -0.09125666) * conv2d_3_1_texOff(vec2(1, 0)); + result += mat4(-0.10581239, -0.076694846, 0.08568653, -2.6555514e-05, 0.010998989, -0.036057573, 0.018492438, -0.020084538, 0.049124315, -0.006230729, 0.054095794, 0.014446974, 0.0068071783, 0.018295646, -0.010183636, 0.00068526855) * conv2d_3_1_texOff(vec2(-1, 1)); + result += mat4(-0.036035452, 0.08202985, -0.012924356, -0.098656036, 0.07746468, -0.05132666, 0.0077549974, 0.01233861, -0.013460852, -0.028389148, -0.085371375, -0.06332497, -0.08868742, 0.00536267, 0.107514486, 0.012895361) * conv2d_3_1_texOff(vec2(0, 1)); + result += mat4(-0.0024658428, 0.019426126, -0.016881164, -0.020488717, -0.048922155, 0.17309126, -0.018372579, -0.03677687, -0.09155397, 0.061009586, -0.009616071, 0.03962786, 0.0035316525, 0.07635197, 0.058956627, -0.078343235) * conv2d_3_1_texOff(vec2(1, 1)); + result += mat4(-0.03039151, -0.02179706, -0.13256884, 0.015438953, 0.045164272, 0.008465823, -0.037302323, -0.047198467, 0.086461805, -0.026166867, -0.082825124, 0.04287783, 0.0063669016, -0.11573385, -0.07224976, -0.013714064) * conv2d_3_2_texOff(vec2(-1, -1)); + result += mat4(-0.00093393464, -0.071298994, -0.045471337, -0.049521264, -0.0225174, 0.00059206336, 0.04374177, 0.0036091383, 0.13097739, 0.058485433, -0.0064394586, 0.04528803, 0.07804035, 0.12880003, 0.06069678, 0.035211768) * conv2d_3_2_texOff(vec2(0, -1)); + result += mat4(0.0034267632, -0.02445536, -0.03262998, -0.016478172, -0.0055122855, -0.0501113, -0.008704746, -0.0031927635, 0.0469722, -0.024210429, 0.06736551, 0.009961532, -0.08491963, -0.06583238, 0.037627954, 0.06542382) * conv2d_3_2_texOff(vec2(1, -1)); + result += mat4(-0.016578473, 0.033218205, -0.0065697734, -0.04158166, 0.046912592, 0.04613003, -0.0012280424, -0.03691783, -0.042330205, 0.086754456, -0.044629443, 0.047134366, -0.036992215, -0.010501608, 0.067551166, 0.037200015) * conv2d_3_2_texOff(vec2(-1, 0)); + result += mat4(-0.027897786, 0.09747921, -0.04084643, 0.13552453, 0.057026025, -0.041359186, -0.042058386, 0.0009002652, -0.01104683, 0.032735273, -0.10358667, -0.014704521, 0.029653493, 0.033336595, 0.021377075, 0.05612358) * conv2d_3_2_texOff(vec2(0, 0)); + result += mat4(0.03921452, -0.065892264, -0.030849714, -0.008552324, 0.036152713, 0.002843949, -0.005661146, -0.054293033, 0.05298091, 0.060773555, -0.01566006, -0.025550537, 0.094225734, 0.1822973, -0.030561825, 0.12817883) * conv2d_3_2_texOff(vec2(1, 0)); + result += mat4(-0.08536916, 0.035227258, 0.03755952, -0.11607174, -0.0853034, 0.012900766, -0.03739922, -0.035334002, 0.047585174, 0.028244445, -0.0740126, -0.029372832, -0.059338946, 0.14307924, 0.051048215, -0.067679934) * conv2d_3_2_texOff(vec2(-1, 1)); + result += mat4(0.008592182, -0.058410797, 0.020849366, -0.16382204, -0.07770384, -0.025317764, -0.104188986, 0.020005422, -0.029965192, 0.0027783809, -0.04855559, 0.031024054, 0.11907461, -0.066049755, -0.0123903, 0.0012193247) * conv2d_3_2_texOff(vec2(0, 1)); + result += mat4(0.03476529, 0.046214636, 0.009888887, -0.031571466, -0.0017239347, -0.035213687, -0.018704506, -0.022970913, 0.038869925, 0.020617284, -0.027653646, 0.08438496, -0.05168644, -0.10030595, 0.05942646, -0.017527822) * conv2d_3_2_texOff(vec2(1, 1)); + result += mat4(0.03824222, -0.039970245, 0.01865399, 0.022627542, 0.010494951, 0.018938268, 0.047688883, 0.022623101, 0.028303806, 0.0012284952, 0.008151883, -0.013123273, -0.09821819, 0.12810522, -0.007887982, 0.001014433) * conv2d_3_3_texOff(vec2(-1, -1)); + result += mat4(0.055547453, -0.0048729135, -0.0971161, 0.081274316, -0.05333528, 0.10024997, 0.054938883, -0.044047352, 0.009951941, 0.03587957, 0.0074661407, -0.035541084, -0.04780075, 0.16808356, -0.013456479, 0.062173862) * conv2d_3_3_texOff(vec2(0, -1)); + result += mat4(0.043390345, -0.0902233, 0.019866854, -0.0050886264, -0.030174786, -0.038430244, 0.044491645, -0.033973187, -0.04173327, -0.122817226, 0.04216472, -0.0034701554, 0.060158264, 0.10290473, -0.0754422, 0.08634506) * conv2d_3_3_texOff(vec2(1, -1)); + result += mat4(0.08462651, 0.033815403, 0.017733779, -0.038401034, 0.018818637, -0.0011925928, -0.026301434, 0.027053649, 0.12861253, -0.10564661, -0.01422242, -0.013916042, -0.07513677, -0.043186367, -0.0067386, 0.103070624) * conv2d_3_3_texOff(vec2(-1, 0)); + result += mat4(-0.020922124, -0.08269207, -0.03295733, 0.035343938, 0.06537153, -0.047538456, 0.026420915, -0.018416645, 0.031600706, 0.058092102, -0.030969834, 0.002246037, -0.0394724, 0.036406036, -0.025417443, -0.018096048) * conv2d_3_3_texOff(vec2(0, 0)); + result += mat4(0.00821621, -0.014421023, 0.03438348, 0.048134994, -0.0058628554, -0.03268358, -0.050201043, 0.01843207, -0.017932825, 0.013981086, 0.09228249, 0.049337987, -0.06945597, -0.07996624, -0.009553615, -0.10418455) * conv2d_3_3_texOff(vec2(1, 0)); + result += mat4(-0.044928364, -0.044632304, 0.056615733, -0.0014097706, -0.047924325, 0.056804743, -0.050601732, 0.033798244, 0.08417014, -0.20754884, -0.0007047572, -0.114615664, -0.014755344, -0.0026903795, 0.006950572, -0.01987855) * conv2d_3_3_texOff(vec2(-1, 1)); + result += mat4(-0.013488814, 0.025454564, -0.02341538, 0.08783819, 0.011724989, 0.15184675, 0.026375612, -0.06215876, -0.05694868, -0.11776829, -0.019890303, -0.13095337, -0.054090627, -0.00496299, -0.055181853, -0.09454007) * conv2d_3_3_texOff(vec2(0, 1)); + result += mat4(0.012735355, 0.018960586, 0.05001001, 0.043005828, -0.008215865, -0.08145173, 0.0114331795, -0.06774784, -0.15480073, -0.011143561, 0.01525811, 0.018036444, 0.08212632, -0.057760276, -0.0100080045, -0.055943586) * conv2d_3_3_texOff(vec2(1, 1)); + result += mat4(0.0719452, -0.034702178, 0.029877292, -0.05708773, 0.034847297, 0.029303042, 0.060125273, -0.0180112, -0.0020914136, -0.026441699, -0.025329432, 0.0323247, -0.0041177548, -0.067490324, 0.078212105, -0.06227927) * conv2d_3_4_texOff(vec2(-1, -1)); + result += mat4(0.055863574, 0.025960127, 0.060764145, -0.0062505207, 0.02821774, -0.08844675, 0.0537338, -0.049768437, -0.045151267, 0.018788723, 0.048033886, 0.030205024, 0.004011241, -0.11857617, 0.0021722885, 0.02041612) * conv2d_3_4_texOff(vec2(0, -1)); + result += mat4(-0.0044614743, -0.0029739495, 0.06573779, -0.104692, 0.023032987, -0.019020164, 0.023129476, -0.018608885, -0.01780469, -0.13210958, -0.015820531, 0.028582064, -0.08297361, -0.22304453, -0.009781116, -0.05540077) * conv2d_3_4_texOff(vec2(1, -1)); + result += mat4(-0.04148067, -0.07938162, -0.08559252, 0.0070517873, -0.022326691, -0.17069066, 0.018649975, -0.04916772, 0.03511808, -0.06106422, -0.006205177, -0.03637524, 0.037280105, -0.049147673, 0.008087028, -0.11563153) * conv2d_3_4_texOff(vec2(-1, 0)); + result += mat4(-0.041020527, -0.18646048, -0.123824924, 0.012383464, 0.030892888, 0.018914605, 0.06445953, -0.050220583, -0.0033223818, -0.01965866, -0.011409584, -0.022810342, -0.049872324, -0.04103424, -0.016393682, -0.043692466) * conv2d_3_4_texOff(vec2(0, 0)); + result += mat4(-0.054093715, -0.023727251, -0.013804765, -0.084482364, -0.041383408, -0.058891702, -0.0053521013, -0.0042508296, 0.017268108, 0.07580175, 0.08361346, 0.07055574, -0.07338056, -0.14742196, -0.029450634, -0.08742219) * conv2d_3_4_texOff(vec2(1, 0)); + result += mat4(0.037076417, -0.27098152, 0.023080725, 0.025779113, -0.059550636, -0.25044376, 0.046278056, -0.049013242, 0.023746453, 0.18471119, -0.048386067, 0.098932974, 0.07062038, 0.014056283, -0.041788485, -0.112907685) * conv2d_3_4_texOff(vec2(-1, 1)); + result += mat4(-0.040042374, -0.12694302, -0.06398615, -0.057966642, 0.010992132, -0.15962599, 0.03906477, -0.08054112, -0.006501323, 0.010249696, 0.06880296, -0.06852358, -0.06081176, 0.05288796, -0.061262764, 0.03487321) * conv2d_3_4_texOff(vec2(0, 1)); + result += mat4(0.032061063, -0.07416875, 0.0682027, 0.006373449, -0.046085116, -0.059895344, 0.010099894, -0.08965473, 0.009417068, -0.00817722, 0.00079142, 0.030896246, -0.05620375, 0.057320725, -0.054367647, -0.02623629) * conv2d_3_4_texOff(vec2(1, 1)); + result += mat4(-0.015816675, -0.15531982, -0.005206039, 0.007645835, -0.007771944, -0.0132624945, 0.0625539, -0.06698558, 0.003625047, -0.0032118931, -0.030248037, 0.027676187, -0.03451308, 0.012206931, 0.035691753, 0.06082284) * conv2d_3_5_texOff(vec2(-1, -1)); + result += mat4(0.044962388, -0.057782564, 0.01296181, 0.020606516, -0.06641213, 0.03993328, 0.030176982, -0.09484069, -0.052395258, -0.050568223, -0.034460723, 0.071124546, 0.05422943, 0.08460577, 0.06380692, -0.011501751) * conv2d_3_5_texOff(vec2(0, -1)); + result += mat4(-0.009660192, -0.09361667, -0.03251414, -0.013151599, -0.040979795, -0.05231673, -0.041940108, -0.037534334, 0.02810291, -0.061070066, -0.040707756, 0.060918637, -0.0060664634, 0.12844777, 0.036742795, 0.068170786) * conv2d_3_5_texOff(vec2(1, -1)); + result += mat4(-0.0048745926, -0.0008011151, 0.07446404, 0.011292771, 0.09979208, 0.067748405, 0.019722788, 0.015271771, 0.017714567, 0.009429175, -0.034042183, 0.07173949, 0.036631677, -0.05526973, 0.002880339, 0.061510485) * conv2d_3_5_texOff(vec2(-1, 0)); + result += mat4(-0.06614409, 0.06266898, 0.0204264, 0.036126405, 0.01966758, 0.06676798, 0.030933442, 0.01711721, 0.005032706, -0.032642487, 0.0070301406, 0.138236, 0.042887654, 0.08758957, -0.04261293, -0.05813972) * conv2d_3_5_texOff(vec2(0, 0)); + result += mat4(-0.02966356, -0.12169962, -0.035445753, 0.084398106, -0.05821306, 0.013775431, 0.013556504, 0.05518103, -0.034953527, -0.09678412, 0.03955658, 0.010430911, -0.0491261, 0.044643894, 0.038866147, -0.06255568) * conv2d_3_5_texOff(vec2(1, 0)); + result += mat4(-0.079773255, -0.096904, 0.03383102, -0.12007136, 0.029170882, -0.01665323, -0.041662946, -0.015791152, 0.07260459, -0.11096734, 0.0132565815, -0.03247111, -0.028906442, 0.023412194, 0.039661754, -0.0258751) * conv2d_3_5_texOff(vec2(-1, 1)); + result += mat4(-0.005359845, -0.06514452, 0.0014987016, -0.06347716, 0.0074985554, 0.010479475, -0.033800952, -0.009142053, -0.037466243, 0.10754679, -0.0103402315, 0.005610633, -0.060096703, 0.034217257, -0.013323613, -0.044567) * conv2d_3_5_texOff(vec2(0, 1)); + result += mat4(0.0132925, -0.06560411, -7.0472954e-05, -0.02130029, -0.008911687, 0.06235323, -0.00831353, -0.10302195, -0.0036789016, 0.09753386, -0.01413683, 0.007755424, -0.02968591, 0.06487408, 0.021168506, -0.02894458) * conv2d_3_5_texOff(vec2(1, 1)); + result += mat4(-0.055423524, -0.0428516, -0.023361767, -0.074740335, 0.016760694, -0.02606389, 0.053089194, 0.03699819, -0.13424088, 0.007630524, -0.050693437, -0.019893171, 0.028126093, -0.0062043164, -0.010298197, -0.0027769918) * conv2d_3_6_texOff(vec2(-1, -1)); + result += mat4(-0.036042705, -0.042179275, -0.01071094, 0.03433382, 0.065297455, -0.012492263, 0.057106085, 0.044447195, 0.08680467, -0.008501053, -0.04260962, -0.016765803, -0.07755736, 0.12021559, -0.008874005, 0.009416701) * conv2d_3_6_texOff(vec2(0, -1)); + result += mat4(-0.0042503923, -0.04272626, -0.01067183, -0.069843136, 0.009286404, 0.08016353, -0.028357888, -0.018561486, 0.032112494, 0.0031795872, 0.03642644, 0.065502025, -0.04945278, -0.06757261, -0.008669982, 0.0077634053) * conv2d_3_6_texOff(vec2(1, -1)); + result += mat4(-0.049741976, -0.029375453, -0.046725325, 0.07005209, -0.064609766, -0.13317938, -0.013353921, -0.019411417, 0.010509471, 0.16890813, 0.076283224, 0.09533363, -0.0064305337, 0.028285988, 0.021680988, -0.09024364) * conv2d_3_6_texOff(vec2(-1, 0)); + result += mat4(0.039019015, -0.027848033, 0.031733505, 0.08839901, 0.043180976, -0.2524302, -0.023028154, -0.015218826, 0.052012503, 0.16632442, 0.017646398, 0.18621239, -0.0097579155, 0.1825051, -0.02189521, 0.06670682) * conv2d_3_6_texOff(vec2(0, 0)); + result += mat4(-0.033070676, 0.037405487, -0.061235312, 0.09276253, -0.001496106, -0.10943658, -0.072145805, 0.004012103, 0.11671623, 0.14107701, 0.010714424, 0.018237907, 0.0064061284, 0.13976876, 0.020199688, 0.069814414) * conv2d_3_6_texOff(vec2(1, 0)); + result += mat4(-0.05581321, 0.015832694, -0.0425583, 0.1393105, 0.045069277, 0.022563534, 0.0139543805, 0.06248187, 0.036751226, -0.02479933, 0.01755073, -0.059485618, -0.039507475, -0.09686741, 0.056280024, 0.032757618) * conv2d_3_6_texOff(vec2(-1, 1)); + result += mat4(-0.005470739, 0.020747596, -0.00782719, 0.0047819032, -0.026731307, -0.021794774, 0.0073465314, 0.017722085, 0.005226232, 0.0625953, -0.0061536594, -0.013886793, -0.07939598, -0.043005157, 0.0020199786, 0.05080855) * conv2d_3_6_texOff(vec2(0, 1)); + result += mat4(0.01181249, -0.020794665, -0.012574842, 0.009385898, -0.06470445, 0.038837947, -0.012595815, 0.024456784, -0.013719272, -0.022295173, -0.014469, 0.0871819, -0.036611926, -0.050177533, 0.049599353, 0.063622504) * conv2d_3_6_texOff(vec2(1, 1)); + result += mat4(-0.031631738, -0.08377756, 0.04044927, 0.0036506825, -0.07809195, -0.010969768, 0.032230765, 0.025300901, 0.058146697, -0.06675496, 0.018597487, 0.07562908, 0.011475568, -0.07067235, -0.031121675, -0.06076908) * conv2d_3_7_texOff(vec2(-1, -1)); + result += mat4(0.031133257, -0.016882684, 0.043442976, -0.049766973, 0.036424372, 0.14464913, 0.023976605, 0.0364909, -0.0091075795, 0.012250791, 0.054124653, -0.0030592147, 0.04784614, -0.04640315, -0.03422624, -0.09543607) * conv2d_3_7_texOff(vec2(0, -1)); + result += mat4(0.003039702, 0.035483304, 0.0062032216, -0.000873496, -0.04437085, 0.1484053, 0.059837677, 0.024659747, -0.06616237, -0.17420301, 0.055830006, -0.096234895, -0.018372519, 0.055164456, 0.0060703284, -0.013344392) * conv2d_3_7_texOff(vec2(1, -1)); + result += mat4(-0.039046418, -0.011347246, -0.08700006, -0.021849783, 0.036124066, 0.09683748, -0.011546806, -0.023120515, 0.2142085, -0.007437622, 0.016581131, -0.049597185, -0.22432843, -0.058209084, -0.026320519, -0.051152814) * conv2d_3_7_texOff(vec2(-1, 0)); + result += mat4(-0.06569501, -0.06260183, -0.022898367, -0.07602671, -0.10893328, 0.009627328, -0.028194264, 0.018917458, 0.021341037, 0.054987516, -0.07046321, -0.13342457, 0.00964241, 0.06752712, -0.009670117, -0.008319827) * conv2d_3_7_texOff(vec2(0, 0)); + result += mat4(0.012208404, -0.11404956, -0.093397826, -0.029117785, -0.045053843, 0.020680185, 0.105920635, -0.071645394, 0.11382571, 0.10907914, -0.02633005, -0.007285609, 0.03315715, -0.10891025, 0.018143376, 0.004968434) * conv2d_3_7_texOff(vec2(1, 0)); + result += mat4(0.007814497, -0.108202524, 0.005990356, 0.07029117, -0.02400429, 0.08479373, 0.044013735, -0.027646372, 0.12385591, 0.09819356, -0.01390868, -0.014023669, -0.05179794, -0.02380332, 0.01904011, -0.007829915) * conv2d_3_7_texOff(vec2(-1, 1)); + result += mat4(0.05996399, -0.011351212, -0.002182095, -0.03762001, -0.10872467, -0.0039557135, 0.011847394, -0.080973424, -0.03966573, -0.047995437, 0.016876742, 0.056057207, 0.016441537, -0.42474058, -0.031029325, -0.13765779) * conv2d_3_7_texOff(vec2(0, 1)); + result += mat4(0.04123183, -0.12598296, -0.0017007043, -0.029298684, -0.027486444, -0.09203502, -0.031962857, 0.02635506, 0.07193526, -0.014323217, -0.04090487, -0.07708059, 0.06994412, -0.29370317, 0.0012741195, -0.04218431) * conv2d_3_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-4-ReLU) +//!HOOK LUMA +//!BIND conv2d_3_0 +//!BIND conv2d_3_1 +//!BIND conv2d_3_2 +//!BIND conv2d_3_3 +//!BIND conv2d_3_4 +//!BIND conv2d_3_5 +//!BIND conv2d_3_6 +//!BIND conv2d_3_7 +//!SAVE conv2d_4_3 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.001753894, -0.0013974875, -0.004897225, -0.005634429); + result += mat4(0.0510955, -0.0014422251, -0.16106804, -0.062141303, -0.07308469, -0.0027836259, -0.21114375, -0.100874186, -0.013258162, 0.044785988, -0.047111925, -0.020188062, 0.0670417, -0.020951303, -0.14186628, 0.064117864) * conv2d_3_0_texOff(vec2(-1, -1)); + result += mat4(0.16701005, -0.06742916, 0.03127594, 0.008484275, -0.047200687, 0.032157466, -0.05341922, 0.01914972, -0.16609915, -0.07062191, 0.10585516, -0.022021443, -0.008743887, -0.12588485, -0.013068496, -0.0010706417) * conv2d_3_0_texOff(vec2(0, -1)); + result += mat4(-0.024073077, -0.0893969, 0.02240187, -0.09664518, 0.017476859, -0.008503885, 0.03401605, -0.025034517, -0.020375827, 0.02779849, 0.045822665, 0.008929096, -0.0035302187, 0.036612146, -0.03156456, 0.11757052) * conv2d_3_0_texOff(vec2(1, -1)); + result += mat4(0.031898964, 0.017378872, 0.09017029, -0.06271773, -0.024249142, -0.04200131, 0.0053986455, -0.08215535, -0.029748129, -0.0111275595, -0.23061034, 0.08160556, 0.07733545, 0.04055246, -0.10813094, -0.07082996) * conv2d_3_0_texOff(vec2(-1, 0)); + result += mat4(-0.08149865, 0.0089612175, -0.004277574, -0.06320481, 0.002159603, 0.014942097, -0.20311283, -0.00051849225, -0.012931464, -0.08299128, 0.024814848, -0.020236392, -0.0396539, -0.104194514, 0.0059578517, 0.07320285) * conv2d_3_0_texOff(vec2(0, 0)); + result += mat4(-0.05389601, 0.051244125, -0.07886199, -0.006991185, 0.0701821, 0.01742971, -0.0360802, -0.1586421, 0.0014566769, 0.031960763, 0.07926618, 0.055757407, 0.05081961, 0.091059536, 0.051290788, 0.054321263) * conv2d_3_0_texOff(vec2(1, 0)); + result += mat4(-0.043374978, 0.009481372, -0.022228906, 0.09681656, 0.024620373, -0.038787384, 0.1481093, -0.102501646, 0.0666276, -0.009648747, -0.043973416, 0.053977057, -0.057475377, 0.05297815, -0.15797196, 0.047255475) * conv2d_3_0_texOff(vec2(-1, 1)); + result += mat4(-0.074815035, 0.051806025, 0.0119373705, -0.08923786, 0.092210636, 0.043409556, 0.05540594, -0.14369188, 0.055297863, -0.02117661, -0.055621177, -0.01922724, -0.02464503, -0.010207825, -0.13104855, 0.053837925) * conv2d_3_0_texOff(vec2(0, 1)); + result += mat4(-0.018252091, 0.008290987, -0.055075508, -0.064988494, -0.027021425, -0.0025310665, 0.07473345, -0.020244943, 0.027049959, 0.011974791, -0.022015415, 0.021458128, 0.2592622, 0.10979678, -0.07179369, -0.0056512686) * conv2d_3_0_texOff(vec2(1, 1)); + result += mat4(-0.015216589, -0.07023487, 0.0839606, 0.1662634, -0.079139516, 0.0058597443, 0.0017449085, -0.08332759, -0.09100947, 0.06654936, -0.17768103, 0.07736078, 0.077316776, -0.009327731, -0.03529375, 0.100601755) * conv2d_3_1_texOff(vec2(-1, -1)); + result += mat4(0.009649454, -0.044944834, 0.102665305, 0.1490509, -0.062011812, 0.032266464, -0.13779493, -0.0005610752, 0.02608158, 0.071216986, -0.027217088, -0.005946147, -0.015692627, 0.0035445904, -0.0039190263, -0.012237743) * conv2d_3_1_texOff(vec2(0, -1)); + result += mat4(-0.06427003, -0.15058146, 0.080158085, -0.085569456, -0.050241597, -0.10667351, -0.111500025, -0.016578663, 0.028872231, 0.03475622, -0.053965945, 0.043960016, -0.12721512, -0.054666117, 0.0546907, 0.015116224) * conv2d_3_1_texOff(vec2(1, -1)); + result += mat4(-0.11448927, -0.20485592, 0.31450891, -0.06642643, -0.0688781, 0.049433906, -0.21860045, -0.1494118, -0.016739411, -0.12855761, 0.1603473, -0.14590974, -0.09434075, -0.026790807, 0.15449707, -0.092657305) * conv2d_3_1_texOff(vec2(-1, 0)); + result += mat4(-0.14060137, -0.10084397, 0.06508738, 0.021710044, 0.067415945, 0.10555721, -0.11868009, 0.043667387, 0.02157634, -0.046667363, 0.013558025, -0.019680679, -0.1182172, -0.01087916, 0.054286998, -0.005211396) * conv2d_3_1_texOff(vec2(0, 0)); + result += mat4(-0.14056996, -0.22013167, 0.1461965, 0.0360858, -0.038464427, -0.009259199, -0.00449183, -0.06022597, -0.04390082, -0.037551455, 0.06474504, -0.12466846, 0.0029804995, 0.11938867, 0.0784881, -0.0009411952) * conv2d_3_1_texOff(vec2(1, 0)); + result += mat4(-0.04892837, -0.103729464, 0.10369665, 0.06400206, 0.00539981, 0.0845724, -0.20368838, -0.08218857, -0.03792307, -0.013620782, 0.027519066, 0.009342098, -0.015998136, 0.0529728, -0.10673174, -0.008221573) * conv2d_3_1_texOff(vec2(-1, 1)); + result += mat4(0.105546065, -0.024494499, -0.030712072, 0.09429169, 0.08583257, 0.06958051, -0.05242256, 0.04935028, -0.16270357, 0.02895549, -0.011352454, -0.03855827, 0.050440468, -0.008253578, 0.04382224, -0.0802333) * conv2d_3_1_texOff(vec2(0, 1)); + result += mat4(-0.103211984, -0.07709018, 0.12742479, -0.009656271, 0.10314204, 0.06314763, -0.08325108, 0.032728635, -0.038588986, 0.016493468, 0.046914, -0.08048543, 0.079990596, -0.03558994, 0.027630607, 0.10869989) * conv2d_3_1_texOff(vec2(1, 1)); + result += mat4(-0.016523518, 0.043567576, 0.031989362, -0.051843897, 0.09156953, -0.049898338, -0.08456457, 9.295932e-05, 0.0067236093, 0.039171863, -0.05957704, -0.053250317, 0.12056515, 0.051788855, 0.09959172, -0.075641766) * conv2d_3_2_texOff(vec2(-1, -1)); + result += mat4(0.03300706, 0.042960815, -0.038229458, -0.082272045, -0.02062046, -0.013584404, 0.023872068, 0.01837958, 0.0064911153, 0.014958984, -0.061633807, 0.10158009, 0.038852327, -0.01880267, 0.051303536, -0.043501228) * conv2d_3_2_texOff(vec2(0, -1)); + result += mat4(0.091645375, 0.03069737, 0.0011189341, 0.020449331, 0.08068335, 0.020978091, -0.0010769651, 0.00061968376, 0.059274398, 0.038646713, -0.080847554, 0.062156983, -0.008254736, -0.109845705, 0.08902917, -0.06016639) * conv2d_3_2_texOff(vec2(1, -1)); + result += mat4(0.0032500124, -0.0029053027, -0.10139858, -0.092240416, 0.0028348682, 0.06729654, 0.06749318, -0.09978482, -0.03982243, -0.030453835, -0.015678678, 0.03608406, 0.15083215, -0.007230306, -0.10706982, -0.07223214) * conv2d_3_2_texOff(vec2(-1, 0)); + result += mat4(0.007562644, -0.042438913, -0.2473465, -0.13399822, -0.045433365, -0.025494002, 0.024317758, 0.044449568, 0.05944731, -0.0694204, -0.020144688, -0.06183033, -1.578965e-05, 0.07795331, 0.005881074, 0.005066053) * conv2d_3_2_texOff(vec2(0, 0)); + result += mat4(-0.11387325, 0.033727806, -0.18759632, -0.14813696, 0.09174701, 0.0008894907, 0.036859125, 0.056849327, 0.054114643, 0.0035360134, -0.13394095, 0.018504262, -0.29520825, -0.060625486, 0.17550802, -0.004313305) * conv2d_3_2_texOff(vec2(1, 0)); + result += mat4(-0.030649202, -0.04472229, -0.0074572894, -0.0017512267, -0.008976157, -0.02922784, -0.066103965, -0.020210957, 0.030231677, 0.05777765, 0.024088016, 0.027347937, 0.11041822, -0.0019651058, 0.011401381, -0.10339278) * conv2d_3_2_texOff(vec2(-1, 1)); + result += mat4(-0.14884105, 0.09695989, -0.25524306, -0.04117012, 0.098701954, -0.013257333, 0.0063331877, -0.05731089, 0.032744903, -0.053980805, 0.065288156, 0.03085845, 0.048825268, -0.072569326, -0.09417011, -0.10579333) * conv2d_3_2_texOff(vec2(0, 1)); + result += mat4(0.010043043, 0.0642085, -0.06357349, -0.07118855, -0.10935073, -0.10364806, -0.01580492, 0.03195866, -0.10764109, -0.09563928, -0.082239136, 0.02280415, 0.0524383, -0.109502465, -0.2635903, -0.08593865) * conv2d_3_2_texOff(vec2(1, 1)); + result += mat4(0.068846524, -0.07125774, -0.12089259, 0.098966055, 0.034653466, 0.0041809925, 0.13387324, -0.043039873, -0.10819184, -0.023255398, 0.047557384, 0.016823234, 0.0054768776, 0.040949013, -0.030277798, -0.04270398) * conv2d_3_3_texOff(vec2(-1, -1)); + result += mat4(-0.031168938, -0.10615755, 0.025889881, -0.011743299, 0.08902674, -0.034878504, -0.022646587, 0.11851831, -0.06464948, 0.079670824, 0.023234254, -0.084553234, 0.0376315, 0.05054771, 0.09117024, -0.07906715) * conv2d_3_3_texOff(vec2(0, -1)); + result += mat4(-0.08629371, -0.093498096, -0.027559953, 0.047508396, -0.035618316, -0.027674304, -0.024086535, -0.055605736, 0.023311825, 0.022395147, 0.031558786, 0.19042405, 0.078466065, 0.0053509464, 0.06812108, -0.064697385) * conv2d_3_3_texOff(vec2(1, -1)); + result += mat4(-0.0012832027, -0.055628862, -0.09948993, -0.059389584, -0.014586518, 0.030167721, -0.06910902, 0.06505407, -0.039179996, -0.029795416, 0.08534994, 0.0036559643, -0.010633829, 0.040293515, -0.08916706, 0.018675936) * conv2d_3_3_texOff(vec2(-1, 0)); + result += mat4(-0.09189747, 0.058991402, -0.2527707, 0.037559688, -0.100008465, 0.08455966, 0.05074772, 0.048251648, 0.11207963, 0.020535069, -0.040172968, 0.031538695, -0.011502413, 0.07442321, 0.013476581, 0.025898138) * conv2d_3_3_texOff(vec2(0, 0)); + result += mat4(-0.052855596, 0.015964417, -0.13057, -0.047626056, -0.06671311, 0.031874254, 0.022143204, 0.06536331, -0.025325635, -0.036011934, 0.04260797, 0.11191557, 0.03770287, -0.06586303, -0.04873123, -0.056259878) * conv2d_3_3_texOff(vec2(1, 0)); + result += mat4(-0.043878954, -0.09928315, -0.014432066, 0.08127803, 0.062331323, -0.046219483, -0.043137003, 0.03721585, -0.046861503, -0.00588611, -0.027924262, 0.1838219, -0.023916904, 0.01123887, 0.011843222, 0.015758688) * conv2d_3_3_texOff(vec2(-1, 1)); + result += mat4(-0.084801756, -0.012706828, 0.013612413, -0.115316086, 0.08332046, 0.05916644, 0.021933448, -0.03828946, 0.095254734, 0.017298417, -0.118689686, 0.11724159, -0.07606251, 0.0076094596, 0.04970195, 0.065284766) * conv2d_3_3_texOff(vec2(0, 1)); + result += mat4(-0.060157716, -0.028205112, 0.042110384, -0.040150832, 0.045903124, -0.037776917, 0.0062161894, -0.028285803, 0.23512363, 0.19943635, 0.0038068262, 0.093790285, 0.0025054172, 0.028764432, -0.093119, -0.045774717) * conv2d_3_3_texOff(vec2(1, 1)); + result += mat4(-0.073444866, 0.060245566, -0.127142, -0.099453315, -0.021869423, -0.08437972, -0.050510045, 0.01687948, -0.10656644, 0.059470206, -0.009267788, 0.09276904, -0.10689266, 0.041661225, -0.12071594, 0.019657483) * conv2d_3_4_texOff(vec2(-1, -1)); + result += mat4(0.00978651, 0.06365811, 0.05696499, -0.10536901, -0.1619058, -0.044065308, 0.077532925, 0.1587201, -0.020892577, 0.043757036, 0.009239805, 0.050515994, -0.15479021, 0.0082413, -0.00069826597, -0.11101841) * conv2d_3_4_texOff(vec2(0, -1)); + result += mat4(-0.03802562, -0.020386336, -0.05290729, -0.03698568, -0.102888085, -0.0045681875, -0.0063377465, -0.007031675, -0.05778179, 0.025034413, 0.022338934, 0.021851199, -0.13945115, -0.07390588, -0.0044923997, 0.044538014) * conv2d_3_4_texOff(vec2(1, -1)); + result += mat4(0.021892704, 0.00037856385, -0.11895421, -0.06480491, -0.10637716, -0.037670396, 0.04496369, -0.20524552, -0.075241, -0.028605994, -0.01751968, 0.09528775, -0.08733261, 0.05390727, -0.27705854, -0.026450418) * conv2d_3_4_texOff(vec2(-1, 0)); + result += mat4(-0.02181557, -0.0066893054, -0.017281216, -0.08216643, -0.04727442, -0.09027435, 0.08207199, 0.15310322, 0.17353615, 0.052801713, 0.05405899, 0.04529899, -0.0498973, 0.0016325635, 0.03305958, -0.08463907) * conv2d_3_4_texOff(vec2(0, 0)); + result += mat4(-0.033219725, 0.0012860984, -0.08258132, 0.021474639, -0.12610169, -0.15752739, -0.046107717, 0.106777325, 0.15860939, -0.07408108, 0.150278, -0.08699531, 0.009110753, 0.02425064, -0.04594132, 0.09777492) * conv2d_3_4_texOff(vec2(1, 0)); + result += mat4(-0.04595936, 0.029654864, -0.039329115, -0.050485395, -0.030018251, -0.063663594, 0.03981099, -0.0051486436, 0.07483936, -0.08247493, 0.017164234, -0.06291066, -0.06077101, -0.017245466, -0.25384012, -0.0022864235) * conv2d_3_4_texOff(vec2(-1, 1)); + result += mat4(0.0035274639, 0.0358282, 0.018104183, 0.05536197, -0.12962946, -0.05110302, 0.12784457, 0.022837047, 0.19512647, 0.06961312, -0.09589237, -0.06404749, -0.016611125, 0.0038207427, -0.12766546, -0.0014321043) * conv2d_3_4_texOff(vec2(0, 1)); + result += mat4(-0.044558328, -0.01735912, 0.13207456, 0.021598047, -0.031222777, -0.10839589, 0.12342696, 0.04601945, -0.15945779, -0.07611491, 0.04070373, -0.06437884, -0.041275237, 0.10437949, -0.023904061, -0.025326276) * conv2d_3_4_texOff(vec2(1, 1)); + result += mat4(-0.057078492, -0.0151794525, -0.029766973, 0.024047032, -0.06513498, -0.011700269, 0.028901184, 0.05379153, 0.014255961, -0.0020879265, -0.0753137, 0.010188508, 0.027880954, -0.0067705973, 0.11648632, -0.055566184) * conv2d_3_5_texOff(vec2(-1, -1)); + result += mat4(0.05751735, 0.021435417, -0.04841467, 0.009407018, 0.025138883, -0.04521057, 0.12123212, 0.0666516, -0.1910915, -0.073106326, -0.08085441, -0.06504755, -0.053867415, 0.040782426, -0.050118912, -0.06360974) * conv2d_3_5_texOff(vec2(0, -1)); + result += mat4(-0.0587823, 0.042719536, -0.047062896, -0.021352036, 0.040855724, -0.12014876, 0.0024324432, 0.015546583, 0.03618561, 0.035796918, -0.04368792, 0.117325194, 0.08885002, -0.007225945, -0.07319086, -0.007073744) * conv2d_3_5_texOff(vec2(1, -1)); + result += mat4(0.0077290074, -0.09140962, -0.029023077, 0.07722968, -0.042377498, 0.037398588, 0.08975266, 0.15041004, 0.038663536, 0.021520466, -0.11967419, 0.07517593, -0.10444741, 0.002757502, 0.052663285, 0.08683975) * conv2d_3_5_texOff(vec2(-1, 0)); + result += mat4(-0.0056375484, 0.018065926, 0.13958345, 0.039871924, -0.05444778, -0.033001233, -0.010109822, 0.082818545, -0.04757214, -0.025648618, -0.07276786, -0.08655178, -0.07756433, -0.074569575, 0.07933869, 0.039463654) * conv2d_3_5_texOff(vec2(0, 0)); + result += mat4(-0.03843932, 0.045454994, -0.020771028, -0.0029789829, 0.045178797, 0.07428903, -0.034121823, 0.13406952, 0.053619333, 0.019638985, -0.054928973, 0.056603216, -0.04985281, 0.08746511, -0.041357283, -0.014900436) * conv2d_3_5_texOff(vec2(1, 0)); + result += mat4(-0.013246526, -0.010679136, -0.03217186, 0.013331226, 0.020726323, 0.043613445, 0.04588832, 0.0976425, -0.063859284, 0.044196937, -0.14352582, 0.04864811, -0.034070514, -0.056568336, -0.25813615, -0.009612735) * conv2d_3_5_texOff(vec2(-1, 1)); + result += mat4(-0.07611071, -0.019221358, -0.021143042, 0.029803796, -0.06961618, -0.0054458445, -0.15659875, -0.038813353, 0.018120872, -0.040981874, -0.13567838, -0.042946678, -0.101973675, -0.016012631, -0.07357373, 0.11768315) * conv2d_3_5_texOff(vec2(0, 1)); + result += mat4(-0.046529002, 0.020634364, -0.070021726, -0.006326034, 0.043883044, -0.03478427, -0.07738003, 0.08201628, 0.03330556, 0.039060973, 0.012904503, 0.04871265, -0.038782973, 0.085138164, 0.058802683, -0.0141459135) * conv2d_3_5_texOff(vec2(1, 1)); + result += mat4(-0.032335225, -0.061436202, -0.047159657, -0.002345953, 0.044860628, -0.012254223, 0.09882336, 0.015789606, 0.047507744, -0.06272349, -0.032162435, -0.034077246, 0.0125551, -0.030660152, 0.019176075, -0.025342297) * conv2d_3_6_texOff(vec2(-1, -1)); + result += mat4(-0.083775856, 0.017595567, -0.013300681, -0.026620507, 0.1108536, -0.01823224, 0.10865026, 0.008377945, 0.015202055, -0.080439016, -0.16888207, 0.005813549, 0.011944522, -0.03933163, -0.07740789, -0.030251414) * conv2d_3_6_texOff(vec2(0, -1)); + result += mat4(0.017145677, 0.004600184, 0.03873979, 0.051255386, -0.04994213, -0.06982445, 0.009787673, -0.053041965, -0.032913458, 0.10153216, -0.10730869, 0.062210664, 0.0696992, 0.05948065, -0.02450586, 0.17984338) * conv2d_3_6_texOff(vec2(1, -1)); + result += mat4(0.053155616, -0.020660501, -0.08134207, -0.093596205, -0.0494826, -0.05476016, -0.033018854, -0.01961811, 0.030948794, -0.05289281, 0.113410406, -0.1374441, -0.012185742, -0.04681447, -0.0018786815, 0.015002339) * conv2d_3_6_texOff(vec2(-1, 0)); + result += mat4(0.17019029, 0.13228357, -0.017629202, -0.05854934, -0.06350081, 0.02816042, -0.03780741, -0.010020251, 0.21375313, -0.007976269, 0.17335916, 0.07364091, 0.04588028, -0.013080616, 0.08528194, -0.0664166) * conv2d_3_6_texOff(vec2(0, 0)); + result += mat4(0.14674406, 0.010323853, -0.07197128, -0.079804614, 0.0012769854, -0.09133876, -0.011044012, 0.015296239, -0.15470837, -0.11878868, 0.027009109, 0.066733055, 0.02005289, -0.03605219, -0.19479476, 0.038946524) * conv2d_3_6_texOff(vec2(1, 0)); + result += mat4(0.030754004, 0.054105617, -0.23930266, 0.0012532229, 0.0681863, 0.048780955, 0.10493848, 0.010416127, -0.05268154, -0.11759406, 0.13387895, 0.0913066, -0.032745544, 0.03413392, 0.119295806, -0.0268384) * conv2d_3_6_texOff(vec2(-1, 1)); + result += mat4(0.04134917, 0.035077658, -0.16075496, 0.044309866, 0.064346045, 0.062219102, -0.003758656, -0.017410656, -0.112895384, 0.031625766, 0.100723445, -0.009958311, 0.010116062, 0.02509581, 0.04657778, -0.028242614) * conv2d_3_6_texOff(vec2(0, 1)); + result += mat4(-0.0030505157, 0.09393354, -0.072180524, -0.08279992, -0.0073182653, 0.059307057, 0.1027422, -0.068089135, -0.13267042, -0.03093472, 0.011780204, 0.012928362, 0.05809045, -0.049689002, -0.029076193, 0.080765314) * conv2d_3_6_texOff(vec2(1, 1)); + result += mat4(-0.05612331, -0.047981143, 0.015793415, 0.06191897, -0.06897301, -0.023674635, 0.051501837, -0.01883504, 0.02034847, -0.06250871, 0.09392491, -0.12458577, -0.093867674, 0.04094437, 0.091689095, 0.018923631) * conv2d_3_7_texOff(vec2(-1, -1)); + result += mat4(-0.103490815, -0.05204404, 0.0894954, -0.0038717366, 0.0060165925, 0.013116367, 0.023980673, 0.0060623763, 0.10017958, 0.06305146, 0.07879622, -0.0007648767, 0.024047611, 0.04951123, 0.0063824872, -0.04768324) * conv2d_3_7_texOff(vec2(0, -1)); + result += mat4(0.00996387, -0.03359056, 0.022958431, 0.00852871, 0.021310773, 0.034655355, 0.046074633, -0.06907012, 0.01641809, 0.1414664, 0.042853694, 0.019500487, 0.015980314, -0.052236717, 0.013711238, -0.0041444907) * conv2d_3_7_texOff(vec2(1, -1)); + result += mat4(-0.0035556378, 0.0031836366, -0.16782846, -0.061324954, 0.10267203, 0.00014618594, -0.093233876, -0.09201191, 0.021259613, 0.040947814, 0.11295105, 0.06664166, 0.0020217039, 0.095334664, 0.13313785, -0.08777343) * conv2d_3_7_texOff(vec2(-1, 0)); + result += mat4(-0.023374978, 0.0245457, -0.142329, -0.01641789, -0.015534354, 0.022523342, 0.07155096, 0.049665954, -0.21894057, 0.01754712, 0.23158684, 0.09972439, -0.0061606965, -0.093659826, 0.1867843, -0.1590593) * conv2d_3_7_texOff(vec2(0, 0)); + result += mat4(0.0038185576, -0.0066499216, 0.100905396, 0.018203642, 0.027271736, 0.013972642, -0.044893872, -0.030234348, -0.08020654, 0.03789202, -0.058251068, -0.009965162, -0.04527503, -0.1492402, -0.03028936, -0.12618981) * conv2d_3_7_texOff(vec2(1, 0)); + result += mat4(-0.017472351, -0.02098791, 0.014205505, 0.026244208, 0.07826186, -0.07506567, 0.026739568, 0.017112497, -0.032292403, -0.056721248, 0.24799104, -0.08332576, 0.04910049, 0.047754016, 0.00740242, 0.07962765) * conv2d_3_7_texOff(vec2(-1, 1)); + result += mat4(-0.028897962, -0.006679737, 0.039222337, -0.016151924, 0.030311882, -0.0021482261, 0.1714241, 0.1221679, 0.11398978, 0.004748163, 0.064690985, -0.061905473, -0.11294383, -0.030517105, 0.110042654, -0.02256132) * conv2d_3_7_texOff(vec2(0, 1)); + result += mat4(-0.10085912, -0.016250946, 0.12300144, -0.04213109, -0.007596897, 0.013866745, -0.06238941, -0.0044107796, 0.016672386, -0.09185689, -0.015329627, 0.0933653, -0.23079273, 0.0064556836, 0.06462897, -0.0051751006) * conv2d_3_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-4-ReLU) +//!HOOK LUMA +//!BIND conv2d_3_0 +//!BIND conv2d_3_1 +//!BIND conv2d_3_2 +//!BIND conv2d_3_3 +//!BIND conv2d_3_4 +//!BIND conv2d_3_5 +//!BIND conv2d_3_6 +//!BIND conv2d_3_7 +//!SAVE conv2d_4_4 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0077957916, 0.0060499012, -0.010836468, -0.0017485411); + result += mat4(0.005616523, -0.04194812, -0.09163412, 0.08635277, -0.050443027, 0.06253843, 0.048551682, -0.011747643, 0.008492668, 0.079617746, 0.031543497, 0.08591439, 0.037825957, -0.110151805, 0.036944993, 0.053537607) * conv2d_3_0_texOff(vec2(-1, -1)); + result += mat4(-0.017273068, -0.16909112, -0.10701974, 0.029792253, -0.008890513, -0.032852247, -0.034842115, 0.10169415, -0.03968484, -0.25570327, 0.103661686, -0.015338259, -0.033557802, -0.003787473, -0.0070499345, 0.06419729) * conv2d_3_0_texOff(vec2(0, -1)); + result += mat4(-0.12731797, 0.10600407, 0.0020919521, 0.04016499, 0.03951315, -0.24479462, -0.015232936, -0.06416498, 0.029538224, -0.18024328, -0.021564098, -0.03283761, -0.059248954, -0.27103087, -0.08914301, -0.070944354) * conv2d_3_0_texOff(vec2(1, -1)); + result += mat4(0.02155511, 0.018095965, -0.10213831, -0.073654994, 0.030524455, 0.07272491, 0.101944596, -0.07291663, 0.039682604, -0.016149491, 0.023214934, 0.04756301, 0.06082331, 0.34726402, -0.011065706, -0.07920397) * conv2d_3_0_texOff(vec2(-1, 0)); + result += mat4(0.050924055, 0.22085744, -0.05160645, -0.10828216, 0.10336194, 0.049868155, 0.09316188, 0.057960473, 0.011030283, -0.09813769, 0.04142197, 0.058068234, -0.081382684, 0.14713648, 0.113756895, 0.049565565) * conv2d_3_0_texOff(vec2(0, 0)); + result += mat4(-0.03138243, -0.50052327, -0.07227262, 0.030304221, -0.03891303, -0.22329788, -0.05441807, 0.039840102, -0.16109404, -0.19939257, -0.043962058, -0.003267227, 0.042068847, -0.3290805, 0.009366777, 0.057383373) * conv2d_3_0_texOff(vec2(1, 0)); + result += mat4(0.079585865, -0.0061681005, -0.051853005, 0.07058491, 0.010256865, -0.03913294, 0.047809187, 0.008772287, 0.0261286, 0.02663037, 0.030273622, 0.018596409, 0.029003954, -0.16997048, -0.009826249, -0.0037874829) * conv2d_3_0_texOff(vec2(-1, 1)); + result += mat4(-0.06694902, -0.2436866, -0.059604432, -0.026513252, -0.03996721, -0.02117163, 0.09241017, -0.02629, 0.049830202, 0.2232943, -0.0018110595, -0.03418314, -0.038950525, -0.072844274, 0.04636144, -0.017988058) * conv2d_3_0_texOff(vec2(0, 1)); + result += mat4(0.05093455, -0.06564816, -0.06433161, 0.00042637912, 0.023587756, -0.109346606, -0.030906107, -0.033827014, -0.10780864, -0.0872342, 0.028665652, 0.0060701533, 0.08462985, 0.39795703, -0.045315877, 0.11150783) * conv2d_3_0_texOff(vec2(1, 1)); + result += mat4(-0.14383322, 0.028507762, 0.08961605, -0.08953246, 0.047910232, -0.010007266, 0.010711339, 0.045588322, -0.0396927, -0.11735218, 0.07079176, -0.0062896134, 0.022389576, -0.0050860886, -0.037289906, -0.0699777) * conv2d_3_1_texOff(vec2(-1, -1)); + result += mat4(-0.0746044, 0.09196737, 0.071747646, -0.10441333, 0.03622997, 0.023850085, -0.0031288909, 0.004427611, 0.1101886, 0.0033883322, -0.103875495, -0.007049097, -0.00829487, 0.053826746, 0.059646457, -0.11553904) * conv2d_3_1_texOff(vec2(0, -1)); + result += mat4(-0.11399977, -0.2441146, 0.18741101, -0.103084944, -0.10768034, -0.046083275, 0.08148009, 0.00021542759, 0.05614393, -0.3593529, 0.030421058, 0.036315087, -0.0377118, -0.093583114, -0.026268834, -0.08747736) * conv2d_3_1_texOff(vec2(1, -1)); + result += mat4(-0.09930037, 0.0019598862, 0.119516365, -0.11008051, 0.031695403, 0.016200045, -0.04629515, -0.015688848, -0.010773767, -0.08754631, -0.05951426, -0.0029130029, 0.0047315294, -0.117544465, -0.04873057, -0.056104623) * conv2d_3_1_texOff(vec2(-1, 0)); + result += mat4(-0.063162774, -0.10060283, 0.019020073, -0.06556571, 0.020053413, 0.025257668, 0.021311715, 0.10337843, -0.004513997, 0.04654615, -0.029650498, -0.018564593, -0.04667031, 0.11830512, 0.050825644, 0.028347157) * conv2d_3_1_texOff(vec2(0, 0)); + result += mat4(-0.051573876, -0.0937203, 0.04461173, -0.037602253, -0.0037400185, -0.124283224, 0.023265764, 0.012887522, 0.07170855, -0.5180021, -0.025531614, -0.008329156, 0.013361593, 0.027761199, 0.09889079, -0.0045408) * conv2d_3_1_texOff(vec2(1, 0)); + result += mat4(-0.036340803, -0.011897847, 0.05298622, -0.055303965, -0.025094805, 0.0039159763, 0.04067957, 0.08146312, -0.027963297, 0.039958414, 0.06073669, 0.0050723366, -0.0028475302, -0.03816663, -0.026238924, 0.01452438) * conv2d_3_1_texOff(vec2(-1, 1)); + result += mat4(-0.07241517, 0.08496, 0.041270934, 0.009422109, -0.014233708, -0.03344472, -0.028623762, 0.097772606, -0.0335184, 0.06869213, -0.010452685, -0.09835321, 0.01055246, 0.08456435, 0.061575342, 0.036262058) * conv2d_3_1_texOff(vec2(0, 1)); + result += mat4(-0.04834043, -0.15445288, 0.062427707, -0.06173424, 0.07083953, -0.076515295, -0.0104816165, 0.1784565, 0.0037879, -0.21123756, -0.057521716, -0.06752559, 0.04006161, -0.14409976, -0.04493574, 0.03115341) * conv2d_3_1_texOff(vec2(1, 1)); + result += mat4(-0.005936736, -0.41574243, -0.078262456, 0.10427586, -0.07916875, -0.285287, 0.08326516, -0.037848216, 0.07577904, 0.019001491, 0.030947044, 0.0223377, 0.044018496, -0.16739902, 0.062251497, 0.12273618) * conv2d_3_2_texOff(vec2(-1, -1)); + result += mat4(-0.032892976, 0.07423079, -0.030662924, 0.04644273, -0.006555387, 0.18126653, -0.06202708, 0.047890246, 0.015667427, -0.082207814, 0.08150648, -0.06580664, -0.029766543, -0.039742194, 0.06219679, 0.107196786) * conv2d_3_2_texOff(vec2(0, -1)); + result += mat4(-0.13062109, -0.69701385, 0.0038875984, 0.060295857, 0.118312344, -0.22918193, -0.009899899, -0.054273427, 0.013730554, -1.0338554, 0.004849621, -0.018519918, 0.12186263, -0.20518574, 0.01985373, -0.011412594) * conv2d_3_2_texOff(vec2(1, -1)); + result += mat4(-0.07179696, 0.2682679, 0.0064091957, -0.15226164, -0.065185666, -0.25371572, -0.051706366, -0.09365108, 0.07062635, -0.043243606, 0.047333784, -0.02331007, -0.09053152, 0.2471111, -0.022574922, 0.04724258) * conv2d_3_2_texOff(vec2(-1, 0)); + result += mat4(0.018842602, 0.15833573, -0.11940482, 0.008295181, 0.082506046, 0.15588483, 0.012468154, -0.044290137, 0.0353944, -0.15662749, -0.016983058, -0.009625651, 0.011186484, 0.14717506, 0.14740981, -0.017075496) * conv2d_3_2_texOff(vec2(0, 0)); + result += mat4(-0.036897816, -0.06469471, -0.0016651851, 0.03536971, -0.0008533324, -0.4669576, 0.0026389956, -0.041868433, 0.0025501212, -0.07656041, 0.015197298, -0.03913252, -0.015102281, -0.6242041, 0.04100527, -0.016835585) * conv2d_3_2_texOff(vec2(1, 0)); + result += mat4(-0.061205424, 0.013390021, -0.008541395, -0.0077885017, -0.15873006, -0.116234355, -0.04305151, -0.06894059, -0.032050267, 0.0632322, 0.072749354, 0.027645756, 0.04121468, 0.073422246, -0.10441441, -0.030846043) * conv2d_3_2_texOff(vec2(-1, 1)); + result += mat4(-0.061464474, 0.09787812, -0.020589935, 0.04169216, -0.03464933, 0.09886306, 0.0043368726, 0.029481294, 0.060673352, 0.043412812, 0.004616656, -0.051887844, -0.029155979, -0.054204866, 0.022457417, -0.12689973) * conv2d_3_2_texOff(vec2(0, 1)); + result += mat4(0.014057861, -0.37331596, -0.07567709, 0.07600225, -0.046482608, -0.014156591, 0.001536117, -0.034718983, 0.019387329, -0.0048332075, 0.042042635, -0.07600525, -0.05461395, 0.1349002, 0.014131715, -0.10225792) * conv2d_3_2_texOff(vec2(1, 1)); + result += mat4(-0.0070915306, -0.02341524, 0.04991137, 0.07358809, 0.062125437, -0.028774606, 0.009060363, 3.6618803e-06, -0.04232729, -0.047909174, 0.027794912, -0.0053995857, 0.05325111, 0.0507387, 0.05919748, 0.0075960252) * conv2d_3_3_texOff(vec2(-1, -1)); + result += mat4(-0.0055301907, -0.09783762, 0.017426338, -0.016257007, 0.056992296, 0.09599861, -0.08645053, 0.1219878, 0.04655339, -0.058836933, 0.08857425, 0.0724557, -0.034280043, 0.032993313, -0.0967161, -0.01669226) * conv2d_3_3_texOff(vec2(0, -1)); + result += mat4(0.05602945, -0.032707322, -0.016324714, -0.019620981, -0.02037338, -0.073617324, 0.0041948766, 0.0015006386, -0.02617954, -0.098561525, 0.03997049, 0.005833275, -0.0075590652, -0.39213702, -0.089157, -0.031535484) * conv2d_3_3_texOff(vec2(1, -1)); + result += mat4(-0.024066795, 0.04986418, 0.008835163, 0.0760122, 0.09693236, -0.0031007489, -0.019368127, 0.044720795, -0.041099846, -0.030399416, 0.025275527, 0.03144213, 0.01799178, 0.013279282, 0.018009834, -0.115825355) * conv2d_3_3_texOff(vec2(-1, 0)); + result += mat4(0.0042124554, -0.07395183, -0.008424302, -0.08135186, 0.13492796, 0.019682966, 0.014834531, 0.015007713, 0.030036928, 0.19016832, 0.012022241, 0.028489059, -0.06565293, 0.15362583, -0.021672308, -0.007369544) * conv2d_3_3_texOff(vec2(0, 0)); + result += mat4(0.046676274, -0.32627523, -0.088944666, 0.013662126, 0.02914319, -0.088862374, 0.00948638, 0.0272932, -0.0876102, -0.21171248, -0.078587115, -0.0044856896, 0.09769026, -0.09830262, 0.08361649, 0.04894043) * conv2d_3_3_texOff(vec2(1, 0)); + result += mat4(-0.056403816, -0.028157853, -0.0070459833, -0.006378269, 0.02970313, 0.037882026, -0.03152504, 0.06505461, -0.022435348, -0.0023176281, 0.010481274, -0.0035972742, 0.09714971, -0.12912509, -0.05330272, 0.0043754675) * conv2d_3_3_texOff(vec2(-1, 1)); + result += mat4(0.0034634916, -0.13739361, -0.01643065, -0.027316427, 0.07203822, -0.019178567, -0.015450501, 0.046859942, -0.015823357, -0.0016083946, 0.014616803, -0.0274558, -0.082427934, 0.09277257, -0.029764075, 0.0312986) * conv2d_3_3_texOff(vec2(0, 1)); + result += mat4(-0.01670181, -0.08596425, 0.014383179, -0.12495727, 0.028569762, 0.109109364, -0.001792472, 0.0115257045, 0.038399257, 0.36772048, -0.030903071, 0.086435184, -0.013315077, -0.11824613, -0.029170062, 0.0047071683) * conv2d_3_3_texOff(vec2(1, 1)); + result += mat4(-0.0017876618, 0.025184765, -0.014334835, 0.062102173, -0.1341015, 0.07384047, -0.039485138, -0.1631736, -0.033800665, 0.07445206, -0.06214827, -0.11952224, -0.018801166, -0.0623742, -0.044624705, -0.035128158) * conv2d_3_4_texOff(vec2(-1, -1)); + result += mat4(-0.037538078, 0.047088366, -0.04701197, -0.015092142, -0.11459388, 0.07065409, -0.10924341, -0.10066645, -0.010656005, 0.10921427, -0.08398287, 0.023150427, -0.02606512, -0.053402413, -0.010602136, -0.0013749858) * conv2d_3_4_texOff(vec2(0, -1)); + result += mat4(-0.08899141, -0.43752456, -0.03284476, -0.005405861, -0.10196191, -0.5272519, 0.005430924, -0.09541268, 0.05432332, -0.24191913, -0.077337205, -0.06556873, -0.07910125, -0.009894806, 0.10301255, -0.10655763) * conv2d_3_4_texOff(vec2(1, -1)); + result += mat4(-0.04677127, -0.019749215, -0.008875983, 0.027499197, -0.12072266, -0.09069183, -0.04785233, -0.17034213, 0.09350408, -0.23526967, -0.046902936, 0.08199511, -0.0032688999, -0.03868497, 0.099952295, -0.053228933) * conv2d_3_4_texOff(vec2(-1, 0)); + result += mat4(0.025132105, -0.03711758, -0.057196382, 0.0886392, -0.047623463, 0.11254569, -0.11090408, -0.13532583, 0.13554347, 0.026121082, -0.014256699, 0.052409474, 0.038515557, 0.18403813, 0.028872183, 0.02939466) * conv2d_3_4_texOff(vec2(0, 0)); + result += mat4(-0.064347744, -0.2935133, -0.15066758, -0.037243746, -0.040397864, -0.3381021, -0.02721872, -0.054716237, -0.02428898, 0.2414867, 0.017546976, -0.06722838, 0.016060075, 0.07363465, -0.12134249, 0.066975676) * conv2d_3_4_texOff(vec2(1, 0)); + result += mat4(-0.0072765, 0.0061570206, -0.07220738, -0.029459078, -0.17303656, 0.04735067, -0.010392902, -0.19273293, 0.038847405, -0.0010137454, 0.012143286, 0.06704791, -0.06079272, -0.0551711, 0.02418044, 0.059530947) * conv2d_3_4_texOff(vec2(-1, 1)); + result += mat4(-0.0057339347, -0.028764024, -0.043444213, 0.015123992, -0.17962073, 0.11742091, 0.055634864, -0.035403784, 0.015779737, 0.18281761, -0.010293197, -0.012891442, -0.008172115, -0.14339153, 0.08529122, -0.0919818) * conv2d_3_4_texOff(vec2(0, 1)); + result += mat4(-0.051245194, -0.0145835215, -0.12087156, -0.09522901, -0.18143776, -0.23926938, 0.06897029, -0.005186131, -0.0062377434, 0.17065518, -0.028380286, 0.035844486, 0.046486773, -0.18603137, -0.010511874, 0.08028066) * conv2d_3_4_texOff(vec2(1, 1)); + result += mat4(0.0004506794, 0.013103107, -0.016295668, -0.102630936, -0.005110509, 0.00685665, 0.039797332, -0.0020058618, 0.052021362, 0.029573945, -0.03489618, 0.029739795, 0.036076862, 0.0968505, -0.07506856, -0.03221121) * conv2d_3_5_texOff(vec2(-1, -1)); + result += mat4(0.10435145, 0.11439071, -0.032601725, -0.011404292, 0.0010952663, -0.07771282, -0.034104135, -0.0675817, -0.06190838, -0.06666439, 0.058334887, 0.0008694473, 0.013148221, 0.073147126, 0.00013851986, -0.033418313) * conv2d_3_5_texOff(vec2(0, -1)); + result += mat4(0.12613243, -0.30254334, -0.051057808, 0.06504544, 0.04140065, -0.109994575, 0.04425234, -0.06838215, -0.046413735, -0.94631284, 0.023434887, 0.014697015, -0.021180106, -0.2183863, 0.11645992, 0.028757503) * conv2d_3_5_texOff(vec2(1, -1)); + result += mat4(0.053507037, -0.046670087, 0.056991126, 0.072554536, 0.0015466721, -0.018859405, 0.002989442, -0.059628405, -0.040513694, 0.17697826, 0.043422233, -0.046890702, -0.03768788, -0.04253526, -0.016702065, -0.0002009787) * conv2d_3_5_texOff(vec2(-1, 0)); + result += mat4(-0.024480825, 0.072715774, -0.025486022, -0.009541553, -0.006200587, -0.055025265, 0.04167592, 0.048057698, -0.017616792, 0.018975029, -0.0090307295, -0.0066762026, 0.010227241, 0.121138304, -0.019544253, -0.0074589746) * conv2d_3_5_texOff(vec2(0, 0)); + result += mat4(0.051538445, -0.4026569, 0.03312216, 0.07355576, 0.07319814, -0.029389808, -0.006276697, 0.086079895, 0.04214275, -0.28169334, 0.06188226, -0.008583532, 0.022548335, -0.184679, 0.06424013, 0.055858057) * conv2d_3_5_texOff(vec2(1, 0)); + result += mat4(-0.011189002, -0.015745312, 0.052557625, 0.0014153324, -0.048605327, -0.13785297, -0.00420498, -0.058074653, -0.014109974, -0.068019345, -0.05556461, -0.072568744, -0.014222318, -0.0796309, -0.003964272, -0.018734748) * conv2d_3_5_texOff(vec2(-1, 1)); + result += mat4(0.07466565, 0.12048894, -0.049311258, 0.06647813, -0.03523906, -0.058351386, 0.050657038, 0.071672894, -0.06274618, -0.051137377, 0.04815986, -0.027385246, 0.024217578, 0.11098382, -0.015278791, 0.0089761885) * conv2d_3_5_texOff(vec2(0, 1)); + result += mat4(0.019446075, -0.026279556, 0.08840606, 0.004755141, 0.0050940313, -0.011071269, 0.014430294, -0.015337095, 0.03688326, -0.113050036, 0.019847535, -0.11014168, 0.050903853, 0.016559998, -0.043682724, 0.105734855) * conv2d_3_5_texOff(vec2(1, 1)); + result += mat4(0.02413538, -0.09661888, -0.016680568, -0.027003048, 0.027720515, 0.05139895, -0.059533376, -0.008480151, -0.021782156, -0.0948348, -0.011946053, -0.083661206, 0.0027541763, -0.016553452, 0.05976177, -0.012382243) * conv2d_3_6_texOff(vec2(-1, -1)); + result += mat4(0.01664136, 0.032890648, 0.118016645, 0.07897552, 0.0075631356, 0.009923929, -0.028552296, -0.023822825, -0.018407537, 0.09924053, 0.028851537, 0.009706015, -0.06151248, 0.043282833, 0.0762848, 0.096101545) * conv2d_3_6_texOff(vec2(0, -1)); + result += mat4(-0.030704016, -0.20709091, -0.022521349, 0.0055669267, 0.036171656, -0.26116917, -0.0017919166, 0.0872411, 0.06075258, -0.17477477, -0.06139795, -0.057686936, -0.036947742, 0.0022338675, -0.06827943, 0.09513659) * conv2d_3_6_texOff(vec2(1, -1)); + result += mat4(0.046025567, 0.02053716, -0.07563358, 0.114850186, -0.008834413, -0.10452754, -0.015598493, -0.04279575, -0.0076079275, 0.25391746, 0.01138008, -0.06014513, 0.05888544, 0.019534808, 0.041184768, -0.037653156) * conv2d_3_6_texOff(vec2(-1, 0)); + result += mat4(0.103366904, 0.063476406, -0.032284666, 0.16858894, -0.037980165, 0.098204985, -0.019629885, -0.083128214, 0.029296165, 0.07721127, -0.12941137, 0.019428158, 0.041222446, -0.05031155, -0.05398474, 0.05417108) * conv2d_3_6_texOff(vec2(0, 0)); + result += mat4(-0.08151757, -0.083410375, -0.09471605, 0.106122725, -0.042444084, -0.14979301, 0.06904225, -0.07871019, -0.011820193, -0.1595203, 0.06331041, -0.03371198, -0.019725615, -0.16591094, -0.1034206, 0.08035169) * conv2d_3_6_texOff(vec2(1, 0)); + result += mat4(0.028080456, -0.01699382, 0.005616744, 0.106527865, -0.018187832, 0.057436462, -0.05104383, 0.11279502, 0.02042168, 0.040071566, -0.042232268, -0.003008953, -0.0283707, -0.010943442, 0.054606497, 0.022894923) * conv2d_3_6_texOff(vec2(-1, 1)); + result += mat4(0.014796767, -0.02887353, -0.018621137, 0.0028737967, 0.005466853, 0.08801529, -0.056778353, 0.07749991, -0.012213929, 0.08049053, 0.10469463, -0.010493468, -0.045273356, 0.0007864626, 0.04533333, 0.069797084) * conv2d_3_6_texOff(vec2(0, 1)); + result += mat4(-0.021616668, 0.05122962, 0.020707974, -0.02161771, 0.049373332, 0.21950689, -0.045331094, 0.038253475, 0.0033141759, 0.02463723, 0.026869116, 0.10298469, -0.049214076, 0.22436714, 0.04614014, 0.039212156) * conv2d_3_6_texOff(vec2(1, 1)); + result += mat4(-0.018752968, -0.04300836, 0.020475762, 0.044724848, 0.07042785, 0.099228844, 0.027523432, -0.00195699, -0.032637656, 0.011948905, 0.007918143, -0.0043041757, -0.029532015, 0.0026891085, 0.012754861, -0.0430998) * conv2d_3_7_texOff(vec2(-1, -1)); + result += mat4(-0.016704883, -0.4837664, 0.06987767, 0.059787884, 0.08465444, 0.0885631, -0.05699635, -0.001997929, 0.10992531, 0.07447915, -0.0991016, 0.03178755, 0.061731808, -0.033232562, -0.04067799, -0.12527466) * conv2d_3_7_texOff(vec2(0, -1)); + result += mat4(-0.012273902, -0.41195315, 0.033000518, 0.006268288, -0.03206302, -0.46935156, 0.026043748, 0.018582162, -0.04194034, 0.2521312, 0.020366658, -0.012321433, -0.10020968, -0.2217259, 0.011765439, -0.043904427) * conv2d_3_7_texOff(vec2(1, -1)); + result += mat4(-0.10416891, 0.0075240354, -0.061949026, 0.027345, -0.027931014, -0.038200084, 0.043745268, -0.03831279, 0.013798263, 0.11791611, -0.013712109, 0.09794572, 0.06262215, 0.025320092, 0.022832619, -0.11276125) * conv2d_3_7_texOff(vec2(-1, 0)); + result += mat4(-0.00523913, -0.512136, -0.088847265, 0.055632632, 0.09073465, 0.05092907, 0.0014315202, 0.01968783, -0.021083983, 0.13120243, 0.03384559, -0.12446009, -0.14667505, 0.017845381, -0.15785621, -0.13544762) * conv2d_3_7_texOff(vec2(0, 0)); + result += mat4(0.020052887, -0.39797193, 0.010568928, -0.046947133, -0.03511945, -0.15283805, -0.011877808, -0.049116343, -0.14616685, -0.3074045, -0.048095446, -0.097700015, -0.05758815, -0.092551984, 0.054198664, -0.19315828) * conv2d_3_7_texOff(vec2(1, 0)); + result += mat4(-3.4956247e-05, 0.03476059, -0.035631776, -0.1646381, 0.04365449, 0.07835767, 0.064133234, -0.15099297, -0.051307492, -0.16103648, -0.016963178, -0.14490701, 0.045352284, 0.025952758, 0.030611787, -0.028325474) * conv2d_3_7_texOff(vec2(-1, 1)); + result += mat4(0.051873993, -0.030742146, -0.044068847, -0.15974861, -0.037380863, 0.123501696, 0.0007096733, -0.042267565, 0.05865187, -0.09406753, -0.048962224, 0.01845395, -0.05687447, 0.060790457, 0.015549078, -0.02682802) * conv2d_3_7_texOff(vec2(0, 1)); + result += mat4(-0.013546276, -0.2674674, -0.014769907, -0.09219755, -0.01816903, -0.12910564, 0.13570172, -0.07004518, -0.05699189, -0.13199072, -0.04986581, 0.00066671567, -0.11889433, 0.055775836, -0.032207955, -0.056921985) * conv2d_3_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-4-ReLU) +//!HOOK LUMA +//!BIND conv2d_3_0 +//!BIND conv2d_3_1 +//!BIND conv2d_3_2 +//!BIND conv2d_3_3 +//!BIND conv2d_3_4 +//!BIND conv2d_3_5 +//!BIND conv2d_3_6 +//!BIND conv2d_3_7 +//!SAVE conv2d_4_5 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.017064162, -0.009138364, -0.01383351, 0.00047878188); + result += mat4(-0.052580684, -0.15064926, 0.02987774, 0.071231954, -0.19225833, 0.025622597, -0.0011039003, 0.071457036, 0.008199889, -0.0149901835, 0.05406384, -0.06376478, -0.01122113, -0.021406636, -0.045523465, -0.0074157855) * conv2d_3_0_texOff(vec2(-1, -1)); + result += mat4(0.025274225, -0.21419498, -0.009573271, -0.0031474095, 0.0017731632, 0.058964983, 0.011905587, 0.00091531203, -0.017207287, -0.063950986, 0.0007750435, -0.019510195, -0.023048855, -0.027910337, -0.055168293, 0.09232138) * conv2d_3_0_texOff(vec2(0, -1)); + result += mat4(0.08605948, -0.0030003372, 0.052741267, 0.040023748, -0.09887652, 0.023920717, 0.044278517, 0.029505044, 0.098118536, -0.011110594, 0.025991485, 0.06361509, -0.06282377, 0.12177764, -0.09917582, -0.023999235) * conv2d_3_0_texOff(vec2(1, -1)); + result += mat4(-0.10372887, 0.13150156, -0.02967161, -0.054864723, 0.04916811, 0.08334721, -0.015376945, 0.077685595, 0.021581098, 0.026523333, 0.046904378, 0.03219035, 0.026270257, 0.028524369, 0.0808416, -0.015126878) * conv2d_3_0_texOff(vec2(-1, 0)); + result += mat4(-0.0686373, -0.19545661, -0.02708483, 0.038734537, -0.07516088, -0.08819075, 0.033431824, -0.07084005, -0.037832294, -0.13529156, 0.014877889, 0.052974556, -0.00043094283, 0.036109447, 0.054239854, -0.048982244) * conv2d_3_0_texOff(vec2(0, 0)); + result += mat4(-0.01925057, 0.11993922, -0.012421586, 0.09361362, -0.1287831, 0.02428774, -0.020293595, 0.047963224, -0.032048315, -0.026012499, 0.00694215, -0.046500634, 0.026485292, 0.037203632, -0.019537913, -0.04560386) * conv2d_3_0_texOff(vec2(1, 0)); + result += mat4(-0.0022092953, -0.08684662, -0.013565316, -0.09283821, -0.030863952, 0.015646499, 0.10596539, 0.05793488, -0.026306584, 0.09371543, 0.048523117, -0.064937055, 0.078743555, -0.042760815, 0.035294045, -0.049106862) * conv2d_3_0_texOff(vec2(-1, 1)); + result += mat4(0.011494794, -0.10678031, 0.009467505, -0.059890613, 0.04309799, -0.029751549, 0.10095897, -0.009623872, 0.018188117, -0.01677607, -0.016772823, -0.054297403, 0.032907236, -0.03913367, 0.03649624, -0.040169254) * conv2d_3_0_texOff(vec2(0, 1)); + result += mat4(-0.052569184, 0.08124637, 0.04154669, -0.032765217, -0.01812052, -0.0010777035, 0.03483911, 0.06408343, 0.00833733, 0.032703206, 0.03860717, 0.051305726, -0.03682224, 0.12587099, -0.10561036, -0.060865622) * conv2d_3_0_texOff(vec2(1, 1)); + result += mat4(0.09097959, -0.07135179, 0.09142802, 0.07326993, -0.058128767, 0.04646628, -0.010448193, 0.10141786, -0.004616605, -0.013517964, -0.03763962, -0.07403178, -0.0009963597, -0.020518739, 0.018544478, 0.011436883) * conv2d_3_1_texOff(vec2(-1, -1)); + result += mat4(-0.014348731, -0.15722904, 0.11336486, 0.026427304, -0.07103025, 0.036963984, -0.0030734194, -0.022326298, 0.026184712, -0.111013845, -0.009728729, -0.05109377, 0.024496106, -0.028599976, 0.031787872, 0.03542584) * conv2d_3_1_texOff(vec2(0, -1)); + result += mat4(-0.07050498, -0.109162614, 0.045223612, -0.047703285, -0.009953353, -0.00785853, 0.046700656, -0.0028644206, -0.011897823, 0.06520107, -0.042867575, -0.041821364, 0.028639575, -0.014540787, -0.06456859, 0.0064730393) * conv2d_3_1_texOff(vec2(1, -1)); + result += mat4(0.13522974, -0.15272519, 0.08009654, -0.047066122, -0.08123054, 0.13892876, -0.026219133, 0.019194964, -0.09978711, -0.048148822, -0.023773579, 0.074001074, 0.059268706, 0.023089651, -0.0020605852, -0.049749803) * conv2d_3_1_texOff(vec2(-1, 0)); + result += mat4(-0.1035288, -0.07737308, -0.052633196, -0.04648146, 0.04661116, 0.18126677, -0.0076506822, 0.010274198, -0.04626878, -0.1933045, -0.068177186, 0.018264003, -0.01584764, -0.023423357, -0.05962603, -0.104598) * conv2d_3_1_texOff(vec2(0, 0)); + result += mat4(-0.29603174, 0.04270164, 0.02925997, 0.034024626, 0.07141427, 0.07198113, -0.0576125, 0.072871424, -0.029549595, -0.03296585, -0.045270614, -0.025112106, 0.03141592, 0.05787938, -0.023451163, -0.011590421) * conv2d_3_1_texOff(vec2(1, 0)); + result += mat4(0.115010194, 0.0060094194, 0.057757296, 0.020855885, 0.008687725, -0.053142034, -0.054601498, 0.03892092, 0.072945, 0.0351329, 0.020654047, 0.049179904, -0.06461736, -0.0075203404, 0.050319687, -0.054393794) * conv2d_3_1_texOff(vec2(-1, 1)); + result += mat4(0.13110146, 0.038108196, 0.09231352, 0.01521032, -0.15011574, 0.060580675, -0.106966026, 0.13397363, -0.08296644, 0.0009438238, 0.045094255, -0.05785406, -0.06297069, 0.04615938, -0.024615912, 0.040067635) * conv2d_3_1_texOff(vec2(0, 1)); + result += mat4(-0.17284414, 0.04515633, 0.10534201, -0.10964022, -0.06890745, 0.064414054, -0.12355559, 0.062324725, -0.04746664, 0.07626474, 0.01518654, -0.06601995, -0.034115233, 0.0062601757, 0.056195226, 0.052302837) * conv2d_3_1_texOff(vec2(1, 1)); + result += mat4(0.007837691, -0.01199658, -0.017733863, 0.06306481, 0.05477579, -0.03247842, 0.06285389, 0.03631672, -0.009716627, -0.028226832, -0.021615943, -0.029075084, -0.03702496, -0.19614635, 0.02188354, -0.03116074) * conv2d_3_2_texOff(vec2(-1, -1)); + result += mat4(0.036597606, -0.04945229, -0.053345334, -0.0077212485, -0.054383732, -0.07641286, 0.053576794, 0.0015732987, -0.053602118, -0.05044491, -0.040455487, 0.0040192823, 0.059879083, -0.16295475, -0.030358082, -0.05802254) * conv2d_3_2_texOff(vec2(0, -1)); + result += mat4(0.02100697, -0.027025238, 0.039390437, -0.039955378, -0.015499209, -0.013657418, 0.03277752, -0.0034124032, 0.047590386, 0.054839954, -0.018624965, 0.034774452, -0.03736205, 0.081904836, -0.025306534, -0.07560313) * conv2d_3_2_texOff(vec2(1, -1)); + result += mat4(-0.019029297, 0.111544676, -0.019449128, -0.062633835, -0.083387695, -0.11506184, -0.025028003, 0.11878264, -0.12687209, -0.1018427, -0.00032619596, -0.0026753717, -0.22193514, 0.08331448, 0.00112046, -0.039312974) * conv2d_3_2_texOff(vec2(-1, 0)); + result += mat4(-0.040813815, -0.07806331, 0.03336142, 0.037170477, 0.007642417, -0.028553793, 0.024147913, 0.06769474, -0.08894962, -0.18185507, 0.07269825, -0.004149227, 0.012871838, -0.0026559688, -0.0018293501, -0.0714703) * conv2d_3_2_texOff(vec2(0, 0)); + result += mat4(-0.024167957, -0.059312645, -0.01700588, -0.0029320365, -0.033242915, 0.027415048, 0.005478587, 0.0093810465, -0.08544, -0.024799146, -0.05432229, -0.0023842666, 0.20560393, -0.26743928, 0.010901901, -0.04611726) * conv2d_3_2_texOff(vec2(1, 0)); + result += mat4(-0.038561303, -0.045697164, -0.05869932, -0.036688242, 0.1325007, -0.03593313, 0.051447615, 0.04460445, -0.0013512254, 0.055332843, -0.029415287, -0.019206904, 0.054360576, 0.026933549, -0.019128239, 0.012142919) * conv2d_3_2_texOff(vec2(-1, 1)); + result += mat4(0.030934611, -0.08669126, -0.029762989, -0.05379838, 0.07881614, 0.06504117, -0.027605763, 0.023803793, -0.08531236, -0.11109963, 0.038883496, -0.029502144, 0.02944934, 0.08285026, -0.03329594, 0.05665866) * conv2d_3_2_texOff(vec2(0, 1)); + result += mat4(0.008495413, -0.02058559, 0.044251725, -0.019452604, 0.018759632, -0.038155902, -0.0054274984, 0.019549018, -0.14419942, -0.021452796, -0.085885644, 0.018500164, 0.06183025, -0.04069198, 0.037580013, 0.07268955) * conv2d_3_2_texOff(vec2(1, 1)); + result += mat4(-0.074962415, -0.14022659, 0.016520677, -0.03555597, 0.004317521, 0.021628324, -0.016216125, -0.0090265395, -0.01530891, -0.10614487, 0.033422954, 0.030696338, -0.041668694, -0.01127462, -0.0020192435, -0.06253296) * conv2d_3_3_texOff(vec2(-1, -1)); + result += mat4(-0.03193416, -0.09075817, 0.015444187, -0.004731062, 0.016805839, -0.011859106, 0.0022314081, 0.013757967, -0.09098486, -0.057078097, 0.019984663, 0.08406895, 0.042971447, 0.017707441, -0.07873982, -0.106951326) * conv2d_3_3_texOff(vec2(0, -1)); + result += mat4(0.029794892, -0.04604144, 0.010108115, -0.08741878, 0.05272005, 0.018187212, 0.03645441, 0.012478393, 0.10531403, -0.09543154, -0.030098045, 0.052879542, 0.08159108, 0.0033676077, -0.0076734563, 0.056860436) * conv2d_3_3_texOff(vec2(1, -1)); + result += mat4(-0.22705682, 0.00079008023, -0.011108722, 0.021449545, -0.007286752, 0.05923551, -0.03640832, -0.07398509, -0.01398978, 0.15273027, -0.0035569891, 0.03433935, -0.10257959, 0.0018353865, -0.08885308, -0.00683911) * conv2d_3_3_texOff(vec2(-1, 0)); + result += mat4(-0.20244955, 0.029942783, -0.01571777, 0.07039789, 0.052346084, 0.044757873, 0.07072515, 0.03373764, 0.10586753, 0.11967013, 0.06233647, -0.014309061, 0.037730675, 0.08074081, 0.07824349, 0.030605627) * conv2d_3_3_texOff(vec2(0, 0)); + result += mat4(-0.029372077, -0.08410153, -0.039379567, -0.03293846, 0.058879156, 0.10751088, -0.04405436, -0.021532848, 0.033775743, 0.13573281, -0.06923716, 0.05646577, 0.04221952, 0.091175765, -0.029289754, -0.06825895) * conv2d_3_3_texOff(vec2(1, 0)); + result += mat4(-0.00815596, -0.14585166, 0.037386876, 0.050968193, -0.17023389, -0.005002287, 0.013146105, -0.03545544, 0.016367182, -0.18802391, 0.014690057, 0.12102291, -0.14183491, 0.042241927, -0.0611679, 0.060872253) * conv2d_3_3_texOff(vec2(-1, 1)); + result += mat4(-0.0832433, -0.088078916, 0.0015827757, -0.025694754, -0.12472857, -0.013242852, -0.05026308, 0.028733818, 0.004187615, -0.009066128, -0.02889407, 0.08355199, -0.056096047, -0.007907776, -0.03415466, -0.02147954) * conv2d_3_3_texOff(vec2(0, 1)); + result += mat4(0.081740275, -0.08329364, 0.02646948, 0.04717796, 0.027727498, 0.073901534, 0.009284709, -0.05989023, 0.12223431, 0.043366108, -0.11360815, 0.051331054, 0.034414172, -0.019913677, -0.014516429, -0.05338667) * conv2d_3_3_texOff(vec2(1, 1)); + result += mat4(-0.024820674, 0.042039003, 0.02557277, 0.016237829, 0.13573207, -0.009554409, 0.042378433, 0.05221828, 0.03467738, -0.008004979, 0.048410967, -0.0777469, -0.056629356, 0.013864829, -0.011651788, 0.088673696) * conv2d_3_4_texOff(vec2(-1, -1)); + result += mat4(0.05088607, -0.009790113, 0.012366664, -0.03817271, 0.06393957, -0.20795764, 0.0148599865, -0.051517952, 0.023521481, -0.032240342, 0.0012528885, -0.043891285, -0.12818205, 0.02200286, 0.012515829, 0.105249815) * conv2d_3_4_texOff(vec2(0, -1)); + result += mat4(0.06575557, 0.007183827, 0.08914133, -0.08024906, 0.10274569, -0.06478045, 0.08660466, -0.041635897, -0.03250085, 0.050974824, -0.016890934, -0.013152202, 0.04095364, -0.023561912, 0.074805975, 0.010691788) * conv2d_3_4_texOff(vec2(1, -1)); + result += mat4(0.026221585, 0.043330725, -0.059108663, 0.07382594, 0.03668524, -0.11761509, 0.021285456, 0.045165, -0.14192653, 0.060858056, 0.010537122, -0.0155713, 0.05379938, -0.036375877, -0.03184592, -0.012125754) * conv2d_3_4_texOff(vec2(-1, 0)); + result += mat4(0.0486592, 0.022117248, -0.05874868, -0.005936204, 0.050171755, -0.28107113, -0.0077959495, 0.027032051, -0.104360506, 0.04668788, 0.087733194, -0.0639317, -0.06912867, 0.07747981, -0.067822784, 0.028730944) * conv2d_3_4_texOff(vec2(0, 0)); + result += mat4(0.07823856, 0.0013985023, 0.108623, 0.0021302488, 0.13876343, -0.10544516, 0.085131936, 0.017325265, 0.03752746, -0.054372102, -0.027844364, 0.04206507, 0.08210051, -0.001717249, -0.007464347, 0.08731228) * conv2d_3_4_texOff(vec2(1, 0)); + result += mat4(0.048742786, 0.014443547, -0.04710202, 0.01071015, 0.04355869, -0.001159062, -0.0078969775, 0.035044957, -0.04782799, 0.114430696, 0.049874514, 0.052845404, 0.017371679, 0.079726264, -0.027398052, 0.043368444) * conv2d_3_4_texOff(vec2(-1, 1)); + result += mat4(0.030715011, 0.107153215, -0.012649968, -0.07014838, 0.087433375, -0.0805983, 0.013917231, 0.06447163, 0.14152324, -0.041162245, -0.051097997, -0.014839854, -0.014786458, -0.012846841, -0.18997125, 0.052193753) * conv2d_3_4_texOff(vec2(0, 1)); + result += mat4(-0.043101534, 0.024263863, 0.069595486, -0.080130525, 0.10499162, -0.11555224, 0.097466506, 0.06178219, 0.083992146, 0.038534395, -0.06808349, 0.071081005, 0.090051174, 0.036718383, -0.03371315, 0.089062415) * conv2d_3_4_texOff(vec2(1, 1)); + result += mat4(0.02752385, -0.043868963, -0.0075966883, 0.05074857, -0.010309309, 0.0029827978, 0.008614498, -0.050269563, 0.0073773093, 0.05339757, -0.038882896, 0.037564635, 0.040408596, 0.079476185, 0.049911276, -0.031025842) * conv2d_3_5_texOff(vec2(-1, -1)); + result += mat4(0.010402423, -0.021169057, -0.006185289, 0.03808448, 0.004703902, 0.04132122, 0.027664572, -0.083228655, -0.12492678, -0.017198684, -0.047410347, 0.03462901, -0.086314954, -0.1605177, 0.007901679, -0.008727798) * conv2d_3_5_texOff(vec2(0, -1)); + result += mat4(-0.10260776, -0.0032098314, -0.026985312, 0.032166883, 0.06461039, -0.027318908, 0.049204275, -0.017971812, -0.11446602, 0.03409934, 0.0033458848, -0.024349788, 0.05180107, -0.055579998, 0.0026593648, -0.007589303) * conv2d_3_5_texOff(vec2(1, -1)); + result += mat4(0.019445686, -0.020414535, 0.0006472283, 0.0156667, 0.0491174, -0.0066385847, 0.01661231, -0.021331865, -0.017333452, 0.07392369, 0.013600466, 0.025585927, -0.04805005, 0.0035442205, 0.049909502, 0.05410278) * conv2d_3_5_texOff(vec2(-1, 0)); + result += mat4(-0.116750695, -0.026829056, 0.025816385, 0.18974182, 0.036839206, -0.058677956, -0.05649178, -0.03159795, -0.084431015, 0.21318555, 0.030447993, 0.14198494, 0.02155719, -0.06378866, 0.056859545, 0.039767765) * conv2d_3_5_texOff(vec2(0, 0)); + result += mat4(-0.043991324, 0.06969867, -0.09649554, 0.068113476, 0.07376832, 0.027794264, 0.06412948, -0.107598566, -0.06815859, -0.039101645, -0.036776356, 0.09060587, -0.059446387, -0.0061770855, 0.036457524, -0.08388637) * conv2d_3_5_texOff(vec2(1, 0)); + result += mat4(0.012548781, -0.0053755897, 0.027420633, 0.058871847, 0.12011362, 0.036351822, 0.024999782, 0.06201431, -0.006500293, -0.06003566, -0.012171236, -0.0034447624, 0.005984315, 0.05129913, 0.033435665, 0.054115847) * conv2d_3_5_texOff(vec2(-1, 1)); + result += mat4(0.064937584, 0.0130189415, 0.014841783, 0.013236126, -0.011993064, -0.0010715196, 0.033699043, -0.064773686, -0.06944554, 0.06720751, 0.052476846, 0.050593235, -0.020699535, 0.13518973, 0.0017886882, 0.042394735) * conv2d_3_5_texOff(vec2(0, 1)); + result += mat4(0.092944555, 0.018714722, -0.059384845, 0.05072983, 0.035747956, 0.061721165, 0.041678034, -0.082633905, -0.032900624, -0.051342104, -0.08912702, 0.008042744, 0.08002831, -0.043737162, 0.028259652, 0.023484616) * conv2d_3_5_texOff(vec2(1, 1)); + result += mat4(-0.013745657, -0.007633268, -0.048201825, 0.0053475653, -0.06224788, 0.081527114, -0.040953435, -0.023771685, 0.088649556, 0.09754979, -0.016013704, -0.11392925, 0.005409401, 0.022066267, 0.0230272, 0.071867086) * conv2d_3_6_texOff(vec2(-1, -1)); + result += mat4(0.029500319, 0.0369013, 0.014230375, -0.039850343, 0.03266401, -0.012809505, 0.02225152, 0.040311716, 0.016176805, 0.13866723, -0.05700596, 0.0092237545, -0.23510231, -0.000337322, 0.016938541, 0.09166502) * conv2d_3_6_texOff(vec2(0, -1)); + result += mat4(0.06344694, 0.045878544, -0.017930366, -0.011110018, -0.007533558, -0.10000114, 0.028966762, -0.0113148, -0.10936397, -0.056249842, 0.054771904, 0.10257253, -0.017031658, 0.011547765, 0.018011222, -0.014017226) * conv2d_3_6_texOff(vec2(1, -1)); + result += mat4(0.048865512, 0.025866576, -0.024717387, 0.029450499, 0.021262022, 0.10048638, -0.056855593, -0.07887682, -0.007713335, -0.1985286, 0.033151604, 0.060416847, 0.08108954, -0.03879282, 0.028452195, 0.03459194) * conv2d_3_6_texOff(vec2(-1, 0)); + result += mat4(0.025263092, -0.028710818, 0.053543083, 0.021539392, 0.05636524, -0.038863085, 0.035249256, 0.003139853, 0.002222635, 0.015200795, 0.056427654, -0.054206114, 0.044076152, 0.084221594, -0.02612379, -0.0029482276) * conv2d_3_6_texOff(vec2(0, 0)); + result += mat4(-0.026838617, 0.0904887, -0.008255456, 0.007646968, -0.028907517, 0.10389119, 0.077646695, -0.034427915, -0.12124107, 0.06974404, -0.054933053, -0.037042152, 0.059587143, -0.004180774, 0.042085014, -0.049726043) * conv2d_3_6_texOff(vec2(1, 0)); + result += mat4(0.014240625, 0.049130592, 0.054632396, 0.05262821, 0.034751363, 0.04461164, -0.01893102, 0.06457297, -0.0030643991, 0.077637345, 0.07165792, -0.07350835, 0.10283324, -0.1352381, 0.0479085, -0.04838709) * conv2d_3_6_texOff(vec2(-1, 1)); + result += mat4(-0.018387407, -0.039498515, -0.03944234, -0.011729611, -0.026777115, -0.019394714, -0.0030624773, -0.058942895, 0.00010417057, 0.0046145073, -0.03480986, -0.000865622, 0.11664703, 0.030569486, -0.048659857, 0.0733454) * conv2d_3_6_texOff(vec2(0, 1)); + result += mat4(-0.012518504, 0.04270005, -0.04549333, -0.013024053, -0.086333744, -0.029665101, -0.033968486, -0.00806569, -0.22396058, -0.043458533, 0.07180374, -0.0006986618, 0.1694426, -0.034902193, -0.027834652, 0.014592792) * conv2d_3_6_texOff(vec2(1, 1)); + result += mat4(0.14171517, 0.00762185, 0.029552683, 0.059720222, -0.096513994, 0.14818208, -0.02875358, -0.015003521, -0.00791769, -0.03699371, 0.015498617, -0.00073933665, -0.112339795, -0.012962045, -0.034593403, 0.0075096604) * conv2d_3_7_texOff(vec2(-1, -1)); + result += mat4(-0.039212655, -0.0618684, 0.05029151, 0.039569814, -0.07647384, 0.105941355, -0.02122875, 0.07988431, 0.13522357, 0.01837457, 0.07444361, -0.24716674, 0.06037326, -0.04073068, -0.0063440213, -0.0523196) * conv2d_3_7_texOff(vec2(0, -1)); + result += mat4(0.04664386, 0.069369055, -0.032271415, 0.10329228, -0.1251751, 0.026377456, 0.05780323, 0.022418464, 0.07428419, 0.10319433, 0.026942212, -0.013725641, -0.11263362, 0.010131541, -0.027427072, 0.019740785) * conv2d_3_7_texOff(vec2(1, -1)); + result += mat4(-0.00065466994, -0.032091245, -0.018805465, 0.025538133, -0.042291056, 0.09112029, -0.001967435, 0.00907886, -0.028492209, 0.12510802, 0.035390504, 0.035649158, 0.079726964, -0.12697986, 0.048638616, -0.09750821) * conv2d_3_7_texOff(vec2(-1, 0)); + result += mat4(-0.002654665, 0.039059293, -0.010432873, -0.08553095, 0.0068300953, 0.094018064, -0.11085811, -0.008229747, 0.039278056, 0.061763294, -0.026760988, 0.050798867, -0.010892567, -0.05135347, -0.04973469, -0.08129986) * conv2d_3_7_texOff(vec2(0, 0)); + result += mat4(-0.04475997, 0.0016825717, 0.0367337, -0.018750174, -0.03916739, -0.048325635, -0.019920122, 0.063258015, -0.21115406, 0.13041137, 0.02212824, -0.05905629, -0.0020679291, -0.08770216, -0.057347674, -0.010861143) * conv2d_3_7_texOff(vec2(1, 0)); + result += mat4(-0.037821528, -0.046192843, 0.06482348, 0.079046875, -0.073419996, -0.005091488, 0.037938118, -0.018443927, 0.123021156, -0.055003177, -0.07070309, -0.08514817, -0.010225843, -0.058565214, 0.006292945, -0.117130995) * conv2d_3_7_texOff(vec2(-1, 1)); + result += mat4(0.03319668, 0.04250895, -0.04410246, 0.049072955, 0.05344825, 0.0024664747, -0.0565792, 0.05722042, 0.027147643, -0.18456233, -0.013522794, -0.17024432, -0.066083804, -0.042966776, 0.044605523, -0.08420987) * conv2d_3_7_texOff(vec2(0, 1)); + result += mat4(-0.030072097, 0.010024286, 0.03837929, -0.07633771, 0.02184606, 0.053947315, -0.052319027, -0.06662929, 0.07677724, 0.039782483, 0.030801704, 0.029726626, -0.08834049, -0.04875117, 0.064755246, -0.042219732) * conv2d_3_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-4-ReLU) +//!HOOK LUMA +//!BIND conv2d_3_0 +//!BIND conv2d_3_1 +//!BIND conv2d_3_2 +//!BIND conv2d_3_3 +//!BIND conv2d_3_4 +//!BIND conv2d_3_5 +//!BIND conv2d_3_6 +//!BIND conv2d_3_7 +//!SAVE conv2d_4_6 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.009212119, 0.003507561, 0.0017614447, -0.000891854); + result += mat4(0.005420479, -0.03765253, -0.2113703, -0.017019596, -0.00012232907, -0.0119664, 0.030475564, 0.055534728, 0.016226996, -0.0041894116, -0.028692553, -0.14969012, 0.009976876, -0.03127412, -0.025543587, 0.0060234335) * conv2d_3_0_texOff(vec2(-1, -1)); + result += mat4(0.06841778, 0.023803147, -0.0072954386, 0.019212373, 0.0064333337, 0.009574441, 0.015377656, 0.05924476, -0.042617206, 0.023110364, 0.023833469, -0.083872244, 0.05775824, -0.030449226, -0.02677098, -0.10038502) * conv2d_3_0_texOff(vec2(0, -1)); + result += mat4(0.0638864, -0.011889598, -0.008499467, -0.063392386, 0.027327657, -0.0443597, -0.075027354, -0.03230062, -0.0009098622, -0.02644064, -0.029291596, -0.1973508, 0.027956672, -0.04969405, -0.0017926429, -0.34395823) * conv2d_3_0_texOff(vec2(1, -1)); + result += mat4(0.090639815, -0.071703546, -0.031222042, -0.11186478, -0.092462555, 0.012811491, -0.08094574, 0.017513886, 0.05244458, 0.02451952, -0.089271806, -0.061425485, -0.03058655, -0.009828067, -0.03462443, -0.09433234) * conv2d_3_0_texOff(vec2(-1, 0)); + result += mat4(0.020117106, -0.024253564, -0.031959753, -0.02785439, 0.09027044, 0.024937445, 0.08147845, 0.08131762, -0.056052797, 0.05791107, 0.017341726, 0.044404604, 0.02774216, 0.04790289, 0.11865258, -0.0039098156) * conv2d_3_0_texOff(vec2(0, 0)); + result += mat4(-0.040809244, -0.008604578, -0.0153527865, 0.04332529, 0.018727358, 0.03269885, 0.004727862, 0.03407893, -0.015570462, 0.042268675, -0.038988966, -0.08019628, 0.025311142, -0.048892096, 0.090186566, -0.02802924) * conv2d_3_0_texOff(vec2(1, 0)); + result += mat4(-0.009189727, -0.045040485, 0.010411647, -0.01015024, -0.011376033, -0.041132443, 0.061139964, 0.03836695, 0.006959192, 0.047185596, 0.014345384, 0.015355248, -0.008752522, 0.041594893, 0.055910952, 0.019942183) * conv2d_3_0_texOff(vec2(-1, 1)); + result += mat4(0.036358375, 0.042022303, -0.035140347, -0.026121737, -0.004275827, 0.039477937, -0.018245168, -0.02093531, 0.03132263, 0.030153207, -0.016479421, 0.0717239, -0.095710844, 0.030274253, -0.022124823, -0.071871266) * conv2d_3_0_texOff(vec2(0, 1)); + result += mat4(-0.032366402, -0.007857223, -0.004956957, -0.028024815, -0.030021444, -0.026756978, 0.017738787, -0.030870682, 0.025447551, -0.046104956, -0.031820256, -0.065970615, 0.131537, -0.055886056, -0.02947717, -0.39466482) * conv2d_3_0_texOff(vec2(1, 1)); + result += mat4(0.08857444, 0.06181201, 0.10892477, 0.1598865, -0.029200364, -0.06248032, -0.161934, -0.057283062, 0.0060867066, -0.01603005, -0.050214414, -0.034583017, -0.008151495, -0.029216588, 0.037830215, 0.051382557) * conv2d_3_1_texOff(vec2(-1, -1)); + result += mat4(0.008736238, 0.035757974, 0.09563558, 0.16731556, 0.05011469, -0.010148606, 0.0024213805, -0.030117258, -0.05672622, 0.0044039665, -0.05888496, 0.06614675, 0.03148651, -0.0059596444, 0.021443851, 0.033808507) * conv2d_3_1_texOff(vec2(0, -1)); + result += mat4(-0.04901095, 0.04794677, 0.0643962, 0.13461615, -0.050091352, 0.053921502, -0.033675965, -0.10954018, -0.009882757, 0.03844012, 0.06563831, -0.030110866, -0.0114040375, -0.050989687, -0.017535688, 0.022628047) * conv2d_3_1_texOff(vec2(1, -1)); + result += mat4(-0.1263618, 0.03231095, 0.062102746, 0.07534381, -0.04930551, -0.035797704, -0.07076261, -0.09166402, 0.024191594, 0.0050198454, -0.0826121, 0.06363455, 0.022899987, 0.0228045, 0.070139974, 0.03956099) * conv2d_3_1_texOff(vec2(-1, 0)); + result += mat4(0.0058244937, -0.005637994, 0.1246669, 0.06947529, -0.06064936, -0.032905243, -0.018688258, -0.02922478, -0.057199407, 0.10089234, -0.09028781, 0.07328673, 0.049419697, -0.0432712, -0.036055803, 0.008174136) * conv2d_3_1_texOff(vec2(0, 0)); + result += mat4(0.048131414, 0.015285253, 0.014695274, 0.02809009, -0.0687197, -0.063207634, -0.050545406, -0.040920738, 0.027214851, -0.03648223, 0.026417531, -0.024559537, 0.054645345, 0.013809618, 0.03174937, 0.037179485) * conv2d_3_1_texOff(vec2(1, 0)); + result += mat4(-0.07546025, -0.0013769476, 0.04695833, 0.11174557, -0.058189187, -0.037412923, -0.1805649, -0.19137752, -0.0008346956, 0.038469624, 0.031923845, 0.008102112, -0.029564379, -0.015368986, 0.08247637, -0.07343577) * conv2d_3_1_texOff(vec2(-1, 1)); + result += mat4(-0.010937313, -0.004594886, 0.021334773, 0.026873654, -0.021222077, -0.05205842, -0.11226086, -0.071445644, -0.036068343, -0.0620517, -0.04320595, 0.008665601, -0.00785826, 0.031145884, 0.0119496705, -0.013787682) * conv2d_3_1_texOff(vec2(0, 1)); + result += mat4(0.05067506, 0.0053193653, 0.1120914, 0.03604513, -0.048197076, -0.023107274, -0.13865311, -0.18559352, -0.036083188, -0.07118795, 0.034903843, -0.052835755, 0.0023837686, 0.002603539, 0.01904784, -0.110311635) * conv2d_3_1_texOff(vec2(1, 1)); + result += mat4(0.02851371, -0.0037221194, -0.24336554, 0.033621766, -0.065597855, -0.003746745, -0.060015995, -0.16574976, -0.008641539, -0.010923488, -0.07563573, -0.043142762, 0.13892038, -0.00751957, 0.018870976, -0.08124187) * conv2d_3_2_texOff(vec2(-1, -1)); + result += mat4(-0.054872446, -0.030896993, -0.09895045, -0.030481728, 0.031462237, 0.08630375, -0.010975847, -0.13422976, -0.019862631, -0.04584088, 0.042665944, -0.0091746915, 0.10421198, -0.03711207, -0.03594472, 0.019919347) * conv2d_3_2_texOff(vec2(0, -1)); + result += mat4(0.017245872, -0.029405488, -0.01558761, -0.11982464, -0.009225813, 0.110546574, 0.05875645, -0.3290906, 0.0025578954, -0.05087402, 0.061268315, -0.027504647, 0.009124695, -0.011226426, -0.034456946, 0.08192874) * conv2d_3_2_texOff(vec2(1, -1)); + result += mat4(0.10110505, -0.0006719686, 0.019420506, 0.0016768094, -0.05121278, 0.070078194, 0.07162851, -0.32755074, 0.05429881, -0.060515676, -0.0042930716, -0.04429736, -0.060902376, 0.0042079967, -0.028214697, -0.040386092) * conv2d_3_2_texOff(vec2(-1, 0)); + result += mat4(0.027918313, -0.06751752, 0.012395925, 0.0077983495, 0.0702817, 0.01616738, 0.022086967, -0.22833492, -0.11892267, 0.054747373, -0.0059430473, 0.038749106, 0.07894161, 0.08004822, 0.06869113, 0.07990716) * conv2d_3_2_texOff(vec2(0, 0)); + result += mat4(0.017407585, 0.00932523, -0.06423329, -0.016436294, -0.050855115, 0.051179826, 0.025090018, -0.20749547, -0.06830204, 0.028537685, -0.020847978, -0.030851929, 0.031569283, -0.011937661, 0.051993158, 0.13939153) * conv2d_3_2_texOff(vec2(1, 0)); + result += mat4(0.02265431, 0.020365246, 0.08315113, -0.038282223, -0.007635813, -0.018300107, -0.024974423, -0.07329284, -0.009175386, -0.057932477, -0.007921735, -0.03841722, 0.010409289, 0.027423337, 0.013023029, 0.029375158) * conv2d_3_2_texOff(vec2(-1, 1)); + result += mat4(-0.09788744, -0.019917792, -0.04689008, 0.007919722, -0.054792784, 0.06983508, -0.055376597, -0.36580855, -0.06952103, 0.047611367, 0.07804524, 0.10084286, -0.04242552, -0.11590829, -0.117419906, -0.16327634) * conv2d_3_2_texOff(vec2(0, 1)); + result += mat4(-0.009322183, -0.020338742, -0.053499017, 0.03870518, 0.034012996, -0.009704714, -0.042649142, -0.3736386, 0.08686116, 0.036925863, -0.09613664, -0.035198007, 0.007542228, 0.024381611, -0.027772823, -0.055469017) * conv2d_3_2_texOff(vec2(1, 1)); + result += mat4(-0.12438315, 0.016053284, -0.023481993, -0.013729316, -0.036056396, -0.03041527, -0.053764075, -0.10810889, -0.06855047, 0.029137896, -0.0588834, -0.06328406, 0.061036192, -0.011093373, 0.024279324, 0.0039942316) * conv2d_3_3_texOff(vec2(-1, -1)); + result += mat4(-0.0028309189, 0.0051225, -0.0059563676, 0.0008854113, 0.022889823, -0.012180989, 0.048347134, -0.14547911, 0.024895424, -0.0065479483, 0.060581416, -0.12862974, -0.06892344, -0.0153697375, -0.044898406, -0.024793794) * conv2d_3_3_texOff(vec2(0, -1)); + result += mat4(-0.108111, 0.052010685, -0.018785994, 0.029380225, 0.0012618627, -0.035650805, 0.03608617, -0.0028627913, 0.05361636, -0.02459279, -0.03273652, -0.25427926, -0.041043144, -0.023363115, -0.00742035, -0.004624003) * conv2d_3_3_texOff(vec2(1, -1)); + result += mat4(-0.1640952, -0.047170945, -0.04551896, 0.03965776, -0.047767162, -0.07997877, -0.069618315, -0.095630296, 0.011616412, 0.031869434, 0.019766618, -0.028307041, 0.0662131, 0.00036933148, 0.062150527, -0.039836116) * conv2d_3_3_texOff(vec2(-1, 0)); + result += mat4(-0.0508459, -0.040735494, 0.014530418, -0.11175503, 0.05048648, -0.088057734, 0.029414315, -0.14583485, 0.07421976, -0.0035945121, -0.0507099, 0.13300386, -0.09657928, -0.016817443, 0.076937854, 0.019341528) * conv2d_3_3_texOff(vec2(0, 0)); + result += mat4(-0.112102926, 0.014283031, 0.04217049, 0.06394476, 0.0057991594, -0.009704378, -0.009131476, -0.0075958115, -0.013932986, -0.0009159908, 0.037982393, -0.0968711, 0.006820429, 0.03866606, 0.06786605, -0.099541634) * conv2d_3_3_texOff(vec2(1, 0)); + result += mat4(-0.052092947, 0.041884527, 0.05191982, 0.04347814, 0.10904768, -0.014295642, -0.04148065, -0.21627739, -0.13130075, 0.035921946, -0.045557268, -0.042424355, 0.09602343, 0.0035689296, -0.018205272, -0.052623875) * conv2d_3_3_texOff(vec2(-1, 1)); + result += mat4(0.025036452, -0.0076597426, -0.02203931, 0.019824011, 0.06812738, 0.010534089, 0.018215513, -0.05743859, -0.037721954, 0.0008116475, 0.03437198, -0.101671964, -0.117324814, -0.008874275, -0.026740242, 0.06072316) * conv2d_3_3_texOff(vec2(0, 1)); + result += mat4(-0.11793707, 0.08127973, 0.08387046, 0.06991066, -0.0060999948, 0.07509213, 0.0047291066, -0.01790309, 0.07883465, 0.010194506, -0.09597886, -0.12710233, -0.008561454, -0.017651455, 0.03258561, -0.04704412) * conv2d_3_3_texOff(vec2(1, 1)); + result += mat4(-0.079296835, -0.007176497, -0.071003966, -0.031774525, -0.015139711, 0.07969195, 0.022572745, 0.040847152, -0.042071294, -0.023583526, 0.019269235, -0.17594016, -0.0039828536, -0.034430988, 0.035904717, -0.042818602) * conv2d_3_4_texOff(vec2(-1, -1)); + result += mat4(-0.004719372, 0.034166947, -0.025561862, 0.0542308, -0.028828839, 0.066719316, -0.07790735, 0.009795526, 0.028332122, 0.055737182, 0.028444644, -0.024588242, -0.03623557, 0.032434884, 0.04088559, 0.006522376) * conv2d_3_4_texOff(vec2(0, -1)); + result += mat4(-0.0040604705, 0.05340919, -0.08511965, -0.06321315, -0.008831744, 0.064645715, -0.03758154, 0.11131898, 0.021846121, -0.06376234, 0.0130395, -0.045623153, -0.047709044, 0.086039335, -0.025562337, -0.06477406) * conv2d_3_4_texOff(vec2(1, -1)); + result += mat4(-0.09928899, -0.05115178, -0.039197285, -0.1304032, -0.01651919, 0.05500903, -0.064241424, 0.047493014, 0.0070789205, 0.0042427517, 0.05329404, -0.18802434, -0.05672121, -0.053789075, 0.05852742, -0.036337513) * conv2d_3_4_texOff(vec2(-1, 0)); + result += mat4(0.118793085, -0.0035033973, 0.012065124, -0.104995035, 0.11729614, 0.028198905, -0.023159819, 0.002350429, 0.13809848, -0.082262814, 0.063063905, -0.087338775, -0.049746137, 0.07663729, 0.01871825, -0.022991672) * conv2d_3_4_texOff(vec2(0, 0)); + result += mat4(0.08495069, 0.00314966, -0.028027764, 0.060831062, 0.08110046, 0.059274297, -0.045435946, 0.17525941, -0.02373271, 0.016823854, -0.03621947, -0.15517719, 0.009195386, 0.024517583, -0.034663264, -0.074018836) * conv2d_3_4_texOff(vec2(1, 0)); + result += mat4(-0.031922374, -0.09178929, -0.04470328, -0.0056425915, -0.087193444, -0.009263831, 0.03570166, 0.05786685, 0.05603946, -0.012095759, -0.038036183, -0.11744668, 0.01418083, -0.029454716, 0.058547355, -0.013933753) * conv2d_3_4_texOff(vec2(-1, 1)); + result += mat4(0.008746428, -0.00881258, -0.067780726, 0.036993146, -0.012930327, 0.01738473, 0.023857154, 0.07016731, 0.026034068, 0.049846373, 0.07283143, -0.15461919, 0.01664893, -0.03011495, -0.053724024, 0.007614907) * conv2d_3_4_texOff(vec2(0, 1)); + result += mat4(0.0047720834, -0.025973728, 0.023875091, 0.019430986, -0.08790736, -0.026733058, -0.0649873, 0.15559092, 0.03333609, 0.080161825, -0.088263795, -0.11223622, -0.03777764, 0.033592675, 0.0553681, -0.092704765) * conv2d_3_4_texOff(vec2(1, 1)); + result += mat4(-0.13162029, 0.04512068, -0.19087441, -0.090574555, -0.04596346, -0.0112638315, -0.02115543, 0.028295139, 0.036870148, -0.054876927, 0.040446706, -0.0021400983, -0.062495697, 0.0061328243, 0.06592003, 0.008668666) * conv2d_3_5_texOff(vec2(-1, -1)); + result += mat4(0.008848764, 0.0011493338, -0.110375166, -0.18631724, 0.016458943, -0.023491599, -0.020219717, -0.024194023, 0.021168703, 0.0002756136, 0.004352087, 0.026927633, 0.0036976594, -0.03347136, 0.03199937, 0.04778199) * conv2d_3_5_texOff(vec2(0, -1)); + result += mat4(0.044887014, -0.015682817, 0.015037376, -0.175748, 0.04638299, 0.0693437, 0.021798363, 0.00063979503, -0.0596638, -0.02457474, 0.059407007, -0.14366494, -0.01380239, -0.06749423, 0.02994469, -0.014496362) * conv2d_3_5_texOff(vec2(1, -1)); + result += mat4(0.0017486031, 0.02841711, -0.06604549, -0.026702298, -0.008490819, 0.018497119, 0.023257617, 0.022516849, -0.037321553, 0.064146526, 0.07898731, -0.02519196, -0.012452306, -0.0840357, 0.0040852013, 0.012126074) * conv2d_3_5_texOff(vec2(-1, 0)); + result += mat4(-0.010438524, -0.059748568, -0.06683171, 0.018264327, -0.028358066, -0.0077525545, 0.0019843841, 0.10297452, -0.013029149, -0.0780084, -0.07030604, -0.020326504, 0.033161737, -0.16851957, -0.00884115, -0.005680489) * conv2d_3_5_texOff(vec2(0, 0)); + result += mat4(-0.03172593, -0.076460324, -0.034672793, -0.09565322, 0.09411801, -0.033733364, 0.014327661, 0.034022108, -0.047447667, 0.03942549, 0.018579211, -0.03399011, -0.0167137, -0.10788374, -0.011078335, 0.08186553) * conv2d_3_5_texOff(vec2(1, 0)); + result += mat4(-0.06586778, -0.040866595, -0.07490561, -0.1436565, -0.0050556655, -0.06338725, -0.0017707113, 0.001981463, -0.0054731644, 0.082569465, -0.02897088, -0.10292658, -0.06616384, -0.018430147, -0.012137832, -0.062166538) * conv2d_3_5_texOff(vec2(-1, 1)); + result += mat4(-0.03181218, -0.05381025, 0.059821106, -0.11877228, 0.009863026, 0.05000853, -0.06959257, 0.06890695, 0.039417874, -0.022792812, -0.0029466874, -0.0687668, -0.006412169, -0.08145962, 0.08518502, 0.04658461) * conv2d_3_5_texOff(vec2(0, 1)); + result += mat4(-0.03083078, -0.0310465, 0.0078087426, -0.18088213, -0.010876949, -0.0359779, 0.022039082, -0.016628625, -0.007735943, 0.035845563, 0.048187084, -0.06311247, 0.043105073, -0.0349099, -0.05868301, -0.06875034) * conv2d_3_5_texOff(vec2(1, 1)); + result += mat4(-0.07597523, -0.000118873795, -0.0996825, -0.20153405, 0.0039742854, -0.044571046, -0.10699664, -0.024057847, -0.047947194, 0.007382565, 0.099283315, 0.055183735, 0.004617195, -0.010980081, 0.05941656, -0.007280792) * conv2d_3_6_texOff(vec2(-1, -1)); + result += mat4(0.097414196, 0.013401685, 0.025069386, -0.16215841, 0.086117856, 0.01131146, -0.026106486, -0.07709636, -0.09018702, 0.04200694, -0.019005083, 0.011442096, -0.058725484, 0.0143419495, 0.041763484, 0.048719704) * conv2d_3_6_texOff(vec2(0, -1)); + result += mat4(-0.020885194, -0.04005326, -0.050581712, -0.2618801, 0.0009486669, 0.04054283, 0.014780989, -0.015885768, 0.07160794, 0.005877842, 0.015010413, -0.102895364, -0.0098498985, -0.015015686, 0.035676993, -0.043735452) * conv2d_3_6_texOff(vec2(1, -1)); + result += mat4(-0.061503306, -0.0328786, -0.16844888, -0.15721038, -0.018058324, -0.017600132, -0.01782079, -0.020330062, 0.054945245, 0.06528852, 0.016597655, 0.15817197, 0.115286455, 0.08032661, 0.12972084, 0.09322981) * conv2d_3_6_texOff(vec2(-1, 0)); + result += mat4(0.056910582, -0.0557694, -0.013893304, -0.03856103, 0.048139565, -0.046840668, -0.0886231, -0.040739585, 0.058171514, 0.031745203, -0.016775448, 0.11105396, -0.07627872, 0.038695868, 0.051778734, 0.014261746) * conv2d_3_6_texOff(vec2(0, 0)); + result += mat4(-0.031500544, -0.012877934, -0.021475017, -0.18154864, -0.09454298, 0.007249689, 0.030825041, -0.05184904, -0.07232011, 0.029033003, 0.079822086, 0.077453986, -0.03341855, 0.048954055, 0.071169496, 0.059435852) * conv2d_3_6_texOff(vec2(1, 0)); + result += mat4(0.03906401, -0.058501486, -0.14872393, -0.2742766, 0.025929766, -0.059418917, -0.06694148, -0.06988536, 0.06319708, 0.05856558, 0.11449252, 0.07617328, 0.01054938, 0.030854799, 0.10453961, 0.14716713) * conv2d_3_6_texOff(vec2(-1, 1)); + result += mat4(0.05172054, -0.02230426, -0.039621804, -0.16871932, -0.036133233, 0.002362637, -0.056437444, 0.06979001, -0.08853697, -0.050805826, -0.004369545, -0.051083148, 0.026776522, 0.00321468, 0.06917667, 0.058441408) * conv2d_3_6_texOff(vec2(0, 1)); + result += mat4(0.0453228, -0.094410285, -0.07183124, -0.25580448, -0.017125934, -0.034065496, 0.08573492, 0.011414003, 0.019990936, -0.0243371, 0.12472054, -0.20313217, 0.029985143, 0.02701724, 0.09371544, 0.08373268) * conv2d_3_6_texOff(vec2(1, 1)); + result += mat4(-0.11070917, 0.0439401, 0.057106707, 0.017534625, 0.067257494, 0.039300725, 0.028364751, -0.07374785, 0.004958037, 0.011277688, -0.029628806, -0.038294997, 0.05835732, -0.037194714, -0.030700421, -6.9137727e-06) * conv2d_3_7_texOff(vec2(-1, -1)); + result += mat4(-0.11989683, 0.0040158937, 0.14065981, 0.007349627, 0.20193796, 0.030507924, -0.0023648832, 0.06658213, 0.025256509, 9.29601e-05, 0.025075002, 0.16907753, -0.008863759, 0.0076728025, 0.014367052, -0.00060556596) * conv2d_3_7_texOff(vec2(0, -1)); + result += mat4(-0.047034778, -0.015400275, 0.004685636, 0.073158406, -0.044403385, 0.07081168, -0.067296274, 0.029516382, -0.015040729, -0.0566585, 0.18062492, -0.5907118, 0.10280664, 0.03330281, 0.042279024, 0.12872829) * conv2d_3_7_texOff(vec2(1, -1)); + result += mat4(-0.04784915, -0.011008344, 0.10566314, 0.06728622, 0.09206833, -0.009041669, 0.008447539, 0.031529874, 0.058620296, 0.025984839, -0.12565587, -0.023129258, 0.026509024, -0.015427807, -0.050995562, -0.02812431) * conv2d_3_7_texOff(vec2(-1, 0)); + result += mat4(-0.022808002, 0.04667675, 0.07053496, -0.054106794, 0.028469762, -0.056300867, -0.0331732, -0.016392956, -0.02228722, -0.12965798, 0.017047266, 0.02932775, 0.033993304, 0.00042188136, -0.009978589, -0.08932756) * conv2d_3_7_texOff(vec2(0, 0)); + result += mat4(-0.0060096155, 0.050465334, -0.0038856936, 0.03307228, -0.012065276, 0.037406396, 0.010433575, 0.07261764, 0.054356474, -0.1076354, -0.079320826, -0.17579685, 0.034004785, -0.008865941, -0.036165453, 0.11775663) * conv2d_3_7_texOff(vec2(1, 0)); + result += mat4(-0.08025587, 0.10296218, -0.012258889, 0.062083304, 0.03845399, 0.05631123, 0.031561494, 0.063703045, 0.02222153, 0.05718004, -0.031593386, -0.11101201, 0.039877437, 0.026264228, -0.032481875, -0.2196715) * conv2d_3_7_texOff(vec2(-1, 1)); + result += mat4(-0.0489668, 0.0010311719, -0.06638701, 0.018845031, 0.01477753, -0.01137375, 0.038283516, 0.064369716, 0.007782226, -0.054979388, 0.09096508, -0.61624783, -0.14061299, -0.11406425, -0.090516776, -0.2311314) * conv2d_3_7_texOff(vec2(0, 1)); + result += mat4(-0.04823342, -0.010690917, -0.12086475, 0.023696559, -0.061699413, 0.061169304, -0.00816611, -0.00984813, 0.048814062, 0.07085177, -0.059462026, -0.45679572, -0.10226936, -0.037628002, -0.09047446, 0.08713969) * conv2d_3_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-4-ReLU) +//!HOOK LUMA +//!BIND conv2d_3_0 +//!BIND conv2d_3_1 +//!BIND conv2d_3_2 +//!BIND conv2d_3_3 +//!BIND conv2d_3_4 +//!BIND conv2d_3_5 +//!BIND conv2d_3_6 +//!BIND conv2d_3_7 +//!SAVE conv2d_4_7 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.002669215, -0.01324276, -0.00011292872, -0.010680473); + result += mat4(0.09509804, -0.0260975, -0.04915667, 0.016497044, 0.017099814, -0.06685925, -0.042665336, 0.010021266, 0.06278705, -0.030936882, -0.03838248, 0.042923566, 0.056590818, 0.07017174, -0.022362825, 0.015948705) * conv2d_3_0_texOff(vec2(-1, -1)); + result += mat4(-0.07436793, 0.026458325, 0.0200128, 0.07077347, 0.05570568, -0.1382031, 0.0662111, 0.0043516043, -0.004679328, -0.010046683, 0.07372989, -0.0027802878, 0.10218949, 0.016884988, -0.0919625, 0.09714363) * conv2d_3_0_texOff(vec2(0, -1)); + result += mat4(0.05144776, 0.053020295, -0.012051706, 0.03972529, -0.017922463, -0.014130645, -0.014651319, 0.043121416, 0.025595991, -0.006558703, 0.013938911, 0.015596526, -0.15599446, -0.025858803, 0.103406094, -0.0023589653) * conv2d_3_0_texOff(vec2(1, -1)); + result += mat4(0.006291228, -0.12488046, 0.018219192, 0.04924067, 0.051676158, -0.065034166, 0.03867943, -0.049148593, 0.010582938, 0.007864326, -0.038151097, 0.07490664, 0.06237196, -0.026859505, -0.0026723386, 0.024659969) * conv2d_3_0_texOff(vec2(-1, 0)); + result += mat4(0.015726265, 0.08470628, 0.03120822, -0.043831702, 0.039787345, -0.066167094, 0.00479981, 0.05600491, -0.05444266, -0.07832684, -0.07056958, 0.013445683, 0.007042126, 0.039213315, 0.049364813, 0.17377923) * conv2d_3_0_texOff(vec2(0, 0)); + result += mat4(0.031456947, 0.011824878, 0.016384814, 0.03361905, -0.02912313, -0.016298495, -0.051798835, 0.010770181, 0.0021463153, -0.042709116, -0.024340803, -0.05669632, -0.0913355, -0.037386224, -0.0046709366, 0.009339287) * conv2d_3_0_texOff(vec2(1, 0)); + result += mat4(-0.04738725, -0.14186674, -0.007238591, -0.03597469, 0.027712168, 0.09254865, -0.058941033, -0.06771746, 0.026533367, 0.038218558, -0.040922947, 0.031181447, 0.057635423, -0.012833247, 0.015726363, -0.0438761) * conv2d_3_0_texOff(vec2(-1, 1)); + result += mat4(0.049790014, -0.04677081, 0.013393136, 0.008539996, -0.04643382, -0.022885246, 0.068089664, -0.05737753, 0.034184087, 0.04578702, -0.050449654, 0.08079892, -0.044178877, 0.023390407, -0.0359162, 0.06218773) * conv2d_3_0_texOff(vec2(0, 1)); + result += mat4(0.021407863, 0.029952666, -0.018748153, 0.04656004, -0.05470231, -0.07156915, -0.020291472, 0.01755869, -0.001197893, 0.07060626, -0.007236357, 0.06187316, -0.09151224, 0.0686004, 0.02631925, 0.043438625) * conv2d_3_0_texOff(vec2(1, 1)); + result += mat4(0.12128607, -0.08298752, -0.09287402, -0.081176125, -0.057412963, -0.02963621, 0.001109597, 0.0105837155, 0.0035328413, 0.020991234, -0.002571738, -0.018114911, 0.05772237, -0.014524359, 0.040176537, -0.08970681) * conv2d_3_1_texOff(vec2(-1, -1)); + result += mat4(-0.012077851, 0.071453385, -0.07762376, -0.035041753, -0.026071304, -0.07242228, 0.047321763, 0.02397318, -0.045705512, -0.031085413, -0.006398165, 0.055739872, 0.021336447, 0.06825994, 0.052387826, 0.07218286) * conv2d_3_1_texOff(vec2(0, -1)); + result += mat4(0.0124902865, 0.07148235, -0.115365684, -0.036425367, -0.07714737, -0.015790502, 0.03319466, 0.0044984547, 0.003071388, -0.050188646, 0.088411294, 0.025640257, -0.055337977, 0.04781487, 0.04547203, 0.0056131333) * conv2d_3_1_texOff(vec2(1, -1)); + result += mat4(0.027007531, 0.032714378, -0.015579366, -0.07864369, 0.0522998, 0.007413699, 0.08407096, -0.08403881, -0.058065392, 0.034297656, -0.032638043, -0.03187721, 0.079803765, -0.03559729, -0.0044487254, -0.16528374) * conv2d_3_1_texOff(vec2(-1, 0)); + result += mat4(-0.03391244, 0.03523056, -0.041395508, -0.14089763, -0.055353433, -0.074297816, 0.043281782, -0.017818613, -0.04470178, 0.03634068, 0.03644494, 0.03904382, -0.011963993, 0.08741201, 0.022734731, 0.04290619) * conv2d_3_1_texOff(vec2(0, 0)); + result += mat4(0.09279002, 0.0023653207, -0.06693567, -0.031766724, -0.08119414, -0.05669062, -0.024397975, 0.025247734, 0.02511989, 0.00010488518, -0.0006829904, 0.054307804, 0.08190456, -0.021121474, 0.06603495, 0.0912821) * conv2d_3_1_texOff(vec2(1, 0)); + result += mat4(0.05688605, 0.03485642, -0.060110312, -0.12886216, -0.06642308, -0.047794655, 0.006394271, -0.03129535, -0.031120932, -0.01556449, 0.02749528, -0.12944934, -0.024795914, 0.076477766, 0.04151031, -0.013854377) * conv2d_3_1_texOff(vec2(-1, 1)); + result += mat4(-0.005372746, 0.02227092, -0.012311792, -0.029566428, 0.009638148, -0.05496294, 0.012767408, 0.026995905, -0.053568322, 0.034392733, 0.025113888, 0.09247798, -0.009904636, -0.040398356, -0.057545085, -0.054718237) * conv2d_3_1_texOff(vec2(0, 1)); + result += mat4(0.061927915, -0.039082225, -0.034470774, -0.04508834, -0.055818815, -0.12833901, 0.03157569, -0.016068023, 0.09010257, -0.021653172, 0.044654243, 0.07218676, 0.029622123, 0.024301842, -0.03772821, -0.028449561) * conv2d_3_1_texOff(vec2(1, 1)); + result += mat4(-0.02004556, -0.09047149, -0.026406033, -0.00994943, -0.032936525, 0.03947561, -0.010666474, -0.044158522, -0.008806814, -0.08586626, -0.0030346254, 0.07160956, 0.0410856, 0.02548059, 0.019954449, 0.089883305) * conv2d_3_2_texOff(vec2(-1, -1)); + result += mat4(-0.12652948, -0.12123646, 0.019508008, 0.022783305, 0.11040808, -0.013581427, -0.011050622, -0.039466817, -0.022169286, 0.07527904, 0.08945607, 0.1263246, 0.08846808, -0.031082122, 0.0060985927, 0.015899055) * conv2d_3_2_texOff(vec2(0, -1)); + result += mat4(0.006706781, -0.04333852, -0.013737424, 0.010110162, -0.048778392, 0.034943502, 0.03420467, -0.08015552, -0.14442076, 0.062231183, -0.045481026, 0.10642295, -0.02801775, -0.015347174, 0.03523468, -0.03394926) * conv2d_3_2_texOff(vec2(1, -1)); + result += mat4(-0.023066955, 0.043604083, 0.04573602, 0.11164243, -0.08230664, -0.05673921, -0.0022918598, -0.07203416, -0.055865332, -0.012818857, -0.07651473, -0.019999826, 0.10063792, 0.0024091674, -0.08182426, 0.036311213) * conv2d_3_2_texOff(vec2(-1, 0)); + result += mat4(-0.053220477, 0.03775347, 0.049762536, -0.03842798, 0.0004457111, 0.011410378, -0.005100675, 0.024385862, 0.018930119, -0.025555504, -0.04525638, 0.04334644, -0.07874264, -0.016730947, -0.040882148, 0.1390542) * conv2d_3_2_texOff(vec2(0, 0)); + result += mat4(-0.03879289, -0.015441588, -0.05013747, 0.04522259, 0.08421049, 0.024017235, 0.022606017, 0.00016016592, -0.06267971, 0.030979354, -0.014125186, 0.004161714, -0.22693007, 0.12533462, 0.0035303168, 0.055525247) * conv2d_3_2_texOff(vec2(1, 0)); + result += mat4(-0.0014371908, -0.060832873, -0.08731013, -0.07445389, 0.026473226, 0.026154594, -0.1443135, -0.052997977, 0.048006848, -0.040430356, 0.0023278925, -0.047512397, 0.041652016, 0.053920623, -0.0987663, -0.12696236) * conv2d_3_2_texOff(vec2(-1, 1)); + result += mat4(0.04481602, -0.040568326, 0.0986609, -0.025350425, -0.07412867, 0.06510033, -0.057510708, -0.045928396, 0.06634276, 0.027734322, -0.03882129, -0.05568433, -0.039500292, -0.06437144, 0.031155296, -0.040128503) * conv2d_3_2_texOff(vec2(0, 1)); + result += mat4(-0.010008355, -0.037154652, -0.0843367, 0.029351631, 0.045252334, -0.012072569, -0.055026136, -0.046886157, 0.04205571, -0.007055199, 0.0443245, 0.024062412, 0.014314027, -0.1151556, 0.077045746, -0.0151990745) * conv2d_3_2_texOff(vec2(1, 1)); + result += mat4(0.041156907, 0.0759031, 0.07889275, 0.03450963, -0.047606524, -0.053074215, 0.08139143, -0.06512613, -0.013471494, 0.067886785, -0.071686864, -0.06430266, 0.008278623, 0.080193065, 0.053022504, -0.05722909) * conv2d_3_3_texOff(vec2(-1, -1)); + result += mat4(0.059739076, -0.075947866, 0.016943183, 0.03287425, -0.12669267, -0.042374253, 0.043299817, 0.054841943, -0.035564736, 0.018597333, -0.023147237, 0.016642064, 0.03765681, -0.006828834, 0.048907254, -0.10100023) * conv2d_3_3_texOff(vec2(0, -1)); + result += mat4(0.026871841, 0.01727965, -0.055016097, -0.08307849, 0.040982537, -0.0147850895, 0.02251871, -0.007191776, -0.025359767, -0.009297464, -0.024676088, -0.13542332, 0.008260476, -0.042935476, -0.06755175, 0.040604923) * conv2d_3_3_texOff(vec2(1, -1)); + result += mat4(-0.016880255, -0.0061376863, 0.030183338, 0.06488325, 0.027814884, 0.0044546537, 0.14329411, 0.09076932, 0.031734847, 0.035296265, -0.041926727, -0.12735826, -0.051497795, 0.09235399, -0.050016914, -0.039839752) * conv2d_3_3_texOff(vec2(-1, 0)); + result += mat4(0.031869687, 0.028461978, 0.027155982, 0.024960002, -0.009874414, -0.040482182, 0.08853894, -0.03176642, -0.022223396, 0.0014655255, -0.018106105, 0.061106738, 0.067844875, -0.030435463, -0.0449119, -0.060034048) * conv2d_3_3_texOff(vec2(0, 0)); + result += mat4(0.056076, 0.0058780797, -0.07770399, -0.11300008, -0.06736307, -0.06335636, 0.006418225, 0.085116014, -0.016888771, 0.01782533, -0.056947894, -0.03205195, -0.0029272966, 0.08218483, -0.06341684, -0.025212483) * conv2d_3_3_texOff(vec2(1, 0)); + result += mat4(-0.008625681, -0.11677099, 0.012889204, -0.0035079918, -0.055476192, -0.07927437, -0.10359611, -0.048676815, 0.067709185, -0.05969599, -0.011423708, -0.07823349, -0.054979015, 0.01564609, 0.04421371, 0.030285614) * conv2d_3_3_texOff(vec2(-1, 1)); + result += mat4(0.006704696, 0.008483292, 0.054944567, 0.012473574, 0.03913801, -0.0071071577, 0.05202915, -0.095991656, -0.0403669, 0.012823341, -0.03536943, -0.06715997, -0.009818641, -0.06954237, -0.0032420766, -0.08118319) * conv2d_3_3_texOff(vec2(0, 1)); + result += mat4(-0.016862502, -0.057848375, -0.04452297, 0.021293469, -0.042067237, -0.0641008, 0.007854995, -0.035990454, -0.019306142, -0.0017404554, -0.03468228, 0.013948062, -0.009189609, -0.0037677404, 0.034298647, 0.001987933) * conv2d_3_3_texOff(vec2(1, 1)); + result += mat4(-0.101791024, -0.03861022, -0.00055902754, 0.054606427, 0.013181496, -0.00921744, -0.006068905, -0.016632628, 0.05942865, -0.054612618, 0.033215173, 0.006581911, -0.061002515, 0.05550885, -0.08357114, 0.056484513) * conv2d_3_4_texOff(vec2(-1, -1)); + result += mat4(-0.03933551, 0.058385927, -0.006847211, 0.07337353, 0.064247295, 0.0064406446, -0.05309993, -0.07592477, -0.050610594, -0.04741981, -0.023028115, 0.04534434, -0.10203023, -0.036492642, -0.05051568, -0.034937836) * conv2d_3_4_texOff(vec2(0, -1)); + result += mat4(0.044662397, 0.038621247, -0.027416794, 0.0050779097, 0.075576745, -0.017770225, -0.020353736, -0.018932603, -0.033239286, -0.0011513147, 0.039544553, -0.01795809, -0.029329024, -0.013690351, -0.124186024, -0.03462597) * conv2d_3_4_texOff(vec2(1, -1)); + result += mat4(0.04257701, -0.055099998, 0.029040772, 0.024093058, -0.0072335163, -0.03880002, 0.029391952, -0.027656557, -0.075896256, -0.038653567, -0.04855804, -0.091142684, -0.065500304, 0.07000933, 0.008497522, -0.06613133) * conv2d_3_4_texOff(vec2(-1, 0)); + result += mat4(0.017295115, -0.063026056, -0.0775108, 0.03592581, 0.07171102, -0.08580637, -0.027222326, -0.119518004, -0.020559743, 0.061371714, -0.018620329, -0.02351467, -0.062159043, 0.008414931, -0.046171933, -0.033601493) * conv2d_3_4_texOff(vec2(0, 0)); + result += mat4(0.0402189, 0.04804308, -0.02661349, 0.038610358, 0.012372356, -0.07724353, -0.053512838, -0.058358975, -0.07996342, 0.051568836, 0.019783366, 0.004512676, -0.07175622, -0.06501454, -0.022997018, -0.10550358) * conv2d_3_4_texOff(vec2(1, 0)); + result += mat4(-0.12457887, -0.09028941, 0.021895235, 0.088990726, 0.031678468, -0.090191804, -0.032909095, -0.05220465, 0.057994638, -0.038745638, -0.0771157, 0.011022023, -0.095246434, 0.12716107, -0.063549794, 0.026095755) * conv2d_3_4_texOff(vec2(-1, 1)); + result += mat4(-0.12146466, -0.14451772, 0.035056893, -0.05552198, -0.03522892, -0.07084095, -0.036000237, -0.070253566, -0.058430128, -0.0053771413, 0.00025112127, -0.0007152414, 0.0005477744, 0.025603887, 0.02067066, 0.11874664) * conv2d_3_4_texOff(vec2(0, 1)); + result += mat4(0.062123913, -0.0037746248, 0.014142515, 0.018475432, 0.06324443, -0.05265742, -0.047498655, -0.053059302, -0.05245082, -0.005317661, -0.007846951, -0.0047517647, 0.02253976, 0.0052878475, -0.06380437, -0.0014238544) * conv2d_3_4_texOff(vec2(1, 1)); + result += mat4(0.02901082, -0.11822816, 0.012937342, -0.059892487, -0.017966911, -0.06725412, -0.053426743, -0.022288222, -0.0055785207, 0.043725405, -0.02777566, 0.06574336, 0.019009206, 0.015071577, -0.04875629, -0.011450167) * conv2d_3_5_texOff(vec2(-1, -1)); + result += mat4(0.015934044, -0.003465889, -0.004857339, -0.05021806, 0.0028385995, 0.014339931, 0.06747123, -0.0150474515, 0.062462654, -0.0060908543, 0.12565206, -0.0059300438, 0.03547323, 0.029714992, 0.019324282, -0.00092958665) * conv2d_3_5_texOff(vec2(0, -1)); + result += mat4(-0.030749189, -0.070211425, 0.0030671426, 0.021623831, 0.02892006, -0.025829345, -0.008585222, -0.062982075, -0.16712432, 0.006541407, -0.010514737, 0.0074770134, -0.022373661, 0.05293827, -0.031403255, 0.080122955) * conv2d_3_5_texOff(vec2(1, -1)); + result += mat4(0.06483354, -0.009424864, -0.05671813, 0.0068170163, -0.044914413, 0.025288442, 0.022790276, 0.09607194, 0.098205864, -0.042495534, 0.023368465, -0.03068283, -0.05852073, 0.05913732, -0.04694231, 0.010509533) * conv2d_3_5_texOff(vec2(-1, 0)); + result += mat4(0.06695363, 0.067560226, -0.009472871, -0.040383626, -0.0019225284, 0.021008579, -0.012908505, 0.07644995, 0.02914573, -0.015160601, -0.06710593, 0.03164365, 0.03378987, 0.070231386, 0.04496538, 0.06497074) * conv2d_3_5_texOff(vec2(0, 0)); + result += mat4(-0.013337089, -0.03638825, -0.009092986, -0.017553313, 0.0062655555, -0.04809327, 0.012429867, -0.014433407, -0.03587891, 0.033246454, 0.04355818, -0.021928959, -0.06462385, 0.042450693, 0.04885023, 0.05720988) * conv2d_3_5_texOff(vec2(1, 0)); + result += mat4(0.0090780845, 0.0017111562, -0.048914663, -0.029223057, 0.029741988, 0.04572118, 0.00041218664, 0.050662566, 0.0017866865, 0.038365632, 0.032629818, 0.038047455, 0.03068323, 0.05707852, -0.03720082, 0.073062256) * conv2d_3_5_texOff(vec2(-1, 1)); + result += mat4(0.01865047, 0.03496709, -0.0707095, -0.068461925, 0.011485108, 0.06521586, -0.038450662, 0.077262394, -0.034063864, 0.03508158, 0.036535047, 0.011477121, 0.016148485, 0.020015987, -0.025662951, -0.039498117) * conv2d_3_5_texOff(vec2(0, 1)); + result += mat4(-0.04342492, 0.03251712, -0.028593414, 0.0077342754, -0.018718015, 0.086338185, 0.021287886, -0.030504065, 0.013068395, 0.00751849, 0.01530749, -0.008229388, 0.021120407, 0.051665984, 0.0043084254, -0.009477098) * conv2d_3_5_texOff(vec2(1, 1)); + result += mat4(-0.11681988, -0.17888458, 0.03986504, 0.0062214206, -0.17436394, -0.07415465, 0.04296939, -0.00049912673, -0.006160157, 0.052334778, -0.04524973, -0.031948116, 0.034608554, -0.017941708, 0.0046420735, -0.036495868) * conv2d_3_6_texOff(vec2(-1, -1)); + result += mat4(-0.058362234, -0.0386352, 0.03755047, -0.022654448, -0.019443568, -0.012874132, -0.05141756, -0.002153988, 0.0008672001, -0.024206692, 0.047777113, -0.024106503, -0.043243654, -0.047617134, 0.024152702, 0.028907483) * conv2d_3_6_texOff(vec2(0, -1)); + result += mat4(-0.072701804, -0.069696374, 0.0012447522, -0.0005214491, -0.034087032, 0.0049765343, 0.009306674, 0.0457045, 0.013447202, -0.05044551, 0.024288882, -0.0041236524, 0.040500633, -0.071209684, 0.09067322, -0.06353502) * conv2d_3_6_texOff(vec2(1, -1)); + result += mat4(-0.026120787, -0.07040742, -0.055892967, 0.023343803, -0.06314777, -0.1045657, -0.06618276, 0.09465675, 0.07857794, -0.07540966, 0.011724252, 0.07247998, 0.08130454, -0.006069152, -0.008529759, -0.045678217) * conv2d_3_6_texOff(vec2(-1, 0)); + result += mat4(0.017086586, -0.007441391, 0.019746523, -0.045817968, -0.04000846, -0.017257737, 0.030551001, -0.003998885, -0.0042725317, -0.0047326717, 0.05458719, 0.0670194, -0.0340359, -0.031566065, -0.009848324, 0.048013736) * conv2d_3_6_texOff(vec2(0, 0)); + result += mat4(-0.09684701, -0.08975948, -0.060738437, -0.07819736, -0.023142591, 0.020365944, -0.016487742, -0.013513302, 0.03802714, 0.07824638, -0.03189063, 0.017144576, 0.119101346, -0.032370247, -0.07151109, -0.015868612) * conv2d_3_6_texOff(vec2(1, 0)); + result += mat4(0.049905755, -0.016904004, 0.0032629096, 0.04295023, -0.1512551, -0.0024030714, 0.026571915, -0.023693439, -0.025238788, 0.06604382, 0.061357375, 0.030439692, 0.07920508, 0.03240022, -0.07071788, -0.08677256) * conv2d_3_6_texOff(vec2(-1, 1)); + result += mat4(-0.015684713, 0.063254915, 0.03419383, 0.024222797, -0.03886868, 0.02741185, 0.04031258, -0.0029075549, -0.00066070457, 0.054333232, 0.032301355, -0.007899738, -0.0031201108, 0.060267292, 0.06664487, -0.0064742924) * conv2d_3_6_texOff(vec2(0, 1)); + result += mat4(-0.0068804906, -0.039088655, 0.010331489, 0.035411503, -0.04795893, 0.08107223, 0.061894022, -0.023996828, 0.12787633, 0.019412963, 0.041040666, 0.054615717, 0.100460015, -0.03213995, 0.035799053, -0.0506849) * conv2d_3_6_texOff(vec2(1, 1)); + result += mat4(0.014042483, 0.013561113, 0.008976486, -0.046831608, -0.09024934, -0.031452715, -0.0545026, -0.010326421, 0.019532273, -0.01181134, -0.033197537, 0.0058796406, 0.030525487, 0.0609161, -0.050598133, -0.115434855) * conv2d_3_7_texOff(vec2(-1, -1)); + result += mat4(-0.013493188, 0.036604386, 0.03579836, 0.02621461, -0.053410787, -0.015596275, 0.023898745, -0.021575874, 0.10780518, 0.0123118395, -0.079472564, 0.18007936, 0.014054813, 0.050300777, -0.027088825, -0.022653515) * conv2d_3_7_texOff(vec2(0, -1)); + result += mat4(0.012980403, 0.0048834863, -0.016428892, 0.08001939, 0.046836745, -0.036484778, 0.018573424, -0.06071984, 0.16723911, 0.038757995, -0.16987182, -0.081255734, 0.061021082, 0.06294271, -0.037060946, -0.006347099) * conv2d_3_7_texOff(vec2(1, -1)); + result += mat4(0.01969713, -0.08471508, -0.042094108, 0.05736652, 0.027807426, 0.010467993, -0.050640453, 0.05045342, -0.088654734, 0.024482977, 0.07408075, -0.029481517, 0.024638372, -0.014811872, 0.036414463, -0.09100655) * conv2d_3_7_texOff(vec2(-1, 0)); + result += mat4(-0.03616731, -0.014081638, -0.08935992, 0.05106118, -0.059748195, 0.10641145, -0.0282045, -0.012878687, -0.086143576, 0.03210539, 0.023254707, 0.100775614, -0.036376514, 0.011308184, -0.10283376, -0.08474658) * conv2d_3_7_texOff(vec2(0, 0)); + result += mat4(0.020653952, 0.011459207, -0.039391894, 0.061850026, 0.059688672, -0.0007847552, 0.03019697, -0.094665416, -0.14404018, 0.01646196, 0.05408525, -0.09661564, -0.020629883, -0.058299806, 0.0168118, -0.03136271) * conv2d_3_7_texOff(vec2(1, 0)); + result += mat4(0.06300099, -0.006232448, 0.016105438, 0.06363686, -0.006106016, -0.0146937, -0.052622575, 0.05384721, -0.04753053, 0.04115358, 0.026560405, 0.077490255, 0.015414976, 0.11225076, 0.030034073, 0.049236774) * conv2d_3_7_texOff(vec2(-1, 1)); + result += mat4(-0.049686655, 0.045816965, 0.07222748, 0.0076779583, 0.048509855, 0.03846479, -0.085029185, 0.029201042, 0.0003082585, -0.11095101, 0.024311798, 0.122215666, -0.032491505, -0.10175521, -0.008021124, -0.1647659) * conv2d_3_7_texOff(vec2(0, 1)); + result += mat4(-0.029622095, 0.025378825, 0.032697216, 0.000531506, 0.1085082, -0.009581016, -0.055770263, -0.06708585, -0.1516061, 0.0456562, -0.123505756, -0.24343124, -0.03551562, -0.01771766, -0.07190658, -0.14269395) * conv2d_3_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-5) +//!HOOK LUMA +//!BIND conv2d_4_0 +//!BIND conv2d_4_1 +//!BIND conv2d_4_2 +//!BIND conv2d_4_3 +//!BIND conv2d_4_4 +//!BIND conv2d_4_5 +//!BIND conv2d_4_6 +//!BIND conv2d_4_7 +//!SAVE conv2d_5_0 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0068704183, -0.0008184981, 0.00053801516, -0.005115695); + result += mat4(0.0089351125, -0.019687459, 0.054840878, 0.009351024, 0.08534759, -0.04835056, -0.052888565, 0.008330854, -0.05467928, 0.034834784, 0.038784675, -0.012550752, -0.07649542, -0.020199435, -0.0032961955, 0.0009197935) * conv2d_4_0_texOff(vec2(-1, -1)); + result += mat4(0.06676828, -0.030532401, -0.037169307, -0.05816945, -0.06548589, -0.020025376, 0.00270329, -0.057867993, -0.04088602, 0.11030627, -0.07400867, 0.01829282, 0.06218162, -0.053826552, 0.10934433, -0.0481235) * conv2d_4_0_texOff(vec2(0, -1)); + result += mat4(0.020571023, 0.044922236, 0.0059106774, 0.039149262, -0.036205333, -0.11093879, 0.06541725, -0.0040161917, 0.05917866, -0.09575146, -0.02257544, -0.10410523, 0.055060677, 0.012375275, 0.044975612, 0.027491242) * conv2d_4_0_texOff(vec2(1, -1)); + result += mat4(-0.0065554976, 0.05214835, -0.029794812, -0.15519784, -0.07973468, -0.0140592335, 0.066557854, 0.02680273, 0.06305301, -0.03301485, 0.018456623, 0.0120937945, -0.09284865, -0.10175812, 0.004180556, 0.0014735757) * conv2d_4_0_texOff(vec2(-1, 0)); + result += mat4(0.052897513, -0.009855387, -0.019383708, 0.00993521, -0.024182077, 0.08052406, -0.015987117, 0.030285008, -0.00023620695, 0.041093733, 0.006613131, 0.0006258458, 0.11445524, -0.04391206, -0.005291369, -0.005982243) * conv2d_4_0_texOff(vec2(0, 0)); + result += mat4(0.045632273, -0.018485991, -0.025746426, -0.02944296, -0.020213528, -0.031033207, -0.0224663, -0.056182846, -0.058863647, 0.014806016, 0.02293651, -0.056654636, 0.024753278, -0.054148782, 0.11917229, 0.05950619) * conv2d_4_0_texOff(vec2(1, 0)); + result += mat4(0.007410156, -0.03606558, -0.03276517, -0.075943455, 0.049042206, -0.07806796, -0.048030224, -0.07814778, -0.04395941, 0.02320815, -0.021930315, -0.005802255, 0.035624705, -0.060866553, -0.0093995705, 0.04289787) * conv2d_4_0_texOff(vec2(-1, 1)); + result += mat4(-0.10196139, 0.020469155, -0.091443434, 0.17017338, 0.09639528, 0.070416674, -0.020954153, 0.11631091, 0.06627893, 0.0573025, 0.020358056, 0.13702211, 0.025661247, 0.023575488, 0.05250186, 0.053566154) * conv2d_4_0_texOff(vec2(0, 1)); + result += mat4(-0.04667588, 0.057758223, -0.031660426, -0.0039975024, -0.0072907237, -0.046296757, 0.050210804, -0.110641286, -0.021179821, -0.01059394, -0.08238844, -0.13151468, -0.12079436, 0.07433892, -0.02018423, -0.022243107) * conv2d_4_0_texOff(vec2(1, 1)); + result += mat4(0.04097359, -0.050566886, 0.058780856, -0.014695101, -0.015679462, -0.0056096246, -0.020310588, 0.03330928, 0.068189204, 0.07007472, 0.04971392, 0.059427973, 0.07087474, -0.078294635, -0.0718768, -0.041057188) * conv2d_4_1_texOff(vec2(-1, -1)); + result += mat4(-0.016781244, -0.04307323, -0.041099936, -0.068613425, 0.023208749, -0.007685192, 0.048007734, -0.025787488, -0.04747545, 0.0217557, -0.031796135, 0.011882955, -0.03955309, -0.08831483, 0.092366345, 0.013381528) * conv2d_4_1_texOff(vec2(0, -1)); + result += mat4(0.092084326, -0.059478678, -0.021572351, -0.05036196, 0.03479135, -0.045992862, -0.04472314, -0.052220702, -0.0061075324, 0.057901584, -0.019370064, 0.06646441, -0.0777675, 0.0032759907, -0.0843648, 0.021105401) * conv2d_4_1_texOff(vec2(1, -1)); + result += mat4(0.00712375, 0.008776349, 0.013228423, -0.012393718, 0.06496742, 0.014041018, -0.02342003, 0.055350363, -0.020387283, -0.027041228, -0.017270744, -0.07481111, -0.07617071, 0.029560957, 0.087847814, 0.027215503) * conv2d_4_1_texOff(vec2(-1, 0)); + result += mat4(-0.07844044, -0.0023298054, -0.051966507, -0.040740427, 0.07409788, 0.06873694, -0.040477253, 0.09047394, -0.035850637, 0.12630759, 0.0051445267, -0.0060956567, 0.0009971937, 0.0566572, 0.11248435, -0.019803064) * conv2d_4_1_texOff(vec2(0, 0)); + result += mat4(0.009044111, -0.08652214, -0.02902502, -0.0354138, -0.040091798, 0.003363379, 0.023736741, -0.0028941596, -0.054070286, 0.1133587, 0.030692033, 0.08634379, 0.00035920792, -0.042302012, 0.02592741, -0.018384874) * conv2d_4_1_texOff(vec2(1, 0)); + result += mat4(-1.6610058e-05, -0.03502827, 0.014638192, -0.0045856005, 0.040637407, 0.13155533, -0.07406502, 0.068894155, 0.07172665, 0.052388195, 0.07886127, -0.034498677, 0.08752839, 0.029821513, -0.15863347, -0.030406656) * conv2d_4_1_texOff(vec2(-1, 1)); + result += mat4(0.03487942, 0.05270258, -0.045558043, -0.04914183, -0.024679033, 0.1112565, -0.092041865, 0.08830799, 0.066718005, -0.0076533393, 0.030110978, 0.04502398, 0.10508301, -0.09417337, -0.081794776, -0.067307256) * conv2d_4_1_texOff(vec2(0, 1)); + result += mat4(-0.07740916, 0.050989617, 0.01388403, 0.048259508, -0.026935983, 0.09748706, 0.036555976, 0.070591696, 0.00074794283, 0.06962248, -0.034823373, 0.019950641, 0.044402413, -0.20283484, -0.05767889, -0.03574074) * conv2d_4_1_texOff(vec2(1, 1)); + result += mat4(0.010744293, -0.06728255, 0.10054906, 0.012061002, -0.021742804, -0.044596903, -0.00537681, 0.048915364, -0.07123228, 0.02028668, -0.030166736, 0.051342208, -0.017006991, 0.020432925, -0.04466543, 0.056619585) * conv2d_4_2_texOff(vec2(-1, -1)); + result += mat4(0.06581936, -0.07009559, -0.0404749, -0.038958874, -0.10495195, 0.018469138, -0.07757508, -0.015290872, 0.017126402, -0.009791648, 0.061622053, 0.02986847, -0.064061314, -0.020631146, -0.08569015, -0.08780043) * conv2d_4_2_texOff(vec2(0, -1)); + result += mat4(0.008365497, -0.09181523, 0.043089047, 0.017411238, -0.0025529522, 0.048732884, -0.1253064, -0.24449241, -0.03910505, -0.034871705, -0.023143923, 0.045387495, -0.061580252, 0.05597479, 0.015378702, -0.017066328) * conv2d_4_2_texOff(vec2(1, -1)); + result += mat4(-0.019621788, -0.03777035, -0.06531434, 0.032430023, 0.017833855, -0.0837012, -0.124649234, 0.021386368, 0.028865682, 0.054702807, -0.041599866, 0.00631652, 0.033340547, -0.07380548, -0.11871497, -0.027629916) * conv2d_4_2_texOff(vec2(-1, 0)); + result += mat4(0.09434077, -0.05583008, 0.0078678625, 0.07785567, 0.07342301, -0.124759056, 0.014771239, 0.10701013, 0.027940637, 0.041051913, -0.033646654, 0.007457554, -0.1186463, -0.056115888, -0.06527836, 0.028768746) * conv2d_4_2_texOff(vec2(0, 0)); + result += mat4(-0.025043003, -0.13706717, 0.02677588, -0.14226046, 0.010775881, 0.03886688, -0.033089213, 0.06537857, 0.11287046, 0.040141296, 0.104452245, -0.09283976, 0.0031570485, -0.052650604, -0.024417417, 0.05069391) * conv2d_4_2_texOff(vec2(1, 0)); + result += mat4(0.00080351776, 0.09262792, 0.029130291, 0.013593789, 0.12142124, 0.01921025, 0.076910265, -0.062469643, 0.019706385, -0.0329548, 0.03978674, -0.075878136, 0.092708126, 0.053067032, 0.035874378, -0.024362003) * conv2d_4_2_texOff(vec2(-1, 1)); + result += mat4(0.04607368, -0.069676675, 0.16629584, -0.014799067, 0.001192381, 0.030945253, 0.098331526, -0.112655826, -0.01297005, 0.062255614, 0.013084549, -0.14358762, -0.008702177, -0.05557274, -0.0352792, -0.002119195) * conv2d_4_2_texOff(vec2(0, 1)); + result += mat4(0.099473566, -0.059056528, 0.04824916, -0.06765971, -0.025778992, 0.10788699, 0.030197093, -0.026403345, -0.021976102, 0.108318955, -0.07603046, -0.03777231, 0.057422575, -0.011758423, 0.05207603, 0.0036845135) * conv2d_4_2_texOff(vec2(1, 1)); + result += mat4(-0.106617175, -0.07775219, -0.036307454, 0.009349106, -0.014447801, 0.08013579, -0.042478144, -0.032543395, 0.084187046, -0.007917806, -0.05239436, -0.01666382, 0.02734952, -0.05179811, 0.048967596, -0.0012302594) * conv2d_4_3_texOff(vec2(-1, -1)); + result += mat4(0.043995947, 0.063486315, -0.011721959, 0.023200488, -0.034749947, -0.037074395, 0.0673143, 0.026951546, 0.004468138, 0.03692955, -0.02301609, -0.074053705, 0.06409873, 0.008644459, 0.06181591, 0.068040505) * conv2d_4_3_texOff(vec2(0, -1)); + result += mat4(0.06370921, -0.0061958996, -0.03382395, -0.054233488, -0.06767282, 0.033263218, 0.00065832835, 0.10065657, 0.013205156, 0.0027371957, 0.03726718, 0.11178582, -0.039922167, -0.07177928, -0.06932602, -0.057622507) * conv2d_4_3_texOff(vec2(1, -1)); + result += mat4(-0.002590236, 0.09007268, -0.04408003, 0.111161776, -0.047942545, 0.0023000408, -0.028234757, -0.061778113, 0.1233457, -0.11088695, -0.091473944, 0.051021997, -0.036809962, 0.041854057, 0.06968895, -0.007938947) * conv2d_4_3_texOff(vec2(-1, 0)); + result += mat4(0.01640149, 0.01976448, -0.10067279, -0.027164523, 0.10248592, -0.08481506, 0.059912853, -0.07425935, 0.057104625, -0.062326863, 0.047750257, -0.13946432, 0.07826713, -0.0698949, 0.0074672103, 0.0082684755) * conv2d_4_3_texOff(vec2(0, 0)); + result += mat4(0.031021677, 0.04040567, 0.040483557, 0.023841266, 0.018017737, 0.030022489, -0.016782029, 0.016386138, -0.015615892, -0.04518847, -0.03602962, -0.059468605, -0.027334832, 0.05618181, -0.09683836, -0.004880988) * conv2d_4_3_texOff(vec2(1, 0)); + result += mat4(0.0022721607, -0.055794775, 0.07321588, 0.022306079, -0.06265753, 0.076305084, 0.008081479, 0.08238053, -0.10153576, -0.04131239, 0.01270467, 0.005705008, -0.109254695, -0.046082083, -0.031253863, 0.022236375) * conv2d_4_3_texOff(vec2(-1, 1)); + result += mat4(0.043364443, -0.029162448, 0.07404681, -0.05996801, 0.02878227, 0.0036791428, 0.060117796, 0.03662232, 0.016926518, -0.018518263, -0.036682006, -0.099258915, -0.009952363, 0.07049274, -0.06466023, -0.13957168) * conv2d_4_3_texOff(vec2(0, 1)); + result += mat4(0.047584184, -0.078745335, -0.016715724, 0.07110776, 0.09001693, 0.023445044, 0.00964298, -0.034806397, -0.020597393, -0.0075196647, 0.029747302, -0.040009312, -0.01426835, -0.04871863, -0.0237302, -0.014802798) * conv2d_4_3_texOff(vec2(1, 1)); + result += mat4(0.06743185, 0.052884057, 0.047451586, -0.02037725, 0.16322525, -0.1531778, -0.1256636, 0.22651587, 0.044276834, -0.048607066, 0.063612744, 0.029305775, 0.0346998, -0.06041226, 0.042218763, 0.025834518) * conv2d_4_4_texOff(vec2(-1, -1)); + result += mat4(-0.08256057, -0.00017878207, -0.0058860667, 0.07381972, -0.16865894, -0.07191414, 0.018464869, -0.061013076, 0.029783264, -0.023699954, -0.07442664, 0.031362187, 0.00040556228, 0.009263026, 0.023126716, 0.07159234) * conv2d_4_4_texOff(vec2(0, -1)); + result += mat4(0.007263786, 0.004156501, -0.02912272, 0.033650853, 0.103994794, -0.0033801915, -0.021025755, 0.10894988, 0.00934207, 0.035489675, 0.028022282, 0.021041617, -0.033578116, -0.038362075, 0.0072382614, 0.031170402) * conv2d_4_4_texOff(vec2(1, -1)); + result += mat4(0.009082703, 0.033455018, -0.0807705, 0.0005705301, -0.08662721, 0.2865321, 0.09037958, 0.08618787, -0.056633066, 0.08002964, 0.076010935, 0.07192418, -0.049060274, 0.048698287, 0.034825515, -0.021380855) * conv2d_4_4_texOff(vec2(-1, 0)); + result += mat4(0.07957789, -0.010548475, 0.07696895, -0.14178933, -0.13287313, -0.16963248, 0.024106722, -0.14462966, -0.029372476, -0.009758989, -0.08885964, 0.011787444, -0.028434774, 0.013682817, 0.08559453, 0.10806266) * conv2d_4_4_texOff(vec2(0, 0)); + result += mat4(-0.008824456, -0.06467494, 0.08266232, -0.049302764, 0.06843486, -0.06852761, -0.042012133, 0.050813623, -0.04349286, 0.066327155, -0.04127093, 0.09394901, 0.046811305, -0.042177267, -0.032109942, -0.04372742) * conv2d_4_4_texOff(vec2(1, 0)); + result += mat4(-0.07161262, 0.0061804033, 0.012406876, 0.0091825975, -0.0033852353, -0.09993311, 0.1378399, -0.6314428, 0.11224404, -0.00817904, -0.051087018, -0.0116019305, 0.031739194, -0.041702148, 0.050095476, 0.024150765) * conv2d_4_4_texOff(vec2(-1, 1)); + result += mat4(0.04106323, -0.020316955, -0.0058238297, -0.051968448, 0.05926723, -0.09531788, 0.001629506, -0.21945381, 0.06956103, -0.119668245, 0.00926623, 0.10473253, 0.07341304, -0.10962606, 0.016183391, -0.015150696) * conv2d_4_4_texOff(vec2(0, 1)); + result += mat4(0.0823763, 0.04987077, -0.056672815, 0.035176396, 0.12544362, -0.05499351, 0.06399529, 0.044737667, -0.040937737, -0.012659562, 0.087124705, -0.07877567, -0.037225004, -0.0190791, -0.0184278, -0.0496724) * conv2d_4_4_texOff(vec2(1, 1)); + result += mat4(0.022024922, -0.0021796867, -0.053903658, 0.038979717, -0.11174293, -0.00079090253, -0.07263006, -0.06268898, -0.045038007, -0.053601816, 0.05911775, -0.072590716, -0.029793533, -0.003887389, -0.020863948, 0.053680528) * conv2d_4_5_texOff(vec2(-1, -1)); + result += mat4(-0.023625227, 0.032227185, 0.009896512, 0.009448001, 0.0715595, 0.064494714, -0.010882118, 0.13895434, -0.01374369, 0.069937125, 0.030494891, 0.09144058, 0.032075647, 0.0587475, -0.027393974, 0.010148566) * conv2d_4_5_texOff(vec2(0, -1)); + result += mat4(-0.071041286, -0.03655197, -0.06300981, -0.009598787, -0.01308348, -0.08374661, -0.022700967, 0.056356132, 0.00062715437, -0.10093433, -0.08817245, -0.04924788, -0.055785097, -0.036332775, 0.020962633, 0.1182019) * conv2d_4_5_texOff(vec2(1, -1)); + result += mat4(-0.071011215, -0.03794389, -0.07568689, -0.066430226, 0.026158703, 0.031795472, 0.06059014, 0.007832692, 0.08750813, -0.044343166, -0.041308574, -0.080933034, 0.009422874, -0.080070384, -0.025783762, 0.025972908) * conv2d_4_5_texOff(vec2(-1, 0)); + result += mat4(0.04842187, -0.031703115, 0.0042865863, 0.035140343, -0.025372555, -0.0052319034, -0.020545145, 0.0762936, 0.08932694, -0.05224589, -0.088270806, 0.015159366, -0.048836794, 0.09671703, -0.06598211, 0.076310106) * conv2d_4_5_texOff(vec2(0, 0)); + result += mat4(0.025834287, 0.03430641, -0.060292248, -0.06341417, -0.03166881, -0.057327468, -0.035120353, -0.047869038, 0.024801087, 0.027920568, -0.00831597, -0.025619263, 0.000878633, 0.008645581, 0.039167095, 0.0002602259) * conv2d_4_5_texOff(vec2(1, 0)); + result += mat4(-0.049033806, 0.0139739, -0.052298184, -0.029019624, 0.0015221382, 0.0074258, 0.007996229, 0.074512325, -0.066626385, -0.09777252, 0.03143906, -0.024966761, 0.048442744, 0.021807447, 0.04846584, 0.0051699746) * conv2d_4_5_texOff(vec2(-1, 1)); + result += mat4(0.036476288, 0.05687793, 0.08645541, -0.05265017, 0.07155849, 0.057126038, -0.009779811, 0.13516483, 0.067363754, -0.093984775, 0.08044039, 0.008849185, -0.045979742, 0.06735697, -0.0025237973, -0.071959965) * conv2d_4_5_texOff(vec2(0, 1)); + result += mat4(-0.068751834, 0.042262346, -0.01986313, 0.061537445, -0.010819013, 0.02306634, -0.104784116, 0.16059521, 0.053777203, -0.08468118, -0.034412608, -0.08037786, -0.040394466, -0.06871724, 0.018039415, 0.048371427) * conv2d_4_5_texOff(vec2(1, 1)); + result += mat4(0.029013408, -0.084515475, -0.06955137, -0.007341248, -0.035802472, -0.046700403, 0.008231872, 0.043706726, 0.06083256, -0.097171105, -0.048568033, -0.096830614, 0.026270477, -0.04282859, -0.016599637, 0.10263836) * conv2d_4_6_texOff(vec2(-1, -1)); + result += mat4(0.101975374, 0.021375941, 0.028220009, -0.024869245, 0.04578176, -0.038429875, -0.08258801, -0.051756643, 0.016145824, 0.049562756, -0.01658977, 0.016404483, 0.016263878, -0.06585804, -0.088367514, -0.11944384) * conv2d_4_6_texOff(vec2(0, -1)); + result += mat4(0.04844008, 0.032120023, -0.017223248, -0.13633531, 0.03408712, -0.01367194, -0.054377608, -0.014516213, -0.060244896, 0.01767653, 0.020301532, -0.04292862, -0.05479681, -0.0050530387, 0.024145592, -0.048766233) * conv2d_4_6_texOff(vec2(1, -1)); + result += mat4(0.017035231, -0.09429641, 0.038701624, 0.039486025, -0.009971514, 0.020604668, 0.051465448, 0.092146166, 0.07918413, -0.010289001, 0.0242581, 0.038315196, 0.041743636, 0.0625975, 0.016294673, 0.021999687) * conv2d_4_6_texOff(vec2(-1, 0)); + result += mat4(0.049847107, 0.0069700484, -0.0034077629, 0.06951502, -0.0728415, -0.029548574, 0.029498884, 0.07929732, -0.026036028, 0.022120394, -0.053467512, 0.0970619, 0.035145625, -0.030188613, 0.059409283, 0.0025130375) * conv2d_4_6_texOff(vec2(0, 0)); + result += mat4(0.0806046, -0.034683123, 0.034635466, -0.11250921, -0.06670394, -0.068827584, -0.08316675, -0.044468425, 0.03879086, 0.008067257, -0.049593873, -0.006991782, -0.044970497, -0.062532835, 0.059521012, 0.0328142) * conv2d_4_6_texOff(vec2(1, 0)); + result += mat4(-0.080308415, 0.10181174, 0.044344317, 0.0021548967, -0.00845048, -0.03967369, -0.027532468, 0.029789953, 0.03458602, 0.04806129, 0.047201924, -0.0048938207, -0.024476081, 0.092894144, 0.08846718, 0.1579219) * conv2d_4_6_texOff(vec2(-1, 1)); + result += mat4(0.041841358, 0.005677822, 0.06922681, -0.048083626, 0.097571574, 0.047701757, 0.0036025154, 0.1018424, 0.049389146, 0.004103623, -0.007945338, -0.07330994, -0.013952582, 0.045730125, 0.0047303494, 0.11872442) * conv2d_4_6_texOff(vec2(0, 1)); + result += mat4(-0.05160376, -0.04894183, -0.014141355, 0.05035471, 0.09819487, 0.0053927843, 0.084690794, -0.03531734, 0.08323211, 0.037992064, -0.070520505, 0.011019639, 0.048764836, -0.06608268, 0.041282147, 0.024909994) * conv2d_4_6_texOff(vec2(1, 1)); + result += mat4(0.033300977, 0.07279668, 0.10627013, 0.020469174, -0.096220404, 0.045072805, -0.03270042, -0.11025601, -0.011039694, -0.013577942, 0.02802186, -0.014185798, 0.07175231, -0.05551124, 0.014617462, -0.07135809) * conv2d_4_7_texOff(vec2(-1, -1)); + result += mat4(0.07803054, -0.02414874, 0.05894797, -0.02479912, -0.047674816, 0.0025892819, 0.037744947, 0.06104219, -0.035633408, -0.062775165, 0.0037292673, -0.0153946765, -0.08351275, -0.043101907, -0.07331221, -0.02441435) * conv2d_4_7_texOff(vec2(0, -1)); + result += mat4(0.07369911, 0.030597042, 0.03024739, 0.010727306, 0.08366953, -0.045006514, 0.012257517, 0.13237375, 0.047627993, -0.03177754, 0.06971235, 0.02169899, 0.040990446, 0.122375295, -0.10282813, 0.051194537) * conv2d_4_7_texOff(vec2(1, -1)); + result += mat4(-0.010020268, -0.060366325, 0.085248515, -0.0010897128, -0.019696536, -0.03936248, -0.059342247, -0.14196207, -0.0021915745, 0.05692575, 0.041611716, 0.091524825, -0.010391258, -0.04893347, 0.06383667, -0.04426228) * conv2d_4_7_texOff(vec2(-1, 0)); + result += mat4(-0.0142768, 0.039306317, -0.056363016, 0.024399225, 0.047635704, -0.010287485, -0.09361941, 0.038198, 0.1142202, -0.047814418, 0.03448349, -0.06551039, 0.072602056, -0.08336226, 0.09169459, -0.04872688) * conv2d_4_7_texOff(vec2(0, 0)); + result += mat4(-0.034146853, -0.087322414, 0.031813525, 0.031112073, 0.045516774, 0.04218627, 0.05662515, 0.113515764, -0.06374518, -0.025907435, -0.019382333, 0.0030027428, -0.03578963, -0.047216572, -0.15556793, 0.051298834) * conv2d_4_7_texOff(vec2(1, 0)); + result += mat4(-0.017529786, -0.05453987, -0.014579836, 0.013982577, -0.012338022, -0.06957733, 0.03216297, 0.09394415, -0.004125686, 0.02958306, 0.02284419, -0.00012627378, 0.067349106, -0.021241331, 0.14218384, 0.021594798) * conv2d_4_7_texOff(vec2(-1, 1)); + result += mat4(-0.047293227, -0.092491396, -0.035437353, 0.024690416, 0.008770148, 0.049056724, 0.06515176, -0.025578087, 0.054910097, -0.04324538, -0.06505705, -0.09945743, 0.13911693, -0.09362983, 0.008960207, -0.08011779) * conv2d_4_7_texOff(vec2(0, 1)); + result += mat4(0.07155997, 0.06128728, -0.03873925, 0.08012582, -0.021141024, -0.0398634, 0.08484929, -0.08437433, 0.04036481, -0.049382754, -0.057052426, -0.07894898, -0.044899106, 0.005294608, 0.005206371, -0.079267345) * conv2d_4_7_texOff(vec2(1, 1)); + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-5) +//!HOOK LUMA +//!BIND conv2d_4_0 +//!BIND conv2d_4_1 +//!BIND conv2d_4_2 +//!BIND conv2d_4_3 +//!BIND conv2d_4_4 +//!BIND conv2d_4_5 +//!BIND conv2d_4_6 +//!BIND conv2d_4_7 +//!SAVE conv2d_5_1 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0015744518, -0.00315685, -0.0047916123, -0.0009097862); + result += mat4(-0.08207461, 0.128031, -0.060778514, -0.07308753, 0.044411883, 0.05836676, -0.050955847, 0.016708346, -0.05798879, 0.11714337, -0.052356206, 0.042580917, 0.006795871, 0.12712358, 0.11993258, 0.030954897) * conv2d_4_0_texOff(vec2(-1, -1)); + result += mat4(-0.058262013, 0.041206233, 0.007543306, 0.04446718, -0.01366612, -0.076529294, -0.031074502, 0.005322028, -0.022817938, -0.028028283, -0.016736988, 0.046615783, -0.04572135, 0.089648, 0.08413048, -0.08919982) * conv2d_4_0_texOff(vec2(0, -1)); + result += mat4(0.08645594, 0.0050271507, -0.032075305, -0.040443815, 0.034082033, 0.06611981, -0.027867002, -0.030158594, 0.013906814, 0.026116017, 0.018339824, -0.12150972, 0.0007001709, 0.12323806, 0.048591305, 0.012069313) * conv2d_4_0_texOff(vec2(1, -1)); + result += mat4(0.08574896, 0.03490693, 0.10887373, -0.039868765, -0.050297137, 0.15007064, 0.012962637, 0.013152888, -0.047288943, 0.038013607, 0.020826334, -0.009567814, -0.003935442, -0.0113079725, 0.04714801, -0.047529265) * conv2d_4_0_texOff(vec2(-1, 0)); + result += mat4(-0.009640125, -0.012096071, -0.06525293, 0.0025943515, 0.070360176, -0.045646265, 0.11112204, -0.037174113, -0.00879591, -0.072668545, 0.22171813, 0.010734058, -0.0237459, -0.048001602, 0.09817084, 0.07792022) * conv2d_4_0_texOff(vec2(0, 0)); + result += mat4(0.025713297, -0.09730578, 0.0672508, 0.03366786, 0.054060634, -0.017196177, -0.02789959, -0.023999266, 0.00026824255, 0.02538447, -0.12243193, -0.014045171, 0.06856121, -0.04917505, 0.122780435, -0.09510793) * conv2d_4_0_texOff(vec2(1, 0)); + result += mat4(0.025220536, -0.0027022164, -0.079601996, 0.052991632, -0.027307203, -0.16320674, -0.0029485933, -0.012612752, 0.062479123, 0.08403083, -0.076258935, 0.040843625, -0.0076961936, 0.020959811, 0.022210691, -0.012757572) * conv2d_4_0_texOff(vec2(-1, 1)); + result += mat4(0.097228445, -0.11964642, 0.0437995, -0.067135684, 0.122634694, -0.0688758, 0.083091214, -0.04703333, -0.0030005074, -0.20338391, 0.10228295, 0.051370822, -0.02420366, 0.027422238, 0.050585903, -0.03864971) * conv2d_4_0_texOff(vec2(0, 1)); + result += mat4(-0.0090997415, -0.0073661795, -0.021248106, -0.07133465, -0.011986169, -0.04540049, -0.011632216, 0.0059723356, 0.0031430654, 0.039925516, -0.08832678, -0.07390973, 0.011175895, -0.06228055, -0.024750415, -0.096985474) * conv2d_4_0_texOff(vec2(1, 1)); + result += mat4(-0.07414657, -0.013166536, -0.0128790345, -0.0019505484, -0.05112348, -0.0670819, 0.030563334, 0.0063347807, -0.04715597, 0.02079552, 0.10212792, -0.052024752, -0.019234339, -0.057214066, -0.01760098, 0.035788972) * conv2d_4_1_texOff(vec2(-1, -1)); + result += mat4(-0.10073612, 0.025284361, 0.01799725, -0.045044526, -0.10915153, 0.01861345, -0.025841694, -0.056204036, -0.024824493, 0.016278937, 0.021782693, -0.00041866518, 0.014289397, 0.0025710247, -0.0010688631, 0.06211718) * conv2d_4_1_texOff(vec2(0, -1)); + result += mat4(-0.044595417, 0.027933536, 0.014216649, 0.0035386812, -0.01371713, 0.006653045, -0.030719293, 0.042508498, 0.03755301, 0.023092031, 0.029622376, 0.08614433, 0.042411946, 0.11303214, 0.107441604, -0.022470376) * conv2d_4_1_texOff(vec2(1, -1)); + result += mat4(-0.00014068463, 0.02840342, -0.076813854, -0.09006436, 0.038246196, -0.08805528, -0.050742894, -0.03173131, -0.001463244, -0.18382841, -0.06193491, 0.058683295, 0.09727319, 0.006721488, 0.07999272, -0.07159652) * conv2d_4_1_texOff(vec2(-1, 0)); + result += mat4(-0.042053588, -0.031173093, -0.022957752, 0.061543006, 0.018770942, -0.12309312, 0.054761473, -0.05516783, 0.020083623, 0.019241178, 0.019593194, 0.088096835, 0.082432814, -0.074144594, 0.0701276, -0.046437882) * conv2d_4_1_texOff(vec2(0, 0)); + result += mat4(0.006627367, -0.0563967, -0.07410418, 0.06402185, 0.03711646, -0.035059765, 0.083192766, 0.01510412, 0.07053082, -0.022192428, -0.027349852, -0.05496426, -0.070448555, 0.09110879, 0.061914165, -0.07099035) * conv2d_4_1_texOff(vec2(1, 0)); + result += mat4(0.0112421, -0.06318748, -0.030201001, -0.026541615, -0.012958307, 0.013556429, 0.033317436, 0.09277822, -0.028898189, 0.07258025, 0.0017646325, 0.04923396, 0.015765496, -0.096044675, 0.021339156, 0.11998846) * conv2d_4_1_texOff(vec2(-1, 1)); + result += mat4(0.025963705, -0.14235736, 0.018983569, 0.08043819, -0.011825716, -0.037286013, -0.10060333, -0.04412867, -0.058619134, 0.020563444, -0.044952367, -0.023160217, 0.06861615, 0.06738008, -0.13379839, -0.02821938) * conv2d_4_1_texOff(vec2(0, 1)); + result += mat4(0.0048707277, 0.019043662, -0.09130815, -0.028931031, -0.12072946, -0.04285368, 0.047944613, 0.0071949153, -0.016142078, 0.035332035, 0.022060735, 0.085825235, -0.067373425, -0.022455653, -0.04767743, -0.048142366) * conv2d_4_1_texOff(vec2(1, 1)); + result += mat4(-0.05140144, 0.05181245, -0.06301856, 0.074836195, 0.026091909, -0.08193144, -0.10077823, 0.08254615, 0.051102396, -0.16009636, 0.04013238, 0.08969665, 0.05411428, -0.06194502, -0.05644336, 0.016973268) * conv2d_4_2_texOff(vec2(-1, -1)); + result += mat4(0.04162779, -0.046149403, 0.094905056, -0.03947095, -0.09116851, 0.068469666, -0.13266772, 0.02847797, 0.07563702, -0.03476562, 0.00035290717, -0.08658155, 0.09233487, -0.08627873, -0.030073458, 0.036853608) * conv2d_4_2_texOff(vec2(0, -1)); + result += mat4(-0.055671353, -0.03131724, 0.13931848, -0.06539979, -0.08069431, 0.13643463, -0.022178167, 0.04327252, -0.07346584, 0.035118394, 0.016005788, 0.056704275, 0.026105251, 0.04282995, -0.06303541, 0.076745875) * conv2d_4_2_texOff(vec2(1, -1)); + result += mat4(0.045179103, 0.054460242, 0.0077447975, -0.085180216, -0.01566763, -0.1009268, -0.024783328, 0.04414422, 0.012784531, -0.019566605, -0.027646791, 0.044121083, 0.08135351, 0.08704931, -0.087942466, 0.014123775) * conv2d_4_2_texOff(vec2(-1, 0)); + result += mat4(0.07864032, -0.07392511, 0.13945386, -0.12874517, 0.026596067, -0.035203494, 0.019874567, 0.051604655, 0.053425584, 0.0027145792, -0.006463004, 0.05451999, -0.0065586106, -0.069064334, -0.0974623, -0.009454692) * conv2d_4_2_texOff(vec2(0, 0)); + result += mat4(-0.016025051, 0.0007612342, 0.13227014, 0.047292605, 0.057990685, -0.019613834, -0.08594389, -0.065454945, -0.08222361, -0.044085234, -0.08149126, 0.05107215, -0.03914704, 0.03223031, 0.00304858, -0.06086178) * conv2d_4_2_texOff(vec2(1, 0)); + result += mat4(-0.06393338, 0.06585824, -0.03971863, 0.020638505, -0.07020036, 0.078165784, -0.023239728, -6.633304e-05, 0.030490613, 0.028117688, 0.0071176467, 0.1006156, 0.0324208, 0.0752441, 0.11308696, -0.08263972) * conv2d_4_2_texOff(vec2(-1, 1)); + result += mat4(-0.0025181125, 0.11797309, -0.021731965, -0.07892438, -0.07854623, 0.028694732, -0.05136196, -0.058108527, -0.08698288, 0.06280971, 0.0040476243, 0.05245663, 0.04189153, 0.0026266198, 0.09258347, -0.078927405) * conv2d_4_2_texOff(vec2(0, 1)); + result += mat4(-0.060458113, -0.04678678, 0.09956348, 0.011742875, 0.008868679, 0.006625514, 0.091778696, -0.043040473, 0.08784683, 0.052745003, 0.043978646, -0.083363466, -0.032200236, 0.11251037, -0.02860443, -0.103177436) * conv2d_4_2_texOff(vec2(1, 1)); + result += mat4(-0.07071596, 0.016839089, -0.022337893, -0.08259886, -0.031224867, 0.03727092, 0.087207235, -0.047582027, 0.023779932, -0.050206583, -0.036889657, 0.070519656, -0.051758092, 0.15320495, -0.09819768, -7.072286e-05) * conv2d_4_3_texOff(vec2(-1, -1)); + result += mat4(0.06317105, 0.033416178, 0.0449686, 0.081640564, -0.083311096, 0.07454317, 0.05053473, -0.0029744266, 0.09618669, 0.0074289017, 0.025976038, -0.092613116, 0.083344996, -0.14098476, -0.054685637, 0.076934576) * conv2d_4_3_texOff(vec2(0, -1)); + result += mat4(-0.06789643, -0.064856656, 0.032808043, -0.04262345, 0.007198571, -0.010004189, 0.019686922, 0.08004179, 0.050241593, 0.043750808, -0.11611121, 0.030248156, 0.0105378525, 0.007712705, -0.012948104, -0.023271808) * conv2d_4_3_texOff(vec2(1, -1)); + result += mat4(0.0336584, 0.06680392, -0.03810359, 0.10981599, -0.012707544, 0.079749614, -0.06501294, 0.058317214, 0.006147558, -0.03453871, -0.013086812, -0.008479568, 0.04076724, -0.05171989, -0.009558312, -0.04216178) * conv2d_4_3_texOff(vec2(-1, 0)); + result += mat4(0.06424287, 0.015117791, 0.09866135, -0.11583168, -0.038254708, 0.045963112, -0.07479253, -0.070931055, 0.14413445, -0.16248962, 0.046398263, 0.004666128, 0.11266801, -0.027226616, -0.015955612, -0.0011878137) * conv2d_4_3_texOff(vec2(0, 0)); + result += mat4(0.02643191, 0.061254453, 0.0494096, -0.070793144, 0.051311836, 0.06554481, 0.06070888, 0.0007983009, 0.118567355, 0.058919575, -0.12287852, -0.065054044, -0.09050717, -0.08488536, 0.060238257, 0.09057325) * conv2d_4_3_texOff(vec2(1, 0)); + result += mat4(0.053385943, -0.049452152, 0.0046193106, -0.01685909, 0.009417546, 0.028648866, -0.1128238, -0.014155764, -0.02289151, 0.100980856, 0.027469363, -0.013521908, 0.03599915, 0.010645383, 0.019884411, 0.046648238) * conv2d_4_3_texOff(vec2(-1, 1)); + result += mat4(-0.029820515, 0.07319057, -0.0066431942, 0.03834879, 0.07585747, -0.038781594, -0.091037795, -0.00315325, 0.004773232, -0.07082028, -0.0038611775, 0.12734783, -0.054217707, 0.05946556, -0.004164111, -0.017936824) * conv2d_4_3_texOff(vec2(0, 1)); + result += mat4(-0.13253604, -0.037577722, -0.02488564, -0.008829228, -0.012505153, -0.02908171, 0.0441026, -0.03729904, 0.036706522, -0.02713551, -0.0772041, 0.018094081, -0.0043151844, -0.06394325, -0.068446316, 0.008595216) * conv2d_4_3_texOff(vec2(1, 1)); + result += mat4(0.0047655925, -0.021968573, -0.028744014, -0.0043960414, 0.20115684, -0.45204598, -0.13310242, 0.12808609, -0.05972118, 0.009548704, 0.08142846, -0.0487313, -0.09748383, -0.0064620366, -0.017237367, 0.014978191) * conv2d_4_4_texOff(vec2(-1, -1)); + result += mat4(-0.03343201, 0.054988347, 0.05308599, 0.08172151, -0.055764213, 0.0269587, 0.11555799, -0.08459183, -0.09585558, -0.012892078, -0.03151684, 0.03323867, -0.011431184, 0.06585031, 0.027478406, 0.05871462) * conv2d_4_4_texOff(vec2(0, -1)); + result += mat4(-0.08042042, 0.04890294, -0.014130122, 0.038282223, -0.12590457, -0.0014584339, 0.07872687, -0.099718854, 0.06804265, 0.035732787, 0.015128886, -0.010855872, 0.066030845, 0.05881367, 0.027005825, -0.07471434) * conv2d_4_4_texOff(vec2(1, -1)); + result += mat4(0.019399446, 0.025957778, 0.05300542, 0.099114425, -0.10982213, -0.046070393, -0.32537702, 0.10938942, -0.0027226578, -0.024557132, -0.03304138, 0.0049389703, 0.019805884, 0.06714838, 0.037260696, 0.02810851) * conv2d_4_4_texOff(vec2(-1, 0)); + result += mat4(0.06645875, -0.002060287, 0.07049757, -0.026402557, 0.077229165, -0.06548032, 0.14558247, -0.052601762, 0.03334513, 8.196931e-05, 0.012000327, -0.010111689, 0.01992569, -0.034149673, 0.043733038, 0.03886595) * conv2d_4_4_texOff(vec2(0, 0)); + result += mat4(0.02363717, 0.010785562, 0.10112841, 0.007340719, -0.10487544, 0.1929132, 0.011476935, -0.03674878, 0.03454059, -0.032261427, 0.027909322, 0.023721904, 0.022733402, 0.053215142, 0.031351533, -0.017638128) * conv2d_4_4_texOff(vec2(1, 0)); + result += mat4(0.07517212, -0.05143191, -0.10977297, -0.07020565, -0.21650451, 0.33921042, 0.09528011, -0.058998466, -0.08199703, -0.0775177, -0.061146848, -0.0048794183, -0.040759, 0.042332716, 0.022684205, 0.041701116) * conv2d_4_4_texOff(vec2(-1, 1)); + result += mat4(0.024941389, 0.05746091, -0.06814183, 0.009118384, 0.007959227, 0.031606995, 0.072192915, -0.09604929, -0.0007833483, 0.14576305, -0.05618914, 0.0287033, -0.011039046, -0.0760783, 0.025293462, 0.06423465) * conv2d_4_4_texOff(vec2(0, 1)); + result += mat4(-0.006881821, 0.012358748, 0.029021265, 0.029400565, -0.09540961, 0.042767294, 0.19549835, -0.033266455, -0.08963395, -0.028339036, -0.047620814, -0.013307404, 0.04318503, -0.019088237, 0.009689555, -0.019531729) * conv2d_4_4_texOff(vec2(1, 1)); + result += mat4(-0.0062636775, 0.07793288, -0.12550123, -0.05078043, -0.13507916, 0.09427305, 0.031841133, -0.026660876, -0.04723877, -0.059109464, -0.045466147, -0.09010795, -0.029463403, 0.04876187, -0.052012656, 0.061184004) * conv2d_4_5_texOff(vec2(-1, -1)); + result += mat4(0.022775827, 0.0046038292, 0.022742953, -0.067685984, -0.0053338357, 0.03386472, 0.011141653, -0.08568731, -0.008999113, 0.08444365, 0.061198704, -0.09470672, 0.027035728, 0.11517622, -0.026788063, -0.047254182) * conv2d_4_5_texOff(vec2(0, -1)); + result += mat4(-0.0055007213, 0.04812832, -0.004914767, 0.009009914, 0.042136956, -0.10551308, -0.022911811, -0.14204964, -0.026227344, 0.005234821, -0.0037428648, 0.007144, 0.0094122, 0.006046598, -0.034700245, -0.019903675) * conv2d_4_5_texOff(vec2(1, -1)); + result += mat4(-0.018364673, -0.18498482, -0.011405394, -0.036670245, 0.038520485, 0.03019936, -0.024638332, 0.05970711, 0.012801251, -0.032582067, 0.06690392, 0.0024039003, -0.06536767, -0.07672549, -0.08432428, -0.0640461) * conv2d_4_5_texOff(vec2(-1, 0)); + result += mat4(-0.04331173, -0.07173946, -0.008296501, -0.059604414, 0.11777428, -3.595124e-05, 0.018274384, 0.0025083884, -0.039044168, 0.15155117, 0.12384329, 0.08502396, 0.099061035, 0.046291023, -0.06215099, -0.018813469) * conv2d_4_5_texOff(vec2(0, 0)); + result += mat4(0.02699112, -0.12921812, -0.04144525, -0.08146554, 0.1600772, -0.03318599, 0.09983624, 0.05829146, 0.019063668, 0.013803068, 0.025891146, -0.013269338, -0.06700442, -0.032046944, 0.05948108, 0.06833112) * conv2d_4_5_texOff(vec2(1, 0)); + result += mat4(0.021418927, -0.011101314, -0.020450482, -0.08121432, -0.07353969, 0.029470403, -0.13112298, 0.029026585, -0.06622451, 0.033091076, -0.042509414, -0.080686525, -0.00291086, 0.074634716, -0.022687335, -0.02273041) * conv2d_4_5_texOff(vec2(-1, 1)); + result += mat4(0.16050445, -0.049605634, 0.090725034, -0.102959774, -0.04005191, -0.18857746, -0.11889628, -0.01967432, 0.019580152, 0.006339733, 0.03364817, -0.08662583, -0.059530478, -0.16516912, -0.042404875, 0.06995557) * conv2d_4_5_texOff(vec2(0, 1)); + result += mat4(0.029750627, -0.022227222, 0.021009974, -0.06495962, 0.106745966, -0.015408411, -0.10110798, 0.023828875, -0.00080876687, -0.022463724, -0.025799464, -0.034135137, -0.043182123, -0.0460344, -0.018800568, 0.08364141) * conv2d_4_5_texOff(vec2(1, 1)); + result += mat4(-0.05468824, -0.07324864, 0.010586975, 0.06644255, -0.01111311, -0.068100885, -0.048155323, -0.07400499, 0.018563412, 0.013836224, 0.016608158, 0.017961936, -0.098474726, -0.14732291, -0.029901335, 0.07051247) * conv2d_4_6_texOff(vec2(-1, -1)); + result += mat4(0.07104974, 0.13000278, -0.0363939, 0.038571544, -0.09183947, 0.006131708, 0.026080236, -0.008271055, -0.043282244, -0.13521156, 0.05219377, -0.085583135, 0.042754598, 0.09081776, 0.0065654395, -0.05418741) * conv2d_4_6_texOff(vec2(0, -1)); + result += mat4(-0.005564275, 0.063033395, 0.020314885, 0.0032168725, -0.0034702537, -0.06514294, -0.039540354, -0.050846856, -0.039750632, 0.0015255087, -0.022842724, 0.08270857, -0.021029124, 0.2329149, -0.041130327, -0.012916637) * conv2d_4_6_texOff(vec2(1, -1)); + result += mat4(-0.067804776, -0.028096242, -0.10096214, 0.031326324, 0.05355421, 0.06449, -0.095629536, 0.001459921, -0.030267835, 0.01581432, -0.00532259, -0.07077051, 0.035441488, -0.037319656, 0.056437634, 0.07900447) * conv2d_4_6_texOff(vec2(-1, 0)); + result += mat4(-0.041436315, 0.05622749, 0.123041905, 0.062267337, 0.0481683, 0.01865463, 0.0040591136, -0.008823932, 0.062817335, 0.079116456, -0.055431556, -0.0116736805, 0.04154101, 0.1590696, 0.004218053, 0.049467042) * conv2d_4_6_texOff(vec2(0, 0)); + result += mat4(0.032427363, 0.018535338, -0.06170839, 0.0040236865, -0.053686354, -0.022904709, -0.019076394, 0.036216035, 0.0354274, 0.11485263, 0.009051487, 0.06564365, -0.06861848, 0.041621357, 0.06755258, -0.09224878) * conv2d_4_6_texOff(vec2(1, 0)); + result += mat4(0.01622149, -0.034300797, 0.08987136, 0.0702994, 0.024909563, -0.11367525, -0.035101425, -0.020093646, 0.023257593, -0.057246193, 0.04018863, -0.09302388, -0.016728664, 0.14072296, 0.08600977, -0.025837766) * conv2d_4_6_texOff(vec2(-1, 1)); + result += mat4(-0.037857607, 0.043329407, 0.034968685, -0.059303157, -0.046973567, -0.05306599, 0.09905086, -0.102516145, 0.013375577, 0.0029394557, 0.06833007, -0.074773945, -0.08917028, -0.039669916, 0.081695035, -0.004198344) * conv2d_4_6_texOff(vec2(0, 1)); + result += mat4(-0.06591738, 0.12900765, 0.050994713, -0.097922914, 0.028693216, -0.076116174, -0.014631744, -0.06018762, 0.0070316354, 0.046670698, 0.0022600282, 0.09933559, 0.022741584, -0.33439976, 0.019821465, -0.017797852) * conv2d_4_6_texOff(vec2(1, 1)); + result += mat4(-0.034110013, 0.04107951, 0.022204535, 0.05144505, -0.04561792, -0.00082960294, 0.08117352, 0.052167963, -0.047282647, 0.09067634, 0.069996275, -0.08998225, 0.06417269, 0.0039199106, 0.046506315, -0.0047159814) * conv2d_4_7_texOff(vec2(-1, -1)); + result += mat4(-0.042432256, -0.07655563, 0.05198022, -0.005011239, -0.02297892, -0.041709293, 0.0915206, -0.030097082, -0.06248965, -0.0037499012, -0.030361224, -0.081809066, -0.07878031, 0.021166047, -0.04119685, 0.07021323) * conv2d_4_7_texOff(vec2(0, -1)); + result += mat4(-0.047959343, -0.034814708, -0.073872425, -0.026258638, 0.028664712, 0.046093605, -0.0048153824, -0.008193044, -0.024218341, -0.066153936, -0.059232924, -0.067110375, 0.03871316, 0.033611733, -0.004104547, 0.073363796) * conv2d_4_7_texOff(vec2(1, -1)); + result += mat4(0.033081766, 0.16570848, 0.0065126475, 0.036230378, 0.056893192, 0.0015048473, 0.08329359, -0.09228875, -0.030670855, 0.10487499, -0.030180218, 0.07263737, -0.05247978, 0.037022844, 0.021047143, -0.07133372) * conv2d_4_7_texOff(vec2(-1, 0)); + result += mat4(0.05955705, -0.092319295, 0.042161267, 0.072634146, -0.022933224, 0.01174158, -0.038910024, -0.05347283, 0.05967942, 0.063284345, -0.03701574, -0.020104041, 0.030629955, 0.03572669, 0.113548934, -0.0473838) * conv2d_4_7_texOff(vec2(0, 0)); + result += mat4(-0.05977702, 0.112645306, -0.080086626, 0.016950965, -0.046943597, -0.019606873, 0.039892107, -0.018075371, 0.029472286, -0.03970586, -0.029501943, 0.0029884784, -0.031321682, 0.0074781817, 0.009190205, 0.023377337) * conv2d_4_7_texOff(vec2(1, 0)); + result += mat4(-0.05442769, 0.05273514, 0.06724367, 0.093674995, 0.08680738, 0.029476075, -0.011874092, 0.040094722, 0.025008587, -0.13052899, -0.09325967, 0.028062379, -0.044704042, -0.00075232005, -0.008641598, -0.030548042) * conv2d_4_7_texOff(vec2(-1, 1)); + result += mat4(-0.061492797, 0.10923731, -0.050821174, 0.022420067, -0.030300854, 0.07727355, -0.050642256, -0.08365486, -0.018256022, -0.043782055, 0.090091035, 0.09128473, -0.07490706, -0.022864461, 0.12723088, -0.015180536) * conv2d_4_7_texOff(vec2(0, 1)); + result += mat4(-0.10572695, 0.011199196, -0.059476983, -0.0742299, -0.043164264, -0.001748795, -0.014968911, 0.04468511, 0.01665706, 0.06361507, 0.07060267, -0.037134826, -0.04272324, 0.031192753, -0.00221025, 0.00773614) * conv2d_4_7_texOff(vec2(1, 1)); + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-5) +//!HOOK LUMA +//!BIND conv2d_4_0 +//!BIND conv2d_4_1 +//!BIND conv2d_4_2 +//!BIND conv2d_4_3 +//!BIND conv2d_4_4 +//!BIND conv2d_4_5 +//!BIND conv2d_4_6 +//!BIND conv2d_4_7 +//!SAVE conv2d_5_2 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0012241185, 0.0021334367, 0.0068932255, 0.002486373); + result += mat4(0.026180847, -0.16952972, 0.043499254, 0.06416331, -0.017287761, -0.06230252, 0.04120995, -0.05618189, -0.053149868, 0.028108856, 0.0073445113, -0.05426348, -0.06610465, -0.057755865, -0.009087896, -0.11058771) * conv2d_4_0_texOff(vec2(-1, -1)); + result += mat4(-0.017525462, -0.05434187, 0.1059205, 0.001318233, 0.042203754, 0.089070834, -0.07264212, 0.039259356, -0.006474489, -0.1186814, 0.00856044, 0.085298546, -0.063202165, -0.007112022, 0.009975171, 0.0173496) * conv2d_4_0_texOff(vec2(0, -1)); + result += mat4(-0.0031374092, 0.0015352984, 0.019587563, 0.053573012, -0.053394888, 0.056993257, -0.046885233, -0.027907748, 0.06467499, 0.088733345, -0.021598147, -0.026513984, 0.060804382, 0.07467208, -0.042883873, 0.075304784) * conv2d_4_0_texOff(vec2(1, -1)); + result += mat4(0.05299402, 0.0076483083, 0.034248434, 0.04782389, 0.05177671, 0.0718715, 0.030275084, 0.089537755, -0.08820798, 0.046845276, 0.029100886, 0.053414248, 0.009286998, -0.0022712906, 0.07270295, 0.030649085) * conv2d_4_0_texOff(vec2(-1, 0)); + result += mat4(-0.047304187, 0.010320102, 0.07162091, 0.04033483, -0.11847376, -0.074101724, 0.05699219, -0.006389591, 0.117062815, -0.03134645, 0.09951441, -0.045558523, -0.023229687, 0.0793525, -0.079174615, -0.042221762) * conv2d_4_0_texOff(vec2(0, 0)); + result += mat4(-0.012467373, 0.07453426, 0.059200153, 0.08628127, 0.046222318, 0.060835138, -0.11441226, 0.018861081, 0.041324604, 0.049773127, -0.004593515, -0.016675977, 0.07830738, 0.111825414, -0.09450625, 0.01634409) * conv2d_4_0_texOff(vec2(1, 0)); + result += mat4(-0.10708641, 0.105287276, -0.08288423, -0.0294331, 0.06523496, -0.02606312, 0.00074847357, 0.0028245733, 0.028431064, -0.09105569, 0.03701324, -0.04717843, 0.020553712, 0.019483296, 0.006110116, -0.06955634) * conv2d_4_0_texOff(vec2(-1, 1)); + result += mat4(0.110848226, 0.064007334, -0.017016826, -0.06788547, 0.09553613, 0.034604624, 0.012010758, -0.020224392, 0.06942821, 0.096088044, 0.053738456, 0.04097387, 0.040535636, 0.055802915, -0.050420802, -0.08064581) * conv2d_4_0_texOff(vec2(0, 1)); + result += mat4(-0.02056924, -0.03479031, 0.020669146, 0.06619753, -0.0073672114, -0.000638291, -0.08000646, -0.11552554, 0.15621226, -0.06364623, 0.025815813, -0.006683139, 0.19226713, -0.012636726, 0.037548643, -0.0154771395) * conv2d_4_0_texOff(vec2(1, 1)); + result += mat4(0.011184736, 0.04237306, 0.089148216, -0.0025677795, 0.011131455, 0.10101753, 0.10278244, 0.04494601, -0.057626657, 0.07070167, -0.0044768043, -0.06161475, -0.0203539, 0.048371457, -0.07864781, 0.0256692) * conv2d_4_1_texOff(vec2(-1, -1)); + result += mat4(0.026482403, -0.052022453, -0.028436452, -0.015990475, 0.0029733954, 0.045734134, -0.013345869, 0.103559375, -0.014014504, -0.0055943117, 0.028680645, -0.063654006, -0.017549353, 0.005930955, 0.026078304, -0.030188177) * conv2d_4_1_texOff(vec2(0, -1)); + result += mat4(-0.04492782, -0.028460477, 0.060610663, 0.049183693, 0.048369046, 0.07048745, -0.007948521, 0.038808312, 0.01949531, -0.0074281716, -0.09911383, -0.06441001, 0.059698783, 0.10489308, -0.08145082, -0.054509286) * conv2d_4_1_texOff(vec2(1, -1)); + result += mat4(0.0016390801, -0.023419019, 0.042550687, 0.09153814, -0.06952357, -0.047241125, 0.05250122, 0.07200129, -0.025023395, -0.12957473, 0.0880356, 0.055206448, 0.039007295, -0.06747793, -0.01196971, -0.028028782) * conv2d_4_1_texOff(vec2(-1, 0)); + result += mat4(0.042228274, -0.13640381, -0.05348677, 0.08959021, -0.10725413, -0.10059156, -0.00025799166, 0.07941621, 0.037943512, 0.036201626, 0.11996914, -0.023057764, 0.008355933, 0.055369094, -0.00144779, 0.06666965) * conv2d_4_1_texOff(vec2(0, 0)); + result += mat4(-0.034226667, 0.022774898, 0.011817686, -0.07590995, -0.018459072, -0.104730844, -0.0019611972, 0.036839306, 0.05048668, 0.0643981, -0.09588899, 0.07278026, -0.023179384, 0.11892957, 0.055207867, -0.06674579) * conv2d_4_1_texOff(vec2(1, 0)); + result += mat4(0.06611283, -0.019130662, 0.034497153, -0.013895366, -0.0018945879, 0.009245126, 0.11520003, -0.049800385, -0.04321028, 0.057020154, -0.04549669, 0.031447403, -0.14874002, -0.10976988, 0.053844746, -0.10796051) * conv2d_4_1_texOff(vec2(-1, 1)); + result += mat4(-0.064305164, 0.017498314, 0.04589522, 0.04612451, -0.040739216, 0.05353419, 0.013319945, -0.066659965, -0.12095996, -0.029800702, 0.069868095, 0.03891325, 0.047578104, -0.05515826, 0.024488984, -0.079771) * conv2d_4_1_texOff(vec2(0, 1)); + result += mat4(0.14049178, 0.10679814, 0.015234572, -0.061061822, 0.070621066, 0.02500317, 0.07848263, -0.009291018, -0.06886433, 0.059419736, 0.046194643, -0.013400316, -0.03426553, -0.04767137, -0.01052386, 0.065155245) * conv2d_4_1_texOff(vec2(1, 1)); + result += mat4(-0.0018380901, -0.100722425, 0.037608057, -0.024494912, 0.025990305, -0.035539094, 0.11090735, -0.1206273, -0.018506464, 0.09159799, -0.06881489, -0.08032549, 0.0059454427, -0.064983286, -0.012770929, 0.01613593) * conv2d_4_2_texOff(vec2(-1, -1)); + result += mat4(0.023787126, 0.15421133, 0.020594522, 0.042514496, 0.025265347, 0.010228249, -0.0003747916, 0.001164655, 0.028721064, 0.042104322, 0.07913053, -0.07070887, 0.03783195, -0.04253122, 0.058427542, 0.019336864) * conv2d_4_2_texOff(vec2(0, -1)); + result += mat4(-0.053029936, -0.06732142, -0.03374933, -0.024254622, -0.04499429, -0.044275023, 0.013035989, -0.015884401, 0.019476913, -0.020123575, -0.11515511, -0.07181934, -0.036002997, -0.05861097, 0.054649405, 0.053042512) * conv2d_4_2_texOff(vec2(1, -1)); + result += mat4(-0.0006783093, -0.05147645, 0.06360567, -0.03345198, 0.01549789, -0.02867565, -0.08252393, 0.041093204, -0.099138185, 0.09952141, 0.048564274, -0.058072764, 0.04908185, 0.08240476, -0.08783841, -0.08247249) * conv2d_4_2_texOff(vec2(-1, 0)); + result += mat4(0.042243954, 0.052196372, 0.048607778, -0.0882041, 0.051813733, 0.055787183, 0.013663718, -0.0006376014, -0.03953027, -0.022029808, -0.020313045, 0.047251374, 0.1175269, -0.019288447, 0.070529185, -0.10401507) * conv2d_4_2_texOff(vec2(0, 0)); + result += mat4(-0.06273552, -0.022590306, -0.12059001, -0.09641833, 0.07988838, 0.0393035, -0.040149193, 0.06555887, -0.018175518, 0.16491282, 0.030639257, -0.12775981, 0.04745357, -0.040889278, -0.03516744, 0.061541032) * conv2d_4_2_texOff(vec2(1, 0)); + result += mat4(0.014498466, -0.0681961, 0.073660806, -0.03635975, -0.042778928, 0.03200906, -0.016805988, -0.06730266, 0.04469406, 0.06948934, 0.053909983, 0.022758132, -0.054390382, 0.06476216, 0.0014941997, 0.018873064) * conv2d_4_2_texOff(vec2(-1, 1)); + result += mat4(0.05790418, 0.05245671, 0.06528069, 0.0587325, -0.04423894, 0.04503924, 0.017266309, -0.06850021, 0.062676944, 0.035676297, 0.06428191, -0.021091184, -0.05936686, 0.07636687, 0.05724186, -0.111265086) * conv2d_4_2_texOff(vec2(0, 1)); + result += mat4(0.027879877, 0.012189548, 0.029937346, 0.072025076, 0.028462818, -0.021995557, 0.047506038, 0.0046073375, 0.0116181625, -0.08035078, -0.051943857, -0.032913093, 0.031142298, -0.11155354, 0.079034135, -0.08799515) * conv2d_4_2_texOff(vec2(1, 1)); + result += mat4(0.008985443, -0.011763437, 0.13171777, 0.07496883, 0.04349307, 0.04008183, -0.039008938, 0.020693056, 0.021652997, -0.080336116, -0.13589565, 0.015393162, -0.06520484, 0.067117676, -0.11675259, 0.056678172) * conv2d_4_3_texOff(vec2(-1, -1)); + result += mat4(-0.0045156986, -0.10225994, 0.07425678, -0.036810845, 0.036421232, 0.00040367825, 0.023993498, -0.025663141, -0.0044587497, 0.0579683, -0.058348347, -0.051328924, -0.013961377, -0.045055248, 0.073939554, 0.030704541) * conv2d_4_3_texOff(vec2(0, -1)); + result += mat4(-0.022587204, 0.064183004, -0.06791376, 0.009150594, 0.036651857, -0.14985284, 0.032818466, -0.015700202, -0.016282944, 0.07251849, -0.10622729, 0.01207867, -0.08330932, 0.012815391, -0.05835337, -0.036899038) * conv2d_4_3_texOff(vec2(1, -1)); + result += mat4(-0.002146366, 0.0033056973, 0.109566905, 0.05129626, -0.0011042826, -0.04794001, -0.01514892, 0.06714098, 0.08702866, 0.014478575, -0.037140016, -0.024209656, 0.11050573, -0.04233672, 0.09712027, -0.009000431) * conv2d_4_3_texOff(vec2(-1, 0)); + result += mat4(0.062549636, 0.10421009, -0.14621222, -0.021877756, 0.056352425, -0.040315025, -0.026519904, 0.05594597, -0.0029486157, -0.091164656, -0.019262562, 0.016197424, 0.04583358, 0.029062865, -0.12586722, 0.04533726) * conv2d_4_3_texOff(vec2(0, 0)); + result += mat4(0.0570938, 0.0484471, 0.021862749, 0.02507954, -0.014260676, 0.08177275, -0.008907858, -0.02226478, 0.0009870944, -0.03341529, -0.10750207, 0.05052649, -0.12615874, 0.120086886, 0.09695753, 0.028788373) * conv2d_4_3_texOff(vec2(1, 0)); + result += mat4(0.10404641, -0.055343777, 0.059317887, 0.036331765, 0.13507774, 0.010617282, -0.03190572, -0.05892843, 0.033767328, -0.10141904, -0.073986426, 0.084820926, 0.0011830141, -0.0070112105, -0.0013766752, -0.054657012) * conv2d_4_3_texOff(vec2(-1, 1)); + result += mat4(-0.061561644, 0.016768254, 0.02129458, 0.057884406, 0.04301123, 0.04977976, 0.05378472, 0.1085755, -0.10980783, -0.19517791, -0.16695395, 0.084237754, -0.005536279, 0.07782114, -0.058871396, 0.018939653) * conv2d_4_3_texOff(vec2(0, 1)); + result += mat4(0.032725487, 0.03686749, 0.0021732685, 0.01717838, 0.07967108, 0.06264704, -0.011177685, -0.0455891, 0.016361756, 0.073487565, -0.045595482, 0.026039157, -0.009627082, 0.03116972, 0.035471514, 0.12119219) * conv2d_4_3_texOff(vec2(1, 1)); + result += mat4(0.01574868, -0.022228353, -0.06758825, -0.04066597, -0.20094728, -0.15644898, 0.3604267, 0.17203873, -0.0054925373, 0.038341153, -0.03175302, -0.09687927, 0.04077461, -0.059320346, 0.04266336, 0.011216107) * conv2d_4_4_texOff(vec2(-1, -1)); + result += mat4(-0.13685343, 0.020444097, -0.04527778, 0.009981499, 0.029449446, 0.046244092, -0.12048201, -0.02798361, 0.036831103, 0.048521705, -0.07807242, -0.042944606, -0.03103272, 0.083251305, 0.12440028, -0.07073837) * conv2d_4_4_texOff(vec2(0, -1)); + result += mat4(0.015082916, 0.061226223, -0.009352516, -0.0050520063, 0.013248791, -0.045671195, -0.08001653, -0.107937515, -0.03803422, -0.056096505, 0.10405189, -0.045633033, 0.0874752, 0.04573415, 0.014751291, -0.015374511) * conv2d_4_4_texOff(vec2(1, -1)); + result += mat4(-0.01992694, 0.0037419219, 0.09654823, -0.07737047, -0.008273786, -0.057463884, 0.22298786, -0.044002444, -0.04149176, 0.034357596, -0.10170319, 0.015404388, 0.0979337, 0.057932362, -0.033167087, -0.08628929) * conv2d_4_4_texOff(vec2(-1, 0)); + result += mat4(0.086967595, 0.08035633, -0.08364339, -0.012394236, -0.07217406, 0.0077195466, -0.13820396, -0.024604272, 0.057311613, 0.02058696, 0.06155511, -0.062212422, 0.024667839, 0.079907216, 0.02021347, -0.039041054) * conv2d_4_4_texOff(vec2(0, 0)); + result += mat4(-0.0018395793, 0.036675166, -0.039544083, 0.057040572, -0.10940155, 0.12301371, 0.04079556, -0.06973229, 0.0014453814, 0.019001443, 0.042095598, 0.021565063, 0.003843627, 0.025290098, -0.05930652, -0.060487784) * conv2d_4_4_texOff(vec2(1, 0)); + result += mat4(0.12504193, -0.0019781387, 0.0596247, -0.0072801434, -0.3675003, 0.10233333, -0.031910796, -0.33279857, -0.03827071, -0.047691703, 0.054306038, 0.04991421, -0.02068515, 0.08593456, -0.10260943, -0.06754247) * conv2d_4_4_texOff(vec2(-1, 1)); + result += mat4(0.034048505, -0.035963766, -0.07012309, 0.0799518, -0.12793687, 0.16142762, -0.035756063, 0.044046953, -0.03411737, 0.06786099, 0.056355845, 0.06094501, 0.09366579, 0.037332505, -0.058319304, -0.043978117) * conv2d_4_4_texOff(vec2(0, 1)); + result += mat4(0.030508691, -0.08193699, 0.007691217, -0.00062860025, 0.043020803, 0.032419655, -0.03591024, 0.013728307, -0.089829944, -0.066203386, -0.08721472, 0.002392878, -0.043601643, -0.039625272, -0.0579906, -0.058756016) * conv2d_4_4_texOff(vec2(1, 1)); + result += mat4(-0.043022092, -0.025698598, 0.08005537, 0.064640775, 0.05918357, 0.0005471442, -0.008595545, -0.029295992, -0.008803515, -0.035412677, 0.08089217, 0.00533667, -0.051157776, -0.07088551, 0.009983456, -0.07015081) * conv2d_4_5_texOff(vec2(-1, -1)); + result += mat4(0.052928653, 0.042614646, 0.02650933, 0.011813514, -0.019210918, 0.03400474, 0.051443808, 0.046640188, -0.018472834, -0.0062992275, -0.08747558, -0.085021734, -0.010826439, -0.05052233, -0.05338932, -0.04394019) * conv2d_4_5_texOff(vec2(0, -1)); + result += mat4(0.0057938257, -0.1058471, 0.029063158, -0.048314914, -0.003359733, 0.0182065, 0.015395308, 0.013391667, -0.062125072, -0.0061351364, 0.02695363, 0.032887366, -0.0064049163, -0.033818614, 0.04590366, 0.083584055) * conv2d_4_5_texOff(vec2(1, -1)); + result += mat4(0.07273141, 0.056978628, 0.020062437, 0.08879118, 0.04383751, 0.0049260994, -0.0022260724, -0.018392978, -0.05969295, 0.025904998, 0.06375315, 0.08162083, -0.01412638, -0.1664552, 0.001785757, 0.06322796) * conv2d_4_5_texOff(vec2(-1, 0)); + result += mat4(0.044435386, -0.028024139, -0.016509142, 0.12734327, 0.0003607643, -0.15563126, -0.05983459, -0.047431465, -0.06303351, -0.010999904, 0.053138472, 0.04958344, -0.07708359, -0.044805728, -0.04770434, -0.070404306) * conv2d_4_5_texOff(vec2(0, 0)); + result += mat4(-0.053093355, -0.03812173, 0.06262051, 0.029390162, -0.04916654, -0.033913516, -0.033925116, 0.028242417, -0.06742547, -0.028239336, -0.07462943, -0.08169905, 0.04091116, 0.026346417, 0.058489215, -0.020806976) * conv2d_4_5_texOff(vec2(1, 0)); + result += mat4(0.1446484, -0.025160775, 0.04222738, -0.026083117, 0.05376271, -0.035563696, 0.022631554, -0.16083054, 0.12225214, -0.0022205308, -0.04860979, 0.06947267, 0.025737809, 0.04529258, 0.07473952, -0.052303374) * conv2d_4_5_texOff(vec2(-1, 1)); + result += mat4(0.07834728, 0.09587678, 0.05700881, -0.0321596, 0.11405922, 0.024087247, 0.03775237, -0.0388141, 0.0044186786, -0.07662549, 0.0030320536, 0.05783577, -0.00023966275, -0.057636164, 0.019401992, 0.01830553) * conv2d_4_5_texOff(vec2(0, 1)); + result += mat4(0.0077685136, 0.01862816, -0.071248665, 0.0014062023, 0.0863223, 0.14929448, 0.072282866, 0.04201909, 0.010135287, -0.06930002, 0.0029319518, 0.06784896, -0.003129213, -0.042382196, 0.008275924, -0.0072262576) * conv2d_4_5_texOff(vec2(1, 1)); + result += mat4(0.008592076, 0.053503744, -0.046048623, 0.06984635, 0.07416733, -0.10997004, 0.06989124, 0.044969026, -0.047056653, -0.04250353, -0.028814115, 0.041083295, -0.07997169, -0.103192165, -0.09488172, -0.07150983) * conv2d_4_6_texOff(vec2(-1, -1)); + result += mat4(-0.034342095, -0.12401346, -0.06516515, 0.019533003, 0.063061595, -0.06014257, 0.05017817, -0.03134353, -0.01321635, -0.03705954, 0.08590673, 0.04369743, 0.012250313, -0.04960861, 0.026117694, -0.050277874) * conv2d_4_6_texOff(vec2(0, -1)); + result += mat4(-0.024159886, -0.050286807, -0.07320185, -0.037535366, -0.04663439, -0.053366806, -0.05063529, -0.00342683, -0.021736585, -0.056364376, -0.009154389, -0.057597823, -0.012613285, -0.06798044, 0.04600491, -0.06969079) * conv2d_4_6_texOff(vec2(1, -1)); + result += mat4(-0.0092861485, -0.060165096, 0.07866518, -0.08266665, -0.008406315, -0.052310944, 0.10650347, -0.04625679, -0.042812962, 0.038348388, -0.064809486, 0.087653436, 0.057408765, 0.08415318, 0.07803611, 0.027114546) * conv2d_4_6_texOff(vec2(-1, 0)); + result += mat4(0.028660838, -0.046538174, -0.016554158, 0.07110114, 0.040407818, -0.048464786, 0.014544363, 0.008121488, 0.016478071, 0.007852912, -0.07517136, 0.08645907, 0.13397284, 0.004913691, 0.013126187, -0.05955893) * conv2d_4_6_texOff(vec2(0, 0)); + result += mat4(0.01772752, -0.042552352, 0.04022111, -0.061883643, -0.097827815, -0.03567983, 0.06499052, 0.055168267, -0.108419545, -0.055947658, -0.056289464, 0.058047045, 0.050205685, -0.040717937, -0.038549487, 0.03466021) * conv2d_4_6_texOff(vec2(1, 0)); + result += mat4(0.08305135, 0.06707062, 0.106808566, -0.04625723, -0.002112975, -0.06443947, 0.107865416, 0.091299295, 0.051955547, -0.05400569, -0.032580074, -0.06336394, 0.027706698, 0.074923486, 0.09990255, -0.10163063) * conv2d_4_6_texOff(vec2(-1, 1)); + result += mat4(-0.17238379, -0.1372312, 0.021696858, -0.050194796, -0.07787714, -0.004796564, 0.03762878, 0.017088871, 0.063170284, 0.019747527, 0.10629413, 0.04509671, -0.08048468, 0.07245186, -0.0671699, -0.028863296) * conv2d_4_6_texOff(vec2(0, 1)); + result += mat4(0.06802668, -0.009189577, 0.112041675, -0.02242001, -0.055040244, -0.060112633, -0.041452844, -0.02283866, -0.05264939, -0.07195993, 0.14483029, 0.020627663, 0.18046711, 0.1544126, 0.07911424, 0.021239154) * conv2d_4_6_texOff(vec2(1, 1)); + result += mat4(-0.07212184, 0.08806584, -0.048293106, 0.031250432, 0.015933016, -0.031126015, -0.03097172, -0.10448927, -0.02261423, -0.05587862, -0.056037728, 0.098925576, 0.015742805, -0.03344821, 0.047337104, 0.021288436) * conv2d_4_7_texOff(vec2(-1, -1)); + result += mat4(0.078381516, -0.032726932, 0.041256435, 0.061052635, 0.028808601, 0.058138087, -0.0013869487, -0.024506232, -0.011771132, 0.019624095, 0.053384613, 0.06201631, -0.06445736, -0.018564906, 0.037221406, 0.038053736) * conv2d_4_7_texOff(vec2(0, -1)); + result += mat4(0.01246255, -0.0003297638, 0.040747695, 0.06180846, -0.022848543, -0.044420164, 0.13935216, -0.0035471616, 0.015648797, -0.03682713, 0.101843104, 0.0030014245, 0.0012333349, -0.10412579, 0.18550429, -0.01411108) * conv2d_4_7_texOff(vec2(1, -1)); + result += mat4(-0.031184636, 0.027742168, -0.0027437084, -0.06399479, -0.013544893, 0.005496408, -0.019245494, -0.019787217, -0.01635598, 0.053362478, 0.062045038, -0.032369506, 0.007514835, -0.0053912033, -0.0053840172, 0.000982317) * conv2d_4_7_texOff(vec2(-1, 0)); + result += mat4(0.061260734, -0.003145944, 0.0040632556, 0.0065143346, 0.07446834, -0.011942263, 0.030779723, 0.10981805, -0.07932501, 0.027470497, -0.06078425, 0.037311755, -0.11016517, -0.053254724, -0.03710013, 0.059669875) * conv2d_4_7_texOff(vec2(0, 0)); + result += mat4(0.024247834, 0.10966437, 0.02359339, 0.054738913, 0.02411414, 0.07145777, 0.038426436, -0.013665711, -0.03045429, -0.012113072, -0.022659652, -0.06558497, 0.0028031287, -0.06433196, 0.02926421, 0.07350148) * conv2d_4_7_texOff(vec2(1, 0)); + result += mat4(-0.024251517, 0.09701043, -0.1124138, -0.061269626, 0.109400235, -0.06759477, -0.013664735, -0.027090672, 0.05782927, -0.045277324, -0.05493923, 0.101585045, -0.094508335, -0.021006998, 0.0039328467, -0.040771574) * conv2d_4_7_texOff(vec2(-1, 1)); + result += mat4(0.013551815, 0.017554315, 0.0051329266, -0.007015086, 0.07063217, 0.016869506, -0.043250456, 0.035651084, 0.01695553, -0.009637777, 0.031231096, -0.06202286, -0.15219331, -0.0061909063, 0.03696451, 0.022182986) * conv2d_4_7_texOff(vec2(0, 1)); + result += mat4(0.0052010976, -0.09530196, 0.0036757172, -0.07313419, 0.05102148, 0.026703484, 0.004850132, -0.09532817, -0.009647847, 0.06250944, -0.016948428, -0.0047450946, -0.030705994, 0.010842339, -0.04632994, 0.015994659) * conv2d_4_7_texOff(vec2(1, 1)); + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-5) +//!HOOK LUMA +//!BIND conv2d_4_0 +//!BIND conv2d_4_1 +//!BIND conv2d_4_2 +//!BIND conv2d_4_3 +//!BIND conv2d_4_4 +//!BIND conv2d_4_5 +//!BIND conv2d_4_6 +//!BIND conv2d_4_7 +//!SAVE conv2d_5_3 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.00066564477, 0.0010563044, 0.0043857675, 0.0033964757); + result += mat4(-0.04965496, -0.032845944, 0.17420122, 0.07279458, -0.029353077, 0.032154594, 0.04751179, -0.010608295, 0.025328763, -0.047787726, -0.052980732, -0.027171941, 0.1157033, 0.012155323, 0.029949913, 0.019379843) * conv2d_4_0_texOff(vec2(-1, -1)); + result += mat4(0.07958481, -0.024668349, -0.11435639, 0.0104685025, 0.026317947, -0.013295513, 0.024842342, -0.047194004, -0.03432133, 0.067948125, 0.026185177, -0.019834295, 0.115569755, 0.0048556305, 0.13091524, 0.0963583) * conv2d_4_0_texOff(vec2(0, -1)); + result += mat4(0.017805737, 0.009513357, 0.051666744, 0.01622128, -0.0024905482, 0.057069946, 0.10766987, 0.078912824, 0.055318665, -0.00484229, -0.040401593, 0.052190654, 0.10108639, -0.10095517, 0.02062326, 0.045744695) * conv2d_4_0_texOff(vec2(1, -1)); + result += mat4(-0.08813545, -0.025514407, -0.042131137, -0.024813518, -0.0053815832, 0.055198234, -0.029767111, 0.076695986, 0.032286234, 0.07362966, -0.039759442, -0.025419991, -0.023037996, -0.051124927, 0.10731115, 0.043635212) * conv2d_4_0_texOff(vec2(-1, 0)); + result += mat4(0.07951115, 0.11875102, -0.024288114, -0.007311204, 0.03348762, -0.009113629, 0.04819958, -0.07456986, 0.19380133, 0.065747224, -0.020100793, 0.046563253, 0.07948094, -0.017988551, 0.038944453, 0.032403827) * conv2d_4_0_texOff(vec2(0, 0)); + result += mat4(0.118736476, 0.07471766, -0.06543112, 0.07027956, -0.030996228, -0.11387543, 0.04410744, 0.044112835, 7.724804e-05, -0.012684286, 0.031920988, 0.046931826, 0.043564092, 0.04113181, 0.08795405, 0.017814873) * conv2d_4_0_texOff(vec2(1, 0)); + result += mat4(0.011440582, 0.03539074, -0.13142401, -0.12319542, 0.006626106, -0.017161643, 0.10087039, -0.07861211, 0.11957087, -0.042704917, 0.03181065, -0.031687833, -0.032040715, -0.085672386, -0.03731286, 0.09247869) * conv2d_4_0_texOff(vec2(-1, 1)); + result += mat4(0.0164312, 0.0373564, 0.123123385, -0.032623425, 0.0410248, 0.04371903, 0.05912219, 0.028348828, -0.06729655, 0.016056236, -0.0268782, -0.02514766, 0.1304412, 0.05648671, 0.05335545, 0.07372077) * conv2d_4_0_texOff(vec2(0, 1)); + result += mat4(-0.075717464, 0.0027271686, -0.106865175, -0.031144673, -0.03256212, 0.047226693, -0.0044491813, -0.018646142, 0.06463714, -0.05014742, -0.0065794033, 0.041603923, -0.015953908, -0.05444758, -0.05220504, 0.007150281) * conv2d_4_0_texOff(vec2(1, 1)); + result += mat4(-0.014402861, -0.008701039, -0.13568927, 0.04362019, 0.06880018, 0.10124775, 0.0043096654, 0.009685942, -0.051561944, -0.024363078, 0.03283829, 0.06890914, -0.0790725, -0.02457368, -0.14932442, -0.07309337) * conv2d_4_1_texOff(vec2(-1, -1)); + result += mat4(0.012319044, -0.025792701, -0.056349944, -0.0042862426, 0.01046212, 0.03431693, 0.033980478, 0.060082402, -0.051070355, 0.048967667, 0.102149256, -0.113932416, 0.01594608, -0.011475697, -0.023984727, -0.0456711) * conv2d_4_1_texOff(vec2(0, -1)); + result += mat4(0.103089586, 0.07346306, -0.07938509, 0.044030048, -0.046531655, 0.0752054, -0.0710504, 0.05508294, -0.06351002, -0.049238544, -0.15576373, 0.0018918692, -0.057744842, 0.058987454, 0.0054796026, 0.09843323) * conv2d_4_1_texOff(vec2(1, -1)); + result += mat4(0.0064073876, 0.08101752, 0.07029035, 0.060379025, -0.06222474, 0.037522115, 0.08384388, 0.067077, 0.033286147, -0.080269456, 0.029547308, -0.043301277, 0.022489209, 0.038948968, 0.10910836, -0.04526579) * conv2d_4_1_texOff(vec2(-1, 0)); + result += mat4(-0.007706046, 0.027786229, 0.049294118, 0.007407481, 0.086012214, 0.10006221, 0.021265391, 0.073825724, 0.00507476, 0.07351857, -0.032875787, -0.051367763, 0.1281773, -0.018285904, 0.16730374, 0.12271633) * conv2d_4_1_texOff(vec2(0, 0)); + result += mat4(-0.08513638, -0.020948479, 0.079986826, 0.00026301522, -0.083551794, -0.052718766, 0.02733043, 0.067475416, -0.03693831, 0.033050098, 0.048297532, -0.00872345, 0.03264878, -0.079888575, 0.022609252, 0.044698298) * conv2d_4_1_texOff(vec2(1, 0)); + result += mat4(0.012901876, -0.02997397, 0.06527916, -0.06117767, 0.019725101, -0.01744969, -0.08399128, 0.00251731, -0.0106158955, -0.05041779, -0.07282707, -0.036858417, 0.05598989, -0.033882, 0.09310902, 0.08482341) * conv2d_4_1_texOff(vec2(-1, 1)); + result += mat4(-0.013295772, -0.09142326, -0.08515588, -0.027008414, 0.06818066, 0.018305447, -0.01879774, -0.072526105, -0.037325747, -0.0031093834, 0.016224658, 0.035552002, -0.054624032, 0.06826968, -0.020159135, 0.124618046) * conv2d_4_1_texOff(vec2(0, 1)); + result += mat4(-0.050975405, 0.04693929, 0.054667674, -0.04993492, 0.11716737, -0.06765932, -0.0703769, -0.004049784, 0.058689944, 0.0749334, 0.06183977, 0.0016443627, -0.09711934, -0.024498902, 0.07801721, -0.0072840536) * conv2d_4_1_texOff(vec2(1, 1)); + result += mat4(0.007753343, 0.00065703527, -0.010690872, -0.021379411, -0.02025124, 0.16319138, -0.018383225, -0.030785555, 0.082601316, 0.100151725, 0.06655144, -0.02768608, -0.08505653, 0.13410477, 0.108854614, -0.06872262) * conv2d_4_2_texOff(vec2(-1, -1)); + result += mat4(-0.10274929, 0.048984315, -0.0947098, 0.0019607195, -0.013591961, 0.150165, 0.046892114, 0.018961133, -0.09707353, 0.044741094, -0.07619304, -0.06569948, -0.032428566, 0.062587894, 0.06647556, -0.08895508) * conv2d_4_2_texOff(vec2(0, -1)); + result += mat4(-0.05190945, -0.08253262, 0.013132303, -0.05271648, -0.10465568, 0.090202436, -0.05733723, 0.0078040464, 0.048479967, -0.0009750442, -0.058367528, 0.008752893, -0.04299245, 0.07692714, -0.0113232, 0.04525288) * conv2d_4_2_texOff(vec2(1, -1)); + result += mat4(-0.06148492, -0.019748138, -0.03957885, -0.051673464, -0.019684458, 0.025370996, -0.059317365, 0.12901613, -0.12941347, 0.028286789, 0.14389168, 0.09408047, 0.069710076, -0.07259785, 0.00068321265, 0.04234431) * conv2d_4_2_texOff(vec2(-1, 0)); + result += mat4(0.025969187, 0.029778482, 0.0419731, 0.020057667, -0.06952143, 0.031779405, 0.024958117, 0.09435454, -0.013228793, 0.0601804, 0.03219602, 0.042832598, 0.07212862, 0.04432122, 0.096366316, 0.0718793) * conv2d_4_2_texOff(vec2(0, 0)); + result += mat4(-0.102876745, -0.1731588, 0.06653613, 0.048829123, 0.055233818, -0.10599671, 0.009458724, -0.043380734, 0.02006283, 0.011742841, 0.041225366, 0.036951866, -0.015873516, 0.047520485, -0.029371826, -0.00047485234) * conv2d_4_2_texOff(vec2(1, 0)); + result += mat4(0.108037874, 0.0058612213, 0.049596764, 0.02668276, -0.040526755, -0.03435691, 0.09860258, -0.017279381, 0.056755416, -0.07062187, -0.065036766, 0.072542466, -0.08228658, -0.0024221465, -0.05297623, 0.006136658) * conv2d_4_2_texOff(vec2(-1, 1)); + result += mat4(0.021551678, -0.07188434, -0.008294133, -0.0396408, -0.0050509246, -0.037953056, 0.05487055, -0.020516558, -0.045874868, -0.031024916, 0.10018122, 0.030961905, 0.032721307, 0.03535032, -0.060263585, -0.009736684) * conv2d_4_2_texOff(vec2(0, 1)); + result += mat4(-0.12543346, -0.056815468, -0.19368863, 0.045435216, -0.029726634, -0.020505656, 0.009702816, -0.02707804, -0.081240825, -0.015640814, 0.15657991, -0.05032671, 0.015776996, -0.059215195, 0.13649292, -0.011201503) * conv2d_4_2_texOff(vec2(1, 1)); + result += mat4(-0.07015176, -0.03510309, -0.043964528, 0.06343956, -0.0127700325, -0.043781355, -0.019546604, 0.099147126, -0.09817763, 0.050527547, 0.09704394, -0.04530481, -0.088101685, -0.06023596, -0.007475402, 0.018636748) * conv2d_4_3_texOff(vec2(-1, -1)); + result += mat4(-0.01930668, 0.049810972, 0.11563631, -0.032801893, 0.0053161047, -0.05052775, -0.008305108, 0.00647906, -0.019559585, -0.0021819987, 0.06447671, 0.006524004, -0.13114233, 0.09035474, 0.032354683, 0.05949837) * conv2d_4_3_texOff(vec2(0, -1)); + result += mat4(-0.06376562, 0.043537408, -0.1195698, -0.024439827, 0.01046652, 0.02063456, -0.007182602, -0.026770992, 0.0009697664, 0.012976517, 0.080392264, 0.0052343886, -0.027307937, 0.06251319, 0.079813905, 0.07226137) * conv2d_4_3_texOff(vec2(1, -1)); + result += mat4(0.030412765, 0.0024905088, -0.03054199, 0.08633703, -0.09978938, 0.026921408, -0.0060762814, -0.02328295, -0.14730658, 0.0747344, 0.075406, 0.0029571236, -0.06650033, 0.043958057, 0.015684193, 0.08379092) * conv2d_4_3_texOff(vec2(-1, 0)); + result += mat4(0.0016708921, 0.041865103, 0.17394364, -0.027817287, 0.023196818, -0.022001395, -0.059220776, -0.04497443, -0.053115167, -0.06672245, 0.059360784, 0.0672539, 0.036814895, -0.048553653, 0.17052399, 0.08394399) * conv2d_4_3_texOff(vec2(0, 0)); + result += mat4(0.020468207, 0.003756929, -0.0072037946, 0.10539373, -0.08757847, 0.063182995, -0.00081041513, 0.06153583, 0.0045582587, 0.10273763, 0.08434555, -0.054307476, 0.016485708, 0.016764384, -0.037932795, 0.06085817) * conv2d_4_3_texOff(vec2(1, 0)); + result += mat4(0.06354764, -0.061710007, -0.0027559686, 0.02094964, -0.0958465, 0.0917449, 0.056842398, -0.0973191, 0.019454181, -0.03518369, 0.17499109, 0.014494405, -0.0011413329, 0.05811458, -0.07719406, -0.054944567) * conv2d_4_3_texOff(vec2(-1, 1)); + result += mat4(-0.053842857, -0.012418873, -0.29022312, -0.012654878, 0.01658611, 0.0411714, -0.08832631, -0.097342074, -0.018752137, 0.012100996, 0.14300728, 0.01953606, 0.1513623, 0.0028747467, -0.04062272, -0.021905698) * conv2d_4_3_texOff(vec2(0, 1)); + result += mat4(-0.04438801, -0.0037665165, -0.00879815, -0.015106724, -0.031080434, -0.028873343, 0.028426286, 0.012726514, -0.121392466, 0.04120006, 0.007428881, 0.007245145, 0.09768828, -0.0572828, -0.006261016, 0.03136443) * conv2d_4_3_texOff(vec2(1, 1)); + result += mat4(0.11092388, 0.030687472, -0.0025216835, 0.00011393092, -0.13083208, 0.33084056, -0.36987245, -0.07165956, 0.0020469485, -0.014525444, -0.07811935, 0.08392322, 0.056748528, -0.06667951, -0.08155125, 0.015312198) * conv2d_4_4_texOff(vec2(-1, -1)); + result += mat4(0.049926292, -0.054071713, -0.02039796, 0.11453863, -0.017833551, -0.10181513, -0.042959243, -0.04550867, 0.18519457, 0.09661973, -0.0726543, 0.081899166, 0.09962155, 0.05049005, -0.1467715, -0.014141606) * conv2d_4_4_texOff(vec2(0, -1)); + result += mat4(0.08548888, -0.046010047, 0.009047964, -0.036730655, 0.0372795, -0.06295281, -0.06837248, 0.016531058, 0.014579257, 0.02688902, 0.008133402, -0.09161907, 0.006608687, -0.051780023, 0.100585096, -0.05019993) * conv2d_4_4_texOff(vec2(1, -1)); + result += mat4(0.023303181, 0.05805109, -0.014382451, 0.016395314, 0.12938218, 0.028624464, 0.05620219, -0.2899141, 0.0642175, -0.005188193, 0.096612245, 0.10392066, -0.020856041, 0.020019107, -0.095452525, -0.09017581) * conv2d_4_4_texOff(vec2(-1, 0)); + result += mat4(-0.0624572, -0.04360607, 0.041564282, -0.05431758, -0.112544104, -0.117576495, 0.08783002, 0.1517685, 0.072197415, 0.057642657, -0.040740985, 0.056693785, 0.016848985, -0.030341353, -0.027927894, -0.011845796) * conv2d_4_4_texOff(vec2(0, 0)); + result += mat4(-0.06927911, 0.05322784, -0.055215985, -0.027547551, -0.10002539, -0.059214063, 0.0026999603, 0.027733104, -0.04572879, -0.040529173, -0.16503851, -0.06419761, 0.08241352, -0.0930357, 0.0709961, -0.037101373) * conv2d_4_4_texOff(vec2(1, 0)); + result += mat4(0.050254874, 0.099994235, 0.1636646, -0.056158666, 0.0120549565, -0.2606392, -0.022930976, -0.18878406, -0.068137266, 0.085801065, -0.006325796, 0.0033142418, 0.04296383, 0.0007579084, -0.04554287, 0.10589507) * conv2d_4_4_texOff(vec2(-1, 1)); + result += mat4(0.02613469, -0.02326584, -0.01172839, 0.12739861, 0.07592562, -0.1615939, 0.031955328, -0.031232651, -0.018222053, 0.06862852, -0.004851981, 0.07581732, -0.016174108, 0.024217864, 0.084747605, -0.03383143) * conv2d_4_4_texOff(vec2(0, 1)); + result += mat4(-0.066033825, 0.015255408, 0.07029435, 0.04836858, 0.03804679, 0.027285842, 0.056768525, 0.052567467, -0.15350316, -0.011982959, 0.04265242, 0.05265149, -0.027315542, 0.014218869, 0.101087816, -0.07121423) * conv2d_4_4_texOff(vec2(1, 1)); + result += mat4(0.053334795, 0.12539877, -0.031446673, 0.080801934, 0.085624784, 0.017584778, -0.0919694, 0.07258318, 0.14761683, -0.02016922, 0.042756073, -0.0045083202, 0.044776153, 0.0633869, -0.1183542, -0.08985082) * conv2d_4_5_texOff(vec2(-1, -1)); + result += mat4(0.01074587, -0.019060094, -0.032144684, 0.037374135, -0.09614755, 0.0817037, -0.03162057, -0.037294883, -0.053340197, -0.004758764, -0.07658727, -0.053413298, -0.02018514, -0.051059794, -0.016029455, -0.003014603) * conv2d_4_5_texOff(vec2(0, -1)); + result += mat4(0.071541, -0.07459526, -0.016592743, -0.05694229, 0.00019360337, -0.03187446, -0.06410317, 0.008062264, 0.039167315, 0.035567302, -0.022360908, 0.021615675, 0.06416983, -0.053082414, -0.09544388, 0.025702164) * conv2d_4_5_texOff(vec2(1, -1)); + result += mat4(-0.022279806, 0.06618617, 0.047953006, 0.00064447685, 0.008311917, -0.07908905, 0.020494506, 0.01907643, -0.05933852, -0.064527325, 0.004703742, -0.065763466, -0.12543473, -0.055400543, 0.12137765, -0.07573331) * conv2d_4_5_texOff(vec2(-1, 0)); + result += mat4(0.06831774, -0.03153999, -0.041699957, 0.043329764, 0.14080508, 0.032131143, 0.10435569, 0.055297166, 0.18509169, -0.072444625, 0.03345621, 0.076893106, 0.024390608, 0.07794804, -0.015277222, 0.038197283) * conv2d_4_5_texOff(vec2(0, 0)); + result += mat4(-0.046563804, 0.030545713, 0.029859193, 0.06988408, -0.05489796, 0.06826449, 0.053174153, -0.0059084026, -0.11525266, -0.027716277, 0.113017924, 0.068945274, 0.1702862, 0.008618672, -0.016891493, 0.05308612) * conv2d_4_5_texOff(vec2(1, 0)); + result += mat4(0.026010275, -0.04591583, 0.10995382, 0.07374681, -0.005359924, 0.039285757, -0.044620894, 0.0065805004, -0.10359441, 0.038985718, 0.0731294, -0.0406449, 0.05450718, 0.024184767, 0.05379468, 0.07004262) * conv2d_4_5_texOff(vec2(-1, 1)); + result += mat4(0.028805664, -0.026263826, -0.07539353, -0.03275098, 0.09445047, 0.017196337, -0.09528307, -0.0167128, -0.19505626, -0.02711592, -0.07238908, -0.030172914, -0.033260766, -0.08458194, 0.0050268024, -0.08606237) * conv2d_4_5_texOff(vec2(0, 1)); + result += mat4(0.0527066, -0.022109086, -0.045959502, 0.026069522, 0.045802973, 0.17678331, -0.07319882, -0.00059274345, -0.025018623, -0.030851405, 0.045408938, -0.029669913, 0.08750673, -0.0006712045, 0.0016092157, 0.034081273) * conv2d_4_5_texOff(vec2(1, 1)); + result += mat4(0.04151643, 0.058652878, 0.030573355, -0.025278695, -0.15799631, -0.023736771, -0.01292628, -0.010195479, -0.032770544, -0.026486166, -0.010211519, 0.017633887, -0.008832185, -0.023432197, 0.11240776, 0.07497471) * conv2d_4_6_texOff(vec2(-1, -1)); + result += mat4(-0.119065925, 0.057818845, 0.047967438, 0.0679879, -0.036222734, -0.03596969, -0.064198665, -0.049234312, -0.079273865, 0.042634975, -0.07900292, -0.046060406, -0.012563002, -0.035877384, 0.024684798, 0.065801136) * conv2d_4_6_texOff(vec2(0, -1)); + result += mat4(-0.013716025, -0.046273567, 0.05454717, -0.0066332268, -0.06352153, 0.07384359, 0.063979626, -0.042440996, 0.036162898, -0.044879705, -0.07203001, -0.04237668, -0.10057416, 0.028313387, 0.12602645, 0.022779407) * conv2d_4_6_texOff(vec2(1, -1)); + result += mat4(-0.057604335, 0.04510566, 0.035411168, 0.08153045, -0.021125328, -0.012931759, -0.06148545, 0.0643993, -0.07851416, 0.0624778, -0.07441953, 0.058916003, 0.102506526, 0.063732214, -0.016015792, 0.10577576) * conv2d_4_6_texOff(vec2(-1, 0)); + result += mat4(-0.041045945, 0.018965071, 0.038929287, 0.09202626, -0.061693456, 0.10463301, -0.026579149, 0.06469876, -0.10932353, -0.08196256, 0.1139375, 0.039097928, 0.03322559, 0.06394933, -0.003777046, 0.06414087) * conv2d_4_6_texOff(vec2(0, 0)); + result += mat4(-0.08373075, -0.009742751, -0.087862976, -0.071887806, 0.020090798, -0.06334507, -0.037911184, 0.08988327, 0.016569808, 0.0368165, -0.012309093, 0.038598012, -0.014364159, -0.034353472, 0.023268726, 0.01683538) * conv2d_4_6_texOff(vec2(1, 0)); + result += mat4(0.039903924, -0.082714155, 0.03121376, 0.07840486, -0.0022914787, 0.057187166, -0.123530276, -0.03206679, -0.013528226, 0.06654601, 0.04288165, -0.07603719, 0.12341525, -0.014339065, -0.11904591, 0.07730449) * conv2d_4_6_texOff(vec2(-1, 1)); + result += mat4(0.0019870196, 0.026217094, 0.020562384, 0.045966443, -0.15828438, -0.013037274, 0.05006155, -0.032622553, 0.024325175, 0.02413631, -0.1660916, 0.0053578042, 0.022966726, -0.002320646, -0.02297697, -0.07978915) * conv2d_4_6_texOff(vec2(0, 1)); + result += mat4(0.08327273, -0.09480746, 0.07788147, 0.011058919, -0.06828601, 0.06321058, -0.05622566, -0.025430666, 0.055735745, 0.075442195, -0.04450007, -0.076296136, 0.124788605, -0.07611515, 0.021319138, -0.076115035) * conv2d_4_6_texOff(vec2(1, 1)); + result += mat4(0.0008049794, -0.07036849, 0.07529526, 0.010628053, 0.14685307, 0.013269007, -0.0050777295, 0.076098755, 0.119944714, 0.06852327, -0.061064843, 0.018537557, 0.046279043, -0.041587595, -0.066113524, -0.014499317) * conv2d_4_7_texOff(vec2(-1, -1)); + result += mat4(0.056823332, -0.098847955, -0.14716429, -0.007734367, 0.024103262, 0.0011403817, 0.035371028, -0.037886094, -0.016439497, 0.075764425, 0.10145809, 0.09428311, -0.04909143, -0.06144114, 0.049818728, -0.08509077) * conv2d_4_7_texOff(vec2(0, -1)); + result += mat4(0.076122, 0.065811746, 0.0050751506, -0.085049294, 0.018289493, 0.049851168, -0.11702433, 0.053260617, 0.075591534, 0.025404587, -0.04301199, -0.028843474, 0.031004962, 0.050720736, -0.097381085, 0.025634453) * conv2d_4_7_texOff(vec2(1, -1)); + result += mat4(-0.022931518, 0.08285007, 0.06451306, 0.059067618, -0.123449504, -0.036387432, 0.053533766, 0.027387524, -0.047908846, -0.044387992, -0.045430817, 0.056758776, 0.09140255, -0.06755245, -0.050027132, 0.05546279) * conv2d_4_7_texOff(vec2(-1, 0)); + result += mat4(-0.039138664, 0.07875287, 0.027342793, 0.018269237, -0.028000182, -0.09444066, 0.01283063, 0.027388897, 0.020714886, -0.11064489, 0.12930675, 0.04760198, 0.007000449, -0.124130696, 0.06392878, -0.009571566) * conv2d_4_7_texOff(vec2(0, 0)); + result += mat4(-0.04884932, 0.031565405, 0.02258524, 0.039457366, -0.029575286, -0.06631955, -0.036614828, -0.019468676, -0.06530678, -0.058188614, 0.050736517, 0.021937635, 0.05916833, -0.08148601, -0.12167799, -0.04819995) * conv2d_4_7_texOff(vec2(1, 0)); + result += mat4(-0.0038426602, -0.06850665, -0.08899406, 0.06699124, -0.16257523, -0.049419936, 0.051817678, -0.029811293, -0.16122158, 0.04241034, 0.026693529, -0.068936676, 0.00062910054, 0.06381026, 0.03775243, 0.095048204) * conv2d_4_7_texOff(vec2(-1, 1)); + result += mat4(0.114128545, 0.08971201, 0.11484016, 0.061043, -0.038567886, 0.04451493, -0.060092278, -0.05064437, 0.02704619, 0.0090989405, 0.106074624, -0.0117297955, -0.014801792, 0.027876044, -0.0048597245, 0.07077345) * conv2d_4_7_texOff(vec2(0, 1)); + result += mat4(-0.091560714, -0.06833524, 0.11300207, -0.040428422, -0.05921099, -0.033685703, 0.08646066, -0.03205203, 0.011524498, -0.018763993, 0.017571291, -0.021773798, 0.051877115, -0.050145607, -0.06603591, 0.035110038) * conv2d_4_7_texOff(vec2(1, 1)); + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-5) +//!HOOK LUMA +//!BIND conv2d_4_0 +//!BIND conv2d_4_1 +//!BIND conv2d_4_2 +//!BIND conv2d_4_3 +//!BIND conv2d_4_4 +//!BIND conv2d_4_5 +//!BIND conv2d_4_6 +//!BIND conv2d_4_7 +//!SAVE conv2d_5_4 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0066810246, 0.0018481286, -0.00033951848, 0.0037572116); + result += mat4(-0.1454234, 0.118577346, 0.084146135, 0.066284634, -0.05101599, -0.08149609, 0.031527247, -0.07957793, 0.12625901, 0.066853456, -0.0029544479, 0.073815085, 0.08522063, 0.09901475, -0.037469815, 0.078106254) * conv2d_4_0_texOff(vec2(-1, -1)); + result += mat4(-0.01289617, 0.06096581, -0.15403537, -0.02093399, 0.002858162, 0.0024964819, 0.008340329, 0.012466045, -0.2004266, -0.0730933, 0.03813624, 0.0035200994, 0.015131022, -0.0044399016, 0.061771918, 0.07339305) * conv2d_4_0_texOff(vec2(0, -1)); + result += mat4(-0.04218197, 0.00020500412, -0.1466217, 0.00788484, 0.09071201, 0.06298282, -0.04777026, -0.026916701, 0.08549407, 0.037023045, -0.044494413, 0.016929444, -0.19886985, 0.1034652, 0.04188245, 0.12797941) * conv2d_4_0_texOff(vec2(1, -1)); + result += mat4(0.10237709, -0.054812647, -0.074669264, 0.0798559, -0.0568912, 0.01644331, 0.005844843, 0.080499396, -0.038965426, -0.05859596, 0.053307746, 0.05285595, 0.12713034, 0.08930979, -0.054491132, 0.019827506) * conv2d_4_0_texOff(vec2(-1, 0)); + result += mat4(-0.043532547, 0.051361617, 0.0933233, 0.116320446, -0.16903198, 0.008767033, -0.030514091, -0.066253945, -0.046870757, 0.07323487, -0.005941338, -0.04186942, 0.04575262, 0.100002594, 0.07766617, 0.07395104) * conv2d_4_0_texOff(vec2(0, 0)); + result += mat4(0.0450105, 0.04202919, 0.081205994, 0.053258803, 0.093528576, -0.04744671, -0.003414659, -0.030952234, 0.09073237, -0.08408553, -0.1174407, 0.034149628, -0.08730266, 0.1325132, -0.04100704, 0.11679973) * conv2d_4_0_texOff(vec2(1, 0)); + result += mat4(0.100412324, 0.11315079, 0.036506858, 0.05694918, 0.083782844, 0.021082915, -0.06631393, 0.04188376, -0.033586428, -0.030874563, 0.11311604, 0.031918373, 0.12500961, 0.08690077, 0.031937458, 0.033336878) * conv2d_4_0_texOff(vec2(-1, 1)); + result += mat4(0.014534382, 0.08735154, -0.026447445, -0.084672004, -0.20705302, 0.1242548, -0.0389478, -0.0070381938, -0.0588029, -0.13053258, -0.02075563, 0.021001264, -0.05170915, 0.084028296, -0.07517903, 0.065952346) * conv2d_4_0_texOff(vec2(0, 1)); + result += mat4(-0.0012252101, -0.07451598, -0.033966653, 0.02390212, 0.029329054, -0.0045831637, 0.07054244, -0.025765272, 0.1430734, 0.07365544, -0.09561248, 0.08303349, -0.22779103, 0.061753545, 0.14546189, 0.0039736764) * conv2d_4_0_texOff(vec2(1, 1)); + result += mat4(0.026149828, -0.044212833, -0.012675749, 0.07027747, -0.051998332, -0.11558332, -0.09068986, -0.07972171, -0.024001436, 0.045933094, 0.09264502, -0.009699684, 0.04500048, -0.05090335, -0.0791226, 0.041675277) * conv2d_4_1_texOff(vec2(-1, -1)); + result += mat4(0.055448078, -0.0060178945, 0.02160403, -0.04589085, -0.051498875, -0.010691182, -0.0013664045, 0.03066512, -0.07825448, -0.046468273, 0.03441964, -0.06143529, -0.05672327, 0.10859777, 0.024001617, 0.12236595) * conv2d_4_1_texOff(vec2(0, -1)); + result += mat4(0.04954981, -0.04627807, -0.014824093, -0.05499597, -0.051462006, 0.114274025, 0.025271203, 0.063367695, 0.02247477, 0.011910081, 0.025904654, -0.059994083, 0.060370713, -0.009014798, -0.01096902, 0.018991174) * conv2d_4_1_texOff(vec2(1, -1)); + result += mat4(-0.06212963, -0.037682705, 0.093602516, 0.079849616, -0.0064481767, -0.03757647, 0.030108245, -0.08893344, -0.08896451, 0.0723719, -0.035507396, 0.06133571, -0.042825088, 0.09254827, -0.039762318, 0.0012638742) * conv2d_4_1_texOff(vec2(-1, 0)); + result += mat4(0.05904563, -0.08937669, -0.08826863, -0.020859515, 0.09721846, -0.07401241, 0.008023233, -0.0637347, -0.059410468, -0.03800932, 0.027755333, 0.047766387, 0.066135965, -0.045825053, -0.06414474, -0.05540975) * conv2d_4_1_texOff(vec2(0, 0)); + result += mat4(0.051311087, -0.07329846, -0.13850693, -0.0489808, -0.03044198, 0.031429823, -0.092998624, -0.011503082, -0.078357786, -0.0884399, 0.08209499, -0.0995643, 0.059562206, 0.06387708, 0.081705794, -0.028933045) * conv2d_4_1_texOff(vec2(1, 0)); + result += mat4(0.0004699991, 0.021435106, 0.07735045, -0.014011949, -0.056538478, 0.02904583, -0.021282595, -0.031618547, -0.059026733, 0.027998162, 0.063502684, 0.030422583, 0.075260825, -0.10898081, 0.049877573, 0.009992306) * conv2d_4_1_texOff(vec2(-1, 1)); + result += mat4(0.05871868, 0.011773306, 0.022084963, 0.08591861, -0.070329554, -0.00072259957, 0.038799036, -0.04182448, -0.041663475, -0.08321671, 0.104287185, -0.021555195, 0.04244171, -0.03758001, 0.00066069525, -0.12156332) * conv2d_4_1_texOff(vec2(0, 1)); + result += mat4(0.076814964, 0.09758016, 0.03138593, -0.030252011, -0.05913354, 0.104816064, 0.06704845, 0.040433362, -0.055283453, 0.056353707, -0.11159921, 0.037754025, -0.004427586, -0.0004914108, 0.13628483, -0.06341698) * conv2d_4_1_texOff(vec2(1, 1)); + result += mat4(0.024136063, 0.07607527, -0.032061264, 0.039754894, -0.010457682, 0.0738129, 0.1085042, -0.02759308, -0.087814994, -0.10755414, 0.021634692, -0.08233453, 0.1388553, -0.07608767, 0.03985297, -0.03455183) * conv2d_4_2_texOff(vec2(-1, -1)); + result += mat4(-0.05793486, -0.0090506645, -0.023590881, 0.003340485, -0.027419362, 0.06919082, 0.0658351, 0.023126066, 0.006824024, 0.08351131, -0.024374982, 0.03228356, 0.08016631, -0.08992874, 0.06411562, -0.13021068) * conv2d_4_2_texOff(vec2(0, -1)); + result += mat4(0.061547063, -0.021399893, -0.036271673, -0.067708366, 0.078203745, -0.16349828, 0.06368653, 0.020010969, 0.043094426, 0.03070092, -0.09291343, 0.085171215, 0.12276945, -0.12985668, 0.017018663, 0.03567269) * conv2d_4_2_texOff(vec2(1, -1)); + result += mat4(-0.067393675, -0.025191845, -0.04170705, -0.03343983, 0.043370638, -0.12779607, 0.10574491, 0.0069314106, -0.1520044, -0.046314694, -0.027748331, 0.059878204, 0.017876094, 0.039548434, 0.06324159, 0.09951334) * conv2d_4_2_texOff(vec2(-1, 0)); + result += mat4(-0.05495965, 0.026664728, 0.025717601, 0.004542937, 0.15527771, -0.18659808, -0.008367487, 0.119065136, 0.034977805, -0.117919065, -0.047038946, -0.06551022, 0.15309483, -0.068232216, 0.07953068, -0.01323979) * conv2d_4_2_texOff(vec2(0, 0)); + result += mat4(0.0956731, -0.08788485, 0.011524555, -0.04699746, -0.037722234, -0.092778265, -0.05981695, 0.07778271, -0.035871822, 0.020731458, -0.004162883, 0.029628864, -0.077507265, -0.10310359, 0.021788452, 0.05970088) * conv2d_4_2_texOff(vec2(1, 0)); + result += mat4(-0.07305806, -0.037522916, -0.019791115, 0.028759956, -0.07264272, -0.0007600045, 0.042086277, 0.106680356, -0.048898257, -0.023220344, 0.07156301, 0.071274914, -0.060965247, -0.008249694, -0.036432154, 0.034249965) * conv2d_4_2_texOff(vec2(-1, 1)); + result += mat4(-0.07765611, 0.0015133177, 0.05081859, 0.015981873, 0.049812507, -0.02736955, 0.13716494, 0.08703195, 0.05770408, -0.11613698, 0.023872001, 0.054330304, -0.0018195465, -0.063827984, 0.056237247, -0.012760243) * conv2d_4_2_texOff(vec2(0, 1)); + result += mat4(0.086154416, 0.09053662, 0.04702018, 0.036486305, 0.015328876, 0.11403385, -0.0038906918, 0.006706476, 0.04416702, 0.08125307, 0.16605811, 0.070107825, -0.15009555, -0.010306457, -0.07571526, 0.105302475) * conv2d_4_2_texOff(vec2(1, 1)); + result += mat4(0.16585678, 0.006997362, -0.1668906, 0.06719737, 0.03096391, 0.018266402, -0.048931785, 0.06787526, -0.0014698552, -0.026484417, -0.08039259, -0.03251278, 0.12423963, 0.04769175, -0.05937632, 0.05894416) * conv2d_4_3_texOff(vec2(-1, -1)); + result += mat4(0.06243448, -0.031221254, 0.14768405, 0.06138782, 0.063099526, 0.088196695, 0.064215824, 0.010639811, 0.09197867, -0.058328636, -0.019648153, 0.016167877, -0.08816055, 0.101929225, -0.018412963, -0.04818977) * conv2d_4_3_texOff(vec2(0, -1)); + result += mat4(0.15056632, -0.005338355, 0.019739006, 0.06011089, -0.08665764, 0.1311835, 0.083491445, -0.030110419, -0.044864528, -0.014645265, 0.027940549, -0.06493915, 0.06801923, -0.030797103, -0.05010062, 0.040488742) * conv2d_4_3_texOff(vec2(1, -1)); + result += mat4(-0.09481882, 0.014731595, -0.017823419, -0.02143837, 0.13080212, -0.050590463, -0.012127482, 0.0877929, -0.09974944, -0.0027693347, -0.027631015, -0.03292151, 0.12239431, -0.022260481, -0.10427207, -0.06088693) * conv2d_4_3_texOff(vec2(-1, 0)); + result += mat4(-0.029735504, -0.029024538, 0.12550315, -0.084285304, 0.009094124, -0.14734475, 0.058959715, 0.030490452, 0.18130562, -0.08063439, 0.01925063, 0.023829538, 0.035302434, -0.022123355, 0.118306, -0.022762377) * conv2d_4_3_texOff(vec2(0, 0)); + result += mat4(-0.034619235, -0.03167371, -0.054103382, 0.058093533, 0.041657425, -0.013603392, 0.030933315, 0.06974444, 0.091755524, -0.034154892, 0.021488694, 0.018578546, -0.011004275, -0.008613081, 0.028657312, -0.0047700997) * conv2d_4_3_texOff(vec2(1, 0)); + result += mat4(0.0120926, 0.023917872, 0.0262775, -0.04173089, 0.037732355, -0.091555975, 0.049871568, -0.08338451, -0.09875712, -0.19642112, 0.03146158, -0.03953602, 0.098439224, 0.020397203, -0.053868234, -0.016795594) * conv2d_4_3_texOff(vec2(-1, 1)); + result += mat4(0.0011602946, -0.12256907, 0.0070945174, -0.073831305, 0.012441584, 0.025959643, 0.081596054, 0.016617317, -0.031246653, -0.11973777, 0.07767776, 0.0072939587, -0.06466798, -0.048101872, 0.040551364, -0.022208422) * conv2d_4_3_texOff(vec2(0, 1)); + result += mat4(0.00944659, 0.10397561, -0.025655437, 0.00960561, -0.0712601, 0.06387639, 0.065150104, -0.0055779214, -0.041771233, -0.103746615, -0.0939936, -0.14549525, -0.05317687, 0.07165311, 0.10812223, -0.117206655) * conv2d_4_3_texOff(vec2(1, 1)); + result += mat4(-0.07314815, -0.030602608, 0.0753387, -0.07211454, 0.02311026, -0.062393304, -0.09600432, -0.21508797, 0.025208328, 0.075611934, -0.05395224, -0.02079858, 0.025772288, 0.072143905, 0.074937545, -0.027703132) * conv2d_4_4_texOff(vec2(-1, -1)); + result += mat4(-0.10124499, 0.0038723678, 0.022313809, -0.052751344, -0.048767433, -0.1417307, -0.09222222, 0.06757776, -0.009814286, 0.07225264, -0.0018398877, 0.07246523, -0.020459592, 0.009849785, 0.010076836, 0.024380097) * conv2d_4_4_texOff(vec2(0, -1)); + result += mat4(-0.097515896, 0.004791476, -0.02347648, 0.046875156, 0.10574328, 0.2289319, 0.09889283, 0.018576175, -0.010059289, -0.054167964, 0.06732403, -0.014119568, 0.053408366, -0.063025914, -0.08673664, -0.015965277) * conv2d_4_4_texOff(vec2(1, -1)); + result += mat4(-0.056150213, 0.011739436, -0.09352077, 0.0735997, -0.45809487, -0.37239575, -0.091849305, 0.0015338967, 0.04459794, -0.05312675, -0.038773175, 0.02441273, -0.040464673, -0.05109337, -0.00178304, 0.058900837) * conv2d_4_4_texOff(vec2(-1, 0)); + result += mat4(-0.0037235778, -0.07493789, -0.1353163, -0.07278743, -0.051337015, 0.06607256, -0.23344202, -0.0075870603, 0.10837938, -0.0046916166, -0.032854363, 0.08871867, 0.0005172896, 0.07798124, -0.121774055, -0.010684336) * conv2d_4_4_texOff(vec2(0, 0)); + result += mat4(0.012332442, -0.118479185, 0.017035518, -0.025442975, 0.14196905, 0.1851311, -0.01929749, 0.093844734, 0.0018614689, 0.04643459, -0.033437207, 0.015481818, -0.029304769, 0.059706766, 0.03626197, 0.031473402) * conv2d_4_4_texOff(vec2(1, 0)); + result += mat4(-0.025883036, -0.14627126, 0.06325601, -0.09912748, 0.45821056, -0.08591715, 0.2763777, 0.15779254, -0.021487791, -0.0037765363, -0.04048565, 0.0181231, -0.049982496, -0.0064925174, 0.1021058, 0.08960008) * conv2d_4_4_texOff(vec2(-1, 1)); + result += mat4(-0.12113948, 0.012924315, -0.06846636, 0.03265741, 0.1280957, -0.13998793, 0.05374097, -0.022573112, -0.0036039376, 0.0027757501, -0.09632231, 0.03360819, 0.015468094, 0.042097066, -0.13614953, 0.006829672) * conv2d_4_4_texOff(vec2(0, 1)); + result += mat4(-0.08023688, -0.095049046, 0.009876882, 0.06834242, 0.0655961, 0.13657208, -0.04211134, 0.041993123, 0.08273559, -0.012319871, 0.04909472, -0.056758363, -0.04582418, 0.033040587, -0.08918021, -0.06420592) * conv2d_4_4_texOff(vec2(1, 1)); + result += mat4(0.047567245, -0.1074993, 0.0016674306, 0.061469264, 0.0037429365, 0.088540815, 0.015093785, 0.104382806, 0.0062642917, 0.019671166, 0.0039836094, -0.016627315, -0.057615653, 0.018678578, -0.003822078, 0.046533298) * conv2d_4_5_texOff(vec2(-1, -1)); + result += mat4(0.019267526, -0.008477927, 0.13440226, -0.04550798, 0.021552453, 0.048957575, 0.074986726, 0.052256156, 0.011582045, 0.0066711186, 0.021575436, 0.0019114021, -0.050752725, -0.011512204, 0.051235355, -0.017074872) * conv2d_4_5_texOff(vec2(0, -1)); + result += mat4(-0.032231793, 0.010694131, 0.021449527, -0.03739876, 0.0053523355, 0.07569886, 0.055539716, 0.022212598, 0.13948251, 0.019537766, -0.027708475, -0.04750084, 0.020528456, 0.12498933, -0.12636782, 0.09657737) * conv2d_4_5_texOff(vec2(1, -1)); + result += mat4(-0.017961543, -0.099722564, 0.046295077, 0.0671486, 0.07131119, -0.030150888, -0.18348105, 0.09365986, 0.017810026, -0.06386613, 0.017309401, 0.03585449, 0.02893193, -0.004493634, -0.13282871, -0.050458916) * conv2d_4_5_texOff(vec2(-1, 0)); + result += mat4(0.0044755214, 0.0674809, -0.0125082275, 0.042899255, -0.055455104, 0.16787113, 0.021250261, 0.09208303, 0.06934059, -0.014431691, -0.074047655, 0.068412766, -0.0072685676, 0.03794979, -0.026817178, 0.093638554) * conv2d_4_5_texOff(vec2(0, 0)); + result += mat4(-0.092658766, -0.006044878, -0.035185274, -0.03990764, 0.09308498, 0.011963026, 0.0002529632, 0.11368626, 0.066009365, -0.04096019, -0.046809055, -0.06261863, -0.069444954, 0.03111818, -0.060230218, -0.040573485) * conv2d_4_5_texOff(vec2(1, 0)); + result += mat4(-0.0012155459, -0.03412794, 0.07880335, 0.031292517, 0.17758316, -0.04938767, -0.0061092633, -0.11288966, 0.10600489, 0.011883149, 0.11158336, -0.054690927, -0.009592237, 0.092298396, 0.012591039, -0.011041583) * conv2d_4_5_texOff(vec2(-1, 1)); + result += mat4(-0.06829021, 0.019724954, 0.04387375, -0.043795098, 0.06742926, 0.08836176, 0.110432565, -0.076149754, 0.069969945, -0.03781257, -0.013028746, -0.03995661, -0.048590347, 0.0149921635, -0.019191016, -0.0794191) * conv2d_4_5_texOff(vec2(0, 1)); + result += mat4(0.020698624, 0.052340657, -0.035596106, 0.06789083, 0.07760871, -0.07223464, 0.08478535, -0.07300073, 0.08151059, -0.10764991, -0.024021786, -0.07015038, -0.049776234, 0.019536976, 0.02043777, 0.012433491) * conv2d_4_5_texOff(vec2(1, 1)); + result += mat4(-0.05534939, -0.16586958, -0.14105555, -0.038338445, -0.0013677037, 0.082903415, 0.015823673, -0.035727546, 0.08346175, 0.03030556, -0.010819836, 0.07886966, -0.05206609, 0.07558807, -0.06068811, -0.030996388) * conv2d_4_6_texOff(vec2(-1, -1)); + result += mat4(0.0649426, 0.077273555, -0.017755454, -0.030050296, -0.046959415, 0.019476846, -0.05001552, -0.050326947, 0.0226485, -0.04249172, 0.036188487, 0.012620431, -0.021555511, -0.02542055, -0.10351646, 0.051176738) * conv2d_4_6_texOff(vec2(0, -1)); + result += mat4(-0.06882997, -0.066215724, -0.073097624, -0.041493654, -0.011059722, -0.060888346, -0.02588293, -0.10664102, -0.024590584, -0.015145297, 0.08451634, -0.032758024, -0.019981166, 0.07461115, -0.058729645, 0.06392882) * conv2d_4_6_texOff(vec2(1, -1)); + result += mat4(0.061676007, 0.008685339, 0.047308847, -0.058646258, 0.05074658, -0.014274243, 0.0673019, -0.018358633, 0.03818756, -0.029297026, 0.06002997, 0.044382412, -0.19935507, 0.08183828, -0.013328918, 0.07896204) * conv2d_4_6_texOff(vec2(-1, 0)); + result += mat4(-0.105388194, 0.021633456, -0.014067796, 0.009244353, -0.09359239, 0.009304678, 0.043739196, 0.064076915, -0.11708416, 0.0462472, -0.090995826, -0.02400182, 0.03717528, 0.05020826, -0.032460086, 0.047955308) * conv2d_4_6_texOff(vec2(0, 0)); + result += mat4(-0.0010280552, -0.051729903, -0.022593834, -0.06508335, 0.009685854, -0.110936016, -0.17793489, 0.064129144, -0.070095286, -0.10186136, -0.04580074, 0.055767242, -0.028062927, 0.034761183, 0.14351593, -0.07553191) * conv2d_4_6_texOff(vec2(1, 0)); + result += mat4(-0.047071796, 0.027733685, -0.0013516316, -0.059180625, -0.015817903, 0.02569991, 0.023934582, 0.026201267, -0.032167286, -0.03726116, -0.017700013, -0.025227692, -0.0036948356, 0.01823647, 0.06731656, -0.045873992) * conv2d_4_6_texOff(vec2(-1, 1)); + result += mat4(0.093809985, 0.047506183, 0.0114046475, 0.0025597306, -0.1334071, 0.11983957, -0.002845128, 0.09950922, -7.8523175e-05, 0.009346356, 0.017692797, -0.03645581, 0.037867423, 0.06393451, 0.0550905, 0.01729647) * conv2d_4_6_texOff(vec2(0, 1)); + result += mat4(-0.0534811, 0.013156531, -0.053110227, 0.033579573, 0.08972143, -0.028091667, -0.030649804, 0.048850354, 0.003962418, 0.03293476, 0.08222969, 0.07896115, -0.11662106, 0.08428309, 0.15771914, 0.022382049) * conv2d_4_6_texOff(vec2(1, 1)); + result += mat4(0.09141887, 0.04750336, 0.032978144, -0.04192944, -0.036419097, 0.006506453, 0.019579696, 0.0049727843, -0.007138511, -0.023181388, 0.08306142, 0.08061582, -0.043635096, 0.05212665, -0.005764586, 0.028012984) * conv2d_4_7_texOff(vec2(-1, -1)); + result += mat4(-0.037996557, -0.006601166, 0.047187693, -0.06311132, 0.05470213, 0.08672038, 0.026914328, 0.00061445194, -0.090269215, -0.0056970455, 0.072329365, -0.0047329427, 0.032639872, 0.027906643, -0.00464545, 0.066900544) * conv2d_4_7_texOff(vec2(0, -1)); + result += mat4(0.01233397, 0.07222661, 0.0035222492, -0.032776203, 0.07378816, 0.051363077, 0.028668215, 0.0818917, 0.03229149, 0.05336913, 0.022694286, -0.020728387, -0.11795673, -0.022303509, 0.027222073, -0.1325761) * conv2d_4_7_texOff(vec2(1, -1)); + result += mat4(-0.003809092, 0.12103966, 0.019501863, 0.011481161, -0.032050677, 0.10492036, 0.04719302, 0.053977445, 0.011954212, 0.007759828, -0.060119923, -0.020732282, 0.07230989, 0.030046526, 0.054075442, -0.04449091) * conv2d_4_7_texOff(vec2(-1, 0)); + result += mat4(-0.028871961, -0.025497233, 0.035111364, 0.06600613, 0.064106286, -0.084959045, -0.0751081, 0.008251171, 0.017813053, -0.07015104, 0.02790539, 0.05356124, 0.060199704, 0.05943656, 0.06722794, 0.13412511) * conv2d_4_7_texOff(vec2(0, 0)); + result += mat4(0.1445173, -0.15655605, -0.08112188, 0.038785387, 0.014519277, 0.038636338, -0.17073762, -0.028946156, 0.050480306, 0.00094400614, -0.046985604, -0.05800863, 0.02938674, -0.06498928, 0.06548649, 0.006211968) * conv2d_4_7_texOff(vec2(1, 0)); + result += mat4(-0.030735983, 0.01647197, 0.0071589067, 0.10151262, -0.00020053051, 0.12835763, -0.012673461, -0.024257768, -0.094545305, 0.031187905, -0.088839024, -0.030490516, -0.08861047, 0.013100262, 0.04558413, 0.02191031) * conv2d_4_7_texOff(vec2(-1, 1)); + result += mat4(0.049921937, 0.07283791, 0.051318806, 0.083581395, -0.07247913, -0.037460387, 0.02706539, 0.07018249, -0.047635417, 0.09073333, 0.03405237, -0.07263553, 0.05830708, 0.06323497, 0.06785569, -0.031078683) * conv2d_4_7_texOff(vec2(0, 1)); + result += mat4(-0.05876982, 0.0034128858, 0.019529285, -0.037030995, -0.04625523, 0.07436531, 0.11989561, -0.07867028, 0.073051706, -0.005931688, 0.042963002, 0.03182493, 0.01396922, 0.03529996, 0.038327496, -0.10216107) * conv2d_4_7_texOff(vec2(1, 1)); + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-5) +//!HOOK LUMA +//!BIND conv2d_4_0 +//!BIND conv2d_4_1 +//!BIND conv2d_4_2 +//!BIND conv2d_4_3 +//!BIND conv2d_4_4 +//!BIND conv2d_4_5 +//!BIND conv2d_4_6 +//!BIND conv2d_4_7 +//!SAVE conv2d_5_5 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.003744023, 0.004870065, 0.00056463777, 0.0051579904); + result += mat4(0.06846735, 0.020906022, -0.052735206, 0.06254394, 0.011189268, -0.04632401, 0.08487812, -0.019326968, 0.028731536, 0.078733765, 0.049371026, -0.014876194, 0.178366, 0.00089044956, -0.0421401, -0.030461717) * conv2d_4_0_texOff(vec2(-1, -1)); + result += mat4(0.062325638, 0.13597403, -0.0522696, -0.007233695, 0.064067766, 0.021936687, 0.038012225, -0.017676266, -0.055330243, 0.052786075, -0.0416165, -0.04537908, 0.065348856, -0.028589722, -0.037748083, 0.044201877) * conv2d_4_0_texOff(vec2(0, -1)); + result += mat4(-0.029778155, 0.084842846, -0.046133053, -0.012237669, 0.1070076, 0.0112756835, -0.07336129, -0.08949529, 0.04841557, -0.065667965, -0.004705498, 0.024933007, -0.032954793, 0.12286488, -0.04912803, 0.07578236) * conv2d_4_0_texOff(vec2(1, -1)); + result += mat4(0.17954022, 0.096989706, -0.10397003, -0.05131605, -0.06556684, -0.013882195, 0.012111392, -0.019121448, -0.03729823, -0.033649657, -0.05898776, 0.009589689, -0.0029119656, -0.053572025, -0.03605525, -0.013553741) * conv2d_4_0_texOff(vec2(-1, 0)); + result += mat4(-0.03787153, 0.037385587, -0.005686847, 0.15763344, 0.009408978, 0.044804987, -0.048841193, -0.061910678, 0.043059584, 0.00929426, 0.06893808, -0.035996955, -0.0568531, 0.081814915, -0.14410943, -0.14000413) * conv2d_4_0_texOff(vec2(0, 0)); + result += mat4(-0.005200054, 0.013040009, 0.07655291, 0.002630008, 0.0064204177, 0.028295381, -0.11398628, 0.012945082, -0.09437754, -0.12553217, -0.102056175, -0.030106822, -0.015990794, -0.08203441, -0.11809439, -0.032000497) * conv2d_4_0_texOff(vec2(1, 0)); + result += mat4(0.057965983, -0.107841924, -0.09493145, 0.08932851, 0.13715027, 0.014039646, -0.048187297, -0.08610366, 0.06149587, -0.008499362, 0.02294081, -0.036505777, -0.0013138453, 0.005065025, -0.09039269, 0.027581697) * conv2d_4_0_texOff(vec2(-1, 1)); + result += mat4(-0.056370217, -0.034675233, -0.08059412, 0.02621469, -0.059545293, 0.08119379, -0.010797446, -0.05600982, -0.053261306, -0.0026077055, -0.037882946, -0.00028856145, -0.04011465, -0.0071797003, 0.010439201, -0.028104486) * conv2d_4_0_texOff(vec2(0, 1)); + result += mat4(0.052025314, -0.072031684, -0.03209266, 0.11075055, -0.05985592, -0.01060547, 0.01387234, -0.058470163, 0.05714156, 0.04993751, 0.00388142, -0.008095163, -0.17499527, -0.03270615, 0.10519208, 0.059092633) * conv2d_4_0_texOff(vec2(1, 1)); + result += mat4(-0.060266104, -0.041237745, 0.041911807, 0.09812712, 0.037394874, 0.06760783, 0.008624535, -0.034502484, 0.07407191, 0.08079325, -0.22444727, 0.06092887, -0.027044335, -0.08720241, -0.026266506, 0.011823099) * conv2d_4_1_texOff(vec2(-1, -1)); + result += mat4(-0.09512609, -0.043037415, 0.017516283, -0.069721565, 0.058594655, 0.03104387, -0.060501155, 0.0870694, -0.004529748, 0.11892672, -0.096124575, 0.0029507324, 0.044006918, -0.020828968, -0.020181943, -0.005507399) * conv2d_4_1_texOff(vec2(0, -1)); + result += mat4(-0.14454062, 0.025602356, 0.1043259, -0.058483917, -0.021097125, -0.0013623851, -0.009642451, 0.019308152, -0.080670625, -0.040985428, -0.019426048, -0.025615541, -0.038995545, -0.12254544, -0.009502445, 0.022095283) * conv2d_4_1_texOff(vec2(1, -1)); + result += mat4(-0.021494536, -0.0112036895, 0.016460426, 0.15042785, 0.03442728, 0.04954993, -0.007987884, -0.050649263, 0.003376389, 0.077782355, -0.066691905, -0.008251065, 0.11555165, 0.041291762, -0.054530397, 0.040192727) * conv2d_4_1_texOff(vec2(-1, 0)); + result += mat4(-0.01232892, 0.044582408, 0.028808637, 0.034783065, 0.0068246447, 0.07713295, -0.1460967, 0.01663489, -0.06029968, 0.042767856, 0.026165351, 0.07657759, -0.041379403, 0.15543364, 0.040179648, 0.012467017) * conv2d_4_1_texOff(vec2(0, 0)); + result += mat4(-0.0023207045, 0.05736371, -0.01132253, -0.1534512, 0.07485476, 0.02739037, 0.07676418, 0.01020324, -0.1187346, -0.09200833, 0.070962034, -0.04863679, -0.06715823, 0.07265024, 0.08408705, 0.0010903036) * conv2d_4_1_texOff(vec2(1, 0)); + result += mat4(0.024114786, 0.06446153, 0.029690359, -0.11670471, 0.118216984, 0.052959505, 0.02448341, -0.06599091, -0.050498147, 0.033372656, -0.005300518, -0.031294465, 0.10214152, 0.07824243, -0.010360454, -0.13248253) * conv2d_4_1_texOff(vec2(-1, 1)); + result += mat4(0.1414404, 0.004092192, -0.014139859, 0.06583774, -0.011890989, -0.052403595, -0.032660343, 0.13355012, -0.023351131, -0.07547985, 0.104361646, 0.013764869, 0.10141547, -0.11751049, 0.040695943, -0.1948841) * conv2d_4_1_texOff(vec2(0, 1)); + result += mat4(0.049919527, -0.0029951532, 0.06338027, 0.031926338, -0.06130881, 0.10182471, -0.10721121, 0.086533025, 0.024608426, 0.05739487, -0.1212114, 0.078359485, -0.109681785, -0.12131577, -0.11682675, 0.0031116193) * conv2d_4_1_texOff(vec2(1, 1)); + result += mat4(-0.07831664, -0.035689194, -0.03527999, -0.043032955, -0.12290076, -0.09080753, 0.12231854, 0.029947743, -0.025398241, 0.07999272, -0.12603007, -0.081264205, 0.0277639, -0.04373436, 0.055347405, -0.131465) * conv2d_4_2_texOff(vec2(-1, -1)); + result += mat4(-0.02541266, -0.1256484, -0.085705645, -0.013263183, -0.040224005, -0.05270937, -0.0026769575, 0.056716423, 0.13118586, 0.07022212, -0.08397483, 0.10328523, 0.08287278, -0.027878696, 0.01902678, -0.06677355) * conv2d_4_2_texOff(vec2(0, -1)); + result += mat4(0.028777877, 0.11086367, 0.04308157, -0.05229589, -0.008462096, 0.05552019, -0.053677414, 0.0138355475, -0.038781203, -0.029743066, 0.034048155, 0.032000605, -0.026168112, 0.0004236296, 0.046753205, -0.063461035) * conv2d_4_2_texOff(vec2(1, -1)); + result += mat4(-0.075283185, 0.00899224, -0.051217236, -0.056587532, -0.04828392, -0.032860726, -0.045876265, -0.029209381, -0.1541533, 0.06720572, 0.054422125, -0.02866607, -0.08794386, 0.022420552, -0.058106966, 0.03575867) * conv2d_4_2_texOff(vec2(-1, 0)); + result += mat4(0.03916231, 0.08555684, -0.088987134, 0.021489194, 0.024067761, -0.11974007, 0.09833582, -0.121529706, -0.17389154, -0.01299806, -0.039932624, 0.026737932, 0.049899634, -0.12711392, 0.040493857, 0.003466314) * conv2d_4_2_texOff(vec2(0, 0)); + result += mat4(0.06102618, 0.026743783, 0.07239618, 0.029338099, 0.04955603, 0.009491897, 0.0008369078, 0.054401115, -0.020695686, 0.028992388, -0.02133122, 0.068612196, 0.036271147, -0.06818659, -0.038204927, 0.045566205) * conv2d_4_2_texOff(vec2(1, 0)); + result += mat4(0.064243816, -0.010918527, 0.021009004, 0.009975176, 0.036581032, 0.07069516, -0.016712269, -0.09621008, -0.06402951, -0.0067863055, 0.054012455, 0.0142729785, -0.032235358, -0.053390626, -0.0709931, 0.029953102) * conv2d_4_2_texOff(vec2(-1, 1)); + result += mat4(-0.041737095, 0.026268642, -0.019955106, -0.121917635, 0.02430028, -0.0053680204, -0.11221418, 0.12268428, -0.0653812, 0.008196103, 0.019962646, 0.07343737, -0.014857356, -0.007706544, 0.031310216, -0.039224807) * conv2d_4_2_texOff(vec2(0, 1)); + result += mat4(0.055153407, 0.1201757, 0.014910485, -0.041863848, 0.08641824, -0.047126733, 0.03153363, -0.03731821, -0.014664259, -0.04255379, -0.07980397, 0.041875847, 0.09858229, -0.012495974, 0.024915196, -0.045838844) * conv2d_4_2_texOff(vec2(1, 1)); + result += mat4(0.005927034, -0.006315491, 0.10169004, 0.04798741, 0.025085539, 0.07141469, -0.06679379, -0.0057335044, -0.12131783, 0.12775922, -0.07921675, -0.055179738, -0.027879836, 0.060247287, 0.050589498, -0.11108483) * conv2d_4_3_texOff(vec2(-1, -1)); + result += mat4(-0.04696793, -0.016145974, -0.05256074, 0.028282398, 0.022240443, 0.122661404, 0.011428074, -0.1279471, 0.11401287, 0.086877026, 0.045713052, -0.087724, -0.16849732, 0.032219004, 0.069909416, 0.08741539) * conv2d_4_3_texOff(vec2(0, -1)); + result += mat4(0.14066437, 0.067110345, 0.010936827, -0.007668058, 0.08217572, 0.00841441, -0.01941246, -0.06786596, -0.13226213, -0.08085224, -0.11149987, -0.061246075, 0.09291042, -0.04116771, -0.05506247, 0.019867012) * conv2d_4_3_texOff(vec2(1, -1)); + result += mat4(0.077268966, -0.04896945, -0.055613294, 0.022682616, 0.18807432, -0.062316835, -0.057403825, 0.07387256, -0.066929854, -0.009007251, -0.020115238, 0.05232063, -0.15392567, 0.04770581, 0.07191161, 0.051973794) * conv2d_4_3_texOff(vec2(-1, 0)); + result += mat4(-0.21478997, 0.091474876, -0.030739518, -0.08158304, -0.02790185, -0.02979981, -0.021719921, 0.08204321, -0.12939404, -0.06735152, 0.09934753, 0.0012824747, -0.008693602, -0.020377485, 0.07784078, -0.12304573) * conv2d_4_3_texOff(vec2(0, 0)); + result += mat4(-0.085281916, -0.029611537, 0.058781616, 0.043521415, 0.055174436, 0.009438932, -0.0013914962, -0.11142648, -0.08129252, -0.04870104, 0.13142738, -0.005071297, 0.04936838, 0.086221665, -0.06670232, -0.059800755) * conv2d_4_3_texOff(vec2(1, 0)); + result += mat4(0.0123978695, 0.041609578, 0.094882555, -0.042822156, 0.028931918, -0.008546986, 0.000114796094, -0.1091503, -0.13006477, 0.06893068, 0.024614748, -0.03145258, 0.07281108, 0.11544433, 0.040181905, 0.012503706) * conv2d_4_3_texOff(vec2(-1, 1)); + result += mat4(-0.0054365206, 0.095119804, 0.11055951, 0.019466052, 0.022754982, 0.013888814, 0.06129462, -0.11578633, -0.05445107, -0.039615244, 0.15302792, 0.110302314, 0.116525285, -0.0006115953, 0.12929587, -0.038521346) * conv2d_4_3_texOff(vec2(0, 1)); + result += mat4(0.06512398, 0.061926305, -0.008084291, 0.035116784, 0.02375231, 0.019758748, -0.023034362, -0.009782914, -0.01007939, 0.05070668, 0.018011214, -0.0043852953, -0.080347784, 0.015872212, -0.025146695, -0.01332058) * conv2d_4_3_texOff(vec2(1, 1)); + result += mat4(-0.06011352, -0.15089753, 0.067033246, 0.012786638, 0.058768492, -0.15734772, 0.27038375, -0.14632265, -0.09580229, 0.048278365, 0.017851833, 0.028954787, -0.0010272993, -0.045458276, 0.11447305, -0.015022732) * conv2d_4_4_texOff(vec2(-1, -1)); + result += mat4(0.08995797, 0.029364645, 0.03475384, -0.05147952, 0.106936365, -0.017066497, 0.07715486, 0.13596886, 0.09231862, -0.033172823, -0.051674116, -0.04296102, -0.0050418586, -0.10764638, 0.015279778, 0.07496989) * conv2d_4_4_texOff(vec2(0, -1)); + result += mat4(-0.12156424, -0.037988137, 0.050076272, 0.01594717, 0.052990053, -0.07748455, 0.060284864, 0.035587624, 0.049477614, -0.079133056, -0.057939522, 0.0043415623, -0.002303934, -0.0134762935, -0.072031125, -0.05209605) * conv2d_4_4_texOff(vec2(1, -1)); + result += mat4(0.057991978, 0.061251305, -0.045199364, 0.07096099, -0.008577397, -0.2599384, 0.13919918, 0.17660145, -0.008784007, -0.0246532, -0.0021464394, -0.022267051, -0.06861374, -0.09967094, -0.023346582, 0.14024962) * conv2d_4_4_texOff(vec2(-1, 0)); + result += mat4(-0.09577922, -0.038292043, -0.17260629, 0.078615844, 0.029454043, 0.07253665, -0.05595646, -0.180276, 0.040220786, -0.119755425, -0.050313752, 0.028673591, -0.019038057, -0.004465893, 0.019879675, 0.05027829) * conv2d_4_4_texOff(vec2(0, 0)); + result += mat4(-0.023444101, -0.086703844, 0.029419716, -0.00113442, 0.20119664, -0.025611356, 0.15682045, 0.09031158, 0.00243881, -0.053269643, -0.017256362, 0.027917195, -0.058515046, -0.013399024, 0.08994863, 0.0035714835) * conv2d_4_4_texOff(vec2(1, 0)); + result += mat4(-0.064988725, -0.01322924, 0.08890545, 0.008832729, 0.42415693, -0.09322649, -0.21070673, 0.3951789, 0.020704292, 0.029130926, 0.0046257004, -0.0070671276, -0.09022319, 0.05440207, 0.020891106, 0.04141828) * conv2d_4_4_texOff(vec2(-1, 1)); + result += mat4(-0.030875014, 0.084602475, -0.08353568, -0.033656146, -0.01568491, 0.028286422, -0.09182198, -0.07100839, -0.04138483, 0.071349025, 0.017886164, -0.121415, -0.033885557, 0.0057150153, 0.0018305236, 0.09387769) * conv2d_4_4_texOff(vec2(0, 1)); + result += mat4(-0.0123145655, -0.0099281445, 0.04615881, -0.063446224, 0.01643084, -0.011173605, 0.073378086, -0.0008987534, -0.14478499, 0.06371908, 0.057060014, -0.057691164, 0.07834634, -0.026782714, -0.034304015, -0.04349605) * conv2d_4_4_texOff(vec2(1, 1)); + result += mat4(0.026682276, 0.058032036, 0.052992783, 0.08640613, 0.062215608, 0.011175916, 0.06895342, 0.098698184, 0.04238471, 0.061910633, -0.035422835, 0.12650092, -0.043282706, -0.052077778, 0.017510325, 0.0391391) * conv2d_4_5_texOff(vec2(-1, -1)); + result += mat4(0.055350386, -0.11243646, 0.016253911, -0.017257173, 0.059547544, -0.03279304, 0.059083026, 0.13241072, 0.11585804, 0.007748599, -0.15230541, -0.082291655, 0.04977091, -0.09433375, -0.11558307, -0.044398483) * conv2d_4_5_texOff(vec2(0, -1)); + result += mat4(-0.03694274, -0.04757227, 0.033450104, -0.006906205, -0.039507255, -0.025179757, 0.06421492, 0.06318208, 0.12851301, -0.033888433, 0.052618366, -0.067583166, 0.023584934, -0.07171288, 0.009042901, 0.052614525) * conv2d_4_5_texOff(vec2(1, -1)); + result += mat4(-0.06865501, -0.08506733, -0.03181859, 0.091107994, 0.013501152, -0.052470803, -0.07013389, -0.083611645, 0.065679654, 0.03527835, 0.019509893, -0.005068851, -0.083922096, -0.07483168, -0.07798355, -0.060162324) * conv2d_4_5_texOff(vec2(-1, 0)); + result += mat4(-0.10568385, -0.068733856, -0.034105837, 0.101661384, -0.055912126, -0.115467705, -0.100008786, -0.039577864, -0.08001328, 0.052759133, 0.06730137, -0.08151633, -0.05223798, -0.08851479, -0.015127876, -0.035514206) * conv2d_4_5_texOff(vec2(0, 0)); + result += mat4(-0.08738335, 0.063933805, -0.06923387, -0.04498289, 0.08970926, -0.1280684, -0.026634673, -0.048193462, 0.06939812, -0.0055687865, 0.14315495, -0.065449394, 0.05319766, 0.09562006, 0.018232567, -0.0068880664) * conv2d_4_5_texOff(vec2(1, 0)); + result += mat4(0.019638283, 0.029776422, 0.09846647, -0.0018766077, 0.04539501, 0.026950909, -0.009732111, -0.089069754, -0.02190145, -0.022243822, 0.07034941, 0.039916843, -0.04829366, 0.022626007, 0.11650622, -0.09942129) * conv2d_4_5_texOff(vec2(-1, 1)); + result += mat4(-0.038089514, -0.072992, 0.06300367, 0.16943501, -0.13926145, -0.041970383, 0.088639595, -0.14727603, 0.0056853006, -0.064994924, 0.056964185, 0.07359896, 0.019292265, 0.060979106, 0.029346703, -0.04265193) * conv2d_4_5_texOff(vec2(0, 1)); + result += mat4(-0.029183106, -0.050026517, -0.078770116, -0.014796788, -0.09843477, -0.029030422, 0.028071817, -0.11035143, -0.004221629, -0.1170657, 0.14455308, -0.027150443, -0.039355103, -0.09308857, 0.061652742, 0.021465192) * conv2d_4_5_texOff(vec2(1, 1)); + result += mat4(0.012062831, -0.023213759, -0.0657983, -0.07618228, -0.024795879, -0.05445502, 0.09607557, -0.10754038, 0.15597863, -0.017730268, -0.10101892, 0.11538386, 0.11280126, 0.023103496, -0.04814666, 0.0064585838) * conv2d_4_6_texOff(vec2(-1, -1)); + result += mat4(-0.09765952, -0.054239947, -0.0132161835, -0.046721194, -0.14888962, -0.059387676, -0.01650269, -0.09270816, 0.06224387, -0.016942, 0.0314212, 0.1423623, -0.087335885, 0.029983481, -0.027997935, 0.0033472553) * conv2d_4_6_texOff(vec2(0, -1)); + result += mat4(0.0057658716, -0.021192549, -0.069001675, -0.06350078, 0.035925057, 0.049378388, 0.06646266, -0.10569743, 0.019708699, -0.11553864, 0.032608114, -0.011889396, 0.022661587, 0.047868066, 0.02103731, -0.038514327) * conv2d_4_6_texOff(vec2(1, -1)); + result += mat4(-0.14394201, -0.023957448, 0.06554235, -0.07161674, -0.05782059, -0.07552992, 0.09317427, 0.014325416, 0.07816694, -0.013390847, -0.057398427, 0.0379044, 0.03792542, 0.03255789, 0.07498712, 0.03614446) * conv2d_4_6_texOff(vec2(-1, 0)); + result += mat4(0.031551566, 0.06248341, 0.07569591, -0.017257998, -0.058447305, 0.07261866, 0.043408778, 0.06811565, 0.09551703, -0.030513262, -0.050053604, 0.08271029, -0.01252269, -0.04237621, 0.031728614, 0.017131992) * conv2d_4_6_texOff(vec2(0, 0)); + result += mat4(-0.048818547, -0.004054868, 0.05796488, 0.10060417, 0.04989325, -0.024786364, 0.029081058, 0.0128275445, 0.023292568, -0.110230334, 0.06500354, -0.025300438, -0.012592869, 0.08054506, -0.009014249, -0.071543425) * conv2d_4_6_texOff(vec2(1, 0)); + result += mat4(-0.009190626, 0.020073213, 0.13161026, 0.023810066, 0.0655364, 0.0020289188, 0.070556074, 0.028104233, 0.085571356, -0.069448866, -0.112842955, 0.0018542148, -0.00836836, 0.061638143, -0.024954794, -0.06287971) * conv2d_4_6_texOff(vec2(-1, 1)); + result += mat4(-0.0777442, -0.0025372866, 0.038157776, 0.08322318, -0.008563062, 0.038341187, -0.04925698, 0.010730074, 0.07119472, -0.045390327, -0.030925635, 0.020801136, -0.0045577125, 0.014000937, 0.05288587, -0.05275179) * conv2d_4_6_texOff(vec2(0, 1)); + result += mat4(0.021599513, -0.07084059, -0.089016594, 0.030028177, 0.033480838, 0.101015, 0.07489181, 0.04353765, -0.07102654, 0.033456057, -0.053162564, -0.0005686912, -0.23494233, -0.007813858, 0.12495595, 0.059529725) * conv2d_4_6_texOff(vec2(1, 1)); + result += mat4(0.06711534, 0.075830065, -0.07966251, -0.07553609, 0.0147503605, -0.013223262, -0.04551362, -0.011257145, -0.012694605, -0.08958082, 0.06187837, 0.044504434, 0.041044578, -0.02663682, 0.003485268, -0.02617802) * conv2d_4_7_texOff(vec2(-1, -1)); + result += mat4(0.15290812, -0.024552645, -0.09029851, 0.017190058, 0.09260614, 0.05617855, 0.06164358, -0.038813833, 0.036533184, -0.013717633, 0.14508894, 0.027985066, 0.032225534, 0.1401639, 0.021510081, -0.08370948) * conv2d_4_7_texOff(vec2(0, -1)); + result += mat4(0.018064985, 0.04841411, 0.011784491, -0.00284516, 0.050068155, -0.007230001, -0.07445653, -0.05416669, 0.012791681, 0.05012369, -0.15198144, -0.018468644, -0.13590245, -0.013564884, 0.09095281, 0.011901732) * conv2d_4_7_texOff(vec2(1, -1)); + result += mat4(-0.0797991, 0.013461552, -0.03779303, 0.07433649, -0.0048588063, -0.06511285, 0.06473454, 0.07474874, -0.054695174, 0.082647994, 0.08665234, -0.17189452, 0.011412084, -0.027717425, 0.014711496, 0.0047551463) * conv2d_4_7_texOff(vec2(-1, 0)); + result += mat4(0.10216377, 0.036662385, 0.044541545, 0.00046771983, 0.0036661623, -0.08293504, 0.14332078, 0.006545568, -0.040461604, -0.107852384, -0.017785491, 0.021744784, 0.103127725, 0.039981324, 0.014377891, 0.094433926) * conv2d_4_7_texOff(vec2(0, 0)); + result += mat4(0.030446777, 0.08244882, -0.019188235, 0.050039105, 0.052524067, -0.0561168, -0.12180259, 0.038321923, 0.04775349, -0.073457465, -0.04209007, 0.031027488, -0.06965118, -0.099260926, 0.12210426, 0.0036331296) * conv2d_4_7_texOff(vec2(1, 0)); + result += mat4(-0.014520563, 0.048301473, -0.06791086, 0.01625226, 0.031684645, -0.07458947, -0.116040595, -0.0645365, -0.011072574, 0.020535178, -0.09332042, 0.026152479, -0.16180445, 0.020102587, 0.04551129, 0.007019158) * conv2d_4_7_texOff(vec2(-1, 1)); + result += mat4(0.024445016, 0.021846805, 0.114462204, 0.07642519, -0.09132519, -0.011418861, 0.051222786, -0.007874475, 0.14284293, 0.0103699295, -0.07609448, 0.011053131, -0.03580652, 0.08496922, 0.02774456, 0.021535328) * conv2d_4_7_texOff(vec2(0, 1)); + result += mat4(0.11077886, -0.0017219923, 0.038973223, 0.017248789, -0.051838186, 0.07698393, -0.09820654, -0.019634092, 0.07189122, -0.005516489, -0.083289616, 0.06798331, -0.07575297, -0.066030525, 0.10271427, 0.03930737) * conv2d_4_7_texOff(vec2(1, 1)); + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-5) +//!HOOK LUMA +//!BIND conv2d_4_0 +//!BIND conv2d_4_1 +//!BIND conv2d_4_2 +//!BIND conv2d_4_3 +//!BIND conv2d_4_4 +//!BIND conv2d_4_5 +//!BIND conv2d_4_6 +//!BIND conv2d_4_7 +//!SAVE conv2d_5_6 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.00010800735, -0.0060253716, -0.00014175977, -0.0024079708); + result += mat4(-0.05891607, -0.055818416, -0.025703147, 0.014893444, 0.041632358, -0.061393894, 0.01138957, -0.0003060534, -0.002770325, 0.0123026585, -0.0027956546, 0.0412105, -0.09062184, -0.01931541, -0.044927172, 0.039003454) * conv2d_4_0_texOff(vec2(-1, -1)); + result += mat4(-0.08372776, 0.07368329, 0.05993131, 0.096041, 0.030658238, 0.01783835, 0.0279946, 0.017525857, 0.0035396735, -0.100731716, -0.04346371, -0.074386746, -0.03412513, 0.06843029, 0.019430036, -0.026856251) * conv2d_4_0_texOff(vec2(0, -1)); + result += mat4(-0.03714345, 0.0073623657, 0.067051426, -0.09731394, 0.02180703, -0.08836557, -0.05873427, -0.07609786, 0.047711704, 0.028371241, -0.12575391, 0.068714924, -0.019853454, -0.0108744325, 0.034402438, -0.03947283) * conv2d_4_0_texOff(vec2(1, -1)); + result += mat4(0.0064668865, 0.046585217, -0.045046937, -0.010090959, -0.057889603, 0.053252976, -0.02949186, -0.005010347, -0.03681916, -0.049421515, -0.014790797, 0.05104032, 0.036831297, -0.04565253, 0.08468103, 0.033914186) * conv2d_4_0_texOff(vec2(-1, 0)); + result += mat4(0.06379281, 0.10606919, 0.055790827, 0.046800736, -0.057342067, 0.041786883, -0.061238263, -0.03692814, -0.03947566, 0.037991215, 0.021252612, 0.0021608882, -0.021783317, -0.026893621, 0.07806203, -0.100642905) * conv2d_4_0_texOff(vec2(0, 0)); + result += mat4(0.08187347, -0.06206358, 0.080680564, 0.047941677, -0.002277811, -0.059837025, 0.044087354, -0.06582973, 0.084604695, -0.023997072, -0.067719825, 0.05046579, 0.023828821, 0.03939754, -0.071708836, 0.04752016) * conv2d_4_0_texOff(vec2(1, 0)); + result += mat4(-0.029952725, -0.09667125, -0.00066138123, 0.04769464, 0.079400405, 0.024411255, 0.05884881, 0.079120815, 0.047340587, -0.024291163, 0.038562726, 0.020604441, 0.010575722, 0.10967317, 0.014376675, -0.038327277) * conv2d_4_0_texOff(vec2(-1, 1)); + result += mat4(0.06287125, 0.070674025, -0.010538649, 0.03203308, -0.019796101, 0.051727124, 0.047506157, -0.05524831, -0.0042553185, 0.07679921, -0.07532232, 0.15636891, 0.011520409, 0.13203236, 0.0507361, 0.05706136) * conv2d_4_0_texOff(vec2(0, 1)); + result += mat4(-0.054613933, -0.037091885, 0.0009065115, 0.015578806, 0.029945353, -0.09977472, 0.014429149, 0.03598694, 0.00075545243, 0.0016660051, -0.04826273, -0.060955096, -0.018016335, 0.0853128, -0.017284924, 0.030501008) * conv2d_4_0_texOff(vec2(1, 1)); + result += mat4(-0.03428711, 0.026091322, 0.020565135, 0.08366415, -0.0029549603, 0.007559108, 0.034051366, -0.08350958, 0.012856849, -0.0010009388, 0.060871813, 0.011225134, -0.04035431, -0.0038169436, -0.00057985407, -0.024633229) * conv2d_4_1_texOff(vec2(-1, -1)); + result += mat4(-0.010531846, 0.08934077, 0.051038563, -0.09843234, -0.06672527, 0.11225655, -0.0028012474, 0.051177386, -0.012679681, 0.031802446, 0.07369037, -0.010714595, 0.04583904, 0.0755224, 0.00023063405, 0.0680831) * conv2d_4_1_texOff(vec2(0, -1)); + result += mat4(0.017600548, 0.06502304, 0.049715288, -0.07262733, -0.007515421, 0.024174131, 0.057123113, -0.024273023, -0.083369605, -0.03708399, 0.03823819, -0.026998373, 0.044279948, 0.016334454, 0.0019526624, -0.08235597) * conv2d_4_1_texOff(vec2(1, -1)); + result += mat4(-0.12288613, 0.03513285, -0.06324576, 0.088840716, 0.031426866, -0.038318116, -0.0077608493, 0.07648296, -0.008145227, -0.06567107, 0.027106209, -0.013306976, -0.10697064, -0.05888695, -0.044972606, -0.044149198) * conv2d_4_1_texOff(vec2(-1, 0)); + result += mat4(0.03787096, 0.058683846, -0.08714045, 0.021734657, -0.027938997, -0.027559884, -0.05259493, -0.00527079, -0.0968518, 0.08639186, -0.06299825, -0.017630886, -0.18182836, 0.04028746, -0.023016887, -0.16718754) * conv2d_4_1_texOff(vec2(0, 0)); + result += mat4(0.10821648, 0.03125528, 0.07131545, 0.09464252, 0.050715107, 0.17174575, 0.09164212, -0.00040434167, -0.04257271, 0.038092274, -0.031484306, -0.032089632, 0.016541718, 0.083913535, -0.035890467, -0.114216514) * conv2d_4_1_texOff(vec2(1, 0)); + result += mat4(-0.035519592, -0.019508332, 0.10797242, 0.05217214, 0.06258685, -0.046536937, -0.07664148, -0.1048046, -0.022738276, -0.0028893736, -0.08300824, -0.0799885, -0.0202188, 0.16008598, 0.05311595, 0.14601421) * conv2d_4_1_texOff(vec2(-1, 1)); + result += mat4(0.0057513756, 0.14138156, 0.044822935, 0.07209472, 0.08130084, 0.038273875, 0.08884316, -0.01243985, 0.0009328225, 0.0114472415, 0.013494356, 0.013273342, -0.024302782, -0.029582668, 0.13231325, 0.113158874) * conv2d_4_1_texOff(vec2(0, 1)); + result += mat4(0.010437825, 0.012448457, -0.056652248, -0.0887728, 0.03914561, 0.053675838, -0.122133225, 0.05794023, 0.041938316, 0.06729166, -0.05227809, 0.015268755, -0.008313473, -0.024801048, -0.0054720705, 0.14827597) * conv2d_4_1_texOff(vec2(1, 1)); + result += mat4(-0.028761204, 0.07333062, 0.022365144, -0.009992802, 0.10757404, -0.05120705, 0.079621606, -0.12650292, -0.019798081, -0.069985814, -0.014832247, -0.044227026, -0.015865823, 0.06849617, 0.008620538, -0.0089411475) * conv2d_4_2_texOff(vec2(-1, -1)); + result += mat4(0.025614668, 0.052395683, 0.048013028, 0.053321097, -0.018943906, -0.0911834, 0.020315137, 0.009568774, 0.053061645, 0.021918423, -0.05401135, 0.07646233, -0.042207897, -0.047038857, 0.11283149, 0.119577765) * conv2d_4_2_texOff(vec2(0, -1)); + result += mat4(0.041562404, -0.087873235, -0.04447696, -0.008090757, -0.014695838, -0.029645171, -0.052447904, 0.008476244, 0.030555818, -0.030299786, -0.02417144, -0.100255094, -0.030237572, -0.03736984, -0.010838179, 0.0338734) * conv2d_4_2_texOff(vec2(1, -1)); + result += mat4(0.02034669, -0.031184968, 0.036080092, 0.029294787, -0.027910544, -0.10997921, -0.08212682, -0.023281157, -0.09701014, -0.04667296, 0.07236996, -0.06875987, 0.0018313085, -0.027728437, -0.11319556, -0.06688292) * conv2d_4_2_texOff(vec2(-1, 0)); + result += mat4(-0.18328162, -0.09410946, -0.017946959, 0.07484558, -0.12638044, -0.08282636, -0.13124168, -0.0024222662, -0.0070708496, -0.08760912, 0.047766224, -0.12082213, 0.02096226, 0.0777324, 0.00078988506, -0.021013662) * conv2d_4_2_texOff(vec2(0, 0)); + result += mat4(-0.024043836, 0.015182105, -0.09119308, -0.09507997, -0.028330164, 0.06682432, -0.055507433, -0.031032162, -0.059383262, 0.089720845, 0.06044238, 0.0032397076, -0.05410032, -0.1163895, -0.08073255, -0.0058232564) * conv2d_4_2_texOff(vec2(1, 0)); + result += mat4(-0.017943654, 0.06840554, 0.07012803, 0.013843289, 0.017205507, -0.011223481, -0.022196978, 0.14360492, -0.092534386, 0.022194441, 0.04178856, -0.047393303, -0.009411746, 0.033234157, -0.06532909, 0.101727545) * conv2d_4_2_texOff(vec2(-1, 1)); + result += mat4(0.007434654, -0.1086224, 0.06935581, -0.012658257, 0.061572894, -0.011706881, 0.0308903, 0.0736597, 0.12987943, -0.05081095, 0.011523893, -0.03506991, 0.044780284, -0.013583677, 0.04943616, 0.046820614) * conv2d_4_2_texOff(vec2(0, 1)); + result += mat4(-0.011473868, 0.05361749, 0.006936757, 0.03837745, -0.012945828, 0.015524374, 0.007673216, 0.13757087, -0.043397836, 0.02311259, 0.06405981, -0.062237494, -0.038214326, -0.04002505, -0.06322114, 0.07529249) * conv2d_4_2_texOff(vec2(1, 1)); + result += mat4(-0.051067293, 0.01441175, -0.025411477, 0.15705688, 0.0020218983, 0.037214328, -0.09342253, -0.043778367, -0.06211368, -0.15421464, 0.03005483, -0.12681845, 0.037709784, -0.035862956, -0.08261765, -0.052133225) * conv2d_4_3_texOff(vec2(-1, -1)); + result += mat4(-0.07967775, 0.05226606, 0.018689651, -0.06403869, -0.007681651, -0.03723907, -0.047131635, 0.010881137, 0.009757213, -0.09395056, 0.078745216, 0.020392535, 0.021376725, -0.004695581, -0.0050038933, -0.116437994) * conv2d_4_3_texOff(vec2(0, -1)); + result += mat4(-0.07396499, -0.04467992, 0.037088443, 0.1149424, -0.07442583, -0.039374456, 0.013312073, 0.054966707, -0.03421485, -0.060300454, 0.13126172, -0.06293344, -0.04400627, 0.028728338, 0.037440896, -0.037900362) * conv2d_4_3_texOff(vec2(1, -1)); + result += mat4(-0.033876896, -0.01601887, 0.025593525, 0.006039605, 0.024364274, -0.04797028, 0.09693112, 0.05071231, 0.0026292186, -0.050802484, 0.12546101, -0.087659255, -0.00682104, 0.028917266, 0.040521294, -0.020344894) * conv2d_4_3_texOff(vec2(-1, 0)); + result += mat4(0.012789372, -0.03130457, -0.061474208, -0.08477137, -0.022471324, -0.09343703, 0.052898977, -0.04553556, 0.040092725, -0.06770857, -0.009832583, -0.15104657, -0.04463934, 0.07300527, 0.07721952, -0.08406604) * conv2d_4_3_texOff(vec2(0, 0)); + result += mat4(0.058277108, -0.024997687, -0.048033778, -0.14751582, 0.02449909, -0.062831886, -0.06199041, -0.034332294, -0.102010205, -0.06996329, 0.12004006, -0.071520284, -0.07427497, 0.011991249, 0.016592449, -0.08865749) * conv2d_4_3_texOff(vec2(1, 0)); + result += mat4(-0.01867152, 0.0009101457, -0.01117776, -0.15761206, -0.017810421, 3.277767e-05, -0.04121825, -0.0060248547, 0.1319718, -0.15207556, 0.07645303, -0.022329481, -0.041795425, 0.04243393, -0.062283445, -0.09860213) * conv2d_4_3_texOff(vec2(-1, 1)); + result += mat4(0.041777305, 0.026961304, 0.069987945, 0.1125452, -0.0165073, -0.02660315, -0.100314066, -0.04913101, 0.086327255, -0.009335691, -0.007720912, -0.0936823, -0.10425135, -0.112192966, -0.054848474, -0.008930241) * conv2d_4_3_texOff(vec2(0, 1)); + result += mat4(0.059042953, 0.11067629, -0.015890103, 0.09766256, 0.047621883, -0.005980264, -0.02102074, 0.058904033, -0.012721662, -0.04240984, 0.028599694, -0.031879235, -0.09010318, -0.0645402, 0.054281007, -0.082549445) * conv2d_4_3_texOff(vec2(1, 1)); + result += mat4(-0.091450416, 0.06823795, -0.047209784, -0.021595096, 0.18368845, -0.033119474, 0.037184704, -0.14450079, -0.006730331, -0.045345884, -0.047405306, -0.022313895, 0.08320054, -6.6373104e-05, 0.049354605, 0.05473569) * conv2d_4_4_texOff(vec2(-1, -1)); + result += mat4(0.010599693, -0.033871964, 0.08865197, -0.07120556, 0.2243022, -0.043618366, -0.024650443, -0.03107622, -0.07248459, -0.0060660513, -0.015784867, -0.025589678, 0.00039407247, 0.013996792, 0.11280169, 0.011401994) * conv2d_4_4_texOff(vec2(0, -1)); + result += mat4(0.09200231, 0.05192783, 0.037400156, -0.050846703, 0.035394825, 0.028383521, 0.053883303, 0.01812208, 0.0362687, -0.100066334, 0.07586878, -0.05114945, -0.03126923, 0.08520733, -0.026446797, 0.011980953) * conv2d_4_4_texOff(vec2(1, -1)); + result += mat4(0.06071653, 0.15951839, 0.06685639, -0.10666966, -0.158203, 0.17492393, 0.32272932, 0.03761915, -0.035367247, 0.02447374, -0.08521716, 0.0817251, 0.060914174, 0.054594386, -0.066563554, -0.004885275) * conv2d_4_4_texOff(vec2(-1, 0)); + result += mat4(-0.07185054, -0.026100524, 0.06956391, 0.05798612, 0.062055107, -0.07788397, -0.2215335, -0.09710465, -0.03763547, -0.026498605, 0.022033837, -0.056696787, -0.016676592, 0.049264174, -0.14244097, -0.14548786) * conv2d_4_4_texOff(vec2(0, 0)); + result += mat4(-0.00030008418, 0.022883503, 0.046351213, 0.016647276, -0.09939703, 0.06860946, 0.027000569, -0.003637559, 0.014364105, 0.0436147, 0.02167385, -0.035235547, 0.02709174, 0.12448186, -0.077609, -0.06734911) * conv2d_4_4_texOff(vec2(1, 0)); + result += mat4(0.035540726, 0.082818285, 0.10640225, 0.055520054, 0.25656837, -0.07521005, -0.26976293, -0.20682111, -0.0010873412, -0.0076049403, 0.026772115, 0.070052534, -0.053952504, -0.04264002, -0.07538074, -0.010789174) * conv2d_4_4_texOff(vec2(-1, 1)); + result += mat4(0.022577604, -0.032595128, 0.05581884, -0.05637496, 0.1134154, -0.007498883, -0.0074866195, -0.020146132, -0.0060545104, 0.04140638, 0.011553352, -0.007779658, -0.05035119, 0.04231533, -0.1159343, -0.041411404) * conv2d_4_4_texOff(vec2(0, 1)); + result += mat4(-0.033997674, -0.01300362, 0.060521204, 0.030843811, 0.09011756, -0.04444579, 0.010557366, 0.06390006, 0.03865942, 0.038038485, 0.032360643, 0.03175655, -0.048345692, -0.053713158, 0.042862546, 0.01999215) * conv2d_4_4_texOff(vec2(1, 1)); + result += mat4(-0.009029654, -0.015839593, -0.0008415983, 0.029903138, 0.027293481, -0.040350307, -0.13115652, 0.027611844, -0.06053977, 0.061337072, 0.068989396, 0.09488203, -0.086118855, -0.042966396, 0.05332237, -0.03993151) * conv2d_4_5_texOff(vec2(-1, -1)); + result += mat4(0.033072893, -0.02301849, 0.09666164, -0.021674484, 0.03977146, 0.021081645, -0.031614874, 0.011723562, 0.00068165746, -0.093443856, -0.087376624, -0.052463725, 0.13523975, 0.021700632, -0.047988154, -0.024414755) * conv2d_4_5_texOff(vec2(0, -1)); + result += mat4(-0.003364507, 0.059604894, -0.016751902, 0.011191916, 0.04449777, -0.061399654, -0.10788696, 0.0064491476, 0.008358763, -0.024177141, 0.0068715597, 0.061484665, -0.012053949, 0.08702497, -0.015229336, -0.07036682) * conv2d_4_5_texOff(vec2(1, -1)); + result += mat4(0.017904243, -0.10239701, 0.031578973, 0.1432706, -0.047830492, 0.030587513, -0.06351282, -0.07946193, 0.009548698, -0.13196263, 0.077317916, 0.06651956, 0.051394757, -0.06613251, -0.039217785, -0.000102161626) * conv2d_4_5_texOff(vec2(-1, 0)); + result += mat4(0.026882699, 0.0076133595, -0.011881761, 0.083685525, -0.048107, -0.079271294, -0.08940324, -0.015527074, 0.0681865, -0.08179548, -0.07184748, -0.027342843, -0.035955604, 0.028861145, -0.0025470247, 0.099347614) * conv2d_4_5_texOff(vec2(0, 0)); + result += mat4(-0.018467726, -0.027150752, -0.07124559, -0.0808282, -0.111350276, -0.08718776, -0.05898684, -0.10300843, 0.09388607, -0.08031927, -0.05213167, -0.05010138, 0.09795802, -0.043414343, -0.013442392, 0.06726497) * conv2d_4_5_texOff(vec2(1, 0)); + result += mat4(-0.061113965, 0.05249573, -0.013291015, -0.027990464, 0.07525972, -0.037400562, -0.027570518, 0.03025376, 0.058301542, -0.00991113, -0.04094608, 0.06037023, 0.068298265, 0.07331197, -0.062976345, -0.0815164) * conv2d_4_5_texOff(vec2(-1, 1)); + result += mat4(0.033827167, -0.005867483, -0.10483641, -0.0673539, 0.033584747, -0.027236478, -0.0021427039, -0.07869041, -0.01493794, 0.021678748, -0.06109411, -0.017292952, 0.030456912, 0.077925794, -0.021568073, -0.054193225) * conv2d_4_5_texOff(vec2(0, 1)); + result += mat4(-0.04762376, 0.025418248, 0.0025025953, -0.11649213, -0.008234075, 0.03518229, -0.032501448, -0.07989873, 0.047708966, -0.005987734, 0.03900678, 0.042927586, 0.025329221, -0.03461939, -0.039206788, 0.08232059) * conv2d_4_5_texOff(vec2(1, 1)); + result += mat4(-0.03826938, 0.011680362, 0.07731792, -0.06684018, 0.06040148, -0.027300991, -0.035361104, 0.043682802, 0.10329265, -0.055681083, -0.009697752, 0.015017509, 0.07700184, -0.004714174, -0.03362555, -0.0047102342) * conv2d_4_6_texOff(vec2(-1, -1)); + result += mat4(0.13924372, -0.0690446, 0.022191914, -0.12541771, 0.061454188, 0.01673397, -0.068967514, 0.06401603, 0.08639304, -0.14596094, 0.03429848, -0.07712268, 0.13027209, 0.028841615, -0.068355925, 0.012548832) * conv2d_4_6_texOff(vec2(0, -1)); + result += mat4(0.024495505, -0.056479745, -0.042414196, -0.00951063, -0.031538535, -0.03353232, 0.0033490192, 0.011012555, 0.040643983, -0.0065900423, 0.04440702, 0.07220398, 0.045626614, 0.021800417, 0.124882095, 0.118016414) * conv2d_4_6_texOff(vec2(1, -1)); + result += mat4(0.12942523, -0.004802336, -0.02056276, 0.01726196, 0.006923887, -0.011416048, -0.025601696, -0.02324903, -0.06723031, -0.0011436995, 0.04613145, 0.016824527, -0.11203403, -0.00091890263, -0.109971896, 0.055671837) * conv2d_4_6_texOff(vec2(-1, 0)); + result += mat4(0.0064730593, -0.056771252, -0.022314271, -0.13377938, 0.030712241, -0.040122893, -0.061507415, -0.030837838, -0.073205836, 0.07760601, 0.09313948, -0.038571, -0.015589485, 0.06175334, -0.05960568, 0.016294312) * conv2d_4_6_texOff(vec2(0, 0)); + result += mat4(-0.059321616, 0.041926414, 0.068366356, -0.07494138, 0.008720035, 0.104823604, -0.04432755, 0.061935626, 0.013494984, 0.009429721, 0.09286653, 0.012558406, 0.009171961, -0.009844101, -0.03379411, 0.11758488) * conv2d_4_6_texOff(vec2(1, 0)); + result += mat4(-0.030894462, -0.033103596, -0.03778012, -0.067914985, -0.05351728, -0.06479064, -0.016870918, -0.09408398, -0.08043218, -0.015742619, -0.01484155, 0.012425478, 0.047873296, -0.04742287, 0.05957968, -0.0005618238) * conv2d_4_6_texOff(vec2(-1, 1)); + result += mat4(0.059685986, -0.013049472, -0.05666807, -0.00968682, -0.10455128, -0.07583545, 0.048583936, -0.007676874, 0.05676029, -0.048909135, -0.0019415809, 0.068293236, 0.027117664, -0.017194163, 0.094369866, 0.05667501) * conv2d_4_6_texOff(vec2(0, 1)); + result += mat4(0.031075524, -0.033919692, 0.068281, -0.026723804, -0.07270547, -0.004834097, -0.04459098, 0.04327511, 0.0012198207, 0.07535258, 0.00040769888, 0.018127592, 0.050823737, 0.026912814, -0.07275788, -0.032447472) * conv2d_4_6_texOff(vec2(1, 1)); + result += mat4(-0.021461288, 0.020990511, 0.10006202, 0.0083914315, 0.0019283592, -0.09763618, -0.090835005, -0.009497216, 0.017019127, -0.093741484, 0.010192886, -0.05353938, -0.03774787, -0.08022948, 0.0068344646, -0.015532838) * conv2d_4_7_texOff(vec2(-1, -1)); + result += mat4(-0.08368494, -0.05503489, 0.07188303, -0.011911395, 0.08884825, -0.0015604271, -0.11350201, 0.061944272, 0.016814282, -0.10553847, -0.0017305467, 0.022885334, 0.0083703855, 0.00230571, -0.010123704, -0.07190447) * conv2d_4_7_texOff(vec2(0, -1)); + result += mat4(0.018472152, -0.021339577, 0.051397167, -0.024673272, -0.010886927, -0.13126023, 0.080665104, 0.04719417, -0.08153049, -0.027909016, -0.056776077, 0.014227528, 0.01062346, 0.056648493, 0.0370948, -0.0843458) * conv2d_4_7_texOff(vec2(1, -1)); + result += mat4(0.056890644, -0.019398227, 0.04421708, 0.123132974, 0.071698084, -0.0015067573, -0.0061808955, -0.010428517, 0.025756804, -0.08145282, 0.11189795, -0.035047166, 0.06368638, 0.10706635, -0.022892322, 0.0732603) * conv2d_4_7_texOff(vec2(-1, 0)); + result += mat4(-0.0208906, 0.014064872, 0.025122993, 0.080707096, 0.0925971, -0.03994455, -0.044639815, 0.026335329, -0.0123001365, 0.042202212, -0.07550079, -0.10712752, 0.010719375, -0.08303557, -0.04082365, -0.1434208) * conv2d_4_7_texOff(vec2(0, 0)); + result += mat4(0.011365811, -0.011319931, -0.088007614, 0.06914035, -0.00035818605, -0.04327692, 0.039622106, -0.014314688, -0.043067418, 0.07676943, -0.0645869, -0.007152693, -0.019215066, 0.062659636, -0.040148072, -0.072568715) * conv2d_4_7_texOff(vec2(1, 0)); + result += mat4(-0.06260198, -0.021592585, 0.051272288, 0.0149572, -0.060935963, 0.024973173, 0.04874284, 0.006408399, -0.066549696, -0.018406643, -0.044902887, -0.090200216, 0.10648487, 0.060248017, 0.062366378, 0.02011354) * conv2d_4_7_texOff(vec2(-1, 1)); + result += mat4(-0.049338702, -0.08505236, -0.020702435, -0.08719552, 0.03119708, 0.07414778, -0.07192403, 0.03382124, 0.11760936, -0.08562826, 0.06085735, 0.075226806, -0.025861744, 0.09010827, -0.09700145, -0.049685273) * conv2d_4_7_texOff(vec2(0, 1)); + result += mat4(-0.027805904, 0.01296522, -0.0036581114, -0.07801545, 0.066172354, -0.008460442, -0.07732261, 0.08201733, 0.020809105, -0.033417676, 0.08031244, -0.07328894, -0.11427932, 0.028229544, 0.056098722, -0.026376273) * conv2d_4_7_texOff(vec2(1, 1)); + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-5) +//!HOOK LUMA +//!BIND conv2d_4_0 +//!BIND conv2d_4_1 +//!BIND conv2d_4_2 +//!BIND conv2d_4_3 +//!BIND conv2d_4_4 +//!BIND conv2d_4_5 +//!BIND conv2d_4_6 +//!BIND conv2d_4_7 +//!SAVE conv2d_5_7 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.005779137, 0.00042278095, -0.006643014, 0.0032105937); + result += mat4(-0.028253032, -0.086946264, -0.035641264, 0.017218307, -0.049524646, -0.0054218136, 0.07356867, 0.05497261, 0.0034967894, 0.08287484, 0.013626619, -0.05920321, -0.033626165, -0.029896446, 0.026358752, -0.042374063) * conv2d_4_0_texOff(vec2(-1, -1)); + result += mat4(-0.0109004015, 0.067438796, -0.12630554, 0.019525347, 0.037004344, -0.076981686, 0.020817578, 0.024258735, 0.003737925, 0.0043056384, -0.07315689, 0.21524364, 0.027668813, -0.08941938, -0.009379241, 0.024677476) * conv2d_4_0_texOff(vec2(0, -1)); + result += mat4(0.0069841966, 0.008775142, -0.0293509, 0.02190016, 0.026718711, -0.04174519, -0.0362867, -0.06309356, 0.0582507, -0.09112459, 0.020383934, 0.018116275, -0.04851339, -0.10327412, 0.03556169, -0.05733122) * conv2d_4_0_texOff(vec2(1, -1)); + result += mat4(0.14081758, 0.011671083, 0.010379509, 0.10333814, 0.0976033, 0.049594674, 0.10363215, 0.026326582, -0.05548824, -0.004862798, -0.016896252, -0.07550078, 0.012015258, -0.013939048, 0.05480079, -0.05350712) * conv2d_4_0_texOff(vec2(-1, 0)); + result += mat4(-0.010915985, -0.022584384, -0.045220412, -0.010074606, -0.08276838, 0.06411727, -0.1401672, 0.010118486, -0.046954926, 0.08351121, 0.069268845, 0.07963974, 0.041331515, -0.070004374, -0.0798327, -0.050694745) * conv2d_4_0_texOff(vec2(0, 0)); + result += mat4(0.017128536, 0.07098477, -0.09438486, 0.014294622, 0.12050743, -0.009372627, 0.020266727, 0.052830018, 0.0009557811, -0.079178505, 0.058548953, -0.07657645, 0.04692203, -0.014892061, -0.106876634, -0.009221883) * conv2d_4_0_texOff(vec2(1, 0)); + result += mat4(-0.07914881, 0.046544876, -0.047758054, -0.13949709, -0.0058449623, -0.021825003, 0.038034808, -0.01355967, -0.040756106, 0.044772614, -0.03521749, -0.035055663, 0.04153906, 0.028035518, -0.059809607, -0.00018377688) * conv2d_4_0_texOff(vec2(-1, 1)); + result += mat4(0.06903463, 0.040708173, 0.03880754, 0.087958686, 0.097045474, -0.026810037, -0.0912696, 0.15234607, -0.14135183, 0.044077586, -0.0027172116, 0.0036050698, -0.031176237, -0.087168194, -0.0052882144, -0.09792009) * conv2d_4_0_texOff(vec2(0, 1)); + result += mat4(-0.012559337, -0.0009580034, 0.017924711, 0.04447978, -0.090456165, 0.03693338, 0.07936274, -0.11123651, 0.05216649, -0.027916264, -0.01309539, -0.06458855, 0.0069010127, 0.0017482577, 0.00880386, 0.052460745) * conv2d_4_0_texOff(vec2(1, 1)); + result += mat4(0.036492657, -0.050502278, -0.008660938, -0.07902446, 0.049333423, -0.044341996, -0.008179306, -0.08201362, -0.09605504, 0.08511496, 0.041150153, 0.021596825, 0.09684253, -0.07860693, -0.01976016, -0.032737076) * conv2d_4_1_texOff(vec2(-1, -1)); + result += mat4(0.016381651, 0.09049819, 0.089420326, 0.016017415, 0.020983169, -0.0050337473, 0.05726063, -0.07228454, -0.04861632, -0.050195154, 0.034888323, 0.062370963, 0.0015738789, -0.07723301, 0.06401333, -0.058803145) * conv2d_4_1_texOff(vec2(0, -1)); + result += mat4(-0.07724018, -0.065496534, 0.110313416, 0.017269822, -0.016822288, 0.013604673, 0.00093475345, -0.085221775, 0.031109685, -0.025308603, 0.042456508, 0.0035059939, 0.08272418, -0.06560935, 0.07334858, 0.04430133) * conv2d_4_1_texOff(vec2(1, -1)); + result += mat4(-0.029242264, -0.046879888, 0.04996607, -0.054425325, 0.02972727, 0.004451307, 0.01412291, -0.08250154, -0.0981519, 0.03523192, -0.045271035, -0.024335135, -0.032067403, -0.04727411, 0.048816763, 0.037438437) * conv2d_4_1_texOff(vec2(-1, 0)); + result += mat4(0.054958478, 0.03190124, 0.07657767, -0.029615222, -0.031131336, -0.005139885, 0.13564779, -0.07076418, 0.11099956, -0.013317539, 0.00828025, 0.061199296, 0.01452047, -0.07083135, -0.09472059, 0.037591986) * conv2d_4_1_texOff(vec2(0, 0)); + result += mat4(-0.06627312, 0.13576345, 0.026791217, -0.05118388, -0.055035748, 0.04940249, 0.045775283, 0.06248826, -0.11060719, -0.0209596, 0.039903212, -0.05914595, -0.040312074, 0.0018348438, -0.022609726, -0.017266389) * conv2d_4_1_texOff(vec2(1, 0)); + result += mat4(0.024557697, -0.013285843, -0.0028270877, 0.072398074, 0.0255208, 0.048574004, 0.025271976, -0.045687232, 0.05402702, 0.01317333, -0.043156948, 0.06266694, -0.13753714, 0.18027213, 0.13111489, 0.13735925) * conv2d_4_1_texOff(vec2(-1, 1)); + result += mat4(0.015762536, 0.0018953091, 0.045992218, -0.112649515, -0.10324411, -0.011188894, -0.01431933, -0.052422065, -0.0075512812, -0.044456106, -0.021974204, -0.031512275, -0.18989961, 0.1367532, 0.041323584, -0.13469361) * conv2d_4_1_texOff(vec2(0, 1)); + result += mat4(0.035208344, -0.033864796, 0.10911213, -0.033643384, 0.027342383, -0.023280943, -0.032320783, 0.048167173, 0.056682847, 0.0012769927, 0.01862501, 0.012554472, -0.06446649, 0.039269954, 0.08076099, -0.017458223) * conv2d_4_1_texOff(vec2(1, 1)); + result += mat4(0.012885507, 0.009209736, -0.083865695, 0.07959508, -0.029333297, 0.082016714, -0.113179766, 0.08416138, 0.055223837, 0.014136866, 0.043214217, 0.045978114, -0.069610775, 0.08953053, 0.053672444, 0.06996034) * conv2d_4_2_texOff(vec2(-1, -1)); + result += mat4(-0.030470883, 0.0004462303, -0.087180026, -0.035695624, 0.04761456, 0.017006654, 0.19534618, 0.12106637, 0.03155006, -0.049480278, -0.01261452, 0.06423218, -0.007239843, 0.10188954, 0.10040688, 0.057698585) * conv2d_4_2_texOff(vec2(0, -1)); + result += mat4(-0.012375949, -0.07689353, 0.08656054, 0.015806638, -0.1314456, -0.030045927, 0.124375604, 0.14373706, -0.060269922, -0.030615028, 0.012693174, 0.102653876, 0.040096227, 0.03174741, -0.018729975, 0.08035056) * conv2d_4_2_texOff(vec2(1, -1)); + result += mat4(0.02323443, 0.06236653, -0.074340224, -0.046976063, -0.15379925, 0.04048903, 0.040640913, -0.112237886, 0.0427239, 0.047402807, -0.057280965, 0.08461352, -0.1073478, -0.031918198, 0.031302694, 0.026583867) * conv2d_4_2_texOff(vec2(-1, 0)); + result += mat4(-0.056239486, -0.11865469, 0.037415013, 0.023096764, -0.15692729, -0.13073564, 0.035166074, -0.07427562, -0.02479855, 0.027565107, -0.02992471, 0.15682185, -0.007260976, -0.0440398, 0.086759746, 0.0042956667) * conv2d_4_2_texOff(vec2(0, 0)); + result += mat4(-0.08959485, -0.019754449, 0.14104061, -0.021443676, -0.06406621, 0.0005579906, 0.007923884, 0.0014948547, -0.111523256, -0.047221445, -0.04029775, 0.016153418, 0.00063455815, 0.04410781, 0.01885558, 0.0055520013) * conv2d_4_2_texOff(vec2(1, 0)); + result += mat4(0.034323674, 9.460711e-05, -0.0007359895, -0.027046464, 0.04318669, -0.08414971, 0.05686807, -0.023323342, 0.010228248, 0.08683357, 0.038528107, 0.10805178, -0.023680026, -0.004755313, -0.03389245, 0.012734498) * conv2d_4_2_texOff(vec2(-1, 1)); + result += mat4(0.012236106, -0.07203773, -0.008608118, 0.0024575603, -0.04232684, -0.019230453, 0.029250728, -0.05603258, -0.0801214, -0.06978866, -0.08000279, 0.037450425, 0.0781729, 0.037768207, -0.004335589, 0.05682063) * conv2d_4_2_texOff(vec2(0, 1)); + result += mat4(-0.00029580665, 0.07315774, 0.045308378, -0.076265015, 0.12535092, -0.009614463, -0.0073282174, -0.020524345, 0.07204918, 0.0830742, -0.029136293, -0.029060746, 0.0014572939, -0.0073374514, 0.032702744, -0.0013741754) * conv2d_4_2_texOff(vec2(1, 1)); + result += mat4(-0.0032954097, -0.016095692, -0.046177033, -0.20780128, 0.015440438, -0.01085817, 0.02067063, 0.031933248, -0.06932332, 0.028807284, -0.032100406, 0.18879421, 0.021844642, 0.08987261, 0.010740873, -0.06353127) * conv2d_4_3_texOff(vec2(-1, -1)); + result += mat4(0.060457878, -0.0349731, -0.11675425, 0.0062023536, 0.012601688, -0.020256445, 0.001955131, -0.07574461, -0.03758155, -0.056676507, 0.076893575, 0.09114341, -0.04868475, 0.09959766, 0.052856904, 0.100737385) * conv2d_4_3_texOff(vec2(0, -1)); + result += mat4(-0.021795077, 0.0025798948, -0.081038505, 0.009231524, 0.06075437, 0.035809893, 0.106640905, -0.013391686, 0.049030513, 0.0073588816, 0.024329936, -0.030877892, -0.00467403, 0.10419009, 0.02175774, 0.043493915) * conv2d_4_3_texOff(vec2(1, -1)); + result += mat4(-0.044691026, 0.035652388, -0.04945686, 0.02091936, 0.003205286, 0.058965426, 0.010397615, -0.09550528, -0.08540447, 0.024840433, 0.09776307, 0.1251076, 0.021055054, 0.027489662, -0.00827197, 0.15326947) * conv2d_4_3_texOff(vec2(-1, 0)); + result += mat4(0.13028722, 0.007735435, 0.07583083, -0.050559662, -0.13549076, -0.029697148, 0.029114546, -0.041852545, -0.059823073, -0.09515554, 0.10153633, -0.014494054, -0.09433562, 0.019888455, 0.036210135, -0.02034067) * conv2d_4_3_texOff(vec2(0, 0)); + result += mat4(-0.01574288, -0.019830547, -0.03075631, -0.117404155, 0.038604237, -0.009174605, 0.10562968, -0.041399606, -0.056875255, 0.07832329, -0.07756351, -0.019934412, -0.003634435, 0.016883012, -0.06603365, 0.1356531) * conv2d_4_3_texOff(vec2(1, 0)); + result += mat4(-0.053368345, -0.079521164, -0.06285646, 0.09585588, 0.03153313, 0.0076762345, 0.052269936, 0.043962006, 0.009036366, -0.041440748, 0.046687778, 0.09949121, 0.050993524, -0.02714463, -0.02659766, 0.11569393) * conv2d_4_3_texOff(vec2(-1, 1)); + result += mat4(-0.032954596, 0.03213268, -0.12177888, -0.05651094, 0.024796236, -0.03921594, -0.017488321, -0.0028232986, -0.04034271, 0.020432452, -0.010275974, -0.055891175, 0.007358546, -0.0067139715, -0.03814775, -0.040403523) * conv2d_4_3_texOff(vec2(0, 1)); + result += mat4(-0.081584744, 0.053192515, -0.0037527955, 0.08946813, 0.016415672, -0.032996252, 0.02619047, -0.02667242, 0.049990505, -0.0032465924, 0.04463879, 0.016481372, 0.060604975, -0.0037830793, -0.060693447, 0.04562253) * conv2d_4_3_texOff(vec2(1, 1)); + result += mat4(-0.00586133, -0.030767668, 0.08056091, -0.08942766, 0.23069814, 0.18360853, 0.110741206, -0.050012648, -0.020870673, -0.02292241, 0.06309026, 0.028831132, -0.03729215, -0.045939542, -0.057772703, -0.04261544) * conv2d_4_4_texOff(vec2(-1, -1)); + result += mat4(0.02583127, 0.03895145, -0.036418207, -0.03662379, -0.0790851, -0.03179599, 0.01017485, -0.07021439, 0.004541492, 0.0019216574, 0.034581125, -0.07219656, -0.09391331, 0.005159334, -0.088578984, 0.063212015) * conv2d_4_4_texOff(vec2(0, -1)); + result += mat4(-0.013821276, 0.030899415, -0.07698804, 0.023868144, -0.055200823, 0.04935741, -0.033050254, -0.06903777, -0.030846382, -0.049522337, 0.020195458, -0.071564645, -0.023807852, -0.053124417, 0.08241967, -0.02004951) * conv2d_4_4_texOff(vec2(1, -1)); + result += mat4(0.026447354, -0.025564468, -0.059129674, 0.047770895, -0.08645755, -0.11861152, -0.14027037, -0.01324522, -0.0033693195, -0.0068324124, -0.0018775514, -0.033316128, 0.07090098, -0.080856994, -0.09768395, -0.01709052) * conv2d_4_4_texOff(vec2(-1, 0)); + result += mat4(0.028721005, 0.053287923, 0.012443694, 0.11419668, 0.012500333, 0.025011063, 0.026921269, -0.19173251, -0.03905899, -0.061321665, 0.010901208, -0.069761895, 0.11869526, -0.07477699, 0.047591023, 0.11170034) * conv2d_4_4_texOff(vec2(0, 0)); + result += mat4(-0.026094835, -0.0882828, 0.053042535, -0.05047946, 0.023486467, -0.07057464, -0.017720966, 0.020289524, 0.015617883, -0.07863495, 0.0054048086, -0.012265838, -0.0148286475, -0.055572245, -0.01100208, 0.017281074) * conv2d_4_4_texOff(vec2(1, 0)); + result += mat4(-0.0063621923, 0.025807178, 0.08428081, -0.023606176, 0.2226884, -0.07160978, 0.12759535, 0.06945388, 0.05560955, -0.008257105, 0.01537838, 0.01614742, -0.066194296, -0.10572095, -0.10534224, 0.0046508303) * conv2d_4_4_texOff(vec2(-1, 1)); + result += mat4(-0.023385031, -0.08905974, 0.017809924, 0.02866596, 0.04247738, 0.018570494, -0.037092164, -0.057012133, 0.012409094, 0.08593214, 0.018362375, 0.02058307, 0.04138473, -0.014772487, -0.040718976, -0.007828772) * conv2d_4_4_texOff(vec2(0, 1)); + result += mat4(0.04112366, -0.0054324768, 0.04197312, 0.061038304, 0.05609176, -0.03593342, 0.008359415, -0.02862617, 0.021617506, 0.09178711, -0.040604178, -0.026081266, -0.0397593, -0.07465108, -0.01517048, -0.022273866) * conv2d_4_4_texOff(vec2(1, 1)); + result += mat4(0.10604568, -0.041724853, 0.03275467, 0.03611845, 0.013727458, -0.096504584, 0.024098394, -0.0137674, -0.025301093, -0.019138157, 0.06707469, 0.027643962, 0.009583311, 0.01871023, 0.017534897, -0.0060215113) * conv2d_4_5_texOff(vec2(-1, -1)); + result += mat4(-0.096569724, -0.01859128, -0.049109146, -0.05053281, 0.015630757, -0.0016983232, -0.11833674, -0.071809515, -0.08516837, -0.046112124, 0.09002566, -0.101535976, 0.07432672, -0.032197103, -0.067913175, -0.0029871948) * conv2d_4_5_texOff(vec2(0, -1)); + result += mat4(-0.035411905, 0.035405196, 0.105476595, 0.04239974, 0.05558048, -0.10074761, -0.029263338, -0.08129134, 0.03146499, 0.029092275, 0.065852016, 0.099371314, -0.09343022, -0.050908532, -0.017134879, -0.02413823) * conv2d_4_5_texOff(vec2(1, -1)); + result += mat4(-0.104144655, -0.029489527, 0.04058192, 0.012844405, -0.093295485, -0.06256186, -0.008842649, 0.10394541, -0.011332068, -0.07927043, -0.015468125, -0.075525984, -0.06697549, 0.06375462, 0.058515925, 0.027642144) * conv2d_4_5_texOff(vec2(-1, 0)); + result += mat4(-0.062761106, -0.039256804, 0.02317152, -0.07249235, -0.13299364, -0.084803075, 0.1385897, 0.08382741, -0.009642627, -0.07024112, -0.08902621, -0.0021533465, -0.039810337, -0.0007204689, -0.046018668, -0.050898086) * conv2d_4_5_texOff(vec2(0, 0)); + result += mat4(0.06301794, 0.08006524, -0.030382873, -0.032168128, -0.029826796, -0.0875045, 0.094020166, 0.023693347, -0.05741185, -0.041021023, 0.06600824, -0.06647878, -0.07037752, -0.040301554, 0.075893566, -0.00042456354) * conv2d_4_5_texOff(vec2(1, 0)); + result += mat4(0.064054534, -0.0035670786, 0.059994094, 0.10326256, -0.12318841, 0.13558021, 0.0125090545, -0.058484852, 0.096616335, -0.03896643, -0.046371512, 0.040114827, 0.0448459, 0.007284289, -0.013928766, 0.01218525) * conv2d_4_5_texOff(vec2(-1, 1)); + result += mat4(-0.091265164, -0.027797788, -0.00027912782, -0.12877208, -0.07484913, 0.008016232, -0.08641135, -0.0481376, -0.07420048, 0.10089178, 0.047982827, -0.060796704, -0.059346393, -0.04612916, 0.033882458, 0.026728494) * conv2d_4_5_texOff(vec2(0, 1)); + result += mat4(-0.047066413, 0.07873844, 0.026105905, -0.1600929, -0.024608573, 0.09947426, 0.065639384, 2.7922863e-05, -0.031117005, -0.059582736, 0.015552532, 0.028383661, -0.01083358, 0.010308079, 0.06189786, -0.03700117) * conv2d_4_5_texOff(vec2(1, 1)); + result += mat4(-0.1442446, 0.15159792, 0.06343997, -0.022044217, -0.03377897, 0.04669872, -0.023816962, 0.014196352, -0.011626502, -0.0029249247, -0.057205275, -0.0032677671, 0.05588748, 0.010942478, 0.03757651, -0.04583985) * conv2d_4_6_texOff(vec2(-1, -1)); + result += mat4(0.019644715, 0.09338746, 0.19974399, 0.046979226, 0.03335496, 0.06205432, -0.016096322, 0.026181635, -0.020302778, -0.14820248, -0.0120246, 0.018365309, -0.08204863, -0.022086052, 0.106557064, 0.046494488) * conv2d_4_6_texOff(vec2(0, -1)); + result += mat4(-0.03892152, -0.057821486, 0.009219285, 0.07812219, -0.059700165, 0.04451283, -0.023670744, 0.0031098856, 0.02094949, 0.028182458, -0.07822925, -0.13244633, -0.01076856, 0.021887662, 0.007603247, 0.03295925) * conv2d_4_6_texOff(vec2(1, -1)); + result += mat4(-0.029050346, 0.064270094, 0.04270021, -0.025242139, -0.023225592, 0.06949003, -0.009655899, -0.07066359, 0.066757694, 0.0059521087, -0.017846324, -0.0069171195, -0.06053091, 0.001433407, -0.058130518, 0.07585283) * conv2d_4_6_texOff(vec2(-1, 0)); + result += mat4(-0.04534983, -0.045351516, 0.030745754, -0.10620418, 0.056526408, 0.024354113, 0.07454341, -0.09229674, -0.04206519, 0.0071727363, 0.026720759, 0.026613742, 0.0021545081, -0.0408902, -0.036763985, -0.017053159) * conv2d_4_6_texOff(vec2(0, 0)); + result += mat4(0.042160913, -0.06335052, 0.052078463, -0.04297389, -0.09606052, -5.2382667e-05, -0.054684833, 0.061335463, -0.030644264, -0.04935092, -0.06503015, 0.05564371, 0.017072078, 0.019519145, -0.0938524, 0.019229425) * conv2d_4_6_texOff(vec2(1, 0)); + result += mat4(-0.045002304, -0.075021185, 0.04329888, 0.01489173, 0.055737372, -0.047687203, 0.023502018, -0.078056596, -0.0847728, -0.007869255, 0.05368628, 0.04841905, -0.008667658, 0.053759273, -0.06650258, 0.031134877) * conv2d_4_6_texOff(vec2(-1, 1)); + result += mat4(-0.111246385, 0.026758008, 0.01646261, -0.06806571, 0.078242436, 0.006063244, -0.018738419, 0.04650492, 0.036844768, 0.050989438, -0.039208256, 0.056157537, 0.006354117, 0.08693057, 0.056273468, 0.02091445) * conv2d_4_6_texOff(vec2(0, 1)); + result += mat4(0.022977374, -0.0014300833, 0.062207952, -0.095694505, -0.10741718, -0.00050973345, -0.031657964, 0.036381297, 0.00896154, 0.07896397, 0.016439738, -0.017416283, -0.0031610092, -0.045621984, 0.10429879, 0.10542718) * conv2d_4_6_texOff(vec2(1, 1)); + result += mat4(0.04796138, 0.04415909, -0.0021250215, -0.087782644, -0.0071251593, -0.048251912, -0.12235456, 0.062835224, 0.011508803, -0.036585294, -0.0426859, -0.04978311, -0.07948074, -0.06722222, 0.007934674, 0.019564953) * conv2d_4_7_texOff(vec2(-1, -1)); + result += mat4(-0.03204764, -0.10523549, 0.027641624, -0.07667062, 0.1354586, 0.016092792, 0.09972025, 0.012906847, -0.033743937, 0.07147002, 0.034713827, 0.043930236, 0.014883329, 0.02524039, 0.026734399, 0.030716382) * conv2d_4_7_texOff(vec2(0, -1)); + result += mat4(-0.043743636, 0.0029258747, -0.02473737, 0.061607964, 0.0028393453, 0.0381262, 0.11229226, -0.18048024, 0.012362399, -0.004974342, -0.039110374, -0.11029301, -0.06889716, 0.011196136, 0.066405274, 0.10036628) * conv2d_4_7_texOff(vec2(1, -1)); + result += mat4(0.07871994, -0.00099768, -0.0750482, -0.026606226, -0.051590253, -0.012234833, 0.030981906, -0.031416766, -0.02848297, 0.058172315, 0.06233239, 0.032706115, -0.060493603, 0.04980745, 0.04306429, -0.031099973) * conv2d_4_7_texOff(vec2(-1, 0)); + result += mat4(-0.061602265, 0.07691331, -0.055697855, 0.0050246464, -0.06305271, -0.0736643, 0.021433018, -0.07474178, -0.105606355, 0.014244165, 0.07914348, -0.11292411, -0.095335886, -0.071094394, -0.07282101, -0.07422806) * conv2d_4_7_texOff(vec2(0, 0)); + result += mat4(0.07029004, 0.018697945, 0.0022270917, -0.009476005, -0.04571607, -0.022667216, 0.046978887, 0.028764354, 0.071321316, 0.008898331, 0.023918873, 0.05202203, -0.0856404, 0.06693358, 0.016701309, -0.009749524) * conv2d_4_7_texOff(vec2(1, 0)); + result += mat4(0.061513748, 0.026849693, -0.01561694, 0.065646306, 0.041385055, 0.099377155, -0.016654817, 0.0693534, -0.011715889, -0.038535345, 0.11338716, 0.024648137, 0.0459147, 0.06131176, -0.0041660555, 0.06061415) * conv2d_4_7_texOff(vec2(-1, 1)); + result += mat4(0.059321817, -0.05359826, 0.00025477225, -0.0011721341, -0.12417827, -0.079942554, 0.040795583, -0.09183394, -0.07899908, -0.024261517, 0.051511224, 0.060799964, -0.010897694, 0.024622234, 0.06460701, -0.12333705) * conv2d_4_7_texOff(vec2(0, 1)); + result += mat4(-0.07917502, 0.048086353, 0.07050766, -0.004076172, 0.006657389, 0.023776792, 0.101774, -0.02063244, -0.013669324, -0.0954094, -0.011442866, -0.01449291, 0.024887312, -0.046713404, 0.009987978, -0.056528244) * conv2d_4_7_texOff(vec2(1, 1)); + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Conv2D-6) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_5_0 +//!BIND conv2d_1 +//!BIND conv2d_5_1 +//!BIND conv2d_2 +//!BIND conv2d_5_2 +//!BIND conv2d_3 +//!BIND conv2d_5_3 +//!BIND conv2d_4 +//!BIND conv2d_5_4 +//!BIND conv2d_5 +//!BIND conv2d_5_5 +//!BIND conv2d_6 +//!BIND conv2d_5_6 +//!BIND conv2d_7 +//!BIND conv2d_5_7 +//!SAVE conv2d_6_0 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.024332196, 0.027890053, 0.015494279, 0.016373875); + result += mat4(-0.006710672, 0.10819825, 0.10657426, 0.121869884, 0.025277061, -0.08890546, 0.13596319, -0.027210604, 0.11416734, -0.10976065, 0.025073212, -0.12764436, -0.09484653, 0.12168227, 0.032338645, -0.07086558) * (conv2d_5_0_texOff(vec2(-1, -1)) + conv2d_0_texOff(vec2(-1, -1))); + result += mat4(-0.080231845, 0.041402802, 0.099971466, -0.008647712, 0.07844788, -0.07943739, 0.08147172, 0.0788801, 0.12932019, 0.12981597, 0.117202364, 0.04055169, -0.060325406, -0.03475144, -0.108370595, -0.11363518) * (conv2d_5_0_texOff(vec2(0, -1)) + conv2d_0_texOff(vec2(0, -1))); + result += mat4(-0.080192536, -0.017889569, -0.0064460984, -0.06696428, 0.080490634, -0.05546327, -0.11690986, -0.07888482, 0.12720379, -0.020063436, 0.069880545, 0.13812047, -0.12683728, -0.0171501, 0.054349907, -0.052623987) * (conv2d_5_0_texOff(vec2(1, -1)) + conv2d_0_texOff(vec2(1, -1))); + result += mat4(-0.11765887, 0.078459986, 0.046103798, -0.11227527, -0.11008721, 0.04433821, -0.11669834, -0.07897192, -0.06989865, -0.027661398, 0.10944971, -0.0013382061, 0.14258613, -0.06983092, -0.116013855, 0.16695975) * (conv2d_5_0_texOff(vec2(-1, 0)) + conv2d_0_texOff(vec2(-1, 0))); + result += mat4(0.022626203, -0.114210404, 0.10560931, -0.07228, -0.07698427, 0.0022480823, -0.017202422, -0.009761992, 0.13241181, -0.047580317, -0.13362494, 0.029388865, -0.030412393, -0.09364824, -0.06483027, 0.0003325324) * (conv2d_5_0_texOff(vec2(0, 0)) + conv2d_0_texOff(vec2(0, 0))); + result += mat4(0.025818298, -0.12567253, 0.030373678, 0.045762517, 0.10901701, -0.07701056, 0.04559262, -0.037811738, 0.04022117, -0.059237994, -0.09312746, 0.119778536, -0.08168876, 0.042113364, 0.07221957, -0.036318004) * (conv2d_5_0_texOff(vec2(1, 0)) + conv2d_0_texOff(vec2(1, 0))); + result += mat4(-0.13170034, 0.0656528, 0.043564245, -0.0636066, -0.054903667, 0.07990299, 0.11609635, -0.0352888, -0.020488242, -0.06845429, 0.08058064, 0.0013488773, 0.10529079, 0.09782611, 0.15135156, 0.18203229) * (conv2d_5_0_texOff(vec2(-1, 1)) + conv2d_0_texOff(vec2(-1, 1))); + result += mat4(-0.10523215, -0.1459082, 0.0853668, -0.047894467, -0.07931036, -0.08851267, -0.019642526, 0.03679236, 0.10392002, -0.09171063, 0.13560952, 0.03453783, 0.0633279, -0.058131102, -0.048016973, 0.031710938) * (conv2d_5_0_texOff(vec2(0, 1)) + conv2d_0_texOff(vec2(0, 1))); + result += mat4(-0.019861273, -0.064092435, 0.041742355, -0.016603328, -0.10051236, 0.08838123, 0.042477183, 0.06702887, -0.030780273, -0.105108425, -0.039323624, 0.1314233, 0.018433986, 0.04474921, 0.01597495, -0.07224123) * (conv2d_5_0_texOff(vec2(1, 1)) + conv2d_0_texOff(vec2(1, 1))); + result += mat4(0.051710833, -0.06724883, -0.071763754, 0.005004278, 0.07806602, 0.012768872, -0.0096296435, 0.025604242, 0.06131592, 0.1364236, 0.036816094, 0.070851825, 0.09257616, 0.036888454, 0.018328179, -0.06820204) * (conv2d_5_1_texOff(vec2(-1, -1)) + conv2d_1_texOff(vec2(-1, -1))); + result += mat4(0.14497851, -0.056553476, -0.030701663, 0.0986112, -0.057493918, -0.009646267, -0.055261977, 0.047252905, 0.067193136, -0.08944045, 0.07775158, -0.08988222, -0.13941595, 0.007352336, -0.04751652, 0.04456369) * (conv2d_5_1_texOff(vec2(0, -1)) + conv2d_1_texOff(vec2(0, -1))); + result += mat4(-0.0851253, -0.03156393, 0.02710076, 0.13900077, 0.039868962, 0.057358436, 0.057019487, 0.095474504, 0.09108698, 0.1449051, -0.058969073, 0.16053016, -0.14412206, -0.0012964082, -0.077745385, -0.09903667) * (conv2d_5_1_texOff(vec2(1, -1)) + conv2d_1_texOff(vec2(1, -1))); + result += mat4(-0.03367852, -0.044748414, 0.07964608, 0.010960478, 0.06025874, 0.033652674, 0.04152843, -0.017580548, 0.045098636, -0.034885094, 0.050778005, -0.0848392, 0.0035125874, -0.056173045, 0.093170755, -0.09119204) * (conv2d_5_1_texOff(vec2(-1, 0)) + conv2d_1_texOff(vec2(-1, 0))); + result += mat4(0.11723456, 0.050840918, 0.10745895, -0.08094769, 0.09047693, -0.13055825, 0.073278144, -0.025213389, 0.15354241, -0.0035593838, -0.028231034, 0.08375466, 0.036006298, -0.10471177, -0.13691142, 0.07213895) * (conv2d_5_1_texOff(vec2(0, 0)) + conv2d_1_texOff(vec2(0, 0))); + result += mat4(0.112036616, 0.08674586, 0.09014681, -0.043824777, 0.013251182, -0.04812275, -0.115137085, -0.017566465, -0.047301505, 0.09536501, -0.10819733, 0.16084617, 0.09856737, 0.0061373473, -0.14974537, -0.11383502) * (conv2d_5_1_texOff(vec2(1, 0)) + conv2d_1_texOff(vec2(1, 0))); + result += mat4(-0.056016967, -0.04915487, 0.12933904, -0.09473493, -0.06609004, 0.042119008, -0.08838664, -0.025963169, -0.072978586, 0.13777608, 0.008948696, 0.053440217, -0.12426079, 0.03400561, -0.1429012, -0.1390262) * (conv2d_5_1_texOff(vec2(-1, 1)) + conv2d_1_texOff(vec2(-1, 1))); + result += mat4(0.03350481, -0.08000013, 0.03714285, -0.06897109, -0.050985653, 0.019555073, 0.06314639, -0.044453688, 0.109778054, 0.13156785, -0.025921397, 0.062934674, 0.012499731, -0.07981995, 0.01000116, -0.15340354) * (conv2d_5_1_texOff(vec2(0, 1)) + conv2d_1_texOff(vec2(0, 1))); + result += mat4(-0.031019023, 0.07389943, 0.09847652, -0.04417276, -0.104056194, 0.02175672, 0.0320549, -0.03858413, -0.020621315, -0.06512883, -0.052621383, -0.06936152, -0.080317155, -0.07204538, 0.025868552, -0.14942594) * (conv2d_5_1_texOff(vec2(1, 1)) + conv2d_1_texOff(vec2(1, 1))); + result += mat4(-0.04608968, 0.0040410273, -0.07665788, 0.020088613, -0.11267263, 0.032073364, 0.056263003, -0.030996138, -0.14928663, 0.03708502, 0.07262946, -0.0264557, -0.014090576, -0.034009222, -0.027032133, -0.13241303) * (conv2d_5_2_texOff(vec2(-1, -1)) + conv2d_2_texOff(vec2(-1, -1))); + result += mat4(-0.13648278, -0.062014904, -0.15131108, -0.11321863, -0.05088156, -0.022415351, -0.0068385606, 0.03962251, -0.13985574, -0.0514407, 0.061428037, -0.00055272545, -0.0071866736, 0.00882712, -0.040818002, 0.073940575) * (conv2d_5_2_texOff(vec2(0, -1)) + conv2d_2_texOff(vec2(0, -1))); + result += mat4(-0.04512339, 0.012584853, 0.11552134, -0.07305908, 0.1100757, -0.11626963, -0.049973026, -0.05585647, 0.07903468, -0.058530193, -0.029089991, -0.073072895, 0.020355307, 0.060374342, -0.06001928, 0.0534806) * (conv2d_5_2_texOff(vec2(1, -1)) + conv2d_2_texOff(vec2(1, -1))); + result += mat4(-0.021455918, 0.026797218, 0.09101826, -0.07623289, 0.007903418, 0.062276054, -0.0011424143, 0.124615386, 0.05897873, 0.041363213, 0.074513875, -0.06444271, -0.015417732, -0.0058667557, -0.06024877, -0.12692757) * (conv2d_5_2_texOff(vec2(-1, 0)) + conv2d_2_texOff(vec2(-1, 0))); + result += mat4(0.028936762, -0.06328201, -0.06426441, 0.10680767, -0.15971036, 0.038861603, -0.053866457, -0.014664326, -0.048359435, -0.05465547, -0.06373442, 0.011250136, 0.04141148, -0.08220522, 0.08109823, -0.032798376) * (conv2d_5_2_texOff(vec2(0, 0)) + conv2d_2_texOff(vec2(0, 0))); + result += mat4(0.08945093, 0.12442138, -0.1707947, 0.05647203, -0.0004306513, -0.07041601, 0.014339759, -0.043511342, 0.039874226, 0.015516885, -0.084379375, -0.034052704, 0.0900045, -0.13235609, -0.08580213, 0.08999805) * (conv2d_5_2_texOff(vec2(1, 0)) + conv2d_2_texOff(vec2(1, 0))); + result += mat4(-0.017412994, 0.11014566, 0.12253012, 0.005026838, 0.059158478, -0.073611684, -0.029981725, 0.09708247, 0.05958697, -0.060908318, -0.13897473, 0.020813474, -0.00079079793, 0.03715904, 0.015075314, 0.06690295) * (conv2d_5_2_texOff(vec2(-1, 1)) + conv2d_2_texOff(vec2(-1, 1))); + result += mat4(0.07790429, -0.007948237, 0.045086678, 0.0012081859, -0.018257523, 0.048969883, 0.019101735, 0.068658106, -0.0078714555, -0.045695495, -0.11741989, -0.13802846, 0.09428725, -0.043539643, 0.15167883, 0.0035436044) * (conv2d_5_2_texOff(vec2(0, 1)) + conv2d_2_texOff(vec2(0, 1))); + result += mat4(0.025892327, -0.04911562, 0.06134737, 0.031868502, -0.007445753, 0.11122707, 0.05307498, -0.029006518, 0.05033624, -0.026253862, 0.05013779, -0.11285227, -0.06953401, 0.10310922, -0.100386016, 0.05620094) * (conv2d_5_2_texOff(vec2(1, 1)) + conv2d_2_texOff(vec2(1, 1))); + result += mat4(-0.077580586, 0.054001298, 0.04505884, 0.013187809, 0.11572828, -0.13088605, 0.00025114065, 0.091532834, -0.091472015, 0.12651305, 0.1420044, 0.08917988, 0.093849905, -0.041656155, -0.07580995, 0.006666356) * (conv2d_5_3_texOff(vec2(-1, -1)) + conv2d_3_texOff(vec2(-1, -1))); + result += mat4(-0.010974683, 0.0811231, -0.08476847, 0.09136333, -0.111957, -0.097541735, -0.040693738, -0.026490033, -0.07881557, 0.020027341, 0.09265154, 0.0007222933, 0.081538305, -0.094166934, 0.043200314, -0.08018527) * (conv2d_5_3_texOff(vec2(0, -1)) + conv2d_3_texOff(vec2(0, -1))); + result += mat4(-0.015268724, -0.023986578, -0.048922077, 0.008354022, -0.064828925, 0.021863561, -0.0064881397, 0.08558727, 0.012093727, 0.08320732, -0.088256896, -0.06632737, 0.0629199, 0.015809372, 0.09720273, -0.02780842) * (conv2d_5_3_texOff(vec2(1, -1)) + conv2d_3_texOff(vec2(1, -1))); + result += mat4(-0.0021121064, 0.0024316027, -0.0855794, -0.15333039, 0.12999487, 0.012510921, -0.0743608, -0.073245935, -0.015078744, -0.092976175, 0.08323451, -0.11860701, -0.014579873, 0.12654348, 0.10828954, 0.056970198) * (conv2d_5_3_texOff(vec2(-1, 0)) + conv2d_3_texOff(vec2(-1, 0))); + result += mat4(0.14076942, -0.052552056, -0.04356804, -0.119661056, 0.04080093, -0.07755867, -0.14533839, -0.042499367, 0.09872452, -0.024616094, -0.07879379, 0.009326565, -0.08557512, 0.16130392, -0.014894024, 0.11193866) * (conv2d_5_3_texOff(vec2(0, 0)) + conv2d_3_texOff(vec2(0, 0))); + result += mat4(0.011582243, 0.025277583, 0.16442522, 0.08464369, 0.069308594, -0.059400007, -0.0972484, 0.038412612, 0.13191514, 0.029828457, -0.04067329, -0.009766925, 0.0893264, 0.15686433, 0.13095218, 0.08013446) * (conv2d_5_3_texOff(vec2(1, 0)) + conv2d_3_texOff(vec2(1, 0))); + result += mat4(0.09640978, 0.0041219974, 0.13953476, -0.016952137, -0.06293245, 0.07169512, -0.022097226, -0.062293574, -0.054663412, -0.10017026, -0.07848903, 0.051152296, 0.036405347, -0.068401374, 0.052168228, -0.07608599) * (conv2d_5_3_texOff(vec2(-1, 1)) + conv2d_3_texOff(vec2(-1, 1))); + result += mat4(-0.075839736, -0.03342491, 0.045058906, 0.06868252, -0.022798495, 0.09332825, -0.05910386, -0.10841459, 0.011498118, -0.058387827, -0.021310626, 0.088923134, 0.12806393, -0.09491371, 0.13367067, -0.04115069) * (conv2d_5_3_texOff(vec2(0, 1)) + conv2d_3_texOff(vec2(0, 1))); + result += mat4(-0.061864167, -0.06401489, -0.12824342, 0.03193039, 0.09361337, -0.10366194, -0.10764634, 0.116666175, -0.016320568, 0.018465318, -0.0063566663, -0.043671858, 0.01181521, -0.05712085, 0.034126844, -0.07909593) * (conv2d_5_3_texOff(vec2(1, 1)) + conv2d_3_texOff(vec2(1, 1))); + result += mat4(-0.05267128, 0.038643535, 0.03953734, -0.028213546, -0.01433346, -0.012686865, 0.030689731, 0.09652594, -0.093040206, 0.008205053, -0.13150544, -0.045237422, -0.10264257, 0.00019004362, 0.12245579, 0.09666482) * (conv2d_5_4_texOff(vec2(-1, -1)) + conv2d_4_texOff(vec2(-1, -1))); + result += mat4(0.015597643, 0.006721611, -0.038910042, 0.08337514, -0.052653354, -0.082745574, -0.10210213, 0.002103484, -0.08992084, -0.038731303, 0.09879766, 0.11236482, 0.13682629, 0.0015712297, 0.1378842, -0.09553678) * (conv2d_5_4_texOff(vec2(0, -1)) + conv2d_4_texOff(vec2(0, -1))); + result += mat4(-0.060090218, 0.034135595, -0.06558718, -0.04162944, 0.07787922, 0.015487257, -0.066858485, 0.06887979, -0.022944927, -0.03128469, 0.113207266, 0.058334786, 0.04711753, 0.046241153, 0.00753094, 0.044930726) * (conv2d_5_4_texOff(vec2(1, -1)) + conv2d_4_texOff(vec2(1, -1))); + result += mat4(0.129992, 0.05922731, 0.054760225, -0.03554741, 0.04470233, 0.028254455, -0.09044389, -0.03415067, 0.0627537, 0.022094734, 0.029697303, -0.08838058, 0.10013191, -0.003320103, 0.028718641, 0.09081079) * (conv2d_5_4_texOff(vec2(-1, 0)) + conv2d_4_texOff(vec2(-1, 0))); + result += mat4(0.105082385, -0.11749798, 0.13642989, 0.021657152, -0.0017786543, 0.08864365, 0.049450178, -0.14033931, -0.024840653, -0.077470765, 0.02126161, 0.05252793, 0.015087027, 0.048363503, -0.10751626, 0.141214) * (conv2d_5_4_texOff(vec2(0, 0)) + conv2d_4_texOff(vec2(0, 0))); + result += mat4(0.026552299, 0.0052369824, -0.05744235, 0.07066289, 0.028424393, -0.07709075, -0.09234827, 0.0005205027, 0.038383983, 0.07076435, 0.072595924, 0.029487329, -0.07443678, 0.122239396, 0.12605809, -0.074149884) * (conv2d_5_4_texOff(vec2(1, 0)) + conv2d_4_texOff(vec2(1, 0))); + result += mat4(-0.08104709, 0.06649468, 0.079389736, -0.05206354, 0.017761825, 0.08028337, 0.027072009, -0.0015500056, 0.05290546, 0.095498785, -0.06530074, 0.04247793, -0.03144845, 0.06496069, 0.13665034, 0.12020083) * (conv2d_5_4_texOff(vec2(-1, 1)) + conv2d_4_texOff(vec2(-1, 1))); + result += mat4(0.011451294, -0.13136815, -0.15400143, 0.05162515, -0.058330655, -0.076598294, 0.12526475, -0.031833384, 0.10074778, -0.02737285, -0.05431436, -0.21748076, 0.13562876, 0.09417703, -0.062829904, 0.040828437) * (conv2d_5_4_texOff(vec2(0, 1)) + conv2d_4_texOff(vec2(0, 1))); + result += mat4(-0.06120201, -0.023276187, 0.029930884, -0.058546357, -0.04502094, 0.06428284, 0.11397174, 0.017069966, 0.04136445, -0.013916056, -0.089675, -0.011678936, 0.04906112, 0.11839074, 0.045486692, 0.08760997) * (conv2d_5_4_texOff(vec2(1, 1)) + conv2d_4_texOff(vec2(1, 1))); + result += mat4(0.14683284, 0.07353772, 0.042218335, 0.0042251316, 0.029141221, -0.08240289, -0.17113847, 0.015555399, 0.045853753, 0.08192045, 0.010666003, 0.044956427, 0.06320903, 0.07120572, -0.0038742921, -0.08183106) * (conv2d_5_5_texOff(vec2(-1, -1)) + conv2d_5_texOff(vec2(-1, -1))); + result += mat4(0.09951885, 0.10843651, 0.0048064836, 0.06093788, 0.0015264805, 0.0033635586, 0.026600003, 0.03226541, 0.07722241, -0.08972728, 0.05736983, -0.011373007, 0.043598108, 0.0941322, -0.044599567, 0.07213255) * (conv2d_5_5_texOff(vec2(0, -1)) + conv2d_5_texOff(vec2(0, -1))); + result += mat4(-0.059985578, -0.08580081, 0.078689024, -0.106579326, -0.046917964, 0.07644787, 0.108420864, 0.09130348, 0.07564788, -0.04791974, -0.05420803, -0.06870644, -0.092679664, 0.085856445, -0.03555799, -0.024324019) * (conv2d_5_5_texOff(vec2(1, -1)) + conv2d_5_texOff(vec2(1, -1))); + result += mat4(-0.011868116, 0.13456446, 0.058174092, 0.18865576, -0.05372018, -0.08078464, -0.09846664, -0.037639324, -0.12342844, 0.005284944, -0.04190624, 0.1529369, -0.040111713, -0.07289829, -0.03153637, 0.06588927) * (conv2d_5_5_texOff(vec2(-1, 0)) + conv2d_5_texOff(vec2(-1, 0))); + result += mat4(-0.1426056, -0.04272239, -0.050520554, -0.059382442, 0.059854552, -0.056830693, 0.02879342, -0.06389006, 0.11790221, -0.06775044, -0.07592776, -0.013444097, -0.07941139, -0.13535194, -0.019959867, -0.036759112) * (conv2d_5_5_texOff(vec2(0, 0)) + conv2d_5_texOff(vec2(0, 0))); + result += mat4(-0.04723031, -0.06269766, 0.0022022699, 0.031984907, -0.02446148, 0.06565831, 0.05181914, -0.11016949, 0.0008516823, -0.080314174, 0.0153174205, -0.024145512, 0.09324116, 0.04254904, -0.03486878, 0.039789803) * (conv2d_5_5_texOff(vec2(1, 0)) + conv2d_5_texOff(vec2(1, 0))); + result += mat4(0.017154627, -0.08333423, 0.025345277, 0.074755214, -0.019358627, 0.04048235, 0.06510684, 0.09906411, -0.19977222, -0.008072648, -0.024245445, -0.05534184, -0.06553802, -0.03052696, -0.026596785, -0.00615155) * (conv2d_5_5_texOff(vec2(-1, 1)) + conv2d_5_texOff(vec2(-1, 1))); + result += mat4(-0.010410333, -0.0343796, 0.017938064, -0.12350803, 0.042722203, -0.032559033, 0.055957846, 0.06390068, -0.020984953, 0.062293433, 0.10768917, 0.021160271, 0.030629314, -0.09577217, 0.11386064, 0.015131414) * (conv2d_5_5_texOff(vec2(0, 1)) + conv2d_5_texOff(vec2(0, 1))); + result += mat4(0.0153262075, -0.065030254, -0.16276166, -0.021482741, 0.011492901, 0.08376618, -0.07352633, -0.106813535, 0.024947394, 0.12215677, 0.0064980127, -0.03113036, 0.0831491, 0.04177188, 0.08198766, -0.06563649) * (conv2d_5_5_texOff(vec2(1, 1)) + conv2d_5_texOff(vec2(1, 1))); + result += mat4(0.04512963, -0.09670489, 0.108197, 0.08166539, 0.09153439, -0.0041670348, -0.07299372, 0.0717406, 0.04366148, -0.061015286, -0.010372106, 0.14122725, 0.093957454, 0.010466939, 0.046854213, 0.03848025) * (conv2d_5_6_texOff(vec2(-1, -1)) + conv2d_6_texOff(vec2(-1, -1))); + result += mat4(0.09720875, 0.11263628, -0.06913729, 0.14561757, -0.04827889, 0.0060141818, 0.059929077, 0.0009016341, 0.15528698, 0.023272365, -0.006867064, -0.020450626, 0.07815676, -0.019211087, -0.047088522, 0.010952628) * (conv2d_5_6_texOff(vec2(0, -1)) + conv2d_6_texOff(vec2(0, -1))); + result += mat4(-0.11914094, 0.021652265, 0.12146005, 0.057280503, -0.06221825, 0.024388587, 0.113126524, 0.07874618, 0.08361234, 0.102074854, 0.1044363, 0.078054905, 0.025823556, 0.07699644, -0.014410769, 0.10180511) * (conv2d_5_6_texOff(vec2(1, -1)) + conv2d_6_texOff(vec2(1, -1))); + result += mat4(-0.0711233, -0.08020415, 0.0036274323, 0.05900797, -0.033104885, -0.013175366, 0.011784655, 0.030028287, -0.06003858, 0.0429968, -0.017514052, 0.07700261, 0.024906386, -0.033061728, -0.05297299, 0.01630108) * (conv2d_5_6_texOff(vec2(-1, 0)) + conv2d_6_texOff(vec2(-1, 0))); + result += mat4(-0.09560826, 0.10603009, -0.065597355, -0.06194091, 0.0114972945, -0.10189798, 0.06329802, -0.15743783, 0.0014020745, -0.12786289, -0.08529752, -0.041888364, -0.14784755, -0.10057494, -0.073116876, 0.026817983) * (conv2d_5_6_texOff(vec2(0, 0)) + conv2d_6_texOff(vec2(0, 0))); + result += mat4(-0.021014174, -0.16390173, -0.042803206, -0.11574508, -0.006506324, -0.10589054, 0.043100428, -0.10600564, -0.10814442, 0.011551233, 0.027930772, -0.100139916, 0.10351467, -0.024557948, 0.1081109, -0.046822164) * (conv2d_5_6_texOff(vec2(1, 0)) + conv2d_6_texOff(vec2(1, 0))); + result += mat4(0.036308594, 0.055407073, -0.019521035, 0.0060693063, 0.008207976, 0.06799936, -0.08421482, 0.053203605, -0.1001066, 0.12608531, -0.054803472, -0.02659383, 0.03071786, -0.0012858112, 0.09364783, -0.06995948) * (conv2d_5_6_texOff(vec2(-1, 1)) + conv2d_6_texOff(vec2(-1, 1))); + result += mat4(0.08623435, -0.07804446, -0.036668018, -0.19589001, -0.041365903, 0.12268608, 0.0124511765, 0.09250411, 0.010830903, -0.07444115, -0.07049862, -0.017241728, -0.0917488, -0.07399329, -0.06711326, -0.068555646) * (conv2d_5_6_texOff(vec2(0, 1)) + conv2d_6_texOff(vec2(0, 1))); + result += mat4(0.03218889, 0.08442868, 0.017074348, 0.068883024, 0.045661006, -0.12530427, -0.11518121, 0.07997431, -0.006032728, -0.035444323, -0.008978089, -0.019196173, -0.020756707, 0.08010469, 0.034049418, -0.03639271) * (conv2d_5_6_texOff(vec2(1, 1)) + conv2d_6_texOff(vec2(1, 1))); + result += mat4(-0.018905973, 0.1415685, 0.003898159, 0.076616995, -0.032944206, 0.12567292, -0.04161813, 0.0108458605, -0.01616077, -0.06334155, 0.02942931, -0.014446954, -0.029505428, 0.059518382, 0.05104441, -0.08539159) * (conv2d_5_7_texOff(vec2(-1, -1)) + conv2d_7_texOff(vec2(-1, -1))); + result += mat4(-0.045467917, 0.057396617, 0.10812974, -0.03210309, -0.035897736, 0.10164431, 0.030502422, 0.0382147, -0.051511858, 0.12266079, 0.026877636, -0.021461876, 0.059394266, 0.06967532, -0.05598733, -0.07699448) * (conv2d_5_7_texOff(vec2(0, -1)) + conv2d_7_texOff(vec2(0, -1))); + result += mat4(0.012975825, 0.069637775, 0.0051551745, -0.020927003, -0.004539026, -0.10754023, -0.056129698, 0.015924113, 0.040113535, -0.05745693, -0.06389068, -0.07168417, 0.0022833387, -0.0629351, 0.09910774, 0.06356649) * (conv2d_5_7_texOff(vec2(1, -1)) + conv2d_7_texOff(vec2(1, -1))); + result += mat4(-0.0151594, 0.031326655, 0.06911758, -0.08433926, -0.060209826, 0.06967554, 0.016329456, -0.098044306, 0.1733242, -0.023159878, -0.035384506, 0.024726085, 0.091182895, 0.070071995, -0.03650149, 0.10205691) * (conv2d_5_7_texOff(vec2(-1, 0)) + conv2d_7_texOff(vec2(-1, 0))); + result += mat4(0.05310989, 0.15889364, -0.11386726, -0.045727987, -0.019352138, -0.003314156, -0.07612862, 0.021138493, 0.030946285, 0.08839936, -0.09617174, 0.042511895, 0.074900925, -0.05446484, -0.0979616, -0.0758873) * (conv2d_5_7_texOff(vec2(0, 0)) + conv2d_7_texOff(vec2(0, 0))); + result += mat4(-0.10301069, -0.071659915, 0.14405948, -0.056097623, -0.07272917, 0.016589085, -0.11329532, 0.12343735, -0.075624675, -0.07764027, 0.12390483, 0.06178329, -0.07062249, 0.10067397, 0.040892098, 0.103458814) * (conv2d_5_7_texOff(vec2(1, 0)) + conv2d_7_texOff(vec2(1, 0))); + result += mat4(0.06119077, -0.081706144, 0.12907842, -0.090091735, -0.019620525, -0.091297306, 0.08820094, 0.11676135, -0.008345123, 0.08562112, -0.02700248, -0.05556094, -0.017121539, -0.03872028, -0.07627159, -0.08630841) * (conv2d_5_7_texOff(vec2(-1, 1)) + conv2d_7_texOff(vec2(-1, 1))); + result += mat4(0.050093785, 0.03171393, 0.116603464, -0.058734518, -0.013041671, -0.056675114, 0.118156955, 0.06779944, -0.012520049, -0.07422018, 0.12603906, -0.013609811, 0.011059942, -0.12096396, 0.0076767323, -0.04380886) * (conv2d_5_7_texOff(vec2(0, 1)) + conv2d_7_texOff(vec2(0, 1))); + result += mat4(0.13911876, -0.031045062, -0.03623802, 0.058921527, -0.027579332, -0.010677776, 0.016218718, -0.048369877, -0.08673656, 0.007987631, -0.08386395, 0.038887206, -0.104342535, -0.05434241, 0.0796653, 0.10178565) * (conv2d_5_7_texOff(vec2(1, 1)) + conv2d_7_texOff(vec2(1, 1))); + return result; +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2] (Depth-To-Space) +//!HOOK LUMA +//!BIND conv2d_6_0 +//!WIDTH LUMA.w 2.0 * +//!HEIGHT LUMA.h 2.0 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0, 0.0, 0.0, 1.0); + vec2 f0 = fract(conv2d_6_0_pos * conv2d_6_0_size); + ivec2 i0 = ivec2(f0 * vec2(2.0)); + result.x = conv2d_6_0_tex((vec2(0.5) - f0) * conv2d_6_0_pt + conv2d_6_0_pos)[i0.y * 2 + i0.x]; + return clamp(result, 0.0, 1.0); +} + diff --git a/shaders/Ani4K/Ani4Kv2_ArtCNN_C4F32_i2_CMP.glsl b/shaders/Ani4K/Ani4Kv2_ArtCNN_C4F32_i2_CMP.glsl new file mode 100644 index 0000000..ee90f13 --- /dev/null +++ b/shaders/Ani4K/Ani4Kv2_ArtCNN_C4F32_i2_CMP.glsl @@ -0,0 +1,3519 @@ +// Ani4Kv2 ArtCNN - trained by Sirosky and distributed on the CC BY-NC 4.0 license. +// The ArtCNN architecture is further subject to the below license. + +// MIT License + +// Copyright (c) 2024 Joao Chrisostomo + +// 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. + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2_CMP] (Conv2D) +//!COMPUTE 16 16 2 16 +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d +//!WIDTH LUMA.w 8.0 * +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#ifdef GL_EXT_shader_explicit_arithmetic_types_float16 +# define V4 f16vec4 +# define M4 f16mat4 +# define F float16_t +#else +# define V4 vec4 +# define M4 mat4 +# define F float +#endif + +const ivec2 ksize = ivec2(3, 3); +const ivec2 offset = ksize / 2; +const ivec2 isize = ivec2(gl_WorkGroupSize) + ksize - 1; +shared F inp[1][isize.y][isize.x]; +void hook() { + ivec2 base = ivec2(gl_WorkGroupID) * ivec2(gl_WorkGroupSize); + for (uint y = gl_LocalInvocationID.y; y < isize.y; y += gl_WorkGroupSize.y) { + for (uint x = gl_LocalInvocationID.x; x < isize.x; x += gl_WorkGroupSize.x) { + inp[0][y][x] = F(LUMA_mul * texelFetch(LUMA_raw, (base + ivec2(x,y) - offset) * ivec2(1, 1) + ivec2(0, 0), 0).x); + } + } + + barrier(); + V4 result0 = V4(0.013557938, 0.0047282414, -0.0055004754, 0.0074933744); + result0 += V4(-0.05818977, 0.087365575, 0.14038453, -0.051457155) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += V4(-0.093848094, -0.023228006, 0.020210264, -0.022740263) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += V4(0.02274444, -0.008311727, 0.013800997, 0.16538861) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += V4(-0.105236664, -0.12083248, -0.05628961, -0.056439184) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += V4(-0.01007437, 0.0008896297, -0.00861718, -0.005546233) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += V4(-0.1070594, 0.07984668, 0.011602427, 0.022988683) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += V4(-0.03031697, 0.02054523, -0.0620382, -0.11236594) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += V4(0.11955658, -0.09762395, 0.14277576, 0.018350534) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += V4(0.01664652, 0.0027460025, -0.020302603, 0.038123485) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos0 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(0, 0); + imageStore(out_image, store_pos0, result0); + V4 result1 = V4(-0.00606217, 0.0028236886, -0.014054051, 0.0037515557); + result1 += V4(-0.11717517, 0.02590337, 0.14002699, -0.07471835) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += V4(0.1143018, 0.04357534, 0.13998327, -0.14240041) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += V4(-0.052134506, -0.08979846, 0.050204687, 0.029983379) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += V4(0.01618129, -0.13259113, 0.024325445, -0.104753695) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += V4(0.100182466, 0.06383499, -0.115760624, -0.07542764) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += V4(0.039049312, -0.0014231527, 0.14633176, -0.11090889) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += V4(0.04374475, 0.1065789, 0.04664098, -0.03103964) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += V4(-0.060316052, -0.03070326, 0.13148578, -0.13707723) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += V4(0.074843094, 0.0108667025, 0.047905315, 0.059164535) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos1 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(1, 0); + imageStore(out_image, store_pos1, result1); + V4 result2 = V4(-0.0015426857, -0.0056094904, 0.0174101, 0.01143031); + result2 += V4(0.021166498, -0.14109746, -0.009065403, 0.029893016) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += V4(0.08088207, 0.07114565, 0.0096370755, -0.08392174) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += V4(0.04177714, 0.12172563, -0.051969334, 0.021110004) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += V4(-0.012387507, -0.15442912, 0.06502845, -0.10903934) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += V4(0.04218814, -0.121190704, -0.03268408, 0.09660384) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += V4(0.09981482, 0.1502269, 0.012524943, 0.009950072) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += V4(-0.027561454, 0.10656239, -0.02767334, 0.11605408) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += V4(-0.15713026, -0.09045111, -0.099420406, -0.02555601) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += V4(-0.08254365, 0.06748684, -0.1061058, -0.07678628) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos2 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(2, 0); + imageStore(out_image, store_pos2, result2); + V4 result3 = V4(0.0020699732, 0.010311046, -0.0122236535, -0.0057681506); + result3 += V4(-0.13171206, -0.115182996, 0.10687281, -0.019337498) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += V4(0.025328152, 0.09656909, -0.08877802, 0.13900071) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += V4(-0.014073492, 0.026424214, -0.02951061, -0.086750895) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += V4(0.06295426, -0.06434664, 0.08405197, 0.10608779) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += V4(0.19898853, 0.0023069843, -0.04414371, 0.0285924) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += V4(-0.14715488, 0.00086186273, -0.12685679, 0.0996023) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += V4(-0.04810055, -0.14015491, -0.18063203, -0.10066722) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += V4(0.01307263, -0.092514314, 0.1380627, 0.13491923) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += V4(0.039886076, 0.051204894, 0.15279008, 0.043279227) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos3 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(3, 0); + imageStore(out_image, store_pos3, result3); + V4 result4 = V4(0.0054853344, -0.004406003, -0.0023702087, -0.0021772839); + result4 += V4(-0.15866047, 0.19588727, 0.14002316, 0.051201846) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += V4(0.085247315, -0.02618147, -0.09789057, 0.078908175) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += V4(-0.17589302, 0.123723306, 0.12453267, 0.07831262) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += V4(0.09033319, -0.09166804, -0.005148519, 0.06720134) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += V4(0.03345655, -0.10424217, -0.13445246, 0.158821) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += V4(0.10564271, -0.10134308, -0.11317296, 0.07481705) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += V4(0.06830029, 0.006397327, 0.12616493, 0.12087824) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += V4(0.06679759, -0.04430325, 0.10446539, 0.14996198) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += V4(-0.109402604, 0.040104996, -0.14259185, -0.1093432) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos4 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(4, 0); + imageStore(out_image, store_pos4, result4); + V4 result5 = V4(-0.0005247076, -0.0064215013, -0.0063047167, -0.0045687305); + result5 += V4(-0.065397374, 0.07411419, -0.12276642, 0.11735085) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += V4(-0.13821891, 0.07206402, 0.04052938, -0.08303998) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += V4(0.008153271, 0.06659256, -0.088545084, 0.052727234) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += V4(0.0020265798, -0.017523022, 0.08750033, 0.034287166) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += V4(-0.09240684, -0.132584, -0.05521535, -0.11365951) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += V4(0.0648652, 0.00063704373, 0.026009742, -0.11492421) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += V4(0.062282912, 0.06680331, 0.0021922512, 0.046125904) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += V4(-0.0071307817, -0.02705501, 0.005304769, 0.10458681) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += V4(0.15888241, -0.09814522, 0.1098367, -0.042445354) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos5 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(5, 0); + imageStore(out_image, store_pos5, result5); + V4 result6 = V4(0.0048197624, 0.0075116986, 0.0099129155, 0.00775909); + result6 += V4(0.004974469, -0.11057374, 0.054637253, 0.05073738) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += V4(-0.128019, 0.054411564, -0.14099243, -0.12757975) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += V4(-0.07598182, -0.120226055, -0.010914497, -0.11205681) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += V4(-0.030250512, 0.024317788, 0.089506894, 0.12391518) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += V4(-0.045656554, 0.13402466, 0.10797582, -0.122651406) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += V4(0.14234965, 0.011252227, -0.110444754, 0.15114875) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += V4(-0.03378752, -0.03878609, -0.08627183, 0.08631743) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += V4(0.04149253, 0.023052553, -0.033660937, 0.0095798345) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += V4(0.11971444, 0.020501256, 0.11135282, -0.06693651) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos6 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(6, 0); + imageStore(out_image, store_pos6, result6); + V4 result7 = V4(-0.014978659, 0.0050648223, 0.0076116957, -0.007783821); + result7 += V4(0.12193714, 0.003774343, 0.09972001, 0.06001656) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += V4(0.037704255, -0.04623956, -0.028892698, -0.15893014) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += V4(0.12699004, 0.027365703, -0.09859563, -0.060610455) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += V4(0.062362995, -0.10326245, -0.049302436, -0.0041777436) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += V4(0.027090665, 0.10767031, 0.08545651, 0.09814222) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += V4(0.0800181, 0.11339877, 0.14778155, -0.007044769) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += V4(0.036384713, -0.11539939, -0.12518965, 0.10631763) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += V4(-0.034553416, -0.023034953, 0.08761218, -0.050655343) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += V4(0.004409459, 0.026714291, -0.12731543, 0.02625806) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos7 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(7, 0); + imageStore(out_image, store_pos7, result7); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2_CMP] (Conv2D-1-ReLU) +//!COMPUTE 16 16 2 16 +//!HOOK LUMA +//!BIND conv2d +//!SAVE conv2d_1 +//!WIDTH LUMA.w 8.0 * +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#ifdef GL_EXT_shader_explicit_arithmetic_types_float16 +# define V4 f16vec4 +# define M4 f16mat4 +# define F float16_t +#else +# define V4 vec4 +# define M4 mat4 +# define F float +#endif + +const ivec2 ksize = ivec2(3, 3); +const ivec2 offset = ksize / 2; +const ivec2 isize = ivec2(gl_WorkGroupSize) + ksize - 1; +shared V4 inp[8][isize.y][isize.x]; +void hook() { + ivec2 base = ivec2(gl_WorkGroupID) * ivec2(gl_WorkGroupSize); + for (uint y = gl_LocalInvocationID.y; y < isize.y; y += gl_WorkGroupSize.y) { + for (uint x = gl_LocalInvocationID.x; x < isize.x; x += gl_WorkGroupSize.x) { + inp[0][y][x] = V4(conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(0, 0), 0)); + inp[1][y][x] = V4(conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(1, 0), 0)); + inp[2][y][x] = V4(conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(2, 0), 0)); + inp[3][y][x] = V4(conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(3, 0), 0)); + inp[4][y][x] = V4(conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(4, 0), 0)); + inp[5][y][x] = V4(conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(5, 0), 0)); + inp[6][y][x] = V4(conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(6, 0), 0)); + inp[7][y][x] = V4(conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(7, 0), 0)); + } + } + + barrier(); + V4 result0 = V4(-0.02761569, -0.001303431, 0.0059456453, 0.011364153); + result0 += M4(0.037088707, 0.039107785, 0.049373046, 0.029887611, 0.17761885, 0.022945065, -0.044636622, 0.12700973, -0.20957622, -0.06410905, -0.07590757, 0.036686096, -0.06310094, -0.07954025, -0.011991116, -0.003010624) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.042399388, 0.045059893, 0.06800108, -0.115304366, 0.07296464, 0.03951488, 0.058417566, -0.019752966, -0.24829188, 0.032663327, -0.07660841, 0.059906118, -0.13647622, 0.19546683, 0.004744577, 0.14182745) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.08336863, 0.036376677, -0.098944515, 0.049606726, 0.14065643, -0.048906505, -0.055670567, 0.04091548, -0.385516, 0.0040277955, -0.083274476, -0.08572098, -0.18240012, -0.0065575317, 0.051582176, -0.052601893) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.079820685, 0.068413995, 0.046803232, -0.003666424, 0.07048597, 0.1186215, 0.17330538, 0.08607984, -0.35499558, -0.00075235975, 0.056733217, -0.031382944, 0.0044486006, -0.00033770053, 0.18563506, 0.037485413) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.072174765, 0.090702295, -0.041858044, 0.029457342, 0.10745088, 0.02440524, 0.05454572, 0.062174387, -0.44866538, 0.06788242, -0.047310323, 0.07745266, -0.036993157, 0.109724015, 0.13787764, 0.038699944) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.026424862, -0.07601646, 0.044226952, 0.031176368, 0.05768912, -0.015567413, -0.084214084, -0.056456145, -0.05111811, -0.044614747, -0.089155465, -0.04208763, 0.032561414, -0.041552335, -0.07731431, -0.09377579) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.04373623, -0.00531333, 0.056447662, 0.10575006, 0.090051495, -0.031158486, -0.035757173, 0.13599198, 0.115777686, 0.07135353, -0.07880651, -0.08656131, 0.11350851, 0.16005085, 0.15270387, -0.01340997) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.090338185, -0.0061558075, 0.07440105, 0.07998819, 0.03734147, 0.034271456, 0.07038486, 0.0064278357, -0.06316883, -0.12851131, 0.104488686, -0.06621635, -0.042390525, 0.011483585, -0.00614616, 0.13337699) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.021350065, -0.06553768, 0.088978864, -0.04718948, 0.11847316, 0.020330824, 0.048353635, 0.11683656, 0.056026552, 0.03751398, -0.038178694, -0.07047206, 0.11210363, -0.0004433918, 0.04150284, 0.17515638) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.15682161, -0.031473707, 0.030253299, -0.041748017, 0.030382723, -0.14621396, -0.12894657, 0.05362784, -0.17239687, 0.016553588, -0.042380407, 0.09540878, 0.22551297, -0.056741998, -0.0030478665, 0.05394928) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.056790065, -0.056703642, 0.002659399, 0.04735789, -0.03920069, -0.07000189, 0.058327585, -0.14269045, -0.17523172, -0.0064095105, 0.09835048, 0.0018919881, 0.3141227, -0.023967152, -0.053918995, 0.0797732) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.23335966, 0.087769546, 0.026102941, -0.0096911825, -0.06810754, 0.045207564, 0.13496265, 0.009555187, -0.25998208, -0.019500287, 0.057989404, 0.0024302762, 0.48002297, -0.04046989, 0.0052357917, -0.035644695) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.045313835, -0.08374049, 0.018499387, -0.06623021, -0.06555796, -0.012287675, -0.015122152, 0.016986316, -0.092487924, 0.025774505, -0.0010562062, -0.02650086, 0.014801757, 0.06750847, 0.09865225, 0.10953315) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.037979554, -0.023644108, 0.058705773, -0.078800365, 0.03471599, 0.16479132, -0.028003164, 0.0010208902, -0.06333016, -0.009407941, -0.09128135, 0.08101959, 0.0783575, 0.07412249, -0.008664677, -0.01999057) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.030677773, 0.11961758, -0.060348786, -0.06510084, -0.055473115, -0.09350679, -0.099412635, 0.14311117, -0.02437633, 0.051498406, -0.0045971726, -0.008503924, -0.04199868, -0.07289543, -0.030003952, 0.07716714) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.121329, -0.07286863, 0.058191475, -0.0063791526, 0.09366723, -0.08558315, -0.019722778, -0.06400999, 0.079417184, 0.07201573, -0.037171558, -0.050720986, 0.079808034, 0.114417985, -0.0054190145, 0.06912783) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.059432074, 0.00669558, -0.11531157, 0.004150261, 0.06494481, 0.22469191, 0.026583701, -0.048079163, -0.019697739, 0.051067643, 0.047560435, -0.09175629, 0.03691384, 0.02980104, 0.071804516, 0.007448786) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.09890353, 0.03246942, 0.016157217, 0.010111077, 0.13595293, -0.04375725, -0.02008658, 0.07505057, 0.11496347, -0.04299425, 0.04134444, 0.02708125, 0.065794446, -0.04000543, -0.014976788, 0.00076551025) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.018885192, 0.07263801, 0.08209769, 0.31161678, 0.050031394, 0.0072181905, 0.11818119, 0.013147318, -0.0054596704, -0.0006071879, -0.064186566, 0.03409386, -0.063249335, -0.07980881, -0.10956793, -0.06739726) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.16189493, -0.17183621, 0.1569347, 0.22482295, -0.054127686, 0.06676453, -0.06077584, 0.06851102, 0.03122203, 0.03450254, -0.06630915, 0.047559235, 0.06136845, -0.11692344, -0.09031074, 0.006285412) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.19681932, -0.0046566674, 0.19023016, 0.12542269, -0.15745784, 0.04875973, -0.008189951, -0.042797092, 0.08374266, 0.012683859, -0.05822523, -0.07747233, 0.116249934, -0.01764783, 0.01353973, 0.03972922) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.08870154, 0.049118433, 0.041131232, 0.08667491, -0.017626565, 0.15511449, 0.12040571, 0.053428147, 0.020696208, 0.012470551, 0.022307185, -0.045834243, 0.060623735, -0.05125088, 0.06843799, 0.08656212) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.17092396, 0.030363526, 0.0140894, 0.02912769, 0.058119573, 0.095461175, 0.070812345, 0.09921958, 0.078285515, -0.022314569, 0.013995026, -0.0328069, -0.063750766, 0.09065675, 0.028035391, -0.113053046) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.06405799, 0.21168756, -9.151996e-05, -0.0503785, -0.13791454, 0.10283767, -0.004092496, -0.067826845, -0.08090034, -0.0030361228, 0.030797834, 0.034114983, 0.061679136, -0.060509812, 0.029965324, 0.00540641) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.031794824, 0.060991615, -0.011038124, -0.03274945, 0.20039667, 0.08893567, 0.10624686, -0.07583237, 0.057389423, 0.003315266, 0.006454787, 0.030258719, 0.039025854, 0.06980554, -0.11136397, 0.057272784) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.10876384, 0.07798564, 0.026748007, 0.13123696, 0.2821341, 0.10730637, 0.09280867, -0.05766453, 0.027808543, -0.1052174, 0.03893968, 0.10775714, 0.14183632, -0.099473216, -0.05778472, -0.03137033) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.15816005, -0.096787825, -0.06022702, 0.0381998, -0.023503086, 0.030795382, 0.01035088, -0.07878285, 0.0009552831, -0.042173848, 0.0746334, -0.0112526, 0.04763265, -0.041836012, -0.003314706, -0.0500568) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.046129987, -0.03118589, -0.07786298, -0.1049737, 0.29214287, 0.12085579, 0.012827161, 0.017566396, 0.108787045, 0.09451712, 0.15464358, -0.16249146, -0.13999546, 0.018309386, 0.014786083, 0.07303404) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.07378837, 0.011273643, -0.1120379, -0.0026170607, 0.1814809, 0.08930166, 0.08356305, 0.01833846, 0.033170637, 0.24108212, -0.130211, 0.030318882, -0.29687455, 0.110697806, 0.09319216, 0.08654984) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.13948832, -0.06703306, 0.07523594, 0.21173337, 0.10341617, -0.05580924, 0.027701901, -0.013774061, -0.09089573, -0.09652651, -0.07885977, 0.06811104, -0.46284908, 0.06903523, 0.041834757, 0.0114014) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.019021397, -0.26629323, -0.07098138, 0.07351062, 0.12342077, -0.09418445, 0.026054522, 0.123952925, 0.03109452, -0.0045966646, 0.05038325, -0.06087832, -0.028441643, 0.03807018, 0.06422488, -0.03001049) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.05468568, 0.0327175, 0.12617524, -0.07542483, -0.018951744, 0.10551418, 0.07483223, 0.1169595, -0.017687174, -0.09272559, -0.13982548, 0.0021275969, -0.07185063, -0.039989647, -0.0077523887, -0.039195437) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.12988251, 0.10941108, 0.15224512, -0.12031406, -0.020163897, -0.031190401, 0.08508183, -0.023342766, 0.03194575, -0.002796166, 0.027059184, -0.010880353, 0.15295668, 0.09802124, 0.0037197326, 0.071890816) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.017139537, -0.09763452, 0.043702517, -0.0017359561, -0.021294793, -0.0638558, 0.0008975771, 0.09110497, -0.007586657, -0.06678283, -0.0134450095, -0.018394625, 0.032951344, -0.01955024, -0.075448416, -0.020135287) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.35745835, 0.07109913, -0.056332603, 0.06334652, 0.0053310636, 0.12636055, 0.106544495, 0.017279532, 0.02801295, -0.1446968, 0.14564823, -0.06979035, -0.1726678, 0.06928777, 0.043383125, 0.014876556) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.105424166, 0.060225878, -0.12770179, -0.049939167, 0.18948837, -0.045437824, 0.012294204, 0.046608612, 0.053367853, 0.009596092, 0.029627405, -0.055216577, -0.06541836, -0.07233395, 0.043816403, -0.08915632) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.04160133, -0.35034466, -0.09791312, 0.093261205, -0.06831845, 0.0851133, -0.053280674, -0.09827873, -0.005778535, -0.13280119, -0.13910456, -0.15472464, -0.26904503, 0.0004950885, -0.016046168, 0.03187566) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.027507946, -0.053984743, 0.04627523, 0.2009932, 0.01102568, 0.024638634, -0.12111149, -0.103453085, 0.17028779, -0.11304579, -0.008148545, -0.23088348, -0.28374445, -0.08716236, 0.021794433, 0.05258543) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.013218336, 0.07701681, 0.21862121, 0.02654918, 0.044408165, -0.0788119, -0.08543796, -0.061530057, 0.36024255, 0.03936189, -0.03930867, -0.13106105, -0.2940241, -0.053024504, 0.06382034, 0.07871436) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.13724972, -0.23636502, -0.27293172, -0.124739595, -0.112919584, 0.27524987, -0.10301696, 0.19510813, -0.08015892, 0.04455963, 0.022465274, 0.2073669, -0.09678278, -0.018959148, -0.059930515, 0.08956838) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.10813729, 0.08113293, -0.16651708, -0.28258207, -0.02664726, -0.007968327, -0.08971246, 0.2381642, -0.14862755, -0.09012422, -0.009191523, 0.009187735, -0.10264482, 0.047298796, 0.00065596786, 0.084936574) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.16527553, 0.16333109, -0.10906002, -0.11600706, 0.009340215, -0.15967317, 0.057286974, -0.007947666, -0.07539558, -0.048452135, 0.014758945, -0.035601526, -0.029910984, 0.086507834, 0.05682731, 0.08694974) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.09455753, -0.25718254, -0.46974602, -0.17321396, 0.2058579, -0.044676166, 0.15880384, 0.09082368, 0.36071256, 0.088171154, 0.07985134, 0.03562033, -0.011981267, 0.022630319, -0.114429295, 0.03545544) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.35241106, 0.22275616, -0.11238957, -0.058529295, 0.3275477, -0.0841411, 0.08733342, 0.0024533719, 0.4327844, -0.20082138, 0.10952084, -0.03370095, -0.028660584, -0.043844976, -0.0894902, -0.0036635625) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.13464318, -0.04747511, -0.1338263, -0.04075609, 0.18872672, 0.05443863, 0.28123236, 0.112445064, -0.0051509426, 0.074833654, -0.017829131, -0.03576044, 0.06429401, -0.0037442248, 0.0443509, -0.011471484) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.033960752, 0.17812099, 0.113339335, 0.039034948, 0.13780743, -0.022480128, -0.06493001, -0.07914036, 0.025295194, 0.08997309, 0.16050398, 0.0152748795, -0.01667359, -0.10506268, 0.03365411, 0.027771063) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.098467626, -0.1516087, -0.090719014, -0.16919157, 0.038436893, -0.14015834, 0.10464323, -0.066535756, 0.084718876, 0.06657195, -0.10025528, 0.11670654, -0.044952806, -0.0012713686, 0.036094677, -0.1250607) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.32697773, 0.0024904069, -0.0318002, -0.14388008, 0.025393477, 0.1355304, -0.025073601, -0.06781301, -0.033339716, -0.10428237, -0.08760491, -0.058536585, -0.06277895, -0.05797407, -0.12217669, 0.032862153) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.13257584, 0.3125901, -0.004826834, 0.023016412, 0.0137814395, 0.07649444, -0.011283409, 0.12480625, 0.08035556, 0.08562913, 0.051745087, -0.010379843, -0.1719882, 0.019019378, 0.03253453, 0.1349059) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.15542264, -0.07498042, -0.054504056, -0.1130992, 0.08257349, -0.028014142, -0.0632218, 0.1754813, 0.044353295, -0.13583407, -0.13511257, -0.17404458, -0.094962865, -0.1499342, -0.04324668, -0.058163624) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.091226265, -0.019397736, -0.15051126, -0.13262361, -0.052419744, 0.022728384, -0.017814085, 0.15778238, -0.045445465, 0.057812717, 0.090955496, -0.08521417, -0.08493022, 0.0458461, 0.038604733, -0.060735296) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.017462738, 0.30318317, 0.020650871, 0.0049322373, 0.025454514, -0.06072033, 0.11654518, 0.037275076, -0.00079333835, 0.085537426, -0.029005496, -0.13338101, 0.025329508, -0.015836718, 0.053024746, 0.00406369) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.060283504, -0.18455754, -0.075665906, -0.03629259, 0.045932658, -0.023702286, 0.01825637, -0.011526267, -0.14195777, 0.008922332, 0.029492423, 0.035661146, 0.14617355, -0.09066765, 0.027462238, -0.12548925) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.36163256, -0.051146578, 0.11729546, -0.08423403, 0.106104486, -0.02499687, 0.022577967, -0.11865076, -0.127109, -0.0983434, -0.051264703, 0.017415091, -0.06907152, 0.021569695, 0.04765592, -0.021509318) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.020325258, 0.007175456, 0.15568674, 0.0268168, -0.04252941, 0.06245771, -0.06428836, 0.03889941, -0.016388465, 0.074869685, 0.0950176, 0.026303388, -0.05905569, 0.010531668, 0.055855878, 0.06955287) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.055937205, 0.049704984, 0.08490253, 0.030004494, -0.028285054, -0.021864135, -0.070368275, -0.07678754, -0.04661075, -0.032502286, 0.016280256, -0.04206708, 0.030877868, -0.07661279, 0.02834831, -0.026066286) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.17748152, 0.007852392, -0.14960057, -0.04700179, 0.02509319, 0.04310571, 0.017439451, -0.06377278, -0.10304223, -0.05971072, 0.08723792, 0.1271908, -0.042265162, 0.095980346, -0.031949062, -0.10269542) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.11442661, 0.22355922, 0.077263944, -0.19311424, 0.12785651, -0.18419869, 0.009072283, -0.11784601, 0.046265043, 0.027490687, 0.020513132, -0.11853117, 0.119715765, 0.09155084, -0.08806068, -0.13099991) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.09267516, 0.009534724, -0.1534431, -0.069718234, 0.09534833, 0.09643722, -0.07244729, -0.07503579, 0.049628712, -0.089211434, 0.11313615, 0.031837456, 0.042876128, -0.16599229, -0.09885001, -0.20849445) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.15836427, 0.039397597, -0.10033209, -0.08952858, 0.20341766, -0.0183139, -0.048921306, 0.041464794, 0.15270574, -0.026300838, -0.06993224, -0.09279086, -0.0076041482, 0.09520925, -0.09645774, -0.001976442) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.09605317, 0.03516231, 0.021520022, -0.07026322, -0.09843845, 0.018796725, -0.032101627, -0.07200406, 0.009931766, -0.0012845487, -0.038088765, -0.00048343104, -0.01332002, 0.059822187, -0.18040723, 0.059926108) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.04695635, -0.09528347, -0.08518778, 0.03437041, -0.16211584, 0.08615655, -0.0596972, 0.07928578, -0.12804055, -0.12800768, -0.05631355, -0.068491004, 0.054722015, -0.16027765, -0.053435765, 0.0055658827) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.23087862, 0.060950283, 0.06483394, 0.0112723, 0.021190802, 0.015489685, -0.084800646, -0.06498323, -0.122740686, 0.08601281, 0.06930297, -0.02401346, -0.13796073, 0.059523232, -0.1229297, -0.1313897) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.20410736, 0.008917194, 0.027389951, 0.08584264, 0.11003438, 0.022213133, 0.09178437, 0.05450775, -0.01304892, -0.08140342, -0.021694947, -0.0028083185, -0.065252356, -0.0887981, -0.09430747, -0.10619862) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.14222789, -0.02770178, 0.0057030017, -0.04385153, 0.07067748, 0.076741844, 0.074142836, 0.112219356, 0.10509791, 0.14008267, 0.09908752, 0.0343511, 0.012106488, 0.007804691, 0.062716246, -0.022749215) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.25188452, 0.086774535, 0.043418173, 0.07051929, 0.05869175, 0.005817447, 0.031649627, -0.06367935, -0.010777343, -0.065083295, -0.002142289, -0.081685126, -0.03822952, 0.09470792, 0.07443214, 0.0152457915) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.003740148, -0.10212012, 0.082150206, 0.06324506, 0.12001256, -0.025637323, 0.18010361, -0.059838697, -0.003753066, -0.08005211, 0.047556523, -0.14785989, -0.041791067, 0.0039094524, -0.00017652505, -0.12913406) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.020593995, -0.081874, 0.048278, -0.0053195683, 0.28651488, 0.1640567, 0.15966168, 0.082722425, 0.1570142, 0.19820258, -0.052342843, -0.033562254, -0.02614581, -0.098495275, -0.044366807, -0.055630334) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.09661177, -0.014020618, 0.051468264, -0.026384348, 0.31507862, -0.12511897, 0.061704103, -0.060045782, 0.23090814, 0.018513214, 0.015074701, 0.051465522, 0.10594349, 0.115795426, 0.027499227, -0.10733994) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.021955505, 0.08258324, 0.08424402, 0.06377491, 0.06519483, 0.1510674, 0.017168894, 0.11956491, 0.017034065, 0.06976995, -0.15467577, 0.081934586, -0.0039609377, 0.080919094, -0.050352793, -0.0462441) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.036016695, -0.100190744, -0.051705576, 0.035166018, -0.036927998, 0.008058679, 0.072933845, 0.1457097, -0.078346506, -0.13454653, 0.02853062, 0.129857, 0.052758798, -0.14486746, -0.014382735, -0.03168785) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.0010188763, -0.041984238, 0.0715447, -0.034105368, 0.17399262, 0.041071795, -0.022110598, 0.03014559, 0.04161949, -0.096565865, 0.053164575, 0.055329412, -0.09356863, -0.018130451, 0.07688227, 0.04318047) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos0 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(0, 0); + imageStore(out_image, store_pos0, max(result0, V4(0.0))); + V4 result1 = V4(0.016769439, 0.0025616076, -0.033234686, -0.017233113); + result1 += M4(-0.07937274, 0.024551604, 0.045484476, -0.028590381, -0.0055548563, 0.091164075, -0.0832477, 0.0056726784, 0.009145615, -0.056674864, -0.12838204, -0.029696077, -0.104894035, -0.0021465523, -0.19386864, 0.04343148) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.056155153, 0.08125948, 0.047882646, -0.05619554, -0.07280543, 0.06907689, -0.07096061, 0.024550367, 0.06942433, -0.015227393, 0.19139177, 0.034082085, 0.026274368, -0.044310287, 0.2190903, -0.10265051) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.054673616, -0.04683691, -0.060920995, 0.098106205, -0.09166132, 0.05957283, -0.074146934, 0.073306106, 0.014094467, 0.06827852, 0.01580575, 0.038518988, -0.0462546, 0.021577721, -0.078415, 0.029640203) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.1085866, 0.018027164, 0.0009858405, -0.09908315, 0.045768503, -0.07956935, 0.09952082, 0.030113233, 0.06256073, -0.05886293, 0.006130924, -0.048609912, 0.13590431, 0.03444453, -0.15257333, -0.11231053) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.011424763, -0.071742706, 0.04301765, 0.070896834, 0.07755313, 0.10378807, 0.12022343, 0.021524828, 0.029912747, 0.115998074, -0.13353577, -0.016215743, -0.12557493, 0.13347831, 0.07265532, 0.0010080107) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.011295676, 0.036876403, 0.06479442, 0.08397527, 0.12332453, -0.13206731, 0.09754398, 0.00029035402, 0.03560405, -0.056740932, -0.031969912, -0.012531853, 0.10487021, -0.079280175, -0.036755282, 0.0359944) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.048982903, 0.00045150236, -0.16215974, -0.025085704, -0.06113199, 0.061917245, -0.041983806, 0.12413298, 0.02764671, 0.09159367, 0.1746024, 0.08465373, -0.09993331, 0.09977577, 0.05697615, -0.112461075) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.07934379, -0.039607003, -0.07690708, 0.023781974, 0.015746487, 0.108917706, -0.09303546, 0.12878792, -0.026604395, -0.042081278, 0.09499319, -0.0506606, 0.10261265, 0.12871245, -0.13543636, -0.013091424) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.049167998, -0.08167343, 0.021342967, 0.0842813, 0.019894106, -0.08718225, 0.14338472, -0.08321608, -0.06424248, 0.0020290306, 0.11345402, -0.031149132, 0.055689946, 0.0005042397, -0.009219514, 0.07936348) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.042045802, 0.08653694, -0.057840317, 0.043052666, 0.05711909, -0.014766705, -0.05957707, 0.024248779, 0.01729787, -0.08104619, 0.028377637, 0.0774164, -0.029571198, 0.098805726, -0.05487531, 0.011131538) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.0026329665, -0.07978645, 0.023266913, -0.063317545, -0.13192022, -0.052285846, -0.09071553, 0.01294073, 0.020364795, -0.021405185, -0.046866737, 0.08936077, 0.032601304, 0.088665865, -0.06398512, -0.015807016) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.072908536, 0.10124559, -0.059382346, -0.07274975, -0.15386926, 0.058088895, 0.13734575, -0.08429202, -0.0077596977, -0.059642684, -0.04087486, -0.08461217, 0.03605134, 0.08031782, -0.027293874, -0.05226643) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.05761235, 0.0063328813, -0.012605376, 0.017634902, 0.021166831, -0.016585106, -0.03065502, -0.029615575, -0.04674592, -0.063615814, 0.027525546, 0.07175821, -0.10640246, -0.021860883, 0.07215713, -0.09373414) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.08998505, -0.00014465432, 0.10441247, -0.021165052, 0.05263818, -0.20437573, 0.11552614, -0.11383138, -0.047426652, 0.08757641, -0.025403168, 0.03527013, -0.02045051, -0.053358436, 0.09311368, -0.06521593) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.058935154, -0.017358156, -0.10218483, 0.022098077, 0.014286717, 0.029318301, -0.20659512, 0.10422841, -0.037607525, 0.019619823, 0.08594738, -0.10172927, -0.053619463, -0.11814796, 0.0018046426, 0.031578325) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.0058175665, -0.027186159, 0.04891019, -0.05580266, 0.17695417, 0.06257584, -0.053988926, -0.04441824, -0.11641258, 0.010220604, 0.10162313, 0.077824146, -0.07027242, -0.021471716, -0.07523949, -0.02031263) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.024723828, 0.09212882, -0.10201016, -0.08879776, -0.028374758, 0.03794084, 0.16667119, 0.102898754, 0.084029555, -0.07575912, 0.09611676, -0.12024204, 0.09981554, 0.04426836, 0.065200955, 0.044676803) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.10512724, 0.05358826, -0.14085302, 0.052071247, -0.021827307, 0.017526265, 0.15236545, 0.026917933, -0.061030466, -0.08549802, -0.06748439, 0.055241548, 0.117513224, -0.031710867, 0.094942175, 0.09423875) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.015552336, 0.04420794, -0.029277187, -0.19120461, 0.034245424, -0.02792134, -0.09716776, -0.0573681, -0.075626604, 0.037915822, 0.12992129, -0.02319238, -0.0039902157, -0.08158752, -0.07895762, 0.08473973) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.08799909, 0.14314105, -0.20044601, 0.10480823, -0.095984094, 0.012125623, -0.035740513, 0.007108744, -0.0939765, 0.010239716, -0.114662096, 0.018953988, 0.05602594, -0.08161215, -0.06033333, -0.019941881) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.12727, -0.038333707, -0.25097314, 0.018155312, 0.060406335, -0.020452917, 0.113399886, -0.11267086, -0.06354953, -0.012558013, -0.12128287, 0.039447643, -0.17020549, 0.037829228, -0.05092166, 0.06897524) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.0705451, 0.08091754, -0.008346885, -0.044707194, -0.08981229, 0.06599425, 0.043990392, -0.0031653778, 0.12341977, 0.018836867, 0.025816211, 0.026450949, -0.029844712, -0.0464313, -0.13568954, -0.072483405) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.012711535, -0.3026428, 0.13166624, -0.004995521, 0.008398716, 0.14346163, 0.068649575, -0.09263464, 0.018636724, -0.111215554, 0.05045415, 0.10613949, -0.14595944, -0.10123244, 0.1399268, 0.05277028) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.02605338, -0.09055099, 0.14284265, -0.016676703, -0.07651899, 0.11876108, -0.07980653, 0.1367855, 0.027205238, -0.121692345, 0.097538166, 0.019252293, 0.0085324785, -0.0066619613, -0.051010814, 0.015619256) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.053689305, 0.11616701, 0.050079677, 0.062457107, -0.131444, 0.09234042, 0.32624242, -0.04541031, 0.10710542, 0.10381631, -0.11372033, 0.047911637, -0.095062315, 0.08364793, -0.20961949, -0.033144835) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.02494579, 0.18658453, -0.24268891, 0.03562996, -0.011188254, 0.15070106, -0.049641307, -0.04412288, 0.08451071, 0.008854023, -0.027331132, 0.010873642, 0.05840684, 0.093645036, -0.19649129, 0.14708613) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.0030784938, 0.03550323, -0.17132902, 0.069450766, 0.024668658, 0.029604401, 0.11464523, -0.07167686, 0.051766425, 0.014539138, -0.009160021, 0.12180583, -0.05230532, 0.0662672, 0.003080154, -0.07940716) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.05423636, -0.011784935, 0.14290236, 0.032433644, -0.118710525, -0.0920717, 0.0823441, 0.056657888, -0.040222954, 0.010854127, 0.15074678, -0.098136485, -0.06447723, 0.02108425, 0.009055196, -0.11257116) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.12390864, -0.09158103, 0.04741346, -0.0708486, -0.06425824, 0.013386543, 0.057961702, 0.07413954, -0.07973955, -0.09554655, 0.18467925, -0.10788285, 0.09482614, 0.012062154, 0.029963506, -0.029858127) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.10729881, 0.009982173, -0.22733152, 0.098401695, 0.029435245, -0.06580569, -0.12520123, -0.07642179, 0.11545801, 0.15011081, -0.13486712, 0.028433813, 0.07591163, 0.017288294, 0.099007584, -0.097372234) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.13141108, 0.017468836, -0.16651976, 0.13195527, 0.07581501, 0.10724365, -0.09905088, 0.0015309928, -0.059403155, -0.009239631, 0.14939612, -0.1072595, 0.030013539, 0.016426543, 0.0017660961, 0.08670179) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.14684048, 0.034820206, 0.19213732, 0.03307732, -0.08472444, 0.046669018, 0.12534994, -0.11100139, 0.09718424, 0.15050825, -0.21054505, 0.2016825, 0.072763614, -0.07057747, -0.07941401, -0.0811291) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.055816874, 0.09170443, -0.05008039, 0.024646416, -0.009889805, 0.0041081966, 0.12131254, 0.07974836, 0.117176384, 0.0844261, 0.28521234, -0.09175087, -0.08795007, 0.0043471255, 0.07127032, 0.05553993) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.026806787, -0.114655524, -0.12831697, -0.16896728, 0.09705996, 0.07696132, -0.03238421, -0.016604574, 0.0069550225, 0.005655338, 0.43047038, -0.075586416, 0.004409626, 0.05427515, 0.066713005, 0.06727002) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.012092775, -0.14372861, -0.032439742, 0.10276534, 0.074446976, 0.117915854, -0.07504714, 0.059478015, 0.17400376, -0.09012655, 0.12881382, -0.03453601, 0.006655172, -0.05988123, 0.057871893, -0.10036389) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.004990822, 0.08878998, -0.03183994, -0.12615976, 0.0076586036, -0.039238214, -0.04804058, -0.03638868, -0.07475823, -0.107461564, 0.027054943, 0.036395226, -0.09547209, 0.08394239, -0.060993254, -0.07529691) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.021110354, -0.08261888, -0.10318944, 0.040032186, -0.064552136, -0.051267777, 0.0887074, -0.10907327, -0.008963476, 0.13419461, 0.12557253, 0.19924735, 0.07389039, 0.037197713, -0.006051149, 0.09969139) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.10912339, -0.05223203, -0.41098392, 0.075798415, -0.057029378, -0.0017331461, 0.06383876, -0.025387159, -0.04747141, 0.039427005, 0.018824644, 0.08538382, 0.051092204, 0.06586574, -0.11215414, 0.0791303) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.03419454, -0.021962, -0.13961087, -0.022702947, 0.011523682, 0.06005019, 0.19224952, 0.010064379, 0.15189806, -0.14856116, 0.1919555, -0.062437158, 0.015603976, 0.00086081197, -0.0468853, -0.04738336) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.10732999, -0.06551857, 0.0602404, 0.19181146, -0.09031337, 0.05160001, 0.0040802015, -0.11860206, -0.057076015, -0.13912433, -0.060380206, -0.06443237, 0.11100557, -0.11861049, -0.108246945, 0.09199632) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.16064756, -0.10392113, 0.16806966, -0.12632309, 0.067356676, 0.051871065, -0.087932274, 0.04682788, -0.035441585, 0.005433438, -0.20120451, 0.14360161, 0.0051706037, -0.022827601, 0.076131314, -0.028320156) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.11838603, 0.11412809, -0.22658278, -0.037884485, -0.007884632, -0.047932684, 0.10884189, 0.07825834, 0.008924509, 0.13113378, -0.10875834, -0.107598744, 0.0067470223, 0.09434388, -0.109961726, 0.079642296) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.2042058, -0.07531935, -0.09399276, 0.008989612, 0.07966336, -0.0068313014, 0.24716976, 0.058068536, -0.013480067, -0.05133768, 0.07945195, -0.10644309, -0.094064265, -0.009725714, 0.059794, 0.022166375) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.2752565, 0.1852604, -0.23770782, -0.03482585, 0.03348158, -0.098442525, 0.1648311, 0.028246937, 0.115351744, -0.12337124, 0.12334623, -0.06349723, -0.113191076, 0.10705012, -0.08011575, -0.0009850222) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.019758724, 0.08675475, -0.25644946, 0.19483091, 0.056206577, -0.28102186, 0.2467782, -0.19515087, 0.030795587, -0.21867925, 0.10537924, 0.032142207, 0.06683745, 0.045662083, -0.036633432, 0.07147296) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.06670792, -0.0021875468, 0.012345075, 0.07533767, -0.0772911, -0.020445222, 0.055677257, -0.03592486, -0.08034898, 0.0061573903, -0.075330086, -0.04805722, -0.012458078, 0.07707378, 0.1340744, -0.037905995) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.14461063, 0.017936263, 0.029614784, 0.13786332, -0.06205171, 0.05635858, -0.057858724, 0.0991939, 0.0843583, 0.00076131267, 0.09621426, 0.12912948, 0.027043015, -0.05128006, -0.045921084, -0.04307526) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.059195258, -0.0761724, 0.22519636, 0.047220387, 0.13788861, 0.017554784, 0.17639084, -0.086442344, 0.15308294, 0.11420089, 0.09245167, -0.07941055, 0.147952, -0.06565538, 0.23476095, -0.0062853643) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.12952094, 0.15930383, 0.21732077, -0.0077073327, -0.030176776, 0.1060875, 0.11774164, -0.050923593, -0.011193686, -0.03966681, 0.2143074, 0.14424497, -0.1332584, 0.053643733, 0.10166897, -0.11144746) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.03859702, 0.20158121, -0.17083117, -0.024978075, -0.061759107, -0.023627415, -0.019641025, 0.070127934, 0.003741842, 0.022356411, -0.13977034, 0.015925655, -0.069790415, -0.015829412, -0.19992931, 0.085839465) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.051424056, 0.06681765, -0.120979376, 0.0017001146, 0.0051011327, -0.05086517, -0.051919993, -0.050319064, -0.15493919, 0.010663769, -0.059243806, 0.1122366, 0.042886723, 0.13127504, 0.11036723, -0.022160923) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.09295841, 0.12198834, 0.14107624, -0.015114837, -0.037394222, -0.021517873, 0.03543997, 0.05839734, -0.046089817, 0.011284783, 0.057499498, -0.0008424343, 0.01061968, -0.07435791, -0.023883415, 0.074838415) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.08546618, -0.001638889, -0.059880786, -0.0059915804, 0.05733248, 0.002214513, 0.14065383, -0.08221448, 0.05616745, -0.040358093, -0.09910867, 0.015900759, 0.08278462, -0.14608642, 0.13865638, -0.028652601) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.050315954, -0.124541774, 0.1193908, -0.045964096, -0.11453154, -0.17920852, 0.018419629, 0.0885126, 0.0045665368, -0.012980899, 0.0022270456, -0.03926158, 0.021241607, -0.09130771, 0.20553377, -0.0996037) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.10302262, 0.027687268, -0.21909182, -0.11463514, -0.045840893, 0.10050073, -0.0613349, 0.042572837, -0.06806023, -0.0010388973, 0.018142693, 0.14837755, -0.022527771, 0.07391722, -0.08493624, -0.11404409) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.121575266, -0.027801964, 0.09613693, 0.002286362, -0.039520085, 0.03476184, -0.10104017, 0.031482354, 0.11636573, -0.06323037, -0.011886145, 0.06297528, -0.066137604, -0.008157256, -0.04869969, 0.0059183626) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.10905, 0.03983639, 0.056099143, 0.0034510016, 0.012703439, -0.060960226, -0.14831713, -0.069385834, 0.0011631255, 0.11983661, -0.21988507, 0.06868837, 0.034076165, -0.08466886, 0.012345503, -0.040119033) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.13324322, 0.01718367, 0.2076508, 0.016123328, 0.057933662, -0.08142827, 0.028756473, -0.012525868, -0.08725264, -0.009463192, -0.046336904, -0.033815436, -0.1391711, -0.08475892, 0.0687412, -0.039241564) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.041625768, 0.16654244, -0.1799811, 0.048581764, 0.045822866, -0.037232295, 0.05179076, -0.05777596, -0.0095104305, 0.12848996, -0.0789733, 0.08890033, 0.17187265, 0.03049758, -0.06398407, 0.13677458) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.009284352, 0.08338313, 0.026661666, 0.026534343, -0.026173279, -0.04352123, -0.16721159, 0.04861703, -0.02597866, 0.021577125, 0.056278646, -0.076812565, -0.026800256, 0.08736506, -0.15648517, 0.028837873) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.09535911, 0.14442755, 0.11180536, -0.06517056, -0.009842117, -0.0060931295, -0.061150488, -0.02944281, 0.12734199, 0.0006065784, -0.06975431, 0.108781986, 0.033593517, 0.07567509, -0.17313817, 0.25374523) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.19506572, 0.155975, -0.04777849, -0.016203694, -0.0068075536, -0.042868037, -0.17068684, 0.0037194034, -0.0012168193, -0.10092494, -0.06852381, 0.01380547, 0.1136827, -0.041867908, 0.00013216352, -0.05468068) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.07748595, -0.14235479, 0.15257135, -0.053396966, -0.07791306, 0.067098655, -0.057766736, 0.021077331, -0.09494074, -0.023778684, -0.013639282, -0.10075655, -0.080349326, -0.18532336, -0.08169879, 0.11040296) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.069554105, 0.060413048, -0.106799476, 0.053021252, -0.05345125, 0.01492141, -0.004792767, -0.05385169, 0.0843777, 0.013497531, -0.22934411, 0.099761985, 0.061654877, 0.0023306322, 0.037343726, 0.09909317) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.05697883, 0.07050332, 0.076690584, 0.01667316, 0.006008317, 0.06300223, 0.051146176, 0.012772907, -0.06102923, 0.029040178, -0.053367697, 0.07482501, 0.06490111, 0.052685887, -0.049605075, -0.002080413) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.0046620304, 0.059921052, 0.028985702, 0.07646957, 0.0034581195, 0.084394254, -0.15584604, 0.03665553, -0.07015666, 0.003627641, -0.22974466, 0.072483964, -0.075953916, -0.075793676, 0.118282355, -0.113565505) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.11088133, -0.047126915, -0.1282911, 0.052591946, -0.014328814, 0.008643943, -0.068740405, -0.1435253, -0.02709035, -0.04505739, 0.008873879, -0.21076852, -0.043750796, -0.044584595, 0.03902912, -0.030772295) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.038197093, -0.062249802, 0.033598337, -0.102512054, 0.120059155, 0.039409705, 0.23213148, 0.017042313, 0.07811867, -0.003232613, 0.19507286, 0.053877868, 0.012963436, 0.0028906679, 0.21984786, 0.019151483) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.019865166, -0.0071905544, 0.11206307, -0.07782036, 0.09469346, 0.036127537, 0.03760374, 0.055601902, -0.007445543, 0.079429135, 0.049627665, -0.12807842, 0.08465151, 0.057704467, -0.0042503723, -0.0064193746) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.024744835, -0.011291583, -0.024014616, -0.033544473, -0.0038538529, 0.12559661, -0.027841812, -0.06250194, 0.0073181563, 0.013020039, -0.21632992, 0.09582357, -0.02713949, -0.04855593, -0.008293703, 0.021271667) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.110498585, 0.059027217, 0.020372093, -0.06329277, 0.13400175, 0.22068635, -0.19118437, 0.10078439, 0.0022693954, 0.11991088, -0.16167273, -0.006496246, -0.07048625, 0.08765234, 0.032959696, 0.11292396) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.040295064, 0.043726686, 0.06391998, -0.05502049, -0.047743503, -0.0029117474, 0.15594602, 0.093968496, 0.054743696, 0.06277688, 0.028176308, -0.03813296, 0.07304441, -0.04628543, -0.051543918, -0.056700226) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos1 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(1, 0); + imageStore(out_image, store_pos1, max(result1, V4(0.0))); + V4 result2 = V4(-0.013938967, 0.015533113, 0.0028973701, 0.0075022657); + result2 += M4(0.032846577, -0.052960653, 0.034282815, 0.041243304, -0.08967592, 0.048318267, -0.07621673, 0.1028415, 0.048737485, 0.053634305, 0.0054881927, 0.033276886, -0.21132886, -0.00425043, 0.050949793, -0.0111281965) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.12298811, -0.053651, 0.014085534, 0.06090373, 0.046195626, -0.03364584, 0.08522945, -0.047111996, 0.023065615, -0.05466919, -0.0021231575, 0.074913114, -0.04375345, -0.09714572, -0.13357763, 0.07338338) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.01141243, 0.030614294, 0.012433801, 0.02139655, -0.0684577, -0.08955104, 0.093261145, -0.09983138, 0.089424804, -0.021487309, -0.12033073, 0.07616843, -0.090022355, 0.18183194, 0.11445503, 0.067792386) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.003242191, 0.031642754, -0.07453954, 0.11052475, 0.009998606, -0.11990727, -0.14618039, 0.099430494, -0.042089403, 0.070518434, -0.010203386, -0.029402874, -0.20027012, 0.17072497, -0.08798141, 0.05406464) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.01612824, 0.03477462, -0.042969614, 0.056698266, -0.03255394, -0.11133351, -0.004118145, 0.03954056, -0.033006884, 0.04043607, -0.12047454, -0.044718977, 0.0698965, -0.12542497, 0.052342955, 0.094750166) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.08191703, 0.09355846, 0.059092406, 0.06475061, -0.025731565, 0.19678155, -0.0776595, 0.046088483, 0.100162126, -0.016052794, -0.07798135, -0.07101751, -0.06735093, 0.08204773, 0.053372316, -0.10643969) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.07641936, -0.009392707, -0.08043631, -0.022394316, -0.0025288959, -0.097324744, -0.10157535, -0.098694205, 0.046158034, 0.086306415, -0.09310042, 0.045507442, -0.1552158, -0.25672314, -0.045775324, -0.016271122) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.027376695, -0.08542285, -0.00053156266, -0.055664603, 0.11108501, 0.00900522, -0.039494418, 0.058275703, -0.024041515, -0.0043008253, 0.04309959, -0.029130701, 0.07585582, 0.042668022, -0.033310007, 0.035263296) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.027053017, -0.08627896, 0.08763188, 0.043387715, -0.088418104, 0.023269104, 0.071471125, 0.054824803, -0.012928226, -0.06803476, -0.10451357, -0.04683332, -0.03276313, -0.02956615, 0.02772458, 0.016769126) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.05519512, 0.026617685, 0.059249084, 0.05214254, -0.0005045204, 0.012417094, -0.06620078, 0.0813855, -0.035043526, -0.03206556, 0.07487492, 0.03989685, -0.099046, -0.10826472, 0.04286894, 0.123804376) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.023046117, 0.15525448, -0.016758833, 0.08583576, 0.08520866, 0.12128569, 0.0064738714, -0.21322465, 0.051468074, -0.08525122, -0.07286322, -0.06859845, 0.06326966, 0.044056647, 0.088103294, 0.09067303) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.06426195, 0.009186825, -0.07230378, 0.04104307, 0.017211473, -0.20848492, -0.04187725, 0.21498612, 0.020638483, 0.002735242, -0.111722566, -0.014182573, -0.003047092, 0.100285515, -0.06567301, 0.0138706695) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.08885051, 0.093490265, -0.03140803, -0.03252425, -0.19602428, 0.0145222675, 0.03036853, -0.07987939, 0.013513645, -0.008580325, -0.0059136273, 0.048060436, 0.10868937, 0.10224574, -0.030258277, -0.008786517) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.041580692, -0.02790423, 0.022062302, 0.047895577, -0.1059916, -0.112150155, -0.04447172, 0.07482147, -0.057116378, 0.11231512, -0.082839444, -0.033725716, -0.10277563, -0.10362856, 0.04035678, -0.048499774) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.06345017, -0.07136062, -0.073399685, 0.11837334, -0.0045550424, 0.30553803, 0.010344913, -0.114337504, -0.037289858, 0.08024155, -0.09092938, 0.01512199, 0.059033062, -0.015965948, 0.09940773, -0.07353052) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.07212204, -0.073826596, -0.016235586, 0.08354734, -0.1110086, 0.023471365, 0.20727345, -0.12833963, -0.01702859, 0.004681886, 0.029475408, -0.09220702, 0.10658454, 0.07304483, -0.105907686, 0.028076867) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.019951629, 0.039863996, -0.10994326, 0.08695047, 0.12011675, 0.014324402, -0.13076435, 0.1224294, 0.038881417, -0.09101597, 0.048266523, 0.02081965, 0.054930367, 0.042563003, -0.07030875, -0.045356747) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.0120314285, -0.028235875, -0.081212506, -0.0030252447, -0.04822626, -0.04711799, 0.062013462, 0.043998722, 0.007708696, -0.098528996, 0.037904922, -0.029747024, 0.024580749, -0.091394715, -0.06220346, 0.036037244) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.013719639, 0.068786085, -0.2582946, -0.18412389, -0.16333252, 0.12252754, -0.08445838, 0.06032664, -0.11343617, 0.063644305, 0.06866097, 0.029576793, 0.04192072, 0.08560085, 0.043356523, 0.09876049) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.008559685, 0.21590574, 0.15706843, -0.15791821, 0.050628748, 0.024257801, 0.04210108, 0.104727186, 0.0045100497, 0.07006695, 0.034892123, -0.04694154, -0.037952803, 0.0039479756, 0.051974215, -0.02402075) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.16285849, -0.1351455, 0.22289366, -0.19113839, -0.020619422, -0.104307786, -0.06431112, 0.14210887, 0.0044410434, 0.08799993, 0.046918754, 0.026606759, -0.030655297, -0.23118538, 0.07378562, -0.02753961) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.04190715, -0.07085707, -0.16785142, -0.08579393, -0.16594838, -0.21295592, -0.19651107, 0.1108744, -0.017264538, 0.01228312, 0.013902221, -0.045920342, -0.23022439, 0.089863844, 0.15524478, 0.11105493) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.05898294, -0.035147365, 0.0047032023, -0.10104759, 0.05405861, 0.029577512, 0.08253608, 0.12578677, -0.09454659, -0.07002651, -0.012900482, -0.09280986, -0.16421299, -0.10147469, -0.12098356, 0.14639007) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.05408464, 0.116305515, -0.0030977353, -0.033564936, 0.083220914, 0.05112416, 0.065894075, -0.12722094, -0.093101144, -0.0926052, -0.068206765, -0.0033095647, 0.109661594, 0.21803294, 0.04223223, -0.04131261) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.06972871, -0.09167746, -0.15979786, 0.13048, 0.06253625, -0.09264288, -0.05032426, 0.15510198, -0.14806736, 0.0063203163, -0.08419503, -0.011996139, -0.17226042, -0.018295549, -0.049481925, 0.01995809) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.0840082, -0.037556678, -0.19460279, -0.018812792, 0.004944361, -0.049664762, -0.08419881, 0.005028327, 0.007848979, -0.042863537, 0.031951196, 0.019603448, 0.15948758, 0.1491548, -0.08453285, -0.10676616) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.08164055, -0.027523054, -0.028529225, 0.06508434, 0.1484274, 0.0736036, 0.045612324, -0.1698624, -0.105022065, 0.018172331, -0.073550254, -0.043985896, -0.1179838, -0.0444282, 0.14739418, -0.013361285) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.14466478, -0.1375525, -0.078926675, -0.07146436, -0.02455428, -0.03134981, -0.046245314, 0.038217396, 0.0033201047, -0.0818952, 0.0060245525, 0.1058006, 0.041843913, 0.03813736, 0.08554309, 0.063544) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.13304569, 0.10625694, -0.1030556, -0.053505816, 0.037258405, 0.044456914, -0.03631202, -0.06508498, -0.005214813, -0.27949867, -0.2163986, 0.15527907, 0.0057765082, -0.043244556, -0.076198526, 0.038292184) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.041140325, 0.15411493, 0.060217228, 0.09170098, -0.006105441, -0.045251857, -0.07079478, 0.03558165, 0.22392677, 0.4409335, 0.08216555, -0.12828667, 0.020134708, 0.04240352, 0.04178916, 0.005399634) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.17139013, 0.24163511, 0.122895755, 0.02841926, 0.060389537, -0.017288694, 0.059575845, -0.032035768, 0.19195938, 0.092920214, -0.07348584, -0.03231902, -0.01957814, -0.07692006, 0.022113338, 0.014335964) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.09234144, -0.14912902, 0.0041282643, -0.027115146, 0.12525725, 0.03379189, -0.07923043, 0.01664941, 0.11189519, -0.014339368, 0.017915903, -0.12146901, 0.04682695, -0.037487045, 0.0781563, 0.07242103) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.12280214, -0.07928621, -0.00084343384, 0.117775716, -0.08470734, 0.02297821, 0.055031396, -0.04422762, 0.03624792, -0.07233905, 0.1049448, -0.008404658, -0.031488854, -0.104380265, -0.039811365, 0.06190357) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.09426611, -0.059807744, 0.16133043, 0.037267085, -0.044063903, -0.04881754, -0.036063835, -0.0005282542, 0.3019107, -0.09280052, 0.08644239, -0.085524224, -0.06320671, 0.121795595, -0.008503126, 0.049327616) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.056063645, -0.027197428, -0.275161, 0.117007494, 0.009994409, -0.11506362, 0.05293116, 0.109181024, -0.20537406, -0.011914534, 0.21813466, -0.19475429, -0.03542684, -0.014357295, 0.06533645, -0.06992156) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.11626918, 0.06787258, -0.024249015, -0.14433035, -0.10196498, 0.041349225, -0.04500458, -0.101851776, -0.13543579, -0.20013253, -0.22151956, 0.15556997, 0.009776829, -0.015146394, 0.039016746, 0.043856163) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.09574218, 0.43134865, 0.06287345, -0.14401114, 0.07259602, -0.0763569, -0.02227203, 0.112953484, 0.09246757, 0.25071567, 0.0643707, -0.08116504, -0.08215675, -0.046698894, 0.07829749, -0.12789002) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.20191924, -0.056483887, -0.035593227, 0.029989725, -0.054922167, -0.12155225, -0.01314009, 0.018419497, -0.09012032, -0.2546305, 0.11454314, 0.024380885, 0.0024255472, 0.060235217, 0.06451117, -0.09309257) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.073611856, -0.13808423, -0.052807756, -0.011837564, 0.12048, -0.031830203, 0.027526058, 0.088994816, 0.029460358, -0.06082022, -0.1596075, 0.052041758, -0.023746919, -0.030569702, 0.025013674, 0.026854126) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.086055025, -0.27568772, 0.12127773, 0.05009544, -0.054843403, 0.17005071, -0.050590053, 0.04224273, -0.17188133, 0.16836992, -0.027306903, -0.059306376, -0.06309424, -0.02755114, 0.0006239271, 0.009682775) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.101595916, 0.077240214, -0.250513, 0.13649723, 0.05415376, 0.03777246, 0.034393545, -0.09718768, 0.023413684, 0.073868506, 0.10415262, 0.011855031, -0.048522275, -0.05025404, 0.07603722, -0.0133422455) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.005209693, -0.03132555, -0.075816676, 0.12494877, -0.0029918156, 0.12346448, 0.057733785, -0.11805883, 0.11076001, 0.15045074, 0.13931994, -0.028937897, -0.019406365, 0.09444509, -0.027938375, 0.05988758) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.017660402, 0.33389142, 0.3368349, -0.20588791, -0.0056653786, -0.2651566, -0.04290172, -0.012614579, -0.11986817, -0.05799836, -0.39571932, 0.11297465, -0.07600458, -0.020395143, 0.028914806, 0.099363364) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.15865004, -0.045258045, -0.07157293, 0.2891403, -0.08760969, 0.039345026, 0.13047671, -0.023942553, -0.0033943066, 0.14529294, 0.28212127, -0.18738058, 0.054405157, -0.07250427, -0.057954464, 0.07266344) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.07110851, 0.2947595, 0.14452806, -0.04179915, -0.07646726, -0.35550603, -0.09038327, 0.1859547, -0.030575223, -0.23900814, 0.035673585, 0.009947154, 0.1004944, -0.05465786, 0.09433755, 0.08319697) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.09650646, -0.2106911, -0.14350054, 0.09678866, 0.141645, 0.12216212, -0.015125403, 0.07808061, 0.021505704, -0.060919236, 0.025231823, -0.037320167, 0.09172411, 0.0071801394, -0.08808234, -0.0036207838) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.030052708, 0.033569835, 0.08926979, 0.11178668, -0.091706395, -0.12504517, -0.0070420154, 0.03058263, 0.1316749, -0.073301606, -0.039943352, 0.048992824, -0.012253534, -0.12068569, 0.059805628, 0.014095031) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.09948852, -0.11137538, -0.096741654, 0.16914417, -0.0785128, -0.022394864, -0.048322883, -0.056172695, -0.013107698, 0.07919407, -0.13742791, -0.041318193, 0.16285864, -0.01721374, 0.043658752, -0.022331616) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.09335611, -0.14867131, -0.28287446, 0.17306156, 0.15854278, -0.095198154, -0.10047315, 0.0010695432, 0.18735754, -0.10223568, -0.19490556, -0.018932529, 0.007102843, 0.016200561, 0.0100492025, -0.0029140124) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.01925431, 0.10660208, 0.27944034, -0.0011139654, -0.10035412, 0.09825183, 0.1448656, -0.1492353, 0.09415358, 0.12020322, 0.05821491, -0.08285908, -0.056045406, -0.009525278, 0.045026075, -0.0043133344) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.1453938, -0.1819587, 0.0059757284, 0.051746137, -0.0110834325, -0.070206106, 0.05421846, 0.038294274, -0.014713783, -0.22189125, -0.08452043, 0.03983536, 0.07674623, 0.020582968, 0.07983692, -0.07595044) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.05846307, -0.14692274, -0.13257322, 0.07857917, 0.081295855, -0.02054582, -0.14121507, -0.012233117, 0.20367633, 0.20878336, 0.1984374, 0.0030697384, 0.015199983, -0.03457278, -0.115692005, 0.12165493) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.0074242325, 0.079576045, 0.20005365, -0.05483021, -0.12659398, 0.03902692, -0.015557649, -0.064035706, -0.10649736, -0.21311344, 0.11481038, 0.09883342, -0.11245709, 0.0992991, 0.20141985, -0.123599924) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.023659606, 0.028784622, 0.15630634, -0.16217248, -0.020239111, -0.07716568, -0.010747737, 0.03945967, -0.010214203, 0.24981211, -0.09295191, -0.10133283, -0.08014364, -0.065089874, -0.108319044, -0.022462547) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.1404802, -0.07709674, 0.09681487, 0.06958544, -0.039029483, -0.005657039, -0.041457523, -0.018028699, -0.17900372, -0.2743584, -0.0020316062, 0.02434286, -0.25971797, 0.045841504, 0.06624523, 0.059360214) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.03962932, -0.102508165, -0.10335586, 0.02769998, -0.034909446, 0.08839743, -0.054328848, 0.05946154, -0.080311604, 0.0863828, -0.12949784, -0.023000276, -0.027209371, -0.19840518, 0.13048606, 0.033447914) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.13438398, -0.03328395, 0.00886096, 0.062370244, -0.08165411, -0.004406249, -0.07576186, -0.04371637, 0.112132765, 0.057616953, -0.091129914, 0.074267745, 0.03333039, -0.022591632, 0.030719416, -0.0816658) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.16862763, -0.20332028, -0.13617799, 0.10863646, 0.08856559, 0.09361129, 0.06661578, 0.112887606, 0.21530516, 0.10044223, -0.062562965, -0.035199128, -0.09036694, -0.22348131, -0.11113321, 0.0669725) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.16750894, -0.08843269, -0.07074065, 0.05376084, 0.07708549, 0.015515703, 0.016807212, 0.04526428, 0.06690181, -0.1088821, 0.14146914, -0.008922299, 0.07360777, 0.047104575, 0.05380345, -0.027304618) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.037288673, 0.069152765, 0.085217334, -0.011905897, -0.035554044, -0.0675126, 0.029835347, -0.002959171, 0.045045763, -0.091421194, -0.106193855, 0.0143471295, 0.02488115, 0.03365488, 0.050359994, 0.1503394) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.12319791, 0.0032950933, -0.06824863, 0.012392062, -0.118234396, 0.14496185, 0.114632, 0.076892786, 0.07817824, -0.11684472, 0.12347112, 0.06353911, -0.11729137, 0.016371759, 0.018917851, -0.09600979) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.13907284, 0.091185175, 0.23634766, -0.09853092, -0.04085903, -0.034933154, -0.106923856, 0.029059209, -0.00412088, 0.10090707, 0.044486817, -0.07920565, -0.12085485, 0.07436986, 0.29817295, -0.041254688) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.11655869, -0.0035880397, -0.06810132, 0.04146236, 0.023564009, 0.09065643, 0.12430169, -0.008510147, 0.018586572, -0.003018705, 0.019272458, 0.045007218, -0.034521285, -0.13510515, 0.1783665, -0.057660464) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.023256643, 0.0025501647, 0.054036576, -0.09010554, -0.09981198, 0.0025569394, 0.034095336, 0.09616902, -0.018435046, 0.24729924, 0.059934802, -0.11045272, 0.101369314, -0.08758456, 0.06130956, -0.025856761) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.04986097, 0.07840398, -0.030468019, -0.10168706, -0.08907567, -0.052781705, 0.009643028, -0.017915532, -0.0006377926, -0.13322766, -0.059335712, 0.030386358, -0.062960066, 0.055721477, 0.09809302, -0.13177848) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.0527928, -0.005294284, -0.06544233, -0.081286736, 0.103860065, 0.0007467491, 0.046420082, 0.053392958, -0.044237245, 0.012775338, 0.061520044, -0.13960223, 0.046545796, -0.07827683, 0.071598575, 0.11218506) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.047418635, 0.02560069, -0.010231855, 0.038420632, -0.020437442, -0.062833995, -0.106617115, 0.060434762, -0.068092115, -0.19020845, 0.028286979, 0.19222891, -0.0017695813, 0.11305281, -0.04130067, 0.057593267) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.066758946, 0.07490352, -0.029228708, 0.04663125, 0.15840468, -0.0046553714, -0.08245643, 0.036379512, -0.03015929, -0.089421146, -0.100079834, -0.035049494, 0.013819554, -0.25975573, -0.018371454, 0.15429766) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.031221949, 0.052311487, -0.07574577, 0.061409235, 0.020268876, 0.05725393, 0.013888014, -0.013324502, 0.118358225, 0.20001312, -0.024774512, 0.06972467, 0.061767373, 0.06987276, 0.025338497, -0.048177954) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.05117255, 0.0002652026, -0.07259172, 0.008833372, 0.02545644, 0.053515352, -0.122432254, 0.09457164, -0.02191779, 0.033954985, 0.011324267, -0.021841804, 0.06336945, -0.14116831, -0.01481205, 0.045752063) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.068163946, 0.088295355, 0.023176758, -0.041886695, 0.15731299, 0.10447455, -0.07877785, -0.0017151001, -0.04918913, 0.11859751, 0.053340085, -0.11550387, 0.039760426, 0.17686935, 0.14131936, -0.034438223) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.09526958, 0.05310667, -0.021711513, 0.09264313, 0.07289789, 0.039330672, -0.010363671, 0.012968474, -0.07759688, -0.12618916, 0.037153497, -0.096806124, 0.07612327, -0.07627222, 0.039467458, 0.1416746) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos2 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(2, 0); + imageStore(out_image, store_pos2, max(result2, V4(0.0))); + V4 result3 = V4(-0.012518986, 0.0070945756, -0.017511968, -0.011538896); + result3 += M4(-0.0033189987, -0.031796757, -0.0030766327, -0.0926814, 0.05007564, -0.08319193, 0.021896787, 0.042394504, 0.059333492, 0.071108565, -0.006133896, -0.055546977, -0.012800422, -0.019034186, -0.052137543, 0.08397118) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.04151804, 0.00015169942, -0.04424385, -0.019633979, 0.007792724, 0.1064535, 0.019604206, 0.028914968, 0.03367432, 0.036510177, -0.03172884, 0.053186815, -0.08092355, -0.016948175, -0.030257976, 0.13167389) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.032768372, 0.08118147, 0.019695593, 0.044301298, 0.06408394, 0.03696116, 0.04725715, 0.036921944, -0.122164376, -0.0273368, -0.09139513, -0.048480477, -0.014760667, -0.013382793, -0.08632843, 0.040539995) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.018762996, -0.01951869, 0.014385124, -0.06788179, -0.082866736, -0.061339386, 0.018546801, -0.0589986, 0.055554125, 0.03177357, 0.038438693, -0.059902295, 0.036744174, 0.013993095, -0.104956396, 0.02324095) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.091185644, -0.017909246, 0.009693272, 0.084280215, 0.021513043, -0.11447645, -0.0973848, 0.03255333, 0.027737834, 0.12152628, -0.07032842, -0.087216154, 0.028611587, 0.10433965, -0.08831671, 0.061329376) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.048295487, 0.051766906, 0.0032284127, 0.096738674, 0.06556372, 0.058431383, 0.024475524, -0.012327159, 0.084385686, -0.05426389, -0.095153116, 0.036337677, 0.025465416, 0.00079764595, 0.003768222, 0.1922321) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.04550392, -0.01742628, -0.022397673, -0.081209674, 0.059117768, 0.08539677, 0.044724893, -0.07230344, 0.07101733, 0.04267182, -0.10297767, 0.10966792, -0.028898953, -0.09682309, 0.12835433, -0.063649416) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.0868637, -0.090506434, 0.015264549, 0.0048999507, 0.0051321923, -0.02700547, 0.10830839, -0.033225227, 0.062388703, -0.012921367, -0.1241208, -0.120850645, 0.0011642652, -0.057013053, 0.026096784, 0.12770547) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.057904053, 0.07126332, 0.065179005, 0.0072393892, 0.026289284, -0.015522321, 0.07844126, 0.032296654, -0.030876618, -0.07873953, -0.07705523, 0.094147995, 0.033468008, -0.08345182, -0.047274567, 0.034313187) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.021974018, -0.051888954, 0.105214044, 0.084303275, 0.04999884, 0.17472866, -0.11108904, 0.058541253, 0.0538708, 0.064646415, 0.058524862, -0.043715067, 0.055651437, -0.047220215, 0.009773646, -0.02485704) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.025558477, -0.01251669, -0.0037142544, 0.043163832, 0.065668955, 0.10107531, -0.09262398, -0.17516854, 0.014086335, 0.003614558, 0.052761476, 0.01935481, -0.06523785, -0.0007596225, 0.08677427, 0.051786784) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.010353633, -0.011511458, 0.124540664, 0.015506225, -0.013702326, -0.22546078, -0.009125284, 0.14047997, -0.086276114, 0.05632797, 0.045119684, -0.020841895, -0.054863915, 0.10877265, 0.009997848, 0.075950526) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.05302458, 0.041873578, 0.00273112, 0.052187666, -0.17102851, 0.10754417, 0.06025484, -0.13963804, -0.04224225, 0.07015497, -0.060627867, 0.09545506, -0.020657288, -0.003703757, -0.03025258, 0.029137025) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.0065668435, -0.027646733, 0.008731909, -0.06519734, 0.017368566, -0.08487297, 0.0398607, 0.16249032, -0.091075644, -0.0072050923, 0.012804633, -0.009777676, 0.051832534, 0.06296942, 0.017187657, -0.045606267) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.05286811, -0.031980447, -0.109653525, 0.107621334, 0.10310813, 0.094651565, -0.17985307, -0.0709109, -0.04163984, -0.07897926, -0.037096098, -0.085069895, 0.10909844, 0.05413038, -0.09471971, 0.104520105) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.024281105, 0.024670474, -0.041669488, -0.13778168, -0.04807533, 0.057321854, -0.3055263, -0.17789663, 0.053347982, 0.09278458, 0.017643485, -0.020183902, 0.015703797, -0.024234815, -0.02279699, 0.08634246) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.0322598, 0.12928702, -0.018312672, 0.033272922, -0.081245765, 0.002731988, 0.10783381, -0.01819588, -0.072988875, -0.119637206, -0.0017404997, 0.053428713, -0.037571784, 0.035086032, -0.070783064, 0.11154226) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.017401507, 0.0716273, -0.0047323806, -0.039071944, 0.08658567, -0.25666538, 0.18513608, 0.058399133, 0.05631411, 0.021030791, 0.028186567, -0.025449097, 0.013340149, -0.07296003, -0.06381846, -0.078611866) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.011221426, 0.08857708, -0.08577031, 0.010345953, 0.0673383, -0.0445656, 0.012178515, 0.081286035, -0.033502717, -0.00540955, 0.07992292, 0.056445684, 0.1542914, 0.09162749, -0.0077017574, -0.014916754) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.13194574, 0.026240204, 0.014445435, 0.027149092, -0.11852262, 0.065161884, -0.12150717, -0.0350862, 0.027981466, 0.030369619, 0.07647812, -0.08312393, 0.03061999, -0.06818669, 0.07923772, -0.13542707) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.031187573, -0.1144571, 0.25582755, 0.13512984, -0.011426639, 0.0002195666, 0.1890554, 0.12920667, -0.00070874277, -0.08356669, 0.127737, -0.064896345, 0.11981627, 0.052162938, -0.01778623, 0.03409122) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.0906666, -0.14043517, 0.05000323, 0.03911633, 0.0010870898, 0.037956953, 0.004988063, 0.07945947, -0.093095325, 0.032581642, 0.06880558, 0.017078595, -0.049920302, -0.14744014, 0.06983257, -0.2219827) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.0781317, -0.1880285, 0.018607302, 0.09578213, 0.06964125, 0.057154838, -0.046211112, 0.12189891, -0.069240056, 0.0025894253, -0.00073457503, 0.04199582, 0.025048101, -0.034043204, 0.10146976, 0.118151434) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.010345736, -0.07171317, -0.09768584, 0.14352156, -0.055494152, -0.005513953, -0.06853412, 0.09995613, -0.052851375, 0.01893506, 0.047571268, -0.04101016, 0.11214197, 0.19076993, -0.11133744, -0.099796236) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.019642381, 0.15385611, -0.16100065, -0.05033071, -0.07097628, 0.009658509, 0.08903772, -0.07229059, -0.075223394, 0.08733085, 0.06899845, -0.06016796, 0.0051204916, -0.043387733, 0.07764605, 0.036038157) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.17266122, -0.010641261, 0.1582168, -0.18112601, 0.070201986, 0.01324204, 0.067627385, 0.059807725, -0.010387782, 0.09056353, 0.07382892, -0.097843505, -0.004956607, 0.1073234, -0.09324925, -0.014120173) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.04028673, -0.16908011, -0.06618007, 0.030393122, 0.06455691, -0.07580985, -0.14101352, 0.15954699, 0.08678407, -0.053937983, -0.041481435, -0.07600984, -0.0991647, -0.119672835, 0.15467931, 0.020880038) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.081293546, 0.053699862, 0.14566663, 0.013796403, -0.06066052, 0.043988783, -0.10105489, -0.06898023, -0.032039654, -0.11546325, 0.21414636, -0.25241634, 0.06102923, -0.00593279, -0.018899463, -0.0067900214) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.10864861, -0.05397389, 0.008364067, 0.03765568, -0.04103933, -0.07005402, -0.08266339, 0.07166335, 0.058689557, -0.0861921, 0.044305477, 0.20912674, 0.026193125, -0.033231795, 0.029178977, 0.040098224) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.061218586, 0.082248196, -0.23817077, -0.039828382, -0.08834102, 0.029025316, -0.043707553, 0.028199632, -0.026544318, 0.09860735, -0.44910544, 0.0044959346, -0.024065895, -0.029217964, -0.093128726, 0.068041176) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.032779202, 0.24977143, -0.11003235, -0.2144612, 0.08295377, 0.037470598, 0.06372874, -0.09732213, -0.03706732, 0.1352681, -0.24067616, 0.024204416, -0.016781984, 0.041783802, 0.0477157, -0.018714981) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.008999692, -0.043068297, 0.18586408, -0.20028335, -0.06752217, -0.07442845, -0.023827419, -0.04832255, -0.07989864, 0.42066112, 0.19692871, 0.033019282, -0.06465765, 0.011740137, -0.08295818, -0.06473271) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.087912485, -0.08375099, 0.03187817, -0.081059806, 0.078459404, -0.10819257, 0.0032759625, 0.008452853, 0.081715435, -0.33896744, 0.29382282, 0.036052786, 0.05491081, 0.009191513, -0.098438226, -0.037519783) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.017103858, -0.114877224, -0.07347175, -0.03093364, 0.008613353, -0.011185535, 0.09340415, -0.01709707, 0.03769859, -0.117369644, 0.08248022, 0.29412773, 0.035937488, 0.08534834, -0.043632608, -0.1040913) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.09821377, -0.019997912, -0.103378855, 0.13884595, 0.061904706, -0.058991164, -0.0006783847, 0.089894764, 0.10261887, -0.19231838, -0.24745579, -0.14215156, -0.075559914, 0.065083064, 0.066898234, -0.10658473) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.030993572, 0.17065513, -0.054179028, 0.076734655, -0.037471965, 0.109911226, -0.09103931, 0.027973885, 0.030605793, 0.2812993, 0.06654922, -0.21080564, 0.08313831, 0.11429299, 0.052559037, -0.10178759) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.055546902, 0.23473305, -0.032706447, 0.040358905, -0.05507196, -0.16279553, -0.062475704, -0.06196063, -0.12137719, 0.0628512, -0.10730041, 0.02362356, 0.017290175, 0.10258329, 0.07114065, 0.086324625) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.056055643, -0.10129195, 0.08074658, -0.27998975, -0.070233144, -0.050883558, -0.06140847, 0.19997111, -0.0929587, 0.05503528, 0.19992894, 0.010727875, 0.04187714, 0.043866176, -0.054347392, -0.045991357) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.043120414, 0.008932252, 0.03794669, -0.038929574, -0.09469499, 0.049454827, -0.0620481, -0.08027811, 0.059158288, 0.05771179, -0.04809073, -0.10111638, -0.057779193, 0.034075275, -0.08250269, 0.060179956) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.008353357, -0.12457073, 0.012224879, -0.01111286, 0.07604441, 0.06729123, -0.06326354, 0.07077102, 0.030457448, -0.10277716, -0.13277951, 0.19069631, 0.08174628, -0.020162959, -0.088179484, -0.059240878) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.051828988, -0.12397702, -0.073869735, -0.31402183, -0.023100207, 0.042972405, -0.12108119, 0.13764128, 0.05773046, 0.075143486, -0.082998134, 0.14037855, 0.058919247, -0.10234473, 0.0962092, -0.058279492) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.061602686, 0.018831931, -0.018526068, -0.06753372, 0.076515175, 0.09013678, 0.0650367, 0.015100234, 0.09338403, 0.042433888, 0.118137844, -0.09007471, -0.049626224, 0.03340139, -0.0123476675, -0.00034085874) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.018961582, 0.3967363, -0.31594083, -0.35462314, -0.052969597, -0.17571561, 0.11196098, 0.20526563, 0.058153138, -0.042746466, 0.16982311, 0.08606994, 0.033260424, -0.08833448, 0.024254246, 0.0042823893) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.0133263115, -0.028293245, 0.2721697, 0.18898858, -0.14849076, -0.117591724, -0.12813184, -0.02793723, -0.02359971, -0.22682042, -0.080521025, -0.094790734, -0.05922585, 0.028207934, -0.0017661817, 0.006202953) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.22524153, 0.17023394, -0.0963173, 0.053282466, -0.011862443, -0.14291856, 0.19688088, -0.14245985, -0.0048251944, -0.27915266, 0.011816415, 0.008326922, -0.10318171, -0.040821753, 0.086039625, 0.088790774) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.06792482, -0.20209098, 0.2719679, 0.14842628, 0.07325956, 0.00355278, -0.08418818, 0.010095955, 0.05507352, -0.07232141, 0.24224822, 0.09347204, -0.13863057, 0.017190974, -0.059830546, -0.061914764) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.05859695, 0.11469206, -0.040357865, -0.075446375, -0.0027944802, 0.05874611, 0.14319946, 0.10879777, 0.10623748, 0.0023573602, -0.042572387, -0.11647939, -0.08565273, -0.05575276, 0.20734814, -0.039831895) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.0988295, 0.025366988, 0.044457443, 0.000415382, 0.017351544, -0.076726496, 0.18975927, -0.053370487, -0.068056345, 0.035373554, -0.1079101, 0.06736961, 0.12972794, -0.07613468, -0.061491176, -0.028829588) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.10419876, 0.16370384, 0.05213879, 0.076686755, 0.03000197, -0.08340143, 0.10903286, 0.18682446, 0.061049215, 0.2153403, 0.008591312, 0.00097234047, -0.09942478, -0.14483237, -0.12278689, 0.11877181) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.09284779, 0.023179924, -0.14336403, 0.054617073, 0.08931739, 0.008755494, -0.09233432, 0.1318745, -0.0106256455, 0.029484555, -0.070480555, -0.078460686, 0.016648866, 0.08025689, -0.10368326, 0.07154847) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.11207711, -0.05404491, 0.026518183, 0.14643024, 0.027290542, 0.17891558, -0.03201469, 0.049092837, 0.06641549, -0.015455411, 0.0006642197, -0.027090365, -0.037820242, -0.030721243, 0.0885668, 0.01403756) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.1593183, 0.04163153, 0.027754696, 0.23408459, -0.081305884, 0.07192084, 0.028704971, -0.1673062, -0.0131462, 0.1831182, 0.04591727, -0.062007397, -0.06898538, -0.034902614, 0.0244412, 0.1737308) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.13590239, -0.018635431, 0.008354303, 0.030199578, 0.007843736, -0.21279456, 0.12636064, -0.122310884, 0.0836748, -0.01508202, 0.2823602, 0.22335844, 0.063699886, -0.015213885, -0.18021664, 0.016720569) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.093401976, 0.12994859, 0.004596148, -0.0025210932, -0.07524645, -0.09145301, -0.12855847, -0.046675723, 0.06828675, 0.15758525, -0.13011307, 0.011466958, 0.08928475, -0.12561987, 0.02587927, -0.060053047) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.026849022, -0.08344982, 0.027339526, -0.10797092, -0.042989243, 0.09463806, -0.023465551, 0.057911985, 0.045670893, -0.12640919, 0.21453263, -0.058938336, -0.0019534708, -0.11602531, -0.111686885, 0.034049165) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.13259117, 0.007287392, -0.13264011, 0.102430485, 0.067014776, -0.040232033, -0.12802108, 0.03399695, 0.08426492, -0.009571089, -0.09980492, 0.09706471, 0.07698754, 0.18946758, 0.048677966, -0.018176554) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.0026777305, 0.07559322, -0.043378428, 0.0006132307, -0.011789629, -0.06270641, -0.20602962, -0.02229917, -0.07189674, -0.02774425, -0.24331799, -0.005238476, -0.060146578, -0.08298993, 0.2780255, -0.1221403) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.048961475, -0.008537959, 0.020299785, -0.04674011, 0.05801819, -0.0050382307, 0.06383046, -0.09235001, 0.030783033, 0.13839787, -0.12695888, -0.11915143, -0.023063133, -0.21119176, 0.14511593, 0.056838203) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.07378068, 0.1378775, 0.08751815, 0.11141921, -0.019916391, -0.090647206, 0.13377483, 0.005675396, -0.13311717, 0.04137002, 0.15869711, 0.046977434, -0.05859421, 0.13273284, -0.09698427, -0.019570885) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.08665149, -0.10476117, 0.095954455, 0.09325756, -0.073159605, 0.026447566, -0.005702611, 0.013930532, 0.0056692413, -0.08785445, 0.17831667, -0.06505376, -0.08869095, -0.09389505, 0.012569796, -0.18258388) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.17376915, 0.23689021, -0.07616001, 0.166539, 0.031684257, 0.06483957, 0.04357372, -0.08224827, 0.024566712, -0.21435706, 0.14373408, 0.11941946, 0.08952546, 0.18489012, -0.06908224, 0.1436825) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.12569818, 0.025636923, -0.0023101897, -0.01451862, 0.009871901, 0.0704823, 0.13068587, -0.024988944, 0.106237575, 0.1495855, -0.06400552, -0.0060628895, -0.0340343, -0.10139416, -0.0483312, -0.030328147) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.05760114, -0.030080087, -0.023362376, 0.07358987, -0.03770872, 0.10508679, -0.05084864, -0.09883935, -0.053945195, 0.07558925, 0.15257448, -0.16067523, 0.018835824, -0.017086739, -0.0049569677, 0.00052892556) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.03580358, 0.041618627, -0.029684678, -0.05997835, 0.06627627, -0.04320545, -0.065716684, -0.05160917, 0.02882716, 0.13442057, -0.19936845, -0.07544488, -0.044389877, 0.06922347, -0.055597793, 0.10591793) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.066855475, -0.008913665, -0.011440354, 0.053137377, 0.100191265, -0.0039034565, 0.01809614, 0.08138383, 0.11774637, -0.026204426, 0.04862349, 0.10443436, 0.09947928, 0.1155981, -0.14135462, -0.031974357) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.07720407, -0.07326839, -0.030723352, 0.08946443, 0.017669173, 0.08433194, -0.087835275, 0.0068506273, 0.058695525, -0.004545919, -0.079558685, 0.09358488, -0.11137907, 0.031959847, -0.004352902, -0.07820139) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.062447827, 0.06354601, 0.12064299, 0.10357937, 0.03633872, -0.0087055, 0.03910267, -0.042532217, -0.11951508, -0.12654538, 0.11553444, -0.18648426, -0.14168927, -0.089021765, 0.031963695, -0.05277296) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.018299429, 0.06490567, 0.04453839, -0.07599991, -0.044118144, 0.056176044, 0.07112692, 0.055740055, -0.027183728, 0.04875211, 0.07265558, 0.099663004, -0.10826245, 0.021758752, 0.032656122, -0.035560343) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.05047425, -0.00048453535, 0.03448634, 0.015250464, -0.019913772, -0.11299326, 0.044895217, 0.16725911, -0.04834221, -0.06470435, 0.02869884, 0.0015011507, 0.020315113, 0.009936202, 0.06617021, 0.050816577) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.09485105, -0.10343747, 0.051820677, 0.076749474, 0.12610984, -0.096889585, 0.112727374, 0.08339473, 0.11839153, 0.10069566, -0.1252954, -0.029617446, 0.054540392, 0.07360402, 0.06576374, 0.037865337) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.026366921, -0.0710845, -0.009771795, -0.08159256, -0.029146278, 0.17357002, -0.028913356, -0.022613551, 0.00562325, -0.039720505, 0.04224189, -0.21584687, 0.1338681, 0.085350074, 0.011183579, 0.08088101) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.038068265, -0.09367862, -0.064264, 0.09790984, -0.018264253, -0.023783265, 0.08623268, -0.058141768, -0.06183709, -0.0179468, 0.06922853, 0.07352424, -0.07878659, -0.026078839, 0.16651386, -0.00702365) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos3 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(3, 0); + imageStore(out_image, store_pos3, max(result3, V4(0.0))); + V4 result4 = V4(0.03394019, 0.0063071293, -0.004553025, 0.0022147307); + result4 += M4(-0.09437763, 0.025333982, -0.062552236, -0.11040296, -0.035997435, 0.105522975, -0.04753781, 0.10900919, -0.10352017, 0.026009884, 0.09224299, 0.060414173, 0.09760993, -0.12260322, -0.07643996, -0.027872674) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.00093713513, 0.04205644, 0.026839055, 0.079139255, 0.048524708, -0.012118945, -0.016735239, -0.10736535, -0.032618236, 0.0235557, -0.057678573, 0.111510605, -0.08039416, 0.09757609, -0.13083325, 0.07144637) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.034322124, -0.086195655, 0.018661585, -0.07604054, 0.06121045, 0.0449508, -0.02640634, -0.027428767, -0.028541444, -0.16129419, 0.063549526, 0.03443972, 0.032553032, -0.14239065, -0.28684318, -0.09040096) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.034213763, -0.044421032, 0.0062948987, 0.071225666, 0.08121343, 0.027456205, -0.10675497, 0.038162798, -0.008328705, -0.005796417, -0.06319454, -0.0360602, -0.10682284, 0.049447723, -0.13839251, -0.013379942) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.04175881, 0.035257004, 0.0433806, 0.05573847, -0.11505523, 0.082857795, 0.099840775, 0.16590463, 0.0074201394, 0.0015407244, -0.04565351, -0.09311857, 0.01534157, -0.019662822, -0.001221302, 0.001330326) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.08620673, 0.06327106, -0.002852416, -0.0987737, 0.07900914, -0.08198202, -0.029014885, -0.012796967, -0.029162072, -0.12328019, 0.022484984, -0.09272236, 0.041170888, -0.08515775, -0.020671245, 0.09171878) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.0030836589, 0.06904002, -0.10530766, 0.12453553, 0.026617557, -0.04080634, 0.041614223, 0.09192066, -0.021149194, 0.020043759, 0.11552467, 0.078194946, -0.035195723, 0.07571378, -0.10569726, 0.15035814) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.06328905, -0.06432256, 0.057530504, -0.08029342, 0.089735836, -0.052603565, -0.037380233, 0.10064235, -0.05943334, 0.074459426, -0.020967271, 0.009380174, -0.0058354214, -0.041380208, -0.10332938, 0.11091954) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.09760047, -0.0696524, 0.03252792, -0.077999994, -0.0682742, 0.1171209, 0.06813058, -0.017899346, -0.034085665, -0.009196537, 0.042982448, 0.0068317475, 0.06884779, -0.08132331, 0.0062076035, 0.10353194) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.08392445, -0.085824475, -0.006372055, 0.011465822, 0.035508245, -0.036508195, 0.0830142, -0.049925458, -0.07195438, -0.06331219, 0.026815966, 0.088416405, -0.04507615, 0.014155013, -0.03227812, 0.07446025) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.051397275, 0.021637455, -0.057635587, 0.060157485, 0.07145887, -0.0070617655, -0.01068081, -0.17041488, 0.064338334, -0.029150758, -0.043861624, -0.028088756, 0.02513069, -0.015773907, -0.08477395, -0.08155918) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.031871706, -0.05373803, 0.02596584, -0.00802297, 0.056114983, 0.11148172, 0.09315036, 0.18542424, -0.089957625, 0.00693296, -0.06990303, 0.034442645, 0.021289283, 0.059214205, -0.08314528, 0.015713321) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.060116228, 0.009356164, -0.058515508, -0.063108444, 0.080449015, -0.0186705, -0.05405133, -0.084320776, -0.046189383, 0.0563503, -0.06621707, -0.032458276, -0.089028776, 0.06843305, -0.108973704, -0.01828762) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.02353574, 0.12925528, -0.103289835, -0.04508289, -0.008032645, -0.0032984929, 0.031241048, 0.10855681, -0.014146661, -0.06415369, 0.08038387, 0.019622287, 0.10292075, -0.010572693, -0.023009026, -0.090629905) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.088386945, -0.031532843, -0.0478147, -0.037775718, 0.084623784, -0.017881174, -0.119551584, -0.05066966, -0.08675798, -0.04589876, -0.006283722, -0.09277274, 0.0018372581, 0.019095, 0.018991433, 0.08162115) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.061558936, -0.023329174, -0.05173367, -0.061170585, -0.12988907, 0.02560699, 0.10465059, -0.03246207, -0.046974763, -0.0031397166, -0.07150699, 0.024136085, -0.022393592, -0.06476617, 0.025518684, -0.016449701) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0003105685, 0.112822324, -0.17245114, -0.09100159, 0.090701215, -0.041928522, 0.036354367, -0.091436096, -0.03054911, 0.021809053, -0.08357215, 0.043661933, -0.036309015, -0.05929171, 0.034266543, 0.041488912) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.0699, -0.06802696, -0.118003815, 0.024763422, -0.113789804, 0.00820018, 0.05899957, -0.006858595, -0.095512226, -0.048163045, 0.06947071, -0.0065126503, -0.03278608, -0.063707635, 0.0087253, -0.060966253) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.018512981, 0.20938855, -0.07381695, -0.0021696284, -0.086967856, 0.026584681, -0.09155546, -0.037897456, 0.12546395, -0.05799967, -0.028232217, -0.033903923, -0.0014904769, 0.00871965, -0.038308755, 0.016197735) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.037008595, -0.03334967, 0.15311697, -0.058099456, -0.05943241, 0.0458402, 0.083439626, -0.0642011, -0.033287715, 0.054966167, 0.10094721, -0.08225503, 0.12543209, 0.12739961, 0.13884738, -0.1510141) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.1395355, 0.18413527, 0.09929639, 0.054510936, -0.022072144, 3.653761e-05, -0.11479926, 0.17919476, 0.03598976, 0.07895406, -0.02092442, 0.05051627, -0.046784833, 0.007935168, -0.08252544, 0.0061053634) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.03779649, -0.07891349, -0.0506571, 0.07443722, 0.055762496, 0.09940456, -0.09844577, 0.041726314, -0.06474542, -0.04639385, 0.069236234, 0.12090632, -0.07219978, 0.07749022, -0.012450074, 0.044993624) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.0015142753, -0.10278332, -0.02112002, 0.02163204, -0.061768975, -0.019094309, 0.024217434, 0.05342125, 0.017420538, 0.04369068, 0.10574606, 0.06550595, -0.038671058, 0.17878352, 0.03632205, 0.08429799) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.014222577, 0.028750641, -0.025364336, -0.03799132, 0.12191485, -0.044757847, 0.03638611, 0.035173897, -0.055415876, -0.019270666, -0.029587531, 0.021871107, -0.0046337927, -0.09135549, -0.08602843, 0.0842959) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.07012096, 0.03267791, -0.087364465, -0.049299654, -0.045256704, 0.06476236, -0.31475484, 0.09743393, 0.07930344, -0.07983675, -0.011515391, 0.019979138, -0.07530401, 0.023368148, -0.11723518, 0.13526474) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.05964749, 0.014155246, -0.07484547, 0.0041015265, -0.029510796, -0.080988586, 0.034463838, 0.14565398, -0.065564595, -0.06926234, -0.072689116, 0.08444465, -0.0008344084, -0.06848954, -0.042353578, -0.07155271) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.11916696, -0.049838364, -0.12433276, 0.054805893, -0.017697748, -0.0902201, 0.06584496, 0.055197906, -0.0608965, 0.03169635, 0.0042745904, 0.018417515, 0.16708447, 0.060755398, -0.02655057, 0.01629553) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.041598845, -0.016187962, -0.049939677, -0.0075789373, -0.11890842, 0.055042516, -0.06297794, -0.0332452, -0.095378645, -0.033444982, 0.07623157, 0.025656275, 0.004933435, 0.0049235495, 0.07874337, 0.015478843) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.04222491, 0.049260814, -0.033473067, -0.07313565, -0.08927281, -0.06826574, 0.05652189, -0.0148047265, -0.08067069, 0.05568892, -0.27869964, 0.2242681, 0.06042978, 0.08624994, 0.024782425, 0.028057119) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.13835308, -0.041646432, 0.061237346, -0.41368553, 0.015568001, 0.088887565, 0.047259834, 0.078841425, 0.038902678, -0.029252844, 0.09067905, -0.08149438, -0.096127175, 0.023137618, 0.009827007, 0.11092158) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.20671457, -0.21583454, 0.05080811, -0.03985139, -0.09278551, 0.022611052, -0.049891908, -0.030083625, 0.041489568, -0.03859803, -0.18836792, 0.10645976, -0.09473744, -0.08206966, -0.01977349, 0.108454235) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.08438201, 0.10109855, 0.04835497, -0.097279996, 0.10464185, -0.081028424, 0.023336766, -0.05551088, 0.117488235, 0.07336154, -0.066660866, -0.12331002, -0.017617287, -0.075394906, 0.032989293, 0.0639043) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.05415811, 0.053215038, -0.15804274, 0.012755712, 0.016137525, -0.113652594, 0.06555802, 0.049256444, -0.09367918, 0.049105804, 0.024765981, 0.07863174, -0.01356092, 0.02009712, -0.047503468, -0.09203007) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.16348255, 0.06164869, 0.10698088, 0.1697916, 0.05157265, 0.07173701, 0.0789601, 0.10337374, -0.098802365, 0.025100932, 0.08630953, -0.088553116, 0.029131643, 0.07562116, 0.035270106, 0.013072624) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.03718207, 0.06955725, -0.06201116, 0.095698476, 0.06967885, 0.022552341, 0.0828904, 0.0844106, -0.077113956, -0.09510503, 0.20583567, -0.120412394, 0.044752944, 0.029797595, 0.007872696, 0.041015033) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.18671519, -0.11241185, -0.14541543, 0.02497096, -0.004093575, -0.11851908, 0.05697698, 0.0036773365, -0.009395175, 0.17734392, 0.084612414, 0.10919383, -0.07812235, -0.027470892, 0.015064795, -0.07023634) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.023248414, -0.17918935, 0.3039317, -0.20914415, 0.040558305, 0.11658683, -0.07976297, 0.17796718, -0.02785066, 0.06334601, 0.08237335, -0.044847053, -0.027200663, -0.031045765, 0.0133346515, 0.042113364) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.12313874, -0.022201233, 0.13676512, -0.20417577, 0.09579883, -0.041295234, -0.07993363, 0.08701582, 0.06340395, -0.052874677, 0.16660255, 0.069349155, 0.016829384, 0.08329944, 0.029438246, 0.03877884) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.005183316, -0.15270017, 0.15665948, 0.08135187, -0.060290392, 0.1254701, 0.005225119, 0.18915918, 0.09127011, -0.017276337, -0.0995399, 0.066343114, 0.076982565, -0.100880854, -0.008821775, 0.061642777) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.23649675, 0.113303155, 0.11089937, 0.22017753, 0.17644916, -0.040031992, -0.06622252, -0.08742151, 0.13297348, -0.08437998, 0.05657392, 0.05205783, -0.036187243, 0.0625019, 0.07930819, 0.079385564) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.03955119, 0.121434405, -0.08533528, -0.01196203, 0.036766663, -0.10874476, 0.117752254, 0.060306042, 0.11999636, -0.009082349, -0.0053480226, -0.016360553, 0.08404274, -0.031563085, 0.04300188, -0.07718227) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.04080095, -0.04516341, -0.24529295, -0.03471159, 0.16470635, -0.034871727, 0.17730154, -0.10027146, -0.0147999525, -0.06347412, -0.014954238, -0.0044432604, 0.06496281, -0.09795616, 0.025435383, -0.021183675) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.0745711, -0.32010895, -0.08191053, -0.17890424, 0.08521167, 0.12647803, 0.15476389, 0.07569176, 0.038981907, 0.09267308, 0.17334458, 0.09705121, -0.028559655, 0.020889917, -0.07934987, -0.07063077) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.058581203, 0.05481933, -0.102725334, 0.00054632523, -0.014864315, 0.031976774, 0.3184148, -0.13375854, 0.0028076419, -0.11976155, 0.19108021, 0.019597169, 0.020193608, 0.040092286, -0.08651569, -0.07034373) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.06811454, -0.30094254, -0.31127912, -0.06389527, 0.022924952, 0.20998423, 0.09897904, -0.008806621, 0.09054789, 0.20787308, 0.067054234, 0.09840057, 0.030542051, -0.020097708, -0.11164204, -0.10558834) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.0147944, 0.16923076, -0.19365954, 0.016354663, 0.0179701, -0.0014622626, -0.06079666, 0.045306984, 0.09215516, 0.25195295, -0.019599643, -0.050997417, -0.052923966, 0.0370636, 0.12669684, -0.07636879) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0017328475, -0.062553436, -0.058573164, -0.11326381, 0.06686627, 0.034723446, 0.16632907, 0.060322896, -0.17527656, -0.16062477, -0.025523257, 0.051525317, 0.053178232, 0.016461007, 0.009224222, 0.117979474) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.007099262, -0.08498394, -0.019383837, 0.031228475, 0.090004936, 0.04655821, 0.015765645, 0.15946323, -0.09692485, 0.043933056, -0.062082507, -0.055708982, 0.022711681, -0.026090942, 0.007075086, 0.094657816) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.07135292, 0.13303703, -0.12691426, 0.0016388777, 0.10658249, 0.01904966, 0.15309335, 0.014387505, -0.10355512, 0.0031776347, -0.11626996, 0.002473539, 0.16922055, -0.063464455, -0.04569613, -0.09600729) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.07321115, 0.026258584, 0.042844165, -0.05731958, -0.04653382, -0.046323437, 0.03829019, 0.10542283, 0.014822933, -0.07223352, -0.05845845, -0.05245863, 0.071427375, -0.023018666, -0.07168124, -0.053759478) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.053822506, -0.03516894, 0.016144965, -0.05681739, 0.078939825, 0.0034966848, 0.0588891, -0.09199508, 0.032641925, 0.08030426, -0.10326962, 0.06630255, 0.013383807, -0.0032370503, -0.07309646, -0.027627762) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.046528395, -0.020150835, -0.16492063, -0.008063345, 0.0566744, 0.08136724, 0.036954932, -0.028310603, 0.036593236, -0.13923924, 0.03874829, -0.024299087, 0.046711426, 0.12027686, 0.07873215, -0.056707896) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.008849047, -0.05328244, 0.11294245, 0.077844836, -0.03231928, -0.039708402, 0.12911479, -0.054102287, -0.07207237, 0.023877505, -0.0091733625, 0.017418968, -0.023286188, -0.025621377, 0.18542492, -0.09035961) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.24548459, 0.11366697, 0.026608147, -0.011380166, -0.068937935, 0.05858985, 0.09308093, -0.02150483, -0.023025619, -0.089805335, -0.09542768, -0.0645171, 0.061186545, 0.07799115, 0.14530878, 0.05913566) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.006215006, -0.04195464, -0.060494643, -0.016106568, -0.07781778, -0.026003445, 0.06884006, -0.08146866, 0.026090072, 0.07743246, -0.153756, 0.10913951, 0.18884245, 0.028492304, -0.026944922, -0.07159445) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.13312884, 0.020791404, -0.011476196, -0.08258898, -0.079863116, 0.10429129, 0.06461874, -0.16199265, 0.053389657, 0.0016562509, -0.16823909, 0.036011796, -0.046280045, -0.09130366, -0.019821005, -0.003490752) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.02637234, 0.003839667, -0.11280954, 0.07887154, -0.16050191, 0.038991433, 0.071208, -0.05809164, 0.04161225, 0.07906716, -0.008864255, -0.14590111, 0.15517384, 0.07924608, -0.15507409, 0.014431999) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.059623122, 0.08610828, -0.12339475, -0.048790492, -0.1434395, -0.0667607, -0.04823531, 0.06269931, 0.016354218, -0.06697374, -0.075201884, -0.0074788504, 0.13962579, 0.19486101, -0.09923358, 0.07657977) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.0024650185, -0.09423582, -0.0014853256, -0.07036325, -0.0108841155, 0.10253081, -0.1592986, -0.04233518, 0.0020340157, -0.024791788, 0.13080625, -0.077072084, -0.080920555, -0.13925171, -0.03632214, 0.009198923) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.1273026, 0.082468666, -0.076032475, 0.06922508, -0.16447973, 0.046402097, 0.0068236385, 0.045510057, 0.048593845, 0.1293485, -0.05072142, -0.04789056, 0.19458714, 0.21363118, 0.08517636, -0.1258577) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.12538639, -0.13491894, -0.19772142, 0.06354123, -0.012646169, -0.12845467, 0.039675314, -0.0012103168, -0.024604607, 0.092560425, 0.0070612035, 0.06255603, 0.15246171, -0.0668309, -0.058645688, -0.089570105) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.024142267, -0.06304781, 0.095677435, 0.04587942, -0.0077792355, 0.03213616, -0.14179476, -0.032539576, 0.100014746, -0.047373842, 0.048226416, 0.07206783, 0.09099761, -0.044454914, 0.16000612, 0.016380569) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.14879318, -0.032642722, 0.046427384, -0.05243468, 0.060599796, -0.19269058, 0.0203106, -0.0043840175, 0.11268127, -0.037726317, 0.029066226, 0.12905635, 0.2302876, 0.10108943, 0.07214831, -0.11023703) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.08180923, 0.05722328, -0.04134615, 0.07226055, -0.0146638015, 0.10235656, -0.01817456, 0.05709055, -0.06868476, -0.019262644, -0.014241581, -0.105246745, 0.07188785, 0.031418744, 0.08088386, -0.053292107) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.09241504, -0.0176939, -0.041099783, 0.07282346, 0.09859766, 0.104741834, 0.04641909, -0.006147371, 0.13593078, 0.03879295, 0.03523546, 0.06104692, -0.11296395, -0.05959855, -0.02446783, -0.043239135) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.061206445, 0.10227823, 0.07812581, 0.10158114, 0.012146762, 0.033374697, -0.11059852, 0.09906475, 0.055343553, -0.1424462, -0.006535454, 0.05491578, 0.085004255, 0.07328792, 0.08888612, -0.059611805) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.09636153, -0.03309488, 0.072099224, -0.015887033, -0.062449556, 0.0070542167, -0.08716011, 0.058069985, -0.14568558, 0.12176272, 0.12124619, 0.0038388588, 0.11644186, -0.00812438, 0.027258594, 0.041122966) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.10818618, -0.09333734, 0.11177544, 0.009722059, -0.039850216, 0.039553292, -0.08449213, 0.04448799, 0.01918366, 0.048204165, -0.06341774, 0.015144849, -0.007970177, 0.110212654, -0.075593546, 0.082136214) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.010567975, 0.0073764957, -0.0119619295, 0.035409182, -0.07667536, -0.09016946, -0.037919715, 0.079019025, -0.035555456, -0.088727444, -0.00670423, 0.0685123, -0.009501422, 0.020203806, -0.004700152, -0.09814708) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.05923798, -0.04701577, -0.08120059, -0.07372097, -0.06787038, 0.019650178, -0.05275782, -0.018468587, 0.05143172, -0.12083961, -0.07905041, -0.008644658, 0.029489512, -0.021678576, -0.13014157, 0.05191168) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.07311946, -0.00971481, 0.046882797, 0.06738838, 0.034707483, 0.0068468316, -0.017982768, -0.11204199, 0.020481985, 0.0027910236, -0.049475618, 0.060932834, -0.07326506, -0.035942994, -0.10338203, 0.0050914306) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.030990351, 0.10504075, -0.05887262, -0.07403477, -0.08955305, 0.010453459, 0.06579182, -0.034479667, 0.08244798, -0.064673476, 0.047025323, 0.067608945, -0.056295212, 0.06179171, -0.030385278, -0.11070112) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos4 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(4, 0); + imageStore(out_image, store_pos4, max(result4, V4(0.0))); + V4 result5 = V4(-0.0088090105, -0.016752342, -0.039628763, -0.015084046); + result5 += M4(0.050414, 0.08473254, -0.09987163, -0.0033134145, -0.0778504, -0.00079786935, 0.094602846, 0.1885519, -0.06896312, -0.038446665, 0.024472125, -0.10554964, -0.09010018, 0.006611687, 0.08593856, -0.17391464) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.008896208, 0.052704338, 0.09106369, 0.01623027, -0.059480555, 0.23042499, 0.01373109, 0.010983339, -0.020082666, 0.084601045, -0.101083264, -0.057115216, -0.06908593, 0.024037117, -0.06053194, -0.09370632) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.034419876, 0.027612118, -0.017359078, -0.0024572057, -0.024153171, 0.1862957, 0.03535662, 0.08236361, -0.08816691, -0.04710695, 0.07771245, -0.19126007, 0.12695736, -0.02989989, -0.05993501, 0.040389623) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.025376827, 0.0012821978, -0.02712986, 0.045796152, -0.0017144078, -0.019787084, 0.06568391, 0.19634984, 0.027964134, -0.035935704, 0.03316756, 0.011822895, -0.02643366, -0.021529673, 0.0048164115, -0.03761635) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.020526646, 0.1068086, 0.051094864, 0.10218603, 0.02865511, 0.08169258, 0.029304778, 0.027999615, -0.08843049, -0.29966852, -0.11008211, 0.11294648, -0.0135864625, 0.00017746595, -0.033158146, 0.033411395) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.007333058, 0.0643789, 0.05576426, -0.084461965, 0.28898343, 0.18237397, 0.08954228, -0.019445451, -0.052936763, -0.093386896, 0.05576748, -0.23007141, -0.06766702, 0.109210216, 0.0043788524, -0.13587755) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.101472564, 0.027562974, -0.017604595, 0.05515815, 0.014799801, -0.120750576, 0.10855637, 0.044402312, -0.10667068, 0.065199874, -0.05093361, -0.00968512, -0.09367184, -0.0033117528, 0.07664916, -0.19041073) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.03181475, 0.12951665, -0.07734823, -0.010224463, -0.09134335, -0.007915625, -0.021665778, 0.058906112, -0.031948928, -0.09524843, -0.1009961, -0.00048539188, -0.09799897, -0.163594, -0.08234963, 0.16278222) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.018066043, 0.050728217, 0.031174691, 0.015662074, 0.092022784, -0.00799051, 0.04489978, 0.009525031, -0.14754735, -0.002074072, -0.037968013, -0.029616285, 0.26668355, 0.010278124, -0.071732886, -0.20668685) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.032379556, -0.21813367, 0.09098259, -0.18797046, 0.0107282465, 0.08785592, -0.0039953208, -0.45733348, 0.03850412, -0.07120937, -0.08311114, -0.12543501, -0.105831474, -0.044682287, -0.038924143, 0.26900396) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.080939785, -0.31284925, -0.053159334, -0.13299577, 0.04849924, 0.044665195, -0.05235064, -0.17748852, -0.0649649, -0.10123812, 0.00616318, -0.04174146, 0.038032506, 0.0022887788, -0.073168576, 0.0013853887) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.06280923, -0.08773247, 0.028586963, -0.044867102, -0.015027794, 0.18404445, 0.030198827, 0.02978504, 0.008113309, -0.08025364, 0.03677549, -0.1413542, -0.037724823, 0.092379406, -0.089792885, 0.12689027) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.053028498, -0.17371379, 0.010880563, -0.116484, -0.107762896, 0.021590091, 0.01406337, 0.08236744, -0.10454625, -0.13151653, -0.049435835, -0.08678966, -0.09182622, 0.07198642, 0.016769003, 0.043149922) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.013133092, -0.10821928, -0.025545627, 0.010325739, -0.0586114, 0.008847764, 0.10357605, -0.044184063, -0.048252195, -0.19632444, 0.080500565, 0.03613015, -0.014324805, 0.1750198, 0.056753494, -0.08010559) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.021216076, 0.04013462, -0.0015009912, 0.045293577, 0.06866397, -0.034520097, -0.08469119, -0.09149297, 0.050970115, -0.09634674, -0.0116465995, -0.07146418, 0.0257332, 0.12762259, -0.059959263, -0.023931347) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.12334489, -0.09486098, -0.024682112, -0.024754882, 0.014009291, -0.1564648, -0.11243381, -0.13461067, -0.10127412, -0.05984244, 0.073340766, 0.0027260333, 0.12747276, 0.050573792, -0.04838065, 0.15195711) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.12163591, 0.005003651, -0.04079216, 0.08034854, 0.042436425, -0.022331761, 0.06231861, -0.01203694, -0.14796253, 0.021853603, 0.07697012, -0.026616096, 0.053728696, 0.082292736, 0.06980636, 0.077886656) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.018860847, 0.098148175, 0.007831446, 0.021586834, -0.14625444, -0.03741886, -0.009771408, 0.21077196, -0.0922294, 0.0449821, 0.04238299, 0.0977885, 0.19472243, -0.05592255, 0.044421855, -0.018517578) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.14139451, -0.035071414, 0.06914942, 0.20838389, -0.05912261, 0.07693023, 0.12901309, -0.048631627, -0.07070585, 0.029934734, 0.102654524, -0.119016156, -0.107143156, 0.0061845426, -0.022770837, 0.11759651) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.069619775, 0.056224756, -0.08503622, -0.06539206, -0.0726186, -0.020566152, -0.016312247, 0.04891742, 0.030198129, 0.08901828, -0.061404116, 0.017855566, 0.14579889, 0.04199216, -0.07170519, 0.008699391) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.004622645, 0.09201129, -0.08818528, 0.7219454, 0.10777447, -0.006401707, -0.106485285, 0.23151354, 0.041409403, -0.005709619, 0.057598304, 0.013101955, -0.048271142, 0.024683218, 0.035366256, -0.05109898) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.060320884, -0.065173894, 0.093448885, 0.13967268, -0.029447671, -0.13488992, -0.040148903, 0.068312906, 0.06590625, 0.040525373, 0.023043415, 0.11687214, -0.041204322, 0.05199793, -0.027382206, 0.031439133) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.15894948, -0.27763322, 0.08873291, 0.08019887, -0.16965489, 0.05772807, -0.0055598207, -0.02340867, 0.16505475, -0.07345378, -0.03675307, -0.039460346, 0.049012933, 0.18790837, -0.012651545, 0.10704027) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.13526365, -0.17836031, -0.034026887, -0.15073684, 0.0405121, 0.12410729, -0.030491687, -0.028001813, 0.05430124, -0.037492044, -0.025876626, -0.08102473, 0.053781655, -0.10313615, 0.006443645, -0.041358616) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.1282835, -0.051189765, -0.0062667066, -0.5984734, -0.062638454, -0.055442236, 0.067123555, -0.18039145, 0.07154619, 0.0023743876, 0.038592964, 0.089497246, 0.08170808, -0.09811899, 0.029816736, 0.05481179) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.2536596, -0.15495391, 0.054681737, 0.24012734, -0.15202072, 0.14797859, -0.031249778, 0.21873273, 0.01619971, 0.040870413, -0.016419994, 0.06584393, 0.018176576, -0.11674203, -0.012126837, -0.03313733) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.28663304, -0.080699585, -0.016042965, -0.18413262, 0.19938001, 0.2364686, 0.00894697, -0.1698736, 0.030511152, -0.113597795, 0.09528029, 0.06953854, 0.029479668, -0.06870517, -0.028465671, -0.01106093) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.059718512, -0.10117343, 0.100848734, -0.036988836, -0.062084336, -0.07491397, 0.033599645, 0.12513998, 0.14438428, -0.11195347, 0.04364426, -0.026118193, 0.09671882, -0.12790528, -0.033217777, -0.19638705) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.07240134, -0.0056367833, -0.01769792, -0.08249673, -0.06541131, 0.10064013, 0.028528083, -0.07828684, -0.09653107, -0.107471004, 0.035847425, -0.07010181, 0.0055030696, -0.19870685, -0.097295396, -0.026863026) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.033379216, -0.048624367, -0.022679813, -0.06919699, 0.09099423, 0.24338117, 0.011537056, 0.007658676, -0.12723151, -0.012294067, -0.020517407, 0.12841275, -0.10402546, -0.0111949565, -0.08921051, -0.13271843) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.11919059, -0.023275005, -0.138915, -0.3046058, 0.07064916, -0.035303663, -0.0130835, 0.12185464, -0.14076382, 3.3419637e-06, -0.118625, -0.13109398, -0.02157241, -0.06231202, -0.050452214, -0.012158169) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.2017124, 0.06175212, 0.059819814, 0.19566752, 0.0590672, 0.07099516, 0.06872188, 0.02619031, -0.035272993, -0.00047497664, -0.06408197, 0.13386178, -0.052148856, -0.25219527, 0.062067214, -0.039922845) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.10876185, -0.1860325, -0.00078242493, 0.16637307, 0.15056083, 0.11845178, -0.07495905, -0.049387828, -0.06354015, -0.0050613307, 0.020697514, 0.03802752, 0.048755925, -0.045073558, 0.10350482, 0.078221075) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.13401312, 0.029215474, 0.0050373804, 0.17831346, -0.0594264, -0.09469283, -0.076292045, 0.13025537, 0.1403726, 0.23932946, 0.04477145, 0.20816502, -0.08104763, -0.00997463, 0.022665258, -0.04354909) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.12024541, -0.027829506, -0.042694982, 0.1374507, 0.020815978, 0.0038758933, -0.01604543, 0.20116115, 0.14679812, 0.051307026, -0.008014086, -0.01280538, -0.033022895, 0.03164607, 0.059430484, -0.009389939) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.038568214, -0.00563095, 0.014856495, -0.10472904, 0.12109006, -0.049032994, 0.036682874, 0.042809222, -0.054917924, 0.00024394358, 0.094675556, 0.09099599, -0.11843757, 0.031774454, -0.043021783, -0.06149194) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.07231295, -0.17928968, -0.06272047, -0.16943535, -0.0062750243, 0.21174674, 0.10974446, 0.088539414, 0.042161774, 0.30036846, -0.010905255, 0.13086669, 0.08949824, 0.00807042, -0.013581214, -0.18119365) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.101928815, -0.118977465, 0.009728015, -0.09376619, -0.15497874, 0.098972484, -0.00752386, 0.12040656, 0.009510178, 0.2762397, 0.06830537, 0.15076663, 0.099307664, -0.17406656, 0.0408844, -0.11878784) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.069841206, -0.15811735, 0.054902047, -0.070164345, 0.12187154, 0.1201287, -0.007088877, 0.12073297, 0.08666397, -0.07934995, 0.08732263, -0.21746807, -0.05564928, -0.0502779, 0.07440021, -0.07011105) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.024793418, 0.04607963, -0.040366396, -0.108927354, -0.13881303, 0.0960442, 0.03798962, -0.0037218272, 0.052837696, 0.29868096, 0.1270602, 0.0877385, 0.076987386, -0.027118, 0.059998702, -0.057970487) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.16263193, -0.14791605, 0.018089002, -0.03185625, 0.010005685, 0.071991526, -0.03208397, -0.06183557, -0.08610084, -0.05307547, -0.00013350244, -0.096093595, 0.07782963, -0.10322959, 0.046356726, 0.10046797) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.020519225, -0.1662513, 0.038370237, 0.21469583, 0.022922369, 0.0016967058, -0.04343971, -0.07272291, 0.024004208, -0.15337212, -0.06775982, -0.053507943, 0.03932022, -0.1484322, 0.027297013, -0.020143574) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.10556194, 0.0750697, -0.27565226, -0.24343842, 0.06630084, 0.041297033, -0.021066999, 0.18337163, 0.031920236, 0.12132763, 0.016128968, 0.2692069, 0.015093743, -0.05908706, -0.008766995, -0.06573997) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.064952865, 0.20863867, 0.10624579, 0.16304387, 0.067088336, -0.06851662, -0.18153575, -0.07740687, 0.15862405, -0.0824376, -0.069278926, -0.01276115, 0.009405141, -0.10274402, -0.08475097, 0.10468798) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.23448612, -0.10668369, -0.04350461, -0.46906105, -0.041047033, -0.0529753, 0.13355224, 0.20821694, 0.148258, 0.10516769, 0.064329006, 0.2086173, -0.12177973, -0.069714315, -0.014037164, 0.081057005) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.029885948, -0.017124385, 0.116664484, -0.2732252, -0.08420996, 0.024184182, 0.05731242, 0.3979639, 0.019842431, -0.045798033, 0.08919879, 0.09510337, 0.043320876, 0.109453045, -0.043033972, 0.16946702) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.07281097, -0.22186719, 0.009787973, -0.0002988038, 0.023536671, 0.09174523, 0.083748944, 0.048392583, 0.013914881, -0.08102105, 0.09240202, -0.13142423, 0.05884546, 0.112043045, -0.045351647, 0.19383289) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.06192399, 0.03078837, 0.063610874, 0.12899044, 0.08251394, 0.03345697, 0.051650982, -0.038996954, -0.10885055, 0.12473987, -0.0013183127, -0.101975046, 0.019488597, -0.08362515, -0.00056520104, -0.09516629) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.022525318, 0.094836675, 0.008785618, -0.040806442, -0.022498531, 0.1310569, 0.0399555, 0.041705925, 0.04143798, 0.12995645, -0.109982565, -0.15739845, -0.073268, 0.09821025, -0.01967121, 0.15537728) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.02274632, 0.13503882, -0.039286103, 0.024240611, -0.030517224, 0.06820281, 0.022626443, -0.16005571, -0.10298903, 0.11454639, -0.1133634, 0.06215786, -0.016071526, 0.1548376, -0.029631907, -0.1978083) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.017985044, 0.20543018, 0.027578115, 0.05280077, -0.03805386, -0.11201309, -0.062852934, -0.074153356, -0.04144113, 0.22299767, 0.105856135, 0.03606476, -0.014090609, 0.022593694, 0.021211246, -0.04050317) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.112408675, 0.18328016, -0.029072842, 0.031212633, -0.09008304, -0.07309512, -0.05240811, 0.09203991, 0.079368226, 0.037171837, -0.10379127, 0.14094801, 0.10799976, -0.014589191, 0.07150746, 0.1592687) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.19341956, 0.19218016, -0.010944599, -0.20699202, -0.042915147, 0.008847772, 0.031332664, 0.023757994, 0.1716521, 0.20932522, 0.110757284, 0.123104975, 0.04961257, -0.06313525, 0.049290843, -0.20353347) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.321722, 0.20086057, 0.00036446864, -0.022950992, 0.023790497, 0.05808072, -0.0402817, 0.119479, 0.11686589, 0.035674755, 0.03953239, 0.055852603, -0.03280196, -0.00046569895, 0.03292813, 0.050148617) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.035719834, -0.06366306, 0.00305512, -0.106118426, 0.030862901, -0.13915156, 0.030961553, -0.15467675, -0.1063637, -0.03007748, -0.033737693, -0.13240983, -0.01691698, -0.0056404225, -0.09449469, -0.17905112) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.016570598, -0.113574564, 0.0800056, -0.19186203, -0.027728265, -0.13353746, -0.033095952, -0.15169261, -0.11562077, -0.14281736, 0.0023874897, -0.0021097462, 0.08744849, -0.06835687, 0.01846489, 0.12642542) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.008989377, -0.021540558, -0.09382607, 0.13737984, 0.0438222, -0.033322457, 0.036108796, -0.002134793, 0.13970694, 0.06691677, -0.065204926, -0.07746017, 0.021146862, -0.007384999, -0.06475407, -0.069935896) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.004848776, -0.04485786, 0.00898217, -0.00063779525, 0.018286124, 0.025713017, 0.038095225, -0.10726698, -0.101107046, 0.11996742, -0.05329508, -0.36839777, -0.09521874, 0.17437439, 0.038803525, 0.01930261) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.1703257, 0.085726924, 0.086254165, 0.06113087, -0.0017237734, 0.11290002, -0.028794162, 0.32150197, 0.08954738, 0.15317987, 0.05766022, 0.22908257, -0.103337474, 0.049044363, 0.026997216, 0.014922629) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.011235731, 0.060733646, -0.09531226, 0.096299246, 0.022460354, -0.12336617, -0.059369415, 0.000903697, 0.029047133, 0.049568303, 0.03980712, 0.30410928, 0.007632266, 0.09353374, 0.09009642, 0.10713155) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.008992308, 0.14680879, -0.05031047, -0.30790427, 0.022301784, -0.0060163615, -0.0886035, 0.06397588, 0.15637432, 0.2168609, -0.019087551, 0.04010968, 0.09162268, -0.0230925, -0.082297, -0.12346424) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.032324214, 0.1921989, 0.07193979, -0.1081583, 0.047984965, 0.01741955, -0.005087614, 0.08468555, 0.22980537, 0.11471997, -0.077334814, -0.08665772, 0.038207397, 0.022510715, 0.07664487, -0.19512874) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.26655126, 0.13282919, -0.060605776, -0.09964281, -0.12297181, -0.024021287, -0.07230138, -0.15152237, -0.03341573, -0.06912974, 0.047553204, 0.006942218, 0.102059714, 0.10813895, -0.11137467, 0.042363353) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.08470756, 0.023598943, 0.015683614, -0.08362522, 0.06816657, -0.081384465, 0.021684699, 0.16401602, 0.018565724, -0.12640002, -0.15460525, -0.1646563, -0.048350424, -0.08526944, 0.025608115, 0.16324359) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.07673073, -0.039952647, 0.015091956, -0.112785056, -0.109136835, -0.0746798, 0.10821191, 0.0021110626, 0.068305805, -0.047371663, 0.07464305, 0.020262728, -0.049541045, -0.07285911, -0.08980574, -0.08539389) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.035531174, 0.07182939, 0.02240393, -0.026053507, 0.0779054, 0.056202456, 0.08300239, 0.15875922, -0.0037831606, -0.076454364, -0.09569559, 0.038605765, 0.018635737, -0.1250243, -0.024334915, -6.395339e-05) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.04969414, -0.09678477, 0.034280296, -0.1308104, 0.17915197, -0.07775411, 0.12064177, 0.052832007, 0.008024819, -0.08151186, 0.0584397, 0.111378185, 0.048748177, 0.14398612, 0.038549, -0.09146661) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.05755315, -0.26791456, -0.00978791, -0.0071702455, -0.06865795, -0.09436785, 0.13152775, 0.20224638, 0.053114492, -0.13753004, -0.08138597, 0.48945388, -0.12757172, -0.053508736, 0.05443862, 0.12211018) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.031211484, -0.121848196, 0.03236369, -0.050907716, -0.009480536, 0.0051535494, -0.017838966, -0.03403903, 0.05500327, 0.062439445, 0.069036305, -0.1766623, -0.12535876, -0.08458658, 0.06538458, 0.10078889) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.13838346, 0.065318495, -0.03558216, -0.12320209, 0.016022496, 0.008993901, -0.033093292, 0.022690114, 0.010870928, -0.052787557, -0.04492758, -0.2741296, 0.13919473, 0.002299327, 0.112689316, -0.017900843) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.13437931, -0.046348304, 0.0035711194, 0.09375112, -0.045950234, -0.13495189, 0.055352174, 0.019134853, -0.020332105, -0.17835884, 0.04929229, 0.028079443, 0.11040148, 0.003510094, -0.09089318, -0.14148518) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.044653624, -0.088946596, 0.06933632, 0.02443716, -0.06758146, 0.09023867, -0.002951476, -0.028247414, -0.12813342, -0.18787791, 0.088390894, -0.012096706, 0.054099075, 0.035535008, 0.0074546174, 0.016586268) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos5 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(5, 0); + imageStore(out_image, store_pos5, max(result5, V4(0.0))); + V4 result6 = V4(0.01535246, 0.002334057, 0.010469864, 0.0068757595); + result6 += M4(-0.099578604, 0.0055482863, 0.023796393, 0.023339668, -0.10940227, -0.057246536, -0.021116033, 0.12817466, 0.105018534, -0.015419417, 0.05786354, -0.07421419, -0.00076512416, 0.06907284, -0.14865626, 0.056825485) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.06369135, -0.00025211685, -0.051278073, 0.045845166, -0.06874274, -0.09340049, -0.03258099, 0.07765602, -0.09273994, 0.10112845, -0.042857043, -0.069248445, -0.072052695, 0.08760152, 0.007198643, -0.04816713) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.047838524, 0.048741486, 0.10016213, -0.043414168, -0.08937862, 0.11109062, -0.08776315, 0.019833066, -0.030591773, -0.048200794, -0.07012686, 0.11842654, 0.07507222, -0.00088736444, -0.05908865, -0.08128799) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.06894782, -0.0043598907, 0.06458092, -0.04016795, -0.025204176, 0.11172614, -0.051197026, -0.033198453, 0.003278839, 0.018093372, 0.029267251, 0.03237272, -0.016736258, 0.027255131, -0.07180807, -0.09597046) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.012017105, -0.04864774, -0.06880151, -0.11229976, -0.04963216, -0.06703839, 0.0075095813, 0.1649629, 0.114044555, 0.02647054, -0.055449244, 0.0068097236, -0.06581895, -0.046807118, -0.022981308, 0.10964288) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.102602, 0.034899734, 0.03924892, 0.020380022, 0.038973145, 0.06664757, -0.10416908, -0.023202939, 0.03125626, 0.06503337, 0.08844853, -0.04353972, -0.08242791, -0.12961534, -0.098042294, 0.09378676) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.07721457, 0.12152526, -0.079646416, 0.04351895, -0.048106764, 0.04204762, 0.04705728, -0.1447443, 0.028716465, 0.005480102, 0.06488712, -0.07279755, -0.059672605, 0.13765089, -0.05346768, -0.12685315) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.09132061, 0.01854122, -0.0071732034, -0.0496132, -0.03861954, 0.06858943, -0.07141063, 0.006920657, 0.030695062, -0.07495453, -0.0146956025, -0.09522221, -0.13496281, 0.027095037, -0.06428125, 0.112212315) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.08237948, 0.03743769, 0.03163411, 0.027374148, -0.0029028703, 0.067902096, -0.05704935, 0.10191501, 0.079087146, -0.051637657, 0.030823978, 0.11058975, 0.022365794, -0.092721455, -0.027569262, -0.0031517092) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.002259791, 0.09699616, -0.028860785, -0.054064956, -0.055816285, 0.20718735, 0.03282179, 0.08407721, 0.10525644, -0.041905735, -0.09394762, 0.0643906, -0.045785334, 0.06914875, -0.029297475, 0.08402818) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.004338956, 0.027949879, 0.0660037, -0.06305493, 0.099644706, -0.13945976, 0.12571493, -0.0075495183, 0.020482963, 0.07557141, 0.081462435, 0.04322084, -0.10850704, -0.021956397, 0.07339975, 0.033480886) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.10550988, 0.008123777, 0.04732148, 0.06122102, -0.16876651, 0.1259245, -0.096346684, -0.0031602366, -0.023747476, 0.06515843, -0.07580826, -0.06295153, 0.09827505, 0.0686367, 0.0408199, -0.012795387) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.06281274, -0.033012133, 0.10642343, 0.0023921991, 0.04021275, 0.023958169, 0.043350723, -0.097244844, 0.053197246, -0.08633332, -0.02794245, -0.07001152, -0.08517094, -0.018514145, 0.0059442683, -0.09664073) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.11075751, 0.09004196, -0.005192052, 0.070645995, 0.044235095, 0.091480136, 0.13117178, -0.0011304375, -0.077670164, -0.07112385, -0.049511254, -0.07278434, 0.05823405, -0.07242856, 0.014415223, 0.019173695) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.1330359, -0.043987848, 0.049993005, 0.10890567, 0.019764991, -0.08497535, -0.10605469, -0.013664991, -0.06588649, -0.010965663, 0.047281343, 0.022723654, 0.02733295, -0.10711664, 0.019931583, 0.05807119) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.04918037, -0.15210044, 0.082911134, -0.066897005, 0.05875519, -0.1647038, 0.044648875, -0.055016354, 0.09820391, -0.073874205, 0.08019384, -0.06523192, 0.029436707, -0.0054050386, 0.026853152, -0.048799727) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.040055614, 0.08976324, -0.04931942, -0.054897033, -0.049227055, 0.076008536, -0.069810055, -0.043483317, -0.082161896, -0.019277148, 0.09578513, -0.037093993, 0.06661676, -0.05808748, -0.07687125, 0.08819297) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.06322981, -0.00052107644, 0.077510014, 0.08698638, -0.004687962, -0.10106482, -0.01123155, 0.067328624, -0.063220024, -0.10062753, -0.028605303, 0.023101754, -0.05351938, -0.06397046, -0.04411359, -0.016891813) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.1491096, -0.0050159446, -0.18715136, 0.21053383, -0.1569404, -0.0015714668, 0.07654724, 0.13804148, -0.060337413, -0.08370527, 0.08072491, 0.035189178, 0.07496685, 0.013046376, 0.08452412, -0.08029743) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.23685674, -0.036051903, -0.08976417, 0.1106323, -0.080145635, -0.06364895, -0.05165207, 0.09697384, 0.019083265, -0.024430096, 0.034981005, -0.089612655, 0.064483054, -0.14613773, -0.017280672, -0.11347067) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.15765448, -0.058121458, -0.14565447, -0.14713965, -0.19919705, 0.0026110215, 0.041706968, 0.02408511, 0.067035064, -0.003723377, -0.023838656, -0.026870465, -0.05744477, 0.15530308, 0.040555537, -0.036356766) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.0964622, 0.12177917, -0.18599944, 0.09138213, -0.21679589, 0.00930075, -0.13409857, 0.013576879, -0.028810391, 0.1162599, 0.01221714, 0.016208563, -0.03598451, -0.14516944, 0.014142426, -0.006570285) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.09597093, 0.052974727, -0.020173239, 0.085633196, -0.12709336, -0.11912772, -0.027181804, 0.12258373, -0.042638004, -0.02255151, 0.008868137, 0.07119827, -0.06062806, 0.16639511, 0.026727838, -0.07842415) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.12980402, -0.0013303088, -0.12674467, 0.066975065, -0.06303222, 0.09587195, -0.035207473, -0.0414149, 0.034333114, 0.009756673, -0.09220797, -0.08811007, 0.11412453, -0.174555, -0.004708406, -0.06260044) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.0049168426, -0.1040108, -0.061385095, -0.049354807, -0.14552572, -0.07295244, 0.0711066, -0.023314636, 0.021936458, -0.0979696, 0.0030844542, -0.012452741, 0.03406905, -0.017978255, 0.012281016, -0.026137844) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.02148211, 0.14575228, -0.01230665, -0.046271518, -0.12248301, 0.08179556, -0.016037485, 0.023618633, 0.117173664, -0.0037110776, -0.00269635, -0.019897366, 0.09674864, -0.024196694, -0.09442293, 0.069840245) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.12616865, 0.13018657, -0.03801273, 0.08629655, -0.040497445, -0.0813176, 0.0022220865, 0.13691865, 0.031703573, 0.09649188, 0.02144791, -0.04337646, 0.092517585, -0.017117135, 0.042988624, 0.030148633) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.091898285, 0.10539604, -0.00022927782, -0.05362202, -0.06678953, 0.05060491, -0.05283759, -0.029685602, -0.09275747, -0.039358474, -0.02274879, 0.06958768, -0.054337654, 0.06734742, 0.04843611, 0.07703325) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.047763318, 0.08505465, 0.029553603, -0.042763516, -0.09083985, 0.020611588, 0.0218238, 0.10364504, -0.1440525, 0.10516183, 0.02751855, 0.110182144, -0.006335585, 0.055840362, -0.07413172, 0.10564111) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.037685167, 0.13534851, 0.013890131, 0.14330833, 0.09486917, -0.002141371, -0.10881948, -0.0700937, 0.09015352, -0.09453568, -0.04019919, 0.19488974, -0.027287688, -0.067788914, -0.083772264, 0.09590505) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.16248676, -0.22434518, -0.075925626, -0.023215758, -0.07131964, -0.067945756, -0.109720394, 0.045694903, -0.029911974, 0.0010814423, 0.09878556, -0.09149358, -0.061978187, -0.02993607, -0.07410134, 0.09315295) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.07290716, 0.11469069, 0.16735438, -0.067015626, 0.021936968, -0.059070814, -0.061958972, 0.1221209, 0.041146506, 0.14851029, -0.013648441, -0.009718062, -0.011134049, 0.073112465, -0.04379107, 0.02769827) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.14614348, 0.0004487857, -0.10672616, 0.061815806, 0.04329874, -0.068840854, -0.008375975, -0.051815826, 0.009977147, -0.034855414, 0.16749316, 0.026905673, -0.020755235, 0.10939057, -0.01637421, -0.026456796) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.064641975, -0.15517437, 0.13422023, 0.17362778, 0.018888779, 0.042097405, 0.015657898, 0.018483898, 0.009432297, 0.029174123, 0.05565005, -0.036415353, 0.05683499, 0.03611238, 0.077035815, -0.100594416) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.03390315, 0.06615515, -0.101681, -0.15385544, 0.0539985, -0.06980682, -0.085287206, -0.06761921, -0.017866587, -0.094980285, -0.09579466, -0.108786285, -0.068487674, 0.04266774, -0.0007186188, -0.087653644) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.048431028, 0.06745568, 0.034047317, 0.10720527, -0.057520084, 0.05271078, -0.09948358, 0.11742151, 0.08464735, -0.006620753, -0.084571764, -0.08317781, -0.12291357, -0.032546185, 0.014828777, 0.10589131) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.331622, -0.22447313, 0.111163594, 0.13109626, -0.2631011, 0.20857751, -0.028767703, -0.06058442, 0.059877463, -0.028788289, -0.039463434, 0.027172105, 0.10121292, -0.10584534, -0.07662507, -0.059465904) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.27496618, 0.041863587, 0.12237015, -0.10891951, -0.051931024, -0.12641801, -0.075905025, -0.11188238, 0.19044034, -0.049633715, 0.10799188, -0.021614457, 0.11612521, 0.11029006, -0.06711436, -0.08104054) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.00036053732, -0.018890133, 0.013372965, 0.14889039, 0.11448677, 0.04095257, -0.09549307, -0.015556528, -0.059752587, -0.10112596, -0.0438977, 0.14089203, -0.034234, -0.022813648, -0.008591946, 0.082018055) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.082727, 0.0009236159, -0.054481223, 0.08375925, -0.079461105, -0.027187962, -0.09862464, 0.03873161, -0.11024226, -0.055627435, 0.09516925, 0.16123378, 0.037878763, 0.02184031, 0.012324688, 0.08988867) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.21302852, -0.01108857, 0.22095583, -0.043329876, 0.06993355, 0.047646157, -0.12148249, 0.09864996, 0.27853003, -0.037218433, -0.17659257, -0.14096415, -0.00300316, -0.08088997, 0.012546695, 0.03256319) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.30824727, 0.1172803, -0.007183296, -0.081379555, 0.033460308, -0.009735137, 0.10291124, -0.023259176, 0.104261875, -0.012423987, 0.16226856, -0.06400793, 0.009897889, 0.031953912, -0.029829068, 0.009754183) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.1012338, -0.3661385, -0.02328685, 0.20775573, 0.14466265, 0.1166957, 0.02531568, -0.058375075, 0.030103233, 0.13270895, -0.12252502, 0.039495237, -0.033629615, 0.087804474, 0.048366606, -0.043090772) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.045867313, 0.19428329, 0.12002355, -0.04310063, 0.17343087, -0.2140284, -0.049506746, 0.068252936, 0.16899821, 0.013598138, -0.12386372, 0.016161252, -0.09354446, -0.030714735, -0.07121204, 0.008478763) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.031962026, -0.1120269, -0.10534903, -0.043571126, 0.0742193, 0.13126801, -0.04605866, -0.11936348, 0.05194759, 0.022354655, 0.13120446, -0.22661644, 0.06959577, -0.021233791, -0.08088737, -0.02227644) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.061454307, 0.085747294, 0.14126454, -0.08265858, 0.00064153504, -0.099481024, -0.055069834, 0.062579125, -0.05436221, -0.0082622925, 0.16964276, -0.00063786824, 0.032801457, -0.022056427, 0.07706531, -0.097043544) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.18137328, -0.08320683, -0.0048264624, 0.15306675, -0.014388193, 0.028470092, -0.11971235, -0.10754343, 0.07434022, -0.03213596, -0.022039393, 0.02340359, -0.065431304, -0.055472307, -0.065477386, -0.05001452) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.04439882, -0.0062783845, 0.12675254, -0.047097087, -0.0273773, -0.039227843, -0.057372387, -0.060772613, -0.0052131237, 0.039571047, 0.03486965, 0.123852886, -0.026419176, 0.0315294, -0.028998587, 0.056564305) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.16197704, 0.08713111, -0.03111488, -0.13131893, 0.06028583, -0.05206349, -0.09954216, 0.15310617, 0.047037043, 0.14958505, 0.034411084, 0.050205532, -0.04499521, -0.02719239, 0.010067397, -0.063912764) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.1294358, -0.12335496, 0.114689745, -0.1048117, 0.027546834, -0.09265357, -0.07487691, 0.020099873, -0.10476385, -0.17727998, 0.15224785, 0.02367305, 0.07793359, 0.048128083, -0.1188674, 0.0032961823) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.0938391, 0.028097967, 0.20921662, -0.1359386, 0.11138106, 0.12477254, 0.058115598, -0.066018134, -0.0775512, 0.097075015, 0.08843088, -0.029530354, 0.02366019, 0.060298063, 0.15210365, -0.07104227) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.21876606, 0.06674357, -0.113218464, 0.027531486, 0.01743253, -0.02131312, -0.068621665, -0.065092, -0.035087835, -0.1560874, -0.08051735, -0.0828705, -0.046726268, 0.012187361, 0.053438697, 0.10437371) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.04321305, -0.15177734, -0.12236193, 0.172206, -0.033419184, -0.05716891, 0.021284835, -0.014985287, -0.104491726, 0.07168098, -0.04265354, 0.05826023, 0.13632444, -0.16856338, -0.010569198, 0.00041842012) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.20566566, -0.011247947, -0.043177407, -0.041441754, 0.018305307, 0.010024282, -0.0007091247, 0.04000433, 0.0949282, -0.09733099, -0.1031055, -0.0882436, 0.07868123, 0.09232749, -0.077265605, -0.04762952) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.10415603, -0.050076813, 0.11005622, -0.08326066, -0.04475326, 0.03695116, 0.031858835, -0.012020294, -0.033038963, 0.14445485, -0.059398077, -0.04276503, -0.0912014, -0.04843333, 0.0652052, 0.008916966) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.09961901, 0.08563857, 0.00033354643, 0.015225438, -0.025885044, 0.0933696, 0.13320589, -0.057471618, 0.07932565, -0.015379087, 0.116469756, -0.027576927, 0.14670713, -0.0024699, 0.108898304, -0.106529705) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.12513635, -0.034617435, 0.11789229, -0.049598537, -0.1498718, -0.05537802, 0.0950952, -0.032889724, -0.06906129, -0.100764565, 0.010879511, -0.013544281, 0.0863665, -0.022720376, 0.061068464, -0.16695958) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.13808861, 0.11696037, -0.010690698, -0.09495652, 0.019111319, -0.07491097, -0.06481876, -0.01899027, 0.06514543, -0.10774333, -0.055383768, -0.016730314, -0.12118944, 0.18476783, 0.07307586, -0.064872555) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.05819417, -0.0044255424, -0.08593671, -0.009845559, -0.052938227, -0.04442853, 0.15448698, -0.08345233, -0.024103843, 0.06126544, -0.00081301027, -0.14838867, 0.08754173, -0.11302074, -0.08148381, -0.018474068) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.1035095, -0.02002143, 0.014839803, -0.018158736, -0.015430147, 0.00961599, -0.0105680255, 0.13650681, -0.014748632, 0.018096937, 0.027762277, 0.13310307, 0.08384116, -0.012234115, 0.22962603, -0.14955075) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.026903123, -0.04455861, -0.012015546, -0.050227664, -0.08890349, -0.002999286, -0.024099413, -0.08536453, -0.07245603, -0.0368327, -0.08811443, 0.07502762, -0.09039195, -0.0044528665, 0.013482542, 0.04317987) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.012173193, -0.104716085, 0.028015228, 0.07026166, -0.017986499, 0.13454989, 0.118026614, 0.012873384, 0.12611425, -0.166317, -0.11305373, -0.03171902, 0.111754954, 0.023834547, 0.06855709, -0.028401792) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.12650786, -0.0047193486, 0.045794994, 0.09161245, -0.11028719, -0.019568264, -0.042281643, 0.1364284, -0.033713438, 0.11642366, 0.07564675, -0.024442472, 0.036465663, 0.07833873, 0.014873189, -0.14370635) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.028254526, 0.03760354, -0.011797037, 0.09870556, -0.0036645592, -0.088996716, 0.056265235, 0.01563317, 0.12723766, -0.18277185, -0.065603904, -0.009434915, -0.042067092, 0.1101167, -0.04523329, -0.05518942) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.09887286, -0.062833555, -0.10169822, 0.045400508, -0.10149524, -0.020788958, 0.049276303, 0.1848544, -0.036457896, 0.089807145, 0.064557664, -0.037241396, 0.07144491, -0.040111642, 0.018787336, 0.0459721) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.02347139, 0.06849755, 0.020212974, -0.073171265, -0.09778604, -0.014445421, -0.060268626, -0.11255312, -0.027394159, -0.1284241, -0.116680905, -0.07262339, 0.01820211, 0.11708002, 0.11478465, 0.042252164) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.074675925, 0.062356316, 0.10121299, -0.05468041, -0.17298809, -0.08007273, -0.021630626, 0.04011219, -0.055344217, -0.015984988, 0.038248274, -0.04828419, -0.020083927, -0.114590816, 0.041761182, -0.1102727) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.078522146, -0.04654445, -0.013584582, -0.055614058, -0.16887546, 0.13834028, 0.06688044, 0.07430672, -0.074730664, 0.05231348, -0.12518688, 0.055874057, 0.06311226, 0.07774808, 0.09540121, 0.031748146) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.061944894, 0.1019094, -0.033603672, 0.028389081, -0.06501574, 0.04419563, -0.06686472, 0.012942882, 0.051533747, -0.042957004, 0.08542106, 0.12271295, 0.04759611, -0.10126614, 0.03832705, 0.06986874) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.036853768, -0.074119866, 0.017912362, -0.08458544, -0.039857548, -0.03394903, 0.040394437, -0.072873235, -0.029146789, -0.07400487, -0.087986626, -0.02232881, 0.0012841695, -0.05850906, -0.053323742, 0.0344403) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.074327774, -0.08389734, 0.015938314, 0.01334375, -0.007207572, 0.0703115, -0.094333984, 0.10248625, 0.08068116, 0.021807257, 0.16126512, 0.045083255, 0.05597088, -0.06936684, -0.041154552, -0.0011198962) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.09000184, 0.04163457, 0.11448483, 0.052682266, 0.06829012, 0.103317015, 0.0009461821, 0.010028677, -0.04878846, 0.06509187, -0.044245765, 0.08430748, -0.14804026, 0.052387252, 0.11350894, -0.121219076) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos6 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(6, 0); + imageStore(out_image, store_pos6, max(result6, V4(0.0))); + V4 result7 = V4(0.0044188052, -0.009346381, -0.012235327, 0.015252484); + result7 += M4(-0.042972498, 0.08236769, -0.023618605, -0.06191364, 0.04191988, -0.008675704, -0.07390221, 0.0009311356, 0.09500118, 0.08298368, 0.044286814, -0.059407096, 0.01787688, -0.0554614, -0.017483596, 0.00093742355) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.13977277, 0.01398194, -0.039226227, 0.10783513, -0.05334263, 0.037340507, -0.081757136, -0.11580031, 0.00525869, -0.11478112, -0.11297556, -0.0061270124, -0.1348311, -0.022002054, -0.090973005, -0.006276886) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.06473276, 0.05067689, 0.058701705, 0.03988178, -0.0020876927, 0.037043255, 0.11746849, 0.029095052, -0.047080904, -0.12857254, -0.042120684, -0.06485761, -0.13170835, 0.08814094, 0.071971744, -0.06819217) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.031466667, 0.03851458, -0.061024304, -0.035576716, -0.0034004268, 0.094658814, 0.029965902, -0.0007654756, -0.032061186, 0.033324577, -0.022280822, -0.0740202, 0.18441853, 0.12826037, -0.0128189055, -0.027810102) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.046307396, -0.042226657, 0.10600841, 0.103890106, -0.06976821, -0.14608271, -0.15969653, 0.054102868, -0.032681562, 0.02596465, -0.100162305, -0.019553388, -0.10975941, 0.035550997, -0.10094666, 0.068499625) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.11081086, 0.06376337, 0.021107139, 0.05602029, 0.051659282, 0.08977382, 0.027325183, 0.031382747, -0.017366126, 0.06011955, -0.08811169, -0.09456346, 0.044535648, -0.17661487, 0.041359928, -0.081572115) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.06385934, -0.0414731, 0.07428848, -0.020465659, -0.06924196, 0.06559097, -0.08858527, 0.03863324, -0.017671417, 0.058841515, 0.050122302, -0.080328904, -0.09091497, -0.057557963, -0.18077, 0.09653239) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.06400039, -0.0810924, -0.043889116, 0.019048017, -0.033843514, -0.04030667, -0.028509255, 0.08303655, -0.08567671, -0.012256329, -0.0781362, -0.08034393, 0.091040805, -0.14055714, -0.0040820283, -0.036268663) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.088520035, 0.043026187, -0.05791277, -0.09694408, -0.05769773, 0.034705132, -0.0734794, 0.014783636, 0.061584204, 0.070767395, 0.08592947, -0.07063723, 0.15544488, 0.019874154, -0.031173864, -0.023830239) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.07329762, -0.052830968, 0.065536544, -0.02043986, -0.1839597, -0.16657177, 0.020405231, 0.05674559, 0.049243655, 0.09800907, 0.016842889, 0.08090283, -0.0057650604, -0.042263307, 0.1024937, 0.100807525) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.14186054, 0.06957121, -0.09371007, -0.103624344, 0.1952639, 0.011528402, 0.056691114, -0.178617, 0.030123634, -0.10215357, 0.0049742092, -0.018976381, -0.011651249, 0.08920201, -0.029738203, 0.06812927) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.0691108, -0.04874268, 0.039057232, 0.10373766, -0.17683646, -0.15897743, -0.045607284, 0.27158597, -0.016547546, 0.06300457, -0.03572716, -0.038823098, -0.080916725, 0.026222965, 0.10451524, -0.012559655) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.027840726, 0.023510518, 0.0709063, -0.060737185, -0.010471409, 0.12458618, 0.059408803, -0.0005855043, -0.079232566, -0.033852626, 0.07291792, -0.08391672, 0.0065321084, -0.014525109, -0.008916134, -0.005250325) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.07064998, 0.008205172, 0.014256786, 0.060115546, -0.036033798, -0.2257095, -0.058475986, 0.044987645, 0.08654608, 0.073779, 0.041525807, -0.04604366, 0.08340023, 0.051346913, -0.06490604, 0.006678627) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.025671128, -0.08049351, -0.06395712, -0.034588303, 0.22381192, 0.18458383, 0.10206551, -0.038579214, 0.0775415, 0.08581948, -0.10330833, 0.0032988365, 0.06643222, 0.058374785, 0.1048187, 0.047139924) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.01718272, -0.041079007, 0.0028916863, -0.045841116, 0.06290111, 0.10825325, -0.012091148, -0.12546325, 0.08754547, -0.07688822, 0.07113101, -0.06434712, -0.08960407, -0.024328178, -0.06888256, -0.010802101) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.04562127, -0.033757474, 0.0333275, 0.042751852, -0.12483206, 0.07173492, 0.028207038, 0.111860454, 0.040582974, -0.031253193, -0.015997479, 0.08742704, -0.050877187, -0.09085872, -0.011412988, -0.071639545) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.0681969, 0.014121789, 0.084272936, -0.11689993, 0.0650356, 0.0037843802, -0.070339344, -0.046727277, -0.017384231, -0.052480593, 0.00622065, -0.0077619585, 0.11511185, 0.09917432, -0.06462241, 0.013835205) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.4502069, -0.14058442, -0.32510665, -0.031222165, 0.11508633, -0.13026409, -0.042208627, -0.09696273, -0.02653963, -0.081706166, 0.079558186, -0.008650209, -0.04185425, 0.033850662, 0.012780042, 0.0028709555) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.6171254, 0.04880311, -0.06366232, -0.048632268, 0.09391385, -0.008851289, -0.04452032, 0.044348, 0.010649384, 0.04123659, 0.07070385, -0.08392835, 0.04774949, 0.18820691, 0.1375036, -0.15219852) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.012749834, 0.03862648, -0.12462674, -0.09528665, -0.2766919, -0.06359671, 0.13081431, 0.06950242, -0.0012419836, 0.08928085, -0.07385423, -0.019549424, -0.14748497, -0.043136973, 0.017317096, 0.118798845) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.05377673, 0.038660076, -0.08637298, 0.09246952, -0.08943347, -0.058526535, -0.17723918, -0.03173288, -0.040664397, -0.034982074, -0.088963576, 0.0673496, -0.038978536, 0.0011519849, -0.047311116, -0.06692778) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.016708337, -0.07142881, -0.17485009, 0.046416435, 0.06907238, -0.1640736, -0.037923932, -0.08383272, -0.058138955, 0.03066273, -0.03930247, -0.058903515, -0.15952809, -0.14465106, -0.06922676, 0.08436034) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.0548304, -0.001955446, -0.06137349, -0.002579337, -0.018770404, 0.053265315, 0.0569514, -0.067930475, 0.017032743, 0.09003891, -0.0009916181, -0.022997674, 0.09324562, 0.02234357, 0.052872874, -0.08975708) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.006500333, 0.10855631, 0.055917233, -0.02552525, -0.034358244, 0.1630112, 0.008826352, 0.12530114, 0.102394395, 0.019413164, -0.030894356, 0.007903982, -0.07372388, -0.1341909, -0.03528071, 0.14413129) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.039479576, 0.003751778, -0.029938944, -0.011562966, 0.01372743, -0.048338767, -0.17865638, 0.1156163, 0.05463624, -0.033179086, 0.025522457, -0.09588742, 0.056066476, 0.038501736, 0.10310547, -0.07028259) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.10189389, -0.07894085, -0.010738713, -0.040523022, 0.04871086, -0.15268117, -0.17392033, 0.07826077, 0.061577957, 0.07235159, 0.08870906, -0.1059967, -0.03774972, 0.015838, -0.02016568, 0.07129622) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.08413017, -0.024244286, 0.11126331, 0.15677144, 0.09960454, -0.090100616, -0.072861396, -0.04066774, -0.19846842, 0.18788089, 0.07460535, 0.16101979, -0.014709628, 0.10972338, -0.047890175, -0.06562814) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.029365957, 0.021124853, -0.08882974, 0.0047347504, 0.047496114, -0.08617213, 0.009591299, -0.078052506, -0.1381898, -0.18845789, -0.024468902, 0.08282443, 0.09653097, -0.013629455, 0.053046867, 0.10030924) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.056686174, 0.10158162, -0.10148985, -0.09656042, -0.040548015, -0.077940285, -0.058515888, 0.08102927, 0.2805579, 0.08287495, 0.022490898, -0.16125019, 0.11050356, -0.10154386, -0.10571093, 0.028916081) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.12782824, 0.16595022, 0.0817979, -0.12992367, -0.0294961, -0.08895477, 0.0091270525, -0.030490559, -0.032378417, -0.024405543, 0.08162507, -0.16938132, 0.03223068, 0.013271533, 0.02296996, 0.0074539813) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.075403385, 0.07022349, 0.04048072, -0.011805813, 0.049484305, 0.06511094, -0.058259293, -0.046113107, 0.06881787, 0.09468641, 0.08956952, -0.030891474, 0.029509544, -0.072196014, -0.02522846, -0.03126399) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.11992874, 0.006091359, 0.011452678, -0.019710643, -0.00091066724, -0.05322973, -0.09153711, -0.046453882, -0.056157224, -0.09612111, -0.12461235, 0.06839094, -0.053210936, 0.06443881, -0.06524147, -0.013285268) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.016592978, -0.05170965, 0.013124206, -0.008229887, 0.068704724, -0.05544043, -0.033693474, -0.019731853, -0.14927536, -0.22934002, -0.16900721, 0.042109188, -0.07119953, 0.08096116, 0.09816346, -0.08440075) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.021389626, -0.15911743, 0.059243187, -0.041614234, -0.08581605, -0.07801326, -0.014880717, 0.0688762, 0.16751014, 0.14271726, 0.050911162, -0.097509295, -0.02907791, -0.101282276, 0.092033915, -0.06555687) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.055462394, -0.028573176, 0.019333964, -0.20141667, 0.0127428295, 0.038475774, 0.021786643, -0.061532535, -0.056278512, 0.05232261, -0.059163935, 0.1514255, -0.07671748, 0.013675766, 0.009982045, -0.08100556) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.005167638, 0.020581504, -0.07862394, -0.17684157, -0.0031000625, -0.14954539, 0.069842964, 0.030354353, 0.124608554, -0.09446856, 0.1687582, 0.005157815, 0.007742732, 0.09855265, 0.040785424, -0.06443787) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.107285194, -0.012274551, 0.03476451, 0.08232292, -0.028296445, -0.08165656, 0.1113063, -0.04116379, -0.117790595, 0.0061224755, 0.17527793, 0.11147725, 0.07468039, -0.060451962, -0.05534745, -0.053837113) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.4099292, 0.05319343, -0.07277789, 0.08392169, 0.0778884, -0.0016935042, 0.053082906, -0.024616612, -0.010807481, -0.026990024, -0.0107655395, 0.10837214, -0.02306861, -0.09735729, -0.029194392, 0.06834456) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.47505695, 0.013424064, 0.15694304, 0.108538955, 0.16191903, 0.07646038, -0.07085192, -0.11418573, 0.13251925, -0.12840144, -0.19181624, -0.10899171, 0.07911538, 0.037602026, 0.033040803, -0.087832704) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.0023192822, 0.056456596, 0.11698143, 0.06585435, 0.20019081, -0.1072962, -0.05490011, 0.05927231, 0.111795865, 0.10762911, 0.115964815, -0.0057104235, 0.029638218, 0.09479947, 0.024725636, 0.09952583) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.37098902, 0.09024805, 0.04935781, -0.0108443815, 0.38294646, 0.14033927, -0.08040615, -0.00047512425, 0.20373835, 0.02647173, 0.17475735, -0.10867986, -0.013326589, -0.01081643, -0.07153496, 0.077986486) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.2026888, 0.38725019, 0.22630195, -0.2397593, -0.057994384, -0.1602306, -0.20954075, 0.23057564, -0.1212649, -0.06828097, -0.31270313, 0.07583422, -0.02048566, 0.060854737, -0.026188299, 0.02587037) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.115148544, -0.05973017, 0.105538286, 0.038416564, 0.07450745, 0.17460452, -0.024395261, -0.07867058, 0.048128754, -0.050820958, -0.09522374, -0.05467946, -0.115934685, 0.077789195, 0.08014698, 0.06520131) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.18097208, -0.057183832, 0.115934014, -0.06612094, -0.20411746, -0.02116219, -0.09826483, 0.12012894, -0.12474726, -0.12424287, -0.021464726, 0.23416954, 0.074439414, 0.042034335, -0.03599648, 0.10615894) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.12838504, 0.078036584, -0.060761474, -0.07416854, 0.19088359, -0.108306155, 0.06963609, 0.01153449, -0.26607174, 0.075586155, 0.008192374, -0.02142922, -0.07934279, 0.065015435, 0.050541308, -0.0029828877) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.36981347, -0.037735168, 0.043609772, 0.028525606, 0.09282028, -0.09432902, 0.12392448, -0.034204256, -0.10482351, -0.0038587102, -0.037856054, -0.08583087, -0.23455796, 0.0681164, 0.041203354, -0.0337476) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.17138104, 0.018881427, 0.13214697, 0.025100978, 0.056494992, -0.09864637, -0.03657233, 0.05699267, -0.11559624, 0.06690213, -0.08271825, -0.16194308, 0.1698416, 0.092894256, -0.028552894, -0.05993268) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.05665143, -0.10725243, -0.021360341, -0.020634897, -0.05536402, 0.01126733, -0.09322824, -0.018626515, -0.039469253, -0.031065976, 0.12657729, 0.06617079, 0.009733555, -0.09043607, 0.027877841, -0.070866555) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.06927989, -0.0354144, 0.0913346, -0.02813786, 0.14509279, 0.11216251, -0.020455442, -0.10641737, -0.00992218, -0.053365022, -0.052748807, -0.13504332, 0.07232538, 0.09110253, 0.09554926, -0.09316133) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0413889, -0.04932883, 0.18011075, 0.07646243, 0.0059266337, 0.1268775, -0.10422976, 0.03187383, -0.015668241, 0.015213961, 0.1008891, 0.020698952, 0.088751554, 0.02155865, -0.00312336, 0.049160823) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.09845953, -0.04807057, -0.043651782, 0.10603783, -0.019108322, 0.11157556, 0.026124043, 0.04728367, 0.022227494, 0.07575614, 0.027786085, -0.077188425, -0.05634767, 0.017439459, -0.012602251, 0.1331112) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.12226909, -0.12653734, 0.06052695, 0.0022916752, -0.026772361, 0.11964343, -0.005062834, 0.116502516, 0.06149993, -0.19168381, 0.048470173, 0.047855955, -0.044725195, 0.15975447, 0.010538891, 0.041401602) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0021262981, 0.096402995, 0.036751896, 0.095884934, -0.1440762, -0.033938132, 0.041247673, 0.17431653, 0.08332564, 0.085176274, 0.02079729, -0.13884166, -0.0103706485, -0.056976233, 0.06429865, 0.20951837) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.14865911, -0.0033151659, -0.07556782, -0.09529799, -0.07728004, 0.08411206, 0.05856479, -0.017499086, -0.1811411, 0.0665903, -0.068367556, 0.21565972, -0.080145344, 0.017228749, 0.07492279, -0.065801576) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.14765729, 0.10826299, -0.024709873, 0.012362728, 0.04391636, 0.10987977, -0.018460494, 0.00878542, -0.11648853, -0.0547344, -0.10289871, -0.036513843, -0.22267629, 0.14624597, 0.12987025, -0.068637624) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.013880712, 0.07201017, 0.08995496, 0.023345022, -0.0069717257, 0.12730515, 0.08843655, 0.13002919, 0.029217303, 0.048933927, -0.057865877, 0.0029433516, 0.009081064, 0.00090320734, -0.039985053, 0.12593411) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.020093922, 0.02832678, 0.076517284, 0.14896962, 0.030297626, 0.039410945, 0.06290372, -0.012125426, 0.016962443, 0.12556942, 0.081339605, -0.07519717, -0.10587436, -0.11860046, 0.047564913, 0.1811847) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.0022420331, -0.018002613, -0.05148695, 0.044879645, -0.021220846, 0.12832104, 0.04005127, -0.03339664, -0.14241697, 0.0080814725, 0.054456588, 0.09187548, -0.0062494064, -0.021719959, 0.008873317, -0.089253955) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.027915016, -0.0050413944, -0.003969127, -0.061730318, -0.024238197, -0.08404075, 0.008629776, -0.042085335, 0.024575708, 0.088190086, 0.08441291, 0.033729814, -0.11431039, -0.015531204, 0.01765996, 0.12082085) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.05232218, -0.1242685, 0.11219631, -0.0071739196, 0.0032092307, 0.012850346, 0.141704, -0.082019165, -0.01477886, -0.07279771, 0.037390485, -0.037801385, 0.078651845, -0.02685829, 0.016210916, -0.1317117) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.0049826205, 0.045458294, -0.094738096, -0.012499717, -0.062567115, 0.0020541043, -0.05723545, 0.06692189, 0.020766987, 0.009829899, 0.102257006, 0.035253223, 0.017854722, -0.016762182, 0.15947789, -0.125396) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.036733855, 0.05617634, 0.005982208, 0.09329533, 0.09484701, -0.029876193, 0.0055299876, -0.04210585, 0.06478121, 0.033512, -0.04066347, 0.0084053995, 0.06250591, 0.079230666, 0.15870893, 0.107289195) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.06531635, -0.06625975, -0.10347056, 0.025065754, 0.026364654, 0.02390899, -0.0046242476, 0.11252533, 0.022141954, 0.17861386, 0.043199148, -0.17532277, -0.041788377, -0.08357254, -0.07215946, -0.0669387) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.02921715, -0.10792706, -0.012892618, 0.06352269, 0.06141789, 0.07308627, -0.020512952, -0.036848176, -0.017593946, -0.040751047, -0.062127266, 0.12765522, -0.0736577, 0.14404714, 0.04670535, 0.010925797) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.08084389, 0.03364242, -0.026560796, 0.06986507, 0.06206371, 0.063918054, -0.019717116, 0.00048482596, 0.042276606, -0.024262639, -0.120303124, -0.037834655, -0.11741202, -0.087440185, -0.10753524, 0.11074116) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.013639584, -0.04522073, -0.045491457, 0.07629796, -0.030604478, -0.05056982, -0.10951277, -0.03778193, -0.17291497, 0.046923887, 0.001919085, 0.11581932, -0.009824227, 0.14124894, 0.12648281, -0.010122175) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.04298535, -0.01983132, -0.0032256874, 0.022838103, -0.18907496, -0.07964904, -0.024860065, 0.019412767, -0.0826054, -0.014342087, -0.08917059, 0.005110098, -0.014483347, -0.020919787, 0.054011423, 0.14644018) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.017723536, -0.024452621, 0.038154136, -0.033410314, -0.0039806333, -0.056049388, -0.09950896, -0.01011608, 0.089299366, -0.085298575, 0.0056067267, -0.1920985, 0.031546757, 0.07737097, 0.04859091, 0.03354972) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.106303185, -0.020270139, 0.055845004, 0.08245232, -0.077301726, -0.111508645, 0.048426956, 0.061425447, 0.010446957, -0.05391356, 0.12373156, -0.04634582, -0.08086986, -0.12794629, -0.0010374871, -0.03704727) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.10840291, -0.025253637, 0.043432534, -0.027769437, 0.012440286, 0.012097243, 0.006579044, -0.01397799, -0.0019582852, -0.030722551, 0.042473722, -0.18090717, 0.058281105, 0.06528352, 0.15172726, -0.06857547) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.09554375, 0.08136336, 0.019328006, -0.04607918, 0.06763769, 0.020982848, 0.03403954, 0.07027059, -0.027469065, -0.07210642, 0.053730663, -0.025463764, 0.0121935345, -0.06680501, 0.047258466, 0.047999073) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos7 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(7, 0); + imageStore(out_image, store_pos7, max(result7, V4(0.0))); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2_CMP] (Conv2D-2-ReLU) +//!COMPUTE 16 16 2 16 +//!HOOK LUMA +//!BIND conv2d_1 +//!SAVE conv2d_2 +//!WIDTH LUMA.w 8.0 * +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#ifdef GL_EXT_shader_explicit_arithmetic_types_float16 +# define V4 f16vec4 +# define M4 f16mat4 +# define F float16_t +#else +# define V4 vec4 +# define M4 mat4 +# define F float +#endif + +const ivec2 ksize = ivec2(3, 3); +const ivec2 offset = ksize / 2; +const ivec2 isize = ivec2(gl_WorkGroupSize) + ksize - 1; +shared V4 inp[8][isize.y][isize.x]; +void hook() { + ivec2 base = ivec2(gl_WorkGroupID) * ivec2(gl_WorkGroupSize); + for (uint y = gl_LocalInvocationID.y; y < isize.y; y += gl_WorkGroupSize.y) { + for (uint x = gl_LocalInvocationID.x; x < isize.x; x += gl_WorkGroupSize.x) { + inp[0][y][x] = V4(conv2d_1_mul * texelFetch(conv2d_1_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(0, 0), 0)); + inp[1][y][x] = V4(conv2d_1_mul * texelFetch(conv2d_1_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(1, 0), 0)); + inp[2][y][x] = V4(conv2d_1_mul * texelFetch(conv2d_1_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(2, 0), 0)); + inp[3][y][x] = V4(conv2d_1_mul * texelFetch(conv2d_1_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(3, 0), 0)); + inp[4][y][x] = V4(conv2d_1_mul * texelFetch(conv2d_1_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(4, 0), 0)); + inp[5][y][x] = V4(conv2d_1_mul * texelFetch(conv2d_1_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(5, 0), 0)); + inp[6][y][x] = V4(conv2d_1_mul * texelFetch(conv2d_1_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(6, 0), 0)); + inp[7][y][x] = V4(conv2d_1_mul * texelFetch(conv2d_1_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(7, 0), 0)); + } + } + + barrier(); + V4 result0 = V4(0.003442629, 0.013375611, 0.011637685, -0.0033052866); + result0 += M4(-0.0516883, 0.1223235, -0.010883935, 0.09438911, 0.017591503, 0.051363852, 0.051496428, -0.04656569, 0.02543791, -0.1092288, 0.11765959, 0.039808914, -0.047174525, -0.114782095, -0.019813973, -0.027763354) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.042130083, -0.17126416, 0.033631187, 0.09168481, 0.019962575, 0.10976285, 0.034760248, 0.073325485, -0.09115988, -0.0115670655, -0.03478817, 0.018615771, -0.0023165664, 0.014027706, -0.03731295, -0.043543793) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.16503891, 0.1166455, -0.14426629, -0.11587218, -0.017246457, 0.10145523, -0.024674272, -0.03727136, -0.038797025, 0.024247516, 0.07808381, 0.019523546, 0.0056397147, 0.013953187, 0.09304354, 0.07722131) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.074226476, -0.20569965, -0.040748388, 0.12922601, -0.032972317, 0.11628865, 0.08778825, 0.100518756, 0.016125318, -0.13110456, -0.015183646, -0.022027299, 0.032437608, -0.110451385, -0.03447586, 0.0043697096) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.032670178, -0.16246165, 0.024775188, 0.09502671, 0.025912184, 0.121336885, 0.025341397, -0.030970527, -0.049652822, -0.14885397, 0.041994046, -0.023311207, -0.08581219, -0.13498022, 0.06965343, -0.056874692) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.06393143, 0.034051385, 0.008888838, 0.038546853, 0.06947941, 0.06178005, -0.049819645, 0.06794293, -0.13366286, -0.14938863, -0.037693966, 0.051842153, 0.037708096, 0.040628813, 0.102534845, 0.0071342047) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.06150137, -0.046255656, 0.13692896, -0.023179762, 0.03713181, -0.10310992, 0.09385238, -0.0047284197, 0.025656024, 0.09891812, 0.08686281, -0.009539339, 0.0731247, 0.07668687, -0.09762713, -0.059970424) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.059885383, -0.08883125, 0.05225452, -0.025442436, 0.06153856, 0.14436032, 0.013788722, 0.0113854725, -0.012819896, -0.19287184, 0.09983513, -0.024793316, 0.038836777, -0.052246887, 0.0059347996, 0.01900127) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.15384208, -0.22237863, 0.07046196, 0.09070783, -0.019386219, 0.01878587, 0.09160569, 0.16305578, 0.0098382505, -0.14395851, 0.014114545, -0.035733894, 0.056480207, 0.0006837963, 0.0019656941, 0.04400927) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.10650795, 0.046735253, 0.09259645, 0.014654708, 0.010226026, -0.11936858, -0.11678929, -0.052416194, 0.13530041, -0.05194774, 0.13022895, 0.1432494, -0.035729438, -0.0019865127, 0.050633468, 0.006274034) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.0214423, -0.17011152, -0.028696338, -0.110234044, -0.040174622, -0.108965695, 0.008227098, 0.063629985, -0.14791602, 0.004125044, 0.011615113, 0.122726314, -0.028705064, -0.039566778, -0.071891725, -0.06212427) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.081452325, 0.020910071, -0.016452488, 0.07210494, -0.08088186, 0.06797714, 0.08857902, -0.03965487, 0.046168204, -0.05276988, 0.04365019, 0.24730065, -0.003263334, -0.14522351, -0.02959662, 0.09913768) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.09131164, -0.03868012, -0.045859553, 0.038488243, 0.10892, 0.13744669, -0.063878775, -0.017026704, -0.31645218, 0.16467562, -0.09782914, -0.10328421, 0.08764717, 0.042647827, -0.03998367, -0.0065759374) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.07121675, -0.053125687, -0.015473897, 0.037690498, -0.11444654, -0.14523968, 0.008924308, -0.04098788, -0.104130544, -0.05505333, -0.028085077, -0.052494265, -0.0226373, 0.0030073656, 0.0841683, -0.05533188) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.06603429, -0.0698434, -0.01583814, -0.05218147, 0.0054660025, -0.11764239, -0.028240068, 0.010165519, -0.28188765, -0.01058381, -0.03525232, -0.047920473, -0.047851518, -0.04823144, -0.058103524, -0.08332379) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.028600972, 0.13142908, 0.026104137, -0.04268192, -0.022775013, -0.014523361, 0.02226707, 0.06322737, -0.10761655, 0.06735946, 0.117321685, -0.016469825, -0.056598056, 0.02441578, -0.03231526, 0.009799762) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.046519756, 0.0010246322, 0.055382118, 0.10480469, -0.056605417, -0.0649274, 0.039919082, 0.042091604, -0.03027313, 0.000687018, 0.03254063, -0.17211948, 0.04611447, 0.06783789, 0.10692804, -0.014811766) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.07505623, -0.15010943, -0.09224019, -0.009662299, 0.0391686, -0.07664002, 0.07763067, -0.064216435, -0.09109313, 0.12934338, 0.03457879, 0.01982002, 0.045189314, 0.0014844715, -0.1354248, 0.07776369) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.23575372, -0.20916402, 0.062224787, -0.112326115, 0.064626195, -0.03810418, 0.07295485, 0.014745601, 0.08663006, -0.035257984, 0.067087986, -0.0068540587, -0.07883062, -0.049193997, -0.01979881, -0.036141884) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.016203457, -0.20384413, -0.06284793, -0.039454132, 0.05827383, 0.06440675, 0.036207717, 0.020822337, 0.04353693, 0.037884302, -5.167541e-05, 0.05858269, -0.0009116797, -0.00086968276, 0.031834215, -0.024399042) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.003219082, -0.04297337, -0.0062287953, 0.08495083, -0.004494778, 0.10618316, -0.17250143, 0.029387794, 0.048578553, -0.17977375, -0.09815774, -0.004012064, 0.034396183, 0.031990655, 0.04576335, 0.044685774) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.057716437, 0.06253896, -0.088651486, -0.046108227, -0.06020788, 0.016781656, 0.041366972, 0.09491335, 0.06343052, -0.014260148, 0.05434982, 0.02787039, 0.1024581, 0.010880765, -0.033063978, 0.06677028) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.12709586, 0.4045799, 0.009852, -0.02042569, 0.08908296, -0.1090025, 0.033085667, -0.03766496, -0.06446206, 0.04983797, -0.05064461, -0.16059521, -0.12109033, -0.0027703668, 0.066734456, 0.02556977) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.073184855, 0.25490257, -0.16114198, 0.02275981, 0.0065019755, 0.08409689, -0.14280286, -0.08801142, -0.066786714, 0.014090064, -0.26533183, 0.06304747, 0.02210616, -0.032883894, 0.06576031, -0.011046229) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.14275646, -0.00084464403, -0.0703081, 0.043860044, -0.010851522, -0.22751017, 0.122808665, 0.046687886, -0.02003021, 0.035175133, 0.119783655, -0.031573713, 0.032656256, -0.053362623, -0.02658459, 0.03316823) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.055334743, 0.017404053, -0.016423844, 0.0741847, -0.07912923, -0.040405974, 0.05193074, 0.012869429, 0.036050186, 0.031962436, 0.12607427, -0.011362307, -0.09532705, -0.08341516, -0.020436132, -0.005016131) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.054198246, -0.008781335, 0.11987427, 0.013400618, -0.06351809, 0.017788813, -0.03444837, -0.005943444, -0.07397155, 0.080663346, -0.13804428, 0.06851538, -0.08832343, -0.08281272, 0.061568934, -0.05590224) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.048422214, 0.0882096, -0.015030608, -0.10135356, 0.008011804, 0.030250866, 0.014552564, 0.008256356, -0.05740036, -0.046427455, -0.018813487, -0.016010005, 0.01048484, -0.114028156, 0.031222235, -0.060205508) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.028182564, -0.05912414, 0.022914773, -0.13453418, 0.037059613, -0.036556043, -0.07535737, -0.016822884, -0.028566778, 0.11565894, 0.021367239, -0.06701894, -0.032096725, 0.044734847, -0.0073112627, 0.0074240505) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.05880545, -0.052018944, 0.022135228, -0.03800326, -0.07087699, -0.28158522, 0.121120945, 0.029811101, 0.057445467, 0.290543, 0.078989066, 0.019574359, 0.08412573, -0.10001867, 0.00626211, 0.05163718) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.050437752, 0.020409917, 0.05806958, 0.019130085, 0.0372162, 0.09366855, -0.07678022, -0.039855033, 0.033538964, 0.23069714, -0.038316667, -0.12954265, -0.07289259, 0.049885344, 0.06292729, -0.025425589) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.023943014, -0.08759173, -0.06185972, -0.061545014, 0.053152163, 0.19081846, 0.043645542, -0.008407938, -0.075783245, -0.1859964, 0.08659916, 0.010488999, 0.08240174, -0.11964047, -0.114584886, -0.11902114) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.010366827, -0.029145885, 0.115005665, 0.01655262, 0.04004001, 0.06597598, -0.09807251, 0.08586093, 0.08319979, 0.013092327, 0.08287092, 0.078944795, -0.030562766, -0.027823647, -0.05334102, -0.11193261) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.054666776, 0.13348368, 0.0019419125, 0.08124257, 0.046780676, -0.07266956, 0.06664775, -0.035681203, -0.0008467227, -0.14177862, 0.051860817, -0.14050585, 0.005693945, -0.16635133, 0.02721335, -0.03807163) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.07823977, -0.15409158, -0.08923035, 0.08401554, -0.099613614, -0.16091618, 0.039866116, -0.012680801, 0.055174213, 0.07946077, -0.044296768, 0.05820352, -0.015891919, -0.046970848, -0.019661175, -0.1313544) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.08236053, -0.14904302, -0.007949339, 0.06310023, -0.08902054, 0.09991664, -0.026032416, -0.0011966327, -0.036444787, 0.09199297, -0.21504907, 0.043247856, 0.02236589, -0.15416005, -0.0105029885, -0.0067938785) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.11732966, -0.10472387, 0.12730962, -0.053779032, -0.08099377, 0.04476129, 0.022480056, -0.13573004, 0.18501645, -0.11255146, -0.0829434, -0.08779753, -0.082872234, -0.07091369, 0.046987016, 0.001789607) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.0001841773, 0.08885647, -0.13208508, -0.072944574, 0.0070056603, -0.054579325, -0.16735768, -0.049921118, -0.049292635, -0.03392617, 0.10550992, 0.030762367, -0.10163061, 0.047216035, -0.08041572, -0.07611193) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.035448655, 0.14822306, -0.04878872, -0.0746945, -0.060244925, 0.0822443, 0.0625219, 0.03356549, 0.03891253, -0.010678343, 0.072259866, -0.12065982, 0.027890064, -0.01056815, -0.106252536, -0.00812856) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.010682728, -0.057190124, 0.024039853, -0.049071018, 0.06671262, 0.10580547, 0.06114008, -0.027142048, 0.0070528546, 0.111861385, 0.05085344, 0.07242349, 0.11960674, -0.22299533, 0.026508173, 0.030118395) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.13280915, -0.07924072, -0.090050384, 0.05283513, -0.091666065, -0.14002225, -0.14763567, -0.016189087, -0.10117109, 0.05499106, 0.029511433, 0.081549644, -0.035187725, 0.06161617, 0.042676724, 0.029305635) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.08529392, -0.051476993, 0.040334698, 0.08094866, -0.050459165, 0.026990544, 0.017269399, -0.0046234047, -0.07637832, -0.0015510239, 0.11318409, -0.004616539, 0.10067467, 0.14108709, 0.043603513, -0.088025756) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.038899567, 0.03502128, 0.094575115, -0.1716205, -0.037085354, -0.11291488, -0.025886811, -0.10783659, 0.04456275, -0.052541457, -0.079615116, 0.073266625, -0.067546375, -0.07555959, 0.03368702, -0.07228856) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.08401444, -0.0033819543, -0.111090004, -0.012519393, 0.051470328, -0.19865474, -0.14088048, 0.06306316, -0.063153945, -0.029220344, 0.009064916, 0.05055387, -2.0794327e-05, -0.025079904, 0.021477627, 0.034820333) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.038313475, 0.03284816, 0.114614934, -0.12352222, -0.012737359, -0.0028172547, -0.046252742, 0.17683344, -0.096878424, 0.08909354, 0.04416406, 0.004774474, -0.04148429, 0.023412686, -0.008101432, 0.067253225) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.062278196, -0.53816324, -0.15103306, -0.17200018, 0.051400732, 0.04138932, 0.13394047, -0.119237274, -0.047384914, 0.01679893, -0.0068038427, 0.025806105, -0.117235914, 0.087412186, -0.11617584, -0.14323951) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.11668384, 0.074840136, 0.42223442, -0.19560121, -0.020292128, 0.01671585, 0.054223668, -0.056781337, 0.07575778, -0.018754218, 0.06514087, -0.031790406, -0.10921607, 0.052557115, -0.16343062, 0.030965082) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.17218459, 0.23054613, 0.16784467, -0.065492846, -0.050076734, 0.123028904, -0.17201862, -0.1655768, 0.06440684, 0.13164178, -0.005537595, -0.034656573, -0.22443742, 0.20967042, 0.3041761, -0.007478679) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.17426656, 0.4528224, -0.12206193, -0.09436925, 0.08454841, -0.09759462, 0.014630061, -0.057183, 0.05609388, 0.010791998, 0.007940699, 0.02109524, -0.121039115, 0.376498, -0.049768537, -0.14014526) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.056152247, -0.078359775, 0.024252938, 0.002805122, -0.049185686, -0.42327765, 0.022885872, -0.11947411, -0.06836373, -0.11480447, -0.085081905, 0.071665406, -0.36042693, 0.18898365, 0.12252569, -0.061614163) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.06352047, -0.03375747, -0.065147534, -0.0574813, 0.1371266, 0.103330635, -0.1323223, -0.2582797, 0.059934467, -0.075954154, 0.05327265, -0.00027559337, -0.436382, 0.23164439, -0.11767409, -0.13686763) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.010999393, 0.037416346, -0.117749415, 0.037723485, -0.09378002, -0.06545638, 0.10155104, -0.2491548, 0.0728737, 0.07561564, -0.09612676, 0.066651665, 0.15435365, -0.20851313, -0.25308436, -0.1517674) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.059262548, 0.088123396, 0.04595589, 0.071299136, -0.2657167, -0.0743166, 0.19549409, -0.17509139, -0.07912206, -0.07722041, 0.032773502, 0.008807091, -0.36755344, 0.69608283, 0.2551445, -0.06061691) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.12210964, -0.057808213, -0.03825865, 0.027386822, -0.21363692, -0.12373217, -0.13868341, -0.2978032, -0.06466259, 0.10511675, 0.101937175, -0.0048433132, -0.091977045, 0.044653077, 0.20223714, -0.33129585) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.058450785, 0.063353345, 0.099592514, 0.030007755, -0.04972511, -0.14383356, 0.0020709035, 0.07048428, -0.022548817, 0.0063583693, 0.004757659, 0.056969695, 0.046252646, 0.2022494, 0.036288697, 0.007839983) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.021845829, -0.08786369, -0.13037223, 0.027431091, 0.030601915, -0.04768066, -0.03495091, 0.033611946, 0.03385561, -0.06580581, -0.021568859, -0.016728533, 0.04180178, 0.3107473, -0.04187441, -0.009557169) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.017555168, -0.09019388, -0.13118231, 0.0041893627, -0.055518832, 0.10808544, 0.018163051, 0.06777048, 0.025003126, -0.02140458, 0.071954355, -0.022797646, -0.0066630314, -0.07335746, -0.06472745, 0.030310564) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.01794501, -0.092173874, 0.05863492, 0.028494524, 0.18878207, 0.12759832, -0.1275855, 0.05596837, 0.034271166, 0.060568184, 0.033352237, 0.026323156, 0.046888746, 0.13910039, -0.033721946, 0.048105676) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.0843007, 0.14086449, -0.12937884, -0.029571462, -0.103683874, -0.12255864, 0.011206627, -0.037995305, -0.00062648655, -0.033720143, 0.04066085, -0.05737302, -0.099000625, 0.11286555, -0.06838891, -0.017499028) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.03421948, 0.048566256, -0.1642122, 0.07475413, 0.029047074, 0.02460739, 0.048939757, -0.0061795223, 0.040129643, -0.15545441, -0.028020121, 0.006692578, 0.043647636, 0.20153019, -0.087731495, -0.047531262) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.019625593, -0.118388884, 0.054435182, -0.005192937, 0.061393365, 0.12351411, -0.009069284, -0.08370055, -0.036216546, 0.012977539, -0.016095726, 0.083318464, 0.0023230386, 0.054868925, 0.0021136866, -0.052701376) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.12024552, -0.057164833, -0.024687454, -0.020667013, -0.083002895, 0.04474543, 0.029743817, -0.04447344, -0.08212052, 0.062480733, -0.124424934, -0.117168, -0.0048817443, 0.23786889, 0.0876864, -0.06447469) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.06302613, 0.015881766, -0.18436377, -0.0590962, -0.0006935935, -0.12352232, 0.046164673, 0.012302003, 0.020855915, -0.10902478, -0.07522982, -0.06429665, -0.034547158, 0.10823844, 0.015109224, -0.028962206) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.01946017, 0.016151685, 0.11467929, -0.04279579, 0.022072032, 0.1371591, -0.0482247, -0.051824886, -0.0031306858, 0.112242214, -0.055662546, -0.016279643, 0.047434453, -0.06905586, -0.008905158, 0.04366862) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.016693613, -0.001538355, 0.0112478165, 0.042273838, -0.1174123, 0.00038066664, -0.019793522, 0.15272483, 0.008429458, -0.073130004, -0.092114285, 0.075534694, -0.12419683, -0.13350578, 0.0949343, -0.046170726) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.07946698, -0.04164358, 0.056165032, 0.034795765, 0.0594917, -0.008625992, -0.04381531, -0.07846636, 0.0017590298, 0.14191683, 0.055887274, 0.080611594, -0.02343628, -0.04236199, -0.012723384, 0.046555463) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.006229897, 0.0926588, 0.013100328, 0.0713355, -0.06869194, -0.02985101, 0.021145627, 0.016922202, -0.03673092, 0.18399979, -0.056074876, 0.0070666173, -0.007980999, 0.14234199, 0.07306246, -0.029087301) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.07607793, 0.17911147, 0.013611211, -0.009084229, 0.13068137, 0.038981672, 0.029955443, -0.00994748, 0.09046184, 0.07559542, 0.012598565, -0.0034760982, -0.05443224, 0.034976996, -0.03046626, 0.057495724) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.06430616, -0.0723466, -0.037540536, -0.022483155, -0.13232912, -0.18224835, -0.12110369, -0.064465016, -0.030505897, 0.05481982, 0.041200448, 0.024950625, -0.02368916, -0.056606762, 0.013905769, -0.012128648) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.039399266, 0.12301912, -0.05215033, 0.031424098, 0.004601558, -0.09658625, 0.14569914, 0.035255328, 0.03054353, -0.2175089, -0.0858491, 0.094312824, 0.116292305, 0.023325652, -0.012200195, 0.005125089) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.09873105, 0.16695476, -0.074045815, 0.14276518, 0.09140053, -0.052848183, 0.015915362, 0.043499194, -0.02386, 0.09549653, -0.033498764, 0.026330357, 0.097885154, 0.10678137, -0.105109885, -0.025195993) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.03615445, 0.045302264, 0.052051153, -0.011744928, -0.010769293, -0.042392176, -0.10117992, -0.06578498, -0.035368808, 0.11709175, 0.04415361, -0.07105186, -0.03605601, -0.056450993, -0.024680115, -0.043298017) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos0 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(0, 0); + imageStore(out_image, store_pos0, max(result0, V4(0.0))); + V4 result1 = V4(-0.0026704965, -0.0069852816, 0.013155309, -0.0030670145); + result1 += M4(0.1088151, -0.1832992, 0.048958622, 0.01714007, -0.02975891, -0.07361721, 0.04749533, 0.025297625, 0.017636111, 0.035925288, 0.105162285, -0.02550838, 0.07371688, 0.18853368, 0.054847084, 0.054785542) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.02039287, -0.07107351, 0.058345817, -0.12288336, 0.012482367, 0.037051555, 0.15683356, 0.10577934, 0.0041690376, -0.0052497326, 0.07248003, 0.05679496, 0.038790483, 0.061607312, 0.09126633, 0.023941834) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.12869008, -0.03287627, 0.01949578, -0.06683287, 0.008253354, -0.03939117, -0.028978111, 0.30465445, 0.028981432, 0.039871175, -0.05122636, -0.022937665, 0.0077531715, -0.033321038, 0.07472768, -0.14529845) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.08185111, 0.07739009, 0.050191715, 0.013613045, 0.023266561, 0.0016993212, 0.04417637, 0.061227184, 0.020861998, 0.013890073, -0.09765723, -0.06517111, 0.017003689, -0.027420385, 0.029547054, -0.065200455) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.18058242, 0.1254569, 0.04266301, 0.08140856, 0.09683645, 0.01607585, -0.19379143, 0.23192826, -0.012026313, -0.06126885, -0.035950378, 0.013585793, -0.05303691, -0.13076438, 0.08686017, -0.034630038) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.021640534, 0.05879787, -0.041268736, -0.0329055, 0.010431408, 0.011531553, -0.0946539, -0.23675436, 0.0039062416, -0.090672486, -0.14505802, -0.049114898, -0.019955348, -0.062832475, -0.068216555, -0.062025294) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.10506846, -0.14340083, 0.04425446, -0.16630755, -0.013111705, -0.088043086, -0.07118783, -0.0084669255, 0.007818927, 0.08007053, 0.10037983, 0.008034847, -0.015481081, -0.09441236, -0.02934192, 0.080016166) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.23244402, -0.25649387, 0.10123927, -0.09339192, -0.11517544, -0.03192777, -0.028575087, -0.0039167535, 0.02461542, 0.06610514, -0.0022811962, -0.060388286, -0.07823475, -0.1295637, -0.1250978, -0.0077112494) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.14078344, -0.25149414, -0.000262269, 0.03776187, -0.05942706, -0.11188389, 0.06237743, -0.0960046, 0.008844598, 0.01064003, 0.009240677, -0.105411306, 0.03588519, -0.08503706, 0.027017552, 0.091664344) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.025809344, 0.036648158, -0.038556434, -0.091364026, 0.021098474, -0.18813086, 0.054817956, 0.013274525, -0.004860089, 0.061252136, -0.4010078, 0.028161518, 0.057617947, -0.040474117, -0.028016347, 0.08150711) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.03109231, 0.10934241, 0.112985976, 0.0393403, -0.044026494, -0.14719681, 0.08305918, -0.049001534, -0.14948358, -0.116897725, 0.14239249, -0.1475096, 0.04267312, 0.09919887, 0.058851175, -0.06775575) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.07256321, -0.070845716, 0.08027308, -0.023798112, 0.021374578, -0.058409873, -0.005381723, 0.100429565, -0.067277536, -0.31138912, 0.028534539, -0.010959187, 0.042965706, -0.051006038, -0.0063746893, -0.0386547) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.00825807, 0.018709922, -0.0076478333, 0.05206399, 0.071014956, -0.044771537, 0.049626976, 0.042767078, 0.13867988, 0.08031969, 0.52796715, 0.012749221, -0.012184806, -0.050476115, -0.090253726, -0.061818082) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.09834351, 0.20069839, 0.0008747681, -0.054800313, -0.03508278, -0.03650194, 0.008603268, -0.031086609, 0.08389489, 0.0628695, -0.007057513, 0.30119655, 0.016492778, -0.014644034, 0.08891636, 0.07418784) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.07156967, -0.082470946, -0.07492583, 0.033875734, -0.013942119, 0.008381342, -0.13543797, -0.021790132, -0.07335912, 0.0398517, -0.033103228, 0.02030422, -0.044961028, 0.07043076, -0.09802279, -0.006354124) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.04951003, 0.017480737, 0.016225683, 0.007048184, 0.059292335, 0.12895189, -0.05478721, -0.013576888, -0.13228326, 0.17077534, -0.28587508, 0.13150844, -0.068026975, 0.17105229, 0.04167912, 0.014466832) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.038300667, 0.07154786, -0.03586753, 0.016044145, 0.057209227, 0.090286724, -0.019170709, -0.07921791, -0.11503769, 0.12964235, -0.21930082, -0.014193156, -0.07745815, -0.11389486, -0.012471894, -0.07303676) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.05260188, -0.0008349193, -0.057639297, -0.08013019, -0.0062188604, 0.124228574, 0.011428276, 0.006081407, 0.0275851, 0.005091149, 0.071275055, 0.12313547, 0.036689863, -0.0072859265, 0.044182673, 0.03913697) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.085747205, 0.08977075, -0.075297445, -0.053212356, 0.043574367, -0.08332664, 0.033378232, -0.016753674, 0.035918314, 0.017287347, 0.10905726, 0.11174788, 0.041658066, -0.07496966, -0.16299699, 0.022935748) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.058556892, 0.04428411, -0.14927663, -0.09258147, 0.004791652, -0.09980849, 0.103075534, -0.039152823, -0.040156644, -0.0013588275, -0.09726483, -0.0933792, 0.00085981714, -0.06333058, -0.20642959, 0.062655844) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.010851088, 0.01380577, -0.08843051, 0.029241262, -0.03987717, -0.04235511, 0.062285908, -0.028464457, 0.070916586, -0.17241235, -0.13732435, -0.04874849, -0.006166181, -0.026928531, -0.07700698, -0.003995623) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.008161641, 0.07345208, -0.11394142, -0.051929906, -0.03988688, 0.00034258308, 0.031395, -0.04526695, 0.036304057, -0.010043342, -0.05661853, -0.011951855, -0.001625418, 0.04959622, 0.041639585, -0.04584268) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.056066968, -0.008693962, 0.06537246, 0.06524182, -0.05325742, -0.048489656, -0.13713194, -0.26379478, -0.09561769, 0.059302866, -0.04856914, -0.081459895, 0.036279865, -0.007421027, -0.051144138, 0.045120463) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.23677833, -0.100541584, -0.07114872, 0.19120902, -0.007977221, -0.0437171, 0.031434637, 0.13993657, 0.019671714, -0.033520013, 0.029058244, 0.05690114, 0.041721802, 0.092754856, 0.08479769, 0.015923) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.107399374, -0.072907366, -0.061016914, -0.07816711, 0.00865098, 0.062974535, -0.009175328, 0.057524927, -0.029175969, 0.097273156, 0.17491844, 0.10403947, -0.074273966, -0.033571154, -0.03973288, -0.01795094) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.07135758, -0.03402484, 0.13840432, -0.059983995, -0.027984899, -0.005216275, -0.113446586, -0.011974018, -0.040498774, -0.025960442, 0.0021536136, -0.08108863, 0.06570102, 0.021127172, 0.10499755, -0.10434602) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.13126719, 0.030389834, -0.027178172, 0.052266292, 0.050826833, 0.10726871, 0.018899592, 0.09672414, 0.004778316, 0.010996268, 0.09388898, 0.034348436, -0.021181598, 0.049826242, 0.025890322, -0.021035185) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.02387066, -0.0019770782, 0.014698564, -0.008972518, -0.080487885, -0.051378407, -0.09584634, 0.041089877, -0.14433114, 0.11417367, -0.08283237, 0.05915595, -0.008951171, 0.031376246, 0.056666695, 0.045404032) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.04551425, 0.102362484, 0.0474437, -0.058157034, -0.036515962, -0.051881462, 0.014176975, 0.06985667, -0.04951922, 0.06337128, 0.23234814, 0.04558573, -0.0005147947, 0.09289937, -0.13400975, -0.037995934) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.011400457, 0.060906548, 0.017685182, 0.13471691, 0.042263918, -0.072464585, -0.029505994, 0.042287562, -0.15731233, 0.041662168, 0.12050174, -0.009218427, -0.05272572, 0.045482863, -0.07564003, 0.080094784) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.13179456, -0.044580128, -0.0678042, -0.0067075305, 0.036029655, 0.050663132, 0.099046044, 0.0021006803, 0.022268966, 0.05823543, 0.0706285, -0.042681515, -0.11546079, 0.037124842, -0.13093139, 0.09928705) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.0050920066, -0.048848465, 0.007235457, 0.047719467, 0.013665446, 0.059786, -0.044465125, -0.06423957, 0.009951522, -0.007955132, 0.06168498, 0.14562762, 0.016457863, -0.10418997, 0.11994617, -0.12006934) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.060305364, 0.091600575, 0.09400265, 0.004962471, -0.023778446, -0.10445334, -0.045618597, -0.08188831, -0.03188418, -0.051408507, 0.0733052, -0.0030304336, 0.0030962958, -0.13388325, 0.095084056, -0.10653108) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.077077985, -0.005678703, 0.035587642, 0.019118015, 0.0129434755, 0.09225257, 0.070360735, 0.058033004, -0.042619266, -0.15670079, -0.028990913, -0.037901893, 0.044235617, 0.016797164, 0.10073648, 0.07225611) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.10855486, -0.045005046, 0.05747941, -0.08356379, 0.008437102, 0.03584871, 0.018218372, -0.07147123, 0.052730054, -0.0541613, -0.09760797, 0.020678725, -0.1862807, 0.024548158, -0.06646696, -0.065310076) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.06963095, 0.029642345, -0.0063035246, -0.018240528, 0.043350488, -0.08533327, 0.033755474, 0.013139315, -0.062036183, 0.063722596, 0.051771253, -0.03816292, 0.09839318, 0.09614864, 0.10981896, -0.1290471) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.17641085, -0.010182052, -0.0036417746, 0.14117956, -0.17076519, -0.11276081, 0.062209047, -0.0030820128, 0.02975343, -0.068979725, -0.05307052, -0.13357079, -0.0627314, 0.093097314, 0.12116838, -0.061883282) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.1725705, 0.10295102, -0.0067457375, 0.070907705, -0.15377024, -0.05920565, 0.06955612, -0.09185015, 0.103261694, -0.02419628, 0.059518483, 0.0070519676, 0.0002755215, 0.030872881, 0.05809548, -0.14090301) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.0028612476, -0.06292442, -0.14077505, -0.0040909876, -0.04104147, -0.05700585, 0.12088585, -0.113127984, 0.0072628506, -0.2860728, -0.09936785, -0.05225051, 0.055694547, -0.015715964, 0.061907955, 0.0076989187) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.013300694, 0.05932074, 0.02024308, -0.012018003, -0.11679539, -0.048200108, -0.0010584274, -0.012746669, -0.1520735, -0.010815683, -0.009636238, 0.07178915, -0.08070399, -0.087217115, -0.13590254, 0.1416625) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.07212092, 0.0133687835, 0.101147115, 0.043204058, 0.0014778317, -0.0031936024, -0.001279152, 0.06300477, 0.0065123173, -0.07069444, -0.03826448, -0.010170904, 0.060314506, 0.04550587, 0.032762975, 0.07501511) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.0765572, -0.06225455, -0.03720499, -0.027457511, -0.017475808, 0.0854966, 0.0128695825, -0.06962552, 0.013439235, -0.3151606, -0.05162763, -0.06907078, 0.07320413, 0.118098356, 0.007507865, -0.06823115) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.13064471, -0.04525325, -0.06729313, -0.10874011, -0.12503847, -0.08993702, 0.123558454, -0.022549894, -0.045872938, -0.014483434, -0.015273253, 0.08612221, 0.07558581, -0.11063083, 0.056277506, -0.008811498) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.09475841, 0.04157716, 0.101559035, -0.079362325, -0.14107005, -0.054472543, -0.000538525, -0.030467028, 0.0836119, 0.1072241, 0.093004026, 0.07438355, -0.052058168, -0.073526055, -0.12048847, 0.060134094) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.012937585, 0.085655585, -0.0270884, 0.0158207, -0.13645686, 0.03343071, 0.154644, 0.060194816, 0.042012356, 0.11193414, -0.12376376, 0.014426494, -0.05523338, -0.058922317, -0.027986813, -0.026128557) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.081485234, 0.19365637, 0.39215708, -0.33364275, -0.043804552, 0.35765672, -0.0031804915, -0.05506859, -0.027712235, 0.03164502, -0.005734909, 0.079150744, 0.064796105, -0.22864886, 0.30665022, 0.20148) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.027903143, -0.17736118, 0.019127762, -0.016941661, 0.049628414, 0.09541171, -0.06659206, 0.013946481, -0.03042714, -0.004203666, -0.053757437, -0.053279944, 0.18877645, 0.33594015, 0.06748911, -0.018176422) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.07447659, -0.015346219, 0.025095666, 0.13611203, 0.065223485, -0.019520022, -0.10179913, 0.009003509, 0.04392522, 0.01924529, 0.082025036, 0.055515688, 0.11723383, 0.03858237, 0.20347755, 0.59635836) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.038716223, 0.32654786, -0.081118494, 0.1309216, 0.09445383, 0.10445356, -0.019478874, 0.021666443, -0.021147601, -0.108409785, 0.06560097, -0.0057787723, -0.013059382, 0.2296983, 0.21498029, 0.053936318) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.0017508173, 0.16176096, 0.054738402, 0.027850294, 0.030409595, -0.072870396, -0.16046646, 0.1724339, 0.016977604, 0.008775995, 0.06307639, -0.00019767167, 0.4451092, 0.16957378, 0.29084396, 0.44695956) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.03507766, -0.38168535, 0.08430297, -0.10719897, 0.010931773, -0.08159854, -0.17967746, 0.12140802, 0.04934819, 0.03658758, -0.06290671, -0.061221533, -0.3718763, -0.600655, -0.07915636, -0.21348712) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.034924757, -0.13438396, 0.032301974, 0.045070734, 0.08027754, -0.10418697, 0.023910154, -0.19306639, 0.08650844, 0.017263744, -0.01178968, -0.028993733, -0.8645689, 0.033755895, 0.007948923, 0.3410306) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.0047199307, 0.10619797, 0.11525978, 0.037618894, 0.047066554, -0.06652497, -0.20610657, 0.04888747, 0.08347011, -0.06650786, -0.01612577, 0.044566292, -0.19907191, 0.12543651, -0.28160203, -0.28315276) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.09135274, 0.10351545, 0.09480959, 0.04342388, 0.056631826, -0.25605074, -0.07694557, 0.07892138, 0.06781161, -0.032615397, -0.010433441, -0.035385344, -0.07405581, -0.0036417297, -0.23708083, -0.1570032) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.026759056, -0.047683284, 0.11272839, 0.047666263, -0.07337569, 0.059083562, 0.029269814, 0.057907235, -0.03443016, 0.016351, -0.073791504, -0.02960598, -0.01220422, -0.016893888, 0.01654694, -0.008970511) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.012990575, -0.059437305, 0.053463947, 0.024959585, -0.043774337, 0.08394113, -0.07143647, 0.08682348, -0.051990546, -0.0220162, -0.28938624, 0.011068624, 0.020086268, 0.13227147, 0.12643246, 0.07697984) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.0070821494, -0.055028163, 0.055550747, -0.052326813, -0.04880355, 0.043850675, -0.019916993, 0.095207065, 0.024018437, 0.004741865, -0.20379701, -0.03205333, -0.01306054, -0.037194315, -0.066100076, 0.0880687) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.035614494, 0.0195995, 0.03172716, -0.044270128, 0.05476892, -0.0681205, -0.10611151, -0.057478696, 0.08412523, 0.07445439, 0.03845507, -0.015672065, 0.059600424, 0.10137879, -0.021469647, 0.103087716) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.021467581, -0.07585906, -0.06877208, 0.09122821, 0.08158795, -0.017641615, 0.06464714, 0.1052147, -0.0323058, 0.08724154, 0.008192184, 0.03622704, 0.044998072, 0.11121423, 0.02731009, -0.042066287) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.03308632, 0.08297764, -0.11844884, 0.017111233, 0.011611377, -0.07365047, 0.05491624, -0.1349648, 0.008340181, 0.05791371, 0.029888865, 0.07637047, -0.0047884677, -0.029054781, 0.017358597, -0.09362269) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.058560807, -0.0812555, -0.055556864, -0.10472523, 0.10357364, -0.023850085, 0.011952905, -0.0632911, 0.033069592, 0.14187448, 0.033038504, -0.059645314, -0.03547079, -0.13193862, 0.08067015, 0.10193497) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.011560774, -0.09525364, -0.060700435, -0.0034738835, -0.004149295, 0.0012452266, 0.08497418, 0.028244028, -0.038908776, -0.008875011, 0.051133815, 0.12043489, 0.059140496, 0.03854453, -0.021552913, -0.07531871) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.054233734, 0.10431967, -0.06309718, -0.008249014, -0.068859495, -2.472221e-05, -0.01962901, -0.0550269, 0.07172022, 0.0021008865, 0.009355253, 0.0018972098, 0.0069770534, 0.14083464, -0.043212507, -0.076081425) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.014855535, -0.076818466, -0.12069867, -0.016461655, 0.04632222, -0.08924164, -0.14444649, -0.013705438, -0.10629519, 0.07447358, 0.103745714, 0.0532043, 0.047529317, 0.039758485, -0.0019607402, -0.060533386) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.024203092, 0.041032843, -0.07819547, 0.065076016, 0.098019525, 0.0039738026, -0.13179854, 0.05826582, 0.050578855, 0.029939752, -0.05294407, 0.15086016, -0.08475205, -0.022390533, -0.062435713, -0.028691648) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.035394967, -0.019776506, -0.13145833, 0.105074435, -0.0876225, -0.03131812, -0.05946118, 0.008440808, -0.03241915, -0.09119424, 0.012539307, 0.055068422, -0.022113472, 0.06397827, -0.06943161, -0.007590992) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.010154215, -0.040791787, -0.028874818, 0.07792026, 0.0041777114, 0.010586441, 0.04266796, -0.15120162, -0.01588253, 0.07648988, 0.0021197675, 0.068199955, -0.007960036, -0.051724818, 0.059286304, 0.1320615) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.05823228, 0.07613547, 0.040016692, -0.06628279, 0.051269006, 0.05712993, 0.023926284, 0.0110481195, 0.07769265, 0.07996533, 0.06614829, 0.07428, 0.0073516103, 0.07385875, 0.12093192, 0.006949762) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.024753397, -0.05918336, -0.04520435, 0.020141589, -0.040896162, 0.009261509, 0.12394741, -0.116169095, -0.036923975, -0.010316278, 0.05081735, 0.03784362, -0.039655194, 0.07628969, -0.010759494, -0.07288344) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.02587162, -0.10437475, -0.16753805, 0.019829882, -0.035106115, 0.05311255, -0.03649359, 0.044361763, -0.045516107, -0.07203907, -0.02955126, -0.0730952, 0.05720901, 0.0959022, 0.054544374, -0.06752504) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.0053152847, -0.070863366, -0.092273585, -0.05409987, -0.018190462, 0.076571845, 0.020241732, 0.08773496, 0.00028201131, -0.024266556, -0.11885602, -0.025534047, 0.041835975, -0.07190047, -0.017420858, 0.049698886) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.05920705, 0.115230545, -0.0820071, -0.11792878, 0.0052734255, -0.06270135, 0.076746665, 0.08309652, 0.075374834, -0.031009419, -0.13471813, 0.012491437, -0.0006443069, -0.055743083, -0.0722765, 0.0061092316) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos1 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(1, 0); + imageStore(out_image, store_pos1, max(result1, V4(0.0))); + V4 result2 = V4(0.008124407, -0.0020193816, 0.012078299, 0.0024210974); + result2 += M4(-0.052535776, -0.014211415, -0.17005576, -0.027237497, -0.034896113, 0.10457906, -0.035401966, 0.101174966, -0.05727851, 0.13829572, -0.12618788, 0.011687037, 0.0028803404, -0.002095759, 0.006880763, -0.11591623) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.15124372, -0.0202947, -0.07680285, -0.09734262, 0.010044373, -0.015822256, -0.253034, 0.08154531, -0.017261066, 0.11458919, -0.067662284, 0.029937135, -0.052168176, -0.065581456, 0.08717657, -0.030866234) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.1300706, -0.13887797, -0.0766475, -0.07821131, 0.041690633, 0.04234833, 0.11015016, 0.053378522, 0.052996542, 0.06750751, 0.12402405, 0.08211918, -0.09521911, -0.037727416, 0.015168657, -0.060231246) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.11782033, -0.051945087, -0.09596021, -0.025618782, 0.023758316, -0.11414418, 0.488304, 0.072520986, 0.016367633, -0.057003368, 0.04256549, 0.012725302, 0.0087373685, 0.061531745, 0.01970312, -0.011890301) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.08834262, 0.038400967, -0.17562167, -0.01965825, 0.04788477, -0.057316363, -0.022016158, 0.0537068, 0.107173815, -0.22044869, -0.020337395, 0.002501145, 0.012108825, 0.04973479, -0.06372553, -0.050760705) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.008078243, -0.18531144, 0.07852272, 0.13154668, -0.0454689, 0.043260574, -0.7291269, 0.16427864, 0.044356998, -0.06903823, -0.11544218, 0.21921986, 0.01667663, 0.100789875, 0.0050756484, -0.084862426) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.031693336, -0.05431168, -0.023739772, 0.113188595, 0.047176104, 0.037936557, -0.14309663, 0.033107154, -0.021537835, -0.18022846, -0.14955017, -0.021592883, 0.042608432, 0.004977977, -0.121474124, 0.008736747) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.035450157, 0.17297141, -0.0432462, 0.04828009, 0.06904412, -0.042664506, -0.48801273, 0.07338872, 0.057418235, 0.115706876, 0.084082976, -0.056380406, 0.05721174, -0.020170929, -0.018231472, -0.019912915) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.01570996, 0.13402873, 0.14335136, 0.16034704, 0.122387804, -0.11458639, -0.67476964, 0.071622394, -0.0055932426, -0.007218675, -0.12868723, 0.07392125, 0.005712185, -0.035340235, 0.07343785, -0.03075334) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.06842837, 0.0014799602, 0.09242908, 0.018144805, 0.11390728, -0.06139364, 0.051422134, -0.12517595, 0.22213769, -0.24756144, -0.14524817, -0.12331956, 0.017291635, -0.05073709, 0.09078665, -0.0018638001) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.1693954, 0.092451856, -0.068647966, 0.031207222, -0.014652092, -0.16089562, 0.08973792, -0.09157502, -0.18550354, 0.16457786, 0.12014937, 0.27663234, 0.06622955, -0.032419216, 0.09001038, -0.060215563) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.09436052, 0.018222474, -0.07056811, -0.09489533, 0.100522496, 0.020838158, 0.07128237, 0.009293915, 0.07398343, -0.090709925, 0.038814157, 0.070531875, -0.11602609, -0.09303687, 0.040626682, -0.039370857) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.0033815622, 0.026455026, 0.13445567, -0.027127545, -0.05571503, 0.23140806, -0.1738328, 0.027930072, -0.017656753, 0.27099556, 0.17390294, -0.0008110577, 0.0080086915, -0.024295608, 0.005313502, -0.007095684) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.009123415, -0.14150245, 0.11645765, 0.08068394, -0.025846453, 0.063673496, 0.17174795, -0.0046284916, 0.03781219, -0.1327192, 0.028737323, 0.05104707, 0.011437801, 0.1740317, 0.034525834, 0.052320953) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.042135403, -0.08864625, 0.028220575, -0.0843621, 0.0061724805, 0.03458925, -0.44155458, -0.013346777, -0.10843706, 0.03951845, 0.16782464, 0.017718796, 0.008080537, 0.036954474, 0.09717939, 0.13488936) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.0327611, 0.09008878, -0.10471193, 0.03847788, 0.11938482, -0.08097387, -0.20089841, 0.064390816, 0.06497311, -0.17245272, 0.0935848, -0.16081041, -0.042574424, -0.00761538, 0.00692099, -0.014547337) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.03176615, -0.1922432, -0.08986754, 0.045440774, -0.04923635, -0.12517464, 0.061887022, -0.059543464, -0.033718884, 0.102514945, -0.06837295, 0.13247837, -0.09565723, -0.058953423, -0.1396155, 0.020317772) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.027684502, 0.10811927, 0.00108738, -0.105242416, -0.04064422, 0.0418755, -0.41457203, -0.052987874, 0.059145253, -0.0862944, 0.12899467, -0.12314277, -0.027189719, -0.016242286, -0.08853324, -0.07417349) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.020300949, 0.1378349, -0.07735279, -0.070956886, 0.027683172, -0.03910675, 0.22344933, -0.04991637, -0.04153582, -0.0077428822, 0.0052021267, 0.0041702613, -0.023509122, 0.112413585, 0.06663535, -0.007655562) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.026391853, 0.13063906, 0.19918168, -0.027567947, -0.15280806, 0.0005399417, 0.044323698, -0.05353186, -0.108331844, 0.0642273, 0.11526692, 0.1763071, 0.08671701, -0.08591536, 0.15455848, -0.06257889) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.035121102, -0.049517103, 0.12550326, 0.05493655, -0.07018697, 0.04505196, -0.075139545, 0.063487306, -0.0034183017, -0.17775097, -0.069629, 0.033472158, 0.00058203127, -0.09124237, 0.008812818, -0.01835733) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.06364609, -0.060786966, 0.06728228, -0.13645837, 7.4434225e-05, 0.040680885, 0.12634079, 0.08272184, 0.051654816, 0.184505, 0.12543541, 0.06802063, 0.09359788, -0.13195473, -0.035926852, 0.10100427) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.034730118, -0.13259622, -0.25746426, -0.06640055, -0.08099572, 0.045332354, -0.02092612, 0.071015134, -0.09260636, -0.18842165, 0.15495226, 0.07177528, 0.058337443, 0.03949755, -0.03160813, -0.06399582) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.29608458, -0.08133991, -0.18249218, -0.15995133, -0.0074370517, -0.06982894, 0.015924254, 0.09221639, 0.03295871, 0.0012430374, 0.07714546, 0.04428004, -0.023817755, 0.013524082, -0.1573092, 0.04716363) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.027431134, -0.13822332, 0.018933218, -0.06384679, 0.066807315, 0.024663057, -0.009654227, -0.0029937471, -0.01806688, 0.055148497, -0.060793687, -0.06507566, -0.09519545, -0.016968334, -0.27206853, -0.072879545) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.0047973716, 0.23479585, 0.2710734, 0.04421939, 0.0695976, -0.13279814, -0.07414404, -0.12323619, -0.02778131, -0.058724355, 0.028642131, -0.0061892434, 0.03429735, 0.16703483, -0.17521217, -0.05143772) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.23435596, 0.05767946, 0.09423902, 0.095939666, 0.016260337, -0.039704084, -0.13278197, -0.05309615, -0.03196163, 0.10293732, -0.15582295, -0.022381393, -0.039811075, -0.0049146917, -0.09745298, 0.063672006) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.021042801, 0.116783865, -0.058065318, -0.008813273, -0.031008596, -0.009723028, 0.051484894, 0.026334632, -0.041873958, 0.06253409, 0.07625625, -0.07441391, 0.006316715, -0.095433354, 0.0138627095, -0.0045948704) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.057156205, 0.036514215, -0.027188191, 8.630857e-05, -0.02359836, -0.009866879, 0.13497095, -0.0814636, -0.05694517, 0.117544375, 0.11597932, -0.028813086, 0.00068886613, -0.14869054, -0.23531663, -0.03901723) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.049799748, -0.009938766, -0.028716963, 0.08784805, 0.044684723, 0.029870348, 0.0033121952, -0.02467974, 0.012198275, -0.00037626573, 0.13357611, 0.047521908, 0.10361371, -0.033129334, -0.036486365, 0.020141436) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.04340855, -0.18654637, -0.071857534, 0.019414844, 0.014858241, 0.053474236, -0.022015559, -0.0033104806, -0.029859243, -0.013297177, 0.062095992, -0.08799694, -0.036811695, -0.13892487, 0.03512006, -0.035490982) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.0178077, 0.013258619, 0.023754146, -0.08777631, -0.123559855, 0.080691315, 0.03365515, 0.0077727456, -0.019071914, -0.123532854, 0.17364188, -0.16524413, -0.05502586, -0.08722581, 0.1189093, -0.079791315) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.070832305, 0.056602158, -0.032178942, 0.014502144, 0.02902185, 0.08341152, -0.07531352, 0.11774292, 0.041873805, 0.035229, -0.044145618, -0.031148184, -0.03532755, -0.02851702, -0.014900279, -0.051433213) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.031234711, 0.01669503, -0.073721796, 0.051360052, 0.03472475, -0.010263244, 0.04534574, -0.043840338, -0.006697858, 0.10550431, 0.042000767, -0.034370556, 0.06552974, 0.13232537, 0.08448493, -0.047447257) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.023305265, -0.08813832, -0.05707718, 0.04819251, -0.010520421, -0.06483293, 0.033472568, 0.047580775, -0.1565443, 0.22539379, -0.107965685, 0.03451597, 0.062833466, 0.077650726, 0.06410451, -0.15403499) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.038148414, -0.1998617, -0.13230838, -0.08391571, -0.016357375, -0.17041, -0.12451344, 0.031758066, 0.06863037, 0.009345845, -0.19005936, 0.08374422, 0.023269571, 0.07401202, -0.45052704, -0.028954258) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.06906135, -0.121656805, -0.096703775, 0.025245335, -0.073695056, 0.08447997, -0.10079928, 0.01572041, 0.006553555, -0.017723486, -0.075667605, -0.0288287, -0.008437011, -0.18121357, -0.08487259, -0.004625675) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.028657798, 0.050350923, 0.07817257, 0.02083274, -0.05504802, 0.09905155, 0.057043377, 0.019634902, -0.116677195, -0.020129712, -0.012650706, 0.034142125, 0.07788996, -0.02256509, -0.00041805863, 0.014918388) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.03828233, 0.06178211, -0.046562687, -0.09398483, -0.035327204, 0.06762725, -0.015460955, -0.021733925, -0.040423937, 0.009866935, -0.15314358, -0.019070916, -0.048563726, -0.050428487, -0.01475836, 0.021238107) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.17084639, -0.03216837, 0.067380905, -0.07225759, 0.058293488, -0.14431457, 0.021505976, -0.027038366, -0.026928796, 0.00217304, 0.04902029, -0.107884765, 0.060176235, -0.11676606, 0.048157606, -0.002454523) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.008564068, 0.07738041, 0.03556781, -0.013533667, 0.073667064, -0.05908527, -0.27559882, -0.10767401, -0.08099931, -0.044537865, 0.106307365, -0.010011945, -0.077408314, 0.02209622, 0.0016589265, -0.041718632) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.029442482, 0.012268094, -0.11027414, 0.007866336, -0.033615977, 0.0040453244, -0.08624242, -0.02455893, -0.0067750216, -0.093974374, 0.04301029, 0.0018668688, -0.027411643, 0.017462313, -0.04138216, -0.0073121977) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.022825908, -0.07490623, -0.047620192, 0.019579092, -0.05006438, 0.023714388, -0.09593809, 0.016069254, -0.06131708, -0.12291849, 0.14684057, -0.04243996, -0.054392878, 0.21841945, 0.10099634, 0.011432986) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.00189062, 0.083734475, 0.088338405, 0.059007727, -0.13090092, 0.040832534, -0.040133324, 0.077142306, -0.11970538, -0.12467267, 0.07499235, -0.0019709743, -0.0114843175, 0.083587684, 0.09818655, 0.07874441) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.0028946407, -0.008939552, -0.037139304, 0.076602064, -0.048469473, -0.10961944, -0.12835595, 0.008010287, 0.0032538376, -0.033537302, 0.015438487, -0.049786907, -0.005741158, 0.025683124, -0.066857494, -0.066738896) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.060647056, -0.13786669, -0.08960521, -0.16577527, 0.14696306, 0.082829595, 0.120474026, 0.056174066, 0.031312454, 0.00037252446, 0.0925302, 0.10683427, -0.089117154, 0.21500608, 0.023205632, -0.027533635) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.12305827, -0.023216942, 0.40843007, -0.036796365, 0.16070177, 0.090896256, -0.028923228, 0.09217565, 0.04584545, -0.007953125, 0.04655022, 0.007821298, -0.07040309, 0.20610932, -0.22402284, 0.086188816) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.12672457, 0.21635312, -0.007658912, -0.06338032, -0.015614248, 0.059981894, -0.036089096, 0.253188, 0.047513656, -0.018895, 0.05315635, -0.045215398, -0.15651777, 0.14414075, -0.0022256677, 0.26796883) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.09581846, 0.12966518, -0.046075616, -0.10618528, -0.084612705, -0.22689326, -0.14084078, -0.0015569233, -0.11834107, -0.0074450276, 0.020628192, -0.05903313, 0.24642222, 0.15175356, -0.65473646, 0.1462456) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.04255483, 0.2422738, 0.013521262, 0.086461596, -0.07591773, -0.2403478, 0.032429025, 0.049108926, 0.097121134, -0.044095583, 0.03627894, -0.03705819, 0.46417817, 0.032130044, -0.0037030703, -0.02033806) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.023460567, 0.08868948, 0.047699016, -0.09021233, 0.016410267, -0.22500864, -0.0052801846, 0.12017604, -0.04147999, 0.08157115, -0.08603833, 0.041315462, -0.07288791, 0.28835016, 0.09133119, -0.033017047) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.046196885, -0.2843749, 0.24743016, 0.08067155, 0.11526439, 0.122329704, -0.05142601, -0.16448979, -0.10209903, -0.011385983, -0.038594186, -0.031843033, -0.09735162, 0.4929669, -0.028064996, -0.111828655) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.06394871, -0.041687082, 0.114683814, 0.01843774, 0.024552055, 0.052396603, 0.1018556, -0.118303895, 0.022760816, -0.0057125385, -0.16846563, -0.03842608, 0.022532526, -0.6222966, 0.14168759, -0.19894227) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.053083412, -0.21444872, 0.0019725626, 0.006817263, -0.10663231, 0.26685303, 0.09000829, 0.12726967, 0.08040452, 0.00239694, -0.21638417, 0.05202804, 0.060966194, 0.11699174, 0.20532265, -0.33910066) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.0067659467, -0.06274069, -0.043823, -0.0016491401, -0.02039174, -0.11671349, 0.119548604, -0.0134675, -0.0022919942, -0.0692119, 0.07936216, -0.010279963, 0.060703624, 0.0835079, -0.102447525, -0.01728927) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.054595187, 0.038653016, -0.0372437, 0.06625272, 0.016852802, -0.09259641, -0.013169063, -0.01674635, -0.043728046, 0.043360934, -0.08662618, 0.047291115, 0.026712408, 0.120873205, -0.25950655, 0.11518089) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.010948247, 0.019712524, 0.16311762, 0.053796805, -0.11105897, 0.04501822, -0.07785052, -0.07632084, 0.014309578, 0.02573699, -0.0329539, 0.0020288685, -0.03550915, -0.03667852, 0.26099935, -0.057078518) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.014883856, 0.1723117, -0.1662286, 0.10677147, -0.052755564, -0.08503574, 0.1084729, -0.014702356, -0.14190675, 0.020650664, -0.055357393, 0.1023268, -0.033492994, -0.039679863, 0.06958044, -0.001251619) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.03139613, 0.058421362, -0.100158155, 0.10987329, 0.13696006, 0.09851761, 0.011595606, -0.104920164, 0.06830703, -0.000880735, -0.11312242, -0.073666975, -0.02293863, -0.06509251, 0.02116773, 0.051084027) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.12932421, 0.021144506, 0.24132755, -0.0038678437, 0.012704769, -0.04911282, 0.077328816, 0.04345564, 0.04921675, -0.011733689, -0.09273999, 0.04864153, -0.036446914, 0.060412392, 0.10110944, 0.0021588057) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.073132284, -0.056209352, 0.11774526, 0.052885562, -0.04536572, 0.092013635, -0.05113821, 0.10789656, 0.0040255934, -0.1477107, -0.06086219, -0.046296872, 0.051665388, -0.07828915, -0.077615984, -0.01698224) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.10686115, -0.0013952448, -0.26336846, -0.011506914, -0.0040087495, 0.07770171, -0.31766212, 0.0813433, 0.0637688, -0.0064722644, 0.05089167, 0.01888754, 0.08170416, -0.105017185, -0.21673621, 0.008697255) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.09727243, -0.030679313, 0.0018239318, 0.1084791, 0.0467288, 0.045753002, -0.028850071, -0.019675976, 0.010843736, 0.081030406, -0.0008179727, 0.063497365, 0.038878802, 0.003440067, -0.38809142, -0.0267265) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.058111727, 0.051079918, 0.013481994, 0.015481259, 0.014770735, -0.063191, 0.08966536, 0.06343161, 0.023537181, 0.002710287, 0.044653926, 0.038899705, -0.11147924, -0.024242477, 0.050940458, 0.059727356) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.014367345, 0.0014869478, 0.097891584, 0.025157472, -0.008440475, 0.03279256, -0.05519584, 0.003762991, 0.105258286, 0.06507283, 0.23076873, 0.060666185, 0.0032257517, -0.00967675, -0.00614575, -0.07814585) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.046487115, -0.00047466694, -0.030015826, 0.052825112, 0.040465046, 0.026129836, -0.023980934, -0.03898887, -0.026454994, -0.075065225, -0.0059987246, -0.03840582, 0.0009763966, 0.051358137, -0.05193923, 0.036122665) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.014428596, 0.060780868, 0.011105292, -0.015106931, -0.006564676, 0.02907815, 0.012398738, 0.0776083, 0.045921016, 0.06828431, -0.07960895, 0.019630233, -0.09608293, -0.12930602, 0.015388368, 0.029871682) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.033425223, 0.05204155, 0.100817196, -0.057977065, 0.011955073, -0.10364568, -0.028932136, 0.036511518, 0.0038376253, 0.052375857, -0.23280184, 0.03899165, 0.124620244, -0.030906051, -0.15981069, -0.011859105) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.08416316, 0.03873556, -0.053507432, 0.081637025, -0.035126343, -0.0046718344, -0.12627733, -0.10779359, -0.015306946, 0.060055126, -0.053386163, -0.01958905, 0.10607404, -0.039135017, -0.056744516, -0.044107907) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.056529015, -0.045700572, -0.018841397, -0.004230751, -0.05324538, 0.015358149, 0.015203164, -0.0033391279, 0.058028363, -0.01416199, 0.17194435, 0.00426538, -0.03344133, 0.00908011, -0.056920476, 0.052656043) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.0092925355, 0.0002989357, -0.180472, -0.034488328, 0.039845984, -0.07233865, -0.15334694, 0.026931679, -0.0382505, -0.072958216, 0.15677318, 0.0762494, -0.037486196, 0.13549002, -0.1518991, 0.0015173068) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0059870235, 0.087831415, 0.06962559, 0.048658643, -0.10469524, 0.13786025, -0.13996576, 0.03869361, 0.03827801, -0.1335386, 0.020064032, -0.0063017393, 0.038187154, 0.0061584706, -0.15772523, -0.044064794) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos2 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(2, 0); + imageStore(out_image, store_pos2, max(result2, V4(0.0))); + V4 result3 = V4(-0.011652052, 0.022062385, -0.001546929, 0.00020062509); + result3 += M4(-0.08330636, 0.049162906, 0.008396231, -0.0076774913, -0.09351204, -0.07772722, 0.0094818715, 0.02542276, 0.03664139, -0.26479062, -0.07053719, -0.03249695, -0.14121793, -0.043294985, 0.07003803, 0.08941718) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.11044743, -0.073958315, 0.13564977, -0.026050512, -0.11226439, 0.08101391, 0.04124508, 0.06568714, 0.023263384, 0.07711352, -0.10179949, -0.06604675, -0.019488912, -0.12501998, 0.026219713, 0.010592317) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.036472596, 0.0090033645, -0.028176447, -0.06921427, 0.042495813, -0.06291604, 0.09473066, -0.18481648, -0.045481768, -0.042123906, 0.06684412, -0.043141592, -0.48408964, -0.13946135, -0.044245936, 0.0151885105) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.07125669, 0.0780961, 0.27557254, -0.11918002, 0.08550482, -0.066431336, 0.037522454, -0.028691629, -0.059012815, -0.13621074, -0.026611488, 0.029657127, 0.029513292, 0.095107004, 0.0028469043, -0.12458502) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.22948313, 0.17340198, 0.18488769, 0.078466594, -0.10531251, -0.2071252, 0.110695325, 0.027070861, -0.11073122, 0.16606508, 0.030653901, 0.13079351, 0.014863717, 0.053982675, -0.023042131, -0.062409468) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.1520212, 0.06347779, -0.35537082, -0.036669385, 0.10637588, -0.17982265, 0.05626281, -0.17016101, 0.01238604, -0.117131226, 0.057543878, -0.03667534, -0.06371315, 0.09929477, -0.07217054, 0.013174418) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.10996774, -0.0033679968, -0.0031981538, 0.08871225, -0.0118426, -0.23688729, 0.046026617, 0.007611081, -0.008071957, -0.27882507, 0.010923047, -0.011725823, 0.033326495, 0.20596988, 0.04888373, 0.1347579) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.024169922, -0.076512985, 0.00057504675, 0.022177026, -0.109111816, -0.34708214, 0.12115656, 0.07083134, 0.10801001, -0.069281176, -0.09671689, 0.015401848, 0.027214518, 0.032161623, -0.010618085, -0.116707616) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.030222045, 0.028324934, -0.11937444, 0.22152331, 0.14065568, -0.03130195, 0.41301054, 0.05900636, -0.01804583, -0.12667306, -0.10402285, 0.10095315, -0.09630131, -0.03189374, -0.08930149, -0.062197305) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.09634118, 0.0570853, -0.10267185, 0.027406638, 0.035797384, 0.11004353, 0.12025238, -0.026480641, -0.40793347, 0.11404435, -0.0033047625, -0.3694174, 0.00036460801, 0.0035789502, 0.01743744, -0.0797779) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.16516463, 0.009316201, 0.018115483, 0.04987651, -0.030466622, -0.14033845, -0.12595646, 0.109484516, 0.48992527, -0.05685021, -0.24464664, 0.03638251, 0.07271939, 0.036355752, 0.026580183, 0.18453635) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.12491497, -0.01703926, -0.004937495, 0.059267916, -0.03736439, -0.0809114, -0.071080685, 0.018006155, -0.07773382, -0.058246627, -0.021915266, -0.34110448, -0.13491006, 0.071395054, -0.08990192, -0.05934976) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.06130466, -0.068749234, -0.08244389, -0.03347531, -0.008824207, 0.08897292, -0.025526218, -0.10255953, -0.24932893, 0.022437334, -0.025842492, -0.084644005, -0.0935894, -0.09659154, -0.06378207, 0.06084524) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.029936112, -0.004573059, -0.054074846, -0.08333223, 0.10769997, 0.13173296, -0.56757087, -0.009202769, -0.11770031, 0.0880048, 0.27976876, 0.2844114, -0.030647727, 0.017353158, 0.079904854, -0.01558535) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.07043644, 0.043099076, 0.13575919, 0.041761108, 0.012894792, 0.12149047, 0.115931, -0.024168203, 0.29955688, 0.07533524, 0.0060966606, 0.10181777, 0.08390215, 0.0411948, 0.0038429946, 0.0892596) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.060933646, 0.08951312, -0.015868338, -0.112811, -0.021716075, 0.102082655, -0.053108267, 0.012841387, 0.07154755, 0.11051479, 0.27700707, -0.09897719, 0.0035411594, -0.1473833, 0.022692515, -0.059862476) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.059023205, 0.07045528, 0.06671744, 0.019316906, 0.07203406, -0.1470815, -0.1888366, -0.030285323, 0.023868715, -0.13033564, 0.022384997, 0.12078735, -0.033538993, -0.02623755, 0.015084656, -0.21218133) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.016217167, -0.135535, 0.059825126, 0.03368268, -0.035295203, -0.1896766, 0.2459194, 0.021643693, -0.03184525, 0.074946575, 0.014342048, -0.09689158, 0.055604465, 0.038521167, 0.065738104, 0.09486489) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.0467992, 0.07507035, -0.31387568, 0.0017789045, -0.06943144, -0.023551079, 0.1202195, 0.051861517, 0.006746107, -0.084154606, -0.13943137, -0.06261484, -0.003634806, 0.032643322, -0.004670953, 0.025849395) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.22467735, -0.10897901, 0.287165, -0.08951138, -0.34167737, -0.081294395, -0.08632213, 0.024225855, -0.1896291, 0.11991027, 0.038341846, -0.043174203, 0.10404109, 0.037286162, 0.012857701, -0.08057198) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.38277555, -0.067399554, 0.09805988, -0.3778351, -0.652566, 0.09076445, 0.018322535, -0.034138165, 0.05401292, 0.075686105, 0.083106466, 0.05198759, -0.12817162, -0.080426, -0.01500607, 0.05127779) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.0539401, -0.14120239, 0.32033452, -0.12151134, 0.13389514, -0.10262602, -0.1294399, 0.02234751, 0.0019548265, -0.083460905, -0.25419915, -0.02717899, 0.07117888, 0.02960478, -0.048321713, -0.05435106) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.0029470022, 0.17161573, 0.14963561, -0.13844451, 0.19944277, 0.18664123, -0.031895384, -0.1521851, -0.02539496, 0.05954258, 0.00716028, 0.044349883, -0.0067527993, -0.078803115, 0.042293865, 0.12174216) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.02879266, -0.15779871, -0.16138062, -0.27796337, -0.19896412, 0.0035436952, 0.10695336, 0.25440073, 0.033224627, 0.021448035, 0.13631922, 0.004792618, -0.064079985, 0.039922588, -0.002313311, -0.07275477) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.034795843, -0.30295643, 0.11718697, 0.00025957753, 0.021149829, 0.1013589, -0.14658146, 0.038830064, 0.056402437, -0.31482187, -0.0069417306, 0.0046984367, -0.007964319, -0.049518526, -0.103734665, 0.11375604) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.14336222, -0.40361738, 0.076255895, 0.0664032, -0.09441012, -0.0153489355, 0.0693471, 0.063041724, 0.005981882, 0.02596235, 0.04040183, 0.09256692, 0.011770913, 0.04358797, -0.18356423, -0.15636829) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.03172028, -0.11724038, -0.32512513, 0.03610552, -0.13753153, -0.0247058, 0.11007234, -0.3066736, 0.009625976, 0.044196256, 0.06281339, -0.059191924, 0.098102614, 0.013401028, -0.055753667, 0.028744685) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.1723049, -0.07040044, 0.056452185, 0.019519886, -0.007948932, 0.23141168, -0.02762798, 0.012102004, 0.2448916, 0.03802371, -0.047116183, -0.034872662, -0.41310167, -0.018370124, -0.31477657, 0.03455253) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.13167496, 0.010988499, -0.011340504, -0.0076854494, 0.17186487, -0.03843782, -0.0853645, 0.06367902, 0.14475204, -0.05390038, -0.10594651, -0.107169375, -0.5768419, 0.063925646, -0.17971571, -0.20200756) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.56925964, -0.027769405, 0.05211042, -0.036807984, -0.2042305, 0.025781007, 0.14044596, -0.20522039, 0.027589638, -0.057910703, -0.003162761, 0.14441961, -0.2768724, 0.07164081, 0.03400485, -0.06213148) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.16602193, 0.012349463, 0.034252286, 0.049536224, 0.07069032, 0.057927124, 0.075170696, -0.044493444, -0.013126579, 0.0557171, -0.035722382, -0.06765479, -0.18425788, -0.16180725, -0.14182726, 0.02177146) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.0204844, -0.08323888, -0.050945025, -0.12144609, -0.1939198, 0.23082834, -0.0057885074, -0.10291823, -0.11061234, -0.0071849725, 0.049740016, 0.11244706, -0.1583826, -0.072612785, -0.0918428, -0.113358185) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.11861806, 0.04549157, -0.047710583, -0.04305479, -0.03936605, -0.06215322, 0.06042824, 0.15859792, 0.059743028, -0.14048731, -0.08342951, -0.109495796, -0.24759775, 0.0390175, -0.04202932, 0.01088754) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.05000272, 0.12829296, 0.054699045, -0.0010108113, 0.02808264, -0.20279196, -0.11197208, 0.198424, -0.04816655, 0.087231696, -0.07284435, 0.11132787, 0.005510299, -0.12606308, -0.12486048, 0.027935965) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.069721766, 0.027720887, -0.032809466, 0.051508076, 0.009564985, -0.14988148, -0.11472035, 0.008004764, -0.008429419, 0.07944074, -0.012340306, -0.16404247, 0.0057158596, -0.08669706, -0.048008643, -0.079706855) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.027881954, -0.034280255, -0.06919617, 0.04957271, -0.0026781317, -0.06833296, 0.057472717, -0.0942837, -0.011173484, -0.040623467, -0.074820615, -0.09725291, -0.09535903, 0.06440736, 0.014952256, -0.05788655) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.090988494, 0.135864, -0.037293557, -0.00669852, 0.11474156, 0.05095543, 0.0009546769, 0.033547606, -0.34649068, 0.16997112, 0.20497166, -0.03151781, 0.12801076, -0.13004877, -0.06752601, -0.06540437) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.072644144, -0.028671, 0.08693593, 0.0214741, 0.1516645, -0.05550459, -0.004890301, -0.1074339, 0.3341523, -0.10148679, -0.16534632, 0.06090466, -0.105967894, -0.0072356607, 0.021972273, -0.1023005) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.4886623, -0.0734097, -0.019953737, -0.09170267, -0.14879447, -0.053270012, 0.16986816, 0.012297041, 0.2774014, 0.08816917, -0.11438952, 0.04281652, -0.26109532, -0.15842235, -0.052390497, 0.04425239) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.05403593, 0.07664394, 0.0035441879, -0.00025371715, 0.16069125, 0.1404209, -0.21648829, -0.05334183, -0.0143241305, 0.18921508, -0.024575213, -0.038048994, -0.2713237, 0.13207144, -0.00044428243, 0.07971978) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.043509074, -0.0093786605, -0.05775749, 0.08396122, 0.10528818, -0.06345159, 0.11478223, 0.15232384, 0.120478354, 0.14627941, 0.0009952316, -0.013299346, 0.06938963, 0.010698561, 0.07483393, -0.0062399586) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.06764553, -0.1233951, -0.023840243, -0.033741347, -0.08368751, -0.09093282, 0.048353117, -0.09387961, -0.1414398, -0.062646344, 0.10185746, -0.10339812, -0.4712729, 0.014148734, 0.09298878, -0.17830105) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.0047729313, -0.0794016, -0.030354537, 0.08674144, -0.05598557, 0.2412231, 0.04060981, 0.008682972, 0.014793397, 0.10090573, 0.21526873, 0.0010166336, -0.023241458, 0.03160017, -0.030968174, -0.042707015) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.054066125, -0.0060979403, 0.062678866, 0.0053949896, 0.24452867, 0.041589152, 0.031095654, 0.07002662, 0.053817064, -0.020950347, 0.05275373, 0.049925685, 0.05820521, 0.12140638, 0.00603149, 0.07743739) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.08679559, -0.090480745, 0.04166125, -0.16482885, 0.073066644, -0.029751176, 0.43331534, 0.17069033, -0.0083841495, 0.024059176, -0.00920533, 0.039571773, 0.040804364, -0.06687341, 0.017265236, 0.12513639) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.7391665, 0.2827394, -0.5394532, -0.008632795, -0.061030187, 0.2029287, 0.06706516, 0.061498288, -0.101262726, 0.040589318, 0.10952882, 0.027766107, 0.23612231, 0.041229203, -0.16286215, 0.024957974) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.12409921, 0.116870254, -0.07005952, 0.01619142, -0.19819717, -0.025387099, 0.122740336, 0.1359832, -0.119658634, -0.120027125, 0.0435, -0.011905054, -0.15860997, -0.035980392, 0.016164202, 0.011981146) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.2202051, 0.020243369, 0.10773024, -0.016802201, 0.22045475, -0.042656735, 0.09619403, -0.021666488, 0.036526326, 0.018207455, -0.023582028, 0.071033366, 0.12903962, -0.5503087, -0.25029528, 0.03655807) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.34356573, -0.42054573, 0.09326763, -0.18265307, 0.1214744, -0.04915886, 0.07463705, -0.103529274, -0.0775286, 0.07665473, -0.08224456, -0.08668903, 0.4928269, -0.17220399, -0.31068486, -0.26251906) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.03184825, -0.008898757, 0.026278501, 0.056645762, 0.054021943, -0.06420886, -0.07775908, 0.026141867, 0.06902462, -0.059885032, 0.023253333, -0.025502818, -0.08446218, 0.055721834, 0.011700037, 0.6573216) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.27687755, -0.03200076, 0.048366074, 0.24966271, 0.23309463, -0.093944825, 0.040354546, 0.036569834, -0.07962413, 0.02223425, 0.00023224163, -0.11816629, 0.1642228, 0.18144776, -0.11416183, -0.11652635) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.0044673057, -0.1910388, 0.017006455, 0.123332135, 0.009453745, -0.08816662, 0.12287432, -0.016641289, 0.047612205, 0.0058223256, 0.017607886, 0.085550226, -0.036656406, -0.48096725, -0.83117497, 0.06763204) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.04656699, 0.0046211146, -0.008614267, 0.018187627, -0.13009639, 0.025140038, -0.13616438, -0.077271774, -0.064900644, 0.049480226, 0.0030205173, 0.040368833, 0.108254634, -0.38116303, 0.26202172, 0.13821222) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.0016573431, -0.05717647, 0.10620185, -0.15327954, -0.09015996, -0.13687421, -0.13446945, -0.01816269, -0.03518803, 0.043194328, -0.06959625, 0.028712219, -0.013961362, 0.058676884, 0.022391181, -0.15274402) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.24144281, -0.14400913, -0.062018573, -0.06647732, -0.2761569, 0.10189228, -0.06810651, 0.098376, -0.10659099, -0.07570074, 0.019777685, 0.007531339, 0.27236366, 0.033979688, -0.033113673, -0.043607168) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.14071223, -0.0051564267, 0.03646982, -0.06466368, 0.20870309, -0.0071925353, 0.07821617, -0.019102607, 0.11883222, 0.036697175, 0.087084375, -0.1030211, -0.29508936, -0.053574834, -0.1275982, 0.0059927697) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.20608684, 0.020648291, 0.057047933, -0.08864953, 0.15636049, -0.10578052, -0.035335757, -0.09837999, -0.06811496, 0.071228616, -0.05985415, 0.109940454, 0.0545609, -0.025351673, -0.04069463, 0.047175128) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.0020735653, -0.29089704, -0.0033984357, 0.063937515, -0.047978356, 0.015881786, -0.009875686, -0.0654542, 0.087348334, 0.01914603, 0.029716035, -0.00512595, 0.013613408, -0.19007736, 0.14355746, 0.009465248) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.08316984, 0.025992809, 0.034225874, -0.00076259923, 0.074796535, -0.041568212, 0.030300073, 0.17745571, 0.015946425, -0.041914605, 0.0010679243, 0.066954814, -0.058067843, -0.008671985, -0.021261372, -0.09916718) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.075042345, 0.015637053, -0.04006511, 0.07571555, -0.14340895, 0.07688097, -0.022702666, -0.10312867, 0.016358972, 0.070819415, -0.015063529, -0.004873108, 0.10336658, -0.10496165, 0.06862018, 0.047109496) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.021951608, -0.23525625, -0.027076358, 0.072561175, -0.038820703, -0.07082861, -0.005169914, -0.049515583, -0.01020729, -0.15829383, 0.12618855, 0.039894268, 0.027133815, -0.25428462, 0.08580189, -0.067688294) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.10861442, 0.043021247, 0.07620817, 0.013570201, -0.0019210486, 0.09309381, 0.14931512, -0.16174383, -0.0059727672, -0.16072449, -0.011591054, -0.023387874, -0.08254176, -0.043620072, -0.0235324, 0.04300052) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.085828885, -0.047209084, -0.10880459, -0.0870634, -0.05622369, -0.057588466, -0.17478503, 0.19157821, -0.020144265, -0.05294794, -0.110088736, -0.1405198, 0.081271596, -0.062294167, -0.03246561, -0.016470082) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.1807892, 0.12269327, -0.032686412, 0.034980506, -0.07747139, 0.014915848, -0.056166377, 0.04459676, 0.09183141, 0.04164659, -0.116649054, 0.031404547, -0.08243292, -0.041228633, -0.022320407, -0.11184662) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.12688437, 0.06261286, -0.051828027, 0.0676579, -0.016404754, -0.046448167, 0.051989775, -0.011964095, -0.082994714, -0.023272978, 0.08587617, 0.04658063, -0.055298757, 0.0056486554, -0.010558743, -0.04508733) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.010341792, 0.041159056, 0.077650405, -0.04643296, -0.12247132, -0.024182014, -0.06788601, -0.054608095, -0.05421754, -0.035198692, 0.014502264, -0.09634834, -0.16039112, -0.070390105, 0.0037416657, -0.062297985) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.042285956, -0.04050862, -0.11637513, 0.054310247, 0.10902279, -0.21600753, -0.052831378, -0.07732206, 0.032911032, -0.062154345, -0.047157697, 0.035121948, -0.058768403, 0.019368898, 0.03910559, 0.10354808) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.12899391, -0.043552097, 0.033675674, -0.15806904, -0.00020917632, 0.04560186, 0.034179527, -0.09029664, 0.010178838, 0.11538606, 0.097935736, 0.0038417382, 0.020915117, -0.039434724, -0.014987019, 0.113300756) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.07399016, -0.0069469702, 0.11629896, 0.13147637, -0.104717515, 0.14911765, -0.051662326, 0.20679307, 0.033848498, -0.009340367, -0.04389881, 0.093633644, -0.06466577, 0.031942412, -0.05409814, -0.16794822) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.031885304, -0.14330411, -0.09025747, 0.01589742, -0.019025436, -0.0701957, 0.08231872, 0.015730564, -0.074974336, -0.19851577, -0.04655555, -0.0540558, -0.028068583, 0.023066452, 0.07706145, 0.031974092) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.13133459, 0.1340606, 0.064349115, 0.119187765, 0.07823739, -0.013258393, 0.11756852, -0.02244607, -0.018553818, -0.010439721, 0.08452864, 0.0030316496, 0.093463704, 0.00894494, -0.07296927, -0.09368486) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.056231953, 0.08907265, 0.013330655, -0.047468364, 0.007810955, 0.046405457, -0.044531606, -0.037312873, 0.13709784, -0.045995966, -0.005603822, 0.008829829, -0.06720611, 0.060846344, -0.059751607, 0.18905227) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos3 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(3, 0); + imageStore(out_image, store_pos3, max(result3, V4(0.0))); + V4 result4 = V4(0.01857259, 0.020888787, 0.007238534, -0.00403704); + result4 += M4(0.10967289, -0.013293821, -0.14953062, 0.007050341, -0.07907498, -0.01906839, -0.03607447, 0.06456735, -0.012081385, 0.050091762, -0.005414264, 0.0069189034, -0.016207904, -0.014012386, 0.0627765, -0.028777385) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.07918457, 0.013209431, -0.04499024, -0.11687809, 0.01268219, 0.0074925385, 0.12746306, -0.049772598, 0.04713802, 0.104619786, -0.019431584, 0.046959113, -0.030143918, 0.009717761, -0.007827202, -0.043561347) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.16257705, 0.03467366, 0.08518225, -0.046024397, -0.03135386, -0.034851365, -0.020914344, 0.028596807, -0.12224856, -9.988478e-05, -0.009115976, -0.062032085, 0.11767511, 0.10622022, 0.013164589, -0.029558318) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.018060263, -0.02867387, 0.029803667, -0.08594958, 0.015107323, -0.073091805, 0.036897548, -0.013076949, -0.0120678665, -0.08624659, -0.021395558, -0.03611275, 0.0057391925, -0.08998793, -0.041092075, -0.028520864) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.07196759, 0.027180946, 0.055509083, 0.1888752, -0.00842885, -0.045146238, 0.001887397, -0.021091156, 0.0007294446, -0.09178041, 0.055937298, 0.007393392, -0.09361864, 0.009492764, -0.0021452361, -0.0344149) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.17174779, -0.1188803, 0.05648137, 0.21428655, 0.18758354, -0.09332587, 0.05619607, 0.06374383, 0.06633351, 0.013780069, 0.04560336, -0.04951734, -0.11180627, 0.021182401, -0.07579525, 0.04604379) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.12862727, 0.17750795, -0.09120518, -0.13478005, 0.047357757, 0.10503705, -0.070507035, -0.004920827, -0.065118216, 0.018146256, 0.028936053, 0.120275095, 0.015813692, -0.10555226, 0.011669277, 0.009304321) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.054230675, 0.07131498, -0.04538429, -0.02730018, 0.03749153, -0.03486007, -0.007372331, 0.121224925, -0.009547714, 0.057651766, -0.068087325, 0.014474149, 0.07146902, 0.07629445, -0.05295835, 0.09128088) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.10265219, 0.038865693, 0.0007280558, 0.034281064, 0.19002894, -0.15108632, -0.1617103, -0.035664424, -0.06964315, 0.1247818, -0.037078608, 0.05408554, 0.08111989, -0.022131514, -0.09336266, 0.07612998) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.034781873, 0.008768646, -0.020172289, -0.016108485, 0.17865731, -0.058091443, 0.10142226, 0.015737405, -0.25811228, 0.10340568, 0.1762534, 0.0702288, 0.1146735, -0.048717238, -0.033869933, -0.073756225) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.0896519, 0.040145867, -0.037814766, 0.05316818, 0.053987477, -0.13904224, -0.0678985, -0.062443666, 0.19061452, 0.11765743, -0.019090055, 0.065148525, 0.061330922, 0.054668043, -0.001344092, -0.004846902) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.01585879, -0.038350105, -0.0022357495, 0.04849701, -0.027535874, 0.052150987, 0.060644407, 0.010999622, -0.0432819, 0.16372447, 0.08533679, -0.1412715, 0.023804422, -0.042077426, 0.07172983, 0.07251932) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.06865901, -0.043294184, 0.13124649, -0.01998965, 0.075910226, -0.15211248, 0.005416819, -0.061996937, -0.15881419, -0.0033964473, -0.04293052, -0.27600986, 0.025783977, 0.010925737, -0.07398209, 0.04738424) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.11051977, 0.026122313, 0.028679958, -5.3052758e-05, -0.16662455, 0.16775064, -0.036147498, -0.02761276, -0.30059212, 0.041976053, 0.33618078, 0.052713133, -0.044952087, 0.062899925, 0.028357506, 0.087590404) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.049435418, -0.055601373, -0.05483589, 0.012929352, -0.14574559, -0.010891065, -0.087778434, 0.003872387, -0.1705317, -0.029696887, 0.12805921, 0.1134294, 0.020899188, -0.08293696, 0.06235339, 0.016491871) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.06681283, 0.06297766, 0.041880272, 0.045250855, -0.05479287, 0.026897931, -0.0027426328, 0.004391306, -0.016174123, 0.06820367, -0.03513827, -0.0025769854, -0.07214782, -0.022227753, -0.06108957, 0.007224175) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0058817337, -0.019163292, -0.029854972, -0.047936916, -0.018569475, 0.17907861, 0.00153486, -0.023768753, -0.09154197, 0.07704797, 0.0082255425, 0.014598756, -0.030119138, 0.07094062, 0.012222555, -0.05931726) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.09984412, -0.07356945, -0.08113471, 0.018231397, 0.043577038, -0.0735985, 0.04540236, -0.05205051, 0.10076603, 0.016761003, 0.11810357, -0.014211836, -0.08304744, -0.026871096, 0.015814789, 0.015877115) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.098559484, 0.14670555, -0.053650424, 0.37768367, -0.032427125, -0.123920254, 0.01742982, 0.025579356, 0.006046203, 0.009799896, 0.005363464, 0.020183664, -0.027991481, -0.053980175, -0.06521101, 0.018351655) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.07977202, -0.09445745, -0.017913347, 0.10178565, 0.030844454, -0.09312721, 0.09609783, -0.060033876, 0.026633723, 0.1307258, 0.076929964, 0.0018970632, 0.05722249, -0.14772636, -0.17554845, -0.03327956) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.022553483, -0.009134754, -0.03369612, -0.043095842, -0.10134476, 0.037938762, 0.124365725, -0.116667315, 0.056688815, -0.0890345, 0.12057316, -0.052658644, 0.008672906, 0.030163862, -0.11128414, -0.044175986) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.18910822, -0.17729102, -0.18767454, 0.10087806, 0.00325382, 0.10777388, 0.035040066, 0.046848107, -0.1046287, -0.10865923, -0.102109656, 0.044469055, -0.011397, 0.017436434, 0.018583497, -0.026365766) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.03286891, 0.07985469, -0.043117926, 0.037655886, -0.17278744, 0.15383828, -0.080331564, 0.06276011, -0.03204496, 0.051486716, 0.055926368, -0.049044017, 0.08868475, -0.023991957, 0.06823326, -0.14062157) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.0059354473, -0.090656646, -0.027698673, 0.02313914, 0.019000547, 0.021021465, -0.06376444, 0.019146847, 0.044650204, -0.08702587, 0.06479418, -0.041983593, -0.10566302, 0.07219649, 0.067135766, -0.038041215) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.054858178, -0.12565796, -0.06652672, 0.0046777185, -0.0564918, -0.01724832, -0.0346407, 0.09900646, 0.022778621, 0.11191918, -0.10252596, -0.0033474888, -0.06889147, 0.19719581, 0.08740053, -0.06327915) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.062599264, 0.04801815, 0.018566884, -0.03270711, 0.15284248, -0.09396901, -0.07398883, 0.0097584175, -0.060111973, 0.062136948, -0.025920797, 0.010134888, -0.046181004, 0.15617587, -0.018010393, -0.036242064) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.1242844, 0.21191922, 0.036963593, 0.12200254, 0.063753694, 0.03233781, 0.0053352015, -0.11061274, -0.04201351, 0.0015074124, 0.0060441047, -0.010141946, -0.009555532, -0.010544267, -0.04314097, 0.028344546) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.08088072, 0.0059827114, 0.21148568, -0.13334909, 0.019948993, -0.01906085, 0.06438295, 0.029699985, -0.13814679, -0.052204035, 0.17554669, 0.022233654, -0.08348387, 0.122280255, 0.084545024, -0.026955962) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.004924417, -0.10987649, 0.075152844, 0.070244566, 0.054765098, -0.16274123, 0.08626406, -0.014773861, -0.07184794, 0.16716999, -0.25992894, -0.023315063, 0.014667282, -0.058417723, 0.14199135, -0.021057734) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.05957402, -0.023738245, 0.13210142, 0.09085989, -0.05539771, 0.075117595, 0.05002829, 0.081334196, 0.114480704, 0.054078307, -0.15846047, -0.013698696, -0.0074021914, -0.011857826, -0.035579666, 0.06767839) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.045069054, 0.01719902, -0.06661749, -0.015605888, -0.10064918, -0.007915361, -0.024505952, -0.025148537, 0.039265264, -0.001784636, -0.0021948372, 0.041779723, -0.12468699, -0.03842205, 0.08182073, -0.11126409) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.06310543, -0.054441974, -0.048329514, 0.06260527, -0.0693293, -0.09211749, 0.007818526, -0.08082515, 0.13494363, -0.09900091, -0.053903356, 0.062414005, 0.037604477, -0.059827805, 0.3556317, -0.06562772) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.05829909, -0.050673295, -0.056385327, 0.004621441, 0.016593354, 0.016039899, 0.052652564, 0.08343319, 0.05751422, 0.052646082, -0.05496396, -0.025797253, 0.0924839, 0.041013926, 0.09229606, 0.062440813) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.020773614, -0.1078972, -0.093438625, -0.006121549, 0.027955165, 0.108248465, -0.07321735, 0.061445262, 0.09590813, 0.16763993, -0.09198082, 0.08817931, -0.08210198, 0.055414136, -0.16297404, -0.13803203) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.031825576, 0.04908549, -0.09039055, 0.048296127, -0.023166232, 0.05662354, 0.02121508, -0.089728914, 0.031147739, 0.23726235, 0.0033778634, -0.08600718, -0.09182115, 0.037283327, 0.07486584, -0.082122035) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.014665775, 0.029003534, -0.011186521, -0.06027118, 0.041377656, 0.058076065, -0.06571409, -0.042715598, -0.05174396, 0.28977394, -0.055684026, -0.023867637, -0.049236044, 0.07488795, -0.19048877, 0.059757646) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.08148838, 0.03489174, -0.18769434, 0.03127589, 0.073262244, 0.029319407, 0.30351332, -0.109721325, 0.19410379, -0.04780345, 0.06073894, -0.14044657, 0.0119226035, 0.016777916, -0.055305194, -0.058671046) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.023804324, 0.16828187, -0.12717621, -0.043349173, -0.08130066, -0.014888782, 0.19605576, 0.12806931, 0.029461788, -0.0850722, -0.22066222, -0.086207986, 0.09668434, 0.14662412, 0.038236935, -0.027301364) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.052222084, 0.0014978964, -0.08176945, -0.05130913, -0.047698658, 0.20141694, 0.1932175, -0.11715432, -0.12131196, -0.14304024, -0.011259099, -0.04790511, -0.072519824, 0.15122196, 0.0297478, -0.040584862) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.032584663, -0.022773951, 0.17060414, 0.055011548, 0.032739453, -0.061072167, -0.18261917, 0.08388062, -0.043350495, -0.00750836, 0.024371093, -0.030445172, -0.011480477, -0.09744492, 0.07955392, -0.064587794) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.011636613, -0.08287539, 0.0783088, -0.022689316, -0.07641636, -0.15817478, -0.1271724, 0.112740085, 0.0045166034, -0.12647337, -0.115381405, -0.11007196, 0.00938381, -0.08226849, -0.10325836, 0.046306614) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.024087476, 0.003225992, 0.031204412, -0.031232027, -0.07936151, 0.007570615, 0.03150448, 0.024551554, 0.0556452, -0.35328162, -0.049990732, -0.10110353, -0.087240234, -0.050849184, -0.09629491, 0.046937585) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.024741538, 0.06061063, 0.046193436, 0.01720697, -0.07238745, 0.23646607, -0.11201221, -0.117345795, 0.054472003, -0.12911755, 0.13056277, -0.17377071, -0.04660596, 0.09696492, -0.018524779, 0.046871386) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.083669186, -0.053513065, 0.08024297, 0.046209037, -0.01033379, 0.07104392, -0.066179164, 0.048617925, 0.09320756, -0.0057532275, 0.044687916, -0.022881856, 0.07643959, -0.036727227, 0.040449727, 0.027972786) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.011457813, -0.12169325, -0.010937543, -0.007945057, 0.060219817, -0.061780907, -0.080071345, 0.008881678, -0.07780946, 0.11040561, -0.015533364, 0.03476733, -0.04279532, -0.08905175, 0.05362479, 0.048324477) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.07379912, -0.08974454, -0.31221688, 0.31423903, -0.0020414002, -0.10421233, 0.2727074, -0.46847436, 0.0765586, 0.054675113, 0.07743009, 0.10468551, 0.17016593, 0.21636865, -0.013252979, 0.43400237) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.13186799, -0.05960515, -0.14344595, 0.104881294, -0.049666237, 0.10468047, -0.087970376, 0.07475206, -0.13590285, 0.020308552, 0.0021445232, 0.034008462, 0.11126391, -0.0016126926, 0.46066344, 0.31372267) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.013713915, -0.13504335, -0.07655789, -0.15935956, 0.18705988, -0.034855384, -0.08338708, 0.091781944, 0.043279365, 0.013114455, 0.046055607, -0.054581027, -0.07750604, -0.3401825, 0.0740436, -0.10619498) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.11884086, 0.22747955, 0.045354016, 0.19584218, 0.23029639, 0.1586264, 0.07773575, -0.27856395, -0.0223825, -0.10113906, -0.049126834, -0.015580851, 0.24910434, -0.39251474, -0.074891545, -0.014674201) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.14931205, 0.12530185, -0.00700508, -0.032516018, -0.15689875, 0.04939057, -0.1327473, -0.07332778, 0.037156075, -0.014016345, 0.017006353, 0.04560819, 0.269051, 0.008449732, 0.19899794, -0.07768204) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.11663734, -0.13124512, -0.008104163, -0.3061945, 0.15005948, 0.048333887, -0.2372172, -0.16608796, 0.008596328, 0.014568234, 0.015526763, -0.045243397, -0.38461944, 0.5708276, -0.0108670285, -0.11463723) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.06276771, 0.023090865, 0.17844161, -0.022977576, 0.12217172, -0.0023340357, 0.20656134, 0.05886508, -0.05020614, -0.013372999, -0.11507288, -0.0064873756, 0.2388367, 0.1816009, 0.48670453, 0.54038036) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.055491593, 0.07216549, -0.050165057, -0.057778, 0.038662907, 0.047224518, 0.11620347, 0.2541949, 0.06943954, 0.050353047, -0.030529926, -0.041601907, 0.44253665, -0.012129478, 0.4095507, -0.4543625) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.043787654, 0.13750023, 0.074168675, -0.12511553, 0.21608989, -0.071201265, -0.055323113, -0.05007086, 0.024435852, 0.017426398, 0.045813374, -0.076589994, -0.09135835, -0.1115496, 0.34639132, 0.36721388) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.07903278, -0.120777145, 0.055270813, -0.058830548, 0.053322926, -0.049677372, 0.04236781, -0.024325967, 0.044554867, 0.013636287, -0.18880354, -0.015345383, -0.047079057, -0.051606584, 0.02596575, 0.00020469449) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.019326562, 0.044735815, 0.040966444, 0.08733458, 0.023817016, -0.17114091, 0.025438825, 0.106942736, -0.022533976, 0.05563792, -0.17772534, 0.0425728, 0.028187037, -0.03152132, -0.043655623, 0.02664131) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.008790251, -0.03131413, 0.16859248, 0.03880981, -0.041067228, 0.01412589, -0.054849636, -0.017050464, -0.014785012, 0.035363108, -0.029243266, -0.034276173, -0.003935834, 0.051821306, -0.19852048, 0.023901531) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.04378375, -0.09414415, -0.08714498, 0.013981138, -0.07939476, 0.09188874, -0.06869893, -0.04341569, -0.09461346, 0.16208062, 0.011330236, 0.023708148, 0.11809939, -0.060284566, -0.0065738554, -0.029795077) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.0077576824, -0.07456527, -0.106406264, 0.085264765, 0.18380718, -0.016068762, 0.029291052, 0.046777874, -0.055501774, -0.121245064, -0.044295393, 0.046549376, 0.019864453, -0.011270729, 0.07053211, 0.096204765) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.092552476, -0.2683427, 0.03392313, 0.10920852, -0.07048239, 0.15458229, -0.079066396, 0.102609634, 0.010556015, -0.024930615, -0.06838372, -0.0286873, 0.079655245, -0.073063485, -0.037423264, -0.10934318) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.045746025, -0.10774832, -0.121795535, 0.06507651, -0.05160872, -0.011019425, -0.008473849, -0.10631199, -0.058666613, 0.057450373, 0.020254774, -0.07405828, 0.041318152, -0.072057575, -0.04559828, 0.049601324) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.046588834, -0.37314194, -0.14343248, 0.09961091, -0.038530704, -0.009202089, 0.059594072, -0.019697472, 0.05199055, 0.04673683, 0.07766044, 0.10076961, -0.065983064, -0.03542237, 0.067469165, 0.046354767) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.028424596, -0.11306427, -0.039330702, 0.047458425, 0.029179644, -0.029850198, 0.03271165, -0.05307752, -0.013545757, 0.07222693, 0.07391397, -0.006753348, 0.03540693, -0.052112743, 0.058363248, -0.05059325) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.020158192, -0.1382549, -0.03805195, 0.07839086, 0.024502633, -0.08325899, 0.10442678, 0.106010094, 0.092813194, -0.030464465, -0.10319511, 0.01272336, 0.09420401, 0.021368386, -0.055554118, -0.016121214) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.03287945, -0.017870774, -0.0819087, 0.00097607984, 0.003780958, 0.04140619, -0.014074337, -0.017316507, 0.049977336, -0.09422557, 0.010630434, 0.06590678, -0.056841977, -0.013153161, -0.08757371, 0.038220484) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.02138877, -0.07560103, -0.015501253, 0.12655002, -0.011854948, 0.042692427, -0.13602078, -0.029090812, 0.026129406, 0.013012344, -0.025182707, 0.080126226, -0.04990616, 0.0853841, -0.04389179, -0.017734492) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.0365429, 0.06441157, -0.020278446, -0.0076265363, 0.0072516683, 0.03997104, -0.06139289, -0.042760577, 0.032075357, 0.012124861, 0.024963958, 0.05551307, 0.0078075137, 0.010221212, 0.06174257, -0.08354646) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.0084719015, 0.07308454, -0.040790636, 0.07345684, 0.00492248, -0.013039461, -0.0047874674, -0.035205323, -0.024858091, -0.08256945, 0.06608196, -0.037582237, 0.10006943, -0.14145644, 0.033362545, 0.0767524) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.0165489, -0.04997377, 0.059976976, 0.017004969, -0.07300802, -0.06577859, -0.048123863, 0.09686428, -0.099549904, -0.09598758, -0.035849836, 0.0051228055, -0.05938937, 0.10001028, -0.09651446, 0.113233864) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.039901406, -0.07206994, 0.06891404, -0.044568736, -0.04136785, 0.0009571173, 0.09903945, 0.020985054, 0.089511774, -0.12881942, -0.0072235633, 0.03772051, -0.055335283, 0.006012859, -0.04232295, -0.0024678125) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.04359205, -0.056857064, 0.1396613, -0.0025182038, 0.025736034, -0.05887709, 0.0063486816, -0.003208133, 0.08862747, -0.114592366, 0.037339997, -0.041908044, -0.062324062, -0.09517351, 0.09982301, -0.04886982) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.10634239, -0.12392349, 0.12503938, 0.023933146, 0.07300103, 0.12592071, 0.010313503, 0.00061433343, 0.08321294, -0.20702001, -0.16440046, -0.016937824, 0.057380952, 0.020351058, 0.09752324, -0.042238925) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos4 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(4, 0); + imageStore(out_image, store_pos4, max(result4, V4(0.0))); + V4 result5 = V4(-0.01353681, 0.0059173047, 0.009455066, -0.06561346); + result5 += M4(-0.23735307, -0.0652622, 0.016052736, 0.12966576, -0.018279819, 0.06395662, -0.0604202, -0.050795015, 0.11654865, 0.097204946, -0.013710466, 0.03327355, -0.050578125, 0.03935842, -0.06126209, -0.041436307) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.19733028, 0.030490952, -0.019426456, 0.13732824, 0.06571396, 0.06827393, -0.15381348, -0.05330653, -0.0076578627, 0.040544786, 0.06082586, -0.09375613, 0.00090473925, 0.095929, -0.06796813, -0.11225004) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.28367582, 0.08566306, -0.040297363, 0.1480605, 0.05022474, -0.02833898, 0.16204791, -0.23837155, 0.016739085, -5.4234653e-05, 0.02498039, -0.23225506, -0.08314183, 0.0018945858, -0.09970236, -0.028313383) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.05593027, 0.042922154, -0.16540058, 0.080197774, 0.04063859, -0.068269424, -0.0026102595, 0.062498532, -0.1118361, 0.09477544, 0.007534625, 0.018183436, -0.044208076, 0.044527844, 0.05902022, 0.04283692) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.007982958, -0.112160236, 0.18007588, 0.11975772, 0.053692438, -0.034405008, -0.09851102, -0.11239068, 0.038845103, -0.035252478, -0.12314611, 0.049339056, 0.13042308, 0.026388649, 0.019821638, -0.01308899) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.10335505, 0.07277708, -0.028688285, 0.0034167138, 0.02061956, 0.071611196, 0.11519382, -0.6914963, 0.028662808, -0.005573126, 0.096354455, -0.08053773, -0.040671088, 0.07534644, 0.112193026, -0.036820002) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.025606956, -0.03623982, 0.15006569, 0.053134896, 0.10214222, -0.023711871, 0.008881994, 0.04114201, -0.03642404, -0.024428278, -0.048740946, 0.014965302, 0.05128559, 0.030646164, 0.005904384, 0.10235021) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.015401585, 0.07148117, 0.15802893, 0.009821948, 0.12087749, 0.034545045, -0.13646767, -0.023442902, 0.06223444, 0.030259283, 0.03725835, -0.07791329, 0.07340227, -0.06457359, -0.02677432, 0.07124813) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.015005511, 0.049881183, 0.1223008, 0.035444237, 0.016948603, -0.051284414, 0.124149136, -0.058760084, -0.16631436, 0.017339993, 0.080793016, -0.015165146, 0.01586677, -0.024232183, -0.062361997, -0.041806288) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.09108784, 0.07793329, 0.00074809656, -0.053806685, -0.057026234, -0.14185692, 0.01571714, 0.15026052, 0.10145905, -0.086524464, -0.073561646, 0.015963838, -0.09909224, -0.02571335, -0.040460076, -0.023384703) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.10294317, 0.030461898, 0.0020525963, 0.06420687, 0.06606386, -0.049814638, -0.11059498, -0.03079706, -0.14158267, -0.27957013, 0.20420672, 0.07946835, 0.08130071, -0.04831967, -0.13085793, -0.0052076713) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.037628055, 0.09346202, 0.001886137, -0.08829984, -0.053793382, 0.052393187, -0.12082882, -0.085459635, 0.4146695, -0.04661081, 0.06872527, -0.088119276, -0.002712217, 0.022286415, 0.036476664, 0.07871722) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.028565487, -0.018032305, 0.019993234, -0.017699014, -0.00027475884, -0.044234812, 0.05036078, -0.04983042, -0.24588455, 0.08054836, -0.15385877, 0.052588314, 0.0024693487, -0.029249119, -0.07992449, -0.04686426) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.05915254, -0.02499786, 0.050892368, 0.081852555, -0.012582628, 0.06018068, 0.07759678, -0.08230762, 0.097699456, 0.009405475, -0.17219996, -0.00045306873, 0.06552581, 0.07830941, 0.011547842, -0.01844987) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.0055807116, -0.044964787, -0.04201196, -0.0055737873, -0.016677774, -0.00951261, 0.05647445, -0.0001946351, -0.19178915, 0.11183416, -0.21702045, 0.13368106, 0.008175524, -0.047931395, -0.051164944, 0.028708104) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.106025785, 0.04827277, -0.06824549, 0.04530747, 0.010040959, 0.047816437, -0.035710335, -0.03449957, 0.062883414, 0.10324068, -0.0475433, -0.12640645, -0.094069816, 0.0112876445, 0.026417105, -0.0488702) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.04718561, -0.10326767, -0.019695543, 0.055308502, -0.02539689, -0.010178188, 0.009915679, 0.013178478, 0.20357002, -0.10094949, -0.25285476, 0.08852787, -0.013270086, 0.036792163, 0.09874398, 0.07818088) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.03467638, -0.054264013, 0.034818497, -0.04390087, -0.062451307, 0.114496276, 0.0112654865, -0.021314662, -0.13981849, 0.1256962, 0.08423735, 0.17459682, -0.16004293, -0.0051985546, 0.08094039, -0.069427766) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.14300738, 0.07089623, -0.12690848, 0.0815967, -0.09272153, -0.0007083397, -0.000825486, 0.0004077729, 0.0007645436, -0.09581712, -0.1451279, -0.06296552, -0.10823187, 0.14934221, -0.018843533, 0.06747873) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.060922112, 0.15397286, -0.056360167, 0.04400242, 0.05426037, 0.08352793, -0.002508474, -0.03445279, -0.035842888, -0.028816298, 0.08459189, 0.020494947, -0.056567688, -0.2345421, 0.08054554, -0.04447615) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.011738017, -0.005126863, -0.0163909, 0.44857222, 0.08647339, -0.02518792, 0.06145625, 0.007731622, -0.122636706, -0.054621212, 0.021104217, 0.008578667, 0.08506497, -0.023247855, -0.021295883, 0.10858076) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.040498383, 0.0138248755, -0.12927243, 0.00536549, -0.03419615, 0.08454201, -0.11034346, 0.017174833, -0.070048355, 0.10393343, -0.047001142, -0.018824799, -0.060813375, -0.09088826, -0.06202124, -0.041994203) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.032586068, 0.028390232, -0.0878151, -0.118801825, 0.04755131, 0.021344662, 0.053511187, -0.010708393, -0.033964407, -0.06710113, 0.16789915, 0.012736925, 0.13235673, -0.01874683, 0.14939252, 0.008864691) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.048998572, -0.083739065, 0.120087825, 0.10513611, -0.102526695, -0.03485622, -0.037975695, 0.07344169, -0.028166356, -0.015494939, 0.07352754, 0.035402484, 0.13390346, -0.04773846, -0.027217463, -0.036711253) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.032593008, -0.11457967, -0.0676911, -0.15977077, 0.049267158, -0.015022297, 0.024103327, -0.036288034, -0.049446493, 0.08390857, -0.21763225, -0.003581375, 0.0024045808, -0.01400532, 0.117285386, -0.11610388) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.0012309003, -0.12735178, 0.08773004, -0.030052284, -0.0004673605, -0.033730023, -0.06721574, 0.031059874, -0.012644349, 0.04194687, 0.12806068, 0.085339405, 0.06877, 0.014165804, 0.018051468, -0.072827354) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.25995806, 0.07440623, -0.06633635, 0.0069265156, 0.055084493, -0.10239992, 0.018360764, 0.019308615, 0.04230354, 0.0015911133, -0.064445704, 0.03483173, -0.0371255, 0.05514569, -0.06090195, -0.0057822205) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.06105467, -0.013976459, -0.04810161, 0.07870925, -0.07351109, -0.17185329, 0.056165166, -0.005805865, -0.028361563, -0.15435544, 0.063116066, 0.018066801, 0.017585274, 0.04580864, -0.00286124, 0.1419176) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.072450824, -0.03322898, 0.040231943, -0.036842365, 0.044594724, -0.025336117, -0.021715691, 0.026637359, -0.044576183, -0.03210198, -0.08222462, 0.0022228179, 0.002240779, 0.046739858, -0.08996766, 0.28939328) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.055691734, 0.052730665, 0.09980155, -0.029798578, 0.07248881, -0.14179769, -0.0002029484, 0.05736459, -0.08243939, -0.0058614677, 0.0090626655, -0.018530453, -0.033448324, 0.07280501, 0.012835352, -0.020146951) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.11536833, 0.049265023, 0.07230971, 0.09327738, 0.014039213, -0.06369424, -0.03833462, -0.0231456, -0.010358377, -0.024001176, 0.027237637, -0.2702502, -0.06868693, -0.0011844612, 0.01270004, 0.11945122) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.0058807894, 0.08531298, -0.07140863, 0.061922945, 0.0349968, 0.1025458, 0.09617451, -0.06208352, 0.04232867, -0.07017044, 0.018171398, 0.022925323, 0.029584806, -0.030618846, -0.03793145, -0.10085252) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.10579153, -0.042237252, 0.011305523, -0.01621337, -0.051863156, 0.050971806, -0.05480254, 0.06322881, 0.1269123, 0.109943, 0.023331918, 0.12507108, -0.034883976, -0.04537587, -0.05640265, -0.04852635) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.114722796, -0.036705308, -0.058774427, -0.041493617, 0.05959832, 0.0688787, -0.098242454, -0.062100396, 0.050134365, 0.078825034, -0.07603158, -0.084399596, -0.029078254, 0.015490392, -0.17236646, 0.24088848) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.051852956, -0.039989457, 0.030041715, -0.08010738, 0.030876698, 0.16010472, 0.066263564, 0.034014296, 0.009096297, -0.00016639242, -0.03203736, 0.16088776, -0.020249188, -0.031127525, -0.05564619, 0.074225314) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.021550914, -0.023549795, -0.06189534, -0.09476848, -0.051550746, 0.012194424, 0.013548567, -0.003643752, 0.09098134, 0.040990915, 0.03840504, 0.118517764, 0.045686167, 0.06437383, -0.05376765, 0.0666491) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.099015184, 0.03500007, 0.0933932, -0.013763404, 0.10611047, -0.030151375, 0.008687981, -0.17390022, -0.010357151, 0.0037973584, 0.04451201, -0.47383535, -0.043883953, 0.095434226, 0.008985713, 0.017199218) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.05140939, 0.06187163, -0.02096817, -0.041651875, -0.075807154, 0.017882248, 0.039651226, -0.07143041, 0.0713116, 0.073344246, 0.045282528, -0.10114683, -0.054192714, 0.04893598, -0.053567693, 0.008312285) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.010290655, 0.037567105, -0.054062527, 0.13549717, 0.003984349, -0.04704232, 0.00090713403, 0.015518633, -0.044600166, -0.011049431, 0.17379348, -0.035964366, -0.024794038, 0.07750628, -0.036825225, 0.037809074) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.027097574, 0.08171161, 0.09628703, 0.3343901, -0.06469457, -0.15294991, 0.027598793, -0.17149867, -0.04943282, -0.07620475, -0.18062398, -0.106246755, -0.035804868, -0.064186916, 0.11199222, -0.03614291) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.019513838, -0.01113246, 0.115151614, -0.056833085, 0.048250884, 0.025248583, 0.02220513, 0.05796664, -0.16717197, 0.023371646, -0.038020324, -0.0132686505, 0.106527984, -0.056256987, 0.014048423, -0.013953765) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.07367401, 0.019808441, -0.04657124, 0.02376679, -0.041022226, -0.046520595, 0.061511345, 0.18319462, 0.006923705, 0.05392838, -0.09386923, 0.080193, 0.04482432, -0.045932736, 0.011430329, 0.03979142) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.10598416, -0.085635945, -0.031024998, -0.12770595, -0.2568619, -0.17363603, -0.2638495, -0.06996971, -0.02311967, -0.00655481, 0.011683348, 0.049524937, 0.0018321014, 0.021074655, 0.03017087, -0.06556681) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.05211377, -0.004601518, -0.09612739, -0.15220925, -0.10374338, 0.072172545, 0.037019208, -0.043692537, -0.0043634814, 0.023708578, 0.13495283, 0.022016125, -0.043506313, 0.011071505, 0.038609546, 0.028885955) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.023423275, -0.014850502, 0.01662597, 0.041795727, -0.12176833, 0.0736197, 0.053319495, 0.08301435, 0.06849843, 0.1705687, 0.033053905, 0.048472013, -0.05574832, -0.02626521, -0.08309131, -0.052587796) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.77233785, 0.006393876, 0.36735722, -0.07890108, 0.13657752, 0.01477426, -0.06295646, 0.015871115, 0.064781286, -0.060841728, -0.01085609, -0.012541993, 0.19306976, 0.2529333, -0.1357119, 0.053578988) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.14096919, 0.101748, -0.06550409, -0.0792966, 0.037381917, 0.0523011, -0.14150633, -0.12622538, -0.07014487, -0.010596306, 0.06042152, 0.10822163, 0.06749768, -0.20000535, 0.17510734, -0.70991063) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.09036168, 0.054815844, 0.09136112, -0.13275306, 0.06964799, 0.12677146, -0.13850625, -0.14608008, -0.064552754, 0.064353734, 0.043868754, 0.09171546, 0.12046518, -0.041478284, 0.33256626, -0.66216105) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.0009857231, 0.076647244, 0.33709645, 0.21337996, -0.049800426, 0.04716261, -0.068043664, -0.21376781, 0.0018597327, 0.073524185, 0.076222986, 0.040136, 0.0026282244, 0.18404269, -0.04442308, -0.085673966) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.05874647, -0.03943763, -0.13145657, -0.06648413, -0.253045, 0.1268124, -0.038562663, -0.061502606, 0.019345982, -0.022664811, -0.022142114, -0.04447954, 0.18363045, -0.058746185, 0.06523419, 0.25664195) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.08019555, -0.012239751, -0.011895252, -0.061315633, 0.038944505, 0.14706634, -0.15751922, -0.10458593, 0.1115193, -0.0410773, -0.0708922, 0.06306769, -0.24465056, 0.5771332, -0.77821606, 0.10064463) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.10863808, 0.0387043, 0.034883734, 0.00736392, 0.102684096, -0.123234995, -0.07671682, 0.025862332, -0.036028706, 0.059380133, -0.021309514, 0.13564269, 0.08718602, 0.0660794, -0.62152934, 0.06356079) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.13219112, -0.03859387, 0.069880486, -0.039997123, -0.04373965, -0.064094, 0.040652506, -0.017591119, -0.029136121, -0.12277621, -0.035486937, 0.093530566, -0.18162584, 0.6069, -0.0056084874, 0.18537244) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.009590808, -0.026721004, -0.13316211, 0.003195802, -0.008524979, 0.15655214, -0.18576302, 0.10593688, -0.033705708, 0.0074143307, 0.0072742095, 0.028321259, 0.14526361, 0.27303115, -0.10055347, 0.11181452) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.12747978, 0.015559857, -0.0279742, -0.09386083, -0.1165334, 0.07168884, 0.10968242, 0.11787874, -0.0595236, 0.04358443, -0.04367302, -0.0027309263, -0.04038383, 0.030720126, -0.1630981, -0.08419226) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.0003181307, 0.00505075, -0.07564156, -0.043625094, 0.10428135, 0.033647664, -0.119266815, 0.05638696, 0.0022349646, -0.036607567, 0.04933508, 0.013704803, 0.041861095, -0.006851572, -0.0025068629, -0.17488024) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.047816746, -0.03701946, -0.0036915878, 0.014944819, 0.007316625, 0.0069717015, 0.07201905, 0.0451527, -0.065704264, 0.0457849, -0.03573041, 0.09611936, -0.13465062, -0.06738985, 0.07426441, 0.025207536) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.14039126, 0.103511274, -0.070839904, 0.0359138, -0.10010466, -0.079511814, 0.021657562, -0.05220276, 0.06966273, -0.097947605, 0.048306875, -0.001760612, 0.017690253, -0.025701575, -0.09290096, 0.008922746) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.014666001, 0.16857994, 0.13247117, 0.07219578, -0.011406998, -0.0299144, -0.17868042, -0.087843984, -0.034396175, -0.04378406, 0.0014156562, 0.055493787, 0.09912178, 0.010798549, -0.056449745, -0.105339006) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.08475972, 0.024784021, 0.05117882, 0.0030542447, 0.06358664, -0.059914384, -0.08966191, -0.027729059, -0.020200023, 0.015280264, 0.11297914, -0.029743366, -0.1393606, 0.052631944, 0.040251493, 0.049765185) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.04627259, 0.10382761, -0.12397328, -0.04554128, -0.049570445, 0.09403558, 0.12372191, -0.048224386, 0.079080045, -0.042654444, 0.06234977, 0.011434104, -0.23205517, 0.0335763, 0.024476146, 0.04098352) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.03452633, 0.017702322, -0.025027052, 0.053853385, 0.09295817, -0.05085124, 0.044716712, -0.064820446, 0.016282395, 0.036084466, 0.056406625, -0.120010056, 0.088272974, 0.035654973, -0.13473986, 0.01703694) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.035903554, -0.048575256, 0.024643412, -0.00443236, -0.09261782, 0.05099343, -0.006347384, 0.055303227, 0.03278513, 0.03181457, -0.013651474, -0.12203365, 0.042468697, 0.054433845, -0.011344749, 0.027542654) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.086430915, -0.065509714, 0.043919407, -0.04097845, 0.11006178, -0.088632576, -0.09873109, -0.008289689, -0.015440207, -0.19398527, -0.07621872, -0.053077586, 0.002886392, 0.07673537, 0.0782981, 0.017993418) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.10632289, -0.11350796, 0.0053830203, -0.14215466, -0.017720895, 0.12882212, 0.06310734, -0.06953946, -0.04053536, -0.08010739, -0.032327257, -0.030655555, -0.051441494, -0.07905176, 0.06792791, -0.024575006) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.030074816, -0.030221714, -0.07829937, 0.12425652, -3.8672904e-05, -0.029702056, 0.0333131, -0.072872885, 0.007072218, 0.04201622, -0.043637272, -0.017288411, 0.029321441, 0.002571058, -0.05830326, -0.036916103) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.009731808, -0.07976237, -0.07436349, -0.115674466, 0.012868435, 0.07498626, 0.006302168, -0.0031271582, -0.031092001, 0.041452654, 0.0029373302, 0.008484121, -0.110957146, -0.05176115, 0.045835372, 0.009569374) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.030405916, 0.062476136, 0.06415665, -0.19112875, -0.13489065, -0.05099669, 0.034169614, 0.09077126, 0.0057279305, 0.0021678875, -0.009860846, 0.09303514, 0.008051612, -0.11715329, -0.07073297, 0.0034952646) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.0055856523, -0.04420112, 0.057584874, -0.04059, 0.100946784, 0.01372505, -0.029832253, 0.027149882, -0.017059969, 0.066859275, -0.056763906, 0.07876712, 0.091814935, 0.006537651, 0.00072605826, -0.005798766) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.026313337, 0.033527467, -0.058112957, 0.027514352, -0.042737003, -0.08616322, -0.07042629, 0.022246884, 0.012239016, -0.069337025, -0.10015211, -0.31331468, -0.07439822, -0.020264693, 0.016009275, 0.060473885) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.11078354, -0.020858342, 0.01171633, -0.039373726, 0.0846813, 0.0017472956, 0.059698742, 0.07358353, -0.039256245, 0.08319258, -0.002833705, -0.08858863, 0.070085265, 0.05738256, 0.031479087, -0.03547387) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.0885485, -0.046670824, -0.14118028, -0.11072674, 0.008664852, -0.008465289, 0.00963273, -0.06553135, 0.03722114, -0.043166548, -0.11217241, -0.013756767, 0.07886938, 0.12084444, -0.10432687, -0.0026870214) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos5 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(5, 0); + imageStore(out_image, store_pos5, max(result5, V4(0.0))); + V4 result6 = V4(-0.0004264091, 0.005937544, 0.0035721099, -0.014284692); + result6 += M4(-0.042577773, -0.077956386, -0.059540264, -0.23328188, -0.09816041, 0.07455467, -0.025121294, 0.07271508, 0.026003769, 0.056198437, 0.04908984, 0.018677354, -0.048364215, -0.044719025, -0.019636089, -0.06626732) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.060725257, 0.0136296665, 0.23225763, -0.0683614, 0.060532954, -0.024470521, 0.10719459, 0.09746133, -0.0044030137, 0.06786734, -0.062048074, 0.015671123, 0.007394907, -0.10441487, 0.005962235, -0.017620144) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.051392607, 0.3164097, 0.061055504, -0.17507575, 0.002527037, 0.032407638, -0.3650608, -0.030682726, -0.013766896, 0.029345607, -0.0835438, -0.06651298, 0.017686, -0.20419958, -0.0058855936, -0.0032635138) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.13391773, 0.15957427, -0.48225874, -0.042625632, -0.039695818, -0.11436006, -0.069976486, -0.024810981, 0.028983217, 0.09998346, 0.06226458, 0.11312214, 0.08349287, -0.09247754, -0.023621144, 0.061271507) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.031214278, -0.052541412, -0.2801004, 0.04734473, -0.078062005, 0.084203675, 0.06400836, 0.02688797, 0.11493345, 0.08728993, 0.025520982, 0.011056487, 0.09479432, -0.117512554, 0.04229702, 0.036032364) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.05418046, 0.17469393, 0.011565229, -0.13769169, 0.014414331, 0.14864779, 0.057055417, -0.30031353, 0.120246306, -0.0054366537, 0.17772159, -0.05580829, 0.018963616, -0.0063377637, 0.049221214, 0.036523055) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.050742593, 0.10772785, 0.060549796, -0.15822785, 0.02916783, -0.042092495, 0.014020564, -0.11006188, 0.0070868745, -0.11593029, 0.06802139, 0.07831628, 0.06399996, 0.0048264815, -0.009292508, -0.103551224) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.006512731, -0.035323747, -0.13796578, -0.02163476, -0.064236216, 0.098594554, -0.0815945, 0.113997295, 0.030383274, -0.07086206, -0.010099978, -0.07885382, 0.032812387, -0.06676014, 0.12388364, 0.02276361) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.010259105, -0.06728323, 0.04149047, -0.034909725, 0.014955953, -0.017496476, 0.12975033, -0.11433472, -0.023374662, 0.018814947, -0.03945723, 0.09011417, -0.10127962, 0.053520672, 0.06339788, -0.08821346) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.034490604, -0.08592626, -0.017572964, 0.031274147, -0.031546578, -0.03407052, 0.02475188, -0.09163524, -0.08514582, -0.15226641, -0.13601367, -0.0028377653, -0.06265119, -0.0464583, 0.039890215, -0.10839764) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.015984641, -0.040684097, -0.048208468, 0.0015477275, -0.0059633977, 0.017775137, 0.15742524, -0.031754833, -0.0049295384, 0.0061479476, -0.18259297, -0.10025176, 0.045257777, -0.0014434316, 0.04885071, 0.15015508) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.046460517, 0.043068882, 0.045054093, 0.013955046, -0.02643912, 0.0045010857, 0.047738515, 0.10592973, -0.15079391, -0.010410149, -0.095728725, -0.020180425, 0.04360357, -0.017615482, 0.08112072, -0.0026855685) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.005795852, 0.01907471, 0.051279318, -0.09930653, -0.033596825, -0.06355971, -0.030189376, 0.041561868, -0.014145312, -0.24842227, -0.030857312, 0.16594979, -0.07846819, -0.06015665, 0.026562674, 0.0547817) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.03350617, 0.039106645, 0.08830988, -0.0037522414, 0.015912836, 0.061395198, -0.015271464, -0.010129363, -0.018035024, -0.084739946, 0.10353, 0.04736907, 0.09709259, -0.074155554, -0.04152452, -0.16868268) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.07064044, 0.097939916, 0.12855777, 0.0439167, 0.045879688, -0.038390294, 0.046347182, 0.12151034, -0.09935332, -0.036059514, -0.085764535, -0.24381882, 0.08867297, 0.070544586, -0.08301343, -0.10830596) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.07783152, 0.023744743, -0.08426514, -0.063795, -0.01989762, 0.08851649, -0.068707615, -0.051585317, -0.028470688, -0.17170103, 0.01773259, 0.071877204, -0.026643718, -0.06285906, -0.042698715, 0.08677802) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.0857614, -0.0006550824, 0.02910495, -0.21246761, -0.07237258, -0.02832576, -0.08112254, -0.03742035, -0.16849908, -0.14463174, 0.12396146, 0.26929656, -0.037450824, -0.033768583, 0.019363262, -0.107025646) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.026310513, 0.017839829, -0.085504286, -0.12561972, 0.10286881, -0.07125225, -0.059048012, -0.020323709, -0.14752758, -0.041401487, 0.13259363, -0.15987426, 0.045780674, 0.0005910613, -0.04225513, -0.05354625) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.12593487, -0.16345686, -0.054435603, -0.013675059, -0.08175027, 0.035872277, 0.044541687, -0.013734589, -0.07244321, -0.042503268, -0.06451637, 0.112249576, 0.044948213, -0.10950716, 0.0271489, -0.08489257) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.09125924, -0.027624339, 0.45312744, -0.0060238224, -0.04194228, -0.13583626, -0.084564514, -0.032295477, 0.038657393, -0.017130256, -0.0992161, -0.01397506, 0.009838301, -0.13227843, 0.029034238, 0.081426404) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.23138896, -0.15576662, -0.1489242, -0.07425258, 0.08938947, 0.0064302036, -0.06886603, -0.10231456, -0.0780459, -0.013454179, -0.003830311, -0.04116771, -0.07584303, -0.07161291, -0.05265901, 0.06713695) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.13699703, 0.0879359, 0.036424085, -0.14780053, -0.03107792, 0.007178339, 0.04573627, -0.06967439, -0.006942722, -0.025955446, -0.124463476, 0.07444043, -0.02788854, -0.10125745, -0.017385172, -0.05724794) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.07044322, -0.042001348, 0.0014581396, -0.06590976, -0.09167587, 0.042081155, -0.060550217, -0.24139938, 0.07154418, 0.08488996, -0.08223617, 0.031395577, 0.041587185, 0.029740317, -0.049667273, 0.029697489) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.0056358073, 0.0039491835, 0.18076648, 0.031224607, 0.07627618, 0.037655495, -0.12406358, -0.022427263, 0.035241038, 0.036430534, -0.08195273, 0.023283409, -0.02319754, 0.0729022, -0.074347705, 0.10066725) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.048884727, 0.026119146, 0.35505974, -0.056831356, 0.06610226, 0.026168963, 0.08859439, -0.17305438, 0.024694262, 0.029860884, 0.03133766, -0.055157285, 0.012950357, 0.014844853, -0.08340626, 0.02199587) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.02778354, 0.041584894, -0.11667611, 0.06681191, -0.043748066, 0.07694623, 0.08660364, -0.13821697, 0.062939756, 0.013305564, 0.063139215, -0.1215003, 0.017204082, -0.026662208, -0.060951736, -0.043540075) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.030071147, -0.059526093, -0.10506504, 0.2773404, -0.055779878, -0.014838181, 0.06987174, -0.07557315, -0.0077181663, 0.0072538247, 0.023385204, 0.022719152, -0.009496598, -0.056971878, -0.034776337, -0.038293265) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.031155968, -0.016943721, -0.08239819, -0.0549717, 0.00274148, -0.13906625, -0.03132978, -0.07075669, -0.07038984, 0.012750922, 0.07060429, 0.01733845, -0.07619339, -0.079963185, -0.02175363, -0.06496028) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.025425836, -0.022124495, 0.007158458, 0.001217976, 0.024905121, -0.24160852, -0.02243388, -0.018607637, 0.021341788, -0.020668369, -0.009122475, -0.07200047, -0.07157541, 0.113855794, 0.062393077, 0.23326081) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.023852853, -0.13200527, 0.08323842, 0.010220229, 0.032118686, 0.07507577, 0.09607754, -0.10689959, -0.049993146, -0.14645717, -0.12211937, 0.13578005, -0.10429025, -0.045783084, 0.0795505, 0.06853356) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.007479156, 0.1309282, 0.047995068, 0.049660936, 0.006086352, 0.16730678, -0.13319813, 0.035390835, -0.14892192, 0.0905492, 0.25641343, 0.013718618, 0.056348495, 0.021455048, -0.05752022, -0.1756935) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.010921784, -0.08542085, -0.007980609, 0.053927597, -0.06657699, -0.010462975, -0.02873351, 0.10501236, -0.11121293, -0.2622706, 0.09138707, -0.038543288, 0.023267588, -0.06556869, 0.11259117, 0.023230383) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.042706285, 0.09893061, 0.036133256, -0.0071409843, -0.0191799, 0.055100214, -0.008109323, 0.090333626, -0.0596578, 0.042258695, -0.0093518505, 0.041049797, -0.018995173, 0.19098689, -0.05664252, -0.32975656) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.015577549, 0.04875396, 0.0026381605, 0.06630381, -0.0011482927, -0.079627015, -0.029827833, -0.09024112, -0.08184988, 0.2514084, 0.13034645, 0.014077346, 0.0050434736, 0.0010724547, -0.10509333, 0.03711317) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.11590032, 0.024120253, -0.07089869, -0.024748875, -0.052186165, -0.02575927, 0.04455965, -0.12033272, -0.087819085, 0.04119415, -0.117326714, -0.10475886, -0.11821093, -0.14033663, -0.034128156, 0.19320899) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.019832043, 0.1016876, -0.0986808, -0.072319105, 0.04705192, -0.018404111, 0.012934827, -0.012026547, 0.041148085, -0.18479517, -0.0637207, -0.24290517, -0.08633974, -0.05443155, 0.012410934, -0.020451948) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.1570391, -0.02804512, -0.2022808, 0.15134914, -0.06334352, 0.25673828, -0.11532457, -0.0070444397, 0.010697046, -0.06522865, 0.04603086, -0.20159441, -0.053978913, 0.02767094, -0.08525054, -0.09987039) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.039845128, -0.15688312, 0.0012659659, -0.17762418, -0.05236062, 0.071555644, 0.008511281, 0.08732305, -0.020046236, -0.023585295, -0.08951699, -0.3873027, 0.047776062, -0.020395685, 0.0032143441, 0.07065591) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.05174699, -0.16144924, 0.07546116, -0.1041507, -0.008119178, -0.04552907, -0.010301143, -0.00053371605, -0.03710154, 0.02666633, -0.037634276, -0.02281001, 0.03002562, -0.018909644, -0.06638723, 0.050033737) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.0052562654, 0.11975083, 0.06353933, -0.06782186, -0.03148752, 0.112668656, -0.15249333, -0.026453739, 0.053123884, 0.033976518, -0.030461306, -0.15371186, -0.04482542, -0.10812421, 0.116154104, -0.004454006) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.047487877, 0.08994409, -0.08378867, 0.005575779, -0.022916157, -0.23025134, 0.003621081, 0.09947929, -0.026862739, 0.058303297, -0.049354725, -0.21494308, -0.07298947, -0.08449239, 0.15149896, 0.0972863) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.073171005, 0.0022491408, 0.004480586, -0.1396087, -0.066008225, 0.041926276, 0.077401176, -0.07177158, 0.006422821, 0.08670165, 0.08758592, 0.16492946, 0.07340619, -0.053376727, 0.07582215, -0.083218895) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.041799124, 0.066667125, 0.03190019, -0.029580675, 0.057970554, -0.038371168, 0.043127343, 0.10818981, 0.03851449, 0.044829555, 0.011709395, 0.22661434, 0.1095633, 0.100413494, -0.033492785, -0.04723497) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.03307666, 0.070453234, 0.06317883, -0.23473312, -0.08245466, -0.16504043, -0.18091509, 0.07463026, -0.05866306, -0.07097979, -0.05458624, 0.0780096, -0.016721994, -0.021029124, -0.018965775, -0.032754052) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.024297507, 0.0006460339, 0.02494553, -0.13983472, -0.08233686, 0.056075417, -0.050025593, -0.15296987, -0.09916967, -0.057149086, -0.031006848, 0.02837649, 0.009155175, 0.01278855, -0.09076268, 0.029292503) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.19640549, 0.086963825, 0.0681292, -0.1811652, 0.08967127, -0.23284656, 0.09593735, -0.14773206, 0.045919377, -0.04805539, -0.027261682, -0.09064161, 0.031166324, -0.028916132, 0.11069551, 0.018083334) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.046282757, 0.07022012, -0.021611804, 0.015486397, 0.0017170198, -0.11547197, 0.13555785, 0.071025856, 0.09175413, -0.03902823, 0.08474814, 0.04640062, 0.049641993, -0.21414725, 0.09995083, 0.14675312) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.003570117, 0.29845083, -0.16479817, -0.16584677, 0.07758215, -0.16391514, -0.16437647, 0.08020513, -0.058781482, -0.07833067, 0.0016890962, 0.07912792, -0.0689971, -0.24674723, -0.061103277, 0.21994698) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.12102856, -0.07532253, -0.0023631966, -0.107289374, 0.09514554, -0.0651862, 0.078417495, -0.14983092, -0.0153338, 0.020040894, 0.09313856, -0.11413359, 0.06976474, 0.71448463, -0.21779947, 0.19663434) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.027644534, 0.23597267, 0.057272885, 0.006029669, 0.11920952, 0.10335024, 0.22472882, 0.04750365, -0.04288211, 0.007053268, 0.077791564, -0.040292732, -0.42941442, -0.08644213, 0.9345921, 0.3517853) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.0137436045, 0.14845555, 0.10991932, 0.4175938, 0.040128134, -0.078556135, -0.05144127, 0.104240224, -0.07082723, 0.043770388, -0.00010998591, -0.06608717, 0.17442042, -0.5062115, 0.021388521, -0.08159179) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.008749383, 0.085934, -0.024593689, -0.009342965, -0.092573136, 0.043908626, 0.11518263, -0.18980132, -0.020809593, -0.049848855, -0.13010202, 0.037051145, -0.1669628, 0.097693644, 0.31814525, -0.04882667) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.042194128, -0.011674845, 0.07626045, 0.024274576, -0.08506086, 0.14655381, -0.22198848, 0.062456407, 0.07191522, 0.03335872, -0.11652837, 0.07541473, 0.49359927, -0.45849997, 0.19145717, -0.25934938) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.03475545, -0.028462712, -0.013618619, 0.04708128, 0.08664516, -0.046458505, 0.13232322, -0.22901559, 0.0667344, 0.03085983, -0.020873455, 0.10222632, -0.2611279, -0.21692024, 0.08966302, 0.0037844712) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.07771795, 0.033730872, -0.046177845, 0.20739533, 0.12897904, 0.059704654, 0.096005484, 0.046961337, 0.04043023, -0.08252133, -0.075502284, 0.0092655895, -0.066645816, 0.08655621, 0.097130105, -0.005034047) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.0043796827, -0.041134235, -0.07280609, -0.10867899, -0.07217665, -0.0052616373, 0.13197671, 0.1321504, 0.059979726, 0.09622325, -0.02691405, -0.004788777, -0.03523106, 0.078405574, -0.069668554, 0.090516694) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.0022567979, -0.06482103, -0.024878317, 0.005236776, -0.12749022, -0.043835074, -0.03125229, -0.14521727, -0.04032008, -0.18585172, 0.06659718, -0.024166882, 0.032716513, 0.037917733, -0.08269988, 0.12867971) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.027577017, 0.062398, -0.03161065, -0.1984228, 0.043994464, 0.071540624, -0.0769222, -0.07245015, 0.097281694, 0.036788452, -0.15146855, 0.04700497, 0.02026809, 0.038153145, 0.074723214, -0.1625608) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.008544523, 0.1033058, 0.06448073, 0.07207453, 0.10278613, -0.08839407, 0.019589404, 0.09392849, -0.057403985, -0.014791048, 0.015990091, 0.022426598, -0.016531639, -0.049922276, 0.058254518, 0.07329709) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.015053353, -0.10993852, -0.02372503, 0.008879514, -0.1476332, -0.06305476, -0.013468469, -0.10362475, 0.09241548, -0.0055219256, 0.11470531, -0.089309685, -0.035324298, 0.021731652, 0.08384883, -0.00634845) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.064109124, 0.089048274, 0.015129284, 0.113012135, -0.040176652, 0.058444947, -0.074923314, -0.07029526, -0.021091003, -0.020197496, -0.1631834, 0.036998924, -0.03393292, 0.06178893, -0.036781445, -0.047052033) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.0047763707, 0.023142477, 0.10713467, 0.05227011, 0.017489921, -0.069223866, -0.05283379, 0.11562391, 0.046654064, -0.046573464, -0.17478119, -0.024396924, -0.12748063, 0.04773925, -0.038070694, 0.04308706) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.0207454, 0.0065072104, 0.120736316, -0.12497009, 0.03243522, -0.031404, 0.037922848, -0.041609757, -0.0069228243, 0.014103973, -0.14685644, -0.015528963, 0.014804607, 0.02906411, -0.02806056, -0.044774313) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.085983686, -0.026710888, 0.015978444, -0.027722757, -0.10153876, 0.035194993, 0.0051833587, 0.1232624, 0.025893308, -0.0973468, 0.015180037, 0.01581638, 0.09675774, 0.011234542, 0.045843583, -0.09305535) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.06817786, 0.003497266, 0.030175231, 0.02983251, 0.06095087, 0.036047883, 0.06767649, -0.07874793, -0.039684877, -0.084995136, 0.05892904, 0.044998586, -0.007679529, 0.16906635, -0.031347573, 0.064132474) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.04012152, 0.0730568, 0.0095109455, 0.031935446, 0.0652706, 0.030271951, 0.017871648, 0.06921794, -0.024663186, 0.09138562, -0.007347492, -0.018937554, -0.15359351, 0.032435097, 0.06897794, -0.08736604) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.14759475, 0.0062286584, 0.011327622, 0.06866775, 0.10847301, 0.056752063, -0.056113143, 0.0590981, -0.06830198, 0.05297486, 0.03336916, -0.016855862, -0.054833576, -0.03184048, 0.006759047, 0.09345793) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.023615476, 0.016381538, -0.0773503, -0.5177109, -0.057268377, 0.060075745, -0.042404313, -0.05456304, 0.027147042, -0.0050419103, -0.009349153, 0.020928545, 0.072674446, -0.06446604, 0.06668412, 0.10886393) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.03857033, -0.10699387, -0.0018258106, 0.17069462, -0.031347156, -0.110483296, 0.03345727, 0.06301936, -0.038085036, -0.067378506, 0.035097476, 0.016893866, -0.06401619, 0.028808264, 0.005645964, 0.016329268) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.053584523, 0.12572215, 0.08838021, 0.336898, -0.13841294, 0.01397935, 0.063325845, 0.040917937, 0.07410617, 0.12144694, 0.17548656, -0.01019531, -0.08077669, -0.11017199, -0.102404706, -0.096533306) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.033442985, 0.09870464, 0.1427535, -0.09824837, 0.012289218, 0.03309981, -0.08743496, 0.070933655, -0.06671893, 0.08355648, 0.0463622, -0.12656225, 0.044989333, -0.055795744, -0.04745669, -0.052177347) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.03234606, -0.02594794, -0.07466235, 0.0025612034, 0.06352495, 0.0067928927, -0.13020647, 0.046504013, 0.06025401, 0.04108894, -0.0020044441, -0.031627566, 0.07211742, -0.06771876, -0.033619847, -0.030113189) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos6 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(6, 0); + imageStore(out_image, store_pos6, max(result6, V4(0.0))); + V4 result7 = V4(0.0053789704, 0.0025854765, 0.015197983, -0.011652295); + result7 += M4(0.05666514, -0.0687492, -0.20598878, -0.08785657, 0.018653763, -0.10966081, 0.0026371218, -0.061146006, 0.00061644556, 0.026699504, 0.14169437, -0.0072716544, 0.036873106, -0.037818324, 0.08342457, 0.027157893) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.06956009, -0.19231883, -0.14141782, 0.055096384, 0.030632079, 0.06572195, 0.15954925, -0.012697241, 0.0003095268, -0.07799744, 0.07448543, 0.030110694, 0.051203646, 0.007050742, -0.04388412, -0.11948482) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.022695528, 0.031703804, 0.012767316, -0.11228437, 0.02793923, 0.010146033, -0.013791832, 0.031158343, -0.02931798, 0.03702564, 0.10596144, -0.058024183, 0.035432126, 0.071007796, -0.051965307, 0.07440998) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.015914058, -0.098694816, -0.08454627, 0.014217437, 0.06657819, -0.0077960095, 0.036915753, -0.046696495, -0.079249896, -0.14123632, -0.018564327, 0.061380323, -0.07054456, -0.16939011, -0.055110887, 0.054265097) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.026921999, 0.023473589, -0.05059933, -0.072471, -0.21903448, 0.1140922, 0.11606049, 0.016368339, -0.07729925, -0.04143266, 0.067296274, 0.051659137, -0.2019198, -0.14190796, -0.0044181384, 0.041265965) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.009694087, -0.07087399, 0.015845967, 0.06585512, -0.24124053, -0.0655696, -0.07027005, 0.122316465, -0.064407386, 0.08761634, 0.053304445, 0.034286425, 0.009045888, -0.099226855, 0.0051248055, 0.031103073) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.095543936, 0.08424394, -0.022815775, -0.07014027, 0.052844353, 0.05348323, 0.026352283, -0.005606848, -0.002883026, 0.039527986, -0.09411716, -0.1342347, -0.098524116, 0.03447414, 0.06730448, -0.010394821) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.026385324, -0.08824026, -0.11585972, 0.1030116, 0.04219515, 0.0318411, -0.026093587, 0.027016265, 0.08567896, -0.0143344505, 0.055180106, 0.008065516, 0.034066617, 0.04156471, 0.06309237, -0.020552596) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.00096979213, -0.12608443, -0.033576388, 0.012878639, -0.09766652, -0.03690318, 0.03403222, 0.13202143, 0.12101274, 0.027858492, -0.012407527, 0.049603727, -0.10900754, 0.0022585979, -0.056014832, -0.05491789) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.011571224, 0.10039139, -0.0014391219, -0.020644149, 0.08792045, 0.0624742, -0.21022794, -0.050530553, 0.05408142, 0.13484432, -0.035968672, -0.27709222, 0.15014364, 0.038168304, -0.0066760574, 0.10458473) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.05167086, -0.12039959, -0.01986911, -0.074747734, -0.044697285, 0.04921119, 0.1378892, 0.03481171, 0.028050862, -0.061392564, -0.19878274, -0.036646966, -0.080988966, -0.08365945, -0.029412778, -0.13012893) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.036751747, -0.12197377, -0.009800108, 0.022284098, 0.03371776, 0.0839102, 0.019083815, 0.057321984, 0.00938777, 0.02370644, 0.0064145187, -0.093253545, -0.06927927, -0.033613797, -0.031398904, 0.04975483) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.07102962, 0.0136048915, 0.05139143, 0.011585698, 0.017591143, 0.15940964, -0.20790483, 0.004592042, -0.10924146, 0.0036954589, -0.03261804, 0.07504535, 0.03150984, 0.02770599, -0.054189883, -0.021886973) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.017331854, -0.08597708, 0.06806796, -0.0077305324, 0.05669231, -0.056901522, 0.080572926, 0.14957619, 0.03349567, 0.3439177, 0.05930278, 0.13584878, 0.06892927, 0.055669587, 0.006997141, -0.011672978) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.028430147, -0.0019392807, 0.039368816, 0.0011118908, -0.07042851, -0.0005342881, -0.04321876, -0.18646954, 0.06697478, 0.010731473, -0.07831406, -0.06941017, -0.08234334, -0.017092653, 0.033339232, -0.03498768) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.08338941, 0.016742336, -0.00095426396, 0.026095787, 0.052147616, -0.05183135, -0.08809574, -0.017223313, -0.024711594, -0.06462015, 0.2737911, -0.34832507, -0.08410303, -0.018319262, -0.008743848, -0.0062105493) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.07855083, -0.017816482, -0.030418888, 0.05447271, -0.021245, -0.020841155, 0.013671578, 0.03882945, 0.1742647, 0.01775674, 0.1562898, -0.062315434, 0.010131578, -0.06636407, 0.10727656, -0.019702993) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.017121596, 0.09368523, 0.03144715, -0.012291371, -0.020281412, -0.12299579, 0.02910841, 0.007218249, 0.080847934, -0.08406859, 0.07259622, -0.013574704, 0.07549602, 0.07723734, -0.07970015, -0.02615056) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.0790598, 0.0070430296, -0.092757374, -0.082541466, 0.047627795, 0.021244135, -0.13364942, -0.0810232, 0.054291513, 0.13363357, -0.20676257, -0.062141486, 0.030947106, -0.09416954, -0.1027634, -0.032044455) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.018030254, 0.0098400805, 0.13232952, -0.033046655, 0.07596969, 0.13749397, 0.1859569, -0.14020164, -0.06990134, -0.0019651868, -0.057608586, 0.042596128, 0.013491154, 0.056449253, 0.11832558, -0.016455222) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.115637764, 0.0868485, -0.051552907, -0.10830525, 0.05680974, 0.017426718, -0.017443301, 0.14847037, 0.009757844, -0.065559335, 0.050576314, -0.023079261, -0.052207172, -0.0015279793, -0.01021434, 0.0567085) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.19769597, 0.008447673, 0.05445979, 0.08525326, 0.052396342, 0.06385715, -0.15212223, -0.0008696227, 0.018443141, -0.059416693, -0.031270802, -0.0066024265, 0.07033135, 0.04949086, -0.11986256, 0.048120964) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.08346605, -0.06636133, 0.054285944, 0.12908636, -0.08527135, -0.122714736, -0.044791445, 0.08082007, 0.054965813, 0.035973955, 0.13196996, 0.093821354, -0.040817473, 0.17990302, 0.08994842, -0.025919829) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.13936931, 0.15964657, 0.0021002723, -0.07155503, -0.029519333, -0.008643308, 0.019718772, 0.060484882, 0.028331464, 0.00967312, -0.008407306, -0.11079924, 0.057593424, 0.15932065, 0.051221114, -0.0016470518) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.10734961, 0.06235397, -0.009057098, -0.026301542, 0.013540632, -0.05162323, 0.0370406, 0.026798243, 0.043326765, -0.10875731, 0.011128338, -0.01863063, 0.10689365, -0.005097236, -0.058399286, -0.073798954) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.029223802, 0.0012966333, 0.10094817, -0.17609578, -0.10913601, -0.10453748, 0.011173238, -0.14054483, -0.112140834, 0.06626987, 0.09080102, -0.08762913, 0.13030668, 0.054614175, 0.05091183, 0.099065416) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.05469908, 0.035654828, 0.10501923, -0.0042429804, 0.044244573, -0.03625996, 0.044347595, 0.033446666, 0.03411213, -0.05345478, 0.14238544, 0.08360376, -0.02604568, -0.1375197, 0.035960864, -0.0064564426) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.0499932, -0.06142242, 0.100184634, 0.075236306, 0.036325846, 0.016511641, -0.012447042, 0.05944831, -0.07555385, 0.056282684, -0.24895836, 0.014458436, -0.019543694, -0.18169408, -0.20884325, -0.11685414) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.119416036, -0.008168222, -0.025852013, -0.11279435, -0.029294118, 0.06619017, -0.112610884, -0.10391663, -0.051209502, -0.094587654, -0.058253013, -0.14903109, -0.055112056, -0.041897323, -0.015950289, -0.044616196) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0680232, 0.07212786, -0.075774565, 0.12888348, -0.07565356, 0.0019361761, 0.023712091, 0.14158373, 0.090737484, -0.051129308, 0.05690291, 0.0037955295, 0.026192429, -0.08388514, 0.062261645, 0.064529076) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.101079434, 0.011922752, -0.058729544, 0.08692563, 0.024849348, 3.467293e-05, -0.093050905, -0.02413552, 0.017605588, 0.09245521, -0.11766639, 0.00047133458, 0.052890748, 0.014028446, -0.115995176, -0.08884552) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.017140824, 0.012285072, -0.029690033, -0.15068929, 0.054078132, 0.025342502, 0.033844642, 0.11498677, -0.03540204, 0.12705295, 0.039011642, -0.03131211, 0.16139264, -0.00338103, -0.09842188, -0.051374804) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.060567785, 0.014906641, 0.009815348, 6.619824e-05, 0.04369735, 0.030770164, -0.023521341, 0.018942414, 0.19000447, 0.041663565, 0.10003292, 0.05336761, 0.024944112, 0.08883642, 0.006914667, -0.020451684) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.00907664, 0.026173059, -0.005008095, 0.09504228, -0.047254335, -0.000649588, 0.048251353, -0.14182955, -0.3485766, -0.021746434, 0.04815546, -0.14104033, 0.10107957, -0.08167642, -0.024006402, -0.08239549) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.067871146, 0.018201813, -0.097101584, -0.104746565, -0.010194239, -0.08051833, -0.007596521, -0.09627473, -0.040196355, 0.021017613, -0.024181781, 0.0033035597, 0.07156622, 0.041812293, -0.07725421, 0.01648094) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.007247082, 0.07118014, 0.013164776, -0.0026585266, 0.029301973, -0.074743226, 0.08969769, 0.0076641636, -0.048669834, -0.062386185, 0.14539757, -0.077229924, 0.1568452, -0.028835239, -0.12936483, 0.010520348) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.09140188, 0.16926093, 0.06886596, 0.078117505, -0.101858296, -0.0052931174, -0.14932333, -0.089288495, 0.036855947, 0.020352522, -0.12879966, -0.057451647, 0.0583163, 0.07000335, -0.051591545, 0.000107920656) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.0016148832, -0.076266445, 0.084311694, 0.13753302, -0.06577036, 0.006041888, -0.0141350925, -0.05092375, -0.013288516, 0.06724341, -0.09086112, -0.24800844, 0.012090776, -0.09634044, -0.15034819, 0.111872695) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.04533377, 0.029518532, 0.036748208, -0.030043608, -0.0015710319, 0.046938032, -0.12150115, -0.23176794, 0.010277305, -0.028474892, 0.017144188, 0.004385751, 0.05635276, 0.022111354, 0.12564327, -0.11502858) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.04469734, 0.0113415, -0.028640777, 0.02836782, -0.12246081, 0.028170826, -0.09266717, 0.116464384, 0.13647519, 0.10977953, -0.18012261, 0.038502276, 0.07918458, 0.10636838, 0.05412915, -0.08286509) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.08048876, -0.022884697, 0.007001685, -0.0944541, -0.17289579, 0.081044406, 0.07140763, -0.07240395, -0.18377699, 0.16049394, -0.022612097, 0.022131315, -0.13993753, -0.06406611, -0.075289205, -0.1052884) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.056851868, -0.010847677, 0.05635118, -0.014116288, 0.053181335, 0.035709463, -0.008538211, 0.23569828, 0.22660647, -0.042526037, -0.22268362, -0.032510936, -0.06532491, -0.0791376, 0.025359834, -0.037947442) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.0053019673, 0.02478364, -0.029590646, -0.061128553, -0.09762802, 0.22151712, -0.19141476, -0.2846354, 0.070802085, 0.0020157513, 0.007862835, -0.020805826, 0.07594529, -0.026372926, 0.0012691952, 0.06980455) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.09351495, -0.007966582, 0.12022749, -0.15391615, -0.1896228, 0.13500099, 0.08563764, 0.078252435, 0.20570906, -0.07511488, 0.031098815, -0.09944285, 0.031679932, 0.03593208, -0.11530465, 0.06200585) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.061249282, -0.1575541, 0.041680746, -0.042291097, -0.044488933, -0.07686675, 0.14201736, 0.21293552, 0.24996586, -0.14468548, 0.036632843, 0.00038907008, -0.11500689, -0.051599603, 0.09331435, 0.09749423) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.124378406, -0.4048025, 0.17961971, 0.26844308, 0.07949525, 0.1347329, 0.07709348, -0.097555734, -0.06629847, -0.090735376, -0.09644388, 0.06310977, -0.27906576, -0.43457314, -0.1366527, -0.15464012) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.052193165, 0.015854765, -0.01224421, 0.07321183, -0.042924818, 0.047326166, -0.086192526, -0.07872293, -0.011293528, 0.04775049, -0.10551445, 0.047768187, -0.04716993, 0.03131848, 0.37574837, 0.15519753) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.052107293, -0.033524152, -0.18055573, 0.080779105, 0.06821293, 0.19942957, 0.0014988541, 0.052248172, 0.0466914, -0.034186024, -0.010236326, -0.047998883, -0.041536625, 0.2490287, -0.371111, -0.2193193) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.22888456, -0.03543311, -0.16168748, -0.07889605, -0.01669852, 0.07677655, 0.08500835, -0.086704925, -0.01576141, 0.003543525, -0.0107001765, -0.05774835, -0.12800154, 0.28807333, -0.15624149, 0.35628632) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.21485566, 0.23107779, -0.12810478, -0.14246476, -0.053422194, 0.12332042, 0.038226463, 0.055101406, -0.0960511, -0.044886257, -0.092476755, -0.08146779, -0.16568983, 0.59729934, 0.37994778, -0.4317865) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.077629216, 0.04490685, -0.0014667452, -0.013239536, 0.022386512, 0.075461105, -0.029538881, -0.18596256, -0.03985326, 0.046895646, -0.06676009, 0.023410453, 0.30913633, -0.20051044, -0.13216172, 0.3900065) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.0068070083, -0.0069136056, -0.14759555, 0.03651449, -0.018215606, -0.00083672896, 0.03328746, 0.14425918, 0.03445058, 0.03131223, -0.16414946, -0.058880024, -0.4315149, 0.04385308, 0.032215543, -0.09452023) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.0029658887, 0.054051768, -0.044476446, -0.12003007, 0.0021438722, 0.039113697, -0.109358735, 0.28525048, 0.09043809, -0.035674576, -0.05397791, 0.07343925, -0.039687783, -0.025696091, -0.14772332, 0.34789202) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.11246529, 0.033228833, 0.07324775, -0.030482141, 0.050453078, 0.08626062, -0.08022131, 0.2620251, 0.06485852, 0.053682942, -0.07258124, 0.046973646, -0.05858527, 0.22647582, 0.06114931, 0.24786088) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.056778446, 0.016456615, 0.041475434, -0.0344607, 0.013947115, -0.10177933, 0.08294105, 0.008011066, 0.019947631, 0.057009883, 0.004877294, -0.085832454, -0.049219225, 0.02447436, 0.059908643, 0.03551456) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.042105965, -0.0884481, -0.016966134, -0.0117598465, -0.13590808, -0.07694648, -0.009869471, 0.0072160605, 0.0482305, -0.009109982, -0.0052547525, 0.124012925, -0.0119091645, -0.057929713, -0.024751287, -0.05337793) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.004894345, -0.14617302, -0.001989701, -0.030300831, -0.04007291, 0.037290458, -0.106011085, 0.042428236, -0.0016004231, -0.0004504842, -0.03793217, -0.08372132, 0.037499513, -0.09089602, 0.008211781, 0.016897323) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.27796113, -0.07810831, 0.062244676, 0.013541458, -0.01436712, 0.010686106, -0.09237694, 0.1376333, 0.01749583, -0.0019605109, -0.05104232, 0.19070308, -0.17772831, 0.011466239, -0.19379972, -0.033944525) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.0655731, 0.0019040171, -0.12391805, 0.1217065, -0.017015886, 0.023397053, 0.035671487, -0.039599694, 0.014829829, -0.018512562, 0.07511455, -0.05615126, -0.12937154, 0.057979073, 0.055963453, 0.12754911) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.050232027, -0.028957525, -0.15878057, -0.042808246, -0.07007482, -0.009819291, -0.014887981, 0.13020256, -0.06350212, -0.03718679, 0.0540824, -0.00460389, 0.046179693, -0.049890947, -0.02975092, 0.017548801) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.46527207, -0.06798271, 0.16449538, -0.053844187, 0.12740596, 0.11932178, -0.10305892, -0.117529355, 0.0811836, 0.1431828, -0.033068728, 0.053193957, 0.09336577, 0.0023919397, -0.15100269, -0.13261929) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.30288944, -0.021273544, -0.04617583, 0.1303943, 0.096688755, -0.06859098, -0.067672186, -0.0554803, 0.0657815, -0.028244924, 0.06733386, -0.10710465, 0.0067219357, 0.003860032, -0.011553924, 0.08953613) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.085617416, -0.010688524, 0.13662979, -0.03836585, 0.05179767, 0.069494516, -0.040404085, -0.08666117, 0.0021569484, 0.10934313, -0.025590356, 0.007480811, -0.053807955, 0.022814091, 0.112554744, 0.10559354) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.012023872, 0.07079116, 0.053840525, 0.11851069, 0.018109271, -0.056847878, 0.032157272, -0.01902578, -0.028272795, 0.03748648, 0.03727818, -0.00048632055, 0.006171326, -0.093427196, -0.1170217, -0.021707464) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.056917716, 0.14060374, -0.16010235, 0.066473715, -0.055243585, -0.03828031, -0.07051191, 0.03115574, 0.070036195, -0.07905837, -0.12327318, 0.0304603, -0.029671662, 0.03397466, 0.038026333, 0.036792763) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.066246256, -0.061950386, 0.08933538, 0.031459566, -0.031286642, 9.614108e-05, -0.029668983, 0.038759045, 0.024603458, 0.07435891, 0.06422563, 0.030144641, 0.09051597, -0.030882716, -0.067613274, 0.1261506) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.19958952, 0.19628568, 0.04254856, -0.102305725, 0.02405828, -0.05493232, -0.008526281, -0.013256018, -0.07802039, 0.019447172, 0.04605606, -0.046304177, -0.09106759, 0.12520824, -0.12901597, -0.029309845) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.0835762, 0.06394317, 0.046013217, 0.02414982, 0.050658476, -0.03236606, -0.07829686, 0.1161885, -0.030762492, 0.110627405, 0.02351719, 0.06414008, -0.0014508388, -0.0032928966, 0.03290606, -0.1314493) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.07293574, 0.062243484, -0.011109678, -0.047835413, 0.061750825, -0.03635749, 0.08776314, -0.0120963715, 0.02658541, 0.10977554, -0.0228995, -0.052181434, 0.012684233, 0.008198349, 0.07738348, 0.07691579) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.13568059, -0.030253146, -0.13753651, 0.106419034, -0.1557093, 0.07538132, 0.036382604, -0.1520924, -0.08000182, 0.03251509, 0.074987926, -0.05645376, 0.051527865, -0.053209826, -0.077316046, -0.0021309035) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.49364266, 0.078044444, -0.13522051, 0.070170246, 0.05484597, 0.057964224, 0.04982187, -0.13059925, -0.024406066, 0.011622169, -0.0415241, 0.01034871, 0.010487049, 0.059847392, 0.0034699654, -0.038274396) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.07862424, -0.010938437, -0.05813607, 0.041292384, 0.045454565, 0.14464068, -0.018179748, 0.040905673, 0.1500685, -0.058837574, -0.024157893, 0.074536055, -0.009033567, -0.020644836, -0.08995514, -0.009798473) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos7 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(7, 0); + imageStore(out_image, store_pos7, max(result7, V4(0.0))); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2_CMP] (Conv2D-3-ReLU) +//!COMPUTE 16 16 2 16 +//!HOOK LUMA +//!BIND conv2d_2 +//!SAVE conv2d_3 +//!WIDTH LUMA.w 8.0 * +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#ifdef GL_EXT_shader_explicit_arithmetic_types_float16 +# define V4 f16vec4 +# define M4 f16mat4 +# define F float16_t +#else +# define V4 vec4 +# define M4 mat4 +# define F float +#endif + +const ivec2 ksize = ivec2(3, 3); +const ivec2 offset = ksize / 2; +const ivec2 isize = ivec2(gl_WorkGroupSize) + ksize - 1; +shared V4 inp[8][isize.y][isize.x]; +void hook() { + ivec2 base = ivec2(gl_WorkGroupID) * ivec2(gl_WorkGroupSize); + for (uint y = gl_LocalInvocationID.y; y < isize.y; y += gl_WorkGroupSize.y) { + for (uint x = gl_LocalInvocationID.x; x < isize.x; x += gl_WorkGroupSize.x) { + inp[0][y][x] = V4(conv2d_2_mul * texelFetch(conv2d_2_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(0, 0), 0)); + inp[1][y][x] = V4(conv2d_2_mul * texelFetch(conv2d_2_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(1, 0), 0)); + inp[2][y][x] = V4(conv2d_2_mul * texelFetch(conv2d_2_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(2, 0), 0)); + inp[3][y][x] = V4(conv2d_2_mul * texelFetch(conv2d_2_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(3, 0), 0)); + inp[4][y][x] = V4(conv2d_2_mul * texelFetch(conv2d_2_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(4, 0), 0)); + inp[5][y][x] = V4(conv2d_2_mul * texelFetch(conv2d_2_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(5, 0), 0)); + inp[6][y][x] = V4(conv2d_2_mul * texelFetch(conv2d_2_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(6, 0), 0)); + inp[7][y][x] = V4(conv2d_2_mul * texelFetch(conv2d_2_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(7, 0), 0)); + } + } + + barrier(); + V4 result0 = V4(0.004638044, 0.0013329395, -0.00088052906, -0.0008565964); + result0 += M4(0.07550451, -0.062335107, -0.030128578, -0.01702887, -0.0067610205, -0.09363684, 0.0990458, -0.0072268276, 0.043910407, -0.014495193, 0.0010299616, 0.06571345, 0.051192664, -0.042668786, 0.11707809, 0.038482215) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.028938133, -0.07763962, -0.039839357, 0.005674207, 0.029407276, -0.09656223, -0.0055031516, 0.082172535, -0.010112508, -0.062146503, 0.035055943, 0.037777815, 0.003791935, 0.04126734, -0.025585257, 0.01193133) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.030179523, -0.0009621381, -0.026895603, -0.026422866, -0.009596113, -0.090893455, 0.21804497, 0.11891871, 0.007617312, 0.02739259, -0.036617145, 0.017682299, -0.093786575, -0.002729282, -0.0443831, 0.05467525) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.08374694, 0.04840475, -0.026630968, 0.03070717, 0.15004708, -0.005388031, 0.16621166, 0.038215104, 0.037021782, -0.059139475, 0.033812936, 0.104307264, -0.02521773, -0.05312636, -0.022046043, 0.051154003) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.039371412, -0.05422514, 0.045989472, -0.072994255, -0.026025929, 0.07628557, -0.2575606, -0.025011815, 0.036368866, -0.051147897, 0.03937521, 0.13125563, 0.09123269, 0.09021674, 0.07406457, 0.014771902) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.077451915, 0.036679897, -0.056028325, 0.014218875, 0.03210626, 0.017991815, 0.10675305, 0.055960767, -0.060156737, -0.08060133, 0.004610833, -0.005791917, -0.030218259, -0.05701287, 0.030644499, -0.036675338) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.0573847, 0.06121734, -0.022958796, 0.009732074, 0.15481265, 0.0048336796, -0.021265794, -0.0014876906, 0.0056713065, -0.018603824, 0.053220365, 0.025527135, -0.058431905, -0.0014262631, -0.064513154, -0.015684986) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.11597489, 0.032360062, 0.044680815, 0.043940496, 0.03594062, 0.014350057, 0.15514506, -0.054004006, -0.009222455, 0.049240157, -0.032198053, 0.101598024, -0.07465124, -0.014790325, 0.057053253, 0.016285447) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.034978684, -0.09362837, 0.05964478, 0.0033915446, 0.0844611, -0.008974734, 0.090058774, -0.054855116, 0.083573624, -0.03900838, 0.019984512, 0.0442797, 0.07372096, 0.07309687, -0.006958133, -0.10594898) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.054712515, 0.07088088, 0.0073476234, -0.06699575, -0.08808331, -0.03199675, -0.04514842, 0.032373276, -0.038173363, -0.024278319, -0.027418261, 0.064418174, -0.10447958, 0.0032106645, -0.04277769, -0.11309977) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.05384842, 0.0740386, -0.054084986, 0.0024278406, 0.056520715, 0.029342713, 0.021787433, 0.0038633363, 0.015939254, 0.0682706, 0.0054887994, -0.04119087, -0.07394435, -0.00663839, 0.027829101, -0.017376835) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.078896746, 0.046693444, 0.08750508, 0.08403734, 0.02203688, -0.010983498, -0.072839454, 0.031068912, 0.04118232, 0.03291075, -0.03185903, 0.076725654, 0.020303203, 0.080684036, 0.051007036, 0.0024716079) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.013261571, 0.043484103, -0.034937546, -0.07128885, 0.001998469, 0.009554853, 0.05851828, 0.052759014, -0.025819391, -0.015543633, 0.02712523, -0.06484681, -0.012022489, -0.016641388, -0.0048575513, 0.012229059) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.05502941, 0.07690699, -0.032896075, 0.012344708, 0.009396056, -0.026499858, -0.011459326, 0.06036896, 0.078324586, -0.09677589, 0.12032886, -0.05718042, -0.103318155, -0.03446979, -0.1430661, 0.13276161) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.022034168, 0.021548055, -0.072068125, 0.045090538, -0.1366563, 0.09238439, -0.014003816, -0.019418236, -0.0141091915, 0.026721846, -0.018281663, 0.10515927, 0.033571433, 0.11032933, 0.11833405, 0.00043340217) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.06571235, 0.04375221, -0.03530189, -0.028916305, 0.14437988, -0.05696346, 0.08870323, 0.13027044, 0.12405446, 0.06079818, 0.011711471, -0.04522661, 0.0026470372, 0.035102524, 0.052623324, 0.011086813) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.015897902, 0.054018516, 0.027189003, -0.0784164, -0.0619845, -0.085624985, -0.15043996, -0.008923019, -0.022991644, -0.038600445, -0.0016093372, -0.04856352, -0.03957691, -0.0036588367, 0.08671981, 0.055210836) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.021715198, 0.045859955, -0.026510036, 0.090152085, -0.1554341, 0.18493308, -0.08130215, -0.12307236, -0.18049568, 0.037198436, -0.04618665, 0.04035744, -0.014461031, 0.009296255, 0.071711965, -0.018782066) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.1423923, -0.040828574, 0.06017673, -0.012305377, -0.01756701, 0.0132827135, -0.058057845, -0.1505554, 0.14422798, -0.0973062, -0.05318921, -0.027779114, 0.08943591, 0.035738494, -0.04599758, 0.1138796) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.08693265, -0.0630501, 0.04077083, 0.0026657602, 0.006951623, 0.07434736, 0.10658128, -0.002723772, -0.20628722, -0.1874146, -0.0982181, -0.06054813, 0.123957746, 0.0029406028, -0.085461855, 0.019555211) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.019727336, 0.034046743, 0.078694925, 0.03092844, 0.045617487, 0.016383491, -0.028096786, -0.07075771, -0.07275973, -0.011496064, 0.08588529, -0.41148093, -0.013605152, 0.008960944, 0.0054122023, 0.011849688) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.053449254, -0.01759084, -0.05983056, 0.07469939, 0.09675158, 0.15918379, -0.03123546, -0.0478807, 0.023928693, 0.027205884, 0.035120673, 0.11770268, 0.054755293, 0.0037571308, -0.017051104, -0.07279476) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.048907664, 0.0711624, 0.03633436, -0.00265645, -0.028118687, 0.014030224, -0.070787236, -0.09514738, 0.086933315, 0.14440535, -0.09338331, 0.1871065, -0.11713414, 0.02804693, -0.06628909, -0.013888061) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.081196286, -0.065492086, -0.00017666405, 0.09595935, 0.01980225, 0.05067121, -0.081625275, -0.06238897, 0.09958395, 0.15478204, -0.028720425, 0.15622725, -0.035913825, 0.032719728, -0.009650126, -0.1581231) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.025216818, -0.0022359875, -0.12852153, -0.003495527, 0.058687817, 0.005596214, -0.029446207, -0.033708625, -0.095558025, -0.018134689, -0.0072379378, -0.061378617, 0.065822594, 0.04122825, 0.0903899, -0.024085391) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.12524936, -0.043412864, -0.061029445, 0.07299882, 0.069372505, 0.08731561, -0.0033887848, -0.041316967, -0.055528387, 0.035052698, 0.091037504, -0.026066255, -0.102841415, 0.034771822, 0.009706607, -0.10095511) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.11310718, -0.098786786, -0.029074667, -0.05250082, -0.10541161, 0.09621685, -0.14312825, -0.09211866, 0.0072362097, -0.010769236, 0.04380973, 0.07227443, -0.024610572, -0.06353912, -0.056663837, -0.00031348024) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.09799025, -0.05561765, -0.10684524, -0.09130704, -0.02029044, -0.08786181, 0.05247843, -0.11993557, 0.14233977, -0.020953557, 0.00042240537, 0.17486909, -0.16096553, 0.07802784, -0.013483595, -0.011192127) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.018832644, -0.022803077, 0.029230187, 0.0117769465, 0.013131861, -0.024574993, 0.0014103446, 0.019665701, 0.11111023, 0.07740727, 0.049223423, 0.042547356, -0.06180384, 0.071026035, 0.01826411, -0.12811337) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.03519996, -0.0016774106, -0.050582953, 0.02969125, 0.05295512, 0.07545041, 0.067757614, 0.058877304, 0.049738064, 0.019004583, -0.01497017, 0.1209859, -0.2608165, 0.088678956, -0.13987042, -0.26864347) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.18752822, 0.11003352, 0.12516375, 0.038616635, -0.015304432, -0.004085559, 0.043638982, -0.072326325, 0.05825277, 0.032821376, 0.034980297, 0.13589483, -0.14525366, 0.086786486, -0.0061633536, -0.13445525) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.091591895, -0.015429195, 0.008949045, 0.043816864, -0.013914944, 0.027358234, 0.13735779, -0.061025914, -0.025603358, 0.025186263, -0.054422177, 0.14329095, -0.045384888, 0.030472955, -0.060815126, -0.0016653932) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.05414674, 0.004098243, -0.0066918703, 0.07354258, -0.043389253, 0.009581423, 0.02754253, 0.06773356, 0.04515303, -0.040643677, -0.042861022, 0.06493858, -0.19283381, 0.12989104, -0.08427725, -0.17517987) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.107989915, 0.6592918, 0.81305116, -0.16442487, 0.0012615005, -0.028390218, -0.2076805, -0.10502958, 0.09900609, -0.006584518, -0.052727483, 0.08136194, -0.10383863, 0.04554994, 0.034533855, -0.13303411) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.30287343, -0.29062536, 0.07027857, 0.6074594, -0.06719367, 0.04593709, -0.082563914, -0.040913377, -0.056906268, 0.015311079, -0.031499416, 0.051717397, -0.09323974, 0.07442548, -0.013729593, -0.13460834) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.16709657, 0.3004767, -0.013979588, -0.057253104, 0.09093283, 0.027809702, -0.093225345, -0.0074986434, -0.09183636, 0.06686104, -0.0025844949, 0.008254446, -0.12355159, 0.026022097, -0.014114874, -0.12702648) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.007892159, -0.030996205, 0.060949434, -0.1052953, 0.054757163, 0.0049502593, 0.049148757, 0.024501031, -0.0044443845, -0.06428674, 0.02081297, -0.010449093, 0.0006796615, -0.116483375, 0.07895969, -0.09875419) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.036055494, 0.0040580053, -0.060177404, 0.01923804, 0.0746371, -0.027677456, 0.018235246, 0.11637139, 0.016069638, 0.012379733, 0.08045141, -0.01632434, 0.04212761, -0.03840027, 0.026693087, 0.010439889) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.02060023, 0.014448262, -0.0688781, 0.005006292, -0.045237195, -0.03089264, -0.10705499, -0.062051166, -0.010832554, -0.025314834, 0.09144002, -0.038024154, -0.06706859, -0.055244148, 0.037440185, -0.076413795) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.040396523, 0.0043113614, 0.043053027, 0.014303586, -0.015000269, 0.00072920515, 0.12018328, 0.07367008, 0.03514693, 0.08594737, -0.040571876, 0.047524042, 0.06355542, -0.011198771, 0.020886287, -0.0136213675) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.0059468625, 0.091515474, -0.03255579, -0.08121742, 0.092769906, 0.0031186666, -0.009267876, 0.009321596, 0.086935714, 0.100779824, 0.026747864, 0.085568935, -0.032602098, -0.004454295, -0.011054594, 0.08759095) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.024563242, -0.093507014, -0.025027728, 0.05411134, -0.11971296, 0.03569462, -0.10608399, -0.014252344, -0.0030740744, -0.060720615, -0.040373884, -0.05067482, -0.020264626, 0.022318961, -0.06568771, 0.10153597) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.05366157, 0.05012672, 0.010328434, -0.03369169, 0.11503748, 0.059484664, -0.0016224221, -0.05684909, 0.044594545, 0.06982947, 0.048649967, -0.0009415055, -0.029072171, -0.1392011, -0.058411654, -0.14244273) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.018280528, -0.021797685, 0.045640808, -0.005444198, -0.076482624, -0.07411756, 0.03619293, 0.0696966, 0.14507923, 0.0238164, 0.034416225, 0.115115575, -0.019453438, -0.11304696, 0.017618693, 0.031941455) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.0037019202, 0.009083433, -0.014298384, 0.07596038, -0.008830719, 0.03493475, 0.029754981, -0.041310363, 0.017609261, 0.068001464, 0.040328622, 0.08654431, -0.0115386695, -0.09800658, 0.060005356, 0.038184598) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.07291011, -0.028364709, -0.017231965, -0.119886935, -0.0070341835, 0.04227094, 0.011697326, 0.014779357, 0.047855932, -0.06823143, 0.053692754, -0.09584762, -0.0010860756, 0.01818491, 0.017221306, -2.6360969e-05) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.00700668, -0.06970981, -0.069699794, 0.025218759, -0.05516095, 0.041521274, -0.073224254, 0.03281639, -0.035012044, 0.0011292085, 0.013880517, 0.03215441, -0.039938074, -0.05514986, 0.037627354, -0.089501984) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.06485068, 0.073909126, -0.20852885, -0.074550554, 0.030342076, 0.0060152677, 0.057080176, -0.061303694, -0.026844798, 0.0312766, -0.09419688, 0.05710712, 0.085175194, -0.054999884, 0.09518784, 0.05660951) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.00633142, 0.021536225, -0.098287195, 0.040192537, 0.043196965, -0.013291022, -0.011696372, 0.09544832, -0.037339088, -0.01466889, -0.012527002, -0.026837317, -0.05629395, -0.026563983, -0.03519713, 0.057014566) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.06742553, 0.16203931, 0.035801552, 0.04725366, -0.006839323, 0.012659727, 0.07697063, -0.07247078, 0.022152634, -0.008589092, -0.0399024, -0.047231335, -0.039026804, -0.104366235, -0.12933916, -0.1055458) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.07643264, -0.024429707, -0.055225924, -0.15168265, -0.092801124, 0.050427075, 0.009033653, 0.015783686, 0.059598852, 0.018057335, 0.0041746157, -0.09822667, -0.064765744, -0.08420155, -0.10469114, 0.0027721566) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.004969701, -0.019684803, -0.0023362797, -0.07781452, 0.009495337, 0.030909099, -0.0020470577, -0.06995148, -0.056489125, 0.067498975, -0.033915773, -0.05419307, -0.043032195, 0.024316503, 0.072555274, 0.08646344) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.049429715, 0.024585338, -0.04228766, 0.058864743, -0.056415882, -0.09031061, 0.098517254, -0.020772228, 0.11875924, -0.042835537, -0.04006169, 0.014155194, -0.14321163, 0.035287462, 0.038775966, -0.026632061) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.080034316, 0.0075196186, 0.02557883, -0.09059167, 0.014115703, -0.07790354, 0.026459787, -0.13106064, 0.0686173, 0.035748597, -0.07041808, -0.010261114, -0.117917664, -0.00060949405, -0.096128836, 0.08858381) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.025792174, -0.043125387, -0.02438486, -0.06168551, -0.09020301, -0.098141, 0.050459802, -0.10763907, 0.07656642, -0.055485874, 0.0106896255, 0.045363974, -0.055227973, 0.041982487, 0.01939652, 0.01933086) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.009202173, -0.09083309, 0.061039034, 0.014430451, -0.121787645, 0.02170057, 0.033894107, -0.055819105, -0.06420505, -0.06792123, 0.07905533, 0.12970804, 0.008477709, -0.00758126, -0.018335834, -0.0069725495) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.098140866, -0.0077063874, 0.094662495, 0.02921294, -0.14219654, 0.08993935, -0.12432894, -0.049365994, -0.10765265, 0.0030529539, 0.028907653, -0.14933185, 0.15688027, -0.09607701, -0.038473636, 0.066820934) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.109544456, -0.022704171, 0.025218716, -0.051683217, -0.05289845, -0.012563853, -0.11210084, -0.06563382, 0.01357761, -0.109513275, 0.1082599, 0.081950404, -0.07320254, 0.040982097, -0.029645588, -0.059207924) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.06890508, 0.027215194, 0.022536399, -0.031923305, -0.08707902, 0.06516953, 0.058389448, -0.084786564, 0.10831499, -0.023406982, 0.035605416, 0.10951021, 0.033340465, -0.00094364764, -0.27169314, 0.08120589) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.05146102, 0.09468764, 0.060545336, 0.07217722, 0.0038827718, 0.035922326, 0.09512193, -0.024249235, -0.10889323, -0.13436069, 0.047264673, -0.007881797, 0.045006167, 0.05478931, 0.010914823, 0.06335571) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.107982196, 0.040635265, 0.009674093, -0.100797616, -0.01037918, 0.021897992, -0.055415664, -0.036284357, -0.046191048, 0.016217427, 0.043449745, -0.027171357, 5.0366543e-05, -0.116625465, 0.08526652, -0.047906976) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.039177623, 0.06776419, -0.06735239, -0.060768597, -0.05232136, 0.028872924, -0.055196103, 0.005945679, 0.09334819, 0.061021294, 0.10189038, -0.015966283, -0.012409853, 0.032773286, -0.020590406, 0.09946743) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.023877263, -0.0026558377, -0.043284733, 0.027011143, 0.0027714875, -0.042179793, -0.013992048, 0.047184926, 0.028351655, 0.0020465835, -0.0042692395, 0.030745761, 0.20748039, -0.03634542, 0.08284478, 0.07486638) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.064863555, -0.061631463, -0.06939373, -0.058285333, 0.0476506, 0.04547357, -0.026650984, 0.0038155748, 0.027852671, -0.13588051, -0.024810072, -0.0040653087, 0.026684485, 0.07416254, 0.018078407, 0.055533618) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.0649953, 0.09668107, -0.06574944, -0.004875135, 0.025712471, -0.0387325, 0.105153784, -0.007855383, 0.08342693, -0.1808626, -0.04671476, 0.08321175, 0.02682099, 0.033327505, -0.0004884546, -0.018751396) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.045200143, 0.009577292, 0.016348368, 0.014176594, -0.060916077, 0.047202036, 0.0560356, 0.025348397, -0.04523417, -0.120603204, -0.1354737, -0.1443878, -0.01837244, -0.046950243, -0.06550495, -0.034148633) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.08332346, -0.0130338585, 0.023027698, -0.017426869, -0.0039050183, -0.062203135, -0.049673438, 0.06722776, -0.044250526, -0.123791814, -0.03686481, 0.055875216, 0.10666146, 0.03328583, -0.05980216, 0.040882327) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.0070009707, -0.033739816, -0.028997937, -0.05703844, 0.018149657, -0.046305824, -0.018351201, 0.13682646, 0.025964893, 0.012340385, 0.0385617, 0.15253662, 0.12500963, 0.036884084, 0.029603606, -0.070373885) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.027597323, -0.009051174, 0.020609139, -0.030550875, 0.018079022, 0.06926881, 0.053048816, 0.036067955, -0.11558739, -0.04067844, -0.016622169, -0.19319125, -0.11470861, -0.06814917, 0.058138814, -0.063312866) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.034770187, -0.114568174, 0.044806715, 0.025352184, 0.07940104, -0.05224068, -0.008557804, -0.027625272, -0.028154701, -0.00554887, 0.06613189, 0.03483264, 0.07055817, 0.00516033, 0.035881147, -0.042731375) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.033385437, -0.0018418881, -0.0057918127, 0.02121062, -0.0052135587, -0.07495365, 0.088017695, 0.09515293, 0.07774717, -0.036435105, 0.049255703, 0.12696859, 0.054903723, 0.0424865, 0.014382958, -0.04382939) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.009779173, -0.0141778495, 0.02382084, 0.0731548, -0.073161975, -0.0810154, -0.087937035, -0.10825817, -0.052717503, -0.19617619, 0.079801455, -0.061422553, -0.05983676, -0.076028965, -0.012642849, 0.07324476) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos0 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(0, 0); + imageStore(out_image, store_pos0, max(result0, V4(0.0))); + V4 result1 = V4(-0.0036242744, -0.005289604, -0.006082875, -0.004486832); + result1 += M4(0.11041926, -0.013642997, 0.01941969, -0.13551107, -0.07636666, 0.14380749, -0.08821902, -0.027975705, 0.076648906, -0.014130777, -0.014306416, -0.01326992, -0.17404439, -0.019723644, -0.0150222, -0.08196701) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.11145045, 0.07703348, 0.013738923, -0.041917086, 0.08303143, -0.0019729033, -0.035230268, -0.05759371, -0.09996412, 0.017979221, 0.035272297, -0.010122982, -0.065574266, -0.082887724, -0.11180638, 0.045597043) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.06041171, -0.047889072, 0.013032555, -0.05674196, -0.049768846, -0.16431013, -0.039846253, -0.05696949, -0.03384903, -0.005812267, 0.027481828, 0.027965613, 0.04702176, -0.014047294, 0.0040174993, 0.07870478) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.0061399234, -0.029781692, 0.0342467, -0.09243609, -0.1671689, -0.089433275, 0.10100709, 0.050218426, -0.024030792, -0.035494413, 0.020345375, 0.043102298, 0.05268208, 0.016824873, -0.010671081, -0.029339425) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.0850371, -0.03021448, -0.0006579921, 0.05870759, 0.17931254, 0.012252652, -0.029077038, 0.1557844, 0.068633616, -0.010727571, 0.0111757, -0.0006619933, -0.061237447, -0.080668695, 0.03694657, 0.005882804) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.039284453, 0.12938578, -0.054949645, 0.044601575, -0.061479997, 0.012750529, -0.013957438, -0.05087325, 0.031530827, -0.11414851, 0.06507259, -0.024469497, 0.0015316467, 0.097087026, 0.028733607, -0.049078647) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.110952854, -0.048297267, 0.0016829252, -0.023874594, 0.30690274, 0.09298809, -0.007255941, -0.12696588, 0.022794286, -0.004423633, 0.038792472, -0.08485592, -0.11818199, 0.052286647, 0.017924253, 0.0004946917) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.052405115, 0.031178992, -0.069990896, 0.017708346, 0.04254406, -0.06868603, 0.004948076, -0.04169902, 0.07126781, 0.0133477645, 0.04255837, -0.10888506, 0.042417526, -0.019762838, 0.022641428, 0.060820926) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.05297054, -0.038713496, 0.047507487, 0.06328998, 0.027493902, 0.025763825, 0.01562572, 0.004883579, -0.04729108, 0.05243348, 0.007495019, 0.09996488, 0.06399121, 0.028784584, -0.06979498, -0.026982049) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.11264847, 0.076772854, 0.06285069, -0.1360328, -0.07947071, 0.061208326, -0.0040222886, -0.010650883, -0.2891781, 0.0907444, 0.040094197, 0.104091436, -0.07808069, -0.08122291, 0.011603443, 0.07125012) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.092229374, -0.055039562, 0.0021436454, -0.0498183, 0.1368853, -0.06764557, -0.04116273, -0.061664455, 0.0005088927, 0.11308255, 0.010504985, -0.0002396099, 0.014526815, -0.056015983, -0.0082915425, -0.0199536) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.018808275, -0.019995568, -0.020682476, 0.042709347, 0.09616552, -0.016587196, 0.08691799, -0.04449925, -0.006192871, 0.028777286, 0.105152585, -0.000563213, -0.0109313885, -0.037859783, 0.04554028, -0.019829245) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.038143747, -0.058929414, -0.06907299, -0.067938074, 0.12453968, 0.04741291, -0.13743295, 0.029108092, 0.11761386, -0.03945222, -0.013060284, -0.038628574, 0.014531108, -0.02067494, 0.026703151, 0.027414827) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.0825296, 0.0844686, 0.04532099, -0.0025514832, -0.07179565, 0.081927665, -0.023587814, -0.030306004, -0.06678964, 0.05848835, 0.060262848, -0.022264108, 0.025425484, 0.13242587, 0.079798795, 0.016780458) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.0016233135, 0.08910649, 0.018997066, 0.04650938, 0.14032406, 0.12204884, -0.08651441, 0.029024985, 0.20210628, 0.05504176, 0.078186005, 0.06270403, -0.011137399, 0.039159857, -0.053795222, -0.006939948) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.056993973, 0.015646556, 0.052484535, 0.10150468, -0.08409195, 0.09905435, 0.08097561, 0.098143466, 0.0554386, -0.11730653, 0.0471719, 0.010522996, 0.0015789813, -0.0025814774, -0.0012255408, 0.0068571744) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.03129706, -0.08672031, 0.036483243, 0.11534501, 0.0060086814, 0.06399479, 0.03891094, -0.10566114, -0.05226492, -0.015754102, -0.10434002, 0.0804794, -0.08340187, 0.020774677, 0.02658139, 0.04153418) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.07279303, -0.04277622, -0.022332724, 0.033348862, -0.0016894583, -0.06748876, 0.08726391, -0.02130423, 0.034252193, -0.11472518, -0.030995417, 0.07674198, 0.040180724, -0.036847617, -0.014826158, 0.040430155) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.04897707, -0.07583299, 0.0026693586, -0.01774975, 0.06785023, -0.021615764, -0.08565717, -0.0624921, -0.09141639, -0.048468947, 0.031531617, 0.08867062, -0.09310766, 0.070388615, 0.04518173, 0.019329583) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.21140064, -0.118781514, 0.008640593, 0.045391012, 0.050383408, -0.009522922, -0.030051503, -0.014282942, -0.100506015, -0.12771232, -0.067873515, -0.0555918, 0.075603716, -0.050421897, 0.07426838, 0.055758342) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.069717295, 0.019385578, 0.0016496398, -0.009461111, -0.32446986, 0.014274383, -0.03375793, 0.0045403335, -0.19697425, 0.11747762, -0.05951152, 0.04618126, -0.019383604, 0.09763079, -0.0111384215, 0.06113077) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.017358493, 0.09005723, 0.023664653, -0.119806506, 0.23388506, 0.102560215, -0.050751198, 0.03816619, -0.08360957, -0.0020551959, -0.09166499, -0.11925602, -0.10184179, -0.0011944897, -0.021166516, 0.081681125) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.14774026, 0.047280684, -0.025804112, 0.0927594, -0.12006226, -0.05681688, -0.071410835, 0.07820292, -0.023836713, 0.06960154, 0.04275955, 0.1459012, -0.014135709, 0.017991187, 0.07153791, -0.08033414) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.13833062, -0.018163104, -0.030517854, 0.0315802, 0.07727878, 0.06901876, -0.054639325, 0.046008337, -0.1538294, 0.11000659, 0.02419592, -0.13985842, -0.14143434, 0.050663177, -0.020025121, 0.024202183) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.14155301, 0.086209945, 0.07010831, 0.02121562, -0.03433445, -0.07131087, 0.021530515, 0.06517639, -0.021944242, -0.07625894, -0.03997962, 0.008472106, -0.020765347, -0.15909708, -0.030594908, -0.03816833) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.06867411, 0.02608135, 0.085751206, 0.010238442, -0.17581658, 0.07887809, 0.04311893, -0.07050578, -0.050487828, -0.0010305465, 0.042140655, 0.063122176, 0.18043864, -0.027916417, 0.027330559, 0.02514334) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.08635559, -0.059645046, -0.045859423, -0.027666368, -0.15682614, -0.05086466, 0.013070787, -0.021805638, -0.1735552, -0.042729724, -0.047796786, -0.08674762, 0.13148005, 0.06613158, 0.06371481, -0.007359133) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.15523273, -0.040036023, -0.04877897, -0.03211038, 0.06439256, 0.00686451, 0.0005281419, -0.0009669833, -0.015633138, -0.029525949, -0.096842505, 0.03788632, 0.21441686, 0.014666519, 0.047690272, 0.029601887) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.21543196, 0.024521904, -0.057729613, 0.032250684, -0.062475014, -0.108686805, -0.01702861, -0.0057732486, 0.17342022, -0.036859687, 0.054292653, -0.049758274, 0.1505113, -0.056047626, 0.06845113, -0.045679115) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.026718406, -0.102589734, 0.023490187, 0.041583966, 0.02092212, -0.09446896, -0.0041000536, 0.007689522, 0.09786688, -0.08643873, 0.07668125, -0.067850634, 0.020798609, -0.08430466, -0.039359145, -0.07386437) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.27284223, -0.03346459, -0.255149, 0.098367415, 0.011605497, 0.07360927, 0.029931255, -0.010709494, -0.027306756, 0.06444499, -0.046451952, -0.14781758, 0.14734891, -0.019737102, 0.065264426, 0.0033951127) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.4255001, -0.022696191, -0.06455307, 0.118653014, -0.10078108, 0.08211034, -0.025757251, 0.13471709, 0.036728147, 0.11220965, 0.09924172, 0.020902677, 0.016052186, 0.055675395, 0.15283176, 0.1740219) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.109029, 0.049718946, 0.038869243, 0.100699164, 0.016381297, 0.0063549043, -0.07356171, 0.017434694, 0.0023371682, 0.061028227, -0.043292493, 0.020546578, -0.15911047, -0.08130223, 0.06250305, 0.0070966114) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.3429501, -0.21277043, -0.049093653, 0.054242488, 0.03864163, 0.15202525, 0.13077521, -0.024716642, 0.12944369, -0.04242532, -0.0984026, -0.0075546815, 0.049691617, -0.26148278, 0.11690892, 0.026852012) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.21194349, 0.5033045, -0.15561762, 0.29727763, -0.053240307, 0.06598053, 0.03536803, -0.05529177, 0.003915308, -0.030083273, 0.11567217, 0.086338036, -0.08228356, -0.098615445, -0.017176205, -0.04703896) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.40610483, 0.37556309, -0.1011902, -0.17072535, 0.0418945, -0.03117632, -0.015956977, 0.031467345, 0.06438388, -0.065987475, -0.023303997, -0.00033362446, 0.016899861, -0.16399954, 0.19797426, 0.02526555) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.20880018, -0.04814317, 0.034842845, -0.08506645, 0.023150053, 0.17523171, -0.08906912, 0.018768176, -0.15747237, -0.013412836, -0.010350671, 0.081620745, -0.07663209, 0.06631126, 0.027957207, -0.011831954) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.012521762, -0.07600875, -0.047059476, -0.01805801, -0.048674945, 0.12181972, -0.017663226, 0.0432318, -0.14352627, 0.06650046, 0.035068337, -0.013101888, -0.067864515, -0.04194169, 0.037848126, 0.09747346) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.09322095, -0.04626651, 0.06241107, 0.08410371, 0.08864914, -0.005793155, -0.048492763, 0.0022041746, -0.13943855, -0.02801761, -0.06640211, 0.013866674, -0.16187423, -0.10009419, 0.0035107725, -0.011626992) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.16228244, -0.021634847, 0.05236101, -0.071439035, 0.027690664, 0.09696895, 0.040318534, -0.061701674, -0.1430865, 0.05777522, -0.099094726, 0.0017936935, 0.0753561, 0.03443709, 0.014760066, -0.014573198) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.038053274, 0.1179154, -0.042510927, -0.026590457, -0.18273753, -0.032407228, 0.057307344, -0.024179177, 0.012070812, -0.04441303, -0.07412736, -0.028880898, 0.013157441, 0.024619505, -0.026092878, 0.052096672) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.020279795, 0.029085517, -0.095050074, -0.104299106, 0.0037579818, -0.017660499, 0.030140616, -0.021265104, -0.14832298, -0.0051694326, -0.0037362757, 0.014919578, 0.05259005, -0.07513208, -0.0146490075, -0.020174798) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.060481466, 0.064523265, -0.016726509, -0.030172478, 0.06568881, -0.02927993, -0.034046184, -0.039543655, -0.029001983, -0.059581038, -0.03352741, -0.023694208, -0.079014026, 0.03805421, -0.079779446, 0.009257319) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.14134443, -0.018266985, 0.00225007, -0.016296288, -0.008975656, -0.1963972, 0.093705304, 0.029402032, -0.012637663, 0.040354986, 0.066651635, -0.029830167, -0.006835361, -0.06894832, -0.013944294, 0.0091162175) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.114390135, -0.00016745036, 0.12920782, 0.08555781, 0.074522816, -0.13803281, 0.07790181, 0.06764221, -0.06504244, 0.19695061, 0.007874553, -0.008984066, 0.0646646, -0.045174103, 0.045999963, -0.023214761) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.10191958, -0.03874261, -0.037013978, -0.03554504, -0.15408207, -0.03912224, -0.0025491773, 0.02514618, 0.0081371935, -0.011157079, -0.049409658, -0.09066647, -0.082534716, -0.140024, -0.07047659, -0.010767147) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.11951902, -0.033060033, -0.017517444, -0.068778016, 0.13182302, 0.06574557, 0.033769637, 0.007278625, -0.02074191, -0.01054671, -0.032349627, -0.14870508, -0.018687231, -0.10657922, 0.018227793, -0.1510748) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.10524415, -0.082600325, -0.06009325, -0.07936977, -0.022961827, 0.07552152, 0.0772994, 0.049266733, 0.0011367839, 0.05645326, -0.03506292, -0.027761465, -0.04068284, -0.0372859, -0.007829683, -0.0029989474) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.24137077, 0.11253418, 0.014269552, -0.0049034758, -0.15284607, -0.17572679, -0.010111458, -0.050182037, 0.016863324, 0.028379707, -0.008467809, 0.05363246, -0.0059467405, -0.06815264, -0.04820141, -0.039045922) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.11472866, -0.004083763, -0.05435374, -0.04374669, -0.24542388, -0.13271864, -0.030852046, -0.071296185, -0.04381048, 0.18751605, 0.013991484, -0.008890562, 0.027254371, -0.13989857, -0.026445393, 0.106878355) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.05933585, 0.1296524, -0.24849, 0.061089203, -0.011110502, -0.046969563, 0.057217665, -0.10190127, 0.04149168, 0.013625205, -0.009964156, 0.00655208, 0.12474139, 0.05813398, 0.034603283, 0.102029055) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.23110618, 0.025900839, 0.09039707, -0.03600807, 0.05083383, 0.0007133113, 0.031209944, -0.05488001, -0.085672684, -0.05489757, -0.023722759, 0.01343279, -0.042107046, 0.05121416, 0.056957364, -0.07334564) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.08630733, -0.023526754, -0.04581732, -0.06983333, 0.052523002, 0.013817501, -0.04829048, 0.029134845, 0.04165144, -0.01300882, 0.012012411, 0.045277026, -0.07602016, 0.17785713, -0.055950396, -0.023746358) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.049360923, 0.16614445, -0.011222778, -0.024431104, 0.07472029, -0.005999077, -0.12143143, -0.06615785, 0.11231663, -0.07111464, 0.0069506564, 0.031068586, -0.0065435125, 0.0860152, -0.10510063, -0.007849685) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.16503394, -0.030097283, -0.06097495, 0.014028306, 0.23415084, -0.07284573, -0.015977817, -0.00022654721, -0.26720545, 0.031500626, 0.049804825, 0.0021022758, 0.02852822, 0.0041927802, -0.028819656, -0.12635648) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.057454627, -8.802682e-05, -0.026928894, 0.057943676, 0.16152431, -0.020799745, 0.073038295, 0.06438425, -0.11345996, 0.0053526172, 0.03072667, 0.09149475, -0.14405242, 0.08746874, -0.017918596, -0.08689966) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.08908187, -0.08191689, 0.06759692, -0.036632597, 0.048351426, -0.04757934, 0.011406578, 0.012961949, -0.06647717, 0.051628597, -0.06885519, 0.12285056, -0.018870829, 0.07443567, 0.016951323, 0.013862363) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.042692978, 0.077293925, 0.03896673, 0.0425908, -0.28592974, 0.03445474, -0.01632285, -0.011563877, 0.07550368, 0.03203724, 0.07518867, 0.06220217, 0.1314145, 0.032467943, 0.02704701, -0.024360724) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.15659915, -0.05721017, -0.091016546, 0.031778496, 0.02089697, -0.02270808, -0.06612838, -0.057273105, 0.1423093, -0.036797423, 0.11714067, -0.026786275, 0.38642588, -0.011024934, 0.059736818, -0.036764227) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.058708556, 0.03706921, -0.0008710216, 0.04416315, -0.15748537, 0.0007599563, -0.06059174, 0.06445689, -0.091981515, 0.038883362, 0.010335649, 0.10921828, 0.033286862, -0.067116, -0.05037677, 0.02959022) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.012230355, -0.06236505, -0.029447619, 0.011503981, 0.057088036, -0.0028359322, 0.053800084, 0.040693726, 0.009525737, -0.016998239, -0.058721464, 0.058173772, 0.13641192, -0.02478606, -0.0038512833, 0.02965093) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.081262305, 0.040893327, -0.06860977, -0.06282487, -0.002353218, -0.0024606825, 0.0011623024, 0.08530419, 0.12838128, 0.09145752, 0.09669559, -0.0040755267, -0.0032358633, -0.026013672, 0.09415612, 0.05954407) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.052563474, 0.07604839, 0.07239139, -0.06243014, -0.029170431, 0.010141796, -0.22448957, -0.04312275, -0.03771702, -0.038096126, 0.03964655, 0.0014458939, -0.09441405, -0.05434206, -0.11259064, 0.06293755) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.11496349, 0.02573986, 0.027303828, 0.0748392, -0.27423587, -0.007129563, 0.014165222, -0.0012558092, 0.008829933, -0.05276369, -0.023303749, -0.035579868, 0.17526165, -0.005927478, 0.0015676081, 0.052291207) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.05625258, -0.005404888, -0.029767733, 0.02800696, -0.28336978, -0.027190037, -0.016843513, 0.038721167, 0.0885064, 0.07903839, 0.060136586, 0.016053334, 0.0729737, 0.16545194, 0.06819913, 0.002046832) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.0738362, -0.052854244, 0.02799776, -0.0011567409, -0.008778064, 0.07761802, -0.061677296, 0.07041691, -0.059107147, 0.010733205, 0.023213526, 0.02539794, 0.008882071, 0.00053705944, -0.005576075, -0.02450448) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.066811346, 0.01722091, -0.037251867, -0.019496892, -0.26120344, 0.09679296, -0.019666381, 0.036662705, 0.050680723, 0.12882115, 0.019879477, 0.03638969, 0.0076786554, -0.07982096, 0.014343399, -0.06562858) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.1808875, -0.012710979, 0.008214454, 0.083973184, -0.20222192, -0.016720204, 0.04636568, 0.17955957, -0.056773156, 0.02040038, 0.063023746, -0.075231224, -0.15711196, -0.09329235, -0.014461877, -0.15659945) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.0070561194, 0.040393945, 0.027761368, -0.011914938, -0.24730462, 0.010503104, -0.1013549, 0.011239225, -0.10323379, -0.105025046, -0.10390131, 0.030872915, -0.045116328, -0.10852855, -0.031169297, -0.033775616) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.020622585, 0.09235388, 0.045661643, 0.023561945, -0.12915225, -0.09366666, 0.02256627, 0.07274897, -0.06484767, -0.040414084, -0.06418333, 0.07192602, -0.0013509926, 0.03002767, 0.03440333, 0.0015422223) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.013748483, -0.038822625, 0.004070744, -0.0035835847, 0.05616971, -0.13141598, 0.0648682, 0.050821226, -0.06351425, 0.13671215, 0.053132717, 0.023813974, -0.06612636, 0.0570178, 0.06354147, 0.07083255) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.018749023, 0.033468246, 0.08911305, 0.06979292, 0.16021834, 0.017705414, -0.016056716, 0.08098104, -0.0104938485, -0.104511894, -0.0029400282, 0.0035629903, -0.12257078, -0.010939516, -0.021454025, -0.108183004) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos1 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(1, 0); + imageStore(out_image, store_pos1, max(result1, V4(0.0))); + V4 result2 = V4(-0.007836888, -0.017780114, -0.0030567038, -0.012376305); + result2 += M4(0.064867124, 0.08116552, -0.042717513, 0.07135525, -0.06274602, 0.026776405, 0.026968006, 0.009218932, -0.054236013, 0.02801656, -0.12646192, 0.035681557, 0.05499709, -0.1261364, -0.042787287, -0.051813222) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.036879618, 0.062372934, -0.037162654, 0.10689936, 0.0753199, 0.09334855, -0.12810078, 0.015713481, -0.0400899, -0.07045015, -0.13400082, -0.030875336, 0.0076537947, 0.01008903, -0.06466983, 0.068072855) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.049684588, -0.04772579, 0.037324946, 0.024771214, 0.1378929, -0.19453223, -0.054536548, -0.08664942, 0.07479053, -0.043426964, -0.07761122, 0.030413933, -0.12079091, -0.017851325, -0.061491624, -0.039906256) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.0050705587, 0.012214411, 0.066997685, -0.042899966, -0.054423973, 0.10105104, 0.08845574, -0.024304843, 0.035645276, 0.057728104, 0.009663384, 0.026262198, 0.09677756, -0.055687472, 0.03498619, 0.070468) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.075751044, 0.07946137, 0.008891481, 0.018256815, -0.004769432, 0.22556365, 0.07304193, 0.025247838, 0.09156931, -0.04650038, 0.07169809, -0.13114129, 0.104602404, -0.03157063, -0.064767495, -0.017320616) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.12617247, -0.03360223, 0.012468606, -0.04125704, -0.06796843, 0.036802657, 0.052807115, 0.08315858, -0.043726366, -0.06982438, -0.11247679, -0.052452747, -0.0851437, -0.08498668, -0.056587644, -0.026131725) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.12872946, 0.06651097, -0.021923192, 0.089969814, 0.043146133, 0.033607785, 0.0664458, 0.04983982, -0.035349283, -0.00602551, -0.041191462, 0.070467085, -0.058300726, 0.020012807, -0.05781061, -0.082117796) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.040243853, 0.061657246, -0.003927181, 0.0003782733, 0.14085606, -0.064911574, 0.032850765, -0.17609514, 0.05409894, -0.055293016, -0.11594751, -0.035899278, -0.0151736755, 0.00023742852, -0.014663413, -0.10710294) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.10809791, -0.01882408, 0.071670584, 0.004769354, 0.14412333, 0.00061455363, -0.013466365, -0.00559433, 0.057903465, -0.053236686, 0.045947924, -0.011523849, 0.05577444, 0.08778107, 0.015510017, -0.00241558) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.045244776, -0.056265276, 0.018449282, -0.048074085, -0.008075517, -0.0067596366, 0.10184961, -0.011604453, -0.0613305, 0.034325946, 0.020245792, 0.016657533, -0.10425194, -0.0016832374, -0.08741105, 0.09788958) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.08257654, -0.076758094, 0.042764682, -0.09449557, -0.030543631, 0.025712078, 0.016326576, -0.022411717, 0.060647313, 0.13265954, -0.099330194, 0.00442133, 0.05853471, -0.02471072, 0.021411646, -0.06349755) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.15767977, -0.16815087, -0.008513889, 0.019822152, -0.10052779, 0.021605404, 0.08858671, 0.022810232, -0.043820005, -0.039937567, 0.0070138588, 0.08095023, -0.1263726, -0.107525714, 0.012859529, -0.018182985) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.049787004, -0.0026324473, -0.040232815, -0.058697402, 0.10134607, 0.024951793, 0.05546618, -0.077452205, 0.04918382, 0.01528203, -0.13156049, -0.100772664, -0.060207028, -0.00081977225, -0.07573476, -0.0031026392) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.023565786, 0.055348426, -0.03428737, 0.09799082, -0.055268943, 0.113410234, -0.0026607362, 0.2528761, -0.04966023, 0.018075192, -0.040889144, 0.19475861, 0.08083943, -0.04727874, -0.13308279, 0.018120747) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.080781616, 0.013140725, 0.05523571, -0.12655741, 0.030729664, -0.063033506, 0.05181861, 0.07897962, 0.010540272, -0.14124185, -0.112319425, -0.06437154, 0.0041169217, -0.12251772, 0.017566338, -0.027628383) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.059300713, -0.002951986, -0.006505751, -0.06900276, 0.0040559974, -0.045834605, 0.19747004, -0.43178058, 0.05137482, 0.05150407, 0.07873406, -0.017233321, 0.05912573, -0.0255193, 0.022505127, 0.063944295) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.012822053, -0.08249302, 0.037735585, 0.029413765, -0.18334402, 0.059212074, -0.049098898, 0.12658434, 0.015182256, -0.008130877, 0.02941914, -0.017085813, -0.019478178, 0.10284055, 0.014324915, -0.05191756) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.07886133, 0.029362326, -0.078605086, -0.034613874, -0.018729337, -0.03743598, 0.07386679, -0.10731108, -0.16454412, 0.009396162, -0.06718669, 0.025988216, 0.02417802, 0.0144832395, -0.067050956, 0.026532969) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.039690178, 0.029612394, -0.03280664, -0.087282665, 0.047143094, 0.10279325, -0.003165382, -0.01049849, -0.09025831, 0.072282255, 0.12533449, 0.08718501, 0.013361927, -0.04690151, -0.021449031, -0.060457103) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.053461693, 0.073145464, 0.05972572, -0.01836888, -0.019485593, 0.16535361, -0.10352698, -0.057225022, 0.335944, -0.14922038, -0.051865768, -0.09299926, 0.07656307, 0.07449775, 0.048373137, 0.068631485) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.10068067, -0.011042619, 0.0016748653, -0.033888984, -0.024243513, -0.095328, -0.11664949, -0.117893904, -0.11824704, 0.0046946337, 0.1577316, 0.108014874, 0.0136241345, 0.083659, 0.09382239, 0.03989257) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.0045214263, 0.0099560805, 0.10306492, 0.090566516, 0.09249973, 0.0013719198, 0.020489851, 0.2311689, -0.016418936, 0.09004837, 0.10745057, 0.1436865, -0.032783713, 0.00042356804, -0.07277369, -0.14467028) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.05922811, -0.036643066, -0.102698706, 0.031125888, 0.116843805, 0.033747837, -0.06226649, 0.27403384, 0.033350803, -0.009099586, 0.0007810661, 0.13877438, -0.06683036, 0.029215446, 0.10675674, 0.026762793) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.12623322, -0.025143683, 0.005891797, -0.025634978, -0.02845588, 0.056256626, 0.020862829, 0.03541102, 0.019190941, -0.020842977, -0.021876287, 0.09791826, -0.11097346, -0.04083419, 0.104472704, -0.019207004) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.09595539, -0.00120303, 0.047564495, -0.034901615, -0.06700871, 0.10137784, 0.0024619205, -0.029052246, 0.00060329644, -0.08600963, 0.020294841, -0.0070577287, 0.01682353, 0.073653184, -0.014975451, 0.008448338) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.007343811, -0.024925608, 0.058315754, -0.0134660555, 0.09831449, 0.0074572656, -0.07337497, 0.025398139, 0.023413152, -0.06985647, 0.06997643, 0.055757385, 0.020339973, -0.0030641607, -0.020580562, -0.055939827) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.0121545615, 0.086005315, -0.0700809, -0.045746673, -0.03592779, -0.031454153, -0.03901285, -0.0020150472, 0.0033141787, 0.0051090075, -0.011993272, -0.017800413, -0.000247124, -0.006122932, 0.023016963, -0.045373186) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.048518464, 0.023002146, 0.09101621, -0.0150993895, -0.07802911, 0.0096329395, 0.055244595, -0.10065365, -0.028113408, 0.03402117, 0.03671585, -0.53991705, -0.06637541, 0.044506766, -0.23535141, 0.07314484) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.023382824, 0.054615013, -0.062259965, 0.04253972, 0.010439508, 0.010369349, 0.04495065, 0.013806849, 0.08643737, 0.13632987, 0.04923533, 0.025767887, -0.12344774, 0.138286, -0.2117759, 0.022032846) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.021846995, -0.2183748, -0.0669629, 0.052866135, 0.049547292, -0.0917945, -0.02691233, 0.0065659108, -0.02898437, -0.20100898, -0.07140602, 0.059327263, -0.110967755, 0.063089475, -0.039848804, 0.101310946) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.12304643, 0.08600901, -0.086043805, -0.4373529, -0.038673215, 0.08472819, 0.027486669, -0.08218865, 0.031040192, 0.01759818, 0.11964828, 0.1282844, -0.23848814, 0.09170438, -0.16936828, 0.057127636) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.025140189, 0.06579242, -0.018113695, 0.18109828, 0.01540709, -0.0104258945, 0.096301295, -0.13920261, 0.0032722757, 0.11594367, -0.0631355, -0.013543512, -0.10336542, 0.07085419, 0.0027251805, 0.12998712) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.03220046, 0.010742731, -0.1252253, -0.07583481, 0.06504055, -0.085044146, 0.06929313, -0.18942456, -0.019775147, -0.055204723, -0.09028095, -0.048191387, -0.014879141, -0.009397993, 0.08697113, 0.1709783) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.27971327, 0.1830119, 0.11491136, -0.27309558, -0.118982084, 0.10239444, 0.101834096, -0.0362393, 0.08575636, 0.010436211, 0.04213823, 0.017934479, -0.02270839, 0.11539529, 0.029402746, 0.10470581) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.35318425, -0.2154415, 0.09472703, -0.4916189, 0.0007722517, 0.061319403, 0.08076075, -0.090124115, 0.0040707984, 0.06506524, 0.03146755, 0.068794034, -0.024000535, 0.06742625, -0.05461802, 0.033735123) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.0607574, -0.011533519, -0.0052474192, -0.248598, -0.07101345, 0.064575456, 0.102011524, 0.034539964, -0.12731016, -0.035224803, 0.0065832534, 0.05208777, -0.021112682, 0.10908446, 0.07827533, 0.07603959) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.00989775, 0.042330835, 0.06137369, -0.208577, -0.083904624, 0.030999891, -0.011113184, 0.03510446, 0.040647447, 0.073540635, -0.06164029, 0.080778256, 0.022658829, -0.03230737, 0.023580452, 0.059405684) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.010226946, 0.05118414, -0.042006712, -0.054912392, -0.04581744, -0.042859137, 0.02994442, 0.036453947, -0.06546612, 0.01756355, 0.008825342, -0.046769146, 0.050681405, -0.03636642, 0.01996099, -0.010326923) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.11864682, -0.014455684, -0.024851566, -0.005084514, 0.011766685, 0.025016347, 0.0056383363, 0.0031668758, 0.041566223, -0.030836785, -0.10276229, 0.014021363, -0.08281395, 0.0053541, -0.041281406, -0.090839624) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.015251424, -0.015589548, 0.13332509, -0.08958094, 0.059801243, -0.037289582, -0.076657645, -0.11877761, 0.06345926, -0.036079213, -0.04139002, 0.08628088, 0.0985828, -0.09563308, -0.036603626, -0.068365596) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.07978581, 0.00020230809, -0.089976475, -0.004476051, 0.009229594, -0.09260871, 0.109404996, -0.048022695, 0.11503476, 0.008346313, -0.051847484, 0.12988037, 0.12733372, -0.02487283, -0.11312637, 0.016830392) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.08404981, -0.041387837, 0.06591291, 0.0138987135, -0.15861037, -0.039738968, -0.01591915, -0.00015206134, 0.11198493, 0.08536562, -0.019507006, 0.042737473, -0.1040353, -0.10862504, 0.046145402, -0.1053108) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.06252069, 0.050228078, -0.013423237, -0.12080195, 0.079800904, 0.028625904, 0.0020529972, -0.13143612, 0.10848543, 0.13957642, 0.031159222, -0.029737575, -0.11095812, -0.01722123, 0.02253779, 0.015025483) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.035642717, 0.072670974, 0.09227086, -0.006960762, 0.09344914, -0.10057379, -0.015956115, 0.037299167, -0.09408371, 0.11645593, 0.12852386, 0.03756607, 0.089232475, 0.106520265, -0.04271509, -0.019486358) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.047652014, 0.08011616, -0.084661625, 0.072131425, -0.062498335, 0.028728375, -0.058975317, 0.13279505, 0.21369706, -0.007902714, -0.022945374, 0.03773331, -0.000742448, -0.036565267, -0.0067201694, 0.04314417) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.026797093, 0.015207327, -0.004711901, 0.07134827, -0.05442815, 0.0404376, 0.0050826934, 0.048135206, -0.015051483, 0.040219456, -0.007174698, -0.02342508, -0.020744871, -0.118869595, 0.00059445656, -0.045250222) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.046181433, -0.12215475, 0.023687834, 0.023096219, -0.075024344, 0.015536311, -0.0004707185, -0.017627237, -0.023165371, 0.06782119, 0.005555786, 0.09824037, 0.06203637, 0.1158184, -0.019484244, 0.16694842) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.12960562, 0.104927845, -0.0904708, 0.052424215, -0.076434344, -0.045645006, 0.047053814, 0.0115662785, 0.08173085, -0.04085224, -0.021101506, 0.039589364, 0.1989789, -0.0794755, 0.022297597, 0.060057897) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.123900525, -0.030985635, 0.004160302, 0.05607748, -0.0171013, -0.013624366, 0.0036712473, -0.10706851, -0.08273937, -0.02643046, 0.07085563, -0.053843644, 0.050284095, -0.08355137, 0.0010697911, 0.062090505) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.02272455, -0.035506617, 0.10369482, 0.029699186, -0.027146531, 0.015098471, -0.014034926, 0.019962842, -0.10970273, 0.023633087, 0.029260712, 0.017109668, 0.047055863, -0.0023782027, 0.12681669, 0.021947091) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.012770919, 0.12520048, 0.124157116, 0.10329926, -0.09709967, -0.13523929, 0.049120467, 0.024366321, -0.04635268, -0.053958524, 0.034399845, -0.01698449, -0.011092493, -0.12745579, 0.029072868, 0.15284488) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.013705744, -0.023099976, 0.005381425, -0.067938924, 0.07149288, 0.06345384, 0.046428736, -0.03212844, 0.101470985, 0.046261217, 0.0478026, 0.0059452523, 0.029024677, 0.015864443, 0.025546491, -0.026913246) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.087239385, 0.07264499, 0.10672952, 0.07022457, 0.013734032, 0.09373572, 0.057128344, -0.104541086, -0.007673397, 0.03174853, -0.01684911, -0.06255564, 0.019564072, -0.06591953, -0.046294812, 0.1440224) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.026808104, 0.06483529, -0.07593498, 0.037337024, -0.010671756, -0.010567212, -0.007066666, -0.07766787, -0.05939303, -0.057808455, 0.08466622, -0.0015391326, -0.036044322, 0.0567753, -0.085352, 0.035164956) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.022483801, 0.03767137, 0.05925877, -0.057902772, -0.112983145, 0.014669387, -0.024587594, -0.013244178, 0.05199239, 0.017614657, -0.013509225, -0.089065865, 0.024319937, -0.04739392, -0.032571938, 0.08252971) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.0042097447, 0.0538892, 0.01428982, 0.07087082, -0.17661992, -0.086898774, -0.11922367, 0.051708452, -0.055376142, 0.050917257, 0.062313657, -0.09885456, -0.04933336, -0.043045714, -0.06600457, 0.11954962) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0356375, -0.06740745, -0.018059561, -0.03662148, -0.17665485, -0.037729207, 0.00893899, -0.014461336, -0.053481895, 0.038475066, -0.010790406, 0.110719785, -0.00088759273, -0.09699064, 0.1356421, -0.111286946) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.0003840645, -0.051959295, 0.018975744, 0.09185836, -0.07121334, 0.0412956, -0.045374684, 0.058718562, 0.059167754, 0.046799563, -0.027636718, -0.02538539, 0.01526129, 0.024174556, 0.10681165, 0.03545854) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.052171506, -0.057785958, 0.053119306, -0.03804127, -0.14660102, -0.015885042, -0.09493207, -0.012802389, 0.1077968, 0.023977436, 0.056385662, 0.13389829, -0.03409409, 0.05631319, 0.03504353, 0.054927893) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.022600029, 0.016337868, -0.046836406, -0.055491, -0.122020826, -0.050626907, -0.04049129, 0.044815224, 0.15334393, -0.040983606, 0.086781606, 0.12263395, 0.13598368, -0.029949063, -0.14003432, -0.16128942) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.060244635, 0.012587049, -0.06521883, -0.028400365, -0.044947445, 0.004762534, 0.0074034636, -0.13436104, -0.01495801, 0.04163697, 0.025688598, -0.0008085523, 0.05991574, -0.03701323, 0.08403229, -0.086293876) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.08802117, -0.07833956, -0.056918945, -0.0601627, 0.14277685, -0.027123487, 0.009378864, -0.13117345, -0.012370647, 0.05855523, 0.061166547, 0.020553557, 0.056749143, -0.16038379, 0.012941727, -0.007054367) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.0052366364, -0.023185035, 0.066899486, -0.083040215, 0.036027603, 0.037935726, 0.10562217, 0.094911985, 0.015138541, 0.019327002, -0.025114661, -0.027460491, -0.12451173, -0.014303632, -0.008734612, -0.017810417) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.06306168, 0.06890165, 0.036780767, -0.041341122, 0.056517236, -0.0030566754, -0.019079229, 0.031899083, -0.037550688, -0.027635846, 0.07805982, -0.06747401, -0.024682289, 0.1056633, -0.06990837, 0.030996542) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.070520036, 0.10911468, -0.041152567, -0.015369213, 0.048588928, -0.025702802, 0.044370543, 0.017154846, 0.060050506, 0.06794226, -0.0008629066, 0.04797938, -0.03938491, 0.054177005, -0.013213945, -0.023345994) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.062167376, -0.00857359, -0.029520046, -0.036285758, 0.067987315, 0.06819931, -0.055840652, 0.034848955, -0.054334853, -0.0355902, 0.0073488276, -0.037003614, -0.20238714, 0.09083669, -0.047831625, 0.08126633) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.09821312, -0.05826319, -0.0050994856, 0.07252472, 0.021788003, 0.003992055, -0.002852754, -0.061774842, -0.056406945, 0.012880579, -0.02117645, 0.10498327, -0.053611517, 0.0132983755, -0.062423445, -0.032335807) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.00546202, -0.04657244, -0.031963397, -0.021432558, -0.050222527, -0.025026033, 0.0075516254, -0.0022420678, -0.003297881, -0.015766388, -0.032450765, 0.1336898, -0.073937364, 0.014101668, 0.0017328606, -0.13124995) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.045719624, -0.0088148415, -0.04392568, -0.056650594, -0.0811456, 0.08487926, 0.029103303, -0.06995726, 0.08693881, 0.07955721, 0.0074128085, -0.015125575, -0.0014562369, -0.027886417, 0.080719724, 0.03795393) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.06792885, 0.043767866, 0.05669561, -0.014340465, -0.018706026, 0.05095034, 0.05180557, 0.024369225, -0.030198174, -0.010530062, 0.0022768613, 0.04936656, -0.09273409, 0.036811337, 0.008328851, -0.06674966) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.046439458, -0.0065687075, 0.050190717, 0.022581525, -0.08102853, 0.0486295, -0.059325356, 0.025582356, -0.0059659537, 0.11713113, 0.054784697, -0.065588325, -0.05982006, -0.060878433, 0.03242755, -0.053998288) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0217669, -0.006241051, 0.09188003, -0.026316183, -0.04602839, 0.03506404, 0.027233733, 0.02179772, 0.17619652, -0.03644682, -0.09131738, 0.012778665, 0.01541296, 0.012450838, 0.011495254, -0.0074731475) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos2 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(2, 0); + imageStore(out_image, store_pos2, max(result2, V4(0.0))); + V4 result3 = V4(0.0026036764, 0.0044385036, -0.0040474595, 0.009238027); + result3 += M4(-0.0714545, 0.065498, -0.061600354, -0.06415288, -0.018808343, 0.008028284, 0.014483795, 0.09299403, 0.090389, -0.052577298, -0.09260725, -0.024926452, -0.030117005, 0.076228775, -0.086576946, -0.0482364) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.08472644, 0.07986897, -0.018794218, 0.11723797, -0.10964081, 0.12213347, 0.09669454, -0.03164835, -0.12106711, -0.080865756, 0.053249404, 0.080235586, 0.07940725, -0.110999145, 0.012126561, 0.0017895659) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.0067173666, -0.007983506, -0.0460779, -0.023966307, 0.0263185, 0.014775326, 0.004461807, 0.014015511, 0.020959437, -0.058172524, 0.02585372, -0.010874219, 0.08365153, 0.0057499628, 0.08518352, -0.045191023) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.038094383, 0.045685858, -0.027216624, -0.03394116, 0.0040049246, -0.17535195, 0.033721115, -0.041036107, -0.0704733, 0.04439279, 0.00097406254, -0.024943428, 0.065802015, 0.10245639, -0.04642332, -0.004365874) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.014868387, -0.03844958, 0.12753086, 0.058758114, -0.27152115, -0.06634455, -0.09231862, 0.019900192, -0.01400693, -0.03001302, 0.0627821, 0.014236835, 0.033044692, -0.09042842, -0.094869114, 0.08472492) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.04007452, -0.10056755, -0.060954265, -0.055218622, -0.10610404, 0.15858957, 0.030801462, 0.05040157, -0.009074889, -0.095647804, 0.0052459603, -0.0055895536, -0.035407223, -0.03133827, 0.061817084, 0.046344828) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.13135906, 0.0031819667, -0.021039218, -0.065024935, -0.0011845811, 0.04016623, 0.0035092523, 0.085468344, 0.029049948, -0.020375462, -0.028043473, -0.012218688, -0.012207591, 0.022088192, 0.07060732, -0.024101438) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.03938141, -0.0053701983, -0.01068585, 0.02057677, -0.0819056, -0.07419435, -0.077708, 0.05281823, -0.08940981, 0.055519886, -0.035490893, -0.01116059, 0.041717708, 0.06142335, 0.007849206, 0.006546085) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.014057999, -0.07531093, 0.07601044, 0.011395965, -0.16565192, -0.007824894, -0.03631075, -0.009606571, -0.050404448, -0.032819726, -0.001880161, -0.015130115, -0.007845919, 0.030869804, 0.04247279, 0.03709897) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.03183466, -0.08183416, 0.017525107, -0.06888788, -0.043214746, 0.02529286, -0.02572965, 0.08564433, -0.021533202, 0.050036352, 0.053293563, 0.034276754, -0.010673255, -0.015755996, -0.08998709, -0.023324717) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.026349535, -0.034181334, -0.023696264, -0.004285344, -0.034388676, 0.06497488, -0.048948925, 0.057839327, 0.05402305, 0.050073404, -0.035385966, -0.07153681, -0.028492521, -0.04192891, 0.059576202, -0.006890968) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.058749676, -0.05682726, -0.079438314, 0.042174775, 0.00080519426, -0.075743735, -0.05097762, 0.09805696, -0.012928097, 0.06748731, -0.051517807, 0.094262876, 0.0027653924, -0.023517696, 0.053181965, 0.015048062) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.022172783, 0.11496847, -0.030385027, 0.008614392, 0.030981326, 0.019453583, 0.13187481, 0.09377922, 0.0026864132, -0.026794732, -0.015599469, 0.0071094367, -0.0132001955, 0.010960563, 0.021424081, -0.008965632) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.029493902, -0.032789975, 0.037515894, -0.033258967, 0.037783727, 0.09917456, 0.06288577, 0.04100962, 0.052388463, -0.024480442, 0.026190905, 0.14440596, 0.035397332, 0.07477578, 0.00957738, 0.012383921) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.065307766, -0.038607135, -0.07138016, 0.08806195, -0.018617405, 0.039815776, 0.083885856, 0.010016369, 0.0074204723, -0.08191276, 0.036251795, 0.02697035, 0.108486585, -0.019209757, 0.07805835, 0.03610147) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.080954485, 0.06536743, 0.023199186, -0.009885833, 0.05521075, 0.112755686, -0.030556105, -0.036457494, 0.023692, -0.04199314, 0.080927536, 0.029178442, 0.021286821, -0.11084144, 0.14549212, -0.08454426) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.097908795, 0.0324215, 0.055298734, -0.03475424, 0.18426526, -0.0085680885, -0.10986818, 0.043182865, 0.030597916, -0.060408834, -0.00623625, -0.00394038, -0.073336124, 0.032060314, -0.14339039, 0.028863093) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.07761118, -0.0026173673, -0.041108754, -0.09113873, -0.017281923, -0.068149745, -0.06477051, 0.012139082, 0.0026904878, -0.052617252, -0.09932861, -0.041587833, -0.013097101, 0.048657995, -0.09725451, 0.0125665525) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.047918092, 0.00644297, -0.021414302, 0.039830394, 0.039546497, -0.041452162, -0.097632885, -0.07177341, 0.0252415, 0.020891104, -0.04055002, -0.13496552, 0.084507294, 0.0028764578, 0.06508134, -0.12704062) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.008542774, -0.01689032, -0.08744516, 0.00674331, 0.021076474, -0.08560567, 0.086418994, -0.047166657, -0.028859299, -0.056496955, -0.17195557, -0.04674375, 0.07896536, 0.031319115, -0.019618778, 0.01019462) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.048574854, -0.13142207, -0.01407468, -0.061679125, -0.06458987, -0.055473935, -0.10797231, -0.016784528, -0.019857321, 0.14748909, -0.08458109, 0.11072837, -0.022147179, 0.12492681, 0.0073770266, -0.02923637) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.07340522, 0.0019291071, 0.041346185, 0.0024796927, -0.038646534, -0.087153904, 0.23527718, -0.043642815, 0.0028348465, -0.05045508, -0.34367493, 0.05952948, 0.097119644, -0.036778547, -0.112308584, 0.026914578) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.054319162, -0.018014949, 0.12896298, -0.00020219608, -0.01438306, -0.09802356, 0.039358266, 0.0707573, 0.02565265, -0.0012682289, 0.1565099, -0.019489799, -0.04849277, 0.07084013, -0.13685842, 0.05277736) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.020934893, -0.0060985046, 0.0899548, 0.046221424, 0.028288051, -0.107719846, 0.018293079, 0.016777739, 0.033358093, -0.075334124, 0.04232806, 0.05374841, 0.014950256, 0.14606972, 0.080643125, 0.029063674) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.023923399, 0.023661247, 0.12406709, -0.11637559, -0.098827034, -0.2140225, 0.07058601, 0.008464584, 0.077404216, -0.065253735, 0.12601657, 0.016932134, 0.007663073, 0.009982655, -0.056592762, 0.045935716) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.056047067, 0.091744915, -0.060684353, 0.020088946, 0.00072521204, -0.097573884, 0.23040147, 0.015055929, -0.07132253, -0.021449212, -0.06351318, 0.10761701, 0.09022344, 0.02019259, 0.06102733, -0.028591024) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.040703457, -0.045877304, -0.14895058, -0.0155656375, -0.033993684, -0.110211186, -0.0013925176, 0.016713768, -0.0007963287, -0.022050483, -0.05160167, 0.033303943, -0.06440652, 0.067670226, -0.025576, 0.019698935) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.11003221, 0.06749978, 0.024378518, -0.15460198, 0.054584432, 0.01802052, 0.026277028, 0.0349336, -0.041640446, -0.009001229, 0.13871288, -0.021442268, 0.08117112, -0.07073695, 0.03765347, -0.25913537) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.02132993, 0.034324087, 0.019986272, 0.021555241, 0.032336984, -0.08027819, -0.06734585, 0.02961137, -0.2983855, 0.08308537, 0.07450085, 0.05305424, 0.04864929, 0.011654245, -0.02285861, -0.10553484) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.17347518, 7.1894196e-05, -0.017684363, -0.056074556, -0.011781041, -0.08892966, -0.047113936, -0.06421842, -0.1799119, 0.040620517, 0.008175481, 0.07600921, 0.09789055, -0.15827401, -0.009406223, -0.07810505) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.079829335, -0.006345632, 0.012504709, 0.10534068, -0.025812292, -0.057341766, -0.028314874, -0.063599706, -0.038188733, -0.096084155, -0.018726349, -0.083818555, 0.0144246975, -0.05314762, 0.038902022, -0.025251826) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.013789667, -0.056864474, 0.016856376, 0.09257926, 0.02633923, -0.10530635, -0.028794222, 0.013368844, -0.118350156, 0.05195979, 0.10333594, 0.043878343, 0.22877769, 0.042130142, 0.08544454, 0.0020097494) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.010879447, 0.029319435, 0.046042897, 0.09194739, -0.10691528, -0.1317304, 0.025600443, -0.031563066, 0.037932064, -0.03987921, 0.00740476, 0.03467083, 0.11889545, -0.026353987, -0.083119534, -0.093931794) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.13367672, -0.52021724, -0.5622331, -0.15691873, -0.1187782, 0.15989777, 0.0021084575, -0.09893177, -0.026648879, -0.042741574, 0.038363777, 0.026406838, 0.22023259, -0.13688634, 0.06151974, -0.096442774) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.520493, 0.47050917, 0.30301076, 0.59267247, 0.034429077, -0.018276166, 0.091590114, -0.00596645, 0.0065793362, 0.0611077, -0.087548114, 0.09399796, 0.2327971, -0.04315915, 0.03379643, -0.059445925) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.067003034, -0.07874017, 0.051140867, -0.13949995, 0.02540472, 0.03181655, 0.036438886, -0.012121058, -0.0056509674, -0.028863037, -0.0089688245, 0.0037452593, 0.25239575, -0.06964125, -0.0063551646, -0.0017476056) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.021775508, -0.08066443, -0.114946954, 0.043449074, 0.090165645, -0.0021365567, 0.10626677, -0.11184275, -0.08547339, -0.097629435, 0.011686386, 0.049501114, 0.0074638887, 0.009472601, -0.039127957, -0.0014180952) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.039523438, 0.015843045, 0.011464026, -0.024143131, 0.0022692163, 0.06907575, 0.015447468, 0.12548776, -0.06542547, -0.02309186, 0.023855122, -0.0043289196, 0.0638667, -0.0695001, -0.030883804, 0.0739935) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.002419384, 0.04759746, 0.108132266, -0.016725654, 0.024584569, -0.018576909, 0.010683569, -0.025430081, -0.1278667, -0.042549822, 0.04827011, 0.10051653, 0.028136412, 0.017135058, -0.13889293, -0.047769643) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.010974923, -0.007878488, -0.015520591, -0.066078186, -0.07691915, -0.084176004, -0.009103109, 0.03185102, -0.0144848265, -0.044766363, 0.10361305, 0.09840192, 0.02096667, 0.072684065, -0.051061876, 0.021439662) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.05284137, 0.016475389, 0.068663865, 0.08115189, 0.16691133, -0.09066687, -0.012394095, 0.015857033, -0.09017429, 0.062576026, -0.020789266, -0.0520461, -0.056230344, -0.109361984, 0.04249437, 0.017052783) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.024210362, -0.0065703867, -0.040717747, 0.037433386, -0.024385748, -0.0036765735, -0.061571177, -0.0022780464, -0.18261018, 0.09241959, -0.078964755, 0.009261177, 0.05212027, 0.06202276, 0.11746936, 0.051050015) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.01251557, 0.027184587, 0.05036122, -0.1000089, 0.015584482, -0.09961171, 0.012073849, 0.008231646, -0.14602979, 0.053591035, -0.06944473, -0.06288132, 0.041342404, 0.009767239, -0.06564838, 0.021195307) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.05245409, 0.0209776, 0.032398406, -0.049946513, -0.030092131, -0.037957065, -0.03394185, -0.032239065, -0.14805831, -0.01918394, 0.09588077, -0.007946895, 0.029780399, 0.017832829, 0.07323535, 0.03969193) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.014741487, -0.032017328, -0.10656832, -0.0026423193, 0.09264616, 0.017114308, 0.05090972, 0.064666234, -0.282506, 0.058844704, -0.1327057, 0.07091124, 0.0026194658, 0.07859634, 0.00076602295, -0.11814861) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.046556894, -0.08281667, -0.05634788, -0.06808367, 0.01709079, -0.034677062, 0.12162032, 0.041204333, -0.05168435, 0.0042249803, -0.053210877, -0.030572927, -0.07658626, 0.013784009, -0.2707799, 0.04548639) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.026479287, -0.10049472, 0.015186118, -0.01999732, 0.076974615, -0.049945638, -0.14202558, 0.030205863, 0.030481651, 0.010659522, -0.054029297, -0.07601431, 0.012206371, 0.010064765, -0.21703325, 0.085651256) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.03555312, 0.04546238, 0.07206854, -0.030742306, -0.04373742, 0.07571863, -0.08311978, 0.09518465, -0.039265487, -0.021036347, 0.060136493, 0.041247062, 0.021759853, -0.09591445, 0.07990565, -0.058321323) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.061680514, 0.114830114, 0.018918889, 0.08874849, -0.016434686, -0.061448094, 0.10058316, 0.039125156, 0.04295758, 0.03042395, 0.01729835, 0.018572576, 0.057179157, 0.027403226, -0.18164486, 0.07334759) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.111717805, 0.042118203, 0.09333064, -0.0046623196, -0.079890296, -0.0487579, -0.2757372, 0.042880733, 0.028895026, 0.11475146, -0.025685437, -0.0007470209, -0.02142076, -0.03960211, -0.07835267, -0.010756627) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.044826526, -0.032822713, 0.08019007, 0.02145821, 0.091736615, -0.1319012, 0.049043123, -0.08397175, -0.13970937, -0.06267836, 0.050826192, -0.022212155, 0.04976189, -0.035551876, 0.008948665, -0.061360907) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.05769575, 0.026525272, -0.010219101, -0.006115766, -0.018494952, -0.014934534, -0.063206695, 0.0196463, -0.034213446, 0.034672722, -0.017848123, 0.026952036, -0.03467854, 0.09149045, 0.058725566, 0.12185632) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.03782309, -0.07411752, 0.05573643, -0.020300163, -0.015106704, -0.066599265, -0.057195533, 0.02953021, -0.012815698, -0.031527832, 0.0339034, -0.01615142, 0.086941004, -0.03159188, -0.0017003593, 0.06749315) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.1752955, -0.0199468, -0.13840647, -0.045556806, 0.06091559, -0.0039247796, 0.08012011, -0.042903524, -0.039857306, -0.036994427, -0.04440077, -0.007385724, -0.0017408774, -0.035084344, -0.028053561, -0.07670797) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.07483355, -0.007243654, -0.060994845, -0.089232, -0.05188221, -0.0105481185, -0.15425228, -0.0059690485, 0.008212583, -0.0018751272, -0.045637075, -0.079164945, -0.19020642, -0.037828747, 0.024478463, -0.0040043495) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.021676257, 0.009986342, -0.016953986, 0.015556635, 0.020019429, -0.031057062, -0.09107665, 0.04205193, -0.074002825, -0.0025922663, -0.008091998, 0.0031079615, -0.0653097, -0.080673955, 0.08129577, 0.026175456) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.0944075, -0.062118873, -0.0334687, 0.034969423, -0.082649685, 0.06841236, 0.04568395, 0.038040575, -0.033794135, 0.15894778, 0.036773346, 0.017924074, -0.10249818, 0.16631655, 0.11280874, 0.14923227) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.056345664, 0.0020313042, -0.16113833, -0.016114146, -0.10067524, 0.019166157, -0.0015776453, -0.09778376, 0.021652807, 0.05182534, 0.002318157, -0.091949254, -0.027834285, 0.09071933, 0.07388685, 0.1227561) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.082682624, -0.015465603, -0.00667202, -0.014446184, 0.043527056, -0.079608545, -0.03640065, -0.11981999, -0.01911159, 0.09126658, 0.051822476, 0.0009398118, -0.0010211744, 0.054650437, 0.019304587, 0.03468232) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.043016285, 0.048682045, 0.04126939, 0.044463165, -0.015304141, -0.026303884, 0.048771102, -0.13009897, 0.013979769, 0.08684027, 0.020994574, 0.018884627, -0.077606715, 0.07690616, 0.0660881, 0.08118238) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.05906544, 0.1187921, 0.03432537, 0.061378717, -0.021062432, 0.03532236, 0.08770343, -0.013009092, 0.062185496, 0.024752779, -0.001438773, 0.0142205795, -0.008901933, -0.02617475, 0.059874963, 0.08781766) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.068480805, -0.07250875, 0.03186545, 0.07828275, -0.07203089, -0.032775603, -0.15222213, -0.11272224, -0.018315226, 0.03553894, 0.018937396, 0.0007509646, -0.011302495, -0.042354297, -0.010435266, -0.04434733) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.049039423, -0.036833633, 0.09292994, -0.027307821, 0.018024636, 0.03459209, -0.009422918, -0.0058641033, -0.007582944, 0.05095108, -0.037836995, 0.05233823, -0.13675198, -0.06881579, -0.060528852, 0.112404905) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.12193916, -0.04553563, -0.05576789, -0.07414427, 0.013000115, 0.0070517855, -0.068785354, -0.0065676956, 0.03727183, -0.0050972733, -0.104057044, -0.026727235, 0.05827359, -0.09806976, 0.07189457, 0.027599633) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.09701775, 0.026237557, -0.11394842, 0.026580092, -0.06505886, 0.04505161, 0.088803194, 0.014750034, 0.088819936, -0.012877766, 0.09513793, 0.00033038182, 0.10534173, -0.031501725, 0.004437941, -0.09329253) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.10147423, -0.02970726, -0.05316123, -0.019707795, -0.09710665, -0.089805014, 0.025359, -0.03694656, -0.068765886, 0.13602133, 0.043600727, -0.05811662, -0.06060836, -0.0293223, -0.0712798, -0.0081870705) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.065419905, -0.059703067, -0.0035745697, -0.009302754, 0.010457414, 0.09394642, 0.06568142, -0.021500912, -0.071534954, 0.025833325, -0.002483204, -0.07052453, 0.06817526, 0.057378713, -0.010048686, -0.071558245) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.097686514, 0.030942025, -0.03449037, -0.035528556, 0.0052185077, 0.041012425, 0.1019464, 0.088232055, -0.029422862, -0.0058931266, 0.121769376, -0.117122054, 0.07236717, -0.025981406, -0.117532805, 0.045560468) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.17881715, -0.098069526, 0.02105095, -0.02356276, -0.01234635, 0.13489187, -0.053738844, -0.03750417, -0.14413872, -0.05249437, 0.044711966, -0.030961413, -0.05624273, 0.027276374, 0.029368356, 0.045046408) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.012224694, -0.02086723, 0.090835005, 0.012672982, -0.024984442, 0.03280425, 0.054065123, -0.016199512, 0.041835286, -0.11200286, -0.010293755, -0.02264231, -0.017152052, 0.055216603, -0.08007815, 0.0957691) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.013541014, 0.019288378, 0.019121042, 0.084853314, 0.025010405, 0.0022340596, -0.091715306, 0.017532155, 0.006510062, 0.10284994, 0.04330279, -0.084811784, -0.066089846, -0.027881298, 0.08283547, 0.052171025) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.022040302, 0.0636172, -0.07385822, -0.005745445, -0.12149394, -0.07430491, -0.033473834, 0.025718667, 0.009256204, -0.02986516, -0.14274886, 0.04576361, 0.08325691, -0.004615722, 0.016273994, 0.030325472) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos3 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(3, 0); + imageStore(out_image, store_pos3, max(result3, V4(0.0))); + V4 result4 = V4(0.004735955, -0.011154338, 0.00050490565, -0.008099378); + result4 += M4(-0.015063483, 0.07670223, 0.01684671, -0.06119425, -0.09611889, 0.027036062, -0.032425106, 0.11784769, 0.017464705, 0.10454548, 0.04590622, 0.07588411, -0.10989313, 0.019989684, 0.106785685, 0.020414012) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.02321356, -0.02673635, -0.00414593, -0.11078863, 0.008538254, 0.036928393, -0.0886962, 0.15977104, 0.024822144, -0.090606615, -0.0411504, -0.024451608, -0.0472288, 0.008614179, 0.11563864, 0.026788743) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.04553711, 0.07778015, -0.058635138, 0.060077738, -0.168339, -0.037088238, -0.03403537, 0.027929107, -0.12416154, -0.18549521, -0.018047435, 0.017525887, 0.13410054, -0.015204183, -0.04553936, -0.07551208) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.07606639, -0.036872454, 0.01764641, 0.08853326, 0.01862117, 0.108252056, 0.015324277, -0.0043183104, -0.032374747, 0.12055598, 0.03515931, 0.037427537, -0.09215995, 0.065545894, -0.02240777, -0.08328936) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.060890693, -0.087199375, 0.094016075, -0.095759735, 0.07033259, -0.11294448, -0.0011424568, -0.16863006, 0.09971104, -0.028399535, -0.059583094, 0.024857251, 0.09153301, -0.057876833, -0.073316835, -0.027404126) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.05600564, 0.04947255, 0.075047754, 0.051623043, -0.0765812, -0.24560504, 0.16239622, 0.07069269, -0.08922536, -0.052034173, 0.040838905, -0.06619146, -0.02585233, -0.049992476, -0.05536244, 0.08680326) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.015363561, 0.050251372, 0.008811858, 0.10584626, 0.13243008, 0.14305958, 0.047309298, -0.061379623, 0.068279624, 0.03575837, 0.009580203, -0.09990796, 0.015620114, -0.018361269, 0.007936499, -0.022617964) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.10947004, -0.033525225, 0.011086085, 0.019964335, 0.02216596, 0.12322872, -0.07247044, 0.19340494, -0.05991777, -0.06357445, -0.0014785611, -0.0012751089, 0.028833939, -0.042707704, -0.071295284, -0.10729627) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.02193807, 0.034767658, 0.023371154, -0.026161553, -0.00085793633, 0.07909539, 0.0894838, 0.08679381, -0.06955741, -0.0887129, 0.036617953, 0.036971297, 0.10324221, 0.053066395, -0.02491876, 0.10822163) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.030263452, 0.0005361006, -0.080568045, -0.058568124, 0.05157814, -0.09032775, 0.007788106, -0.10795898, -0.0049413126, -0.056324344, -0.019912016, -0.018144833, 0.079457216, 0.09910783, 0.012470503, -0.071430884) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.049396433, -0.10223651, 0.037205927, 0.10544326, -0.023765408, -0.07264304, -0.12989543, 0.10723356, 0.10040238, 0.025848826, -0.011372795, 0.04918811, 0.06544232, 0.1132606, 0.1264817, 0.05795943) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.01334088, 0.0034315574, 0.007028578, -0.0014464344, -0.015642703, -0.16441911, -0.07369869, -0.026512904, 0.06275765, 0.01113901, 0.025633525, 0.0719524, 0.020007629, 0.059556507, -0.097847596, -0.024269553) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.037835706, 0.07718426, 0.012495012, -0.07350939, 0.033679035, -0.021725936, -0.052601185, 0.08526635, 0.066473, -0.039759774, -0.08002632, -0.07997743, 0.11824938, -0.074507385, -0.03681701, -0.09755007) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.055141326, 0.0074919956, 0.026570933, 0.07530658, -0.10418526, -0.2814364, 0.00022002973, 0.06607884, 0.0018605699, -0.011164871, -0.08434438, 0.018605543, 0.04273815, 0.1790712, 0.06424053, -0.027971296) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.010445089, -0.041883513, -0.07051296, 0.06295059, -0.048888203, -0.2921149, -0.015932187, -0.0627166, -0.09900603, -0.037403047, -0.063741304, 0.052013792, -0.022986082, 0.052960657, -0.08005012, 0.011343181) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.019453028, -0.014998984, -0.031842075, 0.027155476, 0.06459917, -0.17020185, 0.036979835, 0.1167967, -0.09425153, -0.020765433, -0.06249579, 0.06370447, -0.027015598, -0.0151165705, -0.023108847, 0.12545837) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.059413996, -0.078269266, 0.02936003, -0.064708166, 0.027820757, 0.059683822, -0.1387525, -0.106353156, 0.078919, 0.093358345, -0.0020976416, 0.028167564, -0.02248795, -0.049959823, 0.034695227, -0.10863736) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.07566479, 0.055308267, -0.08813703, -0.03289597, -0.09893957, 0.07163572, -0.086205706, -0.17112343, -0.040505257, 0.015727526, -0.10283423, -0.12432348, 0.110397175, -0.0077269105, 0.036370482, 0.027239084) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.044626057, 0.10841306, 0.08305002, 0.020105464, 0.014522675, 0.03021191, -0.10379491, -0.02786152, 0.020262627, 0.018890157, -0.09078023, 0.15829025, 0.009205817, 0.1581095, 0.17284802, -0.039782807) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0502276, 0.021795431, 0.002451595, 0.045030206, -0.020100854, 0.025641674, 0.030649694, 0.21810453, 0.008550539, -0.18789558, 0.04487359, -0.106224574, 0.027043631, 0.0367444, -0.049134918, -0.0025564297) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.036417242, -0.06951425, 0.008830553, -0.06735311, -0.07463138, 0.003413202, -0.13372855, -0.099537455, 0.09679968, 0.023558361, 0.055189315, -0.24139465, -0.043912638, -0.17511179, 0.07693848, 0.0970188) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.020517325, -0.0040909313, 0.05793624, -0.16408017, -0.00557655, -0.0051472764, -0.10158333, -0.039138425, 0.005312237, 0.07954688, 0.08198155, 0.10167433, 0.07270455, 0.18783389, -0.014246334, -0.08390186) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.05983925, 0.026325604, 0.018141413, 0.1564759, 0.18160091, -0.051375177, -0.017691165, -0.029988118, -0.09824875, -0.13475586, -0.0074675246, -0.15796721, -0.062973745, -0.0976916, 0.07465285, -0.15239434) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.014030234, -0.10303328, -0.06380614, -0.015099564, -0.05724248, 0.2666387, -0.03398221, -0.1433912, -0.06970823, -0.2016702, -0.0515048, -0.09067586, -0.04794586, -0.114475265, 0.010336639, -0.006356276) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.029262418, 0.06569483, -0.045076955, -0.1089898, 0.08935271, -0.12472187, 0.05317387, -0.047480512, -0.078948185, -0.0012255943, 0.022777082, 0.014297449, -0.061717898, 0.027948165, 0.018843777, 0.031519562) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.048277713, 0.03990761, -0.0050848457, 0.08172836, 0.045054026, -0.03594903, 0.034082044, 0.057197753, 0.08153872, 0.0553497, 0.02736703, 0.013399202, 0.032955576, 0.0130273225, 0.05390365, -0.0340063) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.046077274, -0.19646434, 0.004863062, 0.07467918, -0.00956752, 0.10955548, -0.0017258303, 0.0070082904, 0.06417592, 0.09296826, -0.0112590585, -0.10896619, -0.015760524, -0.14936794, -0.009051693, -0.0006272792) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.020896472, 0.11320545, 0.001124608, -0.056407034, -0.050261434, 0.1690631, -0.09687377, 0.030149976, 0.08829461, 0.21508066, -0.012716894, -0.011991619, -0.11170859, 0.11224431, 0.06793867, -0.0032008039) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.057047207, 0.043738004, -0.015311935, -0.026227348, 0.011305239, 0.0069190534, -0.07904699, 0.12032293, -0.047430176, -0.026218101, 0.104247615, 0.042496756, 0.043209646, 0.12655537, 0.005471818, -0.023191845) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.0055392976, -0.11158563, 0.14455085, 0.12809001, 0.023795452, -0.14742707, -0.012721887, 0.024853485, -0.025120981, -0.3866285, 0.1043825, -0.020051423, 0.019107943, 0.16134024, 0.036961883, -0.05381674) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.051150613, -0.19773835, 0.029640399, 0.43385142, -0.1150951, -0.23231862, -0.08687607, -0.118368715, -0.032466136, 0.054480467, 0.098070905, -0.2723822, 0.0008046459, -0.015044088, 0.07531475, -0.28840706) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.34304637, -0.33477625, 0.04300784, 0.01990439, 0.02852147, 0.059356894, -0.040918287, 0.02586044, 0.03242986, 0.0066069663, 0.04265384, 0.055829633, -0.012299194, 0.14929631, 0.0083323885, -0.021617578) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.22631077, -0.08278223, 0.14459121, -0.08762887, 0.030586127, 0.13664284, 0.052248508, 0.07783478, 0.05011825, -0.48137036, -0.09635861, 0.024184162, 0.07389443, 0.1565075, -0.035496753, 0.057884023) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.54414004, -0.18155654, 0.3048669, -0.27371472, -0.16746517, 0.052716263, -0.121110246, -0.11073803, -0.039138988, 0.056080442, -0.004188109, 0.0110723125, -0.059925742, 0.25680318, 0.056285977, 0.103013225) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.23950188, -0.3977739, 0.57169014, -0.14458138, -0.056247722, 0.10782982, -0.04864947, -0.08174219, -0.023266045, 0.005675665, 0.057111993, 0.026830496, -0.025445044, 0.06946184, 0.013491426, -0.09727738) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.32490414, -0.22977674, -0.105144024, 0.15895532, 0.024886861, -0.2132562, -0.070100695, 0.02739811, -0.020368155, -0.25673497, 0.055790942, -0.026785845, 0.05664801, 0.29083517, -0.027099108, -0.0383722) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.087586455, -0.09212045, 0.04954156, 0.013363578, -0.04871678, 0.034068085, 0.07765974, 0.059765078, 0.06407479, 0.028653027, -0.015470749, -0.06786355, 0.07014502, -0.028997868, 0.050877824, 0.05511069) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.019349335, 0.015258747, -0.049923, 0.05603056, -0.030476602, 0.059233647, -0.08050101, -0.0010983229, 0.030475996, 0.075902514, 0.00782849, -0.0668396, 0.0045790505, -0.009687267, 0.026884336, -0.042174757) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.00051313476, 0.03267351, -0.029418895, -0.03250419, -0.0248214, -0.095108084, -0.00025430255, -0.07404958, 0.080239594, 0.13910554, -0.006736224, 0.049584795, -0.0011373629, -0.049073998, -0.022927653, -0.07295206) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.0039193854, 0.12593965, 0.012992398, -0.11977936, -0.054284535, -0.008254932, 0.043845713, 0.07534619, -0.027889743, 0.0057226424, 0.04240325, -0.06705133, 0.07617884, -0.0041327407, -0.03178493, 0.005971945) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.023388581, 0.036700383, -0.0048774397, 0.0867597, 0.058875315, -0.11094137, -0.014637974, 0.0918556, -0.016443165, -0.122703195, 0.0535901, -0.11854644, 0.028812679, 0.103230424, 0.09196645, 0.04649116) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.058415327, -0.0492348, 0.028566418, -0.042918902, 0.036632646, -0.012206388, -0.09212673, -0.032336198, 0.026986443, 0.0386428, 0.08204011, -0.00012513103, -0.06602606, 0.17851155, -0.0652653, 0.052647516) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.000597286, -0.055876274, 0.03537347, 0.04849983, 0.05590338, -0.02745153, -0.017409094, 0.023931487, -0.074991, 0.001437211, -0.021529526, 0.04771364, -0.001690222, 0.07828316, -0.025744053, -0.14176777) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.04835507, -0.15864792, -0.072972864, -0.07622847, 0.069862954, 0.04224408, 0.004434023, -0.044949643, -0.06809051, -0.016191661, 0.066770375, 0.0026798074, 0.080338545, 0.00010194231, 0.026666297, -0.02961198) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.024921302, 0.084872834, -0.07425524, 0.017264077, 0.14707325, -0.0975542, -0.034451336, -0.041742437, -0.22483371, 0.16553187, 0.13737528, 0.047064394, -0.0056819217, -0.16876066, -0.013260631, -0.00018139323) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.08245482, -0.15062691, -0.031405356, -0.044244416, 0.124649666, 0.039452035, 0.050509945, 0.008117046, -0.13125412, 0.11401934, -0.021634994, -0.08312318, -0.033093195, 0.057580177, -0.048852388, -0.023589993) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.041651454, 0.03180477, 0.046396308, 0.029842524, 0.008660811, 0.12482323, 0.0836882, 0.008276516, 0.008292012, 0.072104596, 0.031204656, 0.007151598, -0.09527128, 0.02321866, -0.078018785, 0.012518177) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.03271469, 0.09788881, -0.1076272, 0.0337693, 0.06877698, -0.14705335, 0.027128033, 0.021017918, -0.03542469, -0.015168685, -0.0774517, 0.03110525, 0.043630283, -0.014300013, 0.008984056, 0.055108342) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.04206248, -0.06677257, 0.009721873, -0.13384317, 0.0057018194, 0.12084662, 0.055175636, 0.004443207, -0.07902124, -0.085541934, -0.025257515, 0.01114654, 0.030447353, -0.14010184, 0.034927405, -0.086872034) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.043609615, 0.12699306, 0.10880322, 0.09177279, -0.030582314, -0.014937853, -0.0058863154, -0.00020161114, -0.116040245, -0.12360829, 0.03134614, -0.043157447, 0.028543152, 0.1083842, -0.0048643546, -0.0114639485) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.025722554, 0.09559571, -0.031839512, 0.008622582, -0.014690661, 0.079801604, 0.06835276, -0.02800534, 0.06504849, 0.039506786, -0.031397793, 0.08614376, 0.025308384, 0.113900565, 0.025341993, 0.018600369) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.0051322496, -0.068629324, -0.0025876532, -0.06554289, 0.052944176, -0.0044878377, -0.013153771, -0.064186335, -0.005671102, 0.060347922, -0.1363615, -0.040712707, 0.018905962, -0.06732461, -0.019903129, -0.12518822) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.010830499, 0.011836183, 0.087253995, 0.054375276, -0.09590798, -0.06296603, 0.059564825, 0.016791051, 0.0059145424, 0.104429014, -0.02891308, -0.11841333, 0.014105828, -0.0059882216, 0.12213775, 0.038086493) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.002816375, -0.26531777, 0.056919463, 0.017331416, 0.01507084, -0.14502144, 0.114110604, 0.037730366, 0.021625787, 0.09293539, -0.12940904, 0.058913935, 0.03772994, 0.03914597, -0.09284706, 0.06466444) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.026590386, -0.08522513, -0.074660696, -0.0036900388, -0.06790109, -0.0735118, -0.009513342, 0.051435594, -0.03630675, 0.00080939505, -0.021313054, 0.061078973, -0.038468257, -0.047212824, -0.027851712, 0.0065175807) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.05656805, 0.08203627, -0.058001794, 0.09393716, 0.030302916, -0.031128677, -0.15442665, -0.0736598, -0.026734265, -0.10428282, 0.031861372, 0.0119149955, 0.11251739, -0.017858919, 0.013742262, 0.052598506) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.09244924, 0.10033164, 0.09077303, -0.047417644, 0.019606205, -0.024444072, 0.015651243, 0.020481972, 6.157843e-06, -0.038752656, -0.031847596, -0.04209745, -0.110352986, 0.14359398, 0.118057445, 0.0040780427) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.062835574, 0.056254417, 0.06475736, -0.0969588, -0.0652468, -0.20191394, -0.13651143, -0.0761128, -0.05620092, 0.05715848, -0.005989714, -0.06643722, -0.02846998, -0.20334885, -0.03416355, 0.023229491) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.01971213, -0.10195105, 0.012422608, -0.008319593, -0.0048562353, -0.16926892, -0.015901532, 0.028719665, -0.06454108, 0.016990619, 0.057776228, 0.11297205, -0.014921143, -0.23819336, -0.09400553, -0.11355093) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.034569073, -0.069308914, 0.009807801, 0.054807883, 0.019075267, -0.0063178623, -0.101287834, 0.030941192, -0.096113674, -0.36371267, -0.1107633, -0.010352561, 0.03892786, -0.2926382, 0.12538378, 0.02102076) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.02034876, -0.0458069, 0.0005795509, -0.030917404, -0.063640475, 0.0002717584, -0.03700314, -0.05163001, -0.051994205, -0.02712251, -0.043111846, 0.0127102835, 0.0061135143, -0.07174879, -0.031637818, 0.061048105) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.08187789, 0.089889936, -0.08577894, 0.05576432, -0.032083, -0.18602961, -0.03344683, -0.09566295, -0.0005560678, 0.06934706, 0.035132986, -0.03845225, 0.095963016, -0.16203149, -0.039352767, -0.02568342) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.025420168, -0.015849527, -0.04370373, 0.014300688, 0.07055051, -0.07173607, -0.030016655, 0.06631208, 0.035520647, -0.06769677, -0.063831, 0.0163351, 0.06808609, 0.10922171, 0.2880431, -0.013449426) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.06945285, -0.0445309, -0.00010099563, -0.13370097, 0.018477818, 0.07351692, 0.04665236, 0.044313367, 0.10504947, -0.045164954, -0.04887666, 0.100453936, -0.00021914572, 0.010932825, -0.040392384, -0.030983973) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.017678723, 0.099341735, -0.15917104, 0.117130555, -0.045357857, -0.03863164, 0.02966814, -0.0085029425, -0.006919527, -0.0068871095, 0.043999743, -0.06522521, -0.07881302, 0.066340506, -0.073380984, 0.0920036) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.075727314, -0.16187425, -0.12722991, 0.11383079, 0.026065184, 0.051327985, 0.052497186, 0.008737786, -0.113209344, -0.1290982, -0.050255, -0.009904176, 0.10882039, 0.08016468, -0.10517997, 0.077066936) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.017081818, -0.005477723, -0.021428928, 0.033803225, 0.0031606671, 0.09513672, 0.04874967, -0.0033948787, -0.026035843, 0.018785642, -0.0064884, 0.070093185, -0.0019563385, 0.07318126, -0.03290593, 0.0037585297) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.04805944, -0.008027864, -0.16179848, -0.064286694, -0.06725689, 0.15208247, 0.013324412, -0.068980314, 0.10170304, -0.102749035, 0.006374425, -0.025578938, 0.07889637, 0.04789324, -0.012576449, -0.059824638) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.028867366, -0.15914789, -0.10484364, 0.03155037, -0.07186452, -0.11069487, 0.057437357, -0.06389273, -0.13453409, 0.19078203, 0.008993035, 0.051782776, 0.009674137, -0.038414992, -0.074951224, 0.05837314) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.0044407295, -0.08260227, 0.021554744, 0.036690094, -0.08016129, 0.03933205, 0.053518888, -0.029578457, 0.07746776, 0.11039787, 0.0458523, 0.021110237, -0.04664053, -0.040015567, -0.03272275, -0.025357846) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.11893543, -0.02469871, 0.020011425, -0.032255877, -0.046219725, -0.011934205, -0.048680093, -0.049135126, -0.009581826, -0.07269019, -0.026464729, -0.034968637, 0.022838075, 0.04628182, -0.02930733, 0.046895586) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.051664896, -0.256316, -0.042295165, -0.013032644, 0.014426622, -0.18166812, 0.008655725, 0.07370474, -0.15512861, 0.07226539, -0.040640846, -0.008279804, -0.060272556, 0.08703779, -0.037998423, 0.007323034) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos4 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(4, 0); + imageStore(out_image, store_pos4, max(result4, V4(0.0))); + V4 result5 = V4(-0.010292046, 0.017811157, 0.0015870796, 0.0039759693); + result5 += M4(0.019898266, -0.03102323, 0.07265718, 0.049024213, -0.039219655, -0.007905203, 0.058321908, -0.062380556, -0.088430956, 0.008231799, -0.08622275, 0.053757045, 0.0304779, 0.0274935, 0.0009828041, 0.065651335) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.048961546, -0.10284589, -0.042098507, 0.06947375, -0.115686245, 0.024872493, -0.10764795, 0.02461632, 0.097908005, -0.0064840363, -0.07596243, -0.030596124, -0.01642703, -0.058535527, 0.015209974, 0.08596268) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.10480637, 0.053117026, -0.1073671, 0.038229477, 0.01945628, 0.0023012436, 0.009755064, -0.12681668, -0.007056047, 0.080952086, 0.06616974, -0.0008809339, -0.034013424, 0.020581769, -0.1139986, -0.041461967) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.077559404, -0.030616604, 0.11146209, 0.028385766, -0.07597514, 0.012847523, -0.008744325, 0.06404043, -0.16936131, -0.026680537, 0.009117358, -0.0041741203, 0.057449076, -0.06580516, -0.005474894, 0.06429752) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.08747548, -0.0141959945, 0.047885794, -0.029450195, -0.025448551, -0.017606499, 0.010157665, 0.22638029, -0.01489979, 0.06329646, 0.03215423, 0.050167605, -0.06238946, 0.013820056, 0.09135299, -0.072570674) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.14702259, 0.04718864, 0.036916178, -0.10988399, -0.04078568, 0.010761461, -0.19532706, -0.035943087, 0.13237567, -0.0073409863, 0.07728901, -0.065670155, -0.01998341, -0.033257816, -0.037865683, -0.10209929) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.008866902, -0.062336802, -0.014137499, 0.038570046, -0.03972095, -0.027769076, 0.017015554, 0.017669616, 0.01996671, -7.577808e-05, 0.078459255, -0.013437907, 0.04575979, -0.026343293, -0.0959558, 0.015536176) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.082388304, 0.041299697, -0.014870574, -0.047188073, -0.11531502, -0.029519118, 0.13669339, -0.0078857085, -0.07088982, -0.05065388, -0.011715734, 0.021657499, 0.028356194, -0.09864892, -0.021652753, -0.012401035) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.017287599, -0.003641197, 0.044179477, -0.065630496, 0.072573565, 0.09064762, -0.03321381, 0.008596993, 0.07018502, 0.023963723, -0.052777644, 0.09159396, -0.0013718654, 0.02280182, -0.09079759, -0.011082365) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.0042779935, -0.1213387, 0.13900805, 0.0653358, 0.044736207, -0.073437355, -0.083238244, 0.005519809, 0.075506166, -0.019063545, -0.014192979, -0.13275342, 0.019297898, 0.055898435, 0.07407258, 0.102626964) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.08075919, -0.056649897, -0.0065887165, -0.012304268, -0.042337485, -0.025335705, -0.08074793, -0.051833868, -0.020377891, 0.063150406, -0.057909813, -0.24413958, -0.005246811, -0.010505003, -0.019446488, 0.020563185) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.0513973, -0.037913665, -0.027011856, 0.010880086, 0.026303468, 0.003622293, -0.07231485, -0.037178926, 0.0004798497, -0.07037806, 0.021741677, -0.17073485, 0.028371612, 0.033486, 0.024112921, 0.013460672) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.002505241, -0.1318156, 0.06075139, -0.017321615, -0.13431928, 0.04740631, 0.055394184, -0.06645817, 0.045988098, 0.014917374, -0.035739377, 0.061110016, -0.008503344, 0.023125151, 0.1095111, 0.048940334) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.11341975, 0.0420957, -0.03920861, -0.008753801, -0.03344046, -0.06076109, 0.026289845, 0.08942012, -0.075039834, -0.0010372045, 0.09943631, 0.065857105, -0.0025754315, -0.12825638, -0.12481507, 0.12516071) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.045262028, 0.03488839, -0.026222078, -0.048237834, 0.028981289, 0.1057249, 0.052424952, -0.05486685, 0.030450527, 0.1176183, 0.050020833, 0.11518075, -0.088798426, -0.058807086, 0.053199075, 0.06337715) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.058434404, -0.05216907, -0.090296656, 0.009646472, 0.0054599014, -0.01800373, 0.1819028, -0.052061837, 0.0771914, -0.04287359, 0.06991865, 0.07044203, -0.065976106, 0.043955166, 0.02281677, 0.05198581) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.023298545, -0.033074927, -0.05650547, 0.07228898, 0.00064778473, -0.062095925, -0.10694023, -0.058337167, -0.05142881, -0.05483003, -0.0940436, 0.11445554, -0.0012370702, 0.0700007, 0.0068462114, 0.0528641) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.012832624, -0.048799925, -0.07882709, -1.9790159e-05, 0.014034885, 0.07641611, 0.11621244, -0.011937855, 0.062663116, 0.0006656655, -0.1321811, -0.00011244179, 0.06936362, -0.11945097, -0.035863854, 0.072146535) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.042039525, 0.061217286, 0.0023070376, -0.06355448, 0.07593987, 0.042586822, -0.030279031, 0.07227913, -0.0005004753, 0.002201379, 0.081546515, -0.02234479, -0.08077246, 0.01744644, 0.06937229, -0.0023126216) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.060474634, 0.03563597, -0.048449554, 0.11766885, -0.06035128, 0.059181675, -0.103754975, 0.038546793, 0.07018518, 0.0480535, 0.028971244, -0.012167781, -0.029271174, -0.010183264, 0.08994146, -0.035359614) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.04502664, -0.11819687, 0.0017872906, -0.02746493, -0.019755699, 0.065451704, -0.041309807, -0.02750317, 0.1849534, 0.027144413, 0.08684711, 0.114544146, -0.052903686, -0.019412983, 0.009354269, 0.020405274) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.05717253, -0.038361043, 0.0138104735, 0.0023000885, 0.04633789, 0.025579933, -0.11485757, -0.009179847, -0.006942586, -0.06661638, 0.008716604, -0.030035334, 0.054594904, -0.07129582, 0.010413648, -0.10838735) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.04801093, -0.041181874, 0.08267906, -0.06002975, 0.10201126, 0.04084427, -0.028060852, 0.09054284, 0.047106, 0.0011673092, -0.051753543, 0.036465257, 0.08605359, 0.077430785, 0.07017208, 0.018571835) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.021536091, 0.03699245, -0.018637797, 0.08049834, -0.034678947, 0.15327473, -0.08128214, 0.079457074, 0.1293499, 0.027893748, 0.03402142, -0.06271972, 0.022226302, 0.030717926, 0.028144049, -0.13021562) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.083727114, -0.051307227, -0.032771662, -0.032526776, -0.030331977, -0.011982045, -0.03112242, 0.027140804, 0.123297356, 0.006223701, -0.039508402, 0.106729776, 0.011343601, 0.063883916, -0.0077201463, -0.036829796) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.027799038, 0.09573617, 0.084772594, -0.02806329, -0.023049394, 0.03158497, 0.054682083, -0.026241254, -0.011525106, 0.024196615, 0.014161, 0.03531537, 0.046109088, -0.059963033, 0.055303846, 0.080541424) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.0034514545, -0.016191673, -0.022026343, -0.0016931124, 0.070976935, -0.004262911, -0.00096220867, -0.01289568, -0.11138385, -0.09721889, 0.022620434, -0.033679914, 0.044646394, 0.015293881, -0.019056309, -0.007531635) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.05022479, -0.0644463, 0.112185515, -0.016564539, 0.057196613, -0.0041910717, 0.00859705, 0.0045335293, -0.058300126, -0.03151445, 0.021250987, -0.0683099, 0.10680195, 0.13217027, -0.051593877, 0.09301706) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.09899685, 0.16492116, -0.017884683, 0.06089034, -0.07136719, -0.030590171, 0.032426786, 0.12257921, -0.0065773837, 0.06275063, 0.15830463, -0.035916563, 0.031498805, 0.08829284, 0.020857727, -0.117173046) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.09733915, 0.10495844, 0.08310153, 0.06597559, -0.10357524, 0.02096253, -0.04093932, 0.11083315, -0.055126164, 0.011316645, 0.059574008, -0.087016255, -0.07485649, 0.21497902, -0.08492185, 0.058321346) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.02137871, -0.076491944, 0.11702748, -0.04873554, 0.10934954, -0.033340964, -0.07426723, 0.007504287, -0.13460815, 0.04475907, 0.18636806, -0.056291424, 0.24983634, 0.09065705, -0.042634074, 0.031589188) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.47457373, -0.13196267, -0.019636571, 0.22722289, -0.04592603, 0.062394865, -0.038237814, 0.047248926, -0.027640892, -0.021636382, -0.094269976, 0.04466166, -0.067229055, 0.12356696, 0.014440733, 0.17287399) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.030627074, -0.11357722, -0.031575378, 0.023155302, -0.19660853, -0.09899298, -0.034384623, -0.041821368, 0.047804598, 0.026575217, -0.09318437, -0.008268077, -0.089149214, 0.21467431, -0.05849381, 0.05996214) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.30367056, 0.32124925, 0.36718544, -0.15644331, 0.08721045, -0.051870927, -0.1128741, -0.19010973, -0.1073772, -0.026730148, -3.96388e-05, -0.047910277, -0.017116211, 0.17794198, 0.036911633, 0.21090814) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.11278304, 0.1965289, 0.6046851, -0.34184146, -0.0064564953, 0.04572099, 0.015147546, -0.040653735, -0.08214308, -0.08428354, 0.00042597204, -0.012188032, 0.032635838, 0.16165397, 0.07757847, 0.09223495) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.16915497, 0.0153973, 0.12676285, 0.06972969, 0.014682666, -0.03466612, -0.0028453856, 0.029096572, -0.0043599266, 0.012213018, -0.076532155, 0.04508606, -0.12350809, 0.14752205, -0.024942026, 0.18994325) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.032883488, -0.052701104, -0.06523296, -0.09578863, -0.070546485, 0.0007160986, 0.023965025, 0.027140899, -0.04201505, 0.006525939, -0.09661379, -0.05856582, 0.038180403, -0.044355646, -0.046104413, -0.020868266) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.0796293, -0.008570138, 0.04403255, 0.10455205, -0.12476015, 0.02706622, -0.04345614, -0.14163625, -0.00070032396, -0.01060892, 0.008377632, -0.04463019, 0.05249191, 0.00030885308, -0.10371343, -0.04111633) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.035385042, 0.0074648275, -0.0042256755, -0.032188427, 0.10550991, -0.008609807, -0.09484075, 0.00051719986, 0.08417588, -0.060725994, -0.18207002, -0.10115796, 0.081672706, 0.021356784, 0.005790011, 0.020541478) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.12571718, 0.026249358, -0.0005818357, 0.038163964, -0.1497834, -0.026215944, 0.15504782, -0.09632822, -0.11961636, 0.060720325, -0.029770376, -0.036256462, 0.1368126, -0.045905266, 0.074709594, 0.021943737) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.030187681, -0.055592414, -0.0008680993, 0.026324185, 0.1047444, 0.08543081, -0.0051651597, -0.011929584, -0.029364629, -0.009013848, 0.002724289, 0.02825831, -0.061591636, -0.0040002954, -0.05028465, 0.10412465) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.07392467, 0.08178864, -0.070465595, 0.0017576977, 0.017052865, 0.047865078, -0.08854556, -0.047512915, -0.005198814, -0.009488779, -0.014298924, -0.01903477, 0.0425555, 0.0949892, -0.0064983545, -0.0149973575) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.07844767, 0.05093207, 0.014128391, -0.028700806, -0.051558983, -0.031980146, -0.02388972, -0.0300492, -0.16985591, 0.11626446, 0.014311478, -0.061581533, 0.051919725, 0.021960206, -0.02508247, -0.052968744) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.047611352, 0.021378057, 0.12452001, 0.11122276, 0.124606036, -0.053068332, -0.07298715, 0.14800288, -0.13077472, 0.050573636, 0.13899545, 0.14172249, -0.00914518, -0.047857977, -0.015108806, 0.015885195) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.025437076, -0.06482224, -0.085284956, -0.056458317, -0.06278887, -0.027232738, -0.0086713005, -0.0031674847, -0.05697876, -0.029965132, 0.11181712, -0.10408781, 0.06897122, -0.067343526, 0.13986716, 0.041485526) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.05582442, 0.022608185, -0.14463839, 0.028609566, -0.1316193, 0.01402416, 0.04438618, -0.10716094, 0.07536865, -0.05689485, -0.010988654, 0.0802037, 0.103024326, -0.17312713, -0.044616953, -0.02591282) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.007841725, -0.029510487, -0.07404941, 0.079887256, 0.095747724, -0.051596474, -0.063693464, 0.018858278, 0.030332105, -0.0641837, 0.07483415, -0.006859072, 0.028423559, -0.21472485, 0.08214206, 0.09460861) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.19341941, -0.008559521, -0.02786418, 0.008049167, 0.034066003, -0.040081434, 0.003680143, -0.037779566, -0.23077072, -0.038599227, -0.040743884, 0.016700126, 0.018629976, -0.05290129, 0.13016932, 0.098385155) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.037717786, -0.046259657, -0.026423305, -0.0069667744, -0.074130096, 0.007958183, -0.025208341, 0.09849877, 0.11521551, 0.045813486, 0.022236196, 0.004416141, 0.017433736, -0.1068484, 0.033268478, 0.0043522054) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.17370465, -0.03488704, 0.057367038, -0.04789062, 0.096039064, 0.033296652, 0.014079373, 0.015356793, 0.16518968, 0.057152346, -0.054042917, 0.0070565254, 0.10757034, -0.021602929, -0.07919234, -0.022110537) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.04852621, -0.019377688, 0.0119137885, -0.0042394428, -0.06657281, 0.042298924, 0.05027284, 0.04697178, -0.15285842, -0.054350946, -0.10979889, -0.0029864863, -0.15729165, -0.12643307, -0.2642667, 0.038907614) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.010043995, 0.09287422, 0.038897205, 0.0710695, -0.04138276, 0.028926764, 0.0073119686, -0.048609313, -0.020024547, -0.0038690055, -0.054206144, -0.017099261, -0.011421355, -0.08654407, 0.05131156, 0.016581675) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.014845168, -0.040038552, 0.11575068, -0.08706872, 0.01814075, -0.0062346742, -0.004651195, 0.18341804, 0.049718257, 0.027503256, 0.006899092, -0.047349628, 0.0018782485, -0.0012107973, -0.00048724993, -0.15566508) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.039332088, -0.035715014, 0.03523943, -0.028101392, 0.04011208, -0.0801635, 0.0060611656, -0.034481786, -0.1380085, 0.09051378, -0.057559397, 0.0770283, -0.122531116, -0.14357041, -0.087311246, -0.15660973) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.05396752, -0.015057689, -0.038443115, 0.07965854, -0.023314228, -0.056096565, -0.0056100255, -0.02272898, -0.027265538, 0.038172036, 0.098645285, -0.07003121, 0.013717061, 0.032166757, 0.05594546, -0.061714157) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.053008437, 0.06427805, -0.03746859, -0.04090423, 0.0429269, -0.01746919, -0.007380819, 0.039974883, 0.06559021, -0.068925425, 0.10925703, -0.09568423, -0.07477659, 0.06146387, -0.030916087, 0.15617129) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.03857919, 0.010715387, 0.006954834, -0.00023796473, 0.033609215, -0.021531533, -0.08522054, -0.011814584, 0.018671313, -0.064097516, 0.01060304, -0.01285243, -0.086842194, -0.058414467, 0.17138194, -0.0032262662) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.097497374, -0.06957041, -0.024459133, 0.029793017, 0.05773547, 0.05517656, -0.05697278, 0.032118294, -0.0062131686, 0.025256071, 0.01674892, 0.018072452, -0.04720883, -0.092359215, -0.08249947, 0.08784974) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.021926617, 0.049375426, -0.063890345, -0.04655509, -0.0630303, 0.016058976, -0.032819696, 0.091796234, -0.15869053, 0.167308, 0.035466738, 0.008962673, -0.01384396, 0.086096995, -0.253834, -0.06845667) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.11755873, -0.028916698, -0.013987473, 0.019167537, 0.08750411, 0.04941727, -0.12692647, -0.05395736, 0.0034140083, 0.004808461, 0.10841692, -0.0098558385, -0.099827036, 0.076205924, -0.021544598, -0.035159983) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.102698945, -0.08195324, -0.09538588, -0.062762074, 0.021301981, 0.030618185, 0.053401537, -0.035845064, 0.057678647, -0.04588069, 0.019323697, -0.060831662, 0.088909574, -0.03719734, 0.009234662, -0.032310676) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.012444303, -0.10928829, -0.007710559, 0.07088603, 0.022959635, -0.001601276, -0.050142728, 0.04961799, -0.0792677, 0.053062897, -0.0389657, -0.014050945, -0.2302402, -0.00070387474, -0.1200321, -0.22535647) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.10639305, -0.010127715, -0.034682564, -0.12139725, 0.026878467, -0.031295903, -0.13005422, -0.014716105, 0.056644812, -0.021237567, 0.03402466, 0.030415252, -0.19540247, -0.10646383, 0.08526519, 0.13609745) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.10841735, 0.00703575, 0.05229535, 0.003712159, -0.014488463, -0.048153657, 0.09024097, -0.020500712, -0.078996606, -0.049159348, 0.024551094, 0.017371215, -0.027138304, 0.0075862617, -0.043698415, -0.060584247) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.040153775, -0.034538966, -0.06831485, -0.08698853, -0.0010678475, 0.07407043, 0.11552406, -0.04862151, 0.04826814, 0.05090706, 0.15577137, -0.026989767, 0.020895014, -0.049075644, -0.16568467, -0.029126916) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.041043345, -0.0725161, -0.019178197, 0.03876852, 0.03712581, 0.055178043, -0.026280928, -0.2545717, 0.102481656, -0.11295318, -0.032639362, -0.026244422, -0.010449924, 0.016885139, -0.01883277, 0.029929966) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.15909685, 0.05688062, -0.04938656, -0.052956108, 0.050724044, -0.010793868, 0.03242358, -0.013564398, -0.08833861, 0.011785539, -0.03140303, 0.04352616, -0.1267456, -0.016473839, 0.0007947726, -0.023370145) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.018270547, -0.014315625, -0.04530398, -0.10853184, -0.057609275, 0.08228726, 0.01282188, -0.030917626, -0.08893558, -0.0047554187, 0.030033132, 0.10651613, 0.11290742, 0.050030164, -0.10250954, -0.13145623) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.009434476, -0.017702028, -0.12924476, -0.018579815, 0.049015347, -0.04967243, 0.028853342, -0.16670261, 0.06618221, -0.18739995, -0.06235724, -0.0323652, -0.07132881, 0.072841205, -0.036427245, 0.003952112) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.038359758, -0.03458916, -0.00883968, 0.054694217, 0.005327728, 0.014527585, 0.02445876, -0.051686373, 0.07238767, 0.028454082, -0.010694447, 0.026264979, -0.06398158, -0.001123328, -0.03547982, 0.003787934) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.0026730602, -0.010797033, -0.014636274, -0.12515742, 0.035996962, -0.062317528, -0.061463512, -0.09849216, -0.065137595, 0.06860676, 0.08229327, -0.070360854, -0.0663919, 0.023231652, -0.0022527133, 0.009690312) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.07832781, -0.023008034, -0.05025634, -0.0072358884, -0.022369241, 0.015263983, -0.06372441, -0.15701488, 0.16068271, -0.061635286, -0.017301856, 0.03252815, -0.025266672, 0.003950214, -0.082581274, 0.026801404) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos5 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(5, 0); + imageStore(out_image, store_pos5, max(result5, V4(0.0))); + V4 result6 = V4(-0.004757555, 0.0066921245, 0.0015465204, -0.000539636); + result6 += M4(0.11349899, 0.03682467, 0.011535115, 0.1134954, -0.06778684, -0.11583971, -0.04730881, -0.005766791, -0.057189506, 0.02036273, 0.06992569, 0.08935313, 0.094404444, -0.041955933, -0.007894757, 0.00083215197) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.10448087, -0.03055553, 0.050075825, -0.026454924, 0.07776824, -0.04372387, 0.009735731, 0.11756392, -0.030613687, 0.039888073, 0.05550842, -0.011767378, 0.038470417, 0.09790034, 0.1053843, -0.044205744) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.040458314, 0.038171683, -0.03260193, 0.055705454, -0.0094249835, -0.0311955, 0.0020066788, -0.010603218, -0.0590773, 0.08409822, 0.08585444, -0.021766132, 0.03565077, 0.11177095, -0.005916123, 0.029700363) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.07804942, -0.048418522, -0.11822066, -0.14643224, -0.052237958, 0.0049337726, -0.11353842, -0.24496666, 0.026374422, 0.055838462, -0.031768564, -0.023432704, 0.014158713, -0.0033560663, 0.0087569915, 0.093721904) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.10306694, -0.05687962, -0.073112905, 0.10862642, 0.121475525, 0.04025473, -0.055780344, 0.043165553, -0.04195123, 0.08860717, 0.0042974046, -0.013587914, 0.0041836943, 0.05036958, -0.06577297, -0.06400082) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.07342447, 0.022924803, -0.08262387, -0.02821925, -0.11561012, 0.05878551, -0.081531666, 0.059017397, -0.029640576, 0.039185617, 0.03206757, 0.0053963237, -0.022958111, -0.05658538, -0.08873518, 0.036778968) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.05429673, -0.007503706, -0.11964424, 0.03583713, -0.0022615332, -0.16127859, -0.037525125, -0.08634031, 0.08670388, -0.069134004, -0.05868231, -0.067023136, -0.06621436, 0.039539885, -0.02442324, -0.116597004) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.11058096, -0.037296385, 0.011716341, -0.17049587, 0.11286633, -0.061436735, -0.07316096, -0.043949377, 0.08578814, 0.025394598, -0.11578363, -0.12133509, 0.036231276, 0.00283885, 0.0071045132, -0.02475817) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.13321236, 0.10548257, -0.022046754, -0.12420882, -0.052974854, 0.10962823, -0.117062375, 0.10289217, 0.04886255, 0.052521188, -0.038161162, -0.028780565, -0.097921774, -0.061971717, -0.0053417953, 0.052453052) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.05065307, -0.113952495, -0.03008697, -0.031024761, -0.06223088, 0.047849946, -0.041622628, -0.047523104, -0.16697808, 0.059578948, 0.007976812, -0.02929543, -0.06833772, -0.097213976, 0.06381056, -0.050738882) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.039316688, -0.021094432, 0.06550708, -0.031300284, 0.005683813, 0.03649793, -0.016535792, 0.009946008, -0.21162187, 0.047833323, 0.07382211, 0.029751297, 0.043913007, 0.043567155, 0.0036953858, 0.029767344) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.0063038785, 0.10711857, 0.0747232, 0.053938143, 0.028359989, 0.0056362334, 0.06201187, 0.013750262, -0.12456847, -0.016474402, 0.05970153, 0.06165272, 0.00040503746, -0.027742824, 0.027708692, 0.03154629) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.048496153, 0.056712948, -0.08912388, 0.14948198, 0.04904744, 0.064647146, 0.08713012, -0.17428106, 0.017615698, 0.03156796, 0.0076193716, -0.034744363, 0.026632795, -0.08388072, -0.04966008, 0.0420437) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.00027174, -0.018484779, 0.017151076, 0.009515324, -0.08260088, -0.0011761031, 0.054539025, -0.08429204, 0.17473443, -0.07000628, 0.015802365, 0.025413582, -0.033006478, 0.044893403, 0.05101894, 0.019576613) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.05556953, -0.0043248413, -0.10920537, 0.04212936, -0.07425214, 0.0049062395, 0.012085829, 0.11344209, -0.037492193, -0.03936168, -0.09392863, 0.08912198, 0.0037864845, 0.039498962, -0.012497312, 0.03129254) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.10349949, -0.019108104, 0.0271792, -0.043420084, -0.24280572, -0.018777141, 0.02111925, -0.020043941, 0.15011993, -0.033566855, -0.05220742, -0.21430387, 0.033793673, 0.023931855, -0.031598497, -0.17530876) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.008160566, 0.04790762, -0.10873158, -0.06855155, -0.11840364, 0.102650575, -0.21880019, -0.23445879, 0.08393631, -0.020286081, -0.051135343, -0.030273959, -0.037730783, 0.10600372, -0.03188769, -0.13385715) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.08042516, 0.0068187476, -0.08388898, -0.06233123, -0.029016411, 0.024358617, 0.12879671, -0.000651075, -0.019510139, 0.12592776, -0.15377519, 0.004293696, -0.036617503, -0.11463557, 0.07544606, -0.039037067) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.12670575, 0.0025218169, 0.07214214, 0.061585333, 0.077228926, -0.045126535, 0.07227507, 0.084963806, 0.058618683, 0.010716497, 0.13813764, -0.063208774, -0.063441575, 0.03546016, 0.019498022, -0.014480743) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.10878993, -0.001717275, 0.055847716, -0.016908139, -0.0039723986, 0.028472496, -0.11038391, 0.05307657, -0.043845467, -0.058447253, -0.10275314, 0.021605598, -0.041815136, 0.053483896, 0.046177905, 0.008242724) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.004308458, 0.0061851065, -0.030787209, -0.06687588, 0.11691508, 0.11137651, -0.06870892, 0.0679365, 0.08282016, 0.18061428, 0.0058225235, -0.0035563533, -0.022215093, -0.05853177, -0.06624062, 0.10195481) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.06207687, 0.06801286, 0.05132017, 0.13642049, -0.0449156, -0.0077699777, 0.08562286, 0.12734161, 0.11306914, -0.113344915, 0.13355012, 0.17697674, -0.12486384, -0.0598797, -0.01142903, -0.14067113) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.00089821336, -0.05310936, -0.034743913, 0.10185827, -0.15219459, 0.027291978, 0.06965937, 0.083906874, 0.026358424, -0.05011626, 0.041339397, 0.004187528, 0.025451437, -0.067929566, -0.06314939, 0.07040784) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.0053124023, 0.021365123, -0.07844448, 0.021620518, 0.018069288, -0.0258702, 0.030977404, 0.12526077, -0.10196389, -0.086077295, 0.040602755, -0.16427751, 0.12992612, -0.016316755, -0.06691121, 0.14424118) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.13271052, 0.050992165, 0.013349729, -0.19272551, 0.0261862, -0.07412381, -0.16521539, -0.017831609, -0.033204485, -0.007401179, 0.008699602, -0.04113147, 0.013678685, -0.041841835, -0.033449862, -0.078453004) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.14311169, -0.18062009, 0.02696865, -0.023684287, 0.048120074, 0.0022888265, 0.0034597565, 0.054043934, 0.09733168, 0.06112986, 0.06425913, -0.0055744965, -0.003110356, -0.07575617, -0.029493136, 0.042553112) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.10877049, 0.015661005, 0.01836191, -0.024580982, 0.08938417, 0.016133158, -0.083037436, 0.041907147, 0.19387297, -0.05894791, 0.047843628, 0.1775111, 0.0015946283, 0.0020886348, -0.14576925, -0.0433137) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.094514154, -0.03210124, -0.07565005, -0.20597404, 0.023298204, -0.17757241, -0.1387228, 0.047445524, -0.06114681, 0.045789618, -0.10065938, -0.034673207, -0.24135587, -0.023437276, -0.10630994, -0.115963876) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.05300619, -0.0063644014, -0.109262876, -0.039670758, 0.04336747, -0.034151327, 0.01861349, -0.004413683, 0.054878518, 0.0057930704, 0.08501838, 0.042661592, 0.06946401, -0.12543148, 0.050226208, -0.047517277) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.041740403, 0.07430137, 0.08569165, -0.057543404, 0.08646031, 0.1393351, 0.053923957, 0.12306488, 0.02644189, 0.023807218, 0.13098423, -0.02051862, -0.05499877, -0.08754613, -0.035724323, 0.070999324) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.03482623, 0.01282608, 5.8674977e-06, -0.38494566, 0.013138842, -0.12779595, -0.0077767274, -0.16306975, 0.05228305, 0.0020776272, 0.111728214, 0.018564979, -0.069880314, -0.011943985, -0.0008817632, 0.0661268) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.17886259, 0.12594935, 0.44553977, 0.23785625, 0.08682439, -0.08111878, -0.07357941, 0.06275705, 0.10032153, 0.07850621, 0.0016675915, 0.0119662145, -0.0035606516, 0.0020743476, -0.027936766, -0.06926981) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.16417812, -0.0070310337, 0.14106219, -0.09991219, -0.037681475, 0.089959666, -0.02957134, -0.015084552, -0.148131, -0.07798319, 0.02414321, -0.012240228, -0.18377134, -0.020498876, -0.23074734, 0.032067563) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.32918534, -0.16878515, -0.0830635, 0.07592082, -0.041547474, -0.10544633, 0.08481323, 0.12836282, 0.016958868, -0.04063196, -0.022966098, -0.11859095, 0.028517874, -0.015105806, -0.12805948, 0.22081275) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.075458646, -0.10800405, -0.263067, 0.20835415, -0.061416715, -0.031533703, 0.013553136, -0.022732047, -0.050140247, 0.08912443, 0.05826256, -0.03147566, -0.27344075, 0.010031876, -0.22195, 0.18671158) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.21969724, 0.039667282, -0.3086246, -0.0058653164, -0.09200558, 0.04614033, 0.0904847, -0.08542906, -0.039527368, -0.010760348, -0.07588415, -0.11697903, -0.3011086, -0.027940327, -0.2591113, 0.07887538) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.11310526, -0.1191841, 0.008222723, 0.0030214223, 0.046757426, 0.019034086, 0.022289075, 0.012728503, 0.039831948, -0.048884124, 0.051098753, 0.053818706, -0.023442304, 0.076537855, 0.06961743, -0.007961205) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.04796011, 0.004699384, 0.04051665, 0.0012662468, -0.065301515, -0.017007938, 0.07413308, -0.02438513, 0.035958406, 0.010927845, 0.022229886, 0.009191045, -0.035966754, 0.03084916, 0.04305757, -0.021394214) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.06798636, -0.036332805, 0.043610465, -0.013572959, -0.04986304, 0.035915036, -0.067367814, 0.01923968, 0.02163741, -0.15295288, -0.04248053, -0.027923513, -0.0653446, -0.01685205, 0.0016655462, 0.04086946) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.082093135, 0.0116175795, -0.06229353, 0.057567067, 0.002070583, -0.019433213, -0.10820982, -0.06510465, 0.0023888461, -0.039131373, 0.08684572, -0.029247586, -0.046205662, -0.07600052, -0.048761863, 0.1119688) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.09854264, 0.034014903, 0.032533847, 0.086708464, -0.18420456, 0.06425726, -0.019944152, -0.113858595, 0.067102134, -0.023330009, 0.016175846, 0.02207056, 0.051203225, 0.106763445, 0.022313962, -0.07319695) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.08285395, 0.101158425, 0.095449746, 0.056932118, -0.010269262, 0.10500684, 0.09804487, 0.029416436, 0.018405171, -0.00756643, -0.14734982, -0.027628047, -0.0021709756, 0.04837203, 0.04046945, -0.07148995) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.0068056993, -0.012655505, 0.041893397, -0.20637612, 0.10357054, -0.039183695, -0.03874575, 0.03250902, -0.005688544, -0.08735709, 0.0407617, -0.2630221, 0.04929919, 0.015207005, 0.031928465, -0.05988603) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.06360958, -0.0016529092, 0.036746763, -0.07929452, 0.04649289, 0.10552208, 0.019129697, 0.04247747, 0.0333161, -0.055369295, 0.015400768, -0.21071377, 0.075626925, -0.019724565, 0.05673808, 0.031451184) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.10448173, 0.0024858385, -0.055335138, -0.025521627, 0.07000973, 0.045164585, -0.08821254, -0.029078333, 0.03237743, 0.03412713, -0.08277621, -0.008206058, 0.13888146, 0.06433806, 0.09635601, 0.009300237) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.05628329, -0.049013995, -0.042843785, 0.10905238, -0.13861625, -0.0033450013, -0.08102925, -0.021642348, 0.06950021, -0.050236728, 0.011063194, -0.05445041, -0.026387254, 0.02149008, -0.012052465, -0.015521887) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.037469618, -0.10782092, 0.16267659, -0.017570743, -0.11076471, -0.017461535, 0.09157403, 0.06183931, 0.050781213, -0.047209375, 0.057156242, 0.017524479, 0.05568796, -0.09026668, 0.009749823, 0.01231608) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.012531465, -0.10234399, -0.06545549, -0.05673929, 0.01473559, -0.023543626, -0.024662662, -0.023166092, -0.011096109, -0.034617644, -0.04284926, 0.069722705, 0.10831282, 0.0448412, 0.0035130812, -0.063478604) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.012193419, -0.0046619456, 0.06142149, -0.009428366, -0.04379314, 0.018028691, -0.064939916, 0.045077585, -0.06380097, -0.030957522, -0.00064179423, -0.10726085, 0.04562282, 0.03318346, 0.032894075, 0.0057286317) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.0774749, -0.05273974, 0.013361095, 0.003996927, 0.07394484, -0.03463487, 0.0135050155, 0.10033323, -0.077846445, -0.016434154, 0.036393348, -0.10085155, -0.04174958, -0.10173868, -0.055484813, 0.0767971) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.054177377, -0.035136092, 1.6553884e-05, -0.075745866, 0.07161627, 0.028670466, 0.08635801, -0.049687378, -0.06149632, -0.090239674, -0.04604012, 0.037281927, -0.013900084, -0.025308648, -0.04160905, 0.05236423) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.021772992, 0.079682894, 0.049365964, 0.080592774, 0.09486552, 0.0005647539, -0.09744135, -0.06550276, 0.06517251, 0.013947098, -0.049141996, 0.07036129, 0.05793302, 0.009150216, 0.008434343, -0.010301527) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.020805387, -0.02862174, -0.06900585, 0.08063093, 0.042023793, -0.017361684, -0.14224279, 0.002890036, -0.050307795, -0.07287953, -0.12160202, 0.029457036, -0.081102654, -0.040054563, 0.010552698, 0.008621605) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.06572347, -0.03944712, 0.07462236, -0.052968614, 0.1651128, -0.0050947857, -0.16246855, 0.011928858, 0.0022549967, -0.041426033, -0.009666929, 0.13474783, -0.16574116, 0.058332365, 0.01842872, -0.041698866) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.061695214, 0.0439581, 0.04819791, 0.04084196, -0.04817394, -0.06648881, 0.07974342, 0.07847899, -0.047357164, -0.014205644, -0.06797453, 0.014230147, 0.06291337, -0.068596296, -0.12509707, 0.08504361) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.09887612, -0.030411558, -0.068186745, -0.06456985, -0.053841483, 0.09986901, -0.17974052, 0.0033505913, 0.010932002, -0.05817109, -0.01561137, 0.04292959, 0.004044488, 0.044107474, -0.036454186, -0.022074549) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.048093945, -0.04142131, -0.006397631, 0.029621024, -0.033857297, -0.00832237, 0.061985046, 0.0018212764, 0.036430612, -0.002574387, -0.042038023, 0.060955923, 0.09265335, 0.07207511, -0.03624408, 0.011721343) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.09587588, -0.048132017, 0.0030001635, 0.017401407, 0.014507915, -0.1613648, 0.08629626, 0.0671625, 0.06365815, 0.017713983, 0.13653816, -0.10809365, -0.10039833, 0.022505641, 0.037629344, 0.04369148) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.021129504, -0.027774522, -0.040217243, 0.044580977, 0.03418482, 0.06980686, 0.05906925, -0.12685576, 0.05005031, -0.009486927, 0.14387128, -0.09414186, -0.16633372, 0.06291003, 0.06385437, 0.01382828) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.040803794, -0.11550628, -0.009804584, -0.10101504, -0.07007197, 0.033600125, 0.019411325, -0.009911569, 0.0219513, -0.025183251, 0.061174493, -0.012735013, -0.18262456, -0.065662146, 0.058936115, -0.057779215) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.1097271, 0.1060282, -0.09872891, -0.0380541, 0.016392106, -0.053847674, -0.003181774, -0.09004309, -0.07646991, -0.04291185, 0.002126514, -0.02716048, -0.017903525, -0.015712854, 0.04478264, 0.11158974) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.032863095, 0.071703695, -0.108703256, 0.07342488, 0.108845875, 0.07361278, 0.17857915, -0.08053826, -0.044019863, 0.022172097, -0.01441005, -0.037975915, -0.0040993467, 0.028056452, -0.1959774, -0.396473) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.008128875, 0.015478254, 0.008289732, 0.028073817, -0.05445876, -0.04683642, -0.06538109, 0.03899905, -0.096197486, 0.025874358, -0.034843657, -0.0023212302, 0.33299488, -0.008234567, 0.035895467, 0.008845726) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.015127326, 0.050381284, -0.023957968, 0.013446369, 0.049920883, 0.035301927, 0.03798589, -0.0042353948, 0.0004398059, -0.05863492, 0.08663867, -0.12998216, -0.1223253, 0.0843225, 0.044872735, 0.13198064) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.12622693, -0.028360683, -0.015941314, 0.027059209, 0.1658973, 0.0026687132, 0.0013781668, 0.03768538, 0.00037406373, 0.082323045, 0.07725557, -0.013813238, -0.07053939, 0.018268615, -0.016613442, 0.08555984) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.030968921, 0.04988211, 0.047198135, -0.06080826, 0.03948702, -0.026050689, 0.01785742, 0.021210028, -0.02777861, -0.024286846, -0.18957746, 0.030048167, -0.05093788, 0.022113025, 0.080163375, 0.043587737) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.12931837, -0.06624186, 0.048230994, -0.14303525, 0.011868749, 0.05876437, 0.08283446, 0.096630804, 0.078242354, 0.017186532, 0.01107169, -0.09535571, -0.081958145, -0.01187443, -0.042515688, 0.041455794) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.09620027, -0.09389716, -0.02755073, -0.07172476, 0.060631033, 0.10633425, 0.020453556, 0.015004116, 0.068574816, 0.037624687, 0.083897874, -0.043020047, -0.055612575, -0.037665978, 0.03191591, 0.018990554) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.16054095, 0.079194486, 0.08251715, -0.030420316, 0.024793591, 0.0066223466, -0.07848799, 0.026549103, 0.10273049, -0.055960022, 0.09209815, -0.058158513, 0.030097134, -0.059460137, 0.042498615, -0.0655346) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.076910384, -0.028854616, 0.034690343, -0.3163691, -0.022167513, 0.048529234, 0.011295191, -0.24878581, -0.07049643, -0.043963216, 0.03107965, 0.045172, 0.09532809, 0.025588188, -0.08722443, 0.06796673) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.032659616, 0.011626888, 0.11363313, -0.10491743, -0.089956574, 0.023321712, -0.086859286, -0.28858283, -0.0436798, -0.0041113957, -0.041210726, 0.058477964, 0.08519075, 0.06381179, 0.10313036, 0.1064427) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.08195395, 0.029072773, 0.09645364, -0.1331128, 0.010006744, -0.035336263, -0.078235984, -0.100892104, -0.11188394, -0.09306771, -0.05584668, 0.0851246, -0.058804363, 0.050579723, -0.03372555, 0.03584036) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos6 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(6, 0); + imageStore(out_image, store_pos6, max(result6, V4(0.0))); + V4 result7 = V4(0.010093253, 0.0030979498, -0.009945917, -0.0028646134); + result7 += M4(-0.052817143, 0.002212199, 0.028175354, 0.01752312, -0.024059987, -0.034982406, -0.0823692, -0.14901216, 0.020960469, -0.03748541, -0.09018264, 0.015323, 0.05144814, -0.13600393, -0.13445613, 0.069762036) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.06827586, 0.0703458, -0.06894819, 0.00088594516, 0.018793514, -0.053264253, 0.15727098, 0.10565909, 0.020995786, -0.073440425, -0.016690494, 0.1479086, -0.058948364, -0.0791279, -0.055432227, 0.046929073) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0282332, -0.038427632, 0.037297875, -0.034946367, -0.02903317, 0.07089535, -0.1317738, 0.31971014, 0.08237799, -0.002177024, 0.0028373394, 0.03672002, 0.02289465, 0.0010561787, 0.018560356, 0.10047951) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.09461853, -0.037170637, 0.04099613, 0.026774347, -0.035639457, -0.03770909, 0.011653578, -0.2728709, 0.11719966, 0.09836897, -0.05813555, -0.070931844, -0.08800717, 0.035530616, -0.045155324, -0.078391835) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.19398674, -0.012254907, -0.08600672, -0.11491757, 0.08367692, -0.059326764, 0.05075526, -0.23950206, 0.034008104, 0.07750407, -0.0053664437, -0.0378413, 0.1358654, 0.09803174, -0.040954523, -0.10823794) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.16082066, -0.124672525, -0.0351442, 0.014070176, 0.054719046, 0.043338597, 0.10507917, 0.15590054, 0.008730584, -0.05798604, 0.050166424, 0.06823853, 0.01843268, -0.011128594, 0.054955035, 0.048077513) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.071411334, -0.02709184, -0.017589344, 0.08073806, -0.0069443267, 0.02389994, 0.0073655583, -0.03998735, 0.067277394, 0.049400445, -0.04988836, 0.01824602, -0.022236217, -0.00056634116, -0.07687963, -0.02842552) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.024667177, 0.0042771534, -0.014276378, 0.045863137, 0.040866137, -0.08839627, -0.0041296543, 0.00051970244, 0.029851934, -0.058286875, -0.0013674849, -0.0805984, 0.03570393, 0.086647585, -0.057948098, 0.0062022763) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.015547867, 0.04384457, -0.015359485, 0.04380505, 0.07681569, 0.030143823, 0.13590969, 0.044662785, -0.026010433, -0.06590536, -0.0030342895, 0.0019454237, -0.038111445, 0.02542262, 0.04671972, -0.002052507) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.045374565, 0.047892347, -0.08426521, -0.04845604, -0.011286642, 0.0019627323, 0.028258817, 0.0148245655, 0.003643463, -0.007561848, -0.13815665, 0.05888418, 0.010417708, 0.046106715, 0.0010331987, 0.070423216) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.07544333, 0.027092673, -0.063055724, -0.010969607, 0.052434634, 0.0053786454, 0.09524213, 0.01183889, -0.09156778, 0.00337187, -0.075037174, -0.06613649, 0.017007899, 0.029491507, 0.020276293, 0.1002523) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.06794062, -0.06663001, -0.0013214787, -0.026867885, 0.07225855, 0.030664058, 0.086437754, -0.09958769, -0.006958276, 0.043646608, 0.025989138, -0.0073254933, -0.0372581, 0.046872683, -0.07750571, 0.037775975) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.059993867, 0.0208507, 0.022746803, 0.05375079, -0.028866738, 0.013796953, 0.06107955, -0.034542948, -0.17232534, -0.058118045, 0.082838595, -0.01369194, 0.14652948, 0.017388348, -0.026810039, 0.07939627) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.04958076, -0.034861684, 0.013720466, 0.050227273, -0.024653476, 0.028051538, 0.04030152, -0.117435165, 0.056463327, -0.086978674, 0.08665229, -0.09058818, -0.031566508, -0.03196963, 0.11628149, -0.039170064) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.07786924, 0.046314433, 0.016736176, 0.0025878206, -0.13275605, 0.010890811, 0.02608986, -0.077810585, 0.13155577, -0.070663676, 0.040935438, -0.027096994, 0.015678724, 0.0632002, -0.029694784, 0.040319134) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.080062516, -0.017041847, -0.1807908, 0.028788142, -0.03383607, 0.004711085, -0.04754284, -0.30198175, 0.012987751, 0.007168569, -0.09628087, 0.0041087135, 0.094406836, -0.13526797, -0.027160518, -0.07329403) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.1142603, 0.051183037, -0.005216107, -0.037383903, -0.06358105, 0.18394762, -0.069858104, 0.1765225, -0.024236305, -0.052698888, 0.08283749, -0.10126377, -0.06296555, -0.06794055, -0.065837964, -0.18322305) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.057684455, 0.039189402, 0.024506807, -0.07146248, -0.06307401, -0.096499056, -0.07782666, 0.07304465, -0.14147285, -0.0094955545, 0.07641891, -0.17299448, -0.060026, 0.015830213, 0.016441697, -0.08980843) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.08995622, 0.035335455, -0.062040627, 0.024272358, -0.057256218, -0.13136488, 0.09059813, 0.02450577, 0.05146425, 0.07659153, 0.04129474, -0.013656916, -0.03501584, 0.011278049, -0.121104985, -0.014527283) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.08175117, 0.002600368, 0.018559895, -0.030640086, 0.052098293, 0.015568206, 0.17529301, 0.13796051, -0.031648304, -0.11440125, -0.08731695, 0.022338102, 0.024790972, 0.06100665, 0.026448535, 0.035441745) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.08833055, 0.028866421, 0.05383967, 0.037397347, -0.020838268, -0.104215994, 0.038883522, -0.05276631, -0.036368255, -0.12485399, -0.020505834, -0.152442, 0.013298882, -0.09412798, -0.040997755, 0.10254575) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.072345644, 0.0028624153, -0.023264164, 0.0032946577, -0.07990283, -0.004601327, 0.21140556, -0.049908727, 0.053420562, 0.0389528, -0.008937805, 0.032145094, 0.08891193, -0.1038764, -0.1290682, 0.03327991) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.044321563, -0.05759256, 0.15617782, 0.077190705, -0.21873704, -0.15992488, 0.17741539, 0.11081979, -0.07004686, -0.0046884236, -0.087132335, -0.035204023, -0.116804965, 0.0885009, -0.030251827, -0.08839536) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.07535699, 0.06980732, -0.049515944, -0.033445325, -0.09237193, -0.031234704, -0.054125268, -0.060737535, 0.017052, 0.025330685, 0.19404979, -0.046796653, 0.025860898, 0.0026086213, 0.12825601, 0.066703536) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.035218675, 0.056579303, -0.04601394, -0.03773755, -0.06502738, 0.054420687, -0.04699332, -0.22961397, 0.014562894, -0.018646099, 0.011672857, 0.08276406, 0.009118081, -0.0008451879, -0.009345393, -0.03606451) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.08277387, -0.15970086, 0.06275407, 0.003424809, -0.16147119, 0.11690582, 0.056949176, -0.23921, 0.052308455, 0.14488497, -0.10344301, 0.11020762, -0.017569592, 0.0144406995, 0.04930314, -0.026829936) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.04917524, 0.086095154, -0.027394922, 0.040365323, -0.08899659, -0.040968, 0.046315666, -0.33874503, -0.23498026, -0.10822274, -0.0025513615, 0.042556245, 0.015212904, -0.099088006, 0.045687508, -0.075261146) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.06726809, -0.0061324444, -0.3444722, -0.039973885, -0.1582473, 0.05025102, 0.08495311, 0.025857005, 0.052926548, -0.12193293, 0.1380711, -0.14170942, -0.011231747, -0.005751425, 0.03124626, -0.080484755) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.015424694, 0.016479969, -0.09517515, -0.10323726, 0.039380245, 0.037390523, 0.004262769, -0.049400486, -0.13183437, -0.07021707, 0.00012383003, 0.09193902, -0.01197365, 0.06633876, 0.023855792, -0.12509575) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0061365734, -0.051785953, 0.15651871, 0.039185368, 0.023622895, -0.0559847, 0.052860074, -0.07439876, -0.044265773, 0.053211868, 0.08892756, 0.1404263, 0.08816908, 0.08679912, 0.07592974, -0.055393804) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.04603408, 0.18642771, -0.015224575, -0.40612525, 0.00039912146, -0.08327426, -0.018544627, 0.08702238, -0.07618399, 0.00045984448, -0.0024707546, -0.1688651, 0.12915307, 0.13075638, 0.05146175, -0.06817692) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.3018873, -0.059525907, 0.015119917, 0.46888322, -0.058859102, -0.045305185, -0.061065163, 0.07687981, -0.030210031, 0.056729868, 0.09037692, 0.11505714, 0.1176135, 0.035580378, -0.028978491, -0.07123962) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.17184415, 0.060126923, -0.03419522, -0.08774862, 0.1027244, -0.041237164, -0.15576603, -0.017237198, 0.021603772, 0.041135587, -0.041272953, -0.00532409, 0.11762288, 0.050772674, 0.11216044, -0.040241525) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.21900521, 0.1753161, -0.220829, 0.022376612, -0.0067504523, 0.07743558, 0.07179624, 0.10919218, -0.012175348, -0.028337767, -0.021360382, -0.139815, 0.113238186, 0.15368696, 0.025225963, 0.08891982) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.37238395, 0.32597846, 0.7211832, -0.16881873, 0.021591071, -0.0018966692, -0.110048905, 0.004778059, 0.043364957, 0.07239852, 0.057545107, 0.017220007, -0.03667948, 0.115216516, 0.092870414, -0.08104667) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.13875571, -0.13770458, -0.028352967, -0.1464727, -0.027298847, -0.01445571, 0.006155361, 0.016625125, -0.08740675, 0.0646462, -0.088235416, -0.02831539, 0.017340869, 0.14814426, 0.038821958, -0.06661259) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.0031220994, -0.0339335, 0.07614791, -0.055266626, -0.1180158, -0.035372414, 0.017735355, 0.013722326, -0.06587946, 0.050467912, -0.047740486, 0.017698769, -0.06282047, -0.050236564, -0.054655477, -0.0121994475) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.14619339, -0.076966405, -0.010861275, -0.031517904, 0.039184112, 0.07138213, -0.0702162, -0.02079, -0.06701071, -0.04727614, 0.015979549, 0.022992207, -0.05809022, 0.071408436, -0.013638785, 0.1351908) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.051964168, 0.09378624, 0.009820825, -0.0062255394, 0.022991994, 0.021567462, 0.04614127, -0.08799105, -0.0570647, -0.03943098, -0.20275263, 0.14406271, 0.027310422, 0.06477741, -0.014123091, 0.027554346) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.046303146, -0.028624179, -0.0019513558, -0.010861608, 0.07929469, -0.05229401, -0.09874981, -0.0068337885, -0.07316628, -0.049669296, 0.037577294, 0.04280212, -0.00013534028, 0.009134087, -0.06995011, 0.07442783) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.13656802, 0.08492786, -0.08779892, 0.023367425, 0.026074382, -0.047828443, 0.057581216, -0.046263594, -0.086343735, -0.05570989, -0.02979171, -0.0025530716, 0.046799492, 0.10757387, 0.032787602, 0.061262116) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.064034514, 0.017740712, 0.051968142, -0.0047266055, -0.0529538, 0.01375426, -0.021655386, -0.033190448, -0.03280069, -0.1705518, 0.0061334386, 0.089156695, 0.09321499, 0.051029947, -0.060467582, -0.0034452858) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.12664945, -0.075080074, 0.07323743, -0.00075575995, -0.030720523, 0.101101756, 0.09509263, -0.046846274, -0.048263088, 0.04333969, 0.0888796, -0.15111901, -0.0030033125, -0.05993035, -0.03718872, 0.024819108) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.09730331, -0.049084567, -0.112638086, 0.060049362, -0.017738773, 0.11905199, -0.03558887, 0.016899299, -0.08229485, -0.12859744, 0.009020687, 0.050146732, -0.02080286, 0.029949125, -0.029627774, 0.009691969) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.11997835, 0.03191391, 0.06534221, -0.045429386, -0.05032835, 0.08009786, 0.1826683, 0.027050843, -0.040142428, -0.21352889, -0.131883, -0.00025124155, -0.01040815, -0.05225331, 0.004208429, -0.03359977) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.023396213, 0.06891799, -0.098445386, -0.035124484, 0.03471554, 0.02272089, -0.18472956, 0.017888885, 0.06040376, -0.040489376, -0.0005443804, -0.16046587, 0.06093021, 0.07839775, 0.021473665, 0.055592645) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.041557085, -0.072037905, 0.1804498, 0.018611887, 0.002847408, 0.053269785, -0.20205802, -0.00089862355, -0.06433174, 0.042295527, -0.17964174, 0.020377232, -0.09655997, -0.08049554, 0.19659108, -0.02854923) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.026232813, 0.0325022, -0.02037916, -0.047701124, 0.06980882, 0.06691362, 0.028768243, 0.113236845, -0.039957304, -0.12430314, 0.028447095, 0.0040261173, 0.081020035, 0.010674468, -0.117409654, 0.013692501) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.065786384, 0.0005992301, 0.064661525, 0.1288952, -0.074281275, 0.060290888, -0.06730421, -0.011512728, -0.010016912, -0.06614566, 0.006222685, 0.012775675, -0.13318385, 0.02976427, 0.0009275602, -0.02657586) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.055243112, -0.10161648, 0.06896416, 0.009231527, 0.03402835, 0.037006166, -0.120754935, 0.06723492, -0.07661594, 0.057083845, 0.07694408, -0.029086439, -0.025010493, 0.04097605, 0.21848506, -0.0465654) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.05601832, -0.022294002, -0.069476075, -0.07090722, -0.16644618, -0.033828788, 0.005138565, 0.044612136, -0.05478788, -0.031215979, 0.03188637, 0.00984995, 0.037473064, -0.03152525, 0.2799505, 0.05473705) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.011880885, -0.18498395, -0.01388173, 0.0031235705, -0.041054986, 0.057089932, -0.00917233, -0.10033175, 0.05777529, 0.01899963, 0.0005910955, -0.027155481, -0.06403921, -0.06533432, -0.062140424, -0.031655308) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.06345406, -0.17486466, 0.021360697, -0.2622939, -0.071724676, 0.008789376, 0.035861846, -0.015483006, -0.06038933, 0.00018164098, 0.051145785, -0.023036532, 0.05892123, -0.011357707, -0.11050422, 0.08514108) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.054249708, -0.0021653613, 0.06626078, 0.014232258, 0.07234081, -0.055689257, 0.033304486, -0.14233044, 0.0020672218, -0.015958883, 0.033780273, 0.019420587, 0.0026314084, -0.06797286, -0.08075071, 0.076316744) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.106767334, 0.055033952, -0.12942946, 0.0644164, 0.08123859, -0.005265214, 0.07153413, 0.21271828, -0.063327186, 0.0046514533, -0.06277532, -0.34372458, -0.071054906, -0.053403847, 0.015840659, -0.07562892) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.03923783, -0.047094095, -0.07043216, 0.045965537, 0.0049150814, -0.029306993, -0.09854758, 0.043443885, -0.13287699, -0.018384436, -0.007359946, -0.30717736, 0.095961116, -0.12309459, 0.04673524, -0.01774819) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.034959465, 0.059510365, -0.11494939, -0.003503468, 0.07101595, 0.09836746, -0.03300809, 0.06969265, -0.07663193, -0.08983477, -0.01930957, -0.0068298737, 0.07137577, -0.08357992, -0.20070665, -0.056401964) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.04936233, -0.03653014, -0.017894328, 0.11140129, 0.02891294, -0.019181771, 0.24414434, 0.19152279, -0.020054162, -0.042048648, 0.09356266, -0.07262944, -0.042722102, -0.08282751, -0.05615183, 0.03592758) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.08730993, -0.073902436, 0.029642459, -0.0222136, -0.11398949, 0.074024804, 0.038144443, -0.029516261, 0.0010372894, 0.016119584, 0.053904753, -0.07544754, -0.0027566398, 0.068776906, 0.094996184, 0.032324824) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.027888713, 0.027564524, 0.02109768, -0.011936006, 0.01818104, 0.048043896, -0.037970714, 0.056252904, -0.0056945374, -0.037662074, 0.095109396, -0.004566899, -0.013025716, 0.050833914, 0.02962866, -0.14334038) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.06135352, 0.0038510638, -0.04605617, -0.058818962, 0.08151938, -0.03980168, -0.095936544, -0.03936693, -0.039692435, -0.0395301, -0.034059517, -0.08426192, 0.047299232, -0.12162504, -0.02667258, -0.012606707) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.04608114, 0.035380967, 0.020888275, -0.03911857, 0.13951616, 0.03369697, 0.044491384, -0.017207447, -0.07701077, -0.021307955, 0.08442861, -0.24578623, 0.06171646, 0.04667645, 0.1821173, 0.06257717) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.02094516, -0.06937651, -0.020470114, -0.023903364, 0.08313354, 0.040232696, -0.11638914, 0.010351562, -0.11930117, -0.013907573, 0.008204282, -0.1444142, 0.0070734136, -0.034355175, -0.11675269, 0.054532167) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.03696335, 0.030188408, 0.044820342, -0.014465056, -0.07805499, -0.02122215, -0.08872484, 0.010395978, -0.015623597, -0.020731209, -0.012713514, 0.09328578, 0.013983574, -0.014601428, -0.06184512, -0.043835092) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.024949647, 0.021963747, -0.17282303, 0.066650376, 0.03973785, -0.0035689252, -0.13222031, 0.052264296, 0.056597553, 0.0025277394, 0.1024629, 0.02972996, 0.05745854, 0.026602328, -0.012088891, -0.04472458) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.008840532, 0.00937341, 0.0935768, -0.018508814, 0.031145768, -0.024462301, -0.108331606, 0.069659, -0.021821752, 0.023265984, -0.25949734, -0.032884013, 0.15698111, 0.022307903, 0.013167216, 0.07558735) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.04454401, -0.0555355, 0.016810743, 0.03685232, -0.04014836, -0.037628025, -0.04510644, -0.038304143, 0.005727342, 0.006939839, 0.08064889, 0.06592243, 0.072425835, -0.075042665, 0.018586641, -0.09252461) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.024218814, -0.008518983, 0.0060934126, 0.03086288, -0.055540152, -0.0003721631, 0.1467716, 0.07673141, 0.037549675, 0.069674626, 0.10925861, -0.022487411, 0.07579648, 0.03342671, 0.012877341, -0.25499743) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.031397786, -0.040787194, 0.08291078, 0.043072525, -0.11775743, -0.03071782, 0.10617856, 0.081188485, -0.06410682, 0.0486248, 0.07217999, 0.09787964, 0.0014497906, -0.012750786, -0.0058547626, 0.020066911) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.008479106, -0.078493804, -0.044856735, -0.02280209, -0.15707463, -0.11767986, -0.08458008, -0.10706185, -0.003569438, -0.08211497, 0.10066953, 0.013452658, 0.09199308, 0.06541638, 0.018911876, -0.04524077) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.052886218, 0.00013017308, -0.07390449, -0.13183668, -0.14034812, -0.0055607823, -0.0012001754, -0.266319, -0.08458421, 0.03773662, 0.12072527, -0.14198543, 0.024804272, 0.105756626, -0.016230503, -0.0021803358) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.13210618, -0.05634646, -0.0071148924, -0.07793783, -0.10219109, -0.078970596, -0.009146864, -0.2209968, 0.084586404, 0.08742043, -0.1394729, 0.044054504, 0.085197434, 0.040285654, -0.0039622323, 0.042296283) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos7 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(7, 0); + imageStore(out_image, store_pos7, max(result7, V4(0.0))); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2_CMP] (Conv2D-4-ReLU) +//!COMPUTE 16 16 2 16 +//!HOOK LUMA +//!BIND conv2d_3 +//!SAVE conv2d_4 +//!WIDTH LUMA.w 8.0 * +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#ifdef GL_EXT_shader_explicit_arithmetic_types_float16 +# define V4 f16vec4 +# define M4 f16mat4 +# define F float16_t +#else +# define V4 vec4 +# define M4 mat4 +# define F float +#endif + +const ivec2 ksize = ivec2(3, 3); +const ivec2 offset = ksize / 2; +const ivec2 isize = ivec2(gl_WorkGroupSize) + ksize - 1; +shared V4 inp[8][isize.y][isize.x]; +void hook() { + ivec2 base = ivec2(gl_WorkGroupID) * ivec2(gl_WorkGroupSize); + for (uint y = gl_LocalInvocationID.y; y < isize.y; y += gl_WorkGroupSize.y) { + for (uint x = gl_LocalInvocationID.x; x < isize.x; x += gl_WorkGroupSize.x) { + inp[0][y][x] = V4(conv2d_3_mul * texelFetch(conv2d_3_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(0, 0), 0)); + inp[1][y][x] = V4(conv2d_3_mul * texelFetch(conv2d_3_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(1, 0), 0)); + inp[2][y][x] = V4(conv2d_3_mul * texelFetch(conv2d_3_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(2, 0), 0)); + inp[3][y][x] = V4(conv2d_3_mul * texelFetch(conv2d_3_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(3, 0), 0)); + inp[4][y][x] = V4(conv2d_3_mul * texelFetch(conv2d_3_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(4, 0), 0)); + inp[5][y][x] = V4(conv2d_3_mul * texelFetch(conv2d_3_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(5, 0), 0)); + inp[6][y][x] = V4(conv2d_3_mul * texelFetch(conv2d_3_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(6, 0), 0)); + inp[7][y][x] = V4(conv2d_3_mul * texelFetch(conv2d_3_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(7, 0), 0)); + } + } + + barrier(); + V4 result0 = V4(-0.001297498, -0.0065087434, -0.009712298, 0.0029563736); + result0 += M4(0.0307542, 0.110071115, -0.040095046, -0.059011918, -0.0090467455, -0.0791047, 0.024168316, -0.035515428, -0.023193259, -0.07325606, 0.031104079, -0.032659292, 0.0005690495, 0.021187503, -0.024620738, 0.02402571) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.030317472, 0.009841716, 0.001405222, 0.10998552, -0.04070918, -0.030174514, -0.10165219, 0.027603397, 0.03920649, -0.014142091, -0.018238597, -0.04310875, 0.039986778, 0.05468892, 0.13610546, -0.09742952) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.018383956, 0.081812285, 0.0978937, -0.08858433, -0.042761404, -0.018811576, -0.11025978, 0.00821123, -0.037487622, -0.047184784, 0.078985445, -0.13612099, 0.11629009, 0.109684765, -0.15596342, -0.15914178) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.0005451826, 0.10638089, -0.114058085, -0.044767763, 0.05867638, 0.07330843, 0.024307122, -0.06548046, -0.09819632, -0.05593764, 0.06872451, 0.011643019, -0.048135873, -0.039245054, 0.18267886, 0.022808876) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.0061249533, -0.025543265, 0.087183535, 0.06305036, 0.08679025, 0.055491995, -0.051148675, 0.06606443, 0.045283027, -0.058413275, -0.14586654, -0.04275762, 0.026269728, 0.06888181, 0.02443734, -0.1153312) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.053239673, -0.039385278, 0.12978165, -0.057609085, -0.029325148, -0.0075038997, -0.01560957, -0.045984242, 0.03956, 0.10531751, 0.007981278, -0.017814726, 0.08625581, 0.13439517, -0.15654576, -0.22681886) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.062885135, 0.060144275, 0.022538256, 0.080524385, -0.09633449, 0.029877335, -0.058771614, 0.00077241875, 0.009234255, 0.057728197, 0.04450057, -0.0060449303, 0.03931956, 0.024256837, 0.16332047, 0.010146978) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.02263935, 0.01685396, 0.06881484, -0.08608047, -0.035623115, 0.0701705, -0.04254183, 0.094864406, -0.0028715294, 0.00421661, -0.07754217, 0.07112932, 0.11540607, 0.026115391, -0.10514461, 0.03153022) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.010606313, -0.06293143, 0.009866375, 0.010348902, 0.058000587, -0.011621273, -0.040615186, -0.021988424, 0.0027976448, -0.017929649, -0.039801568, 0.04725894, 0.11663037, 0.06689773, -0.07368649, -0.13354376) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.09756944, -0.12760656, -0.09669971, 0.02254296, 0.027734643, -0.006440755, -0.0086526675, 0.004913226, 0.054760635, -0.037872385, -0.0647683, -0.03295994, -0.08560667, 0.024064248, -0.0076756733, 0.17973886) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.11556187, -0.05046799, 0.03406781, -0.17882515, -0.012502973, -0.034855243, -0.039059963, 0.0073535647, -0.025793198, 0.050479945, -0.033634454, -0.052991625, -0.031874537, 0.031061765, -0.030797457, 0.013010272) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.15420745, -0.1119091, -0.028498705, 0.072394595, -0.011131699, -0.020890353, 0.031915553, -0.023362067, -0.020740172, -0.038504977, -0.03187763, -0.02519372, -0.043623883, -0.14736407, -0.060275123, -0.03588015) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.08187187, -0.09991047, -0.19398731, 0.01396751, -0.00029235732, 0.0153481085, -0.15794529, -0.03274963, -0.035598565, -0.011526904, -0.0395109, 0.044316217, 0.07450283, -0.012877751, -0.08947059, -0.052287932) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.06408677, -0.050958212, -0.15064482, 0.02524688, -0.09586835, 0.10694065, 0.060516164, -0.05857554, -0.107326046, 0.053013414, -0.08412699, -0.07637008, 0.08172109, 0.05021269, 0.114445105, -0.008352143) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.12518707, -0.105771616, 0.024336437, 0.130691, 0.005528732, -0.06271579, 0.030122153, -0.15884657, 0.08020923, -0.038627278, -0.050263498, -0.09366431, 0.031746317, -0.032087095, -0.016263798, -0.09096556) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.055702973, -0.029449092, -0.1435379, 0.049259502, 0.02895272, -0.031808507, 0.02508659, -0.22359204, -0.04380133, -0.0033889313, -0.045197885, 0.10225647, -0.009282755, -0.07061266, -0.09267174, -0.031175869) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.04561683, 0.028633386, -0.094766825, 0.031183949, 0.096117266, -0.002092539, 0.023125917, -0.1354043, -0.010632316, -0.14139698, 0.05043378, -0.021457214, 0.060801364, -0.03997295, 0.010746449, -0.10096417) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.053789776, -0.13882828, -0.04896368, 0.13932355, 0.10390755, 0.14019322, 0.009105085, -0.25317812, -1.535523e-05, 0.0068908846, 0.02472801, -0.003135073, 0.014385219, -0.03566427, 0.080236286, -0.06345098) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.077196844, 0.004092501, -0.046330996, -0.06201501, -0.030739622, -0.0789396, -0.00090717175, -0.10028272, 0.034967124, 0.07509549, 0.073571794, -0.04538965, 0.007212024, 0.023142103, -0.0257363, -0.019395739) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.098047264, 0.012449374, -0.08943702, -0.08114387, -0.052819632, 0.021099402, 0.015188124, -0.14554141, 0.035786945, -0.04229858, -0.049022265, 0.13082772, 0.040538386, -0.12868588, -0.20625453, -0.05965263) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.023317575, 0.104224786, 0.09206533, -0.023418326, 0.0042558634, -0.02666202, -0.031166553, 0.12801245, 0.05182929, -0.06887129, 0.05300279, -0.123951025, -0.049699016, 0.06908968, 0.29655758, -0.038046475) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.1964653, 3.4631346e-05, -0.09324147, -0.07098879, 0.00089661917, -0.11899747, -0.017626856, 0.039199922, 0.04253898, -0.0014969219, 0.03797999, 0.04869461, 0.010138269, 0.1138518, -0.35780638, 0.0236427) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.091229826, -0.10324766, 0.10011874, -0.031203935, 0.08294743, 0.124475785, 0.017462194, -0.104370385, 0.054000873, 0.045663238, -0.050728757, -0.06544032, -0.06252454, -0.009182348, -0.09399992, 0.095046304) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.036615778, 0.0058296607, 0.090496495, -0.14238304, -0.034296636, -0.020861303, 0.036375947, -0.14971264, -0.09989942, -0.019475972, 0.05718199, 0.029351253, 0.05768112, -0.117703214, 0.16779335, 0.030592788) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.045826964, 0.05831493, -0.114153065, 0.0620855, -0.047409765, -0.08814292, -0.06820969, 0.08479351, 0.012514235, 0.0022593061, 0.008650499, -0.032736726, -0.0893812, -0.023484234, -0.21249874, 0.01186003) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.05623989, -0.015771845, 0.052164074, 0.0026584459, -0.046969395, 0.039325863, 0.039562754, 0.066653684, 0.004509716, -0.04127077, 0.15639794, -0.09216284, -0.036561962, 0.086212836, -0.019100452, 0.09528127) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.011825223, -0.038636, 0.035087947, 0.02963992, -0.06643939, -0.055656023, -0.014666177, 0.04367673, -0.024191942, 0.018664971, -0.1048709, 0.09064458, 0.031754673, -0.08235673, 0.3301148, 0.04262688) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.06501429, -0.031165564, -0.005327258, -0.06717788, 0.003616754, 0.10405685, -0.095887996, -0.047348894, 0.0409149, -0.12565504, 0.0427097, 0.048669744, 0.018292882, 0.04050423, 0.05457229, -0.07633226) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.02089264, -0.059583075, -0.0071142484, -0.008521035, -0.049831536, -0.0616244, 0.0814477, -0.0046176105, 0.0063499394, 0.0030608159, 0.01147707, 0.0007642247, 0.05646711, -0.045907, -0.07669806, 0.030491516) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.00071282836, -0.093612395, 0.027151577, -0.0121151265, -0.08838265, 0.031802285, -0.0786883, 0.12009554, -0.016435333, -0.04704302, 0.097600535, -0.13984397, 0.02851337, 0.108890116, -0.00081444427, 0.028605126) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.03280678, -0.015515791, 0.081762955, -0.043930836, 0.04634103, 0.15362364, 0.019036409, -0.08762447, -0.036144573, 0.00013811376, -0.10648993, 0.05397241, -0.062102128, 0.072900385, 0.0530934, 0.034270357) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.006247557, 0.078225024, -0.043557804, -0.07037807, -0.04431877, 0.019305224, 0.109520264, -0.004579523, -0.14944728, 0.01711581, 0.12166854, 0.006380165, -0.029962087, 0.046440613, -0.1660476, 0.09694119) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.045680307, -0.055874266, 0.043643504, 0.070179984, 0.019562298, -0.08366807, -0.066016875, -0.015373493, 0.025208062, 0.037054513, -0.09943359, -0.19693671, 0.042480238, -0.054974757, 0.021959044, -0.07544782) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.036999106, 0.026237903, -0.07756478, -0.025651202, 0.040296767, 0.021823041, -0.10726705, -0.001880506, 0.020753525, -0.022241127, 0.099860944, -0.01582521, 0.06560787, -0.00032392485, -0.020402864, 0.0019662138) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.043003313, -0.06846286, 0.0016433535, 0.08310244, 0.11344309, 0.16058642, -0.026007267, 0.08067074, -0.07387524, -0.037627757, 0.10078218, -0.30546921, 0.03623496, -0.08555637, -0.0731982, -0.14555268) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.09309881, -0.16514696, 0.048096593, 0.030614678, 0.025486484, -0.04482028, -0.055902865, 0.017464122, 0.13281885, -0.032596026, -0.23231979, -0.24311082, -0.049219217, 0.06379393, 0.06227947, 0.07824621) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.0029592272, -0.0330112, -0.004600684, -0.045740645, -0.10392563, -0.21787354, 0.05658194, 0.046001498, -0.07394025, 0.01582621, 0.05982421, -0.042299494, 0.009829001, 0.06504289, 0.08802753, -0.10162826) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.031229619, 0.017050657, 0.0042669787, 0.01449318, -0.12361226, -0.13428785, 0.008537231, 0.010576643, 0.005321235, -0.09053617, -0.011286252, 0.032964926, 0.063006096, 0.08278964, -0.07858851, -0.013400612) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.006416756, -0.017903578, -0.06097922, 0.04595689, -0.021175915, 0.010042849, -0.03621645, 0.058986496, 0.053579263, 0.058018215, -0.07598693, 0.04467991, -0.078982115, -0.047617685, -0.051238883, -0.060940657) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.008006531, 0.005419851, -0.01851887, -0.12200991, -0.06509548, -0.06956807, -0.22295326, 0.009908863, 0.16202894, 0.09325551, -0.09836891, -0.056791734, -0.080961846, 0.0061289063, 0.119229406, -0.06516644) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.026715597, -0.06488778, -0.076047994, -0.00027032994, -0.03899138, -0.08387015, 0.0004755267, 0.024045484, -0.042108167, -0.036748625, 0.012082791, 0.05340476, 0.016424278, -0.069954745, 0.029739354, -0.24664564) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.050991487, 0.011041646, 0.09607095, 0.08222427, -0.020713005, 0.03526859, -0.08924468, -0.030224532, 0.007608889, -0.12818351, -0.058399063, 0.004891563, 0.1319858, 0.12219863, -0.054178406, 0.00443812) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.029241577, 0.12286318, 0.018364731, 0.084777646, -0.07230131, -0.16515256, 0.051283628, -0.024057353, -0.003159949, -0.017476914, -0.13690387, 0.022863373, -0.04398845, -0.013619937, 0.09118551, -0.030597817) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.047796004, 0.053400468, 0.06587853, -0.09657542, -0.1168141, -0.08290447, 0.0066278954, -0.0039822008, -0.08968305, 0.004075313, -0.031153284, -0.085834384, -0.030500645, -0.001754176, 0.025058124, -0.17719801) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.012093572, -0.0028116016, 0.12560028, 0.01600372, -0.09476861, 0.0030154102, 0.03254636, -0.14718753, -0.039479017, -0.06743988, 0.061963316, -0.0011230095, 0.0064540724, 0.08046787, 0.038849723, -0.10481304) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.00931645, 0.055880506, -0.029021595, -0.2355026, -0.0037775412, -0.054555755, -0.05965363, -0.012274303, -0.0035042088, -0.016910566, 0.16002516, 0.060919665, -0.027682295, -0.04949971, 0.12735513, -0.043415584) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.018021692, 0.07864286, -0.017921787, -0.26490626, 0.026476748, 0.07127155, -0.042125244, 0.060463946, 0.17918523, 0.15827659, -0.041599564, 0.06345943, 0.0019365129, -0.010124011, -0.067821845, 0.061100647) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.0053032497, 0.14350167, -0.013867777, -0.23029254, -0.09990379, -0.046520513, -0.024037374, 0.06713618, -0.052718636, -0.033764903, -0.018470788, 0.04428408, -0.04714799, 0.021927105, -0.08813312, -0.026622457) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.021239528, 0.014440995, 0.04270728, -0.19568206, -0.004939722, 0.019886607, 0.08293881, 0.023766965, -0.054048106, -0.03639703, 0.23772617, -0.042408448, -0.04110383, -0.10284417, 0.06320205, 0.08808155) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.040875874, 0.10902725, -0.016772829, -0.22694634, -0.051665004, -0.01408541, 0.032597907, -0.028247062, 0.15107481, -0.0007243052, -0.14807174, 0.20454818, 0.04342644, 0.047159765, -0.0685189, -0.19587798) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.08543036, 0.10890476, -0.01631826, -0.2169062, 0.03694484, 0.094237626, -0.08748355, -0.06613997, -0.039067704, 0.17417417, 0.08749135, 0.020222077, -0.028901102, 0.044807855, -0.030436795, 0.13042559) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.00052453903, 0.030077165, 0.054609634, -0.09680568, 0.002509746, -0.016451577, -0.017412098, -0.09732518, 0.02325644, -0.15515515, 0.038588226, 0.012091095, -0.017176855, -0.07627223, 0.07901696, -0.058352504) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.020975858, 0.09265018, 0.031137316, -0.28925422, 0.011965871, 0.013576407, 0.016227296, 0.0709036, -0.06389025, -0.044018753, -0.05544598, -0.013356189, 0.04382926, 0.05201352, -0.075479604, 0.0010320517) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.06068905, 0.081895284, -0.039442956, -0.20067702, -0.044060506, -0.06541156, -0.01929244, -0.06877913, -0.025418289, 0.009166058, 0.03897904, -0.049793076, -0.00059621176, 0.10523079, 0.032395337, -0.037087638) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.012649169, -0.016478803, 0.02811713, -0.1288813, 0.030994868, 0.066158265, -0.12128426, -0.05990015, -0.08596737, -0.059043776, 0.11374108, 0.078249454, -0.00853374, 0.06551078, 0.1043416, -0.040512238) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.052196752, 0.13836735, 0.032849066, -0.110948406, -0.055362485, -0.061873112, 0.019687528, -0.06281369, 0.0122711575, 0.05506548, -0.13559866, -0.036733773, 0.043169715, 0.08321538, -0.01972971, -0.13704552) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.02453781, -0.10235448, -0.04871784, -0.14650507, -0.036084916, 0.014000968, -0.027747724, 0.062071666, 0.0066410154, -0.030238656, 0.085084334, 0.017837113, 0.10545094, 0.071239635, 0.024302112, -0.0687442) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.05438801, -0.06291775, 0.0959787, -0.14545797, 0.025826182, 0.014061577, -0.08653995, 0.06959441, 0.13462521, -0.046186417, -0.027058318, -0.0040011723, -0.021815652, 0.055174697, 0.07899487, -0.015391194) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.014874482, 0.2834055, -0.031861242, -0.086979024, 0.010068959, -0.04039305, 0.070874505, -0.071026094, -0.022789251, -0.059423715, 0.13312775, -0.090216756, 0.034641657, -0.0765178, -0.1255788, -0.014283237) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.015436476, 0.0054826564, -0.03670224, -0.26363578, -0.0065187193, 0.0012426856, -0.06513984, 0.07602856, -0.048755202, -0.08096903, 0.004155334, 0.009528009, 0.12222361, 0.0083645005, -0.031097414, 0.05375383) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.06738378, 0.022118593, -0.049497444, -0.040710486, 0.14152277, 0.012439517, -0.03872261, 0.0036324025, -0.088352464, 0.06362654, 0.0057503446, 0.034636024, -0.016986528, -0.023452438, 0.07595582, 0.024162212) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.008057275, -0.009183485, 0.21042077, -0.07742524, -0.09224939, -0.11267391, 0.08989098, 0.12049052, -0.1186678, -0.047290556, 0.07291625, 0.0749828, 0.07284727, -0.14506471, 0.020206574, 0.0548584) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.042531006, -0.063214146, -0.11715253, -0.12647526, 0.05192705, -0.04712912, 0.05893539, -0.13802843, 0.0484423, -0.112423055, -0.10124069, 0.07110461, -0.006452327, 0.026906116, -0.07637753, 0.02274258) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.045590512, -0.053180832, 0.040544603, 0.07261352, 0.027663944, -0.05133755, -0.03554973, -0.080693096, -0.03350957, 0.05262152, -0.09918379, 0.042182315, -0.011063213, 0.007788051, -0.2607562, 0.08191719) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.06860746, -0.05494562, 0.05685143, -0.090176344, 0.030526621, 0.050996087, -0.15769346, -0.020723766, 0.031475082, -0.0085524265, 0.054390844, 0.060677394, -0.10295058, -0.012169543, 0.019751893, 0.07105646) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.011602318, -0.05711275, -0.06437084, -0.09135134, -0.08599616, 0.0037876826, 0.18347543, 0.01694199, -0.040707465, 0.05684759, -0.0587266, 0.039101496, -0.056792706, -0.10920313, 2.935624e-05, 0.08455136) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.062483698, -0.078039676, -0.0624309, 0.0825381, 0.059258297, 0.046247248, -0.1232144, -0.05782922, 0.07832184, -0.035790816, 0.013762023, 0.053666815, -0.00928483, 0.04190493, -0.10190783, -0.0052450737) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.0552271, -0.004141488, 0.0064614736, 0.07087936, -0.034206193, -0.01323255, -0.042950492, 0.01013751, -0.0006116106, -0.21293692, -0.15012604, 0.26192838, -0.089695476, -0.06988212, -0.05460127, -0.03294617) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.016797192, 0.01788471, -0.018910827, -0.11585205, -0.013969206, -0.0010817602, 0.048054293, 0.094405785, 0.0069383574, 0.03038115, 0.0798555, -0.30880728, -0.094242185, -0.145702, 0.09085706, 0.034629773) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.024397159, 0.0015022815, -0.047804654, 0.06643988, -0.04243779, 0.056689598, -0.052593403, 0.06582832, -0.09247831, -0.098168895, 0.07059941, -0.09151667, 0.09736248, 0.007911405, -0.1270915, 0.045242336) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.013235571, 0.020706205, 0.028391587, -0.11776801, -0.052475262, 0.047859296, -0.25097835, -0.08298256, -0.0021267128, 0.09005628, -0.18598458, -0.023555268, -0.14667366, -0.1607977, -0.030906295, 0.08551479) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.01866763, -0.028790705, -0.03306289, 0.052150063, -0.029481972, -0.04892118, -0.07195435, -0.022099348, -0.16663189, 0.03374329, 0.10295009, -0.06170818, -0.11896051, -0.040600613, 0.114862375, 0.015520137) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos0 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(0, 0); + imageStore(out_image, store_pos0, max(result0, V4(0.0))); + V4 result1 = V4(-0.006379549, -0.008068941, -0.006406628, -0.0015497542); + result1 += M4(-0.031557634, -0.09833661, -0.012600758, 0.062796265, 0.048256084, 0.0071421205, -0.0062383804, -0.03477908, 0.014040985, 0.034432925, 0.11154019, -0.08572129, 0.111747235, 0.038687356, -0.043459814, 0.012978157) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.0749469, -0.1464586, -0.13580792, -0.030490637, 0.02536902, 0.063326105, -0.015711743, 0.057850186, 0.018953172, 0.027411148, -0.107490405, -0.034978304, 0.090348616, -0.039208833, 0.067540415, -0.073663816) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.052428, -0.025310375, -0.012101226, 0.02872605, 0.03845422, -0.13816716, 0.07972185, -0.087639056, -0.034431107, 0.015608462, -0.001860736, -0.08053116, 0.04661563, 0.054424103, 0.0017307067, -0.013718681) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.055763863, -0.047137097, -0.041851573, 0.07192936, 0.027522488, 0.05603891, 0.044625197, 0.104749486, 0.019905852, 0.042022575, -0.051554766, 0.05292041, -0.043068454, 0.017715639, -0.06493816, 0.038954046) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.016847378, -0.031903423, -0.045065466, -0.103377916, -0.009210504, -0.034480657, -0.014561754, -0.03902196, -0.019400213, 0.011279455, 0.14939165, 0.019456228, 0.021778706, 0.031016603, -0.12966788, 0.006136294) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.012586105, -0.04650489, -0.09717416, -0.064375736, 0.028706407, -0.03538536, -0.0014567799, -0.0947692, -0.111324854, 0.04230429, 0.038363326, 0.09026202, 0.0808334, -0.049467277, -0.016986497, 0.035324596) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.041722007, -0.05653621, -0.018161407, 0.0093411375, -0.028402137, -0.025824646, -0.061412856, -0.04429888, 0.037695054, 0.03982964, -0.06465468, -0.004455608, 0.078447975, 0.043222263, -0.03933266, -0.032986682) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.027190413, -0.066920035, -0.06023376, 0.016298406, -0.118690744, 0.0051810415, -0.0040356913, 0.0147043485, 0.023735289, -0.088419594, -0.2024236, -0.079781175, -0.004736081, -0.034069758, 0.08687962, 0.019174892) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.054737765, -0.021340962, 0.01104752, 0.0333757, -0.053149, -0.03882079, -0.096302904, 0.013653397, 0.089342155, 0.0093604885, 0.057342783, -0.103037946, -0.0030194612, 0.01629727, -0.018219076, -0.20671043) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.1270316, -0.021611517, -0.092947654, 0.029557023, -0.034573324, -0.06703402, -0.14412916, 0.029102309, 0.05557864, -0.05357307, -0.09082321, 0.019904437, -0.08588484, -0.08338233, -0.040256515, -0.012690078) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.011558843, 0.107756816, 0.075884484, -0.057844736, -0.040056314, 0.07745908, 0.0015567744, 0.0670652, -0.082373984, -0.07205164, 0.042835336, 0.009112733, 0.010506597, -0.009922741, -0.13930598, 0.0332309) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.14390019, 0.02255831, -0.0007907062, -0.06768102, -0.14758824, 0.011935593, 0.048765987, 0.012218844, 0.042762093, 0.07372455, 0.040072832, -0.06231301, 0.07784797, 0.03052204, -0.03896795, 0.05628744) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.106554605, -0.034986675, -0.013941409, -0.021957757, -0.109548934, -0.053906474, 0.003178843, -0.03242499, -0.03753928, -0.09477807, 0.20001714, 0.12106788, -0.017310549, 0.061520476, 0.10212664, 0.085120246) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.06820208, 0.06267926, -0.18606792, -0.15910155, -0.0044741435, 0.0010818539, -0.06256029, 0.08838236, 0.06802175, 0.0008685989, 0.12538886, -0.07624376, 0.07764809, -0.023178866, 0.05820777, 0.046605077) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.11031076, -0.043721896, -0.09019402, -0.096983165, 0.010841077, -0.0565334, -0.036537968, 0.038519647, -0.04230495, -0.0026516193, -0.011886841, 0.040969823, -0.04114108, -0.056148015, 0.04165617, 0.01682448) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.072676696, -0.04935679, -0.008774759, -0.034445893, 0.016995613, -0.06504868, 0.036067665, -0.06956205, -0.06397044, 0.011371528, -0.05833817, 0.017485252, 0.011973828, -0.11467404, -0.067089565, -0.032667823) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.044613097, -0.07150738, 0.09481051, -0.034945123, -0.005838635, -0.009794261, 0.025432182, 0.012879437, 0.031842623, -0.023082467, 0.06791512, -0.04485353, 0.0061815367, 0.02073496, 0.0235874, -0.089794904) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.062255457, -0.05034199, 0.12960191, 0.014749233, -0.084441185, -0.043702856, 0.010875469, 0.01378591, -0.09913864, -0.013836205, 0.044231307, -0.07501944, 0.035245683, -0.12061859, 0.08606187, -0.020762263) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.039011452, -0.021201672, 0.08973478, -0.12652613, 0.04091401, -0.042701654, -0.05553945, -0.023494247, 0.023621388, 0.030265056, 0.004952567, -0.07795097, -0.031923488, 0.032330234, -0.095344685, -0.00820541) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.027047275, -0.03497473, -0.04303649, 0.007833228, -0.0017952244, -0.011845454, -0.02594256, 0.044121236, 0.054716222, -0.08063141, -0.011296308, -0.057420578, -0.011466104, -0.025981821, -0.028433414, 0.06771239) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.081554964, 0.0060052723, -0.07570701, -0.16558117, -0.016621096, 0.03762745, -0.025554847, -0.07534501, 0.07163663, -0.03910671, -0.11210569, -0.024504058, -0.09524719, -0.024367318, -0.09679198, 0.10582615) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.041602045, -0.04592826, -0.058546264, -0.06703029, -0.039960887, -0.012083674, 0.031457923, -0.15202989, -0.003566816, 0.04517968, 0.033583768, -0.0079607265, -0.07493188, -0.07676251, -0.11132592, -0.08907929) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.0489248, -0.032027543, 0.048861843, -0.16087845, 0.0183817, -0.023579668, 0.097747706, -0.06979567, -0.0482675, -0.037625317, -0.07446015, -0.04399538, 0.031422477, 0.13986263, 0.05564236, 0.018157335) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.075395726, -0.10987765, 0.028960433, -0.09613142, -0.015673451, -0.02715371, 0.009297457, 0.03968693, -0.019503893, -0.046434402, -0.008862317, -0.1264693, -0.021771563, -0.03364429, -0.06408313, 0.035143375) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.0067302026, 0.029115217, 0.10212905, -0.046082444, 0.019866742, -0.08075798, 0.007520845, 0.13507208, -0.056084305, -0.016229725, 0.036655758, 0.07552115, -0.014207492, -0.032520503, 0.08934484, 0.01803111) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.010150478, 0.036370803, 0.035316333, 0.006266827, -0.03643874, -0.025266206, 0.025615927, 0.013662436, -0.035489373, -0.085752144, -0.00018927001, 0.049070083, -0.15031797, -0.0019938648, -0.052474562, 0.13337575) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.017123569, -0.050188128, -0.04494167, -0.075566456, -0.003976764, -0.065112054, 0.0935131, 0.07206743, 0.06249476, -0.06999651, 0.08811845, -0.04911541, -0.0897098, 0.019112157, -0.18798569, -0.018330144) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.014443157, -0.003867554, -0.056355413, -0.04501927, -0.051694386, -0.009236123, 0.1934243, 0.0152042275, -0.15414947, -0.026325725, 0.0639396, -0.065190166, 0.0063039567, 0.04605716, 0.04693497, -0.057013843) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.049466543, 0.046881102, -0.089264385, -0.09105392, -0.0026708045, 0.028674418, -0.0688195, 0.04500861, -0.056107096, 0.020292899, -0.022170024, 0.019272014, 0.040343903, -0.01864657, 0.039130572, 0.12246929) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.11978123, -0.014080547, -0.03095094, -0.05827396, 0.020160414, 0.08341323, 0.03122259, 0.06813834, 0.07521792, 0.037215207, 0.17815745, 0.018291129, -0.054779578, 0.020670453, 0.047426403, -0.054653898) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.0098295575, -0.09078141, -0.01947299, 0.097710036, -0.014986923, 0.013906354, -0.15915929, 0.077868424, -0.014539689, -0.007099252, -0.13051815, -0.004207807, -0.025044637, -0.064730644, -0.07236125, -0.023479084) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.05483069, -0.0642339, -0.11310222, -0.035991013, 0.07335746, 0.028148228, -0.08902329, -0.016377512, 0.09289109, 0.041102886, -0.14050706, 0.07754713, -0.033194207, 0.026210776, -0.15714128, -0.023462247) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.12646034, -0.09611034, 0.06925332, 0.03613202, 0.0088838525, -0.0013688274, -0.057155307, 0.058939993, 0.049988396, 0.04502221, -0.03312694, 0.10025968, -0.038739346, 0.041013986, 0.022444034, 0.05929534) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.009394362, -0.012867917, 0.10170856, -0.050007902, -0.042305037, 0.0010661094, 0.073919214, -0.10299727, 0.034269635, 0.013315939, 0.01827331, -0.11886929, -0.03280931, -0.055600323, 0.06487842, -0.033505674) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.014987281, -0.01479912, 0.061754286, -0.057256557, 0.015801616, -0.05664583, 0.043822795, 0.0003575993, 0.015437192, 0.06385222, -0.10102374, -0.02188333, 0.060227167, 0.056198474, 0.0011104168, 0.023920864) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.04105658, 0.0016000401, 0.07631601, -5.0323033e-05, 0.051494293, -0.017381554, 0.14712106, 0.04231181, -0.11968268, -0.024419863, -0.12928204, -0.19623996, -0.011724766, 0.10955326, 0.0672974, -0.01196519) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.009500626, -0.04593044, 0.15175454, 0.020074619, -0.14804457, 0.09085396, -0.03886497, -0.062061604, 0.06479826, 0.033519138, 0.066756226, 0.15580761, 0.019001205, -0.01766892, -0.10331112, -0.048340514) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.0844588, -0.17924862, 0.08131529, -0.057142507, -0.09489402, 0.13710365, 0.14796935, 0.08574858, 0.013559088, 0.061372247, 0.016817117, -0.059698835, -0.025622744, 0.09422751, -0.030873083, -0.13956547) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.004176894, -0.045978073, -0.021016007, -0.029214354, -0.08006942, -0.024203746, 0.0754765, 0.05516781, 0.026428793, -0.017889999, 0.121390805, 0.102080196, -0.0564172, -0.029988818, 0.08641925, -0.06576334) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.037855122, 0.076551534, 0.073687285, 0.053381443, -0.15082312, 0.015844898, 0.027618458, 0.024533326, -0.02033491, 0.050976362, -0.046312857, -0.1050088, 0.07674517, -0.07822095, 0.048117667, -0.12752186) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.033724017, -0.19545004, 0.0062876013, -0.02873434, -0.05307122, 0.03550702, -0.21098393, 0.045404747, -0.002765991, 0.04490203, -0.15316449, 0.0042809513, -0.03308299, 0.01909727, 0.04443164, -0.0221982) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.0042151795, -0.16366081, 0.02720247, 0.041591402, -0.04979202, 0.06568537, -0.08404586, -0.07298453, -0.011102839, -0.028511155, -0.007857246, -0.01601577, -0.18030691, 0.036533706, -0.11274184, -0.14314854) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.039053682, 0.093523666, 0.02666122, -0.10628801, -0.08118801, 0.008226446, 0.07636806, -0.10582424, -0.011157787, 0.07067199, 0.015913136, 0.044000614, -0.035512898, 0.06841706, -0.011828261, -0.04549051) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.09267773, -0.03447796, -0.00033222444, -0.04680444, -0.04599075, 0.022900414, 0.10739522, -0.006933593, -0.0407681, 0.051071838, 0.10855842, 0.088202104, 0.05512666, 0.026374947, 0.13797046, -0.008934741) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.024418455, 0.032623876, 0.016051661, 0.0012874677, -0.0832906, 0.026129542, -0.024901014, -0.0005604438, -0.0104362, 0.021871138, 0.032550603, 0.11117649, -0.02353592, 0.022361765, 0.09432064, 0.008075875) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.10782272, 0.010707939, -0.035464585, -0.13409427, 0.015791193, 0.021345653, 0.105609216, 0.11404161, 0.039640475, -0.06334943, -0.02653452, -0.07496489, 0.054856766, -0.04968686, 0.10544469, -0.030918695) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.062389884, -0.05547848, 0.0010734282, -0.0429281, 0.07614693, 0.01534373, -0.05008403, -0.007615763, -0.011251943, 0.008121658, -0.013581108, -0.016601838, 0.09310436, -0.012089313, -0.096622095, 0.015976) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.03898166, 0.043864068, -0.016967306, -0.03452438, -0.00075442164, 0.08786674, 0.05508875, -0.02882528, 0.012361892, 0.029220203, -0.056392934, -0.16082695, -0.0039260807, -0.06794844, 0.0029214052, -0.090994276) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.04607115, 0.010185816, 0.036989134, -0.04311765, 0.03577598, -0.01360423, -0.07308209, 0.024986299, 0.102144115, -0.054218113, 0.067918055, -0.04779955, -0.008445968, 0.0051174588, 0.05930026, 0.002343835) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.13733412, -0.014426313, -0.03514928, -0.052066527, 0.02400515, -0.05688351, 0.10741943, -0.014617627, -0.019645352, 0.01664399, 0.059176996, -0.01098756, 0.018908162, 0.026661571, -0.26604939, 0.036170106) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.12316135, 0.062278144, 0.06716553, -0.1370833, 0.028455734, 0.032528765, 0.09571788, -0.07751702, 0.08597513, 0.02184005, -0.0055810153, 0.021880092, 0.057679277, 0.071229085, -0.16049728, 0.10844087) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.0040560393, 0.0013187994, -0.10736172, -0.08318756, -0.046868272, -0.011398476, -0.0077576307, 0.07510381, -0.007149423, 0.0037010862, 0.033663042, 0.0091506895, 0.030220961, 0.0041366634, -0.0939435, -0.08187666) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.08728521, 0.0103874905, -0.24696323, -0.11262677, -0.020995151, 0.01415977, 0.0055129183, 0.01609927, 0.038575538, 0.11412283, -0.09385882, 0.026222993, 0.0067803743, 0.08869492, -0.061580356, 0.064350136) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.006635151, 0.013697534, -0.036708083, -0.09071457, 0.02252869, 0.036674485, -0.021161666, -0.021817124, -0.0068915305, 0.090446904, 0.028016478, -0.03908822, -0.06741112, 0.07661349, -0.13695787, 0.018650535) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.019289339, 0.037071098, -0.1218084, -0.07588943, -0.079689905, 0.042683553, 0.059263237, -0.078778364, 0.079837434, 0.035180893, 0.013684723, 0.024062498, 0.105321005, 0.093330875, -0.070933536, 0.011564074) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.025750613, 0.0069270637, -0.13420728, 0.008692811, 0.01377209, -0.013325155, -0.07579644, 0.0040682517, 0.042294264, -0.033541728, 0.00042764246, -0.07840713, -0.104129896, 0.07424997, -0.07653547, 0.033231627) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.00030930762, 0.050755963, -0.06730331, -0.23007311, 0.07969623, 0.031384524, -0.036481157, -0.06480065, 0.0129956305, -0.11166892, -0.036413856, 0.017459098, 0.015679915, 0.11686492, -0.065539606, -0.10107066) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.04837143, -0.021418607, 0.1173516, 0.036758166, -0.09965267, -0.0051464736, -0.15964583, -0.051872596, -0.014420162, 0.0062180683, -0.044712983, -0.006595436, -0.02539534, -0.013090929, -0.10992321, -0.023108393) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.012958707, -0.1122496, -0.008336997, 0.035062794, 0.06348563, -0.0422613, -0.022596734, 0.093218945, -0.013564156, -0.109662205, 0.21543671, 0.0028705643, 0.005906808, 0.056813344, 0.07401914, 0.015659334) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.014846, -0.07035893, -0.042500004, -0.05063596, -0.0040058238, -0.030017363, -0.053446654, -0.009495751, 0.021402175, 0.027752375, 0.04942243, 0.046363335, -0.018042265, 0.05339136, -0.048854053, -0.0977109) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.033647865, -0.050957497, -0.13686328, -0.16783376, 0.041911226, 0.0713124, 0.13232704, -0.05402305, 0.0701161, 0.08855016, 0.11501843, 0.081495345, -0.055866815, -0.025376003, -0.088600576, -0.08924299) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.043295972, -0.116145045, -0.00021050368, -0.12492157, -0.052067526, 0.044986323, 0.103310995, 0.02496672, 0.08851941, 0.021261754, -0.009708712, 0.029323298, -0.049297825, -0.039404806, -0.049114585, -0.1531363) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.060109217, -0.07982405, 0.18495898, -0.10848381, -0.019830562, 0.06386159, 0.10412183, 0.0063083703, 0.088378355, -0.013027357, -0.1280596, 0.039428927, -0.092504114, 0.04911022, -0.099677615, -0.25590375) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.067895755, 0.1225913, -0.033694915, -0.020392777, -0.06474364, -0.00029990927, 0.108219296, -0.0092293, -0.022290297, -0.01545505, -0.02490264, 0.0708652, -0.2087358, -0.003039558, -0.115329154, 0.020226866) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.023737814, 0.066237, -0.04278168, -0.1768209, 0.071938224, -0.022252603, 0.067882106, -0.018303582, 0.075020485, -0.07614848, -0.06657078, 0.030590668, 0.0005044966, 0.06254264, -0.047597747, -0.03860997) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.0056649246, -0.02772952, 0.0059592472, -0.19438975, -0.0979509, 0.04257816, 0.048015803, -0.14468832, -0.13062087, -0.001109985, -0.08225019, -0.04780823, -0.049912065, -0.11205447, -0.013591776, -0.009455406) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.056263454, -0.026980465, -0.12238719, 0.020796232, -0.12228451, 0.04957358, -0.02037517, -0.17504129, -0.036068764, 0.03719431, 0.023687003, -0.04598091, -0.12891547, -0.14131694, -0.032963414, -0.0011036004) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.03588658, -0.09526258, -0.038530387, -0.104611106, -0.04273799, -0.027974825, -0.044680264, 0.00452936, 0.019387638, 0.1652349, -0.14495638, 0.013041547, -0.066739716, -0.037750505, 0.17374417, 0.07637479) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.020533798, -0.06264511, -0.15585168, 0.039230622, -0.092151396, 0.029082121, -0.027477669, -0.00910508, 0.008025708, -0.085854314, -0.19811887, 0.102801695, -0.08136379, 0.00029042174, -0.06017675, -0.037106395) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.06030947, -0.007916848, -0.010851101, 0.094587944, -0.090791635, -0.029541526, 0.07362873, 0.05331954, 0.041299146, 0.013917543, 0.057984937, -0.10002641, -0.06355282, -0.08085237, -0.25989357, 0.091206044) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.010071332, -0.023625618, 0.09582982, -0.027598761, -0.083347395, -0.04313407, -0.04942605, 0.0577437, 0.011144802, -0.0657881, 0.0034739564, 0.065259576, -0.011166708, -0.0456764, 0.02932219, 0.004185385) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.011356291, -0.0073744208, -0.08721416, 0.0054885093, -0.17897803, -0.06306387, -0.020903874, 0.07883087, -0.045014415, -0.05545672, 0.070923656, 0.084147304, 0.011384594, 0.022585245, -0.06772357, 0.06783098) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos1 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(1, 0); + imageStore(out_image, store_pos1, max(result1, V4(0.0))); + V4 result2 = V4(-0.0033967996, -0.011525759, 0.001000769, 0.0024347317); + result2 += M4(0.0012797012, 0.064603224, -0.03167407, -0.008984405, 0.013882293, 0.028909836, -0.050851762, -0.028747026, 0.032513674, 0.0018186644, 0.004228268, 0.03359829, 0.08037707, 0.11243716, -0.045996413, -0.01372579) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.051785935, 0.105163775, -0.050439734, 0.008110951, 0.0031589668, 0.05644954, -0.012534201, 0.04176635, 0.02135067, 0.0462119, -0.0059558083, 0.01364383, -0.015007946, 0.017699003, -0.0738038, -0.06725637) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.034045927, -0.048980776, 0.007907708, 0.00787968, 0.06480215, -0.0047387662, -0.032979444, -0.08521585, 0.0057624346, 0.058704223, 0.023376156, -0.012310096, 0.048041485, -0.031442642, -0.08386895, -0.015208176) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.017868506, 0.028601903, -0.010064311, -0.030338977, -0.060749106, 0.06675904, 0.028715545, 0.022116827, 0.06588907, 0.008097056, 0.0093545, -0.05988307, 0.08818741, 0.08040428, -0.044130526, 0.053917117) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.015140886, 0.08416198, 0.008040863, -0.058584493, -0.044646256, 0.027235327, -0.016297221, 0.051164825, -0.060073905, 0.080755405, -0.14304934, 0.12298097, 0.03489213, 0.07207115, 0.032725614, 0.042357214) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.05616683, 0.09858498, -0.015024381, -0.10186987, -0.029762134, -0.0755632, -0.034539156, -0.0034500202, 0.048103675, -0.05933044, -0.049120482, 0.08334892, -0.0073441598, 0.08102224, 0.0028269417, 0.119426765) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.0027114425, -0.04607504, -0.03229435, 0.035030186, -0.06260466, -0.024089329, -0.0020227032, -0.03706233, -0.07813799, -0.009345002, -0.017952668, 0.05627455, 0.05437145, -0.030515525, 0.058517385, 0.011959416) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.01699319, -0.17324385, 0.012895436, 0.016268872, 0.09406972, 0.023450086, -0.014906668, -0.05519765, -0.03740592, 0.019486872, 0.069116734, 0.055231668, -0.017312495, -0.071521655, -0.054614652, 0.06843946) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.016752435, -0.004666998, 0.03877957, -0.048480608, 0.031330865, -0.039954662, -0.0637838, -0.03812079, 0.020133888, 0.05949326, -0.008591646, 0.09279523, -0.019543344, 0.029551003, 0.0445, -0.0013720461) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.10733103, 0.012951398, 0.11089118, -0.022197507, -0.07094193, -0.17127149, -0.022135621, 0.0022817252, 0.09587112, -0.05293235, -0.035395905, 0.039657492, -0.010123302, 0.024922024, 0.03595476, -0.09856857) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.06941942, 0.000391484, 0.04912582, -0.013312207, 0.07538991, -0.18163049, 0.037853792, -0.060946666, -0.05614457, -0.11674057, -0.0014746565, 0.022648748, 0.038072646, 0.0862642, -0.015673498, -0.03351374) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.0965454, 0.0866725, 0.025630346, -0.060738556, -0.0064773243, -0.1715594, -0.07335091, 0.050168645, -0.0066294465, 0.057750657, -0.0050638383, -0.06184518, -0.026206415, 0.05021243, 0.023560587, -0.017160311) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.19594999, 0.013910842, -0.001661627, -0.121117376, 0.08692266, -0.049739014, 0.020122, -0.04611084, 0.0056465175, 0.015577081, 0.018807147, 0.0020665955, -0.02929408, -0.03439837, 0.0010688041, 0.06044485) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.14412895, -0.10852596, 0.052967153, -0.09636424, 0.13914329, -0.03555186, 0.019495394, -0.10366792, -0.04926855, 0.032998547, 0.06975885, 0.08109695, 0.08578113, -0.10372708, 0.02196528, -0.123482764) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.04677668, -0.0008822032, -0.014623308, -0.04396308, -0.025980726, 0.0519444, 0.00035437045, -0.008102987, -0.055020202, 0.03930469, -0.021717716, 0.07884037, -0.027123613, -0.08434695, -0.051020432, -0.09125666) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.10581239, -0.076694846, 0.08568653, -2.6555514e-05, 0.010998989, -0.036057573, 0.018492438, -0.020084538, 0.049124315, -0.006230729, 0.054095794, 0.014446974, 0.0068071783, 0.018295646, -0.010183636, 0.00068526855) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.036035452, 0.08202985, -0.012924356, -0.098656036, 0.07746468, -0.05132666, 0.0077549974, 0.01233861, -0.013460852, -0.028389148, -0.085371375, -0.06332497, -0.08868742, 0.00536267, 0.107514486, 0.012895361) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.0024658428, 0.019426126, -0.016881164, -0.020488717, -0.048922155, 0.17309126, -0.018372579, -0.03677687, -0.09155397, 0.061009586, -0.009616071, 0.03962786, 0.0035316525, 0.07635197, 0.058956627, -0.078343235) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.03039151, -0.02179706, -0.13256884, 0.015438953, 0.045164272, 0.008465823, -0.037302323, -0.047198467, 0.086461805, -0.026166867, -0.082825124, 0.04287783, 0.0063669016, -0.11573385, -0.07224976, -0.013714064) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.00093393464, -0.071298994, -0.045471337, -0.049521264, -0.0225174, 0.00059206336, 0.04374177, 0.0036091383, 0.13097739, 0.058485433, -0.0064394586, 0.04528803, 0.07804035, 0.12880003, 0.06069678, 0.035211768) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0034267632, -0.02445536, -0.03262998, -0.016478172, -0.0055122855, -0.0501113, -0.008704746, -0.0031927635, 0.0469722, -0.024210429, 0.06736551, 0.009961532, -0.08491963, -0.06583238, 0.037627954, 0.06542382) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.016578473, 0.033218205, -0.0065697734, -0.04158166, 0.046912592, 0.04613003, -0.0012280424, -0.03691783, -0.042330205, 0.086754456, -0.044629443, 0.047134366, -0.036992215, -0.010501608, 0.067551166, 0.037200015) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.027897786, 0.09747921, -0.04084643, 0.13552453, 0.057026025, -0.041359186, -0.042058386, 0.0009002652, -0.01104683, 0.032735273, -0.10358667, -0.014704521, 0.029653493, 0.033336595, 0.021377075, 0.05612358) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.03921452, -0.065892264, -0.030849714, -0.008552324, 0.036152713, 0.002843949, -0.005661146, -0.054293033, 0.05298091, 0.060773555, -0.01566006, -0.025550537, 0.094225734, 0.1822973, -0.030561825, 0.12817883) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.08536916, 0.035227258, 0.03755952, -0.11607174, -0.0853034, 0.012900766, -0.03739922, -0.035334002, 0.047585174, 0.028244445, -0.0740126, -0.029372832, -0.059338946, 0.14307924, 0.051048215, -0.067679934) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.008592182, -0.058410797, 0.020849366, -0.16382204, -0.07770384, -0.025317764, -0.104188986, 0.020005422, -0.029965192, 0.0027783809, -0.04855559, 0.031024054, 0.11907461, -0.066049755, -0.0123903, 0.0012193247) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.03476529, 0.046214636, 0.009888887, -0.031571466, -0.0017239347, -0.035213687, -0.018704506, -0.022970913, 0.038869925, 0.020617284, -0.027653646, 0.08438496, -0.05168644, -0.10030595, 0.05942646, -0.017527822) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.03824222, -0.039970245, 0.01865399, 0.022627542, 0.010494951, 0.018938268, 0.047688883, 0.022623101, 0.028303806, 0.0012284952, 0.008151883, -0.013123273, -0.09821819, 0.12810522, -0.007887982, 0.001014433) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.055547453, -0.0048729135, -0.0971161, 0.081274316, -0.05333528, 0.10024997, 0.054938883, -0.044047352, 0.009951941, 0.03587957, 0.0074661407, -0.035541084, -0.04780075, 0.16808356, -0.013456479, 0.062173862) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.043390345, -0.0902233, 0.019866854, -0.0050886264, -0.030174786, -0.038430244, 0.044491645, -0.033973187, -0.04173327, -0.122817226, 0.04216472, -0.0034701554, 0.060158264, 0.10290473, -0.0754422, 0.08634506) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.08462651, 0.033815403, 0.017733779, -0.038401034, 0.018818637, -0.0011925928, -0.026301434, 0.027053649, 0.12861253, -0.10564661, -0.01422242, -0.013916042, -0.07513677, -0.043186367, -0.0067386, 0.103070624) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.020922124, -0.08269207, -0.03295733, 0.035343938, 0.06537153, -0.047538456, 0.026420915, -0.018416645, 0.031600706, 0.058092102, -0.030969834, 0.002246037, -0.0394724, 0.036406036, -0.025417443, -0.018096048) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.00821621, -0.014421023, 0.03438348, 0.048134994, -0.0058628554, -0.03268358, -0.050201043, 0.01843207, -0.017932825, 0.013981086, 0.09228249, 0.049337987, -0.06945597, -0.07996624, -0.009553615, -0.10418455) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.044928364, -0.044632304, 0.056615733, -0.0014097706, -0.047924325, 0.056804743, -0.050601732, 0.033798244, 0.08417014, -0.20754884, -0.0007047572, -0.114615664, -0.014755344, -0.0026903795, 0.006950572, -0.01987855) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.013488814, 0.025454564, -0.02341538, 0.08783819, 0.011724989, 0.15184675, 0.026375612, -0.06215876, -0.05694868, -0.11776829, -0.019890303, -0.13095337, -0.054090627, -0.00496299, -0.055181853, -0.09454007) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.012735355, 0.018960586, 0.05001001, 0.043005828, -0.008215865, -0.08145173, 0.0114331795, -0.06774784, -0.15480073, -0.011143561, 0.01525811, 0.018036444, 0.08212632, -0.057760276, -0.0100080045, -0.055943586) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.0719452, -0.034702178, 0.029877292, -0.05708773, 0.034847297, 0.029303042, 0.060125273, -0.0180112, -0.0020914136, -0.026441699, -0.025329432, 0.0323247, -0.0041177548, -0.067490324, 0.078212105, -0.06227927) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.055863574, 0.025960127, 0.060764145, -0.0062505207, 0.02821774, -0.08844675, 0.0537338, -0.049768437, -0.045151267, 0.018788723, 0.048033886, 0.030205024, 0.004011241, -0.11857617, 0.0021722885, 0.02041612) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.0044614743, -0.0029739495, 0.06573779, -0.104692, 0.023032987, -0.019020164, 0.023129476, -0.018608885, -0.01780469, -0.13210958, -0.015820531, 0.028582064, -0.08297361, -0.22304453, -0.009781116, -0.05540077) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.04148067, -0.07938162, -0.08559252, 0.0070517873, -0.022326691, -0.17069066, 0.018649975, -0.04916772, 0.03511808, -0.06106422, -0.006205177, -0.03637524, 0.037280105, -0.049147673, 0.008087028, -0.11563153) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.041020527, -0.18646048, -0.123824924, 0.012383464, 0.030892888, 0.018914605, 0.06445953, -0.050220583, -0.0033223818, -0.01965866, -0.011409584, -0.022810342, -0.049872324, -0.04103424, -0.016393682, -0.043692466) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.054093715, -0.023727251, -0.013804765, -0.084482364, -0.041383408, -0.058891702, -0.0053521013, -0.0042508296, 0.017268108, 0.07580175, 0.08361346, 0.07055574, -0.07338056, -0.14742196, -0.029450634, -0.08742219) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.037076417, -0.27098152, 0.023080725, 0.025779113, -0.059550636, -0.25044376, 0.046278056, -0.049013242, 0.023746453, 0.18471119, -0.048386067, 0.098932974, 0.07062038, 0.014056283, -0.041788485, -0.112907685) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.040042374, -0.12694302, -0.06398615, -0.057966642, 0.010992132, -0.15962599, 0.03906477, -0.08054112, -0.006501323, 0.010249696, 0.06880296, -0.06852358, -0.06081176, 0.05288796, -0.061262764, 0.03487321) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.032061063, -0.07416875, 0.0682027, 0.006373449, -0.046085116, -0.059895344, 0.010099894, -0.08965473, 0.009417068, -0.00817722, 0.00079142, 0.030896246, -0.05620375, 0.057320725, -0.054367647, -0.02623629) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.015816675, -0.15531982, -0.005206039, 0.007645835, -0.007771944, -0.0132624945, 0.0625539, -0.06698558, 0.003625047, -0.0032118931, -0.030248037, 0.027676187, -0.03451308, 0.012206931, 0.035691753, 0.06082284) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.044962388, -0.057782564, 0.01296181, 0.020606516, -0.06641213, 0.03993328, 0.030176982, -0.09484069, -0.052395258, -0.050568223, -0.034460723, 0.071124546, 0.05422943, 0.08460577, 0.06380692, -0.011501751) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.009660192, -0.09361667, -0.03251414, -0.013151599, -0.040979795, -0.05231673, -0.041940108, -0.037534334, 0.02810291, -0.061070066, -0.040707756, 0.060918637, -0.0060664634, 0.12844777, 0.036742795, 0.068170786) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.0048745926, -0.0008011151, 0.07446404, 0.011292771, 0.09979208, 0.067748405, 0.019722788, 0.015271771, 0.017714567, 0.009429175, -0.034042183, 0.07173949, 0.036631677, -0.05526973, 0.002880339, 0.061510485) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.06614409, 0.06266898, 0.0204264, 0.036126405, 0.01966758, 0.06676798, 0.030933442, 0.01711721, 0.005032706, -0.032642487, 0.0070301406, 0.138236, 0.042887654, 0.08758957, -0.04261293, -0.05813972) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.02966356, -0.12169962, -0.035445753, 0.084398106, -0.05821306, 0.013775431, 0.013556504, 0.05518103, -0.034953527, -0.09678412, 0.03955658, 0.010430911, -0.0491261, 0.044643894, 0.038866147, -0.06255568) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.079773255, -0.096904, 0.03383102, -0.12007136, 0.029170882, -0.01665323, -0.041662946, -0.015791152, 0.07260459, -0.11096734, 0.0132565815, -0.03247111, -0.028906442, 0.023412194, 0.039661754, -0.0258751) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.005359845, -0.06514452, 0.0014987016, -0.06347716, 0.0074985554, 0.010479475, -0.033800952, -0.009142053, -0.037466243, 0.10754679, -0.0103402315, 0.005610633, -0.060096703, 0.034217257, -0.013323613, -0.044567) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0132925, -0.06560411, -7.0472954e-05, -0.02130029, -0.008911687, 0.06235323, -0.00831353, -0.10302195, -0.0036789016, 0.09753386, -0.01413683, 0.007755424, -0.02968591, 0.06487408, 0.021168506, -0.02894458) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.055423524, -0.0428516, -0.023361767, -0.074740335, 0.016760694, -0.02606389, 0.053089194, 0.03699819, -0.13424088, 0.007630524, -0.050693437, -0.019893171, 0.028126093, -0.0062043164, -0.010298197, -0.0027769918) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.036042705, -0.042179275, -0.01071094, 0.03433382, 0.065297455, -0.012492263, 0.057106085, 0.044447195, 0.08680467, -0.008501053, -0.04260962, -0.016765803, -0.07755736, 0.12021559, -0.008874005, 0.009416701) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.0042503923, -0.04272626, -0.01067183, -0.069843136, 0.009286404, 0.08016353, -0.028357888, -0.018561486, 0.032112494, 0.0031795872, 0.03642644, 0.065502025, -0.04945278, -0.06757261, -0.008669982, 0.0077634053) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.049741976, -0.029375453, -0.046725325, 0.07005209, -0.064609766, -0.13317938, -0.013353921, -0.019411417, 0.010509471, 0.16890813, 0.076283224, 0.09533363, -0.0064305337, 0.028285988, 0.021680988, -0.09024364) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.039019015, -0.027848033, 0.031733505, 0.08839901, 0.043180976, -0.2524302, -0.023028154, -0.015218826, 0.052012503, 0.16632442, 0.017646398, 0.18621239, -0.0097579155, 0.1825051, -0.02189521, 0.06670682) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.033070676, 0.037405487, -0.061235312, 0.09276253, -0.001496106, -0.10943658, -0.072145805, 0.004012103, 0.11671623, 0.14107701, 0.010714424, 0.018237907, 0.0064061284, 0.13976876, 0.020199688, 0.069814414) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.05581321, 0.015832694, -0.0425583, 0.1393105, 0.045069277, 0.022563534, 0.0139543805, 0.06248187, 0.036751226, -0.02479933, 0.01755073, -0.059485618, -0.039507475, -0.09686741, 0.056280024, 0.032757618) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.005470739, 0.020747596, -0.00782719, 0.0047819032, -0.026731307, -0.021794774, 0.0073465314, 0.017722085, 0.005226232, 0.0625953, -0.0061536594, -0.013886793, -0.07939598, -0.043005157, 0.0020199786, 0.05080855) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.01181249, -0.020794665, -0.012574842, 0.009385898, -0.06470445, 0.038837947, -0.012595815, 0.024456784, -0.013719272, -0.022295173, -0.014469, 0.0871819, -0.036611926, -0.050177533, 0.049599353, 0.063622504) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.031631738, -0.08377756, 0.04044927, 0.0036506825, -0.07809195, -0.010969768, 0.032230765, 0.025300901, 0.058146697, -0.06675496, 0.018597487, 0.07562908, 0.011475568, -0.07067235, -0.031121675, -0.06076908) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.031133257, -0.016882684, 0.043442976, -0.049766973, 0.036424372, 0.14464913, 0.023976605, 0.0364909, -0.0091075795, 0.012250791, 0.054124653, -0.0030592147, 0.04784614, -0.04640315, -0.03422624, -0.09543607) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.003039702, 0.035483304, 0.0062032216, -0.000873496, -0.04437085, 0.1484053, 0.059837677, 0.024659747, -0.06616237, -0.17420301, 0.055830006, -0.096234895, -0.018372519, 0.055164456, 0.0060703284, -0.013344392) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.039046418, -0.011347246, -0.08700006, -0.021849783, 0.036124066, 0.09683748, -0.011546806, -0.023120515, 0.2142085, -0.007437622, 0.016581131, -0.049597185, -0.22432843, -0.058209084, -0.026320519, -0.051152814) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.06569501, -0.06260183, -0.022898367, -0.07602671, -0.10893328, 0.009627328, -0.028194264, 0.018917458, 0.021341037, 0.054987516, -0.07046321, -0.13342457, 0.00964241, 0.06752712, -0.009670117, -0.008319827) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.012208404, -0.11404956, -0.093397826, -0.029117785, -0.045053843, 0.020680185, 0.105920635, -0.071645394, 0.11382571, 0.10907914, -0.02633005, -0.007285609, 0.03315715, -0.10891025, 0.018143376, 0.004968434) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.007814497, -0.108202524, 0.005990356, 0.07029117, -0.02400429, 0.08479373, 0.044013735, -0.027646372, 0.12385591, 0.09819356, -0.01390868, -0.014023669, -0.05179794, -0.02380332, 0.01904011, -0.007829915) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.05996399, -0.011351212, -0.002182095, -0.03762001, -0.10872467, -0.0039557135, 0.011847394, -0.080973424, -0.03966573, -0.047995437, 0.016876742, 0.056057207, 0.016441537, -0.42474058, -0.031029325, -0.13765779) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.04123183, -0.12598296, -0.0017007043, -0.029298684, -0.027486444, -0.09203502, -0.031962857, 0.02635506, 0.07193526, -0.014323217, -0.04090487, -0.07708059, 0.06994412, -0.29370317, 0.0012741195, -0.04218431) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos2 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(2, 0); + imageStore(out_image, store_pos2, max(result2, V4(0.0))); + V4 result3 = V4(-0.001753894, -0.0013974875, -0.004897225, -0.005634429); + result3 += M4(0.0510955, -0.0014422251, -0.16106804, -0.062141303, -0.07308469, -0.0027836259, -0.21114375, -0.100874186, -0.013258162, 0.044785988, -0.047111925, -0.020188062, 0.0670417, -0.020951303, -0.14186628, 0.064117864) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.16701005, -0.06742916, 0.03127594, 0.008484275, -0.047200687, 0.032157466, -0.05341922, 0.01914972, -0.16609915, -0.07062191, 0.10585516, -0.022021443, -0.008743887, -0.12588485, -0.013068496, -0.0010706417) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.024073077, -0.0893969, 0.02240187, -0.09664518, 0.017476859, -0.008503885, 0.03401605, -0.025034517, -0.020375827, 0.02779849, 0.045822665, 0.008929096, -0.0035302187, 0.036612146, -0.03156456, 0.11757052) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.031898964, 0.017378872, 0.09017029, -0.06271773, -0.024249142, -0.04200131, 0.0053986455, -0.08215535, -0.029748129, -0.0111275595, -0.23061034, 0.08160556, 0.07733545, 0.04055246, -0.10813094, -0.07082996) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.08149865, 0.0089612175, -0.004277574, -0.06320481, 0.002159603, 0.014942097, -0.20311283, -0.00051849225, -0.012931464, -0.08299128, 0.024814848, -0.020236392, -0.0396539, -0.104194514, 0.0059578517, 0.07320285) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.05389601, 0.051244125, -0.07886199, -0.006991185, 0.0701821, 0.01742971, -0.0360802, -0.1586421, 0.0014566769, 0.031960763, 0.07926618, 0.055757407, 0.05081961, 0.091059536, 0.051290788, 0.054321263) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.043374978, 0.009481372, -0.022228906, 0.09681656, 0.024620373, -0.038787384, 0.1481093, -0.102501646, 0.0666276, -0.009648747, -0.043973416, 0.053977057, -0.057475377, 0.05297815, -0.15797196, 0.047255475) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.074815035, 0.051806025, 0.0119373705, -0.08923786, 0.092210636, 0.043409556, 0.05540594, -0.14369188, 0.055297863, -0.02117661, -0.055621177, -0.01922724, -0.02464503, -0.010207825, -0.13104855, 0.053837925) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.018252091, 0.008290987, -0.055075508, -0.064988494, -0.027021425, -0.0025310665, 0.07473345, -0.020244943, 0.027049959, 0.011974791, -0.022015415, 0.021458128, 0.2592622, 0.10979678, -0.07179369, -0.0056512686) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.015216589, -0.07023487, 0.0839606, 0.1662634, -0.079139516, 0.0058597443, 0.0017449085, -0.08332759, -0.09100947, 0.06654936, -0.17768103, 0.07736078, 0.077316776, -0.009327731, -0.03529375, 0.100601755) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.009649454, -0.044944834, 0.102665305, 0.1490509, -0.062011812, 0.032266464, -0.13779493, -0.0005610752, 0.02608158, 0.071216986, -0.027217088, -0.005946147, -0.015692627, 0.0035445904, -0.0039190263, -0.012237743) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.06427003, -0.15058146, 0.080158085, -0.085569456, -0.050241597, -0.10667351, -0.111500025, -0.016578663, 0.028872231, 0.03475622, -0.053965945, 0.043960016, -0.12721512, -0.054666117, 0.0546907, 0.015116224) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.11448927, -0.20485592, 0.31450891, -0.06642643, -0.0688781, 0.049433906, -0.21860045, -0.1494118, -0.016739411, -0.12855761, 0.1603473, -0.14590974, -0.09434075, -0.026790807, 0.15449707, -0.092657305) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.14060137, -0.10084397, 0.06508738, 0.021710044, 0.067415945, 0.10555721, -0.11868009, 0.043667387, 0.02157634, -0.046667363, 0.013558025, -0.019680679, -0.1182172, -0.01087916, 0.054286998, -0.005211396) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.14056996, -0.22013167, 0.1461965, 0.0360858, -0.038464427, -0.009259199, -0.00449183, -0.06022597, -0.04390082, -0.037551455, 0.06474504, -0.12466846, 0.0029804995, 0.11938867, 0.0784881, -0.0009411952) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.04892837, -0.103729464, 0.10369665, 0.06400206, 0.00539981, 0.0845724, -0.20368838, -0.08218857, -0.03792307, -0.013620782, 0.027519066, 0.009342098, -0.015998136, 0.0529728, -0.10673174, -0.008221573) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.105546065, -0.024494499, -0.030712072, 0.09429169, 0.08583257, 0.06958051, -0.05242256, 0.04935028, -0.16270357, 0.02895549, -0.011352454, -0.03855827, 0.050440468, -0.008253578, 0.04382224, -0.0802333) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.103211984, -0.07709018, 0.12742479, -0.009656271, 0.10314204, 0.06314763, -0.08325108, 0.032728635, -0.038588986, 0.016493468, 0.046914, -0.08048543, 0.079990596, -0.03558994, 0.027630607, 0.10869989) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.016523518, 0.043567576, 0.031989362, -0.051843897, 0.09156953, -0.049898338, -0.08456457, 9.295932e-05, 0.0067236093, 0.039171863, -0.05957704, -0.053250317, 0.12056515, 0.051788855, 0.09959172, -0.075641766) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.03300706, 0.042960815, -0.038229458, -0.082272045, -0.02062046, -0.013584404, 0.023872068, 0.01837958, 0.0064911153, 0.014958984, -0.061633807, 0.10158009, 0.038852327, -0.01880267, 0.051303536, -0.043501228) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.091645375, 0.03069737, 0.0011189341, 0.020449331, 0.08068335, 0.020978091, -0.0010769651, 0.00061968376, 0.059274398, 0.038646713, -0.080847554, 0.062156983, -0.008254736, -0.109845705, 0.08902917, -0.06016639) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.0032500124, -0.0029053027, -0.10139858, -0.092240416, 0.0028348682, 0.06729654, 0.06749318, -0.09978482, -0.03982243, -0.030453835, -0.015678678, 0.03608406, 0.15083215, -0.007230306, -0.10706982, -0.07223214) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.007562644, -0.042438913, -0.2473465, -0.13399822, -0.045433365, -0.025494002, 0.024317758, 0.044449568, 0.05944731, -0.0694204, -0.020144688, -0.06183033, -1.578965e-05, 0.07795331, 0.005881074, 0.005066053) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.11387325, 0.033727806, -0.18759632, -0.14813696, 0.09174701, 0.0008894907, 0.036859125, 0.056849327, 0.054114643, 0.0035360134, -0.13394095, 0.018504262, -0.29520825, -0.060625486, 0.17550802, -0.004313305) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.030649202, -0.04472229, -0.0074572894, -0.0017512267, -0.008976157, -0.02922784, -0.066103965, -0.020210957, 0.030231677, 0.05777765, 0.024088016, 0.027347937, 0.11041822, -0.0019651058, 0.011401381, -0.10339278) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.14884105, 0.09695989, -0.25524306, -0.04117012, 0.098701954, -0.013257333, 0.0063331877, -0.05731089, 0.032744903, -0.053980805, 0.065288156, 0.03085845, 0.048825268, -0.072569326, -0.09417011, -0.10579333) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.010043043, 0.0642085, -0.06357349, -0.07118855, -0.10935073, -0.10364806, -0.01580492, 0.03195866, -0.10764109, -0.09563928, -0.082239136, 0.02280415, 0.0524383, -0.109502465, -0.2635903, -0.08593865) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.068846524, -0.07125774, -0.12089259, 0.098966055, 0.034653466, 0.0041809925, 0.13387324, -0.043039873, -0.10819184, -0.023255398, 0.047557384, 0.016823234, 0.0054768776, 0.040949013, -0.030277798, -0.04270398) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.031168938, -0.10615755, 0.025889881, -0.011743299, 0.08902674, -0.034878504, -0.022646587, 0.11851831, -0.06464948, 0.079670824, 0.023234254, -0.084553234, 0.0376315, 0.05054771, 0.09117024, -0.07906715) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.08629371, -0.093498096, -0.027559953, 0.047508396, -0.035618316, -0.027674304, -0.024086535, -0.055605736, 0.023311825, 0.022395147, 0.031558786, 0.19042405, 0.078466065, 0.0053509464, 0.06812108, -0.064697385) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.0012832027, -0.055628862, -0.09948993, -0.059389584, -0.014586518, 0.030167721, -0.06910902, 0.06505407, -0.039179996, -0.029795416, 0.08534994, 0.0036559643, -0.010633829, 0.040293515, -0.08916706, 0.018675936) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.09189747, 0.058991402, -0.2527707, 0.037559688, -0.100008465, 0.08455966, 0.05074772, 0.048251648, 0.11207963, 0.020535069, -0.040172968, 0.031538695, -0.011502413, 0.07442321, 0.013476581, 0.025898138) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.052855596, 0.015964417, -0.13057, -0.047626056, -0.06671311, 0.031874254, 0.022143204, 0.06536331, -0.025325635, -0.036011934, 0.04260797, 0.11191557, 0.03770287, -0.06586303, -0.04873123, -0.056259878) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.043878954, -0.09928315, -0.014432066, 0.08127803, 0.062331323, -0.046219483, -0.043137003, 0.03721585, -0.046861503, -0.00588611, -0.027924262, 0.1838219, -0.023916904, 0.01123887, 0.011843222, 0.015758688) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.084801756, -0.012706828, 0.013612413, -0.115316086, 0.08332046, 0.05916644, 0.021933448, -0.03828946, 0.095254734, 0.017298417, -0.118689686, 0.11724159, -0.07606251, 0.0076094596, 0.04970195, 0.065284766) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.060157716, -0.028205112, 0.042110384, -0.040150832, 0.045903124, -0.037776917, 0.0062161894, -0.028285803, 0.23512363, 0.19943635, 0.0038068262, 0.093790285, 0.0025054172, 0.028764432, -0.093119, -0.045774717) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.073444866, 0.060245566, -0.127142, -0.099453315, -0.021869423, -0.08437972, -0.050510045, 0.01687948, -0.10656644, 0.059470206, -0.009267788, 0.09276904, -0.10689266, 0.041661225, -0.12071594, 0.019657483) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.00978651, 0.06365811, 0.05696499, -0.10536901, -0.1619058, -0.044065308, 0.077532925, 0.1587201, -0.020892577, 0.043757036, 0.009239805, 0.050515994, -0.15479021, 0.0082413, -0.00069826597, -0.11101841) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.03802562, -0.020386336, -0.05290729, -0.03698568, -0.102888085, -0.0045681875, -0.0063377465, -0.007031675, -0.05778179, 0.025034413, 0.022338934, 0.021851199, -0.13945115, -0.07390588, -0.0044923997, 0.044538014) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.021892704, 0.00037856385, -0.11895421, -0.06480491, -0.10637716, -0.037670396, 0.04496369, -0.20524552, -0.075241, -0.028605994, -0.01751968, 0.09528775, -0.08733261, 0.05390727, -0.27705854, -0.026450418) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.02181557, -0.0066893054, -0.017281216, -0.08216643, -0.04727442, -0.09027435, 0.08207199, 0.15310322, 0.17353615, 0.052801713, 0.05405899, 0.04529899, -0.0498973, 0.0016325635, 0.03305958, -0.08463907) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.033219725, 0.0012860984, -0.08258132, 0.021474639, -0.12610169, -0.15752739, -0.046107717, 0.106777325, 0.15860939, -0.07408108, 0.150278, -0.08699531, 0.009110753, 0.02425064, -0.04594132, 0.09777492) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.04595936, 0.029654864, -0.039329115, -0.050485395, -0.030018251, -0.063663594, 0.03981099, -0.0051486436, 0.07483936, -0.08247493, 0.017164234, -0.06291066, -0.06077101, -0.017245466, -0.25384012, -0.0022864235) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.0035274639, 0.0358282, 0.018104183, 0.05536197, -0.12962946, -0.05110302, 0.12784457, 0.022837047, 0.19512647, 0.06961312, -0.09589237, -0.06404749, -0.016611125, 0.0038207427, -0.12766546, -0.0014321043) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.044558328, -0.01735912, 0.13207456, 0.021598047, -0.031222777, -0.10839589, 0.12342696, 0.04601945, -0.15945779, -0.07611491, 0.04070373, -0.06437884, -0.041275237, 0.10437949, -0.023904061, -0.025326276) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.057078492, -0.0151794525, -0.029766973, 0.024047032, -0.06513498, -0.011700269, 0.028901184, 0.05379153, 0.014255961, -0.0020879265, -0.0753137, 0.010188508, 0.027880954, -0.0067705973, 0.11648632, -0.055566184) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.05751735, 0.021435417, -0.04841467, 0.009407018, 0.025138883, -0.04521057, 0.12123212, 0.0666516, -0.1910915, -0.073106326, -0.08085441, -0.06504755, -0.053867415, 0.040782426, -0.050118912, -0.06360974) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.0587823, 0.042719536, -0.047062896, -0.021352036, 0.040855724, -0.12014876, 0.0024324432, 0.015546583, 0.03618561, 0.035796918, -0.04368792, 0.117325194, 0.08885002, -0.007225945, -0.07319086, -0.007073744) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.0077290074, -0.09140962, -0.029023077, 0.07722968, -0.042377498, 0.037398588, 0.08975266, 0.15041004, 0.038663536, 0.021520466, -0.11967419, 0.07517593, -0.10444741, 0.002757502, 0.052663285, 0.08683975) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.0056375484, 0.018065926, 0.13958345, 0.039871924, -0.05444778, -0.033001233, -0.010109822, 0.082818545, -0.04757214, -0.025648618, -0.07276786, -0.08655178, -0.07756433, -0.074569575, 0.07933869, 0.039463654) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.03843932, 0.045454994, -0.020771028, -0.0029789829, 0.045178797, 0.07428903, -0.034121823, 0.13406952, 0.053619333, 0.019638985, -0.054928973, 0.056603216, -0.04985281, 0.08746511, -0.041357283, -0.014900436) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.013246526, -0.010679136, -0.03217186, 0.013331226, 0.020726323, 0.043613445, 0.04588832, 0.0976425, -0.063859284, 0.044196937, -0.14352582, 0.04864811, -0.034070514, -0.056568336, -0.25813615, -0.009612735) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.07611071, -0.019221358, -0.021143042, 0.029803796, -0.06961618, -0.0054458445, -0.15659875, -0.038813353, 0.018120872, -0.040981874, -0.13567838, -0.042946678, -0.101973675, -0.016012631, -0.07357373, 0.11768315) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.046529002, 0.020634364, -0.070021726, -0.006326034, 0.043883044, -0.03478427, -0.07738003, 0.08201628, 0.03330556, 0.039060973, 0.012904503, 0.04871265, -0.038782973, 0.085138164, 0.058802683, -0.0141459135) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.032335225, -0.061436202, -0.047159657, -0.002345953, 0.044860628, -0.012254223, 0.09882336, 0.015789606, 0.047507744, -0.06272349, -0.032162435, -0.034077246, 0.0125551, -0.030660152, 0.019176075, -0.025342297) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.083775856, 0.017595567, -0.013300681, -0.026620507, 0.1108536, -0.01823224, 0.10865026, 0.008377945, 0.015202055, -0.080439016, -0.16888207, 0.005813549, 0.011944522, -0.03933163, -0.07740789, -0.030251414) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.017145677, 0.004600184, 0.03873979, 0.051255386, -0.04994213, -0.06982445, 0.009787673, -0.053041965, -0.032913458, 0.10153216, -0.10730869, 0.062210664, 0.0696992, 0.05948065, -0.02450586, 0.17984338) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.053155616, -0.020660501, -0.08134207, -0.093596205, -0.0494826, -0.05476016, -0.033018854, -0.01961811, 0.030948794, -0.05289281, 0.113410406, -0.1374441, -0.012185742, -0.04681447, -0.0018786815, 0.015002339) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.17019029, 0.13228357, -0.017629202, -0.05854934, -0.06350081, 0.02816042, -0.03780741, -0.010020251, 0.21375313, -0.007976269, 0.17335916, 0.07364091, 0.04588028, -0.013080616, 0.08528194, -0.0664166) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.14674406, 0.010323853, -0.07197128, -0.079804614, 0.0012769854, -0.09133876, -0.011044012, 0.015296239, -0.15470837, -0.11878868, 0.027009109, 0.066733055, 0.02005289, -0.03605219, -0.19479476, 0.038946524) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.030754004, 0.054105617, -0.23930266, 0.0012532229, 0.0681863, 0.048780955, 0.10493848, 0.010416127, -0.05268154, -0.11759406, 0.13387895, 0.0913066, -0.032745544, 0.03413392, 0.119295806, -0.0268384) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.04134917, 0.035077658, -0.16075496, 0.044309866, 0.064346045, 0.062219102, -0.003758656, -0.017410656, -0.112895384, 0.031625766, 0.100723445, -0.009958311, 0.010116062, 0.02509581, 0.04657778, -0.028242614) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.0030505157, 0.09393354, -0.072180524, -0.08279992, -0.0073182653, 0.059307057, 0.1027422, -0.068089135, -0.13267042, -0.03093472, 0.011780204, 0.012928362, 0.05809045, -0.049689002, -0.029076193, 0.080765314) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.05612331, -0.047981143, 0.015793415, 0.06191897, -0.06897301, -0.023674635, 0.051501837, -0.01883504, 0.02034847, -0.06250871, 0.09392491, -0.12458577, -0.093867674, 0.04094437, 0.091689095, 0.018923631) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.103490815, -0.05204404, 0.0894954, -0.0038717366, 0.0060165925, 0.013116367, 0.023980673, 0.0060623763, 0.10017958, 0.06305146, 0.07879622, -0.0007648767, 0.024047611, 0.04951123, 0.0063824872, -0.04768324) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.00996387, -0.03359056, 0.022958431, 0.00852871, 0.021310773, 0.034655355, 0.046074633, -0.06907012, 0.01641809, 0.1414664, 0.042853694, 0.019500487, 0.015980314, -0.052236717, 0.013711238, -0.0041444907) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.0035556378, 0.0031836366, -0.16782846, -0.061324954, 0.10267203, 0.00014618594, -0.093233876, -0.09201191, 0.021259613, 0.040947814, 0.11295105, 0.06664166, 0.0020217039, 0.095334664, 0.13313785, -0.08777343) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.023374978, 0.0245457, -0.142329, -0.01641789, -0.015534354, 0.022523342, 0.07155096, 0.049665954, -0.21894057, 0.01754712, 0.23158684, 0.09972439, -0.0061606965, -0.093659826, 0.1867843, -0.1590593) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.0038185576, -0.0066499216, 0.100905396, 0.018203642, 0.027271736, 0.013972642, -0.044893872, -0.030234348, -0.08020654, 0.03789202, -0.058251068, -0.009965162, -0.04527503, -0.1492402, -0.03028936, -0.12618981) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.017472351, -0.02098791, 0.014205505, 0.026244208, 0.07826186, -0.07506567, 0.026739568, 0.017112497, -0.032292403, -0.056721248, 0.24799104, -0.08332576, 0.04910049, 0.047754016, 0.00740242, 0.07962765) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.028897962, -0.006679737, 0.039222337, -0.016151924, 0.030311882, -0.0021482261, 0.1714241, 0.1221679, 0.11398978, 0.004748163, 0.064690985, -0.061905473, -0.11294383, -0.030517105, 0.110042654, -0.02256132) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.10085912, -0.016250946, 0.12300144, -0.04213109, -0.007596897, 0.013866745, -0.06238941, -0.0044107796, 0.016672386, -0.09185689, -0.015329627, 0.0933653, -0.23079273, 0.0064556836, 0.06462897, -0.0051751006) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos3 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(3, 0); + imageStore(out_image, store_pos3, max(result3, V4(0.0))); + V4 result4 = V4(-0.0077957916, 0.0060499012, -0.010836468, -0.0017485411); + result4 += M4(0.005616523, -0.04194812, -0.09163412, 0.08635277, -0.050443027, 0.06253843, 0.048551682, -0.011747643, 0.008492668, 0.079617746, 0.031543497, 0.08591439, 0.037825957, -0.110151805, 0.036944993, 0.053537607) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.017273068, -0.16909112, -0.10701974, 0.029792253, -0.008890513, -0.032852247, -0.034842115, 0.10169415, -0.03968484, -0.25570327, 0.103661686, -0.015338259, -0.033557802, -0.003787473, -0.0070499345, 0.06419729) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.12731797, 0.10600407, 0.0020919521, 0.04016499, 0.03951315, -0.24479462, -0.015232936, -0.06416498, 0.029538224, -0.18024328, -0.021564098, -0.03283761, -0.059248954, -0.27103087, -0.08914301, -0.070944354) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.02155511, 0.018095965, -0.10213831, -0.073654994, 0.030524455, 0.07272491, 0.101944596, -0.07291663, 0.039682604, -0.016149491, 0.023214934, 0.04756301, 0.06082331, 0.34726402, -0.011065706, -0.07920397) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.050924055, 0.22085744, -0.05160645, -0.10828216, 0.10336194, 0.049868155, 0.09316188, 0.057960473, 0.011030283, -0.09813769, 0.04142197, 0.058068234, -0.081382684, 0.14713648, 0.113756895, 0.049565565) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.03138243, -0.50052327, -0.07227262, 0.030304221, -0.03891303, -0.22329788, -0.05441807, 0.039840102, -0.16109404, -0.19939257, -0.043962058, -0.003267227, 0.042068847, -0.3290805, 0.009366777, 0.057383373) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.079585865, -0.0061681005, -0.051853005, 0.07058491, 0.010256865, -0.03913294, 0.047809187, 0.008772287, 0.0261286, 0.02663037, 0.030273622, 0.018596409, 0.029003954, -0.16997048, -0.009826249, -0.0037874829) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.06694902, -0.2436866, -0.059604432, -0.026513252, -0.03996721, -0.02117163, 0.09241017, -0.02629, 0.049830202, 0.2232943, -0.0018110595, -0.03418314, -0.038950525, -0.072844274, 0.04636144, -0.017988058) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.05093455, -0.06564816, -0.06433161, 0.00042637912, 0.023587756, -0.109346606, -0.030906107, -0.033827014, -0.10780864, -0.0872342, 0.028665652, 0.0060701533, 0.08462985, 0.39795703, -0.045315877, 0.11150783) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.14383322, 0.028507762, 0.08961605, -0.08953246, 0.047910232, -0.010007266, 0.010711339, 0.045588322, -0.0396927, -0.11735218, 0.07079176, -0.0062896134, 0.022389576, -0.0050860886, -0.037289906, -0.0699777) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.0746044, 0.09196737, 0.071747646, -0.10441333, 0.03622997, 0.023850085, -0.0031288909, 0.004427611, 0.1101886, 0.0033883322, -0.103875495, -0.007049097, -0.00829487, 0.053826746, 0.059646457, -0.11553904) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.11399977, -0.2441146, 0.18741101, -0.103084944, -0.10768034, -0.046083275, 0.08148009, 0.00021542759, 0.05614393, -0.3593529, 0.030421058, 0.036315087, -0.0377118, -0.093583114, -0.026268834, -0.08747736) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.09930037, 0.0019598862, 0.119516365, -0.11008051, 0.031695403, 0.016200045, -0.04629515, -0.015688848, -0.010773767, -0.08754631, -0.05951426, -0.0029130029, 0.0047315294, -0.117544465, -0.04873057, -0.056104623) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.063162774, -0.10060283, 0.019020073, -0.06556571, 0.020053413, 0.025257668, 0.021311715, 0.10337843, -0.004513997, 0.04654615, -0.029650498, -0.018564593, -0.04667031, 0.11830512, 0.050825644, 0.028347157) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.051573876, -0.0937203, 0.04461173, -0.037602253, -0.0037400185, -0.124283224, 0.023265764, 0.012887522, 0.07170855, -0.5180021, -0.025531614, -0.008329156, 0.013361593, 0.027761199, 0.09889079, -0.0045408) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.036340803, -0.011897847, 0.05298622, -0.055303965, -0.025094805, 0.0039159763, 0.04067957, 0.08146312, -0.027963297, 0.039958414, 0.06073669, 0.0050723366, -0.0028475302, -0.03816663, -0.026238924, 0.01452438) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.07241517, 0.08496, 0.041270934, 0.009422109, -0.014233708, -0.03344472, -0.028623762, 0.097772606, -0.0335184, 0.06869213, -0.010452685, -0.09835321, 0.01055246, 0.08456435, 0.061575342, 0.036262058) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.04834043, -0.15445288, 0.062427707, -0.06173424, 0.07083953, -0.076515295, -0.0104816165, 0.1784565, 0.0037879, -0.21123756, -0.057521716, -0.06752559, 0.04006161, -0.14409976, -0.04493574, 0.03115341) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.005936736, -0.41574243, -0.078262456, 0.10427586, -0.07916875, -0.285287, 0.08326516, -0.037848216, 0.07577904, 0.019001491, 0.030947044, 0.0223377, 0.044018496, -0.16739902, 0.062251497, 0.12273618) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.032892976, 0.07423079, -0.030662924, 0.04644273, -0.006555387, 0.18126653, -0.06202708, 0.047890246, 0.015667427, -0.082207814, 0.08150648, -0.06580664, -0.029766543, -0.039742194, 0.06219679, 0.107196786) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.13062109, -0.69701385, 0.0038875984, 0.060295857, 0.118312344, -0.22918193, -0.009899899, -0.054273427, 0.013730554, -1.0338554, 0.004849621, -0.018519918, 0.12186263, -0.20518574, 0.01985373, -0.011412594) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.07179696, 0.2682679, 0.0064091957, -0.15226164, -0.065185666, -0.25371572, -0.051706366, -0.09365108, 0.07062635, -0.043243606, 0.047333784, -0.02331007, -0.09053152, 0.2471111, -0.022574922, 0.04724258) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.018842602, 0.15833573, -0.11940482, 0.008295181, 0.082506046, 0.15588483, 0.012468154, -0.044290137, 0.0353944, -0.15662749, -0.016983058, -0.009625651, 0.011186484, 0.14717506, 0.14740981, -0.017075496) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.036897816, -0.06469471, -0.0016651851, 0.03536971, -0.0008533324, -0.4669576, 0.0026389956, -0.041868433, 0.0025501212, -0.07656041, 0.015197298, -0.03913252, -0.015102281, -0.6242041, 0.04100527, -0.016835585) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.061205424, 0.013390021, -0.008541395, -0.0077885017, -0.15873006, -0.116234355, -0.04305151, -0.06894059, -0.032050267, 0.0632322, 0.072749354, 0.027645756, 0.04121468, 0.073422246, -0.10441441, -0.030846043) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.061464474, 0.09787812, -0.020589935, 0.04169216, -0.03464933, 0.09886306, 0.0043368726, 0.029481294, 0.060673352, 0.043412812, 0.004616656, -0.051887844, -0.029155979, -0.054204866, 0.022457417, -0.12689973) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.014057861, -0.37331596, -0.07567709, 0.07600225, -0.046482608, -0.014156591, 0.001536117, -0.034718983, 0.019387329, -0.0048332075, 0.042042635, -0.07600525, -0.05461395, 0.1349002, 0.014131715, -0.10225792) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.0070915306, -0.02341524, 0.04991137, 0.07358809, 0.062125437, -0.028774606, 0.009060363, 3.6618803e-06, -0.04232729, -0.047909174, 0.027794912, -0.0053995857, 0.05325111, 0.0507387, 0.05919748, 0.0075960252) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.0055301907, -0.09783762, 0.017426338, -0.016257007, 0.056992296, 0.09599861, -0.08645053, 0.1219878, 0.04655339, -0.058836933, 0.08857425, 0.0724557, -0.034280043, 0.032993313, -0.0967161, -0.01669226) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.05602945, -0.032707322, -0.016324714, -0.019620981, -0.02037338, -0.073617324, 0.0041948766, 0.0015006386, -0.02617954, -0.098561525, 0.03997049, 0.005833275, -0.0075590652, -0.39213702, -0.089157, -0.031535484) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.024066795, 0.04986418, 0.008835163, 0.0760122, 0.09693236, -0.0031007489, -0.019368127, 0.044720795, -0.041099846, -0.030399416, 0.025275527, 0.03144213, 0.01799178, 0.013279282, 0.018009834, -0.115825355) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0042124554, -0.07395183, -0.008424302, -0.08135186, 0.13492796, 0.019682966, 0.014834531, 0.015007713, 0.030036928, 0.19016832, 0.012022241, 0.028489059, -0.06565293, 0.15362583, -0.021672308, -0.007369544) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.046676274, -0.32627523, -0.088944666, 0.013662126, 0.02914319, -0.088862374, 0.00948638, 0.0272932, -0.0876102, -0.21171248, -0.078587115, -0.0044856896, 0.09769026, -0.09830262, 0.08361649, 0.04894043) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.056403816, -0.028157853, -0.0070459833, -0.006378269, 0.02970313, 0.037882026, -0.03152504, 0.06505461, -0.022435348, -0.0023176281, 0.010481274, -0.0035972742, 0.09714971, -0.12912509, -0.05330272, 0.0043754675) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0034634916, -0.13739361, -0.01643065, -0.027316427, 0.07203822, -0.019178567, -0.015450501, 0.046859942, -0.015823357, -0.0016083946, 0.014616803, -0.0274558, -0.082427934, 0.09277257, -0.029764075, 0.0312986) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.01670181, -0.08596425, 0.014383179, -0.12495727, 0.028569762, 0.109109364, -0.001792472, 0.0115257045, 0.038399257, 0.36772048, -0.030903071, 0.086435184, -0.013315077, -0.11824613, -0.029170062, 0.0047071683) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.0017876618, 0.025184765, -0.014334835, 0.062102173, -0.1341015, 0.07384047, -0.039485138, -0.1631736, -0.033800665, 0.07445206, -0.06214827, -0.11952224, -0.018801166, -0.0623742, -0.044624705, -0.035128158) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.037538078, 0.047088366, -0.04701197, -0.015092142, -0.11459388, 0.07065409, -0.10924341, -0.10066645, -0.010656005, 0.10921427, -0.08398287, 0.023150427, -0.02606512, -0.053402413, -0.010602136, -0.0013749858) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.08899141, -0.43752456, -0.03284476, -0.005405861, -0.10196191, -0.5272519, 0.005430924, -0.09541268, 0.05432332, -0.24191913, -0.077337205, -0.06556873, -0.07910125, -0.009894806, 0.10301255, -0.10655763) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.04677127, -0.019749215, -0.008875983, 0.027499197, -0.12072266, -0.09069183, -0.04785233, -0.17034213, 0.09350408, -0.23526967, -0.046902936, 0.08199511, -0.0032688999, -0.03868497, 0.099952295, -0.053228933) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.025132105, -0.03711758, -0.057196382, 0.0886392, -0.047623463, 0.11254569, -0.11090408, -0.13532583, 0.13554347, 0.026121082, -0.014256699, 0.052409474, 0.038515557, 0.18403813, 0.028872183, 0.02939466) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.064347744, -0.2935133, -0.15066758, -0.037243746, -0.040397864, -0.3381021, -0.02721872, -0.054716237, -0.02428898, 0.2414867, 0.017546976, -0.06722838, 0.016060075, 0.07363465, -0.12134249, 0.066975676) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.0072765, 0.0061570206, -0.07220738, -0.029459078, -0.17303656, 0.04735067, -0.010392902, -0.19273293, 0.038847405, -0.0010137454, 0.012143286, 0.06704791, -0.06079272, -0.0551711, 0.02418044, 0.059530947) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.0057339347, -0.028764024, -0.043444213, 0.015123992, -0.17962073, 0.11742091, 0.055634864, -0.035403784, 0.015779737, 0.18281761, -0.010293197, -0.012891442, -0.008172115, -0.14339153, 0.08529122, -0.0919818) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.051245194, -0.0145835215, -0.12087156, -0.09522901, -0.18143776, -0.23926938, 0.06897029, -0.005186131, -0.0062377434, 0.17065518, -0.028380286, 0.035844486, 0.046486773, -0.18603137, -0.010511874, 0.08028066) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.0004506794, 0.013103107, -0.016295668, -0.102630936, -0.005110509, 0.00685665, 0.039797332, -0.0020058618, 0.052021362, 0.029573945, -0.03489618, 0.029739795, 0.036076862, 0.0968505, -0.07506856, -0.03221121) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.10435145, 0.11439071, -0.032601725, -0.011404292, 0.0010952663, -0.07771282, -0.034104135, -0.0675817, -0.06190838, -0.06666439, 0.058334887, 0.0008694473, 0.013148221, 0.073147126, 0.00013851986, -0.033418313) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.12613243, -0.30254334, -0.051057808, 0.06504544, 0.04140065, -0.109994575, 0.04425234, -0.06838215, -0.046413735, -0.94631284, 0.023434887, 0.014697015, -0.021180106, -0.2183863, 0.11645992, 0.028757503) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.053507037, -0.046670087, 0.056991126, 0.072554536, 0.0015466721, -0.018859405, 0.002989442, -0.059628405, -0.040513694, 0.17697826, 0.043422233, -0.046890702, -0.03768788, -0.04253526, -0.016702065, -0.0002009787) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.024480825, 0.072715774, -0.025486022, -0.009541553, -0.006200587, -0.055025265, 0.04167592, 0.048057698, -0.017616792, 0.018975029, -0.0090307295, -0.0066762026, 0.010227241, 0.121138304, -0.019544253, -0.0074589746) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.051538445, -0.4026569, 0.03312216, 0.07355576, 0.07319814, -0.029389808, -0.006276697, 0.086079895, 0.04214275, -0.28169334, 0.06188226, -0.008583532, 0.022548335, -0.184679, 0.06424013, 0.055858057) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.011189002, -0.015745312, 0.052557625, 0.0014153324, -0.048605327, -0.13785297, -0.00420498, -0.058074653, -0.014109974, -0.068019345, -0.05556461, -0.072568744, -0.014222318, -0.0796309, -0.003964272, -0.018734748) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.07466565, 0.12048894, -0.049311258, 0.06647813, -0.03523906, -0.058351386, 0.050657038, 0.071672894, -0.06274618, -0.051137377, 0.04815986, -0.027385246, 0.024217578, 0.11098382, -0.015278791, 0.0089761885) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.019446075, -0.026279556, 0.08840606, 0.004755141, 0.0050940313, -0.011071269, 0.014430294, -0.015337095, 0.03688326, -0.113050036, 0.019847535, -0.11014168, 0.050903853, 0.016559998, -0.043682724, 0.105734855) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.02413538, -0.09661888, -0.016680568, -0.027003048, 0.027720515, 0.05139895, -0.059533376, -0.008480151, -0.021782156, -0.0948348, -0.011946053, -0.083661206, 0.0027541763, -0.016553452, 0.05976177, -0.012382243) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.01664136, 0.032890648, 0.118016645, 0.07897552, 0.0075631356, 0.009923929, -0.028552296, -0.023822825, -0.018407537, 0.09924053, 0.028851537, 0.009706015, -0.06151248, 0.043282833, 0.0762848, 0.096101545) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.030704016, -0.20709091, -0.022521349, 0.0055669267, 0.036171656, -0.26116917, -0.0017919166, 0.0872411, 0.06075258, -0.17477477, -0.06139795, -0.057686936, -0.036947742, 0.0022338675, -0.06827943, 0.09513659) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.046025567, 0.02053716, -0.07563358, 0.114850186, -0.008834413, -0.10452754, -0.015598493, -0.04279575, -0.0076079275, 0.25391746, 0.01138008, -0.06014513, 0.05888544, 0.019534808, 0.041184768, -0.037653156) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.103366904, 0.063476406, -0.032284666, 0.16858894, -0.037980165, 0.098204985, -0.019629885, -0.083128214, 0.029296165, 0.07721127, -0.12941137, 0.019428158, 0.041222446, -0.05031155, -0.05398474, 0.05417108) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.08151757, -0.083410375, -0.09471605, 0.106122725, -0.042444084, -0.14979301, 0.06904225, -0.07871019, -0.011820193, -0.1595203, 0.06331041, -0.03371198, -0.019725615, -0.16591094, -0.1034206, 0.08035169) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.028080456, -0.01699382, 0.005616744, 0.106527865, -0.018187832, 0.057436462, -0.05104383, 0.11279502, 0.02042168, 0.040071566, -0.042232268, -0.003008953, -0.0283707, -0.010943442, 0.054606497, 0.022894923) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.014796767, -0.02887353, -0.018621137, 0.0028737967, 0.005466853, 0.08801529, -0.056778353, 0.07749991, -0.012213929, 0.08049053, 0.10469463, -0.010493468, -0.045273356, 0.0007864626, 0.04533333, 0.069797084) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.021616668, 0.05122962, 0.020707974, -0.02161771, 0.049373332, 0.21950689, -0.045331094, 0.038253475, 0.0033141759, 0.02463723, 0.026869116, 0.10298469, -0.049214076, 0.22436714, 0.04614014, 0.039212156) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.018752968, -0.04300836, 0.020475762, 0.044724848, 0.07042785, 0.099228844, 0.027523432, -0.00195699, -0.032637656, 0.011948905, 0.007918143, -0.0043041757, -0.029532015, 0.0026891085, 0.012754861, -0.0430998) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.016704883, -0.4837664, 0.06987767, 0.059787884, 0.08465444, 0.0885631, -0.05699635, -0.001997929, 0.10992531, 0.07447915, -0.0991016, 0.03178755, 0.061731808, -0.033232562, -0.04067799, -0.12527466) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.012273902, -0.41195315, 0.033000518, 0.006268288, -0.03206302, -0.46935156, 0.026043748, 0.018582162, -0.04194034, 0.2521312, 0.020366658, -0.012321433, -0.10020968, -0.2217259, 0.011765439, -0.043904427) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.10416891, 0.0075240354, -0.061949026, 0.027345, -0.027931014, -0.038200084, 0.043745268, -0.03831279, 0.013798263, 0.11791611, -0.013712109, 0.09794572, 0.06262215, 0.025320092, 0.022832619, -0.11276125) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.00523913, -0.512136, -0.088847265, 0.055632632, 0.09073465, 0.05092907, 0.0014315202, 0.01968783, -0.021083983, 0.13120243, 0.03384559, -0.12446009, -0.14667505, 0.017845381, -0.15785621, -0.13544762) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.020052887, -0.39797193, 0.010568928, -0.046947133, -0.03511945, -0.15283805, -0.011877808, -0.049116343, -0.14616685, -0.3074045, -0.048095446, -0.097700015, -0.05758815, -0.092551984, 0.054198664, -0.19315828) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-3.4956247e-05, 0.03476059, -0.035631776, -0.1646381, 0.04365449, 0.07835767, 0.064133234, -0.15099297, -0.051307492, -0.16103648, -0.016963178, -0.14490701, 0.045352284, 0.025952758, 0.030611787, -0.028325474) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.051873993, -0.030742146, -0.044068847, -0.15974861, -0.037380863, 0.123501696, 0.0007096733, -0.042267565, 0.05865187, -0.09406753, -0.048962224, 0.01845395, -0.05687447, 0.060790457, 0.015549078, -0.02682802) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.013546276, -0.2674674, -0.014769907, -0.09219755, -0.01816903, -0.12910564, 0.13570172, -0.07004518, -0.05699189, -0.13199072, -0.04986581, 0.00066671567, -0.11889433, 0.055775836, -0.032207955, -0.056921985) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos4 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(4, 0); + imageStore(out_image, store_pos4, max(result4, V4(0.0))); + V4 result5 = V4(-0.017064162, -0.009138364, -0.01383351, 0.00047878188); + result5 += M4(-0.052580684, -0.15064926, 0.02987774, 0.071231954, -0.19225833, 0.025622597, -0.0011039003, 0.071457036, 0.008199889, -0.0149901835, 0.05406384, -0.06376478, -0.01122113, -0.021406636, -0.045523465, -0.0074157855) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.025274225, -0.21419498, -0.009573271, -0.0031474095, 0.0017731632, 0.058964983, 0.011905587, 0.00091531203, -0.017207287, -0.063950986, 0.0007750435, -0.019510195, -0.023048855, -0.027910337, -0.055168293, 0.09232138) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.08605948, -0.0030003372, 0.052741267, 0.040023748, -0.09887652, 0.023920717, 0.044278517, 0.029505044, 0.098118536, -0.011110594, 0.025991485, 0.06361509, -0.06282377, 0.12177764, -0.09917582, -0.023999235) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.10372887, 0.13150156, -0.02967161, -0.054864723, 0.04916811, 0.08334721, -0.015376945, 0.077685595, 0.021581098, 0.026523333, 0.046904378, 0.03219035, 0.026270257, 0.028524369, 0.0808416, -0.015126878) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.0686373, -0.19545661, -0.02708483, 0.038734537, -0.07516088, -0.08819075, 0.033431824, -0.07084005, -0.037832294, -0.13529156, 0.014877889, 0.052974556, -0.00043094283, 0.036109447, 0.054239854, -0.048982244) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.01925057, 0.11993922, -0.012421586, 0.09361362, -0.1287831, 0.02428774, -0.020293595, 0.047963224, -0.032048315, -0.026012499, 0.00694215, -0.046500634, 0.026485292, 0.037203632, -0.019537913, -0.04560386) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.0022092953, -0.08684662, -0.013565316, -0.09283821, -0.030863952, 0.015646499, 0.10596539, 0.05793488, -0.026306584, 0.09371543, 0.048523117, -0.064937055, 0.078743555, -0.042760815, 0.035294045, -0.049106862) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.011494794, -0.10678031, 0.009467505, -0.059890613, 0.04309799, -0.029751549, 0.10095897, -0.009623872, 0.018188117, -0.01677607, -0.016772823, -0.054297403, 0.032907236, -0.03913367, 0.03649624, -0.040169254) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.052569184, 0.08124637, 0.04154669, -0.032765217, -0.01812052, -0.0010777035, 0.03483911, 0.06408343, 0.00833733, 0.032703206, 0.03860717, 0.051305726, -0.03682224, 0.12587099, -0.10561036, -0.060865622) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.09097959, -0.07135179, 0.09142802, 0.07326993, -0.058128767, 0.04646628, -0.010448193, 0.10141786, -0.004616605, -0.013517964, -0.03763962, -0.07403178, -0.0009963597, -0.020518739, 0.018544478, 0.011436883) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.014348731, -0.15722904, 0.11336486, 0.026427304, -0.07103025, 0.036963984, -0.0030734194, -0.022326298, 0.026184712, -0.111013845, -0.009728729, -0.05109377, 0.024496106, -0.028599976, 0.031787872, 0.03542584) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.07050498, -0.109162614, 0.045223612, -0.047703285, -0.009953353, -0.00785853, 0.046700656, -0.0028644206, -0.011897823, 0.06520107, -0.042867575, -0.041821364, 0.028639575, -0.014540787, -0.06456859, 0.0064730393) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.13522974, -0.15272519, 0.08009654, -0.047066122, -0.08123054, 0.13892876, -0.026219133, 0.019194964, -0.09978711, -0.048148822, -0.023773579, 0.074001074, 0.059268706, 0.023089651, -0.0020605852, -0.049749803) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.1035288, -0.07737308, -0.052633196, -0.04648146, 0.04661116, 0.18126677, -0.0076506822, 0.010274198, -0.04626878, -0.1933045, -0.068177186, 0.018264003, -0.01584764, -0.023423357, -0.05962603, -0.104598) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.29603174, 0.04270164, 0.02925997, 0.034024626, 0.07141427, 0.07198113, -0.0576125, 0.072871424, -0.029549595, -0.03296585, -0.045270614, -0.025112106, 0.03141592, 0.05787938, -0.023451163, -0.011590421) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.115010194, 0.0060094194, 0.057757296, 0.020855885, 0.008687725, -0.053142034, -0.054601498, 0.03892092, 0.072945, 0.0351329, 0.020654047, 0.049179904, -0.06461736, -0.0075203404, 0.050319687, -0.054393794) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.13110146, 0.038108196, 0.09231352, 0.01521032, -0.15011574, 0.060580675, -0.106966026, 0.13397363, -0.08296644, 0.0009438238, 0.045094255, -0.05785406, -0.06297069, 0.04615938, -0.024615912, 0.040067635) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.17284414, 0.04515633, 0.10534201, -0.10964022, -0.06890745, 0.064414054, -0.12355559, 0.062324725, -0.04746664, 0.07626474, 0.01518654, -0.06601995, -0.034115233, 0.0062601757, 0.056195226, 0.052302837) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.007837691, -0.01199658, -0.017733863, 0.06306481, 0.05477579, -0.03247842, 0.06285389, 0.03631672, -0.009716627, -0.028226832, -0.021615943, -0.029075084, -0.03702496, -0.19614635, 0.02188354, -0.03116074) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.036597606, -0.04945229, -0.053345334, -0.0077212485, -0.054383732, -0.07641286, 0.053576794, 0.0015732987, -0.053602118, -0.05044491, -0.040455487, 0.0040192823, 0.059879083, -0.16295475, -0.030358082, -0.05802254) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.02100697, -0.027025238, 0.039390437, -0.039955378, -0.015499209, -0.013657418, 0.03277752, -0.0034124032, 0.047590386, 0.054839954, -0.018624965, 0.034774452, -0.03736205, 0.081904836, -0.025306534, -0.07560313) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.019029297, 0.111544676, -0.019449128, -0.062633835, -0.083387695, -0.11506184, -0.025028003, 0.11878264, -0.12687209, -0.1018427, -0.00032619596, -0.0026753717, -0.22193514, 0.08331448, 0.00112046, -0.039312974) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.040813815, -0.07806331, 0.03336142, 0.037170477, 0.007642417, -0.028553793, 0.024147913, 0.06769474, -0.08894962, -0.18185507, 0.07269825, -0.004149227, 0.012871838, -0.0026559688, -0.0018293501, -0.0714703) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.024167957, -0.059312645, -0.01700588, -0.0029320365, -0.033242915, 0.027415048, 0.005478587, 0.0093810465, -0.08544, -0.024799146, -0.05432229, -0.0023842666, 0.20560393, -0.26743928, 0.010901901, -0.04611726) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.038561303, -0.045697164, -0.05869932, -0.036688242, 0.1325007, -0.03593313, 0.051447615, 0.04460445, -0.0013512254, 0.055332843, -0.029415287, -0.019206904, 0.054360576, 0.026933549, -0.019128239, 0.012142919) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.030934611, -0.08669126, -0.029762989, -0.05379838, 0.07881614, 0.06504117, -0.027605763, 0.023803793, -0.08531236, -0.11109963, 0.038883496, -0.029502144, 0.02944934, 0.08285026, -0.03329594, 0.05665866) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.008495413, -0.02058559, 0.044251725, -0.019452604, 0.018759632, -0.038155902, -0.0054274984, 0.019549018, -0.14419942, -0.021452796, -0.085885644, 0.018500164, 0.06183025, -0.04069198, 0.037580013, 0.07268955) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.074962415, -0.14022659, 0.016520677, -0.03555597, 0.004317521, 0.021628324, -0.016216125, -0.0090265395, -0.01530891, -0.10614487, 0.033422954, 0.030696338, -0.041668694, -0.01127462, -0.0020192435, -0.06253296) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.03193416, -0.09075817, 0.015444187, -0.004731062, 0.016805839, -0.011859106, 0.0022314081, 0.013757967, -0.09098486, -0.057078097, 0.019984663, 0.08406895, 0.042971447, 0.017707441, -0.07873982, -0.106951326) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.029794892, -0.04604144, 0.010108115, -0.08741878, 0.05272005, 0.018187212, 0.03645441, 0.012478393, 0.10531403, -0.09543154, -0.030098045, 0.052879542, 0.08159108, 0.0033676077, -0.0076734563, 0.056860436) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.22705682, 0.00079008023, -0.011108722, 0.021449545, -0.007286752, 0.05923551, -0.03640832, -0.07398509, -0.01398978, 0.15273027, -0.0035569891, 0.03433935, -0.10257959, 0.0018353865, -0.08885308, -0.00683911) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.20244955, 0.029942783, -0.01571777, 0.07039789, 0.052346084, 0.044757873, 0.07072515, 0.03373764, 0.10586753, 0.11967013, 0.06233647, -0.014309061, 0.037730675, 0.08074081, 0.07824349, 0.030605627) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.029372077, -0.08410153, -0.039379567, -0.03293846, 0.058879156, 0.10751088, -0.04405436, -0.021532848, 0.033775743, 0.13573281, -0.06923716, 0.05646577, 0.04221952, 0.091175765, -0.029289754, -0.06825895) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.00815596, -0.14585166, 0.037386876, 0.050968193, -0.17023389, -0.005002287, 0.013146105, -0.03545544, 0.016367182, -0.18802391, 0.014690057, 0.12102291, -0.14183491, 0.042241927, -0.0611679, 0.060872253) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.0832433, -0.088078916, 0.0015827757, -0.025694754, -0.12472857, -0.013242852, -0.05026308, 0.028733818, 0.004187615, -0.009066128, -0.02889407, 0.08355199, -0.056096047, -0.007907776, -0.03415466, -0.02147954) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.081740275, -0.08329364, 0.02646948, 0.04717796, 0.027727498, 0.073901534, 0.009284709, -0.05989023, 0.12223431, 0.043366108, -0.11360815, 0.051331054, 0.034414172, -0.019913677, -0.014516429, -0.05338667) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.024820674, 0.042039003, 0.02557277, 0.016237829, 0.13573207, -0.009554409, 0.042378433, 0.05221828, 0.03467738, -0.008004979, 0.048410967, -0.0777469, -0.056629356, 0.013864829, -0.011651788, 0.088673696) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.05088607, -0.009790113, 0.012366664, -0.03817271, 0.06393957, -0.20795764, 0.0148599865, -0.051517952, 0.023521481, -0.032240342, 0.0012528885, -0.043891285, -0.12818205, 0.02200286, 0.012515829, 0.105249815) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.06575557, 0.007183827, 0.08914133, -0.08024906, 0.10274569, -0.06478045, 0.08660466, -0.041635897, -0.03250085, 0.050974824, -0.016890934, -0.013152202, 0.04095364, -0.023561912, 0.074805975, 0.010691788) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.026221585, 0.043330725, -0.059108663, 0.07382594, 0.03668524, -0.11761509, 0.021285456, 0.045165, -0.14192653, 0.060858056, 0.010537122, -0.0155713, 0.05379938, -0.036375877, -0.03184592, -0.012125754) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.0486592, 0.022117248, -0.05874868, -0.005936204, 0.050171755, -0.28107113, -0.0077959495, 0.027032051, -0.104360506, 0.04668788, 0.087733194, -0.0639317, -0.06912867, 0.07747981, -0.067822784, 0.028730944) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.07823856, 0.0013985023, 0.108623, 0.0021302488, 0.13876343, -0.10544516, 0.085131936, 0.017325265, 0.03752746, -0.054372102, -0.027844364, 0.04206507, 0.08210051, -0.001717249, -0.007464347, 0.08731228) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.048742786, 0.014443547, -0.04710202, 0.01071015, 0.04355869, -0.001159062, -0.0078969775, 0.035044957, -0.04782799, 0.114430696, 0.049874514, 0.052845404, 0.017371679, 0.079726264, -0.027398052, 0.043368444) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.030715011, 0.107153215, -0.012649968, -0.07014838, 0.087433375, -0.0805983, 0.013917231, 0.06447163, 0.14152324, -0.041162245, -0.051097997, -0.014839854, -0.014786458, -0.012846841, -0.18997125, 0.052193753) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.043101534, 0.024263863, 0.069595486, -0.080130525, 0.10499162, -0.11555224, 0.097466506, 0.06178219, 0.083992146, 0.038534395, -0.06808349, 0.071081005, 0.090051174, 0.036718383, -0.03371315, 0.089062415) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.02752385, -0.043868963, -0.0075966883, 0.05074857, -0.010309309, 0.0029827978, 0.008614498, -0.050269563, 0.0073773093, 0.05339757, -0.038882896, 0.037564635, 0.040408596, 0.079476185, 0.049911276, -0.031025842) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.010402423, -0.021169057, -0.006185289, 0.03808448, 0.004703902, 0.04132122, 0.027664572, -0.083228655, -0.12492678, -0.017198684, -0.047410347, 0.03462901, -0.086314954, -0.1605177, 0.007901679, -0.008727798) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.10260776, -0.0032098314, -0.026985312, 0.032166883, 0.06461039, -0.027318908, 0.049204275, -0.017971812, -0.11446602, 0.03409934, 0.0033458848, -0.024349788, 0.05180107, -0.055579998, 0.0026593648, -0.007589303) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.019445686, -0.020414535, 0.0006472283, 0.0156667, 0.0491174, -0.0066385847, 0.01661231, -0.021331865, -0.017333452, 0.07392369, 0.013600466, 0.025585927, -0.04805005, 0.0035442205, 0.049909502, 0.05410278) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.116750695, -0.026829056, 0.025816385, 0.18974182, 0.036839206, -0.058677956, -0.05649178, -0.03159795, -0.084431015, 0.21318555, 0.030447993, 0.14198494, 0.02155719, -0.06378866, 0.056859545, 0.039767765) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.043991324, 0.06969867, -0.09649554, 0.068113476, 0.07376832, 0.027794264, 0.06412948, -0.107598566, -0.06815859, -0.039101645, -0.036776356, 0.09060587, -0.059446387, -0.0061770855, 0.036457524, -0.08388637) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.012548781, -0.0053755897, 0.027420633, 0.058871847, 0.12011362, 0.036351822, 0.024999782, 0.06201431, -0.006500293, -0.06003566, -0.012171236, -0.0034447624, 0.005984315, 0.05129913, 0.033435665, 0.054115847) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.064937584, 0.0130189415, 0.014841783, 0.013236126, -0.011993064, -0.0010715196, 0.033699043, -0.064773686, -0.06944554, 0.06720751, 0.052476846, 0.050593235, -0.020699535, 0.13518973, 0.0017886882, 0.042394735) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.092944555, 0.018714722, -0.059384845, 0.05072983, 0.035747956, 0.061721165, 0.041678034, -0.082633905, -0.032900624, -0.051342104, -0.08912702, 0.008042744, 0.08002831, -0.043737162, 0.028259652, 0.023484616) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.013745657, -0.007633268, -0.048201825, 0.0053475653, -0.06224788, 0.081527114, -0.040953435, -0.023771685, 0.088649556, 0.09754979, -0.016013704, -0.11392925, 0.005409401, 0.022066267, 0.0230272, 0.071867086) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.029500319, 0.0369013, 0.014230375, -0.039850343, 0.03266401, -0.012809505, 0.02225152, 0.040311716, 0.016176805, 0.13866723, -0.05700596, 0.0092237545, -0.23510231, -0.000337322, 0.016938541, 0.09166502) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.06344694, 0.045878544, -0.017930366, -0.011110018, -0.007533558, -0.10000114, 0.028966762, -0.0113148, -0.10936397, -0.056249842, 0.054771904, 0.10257253, -0.017031658, 0.011547765, 0.018011222, -0.014017226) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.048865512, 0.025866576, -0.024717387, 0.029450499, 0.021262022, 0.10048638, -0.056855593, -0.07887682, -0.007713335, -0.1985286, 0.033151604, 0.060416847, 0.08108954, -0.03879282, 0.028452195, 0.03459194) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.025263092, -0.028710818, 0.053543083, 0.021539392, 0.05636524, -0.038863085, 0.035249256, 0.003139853, 0.002222635, 0.015200795, 0.056427654, -0.054206114, 0.044076152, 0.084221594, -0.02612379, -0.0029482276) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.026838617, 0.0904887, -0.008255456, 0.007646968, -0.028907517, 0.10389119, 0.077646695, -0.034427915, -0.12124107, 0.06974404, -0.054933053, -0.037042152, 0.059587143, -0.004180774, 0.042085014, -0.049726043) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.014240625, 0.049130592, 0.054632396, 0.05262821, 0.034751363, 0.04461164, -0.01893102, 0.06457297, -0.0030643991, 0.077637345, 0.07165792, -0.07350835, 0.10283324, -0.1352381, 0.0479085, -0.04838709) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.018387407, -0.039498515, -0.03944234, -0.011729611, -0.026777115, -0.019394714, -0.0030624773, -0.058942895, 0.00010417057, 0.0046145073, -0.03480986, -0.000865622, 0.11664703, 0.030569486, -0.048659857, 0.0733454) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.012518504, 0.04270005, -0.04549333, -0.013024053, -0.086333744, -0.029665101, -0.033968486, -0.00806569, -0.22396058, -0.043458533, 0.07180374, -0.0006986618, 0.1694426, -0.034902193, -0.027834652, 0.014592792) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.14171517, 0.00762185, 0.029552683, 0.059720222, -0.096513994, 0.14818208, -0.02875358, -0.015003521, -0.00791769, -0.03699371, 0.015498617, -0.00073933665, -0.112339795, -0.012962045, -0.034593403, 0.0075096604) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.039212655, -0.0618684, 0.05029151, 0.039569814, -0.07647384, 0.105941355, -0.02122875, 0.07988431, 0.13522357, 0.01837457, 0.07444361, -0.24716674, 0.06037326, -0.04073068, -0.0063440213, -0.0523196) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.04664386, 0.069369055, -0.032271415, 0.10329228, -0.1251751, 0.026377456, 0.05780323, 0.022418464, 0.07428419, 0.10319433, 0.026942212, -0.013725641, -0.11263362, 0.010131541, -0.027427072, 0.019740785) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.00065466994, -0.032091245, -0.018805465, 0.025538133, -0.042291056, 0.09112029, -0.001967435, 0.00907886, -0.028492209, 0.12510802, 0.035390504, 0.035649158, 0.079726964, -0.12697986, 0.048638616, -0.09750821) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.002654665, 0.039059293, -0.010432873, -0.08553095, 0.0068300953, 0.094018064, -0.11085811, -0.008229747, 0.039278056, 0.061763294, -0.026760988, 0.050798867, -0.010892567, -0.05135347, -0.04973469, -0.08129986) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.04475997, 0.0016825717, 0.0367337, -0.018750174, -0.03916739, -0.048325635, -0.019920122, 0.063258015, -0.21115406, 0.13041137, 0.02212824, -0.05905629, -0.0020679291, -0.08770216, -0.057347674, -0.010861143) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.037821528, -0.046192843, 0.06482348, 0.079046875, -0.073419996, -0.005091488, 0.037938118, -0.018443927, 0.123021156, -0.055003177, -0.07070309, -0.08514817, -0.010225843, -0.058565214, 0.006292945, -0.117130995) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.03319668, 0.04250895, -0.04410246, 0.049072955, 0.05344825, 0.0024664747, -0.0565792, 0.05722042, 0.027147643, -0.18456233, -0.013522794, -0.17024432, -0.066083804, -0.042966776, 0.044605523, -0.08420987) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.030072097, 0.010024286, 0.03837929, -0.07633771, 0.02184606, 0.053947315, -0.052319027, -0.06662929, 0.07677724, 0.039782483, 0.030801704, 0.029726626, -0.08834049, -0.04875117, 0.064755246, -0.042219732) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos5 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(5, 0); + imageStore(out_image, store_pos5, max(result5, V4(0.0))); + V4 result6 = V4(-0.009212119, 0.003507561, 0.0017614447, -0.000891854); + result6 += M4(0.005420479, -0.03765253, -0.2113703, -0.017019596, -0.00012232907, -0.0119664, 0.030475564, 0.055534728, 0.016226996, -0.0041894116, -0.028692553, -0.14969012, 0.009976876, -0.03127412, -0.025543587, 0.0060234335) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.06841778, 0.023803147, -0.0072954386, 0.019212373, 0.0064333337, 0.009574441, 0.015377656, 0.05924476, -0.042617206, 0.023110364, 0.023833469, -0.083872244, 0.05775824, -0.030449226, -0.02677098, -0.10038502) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.0638864, -0.011889598, -0.008499467, -0.063392386, 0.027327657, -0.0443597, -0.075027354, -0.03230062, -0.0009098622, -0.02644064, -0.029291596, -0.1973508, 0.027956672, -0.04969405, -0.0017926429, -0.34395823) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.090639815, -0.071703546, -0.031222042, -0.11186478, -0.092462555, 0.012811491, -0.08094574, 0.017513886, 0.05244458, 0.02451952, -0.089271806, -0.061425485, -0.03058655, -0.009828067, -0.03462443, -0.09433234) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.020117106, -0.024253564, -0.031959753, -0.02785439, 0.09027044, 0.024937445, 0.08147845, 0.08131762, -0.056052797, 0.05791107, 0.017341726, 0.044404604, 0.02774216, 0.04790289, 0.11865258, -0.0039098156) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.040809244, -0.008604578, -0.0153527865, 0.04332529, 0.018727358, 0.03269885, 0.004727862, 0.03407893, -0.015570462, 0.042268675, -0.038988966, -0.08019628, 0.025311142, -0.048892096, 0.090186566, -0.02802924) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.009189727, -0.045040485, 0.010411647, -0.01015024, -0.011376033, -0.041132443, 0.061139964, 0.03836695, 0.006959192, 0.047185596, 0.014345384, 0.015355248, -0.008752522, 0.041594893, 0.055910952, 0.019942183) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.036358375, 0.042022303, -0.035140347, -0.026121737, -0.004275827, 0.039477937, -0.018245168, -0.02093531, 0.03132263, 0.030153207, -0.016479421, 0.0717239, -0.095710844, 0.030274253, -0.022124823, -0.071871266) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.032366402, -0.007857223, -0.004956957, -0.028024815, -0.030021444, -0.026756978, 0.017738787, -0.030870682, 0.025447551, -0.046104956, -0.031820256, -0.065970615, 0.131537, -0.055886056, -0.02947717, -0.39466482) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.08857444, 0.06181201, 0.10892477, 0.1598865, -0.029200364, -0.06248032, -0.161934, -0.057283062, 0.0060867066, -0.01603005, -0.050214414, -0.034583017, -0.008151495, -0.029216588, 0.037830215, 0.051382557) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.008736238, 0.035757974, 0.09563558, 0.16731556, 0.05011469, -0.010148606, 0.0024213805, -0.030117258, -0.05672622, 0.0044039665, -0.05888496, 0.06614675, 0.03148651, -0.0059596444, 0.021443851, 0.033808507) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.04901095, 0.04794677, 0.0643962, 0.13461615, -0.050091352, 0.053921502, -0.033675965, -0.10954018, -0.009882757, 0.03844012, 0.06563831, -0.030110866, -0.0114040375, -0.050989687, -0.017535688, 0.022628047) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.1263618, 0.03231095, 0.062102746, 0.07534381, -0.04930551, -0.035797704, -0.07076261, -0.09166402, 0.024191594, 0.0050198454, -0.0826121, 0.06363455, 0.022899987, 0.0228045, 0.070139974, 0.03956099) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.0058244937, -0.005637994, 0.1246669, 0.06947529, -0.06064936, -0.032905243, -0.018688258, -0.02922478, -0.057199407, 0.10089234, -0.09028781, 0.07328673, 0.049419697, -0.0432712, -0.036055803, 0.008174136) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.048131414, 0.015285253, 0.014695274, 0.02809009, -0.0687197, -0.063207634, -0.050545406, -0.040920738, 0.027214851, -0.03648223, 0.026417531, -0.024559537, 0.054645345, 0.013809618, 0.03174937, 0.037179485) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.07546025, -0.0013769476, 0.04695833, 0.11174557, -0.058189187, -0.037412923, -0.1805649, -0.19137752, -0.0008346956, 0.038469624, 0.031923845, 0.008102112, -0.029564379, -0.015368986, 0.08247637, -0.07343577) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.010937313, -0.004594886, 0.021334773, 0.026873654, -0.021222077, -0.05205842, -0.11226086, -0.071445644, -0.036068343, -0.0620517, -0.04320595, 0.008665601, -0.00785826, 0.031145884, 0.0119496705, -0.013787682) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.05067506, 0.0053193653, 0.1120914, 0.03604513, -0.048197076, -0.023107274, -0.13865311, -0.18559352, -0.036083188, -0.07118795, 0.034903843, -0.052835755, 0.0023837686, 0.002603539, 0.01904784, -0.110311635) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.02851371, -0.0037221194, -0.24336554, 0.033621766, -0.065597855, -0.003746745, -0.060015995, -0.16574976, -0.008641539, -0.010923488, -0.07563573, -0.043142762, 0.13892038, -0.00751957, 0.018870976, -0.08124187) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.054872446, -0.030896993, -0.09895045, -0.030481728, 0.031462237, 0.08630375, -0.010975847, -0.13422976, -0.019862631, -0.04584088, 0.042665944, -0.0091746915, 0.10421198, -0.03711207, -0.03594472, 0.019919347) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.017245872, -0.029405488, -0.01558761, -0.11982464, -0.009225813, 0.110546574, 0.05875645, -0.3290906, 0.0025578954, -0.05087402, 0.061268315, -0.027504647, 0.009124695, -0.011226426, -0.034456946, 0.08192874) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.10110505, -0.0006719686, 0.019420506, 0.0016768094, -0.05121278, 0.070078194, 0.07162851, -0.32755074, 0.05429881, -0.060515676, -0.0042930716, -0.04429736, -0.060902376, 0.0042079967, -0.028214697, -0.040386092) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.027918313, -0.06751752, 0.012395925, 0.0077983495, 0.0702817, 0.01616738, 0.022086967, -0.22833492, -0.11892267, 0.054747373, -0.0059430473, 0.038749106, 0.07894161, 0.08004822, 0.06869113, 0.07990716) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.017407585, 0.00932523, -0.06423329, -0.016436294, -0.050855115, 0.051179826, 0.025090018, -0.20749547, -0.06830204, 0.028537685, -0.020847978, -0.030851929, 0.031569283, -0.011937661, 0.051993158, 0.13939153) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.02265431, 0.020365246, 0.08315113, -0.038282223, -0.007635813, -0.018300107, -0.024974423, -0.07329284, -0.009175386, -0.057932477, -0.007921735, -0.03841722, 0.010409289, 0.027423337, 0.013023029, 0.029375158) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.09788744, -0.019917792, -0.04689008, 0.007919722, -0.054792784, 0.06983508, -0.055376597, -0.36580855, -0.06952103, 0.047611367, 0.07804524, 0.10084286, -0.04242552, -0.11590829, -0.117419906, -0.16327634) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.009322183, -0.020338742, -0.053499017, 0.03870518, 0.034012996, -0.009704714, -0.042649142, -0.3736386, 0.08686116, 0.036925863, -0.09613664, -0.035198007, 0.007542228, 0.024381611, -0.027772823, -0.055469017) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.12438315, 0.016053284, -0.023481993, -0.013729316, -0.036056396, -0.03041527, -0.053764075, -0.10810889, -0.06855047, 0.029137896, -0.0588834, -0.06328406, 0.061036192, -0.011093373, 0.024279324, 0.0039942316) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.0028309189, 0.0051225, -0.0059563676, 0.0008854113, 0.022889823, -0.012180989, 0.048347134, -0.14547911, 0.024895424, -0.0065479483, 0.060581416, -0.12862974, -0.06892344, -0.0153697375, -0.044898406, -0.024793794) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.108111, 0.052010685, -0.018785994, 0.029380225, 0.0012618627, -0.035650805, 0.03608617, -0.0028627913, 0.05361636, -0.02459279, -0.03273652, -0.25427926, -0.041043144, -0.023363115, -0.00742035, -0.004624003) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.1640952, -0.047170945, -0.04551896, 0.03965776, -0.047767162, -0.07997877, -0.069618315, -0.095630296, 0.011616412, 0.031869434, 0.019766618, -0.028307041, 0.0662131, 0.00036933148, 0.062150527, -0.039836116) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.0508459, -0.040735494, 0.014530418, -0.11175503, 0.05048648, -0.088057734, 0.029414315, -0.14583485, 0.07421976, -0.0035945121, -0.0507099, 0.13300386, -0.09657928, -0.016817443, 0.076937854, 0.019341528) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.112102926, 0.014283031, 0.04217049, 0.06394476, 0.0057991594, -0.009704378, -0.009131476, -0.0075958115, -0.013932986, -0.0009159908, 0.037982393, -0.0968711, 0.006820429, 0.03866606, 0.06786605, -0.099541634) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.052092947, 0.041884527, 0.05191982, 0.04347814, 0.10904768, -0.014295642, -0.04148065, -0.21627739, -0.13130075, 0.035921946, -0.045557268, -0.042424355, 0.09602343, 0.0035689296, -0.018205272, -0.052623875) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.025036452, -0.0076597426, -0.02203931, 0.019824011, 0.06812738, 0.010534089, 0.018215513, -0.05743859, -0.037721954, 0.0008116475, 0.03437198, -0.101671964, -0.117324814, -0.008874275, -0.026740242, 0.06072316) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.11793707, 0.08127973, 0.08387046, 0.06991066, -0.0060999948, 0.07509213, 0.0047291066, -0.01790309, 0.07883465, 0.010194506, -0.09597886, -0.12710233, -0.008561454, -0.017651455, 0.03258561, -0.04704412) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.079296835, -0.007176497, -0.071003966, -0.031774525, -0.015139711, 0.07969195, 0.022572745, 0.040847152, -0.042071294, -0.023583526, 0.019269235, -0.17594016, -0.0039828536, -0.034430988, 0.035904717, -0.042818602) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.004719372, 0.034166947, -0.025561862, 0.0542308, -0.028828839, 0.066719316, -0.07790735, 0.009795526, 0.028332122, 0.055737182, 0.028444644, -0.024588242, -0.03623557, 0.032434884, 0.04088559, 0.006522376) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.0040604705, 0.05340919, -0.08511965, -0.06321315, -0.008831744, 0.064645715, -0.03758154, 0.11131898, 0.021846121, -0.06376234, 0.0130395, -0.045623153, -0.047709044, 0.086039335, -0.025562337, -0.06477406) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.09928899, -0.05115178, -0.039197285, -0.1304032, -0.01651919, 0.05500903, -0.064241424, 0.047493014, 0.0070789205, 0.0042427517, 0.05329404, -0.18802434, -0.05672121, -0.053789075, 0.05852742, -0.036337513) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.118793085, -0.0035033973, 0.012065124, -0.104995035, 0.11729614, 0.028198905, -0.023159819, 0.002350429, 0.13809848, -0.082262814, 0.063063905, -0.087338775, -0.049746137, 0.07663729, 0.01871825, -0.022991672) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.08495069, 0.00314966, -0.028027764, 0.060831062, 0.08110046, 0.059274297, -0.045435946, 0.17525941, -0.02373271, 0.016823854, -0.03621947, -0.15517719, 0.009195386, 0.024517583, -0.034663264, -0.074018836) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.031922374, -0.09178929, -0.04470328, -0.0056425915, -0.087193444, -0.009263831, 0.03570166, 0.05786685, 0.05603946, -0.012095759, -0.038036183, -0.11744668, 0.01418083, -0.029454716, 0.058547355, -0.013933753) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.008746428, -0.00881258, -0.067780726, 0.036993146, -0.012930327, 0.01738473, 0.023857154, 0.07016731, 0.026034068, 0.049846373, 0.07283143, -0.15461919, 0.01664893, -0.03011495, -0.053724024, 0.007614907) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.0047720834, -0.025973728, 0.023875091, 0.019430986, -0.08790736, -0.026733058, -0.0649873, 0.15559092, 0.03333609, 0.080161825, -0.088263795, -0.11223622, -0.03777764, 0.033592675, 0.0553681, -0.092704765) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.13162029, 0.04512068, -0.19087441, -0.090574555, -0.04596346, -0.0112638315, -0.02115543, 0.028295139, 0.036870148, -0.054876927, 0.040446706, -0.0021400983, -0.062495697, 0.0061328243, 0.06592003, 0.008668666) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.008848764, 0.0011493338, -0.110375166, -0.18631724, 0.016458943, -0.023491599, -0.020219717, -0.024194023, 0.021168703, 0.0002756136, 0.004352087, 0.026927633, 0.0036976594, -0.03347136, 0.03199937, 0.04778199) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.044887014, -0.015682817, 0.015037376, -0.175748, 0.04638299, 0.0693437, 0.021798363, 0.00063979503, -0.0596638, -0.02457474, 0.059407007, -0.14366494, -0.01380239, -0.06749423, 0.02994469, -0.014496362) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.0017486031, 0.02841711, -0.06604549, -0.026702298, -0.008490819, 0.018497119, 0.023257617, 0.022516849, -0.037321553, 0.064146526, 0.07898731, -0.02519196, -0.012452306, -0.0840357, 0.0040852013, 0.012126074) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.010438524, -0.059748568, -0.06683171, 0.018264327, -0.028358066, -0.0077525545, 0.0019843841, 0.10297452, -0.013029149, -0.0780084, -0.07030604, -0.020326504, 0.033161737, -0.16851957, -0.00884115, -0.005680489) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.03172593, -0.076460324, -0.034672793, -0.09565322, 0.09411801, -0.033733364, 0.014327661, 0.034022108, -0.047447667, 0.03942549, 0.018579211, -0.03399011, -0.0167137, -0.10788374, -0.011078335, 0.08186553) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.06586778, -0.040866595, -0.07490561, -0.1436565, -0.0050556655, -0.06338725, -0.0017707113, 0.001981463, -0.0054731644, 0.082569465, -0.02897088, -0.10292658, -0.06616384, -0.018430147, -0.012137832, -0.062166538) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.03181218, -0.05381025, 0.059821106, -0.11877228, 0.009863026, 0.05000853, -0.06959257, 0.06890695, 0.039417874, -0.022792812, -0.0029466874, -0.0687668, -0.006412169, -0.08145962, 0.08518502, 0.04658461) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.03083078, -0.0310465, 0.0078087426, -0.18088213, -0.010876949, -0.0359779, 0.022039082, -0.016628625, -0.007735943, 0.035845563, 0.048187084, -0.06311247, 0.043105073, -0.0349099, -0.05868301, -0.06875034) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.07597523, -0.000118873795, -0.0996825, -0.20153405, 0.0039742854, -0.044571046, -0.10699664, -0.024057847, -0.047947194, 0.007382565, 0.099283315, 0.055183735, 0.004617195, -0.010980081, 0.05941656, -0.007280792) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.097414196, 0.013401685, 0.025069386, -0.16215841, 0.086117856, 0.01131146, -0.026106486, -0.07709636, -0.09018702, 0.04200694, -0.019005083, 0.011442096, -0.058725484, 0.0143419495, 0.041763484, 0.048719704) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.020885194, -0.04005326, -0.050581712, -0.2618801, 0.0009486669, 0.04054283, 0.014780989, -0.015885768, 0.07160794, 0.005877842, 0.015010413, -0.102895364, -0.0098498985, -0.015015686, 0.035676993, -0.043735452) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.061503306, -0.0328786, -0.16844888, -0.15721038, -0.018058324, -0.017600132, -0.01782079, -0.020330062, 0.054945245, 0.06528852, 0.016597655, 0.15817197, 0.115286455, 0.08032661, 0.12972084, 0.09322981) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.056910582, -0.0557694, -0.013893304, -0.03856103, 0.048139565, -0.046840668, -0.0886231, -0.040739585, 0.058171514, 0.031745203, -0.016775448, 0.11105396, -0.07627872, 0.038695868, 0.051778734, 0.014261746) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.031500544, -0.012877934, -0.021475017, -0.18154864, -0.09454298, 0.007249689, 0.030825041, -0.05184904, -0.07232011, 0.029033003, 0.079822086, 0.077453986, -0.03341855, 0.048954055, 0.071169496, 0.059435852) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.03906401, -0.058501486, -0.14872393, -0.2742766, 0.025929766, -0.059418917, -0.06694148, -0.06988536, 0.06319708, 0.05856558, 0.11449252, 0.07617328, 0.01054938, 0.030854799, 0.10453961, 0.14716713) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.05172054, -0.02230426, -0.039621804, -0.16871932, -0.036133233, 0.002362637, -0.056437444, 0.06979001, -0.08853697, -0.050805826, -0.004369545, -0.051083148, 0.026776522, 0.00321468, 0.06917667, 0.058441408) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.0453228, -0.094410285, -0.07183124, -0.25580448, -0.017125934, -0.034065496, 0.08573492, 0.011414003, 0.019990936, -0.0243371, 0.12472054, -0.20313217, 0.029985143, 0.02701724, 0.09371544, 0.08373268) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.11070917, 0.0439401, 0.057106707, 0.017534625, 0.067257494, 0.039300725, 0.028364751, -0.07374785, 0.004958037, 0.011277688, -0.029628806, -0.038294997, 0.05835732, -0.037194714, -0.030700421, -6.9137727e-06) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.11989683, 0.0040158937, 0.14065981, 0.007349627, 0.20193796, 0.030507924, -0.0023648832, 0.06658213, 0.025256509, 9.29601e-05, 0.025075002, 0.16907753, -0.008863759, 0.0076728025, 0.014367052, -0.00060556596) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.047034778, -0.015400275, 0.004685636, 0.073158406, -0.044403385, 0.07081168, -0.067296274, 0.029516382, -0.015040729, -0.0566585, 0.18062492, -0.5907118, 0.10280664, 0.03330281, 0.042279024, 0.12872829) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.04784915, -0.011008344, 0.10566314, 0.06728622, 0.09206833, -0.009041669, 0.008447539, 0.031529874, 0.058620296, 0.025984839, -0.12565587, -0.023129258, 0.026509024, -0.015427807, -0.050995562, -0.02812431) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.022808002, 0.04667675, 0.07053496, -0.054106794, 0.028469762, -0.056300867, -0.0331732, -0.016392956, -0.02228722, -0.12965798, 0.017047266, 0.02932775, 0.033993304, 0.00042188136, -0.009978589, -0.08932756) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.0060096155, 0.050465334, -0.0038856936, 0.03307228, -0.012065276, 0.037406396, 0.010433575, 0.07261764, 0.054356474, -0.1076354, -0.079320826, -0.17579685, 0.034004785, -0.008865941, -0.036165453, 0.11775663) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.08025587, 0.10296218, -0.012258889, 0.062083304, 0.03845399, 0.05631123, 0.031561494, 0.063703045, 0.02222153, 0.05718004, -0.031593386, -0.11101201, 0.039877437, 0.026264228, -0.032481875, -0.2196715) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.0489668, 0.0010311719, -0.06638701, 0.018845031, 0.01477753, -0.01137375, 0.038283516, 0.064369716, 0.007782226, -0.054979388, 0.09096508, -0.61624783, -0.14061299, -0.11406425, -0.090516776, -0.2311314) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.04823342, -0.010690917, -0.12086475, 0.023696559, -0.061699413, 0.061169304, -0.00816611, -0.00984813, 0.048814062, 0.07085177, -0.059462026, -0.45679572, -0.10226936, -0.037628002, -0.09047446, 0.08713969) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos6 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(6, 0); + imageStore(out_image, store_pos6, max(result6, V4(0.0))); + V4 result7 = V4(0.002669215, -0.01324276, -0.00011292872, -0.010680473); + result7 += M4(0.09509804, -0.0260975, -0.04915667, 0.016497044, 0.017099814, -0.06685925, -0.042665336, 0.010021266, 0.06278705, -0.030936882, -0.03838248, 0.042923566, 0.056590818, 0.07017174, -0.022362825, 0.015948705) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.07436793, 0.026458325, 0.0200128, 0.07077347, 0.05570568, -0.1382031, 0.0662111, 0.0043516043, -0.004679328, -0.010046683, 0.07372989, -0.0027802878, 0.10218949, 0.016884988, -0.0919625, 0.09714363) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.05144776, 0.053020295, -0.012051706, 0.03972529, -0.017922463, -0.014130645, -0.014651319, 0.043121416, 0.025595991, -0.006558703, 0.013938911, 0.015596526, -0.15599446, -0.025858803, 0.103406094, -0.0023589653) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.006291228, -0.12488046, 0.018219192, 0.04924067, 0.051676158, -0.065034166, 0.03867943, -0.049148593, 0.010582938, 0.007864326, -0.038151097, 0.07490664, 0.06237196, -0.026859505, -0.0026723386, 0.024659969) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.015726265, 0.08470628, 0.03120822, -0.043831702, 0.039787345, -0.066167094, 0.00479981, 0.05600491, -0.05444266, -0.07832684, -0.07056958, 0.013445683, 0.007042126, 0.039213315, 0.049364813, 0.17377923) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.031456947, 0.011824878, 0.016384814, 0.03361905, -0.02912313, -0.016298495, -0.051798835, 0.010770181, 0.0021463153, -0.042709116, -0.024340803, -0.05669632, -0.0913355, -0.037386224, -0.0046709366, 0.009339287) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.04738725, -0.14186674, -0.007238591, -0.03597469, 0.027712168, 0.09254865, -0.058941033, -0.06771746, 0.026533367, 0.038218558, -0.040922947, 0.031181447, 0.057635423, -0.012833247, 0.015726363, -0.0438761) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.049790014, -0.04677081, 0.013393136, 0.008539996, -0.04643382, -0.022885246, 0.068089664, -0.05737753, 0.034184087, 0.04578702, -0.050449654, 0.08079892, -0.044178877, 0.023390407, -0.0359162, 0.06218773) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.021407863, 0.029952666, -0.018748153, 0.04656004, -0.05470231, -0.07156915, -0.020291472, 0.01755869, -0.001197893, 0.07060626, -0.007236357, 0.06187316, -0.09151224, 0.0686004, 0.02631925, 0.043438625) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.12128607, -0.08298752, -0.09287402, -0.081176125, -0.057412963, -0.02963621, 0.001109597, 0.0105837155, 0.0035328413, 0.020991234, -0.002571738, -0.018114911, 0.05772237, -0.014524359, 0.040176537, -0.08970681) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.012077851, 0.071453385, -0.07762376, -0.035041753, -0.026071304, -0.07242228, 0.047321763, 0.02397318, -0.045705512, -0.031085413, -0.006398165, 0.055739872, 0.021336447, 0.06825994, 0.052387826, 0.07218286) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0124902865, 0.07148235, -0.115365684, -0.036425367, -0.07714737, -0.015790502, 0.03319466, 0.0044984547, 0.003071388, -0.050188646, 0.088411294, 0.025640257, -0.055337977, 0.04781487, 0.04547203, 0.0056131333) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.027007531, 0.032714378, -0.015579366, -0.07864369, 0.0522998, 0.007413699, 0.08407096, -0.08403881, -0.058065392, 0.034297656, -0.032638043, -0.03187721, 0.079803765, -0.03559729, -0.0044487254, -0.16528374) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.03391244, 0.03523056, -0.041395508, -0.14089763, -0.055353433, -0.074297816, 0.043281782, -0.017818613, -0.04470178, 0.03634068, 0.03644494, 0.03904382, -0.011963993, 0.08741201, 0.022734731, 0.04290619) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.09279002, 0.0023653207, -0.06693567, -0.031766724, -0.08119414, -0.05669062, -0.024397975, 0.025247734, 0.02511989, 0.00010488518, -0.0006829904, 0.054307804, 0.08190456, -0.021121474, 0.06603495, 0.0912821) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.05688605, 0.03485642, -0.060110312, -0.12886216, -0.06642308, -0.047794655, 0.006394271, -0.03129535, -0.031120932, -0.01556449, 0.02749528, -0.12944934, -0.024795914, 0.076477766, 0.04151031, -0.013854377) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.005372746, 0.02227092, -0.012311792, -0.029566428, 0.009638148, -0.05496294, 0.012767408, 0.026995905, -0.053568322, 0.034392733, 0.025113888, 0.09247798, -0.009904636, -0.040398356, -0.057545085, -0.054718237) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.061927915, -0.039082225, -0.034470774, -0.04508834, -0.055818815, -0.12833901, 0.03157569, -0.016068023, 0.09010257, -0.021653172, 0.044654243, 0.07218676, 0.029622123, 0.024301842, -0.03772821, -0.028449561) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.02004556, -0.09047149, -0.026406033, -0.00994943, -0.032936525, 0.03947561, -0.010666474, -0.044158522, -0.008806814, -0.08586626, -0.0030346254, 0.07160956, 0.0410856, 0.02548059, 0.019954449, 0.089883305) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.12652948, -0.12123646, 0.019508008, 0.022783305, 0.11040808, -0.013581427, -0.011050622, -0.039466817, -0.022169286, 0.07527904, 0.08945607, 0.1263246, 0.08846808, -0.031082122, 0.0060985927, 0.015899055) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.006706781, -0.04333852, -0.013737424, 0.010110162, -0.048778392, 0.034943502, 0.03420467, -0.08015552, -0.14442076, 0.062231183, -0.045481026, 0.10642295, -0.02801775, -0.015347174, 0.03523468, -0.03394926) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.023066955, 0.043604083, 0.04573602, 0.11164243, -0.08230664, -0.05673921, -0.0022918598, -0.07203416, -0.055865332, -0.012818857, -0.07651473, -0.019999826, 0.10063792, 0.0024091674, -0.08182426, 0.036311213) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.053220477, 0.03775347, 0.049762536, -0.03842798, 0.0004457111, 0.011410378, -0.005100675, 0.024385862, 0.018930119, -0.025555504, -0.04525638, 0.04334644, -0.07874264, -0.016730947, -0.040882148, 0.1390542) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.03879289, -0.015441588, -0.05013747, 0.04522259, 0.08421049, 0.024017235, 0.022606017, 0.00016016592, -0.06267971, 0.030979354, -0.014125186, 0.004161714, -0.22693007, 0.12533462, 0.0035303168, 0.055525247) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.0014371908, -0.060832873, -0.08731013, -0.07445389, 0.026473226, 0.026154594, -0.1443135, -0.052997977, 0.048006848, -0.040430356, 0.0023278925, -0.047512397, 0.041652016, 0.053920623, -0.0987663, -0.12696236) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.04481602, -0.040568326, 0.0986609, -0.025350425, -0.07412867, 0.06510033, -0.057510708, -0.045928396, 0.06634276, 0.027734322, -0.03882129, -0.05568433, -0.039500292, -0.06437144, 0.031155296, -0.040128503) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.010008355, -0.037154652, -0.0843367, 0.029351631, 0.045252334, -0.012072569, -0.055026136, -0.046886157, 0.04205571, -0.007055199, 0.0443245, 0.024062412, 0.014314027, -0.1151556, 0.077045746, -0.0151990745) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.041156907, 0.0759031, 0.07889275, 0.03450963, -0.047606524, -0.053074215, 0.08139143, -0.06512613, -0.013471494, 0.067886785, -0.071686864, -0.06430266, 0.008278623, 0.080193065, 0.053022504, -0.05722909) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.059739076, -0.075947866, 0.016943183, 0.03287425, -0.12669267, -0.042374253, 0.043299817, 0.054841943, -0.035564736, 0.018597333, -0.023147237, 0.016642064, 0.03765681, -0.006828834, 0.048907254, -0.10100023) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.026871841, 0.01727965, -0.055016097, -0.08307849, 0.040982537, -0.0147850895, 0.02251871, -0.007191776, -0.025359767, -0.009297464, -0.024676088, -0.13542332, 0.008260476, -0.042935476, -0.06755175, 0.040604923) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.016880255, -0.0061376863, 0.030183338, 0.06488325, 0.027814884, 0.0044546537, 0.14329411, 0.09076932, 0.031734847, 0.035296265, -0.041926727, -0.12735826, -0.051497795, 0.09235399, -0.050016914, -0.039839752) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.031869687, 0.028461978, 0.027155982, 0.024960002, -0.009874414, -0.040482182, 0.08853894, -0.03176642, -0.022223396, 0.0014655255, -0.018106105, 0.061106738, 0.067844875, -0.030435463, -0.0449119, -0.060034048) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.056076, 0.0058780797, -0.07770399, -0.11300008, -0.06736307, -0.06335636, 0.006418225, 0.085116014, -0.016888771, 0.01782533, -0.056947894, -0.03205195, -0.0029272966, 0.08218483, -0.06341684, -0.025212483) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.008625681, -0.11677099, 0.012889204, -0.0035079918, -0.055476192, -0.07927437, -0.10359611, -0.048676815, 0.067709185, -0.05969599, -0.011423708, -0.07823349, -0.054979015, 0.01564609, 0.04421371, 0.030285614) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.006704696, 0.008483292, 0.054944567, 0.012473574, 0.03913801, -0.0071071577, 0.05202915, -0.095991656, -0.0403669, 0.012823341, -0.03536943, -0.06715997, -0.009818641, -0.06954237, -0.0032420766, -0.08118319) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.016862502, -0.057848375, -0.04452297, 0.021293469, -0.042067237, -0.0641008, 0.007854995, -0.035990454, -0.019306142, -0.0017404554, -0.03468228, 0.013948062, -0.009189609, -0.0037677404, 0.034298647, 0.001987933) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.101791024, -0.03861022, -0.00055902754, 0.054606427, 0.013181496, -0.00921744, -0.006068905, -0.016632628, 0.05942865, -0.054612618, 0.033215173, 0.006581911, -0.061002515, 0.05550885, -0.08357114, 0.056484513) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.03933551, 0.058385927, -0.006847211, 0.07337353, 0.064247295, 0.0064406446, -0.05309993, -0.07592477, -0.050610594, -0.04741981, -0.023028115, 0.04534434, -0.10203023, -0.036492642, -0.05051568, -0.034937836) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.044662397, 0.038621247, -0.027416794, 0.0050779097, 0.075576745, -0.017770225, -0.020353736, -0.018932603, -0.033239286, -0.0011513147, 0.039544553, -0.01795809, -0.029329024, -0.013690351, -0.124186024, -0.03462597) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.04257701, -0.055099998, 0.029040772, 0.024093058, -0.0072335163, -0.03880002, 0.029391952, -0.027656557, -0.075896256, -0.038653567, -0.04855804, -0.091142684, -0.065500304, 0.07000933, 0.008497522, -0.06613133) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.017295115, -0.063026056, -0.0775108, 0.03592581, 0.07171102, -0.08580637, -0.027222326, -0.119518004, -0.020559743, 0.061371714, -0.018620329, -0.02351467, -0.062159043, 0.008414931, -0.046171933, -0.033601493) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0402189, 0.04804308, -0.02661349, 0.038610358, 0.012372356, -0.07724353, -0.053512838, -0.058358975, -0.07996342, 0.051568836, 0.019783366, 0.004512676, -0.07175622, -0.06501454, -0.022997018, -0.10550358) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.12457887, -0.09028941, 0.021895235, 0.088990726, 0.031678468, -0.090191804, -0.032909095, -0.05220465, 0.057994638, -0.038745638, -0.0771157, 0.011022023, -0.095246434, 0.12716107, -0.063549794, 0.026095755) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.12146466, -0.14451772, 0.035056893, -0.05552198, -0.03522892, -0.07084095, -0.036000237, -0.070253566, -0.058430128, -0.0053771413, 0.00025112127, -0.0007152414, 0.0005477744, 0.025603887, 0.02067066, 0.11874664) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.062123913, -0.0037746248, 0.014142515, 0.018475432, 0.06324443, -0.05265742, -0.047498655, -0.053059302, -0.05245082, -0.005317661, -0.007846951, -0.0047517647, 0.02253976, 0.0052878475, -0.06380437, -0.0014238544) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.02901082, -0.11822816, 0.012937342, -0.059892487, -0.017966911, -0.06725412, -0.053426743, -0.022288222, -0.0055785207, 0.043725405, -0.02777566, 0.06574336, 0.019009206, 0.015071577, -0.04875629, -0.011450167) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.015934044, -0.003465889, -0.004857339, -0.05021806, 0.0028385995, 0.014339931, 0.06747123, -0.0150474515, 0.062462654, -0.0060908543, 0.12565206, -0.0059300438, 0.03547323, 0.029714992, 0.019324282, -0.00092958665) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.030749189, -0.070211425, 0.0030671426, 0.021623831, 0.02892006, -0.025829345, -0.008585222, -0.062982075, -0.16712432, 0.006541407, -0.010514737, 0.0074770134, -0.022373661, 0.05293827, -0.031403255, 0.080122955) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.06483354, -0.009424864, -0.05671813, 0.0068170163, -0.044914413, 0.025288442, 0.022790276, 0.09607194, 0.098205864, -0.042495534, 0.023368465, -0.03068283, -0.05852073, 0.05913732, -0.04694231, 0.010509533) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.06695363, 0.067560226, -0.009472871, -0.040383626, -0.0019225284, 0.021008579, -0.012908505, 0.07644995, 0.02914573, -0.015160601, -0.06710593, 0.03164365, 0.03378987, 0.070231386, 0.04496538, 0.06497074) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.013337089, -0.03638825, -0.009092986, -0.017553313, 0.0062655555, -0.04809327, 0.012429867, -0.014433407, -0.03587891, 0.033246454, 0.04355818, -0.021928959, -0.06462385, 0.042450693, 0.04885023, 0.05720988) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.0090780845, 0.0017111562, -0.048914663, -0.029223057, 0.029741988, 0.04572118, 0.00041218664, 0.050662566, 0.0017866865, 0.038365632, 0.032629818, 0.038047455, 0.03068323, 0.05707852, -0.03720082, 0.073062256) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.01865047, 0.03496709, -0.0707095, -0.068461925, 0.011485108, 0.06521586, -0.038450662, 0.077262394, -0.034063864, 0.03508158, 0.036535047, 0.011477121, 0.016148485, 0.020015987, -0.025662951, -0.039498117) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.04342492, 0.03251712, -0.028593414, 0.0077342754, -0.018718015, 0.086338185, 0.021287886, -0.030504065, 0.013068395, 0.00751849, 0.01530749, -0.008229388, 0.021120407, 0.051665984, 0.0043084254, -0.009477098) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.11681988, -0.17888458, 0.03986504, 0.0062214206, -0.17436394, -0.07415465, 0.04296939, -0.00049912673, -0.006160157, 0.052334778, -0.04524973, -0.031948116, 0.034608554, -0.017941708, 0.0046420735, -0.036495868) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.058362234, -0.0386352, 0.03755047, -0.022654448, -0.019443568, -0.012874132, -0.05141756, -0.002153988, 0.0008672001, -0.024206692, 0.047777113, -0.024106503, -0.043243654, -0.047617134, 0.024152702, 0.028907483) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.072701804, -0.069696374, 0.0012447522, -0.0005214491, -0.034087032, 0.0049765343, 0.009306674, 0.0457045, 0.013447202, -0.05044551, 0.024288882, -0.0041236524, 0.040500633, -0.071209684, 0.09067322, -0.06353502) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.026120787, -0.07040742, -0.055892967, 0.023343803, -0.06314777, -0.1045657, -0.06618276, 0.09465675, 0.07857794, -0.07540966, 0.011724252, 0.07247998, 0.08130454, -0.006069152, -0.008529759, -0.045678217) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.017086586, -0.007441391, 0.019746523, -0.045817968, -0.04000846, -0.017257737, 0.030551001, -0.003998885, -0.0042725317, -0.0047326717, 0.05458719, 0.0670194, -0.0340359, -0.031566065, -0.009848324, 0.048013736) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.09684701, -0.08975948, -0.060738437, -0.07819736, -0.023142591, 0.020365944, -0.016487742, -0.013513302, 0.03802714, 0.07824638, -0.03189063, 0.017144576, 0.119101346, -0.032370247, -0.07151109, -0.015868612) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.049905755, -0.016904004, 0.0032629096, 0.04295023, -0.1512551, -0.0024030714, 0.026571915, -0.023693439, -0.025238788, 0.06604382, 0.061357375, 0.030439692, 0.07920508, 0.03240022, -0.07071788, -0.08677256) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.015684713, 0.063254915, 0.03419383, 0.024222797, -0.03886868, 0.02741185, 0.04031258, -0.0029075549, -0.00066070457, 0.054333232, 0.032301355, -0.007899738, -0.0031201108, 0.060267292, 0.06664487, -0.0064742924) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.0068804906, -0.039088655, 0.010331489, 0.035411503, -0.04795893, 0.08107223, 0.061894022, -0.023996828, 0.12787633, 0.019412963, 0.041040666, 0.054615717, 0.100460015, -0.03213995, 0.035799053, -0.0506849) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.014042483, 0.013561113, 0.008976486, -0.046831608, -0.09024934, -0.031452715, -0.0545026, -0.010326421, 0.019532273, -0.01181134, -0.033197537, 0.0058796406, 0.030525487, 0.0609161, -0.050598133, -0.115434855) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.013493188, 0.036604386, 0.03579836, 0.02621461, -0.053410787, -0.015596275, 0.023898745, -0.021575874, 0.10780518, 0.0123118395, -0.079472564, 0.18007936, 0.014054813, 0.050300777, -0.027088825, -0.022653515) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.012980403, 0.0048834863, -0.016428892, 0.08001939, 0.046836745, -0.036484778, 0.018573424, -0.06071984, 0.16723911, 0.038757995, -0.16987182, -0.081255734, 0.061021082, 0.06294271, -0.037060946, -0.006347099) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.01969713, -0.08471508, -0.042094108, 0.05736652, 0.027807426, 0.010467993, -0.050640453, 0.05045342, -0.088654734, 0.024482977, 0.07408075, -0.029481517, 0.024638372, -0.014811872, 0.036414463, -0.09100655) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.03616731, -0.014081638, -0.08935992, 0.05106118, -0.059748195, 0.10641145, -0.0282045, -0.012878687, -0.086143576, 0.03210539, 0.023254707, 0.100775614, -0.036376514, 0.011308184, -0.10283376, -0.08474658) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.020653952, 0.011459207, -0.039391894, 0.061850026, 0.059688672, -0.0007847552, 0.03019697, -0.094665416, -0.14404018, 0.01646196, 0.05408525, -0.09661564, -0.020629883, -0.058299806, 0.0168118, -0.03136271) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.06300099, -0.006232448, 0.016105438, 0.06363686, -0.006106016, -0.0146937, -0.052622575, 0.05384721, -0.04753053, 0.04115358, 0.026560405, 0.077490255, 0.015414976, 0.11225076, 0.030034073, 0.049236774) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.049686655, 0.045816965, 0.07222748, 0.0076779583, 0.048509855, 0.03846479, -0.085029185, 0.029201042, 0.0003082585, -0.11095101, 0.024311798, 0.122215666, -0.032491505, -0.10175521, -0.008021124, -0.1647659) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.029622095, 0.025378825, 0.032697216, 0.000531506, 0.1085082, -0.009581016, -0.055770263, -0.06708585, -0.1516061, 0.0456562, -0.123505756, -0.24343124, -0.03551562, -0.01771766, -0.07190658, -0.14269395) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos7 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(7, 0); + imageStore(out_image, store_pos7, max(result7, V4(0.0))); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2_CMP] (Conv2D-5) +//!COMPUTE 16 16 2 16 +//!HOOK LUMA +//!BIND conv2d_4 +//!SAVE conv2d_5 +//!WIDTH LUMA.w 8.0 * +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#ifdef GL_EXT_shader_explicit_arithmetic_types_float16 +# define V4 f16vec4 +# define M4 f16mat4 +# define F float16_t +#else +# define V4 vec4 +# define M4 mat4 +# define F float +#endif + +const ivec2 ksize = ivec2(3, 3); +const ivec2 offset = ksize / 2; +const ivec2 isize = ivec2(gl_WorkGroupSize) + ksize - 1; +shared V4 inp[8][isize.y][isize.x]; +void hook() { + ivec2 base = ivec2(gl_WorkGroupID) * ivec2(gl_WorkGroupSize); + for (uint y = gl_LocalInvocationID.y; y < isize.y; y += gl_WorkGroupSize.y) { + for (uint x = gl_LocalInvocationID.x; x < isize.x; x += gl_WorkGroupSize.x) { + inp[0][y][x] = V4(conv2d_4_mul * texelFetch(conv2d_4_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(0, 0), 0)); + inp[1][y][x] = V4(conv2d_4_mul * texelFetch(conv2d_4_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(1, 0), 0)); + inp[2][y][x] = V4(conv2d_4_mul * texelFetch(conv2d_4_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(2, 0), 0)); + inp[3][y][x] = V4(conv2d_4_mul * texelFetch(conv2d_4_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(3, 0), 0)); + inp[4][y][x] = V4(conv2d_4_mul * texelFetch(conv2d_4_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(4, 0), 0)); + inp[5][y][x] = V4(conv2d_4_mul * texelFetch(conv2d_4_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(5, 0), 0)); + inp[6][y][x] = V4(conv2d_4_mul * texelFetch(conv2d_4_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(6, 0), 0)); + inp[7][y][x] = V4(conv2d_4_mul * texelFetch(conv2d_4_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(7, 0), 0)); + } + } + + barrier(); + V4 result0 = V4(0.0068704183, -0.0008184981, 0.00053801516, -0.005115695); + result0 += M4(0.0089351125, -0.019687459, 0.054840878, 0.009351024, 0.08534759, -0.04835056, -0.052888565, 0.008330854, -0.05467928, 0.034834784, 0.038784675, -0.012550752, -0.07649542, -0.020199435, -0.0032961955, 0.0009197935) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.06676828, -0.030532401, -0.037169307, -0.05816945, -0.06548589, -0.020025376, 0.00270329, -0.057867993, -0.04088602, 0.11030627, -0.07400867, 0.01829282, 0.06218162, -0.053826552, 0.10934433, -0.0481235) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.020571023, 0.044922236, 0.0059106774, 0.039149262, -0.036205333, -0.11093879, 0.06541725, -0.0040161917, 0.05917866, -0.09575146, -0.02257544, -0.10410523, 0.055060677, 0.012375275, 0.044975612, 0.027491242) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.0065554976, 0.05214835, -0.029794812, -0.15519784, -0.07973468, -0.0140592335, 0.066557854, 0.02680273, 0.06305301, -0.03301485, 0.018456623, 0.0120937945, -0.09284865, -0.10175812, 0.004180556, 0.0014735757) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.052897513, -0.009855387, -0.019383708, 0.00993521, -0.024182077, 0.08052406, -0.015987117, 0.030285008, -0.00023620695, 0.041093733, 0.006613131, 0.0006258458, 0.11445524, -0.04391206, -0.005291369, -0.005982243) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.045632273, -0.018485991, -0.025746426, -0.02944296, -0.020213528, -0.031033207, -0.0224663, -0.056182846, -0.058863647, 0.014806016, 0.02293651, -0.056654636, 0.024753278, -0.054148782, 0.11917229, 0.05950619) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.007410156, -0.03606558, -0.03276517, -0.075943455, 0.049042206, -0.07806796, -0.048030224, -0.07814778, -0.04395941, 0.02320815, -0.021930315, -0.005802255, 0.035624705, -0.060866553, -0.0093995705, 0.04289787) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.10196139, 0.020469155, -0.091443434, 0.17017338, 0.09639528, 0.070416674, -0.020954153, 0.11631091, 0.06627893, 0.0573025, 0.020358056, 0.13702211, 0.025661247, 0.023575488, 0.05250186, 0.053566154) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.04667588, 0.057758223, -0.031660426, -0.0039975024, -0.0072907237, -0.046296757, 0.050210804, -0.110641286, -0.021179821, -0.01059394, -0.08238844, -0.13151468, -0.12079436, 0.07433892, -0.02018423, -0.022243107) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.04097359, -0.050566886, 0.058780856, -0.014695101, -0.015679462, -0.0056096246, -0.020310588, 0.03330928, 0.068189204, 0.07007472, 0.04971392, 0.059427973, 0.07087474, -0.078294635, -0.0718768, -0.041057188) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.016781244, -0.04307323, -0.041099936, -0.068613425, 0.023208749, -0.007685192, 0.048007734, -0.025787488, -0.04747545, 0.0217557, -0.031796135, 0.011882955, -0.03955309, -0.08831483, 0.092366345, 0.013381528) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.092084326, -0.059478678, -0.021572351, -0.05036196, 0.03479135, -0.045992862, -0.04472314, -0.052220702, -0.0061075324, 0.057901584, -0.019370064, 0.06646441, -0.0777675, 0.0032759907, -0.0843648, 0.021105401) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.00712375, 0.008776349, 0.013228423, -0.012393718, 0.06496742, 0.014041018, -0.02342003, 0.055350363, -0.020387283, -0.027041228, -0.017270744, -0.07481111, -0.07617071, 0.029560957, 0.087847814, 0.027215503) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.07844044, -0.0023298054, -0.051966507, -0.040740427, 0.07409788, 0.06873694, -0.040477253, 0.09047394, -0.035850637, 0.12630759, 0.0051445267, -0.0060956567, 0.0009971937, 0.0566572, 0.11248435, -0.019803064) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.009044111, -0.08652214, -0.02902502, -0.0354138, -0.040091798, 0.003363379, 0.023736741, -0.0028941596, -0.054070286, 0.1133587, 0.030692033, 0.08634379, 0.00035920792, -0.042302012, 0.02592741, -0.018384874) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-1.6610058e-05, -0.03502827, 0.014638192, -0.0045856005, 0.040637407, 0.13155533, -0.07406502, 0.068894155, 0.07172665, 0.052388195, 0.07886127, -0.034498677, 0.08752839, 0.029821513, -0.15863347, -0.030406656) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.03487942, 0.05270258, -0.045558043, -0.04914183, -0.024679033, 0.1112565, -0.092041865, 0.08830799, 0.066718005, -0.0076533393, 0.030110978, 0.04502398, 0.10508301, -0.09417337, -0.081794776, -0.067307256) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.07740916, 0.050989617, 0.01388403, 0.048259508, -0.026935983, 0.09748706, 0.036555976, 0.070591696, 0.00074794283, 0.06962248, -0.034823373, 0.019950641, 0.044402413, -0.20283484, -0.05767889, -0.03574074) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.010744293, -0.06728255, 0.10054906, 0.012061002, -0.021742804, -0.044596903, -0.00537681, 0.048915364, -0.07123228, 0.02028668, -0.030166736, 0.051342208, -0.017006991, 0.020432925, -0.04466543, 0.056619585) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.06581936, -0.07009559, -0.0404749, -0.038958874, -0.10495195, 0.018469138, -0.07757508, -0.015290872, 0.017126402, -0.009791648, 0.061622053, 0.02986847, -0.064061314, -0.020631146, -0.08569015, -0.08780043) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.008365497, -0.09181523, 0.043089047, 0.017411238, -0.0025529522, 0.048732884, -0.1253064, -0.24449241, -0.03910505, -0.034871705, -0.023143923, 0.045387495, -0.061580252, 0.05597479, 0.015378702, -0.017066328) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.019621788, -0.03777035, -0.06531434, 0.032430023, 0.017833855, -0.0837012, -0.124649234, 0.021386368, 0.028865682, 0.054702807, -0.041599866, 0.00631652, 0.033340547, -0.07380548, -0.11871497, -0.027629916) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.09434077, -0.05583008, 0.0078678625, 0.07785567, 0.07342301, -0.124759056, 0.014771239, 0.10701013, 0.027940637, 0.041051913, -0.033646654, 0.007457554, -0.1186463, -0.056115888, -0.06527836, 0.028768746) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.025043003, -0.13706717, 0.02677588, -0.14226046, 0.010775881, 0.03886688, -0.033089213, 0.06537857, 0.11287046, 0.040141296, 0.104452245, -0.09283976, 0.0031570485, -0.052650604, -0.024417417, 0.05069391) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.00080351776, 0.09262792, 0.029130291, 0.013593789, 0.12142124, 0.01921025, 0.076910265, -0.062469643, 0.019706385, -0.0329548, 0.03978674, -0.075878136, 0.092708126, 0.053067032, 0.035874378, -0.024362003) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.04607368, -0.069676675, 0.16629584, -0.014799067, 0.001192381, 0.030945253, 0.098331526, -0.112655826, -0.01297005, 0.062255614, 0.013084549, -0.14358762, -0.008702177, -0.05557274, -0.0352792, -0.002119195) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.099473566, -0.059056528, 0.04824916, -0.06765971, -0.025778992, 0.10788699, 0.030197093, -0.026403345, -0.021976102, 0.108318955, -0.07603046, -0.03777231, 0.057422575, -0.011758423, 0.05207603, 0.0036845135) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.106617175, -0.07775219, -0.036307454, 0.009349106, -0.014447801, 0.08013579, -0.042478144, -0.032543395, 0.084187046, -0.007917806, -0.05239436, -0.01666382, 0.02734952, -0.05179811, 0.048967596, -0.0012302594) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.043995947, 0.063486315, -0.011721959, 0.023200488, -0.034749947, -0.037074395, 0.0673143, 0.026951546, 0.004468138, 0.03692955, -0.02301609, -0.074053705, 0.06409873, 0.008644459, 0.06181591, 0.068040505) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.06370921, -0.0061958996, -0.03382395, -0.054233488, -0.06767282, 0.033263218, 0.00065832835, 0.10065657, 0.013205156, 0.0027371957, 0.03726718, 0.11178582, -0.039922167, -0.07177928, -0.06932602, -0.057622507) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.002590236, 0.09007268, -0.04408003, 0.111161776, -0.047942545, 0.0023000408, -0.028234757, -0.061778113, 0.1233457, -0.11088695, -0.091473944, 0.051021997, -0.036809962, 0.041854057, 0.06968895, -0.007938947) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.01640149, 0.01976448, -0.10067279, -0.027164523, 0.10248592, -0.08481506, 0.059912853, -0.07425935, 0.057104625, -0.062326863, 0.047750257, -0.13946432, 0.07826713, -0.0698949, 0.0074672103, 0.0082684755) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.031021677, 0.04040567, 0.040483557, 0.023841266, 0.018017737, 0.030022489, -0.016782029, 0.016386138, -0.015615892, -0.04518847, -0.03602962, -0.059468605, -0.027334832, 0.05618181, -0.09683836, -0.004880988) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.0022721607, -0.055794775, 0.07321588, 0.022306079, -0.06265753, 0.076305084, 0.008081479, 0.08238053, -0.10153576, -0.04131239, 0.01270467, 0.005705008, -0.109254695, -0.046082083, -0.031253863, 0.022236375) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.043364443, -0.029162448, 0.07404681, -0.05996801, 0.02878227, 0.0036791428, 0.060117796, 0.03662232, 0.016926518, -0.018518263, -0.036682006, -0.099258915, -0.009952363, 0.07049274, -0.06466023, -0.13957168) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.047584184, -0.078745335, -0.016715724, 0.07110776, 0.09001693, 0.023445044, 0.00964298, -0.034806397, -0.020597393, -0.0075196647, 0.029747302, -0.040009312, -0.01426835, -0.04871863, -0.0237302, -0.014802798) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.06743185, 0.052884057, 0.047451586, -0.02037725, 0.16322525, -0.1531778, -0.1256636, 0.22651587, 0.044276834, -0.048607066, 0.063612744, 0.029305775, 0.0346998, -0.06041226, 0.042218763, 0.025834518) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.08256057, -0.00017878207, -0.0058860667, 0.07381972, -0.16865894, -0.07191414, 0.018464869, -0.061013076, 0.029783264, -0.023699954, -0.07442664, 0.031362187, 0.00040556228, 0.009263026, 0.023126716, 0.07159234) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.007263786, 0.004156501, -0.02912272, 0.033650853, 0.103994794, -0.0033801915, -0.021025755, 0.10894988, 0.00934207, 0.035489675, 0.028022282, 0.021041617, -0.033578116, -0.038362075, 0.0072382614, 0.031170402) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.009082703, 0.033455018, -0.0807705, 0.0005705301, -0.08662721, 0.2865321, 0.09037958, 0.08618787, -0.056633066, 0.08002964, 0.076010935, 0.07192418, -0.049060274, 0.048698287, 0.034825515, -0.021380855) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.07957789, -0.010548475, 0.07696895, -0.14178933, -0.13287313, -0.16963248, 0.024106722, -0.14462966, -0.029372476, -0.009758989, -0.08885964, 0.011787444, -0.028434774, 0.013682817, 0.08559453, 0.10806266) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.008824456, -0.06467494, 0.08266232, -0.049302764, 0.06843486, -0.06852761, -0.042012133, 0.050813623, -0.04349286, 0.066327155, -0.04127093, 0.09394901, 0.046811305, -0.042177267, -0.032109942, -0.04372742) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.07161262, 0.0061804033, 0.012406876, 0.0091825975, -0.0033852353, -0.09993311, 0.1378399, -0.6314428, 0.11224404, -0.00817904, -0.051087018, -0.0116019305, 0.031739194, -0.041702148, 0.050095476, 0.024150765) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.04106323, -0.020316955, -0.0058238297, -0.051968448, 0.05926723, -0.09531788, 0.001629506, -0.21945381, 0.06956103, -0.119668245, 0.00926623, 0.10473253, 0.07341304, -0.10962606, 0.016183391, -0.015150696) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.0823763, 0.04987077, -0.056672815, 0.035176396, 0.12544362, -0.05499351, 0.06399529, 0.044737667, -0.040937737, -0.012659562, 0.087124705, -0.07877567, -0.037225004, -0.0190791, -0.0184278, -0.0496724) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.022024922, -0.0021796867, -0.053903658, 0.038979717, -0.11174293, -0.00079090253, -0.07263006, -0.06268898, -0.045038007, -0.053601816, 0.05911775, -0.072590716, -0.029793533, -0.003887389, -0.020863948, 0.053680528) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.023625227, 0.032227185, 0.009896512, 0.009448001, 0.0715595, 0.064494714, -0.010882118, 0.13895434, -0.01374369, 0.069937125, 0.030494891, 0.09144058, 0.032075647, 0.0587475, -0.027393974, 0.010148566) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.071041286, -0.03655197, -0.06300981, -0.009598787, -0.01308348, -0.08374661, -0.022700967, 0.056356132, 0.00062715437, -0.10093433, -0.08817245, -0.04924788, -0.055785097, -0.036332775, 0.020962633, 0.1182019) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.071011215, -0.03794389, -0.07568689, -0.066430226, 0.026158703, 0.031795472, 0.06059014, 0.007832692, 0.08750813, -0.044343166, -0.041308574, -0.080933034, 0.009422874, -0.080070384, -0.025783762, 0.025972908) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.04842187, -0.031703115, 0.0042865863, 0.035140343, -0.025372555, -0.0052319034, -0.020545145, 0.0762936, 0.08932694, -0.05224589, -0.088270806, 0.015159366, -0.048836794, 0.09671703, -0.06598211, 0.076310106) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.025834287, 0.03430641, -0.060292248, -0.06341417, -0.03166881, -0.057327468, -0.035120353, -0.047869038, 0.024801087, 0.027920568, -0.00831597, -0.025619263, 0.000878633, 0.008645581, 0.039167095, 0.0002602259) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.049033806, 0.0139739, -0.052298184, -0.029019624, 0.0015221382, 0.0074258, 0.007996229, 0.074512325, -0.066626385, -0.09777252, 0.03143906, -0.024966761, 0.048442744, 0.021807447, 0.04846584, 0.0051699746) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.036476288, 0.05687793, 0.08645541, -0.05265017, 0.07155849, 0.057126038, -0.009779811, 0.13516483, 0.067363754, -0.093984775, 0.08044039, 0.008849185, -0.045979742, 0.06735697, -0.0025237973, -0.071959965) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.068751834, 0.042262346, -0.01986313, 0.061537445, -0.010819013, 0.02306634, -0.104784116, 0.16059521, 0.053777203, -0.08468118, -0.034412608, -0.08037786, -0.040394466, -0.06871724, 0.018039415, 0.048371427) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.029013408, -0.084515475, -0.06955137, -0.007341248, -0.035802472, -0.046700403, 0.008231872, 0.043706726, 0.06083256, -0.097171105, -0.048568033, -0.096830614, 0.026270477, -0.04282859, -0.016599637, 0.10263836) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.101975374, 0.021375941, 0.028220009, -0.024869245, 0.04578176, -0.038429875, -0.08258801, -0.051756643, 0.016145824, 0.049562756, -0.01658977, 0.016404483, 0.016263878, -0.06585804, -0.088367514, -0.11944384) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.04844008, 0.032120023, -0.017223248, -0.13633531, 0.03408712, -0.01367194, -0.054377608, -0.014516213, -0.060244896, 0.01767653, 0.020301532, -0.04292862, -0.05479681, -0.0050530387, 0.024145592, -0.048766233) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.017035231, -0.09429641, 0.038701624, 0.039486025, -0.009971514, 0.020604668, 0.051465448, 0.092146166, 0.07918413, -0.010289001, 0.0242581, 0.038315196, 0.041743636, 0.0625975, 0.016294673, 0.021999687) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.049847107, 0.0069700484, -0.0034077629, 0.06951502, -0.0728415, -0.029548574, 0.029498884, 0.07929732, -0.026036028, 0.022120394, -0.053467512, 0.0970619, 0.035145625, -0.030188613, 0.059409283, 0.0025130375) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.0806046, -0.034683123, 0.034635466, -0.11250921, -0.06670394, -0.068827584, -0.08316675, -0.044468425, 0.03879086, 0.008067257, -0.049593873, -0.006991782, -0.044970497, -0.062532835, 0.059521012, 0.0328142) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.080308415, 0.10181174, 0.044344317, 0.0021548967, -0.00845048, -0.03967369, -0.027532468, 0.029789953, 0.03458602, 0.04806129, 0.047201924, -0.0048938207, -0.024476081, 0.092894144, 0.08846718, 0.1579219) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.041841358, 0.005677822, 0.06922681, -0.048083626, 0.097571574, 0.047701757, 0.0036025154, 0.1018424, 0.049389146, 0.004103623, -0.007945338, -0.07330994, -0.013952582, 0.045730125, 0.0047303494, 0.11872442) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.05160376, -0.04894183, -0.014141355, 0.05035471, 0.09819487, 0.0053927843, 0.084690794, -0.03531734, 0.08323211, 0.037992064, -0.070520505, 0.011019639, 0.048764836, -0.06608268, 0.041282147, 0.024909994) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.033300977, 0.07279668, 0.10627013, 0.020469174, -0.096220404, 0.045072805, -0.03270042, -0.11025601, -0.011039694, -0.013577942, 0.02802186, -0.014185798, 0.07175231, -0.05551124, 0.014617462, -0.07135809) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.07803054, -0.02414874, 0.05894797, -0.02479912, -0.047674816, 0.0025892819, 0.037744947, 0.06104219, -0.035633408, -0.062775165, 0.0037292673, -0.0153946765, -0.08351275, -0.043101907, -0.07331221, -0.02441435) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.07369911, 0.030597042, 0.03024739, 0.010727306, 0.08366953, -0.045006514, 0.012257517, 0.13237375, 0.047627993, -0.03177754, 0.06971235, 0.02169899, 0.040990446, 0.122375295, -0.10282813, 0.051194537) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.010020268, -0.060366325, 0.085248515, -0.0010897128, -0.019696536, -0.03936248, -0.059342247, -0.14196207, -0.0021915745, 0.05692575, 0.041611716, 0.091524825, -0.010391258, -0.04893347, 0.06383667, -0.04426228) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.0142768, 0.039306317, -0.056363016, 0.024399225, 0.047635704, -0.010287485, -0.09361941, 0.038198, 0.1142202, -0.047814418, 0.03448349, -0.06551039, 0.072602056, -0.08336226, 0.09169459, -0.04872688) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.034146853, -0.087322414, 0.031813525, 0.031112073, 0.045516774, 0.04218627, 0.05662515, 0.113515764, -0.06374518, -0.025907435, -0.019382333, 0.0030027428, -0.03578963, -0.047216572, -0.15556793, 0.051298834) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.017529786, -0.05453987, -0.014579836, 0.013982577, -0.012338022, -0.06957733, 0.03216297, 0.09394415, -0.004125686, 0.02958306, 0.02284419, -0.00012627378, 0.067349106, -0.021241331, 0.14218384, 0.021594798) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.047293227, -0.092491396, -0.035437353, 0.024690416, 0.008770148, 0.049056724, 0.06515176, -0.025578087, 0.054910097, -0.04324538, -0.06505705, -0.09945743, 0.13911693, -0.09362983, 0.008960207, -0.08011779) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.07155997, 0.06128728, -0.03873925, 0.08012582, -0.021141024, -0.0398634, 0.08484929, -0.08437433, 0.04036481, -0.049382754, -0.057052426, -0.07894898, -0.044899106, 0.005294608, 0.005206371, -0.079267345) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos0 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(0, 0); + imageStore(out_image, store_pos0, result0); + V4 result1 = V4(0.0015744518, -0.00315685, -0.0047916123, -0.0009097862); + result1 += M4(-0.08207461, 0.128031, -0.060778514, -0.07308753, 0.044411883, 0.05836676, -0.050955847, 0.016708346, -0.05798879, 0.11714337, -0.052356206, 0.042580917, 0.006795871, 0.12712358, 0.11993258, 0.030954897) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.058262013, 0.041206233, 0.007543306, 0.04446718, -0.01366612, -0.076529294, -0.031074502, 0.005322028, -0.022817938, -0.028028283, -0.016736988, 0.046615783, -0.04572135, 0.089648, 0.08413048, -0.08919982) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.08645594, 0.0050271507, -0.032075305, -0.040443815, 0.034082033, 0.06611981, -0.027867002, -0.030158594, 0.013906814, 0.026116017, 0.018339824, -0.12150972, 0.0007001709, 0.12323806, 0.048591305, 0.012069313) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.08574896, 0.03490693, 0.10887373, -0.039868765, -0.050297137, 0.15007064, 0.012962637, 0.013152888, -0.047288943, 0.038013607, 0.020826334, -0.009567814, -0.003935442, -0.0113079725, 0.04714801, -0.047529265) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.009640125, -0.012096071, -0.06525293, 0.0025943515, 0.070360176, -0.045646265, 0.11112204, -0.037174113, -0.00879591, -0.072668545, 0.22171813, 0.010734058, -0.0237459, -0.048001602, 0.09817084, 0.07792022) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.025713297, -0.09730578, 0.0672508, 0.03366786, 0.054060634, -0.017196177, -0.02789959, -0.023999266, 0.00026824255, 0.02538447, -0.12243193, -0.014045171, 0.06856121, -0.04917505, 0.122780435, -0.09510793) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.025220536, -0.0027022164, -0.079601996, 0.052991632, -0.027307203, -0.16320674, -0.0029485933, -0.012612752, 0.062479123, 0.08403083, -0.076258935, 0.040843625, -0.0076961936, 0.020959811, 0.022210691, -0.012757572) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.097228445, -0.11964642, 0.0437995, -0.067135684, 0.122634694, -0.0688758, 0.083091214, -0.04703333, -0.0030005074, -0.20338391, 0.10228295, 0.051370822, -0.02420366, 0.027422238, 0.050585903, -0.03864971) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.0090997415, -0.0073661795, -0.021248106, -0.07133465, -0.011986169, -0.04540049, -0.011632216, 0.0059723356, 0.0031430654, 0.039925516, -0.08832678, -0.07390973, 0.011175895, -0.06228055, -0.024750415, -0.096985474) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.07414657, -0.013166536, -0.0128790345, -0.0019505484, -0.05112348, -0.0670819, 0.030563334, 0.0063347807, -0.04715597, 0.02079552, 0.10212792, -0.052024752, -0.019234339, -0.057214066, -0.01760098, 0.035788972) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.10073612, 0.025284361, 0.01799725, -0.045044526, -0.10915153, 0.01861345, -0.025841694, -0.056204036, -0.024824493, 0.016278937, 0.021782693, -0.00041866518, 0.014289397, 0.0025710247, -0.0010688631, 0.06211718) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.044595417, 0.027933536, 0.014216649, 0.0035386812, -0.01371713, 0.006653045, -0.030719293, 0.042508498, 0.03755301, 0.023092031, 0.029622376, 0.08614433, 0.042411946, 0.11303214, 0.107441604, -0.022470376) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.00014068463, 0.02840342, -0.076813854, -0.09006436, 0.038246196, -0.08805528, -0.050742894, -0.03173131, -0.001463244, -0.18382841, -0.06193491, 0.058683295, 0.09727319, 0.006721488, 0.07999272, -0.07159652) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.042053588, -0.031173093, -0.022957752, 0.061543006, 0.018770942, -0.12309312, 0.054761473, -0.05516783, 0.020083623, 0.019241178, 0.019593194, 0.088096835, 0.082432814, -0.074144594, 0.0701276, -0.046437882) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.006627367, -0.0563967, -0.07410418, 0.06402185, 0.03711646, -0.035059765, 0.083192766, 0.01510412, 0.07053082, -0.022192428, -0.027349852, -0.05496426, -0.070448555, 0.09110879, 0.061914165, -0.07099035) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.0112421, -0.06318748, -0.030201001, -0.026541615, -0.012958307, 0.013556429, 0.033317436, 0.09277822, -0.028898189, 0.07258025, 0.0017646325, 0.04923396, 0.015765496, -0.096044675, 0.021339156, 0.11998846) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.025963705, -0.14235736, 0.018983569, 0.08043819, -0.011825716, -0.037286013, -0.10060333, -0.04412867, -0.058619134, 0.020563444, -0.044952367, -0.023160217, 0.06861615, 0.06738008, -0.13379839, -0.02821938) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.0048707277, 0.019043662, -0.09130815, -0.028931031, -0.12072946, -0.04285368, 0.047944613, 0.0071949153, -0.016142078, 0.035332035, 0.022060735, 0.085825235, -0.067373425, -0.022455653, -0.04767743, -0.048142366) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.05140144, 0.05181245, -0.06301856, 0.074836195, 0.026091909, -0.08193144, -0.10077823, 0.08254615, 0.051102396, -0.16009636, 0.04013238, 0.08969665, 0.05411428, -0.06194502, -0.05644336, 0.016973268) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.04162779, -0.046149403, 0.094905056, -0.03947095, -0.09116851, 0.068469666, -0.13266772, 0.02847797, 0.07563702, -0.03476562, 0.00035290717, -0.08658155, 0.09233487, -0.08627873, -0.030073458, 0.036853608) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.055671353, -0.03131724, 0.13931848, -0.06539979, -0.08069431, 0.13643463, -0.022178167, 0.04327252, -0.07346584, 0.035118394, 0.016005788, 0.056704275, 0.026105251, 0.04282995, -0.06303541, 0.076745875) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.045179103, 0.054460242, 0.0077447975, -0.085180216, -0.01566763, -0.1009268, -0.024783328, 0.04414422, 0.012784531, -0.019566605, -0.027646791, 0.044121083, 0.08135351, 0.08704931, -0.087942466, 0.014123775) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.07864032, -0.07392511, 0.13945386, -0.12874517, 0.026596067, -0.035203494, 0.019874567, 0.051604655, 0.053425584, 0.0027145792, -0.006463004, 0.05451999, -0.0065586106, -0.069064334, -0.0974623, -0.009454692) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.016025051, 0.0007612342, 0.13227014, 0.047292605, 0.057990685, -0.019613834, -0.08594389, -0.065454945, -0.08222361, -0.044085234, -0.08149126, 0.05107215, -0.03914704, 0.03223031, 0.00304858, -0.06086178) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.06393338, 0.06585824, -0.03971863, 0.020638505, -0.07020036, 0.078165784, -0.023239728, -6.633304e-05, 0.030490613, 0.028117688, 0.0071176467, 0.1006156, 0.0324208, 0.0752441, 0.11308696, -0.08263972) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.0025181125, 0.11797309, -0.021731965, -0.07892438, -0.07854623, 0.028694732, -0.05136196, -0.058108527, -0.08698288, 0.06280971, 0.0040476243, 0.05245663, 0.04189153, 0.0026266198, 0.09258347, -0.078927405) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.060458113, -0.04678678, 0.09956348, 0.011742875, 0.008868679, 0.006625514, 0.091778696, -0.043040473, 0.08784683, 0.052745003, 0.043978646, -0.083363466, -0.032200236, 0.11251037, -0.02860443, -0.103177436) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.07071596, 0.016839089, -0.022337893, -0.08259886, -0.031224867, 0.03727092, 0.087207235, -0.047582027, 0.023779932, -0.050206583, -0.036889657, 0.070519656, -0.051758092, 0.15320495, -0.09819768, -7.072286e-05) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.06317105, 0.033416178, 0.0449686, 0.081640564, -0.083311096, 0.07454317, 0.05053473, -0.0029744266, 0.09618669, 0.0074289017, 0.025976038, -0.092613116, 0.083344996, -0.14098476, -0.054685637, 0.076934576) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.06789643, -0.064856656, 0.032808043, -0.04262345, 0.007198571, -0.010004189, 0.019686922, 0.08004179, 0.050241593, 0.043750808, -0.11611121, 0.030248156, 0.0105378525, 0.007712705, -0.012948104, -0.023271808) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.0336584, 0.06680392, -0.03810359, 0.10981599, -0.012707544, 0.079749614, -0.06501294, 0.058317214, 0.006147558, -0.03453871, -0.013086812, -0.008479568, 0.04076724, -0.05171989, -0.009558312, -0.04216178) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.06424287, 0.015117791, 0.09866135, -0.11583168, -0.038254708, 0.045963112, -0.07479253, -0.070931055, 0.14413445, -0.16248962, 0.046398263, 0.004666128, 0.11266801, -0.027226616, -0.015955612, -0.0011878137) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.02643191, 0.061254453, 0.0494096, -0.070793144, 0.051311836, 0.06554481, 0.06070888, 0.0007983009, 0.118567355, 0.058919575, -0.12287852, -0.065054044, -0.09050717, -0.08488536, 0.060238257, 0.09057325) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.053385943, -0.049452152, 0.0046193106, -0.01685909, 0.009417546, 0.028648866, -0.1128238, -0.014155764, -0.02289151, 0.100980856, 0.027469363, -0.013521908, 0.03599915, 0.010645383, 0.019884411, 0.046648238) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.029820515, 0.07319057, -0.0066431942, 0.03834879, 0.07585747, -0.038781594, -0.091037795, -0.00315325, 0.004773232, -0.07082028, -0.0038611775, 0.12734783, -0.054217707, 0.05946556, -0.004164111, -0.017936824) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.13253604, -0.037577722, -0.02488564, -0.008829228, -0.012505153, -0.02908171, 0.0441026, -0.03729904, 0.036706522, -0.02713551, -0.0772041, 0.018094081, -0.0043151844, -0.06394325, -0.068446316, 0.008595216) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.0047655925, -0.021968573, -0.028744014, -0.0043960414, 0.20115684, -0.45204598, -0.13310242, 0.12808609, -0.05972118, 0.009548704, 0.08142846, -0.0487313, -0.09748383, -0.0064620366, -0.017237367, 0.014978191) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.03343201, 0.054988347, 0.05308599, 0.08172151, -0.055764213, 0.0269587, 0.11555799, -0.08459183, -0.09585558, -0.012892078, -0.03151684, 0.03323867, -0.011431184, 0.06585031, 0.027478406, 0.05871462) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.08042042, 0.04890294, -0.014130122, 0.038282223, -0.12590457, -0.0014584339, 0.07872687, -0.099718854, 0.06804265, 0.035732787, 0.015128886, -0.010855872, 0.066030845, 0.05881367, 0.027005825, -0.07471434) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.019399446, 0.025957778, 0.05300542, 0.099114425, -0.10982213, -0.046070393, -0.32537702, 0.10938942, -0.0027226578, -0.024557132, -0.03304138, 0.0049389703, 0.019805884, 0.06714838, 0.037260696, 0.02810851) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.06645875, -0.002060287, 0.07049757, -0.026402557, 0.077229165, -0.06548032, 0.14558247, -0.052601762, 0.03334513, 8.196931e-05, 0.012000327, -0.010111689, 0.01992569, -0.034149673, 0.043733038, 0.03886595) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.02363717, 0.010785562, 0.10112841, 0.007340719, -0.10487544, 0.1929132, 0.011476935, -0.03674878, 0.03454059, -0.032261427, 0.027909322, 0.023721904, 0.022733402, 0.053215142, 0.031351533, -0.017638128) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.07517212, -0.05143191, -0.10977297, -0.07020565, -0.21650451, 0.33921042, 0.09528011, -0.058998466, -0.08199703, -0.0775177, -0.061146848, -0.0048794183, -0.040759, 0.042332716, 0.022684205, 0.041701116) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.024941389, 0.05746091, -0.06814183, 0.009118384, 0.007959227, 0.031606995, 0.072192915, -0.09604929, -0.0007833483, 0.14576305, -0.05618914, 0.0287033, -0.011039046, -0.0760783, 0.025293462, 0.06423465) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.006881821, 0.012358748, 0.029021265, 0.029400565, -0.09540961, 0.042767294, 0.19549835, -0.033266455, -0.08963395, -0.028339036, -0.047620814, -0.013307404, 0.04318503, -0.019088237, 0.009689555, -0.019531729) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.0062636775, 0.07793288, -0.12550123, -0.05078043, -0.13507916, 0.09427305, 0.031841133, -0.026660876, -0.04723877, -0.059109464, -0.045466147, -0.09010795, -0.029463403, 0.04876187, -0.052012656, 0.061184004) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.022775827, 0.0046038292, 0.022742953, -0.067685984, -0.0053338357, 0.03386472, 0.011141653, -0.08568731, -0.008999113, 0.08444365, 0.061198704, -0.09470672, 0.027035728, 0.11517622, -0.026788063, -0.047254182) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.0055007213, 0.04812832, -0.004914767, 0.009009914, 0.042136956, -0.10551308, -0.022911811, -0.14204964, -0.026227344, 0.005234821, -0.0037428648, 0.007144, 0.0094122, 0.006046598, -0.034700245, -0.019903675) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.018364673, -0.18498482, -0.011405394, -0.036670245, 0.038520485, 0.03019936, -0.024638332, 0.05970711, 0.012801251, -0.032582067, 0.06690392, 0.0024039003, -0.06536767, -0.07672549, -0.08432428, -0.0640461) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.04331173, -0.07173946, -0.008296501, -0.059604414, 0.11777428, -3.595124e-05, 0.018274384, 0.0025083884, -0.039044168, 0.15155117, 0.12384329, 0.08502396, 0.099061035, 0.046291023, -0.06215099, -0.018813469) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.02699112, -0.12921812, -0.04144525, -0.08146554, 0.1600772, -0.03318599, 0.09983624, 0.05829146, 0.019063668, 0.013803068, 0.025891146, -0.013269338, -0.06700442, -0.032046944, 0.05948108, 0.06833112) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.021418927, -0.011101314, -0.020450482, -0.08121432, -0.07353969, 0.029470403, -0.13112298, 0.029026585, -0.06622451, 0.033091076, -0.042509414, -0.080686525, -0.00291086, 0.074634716, -0.022687335, -0.02273041) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.16050445, -0.049605634, 0.090725034, -0.102959774, -0.04005191, -0.18857746, -0.11889628, -0.01967432, 0.019580152, 0.006339733, 0.03364817, -0.08662583, -0.059530478, -0.16516912, -0.042404875, 0.06995557) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.029750627, -0.022227222, 0.021009974, -0.06495962, 0.106745966, -0.015408411, -0.10110798, 0.023828875, -0.00080876687, -0.022463724, -0.025799464, -0.034135137, -0.043182123, -0.0460344, -0.018800568, 0.08364141) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.05468824, -0.07324864, 0.010586975, 0.06644255, -0.01111311, -0.068100885, -0.048155323, -0.07400499, 0.018563412, 0.013836224, 0.016608158, 0.017961936, -0.098474726, -0.14732291, -0.029901335, 0.07051247) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.07104974, 0.13000278, -0.0363939, 0.038571544, -0.09183947, 0.006131708, 0.026080236, -0.008271055, -0.043282244, -0.13521156, 0.05219377, -0.085583135, 0.042754598, 0.09081776, 0.0065654395, -0.05418741) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.005564275, 0.063033395, 0.020314885, 0.0032168725, -0.0034702537, -0.06514294, -0.039540354, -0.050846856, -0.039750632, 0.0015255087, -0.022842724, 0.08270857, -0.021029124, 0.2329149, -0.041130327, -0.012916637) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.067804776, -0.028096242, -0.10096214, 0.031326324, 0.05355421, 0.06449, -0.095629536, 0.001459921, -0.030267835, 0.01581432, -0.00532259, -0.07077051, 0.035441488, -0.037319656, 0.056437634, 0.07900447) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.041436315, 0.05622749, 0.123041905, 0.062267337, 0.0481683, 0.01865463, 0.0040591136, -0.008823932, 0.062817335, 0.079116456, -0.055431556, -0.0116736805, 0.04154101, 0.1590696, 0.004218053, 0.049467042) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.032427363, 0.018535338, -0.06170839, 0.0040236865, -0.053686354, -0.022904709, -0.019076394, 0.036216035, 0.0354274, 0.11485263, 0.009051487, 0.06564365, -0.06861848, 0.041621357, 0.06755258, -0.09224878) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.01622149, -0.034300797, 0.08987136, 0.0702994, 0.024909563, -0.11367525, -0.035101425, -0.020093646, 0.023257593, -0.057246193, 0.04018863, -0.09302388, -0.016728664, 0.14072296, 0.08600977, -0.025837766) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.037857607, 0.043329407, 0.034968685, -0.059303157, -0.046973567, -0.05306599, 0.09905086, -0.102516145, 0.013375577, 0.0029394557, 0.06833007, -0.074773945, -0.08917028, -0.039669916, 0.081695035, -0.004198344) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.06591738, 0.12900765, 0.050994713, -0.097922914, 0.028693216, -0.076116174, -0.014631744, -0.06018762, 0.0070316354, 0.046670698, 0.0022600282, 0.09933559, 0.022741584, -0.33439976, 0.019821465, -0.017797852) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.034110013, 0.04107951, 0.022204535, 0.05144505, -0.04561792, -0.00082960294, 0.08117352, 0.052167963, -0.047282647, 0.09067634, 0.069996275, -0.08998225, 0.06417269, 0.0039199106, 0.046506315, -0.0047159814) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.042432256, -0.07655563, 0.05198022, -0.005011239, -0.02297892, -0.041709293, 0.0915206, -0.030097082, -0.06248965, -0.0037499012, -0.030361224, -0.081809066, -0.07878031, 0.021166047, -0.04119685, 0.07021323) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.047959343, -0.034814708, -0.073872425, -0.026258638, 0.028664712, 0.046093605, -0.0048153824, -0.008193044, -0.024218341, -0.066153936, -0.059232924, -0.067110375, 0.03871316, 0.033611733, -0.004104547, 0.073363796) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.033081766, 0.16570848, 0.0065126475, 0.036230378, 0.056893192, 0.0015048473, 0.08329359, -0.09228875, -0.030670855, 0.10487499, -0.030180218, 0.07263737, -0.05247978, 0.037022844, 0.021047143, -0.07133372) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.05955705, -0.092319295, 0.042161267, 0.072634146, -0.022933224, 0.01174158, -0.038910024, -0.05347283, 0.05967942, 0.063284345, -0.03701574, -0.020104041, 0.030629955, 0.03572669, 0.113548934, -0.0473838) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.05977702, 0.112645306, -0.080086626, 0.016950965, -0.046943597, -0.019606873, 0.039892107, -0.018075371, 0.029472286, -0.03970586, -0.029501943, 0.0029884784, -0.031321682, 0.0074781817, 0.009190205, 0.023377337) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.05442769, 0.05273514, 0.06724367, 0.093674995, 0.08680738, 0.029476075, -0.011874092, 0.040094722, 0.025008587, -0.13052899, -0.09325967, 0.028062379, -0.044704042, -0.00075232005, -0.008641598, -0.030548042) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.061492797, 0.10923731, -0.050821174, 0.022420067, -0.030300854, 0.07727355, -0.050642256, -0.08365486, -0.018256022, -0.043782055, 0.090091035, 0.09128473, -0.07490706, -0.022864461, 0.12723088, -0.015180536) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.10572695, 0.011199196, -0.059476983, -0.0742299, -0.043164264, -0.001748795, -0.014968911, 0.04468511, 0.01665706, 0.06361507, 0.07060267, -0.037134826, -0.04272324, 0.031192753, -0.00221025, 0.00773614) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos1 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(1, 0); + imageStore(out_image, store_pos1, result1); + V4 result2 = V4(-0.0012241185, 0.0021334367, 0.0068932255, 0.002486373); + result2 += M4(0.026180847, -0.16952972, 0.043499254, 0.06416331, -0.017287761, -0.06230252, 0.04120995, -0.05618189, -0.053149868, 0.028108856, 0.0073445113, -0.05426348, -0.06610465, -0.057755865, -0.009087896, -0.11058771) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.017525462, -0.05434187, 0.1059205, 0.001318233, 0.042203754, 0.089070834, -0.07264212, 0.039259356, -0.006474489, -0.1186814, 0.00856044, 0.085298546, -0.063202165, -0.007112022, 0.009975171, 0.0173496) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.0031374092, 0.0015352984, 0.019587563, 0.053573012, -0.053394888, 0.056993257, -0.046885233, -0.027907748, 0.06467499, 0.088733345, -0.021598147, -0.026513984, 0.060804382, 0.07467208, -0.042883873, 0.075304784) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.05299402, 0.0076483083, 0.034248434, 0.04782389, 0.05177671, 0.0718715, 0.030275084, 0.089537755, -0.08820798, 0.046845276, 0.029100886, 0.053414248, 0.009286998, -0.0022712906, 0.07270295, 0.030649085) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.047304187, 0.010320102, 0.07162091, 0.04033483, -0.11847376, -0.074101724, 0.05699219, -0.006389591, 0.117062815, -0.03134645, 0.09951441, -0.045558523, -0.023229687, 0.0793525, -0.079174615, -0.042221762) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.012467373, 0.07453426, 0.059200153, 0.08628127, 0.046222318, 0.060835138, -0.11441226, 0.018861081, 0.041324604, 0.049773127, -0.004593515, -0.016675977, 0.07830738, 0.111825414, -0.09450625, 0.01634409) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.10708641, 0.105287276, -0.08288423, -0.0294331, 0.06523496, -0.02606312, 0.00074847357, 0.0028245733, 0.028431064, -0.09105569, 0.03701324, -0.04717843, 0.020553712, 0.019483296, 0.006110116, -0.06955634) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.110848226, 0.064007334, -0.017016826, -0.06788547, 0.09553613, 0.034604624, 0.012010758, -0.020224392, 0.06942821, 0.096088044, 0.053738456, 0.04097387, 0.040535636, 0.055802915, -0.050420802, -0.08064581) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.02056924, -0.03479031, 0.020669146, 0.06619753, -0.0073672114, -0.000638291, -0.08000646, -0.11552554, 0.15621226, -0.06364623, 0.025815813, -0.006683139, 0.19226713, -0.012636726, 0.037548643, -0.0154771395) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.011184736, 0.04237306, 0.089148216, -0.0025677795, 0.011131455, 0.10101753, 0.10278244, 0.04494601, -0.057626657, 0.07070167, -0.0044768043, -0.06161475, -0.0203539, 0.048371457, -0.07864781, 0.0256692) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.026482403, -0.052022453, -0.028436452, -0.015990475, 0.0029733954, 0.045734134, -0.013345869, 0.103559375, -0.014014504, -0.0055943117, 0.028680645, -0.063654006, -0.017549353, 0.005930955, 0.026078304, -0.030188177) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.04492782, -0.028460477, 0.060610663, 0.049183693, 0.048369046, 0.07048745, -0.007948521, 0.038808312, 0.01949531, -0.0074281716, -0.09911383, -0.06441001, 0.059698783, 0.10489308, -0.08145082, -0.054509286) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.0016390801, -0.023419019, 0.042550687, 0.09153814, -0.06952357, -0.047241125, 0.05250122, 0.07200129, -0.025023395, -0.12957473, 0.0880356, 0.055206448, 0.039007295, -0.06747793, -0.01196971, -0.028028782) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.042228274, -0.13640381, -0.05348677, 0.08959021, -0.10725413, -0.10059156, -0.00025799166, 0.07941621, 0.037943512, 0.036201626, 0.11996914, -0.023057764, 0.008355933, 0.055369094, -0.00144779, 0.06666965) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.034226667, 0.022774898, 0.011817686, -0.07590995, -0.018459072, -0.104730844, -0.0019611972, 0.036839306, 0.05048668, 0.0643981, -0.09588899, 0.07278026, -0.023179384, 0.11892957, 0.055207867, -0.06674579) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.06611283, -0.019130662, 0.034497153, -0.013895366, -0.0018945879, 0.009245126, 0.11520003, -0.049800385, -0.04321028, 0.057020154, -0.04549669, 0.031447403, -0.14874002, -0.10976988, 0.053844746, -0.10796051) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.064305164, 0.017498314, 0.04589522, 0.04612451, -0.040739216, 0.05353419, 0.013319945, -0.066659965, -0.12095996, -0.029800702, 0.069868095, 0.03891325, 0.047578104, -0.05515826, 0.024488984, -0.079771) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.14049178, 0.10679814, 0.015234572, -0.061061822, 0.070621066, 0.02500317, 0.07848263, -0.009291018, -0.06886433, 0.059419736, 0.046194643, -0.013400316, -0.03426553, -0.04767137, -0.01052386, 0.065155245) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.0018380901, -0.100722425, 0.037608057, -0.024494912, 0.025990305, -0.035539094, 0.11090735, -0.1206273, -0.018506464, 0.09159799, -0.06881489, -0.08032549, 0.0059454427, -0.064983286, -0.012770929, 0.01613593) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.023787126, 0.15421133, 0.020594522, 0.042514496, 0.025265347, 0.010228249, -0.0003747916, 0.001164655, 0.028721064, 0.042104322, 0.07913053, -0.07070887, 0.03783195, -0.04253122, 0.058427542, 0.019336864) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.053029936, -0.06732142, -0.03374933, -0.024254622, -0.04499429, -0.044275023, 0.013035989, -0.015884401, 0.019476913, -0.020123575, -0.11515511, -0.07181934, -0.036002997, -0.05861097, 0.054649405, 0.053042512) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.0006783093, -0.05147645, 0.06360567, -0.03345198, 0.01549789, -0.02867565, -0.08252393, 0.041093204, -0.099138185, 0.09952141, 0.048564274, -0.058072764, 0.04908185, 0.08240476, -0.08783841, -0.08247249) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.042243954, 0.052196372, 0.048607778, -0.0882041, 0.051813733, 0.055787183, 0.013663718, -0.0006376014, -0.03953027, -0.022029808, -0.020313045, 0.047251374, 0.1175269, -0.019288447, 0.070529185, -0.10401507) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.06273552, -0.022590306, -0.12059001, -0.09641833, 0.07988838, 0.0393035, -0.040149193, 0.06555887, -0.018175518, 0.16491282, 0.030639257, -0.12775981, 0.04745357, -0.040889278, -0.03516744, 0.061541032) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.014498466, -0.0681961, 0.073660806, -0.03635975, -0.042778928, 0.03200906, -0.016805988, -0.06730266, 0.04469406, 0.06948934, 0.053909983, 0.022758132, -0.054390382, 0.06476216, 0.0014941997, 0.018873064) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.05790418, 0.05245671, 0.06528069, 0.0587325, -0.04423894, 0.04503924, 0.017266309, -0.06850021, 0.062676944, 0.035676297, 0.06428191, -0.021091184, -0.05936686, 0.07636687, 0.05724186, -0.111265086) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.027879877, 0.012189548, 0.029937346, 0.072025076, 0.028462818, -0.021995557, 0.047506038, 0.0046073375, 0.0116181625, -0.08035078, -0.051943857, -0.032913093, 0.031142298, -0.11155354, 0.079034135, -0.08799515) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.008985443, -0.011763437, 0.13171777, 0.07496883, 0.04349307, 0.04008183, -0.039008938, 0.020693056, 0.021652997, -0.080336116, -0.13589565, 0.015393162, -0.06520484, 0.067117676, -0.11675259, 0.056678172) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.0045156986, -0.10225994, 0.07425678, -0.036810845, 0.036421232, 0.00040367825, 0.023993498, -0.025663141, -0.0044587497, 0.0579683, -0.058348347, -0.051328924, -0.013961377, -0.045055248, 0.073939554, 0.030704541) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.022587204, 0.064183004, -0.06791376, 0.009150594, 0.036651857, -0.14985284, 0.032818466, -0.015700202, -0.016282944, 0.07251849, -0.10622729, 0.01207867, -0.08330932, 0.012815391, -0.05835337, -0.036899038) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.002146366, 0.0033056973, 0.109566905, 0.05129626, -0.0011042826, -0.04794001, -0.01514892, 0.06714098, 0.08702866, 0.014478575, -0.037140016, -0.024209656, 0.11050573, -0.04233672, 0.09712027, -0.009000431) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.062549636, 0.10421009, -0.14621222, -0.021877756, 0.056352425, -0.040315025, -0.026519904, 0.05594597, -0.0029486157, -0.091164656, -0.019262562, 0.016197424, 0.04583358, 0.029062865, -0.12586722, 0.04533726) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0570938, 0.0484471, 0.021862749, 0.02507954, -0.014260676, 0.08177275, -0.008907858, -0.02226478, 0.0009870944, -0.03341529, -0.10750207, 0.05052649, -0.12615874, 0.120086886, 0.09695753, 0.028788373) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.10404641, -0.055343777, 0.059317887, 0.036331765, 0.13507774, 0.010617282, -0.03190572, -0.05892843, 0.033767328, -0.10141904, -0.073986426, 0.084820926, 0.0011830141, -0.0070112105, -0.0013766752, -0.054657012) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.061561644, 0.016768254, 0.02129458, 0.057884406, 0.04301123, 0.04977976, 0.05378472, 0.1085755, -0.10980783, -0.19517791, -0.16695395, 0.084237754, -0.005536279, 0.07782114, -0.058871396, 0.018939653) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.032725487, 0.03686749, 0.0021732685, 0.01717838, 0.07967108, 0.06264704, -0.011177685, -0.0455891, 0.016361756, 0.073487565, -0.045595482, 0.026039157, -0.009627082, 0.03116972, 0.035471514, 0.12119219) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.01574868, -0.022228353, -0.06758825, -0.04066597, -0.20094728, -0.15644898, 0.3604267, 0.17203873, -0.0054925373, 0.038341153, -0.03175302, -0.09687927, 0.04077461, -0.059320346, 0.04266336, 0.011216107) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.13685343, 0.020444097, -0.04527778, 0.009981499, 0.029449446, 0.046244092, -0.12048201, -0.02798361, 0.036831103, 0.048521705, -0.07807242, -0.042944606, -0.03103272, 0.083251305, 0.12440028, -0.07073837) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.015082916, 0.061226223, -0.009352516, -0.0050520063, 0.013248791, -0.045671195, -0.08001653, -0.107937515, -0.03803422, -0.056096505, 0.10405189, -0.045633033, 0.0874752, 0.04573415, 0.014751291, -0.015374511) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.01992694, 0.0037419219, 0.09654823, -0.07737047, -0.008273786, -0.057463884, 0.22298786, -0.044002444, -0.04149176, 0.034357596, -0.10170319, 0.015404388, 0.0979337, 0.057932362, -0.033167087, -0.08628929) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.086967595, 0.08035633, -0.08364339, -0.012394236, -0.07217406, 0.0077195466, -0.13820396, -0.024604272, 0.057311613, 0.02058696, 0.06155511, -0.062212422, 0.024667839, 0.079907216, 0.02021347, -0.039041054) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.0018395793, 0.036675166, -0.039544083, 0.057040572, -0.10940155, 0.12301371, 0.04079556, -0.06973229, 0.0014453814, 0.019001443, 0.042095598, 0.021565063, 0.003843627, 0.025290098, -0.05930652, -0.060487784) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.12504193, -0.0019781387, 0.0596247, -0.0072801434, -0.3675003, 0.10233333, -0.031910796, -0.33279857, -0.03827071, -0.047691703, 0.054306038, 0.04991421, -0.02068515, 0.08593456, -0.10260943, -0.06754247) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.034048505, -0.035963766, -0.07012309, 0.0799518, -0.12793687, 0.16142762, -0.035756063, 0.044046953, -0.03411737, 0.06786099, 0.056355845, 0.06094501, 0.09366579, 0.037332505, -0.058319304, -0.043978117) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.030508691, -0.08193699, 0.007691217, -0.00062860025, 0.043020803, 0.032419655, -0.03591024, 0.013728307, -0.089829944, -0.066203386, -0.08721472, 0.002392878, -0.043601643, -0.039625272, -0.0579906, -0.058756016) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.043022092, -0.025698598, 0.08005537, 0.064640775, 0.05918357, 0.0005471442, -0.008595545, -0.029295992, -0.008803515, -0.035412677, 0.08089217, 0.00533667, -0.051157776, -0.07088551, 0.009983456, -0.07015081) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.052928653, 0.042614646, 0.02650933, 0.011813514, -0.019210918, 0.03400474, 0.051443808, 0.046640188, -0.018472834, -0.0062992275, -0.08747558, -0.085021734, -0.010826439, -0.05052233, -0.05338932, -0.04394019) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0057938257, -0.1058471, 0.029063158, -0.048314914, -0.003359733, 0.0182065, 0.015395308, 0.013391667, -0.062125072, -0.0061351364, 0.02695363, 0.032887366, -0.0064049163, -0.033818614, 0.04590366, 0.083584055) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.07273141, 0.056978628, 0.020062437, 0.08879118, 0.04383751, 0.0049260994, -0.0022260724, -0.018392978, -0.05969295, 0.025904998, 0.06375315, 0.08162083, -0.01412638, -0.1664552, 0.001785757, 0.06322796) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.044435386, -0.028024139, -0.016509142, 0.12734327, 0.0003607643, -0.15563126, -0.05983459, -0.047431465, -0.06303351, -0.010999904, 0.053138472, 0.04958344, -0.07708359, -0.044805728, -0.04770434, -0.070404306) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.053093355, -0.03812173, 0.06262051, 0.029390162, -0.04916654, -0.033913516, -0.033925116, 0.028242417, -0.06742547, -0.028239336, -0.07462943, -0.08169905, 0.04091116, 0.026346417, 0.058489215, -0.020806976) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.1446484, -0.025160775, 0.04222738, -0.026083117, 0.05376271, -0.035563696, 0.022631554, -0.16083054, 0.12225214, -0.0022205308, -0.04860979, 0.06947267, 0.025737809, 0.04529258, 0.07473952, -0.052303374) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.07834728, 0.09587678, 0.05700881, -0.0321596, 0.11405922, 0.024087247, 0.03775237, -0.0388141, 0.0044186786, -0.07662549, 0.0030320536, 0.05783577, -0.00023966275, -0.057636164, 0.019401992, 0.01830553) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0077685136, 0.01862816, -0.071248665, 0.0014062023, 0.0863223, 0.14929448, 0.072282866, 0.04201909, 0.010135287, -0.06930002, 0.0029319518, 0.06784896, -0.003129213, -0.042382196, 0.008275924, -0.0072262576) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.008592076, 0.053503744, -0.046048623, 0.06984635, 0.07416733, -0.10997004, 0.06989124, 0.044969026, -0.047056653, -0.04250353, -0.028814115, 0.041083295, -0.07997169, -0.103192165, -0.09488172, -0.07150983) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.034342095, -0.12401346, -0.06516515, 0.019533003, 0.063061595, -0.06014257, 0.05017817, -0.03134353, -0.01321635, -0.03705954, 0.08590673, 0.04369743, 0.012250313, -0.04960861, 0.026117694, -0.050277874) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.024159886, -0.050286807, -0.07320185, -0.037535366, -0.04663439, -0.053366806, -0.05063529, -0.00342683, -0.021736585, -0.056364376, -0.009154389, -0.057597823, -0.012613285, -0.06798044, 0.04600491, -0.06969079) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.0092861485, -0.060165096, 0.07866518, -0.08266665, -0.008406315, -0.052310944, 0.10650347, -0.04625679, -0.042812962, 0.038348388, -0.064809486, 0.087653436, 0.057408765, 0.08415318, 0.07803611, 0.027114546) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.028660838, -0.046538174, -0.016554158, 0.07110114, 0.040407818, -0.048464786, 0.014544363, 0.008121488, 0.016478071, 0.007852912, -0.07517136, 0.08645907, 0.13397284, 0.004913691, 0.013126187, -0.05955893) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.01772752, -0.042552352, 0.04022111, -0.061883643, -0.097827815, -0.03567983, 0.06499052, 0.055168267, -0.108419545, -0.055947658, -0.056289464, 0.058047045, 0.050205685, -0.040717937, -0.038549487, 0.03466021) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.08305135, 0.06707062, 0.106808566, -0.04625723, -0.002112975, -0.06443947, 0.107865416, 0.091299295, 0.051955547, -0.05400569, -0.032580074, -0.06336394, 0.027706698, 0.074923486, 0.09990255, -0.10163063) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.17238379, -0.1372312, 0.021696858, -0.050194796, -0.07787714, -0.004796564, 0.03762878, 0.017088871, 0.063170284, 0.019747527, 0.10629413, 0.04509671, -0.08048468, 0.07245186, -0.0671699, -0.028863296) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.06802668, -0.009189577, 0.112041675, -0.02242001, -0.055040244, -0.060112633, -0.041452844, -0.02283866, -0.05264939, -0.07195993, 0.14483029, 0.020627663, 0.18046711, 0.1544126, 0.07911424, 0.021239154) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.07212184, 0.08806584, -0.048293106, 0.031250432, 0.015933016, -0.031126015, -0.03097172, -0.10448927, -0.02261423, -0.05587862, -0.056037728, 0.098925576, 0.015742805, -0.03344821, 0.047337104, 0.021288436) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.078381516, -0.032726932, 0.041256435, 0.061052635, 0.028808601, 0.058138087, -0.0013869487, -0.024506232, -0.011771132, 0.019624095, 0.053384613, 0.06201631, -0.06445736, -0.018564906, 0.037221406, 0.038053736) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.01246255, -0.0003297638, 0.040747695, 0.06180846, -0.022848543, -0.044420164, 0.13935216, -0.0035471616, 0.015648797, -0.03682713, 0.101843104, 0.0030014245, 0.0012333349, -0.10412579, 0.18550429, -0.01411108) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.031184636, 0.027742168, -0.0027437084, -0.06399479, -0.013544893, 0.005496408, -0.019245494, -0.019787217, -0.01635598, 0.053362478, 0.062045038, -0.032369506, 0.007514835, -0.0053912033, -0.0053840172, 0.000982317) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.061260734, -0.003145944, 0.0040632556, 0.0065143346, 0.07446834, -0.011942263, 0.030779723, 0.10981805, -0.07932501, 0.027470497, -0.06078425, 0.037311755, -0.11016517, -0.053254724, -0.03710013, 0.059669875) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.024247834, 0.10966437, 0.02359339, 0.054738913, 0.02411414, 0.07145777, 0.038426436, -0.013665711, -0.03045429, -0.012113072, -0.022659652, -0.06558497, 0.0028031287, -0.06433196, 0.02926421, 0.07350148) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.024251517, 0.09701043, -0.1124138, -0.061269626, 0.109400235, -0.06759477, -0.013664735, -0.027090672, 0.05782927, -0.045277324, -0.05493923, 0.101585045, -0.094508335, -0.021006998, 0.0039328467, -0.040771574) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.013551815, 0.017554315, 0.0051329266, -0.007015086, 0.07063217, 0.016869506, -0.043250456, 0.035651084, 0.01695553, -0.009637777, 0.031231096, -0.06202286, -0.15219331, -0.0061909063, 0.03696451, 0.022182986) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0052010976, -0.09530196, 0.0036757172, -0.07313419, 0.05102148, 0.026703484, 0.004850132, -0.09532817, -0.009647847, 0.06250944, -0.016948428, -0.0047450946, -0.030705994, 0.010842339, -0.04632994, 0.015994659) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos2 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(2, 0); + imageStore(out_image, store_pos2, result2); + V4 result3 = V4(-0.00066564477, 0.0010563044, 0.0043857675, 0.0033964757); + result3 += M4(-0.04965496, -0.032845944, 0.17420122, 0.07279458, -0.029353077, 0.032154594, 0.04751179, -0.010608295, 0.025328763, -0.047787726, -0.052980732, -0.027171941, 0.1157033, 0.012155323, 0.029949913, 0.019379843) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.07958481, -0.024668349, -0.11435639, 0.0104685025, 0.026317947, -0.013295513, 0.024842342, -0.047194004, -0.03432133, 0.067948125, 0.026185177, -0.019834295, 0.115569755, 0.0048556305, 0.13091524, 0.0963583) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.017805737, 0.009513357, 0.051666744, 0.01622128, -0.0024905482, 0.057069946, 0.10766987, 0.078912824, 0.055318665, -0.00484229, -0.040401593, 0.052190654, 0.10108639, -0.10095517, 0.02062326, 0.045744695) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.08813545, -0.025514407, -0.042131137, -0.024813518, -0.0053815832, 0.055198234, -0.029767111, 0.076695986, 0.032286234, 0.07362966, -0.039759442, -0.025419991, -0.023037996, -0.051124927, 0.10731115, 0.043635212) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.07951115, 0.11875102, -0.024288114, -0.007311204, 0.03348762, -0.009113629, 0.04819958, -0.07456986, 0.19380133, 0.065747224, -0.020100793, 0.046563253, 0.07948094, -0.017988551, 0.038944453, 0.032403827) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.118736476, 0.07471766, -0.06543112, 0.07027956, -0.030996228, -0.11387543, 0.04410744, 0.044112835, 7.724804e-05, -0.012684286, 0.031920988, 0.046931826, 0.043564092, 0.04113181, 0.08795405, 0.017814873) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.011440582, 0.03539074, -0.13142401, -0.12319542, 0.006626106, -0.017161643, 0.10087039, -0.07861211, 0.11957087, -0.042704917, 0.03181065, -0.031687833, -0.032040715, -0.085672386, -0.03731286, 0.09247869) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.0164312, 0.0373564, 0.123123385, -0.032623425, 0.0410248, 0.04371903, 0.05912219, 0.028348828, -0.06729655, 0.016056236, -0.0268782, -0.02514766, 0.1304412, 0.05648671, 0.05335545, 0.07372077) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.075717464, 0.0027271686, -0.106865175, -0.031144673, -0.03256212, 0.047226693, -0.0044491813, -0.018646142, 0.06463714, -0.05014742, -0.0065794033, 0.041603923, -0.015953908, -0.05444758, -0.05220504, 0.007150281) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.014402861, -0.008701039, -0.13568927, 0.04362019, 0.06880018, 0.10124775, 0.0043096654, 0.009685942, -0.051561944, -0.024363078, 0.03283829, 0.06890914, -0.0790725, -0.02457368, -0.14932442, -0.07309337) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.012319044, -0.025792701, -0.056349944, -0.0042862426, 0.01046212, 0.03431693, 0.033980478, 0.060082402, -0.051070355, 0.048967667, 0.102149256, -0.113932416, 0.01594608, -0.011475697, -0.023984727, -0.0456711) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.103089586, 0.07346306, -0.07938509, 0.044030048, -0.046531655, 0.0752054, -0.0710504, 0.05508294, -0.06351002, -0.049238544, -0.15576373, 0.0018918692, -0.057744842, 0.058987454, 0.0054796026, 0.09843323) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.0064073876, 0.08101752, 0.07029035, 0.060379025, -0.06222474, 0.037522115, 0.08384388, 0.067077, 0.033286147, -0.080269456, 0.029547308, -0.043301277, 0.022489209, 0.038948968, 0.10910836, -0.04526579) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.007706046, 0.027786229, 0.049294118, 0.007407481, 0.086012214, 0.10006221, 0.021265391, 0.073825724, 0.00507476, 0.07351857, -0.032875787, -0.051367763, 0.1281773, -0.018285904, 0.16730374, 0.12271633) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.08513638, -0.020948479, 0.079986826, 0.00026301522, -0.083551794, -0.052718766, 0.02733043, 0.067475416, -0.03693831, 0.033050098, 0.048297532, -0.00872345, 0.03264878, -0.079888575, 0.022609252, 0.044698298) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.012901876, -0.02997397, 0.06527916, -0.06117767, 0.019725101, -0.01744969, -0.08399128, 0.00251731, -0.0106158955, -0.05041779, -0.07282707, -0.036858417, 0.05598989, -0.033882, 0.09310902, 0.08482341) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.013295772, -0.09142326, -0.08515588, -0.027008414, 0.06818066, 0.018305447, -0.01879774, -0.072526105, -0.037325747, -0.0031093834, 0.016224658, 0.035552002, -0.054624032, 0.06826968, -0.020159135, 0.124618046) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.050975405, 0.04693929, 0.054667674, -0.04993492, 0.11716737, -0.06765932, -0.0703769, -0.004049784, 0.058689944, 0.0749334, 0.06183977, 0.0016443627, -0.09711934, -0.024498902, 0.07801721, -0.0072840536) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.007753343, 0.00065703527, -0.010690872, -0.021379411, -0.02025124, 0.16319138, -0.018383225, -0.030785555, 0.082601316, 0.100151725, 0.06655144, -0.02768608, -0.08505653, 0.13410477, 0.108854614, -0.06872262) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.10274929, 0.048984315, -0.0947098, 0.0019607195, -0.013591961, 0.150165, 0.046892114, 0.018961133, -0.09707353, 0.044741094, -0.07619304, -0.06569948, -0.032428566, 0.062587894, 0.06647556, -0.08895508) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.05190945, -0.08253262, 0.013132303, -0.05271648, -0.10465568, 0.090202436, -0.05733723, 0.0078040464, 0.048479967, -0.0009750442, -0.058367528, 0.008752893, -0.04299245, 0.07692714, -0.0113232, 0.04525288) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.06148492, -0.019748138, -0.03957885, -0.051673464, -0.019684458, 0.025370996, -0.059317365, 0.12901613, -0.12941347, 0.028286789, 0.14389168, 0.09408047, 0.069710076, -0.07259785, 0.00068321265, 0.04234431) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.025969187, 0.029778482, 0.0419731, 0.020057667, -0.06952143, 0.031779405, 0.024958117, 0.09435454, -0.013228793, 0.0601804, 0.03219602, 0.042832598, 0.07212862, 0.04432122, 0.096366316, 0.0718793) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.102876745, -0.1731588, 0.06653613, 0.048829123, 0.055233818, -0.10599671, 0.009458724, -0.043380734, 0.02006283, 0.011742841, 0.041225366, 0.036951866, -0.015873516, 0.047520485, -0.029371826, -0.00047485234) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.108037874, 0.0058612213, 0.049596764, 0.02668276, -0.040526755, -0.03435691, 0.09860258, -0.017279381, 0.056755416, -0.07062187, -0.065036766, 0.072542466, -0.08228658, -0.0024221465, -0.05297623, 0.006136658) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.021551678, -0.07188434, -0.008294133, -0.0396408, -0.0050509246, -0.037953056, 0.05487055, -0.020516558, -0.045874868, -0.031024916, 0.10018122, 0.030961905, 0.032721307, 0.03535032, -0.060263585, -0.009736684) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.12543346, -0.056815468, -0.19368863, 0.045435216, -0.029726634, -0.020505656, 0.009702816, -0.02707804, -0.081240825, -0.015640814, 0.15657991, -0.05032671, 0.015776996, -0.059215195, 0.13649292, -0.011201503) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.07015176, -0.03510309, -0.043964528, 0.06343956, -0.0127700325, -0.043781355, -0.019546604, 0.099147126, -0.09817763, 0.050527547, 0.09704394, -0.04530481, -0.088101685, -0.06023596, -0.007475402, 0.018636748) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.01930668, 0.049810972, 0.11563631, -0.032801893, 0.0053161047, -0.05052775, -0.008305108, 0.00647906, -0.019559585, -0.0021819987, 0.06447671, 0.006524004, -0.13114233, 0.09035474, 0.032354683, 0.05949837) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.06376562, 0.043537408, -0.1195698, -0.024439827, 0.01046652, 0.02063456, -0.007182602, -0.026770992, 0.0009697664, 0.012976517, 0.080392264, 0.0052343886, -0.027307937, 0.06251319, 0.079813905, 0.07226137) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.030412765, 0.0024905088, -0.03054199, 0.08633703, -0.09978938, 0.026921408, -0.0060762814, -0.02328295, -0.14730658, 0.0747344, 0.075406, 0.0029571236, -0.06650033, 0.043958057, 0.015684193, 0.08379092) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.0016708921, 0.041865103, 0.17394364, -0.027817287, 0.023196818, -0.022001395, -0.059220776, -0.04497443, -0.053115167, -0.06672245, 0.059360784, 0.0672539, 0.036814895, -0.048553653, 0.17052399, 0.08394399) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.020468207, 0.003756929, -0.0072037946, 0.10539373, -0.08757847, 0.063182995, -0.00081041513, 0.06153583, 0.0045582587, 0.10273763, 0.08434555, -0.054307476, 0.016485708, 0.016764384, -0.037932795, 0.06085817) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.06354764, -0.061710007, -0.0027559686, 0.02094964, -0.0958465, 0.0917449, 0.056842398, -0.0973191, 0.019454181, -0.03518369, 0.17499109, 0.014494405, -0.0011413329, 0.05811458, -0.07719406, -0.054944567) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.053842857, -0.012418873, -0.29022312, -0.012654878, 0.01658611, 0.0411714, -0.08832631, -0.097342074, -0.018752137, 0.012100996, 0.14300728, 0.01953606, 0.1513623, 0.0028747467, -0.04062272, -0.021905698) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.04438801, -0.0037665165, -0.00879815, -0.015106724, -0.031080434, -0.028873343, 0.028426286, 0.012726514, -0.121392466, 0.04120006, 0.007428881, 0.007245145, 0.09768828, -0.0572828, -0.006261016, 0.03136443) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.11092388, 0.030687472, -0.0025216835, 0.00011393092, -0.13083208, 0.33084056, -0.36987245, -0.07165956, 0.0020469485, -0.014525444, -0.07811935, 0.08392322, 0.056748528, -0.06667951, -0.08155125, 0.015312198) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.049926292, -0.054071713, -0.02039796, 0.11453863, -0.017833551, -0.10181513, -0.042959243, -0.04550867, 0.18519457, 0.09661973, -0.0726543, 0.081899166, 0.09962155, 0.05049005, -0.1467715, -0.014141606) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.08548888, -0.046010047, 0.009047964, -0.036730655, 0.0372795, -0.06295281, -0.06837248, 0.016531058, 0.014579257, 0.02688902, 0.008133402, -0.09161907, 0.006608687, -0.051780023, 0.100585096, -0.05019993) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.023303181, 0.05805109, -0.014382451, 0.016395314, 0.12938218, 0.028624464, 0.05620219, -0.2899141, 0.0642175, -0.005188193, 0.096612245, 0.10392066, -0.020856041, 0.020019107, -0.095452525, -0.09017581) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.0624572, -0.04360607, 0.041564282, -0.05431758, -0.112544104, -0.117576495, 0.08783002, 0.1517685, 0.072197415, 0.057642657, -0.040740985, 0.056693785, 0.016848985, -0.030341353, -0.027927894, -0.011845796) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.06927911, 0.05322784, -0.055215985, -0.027547551, -0.10002539, -0.059214063, 0.0026999603, 0.027733104, -0.04572879, -0.040529173, -0.16503851, -0.06419761, 0.08241352, -0.0930357, 0.0709961, -0.037101373) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.050254874, 0.099994235, 0.1636646, -0.056158666, 0.0120549565, -0.2606392, -0.022930976, -0.18878406, -0.068137266, 0.085801065, -0.006325796, 0.0033142418, 0.04296383, 0.0007579084, -0.04554287, 0.10589507) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.02613469, -0.02326584, -0.01172839, 0.12739861, 0.07592562, -0.1615939, 0.031955328, -0.031232651, -0.018222053, 0.06862852, -0.004851981, 0.07581732, -0.016174108, 0.024217864, 0.084747605, -0.03383143) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.066033825, 0.015255408, 0.07029435, 0.04836858, 0.03804679, 0.027285842, 0.056768525, 0.052567467, -0.15350316, -0.011982959, 0.04265242, 0.05265149, -0.027315542, 0.014218869, 0.101087816, -0.07121423) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.053334795, 0.12539877, -0.031446673, 0.080801934, 0.085624784, 0.017584778, -0.0919694, 0.07258318, 0.14761683, -0.02016922, 0.042756073, -0.0045083202, 0.044776153, 0.0633869, -0.1183542, -0.08985082) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.01074587, -0.019060094, -0.032144684, 0.037374135, -0.09614755, 0.0817037, -0.03162057, -0.037294883, -0.053340197, -0.004758764, -0.07658727, -0.053413298, -0.02018514, -0.051059794, -0.016029455, -0.003014603) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.071541, -0.07459526, -0.016592743, -0.05694229, 0.00019360337, -0.03187446, -0.06410317, 0.008062264, 0.039167315, 0.035567302, -0.022360908, 0.021615675, 0.06416983, -0.053082414, -0.09544388, 0.025702164) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.022279806, 0.06618617, 0.047953006, 0.00064447685, 0.008311917, -0.07908905, 0.020494506, 0.01907643, -0.05933852, -0.064527325, 0.004703742, -0.065763466, -0.12543473, -0.055400543, 0.12137765, -0.07573331) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.06831774, -0.03153999, -0.041699957, 0.043329764, 0.14080508, 0.032131143, 0.10435569, 0.055297166, 0.18509169, -0.072444625, 0.03345621, 0.076893106, 0.024390608, 0.07794804, -0.015277222, 0.038197283) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.046563804, 0.030545713, 0.029859193, 0.06988408, -0.05489796, 0.06826449, 0.053174153, -0.0059084026, -0.11525266, -0.027716277, 0.113017924, 0.068945274, 0.1702862, 0.008618672, -0.016891493, 0.05308612) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.026010275, -0.04591583, 0.10995382, 0.07374681, -0.005359924, 0.039285757, -0.044620894, 0.0065805004, -0.10359441, 0.038985718, 0.0731294, -0.0406449, 0.05450718, 0.024184767, 0.05379468, 0.07004262) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.028805664, -0.026263826, -0.07539353, -0.03275098, 0.09445047, 0.017196337, -0.09528307, -0.0167128, -0.19505626, -0.02711592, -0.07238908, -0.030172914, -0.033260766, -0.08458194, 0.0050268024, -0.08606237) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.0527066, -0.022109086, -0.045959502, 0.026069522, 0.045802973, 0.17678331, -0.07319882, -0.00059274345, -0.025018623, -0.030851405, 0.045408938, -0.029669913, 0.08750673, -0.0006712045, 0.0016092157, 0.034081273) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.04151643, 0.058652878, 0.030573355, -0.025278695, -0.15799631, -0.023736771, -0.01292628, -0.010195479, -0.032770544, -0.026486166, -0.010211519, 0.017633887, -0.008832185, -0.023432197, 0.11240776, 0.07497471) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.119065925, 0.057818845, 0.047967438, 0.0679879, -0.036222734, -0.03596969, -0.064198665, -0.049234312, -0.079273865, 0.042634975, -0.07900292, -0.046060406, -0.012563002, -0.035877384, 0.024684798, 0.065801136) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.013716025, -0.046273567, 0.05454717, -0.0066332268, -0.06352153, 0.07384359, 0.063979626, -0.042440996, 0.036162898, -0.044879705, -0.07203001, -0.04237668, -0.10057416, 0.028313387, 0.12602645, 0.022779407) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.057604335, 0.04510566, 0.035411168, 0.08153045, -0.021125328, -0.012931759, -0.06148545, 0.0643993, -0.07851416, 0.0624778, -0.07441953, 0.058916003, 0.102506526, 0.063732214, -0.016015792, 0.10577576) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.041045945, 0.018965071, 0.038929287, 0.09202626, -0.061693456, 0.10463301, -0.026579149, 0.06469876, -0.10932353, -0.08196256, 0.1139375, 0.039097928, 0.03322559, 0.06394933, -0.003777046, 0.06414087) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.08373075, -0.009742751, -0.087862976, -0.071887806, 0.020090798, -0.06334507, -0.037911184, 0.08988327, 0.016569808, 0.0368165, -0.012309093, 0.038598012, -0.014364159, -0.034353472, 0.023268726, 0.01683538) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.039903924, -0.082714155, 0.03121376, 0.07840486, -0.0022914787, 0.057187166, -0.123530276, -0.03206679, -0.013528226, 0.06654601, 0.04288165, -0.07603719, 0.12341525, -0.014339065, -0.11904591, 0.07730449) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.0019870196, 0.026217094, 0.020562384, 0.045966443, -0.15828438, -0.013037274, 0.05006155, -0.032622553, 0.024325175, 0.02413631, -0.1660916, 0.0053578042, 0.022966726, -0.002320646, -0.02297697, -0.07978915) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.08327273, -0.09480746, 0.07788147, 0.011058919, -0.06828601, 0.06321058, -0.05622566, -0.025430666, 0.055735745, 0.075442195, -0.04450007, -0.076296136, 0.124788605, -0.07611515, 0.021319138, -0.076115035) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.0008049794, -0.07036849, 0.07529526, 0.010628053, 0.14685307, 0.013269007, -0.0050777295, 0.076098755, 0.119944714, 0.06852327, -0.061064843, 0.018537557, 0.046279043, -0.041587595, -0.066113524, -0.014499317) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.056823332, -0.098847955, -0.14716429, -0.007734367, 0.024103262, 0.0011403817, 0.035371028, -0.037886094, -0.016439497, 0.075764425, 0.10145809, 0.09428311, -0.04909143, -0.06144114, 0.049818728, -0.08509077) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.076122, 0.065811746, 0.0050751506, -0.085049294, 0.018289493, 0.049851168, -0.11702433, 0.053260617, 0.075591534, 0.025404587, -0.04301199, -0.028843474, 0.031004962, 0.050720736, -0.097381085, 0.025634453) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.022931518, 0.08285007, 0.06451306, 0.059067618, -0.123449504, -0.036387432, 0.053533766, 0.027387524, -0.047908846, -0.044387992, -0.045430817, 0.056758776, 0.09140255, -0.06755245, -0.050027132, 0.05546279) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.039138664, 0.07875287, 0.027342793, 0.018269237, -0.028000182, -0.09444066, 0.01283063, 0.027388897, 0.020714886, -0.11064489, 0.12930675, 0.04760198, 0.007000449, -0.124130696, 0.06392878, -0.009571566) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.04884932, 0.031565405, 0.02258524, 0.039457366, -0.029575286, -0.06631955, -0.036614828, -0.019468676, -0.06530678, -0.058188614, 0.050736517, 0.021937635, 0.05916833, -0.08148601, -0.12167799, -0.04819995) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.0038426602, -0.06850665, -0.08899406, 0.06699124, -0.16257523, -0.049419936, 0.051817678, -0.029811293, -0.16122158, 0.04241034, 0.026693529, -0.068936676, 0.00062910054, 0.06381026, 0.03775243, 0.095048204) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.114128545, 0.08971201, 0.11484016, 0.061043, -0.038567886, 0.04451493, -0.060092278, -0.05064437, 0.02704619, 0.0090989405, 0.106074624, -0.0117297955, -0.014801792, 0.027876044, -0.0048597245, 0.07077345) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.091560714, -0.06833524, 0.11300207, -0.040428422, -0.05921099, -0.033685703, 0.08646066, -0.03205203, 0.011524498, -0.018763993, 0.017571291, -0.021773798, 0.051877115, -0.050145607, -0.06603591, 0.035110038) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos3 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(3, 0); + imageStore(out_image, store_pos3, result3); + V4 result4 = V4(-0.0066810246, 0.0018481286, -0.00033951848, 0.0037572116); + result4 += M4(-0.1454234, 0.118577346, 0.084146135, 0.066284634, -0.05101599, -0.08149609, 0.031527247, -0.07957793, 0.12625901, 0.066853456, -0.0029544479, 0.073815085, 0.08522063, 0.09901475, -0.037469815, 0.078106254) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.01289617, 0.06096581, -0.15403537, -0.02093399, 0.002858162, 0.0024964819, 0.008340329, 0.012466045, -0.2004266, -0.0730933, 0.03813624, 0.0035200994, 0.015131022, -0.0044399016, 0.061771918, 0.07339305) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.04218197, 0.00020500412, -0.1466217, 0.00788484, 0.09071201, 0.06298282, -0.04777026, -0.026916701, 0.08549407, 0.037023045, -0.044494413, 0.016929444, -0.19886985, 0.1034652, 0.04188245, 0.12797941) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.10237709, -0.054812647, -0.074669264, 0.0798559, -0.0568912, 0.01644331, 0.005844843, 0.080499396, -0.038965426, -0.05859596, 0.053307746, 0.05285595, 0.12713034, 0.08930979, -0.054491132, 0.019827506) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.043532547, 0.051361617, 0.0933233, 0.116320446, -0.16903198, 0.008767033, -0.030514091, -0.066253945, -0.046870757, 0.07323487, -0.005941338, -0.04186942, 0.04575262, 0.100002594, 0.07766617, 0.07395104) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.0450105, 0.04202919, 0.081205994, 0.053258803, 0.093528576, -0.04744671, -0.003414659, -0.030952234, 0.09073237, -0.08408553, -0.1174407, 0.034149628, -0.08730266, 0.1325132, -0.04100704, 0.11679973) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.100412324, 0.11315079, 0.036506858, 0.05694918, 0.083782844, 0.021082915, -0.06631393, 0.04188376, -0.033586428, -0.030874563, 0.11311604, 0.031918373, 0.12500961, 0.08690077, 0.031937458, 0.033336878) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.014534382, 0.08735154, -0.026447445, -0.084672004, -0.20705302, 0.1242548, -0.0389478, -0.0070381938, -0.0588029, -0.13053258, -0.02075563, 0.021001264, -0.05170915, 0.084028296, -0.07517903, 0.065952346) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.0012252101, -0.07451598, -0.033966653, 0.02390212, 0.029329054, -0.0045831637, 0.07054244, -0.025765272, 0.1430734, 0.07365544, -0.09561248, 0.08303349, -0.22779103, 0.061753545, 0.14546189, 0.0039736764) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.026149828, -0.044212833, -0.012675749, 0.07027747, -0.051998332, -0.11558332, -0.09068986, -0.07972171, -0.024001436, 0.045933094, 0.09264502, -0.009699684, 0.04500048, -0.05090335, -0.0791226, 0.041675277) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.055448078, -0.0060178945, 0.02160403, -0.04589085, -0.051498875, -0.010691182, -0.0013664045, 0.03066512, -0.07825448, -0.046468273, 0.03441964, -0.06143529, -0.05672327, 0.10859777, 0.024001617, 0.12236595) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.04954981, -0.04627807, -0.014824093, -0.05499597, -0.051462006, 0.114274025, 0.025271203, 0.063367695, 0.02247477, 0.011910081, 0.025904654, -0.059994083, 0.060370713, -0.009014798, -0.01096902, 0.018991174) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.06212963, -0.037682705, 0.093602516, 0.079849616, -0.0064481767, -0.03757647, 0.030108245, -0.08893344, -0.08896451, 0.0723719, -0.035507396, 0.06133571, -0.042825088, 0.09254827, -0.039762318, 0.0012638742) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.05904563, -0.08937669, -0.08826863, -0.020859515, 0.09721846, -0.07401241, 0.008023233, -0.0637347, -0.059410468, -0.03800932, 0.027755333, 0.047766387, 0.066135965, -0.045825053, -0.06414474, -0.05540975) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.051311087, -0.07329846, -0.13850693, -0.0489808, -0.03044198, 0.031429823, -0.092998624, -0.011503082, -0.078357786, -0.0884399, 0.08209499, -0.0995643, 0.059562206, 0.06387708, 0.081705794, -0.028933045) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.0004699991, 0.021435106, 0.07735045, -0.014011949, -0.056538478, 0.02904583, -0.021282595, -0.031618547, -0.059026733, 0.027998162, 0.063502684, 0.030422583, 0.075260825, -0.10898081, 0.049877573, 0.009992306) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.05871868, 0.011773306, 0.022084963, 0.08591861, -0.070329554, -0.00072259957, 0.038799036, -0.04182448, -0.041663475, -0.08321671, 0.104287185, -0.021555195, 0.04244171, -0.03758001, 0.00066069525, -0.12156332) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.076814964, 0.09758016, 0.03138593, -0.030252011, -0.05913354, 0.104816064, 0.06704845, 0.040433362, -0.055283453, 0.056353707, -0.11159921, 0.037754025, -0.004427586, -0.0004914108, 0.13628483, -0.06341698) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.024136063, 0.07607527, -0.032061264, 0.039754894, -0.010457682, 0.0738129, 0.1085042, -0.02759308, -0.087814994, -0.10755414, 0.021634692, -0.08233453, 0.1388553, -0.07608767, 0.03985297, -0.03455183) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.05793486, -0.0090506645, -0.023590881, 0.003340485, -0.027419362, 0.06919082, 0.0658351, 0.023126066, 0.006824024, 0.08351131, -0.024374982, 0.03228356, 0.08016631, -0.08992874, 0.06411562, -0.13021068) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.061547063, -0.021399893, -0.036271673, -0.067708366, 0.078203745, -0.16349828, 0.06368653, 0.020010969, 0.043094426, 0.03070092, -0.09291343, 0.085171215, 0.12276945, -0.12985668, 0.017018663, 0.03567269) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.067393675, -0.025191845, -0.04170705, -0.03343983, 0.043370638, -0.12779607, 0.10574491, 0.0069314106, -0.1520044, -0.046314694, -0.027748331, 0.059878204, 0.017876094, 0.039548434, 0.06324159, 0.09951334) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.05495965, 0.026664728, 0.025717601, 0.004542937, 0.15527771, -0.18659808, -0.008367487, 0.119065136, 0.034977805, -0.117919065, -0.047038946, -0.06551022, 0.15309483, -0.068232216, 0.07953068, -0.01323979) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.0956731, -0.08788485, 0.011524555, -0.04699746, -0.037722234, -0.092778265, -0.05981695, 0.07778271, -0.035871822, 0.020731458, -0.004162883, 0.029628864, -0.077507265, -0.10310359, 0.021788452, 0.05970088) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.07305806, -0.037522916, -0.019791115, 0.028759956, -0.07264272, -0.0007600045, 0.042086277, 0.106680356, -0.048898257, -0.023220344, 0.07156301, 0.071274914, -0.060965247, -0.008249694, -0.036432154, 0.034249965) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.07765611, 0.0015133177, 0.05081859, 0.015981873, 0.049812507, -0.02736955, 0.13716494, 0.08703195, 0.05770408, -0.11613698, 0.023872001, 0.054330304, -0.0018195465, -0.063827984, 0.056237247, -0.012760243) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.086154416, 0.09053662, 0.04702018, 0.036486305, 0.015328876, 0.11403385, -0.0038906918, 0.006706476, 0.04416702, 0.08125307, 0.16605811, 0.070107825, -0.15009555, -0.010306457, -0.07571526, 0.105302475) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.16585678, 0.006997362, -0.1668906, 0.06719737, 0.03096391, 0.018266402, -0.048931785, 0.06787526, -0.0014698552, -0.026484417, -0.08039259, -0.03251278, 0.12423963, 0.04769175, -0.05937632, 0.05894416) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.06243448, -0.031221254, 0.14768405, 0.06138782, 0.063099526, 0.088196695, 0.064215824, 0.010639811, 0.09197867, -0.058328636, -0.019648153, 0.016167877, -0.08816055, 0.101929225, -0.018412963, -0.04818977) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.15056632, -0.005338355, 0.019739006, 0.06011089, -0.08665764, 0.1311835, 0.083491445, -0.030110419, -0.044864528, -0.014645265, 0.027940549, -0.06493915, 0.06801923, -0.030797103, -0.05010062, 0.040488742) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.09481882, 0.014731595, -0.017823419, -0.02143837, 0.13080212, -0.050590463, -0.012127482, 0.0877929, -0.09974944, -0.0027693347, -0.027631015, -0.03292151, 0.12239431, -0.022260481, -0.10427207, -0.06088693) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.029735504, -0.029024538, 0.12550315, -0.084285304, 0.009094124, -0.14734475, 0.058959715, 0.030490452, 0.18130562, -0.08063439, 0.01925063, 0.023829538, 0.035302434, -0.022123355, 0.118306, -0.022762377) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.034619235, -0.03167371, -0.054103382, 0.058093533, 0.041657425, -0.013603392, 0.030933315, 0.06974444, 0.091755524, -0.034154892, 0.021488694, 0.018578546, -0.011004275, -0.008613081, 0.028657312, -0.0047700997) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.0120926, 0.023917872, 0.0262775, -0.04173089, 0.037732355, -0.091555975, 0.049871568, -0.08338451, -0.09875712, -0.19642112, 0.03146158, -0.03953602, 0.098439224, 0.020397203, -0.053868234, -0.016795594) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0011602946, -0.12256907, 0.0070945174, -0.073831305, 0.012441584, 0.025959643, 0.081596054, 0.016617317, -0.031246653, -0.11973777, 0.07767776, 0.0072939587, -0.06466798, -0.048101872, 0.040551364, -0.022208422) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.00944659, 0.10397561, -0.025655437, 0.00960561, -0.0712601, 0.06387639, 0.065150104, -0.0055779214, -0.041771233, -0.103746615, -0.0939936, -0.14549525, -0.05317687, 0.07165311, 0.10812223, -0.117206655) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.07314815, -0.030602608, 0.0753387, -0.07211454, 0.02311026, -0.062393304, -0.09600432, -0.21508797, 0.025208328, 0.075611934, -0.05395224, -0.02079858, 0.025772288, 0.072143905, 0.074937545, -0.027703132) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.10124499, 0.0038723678, 0.022313809, -0.052751344, -0.048767433, -0.1417307, -0.09222222, 0.06757776, -0.009814286, 0.07225264, -0.0018398877, 0.07246523, -0.020459592, 0.009849785, 0.010076836, 0.024380097) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.097515896, 0.004791476, -0.02347648, 0.046875156, 0.10574328, 0.2289319, 0.09889283, 0.018576175, -0.010059289, -0.054167964, 0.06732403, -0.014119568, 0.053408366, -0.063025914, -0.08673664, -0.015965277) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.056150213, 0.011739436, -0.09352077, 0.0735997, -0.45809487, -0.37239575, -0.091849305, 0.0015338967, 0.04459794, -0.05312675, -0.038773175, 0.02441273, -0.040464673, -0.05109337, -0.00178304, 0.058900837) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.0037235778, -0.07493789, -0.1353163, -0.07278743, -0.051337015, 0.06607256, -0.23344202, -0.0075870603, 0.10837938, -0.0046916166, -0.032854363, 0.08871867, 0.0005172896, 0.07798124, -0.121774055, -0.010684336) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.012332442, -0.118479185, 0.017035518, -0.025442975, 0.14196905, 0.1851311, -0.01929749, 0.093844734, 0.0018614689, 0.04643459, -0.033437207, 0.015481818, -0.029304769, 0.059706766, 0.03626197, 0.031473402) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.025883036, -0.14627126, 0.06325601, -0.09912748, 0.45821056, -0.08591715, 0.2763777, 0.15779254, -0.021487791, -0.0037765363, -0.04048565, 0.0181231, -0.049982496, -0.0064925174, 0.1021058, 0.08960008) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.12113948, 0.012924315, -0.06846636, 0.03265741, 0.1280957, -0.13998793, 0.05374097, -0.022573112, -0.0036039376, 0.0027757501, -0.09632231, 0.03360819, 0.015468094, 0.042097066, -0.13614953, 0.006829672) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.08023688, -0.095049046, 0.009876882, 0.06834242, 0.0655961, 0.13657208, -0.04211134, 0.041993123, 0.08273559, -0.012319871, 0.04909472, -0.056758363, -0.04582418, 0.033040587, -0.08918021, -0.06420592) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.047567245, -0.1074993, 0.0016674306, 0.061469264, 0.0037429365, 0.088540815, 0.015093785, 0.104382806, 0.0062642917, 0.019671166, 0.0039836094, -0.016627315, -0.057615653, 0.018678578, -0.003822078, 0.046533298) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.019267526, -0.008477927, 0.13440226, -0.04550798, 0.021552453, 0.048957575, 0.074986726, 0.052256156, 0.011582045, 0.0066711186, 0.021575436, 0.0019114021, -0.050752725, -0.011512204, 0.051235355, -0.017074872) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.032231793, 0.010694131, 0.021449527, -0.03739876, 0.0053523355, 0.07569886, 0.055539716, 0.022212598, 0.13948251, 0.019537766, -0.027708475, -0.04750084, 0.020528456, 0.12498933, -0.12636782, 0.09657737) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.017961543, -0.099722564, 0.046295077, 0.0671486, 0.07131119, -0.030150888, -0.18348105, 0.09365986, 0.017810026, -0.06386613, 0.017309401, 0.03585449, 0.02893193, -0.004493634, -0.13282871, -0.050458916) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0044755214, 0.0674809, -0.0125082275, 0.042899255, -0.055455104, 0.16787113, 0.021250261, 0.09208303, 0.06934059, -0.014431691, -0.074047655, 0.068412766, -0.0072685676, 0.03794979, -0.026817178, 0.093638554) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.092658766, -0.006044878, -0.035185274, -0.03990764, 0.09308498, 0.011963026, 0.0002529632, 0.11368626, 0.066009365, -0.04096019, -0.046809055, -0.06261863, -0.069444954, 0.03111818, -0.060230218, -0.040573485) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.0012155459, -0.03412794, 0.07880335, 0.031292517, 0.17758316, -0.04938767, -0.0061092633, -0.11288966, 0.10600489, 0.011883149, 0.11158336, -0.054690927, -0.009592237, 0.092298396, 0.012591039, -0.011041583) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.06829021, 0.019724954, 0.04387375, -0.043795098, 0.06742926, 0.08836176, 0.110432565, -0.076149754, 0.069969945, -0.03781257, -0.013028746, -0.03995661, -0.048590347, 0.0149921635, -0.019191016, -0.0794191) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.020698624, 0.052340657, -0.035596106, 0.06789083, 0.07760871, -0.07223464, 0.08478535, -0.07300073, 0.08151059, -0.10764991, -0.024021786, -0.07015038, -0.049776234, 0.019536976, 0.02043777, 0.012433491) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.05534939, -0.16586958, -0.14105555, -0.038338445, -0.0013677037, 0.082903415, 0.015823673, -0.035727546, 0.08346175, 0.03030556, -0.010819836, 0.07886966, -0.05206609, 0.07558807, -0.06068811, -0.030996388) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0649426, 0.077273555, -0.017755454, -0.030050296, -0.046959415, 0.019476846, -0.05001552, -0.050326947, 0.0226485, -0.04249172, 0.036188487, 0.012620431, -0.021555511, -0.02542055, -0.10351646, 0.051176738) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.06882997, -0.066215724, -0.073097624, -0.041493654, -0.011059722, -0.060888346, -0.02588293, -0.10664102, -0.024590584, -0.015145297, 0.08451634, -0.032758024, -0.019981166, 0.07461115, -0.058729645, 0.06392882) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.061676007, 0.008685339, 0.047308847, -0.058646258, 0.05074658, -0.014274243, 0.0673019, -0.018358633, 0.03818756, -0.029297026, 0.06002997, 0.044382412, -0.19935507, 0.08183828, -0.013328918, 0.07896204) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.105388194, 0.021633456, -0.014067796, 0.009244353, -0.09359239, 0.009304678, 0.043739196, 0.064076915, -0.11708416, 0.0462472, -0.090995826, -0.02400182, 0.03717528, 0.05020826, -0.032460086, 0.047955308) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.0010280552, -0.051729903, -0.022593834, -0.06508335, 0.009685854, -0.110936016, -0.17793489, 0.064129144, -0.070095286, -0.10186136, -0.04580074, 0.055767242, -0.028062927, 0.034761183, 0.14351593, -0.07553191) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.047071796, 0.027733685, -0.0013516316, -0.059180625, -0.015817903, 0.02569991, 0.023934582, 0.026201267, -0.032167286, -0.03726116, -0.017700013, -0.025227692, -0.0036948356, 0.01823647, 0.06731656, -0.045873992) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.093809985, 0.047506183, 0.0114046475, 0.0025597306, -0.1334071, 0.11983957, -0.002845128, 0.09950922, -7.8523175e-05, 0.009346356, 0.017692797, -0.03645581, 0.037867423, 0.06393451, 0.0550905, 0.01729647) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.0534811, 0.013156531, -0.053110227, 0.033579573, 0.08972143, -0.028091667, -0.030649804, 0.048850354, 0.003962418, 0.03293476, 0.08222969, 0.07896115, -0.11662106, 0.08428309, 0.15771914, 0.022382049) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.09141887, 0.04750336, 0.032978144, -0.04192944, -0.036419097, 0.006506453, 0.019579696, 0.0049727843, -0.007138511, -0.023181388, 0.08306142, 0.08061582, -0.043635096, 0.05212665, -0.005764586, 0.028012984) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.037996557, -0.006601166, 0.047187693, -0.06311132, 0.05470213, 0.08672038, 0.026914328, 0.00061445194, -0.090269215, -0.0056970455, 0.072329365, -0.0047329427, 0.032639872, 0.027906643, -0.00464545, 0.066900544) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.01233397, 0.07222661, 0.0035222492, -0.032776203, 0.07378816, 0.051363077, 0.028668215, 0.0818917, 0.03229149, 0.05336913, 0.022694286, -0.020728387, -0.11795673, -0.022303509, 0.027222073, -0.1325761) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.003809092, 0.12103966, 0.019501863, 0.011481161, -0.032050677, 0.10492036, 0.04719302, 0.053977445, 0.011954212, 0.007759828, -0.060119923, -0.020732282, 0.07230989, 0.030046526, 0.054075442, -0.04449091) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.028871961, -0.025497233, 0.035111364, 0.06600613, 0.064106286, -0.084959045, -0.0751081, 0.008251171, 0.017813053, -0.07015104, 0.02790539, 0.05356124, 0.060199704, 0.05943656, 0.06722794, 0.13412511) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.1445173, -0.15655605, -0.08112188, 0.038785387, 0.014519277, 0.038636338, -0.17073762, -0.028946156, 0.050480306, 0.00094400614, -0.046985604, -0.05800863, 0.02938674, -0.06498928, 0.06548649, 0.006211968) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.030735983, 0.01647197, 0.0071589067, 0.10151262, -0.00020053051, 0.12835763, -0.012673461, -0.024257768, -0.094545305, 0.031187905, -0.088839024, -0.030490516, -0.08861047, 0.013100262, 0.04558413, 0.02191031) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.049921937, 0.07283791, 0.051318806, 0.083581395, -0.07247913, -0.037460387, 0.02706539, 0.07018249, -0.047635417, 0.09073333, 0.03405237, -0.07263553, 0.05830708, 0.06323497, 0.06785569, -0.031078683) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.05876982, 0.0034128858, 0.019529285, -0.037030995, -0.04625523, 0.07436531, 0.11989561, -0.07867028, 0.073051706, -0.005931688, 0.042963002, 0.03182493, 0.01396922, 0.03529996, 0.038327496, -0.10216107) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos4 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(4, 0); + imageStore(out_image, store_pos4, result4); + V4 result5 = V4(0.003744023, 0.004870065, 0.00056463777, 0.0051579904); + result5 += M4(0.06846735, 0.020906022, -0.052735206, 0.06254394, 0.011189268, -0.04632401, 0.08487812, -0.019326968, 0.028731536, 0.078733765, 0.049371026, -0.014876194, 0.178366, 0.00089044956, -0.0421401, -0.030461717) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.062325638, 0.13597403, -0.0522696, -0.007233695, 0.064067766, 0.021936687, 0.038012225, -0.017676266, -0.055330243, 0.052786075, -0.0416165, -0.04537908, 0.065348856, -0.028589722, -0.037748083, 0.044201877) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.029778155, 0.084842846, -0.046133053, -0.012237669, 0.1070076, 0.0112756835, -0.07336129, -0.08949529, 0.04841557, -0.065667965, -0.004705498, 0.024933007, -0.032954793, 0.12286488, -0.04912803, 0.07578236) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.17954022, 0.096989706, -0.10397003, -0.05131605, -0.06556684, -0.013882195, 0.012111392, -0.019121448, -0.03729823, -0.033649657, -0.05898776, 0.009589689, -0.0029119656, -0.053572025, -0.03605525, -0.013553741) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.03787153, 0.037385587, -0.005686847, 0.15763344, 0.009408978, 0.044804987, -0.048841193, -0.061910678, 0.043059584, 0.00929426, 0.06893808, -0.035996955, -0.0568531, 0.081814915, -0.14410943, -0.14000413) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.005200054, 0.013040009, 0.07655291, 0.002630008, 0.0064204177, 0.028295381, -0.11398628, 0.012945082, -0.09437754, -0.12553217, -0.102056175, -0.030106822, -0.015990794, -0.08203441, -0.11809439, -0.032000497) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.057965983, -0.107841924, -0.09493145, 0.08932851, 0.13715027, 0.014039646, -0.048187297, -0.08610366, 0.06149587, -0.008499362, 0.02294081, -0.036505777, -0.0013138453, 0.005065025, -0.09039269, 0.027581697) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.056370217, -0.034675233, -0.08059412, 0.02621469, -0.059545293, 0.08119379, -0.010797446, -0.05600982, -0.053261306, -0.0026077055, -0.037882946, -0.00028856145, -0.04011465, -0.0071797003, 0.010439201, -0.028104486) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.052025314, -0.072031684, -0.03209266, 0.11075055, -0.05985592, -0.01060547, 0.01387234, -0.058470163, 0.05714156, 0.04993751, 0.00388142, -0.008095163, -0.17499527, -0.03270615, 0.10519208, 0.059092633) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.060266104, -0.041237745, 0.041911807, 0.09812712, 0.037394874, 0.06760783, 0.008624535, -0.034502484, 0.07407191, 0.08079325, -0.22444727, 0.06092887, -0.027044335, -0.08720241, -0.026266506, 0.011823099) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.09512609, -0.043037415, 0.017516283, -0.069721565, 0.058594655, 0.03104387, -0.060501155, 0.0870694, -0.004529748, 0.11892672, -0.096124575, 0.0029507324, 0.044006918, -0.020828968, -0.020181943, -0.005507399) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.14454062, 0.025602356, 0.1043259, -0.058483917, -0.021097125, -0.0013623851, -0.009642451, 0.019308152, -0.080670625, -0.040985428, -0.019426048, -0.025615541, -0.038995545, -0.12254544, -0.009502445, 0.022095283) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.021494536, -0.0112036895, 0.016460426, 0.15042785, 0.03442728, 0.04954993, -0.007987884, -0.050649263, 0.003376389, 0.077782355, -0.066691905, -0.008251065, 0.11555165, 0.041291762, -0.054530397, 0.040192727) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.01232892, 0.044582408, 0.028808637, 0.034783065, 0.0068246447, 0.07713295, -0.1460967, 0.01663489, -0.06029968, 0.042767856, 0.026165351, 0.07657759, -0.041379403, 0.15543364, 0.040179648, 0.012467017) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.0023207045, 0.05736371, -0.01132253, -0.1534512, 0.07485476, 0.02739037, 0.07676418, 0.01020324, -0.1187346, -0.09200833, 0.070962034, -0.04863679, -0.06715823, 0.07265024, 0.08408705, 0.0010903036) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.024114786, 0.06446153, 0.029690359, -0.11670471, 0.118216984, 0.052959505, 0.02448341, -0.06599091, -0.050498147, 0.033372656, -0.005300518, -0.031294465, 0.10214152, 0.07824243, -0.010360454, -0.13248253) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.1414404, 0.004092192, -0.014139859, 0.06583774, -0.011890989, -0.052403595, -0.032660343, 0.13355012, -0.023351131, -0.07547985, 0.104361646, 0.013764869, 0.10141547, -0.11751049, 0.040695943, -0.1948841) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.049919527, -0.0029951532, 0.06338027, 0.031926338, -0.06130881, 0.10182471, -0.10721121, 0.086533025, 0.024608426, 0.05739487, -0.1212114, 0.078359485, -0.109681785, -0.12131577, -0.11682675, 0.0031116193) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.07831664, -0.035689194, -0.03527999, -0.043032955, -0.12290076, -0.09080753, 0.12231854, 0.029947743, -0.025398241, 0.07999272, -0.12603007, -0.081264205, 0.0277639, -0.04373436, 0.055347405, -0.131465) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.02541266, -0.1256484, -0.085705645, -0.013263183, -0.040224005, -0.05270937, -0.0026769575, 0.056716423, 0.13118586, 0.07022212, -0.08397483, 0.10328523, 0.08287278, -0.027878696, 0.01902678, -0.06677355) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.028777877, 0.11086367, 0.04308157, -0.05229589, -0.008462096, 0.05552019, -0.053677414, 0.0138355475, -0.038781203, -0.029743066, 0.034048155, 0.032000605, -0.026168112, 0.0004236296, 0.046753205, -0.063461035) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.075283185, 0.00899224, -0.051217236, -0.056587532, -0.04828392, -0.032860726, -0.045876265, -0.029209381, -0.1541533, 0.06720572, 0.054422125, -0.02866607, -0.08794386, 0.022420552, -0.058106966, 0.03575867) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.03916231, 0.08555684, -0.088987134, 0.021489194, 0.024067761, -0.11974007, 0.09833582, -0.121529706, -0.17389154, -0.01299806, -0.039932624, 0.026737932, 0.049899634, -0.12711392, 0.040493857, 0.003466314) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.06102618, 0.026743783, 0.07239618, 0.029338099, 0.04955603, 0.009491897, 0.0008369078, 0.054401115, -0.020695686, 0.028992388, -0.02133122, 0.068612196, 0.036271147, -0.06818659, -0.038204927, 0.045566205) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.064243816, -0.010918527, 0.021009004, 0.009975176, 0.036581032, 0.07069516, -0.016712269, -0.09621008, -0.06402951, -0.0067863055, 0.054012455, 0.0142729785, -0.032235358, -0.053390626, -0.0709931, 0.029953102) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.041737095, 0.026268642, -0.019955106, -0.121917635, 0.02430028, -0.0053680204, -0.11221418, 0.12268428, -0.0653812, 0.008196103, 0.019962646, 0.07343737, -0.014857356, -0.007706544, 0.031310216, -0.039224807) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.055153407, 0.1201757, 0.014910485, -0.041863848, 0.08641824, -0.047126733, 0.03153363, -0.03731821, -0.014664259, -0.04255379, -0.07980397, 0.041875847, 0.09858229, -0.012495974, 0.024915196, -0.045838844) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.005927034, -0.006315491, 0.10169004, 0.04798741, 0.025085539, 0.07141469, -0.06679379, -0.0057335044, -0.12131783, 0.12775922, -0.07921675, -0.055179738, -0.027879836, 0.060247287, 0.050589498, -0.11108483) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.04696793, -0.016145974, -0.05256074, 0.028282398, 0.022240443, 0.122661404, 0.011428074, -0.1279471, 0.11401287, 0.086877026, 0.045713052, -0.087724, -0.16849732, 0.032219004, 0.069909416, 0.08741539) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.14066437, 0.067110345, 0.010936827, -0.007668058, 0.08217572, 0.00841441, -0.01941246, -0.06786596, -0.13226213, -0.08085224, -0.11149987, -0.061246075, 0.09291042, -0.04116771, -0.05506247, 0.019867012) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.077268966, -0.04896945, -0.055613294, 0.022682616, 0.18807432, -0.062316835, -0.057403825, 0.07387256, -0.066929854, -0.009007251, -0.020115238, 0.05232063, -0.15392567, 0.04770581, 0.07191161, 0.051973794) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.21478997, 0.091474876, -0.030739518, -0.08158304, -0.02790185, -0.02979981, -0.021719921, 0.08204321, -0.12939404, -0.06735152, 0.09934753, 0.0012824747, -0.008693602, -0.020377485, 0.07784078, -0.12304573) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.085281916, -0.029611537, 0.058781616, 0.043521415, 0.055174436, 0.009438932, -0.0013914962, -0.11142648, -0.08129252, -0.04870104, 0.13142738, -0.005071297, 0.04936838, 0.086221665, -0.06670232, -0.059800755) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.0123978695, 0.041609578, 0.094882555, -0.042822156, 0.028931918, -0.008546986, 0.000114796094, -0.1091503, -0.13006477, 0.06893068, 0.024614748, -0.03145258, 0.07281108, 0.11544433, 0.040181905, 0.012503706) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.0054365206, 0.095119804, 0.11055951, 0.019466052, 0.022754982, 0.013888814, 0.06129462, -0.11578633, -0.05445107, -0.039615244, 0.15302792, 0.110302314, 0.116525285, -0.0006115953, 0.12929587, -0.038521346) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.06512398, 0.061926305, -0.008084291, 0.035116784, 0.02375231, 0.019758748, -0.023034362, -0.009782914, -0.01007939, 0.05070668, 0.018011214, -0.0043852953, -0.080347784, 0.015872212, -0.025146695, -0.01332058) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.06011352, -0.15089753, 0.067033246, 0.012786638, 0.058768492, -0.15734772, 0.27038375, -0.14632265, -0.09580229, 0.048278365, 0.017851833, 0.028954787, -0.0010272993, -0.045458276, 0.11447305, -0.015022732) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.08995797, 0.029364645, 0.03475384, -0.05147952, 0.106936365, -0.017066497, 0.07715486, 0.13596886, 0.09231862, -0.033172823, -0.051674116, -0.04296102, -0.0050418586, -0.10764638, 0.015279778, 0.07496989) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.12156424, -0.037988137, 0.050076272, 0.01594717, 0.052990053, -0.07748455, 0.060284864, 0.035587624, 0.049477614, -0.079133056, -0.057939522, 0.0043415623, -0.002303934, -0.0134762935, -0.072031125, -0.05209605) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.057991978, 0.061251305, -0.045199364, 0.07096099, -0.008577397, -0.2599384, 0.13919918, 0.17660145, -0.008784007, -0.0246532, -0.0021464394, -0.022267051, -0.06861374, -0.09967094, -0.023346582, 0.14024962) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.09577922, -0.038292043, -0.17260629, 0.078615844, 0.029454043, 0.07253665, -0.05595646, -0.180276, 0.040220786, -0.119755425, -0.050313752, 0.028673591, -0.019038057, -0.004465893, 0.019879675, 0.05027829) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.023444101, -0.086703844, 0.029419716, -0.00113442, 0.20119664, -0.025611356, 0.15682045, 0.09031158, 0.00243881, -0.053269643, -0.017256362, 0.027917195, -0.058515046, -0.013399024, 0.08994863, 0.0035714835) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.064988725, -0.01322924, 0.08890545, 0.008832729, 0.42415693, -0.09322649, -0.21070673, 0.3951789, 0.020704292, 0.029130926, 0.0046257004, -0.0070671276, -0.09022319, 0.05440207, 0.020891106, 0.04141828) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.030875014, 0.084602475, -0.08353568, -0.033656146, -0.01568491, 0.028286422, -0.09182198, -0.07100839, -0.04138483, 0.071349025, 0.017886164, -0.121415, -0.033885557, 0.0057150153, 0.0018305236, 0.09387769) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.0123145655, -0.0099281445, 0.04615881, -0.063446224, 0.01643084, -0.011173605, 0.073378086, -0.0008987534, -0.14478499, 0.06371908, 0.057060014, -0.057691164, 0.07834634, -0.026782714, -0.034304015, -0.04349605) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.026682276, 0.058032036, 0.052992783, 0.08640613, 0.062215608, 0.011175916, 0.06895342, 0.098698184, 0.04238471, 0.061910633, -0.035422835, 0.12650092, -0.043282706, -0.052077778, 0.017510325, 0.0391391) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.055350386, -0.11243646, 0.016253911, -0.017257173, 0.059547544, -0.03279304, 0.059083026, 0.13241072, 0.11585804, 0.007748599, -0.15230541, -0.082291655, 0.04977091, -0.09433375, -0.11558307, -0.044398483) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.03694274, -0.04757227, 0.033450104, -0.006906205, -0.039507255, -0.025179757, 0.06421492, 0.06318208, 0.12851301, -0.033888433, 0.052618366, -0.067583166, 0.023584934, -0.07171288, 0.009042901, 0.052614525) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.06865501, -0.08506733, -0.03181859, 0.091107994, 0.013501152, -0.052470803, -0.07013389, -0.083611645, 0.065679654, 0.03527835, 0.019509893, -0.005068851, -0.083922096, -0.07483168, -0.07798355, -0.060162324) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.10568385, -0.068733856, -0.034105837, 0.101661384, -0.055912126, -0.115467705, -0.100008786, -0.039577864, -0.08001328, 0.052759133, 0.06730137, -0.08151633, -0.05223798, -0.08851479, -0.015127876, -0.035514206) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.08738335, 0.063933805, -0.06923387, -0.04498289, 0.08970926, -0.1280684, -0.026634673, -0.048193462, 0.06939812, -0.0055687865, 0.14315495, -0.065449394, 0.05319766, 0.09562006, 0.018232567, -0.0068880664) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.019638283, 0.029776422, 0.09846647, -0.0018766077, 0.04539501, 0.026950909, -0.009732111, -0.089069754, -0.02190145, -0.022243822, 0.07034941, 0.039916843, -0.04829366, 0.022626007, 0.11650622, -0.09942129) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.038089514, -0.072992, 0.06300367, 0.16943501, -0.13926145, -0.041970383, 0.088639595, -0.14727603, 0.0056853006, -0.064994924, 0.056964185, 0.07359896, 0.019292265, 0.060979106, 0.029346703, -0.04265193) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.029183106, -0.050026517, -0.078770116, -0.014796788, -0.09843477, -0.029030422, 0.028071817, -0.11035143, -0.004221629, -0.1170657, 0.14455308, -0.027150443, -0.039355103, -0.09308857, 0.061652742, 0.021465192) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.012062831, -0.023213759, -0.0657983, -0.07618228, -0.024795879, -0.05445502, 0.09607557, -0.10754038, 0.15597863, -0.017730268, -0.10101892, 0.11538386, 0.11280126, 0.023103496, -0.04814666, 0.0064585838) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.09765952, -0.054239947, -0.0132161835, -0.046721194, -0.14888962, -0.059387676, -0.01650269, -0.09270816, 0.06224387, -0.016942, 0.0314212, 0.1423623, -0.087335885, 0.029983481, -0.027997935, 0.0033472553) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.0057658716, -0.021192549, -0.069001675, -0.06350078, 0.035925057, 0.049378388, 0.06646266, -0.10569743, 0.019708699, -0.11553864, 0.032608114, -0.011889396, 0.022661587, 0.047868066, 0.02103731, -0.038514327) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.14394201, -0.023957448, 0.06554235, -0.07161674, -0.05782059, -0.07552992, 0.09317427, 0.014325416, 0.07816694, -0.013390847, -0.057398427, 0.0379044, 0.03792542, 0.03255789, 0.07498712, 0.03614446) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.031551566, 0.06248341, 0.07569591, -0.017257998, -0.058447305, 0.07261866, 0.043408778, 0.06811565, 0.09551703, -0.030513262, -0.050053604, 0.08271029, -0.01252269, -0.04237621, 0.031728614, 0.017131992) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.048818547, -0.004054868, 0.05796488, 0.10060417, 0.04989325, -0.024786364, 0.029081058, 0.0128275445, 0.023292568, -0.110230334, 0.06500354, -0.025300438, -0.012592869, 0.08054506, -0.009014249, -0.071543425) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.009190626, 0.020073213, 0.13161026, 0.023810066, 0.0655364, 0.0020289188, 0.070556074, 0.028104233, 0.085571356, -0.069448866, -0.112842955, 0.0018542148, -0.00836836, 0.061638143, -0.024954794, -0.06287971) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.0777442, -0.0025372866, 0.038157776, 0.08322318, -0.008563062, 0.038341187, -0.04925698, 0.010730074, 0.07119472, -0.045390327, -0.030925635, 0.020801136, -0.0045577125, 0.014000937, 0.05288587, -0.05275179) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.021599513, -0.07084059, -0.089016594, 0.030028177, 0.033480838, 0.101015, 0.07489181, 0.04353765, -0.07102654, 0.033456057, -0.053162564, -0.0005686912, -0.23494233, -0.007813858, 0.12495595, 0.059529725) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.06711534, 0.075830065, -0.07966251, -0.07553609, 0.0147503605, -0.013223262, -0.04551362, -0.011257145, -0.012694605, -0.08958082, 0.06187837, 0.044504434, 0.041044578, -0.02663682, 0.003485268, -0.02617802) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.15290812, -0.024552645, -0.09029851, 0.017190058, 0.09260614, 0.05617855, 0.06164358, -0.038813833, 0.036533184, -0.013717633, 0.14508894, 0.027985066, 0.032225534, 0.1401639, 0.021510081, -0.08370948) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.018064985, 0.04841411, 0.011784491, -0.00284516, 0.050068155, -0.007230001, -0.07445653, -0.05416669, 0.012791681, 0.05012369, -0.15198144, -0.018468644, -0.13590245, -0.013564884, 0.09095281, 0.011901732) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.0797991, 0.013461552, -0.03779303, 0.07433649, -0.0048588063, -0.06511285, 0.06473454, 0.07474874, -0.054695174, 0.082647994, 0.08665234, -0.17189452, 0.011412084, -0.027717425, 0.014711496, 0.0047551463) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.10216377, 0.036662385, 0.044541545, 0.00046771983, 0.0036661623, -0.08293504, 0.14332078, 0.006545568, -0.040461604, -0.107852384, -0.017785491, 0.021744784, 0.103127725, 0.039981324, 0.014377891, 0.094433926) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.030446777, 0.08244882, -0.019188235, 0.050039105, 0.052524067, -0.0561168, -0.12180259, 0.038321923, 0.04775349, -0.073457465, -0.04209007, 0.031027488, -0.06965118, -0.099260926, 0.12210426, 0.0036331296) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.014520563, 0.048301473, -0.06791086, 0.01625226, 0.031684645, -0.07458947, -0.116040595, -0.0645365, -0.011072574, 0.020535178, -0.09332042, 0.026152479, -0.16180445, 0.020102587, 0.04551129, 0.007019158) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.024445016, 0.021846805, 0.114462204, 0.07642519, -0.09132519, -0.011418861, 0.051222786, -0.007874475, 0.14284293, 0.0103699295, -0.07609448, 0.011053131, -0.03580652, 0.08496922, 0.02774456, 0.021535328) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.11077886, -0.0017219923, 0.038973223, 0.017248789, -0.051838186, 0.07698393, -0.09820654, -0.019634092, 0.07189122, -0.005516489, -0.083289616, 0.06798331, -0.07575297, -0.066030525, 0.10271427, 0.03930737) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos5 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(5, 0); + imageStore(out_image, store_pos5, result5); + V4 result6 = V4(-0.00010800735, -0.0060253716, -0.00014175977, -0.0024079708); + result6 += M4(-0.05891607, -0.055818416, -0.025703147, 0.014893444, 0.041632358, -0.061393894, 0.01138957, -0.0003060534, -0.002770325, 0.0123026585, -0.0027956546, 0.0412105, -0.09062184, -0.01931541, -0.044927172, 0.039003454) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.08372776, 0.07368329, 0.05993131, 0.096041, 0.030658238, 0.01783835, 0.0279946, 0.017525857, 0.0035396735, -0.100731716, -0.04346371, -0.074386746, -0.03412513, 0.06843029, 0.019430036, -0.026856251) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.03714345, 0.0073623657, 0.067051426, -0.09731394, 0.02180703, -0.08836557, -0.05873427, -0.07609786, 0.047711704, 0.028371241, -0.12575391, 0.068714924, -0.019853454, -0.0108744325, 0.034402438, -0.03947283) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.0064668865, 0.046585217, -0.045046937, -0.010090959, -0.057889603, 0.053252976, -0.02949186, -0.005010347, -0.03681916, -0.049421515, -0.014790797, 0.05104032, 0.036831297, -0.04565253, 0.08468103, 0.033914186) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.06379281, 0.10606919, 0.055790827, 0.046800736, -0.057342067, 0.041786883, -0.061238263, -0.03692814, -0.03947566, 0.037991215, 0.021252612, 0.0021608882, -0.021783317, -0.026893621, 0.07806203, -0.100642905) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.08187347, -0.06206358, 0.080680564, 0.047941677, -0.002277811, -0.059837025, 0.044087354, -0.06582973, 0.084604695, -0.023997072, -0.067719825, 0.05046579, 0.023828821, 0.03939754, -0.071708836, 0.04752016) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.029952725, -0.09667125, -0.00066138123, 0.04769464, 0.079400405, 0.024411255, 0.05884881, 0.079120815, 0.047340587, -0.024291163, 0.038562726, 0.020604441, 0.010575722, 0.10967317, 0.014376675, -0.038327277) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.06287125, 0.070674025, -0.010538649, 0.03203308, -0.019796101, 0.051727124, 0.047506157, -0.05524831, -0.0042553185, 0.07679921, -0.07532232, 0.15636891, 0.011520409, 0.13203236, 0.0507361, 0.05706136) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.054613933, -0.037091885, 0.0009065115, 0.015578806, 0.029945353, -0.09977472, 0.014429149, 0.03598694, 0.00075545243, 0.0016660051, -0.04826273, -0.060955096, -0.018016335, 0.0853128, -0.017284924, 0.030501008) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.03428711, 0.026091322, 0.020565135, 0.08366415, -0.0029549603, 0.007559108, 0.034051366, -0.08350958, 0.012856849, -0.0010009388, 0.060871813, 0.011225134, -0.04035431, -0.0038169436, -0.00057985407, -0.024633229) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.010531846, 0.08934077, 0.051038563, -0.09843234, -0.06672527, 0.11225655, -0.0028012474, 0.051177386, -0.012679681, 0.031802446, 0.07369037, -0.010714595, 0.04583904, 0.0755224, 0.00023063405, 0.0680831) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.017600548, 0.06502304, 0.049715288, -0.07262733, -0.007515421, 0.024174131, 0.057123113, -0.024273023, -0.083369605, -0.03708399, 0.03823819, -0.026998373, 0.044279948, 0.016334454, 0.0019526624, -0.08235597) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.12288613, 0.03513285, -0.06324576, 0.088840716, 0.031426866, -0.038318116, -0.0077608493, 0.07648296, -0.008145227, -0.06567107, 0.027106209, -0.013306976, -0.10697064, -0.05888695, -0.044972606, -0.044149198) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.03787096, 0.058683846, -0.08714045, 0.021734657, -0.027938997, -0.027559884, -0.05259493, -0.00527079, -0.0968518, 0.08639186, -0.06299825, -0.017630886, -0.18182836, 0.04028746, -0.023016887, -0.16718754) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.10821648, 0.03125528, 0.07131545, 0.09464252, 0.050715107, 0.17174575, 0.09164212, -0.00040434167, -0.04257271, 0.038092274, -0.031484306, -0.032089632, 0.016541718, 0.083913535, -0.035890467, -0.114216514) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.035519592, -0.019508332, 0.10797242, 0.05217214, 0.06258685, -0.046536937, -0.07664148, -0.1048046, -0.022738276, -0.0028893736, -0.08300824, -0.0799885, -0.0202188, 0.16008598, 0.05311595, 0.14601421) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.0057513756, 0.14138156, 0.044822935, 0.07209472, 0.08130084, 0.038273875, 0.08884316, -0.01243985, 0.0009328225, 0.0114472415, 0.013494356, 0.013273342, -0.024302782, -0.029582668, 0.13231325, 0.113158874) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.010437825, 0.012448457, -0.056652248, -0.0887728, 0.03914561, 0.053675838, -0.122133225, 0.05794023, 0.041938316, 0.06729166, -0.05227809, 0.015268755, -0.008313473, -0.024801048, -0.0054720705, 0.14827597) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.028761204, 0.07333062, 0.022365144, -0.009992802, 0.10757404, -0.05120705, 0.079621606, -0.12650292, -0.019798081, -0.069985814, -0.014832247, -0.044227026, -0.015865823, 0.06849617, 0.008620538, -0.0089411475) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.025614668, 0.052395683, 0.048013028, 0.053321097, -0.018943906, -0.0911834, 0.020315137, 0.009568774, 0.053061645, 0.021918423, -0.05401135, 0.07646233, -0.042207897, -0.047038857, 0.11283149, 0.119577765) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.041562404, -0.087873235, -0.04447696, -0.008090757, -0.014695838, -0.029645171, -0.052447904, 0.008476244, 0.030555818, -0.030299786, -0.02417144, -0.100255094, -0.030237572, -0.03736984, -0.010838179, 0.0338734) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.02034669, -0.031184968, 0.036080092, 0.029294787, -0.027910544, -0.10997921, -0.08212682, -0.023281157, -0.09701014, -0.04667296, 0.07236996, -0.06875987, 0.0018313085, -0.027728437, -0.11319556, -0.06688292) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.18328162, -0.09410946, -0.017946959, 0.07484558, -0.12638044, -0.08282636, -0.13124168, -0.0024222662, -0.0070708496, -0.08760912, 0.047766224, -0.12082213, 0.02096226, 0.0777324, 0.00078988506, -0.021013662) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.024043836, 0.015182105, -0.09119308, -0.09507997, -0.028330164, 0.06682432, -0.055507433, -0.031032162, -0.059383262, 0.089720845, 0.06044238, 0.0032397076, -0.05410032, -0.1163895, -0.08073255, -0.0058232564) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.017943654, 0.06840554, 0.07012803, 0.013843289, 0.017205507, -0.011223481, -0.022196978, 0.14360492, -0.092534386, 0.022194441, 0.04178856, -0.047393303, -0.009411746, 0.033234157, -0.06532909, 0.101727545) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.007434654, -0.1086224, 0.06935581, -0.012658257, 0.061572894, -0.011706881, 0.0308903, 0.0736597, 0.12987943, -0.05081095, 0.011523893, -0.03506991, 0.044780284, -0.013583677, 0.04943616, 0.046820614) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.011473868, 0.05361749, 0.006936757, 0.03837745, -0.012945828, 0.015524374, 0.007673216, 0.13757087, -0.043397836, 0.02311259, 0.06405981, -0.062237494, -0.038214326, -0.04002505, -0.06322114, 0.07529249) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.051067293, 0.01441175, -0.025411477, 0.15705688, 0.0020218983, 0.037214328, -0.09342253, -0.043778367, -0.06211368, -0.15421464, 0.03005483, -0.12681845, 0.037709784, -0.035862956, -0.08261765, -0.052133225) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.07967775, 0.05226606, 0.018689651, -0.06403869, -0.007681651, -0.03723907, -0.047131635, 0.010881137, 0.009757213, -0.09395056, 0.078745216, 0.020392535, 0.021376725, -0.004695581, -0.0050038933, -0.116437994) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.07396499, -0.04467992, 0.037088443, 0.1149424, -0.07442583, -0.039374456, 0.013312073, 0.054966707, -0.03421485, -0.060300454, 0.13126172, -0.06293344, -0.04400627, 0.028728338, 0.037440896, -0.037900362) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.033876896, -0.01601887, 0.025593525, 0.006039605, 0.024364274, -0.04797028, 0.09693112, 0.05071231, 0.0026292186, -0.050802484, 0.12546101, -0.087659255, -0.00682104, 0.028917266, 0.040521294, -0.020344894) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.012789372, -0.03130457, -0.061474208, -0.08477137, -0.022471324, -0.09343703, 0.052898977, -0.04553556, 0.040092725, -0.06770857, -0.009832583, -0.15104657, -0.04463934, 0.07300527, 0.07721952, -0.08406604) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.058277108, -0.024997687, -0.048033778, -0.14751582, 0.02449909, -0.062831886, -0.06199041, -0.034332294, -0.102010205, -0.06996329, 0.12004006, -0.071520284, -0.07427497, 0.011991249, 0.016592449, -0.08865749) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.01867152, 0.0009101457, -0.01117776, -0.15761206, -0.017810421, 3.277767e-05, -0.04121825, -0.0060248547, 0.1319718, -0.15207556, 0.07645303, -0.022329481, -0.041795425, 0.04243393, -0.062283445, -0.09860213) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.041777305, 0.026961304, 0.069987945, 0.1125452, -0.0165073, -0.02660315, -0.100314066, -0.04913101, 0.086327255, -0.009335691, -0.007720912, -0.0936823, -0.10425135, -0.112192966, -0.054848474, -0.008930241) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.059042953, 0.11067629, -0.015890103, 0.09766256, 0.047621883, -0.005980264, -0.02102074, 0.058904033, -0.012721662, -0.04240984, 0.028599694, -0.031879235, -0.09010318, -0.0645402, 0.054281007, -0.082549445) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.091450416, 0.06823795, -0.047209784, -0.021595096, 0.18368845, -0.033119474, 0.037184704, -0.14450079, -0.006730331, -0.045345884, -0.047405306, -0.022313895, 0.08320054, -6.6373104e-05, 0.049354605, 0.05473569) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.010599693, -0.033871964, 0.08865197, -0.07120556, 0.2243022, -0.043618366, -0.024650443, -0.03107622, -0.07248459, -0.0060660513, -0.015784867, -0.025589678, 0.00039407247, 0.013996792, 0.11280169, 0.011401994) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.09200231, 0.05192783, 0.037400156, -0.050846703, 0.035394825, 0.028383521, 0.053883303, 0.01812208, 0.0362687, -0.100066334, 0.07586878, -0.05114945, -0.03126923, 0.08520733, -0.026446797, 0.011980953) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.06071653, 0.15951839, 0.06685639, -0.10666966, -0.158203, 0.17492393, 0.32272932, 0.03761915, -0.035367247, 0.02447374, -0.08521716, 0.0817251, 0.060914174, 0.054594386, -0.066563554, -0.004885275) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.07185054, -0.026100524, 0.06956391, 0.05798612, 0.062055107, -0.07788397, -0.2215335, -0.09710465, -0.03763547, -0.026498605, 0.022033837, -0.056696787, -0.016676592, 0.049264174, -0.14244097, -0.14548786) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.00030008418, 0.022883503, 0.046351213, 0.016647276, -0.09939703, 0.06860946, 0.027000569, -0.003637559, 0.014364105, 0.0436147, 0.02167385, -0.035235547, 0.02709174, 0.12448186, -0.077609, -0.06734911) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.035540726, 0.082818285, 0.10640225, 0.055520054, 0.25656837, -0.07521005, -0.26976293, -0.20682111, -0.0010873412, -0.0076049403, 0.026772115, 0.070052534, -0.053952504, -0.04264002, -0.07538074, -0.010789174) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.022577604, -0.032595128, 0.05581884, -0.05637496, 0.1134154, -0.007498883, -0.0074866195, -0.020146132, -0.0060545104, 0.04140638, 0.011553352, -0.007779658, -0.05035119, 0.04231533, -0.1159343, -0.041411404) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.033997674, -0.01300362, 0.060521204, 0.030843811, 0.09011756, -0.04444579, 0.010557366, 0.06390006, 0.03865942, 0.038038485, 0.032360643, 0.03175655, -0.048345692, -0.053713158, 0.042862546, 0.01999215) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.009029654, -0.015839593, -0.0008415983, 0.029903138, 0.027293481, -0.040350307, -0.13115652, 0.027611844, -0.06053977, 0.061337072, 0.068989396, 0.09488203, -0.086118855, -0.042966396, 0.05332237, -0.03993151) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.033072893, -0.02301849, 0.09666164, -0.021674484, 0.03977146, 0.021081645, -0.031614874, 0.011723562, 0.00068165746, -0.093443856, -0.087376624, -0.052463725, 0.13523975, 0.021700632, -0.047988154, -0.024414755) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.003364507, 0.059604894, -0.016751902, 0.011191916, 0.04449777, -0.061399654, -0.10788696, 0.0064491476, 0.008358763, -0.024177141, 0.0068715597, 0.061484665, -0.012053949, 0.08702497, -0.015229336, -0.07036682) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.017904243, -0.10239701, 0.031578973, 0.1432706, -0.047830492, 0.030587513, -0.06351282, -0.07946193, 0.009548698, -0.13196263, 0.077317916, 0.06651956, 0.051394757, -0.06613251, -0.039217785, -0.000102161626) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.026882699, 0.0076133595, -0.011881761, 0.083685525, -0.048107, -0.079271294, -0.08940324, -0.015527074, 0.0681865, -0.08179548, -0.07184748, -0.027342843, -0.035955604, 0.028861145, -0.0025470247, 0.099347614) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.018467726, -0.027150752, -0.07124559, -0.0808282, -0.111350276, -0.08718776, -0.05898684, -0.10300843, 0.09388607, -0.08031927, -0.05213167, -0.05010138, 0.09795802, -0.043414343, -0.013442392, 0.06726497) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.061113965, 0.05249573, -0.013291015, -0.027990464, 0.07525972, -0.037400562, -0.027570518, 0.03025376, 0.058301542, -0.00991113, -0.04094608, 0.06037023, 0.068298265, 0.07331197, -0.062976345, -0.0815164) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.033827167, -0.005867483, -0.10483641, -0.0673539, 0.033584747, -0.027236478, -0.0021427039, -0.07869041, -0.01493794, 0.021678748, -0.06109411, -0.017292952, 0.030456912, 0.077925794, -0.021568073, -0.054193225) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.04762376, 0.025418248, 0.0025025953, -0.11649213, -0.008234075, 0.03518229, -0.032501448, -0.07989873, 0.047708966, -0.005987734, 0.03900678, 0.042927586, 0.025329221, -0.03461939, -0.039206788, 0.08232059) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.03826938, 0.011680362, 0.07731792, -0.06684018, 0.06040148, -0.027300991, -0.035361104, 0.043682802, 0.10329265, -0.055681083, -0.009697752, 0.015017509, 0.07700184, -0.004714174, -0.03362555, -0.0047102342) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.13924372, -0.0690446, 0.022191914, -0.12541771, 0.061454188, 0.01673397, -0.068967514, 0.06401603, 0.08639304, -0.14596094, 0.03429848, -0.07712268, 0.13027209, 0.028841615, -0.068355925, 0.012548832) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.024495505, -0.056479745, -0.042414196, -0.00951063, -0.031538535, -0.03353232, 0.0033490192, 0.011012555, 0.040643983, -0.0065900423, 0.04440702, 0.07220398, 0.045626614, 0.021800417, 0.124882095, 0.118016414) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.12942523, -0.004802336, -0.02056276, 0.01726196, 0.006923887, -0.011416048, -0.025601696, -0.02324903, -0.06723031, -0.0011436995, 0.04613145, 0.016824527, -0.11203403, -0.00091890263, -0.109971896, 0.055671837) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.0064730593, -0.056771252, -0.022314271, -0.13377938, 0.030712241, -0.040122893, -0.061507415, -0.030837838, -0.073205836, 0.07760601, 0.09313948, -0.038571, -0.015589485, 0.06175334, -0.05960568, 0.016294312) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.059321616, 0.041926414, 0.068366356, -0.07494138, 0.008720035, 0.104823604, -0.04432755, 0.061935626, 0.013494984, 0.009429721, 0.09286653, 0.012558406, 0.009171961, -0.009844101, -0.03379411, 0.11758488) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.030894462, -0.033103596, -0.03778012, -0.067914985, -0.05351728, -0.06479064, -0.016870918, -0.09408398, -0.08043218, -0.015742619, -0.01484155, 0.012425478, 0.047873296, -0.04742287, 0.05957968, -0.0005618238) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.059685986, -0.013049472, -0.05666807, -0.00968682, -0.10455128, -0.07583545, 0.048583936, -0.007676874, 0.05676029, -0.048909135, -0.0019415809, 0.068293236, 0.027117664, -0.017194163, 0.094369866, 0.05667501) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.031075524, -0.033919692, 0.068281, -0.026723804, -0.07270547, -0.004834097, -0.04459098, 0.04327511, 0.0012198207, 0.07535258, 0.00040769888, 0.018127592, 0.050823737, 0.026912814, -0.07275788, -0.032447472) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.021461288, 0.020990511, 0.10006202, 0.0083914315, 0.0019283592, -0.09763618, -0.090835005, -0.009497216, 0.017019127, -0.093741484, 0.010192886, -0.05353938, -0.03774787, -0.08022948, 0.0068344646, -0.015532838) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.08368494, -0.05503489, 0.07188303, -0.011911395, 0.08884825, -0.0015604271, -0.11350201, 0.061944272, 0.016814282, -0.10553847, -0.0017305467, 0.022885334, 0.0083703855, 0.00230571, -0.010123704, -0.07190447) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.018472152, -0.021339577, 0.051397167, -0.024673272, -0.010886927, -0.13126023, 0.080665104, 0.04719417, -0.08153049, -0.027909016, -0.056776077, 0.014227528, 0.01062346, 0.056648493, 0.0370948, -0.0843458) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.056890644, -0.019398227, 0.04421708, 0.123132974, 0.071698084, -0.0015067573, -0.0061808955, -0.010428517, 0.025756804, -0.08145282, 0.11189795, -0.035047166, 0.06368638, 0.10706635, -0.022892322, 0.0732603) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.0208906, 0.014064872, 0.025122993, 0.080707096, 0.0925971, -0.03994455, -0.044639815, 0.026335329, -0.0123001365, 0.042202212, -0.07550079, -0.10712752, 0.010719375, -0.08303557, -0.04082365, -0.1434208) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.011365811, -0.011319931, -0.088007614, 0.06914035, -0.00035818605, -0.04327692, 0.039622106, -0.014314688, -0.043067418, 0.07676943, -0.0645869, -0.007152693, -0.019215066, 0.062659636, -0.040148072, -0.072568715) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.06260198, -0.021592585, 0.051272288, 0.0149572, -0.060935963, 0.024973173, 0.04874284, 0.006408399, -0.066549696, -0.018406643, -0.044902887, -0.090200216, 0.10648487, 0.060248017, 0.062366378, 0.02011354) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.049338702, -0.08505236, -0.020702435, -0.08719552, 0.03119708, 0.07414778, -0.07192403, 0.03382124, 0.11760936, -0.08562826, 0.06085735, 0.075226806, -0.025861744, 0.09010827, -0.09700145, -0.049685273) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.027805904, 0.01296522, -0.0036581114, -0.07801545, 0.066172354, -0.008460442, -0.07732261, 0.08201733, 0.020809105, -0.033417676, 0.08031244, -0.07328894, -0.11427932, 0.028229544, 0.056098722, -0.026376273) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos6 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(6, 0); + imageStore(out_image, store_pos6, result6); + V4 result7 = V4(-0.005779137, 0.00042278095, -0.006643014, 0.0032105937); + result7 += M4(-0.028253032, -0.086946264, -0.035641264, 0.017218307, -0.049524646, -0.0054218136, 0.07356867, 0.05497261, 0.0034967894, 0.08287484, 0.013626619, -0.05920321, -0.033626165, -0.029896446, 0.026358752, -0.042374063) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.0109004015, 0.067438796, -0.12630554, 0.019525347, 0.037004344, -0.076981686, 0.020817578, 0.024258735, 0.003737925, 0.0043056384, -0.07315689, 0.21524364, 0.027668813, -0.08941938, -0.009379241, 0.024677476) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0069841966, 0.008775142, -0.0293509, 0.02190016, 0.026718711, -0.04174519, -0.0362867, -0.06309356, 0.0582507, -0.09112459, 0.020383934, 0.018116275, -0.04851339, -0.10327412, 0.03556169, -0.05733122) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.14081758, 0.011671083, 0.010379509, 0.10333814, 0.0976033, 0.049594674, 0.10363215, 0.026326582, -0.05548824, -0.004862798, -0.016896252, -0.07550078, 0.012015258, -0.013939048, 0.05480079, -0.05350712) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.010915985, -0.022584384, -0.045220412, -0.010074606, -0.08276838, 0.06411727, -0.1401672, 0.010118486, -0.046954926, 0.08351121, 0.069268845, 0.07963974, 0.041331515, -0.070004374, -0.0798327, -0.050694745) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.017128536, 0.07098477, -0.09438486, 0.014294622, 0.12050743, -0.009372627, 0.020266727, 0.052830018, 0.0009557811, -0.079178505, 0.058548953, -0.07657645, 0.04692203, -0.014892061, -0.106876634, -0.009221883) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.07914881, 0.046544876, -0.047758054, -0.13949709, -0.0058449623, -0.021825003, 0.038034808, -0.01355967, -0.040756106, 0.044772614, -0.03521749, -0.035055663, 0.04153906, 0.028035518, -0.059809607, -0.00018377688) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.06903463, 0.040708173, 0.03880754, 0.087958686, 0.097045474, -0.026810037, -0.0912696, 0.15234607, -0.14135183, 0.044077586, -0.0027172116, 0.0036050698, -0.031176237, -0.087168194, -0.0052882144, -0.09792009) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.012559337, -0.0009580034, 0.017924711, 0.04447978, -0.090456165, 0.03693338, 0.07936274, -0.11123651, 0.05216649, -0.027916264, -0.01309539, -0.06458855, 0.0069010127, 0.0017482577, 0.00880386, 0.052460745) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.036492657, -0.050502278, -0.008660938, -0.07902446, 0.049333423, -0.044341996, -0.008179306, -0.08201362, -0.09605504, 0.08511496, 0.041150153, 0.021596825, 0.09684253, -0.07860693, -0.01976016, -0.032737076) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.016381651, 0.09049819, 0.089420326, 0.016017415, 0.020983169, -0.0050337473, 0.05726063, -0.07228454, -0.04861632, -0.050195154, 0.034888323, 0.062370963, 0.0015738789, -0.07723301, 0.06401333, -0.058803145) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.07724018, -0.065496534, 0.110313416, 0.017269822, -0.016822288, 0.013604673, 0.00093475345, -0.085221775, 0.031109685, -0.025308603, 0.042456508, 0.0035059939, 0.08272418, -0.06560935, 0.07334858, 0.04430133) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.029242264, -0.046879888, 0.04996607, -0.054425325, 0.02972727, 0.004451307, 0.01412291, -0.08250154, -0.0981519, 0.03523192, -0.045271035, -0.024335135, -0.032067403, -0.04727411, 0.048816763, 0.037438437) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.054958478, 0.03190124, 0.07657767, -0.029615222, -0.031131336, -0.005139885, 0.13564779, -0.07076418, 0.11099956, -0.013317539, 0.00828025, 0.061199296, 0.01452047, -0.07083135, -0.09472059, 0.037591986) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.06627312, 0.13576345, 0.026791217, -0.05118388, -0.055035748, 0.04940249, 0.045775283, 0.06248826, -0.11060719, -0.0209596, 0.039903212, -0.05914595, -0.040312074, 0.0018348438, -0.022609726, -0.017266389) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.024557697, -0.013285843, -0.0028270877, 0.072398074, 0.0255208, 0.048574004, 0.025271976, -0.045687232, 0.05402702, 0.01317333, -0.043156948, 0.06266694, -0.13753714, 0.18027213, 0.13111489, 0.13735925) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.015762536, 0.0018953091, 0.045992218, -0.112649515, -0.10324411, -0.011188894, -0.01431933, -0.052422065, -0.0075512812, -0.044456106, -0.021974204, -0.031512275, -0.18989961, 0.1367532, 0.041323584, -0.13469361) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.035208344, -0.033864796, 0.10911213, -0.033643384, 0.027342383, -0.023280943, -0.032320783, 0.048167173, 0.056682847, 0.0012769927, 0.01862501, 0.012554472, -0.06446649, 0.039269954, 0.08076099, -0.017458223) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.012885507, 0.009209736, -0.083865695, 0.07959508, -0.029333297, 0.082016714, -0.113179766, 0.08416138, 0.055223837, 0.014136866, 0.043214217, 0.045978114, -0.069610775, 0.08953053, 0.053672444, 0.06996034) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.030470883, 0.0004462303, -0.087180026, -0.035695624, 0.04761456, 0.017006654, 0.19534618, 0.12106637, 0.03155006, -0.049480278, -0.01261452, 0.06423218, -0.007239843, 0.10188954, 0.10040688, 0.057698585) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.012375949, -0.07689353, 0.08656054, 0.015806638, -0.1314456, -0.030045927, 0.124375604, 0.14373706, -0.060269922, -0.030615028, 0.012693174, 0.102653876, 0.040096227, 0.03174741, -0.018729975, 0.08035056) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.02323443, 0.06236653, -0.074340224, -0.046976063, -0.15379925, 0.04048903, 0.040640913, -0.112237886, 0.0427239, 0.047402807, -0.057280965, 0.08461352, -0.1073478, -0.031918198, 0.031302694, 0.026583867) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.056239486, -0.11865469, 0.037415013, 0.023096764, -0.15692729, -0.13073564, 0.035166074, -0.07427562, -0.02479855, 0.027565107, -0.02992471, 0.15682185, -0.007260976, -0.0440398, 0.086759746, 0.0042956667) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.08959485, -0.019754449, 0.14104061, -0.021443676, -0.06406621, 0.0005579906, 0.007923884, 0.0014948547, -0.111523256, -0.047221445, -0.04029775, 0.016153418, 0.00063455815, 0.04410781, 0.01885558, 0.0055520013) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.034323674, 9.460711e-05, -0.0007359895, -0.027046464, 0.04318669, -0.08414971, 0.05686807, -0.023323342, 0.010228248, 0.08683357, 0.038528107, 0.10805178, -0.023680026, -0.004755313, -0.03389245, 0.012734498) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.012236106, -0.07203773, -0.008608118, 0.0024575603, -0.04232684, -0.019230453, 0.029250728, -0.05603258, -0.0801214, -0.06978866, -0.08000279, 0.037450425, 0.0781729, 0.037768207, -0.004335589, 0.05682063) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.00029580665, 0.07315774, 0.045308378, -0.076265015, 0.12535092, -0.009614463, -0.0073282174, -0.020524345, 0.07204918, 0.0830742, -0.029136293, -0.029060746, 0.0014572939, -0.0073374514, 0.032702744, -0.0013741754) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.0032954097, -0.016095692, -0.046177033, -0.20780128, 0.015440438, -0.01085817, 0.02067063, 0.031933248, -0.06932332, 0.028807284, -0.032100406, 0.18879421, 0.021844642, 0.08987261, 0.010740873, -0.06353127) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.060457878, -0.0349731, -0.11675425, 0.0062023536, 0.012601688, -0.020256445, 0.001955131, -0.07574461, -0.03758155, -0.056676507, 0.076893575, 0.09114341, -0.04868475, 0.09959766, 0.052856904, 0.100737385) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.021795077, 0.0025798948, -0.081038505, 0.009231524, 0.06075437, 0.035809893, 0.106640905, -0.013391686, 0.049030513, 0.0073588816, 0.024329936, -0.030877892, -0.00467403, 0.10419009, 0.02175774, 0.043493915) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.044691026, 0.035652388, -0.04945686, 0.02091936, 0.003205286, 0.058965426, 0.010397615, -0.09550528, -0.08540447, 0.024840433, 0.09776307, 0.1251076, 0.021055054, 0.027489662, -0.00827197, 0.15326947) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.13028722, 0.007735435, 0.07583083, -0.050559662, -0.13549076, -0.029697148, 0.029114546, -0.041852545, -0.059823073, -0.09515554, 0.10153633, -0.014494054, -0.09433562, 0.019888455, 0.036210135, -0.02034067) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.01574288, -0.019830547, -0.03075631, -0.117404155, 0.038604237, -0.009174605, 0.10562968, -0.041399606, -0.056875255, 0.07832329, -0.07756351, -0.019934412, -0.003634435, 0.016883012, -0.06603365, 0.1356531) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.053368345, -0.079521164, -0.06285646, 0.09585588, 0.03153313, 0.0076762345, 0.052269936, 0.043962006, 0.009036366, -0.041440748, 0.046687778, 0.09949121, 0.050993524, -0.02714463, -0.02659766, 0.11569393) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.032954596, 0.03213268, -0.12177888, -0.05651094, 0.024796236, -0.03921594, -0.017488321, -0.0028232986, -0.04034271, 0.020432452, -0.010275974, -0.055891175, 0.007358546, -0.0067139715, -0.03814775, -0.040403523) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.081584744, 0.053192515, -0.0037527955, 0.08946813, 0.016415672, -0.032996252, 0.02619047, -0.02667242, 0.049990505, -0.0032465924, 0.04463879, 0.016481372, 0.060604975, -0.0037830793, -0.060693447, 0.04562253) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.00586133, -0.030767668, 0.08056091, -0.08942766, 0.23069814, 0.18360853, 0.110741206, -0.050012648, -0.020870673, -0.02292241, 0.06309026, 0.028831132, -0.03729215, -0.045939542, -0.057772703, -0.04261544) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.02583127, 0.03895145, -0.036418207, -0.03662379, -0.0790851, -0.03179599, 0.01017485, -0.07021439, 0.004541492, 0.0019216574, 0.034581125, -0.07219656, -0.09391331, 0.005159334, -0.088578984, 0.063212015) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.013821276, 0.030899415, -0.07698804, 0.023868144, -0.055200823, 0.04935741, -0.033050254, -0.06903777, -0.030846382, -0.049522337, 0.020195458, -0.071564645, -0.023807852, -0.053124417, 0.08241967, -0.02004951) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.026447354, -0.025564468, -0.059129674, 0.047770895, -0.08645755, -0.11861152, -0.14027037, -0.01324522, -0.0033693195, -0.0068324124, -0.0018775514, -0.033316128, 0.07090098, -0.080856994, -0.09768395, -0.01709052) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.028721005, 0.053287923, 0.012443694, 0.11419668, 0.012500333, 0.025011063, 0.026921269, -0.19173251, -0.03905899, -0.061321665, 0.010901208, -0.069761895, 0.11869526, -0.07477699, 0.047591023, 0.11170034) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.026094835, -0.0882828, 0.053042535, -0.05047946, 0.023486467, -0.07057464, -0.017720966, 0.020289524, 0.015617883, -0.07863495, 0.0054048086, -0.012265838, -0.0148286475, -0.055572245, -0.01100208, 0.017281074) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.0063621923, 0.025807178, 0.08428081, -0.023606176, 0.2226884, -0.07160978, 0.12759535, 0.06945388, 0.05560955, -0.008257105, 0.01537838, 0.01614742, -0.066194296, -0.10572095, -0.10534224, 0.0046508303) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.023385031, -0.08905974, 0.017809924, 0.02866596, 0.04247738, 0.018570494, -0.037092164, -0.057012133, 0.012409094, 0.08593214, 0.018362375, 0.02058307, 0.04138473, -0.014772487, -0.040718976, -0.007828772) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.04112366, -0.0054324768, 0.04197312, 0.061038304, 0.05609176, -0.03593342, 0.008359415, -0.02862617, 0.021617506, 0.09178711, -0.040604178, -0.026081266, -0.0397593, -0.07465108, -0.01517048, -0.022273866) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.10604568, -0.041724853, 0.03275467, 0.03611845, 0.013727458, -0.096504584, 0.024098394, -0.0137674, -0.025301093, -0.019138157, 0.06707469, 0.027643962, 0.009583311, 0.01871023, 0.017534897, -0.0060215113) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.096569724, -0.01859128, -0.049109146, -0.05053281, 0.015630757, -0.0016983232, -0.11833674, -0.071809515, -0.08516837, -0.046112124, 0.09002566, -0.101535976, 0.07432672, -0.032197103, -0.067913175, -0.0029871948) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.035411905, 0.035405196, 0.105476595, 0.04239974, 0.05558048, -0.10074761, -0.029263338, -0.08129134, 0.03146499, 0.029092275, 0.065852016, 0.099371314, -0.09343022, -0.050908532, -0.017134879, -0.02413823) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.104144655, -0.029489527, 0.04058192, 0.012844405, -0.093295485, -0.06256186, -0.008842649, 0.10394541, -0.011332068, -0.07927043, -0.015468125, -0.075525984, -0.06697549, 0.06375462, 0.058515925, 0.027642144) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.062761106, -0.039256804, 0.02317152, -0.07249235, -0.13299364, -0.084803075, 0.1385897, 0.08382741, -0.009642627, -0.07024112, -0.08902621, -0.0021533465, -0.039810337, -0.0007204689, -0.046018668, -0.050898086) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.06301794, 0.08006524, -0.030382873, -0.032168128, -0.029826796, -0.0875045, 0.094020166, 0.023693347, -0.05741185, -0.041021023, 0.06600824, -0.06647878, -0.07037752, -0.040301554, 0.075893566, -0.00042456354) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.064054534, -0.0035670786, 0.059994094, 0.10326256, -0.12318841, 0.13558021, 0.0125090545, -0.058484852, 0.096616335, -0.03896643, -0.046371512, 0.040114827, 0.0448459, 0.007284289, -0.013928766, 0.01218525) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.091265164, -0.027797788, -0.00027912782, -0.12877208, -0.07484913, 0.008016232, -0.08641135, -0.0481376, -0.07420048, 0.10089178, 0.047982827, -0.060796704, -0.059346393, -0.04612916, 0.033882458, 0.026728494) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.047066413, 0.07873844, 0.026105905, -0.1600929, -0.024608573, 0.09947426, 0.065639384, 2.7922863e-05, -0.031117005, -0.059582736, 0.015552532, 0.028383661, -0.01083358, 0.010308079, 0.06189786, -0.03700117) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.1442446, 0.15159792, 0.06343997, -0.022044217, -0.03377897, 0.04669872, -0.023816962, 0.014196352, -0.011626502, -0.0029249247, -0.057205275, -0.0032677671, 0.05588748, 0.010942478, 0.03757651, -0.04583985) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.019644715, 0.09338746, 0.19974399, 0.046979226, 0.03335496, 0.06205432, -0.016096322, 0.026181635, -0.020302778, -0.14820248, -0.0120246, 0.018365309, -0.08204863, -0.022086052, 0.106557064, 0.046494488) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.03892152, -0.057821486, 0.009219285, 0.07812219, -0.059700165, 0.04451283, -0.023670744, 0.0031098856, 0.02094949, 0.028182458, -0.07822925, -0.13244633, -0.01076856, 0.021887662, 0.007603247, 0.03295925) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.029050346, 0.064270094, 0.04270021, -0.025242139, -0.023225592, 0.06949003, -0.009655899, -0.07066359, 0.066757694, 0.0059521087, -0.017846324, -0.0069171195, -0.06053091, 0.001433407, -0.058130518, 0.07585283) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.04534983, -0.045351516, 0.030745754, -0.10620418, 0.056526408, 0.024354113, 0.07454341, -0.09229674, -0.04206519, 0.0071727363, 0.026720759, 0.026613742, 0.0021545081, -0.0408902, -0.036763985, -0.017053159) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.042160913, -0.06335052, 0.052078463, -0.04297389, -0.09606052, -5.2382667e-05, -0.054684833, 0.061335463, -0.030644264, -0.04935092, -0.06503015, 0.05564371, 0.017072078, 0.019519145, -0.0938524, 0.019229425) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.045002304, -0.075021185, 0.04329888, 0.01489173, 0.055737372, -0.047687203, 0.023502018, -0.078056596, -0.0847728, -0.007869255, 0.05368628, 0.04841905, -0.008667658, 0.053759273, -0.06650258, 0.031134877) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.111246385, 0.026758008, 0.01646261, -0.06806571, 0.078242436, 0.006063244, -0.018738419, 0.04650492, 0.036844768, 0.050989438, -0.039208256, 0.056157537, 0.006354117, 0.08693057, 0.056273468, 0.02091445) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.022977374, -0.0014300833, 0.062207952, -0.095694505, -0.10741718, -0.00050973345, -0.031657964, 0.036381297, 0.00896154, 0.07896397, 0.016439738, -0.017416283, -0.0031610092, -0.045621984, 0.10429879, 0.10542718) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.04796138, 0.04415909, -0.0021250215, -0.087782644, -0.0071251593, -0.048251912, -0.12235456, 0.062835224, 0.011508803, -0.036585294, -0.0426859, -0.04978311, -0.07948074, -0.06722222, 0.007934674, 0.019564953) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.03204764, -0.10523549, 0.027641624, -0.07667062, 0.1354586, 0.016092792, 0.09972025, 0.012906847, -0.033743937, 0.07147002, 0.034713827, 0.043930236, 0.014883329, 0.02524039, 0.026734399, 0.030716382) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.043743636, 0.0029258747, -0.02473737, 0.061607964, 0.0028393453, 0.0381262, 0.11229226, -0.18048024, 0.012362399, -0.004974342, -0.039110374, -0.11029301, -0.06889716, 0.011196136, 0.066405274, 0.10036628) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.07871994, -0.00099768, -0.0750482, -0.026606226, -0.051590253, -0.012234833, 0.030981906, -0.031416766, -0.02848297, 0.058172315, 0.06233239, 0.032706115, -0.060493603, 0.04980745, 0.04306429, -0.031099973) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.061602265, 0.07691331, -0.055697855, 0.0050246464, -0.06305271, -0.0736643, 0.021433018, -0.07474178, -0.105606355, 0.014244165, 0.07914348, -0.11292411, -0.095335886, -0.071094394, -0.07282101, -0.07422806) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.07029004, 0.018697945, 0.0022270917, -0.009476005, -0.04571607, -0.022667216, 0.046978887, 0.028764354, 0.071321316, 0.008898331, 0.023918873, 0.05202203, -0.0856404, 0.06693358, 0.016701309, -0.009749524) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.061513748, 0.026849693, -0.01561694, 0.065646306, 0.041385055, 0.099377155, -0.016654817, 0.0693534, -0.011715889, -0.038535345, 0.11338716, 0.024648137, 0.0459147, 0.06131176, -0.0041660555, 0.06061415) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.059321817, -0.05359826, 0.00025477225, -0.0011721341, -0.12417827, -0.079942554, 0.040795583, -0.09183394, -0.07899908, -0.024261517, 0.051511224, 0.060799964, -0.010897694, 0.024622234, 0.06460701, -0.12333705) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.07917502, 0.048086353, 0.07050766, -0.004076172, 0.006657389, 0.023776792, 0.101774, -0.02063244, -0.013669324, -0.0954094, -0.011442866, -0.01449291, 0.024887312, -0.046713404, 0.009987978, -0.056528244) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos7 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(7, 0); + imageStore(out_image, store_pos7, result7); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2_CMP] (Conv2D-6) +//!COMPUTE 16 16 16 16 +//!HOOK LUMA +//!BIND conv2d +//!BIND conv2d_5 +//!SAVE conv2d_6 +//!WIDTH LUMA.w 1.0 * +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#ifdef GL_EXT_shader_explicit_arithmetic_types_float16 +# define V4 f16vec4 +# define M4 f16mat4 +# define F float16_t +#else +# define V4 vec4 +# define M4 mat4 +# define F float +#endif + +const ivec2 ksize = ivec2(3, 3); +const ivec2 offset = ksize / 2; +const ivec2 isize = ivec2(gl_WorkGroupSize) + ksize - 1; +shared V4 inp[8][isize.y][isize.x]; +void hook() { + ivec2 base = ivec2(gl_WorkGroupID) * ivec2(gl_WorkGroupSize); + for (uint y = gl_LocalInvocationID.y; y < isize.y; y += gl_WorkGroupSize.y) { + for (uint x = gl_LocalInvocationID.x; x < isize.x; x += gl_WorkGroupSize.x) { + inp[0][y][x] = V4(conv2d_5_mul * texelFetch(conv2d_5_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(0, 0), 0) + conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(0, 0), 0)); + inp[1][y][x] = V4(conv2d_5_mul * texelFetch(conv2d_5_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(1, 0), 0) + conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(1, 0), 0)); + inp[2][y][x] = V4(conv2d_5_mul * texelFetch(conv2d_5_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(2, 0), 0) + conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(2, 0), 0)); + inp[3][y][x] = V4(conv2d_5_mul * texelFetch(conv2d_5_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(3, 0), 0) + conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(3, 0), 0)); + inp[4][y][x] = V4(conv2d_5_mul * texelFetch(conv2d_5_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(4, 0), 0) + conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(4, 0), 0)); + inp[5][y][x] = V4(conv2d_5_mul * texelFetch(conv2d_5_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(5, 0), 0) + conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(5, 0), 0)); + inp[6][y][x] = V4(conv2d_5_mul * texelFetch(conv2d_5_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(6, 0), 0) + conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(6, 0), 0)); + inp[7][y][x] = V4(conv2d_5_mul * texelFetch(conv2d_5_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(7, 0), 0) + conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(7, 0), 0)); + } + } + + barrier(); + V4 result0 = V4(0.024332196, 0.027890053, 0.015494279, 0.016373875); + result0 += M4(-0.006710672, 0.10819825, 0.10657426, 0.121869884, 0.025277061, -0.08890546, 0.13596319, -0.027210604, 0.11416734, -0.10976065, 0.025073212, -0.12764436, -0.09484653, 0.12168227, 0.032338645, -0.07086558) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.080231845, 0.041402802, 0.099971466, -0.008647712, 0.07844788, -0.07943739, 0.08147172, 0.0788801, 0.12932019, 0.12981597, 0.117202364, 0.04055169, -0.060325406, -0.03475144, -0.108370595, -0.11363518) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.080192536, -0.017889569, -0.0064460984, -0.06696428, 0.080490634, -0.05546327, -0.11690986, -0.07888482, 0.12720379, -0.020063436, 0.069880545, 0.13812047, -0.12683728, -0.0171501, 0.054349907, -0.052623987) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.11765887, 0.078459986, 0.046103798, -0.11227527, -0.11008721, 0.04433821, -0.11669834, -0.07897192, -0.06989865, -0.027661398, 0.10944971, -0.0013382061, 0.14258613, -0.06983092, -0.116013855, 0.16695975) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.022626203, -0.114210404, 0.10560931, -0.07228, -0.07698427, 0.0022480823, -0.017202422, -0.009761992, 0.13241181, -0.047580317, -0.13362494, 0.029388865, -0.030412393, -0.09364824, -0.06483027, 0.0003325324) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.025818298, -0.12567253, 0.030373678, 0.045762517, 0.10901701, -0.07701056, 0.04559262, -0.037811738, 0.04022117, -0.059237994, -0.09312746, 0.119778536, -0.08168876, 0.042113364, 0.07221957, -0.036318004) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.13170034, 0.0656528, 0.043564245, -0.0636066, -0.054903667, 0.07990299, 0.11609635, -0.0352888, -0.020488242, -0.06845429, 0.08058064, 0.0013488773, 0.10529079, 0.09782611, 0.15135156, 0.18203229) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.10523215, -0.1459082, 0.0853668, -0.047894467, -0.07931036, -0.08851267, -0.019642526, 0.03679236, 0.10392002, -0.09171063, 0.13560952, 0.03453783, 0.0633279, -0.058131102, -0.048016973, 0.031710938) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.019861273, -0.064092435, 0.041742355, -0.016603328, -0.10051236, 0.08838123, 0.042477183, 0.06702887, -0.030780273, -0.105108425, -0.039323624, 0.1314233, 0.018433986, 0.04474921, 0.01597495, -0.07224123) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.051710833, -0.06724883, -0.071763754, 0.005004278, 0.07806602, 0.012768872, -0.0096296435, 0.025604242, 0.06131592, 0.1364236, 0.036816094, 0.070851825, 0.09257616, 0.036888454, 0.018328179, -0.06820204) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.14497851, -0.056553476, -0.030701663, 0.0986112, -0.057493918, -0.009646267, -0.055261977, 0.047252905, 0.067193136, -0.08944045, 0.07775158, -0.08988222, -0.13941595, 0.007352336, -0.04751652, 0.04456369) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.0851253, -0.03156393, 0.02710076, 0.13900077, 0.039868962, 0.057358436, 0.057019487, 0.095474504, 0.09108698, 0.1449051, -0.058969073, 0.16053016, -0.14412206, -0.0012964082, -0.077745385, -0.09903667) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.03367852, -0.044748414, 0.07964608, 0.010960478, 0.06025874, 0.033652674, 0.04152843, -0.017580548, 0.045098636, -0.034885094, 0.050778005, -0.0848392, 0.0035125874, -0.056173045, 0.093170755, -0.09119204) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.11723456, 0.050840918, 0.10745895, -0.08094769, 0.09047693, -0.13055825, 0.073278144, -0.025213389, 0.15354241, -0.0035593838, -0.028231034, 0.08375466, 0.036006298, -0.10471177, -0.13691142, 0.07213895) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.112036616, 0.08674586, 0.09014681, -0.043824777, 0.013251182, -0.04812275, -0.115137085, -0.017566465, -0.047301505, 0.09536501, -0.10819733, 0.16084617, 0.09856737, 0.0061373473, -0.14974537, -0.11383502) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.056016967, -0.04915487, 0.12933904, -0.09473493, -0.06609004, 0.042119008, -0.08838664, -0.025963169, -0.072978586, 0.13777608, 0.008948696, 0.053440217, -0.12426079, 0.03400561, -0.1429012, -0.1390262) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.03350481, -0.08000013, 0.03714285, -0.06897109, -0.050985653, 0.019555073, 0.06314639, -0.044453688, 0.109778054, 0.13156785, -0.025921397, 0.062934674, 0.012499731, -0.07981995, 0.01000116, -0.15340354) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.031019023, 0.07389943, 0.09847652, -0.04417276, -0.104056194, 0.02175672, 0.0320549, -0.03858413, -0.020621315, -0.06512883, -0.052621383, -0.06936152, -0.080317155, -0.07204538, 0.025868552, -0.14942594) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.04608968, 0.0040410273, -0.07665788, 0.020088613, -0.11267263, 0.032073364, 0.056263003, -0.030996138, -0.14928663, 0.03708502, 0.07262946, -0.0264557, -0.014090576, -0.034009222, -0.027032133, -0.13241303) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.13648278, -0.062014904, -0.15131108, -0.11321863, -0.05088156, -0.022415351, -0.0068385606, 0.03962251, -0.13985574, -0.0514407, 0.061428037, -0.00055272545, -0.0071866736, 0.00882712, -0.040818002, 0.073940575) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.04512339, 0.012584853, 0.11552134, -0.07305908, 0.1100757, -0.11626963, -0.049973026, -0.05585647, 0.07903468, -0.058530193, -0.029089991, -0.073072895, 0.020355307, 0.060374342, -0.06001928, 0.0534806) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.021455918, 0.026797218, 0.09101826, -0.07623289, 0.007903418, 0.062276054, -0.0011424143, 0.124615386, 0.05897873, 0.041363213, 0.074513875, -0.06444271, -0.015417732, -0.0058667557, -0.06024877, -0.12692757) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.028936762, -0.06328201, -0.06426441, 0.10680767, -0.15971036, 0.038861603, -0.053866457, -0.014664326, -0.048359435, -0.05465547, -0.06373442, 0.011250136, 0.04141148, -0.08220522, 0.08109823, -0.032798376) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.08945093, 0.12442138, -0.1707947, 0.05647203, -0.0004306513, -0.07041601, 0.014339759, -0.043511342, 0.039874226, 0.015516885, -0.084379375, -0.034052704, 0.0900045, -0.13235609, -0.08580213, 0.08999805) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.017412994, 0.11014566, 0.12253012, 0.005026838, 0.059158478, -0.073611684, -0.029981725, 0.09708247, 0.05958697, -0.060908318, -0.13897473, 0.020813474, -0.00079079793, 0.03715904, 0.015075314, 0.06690295) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.07790429, -0.007948237, 0.045086678, 0.0012081859, -0.018257523, 0.048969883, 0.019101735, 0.068658106, -0.0078714555, -0.045695495, -0.11741989, -0.13802846, 0.09428725, -0.043539643, 0.15167883, 0.0035436044) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.025892327, -0.04911562, 0.06134737, 0.031868502, -0.007445753, 0.11122707, 0.05307498, -0.029006518, 0.05033624, -0.026253862, 0.05013779, -0.11285227, -0.06953401, 0.10310922, -0.100386016, 0.05620094) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.077580586, 0.054001298, 0.04505884, 0.013187809, 0.11572828, -0.13088605, 0.00025114065, 0.091532834, -0.091472015, 0.12651305, 0.1420044, 0.08917988, 0.093849905, -0.041656155, -0.07580995, 0.006666356) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.010974683, 0.0811231, -0.08476847, 0.09136333, -0.111957, -0.097541735, -0.040693738, -0.026490033, -0.07881557, 0.020027341, 0.09265154, 0.0007222933, 0.081538305, -0.094166934, 0.043200314, -0.08018527) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.015268724, -0.023986578, -0.048922077, 0.008354022, -0.064828925, 0.021863561, -0.0064881397, 0.08558727, 0.012093727, 0.08320732, -0.088256896, -0.06632737, 0.0629199, 0.015809372, 0.09720273, -0.02780842) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.0021121064, 0.0024316027, -0.0855794, -0.15333039, 0.12999487, 0.012510921, -0.0743608, -0.073245935, -0.015078744, -0.092976175, 0.08323451, -0.11860701, -0.014579873, 0.12654348, 0.10828954, 0.056970198) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.14076942, -0.052552056, -0.04356804, -0.119661056, 0.04080093, -0.07755867, -0.14533839, -0.042499367, 0.09872452, -0.024616094, -0.07879379, 0.009326565, -0.08557512, 0.16130392, -0.014894024, 0.11193866) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.011582243, 0.025277583, 0.16442522, 0.08464369, 0.069308594, -0.059400007, -0.0972484, 0.038412612, 0.13191514, 0.029828457, -0.04067329, -0.009766925, 0.0893264, 0.15686433, 0.13095218, 0.08013446) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.09640978, 0.0041219974, 0.13953476, -0.016952137, -0.06293245, 0.07169512, -0.022097226, -0.062293574, -0.054663412, -0.10017026, -0.07848903, 0.051152296, 0.036405347, -0.068401374, 0.052168228, -0.07608599) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.075839736, -0.03342491, 0.045058906, 0.06868252, -0.022798495, 0.09332825, -0.05910386, -0.10841459, 0.011498118, -0.058387827, -0.021310626, 0.088923134, 0.12806393, -0.09491371, 0.13367067, -0.04115069) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.061864167, -0.06401489, -0.12824342, 0.03193039, 0.09361337, -0.10366194, -0.10764634, 0.116666175, -0.016320568, 0.018465318, -0.0063566663, -0.043671858, 0.01181521, -0.05712085, 0.034126844, -0.07909593) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.05267128, 0.038643535, 0.03953734, -0.028213546, -0.01433346, -0.012686865, 0.030689731, 0.09652594, -0.093040206, 0.008205053, -0.13150544, -0.045237422, -0.10264257, 0.00019004362, 0.12245579, 0.09666482) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.015597643, 0.006721611, -0.038910042, 0.08337514, -0.052653354, -0.082745574, -0.10210213, 0.002103484, -0.08992084, -0.038731303, 0.09879766, 0.11236482, 0.13682629, 0.0015712297, 0.1378842, -0.09553678) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.060090218, 0.034135595, -0.06558718, -0.04162944, 0.07787922, 0.015487257, -0.066858485, 0.06887979, -0.022944927, -0.03128469, 0.113207266, 0.058334786, 0.04711753, 0.046241153, 0.00753094, 0.044930726) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.129992, 0.05922731, 0.054760225, -0.03554741, 0.04470233, 0.028254455, -0.09044389, -0.03415067, 0.0627537, 0.022094734, 0.029697303, -0.08838058, 0.10013191, -0.003320103, 0.028718641, 0.09081079) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.105082385, -0.11749798, 0.13642989, 0.021657152, -0.0017786543, 0.08864365, 0.049450178, -0.14033931, -0.024840653, -0.077470765, 0.02126161, 0.05252793, 0.015087027, 0.048363503, -0.10751626, 0.141214) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.026552299, 0.0052369824, -0.05744235, 0.07066289, 0.028424393, -0.07709075, -0.09234827, 0.0005205027, 0.038383983, 0.07076435, 0.072595924, 0.029487329, -0.07443678, 0.122239396, 0.12605809, -0.074149884) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.08104709, 0.06649468, 0.079389736, -0.05206354, 0.017761825, 0.08028337, 0.027072009, -0.0015500056, 0.05290546, 0.095498785, -0.06530074, 0.04247793, -0.03144845, 0.06496069, 0.13665034, 0.12020083) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.011451294, -0.13136815, -0.15400143, 0.05162515, -0.058330655, -0.076598294, 0.12526475, -0.031833384, 0.10074778, -0.02737285, -0.05431436, -0.21748076, 0.13562876, 0.09417703, -0.062829904, 0.040828437) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.06120201, -0.023276187, 0.029930884, -0.058546357, -0.04502094, 0.06428284, 0.11397174, 0.017069966, 0.04136445, -0.013916056, -0.089675, -0.011678936, 0.04906112, 0.11839074, 0.045486692, 0.08760997) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.14683284, 0.07353772, 0.042218335, 0.0042251316, 0.029141221, -0.08240289, -0.17113847, 0.015555399, 0.045853753, 0.08192045, 0.010666003, 0.044956427, 0.06320903, 0.07120572, -0.0038742921, -0.08183106) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.09951885, 0.10843651, 0.0048064836, 0.06093788, 0.0015264805, 0.0033635586, 0.026600003, 0.03226541, 0.07722241, -0.08972728, 0.05736983, -0.011373007, 0.043598108, 0.0941322, -0.044599567, 0.07213255) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.059985578, -0.08580081, 0.078689024, -0.106579326, -0.046917964, 0.07644787, 0.108420864, 0.09130348, 0.07564788, -0.04791974, -0.05420803, -0.06870644, -0.092679664, 0.085856445, -0.03555799, -0.024324019) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.011868116, 0.13456446, 0.058174092, 0.18865576, -0.05372018, -0.08078464, -0.09846664, -0.037639324, -0.12342844, 0.005284944, -0.04190624, 0.1529369, -0.040111713, -0.07289829, -0.03153637, 0.06588927) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.1426056, -0.04272239, -0.050520554, -0.059382442, 0.059854552, -0.056830693, 0.02879342, -0.06389006, 0.11790221, -0.06775044, -0.07592776, -0.013444097, -0.07941139, -0.13535194, -0.019959867, -0.036759112) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.04723031, -0.06269766, 0.0022022699, 0.031984907, -0.02446148, 0.06565831, 0.05181914, -0.11016949, 0.0008516823, -0.080314174, 0.0153174205, -0.024145512, 0.09324116, 0.04254904, -0.03486878, 0.039789803) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.017154627, -0.08333423, 0.025345277, 0.074755214, -0.019358627, 0.04048235, 0.06510684, 0.09906411, -0.19977222, -0.008072648, -0.024245445, -0.05534184, -0.06553802, -0.03052696, -0.026596785, -0.00615155) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.010410333, -0.0343796, 0.017938064, -0.12350803, 0.042722203, -0.032559033, 0.055957846, 0.06390068, -0.020984953, 0.062293433, 0.10768917, 0.021160271, 0.030629314, -0.09577217, 0.11386064, 0.015131414) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.0153262075, -0.065030254, -0.16276166, -0.021482741, 0.011492901, 0.08376618, -0.07352633, -0.106813535, 0.024947394, 0.12215677, 0.0064980127, -0.03113036, 0.0831491, 0.04177188, 0.08198766, -0.06563649) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.04512963, -0.09670489, 0.108197, 0.08166539, 0.09153439, -0.0041670348, -0.07299372, 0.0717406, 0.04366148, -0.061015286, -0.010372106, 0.14122725, 0.093957454, 0.010466939, 0.046854213, 0.03848025) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.09720875, 0.11263628, -0.06913729, 0.14561757, -0.04827889, 0.0060141818, 0.059929077, 0.0009016341, 0.15528698, 0.023272365, -0.006867064, -0.020450626, 0.07815676, -0.019211087, -0.047088522, 0.010952628) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.11914094, 0.021652265, 0.12146005, 0.057280503, -0.06221825, 0.024388587, 0.113126524, 0.07874618, 0.08361234, 0.102074854, 0.1044363, 0.078054905, 0.025823556, 0.07699644, -0.014410769, 0.10180511) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.0711233, -0.08020415, 0.0036274323, 0.05900797, -0.033104885, -0.013175366, 0.011784655, 0.030028287, -0.06003858, 0.0429968, -0.017514052, 0.07700261, 0.024906386, -0.033061728, -0.05297299, 0.01630108) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.09560826, 0.10603009, -0.065597355, -0.06194091, 0.0114972945, -0.10189798, 0.06329802, -0.15743783, 0.0014020745, -0.12786289, -0.08529752, -0.041888364, -0.14784755, -0.10057494, -0.073116876, 0.026817983) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.021014174, -0.16390173, -0.042803206, -0.11574508, -0.006506324, -0.10589054, 0.043100428, -0.10600564, -0.10814442, 0.011551233, 0.027930772, -0.100139916, 0.10351467, -0.024557948, 0.1081109, -0.046822164) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.036308594, 0.055407073, -0.019521035, 0.0060693063, 0.008207976, 0.06799936, -0.08421482, 0.053203605, -0.1001066, 0.12608531, -0.054803472, -0.02659383, 0.03071786, -0.0012858112, 0.09364783, -0.06995948) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.08623435, -0.07804446, -0.036668018, -0.19589001, -0.041365903, 0.12268608, 0.0124511765, 0.09250411, 0.010830903, -0.07444115, -0.07049862, -0.017241728, -0.0917488, -0.07399329, -0.06711326, -0.068555646) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.03218889, 0.08442868, 0.017074348, 0.068883024, 0.045661006, -0.12530427, -0.11518121, 0.07997431, -0.006032728, -0.035444323, -0.008978089, -0.019196173, -0.020756707, 0.08010469, 0.034049418, -0.03639271) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.018905973, 0.1415685, 0.003898159, 0.076616995, -0.032944206, 0.12567292, -0.04161813, 0.0108458605, -0.01616077, -0.06334155, 0.02942931, -0.014446954, -0.029505428, 0.059518382, 0.05104441, -0.08539159) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.045467917, 0.057396617, 0.10812974, -0.03210309, -0.035897736, 0.10164431, 0.030502422, 0.0382147, -0.051511858, 0.12266079, 0.026877636, -0.021461876, 0.059394266, 0.06967532, -0.05598733, -0.07699448) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.012975825, 0.069637775, 0.0051551745, -0.020927003, -0.004539026, -0.10754023, -0.056129698, 0.015924113, 0.040113535, -0.05745693, -0.06389068, -0.07168417, 0.0022833387, -0.0629351, 0.09910774, 0.06356649) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.0151594, 0.031326655, 0.06911758, -0.08433926, -0.060209826, 0.06967554, 0.016329456, -0.098044306, 0.1733242, -0.023159878, -0.035384506, 0.024726085, 0.091182895, 0.070071995, -0.03650149, 0.10205691) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.05310989, 0.15889364, -0.11386726, -0.045727987, -0.019352138, -0.003314156, -0.07612862, 0.021138493, 0.030946285, 0.08839936, -0.09617174, 0.042511895, 0.074900925, -0.05446484, -0.0979616, -0.0758873) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.10301069, -0.071659915, 0.14405948, -0.056097623, -0.07272917, 0.016589085, -0.11329532, 0.12343735, -0.075624675, -0.07764027, 0.12390483, 0.06178329, -0.07062249, 0.10067397, 0.040892098, 0.103458814) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.06119077, -0.081706144, 0.12907842, -0.090091735, -0.019620525, -0.091297306, 0.08820094, 0.11676135, -0.008345123, 0.08562112, -0.02700248, -0.05556094, -0.017121539, -0.03872028, -0.07627159, -0.08630841) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.050093785, 0.03171393, 0.116603464, -0.058734518, -0.013041671, -0.056675114, 0.118156955, 0.06779944, -0.012520049, -0.07422018, 0.12603906, -0.013609811, 0.011059942, -0.12096396, 0.0076767323, -0.04380886) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.13911876, -0.031045062, -0.03623802, 0.058921527, -0.027579332, -0.010677776, 0.016218718, -0.048369877, -0.08673656, 0.007987631, -0.08386395, 0.038887206, -0.104342535, -0.05434241, 0.0796653, 0.10178565) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos0 = ivec2(gl_GlobalInvocationID) * ivec2(1, 1) + ivec2(0, 0); + imageStore(out_image, store_pos0, result0); +} + +//!DESC [Ani4Kv2_ArtCNN_C4F32_i2_CMP] (Depth-To-Space) +//!COMPUTE 16 16 16 16 +//!HOOK LUMA +//!BIND conv2d_6 +//!WIDTH LUMA.w 2.0 * +//!HEIGHT LUMA.h 2.0 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#ifdef GL_EXT_shader_explicit_arithmetic_types_float16 +# define V4 f16vec4 +# define M4 f16mat4 +# define F float16_t +#else +# define V4 vec4 +# define M4 mat4 +# define F float +#endif + +void hook() { + vec4 result = vec4(0.0, 0.0, 0.0, 1.0); + vec2 f0 = fract(conv2d_6_pos * conv2d_6_size); + ivec2 i0 = ivec2(f0 * vec2(2.0)); + result.x = conv2d_6_tex((vec2(0.5) - f0) * conv2d_6_pt + conv2d_6_pos)[i0.y * 2 + i0.x]; + imageStore(out_image, ivec2(gl_GlobalInvocationID), clamp(result, 0.0, 1.0)); +} + diff --git a/shaders/Ani4K/AniSD_ArtCNN_C4F32_i4.glsl b/shaders/Ani4K/AniSD_ArtCNN_C4F32_i4.glsl new file mode 100644 index 0000000..830e78d --- /dev/null +++ b/shaders/Ani4K/AniSD_ArtCNN_C4F32_i4.glsl @@ -0,0 +1,4046 @@ +// AniSD ArtCNN - trained by Sirosky and distributed on the CC BY-NC 4.0 license. +// The ArtCNN architecture is further subject to the below license. + +// MIT License + +// Copyright (c) 2024 Joao Chrisostomo + +// 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. + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D) +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d_0 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.013978721, 0.0031982274, -0.00406756, 0.01177468); + result += vec4(-0.06260866, 0.082763985, 0.14164732, -0.053588256) * LUMA_texOff(vec2(-1, -1)).x; + result += vec4(-0.09699689, -0.027224675, 0.021248084, -0.023265827) * LUMA_texOff(vec2(0, -1)).x; + result += vec4(0.020285383, -0.011549137, 0.01538485, 0.15310518) * LUMA_texOff(vec2(1, -1)).x; + result += vec4(-0.110058516, -0.12534232, -0.056161627, -0.054789178) * LUMA_texOff(vec2(-1, 0)).x; + result += vec4(-0.013677861, -0.0032800715, -0.008504447, -0.0106763) * LUMA_texOff(vec2(0, 0)).x; + result += vec4(-0.109512135, 0.07647615, 0.012072265, 0.015106865) * LUMA_texOff(vec2(1, 0)).x; + result += vec4(-0.034681413, 0.016010936, -0.06279752, -0.101619415) * LUMA_texOff(vec2(-1, 1)).x; + result += vec4(0.115545586, -0.10168375, 0.14183502, 0.02548805) * LUMA_texOff(vec2(0, 1)).x; + result += vec4(0.01416855, -0.0008652157, -0.021325836, 0.037982244) * LUMA_texOff(vec2(1, 1)).x; + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D) +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d_1 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0042411904, 0.004277534, -0.013120737, 0.0027991557); + result += vec4(-0.11594862, 0.02705099, 0.14033581, -0.074022576) * LUMA_texOff(vec2(-1, -1)).x; + result += vec4(0.116293706, 0.046568174, 0.1394961, -0.14125156) * LUMA_texOff(vec2(0, -1)).x; + result += vec4(-0.04989585, -0.0828565, 0.04881033, 0.03178709) * LUMA_texOff(vec2(1, -1)).x; + result += vec4(0.016412597, -0.10743466, 0.024738258, -0.10375271) * LUMA_texOff(vec2(-1, 0)).x; + result += vec4(0.100310855, 0.06670079, -0.11601908, -0.07392482) * LUMA_texOff(vec2(0, 0)).x; + result += vec4(0.03984705, -0.0096552335, 0.14489032, -0.10833145) * LUMA_texOff(vec2(1, 0)).x; + result += vec4(0.04296173, 0.07297119, 0.046887636, -0.0297815) * LUMA_texOff(vec2(-1, 1)).x; + result += vec4(-0.060959492, -0.027501214, 0.1303518, -0.13515003) * LUMA_texOff(vec2(0, 1)).x; + result += vec4(0.07429501, 0.010965697, 0.04649, 0.06157589) * LUMA_texOff(vec2(1, 1)).x; + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D) +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d_2 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0024795982, -0.008282674, 0.01554379, 0.014000561); + result += vec4(0.013022686, -0.13729435, -0.010445361, 0.024342334) * LUMA_texOff(vec2(-1, -1)).x; + result += vec4(0.0742076, 0.06981985, 0.009131572, -0.0888716) * LUMA_texOff(vec2(0, -1)).x; + result += vec4(0.036306072, 0.11762731, -0.05186239, 0.016985675) * LUMA_texOff(vec2(1, -1)).x; + result += vec4(-0.010559445, -0.14884269, 0.063748084, -0.11451124) * LUMA_texOff(vec2(-1, 0)).x; + result += vec4(0.04135019, -0.11892858, -0.032825522, 0.08911688) * LUMA_texOff(vec2(0, 0)).x; + result += vec4(0.0948156, 0.14426383, 0.012893541, 0.0058735134) * LUMA_texOff(vec2(1, 0)).x; + result += vec4(-0.020029929, 0.11136897, -0.028878719, 0.109275356) * LUMA_texOff(vec2(-1, 1)).x; + result += vec4(-0.14923672, -0.08768057, -0.099280015, -0.030968973) * LUMA_texOff(vec2(0, 1)).x; + result += vec4(-0.07608398, 0.063041, -0.10544221, -0.080536954) * LUMA_texOff(vec2(1, 1)).x; + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D) +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d_3 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.002182056, 0.006310906, -0.007791593, -0.005081797); + result += vec4(-0.12475879, -0.11718962, 0.09985407, -0.019534342) * LUMA_texOff(vec2(-1, -1)).x; + result += vec4(0.029629165, 0.09462139, -0.0680067, 0.13870773) * LUMA_texOff(vec2(0, -1)).x; + result += vec4(-0.02313818, 0.024657542, -0.04665924, -0.08719772) * LUMA_texOff(vec2(1, -1)).x; + result += vec4(0.058056727, -0.06617239, 0.07205129, 0.10497648) * LUMA_texOff(vec2(-1, 0)).x; + result += vec4(0.1788897, 0.0009254218, -0.042583827, 0.027515013) * LUMA_texOff(vec2(0, 0)).x; + result += vec4(-0.1344009, -2.5660804e-05, -0.11867892, 0.098130755) * LUMA_texOff(vec2(1, 0)).x; + result += vec4(-0.04432908, -0.14196847, -0.16525033, -0.10226216) * LUMA_texOff(vec2(-1, 1)).x; + result += vec4(0.028377859, -0.09404305, 0.12957275, 0.13308458) * LUMA_texOff(vec2(0, 1)).x; + result += vec4(0.0356926, 0.05010477, 0.1536443, 0.04134981) * LUMA_texOff(vec2(1, 1)).x; + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D) +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d_4 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.002427759, -0.0032887238, 0.0003240174, -0.0014591495); + result += vec4(-0.15028566, 0.18225344, 0.13219613, 0.050297726) * LUMA_texOff(vec2(-1, -1)).x; + result += vec4(0.08042322, -0.02087564, -0.09474448, 0.07754841) * LUMA_texOff(vec2(0, -1)).x; + result += vec4(-0.16028786, 0.11312182, 0.12515414, 0.07619896) * LUMA_texOff(vec2(1, -1)).x; + result += vec4(0.08674672, -0.095186844, -0.006784192, 0.06623582) * LUMA_texOff(vec2(-1, 0)).x; + result += vec4(0.033118956, -0.10453986, -0.12972914, 0.15729931) * LUMA_texOff(vec2(0, 0)).x; + result += vec4(0.095563754, -0.09031441, -0.10949225, 0.07216112) * LUMA_texOff(vec2(1, 0)).x; + result += vec4(0.06390575, 0.015591018, 0.118863635, 0.119465075) * LUMA_texOff(vec2(-1, 1)).x; + result += vec4(0.05376685, -0.030794805, 0.100771636, 0.14795654) * LUMA_texOff(vec2(0, 1)).x; + result += vec4(-0.10094857, 0.0366277, -0.13553415, -0.11201839) * LUMA_texOff(vec2(1, 1)).x; + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D) +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d_5 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.001394779, -0.0072305053, -0.0030902666, -0.0069876867); + result += vec4(-0.056897268, 0.0708558, -0.1085677, 0.11055367) * LUMA_texOff(vec2(-1, -1)).x; + result += vec4(-0.13106574, 0.068432495, 0.02279089, -0.07824431) * LUMA_texOff(vec2(0, -1)).x; + result += vec4(0.0063514807, 0.07062718, -0.08329046, 0.05606946) * LUMA_texOff(vec2(1, -1)).x; + result += vec4(0.0064052027, -0.020656021, 0.08378912, 0.031368513) * LUMA_texOff(vec2(-1, 0)).x; + result += vec4(-0.08319203, -0.13002487, -0.0448469, -0.11016698) * LUMA_texOff(vec2(0, 0)).x; + result += vec4(0.056535464, 0.001522267, 0.02288951, -0.10872341) * LUMA_texOff(vec2(1, 0)).x; + result += vec4(0.05807748, 0.06568853, 0.0070188497, 0.0456562) * LUMA_texOff(vec2(-1, 1)).x; + result += vec4(-0.010281286, -0.029829085, 0.004351042, 0.1035671) * LUMA_texOff(vec2(0, 1)).x; + result += vec4(0.14473234, -0.09231029, 0.10187594, -0.040507786) * LUMA_texOff(vec2(1, 1)).x; + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D) +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d_6 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0080422275, 0.009037509, 0.010156446, 0.011443132); + result += vec4(0.0066208327, -0.11260479, 0.04830371, 0.049707055) * LUMA_texOff(vec2(-1, -1)).x; + result += vec4(-0.120107174, 0.050798908, -0.1463938, -0.12429945) * LUMA_texOff(vec2(0, -1)).x; + result += vec4(-0.07376781, -0.12456761, -0.018031595, -0.10637738) * LUMA_texOff(vec2(1, -1)).x; + result += vec4(-0.026657827, 0.02006576, 0.08417361, 0.118596874) * LUMA_texOff(vec2(-1, 0)).x; + result += vec4(-0.043339457, 0.12896782, 0.10156586, -0.12109) * LUMA_texOff(vec2(0, 0)).x; + result += vec4(0.13702823, 0.004683143, -0.11548332, 0.14971596) * LUMA_texOff(vec2(1, 0)).x; + result += vec4(-0.03141364, -0.042994354, -0.09071766, 0.081247814) * LUMA_texOff(vec2(-1, 1)).x; + result += vec4(0.03361517, 0.016852874, -0.038877808, 0.0032291883) * LUMA_texOff(vec2(0, 1)).x; + result += vec4(0.110981084, 0.0138866035, 0.10443184, -0.067183435) * LUMA_texOff(vec2(1, 1)).x; + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D) +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d_7 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.012365459, 0.00826808, 0.013948916, -0.015842063); + result += vec4(0.12346209, -0.0016275266, 0.09607402, 0.059844337) * LUMA_texOff(vec2(-1, -1)).x; + result += vec4(0.03911992, -0.05424452, -0.031176982, -0.15148336) * LUMA_texOff(vec2(0, -1)).x; + result += vec4(0.12780531, 0.017826343, -0.10154654, -0.053268697) * LUMA_texOff(vec2(1, -1)).x; + result += vec4(0.06311205, -0.10683569, -0.046949495, -0.0019249945) * LUMA_texOff(vec2(-1, 0)).x; + result += vec4(0.027781257, 0.10045284, 0.080609575, 0.09789442) * LUMA_texOff(vec2(0, 0)).x; + result += vec4(0.08038794, 0.104880646, 0.13838705, -0.0011057177) * LUMA_texOff(vec2(1, 0)).x; + result += vec4(0.036436137, -0.11746025, -0.123186596, 0.100112535) * LUMA_texOff(vec2(-1, 1)).x; + result += vec4(-0.03413955, -0.02780014, 0.083691984, -0.048387755) * LUMA_texOff(vec2(0, 1)).x; + result += vec4(0.0043313275, 0.019878542, -0.1259369, 0.028067157) * LUMA_texOff(vec2(1, 1)).x; + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-1-ReLU) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_1 +//!BIND conv2d_2 +//!BIND conv2d_3 +//!BIND conv2d_4 +//!BIND conv2d_5 +//!BIND conv2d_6 +//!BIND conv2d_7 +//!SAVE conv2d_1_0 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.026006414, -0.0028226124, 0.0040266206, 0.0070237666); + result += mat4(0.077940084, 0.033206068, 0.042917658, 0.035930313, 0.20162073, 0.013023307, -0.027915772, 0.11971512, -0.23718762, -0.0728541, -0.06932467, 0.037109192, -0.033500906, -0.100404225, -0.046477325, -0.02887065) * conv2d_0_texOff(vec2(-1, -1)); + result += mat4(0.058187984, 0.039409418, 0.06827895, -0.105029754, 0.064815976, 0.03549751, 0.06082835, -0.028284416, -0.26486346, 0.037748683, -0.0788508, 0.05780628, -0.12665667, 0.1823963, -0.024215914, 0.16817258) * conv2d_0_texOff(vec2(0, -1)); + result += mat4(0.07118927, 0.040462278, -0.09163839, 0.051932186, 0.20411053, -0.05156568, -0.0722339, 0.038223766, -0.4521338, 0.005142939, -0.09197289, -0.08815807, -0.15422633, 0.0086276885, 0.100247145, -0.08066984) * conv2d_0_texOff(vec2(1, -1)); + result += mat4(-0.07715419, 0.06063353, 0.053762943, -0.003174311, 0.069803655, 0.118988186, 0.15655239, 0.0795532, -0.25642282, 0.0012356808, 0.05875401, -0.029261366, 0.01072249, -0.021336922, 0.20982938, 0.04217777) * conv2d_0_texOff(vec2(-1, 0)); + result += mat4(-0.071698196, 0.088109314, -0.039189402, 0.029513026, 0.11471397, 0.024589298, 0.041664217, 0.05160716, -0.36980578, 0.073315546, -0.042617526, 0.07353263, -0.028098129, 0.09716177, 0.116838045, 0.010979695) * conv2d_0_texOff(vec2(0, 0)); + result += mat4(-0.027965788, -0.072462015, 0.051428042, 0.030809369, 0.05345404, -0.015753852, -0.082770474, -0.0676433, -0.05971514, -0.049180083, -0.0825884, -0.049660455, 0.031364635, -0.053660635, -0.14377405, -0.11092187) * conv2d_0_texOff(vec2(1, 0)); + result += mat4(0.041862525, -0.013211729, 0.052855086, 0.10398823, 0.08074529, -0.024640104, -0.043727692, 0.12716116, 0.113547064, 0.07509082, -0.06322121, -0.07738947, 0.1815431, 0.14841576, 0.1363694, 0.021791993) * conv2d_0_texOff(vec2(-1, 1)); + result += mat4(-0.09239948, -0.009127995, 0.066610165, 0.07530418, 0.021212246, 0.029805498, 0.062551245, -0.007714251, -0.06532647, -0.12883712, 0.10572261, -0.06049368, 0.10082813, -0.0032476373, -0.023460638, 0.11436958) * conv2d_0_texOff(vec2(0, 1)); + result += mat4(0.016027132, -0.06544386, 0.07821555, -0.054339573, 0.105549134, 0.01844374, 0.041899346, 0.11177082, 0.059404485, 0.03225546, -0.04068793, -0.06531279, -0.00896203, -0.039110854, 0.01659506, 0.14692819) * conv2d_0_texOff(vec2(1, 1)); + result += mat4(-0.1720659, -0.0145995505, 0.027772062, -0.046323765, 0.030077316, -0.014540149, -0.04862702, 0.076899804, -0.23119007, 0.01975818, -0.038839776, 0.09391069, 0.22446936, -0.06189266, -0.00701919, 0.056956172) * conv2d_1_texOff(vec2(-1, -1)); + result += mat4(-0.07817074, -0.06271554, 0.001080422, 0.043004915, -0.035360765, -0.05805288, 0.12285516, -0.19017453, -0.2461398, -0.00292966, 0.092985146, -0.0007612537, 0.18338276, -0.027251527, -0.052245893, 0.08459741) * conv2d_1_texOff(vec2(0, -1)); + result += mat4(-0.2701292, 0.08483179, 0.021683808, -0.007249067, -0.05282098, -0.0009885338, -0.116335414, 0.044476416, -0.36663812, -0.021421548, 0.050665703, 0.0029572535, 0.43601957, -0.038057573, 0.011226493, -0.035508122) * conv2d_1_texOff(vec2(1, -1)); + result += mat4(-0.046453506, -0.08105078, 0.016213074, -0.063145325, -0.024530519, -0.04843882, -0.058251176, -0.05567651, -0.083427995, 0.03267013, 0.0018660392, -0.026336808, 0.014644793, 0.06254056, 0.09906934, 0.108093254) * conv2d_1_texOff(vec2(-1, 0)); + result += mat4(0.041677047, -0.03060053, 0.06287717, -0.072584935, 0.0864171, 0.17777522, 0.02584134, -0.0038482994, -0.05410583, -0.0076239184, -0.08634068, 0.07942909, 0.077022605, 0.07190742, -0.01053038, -0.021577135) * conv2d_1_texOff(vec2(0, 0)); + result += mat4(-0.026392344, 0.12008055, -0.06140617, -0.059867296, 0.0045291423, -0.03966564, -0.003868608, 0.12545969, -0.021523051, 0.047077894, -0.002874648, -0.010374782, -0.047521204, -0.06940213, -0.028435355, 0.07791801) * conv2d_1_texOff(vec2(1, 0)); + result += mat4(-0.11823597, -0.074213445, 0.060325745, 0.0010547927, -0.029275311, -0.25193813, -0.05784307, -0.06731371, 0.07763524, 0.07569746, -0.027791517, -0.04496188, 0.08017636, 0.11236496, -0.015674694, 0.06424949) * conv2d_1_texOff(vec2(-1, 1)); + result += mat4(-0.04996967, 0.004235333, -0.109936856, 0.009793592, -0.120311245, 0.19514939, 0.035585452, -0.00053158676, -0.01898764, 0.049806204, 0.053589467, -0.086508915, 0.035885278, 0.029102229, 0.063750945, 0.0022610815) * conv2d_1_texOff(vec2(0, 1)); + result += mat4(0.112126, 0.031558838, 0.02950423, 0.014375046, 0.2592506, -0.05196331, -0.055495873, 0.079601675, 0.11706458, -0.04695013, 0.045961015, 0.033700757, 0.0615085, -0.036627956, -0.022703355, -0.0040361383) * conv2d_1_texOff(vec2(1, 1)); + result += mat4(0.050412662, 0.04568925, 0.16257192, 0.27236322, 0.055493817, 0.0064286715, 0.10681478, -0.008032677, 0.020070849, -0.0031831875, -0.059001956, 0.029941805, -0.036942396, -0.065179355, -0.08793772, -0.07034015) * conv2d_2_texOff(vec2(-1, -1)); + result += mat4(0.25409797, -0.1993004, 0.18181674, 0.16592786, -0.0724305, 0.037813883, -0.118051566, 0.1106587, 0.09245331, 0.035598166, -0.062746495, 0.0412265, 0.12709014, -0.109788984, -0.0764337, 0.0127024045) * conv2d_2_texOff(vec2(0, -1)); + result += mat4(0.32679495, -0.025637228, 0.16350071, 0.12437653, -0.17687784, 0.03970159, -0.07691756, -0.032977946, 0.20582394, 0.011825331, -0.054265406, -0.078376114, 0.21542843, -0.026801387, -0.00638595, 0.048695236) * conv2d_2_texOff(vec2(1, -1)); + result += mat4(0.08389137, 0.038200352, 0.014070578, 0.08668997, 0.03767588, 0.1072005, 0.13118112, 0.041204862, 0.015994761, 0.011083661, 0.011352751, -0.050795615, 0.06739171, -0.051726006, 0.07366834, 0.0752362) * conv2d_2_texOff(vec2(-1, 0)); + result += mat4(0.1763565, 0.013980343, -0.012538759, 0.05166045, 0.13958295, 0.07543547, 0.080811284, 0.05424163, 0.06900581, -0.020838842, 0.0047308933, -0.03477567, -0.016444439, 0.08662358, 0.019932862, -0.101448044) * conv2d_2_texOff(vec2(0, 0)); + result += mat4(0.064487405, 0.20578851, -0.046549425, -0.042575326, -0.16247183, 0.08752523, -0.006663489, -0.08967282, -0.08746743, -0.0010459264, 0.018247958, 0.030473731, 0.111828126, -0.0595788, 0.05236575, 0.018691035) * conv2d_2_texOff(vec2(1, 0)); + result += mat4(-0.03536659, 0.07877052, -0.04364787, -0.029340602, 0.10983365, 0.043590486, 0.050351452, -0.057067353, 0.055614896, 0.0009996009, -0.0024249384, 0.01635326, 0.045693368, 0.034877714, -0.10860436, 0.0587022) * conv2d_2_texOff(vec2(-1, 1)); + result += mat4(0.15055361, 0.06969037, 0.019811692, 0.1359352, 0.36638635, 0.087312125, 0.08996232, -0.07826658, 0.022417096, -0.10445072, 0.03386033, 0.097490974, 0.13883528, -0.09921545, -0.024149306, -0.043621365) * conv2d_2_texOff(vec2(0, 1)); + result += mat4(0.14972168, -0.08991098, -0.014429428, 0.05569066, -0.042777583, 0.030296009, 0.02906722, -0.074568465, -0.003520513, -0.039835133, 0.07466372, -0.017689746, 0.042296156, -0.046917994, 0.0020526312, -0.07332553) * conv2d_2_texOff(vec2(1, 1)); + result += mat4(-0.04710424, -0.025686113, -0.26242116, -0.14321122, 0.38200432, 0.120090604, 0.008569797, 0.012547638, 0.08079416, 0.012724339, 0.047225848, -0.04261055, -0.1681797, 0.022967674, 0.016831243, 0.071351126) * conv2d_3_texOff(vec2(-1, -1)); + result += mat4(-0.079246484, -0.015616295, -0.087301604, -0.009396992, 0.20240128, 0.079739824, 0.07991514, 0.015777832, -0.048897143, 0.26049665, -0.10449843, 0.086646885, -0.32709342, 0.111727156, 0.08944044, 0.08133099) * conv2d_3_texOff(vec2(0, -1)); + result += mat4(-0.16140822, -0.105577044, 0.2507828, 0.20761546, 0.17965074, -0.052402552, 0.033924267, -0.017235344, -0.21838215, -0.07518121, 0.03169772, -0.031307604, -0.5330074, 0.06672062, 0.037232794, 0.011361407) * conv2d_3_texOff(vec2(1, -1)); + result += mat4(-0.035866976, -0.25630036, -0.06513687, 0.101870134, 0.12041612, -0.09737801, 0.023473013, 0.11932522, -0.036398962, 0.00874801, 0.086845726, -0.022416122, -0.028733538, 0.043891404, 0.06271666, -0.025548458) * conv2d_3_texOff(vec2(-1, 0)); + result += mat4(-0.07022688, 0.005708278, 0.090901375, -0.040928397, -0.018900314, 0.09702911, 0.06974567, 0.10941754, -0.09510435, -0.07651666, -0.1209008, -0.03650678, -0.070242986, -0.04112742, -0.0041893497, -0.03668472) * conv2d_3_texOff(vec2(0, 0)); + result += mat4(0.1361287, 0.11390106, 0.08058615, -0.07053778, -0.02367633, -0.027006872, 0.075627215, -0.028612666, 0.03269426, -0.03040985, 0.11761871, 0.025048079, 0.15706494, 0.09465012, 0.0030817194, 0.07030532) * conv2d_3_texOff(vec2(1, 0)); + result += mat4(0.09623033, -0.13570917, 0.033428516, 0.0026089135, -0.023225406, -0.060868464, -0.008764755, 0.08547829, 0.10832953, 0.040723987, 0.058437906, 0.014722109, 0.0346917, -0.013243153, -0.062022902, -0.013442834) * conv2d_3_texOff(vec2(-1, 1)); + result += mat4(-0.23218273, 0.06752206, -0.079083584, 0.06608746, 0.007609898, 0.122656174, 0.0901678, 0.005606881, 0.075787485, -0.08908938, 0.037152633, -0.071216494, -0.1688, 0.06895751, 0.04655696, 0.018787965) * conv2d_3_texOff(vec2(0, 1)); + result += mat4(0.2239949, 0.0188548, -0.14050649, -0.15288775, 0.18933657, -0.04196706, 0.007601371, 0.03609902, 0.18926722, -0.00025373095, -0.09943308, -0.016639527, -0.059059884, -0.07474384, 0.05103355, -0.08353106) * conv2d_3_texOff(vec2(1, 1)); + result += mat4(0.05628961, -0.2542224, -0.079926945, 0.055024095, -0.093466535, 0.03421317, -0.015940249, -0.056332428, -0.033354696, -0.14387396, -0.12803689, -0.13770442, -0.295495, 0.0062364344, -0.013903502, 0.028328624) * conv2d_4_texOff(vec2(-1, -1)); + result += mat4(0.07371098, -0.08677122, 0.019592103, 0.14412266, -0.046417426, 0.05618796, -0.11543095, -0.06735586, 0.16926467, -0.094400615, -0.0042882697, -0.18521553, -0.14988449, -0.084862, 0.020714043, 0.049513936) * conv2d_4_texOff(vec2(0, -1)); + result += mat4(0.060826078, 0.034613557, 0.15900104, 0.07862377, 0.028013429, -0.032161526, -0.105350494, -0.095107175, 0.3325189, 0.054979824, -0.0020716945, -0.10867134, -0.24328294, -0.05497357, 0.058822352, 0.07822619) * conv2d_4_texOff(vec2(1, -1)); + result += mat4(0.13649927, -0.20222892, -0.40618572, -0.10257527, -0.107928716, 0.27214, -0.021538066, 0.14665562, -0.07121862, 0.04070704, 0.0757865, 0.17407401, -0.09706861, -0.016008, -0.058190513, 0.0903764) * conv2d_4_texOff(vec2(-1, 0)); + result += mat4(0.10680567, 0.03678132, -0.1752303, -0.16779876, -0.023930162, 0.017032254, -0.05748626, 0.15398681, -0.15255286, -0.07249886, 0.011115575, -0.018611584, -0.10128358, 0.049493745, 0.0011502926, 0.08703362) * conv2d_4_texOff(vec2(0, 0)); + result += mat4(0.16837381, 0.17158705, -0.19802459, -0.13098319, 0.0073739686, -0.17211099, 0.1558609, 0.006741859, -0.07625415, -0.054236688, 0.050470475, -0.041921016, -0.022894228, 0.08338575, 0.05448855, 0.08758037) * conv2d_4_texOff(vec2(1, 0)); + result += mat4(-0.16008043, -0.3292224, -0.42297485, -0.25632882, 0.05195818, -0.03605335, 0.118415445, 0.16423406, 0.19168791, 0.04557918, 0.076985724, 0.059874207, -0.011754775, 0.022624053, -0.1056237, 0.04062319) * conv2d_4_texOff(vec2(-1, 1)); + result += mat4(-0.45061165, 0.22267085, -0.057147622, -0.10537132, 0.28056347, -0.08718666, 0.07234985, 0.053528536, 0.27446955, -0.1946446, 0.14490293, -0.0010806147, -0.026422385, -0.043037795, -0.07920457, 0.0020234548) * conv2d_4_texOff(vec2(0, 1)); + result += mat4(0.04252658, -0.018624838, 0.011776994, -0.08284015, 0.20110814, 0.032166637, 0.13974524, 0.20804, -0.15642044, 0.050376926, -0.067283995, -0.01592689, 0.068382666, -0.0072861845, 0.052366577, -0.008378462) * conv2d_4_texOff(vec2(1, 1)); + result += mat4(-0.015321244, 0.17668177, 0.0299631, 0.08029069, 0.12612225, -0.0414416, 0.0003356985, -0.072777346, 0.011616888, 0.14121047, 0.04567536, 0.021110602, -0.044444624, -0.13232233, 0.02681352, 0.053111374) * conv2d_5_texOff(vec2(-1, -1)); + result += mat4(-0.14542979, -0.14134578, -0.14129066, -0.115254626, 0.05373955, -0.1267935, 0.07658613, -0.054430358, 0.022099754, 0.047081247, -0.18350962, 0.118304916, -0.06849472, 0.019348811, 0.03712972, -0.08099451) * conv2d_5_texOff(vec2(0, -1)); + result += mat4(-0.33019167, -0.011468907, -0.03796456, -0.15085346, 0.043654855, 0.13985094, -0.04654352, -0.03304935, -0.14384584, -0.12066565, -0.08275793, -0.030662388, -0.12087791, -0.053712573, -0.0736237, 0.026281118) * conv2d_5_texOff(vec2(1, -1)); + result += mat4(0.14049257, 0.29792294, 0.018574769, 0.050451826, 0.01982764, 0.0798444, 0.010372247, 0.08932301, 0.081173904, 0.12505037, 0.04857234, 0.01490648, -0.16474107, 0.018852826, 0.07895687, 0.113043316) * conv2d_5_texOff(vec2(-1, 0)); + result += mat4(0.16132182, -0.07143381, -0.04555354, -0.13744704, 0.08502387, -0.01884286, -0.02154249, 0.15047224, 0.042528078, -0.18873882, -0.11006615, -0.18352295, -0.10548032, -0.13587129, -0.018806998, -0.09015126) * conv2d_5_texOff(vec2(0, 0)); + result += mat4(0.084339134, -0.026388075, -0.11633158, -0.12182968, -0.05464903, 0.006912537, -0.046364155, 0.14193837, -0.048886348, 0.068257935, 0.11357481, -0.07549473, -0.08842083, 0.03564314, 0.08758901, -0.069903694) * conv2d_5_texOff(vec2(1, 0)); + result += mat4(0.1344369, 0.29337692, 0.03016886, -0.017619727, -0.0636602, -0.08078972, 0.064945385, 0.0841199, 0.036771104, 0.118473165, -0.041855935, -0.16188368, -0.04458774, -0.03134333, 0.0673674, 0.015880227) * conv2d_5_texOff(vec2(-1, 1)); + result += mat4(0.12698407, -0.18709527, -0.06540263, -0.07417053, 0.084409766, -0.022336293, 0.033019006, 0.06037925, -0.07735382, 0.010741093, -0.00083430484, -0.015128645, 0.13230036, -0.08242914, 0.04902468, -0.10138274) * conv2d_5_texOff(vec2(0, 1)); + result += mat4(-0.5290975, -0.051031865, 0.11035658, -0.07766992, 0.15421645, -0.020088276, 0.041712195, -0.038032565, -0.07672695, -0.0562507, -0.058500256, 0.014929645, -0.085309744, -0.0032269168, -0.029088303, -0.0025088547) * conv2d_5_texOff(vec2(1, 1)); + result += mat4(-0.0013931443, -0.012632678, 0.15921088, 0.07381447, -0.013821462, 0.09089552, -0.057282455, 0.046186138, -0.010045843, 0.057538316, 0.07808503, 0.043958984, -0.04839716, -5.5465338e-05, 0.113726124, 0.09118156) * conv2d_6_texOff(vec2(-1, -1)); + result += mat4(-0.09078305, 0.04239285, 0.060089413, 0.05412216, 0.0011636657, -0.034647703, -0.04938542, -0.08241601, -0.09640993, -0.023849972, 0.044214655, -0.03705452, 0.05224881, -0.06379218, 0.038221482, -0.0373137) * conv2d_6_texOff(vec2(0, -1)); + result += mat4(-0.21342957, -0.016363831, -0.23178963, -0.07316166, 0.033671506, 0.04928633, 0.03209037, -0.054877874, -0.1216835, -0.0611902, 0.110328026, 0.091981724, 0.0048749703, 0.044446267, -0.086561635, -0.055130567) * conv2d_6_texOff(vec2(1, -1)); + result += mat4(0.11977431, 0.22420765, 0.061312836, -0.124513485, 0.11848466, -0.15460157, 0.0017721405, -0.07435448, 0.009035991, 0.0400028, 0.03161606, -0.102583766, 0.12506542, 0.08099439, -0.120030865, -0.114025444) * conv2d_6_texOff(vec2(-1, 0)); + result += mat4(0.101635195, 0.0062747034, -0.15450324, -0.059488207, 0.0916171, 0.090640165, -0.06627533, -0.036640786, 0.011352814, -0.08366345, 0.09828297, 0.041434016, 0.041353233, -0.15337883, -0.09864122, -0.15858652) * conv2d_6_texOff(vec2(0, 0)); + result += mat4(0.15547201, 0.04105328, -0.042928927, -0.10706424, 0.21224238, -0.008452193, -0.031264547, 0.055706788, 0.15340695, -0.032320607, -0.067885265, -0.063935295, -0.0150577715, 0.05958743, -0.07824489, 0.008667307) * conv2d_6_texOff(vec2(1, 0)); + result += mat4(-0.03919938, 0.052836888, 0.06684303, -0.09237977, -0.081941485, 0.0382083, 0.0022207242, -0.06339004, 0.03911941, 0.00842816, -0.018080963, -0.024487292, 0.048886903, 0.04113574, -0.121806175, -0.001261997) * conv2d_6_texOff(vec2(-1, 1)); + result += mat4(-0.03087128, -0.106268354, -0.099535644, -0.05231313, -0.13165812, 0.09230253, -0.059073526, 0.07792351, -0.12829287, -0.11971944, -0.06142683, -0.07364631, -0.04019362, -0.1553241, -0.020548591, -0.008859368) * conv2d_6_texOff(vec2(0, 1)); + result += mat4(-0.34268713, 0.051111437, 0.03607787, 0.027760597, 0.036923055, 0.03894055, -0.04804187, -0.057348303, -0.12707561, 0.07744031, 0.058320932, -0.03204622, -0.30097437, 0.047509342, -0.08561436, -0.042312395) * conv2d_6_texOff(vec2(1, 1)); + result += mat4(-0.25028732, 0.0121014565, 0.029764555, 0.081479974, 0.19187059, 0.0017634436, 0.103453495, 0.044646356, 0.020012986, -0.09276103, 0.037700813, 0.0033166294, -0.087322176, -0.08725927, -0.09063054, -0.098228775) * conv2d_7_texOff(vec2(-1, -1)); + result += mat4(-0.17311274, -0.024161639, 0.0037144937, -0.04871491, 0.10209283, 0.06101466, 0.08469874, 0.0889613, 0.16693105, 0.13094662, 0.13811523, -0.010942217, -0.018988607, 0.016811587, 0.10397937, -0.019498426) * conv2d_7_texOff(vec2(0, -1)); + result += mat4(-0.26363182, 0.0840433, 0.038128074, 0.066942096, 0.10167505, 0.005973818, 0.021729182, -0.07593547, 0.06076204, -0.06951677, -0.023770517, -0.051958192, -0.0910566, 0.08650666, 0.05515754, -0.015850522) * conv2d_7_texOff(vec2(1, -1)); + result += mat4(0.0044387616, -0.09708507, 0.08281157, 0.062271364, 0.089092, -0.04335761, 0.168162, -0.044544518, -0.013711675, -0.10198339, -0.00074214704, -0.08499291, -0.047943387, 0.011040418, -0.012463189, -0.12927955) * conv2d_7_texOff(vec2(-1, 0)); + result += mat4(-0.016112007, -0.08029476, 0.04650798, -0.007173658, 0.3080043, 0.16092707, 0.13136779, 0.07663408, 0.19473518, 0.21793915, -0.08282241, 0.011576434, -0.02650557, -0.08476581, -0.05339167, -0.023960778) * conv2d_7_texOff(vec2(0, 0)); + result += mat4(-0.09199071, -0.018274985, 0.04680713, -0.025764959, 0.3271647, -0.1281213, 0.049753867, -0.06758863, 0.27937084, 0.009195646, 0.006117387, 0.03370013, 0.10773046, 0.12349222, 0.07511231, -0.06900168) * conv2d_7_texOff(vec2(1, 0)); + result += mat4(-0.02092032, 0.08736634, 0.090005495, 0.06749536, 0.086794786, 0.1615533, 0.028313296, 0.12001067, 0.051083475, 0.08948301, -0.09410637, 0.09198264, 0.02044791, 0.094033755, -0.03677769, -0.06701034) * conv2d_7_texOff(vec2(-1, 1)); + result += mat4(-0.033792544, -0.1000056, -0.04430407, 0.039693195, -0.02430006, 0.0017380244, 0.06266404, 0.12515773, -0.08223232, -0.1295379, 0.023666065, 0.12193975, 0.026776684, -0.123523206, 0.023586914, -0.025279038) * conv2d_7_texOff(vec2(0, 1)); + result += mat4(0.0034378963, -0.045506917, 0.077677034, -0.029844182, 0.18384792, 0.03596659, -0.02349564, 0.008952317, 0.028365199, -0.1152425, 0.07721344, 0.056662504, -0.12192483, 0.032213464, 0.07074791, 0.046657916) * conv2d_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-1-ReLU) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_1 +//!BIND conv2d_2 +//!BIND conv2d_3 +//!BIND conv2d_4 +//!BIND conv2d_5 +//!BIND conv2d_6 +//!BIND conv2d_7 +//!SAVE conv2d_1_1 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.011197032, 0.0011845044, -0.00043132543, -0.010066675); + result += mat4(-0.077593684, 0.021467157, 0.063081056, -0.038775064, -0.013073112, 0.08613357, -0.08512714, -0.011196417, 0.0051700855, -0.056083612, -0.15805517, -0.023025278, -0.10769025, 0.008534551, -0.1628352, -0.014436603) * conv2d_0_texOff(vec2(-1, -1)); + result += mat4(-0.0560491, 0.078768365, 0.041245, -0.051552217, -0.05786129, 0.058469865, -0.09150033, 0.026860313, 0.080614425, -0.008213706, 0.19441298, 0.049370807, 0.006399001, -0.06295963, 0.25489932, -0.120007016) * conv2d_0_texOff(vec2(0, -1)); + result += mat4(0.056839455, -0.048737787, -0.07053638, 0.096231855, -0.08275435, 0.06357735, -0.041763913, 0.07321155, 0.013955933, 0.07032971, 0.008945641, 0.03456969, -0.03984634, 0.019094903, -0.07235222, 0.0097471345) * conv2d_0_texOff(vec2(1, -1)); + result += mat4(-0.10205411, 0.015565734, 0.016892718, -0.09728134, 0.057428394, -0.09138915, 0.068736896, 0.035048407, 0.067588255, -0.054523133, 0.0483479, -0.02769002, 0.1161125, 0.013815037, -0.10633473, -0.102742404) * conv2d_0_texOff(vec2(-1, 0)); + result += mat4(-0.004303968, -0.07645531, 0.03737258, 0.0692931, 0.07895443, 0.10609788, 0.17086294, 0.0044495827, 0.03047413, 0.1150696, -0.14137435, -0.022454325, -0.096000195, 0.096118055, 0.069299154, -0.03158177) * conv2d_0_texOff(vec2(0, 0)); + result += mat4(0.012379325, 0.035801724, 0.06768513, 0.09098614, 0.10781677, -0.13291097, 0.061926324, -0.01496318, 0.034544963, -0.065663695, -0.011182411, -0.002137286, 0.12427206, -0.07137146, -0.0033809787, 0.04976954) * conv2d_0_texOff(vec2(1, 0)); + result += mat4(-0.046655387, -0.002474274, -0.16465357, -0.025587749, -0.05499933, 0.047096543, -0.023487289, 0.12226314, 0.02304305, 0.08807711, 0.16423365, 0.080750145, -0.07662004, 0.07377096, 0.04994284, -0.11650014) * conv2d_0_texOff(vec2(-1, 1)); + result += mat4(-0.08493715, -0.039353535, -0.11249473, 0.020118019, 0.021038443, 0.0895709, -0.08766897, 0.0981311, -0.030690303, -0.04284645, 0.078766696, -0.036029313, 0.058755603, 0.11213027, -0.19099735, -0.020548081) * conv2d_0_texOff(vec2(0, 1)); + result += mat4(-0.05178086, -0.07931726, 0.048405156, 0.091889635, 0.030147472, -0.0757067, 0.22394197, -0.08437664, -0.05704658, -0.0038627868, 0.10256466, -0.036784165, 0.07599415, -0.02827247, 0.0559291, 0.10704671) * conv2d_0_texOff(vec2(1, 1)); + result += mat4(0.050009254, 0.09473724, -0.055334825, 0.050062045, 0.04104625, 0.06256795, 0.106712036, -0.09937198, 0.01559964, -0.08012361, 0.0031182575, 0.08344543, -0.028077664, 0.097338445, -0.048061896, 0.0065810904) * conv2d_1_texOff(vec2(-1, -1)); + result += mat4(-0.006929624, -0.080034524, 0.017118238, -0.07206668, -0.110272564, -0.026011342, -0.27808696, 0.062990345, 0.02420505, -0.019818055, -0.044902716, 0.08923097, 0.03178395, 0.085829765, -0.07279556, -0.016631318) * conv2d_1_texOff(vec2(0, -1)); + result += mat4(-0.06825527, 0.09067984, -0.034415547, -0.06953337, -0.081254914, 0.026697025, 0.3335022, -0.08264325, -0.008770704, -0.06030165, -0.04782143, -0.0863968, 0.03495024, 0.08092718, -0.030964602, -0.05063452) * conv2d_1_texOff(vec2(1, -1)); + result += mat4(-0.062073216, 0.0075590904, -0.027390314, 0.008167342, 0.024785556, 0.0055578817, 0.009134213, -0.018017014, -0.046541825, -0.0618373, 0.04037698, 0.077020146, -0.103575945, -0.02556394, 0.056481037, -0.097121835) * conv2d_1_texOff(vec2(-1, 0)); + result += mat4(-0.09327852, -0.0011845168, 0.11876653, 0.0027953733, 0.045754388, -0.13683105, 0.2264903, -0.04137656, -0.047602408, 0.084626876, -0.021380201, 0.034057446, -0.017850518, -0.054241262, 0.09456408, -0.068134375) * conv2d_1_texOff(vec2(0, 0)); + result += mat4(0.06678825, -0.024902908, -0.10130563, 0.007933867, 0.010951779, -0.020133257, -0.28614855, 0.038368974, -0.034663524, 0.011517662, 0.094227485, -0.103419885, -0.05564191, -0.11256028, -0.008382839, 0.0317516) * conv2d_1_texOff(vec2(1, 0)); + result += mat4(-0.005788908, -0.022733897, 0.088095, -0.035078276, 0.22619739, 0.08739321, 0.17816615, -0.017289793, -0.11475056, 0.009142387, 0.08702502, 0.0800672, -0.07106212, -0.023230908, -0.08085899, -0.021376584) * conv2d_1_texOff(vec2(-1, 1)); + result += mat4(0.030817749, 0.08572747, -0.10088868, -0.08186276, -0.019808248, 0.0286014, 0.014910297, 0.095780894, 0.08695918, -0.078616686, 0.09706928, -0.110940464, 0.09740325, 0.04471384, 0.05395044, 0.034274787) * conv2d_1_texOff(vec2(0, 1)); + result += mat4(-0.111951835, 0.047681704, -0.15787779, 0.07339479, -0.05293861, 0.054606795, 0.074477494, 0.06575657, -0.057378065, -0.09009873, -0.09203264, 0.054996114, 0.11404258, -0.023427352, 0.10705266, 0.09914807) * conv2d_1_texOff(vec2(1, 1)); + result += mat4(0.040791046, 0.038581576, 0.018064398, -0.13169749, 0.020284768, -0.004375252, -0.23024695, -0.115045816, -0.07264343, 0.033511024, 0.16873449, -0.02356218, -0.05273216, -0.08368404, 0.008427831, -0.029288292) * conv2d_2_texOff(vec2(-1, -1)); + result += mat4(0.10951014, 0.092564814, -0.09721904, 0.09124065, -0.08811126, -0.021828948, -0.07885515, -0.02780345, -0.09441028, 0.009728772, -0.09315417, 0.010954373, 0.05529187, -0.08971671, -0.040717542, 0.014720291) * conv2d_2_texOff(vec2(0, -1)); + result += mat4(-0.08970155, -0.040946152, -0.10866294, 0.08644945, 0.052591503, -0.013378186, 0.014156524, -0.11998109, -0.06448937, -0.0077219927, -0.095990136, 0.044197142, -0.11045195, 0.054077905, -0.033737868, 0.05385419) * conv2d_2_texOff(vec2(1, -1)); + result += mat4(0.0652946, 0.067820355, -0.05717015, -0.052806407, -0.08759944, 0.068004, -0.057507366, -0.0413998, 0.12033738, 0.018457595, 0.031110154, 0.015287182, -0.018700052, -0.04858387, -0.10791296, -0.062666625) * conv2d_2_texOff(vec2(-1, 0)); + result += mat4(0.008670409, -0.26358938, 0.13061461, -0.02520851, 0.031921256, 0.122775175, 0.10808608, -0.10440236, 0.010433741, -0.10397802, 0.027195575, 0.099217296, -0.10703348, -0.06669311, 0.19642319, 0.05887108) * conv2d_2_texOff(vec2(0, 0)); + result += mat4(0.026742809, -0.062211066, 0.13540792, -0.027700378, -0.052574914, 0.09834686, -0.06894894, 0.09489552, 0.024466427, -0.10927328, 0.09987772, 0.019811213, -0.00338848, 0.002827732, -0.06917198, 0.03353189) * conv2d_2_texOff(vec2(1, 0)); + result += mat4(-0.033505887, 0.10272014, 0.19419245, 0.065212056, -0.051405456, 0.07007067, 0.14419541, -0.008488389, 0.10289747, 0.10099129, -0.085925706, 0.031086013, -0.05760552, 0.097239375, -0.095257625, 0.031016486) * conv2d_2_texOff(vec2(-1, 1)); + result += mat4(0.024864677, 0.1798425, -0.11428419, 0.03188098, -0.012341468, 0.122155584, -0.15315248, -0.063928805, 0.08601657, 0.016680647, 0.03223837, 0.0061351284, 0.056051407, 0.08456658, -0.22224057, 0.10762852) * conv2d_2_texOff(vec2(0, 1)); + result += mat4(0.024459282, 0.024073455, -0.08123674, 0.052016493, -0.008242277, 0.02969776, 0.04115115, -0.056339704, 0.054509226, 0.020554388, 0.020432271, 0.10111858, -0.065210305, 0.05225737, 0.10737269, -0.057737984) * conv2d_2_texOff(vec2(1, 1)); + result += mat4(0.038101338, 0.029717788, 0.34090123, -0.0012896152, -0.107350394, -0.09462676, 0.09662835, 0.057378374, -0.061416436, -0.0091125155, 0.038300913, 0.01952702, -0.060997177, 0.021651363, -0.005388136, -0.100183524) * conv2d_3_texOff(vec2(-1, -1)); + result += mat4(-0.038008094, -0.062854744, 0.014815458, -0.0718021, -0.067657225, 0.006967158, 0.06857382, 0.065920584, -0.032086417, -0.03471704, 0.083417565, -0.04371819, 0.09644099, 0.016452793, 0.041778304, -0.03236345) * conv2d_3_texOff(vec2(0, -1)); + result += mat4(-0.07854774, -0.06262406, -0.18092248, 0.05598563, 0.027578108, -0.07369806, -0.11913061, -0.073108725, -0.02695894, 0.09156246, -0.059756715, -0.044734072, 0.074670434, 0.011602037, 0.1078704, -0.09611672) * conv2d_3_texOff(vec2(1, -1)); + result += mat4(0.09841949, 0.01920534, -0.16799006, 0.009778865, 0.077576034, 0.0994073, -0.1074165, -0.008372128, -0.038416807, -0.043943077, 0.16095944, -0.055731215, 0.029060388, 0.018776266, 0.029425362, 0.089857794) * conv2d_3_texOff(vec2(-1, 0)); + result += mat4(-0.14053565, 0.029248448, 0.17926775, 0.103563525, -0.08561446, 0.039301135, 0.098349325, -0.11387821, 0.09551549, 0.08043579, -0.27985284, 0.17787266, 0.06748296, -0.075161666, -0.10373679, -0.07620295) * conv2d_3_texOff(vec2(0, 0)); + result += mat4(0.09285278, 0.10392205, -0.031192431, 0.026599843, -0.0061871447, 0.006766428, 0.13685565, 0.07550382, 0.10586941, 0.090604745, 0.34784156, -0.060757723, -0.085036345, -0.0050689494, 0.09618539, 0.0551968) * conv2d_3_texOff(vec2(1, 0)); + result += mat4(-0.046836328, -0.057685304, 0.014581882, -0.1100989, 0.09266579, 0.062809825, -0.015721267, -0.01960753, -0.1641682, -0.015209308, 0.07708829, -0.106977925, -0.0026359188, 0.050135918, 0.06655086, 0.06483702) * conv2d_3_texOff(vec2(-1, 1)); + result += mat4(0.0019965428, -0.11078212, -0.07536711, 0.117815554, 0.07756447, 0.113307916, -0.072784446, 0.052546483, 0.108961724, -0.11143704, 0.11668381, -0.019103788, 0.0071545676, -0.062686376, 0.08638575, -0.082998976) * conv2d_3_texOff(vec2(0, 1)); + result += mat4(-0.022224499, 0.06541032, -0.009436284, -0.0025557089, 0.009064811, -0.036178242, -0.0433923, -0.035537325, -0.020578409, -0.057407968, -0.087754615, 0.06141195, -0.092965595, 0.075376436, -0.08423372, -0.08004482) * conv2d_3_texOff(vec2(1, 1)); + result += mat4(0.08220575, -0.07184336, -0.058614317, 0.0843076, -0.09630659, -0.07110121, 0.047148675, -0.13063975, -0.06915439, 0.09540834, 0.07459957, 0.15948689, 0.070262544, 0.039559253, -0.008010429, 0.09920942) * conv2d_4_texOff(vec2(-1, -1)); + result += mat4(0.09558235, -0.020636613, -0.20786929, 0.059032954, -0.0005612618, -0.01721251, -0.025623411, 0.016187876, 0.0009592064, 0.027155716, -0.008166078, 0.16021515, 0.049881916, 0.06705035, -0.10482905, 0.0812545) * conv2d_4_texOff(vec2(0, -1)); + result += mat4(0.06764498, -0.022597747, -0.020980213, 0.008215601, -0.04189679, 0.07972458, 0.15823498, -0.012776151, 0.1602486, -0.10089629, 0.0030579104, -0.0781539, 0.018627519, 0.0013848414, -0.05163449, -0.050677236) * conv2d_4_texOff(vec2(1, -1)); + result += mat4(0.08408999, -0.02935708, 0.15361032, 0.13731013, -0.056125175, 0.038075376, 0.013710485, -0.08152186, -0.047237348, -0.12779213, -0.042869296, -0.01924674, 0.10733952, -0.11469398, -0.099387996, 0.0958137) * conv2d_4_texOff(vec2(-1, 0)); + result += mat4(0.09646135, -0.08027133, 0.05231808, -0.08219673, 0.10392442, 0.04699185, -0.012784492, -0.021462236, -0.005101875, 0.017084217, -0.18351461, 0.10290571, 0.005750269, -0.020673392, 0.08471115, -0.024997808) * conv2d_4_texOff(vec2(0, 0)); + result += mat4(-0.14691545, 0.09505521, -0.18961516, -0.03809277, -0.029588409, -0.027384676, 0.09391944, 0.080573454, 0.019731224, 0.16457154, -0.15754822, -0.024084311, 0.009421247, 0.08991307, -0.10641109, 0.08054075) * conv2d_4_texOff(vec2(1, 0)); + result += mat4(-0.1940632, -0.054194555, -0.06697631, -0.052259307, 0.11055636, -0.015883815, 0.22054464, 0.056350283, 0.062341493, -0.026126584, -0.018897891, -0.11634002, -0.089097485, -0.005303682, 0.06750532, 0.026972143) * conv2d_4_texOff(vec2(-1, 1)); + result += mat4(-0.24127328, 0.2487623, -0.012781001, 0.008709633, 0.06839755, -0.09003607, 0.033487782, -0.032065317, 0.13351513, -0.08155357, 0.0030790174, -0.052181836, -0.11075274, 0.10662739, -0.087673865, 0.006986188) * conv2d_4_texOff(vec2(0, 1)); + result += mat4(-0.025603864, 0.042945478, -0.24647076, 0.044966623, 0.12331321, -0.20497249, 0.2036753, -0.10706657, 0.06152236, -0.25329998, 0.046739887, 0.002857749, 0.06954412, 0.035016622, -0.039317027, 0.06897127) * conv2d_4_texOff(vec2(1, 1)); + result += mat4(-0.14481536, 0.015847849, -0.08406516, 0.030213892, -0.06810796, -0.037775297, -0.089294486, 0.00999569, -0.016623152, 0.013244674, -0.16468693, -0.0010807676, -0.059446465, 0.054444063, 0.050959222, -0.042924296) * conv2d_5_texOff(vec2(-1, -1)); + result += mat4(0.14426108, 0.017917318, -0.04296087, 0.10319138, -0.009127747, 0.038568318, -0.049689747, 0.15281406, 0.043737255, 0.02186607, 0.028837623, 0.01975358, 0.08907052, -0.039357826, -0.09462759, 0.020377789) * conv2d_5_texOff(vec2(0, -1)); + result += mat4(0.055160597, -0.062312618, 0.1451391, 0.019373974, 0.094833985, 0.03805799, 0.017498184, -0.057524193, 0.10020497, 0.08382782, 0.124565214, -0.111065656, 0.099022985, -0.047001563, 0.06749704, -0.026679793) * conv2d_5_texOff(vec2(1, -1)); + result += mat4(-0.12681954, 0.15121277, 0.1787491, -0.0036444333, -0.022744536, 0.108066544, 0.10131921, -0.049287777, -0.008872869, -0.038433675, 0.20254527, 0.07844617, -0.12703407, 0.056729615, 0.12367116, -0.07455694) * conv2d_5_texOff(vec2(-1, 0)); + result += mat4(-0.034039374, 0.16818461, -0.13807471, -0.031375714, -0.049563188, -0.014772521, -0.008721809, 0.0069029205, -0.0043085357, -0.025188025, -0.17196482, 0.045609847, -0.05872129, -0.024289493, -0.1948678, 0.043144617) * conv2d_5_texOff(vec2(0, 0)); + result += mat4(-0.059259467, 0.0476848, -0.13966836, -0.025650298, 0.027552761, -0.038882345, -0.09507021, -0.017237619, -0.1526966, -0.052759882, -0.038385727, 0.056602962, 0.043265987, 0.15495132, 0.07737573, 0.036249865) * conv2d_5_texOff(vec2(1, 0)); + result += mat4(-0.10637617, 0.12790266, -0.019113215, -0.0046220934, 0.033132914, -0.032978375, -0.10429145, 0.04256183, -0.0932761, 0.0076872595, -0.051023178, -0.006046983, 0.034375943, -0.05516948, -0.16010912, 0.056487978) * conv2d_5_texOff(vec2(-1, 1)); + result += mat4(0.033122882, -0.019263973, -0.07066631, -0.017324133, 0.12711081, 0.052154306, 0.08134222, -0.08022149, 0.032038953, -0.05111271, -0.033379875, 0.017108388, 0.07230414, -0.11715971, 0.028730575, -0.023421079) * conv2d_5_texOff(vec2(0, 1)); + result += mat4(0.011512532, -0.10508689, 0.0894752, -0.022014068, -0.08321548, -0.17738114, -0.12470248, 0.024611663, -0.045626402, 0.00074565236, -0.096553065, -0.019304361, 0.03700293, -0.087171584, 0.088685624, -0.10977033) * conv2d_5_texOff(vec2(1, 1)); + result += mat4(0.011561034, 0.03207418, -0.20317896, -0.123729154, -0.011804991, 0.09279506, -0.0002714132, 0.053187683, -0.06876078, -0.022850782, 0.10695012, 0.12364065, -0.09515578, 0.0454818, -0.052211687, -0.044373557) * conv2d_6_texOff(vec2(-1, -1)); + result += mat4(-0.07524904, -0.01303212, 0.06567262, -0.020398201, -0.04762796, 0.031497635, -0.065382764, 0.020182272, 0.10092458, -0.069189616, -0.03750628, 0.070033535, 0.06929445, -0.0055810856, -0.006984035, 0.033983793) * conv2d_6_texOff(vec2(0, -1)); + result += mat4(-0.09305166, 0.05588123, 0.12444727, -0.00034257598, 0.049311068, -0.09031976, -0.07322501, -0.05251122, 0.0018742186, 0.096491314, -0.15684827, 0.040418286, 0.0941989, -0.015651649, 0.0054800874, 0.0071675167) * conv2d_6_texOff(vec2(1, -1)); + result += mat4(-0.122125916, 0.022609564, 0.23358656, 0.08701956, 0.06187617, -0.08175526, 0.092691496, -0.039298378, -0.0985711, -0.04770481, -0.0755106, -0.029492127, -0.08733685, -0.06423106, 0.12962055, 0.023736231) * conv2d_6_texOff(vec2(-1, 0)); + result += mat4(0.034419976, 0.14868204, -0.17559192, 0.032083094, 0.04241132, -0.04746496, 0.01099378, 0.0011546575, -0.0151850935, 0.10499507, -0.06532762, 0.08281521, 0.13270208, 0.054606237, -0.061110016, 0.12280781) * conv2d_6_texOff(vec2(0, 0)); + result += mat4(-0.01666026, 0.029311327, 0.06790177, -0.010375006, -0.003543032, -0.06641481, -0.105488144, 0.0411772, -0.0498763, 0.03984737, 0.03161541, -0.07551215, -0.08033757, 0.061549645, -0.14761074, 0.043269694) * conv2d_6_texOff(vec2(1, 0)); + result += mat4(0.04077134, 0.12628184, 0.045886863, -0.07112072, -0.012989341, -0.010519814, 0.013032833, -0.010173235, 0.09690827, -0.005688653, 0.029586788, 0.09977007, 0.0528606, 0.06737324, -0.17684789, 0.12274845) * conv2d_6_texOff(vec2(-1, 1)); + result += mat4(0.11051834, 0.112534024, 0.04023594, -0.023532668, 0.019755028, -0.06372047, -0.09985536, 0.031597838, -0.020713326, -0.102745175, -0.029645942, -0.024639538, 0.07248913, -0.05013476, 0.14356793, -0.011027475) * conv2d_6_texOff(vec2(0, 1)); + result += mat4(0.06534363, -0.12289853, 0.21592255, -0.04301855, -0.0797139, 0.025854312, -0.012056828, 0.03884168, -0.076569766, -0.009442021, 0.059687484, -0.032682747, -0.07527654, -0.18639769, -0.05681965, -0.014164501) * conv2d_6_texOff(vec2(1, 1)); + result += mat4(-0.07350101, 0.062403087, -0.12091217, 0.05587299, -0.054483816, 0.004000964, 0.030310923, -0.066755675, 0.06855768, 0.005997307, -0.1930044, 0.08093344, -0.014597135, 0.020203037, -0.06891152, 0.035144437) * conv2d_7_texOff(vec2(-1, -1)); + result += mat4(0.057548594, 0.07052484, 0.080218315, 0.017123714, 0.024672821, 0.038864672, 0.08245334, 0.01951934, 0.05174505, 0.021838522, 0.07198582, 0.11640742, 0.05577094, 0.06452158, -0.14083968, 0.038878594) * conv2d_7_texOff(vec2(0, -1)); + result += mat4(0.0047695157, 0.060710553, 0.021283697, 0.07349775, 0.03647659, 0.06936554, -0.12585251, 0.03828772, -0.014634834, 0.009490599, -0.16296968, 0.088733695, -0.040879995, -0.05571747, 0.09926516, -0.11614051) * conv2d_7_texOff(vec2(1, -1)); + result += mat4(0.106826514, -0.04649594, -0.14007555, 0.05667105, -0.004630705, -0.015149721, -0.0732524, -0.08925447, -0.016161194, -0.04549497, 0.14235143, -0.08592723, -0.040225346, -0.05131405, -0.062676914, -0.0060632313) * conv2d_7_texOff(vec2(-1, 0)); + result += mat4(-0.038384005, -0.061767116, 0.04593187, -0.104092956, 0.12692076, 0.020024188, 0.20856659, 0.0083163865, 0.0703962, 0.008016123, 0.08932849, 0.03460573, 0.02017547, 0.027802642, 0.30066144, 0.051757224) * conv2d_7_texOff(vec2(0, 0)); + result += mat4(-0.018849816, -0.008842451, 0.110511445, -0.07953247, 0.08785997, 0.020272696, 0.06529953, 0.058567528, -0.023796901, 0.06515486, 0.12923531, -0.08801613, 0.054074615, 0.064689115, -0.14018457, -0.014326444) * conv2d_7_texOff(vec2(1, 0)); + result += mat4(-0.022940774, -0.009756425, -0.023515387, -0.029475462, -0.0040469086, 0.09087866, 0.021282075, -0.058384757, -0.012310124, -0.012590883, -0.1462424, 0.06715117, -0.02228805, -0.018376404, -0.08642809, 0.04833315) * conv2d_7_texOff(vec2(-1, 1)); + result += mat4(-0.10708967, 0.056719698, 0.020791054, -0.060032506, 0.12753828, 0.18122064, -0.17349672, 0.08982407, 0.0079500135, 0.10844677, -0.026548464, 0.009938061, -0.10532116, 0.07382838, -0.003523802, 0.0776772) * conv2d_7_texOff(vec2(0, 1)); + result += mat4(0.04449969, 0.037770603, 0.050638754, -0.056681287, -0.029222745, -0.030981783, 0.3223898, 0.09042483, 0.09783577, 0.03648542, 0.16385038, -0.0819435, 0.030217344, -0.031305484, -0.037688814, -0.027503349) * conv2d_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-1-ReLU) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_1 +//!BIND conv2d_2 +//!BIND conv2d_3 +//!BIND conv2d_4 +//!BIND conv2d_5 +//!BIND conv2d_6 +//!BIND conv2d_7 +//!SAVE conv2d_1_2 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0033872693, 0.01203482, -0.0007529152, 0.014821875); + result += mat4(0.037198875, -0.06318623, 0.029464114, 0.03158958, -0.073542476, 0.05856651, -0.06557546, 0.094294, 0.049270973, 0.031795427, 0.011142766, 0.042713262, -0.14008807, 0.006121414, 0.054622136, 0.01216045) * conv2d_0_texOff(vec2(-1, -1)); + result += mat4(-0.11165766, -0.048906796, 0.017778872, 0.046594862, 0.07830664, -0.05664532, 0.07929783, -0.03846434, 0.024031889, -0.039146896, 0.018171838, 0.076072425, -0.037843823, -0.08446405, -0.15279283, 0.06976163) * conv2d_0_texOff(vec2(0, -1)); + result += mat4(0.02665353, 0.021818096, 0.015983984, 0.012481549, -0.068786696, -0.058735177, 0.08392357, -0.0987427, 0.09114458, -0.025156561, -0.11887814, 0.09023599, -0.024439983, 0.1789214, 0.12787355, 0.059245143) * conv2d_0_texOff(vec2(1, -1)); + result += mat4(0.012709354, 0.013211087, -0.07740537, 0.106974505, 0.035243187, -0.11834342, -0.13311131, 0.097491995, -0.044114225, 0.08220231, -0.016037483, -0.02632333, -0.11514597, 0.15206194, -0.030721132, 0.06538655) * conv2d_0_texOff(vec2(-1, 0)); + result += mat4(-0.0031793292, 0.045643363, -0.03997819, 0.049497243, -0.07571808, -0.07555454, -0.0068918727, 0.035808053, -0.041412365, 0.0390809, -0.111770935, -0.03987962, 0.07849795, -0.12874204, 0.07845302, 0.08866954) * conv2d_0_texOff(vec2(0, 0)); + result += mat4(-0.06488477, 0.091581665, 0.05335213, 0.0680783, -0.04572248, 0.14250535, -0.07628013, 0.06356213, 0.09668829, -0.032973673, -0.07988419, -0.06947383, -0.06128997, 0.06905397, 0.04277823, -0.04994157) * conv2d_0_texOff(vec2(1, 0)); + result += mat4(0.061965823, -0.0030537606, -0.07518582, -0.027505087, -0.027796106, -0.086998366, -0.09557219, -0.09582798, 0.025390418, 0.07132137, -0.08687465, 0.043294977, -0.11733313, -0.23494111, 0.0020120628, -0.048772257) * conv2d_0_texOff(vec2(-1, 1)); + result += mat4(0.018216493, -0.087487124, 0.0021879063, -0.048587877, 0.11746869, -0.013881181, -0.03824968, 0.063332446, -0.024999391, -0.032853913, 0.041752394, -0.02561549, 0.07625771, 0.04456821, -0.05417423, 0.04462803) * conv2d_0_texOff(vec2(0, 1)); + result += mat4(0.033385452, -0.08450989, 0.09168842, 0.047502518, -0.110002466, 0.046790443, 0.06953812, 0.05459428, -0.00973985, -0.055130225, -0.09318967, -0.058996107, -0.035808545, -0.058596205, 0.062835544, 0.0034215641) * conv2d_0_texOff(vec2(1, 1)); + result += mat4(0.047777377, 0.04392559, 0.067306966, 0.053412188, 0.15193802, 0.023547843, -0.011238839, -0.04784402, -0.0257294, -0.03542679, 0.08091976, 0.047159996, -0.105575435, -0.101783596, 0.042021867, 0.11492175) * conv2d_1_texOff(vec2(-1, -1)); + result += mat4(0.0071342415, 0.13363077, -0.019352203, 0.09327305, 0.17886207, 0.051617444, 0.06529795, -0.14723922, 0.04732128, -0.07948846, -0.06823228, -0.06426478, 0.07218247, 0.042457584, 0.083457045, 0.08621637) * conv2d_1_texOff(vec2(0, -1)); + result += mat4(0.057936776, 0.017374096, -0.069389224, 0.035042513, 0.05654349, -0.15792385, -0.018916817, 0.14186883, 0.012650372, 0.0023539495, -0.109794445, -0.009911863, 0.0024223397, 0.10150807, -0.06603184, 0.0077295876) * conv2d_1_texOff(vec2(1, -1)); + result += mat4(0.09122356, 0.09365007, -0.030690163, -0.034971382, -0.005661598, -0.004751409, -0.1084171, -0.075966164, 0.018268488, 0.010119276, -0.007236247, 0.04708169, 0.10351936, 0.0897006, -0.025163855, -0.0093469005) * conv2d_1_texOff(vec2(-1, 0)); + result += mat4(-0.05004344, -0.03806487, 0.025904354, 0.04053517, -0.16692139, -0.039214846, -0.062100988, -0.023749955, -0.06486773, 0.10164374, -0.0851645, -0.031195993, -0.095689245, -0.09455837, 0.039383188, -0.050902434) * conv2d_1_texOff(vec2(0, 0)); + result += mat4(-0.065034986, -0.06504284, -0.06968113, 0.11035763, 0.089987114, 0.18300961, -0.010155287, -0.0022977402, -0.044887576, 0.075130485, -0.091329984, 0.009733239, 0.0664312, -0.01600564, 0.099342406, -0.067188) * conv2d_1_texOff(vec2(1, 0)); + result += mat4(-0.06183018, -0.08933783, -0.030563062, 0.08510223, -0.09791422, -0.045149077, 0.09141937, -0.09879377, -0.012237978, -0.0025413933, 0.030791277, -0.09411839, 0.09243099, 0.08143078, -0.10177903, 0.028564712) * conv2d_1_texOff(vec2(-1, 1)); + result += mat4(-0.020920096, 0.06501531, -0.09640705, 0.069759265, 0.14962603, -0.016226955, -0.002403366, 0.12170193, 0.034209494, -0.097139, 0.046047997, 0.014522164, 0.05932767, 0.046274133, -0.067689985, -0.04010289) * conv2d_1_texOff(vec2(0, 1)); + result += mat4(-0.017131476, -0.039633762, -0.08992393, -0.0037834318, -0.049825355, 0.0059971367, 0.0075209267, 0.07076052, 0.0004324255, -0.09913208, 0.04018316, -0.037153617, 0.02504974, -0.087457016, -0.060140584, 0.04272199) * conv2d_1_texOff(vec2(1, 1)); + result += mat4(-0.04514888, 0.10095337, -0.2843385, -0.17880054, -0.16367526, 0.16655092, -0.011233128, 0.072611846, -0.08447396, 0.054437913, 0.06208416, 0.029635785, 0.07216677, 0.08775427, 0.03021831, 0.09061834) * conv2d_2_texOff(vec2(-1, -1)); + result += mat4(0.03365546, 0.22371158, 0.055611167, -0.12534407, 0.06649448, 0.014040633, -0.01129319, 0.115254216, 0.015335179, 0.07438181, 0.024762947, -0.045815088, 0.0014872191, -0.08232281, 0.037563547, -0.019272853) * conv2d_2_texOff(vec2(0, -1)); + result += mat4(-0.09915642, -0.120797515, 0.11578111, -0.16625346, -0.0021745302, -0.082823746, -0.06537099, 0.057386454, 0.0146929575, 0.08422319, 0.038237408, 0.034472268, 0.01433422, -0.15262693, 0.08831839, -0.07580186) * conv2d_2_texOff(vec2(1, -1)); + result += mat4(0.031437367, -0.042827193, -0.06955838, -0.09878737, -0.12951072, -0.17006096, -0.1305498, 0.07676642, -0.012840147, 0.01929213, 0.01663937, -0.045351543, -0.0857135, 0.035773873, 0.13020937, 0.11182874) * conv2d_2_texOff(vec2(-1, 0)); + result += mat4(-0.109328546, -0.030570459, 0.027840529, -0.09159507, 0.035802662, 0.02792968, 0.05781693, 0.11601368, -0.092781946, -0.07637987, -0.014085661, -0.08191203, -0.16592269, 0.00922626, -0.11134777, 0.105186574) * conv2d_2_texOff(vec2(0, 0)); + result += mat4(-0.085224085, 0.09900903, 0.041739386, -0.018781323, 0.09348215, 0.03588465, 0.06033542, -0.09603961, -0.09116929, -0.083509795, -0.06310992, 0.0017615565, 0.108689435, 0.1310343, 0.026896909, -0.0025800387) * conv2d_2_texOff(vec2(1, 0)); + result += mat4(-0.014682499, -0.091857396, -0.23377281, 0.12425266, 0.060666256, -0.08885739, 0.032215446, 0.12945625, -0.11708009, 0.0020389103, -0.08696399, -0.0026077665, -0.055149764, 0.0465018, -0.04184494, -0.018036699) * conv2d_2_texOff(vec2(-1, 1)); + result += mat4(0.110577054, -0.024170343, -0.24500969, -0.049209606, -8.6519685e-06, -0.026779456, -0.057108745, -0.049161002, 0.013114811, -0.029923461, 0.026970647, 0.026526487, 0.16339006, 0.06917211, -0.08276699, -0.08211838) * conv2d_2_texOff(vec2(0, 1)); + result += mat4(0.09434104, -0.047210533, -0.12328795, 0.052771743, 0.097557195, 0.04473006, 0.042302635, -0.11136252, -0.09643371, 0.0076989154, -0.07862588, -0.030084144, -0.12507202, -0.020054428, 0.094481885, -0.011009404) * conv2d_2_texOff(vec2(1, 1)); + result += mat4(0.0316578, -0.13088457, -0.17588094, -0.0777947, -0.030869588, -0.036033925, -0.04339884, 0.035560966, -0.13597126, -0.090002604, -0.00016377207, 0.094618924, 0.04431431, 0.024465363, 0.08859408, 0.072072916) * conv2d_3_texOff(vec2(-1, -1)); + result += mat4(0.064257264, 0.105529845, -0.10713889, -0.048143458, 0.01985384, 0.0468012, -0.041892786, -0.06756845, -0.04919875, -0.11414902, -0.14688092, 0.09090615, -0.012439249, -0.03136143, -0.068216935, 0.037473958) * conv2d_3_texOff(vec2(0, -1)); + result += mat4(-0.014216709, 0.14298275, 0.10475493, 0.066766195, 0.008380913, -0.05292545, -0.077480786, 0.03605688, 0.084809594, 0.27734867, 0.09083713, 0.0021827433, 0.011472895, 0.0285952, 0.04061539, 0.014958524) * conv2d_3_texOff(vec2(1, -1)); + result += mat4(0.11081102, 0.1262357, 0.0883178, 0.05338563, 0.039791893, -0.028253624, 0.06979173, -0.034374, 0.06604825, 0.037233897, -0.113161504, 0.02110824, -0.03256347, -0.05756423, 0.018958317, 0.009837905) * conv2d_3_texOff(vec2(-1, 0)); + result += mat4(-0.094302624, -0.15811965, 0.13823923, -0.043934386, 0.10540004, 0.025446186, -0.07073553, 0.015804466, 0.13921773, -0.052843004, 0.00070349436, -0.15330306, 0.043978997, -0.061303258, 0.08241675, 0.074169464) * conv2d_3_texOff(vec2(0, 0)); + result += mat4(-0.103738725, 0.0037784083, -0.014538332, 0.12720357, -0.0835249, 0.026397388, 0.05777221, -0.03784048, 0.013324697, -0.0014938791, 0.07658271, -0.033641484, -0.039785553, -0.09573131, -0.038615316, 0.049792614) * conv2d_3_texOff(vec2(1, 0)); + result += mat4(-0.1103502, -0.09769328, 0.03503169, 0.05591943, -0.058195204, -0.06383137, -0.035296243, 0.0028852345, 0.09450965, -0.115074165, 0.08370758, -0.051932484, -0.064755656, 0.09860497, -0.015256305, 0.051498815) * conv2d_3_texOff(vec2(-1, 1)); + result += mat4(0.017678332, 0.002788513, -0.19815445, 0.12734558, -2.1875396e-05, -0.09617925, 0.0627105, 0.106779605, -0.15095232, -0.07296885, 0.15172078, -0.12639609, -0.0417069, -0.0066351127, 0.06363391, -0.07926058) * conv2d_3_texOff(vec2(0, 1)); + result += mat4(0.14109018, 0.06520356, -0.044605926, -0.12212118, -0.10193367, 0.030556377, -0.041428067, -0.09214786, -0.063883655, -0.07646711, -0.09332448, 0.11702989, 0.012095858, -0.020069346, 0.040555548, 0.03854868) * conv2d_3_texOff(vec2(1, 1)); + result += mat4(0.14183311, 0.38662767, 0.03232177, -0.10469553, 0.08080497, -0.09424702, 0.026318422, 0.0925554, 0.08997502, 0.23716, 0.037886195, -0.06638462, -0.07835291, -0.049390152, 0.077039376, -0.11908193) * conv2d_4_texOff(vec2(-1, -1)); + result += mat4(-0.23751546, -0.030282162, -0.032215826, -0.022601271, 0.00067754975, -0.147944, 0.002853154, 0.059047375, -0.06500956, -0.2152355, 0.1322256, 0.01944014, -0.004191754, 0.056866143, 0.067974426, -0.08788965) * conv2d_4_texOff(vec2(0, -1)); + result += mat4(-0.09680417, -0.15699488, -0.0804568, 0.01676076, 0.12815712, 0.0060468586, 0.049350873, 0.08163435, 0.038888983, -0.008901227, -0.123915054, 0.012339561, -0.026553493, -0.028946735, 0.026989497, 0.029385863) * conv2d_4_texOff(vec2(1, -1)); + result += mat4(-0.092980385, -0.22866802, 0.06262821, 0.027921021, -0.052286856, 0.167208, -0.060164146, 0.056512684, -0.14015652, 0.17728393, -0.07130808, -0.049013022, -0.048909657, -0.023932755, -0.005187945, 0.012203627) * conv2d_4_texOff(vec2(-1, 0)); + result += mat4(-0.09304993, 0.036358207, -0.21841237, 0.15128046, 0.05341881, 0.09585094, -0.0372072, -0.098158486, 0.03140383, 0.101818055, 0.06459007, 0.021177817, -0.054379553, -0.05257865, 0.077069044, -0.013115112) * conv2d_4_texOff(vec2(0, 0)); + result += mat4(0.010404021, 0.009535312, -0.04963715, 0.0870632, 0.010364752, 0.04895861, 0.040784597, -0.089928105, 0.1508261, 0.14539759, 0.116447866, -0.015752519, -0.02470069, 0.09253375, -0.029373355, 0.055590585) * conv2d_4_texOff(vec2(1, 0)); + result += mat4(0.086076275, 0.2070169, 0.23413727, -0.107444994, -0.06625385, -0.22194216, 0.08932315, -0.052813984, -0.0895947, 0.017738316, -0.3001079, 0.060833976, -0.05761688, -0.018665513, 0.026231037, 0.09577587) * conv2d_4_texOff(vec2(-1, 1)); + result += mat4(0.10838354, 0.015648574, -0.05999732, 0.19782047, -0.06211535, -0.09452009, 0.14373237, 0.016475258, -0.0061159204, 0.06676599, 0.24570633, -0.16184205, 0.048715226, -0.079962276, -0.06011166, 0.06898884) * conv2d_4_texOff(vec2(0, 1)); + result += mat4(0.10622603, 0.22252941, 0.08629886, 0.050439775, -0.10173889, -0.25574923, -0.014060148, 0.11562325, -0.030823074, -0.25186762, 0.07017963, -0.05526597, 0.099536814, -0.060808215, 0.0907226, 0.075261444) * conv2d_4_texOff(vec2(1, 1)); + result += mat4(-0.046750806, -0.116496205, -0.09198495, 0.071708806, 0.086151145, 0.11138192, 0.010033299, 0.09335201, 0.02387457, -0.052623715, 0.07594558, -0.040880907, 0.035226267, -0.026293393, -0.09905361, 0.001259057) * conv2d_5_texOff(vec2(-1, -1)); + result += mat4(-0.011797196, 0.02678488, 0.076907255, 0.10748688, -0.06290601, -0.11330915, -0.041077945, 0.039757907, 0.06752818, -0.023631647, -0.07064733, 0.025535006, -0.0010212301, -0.063122585, 0.093276545, 0.006032672) * conv2d_5_texOff(vec2(0, -1)); + result += mat4(0.04814565, -0.14763819, -0.039122578, 0.10255285, -0.083612375, 0.07596085, -0.103636615, -0.061994333, -0.12590544, -0.011833722, -0.12076286, -0.059393093, 0.12155195, -0.011797921, 0.076602384, -0.035191435) * conv2d_5_texOff(vec2(1, -1)); + result += mat4(-0.030333351, -0.13547255, -0.20730515, 0.16425778, 0.09208712, -0.026635332, -0.111992806, -0.0046456275, 0.13855831, -0.042409718, -0.17140831, -0.030970968, -0.03235377, 0.017782927, -0.029361397, 0.010426985) * conv2d_5_texOff(vec2(-1, 0)); + result += mat4(0.0066626966, 0.109656654, 0.19470657, -0.011908274, -0.110455394, 0.062535204, 0.10443448, -0.1392414, 0.12986167, 0.024817672, 0.020198254, -0.07992811, -0.031549916, -0.0057186084, 0.01317233, 0.004738467) * conv2d_5_texOff(vec2(0, 0)); + result += mat4(0.1378633, -0.18021114, 0.0015913501, 0.045164675, 0.0022879145, -0.07495011, 0.0564772, 0.041429345, -0.0026017195, -0.11761003, -0.07820443, 0.009395562, 0.11259043, 0.026162148, 0.053386547, -0.073887594) * conv2d_5_texOff(vec2(1, 0)); + result += mat4(0.051692087, -0.06777703, -0.069324695, 0.08772166, 0.07834732, -0.051389653, -0.05541454, -0.051322185, 0.14807563, 0.12546174, 0.1192804, 0.06565625, -0.03255349, -0.0023618338, -0.040717836, 0.097493984) * conv2d_5_texOff(vec2(-1, 1)); + result += mat4(0.0122825615, 0.08675141, 0.19181256, -0.04801896, -0.1293959, 0.032539595, -0.0391843, -0.088004366, -0.11610231, -0.10168186, 0.16051726, 0.039642762, -0.11886237, 0.03552416, 0.1834753, -0.09690976) * conv2d_5_texOff(vec2(0, 1)); + result += mat4(-0.088247985, 0.039378855, 0.18721344, -0.12303653, -0.036515385, -0.1015987, -0.044977933, -0.0059770155, -0.020577196, 0.21198799, -0.08448784, -0.023867732, -0.09636172, -0.05217362, -0.06230753, -0.0673417) * conv2d_5_texOff(vec2(1, 1)); + result += mat4(-0.04143555, -0.06434925, 0.13268319, 0.054156184, -0.02739478, -0.027775537, -0.05411599, -0.046585277, -0.14359678, -0.17748514, -0.010402611, -0.025419878, -0.042054813, 0.070507586, 0.0738077, 0.047887255) * conv2d_6_texOff(vec2(-1, -1)); + result += mat4(0.056327667, -0.11037932, -0.064486295, -0.00028264362, -0.075406656, 0.081668414, -0.04674526, 0.032522395, -0.08679792, 0.05114967, -0.11920229, -0.023846276, -0.0023330923, -0.16175571, 0.13526265, 0.01531539) * conv2d_6_texOff(vec2(0, -1)); + result += mat4(0.10641157, -0.09245742, 0.025458138, 0.095404685, -0.07810596, -0.014495466, -0.07749727, -0.062123932, 0.08523248, -0.0163956, -0.07766263, 0.061357774, -0.016478455, -0.029833129, 0.050713364, -0.062058467) * conv2d_6_texOff(vec2(1, -1)); + result += mat4(-0.099287406, -0.124912776, -0.08957284, 0.09206946, 0.077352546, 0.077084154, 0.03893286, 0.10158148, 0.26265356, 0.022997707, -0.08215801, -0.022087097, 0.012221629, -0.09785601, -0.10295539, 0.017879514) * conv2d_6_texOff(vec2(-1, 0)); + result += mat4(0.17196265, -0.086922586, -0.13871957, 0.05014503, 0.06706456, -0.006317162, 0.038531322, 0.03240582, 0.0997608, -0.024703545, 0.123536386, -0.038503263, 0.088646024, 0.010003686, -0.05806905, 0.0008595674) * conv2d_6_texOff(vec2(0, 0)); + result += mat4(-0.060291663, 0.03250313, 0.084959336, -0.028008675, -0.032070663, -0.045678973, 0.044860996, -0.029441904, 0.025124151, -0.0827606, -0.10063414, 0.0155096995, -0.0021959648, 0.019414183, 0.1070217, 0.102565706) * conv2d_6_texOff(vec2(1, 0)); + result += mat4(0.10950012, 0.03101446, -0.05328724, 0.045060642, -0.103009894, 0.08120981, 0.06001765, 0.08091648, 0.0797928, -0.058167234, 0.08982389, 0.057351112, 0.031306908, 0.18488394, 0.024129895, -0.08560409) * conv2d_6_texOff(vec2(-1, 1)); + result += mat4(0.15607314, 0.07388785, 0.19578715, -0.06600553, -0.05594764, 0.021988956, -0.087141395, -0.0016892091, 0.025397677, 0.047780823, 0.02208489, -0.04413851, -0.11430235, 0.08592562, 0.18334486, -0.042587675) * conv2d_6_texOff(vec2(0, 1)); + result += mat4(-0.14745066, 0.028772281, -0.02817075, 0.08963559, 0.051282894, 0.06282376, 0.10968242, -0.0055496036, 0.021256706, 0.059366446, 0.024493614, 0.017052177, -0.02812918, -0.13843253, 0.17032278, -0.027696501) * conv2d_6_texOff(vec2(1, 1)); + result += mat4(0.02349685, 0.011519274, 0.057451252, -0.081887096, -0.08915053, -0.012257917, 0.041043036, 0.085946664, 0.051549178, 0.10829412, 0.024059556, -0.11304195, -0.042719804, -0.005471454, 0.058888365, -0.053943407) * conv2d_7_texOff(vec2(-1, -1)); + result += mat4(-0.053379644, 0.07578121, -0.029772514, -0.09173171, -0.10382581, -0.068371706, 0.023306547, -0.030216487, -0.0005400173, -0.10391691, -0.012328547, -0.031530857, -0.07101214, -0.00029106307, 0.10904704, -0.120295666) * conv2d_7_texOff(vec2(0, -1)); + result += mat4(-0.058713917, -0.004970348, -0.06432422, -0.077368826, 0.14073387, -0.0039929794, 0.04085048, 0.055726055, 0.0008835653, 0.016337208, 0.007874073, -0.0642132, -0.05621142, -0.06375811, 0.08993783, 0.08116989) * conv2d_7_texOff(vec2(1, -1)); + result += mat4(0.054882057, 0.031255335, -0.00937629, 0.04280457, 0.011692529, -0.087107934, -0.08304411, 0.037464365, -0.01866047, -0.11370457, 0.000509223, 0.12838516, 0.008228103, 0.0592986, -0.04930101, 0.07554807) * conv2d_7_texOff(vec2(-1, 0)); + result += mat4(-0.07453059, 0.074558996, -0.030733055, 0.048796564, 0.13063982, 0.020466965, -0.051619727, 0.013452335, -0.07785985, -0.08671338, -0.04616167, -0.03982221, 0.01836264, -0.13134514, -0.03475978, 0.11600512) * conv2d_7_texOff(vec2(0, 0)); + result += mat4(0.019685458, 0.048200358, -0.07445514, 0.06081855, -0.025291704, 0.024983307, 0.0230919, -0.0026427817, 0.049629137, 0.1429679, -0.03886688, 0.047204, 0.027163848, 0.02905813, 0.028815137, -0.045238324) * conv2d_7_texOff(vec2(1, 0)); + result += mat4(-0.03951712, 0.0068928422, -0.07227556, 0.0059631225, -0.022553004, 0.069014795, -0.11028471, 0.08055054, -0.02998101, -0.003918238, 0.011796322, -0.024194065, -0.0013615427, -0.046854213, -0.03235497, 0.04464656) * conv2d_7_texOff(vec2(-1, 1)); + result += mat4(-0.06703059, 0.07750729, 0.020141052, -0.045001823, 0.17837884, 0.09285474, -0.07115092, -0.0037057674, -0.03347676, 0.08215089, -0.011957318, -0.10807144, 0.074018575, 0.07984759, 0.13037604, -0.0158725) * conv2d_7_texOff(vec2(0, 1)); + result += mat4(0.08884892, 0.051664125, -0.022051435, 0.08409583, 0.061172128, 0.04704994, 0.007846713, 0.0001397612, -0.048993945, -0.10017504, 0.05740147, -0.117473274, 0.05528591, -0.012109296, 0.007026303, 0.09979741) * conv2d_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-1-ReLU) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_1 +//!BIND conv2d_2 +//!BIND conv2d_3 +//!BIND conv2d_4 +//!BIND conv2d_5 +//!BIND conv2d_6 +//!BIND conv2d_7 +//!SAVE conv2d_1_3 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.008739096, 0.0024725376, -0.013386704, -0.0038562224); + result += mat4(-0.02062692, -0.03589331, 0.0028796776, -0.069743276, 0.033811543, -0.08065521, 0.030370817, -0.004952767, 0.053443562, 0.06489981, -0.0051904693, -0.050831363, -0.028475404, -0.044025134, -0.0545412, 0.091572) * conv2d_0_texOff(vec2(-1, -1)); + result += mat4(0.038847417, -0.00019370005, -0.046182822, -0.018554606, 0.008466101, 0.11027352, 0.01795353, 0.0456056, 0.05718633, 0.052195217, -0.04551628, 0.04120118, -0.07459906, -0.027351934, -0.061828014, 0.11052518) * conv2d_0_texOff(vec2(0, -1)); + result += mat4(0.026409712, 0.061660036, 0.035437696, 0.047108136, 0.073040776, 0.06008144, 0.05877714, 0.047598716, -0.13613467, -0.019922893, -0.09907848, -0.038960297, 0.0006076094, -0.072264545, -0.026271313, 0.014303528) * conv2d_0_texOff(vec2(1, -1)); + result += mat4(0.007017821, -0.013858539, 0.012449699, -0.055304132, -0.07090374, -0.07232492, -0.0020707375, -0.05174788, 0.06338638, 0.04848387, 0.036033824, -0.052349728, 0.013889362, -0.024454642, -0.13963056, -0.0022994315) * conv2d_0_texOff(vec2(-1, 0)); + result += mat4(0.09314635, -0.024667358, 0.0018668043, 0.07536699, 0.012293452, -0.08654072, -0.11924947, 0.0012387385, 0.033256236, 0.097588725, -0.06073695, -0.11380267, 0.034593645, 0.089581415, -0.10510037, 0.060799055) * conv2d_0_texOff(vec2(0, 0)); + result += mat4(-0.048076943, 0.052267402, 0.005941806, 0.10331367, 0.08091858, 0.038795196, 0.03521213, -0.031976648, 0.09185437, -0.04341276, -0.11470637, 0.042372458, 0.059803728, 0.03201012, -0.01870716, 0.22220588) * conv2d_0_texOff(vec2(1, 0)); + result += mat4(0.02446678, -0.0060666297, -0.03589361, -0.07210075, 0.07876505, 0.10096277, 0.047240816, -0.09115429, 0.084307685, 0.015237141, -0.083110236, 0.091213495, -0.03499064, -0.08024439, 0.09289713, -0.07342703) * conv2d_0_texOff(vec2(-1, 1)); + result += mat4(0.07584645, -0.084391825, 0.01428156, 0.0060329577, 0.020144092, -0.060260557, 0.09451176, -0.030528335, 0.07302806, 0.0017953567, -0.11469489, -0.09958275, 0.006799894, -0.048849482, 0.018283052, 0.15517007) * conv2d_0_texOff(vec2(0, 1)); + result += mat4(0.058037087, 0.066085674, 0.0705559, 0.018127559, 0.03867997, 0.031457353, 0.037886027, 0.021916611, -0.007977898, -0.07664734, -0.09453283, 0.11318036, 0.105501674, -0.12112749, -0.08219448, 0.054677982) * conv2d_0_texOff(vec2(1, 1)); + result += mat4(0.041034378, -0.041815408, 0.09489859, 0.06674082, 0.049385346, 0.21888953, -0.14941293, -0.0038804763, 0.06220507, 0.062240005, 0.05121943, -0.05301123, 0.046798784, -0.046111967, 0.01430893, -0.020387797) * conv2d_1_texOff(vec2(-1, -1)); + result += mat4(0.0038788144, -0.036725767, 0.003139178, 0.05602481, 0.056318723, 0.08289549, -0.0854152, -0.11357963, 0.020233603, 0.0064371126, 0.046657544, 0.020825107, -0.071938396, -0.0008062755, 0.08768186, 0.0547443) * conv2d_1_texOff(vec2(0, -1)); + result += mat4(0.016346667, -0.018419815, 0.11903944, 0.0130470265, -0.022120148, -0.18327558, -0.15603013, 0.19233876, -0.084630616, 0.06390716, 0.034831863, -0.020620612, -0.051983368, 0.10305497, 0.029119717, 0.07368669) * conv2d_1_texOff(vec2(1, -1)); + result += mat4(-0.054073352, 0.02005612, 0.022254765, 0.04629833, -0.18141413, 0.059634224, 0.121464774, -0.048147153, -0.032796834, 0.071714565, -0.059220087, 0.08204278, -0.026282463, -0.010254625, -0.03513211, 0.029855294) * conv2d_1_texOff(vec2(-1, 0)); + result += mat4(0.012374995, -0.019117171, 0.016755218, -0.057168294, 0.019336373, -0.066110514, -0.010861781, 0.034228403, -0.09120941, -0.016504308, 0.017034842, -0.014101798, 0.04979094, 0.072201446, 0.0037487724, -0.041247874) * conv2d_1_texOff(vec2(0, 0)); + result += mat4(-0.047927126, -0.051194753, -0.093115255, 0.10915638, 0.07652742, 0.0025059152, -0.12051796, -0.15649271, -0.03145958, -0.077770844, -0.04824344, -0.0857384, 0.10947641, 0.05500241, -0.089903854, 0.10304492) * conv2d_1_texOff(vec2(1, 0)); + result += mat4(-0.03190901, 0.03724357, -0.033865973, -0.10734711, -0.03355379, 0.106683634, -0.2807774, -0.077254824, 0.065008245, 0.07500423, 0.028054865, -0.029399227, 0.0069158925, -0.008155889, -0.03501118, 0.09056681) * conv2d_1_texOff(vec2(-1, 1)); + result += mat4(0.03814196, 0.1065662, -0.013648463, 0.022123115, -0.042360973, -0.06979302, 0.082516864, -0.14994514, -0.06779166, -0.111427516, -0.00067856174, 0.06629989, -0.042459477, 0.030113291, -0.07691119, 0.11010445) * conv2d_1_texOff(vec2(0, 1)); + result += mat4(-0.0114723705, 0.07096572, 0.0062755635, -0.031745937, -0.002699689, -0.12688847, 0.1809189, 0.15625155, 0.06075428, 0.023915881, 0.02061089, -0.016905122, 0.006278512, -0.071307614, -0.061725702, -0.08480147) * conv2d_1_texOff(vec2(1, 1)); + result += mat4(0.009919508, 0.11451995, -0.08494489, -0.035625283, 0.058674775, -0.05727558, -0.024545785, 0.041243605, -0.034622233, 3.5089615e-05, 0.08039478, 0.059291966, 0.104676485, 0.05720982, 0.022645121, -0.041767545) * conv2d_2_texOff(vec2(-1, -1)); + result += mat4(-0.12135024, 0.016394418, 0.038013455, 0.026045, -0.12452478, 0.050260797, -0.10856389, 0.02422773, 0.025715336, 0.035684425, 0.08252323, -0.085289225, 0.047380578, -0.08234647, 0.08665152, -0.1079992) * conv2d_2_texOff(vec2(0, -1)); + result += mat4(0.0010841824, -0.10208558, 0.29677302, 0.10929812, 0.0230144, -0.007877244, 0.24788962, 0.097032234, -0.0046739383, -0.07385176, 0.10679617, -0.065574765, 0.08372264, 0.063937485, -0.095426604, 0.06362687) * conv2d_2_texOff(vec2(1, -1)); + result += mat4(-0.07521925, -0.17367484, 0.039546415, 0.028440766, -0.0082052415, -0.014537429, 0.014563671, 0.01945197, -0.09690277, 0.045522813, 0.056900024, 0.026404375, -0.036026623, -0.1329119, 0.05747525, -0.13106225) * conv2d_2_texOff(vec2(-1, 0)); + result += mat4(0.056108467, -0.17783542, 0.008227196, 0.117556885, 0.04679432, 0.06414989, -0.049644276, 0.14015612, -0.07655604, 0.008850784, -0.0034782041, 0.049449105, 0.032917146, 0.023485295, 0.098917656, 0.08202724) * conv2d_2_texOff(vec2(0, 0)); + result += mat4(-0.011776326, -0.105710804, -0.053868417, 0.13057785, -0.010019522, -0.019071806, -0.025313433, 0.081011906, -0.06430649, 0.017011, 0.044144664, -0.04191512, 0.08000606, 0.098243296, -0.04048807, -0.10124048) * conv2d_2_texOff(vec2(1, 0)); + result += mat4(0.022214983, 0.12275404, -0.13685216, -0.08421181, -0.08596396, -0.017657805, 0.022431923, -0.062369257, -0.07030598, 0.0834117, 0.06582719, -0.05947086, 0.010300341, 0.011285829, 0.06909638, 0.04245823) * conv2d_2_texOff(vec2(-1, 1)); + result += mat4(-0.13517413, -0.046451718, 0.11798839, -0.24519947, 0.064453945, 0.0027563334, 0.02404945, 0.08733412, -0.009083223, 0.09970423, 0.06715458, -0.11275724, -0.032399006, -0.023945097, -0.03491381, -0.05898863) * conv2d_2_texOff(vec2(0, 1)); + result += mat4(0.0406631, -0.11270033, -0.112850614, -0.058001336, 0.0811323, -0.03761845, -0.123766005, 0.17811662, 0.097185485, -0.060470406, -0.038588494, -0.09605941, -0.05017928, 0.021955745, 0.11208835, 0.024559872) * conv2d_2_texOff(vec2(1, 1)); + result += mat4(-0.062216617, 0.09190972, 0.13849126, 0.08823891, -0.060651336, 0.05291516, -0.09917136, -0.067206904, -0.05167161, -0.15320511, 0.2802821, -0.16703875, 0.07459464, -0.007542502, -0.02299279, -0.0032147577) * conv2d_3_texOff(vec2(-1, -1)); + result += mat4(0.08419234, -0.07052551, 0.047488637, -0.021911751, -0.052676965, -0.07278701, -0.076326534, 0.066354364, 0.03756598, 0.053092025, 0.0105784815, 0.12642348, 0.025469404, -0.031365376, 0.032926377, 0.036704753) * conv2d_3_texOff(vec2(0, -1)); + result += mat4(0.0913853, 0.004375619, -0.25794813, -0.06068813, -0.0674426, 0.00925344, -0.00940849, 0.018850368, -0.026824526, 0.018789507, -0.2557219, 0.034118846, -0.018850822, -0.025094843, -0.10453769, 0.07245054) * conv2d_3_texOff(vec2(1, -1)); + result += mat4(-0.06765251, 0.21352802, -0.07625153, -0.14959805, 0.07145515, 0.031864606, 0.0606766, -0.09748989, -0.046238832, 0.12832503, -0.1809379, 0.043261655, -0.014412996, 0.051034912, 0.05743692, -0.021123284) * conv2d_3_texOff(vec2(-1, 0)); + result += mat4(0.084664926, -0.05002035, 0.18079998, -0.20991684, -0.068973646, -0.07660487, -0.03946168, -0.046841584, -0.015867239, 0.21066868, 0.18110833, 0.023591818, -0.061697416, -0.010629157, -0.06763717, -0.06989697) * conv2d_3_texOff(vec2(0, 0)); + result += mat4(0.011082986, -0.06879907, 0.05025601, -0.03732403, 0.08805433, -0.105916545, 0.010529041, 0.017343929, 0.11626527, -0.138469, 0.07003376, 0.08133048, 0.06523511, 0.01340182, -0.107054755, -0.030937837) * conv2d_3_texOff(vec2(1, 0)); + result += mat4(-0.08301624, 0.06764356, -0.15533142, 0.108561754, -0.0013060652, 0.0029942573, 0.08340954, -0.0023890946, -0.020592052, -0.07031761, 0.15222587, 0.24437942, 0.036061365, 0.0625158, -0.027190227, -0.1041387) * conv2d_3_texOff(vec2(-1, 1)); + result += mat4(0.07150087, -0.024251282, -0.054499794, 0.023164751, 0.06553551, -0.05408574, -0.015681526, 0.08384272, 0.089726366, -0.026482543, -0.17182116, -0.017883727, -0.06897108, 0.087402605, 0.06956909, -0.10078878) * conv2d_3_texOff(vec2(0, 1)); + result += mat4(-0.018148225, 0.092971005, 0.009024481, 0.09162606, -0.032571964, 0.09567617, -0.08744239, 0.018271087, -0.118221276, 0.029770486, -0.006650845, -0.20848168, 0.08193237, 0.09497523, 0.05105319, -0.09604128) * conv2d_3_texOff(vec2(1, 1)); + result += mat4(0.09124374, 0.25853476, -0.07031844, 0.07586055, -0.07700176, -0.16201127, -0.05409477, -0.13302127, -0.14193936, 0.055884376, -0.112316564, 0.056504022, 0.022490988, 0.10060102, 0.06817951, 0.081705935) * conv2d_4_texOff(vec2(-1, -1)); + result += mat4(-0.06932173, -0.10824074, 0.10261683, -0.243315, -0.048243787, -0.022441497, -0.11941564, 0.19083874, -0.021790078, 0.07713366, 0.16684185, 0.0024917535, 0.05079612, 0.040317155, -0.056442868, -0.049301427) * conv2d_4_texOff(vec2(0, -1)); + result += mat4(-0.053760454, 0.048680507, -0.07647234, -0.005880319, -0.106671765, 0.032268293, 0.03495255, -0.10108321, -0.016086847, 0.057551075, -0.11068367, -0.12410455, -0.06310013, 0.034427103, -0.09865551, 0.060031865) * conv2d_4_texOff(vec2(1, -1)); + result += mat4(-0.030184641, 0.044263717, 0.026486274, 0.029051105, 0.10105845, -0.01917414, -0.07979078, 0.03566522, 0.04451616, -0.03664749, -0.16646357, 0.17319411, 0.08668961, -0.016331151, -0.0831119, -0.05810109) * conv2d_4_texOff(vec2(-1, 0)); + result += mat4(0.03319616, -0.1314319, -0.047813367, -0.3254158, -0.021206573, 0.064671926, -0.14467469, 0.120198056, 0.05565646, 0.07730321, -0.075706385, 0.121929266, 0.061571088, -0.10813465, 0.10920725, -0.062053055) * conv2d_4_texOff(vec2(0, 0)); + result += mat4(-0.08194819, -0.025094498, 0.00084391324, -0.07358036, 0.07987154, 0.107751004, 0.046746127, -0.0041098306, 0.053015437, 0.059921183, 0.102433026, -0.11418319, -0.054130796, 0.03213735, -0.01103557, 0.0008137982) * conv2d_4_texOff(vec2(1, 0)); + result += mat4(-0.0709131, 0.21532243, -0.3065609, -0.29578403, 0.026185082, -0.13124461, 0.106761, 0.12498956, 0.103761345, -0.06941454, 0.14669165, 0.037530877, 0.04126064, -0.098183185, 0.031681262, 0.00050419016) * conv2d_4_texOff(vec2(-1, 1)); + result += mat4(-0.02984239, 0.002169638, 0.2150906, 0.0930299, -0.13601446, -0.19029935, -0.10881603, 0.07521462, -0.03579529, -0.20971252, -0.05422156, -0.06399177, -0.057406805, 0.025937129, 0.007063215, 0.004495781) * conv2d_4_texOff(vec2(0, 1)); + result += mat4(0.21802947, 0.17064671, -0.025651556, 0.048356663, -0.020584438, -0.072063535, 0.111774445, -0.103197716, 0.049822554, -0.2311166, 0.018840622, 0.035459425, -0.09021065, -0.037711192, 0.08613032, 0.09709833) * conv2d_4_texOff(vec2(1, 1)); + result += mat4(0.061375868, -0.28251222, 0.28168634, 0.1261976, 0.075008206, 0.017904663, -0.10111551, -0.017830912, 0.09154306, -0.08890274, 0.2183735, 0.119486146, -0.15937752, 0.012519974, -0.039262585, -0.014091751) * conv2d_5_texOff(vec2(-1, -1)); + result += mat4(0.026870584, 0.10842348, -0.033392176, -0.034641836, 0.018534614, 0.08233241, 0.15875302, 0.13806777, 0.03611864, -0.015973456, 0.0018738003, -0.07711809, -0.03675473, -0.023137819, 0.17971645, -0.052573368) * conv2d_5_texOff(vec2(0, -1)); + result += mat4(-0.07784997, 0.034156796, 0.0682935, 0.015385402, -0.0020325761, -0.061995365, 0.21352762, -0.09696922, -0.031299636, 0.049004808, -0.09511252, 0.05818166, 0.060144868, -0.067555346, -0.084613584, -0.030356808) * conv2d_5_texOff(vec2(1, -1)); + result += mat4(0.10697274, 0.04135883, 0.06356846, -0.0012173111, 0.054814555, -0.04297507, 0.08925606, 0.121296905, 0.032722756, 0.17719279, 0.031075353, -0.098486006, -0.09451131, -0.10411323, -0.15557566, 0.10227097) * conv2d_5_texOff(vec2(-1, 0)); + result += mat4(-0.100968495, 0.034661952, -0.15347058, 0.12342025, 0.05407795, -0.006617031, -0.09784, 0.120764606, -0.015629148, 0.01692176, -0.060861226, -0.017623119, 0.020352643, 0.07390312, -0.09498996, 0.057667725) * conv2d_5_texOff(vec2(0, 0)); + result += mat4(-0.0722709, -0.050860744, 0.01659783, 0.12515315, 0.017836735, 0.14077993, -0.026080417, 0.01389766, 0.102894686, -0.04086808, -0.0062156897, -0.044581395, -0.070659906, 0.012588228, 0.05131144, -0.0007445404) * conv2d_5_texOff(vec2(1, 0)); + result += mat4(0.122463, 0.06877441, -0.02017321, 0.20335683, -0.011976725, -0.03293542, 0.03338623, -0.20594932, -0.08679188, 0.17481491, 0.029466929, 0.013734239, -0.04986357, -0.050554033, 0.056045175, 0.12713586) * conv2d_5_texOff(vec2(-1, 1)); + result += mat4(0.11805552, -0.023008635, 7.786845e-05, 0.11505415, -0.00396033, -0.17186245, 0.08201819, -0.102577865, 0.06426364, 0.05959403, 0.1990583, 0.24114202, 0.03803075, 0.016642218, -0.15188976, 0.063137256) * conv2d_5_texOff(vec2(0, 1)); + result += mat4(-0.14546962, 0.13674897, -0.0045918855, 0.021882385, -0.022261262, -0.0007475266, -0.056414075, -0.061224665, -0.077979006, 0.08445077, -0.026561119, 0.007820436, 0.082114495, -0.118912235, 0.031953294, -0.03992326) * conv2d_5_texOff(vec2(1, 1)); + result += mat4(0.019386735, -0.17337476, 0.02134629, -0.124466084, -0.027359424, 0.098940015, -0.027971216, 0.08870269, 0.03330463, -0.12873779, 0.21228576, -0.04236145, -0.0073977644, -0.15958712, -0.14579181, 0.016519135) * conv2d_6_texOff(vec2(-1, -1)); + result += mat4(0.108364835, 0.0059319767, -0.14811035, 0.122147076, 0.03821987, -0.064194314, -0.07996085, 0.034793828, 0.08516147, -0.007451261, -0.100671895, 0.04760564, 0.081475906, 0.21736813, 0.040038973, 0.0027632746) * conv2d_6_texOff(vec2(0, -1)); + result += mat4(0.008636645, 0.11420495, -0.07131817, 0.058794413, 0.0066960403, -0.06186281, -0.19157754, -0.0045249686, -0.068941146, -0.048485916, -0.22864339, 0.004234862, -0.10044161, 0.06982252, 0.066084445, -0.07488658) * conv2d_6_texOff(vec2(1, -1)); + result += mat4(-0.04122022, -0.045141667, 0.026221441, -0.06881463, 0.029712472, -0.0012385998, 0.088373445, -0.029192869, 0.025044983, 0.08090737, -0.11804117, -0.082290955, 0.0082024755, -0.15285233, 0.13813776, 0.03762288) * conv2d_6_texOff(vec2(-1, 0)); + result += mat4(-0.08399818, 0.13795726, 0.08334879, 0.13294251, -0.0049978863, -0.103501104, 0.15111904, 0.027733585, -0.100130044, 0.06191623, 0.17986718, 0.085312426, -0.10281626, 0.16926843, -0.074646816, 0.017338486) * conv2d_6_texOff(vec2(0, 0)); + result += mat4(-0.025101455, -0.10786817, 0.07692354, 0.08270257, -0.0800792, -0.006031019, 0.019332115, 0.033377595, -0.013993752, -0.031448066, 0.11971098, -0.052091584, -0.051115934, -0.12573086, -0.026853941, -0.2288293) * conv2d_6_texOff(vec2(1, 0)); + result += mat4(0.13914749, 0.16805889, -0.037791934, 0.11195738, -0.03208784, 0.07499982, 0.07511999, -0.023743907, 0.0017767261, -0.0962638, 0.12600206, 0.088221796, 0.09217995, 0.07122336, -0.018035347, 0.05451957) * conv2d_6_texOff(vec2(-1, 1)); + result += mat4(0.12671623, 0.030587925, -0.031445734, 0.05829094, -7.6908604e-05, 0.07141251, 0.1314697, -0.0738902, 0.10996934, 0.103560865, -0.018168095, 0.0043466035, -0.042362344, -0.032806933, -0.076367415, -0.004654037) * conv2d_6_texOff(vec2(0, 1)); + result += mat4(0.030229189, -0.03763347, -0.11006612, 0.09868401, -0.0774022, 0.04054941, -0.0037790525, -0.09226201, -0.11257748, 0.018700078, 0.09871959, -0.1654493, 0.0036686002, 0.007930674, -0.07340056, -0.051149823) * conv2d_6_texOff(vec2(1, 1)); + result += mat4(0.04249613, 0.041928362, -0.0335921, -0.07461962, 0.037157945, -0.05327246, -0.04423667, -0.062199872, 0.0018308066, 0.10472039, -0.16578273, -0.053464502, -0.06614017, 0.063727364, -0.008479616, 0.07285321) * conv2d_7_texOff(vec2(-1, -1)); + result += mat4(0.07694822, -0.008183712, -0.018504713, 0.04936265, 0.09123717, -0.008707733, 0.026015468, 0.059304677, 0.15971673, -0.009581171, 0.014538181, 0.056216378, 0.09761213, 0.11133713, -0.11558271, -0.0080547705) * conv2d_7_texOff(vec2(0, -1)); + result += mat4(-0.07457893, -0.06961043, -0.03569081, 0.08566511, 0.03262842, 0.07243581, -0.042916663, 0.028997688, 0.0029612035, 0.060844112, -0.108577445, 0.15344356, -0.13788429, 0.10683097, -0.028032232, -0.032554567) * conv2d_7_texOff(vec2(1, -1)); + result += mat4(0.07247737, 0.057991054, 0.1218796, 0.092810996, 0.028121822, -0.0133580305, 0.041856408, -0.009942668, -0.121762924, -0.0166773, 0.08369562, -0.089569025, -0.12309637, -0.12328348, 0.050148077, 0.0005803798) * conv2d_7_texOff(vec2(-1, 0)); + result += mat4(-0.01818056, 0.06468686, 0.048668604, -0.073914506, -0.044378582, 0.05316955, 0.048525907, 0.041465845, -0.03802939, 0.0012629672, 0.11157956, 0.04728687, -0.10458539, 0.09126685, 0.03000295, -0.014608383) * conv2d_7_texOff(vec2(0, 0)); + result += mat4(0.052273344, 0.005653936, 0.02937832, 0.0137906335, 0.006477444, -0.10760524, 0.069172226, 0.17528568, -0.034741342, -0.07492991, 0.041394517, 0.011703913, -0.01293028, -0.025509331, 0.09298305, 0.0071548237) * conv2d_7_texOff(vec2(1, 0)); + result += mat4(-0.07902113, -0.108616725, 0.058997322, 0.063264266, 0.11020373, -0.089050815, 0.117041156, 0.05588188, 0.1282322, -0.005790242, -0.047862016, -0.12129489, 0.030355513, 0.12708251, 0.08056946, -0.0064981645) * conv2d_7_texOff(vec2(-1, 1)); + result += mat4(0.03257809, -0.076975845, -0.003909003, -0.07582689, -0.015173618, 0.16029586, -0.035136804, -0.020634444, 0.043394383, -0.009152167, 0.007245613, -0.19843842, 0.090923175, -0.038627923, 0.071801856, 0.0515674) * conv2d_7_texOff(vec2(0, 1)); + result += mat4(0.049551368, -0.087662384, -0.073277175, 0.09873187, 0.025338676, -0.021965643, 0.043641645, -0.069786035, 0.06376868, -0.03459039, -0.040987365, 0.027192304, -0.15102813, 0.07779334, 0.110606246, -0.009940399) * conv2d_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-1-ReLU) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_1 +//!BIND conv2d_2 +//!BIND conv2d_3 +//!BIND conv2d_4 +//!BIND conv2d_5 +//!BIND conv2d_6 +//!BIND conv2d_7 +//!SAVE conv2d_1_4 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.048475258, -0.0016466539, 0.00079193723, -0.00085421646); + result += mat4(-0.07107167, 0.009886906, -0.061021622, -0.11019054, -0.034301095, 0.09771787, -0.051864993, 0.09684327, -0.08797835, 0.03040107, 0.092474334, 0.055616572, 0.16722639, -0.1127143, -0.0521261, -0.032228544) * conv2d_0_texOff(vec2(-1, -1)); + result += mat4(0.003916877, 0.03955855, 0.02740431, 0.0747205, 0.030897507, 0.0008090569, -0.017456397, -0.09746496, -0.02540629, 0.026678773, -0.056202892, 0.096326, -0.04499608, 0.08766099, -0.157929, -0.0136659695) * conv2d_0_texOff(vec2(0, -1)); + result += mat4(0.05888182, -0.08005892, 0.02972462, -0.061811693, 0.015362483, 0.06387018, -0.03346448, -0.05173854, -0.003174016, -0.17640525, 0.0580828, 0.03887592, 0.091787554, -0.13279878, -0.229628, -0.029493328) * conv2d_0_texOff(vec2(1, -1)); + result += mat4(0.052578602, -0.048647314, 0.011727147, 0.0728119, 0.066691816, 0.023814555, -0.1126139, 0.03546712, -0.002087306, 0.017589265, -0.058256943, -0.047809675, -0.07192625, 0.06246048, -0.11960075, -0.018469479) * conv2d_0_texOff(vec2(-1, 0)); + result += mat4(0.014639136, 0.028646419, 0.046338856, 0.060429603, -0.10019169, 0.080828354, 0.09331199, 0.14373761, 0.0037974808, -0.011071799, -0.043200232, -0.07697648, 0.0040110005, -0.02748587, -0.005841718, 0.014361532) * conv2d_0_texOff(vec2(0, 0)); + result += mat4(0.08907297, 0.072387315, 0.0029937676, -0.09195208, 0.07152659, -0.09494845, -0.054923747, 0.018583521, -0.030953446, -0.12522377, 0.026961498, -0.087497994, 0.07090582, -0.046127476, -0.053495232, 0.074679635) * conv2d_0_texOff(vec2(1, 0)); + result += mat4(0.019997457, 0.06544093, -0.100700974, 0.114821866, -0.0025632358, -0.05271472, 0.040871523, 0.09046423, -0.005349519, 0.031155914, 0.110909775, 0.08456448, 0.02460135, 0.12392686, -0.09796079, 0.111834705) * conv2d_0_texOff(vec2(-1, 1)); + result += mat4(-0.08109648, -0.0791714, 0.054299906, -0.07003891, 0.07221653, -0.051927596, -0.048794396, 0.1044918, -0.058412284, 0.06551401, -0.022327121, 0.03320334, 0.0012289003, -0.048411686, -0.09511639, 0.13888888) * conv2d_0_texOff(vec2(0, 1)); + result += mat4(0.09425481, -0.06460806, 0.022865728, -0.07748199, -0.06553375, 0.11530394, 0.04581206, -0.05435501, -0.022918606, 0.0069057145, 0.032330308, -0.0034222333, 0.066027954, -0.04841268, 0.016022174, 0.12746422) * conv2d_0_texOff(vec2(1, 1)); + result += mat4(-0.07920653, -0.08363159, 0.0010728261, 0.012219267, 0.09309983, -0.12286994, 0.07552689, -0.095300145, -0.07656956, -0.057501182, 0.022588748, 0.08657829, -0.04110398, 0.00840442, -0.0301489, 0.07301429) * conv2d_1_texOff(vec2(-1, -1)); + result += mat4(0.06606469, 0.002892196, -0.06095837, 0.07593702, 0.06942875, 0.0075755315, 0.0013442078, -0.00828146, 0.07808627, -0.033583682, -0.04790125, -0.034544893, 0.01924233, -0.012109767, -0.08271749, -0.0770741) * conv2d_1_texOff(vec2(0, -1)); + result += mat4(0.04393366, -0.048891038, 0.012380383, -0.013186112, 0.091847725, 0.12389503, 0.0014147998, 0.039275076, -0.081549376, -0.004623564, -0.07935479, 0.02697655, 0.013832333, 0.07072621, -0.074392945, 0.023116622) * conv2d_1_texOff(vec2(1, -1)); + result += mat4(0.075016424, 0.0036415877, -0.053060777, -0.056322463, 0.08892003, -0.040733617, -0.050070472, -0.07478059, -0.053945776, 0.06613757, -0.068126686, -0.0366981, -0.08842961, 0.061394252, -0.107219614, -0.010985793) * conv2d_1_texOff(vec2(-1, 0)); + result += mat4(0.04425772, 0.1415786, -0.10028226, -0.05761347, -0.004844568, -0.0032089874, 0.03403872, 0.08799576, -0.003998129, -0.06563576, 0.080497, 0.02689489, 0.09211451, -0.009449857, -0.021673668, -0.09247571) * conv2d_1_texOff(vec2(0, 0)); + result += mat4(-0.05685288, -0.026809065, -0.043143183, -0.028621139, 0.08062907, -0.1118278, -0.10232857, 0.0051646093, -0.09801772, -0.04775816, -0.008075825, -0.094374605, 0.0006863199, 0.021976998, 0.019612359, 0.08583876) * conv2d_1_texOff(vec2(1, 0)); + result += mat4(-0.05038929, -0.014370407, -0.03754497, -0.05101319, -0.12656486, 0.044807885, 0.153567, -0.03021155, -0.055450015, 0.0024230254, -0.07350356, 0.039584994, -0.020816842, -0.07185247, 0.027207956, -0.022641852) * conv2d_1_texOff(vec2(-1, 1)); + result += mat4(-0.005510938, 0.123205535, -0.16553472, -0.10090446, 0.067777455, -0.050744336, 0.012532508, -0.058043756, -0.016505513, 0.026806338, -0.0822389, 0.04897396, -0.043428343, -0.060327265, 0.031839, 0.038261805) * conv2d_1_texOff(vec2(0, 1)); + result += mat4(0.095266946, -0.069655195, -0.0833478, 0.044375885, -0.0050480026, 0.02494113, -0.0026564854, -0.026991423, -0.090860516, -0.047116943, 0.06952996, -0.0022425181, -0.033474483, -0.066667505, 0.0069856537, -0.06317381) * conv2d_1_texOff(vec2(1, 1)); + result += mat4(-0.059562445, 0.33172792, -0.068092905, 0.03439291, -0.07195195, 0.019469827, -0.10411104, -0.021679623, 0.10722331, -0.05072971, -0.02525003, -0.028281672, 0.00039866174, -0.013313403, -0.06571361, 0.035347108) * conv2d_2_texOff(vec2(-1, -1)); + result += mat4(-0.04977538, -0.0017900668, 0.13885789, -0.016805725, -0.051949155, 0.041026216, 0.060506903, -0.06219489, -0.069464386, 0.065778896, 0.10740752, -0.07738396, 0.08975158, 0.15263703, 0.12299245, -0.1265624) * conv2d_2_texOff(vec2(0, -1)); + result += mat4(0.028145334, 0.30570847, 0.05282162, -0.030067949, -0.011653075, 0.05043263, -0.10923805, 0.07860362, -0.0065150973, 0.091024, -0.01978334, 0.044780657, -0.06802425, 0.01619638, -0.032472163, -0.036589485) * conv2d_2_texOff(vec2(1, -1)); + result += mat4(0.04383754, -0.11635602, -0.05356793, 0.069980174, 0.053393573, 0.08778265, -0.10002602, 0.040620703, -0.0719102, -0.058726236, 0.06272818, 0.113265656, -0.08282801, 0.0806168, -0.03435795, 0.06393256) * conv2d_2_texOff(vec2(-1, 0)); + result += mat4(0.053959183, -0.09781597, -0.028107336, 0.013168064, -0.05517896, -0.0070146006, 0.024262734, 0.05077324, 0.01742612, 0.03924756, 0.09421593, 0.062603146, -0.012073489, 0.17694129, 0.038263243, 0.023792565) * conv2d_2_texOff(vec2(0, 0)); + result += mat4(0.04723068, -0.012133287, -0.03745491, -0.037270006, 0.07043867, -0.020096198, 0.022377525, 0.08486179, -0.06479224, -0.028053263, -0.03974197, 0.0110172415, 0.0028299487, -0.0931082, -0.053632356, 0.12266451) * conv2d_2_texOff(vec2(1, 0)); + result += mat4(-0.04069112, 0.05891232, -0.09750251, -0.057000395, -0.101015665, 0.07471539, -0.2604556, 0.12583551, 0.0560215, -0.09036416, -0.02305098, 0.009647609, -0.09342624, 0.034376714, -0.10022436, 0.044726584) * conv2d_2_texOff(vec2(-1, 1)); + result += mat4(-0.0893111, 0.032148596, -0.08310081, -0.01700428, -0.026341679, -0.07058934, 0.0401634, 0.11052103, -0.08138663, -0.06858296, -0.08201966, 0.05669221, -0.030063495, -0.087017015, -0.020989407, -0.036788102) * conv2d_2_texOff(vec2(0, 1)); + result += mat4(-0.1018986, -0.042433813, -0.07444545, 0.045093488, 0.027629675, -0.09635534, 0.1072441, 0.10577341, -0.08239687, 0.022819147, -0.00876415, 0.0016464603, 0.10720989, 0.05540897, -0.062239096, -0.009283536) * conv2d_2_texOff(vec2(1, 1)); + result += mat4(0.06591523, -0.07131523, 0.024921052, -0.015680742, -0.09914005, 0.05626993, -0.05292952, -0.036368117, -0.10857693, -0.0059597846, 0.050618604, -0.13376951, 0.009434105, 0.015088126, 0.08179394, 0.015679443) * conv2d_3_texOff(vec2(-1, -1)); + result += mat4(0.076290846, 0.03541919, -0.055864416, -0.016687224, -0.09611953, -0.07071792, 0.053021263, -0.010106112, -0.025130682, 0.028633118, -0.23567815, 0.17808124, 0.07005153, 0.07826673, 0.024890091, 0.023305975) * conv2d_3_texOff(vec2(0, -1)); + result += mat4(-0.064567454, -0.033199146, 0.09650413, -0.17799379, 0.02295999, 0.11236896, 0.046314254, 0.09271234, 0.044735212, -0.10450614, 0.08487375, 0.19327681, -0.07534402, 0.018160982, -0.0037443629, 0.11518748) * conv2d_3_texOff(vec2(1, -1)); + result += mat4(-0.074817896, -0.25444332, 0.08994501, -0.003402821, -0.06868562, 0.010200037, -0.04413558, -0.029965216, 0.028254136, 0.07453517, -0.18587708, 0.13040918, -0.08169941, -0.07463817, -0.016549308, 0.09607141) * conv2d_3_texOff(vec2(-1, 0)); + result += mat4(0.049767446, 0.08906422, 0.03520491, -0.18080193, 0.093580715, -0.08677526, 0.017181639, -0.053806826, 0.05625478, -0.029974375, -0.053062465, -0.0949589, -0.010565272, -0.07894193, 0.033265743, 0.076197974) * conv2d_3_texOff(vec2(0, 0)); + result += mat4(0.08991163, 0.091494925, -0.123886764, -0.017650919, 0.038362112, -0.10751506, 0.057819013, 0.052269515, -0.048736475, 0.17748421, 0.052762084, 0.032844882, -0.003172618, 0.027197465, -0.042117845, -0.09647693) * conv2d_3_texOff(vec2(1, 0)); + result += mat4(0.070276394, 0.091965385, 0.18032838, 0.055179443, 0.07143453, 0.06666891, 0.07750902, 0.0971104, 0.06969746, -0.023943286, 0.07685685, -0.054852318, 0.04071043, 0.083464965, 0.036707748, 0.028562546) * conv2d_3_texOff(vec2(-1, 1)); + result += mat4(-0.05483332, 0.038014922, -0.0797481, 0.104571775, 0.05305026, 0.013832211, 0.07611026, 0.0676712, -0.14325614, -0.14733802, 0.14168787, -0.07403644, 0.039843615, 0.030549305, 0.0108772265, 0.041099068) * conv2d_3_texOff(vec2(0, 1)); + result += mat4(-0.18807925, -0.18166865, -0.073961146, 0.09488423, 0.017565051, -0.11731689, 0.06118783, 0.004431156, -0.04516029, 0.15848775, 0.015962576, 0.09288796, -0.07108715, -0.02125822, 0.020775877, -0.064516835) * conv2d_3_texOff(vec2(1, 1)); + result += mat4(-0.012176497, -0.1848709, 0.33734348, -0.05894486, 0.012782097, 0.07570575, -0.1313699, 0.07827184, -0.07354171, -0.00092987146, 0.0107863145, -0.011807078, -0.030788118, -0.02953122, 0.00971608, 0.044922534) * conv2d_4_texOff(vec2(-1, -1)); + result += mat4(0.09694433, -0.032827593, 0.15188283, -0.17432085, 0.11572419, -0.0063958676, -0.08504576, 0.038501017, 0.06560127, -0.04954205, 0.15751575, -0.04984897, 0.02309161, 0.07924355, 0.02460358, 0.033725135) * conv2d_4_texOff(vec2(0, -1)); + result += mat4(0.04326798, -0.14398536, 0.060109764, -0.009088822, -0.083218165, 0.07964472, 0.07563434, 0.17255236, 0.11756493, -0.17077628, -0.007821553, 0.00094260735, 0.08448119, -0.11472465, -0.013286992, 0.05210723) * conv2d_4_texOff(vec2(1, -1)); + result += mat4(-0.13507149, 0.05056716, 0.14240554, 0.0124415755, 0.026616398, -0.00023256459, -0.090696454, -0.019716704, 0.05823546, -0.061785523, 0.03757798, 0.058364972, -0.036875404, 0.06911994, 0.07660618, 0.0748468) * conv2d_4_texOff(vec2(-1, 0)); + result += mat4(0.0020429557, 0.12220026, -0.08686554, 0.019307192, -0.015522322, -0.10677009, 0.12831856, 0.0640619, 0.11178919, -0.014166529, -0.0016424197, 0.003893712, 0.094736986, -0.031916592, 0.04108218, -0.08029681) * conv2d_4_texOff(vec2(0, 0)); + result += mat4(-0.033818807, -0.057580315, -0.17926937, -0.019071288, 0.095854074, -0.03173402, 0.14486367, -0.11090472, -0.09688005, -0.1020589, -0.012277055, -0.01987762, 0.06854693, -0.101630844, 0.023158424, -0.024749078) * conv2d_4_texOff(vec2(1, 0)); + result += mat4(-0.04278791, -0.39753047, -0.050630122, -0.15013146, 0.030995678, 0.10476827, 0.1192825, 0.095728196, 0.01241079, 0.09018692, 0.117576614, 0.06446324, -0.028965274, 0.02938581, -0.0800518, -0.070997775) * conv2d_4_texOff(vec2(-1, 1)); + result += mat4(-0.071223065, 0.045461647, -0.09929226, -0.104495004, 0.04476408, 0.04722664, 0.3189616, -0.060818408, 0.106646135, -0.11574792, 0.19994585, 0.07147646, 0.03201663, 0.04001358, -0.082039565, -0.062932745) * conv2d_4_texOff(vec2(0, 1)); + result += mat4(-0.06889859, -0.3564969, -0.28342602, 0.012938501, 0.08771154, 0.25822315, 0.041526116, -0.09530609, 0.05814752, 0.20632811, -0.0013347827, 0.09847382, 0.02871313, -0.015895266, -0.107586086, -0.10094418) * conv2d_4_texOff(vec2(1, 1)); + result += mat4(-0.01990683, 0.15605038, -0.23181713, -0.015028779, -0.08116957, 0.041289378, -0.10415446, 0.0912794, 0.090948105, 0.25195464, -0.04139658, -0.076655924, -0.105826296, -0.00845422, 0.037362546, -0.07934489) * conv2d_5_texOff(vec2(-1, -1)); + result += mat4(0.037937388, -0.0637305, -0.058527086, -0.106701404, 0.009227687, 0.07402236, 0.14353609, 0.038850978, -0.14577241, -0.20072232, -0.02152236, 0.09742811, 0.058013044, 0.0155805405, 0.01312362, 0.01759056) * conv2d_5_texOff(vec2(0, -1)); + result += mat4(-0.004988307, -0.08699653, 0.008860123, 0.042042453, 0.06332248, -0.004671539, 0.0185625, 0.016896315, -0.09381278, 0.06720311, -0.14042412, 0.01487101, 0.040130008, -0.16804193, 0.060712453, 0.09343712) * conv2d_5_texOff(vec2(1, -1)); + result += mat4(0.03561345, 0.16724397, -0.12962472, 0.009159126, 0.033909254, 0.007743173, 0.1295449, 0.018664222, -0.08172696, -0.041466434, -0.11758127, 0.00088513613, 0.085355654, -0.019932844, -0.05447414, -0.08687549) * conv2d_5_texOff(vec2(-1, 0)); + result += mat4(-0.07103445, 0.0452273, 0.057658583, -0.057639357, -0.053583283, -0.036553428, 0.019884568, 0.13787714, 0.004777098, -0.019850634, -0.0561567, -0.045421574, 0.041153472, -0.027913861, -0.066323474, -0.03413847) * conv2d_5_texOff(vec2(0, 0)); + result += mat4(-0.021707796, 0.0038350872, 0.020430477, -0.05453779, -0.030844236, -0.027564893, 0.026277285, -0.090540655, 1.025651e-05, 0.0831811, -0.09519294, 0.06232579, -0.073697284, -0.02375083, -0.068221204, -0.045323938) * conv2d_5_texOff(vec2(1, 0)); + result += mat4(-0.11126249, -0.030950433, -0.12846975, 0.019384673, -0.029222744, 0.04292489, -0.005472069, -0.013624525, 0.03900492, -0.20187259, 0.061479345, 0.018400386, 0.039325856, 0.09856128, 0.02980483, -0.055565502) * conv2d_5_texOff(vec2(-1, 1)); + result += mat4(0.008030769, -0.03104475, 0.12869589, 0.084577695, 0.024880506, 0.0015863865, 0.12685429, -0.08704813, -0.12965715, 0.050971035, -0.017468322, -0.008786162, 0.040520977, -0.02004884, 0.18062603, -0.055512) * conv2d_5_texOff(vec2(0, 1)); + result += mat4(0.23323788, 0.06334802, 0.05225023, 0.00043607646, -0.03571876, 0.018188532, 0.066918, -0.010153479, -0.019752601, -0.23112004, -0.07860096, -0.035277765, 0.026505912, 0.06179351, 0.077628106, 0.057613395) * conv2d_5_texOff(vec2(1, 1)); + result += mat4(0.009436241, -0.050790813, -0.086943954, -0.079254635, -0.022531273, -0.035436243, 0.0983481, -0.06356742, 0.026240654, 0.0805506, -0.1499398, 0.0748268, 0.07842964, 0.07381265, -0.09532043, -0.036446363) * conv2d_6_texOff(vec2(-1, -1)); + result += mat4(-0.11400664, 0.021654895, 0.0061850306, -0.09961288, -0.08737236, 0.077904865, 0.08036145, -0.11633716, 0.0863448, 0.019641003, -0.14571203, 0.054178245, -0.06444375, -0.069144905, 0.09473548, -0.0061333785) * conv2d_6_texOff(vec2(0, -1)); + result += mat4(-0.026497746, 0.019416533, -0.121185556, 0.12583995, -0.117015906, 0.0743505, 0.054157857, -0.026286624, -0.03113982, 0.07616736, 0.012576774, -0.08693734, 0.10418915, 0.028850554, -0.16393994, -0.10983428) * conv2d_6_texOff(vec2(1, -1)); + result += mat4(0.043596298, 0.13709915, -0.11882029, -0.06429899, -0.068146706, -0.0962499, -0.039666053, 0.050236776, -0.04703746, -0.059996374, -0.07363852, 0.039451927, 0.033618648, 0.23584199, -0.158181, 0.026572796) * conv2d_6_texOff(vec2(-1, 0)); + result += mat4(0.010889843, -0.08782069, 0.017778782, -0.060033727, -0.01276126, 0.1032493, -0.15713793, -0.04965889, -0.034666874, -0.022112066, 0.1344209, -0.1087487, -0.010047588, -0.1161863, -0.0028834247, 0.053243298) * conv2d_6_texOff(vec2(0, 0)); + result += mat4(0.10104686, 0.108973145, -0.066654116, 0.08176969, -0.10179938, 0.060931846, 0.027188169, 0.08249329, 0.04682417, 0.12893721, -0.039238207, -0.08673354, 0.096696444, 0.18988575, 0.09436111, -0.16665058) * conv2d_6_texOff(vec2(1, 0)); + result += mat4(0.102844924, -0.121063076, -0.15120025, 0.109667115, 0.06777, -0.11630844, 0.061267655, -0.010897848, -0.047274522, 0.07608138, -0.0073114485, 0.035060875, 0.022505092, -0.11353897, -0.0994852, -0.017566938) * conv2d_6_texOff(vec2(-1, 1)); + result += mat4(-0.06230334, -0.051167365, 0.10845475, 0.06589715, -0.06691571, 0.009406191, -0.14147575, -0.04683061, 0.049787533, -0.049566865, 0.017011613, 0.095692754, 0.11373638, 0.011897234, 0.21297935, -0.06009686) * conv2d_6_texOff(vec2(0, 1)); + result += mat4(0.1239739, 0.0021995236, 0.017582195, -0.069414996, 0.07280288, -0.16227229, 0.044274483, 0.005935938, 0.0054356866, -0.05059835, 0.020577883, 0.06938757, 0.18385416, 0.06177331, -0.0042567877, -0.17950304) * conv2d_6_texOff(vec2(1, 1)); + result += mat4(-0.09434619, 0.06560225, -0.04573101, 0.07085812, 0.030111752, 0.107882775, -0.0033291937, 0.059003323, 0.01246872, 0.012420151, 0.0014607864, -0.047120944, 0.025445282, -0.009040443, 0.059385948, -0.06825505) * conv2d_7_texOff(vec2(-1, -1)); + result += mat4(-0.08541858, -0.0174127, -0.04654507, 0.070258774, 0.0889998, 0.10864832, 0.04691948, -0.0027463394, 0.07281909, 0.06914409, 0.068514556, 0.022353638, -0.14776325, -0.02298394, -0.012090953, 0.018218253) * conv2d_7_texOff(vec2(0, -1)); + result += mat4(0.05204478, 0.09184707, 0.07330293, 0.092975646, 0.01661342, 0.070435844, -0.0971031, 0.12135898, 0.07111196, -0.121019915, -0.012531093, 0.06530126, -0.017568344, 0.03134535, 0.10205825, -0.099354796) * conv2d_7_texOff(vec2(1, -1)); + result += mat4(0.08191207, -0.024354478, 0.06817851, -0.014563292, -0.01565188, 0.023515431, -0.08222648, 0.047537677, -0.07971235, 0.16833308, 0.12393237, -0.028001945, 0.0520506, -0.0012640959, 0.0162566, 0.055017017) * conv2d_7_texOff(vec2(-1, 0)); + result += mat4(-0.09336124, -0.09281495, 0.1101393, 0.006538246, -0.034197673, 0.028642962, -0.08813212, 0.03629264, 0.06582348, -0.004847371, -0.07030353, 0.026741609, 0.008455193, 0.12576023, -0.06088293, 0.036267947) * conv2d_7_texOff(vec2(0, 0)); + result += mat4(-0.01447002, 0.0016440776, -0.017955488, 0.029259834, -0.025812186, -0.07462318, -0.056285467, 0.100892186, 0.0344237, -0.11248404, -0.007935469, 0.07946504, -0.014773585, 0.011958028, 0.016499666, -0.07582556) * conv2d_7_texOff(vec2(1, 0)); + result += mat4(0.044969257, -0.040438708, -0.085450225, -0.06899979, -0.03020031, 0.03161272, -0.031150188, -0.040331975, 0.11117189, -0.11816059, -0.070126675, -0.020423241, -0.030005997, -0.024055695, -0.068071306, 0.026006375) * conv2d_7_texOff(vec2(-1, 1)); + result += mat4(-0.05357187, -0.0027176172, 0.049922068, 0.070143506, 0.0024742284, -0.001609003, -0.016137697, -0.09247473, -0.043662626, -0.047819484, -0.045613714, 0.081337824, -0.09299693, -0.0010868433, -0.05359032, 0.056290947) * conv2d_7_texOff(vec2(0, 1)); + result += mat4(0.029666858, 0.10530187, -0.054595873, -0.07281814, -0.09350027, 0.038444787, 0.061979685, -0.058553815, 0.049948607, 0.012294495, -0.05192567, 0.025429344, -0.12098077, 0.08080997, 0.0094671985, -0.12551332) * conv2d_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-1-ReLU) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_1 +//!BIND conv2d_2 +//!BIND conv2d_3 +//!BIND conv2d_4 +//!BIND conv2d_5 +//!BIND conv2d_6 +//!BIND conv2d_7 +//!SAVE conv2d_1_5 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.004292939, -0.007199753, -0.020891383, -0.014245914); + result += mat4(0.055644114, 0.09100377, -0.09884798, -0.051091373, -0.085678, -0.033505734, 0.08471433, 0.18646845, -0.07639864, 0.00441054, 0.024321288, -0.09081836, -0.08614323, 0.033649556, 0.11116135, -0.04754286) * conv2d_0_texOff(vec2(-1, -1)); + result += mat4(-0.008508442, -0.06055039, 0.0892533, -0.0026407773, -0.066962324, 0.20870215, 0.016249817, 0.014573222, -0.014040939, -0.027278153, -0.10285528, -0.054542765, -0.013049143, -0.06981654, -0.076475196, -0.09750048) * conv2d_0_texOff(vec2(0, -1)); + result += mat4(-0.03795553, 0.0143357925, -0.016079782, -0.006489082, -0.03972342, 0.28403255, 0.035600446, 0.06803707, -0.07935166, 0.004586236, 0.08002264, -0.18448937, 0.041353814, 0.015822008, -0.05091458, -0.040045615) * conv2d_0_texOff(vec2(1, -1)); + result += mat4(-0.022752449, -0.0015922387, -0.02417062, 0.044221714, -0.023399815, -0.027109493, 0.057470188, 0.16871566, 0.02850123, 0.019003008, 0.035710644, 0.059970394, -0.05851297, 0.0014255987, 0.01846305, -0.05837014) * conv2d_0_texOff(vec2(-1, 0)); + result += mat4(-0.015941922, -0.00018951598, 0.054370604, 0.08404262, 0.019477477, 0.08344221, 0.018560952, 0.017283296, -0.07392705, -0.05338679, -0.11020158, 0.116446935, 0.0069110105, 0.08907191, -0.020846397, 0.034059506) * conv2d_0_texOff(vec2(0, 0)); + result += mat4(-0.0113523025, 0.060716033, 0.06007438, -0.09162546, 0.1260145, 0.19113933, 0.09518889, -0.021285597, -0.048454158, 0.0063076103, 0.057714187, -0.21400014, -0.08418822, 0.1280361, 0.006485279, -0.12659805) * conv2d_0_texOff(vec2(1, 0)); + result += mat4(0.1002374, 0.018109227, -0.01716318, 0.052764807, 0.01971112, -0.051976264, 0.10663379, 0.038151883, -0.09956897, 0.027390987, -0.039190672, 0.00077889336, -0.102483846, -0.060825493, 0.0842883, -0.25052896) * conv2d_0_texOff(vec2(-1, 1)); + result += mat4(-0.033495557, 0.15619174, -0.07669208, -0.013560531, -0.11360866, 0.06649094, -0.0164348, 0.042110782, 0.0018052958, 0.06994752, -0.09987116, 0.008038039, -0.058035474, -0.072867595, -0.07268963, 0.15754937) * conv2d_0_texOff(vec2(0, 1)); + result += mat4(-0.021473728, 0.033792827, 0.03537521, 0.01428014, 0.03222293, -0.039847914, 0.036089383, 0.0024968488, -0.062251233, -0.16892616, -0.033293054, -0.031068735, 0.2530231, 0.001155346, -0.03992736, -0.20498578) * conv2d_0_texOff(vec2(1, 1)); + result += mat4(0.030766783, -0.13724993, 0.09068031, -0.2650363, 0.0125939865, 0.058933888, -0.07848431, -0.60372937, 0.030212702, -0.08489361, -0.08394632, -0.13388334, -0.09928932, -0.07939152, -0.03928932, 0.20898159) * conv2d_1_texOff(vec2(-1, -1)); + result += mat4(0.09317262, -0.043295905, -0.04844237, -0.12268558, 0.010076108, 0.02171641, 0.04081988, -0.257819, -0.0614182, -0.07455797, 0.004421147, -0.03552105, 0.037976246, -0.06416607, -0.07303247, -0.0073462785) * conv2d_1_texOff(vec2(0, -1)); + result += mat4(0.08058797, -0.11186992, 0.022134712, -0.046224464, 0.15134649, 0.121105306, 0.005597554, 0.0030800474, 0.012267675, -0.07358752, 0.03395754, -0.1442319, -0.044373643, 0.03912309, -0.08802164, 0.11862474) * conv2d_1_texOff(vec2(1, -1)); + result += mat4(-0.047818724, 0.06288061, 0.009817287, -0.11424003, -0.10694429, 0.06393536, -0.0044410587, 0.090005174, -0.10714287, -0.1317614, -0.051108394, -0.08207541, -0.08945396, 0.055785347, 0.017509166, 0.029217197) * conv2d_1_texOff(vec2(-1, 0)); + result += mat4(-0.005427444, -0.39763704, -0.028461594, 0.010529486, -0.055614814, -0.22618075, 0.06641385, -0.09347008, -0.04260682, -0.06892283, 0.07956672, 0.042624615, -0.016972566, 0.05952707, 0.0580695, -0.083627835) * conv2d_1_texOff(vec2(0, 0)); + result += mat4(0.0005555321, 0.044410344, -0.005095968, 0.05072879, 0.070896395, 0.08087963, -0.01440604, -0.062481552, 0.054988667, -0.06871177, -0.01248332, -0.06680518, 0.018737905, 0.047259007, -0.05739308, -0.026940063) * conv2d_1_texOff(vec2(1, 0)); + result += mat4(-0.110868976, 0.012300397, -0.024920572, -0.01776843, 0.03148568, 0.07927911, -0.115689695, 0.12725687, -0.08959673, -0.051062927, 0.0756265, 0.008200832, 0.12126783, 0.046756875, -0.0520029, 0.1433251) * conv2d_1_texOff(vec2(-1, 1)); + result += mat4(-0.07526472, -0.15608633, -0.04184872, 0.077368036, 0.008526319, -0.06521899, 0.08615129, -0.051503226, -0.121396534, 0.025763517, 0.076955155, -0.02363298, 0.03235363, 0.059667144, 0.07008671, 0.073270455) * conv2d_1_texOff(vec2(0, 1)); + result += mat4(-0.0010615847, 0.14783226, -0.00045865067, 0.027492642, -0.23415092, 0.06078512, -0.05858751, 0.26728588, -0.061105136, -0.0034197837, 0.041975733, 0.09819361, 0.14543128, -0.06382426, 0.04237917, -0.01878692) * conv2d_1_texOff(vec2(1, 1)); + result += mat4(-0.14783914, 0.016857151, 0.08701159, 0.3839409, -0.05986543, -0.001223289, 0.116124675, -0.11462088, -0.065441445, 0.045305803, 0.105727576, 0.113511905, -0.09839826, 0.10658338, -0.013634175, 0.27196166) * conv2d_2_texOff(vec2(-1, -1)); + result += mat4(0.08806897, 0.16058789, -0.02110755, -0.019904554, -0.026408557, -0.014882521, -0.0041339393, 0.0535871, 0.023940505, 0.21421805, -0.055575103, 0.015863266, 0.103765585, -0.04679736, -0.05604605, 0.015547754) * conv2d_2_texOff(vec2(0, -1)); + result += mat4(-0.016207287, 0.14002056, -0.081970565, 0.8476871, 0.091421716, -0.07672085, -0.13585556, 0.10495173, 0.0354231, 0.0010502952, 0.06366433, 0.020647908, -0.07145658, 0.046143085, 0.03641755, 0.032779723) * conv2d_2_texOff(vec2(1, -1)); + result += mat4(0.05282534, -0.009298014, 0.069248386, 0.12569632, -0.055417318, -0.15349583, -0.076167546, -0.027360843, 0.053949777, 0.01833769, 0.022393016, 0.12506182, -0.071708985, -0.096842155, -0.024014313, 0.058814757) * conv2d_2_texOff(vec2(-1, 0)); + result += mat4(0.15311414, -0.3153416, 0.061271377, 0.08881981, -0.15500443, 0.023460561, -0.012241763, -0.011228046, 0.09992462, -0.10410188, -0.034400377, -0.042398654, 0.05027194, -0.013892793, -0.018229159, 0.07468395) * conv2d_2_texOff(vec2(0, 0)); + result += mat4(0.1334948, -0.13669999, -0.04679306, -0.13389024, 0.0345736, 0.16154362, -0.019610494, -0.0134619335, 0.010543973, -0.058033522, -0.02503624, -0.0829884, 0.0620119, -0.011144529, 0.03143673, -0.06020535) * conv2d_2_texOff(vec2(1, 0)); + result += mat4(-0.1486809, -0.008192016, -0.0054756096, -0.7009343, -0.020700095, 0.035480622, 0.035028126, -0.33240998, 0.054471724, 0.029226253, 0.041914374, 0.08902709, 0.11550206, 0.03649633, 0.029427016, 0.12272899) * conv2d_2_texOff(vec2(-1, 1)); + result += mat4(-0.28581318, -0.11949545, 0.048436508, 0.21196504, -0.13154086, -0.026226213, -0.04853247, 0.18927798, -0.03168101, 0.08022983, -0.015022998, 0.06487658, 0.015757538, 0.072379604, 0.018881375, -0.018444886) * conv2d_2_texOff(vec2(0, 1)); + result += mat4(-0.26712573, -0.0032310884, -0.016834408, -0.1816439, 0.18915878, 0.21618153, 0.002511784, -0.13175535, 0.013028425, -0.053407785, 0.101628885, 0.06819314, -0.008635901, 0.068020396, -0.017948767, -0.0011337672) * conv2d_2_texOff(vec2(1, 1)); + result += mat4(0.0033801186, 0.117035866, 0.08848007, -0.011297425, -0.058179323, -0.064032614, 0.03296836, 0.16049223, 0.1070602, -0.12713557, -0.004779712, -0.4011729, 0.08764687, 0.024407176, -0.03358569, -0.27312428) * conv2d_3_texOff(vec2(-1, -1)); + result += mat4(-0.06418312, -0.042300995, -0.019602612, -0.086257786, -0.052899487, 0.026715865, 0.029930742, -0.0804106, -0.117608294, -0.22286575, -0.03853984, -0.11321715, 0.012586427, -0.06935172, -0.09880006, -0.015679559) * conv2d_3_texOff(vec2(0, -1)); + result += mat4(-0.006873587, 0.019033734, -0.023495542, -0.022405172, 0.08440516, 0.26194724, 0.011715261, -0.006633725, -0.16860041, 0.06950722, 0.070177846, -0.060152218, -0.09223719, 0.028397342, -0.0915829, -0.1292168) * conv2d_3_texOff(vec2(1, -1)); + result += mat4(0.15370016, 0.33142152, -0.058273178, -0.2868947, 0.06558088, 0.015430644, -0.01578264, 0.10768305, -0.10206022, 0.052218422, -0.043306116, -0.2393894, -0.016030865, 0.053676378, -0.051455665, -0.0038445867) * conv2d_3_texOff(vec2(-1, 0)); + result += mat4(0.20652036, -0.13867076, 0.046967026, 0.18810634, 0.05066032, 0.022995483, 0.06783667, 0.012802927, -0.042999428, 0.1679408, -0.034873832, 0.04749268, -0.043482706, -0.11492579, 0.060911417, -0.041120086) * conv2d_3_texOff(vec2(0, 0)); + result += mat4(-0.08529889, -0.19887765, -0.05275126, 0.16137825, 0.10895081, 0.06818321, -0.07515901, -0.04891235, -0.07468073, -0.11204083, 0.03679473, -0.057139438, 0.05710983, -0.038850594, 0.10024077, 0.081158176) * conv2d_3_texOff(vec2(1, 0)); + result += mat4(0.0790737, -0.051616836, -0.021337593, 0.32708284, -0.064390264, -0.08611764, -0.07299765, 0.11629796, 0.08347041, 0.011340547, 0.06340137, 0.26635128, -0.075679384, -0.03764004, 0.030090153, -0.037227985) * conv2d_3_texOff(vec2(-1, 1)); + result += mat4(0.1784687, -0.16661578, -0.07178752, 0.13216893, 0.01753238, -0.007203522, -0.020626618, 0.17457542, 0.16491905, 0.096586764, -0.0041018194, 0.06494877, -0.0022741517, 0.0023413375, 0.056674287, -0.006198614) * conv2d_3_texOff(vec2(0, 1)); + result += mat4(-0.06546798, 0.17806013, 0.00612111, -0.2504232, 0.09828336, -0.012952871, 0.034865692, 0.038956523, -0.065451026, -0.19129173, 0.055539172, 0.01841785, -0.056690443, 0.004939801, -0.042002056, -0.06249305) * conv2d_3_texOff(vec2(1, 1)); + result += mat4(-0.07250634, -0.04214204, -0.043711506, -0.16882437, -0.003681087, 0.08322764, 0.09566099, 0.07023795, 0.06459661, 0.26854116, 0.022844557, 0.18311113, 0.08485956, 0.048210695, -0.012465864, -0.06934984) * conv2d_4_texOff(vec2(-1, -1)); + result += mat4(0.08773552, 0.032249037, 0.031273827, 0.024720963, -0.17257583, -0.015102483, -0.019464351, 0.09157749, -0.03820949, 0.064436466, 0.056434434, 0.1331503, 0.097844854, -0.12721643, 0.04045196, -0.11391265) * conv2d_4_texOff(vec2(0, -1)); + result += mat4(0.06485637, -0.18431708, 0.018872345, -0.006628801, 0.013950366, 0.06822668, 0.025233407, 0.043890025, 0.013630276, -0.12381056, 0.09421659, -0.26922756, -0.052022092, 0.020833546, 0.071972966, -0.059330553) * conv2d_4_texOff(vec2(1, -1)); + result += mat4(0.020175068, -0.0077399057, -0.12277569, -0.09335791, -0.20299459, 0.10106041, 0.06742303, -0.013244781, 0.027820807, 0.22079356, 0.13813128, 0.098309785, 0.07117544, -0.019483617, 0.0595568, -0.042477697) * conv2d_4_texOff(vec2(-1, 0)); + result += mat4(0.19882151, -0.4041186, 0.016097339, -0.038302995, -0.040197145, 0.2646564, -0.012879744, -0.056977246, -0.091667354, 0.032797452, 0.0503183, -0.084563196, 0.08102928, -0.032928515, 0.04469852, 0.10614667) * conv2d_4_texOff(vec2(0, 0)); + result += mat4(0.06931306, -0.15771067, 0.018497972, 0.21386568, -0.028646845, 0.1127942, 0.0138763245, -0.07122855, 0.021736091, -0.06372138, -0.0442334, -0.055689104, 0.048099957, -0.04843639, 0.024233894, -0.018077156) * conv2d_4_texOff(vec2(1, 0)); + result += mat4(0.11171957, 0.1836148, -0.24335489, -0.3293444, 0.10519631, 0.0070859874, -0.057608176, 0.27348486, 0.03894111, 0.080753565, -0.0038434237, 0.26486287, 0.023257867, -0.054950252, -0.007635298, -0.05807418) * conv2d_4_texOff(vec2(-1, 1)); + result += mat4(0.034679346, 0.119858414, 0.028517682, 0.12541653, 0.068251744, -0.00052726286, -0.109709665, -0.07537806, 0.15935399, 0.08224939, -0.018930174, 0.004545589, 0.03580057, -0.068810225, -0.0848546, 0.10910069) * conv2d_4_texOff(vec2(0, 1)); + result += mat4(-0.16975042, 0.08385562, -0.019323999, -0.4207543, -0.030151581, -0.19558407, 0.10084607, 0.2539609, 0.20269632, 0.04474558, 0.114418186, 0.2853872, -0.081392586, -0.051220145, -0.010991561, 0.08170888) * conv2d_4_texOff(vec2(1, 1)); + result += mat4(-0.04427489, -0.14128783, 0.12066803, -0.3922497, -0.0708468, -0.034092937, 0.08448367, 0.42555586, 0.010222631, -0.095249556, 0.083039716, -0.014124507, 0.044962715, 0.06833478, -0.046168923, 0.100519076) * conv2d_5_texOff(vec2(-1, -1)); + result += mat4(-0.08214263, -0.12045208, -0.011228252, 0.025635011, 0.021952296, 0.08572999, 0.105687365, 0.04004142, 0.03359631, 0.008610901, 0.068155885, -0.095625214, 0.011148379, -0.095789015, -0.08024637, 0.17837481) * conv2d_5_texOff(vec2(0, -1)); + result += mat4(-0.10016818, -0.05832227, 0.06217913, -0.03258136, 0.07217873, -0.077596694, 0.05088975, -0.05954446, -0.037371486, 0.03125029, -0.02910495, -0.21224326, -0.019546857, -0.1345682, 0.009360086, -0.09555079) * conv2d_5_texOff(vec2(1, -1)); + result += mat4(0.021508092, -0.20426661, 0.017114809, -0.047079366, -0.059548203, 0.081849545, 0.023988977, 0.037090033, 0.061871964, 0.06478672, -0.110401, -0.15728383, -0.0792295, 0.04227156, -0.014002586, 0.16745356) * conv2d_5_texOff(vec2(-1, 0)); + result += mat4(-0.016550982, 0.20382951, -0.02692183, 0.023213081, -0.057956774, 0.20573159, 0.05177937, -0.15147279, -0.09678313, 0.0038483278, -0.10034566, 0.057732306, -0.024816891, 0.31986454, 0.009769604, -0.18963176) * conv2d_5_texOff(vec2(0, 0)); + result += mat4(-0.020347765, 0.10928244, 0.039942354, 0.03959467, -0.051366813, -0.030560926, -0.039278496, -0.06696584, -0.033686683, 0.077553116, 0.108040154, 0.031460248, -0.019993149, 0.037052587, 0.027747856, -0.052539505) * conv2d_5_texOff(vec2(1, 0)); + result += mat4(0.13990198, 0.153456, -0.04542057, 0.029194029, -0.045146197, -0.026631914, -0.052210677, -0.050615616, 0.070918016, 0.058730442, -0.10814299, 0.10040124, 0.11118155, -0.08326182, 0.047304686, 0.16626035) * conv2d_5_texOff(vec2(-1, 1)); + result += mat4(0.19942518, 0.16004656, 0.0051715667, -0.23234288, -0.0850096, -0.014540449, 0.029734468, 0.028703284, 0.15345702, 0.060000345, 0.0964286, 0.08085447, 0.048258416, -0.005429813, 0.056613512, -0.18905881) * conv2d_5_texOff(vec2(0, 1)); + result += mat4(0.24462524, 0.15451431, -0.004508733, -0.011049552, 0.15904494, 0.014337372, -0.023105847, 0.1466589, 0.027983746, 0.019366248, 0.025918817, 0.07561972, 0.026054906, -0.11135223, 0.03468939, 0.040179823) * conv2d_5_texOff(vec2(1, 1)); + result += mat4(-0.014611327, -0.10121976, -0.012014963, -0.2008808, 0.037219074, -0.061283253, 0.036003754, -0.17796265, -0.09942259, -0.00046910017, -0.043701842, -0.19557664, -0.07636681, -0.07517057, -0.08781258, -0.16742809) * conv2d_6_texOff(vec2(-1, -1)); + result += mat4(0.01174972, -0.06614205, 0.05407236, -0.16031916, -0.039798856, -0.092443, -0.021134224, -0.13759428, -0.12260421, -0.14021268, -0.0063174507, 0.0044863042, 0.012214964, 0.10938553, 0.022553984, 0.13440818) * conv2d_6_texOff(vec2(0, -1)); + result += mat4(-0.014141495, 0.008313913, -0.08818923, 0.09777944, 0.071927026, -0.008345156, 0.03798976, 0.052152008, 0.084851235, 0.15265068, -0.03857112, -0.07690967, 0.029678, -0.019178161, -0.051616143, -0.039993167) * conv2d_6_texOff(vec2(1, -1)); + result += mat4(0.0023489448, -0.20498063, 0.008616179, -0.008651759, 0.038537506, 0.1264171, 0.052656814, -0.0989684, -0.07601843, 0.175161, -0.033019602, -0.35669017, -0.07406906, 0.015371613, 0.0009856811, 0.03281617) * conv2d_6_texOff(vec2(-1, 0)); + result += mat4(-0.1494672, 0.13954525, 0.078160785, 0.053159017, 0.004550467, -0.02782462, -0.033040896, 0.3088946, 0.06554074, 0.19207506, 0.051462516, 0.19270122, -0.09354585, 0.108496346, 0.047225807, 0.015767293) * conv2d_6_texOff(vec2(0, 0)); + result += mat4(-0.020020802, -0.0038856298, -0.07994644, 0.08461428, 0.036428776, -0.13642997, -0.059102934, 0.003096909, 0.015220521, -0.091018066, 0.03366148, 0.25302845, 0.008346765, -0.013925157, 0.10445419, 0.095947795) * conv2d_6_texOff(vec2(1, 0)); + result += mat4(0.024125867, 0.131004, -0.036612254, -0.2609639, 0.017814986, 0.06305231, -0.061913304, 0.111362875, 0.13694988, -0.05538387, -0.02844326, 0.08826575, 0.071870856, -0.01899622, -0.07534982, -0.10540232) * conv2d_6_texOff(vec2(-1, 1)); + result += mat4(-0.042177524, 0.24119769, 0.087500766, -0.11947602, 0.054912142, -0.06156533, -0.014772919, 0.078837775, 0.20128468, 0.31156486, -0.05370486, -0.082766354, -0.033690557, 0.077190876, 0.09891412, -0.18027462) * conv2d_6_texOff(vec2(0, 1)); + result += mat4(0.16838363, 0.0717853, -0.06305715, -0.078164145, -0.11990449, 0.12974742, -0.06874924, -0.13946219, -0.12111357, -0.038500782, 0.038149644, 0.0121555, 0.05740068, 0.10635327, -0.06441076, 0.1214566) * conv2d_6_texOff(vec2(1, 1)); + result += mat4(0.07962822, 0.026585544, 0.0152262, -0.026543882, 0.056499828, -0.025001235, 0.026526922, 0.3027483, -0.018413372, 0.05891316, -0.1406145, 0.052545972, -0.054940324, -0.09337434, 0.0013769905, 0.09233819) * conv2d_7_texOff(vec2(-1, -1)); + result += mat4(0.07820321, 0.0042193057, 0.014068344, -0.107965685, -0.10064773, -0.09709808, 0.11343873, 0.014041947, 0.044066686, -0.09405697, 0.06153122, 0.04237442, -0.11336107, -0.054238673, -0.08926233, -0.0807603) * conv2d_7_texOff(vec2(0, -1)); + result += mat4(0.033652373, 0.1047874, 0.02118369, -0.023661261, 0.05328256, 0.23322287, 0.08916468, 0.15312532, 0.009239292, 0.16489509, -0.09126923, 0.15254366, 0.009453087, -0.1396487, -0.020423133, 0.051727515) * conv2d_7_texOff(vec2(1, -1)); + result += mat4(0.043349545, -0.08852708, 0.033218063, -0.1246443, 0.16214259, -0.049378127, 0.12479136, -0.012243139, 0.013372278, -0.10934197, 0.03852828, 0.09618693, 0.06022652, 0.06486975, 0.04713489, -0.09559535) * conv2d_7_texOff(vec2(-1, 0)); + result += mat4(0.057024423, -0.13659717, -0.012351795, 0.0056397766, -0.06044732, -0.10356769, 0.11958595, 0.18055393, 0.06377517, -0.17707728, -0.10713078, 0.47401905, -0.12482789, -0.11807397, 0.026042808, 0.11599631) * conv2d_7_texOff(vec2(0, 0)); + result += mat4(0.03494781, -0.09645318, 0.028966196, -0.04641322, -0.037011404, 0.0013174255, -0.016328868, -0.041759737, 0.042689096, 0.09282563, 0.06016206, -0.16539642, -0.09345006, -0.16392319, 0.07466253, 0.09104711) * conv2d_7_texOff(vec2(1, 0)); + result += mat4(-0.12995051, 0.051939905, -0.036005184, -0.118541546, 0.021179078, -0.00683411, -0.013371415, 0.027010856, -0.0043306933, -0.14565396, -0.0045375093, -0.18205337, 0.14343725, -0.009547237, 0.060663674, -0.06357451) * conv2d_7_texOff(vec2(-1, 1)); + result += mat4(-0.10902644, -0.00056041393, 0.0042263377, 0.09643926, -0.035976343, -0.047115263, 0.0606451, -0.005948926, -0.03259752, 0.05036386, 0.04517439, 0.05276042, 0.07211694, 0.0014044475, -0.06844833, -0.14150175) * conv2d_7_texOff(vec2(0, 1)); + result += mat4(0.06975195, -0.10852827, 0.06821558, 0.024703262, -0.11091825, 0.064011246, 0.00042182748, -0.02777697, -0.09659334, -0.20865579, 0.1122862, -0.051212423, -0.02592291, 0.01885453, -0.03651825, 0.018138785) * conv2d_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-1-ReLU) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_1 +//!BIND conv2d_2 +//!BIND conv2d_3 +//!BIND conv2d_4 +//!BIND conv2d_5 +//!BIND conv2d_6 +//!BIND conv2d_7 +//!SAVE conv2d_1_6 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.008209412, 0.0036267866, 0.010955691, 0.012122923); + result += mat4(-0.08971826, 0.009755134, 0.024108082, 0.021998988, -0.09971011, -0.077811785, -0.018673878, 0.12245483, 0.0976537, -0.019683914, 0.063392304, -0.07712546, -0.02526047, 0.10542067, -0.106252775, 0.030170942) * conv2d_0_texOff(vec2(-1, -1)); + result += mat4(-0.056845814, -0.005701543, -0.059821457, 0.046284635, -0.06211573, -0.07354531, -0.033425458, 0.07692848, -0.09811117, 0.07596387, -0.042805985, -0.06723873, -0.058561113, 0.081856266, 0.050178386, -0.05841457) * conv2d_0_texOff(vec2(0, -1)); + result += mat4(-0.046308946, 0.048190247, 0.095933825, -0.043295655, -0.09051246, 0.09801284, -0.08490673, 0.018770969, -0.030554472, -0.013495266, -0.05858333, 0.11788926, 0.06886642, 0.039519854, -0.05097836, -0.051860195) * conv2d_0_texOff(vec2(1, -1)); + result += mat4(0.07875512, 0.0037143175, 0.06137392, -0.039755248, -0.016687317, 0.09264347, -0.048000015, -0.029796744, -0.0011601277, 0.016744299, 0.026984653, 0.03665018, -0.018572794, 0.030106109, -0.09073815, -0.081291206) * conv2d_0_texOff(vec2(-1, 0)); + result += mat4(0.015516471, -0.07129997, -0.07184864, -0.11087486, -0.04249271, -0.080451615, 0.010491222, 0.158226, 0.10958616, 0.008178929, -0.04849003, 0.007405969, -0.058344457, -0.06667998, -0.013192712, 0.10491594) * conv2d_0_texOff(vec2(0, 0)); + result += mat4(0.10171312, 0.04399978, 0.03330453, 0.019767419, 0.03373304, 0.09452068, -0.10092028, -0.025701888, 0.03507788, 0.07112797, 0.078616045, -0.043754436, -0.07079855, -0.07409572, -0.13416715, 0.08667863) * conv2d_0_texOff(vec2(1, 0)); + result += mat4(-0.07010381, 0.100730665, -0.07854648, 0.045747522, -0.04439835, 0.037645675, 0.053551733, -0.12805173, 0.021313267, -0.018063325, 0.065623164, -0.06880019, -0.05610914, 0.08389454, -0.0044170525, -0.11851628) * conv2d_0_texOff(vec2(-1, 1)); + result += mat4(0.09134001, 0.026140679, -0.0055229743, -0.04981696, -0.03844942, 0.08130511, -0.064545445, -0.0044911825, 0.029820511, -0.05917406, -0.018881876, -0.096668445, -0.11719329, 0.05271297, -0.053567514, 0.09103927) * conv2d_0_texOff(vec2(0, 1)); + result += mat4(-0.08822942, 0.03968685, 0.032203738, 0.026246492, -0.0067540067, 0.056587916, -0.060369696, 0.09875949, 0.08592363, -0.06877087, 0.035056747, 0.104331985, 0.006531792, -0.06614849, -0.04924024, -0.031434037) * conv2d_0_texOff(vec2(1, 1)); + result += mat4(-0.004954586, 0.084096044, -0.033365566, -0.052217346, -0.08442804, 0.01761401, 0.021906974, 0.08492021, 0.09887061, -0.04393864, -0.09413369, 0.066131406, -0.037874132, 0.071074896, -0.029357363, 0.08231845) * conv2d_1_texOff(vec2(-1, -1)); + result += mat4(0.0045036455, 0.051833928, 0.06883673, -0.062047005, 0.08381633, -0.073738985, 0.1026821, 0.06072899, 0.01882159, 0.06310653, 0.087420985, 0.043367703, -0.10387822, -0.010073063, 0.070951685, 0.03200617) * conv2d_1_texOff(vec2(0, -1)); + result += mat4(-0.09738996, -0.018862722, 0.049255114, 0.05961699, -0.13057972, 0.09480797, -0.03754837, -0.059870332, -0.01991958, 0.07369053, -0.07158032, -0.06324326, 0.096051395, 0.063911155, 0.035158634, -0.012764381) * conv2d_1_texOff(vec2(1, -1)); + result += mat4(-0.06798638, -0.0368062, 0.11193917, -0.0037040317, 0.059107713, 0.02915958, 0.12071999, -0.119032465, 0.04904137, -0.09508187, -0.02955055, -0.066848494, -0.07910355, -0.016003301, 0.006842956, -0.09845519) * conv2d_1_texOff(vec2(-1, 0)); + result += mat4(-0.105871275, 0.11010067, -0.015839461, 0.070748806, 0.041957065, 0.07699882, 0.10602816, 0.004985684, -0.07682741, -0.0632745, -0.048613776, -0.072103165, 0.06067607, -0.079320855, 0.013491617, 0.017735409) * conv2d_1_texOff(vec2(0, 0)); + result += mat4(-0.124516815, -0.04247377, 0.060606126, 0.10654439, -0.012093496, -0.10817692, -0.026713576, -0.010791153, -0.059482746, -0.020391308, 0.0443333, 0.023094004, 0.022379868, -0.10111678, 0.020880608, 0.057710424) * conv2d_1_texOff(vec2(1, 0)); + result += mat4(0.05060668, -0.11805197, 0.07594568, -0.07069406, 0.08143436, -0.056195416, -0.0654136, -0.018500993, 0.09500568, -0.07524953, 0.076579, -0.06047056, 0.034190997, -0.012076662, 0.030526042, -0.049850434) * conv2d_1_texOff(vec2(-1, 1)); + result += mat4(0.04605557, 0.044651862, -0.051289026, -0.056656394, -0.08358299, 0.0074357437, -0.061260894, -0.13050583, -0.07789244, -0.020996355, 0.09070874, -0.03497628, 0.06582427, -0.04890103, -0.070766635, 0.08595799) * conv2d_1_texOff(vec2(0, 1)); + result += mat4(-0.052046243, 0.040267058, 0.06845873, 0.08591292, 0.0028140454, -0.08552415, -0.099744, 0.09305307, -0.054031193, -0.10067132, -0.028392294, 0.023192516, -0.061748616, -0.06588706, -0.04331578, -0.01642068) * conv2d_1_texOff(vec2(1, 1)); + result += mat4(0.16903502, 0.050249174, -0.22191636, 0.19126186, -0.16717446, 0.05334943, 0.011586367, 0.13533907, -0.057124503, -0.07409675, 0.078524806, 0.036188703, 0.069969445, -0.0020349424, 0.08806575, -0.08283932) * conv2d_2_texOff(vec2(-1, -1)); + result += mat4(0.2516604, -0.009114172, -0.109552726, 0.10941368, -0.059094105, -0.038776163, -0.019998211, 0.08589514, 0.01430332, -0.026593562, 0.033004202, -0.0891728, 0.057688985, -0.12246458, -0.04425753, -0.095962316) * conv2d_2_texOff(vec2(0, -1)); + result += mat4(0.1348317, -0.0467185, -0.16539787, -0.11454304, -0.1643636, 0.012890544, 0.013844422, 0.039174177, 0.057631414, -0.0038635065, -0.025858756, -0.027921854, -0.061556645, 0.087746955, 0.047855757, -0.015983094) * conv2d_2_texOff(vec2(1, -1)); + result += mat4(0.09391917, 0.100080565, -0.1466459, 0.09006818, -0.17677289, -0.009713587, -0.11466557, 0.0044841785, -0.029240943, 0.1011468, 0.015449802, 0.016408054, -0.030177692, -0.0714135, -0.0061454093, -0.013573647) * conv2d_2_texOff(vec2(-1, 0)); + result += mat4(-0.0811045, 0.090918586, 0.0013696377, 0.09162704, -0.100717224, -0.097756505, -0.044214357, 0.12057229, -0.05028264, -0.0015608694, 0.012594963, 0.07051633, -0.059859343, 0.09829349, 0.029803269, -0.069687374) * conv2d_2_texOff(vec2(0, 0)); + result += mat4(-0.14455098, 0.023940865, -0.0886486, 0.07189609, -0.04141588, 0.11090175, -0.024598105, -0.04952651, 0.021553198, -0.0064484044, -0.08628728, -0.0861726, 0.09625215, -0.109878615, -0.016901143, -0.048544433) * conv2d_2_texOff(vec2(1, 0)); + result += mat4(0.0015492368, -0.07902587, 0.01515373, -0.09127597, -0.085316986, -0.08298783, 0.07879215, -0.00890793, 0.017699558, -0.08472732, 0.011217422, -0.026798217, 0.037397582, -0.0400565, -0.0026135452, -0.026260396) * conv2d_2_texOff(vec2(-1, 1)); + result += mat4(0.0068494403, 0.12326532, 0.01172835, -0.04974133, -0.095666625, 0.063072234, -0.02284957, 0.023840886, 0.107047044, -0.009414165, -0.00043899592, -0.024644634, 0.074998535, -0.011817158, -0.098676674, 0.07537046) * conv2d_2_texOff(vec2(0, 1)); + result += mat4(-0.07771653, 0.12978542, -0.071654834, 0.09538589, -0.025187911, 0.00400034, -0.018890506, 0.14493383, 0.017602526, 0.0971679, 0.028802233, -0.045145895, 0.08564867, -0.07439091, 0.0011997717, 0.045205332) * conv2d_2_texOff(vec2(1, 1)); + result += mat4(0.07023967, 0.06253002, 0.022010026, -0.119200386, -0.05536548, 0.058760405, -0.051729303, -0.03464536, -0.052699693, -0.12301407, 0.03705289, 0.055314124, -0.06029911, 0.06948198, 0.0466372, 0.07817586) * conv2d_3_texOff(vec2(-1, -1)); + result += mat4(0.031640016, 0.10841944, 0.020212704, -0.050232578, -0.081144646, 0.037255034, 0.024878828, 0.0993073, -0.15255094, 0.0967557, 0.020852508, 0.098357625, -0.008463373, 0.042150978, -0.07113693, 0.10724578) * conv2d_3_texOff(vec2(0, -1)); + result += mat4(0.058027938, 0.090957925, 0.03466782, 0.12895627, 0.09803805, 0.0035630965, -0.107017376, -0.07231079, 0.090604626, 0.02382962, -0.076581374, 0.1711485, -0.022017237, -0.05058417, -0.07932253, 0.093538254) * conv2d_3_texOff(vec2(1, -1)); + result += mat4(0.16477303, -0.16297221, -0.053446323, -0.07453705, -0.061605286, -0.08134782, -0.10182048, 0.045394715, -0.010991829, 0.00826014, 0.08322968, -0.06973355, -0.0663064, -0.04392806, -0.07263214, 0.096778914) * conv2d_3_texOff(vec2(-1, 0)); + result += mat4(-0.0941862, 0.092584, 0.16524832, -0.07801329, 0.029286487, -0.06002916, -0.06292552, 0.12303158, 0.039355617, 0.010139943, -0.04226107, -0.04542821, -0.011060624, 0.08968969, -0.04525725, 0.027380642) * conv2d_3_texOff(vec2(0, 0)); + result += mat4(-0.11244076, 0.075267, -0.056879856, 0.06691347, 0.04306523, -0.06540409, -0.00081445073, -0.054707125, 0.030885937, -0.033187952, 0.038052656, 0.031427264, -0.012988954, 0.093892016, -0.018312488, -0.028845955) * conv2d_3_texOff(vec2(1, 0)); + result += mat4(-0.008654258, -0.11938565, 0.09968486, 0.13558844, 0.026740788, 0.04479369, 0.026828662, 0.01558401, -0.013867659, -0.05291776, 0.031263795, 0.0114549, 0.05316401, 0.046067547, 0.075380445, -0.10019385) * conv2d_3_texOff(vec2(-1, 1)); + result += mat4(-0.061785296, 0.05236009, -0.07940044, -0.1617263, 0.059586592, -0.07821926, -0.07633899, -0.07715223, 0.0017316676, 0.06451359, -0.05252992, -0.14524883, -0.0643712, 0.027679756, -0.00835125, -0.086677074) * conv2d_3_texOff(vec2(0, 1)); + result += mat4(-0.05438811, 0.054803856, -0.029354887, 0.11615474, -0.061110962, 0.076409735, -0.093912944, 0.11151834, 0.04893188, -0.091643915, 0.015038946, -0.06400341, -0.11400913, -0.013802248, 0.017815491, 0.10256088) * conv2d_3_texOff(vec2(1, 1)); + result += mat4(0.32073182, -0.2009675, 0.08431246, 0.16020915, -0.2805809, 0.13982414, -0.01578111, -0.042807538, 0.117791235, -0.012969516, -0.03506166, 0.037866436, 0.09308744, -0.10643966, -0.0752197, -0.058317352) * conv2d_4_texOff(vec2(-1, -1)); + result += mat4(0.2569763, 0.027963521, 0.1053661, -0.049004056, -0.033680785, -0.123134896, -0.06546271, -0.11758396, 0.19743277, -0.08741948, 0.10938627, -0.023338662, 0.11196195, 0.10032507, -0.06476967, -0.07993123) * conv2d_4_texOff(vec2(0, -1)); + result += mat4(0.02719125, -0.046528853, 0.002850356, 0.12413328, 0.058446962, 0.07013216, -0.07500845, 0.008081168, -0.06821149, -0.07714301, -0.028294, 0.18455096, -0.03211471, -0.02362995, -0.002759362, 0.08398882) * conv2d_4_texOff(vec2(1, -1)); + result += mat4(-0.11726927, -0.053239282, -0.05175853, 0.021330114, -0.048052568, -0.017476609, -0.10959411, 0.07007045, -0.024116676, -0.018705731, 0.026514526, 0.16994923, 0.031995203, 0.028431585, 0.010113981, 0.09065125) * conv2d_4_texOff(vec2(-1, 0)); + result += mat4(-0.22731236, 0.07580438, 0.22210746, -0.02353637, 0.08827543, -0.035852853, -0.123698376, 0.10580182, 0.2708506, -0.06943579, -0.1545427, -0.13396654, -0.005165474, -0.08102771, 0.014273996, 0.035130348) * conv2d_4_texOff(vec2(0, 0)); + result += mat4(-0.296201, 0.07753484, 0.004271766, -0.11127421, -0.015080855, -0.015710302, 0.09247011, 0.009073645, 0.121286236, -0.09238384, 0.11495153, -0.04172125, 0.015166584, 0.035352062, -0.03073745, 0.010985026) * conv2d_4_texOff(vec2(1, 0)); + result += mat4(0.084711485, -0.16018455, -0.042181976, 0.11761995, 0.15203808, 0.051504392, -2.513736e-06, -0.020947132, 0.076358795, 0.08873159, -0.16870378, 0.04474556, -0.037296757, 0.088835426, 0.043566223, -0.041029632) * conv2d_4_texOff(vec2(-1, 1)); + result += mat4(-0.058052193, 0.1308858, 0.07252604, -0.013733138, 0.18423401, -0.159446, 0.008385332, 0.07948717, 0.17187402, 0.050579812, -0.15937303, 0.03943235, -0.092624925, -0.03653303, -0.0764742, 0.012176999) * conv2d_4_texOff(vec2(0, 1)); + result += mat4(-0.014286126, -0.056890715, -0.07886575, -0.05090753, 0.06372104, -0.009480762, -0.030898916, -0.083031565, 0.10497022, -0.051140502, 0.13767391, -0.25649428, 0.07853264, -0.02423514, -0.08454639, -0.021786164) * conv2d_4_texOff(vec2(1, 1)); + result += mat4(-0.06631674, 0.09545863, 0.15017273, -0.027726227, 0.026797233, -0.054006502, -0.07977919, 0.059067678, -0.07718974, 0.008178607, 0.16320002, 0.0445999, 0.071921565, -0.024005396, 0.09396782, -0.09266632) * conv2d_5_texOff(vec2(-1, -1)); + result += mat4(-0.16552348, -0.07857625, 0.03806774, 0.14816381, -0.0047077322, 0.014397493, -0.12480399, -0.12005361, 0.083158486, -0.008982747, -0.00539069, 0.029295158, -0.07320595, -0.094256535, -0.068896115, -0.05811549) * conv2d_5_texOff(vec2(0, -1)); + result += mat4(-0.03638114, -0.034553587, 0.100634165, -0.040112536, -0.03655359, -0.0026969593, -0.052037917, -0.039368987, 0.038872484, -0.021310112, 0.015337623, 0.0509571, -0.055229247, 0.05558522, -0.017492982, 0.07354954) * conv2d_5_texOff(vec2(1, -1)); + result += mat4(-0.1727934, 0.081648044, -0.038751144, -0.1311226, 0.10538738, -0.06531135, -0.12715194, 0.15820824, 0.010739137, 0.10557741, 0.053213965, 0.04526114, 0.008800681, -0.0031037356, -0.048722405, -0.053706754) * conv2d_5_texOff(vec2(-1, 0)); + result += mat4(-0.10853218, -0.11841738, 0.100478135, -0.10903275, 0.043375112, -0.07657886, -0.07982597, 0.036392268, -0.07956834, -0.12711865, 0.10373159, 0.016590424, 0.0595997, 0.01294229, -0.09906514, 0.0033575634) * conv2d_5_texOff(vec2(0, 0)); + result += mat4(0.10032501, 0.014363291, 0.19459076, -0.14805886, 0.10569203, 0.044122767, 0.045861624, -0.040769085, -0.06068043, -0.0140993465, 0.10252077, -0.044182535, 0.020544998, -0.0013867234, 0.10200624, -0.060798407) * conv2d_5_texOff(vec2(1, 0)); + result += mat4(-0.20466085, 0.03625066, -0.1843449, 0.04633975, 0.021496639, -0.014957268, -0.09212855, -0.07461293, -0.029268652, -0.13452794, -0.10055293, -0.07281387, -0.042594746, -0.028963031, 0.015029755, 0.12974194) * conv2d_5_texOff(vec2(-1, 1)); + result += mat4(0.056417838, -0.14495808, -0.13726485, 0.21519509, -0.00029698695, -0.054831922, -0.018193932, 0.009701383, -0.081678204, 0.017475087, -0.09577147, 0.070612885, 0.123600855, -0.12620042, -0.02203835, 0.028395876) * conv2d_5_texOff(vec2(0, 1)); + result += mat4(0.17369765, -0.0064543695, -0.059030794, -0.042425647, 0.06432956, -0.0005802861, 0.010852923, 0.07350785, 0.060213488, -0.006799091, -0.010165326, -0.07067583, 0.08242376, 0.03475784, -0.022982586, -0.060285952) * conv2d_5_texOff(vec2(1, 1)); + result += mat4(-0.114339784, -0.054106086, 0.12128907, -0.059633907, -0.022478983, 0.025326144, 0.020737223, 0.004398691, -0.014060204, 0.063974485, -0.05002576, -0.039501905, -0.091279835, -0.038092967, 0.04549341, 0.06374413) * conv2d_6_texOff(vec2(-1, -1)); + result += mat4(-0.089171216, 0.072608076, 0.024991069, 0.03544505, -0.015556167, 0.10790686, 0.117217205, -0.04350327, 0.08595954, 0.006674119, 0.08956625, -0.030126, 0.10988481, -0.043620855, 0.105749354, -0.0951767) * conv2d_6_texOff(vec2(0, -1)); + result += mat4(-0.12006753, -0.01955477, 0.09708227, -0.0666692, -0.10030734, -0.092887424, 0.094246134, -0.04252154, -0.07384329, -0.14077577, -0.006760666, -0.0069477926, 0.062084038, -0.02302523, 0.018631998, -0.15112346) * conv2d_6_texOff(vec2(1, -1)); + result += mat4(-0.13777764, 0.10273763, 0.007632788, -0.08960165, 0.04559774, -0.07544861, -0.05688129, 0.0015677959, 0.07098258, -0.037636455, -0.06413753, 0.02403126, -0.12374905, 0.16616316, 0.043122, -0.038059086) * conv2d_6_texOff(vec2(-1, 0)); + result += mat4(-0.04255921, 0.0066659157, -0.080288306, -0.024924811, -0.03854211, -0.025139611, 0.13093151, -0.08051822, -0.023702512, 0.0008909487, -0.012441252, -0.14512548, 0.06290787, -0.0627451, -0.05376049, -0.016875034) * conv2d_6_texOff(vec2(0, 0)); + result += mat4(0.10446171, -0.030003535, -0.013478192, -0.04079119, 0.032470435, 0.012748637, -4.8015216e-05, 0.11777831, -0.019678464, 0.07552121, 0.018166179, 0.11122018, 0.06942704, -0.13363725, 0.20989673, -0.16243055) * conv2d_6_texOff(vec2(1, 0)); + result += mat4(-0.052103087, -0.079394124, 0.0017567518, -0.04205538, -0.04819655, 0.050396822, -0.051722582, -0.086343564, -0.061928514, -0.056164958, -0.103860185, 0.086647026, -0.13564175, -0.010355185, -0.01903613, 0.018759688) * conv2d_6_texOff(vec2(-1, 1)); + result += mat4(0.022745615, -0.0978525, 0.0033426408, 0.054647684, -0.003505767, 0.10089109, 0.09412082, 0.017425727, 0.1137775, -0.060303688, -0.08587214, -0.021158243, 0.091735445, 0.028339824, -0.030134948, -0.021621885) * conv2d_6_texOff(vec2(0, 1)); + result += mat4(0.08747728, 0.011512994, 0.0717236, 0.061208803, -0.076573655, 0.041673254, -0.0675556, 0.11181996, -0.053996112, 0.044173643, 0.053413633, -0.029855793, 0.012684745, 0.041368276, 0.06390253, -0.15167898) * conv2d_6_texOff(vec2(1, 1)); + result += mat4(-0.036067672, 0.034350358, -0.00925414, 0.09861341, 0.040601175, -0.079586044, 0.0779505, -0.00096066325, 0.12480722, -0.1455423, -0.07100209, -0.028499307, -0.042616572, 0.075331405, -0.03803601, -0.06148403) * conv2d_7_texOff(vec2(-1, -1)); + result += mat4(0.09577508, -0.06586264, -0.09461651, 0.04406942, -0.06739856, -0.01579104, 0.054170765, 0.18788831, -0.040323216, 0.03297514, 0.03430955, -0.00446025, 0.06593568, -0.008899292, 0.0008685322, 0.05417267) * conv2d_7_texOff(vec2(0, -1)); + result += mat4(-0.022591531, 0.072815605, 0.024854925, -0.07131336, -0.06897831, 0.010769366, -0.047954466, -0.106407054, -0.029468978, -0.052580085, -0.09307574, -0.08744278, 0.03287153, 0.020284602, 0.101879396, 0.06451834) * conv2d_7_texOff(vec2(1, -1)); + result += mat4(0.06818085, 0.06449297, 0.100251615, -0.053532, -0.12179847, -0.07755538, -0.008236765, 0.051288992, -0.031962357, -0.06705911, 0.015510364, -0.03742735, -0.011930059, -0.048913054, 0.04345253, -0.119772375) * conv2d_7_texOff(vec2(-1, 0)); + result += mat4(-0.079284385, -0.046628084, -0.009457931, -0.055627327, -0.13537082, 0.12148514, 0.081402116, 0.08154598, -0.09370651, 0.06241709, -0.10660856, 0.05513427, 0.07800654, 0.06122744, 0.09781411, 0.029378504) * conv2d_7_texOff(vec2(0, 0)); + result += mat4(0.06609046, 0.10636401, -0.033229325, 0.02919185, -0.03465481, 0.09273758, -0.06796313, 0.00727171, 0.04824167, -0.027230127, 0.017861875, 0.12945844, 0.043050032, -0.0555934, 0.03759506, 0.0645216) * conv2d_7_texOff(vec2(1, 0)); + result += mat4(0.032701094, -0.075902455, 0.015001619, -0.08307828, 0.010519979, -0.06100482, 0.062846564, -0.056279644, -0.042119116, -0.08681587, -0.07427532, -0.029271765, 0.04347347, -0.051496983, -0.08245311, 0.07007821) * conv2d_7_texOff(vec2(-1, 1)); + result += mat4(-0.07181552, -0.07410466, 0.0148859145, 0.013438447, 0.021604003, 0.082845636, -0.086334355, 0.08336231, 0.06350397, 0.021218328, 0.107357934, 0.011776181, 0.051204138, -0.05132423, -0.009434124, 0.024037074) * conv2d_7_texOff(vec2(0, 1)); + result += mat4(-0.08193188, 0.029769914, 0.11165611, 0.05215613, 0.09633487, 0.11339332, -0.0013363763, -0.0023325789, -0.032144744, 0.040741798, -0.049831975, 0.063456595, -0.12750301, -0.011799268, 0.06341652, -0.09502834) * conv2d_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-1-ReLU) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_1 +//!BIND conv2d_2 +//!BIND conv2d_3 +//!BIND conv2d_4 +//!BIND conv2d_5 +//!BIND conv2d_6 +//!BIND conv2d_7 +//!SAVE conv2d_1_7 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.007201527, -0.0038936515, -0.015014618, 0.015171136); + result += mat4(-0.038052376, 0.080979824, -0.027369432, -0.07227953, 0.03908342, 0.0008002416, -0.064178765, -0.019408682, 0.08053993, 0.07275231, 0.0375336, -0.052410968, 0.015782395, -0.040430468, -0.009252719, 0.009426331) * conv2d_0_texOff(vec2(-1, -1)); + result += mat4(-0.13834356, 0.01338803, -0.042878583, 0.10457062, -0.044514794, 0.01977904, -0.074166685, -0.1126213, 0.00046356788, -0.10513476, -0.11182531, -0.0015044012, -0.13934208, -0.0017670082, -0.07002747, -0.0036286602) * conv2d_0_texOff(vec2(0, -1)); + result += mat4(0.06464731, 0.043007273, 0.053733457, 0.02822298, 0.024720598, 0.051593717, 0.13078135, -0.0053844466, -0.049384266, -0.12232947, -0.03990666, -0.062108126, -0.18224852, 0.057169326, 0.03577176, -0.057130385) * conv2d_0_texOff(vec2(1, -1)); + result += mat4(-0.027295975, 0.039763488, -0.061417773, -0.03239677, 0.009745626, 0.078573525, 0.042652134, 0.0009185599, -0.030939417, 0.04319925, -0.021268295, -0.070497476, 0.16065076, 0.13311355, -0.01740546, -0.012425665) * conv2d_0_texOff(vec2(-1, 0)); + result += mat4(0.05356227, -0.0417649, 0.103812516, 0.09624864, -0.057420485, -0.11193007, -0.14816448, 0.032600768, -0.036166806, 0.027451081, -0.09980827, -0.01718375, -0.11470784, 0.006754834, -0.08924845, 0.053184375) * conv2d_0_texOff(vec2(0, 0)); + result += mat4(0.11033825, 0.06692085, 0.019198792, 0.057264253, 0.054825142, 0.07068172, 0.02474603, 0.05987992, -0.02261368, 0.065655746, -0.090900145, -0.077785134, 0.050509933, -0.12642778, 0.07030841, -0.08483738) * conv2d_0_texOff(vec2(1, 0)); + result += mat4(0.072748646, -0.03008117, 0.07754033, -0.027594933, -0.05386795, 0.066316776, -0.083220415, 0.03197281, -0.0063470937, 0.062028453, 0.04044486, -0.0873346, -0.10390627, -0.025818203, -0.1836566, 0.02527015) * conv2d_0_texOff(vec2(-1, 1)); + result += mat4(0.06448223, -0.08870925, -0.04512832, 0.025763948, -0.035984736, -0.058353957, -0.022724375, 0.096630044, -0.08812378, -0.024110641, -0.08425243, -0.08393128, 0.06180728, -0.1414254, 0.0120587135, -0.04468879) * conv2d_0_texOff(vec2(0, 1)); + result += mat4(0.08169826, 0.041856736, -0.059762426, -0.095682584, -0.059084542, 0.043467317, -0.06909981, 0.010631407, 0.054789048, 0.08572608, 0.08738264, -0.08770914, 0.14309205, 0.02596138, -0.0015669836, 0.012677062) * conv2d_0_texOff(vec2(1, 1)); + result += mat4(-0.07922895, -0.045985956, 0.062106635, -0.017120086, -0.21597414, -0.0753163, -0.024876112, 0.009419852, 0.044872988, 0.09196043, 0.014769044, 0.09197203, -0.0016715655, -0.037465435, 0.10485502, 0.089839295) * conv2d_1_texOff(vec2(-1, -1)); + result += mat4(0.14347798, 0.06419481, -0.09736122, -0.08937404, 0.15082604, -0.05270968, 0.021825366, -0.09798001, 0.032188393, -0.09799223, 0.008612049, -0.020177597, -0.011724847, 0.087455705, -0.03071377, 0.06532774) * conv2d_1_texOff(vec2(0, -1)); + result += mat4(-0.061560467, -0.03817375, 0.044215966, 0.11386046, -0.037979517, -0.038531404, -0.0014599866, 0.23607758, -0.013231906, 0.07194196, -0.030892838, -0.030557636, -0.08111789, 0.020703476, 0.09924315, -0.01688687) * conv2d_1_texOff(vec2(1, -1)); + result += mat4(-0.039087474, 0.019229135, 0.06539234, -0.07746306, -0.02151763, 0.074237004, 0.097991675, -0.009128623, -0.079465084, -0.02862757, 0.07424619, -0.08884778, 0.007882294, -0.017886417, -0.0077899145, 0.0004613787) * conv2d_1_texOff(vec2(-1, 0)); + result += mat4(0.06394166, 0.012214334, 0.013698442, 0.06687482, -0.03875368, -0.0820514, -0.05215186, 0.07868226, 0.08706351, 0.07349288, 0.043973133, -0.043852106, 0.08530362, 0.055611525, -0.065511085, 0.0043148655) * conv2d_1_texOff(vec2(0, 0)); + result += mat4(0.027625376, -0.08179209, -0.059942294, -0.04918686, 0.16643098, 0.03424118, 0.06395785, -0.0337957, 0.082510315, 0.089248404, -0.10038277, 0.00663826, 0.06290656, 0.05524213, 0.1011302, 0.051564004) * conv2d_1_texOff(vec2(1, 0)); + result += mat4(0.006140393, -0.04940255, -0.00050219643, -0.044514313, 0.087626435, 0.14851761, 0.018451776, -0.072206125, 0.09181855, -0.0838941, 0.06792062, -0.06934328, -0.09022456, -0.018869486, -0.06527573, -0.0106838485) * conv2d_1_texOff(vec2(-1, 1)); + result += mat4(-0.043934684, -0.016780818, 0.036148738, 0.03175147, -0.12744972, 0.02634025, 0.030074805, 0.15085249, 0.04517367, -0.027309798, -0.015733669, 0.07649945, -0.05638227, -0.09288169, -0.010037834, -0.06306788) * conv2d_1_texOff(vec2(0, 1)); + result += mat4(-0.06059311, 0.009257708, 0.08886488, -0.11395654, 0.014595216, 0.03572645, -0.03394631, -0.15019181, -0.012033989, -0.049776316, 0.009989611, -0.015690451, 0.11131944, 0.09411998, -0.0671135, 0.021830808) * conv2d_1_texOff(vec2(1, 1)); + result += mat4(0.4090917, -0.12975751, -0.27959952, -0.021477299, 0.10303849, -0.11279957, -0.068631195, -0.06443312, -0.020294452, -0.08127903, 0.08601168, -0.0072733886, -0.050698724, 0.06811237, -0.00795125, -0.024726043) * conv2d_2_texOff(vec2(-1, -1)); + result += mat4(0.597458, 0.043554768, -0.033736184, -0.033494435, 0.10808369, -0.027733808, -0.037335023, 0.04578384, 0.01685896, 0.04202578, 0.07005423, -0.094955556, 0.044262927, 0.13447675, 0.10690729, -0.10031059) * conv2d_2_texOff(vec2(0, -1)); + result += mat4(-0.008404077, 0.044692863, -0.087021865, -0.110792436, -0.25813013, -0.03385143, 0.1189184, 0.054373804, -0.005380934, 0.08821235, -0.07331821, -0.020228507, -0.12153013, -0.04971653, 0.016341092, -0.010747541) * conv2d_2_texOff(vec2(1, -1)); + result += mat4(-0.063672915, 0.020128647, -0.08890703, 0.09651422, -0.12790067, -0.03545926, -0.14812145, -0.05018122, -0.035731427, -0.031319328, -0.08691342, 0.06429655, -0.054123364, -0.054072052, -0.046808098, -0.033671018) * conv2d_2_texOff(vec2(-1, 0)); + result += mat4(-0.03878364, -0.07605488, -0.17034729, 0.051471516, 0.060567614, -0.14520754, -0.024923714, -0.08110325, -0.061955553, 0.020793699, -0.04248406, -0.05160582, -0.12553415, -0.095722966, -0.059534278, 0.004877229) * conv2d_2_texOff(vec2(0, 0)); + result += mat4(-0.048770696, -0.041531228, -0.060845453, 0.002074457, 0.017513841, 0.04844567, 0.053277954, -0.05151635, 0.0121183125, 0.08335021, -0.0038582347, -0.026079332, 0.08842311, 0.020906152, 0.04247269, -0.02955627) * conv2d_2_texOff(vec2(1, 0)); + result += mat4(-0.02538893, 0.050311096, 0.037041504, -0.036141895, -0.03919591, 0.11935461, 0.041920815, 0.09425795, 0.091703564, 0.012059138, -0.027636953, 0.023710815, -0.05904561, -0.08181027, -0.029364718, 0.12466643) * conv2d_2_texOff(vec2(-1, 1)); + result += mat4(-0.050222006, 0.023249295, -0.01666968, -0.021073297, 0.04069259, -0.008869889, -0.15700357, 0.095870964, 0.049066704, -0.031789377, 0.02640234, -0.08885126, 0.07360328, -0.0008496402, 0.08782058, -0.033768184) * conv2d_2_texOff(vec2(0, 1)); + result += mat4(0.1173859, -0.038774922, -0.03036511, -0.008234209, 0.07291406, -0.17202759, -0.15325299, 0.11874534, 0.050614003, 0.06908297, 0.084796555, -0.101095274, -0.003802595, 0.049146466, -0.032567933, 0.07242745) * conv2d_2_texOff(vec2(1, 1)); + result += mat4(-0.027366199, -0.002763924, 0.14862566, 0.113281295, 0.106808715, -0.08305284, -0.06134399, -0.048254494, -0.19106627, 0.17400184, 0.120445795, 0.12497504, -0.022004588, 0.10021631, -0.049123183, -0.050179493) * conv2d_3_texOff(vec2(-1, -1)); + result += mat4(-0.005894894, 0.030023856, -0.099411264, 0.061228372, 0.05968115, -0.07877603, 0.018482571, -0.08274954, -0.11293636, -0.08944187, 0.052000567, 0.014210127, 0.09805481, -0.006619232, 0.05648319, 0.09093103) * conv2d_3_texOff(vec2(0, -1)); + result += mat4(0.02626072, 0.08145224, -0.10150438, -0.07172083, -0.035211712, -0.076286145, -0.052936167, 0.085684374, 0.24368948, -0.0018069663, -0.014222038, -0.06269161, 0.11711415, -0.09338889, -0.09823579, 0.04489546) * conv2d_3_texOff(vec2(1, -1)); + result += mat4(0.14079121, 0.11507747, 0.056059197, -0.12017887, -0.024060845, -0.084220424, 0.014307901, -0.037385657, 0.060175408, -0.004214219, 0.062813714, -0.18487822, 0.03475195, 0.02455728, 0.021527361, -0.012319171) * conv2d_3_texOff(vec2(-1, 0)); + result += mat4(-0.046612024, 0.041280113, 0.03441282, -0.010385453, 0.050717298, 0.061984573, -0.0535933, -0.03462243, 0.108015984, 0.043971952, 0.069107905, -0.03405501, 0.027892025, -0.08265824, -0.025167016, -0.021497343) * conv2d_3_texOff(vec2(0, 0)); + result += mat4(-0.14337285, 0.022017835, 0.03680537, -0.08169876, -0.0019242862, -0.052068003, -0.08711008, -0.054244738, -0.10350756, -0.0033643425, -0.1344355, 0.08105951, -0.05010499, 0.0728132, -0.062273785, -0.021577569) * conv2d_3_texOff(vec2(1, 0)); + result += mat4(-0.002652958, 0.06661113, 0.010244389, 0.009362658, 0.06630265, -0.058266263, -0.029512402, -0.026936678, -0.07385946, -0.14960656, -0.2456625, 0.0027919132, -0.07161524, 0.07059979, 0.09157219, -0.08331055) * conv2d_3_texOff(vec2(-1, 1)); + result += mat4(-0.02172642, -0.17765602, 0.05446531, -0.05283897, -0.092159756, -0.07119614, -0.0058425656, 0.06227361, 0.10491573, 0.062322207, 0.014671265, -0.10091117, -0.026217826, -0.091968596, 0.091329455, -0.07648637) * conv2d_3_texOff(vec2(0, 1)); + result += mat4(0.06994806, -0.032795217, 0.06463935, -0.2520779, 0.008083562, 0.035677303, 0.02791061, -0.052524034, -0.09178921, -0.028530827, 0.010601906, 0.13171518, -0.079117715, 0.013006626, 0.015165449, -0.08714064) * conv2d_3_texOff(vec2(1, 1)); + result += mat4(-0.054046582, 0.004019761, -0.10631822, -0.08512665, 0.019265184, -0.14475206, 0.07013727, -0.011605049, 0.14941272, -0.103253745, 0.119249806, 0.0070061055, 0.005738555, 0.09708187, 0.037798043, -0.05589609) * conv2d_4_texOff(vec2(-1, -1)); + result += mat4(-0.15780738, -0.01402905, 0.01618609, 0.025895957, 0.03926097, -0.08297395, 0.11971964, -0.024230774, -0.08390391, 0.01462377, 0.15793164, 0.11719322, 0.07299911, -0.06064601, -0.055211198, -0.043295376) * conv2d_4_texOff(vec2(0, -1)); + result += mat4(-0.38463026, 0.06910497, -0.00501006, 0.08442266, 0.06670761, -0.008752275, -0.006877936, -0.037879318, -0.08964556, -0.052410558, -0.08187576, 0.06684298, -0.027748179, -0.0958072, -0.025234362, 0.06557439) * conv2d_4_texOff(vec2(1, -1)); + result += mat4(-0.47176787, 0.07132424, 0.15652566, 0.06861407, 0.1804837, 0.045166843, -0.06350747, -0.08118695, 0.1204818, -0.12069472, -0.18542963, -0.04643418, 0.07490083, 0.036334008, 0.031284492, -0.08658168) * conv2d_4_texOff(vec2(-1, 0)); + result += mat4(-0.045501657, 0.0033887012, 0.112740144, 0.09178206, 0.23818009, -0.058346286, -0.05406413, 0.051207036, 0.11871406, 0.10467253, 0.10172185, -0.011532777, 0.027839918, 0.0924941, 0.026103605, 0.095279686) * conv2d_4_texOff(vec2(0, 0)); + result += mat4(-0.3104613, 0.09422485, 0.056251414, -0.035951946, 0.28927153, 0.11168964, -0.08871193, 0.025060473, 0.22045815, 0.034695104, 0.17802997, -0.09109931, -0.007796476, -0.0070548393, -0.0660194, 0.0725219) * conv2d_4_texOff(vec2(1, 0)); + result += mat4(0.10586, 0.2498261, 0.26807046, -0.051297653, 0.00610941, -0.12030463, -0.24638191, 0.1196356, -0.1016603, -0.03359046, -0.24424516, 0.081014074, -0.018934648, 0.060475744, -0.02788042, 0.021790339) * conv2d_4_texOff(vec2(-1, 1)); + result += mat4(-0.043330107, 0.015306886, 0.1050018, 0.043981194, 0.01996294, 0.031717915, -0.037922252, -0.093729876, 0.08037255, -0.10762343, -0.11535202, -0.052344292, -0.1082841, 0.0775432, 0.079228684, 0.057988603) * conv2d_4_texOff(vec2(0, 1)); + result += mat4(0.12455585, -0.08176639, 0.116995074, -0.114965804, -0.13681485, 0.028398806, -0.10786723, 0.11514679, -0.0674036, -0.05156717, -0.06643584, 0.17534566, 0.082481906, 0.050205696, -0.034396533, 0.09951322) * conv2d_4_texOff(vec2(1, 1)); + result += mat4(-0.13685705, 0.08181086, -0.08831745, -0.07199038, 0.20642853, -0.11971863, 0.06370798, 0.023079524, -0.26114509, 0.06453952, 0.020685833, 0.015071574, -0.059663657, 0.04957371, 0.030870546, -0.016551899) * conv2d_5_texOff(vec2(-1, -1)); + result += mat4(-0.3959045, -0.041327223, 0.04482083, -0.022683153, 0.15482493, -0.09424389, 0.13025583, -0.03508159, -0.13358644, -0.0020734165, -0.024988875, -0.16057926, -0.22086589, 0.086459644, 0.042192556, -0.040641204) * conv2d_5_texOff(vec2(0, -1)); + result += mat4(-0.14634256, 0.028475652, 0.07248711, 0.038590662, 0.028829534, -0.10063688, -0.03757898, 0.060293656, -0.048177414, 0.08032441, -0.05084193, -0.07986971, 0.11635561, 0.06220746, -0.05735181, -0.05443532) * conv2d_5_texOff(vec2(1, -1)); + result += mat4(0.04007897, -0.1284742, -0.016832588, -0.032824107, -0.055388335, 0.041821674, -0.08719763, 0.003660678, -0.048350338, 0.0005437353, 0.12590389, 0.027014168, 0.018107936, -0.07700438, 0.044153113, -0.010989548) * conv2d_5_texOff(vec2(-1, 0)); + result += mat4(0.09054246, -0.012394596, 0.10062247, -0.05339143, 0.105701774, 0.096927695, -0.027527494, -0.09078202, -0.006394046, -0.07249615, -0.051860515, -0.120880984, 0.08739223, 0.086304076, 0.08247264, -0.09364125) * conv2d_5_texOff(vec2(0, 0)); + result += mat4(0.05095601, -0.018551765, 0.17293532, 0.10340932, 0.03200107, 0.09875342, -0.10627866, 0.048716888, -0.019232498, 0.03726001, 0.101366766, 0.008686586, 0.08542003, 0.052197494, 0.0036786017, 0.06999834) * conv2d_5_texOff(vec2(1, 0)); + result += mat4(-0.0969951, -0.030194992, -0.0040314295, 0.07037078, -0.014721987, 0.026281793, 0.03681838, 0.06591007, -0.037641995, -0.023152754, 0.05264423, -0.0072529847, -0.030030288, 0.043611992, 0.03306355, 0.1350857) * conv2d_5_texOff(vec2(-1, 1)); + result += mat4(0.10876529, -0.09758881, 0.069995075, 0.046452783, -0.012114401, 0.112114646, -0.008294023, 0.0947266, 0.065141134, -0.06380625, 0.077541195, 0.032891963, -0.035093535, 0.10444247, 0.0024906306, 0.042392887) * conv2d_5_texOff(vec2(0, 1)); + result += mat4(-0.0063606566, 0.046983473, 0.04879547, 0.1454697, -0.081603065, -0.012643221, 0.0065459623, 0.129145, 0.026095456, -0.040018898, 0.059168115, -0.06645254, 0.02816478, -0.035896897, 0.06293046, 0.15182656) * conv2d_5_texOff(vec2(1, 1)); + result += mat4(-0.19774227, -0.0051791514, -0.112349965, -0.07554412, -0.040043738, 0.08853505, 0.066516995, -0.026850836, -0.14408626, 0.09094134, -0.041219614, 0.124684654, -0.100167386, -0.0048862826, 0.040946722, -0.001239081) * conv2d_6_texOff(vec2(-1, -1)); + result += mat4(-0.15382914, 0.09888226, -0.023201104, -0.06283825, 0.03843897, 0.1091499, -0.028538361, 0.003318517, -0.119436316, -0.0458094, -0.09071349, -0.03255402, -0.25179932, 0.14118388, 0.090443246, -0.105167724) * conv2d_6_texOff(vec2(0, -1)); + result += mat4(0.06869354, 0.090134054, 0.07514167, 0.026466811, 0.047788978, 0.14153475, 0.117657654, 0.117229395, 0.023203762, 0.020649076, -0.07388578, 0.016273124, 0.021353966, 0.019290544, -0.039155334, 0.1083073) * conv2d_6_texOff(vec2(1, -1)); + result += mat4(-0.015096479, 0.041228283, 0.08429848, 0.1104864, 0.06300026, 0.042591736, 0.060592934, -0.0542872, 0.044981807, 0.07138056, 0.070802316, -0.04000118, -0.099325486, -0.104622796, 0.051340524, 0.1589909) * conv2d_6_texOff(vec2(-1, 0)); + result += mat4(0.027417943, 0.0046731504, -0.042504895, 0.020429544, 0.012665182, 0.10844831, 0.03919859, -0.025908183, -0.1069692, 0.01691405, 0.05724644, 0.036081642, 0.012730116, -0.02856372, 0.0012802749, -0.09503625) * conv2d_6_texOff(vec2(0, 0)); + result += mat4(-0.02215103, 0.021895925, -0.023179589, -0.018083101, 0.007413302, -0.0803415, 0.01617102, -0.08023202, -0.0017036226, 0.095597565, 0.08943024, 0.025378808, -0.06504388, 0.000825817, -0.005812277, 0.1482915) * conv2d_6_texOff(vec2(1, 0)); + result += mat4(-0.034632105, -0.11508885, 0.08972762, -0.0112380255, -0.0014663934, 0.0034956736, 0.12935714, -0.049270503, 0.0026877339, -0.025694352, 0.043128114, -0.05425603, 0.0796177, -0.09515817, 0.028917901, -0.0752607) * conv2d_6_texOff(vec2(-1, 1)); + result += mat4(-0.011032815, 0.06206703, -0.09782582, 0.03322364, -0.024201987, 0.012407279, -0.06486112, 0.065004334, -0.006245923, -0.034009162, 0.08770933, 0.065151595, 0.043262474, 0.054994624, 0.115840785, -0.09499264) * conv2d_6_texOff(vec2(0, 1)); + result += mat4(-0.040038913, 0.020927478, 0.0095707625, 0.11241672, 0.07298628, -0.03342749, 0.01005333, -0.018234663, 0.064127184, 0.022129644, -0.03225046, 0.015303761, 0.0025954084, 0.026910244, 0.10920543, 0.10982261) * conv2d_6_texOff(vec2(1, 1)); + result += mat4(-0.0673264, -0.06406114, -0.10207532, 0.03043728, 0.013002137, 0.043359507, 0.026096458, 0.10082838, -0.0642811, 0.14010613, 0.0625042, -0.1671225, -0.041694086, -0.06912805, -0.070819736, -0.10707673) * conv2d_7_texOff(vec2(-1, -1)); + result += mat4(0.028437516, -0.104031324, -0.00883411, 0.07303809, 0.063450605, 0.07766218, 0.0025482972, -0.03874655, -0.024112262, -0.055926625, -0.054404005, 0.07200242, -0.12923439, 0.11756624, 0.03235073, 0.025140604) * conv2d_7_texOff(vec2(0, -1)); + result += mat4(0.07630516, 0.035479344, -0.02406291, 0.07414668, 0.07996684, 0.071500994, 0.0041644117, -0.030916646, 0.042177014, 0.008170894, -0.058136985, -0.1272659, -0.08456959, -0.09318241, -0.111825354, 0.056025278) * conv2d_7_texOff(vec2(1, -1)); + result += mat4(-0.017236957, -0.04931214, -0.04546525, 0.08366393, -0.014682055, -0.06471796, -0.08719627, -0.05236608, -0.1175413, 0.069371335, 0.044888984, 0.04929942, -0.013770809, 0.06761477, 0.12102053, 0.0067485953) * conv2d_7_texOff(vec2(-1, 0)); + result += mat4(-0.045766212, -0.01832294, -4.223035e-06, 0.017818777, -0.1624566, -0.056260627, 0.00011573624, -0.014903727, -0.08539675, -0.03885584, -0.077474184, -0.02180623, 0.008653656, 0.055133738, 0.059180453, 0.086535186) * conv2d_7_texOff(vec2(0, 0)); + result += mat4(0.02064942, -0.021755693, 0.04258459, -0.03132326, 0.008472219, -0.03861974, -0.07710478, 0.010436849, 0.08350143, -0.092069946, 0.025091209, -0.16653621, 0.024409093, 0.06170515, 0.0407223, 0.05875108) * conv2d_7_texOff(vec2(1, 0)); + result += mat4(-0.105911255, -0.021872785, 0.053831067, 0.07443288, -0.059776537, -0.080721244, 0.06047898, 0.038081765, 0.030592326, -0.042387508, 0.10630578, -0.039533924, -0.05868546, -0.04629572, 0.008200039, -0.0152924005) * conv2d_7_texOff(vec2(-1, 1)); + result += mat4(-0.10590312, -0.024143511, 0.04500078, -0.034833405, 0.0077869915, 0.0062474054, 0.019995918, 0.003982944, -0.0021419218, -0.08393671, 0.023151234, -0.13564983, 0.055672098, 0.025012732, 0.12809329, -0.027097646) * conv2d_7_texOff(vec2(0, 1)); + result += mat4(-0.08534338, 0.08722762, 0.022182066, -0.049489636, 0.056009308, 0.045273256, 0.055560343, 0.07922446, -0.10813027, -0.054762598, 0.053643025, -0.082616836, 0.0699048, -0.040993948, 0.02715074, 0.06129833) * conv2d_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-2-ReLU) +//!HOOK LUMA +//!BIND conv2d_1_0 +//!BIND conv2d_1_1 +//!BIND conv2d_1_2 +//!BIND conv2d_1_3 +//!BIND conv2d_1_4 +//!BIND conv2d_1_5 +//!BIND conv2d_1_6 +//!BIND conv2d_1_7 +//!SAVE conv2d_2_0 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0038961265, 0.001332783, 0.0017195513, -0.012215322); + result += mat4(0.020768486, 0.19518504, 0.10652916, 0.016277736, -0.01911715, 0.09338258, 0.061322775, 0.021276098, 0.033209424, 0.023758238, 0.13228233, 0.017543152, -0.08639269, -0.10579368, -0.021436824, -0.041996963) * conv2d_1_0_texOff(vec2(-1, -1)); + result += mat4(0.02072158, -0.029260047, 0.10317572, 0.018998116, 0.06893516, 0.016882386, 0.029664101, 0.033205308, -0.07925137, -0.0117294, -0.033008587, -0.08429268, -0.009129892, 0.00844741, -0.017484661, -0.041629616) * conv2d_1_0_texOff(vec2(0, -1)); + result += mat4(-0.05287871, 0.0714904, -0.05438321, 0.10782685, -0.019365048, 0.04753656, 0.0057719294, 0.01661721, 0.01850611, 0.04280566, 0.054570835, 0.024997398, -0.024685761, 0.0108154975, 0.110397175, 0.020391693) * conv2d_1_0_texOff(vec2(1, -1)); + result += mat4(-0.13310038, -0.17994042, 0.09879768, -0.006364421, -0.048433002, 0.07472358, 0.085165694, 0.05120727, -0.01948186, -0.01708294, -0.003669543, -0.033181053, -0.011578635, -0.067337684, -0.039517853, -0.0066827773) * conv2d_1_0_texOff(vec2(-1, 0)); + result += mat4(0.06415745, -0.05185256, 0.1186324, 0.07332391, 0.039549273, 0.18897007, 0.017069127, -0.07572157, -0.041313797, -0.113993324, 0.034083586, -0.08321626, -0.09899019, -0.20111105, 0.08013798, -0.049507666) * conv2d_1_0_texOff(vec2(0, 0)); + result += mat4(0.004421147, -0.06988728, -0.1693638, 0.01637007, 0.003774199, 0.028707651, -0.034669466, 0.041887756, -0.12499024, -0.14824395, -0.037254, 0.03626716, 0.024191184, 0.010770511, 0.10946722, -0.012818109) * conv2d_1_0_texOff(vec2(1, 0)); + result += mat4(-0.06518783, 0.08121745, 0.08918908, 0.02310599, 0.03623461, -0.13732864, 0.070472024, 0.058844727, 0.057325784, 0.1353737, 0.07116109, -0.0101564415, 0.058186606, 0.061101504, -0.097902454, -0.037124325) * conv2d_1_0_texOff(vec2(-1, 1)); + result += mat4(0.001278279, -0.12656812, -0.13933757, -0.007784996, 0.011574005, 0.14250986, 0.011222252, -0.023558123, 0.00079916744, -0.054769196, 0.08418574, -0.011806821, 0.020265067, -0.1157282, 0.022684122, 0.056439396) * conv2d_1_0_texOff(vec2(0, 1)); + result += mat4(0.02458042, -0.16910408, -0.014593553, -0.03235627, -0.04779372, -0.008499454, 0.1181949, 0.10087122, 0.05127935, -0.11893997, 0.0008351227, -0.003412373, 0.051829055, -0.010493163, 0.023809, 0.027481949) * conv2d_1_0_texOff(vec2(1, 1)); + result += mat4(-0.05583759, 0.12039312, 0.049189202, -0.0033234935, -0.0128697725, -0.20673724, -0.11376061, -0.04513069, 0.006834934, -0.113968655, 0.09831999, 0.15115435, -0.028312294, 0.05344022, 0.0230219, -0.015505616) * conv2d_1_1_texOff(vec2(-1, -1)); + result += mat4(-0.00070553337, -0.14369376, -0.025746442, -0.115839556, -0.027429733, -0.22975318, 0.010271601, 0.038519192, -0.15733579, -0.09535876, 0.036753237, 0.04535995, -0.015221701, 0.009748689, -0.01113504, -0.033767708) * conv2d_1_1_texOff(vec2(0, -1)); + result += mat4(-0.031698138, -0.047707994, -0.011964013, 0.07519611, -0.11171261, 0.0014576577, 0.112082936, -0.054679986, -0.06935404, -0.07026278, 0.037267886, 0.18976697, 0.0046615293, -0.121218346, 0.023205673, 0.08507905) * conv2d_1_1_texOff(vec2(1, -1)); + result += mat4(0.10813317, 0.026324559, -0.058060277, 0.034778446, 0.09977958, 0.110755235, -0.07610188, -0.05169733, 0.09893716, 0.2064326, -0.1973082, 0.011295613, 0.055551022, 0.05705061, -0.057435445, -0.06461288) * conv2d_1_1_texOff(vec2(-1, 0)); + result += mat4(-0.045676377, -0.056204285, -0.0011548348, 0.040627398, -0.12363167, -0.12852292, -0.00085430965, -0.037388556, 0.00844487, 0.14106186, 0.09070133, 0.039000336, -0.0059762467, 0.03153208, 0.083921984, -0.05227681) * conv2d_1_1_texOff(vec2(0, 0)); + result += mat4(0.051444214, -0.07501466, -0.02736227, -0.029298639, 0.031347092, -0.06630262, -0.017180841, 0.05112174, -0.039328843, 0.045823384, 0.11843252, -0.057929497, -0.028011715, -0.0024052528, -0.05447095, -0.08166851) * conv2d_1_1_texOff(vec2(1, 0)); + result += mat4(0.029137295, 0.04394078, 0.024085755, -0.04682829, -0.008840531, 0.046565503, 0.028540466, 0.06610155, 0.007266516, -0.064102635, -0.07334753, -0.11840728, -0.10386313, 0.09748474, -0.014535573, -0.065157816) * conv2d_1_1_texOff(vec2(-1, 1)); + result += mat4(0.034119498, -0.10110233, 0.062206313, 0.060490754, -0.056164585, -0.010824694, 0.030567843, 0.041654594, -0.07085679, 0.017946146, 0.07776861, -0.05438649, 0.040264107, 0.084866695, 0.12399638, -0.02646175) * conv2d_1_1_texOff(vec2(0, 1)); + result += mat4(0.06160804, -0.08157371, -0.09690197, -0.0053563523, 0.027080167, -0.00813666, 0.074484125, 0.028181752, 0.10777577, -0.05067239, 0.16796178, -0.06555477, 0.010340013, 0.005175866, -0.11509617, 0.053702924) * conv2d_1_1_texOff(vec2(1, 1)); + result += mat4(-0.10997413, -0.23575288, -0.004338256, -0.17804305, 0.088344626, -0.0602253, 0.029983163, 0.03522086, 0.050785214, -0.06110994, 0.05317057, -0.0041962243, -0.05477119, -0.027402788, 0.0068501597, 0.022762587) * conv2d_1_2_texOff(vec2(-1, -1)); + result += mat4(-0.12499325, -0.2963777, -0.053973384, -0.0863788, 0.061468765, 0.02624447, 0.050280765, 0.007978251, 0.043330833, 0.015782738, -0.02406044, -0.012082534, 0.014833368, 0.03636138, 0.021866325, 0.002705452) * conv2d_1_2_texOff(vec2(0, -1)); + result += mat4(0.0670178, 0.1517865, -0.060079947, -0.019175414, -0.00950054, 0.02186507, -0.16947927, -0.019976761, 0.017263884, -0.21380761, -0.040637568, -0.029934557, 0.05448739, 0.007488777, 0.041584082, 0.035889525) * conv2d_1_2_texOff(vec2(1, -1)); + result += mat4(0.088071905, 0.088525586, -0.10630332, -0.08889899, -0.05567067, -0.014407666, 0.022553239, 0.042067133, 0.064223126, -0.049846806, 0.04151039, 0.044511788, 0.072003365, -0.021226842, -0.028754074, 0.085390344) * conv2d_1_2_texOff(vec2(-1, 0)); + result += mat4(0.13223739, 0.22873339, 0.022842832, -0.110073015, 0.043129012, -0.12935705, 0.011199929, 0.048705462, -0.039713945, 0.038975433, -0.13740028, -0.14390735, -0.07936343, 0.03079609, 0.06856621, 0.022711476) * conv2d_1_2_texOff(vec2(0, 0)); + result += mat4(5.577286e-05, 0.019684795, -0.17099325, 0.086151764, -0.02518586, 0.0326021, -0.1538337, -0.032159623, -0.046835143, -0.026700933, -0.2898238, 0.019142104, 0.048806053, -0.032409724, 0.07595997, -0.014350331) * conv2d_1_2_texOff(vec2(1, 0)); + result += mat4(-0.113683246, 0.106619164, 0.035031386, -0.075541675, 0.0054782513, -0.31739518, 0.08305017, 0.02839219, 0.00090749457, 0.08332185, 0.07975957, -0.037888702, -0.009494333, -0.039190985, -0.023774182, 0.03629856) * conv2d_1_2_texOff(vec2(-1, 1)); + result += mat4(-0.01317086, -0.17966376, -0.0046711154, 0.0573031, -0.024371548, -0.11985576, 0.059062485, -0.109271765, 0.05535692, -0.011248494, 0.04973407, -0.043837454, -0.11109329, 0.0018599973, -0.019615516, 0.008063546) * conv2d_1_2_texOff(vec2(0, 1)); + result += mat4(-0.0078926, -0.025773687, 0.1696136, 0.08084846, -0.12121332, 0.057914667, 0.0011041306, -0.050299834, -0.034782372, 0.0646752, -0.07594214, 0.042853054, -0.04617414, -0.11512558, 0.08340222, 0.0027434994) * conv2d_1_2_texOff(vec2(1, 1)); + result += mat4(0.039316215, -0.0047521982, 0.0007410762, 0.003044629, -0.014875219, 0.0003238436, 0.011892292, 0.017935025, -0.066173576, 0.004730928, -0.028995039, 0.049613565, 0.080073915, 0.03108165, 0.04943785, 0.023901751) * conv2d_1_3_texOff(vec2(-1, -1)); + result += mat4(0.026870532, -0.002210108, 0.04364908, -0.085835844, 0.066105135, 0.0270752, -0.035426065, 0.03159552, -0.052549567, -0.16905689, 0.030008933, -0.024280457, -0.018040571, 0.05162439, 0.04035218, 0.028920501) * conv2d_1_3_texOff(vec2(0, -1)); + result += mat4(-0.05643361, -0.0026553562, -0.004815994, -0.056199763, -0.015197031, -0.27437776, 0.08667686, 0.009542018, 0.020103246, 0.30491906, 0.09443379, 0.047749072, 0.07879209, -0.16204481, 0.05484295, 0.014890158) * conv2d_1_3_texOff(vec2(1, -1)); + result += mat4(-0.04251266, 0.108698756, 0.07989816, -0.03404856, -0.0117967175, 0.029044988, -0.054395277, -0.02599575, -0.01700795, 0.21388772, -0.071163945, 0.046782244, 0.004954562, 0.08941993, 0.051816255, 0.007873691) * conv2d_1_3_texOff(vec2(-1, 0)); + result += mat4(0.009905115, -0.06495422, -0.07182362, -0.07009032, -0.0011140234, 0.1801605, 0.045418646, 0.022728456, -0.07182372, -0.20405844, -0.2595796, 0.025947588, -0.0051582963, -0.21421307, -0.115997046, -0.04933461) * conv2d_1_3_texOff(vec2(0, 0)); + result += mat4(-0.07039363, -0.07689468, 0.04071002, -0.011898511, 0.058931004, 0.19578938, -0.047047555, 0.045687, 0.039013788, -0.03537131, 0.09728327, 0.06489651, 0.009094454, -0.035449073, -0.010307263, -0.128886) * conv2d_1_3_texOff(vec2(1, 0)); + result += mat4(0.07495727, 0.12349849, -0.011538896, 0.08012793, 0.110961534, -0.10587627, 0.041072518, 0.048473507, 0.04384488, -0.1849016, -0.016741171, 0.0036955767, 0.055009063, -0.20208012, 0.028385293, 0.010734535) * conv2d_1_3_texOff(vec2(-1, 1)); + result += mat4(0.09469653, 0.017364593, -0.09390158, 0.12721796, 0.04345901, -0.2840768, -0.05992785, 0.066435404, 0.05637269, 0.14012375, 0.0345561, -0.054484397, 0.039971624, -0.030509844, -0.020659527, 0.0061903074) * conv2d_1_3_texOff(vec2(0, 1)); + result += mat4(-0.03903556, -0.14210649, -0.017638791, 0.07868067, 0.028452715, 0.12341494, -0.019836478, -0.021302665, -0.04480746, -0.00985662, -0.0718964, -0.028854342, 0.09794145, -0.080464825, 0.050758284, -0.026055876) * conv2d_1_3_texOff(vec2(1, 1)); + result += mat4(-0.028701145, 0.01829752, 0.087533996, -0.00965923, 0.036159534, 0.03749543, 0.009703668, -0.11557614, 0.075031266, -0.1879373, -0.11208702, -0.032449514, 0.011989358, -0.1298161, 0.053492643, -0.020412037) * conv2d_1_4_texOff(vec2(-1, -1)); + result += mat4(-0.013003049, 0.026942214, -0.030305991, 0.034897134, -0.016770195, -0.0018774936, -0.16833772, -0.045802023, -0.04935283, -0.030899772, 0.089957945, 0.027436828, -0.07391319, 0.022749206, -0.08397321, -0.079581566) * conv2d_1_4_texOff(vec2(0, -1)); + result += mat4(-0.015891165, 0.03229516, -0.026230607, -0.016856106, -0.013348166, -0.058003638, 0.091278724, -0.020132544, -0.0104976315, -0.06962491, 0.10252575, -0.104778886, 0.011487738, 0.07815713, -0.1523581, 0.04473245) * conv2d_1_4_texOff(vec2(1, -1)); + result += mat4(-0.015247553, -0.0689445, -0.024725895, 0.059181888, 0.11106032, 0.005426758, -0.0007795084, -0.10700971, -0.042458396, 0.10347201, 0.0126216225, 0.06868036, 0.11178716, -0.30893403, 0.035914417, 0.022325242) * conv2d_1_4_texOff(vec2(-1, 0)); + result += mat4(0.07837707, -0.10944139, -0.055363763, -0.0064786635, -0.10494937, -0.030199448, -0.09446005, 0.06313394, -0.05885978, 0.024449185, -0.053455792, 0.10630162, -0.02901833, -0.0077567264, 0.07457602, -0.014757839) * conv2d_1_4_texOff(vec2(0, 0)); + result += mat4(0.0016780697, -0.10031895, -0.00528505, 0.08190756, -0.004673542, 0.024529556, -0.01576794, -0.052456655, 0.0008170726, -0.07658871, 0.17358595, -0.027121188, 0.04863556, 0.1847656, 0.060486633, -0.10650409) * conv2d_1_4_texOff(vec2(1, 0)); + result += mat4(0.03644902, 0.1148294, 0.045266416, 0.10774466, -0.020824777, -0.13833138, -0.15486678, -0.28599513, 0.0057938877, -0.02195408, -0.087424345, 0.05426812, -0.07872704, -0.074092545, 0.042901468, -0.018899178) * conv2d_1_4_texOff(vec2(-1, 1)); + result += mat4(-0.08066995, 0.06903461, -0.06546987, 0.07025312, 0.0066974177, -0.21211831, -0.13548216, -0.15869343, -0.03845252, -0.018342808, 0.012805937, 0.0571223, 0.0010664713, -0.16705228, 0.03932396, 0.07297253) * conv2d_1_4_texOff(vec2(0, 1)); + result += mat4(0.10483158, 0.14434452, 0.10646279, -0.07861952, -0.11446141, -0.06909528, -0.06899353, 0.06655939, -0.023679903, 0.08045442, 0.075076155, -0.0067794793, -0.03872731, -0.0021570718, 0.008664595, 0.04054242) * conv2d_1_4_texOff(vec2(1, 1)); + result += mat4(-0.1058983, -0.64768726, -0.1070164, -0.16036078, -0.006849701, 0.08040625, -0.01209451, -0.021268113, -0.043588012, -0.010082733, 0.00032744344, 0.032486998, -0.16930111, 0.09392636, 0.031829715, -0.023427248) * conv2d_1_5_texOff(vec2(-1, -1)); + result += mat4(0.1391673, 0.09537431, 0.15677875, 0.26951012, 0.04830714, 0.138435, 0.02802541, -0.044355396, 0.087282084, -0.0071173464, 0.06556808, -0.014055374, -0.21888524, 0.28007838, -0.26575592, 0.103729926) * conv2d_1_5_texOff(vec2(0, -1)); + result += mat4(0.066979684, -0.023621002, -0.08544632, 0.021912837, -0.02770723, 0.23085785, -0.07876425, -0.001778253, 0.059612133, 0.13702968, -0.018019872, -0.011194369, -0.17940903, 0.38167855, 0.3581132, 0.052256417) * conv2d_1_5_texOff(vec2(1, -1)); + result += mat4(0.013459989, 0.35978305, 0.0080676675, -0.07412809, 0.14155985, 0.16714828, 0.07242234, 0.045785334, 0.044334922, 0.053570222, 0.0149026485, 0.021398667, -0.22911492, 0.32159582, -0.10092565, 0.09225282) * conv2d_1_5_texOff(vec2(-1, 0)); + result += mat4(-0.005439314, -0.06433109, 0.005245534, 0.13578549, -0.14659771, -0.51859146, 0.012266429, 0.06077045, -0.064145505, -0.0999825, -0.08526874, 0.08859418, -0.051710278, 0.0039805844, 0.21263716, -0.06515673) * conv2d_1_5_texOff(vec2(0, 0)); + result += mat4(0.04172571, -0.005810074, -0.023136543, -0.06914317, 0.1286092, 0.104499236, 0.2298874, -0.036697045, 0.04959671, -0.07776955, 0.04101511, 0.028588077, -0.020894285, 0.13061762, -0.090738826, 0.23239848) * conv2d_1_5_texOff(vec2(1, 0)); + result += mat4(-0.06448335, 0.0014417671, -0.10011012, 0.04494505, 0.1481389, 0.006609362, 0.07581272, -0.04148623, 0.06993912, 0.081995845, -0.08818529, 0.07156934, 0.26274258, -0.25181508, 0.036202215, 0.24277289) * conv2d_1_5_texOff(vec2(-1, 1)); + result += mat4(-0.04972903, 0.02704316, 0.027814522, 0.11539635, -0.14725707, 0.042437248, 0.055962242, -0.13022345, -0.08122987, -0.107094996, 0.019609177, 0.017482767, -0.40221646, 0.89007, 0.32853803, 0.03351898) * conv2d_1_5_texOff(vec2(0, 1)); + result += mat4(-0.08624043, 0.044317793, -0.030672917, 0.024382416, -0.035281107, -0.13298373, 0.03268051, -0.08780466, -0.062240686, 0.15269567, 0.088559024, 0.02112772, -0.12399524, 0.18136752, 0.18347566, -0.41017237) * conv2d_1_5_texOff(vec2(1, 1)); + result += mat4(-0.012344986, 0.0819994, 0.08926104, 0.037693802, -0.026298285, -0.14426899, 0.013797544, 0.07573523, 0.042820767, -0.008953319, 0.03555183, 0.07681178, 0.03561626, 0.20060936, 0.014094836, -0.07780646) * conv2d_1_6_texOff(vec2(-1, -1)); + result += mat4(0.0076577337, -0.077223584, -0.049890388, 0.013612941, 0.0417324, 0.038160775, -0.031893957, 0.06730074, 0.048760794, -0.08885555, -0.014088995, -0.03504145, 0.08756986, 0.33382958, -0.025584355, 0.0898367) * conv2d_1_6_texOff(vec2(0, -1)); + result += mat4(-0.0027248159, -0.009261547, -0.010573189, 0.016224667, -0.00859355, 0.23445041, -0.037793424, 0.045305517, 0.019869976, 0.06422869, 0.086130686, -0.040192682, 0.009780726, -0.05960844, 0.01658926, 0.019263476) * conv2d_1_6_texOff(vec2(1, -1)); + result += mat4(-0.012945488, -0.102715746, 0.074896775, 0.0124892155, 0.122968525, 0.135008, -0.132012, 0.044492103, 0.073970355, 0.048286952, -0.0033707109, 0.0077622165, 0.03792696, 0.18066593, -0.058781058, -0.00574739) * conv2d_1_6_texOff(vec2(-1, 0)); + result += mat4(0.07965153, 0.12858966, -0.07428137, -0.0073787323, -0.077527784, -0.23929825, 0.02083824, -0.06023361, 0.019069064, -0.06172661, 0.034480214, -0.064167224, -0.1050257, 0.052588984, -0.06398863, 0.040950246) * conv2d_1_6_texOff(vec2(0, 0)); + result += mat4(0.04623202, 0.114150316, -0.15639481, 0.08311473, 0.068393774, 0.12620011, 0.0075128404, -0.053743124, 0.018285705, -0.14228502, -0.02221842, -0.019861415, 0.005128908, 0.17778534, -0.07174087, 0.030204035) * conv2d_1_6_texOff(vec2(1, 0)); + result += mat4(-0.008492201, -0.122009255, 0.0605521, -0.03450755, 0.0509936, 0.066243686, 0.00546704, -0.014830274, -0.006705027, 0.030692441, -0.019571733, 0.08969137, 0.03030771, 0.07903839, -0.02059117, -0.06824601) * conv2d_1_6_texOff(vec2(-1, 1)); + result += mat4(0.0991305, -0.07580958, 0.046257865, -0.042087436, -0.0947227, 0.02381838, 0.024904741, -0.04824861, -0.059442014, 0.11869142, -0.098470874, -0.09807145, 0.019457888, 0.29149088, 0.09020278, -0.04943551) * conv2d_1_6_texOff(vec2(0, 1)); + result += mat4(0.082584344, 0.084786005, -0.13481602, -0.04953457, 0.023263622, -0.09584821, 0.027991343, -0.04067843, -0.009498681, -0.033229757, -0.0296905, -0.086042464, -0.015430221, 0.25951028, 0.026116326, 0.015405893) * conv2d_1_6_texOff(vec2(1, 1)); + result += mat4(-0.06470308, 0.025905779, 0.06861305, 0.021462845, -0.023637587, 0.15395701, -0.03916342, 0.0006587917, -0.008185829, 0.11200546, -0.037124023, 0.007394828, 0.06663645, -0.027812524, -0.0037342268, -0.0061668474) * conv2d_1_7_texOff(vec2(-1, -1)); + result += mat4(0.03544779, -0.00031186134, 0.02004818, 0.051684547, -0.09745726, 0.042007558, -0.008420215, 0.09486203, 0.010861714, 0.010206691, -0.040740013, 0.06942054, -0.101959646, -0.10260883, 0.10044887, -0.0027186745) * conv2d_1_7_texOff(vec2(0, -1)); + result += mat4(-0.018351192, -0.08589665, -3.2480384e-05, 0.05149168, 0.045533057, -0.108840615, -0.07827046, -0.043606672, 0.007251551, 0.1417391, 0.014130545, 0.13982835, 0.016003221, 0.0120230345, -0.023557581, 0.050320093) * conv2d_1_7_texOff(vec2(1, -1)); + result += mat4(-0.030199634, 0.14185253, -0.046193156, 0.117007956, -0.082545996, -0.06779435, -0.020080375, -0.011942185, -0.06754442, 0.15454075, -0.012006602, 0.06574313, -0.046923466, 0.07991663, 0.06952191, -0.020431083) * conv2d_1_7_texOff(vec2(-1, 0)); + result += mat4(0.05245333, 0.18594715, -0.005668068, 0.025746932, 0.101661645, 0.051543713, 0.00084247196, -0.062519245, 0.0899365, 0.07716826, 0.029157262, 0.01285533, -0.02915037, 0.06552279, -0.0121986, 0.034650713) * conv2d_1_7_texOff(vec2(0, 0)); + result += mat4(0.021543847, -0.04752802, -0.03929521, -0.014301264, -0.10118153, -0.18696767, -0.12275127, -0.04238438, -0.0013353159, 0.047490425, 0.0026643847, 0.029076844, -0.032518886, -0.11041743, 0.020810358, -0.035274237) * conv2d_1_7_texOff(vec2(1, 0)); + result += mat4(-0.060908165, 0.16895033, -0.06763098, -0.014263504, 0.007936432, -0.106404535, 0.09746626, -0.01898785, 0.0048336, -0.18966739, -0.040730722, 0.098006144, 0.09074511, -0.10843708, -0.035986647, 0.02219366) * conv2d_1_7_texOff(vec2(-1, 1)); + result += mat4(-0.05764318, 0.09750307, -0.087208144, 0.117957935, 0.09374338, -0.041801717, 0.04441212, 0.03233607, -0.053928304, 0.08444281, 0.06290966, 0.040370744, 0.043357067, 0.0613805, -0.10498971, -0.024346486) * conv2d_1_7_texOff(vec2(0, 1)); + result += mat4(-0.007321799, -0.003973235, 0.06420614, 0.016369943, 0.02087516, -0.044659432, -0.14253752, -0.056806125, -0.00084979524, 0.1113189, 0.044143334, -0.074175484, -0.05122868, -0.13652909, -0.0013369785, -0.07416767) * conv2d_1_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-2-ReLU) +//!HOOK LUMA +//!BIND conv2d_1_0 +//!BIND conv2d_1_1 +//!BIND conv2d_1_2 +//!BIND conv2d_1_3 +//!BIND conv2d_1_4 +//!BIND conv2d_1_5 +//!BIND conv2d_1_6 +//!BIND conv2d_1_7 +//!SAVE conv2d_2_1 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.01809597, -0.007259329, 0.011446571, 0.009539949); + result += mat4(0.08974722, -0.057394583, -0.046069987, 0.07864474, -0.03406532, -0.043008525, 0.0076725646, 0.030887362, 0.03493497, 0.07332323, 0.11389477, 0.0099623585, 0.06267059, 0.05067181, 0.003936554, -0.020788096) * conv2d_1_0_texOff(vec2(-1, -1)); + result += mat4(-0.001502734, 0.0386735, 0.0034451203, -0.06866382, 0.06357977, -0.034083746, -0.0014485398, 0.09803482, 0.016053537, -0.093313985, -0.013740547, 0.095902175, -0.0068273414, 0.0069317883, 0.07468291, -0.014008881) * conv2d_1_0_texOff(vec2(0, -1)); + result += mat4(-0.018305873, 0.08809944, 0.12883478, -0.02866853, 0.011447931, -0.08039699, -0.022190414, 0.3031448, 0.03934125, 0.0696803, -0.044736862, 0.045283377, -0.03417613, -0.012693501, 0.06992652, -0.14414586) * conv2d_1_0_texOff(vec2(1, -1)); + result += mat4(0.17251596, 0.11039471, 0.06795553, 0.057806175, 0.017827867, 0.0118180895, 0.050705157, 0.059729815, 0.025164269, -0.060798462, -0.056215513, -0.0363927, 0.0214516, 0.0192505, 0.080937915, -0.12746243) * conv2d_1_0_texOff(vec2(-1, 0)); + result += mat4(0.14713654, 0.13962387, 0.0292696, 0.08108621, 0.11103104, -0.033517674, -0.21728092, 0.21753646, -0.005512285, -0.06124906, -0.05421699, -0.00859261, -0.04453755, -0.09267506, 0.1667471, -0.086991236) * conv2d_1_0_texOff(vec2(0, 0)); + result += mat4(-0.085520335, 0.09010655, -0.04551471, -0.041702263, -0.02551267, 0.0002442629, -0.11318135, -0.23075797, -0.0032654917, -0.020646181, -0.16889559, 0.00024069057, -0.0039345985, -0.007057778, -0.0066967322, -0.03788228) * conv2d_1_0_texOff(vec2(1, 0)); + result += mat4(0.022932258, 0.050379436, 0.07207928, -0.11221837, 0.0130831115, -0.0545057, -0.07050016, -0.017975781, 0.015554515, 0.009807091, 0.10832974, 0.010133914, -0.010356311, -0.08178744, 0.04492316, 0.085487835) * conv2d_1_0_texOff(vec2(-1, 1)); + result += mat4(0.22200887, -0.10962674, 0.1547704, -0.13002324, -0.08965904, -0.033875242, -0.050751805, -0.010955291, 0.007495879, 0.047288466, -0.0234695, -0.0442233, -0.05707627, -0.05559915, -0.032663383, 0.022517374) * conv2d_1_0_texOff(vec2(0, 1)); + result += mat4(0.0388565, -0.061275236, 0.04765436, -0.13374029, -0.089926176, -0.073177524, 0.011910142, -0.10706633, -0.028476244, -0.0018096503, -0.09545337, -0.124540105, -0.0040880535, -0.01339201, 0.08047419, 0.12758337) * conv2d_1_0_texOff(vec2(1, 1)); + result += mat4(-0.00031812486, 0.008170696, -0.06208043, -0.059076823, 0.0046319487, -0.109885566, 0.058871698, -0.028006772, 0.056106254, 0.12692627, -0.1050283, -0.31867397, -0.00816154, -0.029396255, -0.041891497, 0.08142962) * conv2d_1_1_texOff(vec2(-1, -1)); + result += mat4(-0.048969254, -0.04084207, 0.10848751, 0.0162676, -0.045184273, -0.13072723, 0.07681187, -0.07474879, -0.12002091, -0.04601605, -0.46615177, -0.22194192, -0.10415525, 0.070380114, 0.027935691, -0.076817654) * conv2d_1_1_texOff(vec2(0, -1)); + result += mat4(0.058873277, -0.02194783, 0.11969051, -0.1133347, -0.013515706, -0.028978303, -0.09594172, 0.104455106, 0.13784535, -0.10757687, -0.17776383, -0.06740314, 0.027393539, -0.0958441, -0.023288494, -0.053651378) * conv2d_1_1_texOff(vec2(1, -1)); + result += mat4(-0.04353452, -0.0018926831, -0.008601414, 0.040108994, 0.05980129, -0.029484522, 0.097080655, 0.02981196, 0.09436037, 0.05498659, 0.09255856, 0.14033128, -0.1002076, -0.057044487, -0.09080253, -0.08466663) * conv2d_1_1_texOff(vec2(-1, 0)); + result += mat4(-0.13454814, 0.053118296, 0.0020678288, -0.121801004, -0.0442235, -0.04095646, 0.06825874, -0.03648487, -0.07244828, 0.041476924, -0.058172427, 0.43018842, -0.04076554, 0.04303618, 0.07993228, 0.054027397) * conv2d_1_1_texOff(vec2(0, 0)); + result += mat4(0.057967342, -0.068577655, 0.044533517, 0.023215523, -0.034145925, -0.007827256, -0.120982826, -0.020564968, -0.16727303, 0.14238362, -0.032474738, -0.06825909, -0.07495851, 0.07559027, -0.08125224, -0.01977864) * conv2d_1_1_texOff(vec2(1, 0)); + result += mat4(0.08150442, 0.032221925, 0.028710455, -0.03734639, 0.059873328, 0.13391107, -0.05114325, -0.0128373355, -0.14087403, 0.0709955, -0.07242348, -0.0035251733, -0.09796152, 0.11837425, -0.016200937, 0.029503472) * conv2d_1_1_texOff(vec2(-1, 1)); + result += mat4(0.05068108, -0.0898573, 0.0108421855, 0.021399837, 0.02234396, 0.05424754, -0.020104418, -0.11817873, 0.1220066, -0.021129828, -0.13346282, -0.030525615, -0.047299366, -0.053865477, -0.022940893, -0.07856213) * conv2d_1_1_texOff(vec2(0, 1)); + result += mat4(-0.012096377, 0.013601851, 0.020446809, -0.10492482, -0.06469445, 0.03448889, -0.07677999, 0.0017471157, -0.036593143, -0.03791922, 0.046369188, 0.058738172, 0.039446738, 0.015426071, 0.040716898, 0.052520655) * conv2d_1_1_texOff(vec2(1, 1)); + result += mat4(-0.011576842, 0.14291708, -0.085464, 0.04823769, 0.013427116, -0.067072675, 0.024363173, -0.061673254, 0.021091694, 0.010108753, 0.06366308, 0.059176635, 0.030968698, -0.05105878, -0.08252918, 0.061828688) * conv2d_1_2_texOff(vec2(-1, -1)); + result += mat4(0.025508406, 0.053967323, 0.021817207, -0.07290561, -0.029633604, -0.08344699, 0.09763669, -0.05941648, -0.026044406, 0.04977485, -0.12530185, -0.09826884, -0.008688463, -0.07970346, -0.09230995, 0.073997356) * conv2d_1_2_texOff(vec2(0, -1)); + result += mat4(0.056518354, 0.016244685, 0.14062637, 0.011818997, -0.039067525, -0.03314261, 0.018776461, -0.06979147, 0.091528535, -0.02864895, -0.103084445, -0.07929676, -0.027924893, -0.048091784, -0.12286067, 0.007017993) * conv2d_1_2_texOff(vec2(1, -1)); + result += mat4(0.03082558, 0.004830918, -0.035591446, 0.013694819, -0.047595814, -0.099315725, 0.014426182, 0.045877915, 0.018080486, -0.021914203, -0.099665806, -0.021313844, -0.014837844, 0.043898433, 0.041621327, -0.04202227) * conv2d_1_2_texOff(vec2(-1, 0)); + result += mat4(-0.044189997, -0.07950915, 0.2066972, -0.029563887, 0.03156508, -0.052999865, -0.057783432, -0.1239231, -0.12936692, 0.082947336, -0.043181423, -0.05811266, -0.013954634, -0.0075906524, -0.06267514, 0.03286673) * conv2d_1_2_texOff(vec2(0, 0)); + result += mat4(-0.0018704489, -0.028523736, 0.0285131, 0.19535622, -0.004870037, -0.11971281, -0.035292182, 0.07921527, 0.032171868, 0.02107969, 0.013217628, 0.044199698, 0.0074292943, 0.09520273, 0.0777525, -0.005481386) * conv2d_1_2_texOff(vec2(1, 0)); + result += mat4(-0.1537963, -0.077397294, -0.040240813, -0.01483856, -0.010614203, 0.016921805, -0.06463972, -0.014581693, 0.020288756, 0.08486695, 0.114225395, 0.071876846, -0.061787628, -0.0150212385, -0.06625069, 0.0127510745) * conv2d_1_2_texOff(vec2(-1, 1)); + result += mat4(0.07969649, -0.07553746, 0.3011664, -0.07753997, -0.008760307, -0.04732446, -0.06533066, -0.04861088, -0.04453593, 0.014899991, -0.013779289, -0.03079048, 0.035094455, 0.0026017237, 0.05492003, -0.07883217) * conv2d_1_2_texOff(vec2(0, 1)); + result += mat4(0.1382815, -0.001781069, -0.009535754, 0.014254669, 0.027612543, -0.0713885, 0.009494898, 0.019641854, 0.053180195, 0.041654743, 0.011953401, 0.031995524, -0.06460382, 0.03716663, -0.0066641453, -0.023757324) * conv2d_1_2_texOff(vec2(1, 1)); + result += mat4(0.11485917, -0.08821221, -0.033164237, 0.035665486, -0.10356065, -0.08925449, -0.08776844, 0.0443344, -0.04627364, 0.03123617, -0.46454397, 0.028888578, 0.084829845, 0.02420092, 0.21837008, -0.010578558) * conv2d_1_3_texOff(vec2(-1, -1)); + result += mat4(0.017928071, -0.019868823, 0.07635952, -0.06252927, 0.011634639, -0.112031534, -0.06432357, 0.044311896, -0.03306069, -0.009021196, 0.20783746, 0.029818283, 0.044896267, 0.103549056, -0.15614301, -0.10390704) * conv2d_1_3_texOff(vec2(0, -1)); + result += mat4(-0.05877805, 0.037358385, -0.007874027, 0.02150572, 0.087275535, -0.12576886, -0.17768301, 0.08391734, -0.13349986, -0.020330323, 0.07866404, -0.051829178, -0.07415576, 0.08051908, 0.0019096436, -0.0248202) * conv2d_1_3_texOff(vec2(1, -1)); + result += mat4(-0.06818973, 0.04258476, -0.11570403, 0.019937577, -0.032644536, 0.03827634, 0.09796537, 0.04925239, -0.022239348, 0.06727167, 0.06726447, -0.039859198, -0.08094699, 0.100528106, -0.05513857, 0.03842808) * conv2d_1_3_texOff(vec2(-1, 0)); + result += mat4(0.038287744, -0.046130396, 0.0044009783, 0.06255144, 0.07952102, 0.058554716, 0.044949017, -0.023608152, 0.042466514, -0.0037990552, 0.072036006, 0.13415317, 0.061293673, -0.093681894, 0.01659891, -0.10580722) * conv2d_1_3_texOff(vec2(0, 0)); + result += mat4(-0.0075947028, 0.04923867, 0.04950351, 0.033283208, 0.02411005, -0.07484874, 0.039531544, -0.040823437, 0.031972732, -0.05750063, 0.062427163, -0.048166666, 0.08210575, -0.08971807, 0.0014726426, 0.024761481) * conv2d_1_3_texOff(vec2(1, 0)); + result += mat4(-0.06970087, -0.02279949, 0.036573384, 0.04610181, 0.052381646, 0.022673553, 0.062322322, 0.08522047, 0.011990278, -0.060493305, -0.22580588, -0.13913772, 0.067572676, 0.113445826, 0.118292265, 0.068487026) * conv2d_1_3_texOff(vec2(-1, 1)); + result += mat4(0.073160335, -0.053239502, 0.058038283, -0.078760535, 0.030652044, 0.055304956, -0.10536544, -0.042361442, 0.08508474, -0.14913025, -0.06592552, 0.028471349, -0.043403942, 0.028345525, -0.03665315, 0.06630598) * conv2d_1_3_texOff(vec2(0, 1)); + result += mat4(0.064241365, 0.037043408, -0.030782968, -0.018506581, 0.0022339206, -0.03144272, -0.054002218, -0.038323894, -0.07115976, -0.090881124, -0.054997433, -0.051876, 0.015684353, 0.07759289, 0.14167948, -0.0021917135) * conv2d_1_3_texOff(vec2(1, 1)); + result += mat4(0.05477468, 0.14993134, 0.024986196, 0.019096363, 0.060178306, -0.120737426, 0.05904739, -0.012368025, 0.030011868, 0.021836974, -0.02062985, -0.127062, -0.049314924, 0.114634186, 0.08724103, -0.10614678) * conv2d_1_4_texOff(vec2(-1, -1)); + result += mat4(-0.026916834, -0.02322393, -0.06406004, 0.05087083, -0.019631015, -0.082680516, -0.06368981, -0.13085927, 0.024152614, -0.009476421, 0.08715081, -0.067289144, -0.036660537, 0.0037622356, 0.039944604, -0.0964066) * conv2d_1_4_texOff(vec2(0, -1)); + result += mat4(-0.04755059, -0.106824026, -0.03209321, -0.038908567, 0.06699002, 0.0852551, 0.0488239, -0.11888451, -0.029342968, 0.016189383, 0.0006822671, -0.04981751, -0.086947605, -0.059580225, 0.029643087, 0.00021858286) * conv2d_1_4_texOff(vec2(1, -1)); + result += mat4(-0.02501859, 0.13633497, -0.05413384, -0.039060574, -0.13850933, -0.052807204, 0.022122784, -0.0062004775, -0.05766888, -0.014106309, -0.012562379, 0.006912933, -0.15607083, -0.14682062, -0.111053236, 0.09419012) * conv2d_1_4_texOff(vec2(-1, 0)); + result += mat4(-0.045371503, -0.06589474, 0.00377123, 0.03228386, 0.050489787, 0.011352468, 0.011432119, 0.06737237, 0.0014837743, -0.073518634, -0.029983262, 0.019647364, -0.008811636, 0.022412278, -0.02858212, 0.007172225) * conv2d_1_4_texOff(vec2(0, 0)); + result += mat4(0.000113790156, -0.037234273, 0.036010038, 0.050041687, 0.11892256, 0.092400156, 0.013134459, -0.085957184, -0.05347301, -0.25043193, 0.16402128, -0.015024794, 0.0110863745, 0.09496419, -0.06436348, -0.05829286) * conv2d_1_4_texOff(vec2(1, 0)); + result += mat4(-0.02188274, -0.016275775, -0.03614848, -0.10994358, -0.3107118, -0.2234907, -0.0012438593, -0.027794728, -0.06316975, -0.0024332027, -0.0014720003, 0.111853264, 0.06801622, -0.066525, 0.13523015, 0.0863234) * conv2d_1_4_texOff(vec2(-1, 1)); + result += mat4(-0.03687555, -0.050679803, 0.046274412, -0.08960817, -0.2260352, 0.095823035, 0.039576087, -0.014151317, -0.038530204, 0.060383882, 0.00799593, 0.07945562, -0.044110917, -0.10669394, -0.055741455, 0.08334321) * conv2d_1_4_texOff(vec2(0, 1)); + result += mat4(0.050064012, 0.0645976, 0.034032837, 0.13629472, -0.02919891, 0.14524814, 0.028753709, -0.011516505, -0.043493725, 0.09487557, -0.013130709, 0.041645847, -0.05654849, -0.04582667, 0.009315843, 0.01709956) * conv2d_1_4_texOff(vec2(1, 1)); + result += mat4(0.22713026, 0.13292877, 0.16952021, -0.4218617, 0.04456534, 0.017331598, -0.008258746, -0.0908604, -0.026475342, -0.006474787, -0.017406981, 0.11194806, 0.034013066, -0.24220166, -0.10562158, 0.16913258) * conv2d_1_5_texOff(vec2(-1, -1)); + result += mat4(-0.03811829, -0.023052575, 0.024508754, -0.028697502, 0.06442697, 0.14254358, -0.008434641, -0.016290251, -0.03435895, -0.034129024, -0.0440653, -0.0052929064, -0.17684558, 0.24296668, 0.09406738, -0.034765854) * conv2d_1_5_texOff(vec2(0, -1)); + result += mat4(0.055974524, -0.02729386, -0.08167744, 0.22531694, -0.017333092, -0.07153252, -0.06727929, -0.1133512, 0.028469894, -0.015679823, 0.0834762, 0.047915354, -0.10794529, -0.10519973, 0.64922744, 0.3440164) * conv2d_1_5_texOff(vec2(1, -1)); + result += mat4(0.06920051, 0.21219712, -0.17762788, 0.1471426, 0.05406958, 0.0053514726, 0.021575779, -0.13939373, -0.028380929, -0.027847107, 0.053497307, -0.013014344, -0.26296037, 0.16364071, 0.24188672, -0.0063509718) * conv2d_1_5_texOff(vec2(-1, 0)); + result += mat4(-0.0131874755, 0.043574467, 0.03535185, 0.032853585, -0.038923983, 0.060529564, -0.030346926, -0.0009526909, 0.00436926, 0.08046837, 0.060406864, 0.006680331, -0.12000841, 0.15016437, 0.26632604, 0.48897293) * conv2d_1_5_texOff(vec2(0, 0)); + result += mat4(0.033514064, -0.06738859, -0.012968893, 0.02751357, 0.08441579, -0.03695041, 0.07956055, 0.15366794, 0.032722533, 0.041380964, -0.07082148, -0.052959573, -0.33346766, -0.50331694, -0.2095244, 0.054262448) * conv2d_1_5_texOff(vec2(1, 0)); + result += mat4(0.020997878, 0.014422675, -0.13087961, 0.014882582, -0.05240696, 0.056935374, 0.09795725, -0.030672986, 0.07048674, 0.06168097, -0.022310816, -0.06722859, -0.74283427, 0.08410451, -0.14403035, -0.29033536) * conv2d_1_5_texOff(vec2(-1, 1)); + result += mat4(0.03521117, 0.118142895, -0.00726161, 0.031414963, -0.025939172, 0.002009573, 0.0110588, -0.28460506, 0.077694386, -0.059011452, -0.0036872562, 0.012884099, -0.51541626, -0.040709388, 0.04447552, -0.07987485) * conv2d_1_5_texOff(vec2(0, 1)); + result += mat4(-0.03814058, -0.04760199, -0.02700305, 0.08544459, 0.023369074, 0.004915809, -0.054034088, -0.028421447, 0.0443263, -0.026355516, -0.010056215, -0.035825133, -0.11703855, -0.069832526, -0.24104445, -0.073950574) * conv2d_1_5_texOff(vec2(1, 1)); + result += mat4(0.018098732, 0.013704905, 0.1133674, 0.04412713, -0.07361442, 0.09365645, 0.012718531, -0.009049257, -0.025340073, 0.018135931, -0.19494182, -0.002061071, -0.03413712, 0.0007040512, -0.010645244, -0.008207909) * conv2d_1_6_texOff(vec2(-1, -1)); + result += mat4(-0.033838723, -0.022498785, 0.007711611, 0.0012832687, 0.014009118, 0.08435797, 0.008202341, 0.059073262, -0.04152342, -0.02708974, -0.18229802, -0.004802321, 0.0075961393, 0.09781479, 0.06894605, 0.11107733) * conv2d_1_6_texOff(vec2(0, -1)); + result += mat4(-0.013861185, -0.087811634, 0.041258454, -0.050483946, -0.009920498, 0.035319597, 1.2286335e-05, 0.10297167, 0.01479326, 0.04035613, -0.14445129, -0.02399068, -0.1560111, 0.020937288, 0.08566862, 0.096880764) * conv2d_1_6_texOff(vec2(1, -1)); + result += mat4(0.076691784, 0.05224252, 0.06463334, 0.023242442, 0.030325819, 0.028272672, -0.044215422, -0.06758528, 0.026336672, 0.07030837, 0.0056808535, -0.010476183, 0.059838552, 0.041539215, 0.029340776, 0.06620468) * conv2d_1_6_texOff(vec2(-1, 0)); + result += mat4(0.030305991, -0.07936912, -0.047789887, 0.06866783, 0.062147338, 0.049661256, 0.03228067, 0.06764497, -0.065919235, 0.08304244, -0.018804317, 0.028215455, 0.092014216, 0.09544994, -0.11402804, 0.023660555) * conv2d_1_6_texOff(vec2(0, 0)); + result += mat4(0.039843164, 0.060860302, -0.11504969, 0.055434577, 0.055932686, 0.006411057, 0.06797907, -0.08785874, 0.020152723, 0.06960439, 0.018815245, 0.078055754, -0.01404437, -0.07511067, 0.02129542, -0.13894649) * conv2d_1_6_texOff(vec2(1, 0)); + result += mat4(0.066356525, -0.0775759, 0.012709613, -0.06563699, 0.06179321, -0.092641726, -0.0025534416, -0.11037741, -0.025161093, 0.14205174, -0.006717618, -0.06597957, -0.044015322, -0.042251267, 0.0063446686, 0.040883254) * conv2d_1_6_texOff(vec2(-1, 1)); + result += mat4(0.003159712, -0.13736087, -0.02993725, -0.032971874, -0.029832099, 0.062253974, 0.04115334, 0.012469297, -0.055475395, -0.0054963627, -0.0044782986, 0.10387991, 0.05620466, 0.093795136, -0.10121794, -0.044565428) * conv2d_1_6_texOff(vec2(0, 1)); + result += mat4(-0.052741747, -0.034348555, -0.025687827, -0.022061719, -0.029136438, 0.040146545, -0.05078188, -0.027782798, 0.038713533, 0.012091828, -0.021268317, 3.6128724e-05, 0.0034925167, 0.027388655, -0.10872045, -0.093549274) * conv2d_1_6_texOff(vec2(1, 1)); + result += mat4(-0.02193932, -0.012822027, -0.047523063, 0.05462516, 0.009011104, -0.073354386, -0.12922992, 0.0150262285, -0.00053732086, 0.01369674, 0.10813449, 0.021115499, 0.04390482, 0.016575783, -0.014994648, -0.056979902) * conv2d_1_7_texOff(vec2(-1, -1)); + result += mat4(0.019170277, 0.099072754, -0.018233325, 0.051609475, 0.058348004, 0.018658498, -0.15021506, 0.056880508, 0.02809023, -0.016143002, -0.07931041, 0.15440942, -0.057271652, -0.03054734, -0.043911025, -0.038276713) * conv2d_1_7_texOff(vec2(0, -1)); + result += mat4(0.008147103, -0.04196257, -0.057375085, 0.080293596, -0.08650824, 0.07464022, 0.059342343, -0.013514991, -0.0017009542, -0.09215389, -0.010630842, 0.07133518, 0.016978798, 0.051547363, -0.022900151, 0.03725451) * conv2d_1_7_texOff(vec2(1, -1)); + result += mat4(0.053627398, -0.07594534, -0.08293544, 0.07062079, 0.008092155, 0.011203761, -0.049896248, -0.1095071, 0.020627553, 0.06849083, 0.023807649, 0.050426554, -0.024705023, -0.04445586, 0.028543489, 0.11714655) * conv2d_1_7_texOff(vec2(-1, 0)); + result += mat4(-0.0253437, 0.11163769, -0.056022808, -0.086334206, 0.0548052, 0.05575991, 0.020656308, 0.020506606, 0.029533695, 0.08191477, 0.07643528, 0.062418755, -0.029370684, 0.06381357, 0.05412051, -0.037089135) * conv2d_1_7_texOff(vec2(0, 0)); + result += mat4(-0.051183894, -0.03757569, -0.029112045, 0.03299519, -0.025720412, 0.031985633, 0.09623768, -0.12699568, -0.039920144, -0.014619097, 0.06818959, 0.030528614, 0.0046248175, 0.07972895, 0.0017097621, -0.051464528) * conv2d_1_7_texOff(vec2(1, 0)); + result += mat4(0.043959036, -0.23009662, -0.18270104, 0.087902606, -0.028532691, 0.061174434, -0.07020298, 0.071242146, 0.012165943, -0.11729443, 0.055243723, -0.12658738, 0.0073455935, 0.15306695, 0.01847725, -0.036773525) * conv2d_1_7_texOff(vec2(-1, 1)); + result += mat4(0.06332987, -0.04728535, -0.23360464, 0.07500628, -0.0089232735, 0.09835102, -0.016741151, 0.07327699, -0.0136921145, -0.015816888, -0.063507095, -0.04316202, 0.023014594, -0.10914005, -0.065197706, 0.039538562) * conv2d_1_7_texOff(vec2(0, 1)); + result += mat4(0.07051828, 0.109170645, -0.08550662, -0.004776298, 0.024742745, -0.044424456, 0.06266902, 0.05564689, 0.08593459, -0.032819565, -0.043338478, -0.0046684686, -0.021086099, -0.04222097, -0.067092195, 0.057967756) * conv2d_1_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-2-ReLU) +//!HOOK LUMA +//!BIND conv2d_1_0 +//!BIND conv2d_1_1 +//!BIND conv2d_1_2 +//!BIND conv2d_1_3 +//!BIND conv2d_1_4 +//!BIND conv2d_1_5 +//!BIND conv2d_1_6 +//!BIND conv2d_1_7 +//!SAVE conv2d_2_2 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0102932025, -0.016872637, -0.003169691, 0.01035535); + result += mat4(0.038436566, -0.08512791, 0.004339673, 0.09842734, -0.033262126, 0.02654032, -0.075260505, 0.07575426, -0.014356203, 0.15852922, -0.090657026, 0.006296348, 0.047070708, 0.019586686, 0.023525812, -0.0962133) * conv2d_1_0_texOff(vec2(-1, -1)); + result += mat4(0.19872907, 0.08625483, 0.116702214, -0.17054479, 0.0028970349, 0.10555472, -0.27063096, 0.05327625, -0.03373055, 0.20111196, -0.02417172, 0.03496838, -0.04136293, -0.07466215, 0.095720924, -0.015632864) * conv2d_1_0_texOff(vec2(0, -1)); + result += mat4(0.008374931, -0.14173995, 0.0022480914, 0.050477024, 0.046393193, 0.039269555, 0.13201414, 0.101128995, 0.047907144, 0.058423255, 0.12498084, 0.15058988, -0.048830826, -0.062268846, 0.010936774, -0.07372181) * conv2d_1_0_texOff(vec2(1, -1)); + result += mat4(0.112753555, -0.10063212, 0.023306943, -0.1954272, -0.0024644032, -0.08882114, 0.4429248, 0.045186307, 0.02964832, -0.08449549, 0.03277133, 0.007311968, 0.009453563, 0.09974951, 0.016108891, -0.032179564) * conv2d_1_0_texOff(vec2(-1, 0)); + result += mat4(-0.10669576, 0.14344154, -0.11711736, -0.046523146, 0.05932392, -0.13387178, -0.00028596108, 0.049812097, 0.09982752, -0.18304667, -0.031258404, 0.036160044, 0.022425203, 0.018642949, -0.066576414, -0.07888162) * conv2d_1_0_texOff(vec2(0, 0)); + result += mat4(-0.04064275, -0.27184048, -0.024960717, 0.14244938, -0.07044915, 0.055797875, -0.52521235, 0.17480679, 0.032233015, -0.09975703, -0.13259786, 0.17486903, 0.016814435, 0.064331636, -0.0026589786, -0.14208914) * conv2d_1_0_texOff(vec2(1, 0)); + result += mat4(-0.27433497, 0.17472564, -0.12036747, 0.022946425, 0.0040909215, 0.007094669, -0.03019933, 0.030576253, -0.04390153, -0.14853579, -0.07543346, 0.020188756, -0.013806313, 0.023557309, -0.09423453, 0.02147953) * conv2d_1_0_texOff(vec2(-1, 1)); + result += mat4(-0.181797, 0.13379341, -0.2832532, -0.17646243, 0.084766895, -0.080704495, -0.5911435, 0.103994444, 0.04387691, 0.067191675, -0.09801248, -0.012975976, 0.050375447, -0.027577884, -0.026709937, 0.0012420831) * conv2d_1_0_texOff(vec2(0, 1)); + result += mat4(-0.06778531, -0.20722494, -0.21393287, 0.013781556, 0.14178617, -0.19631566, -0.4015847, 0.13992907, -0.05431584, -0.06281534, -0.23505583, 0.074036844, 0.0020055538, 0.022703046, 0.14421001, -0.01810498) * conv2d_1_0_texOff(vec2(1, 1)); + result += mat4(-0.015352279, 0.060496587, 0.092507616, 0.017952317, 0.10531777, -0.010543484, 0.063774586, -0.14915013, 0.10773597, -0.058030672, -0.11852347, 0.027841676, 0.01740626, -0.05636895, 0.09594972, -0.01946828) * conv2d_1_1_texOff(vec2(-1, -1)); + result += mat4(-0.11770859, 0.08592794, -0.0752219, 0.013500635, -0.009520548, -0.072118394, 0.092815585, -0.12400817, -0.15295558, 0.24206327, -0.08984538, 0.124470346, 0.05235887, -0.054060034, 0.08742749, -0.06007786) * conv2d_1_1_texOff(vec2(0, -1)); + result += mat4(-0.093583226, -0.022560887, -0.06824664, -0.07133742, 0.09551432, 0.009690677, 0.07135554, -0.028927475, 0.0074561117, -0.060570728, 0.13366985, 0.13396743, -0.14657004, -0.060656056, 0.04517194, -0.037952352) * conv2d_1_1_texOff(vec2(1, -1)); + result += mat4(-0.00019230878, 0.052784175, 0.1309262, -0.066142745, -0.06477744, 0.090797916, -0.19412965, 0.024527637, 0.11954954, 0.21313839, 0.28447026, -0.08316091, 0.01588293, -0.023936806, 0.017393047, -0.029170873) * conv2d_1_1_texOff(vec2(-1, 0)); + result += mat4(0.045616828, -0.12090421, 0.11151787, 0.06230041, -0.0033326112, -0.056190014, 0.11498565, -0.05439721, 0.16014022, -0.01738808, 0.0022950938, 0.035964336, 0.0026112283, 0.090370126, 0.04855141, 0.027992139) * conv2d_1_1_texOff(vec2(0, 0)); + result += mat4(0.034891196, -0.03574627, 0.027517471, -0.056426972, 0.011956307, 0.013198277, -0.34737143, -0.01976567, 0.0830579, -0.0100226095, 0.14323045, -0.09168779, 0.005296248, 0.044712007, 0.11500597, 0.103682324) * conv2d_1_1_texOff(vec2(1, 0)); + result += mat4(-0.008656309, 0.082859464, -0.11422552, 0.002834319, 0.0989221, -0.01567809, -0.039741844, 0.066015616, 0.045652866, 0.09474033, 0.22074726, -0.09310809, -0.06197577, 0.0034248813, 0.001941734, -0.051574443) * conv2d_1_1_texOff(vec2(-1, 1)); + result += mat4(0.018885199, -0.18505983, -0.06257531, 0.05206431, -0.019649072, 0.01953629, 0.014135476, -0.07915282, 0.008791792, 0.110373735, -0.32844788, 0.16660698, -0.10577062, -0.057653308, -0.115892164, 0.011086274) * conv2d_1_1_texOff(vec2(0, 1)); + result += mat4(-0.03784607, 0.022533193, -0.053525362, -0.048276614, -0.011195153, 0.026045162, -0.10399662, -0.023260226, 0.08476679, -0.10535599, -0.30735326, -0.055628445, -0.060028102, 0.034853008, -0.056184, -0.083230115) * conv2d_1_1_texOff(vec2(1, 1)); + result += mat4(0.06760786, 0.16179302, -0.118864946, -0.034298413, -0.049755417, 0.043124072, 0.25422427, 0.012247339, 0.005825049, -0.058031347, 0.04185984, -0.008767722, -0.022682743, 0.055060845, 0.07432099, -0.026758477) * conv2d_1_2_texOff(vec2(-1, -1)); + result += mat4(0.03671346, 0.24082515, 0.31776464, -0.11949707, -0.12781343, 0.06720598, 0.073798455, -0.06606062, -0.05825967, 0.054210808, 0.1039934, 0.17075765, 0.05385945, -0.092671126, 0.13634287, -0.06547265) * conv2d_1_2_texOff(vec2(0, -1)); + result += mat4(-0.10002236, -0.09289105, -0.1750595, 0.017257025, -0.04493247, 0.1408271, -0.069975294, 0.020198068, 0.046180718, -0.17173108, -0.04980055, 0.028744346, -0.03193435, -0.0023842084, -0.036552504, -0.001482784) * conv2d_1_2_texOff(vec2(1, -1)); + result += mat4(-0.015841138, -0.06837806, 0.07714096, -0.11363247, -0.0055072014, -0.012350458, 0.07332677, 0.04667852, 0.04378284, 0.104695976, 0.11022535, 0.0188256, 0.09636939, -0.09210068, 0.017602984, 0.083510995) * conv2d_1_2_texOff(vec2(-1, 0)); + result += mat4(-0.055630315, -0.015418918, -0.45787054, 0.06243029, -0.043179344, 0.049424123, -0.039964218, 0.0010888253, -0.08222683, -0.107776105, 0.19656059, 0.06365014, 0.0598147, 0.017306158, -0.06394163, -0.04326622) * conv2d_1_2_texOff(vec2(0, 0)); + result += mat4(-0.21412842, -0.11010432, -0.43835136, -0.18818177, -0.0142450705, -0.09189092, 0.019128043, 0.09999981, -0.021642478, -0.02316909, 0.097123414, 0.058954697, -0.031292256, 0.04103063, -0.05887264, 0.05350077) * conv2d_1_2_texOff(vec2(1, 0)); + result += mat4(0.11024992, -0.07412409, -0.22186321, -0.032255672, 0.02559088, 0.051890284, -0.12523603, -0.02233625, -0.020445233, 0.028723149, -0.09130667, -0.03274198, -0.09089258, 0.07206191, -0.19203721, -0.07408743) * conv2d_1_2_texOff(vec2(-1, 1)); + result += mat4(-0.001041941, 0.11271334, -0.024774585, 0.08025154, 0.06622964, -0.0787396, -0.07239129, -0.04297541, -0.009916974, -0.00023384744, 0.041440386, 0.040175464, 0.036225393, 0.18640225, -0.2673015, -0.051663592) * conv2d_1_2_texOff(vec2(0, 1)); + result += mat4(0.1364139, 0.005123496, -0.035877466, -0.008553494, -0.017431224, -0.008453461, -0.20078611, 0.0117227975, -0.086602874, 0.105799235, -0.15483473, -0.00891134, -0.011340127, 0.026145222, 0.030248864, 0.06156444) * conv2d_1_2_texOff(vec2(1, 1)); + result += mat4(-0.053950526, 0.1763199, -0.096226424, 0.019539474, -0.084666, 0.0570082, 0.03784466, 0.074179165, -0.018736616, 0.05449927, -0.2547008, -0.04102699, 0.0017552393, -0.029828632, -0.091094196, 0.058404624) * conv2d_1_3_texOff(vec2(-1, -1)); + result += mat4(0.009414969, 0.10637441, 0.009950074, 0.016101075, -0.09520018, -0.04036803, 0.061013084, -0.027367057, -0.091663584, 0.11467181, 0.06463298, -0.0427656, -0.024823729, -0.12846106, -0.23350102, -0.05436409) * conv2d_1_3_texOff(vec2(0, -1)); + result += mat4(-0.0033072068, 0.0734535, -0.018544026, 0.09311907, 0.04576039, 0.04276625, 0.033969123, 0.011789976, 0.014353016, 0.031544838, 0.13360602, 0.05744321, 0.11423754, -0.0031193208, -0.047385346, 0.06413874) * conv2d_1_3_texOff(vec2(1, -1)); + result += mat4(0.06941058, -0.18033704, -0.07863076, -0.008833946, -0.0054664505, 0.0696076, -0.047601327, 0.0018578348, -0.0620215, 0.09904048, -0.020699257, -0.11007639, -0.028059557, -0.121822394, 0.070102885, -0.04994039) * conv2d_1_3_texOff(vec2(-1, 0)); + result += mat4(-0.017573103, 0.007679572, 0.026391247, -0.07140823, -0.08884767, 0.06557619, 0.007466384, -0.0072667343, -0.052095298, -0.06172468, 0.26702762, -0.18441689, -0.09234244, -0.06163663, 0.067234576, -0.117673665) * conv2d_1_3_texOff(vec2(0, 0)); + result += mat4(0.032265406, 0.116357826, -0.023417607, 0.02672593, 0.040108383, -0.02738228, -0.054578163, 0.05454198, 0.040966887, 0.010791084, -0.033974644, -0.0786729, 0.06342873, -0.019063843, 0.051141724, 0.0069184983) * conv2d_1_3_texOff(vec2(1, 0)); + result += mat4(-0.07889718, -0.07952128, -0.094684176, 0.022913521, -0.009632588, -0.059502617, -0.026889572, -0.08062059, 0.08303738, -0.05446329, -0.06300248, -0.044137094, 0.06444689, 0.13780734, 0.21234609, -0.017626805) * conv2d_1_3_texOff(vec2(-1, 1)); + result += mat4(0.034006935, -0.08940642, -0.06272829, 0.04411658, 0.01798195, -0.104893796, 0.019006882, 0.06116671, -0.18644714, 0.17860366, -0.26413506, -0.02458007, 0.029075824, 0.06940631, -0.13286953, -0.08503223) * conv2d_1_3_texOff(vec2(0, 1)); + result += mat4(0.045879576, -0.1087109, -0.107159376, -0.094712116, 0.030352993, -0.19299898, -0.18308118, 0.010863185, 0.02918216, 0.056017328, -0.18417405, 0.020459736, 0.07628103, 0.07029216, -0.4088816, -0.021462254) * conv2d_1_3_texOff(vec2(1, 1)); + result += mat4(0.054681033, -0.08866085, -0.071540125, 0.03984152, -0.031823557, 0.36911505, -0.22409001, 0.02752617, -0.05400007, -0.019800322, -0.062325355, -0.067619726, -0.06782346, -0.16322389, -0.1117041, -0.07872052) * conv2d_1_4_texOff(vec2(-1, -1)); + result += mat4(0.046901528, 0.06896929, 0.13946067, -0.0062405067, -0.0047559617, 0.05723938, 0.19492902, 0.009900525, -0.13558947, -0.024676166, -0.065283656, 0.013416491, 0.0101868, 0.004186771, -0.029699646, -0.045889378) * conv2d_1_4_texOff(vec2(0, -1)); + result += mat4(0.084060974, 0.0016211019, -0.040410023, -0.0783535, -0.005206962, -0.07968763, -0.006465683, -0.009126374, -0.047315862, 0.041601934, -0.12024455, -0.035002925, -0.028280394, -0.0810851, -0.034790147, -0.013771664) * conv2d_1_4_texOff(vec2(1, -1)); + result += mat4(-0.021242226, 0.095532194, 0.076721765, -0.026553733, 0.031585578, -0.12667543, -0.069441915, 0.008807565, -0.044141836, -0.037165217, 0.041965358, -0.11623221, 0.07892406, -0.09533872, 0.058022056, 0.00077833893) * conv2d_1_4_texOff(vec2(-1, 0)); + result += mat4(-0.05742083, 0.110277995, 0.058405433, -0.055889264, 0.06458655, -0.055901818, -0.77792925, -0.088611074, -0.027649742, -0.10273671, 0.10163885, -0.009994354, -0.08487444, 0.030386612, 0.007014902, -0.04833746) * conv2d_1_4_texOff(vec2(0, 0)); + result += mat4(-0.002424757, -0.029553069, -0.07197424, -0.024408944, -0.04883749, -0.024681265, -0.08422193, -0.015338752, -0.03673912, -0.10462448, 0.039489694, -0.03923748, -0.046972524, 0.035760894, -0.032794204, -0.0107256705) * conv2d_1_4_texOff(vec2(1, 0)); + result += mat4(0.0070809056, -0.047797758, -0.13858901, 0.108376324, 0.013058967, -0.024047606, -0.26500574, 0.16478828, -0.043381702, -0.07984513, 0.12342754, -0.04828717, -0.0432947, 0.1852055, 0.059879538, 0.027911406) * conv2d_1_4_texOff(vec2(-1, 1)); + result += mat4(-0.03838499, 0.07789943, 0.020304423, 0.011777649, -0.17935899, 0.030462299, -0.16097908, 0.05198708, -0.17859733, -0.051735587, 0.055896256, 0.00494307, -0.0010397424, 0.033436816, 0.061873015, 0.031221524) * conv2d_1_4_texOff(vec2(0, 1)); + result += mat4(0.0318674, -0.08059559, -0.033897895, -0.0039172093, -0.087237015, -0.21547756, -0.11164707, -0.024446458, 0.009270226, 0.032253712, 0.03986306, -0.038591385, -0.031743154, 0.040938154, 0.09550822, -0.06298452) * conv2d_1_4_texOff(vec2(1, 1)); + result += mat4(-0.13017938, -0.15028317, -0.12969221, -0.1043039, -0.012920603, 0.04569196, 0.04435078, 0.040591054, 0.03944431, 0.026448384, 0.10263269, 0.10542558, -0.02842415, 0.04965194, 0.0634247, -0.0357331) * conv2d_1_5_texOff(vec2(-1, -1)); + result += mat4(-0.14624007, -0.047458347, 0.2685088, -0.022711262, -0.06850198, 0.04913833, 0.010421702, 0.04611434, 0.048958287, 0.026491787, 0.06559385, -0.0034263341, -0.059245735, 0.30079526, -0.14259365, 0.0017579381) * conv2d_1_5_texOff(vec2(0, -1)); + result += mat4(-0.115300976, 0.17536932, -0.009892438, -0.068190575, 0.06792405, -0.086249694, 0.11960104, 0.12190239, 0.053113792, -0.034242418, 0.0751862, -0.04331498, -0.38313526, 0.21867825, -0.061861128, 0.23064874) * conv2d_1_5_texOff(vec2(1, -1)); + result += mat4(-0.0840936, 0.11634695, -0.0430927, 0.056506198, 0.034981772, -0.03422949, -0.013373497, 0.023914328, -0.10709244, 0.03822539, 0.028850893, -0.04460132, 0.14481448, 0.140083, -0.57125807, 0.2933987) * conv2d_1_5_texOff(vec2(-1, 0)); + result += mat4(0.05351227, 0.150712, 0.017380076, 0.11412461, -0.017745247, 0.08473363, 0.058622714, -0.008154244, 0.1020304, -0.021647712, 0.049595736, -0.02396736, 0.47079638, 0.0974281, 0.059246197, 0.054357376) * conv2d_1_5_texOff(vec2(0, 0)); + result += mat4(-0.022625217, 0.011287094, 0.052335873, -0.07860558, 0.022489201, -0.019969516, 0.05445085, 0.05752353, -0.046792224, 0.08552776, -0.07650753, 0.05570578, -0.08373085, 0.52198946, 0.06233925, 0.112970755) * conv2d_1_5_texOff(vec2(1, 0)); + result += mat4(0.02412142, -0.13709944, 0.31732944, 0.07237704, 0.08689409, 0.007899531, 0.18332665, -0.015826361, -0.11312801, -0.016447818, -0.0113938395, -0.014441074, -0.029608294, 0.03684169, -0.019402063, -0.06982171) * conv2d_1_5_texOff(vec2(-1, 1)); + result += mat4(-0.014929913, -0.024197336, 0.19757926, 0.010481152, 0.06688258, 0.05659993, 0.20386209, -0.0028658465, 0.008939656, -0.043802857, -0.13143091, -0.034888577, 0.15854679, -0.119875796, 0.26592213, -0.04812516) * conv2d_1_5_texOff(vec2(0, 1)); + result += mat4(-0.05149029, -0.053902835, 0.019250399, 0.025507912, -0.069421805, 0.033471353, 0.25625825, 0.027726457, 0.06372428, -0.041288726, -0.08282182, 0.076339826, 0.2184976, 0.27349892, 0.3503637, -0.049747977) * conv2d_1_5_texOff(vec2(1, 1)); + result += mat4(0.029718706, -0.04287497, -0.05499922, 0.027714657, 0.022354372, -0.063758135, 0.11159636, -0.043364897, -0.0072996947, -0.09038369, 0.100911036, -0.016543537, 0.049721666, 0.02941606, -0.11691966, 0.020610567) * conv2d_1_6_texOff(vec2(-1, -1)); + result += mat4(0.098099194, 0.085279696, -0.048809852, 0.06709965, -0.007815398, -0.0685144, -0.010666763, -0.0010941268, -0.07402356, -0.012661744, -0.04236838, 0.016732441, 0.021211972, 0.16894662, -0.12524271, 0.09203761) * conv2d_1_6_texOff(vec2(0, -1)); + result += mat4(-0.0108954655, 0.06299382, 0.14573206, 0.069583654, -0.12601423, -0.037525725, -0.07272767, -0.074798755, 0.01847171, 0.05237007, -0.016999833, -0.043488294, 0.018724574, -0.12385603, 0.19301042, -0.031394072) * conv2d_1_6_texOff(vec2(1, -1)); + result += mat4(0.052354407, 0.15061304, -0.18920131, 0.10281557, -0.017736316, 0.13217326, 0.117505915, -0.06925163, -0.14126766, -0.047876824, -0.014937355, 0.087846965, -0.03431368, -0.08010721, 0.06716881, 0.02613869) * conv2d_1_6_texOff(vec2(-1, 0)); + result += mat4(0.092874885, 0.077539764, -0.11579568, 0.112091705, 0.13014455, 0.032826997, 0.026774347, -0.05526162, 0.056351658, -0.05233546, -0.12484103, -0.07006318, -0.022882864, -0.022387967, 0.014668696, 0.042093206) * conv2d_1_6_texOff(vec2(0, 0)); + result += mat4(0.14906292, 0.015874192, 0.23521465, 0.005111183, -0.044189412, -0.015792584, 0.086519666, 0.022522233, 0.07542121, -0.011393279, -0.10339653, 0.039397072, -0.006078826, -0.0051247934, 0.09563044, 0.014480886) * conv2d_1_6_texOff(vec2(1, 0)); + result += mat4(0.11678447, 1.7845294e-05, 0.10215003, 0.054540224, -0.033635076, 0.08703893, -0.030217022, 0.057368334, 0.015123244, -0.090717144, -0.038291443, -0.033875953, 0.017875887, -0.034699716, -0.23149264, 0.033104595) * conv2d_1_6_texOff(vec2(-1, 1)); + result += mat4(0.16173868, 0.054690953, -0.27940604, 0.0047899815, -0.004138031, -0.069766276, -0.47151655, 0.049226787, 0.030922275, 0.009528747, 0.028003275, 0.026640084, 0.08556254, -0.042903446, -0.40969568, 0.035925705) * conv2d_1_6_texOff(vec2(0, 1)); + result += mat4(0.13201301, -0.054580696, -0.006346402, 0.1451841, 0.030837325, 0.07512436, -0.0027708053, -0.046877913, 0.009670716, 0.052719254, 0.034868006, 0.07024189, 0.028265422, 0.011575719, -0.4945715, -0.006348062) * conv2d_1_6_texOff(vec2(1, 1)); + result += mat4(0.055183977, 0.008108826, -0.0055430657, 0.007228498, 0.028702632, -0.032405503, 0.11343111, 0.07021433, 0.05335073, -0.0015234221, 0.09255652, 0.022943944, -0.100583695, -0.07290064, 7.688624e-05, 0.06272483) * conv2d_1_7_texOff(vec2(-1, -1)); + result += mat4(-0.04426916, 0.030913018, 0.07948671, 0.00743949, 0.011443533, -0.01719291, -0.047537826, 0.01075883, 0.07705052, 0.039794687, 0.16261083, 0.060550287, -0.02253408, -0.020008467, -0.11067305, -0.056968395) * conv2d_1_7_texOff(vec2(0, -1)); + result += mat4(0.031702846, -0.033104785, -0.061263345, 0.07537538, 0.062372822, 0.021449557, -0.011025019, -0.014938684, -0.0065337894, -0.023644093, -0.0017999671, -0.031946063, -0.01795196, 0.08560266, -0.2530871, 0.027840102) * conv2d_1_7_texOff(vec2(1, -1)); + result += mat4(-0.002481655, 0.07546714, 0.014729231, 0.024397815, -0.009094325, 0.0103306, 0.04763772, 0.08322696, 0.07387954, 0.10279547, -0.03245113, -0.002073921, -0.08167011, -0.09827524, 0.045025956, -0.0037467072) * conv2d_1_7_texOff(vec2(-1, 0)); + result += mat4(-0.064866476, 0.06989372, 0.112723716, -0.030047975, -0.020748861, -0.15807103, -0.033446215, 0.041312814, 0.0111960545, 0.09730004, -0.19074617, 0.036935627, 0.123753704, -0.032847974, -0.056477804, 0.048730224) * conv2d_1_7_texOff(vec2(0, 0)); + result += mat4(0.07160658, 0.05772131, -0.04459135, 0.05553974, -0.055918027, -0.04404882, -0.13207902, -0.064291656, -0.008771594, 0.089713916, -0.035394825, -0.02762624, 0.099857934, 0.01776644, -0.014588838, -0.037571955) * conv2d_1_7_texOff(vec2(1, 0)); + result += mat4(-0.040910184, -0.04285425, 0.04800403, -0.043808937, -0.05812583, -0.019329973, 0.051248714, 0.023578288, 0.027072849, -0.06670806, 0.16749991, -0.0021904965, -0.029356312, 0.015223641, -0.09639004, 0.036017366) * conv2d_1_7_texOff(vec2(-1, 1)); + result += mat4(-0.02015595, -0.012078545, -0.23260634, -0.05448767, 0.052733894, -0.059069306, -0.11905436, 0.07345789, -0.014847146, -0.03260874, 0.20743726, 0.095189616, -0.046952035, 0.1814644, -0.25117528, -0.003667681) * conv2d_1_7_texOff(vec2(0, 1)); + result += mat4(0.00021565598, 0.081821695, -0.12632315, 0.015384286, -0.08942369, 0.042021208, -0.123727426, 0.04400622, 0.036081724, -0.0863829, 0.032079972, 0.015811784, 0.018077271, 0.07557113, -0.02223882, -0.071249254) * conv2d_1_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-2-ReLU) +//!HOOK LUMA +//!BIND conv2d_1_0 +//!BIND conv2d_1_1 +//!BIND conv2d_1_2 +//!BIND conv2d_1_3 +//!BIND conv2d_1_4 +//!BIND conv2d_1_5 +//!BIND conv2d_1_6 +//!BIND conv2d_1_7 +//!SAVE conv2d_2_3 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0024439683, 0.019512722, -0.0017031707, -0.0012694178); + result += mat4(-0.0755665, -0.010767762, 0.055436224, -0.04694176, -0.047075167, -0.0043572793, -0.001817404, 0.0072529884, 0.08081653, -0.09721457, -0.060728904, 0.049476348, -0.11415875, 0.057030857, 0.0712053, 0.078845665) * conv2d_1_0_texOff(vec2(-1, -1)); + result += mat4(0.05738836, 0.05976088, 0.092685364, -0.028193692, -0.17001967, 0.20816772, 0.120990075, -0.007158994, 0.056702163, 0.04631052, -0.07533091, -0.070604056, -0.026277382, -0.059989728, 0.051547613, 0.013595435) * conv2d_1_0_texOff(vec2(0, -1)); + result += mat4(-0.06124998, -0.073344715, 0.10531479, 0.0072710454, 0.1053132, 0.014310009, 0.15152456, -0.33350325, -0.040441, 0.08732096, 0.12121553, -0.04351983, -0.34424537, -0.08237802, -0.04820149, 0.104876064) * conv2d_1_0_texOff(vec2(1, -1)); + result += mat4(-0.10690648, 0.1040207, 0.42536393, -0.02857954, 0.10327315, -0.10828661, 0.056875154, -0.04070055, -0.105949454, -0.15033953, -0.017957356, 0.055889588, -0.035868034, 0.12281235, -0.007860114, -0.12691148) * conv2d_1_0_texOff(vec2(-1, 0)); + result += mat4(0.10746047, 0.21269843, 0.07394864, -0.052784573, 0.05265619, 0.0049780393, 0.13293569, 0.03263521, -0.01988503, -0.023654295, 0.049924407, 0.09036715, -0.0032699164, 0.01494379, -0.021433448, -0.08484771) * conv2d_1_0_texOff(vec2(0, 0)); + result += mat4(0.12985334, -0.1239503, -0.013680318, -0.0792712, 0.0970818, -0.047295943, 0.00760885, -0.063083656, -0.07301688, 0.00018367458, 0.06973737, 0.06990518, -0.16313145, 0.060273055, -0.077587195, -0.008858535) * conv2d_1_0_texOff(vec2(1, 0)); + result += mat4(-0.22075438, -0.23375578, -0.034441438, 0.15279879, -0.008461356, -0.068064116, 0.06361679, 0.04007657, -0.029563876, -0.23421589, 0.033800963, -0.005407339, -0.009484908, 0.21535683, 0.018031906, 0.09134295) * conv2d_1_0_texOff(vec2(-1, 1)); + result += mat4(-0.15496482, -0.1670199, 0.13773978, -0.011931154, -0.081279315, -0.039608255, 0.12453239, 0.1276813, 0.12836005, -0.119373515, -0.07643012, 0.047119588, -0.044818427, 0.033321, -0.012663483, -0.096910894) * conv2d_1_0_texOff(vec2(0, 1)); + result += mat4(-0.09907172, -0.10371382, 0.07232907, 0.14814718, 0.09651088, -0.00896925, 0.38838813, 0.1020086, -0.025031932, -0.053150542, -0.09183183, 0.11867624, -0.085193805, -0.025020966, -0.10029541, -0.041201092) * conv2d_1_0_texOff(vec2(1, 1)); + result += mat4(-0.020531971, 0.003417111, -0.06271279, -0.026634505, 0.034578327, 0.116674714, 0.1338508, -0.043152682, -0.063085996, -0.08629137, -0.30712903, -0.19289695, -0.015535322, -0.059583306, 0.022363232, 0.019661924) * conv2d_1_1_texOff(vec2(-1, -1)); + result += mat4(-0.2312567, 0.04472869, 0.047561467, -0.001165244, -0.090071805, -0.09977217, -0.14993055, 0.09835359, 0.5361882, 0.08246859, -0.2542734, 0.07926661, 0.13084325, 0.04182162, 0.02620155, 0.12630318) * conv2d_1_1_texOff(vec2(0, -1)); + result += mat4(-0.19702242, 0.0123242475, 0.02225153, 0.05970897, -0.09496017, -0.033168968, -0.073019445, 0.056048878, -0.09128233, -0.003583779, -0.28197548, -0.15372555, -0.1464209, 0.0072798394, -0.08799655, -0.02232909) * conv2d_1_1_texOff(vec2(1, -1)); + result += mat4(0.12949315, -0.035099898, -0.07566216, -0.058953226, -0.0025877068, 0.040030077, -0.05455067, -0.07908828, -0.04570407, 0.15088113, -0.123145096, 0.029668903, -0.084556095, -0.15080957, -0.059207734, 0.098784216) * conv2d_1_1_texOff(vec2(-1, 0)); + result += mat4(-0.08652007, 0.058674663, -0.052215375, -0.04389989, 0.12918212, 0.014265353, -0.6840957, 0.013137876, -0.15455137, -0.003828631, 0.12784281, 0.26304543, -0.0073065436, 0.009438248, 0.080665395, -0.07291442) * conv2d_1_1_texOff(vec2(0, 0)); + result += mat4(-0.06896193, 0.07143689, 0.1422291, 0.04181201, 0.001588767, 0.11281226, 0.09135195, -0.065576285, 0.122171864, 0.1318298, -0.077025734, -0.02181093, 0.09893512, -0.010643976, 0.018618178, -0.025533177) * conv2d_1_1_texOff(vec2(1, 0)); + result += mat4(-0.0033217645, 0.048242938, 0.007789171, -0.082099415, 0.03558746, 0.06314407, -0.056198932, -0.028400503, 0.08119814, 0.09878029, 0.041178416, -0.11889988, -0.0024851244, -0.17679428, 0.041961703, -0.068025514) * conv2d_1_1_texOff(vec2(-1, 1)); + result += mat4(0.0414067, 0.046838965, 0.08298999, 0.040345658, -0.013488099, -0.08501191, -0.16345388, -0.00809286, -0.19034596, -0.053509835, 0.05253413, -0.017114468, -0.04019475, -0.042864673, 0.01864118, -0.10810199) * conv2d_1_1_texOff(vec2(0, 1)); + result += mat4(0.021295222, -0.11360314, 0.068448946, 0.08234188, -0.09933013, -0.047439717, 0.21397483, 0.06526395, -0.18744828, 0.009623302, -0.05668153, 0.03902404, -0.03295589, 0.007627956, 0.08348739, 0.02719745) * conv2d_1_1_texOff(vec2(1, 1)); + result += mat4(-0.007202448, 0.13217683, -0.20591357, -0.06760821, 0.006883325, -0.015309343, 0.12440693, -0.042088218, -0.045229033, -0.08867684, -0.12499356, -0.042065054, -0.053311203, 0.070153594, 0.0059397817, 0.04975014) * conv2d_1_2_texOff(vec2(-1, -1)); + result += mat4(0.08103529, -0.059842322, 0.17915952, 0.01716584, -0.29613575, 0.002817081, -0.14583613, 0.14410678, -0.24759628, 0.05586338, 0.03710151, -0.03472621, 0.07924083, 0.0081458865, 0.0547831, -0.15772095) * conv2d_1_2_texOff(vec2(0, -1)); + result += mat4(0.23306684, 0.16401912, 0.09020467, -0.28693134, -0.6724793, 0.066790774, 0.023735281, -0.007003017, 0.049031097, 0.03963651, 0.07285127, 0.0075524817, -0.13088937, -0.10189472, -0.00873083, 0.033901755) * conv2d_1_2_texOff(vec2(1, -1)); + result += mat4(-0.14389843, -0.21984327, 0.16881073, 0.060216684, 0.09248231, -0.06876036, -0.080689624, 0.085479446, 0.033865023, -0.19477972, -0.2254114, -0.12901028, 0.056992505, 0.03229492, -0.052367352, -0.1011957) * conv2d_1_2_texOff(vec2(-1, 0)); + result += mat4(-0.041014213, 0.06414788, 0.1769779, -0.11133373, 0.14965421, 0.10756031, -0.06620285, -0.106946975, -0.02840453, 0.08588292, 0.014530447, 0.081375055, -0.0084445225, -0.0732982, 0.053738277, 0.05394488) * conv2d_1_2_texOff(vec2(0, 0)); + result += mat4(0.11953167, -0.107447095, -0.18017976, -0.09817557, -0.005222679, -0.0023724285, 0.093004026, 0.077160016, 0.017014522, 0.030270675, 0.107690334, -0.013702926, -0.052474156, 0.029904017, -0.06740597, -0.0063054548) * conv2d_1_2_texOff(vec2(1, 0)); + result += mat4(0.03222448, -0.116979755, 0.21846302, 0.033012155, 0.028815705, 0.005029473, -0.07782633, 0.13594444, 0.014946897, -0.18546651, 0.036180645, 0.10938664, 0.024460908, 0.014264258, -0.13222307, 0.060258362) * conv2d_1_2_texOff(vec2(-1, 1)); + result += mat4(-0.18393159, -0.16223755, 0.019884955, 0.11466061, -0.06469925, 0.06298804, 0.065657936, -0.041585248, -0.015433575, 0.006396151, 0.051895544, 0.15913105, 0.035573557, 0.0112305125, -0.21006528, -0.14250156) * conv2d_1_2_texOff(vec2(0, 1)); + result += mat4(0.12663561, -0.095338255, -0.27946192, 0.02128321, -0.015194996, -0.07424352, 0.0959711, -0.19865943, -0.0059690904, 0.010486325, -0.020028856, 0.049172428, 0.12706377, 0.089994945, -0.02050076, 0.016622454) * conv2d_1_2_texOff(vec2(1, 1)); + result += mat4(-0.16857249, -0.037597917, 0.07742342, 0.030571638, -0.023085024, 0.108294815, 0.0020563721, -0.16843162, 0.1940619, -0.038644567, -0.031065365, -0.031824686, -0.13863023, -0.09413081, -0.21634237, 0.005069632) * conv2d_1_3_texOff(vec2(-1, -1)); + result += mat4(-0.071961254, 0.048660826, 0.003649672, 0.0041155433, 0.15588227, -0.003964211, -0.031496424, -0.13976167, 0.1348135, -0.014731528, -0.103237726, 0.06393336, -0.3921075, -0.040925644, -0.15429476, 0.05519343) * conv2d_1_3_texOff(vec2(0, -1)); + result += mat4(-0.2789682, -0.03876892, 0.004851156, 0.005884823, -0.295854, -0.017191578, 0.19521075, -0.050100856, 0.073072284, -0.026844824, -0.022000458, 0.1420966, 0.14169234, -0.048588675, 0.07816756, -0.14076613) * conv2d_1_3_texOff(vec2(1, -1)); + result += mat4(0.122832805, 0.012236243, 0.050668143, 0.039283488, 0.058716517, -0.01600305, 0.083131276, 0.24574642, -0.025857331, 0.0019925402, -0.08911686, -0.081346475, -0.030862058, -0.060055602, -0.1984402, 0.0041727647) * conv2d_1_3_texOff(vec2(-1, 0)); + result += mat4(0.005388854, -0.114639916, -0.04320431, -0.089311145, -0.07839241, 0.13670197, -0.054919824, 0.02102149, -0.12674206, 0.033966072, 0.050575938, 0.13005514, -0.25133058, -0.0015197633, -0.09158423, -0.08844042) * conv2d_1_3_texOff(vec2(0, 0)); + result += mat4(-0.21123745, 0.027254503, -0.058604237, 0.013037119, -0.19768924, -0.059738252, 0.08380492, 0.10435337, 0.0574057, -0.03689418, -0.09467587, -0.043601684, -0.19093706, -0.02790387, -0.05952948, -0.034295857) * conv2d_1_3_texOff(vec2(1, 0)); + result += mat4(-0.0071436097, 0.11574013, 0.060556002, -0.080021575, 0.08051304, -0.03420034, -0.043683983, 0.065953225, 0.0021009473, 0.16505803, -0.14622526, 0.027051687, 0.02541142, 0.06914079, -0.08346833, 0.021384742) * conv2d_1_3_texOff(vec2(-1, 1)); + result += mat4(0.042509437, 0.051471695, -0.031550463, 0.020208752, -0.1532882, 0.0735304, -0.13705751, 0.036970675, 0.0014278181, 0.013171242, -0.024068939, -0.13215396, -0.05730145, 0.08016198, -0.025662752, -0.08587131) * conv2d_1_3_texOff(vec2(0, 1)); + result += mat4(-0.053934578, -0.032039557, -0.08051518, 0.045982424, -0.02374054, -0.019693382, -0.0018277743, -0.054029062, 0.003635964, 0.0011593592, -0.23755905, -0.13920304, 0.10378742, 0.046343777, -0.03676633, 0.00029489657) * conv2d_1_3_texOff(vec2(1, 1)); + result += mat4(0.024636649, -0.0050299168, -0.045951765, -0.015959144, 0.09754773, 0.038934726, -0.020529168, 0.1835107, -0.2682421, 0.120696574, 0.2547401, -0.046953455, -0.122591235, -0.045921985, -0.0788604, -0.084564805) * conv2d_1_4_texOff(vec2(-1, -1)); + result += mat4(-0.068304345, 0.014219705, 0.08588209, -0.0026573436, 0.118838266, -0.018982885, 0.0040614977, 0.11576602, 0.1771048, -0.065772265, -0.18259129, 0.018668506, -0.1834852, -0.049977392, -0.019376962, -0.013116242) * conv2d_1_4_texOff(vec2(0, -1)); + result += mat4(0.007433511, -0.072783045, -0.0015766305, -0.024139449, -0.14172974, -0.03989491, 0.13044003, 0.06024233, -0.10525412, 0.055659037, -0.16240607, 0.10685218, 0.05940427, -0.023129867, -0.041884053, -0.064597346) * conv2d_1_4_texOff(vec2(1, -1)); + result += mat4(-0.097018816, 0.015014841, -0.050692502, 0.008738501, 0.15295647, 0.13415022, -0.223551, -0.09744734, 0.003795122, 0.40313143, -0.016447736, -0.056280997, 0.15410438, 0.13452205, -0.0062764366, 0.052659895) * conv2d_1_4_texOff(vec2(-1, 0)); + result += mat4(0.010855988, 0.044013537, -0.06094396, -0.048137426, 0.104607746, -0.0024068598, 0.1186706, 0.25432938, 0.057422172, 0.20411257, -0.023333695, 0.026398387, 0.045977987, -0.00094959117, 0.07878928, -0.016947972) * conv2d_1_4_texOff(vec2(0, 0)); + result += mat4(-0.007007899, -0.050020028, -0.046062745, -0.014958813, -0.07886487, 0.09337535, 0.07459256, -0.11843755, -0.14981216, -0.04115025, 0.059739992, -0.012895023, -0.1760281, -0.0033726224, 0.10114601, -0.10764131) * conv2d_1_4_texOff(vec2(1, 0)); + result += mat4(0.001543158, -0.03858369, 0.03223673, 0.23258542, 0.09270506, 0.21240467, 0.054657448, 0.07336189, 0.006422203, 0.07833568, 0.16573226, 0.07108642, -0.008766004, 0.06512272, -0.03302987, -0.02797947) * conv2d_1_4_texOff(vec2(-1, 1)); + result += mat4(0.028022608, 0.0091044875, 0.0693305, 0.036662105, 0.21939704, 0.09218265, 0.02815152, 0.080356784, 0.010097972, 0.014943017, -0.007905883, 0.023862928, 0.048917048, 0.05729722, 0.0831082, 0.027399562) * conv2d_1_4_texOff(vec2(0, 1)); + result += mat4(-0.016011842, 0.022446735, -0.030658402, -0.12109176, 0.2237893, 0.06832034, 0.45354044, 0.18180805, 0.092650905, 0.07694227, -0.01966955, 0.0071359747, 0.100516014, -0.052199617, 0.012800805, -0.004914216) * conv2d_1_4_texOff(vec2(1, 1)); + result += mat4(-0.70420843, 0.049872197, -0.32068816, 0.21067978, -0.097715795, 0.049278945, -0.20103611, 0.16204827, -0.04437204, 0.03827814, 0.10795599, 0.03625148, 0.15626086, 0.07956924, -0.13841249, -0.15183163) * conv2d_1_5_texOff(vec2(-1, -1)); + result += mat4(-0.10603938, -0.023183042, -0.0703821, -0.097909056, -0.33578274, 0.04284628, 0.14117248, -0.043745175, -0.29291993, -0.10379433, 0.023772636, 0.0075242743, -0.06929925, 0.02719831, 0.056759175, 0.022659646) * conv2d_1_5_texOff(vec2(0, -1)); + result += mat4(-0.26435935, 0.07137349, 0.2677273, 0.098405726, -0.07243768, -0.0020089615, -0.06029423, 0.12582591, -0.023645217, 0.06234697, -0.025832402, 0.060587738, 0.27004024, -0.39305025, -0.35211402, -0.3143628) * conv2d_1_5_texOff(vec2(1, -1)); + result += mat4(0.22176567, -0.36387423, 0.08885875, -0.23369165, 0.10150541, 0.29871333, -0.114403024, 0.08586904, 0.03220077, 0.064664334, -0.09037718, -0.06359386, 0.22512738, -0.85143787, -0.14568345, -0.11754462) * conv2d_1_5_texOff(vec2(-1, 0)); + result += mat4(-0.008134418, -0.057227816, 0.027406456, -0.047872737, -0.20540428, -0.025693793, -0.80253905, 0.061462972, 0.17591229, -0.059937846, 0.0030434378, -0.03135271, -0.123737805, -0.06955517, -0.16047724, 0.45599505) * conv2d_1_5_texOff(vec2(0, 0)); + result += mat4(0.16122521, -0.0011409809, 0.05400998, 0.30436337, -0.09920399, 0.107894726, -0.10408273, -0.06549424, 0.062139172, 0.033892598, 0.005394248, -0.10185457, 0.2912035, 0.37464246, -0.16884226, -0.06057401) * conv2d_1_5_texOff(vec2(1, 0)); + result += mat4(0.0076620826, -0.116041966, -0.017775308, 0.035007324, 0.012062985, -0.13155538, 0.16888653, -0.111066975, 0.07491745, -0.010682586, 0.007857368, 0.10825727, -0.234603, -1.0054199, -0.69815296, 0.2682789) * conv2d_1_5_texOff(vec2(-1, 1)); + result += mat4(0.006713288, 0.032715194, 0.018587004, 0.059641127, -0.04432385, 0.085524224, -0.23894891, -0.05955936, -0.07414165, 0.03214713, -0.027972925, 0.05283895, -0.11153182, -0.51201504, 0.35653988, 0.69038427) * conv2d_1_5_texOff(vec2(0, 1)); + result += mat4(0.003504616, -0.0320271, 0.08336806, -0.09650968, 0.011554334, 0.05019464, 0.20794, 0.02657595, -0.070389666, 0.02183665, -0.05972918, 0.040903334, 0.009742165, -0.115499124, 0.06477195, 0.056922458) * conv2d_1_5_texOff(vec2(1, 1)); + result += mat4(0.25093523, -0.055817563, -0.071116306, -0.16897827, -0.11863586, 0.15599102, -0.06029875, 0.1263819, -0.13760826, -0.0054466184, -0.002932313, 0.0053629414, 0.14658342, 0.053537138, 0.0017918563, -0.019407671) * conv2d_1_6_texOff(vec2(-1, -1)); + result += mat4(-0.1074455, -0.016125906, 0.027174877, -0.18975352, 0.18853614, -0.034198694, 0.07653115, -0.032357547, 0.13137315, 0.03198201, 0.07638485, -0.14256744, -0.36499456, -0.064068854, -0.20631799, -0.06414473) * conv2d_1_6_texOff(vec2(0, -1)); + result += mat4(0.091646165, 0.013261934, 0.035274845, -0.117947206, 0.15341647, -0.013329101, -0.04925649, -0.07097705, -0.010345142, 0.06638922, -0.064822145, 0.09345621, 0.24898607, 0.010249419, -0.016478278, -0.28960562) * conv2d_1_6_texOff(vec2(1, -1)); + result += mat4(0.01486177, -0.53537595, 0.019208675, 0.037433214, 0.0014182061, -0.030560805, -0.009765784, -0.015005433, 0.072008796, 0.02388473, 0.022536224, -0.05405137, 0.0026045174, -0.10544653, 0.15891246, 0.018642334) * conv2d_1_6_texOff(vec2(-1, 0)); + result += mat4(-0.09698006, -0.05968244, 0.026128316, -0.009682552, 0.057604793, -0.048273493, 0.032746293, 0.06241507, 0.013164028, -0.033157814, 0.006640909, -0.01614499, 0.039440557, 0.023229472, -0.020834753, -0.029184517) * conv2d_1_6_texOff(vec2(0, 0)); + result += mat4(0.06648768, -0.0055227857, -0.052750997, -0.01728543, -0.2104077, 0.09172078, -0.032991536, -0.051767997, 0.028667826, 0.04694706, -0.014961463, -0.04469655, 0.01697386, -0.012298738, 0.08855067, -0.026439272) * conv2d_1_6_texOff(vec2(1, 0)); + result += mat4(-0.025899082, -0.33124217, -0.004791511, 0.11266002, -0.02788441, -0.017265026, -0.0074089025, -0.071291156, -0.010410942, -0.20238537, 0.11815937, 0.053709008, 0.030767575, -0.14854033, 0.13379943, 0.03124216) * conv2d_1_6_texOff(vec2(-1, 1)); + result += mat4(0.07625441, -0.0068399543, 0.068905324, 0.07524653, 0.0059102345, 0.04919539, 0.14159401, -0.07741384, 0.01246916, -0.1787227, -0.028668359, 0.028185396, 0.03936493, -0.032654613, -0.010547529, 0.108062826) * conv2d_1_6_texOff(vec2(0, 1)); + result += mat4(-0.05788978, -0.040923703, -0.08983489, -0.0700707, -0.029388174, -0.044662975, -0.2768775, 0.18378432, 0.0047585615, -0.031726785, -0.115120776, -0.1087724, -0.01060561, -0.017682848, -0.010049431, -0.0027243758) * conv2d_1_6_texOff(vec2(1, 1)); + result += mat4(0.07863563, 0.099396795, 0.0033690445, 0.014833077, -0.028895052, -0.016868336, -0.025975892, 0.04448299, 0.03818873, 0.087971844, -0.12963657, -0.097560205, -0.13973372, -0.034005467, -0.014492949, -0.0806148) * conv2d_1_7_texOff(vec2(-1, -1)); + result += mat4(0.0998561, 0.012295841, -0.0059086806, -0.28133255, -0.01579424, -0.015869725, 0.054684054, -0.0025523447, -0.11054835, -0.02036454, 0.0874946, -0.015267015, -0.15166879, -0.029671937, 0.05825089, -0.08996526) * conv2d_1_7_texOff(vec2(0, -1)); + result += mat4(-0.2644526, 0.00037119797, 0.037712757, -0.13570064, -0.011705836, -0.053835057, -0.06546043, -0.003904192, -0.058295902, -0.011014905, 0.036608826, -0.09316759, -0.05192918, -0.056275994, -0.025871113, -0.029993916) * conv2d_1_7_texOff(vec2(1, -1)); + result += mat4(-0.20437467, -0.009838396, -0.12326762, -0.008826467, 0.10445204, -0.1766781, -0.0047602938, -0.040478457, 0.028650427, -0.012216731, -0.09486806, 0.047554187, -0.09035074, -0.0061642337, 0.07412471, 0.042262223) * conv2d_1_7_texOff(vec2(-1, 0)); + result += mat4(0.4627154, -0.096632354, 0.030329397, -0.21625616, -0.011286863, -0.009264482, 0.03777131, -0.065025486, 0.00558388, 0.08576623, 0.08980313, -0.009367564, 0.01609784, 0.0063253394, 0.03792126, 0.0018586838) * conv2d_1_7_texOff(vec2(0, 0)); + result += mat4(-0.40199944, -0.011124172, 0.06254554, 0.08350746, -0.1005274, 0.119913734, -0.05070139, 0.13164969, 0.04593655, -0.011362191, -0.029268637, 0.099412136, -0.064908616, 0.0038163015, -0.1178298, -0.061717547) * conv2d_1_7_texOff(vec2(1, 0)); + result += mat4(-0.0051836562, -0.114454456, -0.1145857, 0.08821922, -0.01587761, -0.153387, 0.11834224, -0.010078264, -0.04602583, 0.13094519, -0.06641285, -0.004716112, 0.04861025, 0.03475349, 0.07663966, 0.06839736) * conv2d_1_7_texOff(vec2(-1, 1)); + result += mat4(0.14684974, -0.010885488, 0.07722289, 0.13635775, 0.07632183, 0.017249947, 0.1170382, -0.04072057, -0.026988951, 0.04552819, 0.087141216, 0.04121242, 0.08908037, -0.01440492, -0.06261672, -0.006765471) * conv2d_1_7_texOff(vec2(0, 1)); + result += mat4(0.023216741, 0.037553933, -0.021615116, -0.02959753, 0.019916674, 0.015616843, -0.059720352, 0.07283618, 0.17728907, -0.040844448, 0.020347655, -0.04245515, 0.02999219, 0.05087262, -0.19879507, 0.150642) * conv2d_1_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-2-ReLU) +//!HOOK LUMA +//!BIND conv2d_1_0 +//!BIND conv2d_1_1 +//!BIND conv2d_1_2 +//!BIND conv2d_1_3 +//!BIND conv2d_1_4 +//!BIND conv2d_1_5 +//!BIND conv2d_1_6 +//!BIND conv2d_1_7 +//!SAVE conv2d_2_4 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.015284621, 0.0075803893, 0.0035219751, -0.00810834); + result += mat4(0.10089722, -0.06443871, 0.14568143, -0.09954367, -0.07683818, -0.033734936, -0.04811656, 0.10664942, -0.03475512, 0.054659437, 0.03820792, 0.023073552, 0.021913474, -0.04652848, 0.087426476, -0.032789916) * conv2d_1_0_texOff(vec2(-1, -1)); + result += mat4(-0.0007417948, 0.012891258, 0.14044069, -0.20839092, 0.030918991, -0.051141784, 0.10253684, -0.031074345, 0.03796036, 0.14934118, 0.027667413, -0.0006018257, 0.030512357, -0.08976165, 0.043886513, -0.05992656) * conv2d_1_0_texOff(vec2(0, -1)); + result += mat4(0.0063666133, 0.031453233, -0.05032326, -0.09747301, -0.04173207, 0.036128793, -0.18436228, -0.07930586, -0.09015892, 0.099168226, -0.024928693, -0.013754599, 0.10938362, -0.027342454, 0.06767825, 0.017478118) * conv2d_1_0_texOff(vec2(1, -1)); + result += mat4(0.18361095, -0.03686669, 0.12688193, 0.07344306, -0.042493284, -0.06679468, 0.049492907, -0.0686762, 0.0063613807, 0.04242265, -0.03268248, -0.012933237, 0.04850132, -0.11749419, -0.03158751, -0.026313517) * conv2d_1_0_texOff(vec2(-1, 0)); + result += mat4(-0.025674902, 0.011632035, 0.19160101, 0.13017164, 0.033340067, -0.06443997, -0.011907534, -0.04421661, 0.0069531524, -0.025805647, 0.041850377, 0.045619737, -0.046563618, -0.03741057, 0.005266853, -0.026588485) * conv2d_1_0_texOff(vec2(0, 0)); + result += mat4(-0.16777207, -0.15943483, 0.11959897, 0.20576183, 0.084090106, -0.035135467, 0.0062601347, -0.020519855, 0.051865254, 0.09715117, -0.022332061, 0.00041214458, -0.09133639, -0.0038492593, -0.04483786, 0.07159544) * conv2d_1_0_texOff(vec2(1, 0)); + result += mat4(-0.19268401, -0.0051884865, -0.26957387, -0.24012648, 0.014772365, 0.0719881, -0.07707021, -0.012666332, -0.07078298, 0.003211214, -0.006569457, 0.12216695, 0.05895859, -0.10598566, 0.026854904, -0.012319349) * conv2d_1_0_texOff(vec2(-1, 1)); + result += mat4(-0.114600934, 0.06542146, -0.20274659, -0.1192942, 0.0028413986, 0.0095050875, -0.018863669, 0.08748821, -0.0031112633, 0.036286242, -0.06295527, 0.043518394, 0.06678936, 0.066339135, -0.041013107, 0.09123855) * conv2d_1_0_texOff(vec2(0, 1)); + result += mat4(-0.14915279, 0.2907822, -0.09656576, -0.03619446, 0.17413843, -0.10442265, -0.16451426, -0.029117767, -0.05298004, 0.08113195, -0.076549865, 0.063915014, 0.024209032, -0.04620692, -0.07733112, 0.08848253) * conv2d_1_0_texOff(vec2(1, 1)); + result += mat4(-0.059490994, 0.027694536, -0.013536373, -0.0071221786, 0.19364642, -0.070162766, 0.05438176, -0.011794533, 0.0073090824, 0.04499496, 0.24981081, -0.06763173, 0.04966615, 0.032806955, -0.01931735, -0.0543255) * conv2d_1_1_texOff(vec2(-1, -1)); + result += mat4(-0.06289598, 0.014345173, -0.022261556, 0.024421783, 0.053157076, -0.10662002, -0.08893606, -0.019301493, 0.09425252, 0.12167757, -0.501935, 0.15572563, 0.09125769, 0.038310084, -0.040728994, 0.014561345) * conv2d_1_1_texOff(vec2(0, -1)); + result += mat4(0.06926081, -0.05419618, 0.06168418, 0.037189495, -0.07078368, 0.09460417, 0.071867965, 0.034771543, 0.058906164, -0.14770094, -0.22581503, 0.01710466, -0.044432994, -0.08349109, 0.02115879, 0.058064047) * conv2d_1_1_texOff(vec2(1, -1)); + result += mat4(0.02356387, -0.0019460355, 0.08031415, -0.04153505, 0.12078096, -0.1186146, 0.018928593, -0.028491342, -0.019932343, 0.18260767, -0.092647165, 0.08090581, 0.05303282, 0.054923292, -0.047244377, 0.06716625) * conv2d_1_1_texOff(vec2(-1, 0)); + result += mat4(-0.059011344, -0.07188621, -0.00026833412, -0.006386651, -0.11297576, 0.17560901, 0.0013431637, -0.008420134, -0.076370865, 0.12120244, 0.40973225, 0.019286746, -0.013144813, 0.07494225, -0.0025681793, 0.09230076) * conv2d_1_1_texOff(vec2(0, 0)); + result += mat4(-0.007130028, -0.12066013, -0.09759611, 0.04462167, -0.1786062, 0.048661068, -0.03881423, 0.0034344401, -0.110363774, -0.08726387, 0.23341763, 0.18612081, 0.028085502, -0.06731253, 0.051906057, -0.002242906) * conv2d_1_1_texOff(vec2(1, 0)); + result += mat4(-0.061325785, 0.060978234, 0.037983853, 0.032293897, 0.0031641203, 0.013176299, -0.06417184, -0.019810522, 0.04612644, 0.06086061, -0.23223136, 0.074979305, 0.00044393897, -0.050677363, 0.009057892, -0.020961946) * conv2d_1_1_texOff(vec2(-1, 1)); + result += mat4(-0.0073866257, 0.0014631128, 0.015611636, -0.055718806, -0.0655345, 0.1607574, 0.012450145, 0.008622426, 0.09662636, 0.25724012, -0.053457372, -0.044607792, -0.022253389, 0.041946035, 0.018883962, -0.044030063) * conv2d_1_1_texOff(vec2(0, 1)); + result += mat4(0.09770641, -0.047926463, -0.048534647, 0.026441213, -0.07326559, -0.06223302, 0.04068433, 0.0023343887, -0.0073096943, 0.089814164, 0.06629672, -0.032469433, -0.09286273, 0.021503197, 0.020492487, 0.010572497) * conv2d_1_1_texOff(vec2(1, 1)); + result += mat4(-0.039614756, -0.00044574653, 0.035431262, 0.3400577, 0.042843856, -0.06939011, -0.033852097, 0.03771537, 0.00013262121, 0.07144951, 0.012731165, -0.010784622, -0.01264725, -0.045134347, -0.03560986, -0.04099927) * conv2d_1_2_texOff(vec2(-1, -1)); + result += mat4(-0.09011629, -0.20372726, 0.01389888, 0.03949574, 0.016577296, -0.12735395, 0.08670398, -0.06256578, 0.09589394, 0.21515243, 0.078835435, 0.0048213582, 0.041575376, -0.113110766, -0.14508143, -0.04288903) * conv2d_1_2_texOff(vec2(0, -1)); + result += mat4(0.086150385, -0.07159441, 0.0386295, -0.04838041, -0.060054228, -0.016365077, 0.14630683, -0.07241237, 0.0075803455, 0.06795148, 0.131008, -0.07458757, 0.014544664, 0.09059734, -0.062168304, -0.049943984) * conv2d_1_2_texOff(vec2(1, -1)); + result += mat4(-0.05607149, -0.14172314, -0.11271921, -0.110042214, 0.005879025, 0.061670616, 0.07775762, 0.009804815, -0.099771574, -0.056979895, -0.09567437, 0.032964367, -0.034925327, 0.03525703, 0.025001884, -0.042706188) * conv2d_1_2_texOff(vec2(-1, 0)); + result += mat4(0.09112134, -0.008622076, -0.0697333, -0.01740181, -0.13144015, 0.08244041, -0.10942452, 0.08328528, -0.021599438, 0.008890282, 0.06518877, -0.03183163, 0.073259234, -0.0018628255, 0.06921419, -0.10276965) * conv2d_1_2_texOff(vec2(0, 0)); + result += mat4(0.032401256, -0.21025875, -0.15123025, 0.06540523, 0.067034416, 0.047411274, -0.05761523, -0.035550874, 0.03701347, -0.10386533, 0.07095634, -0.05604995, -0.09341136, 0.10185832, 0.07279055, 0.029357282) * conv2d_1_2_texOff(vec2(1, 0)); + result += mat4(0.042296577, -0.053026114, 0.0074878545, 0.019255837, -0.04881339, 0.0019136766, -0.009888043, 0.03161265, -0.03328549, 0.0627692, -0.04317628, 0.023800937, -0.025856212, 0.21344204, 0.064423084, 0.012795787) * conv2d_1_2_texOff(vec2(-1, 1)); + result += mat4(0.023826072, -0.05897642, 0.07152464, -0.026350364, 0.093933545, -0.0025958794, -0.08350015, -0.028669031, -0.03506477, 0.057226803, 0.00961041, 0.07077195, -0.03207445, 0.15633237, -0.029006911, 0.0010789412) * conv2d_1_2_texOff(vec2(0, 1)); + result += mat4(-0.018266184, 0.012496159, 0.037389886, 0.07053402, -0.04056948, 0.012907686, -0.08575057, -0.08959244, -0.09506608, -0.01984423, -0.007485444, 0.019302124, -0.03522425, -0.03858841, -0.041980855, 0.075418174) * conv2d_1_2_texOff(vec2(1, 1)); + result += mat4(0.02509303, 0.016079182, 0.18328445, -0.11727558, -0.06273362, -0.16675188, 0.017584467, -0.04644241, -0.033307604, -0.19607963, -0.23178567, 0.057126615, -0.023207648, 0.056291137, 0.098518975, -0.048474375) * conv2d_1_3_texOff(vec2(-1, -1)); + result += mat4(-0.041426055, -0.06054551, 0.053095523, 0.09780231, 0.05408838, -0.12151614, 0.0047127535, -0.076593764, -0.08453026, 0.099717565, -0.24124458, -0.011464561, 0.061303042, -0.16388333, 0.14678887, -0.11588486) * conv2d_1_3_texOff(vec2(0, -1)); + result += mat4(-0.04826398, -0.036011044, 0.10714097, 0.08907968, -0.011454345, 0.031760186, 0.049608916, 0.026239248, 0.0418314, -0.08368993, -0.049965624, -0.00028799693, 0.023703566, 0.029219572, -0.03969776, 0.03891546) * conv2d_1_3_texOff(vec2(1, -1)); + result += mat4(-0.065977044, -0.0077311317, -0.079131074, -0.06960062, -0.09640306, -0.012586163, -0.08141892, -0.05477438, 0.06945082, -0.053552352, -0.07191922, 0.017246652, -0.05995842, -0.11304478, 0.10491476, -0.070515275) * conv2d_1_3_texOff(vec2(-1, 0)); + result += mat4(-0.05498388, 0.004865677, -0.09475868, 0.07743571, -0.048698716, -0.0035447134, -0.056441396, -0.047848694, 0.06656872, -0.09900567, -0.08548736, 0.0711267, 0.13723628, -0.06703303, 0.29064733, -0.058957066) * conv2d_1_3_texOff(vec2(0, 0)); + result += mat4(-0.11392712, 0.061821654, -0.10969853, -0.006970733, 0.023556776, 0.13817003, 0.10888, 0.065788314, -0.09242205, 0.010984505, 0.0011335326, 0.0047183945, 0.037912246, 0.008333737, 0.16521664, 0.07901772) * conv2d_1_3_texOff(vec2(1, 0)); + result += mat4(0.056459464, -0.0842653, 0.01856258, -0.049041223, 0.098034404, 0.07843927, -0.115043685, 0.030974949, 0.014074656, -0.10566107, 0.05946043, 0.031103622, -0.08660944, 0.03923656, -0.08800654, -0.08110531) * conv2d_1_3_texOff(vec2(-1, 1)); + result += mat4(0.12542206, 0.08245408, -0.07882406, 0.056729198, 0.0006004883, -0.024567505, -0.028658882, -0.005052358, 0.06504062, 0.38045764, -0.09843952, -0.07483014, 0.06170114, 0.02086724, 0.0021686617, 0.06979346) * conv2d_1_3_texOff(vec2(0, 1)); + result += mat4(0.053109583, 0.009262914, 0.013644574, -0.04899947, -0.03820014, -0.0047815633, -0.07976084, 0.03396075, 0.028872252, 0.1525046, -0.007686572, -0.035268936, 0.032599222, 0.062106363, -0.08562679, 0.05821433) * conv2d_1_3_texOff(vec2(1, 1)); + result += mat4(0.0068683145, -0.07867088, -0.06281155, 0.036213066, 0.13368577, 0.044247754, -0.10347171, -0.087464586, 0.15423143, 0.112897985, 0.10274618, -0.116386004, 0.013374841, -0.06964349, -0.015849693, 0.022949569) * conv2d_1_4_texOff(vec2(-1, -1)); + result += mat4(-0.075333335, 0.19290051, -0.043484967, -0.040709287, -0.00052210473, 0.030199777, 0.09773196, 0.15046082, 0.05108785, -0.0092773335, -0.19418761, -0.07810007, 0.0054931566, 0.045144938, 0.053353716, 0.020545507) * conv2d_1_4_texOff(vec2(0, -1)); + result += mat4(-0.023576235, 0.030750575, -0.021387031, 0.002101121, -0.009256025, 0.16648178, 0.098315075, -0.10221597, -0.01967276, 0.101935096, 0.081298955, -0.03160711, -0.11524972, 0.060956318, 0.06330561, -0.08484691) * conv2d_1_4_texOff(vec2(1, -1)); + result += mat4(-0.02811281, -0.13144515, 0.03237774, 0.09522125, 0.04849602, -0.0444045, -0.14120723, 0.012292469, 0.03754099, 0.056149606, 0.02459886, -0.0075666923, -0.037005596, -0.04552726, 0.054868516, -0.049468327) * conv2d_1_4_texOff(vec2(-1, 0)); + result += mat4(-0.07610538, 0.06081227, -0.019379148, -0.017061386, -0.12982637, -0.18156712, -0.11689999, 0.13798793, 0.084921, 0.17778663, -0.10848857, -0.08139098, -0.04292614, -0.040574007, -0.09304154, 0.01831417) * conv2d_1_4_texOff(vec2(0, 0)); + result += mat4(0.028839698, -0.035218645, -0.0052095414, -0.02854752, -0.055767737, 0.06467545, 0.049401943, -0.00373934, 0.029006261, -0.011459003, 0.024750168, -0.05664754, -0.063084416, -0.05226667, -0.10069407, -0.003943578) * conv2d_1_4_texOff(vec2(1, 0)); + result += mat4(0.03763561, -0.014426988, -0.008976342, -0.024611851, 0.023362735, -0.1132448, -0.045800842, -0.17385267, 0.06366888, -0.030134415, 0.04402005, -0.07698679, -0.031094525, 0.06347633, -0.0014727425, 0.015219663) * conv2d_1_4_texOff(vec2(-1, 1)); + result += mat4(0.075424716, -0.023985047, 0.055464983, 0.043958444, -0.043462794, 0.1322288, -0.018792888, 0.065827675, 0.052256092, -0.02124933, 0.028411094, 0.040430013, 0.063625336, -0.049855974, -3.1818126e-05, -0.006232471) * conv2d_1_4_texOff(vec2(0, 1)); + result += mat4(-0.0027825153, -0.14369318, 0.0067411545, -0.056002375, 0.03869679, -0.0049044103, -0.32312787, -0.011659815, -0.09219209, 0.15488175, 0.00662244, 0.020651657, -0.07661212, -0.062178563, -0.012546979, -0.022103863) * conv2d_1_4_texOff(vec2(1, 1)); + result += mat4(-0.1694207, -0.36465237, -0.29931507, 0.09609974, -0.018029805, 0.015358688, 0.088083416, -0.32316652, 0.089983396, 0.029164732, 0.07030397, 0.101704694, -0.067567475, 0.1005351, -0.1524649, 0.07652474) * conv2d_1_5_texOff(vec2(-1, -1)); + result += mat4(-0.07600626, -0.042135503, -0.16333663, 0.0954698, 0.24438669, 0.1946776, -0.28641203, 0.037874635, -0.11796449, -0.00029318748, 0.005481582, 0.038918596, 0.07636511, -0.05706522, 0.40199065, 0.40542683) * conv2d_1_5_texOff(vec2(0, -1)); + result += mat4(-0.01586497, 0.09445771, 0.06125132, -0.08844965, 0.020581266, 0.08473238, 0.09486327, -0.023915987, 0.08394921, 0.0040210187, 0.062122107, -0.07209264, -0.036477078, -0.20522413, 0.12517038, -0.0678131) * conv2d_1_5_texOff(vec2(1, -1)); + result += mat4(-0.14004675, -0.17444499, 0.046502564, 0.0301658, -0.11712621, 0.2016608, -0.008629084, 0.109045185, -0.014254482, -0.104410514, -0.048748564, -0.02609372, 0.26283577, -0.009337795, -0.103646226, -0.0037226574) * conv2d_1_5_texOff(vec2(-1, 0)); + result += mat4(0.11792695, 0.2588543, 0.05775609, -0.033646174, -0.20825818, -0.26435655, -0.1787004, 0.03155541, 0.06905271, -0.0057776025, 0.0116009, 0.04739881, 0.30812618, -0.2908703, 0.15365131, -0.14820862) * conv2d_1_5_texOff(vec2(0, 0)); + result += mat4(-0.093219705, 0.063096754, 0.05226532, -0.18775408, 0.0029677167, -0.08719326, 0.055761877, -0.0786776, 0.008324104, 0.008230881, 0.012069773, -0.027196258, -0.22133616, 0.43233246, 0.19561939, -0.2555573) * conv2d_1_5_texOff(vec2(1, 0)); + result += mat4(0.050134234, -0.0022280582, 0.10548923, -0.07250905, -0.060570948, 0.009905906, 0.0232379, -0.13268977, -0.07554757, -0.013623986, -0.116262816, -0.018414835, -0.11036569, -0.44200033, 0.13900885, 0.6628395) * conv2d_1_5_texOff(vec2(-1, 1)); + result += mat4(0.03868786, 0.07486307, -0.06509603, -0.0557086, -0.023256753, 0.11035806, 0.04471872, 0.053364724, 0.097584724, 0.045418378, -0.04285606, -0.035722442, 0.058019698, 0.11870418, 0.14094312, -0.39868337) * conv2d_1_5_texOff(vec2(0, 1)); + result += mat4(0.027341155, 0.13664837, 0.07067559, -0.0466578, 0.071559496, -0.3670707, -0.03967819, -0.000931404, 0.028569775, 0.0071164737, 0.033167243, -0.05554399, -0.25762543, -0.16361864, 0.28015456, 0.2862816) * conv2d_1_5_texOff(vec2(1, 1)); + result += mat4(-0.09797366, -0.044457503, -0.008044546, -0.03475197, -0.011998901, -0.051943295, 0.020563751, -0.027826015, 0.017536921, 0.023692688, -0.105198674, -0.047562428, -0.02096047, -0.04386854, 0.028073588, 0.004655403) * conv2d_1_6_texOff(vec2(-1, -1)); + result += mat4(-0.035002235, 0.02980822, 0.037008617, 0.078091875, -0.02617316, -0.1677346, -0.00044271097, 0.10632181, -0.025652207, 0.06668331, -0.14079632, 0.036970153, -0.1089534, -0.05736076, -0.05344992, -0.032694217) * conv2d_1_6_texOff(vec2(0, -1)); + result += mat4(0.0418454, 0.051319696, 0.1605503, 0.041017182, -0.015021131, 0.018352184, -0.040055797, -0.042552166, 0.01410723, 0.009258959, -0.0037721873, 0.032248292, 0.0524501, -0.052717008, -0.19322741, 0.10605808) * conv2d_1_6_texOff(vec2(1, -1)); + result += mat4(-0.06852766, -0.008843437, -0.05380628, 0.017415397, -0.0955214, 0.11804916, -0.0408179, 0.011897117, -0.0734573, 0.16294767, 0.052905872, 0.01971047, 0.08457153, -0.02287755, -0.0105985515, 0.06071363) * conv2d_1_6_texOff(vec2(-1, 0)); + result += mat4(-0.028034698, -0.14101668, -0.101414725, 0.074851, 0.11440957, 0.076500505, 0.02640619, 0.048208114, -0.015093911, -0.10559339, -0.041087486, 0.04573483, 0.0009421101, -0.049555067, 0.027640207, 0.11600196) * conv2d_1_6_texOff(vec2(0, 0)); + result += mat4(0.08456348, -0.2016056, 0.01628307, 0.097781025, -0.13759124, 0.091026016, -0.06612956, 0.14150445, 0.030998785, -0.014241977, -0.07374479, -0.011570147, 0.0871346, -0.17440985, -0.102434576, -0.14782734) * conv2d_1_6_texOff(vec2(1, 0)); + result += mat4(-0.0061065853, 0.008025402, -0.09061106, 0.033630136, -0.033912525, -0.0020177036, -0.021688819, -0.101816125, -0.07708646, 0.054817535, 0.025345312, -0.05313017, -0.015019204, -0.040955607, 0.033928573, 0.05712773) * conv2d_1_6_texOff(vec2(-1, 1)); + result += mat4(0.0017844916, -0.37558803, -0.14140037, 0.08916838, -0.059535235, 0.0027138602, 0.06839422, -0.049810853, 0.040595707, 0.058861747, 0.060493767, 0.10509062, -0.011743537, -0.06312591, 0.030528747, 0.09404268) * conv2d_1_6_texOff(vec2(0, 1)); + result += mat4(0.005491946, -0.043415226, -0.005737655, 0.013462778, 0.02214155, -0.044476073, 0.054251228, -0.043221135, 0.013454339, 0.06702507, 0.07892291, 0.008299904, 0.010618771, -0.05732609, 0.0051321317, -0.09214062) * conv2d_1_6_texOff(vec2(1, 1)); + result += mat4(-0.010448737, -0.0763144, -0.045504224, 0.050767306, 0.012635879, -0.10243356, 0.11322095, 0.0214895, 0.01335722, -0.08395272, -0.103717305, -0.004123846, 0.043246422, 0.039673284, -0.04538705, -0.017957779) * conv2d_1_7_texOff(vec2(-1, -1)); + result += mat4(0.031979065, 0.01597066, -0.124012396, -0.08086684, -0.019402068, 0.030618137, -0.04379822, -0.024350798, 0.0023392958, -0.12733607, 0.08141463, 0.06353682, -0.08084014, -0.03747668, -0.09484418, -0.013079253) * conv2d_1_7_texOff(vec2(0, -1)); + result += mat4(0.046345055, -0.058738206, -0.020421552, 0.05564293, 0.008233856, -0.00583308, -0.19170709, 0.001146765, 0.0043787477, -0.0042586965, 0.008095479, 0.099098384, -0.06682956, 0.06539562, -0.03995034, -0.011960787) * conv2d_1_7_texOff(vec2(1, -1)); + result += mat4(0.051781323, 0.095482536, -0.0020929624, -0.058993574, 0.00023238696, 0.03670268, 0.025858283, -0.027639112, 0.026986834, -0.014690499, 0.02267922, 0.08789637, -0.0120634185, 0.03053118, 0.03956704, -0.06719874) * conv2d_1_7_texOff(vec2(-1, 0)); + result += mat4(0.005722231, 0.13964644, -0.027131809, -0.011101668, 0.0005265016, -0.016076455, 0.016948057, -0.0322674, -0.01869099, -0.112297475, 0.049102433, -0.038916517, 0.106997155, -0.102597035, 0.010934799, 0.040540785) * conv2d_1_7_texOff(vec2(0, 0)); + result += mat4(-0.011907185, -0.03195889, 0.043633647, -0.0083866455, -0.06323015, -0.016081903, -0.07136137, 0.049347166, -0.029908257, -0.06565116, -0.034235455, 0.036397263, -0.072030246, 0.075695105, -0.13079429, 0.12920211) * conv2d_1_7_texOff(vec2(1, 0)); + result += mat4(0.0015175362, 0.021335479, 0.02146133, -0.06038062, 0.00080140086, -0.0022465654, 0.11279797, 0.06713731, 0.09654536, -0.06997881, 0.039597716, 0.04114037, -0.03440995, -0.009359729, -0.029094754, 0.025551956) * conv2d_1_7_texOff(vec2(-1, 1)); + result += mat4(-0.05281169, 0.11202297, 0.079287015, -0.04560356, 0.058398824, -0.06945946, -0.026415464, 0.0160811, 0.043219727, -0.12492527, 0.052325107, -0.044891126, -0.035773546, -0.03371483, 0.11292073, -0.07719437) * conv2d_1_7_texOff(vec2(0, 1)); + result += mat4(0.09998993, 0.020657647, 0.05914948, 0.084108375, 0.137519, 0.13890447, -0.0038755392, -0.04956, 0.06387369, -0.119433515, -0.15042101, -0.0034510603, 0.01573111, -0.00908254, 0.1505648, 0.013190279) * conv2d_1_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-2-ReLU) +//!HOOK LUMA +//!BIND conv2d_1_0 +//!BIND conv2d_1_1 +//!BIND conv2d_1_2 +//!BIND conv2d_1_3 +//!BIND conv2d_1_4 +//!BIND conv2d_1_5 +//!BIND conv2d_1_6 +//!BIND conv2d_1_7 +//!SAVE conv2d_2_5 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.017029766, 0.0026182518, 0.0076097404, -0.05298403); + result += mat4(-0.26969707, 0.06524865, -0.034910116, 0.10716784, -0.012184682, 0.06790791, -0.056467034, -0.05117357, 0.13427982, 0.09756453, -0.015195975, 0.0043514203, -0.016651496, 0.07863006, -0.016474612, -0.06635994) * conv2d_1_0_texOff(vec2(-1, -1)); + result += mat4(0.029933723, -0.12646446, -0.04914896, 0.06726342, 0.061262373, 0.066556126, -0.030240647, -0.020036204, 0.0006011609, -0.024370167, 0.053824496, -0.05982114, -0.0014629327, 0.11171455, -0.010359523, -0.08608828) * conv2d_1_0_texOff(vec2(0, -1)); + result += mat4(0.1051924, 0.27188978, -0.014654504, -0.0018300583, 0.09940436, 0.020210095, 0.17744707, -0.09966902, 0.069840305, 0.01834343, -0.041189738, -0.31659272, -0.032945566, -0.007824346, -0.07791143, 0.048303474) * conv2d_1_0_texOff(vec2(1, -1)); + result += mat4(-0.07786165, -0.100265674, -0.16851753, 0.04480318, 0.09389894, -0.045890126, -0.026472284, -0.008443509, -0.122594535, 0.044459287, 0.005041826, 0.0067074234, -0.047006283, 0.065866336, 0.05942036, 0.031581286) * conv2d_1_0_texOff(vec2(-1, 0)); + result += mat4(-0.00602724, 0.06697397, 0.18384673, 0.01027512, 0.042820822, 0.007021697, -0.0323376, -0.1833276, 0.004656694, -0.07827061, -0.033343844, 0.028004551, 0.10583701, 0.020000068, 0.0037480006, -0.05287195) * conv2d_1_0_texOff(vec2(0, 0)); + result += mat4(0.07390632, 0.18814299, 0.036274645, -0.018576303, 0.004750342, 0.059536073, 0.19308347, -0.4528547, 0.017254237, -0.041691933, 0.061326373, -0.14300399, -0.005055382, 0.09145138, 0.093360014, -0.021485277) * conv2d_1_0_texOff(vec2(1, 0)); + result += mat4(-0.121915326, -0.07763473, 0.085626386, 0.027659494, 0.077777, -0.010674994, -0.011545273, 0.004186847, -0.089231595, -0.048946496, -0.05470035, 0.015323905, -0.021655943, 0.046722192, 0.022299444, 0.11340525) * conv2d_1_0_texOff(vec2(-1, 1)); + result += mat4(-0.18421695, 0.05888825, 0.14848131, 0.014433412, 0.113811694, 0.07111202, -0.09765235, -0.07693179, 0.0602293, -0.008185876, 0.025422461, -0.04719523, 0.059935145, -0.050485875, -0.03513375, 0.027424844) * conv2d_1_0_texOff(vec2(0, 1)); + result += mat4(-0.16856517, 0.106958345, 0.0995741, 0.031181378, -0.02347832, -0.0073813573, 0.20096287, 0.1723206, -0.16832705, -0.032580975, 0.08661121, 0.014525628, 0.0500234, 0.011579943, -0.0040895683, -0.014273579) * conv2d_1_0_texOff(vec2(1, 1)); + result += mat4(0.031319104, 0.08890289, -0.036908906, 0.039951283, -0.06941218, -0.12592047, 0.01263135, 0.18038338, -0.1529123, -0.09730094, -0.25230816, -0.15152137, -0.06788534, -0.022764865, -0.031498637, 0.14177006) * conv2d_1_1_texOff(vec2(-1, -1)); + result += mat4(-0.06792869, 0.07877402, -0.052625578, 0.034551255, 0.05252881, -0.09421165, -0.079967454, -0.03667114, 0.0122212265, -0.20869061, 0.26856872, -0.03768078, 0.05866091, -0.040971063, -0.09132208, 0.0053021717) * conv2d_1_1_texOff(vec2(0, -1)); + result += mat4(0.032328375, 0.12871602, -0.034526303, -0.08058767, -0.024143964, 0.04123636, -0.071840405, -0.025301475, 0.10846705, -0.0005009965, 0.116081, -0.09387739, -0.029391587, 0.041163437, -0.02343205, 0.042011756) * conv2d_1_1_texOff(vec2(1, -1)); + result += mat4(-0.009995413, -0.031811856, 0.041431498, -0.044237185, 0.031169385, 0.018742668, 0.010501838, -0.074916266, -0.122546464, 0.092835546, -0.27030805, -0.021109458, 0.029642392, -0.019051002, -0.040155347, -0.0017119342) * conv2d_1_1_texOff(vec2(-1, 0)); + result += mat4(0.0071336096, -0.016731696, 0.084511995, 0.07081034, -0.016044186, 0.0030624, 0.055037323, -0.12770587, -0.006081255, -0.047676757, -0.11307422, -0.0014949614, 0.01914759, 0.054901253, 0.017708529, -0.059797592) * conv2d_1_1_texOff(vec2(0, 0)); + result += mat4(-0.025179401, -0.03025158, -0.048162967, -0.025701175, -0.0011000743, -0.0054261936, 0.0696297, 0.030286578, -0.015683876, 0.15854381, -0.000960113, 0.045958098, -0.04803642, -0.051190984, -0.084568866, 0.029185671) * conv2d_1_1_texOff(vec2(1, 0)); + result += mat4(0.13343698, 0.04387127, -0.08858853, 0.039225515, 0.028960763, 0.0122523075, -0.026185688, -0.061627798, 0.062422622, 0.12905356, -0.10242836, 0.087893724, -0.059261795, -0.041836362, -0.0020415436, -0.046103142) * conv2d_1_1_texOff(vec2(-1, 1)); + result += mat4(-0.06690978, -0.07737104, -0.034676712, 0.049053475, -0.015790988, -0.01816458, 0.028024923, 0.0041574254, 0.14866997, 0.012767012, -0.25859684, 0.20342813, -0.09240526, 0.017292514, 0.07047152, 0.06293975) * conv2d_1_1_texOff(vec2(0, 1)); + result += mat4(-0.0817109, -0.044254728, 0.013244365, -0.060593355, -0.054841064, 0.10401544, 0.032707024, 0.012629702, -0.118282616, -0.044306867, 0.35330382, 0.17721374, -0.1114456, -0.058162365, -0.003546469, -0.0845349) * conv2d_1_1_texOff(vec2(1, 1)); + result += mat4(-0.19880357, 0.059741497, -0.03827411, 0.071425736, -0.075892024, 0.072549745, 0.033630896, 0.044860136, 0.082574934, -0.07166674, -0.16222098, -0.114743434, -0.14403903, 0.100831576, -0.01996922, 0.094166) * conv2d_1_2_texOff(vec2(-1, -1)); + result += mat4(-0.0738981, 0.1545612, -0.06781132, -0.11175757, -0.023283117, 0.04801318, 0.0078938585, -0.0965526, -0.0707145, -0.04512902, 0.07874076, 0.044540495, -0.058215566, -0.25557983, 0.08157237, -0.052170843) * conv2d_1_2_texOff(vec2(0, -1)); + result += mat4(-0.11173838, -0.0020115932, -0.04526016, 0.09114158, 0.017256513, 0.044909816, 0.06590035, 0.009246264, -0.097504176, -0.0073500485, 0.011585191, 0.031382956, 0.12815003, -0.077566884, -0.04311267, 0.0756899) * conv2d_1_2_texOff(vec2(1, -1)); + result += mat4(-0.060002718, -0.0056088343, -0.16355346, -0.11462732, 0.007857242, 0.024046278, -0.18015987, -0.030390946, -0.036422, 0.060930215, -0.009096734, -0.13307464, -0.048260733, -0.062241316, -0.07130666, -0.007867302) * conv2d_1_2_texOff(vec2(-1, 0)); + result += mat4(-0.08134455, 0.056031805, -0.14318475, -0.2813397, -0.07978617, -0.006673399, -0.0042841216, -0.0016206937, -0.035881884, -0.052539952, 0.12968351, 0.06074183, 0.13390513, -0.037999887, 0.1476654, -0.026176197) * conv2d_1_2_texOff(vec2(0, 0)); + result += mat4(-0.027973985, -0.15338577, -0.07150376, -0.2194149, -0.13231678, -0.081399634, -0.053270098, 0.0484668, -0.04677012, -0.09067324, 0.06573042, 0.009586889, 0.13933039, -0.022283424, -0.03855533, -0.052375987) * conv2d_1_2_texOff(vec2(1, 0)); + result += mat4(-0.03145619, -0.05269622, -0.083968855, -0.05890199, 0.064208314, 0.038341, 0.02257381, 0.030543944, -0.026201153, 0.080296196, -0.107155316, 0.19480883, 0.03551925, -0.02143546, 0.075129986, -0.06252473) * conv2d_1_2_texOff(vec2(-1, 1)); + result += mat4(-0.023891192, -0.10253443, 0.010415969, -0.15022951, 0.044576913, -0.061632283, -0.064142086, 0.08906751, 0.012865637, 0.030913604, 0.13335633, 0.1156359, 0.063275844, 0.045636363, 0.009950541, -0.068348095) * conv2d_1_2_texOff(vec2(0, 1)); + result += mat4(0.25380403, 0.07222255, 0.15430467, -0.0029455193, 0.051101398, -0.08008068, 0.00967216, -0.0424779, -0.012633348, 0.020042336, -0.056133483, 0.026158713, -0.049946845, 0.07440664, -0.024540264, 0.012483923) * conv2d_1_2_texOff(vec2(1, 1)); + result += mat4(-0.027514534, 0.010503831, -0.05529919, 0.051151473, -0.12777993, 0.0017468381, 0.033581313, 0.046373155, -0.07036032, -0.07243802, 0.038944323, 0.008074952, 0.05702504, 0.034314957, -0.04334646, 0.058885086) * conv2d_1_3_texOff(vec2(-1, -1)); + result += mat4(-0.01718694, 0.0024343121, 0.06395386, -0.06528679, 0.09187729, -0.066754915, -0.082135014, 0.06271207, 0.0048517054, -0.0006502553, -0.052672837, 0.010453589, -0.0002793513, 0.025204431, -0.16500238, 0.01232479) * conv2d_1_3_texOff(vec2(0, -1)); + result += mat4(0.07470527, 0.01958761, 0.02907453, -0.0033163633, -0.020057654, -0.015939778, 0.044119533, 0.018834371, -0.086884804, 0.02066153, 0.02659018, -0.025405128, -0.030325947, -0.0024410195, 0.052593462, 0.07027683) * conv2d_1_3_texOff(vec2(1, -1)); + result += mat4(-0.061814327, 0.04902046, 0.06975528, 0.09674795, 0.07400881, -0.030832037, -0.068325706, -0.28539503, -0.011646138, 0.11795938, -0.03168293, -0.13822131, -0.13354857, -0.0367796, 0.041180305, 0.1832187) * conv2d_1_3_texOff(vec2(-1, 0)); + result += mat4(0.053103555, 0.09693912, -0.05690085, 0.0430419, 0.041139737, 0.04374001, -0.043549925, -0.045733515, 0.025844052, -0.024295192, 0.02632686, 0.031355284, -0.025869286, -0.015384743, -0.19231439, 0.047072247) * conv2d_1_3_texOff(vec2(0, 0)); + result += mat4(-0.019663326, 0.05288881, -0.029900167, 0.027453186, -0.07065517, 0.004660519, -0.058758568, 0.071469694, 0.09200928, 0.025993206, 0.06350677, 0.09959603, 0.039369427, -0.09484301, -0.052181423, -0.058604594) * conv2d_1_3_texOff(vec2(1, 0)); + result += mat4(-0.12711163, -0.093113564, 0.011707209, -0.04628494, 0.010537424, 0.0048373267, -0.008828664, -0.043850176, -0.13947192, -0.03538602, -0.37171027, -0.27829358, -0.0069816853, 0.039810818, -0.103474334, 0.1860338) * conv2d_1_3_texOff(vec2(-1, 1)); + result += mat4(0.07018136, -0.06213217, 0.064913444, -0.042679187, -0.010857788, 0.07866826, 0.08051424, 0.08617109, 0.100217514, -0.013381774, -0.03168785, 0.066240974, 0.041898996, 0.052527912, -0.20074497, 0.02927664) * conv2d_1_3_texOff(vec2(0, 1)); + result += mat4(0.040205557, -0.077584095, -0.079216786, -0.034955923, 0.007229153, 0.036935322, -0.003994174, -0.035330005, 0.13470751, 0.04052074, 0.08470326, 0.046256673, 0.10367631, 0.035996467, 0.08435148, 0.015167908) * conv2d_1_3_texOff(vec2(1, 1)); + result += mat4(-0.03609745, 0.011110089, 0.081246175, 0.21772598, 0.25638467, 0.10309746, -0.019938255, -0.12071986, -0.14128774, -0.0058060237, 0.32478487, 0.014180219, -0.11564704, 0.0036171004, -0.061511155, 0.13685413) * conv2d_1_4_texOff(vec2(-1, -1)); + result += mat4(0.016204288, 0.025427379, -0.032491725, 0.038200684, -0.17813689, 0.051033653, 0.017098531, -0.033479087, -0.031123739, 0.02592637, 0.021323444, -0.17615238, -0.004071446, 0.024089845, -0.11328454, -0.10246446) * conv2d_1_4_texOff(vec2(0, -1)); + result += mat4(-0.026363332, 0.0774693, -0.001488926, 0.074328214, 0.10431356, 0.045457643, -0.05182458, -0.07608814, -0.05636305, -0.048104573, 0.056380313, -0.051220886, -0.013051256, 0.07232895, -0.017295277, 0.046196643) * conv2d_1_4_texOff(vec2(1, -1)); + result += mat4(0.07148113, 0.041202053, -0.023399366, 0.31530088, -0.04816606, 0.033267178, 0.035453737, -0.07740784, -0.07473749, -0.084001854, -0.16188906, -0.05995198, -0.01454982, -0.04015711, 0.080324546, -0.04428545) * conv2d_1_4_texOff(vec2(-1, 0)); + result += mat4(0.04573671, -0.028660351, 0.07055464, -0.06023813, 0.0358784, 0.039551362, 0.051226728, 0.2707989, -0.113762096, 0.00055007805, -0.041450407, -0.07462006, 0.060826674, -0.05905481, -0.026069222, -0.112142615) * conv2d_1_4_texOff(vec2(0, 0)); + result += mat4(-0.053279698, -0.0032421292, -0.022948861, -0.021695847, -0.04314488, 0.016928686, 0.049900077, -0.013736364, 0.09159843, 0.040690944, -0.089060396, 0.075674, 0.037561912, -0.019046945, -0.0052949497, 0.06942163) * conv2d_1_4_texOff(vec2(1, 0)); + result += mat4(0.057270415, 0.030945752, -0.051915206, 0.03747818, -0.29900372, -0.03539909, -0.2623809, -0.14053984, -0.06724629, -0.002058162, 0.025339983, 0.034215078, 0.09452597, 0.008239918, 0.0077291573, -0.045769628) * conv2d_1_4_texOff(vec2(-1, 1)); + result += mat4(-0.04734648, -0.016243327, -0.106288806, -0.03594557, -0.26163426, 0.044178136, 0.03810632, -0.15159981, 0.062477387, 0.0029771402, 0.15897194, 0.031832475, -0.0027898247, 0.020303156, -0.00094719423, 0.061058104) * conv2d_1_4_texOff(vec2(0, 1)); + result += mat4(0.10737836, -0.047659006, 0.033494566, -0.019183882, -0.12528087, -0.0047131795, 0.06947518, -0.08452694, 0.15260527, 0.16697158, 0.0662454, 0.093549274, -0.048005812, 0.010547435, -0.07672287, 0.008138391) * conv2d_1_4_texOff(vec2(1, 1)); + result += mat4(-0.4034531, -0.07336866, 0.054269694, -0.088195376, 0.07254467, 0.054527745, -0.09746604, 0.041571233, 0.07851575, -0.06665327, -0.01872743, -0.022730755, 0.2237277, 0.27669412, -0.12509036, -0.124001995) * conv2d_1_5_texOff(vec2(-1, -1)); + result += mat4(-0.17640968, 0.11495339, -0.075981, -0.021307552, 0.02361582, 0.103638485, 0.13105026, -0.01477062, -0.054478426, -0.00042184402, 0.0563414, 0.116156526, 0.12930475, -0.4096145, 0.065834604, -0.44063684) * conv2d_1_5_texOff(vec2(0, -1)); + result += mat4(-0.07515911, 0.05480233, 0.048164148, -0.0698216, -0.0048652333, 0.15709642, 0.15201579, -0.009992494, -0.03799079, 0.052205637, 0.035803646, 0.09784627, -0.052154884, -0.021929527, 0.10782196, 0.14605185) * conv2d_1_5_texOff(vec2(1, -1)); + result += mat4(0.07340599, 0.05675576, 0.16155493, 0.23515168, -0.10060028, -0.014091447, -0.14785613, -0.30227914, 0.004407614, 0.0823413, 0.07310364, 0.039226864, 0.17360078, -0.04300298, 0.012603476, -0.16852224) * conv2d_1_5_texOff(vec2(-1, 0)); + result += mat4(0.05241981, -0.044155005, -0.12009607, -0.021826092, 0.08454434, 0.035356153, 0.15445329, -0.16383909, 0.019939046, -0.012035172, -0.021772088, -0.039319593, 0.2113125, -0.19087756, 0.09711666, 0.23051569) * conv2d_1_5_texOff(vec2(0, 0)); + result += mat4(0.07032819, -0.008868697, -0.012584712, -0.03610978, 0.0085982215, -0.073083095, 0.005314122, -0.15008338, 0.111559, -0.034215957, -0.059302565, 0.061598655, -0.15815967, 0.7643408, -0.6688679, -0.015675765) * conv2d_1_5_texOff(vec2(1, 0)); + result += mat4(-0.04652039, 0.0023509252, 0.06324783, 0.060657516, 0.04368846, 0.09922848, 0.016998468, -0.1707438, -0.05715121, 0.07029522, -0.024926111, 0.13404353, 0.043076552, 0.35814863, -0.6626277, 0.004661073) * conv2d_1_5_texOff(vec2(-1, 1)); + result += mat4(-0.02774036, -0.05662422, 0.084981784, -0.015987758, -0.18142702, -0.043269794, 0.036585227, -0.31359372, -0.037696313, -0.099541634, -0.047562238, 0.091655485, -0.023354845, 0.4656288, 0.45047572, 0.17105147) * conv2d_1_5_texOff(vec2(0, 1)); + result += mat4(-0.0076555354, -0.04979883, -0.12889482, 0.024111828, -0.24661215, -0.019473843, -0.16955906, 0.0009965954, -0.030066233, 0.021942018, 0.042639494, 0.019092843, 0.05292547, 0.38002372, 0.076062664, 0.096562475) * conv2d_1_5_texOff(vec2(1, 1)); + result += mat4(0.17487007, 0.02716904, -0.043371353, -0.32799977, -0.18254909, 0.03244557, 0.093665704, 0.12422773, -0.04813594, 0.023399659, -0.049716085, 0.019244196, -0.03420005, 0.06143091, -0.013536346, 0.035490282) * conv2d_1_6_texOff(vec2(-1, -1)); + result += mat4(0.11734277, 0.011759425, -0.09654516, -0.040260497, 0.08776812, 0.07565629, -0.0662768, 0.1033306, 0.021257868, -0.005124921, 0.048855864, 0.04399978, 0.05600546, 0.00627899, 0.06954754, -0.4721312) * conv2d_1_6_texOff(vec2(0, -1)); + result += mat4(0.11846434, -0.034724407, 0.02406037, 0.009163481, 0.04919227, -0.012226861, -0.0040999786, 0.07114601, -0.060678434, 0.00071401516, -0.026075708, 0.098185174, -0.26407084, 0.053739548, 0.096671924, 0.0950351) * conv2d_1_6_texOff(vec2(1, -1)); + result += mat4(0.14992541, 0.09855627, -0.051828545, -0.21739236, -0.06426778, -0.00898051, -0.019912016, -0.11489576, 0.04586731, -0.044006187, 0.051051468, 0.0027259246, -0.0026719961, -0.04945696, -0.031669617, 0.014082213) * conv2d_1_6_texOff(vec2(-1, 0)); + result += mat4(0.053877745, 0.16251695, 0.12707567, 0.030175999, -0.005992873, -0.039566908, -0.12295258, -0.08529856, -0.037976827, -0.064296514, -0.0109587945, 0.068643615, 0.09037895, -0.026651924, 0.0057991473, -0.11456577) * conv2d_1_6_texOff(vec2(0, 0)); + result += mat4(-0.12622368, 0.005051562, 0.08239491, -0.008606, 0.05442144, -0.0020586473, -0.10162568, 0.0058700773, -0.022050317, -0.004340718, 0.15215017, -0.05553393, -0.22747318, 0.095394574, 0.07996917, 0.081355445) * conv2d_1_6_texOff(vec2(1, 0)); + result += mat4(0.047325574, 0.11461733, -0.1606758, -0.1018006, 0.027850825, 0.05353667, 0.09283654, -0.07201258, 0.077073835, -0.0358214, 0.07575786, 0.093668826, -0.1053017, 0.011942607, 0.0072190077, 0.07295913) * conv2d_1_6_texOff(vec2(-1, 1)); + result += mat4(-0.061661605, 0.014500618, -0.0343881, 0.03676811, 0.09882814, -0.044081554, 0.012693663, -0.06509486, 0.009106592, 0.024507022, 0.036264386, -0.070494056, 0.08864536, 0.040168896, -0.10938189, -0.09325679) * conv2d_1_6_texOff(vec2(0, 1)); + result += mat4(-0.031548742, -0.045785595, 0.03481303, 0.0126136625, -0.046127744, 0.020386765, -0.012544244, 0.02643296, 0.020333808, 0.12276741, 0.03435273, -0.08855063, -0.032666843, 0.051521264, 0.036327366, -0.012208532) * conv2d_1_6_texOff(vec2(1, 1)); + result += mat4(-0.13453694, -0.06425231, 0.099538736, 0.08828377, 0.11944238, -0.013993342, -0.053921074, -0.045331813, -0.02260944, -0.09307777, -0.061098173, -0.06510203, -0.14304908, -0.01652368, 0.025414295, 0.0005006357) * conv2d_1_7_texOff(vec2(-1, -1)); + result += mat4(0.06453418, -0.1286868, -0.08830644, -0.067143, -0.00040941298, 0.066550925, 0.09138168, -0.06172078, -0.011784804, -0.10284127, -0.049765367, -0.039987683, -0.07333526, -0.045114417, 0.07188807, -0.016312258) * conv2d_1_7_texOff(vec2(0, -1)); + result += mat4(0.016668053, -0.029917741, -0.04790702, 0.13301483, -0.0226875, -0.019958513, 0.013383337, -0.04643367, 0.07789965, 0.0027342453, -0.027355531, 0.00842957, 0.059866987, 0.011565059, -0.08031227, -0.055167854) * conv2d_1_7_texOff(vec2(1, -1)); + result += mat4(0.028732752, -0.08508627, -0.025830543, -0.13049383, 0.007676596, 0.06923891, 0.03653034, -0.035906527, -0.015377517, -0.0006535983, -0.008989587, -0.1138247, -0.11669001, -0.02285596, 0.029788185, 0.03642247) * conv2d_1_7_texOff(vec2(-1, 0)); + result += mat4(0.05257182, 0.034222256, 0.069169685, -0.13427936, -0.09826113, -0.033780433, -0.008858038, 0.07313291, 0.0013643248, -0.02640931, -0.009135024, 0.070298485, -0.008649201, -0.1279212, -0.07136913, 0.014068566) * conv2d_1_7_texOff(vec2(0, 0)); + result += mat4(-0.061272312, 0.0025007627, 0.08642541, 0.056899246, 0.080976896, -0.014870841, -0.056911606, 0.019520482, -0.020400884, 0.061708752, -0.053698104, 0.109109126, 0.072821215, 0.028308649, 0.04283325, 0.0086398665) * conv2d_1_7_texOff(vec2(1, 0)); + result += mat4(-0.06382388, -0.03440983, -0.17204529, 0.037740856, -0.0043762517, -0.032933373, -0.09845114, -0.004478965, 0.011440689, -0.08439051, -0.24172826, -0.363408, -0.044690162, -0.037426498, 0.038753204, 0.11324205) * conv2d_1_7_texOff(vec2(-1, 1)); + result += mat4(0.15386839, -0.07965738, -0.003304589, 0.009285985, 0.10472413, -0.022005673, 0.050299566, 0.06737807, -0.0365651, 0.066187255, 0.019654201, -0.15182674, 0.06450326, 0.09565512, -0.048541855, -0.053782176) * conv2d_1_7_texOff(vec2(0, 1)); + result += mat4(-0.10440549, -0.05085832, 8.3101346e-05, -0.0449915, 0.002588291, -0.017261835, 0.009551745, -0.0365315, 0.060835935, -0.010699974, -0.073593125, 0.013337622, 0.0608693, 0.14456865, -0.016152615, 0.050170276) * conv2d_1_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-2-ReLU) +//!HOOK LUMA +//!BIND conv2d_1_0 +//!BIND conv2d_1_1 +//!BIND conv2d_1_2 +//!BIND conv2d_1_3 +//!BIND conv2d_1_4 +//!BIND conv2d_1_5 +//!BIND conv2d_1_6 +//!BIND conv2d_1_7 +//!SAVE conv2d_2_6 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.010690784, 0.005997089, 0.002451169, -0.005412337); + result += mat4(-0.082862236, -0.09332624, -0.004916408, -0.25246146, -0.056272738, 0.07155223, -0.009127834, 0.07654658, 0.04773212, 0.082947515, 0.045665577, -0.08155483, -0.040157765, -0.0028256194, -0.01287591, -0.011608416) * conv2d_1_0_texOff(vec2(-1, -1)); + result += mat4(-0.114815235, 0.091305695, 0.22614469, -0.06545236, 0.06945439, -0.002299741, 0.11802385, 0.10429289, 0.006980407, 0.044104833, -0.07763246, 0.03220111, 0.011595399, -0.037364498, 0.0068959096, -0.015846925) * conv2d_1_0_texOff(vec2(0, -1)); + result += mat4(0.11442867, 0.1947, 0.0014312532, -0.09519812, 0.038128227, 0.043568403, -0.3227581, -0.05126703, -0.02121803, 0.00038251144, -0.11258952, -0.051133096, 0.0072281426, -0.13872194, -0.014798982, -0.0063778055) * conv2d_1_0_texOff(vec2(1, -1)); + result += mat4(0.13032909, 0.15123816, -0.14155665, 0.011307483, -0.04383294, -0.100376636, -0.073844135, -0.09189189, -0.022353243, 0.08658764, 0.065357275, 0.023020228, 0.093580894, -0.078171946, -0.025888711, 0.018376289) * conv2d_1_0_texOff(vec2(-1, 0)); + result += mat4(0.16127862, 0.0035623254, -0.15936317, 0.120565504, -0.042104054, 0.079555735, 0.05391565, 0.03966206, 0.109242976, 0.04145595, 0.006665532, 0.029222775, 0.059675947, -0.11362838, 0.032819584, 0.03917334) * conv2d_1_0_texOff(vec2(0, 0)); + result += mat4(-0.073818006, 0.075325646, -0.15390112, -0.103969745, 0.060122073, 0.13159041, 0.09445272, -0.39024514, 0.12217026, -0.048006278, 0.16148163, -0.05440857, -0.018169494, -0.008575086, 0.023165897, 0.07195667) * conv2d_1_0_texOff(vec2(1, 0)); + result += mat4(0.029446874, 0.17245877, 0.19578046, -0.0959553, -0.010836295, -0.01651593, -0.049712602, -0.07257559, -0.024723414, -0.101832464, 0.06686563, 0.107243426, 0.019410517, 0.0057076416, 0.0071558966, -0.06711621) * conv2d_1_0_texOff(vec2(-1, 1)); + result += mat4(0.19535314, -0.139618, -0.06464305, -0.005250526, -0.07216891, 0.14065611, -0.1013816, 0.122438036, -0.0066403984, -0.076991655, -0.032490995, -0.0532696, -0.021064356, -0.04401845, 0.14308032, 0.032499548) * conv2d_1_0_texOff(vec2(0, 1)); + result += mat4(0.23283342, -0.26353815, 0.022908762, 0.005311544, 0.0076993722, 0.0010392838, 0.15888968, -0.14901665, 0.007011363, -0.002178251, -0.07326514, 0.06859169, -0.13724253, 0.013294479, 0.040944602, -0.08874898) * conv2d_1_0_texOff(vec2(1, 1)); + result += mat4(0.021038538, -0.13492516, -0.002590426, -0.015944479, -0.04631184, 0.06783748, 0.023126155, -0.11957147, -0.4165431, 0.023782954, -0.16402291, 0.120118864, -0.04066827, -0.018194545, 0.039823037, -0.15194955) * conv2d_1_1_texOff(vec2(-1, -1)); + result += mat4(0.036565546, -0.08837816, -0.01086319, -0.05594958, -0.00022415584, 0.05196372, 0.14731847, -0.032799017, -0.091960035, 0.052995168, -0.0922611, -0.29245508, 0.067643054, 0.010263509, 0.06141319, 0.061214045) * conv2d_1_1_texOff(vec2(0, -1)); + result += mat4(-0.042150944, 0.03656631, 0.063485555, 0.10510755, 0.015781783, -0.031539366, 0.04197354, 0.08098534, -0.020930447, -0.12196443, -0.14710884, -0.19126503, 0.055784065, -0.07713417, 0.09130778, 0.06264028) * conv2d_1_1_texOff(vec2(1, -1)); + result += mat4(0.060479272, -0.0024931005, 0.052952014, -0.087905586, -0.05729654, -0.040366028, -0.030486217, 0.06751229, -0.08824472, -0.08027508, -0.11356451, 0.15342566, 0.0015291413, -0.03325, 0.015456402, 0.025399398) * conv2d_1_1_texOff(vec2(-1, 0)); + result += mat4(-0.00819072, 0.009564266, 0.10381901, -0.00022270654, 0.04513513, 0.057175398, -0.008626486, -0.015773304, 0.11299881, 0.068074316, 0.14078437, -0.2912405, 0.11316507, -0.07743027, -0.015361845, -0.11405017) * conv2d_1_1_texOff(vec2(0, 0)); + result += mat4(0.046051558, 0.068835884, 0.13150439, 0.10288098, 0.05236311, -0.0744856, 0.019866904, 0.105658926, 0.06095486, -0.06600033, -0.046087004, -0.33375698, 0.14436951, 0.037028078, -0.074084036, -0.04736998) * conv2d_1_1_texOff(vec2(1, 0)); + result += mat4(-0.038823046, 0.07299554, -0.05847491, -0.04147976, -0.024128156, 0.12933809, -0.05945189, -0.01133884, 0.14848295, 0.001175198, -0.036680046, -0.063963674, 0.013725881, -0.0024379923, -0.08727678, 0.027952837) * conv2d_1_1_texOff(vec2(-1, 1)); + result += mat4(0.09670086, 0.015370373, 0.07292432, -0.19480015, -0.03054069, -0.043485958, -0.05360734, -0.041912492, 0.083735056, 0.014563895, 0.14733133, 0.15650618, 0.055674646, -0.048056748, -0.0026853587, -0.026554152) * conv2d_1_1_texOff(vec2(0, 1)); + result += mat4(0.024410594, -0.020015312, -0.05516048, -0.07794716, 0.069992274, -0.054092847, -0.035513066, -0.008233446, -0.15371548, 0.12472223, 0.092795506, 0.0486925, 0.0751384, 0.0087347645, -0.06254022, -0.13146058) * conv2d_1_1_texOff(vec2(1, 1)); + result += mat4(0.07937235, -0.36524597, 0.014878924, 0.08545474, -0.059753794, 0.05383852, 0.023399932, -0.021316389, -0.024138786, -0.055432, -0.10718331, 0.13316295, 0.07257173, -0.085463226, 0.031754185, -0.09082864) * conv2d_1_2_texOff(vec2(-1, -1)); + result += mat4(0.043743897, -0.010155396, 0.43185225, 0.037378218, -0.043807924, -0.0804751, -0.10160702, -0.11564795, 0.017340822, 0.009554977, -0.14971316, 0.03535888, 0.0031790596, -0.049985144, 0.02717979, 0.07938209) * conv2d_1_2_texOff(vec2(0, -1)); + result += mat4(-0.14309597, -0.08889616, -0.06141119, 0.06071407, 0.11449267, 0.06290235, -0.04803331, -0.07786643, -0.06757743, -0.038061988, -0.004627741, 0.07817144, -0.070204556, -0.087684765, -0.0864271, 0.05784742) * conv2d_1_2_texOff(vec2(1, -1)); + result += mat4(-0.0040593813, 0.10823612, 0.03336655, -0.12777032, -0.062495008, 0.0023544978, -0.0013834701, -0.07696703, 0.027040644, 0.008879399, -0.1106963, 0.051833767, -0.008440142, -0.10857426, 0.010843847, -0.06638709) * conv2d_1_2_texOff(vec2(-1, 0)); + result += mat4(-0.08215438, 0.03408142, -0.03042029, -0.06574534, -0.010344192, 0.025222981, -0.0942375, -0.32072356, 0.09445149, 0.11608672, -0.17004067, -0.0183685, 0.012359906, 0.014784032, -0.057997458, 0.026573583) * conv2d_1_2_texOff(vec2(0, 0)); + result += mat4(-0.114010945, 0.035921995, 0.1132185, -0.046908446, 0.021192726, 0.098312296, -0.10051638, -0.051098324, 0.013655437, 0.03112521, -0.101226255, -0.04436151, 0.011892899, 0.028890118, -0.057120286, 0.07885435) * conv2d_1_2_texOff(vec2(1, 0)); + result += mat4(-0.0875976, 0.08396669, 0.26676595, -0.07832734, 0.014096917, 0.01925402, 0.07948707, -0.19239175, -0.030101273, -0.007404924, 0.06454918, -0.033043984, 0.020191524, -0.015888287, -0.0768603, -0.0014707345) * conv2d_1_2_texOff(vec2(-1, 1)); + result += mat4(0.007838508, 0.050731845, -0.12275289, 0.077348635, -0.06637055, 0.042404823, 0.056114607, -0.2082521, 0.0052744793, -0.0034520295, 0.033134595, -0.14992613, 0.045224596, -0.047294725, -0.035579734, -0.043103494) * conv2d_1_2_texOff(vec2(0, 1)); + result += mat4(0.0117669385, -0.046722222, -0.082754396, 0.18934056, -0.077659056, -0.021580162, 0.0766293, -0.1434723, -0.039356105, -0.051062122, -0.022995232, 0.12825657, 0.06975765, -0.05721996, -0.0046809018, -0.06016137) * conv2d_1_2_texOff(vec2(1, 1)); + result += mat4(0.031200016, -0.044873744, -0.04577383, -0.09014457, 0.011431982, -0.16096246, -0.04573897, -0.021885265, -0.076434284, -0.07447358, 0.11294924, 0.040629297, -0.055489622, -0.017967565, 0.020820567, -0.06783229) * conv2d_1_3_texOff(vec2(-1, -1)); + result += mat4(0.008515332, -0.012485643, 0.017390816, -0.035030354, -0.0049802437, -0.1521472, 0.040498625, -0.04042039, 0.0140814595, -0.14227289, 0.07657805, -0.10505521, -0.038342696, 0.10698481, 0.014068513, 0.17430907) * conv2d_1_3_texOff(vec2(0, -1)); + result += mat4(-0.031913165, -0.073796816, 0.08374395, -0.036987934, -0.027900955, -0.010202113, 0.050811402, -0.09660639, -0.029861007, -0.08969103, -0.2102356, 0.14262727, -0.11207342, -0.03937835, 0.045553975, -0.0172096) * conv2d_1_3_texOff(vec2(1, -1)); + result += mat4(0.026628032, 0.053303003, 0.030054938, -0.07204776, -0.024216121, 0.16775322, -0.058352433, 0.09911573, -0.17444852, 0.05383404, 0.3569527, -0.015095063, 0.055044323, 0.0036387478, -0.058078967, -0.15752015) * conv2d_1_3_texOff(vec2(-1, 0)); + result += mat4(0.005434836, -0.09366988, -0.0006659146, 0.06655433, -0.07314304, 0.049210344, -0.06501994, 0.09020106, 0.007943374, -0.24311112, 0.11246132, -0.05669102, 0.017933127, -0.09891863, 0.07549983, 0.021653479) * conv2d_1_3_texOff(vec2(0, 0)); + result += mat4(0.03517719, 0.09923731, 0.044575054, -0.053033523, 0.0017107581, 0.07446237, -0.031252462, 0.11600726, -0.054050457, -0.03993115, 0.045306034, 0.08790281, -0.050194588, 0.16850585, -0.09426044, -0.08788989) * conv2d_1_3_texOff(vec2(1, 0)); + result += mat4(-0.0014516271, -0.030251157, 0.0024254667, 0.04534443, 0.056322027, -0.07524383, 0.0014791054, 0.067090385, -0.3117536, 0.22211868, 0.08488968, -0.43937343, -0.029876236, -0.021681514, -0.118743554, 0.008213524) * conv2d_1_3_texOff(vec2(-1, 1)); + result += mat4(-0.14914426, 0.05132183, -0.06847439, -0.0098333815, -0.06761469, 0.006456852, 0.09248922, -0.3200455, -0.14957795, 0.016720846, -0.1418253, -0.16575523, -0.06651087, -0.13473675, -0.0292337, 0.21095127) * conv2d_1_3_texOff(vec2(0, 1)); + result += mat4(-0.032742526, 0.055474162, -0.060109146, -0.067157075, 0.021278894, 0.01700543, 0.021176396, 0.099747844, 0.062318478, -0.17896491, -0.053276803, 0.03987469, -0.0014845199, 0.013721121, 0.0068959235, -0.031793147) * conv2d_1_3_texOff(vec2(1, 1)); + result += mat4(-0.013827739, 0.029192314, -0.15077412, -0.07280277, -0.11141827, 0.074057266, -0.03826989, -0.04493996, -0.01792707, -0.042056218, 0.08892316, -0.16241309, -0.021858077, 0.10777993, -0.058708988, -0.06142172) * conv2d_1_4_texOff(vec2(-1, -1)); + result += mat4(-0.08071342, -0.034904685, 0.0032877438, -0.032918695, 3.5765264e-05, 0.075260065, 0.070635706, 0.001903675, -0.07981462, 0.037416752, -0.049325954, -0.019922206, 0.07265439, 0.034716118, 0.022258228, -0.011259153) * conv2d_1_4_texOff(vec2(0, -1)); + result += mat4(-0.0048448513, -0.14551418, 0.13294397, -0.11285735, 0.0057811276, -0.033272423, 0.08149882, 0.040891297, -0.09873544, 0.038263552, 0.05520923, -0.031299513, 0.017749077, -0.012483133, -0.041523993, 0.06459376) * conv2d_1_4_texOff(vec2(1, -1)); + result += mat4(-0.096644066, 0.0458126, 0.029846074, -0.037850592, -0.04341194, 0.06412556, -0.02204861, -0.026579129, -0.0043215244, 0.0030381086, -0.009296391, -0.1333166, -0.037021775, -0.07936589, 0.11547145, 0.032951925) * conv2d_1_4_texOff(vec2(-1, 0)); + result += mat4(0.06483997, 0.07908248, -0.032705646, 0.07469769, 0.1075552, -0.17562248, 0.0017593886, 0.100031786, -0.06114924, 0.05383326, -0.029468963, -0.2074514, -0.047082335, -0.054200534, 0.14617506, 0.09124103) * conv2d_1_4_texOff(vec2(0, 0)); + result += mat4(-0.090670995, -0.030332653, -0.047783908, 0.09332696, -0.050707784, 0.20759183, 0.06719066, -0.051192265, -0.018785628, 0.07708997, 0.09815681, 0.015772363, 0.082743764, -0.07724646, 0.07533772, -0.019618925) * conv2d_1_4_texOff(vec2(1, 0)); + result += mat4(-0.015034162, 0.027678078, 0.004485577, -0.0053388663, -0.0078025865, 0.08644683, 0.09853315, 0.07405606, -0.08312033, -0.016515655, 0.04020123, 0.15109605, 0.07393641, 0.11420123, -0.019472519, -0.078546286) * conv2d_1_4_texOff(vec2(-1, 1)); + result += mat4(-0.010722131, 0.08855316, 0.09228766, -0.13401242, -0.00354648, -0.1324043, -0.15619309, 0.15188502, -0.04957025, -0.070352495, -0.08778581, 0.06650648, 3.414893e-05, 0.019148303, -0.015781783, -0.010458694) * conv2d_1_4_texOff(vec2(0, 1)); + result += mat4(-0.013016937, -0.058610007, -0.01955858, -0.010563064, -0.09038516, 0.24968396, -0.069559604, -0.027359894, -0.050136372, 0.026390802, -0.096367836, 0.091583066, 0.01743045, -0.042999726, -0.08765771, 0.06957089) * conv2d_1_4_texOff(vec2(1, 1)); + result += mat4(-0.097619414, -0.03596058, -0.07945388, -0.18552269, -0.11350878, -0.13267313, -0.06915545, -0.054690965, 0.010391561, -0.014942967, -0.015519899, -0.089317374, 0.035449956, -0.054202728, 0.11432231, 0.21882272) * conv2d_1_5_texOff(vec2(-1, -1)); + result += mat4(-0.05647023, 0.07100975, -0.05997138, -0.029043961, -0.009731872, 0.010453934, 0.049745265, -0.16170847, 0.08597285, -0.014077391, 0.08981343, 0.027544783, 0.0128316125, -0.3657645, 0.10594425, 0.23268223) * conv2d_1_5_texOff(vec2(0, -1)); + result += mat4(-0.010719718, 0.14443997, -0.12875578, -0.040287886, 0.03941465, -0.04173003, -0.21589702, 0.11105341, -0.07029314, -0.04101937, 0.0014073573, 0.05151061, -0.1504672, -0.21717829, -0.24764758, -0.13079694) * conv2d_1_5_texOff(vec2(1, -1)); + result += mat4(-0.16044514, -0.09288801, -0.010618369, -0.10929675, 0.07969499, 0.028753832, -0.048848506, -0.032439258, -0.047022868, 0.023455612, 0.09936926, -0.086376324, 0.08733632, 0.5036459, -0.2390321, 0.122648895) * conv2d_1_5_texOff(vec2(-1, 0)); + result += mat4(0.010534861, 0.22026429, 0.052812472, -0.042793896, 0.1526966, 0.13103181, -0.024165567, 0.2552295, -0.059412207, 0.004601544, 0.08095746, -0.04323657, -0.25822118, -0.036181983, 0.78730196, 0.3700736) * conv2d_1_5_texOff(vec2(0, 0)); + result += mat4(0.0073771523, 0.032667294, 0.10373542, 0.3054397, -0.05403309, 0.07770418, 0.19603463, 0.103815265, -0.083129615, 0.056437533, 0.0036738557, -0.08030763, 0.08578597, -0.47391012, -0.2340688, 0.09837176) * conv2d_1_5_texOff(vec2(1, 0)); + result += mat4(-0.0040087216, 0.05885074, -0.0427872, -0.02846482, -0.11479727, 0.012885045, 0.012890566, 0.04019892, -0.066839315, -0.059595812, -0.11559759, 0.056647632, 0.04924228, 0.11483939, 0.42489016, 0.046949796) * conv2d_1_5_texOff(vec2(-1, 1)); + result += mat4(-0.03134626, 0.030074157, 0.059376065, 0.0070128655, -0.053245947, 0.15632841, -0.27364123, -0.24739368, 0.050405618, 0.024330301, -0.09987591, 0.06328098, 0.33785403, -0.020707022, 0.24607974, -0.5918927) * conv2d_1_5_texOff(vec2(0, 1)); + result += mat4(-0.019868644, -0.03391321, -0.0023804966, -0.010340161, 0.08739526, -0.030633437, -0.039041147, -0.19612013, 0.05589272, 0.03628168, -0.013933484, 0.075527556, -0.110349745, -0.014205303, 0.2221825, 9.5935e-05) * conv2d_1_5_texOff(vec2(1, 1)); + result += mat4(-0.031899307, 0.07540582, -0.06766358, 0.1594253, 0.12397341, 0.117427625, 0.09891616, 0.094036795, 0.05896751, -0.0033413924, -0.07776852, 0.008694928, -0.096475326, 0.081829466, 0.1114397, 0.034583464) * conv2d_1_6_texOff(vec2(-1, -1)); + result += mat4(0.0053996695, 0.011602496, -0.06938011, -0.023684524, -0.07905979, 0.033401567, 0.12814227, 0.12704155, 0.06321761, 0.062416516, -0.025955332, 6.5184824e-05, -0.059599515, 0.08655594, -0.06143751, 0.085237406) * conv2d_1_6_texOff(vec2(0, -1)); + result += mat4(0.00058507366, -0.024090067, -0.036246452, 0.012581524, -0.08575937, -0.02125795, -0.017338436, -0.10863408, -0.068193376, -0.08457068, 0.045226287, -0.04682276, 0.062292855, 0.040923733, -0.009620206, 0.13549171) * conv2d_1_6_texOff(vec2(1, -1)); + result += mat4(0.002376552, 0.07506957, -0.062821805, -0.052593358, 0.021240054, 0.044370417, -0.059411313, -0.08343843, 0.11286664, 0.099397056, -0.14576577, 0.036803715, 0.02230992, 0.014093872, 0.06560242, -0.13011786) * conv2d_1_6_texOff(vec2(-1, 0)); + result += mat4(0.014644928, 0.107997805, 0.07072257, 0.20512718, 0.07422325, -0.0964916, 0.007396849, 0.09779219, -0.032845605, -0.047252584, -0.025998967, 0.016014457, -0.03291501, -0.05611761, 0.058003977, 0.062348176) * conv2d_1_6_texOff(vec2(0, 0)); + result += mat4(-0.025252977, -0.079215795, -0.019680161, -0.07315868, -0.039013438, -0.050878223, -0.0012554437, -0.12303936, 0.07835808, -0.0057618353, 0.08719168, -0.10248976, 0.014171008, -0.036710598, 0.08065212, 0.12406483) * conv2d_1_6_texOff(vec2(1, 0)); + result += mat4(0.06047156, 0.078221224, -0.005402685, 0.14069128, -0.009749106, -0.032800645, 0.043753702, -0.0020275633, -0.033397667, -0.05355792, -0.12752733, 0.027336076, -0.024347508, 0.029256696, -0.07217182, 0.04384008) * conv2d_1_6_texOff(vec2(-1, 1)); + result += mat4(0.00921567, 0.01450125, 0.10956622, 0.080035426, 0.01875688, -0.07081381, -0.032756895, 0.1198064, 0.020125113, -0.068008535, -0.16996945, -0.019588333, -0.1170872, 0.11217965, -0.03773435, 0.023224028) * conv2d_1_6_texOff(vec2(0, 1)); + result += mat4(0.015116493, 0.01423454, 0.1245378, -0.08725238, 0.03207636, -0.025948778, 0.045346208, -0.12668304, 0.0074921213, 0.017547948, -0.10769967, -0.020954352, -0.032058917, 0.006698829, -0.028226264, 0.009531056) * conv2d_1_6_texOff(vec2(1, 1)); + result += mat4(-0.009082316, -0.04974578, 0.021507699, 0.063199066, -0.08571374, 0.002195545, -0.0001694958, 0.09936031, 0.062492624, -0.092212886, 0.07836746, -0.0007151658, 0.0027925319, 0.027827486, 0.026872355, -0.12791967) * conv2d_1_7_texOff(vec2(-1, -1)); + result += mat4(0.017570052, -0.04244917, 0.022947263, -0.004099355, 0.01993168, 0.05163696, 0.08748351, -0.06830031, -0.06739364, -0.08220055, 0.093481876, 0.047001038, 0.019670546, 0.11035209, -0.06310049, 0.058654413) * conv2d_1_7_texOff(vec2(0, -1)); + result += mat4(-0.02478547, -0.0035681177, 0.013097798, 0.067774385, 0.042852964, 0.00030201027, 0.0117423795, 0.07670981, -0.03171201, 0.03998607, -0.010848306, -0.02885261, -0.08978039, 0.031287923, 0.055206515, -0.090399906) * conv2d_1_7_texOff(vec2(1, -1)); + result += mat4(-0.116015434, -0.024938617, -0.0069558984, 0.031076705, 0.03423816, 0.09265258, -0.06926436, 0.07258405, -0.02805012, 0.067438275, 0.13772243, -0.019412128, -0.06259269, -0.012765915, 0.008289173, 0.029476484) * conv2d_1_7_texOff(vec2(-1, 0)); + result += mat4(-0.0147683555, -0.013401025, -0.13986728, -0.19639333, -0.08134613, 0.08388335, -0.063143656, -0.073297754, -0.0017003792, -0.00055649667, -0.031086793, 0.023365153, 0.053659063, -0.08405771, 0.045653347, 0.11688034) * conv2d_1_7_texOff(vec2(0, 0)); + result += mat4(0.05130243, -0.09904857, -0.0378094, 0.034630097, -0.039673038, -0.10745154, -0.041698955, 0.047820237, -0.08594879, -0.067647725, 0.05149418, 0.007884894, -0.021675237, -0.011916742, 0.04341664, -0.024816668) * conv2d_1_7_texOff(vec2(1, 0)); + result += mat4(0.061165635, 0.108585514, 0.03334415, 0.30366713, -0.11528146, -0.00058979983, 0.037980568, 0.045508444, 0.12863614, 0.12833299, 0.25715324, 0.04659202, -0.10637552, -0.072700106, -0.082676746, -0.049088042) * conv2d_1_7_texOff(vec2(-1, 1)); + result += mat4(-0.05726864, 0.07935854, 0.10549142, -0.068712786, 0.0042473865, 0.04665184, -0.15141368, 0.058854952, -0.056800183, 0.094561696, 0.12012377, -0.099305235, 0.0012673351, -0.077923365, -0.028462173, -0.040689047) * conv2d_1_7_texOff(vec2(0, 1)); + result += mat4(0.07104608, -0.06413843, -0.09069548, 0.020858338, 0.043033052, 0.09225001, -0.16452445, 0.052920576, 0.017080646, 0.04904874, 0.12896115, -0.09881568, 0.049004003, -0.025881693, 0.015833985, -0.04814061) * conv2d_1_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-2-ReLU) +//!HOOK LUMA +//!BIND conv2d_1_0 +//!BIND conv2d_1_1 +//!BIND conv2d_1_2 +//!BIND conv2d_1_3 +//!BIND conv2d_1_4 +//!BIND conv2d_1_5 +//!BIND conv2d_1_6 +//!BIND conv2d_1_7 +//!SAVE conv2d_2_7 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.00064860965, -0.0002542105, 0.0034470388, -0.00044491922); + result += mat4(0.031162802, -0.008757692, 0.08214746, 0.047523174, -0.006688792, -0.09842215, -0.120437585, -0.1128324, -0.007867041, 0.032236293, 0.042005185, 0.049446292, 0.031461608, -0.039313708, -0.0106289955, 0.064795405) * conv2d_1_0_texOff(vec2(-1, -1)); + result += mat4(-0.09309159, -0.22635044, -0.082104154, 0.19508606, 0.035620756, 0.05762853, 0.16084354, 0.005334513, 0.014237292, -0.09505982, 0.065088876, 0.048038885, 0.016058909, 0.00012522395, -0.036496364, -0.06643789) * conv2d_1_0_texOff(vec2(0, -1)); + result += mat4(0.08257704, 0.001174265, 0.15590613, -0.022218218, 0.0076125837, 0.028754758, -0.07402362, 0.06663303, -0.045714367, 0.04686763, 0.086656034, -0.07300678, 0.054710183, 0.06941959, -0.07530675, 0.091957584) * conv2d_1_0_texOff(vec2(1, -1)); + result += mat4(0.09857265, -0.11390332, -0.18169977, -0.014009257, 0.032378554, 0.00028796482, 0.06971053, -0.06466647, -0.08591199, -0.1883516, 0.07052337, 0.07699922, -0.048252013, -0.14209114, 0.09588853, 0.044951204) * conv2d_1_0_texOff(vec2(-1, 0)); + result += mat4(0.020877661, 0.016536655, -0.062076554, -0.11427186, -0.21191455, 0.12167865, 0.122240745, 0.028201176, -0.0871009, -0.053196564, 0.06808328, 0.071704194, -0.19227485, -0.14654213, 0.008296314, 0.01008239) * conv2d_1_0_texOff(vec2(0, 0)); + result += mat4(-0.0345322, -0.08360303, 0.08294067, 0.0024336807, -0.11972769, -0.08098406, 0.0019175576, 0.15981314, -0.076919034, 0.09906409, 0.06229293, -0.0015484038, 0.05739559, -0.09769374, 0.034139607, 0.01022288) * conv2d_1_0_texOff(vec2(1, 0)); + result += mat4(0.20823511, 0.14903569, -0.12662478, -0.18958801, 0.042705096, 0.087041914, -0.011798994, -0.03054304, 0.008387501, -0.00020869075, -0.13544756, -0.056264065, -0.06893683, 0.043509603, 0.047092162, -0.020960758) * conv2d_1_0_texOff(vec2(-1, 1)); + result += mat4(0.1253149, -0.1795108, 0.10664313, -0.053281732, -0.014992822, 0.038051307, -0.017754287, 0.087486215, 0.0008402511, 0.002476463, 0.057796687, -0.0063772392, 0.04383979, 0.029714601, 0.06885332, -0.04575157) * conv2d_1_0_texOff(vec2(0, 1)); + result += mat4(0.100397795, -0.14530356, 0.13411486, -0.1946371, 0.072108604, -0.036068115, 0.10393212, 0.17481814, 0.06693771, 0.02193282, -0.0074789394, 0.05288564, -0.06459968, -0.00963971, -0.044981368, -0.06412206) * conv2d_1_0_texOff(vec2(1, 1)); + result += mat4(-0.057341356, 0.10777572, -0.017328802, -0.07610742, 0.07844612, 0.07733976, -0.26711637, 0.08371567, -0.041454475, 0.057934903, -0.10404679, 0.026970921, 0.12022616, 0.050202593, -0.080836974, 0.025968835) * conv2d_1_1_texOff(vec2(-1, -1)); + result += mat4(-0.014504614, -0.13850531, 0.0068394463, -0.05590347, -0.03778167, 0.048496246, 0.14092802, 0.01474621, 0.027917031, -0.1785379, -0.27962312, 0.011066198, -0.07097587, -0.09966025, -0.013836089, -0.07241031) * conv2d_1_1_texOff(vec2(0, -1)); + result += mat4(-0.035284434, -0.08841303, 0.06708375, 0.017741943, 0.051878214, 0.08496953, 0.029842097, 0.10218103, -0.028753716, -0.018283106, -0.05078945, -0.14202194, -0.09313042, -0.024567727, -0.080564946, -0.016078297) * conv2d_1_1_texOff(vec2(1, -1)); + result += mat4(0.043310538, -0.005628924, -0.02308888, 0.015222, -0.0066234106, 0.15714623, -0.20240225, -0.016845098, -0.10588985, -0.05295458, 0.10424738, 0.08383936, 0.0017299048, 0.035341155, -0.08292438, -0.06275) * conv2d_1_1_texOff(vec2(-1, 0)); + result += mat4(0.013611505, -0.08551848, 0.10457699, -0.014633607, 0.027828956, -0.07413837, 0.08218087, 0.06118614, -0.053852443, 0.26649082, 0.22061037, -0.103588976, 0.036559004, 0.04432333, 0.00031273966, 0.010355381) * conv2d_1_1_texOff(vec2(0, 0)); + result += mat4(-0.0055246893, -0.0046726153, 0.1404974, 0.027678516, -0.04535721, -0.0046062237, -0.046658788, -0.1455918, 0.14065377, -0.2160178, 0.061948158, 0.077671476, -0.11155712, -0.015652515, 0.06591247, -0.079606846) * conv2d_1_1_texOff(vec2(1, 0)); + result += mat4(0.04944428, 0.013074611, 0.033495624, -0.006329389, 0.039378893, -0.031233173, -0.09265984, -0.011124271, 0.0009153778, -0.015792089, -0.039203104, -0.08640315, -0.024130197, -0.013269353, 0.047436606, 0.02411756) * conv2d_1_1_texOff(vec2(-1, 1)); + result += mat4(-0.057765394, -0.04890302, -0.11222109, 0.06843934, -0.027632425, -0.0144710895, 0.0053112246, 0.033190195, 0.35012537, -0.06261493, 0.19600707, -0.11582837, 0.054907177, -0.0884194, 0.1513694, -0.013817495) * conv2d_1_1_texOff(vec2(0, 1)); + result += mat4(-0.048453707, 0.06472686, 0.047013845, 0.0641604, -0.015910165, -0.09338272, 0.010620823, 0.012727837, 0.015125792, -0.09040648, -0.029552838, -0.27037737, 0.094282195, 0.030202609, -0.030899743, -0.031859875) * conv2d_1_1_texOff(vec2(1, 1)); + result += mat4(0.034217663, -0.039460376, -0.012393887, -0.100564264, 0.053931348, -0.024658075, -0.109412335, -0.06284644, 0.032397095, 0.12667423, -0.23002815, -0.07342986, 0.046325065, -0.05945156, -0.047825284, -0.06603457) * conv2d_1_2_texOff(vec2(-1, -1)); + result += mat4(-0.06552447, 0.020509327, 0.14533457, -0.13914771, 0.021107439, 0.091681205, 0.082723185, -0.068430625, -0.086770415, -0.053404074, -0.15457001, 0.05430344, 0.011251093, 0.078977354, 0.1211214, -0.014628935) * conv2d_1_2_texOff(vec2(0, -1)); + result += mat4(0.027090933, 0.08689176, -0.05525556, -0.12701924, -0.056948997, 0.026256703, -0.07762119, 0.090049274, -0.026512124, -0.06863006, 0.1627328, -0.037766345, -0.050477374, 0.028594289, -0.012942202, 0.07589747) * conv2d_1_2_texOff(vec2(1, -1)); + result += mat4(-0.12453089, -0.011970907, 0.18871064, 0.0050166366, 0.065247044, 0.016960278, -0.2226072, -0.05260013, 0.009542172, -0.07569817, -0.037951794, 0.052664988, 0.0622325, 0.051272474, -0.109977424, 0.008841432) * conv2d_1_2_texOff(vec2(-1, 0)); + result += mat4(-0.016921584, -0.11089787, 0.05648481, 0.21671112, 0.00015102842, -0.14472821, -0.059798043, -0.0013555695, 0.055424623, 0.028723393, 0.06816924, 0.07606729, -0.04787323, 0.16900629, 0.0890633, -0.033358198) * conv2d_1_2_texOff(vec2(0, 0)); + result += mat4(-0.143459, 0.1351778, -0.016592292, -0.10092211, -0.065327324, 0.029622236, -0.038531173, 0.07134741, -0.023268731, 0.027860677, 0.013389837, -0.05380223, 0.050726175, 0.13962166, 0.045234684, -0.019238325) * conv2d_1_2_texOff(vec2(1, 0)); + result += mat4(-0.14183797, 0.053517964, 0.056303978, -0.01590549, 0.0065734107, -0.049556825, 0.1180889, -0.036936674, 0.05643276, -0.07591604, 0.019332478, -0.021931168, 0.09086701, -0.022386895, -0.081432484, -0.06673876) * conv2d_1_2_texOff(vec2(-1, 1)); + result += mat4(0.008325278, 0.0056238417, 0.09198202, -0.16568907, -0.024698736, -0.09373832, -0.06819886, -0.0826863, 0.010892532, 0.08296999, 0.03641377, -0.044848405, 0.11045312, 0.039825726, 0.051317453, 0.061486423) * conv2d_1_2_texOff(vec2(0, 1)); + result += mat4(-0.030298421, -0.09127495, 0.15234521, -0.12689416, 0.025191136, 0.036626924, -0.11038827, -0.046817113, 0.01413108, -0.016979415, 0.11719717, 0.07779946, -0.04049531, -0.13277234, 0.020007197, 0.017575957) * conv2d_1_2_texOff(vec2(1, 1)); + result += mat4(-0.043925725, -0.12304439, 0.06566889, 0.08772669, 0.04395645, 0.0034048588, -0.112973675, -0.056709565, -0.13671277, -0.036724143, 0.09637912, 0.01027923, 0.07570598, -0.17822143, -0.22025937, -0.11571199) * conv2d_1_3_texOff(vec2(-1, -1)); + result += mat4(-0.055342816, -0.047199737, -0.1006355, -0.15406649, -0.022052363, 0.037657857, -0.15297286, 0.018364694, -0.098418795, -0.12964359, -0.032292146, -0.10484703, -0.035504304, -0.007640491, 0.07595978, -0.09426974) * conv2d_1_3_texOff(vec2(0, -1)); + result += mat4(0.074180245, 0.0022911648, -0.060650155, 0.07706165, 0.042399142, -0.013352806, 0.0052035395, -0.010693409, 0.036603317, -0.034183055, -0.0875537, -0.11926955, 0.111262545, -0.05744457, 0.066937864, 0.0109483255) * conv2d_1_3_texOff(vec2(1, -1)); + result += mat4(-0.07140309, 0.0017592674, -0.28626558, 0.12909453, 0.054427676, -0.028394029, -0.03438435, -0.048481606, -0.026013052, 0.065143645, -0.08558146, -0.031465903, 0.09214186, -0.00043676817, -0.13822325, -0.089033) * conv2d_1_3_texOff(vec2(-1, 0)); + result += mat4(-0.010899252, 0.013444644, -0.21668449, -0.13231798, 0.015040892, -0.045443825, 0.1045085, 0.13347825, 0.024619233, 0.10990166, 0.05795871, -0.10556404, 0.05066911, -0.03065494, -0.0955556, -0.030788325) * conv2d_1_3_texOff(vec2(0, 0)); + result += mat4(-0.019419951, -0.009229003, -0.027585449, 0.050794773, 0.0682526, 0.07931148, -0.029924965, -0.040264193, 0.060295276, 0.053969227, 0.08592586, 0.014475783, -0.0066896016, 0.09464876, -0.023833895, -0.04402733) * conv2d_1_3_texOff(vec2(1, 0)); + result += mat4(0.024010876, 0.05649775, -0.010965242, 0.006494171, -0.08085587, -0.0135588795, 0.07465162, -0.08387553, -0.38230607, -0.024067359, 0.27060926, -0.017428715, 0.1588777, -0.049045783, 0.0030008475, -0.08620333) * conv2d_1_3_texOff(vec2(-1, 1)); + result += mat4(0.07736196, 0.040715955, -0.054656055, -0.09074839, -0.02990215, -0.06171232, 0.0062310323, 0.012574248, -0.07423619, 0.07230856, 0.16769326, -0.09955486, -0.017978592, -0.00376594, -0.01959666, 0.020451088) * conv2d_1_3_texOff(vec2(0, 1)); + result += mat4(-0.0191042, 0.07641419, 0.026766025, 0.0062361713, -0.06794068, -0.03777919, 0.03125627, -0.036392994, 0.010299571, 0.0006321784, 0.02988043, -0.10702073, -0.019692184, -0.05703886, -0.055296697, -0.032164272) * conv2d_1_3_texOff(vec2(1, 1)); + result += mat4(0.08780687, 0.06382538, 0.11040165, -0.01168355, -0.14652027, -0.016029429, 0.01944888, -0.15852267, 0.2733673, 0.033866342, 0.0941384, -0.05627305, -0.04882399, 0.018717794, -0.025001237, 0.016736899) * conv2d_1_4_texOff(vec2(-1, -1)); + result += mat4(-0.011445415, -0.09245938, 0.052272655, 0.049110502, -0.1290952, -0.029079147, -0.00692394, -0.060986716, -0.115850285, 0.09327869, -0.077394985, -0.20036305, -0.0626525, -0.10035395, -0.12814616, 0.087773055) * conv2d_1_4_texOff(vec2(0, -1)); + result += mat4(-0.07005146, 0.068726964, 0.003938913, -0.05965407, -0.037779998, -0.001946895, -0.11166225, -0.18779494, 0.03043351, 0.033680074, -0.058381688, -0.042464454, 0.06597292, 0.04931646, 0.08156206, -0.08376072) * conv2d_1_4_texOff(vec2(1, -1)); + result += mat4(0.0541671, -0.06862131, -0.097136945, 0.031052178, -0.11229367, 0.013700579, -0.087635994, 0.18394086, 0.10322398, 0.11246905, -0.108702645, 0.028444434, 0.043599386, 0.048060656, -0.003975545, -0.058290016) * conv2d_1_4_texOff(vec2(-1, 0)); + result += mat4(0.015076612, -0.03943537, -0.013148105, -0.021479817, -0.10725273, 0.07034479, 0.07028399, -0.12401543, -0.0069128685, 0.15114632, -0.09768571, 0.05561166, -0.14328957, -0.036845163, -0.15945019, -0.054126002) * conv2d_1_4_texOff(vec2(0, 0)); + result += mat4(0.07963718, 0.056610465, -0.027586304, 0.008666854, 0.05608368, 0.0354096, 0.002473013, 0.2802242, 0.2304349, 0.009057034, -0.032056365, -0.03564973, -0.08188656, -0.04717041, -0.00058522704, -0.05542288) * conv2d_1_4_texOff(vec2(1, 0)); + result += mat4(0.021664033, -0.003922389, 0.028557418, 0.05481902, -0.2429336, 0.07134014, 0.03540102, 0.0455878, 0.0423216, 0.07683857, -0.08300639, -0.014615259, 0.12732883, -0.044108443, 0.003722633, 0.039532978) * conv2d_1_4_texOff(vec2(-1, 1)); + result += mat4(-0.119040966, 0.034698237, 0.029780699, -0.09373721, 0.06497289, 0.18443705, 0.123711385, 0.09711522, 0.20454118, -0.035233613, -0.07358363, -0.085236676, 0.06911898, 0.027452765, -0.023302466, 0.058168385) * conv2d_1_4_texOff(vec2(0, 1)); + result += mat4(0.004033362, -0.08089707, -0.08099588, -0.039473455, 0.07402632, 0.014335105, 0.11434177, 0.2636139, 0.15050039, -0.04723303, -0.14428635, -0.07259492, -0.044719897, -0.09078159, 0.082162745, 0.11220154) * conv2d_1_4_texOff(vec2(1, 1)); + result += mat4(0.048008054, -0.4684617, 0.29814914, -0.111897476, -0.17648853, 0.13639835, 0.059435274, 0.052396066, -0.040743425, -0.08543701, -0.11146877, 0.06882664, -0.14967878, -0.5103915, 0.37118155, 0.09353371) * conv2d_1_5_texOff(vec2(-1, -1)); + result += mat4(-0.1700491, 0.00024562504, -0.05831955, 0.20874903, -0.08737317, -0.01699044, -0.01193738, -0.060658704, 0.013190208, 0.05118988, -0.08729937, 0.0057875603, -0.010839486, 0.12817681, 0.36085293, 0.21885367) * conv2d_1_5_texOff(vec2(0, -1)); + result += mat4(-0.053345118, -0.007991629, -0.2295447, -0.106712036, -0.0642862, 0.082693905, 0.08296624, 0.041027255, 0.044807896, -0.030854832, 0.025336493, -0.07641644, 0.2284241, -0.02235579, -0.39754578, -0.18967454) * conv2d_1_5_texOff(vec2(1, -1)); + result += mat4(0.033049133, 0.03970557, -0.11871673, -0.08604657, 6.167124e-05, -0.018901229, 0.03054421, 0.17262478, -0.0029762278, 0.019034421, 0.13058494, -0.056960683, -0.094177425, 0.277204, 0.049699496, 0.4098002) * conv2d_1_5_texOff(vec2(-1, 0)); + result += mat4(0.08345702, 0.15348859, -0.1888255, -0.10058136, 0.08243991, 0.008275174, 0.07337287, -0.12490293, -0.07774213, -0.040393777, -0.07410342, -0.09028767, -0.22894393, 0.55879414, 0.34077474, -0.11093413) * conv2d_1_5_texOff(vec2(0, 0)); + result += mat4(0.039656118, -0.023894448, -0.012575258, -0.027416592, -0.0099816155, 0.097422384, -0.025962252, 0.19579163, -0.033561453, 0.04202789, -0.026714629, -0.005847835, -0.07840013, -0.18340814, -0.14287804, 0.12915361) * conv2d_1_5_texOff(vec2(1, 0)); + result += mat4(0.050350107, 0.008674347, -0.1116445, 0.037850384, -0.08067634, -0.13130316, 0.008206221, 0.07621393, 0.038831506, 0.035003662, 0.0017584978, -0.031755894, -0.5487466, -0.08510481, -0.26247123, -0.007668856) * conv2d_1_5_texOff(vec2(-1, 1)); + result += mat4(-0.0025259892, 0.031122757, 0.09867293, -0.079449035, 0.32029513, 0.023163596, 0.03648681, -0.031461753, 0.08427882, -0.049382403, -0.017344179, 0.051359776, 0.115607925, 0.40584886, -0.019569403, 0.6893792) * conv2d_1_5_texOff(vec2(0, 1)); + result += mat4(-0.0554935, 0.02558419, -0.013385633, -0.021018988, -0.025119472, -0.039431427, 0.021714624, 0.008171393, 0.060130153, 0.047260847, -0.039414685, 0.038478136, 0.014895645, 0.090197705, -0.0076264814, 0.36805063) * conv2d_1_5_texOff(vec2(1, 1)); + result += mat4(0.028656688, 0.023696585, 0.019299261, -0.0131955175, 0.03803729, -0.096731834, -0.18471529, 0.0003827907, 0.040712662, 0.08217805, -0.02724716, -0.046793487, -0.07556268, -0.039582565, 0.04730422, 0.027060753) * conv2d_1_6_texOff(vec2(-1, -1)); + result += mat4(-0.018739216, -0.05732208, -0.14677496, 0.022470666, -0.05294048, -0.114461355, -0.004439937, -0.0016457578, 0.042711783, 0.0191185, 0.03964613, 0.11062689, -0.06912071, -0.059979975, -0.025112407, 0.0023706553) * conv2d_1_6_texOff(vec2(0, -1)); + result += mat4(-0.00058619084, -0.09338333, 0.050038807, 0.022421064, -0.027231814, 0.06430328, -0.16561268, 0.004567822, 0.012917596, -0.003641644, -0.0153982, -0.10206195, 0.11344666, -0.06960186, 0.02171651, 0.06610664) * conv2d_1_6_texOff(vec2(1, -1)); + result += mat4(-0.2452681, -0.04763313, 0.04848218, 0.06307683, -0.040564146, 0.050070893, -0.08049614, 0.08429296, 0.06380898, 0.009793144, -0.05663616, 0.16365905, -0.053461596, 0.030028192, -0.16878459, -0.026341502) * conv2d_1_6_texOff(vec2(-1, 0)); + result += mat4(-0.05487907, 0.028102914, -0.18054219, 0.118018016, 0.03812863, 0.020934626, 0.0424677, 0.05674933, 0.034156475, 0.00322894, 0.07735863, -0.03202418, 0.006530581, 0.078506455, 0.0543521, 0.10048169) * conv2d_1_6_texOff(vec2(0, 0)); + result += mat4(-0.056984287, -0.005904742, -0.059880134, 0.0013915695, -0.06056138, -0.015850691, 0.0033215059, 0.07386708, -0.062183436, -0.032575116, 0.04079583, -0.03962085, 0.099124886, -0.017045949, 0.040351085, 0.070955284) * conv2d_1_6_texOff(vec2(1, 0)); + result += mat4(-0.23928301, -0.045235932, 0.1792885, -3.1293457e-05, 0.082065284, 0.11440652, 0.106156945, -0.0615243, 0.114815645, 0.13704878, -0.041952446, 0.043298386, 0.0908189, 0.04690605, -0.056807585, -0.14534093) * conv2d_1_6_texOff(vec2(-1, 1)); + result += mat4(-0.3006996, -0.0025777186, -0.020018628, 0.16254738, 0.014978664, -0.11584511, -0.052482218, -0.062216055, 0.09777342, -0.014347105, 0.062344667, -0.095268376, -0.04810277, 0.048894394, -0.01396083, 0.0873111) * conv2d_1_6_texOff(vec2(0, 1)); + result += mat4(-0.08905706, -0.052323777, 0.09366339, -0.015430091, 0.025547259, 0.04735252, -0.036291633, -0.06011491, 0.0013053482, 0.10332126, -0.040534172, -0.033286426, -0.0048432224, 0.07413334, -0.04097658, 0.11119359) * conv2d_1_6_texOff(vec2(1, 1)); + result += mat4(0.12875931, 0.06171282, 0.13571867, 0.0065787383, -0.004979468, -0.045374207, 0.029823486, -0.012911564, -0.035592265, 0.056817155, -0.04674272, 0.0029563603, -0.016331282, -0.07914643, -0.26609164, -0.00044424366) * conv2d_1_7_texOff(vec2(-1, -1)); + result += mat4(-0.03545822, 0.12666087, -0.06322034, 0.09302134, -0.04882514, -0.028394952, -0.09171164, 0.065767676, 0.05592496, -0.07356467, -0.10331256, 0.073106304, -0.01125202, 0.027758313, 0.039658755, 0.008349148) * conv2d_1_7_texOff(vec2(0, -1)); + result += mat4(0.11303621, -0.047585323, 0.16087149, -0.035328887, -0.022284022, -0.010228728, 0.017476482, -0.0025067858, 0.03513297, 0.06548489, 0.04282244, 0.06300343, 0.09760368, -0.023188997, -0.20604132, 0.11211723) * conv2d_1_7_texOff(vec2(1, -1)); + result += mat4(-0.10886368, 0.17902881, 0.06024959, -0.05510204, 0.04851614, -0.014515998, -0.08250451, 0.033878278, -0.08667216, 0.017453155, 0.038359188, -0.03776458, -0.11163618, 0.10619242, -0.16477354, -0.07421862) * conv2d_1_7_texOff(vec2(-1, 0)); + result += mat4(-0.041987054, 0.11644637, -0.006158093, 0.028818311, 0.056580674, -0.029866315, -0.11043473, 0.1167713, -0.043802347, 0.10632521, 0.026136281, -0.0004826731, 0.041647535, -0.025852622, 0.029017415, -0.065609515) * conv2d_1_7_texOff(vec2(0, 0)); + result += mat4(-0.03931465, 0.027772535, -0.013415643, -0.0495431, 0.08483547, -0.047082886, 0.0822504, 0.081875585, 0.057233125, 0.098173454, -0.017621156, -0.026879942, 0.008444754, -0.0034473073, 0.076665595, 0.035352718) * conv2d_1_7_texOff(vec2(1, 0)); + result += mat4(-0.029887056, 0.06983454, -0.1497635, 0.15160418, -0.12243339, 0.07390919, 0.015558749, -0.11193292, -0.11566052, 0.0011973128, 0.1294462, 0.038694005, 0.04842549, -0.07361883, -0.087999076, -0.012567805) * conv2d_1_7_texOff(vec2(-1, 1)); + result += mat4(-0.64574295, 0.17106201, -0.19080785, 0.05886845, 0.064426176, 0.06376586, 0.045012735, -0.07099809, -0.052735697, -0.004316832, -0.021189725, 0.012291064, -0.0026250503, 0.07806516, 0.010088264, -0.061621714) * conv2d_1_7_texOff(vec2(0, 1)); + result += mat4(-0.01049018, 0.044615597, 1.5735648e-05, 0.026528304, 0.041527037, 0.1236395, -0.009474413, 0.02995342, 0.15638192, -0.061404996, -0.031147651, 0.10672426, -0.034964863, 0.010004442, -0.06802769, -0.005792207) * conv2d_1_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-3-ReLU) +//!HOOK LUMA +//!BIND conv2d_2_0 +//!BIND conv2d_2_1 +//!BIND conv2d_2_2 +//!BIND conv2d_2_3 +//!BIND conv2d_2_4 +//!BIND conv2d_2_5 +//!BIND conv2d_2_6 +//!BIND conv2d_2_7 +//!SAVE conv2d_3_0 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0041763675, -0.00015561197, 0.00043137456, -0.005530642); + result += mat4(0.09109096, -0.06185723, -0.06877932, -0.021424336, 0.13679335, -0.09147299, 0.05754927, -0.028977683, 0.04701814, 0.013856045, -0.00052681915, 0.059742622, -0.011636531, 0.007831621, 0.09873801, 0.042428706) * conv2d_2_0_texOff(vec2(-1, -1)); + result += mat4(-0.013023498, -0.02423417, -0.021192769, -0.0029050251, 0.04960979, 0.08463689, 0.010403451, 0.071290515, 0.044170592, -0.029673295, 0.044549223, 0.028909495, -0.007524028, -0.019105086, -0.038480397, 0.020389024) * conv2d_2_0_texOff(vec2(0, -1)); + result += mat4(0.01249002, -0.005095979, -0.021253841, -0.028534885, -0.05202186, -0.08575097, 0.061236273, 0.15328415, 0.0015902332, 0.02191497, 0.01828848, 0.0028353522, -0.069555886, -0.0129308505, -0.079767905, 0.06196179) * conv2d_2_0_texOff(vec2(1, -1)); + result += mat4(-0.038188342, 0.11562443, -0.10354651, -0.0033936515, 0.3094532, -0.10322889, 0.16911487, 0.02602767, 0.0830408, -0.060751818, 0.042680934, 0.10321985, -0.07879421, 0.0060526878, -0.019599505, 0.05635195) * conv2d_2_0_texOff(vec2(-1, 0)); + result += mat4(-0.001166806, 0.015558341, -0.06189823, -0.11618233, -0.24148875, -0.00018016309, -0.21207339, -0.04778991, 0.02659277, -0.0042296653, 0.032283247, 0.13142076, 0.0640047, 0.10595964, 0.052426673, 0.010838571) * conv2d_2_0_texOff(vec2(0, 0)); + result += mat4(0.07870593, 0.07172099, -0.09810201, 0.00836024, 0.048926823, -0.09042952, 0.022393446, 0.09029196, 0.0048283404, -0.023672473, 0.040032633, -0.031008942, -0.05409776, -0.09373574, 0.020449419, -0.02502696) * conv2d_2_0_texOff(vec2(1, 0)); + result += mat4(-0.0708253, -0.0022896654, -0.056199774, -0.014342989, 0.11863331, 0.05260165, -0.027277598, 0.043524772, 0.058483288, 0.019180834, 0.05931086, 0.04017826, -0.08757496, 0.015762083, -0.02235846, 0.02158191) * conv2d_2_0_texOff(vec2(-1, 1)); + result += mat4(-0.10172552, 0.04275861, -0.0026946783, 0.039442725, -0.07141638, 0.0938156, 0.12733677, -0.07022865, 0.042079184, 0.060169443, -0.00927315, 0.10522642, -0.030397024, -0.033735488, 0.03424985, 0.028722497) * conv2d_2_0_texOff(vec2(0, 1)); + result += mat4(-0.052126255, -0.018671086, -0.018677743, -0.01486122, 0.07512424, -0.02600645, 0.06376631, 0.048908573, 0.08128219, 0.009870944, 0.035612788, 0.01434291, 0.057785507, -0.007445471, -0.0050640586, -0.08135727) * conv2d_2_0_texOff(vec2(1, 1)); + result += mat4(0.040587783, -0.0046785017, 0.03511542, -0.06748168, -0.10525443, 0.009259858, 0.008561076, 0.033411153, 0.011438507, 0.008868877, -0.016604926, -0.056095313, -0.1167241, -0.0045294166, -0.026720071, -0.09620785) * conv2d_2_1_texOff(vec2(-1, -1)); + result += mat4(-0.03495275, -0.049134657, -0.04651088, -0.013172636, 0.06366684, 0.05554731, -0.04750784, -0.03243142, 0.07711349, 0.01338336, -0.001713371, -0.0034176365, -0.011421256, -0.028545482, 0.07339049, -0.014552849) * conv2d_2_1_texOff(vec2(0, -1)); + result += mat4(0.08656529, 0.020004468, 0.13131823, 0.07824596, 0.051806178, -0.0652573, -0.08077671, 0.04597167, 0.04477222, 0.029432308, 0.0031636637, 0.11540172, -0.015211879, 0.022537231, 0.051984113, -0.019883154) * conv2d_2_1_texOff(vec2(1, -1)); + result += mat4(-0.0046748137, -0.006259269, -0.0056213043, -0.09709571, -0.024479676, 0.015068162, -0.006853446, 0.043740794, -0.024493016, -0.018852964, 0.06426209, -0.10486125, -0.1064356, 0.02938895, 0.050451744, -0.0058905277) * conv2d_2_1_texOff(vec2(-1, 0)); + result += mat4(0.02865254, 0.055924214, -0.06660468, -0.013989141, 0.114928536, -0.033382304, -0.024567036, 0.036259554, 0.097210065, -0.1092158, 0.11839015, -0.046843685, -0.07305035, -0.023987174, -0.09167229, 0.13318402) * conv2d_2_1_texOff(vec2(0, 0)); + result += mat4(0.027520066, 0.05108252, -0.051894978, 0.036802597, -0.08344155, 0.07560126, -0.000118964104, -0.024772577, -0.034960173, 0.043626167, 0.002068566, 0.0901237, 0.018777234, 0.058930125, 0.06904689, -0.015776988) * conv2d_2_1_texOff(vec2(1, 0)); + result += mat4(-0.08217847, 0.009816564, -0.053399637, -0.034870904, 6.63189e-05, -0.069174044, 0.08256971, 0.0312444, -0.021373205, -0.046342913, 0.0074867075, -0.10880407, -0.07670315, -0.015092539, -0.010244525, -0.031691067) * conv2d_2_1_texOff(vec2(-1, 1)); + result += mat4(-0.028407985, 0.017863622, 0.027518991, -0.0951435, -0.05682118, -0.13884291, -0.19842662, -0.13354085, -0.070607096, -0.08158341, 0.022987477, -0.046564396, -0.011791028, -0.034969945, 0.06253055, 0.04563233) * conv2d_2_1_texOff(vec2(0, 1)); + result += mat4(0.0035378064, 0.007863229, 0.012223727, 0.0810219, 0.046096146, -0.05974413, 0.057429437, -0.11694107, -0.10726504, -0.0456898, -0.019971529, 0.047886707, 0.013380604, -0.03204019, 0.030690433, -0.030988295) * conv2d_2_1_texOff(vec2(1, 1)); + result += mat4(0.12603527, -0.027436055, 0.03796484, 0.011414426, -0.1125516, 0.00088821293, -0.12408824, -0.12310542, -0.09274338, -0.12436026, -0.115539655, -0.013749771, 0.06424589, 0.0883727, -0.030456608, 0.11754842) * conv2d_2_2_texOff(vec2(-1, -1)); + result += mat4(-0.09219693, -0.06867746, 0.042474233, -0.0034714162, -0.070511356, 0.071659654, 0.100930326, 0.0002892454, -0.03677257, -0.20039818, -0.15029483, -0.20365614, 0.09272926, 0.024812477, -0.03912339, 0.035159975) * conv2d_2_2_texOff(vec2(0, -1)); + result += mat4(-0.04643662, 0.0007948261, 0.034974378, 0.022535544, -0.035261445, 0.04582424, -0.01373341, -0.037395004, -0.020323051, -0.043710086, 0.11207105, -0.36824712, -0.028825987, 0.039722957, 0.01539624, -0.0014503235) * conv2d_2_2_texOff(vec2(1, -1)); + result += mat4(0.038240034, 0.028692953, -0.06101003, 0.11014191, -0.0817274, 0.039969616, -0.030644773, -0.020454582, -0.012183322, -0.06761811, 0.071939565, 0.124877915, 0.047227748, -0.067076735, -0.0073560816, -0.058362134) * conv2d_2_2_texOff(vec2(-1, 0)); + result += mat4(0.04838307, 0.06431387, 0.065706156, 0.002611797, -0.048204217, -0.12998635, -0.09611708, -0.09234349, 0.10647229, -0.034014795, -0.054942377, 0.18679762, -0.11273208, -0.02249036, -0.030772092, 0.0066053043) * conv2d_2_2_texOff(vec2(0, 0)); + result += mat4(-0.08824016, -0.02026669, 0.027416304, 0.08108321, -0.02831068, 0.053601928, -0.049589653, 0.030155621, 0.08164136, 0.07336984, -0.013902324, 0.15839839, 0.007585001, 0.0120746745, -0.00092273566, -0.14492542) * conv2d_2_2_texOff(vec2(1, 0)); + result += mat4(0.012240494, 0.047363944, -0.15562788, 0.04333409, 0.015506487, -0.046294544, -0.040334288, -0.0378044, -0.08691312, 0.015103868, 0.001985882, -0.0808378, 0.02408316, 0.013329761, 0.10085932, -0.007282879) * conv2d_2_2_texOff(vec2(-1, 1)); + result += mat4(0.13499415, -0.030362675, -0.037270315, 0.08620722, 0.08054962, 0.040360443, 0.0024624777, -0.055999186, -0.031592146, 0.07169038, 0.07866088, -0.11272253, -0.03385377, 0.000935028, -0.0062249857, -0.04557142) * conv2d_2_2_texOff(vec2(0, 1)); + result += mat4(-0.14792214, -0.06932704, -0.050349783, -0.055980608, -0.13538426, 0.11274684, -0.1518314, 0.008134292, 0.01214271, 0.040907685, 0.03715167, 0.19796917, -0.013006023, -0.09116018, -0.063718565, 0.055086385) * conv2d_2_2_texOff(vec2(1, 1)); + result += mat4(0.01819719, -0.02022356, -0.17738704, 0.0014655583, -0.0068674497, -0.050734494, -0.061214004, -0.08729115, 0.17869957, 0.037954, 0.020123564, 0.18673836, -0.03995827, 0.014157153, -0.055163287, 0.024377879) * conv2d_2_3_texOff(vec2(-1, -1)); + result += mat4(0.05382804, 0.0020711976, -0.0793398, -0.015758013, 0.07349594, 0.0014140776, -0.023829048, 0.072867826, 0.1243727, 0.055346683, 0.09414809, 0.059329797, -0.019271912, -0.054485913, 0.11686076, -0.028745748) * conv2d_2_3_texOff(vec2(0, -1)); + result += mat4(-0.025249727, 0.018151114, -0.010578322, 0.054611802, 0.083876364, 0.07017413, 0.049863968, 0.08700835, 0.026560968, 0.021844113, 0.087237366, 0.12952451, -0.22799028, 0.06330762, -0.14015156, -0.110854074) * conv2d_2_3_texOff(vec2(1, -1)); + result += mat4(0.20107105, 0.052422807, 0.09096262, 0.07321379, -0.028227502, -0.03412706, 0.009498838, -0.04389087, 0.074914105, 0.026869817, 0.07713518, 0.123361155, -0.11936596, 0.018390154, 0.017766356, -0.15083162) * conv2d_2_3_texOff(vec2(-1, 0)); + result += mat4(-0.15814051, -0.043697603, 0.01379969, 0.035954338, 0.031770214, 0.03620162, 0.17973149, 0.0045978725, -0.049178306, 0.026244974, -0.06088974, 0.15190303, -0.06045505, 0.05975894, -0.029584263, 0.042438965) * conv2d_2_3_texOff(vec2(0, 0)); + result += mat4(-0.021228747, -0.00853488, 0.032834146, 0.055365425, 0.014042705, 0.015590358, 0.058042366, 0.07874549, -0.011871365, -0.087318026, -0.017388763, 0.06343017, -0.18901287, 0.12065834, 0.009961089, -0.12818676) * conv2d_2_3_texOff(vec2(1, 0)); + result += mat4(0.18813676, 0.6822455, 0.6391616, -0.15212151, 0.05392684, -0.00031880045, -0.24033982, -0.0033354668, -0.020144396, 0.03866757, -0.10475279, 0.081903875, -0.13194363, -0.021671645, 0.05168822, -0.031649426) * conv2d_2_3_texOff(vec2(-1, 1)); + result += mat4(0.3535044, -0.087622836, 0.09726497, 0.5122971, -0.009225645, 0.09826871, -0.02467884, -0.046394262, -0.009935868, -0.017851865, -0.123835266, 0.10672286, -0.09770804, -0.015247506, -0.09598879, -0.08966965) * conv2d_2_3_texOff(vec2(0, 1)); + result += mat4(0.0044493764, 0.2888372, -0.029995203, 0.111622065, 0.07695551, -0.017294675, -0.0639725, -0.052036062, -0.042924922, 0.06996007, -0.0030690494, 0.0146609135, -0.075210676, -0.0056788484, -0.0063045933, -0.015749069) * conv2d_2_3_texOff(vec2(1, 1)); + result += mat4(-0.089909926, -0.11137289, 0.0899113, -0.085118264, 0.033892997, 0.02884245, 0.1126895, 0.012579078, 0.064842306, -0.028779255, 0.028939465, 0.04449653, -0.0759756, -0.023774303, 0.08678125, -0.07514472) * conv2d_2_4_texOff(vec2(-1, -1)); + result += mat4(-0.0061250553, -0.023816254, -0.05522394, 0.010986393, 0.0769645, 0.016106417, -0.0034507494, 0.073808625, 0.041632716, 0.09599839, 0.15408577, 0.035930872, -0.0012858206, -0.01536606, 0.04508762, -0.011481658) * conv2d_2_4_texOff(vec2(0, -1)); + result += mat4(-0.076247096, 0.020954696, -0.04884322, 0.0047451695, -0.05179795, 0.024971588, -0.0016755456, -0.022067595, 0.044266585, 0.05071097, 0.06782933, -0.04224308, -0.045821015, -0.011028278, 0.031341232, -0.119915195) * conv2d_2_4_texOff(vec2(1, -1)); + result += mat4(0.06274977, 0.07152471, 0.058587503, 0.04947509, 0.011874565, -0.073661596, 0.13372722, 0.031425543, 0.019517792, -0.017660597, -0.07801366, 0.08257685, -0.0152752055, 0.051833943, 0.04444307, 0.017267935) * conv2d_2_4_texOff(vec2(-1, 0)); + result += mat4(0.050870918, 0.112134576, -0.0043491297, -0.11007788, -0.025757805, 0.032058995, -0.041592576, -0.069347344, 0.1010248, 0.037021678, 0.060762048, 0.08789535, -0.043587156, 0.032193154, 0.024842924, 0.063237354) * conv2d_2_4_texOff(vec2(0, 0)); + result += mat4(-0.019522848, -0.05530802, 0.03502901, 0.03545693, -0.0819186, 0.05510059, -0.060606923, 0.04781063, -0.0077671097, 0.042378303, -0.02231979, -0.10625905, 0.019380989, 0.023501469, -0.05967367, 0.069153205) * conv2d_2_4_texOff(vec2(1, 0)); + result += mat4(0.056381248, -0.00873931, -0.0066795396, -0.0021557382, 0.028124247, 0.074391626, -0.029136118, -0.018152768, 0.048905917, 0.00868244, 0.005598844, 0.06878635, -0.0030572673, -0.06320811, -0.040207926, -0.10750542) * conv2d_2_4_texOff(vec2(-1, 1)); + result += mat4(0.014446289, -0.064317785, -0.008612635, 0.010680333, -0.07492969, -0.016623009, 0.0738781, 0.08213655, 0.0638948, 0.10263002, 0.024795486, 0.09025263, 0.02693005, -0.00614219, 0.0721093, 0.021186879) * conv2d_2_4_texOff(vec2(0, 1)); + result += mat4(0.020144088, 0.06780066, -0.036743972, 0.08851702, 0.005754635, -0.04735153, 0.044504173, 0.04472034, 0.05125983, 0.111753136, 0.0137629695, 0.02963471, -0.016716482, -0.0339091, 0.093319334, -0.009386969) * conv2d_2_4_texOff(vec2(1, 1)); + result += mat4(-0.11485336, 0.030262409, -0.012468138, -0.12403241, 0.015280468, 0.053778265, 0.033369914, 0.011238094, 0.06572572, -0.05490244, 0.08510248, -0.070507154, 0.058104035, 0.08456986, -0.043425202, 0.033838134) * conv2d_2_5_texOff(vec2(-1, -1)); + result += mat4(-0.0122358, -0.0515461, -0.043307304, 0.04277791, 0.026636532, 0.023602007, -0.029029349, 0.040292226, -0.067805596, 0.071106225, -0.005092644, 0.043389272, 0.018436037, 0.017043654, -0.013611974, -0.12094301) * conv2d_2_5_texOff(vec2(0, -1)); + result += mat4(-0.02177135, -0.0069624623, -0.13503325, -0.0038192144, 0.0011895316, 0.012521961, 0.05178955, -0.07150512, -0.074818574, 0.06557555, -0.12516412, 0.022465529, 0.038763016, 0.007305712, 0.01305057, 0.02347406) * conv2d_2_5_texOff(vec2(1, -1)); + result += mat4(-0.042498395, 0.06301701, -0.12554123, 0.045705087, 0.04338638, -0.0014682045, 0.008243261, 0.09885924, -0.009853623, 0.08857842, -0.06591207, -0.06237435, -0.002959914, 0.07989312, -0.048987124, -0.01172794) * conv2d_2_5_texOff(vec2(-1, 0)); + result += mat4(0.033357777, 0.027390286, 0.057908237, 0.073077425, -0.037573826, 0.03330829, 0.058746934, -0.07233917, -0.013489555, 0.02756826, -0.08307646, -0.048566286, 0.10099485, 0.04190055, -0.09093189, -0.12853788) * conv2d_2_5_texOff(vec2(0, 0)); + result += mat4(-0.18374674, -0.022448728, -0.09004078, -0.12400761, -0.0086569805, 0.0191931, 0.020113608, 0.032969866, 0.02220212, 0.062447272, -0.0372169, -0.10063112, -0.0047156257, -0.046290807, -0.123499535, -0.105957985) * conv2d_2_5_texOff(vec2(1, 0)); + result += mat4(-0.03963375, 0.0083684, -0.065405875, -0.047477864, -0.029260624, 0.075531945, -0.020448161, -0.063663796, -0.053645883, 0.05619168, 0.031642858, -0.086825125, -0.19545855, 0.050727658, 0.12190084, -0.013859189) * conv2d_2_5_texOff(vec2(-1, 1)); + result += mat4(0.039203953, -0.040638413, 0.013504533, 0.085428946, -0.039118536, -0.051279478, 0.077434696, -0.023042008, 0.13396579, -0.008277115, -0.009366487, -0.04710817, -0.19759806, 0.00044209603, -0.07191776, 0.007557136) * conv2d_2_5_texOff(vec2(0, 1)); + result += mat4(-0.1901677, 0.019543996, -0.03418915, -0.053808205, 0.071042635, -0.077372506, 0.04217533, -0.1250138, 0.013910553, 0.016525956, -0.09776278, -0.03575992, -0.06674554, 0.008678073, -0.032910872, 0.08060425) * conv2d_2_5_texOff(vec2(1, 1)); + result += mat4(-0.07825587, 0.020148901, -0.065872565, -0.11958164, -0.03010001, 0.019026687, -0.04438779, -0.12133159, 0.0077309627, 0.006650541, 0.003811155, 0.048030466, -0.011303394, 0.020346541, -0.012581831, 0.015147838) * conv2d_2_6_texOff(vec2(-1, -1)); + result += mat4(-0.0055140723, -0.07471953, 0.051632952, -0.027916014, -0.028248025, -0.023153896, 0.023269018, -0.061012033, -0.03808918, 0.022250304, 0.10639992, 0.14680037, 0.041620404, 0.038445007, -0.015676579, 0.017151127) * conv2d_2_6_texOff(vec2(0, -1)); + result += mat4(0.14597718, 0.030522935, 0.10634136, -0.017035512, -0.08410382, -0.007061276, -0.094022945, -0.09955001, -0.03442219, 0.060061052, 0.053325474, -0.1661115, -0.06708026, -0.025088962, -0.10291502, 0.061344534) * conv2d_2_6_texOff(vec2(1, -1)); + result += mat4(-0.10942561, -0.0012564738, -0.016163008, -0.084714696, -0.06309771, 0.04764716, -0.099502236, -0.0761, -0.028567802, -0.03830971, 0.10546969, 0.07042692, -0.041569177, 0.019884901, 0.05730684, -0.05297699) * conv2d_2_6_texOff(vec2(-1, 0)); + result += mat4(-0.042712834, -0.036417753, -0.002602268, -0.0067977104, -0.11328113, 0.013078841, 0.036829785, -0.080707036, 0.071397915, 0.0040602162, 0.047046546, 0.105054855, 0.056404427, -0.02757987, -0.2532226, 0.100117035) * conv2d_2_6_texOff(vec2(0, 0)); + result += mat4(0.07181533, 0.037270866, 0.06533561, 0.058662865, 0.041214097, 0.0049806745, 0.0833059, -0.023144128, -0.12998308, -0.011185712, 0.071349606, -0.023730969, -0.09784311, -0.12578508, -0.021785459, 0.14702275) * conv2d_2_6_texOff(vec2(1, 0)); + result += mat4(-0.077116184, 0.043942716, -0.058104355, -0.1453441, 0.019583872, 0.032505844, -0.010124359, 0.015846053, -0.014315148, 0.0072051934, 0.010739286, -0.009922742, 0.010441605, -0.039423592, 0.115341954, -0.04064504) * conv2d_2_6_texOff(vec2(-1, 1)); + result += mat4(0.062381286, 0.018782977, -0.10575856, -0.022355104, -0.077479675, 0.07798946, -0.09286455, 0.04743935, 0.09128447, 0.029061032, 0.0808942, -0.023821197, 0.008845712, -0.042580847, -0.034596607, 0.10260751) * conv2d_2_6_texOff(vec2(0, 1)); + result += mat4(0.076039515, 0.023823574, -0.03575594, 0.03133738, 0.057809882, 0.03741761, -0.027584683, 0.07036043, 0.014783812, 0.03277514, 0.002150228, -0.015895305, 0.0900988, -0.11856944, 0.12598258, 0.06335661) * conv2d_2_6_texOff(vec2(1, 1)); + result += mat4(-0.10393949, 0.017905174, -0.08749522, 0.029944483, 0.07527995, 0.03168551, 0.029189972, 0.035079822, 0.0708913, -0.07008, -0.031896662, 0.00861186, 0.05943853, 0.06746308, 0.024461526, 0.044479) * conv2d_2_7_texOff(vec2(-1, -1)); + result += mat4(-0.042053252, 0.05443424, -0.081964195, 0.028100671, 0.020662962, -0.030107992, 0.121280305, -0.009434287, 0.05248376, -0.025832636, -0.006187891, 0.08903902, 0.076210335, 0.012958884, -0.05587589, -0.022360483) * conv2d_2_7_texOff(vec2(0, -1)); + result += mat4(0.017511804, 0.004326304, -0.019913781, -0.0022056706, -0.025522796, 0.06184632, 0.0391333, 0.009833495, -0.109105885, 0.036124915, 0.009227339, -0.19228028, -0.032124102, 0.01963566, -0.06022394, 0.023460716) * conv2d_2_7_texOff(vec2(1, -1)); + result += mat4(-0.044242095, 0.060959473, -0.021715123, -0.034922697, -0.016567899, -0.06368721, -0.055842333, 0.065887116, 0.007342737, -0.047535814, 0.02802253, 0.05121095, 0.09555179, -0.004266918, -0.058399368, 0.01943327) * conv2d_2_7_texOff(vec2(-1, 0)); + result += mat4(0.043373153, -0.025791282, -0.01273769, -0.047513913, 0.045219436, -0.046305116, 0.014359003, 0.13959664, -0.016333926, 0.078411326, 0.07970509, 0.16192868, 0.015694024, -0.031581193, 0.0031667764, -0.07919286) * conv2d_2_7_texOff(vec2(0, 0)); + result += mat4(0.035594463, 9.650971e-05, 0.012744533, -0.03561376, -0.007781158, 0.070922144, 0.107200116, 0.030783992, -0.0812112, 0.066788346, -0.1917975, -0.14986412, 0.006755266, -0.0059948843, 0.04309903, 0.023260389) * conv2d_2_7_texOff(vec2(1, 0)); + result += mat4(-0.021290086, -0.007955193, -0.004327404, -0.016638096, 0.076614514, -0.07827367, -0.0425833, -0.010376575, -0.038699128, 0.04555001, 0.032223694, -0.017238818, 0.05078738, 0.0108291125, 0.06604542, -0.02849594) * conv2d_2_7_texOff(vec2(-1, 1)); + result += mat4(-0.07275331, 0.03742488, -0.053991497, 0.07134036, 0.016605735, -0.10837867, 0.09841648, 0.107206255, 0.064727925, 0.04310941, -0.0041035456, 0.12819009, -0.06502868, 0.05424949, -0.00020071087, -0.039668012) * conv2d_2_7_texOff(vec2(0, 1)); + result += mat4(-0.04357689, -0.05529, 0.02577039, 0.07166711, 0.080779254, -0.044064417, -0.060194682, -0.12890907, -0.07809638, -0.102881074, -0.07711648, -0.18950565, -0.014409476, 0.022002943, -0.0575237, 0.12901509) * conv2d_2_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-3-ReLU) +//!HOOK LUMA +//!BIND conv2d_2_0 +//!BIND conv2d_2_1 +//!BIND conv2d_2_2 +//!BIND conv2d_2_3 +//!BIND conv2d_2_4 +//!BIND conv2d_2_5 +//!BIND conv2d_2_6 +//!BIND conv2d_2_7 +//!SAVE conv2d_3_1 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.001695126, 0.0035469946, -0.0029454967, -0.00041324383); + result += mat4(0.120979354, -0.02878675, -0.0495997, -0.1580815, -0.097700566, 0.14393945, -0.083768174, -0.038431656, 0.06994295, -0.053472165, -0.002781343, -0.031601146, -0.18552853, -0.012774675, 0.025145855, -0.109563455) * conv2d_2_0_texOff(vec2(-1, -1)); + result += mat4(-0.023624105, 0.10340295, -0.039883584, -0.035649963, -0.015365898, 0.044752385, 0.011276085, -0.047258615, -0.07457625, 0.011077787, 0.06507321, -0.008440496, -0.076733805, -0.07757294, -0.081813686, 0.08688327) * conv2d_2_0_texOff(vec2(0, -1)); + result += mat4(-0.024937838, -0.03531588, 0.015341963, -0.05523468, -0.0043307026, -0.20113333, -0.040050667, -0.03714107, -0.005232295, -0.03687982, 0.012842953, 0.058079023, 0.11614248, -0.0060069645, -1.3339843e-05, 0.12167088) * conv2d_2_0_texOff(vec2(1, -1)); + result += mat4(0.0076056537, -0.029742151, 0.0018670256, -0.087247886, -0.18013673, -0.11899622, 0.006558994, -0.04932152, -0.02549274, -0.04985082, 0.02305793, 0.0023423992, -0.05027982, 0.007874547, -0.01679334, -0.03436683) * conv2d_2_0_texOff(vec2(-1, 0)); + result += mat4(0.04999365, -0.018407956, 0.0009944985, 0.04345085, 0.19637534, 0.13149936, 0.02554096, 0.17302908, 0.03441786, -0.02335343, 0.042003118, -0.01024421, -0.04159061, -0.054837275, -0.0038416046, -0.02476297) * conv2d_2_0_texOff(vec2(0, 0)); + result += mat4(0.031101795, 0.14558767, -0.07206877, 0.052708235, 0.08505478, -0.023270348, 0.001553299, -0.04549834, 0.05328786, -0.08920926, 0.019936608, -0.025718318, 0.007268998, 0.11558863, -0.0056009186, -0.020495217) * conv2d_2_0_texOff(vec2(1, 0)); + result += mat4(0.076302186, -0.05664674, 0.005006967, 0.0030133713, 0.23879714, 0.20663442, -0.025949836, -0.14244378, -0.03495674, 0.009446209, 0.038171247, -0.094296895, -0.07021408, 0.034290023, 0.050304703, 0.0073547536) * conv2d_2_0_texOff(vec2(-1, 1)); + result += mat4(0.037316702, 0.0374497, -0.017506687, 0.028516188, 0.15285978, 0.04927979, 0.020178253, -0.035836015, 0.04757408, 0.06106494, 0.03895352, -0.061005022, 0.090642475, -0.031720303, -0.0657355, 0.0036125642) * conv2d_2_0_texOff(vec2(0, 1)); + result += mat4(0.084251754, -0.032407988, 0.08594951, 0.0094843535, 0.096124806, 0.09917944, -0.05300003, -0.03277863, 0.032336593, 0.033859808, -0.04932706, 0.060522802, 0.11293289, 0.045322232, -0.07137389, 0.04431934) * conv2d_2_0_texOff(vec2(1, 1)); + result += mat4(-0.20299543, 0.07374019, 0.062128976, -0.09794446, -0.18816027, 0.09832832, -0.01781829, -0.025102649, -0.08251809, -0.07359961, -0.016819915, 0.09163986, -0.16517146, -0.026389815, 0.018533437, 0.041983113) * conv2d_2_1_texOff(vec2(-1, -1)); + result += mat4(-0.10197416, -0.038901415, -0.03290255, -0.02866043, -0.02106087, -0.024985416, -0.009235168, -0.0084007345, 0.033358987, 0.026020119, -0.055465814, 0.03882352, -0.056451727, -0.032081675, -0.013445896, -0.022249242) * conv2d_2_1_texOff(vec2(0, -1)); + result += mat4(-0.041866995, -0.0018986667, -0.04207936, 0.0476088, 0.0015847433, 0.014748927, 0.061728556, -0.005355436, -0.074536234, -0.09464863, 0.078781456, 0.0629639, -0.09645533, -0.038578674, 0.051876534, 0.021090968) * conv2d_2_1_texOff(vec2(1, -1)); + result += mat4(-0.023294697, -0.07415144, -0.03876262, -0.020699421, -0.0097194435, 0.045351394, -0.13063055, 0.016075116, -0.05201356, -0.029176803, -0.02607847, -0.017430224, -0.04435609, -0.038422227, -0.024159383, 0.0072050504) * conv2d_2_1_texOff(vec2(-1, 0)); + result += mat4(0.09464821, 0.07447065, 0.029499, -0.028388696, -0.15753546, 0.07398198, -0.007743805, -0.008364636, -0.094372734, 0.06745459, 0.012756842, -0.045111407, 0.11997749, 0.0994641, 0.10030438, 0.01799874) * conv2d_2_1_texOff(vec2(0, 0)); + result += mat4(0.02799827, 0.09793178, 0.024977699, 0.023258513, -0.12608148, 0.10916745, -0.14883418, 0.035558652, 0.11771888, 0.0042778403, 0.010383776, 0.019918237, 0.07198248, 0.023574272, -0.031442724, 0.019957317) * conv2d_2_1_texOff(vec2(1, 0)); + result += mat4(0.0043087075, -0.00082002574, 0.058719743, 0.036921773, 0.06913111, 0.09918062, 0.02941314, -0.029773962, -0.034880966, -0.03838896, 0.07653483, 0.038277686, -0.029821768, -0.03414616, 0.03570715, -0.005031276) * conv2d_2_1_texOff(vec2(-1, 1)); + result += mat4(0.08538469, -0.09484191, 0.025680063, 0.07115345, 0.04032414, -0.16641897, 0.050149787, -0.03156375, -0.024096526, 0.007861947, -0.08193744, -0.0042563756, 0.009750892, 0.006175754, 0.033445843, 0.062000804) * conv2d_2_1_texOff(vec2(0, 1)); + result += mat4(0.12031357, -0.030815415, -0.022709282, -0.014617363, 0.02763779, -0.11548848, -0.093102075, -0.049090955, -0.015110666, -0.07122676, -0.06100469, -0.041725263, 0.1508762, -0.0752942, -0.011387075, 0.054927304) * conv2d_2_1_texOff(vec2(1, 1)); + result += mat4(-0.007859664, -0.04475106, -0.027078278, 0.0080731455, 0.11163838, -0.008791884, -0.090811655, -0.11808353, -0.060474988, -0.0029890046, -0.009780171, 0.097226046, -0.15477987, 0.067599885, 0.03767048, 0.023817455) * conv2d_2_2_texOff(vec2(-1, -1)); + result += mat4(-0.17517915, -0.14561799, -0.023605771, 0.007633187, -0.014248703, -0.027388059, 0.01198336, -0.027139584, -0.13348784, -0.14291753, -0.0057209185, -0.019734932, 0.032727998, -0.03789137, 0.08126512, 0.07738896) * conv2d_2_2_texOff(vec2(0, -1)); + result += mat4(-0.045970835, 0.011182986, 0.010202174, 0.014528165, -0.2693465, 0.01358104, -0.054585338, -0.06201296, 0.011126145, 0.056822605, 0.074944824, -0.0023714162, -0.010245429, 0.09187759, -0.017843354, 0.04795185) * conv2d_2_2_texOff(vec2(1, -1)); + result += mat4(0.008522892, 0.102788866, 0.006981109, -0.10024916, 0.28781766, 0.088221125, -0.06545298, -0.008376609, -0.0020934935, 0.011839558, -0.072302304, -0.18292524, -0.11375688, -0.031460643, 0.007883356, 0.06299395) * conv2d_2_2_texOff(vec2(-1, 0)); + result += mat4(0.09471401, 0.034616962, -0.028017316, 0.13753618, -0.18602444, 0.04003355, -0.079305515, 0.12179236, -0.11647172, 0.09087429, 0.04967249, 0.13721493, -0.019839615, 0.0010373363, 0.05881965, -0.10853915) * conv2d_2_2_texOff(vec2(0, 0)); + result += mat4(0.13610534, -0.026888534, -0.008868884, 0.06915366, -0.11881806, 0.020302849, -0.09099203, 0.014362128, -0.13286738, 0.12852296, 0.027463447, -0.14802273, -0.11335478, 0.031861614, -0.010643729, 0.025794521) * conv2d_2_2_texOff(vec2(1, 0)); + result += mat4(0.09765346, 0.096369036, 0.083908774, -0.0071675545, -0.098320484, 0.083397135, -0.04542146, -0.092722826, -0.031113608, -0.06659874, -0.016564088, -0.058676437, -0.0242032, -0.22367243, -0.024527555, -0.04281457) * conv2d_2_2_texOff(vec2(-1, 1)); + result += mat4(-0.023611171, 0.035759673, 0.09438736, 0.021545468, -0.31685704, 0.022719257, 0.065302454, -0.08936363, -0.021261143, 0.0058661257, 0.028611572, 0.0645087, 0.14514728, -0.016857646, -0.0018004656, -0.010506927) * conv2d_2_2_texOff(vec2(0, 1)); + result += mat4(0.09604528, -0.05051102, -0.028486157, -0.077873856, -0.08814019, 0.048149366, -0.044530507, 0.015084428, -0.100324795, 0.0053425287, -0.0094195455, -0.11545506, 0.16364709, 0.06271429, 0.07365711, 0.015183893) * conv2d_2_2_texOff(vec2(1, 1)); + result += mat4(0.37431532, 0.028314484, -0.0036227778, -0.057684645, -0.03631459, 0.016578926, 0.010724293, 0.040908758, -0.057744328, -0.07863153, -0.04608624, 0.059156597, 0.13436551, 0.020720813, -0.00809405, -0.0021686715) * conv2d_2_3_texOff(vec2(-1, -1)); + result += mat4(-0.020523028, 0.10956574, -0.0124110645, 0.12653027, -0.123100415, -0.110394046, -0.015657997, 0.12724194, 0.21756174, -0.060873926, 0.066837646, -0.035253663, -0.17558762, 0.015404649, 0.024176367, 0.11440313) * conv2d_2_3_texOff(vec2(0, -1)); + result += mat4(0.07423888, -0.025016446, 0.022672895, 0.031679463, -0.009638226, -0.08402899, -0.012406549, -0.017912447, 0.13584289, -0.14279296, 0.058486238, -0.0027849053, -0.010427526, 0.08485522, -0.022379724, 0.0013967078) * conv2d_2_3_texOff(vec2(1, -1)); + result += mat4(-0.84317213, -0.023233047, -0.124564834, 0.08486047, 0.0005522705, 0.07572115, -0.010272373, -0.08059017, -0.027873145, 0.014856045, -0.051359583, -0.07709768, 0.10330256, -0.003251504, 0.02128288, 0.011174523) * conv2d_2_3_texOff(vec2(-1, 0)); + result += mat4(-0.5891102, -0.007297348, -0.11212582, 0.102294594, -0.07852611, 0.03672132, 0.036932867, 0.15429047, 0.08610674, 0.070360504, 0.11874341, 0.039527327, -0.010189727, 0.051074, 0.13214155, 0.08871922) * conv2d_2_3_texOff(vec2(0, 0)); + result += mat4(0.08628179, 0.06146346, 0.078478396, 0.08181509, 0.07183571, 0.012027773, -0.07966983, -0.002756555, 0.03057004, -0.009796683, -0.020377913, 0.065331906, -0.04583342, -0.018901838, 0.16379072, 0.067847505) * conv2d_2_3_texOff(vec2(1, 0)); + result += mat4(-0.068376146, -0.18645833, -0.25786176, -0.059603553, -0.020452645, 0.13372366, 0.07543567, -0.1671983, 0.08622481, -0.05590138, -0.15604052, 0.040382497, 0.068502486, -0.21409373, -0.022681214, -0.045538153) * conv2d_2_3_texOff(vec2(-1, 1)); + result += mat4(0.7042945, 0.44532728, -0.06582906, 0.28570914, 0.12053793, 0.025208574, 0.013721537, -0.099207334, 0.017339557, -0.055757828, 0.132603, 0.08377091, -0.053463016, -0.08294009, -0.043390602, -0.11660554) * conv2d_2_3_texOff(vec2(0, 1)); + result += mat4(0.6662031, 0.23442477, -0.12109777, 0.035970718, 0.049074527, -0.045996748, -0.014837732, -0.059394844, 0.055830266, -0.15251276, 0.019136664, 0.007923769, 0.020743597, -0.16777988, 0.0692797, 0.026173597) * conv2d_2_3_texOff(vec2(1, 1)); + result += mat4(0.008735918, -0.016552668, 0.0072966535, -0.08452039, 0.11350085, 0.15975443, -0.08562183, -0.027397105, -0.06870216, -0.019950949, 0.03322857, -0.0030811382, -0.10584985, 0.04335193, -0.028269254, -0.04759222) * conv2d_2_4_texOff(vec2(-1, -1)); + result += mat4(-0.030517701, -0.10153762, -0.08577086, -0.007001882, -0.023796119, 0.1571513, -0.017136801, 0.03362944, -0.065504014, 0.017829467, -0.003152348, -0.025025742, -0.056818895, -0.032732252, 0.040449288, 0.08631016) * conv2d_2_4_texOff(vec2(0, -1)); + result += mat4(0.11427627, -0.020932868, 0.060513884, 0.07634306, 0.06481846, -0.014044473, -0.070285164, 0.0055161533, -0.11969021, -0.028338837, 0.008823704, 0.07754777, -0.19288737, -0.16345, 0.013528805, -0.030611537) * conv2d_2_4_texOff(vec2(1, -1)); + result += mat4(0.08901934, -0.011765763, -0.008514003, -0.0712908, 0.15724601, 0.052006707, 0.044300493, -0.042546265, 0.05298206, 0.10882809, -0.036494803, 0.0069655813, 0.093319476, -0.001671333, -0.027468337, 0.020579278) * conv2d_2_4_texOff(vec2(-1, 0)); + result += mat4(-0.021467047, 0.13117963, -0.06455478, 0.073450066, -0.05164008, -0.09289505, 0.08755929, -0.066193976, 0.10254288, -0.008725138, -0.0874812, 0.03496526, -0.018148798, 0.06375959, -0.023822214, 0.031257454) * conv2d_2_4_texOff(vec2(0, 0)); + result += mat4(-0.011168607, 0.024394572, -0.05712068, -0.09692817, 0.036179967, -0.057953972, 0.02262951, 0.017100668, 0.024150567, 0.03789516, -0.00569539, 0.08658028, -0.012661242, -0.035898816, -0.020251177, -0.06636453) * conv2d_2_4_texOff(vec2(1, 0)); + result += mat4(0.044158597, 0.086875565, -0.04985011, -0.042435437, 0.13373962, -0.10019561, -0.018374123, -0.008592104, 0.101892285, 0.0640393, -0.041101966, -0.07120493, -0.095187105, -0.010280181, -0.031027585, 0.030646706) * conv2d_2_4_texOff(vec2(-1, 1)); + result += mat4(-0.06793054, -0.04408216, -0.017417615, 0.030673001, 0.05375466, -0.14672996, 0.04664092, 0.055592787, -0.072512075, 0.04363514, 0.087875664, -0.042792242, -0.002348041, -0.024498314, 0.042116158, 0.032813452) * conv2d_2_4_texOff(vec2(0, 1)); + result += mat4(0.09474024, 0.014502264, 0.112584546, 0.06388797, 0.04298744, -0.09666449, 0.015310679, 0.062272925, 0.111511536, 0.19657391, 0.113643445, 0.048666622, 0.05289649, -0.03358125, 0.05483144, -0.03797082) * conv2d_2_4_texOff(vec2(1, 1)); + result += mat4(0.016499748, -0.012971018, -0.0077930884, -0.21996155, -0.21164922, -0.011023533, 0.06937302, 0.025870001, -0.052739523, 0.016032279, -0.07337761, 0.06452694, 0.14569001, -0.071689576, 0.014264745, -0.07913473) * conv2d_2_5_texOff(vec2(-1, -1)); + result += mat4(-0.09583265, -0.0067581376, 0.012064369, -0.07697233, 0.0873349, 0.0996607, 0.06872118, 0.022023255, -0.059153408, 0.009720398, -0.03870433, -0.13199489, -0.08083868, 0.09770701, 0.04238034, -0.22503191) * conv2d_2_5_texOff(vec2(0, -1)); + result += mat4(0.05262505, -0.052887067, 0.035186853, -0.045221575, -0.021154094, 0.069459654, 0.03100293, 0.04067052, -0.03540009, 0.06965588, -0.003726936, 0.011248934, 0.010190698, -0.03702116, 0.03671705, 0.015338267) * conv2d_2_5_texOff(vec2(1, -1)); + result += mat4(0.14699228, 0.11470225, 0.020152789, -0.016092429, -0.18850055, -0.14882384, 0.04467915, 0.024607753, 0.036606986, 0.01352187, -0.020275941, 0.0052318247, 0.13341345, 0.07133841, -0.051475536, -0.121376924) * conv2d_2_5_texOff(vec2(-1, 0)); + result += mat4(-0.014287946, 0.012444324, -0.050074074, 0.018906185, -0.18665072, -0.1149708, -0.0079510175, -0.0753276, -0.06797471, 0.14258552, 0.023063447, -0.075076684, -0.06873534, -0.1730034, 0.0012545306, 0.028541984) * conv2d_2_5_texOff(vec2(0, 0)); + result += mat4(0.02846377, 0.12151978, -0.124905735, 0.009687822, -0.027436702, -0.05357431, 0.021610629, -0.061773486, 0.06420684, -0.017097952, 0.0073344596, -0.017715234, 0.1852347, 0.031687498, 0.069712676, 0.0014366441) * conv2d_2_5_texOff(vec2(1, 0)); + result += mat4(-0.07673816, 0.01995788, 0.107359625, -0.090935424, -0.001921281, 0.02656395, 0.048369966, -0.017840147, -0.080636665, -0.08180919, 0.04834899, 0.0015225599, 0.01544942, 0.1193003, 0.015031258, 0.011810025) * conv2d_2_5_texOff(vec2(-1, 1)); + result += mat4(-0.08201891, -0.03147827, -0.048029434, -0.085482724, 0.057044175, 0.03371332, -0.05833178, 0.053381037, -0.1151787, -0.058001664, -0.03661726, -0.037436437, -0.1016984, 0.015646987, 0.0161747, 0.07082504) * conv2d_2_5_texOff(vec2(0, 1)); + result += mat4(-0.07416894, 0.12531255, 0.08773385, 0.026841203, 0.09168545, 0.027556455, -0.17864732, -0.018536225, 0.12551567, -0.11431026, 0.05667067, -0.033355806, -0.05999268, 0.06607051, -0.00012177364, 0.022883916) * conv2d_2_5_texOff(vec2(1, 1)); + result += mat4(-0.062012788, -0.024178715, -0.065193504, 0.01591572, 0.07099499, -0.084374696, 0.018266182, 0.025937214, -0.20242488, -0.024059234, 0.068975255, -0.0065429937, 0.0521716, 0.024820508, -0.0023269926, -0.0014653233) * conv2d_2_6_texOff(vec2(-1, -1)); + result += mat4(0.031414915, -0.0015215, -0.0040303003, -0.007881103, 0.12271322, 0.03977797, 0.086416945, 0.079124816, -0.1138277, -0.06720367, 0.016261024, 0.014597225, -0.005695069, 0.092042536, -0.008482797, -0.047888424) * conv2d_2_6_texOff(vec2(0, -1)); + result += mat4(-0.07262758, -0.07360008, 0.06424976, -0.12958036, 0.08677227, -0.07527582, 0.09411052, 0.038032535, -0.06345592, 0.06803661, 0.013504337, 0.069575995, 0.010823083, 0.14786206, 0.110971734, 0.11126561) * conv2d_2_6_texOff(vec2(1, -1)); + result += mat4(0.05956491, 0.08107864, 0.03449159, 0.010731487, -0.16767843, -0.006065907, -0.042333443, -0.053766403, 0.17455734, 0.017327325, 0.07245705, 0.08644377, 0.01988573, 0.024529967, -0.009406646, -0.020711878) * conv2d_2_6_texOff(vec2(-1, 0)); + result += mat4(-0.115946785, -0.06089743, -0.08074082, 0.032381058, 0.0061543984, -0.028524878, -0.06793479, -0.036878835, 0.13806915, -0.042218886, 0.11678687, -0.00090498244, 0.29348645, -0.014320777, 0.041155282, -0.087611794) * conv2d_2_6_texOff(vec2(0, 0)); + result += mat4(0.026499242, 0.036823895, -0.016874606, 0.054945488, -0.14135462, 0.003119672, -0.06133646, 0.061891586, -0.067013256, 0.05548704, 0.023563322, 0.04675509, 0.06804865, -0.06505125, 0.018271519, -0.0025467891) * conv2d_2_6_texOff(vec2(1, 0)); + result += mat4(-0.054302882, -0.061802804, 0.0019591472, 0.045180585, -0.059537012, 0.1394548, 0.005980327, -0.0058350693, -0.020456858, -0.046402153, -0.010022602, 0.06339777, 0.119047, -0.034138568, -0.019524226, 0.12346388) * conv2d_2_6_texOff(vec2(-1, 1)); + result += mat4(-0.040561948, 0.032790564, -0.019809453, -0.03384967, -0.013670866, 0.027582934, 0.025641128, 0.018177373, 0.13220595, 0.08758595, 0.05625453, -0.012538245, -0.10281388, -0.0015052309, 0.0895955, 0.07420398) * conv2d_2_6_texOff(vec2(0, 1)); + result += mat4(-0.041795217, 0.08574753, 0.07635721, -0.03515584, -0.02420448, 0.023920424, -0.15350334, -0.037810933, -0.03838793, -0.022589438, -0.0064954404, 0.0021103716, -0.014819415, -0.027450534, -0.05934157, -0.008695782) * conv2d_2_6_texOff(vec2(1, 1)); + result += mat4(-0.042205054, 0.018614309, 0.007851295, 0.046297595, -0.24183019, 0.027401775, 0.017248489, -0.012429373, -0.042467855, -0.046359498, -0.022617312, 0.01626133, -0.05492061, -0.028604086, -0.036515485, 0.097537816) * conv2d_2_7_texOff(vec2(-1, -1)); + result += mat4(-0.10396312, 0.017524922, 0.011472904, 0.020845897, -0.26122263, 0.019552572, -0.03172834, -0.033151988, 0.065141775, 0.103926316, 0.06236278, 0.041407954, 0.032645855, 0.035589006, 0.062751755, 0.0035970297) * conv2d_2_7_texOff(vec2(0, -1)); + result += mat4(-0.0576436, -0.072462745, 0.051761076, -0.001047803, -0.039282132, 0.0933381, -0.037674077, 0.032647416, 0.27354053, 0.011865897, -0.011883624, 0.085043676, 0.007905506, -0.0050565456, 0.0032242103, -0.028188813) * conv2d_2_7_texOff(vec2(1, -1)); + result += mat4(-0.02416108, 0.011778806, -0.016185254, -8.691657e-05, -0.17782792, 0.110108, -0.002869375, 0.0332401, 0.13199915, 0.12161593, 0.05139728, 0.020023048, 0.04682392, -0.036384054, 0.010302242, -0.0956114) * conv2d_2_7_texOff(vec2(-1, 0)); + result += mat4(-0.26169407, 0.011459785, 0.07993364, 0.04235536, -0.2098329, 0.0012910515, 0.018362895, 0.17560834, 0.042828817, 0.0001753438, 0.07747225, -0.11136137, -0.06596987, -0.05506108, 0.046621695, -0.07077712) * conv2d_2_7_texOff(vec2(0, 0)); + result += mat4(-0.010268987, 0.004285359, 0.058696207, -0.00053708354, -0.13048704, 0.015147156, -0.08473016, 0.00037517058, 0.1058567, -0.114628516, 0.15576214, 0.028311169, -0.051209185, -0.10203438, 0.043601263, 0.010307722) * conv2d_2_7_texOff(vec2(1, 0)); + result += mat4(0.059871763, 0.028935708, 0.015361416, 0.010930137, -0.04625728, -0.08010309, 0.057188444, 0.03677016, -0.12951392, -0.061616726, -0.078584306, 0.058783665, -0.018577265, 0.04047491, 0.0033863813, -0.042006657) * conv2d_2_7_texOff(vec2(-1, 1)); + result += mat4(-0.088006325, -0.09902004, 0.0271109, -0.020511772, -0.049860243, -0.0761366, 0.06431757, 0.06130018, -0.052722853, 0.093606636, 0.056442033, 0.02692931, -0.03681526, 0.041243743, 0.026631894, 0.08089786) * conv2d_2_7_texOff(vec2(0, 1)); + result += mat4(0.037052188, -0.0073050703, 0.0858246, 0.1512505, 0.109421164, 0.055910077, -0.03479114, 0.088097215, 0.19901906, -0.41625667, 0.075844236, -0.0148873655, -0.057355154, 0.024822118, -0.064146586, -0.070230514) * conv2d_2_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-3-ReLU) +//!HOOK LUMA +//!BIND conv2d_2_0 +//!BIND conv2d_2_1 +//!BIND conv2d_2_2 +//!BIND conv2d_2_3 +//!BIND conv2d_2_4 +//!BIND conv2d_2_5 +//!BIND conv2d_2_6 +//!BIND conv2d_2_7 +//!SAVE conv2d_3_2 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0045238333, -0.004889116, 0.0029066089, 0.0005750118); + result += mat4(0.057112973, 0.020615457, -0.054681756, 0.05756795, -0.015051226, -0.07104642, 0.10279971, -0.02650988, -0.051031593, 0.057722468, -0.0673516, -0.011588926, 0.019416137, -0.05626919, -0.10245886, -0.03639146) * conv2d_2_0_texOff(vec2(-1, -1)); + result += mat4(0.034475967, 0.032363594, -0.074850194, 0.0848269, 0.15761563, -0.0043860595, -0.04992016, 0.01731597, -0.0008322439, -0.09852727, -0.053828027, -0.05874407, -0.031768218, 0.021364903, -0.05454367, 0.072328314) * conv2d_2_0_texOff(vec2(0, -1)); + result += mat4(-0.048537247, -0.15310879, 0.080732755, 0.014770431, 0.07062163, -0.45362732, 0.04278762, -0.05392304, 0.09188754, -0.009436, 0.004541892, 0.04073567, -0.10774513, 0.008065861, -0.02509486, -0.02209455) * conv2d_2_0_texOff(vec2(1, -1)); + result += mat4(0.02104821, -0.049408413, 0.0019412522, -0.037934378, -0.0586729, 0.023500409, 0.10437538, -0.08587762, 0.04227692, 0.090486966, 0.009507788, -0.0041727484, 0.06819398, 0.0007218819, 0.06362771, 0.021373948) * conv2d_2_0_texOff(vec2(-1, 0)); + result += mat4(0.050341576, 0.093609706, 0.060623262, -0.015824903, -0.15225929, 0.2713158, 0.058997266, -0.05853468, 0.07826092, -0.05220583, 0.1214283, -0.13154846, 0.101946115, -0.12898886, -0.01901494, -0.06672838) * conv2d_2_0_texOff(vec2(0, 0)); + result += mat4(-0.07029579, -0.016813723, 0.0019697119, -0.010603869, 0.017798664, -0.069890976, -0.0351873, 0.051242538, -0.016969997, -0.06051271, -0.056313474, -0.06009151, -0.105198875, -0.04119321, 0.014228338, -0.08304415) * conv2d_2_0_texOff(vec2(1, 0)); + result += mat4(-0.13370648, 0.020312278, -0.0152123235, -0.0039538615, 0.040609606, 0.0601383, 0.07345785, 0.016262565, -0.0033321818, -0.010223448, -0.051989112, 0.05562543, -0.037242305, 0.058692228, -0.061698887, -0.12271162) * conv2d_2_0_texOff(vec2(-1, 1)); + result += mat4(0.03929592, 0.058241017, 0.027115105, -0.034646638, 0.12275659, -0.107494555, 0.015138495, -0.019347426, 0.04666663, -0.01581161, -0.06532639, -0.00433238, 0.03323775, 0.022493538, -0.04534503, -0.08731751) * conv2d_2_0_texOff(vec2(0, 1)); + result += mat4(0.0036566644, -0.054339193, 0.06607312, 0.020599766, 0.05370609, -0.0026280577, -0.011630983, 0.0037924724, 0.06989068, -0.00044492655, 0.011197978, 0.03907651, -0.01038709, 0.039848533, 0.0096459165, -0.08384252) * conv2d_2_0_texOff(vec2(1, 1)); + result += mat4(-0.03970532, -0.04153331, -0.029928973, 0.01721566, -0.012722975, 0.030220006, 0.030458577, -0.020237435, -0.06342895, 0.04213135, 0.04031748, -0.0061473227, -0.060565036, 0.0015558003, -0.05818337, 0.074211285) * conv2d_2_1_texOff(vec2(-1, -1)); + result += mat4(0.019665003, -0.03137201, 0.026908224, -0.10974158, -0.031929687, 0.00023439238, -0.034990277, -0.023966204, 0.018995823, 0.11158455, 0.0125510665, -0.012719624, 0.04579868, -0.015458063, -0.023841957, -0.07531246) * conv2d_2_1_texOff(vec2(0, -1)); + result += mat4(0.08863205, -0.16077782, -0.0044700266, -0.022001984, -0.12602115, 0.062610626, -0.004209069, 0.02808837, -0.07128026, -0.0294033, -0.029388294, 0.065665506, -0.054903537, -0.17838635, -0.0582067, -0.029043496) * conv2d_2_1_texOff(vec2(1, -1)); + result += mat4(0.022433206, -0.0044298763, -0.024100868, -0.026675614, 0.049398657, -0.020211574, 0.10133621, -0.08213473, -0.019514892, 0.053941794, -0.12742195, -0.13020335, -0.0008406183, -0.0023985219, -0.057330184, -0.027436597) * conv2d_2_1_texOff(vec2(-1, 0)); + result += mat4(0.034322396, 0.09414814, -0.04784518, 0.08396525, -0.05949029, 0.09414585, -0.042550888, 0.05088709, -0.042961344, -0.0049733827, 0.06140857, 0.10267093, 0.05936708, -0.072791666, -0.07776884, 0.0139899645) * conv2d_2_1_texOff(vec2(0, 0)); + result += mat4(-0.023410194, -0.019197091, 0.050775077, -0.12783492, 0.03403312, -0.05219335, 0.095072195, 0.11040724, 0.02711627, -0.14839306, -0.05096333, -0.1229422, 0.054267116, -0.12515405, 0.022015922, -0.030896317) * conv2d_2_1_texOff(vec2(1, 0)); + result += mat4(-0.07678537, -0.029321462, 0.040538337, -0.08704001, 0.058418706, -0.02031675, 0.075960256, -0.035108536, 0.038809735, -0.04158064, -0.070680894, 0.025477001, 0.02691437, -0.041466806, -0.014115786, 0.029224843) * conv2d_2_1_texOff(vec2(-1, 1)); + result += mat4(0.03854629, -0.0064543476, 0.0038028562, -0.0042408966, -0.06816818, -0.0155378375, 0.0063932105, 0.16797787, -0.07739299, 0.035135906, -0.15395148, -0.03560261, -0.04647594, 0.07256355, -0.0030757869, -0.038843755) * conv2d_2_1_texOff(vec2(0, 1)); + result += mat4(-0.023600327, 0.012961186, -0.04233054, -0.057293095, -0.19364442, 0.027842341, -4.1805048e-05, 0.036959197, 0.010430722, -0.05311237, -0.045471903, 0.0096809175, 0.041927937, 0.071626954, -0.07176687, 0.027246043) * conv2d_2_1_texOff(vec2(1, 1)); + result += mat4(-0.033455458, 0.0236276, -0.060063884, -0.09088969, -0.044566095, -0.0071855304, 0.010860479, -0.12682681, -0.070550025, 0.037334, -0.07041695, -0.018276794, -0.025884992, 0.008646029, -0.008813758, -0.059880894) * conv2d_2_2_texOff(vec2(-1, -1)); + result += mat4(-0.0783965, -0.011895583, 0.09237925, -0.02039847, -0.026247678, 0.11860616, -0.10185494, 0.0018856028, 0.083640665, 0.11768367, -0.19834404, -0.10607815, 0.06377665, 0.060863603, 0.02585951, 0.038025673) * conv2d_2_2_texOff(vec2(0, -1)); + result += mat4(-0.13020016, -0.017078755, 0.023785617, -0.00029791667, 0.047352947, -0.15883642, 0.01634104, -0.03629104, -0.3727143, 0.11152793, 0.1493535, 0.105893604, 0.004237848, 0.10719749, 0.040626638, 0.022336518) * conv2d_2_2_texOff(vec2(1, -1)); + result += mat4(-0.030642195, 0.013595795, 0.062215205, 0.11320438, -0.006064903, -0.13728492, 0.044893917, 0.13752277, 0.009434499, -0.007495976, 0.084924206, 0.15735225, 0.02234228, -0.0013009978, -0.031350773, -0.11057811) * conv2d_2_2_texOff(vec2(-1, 0)); + result += mat4(0.061903547, 0.020146592, -0.07358796, 0.06532858, 0.07970224, 0.014617892, 0.040745698, 0.2767723, 0.048460264, 0.038670067, -0.031101037, 0.15201911, -0.074170075, 0.015510521, 0.11116075, 0.053015884) * conv2d_2_2_texOff(vec2(0, 0)); + result += mat4(0.123164095, -0.01144722, -0.012831693, -0.04996835, 0.017853508, 0.09026736, 0.041288927, -0.0059050783, 0.036964685, 0.06318223, 0.0058551896, 0.10002642, -0.12390993, -0.031425484, 0.07629914, 0.011527903) * conv2d_2_2_texOff(vec2(1, 0)); + result += mat4(-0.02060965, 0.022816347, 0.014545157, -0.027793506, -0.013639175, 0.021466997, 0.12717035, -0.13933228, 0.043242045, -0.07991226, 0.031034239, 0.039460227, -0.014516196, 0.08629286, 0.00058966107, -0.003423727) * conv2d_2_2_texOff(vec2(-1, 1)); + result += mat4(-0.049572606, 0.022309689, 0.048864916, 0.027826576, 0.09841519, -0.015123755, 0.04702031, -0.03188495, 0.028732546, -0.010471701, 0.08195976, 0.05224906, 0.023973817, -0.018393168, 0.029592447, -0.089930706) * conv2d_2_2_texOff(vec2(0, 1)); + result += mat4(-0.048839677, 0.0051257564, -0.1619934, -0.057825483, -0.010477929, 0.054117266, 0.026546009, -0.045363884, 0.03295215, 0.01355769, 0.030235058, -0.021234715, -0.008829137, -0.021678463, -0.0016397121, -0.06107389) * conv2d_2_2_texOff(vec2(1, 1)); + result += mat4(0.017889936, 0.0036068195, -0.02624067, -0.008710677, -0.07222429, 0.035132095, -0.075326286, -0.05363533, -0.06875605, -0.008772321, 0.048298314, -0.3997056, 0.032346644, 0.013516443, -0.086958535, 0.07649838) * conv2d_2_3_texOff(vec2(-1, -1)); + result += mat4(-0.10341964, 0.015006456, 0.072109446, 0.058952525, -0.037182275, 0.007850536, -0.04095496, 0.04381556, 0.07944139, 0.13443325, 0.0834929, 0.018808817, -0.027470076, -0.03474489, 0.0076134023, 0.12761751) * conv2d_2_3_texOff(vec2(0, -1)); + result += mat4(0.022061171, -0.09301396, 0.0062742117, 0.0732272, -0.05748265, -0.0042322893, -0.014390072, 0.02790063, 0.056633975, -0.28840244, -0.030806577, 0.068376794, 0.02603125, 0.05964179, -0.018574681, 0.056771576) * conv2d_2_3_texOff(vec2(1, -1)); + result += mat4(0.07413683, 0.06796027, -0.101980135, -0.2414841, 0.04553166, 0.058279056, 0.019068006, -0.017024286, 0.040094152, -0.06623846, 0.12735389, 0.14263384, -0.08645427, 0.028811937, -0.14518535, 0.0048232507) * conv2d_2_3_texOff(vec2(-1, 0)); + result += mat4(-0.03742574, 0.07355721, -0.13329808, 0.16863911, -0.04613101, -0.045905493, 0.05717078, -0.052840136, 0.0076480913, 0.11087544, -0.047661636, 0.0016101835, -0.035061646, -0.025505243, -0.24829307, 0.14718108) * conv2d_2_3_texOff(vec2(0, 0)); + result += mat4(-0.006169293, 0.01936533, -0.1744423, 0.027688472, 0.07163206, 0.061367672, 0.048209623, -0.059062988, 0.04675678, -0.20318712, -0.09487307, -0.050871447, 0.031034265, -0.16923092, 0.06397902, 0.040220436) * conv2d_2_3_texOff(vec2(1, 0)); + result += mat4(-0.030493544, 0.187692, 0.2632313, -0.5144182, 0.03127812, 0.033324413, -0.003978063, -0.0769634, 0.08161913, 0.0099631725, 0.09321798, 0.038308818, 0.04492955, -0.025759777, -0.07123788, -0.00049171434) * conv2d_2_3_texOff(vec2(-1, 1)); + result += mat4(-0.31228882, -0.51284826, 0.25783163, -0.119994454, 0.011008677, 0.04898014, 0.08119535, -0.020668127, 0.0016715294, 0.062157337, 0.026818551, 0.08006652, -0.14491954, -0.019931886, -0.034102645, -0.07835148) * conv2d_2_3_texOff(vec2(0, 1)); + result += mat4(-0.16203362, 0.18070349, -0.11491744, -0.07658593, -0.14827538, 0.14311372, -0.033469822, -0.01132748, -0.03245205, 0.026666999, 0.017775934, 0.007076036, 0.040689975, -0.041530427, 0.021683898, 0.035605922) * conv2d_2_3_texOff(vec2(1, 1)); + result += mat4(0.05774628, 0.05271088, 0.056800056, -0.06250714, -0.027882816, 0.029719125, 0.014728708, 0.06358577, 0.082836844, -0.025124023, -0.068027005, 0.035861947, -0.01170593, -0.01890234, -0.010421098, 0.027421148) * conv2d_2_4_texOff(vec2(-1, -1)); + result += mat4(-0.06273105, 0.02334724, -0.054436054, 0.007192827, 0.080980875, -0.062426206, -0.053779982, 0.04772975, 0.01109709, -0.23090562, -0.032256503, -0.08553758, 0.052391183, -0.059037056, -0.019739045, -0.013564222) * conv2d_2_4_texOff(vec2(0, -1)); + result += mat4(-0.09985652, -0.12772499, -0.047925048, -0.0062670195, 0.052384492, 0.023804402, -0.00037400454, -0.021179216, 0.098525055, -0.21382087, -0.013812197, -0.022155862, -0.0050777127, -0.061201967, -0.040884238, -0.08725832) * conv2d_2_4_texOff(vec2(1, -1)); + result += mat4(-0.04208864, 0.01171837, 0.10537344, -0.05444715, 0.006769932, 0.055328887, -0.050763216, -0.061033864, 0.062297825, 0.015602279, 0.0106985625, 0.07086065, 0.063426696, -0.05598022, -0.033888068, -0.056114845) * conv2d_2_4_texOff(vec2(-1, 0)); + result += mat4(0.10892593, 0.012951652, -0.040594213, 0.015158121, -0.089593574, 0.044684466, 0.07625076, 0.026229002, 0.1576244, 0.04967836, 0.060355444, -0.013794931, 0.122287564, -0.033520572, -0.09368194, 0.05942188) * conv2d_2_4_texOff(vec2(0, 0)); + result += mat4(0.07427083, -0.115272366, 0.0042357002, -0.008289828, -0.14760576, -0.081632994, 0.0579789, 0.03883641, 0.16409665, 0.09106399, 0.06633137, 0.018769937, 0.041521877, -0.11375989, 0.036064163, -0.038531937) * conv2d_2_4_texOff(vec2(1, 0)); + result += mat4(0.029282685, 0.025163626, 0.03348391, -0.08980383, 0.0074298447, 0.061913, -0.07333008, -0.045827683, 0.13810055, 0.045274287, 0.011767536, -0.09424128, -0.1073153, 0.0009909912, 0.03546797, 0.001548514) * conv2d_2_4_texOff(vec2(-1, 1)); + result += mat4(0.006941977, 0.050698638, 0.04998451, 0.030470999, -0.00845585, 0.015274012, 0.031489324, -0.016497318, -0.011697824, -0.035411086, 0.13420139, -0.005338081, 0.074208, 0.10647866, -0.07199528, 0.024457604) * conv2d_2_4_texOff(vec2(0, 1)); + result += mat4(-0.074917026, -0.018220283, -0.048020735, -0.03878238, 0.1160728, -0.092012726, -0.04547725, 0.029659672, -0.10252465, 0.039461344, -0.03517753, 0.085063286, 0.048155934, 0.028196072, -0.006629241, 0.051794823) * conv2d_2_4_texOff(vec2(1, 1)); + result += mat4(-0.012125754, 0.06992455, 0.0069791377, 0.10374045, -0.05988704, 0.06953253, 0.030367777, 0.0144927185, 0.017448407, 0.073460825, 0.02400938, -0.014097017, 0.020009626, -0.10915348, 0.011181331, -0.124113806) * conv2d_2_5_texOff(vec2(-1, -1)); + result += mat4(-0.05735796, -0.13939999, -0.038724307, 0.046827033, -0.047707617, 0.0006852026, 0.021207642, -0.036681637, -0.025126062, 0.0573397, -0.02508312, 0.08953949, 0.10006642, 0.042674102, -0.003352901, 0.002567033) * conv2d_2_5_texOff(vec2(0, -1)); + result += mat4(-0.10561051, 0.094089136, -0.08282901, -0.017326422, -0.05501863, -0.071879536, 0.013245413, 0.030549379, 0.04744536, -0.07709311, -0.09004062, 0.016758347, 0.12375554, 0.061700646, -0.0035246583, -0.014417808) * conv2d_2_5_texOff(vec2(1, -1)); + result += mat4(0.09177842, -0.026979156, -0.01964189, 0.074467905, 0.019799398, 0.00595041, 0.013407521, -0.12589614, -0.04357464, -0.062080037, 0.010900876, -0.06738028, 0.08362948, -0.027824441, -0.04020585, 0.110121146) * conv2d_2_5_texOff(vec2(-1, 0)); + result += mat4(0.027222503, -0.06081022, 0.0907766, 0.024397124, -0.019050077, -0.037601028, -0.037350558, 0.0070966287, -0.12670204, 0.072305925, 0.030357564, 0.04784212, 0.0051629324, -0.18771732, 0.11758992, -0.048249952) * conv2d_2_5_texOff(vec2(0, 0)); + result += mat4(-0.07363704, 0.061510038, 0.03990216, 0.05302595, -0.08736905, -0.1378227, 0.09554391, 0.026743904, -0.09091676, -0.079776056, -0.037001405, 0.027889833, -0.1864823, 0.0394522, 0.10734787, 0.040813938) * conv2d_2_5_texOff(vec2(1, 0)); + result += mat4(0.12590449, -0.059942707, 0.010620578, -0.048350606, -0.008389569, 0.07271041, 0.017513648, -0.012693886, 0.0488569, -0.029986585, 0.012955492, 0.0494187, -0.080685414, -0.021246193, 0.021999398, -0.015477046) * conv2d_2_5_texOff(vec2(-1, 1)); + result += mat4(0.04321752, 0.10931044, 0.12739629, 0.05817966, -0.0007950662, 0.08736086, -0.023289178, -0.059708416, -0.07539309, 0.032375302, -0.072693266, -0.03647489, 0.0432798, -0.03955473, 0.047986884, 0.046990514) * conv2d_2_5_texOff(vec2(0, 1)); + result += mat4(-0.13045037, 0.044241372, -0.043476015, 0.015106855, 0.0026655789, 0.09329909, -0.030557489, -0.022819085, -0.11475387, -0.22225367, 0.004694687, 0.12069505, -0.019460956, 0.029647307, -0.05232957, -0.038300965) * conv2d_2_5_texOff(vec2(1, 1)); + result += mat4(-0.011083792, 0.011906822, 0.06131071, -0.061755393, -0.03464432, 0.037248913, -0.094054, 0.015580219, 0.06250317, 0.053562373, 0.0038623684, -0.12153313, 0.07715614, -0.025010873, -0.018921386, 0.08081675) * conv2d_2_6_texOff(vec2(-1, -1)); + result += mat4(-0.010685507, 0.096690856, 0.052079573, 0.054694697, -0.04679737, -0.04266614, -0.05665158, -0.08372487, -0.0413917, 0.0107491445, -0.0044120834, -0.11491234, -0.03744978, 0.027928762, -0.0764448, 0.08916992) * conv2d_2_6_texOff(vec2(0, -1)); + result += mat4(0.046550997, -0.05694292, 0.01683723, -0.019565092, 0.009276631, -0.044585343, -0.03922757, -0.006662641, -0.054431107, 0.0714288, -0.00043911522, 0.12709251, 0.2309315, 0.06637541, 0.32377318, -0.048658717) * conv2d_2_6_texOff(vec2(1, -1)); + result += mat4(-0.015694989, -0.08074153, 0.023422841, 0.07791582, -0.13850683, 0.018662246, -0.0131913675, 0.20083748, 0.055071823, 0.03363868, -0.021647897, -0.017154373, -0.03848612, 0.04611543, 0.09376384, 0.035315283) * conv2d_2_6_texOff(vec2(-1, 0)); + result += mat4(0.04088403, -0.06317429, 0.00036597362, -0.057012774, -0.17311996, -0.034414355, -0.014712007, -0.01574705, 0.11734749, 0.03745787, 0.048709825, 0.1401293, -0.06323099, 0.15463519, -0.009127379, 0.033732668) * conv2d_2_6_texOff(vec2(0, 0)); + result += mat4(-0.08792038, 0.04992287, -0.0069386936, -0.07049698, -0.20022504, -0.01766549, -0.041969918, 0.033105973, 0.16563727, -0.046898324, 0.055141084, 0.12197373, 0.082443975, -0.035074774, 0.29912463, -0.24628429) * conv2d_2_6_texOff(vec2(1, 0)); + result += mat4(-0.037869494, -0.007391094, -0.047423113, -0.032440994, -0.027628295, -0.09110074, -0.013159457, -0.09229639, -0.0421862, 0.009971829, 0.050190236, 0.012489949, -0.08345043, -0.023179578, 0.07191096, -0.07826836) * conv2d_2_6_texOff(vec2(-1, 1)); + result += mat4(-0.06450955, -0.06836671, -0.049892895, -0.04776829, 0.13837238, 0.004276222, 0.023228152, -0.039792042, -0.02877745, 0.067194134, 0.06581406, 0.03657637, 0.017167874, -0.108207576, 0.009383951, -0.056869514) * conv2d_2_6_texOff(vec2(0, 1)); + result += mat4(-0.01875787, 0.019006865, 0.07690981, -0.124328494, -0.018296205, 0.119496025, 0.017444875, 0.005949733, -0.023210328, 0.0120402165, 0.0029852986, -0.035352856, -0.18857864, -0.07331129, 0.054283686, 0.10033813) * conv2d_2_6_texOff(vec2(1, 1)); + result += mat4(-0.03784443, 0.102709755, 0.015776029, -0.012393043, 0.07027873, 0.016508704, -0.016507791, 0.04880459, -0.07023973, -0.011340364, 0.08408648, -0.061082564, -0.009146414, 0.030840771, -0.013530239, 0.047764678) * conv2d_2_7_texOff(vec2(-1, -1)); + result += mat4(-0.09412385, 0.15383047, -0.07590022, 0.016950594, 0.0788456, -0.03517872, 0.05198512, 0.046165068, 0.039808575, 0.13391711, -0.0021222876, 0.038152546, -0.06596184, 0.03378402, -0.04363615, -0.005977691) * conv2d_2_7_texOff(vec2(0, -1)); + result += mat4(0.020716801, -0.004289645, -0.029453648, 0.018604485, 0.06942748, 0.0009396874, 0.054602146, 0.031237567, -0.14700803, -0.16743271, -0.01813351, 0.092707865, -0.13627335, 0.041645057, -0.03341382, 0.029021492) * conv2d_2_7_texOff(vec2(1, -1)); + result += mat4(-0.12922868, -0.015842471, 0.033234008, 0.067735545, 0.008958662, 0.03145104, -0.055818953, -0.04251014, -0.03090641, -0.03791946, -0.019501017, 0.11836875, -0.00863929, 0.008293092, -0.084978536, -0.007106947) * conv2d_2_7_texOff(vec2(-1, 0)); + result += mat4(0.018237755, -0.026470622, -0.030130362, 0.00599713, 0.015527883, -0.014050814, 0.032562472, 0.06216569, -0.004739682, -0.012727669, -0.06906886, 0.10433483, -0.06593709, 0.03752947, 0.047484726, -0.09846805) * conv2d_2_7_texOff(vec2(0, 0)); + result += mat4(-0.0055911816, -0.051880967, -0.039031073, 0.026921146, -0.049020827, 0.06715993, 0.04307166, -0.06512721, 0.0074323276, 0.09280825, 0.052341133, -0.47171414, 0.01911847, -0.10592636, -0.029480767, 0.035079807) * conv2d_2_7_texOff(vec2(1, 0)); + result += mat4(-0.012449088, -0.071626976, 0.027012749, -0.073701665, -0.018323744, 0.05952134, -0.007523616, 0.015241156, 0.024253983, -0.017914841, 0.0085639395, 0.06668102, -0.058389865, 0.03105197, 0.007792246, -0.022540433) * conv2d_2_7_texOff(vec2(-1, 1)); + result += mat4(-0.006485997, -0.044825856, 0.028180564, -0.047148596, -0.007400923, 0.10502664, -0.053417698, -0.00022409415, -0.027458351, 0.038403343, 0.015168591, -0.07863637, 0.0015431998, 0.014810005, 0.042180292, -0.06993212) * conv2d_2_7_texOff(vec2(0, 1)); + result += mat4(0.10099195, -0.026201533, 0.052204814, -0.04974532, 0.03748638, 0.08232888, 0.051648986, -0.043288734, -0.1569404, -0.20437518, -0.21923262, 0.085457705, -0.023134448, -0.05953383, -0.10719521, -0.0434241) * conv2d_2_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-3-ReLU) +//!HOOK LUMA +//!BIND conv2d_2_0 +//!BIND conv2d_2_1 +//!BIND conv2d_2_2 +//!BIND conv2d_2_3 +//!BIND conv2d_2_4 +//!BIND conv2d_2_5 +//!BIND conv2d_2_6 +//!BIND conv2d_2_7 +//!SAVE conv2d_3_3 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.003947234, -0.002561167, -0.0011790267, -2.014591e-05); + result += mat4(-0.13106611, 0.053482756, 0.00038589162, -0.0056955316, 0.0017130479, 0.043710273, 0.10119728, 0.08012362, 0.08440158, -0.06469622, -0.10290841, 0.033732757, -0.01880485, 0.023713788, -0.11727955, -0.048860643) * conv2d_2_0_texOff(vec2(-1, -1)); + result += mat4(-0.077521406, 0.10908381, 0.009900734, 0.12274257, -0.018021185, 0.11573925, 0.06465567, 0.025618277, -0.10085711, -0.018748345, 0.124785915, 0.01823724, 0.005189854, -0.08519531, -0.09596304, 0.03327007) * conv2d_2_0_texOff(vec2(0, -1)); + result += mat4(0.0405351, -0.009594394, 0.002297292, 0.009609962, 0.036430076, 0.013814007, -0.0661689, 0.018347384, -0.024033112, -0.06397346, 0.0887398, 0.06404509, 0.095669, 0.04262892, 0.06765661, -0.0107992375) * conv2d_2_0_texOff(vec2(1, -1)); + result += mat4(-0.10597429, 0.0400913, -0.0039242664, 0.0068854406, 0.07862207, -0.13966441, 0.029313672, 0.11450031, -0.026093988, 0.043806706, 0.011304548, 0.00047152012, 0.09192901, 0.06900943, -0.038945146, -0.0009452566) * conv2d_2_0_texOff(vec2(-1, 0)); + result += mat4(-0.016804075, -0.016016476, 0.11771494, 0.0651886, -0.3488553, 0.0052029225, -0.08155847, -0.11439741, -0.0066254344, -0.03803172, 0.111691214, 0.041453324, 0.043726765, -0.095499724, -0.056047928, 0.018493105) * conv2d_2_0_texOff(vec2(0, 0)); + result += mat4(0.03341408, -0.04927723, 0.01268661, -0.0094638085, -0.051619608, 0.14721107, -0.07247511, 0.10753357, -0.04229844, -0.06135253, -0.053557523, 0.0070538586, -0.033918265, -0.06363269, 0.0625936, -0.014426903) * conv2d_2_0_texOff(vec2(1, 0)); + result += mat4(0.0973166, -0.021124555, -0.011923763, -0.04790406, 0.06841653, 0.10846276, -0.025025835, 0.20245613, 0.03401223, -0.022417344, -0.030408049, -0.018727742, -0.00013151116, 0.034166344, 0.018939704, -0.0007299963) * conv2d_2_0_texOff(vec2(-1, 1)); + result += mat4(-0.044867635, -0.012720854, -0.027975008, 0.010878311, 0.0029588132, -0.09681894, -0.001302709, -0.003117125, -0.07775905, 0.063567266, 0.005508133, 0.017214589, 0.00857055, 0.057163917, -0.108253725, -0.01762987) * conv2d_2_0_texOff(vec2(0, 1)); + result += mat4(0.043039415, -0.044822793, 0.079846665, -0.011403051, -0.12088672, 0.060164403, -0.036947962, 0.046837647, -0.06688712, -0.030272763, -0.053044677, 0.008675147, 0.03464524, 0.045566015, -0.00020009157, 0.03152764) * conv2d_2_0_texOff(vec2(1, 1)); + result += mat4(-0.056806117, -0.09392594, 0.018745655, -0.0060674474, -0.016795041, -0.006630969, 0.035110105, 0.10476553, -0.035630435, 0.03115476, -0.0011275664, 0.062414948, 0.021196218, -0.0066934065, -0.14657108, -0.057529073) * conv2d_2_1_texOff(vec2(-1, -1)); + result += mat4(-0.073707, -0.054553144, 0.02703687, 0.0074906927, 0.01366764, 0.0600991, 0.03774718, 0.021183858, 0.0021892579, 0.027107209, -0.073624864, 0.012244268, 0.054407023, -0.040957615, 0.07304932, -0.06256317) * conv2d_2_1_texOff(vec2(0, -1)); + result += mat4(-0.005077499, -0.07869022, -0.02898042, 0.06642155, 0.0034122437, -0.08361216, 0.01621667, 0.064021096, -0.027228676, 0.049969915, -0.035177488, 0.09236643, -0.0009296824, -0.020277781, 0.016672155, -0.010748883) * conv2d_2_1_texOff(vec2(1, -1)); + result += mat4(-0.022905596, 0.05271753, -0.03624749, 0.064148165, -0.013844652, 0.016780086, 0.1306462, 0.08023485, 0.058430977, -0.015224185, -0.04490495, -0.009086646, -0.0112603465, 0.020275563, 0.019791353, -0.026419109) * conv2d_2_1_texOff(vec2(-1, 0)); + result += mat4(-0.029031383, -0.06188445, 0.07467021, -0.032512113, 0.05032727, 0.100311704, 0.067745976, 0.025516083, 0.07392709, -0.036351394, 0.0074708555, 0.06880417, 0.073082976, 0.07068105, 0.06048279, 0.012224975) * conv2d_2_1_texOff(vec2(0, 0)); + result += mat4(-0.071151294, -0.10509056, -0.03968831, 0.03943878, -0.036232978, 0.034877796, 0.074095964, 0.028912492, 0.07844629, -0.09730232, 0.02326167, 0.010067289, 0.032727588, -0.041857492, 0.071605295, 0.0067320056) * conv2d_2_1_texOff(vec2(1, 0)); + result += mat4(0.08421442, 0.050287034, -0.00090260984, 0.035756297, -0.03282382, -0.014390832, -0.017732697, 0.15471338, 0.13243046, 0.039549317, 0.05379426, -0.0009690376, 0.015976798, -0.07573524, 0.086694755, -0.022503855) * conv2d_2_1_texOff(vec2(-1, 1)); + result += mat4(0.07002803, -0.02507491, 0.06857893, 0.0018355033, 0.26760462, -0.0774578, -0.083337225, -0.12062598, -0.00468664, 0.0026712206, -0.017028062, -0.0032469183, -0.0741771, 0.04318376, -0.12569693, -0.022973515) * conv2d_2_1_texOff(vec2(0, 1)); + result += mat4(-0.092742324, 0.018209929, -0.0030990718, -0.046050753, 0.08087843, -0.10788622, -0.24566704, 0.0055533797, 0.038027357, -0.062314566, -0.04392273, 0.0041553625, -0.046313632, 0.018309886, -0.117508754, -0.0018961666) * conv2d_2_1_texOff(vec2(1, 1)); + result += mat4(0.0031033151, 0.05638505, -0.030731495, 0.028887, -0.035689354, -0.0090172775, -0.10817172, -0.06263582, -0.014735905, 0.045259435, 0.06541292, -0.09169659, 0.07046977, -0.002431856, 0.086787865, -0.06809015) * conv2d_2_2_texOff(vec2(-1, -1)); + result += mat4(0.019228593, -0.0011575363, -0.09350881, 0.02127252, 0.076804906, -0.06670651, 0.08091712, 0.010631452, 0.14021614, 0.025683412, 0.003882279, 0.11035381, 0.062103767, 0.03373352, 0.008926329, 0.013641683) * conv2d_2_2_texOff(vec2(0, -1)); + result += mat4(0.024141453, -0.08493972, -0.034432255, -0.05696055, 0.02198018, -0.040096574, -0.0062736995, -0.049074568, 0.014206014, -0.022957146, -0.14755861, -0.091835566, -0.05335449, 0.110102646, -0.020365471, -0.09921349) * conv2d_2_2_texOff(vec2(1, -1)); + result += mat4(0.052066423, 0.008548311, 0.10570044, -0.052307468, -0.031924337, 0.01878719, 0.1852545, -0.055556208, -0.022962263, 0.010515449, -0.19338073, 0.0750018, 0.101861686, -0.016032703, -0.13010505, 0.023463385) * conv2d_2_2_texOff(vec2(-1, 0)); + result += mat4(0.06813781, -0.032418355, 0.14690132, 0.021720681, 0.07143895, 0.01151556, -0.10513933, 0.047681008, 0.029407596, 0.08266641, 0.11951416, -0.050737824, -0.06853423, 0.091066815, -0.12505224, 0.031167531) * conv2d_2_2_texOff(vec2(0, 0)); + result += mat4(0.051362608, 0.038735963, 0.020150485, -0.007736788, -0.0802298, -0.059162676, 0.039519135, -0.11440063, 0.027331727, -0.043158703, -0.029787531, 0.013328911, 0.02004632, 0.15077785, 0.06765808, -0.0026104997) * conv2d_2_2_texOff(vec2(1, 0)); + result += mat4(0.014509543, 0.0062726536, 0.058094427, -0.11789219, -0.08711861, -0.096518755, 0.09626832, -0.019075455, 0.10260254, -0.03382437, 0.0106764585, 0.02128081, 0.009353137, 0.014786505, -0.029290086, 0.06661296) * conv2d_2_2_texOff(vec2(-1, 1)); + result += mat4(0.03914799, 0.08926026, -0.03778493, 0.045095254, 0.031829815, -0.14418186, 0.2167455, 0.02971823, -0.03032171, 0.040985197, 0.047683224, 0.12765022, 0.072002694, 0.05342847, 0.022983538, -0.0031157818) * conv2d_2_2_texOff(vec2(0, 1)); + result += mat4(0.07042976, -0.01969585, -0.105758145, -0.051294226, -0.027758399, -0.116282895, 0.056959007, -0.040111057, 0.03895334, -0.054274186, 0.010240326, 0.023332503, -0.08176787, 0.07627176, -0.012014754, -0.017017705) * conv2d_2_2_texOff(vec2(1, 1)); + result += mat4(0.06775771, 0.084996305, 0.0316373, -0.11910989, 0.1062973, 0.062452916, -0.0006637541, 0.034576777, -0.07379058, 0.026570113, 0.12622832, 0.030744242, 0.012874931, -0.008489812, -0.04346528, -0.0086001875) * conv2d_2_3_texOff(vec2(-1, -1)); + result += mat4(0.045309763, 0.003914786, -0.0020195616, 0.04640575, -0.029938415, -0.046591964, 0.007606457, 0.040533632, -0.28794092, 0.09092936, -0.023851698, 0.04727258, -0.002946619, 0.013844392, -0.09977278, -0.18015823) * conv2d_2_3_texOff(vec2(0, -1)); + result += mat4(-0.01935369, 0.08767728, 0.045565024, -0.0084868455, -0.05283324, 0.06225443, 0.041997958, 0.07430694, -0.1451413, 0.04983295, -0.027488403, 0.093481384, -0.15980883, -0.05857321, -0.019112483, -0.14369729) * conv2d_2_3_texOff(vec2(1, -1)); + result += mat4(0.06551293, 0.012207022, 0.017063223, 0.109443106, 0.043179654, -0.05511042, 0.05619718, -0.095386215, -0.103619635, -0.059088413, 0.13935027, -0.05123851, -0.036746513, -0.07035158, -0.17360677, 0.0120604625) * conv2d_2_3_texOff(vec2(-1, 0)); + result += mat4(0.023434186, -0.047025304, 0.01135503, 0.045462735, -0.016185751, -0.115353085, -0.005402078, 0.019039778, -0.054260217, 0.06306372, 0.10997606, 0.033989675, 0.17548619, 0.0782654, 0.005733476, 0.044994157) * conv2d_2_3_texOff(vec2(0, 0)); + result += mat4(0.0011300157, 0.055080865, 0.04953103, 0.06707611, -0.08029597, -0.11683917, -0.023796402, 0.07677737, -0.010477361, -0.060381208, -0.0064963964, -0.016461212, 0.11110492, -0.13389085, 0.019209458, -0.072022244) * conv2d_2_3_texOff(vec2(1, 0)); + result += mat4(-0.0566542, -0.17345345, -0.097446136, -0.17761977, -0.02986992, 0.13805677, -0.011270616, -0.05363816, -0.013566724, -0.04771264, 0.062317144, 0.050632115, 0.1614999, -0.022110183, -0.10480495, -0.018625202) * conv2d_2_3_texOff(vec2(-1, 1)); + result += mat4(-0.3988127, 0.2799186, 0.28711024, 0.5848413, 0.06668219, -0.022286313, -0.022487743, 0.014743339, -0.027783874, 0.06601231, -0.012985759, 0.08600638, 0.15854982, -0.0072928974, 0.05298163, -0.023803763) * conv2d_2_3_texOff(vec2(0, 1)); + result += mat4(-0.031135015, 0.07127344, 0.085562915, -0.029313622, 0.034387022, -0.03215672, -0.02575078, 0.023147142, -0.018466987, -0.05922657, -0.023855092, 0.00087573257, 0.080073975, -0.0891467, 0.060559, -0.0378914) * conv2d_2_3_texOff(vec2(1, 1)); + result += mat4(-0.008305939, -0.03935197, 0.014076207, 0.048754226, 0.12744287, -0.023560295, 0.049354892, -0.091380276, -0.0072127804, -0.021402061, 0.072196476, 0.08129819, 0.039304208, -0.00017727232, -0.005157902, 0.051015943) * conv2d_2_4_texOff(vec2(-1, -1)); + result += mat4(-0.03901238, 0.010981253, 0.08542476, -0.025507635, 0.01557143, 0.09285739, 0.03197869, -0.008607433, -0.05412187, 0.011138082, 0.007338076, 0.013996394, 0.051424723, -0.053832717, -0.089758925, 0.0702205) * conv2d_2_4_texOff(vec2(0, -1)); + result += mat4(-0.005001848, 0.120174214, 0.013003728, -0.023751799, -0.009350285, -0.06778702, 0.014313629, -0.08877817, -0.08286723, -0.029872622, -0.0129371295, 0.006208883, 0.03801006, 0.009457537, -0.1237054, -0.028944721) * conv2d_2_4_texOff(vec2(1, -1)); + result += mat4(-0.046870735, 0.006134307, -0.033162206, -0.009083675, -0.029951027, -0.09543162, -0.0056222747, -0.04817941, -0.12254351, 0.001592851, 0.17062001, 0.03886488, -0.005196077, 0.05524676, -0.023765456, 0.027510244) * conv2d_2_4_texOff(vec2(-1, 0)); + result += mat4(0.08138665, -0.03124851, 0.034584466, 0.10349432, 0.042377982, -0.043028906, -0.0044965832, -0.023497924, -0.110080786, 0.05715437, -0.029475866, -0.021886922, -0.09908303, -0.105444156, 0.05068266, 0.0020086723) * conv2d_2_4_texOff(vec2(0, 0)); + result += mat4(0.014494096, -0.0264399, -0.0015814545, 0.04163051, -0.058175582, -0.025189068, -0.013683961, -0.02578075, -0.12771422, 0.08619533, -0.118388385, 0.037479658, 0.03411467, 0.05193975, 0.14035666, 0.063202955) * conv2d_2_4_texOff(vec2(1, 0)); + result += mat4(-0.012907833, 0.07740956, -0.0062752664, -0.061600156, 0.00844522, -0.02264665, 0.028588489, 0.07499283, -0.10471193, -0.009458364, 0.027879866, -0.0073922845, 0.06177054, -0.026231067, -0.083237015, 0.0011199771) * conv2d_2_4_texOff(vec2(-1, 1)); + result += mat4(-0.11257355, -0.00032959113, -0.0010302928, -0.07530039, -0.022379808, -0.012842301, 0.10519265, 0.045822263, -0.12053083, -0.06458512, 0.022318024, -0.03841336, -0.04254277, 0.012498128, 0.07565063, 0.04372107) * conv2d_2_4_texOff(vec2(0, 1)); + result += mat4(0.0696123, -0.029510103, -0.079395324, 0.002547502, 0.09472379, -0.06570446, -0.08970974, 0.04046583, -0.22842747, 0.03587011, 0.05653007, 0.034472898, 0.04754688, 0.041046478, 0.0081889145, 0.032138165) * conv2d_2_4_texOff(vec2(1, 1)); + result += mat4(-0.0011428555, -0.03711782, -0.054510962, -0.08281694, 0.044056773, -0.015589076, 0.11744309, 0.062567495, -0.07484867, -0.04558456, -0.13870732, -0.013763469, -0.04631679, -0.005603011, -0.025965802, -0.064021416) * conv2d_2_5_texOff(vec2(-1, -1)); + result += mat4(0.08787203, -0.14663644, 0.0357676, 0.043094277, 0.076346315, -0.032800272, -0.15120023, 0.043054022, 0.09422386, -0.014872851, -0.0013562866, -0.05159628, 0.09247207, 0.08456378, -0.07744124, 0.058318164) * conv2d_2_5_texOff(vec2(0, -1)); + result += mat4(-0.076427706, 0.04086183, 0.12542936, 0.0050333273, -0.043211836, 0.10596035, -0.036179587, 0.05653404, 0.07113442, -0.041395254, -0.0022703875, -0.025051136, 0.01182796, 0.030837664, 0.011994567, -0.031871587) * conv2d_2_5_texOff(vec2(1, -1)); + result += mat4(-0.0020692123, 0.12251849, 0.044539824, 0.0685957, 0.012242417, -0.06868688, -0.0047817095, 0.03509918, 0.023758063, -0.00955882, 0.006720751, 0.003392985, -0.015473358, -0.02031442, 0.048156753, -0.047624875) * conv2d_2_5_texOff(vec2(-1, 0)); + result += mat4(0.09802928, 0.06891061, 0.08355116, -0.039646693, -0.049098182, -0.032023475, -0.23588915, 0.018031146, 0.023582814, 0.099632874, -0.0063022836, 0.0519775, -0.1009443, 0.04447339, -0.06303085, 0.026785677) * conv2d_2_5_texOff(vec2(0, 0)); + result += mat4(-0.05873264, -0.0370775, 0.058506418, -0.018503157, 0.07673255, -0.11965757, 0.012242991, -0.043719485, -0.060287025, -0.057388265, 0.058935344, -0.037189577, 0.017963113, -0.024959367, 0.0180685, 0.011807819) * conv2d_2_5_texOff(vec2(1, 0)); + result += mat4(-0.077788, 0.017432999, -0.014145594, -0.056849148, -0.09038051, -0.053442586, -0.061786406, -0.022588095, -0.048477698, 0.002911615, -0.08753577, -0.0052446327, -0.016760176, 0.044750348, 0.11680954, 0.055212464) * conv2d_2_5_texOff(vec2(-1, 1)); + result += mat4(0.013719127, -0.08011523, 0.02227636, -0.03080708, -0.06862203, -0.076471224, -0.04357039, 0.02445583, 0.018506419, 0.011701193, 0.025978748, -0.036122005, 0.009732635, 0.00928053, 0.076173805, -0.023010693) * conv2d_2_5_texOff(vec2(0, 1)); + result += mat4(-0.07374507, -0.10437711, 0.13427009, -0.0622699, 0.10286162, -0.036447093, 0.006792374, -0.008984036, 0.08024131, -0.014128671, -0.047297306, 0.00051484443, 0.03213927, -0.0371504, 0.08134625, -0.035742443) * conv2d_2_5_texOff(vec2(1, 1)); + result += mat4(-0.036414318, -0.02980559, -0.13651401, -0.06857305, 0.018918484, 0.052350145, -0.18025768, -0.022325981, -0.04271374, -0.027067622, 0.006968805, -0.09671996, -0.06685992, -0.023930028, -0.06382305, -0.056033537) * conv2d_2_6_texOff(vec2(-1, -1)); + result += mat4(0.06343058, -0.009940362, -0.07846237, 0.0062298505, 0.010748569, -0.052433293, -0.08499977, -0.0038331316, -0.083798125, 0.10671074, -0.038811944, -0.05614712, -0.032433175, -0.02725598, 0.10134623, 0.036177363) * conv2d_2_6_texOff(vec2(0, -1)); + result += mat4(-0.08238537, -0.101118654, -0.0956944, -0.022187788, -0.112807, 0.049552683, 0.020023301, 0.014306471, -0.05975507, 0.18305519, -0.00022794373, -0.029654803, 0.013794755, 0.08026167, 0.12948288, 0.05566131) * conv2d_2_6_texOff(vec2(1, -1)); + result += mat4(0.053705815, -0.018845921, -0.11592799, 0.009263663, -0.038707886, 0.033411745, -0.007699467, -0.029356126, 0.01898182, 0.050436858, -0.006743763, -0.08308025, -0.009096702, 0.08624577, 0.05013051, 0.0072236424) * conv2d_2_6_texOff(vec2(-1, 0)); + result += mat4(0.08754469, -0.009000641, 0.011506083, -0.010462639, 0.023173273, -0.14340998, 0.07175748, -0.14914648, 0.0015114633, 0.09007834, 0.049626812, 0.048082683, 0.023228288, 0.05250914, 0.056539048, -0.060020912) * conv2d_2_6_texOff(vec2(0, 0)); + result += mat4(0.040813245, 0.038283546, 0.019381434, 0.060641263, -0.04750148, -0.013213389, 0.05517871, -0.04686974, 0.048340514, 0.053758625, 0.0060228067, -0.0016701806, -0.17216744, 0.10935377, 0.047607213, -0.05646159) * conv2d_2_6_texOff(vec2(1, 0)); + result += mat4(-0.08769185, 0.0970494, 0.026946494, 0.07289917, -0.046650678, 0.0024461304, 0.067568794, 0.01711998, 0.016500885, 0.013020562, -0.047713805, 0.00844297, -0.0066685695, -0.029065894, 0.056959774, -0.028405251) * conv2d_2_6_texOff(vec2(-1, 1)); + result += mat4(0.061827354, -0.0697762, 0.043939315, 0.07014996, -0.0962653, -0.019131057, -0.056386754, -0.06828851, -0.019127669, 0.062186718, -0.038369447, -0.0014330264, 0.0069821803, -0.025331778, -0.0002037322, 0.0152053945) * conv2d_2_6_texOff(vec2(0, 1)); + result += mat4(-0.049060732, -0.041804958, 0.11041892, 0.009422316, 0.0021639173, 0.0028688202, -0.014186335, 0.0117062805, 0.009630231, 0.0129206795, 0.0058852932, 0.026569348, -0.1883555, -0.100010365, -0.06425587, -0.009337554) * conv2d_2_6_texOff(vec2(1, 1)); + result += mat4(0.15233806, -0.040747676, -0.050933797, -0.036801893, 0.0034332923, -0.0037240009, -0.000790056, -0.0037876742, 0.019700905, -0.049745165, -0.07830757, -0.00737646, 0.070502795, 0.0025455502, 0.010114206, 0.13142519) * conv2d_2_7_texOff(vec2(-1, -1)); + result += mat4(0.05284936, -0.013533391, -0.17096125, -0.037570912, -0.07328346, 0.025406556, 0.10085429, 0.015645698, 0.095468745, -0.068924524, 0.09579058, 0.009056416, 0.10629017, 0.040287692, -0.101047955, -0.022959424) * conv2d_2_7_texOff(vec2(0, -1)); + result += mat4(-0.034791514, -0.050179493, -0.06413149, 0.0255959, -0.06871181, -0.045244325, -0.02095138, -0.026331434, -0.026089394, -0.019754613, -0.11684487, -0.01730163, -0.011072255, -0.009380736, -0.025180336, -0.010558172) * conv2d_2_7_texOff(vec2(1, -1)); + result += mat4(0.0008639364, -0.030773692, -0.06855936, -0.055832084, -0.0369103, 0.09022024, 0.07740064, -0.0011987004, -0.005642687, -0.0036717872, 0.0036984, 0.023910075, 0.08974062, 0.081534915, -0.05875803, 0.037848134) * conv2d_2_7_texOff(vec2(-1, 0)); + result += mat4(0.09565626, 0.037096918, -0.03869736, 0.0019068436, 0.003427942, 0.04745199, 0.10923475, 0.09540731, -0.021927774, -0.022261303, 0.13665186, 0.028576864, 0.10074329, 0.010374096, -0.17337345, -0.019470748) * conv2d_2_7_texOff(vec2(0, 0)); + result += mat4(-0.106179796, -0.07101481, 0.032995958, 0.017271189, -0.017393261, 0.13569428, -0.055394787, -0.0070715053, -0.16002037, -0.08838119, 0.0034275723, -0.052111916, -0.012589813, 0.04220015, -0.0063393833, -0.0054342435) * conv2d_2_7_texOff(vec2(1, 0)); + result += mat4(-0.0066924156, 0.0045321602, 0.081136316, -0.031769846, -0.088399455, -0.028128792, 0.08660379, -0.0407639, 0.025755525, -0.075595185, 0.044359, -0.037731793, 0.022676341, 0.02371813, -0.039134458, 0.09001337) * conv2d_2_7_texOff(vec2(-1, 1)); + result += mat4(-0.078424156, 0.058261845, 0.06523311, 0.049465872, 0.0055583837, -0.010385999, -0.07324968, 0.012865225, 0.034673695, 0.122251935, 0.058771305, -0.2143419, -0.047445673, -0.03428598, 0.15646714, -0.037584797) * conv2d_2_7_texOff(vec2(0, 1)); + result += mat4(-0.013225298, 0.12899806, 0.056419276, -0.07075129, -0.049062856, -0.04924634, -0.041237056, 0.0701573, -0.2220656, -0.05615824, -0.2700362, 0.04346204, 0.028624753, -0.013457809, 0.05958438, 0.008763065) * conv2d_2_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-3-ReLU) +//!HOOK LUMA +//!BIND conv2d_2_0 +//!BIND conv2d_2_1 +//!BIND conv2d_2_2 +//!BIND conv2d_2_3 +//!BIND conv2d_2_4 +//!BIND conv2d_2_5 +//!BIND conv2d_2_6 +//!BIND conv2d_2_7 +//!SAVE conv2d_3_4 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.002063369, 0.0013652911, -0.0058718277, -0.004708916); + result += mat4(-0.00082150043, 0.0035749278, -0.06620391, 0.015952481, -0.06066882, 0.11966424, 0.020625908, 0.14022347, 0.03453027, 0.09951686, 0.030452102, 0.09785175, 0.017366413, 0.021417418, 0.0854475, -0.028064398) * conv2d_2_0_texOff(vec2(-1, -1)); + result += mat4(0.025837269, -0.00859641, -0.024063835, -0.09492943, 0.04334022, 0.062923044, -0.05198598, 0.13739535, -0.0012544091, -0.041129928, -0.048442326, 0.0045883493, -0.056084245, -0.05464814, 0.11608336, 0.07752806) * conv2d_2_0_texOff(vec2(0, -1)); + result += mat4(0.025297863, 0.022830343, -0.07327247, 0.01121118, 0.03380974, -0.19225067, -0.073077306, 0.07556116, -0.09177012, -0.111199096, -0.021232245, -0.019701473, 0.07070674, -0.06856982, -0.05295248, -0.11421962) * conv2d_2_0_texOff(vec2(1, -1)); + result += mat4(-0.07735331, -0.018009976, -0.0075341486, -0.0012720634, -0.011056032, 0.16033258, 0.0667747, 0.06981774, 0.010906969, 0.14408739, 0.014330172, 0.036531374, -0.023353843, 0.06018063, -0.03483861, -0.080878764) * conv2d_2_0_texOff(vec2(-1, 0)); + result += mat4(0.073614664, -0.10017217, 0.08000374, -0.042103946, 0.006346365, -0.45544505, -0.024923574, -0.19155972, 0.06519284, -0.00072215166, -0.11229065, 0.060366947, 0.066153385, -0.10267078, 0.0028149183, 0.03730766) * conv2d_2_0_texOff(vec2(0, 0)); + result += mat4(-0.008723056, -0.024858225, 0.10066162, 0.02372652, -0.08866089, -0.31624717, 0.13398072, 0.14831802, -0.017838968, -0.038123928, 0.00032908857, -0.03882798, -0.034221943, -0.0899852, -0.068446405, 0.050456006) * conv2d_2_0_texOff(vec2(1, 0)); + result += mat4(0.023857558, 0.03242931, -0.05590451, -0.042968877, 0.02135128, 0.200712, -0.041062947, -0.061071947, 0.1054583, 0.07357374, -0.012569769, -0.043516964, -0.033741653, -0.014247395, -0.012548519, -0.009561672) * conv2d_2_0_texOff(vec2(-1, 1)); + result += mat4(-0.08726369, -0.060914654, -0.031773113, -0.030238662, -0.051007222, 0.14936559, -0.11216821, 0.11134024, -0.058264796, -0.019343631, 0.009661967, 0.039841365, -0.059944253, -0.029421512, 0.039503593, -0.044727575) * conv2d_2_0_texOff(vec2(0, 1)); + result += mat4(0.007805335, -0.012389752, 0.020664584, -0.009623104, -0.009971435, 0.009738455, 0.09384818, 0.10673573, -0.0740482, -0.030384272, 0.034586944, 0.03367864, 0.06858058, 0.08445905, 0.032800365, 0.042304423) * conv2d_2_0_texOff(vec2(1, 1)); + result += mat4(0.014035343, 0.081812665, -0.06422505, -0.076681525, 0.06341031, -0.03700187, 0.0006734252, 0.029236669, 0.013358772, -0.0047658165, 0.018954577, -0.113744274, 0.035476528, 0.029532865, 0.047196362, -0.051773593) * conv2d_2_1_texOff(vec2(-1, -1)); + result += mat4(0.076276265, -0.04768669, 0.038157634, 0.00042377834, -0.0039818385, 0.0076991688, -0.08821033, 0.12856951, 0.053439494, -0.080139205, -0.045325883, -0.07181683, 0.10289659, 0.09581256, 0.10965571, 0.014237591) * conv2d_2_1_texOff(vec2(0, -1)); + result += mat4(0.017790215, 0.028578533, 0.010011636, 0.01868254, 0.0055043725, -0.048826467, -0.10326938, 0.036806762, 0.090546936, -0.06676981, 0.085744105, 0.098126404, 0.06311324, 0.035443004, -0.093599424, 0.032334074) * conv2d_2_1_texOff(vec2(1, -1)); + result += mat4(0.03420814, 0.14034154, 0.027152801, -0.12475677, -0.04369547, -0.030006515, 0.0028874227, 0.0653085, 0.0849355, -0.12570313, -0.008965667, -0.07424618, 0.022176366, -0.030742386, -0.012800186, -0.044536352) * conv2d_2_1_texOff(vec2(-1, 0)); + result += mat4(-0.04822499, 8.286155e-05, 0.04892865, 0.028617466, -0.017581029, -0.18075672, -0.08807248, -0.06286527, -0.07095109, -0.04393712, -0.15858203, -0.14273772, 0.09063627, 0.18849294, 0.014447544, -0.016789451) * conv2d_2_1_texOff(vec2(0, 0)); + result += mat4(-0.010466232, -0.03458191, -0.055174023, 0.02165314, -0.0454547, -0.2133287, 0.019270482, 0.014150804, 0.019111788, 0.05717106, -0.06651127, 0.058889534, -0.019852042, 0.034681775, -0.1008761, 0.055975314) * conv2d_2_1_texOff(vec2(1, 0)); + result += mat4(-0.02514957, -0.013665099, 0.009453669, -0.091441505, 0.11340974, -0.14352691, 0.015074522, 0.10876473, -0.05973946, -0.065673046, -0.0115122795, 0.16799292, -0.082857385, -0.012078929, -0.05028857, 0.14637986) * conv2d_2_1_texOff(vec2(-1, 1)); + result += mat4(-0.055300415, -0.09146368, 0.01570551, -0.034911945, 0.007390362, 0.005620275, -0.10591464, -0.20927264, 0.048731286, 0.048591748, 0.0512039, -0.035637736, -0.057843972, -0.043307193, 0.03391351, -0.050667476) * conv2d_2_1_texOff(vec2(0, 1)); + result += mat4(0.07935686, 0.069221206, -0.06541192, -0.035265442, 0.03748376, 0.50719774, 0.015448604, -0.20611364, 0.09222633, -0.14132449, -0.036654532, -0.049323678, 0.040579464, -0.09628602, 0.05307159, 0.05799895) * conv2d_2_1_texOff(vec2(1, 1)); + result += mat4(-0.053813465, 0.0812664, 0.07250382, 0.024781466, -0.022118524, -0.006057994, -0.012389928, 0.0917676, -0.049959335, 0.044740304, -0.09450066, -0.10054234, -0.039846092, 0.14370272, 0.12880066, 0.01113598) * conv2d_2_2_texOff(vec2(-1, -1)); + result += mat4(0.03909449, 0.019128364, 0.016260197, 0.036782686, -0.021127097, -0.008794415, 0.047429856, 0.07645338, 0.00514971, -0.07962687, -0.07814472, -0.19827934, 0.0034827671, 0.051165693, -0.036491662, -0.04852522) * conv2d_2_2_texOff(vec2(0, -1)); + result += mat4(-0.016425228, -0.10102339, -0.03175214, -0.030488184, 0.0042407075, 0.07631549, -0.071398415, -0.030553212, 0.18280296, 0.04675959, 0.14613643, -0.1561248, -0.024883093, -0.18060163, 0.06332671, 0.101312615) * conv2d_2_2_texOff(vec2(1, -1)); + result += mat4(0.02042093, 0.004889987, 0.04746692, -0.04194233, 0.034580436, 0.006149458, -0.028721103, 0.12035057, 0.05197916, 0.04783975, 0.11595752, -0.28027746, 0.017383585, 0.18964976, 0.0054357294, -0.038227707) * conv2d_2_2_texOff(vec2(-1, 0)); + result += mat4(-0.03205345, 0.021737898, 0.05476861, 0.111005254, 0.0633535, -0.067363106, 0.00689729, 0.020789541, -0.022878207, -0.17643768, -0.06102929, -0.09776104, -0.06754785, -0.06988824, 0.08273632, -0.13135137) * conv2d_2_2_texOff(vec2(0, 0)); + result += mat4(-0.046391204, -0.12702799, -0.016413176, -0.005956036, 0.04931025, 0.11508843, -0.025776647, -0.10140436, -0.175635, 0.024518745, 0.04165953, -0.264902, -0.04553731, -0.108174264, 0.015542758, -0.019481743) * conv2d_2_2_texOff(vec2(1, 0)); + result += mat4(0.05392207, 0.031177552, -0.050194845, -0.07917215, 0.00845692, -0.10890896, 0.09334872, 0.11597256, -0.08126385, 0.053044394, 0.051821955, -0.005567906, -0.084544815, 0.050703745, 0.037241194, 0.0995452) * conv2d_2_2_texOff(vec2(-1, 1)); + result += mat4(-0.052955378, 0.040978815, 0.10751517, 0.06816208, -0.016330251, -0.117702365, 0.050645854, 0.121252626, 0.07031536, 0.024954462, -0.10836048, -0.028652735, 0.024552448, 0.02089307, 0.029889422, 0.011071389) * conv2d_2_2_texOff(vec2(0, 1)); + result += mat4(0.0010691027, -0.18625301, 0.037954114, 0.093543485, -0.043069072, -0.031920284, -0.042359423, -0.08726012, 0.042967014, 0.11449552, 0.05110642, -0.0496941, -0.03300231, -0.10130463, -0.016392613, -0.02024943) * conv2d_2_2_texOff(vec2(1, 1)); + result += mat4(0.0586301, 0.15245676, -0.033052623, -0.07168638, -0.0007607549, 0.09323441, -0.11542363, 0.04648918, -0.15328716, 0.26346698, -0.030904697, 0.030372068, 0.037749205, 0.09137971, 0.02904065, 0.040045053) * conv2d_2_3_texOff(vec2(-1, -1)); + result += mat4(0.0018155596, 0.09201568, 0.07001537, 0.032052774, -0.021042239, 0.07662103, -0.053666964, 0.13526371, 0.024814583, -0.018301426, 0.08439379, 0.12338302, 0.048591074, 0.0069108913, 0.06375166, -0.057427537) * conv2d_2_3_texOff(vec2(0, -1)); + result += mat4(0.041273054, -0.047927774, 0.010706581, 0.11212849, 0.03788077, -0.08844824, 0.0075060115, -0.024004288, -0.016592283, -0.124963574, 0.047481053, -0.029573433, -0.01174942, 0.03842072, 0.060125805, 0.0064416286) * conv2d_2_3_texOff(vec2(1, -1)); + result += mat4(-0.09386426, 0.01719142, -0.022716224, 0.4145352, -0.0011966901, -0.010671357, -0.09432069, 0.07196611, -0.066162445, 0.11973952, 0.08679566, 0.045976005, -0.05242675, -0.04456436, 0.09487151, -0.0636997) * conv2d_2_3_texOff(vec2(-1, 0)); + result += mat4(0.0665664, -0.491547, 0.09975024, 0.09695219, 0.017481357, 0.05835143, 0.008020929, 0.16326845, 0.04377168, 0.041760277, 0.04681802, 0.056204192, -0.027579362, 0.082259275, -0.04886175, -0.006413534) * conv2d_2_3_texOff(vec2(0, 0)); + result += mat4(-0.15407313, -0.2352814, -0.019875789, -0.071651205, 0.13668239, 0.1099387, 0.12249358, 0.031012705, 0.07547411, -0.4822725, -0.09161933, -0.0005460044, -0.118472286, 0.01575216, -0.05584889, 0.093608245) * conv2d_2_3_texOff(vec2(1, 0)); + result += mat4(-0.6005004, 0.18364763, 0.3029105, -0.55660754, 0.002791999, 0.17598347, -0.02773778, -0.20713608, -0.035308547, 0.064654864, 0.034603156, 0.034586817, 0.013711437, 0.12487707, -0.010939594, 0.08632934) * conv2d_2_3_texOff(vec2(-1, 1)); + result += mat4(-0.0252136, -0.3524975, 0.40899456, 0.43160588, -0.0038752526, 0.022989146, 0.05450196, 0.033454284, -0.018443212, 0.007951612, 0.058630154, 0.035924617, -0.00043654535, 0.011249563, -0.07747764, -0.14832802) * conv2d_2_3_texOff(vec2(0, 1)); + result += mat4(-0.55209124, 0.1645877, -0.05679325, 0.2825911, 0.04400707, -0.10969654, 0.08035051, -0.00402581, -0.07924538, -0.17954224, 0.025348974, 0.013646938, -0.04233854, 0.16283436, -0.018776229, 0.074038565) * conv2d_2_3_texOff(vec2(1, 1)); + result += mat4(-0.046763226, -0.035151694, 0.058825307, 0.004375999, -0.01177665, 0.048826013, 0.05469535, 0.091088586, -0.018859731, -0.010921311, 0.03825621, -0.061831962, 0.01987421, -0.071696095, -0.01614405, 0.027941206) * conv2d_2_4_texOff(vec2(-1, -1)); + result += mat4(0.0053317067, 0.03831628, -0.032568756, 0.03189514, 0.01934001, 0.05037884, -0.050679963, 0.018834228, 0.02378493, 0.08113243, 0.055374723, -0.014344073, 0.01835414, -0.021392467, 0.039939445, -0.028287724) * conv2d_2_4_texOff(vec2(0, -1)); + result += mat4(0.057162616, -0.038000155, -0.02357545, -0.0008907829, 0.04940179, -0.17048118, -0.021740831, -0.15063486, 0.034101814, 0.059717454, -0.05613094, 0.02516169, -0.0031082819, -0.017597577, -0.0024994833, -0.021807186) * conv2d_2_4_texOff(vec2(1, -1)); + result += mat4(0.052368134, 0.06852329, -0.026991952, -0.071913876, -0.002987438, 0.012389825, 0.08220137, 0.06443077, 0.06327744, 0.10107812, 0.050826572, -0.07522763, 0.014188798, -0.020329168, -0.044629183, 0.00677529) * conv2d_2_4_texOff(vec2(-1, 0)); + result += mat4(-0.016701993, 0.026134696, -0.021828149, 0.06621852, -0.0016943878, -0.11616585, -0.0020408516, 0.085480705, 0.0408997, -0.039685782, -0.020032246, 0.02805984, 0.036703184, 0.10641765, 0.1245149, -0.016577717) * conv2d_2_4_texOff(vec2(0, 0)); + result += mat4(0.095616624, -0.02345342, 0.040970273, -0.017994381, -0.09705228, -0.046410024, -0.07243504, -0.06915207, 0.09584475, -0.1670904, -0.02957425, 0.12623549, -0.031264998, 0.19731334, -0.050352015, 0.08076492) * conv2d_2_4_texOff(vec2(1, 0)); + result += mat4(0.007844104, -0.042084366, 0.015844358, 0.070565976, 0.0052973493, -0.01272131, -0.006171012, -0.05680897, -0.025337802, 0.09308619, -0.036781996, 0.08092892, -0.022079369, 0.008666444, -0.035587173, -0.016502159) * conv2d_2_4_texOff(vec2(-1, 1)); + result += mat4(-0.0269401, -0.13831225, -0.09083566, -0.027309593, -0.049807627, -0.045062922, 0.0009896684, -0.02512906, -0.022978082, -0.041933935, 0.065487444, 0.079139106, 0.031568184, 0.022119548, 0.029080393, -0.07015594) * conv2d_2_4_texOff(vec2(0, 1)); + result += mat4(0.0923806, 0.056251116, -0.06329321, 0.039772015, 0.00980235, -0.02133817, -0.020178854, -0.06917338, -0.118036345, -0.004629583, 0.074251376, 0.14185011, -0.028419307, -0.054235984, 0.020540044, 0.020940477) * conv2d_2_4_texOff(vec2(1, 1)); + result += mat4(-0.0032550932, -0.181009, -0.030018274, -0.14767028, 0.06123868, 0.0045143873, 0.03324062, -0.043148898, -0.1023546, -0.055224273, -0.02694958, -0.03570513, 0.04702962, 0.2159486, -0.016663123, -0.088567734) * conv2d_2_5_texOff(vec2(-1, -1)); + result += mat4(0.013885054, 0.083086565, 0.050449066, 0.0836425, -0.02782874, 0.10957025, 0.12191435, -0.05541814, 0.020524802, -0.016859332, -0.04641707, 0.050575484, -0.06410691, -0.013773409, -0.018132692, 0.032087695) * conv2d_2_5_texOff(vec2(0, -1)); + result += mat4(-0.031779718, 0.059460845, -0.08601958, -0.07505201, 0.049904864, -0.074014366, -0.0025562178, 0.039499708, -0.064794786, -0.0857096, 0.0079706805, 0.022299673, 0.021123972, -0.08293265, 0.0767032, 0.027342996) * conv2d_2_5_texOff(vec2(1, -1)); + result += mat4(0.0013085239, -0.077876195, -0.049100835, -0.18723825, 0.003940156, 0.13132958, 0.050240505, -0.09619965, -0.025599359, -0.18996677, -0.005152275, -0.001275176, 0.07172794, -0.052275997, 0.1122533, -0.09737049) * conv2d_2_5_texOff(vec2(-1, 0)); + result += mat4(0.032744933, 0.1550318, 0.11544148, 0.11771438, -0.046389394, 0.0011422398, 0.03199717, -0.046601623, -0.06984624, -0.08996993, 0.013201784, 0.0119696865, 0.026229668, 0.08885468, -0.07879065, -0.005026658) * conv2d_2_5_texOff(vec2(0, 0)); + result += mat4(0.0609193, 0.068676814, -0.03191292, -0.12474674, 0.0063563203, 0.08033157, 0.07963442, 0.01564074, 0.07961193, -0.03642438, 0.0065206713, 0.051607013, 0.10888965, 0.28157482, -0.09730009, -0.042534053) * conv2d_2_5_texOff(vec2(1, 0)); + result += mat4(0.022793945, -0.0028026134, 0.0068392335, -0.062040824, 0.04623863, 0.011386527, -0.030242186, -0.037626833, -0.023156883, -0.033678032, -0.065720774, -0.028163206, 0.006870488, 0.033630937, 0.008268072, -0.054861635) * conv2d_2_5_texOff(vec2(-1, 1)); + result += mat4(0.045331493, 0.05020013, 0.10427859, 0.060280446, -0.052992944, -0.04577016, 0.031466357, 0.023927867, 0.012516522, 0.10484287, -0.062549695, -0.10647479, 0.077242956, 0.008638172, 0.032735363, -0.015857393) * conv2d_2_5_texOff(vec2(0, 1)); + result += mat4(-0.016002987, -0.30219203, 0.07650835, 0.025628416, 0.05764548, -0.13725948, 0.09010687, 0.042306308, 0.033346497, 0.15029362, -0.060961057, 0.00894175, 0.041290943, 0.1704489, -0.062351212, -0.054177705) * conv2d_2_5_texOff(vec2(1, 1)); + result += mat4(0.016316902, -0.12818614, -0.10619036, -0.10140975, -0.008219888, -0.09722211, -0.043875765, 0.06335974, 0.044684976, 0.04600923, -0.005252201, -0.06684235, -0.06641287, -0.04012307, -0.0074282247, 0.029494101) * conv2d_2_6_texOff(vec2(-1, -1)); + result += mat4(-0.017824786, 0.098452926, 0.012296506, -0.004276311, 0.07102459, -0.09456646, -0.14416084, -0.121801, 0.016402494, -0.07177419, 0.10748802, 0.034015067, 0.11539839, -0.08169095, 0.07650734, 0.09239199) * conv2d_2_6_texOff(vec2(0, -1)); + result += mat4(0.12585069, 0.097613364, 0.03856618, -0.020045701, -0.026921788, -0.118060075, -0.004722563, -0.01553552, 0.029153224, -0.05889056, -0.049339756, 0.015525131, -0.16506709, 0.12429404, 0.08266398, -0.010347145) * conv2d_2_6_texOff(vec2(1, -1)); + result += mat4(-0.046347257, -0.03863266, 0.03656146, -0.088605426, 0.043382805, -0.14498772, -0.13087383, -0.016001273, -0.04492706, 0.05562443, -0.055423778, -0.17906542, 0.019989554, -0.08165095, -0.03732918, 0.020192878) * conv2d_2_6_texOff(vec2(-1, 0)); + result += mat4(0.033938613, -0.09324732, -0.0035502166, -0.08345665, 0.12234306, -0.18647549, -0.017358009, 0.04510842, -0.050143722, 0.053056806, 0.04677238, 0.1047267, 0.08310617, -0.102690056, 0.016488941, -0.07947489) * conv2d_2_6_texOff(vec2(0, 0)); + result += mat4(0.0069156806, -0.03547114, 0.02156658, -0.033402376, -0.010424037, -0.029399341, -0.11154678, -0.0103988685, -0.15821448, -0.38730684, -0.11565995, -0.109661385, 0.039427117, -0.04090512, 0.012171899, 0.01256442) * conv2d_2_6_texOff(vec2(1, 0)); + result += mat4(0.016389597, -0.09865097, 0.056343865, -0.034813903, 0.0047886684, 0.013769445, 0.009423025, -0.023225576, -0.079863206, -0.06061149, -0.024357378, 0.004493122, -0.019576937, -0.111168, 0.033561286, 0.14747351) * conv2d_2_6_texOff(vec2(-1, 1)); + result += mat4(0.08390321, 0.07173094, -0.041794963, 0.0035809043, 0.006102272, -0.15532741, -0.032456625, -0.019441495, 0.020618388, 0.08986565, 0.03538222, -0.01939673, 0.076332875, -0.013586937, 0.06741929, 0.013323022) * conv2d_2_6_texOff(vec2(0, 1)); + result += mat4(0.023607086, -0.029768385, 0.016973399, -0.083096914, 0.068514355, -0.020669064, 0.04778413, 0.0761075, 0.0037662913, -0.10202609, -0.03309399, 0.025283104, 0.024194207, 0.3073668, 0.08416663, 0.06969849) * conv2d_2_6_texOff(vec2(1, 1)); + result += mat4(-0.0066670566, -0.010130502, -0.022964966, 0.035760447, -0.015583154, 0.09136924, 0.027512703, -0.045204908, 0.0069360356, 0.011184111, 0.042231694, 0.11682879, 0.0368069, -0.009694665, 0.0039190454, -0.025593063) * conv2d_2_7_texOff(vec2(-1, -1)); + result += mat4(-0.01674067, 0.009730073, -0.11259253, 0.029802613, -0.031227553, -0.016761737, 0.044058766, -0.021533756, -0.031237628, 0.009930453, 0.070949025, -0.053794526, -0.047235817, -0.012942685, -0.099856086, 0.071843065) * conv2d_2_7_texOff(vec2(0, -1)); + result += mat4(0.0383152, -0.10713343, -0.08952353, 0.07442802, 0.043767426, 0.03729869, 0.050835606, -0.031993665, -0.10506379, -0.07867678, -0.022816164, -0.10167317, -0.010568192, 0.21106417, 0.006301526, 0.006704791) * conv2d_2_7_texOff(vec2(1, -1)); + result += mat4(0.0072359494, -0.020404778, -0.012734181, 0.059417512, -0.015773958, 0.09269551, 0.052322045, -0.07522165, -0.064139806, 0.059473224, -0.013410602, 0.062403582, 0.043532852, 0.08153042, -0.020223536, 0.013900687) * conv2d_2_7_texOff(vec2(-1, 0)); + result += mat4(0.06639631, -0.01644478, -0.13592061, -0.17679001, -0.05455721, 0.14738032, 0.06283412, -0.050562892, 0.07928836, -0.031588964, -0.00020748048, -0.036100026, 0.08934062, -0.04945716, -0.07407497, -0.036186974) * conv2d_2_7_texOff(vec2(0, 0)); + result += mat4(0.050434552, -0.10837513, -0.08770597, -0.0059757675, -0.011203099, -0.13941531, 0.027200218, 0.030181265, -0.027888268, 0.07884397, -0.10534716, -0.08069642, -0.050978094, -0.08941705, 0.0130151035, 0.054690223) * conv2d_2_7_texOff(vec2(1, 0)); + result += mat4(0.023725403, -0.031113746, 0.035048373, -0.008659908, -0.031079264, 0.05530943, 0.054623462, -0.08630194, 0.07760351, 0.07674006, -0.027398035, 0.030755548, -0.0236653, -0.028175864, 0.0049277944, 0.03700644) * conv2d_2_7_texOff(vec2(-1, 1)); + result += mat4(-0.030132316, 0.08498954, 0.0065402794, -0.07312959, -0.061131194, 0.015095139, -0.0088806655, 0.020033402, -0.010954551, -0.04922252, -0.060566384, -0.0424551, 0.056430493, -0.05441354, 0.0055932584, 0.05086343) * conv2d_2_7_texOff(vec2(0, 1)); + result += mat4(-0.019307736, -0.11485267, -0.07061357, -0.05969741, 0.009375154, -0.2592922, 0.021961626, 0.119069815, 0.09418568, -0.017620513, -0.19550745, -0.10856597, 0.04302272, 0.035285115, -0.0602747, -0.014331461) * conv2d_2_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-3-ReLU) +//!HOOK LUMA +//!BIND conv2d_2_0 +//!BIND conv2d_2_1 +//!BIND conv2d_2_2 +//!BIND conv2d_2_3 +//!BIND conv2d_2_4 +//!BIND conv2d_2_5 +//!BIND conv2d_2_6 +//!BIND conv2d_2_7 +//!SAVE conv2d_3_5 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0018502712, 0.013060026, -0.0016276615, 0.0031085813); + result += mat4(-0.0034867683, -0.06799548, 0.104626626, 0.07303658, -0.027375786, 0.07564673, 0.09572826, 0.047167797, -0.13840175, -0.0031795986, -0.042895127, 0.04400798, 0.02009291, 0.07265283, 0.026135247, 0.07674724) * conv2d_2_0_texOff(vec2(-1, -1)); + result += mat4(0.08454174, -0.12616928, -0.07216902, 0.093206435, -0.10129391, -0.07470844, -0.16667219, 0.01982844, 0.06570152, -0.0040220884, -0.046764296, 0.08865105, 0.008413359, -0.037302844, 0.055106986, 0.059266504) * conv2d_2_0_texOff(vec2(0, -1)); + result += mat4(-0.073272236, 0.0699166, -0.10227257, 0.018430935, 0.05203697, -0.0077220895, 0.20302588, 0.06310515, 0.012925274, 0.039079733, 0.09162067, -0.0036802778, -0.03891433, 0.030667461, -0.12863748, -0.061780296) * conv2d_2_0_texOff(vec2(1, -1)); + result += mat4(0.07740777, -0.02794487, 0.10000304, -0.016996691, -0.082056046, 0.075817116, 0.038522486, 0.031263057, -0.23933397, -0.023163714, 0.024396686, -0.012583904, 0.01432167, -0.023034513, -0.07294257, 0.105155446) * conv2d_2_0_texOff(vec2(-1, 0)); + result += mat4(0.09158961, -0.09077395, -0.019323545, -0.058573775, -0.015066817, -0.027484333, 0.06380175, 0.27504218, -0.06905784, 0.0395521, 0.04059389, 0.05345466, -0.08288642, 0.043936454, 0.08308352, 0.0056901667) * conv2d_2_0_texOff(vec2(0, 0)); + result += mat4(-0.11470604, 0.043889385, 0.04602655, -0.09404921, -0.103423655, 0.08737013, -0.123206265, -0.030117817, 0.06853928, -0.050956983, 0.08862316, 0.009697244, -0.03782898, 0.008836726, -0.047139525, -0.07108922) * conv2d_2_0_texOff(vec2(1, 0)); + result += mat4(0.037052277, -0.05272276, -0.025745844, 0.031913377, -0.10988181, -0.02445581, 0.044487067, 0.055945948, -0.010659528, -0.0056559923, 0.048278924, 0.005885464, 0.0049629086, -0.03368503, -0.040521704, 0.06252929) * conv2d_2_0_texOff(vec2(-1, 1)); + result += mat4(0.08015414, 0.07871552, -0.051518604, -0.04828251, -0.12250616, 0.0961609, 0.13415286, -0.06894969, -0.11286687, -0.06066549, 0.006262956, 0.034157954, 0.0657992, -0.07559211, 0.021974036, 0.03179849) * conv2d_2_0_texOff(vec2(0, 1)); + result += mat4(-0.00761903, -0.0033597557, 0.05955128, -0.0004949997, 0.07120819, 0.1358684, -0.041501727, -0.026851369, 0.012229947, -0.017305542, -0.03838526, 0.08197147, 0.022157433, 0.0228919, -0.06402769, 0.017405318) * conv2d_2_0_texOff(vec2(1, 1)); + result += mat4(-0.018751951, -0.09725986, 0.14570455, 0.0733288, 0.0626444, -0.09380579, -0.03282332, -0.03408707, 0.11018893, 0.06079217, 0.04924616, -0.04709964, 0.004935011, 0.0033031956, 0.009620953, 0.04110896) * conv2d_2_1_texOff(vec2(-1, -1)); + result += mat4(-0.119331524, -0.041621476, 0.020308068, 0.064131126, -0.04575323, -0.01969331, -0.064907394, -0.082343966, 0.005354518, 0.09537535, -0.095304884, 0.007893051, 0.054199796, -0.00081671495, -0.04141645, 0.051360905) * conv2d_2_1_texOff(vec2(0, -1)); + result += mat4(-0.061368935, -0.025826558, -0.0014476342, -0.027698595, 0.015461433, 0.020282753, -0.14221196, 0.031994525, 0.04652222, -0.05602202, 0.007611992, -0.026475392, -0.010036504, 0.018430166, 0.028369807, -0.025243111) * conv2d_2_1_texOff(vec2(1, -1)); + result += mat4(-0.02331098, -0.07114149, 0.057605274, -0.01798871, -0.030704323, 0.02618171, 0.03892856, -0.16003852, 0.03254898, 0.017172366, -0.029877653, 0.04520348, -0.05242536, 0.00075598503, 0.08305009, 0.0632149) * conv2d_2_1_texOff(vec2(-1, 0)); + result += mat4(0.09061947, 0.07380929, -0.07807831, 0.034749664, 0.043393087, 0.0038926443, 0.02431722, -0.0586504, -0.06708017, 0.010430389, 0.05304435, 0.1483699, 0.04252227, -0.093155935, -0.20923366, 0.10114229) * conv2d_2_1_texOff(vec2(0, 0)); + result += mat4(-0.042515274, 0.056481134, -0.0050386526, -0.108752, 0.027364075, 0.029051226, 0.0095078135, -0.09571274, 0.040487014, 0.098090686, 0.01574532, 0.05326494, -0.03191604, 0.037421823, 0.05902839, -0.041053366) * conv2d_2_1_texOff(vec2(1, 0)); + result += mat4(0.06252495, -0.013159625, -0.043922715, 0.03240694, 0.055383805, 0.06305195, 0.10862439, -0.06721558, 0.020994438, -0.0010589706, -0.0073243547, 0.053586785, -0.0999526, 0.030172931, 0.028610907, 0.05298781) * conv2d_2_1_texOff(vec2(-1, 1)); + result += mat4(-0.027181327, 0.00089175, -0.035875455, 0.0700373, 0.025296643, 0.015070835, -0.17424005, -0.08070625, -0.026955241, -0.06017101, -0.059225332, 0.11732912, 0.0051175538, 0.07206786, -0.07057198, -0.0034850813) * conv2d_2_1_texOff(vec2(0, 1)); + result += mat4(-0.007746302, -0.03530862, -0.0826572, -0.10725515, 0.013858807, -0.013930487, 0.037456524, 0.09528927, 0.06426936, -0.058356244, -0.12601738, -0.051057514, 0.06708228, -0.10370741, -0.0143711865, -0.020461775) * conv2d_2_1_texOff(vec2(1, 1)); + result += mat4(-0.018505381, 0.06280765, 0.00893378, -0.046311203, 0.08710613, 0.010459748, -0.041679975, 0.05716624, 0.08140529, -0.038917303, 0.07694025, -0.07460701, -0.06611691, 0.023722533, 0.07290425, -0.018240826) * conv2d_2_2_texOff(vec2(-1, -1)); + result += mat4(-0.044367813, 0.02315649, -0.048203208, 0.091498524, -0.02996703, 0.06782791, -0.13243331, 0.011353569, 0.09195264, -0.1163415, -0.13685246, 0.17857984, -0.011073682, -0.032562423, 0.09509679, -0.041359745) * conv2d_2_2_texOff(vec2(0, -1)); + result += mat4(0.03156342, -0.10025963, -0.013017946, 0.0257307, 0.0011655566, 0.03229435, 0.051889036, 0.026342308, 0.41414958, 0.012588855, 0.13593782, 0.19657598, -0.07852095, -0.01594614, -0.03566659, 0.064261064) * conv2d_2_2_texOff(vec2(1, -1)); + result += mat4(-0.09222063, -0.058339145, 0.023249721, 0.003983082, 0.023988148, 0.092463374, -0.08646758, -0.0545711, 0.04530583, -0.06911478, 0.07597236, -0.040497676, 0.03971526, -0.031512626, 0.0056959204, -0.11790931) * conv2d_2_2_texOff(vec2(-1, 0)); + result += mat4(-0.040312603, -0.04079137, 0.13341509, -0.07020256, 0.10391367, -0.019775882, -0.045597337, 0.09759153, 0.120882414, -0.0070507145, -0.049658306, 0.053672593, 0.109002165, 0.051296826, 0.07197283, -0.023618313) * conv2d_2_2_texOff(vec2(0, 0)); + result += mat4(0.026795456, 0.074361324, -0.006788881, 0.0042565023, -0.054562055, -0.0027935575, -0.14169939, 0.0044548293, 0.16372812, 0.039148312, 0.05321331, -0.063007146, 0.009212332, 0.014397695, -0.04166784, -0.08835426) * conv2d_2_2_texOff(vec2(1, 0)); + result += mat4(0.04724247, -0.122024976, -0.014700797, -0.03276682, 0.021924186, 0.022364102, -0.040529076, -0.08829915, 0.1504969, 0.04789319, -0.0070095453, 0.10675398, -0.0011716726, 0.11240305, 0.00907958, -0.048820153) * conv2d_2_2_texOff(vec2(-1, 1)); + result += mat4(0.028236004, 0.085503906, 0.13320252, -0.079881065, -0.00879117, -0.007598905, 0.07094805, -0.014092084, 0.030077713, 0.015622199, -0.0063013197, 0.048987027, 0.053226143, -0.065982394, 0.046956718, 0.06776234) * conv2d_2_2_texOff(vec2(0, 1)); + result += mat4(0.025318446, -0.018986637, 0.0010503505, -0.00620221, 0.06230818, -0.11016683, -0.0046868976, -0.09211424, -0.094955206, -0.062662005, 0.018036988, -0.039500773, 0.029013721, 0.044339567, -0.058506794, -0.01863493) * conv2d_2_2_texOff(vec2(1, 1)); + result += mat4(-0.1449545, -0.04456019, 0.2313092, -0.0022946603, 0.03316544, 0.016549297, 0.011667408, -0.0025256004, -0.05439931, -0.009969395, 0.07813555, -0.114387766, 0.052652866, 0.06594491, 0.008688532, 0.020052353) * conv2d_2_3_texOff(vec2(-1, -1)); + result += mat4(0.07468828, 0.1671007, -0.0026488134, 0.016083784, -0.07103053, -0.0154779935, -0.03818411, 0.078462854, 0.012833457, 0.003714522, 0.17777874, -0.0132201305, -0.029431153, 0.04108548, 0.13806884, 0.10287192) * conv2d_2_3_texOff(vec2(0, -1)); + result += mat4(-0.15160893, 0.123133935, 0.004553965, 0.050150372, -0.14184715, 0.022584926, 0.11896978, 0.018132892, -0.07663858, 0.019862494, -0.021870669, -0.040176585, 0.08019894, 0.013569891, 0.12539373, 0.08668106) * conv2d_2_3_texOff(vec2(1, -1)); + result += mat4(-0.02119943, -0.07507259, 0.18291096, 0.08199222, 0.07863311, -0.019817855, -0.012006836, 0.12678276, -0.16732183, 0.07232327, 0.22850059, -0.05757299, 0.12350581, 0.0158648, 0.079822704, 0.0721462) * conv2d_2_3_texOff(vec2(-1, 0)); + result += mat4(-0.34529743, -0.15307695, -0.037712686, 0.110782854, -0.050074626, 0.026551321, 0.013175536, 0.0020625908, -0.027689343, -0.042692546, -0.0945062, 0.049148344, 0.023155386, 0.0053128544, 0.05415328, 0.110407) * conv2d_2_3_texOff(vec2(0, 0)); + result += mat4(-0.0651822, -0.11879126, 0.010653457, -0.007635576, -0.25156125, -0.04694231, 0.026544593, -0.06362206, 0.056315932, 0.048021078, -0.016222343, -0.014184984, 0.085660696, 0.019384801, 0.022748632, -0.11191533) * conv2d_2_3_texOff(vec2(1, 0)); + result += mat4(-0.44623163, 0.6165858, 0.42312464, 0.122841716, 0.0568353, -0.049715966, -0.07067143, -0.03544703, -0.10283778, -0.0015414917, 0.09148322, -0.087793775, 0.011875088, 0.10354395, -0.034211162, 0.11749575) * conv2d_2_3_texOff(vec2(-1, 1)); + result += mat4(0.27958894, 0.42554858, 0.44331464, -0.42646545, -0.06608566, 0.0023158144, 0.14139481, 0.077250354, -0.06722247, -0.050994523, 0.0307696, -0.029116957, 0.09956953, 0.07132974, -0.08264837, 0.047654986) * conv2d_2_3_texOff(vec2(0, 1)); + result += mat4(-0.30229408, 0.048168216, 0.15805377, 0.14520514, 0.010495806, -0.024665743, -0.0062411455, 0.09256795, 0.023344511, 0.0021540725, 0.035688963, 0.026297262, 0.070672646, -0.054093998, 0.06567969, 0.042465094) * conv2d_2_3_texOff(vec2(1, 1)); + result += mat4(0.029061485, -0.045439236, -0.060472358, -0.04693463, -0.02682241, 0.00868559, -0.05213031, -0.009660583, -0.0065009366, -0.038077366, 0.0019683763, -0.015385262, -0.004920744, -0.03671484, -0.04807187, 0.059857283) * conv2d_2_4_texOff(vec2(-1, -1)); + result += mat4(-0.053987972, -0.0005788648, 0.0023654925, 0.01086061, -0.122963816, 0.042630292, -0.009455475, -0.04195461, 0.002737431, -0.006530747, -0.00045317633, -0.010581471, 0.062147774, -0.017458213, -0.06993401, -0.019796146) * conv2d_2_4_texOff(vec2(0, -1)); + result += mat4(0.052362535, 0.030909497, -0.021492915, 0.052789494, 0.11830324, -0.0375631, -0.11699532, -0.073763326, 0.15291512, -0.020241346, 0.10914442, -0.025021045, 0.019168183, 0.0018543932, 0.05294428, 0.056688808) * conv2d_2_4_texOff(vec2(1, -1)); + result += mat4(0.09469633, -0.023578895, -0.0030968478, -0.040890545, -0.14250876, -0.08831487, 0.03827692, 0.022349015, -0.11394762, 0.030952442, 0.038697615, -0.11182602, 0.12860519, -0.022258185, 0.0725786, 0.09179456) * conv2d_2_4_texOff(vec2(-1, 0)); + result += mat4(-0.040537886, -0.02905925, 0.029597867, 0.073216096, 0.14953516, 0.0628931, 0.03801425, 0.004615126, -0.10813203, -0.0012218577, -0.030181715, 0.023227105, -0.016616719, -0.030022006, -0.06760628, 0.13831317) * conv2d_2_4_texOff(vec2(0, 0)); + result += mat4(-0.069252364, 0.08563284, -0.08996617, -0.043738395, 0.01070131, -0.043019366, -0.107516795, 0.012081963, 0.046827286, 0.048738047, -0.065743044, -0.1082709, 0.041014552, 0.03536314, 0.005398703, 0.0029251575) * conv2d_2_4_texOff(vec2(1, 0)); + result += mat4(0.021586033, 0.005284693, -0.026472084, -0.03044557, 0.046170898, -0.006076123, -0.11087607, -0.0673467, -0.09037475, -0.008089788, 0.04187487, -0.014248918, 0.03648588, 0.023301037, 0.03793544, -0.0057259374) * conv2d_2_4_texOff(vec2(-1, 1)); + result += mat4(-0.032596573, 0.052019544, 0.09881275, 0.062834956, 0.17446987, -0.056122202, -0.050665345, -0.057391778, -0.08821251, 0.023172405, 0.099907316, 0.05844725, 0.01871133, -0.074424714, -0.032109767, 0.035101775) * conv2d_2_4_texOff(vec2(0, 1)); + result += mat4(-0.020349177, -0.044381548, -0.11637121, 0.012656253, -0.064132966, -0.09566845, -0.030865995, -0.040884618, 0.054369144, 0.021972781, -0.03771244, 0.08873821, 0.06801693, -0.12766573, 0.1449775, 0.064136714) * conv2d_2_4_texOff(vec2(1, 1)); + result += mat4(0.079329565, 0.073970035, -0.034124024, 0.07211574, -0.08693538, -0.0033195568, 0.07101696, -0.12414901, 0.04284019, -0.029499939, 0.0331111, -0.0038576915, 0.031238582, 0.050063208, 0.09144514, -0.05277108) * conv2d_2_5_texOff(vec2(-1, -1)); + result += mat4(0.021449404, -0.0075499956, -0.0469231, 0.053179033, 0.06812503, -0.07195542, -0.048390873, 0.0016878637, 0.019933537, -0.079445496, 0.10816008, -0.010475649, -0.041381385, 0.02159222, 0.10465893, 0.09724063) * conv2d_2_5_texOff(vec2(0, -1)); + result += mat4(-0.06260436, -0.070720024, 0.019447621, -0.0029906617, 0.048330557, -0.03589644, -0.005590478, 0.0029294547, -0.16843839, -0.029476237, -0.080948666, 0.004498308, 0.028533462, 0.07080235, 0.17012274, 0.017130153) * conv2d_2_5_texOff(vec2(1, -1)); + result += mat4(0.0689058, 0.03230708, -0.036929943, -0.010096919, -0.07922481, 0.013460419, -0.019626755, 0.081317864, 0.09977364, 0.111893624, 0.02989708, -0.044290747, -0.028390877, -0.032441583, 0.099911705, 0.04555478) * conv2d_2_5_texOff(vec2(-1, 0)); + result += mat4(-0.2142877, -0.032183833, 0.041199625, -0.11699432, 0.12505189, 0.055499434, -0.0013959837, 0.013759204, 0.15844987, 0.0017676211, -0.027147895, 0.0005089197, 0.019668553, 0.008932202, -0.11473781, -0.045008395) * conv2d_2_5_texOff(vec2(0, 0)); + result += mat4(0.053575903, -0.10717223, 0.05347942, 0.039754707, -0.03345623, 0.01758708, 0.04305394, 0.050766457, -0.08772696, -0.013621805, -0.0762947, 0.022190684, -0.13203281, -0.07665446, -0.25784504, 0.025728654) * conv2d_2_5_texOff(vec2(1, 0)); + result += mat4(0.10171311, 0.014510399, -0.022153229, 0.043001786, -0.044839535, 0.061768025, -0.017428817, -0.0024155, 0.026451623, 0.10312222, -0.043024514, -0.08268803, 0.023773594, -0.02314727, 0.0638462, -0.0045800502) * conv2d_2_5_texOff(vec2(-1, 1)); + result += mat4(0.0025931569, -0.01936465, 0.09707398, -0.06931802, 0.035466447, -0.00023873974, -0.06279841, 0.18710504, 0.04238498, -0.008877194, 0.024820281, -0.04490692, 0.011235269, -0.026580723, -0.039882068, -0.0941417) * conv2d_2_5_texOff(vec2(0, 1)); + result += mat4(-0.104906335, 0.0026718637, 0.025410641, 0.024491915, 0.06137515, -0.060977787, -0.06778615, 0.009123535, -0.047914356, 0.11134194, -0.1379349, 0.042340606, -0.031168671, -0.054927774, -0.23867685, 0.023472602) * conv2d_2_5_texOff(vec2(1, 1)); + result += mat4(0.057836242, -0.0022434306, -0.05715349, 0.037693046, -0.023173543, -0.063113585, -0.040417723, -0.01667871, -0.08142543, 0.055259004, 0.08037067, 0.0064939936, -0.0805877, -0.021205802, 0.042765286, -0.084956795) * conv2d_2_6_texOff(vec2(-1, -1)); + result += mat4(-0.06419795, 0.0394746, -0.06869522, -0.014618079, 0.071850844, 0.07632752, -0.061004896, 0.026365938, -0.008972183, -0.063974686, 0.102054566, -0.07028359, -0.033728037, 0.06701828, 0.035105564, -0.06403196) * conv2d_2_6_texOff(vec2(0, -1)); + result += mat4(0.0028174256, 0.016724378, 0.041380495, 0.01032302, 0.04895295, 0.08854221, 0.0064540035, 0.05622498, 0.012599644, -0.022446038, -0.034043763, 0.005340875, 0.0062671956, -0.0029533524, 0.27926448, 0.056106325) * conv2d_2_6_texOff(vec2(1, -1)); + result += mat4(0.10503049, -0.05114609, -0.03513689, 0.027661879, 0.014933936, -0.002855156, -0.12585463, 0.09856479, -0.037063308, 0.0061761406, -0.025112197, 0.058180254, -0.045225557, -0.05042486, -0.024246199, 0.08490273) * conv2d_2_6_texOff(vec2(-1, 0)); + result += mat4(0.038721893, 0.040877443, -0.021830358, 0.027328668, -0.08662517, 0.019631477, -0.07702437, 0.044343833, -0.11632552, 0.16801949, -0.0011627385, 0.031129051, 0.17172147, 0.09361721, -0.22902071, 0.0046398635) * conv2d_2_6_texOff(vec2(0, 0)); + result += mat4(-0.10943754, -0.02450331, -0.0052538617, 0.01536998, 0.06708846, 0.03559325, -0.032481857, 0.0058926116, -0.02187761, 0.021631522, 0.10126193, -0.015683185, -0.116349824, 0.22354414, 0.15982276, 0.007648408) * conv2d_2_6_texOff(vec2(1, 0)); + result += mat4(0.09519393, -0.08746887, -0.11373701, -0.040829618, -0.045432087, 0.03844504, 0.03284802, -0.026442667, 0.056495596, -0.06727405, 0.014754259, -0.060380634, 0.07910566, 0.0076329727, 0.060233828, -0.027694043) * conv2d_2_6_texOff(vec2(-1, 1)); + result += mat4(-0.014422433, -0.11226171, -0.033845693, 0.08287245, -0.00533613, -0.028171543, -0.069962114, 0.01795553, -0.054738816, 0.08107565, -0.07315344, -0.029890817, -0.0058989087, 0.0038030688, -0.08546062, -0.10980397) * conv2d_2_6_texOff(vec2(0, 1)); + result += mat4(-0.11178818, -0.00018276428, 0.013667662, -0.092647985, -0.016556172, 0.027649274, -0.038982797, 0.0073705716, 0.005167111, 0.0004047553, 0.028304193, -0.005546212, -0.0020436377, -0.081729606, 0.15764152, 0.19297391) * conv2d_2_6_texOff(vec2(1, 1)); + result += mat4(0.10865291, 0.022492679, -0.06725254, -0.07402369, 0.009561395, -0.05032684, 0.063788995, -0.0011078919, -0.061705396, 0.07058117, -0.043833874, 0.008595119, 0.016690504, -0.03254529, 0.0068680057, -0.049732987) * conv2d_2_7_texOff(vec2(-1, -1)); + result += mat4(-0.040279765, 0.033816963, -0.11137613, -0.17196828, 0.003476875, 0.050391644, 0.09385161, 0.034769014, 0.075421005, 0.090086594, 0.10458649, 0.06382363, 0.032953225, -0.013192451, -0.11549236, -0.033632897) * conv2d_2_7_texOff(vec2(0, -1)); + result += mat4(-0.043853145, -0.02960237, -0.044585142, -0.023463616, -0.0063892817, 0.010974768, -0.056211535, -0.034223776, 0.14973699, -0.08122499, 0.012469696, -0.019757243, -0.052417673, 0.07006685, 0.0009089673, 0.0716704) * conv2d_2_7_texOff(vec2(1, -1)); + result += mat4(0.1290615, -0.024734018, -0.066718146, -0.045559973, 0.023330813, 0.007858997, 0.025794307, -0.011063666, -0.03234947, -0.002042002, -0.025240067, 0.022175862, 0.020873437, 0.008090758, -0.02028331, -0.008801376) * conv2d_2_7_texOff(vec2(-1, 0)); + result += mat4(-0.038056914, -0.06315142, -0.062348034, -0.0802054, -0.060623568, 0.08792905, 0.0014848039, -0.04334639, -0.034441654, 0.0129482625, 0.1063787, 0.051099297, 0.15018068, 0.11398622, -0.052637883, -0.14344603) * conv2d_2_7_texOff(vec2(0, 0)); + result += mat4(-0.05166784, 0.0014913273, -0.11174579, -0.057976343, 0.009156046, -0.040897816, 0.05148764, -0.2329133, -0.036603075, -0.16452911, -0.033397604, -0.27509752, 0.0029807237, 0.0967238, -0.099186145, -0.0526396) * conv2d_2_7_texOff(vec2(1, 0)); + result += mat4(-0.036465388, -0.049579907, 0.029325692, 0.10625172, 0.01572375, 0.016968515, 0.03425351, -0.06374192, 0.123899944, -0.02193389, 0.008492115, 0.008948067, -0.09144133, 0.03858344, -0.07675407, 0.0077100624) * conv2d_2_7_texOff(vec2(-1, 1)); + result += mat4(-0.04402887, -0.04482599, 0.043106318, -0.12008298, 0.020101454, -0.052356184, 0.021416297, -0.13514215, -0.10392866, 0.08330446, -0.025625795, -0.05292545, -0.017441912, 0.09128178, 0.0071307896, -0.0071505294) * conv2d_2_7_texOff(vec2(0, 1)); + result += mat4(0.0512658, 0.01558601, 0.07133337, -0.080093846, -0.031748887, -0.02299093, -0.023076529, -0.04939016, 0.13369799, -0.07887103, -0.088508, 0.10764186, -0.05047807, 0.032808747, -0.1381507, -0.024785798) * conv2d_2_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-3-ReLU) +//!HOOK LUMA +//!BIND conv2d_2_0 +//!BIND conv2d_2_1 +//!BIND conv2d_2_2 +//!BIND conv2d_2_3 +//!BIND conv2d_2_4 +//!BIND conv2d_2_5 +//!BIND conv2d_2_6 +//!BIND conv2d_2_7 +//!SAVE conv2d_3_6 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0040995805, 0.0007194403, 0.0008392621, 0.001028336); + result += mat4(0.075784825, -0.037034735, -0.0036744392, 0.07465112, -0.05670644, -0.123901725, -0.03362572, -0.09263351, -0.07233453, 0.035810124, 0.043668594, 0.031640645, 0.027920155, -0.01759315, -0.029453129, 0.083901174) * conv2d_2_0_texOff(vec2(-1, -1)); + result += mat4(0.09306272, -0.08824151, 0.034110248, -0.07909394, 0.07923777, -0.0675245, 0.0042159534, 0.19649169, -0.016765067, 0.03096694, 0.048028514, -0.07512955, -0.023861969, -0.005058159, 0.08191341, -0.04802696) * conv2d_2_0_texOff(vec2(0, -1)); + result += mat4(-0.058305357, -0.0064076507, -0.045440044, 0.010436483, 0.006578405, 0.013296199, -0.009523827, -0.0150202615, 0.024477644, 0.057438094, 0.09306709, -0.093153514, 0.056336462, 0.04485729, 0.01790751, 0.070120595) * conv2d_2_0_texOff(vec2(1, -1)); + result += mat4(0.0313928, 0.014648428, -0.050919294, -0.026879977, -0.04663104, 0.06514853, -0.24839179, -0.2559412, -0.013346348, 0.06336832, -0.04446757, 0.00716393, -0.018794393, -0.00844793, -0.0004606483, 0.10248499) * conv2d_2_0_texOff(vec2(-1, 0)); + result += mat4(0.11796386, -0.060605563, -0.06008603, 0.052328076, 0.13648452, 0.07972063, -0.031880084, -0.0076901787, -0.06552623, 0.0724651, 0.026186442, -0.047391493, -0.046831083, 0.07065877, -0.10031437, -0.16015299) * conv2d_2_0_texOff(vec2(0, 0)); + result += mat4(-0.054404497, -0.030310035, -0.07916586, -0.018411417, -0.17997582, 0.0027978893, -0.029557252, 0.068462595, -0.017427402, 0.06356921, -0.0020368495, -0.08432101, -0.0077087726, 0.021030258, -0.017963763, 0.03507504) * conv2d_2_0_texOff(vec2(1, 0)); + result += mat4(-0.060396884, -0.03615521, 0.017617533, 0.040767163, -0.04254167, 0.021306572, 0.009591684, 0.009189992, 0.058817904, -0.06426405, -0.08170266, -0.09619696, -0.030870477, 0.033960838, -0.03965184, -0.06645826) * conv2d_2_0_texOff(vec2(-1, 1)); + result += mat4(-0.062075656, -0.024442522, 0.047215283, 0.026543064, 0.08701226, -0.018016454, -0.072575614, -0.17055945, 0.036155406, 0.075321995, -0.09031264, -0.15160705, 0.059795808, -0.0070480537, 0.0070460513, -0.044634003) * conv2d_2_0_texOff(vec2(0, 1)); + result += mat4(-0.075822234, 0.054797918, 0.06824017, -0.029036801, -0.045672283, 0.09358717, 0.04528781, 0.13409637, 0.05107057, 0.017422644, -0.016560322, -0.057816494, -0.03746733, -0.032234468, -0.021010201, 0.104233325) * conv2d_2_0_texOff(vec2(1, 1)); + result += mat4(0.047409087, -0.07584622, -0.028389918, -0.043902453, -0.08117806, 0.028989743, -0.027972389, -0.023108205, -0.13299781, 0.022252431, -0.0028104885, -0.03011302, -0.07698808, -0.059214108, 0.080463715, -0.056250267) * conv2d_2_1_texOff(vec2(-1, -1)); + result += mat4(0.002134049, -0.019120194, 0.03312843, -0.05437777, -0.08774896, 0.009408445, 0.0075655514, 0.01665685, -0.10784665, 0.044640757, 0.042213, -0.012612082, 0.036114372, 0.039087627, 0.0027787406, 0.042103626) * conv2d_2_1_texOff(vec2(0, -1)); + result += mat4(0.0041997316, 0.086481616, 0.067280866, 0.08253101, -0.070072815, -0.071970515, 0.07198788, -0.0054747644, -0.14748324, -0.0439888, 0.043008275, -0.10177188, -0.04178462, -0.038689487, 0.019626841, 0.0742595) * conv2d_2_1_texOff(vec2(1, -1)); + result += mat4(0.07189703, 0.057184383, -0.07037502, 0.14259343, 0.060009085, 0.036687415, 0.012385468, -0.0508431, 0.0049068243, 0.07225714, 0.015716087, -0.05533045, -0.026449, -0.07432045, -0.04494133, -0.024861796) * conv2d_2_1_texOff(vec2(-1, 0)); + result += mat4(-0.007911497, -0.038424183, 0.006557816, -0.0047409437, -0.051903225, -0.062036783, 0.026093366, -0.1286919, 0.22201407, -0.0880022, 0.036473483, 0.07054957, -0.046250846, 0.002670057, 0.0786102, -0.0015347187) * conv2d_2_1_texOff(vec2(0, 0)); + result += mat4(-0.068808, 0.00817027, -0.09470922, 0.044015326, -0.02123932, -0.007457848, -0.02681251, 0.050263304, -0.09517985, -0.038973756, -0.0056617786, -0.13577169, 0.013468868, -0.0024175819, -0.049055975, 0.004862744) * conv2d_2_1_texOff(vec2(1, 0)); + result += mat4(-0.105605885, 0.00010736009, 0.015954357, -0.018006427, -0.11654987, 0.04857302, -0.068878494, 0.048468478, 0.028973652, -0.0047394405, -0.012017695, -0.3414426, 0.0020292595, -0.0032039136, -0.041515544, -0.13003236) * conv2d_2_1_texOff(vec2(-1, 1)); + result += mat4(-0.02665528, 0.0123444805, -0.15224406, -0.07283353, -0.06648851, 0.0027401596, -0.37770632, 0.1087291, 0.026800249, -0.026198603, 0.11412758, -0.08979594, 0.0035151974, 0.053278077, -0.03796317, -0.05951592) * conv2d_2_1_texOff(vec2(0, 1)); + result += mat4(0.041024238, 0.0554413, -0.072679505, -0.023713483, 0.011778139, -0.033869736, 0.05542054, -0.08060762, -0.1281429, 0.102093466, -0.009475736, -0.07403527, -0.029223816, -0.079576075, -0.066868566, -0.034956153) * conv2d_2_1_texOff(vec2(1, 1)); + result += mat4(0.15751092, -0.002922585, 0.058777884, 0.120532386, 0.104184724, 0.0030118763, 0.08212096, 0.04870226, -0.070953615, -0.02906071, 0.08277526, -0.21920621, -0.06618266, 0.018751426, 0.036778748, -0.039397325) * conv2d_2_2_texOff(vec2(-1, -1)); + result += mat4(0.078352064, 0.011909341, 0.04062053, -0.026477944, -0.06561129, 0.022655228, -0.12133559, -0.033172566, -0.25741947, -0.09674623, -0.08590713, 0.047873467, -0.01153178, 0.05388575, 0.04972468, -0.039266985) * conv2d_2_2_texOff(vec2(0, -1)); + result += mat4(-0.032735944, -0.02804838, -0.0028892965, -0.021525461, 0.0153857265, 0.036948256, -0.03812983, 0.018801192, 0.1265375, 0.18276389, -0.08900698, -0.34324038, -0.042282443, -0.036980476, -0.071380675, 0.06820878) * conv2d_2_2_texOff(vec2(1, -1)); + result += mat4(0.06869368, 0.055244543, 0.035414852, 0.06787427, -0.04106649, 0.004666228, 0.12908316, -0.0794526, 0.11041069, -0.1658983, 0.1336631, 0.055152684, -0.13532472, -0.060904626, 0.027376715, -0.04269367) * conv2d_2_2_texOff(vec2(-1, 0)); + result += mat4(-0.010061226, -0.013364758, -0.035947792, 0.05055585, -0.10685589, 0.055952206, 0.04942887, -0.07230718, 0.035587184, 0.002834822, 0.049032222, -0.052862898, 0.021786802, -0.072216764, -0.027980471, 0.03741185) * conv2d_2_2_texOff(vec2(0, 0)); + result += mat4(0.01814372, -0.019199124, -0.088884816, -0.040276557, 0.011225926, -0.02392494, 0.12299576, 0.05498155, -0.083806716, -0.05359223, 0.048688833, -0.071507625, 0.11425632, 0.011466738, -0.031130789, 0.10929553) * conv2d_2_2_texOff(vec2(1, 0)); + result += mat4(-0.12265596, 0.028175121, -0.0036790764, -0.09918629, 0.04737664, 0.019807717, -0.00045996768, 0.0066755014, -0.0162506, -0.01321463, -0.108937465, -0.06427941, 0.0032976524, 0.0075977016, -0.033021495, -0.02953288) * conv2d_2_2_texOff(vec2(-1, 1)); + result += mat4(-0.076458454, -0.113163106, -0.012966943, 0.038921654, 0.062996395, 0.0022881832, 0.01811026, -0.02729255, -0.096882015, 0.06817397, 0.069015205, -0.021836668, -0.013949573, -0.06424284, -0.017807946, -0.02440056) * conv2d_2_2_texOff(vec2(0, 1)); + result += mat4(-0.07136498, -0.0038939524, 0.03900771, 0.03700254, 0.08741363, -0.0022454604, -0.0014154488, -0.028975487, 0.14422542, -0.06361462, -0.057330027, 0.114143476, 0.0009532344, 0.008226942, -0.033391457, -0.040312465) * conv2d_2_2_texOff(vec2(1, 1)); + result += mat4(-0.10975379, -0.050525855, -0.023568302, -0.08570266, -0.06840891, 0.005844911, -0.016350325, -0.023411466, -0.025871228, -0.020770235, -0.10654536, -0.1130113, -0.109810114, 0.043912157, -0.059932735, -0.064309366) * conv2d_2_3_texOff(vec2(-1, -1)); + result += mat4(0.070594735, -0.00608234, -0.04316723, 0.08306767, -0.0039995834, 0.011218607, 0.036084186, -0.035549276, 0.077730335, 0.02012915, 0.082858965, -0.011750897, -0.0038050998, 0.058458645, 0.18136276, 0.02796572) * conv2d_2_3_texOff(vec2(0, -1)); + result += mat4(0.037457623, 0.08951187, 0.08441385, -0.008001495, 0.09118148, 0.23848061, -0.00089086546, 0.08888437, 0.0076586376, 0.047595765, 0.1327579, 0.005664814, 0.011146499, -0.034713596, 0.03685316, 0.18071067) * conv2d_2_3_texOff(vec2(1, -1)); + result += mat4(0.017900744, 0.037109077, -0.013623201, -0.30673042, -0.0082627805, -0.007435282, -0.13231505, -0.039587397, 0.06336391, -0.0783978, 0.109691486, -0.006686191, -0.10050798, 0.1126066, 0.013973538, 0.017366186) * conv2d_2_3_texOff(vec2(-1, 0)); + result += mat4(0.088595815, 0.09434826, 0.42113963, 0.2181903, 0.09694992, -0.010170856, -0.033429187, 0.033083323, 0.11616692, 0.10753624, 0.014353337, 0.06309333, -0.0819036, -0.056370478, 0.00026780527, -0.050095692) * conv2d_2_3_texOff(vec2(0, 0)); + result += mat4(0.07765841, 0.055768788, 0.16893816, 0.0009272401, -0.005259585, 0.17665608, -0.012397951, 0.034331504, -0.1238305, -0.035179656, 0.017211473, -0.010246033, -0.03785887, -0.07037884, -0.0757905, -0.013359126) * conv2d_2_3_texOff(vec2(1, 0)); + result += mat4(0.2877394, -0.3015103, 0.09225844, -0.3142366, -0.030696675, 0.009979452, -0.013889809, -0.020587314, 0.03605473, -0.078756124, 0.053827375, 0.03301005, -0.09068779, 0.051264796, -0.012596591, 0.021768957) * conv2d_2_3_texOff(vec2(-1, 1)); + result += mat4(-0.067670435, -0.043262254, -0.1596326, 0.3030241, 0.01895088, 0.0040574265, -0.0051164655, -0.004656267, -0.03430412, 0.115382254, 0.07755916, -0.008027397, -0.18731835, 0.011346427, 0.023359256, -0.07611405) * conv2d_2_3_texOff(vec2(0, 1)); + result += mat4(0.3932418, 0.11982806, -0.102788575, 0.15125471, -0.10291859, 0.03685125, 0.019590132, -0.10249256, 0.021041844, 0.02601678, -0.11329641, -0.09111946, -0.10119382, -0.051561467, 0.07476287, -0.18138681) * conv2d_2_3_texOff(vec2(1, 1)); + result += mat4(0.10560016, -0.13546129, -0.036613513, 0.07997315, 0.099902645, 0.034502693, 0.07298287, -0.026949938, 0.15143749, -0.0467919, 0.0439646, 0.027021812, -0.026455887, 0.048353408, 0.066897824, 0.035629403) * conv2d_2_4_texOff(vec2(-1, -1)); + result += mat4(0.03900909, -0.009786942, 0.015355591, 0.06324531, -0.00981996, -0.014564315, 0.020297898, 0.034888506, 0.11754937, 0.052791104, -0.01691994, 0.036161087, -0.03435664, 0.025007345, 0.04006793, -0.059030153) * conv2d_2_4_texOff(vec2(0, -1)); + result += mat4(0.101145186, -0.07391174, -0.0074511142, 0.07465371, 0.08463312, -0.0026960683, -0.08909615, 0.036097363, 0.057600897, -0.015458208, -0.054448523, -0.012336991, -0.08196054, -0.0767501, 0.011967843, 0.008852817) * conv2d_2_4_texOff(vec2(1, -1)); + result += mat4(0.07402495, -0.0037017073, -0.056158654, 0.023373332, 0.018290255, 0.021874921, -0.11203274, -0.005267921, 0.05423887, 0.008000864, 0.04115322, -0.057570428, -0.044893872, -0.06941183, -0.0077723013, 0.069332905) * conv2d_2_4_texOff(vec2(-1, 0)); + result += mat4(-0.050966557, -0.017516239, 0.030560367, 0.09391085, -0.128995, -0.018876946, 0.08524631, -0.05506019, 0.11731248, 0.012692621, -0.04779738, -0.022259794, 0.04707504, 0.12959886, 0.026473269, -0.07922185) * conv2d_2_4_texOff(vec2(0, 0)); + result += mat4(-0.011894129, 0.054470845, 0.08677116, 0.023872146, 0.0059602275, 0.0812918, 0.038790215, 0.09172316, -0.008902236, 0.043471955, -0.105567835, -0.025899602, -0.012557201, 0.036291618, 0.0461713, -0.13611244) * conv2d_2_4_texOff(vec2(1, 0)); + result += mat4(0.026248284, 0.04591016, 0.0035202038, -0.040674426, 0.08938791, -0.04324288, -0.016800376, 0.023875188, 0.038754262, 0.012928615, -0.036349487, -0.0026156846, 0.071647264, -0.0074934694, 0.05402713, -0.07936617) * conv2d_2_4_texOff(vec2(-1, 1)); + result += mat4(-0.0015902558, -0.0026148849, 0.0035071715, -0.072128505, 0.033000067, -0.017013254, 0.08605147, 0.041127656, 0.057936415, -0.01251234, -0.04451689, 0.02884447, 0.08693841, 0.0076021347, 0.044980578, 0.044903275) * conv2d_2_4_texOff(vec2(0, 1)); + result += mat4(-0.11004734, 0.020374523, -0.02751872, 0.0056054727, 0.045503236, 0.022404682, -0.038243737, -0.08349946, 0.07479342, 0.010275628, -0.031498216, 0.009106534, 0.14483397, 0.049655586, 0.058452595, 0.023608496) * conv2d_2_4_texOff(vec2(1, 1)); + result += mat4(0.07059229, -0.072942354, -0.046564106, 0.060051035, -0.08757176, -0.020280551, -0.07507936, 0.014343428, 0.08454992, -0.03149941, 0.01841863, -0.039834507, 0.031424575, 0.06442456, -0.017531049, -0.019321451) * conv2d_2_5_texOff(vec2(-1, -1)); + result += mat4(-0.033820365, -0.09149963, 0.1379492, -0.028885376, -0.02155706, 0.021367133, 0.09755764, 0.09343826, 0.031593826, 0.079370745, 0.07474883, 0.022736179, -0.008981653, 0.021585256, 0.09717013, 0.13043514) * conv2d_2_5_texOff(vec2(0, -1)); + result += mat4(0.071485355, -0.025821334, -0.034782704, 0.08295012, 0.025483899, -0.0370539, -0.04923022, -0.043369286, -0.088932686, -0.04213422, -0.009571967, -0.009586513, 0.03923283, -0.013330958, -0.036393765, -0.012452708) * conv2d_2_5_texOff(vec2(1, -1)); + result += mat4(-0.007955947, -0.015396532, 0.0606414, -0.06604671, 0.013569603, -0.012920741, -0.042753957, 0.052371066, -0.06234184, -0.020281414, 0.01691426, -0.018859338, 0.059666887, -0.007792618, 0.091137946, 0.013203943) * conv2d_2_5_texOff(vec2(-1, 0)); + result += mat4(0.04950991, -0.029276315, 0.05333789, 0.046429027, 0.08598103, 0.012093643, 0.016167099, 0.13935785, -0.08649431, -0.023436934, 0.058711994, -0.024308898, -0.14311612, -0.03854239, -0.011153258, 0.09271113) * conv2d_2_5_texOff(vec2(0, 0)); + result += mat4(-0.048922174, -0.0012349652, -0.033578847, 0.033207037, 0.063778855, 0.04492899, 0.056527548, 0.0014426047, -0.116486765, -0.10522376, -0.010142692, -0.061665352, -0.1823303, -0.025917478, -0.016442949, -0.039305158) * conv2d_2_5_texOff(vec2(1, 0)); + result += mat4(0.11602028, 0.076338015, 0.032325927, 0.052642167, 0.0699499, 0.027113905, -0.029870162, -0.06214534, 0.057815764, 0.031652573, -0.0012677466, 0.028197495, 0.12950327, -0.0059223254, -0.0033589685, -0.24238108) * conv2d_2_5_texOff(vec2(-1, 1)); + result += mat4(0.052740067, -0.03091239, -0.0020769306, 0.004958028, 0.021336662, -0.01839474, -0.15227886, -0.00957193, -0.06660239, -0.03468546, -0.032061365, -0.027188256, -0.011418049, 0.016973997, 0.046178203, -0.05425492) * conv2d_2_5_texOff(vec2(0, 1)); + result += mat4(0.12359362, 0.06644732, 0.19678949, 0.009195905, 0.16860095, -0.025547309, -0.2378082, 0.025239842, -0.09690796, -0.0659429, 0.078829266, -0.015220184, -0.13456789, 0.078189135, 0.040802073, -0.016863095) * conv2d_2_5_texOff(vec2(1, 1)); + result += mat4(-0.0586213, 0.082730144, 0.047876, 0.02271868, -0.14374904, 0.009494682, 0.06518188, 0.015825523, -0.024352936, -0.071659915, -0.11085679, 0.010157067, 0.056892052, -0.040694136, -0.13312623, 0.1562372) * conv2d_2_6_texOff(vec2(-1, -1)); + result += mat4(0.048218757, -0.025627442, -0.0150366975, -0.07070127, -0.03160442, 0.11947794, -0.22880927, 0.0011263369, 0.01830078, -0.029966818, -0.07049896, 0.01311493, 0.019797916, 0.019647432, -0.06512579, -0.019401582) * conv2d_2_6_texOff(vec2(0, -1)); + result += mat4(-0.003684155, -0.11322871, 0.021595435, 0.014830626, -0.04636448, 0.045040462, -0.002180474, 0.049213458, 0.037397448, -0.06408552, -0.15158659, 0.07719345, 0.16637748, -0.037026074, -0.03668016, 0.016484372) * conv2d_2_6_texOff(vec2(1, -1)); + result += mat4(0.12923804, -0.012280064, -0.010375526, 0.04833682, 0.057614837, -0.058546394, 0.016395586, -0.017851833, 0.061571695, -0.011262792, 0.12893789, -0.023857925, -0.035589203, 0.06910929, 0.034011, -0.027480623) * conv2d_2_6_texOff(vec2(-1, 0)); + result += mat4(-0.044398885, 0.0070395926, -0.049497347, 0.094030105, 0.040831756, 0.051556204, -0.009156504, -0.029411184, 0.0747, -0.04733982, 0.13636045, -0.023569204, -0.16229048, 0.07731977, 0.0035111778, -0.05617703) * conv2d_2_6_texOff(vec2(0, 0)); + result += mat4(-0.038832314, -0.1289141, -0.028360402, -0.07850156, -0.07895707, 0.05480737, 0.042746365, 0.058534637, 0.023299074, 0.016785981, 0.05598676, 0.017842354, 0.064228185, -0.017762111, 0.102072656, -0.12268578) * conv2d_2_6_texOff(vec2(1, 0)); + result += mat4(-0.06433851, 0.11326531, -0.065978274, -0.004507696, 0.040716365, -0.03978195, -0.0534891, 0.018440284, -0.02380654, -0.02401716, 0.028100263, -0.03073389, 0.107564874, 0.016314628, 0.04168726, 0.020263473) * conv2d_2_6_texOff(vec2(-1, 1)); + result += mat4(-0.035460804, 0.0357486, -0.07622063, 0.03331792, 0.100973174, 0.08493305, 0.08144773, -0.07367592, 0.0234661, 0.019602658, -0.010997864, 0.00759759, 0.026850922, 0.016619274, -0.12808122, -0.20908085) * conv2d_2_6_texOff(vec2(0, 1)); + result += mat4(0.055375617, -0.06302854, 0.029809954, 0.08342864, -0.018393025, 0.013538995, -0.0005940099, -0.026758801, -0.09608356, 0.024706798, -0.04203143, -0.0070700157, 0.25693032, 0.073805705, 0.060309682, -0.28700766) * conv2d_2_6_texOff(vec2(1, 1)); + result += mat4(-0.1366952, 0.09315302, -0.0018156276, 0.02101165, 0.073012516, -0.015559723, 0.03573981, -0.018641973, -0.024274318, -0.040071514, 0.06052798, -0.041788667, -0.08454842, -0.020626208, 0.022051614, 0.10668839) * conv2d_2_7_texOff(vec2(-1, -1)); + result += mat4(-0.2505601, 0.0071259183, -0.037949115, -0.055478066, 0.18868317, 0.025103696, 0.006053843, 0.034363948, -0.00039524547, 0.011564555, 0.059246957, -0.048508056, -0.010334399, -0.032971673, 0.014907592, 0.051593527) * conv2d_2_7_texOff(vec2(0, -1)); + result += mat4(-0.14754188, 0.043181807, -0.0072030583, -0.043672103, 0.07966856, 0.04762748, 0.019842882, 0.04340642, -0.09294296, -0.037997905, -0.16734177, -0.011272238, -0.05091578, 0.031709615, -0.016463056, -0.009111754) * conv2d_2_7_texOff(vec2(1, -1)); + result += mat4(-0.17113103, -0.002401233, 0.091239154, -0.036546882, 0.017972274, -0.00366723, 0.06461849, 0.058298413, 0.037924875, 0.03269161, -0.014379665, -0.035273604, -0.031480096, 0.0327497, -0.06776037, 0.10130381) * conv2d_2_7_texOff(vec2(-1, 0)); + result += mat4(-0.14833392, -0.058305327, -0.04748128, -0.015210478, 0.15210019, 0.047967747, 0.022050526, -0.0047587645, 0.06876507, 0.0040694466, 0.060355138, -0.066510044, -0.083440125, -0.004101691, 0.024558842, 0.09156439) * conv2d_2_7_texOff(vec2(0, 0)); + result += mat4(-0.13313475, 0.09494233, 0.07570907, 0.057123035, 0.044783715, 0.005087251, -0.040658046, 0.042770818, -0.033790983, 0.03508607, -0.23358314, 0.3278477, -0.016507829, 0.0006220648, 0.02795928, 0.028450571) * conv2d_2_7_texOff(vec2(1, 0)); + result += mat4(0.024277275, 0.0017085826, 0.0346671, -0.07381716, 0.046998374, -0.00924105, -0.028158935, -0.011202935, -0.16901189, -0.033648815, 0.013998681, -0.11973414, 0.06475158, -0.049846448, -0.12599602, 0.14882696) * conv2d_2_7_texOff(vec2(-1, 1)); + result += mat4(0.009721639, 0.07289408, 0.053445093, 0.006440991, -0.014337965, -0.022745494, -0.038667556, 0.042440545, -0.038012926, -0.00510376, -0.06585122, -0.12761426, 0.11821854, -0.017705405, 0.04929374, 0.076878585) * conv2d_2_7_texOff(vec2(0, 1)); + result += mat4(0.008856413, 0.077851884, 0.040298983, -0.031463664, 0.027861431, -0.027248047, -0.08703795, -0.09507543, -0.22699015, -0.040289298, -0.4311762, -0.08651744, -0.08639272, 0.008488912, -0.0048553, 0.09333754) * conv2d_2_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-3-ReLU) +//!HOOK LUMA +//!BIND conv2d_2_0 +//!BIND conv2d_2_1 +//!BIND conv2d_2_2 +//!BIND conv2d_2_3 +//!BIND conv2d_2_4 +//!BIND conv2d_2_5 +//!BIND conv2d_2_6 +//!BIND conv2d_2_7 +//!SAVE conv2d_3_7 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0048161834, 0.009727377, -0.0014840926, 0.00012165853); + result += mat4(0.025039429, 0.03013667, 0.066278994, -0.041251805, 0.11108524, -0.035599016, -0.019618908, -0.21625993, -0.0063663092, -0.035127636, -0.027561767, 0.07097017, -0.036629375, -0.08694292, -0.15888155, 0.07487742) * conv2d_2_0_texOff(vec2(-1, -1)); + result += mat4(0.01053451, 0.057906907, 0.010747799, -0.035336517, -0.031514075, 0.010978614, 0.1364847, 0.12054768, -0.04888975, -0.045236163, -0.004386479, 0.03850302, -0.13129434, -0.0497297, -0.01575554, 0.12745252) * conv2d_2_0_texOff(vec2(0, -1)); + result += mat4(0.07361885, -0.021164313, 0.03291483, -0.0023651808, 0.10867506, -0.059129238, 0.020307926, 0.23388095, 0.01864443, 5.0188668e-05, -0.031115016, 0.026113056, 0.053476237, 0.021374516, 0.007745682, 0.18068732) * conv2d_2_0_texOff(vec2(1, -1)); + result += mat4(0.068105265, 0.04654239, 0.054366212, 0.046648163, -0.014712608, -0.08728475, -0.07377327, -0.10256862, 0.0907138, 0.055979583, -0.023511622, -0.1202632, -0.022994742, 0.029467953, -0.0005479362, -0.03756547) * conv2d_2_0_texOff(vec2(-1, 0)); + result += mat4(-0.08505834, 0.00938525, -0.058810808, -0.088856585, -0.09180542, -0.042714365, -0.027211154, -0.19100037, 0.046147816, 0.054606847, -0.014925635, -0.042089038, 0.015242426, 0.083354875, 0.0139945485, -0.09529067) * conv2d_2_0_texOff(vec2(0, 0)); + result += mat4(0.034838993, -0.067779, 0.019118404, 0.036017545, 0.046485517, 0.044608705, 0.070443206, 0.10072941, -0.040420387, -0.06284439, 0.02916565, 0.05087923, 0.09425728, -0.008005101, 0.0504385, 0.037141543) * conv2d_2_0_texOff(vec2(1, 0)); + result += mat4(-0.008921252, -0.08538477, 0.022146035, 0.077557944, -0.010804189, 0.07016124, -0.021790538, 0.03807131, 0.057998665, 0.0049246447, -0.0070678373, -0.050137855, -0.026693638, 0.06768647, -0.044545367, -0.049194336) * conv2d_2_0_texOff(vec2(-1, 1)); + result += mat4(-0.018764397, 0.012243927, 0.07004576, 0.053775206, 0.03829867, 0.044140514, 0.043141387, -0.0793715, 0.07910775, -0.03295387, -0.003991269, -0.0178852, 0.0052786316, 0.0019503211, 0.0021789467, 0.039799046) * conv2d_2_0_texOff(vec2(0, 1)); + result += mat4(-0.03042513, 0.07351083, 0.054963708, 0.037749436, -0.0058072065, 0.10559782, 0.11398138, 0.099258065, -0.02226356, 0.039224196, -0.04042163, -0.0060405685, -0.046095192, -0.05014155, 0.048033603, 0.0009503667) * conv2d_2_0_texOff(vec2(1, 1)); + result += mat4(-0.00017193946, -0.017799452, -0.06550852, -0.018298006, 0.034292143, 0.005284306, -0.0838539, 0.05411648, 0.0022133514, -0.05498127, -0.058025047, 0.034531265, -0.02646286, 0.0049115983, -0.06113505, 0.10165685) * conv2d_2_1_texOff(vec2(-1, -1)); + result += mat4(0.030522063, 0.028836124, 0.032255996, -0.008325959, 0.02264571, 0.047409266, 0.15453325, -0.00970025, -0.030810371, 0.002585828, -0.083726525, -0.09660199, 0.03273198, 0.06955148, 0.013121131, 0.10118008) * conv2d_2_1_texOff(vec2(0, -1)); + result += mat4(0.06658003, 0.01649771, 0.0018529936, -0.08962168, 0.03323653, -0.004410881, 0.09016291, -0.076761596, -0.068186045, -0.027106918, -0.025406722, -0.070550315, -0.033943158, 0.007863331, -0.06777041, 0.023896538) * conv2d_2_1_texOff(vec2(1, -1)); + result += mat4(-0.015557388, 0.013146597, 0.048693627, 0.11109193, 0.030822553, 0.04730767, 0.04284473, -0.02119772, -0.060836833, -0.036450367, 0.0829382, -0.0029457682, 0.12330495, -0.003126959, -0.021918938, 0.07005769) * conv2d_2_1_texOff(vec2(-1, 0)); + result += mat4(-0.034881778, -0.11052026, -0.005147006, 0.062039565, -0.027834788, -0.050364178, 0.036868006, -0.15456253, 0.025673283, -0.0032444703, 0.09323544, -0.042575147, -0.021729037, -0.028223272, 0.13033235, 0.014831642) * conv2d_2_1_texOff(vec2(0, 0)); + result += mat4(-0.08723661, 0.08905465, 0.018381136, -0.006458301, -0.069739, 0.0320874, 0.011091516, -0.12703207, 0.060842, 0.08111388, 0.037749477, 0.023236345, -0.047066208, 0.030507643, -0.043691333, 0.03118668) * conv2d_2_1_texOff(vec2(1, 0)); + result += mat4(-0.03807934, -0.04865967, 0.019920155, 0.059075076, 0.044192195, 0.014279638, 0.02932825, -0.1940962, -0.026829576, -0.002572771, -0.1005265, -0.05613515, 0.085755676, -0.056545272, -0.03735823, -0.10258416) * conv2d_2_1_texOff(vec2(-1, 1)); + result += mat4(-0.12418496, 0.020019868, 0.017953046, -0.029208219, 0.014698287, -0.05749513, 0.048885383, 0.15737984, -0.035876486, -0.042323653, 0.031207021, 0.019864652, -0.034112476, -0.026603572, -0.04378577, -0.062377583) * conv2d_2_1_texOff(vec2(0, 1)); + result += mat4(0.0051290607, -0.017384771, 0.0016366097, -0.10475058, -0.087537564, -0.007919272, -0.023316184, -0.0001621648, 0.0180734, 0.007751429, -0.18366235, 0.16231689, -0.10436554, 0.043097503, -0.011531957, -0.017831868) * conv2d_2_1_texOff(vec2(1, 1)); + result += mat4(0.0498927, 0.05218692, -0.022681305, -0.015645377, -0.14598949, 0.11817935, -0.048905812, 0.039967697, 0.08813842, 0.06267705, 0.0697879, 0.052240945, 0.0065163644, 0.048592135, -0.17908724, -0.060655646) * conv2d_2_2_texOff(vec2(-1, -1)); + result += mat4(-0.0018243379, 0.0025947585, 0.009814614, -0.10676828, 0.09453457, 0.029696338, 0.14458123, 0.15852074, -0.11801052, -0.12956372, -0.12853578, 0.040379547, -0.015193296, 0.032968912, 0.026786443, 0.04908736) * conv2d_2_2_texOff(vec2(0, -1)); + result += mat4(-0.078241765, -0.013350392, 0.042566918, 0.0767091, -0.0455118, -0.07297753, -0.06380186, -0.034506846, -0.018274622, 0.09590501, -0.12607604, -0.37873814, 0.01647588, -0.1384473, -0.05393799, 0.09654224) * conv2d_2_2_texOff(vec2(1, -1)); + result += mat4(0.05838379, -0.044477336, -0.055952173, -0.018866232, 0.20292205, -0.083229564, 0.014835593, -0.01167277, 0.032137908, 0.046264492, -0.015794264, 0.04020248, 0.11819242, -0.02981802, -0.11186192, -0.0070930133) * conv2d_2_2_texOff(vec2(-1, 0)); + result += mat4(0.09512601, 0.010587545, 0.14110008, 0.07213758, 0.038087778, -0.1515509, 0.013968052, 0.05263283, -0.10443906, 0.012997079, -0.10159136, -0.010662801, -0.1482716, 0.11994928, 0.00022833263, -0.07907922) * conv2d_2_2_texOff(vec2(0, 0)); + result += mat4(0.04007432, -0.0346192, -0.02490417, -0.00092985766, 0.0030980299, 0.018066602, -0.14455567, -0.03700813, 0.011129622, 0.011716246, 0.18371089, -0.038566772, 0.06507061, -0.013297414, 0.13203332, 0.06886218) * conv2d_2_2_texOff(vec2(1, 0)); + result += mat4(-0.053803936, 0.014978988, -0.02270739, -0.051912803, 0.045639157, 0.037899423, -0.1459817, -0.08397178, 0.051854413, -0.04659744, 0.04263632, 0.08683153, 0.10024677, 0.02457733, -0.02438646, -0.15865819) * conv2d_2_2_texOff(vec2(-1, 1)); + result += mat4(0.08589109, -0.1394415, 0.055111215, -0.036536504, 0.027107442, 0.16206259, -0.0198569, -0.2688596, 0.051260613, 0.06867203, -0.07404325, 0.13139188, 0.01743978, 0.019514129, 0.07657141, -0.053524166) * conv2d_2_2_texOff(vec2(0, 1)); + result += mat4(-0.08196984, 0.034083433, 0.039933063, 0.034187105, -0.012881695, 0.010053679, 0.029288182, -0.26414397, 0.07488915, -0.06362344, 0.07141748, 0.12971117, 0.09661248, -0.10887599, 0.018911485, -0.07946649) * conv2d_2_2_texOff(vec2(1, 1)); + result += mat4(0.06148454, 0.062326565, -0.16359001, 0.019364696, -0.081690095, 0.03085994, -0.037601285, 0.08285821, 0.14259322, -0.15454839, 0.015229282, -0.17833291, -0.07808946, -0.020126877, -0.043415286, 0.15833747) * conv2d_2_3_texOff(vec2(-1, -1)); + result += mat4(-0.028880436, 0.08411768, -0.22433567, -0.010715879, 0.037864115, 0.04998051, 0.03617211, -0.07036372, -0.005372421, -0.04414077, -0.047224466, 0.044577338, -0.12495246, -0.015916897, -0.0955271, 0.007864995) * conv2d_2_3_texOff(vec2(0, -1)); + result += mat4(0.0010807153, 0.012719104, 0.16710302, 0.1405584, 0.09146341, -0.00403967, -0.039430074, -0.017779345, 0.016238332, 0.052911565, 0.07756647, 0.122722276, -0.13983896, -0.063172, -0.040809985, 0.20213069) * conv2d_2_3_texOff(vec2(1, -1)); + result += mat4(-0.19201268, 0.15487988, -0.012884574, -0.16768973, 0.013003094, -0.026339417, 0.09256384, 0.03343729, -0.031111572, 0.004782513, -0.04024879, -0.1632102, 0.08728369, 0.0002995024, 0.057398874, 0.16353533) * conv2d_2_3_texOff(vec2(-1, 0)); + result += mat4(-0.13083121, 0.030363366, 0.021431942, 0.4032731, 0.15053168, -0.06569765, -0.2490553, -0.055408195, -0.038456034, 0.04965363, 0.05773032, 0.1423652, 0.12844715, -0.04914895, 0.016559193, 0.058504242) * conv2d_2_3_texOff(vec2(0, 0)); + result += mat4(0.1631078, 0.23093706, -0.03182444, 0.025724018, 0.060086288, 0.019565724, 0.1536841, 0.004579478, 0.09832495, 0.068251655, -0.023692409, -0.0045076497, -0.07173247, -0.07193232, 0.07395746, 0.05628922) * conv2d_2_3_texOff(vec2(1, 0)); + result += mat4(0.06906948, 0.025669511, 0.13647746, -0.41632786, -0.069520816, -0.011027584, 0.06329774, -0.004776293, -0.087015234, -0.040825143, 0.011575877, -0.13598055, 0.097276576, 0.055978924, 0.015107901, 0.2198481) * conv2d_2_3_texOff(vec2(-1, 1)); + result += mat4(0.23540613, 0.2821819, 0.48442444, -0.074784, 0.04111797, -0.01965276, -0.11504319, -0.043317694, 0.05264232, 0.057372928, -0.022012442, 0.047789007, 0.08072532, 0.120098144, -0.054656275, 0.18381414) * conv2d_2_3_texOff(vec2(0, 1)); + result += mat4(-0.09336368, 0.04913253, 0.023467408, 0.06904785, -0.05605766, -0.010474101, 0.02316119, -0.033795625, -0.1053315, 0.07061172, -0.044152703, -0.021998791, 0.03353562, -0.06461351, 0.019438695, 0.059416648) * conv2d_2_3_texOff(vec2(1, 1)); + result += mat4(-0.16097197, -0.021394448, 0.023789743, -0.107138745, -0.020833462, -0.08040261, -0.30237192, -0.021535706, -0.058765627, -0.049508896, -0.11361073, -0.036269322, -0.085492894, -0.018552022, 0.03488629, -0.044737786) * conv2d_2_4_texOff(vec2(-1, -1)); + result += mat4(0.008054611, -0.030155862, -0.042324197, -0.055047326, 0.12685855, 0.008053785, -0.060019594, -0.06877479, -0.024782764, -0.013649764, -0.0129432, 0.040209312, -0.052106936, 0.057914954, -0.0131666865, 0.042435385) * conv2d_2_4_texOff(vec2(0, -1)); + result += mat4(-0.04564159, 0.07540391, -0.0056589413, 0.028865052, 0.038488112, 0.10993601, -0.058215223, -0.13303073, 0.008834235, -0.016548006, 0.0016905958, 0.060742795, -0.07584547, 0.044790294, -0.09953135, 0.014456278) * conv2d_2_4_texOff(vec2(1, -1)); + result += mat4(0.046066795, -0.12501962, 0.09320583, -0.019297047, 0.06240062, -0.048627935, -0.11256255, -0.0046780575, 0.04539123, 0.016032249, 0.027271375, -0.028358923, -0.008181982, 0.018411344, -0.058723114, 0.03837226) * conv2d_2_4_texOff(vec2(-1, 0)); + result += mat4(0.10086399, 0.13765101, -0.12256986, 0.03439202, -0.0029659234, -0.035987392, 0.040269524, 0.04060219, -0.017777983, -0.13281606, -0.0646033, 0.022574596, 0.028000975, 0.08684196, 0.04040113, 0.038214803) * conv2d_2_4_texOff(vec2(0, 0)); + result += mat4(0.038991764, 0.055392474, -0.0066613494, 0.04243421, -0.1910127, 0.018373176, 0.09954618, -0.038060714, 0.05536985, -0.03603567, -0.031270254, 0.09394785, 0.011504363, 0.0031121976, -0.052518558, -0.0067013106) * conv2d_2_4_texOff(vec2(1, 0)); + result += mat4(-0.028291434, -0.013060494, 0.05817559, -0.0010428007, -0.025994496, 0.008046389, 0.17309935, 0.06595187, -0.10446754, 0.076147914, 0.03707188, -0.03495489, -0.046557296, -0.06644214, 0.026446134, -0.012873902) * conv2d_2_4_texOff(vec2(-1, 1)); + result += mat4(-0.062031344, -0.050695978, -0.03177188, 0.12806861, -0.112793036, 0.06328925, 0.055267602, 0.027236063, 0.0053047943, -0.07393548, 0.002481771, 0.14912559, -0.07452348, 0.025753919, -0.021673284, -0.033890687) * conv2d_2_4_texOff(vec2(0, 1)); + result += mat4(0.012970875, 0.06642164, -0.051823627, -0.027296813, 0.0015475005, -0.0070556025, 0.097733185, 0.062102888, 0.004256679, -0.04201944, 0.14691949, 9.580055e-05, -0.06878353, -0.022717414, 0.04510416, -0.08239188) * conv2d_2_4_texOff(vec2(1, 1)); + result += mat4(-0.16601802, -0.017521178, 0.059835937, -0.056342464, 0.0030827688, -0.029167177, -0.11598063, -0.0082606, 0.023394892, -0.07535003, -0.02153261, -0.1976546, -0.058474798, -0.016156284, -0.008770706, 0.14917687) * conv2d_2_5_texOff(vec2(-1, -1)); + result += mat4(-0.015971458, -0.16167422, 0.18459669, -0.009121645, 0.013279248, 0.058043435, -0.10655117, -0.015104323, -0.06305929, 0.033492852, -0.1195023, 0.038299646, -0.04701565, 0.034853194, 0.10056806, 0.05399733) * conv2d_2_5_texOff(vec2(0, -1)); + result += mat4(0.0018052562, 0.013512041, -0.007324447, 0.007375104, 0.031220974, 0.0056607425, 0.0744282, 0.08252725, -0.007226017, 0.093371026, 0.075735435, 0.03571601, -0.05629827, 0.024266792, -0.0038851092, 0.14397135) * conv2d_2_5_texOff(vec2(1, -1)); + result += mat4(-0.036950335, -0.10093537, 0.07024567, 0.06399347, -0.06305875, -0.011309829, -0.047329843, 0.071133845, 0.02238184, -0.080341466, -0.008996565, -0.019532885, -0.120638244, 0.027735464, 0.084603176, -0.058121376) * conv2d_2_5_texOff(vec2(-1, 0)); + result += mat4(0.10638112, 0.012843674, 0.053863034, -0.07924631, 0.0061549344, -0.0061487798, -0.07690018, 0.120016694, 0.032430727, 0.016141133, 0.08320398, 0.012747967, 0.00011170169, 0.015583843, -0.098869756, 0.023798442) * conv2d_2_5_texOff(vec2(0, 0)); + result += mat4(-0.07382349, 0.05695051, -0.093039915, 0.13353005, -0.043553807, -0.12247099, 0.068449646, 0.062183347, 0.009568971, 0.051284086, 0.027423859, 0.018051451, 0.0625508, -0.006262034, 0.095164426, -0.023082953) * conv2d_2_5_texOff(vec2(1, 0)); + result += mat4(-0.014499406, -0.09962365, -0.046233274, -0.026987324, -0.080520466, -0.020041099, -0.043208435, -0.1140247, 0.100632735, -0.039133776, -0.017542627, -0.015013006, -0.11261838, 0.019156555, 0.056716926, 0.02794268) * conv2d_2_5_texOff(vec2(-1, 1)); + result += mat4(-0.104332276, 0.00067116163, 0.011486868, -0.02324715, -0.04386467, -0.02179002, 0.039449517, -0.009794162, 0.02692965, 0.007013384, 0.010762319, 0.054397777, -0.014532465, 0.0135755995, -0.011916105, 0.09633229) * conv2d_2_5_texOff(vec2(0, 1)); + result += mat4(-0.12190228, 0.005577006, 0.078275226, 0.21963638, 0.05463154, -0.07478158, 0.07435063, -0.11177743, -0.03693591, 0.023422973, 0.007890107, 0.0437144, -0.0033894528, -0.05757877, -0.03856701, 0.16718155) * conv2d_2_5_texOff(vec2(1, 1)); + result += mat4(0.05398985, 0.12160649, -0.004154916, 0.11020438, -0.0054434533, -0.030270593, 0.13954386, 0.16648181, -0.05924101, 0.11836018, -0.088317364, -0.24899103, 0.022105196, 0.076612175, 0.06957454, -0.09132212) * conv2d_2_6_texOff(vec2(-1, -1)); + result += mat4(-0.04809194, 0.04506464, -0.05263419, 0.046268724, 0.08218097, -0.09193699, -0.05487312, -0.029752642, -0.059270844, -0.06706062, 0.0034371098, -0.24253054, -0.0026050017, -0.013805277, 0.048262678, -0.053186096) * conv2d_2_6_texOff(vec2(0, -1)); + result += mat4(-0.048656434, -0.014488852, -0.06517609, -0.08414191, -0.040279064, 0.09305432, -0.025716506, -0.029336095, 0.044734515, -0.0303104, -0.01445678, 0.09481804, 0.016243793, 0.13749605, 0.005229795, -0.08059736) * conv2d_2_6_texOff(vec2(1, -1)); + result += mat4(-0.10539772, -0.062517814, -0.027430216, 0.11036704, 0.0065636113, 0.104807526, 0.1036554, 0.20479633, -0.0009512837, 0.028802432, 0.07433156, -0.06408037, -0.056161437, 0.03480437, -0.0049670404, 0.09849436) * conv2d_2_6_texOff(vec2(-1, 0)); + result += mat4(0.026929732, -0.025046386, -0.0065072696, -0.031776782, -0.06696432, 0.087368496, -0.045297097, 0.038604088, 0.022063531, -0.035708424, 0.042398367, -0.00431404, -0.06143383, 0.11434435, 0.08455925, 0.16269188) * conv2d_2_6_texOff(vec2(0, 0)); + result += mat4(0.015829915, 0.013622377, 0.005927855, -0.054112952, -0.042142913, 0.06872065, -0.025095064, 0.077078, 0.034651488, -0.090789594, 0.09325271, 0.0364759, -0.040298473, -0.14072451, -0.0058100056, 0.08175222) * conv2d_2_6_texOff(vec2(1, 0)); + result += mat4(0.019015031, -0.033195302, -0.04160973, 0.00935932, -0.033673137, 0.027604073, -0.045354806, -0.05700751, -0.0441355, -0.021477083, -0.055929903, -0.09241882, 0.05054198, 0.11204668, 0.06125661, -0.02199262) * conv2d_2_6_texOff(vec2(-1, 1)); + result += mat4(0.02297847, 0.019128887, -0.024535242, 0.009913352, 0.04716015, -0.02355856, 0.014677698, 0.03826091, -0.10263012, -0.004401448, 0.07438234, -0.2861063, -0.027929597, -0.0135332765, 0.16186929, 0.10532077) * conv2d_2_6_texOff(vec2(0, 1)); + result += mat4(0.016538488, -0.02139744, -0.07594322, -0.034372874, -0.032610696, 0.01634037, -0.0756899, 0.035484433, -0.019604707, -0.01125339, -0.012588962, -0.08680792, -0.28332454, 0.041059986, -0.12442001, 0.0143209025) * conv2d_2_6_texOff(vec2(1, 1)); + result += mat4(0.013041002, 0.008023868, 0.031694073, 0.058765795, -0.049279045, -0.002904656, -0.2524823, -0.02578687, -0.01890075, 0.00046582083, -0.12554811, 0.039889243, -0.013595475, -0.097192094, 0.038101852, 0.075759426) * conv2d_2_7_texOff(vec2(-1, -1)); + result += mat4(0.006751577, 0.0058475942, -0.278344, 0.037722018, 0.039628185, -0.04992069, -0.16334732, 0.011836473, 0.09872208, -0.2149794, 0.09969364, 0.041867733, 0.1099937, 0.12006967, 0.00037919407, -0.05168876) * conv2d_2_7_texOff(vec2(0, -1)); + result += mat4(-0.0038252096, 0.04811779, 0.056996603, 0.057850122, 0.080309756, -0.049854923, -0.035782192, 0.04738296, -0.032009993, -0.011263951, -0.014912677, -0.07425344, 0.10239724, -0.043332003, -0.04682718, 0.029684488) * conv2d_2_7_texOff(vec2(1, -1)); + result += mat4(0.12857802, 0.098728, -0.007238617, 0.03669982, 0.028088702, -0.11264619, -0.051832594, -0.108777225, 0.06552528, 0.057554685, 0.07336488, 0.10953328, 0.10266074, 0.0034585434, 0.028738962, -0.086081594) * conv2d_2_7_texOff(vec2(-1, 0)); + result += mat4(0.017291013, -0.059617076, -0.05993366, 0.025428334, -0.053909708, -0.059065565, 0.13678956, -0.00061111554, 0.052553102, 0.16561043, 0.10288526, -0.100961536, 0.08168915, 0.06989565, -0.0076549286, -0.17282604) * conv2d_2_7_texOff(vec2(0, 0)); + result += mat4(0.073305905, 0.09868523, 0.00866687, 0.08481651, 0.022894427, -0.07961511, 0.09266052, 0.071177326, -0.045217164, 0.06814669, 0.083561994, 0.13499917, -0.025562255, -0.025103705, 0.050037745, -0.031530663) * conv2d_2_7_texOff(vec2(1, 0)); + result += mat4(0.06461073, 0.014583216, 0.017792573, -0.07175857, -0.133311, -0.033583492, -0.019498106, -0.2349789, -0.05546708, -0.1220457, 0.10431037, 0.06830799, 0.05739753, 0.026630053, 0.018223718, -0.034501947) * conv2d_2_7_texOff(vec2(-1, 1)); + result += mat4(-0.03324024, -0.035669602, -0.06857828, -0.0496221, -0.12507491, 0.03869728, -0.014420863, -0.28343892, -0.08641424, -0.03347238, 0.11473875, -0.026446642, -0.030720279, 0.003912336, -0.033452783, 0.059891287) * conv2d_2_7_texOff(vec2(0, 1)); + result += mat4(0.0004036007, 0.06545699, -0.03908309, -0.009077979, -0.055335563, -0.09674422, -0.01068964, -0.15166916, 0.14284396, -0.06313513, -0.061684247, 0.08862149, 0.07359198, 0.054906387, -0.040991988, 0.036530208) * conv2d_2_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-4-ReLU) +//!HOOK LUMA +//!BIND conv2d_3_0 +//!BIND conv2d_3_1 +//!BIND conv2d_3_2 +//!BIND conv2d_3_3 +//!BIND conv2d_3_4 +//!BIND conv2d_3_5 +//!BIND conv2d_3_6 +//!BIND conv2d_3_7 +//!SAVE conv2d_4_0 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0015804664, -0.0038044306, -0.003628573, 0.0049998662); + result += mat4(0.018706614, 0.16615464, -0.10133438, -0.017605592, -0.0016365208, -0.07361737, 0.08102467, -0.048724845, 0.06621774, 0.006320378, 0.046713166, -0.057468943, 0.06766072, 0.058498237, -0.00033488777, 0.007658247) * conv2d_3_0_texOff(vec2(-1, -1)); + result += mat4(-0.008550876, 0.03073904, 0.0007348921, 0.07233202, -0.02629998, 0.06157343, -0.034841698, 0.0206389, 0.054593448, -0.00036415027, -0.04007654, -0.052061975, 0.007784536, 0.04268053, 0.07741499, -0.067939624) * conv2d_3_0_texOff(vec2(0, -1)); + result += mat4(0.018630786, 0.07504131, -0.05062644, -0.028701287, 0.020525228, -0.003630721, -0.043092623, -0.009457563, -0.012248516, -0.103960566, 0.0783783, -0.20986807, 0.14586459, 0.08968545, -0.117051, -0.18037951) * conv2d_3_0_texOff(vec2(1, -1)); + result += mat4(-0.021255098, 0.13229105, -0.06420121, -0.07083409, 0.058743507, 0.03489165, 0.064032845, -0.041565023, -0.06547174, -0.013012421, 0.08656793, 0.0011133461, -0.034003235, -0.013117911, 0.19715177, -2.5379682e-06) * conv2d_3_0_texOff(vec2(-1, 0)); + result += mat4(-0.05377974, -0.035550397, 0.031313285, 0.0016598942, 0.068784654, 0.036285546, -0.093238, 0.058112122, 0.046265423, -0.050403178, -0.12872772, -0.05595508, 0.036330022, 0.08010485, 0.005891014, 0.005559466) * conv2d_3_0_texOff(vec2(0, 0)); + result += mat4(0.054361574, -0.017691871, 0.06329393, -0.011381623, -0.057599787, 0.016098121, -0.030586872, -0.046174455, 0.0034558869, 0.030984238, 0.27421623, -0.03846328, 0.12422474, 0.1380933, -0.13240746, -0.18763503) * conv2d_3_0_texOff(vec2(1, 0)); + result += mat4(0.07062856, 0.07041863, -0.03676231, 0.0372063, -0.054723445, 0.052489527, -0.054391883, 0.011763474, 0.048613597, 0.04801516, -0.006565869, -0.06656638, 0.053104535, 0.030685853, 0.17781071, -0.010670102) * conv2d_3_0_texOff(vec2(-1, 1)); + result += mat4(-0.028491594, 0.03759751, 0.030334478, -0.062390752, -0.053186987, 0.05777588, -0.067089625, 0.091050096, -0.000694065, -0.047468614, -0.03746065, 0.03500774, 0.1498348, 0.05099015, -0.13494958, 0.04879886) * conv2d_3_0_texOff(vec2(0, 1)); + result += mat4(-0.019462325, 0.011794182, -0.0058045657, 0.015473896, 0.124979116, 0.0075559006, 0.057004936, -0.020731885, 0.0128727285, -0.039582398, 0.13301392, -0.0005211295, 0.12236587, 0.07485313, -0.112934984, -0.08569721) * conv2d_3_0_texOff(vec2(1, 1)); + result += mat4(-0.03431349, -0.06350282, -0.045580875, 0.010457426, 0.008217867, 0.0602649, -0.057398647, -0.06884405, 0.06575881, 0.0058383, 0.010622837, -0.053522848, -0.103110075, -0.06420359, -0.018848946, 0.037413113) * conv2d_3_1_texOff(vec2(-1, -1)); + result += mat4(-0.16086812, -0.05914897, -0.009082222, -0.013259455, 0.024198428, -0.013805816, -0.09599477, -0.018419394, -0.0011804067, 0.021051995, -0.037006814, -0.05561041, -0.065699115, 0.0037821964, 0.10164613, -0.03932507) * conv2d_3_1_texOff(vec2(0, -1)); + result += mat4(-0.15297274, -0.0049770074, -0.08063661, -0.13374497, 0.0369586, 0.0432137, 0.030419704, -0.054192472, 0.029406067, -0.010044444, -0.061616052, -0.0733939, -0.07634798, -0.0909756, 0.02788719, -0.014020617) * conv2d_3_1_texOff(vec2(1, -1)); + result += mat4(-0.042105537, 0.038336914, -0.319104, -0.021905232, -0.043342367, 0.05930288, -0.12859093, -0.13378994, 0.014666672, 0.0056491387, 0.06355828, 0.025594749, 0.0850515, -0.043785453, 0.015689036, -0.07727216) * conv2d_3_1_texOff(vec2(-1, 0)); + result += mat4(-0.16799249, 0.0042400337, 0.002521733, -0.031103378, -0.050677173, 0.109450184, -0.01905515, -0.2143998, -0.062471364, 0.027835982, -0.106194265, -0.08695333, 0.06807246, 0.05039297, 0.09703668, -0.037425786) * conv2d_3_1_texOff(vec2(0, 0)); + result += mat4(-0.060882285, -0.07977987, 0.032461792, 0.0020529446, 0.029985175, -0.12091039, 0.06527382, -0.2447519, 0.08002997, -0.040043708, -0.019211078, -0.14518331, 0.066529185, -0.050670013, -0.08181706, -0.03279608) * conv2d_3_1_texOff(vec2(1, 0)); + result += mat4(-0.003281866, 0.041367915, -0.19808301, 0.105184935, 0.0053498773, -0.037028126, 0.020933133, -0.2748288, -0.030346015, 0.02540532, 0.0436486, 0.07518481, -0.01811427, -0.09522291, -0.17276257, -0.21784599) * conv2d_3_1_texOff(vec2(-1, 1)); + result += mat4(-0.04904132, -0.007972099, 0.057898555, 0.05203425, 0.076259635, -0.054375622, -0.07022325, -0.177137, 0.008473632, -0.1709254, 0.057873175, 0.0053210338, 0.056092404, -0.016926067, -0.06794677, -0.2865892) * conv2d_3_1_texOff(vec2(0, 1)); + result += mat4(-0.111966565, -0.05042494, 0.022084251, 0.06365792, 0.07804721, 0.080854885, 0.09255858, -0.27579957, 0.04858999, 0.021432186, -0.04945703, -0.025816083, 0.07537213, -0.010306645, 0.030546973, -0.06519352) * conv2d_3_1_texOff(vec2(1, 1)); + result += mat4(0.09767125, 0.033153802, -0.05957727, 0.010870081, -0.035111222, -0.07824629, 0.050994594, -0.010834929, 0.02084979, 0.049779754, 0.08902109, 0.039056998, 0.047547963, -0.06709675, -0.036082104, -0.0017112462) * conv2d_3_2_texOff(vec2(-1, -1)); + result += mat4(0.014810313, 0.01657996, -0.21423657, -0.033652883, -0.041725364, 0.039845653, -0.04717774, 0.13555083, -0.027639804, -0.048186366, 0.05492472, 0.074689895, -0.093381554, -0.16746365, -0.093820274, 0.049040154) * conv2d_3_2_texOff(vec2(0, -1)); + result += mat4(0.016235631, 0.04039087, -0.015865093, 0.03488632, -0.0095884055, -0.10066184, -0.0325296, 0.13481852, 0.017472068, -0.1397992, -0.005303525, -0.08390402, -0.005576867, 0.120187625, 0.055897206, -0.040443238) * conv2d_3_2_texOff(vec2(1, -1)); + result += mat4(-0.19222814, -0.055253725, -0.09768335, -0.045021586, -0.019479424, -0.071549125, -0.0026058704, 0.055574384, 0.042589467, -0.05363184, 0.091115914, 0.061255287, -0.002423155, 0.05997343, -0.2733199, 0.014474957) * conv2d_3_2_texOff(vec2(-1, 0)); + result += mat4(-0.11104647, -0.15873536, -0.094012015, 0.049662087, 0.10401917, 0.11317227, -0.041964002, -0.018432554, 0.010944653, 0.08633746, -0.14326158, 0.0013549542, -0.09240255, -0.021033201, -0.06358006, 0.04492234) * conv2d_3_2_texOff(vec2(0, 0)); + result += mat4(-0.038764287, 0.024117606, 0.030034702, 0.06619984, -0.106124334, -0.097190216, 0.074782565, -0.04947688, -0.15609471, -0.068144225, 0.078085706, -0.01822477, 0.04521416, -0.12264499, 0.17748064, -0.052423585) * conv2d_3_2_texOff(vec2(1, 0)); + result += mat4(0.025108917, -0.06518244, -0.05341441, 0.043738976, -0.026410516, -0.042192783, -0.1706324, -0.021371748, 0.05082983, -0.019333962, 0.093327776, 0.022390585, -0.087712474, -0.03365428, -0.101358615, 0.032270487) * conv2d_3_2_texOff(vec2(-1, 1)); + result += mat4(-0.06976486, -0.031713825, -0.10967085, 0.022449624, -0.042843614, 0.04197736, 0.063569866, 0.07488625, -0.025034077, -0.008617257, 0.13854389, -0.07063585, -0.04997987, 0.082154825, -0.024728412, 0.113326415) * conv2d_3_2_texOff(vec2(0, 1)); + result += mat4(-0.019680806, -0.013997739, 0.049881615, 0.056859866, -0.1136083, -0.047843084, 0.013091265, 0.0020920075, 0.015598382, 0.0069943853, -0.17995559, 0.040303726, -0.02850408, -0.0045849644, 0.21343595, 0.043854695) * conv2d_3_2_texOff(vec2(1, 1)); + result += mat4(-0.1147225, -0.06045445, -0.013250287, -0.060391854, 0.023465388, 0.109159864, -0.18252243, -0.014533833, -0.0063084075, -0.051704913, 0.07392728, -0.022996787, 0.047523025, -0.026261602, 0.061425406, -0.048074864) * conv2d_3_3_texOff(vec2(-1, -1)); + result += mat4(-0.030761221, -0.052301597, -0.0025084864, -0.008193687, -0.06715492, -0.05154212, 0.15635814, 0.071387425, 0.014004439, 0.0010462857, 0.05778743, 0.011557239, 0.07695908, -0.064795576, -0.047770817, 0.05259577) * conv2d_3_3_texOff(vec2(0, -1)); + result += mat4(-0.015963225, -0.083381854, 0.08912475, -0.013290094, -0.012768811, 0.042207126, -0.034879114, 0.10055751, -0.028177494, -0.198301, 0.1179056, 0.035278335, 0.03899826, 0.06403849, 0.010401718, 0.07227389) * conv2d_3_3_texOff(vec2(1, -1)); + result += mat4(-0.060929913, -0.0137457745, 0.0130044045, -0.048356548, 0.025486855, 0.17048772, -0.023742804, -0.08094858, -0.032699894, 0.010287465, -0.17216593, 0.06229366, -0.053031005, 0.059585527, 0.12925366, 0.038857684) * conv2d_3_3_texOff(vec2(-1, 0)); + result += mat4(0.020698728, 0.11740675, -0.0613403, -0.0814588, -0.032282386, 0.06365391, 0.13592468, 0.10139359, -0.16257925, -0.04797721, 0.22083487, 0.109866686, -0.02365958, 0.029943828, -0.1512407, 0.08434846) * conv2d_3_3_texOff(vec2(0, 0)); + result += mat4(-0.04383355, -0.09445361, 0.052858345, 0.032607436, 0.03612367, -0.06972076, -0.02454976, -0.019125998, 0.03071501, -0.04006583, -0.04057625, 0.0056392383, 0.014383232, -0.08453436, 0.052229047, -0.042576794) * conv2d_3_3_texOff(vec2(1, 0)); + result += mat4(-0.0671222, -0.028295191, -0.14950272, -0.03138896, 0.029396582, 0.0023157916, -0.02022847, -0.019711075, 0.036433194, 0.04929518, 0.10970725, 0.032099653, 0.060950432, 0.036022503, 0.087477796, -0.044098314) * conv2d_3_3_texOff(vec2(-1, 1)); + result += mat4(-0.071471766, -0.094870724, 0.028918972, 0.05731616, 0.13739824, 0.1547528, 0.056736063, 0.061816696, -0.031254187, 0.058529917, 0.17615087, -0.12860174, 0.061434586, -0.084237255, -0.09143404, -0.11121704) * conv2d_3_3_texOff(vec2(0, 1)); + result += mat4(-0.07994786, -0.18051727, 0.030859381, 0.0107953185, 9.3113435e-05, -0.022159606, -0.049645163, -0.02986814, 0.22832908, -0.043429576, -0.31544653, 0.042653833, -0.0870649, 0.078093484, -0.07615455, 0.018825369) * conv2d_3_3_texOff(vec2(1, 1)); + result += mat4(-0.022805315, -0.12695132, -0.06749027, -0.043987945, -0.06001443, -0.16000848, -0.1496332, 0.027508365, -0.068887584, 0.013230031, 0.09660183, -0.019787041, -0.044237558, -0.044283032, 0.0442183, -0.051186237) * conv2d_3_4_texOff(vec2(-1, -1)); + result += mat4(0.09275842, -0.004802516, 0.10686375, 0.025380403, -0.109600894, -0.14710417, 0.0029475, 0.04737855, 0.011770558, -0.097143814, 0.05563817, 0.0652745, 0.10224557, 0.09364036, -0.1321374, 0.023591392) * conv2d_3_4_texOff(vec2(0, -1)); + result += mat4(-0.0036059343, -0.046500497, -0.038338408, 0.05860707, 0.010447195, -0.009504354, 0.049770236, 0.050106872, 0.067891225, 0.09590973, -0.02107088, 0.0381016, -0.046945337, -0.07935132, -0.01582848, -0.12992474) * conv2d_3_4_texOff(vec2(1, -1)); + result += mat4(-0.06718964, -0.1270488, -0.11101901, -0.11639129, -0.027517658, -0.09217291, -0.41113213, -0.0070141237, 0.14649422, 0.07080694, -0.06706843, -0.0844863, -0.22744808, -0.027010445, 0.09881518, 0.06542304) * conv2d_3_4_texOff(vec2(-1, 0)); + result += mat4(-0.03519974, -0.041227486, 0.004090405, 0.010040108, -0.12932245, -0.10672012, 0.016868005, 0.108630136, -0.017671783, -0.042135827, 0.066751815, 0.111438096, 0.029664762, 0.004840486, -0.11095081, 0.034418743) * conv2d_3_4_texOff(vec2(0, 0)); + result += mat4(-0.042148273, -0.00031746752, -0.08885343, 0.07206456, -0.0357501, -0.0043528355, 0.027055958, -0.027298044, 0.019335978, -0.052719697, 0.016006848, 0.007566219, 0.06628788, 0.011045804, 0.08947792, 0.042388618) * conv2d_3_4_texOff(vec2(1, 0)); + result += mat4(-0.06762781, -0.0062833424, -0.055829264, 0.045787193, -0.020832958, -0.093480736, -0.062021796, 0.051753286, -0.05065059, -0.015302333, -0.18155584, -0.035277814, -0.0645375, -0.053698413, 0.10225124, -0.04876655) * conv2d_3_4_texOff(vec2(-1, 1)); + result += mat4(0.040966954, 0.049427476, 0.069262125, -0.07890081, -0.0955194, -0.05663177, 0.0695869, 0.108245246, -0.1171343, -0.02086799, -0.0025334703, 0.0076881424, -0.022264076, -0.032288007, -0.09923547, 0.09759789) * conv2d_3_4_texOff(vec2(0, 1)); + result += mat4(0.06770411, 0.041288607, 0.04110012, 0.0016651824, -0.018736895, -0.02405188, 0.105290994, -0.08417468, 0.0034806656, -0.05226793, 0.12670006, -0.052758206, 0.011962998, 0.08606856, 0.1265972, 0.030602075) * conv2d_3_4_texOff(vec2(1, 1)); + result += mat4(0.015416804, 0.065943286, 0.0145178195, -0.0554211, -0.021731056, -0.05070943, -0.024964035, 0.036552835, -0.07576484, -0.0058238986, 0.19253702, -0.06484195, 0.021156179, 0.019920222, -0.10575495, -0.012931202) * conv2d_3_5_texOff(vec2(-1, -1)); + result += mat4(0.059154052, 0.07415665, -0.01898686, -0.17245582, 0.044845905, 0.025927877, -0.023964886, 0.0729636, 0.1286964, 0.15014492, -0.02891633, -0.09148428, 0.05480264, -0.037624136, 0.008219043, 0.10425349) * conv2d_3_5_texOff(vec2(0, -1)); + result += mat4(0.049366154, 0.16506375, -0.034369953, -0.06672774, -0.047206927, 0.066692494, -0.009832372, 0.08448645, -0.15358709, 0.02081897, 0.027249707, 0.118566036, -0.014455933, -0.0005079403, -0.0536767, 0.0437288) * conv2d_3_5_texOff(vec2(1, -1)); + result += mat4(-0.013823828, 0.065340206, -0.016067626, -0.00937373, -0.012133142, 0.0003323078, 0.15206604, 0.01661443, -0.1209103, -0.031999268, 0.21175052, -0.041742653, -0.049927276, 0.015475797, 0.03152177, 0.06108948) * conv2d_3_5_texOff(vec2(-1, 0)); + result += mat4(0.012176819, 0.099177405, 0.007974098, -0.1557612, -0.0130201755, 0.015358788, -0.0335845, 0.023236588, 0.13805458, 0.04629405, -0.057350457, 0.10101297, 0.11372909, 0.05435978, -0.0749311, -0.09469021) * conv2d_3_5_texOff(vec2(0, 0)); + result += mat4(0.022428676, 0.17385055, -0.01628781, -0.09268437, 0.044886503, 0.099497154, -0.07609648, -0.061913833, -0.037771013, 0.21506666, 0.004847572, 0.21147002, -0.011121165, 0.07373857, -0.034470536, 0.093210645) * conv2d_3_5_texOff(vec2(1, 0)); + result += mat4(0.024994006, 0.050533053, 0.05986884, -0.0040020775, 0.00571005, -0.051764775, -0.041507203, -0.09433331, -0.06478752, -0.0076593724, 0.06256134, -0.01396287, -0.040680222, -0.1099815, 0.022841012, -0.08447082) * conv2d_3_5_texOff(vec2(-1, 1)); + result += mat4(0.015325295, 0.06131063, -0.08130751, -0.46391585, 0.0569385, 0.09448367, -0.024889715, 0.08806553, -0.05710256, -0.013388763, -0.071115665, -0.091755375, 0.017100437, 0.03830025, -0.123110324, -0.06852787) * conv2d_3_5_texOff(vec2(0, 1)); + result += mat4(0.08499787, 0.05041153, -0.0141712455, -0.22111756, 0.021573093, -0.037946258, -0.029436227, -0.072256036, -0.020896088, 0.054716546, 0.032097127, -0.07736367, -0.0645287, 0.06127089, 0.057020955, -0.06762995) * conv2d_3_5_texOff(vec2(1, 1)); + result += mat4(0.023521751, -0.043009292, 0.121617176, -0.09493799, -0.019555585, 0.08355108, -0.09493425, -0.12630379, -0.049446285, 0.06456461, 0.25245002, 0.058496132, 0.00629362, 0.053448897, 0.0025417425, -0.028992668) * conv2d_3_6_texOff(vec2(-1, -1)); + result += mat4(0.07287031, 0.12305148, 0.034898695, -0.06842664, -0.061226964, -0.0772007, 0.059925087, -0.0795371, -0.058265172, 0.060084697, -0.13745011, -0.0137089705, 0.047957838, 0.15136488, -0.048221994, -0.09193939) * conv2d_3_6_texOff(vec2(0, -1)); + result += mat4(0.044064227, -0.14743613, -0.04209506, -0.027353402, -0.03290639, 0.08566451, -0.02045466, 0.0615677, -0.033643164, 0.014779297, -0.0023379528, -0.12114879, -0.012494092, 0.0010660065, -0.038599007, -0.14909881) * conv2d_3_6_texOff(vec2(1, -1)); + result += mat4(0.04724417, -0.13072921, 0.1273986, -0.04312372, -0.011857862, 0.03111467, -0.06983107, 0.037953325, 0.1488008, -0.028867189, -0.10121992, 0.034068033, -0.027374003, 0.06629789, 0.043592073, 0.057870906) * conv2d_3_6_texOff(vec2(-1, 0)); + result += mat4(0.06150766, 0.27647898, -0.053189624, 0.14126022, 0.009253536, -0.08986206, 0.0254056, -0.036002006, -0.021398794, -0.04943254, 0.17804554, -0.05171411, 0.02291524, -0.085789636, -0.084769525, 0.000861088) * conv2d_3_6_texOff(vec2(0, 0)); + result += mat4(-0.010402258, -0.053476937, -0.0022894111, -0.003965239, 0.078008786, 0.09794152, -0.046315107, 0.037210356, -0.054727986, -0.006001755, -0.082219616, -0.29897043, -0.0009430335, 0.040889986, -0.015617444, 0.040487852) * conv2d_3_6_texOff(vec2(1, 0)); + result += mat4(0.03970394, -0.0118559245, 0.027917495, -0.02588839, 0.10111305, 0.043517426, -0.11016402, 0.027023932, -0.03471382, 0.030764164, 0.042674348, 0.05605701, -0.00030619287, 0.0020819514, -0.13580267, 0.1472039) * conv2d_3_6_texOff(vec2(-1, 1)); + result += mat4(0.00075921864, -0.019684741, 0.16831025, -0.036113758, -0.13009849, -0.16302465, 0.039524697, 0.056833975, -0.15612656, -0.018677788, 0.06970964, 0.10054492, -0.03814764, -0.16684555, -0.11262127, 0.11370861) * conv2d_3_6_texOff(vec2(0, 1)); + result += mat4(0.032260783, -0.12351121, -0.076271325, -0.11666758, 0.097372815, -0.06801551, 0.09509246, -0.05171701, 0.03821005, -0.038828857, -0.17247067, 0.07809735, -0.018067539, -0.04239243, -0.048227187, 0.039598484) * conv2d_3_6_texOff(vec2(1, 1)); + result += mat4(0.009589554, 0.006678052, 0.12022079, 0.08203776, -0.0132305315, -0.020544302, -0.12776804, -0.08679573, 0.035502557, 0.060390204, -0.15655544, -0.021236168, -0.0060780975, -0.03767171, -0.18487298, 0.03382637) * conv2d_3_7_texOff(vec2(-1, -1)); + result += mat4(0.067710124, 0.045046322, -0.0061837947, -0.038791012, -0.008010818, 0.042590015, -0.19402218, 0.00040344146, 0.0747313, -0.012027904, -0.043841384, 0.0012560155, -0.07675372, -0.036804102, 0.015903624, -0.026983371) * conv2d_3_7_texOff(vec2(0, -1)); + result += mat4(0.06790478, 0.0025601496, -0.028687304, -0.04788593, -0.09713656, -0.038052164, 0.06540302, 0.045702543, -0.062242404, 0.03657734, -0.113344945, 0.012567357, -0.10775977, -0.14935744, 0.06675478, 0.04527501) * conv2d_3_7_texOff(vec2(1, -1)); + result += mat4(0.05539224, -0.12987116, -0.029112933, 0.049083408, 0.0741401, 0.05473034, -0.22229046, -0.06797762, 0.13545576, -0.059149012, -0.058110476, 0.010420501, -0.0044311397, 0.028531734, -0.26114765, -0.1159827) * conv2d_3_7_texOff(vec2(-1, 0)); + result += mat4(0.07605979, 0.019671984, -0.029698908, 0.118396536, -0.04623072, 0.0038611956, -0.0021273948, 0.042941548, -0.050356176, -0.19826847, -0.14611807, 0.06370393, -0.15534377, -0.052327644, -0.117162056, -0.046091054) * conv2d_3_7_texOff(vec2(0, 0)); + result += mat4(0.06005896, 0.036566623, 0.012600479, -0.020896858, -0.0073263515, -0.083799474, 0.051343, 0.085098594, -0.0701527, 0.005854804, 0.034951873, 0.09915491, -0.08836578, -0.16720548, 0.07753428, 0.0146302115) * conv2d_3_7_texOff(vec2(1, 0)); + result += mat4(-0.0013678884, 0.0031123827, 0.04023751, 0.071022965, 0.02913987, 0.012066025, -0.07154453, 0.066969365, -0.071068235, -0.07037177, 0.11163354, -0.103932366, 0.12161176, 0.041581612, -0.10263719, -0.024771914) * conv2d_3_7_texOff(vec2(-1, 1)); + result += mat4(-0.02390924, -0.011547705, 0.043132447, -0.00901074, 0.02698658, 0.07888966, 0.011487444, -0.036536206, -0.05685629, 0.0899115, -0.10218136, -0.027837854, -0.23823105, -0.16937168, -0.039461046, 0.043466095) * conv2d_3_7_texOff(vec2(0, 1)); + result += mat4(0.027008604, -0.058229115, 0.108301885, 0.07198761, -0.08366371, -0.09404848, 0.0031145825, -0.045827273, -0.15457062, -0.078766845, 0.029128216, -0.07032586, -0.15143469, -0.058264464, 0.05912696, 0.024884354) * conv2d_3_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-4-ReLU) +//!HOOK LUMA +//!BIND conv2d_3_0 +//!BIND conv2d_3_1 +//!BIND conv2d_3_2 +//!BIND conv2d_3_3 +//!BIND conv2d_3_4 +//!BIND conv2d_3_5 +//!BIND conv2d_3_6 +//!BIND conv2d_3_7 +//!SAVE conv2d_4_1 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0061072186, -0.00016473095, -0.00831442, -0.0020987126); + result += mat4(-0.05555133, 0.009907645, 0.030017102, 0.06831108, 0.064930975, 0.043748785, -0.011230135, -0.065347925, 0.03623647, -0.0030964252, 0.07454275, -0.0670945, 0.0017236363, 0.025684329, -0.02215928, 0.030542945) * conv2d_3_0_texOff(vec2(-1, -1)); + result += mat4(0.037094403, 0.0008288886, 0.00775596, 0.049308065, -0.002233144, 0.09067249, -0.05631102, 0.016352633, -0.019671358, 0.013993207, -0.07509311, 0.08813484, 0.02796886, 0.027267799, 0.030823963, -0.054175876) * conv2d_3_0_texOff(vec2(0, -1)); + result += mat4(0.007149485, -0.07485261, 0.042280268, 0.047893487, 0.0130603565, -0.034279503, 0.026893716, -0.13640317, -0.11271277, -0.024857098, -0.010636121, 0.079576865, 0.05657646, 0.031606376, -0.07748084, -0.016961066) * conv2d_3_0_texOff(vec2(1, -1)); + result += mat4(0.025592798, -0.0057069818, -0.039899882, 0.027072513, 0.027012484, 0.043985557, 0.014814323, 0.10807523, -0.03541695, 0.025331788, -0.014283494, -0.018904699, -0.02313893, -0.03316723, -0.01269451, 0.052643124) * conv2d_3_0_texOff(vec2(-1, 0)); + result += mat4(-0.011090765, 0.06669238, -0.042841136, 0.010860423, -0.039455645, -0.05008564, 0.017887715, -0.011097118, -0.018009692, -0.0012655018, 0.22464526, -0.040904928, -0.02711021, 0.019240128, -0.113098525, 0.04649011) * conv2d_3_0_texOff(vec2(0, 0)); + result += mat4(-0.013374506, -0.054546136, -0.05002517, -0.032660794, 0.02285827, -0.005932452, 0.03559239, -0.0475589, -0.023903117, 0.028755004, 0.07360127, 0.04082158, 0.0902288, -0.047700945, -0.010745158, 0.04439131) * conv2d_3_0_texOff(vec2(1, 0)); + result += mat4(-0.08291466, -0.017797131, 0.029672395, -0.030541591, 0.057164613, 0.018366752, -0.0045255315, -0.0473372, 0.016328495, -0.0966861, -0.03922164, 0.020874124, 0.06871549, 0.020788543, -0.051894713, -0.018990006) * conv2d_3_0_texOff(vec2(-1, 1)); + result += mat4(0.03325583, -0.0012222934, 0.0043927543, -0.039175525, -0.04893639, 0.046210367, -0.033123273, 0.007086549, -0.03630781, -0.18427545, -0.082319945, 0.09141659, -0.04188956, 0.013740385, 0.0009128156, 0.038292244) * conv2d_3_0_texOff(vec2(0, 1)); + result += mat4(-0.0133779105, -0.06620531, -0.10096198, -0.089076445, -0.015375542, -0.019311491, -0.04908821, -0.007184585, -0.063907914, -0.03474316, 0.06845465, -0.004818449, 0.06597907, -0.044106115, -0.07296027, -0.24906346) * conv2d_3_0_texOff(vec2(1, 1)); + result += mat4(0.09413585, 0.06644448, 0.05145224, -0.087330684, -0.039611235, 0.013601862, -0.058429085, 0.04551375, 0.084282495, -0.032329604, -0.047285285, -0.06571276, -0.018843751, -0.06280049, -0.0998927, -0.035719752) * conv2d_3_1_texOff(vec2(-1, -1)); + result += mat4(0.027268313, -0.028332405, 0.21097468, -0.056393784, -0.06292559, 0.059429575, 0.058163952, 0.07808999, -0.11244603, -0.09529307, 0.063220866, 0.020263972, 0.021567961, -0.01723078, -0.16958131, 0.042552494) * conv2d_3_1_texOff(vec2(0, -1)); + result += mat4(0.12478643, 0.04576773, 0.08089422, -0.03490763, -0.14591636, -0.05310021, -0.06600819, 0.020733517, 0.060740247, 0.02228012, 0.059140656, 0.013993736, 0.06082484, 0.03105568, -0.10989536, 0.08261493) * conv2d_3_1_texOff(vec2(1, -1)); + result += mat4(-0.0504586, 0.06508409, -0.049398873, -0.16662608, -0.12616713, -0.044688534, 0.03846227, -0.022300463, -0.03327362, -0.15346925, 0.17793424, 0.036588836, -0.019084204, 0.06543384, 0.085067295, 0.05110127) * conv2d_3_1_texOff(vec2(-1, 0)); + result += mat4(-0.01786635, 0.12225962, -0.03375853, -0.22218688, 0.010858249, -0.033530798, -0.02049806, 0.08087927, 0.060930867, -0.06764787, 0.13100487, -0.073109254, 0.076791964, -0.00012586846, 0.026481742, 0.0062136976) * conv2d_3_1_texOff(vec2(0, 0)); + result += mat4(-0.1084866, 0.03762549, -0.09548972, -0.16640791, 0.03548651, -0.068881385, 0.023986844, 0.043238334, 0.019986533, -0.0017191919, 0.023733707, 0.041847404, -0.040570498, 0.038551062, 0.021904211, -0.016889142) * conv2d_3_1_texOff(vec2(1, 0)); + result += mat4(-0.0673545, -0.08435283, -0.023848081, -0.021350304, -0.07334422, -0.06278782, 0.013349973, -0.008666989, -0.033721317, -0.09444867, -0.057689294, 0.046325743, 0.0069185006, -0.0077961944, -0.05742224, 0.011132635) * conv2d_3_1_texOff(vec2(-1, 1)); + result += mat4(0.1188402, -0.03211058, 0.048204735, -0.09478723, -0.010398949, 0.044921976, 0.06594539, 0.05331555, 0.01996924, -0.077503495, 0.04379474, 0.016944509, 0.015829273, 0.0148369735, 0.04311943, -0.0695754) * conv2d_3_1_texOff(vec2(0, 1)); + result += mat4(-0.08061918, 0.025427856, 0.0036758187, -0.24266987, -0.0044095633, -0.059119944, 0.02889521, 0.053272076, -0.06583681, -0.034134936, 0.023660813, -0.012887086, 0.046629276, 0.02253306, 0.089339525, -0.0072067026) * conv2d_3_1_texOff(vec2(1, 1)); + result += mat4(-0.08627747, -0.0139554525, 0.06765061, -0.18625164, 0.03689903, 0.03735088, -0.025248291, -0.10713696, 0.06814156, 0.09136926, 0.046506178, -0.095904164, -0.008338034, 0.03780045, -0.08385991, 0.035627935) * conv2d_3_2_texOff(vec2(-1, -1)); + result += mat4(0.016342828, 0.015108024, -0.014508158, -0.13703516, -0.041924275, 0.084583044, -0.014051839, 0.0044254228, -0.007791246, 0.025674943, 0.0228861, -0.1261029, -0.026794566, -0.08544016, -0.051855624, 0.0015968281) * conv2d_3_2_texOff(vec2(0, -1)); + result += mat4(0.028327653, -0.06624925, -0.03714457, 0.046090834, 0.027620753, 0.052507635, 0.03213358, -0.09255217, 0.07488177, 0.01741449, -0.025269322, -0.027500547, -0.0648053, 0.010207977, -0.012219648, 0.022031177) * conv2d_3_2_texOff(vec2(1, -1)); + result += mat4(0.0033227606, -0.05663005, -0.04574952, -0.020807594, -0.036590092, 0.10508, 0.08536013, -0.14793053, 0.06301495, 0.057319973, 0.0392869, -0.0036850458, -0.021589058, 0.004451186, -0.038794346, -0.06644024) * conv2d_3_2_texOff(vec2(-1, 0)); + result += mat4(0.021570139, -0.002328515, 0.17560172, -0.10132863, -0.044285562, -0.16159439, 0.06307587, -0.1978661, -0.11880537, -0.00129896, -0.0508321, -0.03386858, 0.029877556, 0.1008922, -0.21476917, 0.031608585) * conv2d_3_2_texOff(vec2(0, 0)); + result += mat4(-0.08444895, -0.020932944, 0.09197004, -0.040623073, -0.056008935, 0.011273491, 0.0053994074, -0.19535914, 0.019299438, -0.012063091, -0.04706441, -0.056548283, -0.04922507, 0.043493163, -0.27584463, 0.0059334263) * conv2d_3_2_texOff(vec2(1, 0)); + result += mat4(-0.011051556, -0.11535073, 0.15798391, 0.005070084, 0.03583533, -0.070065595, -0.071961805, 0.045943722, 0.039262764, -0.09596367, -0.02011127, -0.11938158, 0.013030516, 0.022491124, 0.010147978, 0.049552597) * conv2d_3_2_texOff(vec2(-1, 1)); + result += mat4(0.02903141, -0.06797391, -0.10499285, 0.026030395, -0.062160347, -0.018225702, -0.036702015, 0.009951715, -0.03506354, 0.032366946, -0.043200698, -0.010277249, -0.120190054, -0.013806078, -0.046692178, 0.1406622) * conv2d_3_2_texOff(vec2(0, 1)); + result += mat4(0.006244261, -0.015698565, -0.008052686, 0.02607586, -0.0150536625, 0.076057374, 0.008160759, 0.0457343, 0.036242943, -0.021668058, 0.012621753, 0.01286513, 0.019122, 0.121596456, -0.002450053, -0.015888197) * conv2d_3_2_texOff(vec2(1, 1)); + result += mat4(-0.011238558, 0.0017032031, -0.05536977, -0.0955467, -0.082178436, 0.015276623, 0.1605585, -0.01151235, 0.08126428, -0.0057992344, 0.095712215, -0.077067606, 0.035119392, 0.011609007, 0.09267578, -0.090852074) * conv2d_3_3_texOff(vec2(-1, -1)); + result += mat4(0.07015741, 0.013536124, -0.07434335, -0.106196515, 0.039071333, 0.030651754, -0.025471596, 0.04807092, -0.046125304, -0.005336383, 0.0024000423, -0.09727577, 0.029159792, -0.047070067, 0.05118242, 0.16037795) * conv2d_3_3_texOff(vec2(0, -1)); + result += mat4(-0.035200372, 0.013126213, -0.023675837, 0.06987328, 0.0028089534, 0.0011208224, 0.09784349, 0.06984075, 0.10327891, 0.016681701, 0.05790606, -0.028778855, -0.028820444, -0.07107981, 0.015330806, -0.07963746) * conv2d_3_3_texOff(vec2(1, -1)); + result += mat4(0.017108364, -0.05585155, -0.031199947, 0.11534784, -0.0016899522, -0.03958112, -0.10693858, 0.056035727, 0.037524205, 0.0018771747, -0.0034373407, 0.018256366, -0.018820412, -0.10527664, -0.0425959, -0.0031975792) * conv2d_3_3_texOff(vec2(-1, 0)); + result += mat4(-0.0068094893, -0.07368841, -0.07336601, -0.05106255, 0.119756326, 0.09267543, -0.18641104, -0.014572168, 0.055543065, -0.028005479, -0.0203162, 0.10471316, -0.04657727, 0.047923844, -0.17196353, -0.0071904142) * conv2d_3_3_texOff(vec2(0, 0)); + result += mat4(-0.011437279, 0.05802119, 0.06930897, 0.013184653, -0.030186335, -0.008259032, -0.112418704, 0.047279183, 0.052058123, 0.06591099, 0.16176772, 0.14426062, -0.03343393, -0.0624436, -0.021434642, 0.06874435) * conv2d_3_3_texOff(vec2(1, 0)); + result += mat4(-0.00072183134, 0.017626574, 0.08440605, -0.04520955, -0.027798716, 0.021879902, 0.12897266, -0.024260756, 0.04358405, 0.008837475, -0.027432002, -0.059347138, 0.027155425, -0.013462658, 0.07979891, 0.037821583) * conv2d_3_3_texOff(vec2(-1, 1)); + result += mat4(-0.018819613, -0.03129012, 0.044792652, -0.027199417, 0.0010351132, 0.0052289567, 0.07979193, -0.103131816, 0.012816141, 0.10633513, -0.2478997, -0.02396936, 0.016666649, 0.06393786, -0.0060065854, 0.045593284) * conv2d_3_3_texOff(vec2(0, 1)); + result += mat4(0.047775693, 0.10023525, 0.058871344, 0.030437427, -0.043634757, -0.03715778, 0.11454104, -0.0814172, -0.07307213, -0.070162386, -0.12071021, -0.28296897, -0.030172769, 0.019608147, 0.03814432, 0.028654147) * conv2d_3_3_texOff(vec2(1, 1)); + result += mat4(0.027953887, -0.04257743, 0.1268331, 0.030893805, -0.030173805, -0.026779486, -0.04265322, 0.011727084, 0.047442507, 0.077255644, -0.09563305, 0.12633984, 0.08903872, -0.008407183, -0.06384755, -0.07369501) * conv2d_3_4_texOff(vec2(-1, -1)); + result += mat4(0.05813343, -0.04391682, 0.080176875, 0.0043620192, 0.032691583, 0.08965384, 0.07076838, -0.16312739, -0.0011124265, 0.06469311, 0.09219247, 0.0070274295, 0.014803089, 0.008920285, 0.0045533385, -0.0527906) * conv2d_3_4_texOff(vec2(0, -1)); + result += mat4(0.043116055, 0.027927972, -0.06584836, 0.015935037, -0.005248417, 0.060533494, 0.08806245, -0.062337756, -0.011353424, 0.042351365, 0.007185217, 0.10756737, 0.04988853, -0.010079458, 0.07128236, -0.10375051) * conv2d_3_4_texOff(vec2(1, -1)); + result += mat4(-0.0013383926, 0.08932383, 0.0417931, 0.06565833, -0.066205315, -0.006596173, -0.1208233, -0.07111459, -0.09118281, 0.03642881, -0.08260205, -0.033975422, 0.03877246, -0.03110848, -0.05632086, -0.036988188) * conv2d_3_4_texOff(vec2(-1, 0)); + result += mat4(-0.09982438, -0.047307603, -0.016758181, -0.100163735, -0.018426085, 0.06900546, -0.29462343, -0.07083321, -0.004624839, 0.03469858, -0.1767586, -0.030222552, -0.062296383, -0.03917537, 0.18547758, 0.118615836) * conv2d_3_4_texOff(vec2(0, 0)); + result += mat4(0.022409143, -0.012265641, -0.039356958, 0.0155480215, -0.04026739, 0.083194785, 0.05245501, -0.0148359705, 0.030250976, 0.02656142, -0.0723656, 0.026216717, -0.04194125, -0.021187745, -0.040035635, -0.18176708) * conv2d_3_4_texOff(vec2(1, 0)); + result += mat4(0.036372144, 0.08902657, 0.032046717, -0.05453333, -0.014221338, -0.019401848, -0.09114826, 0.0418566, 0.019037355, 0.09815341, 0.017588736, 0.011043524, 0.057046466, 0.063022085, 0.06320325, 0.02023955) * conv2d_3_4_texOff(vec2(-1, 1)); + result += mat4(-0.050286658, -0.03259273, -0.025832443, -0.033904582, -0.011880629, 0.04409094, -0.2327753, 0.10298493, -0.0146542685, 0.044804364, 0.15322438, 0.041663993, -0.0041781445, -0.019536553, 0.035680756, 0.029406851) * conv2d_3_4_texOff(vec2(0, 1)); + result += mat4(0.06421422, -0.011869183, -0.076941505, 0.018241543, 0.04655919, 0.08476051, -0.03723423, 0.27165037, -0.023605948, 0.007386334, 0.011624948, 0.10100716, -0.04425242, 0.019167423, 0.031097379, 0.06683003) * conv2d_3_4_texOff(vec2(1, 1)); + result += mat4(-0.049175013, -0.06679547, 0.009842068, -0.038205106, -0.032395486, 0.024768777, 0.09659816, -0.008628422, 0.006174216, -0.0569991, -0.028231023, 0.004303191, -0.06719057, -0.025744364, 0.10732447, -0.097373076) * conv2d_3_5_texOff(vec2(-1, -1)); + result += mat4(0.04135847, -0.038735565, -0.02248978, -0.03575148, 0.026917875, -0.039798137, -0.03877918, -0.033256702, -0.061393887, -0.014626109, -0.17212515, -0.02882923, 0.03329844, 0.0005753283, -0.06924724, 0.0516359) * conv2d_3_5_texOff(vec2(0, -1)); + result += mat4(0.045267574, -0.07765106, 0.021617008, -0.08917944, 0.0425584, 0.011819779, 0.083759554, -0.020602554, 0.018629188, 0.0619638, -0.14236535, -0.09088492, -0.031021947, 0.004137095, 0.07039997, -0.06669237) * conv2d_3_5_texOff(vec2(1, -1)); + result += mat4(-0.10412178, -0.06821978, -0.009376344, -0.10724991, 0.040979564, 0.03991723, -0.05481046, -0.03662498, 0.06621457, -0.02566576, 0.16577493, 0.012722938, 0.015161039, 0.00769656, -0.030703532, -0.011005145) * conv2d_3_5_texOff(vec2(-1, 0)); + result += mat4(0.06132132, -0.040666096, 0.03614608, 0.043366693, 0.011246473, -0.029649729, 0.09704192, -0.005357341, -0.042611357, -0.0040473454, 0.13435718, 0.017770797, 0.010299275, 0.059667412, -0.3228306, -0.072058514) * conv2d_3_5_texOff(vec2(0, 0)); + result += mat4(-0.032430697, -0.015933631, 0.03804605, 0.0015630823, 0.05146647, 0.007760148, 0.05184452, -0.035486367, 0.16287257, 0.020889807, -0.016808605, -0.0027578864, -0.00983689, 0.017967414, -0.1497657, -0.023578689) * conv2d_3_5_texOff(vec2(1, 0)); + result += mat4(-0.047741544, -0.0674839, -0.011459704, 0.0027790328, 0.024662247, 0.013124674, -0.07872517, -0.014549725, -0.0020592648, 0.028392863, -0.04811534, 0.119053215, 0.058230408, 0.0758903, -0.002053968, -0.07950751) * conv2d_3_5_texOff(vec2(-1, 1)); + result += mat4(-0.039618712, -0.026345039, -0.07730614, -0.011386788, -0.042055756, 0.0581805, -0.033499237, -0.014847153, -0.09238047, 0.05647376, -0.2639677, 0.03909353, -0.04899338, 0.048105955, 0.00821775, 0.02301182) * conv2d_3_5_texOff(vec2(0, 1)); + result += mat4(-0.011532182, -0.07956592, 0.02614665, 0.027822217, 0.034414176, 0.0044247727, 0.04680813, 0.103875354, 0.049063306, 0.02453779, -0.08866842, 0.036089815, -0.0590266, -0.054534677, -0.07177492, -0.014548463) * conv2d_3_5_texOff(vec2(1, 1)); + result += mat4(0.008328182, 0.051831983, -0.11147683, 0.16845107, -0.035666723, 0.02115152, 0.06340138, -0.055948313, 0.08956453, 0.03383547, 0.022037974, 0.005859562, 0.018056756, 0.034560904, -0.015019886, 0.045243543) * conv2d_3_6_texOff(vec2(-1, -1)); + result += mat4(-0.119384766, -0.044576436, -0.123205185, 0.056620676, 0.03059588, 0.008447929, -0.069402926, 0.05003846, -0.03168592, 0.039400954, 0.052116334, -0.014829764, -0.03739895, 0.0011307594, 0.023558866, -0.0010353045) * conv2d_3_6_texOff(vec2(0, -1)); + result += mat4(0.020604985, 0.03829853, -0.07178288, 0.038766228, -0.010577759, 0.05239421, -0.029033707, 0.007398321, 0.070302494, -0.027272051, -0.04513423, -0.08755365, -0.030427584, 0.05512685, -0.10133613, -0.01354409) * conv2d_3_6_texOff(vec2(1, -1)); + result += mat4(0.045655087, -0.010780689, 0.18530732, 0.030947683, -0.04458518, 0.020174827, -0.044197503, -0.074608214, 0.031570293, -0.009409739, -0.094079226, 0.02308208, -0.039779846, -0.06312654, -0.1229876, -0.059108067) * conv2d_3_6_texOff(vec2(-1, 0)); + result += mat4(0.033577, -0.104027264, 0.14230324, 0.04181207, 0.08429016, -0.002420776, 0.044587683, 0.06724051, -0.01710488, -0.121109195, 0.19245991, 0.020002374, 0.06272429, 0.054695357, 0.039389253, -0.04215225) * conv2d_3_6_texOff(vec2(0, 0)); + result += mat4(0.103099056, -0.076679096, 0.044631336, -0.0017178098, 0.027193913, -0.056498855, -0.08171553, -0.0045826174, -0.033700623, 0.051741444, 0.043901842, 0.05975472, 0.047614824, 0.018316356, 0.050674688, -0.17392935) * conv2d_3_6_texOff(vec2(1, 0)); + result += mat4(0.050746307, -0.06927893, -0.07388271, -0.14207588, 0.031679474, 0.088145636, 0.13731, -0.0646985, 0.006077401, 0.013773408, 0.031894207, 0.07830646, -0.037711978, -0.058057, -0.04439461, -0.03736185) * conv2d_3_6_texOff(vec2(-1, 1)); + result += mat4(-0.026818063, -0.07921293, -0.04411991, -0.055056427, 0.04720832, 0.008428782, 0.067506224, -0.0005139902, 0.04699322, 0.1440894, 0.14249481, 0.01014312, -0.009135011, -0.0073810313, -0.08339491, -0.015164385) * conv2d_3_6_texOff(vec2(0, 1)); + result += mat4(0.05629829, -0.07031563, 0.12171439, 0.038373217, 0.02823365, -0.0230753, 0.10722627, 0.021266991, 0.044287764, 0.057805005, 0.051360413, -0.013467288, -0.089045346, 0.053073376, -0.103241675, -0.043693025) * conv2d_3_6_texOff(vec2(1, 1)); + result += mat4(0.028871885, 0.069700636, -0.024258882, -0.02752711, 0.00019105503, -0.015016382, 0.092230625, -0.035966754, -0.0911522, -0.066530384, 0.042826068, 0.019506814, -0.0031559125, -0.026756383, -0.06951716, 0.0120411385) * conv2d_3_7_texOff(vec2(-1, -1)); + result += mat4(0.007964552, 0.06423418, -0.12547295, -0.12769473, 0.095203556, -0.03509058, 0.04168362, -0.04878981, 0.072239704, -0.08613984, 0.19031352, 0.013566257, 0.03237939, 0.002960456, -0.00543912, -0.090702906) * conv2d_3_7_texOff(vec2(0, -1)); + result += mat4(-0.029906364, 0.02312954, -0.039068405, -0.16190009, -0.09224569, -0.031059807, 0.06936328, -0.11263341, 0.013503711, 0.037817467, 0.011086927, -0.06384579, -0.05616779, 0.005781088, 0.052223373, -0.17636453) * conv2d_3_7_texOff(vec2(1, -1)); + result += mat4(0.0074241087, 0.036873545, 0.111926146, -0.033447262, -0.08061299, 0.04715982, 0.0057490836, -0.12234012, -0.019855713, -0.052541237, 0.027803965, -0.022309737, -0.018564835, -0.040394727, -0.082092635, 0.05010123) * conv2d_3_7_texOff(vec2(-1, 0)); + result += mat4(-0.06789611, -0.04384773, 0.03025476, -0.1414503, -0.06307834, 0.07117125, 0.0019074578, 0.056261003, 0.045844253, 0.12343522, -0.080539405, 0.031254523, -0.04873932, -0.026298422, -0.046114504, 0.10815782) * conv2d_3_7_texOff(vec2(0, 0)); + result += mat4(0.015875384, 0.009898091, -0.0092575485, 0.0018433528, 0.033258416, 0.053746384, -0.1040333, 0.040147837, -0.18597893, 0.0095051285, -0.09706317, 0.11498624, -0.13649859, 0.024711078, -0.09361495, -0.095815495) * conv2d_3_7_texOff(vec2(1, 0)); + result += mat4(-0.0045639714, -0.06725901, -0.10461258, 0.016652897, 0.0071862973, -0.042781986, 0.041690163, 0.0017894265, -0.017133756, 0.043727748, -0.008021358, -0.03354333, 0.04841632, -0.061214298, -0.055060443, 0.0757587) * conv2d_3_7_texOff(vec2(-1, 1)); + result += mat4(-0.02565285, 0.015384623, -0.08513364, 0.012970113, -0.008472655, -0.02128074, 0.018568132, 0.053567577, -0.006417896, -0.08540258, 0.019828836, -0.0133347735, 0.0046054414, 0.07779871, -0.076674975, 0.023468275) * conv2d_3_7_texOff(vec2(0, 1)); + result += mat4(-0.012075245, 0.023621721, -0.02740885, 0.101528905, -0.018284526, 0.0020834703, 0.002139, 0.11068604, 0.09154123, -0.014122623, 0.020609705, -0.08527345, -0.0049329046, 0.0658914, -0.054329924, 0.10539874) * conv2d_3_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-4-ReLU) +//!HOOK LUMA +//!BIND conv2d_3_0 +//!BIND conv2d_3_1 +//!BIND conv2d_3_2 +//!BIND conv2d_3_3 +//!BIND conv2d_3_4 +//!BIND conv2d_3_5 +//!BIND conv2d_3_6 +//!BIND conv2d_3_7 +//!SAVE conv2d_4_2 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0037414776, -0.008942531, -0.0019100541, 0.0044174613); + result += mat4(0.004484741, -0.036167882, 0.009847092, -0.059477314, -0.022828026, 0.030624412, 0.01048997, -0.01292663, 0.028656546, 0.030830521, 0.00242591, 0.057176635, 0.09097583, 0.041024026, 0.026813053, -0.016347919) * conv2d_3_0_texOff(vec2(-1, -1)); + result += mat4(-0.032842763, 0.04552943, -0.04368343, -0.07074871, -0.038557295, 0.03868456, -0.0015166008, 0.060066693, 0.027881479, -0.0025662724, -0.011144619, 0.028063614, 0.006946134, 0.048274852, -0.013009583, -0.012165507) * conv2d_3_0_texOff(vec2(0, -1)); + result += mat4(-0.036498155, -0.13183525, 0.021419115, -0.01784249, 0.07434229, 0.03601352, -0.015408686, -0.055577304, -0.0048858454, 0.0035838033, 0.12113434, -0.023081005, 0.03269293, -0.08395392, -0.022953006, 0.0009862087) * conv2d_3_0_texOff(vec2(1, -1)); + result += mat4(0.033841606, -0.06765055, 0.033711474, -0.014560319, -0.119537376, 0.01824985, -0.012731271, -0.042087957, 0.07293949, 0.024198337, 0.0628577, -0.034802165, 0.11070003, 0.06494943, -0.0010466138, 0.05882893) * conv2d_3_0_texOff(vec2(-1, 0)); + result += mat4(0.028576285, 0.057043213, 0.08596521, -0.06432868, -0.076701835, -0.0402682, 0.006439564, -0.021807622, -0.04212013, 0.0881013, -0.10644234, 0.13514292, 0.06936173, 0.08546055, 0.054745518, 0.05199153) * conv2d_3_0_texOff(vec2(0, 0)); + result += mat4(0.034520708, 0.074494414, -0.02584861, -0.09239, -0.018922983, -0.1165058, 0.0043572555, 0.02536176, 0.016209872, -0.08826549, 0.06420475, 0.10934232, -0.009979831, 0.08219814, -0.024342576, 0.12715061) * conv2d_3_0_texOff(vec2(1, 0)); + result += mat4(0.02894293, -0.0010711614, 0.016368678, 0.003707369, -0.072975494, -0.070197195, -0.010618335, 0.05662138, -0.082513645, 0.02252169, 0.004864933, 0.04351783, 0.0731072, 0.033954754, 0.07968599, 0.000199645) * conv2d_3_0_texOff(vec2(-1, 1)); + result += mat4(-0.03218991, -0.2123559, 0.05235623, -0.03925436, 0.074835144, -0.057651293, 0.008876883, -0.036585804, -0.025672048, 0.058425043, 0.03650923, 0.060423113, 0.018797008, -0.027644409, -6.483469e-05, 0.027819235) * conv2d_3_0_texOff(vec2(0, 1)); + result += mat4(-0.015199536, 0.056643598, 0.001992232, -0.025052974, 0.056276117, -0.040917616, -0.008335047, -0.011062116, 0.002939601, 0.04067819, 0.0024955678, 0.123486444, -0.042659055, 0.022091271, 0.050526906, -0.06748235) * conv2d_3_0_texOff(vec2(1, 1)); + result += mat4(-0.0016714755, 0.052304633, -0.04289812, 0.0049488535, -0.112180464, -0.029048778, 0.01698139, 0.008288524, 0.08404076, -0.05043747, -0.03176555, 0.05927947, 0.0034910853, -0.057448074, 0.014577508, -0.14276062) * conv2d_3_1_texOff(vec2(-1, -1)); + result += mat4(0.079174004, 0.10550688, -0.023277357, 0.0044404455, 0.06283814, -0.036640268, 0.027231714, -0.013710024, -0.047359023, -0.067529246, 0.041360572, 0.12454084, 0.03502521, 0.048834167, -0.03595462, -0.06001178) * conv2d_3_1_texOff(vec2(0, -1)); + result += mat4(-0.046270914, 0.17629123, -0.020664372, 0.0009171014, 0.023216214, -0.025131289, -0.014699031, 0.041209262, 0.010299059, 0.07659915, 0.0053361366, -0.08090268, -0.03487455, -0.06447407, 0.019916475, -0.05139665) * conv2d_3_1_texOff(vec2(1, -1)); + result += mat4(-0.18963557, 0.018066667, 0.0037690355, -0.094158195, 0.07189466, 0.03463454, 0.018669048, -0.01489584, 0.009428244, 0.02217091, -0.03917222, -0.0043844585, -0.003852937, -0.08082797, 0.035934392, -0.019763049) * conv2d_3_1_texOff(vec2(-1, 0)); + result += mat4(-0.19222623, -0.11573391, -0.00954242, -0.09974071, 0.14179039, 0.032932617, -0.012414112, -0.03413563, -0.037066013, 0.04547361, -0.022495942, 0.117219925, 0.08693785, -0.128567, 0.018197402, -0.072188064) * conv2d_3_1_texOff(vec2(0, 0)); + result += mat4(0.0302838, 0.02201547, -0.020979539, 0.070871174, 0.000803711, 0.15209037, -0.045451466, -0.03853471, -0.018709822, 0.044736236, -0.04773733, 0.0675615, -0.022110213, 0.040851872, 0.018720722, -0.046364304) * conv2d_3_1_texOff(vec2(1, 0)); + result += mat4(-0.025737463, -0.09645422, 0.014555157, 0.062278222, -0.009631733, 0.039096806, 0.06882698, -0.068697564, 0.075384796, -0.030795548, 0.023757009, -0.019109732, -0.0048626475, -0.027294433, 0.01872056, -0.015900496) * conv2d_3_1_texOff(vec2(-1, 1)); + result += mat4(-0.03255791, 0.042342886, -0.03860541, 0.021001657, 0.06618486, 0.047649916, 0.0017571396, -0.08110615, 0.024451219, -0.044206332, -0.040251408, -0.043098386, -0.07215681, 0.058516275, 0.0357355, 0.025246073) * conv2d_3_1_texOff(vec2(0, 1)); + result += mat4(-0.06271995, 0.01623303, 0.023689391, 0.0058845296, -0.03049818, 0.13931814, -0.023251915, -0.054805983, -0.04447121, 0.032653775, 0.010675448, -0.008244632, 0.013203213, 0.051615898, -0.027822684, 0.019252237) * conv2d_3_1_texOff(vec2(1, 1)); + result += mat4(-0.02279438, -0.07268177, -0.019068193, -0.049678765, 0.075838216, 0.04380972, -0.021117913, 0.007608896, 0.0729225, -0.03832354, 0.019641409, -0.0004013867, 0.012310561, -0.10409058, -0.0052667847, -0.012463305) * conv2d_3_2_texOff(vec2(-1, -1)); + result += mat4(0.032599896, -0.19013958, -0.036051095, -0.069090754, -0.014464639, 0.08741735, 0.08980748, -0.053734206, 0.14219321, 0.07205151, -0.015212013, 0.01308841, 0.10159755, 0.14754519, 0.0759467, -0.0022076622) * conv2d_3_2_texOff(vec2(0, -1)); + result += mat4(-0.015183392, -0.019413197, -0.08061843, -0.055378877, 0.03517532, 0.03493723, -0.0041842293, -0.047289748, 0.034225304, 0.008645886, 0.0138798375, -0.012323154, -0.055272274, 0.010287884, -0.08888677, -0.03341555) * conv2d_3_2_texOff(vec2(1, -1)); + result += mat4(0.0073814285, 0.044571556, 0.11510163, -0.044049285, 0.011895431, 0.023595039, -0.0034164938, 0.002914333, -0.06152991, 0.034690894, -0.027510472, -0.018556302, -0.027804676, -0.015384894, 0.009195277, 0.052859504) * conv2d_3_2_texOff(vec2(-1, 0)); + result += mat4(-0.031161552, 0.121566676, -0.026566379, 0.14496773, 0.0002781167, -0.12654969, -0.04102138, 0.03056938, -0.0040391465, 0.07899596, -0.011941705, -0.072069205, 0.03806569, 0.034638777, 0.012359684, 0.06464847) * conv2d_3_2_texOff(vec2(0, 0)); + result += mat4(0.023707038, -0.058274675, -0.06117994, 0.0015577787, 0.046504762, -0.0071702595, 0.027817093, -0.0557876, 0.037505012, 0.115174785, -0.02636698, -0.025237035, 0.088198274, 0.18727212, -0.070214085, 0.13277467) * conv2d_3_2_texOff(vec2(1, 0)); + result += mat4(-0.04852515, 0.008096365, 0.007826868, -0.06690943, -0.073614985, -0.02468604, -0.036902737, 0.008502666, 0.023988308, 0.08561955, 0.013576877, -0.044677217, -0.07057747, 0.008662925, -0.027297666, 0.042377483) * conv2d_3_2_texOff(vec2(-1, 1)); + result += mat4(0.02383377, -0.06202214, -0.03024978, -0.11365149, -0.08957434, 0.10653521, -0.03180664, 0.06237826, -0.005892756, 0.1389679, 0.032081045, -0.027324943, 0.12647702, -0.14972335, -0.0420342, 0.050479382) * conv2d_3_2_texOff(vec2(0, 1)); + result += mat4(0.0037033584, 0.045729123, -0.075341724, 0.0068379883, 0.043247633, -0.06529374, 0.017649096, -0.033074904, -0.010150768, 0.005204385, 0.032893784, 0.036967505, -0.072555736, -0.012871556, -0.0522799, 0.03842975) * conv2d_3_2_texOff(vec2(1, 1)); + result += mat4(0.027105195, -0.032222554, -0.026831, 0.02923393, -0.029216107, -0.0037107235, -0.019523747, 0.02210568, 0.020226372, 0.05754165, 0.032513686, 0.009836957, -0.07257721, 0.10391568, 0.036012806, 0.009795254) * conv2d_3_3_texOff(vec2(-1, -1)); + result += mat4(0.055486567, -0.009358439, -0.01999337, 0.050999276, -0.026654515, 0.05842005, 0.022936806, -0.051715348, 0.014095765, 0.019962624, -0.030064087, -0.054716893, -0.067147374, 0.12894963, 0.0037548312, 0.04657668) * conv2d_3_3_texOff(vec2(0, -1)); + result += mat4(0.01232213, -0.05799942, -0.0120411925, -0.01833432, -0.008159317, 0.045978494, -0.014769394, -0.07422537, -0.00337026, 0.003008319, -0.011865849, -0.010488088, 0.024712889, 0.0802811, -0.0019794814, 0.058025353) * conv2d_3_3_texOff(vec2(1, -1)); + result += mat4(0.087808274, 0.01418742, 0.059627924, -0.031143134, 0.031970795, 0.036422517, 0.03775366, 0.025819229, 0.13353048, -0.129827, 0.031624317, -0.009665338, -0.06473427, -0.07867496, 0.010448545, 0.05844478) * conv2d_3_3_texOff(vec2(-1, 0)); + result += mat4(-0.007995994, -0.09616334, -0.040358637, 0.0054106694, 0.08524035, -0.049305636, 0.059913687, -0.027656613, 0.053555973, 0.05866609, -0.00944467, -0.13279673, -0.035522956, -0.0457365, -0.017792063, -0.022009106) * conv2d_3_3_texOff(vec2(0, 0)); + result += mat4(0.009248711, 0.0042367782, 0.04455084, 0.040442258, 0.0075453194, 0.000120458215, 0.0036354885, 0.02057366, -0.015057789, -0.015506626, 0.04730468, 0.0019385514, -0.05972524, -0.10252041, 0.03845719, -0.06364403) * conv2d_3_3_texOff(vec2(1, 0)); + result += mat4(-0.033652473, -0.06449806, -0.010923389, -0.026250826, -0.08507141, 0.13282676, -0.014394807, 0.017225284, 0.084587984, -0.122046106, -0.032119058, -0.060038235, -0.0018683143, -0.07254033, 0.017310293, 0.012778487) * conv2d_3_3_texOff(vec2(-1, 1)); + result += mat4(0.01201036, -0.0063133975, 0.027450182, 0.050325926, 0.03002365, 0.09763526, 0.0003020771, -0.093888715, -0.049456198, -0.27377495, -0.09282327, -0.12183506, -0.05223528, -0.012042137, -0.08813836, -0.12004615) * conv2d_3_3_texOff(vec2(0, 1)); + result += mat4(0.009727773, 0.015039009, 0.005461786, 0.061484378, -0.009704712, -0.12453867, -0.00040642038, -0.028421802, -0.13540377, -0.026216934, -0.035739407, 0.043513335, 0.08184309, -0.14319685, -0.005132202, 0.02198434) * conv2d_3_3_texOff(vec2(1, 1)); + result += mat4(0.076363795, 0.024169741, 0.0094955675, 0.0011816344, 0.013387227, 0.030012207, -0.05960348, -0.0028376058, -0.0037267932, -0.030797994, -0.022117455, -0.017128535, -0.025943179, 0.04581467, -0.011210822, -0.07779623) * conv2d_3_4_texOff(vec2(-1, -1)); + result += mat4(0.07590376, 0.059095632, 0.04444, -0.023389608, 0.035489604, 0.012645479, -0.045803826, 0.0020893938, -0.049711972, 0.11678938, 0.053841874, 0.019126633, 0.0018987989, -0.049943272, -0.10205871, 0.09446612) * conv2d_3_4_texOff(vec2(0, -1)); + result += mat4(0.034488093, 0.022127781, -0.038257167, -0.0016258662, -0.025868554, 0.13992761, -0.00805064, 5.3428234e-05, 0.011111297, -0.06370033, -0.006411743, -0.04274466, -0.06563204, 0.04919838, -0.024868073, -0.040872164) * conv2d_3_4_texOff(vec2(1, -1)); + result += mat4(-0.032771155, 0.0015759591, -0.0030849744, -0.012725834, -0.02217657, 0.047175426, -0.079023436, 0.01764564, 0.029903637, -0.14278595, -0.009068842, 0.013546647, -0.027475571, 0.005120303, 0.040971138, -0.095307544) * conv2d_3_4_texOff(vec2(-1, 0)); + result += mat4(-0.04993979, -0.07024095, 0.04829985, -0.0011044157, 0.06536509, -0.12649176, 0.024462858, -0.045888428, -0.003683891, -0.049648248, -0.047201272, -0.0053760875, -0.00063791533, 0.14354683, -0.14334391, -0.014860198) * conv2d_3_4_texOff(vec2(0, 0)); + result += mat4(-0.027730802, 0.11151266, 0.024491882, -0.013060895, 0.011936389, 0.071648166, 0.013284897, 0.07083711, -0.014486363, -0.027968885, 0.010843406, 0.06379314, 0.027077392, -0.15599473, -0.02339202, -0.099914715) * conv2d_3_4_texOff(vec2(1, 0)); + result += mat4(0.03430988, -0.21906753, -0.009957661, 0.011003699, -0.04554353, -0.11369048, -0.05694345, 0.06565865, 0.031044511, 0.21506727, -0.03975228, 0.05442051, 0.099332094, -0.0332486, -0.022595586, -0.12769935) * conv2d_3_4_texOff(vec2(-1, 1)); + result += mat4(-0.049341593, -0.181199, -0.04247891, -0.00019062837, 0.064972065, -0.04863504, 0.026854198, -0.029225197, -0.007990051, -0.046903923, 0.033289183, -0.051704627, -0.06226592, 0.10515548, -0.050392132, 0.024441509) * conv2d_3_4_texOff(vec2(0, 1)); + result += mat4(0.07817566, -0.2198432, -0.061264284, 0.03139592, -0.015163001, -0.04457997, -0.047015034, -0.026262995, 0.02254005, 0.011151397, 0.0053651906, 0.0039397352, -0.019977367, 0.09473548, 0.031665258, -0.1339141) * conv2d_3_4_texOff(vec2(1, 1)); + result += mat4(-0.023206025, -0.055530522, 0.039677106, -0.0051001795, 0.02249507, -0.016056648, -0.014207494, -0.07358727, 0.0222681, -0.016842261, 0.046640374, -0.011197654, -0.057304136, 0.08487998, 0.00035841396, 0.0015534164) * conv2d_3_5_texOff(vec2(-1, -1)); + result += mat4(0.018046655, -0.045851093, 0.02736232, 0.024511611, -0.059031095, -0.068605185, 0.0069470857, -0.033531927, -0.048072007, -0.094616696, -0.008739754, 0.13584466, 0.08634941, 0.12502688, 0.013288132, -0.10224378) * conv2d_3_5_texOff(vec2(0, -1)); + result += mat4(0.010014871, -0.1686737, 0.06831921, 0.03978413, -0.013882219, -0.038093045, 0.012337267, -0.022631325, 0.048861288, -0.14151034, -0.00027513862, -0.1152278, -0.005020832, 0.13272195, -0.02890495, 0.010042245) * conv2d_3_5_texOff(vec2(1, -1)); + result += mat4(0.00088300783, 0.07736834, 0.031808972, 0.05057029, 0.114518955, 0.08571633, 0.002603915, 0.029067269, 0.009007135, 0.0011954125, 0.076764815, 0.043900806, 0.03146791, 0.014388417, 0.03348972, 0.053163517) * conv2d_3_5_texOff(vec2(-1, 0)); + result += mat4(-0.06289875, 0.10260305, -0.011337184, 0.011027719, 0.0016120179, 0.07765526, 0.040681895, 0.028566001, -0.05427478, -0.026886843, -0.050910737, 0.12070923, 0.027646672, 0.13911365, 0.03108526, -0.08299342) * conv2d_3_5_texOff(vec2(0, 0)); + result += mat4(-0.042489085, -0.02389963, 0.0012992327, 0.098465756, -0.052608512, 0.01751369, -0.003308613, 0.050999314, -0.036964677, -0.15943737, 0.087471664, -0.026885193, -0.043999862, 0.064475164, 0.032843843, -0.045582417) * conv2d_3_5_texOff(vec2(1, 0)); + result += mat4(-0.04281166, -0.031778604, -0.010940234, 0.0027126877, 0.028420156, -0.015083602, -0.034123864, -0.04146718, 0.05921886, -0.17638826, 0.043674245, -0.05492087, -0.047423486, -0.021355212, -0.011513477, -0.037949577) * conv2d_3_5_texOff(vec2(-1, 1)); + result += mat4(-0.019802295, -0.11508867, -3.0562056e-05, -0.0079229865, 0.015836006, 0.03333626, 0.0049949638, -0.0144241825, 0.0031437937, 0.10472002, -0.08705694, -0.023822926, -0.06485579, 0.115366794, -0.030815262, -0.043671586) * conv2d_3_5_texOff(vec2(0, 1)); + result += mat4(-0.02491481, -0.0050808075, 0.044846397, 0.046877153, 0.036627136, 0.022979068, -0.0054921354, -0.032982364, 0.03864485, 0.10103102, 0.04725598, -0.0073007997, 0.011043774, 0.020650849, -0.0074444604, -0.015143542) * conv2d_3_5_texOff(vec2(1, 1)); + result += mat4(-0.00015334344, -0.06341982, 0.0077692727, -0.06435981, -0.007851315, -0.067197986, -0.047324087, 0.045290552, -0.13635762, -0.020214327, -0.08551798, -0.027994914, 0.032990746, 0.050145596, 0.04543882, -0.014311337) * conv2d_3_6_texOff(vec2(-1, -1)); + result += mat4(-0.02194202, -0.16767402, 0.057291348, 0.031145852, 0.033331603, -0.02106617, 0.059719115, 0.03152421, 0.05971258, -0.07512611, 0.019083958, -0.028290158, -0.087561935, 0.16897878, 0.0065288297, 0.0046411026) * conv2d_3_6_texOff(vec2(0, -1)); + result += mat4(-0.0064448616, -0.12012039, 0.042021286, -0.05935612, -0.005303248, 0.04184568, 0.019484708, -0.04256954, -0.006832843, -0.17282668, -0.0033720925, 0.033652596, -0.016570207, -0.095789075, 0.028120616, -0.014109161) * conv2d_3_6_texOff(vec2(1, -1)); + result += mat4(-0.076295085, -0.045081645, -0.10022983, 0.05412095, -0.05795162, -0.018788222, 0.0027172978, -0.034074, 0.0070080366, 0.1508008, -0.021334415, 0.095339164, -0.055814575, -0.11852318, -0.027295202, -0.04893812) * conv2d_3_6_texOff(vec2(-1, 0)); + result += mat4(0.045446735, -0.049178302, -0.0024264632, 0.08887493, 0.047741674, -0.15489377, 0.01190234, -0.11386965, 0.043861922, 0.14602362, -0.027998077, 0.17574212, -0.01896789, 0.02103667, -0.029990053, 0.03381011) * conv2d_3_6_texOff(vec2(0, 0)); + result += mat4(-0.042838547, 0.014826047, -0.006804846, 0.05445213, 0.0107418625, -0.05821169, -0.017666949, -0.050038327, 0.10313449, 0.12907052, 0.022494342, 0.011309294, 0.05756236, 0.01433468, -0.052788403, 0.06234472) * conv2d_3_6_texOff(vec2(1, 0)); + result += mat4(-0.0380195, -0.015779527, 0.017603507, 0.13228545, 0.030294582, 0.09838603, -0.00077082217, 0.006437178, 0.04940073, -0.024270294, 0.0055310405, -0.044922136, -0.026298776, -0.0628143, 0.025017174, 0.04899281) * conv2d_3_6_texOff(vec2(-1, 1)); + result += mat4(0.01588886, 0.03049298, -0.014881936, 0.04855316, -0.0191581, 0.082220644, -0.012960018, 0.03552634, 0.01629252, -0.006197504, 0.006898984, -0.016259264, -0.10591255, -0.109938234, -0.022118917, 0.011825624) * conv2d_3_6_texOff(vec2(0, 1)); + result += mat4(0.013914975, 0.016422966, 0.027080556, -0.0070590177, -0.0691145, 0.059994683, -0.0003364626, 0.032505754, 0.010260604, 0.0019261317, -0.009494075, 0.07708256, -0.025587134, 0.050320756, 0.021542698, -0.026822142) * conv2d_3_6_texOff(vec2(1, 1)); + result += mat4(-0.029876744, -0.05806836, 0.00088052626, 0.039481692, -0.12404909, 0.010675261, -0.01167464, 0.12826025, 0.05867169, -0.020320188, -0.048464205, 0.03458894, -0.042191256, -0.07279444, -0.018892283, -0.02739167) * conv2d_3_7_texOff(vec2(-1, -1)); + result += mat4(0.0128031485, -0.046513055, 0.014145994, -0.009947879, 0.016454494, 0.071941845, 0.008654156, 0.034830067, 0.0054473095, 0.0032422016, 0.036956787, -0.001888994, 0.0012679839, -0.0760909, -0.0118856, -0.010141708) * conv2d_3_7_texOff(vec2(0, -1)); + result += mat4(-0.021196596, 0.045268465, 0.017169392, -0.0009993269, -0.0367554, 0.23827688, 0.035209633, 0.037473958, -0.04899315, -0.19329771, 0.0047976673, 0.03320723, -0.029574716, 0.07818495, 0.0023692984, 0.00043571182) * conv2d_3_7_texOff(vec2(1, -1)); + result += mat4(-0.06692635, 0.046716772, 0.008505748, -0.0068143904, 0.016994674, 0.0045370287, 0.006059657, -0.019910606, 0.20609732, -0.003402507, 0.05196346, -0.015792415, -0.1674484, -0.06848623, -0.020702995, -0.016600532) * conv2d_3_7_texOff(vec2(-1, 0)); + result += mat4(-0.02556035, 0.054174438, -0.037325047, -0.065946445, 0.032206178, -0.008804066, -0.027529102, -0.045771245, 0.022886643, 0.09878504, 0.0051666065, -0.10570877, 0.019335523, -0.06323618, -0.06787963, 0.07384056) * conv2d_3_7_texOff(vec2(0, 0)); + result += mat4(-0.02486968, -0.02515189, 0.024701517, -0.028800473, -0.042821687, 0.01538738, 0.022151878, -0.03904415, 0.072394066, 0.112245575, -0.030723084, 0.015512469, 0.030357458, 0.0073830225, 0.036763836, -0.035775535) * conv2d_3_7_texOff(vec2(1, 0)); + result += mat4(-0.0072410847, -0.034791116, -0.01023419, 0.08337094, 0.025608944, 0.11159764, 0.0089993365, -0.023451157, 0.11975627, 0.048038963, -0.06388296, 0.035810836, -0.028915206, -0.06917563, 0.0068483516, 0.038790498) * conv2d_3_7_texOff(vec2(-1, 1)); + result += mat4(0.095374, 0.07109355, 0.0016297232, -0.014569022, 0.0032654605, -0.06579484, 0.044728626, -0.032137487, -0.079704516, -0.09362815, 0.05408694, 0.11570054, 0.003487744, -0.3167224, -0.020792764, -0.043787394) * conv2d_3_7_texOff(vec2(0, 1)); + result += mat4(0.005876692, -0.048514985, -0.0100105265, 0.08018275, -0.03380905, -0.09808053, -0.039084584, 0.028302813, 0.012511768, -0.045290712, 0.015695011, -0.019206556, 0.042897183, -0.14270857, 0.05404672, 0.039722323) * conv2d_3_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-4-ReLU) +//!HOOK LUMA +//!BIND conv2d_3_0 +//!BIND conv2d_3_1 +//!BIND conv2d_3_2 +//!BIND conv2d_3_3 +//!BIND conv2d_3_4 +//!BIND conv2d_3_5 +//!BIND conv2d_3_6 +//!BIND conv2d_3_7 +//!SAVE conv2d_4_3 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.005183828, 9.48733e-05, 0.0036475817, -0.007278215); + result += mat4(0.020084474, 0.06758243, -0.03163163, -0.015041143, 0.06822232, -0.04848858, -0.04129351, -0.045100506, -0.039240524, 0.052516963, -0.061416056, -0.07929778, 0.14122812, -0.024540713, -0.002548528, -0.038768183) * conv2d_3_0_texOff(vec2(-1, -1)); + result += mat4(0.16094725, -0.0017164103, 0.034322836, 0.091051824, 0.046149883, 0.043405842, 0.031773653, 0.075929835, -0.26720932, -0.12901238, 0.09676169, -0.027014602, 0.09377516, -0.102975786, -0.025952902, 0.043833952) * conv2d_3_0_texOff(vec2(0, -1)); + result += mat4(-0.11873157, -0.05366836, 0.005809096, -0.07089157, -0.005418724, -0.063462086, -0.011726954, 0.009559474, -0.088419326, 0.04822798, -0.01304656, -0.031353764, 0.09209975, 0.076913536, 0.0032916546, 0.097415045) * conv2d_3_0_texOff(vec2(1, -1)); + result += mat4(0.0026841988, 0.017445477, 0.011122808, -0.08312353, 0.01905077, -0.046288166, -0.05753952, -0.04826398, -0.023975704, 0.068933964, -0.10714086, 0.066289626, 0.17359567, 0.036257207, -0.04542655, -0.103699975) * conv2d_3_0_texOff(vec2(-1, 0)); + result += mat4(-0.31524998, -0.012154288, -0.030318275, -0.011442315, 0.111295335, 0.014898294, -0.1124792, 0.092015296, -0.004324064, -0.008793627, -0.03769413, -0.023064213, 0.047377303, -0.12498418, -0.057557322, 0.12475154) * conv2d_3_0_texOff(vec2(0, 0)); + result += mat4(-0.23874, 0.0249557, -0.066145115, 0.017380409, 0.059564423, -0.0076036146, -0.040494777, -0.12159404, 0.008738101, 0.056858916, 0.069194295, 0.036531333, 0.13975592, 0.12356534, 0.058181904, 0.0903529) * conv2d_3_0_texOff(vec2(1, 0)); + result += mat4(-0.03268226, 0.035256535, -0.038870174, 0.015922057, 0.06780476, -0.013164643, 0.06383094, -0.0232432, 0.0801628, 0.022433853, 0.03222594, 0.027797991, -0.016772788, 0.07206531, -0.019493481, 0.010356457) * conv2d_3_0_texOff(vec2(-1, 1)); + result += mat4(-0.21125679, 0.074805856, -0.084294066, -0.02514227, 0.106017366, 0.08639548, 0.015640467, -0.031479973, 0.122208096, -0.022332968, -0.054364584, -0.019867871, 0.093458034, 0.0071755713, -0.12753798, 0.08270919) * conv2d_3_0_texOff(vec2(0, 1)); + result += mat4(-0.057050522, -0.025940249, -0.09415107, -0.025350407, -0.05812817, 0.035093572, -0.028013727, 0.028546399, -0.08039199, -0.0150702875, -0.009311095, 0.0065879747, 0.3047706, 0.05574404, -0.033010818, -0.007265517) * conv2d_3_0_texOff(vec2(1, 1)); + result += mat4(-0.030652447, -0.041227262, 0.035115935, 0.031650025, -0.080373235, 0.059490025, -0.03920817, -0.06956479, -0.14964712, 0.06561436, -0.14088322, 0.06069411, 0.021561049, -0.0068443236, -0.055435922, 0.052801922) * conv2d_3_1_texOff(vec2(-1, -1)); + result += mat4(0.08930892, -0.09218568, -0.030797647, 0.14157633, -0.023988534, 0.07369453, -0.13258064, -0.059660915, -0.01627556, 0.088762656, -0.04034127, 0.010952057, -0.1045898, 0.021010138, -0.00049335667, 0.0064072153) * conv2d_3_1_texOff(vec2(0, -1)); + result += mat4(-0.10516539, -0.06400941, 0.17550892, -0.22169666, -0.08434004, -0.08285036, -0.052289184, -0.06591055, 0.037690066, 0.00083151687, -0.08122602, 0.03628359, -0.12501796, -0.08612325, 0.118431434, 0.045161806) * conv2d_3_1_texOff(vec2(1, -1)); + result += mat4(-0.01984631, -0.095183335, 0.06725137, -0.12781043, -0.027476525, 0.058118265, -0.16233177, -0.11222702, -0.07968252, -0.06445811, 0.04900128, -0.05555353, -0.17969036, -0.02172841, 0.11800591, -0.06279502) * conv2d_3_1_texOff(vec2(-1, 0)); + result += mat4(-0.0490286, 0.018457355, 0.11178663, 0.054934822, -0.046609968, 0.09344987, -0.1087852, 0.009706434, -0.009962842, 0.0006343639, -0.01795261, -0.0039077057, -0.037311073, 0.023092752, 0.048514724, 0.028217867) * conv2d_3_1_texOff(vec2(0, 0)); + result += mat4(-0.049261466, -0.16242193, 0.118966885, -0.04849398, -0.27263862, -0.013452888, 0.010806433, -0.080282986, 0.010567469, -0.010667685, 0.022810549, -0.07131424, 0.12308475, 0.14801408, 0.056054402, -0.022952506) * conv2d_3_1_texOff(vec2(1, 0)); + result += mat4(0.071949534, -0.020015609, 0.04479269, -0.043958414, -0.0074409656, 0.09662093, -0.18149659, -0.04736349, -0.10015563, 0.06464597, -0.062216144, 0.07623865, -0.10409154, -0.009720332, -0.018261196, -0.038592853) * conv2d_3_1_texOff(vec2(-1, 1)); + result += mat4(0.06697311, 0.00713229, 0.0369223, 0.044009376, 0.09440097, 0.06326054, -0.017163811, 0.04567967, -0.15973982, 0.01616487, -0.055740166, 0.014525839, 0.07148315, -0.01712614, 0.12618785, -0.07828111) * conv2d_3_1_texOff(vec2(0, 1)); + result += mat4(-0.07186514, -0.17031842, 0.04104493, -0.024935475, 0.026281364, 0.12318267, -0.046379983, -0.0009125941, -0.0921953, 0.007627284, -0.007272264, -0.030789835, 0.10124397, -0.001004542, 0.057039894, 0.04633968) * conv2d_3_1_texOff(vec2(1, 1)); + result += mat4(-0.12392101, -0.028702796, 0.056750957, 0.007129588, 0.029564587, 0.00092405186, -0.039454203, 0.0057106735, 0.15944967, 0.0038486163, 0.03525685, 0.043431155, 0.03659633, -0.026173823, 0.20540638, 0.043027148) * conv2d_3_2_texOff(vec2(-1, -1)); + result += mat4(0.030884977, 0.08644413, -0.006750194, -0.055511348, -0.043957673, 0.008614438, 0.09056483, -0.01068272, -0.009052156, -0.038130112, -0.028486893, 0.11612213, -0.015602673, -0.05362466, -0.02594949, -0.08500749) * conv2d_3_2_texOff(vec2(0, -1)); + result += mat4(0.080815874, 0.0026207983, -0.0066927373, 0.009048285, 0.06103288, 0.014697041, -0.057359442, 0.012553881, 0.061601933, -0.06904595, -0.0027673668, 0.053590555, -0.09300046, 0.03732454, 0.08645817, -0.057929344) * conv2d_3_2_texOff(vec2(1, -1)); + result += mat4(0.11480543, 0.008807467, -0.13809875, -0.11486113, -0.017740458, 0.025068108, -0.01540493, -0.08816731, 0.0004072931, -0.00090111303, 0.053571865, 0.058363173, 0.052318886, -0.018555425, -0.08363434, -0.046586525) * conv2d_3_2_texOff(vec2(-1, 0)); + result += mat4(0.010532966, -0.014319378, -0.16157311, -0.10695006, -0.011086462, -0.062049236, 0.064187236, 0.10528164, 0.02255839, -0.11748393, 0.04988784, -0.029166158, -0.14557056, 0.031609435, -0.023633072, -0.00612674) * conv2d_3_2_texOff(vec2(0, 0)); + result += mat4(-0.08116143, -0.00892868, -0.0032722983, -0.075384825, 0.05423199, 0.04941447, -0.057388604, -0.008382921, 0.06986472, -0.027727604, -0.108038634, -0.05643016, -0.2490234, -0.052433535, 0.19662307, 0.04139329) * conv2d_3_2_texOff(vec2(1, 0)); + result += mat4(-0.0040986817, -0.056307986, 0.10085726, -0.08170585, 0.02368324, -0.054406643, -0.07967195, -0.18498209, 0.013213182, -0.012953786, -0.019395493, 0.06634888, 0.030442573, -0.0060277428, 0.11078548, -0.048440408) * conv2d_3_2_texOff(vec2(-1, 1)); + result += mat4(-0.14001697, 0.09525112, -0.058488477, 0.0108522205, 0.049057387, -0.0017265353, 0.046733636, -0.061131, 0.033210788, -0.095999084, 0.017875016, 0.06153714, -0.10104328, -0.06734948, -0.13138089, -0.0711384) * conv2d_3_2_texOff(vec2(0, 1)); + result += mat4(-0.003986691, 0.033322044, -0.009040505, -0.05749956, -0.082490265, -0.04965712, -0.03275798, 0.061537873, -0.10737846, -0.038975406, 0.014959829, -0.03510323, 0.09161383, -0.040849395, -0.14151348, -0.048245214) * conv2d_3_2_texOff(vec2(1, 1)); + result += mat4(0.10248654, -0.118185736, -0.017426714, 0.07858311, 0.067377746, 0.0044417116, 0.12923846, -0.03164329, -0.02265044, -0.011377758, 0.027411573, 0.0020943284, 0.03919726, -0.018601276, -0.0064453073, -0.0025711535) * conv2d_3_3_texOff(vec2(-1, -1)); + result += mat4(-0.07893498, -0.13368934, 0.08775006, -0.038655058, 0.10449137, 0.0053819455, -0.033867374, 0.085984394, -0.070471026, 0.0049262047, -0.011948881, -0.08433344, 0.011943344, -0.009540346, 0.030737208, -0.048308797) * conv2d_3_3_texOff(vec2(0, -1)); + result += mat4(-0.079259396, -0.15785138, 0.014628006, 0.015464384, -0.002886263, -0.022427486, 0.0017008022, -0.030219732, 0.10098018, -0.095941834, 0.026249511, 0.1198372, 0.02303758, 0.015658986, 0.049430996, -0.08048024) * conv2d_3_3_texOff(vec2(1, -1)); + result += mat4(-0.04786982, -0.046797544, -0.0942441, -0.12997016, 0.013038792, 0.04825454, 0.1024186, 0.096311554, -0.013183089, -0.02633694, 0.11219724, -0.032854296, -0.022819113, 0.06497123, -0.00055029214, 0.033228632) * conv2d_3_3_texOff(vec2(-1, 0)); + result += mat4(-0.10928695, 0.10596979, -0.06845, 0.024489723, -0.13669446, 0.12103362, 0.05328958, 0.025558246, 0.19972636, 0.008543489, -0.05463502, 0.046664193, -0.12663436, 0.09406971, -0.08760867, -0.005901504) * conv2d_3_3_texOff(vec2(0, 0)); + result += mat4(-0.05028972, -0.017115591, 0.04266699, -0.06515177, -0.04762028, 0.0031366397, -0.0041678385, 0.035679277, 0.013424573, -0.022166906, -0.014535474, 0.065817714, 0.028838124, -0.026406787, -0.07288617, -0.07143175) * conv2d_3_3_texOff(vec2(1, 0)); + result += mat4(-0.057133753, -0.09802989, 0.028036745, 0.084401906, 0.027545452, -0.08629153, -0.0020149522, 0.03489328, -0.03010585, 0.006194952, 0.03818026, 0.14170107, 0.02132061, 0.07885793, -0.009912383, 0.01978781) * conv2d_3_3_texOff(vec2(-1, 1)); + result += mat4(0.0046634856, -0.014551274, 0.05275205, -0.07182041, -0.020745542, 0.0572748, 0.027613593, -0.036645923, 0.028924294, 0.02441303, -0.020646377, 0.15367362, -0.047688983, 0.025618281, -0.024550324, 0.021311596) * conv2d_3_3_texOff(vec2(0, 1)); + result += mat4(-0.14826067, -0.09505668, 0.03618859, -0.10629534, 0.011267332, -0.041326527, -0.014121005, -0.04342942, 0.33868036, 0.13870789, 0.085968114, -0.030337846, -0.05222308, 0.030231798, -0.041573644, -0.056025058) * conv2d_3_3_texOff(vec2(1, 1)); + result += mat4(0.10095144, 0.022108816, -0.09065052, 0.0249978, -0.06387984, -0.07155669, 0.09489915, -0.2866436, -0.112463154, -0.010514248, 0.0562328, 0.025498142, 0.040049702, 0.01347543, -0.16509897, 0.04868755) * conv2d_3_4_texOff(vec2(-1, -1)); + result += mat4(0.06751335, 0.04288561, 0.0253029, 0.015099063, -0.18023911, -0.11444089, 0.06786661, 0.0031829143, -0.036808398, 0.07630061, 0.04394285, 0.043022998, -0.06843075, 0.04361282, -0.037314072, -0.1019303) * conv2d_3_4_texOff(vec2(0, -1)); + result += mat4(0.05816609, -0.024462463, 0.051480245, 0.06054156, -0.09656424, 0.01360741, 0.14613502, 0.0064378437, -0.0462218, 0.1011631, 0.020779507, 0.05272554, -0.05755989, 0.022410732, -0.039838053, -0.07195673) * conv2d_3_4_texOff(vec2(1, -1)); + result += mat4(0.13972802, -0.03407443, 0.0051996172, -0.04519688, -0.02649703, -0.09987713, 0.11394459, -0.17392594, -0.13719091, -0.010274014, 0.11446284, 0.017232668, -0.03157133, 0.00022486794, -0.31069458, 0.07730876) * conv2d_3_4_texOff(vec2(-1, 0)); + result += mat4(-0.07988087, -0.034715787, 0.0041619306, -0.023999168, -0.23126392, -0.21191575, 0.1364215, 0.06270414, 0.17039965, 0.049361255, 0.005830689, 0.04183137, -0.04642504, -0.063618846, -0.039327797, -0.11279039) * conv2d_3_4_texOff(vec2(0, 0)); + result += mat4(-0.12523028, 0.04395949, -0.005660064, -0.019171482, -0.17428866, -0.22599177, 0.059077267, -0.015947852, 0.15185781, -0.08648282, 0.16455238, -0.07151107, -0.13092844, 0.032658502, -0.015240357, 0.051895984) * conv2d_3_4_texOff(vec2(1, 0)); + result += mat4(-0.13100336, 0.025543071, -0.025536044, -0.014872929, -0.120649405, -0.06459796, -0.016611774, -0.104085535, 0.06808806, -0.049584474, 0.1111196, -0.077503316, -0.062009703, -0.011816306, -0.15544173, 0.08275689) * conv2d_3_4_texOff(vec2(-1, 1)); + result += mat4(-0.033608884, 0.01093746, -0.0011567475, 0.09868517, -0.28505898, -0.07686699, 0.01224774, -0.047466893, 0.21479225, 0.09538759, -0.098568104, -0.039737485, -0.16530702, -0.014578932, -0.14710942, 0.03382815) * conv2d_3_4_texOff(vec2(0, 1)); + result += mat4(0.18589973, 0.03238936, 0.06293755, -6.132251e-05, -0.068885945, -0.0957068, 0.09681253, 0.095082276, -0.1045635, -0.0046055703, 0.063556455, -0.017115215, -0.11644404, 0.15521795, -0.040276155, 0.0067145214) * conv2d_3_4_texOff(vec2(1, 1)); + result += mat4(-0.089477226, 0.041485947, -0.052893024, 0.0059125014, -0.07709741, -0.027194189, -0.09878587, -0.01041845, 0.013770305, -0.00035222294, -0.16414066, 0.109207004, 0.114149526, -0.04332065, 0.11553335, -0.1730082) * conv2d_3_5_texOff(vec2(-1, -1)); + result += mat4(0.06790765, 0.05513871, -0.073529676, 0.0008932728, 0.11783822, -0.058309026, 0.08236733, 0.07745315, -0.27161568, -0.024228217, -0.014976191, -0.048417438, 0.04203336, 0.008425722, -0.11407828, -0.035043053) * conv2d_3_5_texOff(vec2(0, -1)); + result += mat4(-0.046074018, 0.090087794, -0.10545376, -0.007532693, -0.063857354, -0.04601892, -0.029427024, -0.019684914, -0.02097071, 0.08153211, -0.082361735, 0.14718749, 0.16112818, -0.07681767, 0.07493402, 0.0184271) * conv2d_3_5_texOff(vec2(1, -1)); + result += mat4(0.08837693, -0.03492575, -0.051987365, -0.021402972, 0.020862836, 0.01111783, 0.020775694, 0.11593844, -0.052732352, 0.04904756, -0.17036922, 0.112585925, 0.02779948, -0.02092282, 0.060145102, -0.0071206936) * conv2d_3_5_texOff(vec2(-1, 0)); + result += mat4(0.009439925, 0.074638836, 0.06352808, -0.0068478193, -0.012943947, 0.04816368, 0.09534203, 0.09837981, -0.08043032, -0.06913725, 0.065274596, -0.16750292, -0.08063335, -0.09685005, 0.0732891, 0.046424814) * conv2d_3_5_texOff(vec2(0, 0)); + result += mat4(0.03414456, 0.08582196, -0.051627245, 0.04675149, 0.20466717, 0.07656572, 0.03870937, 0.059567165, 0.10086333, 0.06759657, -0.06162768, 0.062105365, -0.10025363, -0.06374794, -0.011847725, 0.037458792) * conv2d_3_5_texOff(vec2(1, 0)); + result += mat4(0.0014463136, 0.017270228, -0.003573663, -0.059258096, -0.0069451197, -0.0064556664, -0.013621158, 0.0857323, -0.05341207, -0.021667462, -0.052255377, 0.022381704, -0.016029809, 0.028361376, -0.07257729, 0.04572499) * conv2d_3_5_texOff(vec2(-1, 1)); + result += mat4(-0.060359288, -0.02521851, -0.044230416, -0.013784432, -0.012955875, 0.04845978, -0.12927972, -0.0026913867, 0.04898193, -0.055847988, -0.059975572, -0.0799122, -0.045404017, -0.052855577, 0.0075776516, -0.0044517936) * conv2d_3_5_texOff(vec2(0, 1)); + result += mat4(-0.014571299, 0.05061913, -0.06802436, -0.009473339, 0.100785054, 0.042150386, -0.01737423, 0.022976184, -0.038261678, -0.013939488, 0.027157892, 0.08355286, 0.014176197, 0.04602298, 0.029318534, -0.062147405) * conv2d_3_5_texOff(vec2(1, 1)); + result += mat4(-0.08307759, -0.035401773, -0.043641284, -0.009733289, -0.023719862, 0.02864354, 0.021840239, -0.020161562, 0.06960545, -0.07909465, -0.041270763, 0.18588275, 0.06366184, 0.023273315, -0.054810163, 0.033156253) * conv2d_3_6_texOff(vec2(-1, -1)); + result += mat4(-0.15627423, 0.043016795, -0.0043683485, 0.016720347, 0.08716863, 0.068618394, 0.026082026, 0.048609324, -0.035841186, 0.032707233, -0.05734429, 0.03034774, -0.13240151, -0.046376627, 0.021521084, -0.05973573) * conv2d_3_6_texOff(vec2(0, -1)); + result += mat4(0.03494598, -0.04379115, -0.050984625, 0.017040519, -0.023467507, -0.031774886, 0.034910593, -0.035450757, -0.03250825, 0.020725995, 0.0089192875, 0.017668031, -0.017368263, 0.05458809, 0.035369188, 0.09315064) * conv2d_3_6_texOff(vec2(1, -1)); + result += mat4(0.012197696, -0.0283941, -0.004512029, -0.09775735, -0.113321975, -0.08381794, -0.012647783, 0.015469986, -0.036393482, 0.010264622, -0.035412032, -0.15591341, -0.027572112, 0.0022569678, -0.03591516, 0.12776536) * conv2d_3_6_texOff(vec2(-1, 0)); + result += mat4(0.14657767, 0.095886655, 0.033976518, 0.079411894, -0.018682385, -0.0030161112, -0.008624077, 0.05342656, 0.2121635, 0.039290585, 0.10801529, 0.09281205, 0.019266393, 0.03347954, 0.030166022, -0.068461984) * conv2d_3_6_texOff(vec2(0, 0)); + result += mat4(0.1289012, 0.02397908, -0.068362586, -0.028724734, -0.115874544, -0.076847754, 0.008676056, 0.056860212, -0.16657504, -0.1232954, -0.020478375, 0.076948896, 0.15075937, -0.0054797013, -0.062116157, -0.020123553) * conv2d_3_6_texOff(vec2(1, 0)); + result += mat4(0.03361338, 0.037584726, -0.05475, -0.0576554, 0.09213365, -0.022272917, 0.13604924, 0.054309983, -0.09899845, -0.11179813, 0.11995443, 0.100360386, -0.019315522, -0.007829679, 0.12326376, -0.030702949) * conv2d_3_6_texOff(vec2(-1, 1)); + result += mat4(0.03802383, 0.017047383, -0.14152396, 0.1374168, 0.08986044, 0.02747468, 0.042257883, 0.006810941, -0.16667539, 0.0760231, 0.11706706, -0.019236134, -0.08488313, -0.07618208, 0.16397971, -0.088732466) * conv2d_3_6_texOff(vec2(0, 1)); + result += mat4(-0.04174263, 0.062297504, -0.059832115, -0.0611675, 0.033123463, 0.0018345978, 0.05789251, -0.031038418, -0.07351269, -0.038628675, 0.10075484, 0.040017083, -0.072609015, -0.11337553, 0.04951029, -0.010765259) * conv2d_3_6_texOff(vec2(1, 1)); + result += mat4(-0.060175303, 0.0042907884, 0.019541442, 0.1028895, -0.031255495, -0.009447475, 0.0561293, 0.02896197, 0.028881058, 0.0848369, 0.088985205, -0.040638298, -0.026604626, -0.014390675, 0.14610387, 0.031683747) * conv2d_3_7_texOff(vec2(-1, -1)); + result += mat4(-0.0782837, 0.09496289, 0.018421661, 0.012415842, 0.056266494, 0.020928157, -0.018875128, -0.09697541, 0.1137432, 0.02731636, 0.1113835, 0.03614264, 0.006591243, -0.0017516456, 0.04784379, -0.067200355) * conv2d_3_7_texOff(vec2(0, -1)); + result += mat4(0.037973102, 0.02805728, -0.040009942, -0.060563896, 0.08536583, 0.008552987, -0.009797453, -0.040796716, 0.11952856, 0.10818616, 0.12792565, -0.042485338, 0.0377877, -0.16260156, -0.0009284095, 0.05087405) * conv2d_3_7_texOff(vec2(1, -1)); + result += mat4(0.0042181564, 0.04284704, -0.17240909, -0.024487682, 0.031101665, 0.044780705, 0.030523496, -0.13216908, 0.027074559, 0.014481217, 0.072425365, 0.052058097, 0.100167565, 0.07355858, 0.15783976, -0.011199391) * conv2d_3_7_texOff(vec2(-1, 0)); + result += mat4(0.16313957, -0.011658027, -0.014048799, -0.026156312, -0.03901689, 0.06476949, -0.021922648, -0.0198048, -0.25145695, 0.021510297, 0.18691173, 0.06702431, -0.07431938, -0.18144783, 0.13952601, -0.2295919) * conv2d_3_7_texOff(vec2(0, 0)); + result += mat4(0.03768292, 0.038896494, 0.044633847, -0.073688954, -0.14855532, 0.007254207, -0.12791471, 0.015239359, -0.1363847, 0.010479239, -0.015597077, -0.039758004, -0.12913118, -0.1038376, 0.00027248505, -0.00023554951) * conv2d_3_7_texOff(vec2(1, 0)); + result += mat4(0.09718701, -0.0038244312, -0.005050379, 0.011864381, 0.037133772, -0.011428085, -0.045734525, -0.048141867, 0.010609644, -0.13898297, 0.08209389, -0.07774883, 0.037182022, 0.07605991, 0.12296785, 0.08992923) * conv2d_3_7_texOff(vec2(-1, 1)); + result += mat4(-0.05532598, 0.0038832577, -0.04970344, -0.007285348, 0.020491546, 0.010160633, 0.05866106, 0.027926918, -0.0012324755, -0.024405146, 0.08408154, -0.043996863, -0.12880978, -0.0524922, 0.12756103, -0.14196277) * conv2d_3_7_texOff(vec2(0, 1)); + result += mat4(-0.13219094, -0.004173746, 0.062799305, 0.011029396, -0.022472057, -0.061149646, 0.017115034, -0.0011316093, 0.122614875, -0.16188432, 0.04073796, 0.0832053, -0.30895698, -0.009089511, 0.014021223, 0.12935244) * conv2d_3_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-4-ReLU) +//!HOOK LUMA +//!BIND conv2d_3_0 +//!BIND conv2d_3_1 +//!BIND conv2d_3_2 +//!BIND conv2d_3_3 +//!BIND conv2d_3_4 +//!BIND conv2d_3_5 +//!BIND conv2d_3_6 +//!BIND conv2d_3_7 +//!SAVE conv2d_4_4 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.001659712, 0.0015686982, -0.0026812244, -0.0010323082); + result += mat4(0.020559898, -0.13699219, -0.11118038, 0.061652966, -0.08045502, 0.06803401, 0.008831279, -0.011236651, 0.06520165, 0.011211476, -0.0031182943, 0.054241575, 0.031697378, -0.12219832, 0.04242958, 0.010828711) * conv2d_3_0_texOff(vec2(-1, -1)); + result += mat4(0.0011020249, -0.1287697, 0.01067757, 0.08612354, -0.09946633, -0.031312633, 0.03014096, 0.071210004, -0.07424718, -0.19371484, 0.026723584, 0.040195927, 0.0007552612, -0.011745825, -0.065933675, 0.05341924) * conv2d_3_0_texOff(vec2(0, -1)); + result += mat4(-0.12314138, 0.0757025, -0.040181793, 0.018983563, -0.0036874805, -0.7809413, 0.0190643, -0.035629164, 0.024356427, 0.14047949, -0.01058402, 0.017076084, 0.011988137, -0.13691007, -0.10807298, 0.045831535) * conv2d_3_0_texOff(vec2(1, -1)); + result += mat4(0.020509478, 0.06738169, -0.016078342, 0.021202642, -0.011970728, 0.08047811, 0.04205483, -0.017350083, 0.06589694, -0.036931876, -0.073050424, 0.062360875, 0.03172255, 0.3757815, -0.012974772, -0.043230984) * conv2d_3_0_texOff(vec2(-1, 0)); + result += mat4(0.04376047, 0.4389251, -0.021287512, -0.1405933, 0.06613506, 0.026004082, 0.044704348, 0.041185524, 0.070935674, -0.117679834, 0.03926195, 0.085804105, -0.07845212, 0.16748862, 0.08294596, 0.12811096) * conv2d_3_0_texOff(vec2(0, 0)); + result += mat4(-0.047047317, -0.20215397, 0.047943432, -0.019638455, -0.07743439, -0.32780793, -0.07403038, 0.041768026, -0.15007868, -0.021869412, 0.007911892, -0.025322244, 0.07267664, -0.3143165, -0.021299394, 0.07219613) * conv2d_3_0_texOff(vec2(1, 0)); + result += mat4(0.070411004, 0.063154496, -0.035066504, 0.0967381, 0.03675973, -0.032787267, -0.013259352, 0.09365573, 9.3006514e-05, -0.043778643, 0.023278795, 0.022598675, 0.0009953238, -0.22757035, -0.052360512, 0.07037452) * conv2d_3_0_texOff(vec2(-1, 1)); + result += mat4(-0.06405655, -0.17317107, 0.02504415, -0.092302375, -0.02464706, -0.01171975, 0.12416583, -0.034180686, 0.03362444, 0.15519719, -0.008013067, -0.050501034, -0.0452095, -0.06909662, 0.030463876, 0.058430105) * conv2d_3_0_texOff(vec2(0, 1)); + result += mat4(0.058309894, 0.060819324, -0.020249328, 0.06933289, 0.039675206, -0.047621436, 0.00051552133, 0.10025586, -0.10289459, -0.3378846, 0.005486807, -0.014348185, 0.11525803, 0.4562171, -0.08217181, 0.13036068) * conv2d_3_0_texOff(vec2(1, 1)); + result += mat4(-0.17633228, 0.036917184, -0.03853674, -0.083973035, 0.05150953, -0.042342395, -0.049196567, 0.03856686, -0.042043623, -0.019436652, 0.09557106, -0.040558677, 0.005042305, 0.021995997, 0.0037598105, -0.069472045) * conv2d_3_1_texOff(vec2(-1, -1)); + result += mat4(-0.033390567, 0.107843965, 0.060027342, -0.12564352, 0.047451552, 0.022007966, 0.004441137, 0.036295407, 0.11607103, 0.0010575744, -0.03643113, -0.04048113, 0.013935722, 0.06375162, 0.07117474, -0.052229486) * conv2d_3_1_texOff(vec2(0, -1)); + result += mat4(-0.08210023, -0.66515315, 0.069091305, -0.038305834, -0.07296035, -0.17474979, 0.006548619, 0.022066902, 0.024708012, -0.15045066, -0.021511395, 0.071671486, -0.058852453, -0.24132784, 0.008797022, -0.051848307) * conv2d_3_1_texOff(vec2(1, -1)); + result += mat4(-0.09123059, 0.023977306, 0.0749139, 0.043218426, 0.04751282, -0.015306857, -0.033697233, -0.02457444, 0.04434023, -0.09031759, -0.08884777, -0.06875023, 0.048505224, -0.1014969, -0.014928363, -0.09789808) * conv2d_3_1_texOff(vec2(-1, 0)); + result += mat4(0.018630985, -0.22375864, 0.05584198, -0.10293247, -0.017310083, 0.06720158, 0.04197032, -0.0469701, 0.032860868, 0.035535775, -0.0402885, 0.02078255, 0.008052612, 0.13032427, 0.01829301, 0.07089493) * conv2d_3_1_texOff(vec2(0, 0)); + result += mat4(-0.07371981, -0.13560879, 0.011255115, -0.12618797, -0.045102302, -0.07760822, -0.0026590633, -0.04493451, 0.07525087, -0.669804, -0.067661405, -0.008882325, 0.06614981, 0.12329007, 0.07453672, 0.05476959) * conv2d_3_1_texOff(vec2(1, 0)); + result += mat4(0.019797869, -0.0072556706, 0.019070687, 0.083032355, 0.060178712, -0.07217566, 0.054419823, 0.06468796, -0.011334752, -0.009203236, 0.08428041, -0.027429568, -0.0130488835, -0.040937275, 0.07445889, -0.0016471418) * conv2d_3_1_texOff(vec2(-1, 1)); + result += mat4(-0.007891134, 0.11889605, 0.0012089409, -0.12328555, 0.014930354, -0.012546994, -0.062499635, 0.070233434, -0.022556832, 0.05067245, 0.021462303, -0.02678849, 0.0065041585, 0.080350935, 0.059200898, 0.050952166) * conv2d_3_1_texOff(vec2(0, 1)); + result += mat4(-0.11372491, -0.20757373, 0.114417024, -0.123033434, 0.061110582, 0.030654686, 0.042504143, 0.10811961, 0.005055127, -0.22360784, -0.01401645, -0.034538537, 0.06409256, -0.0035663026, -0.034677807, 0.09172708) * conv2d_3_1_texOff(vec2(1, 1)); + result += mat4(-0.010129579, -0.14352389, -0.031210322, 0.09472488, -0.0624923, -0.16874538, 0.09266329, -0.049696393, 0.024835182, 0.16387008, -0.010938607, -0.048466444, 0.056254618, -0.105320655, 0.012420069, 0.037076756) * conv2d_3_2_texOff(vec2(-1, -1)); + result += mat4(-0.037523154, 0.07488885, 0.03052542, 0.062459312, -0.030292828, 0.18595889, -0.0121072205, 0.004821915, -0.008211444, 0.04385695, 0.011696833, -0.078024656, -0.041107893, 0.052131224, 0.009269298, 0.064020365) * conv2d_3_2_texOff(vec2(0, -1)); + result += mat4(-0.13759919, -0.19104457, 0.00071298686, 0.019084264, 0.035324965, -0.3556473, -0.02169804, -0.0040722187, 0.04108028, -0.2561129, -0.06840444, 0.039269634, 0.07445694, -0.3359634, 0.017214028, -0.085408546) * conv2d_3_2_texOff(vec2(1, -1)); + result += mat4(-0.08058521, 0.270098, 0.07938886, -0.037802402, 0.017461253, -0.336572, -0.06859386, -0.021197163, 0.0709465, -0.05973133, 0.012830438, -0.04875981, -0.07857033, 0.29298082, 0.021713596, 0.077925175) * conv2d_3_2_texOff(vec2(-1, 0)); + result += mat4(-0.054192014, 0.16307074, -0.14268659, 0.05308341, 0.14083205, 0.1567965, -0.059313454, -0.056672376, 0.045207743, -0.41292316, 0.016430074, -0.045224242, 0.040306818, 0.09509502, 0.04503464, -0.058177464) * conv2d_3_2_texOff(vec2(0, 0)); + result += mat4(0.000596586, 0.03220169, 0.055037126, 0.051594898, -0.0016205835, -0.2029972, -0.054398008, -0.017996877, 0.027522873, -0.0863014, -0.031879473, -0.080295146, -0.011408947, -0.012197109, 0.04920937, -0.08694977) * conv2d_3_2_texOff(vec2(1, 0)); + result += mat4(-0.009014738, 0.0007383643, 0.0035321459, 0.02253776, -0.06367373, -0.02217425, 0.013334428, -0.116585486, -0.042053282, -0.052093275, -0.042580906, 0.085820176, 0.00636449, 0.041332312, -0.108290486, 0.038547806) * conv2d_3_2_texOff(vec2(-1, 1)); + result += mat4(-0.07289189, 0.09725272, 0.017747331, 0.014354225, 0.012287661, 0.09916276, -0.02194406, -0.0058554914, 0.06803197, 0.19322868, 0.00067282916, -0.03147434, -0.009916093, -0.010718826, 0.007261923, -0.09866745) * conv2d_3_2_texOff(vec2(0, 1)); + result += mat4(-0.012612036, -0.36172625, 0.007360322, 0.050794546, -0.0768518, -0.1023776, -0.07836455, -0.010588464, 0.03375399, 0.09091005, 0.016605219, 0.003073773, -0.005915814, 0.011115304, 0.011031256, -0.032141004) * conv2d_3_2_texOff(vec2(1, 1)); + result += mat4(-0.040264867, 0.056166098, 0.067857966, -0.024915492, 0.02896885, 0.0013846442, -0.053306405, 0.0061537307, -0.022135386, 0.0060020755, 0.04185865, -0.002316851, 0.06281611, 0.030804424, 0.006757632, 0.034999084) * conv2d_3_3_texOff(vec2(-1, -1)); + result += mat4(-0.044974294, -0.0680236, -0.024075756, 0.026468124, 0.028456759, 0.11626725, -0.08500477, 0.092178054, 0.0407912, 0.0089175245, 0.13235664, 0.05310718, -0.01167591, 0.037841197, -0.11626772, -0.013617577) * conv2d_3_3_texOff(vec2(0, -1)); + result += mat4(-0.0009992144, -0.20808631, 0.048897725, -0.078093745, -0.03530866, 0.007871029, -0.0015553632, -0.02031194, 0.07696782, -0.19675818, 0.097943366, -0.00891426, -0.06030611, -0.591377, -0.018262625, -0.03814167) * conv2d_3_3_texOff(vec2(1, -1)); + result += mat4(-0.087099224, 0.017754067, 0.018233443, 0.022235364, 0.070678644, -0.018609673, -0.06476866, 0.08449504, 0.0131565565, 0.019863885, 0.060558204, 0.119030386, 0.024452072, 0.029187439, 0.029962128, -0.08427032) * conv2d_3_3_texOff(vec2(-1, 0)); + result += mat4(-0.015235641, -0.08733087, -0.07811121, -0.05997136, 0.11102645, 0.035952196, -0.022078108, -0.06960277, 0.003878802, 0.12779161, 0.032756925, 0.078808926, -0.07426487, 0.16167976, -0.04301175, 0.015743926) * conv2d_3_3_texOff(vec2(0, 0)); + result += mat4(0.0027633547, -0.49470168, -0.046164952, -0.0731074, 0.003536955, -0.243467, 0.019057155, -0.03567277, -0.13598314, -0.3546155, -0.11748925, -0.036309555, 0.054259248, -0.04384689, 0.12215121, 0.025073994) * conv2d_3_3_texOff(vec2(1, 0)); + result += mat4(-0.090734564, 0.0331172, 0.030022278, -0.09332564, -0.008971093, 0.090078026, -0.052420095, 0.0038724705, -0.013568642, 0.0059830304, 0.026380392, -0.02125755, 0.07682214, -0.113920465, 0.01773222, -0.03772212) * conv2d_3_3_texOff(vec2(-1, 1)); + result += mat4(-0.007567446, -0.22034419, -0.041851576, -0.030806117, 0.06562655, 0.011196453, -0.017002476, -0.026220169, -0.04263944, -0.02194364, 0.03429419, -0.10005334, -0.0966684, 0.09255646, -0.013114592, -0.031713717) * conv2d_3_3_texOff(vec2(0, 1)); + result += mat4(-0.025696967, 0.25371197, 0.082253315, -0.118728004, 0.0620216, -0.048623223, -0.0075309062, 0.017814992, 0.108730674, 0.38648295, -0.0035926711, 0.039258786, -0.024442594, -0.0013070817, -0.028597599, -0.032654546) * conv2d_3_3_texOff(vec2(1, 1)); + result += mat4(0.07114723, 0.009815031, 0.042604826, 0.031808466, -0.14675556, 0.005315628, 0.036192738, -0.11933927, -0.043950055, -0.006120088, -0.020338828, -0.087121114, 0.008994244, -0.0020596823, 0.011450175, 0.018520156) * conv2d_3_4_texOff(vec2(-1, -1)); + result += mat4(-0.015456008, -0.014478573, 0.04326583, 0.03644521, -0.1367447, 0.06608193, 0.04011906, -0.07957221, -0.03168912, 0.1067895, -0.014596211, -0.013284609, -0.037385665, -0.12235948, -0.030036425, -0.061901156) * conv2d_3_4_texOff(vec2(0, -1)); + result += mat4(0.006855855, -0.40146473, 0.011045726, 0.010526786, -0.16583824, -0.70525604, 0.024128726, -0.08053066, 0.01705261, -0.118243925, 0.05153937, -0.0034368439, 0.054545894, -0.018481169, 0.0863477, -0.08460464) * conv2d_3_4_texOff(vec2(1, -1)); + result += mat4(-0.028467186, 0.010208391, 0.013139722, -0.052420452, -0.010899076, 0.050624605, -0.0102726575, -0.17362532, 0.10488927, -0.23920226, -0.020434188, 0.076169975, 0.022050932, -0.013161934, 0.1120727, -0.09481563) * conv2d_3_4_texOff(vec2(-1, 0)); + result += mat4(0.043467194, -0.046632685, -0.07436661, 0.021629626, -0.056559738, 0.0918293, -0.079350896, -0.12233973, 0.15706305, 0.028824322, -0.025938032, 0.04982511, 0.020648902, 0.18747896, 0.08372415, 0.0015184315) * conv2d_3_4_texOff(vec2(0, 0)); + result += mat4(0.009508426, -0.28851503, -0.10119099, 0.015206087, 0.009606005, -0.19417383, 0.038202662, -0.09793787, -0.07283871, 0.3518289, -0.013113602, -0.0071252687, 0.07038455, 0.22495575, 0.038298056, -0.024141666) * conv2d_3_4_texOff(vec2(1, 0)); + result += mat4(-0.04749289, 0.011216882, 0.024100047, -0.027565194, -0.11246689, -0.095956616, 0.03402742, -0.05412083, 0.016260013, 0.026673188, 0.031321768, 0.03641605, -0.062141996, -0.016679559, 0.018101402, -0.026317598) * conv2d_3_4_texOff(vec2(-1, 1)); + result += mat4(-0.02093392, -0.017347148, 0.019193506, 0.08074091, -0.043394342, 0.08268158, 0.059767723, -0.12119437, 0.008635602, 0.18315537, -0.0526966, -0.02855999, 0.034147404, -0.15878667, 0.07259442, -0.03030957) * conv2d_3_4_texOff(vec2(0, 1)); + result += mat4(-0.03455299, -0.015534731, 0.0002845174, -0.039707836, -0.0486724, -0.6173545, 0.09348502, -0.11721769, -0.010323047, 0.12721458, -0.054353256, -0.019327696, 0.16367581, -0.0806225, 0.0094572995, 0.05866686) * conv2d_3_4_texOff(vec2(1, 1)); + result += mat4(0.041249435, -0.024041865, 0.009835721, 0.0061319824, -0.005082364, -0.022245813, 0.04531576, 0.0061081154, 0.025031492, -0.15338701, 0.006966874, -0.05983692, 0.04313273, 0.14482291, 0.032091897, -0.034206316) * conv2d_3_5_texOff(vec2(-1, -1)); + result += mat4(0.09721856, 0.12713702, 0.016483074, 0.03212307, -0.049151875, -0.04702829, -0.022988932, -0.10647255, -0.13135609, 0.012612649, 0.013935606, 0.016068326, -0.0023363314, 0.07883456, -0.026320295, -0.023248572) * conv2d_3_5_texOff(vec2(0, -1)); + result += mat4(0.15044288, -0.14202249, -0.006131538, 0.08399841, -0.027138194, 0.037407275, 0.035927113, -0.07265002, -0.04095669, -0.5990158, -0.008224024, 0.060369145, 0.0021189395, -0.2096754, 0.036404334, 0.056585215) * conv2d_3_5_texOff(vec2(1, -1)); + result += mat4(0.08491714, 0.0057171397, 0.089527376, 0.030795436, -0.029818984, -0.0058527356, 0.008313074, -0.041704964, -0.061729815, 0.18328175, -0.005503143, 0.012168882, 0.033219174, -0.02815974, -0.018592006, 0.013164104) * conv2d_3_5_texOff(vec2(-1, 0)); + result += mat4(-0.047255702, 0.09169221, 0.060747728, 0.02280022, 0.0008416139, -0.015350163, 0.005069046, 0.049448136, -0.041426398, 0.019266313, -0.042808425, 0.03296911, -0.009722616, 0.1284403, -0.03130015, 0.046757407) * conv2d_3_5_texOff(vec2(0, 0)); + result += mat4(0.038540877, -0.075064376, 0.030594876, 0.09348764, 0.035012025, -0.09712475, -0.006589732, 0.10030764, 0.045477357, -0.116151296, 0.045642607, 0.07652333, 0.035127897, -0.43110815, -0.013072722, 0.032458235) * conv2d_3_5_texOff(vec2(1, 0)); + result += mat4(0.00144866, -0.019755565, 0.055150766, -0.006370296, -0.044101845, -0.1365582, 0.043684684, -0.03371961, 0.019444581, -0.084569626, 0.0029301948, -0.15641409, -0.0221516, -0.12615481, 0.016751066, -0.0017151404) * conv2d_3_5_texOff(vec2(-1, 1)); + result += mat4(0.023865324, 0.12553476, 0.041682158, 0.047192104, -0.033835515, -0.18305019, 0.00612117, 0.1282394, -0.056013256, -0.02272026, 0.07114037, -0.080235, 0.007939856, 0.11287023, 0.017584722, 0.033576272) * conv2d_3_5_texOff(vec2(0, 1)); + result += mat4(0.014767476, -0.1551186, 0.08893291, -0.034217365, -0.015735222, -0.09581958, 0.013326061, -0.017577937, -0.01719238, -0.095985144, -0.03538371, -0.11301956, 0.017364478, 0.23848978, -0.10759406, 0.042781465) * conv2d_3_5_texOff(vec2(1, 1)); + result += mat4(-0.05104917, -0.007135644, 0.04861936, 0.02568213, -0.030346094, 0.06094315, -0.024377221, -0.050673123, -0.092039905, -0.11361368, -0.04203074, -0.011691558, 0.06713048, 0.12833393, 0.0769178, 0.029689489) * conv2d_3_6_texOff(vec2(-1, -1)); + result += mat4(0.0102630425, 0.057911377, 0.079774685, 0.085982025, 0.022757804, 0.01812026, -0.0069408724, -0.045502838, -0.03891783, 0.102442026, -0.0013620395, -0.08221829, -0.019623406, -0.026273422, -0.0054899524, 0.06589516) * conv2d_3_6_texOff(vec2(0, -1)); + result += mat4(0.03592547, -0.24518867, 0.013576374, 0.010220509, 0.0012340249, -0.46090606, -0.013393177, 0.07601117, 0.035986964, -0.2824564, 0.0263875, -0.07075014, -0.04460627, -0.1353678, -0.00040110885, 0.068376094) * conv2d_3_6_texOff(vec2(1, -1)); + result += mat4(0.022415921, 0.060945954, -0.07646335, 0.14181918, -0.052727085, -0.13413966, -0.036707524, -0.023801615, 0.00075022737, 0.20210858, 0.021796184, -0.12830791, 0.038317516, -0.16118965, 0.013710686, 0.009445666) * conv2d_3_6_texOff(vec2(-1, 0)); + result += mat4(0.1487324, 0.075883366, 0.0153384935, 0.19765702, 0.021808024, 0.11636403, -0.12156365, -0.024646, 0.061347462, 0.08533535, -0.07918099, -0.0749103, 0.08033888, -0.15301721, -0.009327648, 0.062276326) * conv2d_3_6_texOff(vec2(0, 0)); + result += mat4(-0.063309476, 0.052364655, -0.06642198, 0.09031255, -0.030939233, 0.060143147, -0.030875081, -0.03928308, -0.034965795, -0.05413141, 0.07490059, -0.11615071, -0.08460739, -0.2090655, -0.027963271, 0.07294901) * conv2d_3_6_texOff(vec2(1, 0)); + result += mat4(0.01136829, 0.01959363, -0.024394508, 0.076030366, -0.012072871, 0.07764036, -0.026635138, 0.061273694, -0.02037742, 0.01980664, 0.0034879504, -0.035796046, -0.06951053, 0.1180355, -0.065624125, 0.0069345534) * conv2d_3_6_texOff(vec2(-1, 1)); + result += mat4(0.031299617, -0.011814126, 0.0032626109, -0.038451567, 0.022049524, 0.107003465, -0.08415847, -0.010123594, -0.05360991, 0.093996726, 0.09135406, -0.028682537, -0.03876176, 0.13292068, 0.044119354, -0.092262916) * conv2d_3_6_texOff(vec2(0, 1)); + result += mat4(0.07430533, -0.074357174, 0.016679721, -0.077125765, 0.05332765, -0.25683093, -0.04959884, 0.023626534, -0.032135237, -0.09517201, 0.033806078, -0.02488559, -0.07125217, 0.10610193, -0.021495, -0.07873476) * conv2d_3_6_texOff(vec2(1, 1)); + result += mat4(0.093365826, -0.010972027, -0.024142984, 0.11644449, 0.011499283, 0.106402084, -0.0063597606, 0.06198783, 0.019853728, -0.06634829, -0.037164252, 0.047073685, -0.02228677, -0.046874024, 0.1129112, -0.13632454) * conv2d_3_7_texOff(vec2(-1, -1)); + result += mat4(-0.010339084, -0.12625273, -0.016088795, 0.069963664, 0.015870772, 0.086536385, -0.0179943, 0.039168548, 0.10614821, 0.003864355, -0.1242941, 0.03649972, 0.07085007, -0.011262698, 0.04409373, -0.1319026) * conv2d_3_7_texOff(vec2(0, -1)); + result += mat4(-0.03800036, -0.57914186, 0.0356946, -0.0057229414, -0.09903625, -1.3088763, 0.032917574, -0.0110374745, 0.0013907407, -0.31959823, 0.012418086, 0.016510688, -0.04218967, -0.07628236, -0.001814182, -0.10061288) * conv2d_3_7_texOff(vec2(1, -1)); + result += mat4(-0.046443213, -0.050771642, -0.050326243, 0.07479072, -0.045556773, -0.05683619, -0.057064436, -0.04269895, 0.019668639, 0.092314035, -0.03726757, 0.049748544, 0.03778402, -0.013759232, 0.047589898, -0.17512159) * conv2d_3_7_texOff(vec2(-1, 0)); + result += mat4(-0.003636057, -0.13513543, -0.05275785, 0.11715509, 0.10321991, 0.05811811, 0.0022477855, 0.03312204, -0.029094787, 0.19621731, 0.038262073, -0.20879546, -0.1455094, 0.030719409, 0.0062324903, -0.19269879) * conv2d_3_7_texOff(vec2(0, 0)); + result += mat4(0.021267101, -0.19611599, -0.036208265, -0.0844125, -0.049282122, 0.19184484, 0.019754674, -0.084411815, -0.10611166, -0.3612199, 0.02719195, 0.0070396145, -0.031364966, -0.113234274, 0.032447863, -0.046123665) * conv2d_3_7_texOff(vec2(1, 0)); + result += mat4(0.04757718, 0.039923664, -0.017325414, -0.011035005, 0.021608615, 0.07529014, -0.0021377213, -0.061068844, -0.087480396, 0.032727808, -0.0121359145, -0.12110005, 0.032599594, -0.026188323, 0.06866269, -0.16430399) * conv2d_3_7_texOff(vec2(-1, 1)); + result += mat4(0.0060594874, 0.051548127, 0.020940185, -0.104202606, -0.0014893691, 0.12802643, -0.022637842, -0.0100287385, 0.052910883, -0.22741987, 0.014683845, -0.02055562, -0.079601526, 0.06609356, 0.11922961, -0.33044636) * conv2d_3_7_texOff(vec2(0, 1)); + result += mat4(-0.016509173, -0.104372576, -0.013693677, -0.15762967, 0.0074020685, 0.25686184, 0.055697076, -0.07214819, 0.030155253, -0.35310283, -0.043432593, 0.051360834, -0.11972009, -0.21784566, -0.041562054, -0.100954756) * conv2d_3_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-4-ReLU) +//!HOOK LUMA +//!BIND conv2d_3_0 +//!BIND conv2d_3_1 +//!BIND conv2d_3_2 +//!BIND conv2d_3_3 +//!BIND conv2d_3_4 +//!BIND conv2d_3_5 +//!BIND conv2d_3_6 +//!BIND conv2d_3_7 +//!SAVE conv2d_4_5 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.007896668, -0.0039458103, 0.0026883641, -0.0024681427); + result += mat4(-0.058632888, 0.05055347, 0.002279876, 0.06251236, -0.094024, -0.088542335, 0.040489867, 0.036308546, 0.00042012057, 0.019464351, 0.027509648, -0.039152686, 0.040113494, -0.064713076, 0.0060069314, 0.004524586) * conv2d_3_0_texOff(vec2(-1, -1)); + result += mat4(0.044895615, -0.09378975, -0.014480465, 0.04038992, 0.04338044, 0.055958603, 0.1083325, -0.00048550902, 0.01962582, 0.009513529, 0.011612538, 0.015135154, -0.009615807, -0.085106395, -0.007304606, 0.106006056) * conv2d_3_0_texOff(vec2(0, -1)); + result += mat4(0.04629562, 0.06201749, 0.0178472, 0.062569216, -0.078922644, 0.01715154, 0.0057672467, 0.022419086, 0.052560214, 0.020723838, -0.019194605, 0.11039461, -0.07733407, 0.108110726, -0.004168138, -0.0069920667) * conv2d_3_0_texOff(vec2(1, -1)); + result += mat4(-0.0026184996, 0.23636504, -0.05094208, -0.06831275, 0.07495803, 0.03875445, -0.03884385, 0.04597469, 0.036856588, -0.04336165, -0.009954445, 0.04425811, 0.0030858913, 0.017101513, 0.045036707, 0.010756279) * conv2d_3_0_texOff(vec2(-1, 0)); + result += mat4(-0.031394545, -0.14084513, -0.04195571, 0.049792316, -0.01803687, -0.08963545, 0.040424235, -0.08644156, -0.017704843, -0.10043315, 0.02564672, 0.07825288, 0.036647893, 0.039722994, 0.053002365, -0.017154206) * conv2d_3_0_texOff(vec2(0, 0)); + result += mat4(0.030319892, 0.14799279, -0.055032723, 0.11034247, -0.04270569, 0.07265783, -0.038303398, 0.020328267, -0.09343033, -0.08326003, -0.03184451, -0.002071529, 0.026191695, 0.049850278, 0.0139996605, -0.00807946) * conv2d_3_0_texOff(vec2(1, 0)); + result += mat4(-0.020671971, 0.0077967346, -0.017851753, -0.09454495, 0.02453817, 0.055504825, 0.029263876, 0.013539105, 0.028382692, 0.13356541, 0.013635786, -0.050446898, 0.033298597, -0.04710936, -0.0027537781, -0.025797853) * conv2d_3_0_texOff(vec2(-1, 1)); + result += mat4(-0.010628425, -0.26611555, 0.027822034, -0.037192315, -0.0067162244, -0.025860777, 0.005567734, -0.035048366, 0.045180142, -0.032384645, -0.0035604127, -0.029973373, 0.06683765, -0.030991944, 0.05235538, -0.0024299459) * conv2d_3_0_texOff(vec2(0, 1)); + result += mat4(0.036483735, 0.097960666, -0.040907513, 0.0046350136, 0.047667146, 0.011671389, -0.005976736, 0.0036643085, -0.02076932, -0.008157492, 0.036021143, 0.06295264, -0.0671253, 0.13413553, -0.013021121, -0.022507392) * conv2d_3_0_texOff(vec2(1, 1)); + result += mat4(0.034125064, 0.047898863, 0.051208828, 0.01314674, 0.008405442, 0.027489604, -0.0018663963, 0.09954608, 0.037789144, 0.045637835, 0.0008856454, -0.07084205, 0.010582125, 0.015603786, -0.03523708, 0.019099785) * conv2d_3_1_texOff(vec2(-1, -1)); + result += mat4(-0.028994732, -0.14492789, 0.102842316, 0.08011458, -0.0042894664, 0.025490258, -0.004309482, -0.019818852, 0.04847569, -0.038484685, 0.005771128, -0.03778164, 0.027546898, 0.0028346877, 0.018665286, 0.04926732) * conv2d_3_1_texOff(vec2(0, -1)); + result += mat4(-0.08831608, -0.13959448, 0.037712853, -0.057732366, -0.01786939, 0.02543522, -0.05072902, 0.0040795896, 0.019916466, 0.113739066, -0.012593153, -0.037081666, 0.024369845, -0.034064308, 0.018979082, 0.017255515) * conv2d_3_1_texOff(vec2(1, -1)); + result += mat4(0.08530125, -0.057761073, 0.035766598, -0.10956983, -0.062941685, 0.137845, -0.039027702, 0.029427135, -0.050776187, -0.14360471, -0.07709, 0.05269017, -0.0016471518, 0.032635525, 0.005233849, -0.059031796) * conv2d_3_1_texOff(vec2(-1, 0)); + result += mat4(-0.10135604, -0.037931815, -0.054355957, -0.05779871, 0.04640834, 0.15756111, 0.0022086864, 0.0068652816, -0.013869576, -0.29764456, -0.08070844, 0.014434643, -0.019046407, 0.014679402, -0.122668, -0.071568415) * conv2d_3_1_texOff(vec2(0, 0)); + result += mat4(0.059402462, -0.02677498, 0.014383633, -0.0029164157, 0.13549355, 0.076066695, -0.01489978, 0.07949649, 0.0069735474, 0.02916583, -0.005436813, -0.023021823, 0.013158367, 0.078461744, -0.050012875, -0.03674447) * conv2d_3_1_texOff(vec2(1, 0)); + result += mat4(-0.049835823, 0.057166822, 0.03790692, -0.025375675, -0.022125484, -0.028352294, -0.013781015, 0.016274845, 0.03724362, 0.06520191, 0.018084792, 0.038188975, -0.019158075, -0.05288042, -0.0008199176, -0.052913573) * conv2d_3_1_texOff(vec2(-1, 1)); + result += mat4(0.079175554, 0.018138021, 0.03235582, -0.012755845, -0.010030547, 0.0067303674, -0.02984568, 0.11535797, -0.06649395, 0.017586594, 0.00941551, -0.068018496, -0.04192317, 0.08257431, -0.023611087, 0.05463326) * conv2d_3_1_texOff(vec2(0, 1)); + result += mat4(-0.015782798, -0.040748954, 0.0066392412, -0.10888566, -0.049430512, 0.0700738, 0.0025213629, 0.037068695, -0.058383048, 0.030395292, 0.006909112, -0.07152679, -0.11574852, 0.016562877, 0.010017695, 0.006044874) * conv2d_3_1_texOff(vec2(1, 1)); + result += mat4(-0.0054047075, 0.044633515, -0.017034663, 0.002456047, 0.10681012, -0.01622318, 0.018143315, -0.0030163054, -0.1281111, -0.011745114, 0.03442355, -0.029161882, 5.008995e-06, -0.100245535, 0.025666509, 0.024407761) * conv2d_3_2_texOff(vec2(-1, -1)); + result += mat4(-0.0036276067, 0.17884347, -0.015626963, -0.024419637, -0.04314955, -0.042229183, -0.010778925, -0.048493247, -0.051035415, -0.118581206, -0.05042336, -0.0076942006, 0.13434952, -0.10815711, -0.0016569481, -0.023340117) * conv2d_3_2_texOff(vec2(0, -1)); + result += mat4(-0.031345714, 0.0071293404, 0.045459103, -0.0490841, 0.021283358, -0.0017207395, 0.017942823, -0.057623863, -0.022578536, 0.06580286, -0.022257887, 0.028879791, 0.10772183, 0.061290305, -0.033173937, 0.03732757) * conv2d_3_2_texOff(vec2(1, -1)); + result += mat4(0.012209301, 0.08420006, -0.041543283, -0.11127583, -0.025552046, -0.14868757, -0.0011534691, 0.11899171, -0.0605329, -0.10062766, -0.014002993, 0.013813426, -0.02834185, 0.21800047, -0.012476228, -0.05773331) * conv2d_3_2_texOff(vec2(-1, 0)); + result += mat4(0.046283, -0.052794777, 0.015874654, 0.0011986945, -0.13474551, 0.039240353, -0.06617222, 0.08476251, -0.0052812877, -0.0706816, -0.008374616, -0.0041472134, -0.008699904, 0.010460473, -0.035869516, -0.06382042) * conv2d_3_2_texOff(vec2(0, 0)); + result += mat4(0.027320633, -0.054991156, -0.043266796, -0.0006087155, 0.03667574, -0.0075276415, 0.0036635173, -0.03279784, -0.023821134, -0.057164818, -0.071892835, -0.017910866, 0.11645164, -0.21584566, -0.008156089, 0.073217906) * conv2d_3_2_texOff(vec2(1, 0)); + result += mat4(-0.084739275, -0.0915656, -0.023047123, -0.029154234, -0.003837523, -0.11615021, 0.07352459, 0.07299754, -0.050227754, 0.07994529, -0.025613248, 0.0024733897, 0.044150833, 0.025270063, -0.034549303, -0.00039884503) * conv2d_3_2_texOff(vec2(-1, 1)); + result += mat4(0.033951893, -0.10921471, 0.038027458, -0.03489394, -0.05631161, -0.003996368, -0.06552184, 0.04836718, 0.0048860377, -0.07005502, 0.06673405, -0.04541218, 0.008107959, 0.0658968, -0.013812494, 0.10400884) * conv2d_3_2_texOff(vec2(0, 1)); + result += mat4(0.024402808, -0.026482452, 0.043582052, 0.02227165, 0.06951101, -0.054739844, -0.013307042, -0.048284534, -0.025870629, -0.03858659, -0.08194363, -0.004417658, 0.18756126, -0.054179136, 0.019101836, 0.06583426) * conv2d_3_2_texOff(vec2(1, 1)); + result += mat4(0.10496322, -0.07340198, 0.0574556, -0.07566012, -0.049967468, -0.008130119, -0.0021759877, -0.020145798, -0.004361392, -0.07062217, 0.00020275824, -0.002022589, -0.03160541, 0.02418372, -0.030149931, -0.034672383) * conv2d_3_3_texOff(vec2(-1, -1)); + result += mat4(0.06625566, -0.07943762, 0.040480603, 0.0030746465, -0.04064985, -0.06361734, 0.05405436, 0.01932206, -0.037739217, -0.022064583, 0.0034900818, 0.04449909, 0.043038044, -0.014799627, -0.028451528, -0.089460894) * conv2d_3_3_texOff(vec2(0, -1)); + result += mat4(0.025587896, -0.03998979, 0.03285062, -0.088070944, 0.037725158, 0.024638271, 0.033480037, 0.023519779, 0.11819552, -0.10811294, 0.02430266, 0.01499282, -0.053343255, 0.004109654, -0.03402168, 0.06384965) * conv2d_3_3_texOff(vec2(1, -1)); + result += mat4(-0.044042103, 0.018057825, -0.058059104, 0.014748137, -0.10247047, 0.08180735, -0.06716894, -0.07173796, 0.012414359, 0.14175805, -0.02156334, 0.013727305, -0.051178917, 0.038649857, -0.08235091, -0.013702939) * conv2d_3_3_texOff(vec2(-1, 0)); + result += mat4(-0.16522105, 0.05358681, -0.0030253856, 0.054266814, -0.032436308, 0.035084516, 0.08693562, 0.057329692, 0.17043078, 0.121496946, 0.049335152, -0.039060928, 0.057156235, 0.10942753, 0.0693341, 0.04824294) * conv2d_3_3_texOff(vec2(0, 0)); + result += mat4(0.02753873, -0.089388594, 0.0066277753, -0.03346108, -0.029262144, 0.11950411, 0.001291736, -0.027637593, 0.1388454, 0.14381015, -0.043404773, -0.013002717, -0.043480236, 0.10541183, -0.036206666, -0.04103048) * conv2d_3_3_texOff(vec2(1, 0)); + result += mat4(0.08470875, -0.057048358, 0.046188604, 0.031731118, -0.08977115, -0.02014583, -0.008551536, -0.043280054, 0.03599322, -0.11555969, 0.006509384, 0.022441769, 0.054093532, 0.024359109, -0.043571185, 0.027084427) * conv2d_3_3_texOff(vec2(-1, 1)); + result += mat4(-0.054879762, -0.056938913, -0.042866908, -0.053038068, -0.06736709, -0.12533571, -0.0065495833, 0.044546712, 0.00616219, -0.017087664, -0.031611517, 0.021539936, -0.0154873235, 0.022100704, 0.01676574, -0.010054986) * conv2d_3_3_texOff(vec2(0, 1)); + result += mat4(0.049083345, -0.10266528, 0.0067945104, 0.0073063807, -0.057730943, 0.05802088, 0.017312305, -0.047171514, 0.11006977, 0.029730864, -0.002144943, -0.03345589, -0.077167794, -0.0032898558, 0.019837067, -0.013153866) * conv2d_3_3_texOff(vec2(1, 1)); + result += mat4(-0.008339145, -0.020411437, -0.01915613, 0.014888218, 0.07508, -0.03766244, 0.007250396, 0.023330918, 0.014284494, -0.069497466, -0.024979556, -0.019838085, 0.047969345, -0.005339376, 0.025329392, 0.12729992) * conv2d_3_4_texOff(vec2(-1, -1)); + result += mat4(0.081189096, -0.05126671, -0.023401251, -0.032728024, -0.027064474, -0.1968803, 0.03509443, -0.025686515, 0.0064954646, -0.077530764, -0.0054693604, 0.009219676, 0.01715533, -0.015472868, -0.0132728685, 0.11048942) * conv2d_3_4_texOff(vec2(0, -1)); + result += mat4(-0.07174404, 0.056620724, 0.0126998015, -0.122316085, 0.061526664, -0.13834107, -0.014612296, -0.06708739, -0.0386526, 0.002996943, 0.011452151, 0.006575808, -0.07456697, 0.051522296, 0.03853353, -0.055995498) * conv2d_3_4_texOff(vec2(1, -1)); + result += mat4(0.088429585, -0.0019774318, -0.013450368, 0.06933111, -0.026392605, -0.12949294, 0.021621125, 0.046414766, -0.02670638, 0.052928332, 0.045472737, -0.016308486, -0.024143873, -0.0214124, 0.00673677, 0.0008426832) * conv2d_3_4_texOff(vec2(-1, 0)); + result += mat4(0.06481759, -0.008948176, -0.0039719855, -0.0046411445, -0.030545972, -0.30336943, 0.022365313, 0.055533446, -0.10615541, 0.09801485, 0.110178374, -0.037944958, -0.05612613, 0.008352702, -0.027287621, 0.096214116) * conv2d_3_4_texOff(vec2(0, 0)); + result += mat4(0.095475174, 0.054002795, 0.0032788012, -0.057189, 0.052715156, -0.10357886, -0.0043137507, 0.024142897, 0.13442388, -0.09156153, 0.0091201225, 0.02155082, 0.024288341, 0.020281108, 0.054753214, 0.052756198) * conv2d_3_4_texOff(vec2(1, 0)); + result += mat4(-0.0127241695, -0.021986268, -0.0033693907, -0.022363955, 0.050414395, 0.028937103, -0.0009179078, 0.014059349, -0.07241603, 0.116942145, 0.013334344, 0.049098182, -0.012175416, -0.010999352, 0.042217407, 0.056676067) * conv2d_3_4_texOff(vec2(-1, 1)); + result += mat4(0.027220096, 0.09317096, 0.038125962, -0.09999618, 0.014694421, 0.029327713, 0.0023287681, 0.046445765, 0.0045390534, -0.008102954, -0.039316647, 0.009384305, -0.055570073, 0.0055661225, -0.012265247, 0.053492583) * conv2d_3_4_texOff(vec2(0, 1)); + result += mat4(0.04990333, 0.08803433, -0.043762278, -0.15210594, 0.039671086, -0.05994781, 0.05172733, 0.084425546, 0.09825696, 0.004956259, 0.009085544, 0.03971733, -0.0790334, 0.012927015, -0.008507133, 0.0720367) * conv2d_3_4_texOff(vec2(1, 1)); + result += mat4(-0.0209914, 0.027087757, -0.03452176, 0.090809084, -0.05698767, 0.08184144, -0.058918715, 0.00083143776, 0.03939704, -0.061676614, -0.021030862, 0.07330388, 0.0762983, -0.05312156, -0.015406377, -0.04531005) * conv2d_3_5_texOff(vec2(-1, -1)); + result += mat4(0.033327892, 0.03499924, 0.015310199, 0.040461104, -0.03925601, 0.11007165, -0.0061434153, -0.012103665, -0.10875242, -0.03121945, -0.033967916, -0.0361867, -0.010290216, -0.14941931, -0.019599067, -0.031127775) * conv2d_3_5_texOff(vec2(0, -1)); + result += mat4(0.026167113, 0.020870125, -0.031959508, 0.052815285, 0.117547214, -0.06439892, -0.025355084, 0.019441556, -0.10485767, 0.06174717, -0.06079135, -0.06899685, -0.20490424, -0.04902346, 0.013398266, 0.006390147) * conv2d_3_5_texOff(vec2(1, -1)); + result += mat4(0.074564114, 0.006052402, -0.020064449, 0.05978541, 0.07916341, -0.010060311, 0.049786862, 0.018042935, 0.008825587, -0.012159945, 0.038560428, 0.06368634, -0.0038906673, -0.005106271, 0.016091809, 0.02298915) * conv2d_3_5_texOff(vec2(-1, 0)); + result += mat4(-0.01919042, -0.006848169, 0.04655904, 0.15797973, -0.035270117, -0.1100229, -0.057673633, 0.025371108, 0.03442221, 0.2160154, 0.041088276, 0.0822301, 0.11877798, -0.040746737, 0.106405504, 0.029945187) * conv2d_3_5_texOff(vec2(0, 0)); + result += mat4(-0.056839786, 0.06629693, -0.06537683, 0.09972992, 0.058160163, 0.048089873, 0.07899499, -0.053041093, -0.16499798, -0.074046835, 0.012640291, 0.054097094, -0.16197115, -0.06537729, -0.0035627142, -0.017934972) * conv2d_3_5_texOff(vec2(1, 0)); + result += mat4(0.00856878, 0.054560166, 0.01740349, 0.061825655, 0.07430267, 0.004657485, 0.051917337, 0.11761621, 0.03792339, -0.16522424, 0.005142488, -0.008602713, 0.038974266, -0.063149445, 0.028993348, 0.03261409) * conv2d_3_5_texOff(vec2(-1, 1)); + result += mat4(0.021922214, 0.072605394, 0.08797638, 0.033616748, -0.06664017, 0.13923427, 0.010175934, -0.003252083, -0.010231997, 0.03210563, 0.0433597, 0.01205486, 0.022060711, 0.094930194, 0.020192014, 0.044060234) * conv2d_3_5_texOff(vec2(0, 1)); + result += mat4(-0.019619457, -0.0017871087, 0.008310071, 0.0779596, 0.11610639, 0.06972875, 0.02963945, -0.031081202, -0.14466588, -0.06677918, -0.053736318, 0.014847356, 0.05711067, -0.05763583, -0.03211008, 0.07075154) * conv2d_3_5_texOff(vec2(1, 1)); + result += mat4(0.03836729, 0.039266158, 0.0056794886, -0.038519744, -0.012966393, -0.03033453, -0.016349487, -0.02922185, 0.0034478286, 0.044166032, 0.035199974, -0.109382346, -0.0066230395, -0.0059641376, 0.036687277, 0.050932586) * conv2d_3_6_texOff(vec2(-1, -1)); + result += mat4(-0.0110331075, 0.14587492, -0.043023326, -0.032639198, -0.046591673, -0.06621099, 0.017554002, 0.050619405, -0.09044288, 0.069467604, -0.0020655978, -0.026335975, -0.028880285, -0.026207034, -0.018944964, 0.07932727) * conv2d_3_6_texOff(vec2(0, -1)); + result += mat4(0.09523394, 0.16506691, 0.004918748, -0.025860082, 0.005273867, -0.06293472, 0.022070128, -0.016902246, -0.061740246, -0.05790665, -0.011105001, 0.061310627, -0.09980412, 0.02562133, -0.022050967, -0.061998803) * conv2d_3_6_texOff(vec2(1, -1)); + result += mat4(0.009620468, -0.012721741, 0.047117807, 0.020896787, -0.034859978, 0.03283965, -0.01670452, -0.07251509, -0.07052757, -0.1807255, 0.03232653, 0.06966703, 0.03948902, -0.12323907, -0.019187905, 0.0053944536) * conv2d_3_6_texOff(vec2(-1, 0)); + result += mat4(-0.017669, -0.011170376, 0.022949092, 0.052442856, 0.051418737, -0.032090314, -0.0058903894, 0.01210898, -0.01881085, 0.023771144, 0.05295733, -0.096425526, -0.01133501, 0.048861418, -0.06339119, 0.0037583588) * conv2d_3_6_texOff(vec2(0, 0)); + result += mat4(0.06795007, 0.085190706, -0.004485885, -0.0023452565, -0.047257792, 0.10250132, 0.033925477, -0.08647994, -0.09011357, 0.06887286, -0.06746365, -0.076247334, -0.04304664, -0.105732836, 0.030593183, -0.08419104) * conv2d_3_6_texOff(vec2(1, 0)); + result += mat4(0.012172814, 0.05773958, -0.013079164, 0.056897912, -0.043939542, 0.016118811, -0.03616505, 0.04489046, 0.00716493, 0.07949882, 0.027111962, -0.04351634, -0.012874477, -0.03912666, -0.010005893, -0.08017126) * conv2d_3_6_texOff(vec2(-1, 1)); + result += mat4(-0.03823799, -0.07190807, -0.0022352638, 0.012253917, -0.1344095, -0.09454984, -0.050712083, -0.06941001, 0.062260248, 0.032803785, -0.02575114, 0.016813383, 0.009671715, -0.058579724, -0.008696786, 0.097553946) * conv2d_3_6_texOff(vec2(0, 1)); + result += mat4(-0.083702095, 0.08923144, -0.0017379372, -0.05656382, -0.051679257, -0.051154308, 0.0341453, -0.06815856, -0.11064068, -0.031690504, -0.015564709, -0.054407816, -0.026374135, -0.06868988, 0.0184305, -0.014708122) * conv2d_3_6_texOff(vec2(1, 1)); + result += mat4(0.03209019, -0.05669483, -0.015230475, 0.052032143, -0.05775836, 0.015323776, 0.041840754, -0.057138987, -0.028329507, -0.051734768, -0.038674183, -0.082348555, 0.05610918, 0.081447646, 0.001940533, 0.03890205) * conv2d_3_7_texOff(vec2(-1, -1)); + result += mat4(-0.025707675, 0.0807891, -0.010127375, 0.03648397, 0.11049874, 0.014021386, 0.029942134, 0.06743733, -0.031198435, 0.03588012, 0.06364471, -0.13680933, 0.12829754, -0.00061504915, 0.024954192, -0.07289013) * conv2d_3_7_texOff(vec2(0, -1)); + result += mat4(-0.037087377, 0.035945002, -0.02151292, 0.08336403, 0.011813139, -0.07137634, 0.006289841, 0.01884602, 0.1488917, -0.0381887, 0.0009064953, -0.0036362514, -0.026800495, -0.10593942, 0.014704048, 0.058010828) * conv2d_3_7_texOff(vec2(1, -1)); + result += mat4(-0.058657784, -0.07794788, 0.06814612, 0.051578168, -0.014001689, 0.008544181, -0.021115987, -0.0039464408, -0.10895844, 0.10265642, 0.007933664, 0.032431547, 0.039344225, -0.09396181, 0.03481167, -0.062159464) * conv2d_3_7_texOff(vec2(-1, 0)); + result += mat4(-0.030189296, 0.016404282, 0.007839018, -0.0662005, 0.032314222, 0.23032597, -0.02787481, -0.02337977, -0.03932377, 0.041762874, 0.013128221, 0.12197807, 0.05833704, -0.02083231, -0.007048568, -0.014344274) * conv2d_3_7_texOff(vec2(0, 0)); + result += mat4(0.06241779, -0.04029617, 0.072974324, -0.024263276, 0.09038449, -0.04282705, 0.04226173, 0.07724734, -0.22422394, 0.11471248, 0.04427276, -0.05624473, 0.03613298, -0.06125761, 0.02880148, -0.021686679) * conv2d_3_7_texOff(vec2(1, 0)); + result += mat4(-0.08129253, -0.04971023, 0.01633411, 0.08104179, -0.06676472, -0.08282834, -0.0354008, -0.04255127, -0.02912327, -0.021444712, -0.00508618, -0.11365736, -0.010647502, 8.754985e-05, -0.03826378, -0.05531334) * conv2d_3_7_texOff(vec2(-1, 1)); + result += mat4(-0.026307719, 0.123988345, -0.10848296, 0.056098342, -0.112687, 0.010693964, -0.032641288, 0.045386784, -0.031296022, -0.08414078, -0.00940098, -0.17378506, 0.101926476, 0.026596783, -0.03369573, -0.039993748) * conv2d_3_7_texOff(vec2(0, 1)); + result += mat4(0.064235106, -0.015592889, -0.009021254, -0.12525405, 0.02358689, -0.03792194, -0.0056757675, -0.05701566, 0.10544747, -0.030641397, -0.017392984, 0.085357055, -0.08640952, -0.14240251, -0.061408874, -0.056589026) * conv2d_3_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-4-ReLU) +//!HOOK LUMA +//!BIND conv2d_3_0 +//!BIND conv2d_3_1 +//!BIND conv2d_3_2 +//!BIND conv2d_3_3 +//!BIND conv2d_3_4 +//!BIND conv2d_3_5 +//!BIND conv2d_3_6 +//!BIND conv2d_3_7 +//!SAVE conv2d_4_6 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0060613896, 0.00046012708, 0.0033240172, -0.002245667); + result += mat4(-0.058292672, 0.04051689, -0.019931613, -0.00822875, -0.025578061, 0.026534094, 0.10375677, 0.039718304, -0.0153359985, 0.0002860817, -0.10851981, -0.04868329, -0.022411212, -0.0066013956, -0.07272248, 0.034449577) * conv2d_3_0_texOff(vec2(-1, -1)); + result += mat4(0.12702101, 0.044098128, -0.05190899, 0.053121857, 0.01978377, 0.021926573, -0.047610566, 0.05459901, -0.07035281, 0.04409971, 0.037775293, -0.025748339, 0.028101757, -0.04574432, -0.019560734, -0.05131202) * conv2d_3_0_texOff(vec2(0, -1)); + result += mat4(0.012247808, 0.04857899, -0.056433607, 0.0008014985, 0.00789559, 0.0341811, -0.028242482, -0.03001052, 0.014104565, 0.035440467, -0.0065380107, 0.05418814, 0.04330012, 0.019665845, 0.011403548, -0.07418194) * conv2d_3_0_texOff(vec2(1, -1)); + result += mat4(0.08386268, -0.0960037, 0.016704397, -0.08300899, -0.109969154, 0.06982458, -0.079438575, 0.009801395, 0.012032729, 0.03450857, -0.060915064, 0.0031042881, 0.002151841, -0.011730578, -0.040341683, -0.06917363) * conv2d_3_0_texOff(vec2(-1, 0)); + result += mat4(0.08360487, -0.052823536, -0.05257652, 0.00776844, 0.07913902, -0.029279575, 0.044662382, 0.09333503, -0.021912836, 0.05401634, 0.0070351325, 0.039686814, 0.0113604665, 0.0071679964, 0.116549455, -0.014032234) * conv2d_3_0_texOff(vec2(0, 0)); + result += mat4(-0.02863145, -0.030058036, 0.0055827475, 0.048155412, -0.02977801, -0.02322994, 0.01261966, 0.02938777, -0.03300528, 0.071100116, 0.050886545, 0.03667185, 0.041301362, -0.01194574, 0.04144121, 0.004477943) * conv2d_3_0_texOff(vec2(1, 0)); + result += mat4(0.03433001, -0.011217196, -0.02429581, 0.027088128, -0.090729624, 0.05733697, 0.0061417473, 0.035739053, -0.02563721, 0.019649867, 0.005413577, -0.020556103, -0.06940702, 0.04491822, 0.09684209, 0.05930308) * conv2d_3_0_texOff(vec2(-1, 1)); + result += mat4(-0.02273419, 0.010615911, -0.0129603585, 0.025834309, -0.020300558, 0.04222133, -0.027771953, 0.0002243457, 0.051133327, 0.014052639, -0.05412377, 0.004097774, -0.11749443, 0.0017041735, -0.011238157, 0.03491389) * conv2d_3_0_texOff(vec2(0, 1)); + result += mat4(0.036684893, -0.010065615, 0.006268485, 0.004127077, 0.018695, -0.013235055, 0.022134185, -0.053945877, -0.08122635, -0.0071430453, -0.015808977, -0.09017149, 0.03716316, -0.025758225, -0.0037428755, -0.10684333) * conv2d_3_0_texOff(vec2(1, 1)); + result += mat4(-0.01881137, -0.05924625, -0.0012130094, -0.086641036, -0.0011591051, 0.008058652, -0.085367315, -0.009038891, -0.045717224, 0.04131177, -0.009103661, -0.055809703, -7.86773e-05, 0.002421726, 0.0404376, 0.0023243246) * conv2d_3_1_texOff(vec2(-1, -1)); + result += mat4(0.034953967, -0.004179669, 0.042066477, 0.0903596, 0.029007224, 0.05782741, 0.027146846, -0.01215312, -0.005506172, 0.007712225, -0.033749837, 0.07416104, 0.0750538, 0.033216335, 0.055064943, -0.0024215) * conv2d_3_1_texOff(vec2(0, -1)); + result += mat4(-0.0054292227, 0.07876851, 0.0811622, 0.13790862, 0.00032598764, 0.019047214, -0.03621719, -0.011594392, -0.027265618, 0.00648921, 0.044510666, -0.020785334, -0.04363156, -0.06067503, 0.026461935, -0.0011320581) * conv2d_3_1_texOff(vec2(1, -1)); + result += mat4(-0.22466524, -0.0029547287, 0.010164509, 0.06221122, 0.059903212, 0.058934253, -0.059617575, -0.017791681, 0.030989612, 0.021925045, -0.08521588, 0.060469795, -0.023836259, 0.013895613, -0.01076306, 0.054870628) * conv2d_3_1_texOff(vec2(-1, 0)); + result += mat4(-0.040419802, -0.040355496, 0.105515875, -0.050358668, 0.026187511, 0.04188391, -0.01950513, -0.06409534, -0.00037487657, 0.096078224, -0.06457033, 0.067760706, -0.008902005, -0.05725344, 0.052133683, -0.084063254) * conv2d_3_1_texOff(vec2(0, 0)); + result += mat4(-0.11817002, 0.012493775, -0.03546439, -0.02053148, -0.0011856977, -0.015577243, -0.06926669, -0.0010486944, 0.0448515, -0.024822807, -0.00522611, -0.011749172, -0.042393293, 0.031310663, 0.0042772205, 0.015903644) * conv2d_3_1_texOff(vec2(1, 0)); + result += mat4(-0.13479543, -0.015562308, 0.023940707, -0.049183562, 0.012915587, 0.030927647, -0.08906104, -0.090577275, 0.049334522, -0.007368721, 0.05195515, 0.026894191, 0.018562797, -0.0067711426, 0.017237153, 0.028376177) * conv2d_3_1_texOff(vec2(-1, 1)); + result += mat4(0.013332824, -0.02861124, -0.0135165425, -0.0025134897, 0.031601083, -0.026573587, -0.08718148, -0.08832673, 0.0045547104, -0.10031974, -0.05885651, 0.02672521, 0.025528023, 0.028620036, -0.015995251, -0.01805928) * conv2d_3_1_texOff(vec2(0, 1)); + result += mat4(-0.17345375, 0.032915194, 0.06358913, 0.03757916, 0.06110614, -0.06112149, -0.14182551, -0.07460671, -0.06422519, -0.014169499, -0.013935788, 0.027886534, 0.03600501, -0.025713332, 0.035102952, -0.030048896) * conv2d_3_1_texOff(vec2(1, 1)); + result += mat4(-0.09211228, -0.012422564, -0.09483653, 0.059981406, 0.017607268, -0.029154832, -0.0304697, 0.0068165646, 0.008708909, -0.022510968, 0.018114567, -0.067506984, 0.024309669, 0.005309854, -0.0050635645, -0.010199935) * conv2d_3_2_texOff(vec2(-1, -1)); + result += mat4(-0.04544426, -0.022621125, -0.059812624, -0.006528929, -0.014546538, 0.0006351246, 0.040394433, 0.07098924, 0.06037745, -0.08145598, 0.04878267, 0.0068809222, 0.0437658, -0.0069423974, 0.027544318, 0.010392455) * conv2d_3_2_texOff(vec2(0, -1)); + result += mat4(-0.017893756, -0.044913016, -0.051055897, -0.047202297, -0.018117405, 0.0006441543, 0.028194219, 0.03922136, 0.05751671, -0.0037851962, 0.0061333533, -0.0899815, -0.034326438, -0.01846603, 0.017805366, 0.12803826) * conv2d_3_2_texOff(vec2(1, -1)); + result += mat4(0.08999621, 0.00059796346, 0.050812274, 0.0054880306, -0.11683178, 0.046195246, 0.043798186, -0.04005441, -0.022159958, -0.020595016, 0.09071917, -0.07628923, -0.05725344, -0.05522714, -0.0326998, -0.039884966) * conv2d_3_2_texOff(vec2(-1, 0)); + result += mat4(0.057095874, -0.05149063, 0.0577852, -0.010172552, 0.049389623, -0.078343205, 0.08926204, -0.02946453, -0.0140764695, 0.022682905, 0.008097809, 0.081331864, 0.092106834, 0.07466943, 0.078941986, 0.052391164) * conv2d_3_2_texOff(vec2(0, 0)); + result += mat4(0.033119317, 0.030479992, -0.012194602, -0.02762503, -0.031791262, -0.025200814, -0.009535011, 0.07114768, -0.04982343, 0.0018681342, -0.01611675, -0.06346432, 0.06711045, -0.025391582, 0.06701618, 0.111612305) * conv2d_3_2_texOff(vec2(1, 0)); + result += mat4(0.028802745, 0.00364334, 0.037064422, 0.028007066, 0.072213285, -0.021245122, 0.02685786, 0.050698593, 0.03811127, -0.03183609, 0.045038972, -0.046853706, 0.05279563, 0.054284476, 0.020041784, 0.0088646915) * conv2d_3_2_texOff(vec2(-1, 1)); + result += mat4(-0.039378926, 0.02462888, -0.027325371, 0.018042447, -0.049631182, 0.05757693, 0.08403082, -0.017636461, 0.022964241, -0.022100113, 0.09037099, 0.0985961, -0.08046506, -0.014959862, -0.08729836, -0.055225935) * conv2d_3_2_texOff(vec2(0, 1)); + result += mat4(0.04686182, 0.0070020906, 0.016588515, 0.02913266, -0.10384798, -0.037643887, -0.07448244, -0.01372763, 0.09502927, -0.02638222, -0.11286081, -0.07698651, -0.10541859, 0.066056855, -0.024853632, 0.056224585) * conv2d_3_2_texOff(vec2(1, 1)); + result += mat4(-0.0729652, -0.01574744, 0.014261628, 0.0007874139, -0.09496763, -0.03866045, -0.00046995922, 0.011654517, -0.056006525, 0.0009864186, -0.017407224, -0.0025526343, 0.06736851, 0.016148273, -0.062853746, -0.02172887) * conv2d_3_3_texOff(vec2(-1, -1)); + result += mat4(-0.008775328, -0.009389129, -0.008046993, 0.011645802, 0.06502229, -0.015796822, 0.033246476, 0.0010481479, 0.011228993, 0.002063443, 0.092867926, -0.019855477, -0.058748394, -0.05491885, -0.08265171, -0.017609123) * conv2d_3_3_texOff(vec2(0, -1)); + result += mat4(-0.071687534, 0.015851645, -0.030007793, 0.06490518, -0.032694105, -0.02938561, -0.013124616, 0.036126167, 0.054421738, -0.053180795, -0.025776086, 0.03598198, -0.056345236, -0.009074879, -0.0077108857, 0.006023247) * conv2d_3_3_texOff(vec2(1, -1)); + result += mat4(-0.03404554, -0.08604643, -0.082106024, 0.03932789, -0.10720085, -0.0048912046, -0.007034484, -0.06281713, 0.04713117, -0.04098931, 0.003906921, -0.0033409374, 0.027557675, 0.018356312, 0.05899106, -0.03209946) * conv2d_3_3_texOff(vec2(-1, 0)); + result += mat4(-0.03642826, -0.048236422, -0.07433781, -0.09399451, 0.043430522, 0.0033547275, 0.046311203, -0.08014669, 0.13819307, -0.013978601, -0.022171374, 0.069330305, -0.14126149, -0.030233938, 0.036474597, 0.020265289) * conv2d_3_3_texOff(vec2(0, 0)); + result += mat4(-0.03665825, 0.016583016, -0.07368879, 0.051715653, -0.0022943062, 0.002809305, -0.0031565933, 0.010069527, -0.119667165, 0.040585265, 0.029094903, -0.14880703, -0.031094294, -0.005197646, 0.069179825, -0.083132766) * conv2d_3_3_texOff(vec2(1, 0)); + result += mat4(-0.03949345, 0.03535107, 0.00656895, 0.029138016, -0.031439032, 0.031067975, -0.0074611283, -0.08329047, -0.048495896, 0.039504908, 0.0050703785, 0.042553168, 0.029105661, -0.016065063, 0.014852118, -0.020750456) * conv2d_3_3_texOff(vec2(-1, 1)); + result += mat4(0.051263798, -0.02589722, -0.057833176, 4.891493e-05, 0.028863002, 0.059309144, 0.05080082, 0.06996325, -0.050413724, -0.009345545, 0.065725714, -0.15435281, -0.062328678, -0.018353192, -0.063422576, 0.10110822) * conv2d_3_3_texOff(vec2(0, 1)); + result += mat4(-0.013274611, -0.011426293, 0.047040477, 0.057910804, -0.09452629, 0.031034563, 0.049071375, 0.015074296, -0.02346266, -0.02060792, -0.014499034, -0.12456579, 0.024312317, -0.018030088, 0.015253862, -0.041497186) * conv2d_3_3_texOff(vec2(1, 1)); + result += mat4(0.046137754, 0.004931373, -0.044341523, -0.027071334, -0.090999715, 0.02538559, 0.10602303, 0.03455878, 0.053963415, -0.031865884, -0.050321184, -0.04884731, 0.09521113, 0.037630767, -0.0019179557, -0.06931579) * conv2d_3_4_texOff(vec2(-1, -1)); + result += mat4(-0.0014459195, -0.0014007369, -0.018847277, 0.06322096, -0.22541237, -0.027399208, -0.0028914118, 0.024112033, -0.034628294, 0.08171816, -0.029378854, 0.04562465, -0.042299375, 0.02630789, 0.039250273, -0.032389697) * conv2d_3_4_texOff(vec2(0, -1)); + result += mat4(0.008539474, -0.026401326, -0.028777704, -0.041067023, 0.008021453, 0.031380545, -0.010443062, 0.01654151, 0.053967074, -0.027648648, 0.027501974, 0.08680413, 0.04902195, 0.058345273, 0.05516552, 0.0005782751) * conv2d_3_4_texOff(vec2(1, -1)); + result += mat4(-0.057271536, 0.0017432601, 0.00090826506, -0.13372706, -0.09658783, -0.05280328, 0.029425045, 0.09314443, -0.04903699, 0.045709703, 0.061115663, -0.08341313, 0.043808814, 0.06739794, -0.0088815205, -0.09809559) * conv2d_3_4_texOff(vec2(-1, 0)); + result += mat4(0.08926033, -0.023196125, 0.054467857, -0.109256014, -0.025417447, 0.011659191, 0.020502646, -0.044937, 0.070921704, -0.043382008, -0.009541407, -0.09480773, -0.07517104, 0.031816084, 0.06780557, -0.12817271) * conv2d_3_4_texOff(vec2(0, 0)); + result += mat4(0.06184493, -0.057968862, -0.047324724, 0.042599365, 0.115882084, 0.08828012, -0.10665964, 0.16403782, 0.003708681, 0.047907792, -0.035310015, -0.023863006, 0.022354206, 0.0064226277, -0.02270203, 0.0024349717) * conv2d_3_4_texOff(vec2(1, 0)); + result += mat4(0.006183121, 0.089279115, -0.0047647776, 0.014754408, -0.03722483, 0.014318502, -0.0026476474, 0.11560047, 0.08869904, -0.042199377, 0.04280526, 0.052334134, 0.035902698, 0.03315705, -0.0037553937, 0.04647252) * conv2d_3_4_texOff(vec2(-1, 1)); + result += mat4(-0.008149527, -0.0036176, -0.06967105, 0.058703255, 0.056680605, 0.010897716, 0.044939972, 0.0695175, -0.0430656, -0.017113741, 0.012663516, -0.09252046, 0.019986706, -0.05262623, -0.051454637, -0.023269694) * conv2d_3_4_texOff(vec2(0, 1)); + result += mat4(0.0024659613, 0.025065439, -0.028084846, 0.033066254, 0.025111768, 0.009073958, 0.00602517, -0.0155823445, 0.09535003, 0.050897915, -0.060629137, 0.0649911, 0.079719245, -0.0039491635, 0.047634233, -0.06682595) * conv2d_3_4_texOff(vec2(1, 1)); + result += mat4(-0.063272044, 0.021933908, -0.00058130117, 0.037526354, 0.07189541, -0.03164999, 0.014818913, 0.040772945, 0.07744415, -0.012848847, -0.068235144, 0.0082477415, -0.032480493, -0.027604004, 0.033469517, 0.0507768) * conv2d_3_5_texOff(vec2(-1, -1)); + result += mat4(0.064977765, 0.0068404, -0.09565788, -0.10275234, -0.0339601, -0.013449826, -0.05890159, 0.000114511386, -0.019283682, -0.013513909, 0.02811146, -0.041414186, 0.032942925, 0.043143276, 0.031422812, 0.005386986) * conv2d_3_5_texOff(vec2(0, -1)); + result += mat4(0.007922059, -0.04727038, -0.024991598, 0.007935277, 0.0056262286, -0.031912994, -0.0018978112, 0.048167378, -0.031061996, -0.019613668, 0.015239052, -0.033463787, -0.05205827, -0.024454888, 0.025680505, -0.069524944) * conv2d_3_5_texOff(vec2(1, -1)); + result += mat4(-0.046714947, -0.020067362, -0.00086623704, -0.015236039, 0.0073031266, 0.02102817, 0.05599249, 0.031000402, 0.0050507006, 0.068014465, -0.004485736, -0.024213176, -0.0014634419, 0.00807391, 0.0912603, 0.048976656) * conv2d_3_5_texOff(vec2(-1, 0)); + result += mat4(0.009858568, 0.05399727, -0.06930093, -0.03740781, -0.03952099, -0.0060961475, -0.002929278, 0.08654308, -0.0065720365, 0.009702729, -0.053587567, 0.011635667, 0.081795834, -0.051930983, 0.0843929, -0.046219714) * conv2d_3_5_texOff(vec2(0, 0)); + result += mat4(0.011533141, 0.015105954, 0.079921134, -0.038060665, 0.09355218, -0.017629836, 0.043532066, 0.046301655, -0.04818814, -0.055247888, -0.038942125, 0.0014618986, 0.0438632, -0.07473085, 0.052290317, 0.05947611) * conv2d_3_5_texOff(vec2(1, 0)); + result += mat4(-0.10130111, 0.01304161, 0.026331192, 0.045154467, 0.021741353, -0.03959901, 0.030335633, 0.023893788, -0.02398899, 0.04057958, -0.0891525, -0.10151279, -0.03079778, 0.010636244, 0.059212793, -0.052939244) * conv2d_3_5_texOff(vec2(-1, 1)); + result += mat4(-0.01095018, -0.030809533, 0.058861475, -0.14149801, 0.035387687, 0.09057092, 0.012868391, 0.04279724, -0.00870864, 0.06727952, -0.016550045, -0.010039739, -0.033663634, -0.036074292, 0.18284807, 0.021788053) * conv2d_3_5_texOff(vec2(0, 1)); + result += mat4(0.056425247, 0.031969484, 0.045287676, -0.077538945, 0.01916153, 0.023116212, -0.0026791904, -0.011090148, -0.02800776, -0.04534334, -0.05955444, 0.013407262, 0.009083878, 0.004801394, -0.045976464, -0.09495557) * conv2d_3_5_texOff(vec2(1, 1)); + result += mat4(0.007498473, 0.012783305, -0.043950405, -0.093140244, 0.084022924, -0.002212005, -0.046045396, 0.023653071, -0.00679696, -0.06432762, 0.03097296, -0.047518846, -0.007864321, 0.05291612, -0.04730153, -0.020414038) * conv2d_3_6_texOff(vec2(-1, -1)); + result += mat4(0.12222662, -0.01693394, -0.10452664, -0.047352448, 0.053452045, 0.03169891, -0.005813697, -0.06526524, -0.11846303, 0.043489512, 0.04155247, 0.026040534, -0.10076937, 0.011654529, 0.061707295, -0.034346923) * conv2d_3_6_texOff(vec2(0, -1)); + result += mat4(-0.0385986, -0.09423533, -0.10467904, -0.062181372, 0.04389658, 0.010074479, -0.016659237, 0.022692233, 0.058307897, -0.0034629651, 0.040011045, -0.092777595, -0.02110541, -0.0065470664, -0.01402361, -0.06650453) * conv2d_3_6_texOff(vec2(1, -1)); + result += mat4(-0.13090956, 0.0022928012, -0.19893187, 0.0038581404, -0.031386744, 0.026443664, -0.008026227, 0.03598807, 0.04394829, -0.011985251, -0.019685538, 0.09190923, -0.02480175, 0.050523676, 0.04181384, 0.028157068) * conv2d_3_6_texOff(vec2(-1, 0)); + result += mat4(0.07779946, 0.024368633, -0.080769084, -0.0048275692, -0.08427223, -0.05665657, -0.059673555, -0.02774682, 0.051736, 0.004115013, 0.025645038, 0.08264157, -0.06212128, 0.030755218, -0.04405339, -0.030424658) * conv2d_3_6_texOff(vec2(0, 0)); + result += mat4(-0.01828597, 0.083243646, -0.038536478, -0.017502509, -0.08105738, 0.0012228974, -0.1080627, -0.026461056, -0.054254524, 0.024791434, 0.040263943, 0.02820566, -0.039924692, 0.004517173, 0.038702767, 0.055404343) * conv2d_3_6_texOff(vec2(1, 0)); + result += mat4(-0.024339195, -0.041502204, -0.09291761, -0.05632645, 0.018038707, 0.03912029, -0.06666998, -0.00014298625, 0.0065938663, -0.02512259, 0.0299102, 0.0012205282, -0.042304393, -0.022222238, 0.07156011, -0.064391285) * conv2d_3_6_texOff(vec2(-1, 1)); + result += mat4(0.040794306, 0.043900218, -0.036973078, 0.049076557, -0.013266145, 0.032158293, -0.022526886, 0.09566472, 0.026215214, -0.12535825, -0.012699341, 0.039910194, 0.059199158, 0.028043676, -0.0060070944, -0.04917188) * conv2d_3_6_texOff(vec2(0, 1)); + result += mat4(-0.025416475, -0.029701186, -0.025735907, 0.031475063, -0.024096722, -0.06385944, 0.053379986, 0.037973452, 0.02035059, -0.04093476, 0.044662606, -0.027414022, 0.05116636, -0.010306472, 0.059939675, 0.043212175) * conv2d_3_6_texOff(vec2(1, 1)); + result += mat4(0.03515672, -0.02094184, -0.08207612, -0.054684076, 0.030655652, 0.073213205, 0.042154077, -0.14648315, -0.04680004, 0.030760812, 0.018253954, 0.08666564, 0.02857724, 0.00067018415, 0.06507213, -0.01725426) * conv2d_3_7_texOff(vec2(-1, -1)); + result += mat4(-0.0105545055, 0.0007286947, 0.036018923, -0.0048508793, 0.16995871, 0.023170188, -0.015085124, 0.004689544, -0.004733232, 0.08226879, -0.018453347, 0.050538737, -0.009690376, -0.0019634834, 0.027626354, 0.032829974) * conv2d_3_7_texOff(vec2(0, -1)); + result += mat4(0.023726773, 0.010898424, -0.01822208, 0.03842344, 0.0075681307, 0.034020238, -0.06806231, 0.01901378, -0.018860908, -0.0089046275, 0.02895369, -0.013657344, -0.11398131, 0.0169386, 0.050894454, 0.046080027) * conv2d_3_7_texOff(vec2(1, -1)); + result += mat4(0.022903727, 0.005586001, 0.021286547, 0.024171276, 0.09379018, -0.013221455, -0.065918885, -0.033722796, 0.01728323, -0.03988463, -0.025967324, 0.04819965, 0.08548069, 0.004580221, 0.0030754865, 0.01584335) * conv2d_3_7_texOff(vec2(-1, 0)); + result += mat4(-0.06392119, -0.08998016, 0.13679212, -0.0026546188, 0.008815899, 0.048466533, 0.0059514577, -0.083596006, 0.00016277195, -0.07310735, 0.011484921, 0.011048554, -0.059959427, -0.038820636, 0.01967266, -0.04827847) * conv2d_3_7_texOff(vec2(0, 0)); + result += mat4(0.0655254, 0.06398862, -0.055974014, 0.04236683, -0.075581856, 0.072291575, 0.08086798, 0.050604943, 0.039989542, -0.0085748965, -0.007947379, -0.023675667, 0.043423723, 0.031157669, -0.035261367, 0.01189533) * conv2d_3_7_texOff(vec2(1, 0)); + result += mat4(0.025264762, 0.048750594, -0.0319619, 0.045887, 0.010637966, -0.01337898, -0.00078846747, 0.03897785, -0.054485932, -0.030125577, -0.055076122, 0.04907283, 0.064117394, 0.044890843, 0.112151355, -0.08756602) * conv2d_3_7_texOff(vec2(-1, 1)); + result += mat4(0.030466594, -0.05084832, -0.1537047, 0.049629997, 0.029240265, -0.015239552, -0.004242997, 0.01498136, -0.024712149, 0.029033944, 0.09824751, -0.021574397, -0.12851386, -0.0052772337, -0.03357228, -0.015747119) * conv2d_3_7_texOff(vec2(0, 1)); + result += mat4(-0.005804859, 0.0384911, -0.044841398, 0.012554774, 0.009474106, 0.076035775, -0.021141436, -0.04842297, 0.07082178, 0.012289076, -0.046594966, 0.0118862325, -0.028290298, 0.03545386, -0.029923446, 0.0071562943) * conv2d_3_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-4-ReLU) +//!HOOK LUMA +//!BIND conv2d_3_0 +//!BIND conv2d_3_1 +//!BIND conv2d_3_2 +//!BIND conv2d_3_3 +//!BIND conv2d_3_4 +//!BIND conv2d_3_5 +//!BIND conv2d_3_6 +//!BIND conv2d_3_7 +//!SAVE conv2d_4_7 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0014251472, -0.00062698225, 0.0018863081, -0.0067351423); + result += mat4(0.018673861, 0.032077182, 0.0037670946, 0.050522637, -0.0010146564, -0.0033454895, -0.048218563, 0.01752664, 0.015052163, -0.018461287, 0.000518453, 0.034338284, 0.004189418, 0.015203471, -0.021282619, 0.023587316) * conv2d_3_0_texOff(vec2(-1, -1)); + result += mat4(-0.046335146, 0.040292807, 0.022942806, 0.084382825, 0.010080793, -0.057140883, 0.025302446, 0.024585998, -0.017621798, 0.09681231, 0.08597285, -0.018088778, 0.073121615, 0.03417377, -0.022003455, 0.11042839) * conv2d_3_0_texOff(vec2(0, -1)); + result += mat4(0.0072236536, 0.08701254, -0.016317518, 0.029956099, 0.0070353327, 0.09767933, -0.08823228, 0.030442908, 0.018327752, -0.07752849, 0.032344893, 0.05708747, -0.051409554, -0.011494398, 0.06045909, -0.0414537) * conv2d_3_0_texOff(vec2(1, -1)); + result += mat4(-0.033427637, -0.08938779, -0.02685188, 0.050008766, 0.09848247, -0.06579934, 0.013445275, -0.016121002, 0.016009869, -0.0043092426, -0.003833644, 0.07527052, 0.08246886, 0.000503442, 0.017631046, 0.028014096) * conv2d_3_0_texOff(vec2(-1, 0)); + result += mat4(0.08188082, 0.038584508, 0.028480327, -0.048451718, 0.03168719, -0.021754295, 0.03816518, 0.09146883, -0.0010765264, -0.06581348, 0.0014887871, 0.0065062526, 0.043383367, 0.026044182, 0.091734335, 0.19638753) * conv2d_3_0_texOff(vec2(0, 0)); + result += mat4(0.03718927, 0.053397905, 0.038383354, 0.018592069, -0.021742502, 0.025835568, -0.047361977, -0.0064954096, 0.01729975, -0.009017122, -0.026055958, -0.017205367, -0.06670235, 0.024090454, -0.033529066, 0.014743781) * conv2d_3_0_texOff(vec2(1, 0)); + result += mat4(-0.053738605, 0.007041181, 0.046036437, -0.0060444134, 0.00028312794, 0.040603507, -0.0073328423, -0.029636584, -0.03361385, -0.039049573, -0.082385294, 0.0033814767, 0.0541044, 0.033086795, 0.019756822, -0.02124206) * conv2d_3_0_texOff(vec2(-1, 1)); + result += mat4(0.087686345, -0.023377942, 0.037199516, 0.024559557, 0.018899692, 0.026418706, 0.03341977, -0.03792957, 0.0275505, 0.018420523, -0.028442107, 0.045291577, -0.011137358, -0.04854017, -0.0019037462, 0.077883184) * conv2d_3_0_texOff(vec2(0, 1)); + result += mat4(0.029888572, 0.026616642, 0.0074777394, 0.079018705, -0.08085832, 0.006893435, -0.021432858, -0.0005435047, 0.011570788, 0.08827259, -0.011205707, 0.005243058, -0.152055, 0.09486768, 0.023200216, 0.0066440096) * conv2d_3_0_texOff(vec2(1, 1)); + result += mat4(-0.036357924, -0.022468893, -0.06927031, 0.006416363, -0.024620654, 0.01879684, 0.034386892, 0.006153835, -0.009186036, 0.029210422, 0.032836545, -0.031136218, 0.018181415, -0.014411614, 0.0040633543, -0.06230842) * conv2d_3_1_texOff(vec2(-1, -1)); + result += mat4(-0.002692116, 0.01595091, 0.012103822, -0.0028852818, -0.04918649, -0.011426903, 0.021665841, 0.026787248, -0.0056957547, -0.05808886, -0.047910508, 0.04350681, 0.06100713, 0.028811166, 0.02133015, 0.044510785) * conv2d_3_1_texOff(vec2(0, -1)); + result += mat4(-0.03283779, 0.020474968, -0.009379789, -0.046478886, -0.00010127794, 0.04358986, 0.032138042, 0.04838418, -0.054518834, -0.007697424, 0.070509404, -0.0047255186, 0.04810435, -0.033660453, -0.0006131127, -0.13531916) * conv2d_3_1_texOff(vec2(1, -1)); + result += mat4(0.016534878, 0.042890407, -0.039331708, -0.057275698, 0.060258616, -0.0069148056, 0.081107005, -0.053748537, -0.10022901, 0.05039925, -0.029385153, -0.025565159, 0.08208448, -0.040429253, -0.015503155, -0.060810655) * conv2d_3_1_texOff(vec2(-1, 0)); + result += mat4(-0.04645899, 0.01848358, -0.16213657, -0.13247281, 0.008172146, -0.022413464, 0.0120983515, -0.041746475, -0.04833164, 0.02780466, 0.036916304, 0.041110992, -0.059409775, 0.011541062, 0.05133046, 0.057789713) * conv2d_3_1_texOff(vec2(0, 0)); + result += mat4(0.077667974, -0.07564696, 0.03292344, 0.034902032, 0.08645655, 0.057127174, -0.035983574, 0.041130364, -0.09430936, 0.0027309242, -0.026546799, 0.05909669, -0.039390802, -0.03597687, 0.061169293, -0.0020347016) * conv2d_3_1_texOff(vec2(1, 0)); + result += mat4(-0.015044469, -0.031604793, -0.012939631, -0.016206736, 0.01517615, 0.026680779, 0.038591746, 0.0009189766, -0.002751786, -0.009990771, 0.093843356, -0.049611498, 0.03098601, 0.0075615575, -0.014763906, -0.08914085) * conv2d_3_1_texOff(vec2(-1, 1)); + result += mat4(0.03433886, -0.005145266, -0.008458593, 0.0038444481, -0.0017446778, 0.013166486, -0.034278464, 0.01675868, -0.020361602, -0.02802124, 0.03176294, 0.121953666, 0.01216741, -0.012813531, -0.06262569, 0.025326144) * conv2d_3_1_texOff(vec2(0, 1)); + result += mat4(0.05690635, -0.010919707, 0.06353192, -0.053409588, -0.033951793, 0.03649867, 0.036840856, 0.040795323, 0.051191237, -0.049146965, 0.005060033, 0.07611132, -0.049246088, 0.07014059, 0.016715694, -0.04556618) * conv2d_3_1_texOff(vec2(1, 1)); + result += mat4(0.009302602, 0.022925142, -0.09506782, -0.0009652141, 0.022958513, 0.062720284, 0.02473546, 0.030297764, 0.020179018, -0.052878477, -0.043918066, 0.05563686, 0.016502526, 0.026137283, 0.041662995, 0.08961005) * conv2d_3_2_texOff(vec2(-1, -1)); + result += mat4(0.0020234357, -0.06929336, -0.10122015, -0.0049846442, 0.03036247, -0.06017103, 0.012890323, -0.008701545, -0.0056382925, 0.08062279, 0.07927254, 0.08892949, 0.10522521, -0.043130115, -0.103439845, -0.010930402) * conv2d_3_2_texOff(vec2(0, -1)); + result += mat4(0.059949562, -0.010106791, -0.008189195, 0.058073565, -0.011187281, 0.04760568, 0.026867699, -0.017282678, 0.015786093, 0.010039718, -0.03341557, 0.08328419, -0.033737004, 0.016905379, -0.020833757, -0.02038882) * conv2d_3_2_texOff(vec2(1, -1)); + result += mat4(0.032445837, -0.011868872, 0.06239416, 0.06213402, -0.017445767, -0.033073243, -0.07801258, 0.010554514, -0.06266578, -0.033635106, -0.051942386, 0.002230595, 0.04801794, 0.006680795, -0.06931558, 0.037060603) * conv2d_3_2_texOff(vec2(-1, 0)); + result += mat4(-0.0051131244, 0.017817004, 0.056496553, -0.07136783, 0.0029402724, 0.014482138, -0.07774306, 0.018754503, 0.039444063, -0.0529761, -0.061891142, -0.022763412, -0.047215424, -0.022143684, -0.042308677, 0.14879844) * conv2d_3_2_texOff(vec2(0, 0)); + result += mat4(0.018533267, -0.0073519563, -0.034604616, 0.026556024, 0.02544939, -0.025004808, -0.035499383, 0.0013333536, 0.009648402, 0.048677217, -0.004358973, 0.0068949596, 0.037134737, 0.075999364, 0.0027339272, 0.072802305) * conv2d_3_2_texOff(vec2(1, 0)); + result += mat4(-0.031218406, -0.02069959, -0.059574407, -0.023153275, 0.068073094, 0.01770022, 0.024930185, 0.03902307, -0.034590654, 0.04104561, -0.058949873, 0.047710653, -0.00943727, -0.012719817, -0.09790834, -0.093559965) * conv2d_3_2_texOff(vec2(-1, 1)); + result += mat4(0.061980616, -0.010554665, 0.06449855, -0.060856845, -0.08688983, 0.07736875, -0.03420635, -0.074671745, 0.013144653, -0.058242917, -0.027250286, -0.09097648, -0.020261846, -0.044640318, 0.029989269, -0.06462863) * conv2d_3_2_texOff(vec2(0, 1)); + result += mat4(0.04712408, 0.023927227, -0.07727843, 0.043176714, 0.049753726, -0.062316984, -0.032757338, -0.088338725, 0.13769001, -0.07189041, -0.006145829, 0.0922036, -0.03189129, -0.044464666, 0.097756416, -0.012599847) * conv2d_3_2_texOff(vec2(1, 1)); + result += mat4(-0.0011671513, -0.0011177624, 0.02411541, 0.004836184, -0.050622363, -0.07155002, 0.037622716, -0.09249707, 0.023316821, 0.017652374, -0.034035113, -0.025422627, -0.043400515, -0.031368323, 0.066770725, -0.030394053) * conv2d_3_3_texOff(vec2(-1, -1)); + result += mat4(0.01405317, -0.039320152, 0.037645474, 0.042314123, 0.0028615517, -0.014226925, -0.01556944, 0.046608396, 0.01567301, -0.0046369713, -0.032165136, 0.015754465, 0.04449836, -0.020769795, 0.034627043, -0.08670094) * conv2d_3_3_texOff(vec2(0, -1)); + result += mat4(0.03428257, -0.03696898, -0.081838585, -0.07979541, -0.043200493, 0.036968302, -0.0020187274, 0.0023096157, 0.005769351, 0.05807819, 0.03341889, -0.0776404, 0.038735505, -0.043035842, -0.10138327, 0.04846455) * conv2d_3_3_texOff(vec2(1, -1)); + result += mat4(-0.020689912, 0.0019166246, -0.027065719, 0.04126061, -0.02533002, 0.00086589635, 0.15492079, 0.115552865, -0.056875944, -0.022360025, -0.0043618483, -0.08212114, 0.01218707, 0.10010505, -0.026401255, -0.019329824) * conv2d_3_3_texOff(vec2(-1, 0)); + result += mat4(-0.016362168, 0.023091167, -0.013403655, 0.04912382, -0.008918561, 0.0056241667, 0.104161635, -0.08361282, -0.020577656, -0.05311944, 0.007379996, 0.06819292, 0.10294477, -0.042897355, -0.011459394, -0.079536244) * conv2d_3_3_texOff(vec2(0, 0)); + result += mat4(-0.0074953698, -0.00066633977, -0.034357455, -0.093786456, -0.034172684, -0.045193113, 0.035391394, 0.0637508, -0.009815759, 0.09136212, -0.03156331, -0.043206707, -0.029839432, 0.04319882, -0.04373798, -0.017801028) * conv2d_3_3_texOff(vec2(1, 0)); + result += mat4(0.050641276, -0.02673951, 0.014651065, -0.049285684, -0.016671004, -0.051411368, -0.13158254, 0.055173073, 0.020384448, -0.01317807, 0.028595604, -0.010859899, -0.008575775, 0.058090728, 0.09015082, 0.004175989) * conv2d_3_3_texOff(vec2(-1, 1)); + result += mat4(0.042314015, 0.024753576, 0.046396643, 0.0064327307, -0.01795531, -0.009057238, 0.02421002, -0.05089526, 0.0033139752, -0.034510322, 0.01878516, -0.056755938, 0.0002463125, -0.0128552085, 0.0020875651, -0.027446223) * conv2d_3_3_texOff(vec2(0, 1)); + result += mat4(0.0060392176, -0.11788295, -0.029664127, 0.008880326, 0.05330227, 0.0070508933, -0.0043150564, -0.036530446, -0.047127727, -0.047671188, -0.06737314, 0.0083652325, -0.021477606, -0.025502743, 0.05643119, 0.04296003) * conv2d_3_3_texOff(vec2(1, 1)); + result += mat4(-0.019384488, -0.025502928, -0.04916929, 0.0022923213, 0.016502254, -0.023943558, -0.024893032, 0.0074065877, 0.002686409, -0.07249054, 0.0104133915, -0.032033708, 0.096649215, 0.011417116, -0.04899805, 0.055422977) * conv2d_3_4_texOff(vec2(-1, -1)); + result += mat4(-0.013113526, -0.019250564, 0.042865377, 0.063468516, 0.061652005, -0.028605554, -0.00045261276, -0.056041334, -0.018217677, -0.022239586, -0.033668637, 0.046041142, -0.07894112, 0.014677258, -0.013151415, 0.012707105) * conv2d_3_4_texOff(vec2(0, -1)); + result += mat4(0.013783943, -0.10895098, 0.043192018, -0.04445222, 0.034218494, 0.0021278937, 0.042090595, 0.06904218, -0.038378477, -0.003878173, 0.054208197, -0.0820488, -0.01995063, -0.066005014, -0.0711076, 0.0025117153) * conv2d_3_4_texOff(vec2(1, -1)); + result += mat4(-0.030083952, 0.0028348279, 0.011112398, -0.08014869, -0.03547214, -0.05669092, -0.04146768, -0.083904155, -0.074244715, 0.01769189, -0.072534375, -0.099040516, 0.102334, 0.053168904, -0.017171757, -0.09967863) * conv2d_3_4_texOff(vec2(-1, 0)); + result += mat4(0.030172348, -0.0008435548, -0.06212656, 0.027426317, 0.0640857, -0.059982065, -0.03495538, -0.1021958, -0.01940625, 0.102385804, -0.046452124, 0.000831927, -0.07913467, 0.038964994, -0.10516663, -0.030801887) * conv2d_3_4_texOff(vec2(0, 0)); + result += mat4(0.0038444742, 0.049801506, -0.014488756, 0.064058445, -0.01223352, 0.012045666, -0.042229064, -0.019182105, -0.055795643, 0.07517447, -0.003105533, -0.007404321, 0.07464786, -0.12606506, -0.017821776, -0.04986038) * conv2d_3_4_texOff(vec2(1, 0)); + result += mat4(-0.023115957, -0.049413774, -0.04066957, -0.017545557, 0.031623796, -0.05058053, 0.02490793, -0.016624907, 0.008775263, -0.045426115, -0.005404666, -0.013170411, 0.06792874, 0.07337203, -0.044427227, -0.05238581) * conv2d_3_4_texOff(vec2(-1, 1)); + result += mat4(-0.056813043, -0.005576083, 0.072538696, -0.07360226, -0.06892953, -0.07571264, 0.08498844, -0.028909622, -0.027828084, -0.009407866, 0.043621007, 0.0069731176, 0.048197083, -0.025200557, -0.020004543, 0.12787043) * conv2d_3_4_texOff(vec2(0, 1)); + result += mat4(0.0579893, 0.052800044, 0.084704734, -0.03470178, 0.0597469, -0.035208087, -0.06679775, 0.026968367, -0.08211052, -0.06418047, -0.04930623, -0.06802235, 0.057565562, -0.003079574, -0.026538676, -0.04687167) * conv2d_3_4_texOff(vec2(1, 1)); + result += mat4(-0.048950505, -0.04296262, 0.071002536, -0.08860448, -0.023778846, -0.041412633, -0.018603822, -0.00450639, 0.024998344, 0.0297204, 0.0131756095, 0.035242308, 0.052452054, 0.059603956, -0.04819877, -0.027153969) * conv2d_3_5_texOff(vec2(-1, -1)); + result += mat4(-0.00039456744, 0.026111925, -0.0390856, 0.015237232, -0.047974177, 0.0075821406, 0.017423477, -0.0070963115, 0.039099902, 0.010331603, 0.13222985, 0.033107437, -0.044914547, 0.012619742, 0.077392414, 0.05955516) * conv2d_3_5_texOff(vec2(0, -1)); + result += mat4(0.0013875503, 0.02167852, 0.048960786, -0.02730172, 0.023810739, 0.020395383, 0.054201044, -0.06880946, -0.15319178, -0.072294965, -0.03086937, -0.011504573, -0.026595794, -0.05325626, 0.01151914, 0.06896727) * conv2d_3_5_texOff(vec2(1, -1)); + result += mat4(0.015059782, 0.01212822, -0.011522979, 0.043589585, 0.05315072, 0.027349211, 0.069255315, 0.07850968, 0.122352585, -0.06477022, 0.051983375, -0.061325468, -0.04329559, -0.009633947, -0.109692626, 0.0060715466) * conv2d_3_5_texOff(vec2(-1, 0)); + result += mat4(0.08721693, 0.05260926, 0.05850964, 0.0054416833, 0.036334157, 0.068869755, 0.003245845, 0.08983297, -0.018924817, 0.062130507, -0.11904574, 0.07780186, 0.05350868, 0.06791477, 0.022963349, 0.13369432) * conv2d_3_5_texOff(vec2(0, 0)); + result += mat4(0.055267405, 0.009881807, -0.0069630924, -0.061420918, -0.036210015, 0.012657981, -0.032147475, -0.018918043, -0.05412775, 0.0061139315, -0.0049740467, 0.028788963, 0.006019795, 0.010503997, 0.040485717, 0.048707794) * conv2d_3_5_texOff(vec2(1, 0)); + result += mat4(-0.020625258, 0.01798343, -0.03604717, -0.015388089, 0.017517395, -0.0278744, -0.074373916, 0.038745053, 0.06285353, -0.009818533, 0.04762992, 0.004658474, -0.013168075, -0.0511346, -0.040355694, 0.06022736) * conv2d_3_5_texOff(vec2(-1, 1)); + result += mat4(0.026847128, -0.015917618, -0.062348984, -0.06671345, 0.012953547, 0.012467912, -0.015703145, 0.08393637, 0.018011587, 0.011851339, -0.0055786576, 0.042521846, -0.041248936, 0.015565254, -0.035630196, -0.021513479) * conv2d_3_5_texOff(vec2(0, 1)); + result += mat4(0.04410482, 0.06062172, -0.025012525, 0.0610936, -0.068187855, 0.008616673, 0.057610862, 0.013892458, -0.03330063, 0.024369285, -0.055133972, 0.004009792, 0.028606487, -0.012831177, 0.024481747, -0.0103146015) * conv2d_3_5_texOff(vec2(1, 1)); + result += mat4(-0.040068492, -0.05743285, 0.1223652, -0.04292859, -0.09787392, -0.0104287965, 0.03175076, -0.027615303, -0.07690209, 0.002457177, -0.024491351, -0.066331044, 0.019923544, -0.0023634525, -0.014972126, -0.0049166363) * conv2d_3_6_texOff(vec2(-1, -1)); + result += mat4(0.014411372, -0.06519537, 0.008176301, -0.039190505, 0.016877266, -0.057989515, -0.042193584, 0.008610321, 0.00978763, -0.046530053, 0.014780808, -0.041762426, -0.03441969, 0.055942096, 0.031061172, 0.03241851) * conv2d_3_6_texOff(vec2(0, -1)); + result += mat4(-0.05567167, 0.0036965034, 0.020676292, -0.016157502, -0.029994544, -0.043466363, 0.036435682, 0.05265827, 0.025745342, 0.12854025, 0.03224513, -0.032146305, 0.008559331, -0.07113304, -0.009610836, -0.04301949) * conv2d_3_6_texOff(vec2(1, -1)); + result += mat4(-0.084250554, -0.050097406, -0.051641807, 0.017897263, -0.038950898, 0.033669487, -0.09937784, 0.080832824, 0.004863509, -0.11565558, 0.012857115, 0.049446907, 0.043101717, 0.010560022, 0.057130642, -0.0024219593) * conv2d_3_6_texOff(vec2(-1, 0)); + result += mat4(-0.038006254, 0.00175756, 0.050056282, 0.0006544299, -0.046458878, 0.0068221935, 0.032770135, 0.042864546, -0.04432323, -0.10249627, 0.05425363, 0.05375547, 0.04990834, 0.020200657, -0.00047308477, 0.14005068) * conv2d_3_6_texOff(vec2(0, 0)); + result += mat4(-0.060461886, -0.0029850728, -0.038782835, 0.012754308, -0.08944805, -0.096392274, -0.01849711, 0.05648829, 0.015336808, -0.08178105, -0.036755953, 0.0072487895, -0.0036330046, -0.006314786, -0.051641997, -0.054993067) * conv2d_3_6_texOff(vec2(1, 0)); + result += mat4(0.044810563, 0.0018178963, 0.020492285, 0.060021147, -0.14395535, 0.003398305, -0.030875567, -0.013764356, -0.038610004, 0.03216734, 0.07988316, -0.08910878, 0.04003024, 0.062294267, -0.04606628, -0.042916063) * conv2d_3_6_texOff(vec2(-1, 1)); + result += mat4(-0.025485426, 0.07557817, 0.024170104, -0.05404846, -0.002042427, 0.025645697, 0.07545453, 0.016420538, -0.017638156, -0.01831494, 0.044161245, -0.03592123, 0.07976442, 0.017749855, 0.07656738, -0.028849782) * conv2d_3_6_texOff(vec2(0, 1)); + result += mat4(0.036784235, -0.013467151, 0.036444172, 0.094699964, -0.0426589, -0.0001236075, 0.0039888755, 0.022269992, 0.051420115, 0.012392849, 0.025688676, 0.0049866736, -0.011352147, -0.05340382, 0.026460119, 0.03525816) * conv2d_3_6_texOff(vec2(1, 1)); + result += mat4(-0.009309051, 0.05136777, -0.017058818, 0.028954955, 0.01527489, 0.023978993, -0.09360258, -0.0070763403, -0.024847794, -0.04260108, -0.067176566, 0.035348922, 0.066129304, -0.0630941, -0.03447217, -0.037741918) * conv2d_3_7_texOff(vec2(-1, -1)); + result += mat4(-0.025295043, -0.0011535027, -0.04075787, 0.036008663, -0.037904024, 0.023851965, -0.076395184, 0.029231895, -0.030610025, 0.047114585, -0.13267876, 0.16930126, 0.012630387, -0.01594386, 0.03031229, -0.07803302) * conv2d_3_7_texOff(vec2(0, -1)); + result += mat4(-0.06088592, 0.08036232, 0.0122171985, 0.09249436, 0.04934968, -0.012535692, -0.07967677, 0.047103208, -0.004853958, 0.0028116056, -0.09244394, -0.08335118, 0.054112826, -0.01702686, -0.0062000947, -0.070441276) * conv2d_3_7_texOff(vec2(1, -1)); + result += mat4(-0.008518993, 0.0075289435, -0.02882956, 0.048310325, -0.014057605, 0.023135917, -0.059613626, 0.040745884, -0.0985367, 0.063675575, 0.062374946, 0.0006678243, -0.0076474263, 0.051444583, 0.0569574, -0.09917991) * conv2d_3_7_texOff(vec2(-1, 0)); + result += mat4(-0.07957017, 0.015025438, -0.06321065, 0.010170821, -0.12967637, 0.16706337, 0.0032061678, 0.015850281, -0.008333481, 0.028591342, 0.041120347, 0.101062514, 0.008371019, 0.00038253592, -0.015226818, -0.0947895) * conv2d_3_7_texOff(vec2(0, 0)); + result += mat4(-0.07951248, 0.021601574, -0.05031213, 0.038909774, 0.037962697, 0.045660414, 0.019475982, -0.024168588, -0.051011853, 0.06582998, 0.059648782, -0.095692195, 0.05013716, 0.004921918, 0.026561124, 0.0048642973) * conv2d_3_7_texOff(vec2(1, 0)); + result += mat4(0.026095947, 0.035535805, 0.045056064, -0.003681012, -0.027363207, 0.011785531, -0.08933073, 0.108564496, -0.0016365715, 0.0072120633, -0.0059404206, 0.028574679, -0.041468803, 0.072764374, 0.05723946, -0.03405476) * conv2d_3_7_texOff(vec2(-1, 1)); + result += mat4(-0.054667074, 0.021056723, 0.051202897, 0.02222598, 0.04651224, -0.005652827, -0.052888025, -0.06100927, 0.061212275, -0.08811994, -0.012916998, 0.10681364, 0.0047143446, -0.104524605, 0.05122055, -0.087274775) * conv2d_3_7_texOff(vec2(0, 1)); + result += mat4(-0.08149551, 0.017300734, 0.01653693, 0.0025334565, 0.090569414, -0.023195816, 0.008278325, -0.08874223, -0.04981807, 0.07867283, -0.06438083, -0.15411055, 0.07770887, -0.12050434, -0.025502637, -0.0897674) * conv2d_3_7_texOff(vec2(1, 1)); + return max(result, vec4(0.0)); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-5) +//!HOOK LUMA +//!BIND conv2d_4_0 +//!BIND conv2d_4_1 +//!BIND conv2d_4_2 +//!BIND conv2d_4_3 +//!BIND conv2d_4_4 +//!BIND conv2d_4_5 +//!BIND conv2d_4_6 +//!BIND conv2d_4_7 +//!SAVE conv2d_5_0 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.007920542, -0.0022907562, 0.0014729282, -0.0029908211); + result += mat4(0.012659207, -0.0082843965, 0.050612673, -0.004586635, 0.06810715, -0.055794217, -0.055540774, -0.0069531123, -0.04869505, 0.020238532, 0.03411154, -0.03394743, -0.088167824, -0.01315098, -0.015628476, 0.012594215) * conv2d_4_0_texOff(vec2(-1, -1)); + result += mat4(0.09373336, -0.008080655, -0.037399266, -0.054797772, -0.054466434, -0.016870465, 0.008425535, -0.07040091, -0.089233495, 0.13193156, -0.050881077, 0.02321132, 0.05240855, -0.05507531, 0.11045006, -0.05287347) * conv2d_4_0_texOff(vec2(0, -1)); + result += mat4(0.026759261, 0.062051155, -0.003945277, 0.04563078, -0.03224445, -0.11816783, 0.069794625, -0.011122299, 0.018666968, -0.1139171, -0.04996122, -0.11003525, 0.046559703, 0.011053371, 0.023064949, 0.029661411) * conv2d_4_0_texOff(vec2(1, -1)); + result += mat4(-0.014747362, 0.05423561, -0.035074584, -0.17831835, -0.08130223, -0.0009333893, 0.068694636, 0.020894865, 0.07522027, -0.023988897, 0.008578291, 0.021030499, -0.08493413, -0.08599244, -0.011630431, -0.018433454) * conv2d_4_0_texOff(vec2(-1, 0)); + result += mat4(0.046071053, -0.011418831, -0.035194278, 0.044674832, 0.00041246286, 0.07825398, -0.023369467, 0.03058997, 0.0081767095, 0.01475973, 0.019673605, 0.0049730144, 0.13240097, -0.027513841, 0.00013196138, -0.03916345) * conv2d_4_0_texOff(vec2(0, 0)); + result += mat4(0.05762516, -0.019916251, -0.03911777, -0.040417038, -0.021643022, -0.04889882, -0.01983129, -0.06811472, -0.09386371, -0.013902166, 0.019391365, -0.07002573, 0.041423053, -0.038381483, 0.10094547, 0.07099513) * conv2d_4_0_texOff(vec2(1, 0)); + result += mat4(0.012239392, -0.04553411, -0.031315375, -0.09058013, 0.044134453, -0.08493709, -0.054941684, -0.08546161, -0.031910513, 0.025139252, -0.020321775, 0.0018517378, 0.044425156, -0.04948171, -0.020069772, -0.031008974) * conv2d_4_0_texOff(vec2(-1, 1)); + result += mat4(-0.10237727, 0.027195487, -0.10438355, 0.18013915, 0.08098608, 0.06393669, -0.026501782, 0.09152095, 0.03727705, -0.01329895, 0.019179363, 0.10877083, 0.038874906, 0.031757224, 0.046564616, 0.0013984117) * conv2d_4_0_texOff(vec2(0, 1)); + result += mat4(-0.04633342, 0.04813199, -0.040961362, -0.00039862006, -0.010458006, -0.05505914, 0.063396074, -0.1432106, -0.016199859, 0.052676037, -0.061194155, -0.12257285, -0.104831055, 0.07285034, -0.037690945, -0.0016298497) * conv2d_4_0_texOff(vec2(1, 1)); + result += mat4(0.0376707, -0.055586062, 0.065259084, 0.016390754, -0.008386405, -0.0029405502, -0.026257785, 0.035723936, 0.07626289, 0.06286442, 0.025170011, 0.050848585, 0.053993393, -0.074970536, -0.087790236, -0.046617504) * conv2d_4_1_texOff(vec2(-1, -1)); + result += mat4(-0.027239515, -0.03871918, -0.048216864, -0.11791459, 0.026596818, -0.012932386, 0.062188514, 0.002094744, -0.025280148, 0.042759545, -0.023457889, -0.008961966, -0.060098015, -0.08615126, 0.07318971, 0.026015801) * conv2d_4_1_texOff(vec2(0, -1)); + result += mat4(0.06591428, -0.06974538, -0.011125307, -0.06468126, 0.043495186, -0.048687283, -0.035599604, -0.096797556, -0.06708375, -0.007115299, -0.04114189, 0.09489059, -0.068501055, 0.02147516, -0.09516866, -0.0015071227) * conv2d_4_1_texOff(vec2(1, -1)); + result += mat4(0.021459384, 0.0038642175, 0.008899712, -0.0018662293, 0.039088447, -0.009293485, -0.01852249, 0.0768127, -0.013204934, -0.03852263, -0.022534704, -0.027906822, -0.08647252, 0.027216952, 0.081728265, 0.041477155) * conv2d_4_1_texOff(vec2(-1, 0)); + result += mat4(-0.07083061, 0.026967786, -0.07543586, -0.0030894356, 0.080068305, 0.064456545, -0.050163127, 0.08556735, -0.052110665, 0.12535931, 0.006253803, -0.01627654, 0.011363781, 0.071435735, 0.12658638, -0.021390487) * conv2d_4_1_texOff(vec2(0, 0)); + result += mat4(0.006180938, -0.074387684, -0.017106667, -0.06576324, -0.051740456, -0.0005384904, 0.022246197, 0.023234043, -0.06136818, 0.14206524, 0.04356066, 0.03412567, -0.011127722, -0.030439658, 0.018868275, 0.006633875) * conv2d_4_1_texOff(vec2(1, 0)); + result += mat4(0.021440627, -0.039221853, 0.0137522705, -0.01690634, 0.059286904, 0.094165325, -0.104185276, 0.0458326, 0.07012717, 0.045772318, 0.08055948, -0.078718044, 0.080590785, 0.053347133, -0.17556459, -0.01862909) * conv2d_4_1_texOff(vec2(-1, 1)); + result += mat4(0.030217057, 0.055596564, -0.039909564, -0.039487753, -0.026901927, 0.10575721, -0.092611775, 0.1027071, 0.08832089, -0.021564694, 0.032605726, 0.03632368, 0.13382831, -0.115151145, -0.058819804, -0.04666085) * conv2d_4_1_texOff(vec2(0, 1)); + result += mat4(-0.029313814, 0.026086109, 0.0050191963, 0.06069516, -0.057623867, 0.10669551, 0.030928954, 0.12295723, -0.0024809528, 0.0762547, -0.024703266, 0.03297919, -0.027105216, -0.124841854, -0.043663573, 0.13534822) * conv2d_4_1_texOff(vec2(1, 1)); + result += mat4(0.007157479, -0.05973485, 0.110251896, 0.0038233942, -0.019390102, -0.07830754, 0.058571246, 0.04170379, -0.07737476, 0.008079394, -0.03913871, 0.04531513, -0.020468723, 0.026413247, -0.03621609, 0.028344117) * conv2d_4_2_texOff(vec2(-1, -1)); + result += mat4(0.06614093, -0.066829525, -0.03889602, -0.043133322, -0.14874497, 0.025205813, -0.04521223, -0.0053451373, -0.0007332497, -0.034058277, 0.05700848, 0.038901296, -0.07983258, -0.018813223, -0.08045294, -0.10314455) * conv2d_4_2_texOff(vec2(0, -1)); + result += mat4(-0.0069888355, -0.09054443, 0.041112132, 0.008636328, 0.07070584, 0.077259436, -0.0907137, -0.2740745, -0.061728552, -0.033996508, -0.008699861, -0.0035128514, -0.070044294, 0.058498688, 0.008397797, 0.027619524) * conv2d_4_2_texOff(vec2(1, -1)); + result += mat4(-0.031641524, -0.038529657, -0.06252963, 0.03609837, 0.016870031, -0.07702599, -0.12518086, 0.02230905, 0.016294694, 0.048358, -0.036249023, 0.0402514, 0.026027886, -0.076332785, -0.11581518, -0.02984455) * conv2d_4_2_texOff(vec2(-1, 0)); + result += mat4(0.08540919, -0.05597586, 0.008536542, 0.085084595, 0.06305363, -0.13173594, 0.02650425, 0.096223906, 0.02683272, 0.044928376, -0.027425421, 0.022786822, -0.1218999, -0.05886356, -0.06373537, 0.012566754) * conv2d_4_2_texOff(vec2(0, 0)); + result += mat4(-0.03572133, -0.14330506, 0.025059253, -0.15277307, 0.015189198, 0.03791659, -0.04514338, 0.07523708, 0.10369998, 0.034488324, 0.12181086, -0.107948996, -0.0015171113, -0.058763936, -0.025617834, 0.06781687) * conv2d_4_2_texOff(vec2(1, 0)); + result += mat4(0.0037179498, 0.08529988, 0.027889939, 0.003222262, 0.11168923, 0.00066192815, 0.07540353, -0.057343643, 0.00030487005, -0.04888555, 0.05101622, -0.034709588, 0.08829905, 0.041069593, 0.03141221, -0.02706111) * conv2d_4_2_texOff(vec2(-1, 1)); + result += mat4(0.041756507, -0.07811449, 0.16475213, -0.013378609, -0.00643016, 0.029229168, 0.10122711, -0.12280812, -0.03420747, 0.05189128, 0.035785843, -0.10635843, -0.016912397, -0.055895682, -0.033209465, -0.014799848) * conv2d_4_2_texOff(vec2(0, 1)); + result += mat4(0.08908331, -0.05600544, 0.043326605, -0.079979375, -0.026731044, 0.106925935, 0.027010608, 0.010199388, -0.053292416, 0.11392488, -0.06671726, 0.013869556, 0.052558497, -0.008757882, 0.050396882, 0.004238255) * conv2d_4_2_texOff(vec2(1, 1)); + result += mat4(-0.11732546, -0.09634034, -0.055640962, -0.014233091, -0.015503881, 0.064164706, -0.04780396, -0.055842523, 0.07023783, -0.011185966, -0.039414886, 0.005374894, 0.035964258, -0.053783245, 0.041233014, 0.0001975019) * conv2d_4_3_texOff(vec2(-1, -1)); + result += mat4(0.066145234, 0.070920266, 0.013697662, 0.07268349, -0.037122075, -0.055752855, 0.07137167, -0.0070951274, 0.004516784, 0.03692181, -0.018517666, -0.06653895, 0.09884851, 0.003364147, 0.07483013, 0.089953594) * conv2d_4_3_texOff(vec2(0, -1)); + result += mat4(0.054332282, -0.014929944, -0.061932918, -0.063656196, -0.06479612, 0.018064292, -0.014423946, 0.119874164, 0.009527149, 0.019724282, 0.05945179, 0.12616754, -0.023177106, -0.05653973, -0.07177297, -0.03853774) * conv2d_4_3_texOff(vec2(1, -1)); + result += mat4(-0.0031560515, 0.102466606, -0.016985284, 0.13583939, -0.042187594, 0.0070145247, -0.036459148, -0.08347707, 0.09661631, -0.096756056, -0.08569181, 0.10360648, -0.048982732, 0.044129677, 0.085172795, 0.02679583) * conv2d_4_3_texOff(vec2(-1, 0)); + result += mat4(0.035111655, 0.011007227, -0.14336789, 0.035851106, 0.114730164, -0.090360045, 0.066923484, -0.117397286, 0.058644306, -0.028735561, 0.05165274, -0.0920172, 0.1089473, -0.081362486, 0.012526838, 0.01399663) * conv2d_4_3_texOff(vec2(0, 0)); + result += mat4(0.03603579, 0.053000085, 0.04764989, -0.0049900254, 0.015776742, 0.03136669, -0.025461132, 0.016123375, -0.022754062, -0.040256757, -0.031441882, -0.083366424, -0.0004891461, 0.057174336, -0.10576837, 0.008257444) * conv2d_4_3_texOff(vec2(1, 0)); + result += mat4(0.021810202, -0.06182033, 0.055761512, 0.049412526, -0.08846193, 0.066105254, 0.010212099, 0.077975444, -0.11054535, -0.041816767, 0.045417804, 0.05921723, -0.115178525, -0.038490694, -0.0041492884, 0.04334992) * conv2d_4_3_texOff(vec2(-1, 1)); + result += mat4(0.03853905, -0.061036386, 0.074263975, -0.0879866, 0.028817635, -0.005711552, 0.046895344, -0.0010075368, 0.022929177, -0.001233571, -0.006624973, -0.079649396, 0.03365433, 0.09859024, -0.04408512, -0.13785824) * conv2d_4_3_texOff(vec2(0, 1)); + result += mat4(0.04685672, -0.07980192, -0.017091796, 0.063593656, 0.08790774, 0.019507777, 0.00894395, -0.06250939, 0.028412756, 0.0007189592, 0.044543765, -0.028471796, -0.035928573, -0.025666278, -0.027253943, 0.07046252) * conv2d_4_3_texOff(vec2(1, 1)); + result += mat4(0.077348284, 0.055454724, 0.047286727, -0.014136162, 0.21297774, -0.15286815, -0.07030939, 0.14328142, 0.070640884, -0.027708247, 0.07040721, 0.04340446, 0.028085908, -0.07066196, 0.024031537, 0.021551996) * conv2d_4_4_texOff(vec2(-1, -1)); + result += mat4(-0.07803374, 0.009340422, -0.00011741195, 0.06900992, -0.1741137, -0.09420195, 0.018941168, -0.07138382, 0.017931731, -0.02171963, -0.07916339, 0.042324822, -0.0084804, 0.011541597, 0.015001805, 0.04564982) * conv2d_4_4_texOff(vec2(0, -1)); + result += mat4(0.02503248, 0.025407659, -0.019203547, 0.0193773, 0.10535368, 0.00959208, -0.016841125, 0.092213996, 0.017265338, 0.034995846, 0.027710611, 0.056294788, -0.049249623, -0.060686674, 0.013258733, -0.030993462) * conv2d_4_4_texOff(vec2(1, -1)); + result += mat4(0.0068570557, 0.040906012, -0.08349569, 0.016004015, 0.022955284, 0.26090536, 0.1959979, 0.18578872, -0.04414464, 0.066582456, 0.078135036, 0.07842101, -0.054717485, 0.050156057, 0.01714649, -0.025913632) * conv2d_4_4_texOff(vec2(-1, 0)); + result += mat4(0.07383831, -0.011720879, 0.07642587, -0.13802901, -0.13433011, -0.17891987, 0.02470329, -0.14999723, -0.033346742, 0.020762017, -0.088923946, 0.0140608, -0.040436763, 0.017892944, 0.0957397, 0.10517943) * conv2d_4_4_texOff(vec2(0, 0)); + result += mat4(-0.012581843, -0.0641339, 0.08143261, -0.04472631, 0.053777363, -0.08982334, -0.04212396, 0.052714508, -0.015142444, 0.05789171, -0.04851358, 0.13143617, 0.043224853, -0.034116317, -0.03013532, -0.10098643) * conv2d_4_4_texOff(vec2(1, 0)); + result += mat4(-0.064848736, 0.007567723, 0.014479514, 0.03315159, -0.28160718, 0.34408262, 0.59043926, -0.13805975, 0.08578609, -0.025727566, -0.065402135, -0.0385752, 0.028798452, -0.029766502, 0.034961622, -3.104939e-05) * conv2d_4_4_texOff(vec2(-1, 1)); + result += mat4(0.03613503, -0.027101398, -0.004059457, -0.082768396, 0.044968247, -0.11790055, 0.003281074, -0.22012441, 0.070738174, -0.12446346, -0.001658337, 0.12189393, 0.08714606, -0.10562411, 0.017032133, -0.036790203) * conv2d_4_4_texOff(vec2(0, 1)); + result += mat4(0.07454949, 0.05402733, -0.051191084, 0.059504155, 0.12694909, -0.06001572, 0.05904764, 0.02666862, -0.0629755, -0.018075218, 0.06864025, -0.027369408, -0.022867113, -0.02276667, -0.009572518, -0.10009488) * conv2d_4_4_texOff(vec2(1, 1)); + result += mat4(0.060711227, 0.051675085, -0.032368734, 0.057377145, -0.11970565, -0.009653726, -0.06887162, -0.06864946, -0.023298059, -0.073230684, 0.05819461, -0.11976556, -0.036530335, -8.692498e-05, -0.018504133, 0.056823064) * conv2d_4_5_texOff(vec2(-1, -1)); + result += mat4(-0.025944648, 0.015810618, 0.010670202, 0.01386489, 0.07891802, 0.06148694, -0.009772447, 0.14671405, -0.0005124733, 0.07623176, 0.033200298, 0.08096192, 0.027893083, 0.05866782, -0.02318737, 0.013935583) * conv2d_4_5_texOff(vec2(0, -1)); + result += mat4(-0.06912419, -0.039700318, -0.057644438, -0.01113549, -0.0051164306, -0.08136487, -0.0148531785, 0.037326295, 0.014117675, -0.08634251, -0.103635855, -0.011023973, -0.05590085, -0.036033027, 0.031777892, 0.07629729) * conv2d_4_5_texOff(vec2(1, -1)); + result += mat4(-0.078307845, -0.049978163, -0.068438865, -0.106633104, 0.02313371, 0.026683582, 0.0673353, 0.00058549776, 0.11419177, -0.033090208, -0.054374166, -0.06356589, 0.008267027, -0.07797306, -0.026205141, 0.011664107) * conv2d_4_5_texOff(vec2(-1, 0)); + result += mat4(0.060976546, 0.022161908, 0.006877606, -0.024677891, -0.021413097, -0.02084064, -0.019904284, 0.077459276, 0.09966264, -0.04727618, -0.08928757, -0.008342991, -0.05505298, 0.091976695, -0.06273845, 0.056327026) * conv2d_4_5_texOff(vec2(0, 0)); + result += mat4(0.0522215, 0.039778218, -0.08734103, -0.10326401, -0.03349943, -0.06386685, -0.038285185, -0.04139568, 0.0275177, 0.02571496, -0.0076668668, -0.02207508, 0.0020197849, -0.0045990306, 0.045475878, 0.0004344982) * conv2d_4_5_texOff(vec2(1, 0)); + result += mat4(-0.04153057, 0.03395094, -0.05997602, -0.045482665, -0.021174341, -0.030184926, 0.021830909, 0.04662035, -0.05339313, -0.08962555, 0.032046646, -0.022768611, 0.0538204, 0.020032907, 0.047227196, -0.011527836) * conv2d_4_5_texOff(vec2(-1, 1)); + result += mat4(0.055494122, 0.08453045, 0.05403328, -0.07182722, 0.050301585, 0.044827122, -0.021602813, 0.14450411, 0.062434472, -0.0871835, 0.08730617, 0.0026804216, -0.045862075, 0.06948351, -0.016019462, -0.06495156) * conv2d_4_5_texOff(vec2(0, 1)); + result += mat4(-0.06384203, 0.12719019, -0.05923506, 0.016249172, 0.00054639444, 0.029505188, -0.08136734, 0.16146624, 0.051130418, -0.08117765, -0.032201745, -0.046629786, -0.03106953, -0.06449613, 0.027636368, 0.056463536) * conv2d_4_5_texOff(vec2(1, 1)); + result += mat4(0.015862223, -0.09411337, -0.052777916, 0.029921029, -0.029021418, -0.049138073, 0.005248753, 0.03883706, 0.051570605, -0.08783808, -0.060173493, -0.10942962, 0.027082019, -0.015245614, -0.026571682, 0.07175237) * conv2d_4_6_texOff(vec2(-1, -1)); + result += mat4(0.06623662, 0.023508735, 0.046236277, 0.031114891, 0.055644933, -0.04629829, -0.08040808, -0.05794674, 0.020746917, 0.034847286, -0.011106398, -0.03899153, 0.017190078, -0.052382246, -0.08801344, -0.13558784) * conv2d_4_6_texOff(vec2(0, -1)); + result += mat4(0.021157345, -0.0017713321, 0.0010145286, -0.11869583, 0.022726737, -0.007596762, -0.055396423, 0.0107872635, -0.055546373, 0.004975698, 0.0129171675, -0.0044665607, -0.052194275, -0.021074649, -0.020994103, -0.023258638) * conv2d_4_6_texOff(vec2(1, -1)); + result += mat4(0.0050876206, -0.085585475, 0.05284131, 0.04657147, -0.0015298714, 0.020799918, 0.04965338, 0.09055329, 0.06534174, -0.013609916, 0.020365173, 0.009542701, 0.025333093, 0.056572396, 0.014367648, -0.0059644864) * conv2d_4_6_texOff(vec2(-1, 0)); + result += mat4(0.06623636, 0.018546676, 0.012772181, 0.1128578, -0.0553153, -0.027193768, 0.030588992, 0.07314617, -0.029155126, 0.012377396, -0.048051365, 0.07615869, 0.02106586, -0.037551712, 0.062093396, 0.03994226) * conv2d_4_6_texOff(vec2(0, 0)); + result += mat4(0.08615203, -0.038392875, 0.04185375, -0.11557163, -0.0724445, -0.06837753, -0.0796079, -0.0005534733, 0.022866072, 0.0019668497, -0.03375458, 0.005518931, -0.051255636, -0.086629584, 0.052938733, -0.017939853) * conv2d_4_6_texOff(vec2(1, 0)); + result += mat4(-0.082201995, 0.08338168, 0.06368014, 0.020799948, -0.0021174734, -0.044765506, -0.026496015, 0.0073489193, 0.03357522, 0.03808954, 0.042366095, -0.026202196, -0.031142592, 0.08563531, 0.0750633, 0.03830991) * conv2d_4_6_texOff(vec2(-1, 1)); + result += mat4(0.059878696, 0.012079003, 0.074656546, -0.005196685, 0.11351621, 0.05091811, 0.0032134173, 0.10331796, 0.04635301, 0.007022853, -0.0013485943, -0.10340123, -0.017416406, 0.04109052, 0.006881709, 0.047110867) * conv2d_4_6_texOff(vec2(0, 1)); + result += mat4(-0.059919287, -0.03101404, 0.009470262, 0.025023736, 0.07611769, -0.003336585, 0.09379993, 0.022039518, 0.06452025, 0.02453208, -0.069482476, -0.029276706, 0.06404178, -0.07767904, 0.035325702, 0.0057341205) * conv2d_4_6_texOff(vec2(1, 1)); + result += mat4(0.035175208, 0.06847525, 0.10652048, 0.009162628, -0.0767558, 0.034296, -0.058371305, -0.11118776, -0.0055949898, -0.012134497, 0.023943555, -0.0005300856, 0.08061122, -0.054515693, 0.01777842, -0.065258764) * conv2d_4_7_texOff(vec2(-1, -1)); + result += mat4(0.083935365, -0.026900299, 0.060945384, -0.054810107, -0.06297046, 0.022223262, 0.055109426, 0.06634053, -0.030266106, -0.06202114, 0.0015390554, -0.0065800655, -0.07227648, -0.034390856, -0.06954583, -0.019235443) * conv2d_4_7_texOff(vec2(0, -1)); + result += mat4(0.063203774, 0.029398764, 0.028291611, -0.021303497, 0.10261226, -0.04520229, 0.03592958, 0.15121423, 0.06758098, -0.025456328, 0.07083506, 0.0031304099, 0.025098355, 0.11022158, -0.10039365, 0.045323513) * conv2d_4_7_texOff(vec2(1, -1)); + result += mat4(-0.015524359, -0.074430704, 0.08698407, -0.039414022, -0.0067286864, -0.023823723, -0.054444358, -0.15463683, 0.004657492, 0.06434396, 0.04229149, 0.10077084, -0.0175929, -0.0503969, 0.056542497, -0.03236558) * conv2d_4_7_texOff(vec2(-1, 0)); + result += mat4(-0.014850027, 0.035510205, -0.053615622, 0.06173638, 0.044803932, -0.002333041, -0.09752026, 0.017638449, 0.11542985, -0.05690194, 0.039437305, -0.09617133, 0.058244046, -0.090813406, 0.085987, -0.041902382) * conv2d_4_7_texOff(vec2(0, 0)); + result += mat4(-0.03284375, -0.08889782, 0.032698154, -0.01706314, 0.05101155, 0.047558628, 0.05355311, 0.11727696, -0.06263451, -0.02354761, -0.020732163, 0.015123445, -0.041259155, -0.0468619, -0.14686956, 0.046192385) * conv2d_4_7_texOff(vec2(1, 0)); + result += mat4(-0.02382978, -0.06351694, -0.022633234, 0.012576567, -0.00094047387, -0.05083605, 0.021433135, 0.09205889, -0.0029333474, 0.035971723, 0.024764849, -0.009984877, 0.059244607, -0.03211106, 0.13820948, 0.029564455) * conv2d_4_7_texOff(vec2(-1, 1)); + result += mat4(-0.05534098, -0.096680254, -0.036229454, 0.02692296, 0.010722657, 0.045933485, 0.07740435, -0.09348157, 0.070330724, -0.03929862, -0.06282764, -0.11922472, 0.1359561, -0.10417883, 0.010690849, -0.07893975) * conv2d_4_7_texOff(vec2(0, 1)); + result += mat4(0.07235992, 0.06190206, -0.03768438, 0.033766117, -0.039035834, -0.029381253, 0.08724059, -0.08092357, 0.043768026, -0.0458281, -0.049568124, -0.06142317, -0.03587894, -0.00035773177, 0.008888146, -0.071498156) * conv2d_4_7_texOff(vec2(1, 1)); + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-5) +//!HOOK LUMA +//!BIND conv2d_4_0 +//!BIND conv2d_4_1 +//!BIND conv2d_4_2 +//!BIND conv2d_4_3 +//!BIND conv2d_4_4 +//!BIND conv2d_4_5 +//!BIND conv2d_4_6 +//!BIND conv2d_4_7 +//!SAVE conv2d_5_1 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.003317229, -0.0064632413, -0.0041693165, -0.0017572003); + result += mat4(-0.08265474, 0.10560329, -0.067668095, -0.062895045, 0.04958467, -0.0038375168, -0.06940705, 0.012235638, -0.060085498, 0.1382981, -0.060480203, 0.03841044, 0.020538561, 0.09340245, 0.062193632, 0.04998065) * conv2d_4_0_texOff(vec2(-1, -1)); + result += mat4(-0.051759467, 0.055025395, 0.00054037326, 0.04903321, -0.010979108, -0.06674058, -0.03977226, 0.013337811, 0.0059016664, -0.032146174, -0.02144294, 0.03090346, -0.041875545, 0.021615228, 0.08663118, -0.08029276) * conv2d_4_0_texOff(vec2(0, -1)); + result += mat4(0.090466045, -0.01429877, -0.054916203, -0.032580435, 0.023722852, 0.05932181, -0.018627854, -0.037103616, 0.00020288334, -0.009167328, 0.05088327, -0.13919438, -0.016506882, 0.085531436, 0.023385523, 0.033153646) * conv2d_4_0_texOff(vec2(1, -1)); + result += mat4(0.08023076, 0.04054037, 0.09784964, -0.035269897, -0.055552464, 0.13078494, 2.847597e-05, 0.020044202, -0.046066992, 0.03582579, 0.01796797, -0.011334841, -0.017962998, -0.0872248, 0.031063499, -0.03456828) * conv2d_4_0_texOff(vec2(-1, 0)); + result += mat4(-0.021214, 0.033319674, -0.06548679, 0.0056021586, 0.06960143, -0.008192314, 0.09968226, -0.036284246, -0.062062215, -0.0884058, 0.24871475, -0.0113721555, -0.018680625, -0.018106472, 0.09888333, 0.08924286) * conv2d_4_0_texOff(vec2(0, 0)); + result += mat4(0.009790949, -0.09506628, 0.062405, 0.037370395, 0.060472205, -0.041514926, -0.02920433, -0.024822535, -0.046477973, -0.013701813, -0.12442923, 0.014024875, 0.054152638, -0.03998084, 0.10381648, -0.07087996) * conv2d_4_0_texOff(vec2(1, 0)); + result += mat4(0.031451374, -0.009737688, -0.070500225, 0.06722435, -0.029432943, -0.17462918, -0.032093577, 0.0014249057, 0.07075508, 0.09676446, -0.09549088, 0.04546866, -0.008361392, -0.0055721663, -0.0012965052, 0.0026101344) * conv2d_4_0_texOff(vec2(-1, 1)); + result += mat4(0.09088915, -0.111458145, 0.034964573, -0.06334338, 0.12613358, -0.0763716, 0.0784548, -0.057297915, 0.0060366536, -0.17734411, 0.12157566, 0.01503498, -0.026981527, 0.024995724, 0.041592762, -0.022894524) * conv2d_4_0_texOff(vec2(0, 1)); + result += mat4(-0.004404648, -0.007901133, -0.008615926, -0.07488221, -0.014197678, -0.048006207, -0.016464055, -0.0008651135, 0.0023277192, 0.056148414, -0.13325216, 0.010002999, -0.002800603, -8.40845e-05, -0.03240802, -0.07873265) * conv2d_4_0_texOff(vec2(1, 1)); + result += mat4(-0.07545629, 0.06575272, 0.007861065, 0.0023801473, -0.052709818, -0.00655609, 0.06742195, -0.00030776378, -0.065383166, 0.07310911, 0.10112414, -0.058442257, -0.03389798, -0.055442993, -0.029636098, 0.043795798) * conv2d_4_1_texOff(vec2(-1, -1)); + result += mat4(-0.07952838, -0.020744195, 0.023544624, -0.07228758, -0.10186815, 0.09275307, -0.017949482, -0.060527306, -0.017520878, 0.03076118, 0.055297054, 0.0022254798, 0.0055943383, -0.008069786, 0.0020714153, 0.069055505) * conv2d_4_1_texOff(vec2(0, -1)); + result += mat4(-0.03932148, 0.01884254, 0.018723609, 0.0126212, -0.0035309903, 0.04359766, -0.043469686, 0.029403241, 0.032626398, 0.029003227, 0.04297175, 0.075609215, 0.050474413, 0.10845918, 0.09105683, -0.012393394) * conv2d_4_1_texOff(vec2(1, -1)); + result += mat4(-0.02488784, 0.054166615, -0.06138746, -0.075655065, 0.047579516, -0.045368403, -0.03639043, -0.040002577, -0.007187778, -0.1368114, -0.055445664, 0.07865921, 0.094658405, -0.025232622, 0.072548896, -0.06878183) * conv2d_4_1_texOff(vec2(-1, 0)); + result += mat4(-0.04332549, -0.05578202, -0.02764263, 0.07296786, 0.022012152, -0.09114279, 0.070410565, -0.061575178, 0.026308531, -0.019452238, 0.024120232, 0.07456899, 0.086531125, -0.0950327, 0.05715851, -0.05102421) * conv2d_4_1_texOff(vec2(0, 0)); + result += mat4(-0.012421495, -0.09701155, -0.040836204, 0.014533989, 0.041393764, -0.037914507, 0.08338501, 0.02119708, 0.05121213, 0.021794274, -0.04444667, -0.060193773, -0.0763098, 0.084622145, 0.047389224, -0.06170933) * conv2d_4_1_texOff(vec2(1, 0)); + result += mat4(0.00013421229, -0.005540634, -0.020578226, -0.019386388, 0.002461981, 0.014562435, 0.061549917, 0.085562505, -0.023288231, 0.10071734, 0.023439452, 0.040598728, 0.011544779, -0.08295742, 0.015601267, 0.04546638) * conv2d_4_1_texOff(vec2(-1, 1)); + result += mat4(0.024442282, -0.1042972, 0.0076779965, 0.09255094, -0.02157449, 0.0025354757, -0.09709387, -0.05775409, -0.062856205, 0.055287126, -0.033004224, -0.029021533, 0.06401177, 0.16498627, -0.16240746, -0.027750114) * conv2d_4_1_texOff(vec2(0, 1)); + result += mat4(0.0039031995, 0.064201556, -0.006914177, -0.061504487, -0.12440111, -0.044961818, 0.04226013, -0.00016465555, 0.019992018, 0.04240296, 0.032731883, 0.0768381, -0.113604374, -0.0953154, 0.033843167, -0.06213821) * conv2d_4_1_texOff(vec2(1, 1)); + result += mat4(-0.04530765, 0.053056464, -0.064794905, 0.07495355, 0.029985292, -0.02680949, -0.07873169, 0.076697834, 0.05807, -0.115148485, 0.029793361, 0.095544115, 0.06161225, -0.07333861, -0.055662483, 0.016645523) * conv2d_4_2_texOff(vec2(-1, -1)); + result += mat4(0.044810094, -0.048346203, 0.0904013, -0.03316327, -0.104199305, 0.081632555, -0.05124095, -0.024583213, 0.079001464, -0.0046143727, 0.0050495607, -0.08556102, 0.09239731, -0.04868662, -0.025903573, 0.03551393) * conv2d_4_2_texOff(vec2(0, -1)); + result += mat4(-0.052623913, -0.047548443, 0.12634508, -0.060273297, -0.12153403, 0.17608175, -0.00015388941, -0.0044798413, -0.07519698, 0.045431692, 0.015223836, 0.05553764, 0.02085482, 0.016902572, -0.05950539, 0.07044421) * conv2d_4_2_texOff(vec2(1, -1)); + result += mat4(0.041267693, 0.029094482, 0.007867406, -0.08583167, -0.017194785, -0.09548868, -0.019923303, 0.047458924, 0.01245954, -0.02165523, -0.012512882, 0.040093508, 0.08108229, 0.09158754, -0.08359462, 0.0155821135) * conv2d_4_2_texOff(vec2(-1, 0)); + result += mat4(0.078070804, -0.07526374, 0.13895224, -0.12730496, 0.017342772, -0.016859451, 0.013009278, 0.0600222, 0.06785085, -0.020580102, 0.00020255109, 0.05434867, -0.015316293, -0.07428089, -0.09653583, -0.004677268) * conv2d_4_2_texOff(vec2(0, 0)); + result += mat4(-0.01643832, -0.00075961783, 0.13193657, 0.054982483, 0.069861, 0.010317136, -0.07249386, -0.07516916, -0.08792303, -0.066908784, -0.07679963, 0.057260305, -0.035518643, 0.04714165, -0.002201417, -0.05808126) * conv2d_4_2_texOff(vec2(1, 0)); + result += mat4(-0.064182594, 0.07013494, -0.03872325, 0.024523042, -0.07274467, 0.09924485, -0.017668542, -0.0062038964, 0.026449652, 0.012745494, 0.012900924, 0.094447136, 0.028386077, 0.08761028, 0.11160592, -0.07945151) * conv2d_4_2_texOff(vec2(-1, 1)); + result += mat4(-0.0028180094, 0.12425549, -0.025830649, -0.079014875, -0.085475504, 0.023271753, -0.06453875, -0.05694201, -0.089321844, 0.07139553, -2.6606564e-05, 0.045859758, 0.038799837, 0.007303302, 0.09027889, -0.073682405) * conv2d_4_2_texOff(vec2(0, 1)); + result += mat4(-0.065822415, -0.030560782, 0.090121605, 0.028209213, 0.0019034295, 0.0091244, 0.09619606, -0.045476012, 0.09244145, -0.033329844, 0.032491345, -0.08283403, -0.03821491, 0.1030151, -0.03824745, -0.1027855) * conv2d_4_2_texOff(vec2(1, 1)); + result += mat4(-0.082245074, -0.012961774, -0.041181143, -0.08730407, -0.033928204, 0.041474722, 0.10009358, -0.06408215, 0.016463725, -0.010628875, -0.030662278, 0.07354385, -0.057238735, 0.080673195, -0.09536576, 0.001002388) * conv2d_4_3_texOff(vec2(-1, -1)); + result += mat4(0.057134833, 0.11728103, 0.05859105, 0.094526276, -0.085379556, 0.09725714, 0.06921187, -0.0004901866, 0.096668825, 0.056756403, 0.0104300985, -0.09716549, 0.09378571, -0.121191196, -0.04978707, 0.07797104) * conv2d_4_3_texOff(vec2(0, -1)); + result += mat4(-0.08890152, -0.07528766, 0.049433246, -0.03763722, 0.005112002, 0.014824678, 0.026509011, 0.08072689, 0.06484399, -0.0009743376, -0.12724032, 0.02594613, 0.0024610516, -0.026318176, -0.023985181, -0.010079703) * conv2d_4_3_texOff(vec2(1, -1)); + result += mat4(0.021352844, 0.048029803, -0.04319157, 0.15502834, -0.023364006, 0.06591334, -0.05265612, 0.05894977, -0.0020646714, -0.016844306, -0.018469509, -0.008311669, 0.047466114, -0.09110195, -0.016078154, -0.043269314) * conv2d_4_3_texOff(vec2(-1, 0)); + result += mat4(0.08241017, 0.0035464352, 0.1449761, -0.14757952, -0.03186642, 0.064888366, -0.07819869, -0.06204304, 0.13754046, -0.1935331, 0.037460424, 0.0068521397, 0.15224157, -0.001488235, -0.020397019, -0.010741433) * conv2d_4_3_texOff(vec2(0, 0)); + result += mat4(0.030440303, 0.05144504, 0.034376662, -0.058197904, 0.054295655, 0.068631336, 0.05166053, -0.0009775315, 0.12730227, 0.055819187, -0.12749858, -0.06636116, -0.10469723, -0.057149783, 0.05046654, 0.10494369) * conv2d_4_3_texOff(vec2(1, 0)); + result += mat4(0.023484932, -0.007467497, -0.016365694, -0.009202472, -0.003588896, 0.061822806, -0.12135429, -0.01734984, -0.011524608, 0.10253504, 0.049723815, -0.027660893, 0.0348313, 0.023505678, 0.015921738, 0.032514688) * conv2d_4_3_texOff(vec2(-1, 1)); + result += mat4(-0.005360293, 0.044789236, 0.0042173592, 0.013065976, 0.05099065, -0.021600448, -0.08033447, -0.0064670267, 0.0034170058, -0.057721414, -0.0053069573, 0.094855316, -0.036825053, 0.034112137, -0.008437704, -0.02569088) * conv2d_4_3_texOff(vec2(0, 1)); + result += mat4(-0.13396332, -0.005175495, -0.035383582, 0.012889553, -0.030037276, 0.007279578, 0.06028317, -0.02773724, 0.042311706, 0.042895388, -0.061542172, 0.021113493, -0.014593523, -0.113973476, -0.06721411, 0.0004219604) * conv2d_4_3_texOff(vec2(1, 1)); + result += mat4(0.0044631106, -0.0031095257, -0.032858137, -0.0013974987, 0.13971345, -0.48296624, -0.05553774, -0.025563752, -0.052025016, 0.022895738, 0.080650285, -0.046393737, -0.106449544, -0.03499346, -0.033301543, 0.025064504) * conv2d_4_4_texOff(vec2(-1, -1)); + result += mat4(-0.029005699, 0.058130812, 0.049154457, 0.0859366, -0.061610684, 0.039527386, 0.13705124, -0.08889678, -0.09533282, -0.03303404, -0.050002586, 0.03361543, -0.025224142, 0.11523095, 0.024267178, 0.07230204) * conv2d_4_4_texOff(vec2(0, -1)); + result += mat4(-0.064637005, 0.036595948, -0.03502229, 0.053335078, -0.1320553, 0.01101674, 0.077269316, -0.09847019, 0.06931224, -0.0044268863, 0.020556197, -0.024897737, 0.059402216, 0.009583825, 0.028361665, -0.07514248) * conv2d_4_4_texOff(vec2(1, -1)); + result += mat4(0.026057448, 0.01689678, 0.05137883, 0.10039063, -0.2602739, 0.16442367, -0.14979811, 0.13159263, 0.0016610532, 0.029338822, -0.020918742, 0.008764612, 0.019954251, 0.03510021, 0.021516513, 0.03903599) * conv2d_4_4_texOff(vec2(-1, 0)); + result += mat4(0.07098235, -0.02140054, 0.06545658, -0.023272792, 0.08566663, -0.051872008, 0.15032956, -0.04559011, 0.04971806, -0.042256948, -0.014089375, -0.0041617635, 0.029719066, -0.034145847, 0.030706462, 0.049318526) * conv2d_4_4_texOff(vec2(0, 0)); + result += mat4(0.021757234, -0.015428759, 0.08437548, 0.015957322, -0.09902078, 0.19746202, 0.0069277706, -0.04072249, 0.046975713, 0.014887748, 0.027118389, 0.021182004, 0.027635317, 0.018358886, 0.023894662, -0.010150503) * conv2d_4_4_texOff(vec2(1, 0)); + result += mat4(0.08654914, -0.057989072, -0.10828236, -0.0708152, -0.023003161, -0.002866436, -0.05857228, 0.5588384, -0.09102295, -0.08351212, -0.071473785, -0.006507019, -0.038037915, 0.034408428, 0.012049713, 0.054822817) * conv2d_4_4_texOff(vec2(-1, 1)); + result += mat4(0.028535157, 0.03823511, -0.07466701, 0.0065332963, 0.006576431, 0.060450673, 0.07050816, -0.089807376, -6.409611e-06, 0.07333516, -0.06686256, 0.02955775, -0.00440805, -0.08557526, 0.018119685, 0.066697724) * conv2d_4_4_texOff(vec2(0, 1)); + result += mat4(-0.004289615, -0.005659897, 0.0285505, 0.03454191, -0.08920333, 0.028012889, 0.19590507, -0.040862303, -0.08810902, -0.024245787, -0.0573017, -0.003614973, 0.05261424, -0.018263623, -0.007860692, 0.0040492034) * conv2d_4_4_texOff(vec2(1, 1)); + result += mat4(-0.028097188, 0.02264837, -0.12139467, -0.062089626, -0.12773821, 0.10555855, 0.018535728, -0.02770512, -0.032490272, -0.03321214, -0.07087715, -0.08194864, -0.025363583, 0.09371274, -0.062652424, 0.070699215) * conv2d_4_5_texOff(vec2(-1, -1)); + result += mat4(0.033941038, -0.052628424, 0.0261875, -0.0673018, -0.0052701803, 0.035177056, 0.009129876, -0.089818306, -0.014471289, 0.030653602, 0.04807076, -0.090139404, 0.032677826, 0.062426023, -0.022769427, -0.049532857) * conv2d_4_5_texOff(vec2(0, -1)); + result += mat4(-0.037362117, 0.0710332, -0.0076509104, -0.005579028, 0.040961135, -0.08995273, -0.02069966, -0.13613637, -0.044099268, -0.015008014, -0.004785905, 0.015723646, 0.012583299, 0.0331539, -0.037661813, -0.023636607) * conv2d_4_5_texOff(vec2(1, -1)); + result += mat4(-0.030526528, -0.19416599, -0.02879475, -0.048472166, 0.047742907, 0.0088882595, -0.03187363, 0.061380755, 0.017048867, -0.087646395, 0.065029755, 0.008640341, -0.0724553, -0.09549255, -0.09025489, -0.06015066) * conv2d_4_5_texOff(vec2(-1, 0)); + result += mat4(-0.042008188, -0.10922489, -0.020224247, -0.031600166, 0.12404433, -0.009591216, 0.015762577, 0.0004401575, -0.035433125, 0.11651212, 0.10795125, 0.092150405, 0.10100666, 0.09725075, -0.064089276, -0.017754763) * conv2d_4_5_texOff(vec2(0, 0)); + result += mat4(0.023585087, -0.038716424, -0.08046335, -0.035903443, 0.16227022, -0.0289582, 0.09348568, 0.056654863, 0.015460236, 0.054527663, 0.012680047, -0.012564031, -0.05719806, -0.011975692, 0.060119748, 0.061249677) * conv2d_4_5_texOff(vec2(1, 0)); + result += mat4(-0.017821195, -0.05635035, -0.012085223, -0.07102497, -0.061383, -0.0020214051, -0.14478259, 0.01964696, -0.06297963, 0.017746294, -0.06171591, -0.08145191, -0.001820002, 0.030732539, -0.03178164, -0.013992768) * conv2d_4_5_texOff(vec2(-1, 1)); + result += mat4(0.1325695, -0.055385206, 0.088581085, -0.080026396, -0.04524384, -0.16042994, -0.10175654, -0.01484489, 0.023332277, 0.048470866, 0.02028371, -0.087887034, -0.06171018, -0.15237556, -0.061486658, 0.077672526) * conv2d_4_5_texOff(vec2(0, 1)); + result += mat4(0.026732942, 0.04008846, -0.036896892, -0.041593496, 0.1165477, -0.016604, -0.09561625, 0.009646634, 0.0048429216, -0.035084125, -0.02874545, -0.045984108, -0.033618793, -0.054632876, -0.028686544, 0.082565576) * conv2d_4_5_texOff(vec2(1, 1)); + result += mat4(-0.05497071, -0.026319494, 0.023090476, 0.05449973, -0.019776369, -0.036987174, -0.050365437, -0.07614435, 0.022020204, -0.044253875, 0.008176691, 0.013353154, -0.10158644, -0.12925504, -0.03728657, 0.070383854) * conv2d_4_6_texOff(vec2(-1, -1)); + result += mat4(0.05937241, 0.0918097, -0.033868525, 0.046387006, -0.093853, 0.032131687, 0.030269168, -0.0056394385, -0.021539727, -0.051358063, 0.036021948, -0.0783007, 0.048592746, 0.05068885, -0.0074899634, -0.05288175) * conv2d_4_6_texOff(vec2(0, -1)); + result += mat4(0.013251106, 0.03456651, 0.038551368, 0.021192942, -0.0028558641, -0.03364213, -0.032623585, -0.056769323, -0.005141021, 0.052676495, -0.038136657, 0.0685487, -0.03667354, 0.028060578, -0.032062825, -0.014378687) * conv2d_4_6_texOff(vec2(1, -1)); + result += mat4(-0.051198795, -0.06637197, -0.0935074, 0.012496293, 0.061241258, 0.039366134, -0.10047323, 0.002974635, -0.030449351, -0.0023441508, 0.0034939419, -0.08193388, 0.020294799, -0.061899394, 0.051958647, 0.08055818) * conv2d_4_6_texOff(vec2(-1, 0)); + result += mat4(-0.03642001, 0.07452881, 0.1197253, 0.057094987, 0.04715106, 0.081623405, -0.0044062175, -0.004582375, 0.06322114, 0.09333533, -0.03946078, -0.01445832, 0.040105335, 0.05946083, 0.0051089837, 0.042402055) * conv2d_4_6_texOff(vec2(0, 0)); + result += mat4(0.059946436, 0.0048319194, -0.07794338, 0.0070325276, -0.05966071, -0.06276097, -0.008333512, 0.028164491, 0.041831657, 0.086048596, 0.024687901, 0.05850373, -0.060074992, -0.008056797, 0.08891514, -0.08252397) * conv2d_4_6_texOff(vec2(1, 0)); + result += mat4(0.017158708, -0.018349942, 0.11014227, 0.055942412, 0.026405491, -0.11176464, -0.03028435, -0.022250207, 0.022056531, -0.083699495, 0.04059349, -0.08832581, -0.024293493, 0.05699037, 0.08062783, -0.016445398) * conv2d_4_6_texOff(vec2(-1, 1)); + result += mat4(-0.02276273, 0.06395695, 0.03168848, -0.07921432, -0.048340186, -0.09819974, 0.09139214, -0.0968995, 0.01841721, 0.03405929, 0.07201942, -0.07529555, -0.081843585, -0.049262304, 0.091425404, 0.0018208404) * conv2d_4_6_texOff(vec2(0, 1)); + result += mat4(-0.05286673, 0.12032558, 0.035703022, -0.09813714, 0.026299212, -0.07074495, -0.004240976, -0.072812036, -0.00583624, -0.014296095, 0.016801886, 0.093132906, 0.020959452, -0.123742014, 0.025904622, 0.0067183254) * conv2d_4_6_texOff(vec2(1, 1)); + result += mat4(-0.039446108, 0.08090969, 0.03015747, 0.047651775, -0.058085606, -0.013822712, 0.059130505, 0.0698776, -0.04310406, 0.10193332, 0.054714303, -0.090822436, 0.062455762, -0.0016882966, 0.05066732, -0.0038490186) * conv2d_4_7_texOff(vec2(-1, -1)); + result += mat4(-0.037746273, -0.08812562, 0.0555192, -0.0073171463, -0.055444248, 0.007849816, 0.07192422, -0.035243265, -0.056528233, -0.016508201, -0.03688289, -0.080423184, -0.08144828, 0.027191628, -0.043150797, 0.07665831) * conv2d_4_7_texOff(vec2(0, -1)); + result += mat4(-0.037141934, -0.06985088, -0.07638038, -0.02124398, 0.020478442, 0.047980696, 0.013508163, -0.03437293, -0.022008123, -0.041865565, -0.06738792, -0.06682873, 0.052956894, -0.020939942, -0.0024555468, 0.070357986) * conv2d_4_7_texOff(vec2(1, -1)); + result += mat4(0.025956756, 0.16363886, 0.007005342, 0.0340243, 0.09133191, 0.011988612, 0.034263767, -0.06275476, -0.023081716, 0.094455875, -0.033058774, 0.070847966, -0.052421253, 0.04246765, 0.020113822, -0.06551752) * conv2d_4_7_texOff(vec2(-1, 0)); + result += mat4(0.058487367, -0.07452578, 0.04752012, 0.06333042, -0.008172826, -0.04598828, -0.058805823, -0.044982545, 0.06714345, 0.07247324, -0.046020422, -0.018474052, 0.034795206, 0.035131115, 0.10729115, -0.047006555) * conv2d_4_7_texOff(vec2(0, 0)); + result += mat4(-0.069592714, 0.070724726, -0.07399982, 0.02135313, -0.047199715, -0.005288143, 0.016016727, -0.020933134, 0.033238694, -0.06418608, -0.027226487, -0.0032158718, -0.024324818, 0.030369753, 0.0098516, 0.022523582) * conv2d_4_7_texOff(vec2(1, 0)); + result += mat4(-0.06481174, 0.06013113, 0.06702918, 0.0956333, 0.08976423, 0.040919133, -0.03807425, 0.06608507, 0.033488054, -0.12371637, -0.10481349, 0.024465814, -0.05263137, 0.0044872425, -0.005380827, -0.031119782) * conv2d_4_7_texOff(vec2(-1, 1)); + result += mat4(-0.061929803, 0.042508714, -0.040909126, 0.017986607, -0.033802204, 0.06335349, -0.073278375, -0.073076226, -0.0134959975, -0.034064114, 0.08089268, 0.09057025, -0.06736415, -0.019390931, 0.1326457, -0.011683198) * conv2d_4_7_texOff(vec2(0, 1)); + result += mat4(-0.10730723, 0.0626046, -0.071364574, -0.061912827, -0.041837834, -0.064673, -0.019901397, 0.05218962, 0.0154189635, 0.08687795, 0.07484543, -0.038306188, -0.039340187, 0.05811256, -0.004851035, 0.01064105) * conv2d_4_7_texOff(vec2(1, 1)); + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-5) +//!HOOK LUMA +//!BIND conv2d_4_0 +//!BIND conv2d_4_1 +//!BIND conv2d_4_2 +//!BIND conv2d_4_3 +//!BIND conv2d_4_4 +//!BIND conv2d_4_5 +//!BIND conv2d_4_6 +//!BIND conv2d_4_7 +//!SAVE conv2d_5_2 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0009868728, 0.0007818244, 0.0053685713, 0.0057270383); + result += mat4(0.00064949464, -0.16698487, 0.046916854, 0.06371801, -0.031031769, -0.049682133, 0.05307726, -0.05928201, -0.059116844, 0.0157777, -0.004171234, -0.02914175, -0.05414638, -0.03596326, -0.00023783439, -0.06472825) * conv2d_4_0_texOff(vec2(-1, -1)); + result += mat4(-0.022393413, -0.07997542, 0.11374833, 0.0045784786, 0.05407927, 0.05876123, -0.07460766, 0.039679326, 0.040364612, -0.036086924, -0.0030471485, 0.07050085, -0.06784107, -0.049779586, 0.00551849, 0.043358237) * conv2d_4_0_texOff(vec2(0, -1)); + result += mat4(0.0018203803, -2.3848519e-05, 0.03169689, 0.05231313, -0.07569164, 0.04069557, -0.042527772, -0.0140158115, 0.021529634, 0.12468804, -0.04366304, -0.028485112, 0.0035804524, 0.079448976, -0.03517371, 0.095555134) * conv2d_4_0_texOff(vec2(1, -1)); + result += mat4(0.019839592, 0.025242861, 0.033240743, 0.06329308, 0.01005364, 0.08631441, 0.033561617, 0.08503525, -0.11276514, 0.062511325, 0.023745911, 0.05636156, 0.009621514, -0.01824681, 0.09323639, 0.03612904) * conv2d_4_0_texOff(vec2(-1, 0)); + result += mat4(-0.06954648, 0.03766656, 0.07970899, 0.04615893, -0.117304966, -0.11384082, 0.06396715, 0.0016629418, 0.16027606, -0.0672756, 0.07408818, -0.027296672, -0.031701706, 0.047633633, -0.073917545, -0.024849633) * conv2d_4_0_texOff(vec2(0, 0)); + result += mat4(0.0033971332, 0.06691601, 0.061578583, 0.0904925, 0.033025116, 0.07917803, -0.12372729, 0.020690529, 0.0006448413, 0.068535246, 0.016701277, -0.06135853, 0.057154115, 0.10919592, -0.08673763, 0.020947997) * conv2d_4_0_texOff(vec2(1, 0)); + result += mat4(-0.121104695, 0.079952255, -0.09078251, -0.03531489, 0.038313117, -0.007004295, 0.028248353, -0.0045770253, 0.046006367, -0.0998504, 0.042233035, -0.045594722, -0.010536508, -0.02518926, 0.026162302, -0.056599583) * conv2d_4_0_texOff(vec2(-1, 1)); + result += mat4(0.12356296, 0.07362047, -0.011261468, -0.07832719, 0.0820357, 0.043083344, 0.018674692, 0.010449518, 0.08303806, 0.06972793, 0.03371333, 0.07664134, 0.024718437, -0.0029732762, -0.03828993, -0.07870055) * conv2d_4_0_texOff(vec2(0, 1)); + result += mat4(-0.040034678, -0.033430144, 0.022919407, 0.06585092, 0.018910995, -0.010339008, -0.090001084, -0.09797216, 0.14855683, -0.018061496, 0.04580916, -0.033648953, 0.15725692, -0.01245557, 0.05415608, -0.038911562) * conv2d_4_0_texOff(vec2(1, 1)); + result += mat4(0.020050798, -0.004833896, 0.08000016, -0.003235002, -0.013455595, 0.071684554, 0.07424835, 0.047054645, -0.096153066, 0.060919385, -0.0014896312, -0.02240396, -0.012262397, 0.069805354, -0.055177435, 0.04611207) * conv2d_4_1_texOff(vec2(-1, -1)); + result += mat4(-0.054335155, -0.07066899, -0.02997495, -0.025207128, -0.0008798808, 0.027685035, -0.021361135, 0.079601675, -0.05210171, -0.070571624, 0.0381362, -0.06570358, -0.024091342, -0.004696931, 0.0286864, -0.02049575) * conv2d_4_1_texOff(vec2(0, -1)); + result += mat4(0.019700078, 0.004410047, 0.03376166, 0.040663213, 0.066947706, 0.103588864, -0.0099120615, 0.02200307, -0.014916655, 0.008431026, -0.09407475, -0.03374306, 0.046080973, 0.092030525, -0.0709867, -0.061325274) * conv2d_4_1_texOff(vec2(1, -1)); + result += mat4(0.011057873, -0.06015159, 0.052247733, 0.09416487, -0.042765666, -0.08022042, 0.032847684, 0.06490183, 0.015448088, -0.15924975, 0.08634549, 0.0352161, 0.07796765, -0.06937311, -0.006761572, -0.024145575) * conv2d_4_1_texOff(vec2(-1, 0)); + result += mat4(0.03892408, -0.106981955, -0.026196288, 0.08060743, -0.1324578, -0.12271246, -0.01233204, 0.07552956, -0.017253082, 0.056368623, 0.13953084, -0.036938302, 0.02376971, 0.059923433, -0.01663716, 0.073628984) * conv2d_4_1_texOff(vec2(0, 0)); + result += mat4(0.023214553, -0.036213327, -0.011466942, -0.049404193, 0.020097112, -0.08280795, 0.015978146, 0.02613461, 0.013561868, 0.1087704, -0.08452833, 0.09624825, -0.023001082, 0.14287539, 0.074100286, -0.056367844) * conv2d_4_1_texOff(vec2(1, 0)); + result += mat4(0.06939897, -0.036538865, 0.030165847, -0.0021414163, 0.022406932, -0.006676555, 0.09473598, -0.060370147, -0.07476955, 0.058023553, -0.05347744, 0.024459554, -0.09368525, 0.017396422, 0.059556715, 0.053741485) * conv2d_4_1_texOff(vec2(-1, 1)); + result += mat4(-0.057394646, 0.033621997, 0.0577881, 0.011418035, -0.04322342, 0.029355481, 0.005590881, -0.07253048, -0.115360506, -0.032316744, 0.047155216, 0.016532736, 0.0895862, 0.025431685, 0.01725431, -0.100047275) * conv2d_4_1_texOff(vec2(0, 1)); + result += mat4(0.10319327, 0.06804367, 0.022196725, -0.10679128, 0.050222695, 0.05312751, 0.07550098, 0.0028530324, -0.09470333, 0.05800333, 0.038125414, -0.033141986, 0.0916638, -0.02267667, -0.14162314, 0.12585427) * conv2d_4_1_texOff(vec2(1, 1)); + result += mat4(-0.00998823, -0.10520531, 0.036973372, -0.025184313, 0.05094961, -0.090720735, 0.04116874, -0.12634319, -0.029927379, 0.10497053, -0.063888825, -0.06792876, -0.004379732, -0.090662114, -0.022282688, 0.037158832) * conv2d_4_2_texOff(vec2(-1, -1)); + result += mat4(0.02714712, 0.13811822, 0.019240906, 0.04849655, -0.03506214, 0.078129046, -0.03797341, -0.056598205, -0.02620217, 0.03870466, 0.08451419, -0.051036406, 0.004817645, -0.044733077, 0.051782485, 0.02316678) * conv2d_4_2_texOff(vec2(0, -1)); + result += mat4(-0.044715196, -0.055395942, -0.028730134, -0.02348035, -0.04041515, -0.075559646, 0.0022796148, 0.017087188, 0.059703175, 0.008858241, -0.09982974, -0.05884826, -0.031709082, -0.038506456, 0.060847443, 0.059603754) * conv2d_4_2_texOff(vec2(1, -1)); + result += mat4(0.01577335, -0.034921873, 0.059953038, -0.03322717, 0.006691976, -0.028283615, -0.08434939, 0.045133118, -0.09932594, 0.097017415, 0.049711272, -0.042144123, 0.048854984, 0.0809519, -0.092356, -0.07609379) * conv2d_4_2_texOff(vec2(-1, 0)); + result += mat4(0.06021325, 0.039772417, 0.04385025, -0.08575306, 0.041732363, 0.05534067, 0.007962567, -0.022491287, -0.059649546, -0.044764873, -0.022616304, 0.077491656, 0.118700996, -0.02911622, 0.072572306, -0.095807895) * conv2d_4_2_texOff(vec2(0, 0)); + result += mat4(-0.058102332, -0.038847413, -0.11779252, -0.10503562, 0.07236545, 0.033141293, -0.03487429, 0.052373786, -0.0031100574, 0.11322298, 0.04536898, -0.09048243, 0.043323286, -0.040984765, -0.033739142, 0.049819335) * conv2d_4_2_texOff(vec2(1, 0)); + result += mat4(0.021885287, -0.08043984, 0.073825836, -0.05098722, -0.042667013, 0.038717914, -0.017371764, -0.06778392, 0.031230567, 0.05319893, 0.050974686, 0.07328211, -0.044438478, 0.06441879, 0.0049656075, 0.022847267) * conv2d_4_2_texOff(vec2(-1, 1)); + result += mat4(0.06376378, 0.056595046, 0.06815256, 0.071252495, -0.04863571, 0.06339047, 0.007929757, -0.06774628, 0.03239299, 0.060721003, 0.052889485, 0.03387206, -0.0675645, 0.075776264, 0.05818761, -0.10341322) * conv2d_4_2_texOff(vec2(0, 1)); + result += mat4(0.011661718, 0.014146282, 0.034953084, 0.076114796, 0.046580765, -0.009762988, 0.045747407, -0.0012667375, 0.024114287, -0.038179625, -0.052104663, 0.0110573275, 0.050260145, -0.10064585, 0.082209095, -0.0840446) * conv2d_4_2_texOff(vec2(1, 1)); + result += mat4(-0.043231003, -0.015365618, 0.12382683, 0.05468233, 0.010885542, 0.032628804, -0.050368216, 0.025214914, 0.012007965, -0.080182426, -0.12465967, -0.013812844, -0.04360754, 0.08558866, -0.107911296, 0.057397887) * conv2d_4_3_texOff(vec2(-1, -1)); + result += mat4(-0.0357675, -0.12244312, 0.110388055, 0.023478119, 0.01746867, -0.0070301676, 0.008160229, -0.030210434, -0.024536157, 0.070677854, -0.048880436, -0.011805754, 0.0013529053, -0.06337271, 0.06664618, 0.053665396) * conv2d_4_3_texOff(vec2(0, -1)); + result += mat4(-0.018643733, 0.08160039, -0.08275631, 0.014149859, 0.013413247, -0.15012406, 0.032543063, -0.017524524, -0.006947376, 0.078647, -0.10529246, 0.013496548, -0.014057629, -0.011271994, -0.055743977, -0.006958415) * conv2d_4_3_texOff(vec2(1, -1)); + result += mat4(0.0026205212, 0.010961609, 0.106559895, 0.0009065093, 0.0128292525, -0.06699272, -0.003972821, 0.046598043, 0.14531241, 0.019022172, -0.034013215, -0.016200334, 0.101206325, -0.042061653, 0.10492901, 0.018669793) * conv2d_4_3_texOff(vec2(-1, 0)); + result += mat4(0.06708195, 0.06859281, -0.17770293, 0.017312583, 0.045873117, -0.08801807, -0.029234078, 0.058649946, 0.014631035, -0.0969852, -0.024184687, 0.03457353, -0.015301637, -0.016571518, -0.12991752, 0.077849224) * conv2d_4_3_texOff(vec2(0, 0)); + result += mat4(0.06908785, 0.046049837, 0.035658225, 0.006278347, -0.03509173, 0.10101232, -0.008227384, -0.031419408, -0.008739553, -0.018822756, -0.1104878, 0.05192996, -0.039569255, 0.101350926, 0.14784229, 0.050551135) * conv2d_4_3_texOff(vec2(1, 0)); + result += mat4(0.13446443, -0.042298846, 0.08213627, 0.045626726, 0.15786971, 0.04106979, -0.020531537, -0.062438898, 0.086089455, -0.08213896, -0.09523023, 0.071210444, -0.0029057285, 0.0047016204, 0.016131975, -0.051701456) * conv2d_4_3_texOff(vec2(-1, 1)); + result += mat4(-0.08583633, 0.0044503873, 0.008890763, 0.06540896, -0.014152064, 0.06538664, 0.056238376, 0.13344373, -0.11791438, -0.12023987, -0.17783484, 0.08773428, -0.10534915, 0.053961318, -0.057003435, 0.03835123) * conv2d_4_3_texOff(vec2(0, 1)); + result += mat4(0.013101714, 0.051590145, 0.019320846, -0.015395568, 0.03745055, 0.037791803, -0.011147826, -0.054881025, -0.0027365324, 0.05912902, -0.04622374, 0.006439541, 0.0519953, 0.039045583, 0.016951377, 0.16336404) * conv2d_4_3_texOff(vec2(1, 1)); + result += mat4(0.012304316, -0.022584366, -0.06085258, -0.04496427, -0.10177182, -0.1690569, 0.31787238, 0.16963167, -0.014018331, 0.047091063, -0.03364108, -0.084929965, 0.044167478, -0.07512546, 0.053500056, 0.035659324) * conv2d_4_4_texOff(vec2(-1, -1)); + result += mat4(-0.12620527, 0.01949151, -0.039188486, 0.0073797912, 0.028220145, 0.047842328, -0.12650147, -0.036716662, 0.045273405, 0.064537786, -0.077671744, -0.044091906, -0.03480103, 0.085140795, 0.13937326, -0.06076088) * conv2d_4_4_texOff(vec2(0, -1)); + result += mat4(0.0067319144, 0.060289472, -0.000963558, -0.011406507, 0.029128822, -0.04681585, -0.08565819, -0.10932645, 0.0017960464, -0.031171815, 0.10125363, -0.018363532, 0.035735723, 0.0105032055, 0.010971865, 0.01262197) * conv2d_4_4_texOff(vec2(1, -1)); + result += mat4(0.00695658, -0.0021433732, 0.099412985, -0.07507311, -0.14148316, -0.15902415, 0.51837015, 0.19613123, 0.006153298, 0.04698854, -0.089946195, 0.0033958594, 0.09563814, 0.0527336, -0.026884176, -0.08440048) * conv2d_4_4_texOff(vec2(-1, 0)); + result += mat4(0.099241175, 0.09238596, -0.08586319, -0.008281318, -0.060937032, -0.00962071, -0.13348058, -0.028008312, 0.034707624, 0.03222019, 0.06906224, -0.071260706, 0.07528438, 0.09226523, 0.026048709, -0.04877066) * conv2d_4_4_texOff(vec2(0, 0)); + result += mat4(-0.03675122, 0.044790253, -0.02914531, 0.060435943, -0.12222824, 0.14118834, 0.040496785, -0.07852747, 0.012868903, 0.05346746, 0.057457015, 0.017493246, -0.032870974, 0.024836931, -0.054547183, -0.04721663) * conv2d_4_4_texOff(vec2(1, 0)); + result += mat4(0.13120902, 0.016368603, 0.062391046, -0.006525531, -0.47089002, -0.034329344, 0.3092136, -0.5707334, -0.008512709, -0.018364284, 0.04736787, 0.09009397, -0.027354226, 0.07218188, -0.087923184, -0.07085794) * conv2d_4_4_texOff(vec2(-1, 1)); + result += mat4(0.058837906, -0.03045312, -0.07060054, 0.08509267, -0.12012398, 0.15504916, -0.028839814, 0.04007287, -0.049653284, 0.06914361, 0.05715436, 0.056003388, 0.122019514, 0.039865155, -0.04592266, -0.037949484) * conv2d_4_4_texOff(vec2(0, 1)); + result += mat4(0.0068240594, -0.07273997, 0.0037903027, 0.0042225393, 0.044858094, 0.048657782, -0.032510955, -0.0006634386, -0.046012472, -0.076959364, -0.09461544, 0.025909014, -0.07103123, -0.07483587, -0.042873412, -0.07181307) * conv2d_4_4_texOff(vec2(1, 1)); + result += mat4(-0.021121515, -0.034669936, 0.086969234, 0.078357786, 0.043510064, 0.019920737, -0.01001601, -0.04532229, 0.044279233, 0.00177009, 0.09544538, -0.0075181588, -0.040023807, -0.0741072, 0.011781799, -0.07234889) * conv2d_4_5_texOff(vec2(-1, -1)); + result += mat4(0.04265879, -0.011755172, 0.0026059079, 0.035453852, -0.012910345, 0.047473833, 0.04929909, 0.041469287, -0.004009891, 0.035113905, -0.082926355, -0.09454386, -0.028028859, -0.040972922, -0.05700249, -0.052569125) * conv2d_4_5_texOff(vec2(0, -1)); + result += mat4(0.051354725, -0.08079735, 0.044240754, -0.065074354, -0.0043274723, 0.017297726, 0.012422628, 0.0020781201, -0.04528041, -0.044371128, 0.033433434, 0.037062064, -0.020175835, -0.026721034, 0.039568216, 0.08574928) * conv2d_4_5_texOff(vec2(1, -1)); + result += mat4(0.08538185, 0.07535134, 0.03588318, 0.101168044, 0.048937228, 0.004290628, -0.013085201, -0.015880834, -0.0730675, 0.0190603, 0.066128224, 0.05636122, -0.019461317, -0.14669503, 0.00020057024, 0.0598563) * conv2d_4_5_texOff(vec2(-1, 0)); + result += mat4(0.005610037, -0.04299494, -0.008976697, 0.13255715, -0.0069963597, -0.15373082, -0.07153157, -0.052760515, -0.08011701, -0.009816274, 0.050605647, 0.04591394, -0.06341829, -0.03326627, -0.04901377, -0.08218942) * conv2d_4_5_texOff(vec2(0, 0)); + result += mat4(-0.09208479, -0.030966062, 0.12627383, 0.00025762658, -0.05653405, -0.039280668, -0.042519756, 0.034797676, -0.058745194, -0.048425667, -0.0772807, -0.08093194, 0.053811744, 0.042018082, 0.060000915, -0.0360246) * conv2d_4_5_texOff(vec2(1, 0)); + result += mat4(0.14467192, -0.059269346, 0.009197304, 0.020336498, 0.06226344, -0.021676151, 0.031635318, -0.117580995, 0.13945673, 0.026252149, -0.038979307, 0.07201059, 0.043870743, 0.009939019, 0.07386009, -0.050778117) * conv2d_4_5_texOff(vec2(-1, 1)); + result += mat4(0.078035325, 0.050084613, 0.087394916, -0.06487058, 0.099771105, 0.017998297, 0.012153945, -0.0057790866, -0.0005346591, -0.0517256, 0.00025284887, 0.087051556, 0.025302311, -0.0689932, 0.028885622, 0.0077437647) * conv2d_4_5_texOff(vec2(0, 1)); + result += mat4(0.09439016, 0.0015287627, -0.057316553, 0.059003465, 0.100425296, 0.13241859, 0.0546974, 0.061427355, 0.06547759, -0.029035032, -0.0077362848, 0.080336735, 0.008668593, -0.027416196, 0.010027761, -0.008639418) * conv2d_4_5_texOff(vec2(1, 1)); + result += mat4(0.00162819, 0.06248252, -0.052853182, 0.06211603, 0.038125698, -0.103343174, 0.06816103, 0.062191483, -0.05038672, -0.03485956, -0.027104339, 0.06812839, -0.031183233, -0.07152067, -0.08984514, -0.046935726) * conv2d_4_6_texOff(vec2(-1, -1)); + result += mat4(-0.03681733, -0.08671243, -0.054053534, 0.039943762, 0.011443884, -0.067509525, 0.045594893, -0.029108876, -0.035579734, -0.09869042, 0.07821972, 0.01149053, 0.03056888, -0.024562277, 0.018942127, -0.034565564) * conv2d_4_6_texOff(vec2(0, -1)); + result += mat4(-0.094074436, -0.0833509, -0.056601737, -0.028960193, -0.013104027, -0.046863936, -0.051032133, 0.014918333, 0.017905757, 0.0022352438, -0.020523774, -0.09464572, -0.05598045, -0.099665366, 0.02577764, -0.05421945) * conv2d_4_6_texOff(vec2(1, -1)); + result += mat4(-0.017303536, -0.020369198, 0.063413456, -0.09092804, -0.021356624, -0.065835066, 0.10795036, -0.05285231, -0.059415016, 0.038459763, -0.07178297, 0.09825152, 0.027741132, 0.09540697, 0.08040291, 0.04606338) * conv2d_4_6_texOff(vec2(-1, 0)); + result += mat4(0.027428608, -0.030021966, -0.021979606, 0.0705089, 0.026454432, -0.044143103, 0.016605198, 0.008849416, -0.023089495, 0.00010300911, -0.08769639, 0.0829622, 0.10158135, 0.031378955, 0.004828381, -0.044000573) * conv2d_4_6_texOff(vec2(0, 0)); + result += mat4(-0.030638045, -0.053122368, 0.033245347, -0.07808564, -0.02432935, -0.024162317, 0.067721516, 0.0741197, -0.06588797, -0.070729606, -0.067972556, 0.057441507, -0.07169077, -0.10225602, -0.053760275, 0.02231711) * conv2d_4_6_texOff(vec2(1, 0)); + result += mat4(0.086432084, 0.088542275, 0.08540757, -0.07214654, -0.011980886, -0.09023816, 0.10338531, 0.09805293, 0.024282124, -0.09807912, -0.025879016, -0.06860528, -0.031729873, 0.026414549, 0.1153709, -0.09395614) * conv2d_4_6_texOff(vec2(-1, 1)); + result += mat4(-0.17938147, -0.108157, 0.020800114, -0.07700154, -0.10836662, 0.0016041914, 0.033384785, 0.027081056, 0.012053498, 0.017505782, 0.10350516, 0.04922532, -0.08821452, 0.02116319, -0.066652216, -0.024277715) * conv2d_4_6_texOff(vec2(0, 1)); + result += mat4(0.04806933, -0.0033923367, 0.09616711, -0.008886143, -0.016237656, -0.06767858, -0.053592496, 0.0067300927, -0.07084028, -0.08915349, 0.1443104, 0.04447427, 0.06763315, 0.048700977, 0.09043488, -0.020379689) * conv2d_4_6_texOff(vec2(1, 1)); + result += mat4(-0.08781744, 0.055309948, -0.055063367, 0.010117322, 0.00854385, -0.0061100577, -0.019219765, -0.05977406, -0.017156897, -0.030846462, -0.055518884, 0.09702517, -0.009120838, -0.04096218, 0.04447028, 0.021823771) * conv2d_4_7_texOff(vec2(-1, -1)); + result += mat4(0.071815595, -0.04446516, 0.035554715, 0.06843143, 0.0315443, 0.06488299, -0.0025604179, -0.012592763, -0.0028781781, 0.04174843, 0.052198254, 0.058968127, -0.061820626, -0.02469278, 0.03930519, 0.030921543) * conv2d_4_7_texOff(vec2(0, -1)); + result += mat4(0.01977956, 0.021800198, 0.037822913, 0.047152605, 0.025242863, -0.032211654, 0.12853216, 0.0153563535, 0.019872243, -0.05846455, 0.10600529, 0.00022570058, -0.024151854, -0.09468743, 0.18861791, -0.013330204) * conv2d_4_7_texOff(vec2(1, -1)); + result += mat4(-0.04565571, 0.04216231, -0.0015855737, -0.07159101, 0.017206058, -0.03629351, 0.0006044402, -0.009905051, -0.0063604475, 0.047458816, 0.060796935, -0.03831587, 0.03896383, 0.004013498, -0.00368245, 0.0005456762) * conv2d_4_7_texOff(vec2(-1, 0)); + result += mat4(0.013381251, -0.019870987, 0.001816649, 0.0032159826, 0.046583403, 0.016010368, 0.04558418, 0.09126212, -0.08221106, 0.021432815, -0.06537228, 0.039261196, -0.09796458, -0.044002287, -0.03584487, 0.05221627) * conv2d_4_7_texOff(vec2(0, 0)); + result += mat4(0.0025257268, 0.08912279, 0.023837985, 0.05109022, -0.014181339, 0.11643579, 0.05657035, -0.0036089602, -0.03905755, -0.0020175488, -0.024895981, -0.066495374, 0.016634416, -0.055728074, 0.028897628, 0.08022391) * conv2d_4_7_texOff(vec2(1, 0)); + result += mat4(-0.012122979, 0.09027543, -0.11063971, -0.0688278, 0.066470414, -0.10041762, 0.00758738, -0.0038627386, 0.046701357, -0.020673564, -0.049272146, 0.09680054, -0.092373244, -0.023883158, 0.003201264, -0.046225056) * conv2d_4_7_texOff(vec2(-1, 1)); + result += mat4(0.047507603, 0.008979663, 0.0013644601, -0.0057975333, 0.058099743, -0.008679818, -0.033468194, 0.053813186, 0.024364926, -0.027605077, 0.02547298, -0.052969124, -0.1460051, -0.011891173, 0.03469561, 0.007889793) * conv2d_4_7_texOff(vec2(0, 1)); + result += mat4(-0.033015363, -0.11552436, 0.0040777503, -0.063891076, 0.07173587, 0.032051582, -0.009515369, -0.08030738, 0.008957073, 0.08723341, -0.027837517, -0.00034971058, -0.033547692, -0.007499568, -0.03789354, 0.0018512947) * conv2d_4_7_texOff(vec2(1, 1)); + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-5) +//!HOOK LUMA +//!BIND conv2d_4_0 +//!BIND conv2d_4_1 +//!BIND conv2d_4_2 +//!BIND conv2d_4_3 +//!BIND conv2d_4_4 +//!BIND conv2d_4_5 +//!BIND conv2d_4_6 +//!BIND conv2d_4_7 +//!SAVE conv2d_5_3 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0017613086, -0.0024319342, -0.0029362098, 0.0037423957); + result += mat4(-0.036000602, -0.037823748, 0.16777639, 0.07794605, -0.017690087, 0.030180806, 0.025582185, 0.0030437312, 0.06305856, -0.05416784, -0.073864736, -0.036070276, 0.08900903, -0.0063880454, 0.014419305, 0.012085734) * conv2d_4_0_texOff(vec2(-1, -1)); + result += mat4(0.09117312, -0.022141568, -0.108488575, 0.010836079, 0.020309122, -0.010712723, 0.052850433, -0.036709912, -0.05591846, 0.07655707, -0.013380492, -0.028264254, 0.1479253, 0.002820608, 0.07320248, 0.089114934) * conv2d_4_0_texOff(vec2(0, -1)); + result += mat4(-0.0156406, 0.008234283, 0.05320733, 0.01505077, 0.027013592, 0.051292334, 0.12952974, 0.07272874, 0.10825145, -0.015367599, 0.026509183, 0.044663068, 0.04130046, -0.105353564, -0.010750262, 0.025027033) * conv2d_4_0_texOff(vec2(1, -1)); + result += mat4(-0.124182194, -0.029043572, -0.064687, -0.036371134, 0.020183805, 0.056465, -0.019294105, 0.07009604, -0.039150715, 0.06509401, -0.065881394, -0.02346156, -0.07094162, -0.07011096, 0.12269316, 0.038362905) * conv2d_4_0_texOff(vec2(-1, 0)); + result += mat4(0.057893157, 0.10912755, -0.047239948, -0.012169134, 0.078510866, -0.0041505126, -0.016007403, -0.090505004, 0.2493098, 0.06345563, -0.016614793, 0.04492815, 0.0739874, -0.009338281, 0.067718215, 0.027407842) * conv2d_4_0_texOff(vec2(0, 0)); + result += mat4(0.07226816, 0.07274554, -0.103892565, 0.05399303, -0.05410265, -0.12235421, 0.063110374, 0.046830583, -0.038522802, -0.053580105, 0.008707605, 0.054677133, 0.060661845, 0.04729212, 0.09041973, -0.006795397) * conv2d_4_0_texOff(vec2(1, 0)); + result += mat4(-0.008313445, 0.026430896, -0.11319171, -0.1263185, 0.022175211, -0.012487943, 0.08881528, -0.0848634, 0.13372624, -0.038842387, 0.07925938, -0.027185164, -0.081415854, -0.067122705, -0.017924769, 0.07887637) * conv2d_4_0_texOff(vec2(-1, 1)); + result += mat4(0.008379069, 0.04469998, 0.123314135, -0.035808988, 0.068679325, 0.060830686, 0.03903907, 0.049547087, -0.12797257, 0.030828891, -0.06418715, -0.054934166, 0.08102984, 0.07145958, 0.038406458, 0.065131515) * conv2d_4_0_texOff(vec2(0, 1)); + result += mat4(-0.04937767, 0.0037768926, -0.09130315, -0.028172383, -0.041032657, 0.03563707, -0.046686843, -0.019476114, 0.10491148, -0.0912838, -0.044145692, 0.02071232, 0.0075066825, -0.058285188, -0.077958785, -0.0078094383) * conv2d_4_0_texOff(vec2(1, 1)); + result += mat4(0.042391498, -0.028626768, -0.11210982, 0.049385175, -0.020409524, 0.08095884, 0.008758299, 0.016444433, -0.11246114, -0.03315087, 0.04672355, 0.101324506, -0.1106985, -0.021783477, -0.14916463, -0.08536624) * conv2d_4_1_texOff(vec2(-1, -1)); + result += mat4(0.016578166, -0.039717324, -0.09451765, -0.006584274, 0.030437807, 0.021798512, 0.015055197, 0.056929473, 0.0023081538, 0.013706884, 0.026030026, -0.13704543, 0.056947157, -0.017714277, -0.029686462, -0.046013154) * conv2d_4_1_texOff(vec2(0, -1)); + result += mat4(0.065231904, 0.055704933, 0.019491794, 0.050373316, -0.034011465, 0.057377573, -0.039026417, 0.07503233, -0.10455135, -0.11551442, -0.17918006, 0.004299261, -0.07987467, 0.06762225, -0.032869983, 0.08588431) * conv2d_4_1_texOff(vec2(1, -1)); + result += mat4(0.03530026, 0.08076612, 0.07774502, 0.04528379, -0.10962536, 0.031120852, 0.15028003, 0.07609553, -0.0062005245, -0.08515753, 0.010057312, -0.06726595, 0.06716575, 0.036640827, 0.09350395, -0.040030967) * conv2d_4_1_texOff(vec2(-1, 0)); + result += mat4(-0.019202545, 0.05267398, 0.078373455, 0.012130524, 0.051464994, 0.08416077, 0.01375484, 0.081588134, 0.023901928, 0.09657904, 0.04060202, -0.042797256, 0.14780308, -0.027867693, 0.16087438, 0.12718712) * conv2d_4_1_texOff(vec2(0, 0)); + result += mat4(0.0052930824, -0.025154877, 0.05821316, 0.020903273, -0.07350783, -0.059122276, 0.032783058, 0.081576414, -0.044305433, 0.069570236, 0.030828852, -0.02402621, 0.036543787, -0.07516295, 0.040621735, 0.04446774) * conv2d_4_1_texOff(vec2(1, 0)); + result += mat4(-0.036545217, -0.027460787, 0.13256805, -0.059281908, 0.021271763, -0.05077478, -0.042376347, 0.04045913, 0.0020184098, -0.050282557, -0.10829436, -0.036185082, -0.038534787, -0.052000783, 0.017104661, 0.09607561) * conv2d_4_1_texOff(vec2(-1, 1)); + result += mat4(-0.0027188295, -0.10393857, -0.10877403, -0.024870066, 0.015319986, -0.018172089, -0.011253502, -0.07798643, -0.06353567, -0.011869263, 0.015325047, 0.03244264, -0.10201312, -0.03634063, -0.17867276, 0.09506326) * conv2d_4_1_texOff(vec2(0, 1)); + result += mat4(0.01083894, 0.027866788, 0.13692245, -0.015394579, 0.13286242, -0.059648983, -0.08089544, -0.028205149, 0.08888589, 0.07870598, 0.050281845, 0.0075859474, -0.01936014, -0.0925616, 0.10609262, -0.029089632) * conv2d_4_1_texOff(vec2(1, 1)); + result += mat4(0.036620513, -0.0018529139, -0.021656832, -0.020992976, -0.021988763, 0.13279542, -0.08883639, -0.07280615, 0.10146801, 0.104726285, 0.09376208, -0.023024464, -0.08265571, 0.13742386, 0.12765418, -0.068946205) * conv2d_4_2_texOff(vec2(-1, -1)); + result += mat4(-0.10401559, 0.05271156, -0.06973433, 0.00091517164, -0.0034155364, 0.15443623, 0.12098039, 0.053827062, -0.06751803, 0.050051987, -0.10414383, -0.076760985, -0.033481095, 0.069282226, 0.05972286, -0.091327585) * conv2d_4_2_texOff(vec2(0, -1)); + result += mat4(-0.042663466, -0.06925397, 0.005298862, -0.053635545, -0.009549727, 0.06183063, 0.010140756, -0.0020029906, 0.059177592, -0.008398113, -0.061660517, 0.02109336, -0.042907692, 0.0859794, -0.0023400285, 0.047540907) * conv2d_4_2_texOff(vec2(1, -1)); + result += mat4(-0.05396156, -0.01982813, -0.045648746, -0.051637508, -0.030149043, 0.035508245, -0.04765243, 0.12815244, -0.049369846, 0.035737626, 0.14013146, 0.09414744, 0.06500794, -0.07267633, -0.00093158707, 0.03999752) * conv2d_4_2_texOff(vec2(-1, 0)); + result += mat4(0.049016383, 0.0276896, 0.039981723, 0.018179597, -0.034940477, 0.02839076, 0.0448978, 0.088333614, -0.017327432, 0.05934381, 0.061924603, 0.055710144, 0.061429597, 0.048369214, 0.12241495, 0.06836473) * conv2d_4_2_texOff(vec2(0, 0)); + result += mat4(-0.10017266, -0.17649214, 0.09567704, 0.04972211, 0.082072385, -0.10490766, -0.0046936446, -0.04793239, -0.032809574, 0.027701877, 0.064111054, 0.040856265, 0.0044988426, 0.049643084, -0.044921882, -0.0024685326) * conv2d_4_2_texOff(vec2(1, 0)); + result += mat4(0.11304116, 0.0034326387, 0.04755742, 0.02833731, -0.026833793, -0.029331012, 0.10175306, -0.024066718, -0.004964159, -0.077044696, -0.12172133, 0.08059302, -0.103056155, 0.0018529574, -0.042895533, 0.003823114) * conv2d_4_2_texOff(vec2(-1, 1)); + result += mat4(0.020885516, -0.07462676, 0.0047877105, -0.039207365, -0.0309694, -0.044636734, 0.039664764, -0.026153672, -0.076280825, -0.030939968, 0.018678766, 0.040409204, 0.03419946, 0.037713982, -0.0583425, -0.015065359) * conv2d_4_2_texOff(vec2(0, 1)); + result += mat4(-0.14549279, -0.06791211, -0.1770696, 0.038749687, -0.054223865, -0.021147845, 0.012591616, -0.018768826, -0.032941144, -0.014463109, 0.092227146, -0.06604266, -0.0043435777, -0.057702553, 0.13778175, -0.0164771) * conv2d_4_2_texOff(vec2(1, 1)); + result += mat4(-0.118711, -0.047599107, -0.098155335, 0.081973016, -0.009596478, -0.051940598, -0.028494876, 0.086165935, -0.09890816, 0.050293356, 0.10456731, -0.045442455, -0.10367942, -0.043352745, -0.039574947, 0.02673349) * conv2d_4_3_texOff(vec2(-1, -1)); + result += mat4(-0.032310702, 0.084028535, 0.12998867, -0.061228268, -0.017408738, -0.059676535, 0.0060468167, 0.005646932, -0.050648544, 0.0005480587, 0.13330612, 0.014065177, -0.103952385, 0.077267, 0.03519149, 0.07043348) * conv2d_4_3_texOff(vec2(0, -1)); + result += mat4(-0.008209243, 0.014553691, -0.15702403, -0.03066787, 0.016537275, 0.010603292, -0.04793803, -0.030104209, 0.03763806, 0.026083006, 0.050731905, 0.009948637, -0.004036405, 0.04568575, 0.05264295, 0.0778683) * conv2d_4_3_texOff(vec2(1, -1)); + result += mat4(0.058437243, 0.036731135, -0.06434771, 0.08540853, -0.08690641, 0.03308917, 0.02049561, -0.011834622, -0.12598392, 0.08403818, 0.025367405, 0.0010990554, -0.035994217, 0.050034136, 0.0063770046, 0.11458951) * conv2d_4_3_texOff(vec2(-1, 0)); + result += mat4(0.047024038, 0.044204306, 0.16524455, -0.03345119, 0.008851951, -0.030764882, -0.054661863, -0.046915438, -0.061522588, -0.056024857, 0.035909235, 0.05540227, 0.043975458, -0.08210378, 0.06894986, 0.0846456) * conv2d_4_3_texOff(vec2(0, 0)); + result += mat4(0.04584543, -0.0043820003, 0.006328829, 0.13771388, -0.03345026, 0.057594433, 0.026661443, 0.05895439, 0.02961253, 0.09100988, 0.098876365, -0.046469048, -0.030532466, 0.040048048, -0.022055523, 0.056243706) * conv2d_4_3_texOff(vec2(1, 0)); + result += mat4(0.052003782, -0.036517605, 0.028018538, 0.034176033, -0.09226495, 0.10219103, 0.022295931, -0.10599235, -0.01703086, -0.039944515, 0.17517655, 0.039029054, 0.04047694, 0.03357481, -0.06224263, -0.03226444) * conv2d_4_3_texOff(vec2(-1, 1)); + result += mat4(-0.122058466, -0.047516547, -0.31620622, -0.0012448342, 0.05218182, 0.018576702, -0.103939265, -0.12380162, -0.023030777, 0.016797628, 0.13267952, 0.02594905, 0.06518402, -0.009646533, -0.029753396, -0.024904892) * conv2d_4_3_texOff(vec2(0, 1)); + result += mat4(-0.01609975, -0.02379285, -0.0033584516, -0.028476944, -0.043121625, -0.041240178, 0.056727987, 0.014353757, -0.08643036, 0.030068647, 0.060015015, 0.021161549, 0.09360301, -0.04322264, -0.058295414, 0.018006915) * conv2d_4_3_texOff(vec2(1, 1)); + result += mat4(0.12997109, 0.03332104, 0.009328511, 0.0021343776, -0.21068858, 0.2710981, -0.3876669, -0.19076964, -0.012621942, -0.01108879, -0.06716199, 0.091378234, 0.026736017, -0.0765229, -0.086116545, -0.0067269355) * conv2d_4_4_texOff(vec2(-1, -1)); + result += mat4(0.05227814, -0.05405546, -0.023528446, 0.113132566, 0.010039802, -0.10214581, -0.03288424, -0.04129925, 0.19657156, 0.08869768, -0.1391831, 0.0706705, 0.060956985, 0.041343797, -0.17237648, -0.013915881) * conv2d_4_4_texOff(vec2(0, -1)); + result += mat4(0.11958145, -0.042463988, 0.016407209, -0.032949205, 0.055082902, -0.0748862, -0.06659595, 0.012248171, 0.02994111, 0.0120192645, -0.008658198, -0.084315196, 0.022483807, -0.08329188, 0.052492138, -0.06560844) * conv2d_4_4_texOff(vec2(1, -1)); + result += mat4(0.009779481, 0.06412103, -0.039461687, 0.023663538, -0.073944315, -0.03113135, -0.23090899, -0.23857819, 0.005923908, 8.870099e-05, 0.10416249, 0.09640666, -0.03276846, 0.024858812, -0.07427282, -0.11599301) * conv2d_4_4_texOff(vec2(-1, 0)); + result += mat4(-0.047897696, -0.044131815, 0.022946088, -0.054836016, -0.116598345, -0.115664795, 0.09784323, 0.15542844, 0.09902185, 0.06430543, -0.049431276, 0.06602897, 0.008011568, -0.005232116, 0.008016014, -0.0052137845) * conv2d_4_4_texOff(vec2(0, 0)); + result += mat4(-0.0837519, 0.05056989, -0.06276593, -0.03180973, -0.08497402, -0.06972383, 0.011077316, 0.023401845, -0.025286714, -0.043567054, -0.16953193, -0.06595381, 0.07363643, -0.07581859, 0.10054581, -0.033668384) * conv2d_4_4_texOff(vec2(1, 0)); + result += mat4(0.08070429, 0.08375177, 0.16000599, -0.053400174, -0.12230678, -0.21575743, -0.6871092, -0.42032254, -0.041713387, 0.06903494, -0.03301209, -0.0054746894, 0.025806166, 0.024036312, -0.044896863, 0.103360504) * conv2d_4_4_texOff(vec2(-1, 1)); + result += mat4(0.0049767764, -0.022343803, -0.023529787, 0.12800358, 0.051056903, -0.16017869, 0.040262144, -0.03706163, 0.041445464, 0.04931111, -0.09369833, 0.062382504, -0.015191966, 0.025063705, 0.108812176, -0.028616095) * conv2d_4_4_texOff(vec2(0, 1)); + result += mat4(-0.066211864, 0.005964483, 0.07130634, 0.054721944, 0.05864857, 0.022804266, 0.052223753, 0.048094966, -0.08606635, -0.009596746, -0.009271887, 0.05304261, -0.05306346, 0.009911752, 0.10007658, -0.057851154) * conv2d_4_4_texOff(vec2(1, 1)); + result += mat4(-0.012509768, 0.119446725, 0.003918158, 0.074885115, 0.093594894, 0.01715358, -0.080881655, 0.07016945, 0.16284382, -0.007872472, 0.040304936, -0.013938037, 0.024748137, 0.06210334, -0.07467421, -0.094965525) * conv2d_4_5_texOff(vec2(-1, -1)); + result += mat4(-0.05232734, -0.04215299, 0.015799293, 0.044090208, -0.09260826, 0.07644561, -0.02332845, -0.03831509, -0.038158134, -0.0033288407, -0.09984064, -0.06284334, 4.683745e-05, -0.054963186, -0.034785595, -0.00038775112) * conv2d_4_5_texOff(vec2(0, -1)); + result += mat4(0.11256507, -0.09127577, -0.010846974, -0.019348023, -0.0062036687, -0.024140242, -0.036223125, 0.008477035, -0.0535822, 0.056714825, 0.032129098, 0.021613488, 0.045079045, -0.05674658, -0.046510655, 0.027901521) * conv2d_4_5_texOff(vec2(1, -1)); + result += mat4(0.05488054, 0.07080329, 0.06299486, 0.0039603985, 0.017801495, -0.08250527, 0.011072122, 0.019071948, -0.05263669, -0.06754914, -0.042804316, -0.072258115, -0.108398765, -0.057692852, 0.13245642, -0.07862433) * conv2d_4_5_texOff(vec2(-1, 0)); + result += mat4(0.1071554, -0.023854187, -0.03523215, 0.026462404, 0.17346433, 0.025099557, 0.085306846, 0.050486, 0.12753077, -0.07280213, 0.011422694, 0.07932979, 0.017087804, 0.07667188, 0.017439054, 0.035692476) * conv2d_4_5_texOff(vec2(0, 0)); + result += mat4(-0.11586204, 0.041512474, 0.06706167, 0.06385678, -0.07938211, 0.06689715, 0.034798652, -0.010554927, -0.096468754, -0.020953806, 0.07565589, 0.06709923, 0.18257429, 0.016562948, -0.0070281164, 0.0572892) * conv2d_4_5_texOff(vec2(1, 0)); + result += mat4(0.053291783, -0.04306939, 0.058981303, 0.046742257, 0.009798728, 0.032749154, -0.04728416, -0.010692309, -0.14372951, 0.05883427, 0.1090519, -0.03674373, 0.0037054217, 0.030785535, 0.071925275, 0.061697785) * conv2d_4_5_texOff(vec2(-1, 1)); + result += mat4(-0.043786112, -0.043080118, -0.11961251, -0.06258902, 0.09472858, -0.009723684, -0.10173063, -0.0077656545, -0.22003505, -0.030549612, -0.12588297, -0.04079825, 0.005945655, -0.07612801, -0.02605068, -0.09058092) * conv2d_4_5_texOff(vec2(0, 1)); + result += mat4(0.07290869, 0.01939745, -0.11090164, -0.00064086256, 0.10684343, 0.15499128, -0.09544573, -0.020294474, -0.0020477176, -0.024702616, -0.0051160026, -0.047453087, 0.07588434, 0.013479417, 0.00021081849, 0.044213645) * conv2d_4_5_texOff(vec2(1, 1)); + result += mat4(0.06665839, 0.045806073, -0.0022956042, -0.0015501076, -0.16479066, -0.043105934, -0.028612781, -0.021004826, 0.03131812, -0.043345444, -0.020649571, 0.006779071, -0.036023792, -0.01562368, 0.006615064, 0.057423286) * conv2d_4_6_texOff(vec2(-1, -1)); + result += mat4(-0.13137902, 0.075307764, 0.04551353, 0.06316783, -0.06274204, -0.051239155, -0.07654647, -0.049102083, -0.08300443, 0.03571166, -0.061142012, -0.033341877, 0.0028726854, -0.040008552, 0.0025314682, 0.070313774) * conv2d_4_6_texOff(vec2(0, -1)); + result += mat4(-0.047806777, -0.041707493, 0.07416628, -0.01051197, -0.031633176, 0.06288355, 0.08592299, -0.039384175, 0.095937766, -0.03887551, -0.056598995, -0.020568563, 0.020470547, 0.020498365, 0.063905194, -0.01744363) * conv2d_4_6_texOff(vec2(1, -1)); + result += mat4(-0.052012283, 0.020086344, 0.007820762, 0.11175241, -0.025390545, -0.015955107, -0.11037034, 0.0651637, -0.111639395, 0.054169014, -0.07382395, 0.047940407, 0.08104498, 0.065603256, 0.012727603, 0.10084408) * conv2d_4_6_texOff(vec2(-1, 0)); + result += mat4(-0.019862412, 0.006208759, -0.0129542, 0.09171513, -0.056656893, 0.10487124, -0.050117087, 0.060332406, -0.14625072, -0.10167043, 0.10663746, 0.039414596, 0.009029185, 0.0606408, -0.04030277, 0.059424903) * conv2d_4_6_texOff(vec2(0, 0)); + result += mat4(-0.08363838, -0.017744185, -0.030702569, -0.07737701, 0.03782848, -0.062303778, 0.004386348, 0.094444446, 0.028231349, 0.02328529, 0.06046744, 0.048421964, 0.011645561, -0.033600926, 0.04429172, 0.0071557905) * conv2d_4_6_texOff(vec2(1, 0)); + result += mat4(0.09115676, -0.11432407, 0.028116653, 0.09615582, -0.013933963, 0.057633795, -0.14617987, -0.036102146, -0.0040343828, 0.05497614, 0.081051, -0.07132728, 0.0053688604, -0.0039012944, -0.03338293, 0.069456525) * conv2d_4_6_texOff(vec2(-1, 1)); + result += mat4(-0.019193074, 0.03254533, -0.040607043, 0.044933718, -0.11634429, -0.025305334, -0.008579062, -0.031093795, -0.0029694478, 0.020141914, -0.12891611, 0.009859188, -0.06892454, 0.0015814818, 0.010008736, -0.066661015) * conv2d_4_6_texOff(vec2(0, 1)); + result += mat4(0.008231917, -0.094318, 0.101721786, -0.0030476335, -0.04802703, 0.07253479, -0.079729445, -0.03349141, -0.020410039, 0.07052038, -0.022367954, -0.07545052, 0.09427052, -0.08718343, 0.0144163435, -0.069395386) * conv2d_4_6_texOff(vec2(1, 1)); + result += mat4(-0.008406571, -0.074351184, 0.0706633, 0.015958311, 0.102927215, -0.03199462, 0.033949323, 0.055836122, 0.062148135, 0.072088905, -0.06893412, 0.0090462575, 0.04865369, -0.05100503, -0.049118716, -0.013147285) * conv2d_4_7_texOff(vec2(-1, -1)); + result += mat4(0.0042784386, -0.109348014, -0.11314999, -0.009848224, 0.023758953, 0.016952615, -0.050467532, -0.03391089, 0.00035144325, 0.07260847, 0.1379512, 0.10148987, -0.047375027, -0.053306386, 0.029230643, -0.089239575) * conv2d_4_7_texOff(vec2(0, -1)); + result += mat4(0.12380575, 0.0637876, 0.016138121, -0.08146227, 0.00794786, -0.0007962248, -0.10939341, 0.05495535, 0.08498182, 0.01892887, -0.04443121, -0.029546011, 0.037764616, 0.054276705, -0.11694712, 0.041959465) * conv2d_4_7_texOff(vec2(1, -1)); + result += mat4(0.007923892, 0.06998669, 0.07218718, 0.06540203, -0.18807384, -0.00552082, 0.02814993, 0.0059046457, -0.013277704, -0.03803994, -0.05539728, 0.0539889, 0.07224701, -0.06469036, -0.053362194, 0.05921536) * conv2d_4_7_texOff(vec2(-1, 0)); + result += mat4(-0.03105752, 0.076835446, -0.025786454, 0.009623611, -0.11670827, -0.071954526, 0.008332799, 0.0396725, 0.034768764, -0.11360498, 0.13640645, 0.04687083, -0.0012390785, -0.11939839, 0.027137829, -0.00970134) * conv2d_4_7_texOff(vec2(0, 0)); + result += mat4(-0.04841872, 0.021217145, 0.05145121, 0.03994496, -0.032393888, -0.06502012, -0.059177358, -0.01640223, -0.045268063, -0.06441951, 0.06776755, 0.025740163, 0.021089643, -0.07755927, -0.13013749, -0.046982903) * conv2d_4_7_texOff(vec2(1, 0)); + result += mat4(0.033390768, -0.0676618, -0.075023755, 0.05762633, -0.21285714, -0.05938369, 0.039664563, -0.0321216, -0.13607958, 0.054770358, 0.0544155, -0.06507767, 0.029459499, 0.056755986, 0.026232066, 0.09220036) * conv2d_4_7_texOff(vec2(-1, 1)); + result += mat4(0.065403625, 0.0895879, 0.11050111, 0.064251795, -0.056979794, 0.052189182, -0.023275198, -0.048566677, 0.05251338, 0.010070447, 0.08343461, -0.015657213, 0.0016147365, 0.0235946, 0.012712837, 0.07883242) * conv2d_4_7_texOff(vec2(0, 1)); + result += mat4(-0.12816718, -0.07241791, 0.027532237, -0.04464096, -0.07181658, -0.042930212, 0.07982205, -0.036657248, 0.027388737, -0.029955769, -0.002831009, -0.019132406, 0.02257189, -0.05071144, -0.07465178, 0.03944232) * conv2d_4_7_texOff(vec2(1, 1)); + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-5) +//!HOOK LUMA +//!BIND conv2d_4_0 +//!BIND conv2d_4_1 +//!BIND conv2d_4_2 +//!BIND conv2d_4_3 +//!BIND conv2d_4_4 +//!BIND conv2d_4_5 +//!BIND conv2d_4_6 +//!BIND conv2d_4_7 +//!SAVE conv2d_5_4 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.005729667, -0.00043015095, -0.0010953381, 0.004356304); + result += mat4(-0.15276086, 0.07942247, 0.08949564, 0.060723398, -0.03441924, -0.06541231, 0.050393626, -0.08642525, 0.11145862, 0.088879526, 0.018257165, 0.06954197, 0.07154797, 0.07028931, -0.026106048, 0.0588475) * conv2d_4_0_texOff(vec2(-1, -1)); + result += mat4(0.005026405, 0.11653151, -0.14089017, -0.028572645, -0.006475202, 0.020306062, -0.0235654, 0.0027518137, -0.22195865, -0.11632897, -0.024510477, 0.033127557, 0.042736404, -0.0013703869, 0.059399374, 0.060709834) * conv2d_4_0_texOff(vec2(0, -1)); + result += mat4(-0.057378605, -0.0138775, -0.15011922, 0.0032812147, 0.054151535, 0.0733718, -0.048461176, -0.023435675, 0.07190814, 0.03326214, -0.048262995, 0.009591243, -0.18676828, 0.060517266, -0.04107985, 0.106425256) * conv2d_4_0_texOff(vec2(1, -1)); + result += mat4(0.13024789, -0.076708704, -0.07840211, 0.07365921, -0.07155807, 0.020250402, -0.012745429, 0.077429436, -0.04208895, -0.09781345, 0.06731239, 0.06464467, 0.0708276, -0.00045760235, -0.0015747235, -0.00091934786) * conv2d_4_0_texOff(vec2(-1, 0)); + result += mat4(-0.03348843, 0.03942212, 0.14521079, 0.11393092, -0.17944722, 0.014515748, 0.022040937, -0.080193296, -0.060324617, 0.113738626, -0.038194582, -0.04972042, 0.05779431, 0.10828045, 0.07306861, 0.062288594) * conv2d_4_0_texOff(vec2(0, 0)); + result += mat4(0.022878485, 0.03055577, 0.10178619, 0.047333434, 0.08782161, -0.043591354, -0.007269692, -0.031669308, 0.11117155, -0.12283576, -0.2089983, 0.028255768, -0.091471866, 0.022622947, -0.06298962, 0.1067137) * conv2d_4_0_texOff(vec2(1, 0)); + result += mat4(0.09499758, 0.11519524, 0.033155248, 0.04453079, 0.13212462, 0.016532045, -0.0584856, 0.023024704, -0.04678811, -0.025359584, 0.101013616, 0.030604266, 0.09925986, 0.029888682, 0.021780664, 0.015429663) * conv2d_4_0_texOff(vec2(-1, 1)); + result += mat4(0.015907485, 0.1313383, -0.030429944, -0.081694834, -0.23029754, 0.13872114, -0.046237152, -0.016141376, -0.06931419, -0.09042627, -0.04878373, 0.019912533, -0.04481489, 0.02682206, -0.08646149, 0.053053897) * conv2d_4_0_texOff(vec2(0, 1)); + result += mat4(-0.009033072, -0.055581715, -0.046858713, 0.022889817, 0.02631145, -0.012890856, 0.08130097, -0.029187188, 0.1359235, -0.0226578, -0.13223678, 0.064480625, -0.15671968, 0.03455646, 0.09110495, -0.013308984) * conv2d_4_0_texOff(vec2(1, 1)); + result += mat4(-0.010147408, -0.00955194, -0.011160685, 0.0718533, 0.016525019, -0.08055419, -0.06803433, -0.06139342, 0.03567241, 0.016920503, 0.10587896, 0.003260908, 0.032826878, -0.062269785, -0.023602488, 0.039569803) * conv2d_4_1_texOff(vec2(-1, -1)); + result += mat4(0.09801564, -0.033141207, -0.060552098, -0.040707644, -0.0071775536, -0.04584435, -0.03633291, 0.036216244, -0.023949813, -0.17108808, 0.14008313, -0.052827213, -0.063736506, 0.0782623, 0.07308105, 0.11559698) * conv2d_4_1_texOff(vec2(0, -1)); + result += mat4(-0.04790598, -0.12482163, -0.003912156, -0.019552933, -0.031093288, 0.11858681, 0.044762284, 0.07580456, 0.013082798, 0.030806199, 0.009720568, -0.07372781, 0.09248263, -0.056033745, -0.008640081, 0.009092144) * conv2d_4_1_texOff(vec2(1, -1)); + result += mat4(-0.05964495, -0.024564356, 0.06459252, 0.074008055, 0.0100322915, -0.048554912, 0.054766957, -0.072962984, -0.09905735, 0.058794998, -0.018094044, 0.047257494, -0.064259075, 0.14695126, -0.035673972, -0.012317881) * conv2d_4_1_texOff(vec2(-1, 0)); + result += mat4(0.021464238, -0.061363515, -0.038697876, -0.010907026, 0.16232945, -0.04990725, -0.02098382, -0.049655035, -0.098705016, 0.0500905, 0.02425294, 0.06569846, 0.090533, 0.019491682, -0.1408014, -0.06416461) * conv2d_4_1_texOff(vec2(0, 0)); + result += mat4(0.0012226802, -0.039476793, -0.09757135, -0.04347165, -0.082003914, -0.04369602, -0.05509864, -0.01316938, -0.13386135, -0.02617436, 0.067006804, -0.099349536, 0.039151337, 0.06267166, 0.07167059, -0.022206074) * conv2d_4_1_texOff(vec2(1, 0)); + result += mat4(0.0116554005, 0.048201796, -0.0065205568, -0.008769362, -0.05728953, 0.07054931, -0.02671859, -0.0049819634, -0.018486373, -0.0031043258, 0.08960589, 0.040662147, 0.04005452, 0.02621686, 0.030639771, 0.016957518) * conv2d_4_1_texOff(vec2(-1, 1)); + result += mat4(0.052340694, -0.034414288, 0.003912106, 0.08461106, -0.07193677, 0.011825717, 0.030764123, -0.03207337, -0.06731762, -0.053540014, 0.055754326, -0.018355504, 0.06031372, -0.15168211, 0.16209218, -0.0616059) * conv2d_4_1_texOff(vec2(0, 1)); + result += mat4(0.016939742, 0.20518406, 0.08184577, -0.024788452, -0.1032094, 0.09305887, 0.064178586, 0.05960907, -0.06474806, 0.06440959, -0.09196042, 0.051764697, -0.11254926, 0.04317631, 0.03838804, -0.02248951) * conv2d_4_1_texOff(vec2(1, 1)); + result += mat4(0.024302857, 0.07409582, -0.029698206, 0.040096655, -0.009171383, 0.081171945, -0.0024063515, -0.010989557, -0.054460574, -0.12828343, 0.018882442, -0.08690807, 0.1290004, -0.059028637, 0.022647155, -0.03027392) * conv2d_4_2_texOff(vec2(-1, -1)); + result += mat4(-0.050845224, -0.014301794, -0.030008787, 0.00055581756, -0.00598139, 0.09117337, 0.016426248, 0.059027582, 0.07764693, 0.032369945, -0.017508183, 0.032407463, 0.04229449, -0.07518329, 0.058699597, -0.1317516) * conv2d_4_2_texOff(vec2(0, -1)); + result += mat4(0.06060593, -0.039056446, -0.05247817, -0.07459926, 0.015900826, -0.16213873, 0.14802586, 0.06429327, 0.0082110055, 0.07924459, -0.07453781, 0.07902773, 0.12017322, -0.07580147, 0.051612508, 0.032185107) * conv2d_4_2_texOff(vec2(1, -1)); + result += mat4(-0.066059895, -0.04025388, -0.05282696, -0.03235045, 0.056835823, -0.12443671, 0.09742586, 0.007350654, -0.14137043, -0.0033674177, 0.031448912, 0.066387, 0.012324848, 0.04030191, 0.046613272, 0.09655096) * conv2d_4_2_texOff(vec2(-1, 0)); + result += mat4(-0.054316, 0.025040725, 0.024616253, 0.0035816606, 0.1425769, -0.17431596, -0.071508385, 0.11338813, 0.043339085, -0.057416964, -0.06242709, -0.06809269, 0.15621069, -0.067112654, 0.075692296, -0.017933125) * conv2d_4_2_texOff(vec2(0, 0)); + result += mat4(0.09824061, -0.09940557, -0.025247565, -0.05447916, -0.040346242, -0.042779442, -0.027595613, 0.07498018, -0.07251588, 0.022827012, -0.02794804, 0.022946227, -0.09222886, -0.075413905, 0.029927384, 0.059647102) * conv2d_4_2_texOff(vec2(1, 0)); + result += mat4(-0.085928105, -0.044445936, -0.017995883, 0.022882404, -0.09612574, 0.026006402, 0.062026344, 0.103529885, -0.02160401, 0.06789675, 0.055652786, 0.068733245, -0.053625405, -0.004913719, -0.05463631, 0.030637782) * conv2d_4_2_texOff(vec2(-1, 1)); + result += mat4(-0.07725539, 0.011168546, 0.0721605, 0.017479412, 0.07264609, -0.052678738, 0.12158343, 0.08621142, 0.045553073, -0.13805757, -0.057824325, 0.059658714, 0.0025661613, -0.089499645, 0.05399907, -0.017663164) * conv2d_4_2_texOff(vec2(0, 1)); + result += mat4(0.10022974, 0.06991932, 0.02422738, 0.03005907, -0.010116855, 0.1412066, -0.031008733, 0.010078963, 0.047911864, 0.0660007, 0.10212923, 0.061337784, -0.14674562, -0.016446926, -0.054135438, 0.10200884) * conv2d_4_2_texOff(vec2(1, 1)); + result += mat4(0.26560044, 0.031663053, -0.20135921, 0.05025343, 0.025922319, -0.012666282, -0.049217034, 0.07466987, 0.03316901, 0.03388405, -0.05912802, -0.035461273, 0.09629912, 0.040922865, -0.035643917, 0.05439306) * conv2d_4_3_texOff(vec2(-1, -1)); + result += mat4(-0.0011948658, -0.06893714, 0.2934369, 0.083842605, 0.07495769, 0.04300018, 0.052646328, 0.012415676, 0.07107138, -0.005641793, -0.030188303, 0.016436791, -0.08965078, 0.071375184, 0.024620086, -0.04359645) * conv2d_4_3_texOff(vec2(0, -1)); + result += mat4(0.15978824, 0.016959531, -0.010134735, 0.03673628, -0.049345005, 0.13034832, 0.11603381, -0.033327255, -0.09458413, -0.038487002, -0.009479298, -0.06535692, 0.035499875, 0.053092543, -0.01957895, 0.02571174) * conv2d_4_3_texOff(vec2(1, -1)); + result += mat4(-0.1208736, -0.072125874, 0.0023084849, -0.0122489, 0.1227515, -0.05691794, 0.0009971801, 0.07848346, -0.06845361, 0.040168926, -0.03385168, -0.01835864, 0.09036151, -0.06579815, -0.045637425, -0.06532325) * conv2d_4_3_texOff(vec2(-1, 0)); + result += mat4(-0.066456, 0.10226624, 0.13637118, -0.09023377, 0.019389976, -0.16513866, 0.06907256, 0.025455186, 0.14788458, -0.038267884, -0.001521367, 0.010565454, 0.09686046, -0.008004227, 0.13752733, -0.033453003) * conv2d_4_3_texOff(vec2(0, 0)); + result += mat4(-0.025601622, -0.031360477, -0.043491118, 0.042911857, 0.062351793, 0.0009315795, 0.026997741, 0.06996536, 0.07547439, -0.028036885, -0.053968027, 0.022248568, -0.0292104, -0.056626324, 0.08830907, -0.0022524858) * conv2d_4_3_texOff(vec2(1, 0)); + result += mat4(0.033317495, 0.05820478, -0.029650873, -0.037176825, -0.041937456, -0.11998004, 0.023693852, -0.07557817, -0.08290509, -0.1323981, -0.0074082734, -0.02141199, 0.039799023, 0.00079218333, -0.03513805, -0.017803619) * conv2d_4_3_texOff(vec2(-1, 1)); + result += mat4(0.0031029885, -0.14135988, -0.024678573, -0.07111628, -0.008681277, 0.025619801, 0.116571926, -0.0030642534, -0.02777975, -0.1020513, 0.073832184, 0.033814557, -0.07474817, -0.10208651, 0.08622235, -0.008058402) * conv2d_4_3_texOff(vec2(0, 1)); + result += mat4(0.03439631, 0.05143221, -0.037346072, 0.0077950405, -0.06565899, 0.070869364, 0.076090604, -0.0101007065, -0.018461643, -0.085405186, -0.06638971, -0.13494958, -0.12879355, 0.06952833, 0.042878397, -0.113126256) * conv2d_4_3_texOff(vec2(1, 1)); + result += mat4(-0.09224482, -0.021128787, 0.071939826, -0.07401876, 0.0023527911, 0.006287477, -0.17553833, -0.25153297, 0.045313757, 0.096807435, -0.014700843, -0.021120524, 0.0650906, 0.01405441, 0.09247923, -0.034825224) * conv2d_4_4_texOff(vec2(-1, -1)); + result += mat4(-0.091759086, -0.0005594017, 0.0104044005, -0.05654807, -0.05665822, -0.13929519, -0.10425655, 0.068973936, -0.008885661, 0.07481075, -0.011187838, 0.06576421, 0.018374803, -0.05541411, 0.08727593, 0.020974532) * conv2d_4_4_texOff(vec2(0, -1)); + result += mat4(-0.11530168, -0.020280622, -0.026175972, 0.03732831, 0.10225937, 0.22456875, 0.14049654, 0.026274906, -0.004232932, -0.018390182, 0.08847682, -0.011313296, 0.087917656, -0.12845074, -0.083291866, -0.036425516) * conv2d_4_4_texOff(vec2(1, -1)); + result += mat4(-0.03034102, 0.037752792, -0.0849504, 0.07600949, -0.33832178, -0.24722779, -0.064748704, -0.09867091, 0.057973128, 0.051411647, -0.0047788024, 0.03279676, -0.014350633, -0.05640388, 0.01779802, 0.048907388) * conv2d_4_4_texOff(vec2(-1, 0)); + result += mat4(-0.026665082, -0.082889624, -0.14053497, -0.07377635, -0.035816558, 0.070927925, -0.2140181, -0.0018264928, 0.117495485, -0.03639823, 0.0024644695, 0.087321825, -0.0647777, 0.105226696, -0.13331458, -0.009670903) * conv2d_4_4_texOff(vec2(0, 0)); + result += mat4(0.03723218, -0.13509557, 0.0036844176, -0.03697461, 0.1543366, 0.18289085, -0.0105581265, 0.09485181, -4.9585688e-05, 0.05558213, -0.03838746, 0.01686271, -0.04980424, 0.06810497, -0.018575102, 0.018456416) * conv2d_4_4_texOff(vec2(1, 0)); + result += mat4(-0.027532548, -0.12227583, 0.07930672, -0.09848031, 0.3098886, 0.1444079, 0.18386124, 0.39677224, -0.010361035, -0.037745964, -0.07495082, 0.0044296472, -0.049770445, -0.05165279, 0.09038633, 0.07141114) * conv2d_4_4_texOff(vec2(-1, 1)); + result += mat4(-0.13949496, -0.008566061, -0.08205957, 0.031357117, 0.13469215, -0.13984358, 0.089228414, -0.025021456, 0.04596939, 0.029453536, -0.084707245, 0.028911265, -0.00011989273, 0.0349822, -0.12578417, -0.009774023) * conv2d_4_4_texOff(vec2(0, 1)); + result += mat4(-0.07849095, -0.07741492, -0.03002424, 0.06732082, 0.05944881, 0.12135365, -0.02259724, 0.04714612, 0.05460093, 0.022376966, 0.0135290725, -0.0667747, -0.019559493, -0.045919087, -0.13714148, -0.08881304) * conv2d_4_4_texOff(vec2(1, 1)); + result += mat4(0.0071108616, -0.044272337, 0.043075882, 0.061518542, -0.009685276, 0.092627764, 0.0042523053, 0.10157931, 0.031074513, -0.014768812, 0.0073508946, -0.023623565, -0.04124181, 0.015749557, -0.031913456, 0.040790085) * conv2d_4_5_texOff(vec2(-1, -1)); + result += mat4(-0.0066527417, -0.014275495, 0.012243293, -0.046868186, 0.04227223, 0.049309988, 0.07550222, 0.054016285, 0.010526209, -0.0037023183, -0.0175928, -0.0035350015, -0.024291594, -0.022052381, 0.039084423, -0.017292228) * conv2d_4_5_texOff(vec2(0, -1)); + result += mat4(-0.04666573, 0.07674136, 0.06764189, -0.054534577, -0.004178027, 0.06047796, 0.04274057, 0.019577298, 0.1032146, 0.11486907, -0.00023910812, -0.049433347, -0.01957974, 0.030038215, -0.13647704, 0.09591481) * conv2d_4_5_texOff(vec2(1, -1)); + result += mat4(-0.10650419, -0.13152908, 0.017481212, 0.069082096, 0.06849655, -0.04418378, -0.18172541, 0.09158794, 0.001816908, -0.01681682, 0.044697706, 0.027827958, 0.020274742, -0.026012434, -0.13767888, -0.055619147) * conv2d_4_5_texOff(vec2(-1, 0)); + result += mat4(0.015952997, 0.041261725, -0.02097758, 0.020367438, -0.04182375, 0.16148467, -0.004533121, 0.085371606, 0.10339727, -0.03348668, -0.12091516, 0.05911952, -0.00050659216, 0.060502786, -0.02165692, 0.08820022) * conv2d_4_5_texOff(vec2(0, 0)); + result += mat4(-0.050576646, -0.024205435, -0.023890747, -0.051688273, 0.088676676, 0.030803435, 0.00071935344, 0.11350617, 0.045458864, -0.049081746, -0.03309615, -0.07268513, -0.0781544, 0.041887123, -0.01942566, -0.038644377) * conv2d_4_5_texOff(vec2(1, 0)); + result += mat4(-0.0029727172, -0.09847279, 0.065118454, 0.012071449, 0.14700973, 0.015935345, 0.0019750893, -0.12784183, 0.077751964, 0.044195373, 0.08000007, -0.051638376, 0.020539377, 0.10935899, 0.0117582325, -0.023965472) * conv2d_4_5_texOff(vec2(-1, 1)); + result += mat4(-0.06013374, 0.044091452, 0.0540461, -0.06048871, 0.06719454, 0.032586288, 0.10752697, -0.07717235, 0.036587283, -0.08609651, 0.023040904, -0.04157031, -0.04676754, 0.013908344, -0.051491734, -0.08774911) * conv2d_4_5_texOff(vec2(0, 1)); + result += mat4(-0.006453166, 0.01837697, 0.035457827, 0.06910021, 0.039456557, -0.09556679, 0.072082, -0.07585006, 0.020061055, -0.03220783, 0.0016222212, -0.06599003, -0.058381155, 0.015402644, 0.033919338, 0.006671906) * conv2d_4_5_texOff(vec2(1, 1)); + result += mat4(-0.026329804, -0.11787945, -0.14433403, -0.028325493, 0.0038718719, -0.004438229, 0.016020123, -0.036304336, 0.07748895, 0.030289326, -0.016000776, 0.06439678, -0.06850895, 0.08380779, -0.032107737, -0.025399344) * conv2d_4_6_texOff(vec2(-1, -1)); + result += mat4(0.07989146, 0.087534726, -0.015704682, -0.036360856, -0.0111169135, -0.07004655, -0.08041534, -0.050486613, 0.06307522, -0.0723888, -0.0034736248, 0.009431221, -0.004209616, 0.03946069, -0.10180017, 0.04242818) * conv2d_4_6_texOff(vec2(0, -1)); + result += mat4(-0.0068772044, -0.084776916, -0.11460974, -0.06211543, -0.06614107, 0.013523794, 0.017244153, -0.105507724, -0.06637307, 0.044764433, 0.07883045, -0.024397174, 0.06708219, 0.00073193345, -0.09528281, 0.072413824) * conv2d_4_6_texOff(vec2(1, -1)); + result += mat4(0.071702175, 0.017405277, 0.039091825, -0.042787787, 0.02887562, -0.0746178, 0.060413755, -0.018354865, 0.034426622, 0.0017597412, 0.068194315, 0.051880147, -0.16459014, 0.055218153, 0.032614153, 0.071607485) * conv2d_4_6_texOff(vec2(-1, 0)); + result += mat4(-0.064260855, 0.037946403, 0.027323404, 0.0085923765, -0.09446498, 0.040517848, 0.012871805, 0.060797207, -0.05814099, -0.0025833678, -0.092664786, -0.018908696, -0.045808636, 0.041072473, 0.0003853748, 0.054195333) * conv2d_4_6_texOff(vec2(0, 0)); + result += mat4(0.045041922, -0.056747135, -0.06080514, -0.06075835, -0.040175155, 0.027435724, -0.08339106, 0.067836516, -0.055786442, -0.069555804, -0.05811788, 0.06514331, 0.051969774, 0.040484328, 0.06698578, -0.07379746) * conv2d_4_6_texOff(vec2(1, 0)); + result += mat4(-0.0080373045, -0.008995164, 0.00862656, -0.04654012, -0.01982247, -0.028327946, -0.037276592, 0.028267154, -0.06269765, -0.06692516, -0.008892168, -0.033050194, -0.030733164, 0.006635923, 0.08469067, -0.060973648) * conv2d_4_6_texOff(vec2(-1, 1)); + result += mat4(0.118289135, 0.10679692, 0.07852804, 0.024875991, -0.11418788, 0.06024819, -0.038262744, 0.09025532, 0.007690451, -0.008838898, -0.008459807, -0.030193718, -0.013254385, 0.010988964, 0.05228417, 0.01248197) * conv2d_4_6_texOff(vec2(0, 1)); + result += mat4(-0.026113175, -0.030873947, -0.14510143, 0.041306227, 0.018426474, 0.07301034, -0.044981375, 0.0583777, 0.038143363, 0.044346407, 0.06558364, 0.07977226, 0.034478966, 0.025839774, 0.07721928, 0.0069526606) * conv2d_4_6_texOff(vec2(1, 1)); + result += mat4(0.08069714, 0.030557806, 0.033185333, -0.039709527, -0.0639105, 0.033712883, 0.052523438, -0.023390159, 0.0071062497, 0.023248162, 0.055216372, 0.07694176, -0.057320744, 0.037813235, -0.007192686, 0.028486153) * conv2d_4_7_texOff(vec2(-1, -1)); + result += mat4(0.020656617, 0.019642806, 0.03819627, -0.061501984, 0.019976595, 0.032238647, 0.054137085, -0.013583545, -0.09172206, -0.057965524, 0.0793928, -0.005399107, 0.041798618, 0.02632741, -0.009702918, 0.06410451) * conv2d_4_7_texOff(vec2(0, -1)); + result += mat4(0.023276938, 0.06282926, 0.036179554, -0.031947523, 0.068157196, 0.102732874, 0.06795135, 0.07659118, 0.049618267, 0.026132636, 0.047739174, -0.022480309, -0.16794501, -0.039987814, 0.018541813, -0.13723306) * conv2d_4_7_texOff(vec2(1, -1)); + result += mat4(-0.03153965, 0.06418949, 0.07010299, 0.012217677, -0.0012737584, 0.114024475, 0.033452008, 0.035898764, 0.031170713, -0.0072718714, -0.073373795, -0.017613433, 0.08405065, 0.024136925, 0.047195192, -0.04525122) * conv2d_4_7_texOff(vec2(-1, 0)); + result += mat4(-0.035501905, 0.071830206, 0.045389898, 0.0712507, 0.112877294, -0.09886606, -0.09240563, -0.004431149, 0.018183466, -0.07781847, -0.00012206444, 0.04857818, 0.070103236, 0.06843244, 0.07066874, 0.13304698) * conv2d_4_7_texOff(vec2(0, 0)); + result += mat4(0.18707158, -0.19681555, -0.10238186, 0.036809485, -0.062296044, 0.042448886, -0.10462396, -0.034118656, 0.069147564, 0.015194723, -0.05712557, -0.05250014, 0.04554017, -0.051171232, 0.04215276, 0.009924719) * conv2d_4_7_texOff(vec2(1, 0)); + result += mat4(-0.012634366, -0.010583368, -0.022111522, 0.10128474, -0.030730532, 0.11624675, -0.019607462, -0.06727664, -0.08025691, 0.040586017, -0.10331979, -0.026541883, -0.07862262, 6.794675e-05, 0.050930817, 0.018886376) * conv2d_4_7_texOff(vec2(-1, 1)); + result += mat4(0.0157523, 0.122716054, 0.040854633, 0.08611142, -0.10634104, -0.13981168, 0.008734246, 0.06181162, -0.067010246, 0.0070742457, 0.014529983, -0.07793163, 0.07963905, 0.04870616, 0.057613537, -0.031814568) * conv2d_4_7_texOff(vec2(0, 1)); + result += mat4(-0.024242401, -0.066150405, 0.010405965, -0.04685622, -0.110806555, 0.055420354, 0.07743684, -0.08208189, 0.09138679, -0.027320037, 0.066895984, 0.034334555, 0.026816929, 0.014385787, 0.038511187, -0.10814189) * conv2d_4_7_texOff(vec2(1, 1)); + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-5) +//!HOOK LUMA +//!BIND conv2d_4_0 +//!BIND conv2d_4_1 +//!BIND conv2d_4_2 +//!BIND conv2d_4_3 +//!BIND conv2d_4_4 +//!BIND conv2d_4_5 +//!BIND conv2d_4_6 +//!BIND conv2d_4_7 +//!SAVE conv2d_5_5 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0017306447, 0.0060327337, -0.0022298389, 0.0031541034); + result += mat4(0.0779621, 0.01536127, -0.047175165, 0.041168258, 0.002140598, -0.04618724, 0.054210987, -0.03160575, 0.021830423, 0.07292895, 0.082146674, -0.02358065, 0.05804837, 0.08463174, -0.009232058, 0.022486486) * conv2d_4_0_texOff(vec2(-1, -1)); + result += mat4(0.070273854, 0.14947739, -0.0675586, -0.012048586, 0.07340199, 0.03766187, 0.042533893, 0.0037730413, -0.06500994, 0.049070504, -0.010616047, -0.050461877, 0.040137984, -0.00550505, -0.064578556, 0.0830928) * conv2d_4_0_texOff(vec2(0, -1)); + result += mat4(-0.028175699, 0.059614383, -0.033094507, -0.00279947, 0.10462239, 0.01113528, -0.048738606, -0.07812485, 0.05824631, -0.08220235, 0.0101430705, -0.0305405, 0.005371137, 0.11372739, -0.0039675683, 0.09794083) * conv2d_4_0_texOff(vec2(1, -1)); + result += mat4(0.17925762, 0.118802406, -0.07123004, -0.07492189, -0.07000605, -0.016034951, 0.030278338, -0.020726241, -0.06355461, -0.042413287, -0.052669726, 0.0371886, -0.030052453, -0.013442666, -0.043814387, -0.0016035322) * conv2d_4_0_texOff(vec2(-1, 0)); + result += mat4(0.00028781328, 0.053626988, -0.033890627, 0.17674764, 0.016925823, 0.038739778, -0.06356103, -0.028692985, 0.06202256, 0.007969964, 0.08086207, -0.034778062, -0.064435475, 0.12650305, -0.120113716, -0.098852284) * conv2d_4_0_texOff(vec2(0, 0)); + result += mat4(-0.0072770384, -0.00016854692, 0.099797495, 0.01179523, -0.0150191905, 0.022586815, -0.10632031, 0.04600936, -0.08226981, -0.1677368, -0.17656596, -0.07162127, 0.014462061, -0.05012897, -0.04376294, -0.040439986) * conv2d_4_0_texOff(vec2(1, 0)); + result += mat4(0.060179196, -0.09734574, -0.078244425, 0.11795343, 0.15282823, -0.028496461, -0.011518804, -0.12965824, 0.04615459, -0.016258327, 0.007406922, -0.02729275, -0.05235998, 0.06531181, -0.108913265, 0.05496635) * conv2d_4_0_texOff(vec2(-1, 1)); + result += mat4(-0.045261145, -0.04736401, -0.06801038, -0.011141553, -0.079599574, 0.06962091, -0.022780033, -0.02688225, -0.072231084, 0.0217911, -0.059324563, 0.05381493, -0.04256582, -0.008749614, -0.007797762, 0.004014286) * conv2d_4_0_texOff(vec2(0, 1)); + result += mat4(0.042769108, -0.056839254, -0.04658188, 0.115779765, -0.07912371, -0.003828927, -0.0022034182, -0.051769055, 0.07014513, -0.0062569086, 0.032202426, -0.011193469, -0.08368336, -0.004466157, 0.08320837, 0.010802928) * conv2d_4_0_texOff(vec2(1, 1)); + result += mat4(-0.002462906, -0.04590783, 0.005349071, 0.008693994, 0.088178754, 0.08188545, -0.023176333, -0.01650924, 0.13102992, 0.09811313, -0.23026422, 0.12660424, -0.07046137, -0.07510859, 0.01754747, 0.05749553) * conv2d_4_1_texOff(vec2(-1, -1)); + result += mat4(-0.13373277, -0.08505133, -0.0437179, -0.04869346, 0.06706512, -0.00019667226, -0.008096593, 0.05557732, 0.027321737, 0.14314955, -0.09215052, -0.0018298684, 0.03607554, -0.040583905, -0.0360277, -0.002008698) * conv2d_4_1_texOff(vec2(0, -1)); + result += mat4(-0.1596371, 0.026941082, 0.18451004, 0.06304116, -0.018699368, -0.037605118, -0.011007398, 0.054544915, -0.061805993, -0.044472113, 0.036465794, -0.008696269, -0.049722485, -0.13531989, -0.025168546, -0.009798292) * conv2d_4_1_texOff(vec2(1, -1)); + result += mat4(0.008980498, 0.013560179, -0.014464112, 0.09771245, -0.004041593, 0.058573626, -0.052865434, -0.01789635, 0.026543198, 0.08361724, -0.05019104, -0.05306504, 0.08451783, 0.025990197, -0.054278534, 0.039406326) * conv2d_4_1_texOff(vec2(-1, 0)); + result += mat4(-0.013433673, 0.049675286, -0.10063251, -0.020524248, 0.061778303, 0.108679175, -0.081680425, 0.049368147, -0.14697108, 0.046346143, 0.10687618, 0.0021455162, -0.05677496, 0.16563354, 0.04049324, 0.005458321) * conv2d_4_1_texOff(vec2(0, 0)); + result += mat4(-0.01981306, 0.039214496, 0.10102177, -0.11383357, 0.073609166, -0.0025643876, -0.0032422778, 0.0061322157, -0.10923366, -0.053724814, -0.007325734, -0.078403875, -0.05698555, 0.07525162, 0.08427753, 0.023554493) * conv2d_4_1_texOff(vec2(1, 0)); + result += mat4(0.07541602, 0.050108094, -0.024828464, -0.06380831, 0.122870244, 0.0676643, -0.017075399, 0.00027681922, -0.041235365, 0.03162666, -0.03826376, -0.01270649, 0.054439172, -0.011557846, -0.051119473, -0.06079733) * conv2d_4_1_texOff(vec2(-1, 1)); + result += mat4(0.18362746, 0.024387639, -0.007630117, -0.0033050166, -0.013035549, -0.021314826, -0.037523817, 0.051148012, -0.0005250962, -0.09724327, 0.06142803, 0.02066537, 0.11565253, -0.059217427, -0.10316215, -0.13047965) * conv2d_4_1_texOff(vec2(0, 1)); + result += mat4(0.06431192, 0.020997828, 0.06421656, 0.01964167, -0.06519853, 0.031739417, -0.053174023, 0.13177866, -0.023959916, 0.054914422, -0.11095652, 0.06440282, -0.027932525, -0.14725117, 0.058942728, 0.07238957) * conv2d_4_1_texOff(vec2(1, 1)); + result += mat4(-0.07973752, -0.037661415, -0.04319023, -0.02837732, -0.08178102, -0.084248856, 0.13457455, 0.024419552, -0.0015452105, 0.09769809, -0.016582854, -0.1020824, 0.043775875, -0.035260033, 0.037702758, -0.10931838) * conv2d_4_2_texOff(vec2(-1, -1)); + result += mat4(-0.017561655, -0.14661475, -0.07931953, 0.0026581297, -0.009930784, -0.123802036, -0.022880742, 0.073521584, 0.12608594, 0.06599652, -0.10979369, 0.0815358, 0.095457755, -0.04619676, -0.0021090156, -0.10051218) * conv2d_4_2_texOff(vec2(0, -1)); + result += mat4(0.019543692, 0.10067554, 0.021451015, -0.06818215, -0.032337047, 0.09961236, -0.052969098, 0.05715959, -0.026237706, -0.057882488, 0.057454064, -0.03709484, -0.011675414, -0.008139157, 0.0056506107, -0.09386743) * conv2d_4_2_texOff(vec2(1, -1)); + result += mat4(-0.07085244, 0.0048988233, -0.03912786, -0.050521176, -0.034288276, -0.03806809, -0.0604984, 0.03575052, -0.16701838, 0.08174181, 0.049701747, -0.034729015, -0.07873251, 0.03461684, -0.07239493, 0.041049115) * conv2d_4_2_texOff(vec2(-1, 0)); + result += mat4(0.04017111, 0.08280612, -0.10069517, 0.02911196, 0.025262425, -0.11232385, 0.107558586, -0.1558097, -0.15674175, 0.036157724, -0.14379016, 0.052706953, 0.055144664, -0.12921119, 0.016961856, 0.01106781) * conv2d_4_2_texOff(vec2(0, 0)); + result += mat4(0.054125946, 0.035522882, 0.067325175, 0.017656974, 0.046125293, 0.025741585, -0.0110646505, 0.070099264, 0.011557113, 0.028005704, -0.012917508, 0.05248801, 0.036109686, -0.065919474, -0.031808753, 0.04149726) * conv2d_4_2_texOff(vec2(1, 0)); + result += mat4(0.0641761, -0.021224467, 0.013904854, 0.012978868, 0.004190863, 0.0803493, 0.0028404067, -0.08943835, -0.06209818, -0.029453188, -0.0075443243, 0.03336873, -0.023120241, -0.07474658, -0.06256821, 0.031392626) * conv2d_4_2_texOff(vec2(-1, 1)); + result += mat4(-0.039287515, 0.024596166, -0.013158201, -0.10148811, 0.031155685, -0.011289836, -0.10685981, 0.13217145, 0.0020512708, -0.020590395, 0.03450191, 0.08759107, -0.010088517, -0.022299154, 0.010409057, -0.043652758) * conv2d_4_2_texOff(vec2(0, 1)); + result += mat4(0.057384115, 0.12541312, 0.0064340685, -0.058727633, 0.08562972, -0.039810173, 0.0018311305, -0.012497067, -0.004726232, -0.035424393, -0.10605373, 0.07031661, 0.1003678, -0.033622067, 0.031004941, -0.054471813) * conv2d_4_2_texOff(vec2(1, 1)); + result += mat4(0.032814994, -0.0319134, 0.061905656, 0.032871146, 0.011961746, 0.064158015, -0.05410328, 0.037764654, -0.03705604, 0.08281587, -0.10619013, -0.08576226, -0.028889675, -0.021343421, 0.07023503, -0.045325413) * conv2d_4_3_texOff(vec2(-1, -1)); + result += mat4(-0.0030662417, -0.001639542, -0.0007526115, 0.05086073, 0.025654497, 0.12987456, 0.04812271, -0.11703812, 0.1401383, 0.1398525, 0.050060976, -0.071411066, -0.16117439, 0.03854568, 0.11475588, 0.08162513) * conv2d_4_3_texOff(vec2(0, -1)); + result += mat4(0.11990925, 0.07117268, 0.00043633246, -0.008882856, 0.101170436, 0.005612441, 0.023187265, -0.078265734, -0.13107418, -0.04826248, -0.12591498, -0.09422121, 0.0844473, -0.075841025, -0.06505128, -0.03293366) * conv2d_4_3_texOff(vec2(1, -1)); + result += mat4(0.1234443, -0.07402856, -0.06408613, 0.05737629, 0.16844283, -0.09842496, -0.13693526, 0.061410755, -0.0018198325, -0.036004826, -0.08433716, 0.039559014, -0.17046346, 0.00634429, 0.12378012, 0.076098986) * conv2d_4_3_texOff(vec2(-1, 0)); + result += mat4(-0.2405765, 0.13127317, 0.027907979, -0.099426925, -0.016249169, -0.033487435, 0.0085474495, 0.08336581, -0.09762277, -0.051063057, 0.06478362, 0.02040316, 0.017938962, -0.020328939, 0.081540614, -0.087827824) * conv2d_4_3_texOff(vec2(0, 0)); + result += mat4(-0.094056904, -0.009838468, -0.0043490557, 0.0017094524, 0.06741926, 0.0024339063, 0.015735542, -0.123994984, -0.11988387, -0.04580369, 0.1103105, -0.028754933, 0.07605843, 0.013540833, -0.021189343, -0.07099737) * conv2d_4_3_texOff(vec2(1, 0)); + result += mat4(0.049073692, -0.010656348, 0.09482933, -0.06855694, 0.03592184, -0.04436178, 0.017099334, -0.08736739, -0.0656723, 0.018077597, 0.014390992, -0.020512251, 0.06795961, 0.12254206, 0.09365566, -0.025878815) * conv2d_4_3_texOff(vec2(-1, 1)); + result += mat4(-0.021370169, 0.12081587, 0.10551917, -0.00916931, 0.021939933, 0.04362025, 0.07338432, -0.051085655, -0.03664957, -0.03731182, 0.1437212, 0.0845459, 0.1500117, -0.0060200463, 0.0983355, -0.053546105) * conv2d_4_3_texOff(vec2(0, 1)); + result += mat4(0.08434443, 0.048216186, 0.010695409, -0.0129559655, 0.049092717, -0.0042063794, -0.02166102, -0.0042350343, -0.009282294, 0.07962338, -0.011455967, -0.04874502, -0.1045136, 0.008505003, 0.008240262, 0.05012671) * conv2d_4_3_texOff(vec2(1, 1)); + result += mat4(-0.06198731, -0.17297053, 0.0566073, 0.0083608795, 0.079738736, -0.060610626, 0.32370192, -0.15390739, -0.081226274, 0.055517398, 0.014447199, 0.042327527, -0.027036957, -6.616861e-05, 0.1258272, -0.019983875) * conv2d_4_4_texOff(vec2(-1, -1)); + result += mat4(0.0943363, 0.0091257505, 0.040420543, -0.053603742, 0.1091791, -0.03632799, 0.070699655, 0.13188687, 0.07417018, -0.025805647, -0.06991185, -0.051758472, -0.008438183, -0.14027536, 0.006504588, 0.114173554) * conv2d_4_4_texOff(vec2(0, -1)); + result += mat4(-0.10633977, -0.023071501, 0.036757737, 0.0007309987, 0.040427748, -0.07289382, 0.06328789, 0.034328215, 0.061943185, -0.077135965, -0.032565374, 0.00062860054, -0.021979371, 0.012276076, -0.04740816, -0.028015785) * conv2d_4_4_texOff(vec2(1, -1)); + result += mat4(0.061437167, 0.014068996, -0.04822803, 0.09350242, 0.2183728, -0.15702839, 0.18488042, 0.026317243, -0.015471634, -0.03901568, -0.0089734215, -0.05156373, -0.08040948, -0.092209116, -0.05796151, 0.13361403) * conv2d_4_4_texOff(vec2(-1, 0)); + result += mat4(-0.10973411, -0.040426504, -0.16822734, 0.07784061, 0.0090193655, 0.07438083, -0.07422519, -0.203652, 0.056367654, -0.091466054, -0.0447998, 0.024001893, -0.053914655, -0.038668424, 0.08506684, 0.048659578) * conv2d_4_4_texOff(vec2(0, 0)); + result += mat4(-0.009043112, -0.09203883, 0.022184744, 0.004209845, 0.2038544, -0.045173984, 0.16159564, 0.10053371, 0.010582952, -0.063042484, 0.021237446, -0.011668296, -0.10806168, 0.011912546, 0.04330382, -0.024746463) * conv2d_4_4_texOff(vec2(1, 0)); + result += mat4(-0.06568668, -0.02833877, 0.09351021, 0.014710483, 0.04398727, 0.09462663, 0.0329519, 0.1297999, 0.0107340375, 0.07360955, -0.018970525, 0.008502602, -0.0920376, 0.056101557, 0.012929433, 0.024619853) * conv2d_4_4_texOff(vec2(-1, 1)); + result += mat4(-0.051254936, 0.062558636, -0.06807978, -0.006551413, -0.0076633673, 0.030309137, -0.106015384, -0.06831281, -0.030404948, 0.05926882, 0.026715932, -0.088497296, -0.054462984, -0.01227801, -0.010311083, 0.099016026) * conv2d_4_4_texOff(vec2(0, 1)); + result += mat4(0.015502542, 0.00537462, 0.02633326, -0.07737866, -0.00088330114, -0.018275209, 0.078361906, -0.0081867315, -0.13638946, 0.017618608, 0.11358515, -0.0010405321, 0.0740909, -0.002264918, -0.034063537, -0.060190443) * conv2d_4_4_texOff(vec2(1, 1)); + result += mat4(0.042629343, 0.0739209, 0.03912732, 0.11014554, 0.055922166, 0.019368846, 0.10011919, 0.0902217, 0.019149555, 0.034863546, 0.0122089675, 0.10900886, -0.041298833, -0.010738884, -0.0026870007, 0.015890738) * conv2d_4_5_texOff(vec2(-1, -1)); + result += mat4(0.037112057, -0.06629887, 0.03936836, 0.03291702, 0.059923112, -0.032785855, 0.048083927, 0.10904809, 0.1313641, -0.010315023, -0.15743072, -0.09744198, 0.024305899, -0.096249275, -0.07857612, -0.030135915) * conv2d_4_5_texOff(vec2(0, -1)); + result += mat4(-0.00054254057, -0.048981156, 0.03329021, -0.07434241, -0.046610177, -0.024303012, 0.026940435, 0.08039689, 0.09900339, 0.007865426, 0.06268535, -0.044049695, -0.0016689152, -0.03501175, 0.017373098, 0.0821292) * conv2d_4_5_texOff(vec2(1, -1)); + result += mat4(-0.04697447, -0.035812877, 0.005974538, 0.07529157, 0.010075567, -0.03600833, -0.09430383, -0.07090645, 0.023873143, 0.02131023, -0.008348957, -0.009980639, -0.09823689, -0.028571725, -0.07929444, -0.038788684) * conv2d_4_5_texOff(vec2(-1, 0)); + result += mat4(-0.08295026, -0.05034217, -0.08505914, 0.10723439, -0.06637907, -0.11842358, -0.08264352, -0.032185186, -0.073077515, 0.056683484, 0.02616744, -0.059737086, -0.077050865, -0.03369475, -0.007927693, -0.085438766) * conv2d_4_5_texOff(vec2(0, 0)); + result += mat4(-0.08007395, 0.039821204, -0.07772158, -0.12190979, 0.07662546, -0.11207811, -0.03946176, -0.039108325, 0.08615679, 0.0028678637, 0.124481335, -0.09508601, 0.035403047, 0.07397219, -0.011788012, 0.016682126) * conv2d_4_5_texOff(vec2(1, 0)); + result += mat4(0.042308416, 0.0073555936, 0.049677137, 0.04294831, 0.015123363, 0.05919064, 0.05501302, -0.06064241, -0.036070332, 0.0019987954, 0.08112024, 0.023841497, -0.035630755, 0.03368634, 0.10488934, -0.06922103) * conv2d_4_5_texOff(vec2(-1, 1)); + result += mat4(-0.031133208, -0.07856735, 0.0032979187, 0.09211448, -0.14899664, -0.07005015, 0.056828376, -0.13923635, -0.03500791, -0.043484457, 0.0498125, 0.05312686, -0.0049841725, 0.086314626, 0.051005997, -0.049838144) * conv2d_4_5_texOff(vec2(0, 1)); + result += mat4(-0.038326543, -0.03737498, -0.11749225, 0.030851739, -0.113373496, -0.027253302, 0.05312842, -0.026225764, -0.05876045, -0.06770775, 0.119837455, -0.00083785586, -0.06378732, -0.08688726, 0.039552215, 0.0143557945) * conv2d_4_5_texOff(vec2(1, 1)); + result += mat4(0.08427676, -0.046708833, -0.12518404, -0.06367922, -0.046853434, -0.0094480105, 0.12533869, -0.094604254, 0.09053903, 0.04590084, -0.13571335, 0.031874284, 0.03226618, 0.024006143, -0.026178446, -0.047451116) * conv2d_4_6_texOff(vec2(-1, -1)); + result += mat4(-0.027397946, -0.10847979, 0.017614635, -0.025857873, -0.093187384, -0.05926039, -0.05023872, -0.083624765, 0.06795984, 0.0027493646, 0.020749295, 0.09832049, -0.12141023, 0.08264644, -0.0016853685, -0.005181633) * conv2d_4_6_texOff(vec2(0, -1)); + result += mat4(0.12752809, -0.06449464, -0.11961217, -0.12949815, 0.070006624, 0.10275249, 0.07644897, -0.06041633, -0.0075578657, -0.12794329, 0.004964539, -0.014800492, 0.046865854, 0.0861416, 0.036998138, -0.034033883) * conv2d_4_6_texOff(vec2(1, -1)); + result += mat4(-0.15891719, -0.02853235, 0.04968209, -0.09101518, -0.07018328, -0.09677462, 0.05921311, 0.028864522, 0.010213871, 0.019289343, -0.03648265, -0.0016206665, -0.018794814, -0.022705803, 0.07537745, 0.02178366) * conv2d_4_6_texOff(vec2(-1, 0)); + result += mat4(0.098366104, 0.05888944, 0.09015378, -0.017318806, -0.058606993, 0.061028857, 0.07028235, 0.031091658, 0.12299722, -0.00017426712, -0.099248, 0.14091423, -0.052937515, 0.013624963, 0.103408664, 0.062198255) * conv2d_4_6_texOff(vec2(0, 0)); + result += mat4(-0.020709904, -0.013738247, 0.0053076423, 0.06071885, 0.06132362, 0.02062452, -0.04768658, 0.015030882, 0.031379007, -0.15768094, 0.09955006, -0.038208373, 0.007101915, 0.007270831, 0.00070979935, -0.06905829) * conv2d_4_6_texOff(vec2(1, 0)); + result += mat4(-0.015471099, 0.0514871, 0.1274458, -0.00962907, 0.047266364, -0.039184794, 0.074994564, 0.061783098, 0.048709303, -0.061110064, -0.105690666, 0.05638092, -0.060523592, 0.05493283, 0.029071826, 0.007579573) * conv2d_4_6_texOff(vec2(-1, 1)); + result += mat4(-0.009159793, -0.029544523, 0.046490125, 0.021924732, 0.0065859677, 0.012625673, -0.04738262, 0.052840993, 0.065721504, -0.039759643, -0.007013138, 0.009738096, -0.014571289, 0.027484687, 0.01607991, -0.0031033175) * conv2d_4_6_texOff(vec2(0, 1)); + result += mat4(0.021242077, -0.011926919, -0.11427048, -0.0024482156, 0.04143177, 0.12760398, 0.08341471, -0.008716751, -0.07365522, 0.053618357, -0.08960548, -0.010779268, -0.05312473, 0.07269615, 0.014392407, 0.047747936) * conv2d_4_6_texOff(vec2(1, 1)); + result += mat4(0.13658938, -0.0121027175, -0.15212831, -0.06805896, 0.0044576405, 0.056819245, 0.023641864, -0.029165141, -0.007019816, -0.10095858, 0.075852305, 0.041530125, 0.061919305, -0.012225218, -0.0067779715, -0.0026264193) * conv2d_4_7_texOff(vec2(-1, -1)); + result += mat4(0.1473576, 0.018526694, -0.04968155, 0.05507178, 0.110761136, 0.051657878, 0.06361484, -0.07440528, 0.002197135, -0.009395242, 0.13855386, 0.043868132, 0.048529003, 0.13694471, 0.0066404436, -0.06866) * conv2d_4_7_texOff(vec2(0, -1)); + result += mat4(0.007313507, 0.04864367, 0.028402617, -0.05134491, 0.047466293, -0.0067561474, -0.11933579, -0.06931217, -0.016606612, 0.050388865, -0.1549243, -0.040929038, -0.17532085, -0.06572199, 0.13368316, 0.029552922) * conv2d_4_7_texOff(vec2(1, -1)); + result += mat4(-0.0440264, 0.06244512, -0.017986642, 0.051101707, -0.049465153, -0.06626617, 0.053167023, 0.045974895, -0.051011413, 0.077131175, 0.044943135, -0.16913782, 0.011664235, -0.031492215, 0.011316658, -0.00582016) * conv2d_4_7_texOff(vec2(-1, 0)); + result += mat4(0.15815805, 0.0089472765, 0.0064645647, 0.033447668, -0.021514334, -0.12679036, 0.037935838, -0.060734592, -0.0764403, -0.1088427, 0.03165888, 0.008499531, 0.100371905, 0.038897533, 0.0072137997, 0.08171333) * conv2d_4_7_texOff(vec2(0, 0)); + result += mat4(0.024810903, 0.064940825, -0.03154588, 0.039987985, 0.063023165, -0.03570734, -0.08396416, 0.03196437, 0.048474986, -0.06172891, -0.056744628, 0.043531377, -0.100087896, -0.10345158, 0.09442366, -0.020917341) * conv2d_4_7_texOff(vec2(1, 0)); + result += mat4(0.048028313, 0.0141358245, -0.06323257, 0.029968219, -0.0027734619, -0.07782004, -0.093745686, -0.042267147, 0.0047365, 0.003464818, -0.039837938, 0.023058387, -0.14442062, 0.013682007, 0.058822587, 0.022545394) * conv2d_4_7_texOff(vec2(-1, 1)); + result += mat4(0.014406993, -0.010070059, 0.09844127, 0.06869167, -0.12847762, 0.032949094, 0.024468308, 0.05585862, 0.083468765, 0.0227877, -0.13058782, 0.058165018, -0.027615398, 0.080068186, 0.015689049, 0.0094376) * conv2d_4_7_texOff(vec2(0, 1)); + result += mat4(0.08207505, 0.011757704, -0.0041113226, 0.049861107, -0.039926227, 0.09076766, -0.025002435, -0.017526476, 0.085348755, -0.038788512, -0.05849065, 0.04546601, -0.04753077, -0.068257004, 0.11793372, 0.02955983) * conv2d_4_7_texOff(vec2(1, 1)); + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-5) +//!HOOK LUMA +//!BIND conv2d_4_0 +//!BIND conv2d_4_1 +//!BIND conv2d_4_2 +//!BIND conv2d_4_3 +//!BIND conv2d_4_4 +//!BIND conv2d_4_5 +//!BIND conv2d_4_6 +//!BIND conv2d_4_7 +//!SAVE conv2d_5_6 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0038989536, -0.0043582628, 0.001294654, 0.0009452332); + result += mat4(-0.08121977, -0.038380336, -0.020829868, 0.029039634, 0.01530976, -0.057063304, 0.0195049, -0.014735167, 0.04185835, 0.05366711, -0.012969611, -0.03319984, -0.05106403, -0.055633463, -0.028994061, 0.028658226) * conv2d_4_0_texOff(vec2(-1, -1)); + result += mat4(-0.10012796, 0.081456974, 0.07248836, 0.114769265, 0.0020802727, 0.0043847715, 0.018546477, 0.022872452, -0.00884165, -0.14625998, -0.033222083, -0.044611238, -0.070557326, 0.04118261, 0.0069094216, -0.009191822) * conv2d_4_0_texOff(vec2(0, -1)); + result += mat4(-0.029538685, -0.0013723186, 0.06894521, -0.10032765, 0.026692117, -0.08450752, -0.050458167, -0.11640873, 0.080680855, 0.1107659, -0.15353, -0.010047626, -0.02712355, -0.022101564, 0.032220315, -0.06997227) * conv2d_4_0_texOff(vec2(1, -1)); + result += mat4(0.0032224343, 0.0354366, -0.058405086, -0.030893622, -0.049045626, 0.06558179, -0.028162302, 0.043719556, -0.021546863, -0.055260427, -0.022295615, 0.06230156, 0.047480356, -0.06984872, 0.07106445, -0.014100876) * conv2d_4_0_texOff(vec2(-1, 0)); + result += mat4(0.060494553, 0.12180862, 0.060568683, 0.0925159, -0.05128127, 0.066973604, -0.060489904, -0.02911236, -0.11094791, 0.029127803, 0.04145522, -0.057129096, -0.033055626, -0.045930255, 0.08202525, -0.045897063) * conv2d_4_0_texOff(vec2(0, 0)); + result += mat4(0.07843186, -0.05648976, 0.0913484, 0.02917742, 0.0021692365, -0.040970493, 0.049952883, -0.093126565, 0.11646517, -0.041701615, -0.048509415, 0.098148026, 0.042513654, 0.052685242, -0.07000275, 0.027805822) * conv2d_4_0_texOff(vec2(1, 0)); + result += mat4(-0.06121697, -0.079474874, -0.007834777, 0.025671117, 0.066246934, 0.053764626, 0.067820795, 0.072327375, 0.09463396, -0.049593072, 0.041942496, -0.0015087968, -0.051801585, 0.06515436, 0.02667065, -0.017995942) * conv2d_4_0_texOff(vec2(-1, 1)); + result += mat4(0.021473557, 0.07921912, -0.013734631, 0.045093138, -0.052403267, 0.06002366, 0.06625626, -0.035469335, 0.037157696, 0.075933285, -0.06642689, 0.14660804, 0.022041352, 0.10541417, 0.06402472, 0.08726329) * conv2d_4_0_texOff(vec2(0, 1)); + result += mat4(-0.06950033, -0.018072808, 0.02695172, 0.0065026972, 0.021192212, -0.11478292, 0.023942173, 0.031428583, 0.011598373, 0.02293025, -0.08106882, -0.08036578, -0.06913851, 0.0835192, 0.018538244, 0.005392772) * conv2d_4_0_texOff(vec2(1, 1)); + result += mat4(-0.024660537, -0.0007606388, -0.009067159, 0.11592896, 0.055480197, -0.012367034, 0.002867635, -0.08191675, -0.0058150105, -3.6418456e-05, 0.06569802, 0.059775144, -0.038561735, -0.020559555, 0.016552716, -0.03197267) * conv2d_4_1_texOff(vec2(-1, -1)); + result += mat4(-0.02979486, 0.05377789, 0.052234903, -0.05070248, -0.064947575, 0.12553914, 0.0068965396, 0.027574716, -0.035755243, 0.0077077877, 0.09281072, 0.03942586, 0.039124534, 0.07187662, -3.5058438e-05, 0.08415454) * conv2d_4_1_texOff(vec2(0, -1)); + result += mat4(0.03339983, 0.070216626, 0.046354398, -0.14009127, 0.013386873, 0.031226654, 0.04923734, 0.002987121, -0.029956015, -0.07421927, 0.055250898, 0.010030061, 0.04371311, -0.0015985378, 0.003921697, -0.056088574) * conv2d_4_1_texOff(vec2(1, -1)); + result += mat4(-0.07246707, 0.033802774, -0.057142522, 0.030532017, 0.009918024, -0.054032214, -0.0345132, 0.060487933, -0.040113796, -0.047527373, -0.013189345, -0.066541985, -0.12659246, -0.07013662, -0.05618693, -0.08357053) * conv2d_4_1_texOff(vec2(-1, 0)); + result += mat4(0.080087826, 0.020220129, -0.091328844, 0.09855738, -0.051719733, -0.014984897, -0.02779708, -0.03337297, -0.1000572, 0.12688409, -0.05725992, -0.0861258, -0.19999577, 0.016356416, -0.039339047, -0.18549545) * conv2d_4_1_texOff(vec2(0, 0)); + result += mat4(0.05528715, -0.0018134404, 0.07083376, 0.03813237, 0.060010713, 0.120528385, 0.084896475, 0.044722658, -0.024410535, 0.03334355, -0.026316332, -0.056382, 0.017550284, 0.06480869, -0.045649167, -0.097820565) * conv2d_4_1_texOff(vec2(1, 0)); + result += mat4(-0.003237386, -0.03909121, 0.11153995, 0.071641795, 0.031698544, -0.041371208, -0.056153197, -0.06866652, 0.010502294, 0.010167646, -0.062788166, -0.08198584, -0.035270277, 0.10371835, -0.05051246, 0.094903894) * conv2d_4_1_texOff(vec2(-1, 1)); + result += mat4(0.06783628, 0.12265514, 0.072223894, 0.08102883, 0.045236282, 0.042823497, 0.09579931, -0.03763629, 0.04247451, 0.03330913, 0.017840765, 0.035211768, -0.022152655, -0.019113332, 0.090956114, 0.18752785) * conv2d_4_1_texOff(vec2(0, 1)); + result += mat4(0.010930934, 0.060148805, 0.022271365, -0.052964818, 0.033798542, 0.067215696, -0.099011295, 0.08770544, 0.07007943, 0.09040316, -0.052158643, 0.03058002, -0.057638217, 0.04558245, -0.036542434, 0.08431221) * conv2d_4_1_texOff(vec2(1, 1)); + result += mat4(-0.027814845, 0.063106425, 0.02130792, -0.0146428, 0.09549449, -0.062544644, 0.03758588, -0.17146301, -0.007836936, -0.0431447, -0.007482443, -0.025422182, -0.064280495, 0.065394, 0.020469906, -0.0277139) * conv2d_4_2_texOff(vec2(-1, -1)); + result += mat4(0.03358969, 0.0379092, 0.043262634, 0.049140327, 0.0039645038, -0.046470325, 0.032649245, 0.11974918, 0.029621076, 0.053436406, -0.038669176, 0.071176775, -0.055545572, -0.02194692, 0.11197511, 0.10643538) * conv2d_4_2_texOff(vec2(0, -1)); + result += mat4(0.03090294, -0.091038354, -0.060254194, -0.00499489, 0.0054445085, -0.044501964, 0.005258388, -0.039474677, 0.03951341, -0.045237713, 0.017700277, -0.09254598, -0.06064518, -0.003586223, -0.015606192, 0.004800372) * conv2d_4_2_texOff(vec2(1, -1)); + result += mat4(0.013809387, -0.033053614, 0.039459832, 0.02819838, -0.021556197, -0.118921176, -0.07741786, -0.020542845, -0.07848702, -0.03639302, 0.09659093, -0.07421048, 0.005345507, -0.028909598, -0.11017211, -0.068401314) * conv2d_4_2_texOff(vec2(-1, 0)); + result += mat4(-0.18464024, -0.09948134, -0.01705716, 0.07365286, -0.118038714, -0.07138392, -0.124259055, 0.003525617, 0.013056939, -0.10422653, 0.032659788, -0.09118937, 0.014305824, 0.07475685, 0.0008831189, -0.017462736) * conv2d_4_2_texOff(vec2(0, 0)); + result += mat4(-0.03358326, 0.009354603, -0.09213936, -0.10078634, -0.029338097, 0.0843904, -0.038262714, -0.0057825265, -0.04093783, 0.05314713, 0.059301164, 0.0046721445, -0.048050735, -0.10729937, -0.074064665, 0.005478982) * conv2d_4_2_texOff(vec2(1, 0)); + result += mat4(-0.0154861845, 0.07618862, 0.07092945, 0.022824433, -0.0027034986, 0.0041112634, -0.029747354, 0.13752925, -0.1504087, 0.04048511, 0.04183432, -0.09086983, -0.022890452, 0.029080313, -0.06602369, 0.10445409) * conv2d_4_2_texOff(vec2(-1, 1)); + result += mat4(0.017917268, -0.13203806, 0.065662496, -0.014341489, 0.061482817, -0.016565453, 0.014022371, 0.056239087, 0.0969123, -0.032164313, -0.0033231692, -0.014837857, 0.035103977, -0.0096838195, 0.043399017, 0.03221769) * conv2d_4_2_texOff(vec2(0, 1)); + result += mat4(0.014743158, 0.045479357, 0.015847955, 0.039153155, -0.029438738, 0.037716873, 0.008257169, 0.15298882, -0.013266421, 0.045728303, 0.0487071, -0.047196448, -0.036513872, -0.035755534, -0.06700521, 0.076701246) * conv2d_4_2_texOff(vec2(1, 1)); + result += mat4(-0.0681232, 0.029739344, -0.07147357, 0.1880909, 3.3190172e-05, 0.043467093, -0.087500654, -0.051465556, -0.07007289, -0.102503695, 0.006321471, -0.08500649, 0.019971188, -0.01784205, -0.0718867, -0.013194477) * conv2d_4_3_texOff(vec2(-1, -1)); + result += mat4(-0.07558779, 0.058620095, 0.04910805, -0.057928365, 0.008880751, -0.031849515, -0.061676502, -0.013032714, 0.02938906, -0.06954156, 0.070568345, 0.020199547, 0.04502316, 0.014738326, 0.00029312287, -0.12000365) * conv2d_4_3_texOff(vec2(0, -1)); + result += mat4(-0.059173062, -0.017865892, 0.05141153, 0.08557688, -0.0757483, -0.03348801, 0.015686926, 0.03990614, -0.07472521, -0.049942005, 0.09716857, -0.057634108, -0.040285047, 0.008317879, 0.054989148, -0.014140023) * conv2d_4_3_texOff(vec2(1, -1)); + result += mat4(-0.011826009, 0.021604199, 0.038567595, 0.02700339, -0.0014764774, -0.047033824, 0.1040885, 0.07659863, 0.004954251, -0.053125, 0.12655114, -0.047758907, -0.033304423, 0.03233765, 0.040499114, 0.05379089) * conv2d_4_3_texOff(vec2(-1, 0)); + result += mat4(-0.03496207, -0.014462499, -0.081252456, -0.17735213, 0.018975845, -0.110709645, 0.06783415, -0.09749874, 0.059320617, -0.015737915, 0.0062097856, -0.13447511, -0.08083084, 0.060740717, 0.062958196, -0.07639135) * conv2d_4_3_texOff(vec2(0, 0)); + result += mat4(0.041436568, -0.03645208, -0.04579347, -0.16093275, 0.018860158, -0.05696364, -0.069994375, -0.037959047, -0.08300647, -0.047230266, 0.12707584, -0.038276955, -0.031748727, -0.029482221, 0.03859251, -0.011342248) * conv2d_4_3_texOff(vec2(1, 0)); + result += mat4(0.019486586, -0.021060845, 0.0036018065, -0.16014433, 0.0046816133, -0.0048009837, 0.014038131, 0.05672765, 0.08483723, -0.13409449, 0.017866405, -0.029022763, -0.06500769, 0.06632925, -0.04884642, -0.079201534) * conv2d_4_3_texOff(vec2(-1, 1)); + result += mat4(0.032045063, -0.0041746125, 0.06725956, 0.09691132, 0.005699202, 0.011759222, -0.067484975, -0.06577835, 0.061344754, 0.019467244, -0.027001986, -0.07910169, -0.08337438, -0.079636194, -0.06286591, 0.04838613) * conv2d_4_3_texOff(vec2(0, 1)); + result += mat4(0.055871997, 0.09369375, -0.01953019, 0.12775333, 0.058744013, -0.0066160806, 0.009220085, 0.08000778, 0.053792644, -0.030642819, 0.01728414, -0.041119847, -0.07453697, -0.06410943, 0.03685116, -0.07885041) * conv2d_4_3_texOff(vec2(1, 1)); + result += mat4(-0.055632625, 0.07525554, -0.04885276, -0.01742548, 0.3075751, -0.13632649, 0.022850616, -0.26141414, -0.008697726, -0.047249142, -0.044596437, -0.0025683641, 0.12889546, -0.020300275, 0.082417175, -0.0039739665) * conv2d_4_4_texOff(vec2(-1, -1)); + result += mat4(0.02810294, -0.03809757, 0.08046189, -0.082981594, 0.23022284, -0.034283876, -0.030902399, -0.037565365, -0.07931429, -0.019811807, -0.03289918, -0.011959579, -0.008965035, -0.015181819, 0.12808155, 0.0747458) * conv2d_4_4_texOff(vec2(0, -1)); + result += mat4(0.08854927, 0.04346527, 0.028700938, -0.03626645, 0.04051023, 0.013642703, 0.059354186, 0.020416602, 0.023522727, -0.094088964, 0.07168432, -0.033972364, -0.031612184, 0.07472911, 0.0048883935, 0.0045036874) * conv2d_4_4_texOff(vec2(1, -1)); + result += mat4(0.04324146, 0.13174659, 0.054820597, -0.08789853, -0.16005291, 0.19481367, 0.62927884, 0.20935644, -0.044793837, 0.04239561, -0.068420686, 0.047670186, 0.056926824, 0.05410318, -0.07957754, -0.043798186) * conv2d_4_4_texOff(vec2(-1, 0)); + result += mat4(-0.0455846, -0.029302457, 0.0646816, 0.042443078, 0.037940286, -0.095387705, -0.2350709, -0.08874423, -0.018748539, -0.03410439, 0.005636539, -0.06151945, -0.0045142756, 0.0646706, -0.1369661, -0.20853448) * conv2d_4_4_texOff(vec2(0, 0)); + result += mat4(-0.010609357, 0.025846373, 0.030792624, 0.009895833, -0.09756894, 0.04911022, 0.013620234, -0.036006425, 0.059510857, 0.02168586, 0.016456366, -0.049084052, 0.0045819697, 0.13977326, -0.08826731, -0.114973925) * conv2d_4_4_texOff(vec2(1, 0)); + result += mat4(0.026166959, 0.10772811, 0.111195125, 0.057942893, -0.089110784, 0.23984721, -0.36836126, -0.3785515, -0.010766863, -0.014619581, 0.019174002, 0.052273594, -0.06740997, -0.038356576, -0.068149075, 0.022867449) * conv2d_4_4_texOff(vec2(-1, 1)); + result += mat4(0.0030223601, -0.047699768, 0.040912174, -0.092477605, 0.15724044, -0.020237988, -0.010965915, -0.0129677495, -0.040470943, 0.032196853, 0.01428758, 0.0025178443, -0.03888765, 0.036991455, -0.110934675, -0.06804419) * conv2d_4_4_texOff(vec2(0, 1)); + result += mat4(-0.017781394, 0.0067281285, 0.04054156, 0.02693883, 0.0867591, -0.057646625, -0.004688352, 0.051743183, 0.038095172, 0.04229726, 0.046975043, 0.015176319, -0.05305842, -0.053189896, 0.040467143, 0.025840733) * conv2d_4_4_texOff(vec2(1, 1)); + result += mat4(0.017740274, -0.012710386, 0.0033259788, 0.005123573, 0.028739845, -0.042328518, -0.14219226, 0.02091681, -0.011662327, 0.07148577, 0.08588074, 0.07257112, -0.06547158, -0.041137695, 0.05207661, -0.03313349) * conv2d_4_5_texOff(vec2(-1, -1)); + result += mat4(0.0057860743, -0.020939376, 0.08921119, -0.06506731, 0.050761387, 0.019415827, -0.033594783, -0.00042708387, 0.012891473, -0.07623292, -0.079733476, -0.06658475, 0.09981177, 0.03150927, -0.04616619, -0.016587893) * conv2d_4_5_texOff(vec2(0, -1)); + result += mat4(-0.031544868, 0.08117251, -0.015487993, 0.11661885, 0.039048657, -0.0704665, -0.10947503, 0.026447205, -0.022411382, -0.028283179, 0.0188138, 0.09396225, -0.02735331, 0.0824253, -0.0125431605, -0.08082985) * conv2d_4_5_texOff(vec2(1, -1)); + result += mat4(0.013279691, -0.093350925, 0.074985296, 0.1277196, -0.029241206, 0.028187692, -0.072432674, -0.0769008, 0.03140021, -0.10582564, 0.08263234, 0.08932112, 0.053676743, -0.06139165, -0.04525355, -0.0438729) * conv2d_4_5_texOff(vec2(-1, 0)); + result += mat4(0.008967789, -0.004597033, -0.027966274, 0.03905671, -0.05694114, -0.06872685, -0.10061456, -0.022042295, 0.05294858, -0.08934303, -0.08214741, -0.03904183, -0.022209413, 0.03878992, -0.0047199936, 0.09345811) * conv2d_4_5_texOff(vec2(0, 0)); + result += mat4(0.018654771, -0.054173484, -0.039744854, 0.009858376, -0.089152016, -0.084001526, -0.061619073, -0.10237463, 0.08925324, -0.07849693, -0.063074976, -0.06056687, 0.09099346, -0.035062224, -0.019892413, 0.060339242) * conv2d_4_5_texOff(vec2(1, 0)); + result += mat4(-0.040370267, 0.08241906, -0.016646087, -0.020500889, 0.0799791, -0.033270795, -0.019412996, 0.034698624, 0.07956623, -0.01643923, -0.047943264, 0.05613537, 0.059290167, 0.07392586, -0.06305286, -0.0984932) * conv2d_4_5_texOff(vec2(-1, 1)); + result += mat4(0.030550504, -0.011271412, -0.10664842, -0.03798008, 0.044826753, -0.036927905, -0.01237452, -0.05574453, 0.011547484, 0.02502005, -0.09141574, -0.034175444, 0.03287005, 0.08772966, -0.026608067, -0.06803225) * conv2d_4_5_texOff(vec2(0, 1)); + result += mat4(-0.006182682, 0.003882998, 0.0022293844, -0.094368264, -0.009579791, 0.031904656, -0.041218042, -0.086839706, 0.02768442, 0.018849062, -0.00294085, 0.052888874, -0.014610092, -0.0140278125, -0.042477414, 0.09105648) * conv2d_4_5_texOff(vec2(1, 1)); + result += mat4(-0.022853049, 0.0019259572, 0.063499905, -0.033765458, 0.101450846, -0.038439374, -0.034859713, 0.01740049, 0.05581045, -0.065962866, -0.010080001, -0.042827334, 0.03546921, -0.01756796, -0.035149574, -0.05406105) * conv2d_4_6_texOff(vec2(-1, -1)); + result += mat4(0.1580656, -0.040340193, 0.018478535, -0.064532176, 0.058534574, 0.04244379, -0.06425977, 0.10288222, 0.09072548, -0.12669274, 0.028870568, -0.11511105, 0.07577319, 0.020248434, -0.08214283, 0.035512563) * conv2d_4_6_texOff(vec2(0, -1)); + result += mat4(0.04232806, -0.045584124, -0.02226961, 0.045754246, -0.08769567, -0.0552654, 0.01448968, 0.07330945, 0.0045827376, 0.0156284, 0.010916423, 0.078697234, 0.02928967, 0.0042608767, 0.083718784, 0.047722142) * conv2d_4_6_texOff(vec2(1, -1)); + result += mat4(0.09328954, -0.025286883, -0.04936826, 0.027563017, 0.011434637, -0.022197913, -0.03838903, -0.04670774, -0.02514433, -0.019056678, 0.049966346, 0.0037683267, 0.007453353, 0.0034734688, -0.09506934, 0.04617967) * conv2d_4_6_texOff(vec2(-1, 0)); + result += mat4(-0.0076608732, -0.048219267, -0.022918345, -0.12860057, 0.06602398, -0.037191257, -0.07352826, -0.045813985, -0.026482398, 0.058808174, 0.09063254, -0.037254643, 0.016440585, 0.058191396, -0.064229846, 0.049320742) * conv2d_4_6_texOff(vec2(0, 0)); + result += mat4(-0.039118264, 0.041054085, 0.06349492, -0.04045263, 0.026455425, 0.07853797, -0.034929063, 0.101546295, 0.041907545, -0.02595933, 0.079643704, 0.07804714, -0.09784616, 0.010753426, -0.030238094, 0.107038096) * conv2d_4_6_texOff(vec2(1, 0)); + result += mat4(-0.06737005, 0.013649802, -0.06268763, -0.07925037, -0.056656867, -0.07683097, -0.013727786, -0.101453476, -0.08024483, -0.013495467, 0.0025407842, -0.01588766, 0.06558699, -0.06942897, 0.07758535, 0.010492433) * conv2d_4_6_texOff(vec2(-1, 1)); + result += mat4(0.08597134, 0.005149852, -0.051043954, 0.01715281, -0.11375912, -0.06892198, 0.039252125, 0.0032861996, 0.06824275, -0.059931424, 0.005122382, 0.06292166, -0.0216584, -0.048531543, 0.10980739, 0.07210072) * conv2d_4_6_texOff(vec2(0, 1)); + result += mat4(0.055184066, -0.036975604, 0.041980747, -0.022037117, -0.072424196, 0.01939902, -0.040501624, 0.04875611, 0.020369923, 0.05543229, 0.0043369783, 0.036187787, -0.033490006, 0.030462204, -0.03637684, -0.022858646) * conv2d_4_6_texOff(vec2(1, 1)); + result += mat4(-0.04297529, 0.035418656, 0.09586176, 0.03355444, 0.027567318, -0.07889762, -0.06288524, -0.053781122, 0.018659063, -0.07641127, 0.002697134, -0.068351224, 0.0033770464, -0.07919011, 0.006247681, -0.009255601) * conv2d_4_7_texOff(vec2(-1, -1)); + result += mat4(-0.061277457, -0.053327844, 0.070346005, -0.033922527, 0.03522224, 0.053046897, -0.11109556, 0.13925882, -0.00061448495, -0.1015076, -0.0037787554, 0.036802147, 0.051768627, -0.003743548, -0.010032165, -0.0453096) * conv2d_4_7_texOff(vec2(0, -1)); + result += mat4(0.029426752, -0.01598847, 0.042764127, -0.00757801, -0.049388587, -0.11944691, 0.103931926, 0.045513023, -0.08532985, -0.036303412, -0.059192635, 0.0033723451, 0.0331181, 0.08122468, 0.03682387, -0.04077265) * conv2d_4_7_texOff(vec2(1, -1)); + result += mat4(0.03901068, -0.021055121, 0.05075207, 0.114628285, 0.07900779, -0.018080782, -0.041571125, -0.07785359, 0.035607874, -0.08246888, 0.11224204, -0.008898714, 0.04640706, 0.083105445, -0.034077268, 0.063498765) * conv2d_4_7_texOff(vec2(-1, 0)); + result += mat4(0.002015067, 0.026458666, 0.031602748, 0.09739668, 0.12569158, -0.034235034, -0.05153211, 0.014559746, 0.0012523393, 0.04826581, -0.07524033, -0.1223732, 0.00104011, -0.082020305, -0.04242575, -0.1499972) * conv2d_4_7_texOff(vec2(0, 0)); + result += mat4(0.07169129, -0.029651612, -0.08288934, 0.06807627, -0.008072628, -0.018031934, 0.0499014, -0.019302247, -0.049408782, 0.07496624, -0.07271186, 0.00080191117, -0.007003241, 0.055754606, -0.03711976, -0.07303379) * conv2d_4_7_texOff(vec2(1, 0)); + result += mat4(-0.026257513, -0.009987195, 0.053181145, 0.027097696, -0.09631528, 0.026093923, 0.039725807, -0.0033398673, -0.06079369, -0.0073444885, -0.024681434, -0.06734212, 0.10112194, 0.058777716, 0.057931934, 0.017231392) * conv2d_4_7_texOff(vec2(-1, 1)); + result += mat4(-0.05005092, -0.07890241, -0.017942244, -0.07459814, -0.0042739203, 0.037176672, -0.0682558, 0.06299864, 0.12989686, -0.0834491, 0.056011822, 0.061774034, -0.035469856, 0.08726307, -0.10024864, -0.05271724) * conv2d_4_7_texOff(vec2(0, 1)); + result += mat4(-0.03116139, 0.01901378, -0.012303783, -0.0753389, 0.052567188, 0.002249248, -0.08339849, 0.065930165, -0.0070671053, -0.04397056, 0.06623604, -0.058305502, -0.08922601, 0.023652848, 0.061128803, -0.008606419) * conv2d_4_7_texOff(vec2(1, 1)); + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-5) +//!HOOK LUMA +//!BIND conv2d_4_0 +//!BIND conv2d_4_1 +//!BIND conv2d_4_2 +//!BIND conv2d_4_3 +//!BIND conv2d_4_4 +//!BIND conv2d_4_5 +//!BIND conv2d_4_6 +//!BIND conv2d_4_7 +//!SAVE conv2d_5_7 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(-0.0038117077, 0.0017851336, -0.0016869111, 0.0009794832); + result += mat4(-0.022108762, -0.0772762, -0.014686075, 0.009982338, -0.057432048, 0.010377828, 0.0760302, 0.01842003, 0.0026311583, 0.08536114, 0.04499131, 0.010238139, -0.03588862, -0.025822643, 0.06014943, -0.033510838) * conv2d_4_0_texOff(vec2(-1, -1)); + result += mat4(-0.029284421, 0.07346769, -0.112415425, 0.03000079, 0.030954612, -0.060051043, 0.03489691, 0.01613266, -0.023797562, 0.013623875, -0.100274116, 0.18333016, -0.0010282464, -0.08957408, -0.016285427, 0.044325836) * conv2d_4_0_texOff(vec2(0, -1)); + result += mat4(0.0036874886, 0.02437029, -0.03949278, 0.05882416, 0.034730606, -0.04464648, -0.0434839, -0.06384826, 0.05470935, -0.030296575, -0.0022262372, 0.047629252, -0.059111275, -0.07553347, 0.07795378, -0.06940068) * conv2d_4_0_texOff(vec2(1, -1)); + result += mat4(0.15271372, 0.02454326, 0.027999064, 0.08046675, 0.11828206, 0.058400836, 0.1164011, -0.021872206, -0.044146802, 0.0049063717, -0.0021209158, -0.13289754, -0.0037976734, -0.022374762, 0.052033994, -0.01903926) * conv2d_4_0_texOff(vec2(-1, 0)); + result += mat4(-0.019085867, -0.025561273, -0.05129221, -0.054469563, -0.089686975, 0.05149545, -0.1663768, 0.023601143, -0.058614332, 0.07985783, 0.099675395, 0.12938404, 0.033986263, -0.064185485, -0.07405139, -0.028947316) * conv2d_4_0_texOff(vec2(0, 0)); + result += mat4(0.026471617, 0.07042691, -0.09544429, 0.009082479, 0.13169429, -0.017167233, 0.038428567, 0.083923884, 0.035172045, -0.04452317, 0.09544801, -0.17526191, 0.020440126, 0.014149852, -0.12883401, 0.007097739) * conv2d_4_0_texOff(vec2(1, 0)); + result += mat4(-0.08267727, 0.053013325, -0.035440173, -0.14218657, 0.0033551129, -0.0057470235, 0.049236603, -0.069152586, -0.05204994, 0.020192035, -0.014467391, -0.032003634, 0.045385264, 0.043827422, -0.06540043, 0.019056026) * conv2d_4_0_texOff(vec2(-1, 1)); + result += mat4(0.08002316, 0.04515341, 0.06237523, 0.05640197, 0.08851938, -0.04902337, -0.092177905, 0.14650793, -0.118726425, 0.0554673, -0.042757448, -0.0017342283, -0.03446904, -0.080317706, -0.014800018, -0.09512153) * conv2d_4_0_texOff(vec2(0, 1)); + result += mat4(-0.013273446, 0.010650422, 0.015474958, 0.041688636, -0.090940356, 0.04170716, 0.07099755, -0.115107015, 0.0710504, -0.002440817, -0.040017672, -0.066628285, 0.004494187, 0.040857032, 0.0026506055, 0.020700559) * conv2d_4_0_texOff(vec2(1, 1)); + result += mat4(0.07458882, -0.08363497, -0.022403482, -0.075498156, 0.07194065, -0.0466907, -0.0009786695, -0.042617414, -0.043154787, 0.06711663, 0.11909791, -0.0032636428, 0.083774865, -0.08829283, -0.020261519, -0.06589554) * conv2d_4_1_texOff(vec2(-1, -1)); + result += mat4(0.03242536, 0.014664397, 0.0286414, 0.019731356, 0.02008543, -0.03529691, 0.043327924, -0.036278386, -0.08065133, -0.08188265, -0.04670728, 0.025753127, 0.011362365, -0.11739043, 0.048481718, -0.0751109) * conv2d_4_1_texOff(vec2(0, -1)); + result += mat4(-0.11260148, -0.049960513, 0.093739845, 0.058583196, 0.0018189066, -0.014266745, -0.015098044, -0.05114635, 0.04193477, -0.09496345, 0.08538932, -0.0061301994, 0.06456449, -0.07256007, 0.09440314, 0.053025104) * conv2d_4_1_texOff(vec2(1, -1)); + result += mat4(-0.024049377, -0.048633743, 0.09563663, -0.05071897, 0.035929102, 0.008051272, 0.049868815, -0.071399435, -0.10205808, 0.036965143, -0.099305734, 0.008484762, -0.009073027, -0.053958133, 0.056167595, 0.054178473) * conv2d_4_1_texOff(vec2(-1, 0)); + result += mat4(0.066072166, 0.0072884513, 0.093024015, -0.0564294, -0.040564664, -0.0003985774, 0.123239525, -0.08584849, 0.19530736, -0.036140658, 0.04370871, 0.07383917, 0.030313086, -0.048635215, -0.039205875, 0.042827968) * conv2d_4_1_texOff(vec2(0, 0)); + result += mat4(-0.053941797, 0.070613, -0.035709012, 0.017217834, -0.045103114, 0.04621686, 0.045719683, 0.020702874, -0.1057803, 0.011640327, 0.07764035, -0.116013885, -0.040522914, 0.013310397, -0.05320381, -0.030903814) * conv2d_4_1_texOff(vec2(1, 0)); + result += mat4(0.037080012, -0.005824107, -0.019775195, 0.056729216, 0.032282397, 0.040109757, 0.014124904, -0.052736532, 0.048745066, 0.030573156, -0.03477387, 0.049863774, -0.08902636, 0.047438744, 0.022952802, -0.035791904) * conv2d_4_1_texOff(vec2(-1, 1)); + result += mat4(0.04456001, 0.0025101511, 0.039836433, -0.10857939, -0.09225115, -0.00036908212, 0.028155284, -0.08036683, -0.019053577, -0.019003084, -0.015559188, -0.05176242, -0.17218363, 0.13476832, -0.018666597, -0.22940242) * conv2d_4_1_texOff(vec2(0, 1)); + result += mat4(0.040902987, -0.0038489122, 0.060533665, 0.022665745, 0.03256443, -0.04900081, -0.0674513, 0.08444212, 0.05594607, -0.018797886, 0.02598956, 0.0067269835, -0.072674036, -0.03315621, -0.008855562, 0.090455286) * conv2d_4_1_texOff(vec2(1, 1)); + result += mat4(0.0017175861, 0.004432876, -0.08571678, 0.08815005, -0.030852491, 0.105467975, -0.13066338, 0.14647692, 0.052226577, 0.015055965, 0.08580684, -0.06265265, -0.06670728, 0.09847665, 0.07251342, 0.09020322) * conv2d_4_2_texOff(vec2(-1, -1)); + result += mat4(-0.032051943, 0.008961726, -0.07772863, -0.02377053, 0.083005406, 0.03004893, 0.20764102, 0.09042182, 0.029720364, -0.07041896, -0.018942611, 0.01885571, -0.00786615, 0.111389264, 0.119036525, 0.06914475) * conv2d_4_2_texOff(vec2(0, -1)); + result += mat4(-0.017006498, -0.07508358, 0.09195707, 0.012550291, -0.13707393, -0.047904704, 0.048549216, 0.11770418, -0.07060674, -0.054857228, 0.04538206, 0.11999147, 0.041035276, 0.015318645, -0.022243252, 0.04722539) * conv2d_4_2_texOff(vec2(1, -1)); + result += mat4(0.019534253, 0.07006985, -0.06960835, -0.06288192, -0.17387794, 0.031444862, 0.034051307, -0.11319755, 0.05155222, 0.047476403, -0.015497312, 0.06387274, -0.1148164, -0.038219087, 0.038388185, 0.017016066) * conv2d_4_2_texOff(vec2(-1, 0)); + result += mat4(-0.068245076, -0.11623365, 0.02678361, 0.023207245, -0.12821373, -0.13140312, 0.07597706, -0.08400399, -0.017785383, 0.009071198, -0.007038081, 0.08130658, -0.006126337, -0.045163725, 0.10057194, -0.024674658) * conv2d_4_2_texOff(vec2(0, 0)); + result += mat4(-0.08907691, -0.010414734, 0.14749734, -0.035694443, -0.062110353, -0.000997743, -0.047550946, 0.023165844, -0.101600006, -0.06755865, -0.020144435, -0.02186901, 0.014118161, 0.03248896, 0.02622823, 0.014087114) * conv2d_4_2_texOff(vec2(1, 0)); + result += mat4(0.036788203, -0.008999711, -0.003750921, -0.024741642, 0.03874335, -0.07744384, 0.052996594, -0.015927782, 0.0065550096, 0.08569947, 0.046352863, 0.035940226, -0.019608406, 0.00352769, -0.0319453, 0.0155053) * conv2d_4_2_texOff(vec2(-1, 1)); + result += mat4(0.021151949, -0.069678, -0.009872032, -0.0071163126, -0.041195743, -0.0165002, 0.04306899, -0.08110923, -0.07182757, -0.077564746, -0.037091058, 0.008913657, 0.07311747, 0.032383252, 0.01943495, 0.05127753) * conv2d_4_2_texOff(vec2(0, 1)); + result += mat4(-0.00399499, 0.07343125, 0.07574189, -0.09746978, 0.1142471, -0.009978954, -0.016001582, -0.02433233, 0.056399036, 0.068034545, -0.07417334, -0.059331343, -0.0025952933, -0.019663459, 0.037206426, 0.0011079335) * conv2d_4_2_texOff(vec2(1, 1)); + result += mat4(0.06892245, -0.012124295, 0.009257979, -0.2587671, 0.003828631, 0.004344902, -0.008169538, 0.051003557, -0.04810335, 0.03180248, -0.0689927, 0.1363492, 0.024962123, 0.07392392, 0.009339392, -0.12199207) * conv2d_4_3_texOff(vec2(-1, -1)); + result += mat4(0.043020483, -0.013947177, -0.1694067, 0.044837795, 0.012503061, -0.009770611, 0.028907226, -0.09729356, -0.04239236, -0.07796651, 0.058166027, 0.1333084, -0.04553736, 0.11322759, 0.07179535, 0.07147171) * conv2d_4_3_texOff(vec2(0, -1)); + result += mat4(-0.013554354, -0.03038568, -0.059910882, 0.02347311, 0.053393137, 0.04546018, 0.12536614, -0.036976073, 0.046960566, -0.008009969, 0.0027020946, -0.046790022, -0.029539092, 0.09379051, 0.08958193, 0.055571742) * conv2d_4_3_texOff(vec2(1, -1)); + result += mat4(-0.06503237, 0.061410774, 0.009524289, 0.0073866234, -0.012942222, 0.08171744, -0.00850585, -0.08366409, -0.0779762, 0.026001282, 0.06379717, 0.047946732, 0.027320825, -0.0054476866, 0.014957256, 0.09648285) * conv2d_4_3_texOff(vec2(-1, 0)); + result += mat4(0.1606646, 0.00052375486, 0.017545657, 0.02180382, -0.15263359, -0.015927572, 0.050827894, -0.00017070727, -0.0763268, -0.10539596, 0.059114676, 0.011885722, -0.12039564, 0.011379521, 0.021609766, -0.053769488) * conv2d_4_3_texOff(vec2(0, 0)); + result += mat4(-0.017316435, -0.004035251, 0.03392696, -0.16517965, 0.042948753, -0.00039262557, 0.09877794, -0.043495446, -0.0354514, 0.0575543, -0.038868185, -0.028328411, -9.141329e-05, -0.0024609284, -0.06401439, 0.11179405) * conv2d_4_3_texOff(vec2(1, 0)); + result += mat4(-0.06246585, -0.077223286, -0.065999694, 0.07048112, 0.076422736, 0.057989802, 0.038670413, 0.032660462, 0.05590677, -0.070880234, 0.052391127, 0.050084487, 0.04571293, -0.048126422, 0.0063367574, 0.11231014) * conv2d_4_3_texOff(vec2(-1, 1)); + result += mat4(-0.024671948, 0.014420454, -0.13912754, -0.064359024, 0.014246568, -0.022041135, -0.029161232, -0.00014305473, -0.063821465, 0.041720066, -0.030575158, -0.06301232, 0.008975099, -0.027341042, -0.02838802, -0.026846997) * conv2d_4_3_texOff(vec2(0, 1)); + result += mat4(-0.049043518, 0.06849457, -0.024882907, 0.06503889, 0.013146226, -0.02128863, 0.06641183, -0.022719847, 0.04232845, 0.016351385, 0.0486688, -0.024709228, 0.060134824, -0.055299737, -0.06224705, 0.09244035) * conv2d_4_3_texOff(vec2(1, 1)); + result += mat4(-0.0054642824, -0.035227746, 0.09314146, -0.07578216, 0.2354858, 0.18473773, 0.09925055, -0.1339466, -0.033941768, -0.02729245, 0.08033401, -0.01042016, -0.038648494, -0.051262796, -0.03814591, -0.04033912) * conv2d_4_4_texOff(vec2(-1, -1)); + result += mat4(0.031284492, 0.037661742, -0.04126395, -0.043256424, -0.07407007, -0.044981558, 0.005672934, -0.06808281, -0.011618861, -0.009997736, 0.03826024, -0.084996685, -0.087410845, -0.016328333, -0.04031317, 0.016524449) * conv2d_4_4_texOff(vec2(0, -1)); + result += mat4(-0.015371013, 0.050453167, -0.050600223, 0.035403974, -0.04539882, 0.03803801, -0.008198186, -0.07881108, -0.015662374, -0.038917996, -0.013281139, -0.09637506, -0.012599709, -0.07281992, 0.09187619, 0.007194766) * conv2d_4_4_texOff(vec2(1, -1)); + result += mat4(0.04095932, -0.03357162, -0.06588229, 0.025510632, 0.2674117, -0.22785266, -0.12240091, -0.0013760128, -0.013565895, -0.00276124, -0.0021643194, -0.008356791, 0.0402258, -0.050306827, -0.10443381, -0.016622944) * conv2d_4_4_texOff(vec2(-1, 0)); + result += mat4(0.03470202, 0.041181553, 0.027053824, 0.106369026, 0.005251518, 0.011868653, 0.016954951, -0.21089609, -0.03974028, -0.05850968, 0.015647968, -0.11322036, 0.12823893, -0.08432836, 0.068121076, 0.16077763) * conv2d_4_4_texOff(vec2(0, 0)); + result += mat4(-0.024998384, -0.115426935, 0.057556707, -0.08807241, 0.03329757, -0.10197948, -0.028301943, 0.031340323, 0.016252283, -0.068719536, 0.01888513, -0.0068824687, -0.023013921, -0.058076188, 0.020755779, 0.0064459248) * conv2d_4_4_texOff(vec2(1, 0)); + result += mat4(-0.0060393657, 0.022092093, 0.0734516, -0.033276334, 0.24523115, 0.2430464, 0.26843286, -0.32153478, 0.03719015, -0.014183043, -0.0039644414, -0.029445626, -0.07057197, -0.094200134, -0.10454257, -0.024072656) * conv2d_4_4_texOff(vec2(-1, 1)); + result += mat4(-0.005762803, -0.098403946, 0.032143362, 0.03409906, 0.04295547, 0.004997708, -0.034336805, -0.052442804, 0.024350947, 0.09473848, 0.04116833, -0.022781879, 0.008769876, -0.010821418, -0.06514177, -0.015287337) * conv2d_4_4_texOff(vec2(0, 1)); + result += mat4(0.03298524, -0.023450147, 0.056532472, 0.04820627, 0.06645917, -0.035372693, 0.0062366608, -0.012253925, 0.0031285128, 0.07800529, -0.05330422, -0.0068239477, -0.03153592, -0.06303458, -0.0052032378, -0.052841794) * conv2d_4_4_texOff(vec2(1, 1)); + result += mat4(0.06980198, -0.007938026, -0.017063018, 0.047162212, 0.010251544, -0.07388823, 0.028271103, -0.00677798, -0.029080223, 0.0029963152, 0.060056947, 0.0835784, -0.0027231695, 0.009140382, 0.023132697, 0.027793132) * conv2d_4_5_texOff(vec2(-1, -1)); + result += mat4(-0.09639355, -0.0007255151, -0.043168895, -0.056482393, 0.0077212206, 0.020918498, -0.12696053, -0.0705045, -0.08151478, -0.013205512, 0.09157776, -0.09248994, 0.06787008, -0.048869498, -0.07316288, 0.0077557024) * conv2d_4_5_texOff(vec2(0, -1)); + result += mat4(0.037241574, 0.03713097, 0.10107685, -0.04167847, 0.04657428, -0.09126631, -0.024179278, -0.069651924, 0.029998157, -0.010647797, 0.042466883, 0.1047161, -0.10802436, -0.06271864, -0.025247434, -0.004706343) * conv2d_4_5_texOff(vec2(1, -1)); + result += mat4(-0.0712266, 0.011250825, 0.04025191, 0.06975699, -0.094956346, -0.06498642, -0.0216037, 0.08650955, -0.027008714, -0.10751367, -0.002686208, -0.06768062, -0.07280794, 0.05620467, 0.082205415, 0.075214274) * conv2d_4_5_texOff(vec2(-1, 0)); + result += mat4(-0.08280312, 0.0011460566, 0.01607163, -0.10064471, -0.1263765, -0.07537688, 0.13279788, 0.08772011, -0.025030404, -0.06478318, -0.06815474, -0.022436047, -0.043828335, 0.0019498218, -0.04975438, -0.042386193) * conv2d_4_5_texOff(vec2(0, 0)); + result += mat4(0.046281785, 0.06941192, 0.058062352, 0.034496132, -0.0224981, -0.08556613, 0.092020795, 0.008655339, -0.06495638, -0.033438765, 0.07444992, -0.024945073, -0.06979222, -0.05369701, 0.02639013, 0.05093163) * conv2d_4_5_texOff(vec2(1, 0)); + result += mat4(0.061115485, -2.7489514e-06, 0.04907979, 0.08755151, -0.109906875, 0.13293144, -0.0061956984, -0.055001926, 0.10604926, -0.036585126, -0.01129617, 0.06533925, 0.028951498, 0.02836822, -0.009285695, 0.031225085) * conv2d_4_5_texOff(vec2(-1, 1)); + result += mat4(-0.054955214, -0.014827114, -0.011391504, -0.1415423, -0.06984717, -0.033834234, -0.08672749, -0.08203714, -0.08083734, 0.096476376, 0.026909178, -0.05756255, -0.058520477, -0.057836547, 0.033693686, -0.000633979) * conv2d_4_5_texOff(vec2(0, 1)); + result += mat4(-0.072177984, 0.043209787, -0.039919898, -0.11016126, -0.046228252, 0.10044813, 0.031268172, 0.03537284, -0.02603923, -0.06400941, -0.053665984, 0.027109018, -0.019052014, -0.0098982, 0.04205872, -0.00763936) * conv2d_4_5_texOff(vec2(1, 1)); + result += mat4(-0.10131261, 0.07294803, 0.058457725, -0.09701802, -0.03572661, 0.06004882, 0.007814535, 0.036029443, -0.04847206, 0.022544416, -0.046989202, 0.04457287, 0.015332742, 0.02801241, 0.067985736, 0.010634278) * conv2d_4_6_texOff(vec2(-1, -1)); + result += mat4(0.013744527, 0.069068596, 0.17956209, 0.014133916, 0.038767934, 0.08231689, -0.0045722607, -0.0042078537, -0.02658582, -0.12694931, 0.036240965, 0.07121863, -0.09354095, -0.019289192, 0.098100014, 0.06732996) * conv2d_4_6_texOff(vec2(0, -1)); + result += mat4(-0.038938515, -0.03167146, -0.0012567732, 0.047824655, -0.07157453, 0.04418941, -0.014551912, -0.035124987, 0.028785449, 0.02682695, -0.06023985, -0.06667385, -0.013240203, 0.08523133, -0.005103467, 0.006903735) * conv2d_4_6_texOff(vec2(1, -1)); + result += mat4(-0.020899843, 0.058958724, 0.05317544, -0.06398717, -0.01966526, 0.07135247, -0.0020477425, -0.03075604, 0.068174906, 0.02354443, -0.022905147, -0.030394938, -0.07706818, 0.004408793, -0.03052902, 0.06714008) * conv2d_4_6_texOff(vec2(-1, 0)); + result += mat4(-0.08634797, -0.06523894, 0.023252988, -0.09636831, 0.06816247, 0.042835083, 0.08365992, -0.10609913, -0.05297124, 0.0042413375, 0.034709662, -0.0011367453, -0.010779664, -0.047121253, -0.038354006, -0.035943564) * conv2d_4_6_texOff(vec2(0, 0)); + result += mat4(0.051860645, -0.06394688, 0.06645791, -0.050849326, -0.0946434, 0.00290107, -0.06335382, 0.051045984, -0.016267888, -0.068001784, -0.041934684, 0.03915042, 0.01279213, 0.034656562, -0.10466623, -0.02332415) * conv2d_4_6_texOff(vec2(1, 0)); + result += mat4(-0.02785419, -0.089963436, 0.07942804, -0.012250017, 0.053166714, -0.034409646, 0.002525768, -0.060929403, -0.09435715, 0.00581492, 0.06780988, 0.08173522, -0.017907154, 0.07328727, -0.05810805, 0.06703041) * conv2d_4_6_texOff(vec2(-1, 1)); + result += mat4(-0.10841989, 0.025866363, -0.040193662, -0.04476122, 0.07598157, 0.014580666, -0.010487695, 0.0075905467, 0.041004002, 0.062421937, -0.017023217, 0.057668515, -0.010527608, 0.08871007, 0.025819842, 0.04186592) * conv2d_4_6_texOff(vec2(0, 1)); + result += mat4(0.016259976, 0.00875399, 0.09234057, -0.11611908, -0.10711838, -0.004175481, -0.049634323, 0.060516663, 0.0119442, 0.08958184, 0.08381795, -0.037994113, -0.010793835, -0.031942498, 0.08565561, 0.024797326) * conv2d_4_6_texOff(vec2(1, 1)); + result += mat4(0.046136722, 0.0478266, -0.003158088, -0.11279642, -0.031695813, -0.027098725, -0.082044065, 0.05553077, -0.0045024413, -0.015094009, -0.025931666, -0.058910236, -0.06116705, -0.063627474, 0.02103492, 0.009031596) * conv2d_4_7_texOff(vec2(-1, -1)); + result += mat4(-0.04414605, -0.095046096, 0.032809805, -0.08184362, 0.09131582, 0.016300326, 0.07270438, 0.017489854, -0.0384784, 0.074400164, 0.031727597, 0.045654103, 0.015872462, 0.02539864, 0.014262432, 0.026470609) * conv2d_4_7_texOff(vec2(0, -1)); + result += mat4(-0.039527193, -0.00022988305, -0.03284224, 0.043684322, -0.019189415, 0.06152483, 0.11235083, -0.15796722, 0.0020838324, -0.0018742892, -0.045828313, -0.09567685, -0.050994094, -0.004556612, 0.060133237, 0.11261262) * conv2d_4_7_texOff(vec2(1, -1)); + result += mat4(0.084179245, 0.0149169825, -0.035363227, -0.0435991, -0.09248099, 0.033441387, -0.026121316, 0.044969235, -0.04189926, 0.06723623, 0.038717676, 0.0388548, -0.065339096, 0.042821918, 0.053455207, -0.03305374) * conv2d_4_7_texOff(vec2(-1, 0)); + result += mat4(-0.0652578, 0.0814914, -0.087502435, -0.014426764, -0.060107917, -0.07230937, 0.03963055, -0.061515562, -0.10676588, 0.011324287, 0.09270469, -0.08671803, -0.093750544, -0.09810561, -0.07163893, -0.07288739) * conv2d_4_7_texOff(vec2(0, 0)); + result += mat4(0.07888964, 0.016953904, 0.047080345, -0.022342017, -0.066081196, 0.0046780207, 0.03669107, 0.008783624, 0.076003715, 0.009999698, -0.010853265, 0.0347905, -0.08681542, 0.06495628, 0.042112242, -0.025783714) * conv2d_4_7_texOff(vec2(1, 0)); + result += mat4(0.070680596, 0.03244454, -0.01974833, 0.021112045, 0.02290066, 0.027014915, -0.044182856, 0.07263731, -0.01968019, -0.039142694, 0.14349835, 0.027714746, 0.052184384, 0.04184255, -0.0012517895, 0.036755245) * conv2d_4_7_texOff(vec2(-1, 1)); + result += mat4(0.0506502, -0.053421464, 0.023829807, 0.0022872712, -0.111069776, -0.091984116, 0.06728056, -0.11610378, -0.09802359, -0.024736864, 0.045063097, 0.0642545, -0.011846853, 0.019056248, 0.06552419, -0.114702) * conv2d_4_7_texOff(vec2(0, 1)); + result += mat4(-0.08109886, 0.047195323, 0.05229554, -0.021077262, -0.00050660135, 0.017122546, 0.069651805, -0.0053617856, -0.013636263, -0.088768475, 0.013842211, -0.003643894, 0.017604552, -0.050271783, 0.01009005, -0.072123244) * conv2d_4_7_texOff(vec2(1, 1)); + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Conv2D-6) +//!HOOK LUMA +//!BIND conv2d_0 +//!BIND conv2d_5_0 +//!BIND conv2d_1 +//!BIND conv2d_5_1 +//!BIND conv2d_2 +//!BIND conv2d_5_2 +//!BIND conv2d_3 +//!BIND conv2d_5_3 +//!BIND conv2d_4 +//!BIND conv2d_5_4 +//!BIND conv2d_5 +//!BIND conv2d_5_5 +//!BIND conv2d_6 +//!BIND conv2d_5_6 +//!BIND conv2d_7 +//!BIND conv2d_5_7 +//!SAVE conv2d_6_0 +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.021847418, 0.026646165, 0.011850322, 0.014434359); + result += mat4(-0.009889723, 0.107426584, 0.10588578, 0.117848165, 0.018140769, -0.101157784, 0.12869132, -0.03993999, 0.11800438, -0.10776718, 0.028469682, -0.121964306, -0.11474333, 0.13988641, 0.043165147, -0.06879387) * (conv2d_5_0_texOff(vec2(-1, -1)) + conv2d_0_texOff(vec2(-1, -1))); + result += mat4(-0.08272097, 0.041290887, 0.099022225, -0.011922645, 0.07082447, -0.090813175, 0.075683005, 0.06656714, 0.13310888, 0.13118923, 0.12043658, 0.04507264, -0.061519895, -0.042148918, -0.12102407, -0.12075533) * (conv2d_5_0_texOff(vec2(0, -1)) + conv2d_0_texOff(vec2(0, -1))); + result += mat4(-0.082580544, -0.0169432, -0.0073487842, -0.06944377, 0.07274668, -0.06430736, -0.12353579, -0.08945525, 0.13101895, -0.02064397, 0.074082375, 0.14104354, -0.11047018, -0.0055680135, 0.065868996, -0.039104186) * (conv2d_5_0_texOff(vec2(1, -1)) + conv2d_0_texOff(vec2(1, -1))); + result += mat4(-0.12005796, 0.07697749, 0.04531692, -0.11641718, -0.117054924, 0.03221946, -0.122770704, -0.09175688, -0.066182405, -0.02511996, 0.11299264, 0.004624894, 0.16485572, -0.06323654, -0.12066121, 0.1830277) * (conv2d_5_0_texOff(vec2(-1, 0)) + conv2d_0_texOff(vec2(-1, 0))); + result += mat4(0.021346921, -0.11511446, 0.10552642, -0.075539336, -0.08416029, -0.0092619825, -0.023444602, -0.022710523, 0.13697603, -0.045544658, -0.12988809, 0.034301627, -0.041293673, -0.10742622, -0.08617979, -0.02573861) * (conv2d_5_0_texOff(vec2(0, 0)) + conv2d_0_texOff(vec2(0, 0))); + result += mat4(0.024931835, -0.124273114, 0.03005174, 0.04316463, 0.10248847, -0.087074816, 0.03963621, -0.048530318, 0.043088343, -0.059608374, -0.08955982, 0.12245904, -0.08305319, 0.04697694, 0.08706919, -0.029035097) * (conv2d_5_0_texOff(vec2(1, 0)) + conv2d_0_texOff(vec2(1, 0))); + result += mat4(-0.13240977, 0.063125856, 0.043315347, -0.06715619, -0.060174722, 0.06779033, 0.11082245, -0.047911294, -0.016781207, -0.06652067, 0.082457945, 0.0067089214, 0.09300894, 0.08480401, 0.15551749, 0.1900903) * (conv2d_5_0_texOff(vec2(-1, 1)) + conv2d_0_texOff(vec2(-1, 1))); + result += mat4(-0.1064147, -0.14778873, 0.08633301, -0.05080275, -0.08600322, -0.100250855, -0.025075044, 0.02453683, 0.10645042, -0.08988872, 0.1389828, 0.0383483, 0.07388225, -0.06545163, -0.057646044, 0.033050545) * (conv2d_5_0_texOff(vec2(0, 1)) + conv2d_0_texOff(vec2(0, 1))); + result += mat4(-0.020723853, -0.06370891, 0.042399444, -0.018407362, -0.10610045, 0.07719828, 0.037234597, 0.05652303, -0.028218718, -0.105358705, -0.036700584, 0.13422571, 0.038736776, 0.05496147, 0.011083889, -0.07012883) * (conv2d_5_0_texOff(vec2(1, 1)) + conv2d_0_texOff(vec2(1, 1))); + result += mat4(0.05507853, -0.064877145, -0.068202354, 0.007872365, 0.06504283, 0.008765951, -0.006273594, 0.042627636, 0.059748556, 0.13451117, 0.035352986, 0.07152882, 0.09390637, 0.03789373, 0.019364802, -0.06917438) * (conv2d_5_1_texOff(vec2(-1, -1)) + conv2d_1_texOff(vec2(-1, -1))); + result += mat4(0.14850765, -0.05705158, -0.026229361, 0.101184346, -0.057647802, -0.009180692, -0.04933765, 0.05577681, 0.06575017, -0.091740936, 0.07637389, -0.09021222, -0.13791797, 0.00957294, -0.046547107, 0.04441692) * (conv2d_5_1_texOff(vec2(0, -1)) + conv2d_1_texOff(vec2(0, -1))); + result += mat4(-0.08181453, -0.030555945, 0.030472921, 0.1404876, 0.024341168, 0.05807322, 0.03273376, 0.09021191, 0.08935805, 0.14098442, -0.060531504, 0.15890358, -0.14245775, 0.0019848233, -0.07680817, -0.09774224) * (conv2d_5_1_texOff(vec2(1, -1)) + conv2d_1_texOff(vec2(1, -1))); + result += mat4(-0.031514216, -0.04167903, 0.08246631, 0.014584688, 0.05976935, 0.041116446, 0.04677939, -0.021466255, 0.042953007, -0.03596629, 0.048946716, -0.08399769, 0.0054512797, -0.05578601, 0.09486538, -0.09220213) * (conv2d_5_1_texOff(vec2(-1, 0)) + conv2d_1_texOff(vec2(-1, 0))); + result += mat4(0.12012345, 0.051057506, 0.11104359, -0.0784043, 0.08403664, -0.15976667, 0.06170287, -0.01607247, 0.15147537, -0.0058507477, -0.029724007, 0.083429426, 0.038262177, -0.10291127, -0.13511777, 0.07234804) * (conv2d_5_1_texOff(vec2(0, 0)) + conv2d_1_texOff(vec2(0, 0))); + result += mat4(0.11362492, 0.08684666, 0.09316269, -0.04158782, 0.031316955, -0.04549336, -0.11191905, -0.0325677, -0.049919516, 0.09164861, -0.11002428, 0.15930308, 0.10104297, 0.009154749, -0.1479673, -0.11255062) * (conv2d_5_1_texOff(vec2(1, 0)) + conv2d_1_texOff(vec2(1, 0))); + result += mat4(-0.0541504, -0.04528494, 0.13204922, -0.090541504, -0.048034996, 0.052225154, -0.07274788, -0.03785433, -0.07571916, 0.13693441, 0.0063218456, 0.053333614, -0.12093652, 0.03429558, -0.14039129, -0.13950346) * (conv2d_5_1_texOff(vec2(-1, 1)) + conv2d_1_texOff(vec2(-1, 1))); + result += mat4(0.03472194, -0.07958794, 0.039616495, -0.065914415, -0.07448998, 0.026272302, 0.061311666, -0.055507936, 0.10685767, 0.12977247, -0.028291877, 0.062309526, 0.0155393, -0.07848709, 0.012367904, -0.1534338) * (conv2d_5_1_texOff(vec2(0, 1)) + conv2d_1_texOff(vec2(0, 1))); + result += mat4(-0.028905826, 0.074129164, 0.10185046, -0.04180984, -0.081622906, 0.026647031, 0.033843886, -0.027291045, -0.024282327, -0.06844674, -0.055534612, -0.07083669, -0.07678228, -0.06919842, 0.028143179, -0.14859995) * (conv2d_5_1_texOff(vec2(1, 1)) + conv2d_1_texOff(vec2(1, 1))); + result += mat4(-0.038610548, -0.020274684, -0.057042897, 0.034167133, -0.11589039, 0.036715418, 0.051606122, -0.02232649, -0.15177058, 0.034801513, 0.07103619, -0.03089962, -0.020324133, -0.04809382, -0.04390401, -0.13412596) * (conv2d_5_2_texOff(vec2(-1, -1)) + conv2d_2_texOff(vec2(-1, -1))); + result += mat4(-0.12325011, -0.047272738, -0.15519218, -0.122824736, -0.027285341, -0.014732394, 0.001489188, 0.034154113, -0.1422059, -0.053226165, 0.060148224, -0.003750647, -0.0066929394, -0.014880489, -0.054938853, 0.07320733) * (conv2d_5_2_texOff(vec2(0, -1)) + conv2d_2_texOff(vec2(0, -1))); + result += mat4(-0.03083291, 0.0400566, 0.11305639, -0.060669146, 0.10630148, -0.09248155, -0.055245712, -0.044928297, 0.07759704, -0.05869562, -0.03068918, -0.07616917, 0.02789613, 0.043180127, -0.080117784, 0.05126517) * (conv2d_5_2_texOff(vec2(1, -1)) + conv2d_2_texOff(vec2(1, -1))); + result += mat4(-0.032688167, 0.023993265, 0.08068286, -0.07735461, 0.0069557265, 0.05322553, -0.00049117795, 0.11607366, 0.05715207, 0.0388371, 0.072840944, -0.068919726, -0.015728386, -0.020623589, -0.09395514, -0.13446343) * (conv2d_5_2_texOff(vec2(-1, 0)) + conv2d_2_texOff(vec2(-1, 0))); + result += mat4(0.024281338, -0.07151701, -0.06858955, 0.118048854, -0.16135125, 0.01914822, -0.056346506, -0.025911842, -0.050154593, -0.05730583, -0.06605983, 0.0074625676, 0.04686356, -0.10403883, 0.053533107, -0.04333147) * (conv2d_5_2_texOff(vec2(0, 0)) + conv2d_2_texOff(vec2(0, 0))); + result += mat4(0.07407847, 0.12688702, -0.1690811, 0.07378097, 0.0025863235, -0.061517105, 0.0014627796, -0.03065168, 0.03938891, 0.015245025, -0.08621007, -0.036925904, 0.101576276, -0.14521548, -0.11365519, 0.08474112) * (conv2d_5_2_texOff(vec2(1, 0)) + conv2d_2_texOff(vec2(1, 0))); + result += mat4(-0.018936193, 0.10882419, 0.12183127, -0.010035943, 0.06797575, -0.07815447, -0.031861592, 0.09687522, 0.05778997, -0.06398369, -0.13992098, 0.016654167, -0.0023147091, 0.026806204, -0.0058803707, 0.06615763) * (conv2d_5_2_texOff(vec2(-1, 1)) + conv2d_2_texOff(vec2(-1, 1))); + result += mat4(0.07607535, -0.0049275644, 0.026641654, -0.004615904, -9.637699e-05, 0.030199843, 0.039668366, 0.091166794, -0.009268563, -0.048668653, -0.11870905, -0.14114761, 0.10159986, -0.05577062, 0.13168594, 0.0051775635) * (conv2d_5_2_texOff(vec2(0, 1)) + conv2d_2_texOff(vec2(0, 1))); + result += mat4(0.023957014, -0.05875124, 0.067158006, 0.04266159, 0.004510497, 0.095900245, 0.04339099, -0.019153047, 0.050156068, -0.02761823, 0.049096994, -0.11482893, -0.058818992, 0.093764886, -0.11661214, 0.062485814) * (conv2d_5_2_texOff(vec2(1, 1)) + conv2d_2_texOff(vec2(1, 1))); + result += mat4(-0.065275274, 0.06901569, 0.044895206, -0.00034929172, 0.1144739, -0.13414823, -0.0010720423, 0.08693496, -0.09804944, 0.12290973, 0.14176534, 0.090081915, 0.09318766, -0.041906822, -0.07530691, 0.008571557) * (conv2d_5_3_texOff(vec2(-1, -1)) + conv2d_3_texOff(vec2(-1, -1))); + result += mat4(0.0062674894, 0.037356023, -0.08254996, 0.089546956, -0.11210089, -0.10049833, -0.041799564, -0.030619636, -0.09342691, 0.013172244, 0.089057244, 0.006462729, 0.08131253, -0.09599988, 0.043854766, -0.079230994) * (conv2d_5_3_texOff(vec2(0, -1)) + conv2d_3_texOff(vec2(0, -1))); + result += mat4(-0.034176838, -0.010650013, -0.067221016, -0.0062093735, -0.0646725, 0.02090128, -0.007796947, 0.08293779, 0.009655644, 0.0824626, -0.09050351, -0.0666367, 0.062815, 0.01306095, 0.09755534, -0.028587613) * (conv2d_5_3_texOff(vec2(1, -1)) + conv2d_3_texOff(vec2(1, -1))); + result += mat4(0.025332361, 0.023818921, -0.084787056, -0.16049877, 0.13044329, 0.008272174, -0.07526846, -0.07794514, 0.0038539306, -0.0905925, 0.079660796, -0.108867474, -0.0146711385, 0.12710679, 0.107516944, 0.058867265) * (conv2d_5_3_texOff(vec2(-1, 0)) + conv2d_3_texOff(vec2(-1, 0))); + result += mat4(0.13299024, -0.06469374, -0.054824065, -0.12750366, 0.040624928, -0.08176763, -0.14657868, -0.046965428, 0.10681233, -0.009713924, -0.07754843, -0.0011731939, -0.08652289, 0.15996973, -0.015402409, 0.11257197) * (conv2d_5_3_texOff(vec2(0, 0)) + conv2d_3_texOff(vec2(0, 0))); + result += mat4(0.010991274, 0.026577672, 0.18401393, 0.12063748, 0.069864765, -0.06087476, -0.09775771, 0.036055006, 0.12424466, 0.0194088, -0.037726786, -0.006331844, 0.08882869, 0.15414844, 0.13069434, 0.07955147) * (conv2d_5_3_texOff(vec2(1, 0)) + conv2d_3_texOff(vec2(1, 0))); + result += mat4(0.081557706, -0.015223849, 0.1256363, -0.0020331529, -0.061796255, 0.06705122, -0.022411881, -0.06694354, -0.05556523, -0.113035664, -0.08325967, 0.054191086, 0.034938864, -0.06782736, 0.05090826, -0.07517639) * (conv2d_5_3_texOff(vec2(-1, 1)) + conv2d_3_texOff(vec2(-1, 1))); + result += mat4(-0.07740859, -0.020653328, 0.04004339, 0.051557276, -0.021987094, 0.08971494, -0.059461825, -0.112324536, 0.02345627, -0.04284318, -0.003877329, 0.08949694, 0.12661166, -0.0952757, 0.13282274, -0.040081132) * (conv2d_5_3_texOff(vec2(0, 1)) + conv2d_3_texOff(vec2(0, 1))); + result += mat4(-0.0735315, -0.05321731, -0.107028395, 0.03929505, 0.09488444, -0.10530927, -0.10786457, 0.113741666, -0.021365345, 0.019902917, -0.012836721, -0.057479627, 0.009910866, -0.059033915, 0.03307595, -0.07967447) * (conv2d_5_3_texOff(vec2(1, 1)) + conv2d_3_texOff(vec2(1, 1))); + result += mat4(-0.06033095, 0.03627823, 0.052848518, -0.035031676, -0.03033548, -0.007929398, 0.0059127947, 0.08432937, -0.075383276, 0.010824598, -0.11165427, -0.039368816, -0.104095295, -0.0009789746, 0.12103073, 0.09744369) * (conv2d_5_4_texOff(vec2(-1, -1)) + conv2d_4_texOff(vec2(-1, -1))); + result += mat4(0.012977187, 0.01588767, -0.041434318, 0.09354139, -0.058879897, -0.08342745, -0.11737834, -0.012329137, -0.078917824, -0.01578777, 0.09866566, 0.10685694, 0.13492404, -0.00084650837, 0.13651535, -0.09563981) * (conv2d_5_4_texOff(vec2(0, -1)) + conv2d_4_texOff(vec2(0, -1))); + result += mat4(-0.062412236, 0.012309302, -0.06654866, -0.060045626, 0.076070234, 0.022439279, -0.05909289, 0.09593435, -0.029613892, -0.045536336, 0.08598551, 0.04168893, 0.04547852, 0.042368207, 0.006385194, 0.0432506) * (conv2d_5_4_texOff(vec2(1, -1)) + conv2d_4_texOff(vec2(1, -1))); + result += mat4(0.1418316, 0.053111203, 0.07461725, -0.028062334, 0.045339163, 0.024057476, -0.07077655, -0.01940449, 0.05490115, 0.010948397, 0.031089637, -0.0841661, 0.09754551, -0.0041401396, 0.026638204, 0.09137845) * (conv2d_5_4_texOff(vec2(-1, 0)) + conv2d_4_texOff(vec2(-1, 0))); + result += mat4(0.1075937, -0.111033805, 0.12105742, 0.048843738, 0.018550912, 0.11675641, 0.058269236, -0.1359357, -0.025013477, -0.08957631, 0.023526201, 0.04460329, 0.012490912, 0.04626943, -0.109712586, 0.14078695) * (conv2d_5_4_texOff(vec2(0, 0)) + conv2d_4_texOff(vec2(0, 0))); + result += mat4(0.033626474, -0.0002483226, -0.04802692, 0.06377609, 0.039686877, -0.071307935, -0.087567285, 0.0006246888, 0.03055763, 0.06843851, 0.064201266, 0.024641456, -0.077222325, 0.11867135, 0.123936735, -0.07589131) * (conv2d_5_4_texOff(vec2(1, 0)) + conv2d_4_texOff(vec2(1, 0))); + result += mat4(-0.0859747, 0.086069554, 0.06489656, -0.07656327, 0.031045824, 0.058257002, 0.032387488, -0.0031756773, 0.057133395, 0.07345089, -0.05368928, 0.047411606, -0.035005454, 0.064461485, 0.1338667, 0.12069) * (conv2d_5_4_texOff(vec2(-1, 1)) + conv2d_4_texOff(vec2(-1, 1))); + result += mat4(-0.0025389083, -0.12292235, -0.16139406, 0.072129555, -0.071909845, -0.09583314, 0.14803094, -0.027871747, 0.08812949, -0.02312079, -0.024450697, -0.21567358, 0.13224621, 0.09238431, -0.065742746, 0.040664464) * (conv2d_5_4_texOff(vec2(0, 1)) + conv2d_4_texOff(vec2(0, 1))); + result += mat4(-0.061340276, -0.039551627, 0.031665865, -0.0681596, -0.058560953, 0.058823097, 0.082561016, 0.01071594, 0.03266717, -0.011926166, -0.10392901, -0.010306808, 0.045369055, 0.11518302, 0.042829506, 0.08640199) * (conv2d_5_4_texOff(vec2(1, 1)) + conv2d_4_texOff(vec2(1, 1))); + result += mat4(0.13876781, 0.06868214, 0.033045463, -0.013353859, 0.022695567, -0.09690057, -0.176352, 0.017580736, 0.049070034, 0.09637348, 0.020604959, 0.03810578, 0.055598292, 0.061647877, -0.01694186, -0.075113) * (conv2d_5_5_texOff(vec2(-1, -1)) + conv2d_5_texOff(vec2(-1, -1))); + result += mat4(0.115550265, 0.089861035, 0.02034821, 0.053508356, 0.011959433, 0.04733933, 0.02691437, 0.024250992, 0.07752621, -0.09140851, 0.06790552, -0.0056148027, 0.041443706, 0.09341534, -0.043190744, 0.07752911) * (conv2d_5_5_texOff(vec2(0, -1)) + conv2d_5_texOff(vec2(0, -1))); + result += mat4(-0.06736168, -0.069730304, 0.07701787, -0.10503662, -0.044606134, 0.062927775, 0.1069412, 0.08200064, 0.0745179, -0.06610092, -0.054003477, -0.054822996, -0.079359695, 0.0798159, -0.03327212, -0.0231724) * (conv2d_5_5_texOff(vec2(1, -1)) + conv2d_5_texOff(vec2(1, -1))); + result += mat4(-0.00927329, 0.1272737, 0.06648089, 0.19039331, -0.0798155, -0.08047462, -0.10769102, -0.048133183, -0.13303444, 0.0031354143, -0.06276192, 0.14794493, -0.035050984, -0.072026655, -0.033452168, 0.07506941) * (conv2d_5_5_texOff(vec2(-1, 0)) + conv2d_5_texOff(vec2(-1, 0))); + result += mat4(-0.13203675, -0.042595286, -0.044016305, -0.06892702, 0.06692011, -0.06232152, 0.05409296, -0.0682053, 0.1406782, -0.07885134, -0.07600874, -0.03380045, -0.069045246, -0.11688943, -0.02427496, -0.05392846) * (conv2d_5_5_texOff(vec2(0, 0)) + conv2d_5_texOff(vec2(0, 0))); + result += mat4(-0.052187707, -0.06381237, -0.010658575, 0.044476148, -0.021930352, 0.08826503, 0.03818054, -0.11083318, -0.00015776425, -0.06649383, -0.0032059704, -0.028640732, 0.10641995, 0.044232342, -0.040233996, 0.02739765) * (conv2d_5_5_texOff(vec2(1, 0)) + conv2d_5_texOff(vec2(1, 0))); + result += mat4(0.015347434, -0.07364226, 0.031039512, 0.08319799, -0.012497082, 0.034464035, 0.08481253, 0.092957534, -0.20382792, -0.00076027925, -0.013777509, -0.053198054, -0.07030414, -0.03641005, -0.025523052, -0.013892217) * (conv2d_5_5_texOff(vec2(-1, 1)) + conv2d_5_texOff(vec2(-1, 1))); + result += mat4(-0.006696781, -0.041883096, 0.019244183, -0.12617157, 0.0359939, -0.031422123, 0.047977388, 0.07055464, -0.031196054, 0.07031316, 0.111958586, 0.037065055, 0.026362488, -0.10882736, 0.12730294, 0.023527438) * (conv2d_5_5_texOff(vec2(0, 1)) + conv2d_5_texOff(vec2(0, 1))); + result += mat4(0.009448472, -0.063160375, -0.1642052, -0.021492379, 0.0011432884, 0.07652323, -0.08265617, -0.08747558, 0.025054729, 0.120274656, 0.019250141, -0.03365696, 0.0804894, 0.026401615, 0.08423651, -0.06560704) * (conv2d_5_5_texOff(vec2(1, 1)) + conv2d_5_texOff(vec2(1, 1))); + result += mat4(0.038010545, -0.09715507, 0.104721285, 0.06780992, 0.08221596, -0.012030044, -0.08024616, 0.09523179, 0.02985734, -0.054624137, -0.029090779, 0.13911004, 0.11874274, 0.0052255085, 0.042985696, 0.027175697) * (conv2d_5_6_texOff(vec2(-1, -1)) + conv2d_6_texOff(vec2(-1, -1))); + result += mat4(0.098946586, 0.1059694, -0.06366852, 0.1520391, -0.057124313, -0.010740213, 0.05559705, 0.018662447, 0.14260785, 0.024396833, -0.025115801, -0.021973839, 0.08717166, -0.031875204, -0.037044857, 0.014775525) * (conv2d_5_6_texOff(vec2(0, -1)) + conv2d_6_texOff(vec2(0, -1))); + result += mat4(-0.12426093, 0.02691079, 0.12805024, 0.063780695, -0.06108068, 0.010586753, 0.114039615, 0.09757257, 0.07469282, 0.10514521, 0.0839292, 0.07745791, 0.037168927, 0.063452974, 0.0019634948, 0.09500998) * (conv2d_5_6_texOff(vec2(1, -1)) + conv2d_6_texOff(vec2(1, -1))); + result += mat4(-0.07394943, -0.07570921, 0.0041035367, 0.047529235, -0.038753167, -0.017164256, 0.0096607655, 0.050784484, -0.07233103, 0.048929688, -0.037705053, 0.07340194, 0.029293973, -0.0468146, -0.04660664, 0.0045642066) * (conv2d_5_6_texOff(vec2(-1, 0)) + conv2d_6_texOff(vec2(-1, 0))); + result += mat4(-0.10260263, 0.096363164, -0.07513548, -0.0680366, -0.0035209234, -0.12740667, 0.055345953, -0.14421564, -0.010858182, -0.12662834, -0.10428672, -0.04521833, -0.15586093, -0.10488232, -0.09281443, 0.019944655) * (conv2d_5_6_texOff(vec2(0, 0)) + conv2d_6_texOff(vec2(0, 0))); + result += mat4(-0.0116653545, -0.16215162, -0.04098625, -0.11926856, -0.011857111, -0.11974456, 0.036846664, -0.09429568, -0.1180808, 0.011833267, 0.005990785, -0.10276338, 0.11809611, -0.054714277, 0.111505084, -0.052255485) * (conv2d_5_6_texOff(vec2(1, 0)) + conv2d_6_texOff(vec2(1, 0))); + result += mat4(0.038799692, 0.058917932, -0.023270492, 0.0075751976, 0.0030726208, 0.06054327, -0.089182384, 0.07728154, -0.11416591, 0.12852122, -0.07432498, -0.027579287, 0.03550543, 0.014096266, 0.11027244, -0.08314223) * (conv2d_5_6_texOff(vec2(-1, 1)) + conv2d_6_texOff(vec2(-1, 1))); + result += mat4(0.08908669, -0.06476548, -0.034033988, -0.20558204, -0.052289642, 0.11002392, 0.0015897361, 0.10841385, -0.0024856469, -0.07484477, -0.09080256, -0.022032047, -0.08309624, -0.06782813, -0.0692113, -0.06293487) * (conv2d_5_6_texOff(vec2(0, 1)) + conv2d_6_texOff(vec2(0, 1))); + result += mat4(0.03649667, 0.09055112, 0.018688912, 0.082363434, 0.043749433, -0.13325581, -0.119827054, 0.0949446, -0.017013304, -0.033388287, -0.030499758, -0.023140043, -0.026683433, 0.05023829, 0.03912722, -0.052578084) * (conv2d_5_6_texOff(vec2(1, 1)) + conv2d_6_texOff(vec2(1, 1))); + result += mat4(-0.019042466, 0.14002052, 0.004113746, 0.07761637, -0.042550515, 0.12576485, -0.041157007, 0.010917246, -0.023139777, -0.05405823, 0.033175036, -0.013108712, -0.035886444, 0.07384537, 0.054485504, -0.08691029) * (conv2d_5_7_texOff(vec2(-1, -1)) + conv2d_7_texOff(vec2(-1, -1))); + result += mat4(-0.045807455, 0.05519643, 0.10812755, -0.03254344, -0.043689255, 0.09755419, 0.03311443, 0.038935736, -0.05642101, 0.12669212, 0.021292599, -0.02206848, 0.054330144, 0.06670545, -0.052252807, -0.08459566) * (conv2d_5_7_texOff(vec2(0, -1)) + conv2d_7_texOff(vec2(0, -1))); + result += mat4(0.012531928, 0.065492004, 0.0052607893, -0.021958983, -0.012012001, -0.11019855, -0.056713916, 0.016259747, 0.0449917, -0.057885606, -0.06446219, -0.0709703, -0.0017664544, -0.07331448, 0.097635284, 0.05575406) * (conv2d_5_7_texOff(vec2(1, -1)) + conv2d_7_texOff(vec2(1, -1))); + result += mat4(-0.015978528, 0.0303654, 0.06871306, -0.08383344, -0.0700891, 0.06826183, 0.010757437, -0.100237295, 0.16491723, -0.01612695, -0.032338638, 0.024501136, 0.087695986, 0.06899872, -0.026437053, 0.10436714) * (conv2d_5_7_texOff(vec2(-1, 0)) + conv2d_7_texOff(vec2(-1, 0))); + result += mat4(0.05155355, 0.15711448, -0.11463999, -0.046241775, -0.02633194, -0.008750438, -0.078078955, 0.019978995, 0.028261948, 0.103979036, -0.10257396, 0.04621247, 0.059579514, -0.05614224, -0.08941169, -0.080937944) * (conv2d_5_7_texOff(vec2(0, 0)) + conv2d_7_texOff(vec2(0, 0))); + result += mat4(-0.104678966, -0.07561473, 0.14333472, -0.057526626, -0.078345545, 0.014360202, -0.1171691, 0.12354993, -0.07886367, -0.06885821, 0.13227995, 0.060824133, -0.07373966, 0.10555499, 0.051356293, 0.10234158) * (conv2d_5_7_texOff(vec2(1, 0)) + conv2d_7_texOff(vec2(1, 0))); + result += mat4(0.05895332, -0.081905864, 0.12790038, -0.08944263, -0.03125902, -0.09716518, 0.081765376, 0.11624531, -0.015956925, 0.08539165, -0.034983005, -0.06682768, -0.024538064, -0.02871789, -0.06610821, -0.098415084) * (conv2d_5_7_texOff(vec2(-1, 1)) + conv2d_7_texOff(vec2(-1, 1))); + result += mat4(0.048307456, 0.030448053, 0.11490772, -0.058947746, -0.020692637, -0.062146083, 0.115900256, 0.067224145, -0.012700466, -0.070879586, 0.13357896, -0.0032322167, 0.0030411538, -0.1113178, 0.016544277, -0.05452447) * (conv2d_5_7_texOff(vec2(0, 1)) + conv2d_7_texOff(vec2(0, 1))); + result += mat4(0.13657583, -0.034036197, -0.037768003, 0.057454884, -0.036387827, -0.015774753, 0.015907431, -0.047219492, -0.09202313, 0.0010871533, -0.08542228, 0.02822273, -0.11011381, -0.059364233, 0.10220021, 0.098983645) * (conv2d_5_7_texOff(vec2(1, 1)) + conv2d_7_texOff(vec2(1, 1))); + return result; +} + +//!DESC [AniSD_ArtCNN_C4F32_i4] (Depth-To-Space) +//!HOOK LUMA +//!BIND conv2d_6_0 +//!WIDTH LUMA.w 2.0 * +//!HEIGHT LUMA.h 2.0 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +vec4 hook() { + vec4 result = vec4(0.0, 0.0, 0.0, 1.0); + vec2 f0 = fract(conv2d_6_0_pos * conv2d_6_0_size); + ivec2 i0 = ivec2(f0 * vec2(2.0)); + result.x = conv2d_6_0_tex((vec2(0.5) - f0) * conv2d_6_0_pt + conv2d_6_0_pos)[i0.y * 2 + i0.x]; + return clamp(result, 0.0, 1.0); +} + diff --git a/shaders/Ani4K/AniSD_ArtCNN_C4F32_i4_CMP.glsl b/shaders/Ani4K/AniSD_ArtCNN_C4F32_i4_CMP.glsl new file mode 100644 index 0000000..e27fb1f --- /dev/null +++ b/shaders/Ani4K/AniSD_ArtCNN_C4F32_i4_CMP.glsl @@ -0,0 +1,3520 @@ +// Ani4Kv2 ArtCNN - trained by Sirosky and distributed on the CC BY-NC 4.0 license. +// The ArtCNN architecture is further subject to the below license. + + +// MIT License + +// Copyright (c) 2024 Joao Chrisostomo + +// 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. + +//!DESC [AniSD_ArtCNN_C4F32_i4_CMP] (Conv2D) +//!COMPUTE 16 16 2 16 +//!HOOK LUMA +//!BIND LUMA +//!SAVE conv2d +//!WIDTH LUMA.w 8.0 * +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#ifdef GL_EXT_shader_explicit_arithmetic_types_float16 +# define V4 f16vec4 +# define M4 f16mat4 +# define F float16_t +#else +# define V4 vec4 +# define M4 mat4 +# define F float +#endif + +const ivec2 ksize = ivec2(3, 3); +const ivec2 offset = ksize / 2; +const ivec2 isize = ivec2(gl_WorkGroupSize) + ksize - 1; +shared F inp[1][isize.y][isize.x]; +void hook() { + ivec2 base = ivec2(gl_WorkGroupID) * ivec2(gl_WorkGroupSize); + for (uint y = gl_LocalInvocationID.y; y < isize.y; y += gl_WorkGroupSize.y) { + for (uint x = gl_LocalInvocationID.x; x < isize.x; x += gl_WorkGroupSize.x) { + inp[0][y][x] = F(LUMA_mul * texelFetch(LUMA_raw, (base + ivec2(x,y) - offset) * ivec2(1, 1) + ivec2(0, 0), 0).x); + } + } + + barrier(); + V4 result0 = V4(0.013978721, 0.0031982274, -0.00406756, 0.01177468); + result0 += V4(-0.06260866, 0.082763985, 0.14164732, -0.053588256) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += V4(-0.09699689, -0.027224675, 0.021248084, -0.023265827) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += V4(0.020285383, -0.011549137, 0.01538485, 0.15310518) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += V4(-0.110058516, -0.12534232, -0.056161627, -0.054789178) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += V4(-0.013677861, -0.0032800715, -0.008504447, -0.0106763) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += V4(-0.109512135, 0.07647615, 0.012072265, 0.015106865) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += V4(-0.034681413, 0.016010936, -0.06279752, -0.101619415) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += V4(0.115545586, -0.10168375, 0.14183502, 0.02548805) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += V4(0.01416855, -0.0008652157, -0.021325836, 0.037982244) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos0 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(0, 0); + imageStore(out_image, store_pos0, result0); + V4 result1 = V4(-0.0042411904, 0.004277534, -0.013120737, 0.0027991557); + result1 += V4(-0.11594862, 0.02705099, 0.14033581, -0.074022576) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += V4(0.116293706, 0.046568174, 0.1394961, -0.14125156) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += V4(-0.04989585, -0.0828565, 0.04881033, 0.03178709) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += V4(0.016412597, -0.10743466, 0.024738258, -0.10375271) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += V4(0.100310855, 0.06670079, -0.11601908, -0.07392482) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += V4(0.03984705, -0.0096552335, 0.14489032, -0.10833145) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += V4(0.04296173, 0.07297119, 0.046887636, -0.0297815) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += V4(-0.060959492, -0.027501214, 0.1303518, -0.13515003) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += V4(0.07429501, 0.010965697, 0.04649, 0.06157589) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos1 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(1, 0); + imageStore(out_image, store_pos1, result1); + V4 result2 = V4(-0.0024795982, -0.008282674, 0.01554379, 0.014000561); + result2 += V4(0.013022686, -0.13729435, -0.010445361, 0.024342334) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += V4(0.0742076, 0.06981985, 0.009131572, -0.0888716) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += V4(0.036306072, 0.11762731, -0.05186239, 0.016985675) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += V4(-0.010559445, -0.14884269, 0.063748084, -0.11451124) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += V4(0.04135019, -0.11892858, -0.032825522, 0.08911688) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += V4(0.0948156, 0.14426383, 0.012893541, 0.0058735134) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += V4(-0.020029929, 0.11136897, -0.028878719, 0.109275356) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += V4(-0.14923672, -0.08768057, -0.099280015, -0.030968973) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += V4(-0.07608398, 0.063041, -0.10544221, -0.080536954) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos2 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(2, 0); + imageStore(out_image, store_pos2, result2); + V4 result3 = V4(-0.002182056, 0.006310906, -0.007791593, -0.005081797); + result3 += V4(-0.12475879, -0.11718962, 0.09985407, -0.019534342) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += V4(0.029629165, 0.09462139, -0.0680067, 0.13870773) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += V4(-0.02313818, 0.024657542, -0.04665924, -0.08719772) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += V4(0.058056727, -0.06617239, 0.07205129, 0.10497648) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += V4(0.1788897, 0.0009254218, -0.042583827, 0.027515013) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += V4(-0.1344009, -2.5660804e-05, -0.11867892, 0.098130755) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += V4(-0.04432908, -0.14196847, -0.16525033, -0.10226216) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += V4(0.028377859, -0.09404305, 0.12957275, 0.13308458) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += V4(0.0356926, 0.05010477, 0.1536443, 0.04134981) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos3 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(3, 0); + imageStore(out_image, store_pos3, result3); + V4 result4 = V4(0.002427759, -0.0032887238, 0.0003240174, -0.0014591495); + result4 += V4(-0.15028566, 0.18225344, 0.13219613, 0.050297726) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += V4(0.08042322, -0.02087564, -0.09474448, 0.07754841) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += V4(-0.16028786, 0.11312182, 0.12515414, 0.07619896) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += V4(0.08674672, -0.095186844, -0.006784192, 0.06623582) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += V4(0.033118956, -0.10453986, -0.12972914, 0.15729931) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += V4(0.095563754, -0.09031441, -0.10949225, 0.07216112) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += V4(0.06390575, 0.015591018, 0.118863635, 0.119465075) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += V4(0.05376685, -0.030794805, 0.100771636, 0.14795654) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += V4(-0.10094857, 0.0366277, -0.13553415, -0.11201839) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos4 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(4, 0); + imageStore(out_image, store_pos4, result4); + V4 result5 = V4(0.001394779, -0.0072305053, -0.0030902666, -0.0069876867); + result5 += V4(-0.056897268, 0.0708558, -0.1085677, 0.11055367) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += V4(-0.13106574, 0.068432495, 0.02279089, -0.07824431) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += V4(0.0063514807, 0.07062718, -0.08329046, 0.05606946) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += V4(0.0064052027, -0.020656021, 0.08378912, 0.031368513) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += V4(-0.08319203, -0.13002487, -0.0448469, -0.11016698) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += V4(0.056535464, 0.001522267, 0.02288951, -0.10872341) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += V4(0.05807748, 0.06568853, 0.0070188497, 0.0456562) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += V4(-0.010281286, -0.029829085, 0.004351042, 0.1035671) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += V4(0.14473234, -0.09231029, 0.10187594, -0.040507786) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos5 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(5, 0); + imageStore(out_image, store_pos5, result5); + V4 result6 = V4(0.0080422275, 0.009037509, 0.010156446, 0.011443132); + result6 += V4(0.0066208327, -0.11260479, 0.04830371, 0.049707055) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += V4(-0.120107174, 0.050798908, -0.1463938, -0.12429945) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += V4(-0.07376781, -0.12456761, -0.018031595, -0.10637738) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += V4(-0.026657827, 0.02006576, 0.08417361, 0.118596874) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += V4(-0.043339457, 0.12896782, 0.10156586, -0.12109) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += V4(0.13702823, 0.004683143, -0.11548332, 0.14971596) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += V4(-0.03141364, -0.042994354, -0.09071766, 0.081247814) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += V4(0.03361517, 0.016852874, -0.038877808, 0.0032291883) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += V4(0.110981084, 0.0138866035, 0.10443184, -0.067183435) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos6 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(6, 0); + imageStore(out_image, store_pos6, result6); + V4 result7 = V4(-0.012365459, 0.00826808, 0.013948916, -0.015842063); + result7 += V4(0.12346209, -0.0016275266, 0.09607402, 0.059844337) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += V4(0.03911992, -0.05424452, -0.031176982, -0.15148336) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += V4(0.12780531, 0.017826343, -0.10154654, -0.053268697) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += V4(0.06311205, -0.10683569, -0.046949495, -0.0019249945) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += V4(0.027781257, 0.10045284, 0.080609575, 0.09789442) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += V4(0.08038794, 0.104880646, 0.13838705, -0.0011057177) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += V4(0.036436137, -0.11746025, -0.123186596, 0.100112535) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += V4(-0.03413955, -0.02780014, 0.083691984, -0.048387755) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += V4(0.0043313275, 0.019878542, -0.1259369, 0.028067157) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos7 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(7, 0); + imageStore(out_image, store_pos7, result7); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4_CMP] (Conv2D-1-ReLU) +//!COMPUTE 16 16 2 16 +//!HOOK LUMA +//!BIND conv2d +//!SAVE conv2d_1 +//!WIDTH LUMA.w 8.0 * +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#ifdef GL_EXT_shader_explicit_arithmetic_types_float16 +# define V4 f16vec4 +# define M4 f16mat4 +# define F float16_t +#else +# define V4 vec4 +# define M4 mat4 +# define F float +#endif + +const ivec2 ksize = ivec2(3, 3); +const ivec2 offset = ksize / 2; +const ivec2 isize = ivec2(gl_WorkGroupSize) + ksize - 1; +shared V4 inp[8][isize.y][isize.x]; +void hook() { + ivec2 base = ivec2(gl_WorkGroupID) * ivec2(gl_WorkGroupSize); + for (uint y = gl_LocalInvocationID.y; y < isize.y; y += gl_WorkGroupSize.y) { + for (uint x = gl_LocalInvocationID.x; x < isize.x; x += gl_WorkGroupSize.x) { + inp[0][y][x] = V4(conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(0, 0), 0)); + inp[1][y][x] = V4(conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(1, 0), 0)); + inp[2][y][x] = V4(conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(2, 0), 0)); + inp[3][y][x] = V4(conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(3, 0), 0)); + inp[4][y][x] = V4(conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(4, 0), 0)); + inp[5][y][x] = V4(conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(5, 0), 0)); + inp[6][y][x] = V4(conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(6, 0), 0)); + inp[7][y][x] = V4(conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(7, 0), 0)); + } + } + + barrier(); + V4 result0 = V4(-0.026006414, -0.0028226124, 0.0040266206, 0.0070237666); + result0 += M4(0.077940084, 0.033206068, 0.042917658, 0.035930313, 0.20162073, 0.013023307, -0.027915772, 0.11971512, -0.23718762, -0.0728541, -0.06932467, 0.037109192, -0.033500906, -0.100404225, -0.046477325, -0.02887065) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.058187984, 0.039409418, 0.06827895, -0.105029754, 0.064815976, 0.03549751, 0.06082835, -0.028284416, -0.26486346, 0.037748683, -0.0788508, 0.05780628, -0.12665667, 0.1823963, -0.024215914, 0.16817258) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.07118927, 0.040462278, -0.09163839, 0.051932186, 0.20411053, -0.05156568, -0.0722339, 0.038223766, -0.4521338, 0.005142939, -0.09197289, -0.08815807, -0.15422633, 0.0086276885, 0.100247145, -0.08066984) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.07715419, 0.06063353, 0.053762943, -0.003174311, 0.069803655, 0.118988186, 0.15655239, 0.0795532, -0.25642282, 0.0012356808, 0.05875401, -0.029261366, 0.01072249, -0.021336922, 0.20982938, 0.04217777) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.071698196, 0.088109314, -0.039189402, 0.029513026, 0.11471397, 0.024589298, 0.041664217, 0.05160716, -0.36980578, 0.073315546, -0.042617526, 0.07353263, -0.028098129, 0.09716177, 0.116838045, 0.010979695) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.027965788, -0.072462015, 0.051428042, 0.030809369, 0.05345404, -0.015753852, -0.082770474, -0.0676433, -0.05971514, -0.049180083, -0.0825884, -0.049660455, 0.031364635, -0.053660635, -0.14377405, -0.11092187) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.041862525, -0.013211729, 0.052855086, 0.10398823, 0.08074529, -0.024640104, -0.043727692, 0.12716116, 0.113547064, 0.07509082, -0.06322121, -0.07738947, 0.1815431, 0.14841576, 0.1363694, 0.021791993) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.09239948, -0.009127995, 0.066610165, 0.07530418, 0.021212246, 0.029805498, 0.062551245, -0.007714251, -0.06532647, -0.12883712, 0.10572261, -0.06049368, 0.10082813, -0.0032476373, -0.023460638, 0.11436958) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.016027132, -0.06544386, 0.07821555, -0.054339573, 0.105549134, 0.01844374, 0.041899346, 0.11177082, 0.059404485, 0.03225546, -0.04068793, -0.06531279, -0.00896203, -0.039110854, 0.01659506, 0.14692819) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.1720659, -0.0145995505, 0.027772062, -0.046323765, 0.030077316, -0.014540149, -0.04862702, 0.076899804, -0.23119007, 0.01975818, -0.038839776, 0.09391069, 0.22446936, -0.06189266, -0.00701919, 0.056956172) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.07817074, -0.06271554, 0.001080422, 0.043004915, -0.035360765, -0.05805288, 0.12285516, -0.19017453, -0.2461398, -0.00292966, 0.092985146, -0.0007612537, 0.18338276, -0.027251527, -0.052245893, 0.08459741) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.2701292, 0.08483179, 0.021683808, -0.007249067, -0.05282098, -0.0009885338, -0.116335414, 0.044476416, -0.36663812, -0.021421548, 0.050665703, 0.0029572535, 0.43601957, -0.038057573, 0.011226493, -0.035508122) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.046453506, -0.08105078, 0.016213074, -0.063145325, -0.024530519, -0.04843882, -0.058251176, -0.05567651, -0.083427995, 0.03267013, 0.0018660392, -0.026336808, 0.014644793, 0.06254056, 0.09906934, 0.108093254) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.041677047, -0.03060053, 0.06287717, -0.072584935, 0.0864171, 0.17777522, 0.02584134, -0.0038482994, -0.05410583, -0.0076239184, -0.08634068, 0.07942909, 0.077022605, 0.07190742, -0.01053038, -0.021577135) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.026392344, 0.12008055, -0.06140617, -0.059867296, 0.0045291423, -0.03966564, -0.003868608, 0.12545969, -0.021523051, 0.047077894, -0.002874648, -0.010374782, -0.047521204, -0.06940213, -0.028435355, 0.07791801) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.11823597, -0.074213445, 0.060325745, 0.0010547927, -0.029275311, -0.25193813, -0.05784307, -0.06731371, 0.07763524, 0.07569746, -0.027791517, -0.04496188, 0.08017636, 0.11236496, -0.015674694, 0.06424949) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.04996967, 0.004235333, -0.109936856, 0.009793592, -0.120311245, 0.19514939, 0.035585452, -0.00053158676, -0.01898764, 0.049806204, 0.053589467, -0.086508915, 0.035885278, 0.029102229, 0.063750945, 0.0022610815) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.112126, 0.031558838, 0.02950423, 0.014375046, 0.2592506, -0.05196331, -0.055495873, 0.079601675, 0.11706458, -0.04695013, 0.045961015, 0.033700757, 0.0615085, -0.036627956, -0.022703355, -0.0040361383) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.050412662, 0.04568925, 0.16257192, 0.27236322, 0.055493817, 0.0064286715, 0.10681478, -0.008032677, 0.020070849, -0.0031831875, -0.059001956, 0.029941805, -0.036942396, -0.065179355, -0.08793772, -0.07034015) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.25409797, -0.1993004, 0.18181674, 0.16592786, -0.0724305, 0.037813883, -0.118051566, 0.1106587, 0.09245331, 0.035598166, -0.062746495, 0.0412265, 0.12709014, -0.109788984, -0.0764337, 0.0127024045) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.32679495, -0.025637228, 0.16350071, 0.12437653, -0.17687784, 0.03970159, -0.07691756, -0.032977946, 0.20582394, 0.011825331, -0.054265406, -0.078376114, 0.21542843, -0.026801387, -0.00638595, 0.048695236) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.08389137, 0.038200352, 0.014070578, 0.08668997, 0.03767588, 0.1072005, 0.13118112, 0.041204862, 0.015994761, 0.011083661, 0.011352751, -0.050795615, 0.06739171, -0.051726006, 0.07366834, 0.0752362) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.1763565, 0.013980343, -0.012538759, 0.05166045, 0.13958295, 0.07543547, 0.080811284, 0.05424163, 0.06900581, -0.020838842, 0.0047308933, -0.03477567, -0.016444439, 0.08662358, 0.019932862, -0.101448044) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.064487405, 0.20578851, -0.046549425, -0.042575326, -0.16247183, 0.08752523, -0.006663489, -0.08967282, -0.08746743, -0.0010459264, 0.018247958, 0.030473731, 0.111828126, -0.0595788, 0.05236575, 0.018691035) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.03536659, 0.07877052, -0.04364787, -0.029340602, 0.10983365, 0.043590486, 0.050351452, -0.057067353, 0.055614896, 0.0009996009, -0.0024249384, 0.01635326, 0.045693368, 0.034877714, -0.10860436, 0.0587022) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.15055361, 0.06969037, 0.019811692, 0.1359352, 0.36638635, 0.087312125, 0.08996232, -0.07826658, 0.022417096, -0.10445072, 0.03386033, 0.097490974, 0.13883528, -0.09921545, -0.024149306, -0.043621365) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.14972168, -0.08991098, -0.014429428, 0.05569066, -0.042777583, 0.030296009, 0.02906722, -0.074568465, -0.003520513, -0.039835133, 0.07466372, -0.017689746, 0.042296156, -0.046917994, 0.0020526312, -0.07332553) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.04710424, -0.025686113, -0.26242116, -0.14321122, 0.38200432, 0.120090604, 0.008569797, 0.012547638, 0.08079416, 0.012724339, 0.047225848, -0.04261055, -0.1681797, 0.022967674, 0.016831243, 0.071351126) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.079246484, -0.015616295, -0.087301604, -0.009396992, 0.20240128, 0.079739824, 0.07991514, 0.015777832, -0.048897143, 0.26049665, -0.10449843, 0.086646885, -0.32709342, 0.111727156, 0.08944044, 0.08133099) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.16140822, -0.105577044, 0.2507828, 0.20761546, 0.17965074, -0.052402552, 0.033924267, -0.017235344, -0.21838215, -0.07518121, 0.03169772, -0.031307604, -0.5330074, 0.06672062, 0.037232794, 0.011361407) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.035866976, -0.25630036, -0.06513687, 0.101870134, 0.12041612, -0.09737801, 0.023473013, 0.11932522, -0.036398962, 0.00874801, 0.086845726, -0.022416122, -0.028733538, 0.043891404, 0.06271666, -0.025548458) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.07022688, 0.005708278, 0.090901375, -0.040928397, -0.018900314, 0.09702911, 0.06974567, 0.10941754, -0.09510435, -0.07651666, -0.1209008, -0.03650678, -0.070242986, -0.04112742, -0.0041893497, -0.03668472) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.1361287, 0.11390106, 0.08058615, -0.07053778, -0.02367633, -0.027006872, 0.075627215, -0.028612666, 0.03269426, -0.03040985, 0.11761871, 0.025048079, 0.15706494, 0.09465012, 0.0030817194, 0.07030532) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.09623033, -0.13570917, 0.033428516, 0.0026089135, -0.023225406, -0.060868464, -0.008764755, 0.08547829, 0.10832953, 0.040723987, 0.058437906, 0.014722109, 0.0346917, -0.013243153, -0.062022902, -0.013442834) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.23218273, 0.06752206, -0.079083584, 0.06608746, 0.007609898, 0.122656174, 0.0901678, 0.005606881, 0.075787485, -0.08908938, 0.037152633, -0.071216494, -0.1688, 0.06895751, 0.04655696, 0.018787965) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.2239949, 0.0188548, -0.14050649, -0.15288775, 0.18933657, -0.04196706, 0.007601371, 0.03609902, 0.18926722, -0.00025373095, -0.09943308, -0.016639527, -0.059059884, -0.07474384, 0.05103355, -0.08353106) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.05628961, -0.2542224, -0.079926945, 0.055024095, -0.093466535, 0.03421317, -0.015940249, -0.056332428, -0.033354696, -0.14387396, -0.12803689, -0.13770442, -0.295495, 0.0062364344, -0.013903502, 0.028328624) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.07371098, -0.08677122, 0.019592103, 0.14412266, -0.046417426, 0.05618796, -0.11543095, -0.06735586, 0.16926467, -0.094400615, -0.0042882697, -0.18521553, -0.14988449, -0.084862, 0.020714043, 0.049513936) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.060826078, 0.034613557, 0.15900104, 0.07862377, 0.028013429, -0.032161526, -0.105350494, -0.095107175, 0.3325189, 0.054979824, -0.0020716945, -0.10867134, -0.24328294, -0.05497357, 0.058822352, 0.07822619) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.13649927, -0.20222892, -0.40618572, -0.10257527, -0.107928716, 0.27214, -0.021538066, 0.14665562, -0.07121862, 0.04070704, 0.0757865, 0.17407401, -0.09706861, -0.016008, -0.058190513, 0.0903764) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.10680567, 0.03678132, -0.1752303, -0.16779876, -0.023930162, 0.017032254, -0.05748626, 0.15398681, -0.15255286, -0.07249886, 0.011115575, -0.018611584, -0.10128358, 0.049493745, 0.0011502926, 0.08703362) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.16837381, 0.17158705, -0.19802459, -0.13098319, 0.0073739686, -0.17211099, 0.1558609, 0.006741859, -0.07625415, -0.054236688, 0.050470475, -0.041921016, -0.022894228, 0.08338575, 0.05448855, 0.08758037) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.16008043, -0.3292224, -0.42297485, -0.25632882, 0.05195818, -0.03605335, 0.118415445, 0.16423406, 0.19168791, 0.04557918, 0.076985724, 0.059874207, -0.011754775, 0.022624053, -0.1056237, 0.04062319) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.45061165, 0.22267085, -0.057147622, -0.10537132, 0.28056347, -0.08718666, 0.07234985, 0.053528536, 0.27446955, -0.1946446, 0.14490293, -0.0010806147, -0.026422385, -0.043037795, -0.07920457, 0.0020234548) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.04252658, -0.018624838, 0.011776994, -0.08284015, 0.20110814, 0.032166637, 0.13974524, 0.20804, -0.15642044, 0.050376926, -0.067283995, -0.01592689, 0.068382666, -0.0072861845, 0.052366577, -0.008378462) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.015321244, 0.17668177, 0.0299631, 0.08029069, 0.12612225, -0.0414416, 0.0003356985, -0.072777346, 0.011616888, 0.14121047, 0.04567536, 0.021110602, -0.044444624, -0.13232233, 0.02681352, 0.053111374) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.14542979, -0.14134578, -0.14129066, -0.115254626, 0.05373955, -0.1267935, 0.07658613, -0.054430358, 0.022099754, 0.047081247, -0.18350962, 0.118304916, -0.06849472, 0.019348811, 0.03712972, -0.08099451) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.33019167, -0.011468907, -0.03796456, -0.15085346, 0.043654855, 0.13985094, -0.04654352, -0.03304935, -0.14384584, -0.12066565, -0.08275793, -0.030662388, -0.12087791, -0.053712573, -0.0736237, 0.026281118) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.14049257, 0.29792294, 0.018574769, 0.050451826, 0.01982764, 0.0798444, 0.010372247, 0.08932301, 0.081173904, 0.12505037, 0.04857234, 0.01490648, -0.16474107, 0.018852826, 0.07895687, 0.113043316) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.16132182, -0.07143381, -0.04555354, -0.13744704, 0.08502387, -0.01884286, -0.02154249, 0.15047224, 0.042528078, -0.18873882, -0.11006615, -0.18352295, -0.10548032, -0.13587129, -0.018806998, -0.09015126) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.084339134, -0.026388075, -0.11633158, -0.12182968, -0.05464903, 0.006912537, -0.046364155, 0.14193837, -0.048886348, 0.068257935, 0.11357481, -0.07549473, -0.08842083, 0.03564314, 0.08758901, -0.069903694) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.1344369, 0.29337692, 0.03016886, -0.017619727, -0.0636602, -0.08078972, 0.064945385, 0.0841199, 0.036771104, 0.118473165, -0.041855935, -0.16188368, -0.04458774, -0.03134333, 0.0673674, 0.015880227) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.12698407, -0.18709527, -0.06540263, -0.07417053, 0.084409766, -0.022336293, 0.033019006, 0.06037925, -0.07735382, 0.010741093, -0.00083430484, -0.015128645, 0.13230036, -0.08242914, 0.04902468, -0.10138274) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.5290975, -0.051031865, 0.11035658, -0.07766992, 0.15421645, -0.020088276, 0.041712195, -0.038032565, -0.07672695, -0.0562507, -0.058500256, 0.014929645, -0.085309744, -0.0032269168, -0.029088303, -0.0025088547) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.0013931443, -0.012632678, 0.15921088, 0.07381447, -0.013821462, 0.09089552, -0.057282455, 0.046186138, -0.010045843, 0.057538316, 0.07808503, 0.043958984, -0.04839716, -5.5465338e-05, 0.113726124, 0.09118156) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.09078305, 0.04239285, 0.060089413, 0.05412216, 0.0011636657, -0.034647703, -0.04938542, -0.08241601, -0.09640993, -0.023849972, 0.044214655, -0.03705452, 0.05224881, -0.06379218, 0.038221482, -0.0373137) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.21342957, -0.016363831, -0.23178963, -0.07316166, 0.033671506, 0.04928633, 0.03209037, -0.054877874, -0.1216835, -0.0611902, 0.110328026, 0.091981724, 0.0048749703, 0.044446267, -0.086561635, -0.055130567) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.11977431, 0.22420765, 0.061312836, -0.124513485, 0.11848466, -0.15460157, 0.0017721405, -0.07435448, 0.009035991, 0.0400028, 0.03161606, -0.102583766, 0.12506542, 0.08099439, -0.120030865, -0.114025444) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.101635195, 0.0062747034, -0.15450324, -0.059488207, 0.0916171, 0.090640165, -0.06627533, -0.036640786, 0.011352814, -0.08366345, 0.09828297, 0.041434016, 0.041353233, -0.15337883, -0.09864122, -0.15858652) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.15547201, 0.04105328, -0.042928927, -0.10706424, 0.21224238, -0.008452193, -0.031264547, 0.055706788, 0.15340695, -0.032320607, -0.067885265, -0.063935295, -0.0150577715, 0.05958743, -0.07824489, 0.008667307) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.03919938, 0.052836888, 0.06684303, -0.09237977, -0.081941485, 0.0382083, 0.0022207242, -0.06339004, 0.03911941, 0.00842816, -0.018080963, -0.024487292, 0.048886903, 0.04113574, -0.121806175, -0.001261997) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.03087128, -0.106268354, -0.099535644, -0.05231313, -0.13165812, 0.09230253, -0.059073526, 0.07792351, -0.12829287, -0.11971944, -0.06142683, -0.07364631, -0.04019362, -0.1553241, -0.020548591, -0.008859368) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.34268713, 0.051111437, 0.03607787, 0.027760597, 0.036923055, 0.03894055, -0.04804187, -0.057348303, -0.12707561, 0.07744031, 0.058320932, -0.03204622, -0.30097437, 0.047509342, -0.08561436, -0.042312395) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.25028732, 0.0121014565, 0.029764555, 0.081479974, 0.19187059, 0.0017634436, 0.103453495, 0.044646356, 0.020012986, -0.09276103, 0.037700813, 0.0033166294, -0.087322176, -0.08725927, -0.09063054, -0.098228775) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.17311274, -0.024161639, 0.0037144937, -0.04871491, 0.10209283, 0.06101466, 0.08469874, 0.0889613, 0.16693105, 0.13094662, 0.13811523, -0.010942217, -0.018988607, 0.016811587, 0.10397937, -0.019498426) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.26363182, 0.0840433, 0.038128074, 0.066942096, 0.10167505, 0.005973818, 0.021729182, -0.07593547, 0.06076204, -0.06951677, -0.023770517, -0.051958192, -0.0910566, 0.08650666, 0.05515754, -0.015850522) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.0044387616, -0.09708507, 0.08281157, 0.062271364, 0.089092, -0.04335761, 0.168162, -0.044544518, -0.013711675, -0.10198339, -0.00074214704, -0.08499291, -0.047943387, 0.011040418, -0.012463189, -0.12927955) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.016112007, -0.08029476, 0.04650798, -0.007173658, 0.3080043, 0.16092707, 0.13136779, 0.07663408, 0.19473518, 0.21793915, -0.08282241, 0.011576434, -0.02650557, -0.08476581, -0.05339167, -0.023960778) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.09199071, -0.018274985, 0.04680713, -0.025764959, 0.3271647, -0.1281213, 0.049753867, -0.06758863, 0.27937084, 0.009195646, 0.006117387, 0.03370013, 0.10773046, 0.12349222, 0.07511231, -0.06900168) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.02092032, 0.08736634, 0.090005495, 0.06749536, 0.086794786, 0.1615533, 0.028313296, 0.12001067, 0.051083475, 0.08948301, -0.09410637, 0.09198264, 0.02044791, 0.094033755, -0.03677769, -0.06701034) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.033792544, -0.1000056, -0.04430407, 0.039693195, -0.02430006, 0.0017380244, 0.06266404, 0.12515773, -0.08223232, -0.1295379, 0.023666065, 0.12193975, 0.026776684, -0.123523206, 0.023586914, -0.025279038) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.0034378963, -0.045506917, 0.077677034, -0.029844182, 0.18384792, 0.03596659, -0.02349564, 0.008952317, 0.028365199, -0.1152425, 0.07721344, 0.056662504, -0.12192483, 0.032213464, 0.07074791, 0.046657916) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos0 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(0, 0); + imageStore(out_image, store_pos0, max(result0, V4(0.0))); + V4 result1 = V4(0.011197032, 0.0011845044, -0.00043132543, -0.010066675); + result1 += M4(-0.077593684, 0.021467157, 0.063081056, -0.038775064, -0.013073112, 0.08613357, -0.08512714, -0.011196417, 0.0051700855, -0.056083612, -0.15805517, -0.023025278, -0.10769025, 0.008534551, -0.1628352, -0.014436603) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.0560491, 0.078768365, 0.041245, -0.051552217, -0.05786129, 0.058469865, -0.09150033, 0.026860313, 0.080614425, -0.008213706, 0.19441298, 0.049370807, 0.006399001, -0.06295963, 0.25489932, -0.120007016) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.056839455, -0.048737787, -0.07053638, 0.096231855, -0.08275435, 0.06357735, -0.041763913, 0.07321155, 0.013955933, 0.07032971, 0.008945641, 0.03456969, -0.03984634, 0.019094903, -0.07235222, 0.0097471345) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.10205411, 0.015565734, 0.016892718, -0.09728134, 0.057428394, -0.09138915, 0.068736896, 0.035048407, 0.067588255, -0.054523133, 0.0483479, -0.02769002, 0.1161125, 0.013815037, -0.10633473, -0.102742404) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.004303968, -0.07645531, 0.03737258, 0.0692931, 0.07895443, 0.10609788, 0.17086294, 0.0044495827, 0.03047413, 0.1150696, -0.14137435, -0.022454325, -0.096000195, 0.096118055, 0.069299154, -0.03158177) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.012379325, 0.035801724, 0.06768513, 0.09098614, 0.10781677, -0.13291097, 0.061926324, -0.01496318, 0.034544963, -0.065663695, -0.011182411, -0.002137286, 0.12427206, -0.07137146, -0.0033809787, 0.04976954) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.046655387, -0.002474274, -0.16465357, -0.025587749, -0.05499933, 0.047096543, -0.023487289, 0.12226314, 0.02304305, 0.08807711, 0.16423365, 0.080750145, -0.07662004, 0.07377096, 0.04994284, -0.11650014) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.08493715, -0.039353535, -0.11249473, 0.020118019, 0.021038443, 0.0895709, -0.08766897, 0.0981311, -0.030690303, -0.04284645, 0.078766696, -0.036029313, 0.058755603, 0.11213027, -0.19099735, -0.020548081) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.05178086, -0.07931726, 0.048405156, 0.091889635, 0.030147472, -0.0757067, 0.22394197, -0.08437664, -0.05704658, -0.0038627868, 0.10256466, -0.036784165, 0.07599415, -0.02827247, 0.0559291, 0.10704671) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.050009254, 0.09473724, -0.055334825, 0.050062045, 0.04104625, 0.06256795, 0.106712036, -0.09937198, 0.01559964, -0.08012361, 0.0031182575, 0.08344543, -0.028077664, 0.097338445, -0.048061896, 0.0065810904) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.006929624, -0.080034524, 0.017118238, -0.07206668, -0.110272564, -0.026011342, -0.27808696, 0.062990345, 0.02420505, -0.019818055, -0.044902716, 0.08923097, 0.03178395, 0.085829765, -0.07279556, -0.016631318) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.06825527, 0.09067984, -0.034415547, -0.06953337, -0.081254914, 0.026697025, 0.3335022, -0.08264325, -0.008770704, -0.06030165, -0.04782143, -0.0863968, 0.03495024, 0.08092718, -0.030964602, -0.05063452) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.062073216, 0.0075590904, -0.027390314, 0.008167342, 0.024785556, 0.0055578817, 0.009134213, -0.018017014, -0.046541825, -0.0618373, 0.04037698, 0.077020146, -0.103575945, -0.02556394, 0.056481037, -0.097121835) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.09327852, -0.0011845168, 0.11876653, 0.0027953733, 0.045754388, -0.13683105, 0.2264903, -0.04137656, -0.047602408, 0.084626876, -0.021380201, 0.034057446, -0.017850518, -0.054241262, 0.09456408, -0.068134375) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.06678825, -0.024902908, -0.10130563, 0.007933867, 0.010951779, -0.020133257, -0.28614855, 0.038368974, -0.034663524, 0.011517662, 0.094227485, -0.103419885, -0.05564191, -0.11256028, -0.008382839, 0.0317516) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.005788908, -0.022733897, 0.088095, -0.035078276, 0.22619739, 0.08739321, 0.17816615, -0.017289793, -0.11475056, 0.009142387, 0.08702502, 0.0800672, -0.07106212, -0.023230908, -0.08085899, -0.021376584) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.030817749, 0.08572747, -0.10088868, -0.08186276, -0.019808248, 0.0286014, 0.014910297, 0.095780894, 0.08695918, -0.078616686, 0.09706928, -0.110940464, 0.09740325, 0.04471384, 0.05395044, 0.034274787) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.111951835, 0.047681704, -0.15787779, 0.07339479, -0.05293861, 0.054606795, 0.074477494, 0.06575657, -0.057378065, -0.09009873, -0.09203264, 0.054996114, 0.11404258, -0.023427352, 0.10705266, 0.09914807) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.040791046, 0.038581576, 0.018064398, -0.13169749, 0.020284768, -0.004375252, -0.23024695, -0.115045816, -0.07264343, 0.033511024, 0.16873449, -0.02356218, -0.05273216, -0.08368404, 0.008427831, -0.029288292) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.10951014, 0.092564814, -0.09721904, 0.09124065, -0.08811126, -0.021828948, -0.07885515, -0.02780345, -0.09441028, 0.009728772, -0.09315417, 0.010954373, 0.05529187, -0.08971671, -0.040717542, 0.014720291) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.08970155, -0.040946152, -0.10866294, 0.08644945, 0.052591503, -0.013378186, 0.014156524, -0.11998109, -0.06448937, -0.0077219927, -0.095990136, 0.044197142, -0.11045195, 0.054077905, -0.033737868, 0.05385419) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.0652946, 0.067820355, -0.05717015, -0.052806407, -0.08759944, 0.068004, -0.057507366, -0.0413998, 0.12033738, 0.018457595, 0.031110154, 0.015287182, -0.018700052, -0.04858387, -0.10791296, -0.062666625) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.008670409, -0.26358938, 0.13061461, -0.02520851, 0.031921256, 0.122775175, 0.10808608, -0.10440236, 0.010433741, -0.10397802, 0.027195575, 0.099217296, -0.10703348, -0.06669311, 0.19642319, 0.05887108) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.026742809, -0.062211066, 0.13540792, -0.027700378, -0.052574914, 0.09834686, -0.06894894, 0.09489552, 0.024466427, -0.10927328, 0.09987772, 0.019811213, -0.00338848, 0.002827732, -0.06917198, 0.03353189) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.033505887, 0.10272014, 0.19419245, 0.065212056, -0.051405456, 0.07007067, 0.14419541, -0.008488389, 0.10289747, 0.10099129, -0.085925706, 0.031086013, -0.05760552, 0.097239375, -0.095257625, 0.031016486) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.024864677, 0.1798425, -0.11428419, 0.03188098, -0.012341468, 0.122155584, -0.15315248, -0.063928805, 0.08601657, 0.016680647, 0.03223837, 0.0061351284, 0.056051407, 0.08456658, -0.22224057, 0.10762852) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.024459282, 0.024073455, -0.08123674, 0.052016493, -0.008242277, 0.02969776, 0.04115115, -0.056339704, 0.054509226, 0.020554388, 0.020432271, 0.10111858, -0.065210305, 0.05225737, 0.10737269, -0.057737984) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.038101338, 0.029717788, 0.34090123, -0.0012896152, -0.107350394, -0.09462676, 0.09662835, 0.057378374, -0.061416436, -0.0091125155, 0.038300913, 0.01952702, -0.060997177, 0.021651363, -0.005388136, -0.100183524) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.038008094, -0.062854744, 0.014815458, -0.0718021, -0.067657225, 0.006967158, 0.06857382, 0.065920584, -0.032086417, -0.03471704, 0.083417565, -0.04371819, 0.09644099, 0.016452793, 0.041778304, -0.03236345) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.07854774, -0.06262406, -0.18092248, 0.05598563, 0.027578108, -0.07369806, -0.11913061, -0.073108725, -0.02695894, 0.09156246, -0.059756715, -0.044734072, 0.074670434, 0.011602037, 0.1078704, -0.09611672) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.09841949, 0.01920534, -0.16799006, 0.009778865, 0.077576034, 0.0994073, -0.1074165, -0.008372128, -0.038416807, -0.043943077, 0.16095944, -0.055731215, 0.029060388, 0.018776266, 0.029425362, 0.089857794) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.14053565, 0.029248448, 0.17926775, 0.103563525, -0.08561446, 0.039301135, 0.098349325, -0.11387821, 0.09551549, 0.08043579, -0.27985284, 0.17787266, 0.06748296, -0.075161666, -0.10373679, -0.07620295) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.09285278, 0.10392205, -0.031192431, 0.026599843, -0.0061871447, 0.006766428, 0.13685565, 0.07550382, 0.10586941, 0.090604745, 0.34784156, -0.060757723, -0.085036345, -0.0050689494, 0.09618539, 0.0551968) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.046836328, -0.057685304, 0.014581882, -0.1100989, 0.09266579, 0.062809825, -0.015721267, -0.01960753, -0.1641682, -0.015209308, 0.07708829, -0.106977925, -0.0026359188, 0.050135918, 0.06655086, 0.06483702) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.0019965428, -0.11078212, -0.07536711, 0.117815554, 0.07756447, 0.113307916, -0.072784446, 0.052546483, 0.108961724, -0.11143704, 0.11668381, -0.019103788, 0.0071545676, -0.062686376, 0.08638575, -0.082998976) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.022224499, 0.06541032, -0.009436284, -0.0025557089, 0.009064811, -0.036178242, -0.0433923, -0.035537325, -0.020578409, -0.057407968, -0.087754615, 0.06141195, -0.092965595, 0.075376436, -0.08423372, -0.08004482) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.08220575, -0.07184336, -0.058614317, 0.0843076, -0.09630659, -0.07110121, 0.047148675, -0.13063975, -0.06915439, 0.09540834, 0.07459957, 0.15948689, 0.070262544, 0.039559253, -0.008010429, 0.09920942) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.09558235, -0.020636613, -0.20786929, 0.059032954, -0.0005612618, -0.01721251, -0.025623411, 0.016187876, 0.0009592064, 0.027155716, -0.008166078, 0.16021515, 0.049881916, 0.06705035, -0.10482905, 0.0812545) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.06764498, -0.022597747, -0.020980213, 0.008215601, -0.04189679, 0.07972458, 0.15823498, -0.012776151, 0.1602486, -0.10089629, 0.0030579104, -0.0781539, 0.018627519, 0.0013848414, -0.05163449, -0.050677236) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.08408999, -0.02935708, 0.15361032, 0.13731013, -0.056125175, 0.038075376, 0.013710485, -0.08152186, -0.047237348, -0.12779213, -0.042869296, -0.01924674, 0.10733952, -0.11469398, -0.099387996, 0.0958137) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.09646135, -0.08027133, 0.05231808, -0.08219673, 0.10392442, 0.04699185, -0.012784492, -0.021462236, -0.005101875, 0.017084217, -0.18351461, 0.10290571, 0.005750269, -0.020673392, 0.08471115, -0.024997808) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.14691545, 0.09505521, -0.18961516, -0.03809277, -0.029588409, -0.027384676, 0.09391944, 0.080573454, 0.019731224, 0.16457154, -0.15754822, -0.024084311, 0.009421247, 0.08991307, -0.10641109, 0.08054075) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.1940632, -0.054194555, -0.06697631, -0.052259307, 0.11055636, -0.015883815, 0.22054464, 0.056350283, 0.062341493, -0.026126584, -0.018897891, -0.11634002, -0.089097485, -0.005303682, 0.06750532, 0.026972143) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.24127328, 0.2487623, -0.012781001, 0.008709633, 0.06839755, -0.09003607, 0.033487782, -0.032065317, 0.13351513, -0.08155357, 0.0030790174, -0.052181836, -0.11075274, 0.10662739, -0.087673865, 0.006986188) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.025603864, 0.042945478, -0.24647076, 0.044966623, 0.12331321, -0.20497249, 0.2036753, -0.10706657, 0.06152236, -0.25329998, 0.046739887, 0.002857749, 0.06954412, 0.035016622, -0.039317027, 0.06897127) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.14481536, 0.015847849, -0.08406516, 0.030213892, -0.06810796, -0.037775297, -0.089294486, 0.00999569, -0.016623152, 0.013244674, -0.16468693, -0.0010807676, -0.059446465, 0.054444063, 0.050959222, -0.042924296) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.14426108, 0.017917318, -0.04296087, 0.10319138, -0.009127747, 0.038568318, -0.049689747, 0.15281406, 0.043737255, 0.02186607, 0.028837623, 0.01975358, 0.08907052, -0.039357826, -0.09462759, 0.020377789) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.055160597, -0.062312618, 0.1451391, 0.019373974, 0.094833985, 0.03805799, 0.017498184, -0.057524193, 0.10020497, 0.08382782, 0.124565214, -0.111065656, 0.099022985, -0.047001563, 0.06749704, -0.026679793) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.12681954, 0.15121277, 0.1787491, -0.0036444333, -0.022744536, 0.108066544, 0.10131921, -0.049287777, -0.008872869, -0.038433675, 0.20254527, 0.07844617, -0.12703407, 0.056729615, 0.12367116, -0.07455694) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.034039374, 0.16818461, -0.13807471, -0.031375714, -0.049563188, -0.014772521, -0.008721809, 0.0069029205, -0.0043085357, -0.025188025, -0.17196482, 0.045609847, -0.05872129, -0.024289493, -0.1948678, 0.043144617) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.059259467, 0.0476848, -0.13966836, -0.025650298, 0.027552761, -0.038882345, -0.09507021, -0.017237619, -0.1526966, -0.052759882, -0.038385727, 0.056602962, 0.043265987, 0.15495132, 0.07737573, 0.036249865) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.10637617, 0.12790266, -0.019113215, -0.0046220934, 0.033132914, -0.032978375, -0.10429145, 0.04256183, -0.0932761, 0.0076872595, -0.051023178, -0.006046983, 0.034375943, -0.05516948, -0.16010912, 0.056487978) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.033122882, -0.019263973, -0.07066631, -0.017324133, 0.12711081, 0.052154306, 0.08134222, -0.08022149, 0.032038953, -0.05111271, -0.033379875, 0.017108388, 0.07230414, -0.11715971, 0.028730575, -0.023421079) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.011512532, -0.10508689, 0.0894752, -0.022014068, -0.08321548, -0.17738114, -0.12470248, 0.024611663, -0.045626402, 0.00074565236, -0.096553065, -0.019304361, 0.03700293, -0.087171584, 0.088685624, -0.10977033) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.011561034, 0.03207418, -0.20317896, -0.123729154, -0.011804991, 0.09279506, -0.0002714132, 0.053187683, -0.06876078, -0.022850782, 0.10695012, 0.12364065, -0.09515578, 0.0454818, -0.052211687, -0.044373557) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.07524904, -0.01303212, 0.06567262, -0.020398201, -0.04762796, 0.031497635, -0.065382764, 0.020182272, 0.10092458, -0.069189616, -0.03750628, 0.070033535, 0.06929445, -0.0055810856, -0.006984035, 0.033983793) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.09305166, 0.05588123, 0.12444727, -0.00034257598, 0.049311068, -0.09031976, -0.07322501, -0.05251122, 0.0018742186, 0.096491314, -0.15684827, 0.040418286, 0.0941989, -0.015651649, 0.0054800874, 0.0071675167) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.122125916, 0.022609564, 0.23358656, 0.08701956, 0.06187617, -0.08175526, 0.092691496, -0.039298378, -0.0985711, -0.04770481, -0.0755106, -0.029492127, -0.08733685, -0.06423106, 0.12962055, 0.023736231) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.034419976, 0.14868204, -0.17559192, 0.032083094, 0.04241132, -0.04746496, 0.01099378, 0.0011546575, -0.0151850935, 0.10499507, -0.06532762, 0.08281521, 0.13270208, 0.054606237, -0.061110016, 0.12280781) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.01666026, 0.029311327, 0.06790177, -0.010375006, -0.003543032, -0.06641481, -0.105488144, 0.0411772, -0.0498763, 0.03984737, 0.03161541, -0.07551215, -0.08033757, 0.061549645, -0.14761074, 0.043269694) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.04077134, 0.12628184, 0.045886863, -0.07112072, -0.012989341, -0.010519814, 0.013032833, -0.010173235, 0.09690827, -0.005688653, 0.029586788, 0.09977007, 0.0528606, 0.06737324, -0.17684789, 0.12274845) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.11051834, 0.112534024, 0.04023594, -0.023532668, 0.019755028, -0.06372047, -0.09985536, 0.031597838, -0.020713326, -0.102745175, -0.029645942, -0.024639538, 0.07248913, -0.05013476, 0.14356793, -0.011027475) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.06534363, -0.12289853, 0.21592255, -0.04301855, -0.0797139, 0.025854312, -0.012056828, 0.03884168, -0.076569766, -0.009442021, 0.059687484, -0.032682747, -0.07527654, -0.18639769, -0.05681965, -0.014164501) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.07350101, 0.062403087, -0.12091217, 0.05587299, -0.054483816, 0.004000964, 0.030310923, -0.066755675, 0.06855768, 0.005997307, -0.1930044, 0.08093344, -0.014597135, 0.020203037, -0.06891152, 0.035144437) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.057548594, 0.07052484, 0.080218315, 0.017123714, 0.024672821, 0.038864672, 0.08245334, 0.01951934, 0.05174505, 0.021838522, 0.07198582, 0.11640742, 0.05577094, 0.06452158, -0.14083968, 0.038878594) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.0047695157, 0.060710553, 0.021283697, 0.07349775, 0.03647659, 0.06936554, -0.12585251, 0.03828772, -0.014634834, 0.009490599, -0.16296968, 0.088733695, -0.040879995, -0.05571747, 0.09926516, -0.11614051) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.106826514, -0.04649594, -0.14007555, 0.05667105, -0.004630705, -0.015149721, -0.0732524, -0.08925447, -0.016161194, -0.04549497, 0.14235143, -0.08592723, -0.040225346, -0.05131405, -0.062676914, -0.0060632313) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.038384005, -0.061767116, 0.04593187, -0.104092956, 0.12692076, 0.020024188, 0.20856659, 0.0083163865, 0.0703962, 0.008016123, 0.08932849, 0.03460573, 0.02017547, 0.027802642, 0.30066144, 0.051757224) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.018849816, -0.008842451, 0.110511445, -0.07953247, 0.08785997, 0.020272696, 0.06529953, 0.058567528, -0.023796901, 0.06515486, 0.12923531, -0.08801613, 0.054074615, 0.064689115, -0.14018457, -0.014326444) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.022940774, -0.009756425, -0.023515387, -0.029475462, -0.0040469086, 0.09087866, 0.021282075, -0.058384757, -0.012310124, -0.012590883, -0.1462424, 0.06715117, -0.02228805, -0.018376404, -0.08642809, 0.04833315) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.10708967, 0.056719698, 0.020791054, -0.060032506, 0.12753828, 0.18122064, -0.17349672, 0.08982407, 0.0079500135, 0.10844677, -0.026548464, 0.009938061, -0.10532116, 0.07382838, -0.003523802, 0.0776772) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.04449969, 0.037770603, 0.050638754, -0.056681287, -0.029222745, -0.030981783, 0.3223898, 0.09042483, 0.09783577, 0.03648542, 0.16385038, -0.0819435, 0.030217344, -0.031305484, -0.037688814, -0.027503349) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos1 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(1, 0); + imageStore(out_image, store_pos1, max(result1, V4(0.0))); + V4 result2 = V4(-0.0033872693, 0.01203482, -0.0007529152, 0.014821875); + result2 += M4(0.037198875, -0.06318623, 0.029464114, 0.03158958, -0.073542476, 0.05856651, -0.06557546, 0.094294, 0.049270973, 0.031795427, 0.011142766, 0.042713262, -0.14008807, 0.006121414, 0.054622136, 0.01216045) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.11165766, -0.048906796, 0.017778872, 0.046594862, 0.07830664, -0.05664532, 0.07929783, -0.03846434, 0.024031889, -0.039146896, 0.018171838, 0.076072425, -0.037843823, -0.08446405, -0.15279283, 0.06976163) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.02665353, 0.021818096, 0.015983984, 0.012481549, -0.068786696, -0.058735177, 0.08392357, -0.0987427, 0.09114458, -0.025156561, -0.11887814, 0.09023599, -0.024439983, 0.1789214, 0.12787355, 0.059245143) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.012709354, 0.013211087, -0.07740537, 0.106974505, 0.035243187, -0.11834342, -0.13311131, 0.097491995, -0.044114225, 0.08220231, -0.016037483, -0.02632333, -0.11514597, 0.15206194, -0.030721132, 0.06538655) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.0031793292, 0.045643363, -0.03997819, 0.049497243, -0.07571808, -0.07555454, -0.0068918727, 0.035808053, -0.041412365, 0.0390809, -0.111770935, -0.03987962, 0.07849795, -0.12874204, 0.07845302, 0.08866954) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.06488477, 0.091581665, 0.05335213, 0.0680783, -0.04572248, 0.14250535, -0.07628013, 0.06356213, 0.09668829, -0.032973673, -0.07988419, -0.06947383, -0.06128997, 0.06905397, 0.04277823, -0.04994157) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.061965823, -0.0030537606, -0.07518582, -0.027505087, -0.027796106, -0.086998366, -0.09557219, -0.09582798, 0.025390418, 0.07132137, -0.08687465, 0.043294977, -0.11733313, -0.23494111, 0.0020120628, -0.048772257) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.018216493, -0.087487124, 0.0021879063, -0.048587877, 0.11746869, -0.013881181, -0.03824968, 0.063332446, -0.024999391, -0.032853913, 0.041752394, -0.02561549, 0.07625771, 0.04456821, -0.05417423, 0.04462803) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.033385452, -0.08450989, 0.09168842, 0.047502518, -0.110002466, 0.046790443, 0.06953812, 0.05459428, -0.00973985, -0.055130225, -0.09318967, -0.058996107, -0.035808545, -0.058596205, 0.062835544, 0.0034215641) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.047777377, 0.04392559, 0.067306966, 0.053412188, 0.15193802, 0.023547843, -0.011238839, -0.04784402, -0.0257294, -0.03542679, 0.08091976, 0.047159996, -0.105575435, -0.101783596, 0.042021867, 0.11492175) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.0071342415, 0.13363077, -0.019352203, 0.09327305, 0.17886207, 0.051617444, 0.06529795, -0.14723922, 0.04732128, -0.07948846, -0.06823228, -0.06426478, 0.07218247, 0.042457584, 0.083457045, 0.08621637) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.057936776, 0.017374096, -0.069389224, 0.035042513, 0.05654349, -0.15792385, -0.018916817, 0.14186883, 0.012650372, 0.0023539495, -0.109794445, -0.009911863, 0.0024223397, 0.10150807, -0.06603184, 0.0077295876) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.09122356, 0.09365007, -0.030690163, -0.034971382, -0.005661598, -0.004751409, -0.1084171, -0.075966164, 0.018268488, 0.010119276, -0.007236247, 0.04708169, 0.10351936, 0.0897006, -0.025163855, -0.0093469005) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.05004344, -0.03806487, 0.025904354, 0.04053517, -0.16692139, -0.039214846, -0.062100988, -0.023749955, -0.06486773, 0.10164374, -0.0851645, -0.031195993, -0.095689245, -0.09455837, 0.039383188, -0.050902434) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.065034986, -0.06504284, -0.06968113, 0.11035763, 0.089987114, 0.18300961, -0.010155287, -0.0022977402, -0.044887576, 0.075130485, -0.091329984, 0.009733239, 0.0664312, -0.01600564, 0.099342406, -0.067188) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.06183018, -0.08933783, -0.030563062, 0.08510223, -0.09791422, -0.045149077, 0.09141937, -0.09879377, -0.012237978, -0.0025413933, 0.030791277, -0.09411839, 0.09243099, 0.08143078, -0.10177903, 0.028564712) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.020920096, 0.06501531, -0.09640705, 0.069759265, 0.14962603, -0.016226955, -0.002403366, 0.12170193, 0.034209494, -0.097139, 0.046047997, 0.014522164, 0.05932767, 0.046274133, -0.067689985, -0.04010289) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.017131476, -0.039633762, -0.08992393, -0.0037834318, -0.049825355, 0.0059971367, 0.0075209267, 0.07076052, 0.0004324255, -0.09913208, 0.04018316, -0.037153617, 0.02504974, -0.087457016, -0.060140584, 0.04272199) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.04514888, 0.10095337, -0.2843385, -0.17880054, -0.16367526, 0.16655092, -0.011233128, 0.072611846, -0.08447396, 0.054437913, 0.06208416, 0.029635785, 0.07216677, 0.08775427, 0.03021831, 0.09061834) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.03365546, 0.22371158, 0.055611167, -0.12534407, 0.06649448, 0.014040633, -0.01129319, 0.115254216, 0.015335179, 0.07438181, 0.024762947, -0.045815088, 0.0014872191, -0.08232281, 0.037563547, -0.019272853) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.09915642, -0.120797515, 0.11578111, -0.16625346, -0.0021745302, -0.082823746, -0.06537099, 0.057386454, 0.0146929575, 0.08422319, 0.038237408, 0.034472268, 0.01433422, -0.15262693, 0.08831839, -0.07580186) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.031437367, -0.042827193, -0.06955838, -0.09878737, -0.12951072, -0.17006096, -0.1305498, 0.07676642, -0.012840147, 0.01929213, 0.01663937, -0.045351543, -0.0857135, 0.035773873, 0.13020937, 0.11182874) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.109328546, -0.030570459, 0.027840529, -0.09159507, 0.035802662, 0.02792968, 0.05781693, 0.11601368, -0.092781946, -0.07637987, -0.014085661, -0.08191203, -0.16592269, 0.00922626, -0.11134777, 0.105186574) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.085224085, 0.09900903, 0.041739386, -0.018781323, 0.09348215, 0.03588465, 0.06033542, -0.09603961, -0.09116929, -0.083509795, -0.06310992, 0.0017615565, 0.108689435, 0.1310343, 0.026896909, -0.0025800387) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.014682499, -0.091857396, -0.23377281, 0.12425266, 0.060666256, -0.08885739, 0.032215446, 0.12945625, -0.11708009, 0.0020389103, -0.08696399, -0.0026077665, -0.055149764, 0.0465018, -0.04184494, -0.018036699) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.110577054, -0.024170343, -0.24500969, -0.049209606, -8.6519685e-06, -0.026779456, -0.057108745, -0.049161002, 0.013114811, -0.029923461, 0.026970647, 0.026526487, 0.16339006, 0.06917211, -0.08276699, -0.08211838) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.09434104, -0.047210533, -0.12328795, 0.052771743, 0.097557195, 0.04473006, 0.042302635, -0.11136252, -0.09643371, 0.0076989154, -0.07862588, -0.030084144, -0.12507202, -0.020054428, 0.094481885, -0.011009404) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.0316578, -0.13088457, -0.17588094, -0.0777947, -0.030869588, -0.036033925, -0.04339884, 0.035560966, -0.13597126, -0.090002604, -0.00016377207, 0.094618924, 0.04431431, 0.024465363, 0.08859408, 0.072072916) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.064257264, 0.105529845, -0.10713889, -0.048143458, 0.01985384, 0.0468012, -0.041892786, -0.06756845, -0.04919875, -0.11414902, -0.14688092, 0.09090615, -0.012439249, -0.03136143, -0.068216935, 0.037473958) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.014216709, 0.14298275, 0.10475493, 0.066766195, 0.008380913, -0.05292545, -0.077480786, 0.03605688, 0.084809594, 0.27734867, 0.09083713, 0.0021827433, 0.011472895, 0.0285952, 0.04061539, 0.014958524) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.11081102, 0.1262357, 0.0883178, 0.05338563, 0.039791893, -0.028253624, 0.06979173, -0.034374, 0.06604825, 0.037233897, -0.113161504, 0.02110824, -0.03256347, -0.05756423, 0.018958317, 0.009837905) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.094302624, -0.15811965, 0.13823923, -0.043934386, 0.10540004, 0.025446186, -0.07073553, 0.015804466, 0.13921773, -0.052843004, 0.00070349436, -0.15330306, 0.043978997, -0.061303258, 0.08241675, 0.074169464) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.103738725, 0.0037784083, -0.014538332, 0.12720357, -0.0835249, 0.026397388, 0.05777221, -0.03784048, 0.013324697, -0.0014938791, 0.07658271, -0.033641484, -0.039785553, -0.09573131, -0.038615316, 0.049792614) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.1103502, -0.09769328, 0.03503169, 0.05591943, -0.058195204, -0.06383137, -0.035296243, 0.0028852345, 0.09450965, -0.115074165, 0.08370758, -0.051932484, -0.064755656, 0.09860497, -0.015256305, 0.051498815) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.017678332, 0.002788513, -0.19815445, 0.12734558, -2.1875396e-05, -0.09617925, 0.0627105, 0.106779605, -0.15095232, -0.07296885, 0.15172078, -0.12639609, -0.0417069, -0.0066351127, 0.06363391, -0.07926058) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.14109018, 0.06520356, -0.044605926, -0.12212118, -0.10193367, 0.030556377, -0.041428067, -0.09214786, -0.063883655, -0.07646711, -0.09332448, 0.11702989, 0.012095858, -0.020069346, 0.040555548, 0.03854868) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.14183311, 0.38662767, 0.03232177, -0.10469553, 0.08080497, -0.09424702, 0.026318422, 0.0925554, 0.08997502, 0.23716, 0.037886195, -0.06638462, -0.07835291, -0.049390152, 0.077039376, -0.11908193) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.23751546, -0.030282162, -0.032215826, -0.022601271, 0.00067754975, -0.147944, 0.002853154, 0.059047375, -0.06500956, -0.2152355, 0.1322256, 0.01944014, -0.004191754, 0.056866143, 0.067974426, -0.08788965) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.09680417, -0.15699488, -0.0804568, 0.01676076, 0.12815712, 0.0060468586, 0.049350873, 0.08163435, 0.038888983, -0.008901227, -0.123915054, 0.012339561, -0.026553493, -0.028946735, 0.026989497, 0.029385863) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.092980385, -0.22866802, 0.06262821, 0.027921021, -0.052286856, 0.167208, -0.060164146, 0.056512684, -0.14015652, 0.17728393, -0.07130808, -0.049013022, -0.048909657, -0.023932755, -0.005187945, 0.012203627) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.09304993, 0.036358207, -0.21841237, 0.15128046, 0.05341881, 0.09585094, -0.0372072, -0.098158486, 0.03140383, 0.101818055, 0.06459007, 0.021177817, -0.054379553, -0.05257865, 0.077069044, -0.013115112) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.010404021, 0.009535312, -0.04963715, 0.0870632, 0.010364752, 0.04895861, 0.040784597, -0.089928105, 0.1508261, 0.14539759, 0.116447866, -0.015752519, -0.02470069, 0.09253375, -0.029373355, 0.055590585) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.086076275, 0.2070169, 0.23413727, -0.107444994, -0.06625385, -0.22194216, 0.08932315, -0.052813984, -0.0895947, 0.017738316, -0.3001079, 0.060833976, -0.05761688, -0.018665513, 0.026231037, 0.09577587) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.10838354, 0.015648574, -0.05999732, 0.19782047, -0.06211535, -0.09452009, 0.14373237, 0.016475258, -0.0061159204, 0.06676599, 0.24570633, -0.16184205, 0.048715226, -0.079962276, -0.06011166, 0.06898884) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.10622603, 0.22252941, 0.08629886, 0.050439775, -0.10173889, -0.25574923, -0.014060148, 0.11562325, -0.030823074, -0.25186762, 0.07017963, -0.05526597, 0.099536814, -0.060808215, 0.0907226, 0.075261444) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.046750806, -0.116496205, -0.09198495, 0.071708806, 0.086151145, 0.11138192, 0.010033299, 0.09335201, 0.02387457, -0.052623715, 0.07594558, -0.040880907, 0.035226267, -0.026293393, -0.09905361, 0.001259057) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.011797196, 0.02678488, 0.076907255, 0.10748688, -0.06290601, -0.11330915, -0.041077945, 0.039757907, 0.06752818, -0.023631647, -0.07064733, 0.025535006, -0.0010212301, -0.063122585, 0.093276545, 0.006032672) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.04814565, -0.14763819, -0.039122578, 0.10255285, -0.083612375, 0.07596085, -0.103636615, -0.061994333, -0.12590544, -0.011833722, -0.12076286, -0.059393093, 0.12155195, -0.011797921, 0.076602384, -0.035191435) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.030333351, -0.13547255, -0.20730515, 0.16425778, 0.09208712, -0.026635332, -0.111992806, -0.0046456275, 0.13855831, -0.042409718, -0.17140831, -0.030970968, -0.03235377, 0.017782927, -0.029361397, 0.010426985) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.0066626966, 0.109656654, 0.19470657, -0.011908274, -0.110455394, 0.062535204, 0.10443448, -0.1392414, 0.12986167, 0.024817672, 0.020198254, -0.07992811, -0.031549916, -0.0057186084, 0.01317233, 0.004738467) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.1378633, -0.18021114, 0.0015913501, 0.045164675, 0.0022879145, -0.07495011, 0.0564772, 0.041429345, -0.0026017195, -0.11761003, -0.07820443, 0.009395562, 0.11259043, 0.026162148, 0.053386547, -0.073887594) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.051692087, -0.06777703, -0.069324695, 0.08772166, 0.07834732, -0.051389653, -0.05541454, -0.051322185, 0.14807563, 0.12546174, 0.1192804, 0.06565625, -0.03255349, -0.0023618338, -0.040717836, 0.097493984) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.0122825615, 0.08675141, 0.19181256, -0.04801896, -0.1293959, 0.032539595, -0.0391843, -0.088004366, -0.11610231, -0.10168186, 0.16051726, 0.039642762, -0.11886237, 0.03552416, 0.1834753, -0.09690976) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.088247985, 0.039378855, 0.18721344, -0.12303653, -0.036515385, -0.1015987, -0.044977933, -0.0059770155, -0.020577196, 0.21198799, -0.08448784, -0.023867732, -0.09636172, -0.05217362, -0.06230753, -0.0673417) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.04143555, -0.06434925, 0.13268319, 0.054156184, -0.02739478, -0.027775537, -0.05411599, -0.046585277, -0.14359678, -0.17748514, -0.010402611, -0.025419878, -0.042054813, 0.070507586, 0.0738077, 0.047887255) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.056327667, -0.11037932, -0.064486295, -0.00028264362, -0.075406656, 0.081668414, -0.04674526, 0.032522395, -0.08679792, 0.05114967, -0.11920229, -0.023846276, -0.0023330923, -0.16175571, 0.13526265, 0.01531539) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.10641157, -0.09245742, 0.025458138, 0.095404685, -0.07810596, -0.014495466, -0.07749727, -0.062123932, 0.08523248, -0.0163956, -0.07766263, 0.061357774, -0.016478455, -0.029833129, 0.050713364, -0.062058467) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.099287406, -0.124912776, -0.08957284, 0.09206946, 0.077352546, 0.077084154, 0.03893286, 0.10158148, 0.26265356, 0.022997707, -0.08215801, -0.022087097, 0.012221629, -0.09785601, -0.10295539, 0.017879514) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.17196265, -0.086922586, -0.13871957, 0.05014503, 0.06706456, -0.006317162, 0.038531322, 0.03240582, 0.0997608, -0.024703545, 0.123536386, -0.038503263, 0.088646024, 0.010003686, -0.05806905, 0.0008595674) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.060291663, 0.03250313, 0.084959336, -0.028008675, -0.032070663, -0.045678973, 0.044860996, -0.029441904, 0.025124151, -0.0827606, -0.10063414, 0.0155096995, -0.0021959648, 0.019414183, 0.1070217, 0.102565706) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.10950012, 0.03101446, -0.05328724, 0.045060642, -0.103009894, 0.08120981, 0.06001765, 0.08091648, 0.0797928, -0.058167234, 0.08982389, 0.057351112, 0.031306908, 0.18488394, 0.024129895, -0.08560409) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.15607314, 0.07388785, 0.19578715, -0.06600553, -0.05594764, 0.021988956, -0.087141395, -0.0016892091, 0.025397677, 0.047780823, 0.02208489, -0.04413851, -0.11430235, 0.08592562, 0.18334486, -0.042587675) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.14745066, 0.028772281, -0.02817075, 0.08963559, 0.051282894, 0.06282376, 0.10968242, -0.0055496036, 0.021256706, 0.059366446, 0.024493614, 0.017052177, -0.02812918, -0.13843253, 0.17032278, -0.027696501) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.02349685, 0.011519274, 0.057451252, -0.081887096, -0.08915053, -0.012257917, 0.041043036, 0.085946664, 0.051549178, 0.10829412, 0.024059556, -0.11304195, -0.042719804, -0.005471454, 0.058888365, -0.053943407) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.053379644, 0.07578121, -0.029772514, -0.09173171, -0.10382581, -0.068371706, 0.023306547, -0.030216487, -0.0005400173, -0.10391691, -0.012328547, -0.031530857, -0.07101214, -0.00029106307, 0.10904704, -0.120295666) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.058713917, -0.004970348, -0.06432422, -0.077368826, 0.14073387, -0.0039929794, 0.04085048, 0.055726055, 0.0008835653, 0.016337208, 0.007874073, -0.0642132, -0.05621142, -0.06375811, 0.08993783, 0.08116989) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.054882057, 0.031255335, -0.00937629, 0.04280457, 0.011692529, -0.087107934, -0.08304411, 0.037464365, -0.01866047, -0.11370457, 0.000509223, 0.12838516, 0.008228103, 0.0592986, -0.04930101, 0.07554807) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.07453059, 0.074558996, -0.030733055, 0.048796564, 0.13063982, 0.020466965, -0.051619727, 0.013452335, -0.07785985, -0.08671338, -0.04616167, -0.03982221, 0.01836264, -0.13134514, -0.03475978, 0.11600512) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.019685458, 0.048200358, -0.07445514, 0.06081855, -0.025291704, 0.024983307, 0.0230919, -0.0026427817, 0.049629137, 0.1429679, -0.03886688, 0.047204, 0.027163848, 0.02905813, 0.028815137, -0.045238324) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.03951712, 0.0068928422, -0.07227556, 0.0059631225, -0.022553004, 0.069014795, -0.11028471, 0.08055054, -0.02998101, -0.003918238, 0.011796322, -0.024194065, -0.0013615427, -0.046854213, -0.03235497, 0.04464656) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.06703059, 0.07750729, 0.020141052, -0.045001823, 0.17837884, 0.09285474, -0.07115092, -0.0037057674, -0.03347676, 0.08215089, -0.011957318, -0.10807144, 0.074018575, 0.07984759, 0.13037604, -0.0158725) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.08884892, 0.051664125, -0.022051435, 0.08409583, 0.061172128, 0.04704994, 0.007846713, 0.0001397612, -0.048993945, -0.10017504, 0.05740147, -0.117473274, 0.05528591, -0.012109296, 0.007026303, 0.09979741) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos2 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(2, 0); + imageStore(out_image, store_pos2, max(result2, V4(0.0))); + V4 result3 = V4(-0.008739096, 0.0024725376, -0.013386704, -0.0038562224); + result3 += M4(-0.02062692, -0.03589331, 0.0028796776, -0.069743276, 0.033811543, -0.08065521, 0.030370817, -0.004952767, 0.053443562, 0.06489981, -0.0051904693, -0.050831363, -0.028475404, -0.044025134, -0.0545412, 0.091572) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.038847417, -0.00019370005, -0.046182822, -0.018554606, 0.008466101, 0.11027352, 0.01795353, 0.0456056, 0.05718633, 0.052195217, -0.04551628, 0.04120118, -0.07459906, -0.027351934, -0.061828014, 0.11052518) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.026409712, 0.061660036, 0.035437696, 0.047108136, 0.073040776, 0.06008144, 0.05877714, 0.047598716, -0.13613467, -0.019922893, -0.09907848, -0.038960297, 0.0006076094, -0.072264545, -0.026271313, 0.014303528) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.007017821, -0.013858539, 0.012449699, -0.055304132, -0.07090374, -0.07232492, -0.0020707375, -0.05174788, 0.06338638, 0.04848387, 0.036033824, -0.052349728, 0.013889362, -0.024454642, -0.13963056, -0.0022994315) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.09314635, -0.024667358, 0.0018668043, 0.07536699, 0.012293452, -0.08654072, -0.11924947, 0.0012387385, 0.033256236, 0.097588725, -0.06073695, -0.11380267, 0.034593645, 0.089581415, -0.10510037, 0.060799055) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.048076943, 0.052267402, 0.005941806, 0.10331367, 0.08091858, 0.038795196, 0.03521213, -0.031976648, 0.09185437, -0.04341276, -0.11470637, 0.042372458, 0.059803728, 0.03201012, -0.01870716, 0.22220588) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.02446678, -0.0060666297, -0.03589361, -0.07210075, 0.07876505, 0.10096277, 0.047240816, -0.09115429, 0.084307685, 0.015237141, -0.083110236, 0.091213495, -0.03499064, -0.08024439, 0.09289713, -0.07342703) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.07584645, -0.084391825, 0.01428156, 0.0060329577, 0.020144092, -0.060260557, 0.09451176, -0.030528335, 0.07302806, 0.0017953567, -0.11469489, -0.09958275, 0.006799894, -0.048849482, 0.018283052, 0.15517007) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.058037087, 0.066085674, 0.0705559, 0.018127559, 0.03867997, 0.031457353, 0.037886027, 0.021916611, -0.007977898, -0.07664734, -0.09453283, 0.11318036, 0.105501674, -0.12112749, -0.08219448, 0.054677982) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.041034378, -0.041815408, 0.09489859, 0.06674082, 0.049385346, 0.21888953, -0.14941293, -0.0038804763, 0.06220507, 0.062240005, 0.05121943, -0.05301123, 0.046798784, -0.046111967, 0.01430893, -0.020387797) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.0038788144, -0.036725767, 0.003139178, 0.05602481, 0.056318723, 0.08289549, -0.0854152, -0.11357963, 0.020233603, 0.0064371126, 0.046657544, 0.020825107, -0.071938396, -0.0008062755, 0.08768186, 0.0547443) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.016346667, -0.018419815, 0.11903944, 0.0130470265, -0.022120148, -0.18327558, -0.15603013, 0.19233876, -0.084630616, 0.06390716, 0.034831863, -0.020620612, -0.051983368, 0.10305497, 0.029119717, 0.07368669) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.054073352, 0.02005612, 0.022254765, 0.04629833, -0.18141413, 0.059634224, 0.121464774, -0.048147153, -0.032796834, 0.071714565, -0.059220087, 0.08204278, -0.026282463, -0.010254625, -0.03513211, 0.029855294) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.012374995, -0.019117171, 0.016755218, -0.057168294, 0.019336373, -0.066110514, -0.010861781, 0.034228403, -0.09120941, -0.016504308, 0.017034842, -0.014101798, 0.04979094, 0.072201446, 0.0037487724, -0.041247874) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.047927126, -0.051194753, -0.093115255, 0.10915638, 0.07652742, 0.0025059152, -0.12051796, -0.15649271, -0.03145958, -0.077770844, -0.04824344, -0.0857384, 0.10947641, 0.05500241, -0.089903854, 0.10304492) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.03190901, 0.03724357, -0.033865973, -0.10734711, -0.03355379, 0.106683634, -0.2807774, -0.077254824, 0.065008245, 0.07500423, 0.028054865, -0.029399227, 0.0069158925, -0.008155889, -0.03501118, 0.09056681) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.03814196, 0.1065662, -0.013648463, 0.022123115, -0.042360973, -0.06979302, 0.082516864, -0.14994514, -0.06779166, -0.111427516, -0.00067856174, 0.06629989, -0.042459477, 0.030113291, -0.07691119, 0.11010445) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.0114723705, 0.07096572, 0.0062755635, -0.031745937, -0.002699689, -0.12688847, 0.1809189, 0.15625155, 0.06075428, 0.023915881, 0.02061089, -0.016905122, 0.006278512, -0.071307614, -0.061725702, -0.08480147) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.009919508, 0.11451995, -0.08494489, -0.035625283, 0.058674775, -0.05727558, -0.024545785, 0.041243605, -0.034622233, 3.5089615e-05, 0.08039478, 0.059291966, 0.104676485, 0.05720982, 0.022645121, -0.041767545) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.12135024, 0.016394418, 0.038013455, 0.026045, -0.12452478, 0.050260797, -0.10856389, 0.02422773, 0.025715336, 0.035684425, 0.08252323, -0.085289225, 0.047380578, -0.08234647, 0.08665152, -0.1079992) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.0010841824, -0.10208558, 0.29677302, 0.10929812, 0.0230144, -0.007877244, 0.24788962, 0.097032234, -0.0046739383, -0.07385176, 0.10679617, -0.065574765, 0.08372264, 0.063937485, -0.095426604, 0.06362687) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.07521925, -0.17367484, 0.039546415, 0.028440766, -0.0082052415, -0.014537429, 0.014563671, 0.01945197, -0.09690277, 0.045522813, 0.056900024, 0.026404375, -0.036026623, -0.1329119, 0.05747525, -0.13106225) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.056108467, -0.17783542, 0.008227196, 0.117556885, 0.04679432, 0.06414989, -0.049644276, 0.14015612, -0.07655604, 0.008850784, -0.0034782041, 0.049449105, 0.032917146, 0.023485295, 0.098917656, 0.08202724) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.011776326, -0.105710804, -0.053868417, 0.13057785, -0.010019522, -0.019071806, -0.025313433, 0.081011906, -0.06430649, 0.017011, 0.044144664, -0.04191512, 0.08000606, 0.098243296, -0.04048807, -0.10124048) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.022214983, 0.12275404, -0.13685216, -0.08421181, -0.08596396, -0.017657805, 0.022431923, -0.062369257, -0.07030598, 0.0834117, 0.06582719, -0.05947086, 0.010300341, 0.011285829, 0.06909638, 0.04245823) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.13517413, -0.046451718, 0.11798839, -0.24519947, 0.064453945, 0.0027563334, 0.02404945, 0.08733412, -0.009083223, 0.09970423, 0.06715458, -0.11275724, -0.032399006, -0.023945097, -0.03491381, -0.05898863) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.0406631, -0.11270033, -0.112850614, -0.058001336, 0.0811323, -0.03761845, -0.123766005, 0.17811662, 0.097185485, -0.060470406, -0.038588494, -0.09605941, -0.05017928, 0.021955745, 0.11208835, 0.024559872) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.062216617, 0.09190972, 0.13849126, 0.08823891, -0.060651336, 0.05291516, -0.09917136, -0.067206904, -0.05167161, -0.15320511, 0.2802821, -0.16703875, 0.07459464, -0.007542502, -0.02299279, -0.0032147577) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.08419234, -0.07052551, 0.047488637, -0.021911751, -0.052676965, -0.07278701, -0.076326534, 0.066354364, 0.03756598, 0.053092025, 0.0105784815, 0.12642348, 0.025469404, -0.031365376, 0.032926377, 0.036704753) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.0913853, 0.004375619, -0.25794813, -0.06068813, -0.0674426, 0.00925344, -0.00940849, 0.018850368, -0.026824526, 0.018789507, -0.2557219, 0.034118846, -0.018850822, -0.025094843, -0.10453769, 0.07245054) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.06765251, 0.21352802, -0.07625153, -0.14959805, 0.07145515, 0.031864606, 0.0606766, -0.09748989, -0.046238832, 0.12832503, -0.1809379, 0.043261655, -0.014412996, 0.051034912, 0.05743692, -0.021123284) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.084664926, -0.05002035, 0.18079998, -0.20991684, -0.068973646, -0.07660487, -0.03946168, -0.046841584, -0.015867239, 0.21066868, 0.18110833, 0.023591818, -0.061697416, -0.010629157, -0.06763717, -0.06989697) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.011082986, -0.06879907, 0.05025601, -0.03732403, 0.08805433, -0.105916545, 0.010529041, 0.017343929, 0.11626527, -0.138469, 0.07003376, 0.08133048, 0.06523511, 0.01340182, -0.107054755, -0.030937837) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.08301624, 0.06764356, -0.15533142, 0.108561754, -0.0013060652, 0.0029942573, 0.08340954, -0.0023890946, -0.020592052, -0.07031761, 0.15222587, 0.24437942, 0.036061365, 0.0625158, -0.027190227, -0.1041387) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.07150087, -0.024251282, -0.054499794, 0.023164751, 0.06553551, -0.05408574, -0.015681526, 0.08384272, 0.089726366, -0.026482543, -0.17182116, -0.017883727, -0.06897108, 0.087402605, 0.06956909, -0.10078878) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.018148225, 0.092971005, 0.009024481, 0.09162606, -0.032571964, 0.09567617, -0.08744239, 0.018271087, -0.118221276, 0.029770486, -0.006650845, -0.20848168, 0.08193237, 0.09497523, 0.05105319, -0.09604128) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.09124374, 0.25853476, -0.07031844, 0.07586055, -0.07700176, -0.16201127, -0.05409477, -0.13302127, -0.14193936, 0.055884376, -0.112316564, 0.056504022, 0.022490988, 0.10060102, 0.06817951, 0.081705935) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.06932173, -0.10824074, 0.10261683, -0.243315, -0.048243787, -0.022441497, -0.11941564, 0.19083874, -0.021790078, 0.07713366, 0.16684185, 0.0024917535, 0.05079612, 0.040317155, -0.056442868, -0.049301427) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.053760454, 0.048680507, -0.07647234, -0.005880319, -0.106671765, 0.032268293, 0.03495255, -0.10108321, -0.016086847, 0.057551075, -0.11068367, -0.12410455, -0.06310013, 0.034427103, -0.09865551, 0.060031865) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.030184641, 0.044263717, 0.026486274, 0.029051105, 0.10105845, -0.01917414, -0.07979078, 0.03566522, 0.04451616, -0.03664749, -0.16646357, 0.17319411, 0.08668961, -0.016331151, -0.0831119, -0.05810109) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.03319616, -0.1314319, -0.047813367, -0.3254158, -0.021206573, 0.064671926, -0.14467469, 0.120198056, 0.05565646, 0.07730321, -0.075706385, 0.121929266, 0.061571088, -0.10813465, 0.10920725, -0.062053055) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.08194819, -0.025094498, 0.00084391324, -0.07358036, 0.07987154, 0.107751004, 0.046746127, -0.0041098306, 0.053015437, 0.059921183, 0.102433026, -0.11418319, -0.054130796, 0.03213735, -0.01103557, 0.0008137982) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.0709131, 0.21532243, -0.3065609, -0.29578403, 0.026185082, -0.13124461, 0.106761, 0.12498956, 0.103761345, -0.06941454, 0.14669165, 0.037530877, 0.04126064, -0.098183185, 0.031681262, 0.00050419016) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.02984239, 0.002169638, 0.2150906, 0.0930299, -0.13601446, -0.19029935, -0.10881603, 0.07521462, -0.03579529, -0.20971252, -0.05422156, -0.06399177, -0.057406805, 0.025937129, 0.007063215, 0.004495781) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.21802947, 0.17064671, -0.025651556, 0.048356663, -0.020584438, -0.072063535, 0.111774445, -0.103197716, 0.049822554, -0.2311166, 0.018840622, 0.035459425, -0.09021065, -0.037711192, 0.08613032, 0.09709833) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.061375868, -0.28251222, 0.28168634, 0.1261976, 0.075008206, 0.017904663, -0.10111551, -0.017830912, 0.09154306, -0.08890274, 0.2183735, 0.119486146, -0.15937752, 0.012519974, -0.039262585, -0.014091751) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.026870584, 0.10842348, -0.033392176, -0.034641836, 0.018534614, 0.08233241, 0.15875302, 0.13806777, 0.03611864, -0.015973456, 0.0018738003, -0.07711809, -0.03675473, -0.023137819, 0.17971645, -0.052573368) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.07784997, 0.034156796, 0.0682935, 0.015385402, -0.0020325761, -0.061995365, 0.21352762, -0.09696922, -0.031299636, 0.049004808, -0.09511252, 0.05818166, 0.060144868, -0.067555346, -0.084613584, -0.030356808) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.10697274, 0.04135883, 0.06356846, -0.0012173111, 0.054814555, -0.04297507, 0.08925606, 0.121296905, 0.032722756, 0.17719279, 0.031075353, -0.098486006, -0.09451131, -0.10411323, -0.15557566, 0.10227097) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.100968495, 0.034661952, -0.15347058, 0.12342025, 0.05407795, -0.006617031, -0.09784, 0.120764606, -0.015629148, 0.01692176, -0.060861226, -0.017623119, 0.020352643, 0.07390312, -0.09498996, 0.057667725) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.0722709, -0.050860744, 0.01659783, 0.12515315, 0.017836735, 0.14077993, -0.026080417, 0.01389766, 0.102894686, -0.04086808, -0.0062156897, -0.044581395, -0.070659906, 0.012588228, 0.05131144, -0.0007445404) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.122463, 0.06877441, -0.02017321, 0.20335683, -0.011976725, -0.03293542, 0.03338623, -0.20594932, -0.08679188, 0.17481491, 0.029466929, 0.013734239, -0.04986357, -0.050554033, 0.056045175, 0.12713586) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.11805552, -0.023008635, 7.786845e-05, 0.11505415, -0.00396033, -0.17186245, 0.08201819, -0.102577865, 0.06426364, 0.05959403, 0.1990583, 0.24114202, 0.03803075, 0.016642218, -0.15188976, 0.063137256) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.14546962, 0.13674897, -0.0045918855, 0.021882385, -0.022261262, -0.0007475266, -0.056414075, -0.061224665, -0.077979006, 0.08445077, -0.026561119, 0.007820436, 0.082114495, -0.118912235, 0.031953294, -0.03992326) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.019386735, -0.17337476, 0.02134629, -0.124466084, -0.027359424, 0.098940015, -0.027971216, 0.08870269, 0.03330463, -0.12873779, 0.21228576, -0.04236145, -0.0073977644, -0.15958712, -0.14579181, 0.016519135) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.108364835, 0.0059319767, -0.14811035, 0.122147076, 0.03821987, -0.064194314, -0.07996085, 0.034793828, 0.08516147, -0.007451261, -0.100671895, 0.04760564, 0.081475906, 0.21736813, 0.040038973, 0.0027632746) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.008636645, 0.11420495, -0.07131817, 0.058794413, 0.0066960403, -0.06186281, -0.19157754, -0.0045249686, -0.068941146, -0.048485916, -0.22864339, 0.004234862, -0.10044161, 0.06982252, 0.066084445, -0.07488658) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.04122022, -0.045141667, 0.026221441, -0.06881463, 0.029712472, -0.0012385998, 0.088373445, -0.029192869, 0.025044983, 0.08090737, -0.11804117, -0.082290955, 0.0082024755, -0.15285233, 0.13813776, 0.03762288) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.08399818, 0.13795726, 0.08334879, 0.13294251, -0.0049978863, -0.103501104, 0.15111904, 0.027733585, -0.100130044, 0.06191623, 0.17986718, 0.085312426, -0.10281626, 0.16926843, -0.074646816, 0.017338486) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.025101455, -0.10786817, 0.07692354, 0.08270257, -0.0800792, -0.006031019, 0.019332115, 0.033377595, -0.013993752, -0.031448066, 0.11971098, -0.052091584, -0.051115934, -0.12573086, -0.026853941, -0.2288293) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.13914749, 0.16805889, -0.037791934, 0.11195738, -0.03208784, 0.07499982, 0.07511999, -0.023743907, 0.0017767261, -0.0962638, 0.12600206, 0.088221796, 0.09217995, 0.07122336, -0.018035347, 0.05451957) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.12671623, 0.030587925, -0.031445734, 0.05829094, -7.6908604e-05, 0.07141251, 0.1314697, -0.0738902, 0.10996934, 0.103560865, -0.018168095, 0.0043466035, -0.042362344, -0.032806933, -0.076367415, -0.004654037) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.030229189, -0.03763347, -0.11006612, 0.09868401, -0.0774022, 0.04054941, -0.0037790525, -0.09226201, -0.11257748, 0.018700078, 0.09871959, -0.1654493, 0.0036686002, 0.007930674, -0.07340056, -0.051149823) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.04249613, 0.041928362, -0.0335921, -0.07461962, 0.037157945, -0.05327246, -0.04423667, -0.062199872, 0.0018308066, 0.10472039, -0.16578273, -0.053464502, -0.06614017, 0.063727364, -0.008479616, 0.07285321) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.07694822, -0.008183712, -0.018504713, 0.04936265, 0.09123717, -0.008707733, 0.026015468, 0.059304677, 0.15971673, -0.009581171, 0.014538181, 0.056216378, 0.09761213, 0.11133713, -0.11558271, -0.0080547705) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.07457893, -0.06961043, -0.03569081, 0.08566511, 0.03262842, 0.07243581, -0.042916663, 0.028997688, 0.0029612035, 0.060844112, -0.108577445, 0.15344356, -0.13788429, 0.10683097, -0.028032232, -0.032554567) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.07247737, 0.057991054, 0.1218796, 0.092810996, 0.028121822, -0.0133580305, 0.041856408, -0.009942668, -0.121762924, -0.0166773, 0.08369562, -0.089569025, -0.12309637, -0.12328348, 0.050148077, 0.0005803798) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.01818056, 0.06468686, 0.048668604, -0.073914506, -0.044378582, 0.05316955, 0.048525907, 0.041465845, -0.03802939, 0.0012629672, 0.11157956, 0.04728687, -0.10458539, 0.09126685, 0.03000295, -0.014608383) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.052273344, 0.005653936, 0.02937832, 0.0137906335, 0.006477444, -0.10760524, 0.069172226, 0.17528568, -0.034741342, -0.07492991, 0.041394517, 0.011703913, -0.01293028, -0.025509331, 0.09298305, 0.0071548237) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.07902113, -0.108616725, 0.058997322, 0.063264266, 0.11020373, -0.089050815, 0.117041156, 0.05588188, 0.1282322, -0.005790242, -0.047862016, -0.12129489, 0.030355513, 0.12708251, 0.08056946, -0.0064981645) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.03257809, -0.076975845, -0.003909003, -0.07582689, -0.015173618, 0.16029586, -0.035136804, -0.020634444, 0.043394383, -0.009152167, 0.007245613, -0.19843842, 0.090923175, -0.038627923, 0.071801856, 0.0515674) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.049551368, -0.087662384, -0.073277175, 0.09873187, 0.025338676, -0.021965643, 0.043641645, -0.069786035, 0.06376868, -0.03459039, -0.040987365, 0.027192304, -0.15102813, 0.07779334, 0.110606246, -0.009940399) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos3 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(3, 0); + imageStore(out_image, store_pos3, max(result3, V4(0.0))); + V4 result4 = V4(0.048475258, -0.0016466539, 0.00079193723, -0.00085421646); + result4 += M4(-0.07107167, 0.009886906, -0.061021622, -0.11019054, -0.034301095, 0.09771787, -0.051864993, 0.09684327, -0.08797835, 0.03040107, 0.092474334, 0.055616572, 0.16722639, -0.1127143, -0.0521261, -0.032228544) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.003916877, 0.03955855, 0.02740431, 0.0747205, 0.030897507, 0.0008090569, -0.017456397, -0.09746496, -0.02540629, 0.026678773, -0.056202892, 0.096326, -0.04499608, 0.08766099, -0.157929, -0.0136659695) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.05888182, -0.08005892, 0.02972462, -0.061811693, 0.015362483, 0.06387018, -0.03346448, -0.05173854, -0.003174016, -0.17640525, 0.0580828, 0.03887592, 0.091787554, -0.13279878, -0.229628, -0.029493328) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.052578602, -0.048647314, 0.011727147, 0.0728119, 0.066691816, 0.023814555, -0.1126139, 0.03546712, -0.002087306, 0.017589265, -0.058256943, -0.047809675, -0.07192625, 0.06246048, -0.11960075, -0.018469479) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.014639136, 0.028646419, 0.046338856, 0.060429603, -0.10019169, 0.080828354, 0.09331199, 0.14373761, 0.0037974808, -0.011071799, -0.043200232, -0.07697648, 0.0040110005, -0.02748587, -0.005841718, 0.014361532) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.08907297, 0.072387315, 0.0029937676, -0.09195208, 0.07152659, -0.09494845, -0.054923747, 0.018583521, -0.030953446, -0.12522377, 0.026961498, -0.087497994, 0.07090582, -0.046127476, -0.053495232, 0.074679635) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.019997457, 0.06544093, -0.100700974, 0.114821866, -0.0025632358, -0.05271472, 0.040871523, 0.09046423, -0.005349519, 0.031155914, 0.110909775, 0.08456448, 0.02460135, 0.12392686, -0.09796079, 0.111834705) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.08109648, -0.0791714, 0.054299906, -0.07003891, 0.07221653, -0.051927596, -0.048794396, 0.1044918, -0.058412284, 0.06551401, -0.022327121, 0.03320334, 0.0012289003, -0.048411686, -0.09511639, 0.13888888) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.09425481, -0.06460806, 0.022865728, -0.07748199, -0.06553375, 0.11530394, 0.04581206, -0.05435501, -0.022918606, 0.0069057145, 0.032330308, -0.0034222333, 0.066027954, -0.04841268, 0.016022174, 0.12746422) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.07920653, -0.08363159, 0.0010728261, 0.012219267, 0.09309983, -0.12286994, 0.07552689, -0.095300145, -0.07656956, -0.057501182, 0.022588748, 0.08657829, -0.04110398, 0.00840442, -0.0301489, 0.07301429) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.06606469, 0.002892196, -0.06095837, 0.07593702, 0.06942875, 0.0075755315, 0.0013442078, -0.00828146, 0.07808627, -0.033583682, -0.04790125, -0.034544893, 0.01924233, -0.012109767, -0.08271749, -0.0770741) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.04393366, -0.048891038, 0.012380383, -0.013186112, 0.091847725, 0.12389503, 0.0014147998, 0.039275076, -0.081549376, -0.004623564, -0.07935479, 0.02697655, 0.013832333, 0.07072621, -0.074392945, 0.023116622) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.075016424, 0.0036415877, -0.053060777, -0.056322463, 0.08892003, -0.040733617, -0.050070472, -0.07478059, -0.053945776, 0.06613757, -0.068126686, -0.0366981, -0.08842961, 0.061394252, -0.107219614, -0.010985793) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.04425772, 0.1415786, -0.10028226, -0.05761347, -0.004844568, -0.0032089874, 0.03403872, 0.08799576, -0.003998129, -0.06563576, 0.080497, 0.02689489, 0.09211451, -0.009449857, -0.021673668, -0.09247571) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.05685288, -0.026809065, -0.043143183, -0.028621139, 0.08062907, -0.1118278, -0.10232857, 0.0051646093, -0.09801772, -0.04775816, -0.008075825, -0.094374605, 0.0006863199, 0.021976998, 0.019612359, 0.08583876) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.05038929, -0.014370407, -0.03754497, -0.05101319, -0.12656486, 0.044807885, 0.153567, -0.03021155, -0.055450015, 0.0024230254, -0.07350356, 0.039584994, -0.020816842, -0.07185247, 0.027207956, -0.022641852) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.005510938, 0.123205535, -0.16553472, -0.10090446, 0.067777455, -0.050744336, 0.012532508, -0.058043756, -0.016505513, 0.026806338, -0.0822389, 0.04897396, -0.043428343, -0.060327265, 0.031839, 0.038261805) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.095266946, -0.069655195, -0.0833478, 0.044375885, -0.0050480026, 0.02494113, -0.0026564854, -0.026991423, -0.090860516, -0.047116943, 0.06952996, -0.0022425181, -0.033474483, -0.066667505, 0.0069856537, -0.06317381) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.059562445, 0.33172792, -0.068092905, 0.03439291, -0.07195195, 0.019469827, -0.10411104, -0.021679623, 0.10722331, -0.05072971, -0.02525003, -0.028281672, 0.00039866174, -0.013313403, -0.06571361, 0.035347108) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.04977538, -0.0017900668, 0.13885789, -0.016805725, -0.051949155, 0.041026216, 0.060506903, -0.06219489, -0.069464386, 0.065778896, 0.10740752, -0.07738396, 0.08975158, 0.15263703, 0.12299245, -0.1265624) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.028145334, 0.30570847, 0.05282162, -0.030067949, -0.011653075, 0.05043263, -0.10923805, 0.07860362, -0.0065150973, 0.091024, -0.01978334, 0.044780657, -0.06802425, 0.01619638, -0.032472163, -0.036589485) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.04383754, -0.11635602, -0.05356793, 0.069980174, 0.053393573, 0.08778265, -0.10002602, 0.040620703, -0.0719102, -0.058726236, 0.06272818, 0.113265656, -0.08282801, 0.0806168, -0.03435795, 0.06393256) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.053959183, -0.09781597, -0.028107336, 0.013168064, -0.05517896, -0.0070146006, 0.024262734, 0.05077324, 0.01742612, 0.03924756, 0.09421593, 0.062603146, -0.012073489, 0.17694129, 0.038263243, 0.023792565) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.04723068, -0.012133287, -0.03745491, -0.037270006, 0.07043867, -0.020096198, 0.022377525, 0.08486179, -0.06479224, -0.028053263, -0.03974197, 0.0110172415, 0.0028299487, -0.0931082, -0.053632356, 0.12266451) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.04069112, 0.05891232, -0.09750251, -0.057000395, -0.101015665, 0.07471539, -0.2604556, 0.12583551, 0.0560215, -0.09036416, -0.02305098, 0.009647609, -0.09342624, 0.034376714, -0.10022436, 0.044726584) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.0893111, 0.032148596, -0.08310081, -0.01700428, -0.026341679, -0.07058934, 0.0401634, 0.11052103, -0.08138663, -0.06858296, -0.08201966, 0.05669221, -0.030063495, -0.087017015, -0.020989407, -0.036788102) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.1018986, -0.042433813, -0.07444545, 0.045093488, 0.027629675, -0.09635534, 0.1072441, 0.10577341, -0.08239687, 0.022819147, -0.00876415, 0.0016464603, 0.10720989, 0.05540897, -0.062239096, -0.009283536) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.06591523, -0.07131523, 0.024921052, -0.015680742, -0.09914005, 0.05626993, -0.05292952, -0.036368117, -0.10857693, -0.0059597846, 0.050618604, -0.13376951, 0.009434105, 0.015088126, 0.08179394, 0.015679443) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.076290846, 0.03541919, -0.055864416, -0.016687224, -0.09611953, -0.07071792, 0.053021263, -0.010106112, -0.025130682, 0.028633118, -0.23567815, 0.17808124, 0.07005153, 0.07826673, 0.024890091, 0.023305975) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.064567454, -0.033199146, 0.09650413, -0.17799379, 0.02295999, 0.11236896, 0.046314254, 0.09271234, 0.044735212, -0.10450614, 0.08487375, 0.19327681, -0.07534402, 0.018160982, -0.0037443629, 0.11518748) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.074817896, -0.25444332, 0.08994501, -0.003402821, -0.06868562, 0.010200037, -0.04413558, -0.029965216, 0.028254136, 0.07453517, -0.18587708, 0.13040918, -0.08169941, -0.07463817, -0.016549308, 0.09607141) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.049767446, 0.08906422, 0.03520491, -0.18080193, 0.093580715, -0.08677526, 0.017181639, -0.053806826, 0.05625478, -0.029974375, -0.053062465, -0.0949589, -0.010565272, -0.07894193, 0.033265743, 0.076197974) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.08991163, 0.091494925, -0.123886764, -0.017650919, 0.038362112, -0.10751506, 0.057819013, 0.052269515, -0.048736475, 0.17748421, 0.052762084, 0.032844882, -0.003172618, 0.027197465, -0.042117845, -0.09647693) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.070276394, 0.091965385, 0.18032838, 0.055179443, 0.07143453, 0.06666891, 0.07750902, 0.0971104, 0.06969746, -0.023943286, 0.07685685, -0.054852318, 0.04071043, 0.083464965, 0.036707748, 0.028562546) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.05483332, 0.038014922, -0.0797481, 0.104571775, 0.05305026, 0.013832211, 0.07611026, 0.0676712, -0.14325614, -0.14733802, 0.14168787, -0.07403644, 0.039843615, 0.030549305, 0.0108772265, 0.041099068) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.18807925, -0.18166865, -0.073961146, 0.09488423, 0.017565051, -0.11731689, 0.06118783, 0.004431156, -0.04516029, 0.15848775, 0.015962576, 0.09288796, -0.07108715, -0.02125822, 0.020775877, -0.064516835) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.012176497, -0.1848709, 0.33734348, -0.05894486, 0.012782097, 0.07570575, -0.1313699, 0.07827184, -0.07354171, -0.00092987146, 0.0107863145, -0.011807078, -0.030788118, -0.02953122, 0.00971608, 0.044922534) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.09694433, -0.032827593, 0.15188283, -0.17432085, 0.11572419, -0.0063958676, -0.08504576, 0.038501017, 0.06560127, -0.04954205, 0.15751575, -0.04984897, 0.02309161, 0.07924355, 0.02460358, 0.033725135) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.04326798, -0.14398536, 0.060109764, -0.009088822, -0.083218165, 0.07964472, 0.07563434, 0.17255236, 0.11756493, -0.17077628, -0.007821553, 0.00094260735, 0.08448119, -0.11472465, -0.013286992, 0.05210723) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.13507149, 0.05056716, 0.14240554, 0.0124415755, 0.026616398, -0.00023256459, -0.090696454, -0.019716704, 0.05823546, -0.061785523, 0.03757798, 0.058364972, -0.036875404, 0.06911994, 0.07660618, 0.0748468) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0020429557, 0.12220026, -0.08686554, 0.019307192, -0.015522322, -0.10677009, 0.12831856, 0.0640619, 0.11178919, -0.014166529, -0.0016424197, 0.003893712, 0.094736986, -0.031916592, 0.04108218, -0.08029681) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.033818807, -0.057580315, -0.17926937, -0.019071288, 0.095854074, -0.03173402, 0.14486367, -0.11090472, -0.09688005, -0.1020589, -0.012277055, -0.01987762, 0.06854693, -0.101630844, 0.023158424, -0.024749078) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.04278791, -0.39753047, -0.050630122, -0.15013146, 0.030995678, 0.10476827, 0.1192825, 0.095728196, 0.01241079, 0.09018692, 0.117576614, 0.06446324, -0.028965274, 0.02938581, -0.0800518, -0.070997775) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.071223065, 0.045461647, -0.09929226, -0.104495004, 0.04476408, 0.04722664, 0.3189616, -0.060818408, 0.106646135, -0.11574792, 0.19994585, 0.07147646, 0.03201663, 0.04001358, -0.082039565, -0.062932745) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.06889859, -0.3564969, -0.28342602, 0.012938501, 0.08771154, 0.25822315, 0.041526116, -0.09530609, 0.05814752, 0.20632811, -0.0013347827, 0.09847382, 0.02871313, -0.015895266, -0.107586086, -0.10094418) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.01990683, 0.15605038, -0.23181713, -0.015028779, -0.08116957, 0.041289378, -0.10415446, 0.0912794, 0.090948105, 0.25195464, -0.04139658, -0.076655924, -0.105826296, -0.00845422, 0.037362546, -0.07934489) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.037937388, -0.0637305, -0.058527086, -0.106701404, 0.009227687, 0.07402236, 0.14353609, 0.038850978, -0.14577241, -0.20072232, -0.02152236, 0.09742811, 0.058013044, 0.0155805405, 0.01312362, 0.01759056) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.004988307, -0.08699653, 0.008860123, 0.042042453, 0.06332248, -0.004671539, 0.0185625, 0.016896315, -0.09381278, 0.06720311, -0.14042412, 0.01487101, 0.040130008, -0.16804193, 0.060712453, 0.09343712) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.03561345, 0.16724397, -0.12962472, 0.009159126, 0.033909254, 0.007743173, 0.1295449, 0.018664222, -0.08172696, -0.041466434, -0.11758127, 0.00088513613, 0.085355654, -0.019932844, -0.05447414, -0.08687549) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.07103445, 0.0452273, 0.057658583, -0.057639357, -0.053583283, -0.036553428, 0.019884568, 0.13787714, 0.004777098, -0.019850634, -0.0561567, -0.045421574, 0.041153472, -0.027913861, -0.066323474, -0.03413847) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.021707796, 0.0038350872, 0.020430477, -0.05453779, -0.030844236, -0.027564893, 0.026277285, -0.090540655, 1.025651e-05, 0.0831811, -0.09519294, 0.06232579, -0.073697284, -0.02375083, -0.068221204, -0.045323938) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.11126249, -0.030950433, -0.12846975, 0.019384673, -0.029222744, 0.04292489, -0.005472069, -0.013624525, 0.03900492, -0.20187259, 0.061479345, 0.018400386, 0.039325856, 0.09856128, 0.02980483, -0.055565502) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.008030769, -0.03104475, 0.12869589, 0.084577695, 0.024880506, 0.0015863865, 0.12685429, -0.08704813, -0.12965715, 0.050971035, -0.017468322, -0.008786162, 0.040520977, -0.02004884, 0.18062603, -0.055512) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.23323788, 0.06334802, 0.05225023, 0.00043607646, -0.03571876, 0.018188532, 0.066918, -0.010153479, -0.019752601, -0.23112004, -0.07860096, -0.035277765, 0.026505912, 0.06179351, 0.077628106, 0.057613395) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.009436241, -0.050790813, -0.086943954, -0.079254635, -0.022531273, -0.035436243, 0.0983481, -0.06356742, 0.026240654, 0.0805506, -0.1499398, 0.0748268, 0.07842964, 0.07381265, -0.09532043, -0.036446363) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.11400664, 0.021654895, 0.0061850306, -0.09961288, -0.08737236, 0.077904865, 0.08036145, -0.11633716, 0.0863448, 0.019641003, -0.14571203, 0.054178245, -0.06444375, -0.069144905, 0.09473548, -0.0061333785) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.026497746, 0.019416533, -0.121185556, 0.12583995, -0.117015906, 0.0743505, 0.054157857, -0.026286624, -0.03113982, 0.07616736, 0.012576774, -0.08693734, 0.10418915, 0.028850554, -0.16393994, -0.10983428) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.043596298, 0.13709915, -0.11882029, -0.06429899, -0.068146706, -0.0962499, -0.039666053, 0.050236776, -0.04703746, -0.059996374, -0.07363852, 0.039451927, 0.033618648, 0.23584199, -0.158181, 0.026572796) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.010889843, -0.08782069, 0.017778782, -0.060033727, -0.01276126, 0.1032493, -0.15713793, -0.04965889, -0.034666874, -0.022112066, 0.1344209, -0.1087487, -0.010047588, -0.1161863, -0.0028834247, 0.053243298) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.10104686, 0.108973145, -0.066654116, 0.08176969, -0.10179938, 0.060931846, 0.027188169, 0.08249329, 0.04682417, 0.12893721, -0.039238207, -0.08673354, 0.096696444, 0.18988575, 0.09436111, -0.16665058) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.102844924, -0.121063076, -0.15120025, 0.109667115, 0.06777, -0.11630844, 0.061267655, -0.010897848, -0.047274522, 0.07608138, -0.0073114485, 0.035060875, 0.022505092, -0.11353897, -0.0994852, -0.017566938) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.06230334, -0.051167365, 0.10845475, 0.06589715, -0.06691571, 0.009406191, -0.14147575, -0.04683061, 0.049787533, -0.049566865, 0.017011613, 0.095692754, 0.11373638, 0.011897234, 0.21297935, -0.06009686) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.1239739, 0.0021995236, 0.017582195, -0.069414996, 0.07280288, -0.16227229, 0.044274483, 0.005935938, 0.0054356866, -0.05059835, 0.020577883, 0.06938757, 0.18385416, 0.06177331, -0.0042567877, -0.17950304) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.09434619, 0.06560225, -0.04573101, 0.07085812, 0.030111752, 0.107882775, -0.0033291937, 0.059003323, 0.01246872, 0.012420151, 0.0014607864, -0.047120944, 0.025445282, -0.009040443, 0.059385948, -0.06825505) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.08541858, -0.0174127, -0.04654507, 0.070258774, 0.0889998, 0.10864832, 0.04691948, -0.0027463394, 0.07281909, 0.06914409, 0.068514556, 0.022353638, -0.14776325, -0.02298394, -0.012090953, 0.018218253) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.05204478, 0.09184707, 0.07330293, 0.092975646, 0.01661342, 0.070435844, -0.0971031, 0.12135898, 0.07111196, -0.121019915, -0.012531093, 0.06530126, -0.017568344, 0.03134535, 0.10205825, -0.099354796) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.08191207, -0.024354478, 0.06817851, -0.014563292, -0.01565188, 0.023515431, -0.08222648, 0.047537677, -0.07971235, 0.16833308, 0.12393237, -0.028001945, 0.0520506, -0.0012640959, 0.0162566, 0.055017017) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.09336124, -0.09281495, 0.1101393, 0.006538246, -0.034197673, 0.028642962, -0.08813212, 0.03629264, 0.06582348, -0.004847371, -0.07030353, 0.026741609, 0.008455193, 0.12576023, -0.06088293, 0.036267947) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.01447002, 0.0016440776, -0.017955488, 0.029259834, -0.025812186, -0.07462318, -0.056285467, 0.100892186, 0.0344237, -0.11248404, -0.007935469, 0.07946504, -0.014773585, 0.011958028, 0.016499666, -0.07582556) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.044969257, -0.040438708, -0.085450225, -0.06899979, -0.03020031, 0.03161272, -0.031150188, -0.040331975, 0.11117189, -0.11816059, -0.070126675, -0.020423241, -0.030005997, -0.024055695, -0.068071306, 0.026006375) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.05357187, -0.0027176172, 0.049922068, 0.070143506, 0.0024742284, -0.001609003, -0.016137697, -0.09247473, -0.043662626, -0.047819484, -0.045613714, 0.081337824, -0.09299693, -0.0010868433, -0.05359032, 0.056290947) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.029666858, 0.10530187, -0.054595873, -0.07281814, -0.09350027, 0.038444787, 0.061979685, -0.058553815, 0.049948607, 0.012294495, -0.05192567, 0.025429344, -0.12098077, 0.08080997, 0.0094671985, -0.12551332) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos4 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(4, 0); + imageStore(out_image, store_pos4, max(result4, V4(0.0))); + V4 result5 = V4(-0.004292939, -0.007199753, -0.020891383, -0.014245914); + result5 += M4(0.055644114, 0.09100377, -0.09884798, -0.051091373, -0.085678, -0.033505734, 0.08471433, 0.18646845, -0.07639864, 0.00441054, 0.024321288, -0.09081836, -0.08614323, 0.033649556, 0.11116135, -0.04754286) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.008508442, -0.06055039, 0.0892533, -0.0026407773, -0.066962324, 0.20870215, 0.016249817, 0.014573222, -0.014040939, -0.027278153, -0.10285528, -0.054542765, -0.013049143, -0.06981654, -0.076475196, -0.09750048) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.03795553, 0.0143357925, -0.016079782, -0.006489082, -0.03972342, 0.28403255, 0.035600446, 0.06803707, -0.07935166, 0.004586236, 0.08002264, -0.18448937, 0.041353814, 0.015822008, -0.05091458, -0.040045615) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.022752449, -0.0015922387, -0.02417062, 0.044221714, -0.023399815, -0.027109493, 0.057470188, 0.16871566, 0.02850123, 0.019003008, 0.035710644, 0.059970394, -0.05851297, 0.0014255987, 0.01846305, -0.05837014) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.015941922, -0.00018951598, 0.054370604, 0.08404262, 0.019477477, 0.08344221, 0.018560952, 0.017283296, -0.07392705, -0.05338679, -0.11020158, 0.116446935, 0.0069110105, 0.08907191, -0.020846397, 0.034059506) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.0113523025, 0.060716033, 0.06007438, -0.09162546, 0.1260145, 0.19113933, 0.09518889, -0.021285597, -0.048454158, 0.0063076103, 0.057714187, -0.21400014, -0.08418822, 0.1280361, 0.006485279, -0.12659805) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.1002374, 0.018109227, -0.01716318, 0.052764807, 0.01971112, -0.051976264, 0.10663379, 0.038151883, -0.09956897, 0.027390987, -0.039190672, 0.00077889336, -0.102483846, -0.060825493, 0.0842883, -0.25052896) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.033495557, 0.15619174, -0.07669208, -0.013560531, -0.11360866, 0.06649094, -0.0164348, 0.042110782, 0.0018052958, 0.06994752, -0.09987116, 0.008038039, -0.058035474, -0.072867595, -0.07268963, 0.15754937) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.021473728, 0.033792827, 0.03537521, 0.01428014, 0.03222293, -0.039847914, 0.036089383, 0.0024968488, -0.062251233, -0.16892616, -0.033293054, -0.031068735, 0.2530231, 0.001155346, -0.03992736, -0.20498578) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.030766783, -0.13724993, 0.09068031, -0.2650363, 0.0125939865, 0.058933888, -0.07848431, -0.60372937, 0.030212702, -0.08489361, -0.08394632, -0.13388334, -0.09928932, -0.07939152, -0.03928932, 0.20898159) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.09317262, -0.043295905, -0.04844237, -0.12268558, 0.010076108, 0.02171641, 0.04081988, -0.257819, -0.0614182, -0.07455797, 0.004421147, -0.03552105, 0.037976246, -0.06416607, -0.07303247, -0.0073462785) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.08058797, -0.11186992, 0.022134712, -0.046224464, 0.15134649, 0.121105306, 0.005597554, 0.0030800474, 0.012267675, -0.07358752, 0.03395754, -0.1442319, -0.044373643, 0.03912309, -0.08802164, 0.11862474) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.047818724, 0.06288061, 0.009817287, -0.11424003, -0.10694429, 0.06393536, -0.0044410587, 0.090005174, -0.10714287, -0.1317614, -0.051108394, -0.08207541, -0.08945396, 0.055785347, 0.017509166, 0.029217197) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.005427444, -0.39763704, -0.028461594, 0.010529486, -0.055614814, -0.22618075, 0.06641385, -0.09347008, -0.04260682, -0.06892283, 0.07956672, 0.042624615, -0.016972566, 0.05952707, 0.0580695, -0.083627835) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.0005555321, 0.044410344, -0.005095968, 0.05072879, 0.070896395, 0.08087963, -0.01440604, -0.062481552, 0.054988667, -0.06871177, -0.01248332, -0.06680518, 0.018737905, 0.047259007, -0.05739308, -0.026940063) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.110868976, 0.012300397, -0.024920572, -0.01776843, 0.03148568, 0.07927911, -0.115689695, 0.12725687, -0.08959673, -0.051062927, 0.0756265, 0.008200832, 0.12126783, 0.046756875, -0.0520029, 0.1433251) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.07526472, -0.15608633, -0.04184872, 0.077368036, 0.008526319, -0.06521899, 0.08615129, -0.051503226, -0.121396534, 0.025763517, 0.076955155, -0.02363298, 0.03235363, 0.059667144, 0.07008671, 0.073270455) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.0010615847, 0.14783226, -0.00045865067, 0.027492642, -0.23415092, 0.06078512, -0.05858751, 0.26728588, -0.061105136, -0.0034197837, 0.041975733, 0.09819361, 0.14543128, -0.06382426, 0.04237917, -0.01878692) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.14783914, 0.016857151, 0.08701159, 0.3839409, -0.05986543, -0.001223289, 0.116124675, -0.11462088, -0.065441445, 0.045305803, 0.105727576, 0.113511905, -0.09839826, 0.10658338, -0.013634175, 0.27196166) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.08806897, 0.16058789, -0.02110755, -0.019904554, -0.026408557, -0.014882521, -0.0041339393, 0.0535871, 0.023940505, 0.21421805, -0.055575103, 0.015863266, 0.103765585, -0.04679736, -0.05604605, 0.015547754) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.016207287, 0.14002056, -0.081970565, 0.8476871, 0.091421716, -0.07672085, -0.13585556, 0.10495173, 0.0354231, 0.0010502952, 0.06366433, 0.020647908, -0.07145658, 0.046143085, 0.03641755, 0.032779723) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.05282534, -0.009298014, 0.069248386, 0.12569632, -0.055417318, -0.15349583, -0.076167546, -0.027360843, 0.053949777, 0.01833769, 0.022393016, 0.12506182, -0.071708985, -0.096842155, -0.024014313, 0.058814757) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.15311414, -0.3153416, 0.061271377, 0.08881981, -0.15500443, 0.023460561, -0.012241763, -0.011228046, 0.09992462, -0.10410188, -0.034400377, -0.042398654, 0.05027194, -0.013892793, -0.018229159, 0.07468395) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.1334948, -0.13669999, -0.04679306, -0.13389024, 0.0345736, 0.16154362, -0.019610494, -0.0134619335, 0.010543973, -0.058033522, -0.02503624, -0.0829884, 0.0620119, -0.011144529, 0.03143673, -0.06020535) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.1486809, -0.008192016, -0.0054756096, -0.7009343, -0.020700095, 0.035480622, 0.035028126, -0.33240998, 0.054471724, 0.029226253, 0.041914374, 0.08902709, 0.11550206, 0.03649633, 0.029427016, 0.12272899) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.28581318, -0.11949545, 0.048436508, 0.21196504, -0.13154086, -0.026226213, -0.04853247, 0.18927798, -0.03168101, 0.08022983, -0.015022998, 0.06487658, 0.015757538, 0.072379604, 0.018881375, -0.018444886) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.26712573, -0.0032310884, -0.016834408, -0.1816439, 0.18915878, 0.21618153, 0.002511784, -0.13175535, 0.013028425, -0.053407785, 0.101628885, 0.06819314, -0.008635901, 0.068020396, -0.017948767, -0.0011337672) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.0033801186, 0.117035866, 0.08848007, -0.011297425, -0.058179323, -0.064032614, 0.03296836, 0.16049223, 0.1070602, -0.12713557, -0.004779712, -0.4011729, 0.08764687, 0.024407176, -0.03358569, -0.27312428) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.06418312, -0.042300995, -0.019602612, -0.086257786, -0.052899487, 0.026715865, 0.029930742, -0.0804106, -0.117608294, -0.22286575, -0.03853984, -0.11321715, 0.012586427, -0.06935172, -0.09880006, -0.015679559) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.006873587, 0.019033734, -0.023495542, -0.022405172, 0.08440516, 0.26194724, 0.011715261, -0.006633725, -0.16860041, 0.06950722, 0.070177846, -0.060152218, -0.09223719, 0.028397342, -0.0915829, -0.1292168) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.15370016, 0.33142152, -0.058273178, -0.2868947, 0.06558088, 0.015430644, -0.01578264, 0.10768305, -0.10206022, 0.052218422, -0.043306116, -0.2393894, -0.016030865, 0.053676378, -0.051455665, -0.0038445867) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.20652036, -0.13867076, 0.046967026, 0.18810634, 0.05066032, 0.022995483, 0.06783667, 0.012802927, -0.042999428, 0.1679408, -0.034873832, 0.04749268, -0.043482706, -0.11492579, 0.060911417, -0.041120086) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.08529889, -0.19887765, -0.05275126, 0.16137825, 0.10895081, 0.06818321, -0.07515901, -0.04891235, -0.07468073, -0.11204083, 0.03679473, -0.057139438, 0.05710983, -0.038850594, 0.10024077, 0.081158176) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.0790737, -0.051616836, -0.021337593, 0.32708284, -0.064390264, -0.08611764, -0.07299765, 0.11629796, 0.08347041, 0.011340547, 0.06340137, 0.26635128, -0.075679384, -0.03764004, 0.030090153, -0.037227985) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.1784687, -0.16661578, -0.07178752, 0.13216893, 0.01753238, -0.007203522, -0.020626618, 0.17457542, 0.16491905, 0.096586764, -0.0041018194, 0.06494877, -0.0022741517, 0.0023413375, 0.056674287, -0.006198614) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.06546798, 0.17806013, 0.00612111, -0.2504232, 0.09828336, -0.012952871, 0.034865692, 0.038956523, -0.065451026, -0.19129173, 0.055539172, 0.01841785, -0.056690443, 0.004939801, -0.042002056, -0.06249305) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.07250634, -0.04214204, -0.043711506, -0.16882437, -0.003681087, 0.08322764, 0.09566099, 0.07023795, 0.06459661, 0.26854116, 0.022844557, 0.18311113, 0.08485956, 0.048210695, -0.012465864, -0.06934984) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.08773552, 0.032249037, 0.031273827, 0.024720963, -0.17257583, -0.015102483, -0.019464351, 0.09157749, -0.03820949, 0.064436466, 0.056434434, 0.1331503, 0.097844854, -0.12721643, 0.04045196, -0.11391265) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.06485637, -0.18431708, 0.018872345, -0.006628801, 0.013950366, 0.06822668, 0.025233407, 0.043890025, 0.013630276, -0.12381056, 0.09421659, -0.26922756, -0.052022092, 0.020833546, 0.071972966, -0.059330553) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.020175068, -0.0077399057, -0.12277569, -0.09335791, -0.20299459, 0.10106041, 0.06742303, -0.013244781, 0.027820807, 0.22079356, 0.13813128, 0.098309785, 0.07117544, -0.019483617, 0.0595568, -0.042477697) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.19882151, -0.4041186, 0.016097339, -0.038302995, -0.040197145, 0.2646564, -0.012879744, -0.056977246, -0.091667354, 0.032797452, 0.0503183, -0.084563196, 0.08102928, -0.032928515, 0.04469852, 0.10614667) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.06931306, -0.15771067, 0.018497972, 0.21386568, -0.028646845, 0.1127942, 0.0138763245, -0.07122855, 0.021736091, -0.06372138, -0.0442334, -0.055689104, 0.048099957, -0.04843639, 0.024233894, -0.018077156) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.11171957, 0.1836148, -0.24335489, -0.3293444, 0.10519631, 0.0070859874, -0.057608176, 0.27348486, 0.03894111, 0.080753565, -0.0038434237, 0.26486287, 0.023257867, -0.054950252, -0.007635298, -0.05807418) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.034679346, 0.119858414, 0.028517682, 0.12541653, 0.068251744, -0.00052726286, -0.109709665, -0.07537806, 0.15935399, 0.08224939, -0.018930174, 0.004545589, 0.03580057, -0.068810225, -0.0848546, 0.10910069) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.16975042, 0.08385562, -0.019323999, -0.4207543, -0.030151581, -0.19558407, 0.10084607, 0.2539609, 0.20269632, 0.04474558, 0.114418186, 0.2853872, -0.081392586, -0.051220145, -0.010991561, 0.08170888) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.04427489, -0.14128783, 0.12066803, -0.3922497, -0.0708468, -0.034092937, 0.08448367, 0.42555586, 0.010222631, -0.095249556, 0.083039716, -0.014124507, 0.044962715, 0.06833478, -0.046168923, 0.100519076) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.08214263, -0.12045208, -0.011228252, 0.025635011, 0.021952296, 0.08572999, 0.105687365, 0.04004142, 0.03359631, 0.008610901, 0.068155885, -0.095625214, 0.011148379, -0.095789015, -0.08024637, 0.17837481) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.10016818, -0.05832227, 0.06217913, -0.03258136, 0.07217873, -0.077596694, 0.05088975, -0.05954446, -0.037371486, 0.03125029, -0.02910495, -0.21224326, -0.019546857, -0.1345682, 0.009360086, -0.09555079) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.021508092, -0.20426661, 0.017114809, -0.047079366, -0.059548203, 0.081849545, 0.023988977, 0.037090033, 0.061871964, 0.06478672, -0.110401, -0.15728383, -0.0792295, 0.04227156, -0.014002586, 0.16745356) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.016550982, 0.20382951, -0.02692183, 0.023213081, -0.057956774, 0.20573159, 0.05177937, -0.15147279, -0.09678313, 0.0038483278, -0.10034566, 0.057732306, -0.024816891, 0.31986454, 0.009769604, -0.18963176) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.020347765, 0.10928244, 0.039942354, 0.03959467, -0.051366813, -0.030560926, -0.039278496, -0.06696584, -0.033686683, 0.077553116, 0.108040154, 0.031460248, -0.019993149, 0.037052587, 0.027747856, -0.052539505) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.13990198, 0.153456, -0.04542057, 0.029194029, -0.045146197, -0.026631914, -0.052210677, -0.050615616, 0.070918016, 0.058730442, -0.10814299, 0.10040124, 0.11118155, -0.08326182, 0.047304686, 0.16626035) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.19942518, 0.16004656, 0.0051715667, -0.23234288, -0.0850096, -0.014540449, 0.029734468, 0.028703284, 0.15345702, 0.060000345, 0.0964286, 0.08085447, 0.048258416, -0.005429813, 0.056613512, -0.18905881) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.24462524, 0.15451431, -0.004508733, -0.011049552, 0.15904494, 0.014337372, -0.023105847, 0.1466589, 0.027983746, 0.019366248, 0.025918817, 0.07561972, 0.026054906, -0.11135223, 0.03468939, 0.040179823) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.014611327, -0.10121976, -0.012014963, -0.2008808, 0.037219074, -0.061283253, 0.036003754, -0.17796265, -0.09942259, -0.00046910017, -0.043701842, -0.19557664, -0.07636681, -0.07517057, -0.08781258, -0.16742809) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.01174972, -0.06614205, 0.05407236, -0.16031916, -0.039798856, -0.092443, -0.021134224, -0.13759428, -0.12260421, -0.14021268, -0.0063174507, 0.0044863042, 0.012214964, 0.10938553, 0.022553984, 0.13440818) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.014141495, 0.008313913, -0.08818923, 0.09777944, 0.071927026, -0.008345156, 0.03798976, 0.052152008, 0.084851235, 0.15265068, -0.03857112, -0.07690967, 0.029678, -0.019178161, -0.051616143, -0.039993167) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.0023489448, -0.20498063, 0.008616179, -0.008651759, 0.038537506, 0.1264171, 0.052656814, -0.0989684, -0.07601843, 0.175161, -0.033019602, -0.35669017, -0.07406906, 0.015371613, 0.0009856811, 0.03281617) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.1494672, 0.13954525, 0.078160785, 0.053159017, 0.004550467, -0.02782462, -0.033040896, 0.3088946, 0.06554074, 0.19207506, 0.051462516, 0.19270122, -0.09354585, 0.108496346, 0.047225807, 0.015767293) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.020020802, -0.0038856298, -0.07994644, 0.08461428, 0.036428776, -0.13642997, -0.059102934, 0.003096909, 0.015220521, -0.091018066, 0.03366148, 0.25302845, 0.008346765, -0.013925157, 0.10445419, 0.095947795) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.024125867, 0.131004, -0.036612254, -0.2609639, 0.017814986, 0.06305231, -0.061913304, 0.111362875, 0.13694988, -0.05538387, -0.02844326, 0.08826575, 0.071870856, -0.01899622, -0.07534982, -0.10540232) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.042177524, 0.24119769, 0.087500766, -0.11947602, 0.054912142, -0.06156533, -0.014772919, 0.078837775, 0.20128468, 0.31156486, -0.05370486, -0.082766354, -0.033690557, 0.077190876, 0.09891412, -0.18027462) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.16838363, 0.0717853, -0.06305715, -0.078164145, -0.11990449, 0.12974742, -0.06874924, -0.13946219, -0.12111357, -0.038500782, 0.038149644, 0.0121555, 0.05740068, 0.10635327, -0.06441076, 0.1214566) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.07962822, 0.026585544, 0.0152262, -0.026543882, 0.056499828, -0.025001235, 0.026526922, 0.3027483, -0.018413372, 0.05891316, -0.1406145, 0.052545972, -0.054940324, -0.09337434, 0.0013769905, 0.09233819) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.07820321, 0.0042193057, 0.014068344, -0.107965685, -0.10064773, -0.09709808, 0.11343873, 0.014041947, 0.044066686, -0.09405697, 0.06153122, 0.04237442, -0.11336107, -0.054238673, -0.08926233, -0.0807603) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.033652373, 0.1047874, 0.02118369, -0.023661261, 0.05328256, 0.23322287, 0.08916468, 0.15312532, 0.009239292, 0.16489509, -0.09126923, 0.15254366, 0.009453087, -0.1396487, -0.020423133, 0.051727515) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.043349545, -0.08852708, 0.033218063, -0.1246443, 0.16214259, -0.049378127, 0.12479136, -0.012243139, 0.013372278, -0.10934197, 0.03852828, 0.09618693, 0.06022652, 0.06486975, 0.04713489, -0.09559535) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.057024423, -0.13659717, -0.012351795, 0.0056397766, -0.06044732, -0.10356769, 0.11958595, 0.18055393, 0.06377517, -0.17707728, -0.10713078, 0.47401905, -0.12482789, -0.11807397, 0.026042808, 0.11599631) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.03494781, -0.09645318, 0.028966196, -0.04641322, -0.037011404, 0.0013174255, -0.016328868, -0.041759737, 0.042689096, 0.09282563, 0.06016206, -0.16539642, -0.09345006, -0.16392319, 0.07466253, 0.09104711) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.12995051, 0.051939905, -0.036005184, -0.118541546, 0.021179078, -0.00683411, -0.013371415, 0.027010856, -0.0043306933, -0.14565396, -0.0045375093, -0.18205337, 0.14343725, -0.009547237, 0.060663674, -0.06357451) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.10902644, -0.00056041393, 0.0042263377, 0.09643926, -0.035976343, -0.047115263, 0.0606451, -0.005948926, -0.03259752, 0.05036386, 0.04517439, 0.05276042, 0.07211694, 0.0014044475, -0.06844833, -0.14150175) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.06975195, -0.10852827, 0.06821558, 0.024703262, -0.11091825, 0.064011246, 0.00042182748, -0.02777697, -0.09659334, -0.20865579, 0.1122862, -0.051212423, -0.02592291, 0.01885453, -0.03651825, 0.018138785) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos5 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(5, 0); + imageStore(out_image, store_pos5, max(result5, V4(0.0))); + V4 result6 = V4(0.008209412, 0.0036267866, 0.010955691, 0.012122923); + result6 += M4(-0.08971826, 0.009755134, 0.024108082, 0.021998988, -0.09971011, -0.077811785, -0.018673878, 0.12245483, 0.0976537, -0.019683914, 0.063392304, -0.07712546, -0.02526047, 0.10542067, -0.106252775, 0.030170942) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.056845814, -0.005701543, -0.059821457, 0.046284635, -0.06211573, -0.07354531, -0.033425458, 0.07692848, -0.09811117, 0.07596387, -0.042805985, -0.06723873, -0.058561113, 0.081856266, 0.050178386, -0.05841457) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.046308946, 0.048190247, 0.095933825, -0.043295655, -0.09051246, 0.09801284, -0.08490673, 0.018770969, -0.030554472, -0.013495266, -0.05858333, 0.11788926, 0.06886642, 0.039519854, -0.05097836, -0.051860195) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.07875512, 0.0037143175, 0.06137392, -0.039755248, -0.016687317, 0.09264347, -0.048000015, -0.029796744, -0.0011601277, 0.016744299, 0.026984653, 0.03665018, -0.018572794, 0.030106109, -0.09073815, -0.081291206) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.015516471, -0.07129997, -0.07184864, -0.11087486, -0.04249271, -0.080451615, 0.010491222, 0.158226, 0.10958616, 0.008178929, -0.04849003, 0.007405969, -0.058344457, -0.06667998, -0.013192712, 0.10491594) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.10171312, 0.04399978, 0.03330453, 0.019767419, 0.03373304, 0.09452068, -0.10092028, -0.025701888, 0.03507788, 0.07112797, 0.078616045, -0.043754436, -0.07079855, -0.07409572, -0.13416715, 0.08667863) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.07010381, 0.100730665, -0.07854648, 0.045747522, -0.04439835, 0.037645675, 0.053551733, -0.12805173, 0.021313267, -0.018063325, 0.065623164, -0.06880019, -0.05610914, 0.08389454, -0.0044170525, -0.11851628) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.09134001, 0.026140679, -0.0055229743, -0.04981696, -0.03844942, 0.08130511, -0.064545445, -0.0044911825, 0.029820511, -0.05917406, -0.018881876, -0.096668445, -0.11719329, 0.05271297, -0.053567514, 0.09103927) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.08822942, 0.03968685, 0.032203738, 0.026246492, -0.0067540067, 0.056587916, -0.060369696, 0.09875949, 0.08592363, -0.06877087, 0.035056747, 0.104331985, 0.006531792, -0.06614849, -0.04924024, -0.031434037) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.004954586, 0.084096044, -0.033365566, -0.052217346, -0.08442804, 0.01761401, 0.021906974, 0.08492021, 0.09887061, -0.04393864, -0.09413369, 0.066131406, -0.037874132, 0.071074896, -0.029357363, 0.08231845) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.0045036455, 0.051833928, 0.06883673, -0.062047005, 0.08381633, -0.073738985, 0.1026821, 0.06072899, 0.01882159, 0.06310653, 0.087420985, 0.043367703, -0.10387822, -0.010073063, 0.070951685, 0.03200617) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.09738996, -0.018862722, 0.049255114, 0.05961699, -0.13057972, 0.09480797, -0.03754837, -0.059870332, -0.01991958, 0.07369053, -0.07158032, -0.06324326, 0.096051395, 0.063911155, 0.035158634, -0.012764381) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.06798638, -0.0368062, 0.11193917, -0.0037040317, 0.059107713, 0.02915958, 0.12071999, -0.119032465, 0.04904137, -0.09508187, -0.02955055, -0.066848494, -0.07910355, -0.016003301, 0.006842956, -0.09845519) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.105871275, 0.11010067, -0.015839461, 0.070748806, 0.041957065, 0.07699882, 0.10602816, 0.004985684, -0.07682741, -0.0632745, -0.048613776, -0.072103165, 0.06067607, -0.079320855, 0.013491617, 0.017735409) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.124516815, -0.04247377, 0.060606126, 0.10654439, -0.012093496, -0.10817692, -0.026713576, -0.010791153, -0.059482746, -0.020391308, 0.0443333, 0.023094004, 0.022379868, -0.10111678, 0.020880608, 0.057710424) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.05060668, -0.11805197, 0.07594568, -0.07069406, 0.08143436, -0.056195416, -0.0654136, -0.018500993, 0.09500568, -0.07524953, 0.076579, -0.06047056, 0.034190997, -0.012076662, 0.030526042, -0.049850434) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.04605557, 0.044651862, -0.051289026, -0.056656394, -0.08358299, 0.0074357437, -0.061260894, -0.13050583, -0.07789244, -0.020996355, 0.09070874, -0.03497628, 0.06582427, -0.04890103, -0.070766635, 0.08595799) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.052046243, 0.040267058, 0.06845873, 0.08591292, 0.0028140454, -0.08552415, -0.099744, 0.09305307, -0.054031193, -0.10067132, -0.028392294, 0.023192516, -0.061748616, -0.06588706, -0.04331578, -0.01642068) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.16903502, 0.050249174, -0.22191636, 0.19126186, -0.16717446, 0.05334943, 0.011586367, 0.13533907, -0.057124503, -0.07409675, 0.078524806, 0.036188703, 0.069969445, -0.0020349424, 0.08806575, -0.08283932) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.2516604, -0.009114172, -0.109552726, 0.10941368, -0.059094105, -0.038776163, -0.019998211, 0.08589514, 0.01430332, -0.026593562, 0.033004202, -0.0891728, 0.057688985, -0.12246458, -0.04425753, -0.095962316) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.1348317, -0.0467185, -0.16539787, -0.11454304, -0.1643636, 0.012890544, 0.013844422, 0.039174177, 0.057631414, -0.0038635065, -0.025858756, -0.027921854, -0.061556645, 0.087746955, 0.047855757, -0.015983094) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.09391917, 0.100080565, -0.1466459, 0.09006818, -0.17677289, -0.009713587, -0.11466557, 0.0044841785, -0.029240943, 0.1011468, 0.015449802, 0.016408054, -0.030177692, -0.0714135, -0.0061454093, -0.013573647) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.0811045, 0.090918586, 0.0013696377, 0.09162704, -0.100717224, -0.097756505, -0.044214357, 0.12057229, -0.05028264, -0.0015608694, 0.012594963, 0.07051633, -0.059859343, 0.09829349, 0.029803269, -0.069687374) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.14455098, 0.023940865, -0.0886486, 0.07189609, -0.04141588, 0.11090175, -0.024598105, -0.04952651, 0.021553198, -0.0064484044, -0.08628728, -0.0861726, 0.09625215, -0.109878615, -0.016901143, -0.048544433) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.0015492368, -0.07902587, 0.01515373, -0.09127597, -0.085316986, -0.08298783, 0.07879215, -0.00890793, 0.017699558, -0.08472732, 0.011217422, -0.026798217, 0.037397582, -0.0400565, -0.0026135452, -0.026260396) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.0068494403, 0.12326532, 0.01172835, -0.04974133, -0.095666625, 0.063072234, -0.02284957, 0.023840886, 0.107047044, -0.009414165, -0.00043899592, -0.024644634, 0.074998535, -0.011817158, -0.098676674, 0.07537046) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.07771653, 0.12978542, -0.071654834, 0.09538589, -0.025187911, 0.00400034, -0.018890506, 0.14493383, 0.017602526, 0.0971679, 0.028802233, -0.045145895, 0.08564867, -0.07439091, 0.0011997717, 0.045205332) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.07023967, 0.06253002, 0.022010026, -0.119200386, -0.05536548, 0.058760405, -0.051729303, -0.03464536, -0.052699693, -0.12301407, 0.03705289, 0.055314124, -0.06029911, 0.06948198, 0.0466372, 0.07817586) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.031640016, 0.10841944, 0.020212704, -0.050232578, -0.081144646, 0.037255034, 0.024878828, 0.0993073, -0.15255094, 0.0967557, 0.020852508, 0.098357625, -0.008463373, 0.042150978, -0.07113693, 0.10724578) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.058027938, 0.090957925, 0.03466782, 0.12895627, 0.09803805, 0.0035630965, -0.107017376, -0.07231079, 0.090604626, 0.02382962, -0.076581374, 0.1711485, -0.022017237, -0.05058417, -0.07932253, 0.093538254) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.16477303, -0.16297221, -0.053446323, -0.07453705, -0.061605286, -0.08134782, -0.10182048, 0.045394715, -0.010991829, 0.00826014, 0.08322968, -0.06973355, -0.0663064, -0.04392806, -0.07263214, 0.096778914) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.0941862, 0.092584, 0.16524832, -0.07801329, 0.029286487, -0.06002916, -0.06292552, 0.12303158, 0.039355617, 0.010139943, -0.04226107, -0.04542821, -0.011060624, 0.08968969, -0.04525725, 0.027380642) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.11244076, 0.075267, -0.056879856, 0.06691347, 0.04306523, -0.06540409, -0.00081445073, -0.054707125, 0.030885937, -0.033187952, 0.038052656, 0.031427264, -0.012988954, 0.093892016, -0.018312488, -0.028845955) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.008654258, -0.11938565, 0.09968486, 0.13558844, 0.026740788, 0.04479369, 0.026828662, 0.01558401, -0.013867659, -0.05291776, 0.031263795, 0.0114549, 0.05316401, 0.046067547, 0.075380445, -0.10019385) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.061785296, 0.05236009, -0.07940044, -0.1617263, 0.059586592, -0.07821926, -0.07633899, -0.07715223, 0.0017316676, 0.06451359, -0.05252992, -0.14524883, -0.0643712, 0.027679756, -0.00835125, -0.086677074) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.05438811, 0.054803856, -0.029354887, 0.11615474, -0.061110962, 0.076409735, -0.093912944, 0.11151834, 0.04893188, -0.091643915, 0.015038946, -0.06400341, -0.11400913, -0.013802248, 0.017815491, 0.10256088) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.32073182, -0.2009675, 0.08431246, 0.16020915, -0.2805809, 0.13982414, -0.01578111, -0.042807538, 0.117791235, -0.012969516, -0.03506166, 0.037866436, 0.09308744, -0.10643966, -0.0752197, -0.058317352) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.2569763, 0.027963521, 0.1053661, -0.049004056, -0.033680785, -0.123134896, -0.06546271, -0.11758396, 0.19743277, -0.08741948, 0.10938627, -0.023338662, 0.11196195, 0.10032507, -0.06476967, -0.07993123) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.02719125, -0.046528853, 0.002850356, 0.12413328, 0.058446962, 0.07013216, -0.07500845, 0.008081168, -0.06821149, -0.07714301, -0.028294, 0.18455096, -0.03211471, -0.02362995, -0.002759362, 0.08398882) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.11726927, -0.053239282, -0.05175853, 0.021330114, -0.048052568, -0.017476609, -0.10959411, 0.07007045, -0.024116676, -0.018705731, 0.026514526, 0.16994923, 0.031995203, 0.028431585, 0.010113981, 0.09065125) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.22731236, 0.07580438, 0.22210746, -0.02353637, 0.08827543, -0.035852853, -0.123698376, 0.10580182, 0.2708506, -0.06943579, -0.1545427, -0.13396654, -0.005165474, -0.08102771, 0.014273996, 0.035130348) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.296201, 0.07753484, 0.004271766, -0.11127421, -0.015080855, -0.015710302, 0.09247011, 0.009073645, 0.121286236, -0.09238384, 0.11495153, -0.04172125, 0.015166584, 0.035352062, -0.03073745, 0.010985026) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.084711485, -0.16018455, -0.042181976, 0.11761995, 0.15203808, 0.051504392, -2.513736e-06, -0.020947132, 0.076358795, 0.08873159, -0.16870378, 0.04474556, -0.037296757, 0.088835426, 0.043566223, -0.041029632) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.058052193, 0.1308858, 0.07252604, -0.013733138, 0.18423401, -0.159446, 0.008385332, 0.07948717, 0.17187402, 0.050579812, -0.15937303, 0.03943235, -0.092624925, -0.03653303, -0.0764742, 0.012176999) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.014286126, -0.056890715, -0.07886575, -0.05090753, 0.06372104, -0.009480762, -0.030898916, -0.083031565, 0.10497022, -0.051140502, 0.13767391, -0.25649428, 0.07853264, -0.02423514, -0.08454639, -0.021786164) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.06631674, 0.09545863, 0.15017273, -0.027726227, 0.026797233, -0.054006502, -0.07977919, 0.059067678, -0.07718974, 0.008178607, 0.16320002, 0.0445999, 0.071921565, -0.024005396, 0.09396782, -0.09266632) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.16552348, -0.07857625, 0.03806774, 0.14816381, -0.0047077322, 0.014397493, -0.12480399, -0.12005361, 0.083158486, -0.008982747, -0.00539069, 0.029295158, -0.07320595, -0.094256535, -0.068896115, -0.05811549) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.03638114, -0.034553587, 0.100634165, -0.040112536, -0.03655359, -0.0026969593, -0.052037917, -0.039368987, 0.038872484, -0.021310112, 0.015337623, 0.0509571, -0.055229247, 0.05558522, -0.017492982, 0.07354954) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.1727934, 0.081648044, -0.038751144, -0.1311226, 0.10538738, -0.06531135, -0.12715194, 0.15820824, 0.010739137, 0.10557741, 0.053213965, 0.04526114, 0.008800681, -0.0031037356, -0.048722405, -0.053706754) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.10853218, -0.11841738, 0.100478135, -0.10903275, 0.043375112, -0.07657886, -0.07982597, 0.036392268, -0.07956834, -0.12711865, 0.10373159, 0.016590424, 0.0595997, 0.01294229, -0.09906514, 0.0033575634) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.10032501, 0.014363291, 0.19459076, -0.14805886, 0.10569203, 0.044122767, 0.045861624, -0.040769085, -0.06068043, -0.0140993465, 0.10252077, -0.044182535, 0.020544998, -0.0013867234, 0.10200624, -0.060798407) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.20466085, 0.03625066, -0.1843449, 0.04633975, 0.021496639, -0.014957268, -0.09212855, -0.07461293, -0.029268652, -0.13452794, -0.10055293, -0.07281387, -0.042594746, -0.028963031, 0.015029755, 0.12974194) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.056417838, -0.14495808, -0.13726485, 0.21519509, -0.00029698695, -0.054831922, -0.018193932, 0.009701383, -0.081678204, 0.017475087, -0.09577147, 0.070612885, 0.123600855, -0.12620042, -0.02203835, 0.028395876) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.17369765, -0.0064543695, -0.059030794, -0.042425647, 0.06432956, -0.0005802861, 0.010852923, 0.07350785, 0.060213488, -0.006799091, -0.010165326, -0.07067583, 0.08242376, 0.03475784, -0.022982586, -0.060285952) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.114339784, -0.054106086, 0.12128907, -0.059633907, -0.022478983, 0.025326144, 0.020737223, 0.004398691, -0.014060204, 0.063974485, -0.05002576, -0.039501905, -0.091279835, -0.038092967, 0.04549341, 0.06374413) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.089171216, 0.072608076, 0.024991069, 0.03544505, -0.015556167, 0.10790686, 0.117217205, -0.04350327, 0.08595954, 0.006674119, 0.08956625, -0.030126, 0.10988481, -0.043620855, 0.105749354, -0.0951767) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.12006753, -0.01955477, 0.09708227, -0.0666692, -0.10030734, -0.092887424, 0.094246134, -0.04252154, -0.07384329, -0.14077577, -0.006760666, -0.0069477926, 0.062084038, -0.02302523, 0.018631998, -0.15112346) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.13777764, 0.10273763, 0.007632788, -0.08960165, 0.04559774, -0.07544861, -0.05688129, 0.0015677959, 0.07098258, -0.037636455, -0.06413753, 0.02403126, -0.12374905, 0.16616316, 0.043122, -0.038059086) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.04255921, 0.0066659157, -0.080288306, -0.024924811, -0.03854211, -0.025139611, 0.13093151, -0.08051822, -0.023702512, 0.0008909487, -0.012441252, -0.14512548, 0.06290787, -0.0627451, -0.05376049, -0.016875034) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.10446171, -0.030003535, -0.013478192, -0.04079119, 0.032470435, 0.012748637, -4.8015216e-05, 0.11777831, -0.019678464, 0.07552121, 0.018166179, 0.11122018, 0.06942704, -0.13363725, 0.20989673, -0.16243055) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.052103087, -0.079394124, 0.0017567518, -0.04205538, -0.04819655, 0.050396822, -0.051722582, -0.086343564, -0.061928514, -0.056164958, -0.103860185, 0.086647026, -0.13564175, -0.010355185, -0.01903613, 0.018759688) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.022745615, -0.0978525, 0.0033426408, 0.054647684, -0.003505767, 0.10089109, 0.09412082, 0.017425727, 0.1137775, -0.060303688, -0.08587214, -0.021158243, 0.091735445, 0.028339824, -0.030134948, -0.021621885) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.08747728, 0.011512994, 0.0717236, 0.061208803, -0.076573655, 0.041673254, -0.0675556, 0.11181996, -0.053996112, 0.044173643, 0.053413633, -0.029855793, 0.012684745, 0.041368276, 0.06390253, -0.15167898) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.036067672, 0.034350358, -0.00925414, 0.09861341, 0.040601175, -0.079586044, 0.0779505, -0.00096066325, 0.12480722, -0.1455423, -0.07100209, -0.028499307, -0.042616572, 0.075331405, -0.03803601, -0.06148403) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.09577508, -0.06586264, -0.09461651, 0.04406942, -0.06739856, -0.01579104, 0.054170765, 0.18788831, -0.040323216, 0.03297514, 0.03430955, -0.00446025, 0.06593568, -0.008899292, 0.0008685322, 0.05417267) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.022591531, 0.072815605, 0.024854925, -0.07131336, -0.06897831, 0.010769366, -0.047954466, -0.106407054, -0.029468978, -0.052580085, -0.09307574, -0.08744278, 0.03287153, 0.020284602, 0.101879396, 0.06451834) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.06818085, 0.06449297, 0.100251615, -0.053532, -0.12179847, -0.07755538, -0.008236765, 0.051288992, -0.031962357, -0.06705911, 0.015510364, -0.03742735, -0.011930059, -0.048913054, 0.04345253, -0.119772375) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.079284385, -0.046628084, -0.009457931, -0.055627327, -0.13537082, 0.12148514, 0.081402116, 0.08154598, -0.09370651, 0.06241709, -0.10660856, 0.05513427, 0.07800654, 0.06122744, 0.09781411, 0.029378504) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.06609046, 0.10636401, -0.033229325, 0.02919185, -0.03465481, 0.09273758, -0.06796313, 0.00727171, 0.04824167, -0.027230127, 0.017861875, 0.12945844, 0.043050032, -0.0555934, 0.03759506, 0.0645216) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.032701094, -0.075902455, 0.015001619, -0.08307828, 0.010519979, -0.06100482, 0.062846564, -0.056279644, -0.042119116, -0.08681587, -0.07427532, -0.029271765, 0.04347347, -0.051496983, -0.08245311, 0.07007821) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.07181552, -0.07410466, 0.0148859145, 0.013438447, 0.021604003, 0.082845636, -0.086334355, 0.08336231, 0.06350397, 0.021218328, 0.107357934, 0.011776181, 0.051204138, -0.05132423, -0.009434124, 0.024037074) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.08193188, 0.029769914, 0.11165611, 0.05215613, 0.09633487, 0.11339332, -0.0013363763, -0.0023325789, -0.032144744, 0.040741798, -0.049831975, 0.063456595, -0.12750301, -0.011799268, 0.06341652, -0.09502834) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos6 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(6, 0); + imageStore(out_image, store_pos6, max(result6, V4(0.0))); + V4 result7 = V4(0.007201527, -0.0038936515, -0.015014618, 0.015171136); + result7 += M4(-0.038052376, 0.080979824, -0.027369432, -0.07227953, 0.03908342, 0.0008002416, -0.064178765, -0.019408682, 0.08053993, 0.07275231, 0.0375336, -0.052410968, 0.015782395, -0.040430468, -0.009252719, 0.009426331) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.13834356, 0.01338803, -0.042878583, 0.10457062, -0.044514794, 0.01977904, -0.074166685, -0.1126213, 0.00046356788, -0.10513476, -0.11182531, -0.0015044012, -0.13934208, -0.0017670082, -0.07002747, -0.0036286602) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.06464731, 0.043007273, 0.053733457, 0.02822298, 0.024720598, 0.051593717, 0.13078135, -0.0053844466, -0.049384266, -0.12232947, -0.03990666, -0.062108126, -0.18224852, 0.057169326, 0.03577176, -0.057130385) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.027295975, 0.039763488, -0.061417773, -0.03239677, 0.009745626, 0.078573525, 0.042652134, 0.0009185599, -0.030939417, 0.04319925, -0.021268295, -0.070497476, 0.16065076, 0.13311355, -0.01740546, -0.012425665) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.05356227, -0.0417649, 0.103812516, 0.09624864, -0.057420485, -0.11193007, -0.14816448, 0.032600768, -0.036166806, 0.027451081, -0.09980827, -0.01718375, -0.11470784, 0.006754834, -0.08924845, 0.053184375) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.11033825, 0.06692085, 0.019198792, 0.057264253, 0.054825142, 0.07068172, 0.02474603, 0.05987992, -0.02261368, 0.065655746, -0.090900145, -0.077785134, 0.050509933, -0.12642778, 0.07030841, -0.08483738) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.072748646, -0.03008117, 0.07754033, -0.027594933, -0.05386795, 0.066316776, -0.083220415, 0.03197281, -0.0063470937, 0.062028453, 0.04044486, -0.0873346, -0.10390627, -0.025818203, -0.1836566, 0.02527015) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.06448223, -0.08870925, -0.04512832, 0.025763948, -0.035984736, -0.058353957, -0.022724375, 0.096630044, -0.08812378, -0.024110641, -0.08425243, -0.08393128, 0.06180728, -0.1414254, 0.0120587135, -0.04468879) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.08169826, 0.041856736, -0.059762426, -0.095682584, -0.059084542, 0.043467317, -0.06909981, 0.010631407, 0.054789048, 0.08572608, 0.08738264, -0.08770914, 0.14309205, 0.02596138, -0.0015669836, 0.012677062) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.07922895, -0.045985956, 0.062106635, -0.017120086, -0.21597414, -0.0753163, -0.024876112, 0.009419852, 0.044872988, 0.09196043, 0.014769044, 0.09197203, -0.0016715655, -0.037465435, 0.10485502, 0.089839295) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.14347798, 0.06419481, -0.09736122, -0.08937404, 0.15082604, -0.05270968, 0.021825366, -0.09798001, 0.032188393, -0.09799223, 0.008612049, -0.020177597, -0.011724847, 0.087455705, -0.03071377, 0.06532774) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.061560467, -0.03817375, 0.044215966, 0.11386046, -0.037979517, -0.038531404, -0.0014599866, 0.23607758, -0.013231906, 0.07194196, -0.030892838, -0.030557636, -0.08111789, 0.020703476, 0.09924315, -0.01688687) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.039087474, 0.019229135, 0.06539234, -0.07746306, -0.02151763, 0.074237004, 0.097991675, -0.009128623, -0.079465084, -0.02862757, 0.07424619, -0.08884778, 0.007882294, -0.017886417, -0.0077899145, 0.0004613787) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.06394166, 0.012214334, 0.013698442, 0.06687482, -0.03875368, -0.0820514, -0.05215186, 0.07868226, 0.08706351, 0.07349288, 0.043973133, -0.043852106, 0.08530362, 0.055611525, -0.065511085, 0.0043148655) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.027625376, -0.08179209, -0.059942294, -0.04918686, 0.16643098, 0.03424118, 0.06395785, -0.0337957, 0.082510315, 0.089248404, -0.10038277, 0.00663826, 0.06290656, 0.05524213, 0.1011302, 0.051564004) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.006140393, -0.04940255, -0.00050219643, -0.044514313, 0.087626435, 0.14851761, 0.018451776, -0.072206125, 0.09181855, -0.0838941, 0.06792062, -0.06934328, -0.09022456, -0.018869486, -0.06527573, -0.0106838485) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.043934684, -0.016780818, 0.036148738, 0.03175147, -0.12744972, 0.02634025, 0.030074805, 0.15085249, 0.04517367, -0.027309798, -0.015733669, 0.07649945, -0.05638227, -0.09288169, -0.010037834, -0.06306788) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.06059311, 0.009257708, 0.08886488, -0.11395654, 0.014595216, 0.03572645, -0.03394631, -0.15019181, -0.012033989, -0.049776316, 0.009989611, -0.015690451, 0.11131944, 0.09411998, -0.0671135, 0.021830808) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.4090917, -0.12975751, -0.27959952, -0.021477299, 0.10303849, -0.11279957, -0.068631195, -0.06443312, -0.020294452, -0.08127903, 0.08601168, -0.0072733886, -0.050698724, 0.06811237, -0.00795125, -0.024726043) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.597458, 0.043554768, -0.033736184, -0.033494435, 0.10808369, -0.027733808, -0.037335023, 0.04578384, 0.01685896, 0.04202578, 0.07005423, -0.094955556, 0.044262927, 0.13447675, 0.10690729, -0.10031059) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.008404077, 0.044692863, -0.087021865, -0.110792436, -0.25813013, -0.03385143, 0.1189184, 0.054373804, -0.005380934, 0.08821235, -0.07331821, -0.020228507, -0.12153013, -0.04971653, 0.016341092, -0.010747541) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.063672915, 0.020128647, -0.08890703, 0.09651422, -0.12790067, -0.03545926, -0.14812145, -0.05018122, -0.035731427, -0.031319328, -0.08691342, 0.06429655, -0.054123364, -0.054072052, -0.046808098, -0.033671018) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.03878364, -0.07605488, -0.17034729, 0.051471516, 0.060567614, -0.14520754, -0.024923714, -0.08110325, -0.061955553, 0.020793699, -0.04248406, -0.05160582, -0.12553415, -0.095722966, -0.059534278, 0.004877229) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.048770696, -0.041531228, -0.060845453, 0.002074457, 0.017513841, 0.04844567, 0.053277954, -0.05151635, 0.0121183125, 0.08335021, -0.0038582347, -0.026079332, 0.08842311, 0.020906152, 0.04247269, -0.02955627) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.02538893, 0.050311096, 0.037041504, -0.036141895, -0.03919591, 0.11935461, 0.041920815, 0.09425795, 0.091703564, 0.012059138, -0.027636953, 0.023710815, -0.05904561, -0.08181027, -0.029364718, 0.12466643) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.050222006, 0.023249295, -0.01666968, -0.021073297, 0.04069259, -0.008869889, -0.15700357, 0.095870964, 0.049066704, -0.031789377, 0.02640234, -0.08885126, 0.07360328, -0.0008496402, 0.08782058, -0.033768184) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.1173859, -0.038774922, -0.03036511, -0.008234209, 0.07291406, -0.17202759, -0.15325299, 0.11874534, 0.050614003, 0.06908297, 0.084796555, -0.101095274, -0.003802595, 0.049146466, -0.032567933, 0.07242745) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.027366199, -0.002763924, 0.14862566, 0.113281295, 0.106808715, -0.08305284, -0.06134399, -0.048254494, -0.19106627, 0.17400184, 0.120445795, 0.12497504, -0.022004588, 0.10021631, -0.049123183, -0.050179493) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.005894894, 0.030023856, -0.099411264, 0.061228372, 0.05968115, -0.07877603, 0.018482571, -0.08274954, -0.11293636, -0.08944187, 0.052000567, 0.014210127, 0.09805481, -0.006619232, 0.05648319, 0.09093103) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.02626072, 0.08145224, -0.10150438, -0.07172083, -0.035211712, -0.076286145, -0.052936167, 0.085684374, 0.24368948, -0.0018069663, -0.014222038, -0.06269161, 0.11711415, -0.09338889, -0.09823579, 0.04489546) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.14079121, 0.11507747, 0.056059197, -0.12017887, -0.024060845, -0.084220424, 0.014307901, -0.037385657, 0.060175408, -0.004214219, 0.062813714, -0.18487822, 0.03475195, 0.02455728, 0.021527361, -0.012319171) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.046612024, 0.041280113, 0.03441282, -0.010385453, 0.050717298, 0.061984573, -0.0535933, -0.03462243, 0.108015984, 0.043971952, 0.069107905, -0.03405501, 0.027892025, -0.08265824, -0.025167016, -0.021497343) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.14337285, 0.022017835, 0.03680537, -0.08169876, -0.0019242862, -0.052068003, -0.08711008, -0.054244738, -0.10350756, -0.0033643425, -0.1344355, 0.08105951, -0.05010499, 0.0728132, -0.062273785, -0.021577569) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.002652958, 0.06661113, 0.010244389, 0.009362658, 0.06630265, -0.058266263, -0.029512402, -0.026936678, -0.07385946, -0.14960656, -0.2456625, 0.0027919132, -0.07161524, 0.07059979, 0.09157219, -0.08331055) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.02172642, -0.17765602, 0.05446531, -0.05283897, -0.092159756, -0.07119614, -0.0058425656, 0.06227361, 0.10491573, 0.062322207, 0.014671265, -0.10091117, -0.026217826, -0.091968596, 0.091329455, -0.07648637) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.06994806, -0.032795217, 0.06463935, -0.2520779, 0.008083562, 0.035677303, 0.02791061, -0.052524034, -0.09178921, -0.028530827, 0.010601906, 0.13171518, -0.079117715, 0.013006626, 0.015165449, -0.08714064) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.054046582, 0.004019761, -0.10631822, -0.08512665, 0.019265184, -0.14475206, 0.07013727, -0.011605049, 0.14941272, -0.103253745, 0.119249806, 0.0070061055, 0.005738555, 0.09708187, 0.037798043, -0.05589609) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.15780738, -0.01402905, 0.01618609, 0.025895957, 0.03926097, -0.08297395, 0.11971964, -0.024230774, -0.08390391, 0.01462377, 0.15793164, 0.11719322, 0.07299911, -0.06064601, -0.055211198, -0.043295376) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.38463026, 0.06910497, -0.00501006, 0.08442266, 0.06670761, -0.008752275, -0.006877936, -0.037879318, -0.08964556, -0.052410558, -0.08187576, 0.06684298, -0.027748179, -0.0958072, -0.025234362, 0.06557439) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.47176787, 0.07132424, 0.15652566, 0.06861407, 0.1804837, 0.045166843, -0.06350747, -0.08118695, 0.1204818, -0.12069472, -0.18542963, -0.04643418, 0.07490083, 0.036334008, 0.031284492, -0.08658168) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.045501657, 0.0033887012, 0.112740144, 0.09178206, 0.23818009, -0.058346286, -0.05406413, 0.051207036, 0.11871406, 0.10467253, 0.10172185, -0.011532777, 0.027839918, 0.0924941, 0.026103605, 0.095279686) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.3104613, 0.09422485, 0.056251414, -0.035951946, 0.28927153, 0.11168964, -0.08871193, 0.025060473, 0.22045815, 0.034695104, 0.17802997, -0.09109931, -0.007796476, -0.0070548393, -0.0660194, 0.0725219) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.10586, 0.2498261, 0.26807046, -0.051297653, 0.00610941, -0.12030463, -0.24638191, 0.1196356, -0.1016603, -0.03359046, -0.24424516, 0.081014074, -0.018934648, 0.060475744, -0.02788042, 0.021790339) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.043330107, 0.015306886, 0.1050018, 0.043981194, 0.01996294, 0.031717915, -0.037922252, -0.093729876, 0.08037255, -0.10762343, -0.11535202, -0.052344292, -0.1082841, 0.0775432, 0.079228684, 0.057988603) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.12455585, -0.08176639, 0.116995074, -0.114965804, -0.13681485, 0.028398806, -0.10786723, 0.11514679, -0.0674036, -0.05156717, -0.06643584, 0.17534566, 0.082481906, 0.050205696, -0.034396533, 0.09951322) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.13685705, 0.08181086, -0.08831745, -0.07199038, 0.20642853, -0.11971863, 0.06370798, 0.023079524, -0.26114509, 0.06453952, 0.020685833, 0.015071574, -0.059663657, 0.04957371, 0.030870546, -0.016551899) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.3959045, -0.041327223, 0.04482083, -0.022683153, 0.15482493, -0.09424389, 0.13025583, -0.03508159, -0.13358644, -0.0020734165, -0.024988875, -0.16057926, -0.22086589, 0.086459644, 0.042192556, -0.040641204) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.14634256, 0.028475652, 0.07248711, 0.038590662, 0.028829534, -0.10063688, -0.03757898, 0.060293656, -0.048177414, 0.08032441, -0.05084193, -0.07986971, 0.11635561, 0.06220746, -0.05735181, -0.05443532) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.04007897, -0.1284742, -0.016832588, -0.032824107, -0.055388335, 0.041821674, -0.08719763, 0.003660678, -0.048350338, 0.0005437353, 0.12590389, 0.027014168, 0.018107936, -0.07700438, 0.044153113, -0.010989548) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.09054246, -0.012394596, 0.10062247, -0.05339143, 0.105701774, 0.096927695, -0.027527494, -0.09078202, -0.006394046, -0.07249615, -0.051860515, -0.120880984, 0.08739223, 0.086304076, 0.08247264, -0.09364125) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.05095601, -0.018551765, 0.17293532, 0.10340932, 0.03200107, 0.09875342, -0.10627866, 0.048716888, -0.019232498, 0.03726001, 0.101366766, 0.008686586, 0.08542003, 0.052197494, 0.0036786017, 0.06999834) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.0969951, -0.030194992, -0.0040314295, 0.07037078, -0.014721987, 0.026281793, 0.03681838, 0.06591007, -0.037641995, -0.023152754, 0.05264423, -0.0072529847, -0.030030288, 0.043611992, 0.03306355, 0.1350857) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.10876529, -0.09758881, 0.069995075, 0.046452783, -0.012114401, 0.112114646, -0.008294023, 0.0947266, 0.065141134, -0.06380625, 0.077541195, 0.032891963, -0.035093535, 0.10444247, 0.0024906306, 0.042392887) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.0063606566, 0.046983473, 0.04879547, 0.1454697, -0.081603065, -0.012643221, 0.0065459623, 0.129145, 0.026095456, -0.040018898, 0.059168115, -0.06645254, 0.02816478, -0.035896897, 0.06293046, 0.15182656) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.19774227, -0.0051791514, -0.112349965, -0.07554412, -0.040043738, 0.08853505, 0.066516995, -0.026850836, -0.14408626, 0.09094134, -0.041219614, 0.124684654, -0.100167386, -0.0048862826, 0.040946722, -0.001239081) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.15382914, 0.09888226, -0.023201104, -0.06283825, 0.03843897, 0.1091499, -0.028538361, 0.003318517, -0.119436316, -0.0458094, -0.09071349, -0.03255402, -0.25179932, 0.14118388, 0.090443246, -0.105167724) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.06869354, 0.090134054, 0.07514167, 0.026466811, 0.047788978, 0.14153475, 0.117657654, 0.117229395, 0.023203762, 0.020649076, -0.07388578, 0.016273124, 0.021353966, 0.019290544, -0.039155334, 0.1083073) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.015096479, 0.041228283, 0.08429848, 0.1104864, 0.06300026, 0.042591736, 0.060592934, -0.0542872, 0.044981807, 0.07138056, 0.070802316, -0.04000118, -0.099325486, -0.104622796, 0.051340524, 0.1589909) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.027417943, 0.0046731504, -0.042504895, 0.020429544, 0.012665182, 0.10844831, 0.03919859, -0.025908183, -0.1069692, 0.01691405, 0.05724644, 0.036081642, 0.012730116, -0.02856372, 0.0012802749, -0.09503625) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.02215103, 0.021895925, -0.023179589, -0.018083101, 0.007413302, -0.0803415, 0.01617102, -0.08023202, -0.0017036226, 0.095597565, 0.08943024, 0.025378808, -0.06504388, 0.000825817, -0.005812277, 0.1482915) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.034632105, -0.11508885, 0.08972762, -0.0112380255, -0.0014663934, 0.0034956736, 0.12935714, -0.049270503, 0.0026877339, -0.025694352, 0.043128114, -0.05425603, 0.0796177, -0.09515817, 0.028917901, -0.0752607) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.011032815, 0.06206703, -0.09782582, 0.03322364, -0.024201987, 0.012407279, -0.06486112, 0.065004334, -0.006245923, -0.034009162, 0.08770933, 0.065151595, 0.043262474, 0.054994624, 0.115840785, -0.09499264) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.040038913, 0.020927478, 0.0095707625, 0.11241672, 0.07298628, -0.03342749, 0.01005333, -0.018234663, 0.064127184, 0.022129644, -0.03225046, 0.015303761, 0.0025954084, 0.026910244, 0.10920543, 0.10982261) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.0673264, -0.06406114, -0.10207532, 0.03043728, 0.013002137, 0.043359507, 0.026096458, 0.10082838, -0.0642811, 0.14010613, 0.0625042, -0.1671225, -0.041694086, -0.06912805, -0.070819736, -0.10707673) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.028437516, -0.104031324, -0.00883411, 0.07303809, 0.063450605, 0.07766218, 0.0025482972, -0.03874655, -0.024112262, -0.055926625, -0.054404005, 0.07200242, -0.12923439, 0.11756624, 0.03235073, 0.025140604) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.07630516, 0.035479344, -0.02406291, 0.07414668, 0.07996684, 0.071500994, 0.0041644117, -0.030916646, 0.042177014, 0.008170894, -0.058136985, -0.1272659, -0.08456959, -0.09318241, -0.111825354, 0.056025278) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.017236957, -0.04931214, -0.04546525, 0.08366393, -0.014682055, -0.06471796, -0.08719627, -0.05236608, -0.1175413, 0.069371335, 0.044888984, 0.04929942, -0.013770809, 0.06761477, 0.12102053, 0.0067485953) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.045766212, -0.01832294, -4.223035e-06, 0.017818777, -0.1624566, -0.056260627, 0.00011573624, -0.014903727, -0.08539675, -0.03885584, -0.077474184, -0.02180623, 0.008653656, 0.055133738, 0.059180453, 0.086535186) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.02064942, -0.021755693, 0.04258459, -0.03132326, 0.008472219, -0.03861974, -0.07710478, 0.010436849, 0.08350143, -0.092069946, 0.025091209, -0.16653621, 0.024409093, 0.06170515, 0.0407223, 0.05875108) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.105911255, -0.021872785, 0.053831067, 0.07443288, -0.059776537, -0.080721244, 0.06047898, 0.038081765, 0.030592326, -0.042387508, 0.10630578, -0.039533924, -0.05868546, -0.04629572, 0.008200039, -0.0152924005) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.10590312, -0.024143511, 0.04500078, -0.034833405, 0.0077869915, 0.0062474054, 0.019995918, 0.003982944, -0.0021419218, -0.08393671, 0.023151234, -0.13564983, 0.055672098, 0.025012732, 0.12809329, -0.027097646) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.08534338, 0.08722762, 0.022182066, -0.049489636, 0.056009308, 0.045273256, 0.055560343, 0.07922446, -0.10813027, -0.054762598, 0.053643025, -0.082616836, 0.0699048, -0.040993948, 0.02715074, 0.06129833) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos7 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(7, 0); + imageStore(out_image, store_pos7, max(result7, V4(0.0))); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4_CMP] (Conv2D-2-ReLU) +//!COMPUTE 16 16 2 16 +//!HOOK LUMA +//!BIND conv2d_1 +//!SAVE conv2d_2 +//!WIDTH LUMA.w 8.0 * +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#ifdef GL_EXT_shader_explicit_arithmetic_types_float16 +# define V4 f16vec4 +# define M4 f16mat4 +# define F float16_t +#else +# define V4 vec4 +# define M4 mat4 +# define F float +#endif + +const ivec2 ksize = ivec2(3, 3); +const ivec2 offset = ksize / 2; +const ivec2 isize = ivec2(gl_WorkGroupSize) + ksize - 1; +shared V4 inp[8][isize.y][isize.x]; +void hook() { + ivec2 base = ivec2(gl_WorkGroupID) * ivec2(gl_WorkGroupSize); + for (uint y = gl_LocalInvocationID.y; y < isize.y; y += gl_WorkGroupSize.y) { + for (uint x = gl_LocalInvocationID.x; x < isize.x; x += gl_WorkGroupSize.x) { + inp[0][y][x] = V4(conv2d_1_mul * texelFetch(conv2d_1_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(0, 0), 0)); + inp[1][y][x] = V4(conv2d_1_mul * texelFetch(conv2d_1_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(1, 0), 0)); + inp[2][y][x] = V4(conv2d_1_mul * texelFetch(conv2d_1_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(2, 0), 0)); + inp[3][y][x] = V4(conv2d_1_mul * texelFetch(conv2d_1_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(3, 0), 0)); + inp[4][y][x] = V4(conv2d_1_mul * texelFetch(conv2d_1_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(4, 0), 0)); + inp[5][y][x] = V4(conv2d_1_mul * texelFetch(conv2d_1_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(5, 0), 0)); + inp[6][y][x] = V4(conv2d_1_mul * texelFetch(conv2d_1_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(6, 0), 0)); + inp[7][y][x] = V4(conv2d_1_mul * texelFetch(conv2d_1_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(7, 0), 0)); + } + } + + barrier(); + V4 result0 = V4(0.0038961265, 0.001332783, 0.0017195513, -0.012215322); + result0 += M4(0.020768486, 0.19518504, 0.10652916, 0.016277736, -0.01911715, 0.09338258, 0.061322775, 0.021276098, 0.033209424, 0.023758238, 0.13228233, 0.017543152, -0.08639269, -0.10579368, -0.021436824, -0.041996963) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.02072158, -0.029260047, 0.10317572, 0.018998116, 0.06893516, 0.016882386, 0.029664101, 0.033205308, -0.07925137, -0.0117294, -0.033008587, -0.08429268, -0.009129892, 0.00844741, -0.017484661, -0.041629616) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.05287871, 0.0714904, -0.05438321, 0.10782685, -0.019365048, 0.04753656, 0.0057719294, 0.01661721, 0.01850611, 0.04280566, 0.054570835, 0.024997398, -0.024685761, 0.0108154975, 0.110397175, 0.020391693) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.13310038, -0.17994042, 0.09879768, -0.006364421, -0.048433002, 0.07472358, 0.085165694, 0.05120727, -0.01948186, -0.01708294, -0.003669543, -0.033181053, -0.011578635, -0.067337684, -0.039517853, -0.0066827773) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.06415745, -0.05185256, 0.1186324, 0.07332391, 0.039549273, 0.18897007, 0.017069127, -0.07572157, -0.041313797, -0.113993324, 0.034083586, -0.08321626, -0.09899019, -0.20111105, 0.08013798, -0.049507666) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.004421147, -0.06988728, -0.1693638, 0.01637007, 0.003774199, 0.028707651, -0.034669466, 0.041887756, -0.12499024, -0.14824395, -0.037254, 0.03626716, 0.024191184, 0.010770511, 0.10946722, -0.012818109) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.06518783, 0.08121745, 0.08918908, 0.02310599, 0.03623461, -0.13732864, 0.070472024, 0.058844727, 0.057325784, 0.1353737, 0.07116109, -0.0101564415, 0.058186606, 0.061101504, -0.097902454, -0.037124325) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.001278279, -0.12656812, -0.13933757, -0.007784996, 0.011574005, 0.14250986, 0.011222252, -0.023558123, 0.00079916744, -0.054769196, 0.08418574, -0.011806821, 0.020265067, -0.1157282, 0.022684122, 0.056439396) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.02458042, -0.16910408, -0.014593553, -0.03235627, -0.04779372, -0.008499454, 0.1181949, 0.10087122, 0.05127935, -0.11893997, 0.0008351227, -0.003412373, 0.051829055, -0.010493163, 0.023809, 0.027481949) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.05583759, 0.12039312, 0.049189202, -0.0033234935, -0.0128697725, -0.20673724, -0.11376061, -0.04513069, 0.006834934, -0.113968655, 0.09831999, 0.15115435, -0.028312294, 0.05344022, 0.0230219, -0.015505616) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.00070553337, -0.14369376, -0.025746442, -0.115839556, -0.027429733, -0.22975318, 0.010271601, 0.038519192, -0.15733579, -0.09535876, 0.036753237, 0.04535995, -0.015221701, 0.009748689, -0.01113504, -0.033767708) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.031698138, -0.047707994, -0.011964013, 0.07519611, -0.11171261, 0.0014576577, 0.112082936, -0.054679986, -0.06935404, -0.07026278, 0.037267886, 0.18976697, 0.0046615293, -0.121218346, 0.023205673, 0.08507905) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.10813317, 0.026324559, -0.058060277, 0.034778446, 0.09977958, 0.110755235, -0.07610188, -0.05169733, 0.09893716, 0.2064326, -0.1973082, 0.011295613, 0.055551022, 0.05705061, -0.057435445, -0.06461288) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.045676377, -0.056204285, -0.0011548348, 0.040627398, -0.12363167, -0.12852292, -0.00085430965, -0.037388556, 0.00844487, 0.14106186, 0.09070133, 0.039000336, -0.0059762467, 0.03153208, 0.083921984, -0.05227681) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.051444214, -0.07501466, -0.02736227, -0.029298639, 0.031347092, -0.06630262, -0.017180841, 0.05112174, -0.039328843, 0.045823384, 0.11843252, -0.057929497, -0.028011715, -0.0024052528, -0.05447095, -0.08166851) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.029137295, 0.04394078, 0.024085755, -0.04682829, -0.008840531, 0.046565503, 0.028540466, 0.06610155, 0.007266516, -0.064102635, -0.07334753, -0.11840728, -0.10386313, 0.09748474, -0.014535573, -0.065157816) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.034119498, -0.10110233, 0.062206313, 0.060490754, -0.056164585, -0.010824694, 0.030567843, 0.041654594, -0.07085679, 0.017946146, 0.07776861, -0.05438649, 0.040264107, 0.084866695, 0.12399638, -0.02646175) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.06160804, -0.08157371, -0.09690197, -0.0053563523, 0.027080167, -0.00813666, 0.074484125, 0.028181752, 0.10777577, -0.05067239, 0.16796178, -0.06555477, 0.010340013, 0.005175866, -0.11509617, 0.053702924) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.10997413, -0.23575288, -0.004338256, -0.17804305, 0.088344626, -0.0602253, 0.029983163, 0.03522086, 0.050785214, -0.06110994, 0.05317057, -0.0041962243, -0.05477119, -0.027402788, 0.0068501597, 0.022762587) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.12499325, -0.2963777, -0.053973384, -0.0863788, 0.061468765, 0.02624447, 0.050280765, 0.007978251, 0.043330833, 0.015782738, -0.02406044, -0.012082534, 0.014833368, 0.03636138, 0.021866325, 0.002705452) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.0670178, 0.1517865, -0.060079947, -0.019175414, -0.00950054, 0.02186507, -0.16947927, -0.019976761, 0.017263884, -0.21380761, -0.040637568, -0.029934557, 0.05448739, 0.007488777, 0.041584082, 0.035889525) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.088071905, 0.088525586, -0.10630332, -0.08889899, -0.05567067, -0.014407666, 0.022553239, 0.042067133, 0.064223126, -0.049846806, 0.04151039, 0.044511788, 0.072003365, -0.021226842, -0.028754074, 0.085390344) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.13223739, 0.22873339, 0.022842832, -0.110073015, 0.043129012, -0.12935705, 0.011199929, 0.048705462, -0.039713945, 0.038975433, -0.13740028, -0.14390735, -0.07936343, 0.03079609, 0.06856621, 0.022711476) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(5.577286e-05, 0.019684795, -0.17099325, 0.086151764, -0.02518586, 0.0326021, -0.1538337, -0.032159623, -0.046835143, -0.026700933, -0.2898238, 0.019142104, 0.048806053, -0.032409724, 0.07595997, -0.014350331) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.113683246, 0.106619164, 0.035031386, -0.075541675, 0.0054782513, -0.31739518, 0.08305017, 0.02839219, 0.00090749457, 0.08332185, 0.07975957, -0.037888702, -0.009494333, -0.039190985, -0.023774182, 0.03629856) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.01317086, -0.17966376, -0.0046711154, 0.0573031, -0.024371548, -0.11985576, 0.059062485, -0.109271765, 0.05535692, -0.011248494, 0.04973407, -0.043837454, -0.11109329, 0.0018599973, -0.019615516, 0.008063546) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.0078926, -0.025773687, 0.1696136, 0.08084846, -0.12121332, 0.057914667, 0.0011041306, -0.050299834, -0.034782372, 0.0646752, -0.07594214, 0.042853054, -0.04617414, -0.11512558, 0.08340222, 0.0027434994) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.039316215, -0.0047521982, 0.0007410762, 0.003044629, -0.014875219, 0.0003238436, 0.011892292, 0.017935025, -0.066173576, 0.004730928, -0.028995039, 0.049613565, 0.080073915, 0.03108165, 0.04943785, 0.023901751) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.026870532, -0.002210108, 0.04364908, -0.085835844, 0.066105135, 0.0270752, -0.035426065, 0.03159552, -0.052549567, -0.16905689, 0.030008933, -0.024280457, -0.018040571, 0.05162439, 0.04035218, 0.028920501) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.05643361, -0.0026553562, -0.004815994, -0.056199763, -0.015197031, -0.27437776, 0.08667686, 0.009542018, 0.020103246, 0.30491906, 0.09443379, 0.047749072, 0.07879209, -0.16204481, 0.05484295, 0.014890158) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.04251266, 0.108698756, 0.07989816, -0.03404856, -0.0117967175, 0.029044988, -0.054395277, -0.02599575, -0.01700795, 0.21388772, -0.071163945, 0.046782244, 0.004954562, 0.08941993, 0.051816255, 0.007873691) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.009905115, -0.06495422, -0.07182362, -0.07009032, -0.0011140234, 0.1801605, 0.045418646, 0.022728456, -0.07182372, -0.20405844, -0.2595796, 0.025947588, -0.0051582963, -0.21421307, -0.115997046, -0.04933461) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.07039363, -0.07689468, 0.04071002, -0.011898511, 0.058931004, 0.19578938, -0.047047555, 0.045687, 0.039013788, -0.03537131, 0.09728327, 0.06489651, 0.009094454, -0.035449073, -0.010307263, -0.128886) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.07495727, 0.12349849, -0.011538896, 0.08012793, 0.110961534, -0.10587627, 0.041072518, 0.048473507, 0.04384488, -0.1849016, -0.016741171, 0.0036955767, 0.055009063, -0.20208012, 0.028385293, 0.010734535) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.09469653, 0.017364593, -0.09390158, 0.12721796, 0.04345901, -0.2840768, -0.05992785, 0.066435404, 0.05637269, 0.14012375, 0.0345561, -0.054484397, 0.039971624, -0.030509844, -0.020659527, 0.0061903074) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.03903556, -0.14210649, -0.017638791, 0.07868067, 0.028452715, 0.12341494, -0.019836478, -0.021302665, -0.04480746, -0.00985662, -0.0718964, -0.028854342, 0.09794145, -0.080464825, 0.050758284, -0.026055876) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.028701145, 0.01829752, 0.087533996, -0.00965923, 0.036159534, 0.03749543, 0.009703668, -0.11557614, 0.075031266, -0.1879373, -0.11208702, -0.032449514, 0.011989358, -0.1298161, 0.053492643, -0.020412037) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.013003049, 0.026942214, -0.030305991, 0.034897134, -0.016770195, -0.0018774936, -0.16833772, -0.045802023, -0.04935283, -0.030899772, 0.089957945, 0.027436828, -0.07391319, 0.022749206, -0.08397321, -0.079581566) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.015891165, 0.03229516, -0.026230607, -0.016856106, -0.013348166, -0.058003638, 0.091278724, -0.020132544, -0.0104976315, -0.06962491, 0.10252575, -0.104778886, 0.011487738, 0.07815713, -0.1523581, 0.04473245) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.015247553, -0.0689445, -0.024725895, 0.059181888, 0.11106032, 0.005426758, -0.0007795084, -0.10700971, -0.042458396, 0.10347201, 0.0126216225, 0.06868036, 0.11178716, -0.30893403, 0.035914417, 0.022325242) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.07837707, -0.10944139, -0.055363763, -0.0064786635, -0.10494937, -0.030199448, -0.09446005, 0.06313394, -0.05885978, 0.024449185, -0.053455792, 0.10630162, -0.02901833, -0.0077567264, 0.07457602, -0.014757839) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.0016780697, -0.10031895, -0.00528505, 0.08190756, -0.004673542, 0.024529556, -0.01576794, -0.052456655, 0.0008170726, -0.07658871, 0.17358595, -0.027121188, 0.04863556, 0.1847656, 0.060486633, -0.10650409) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.03644902, 0.1148294, 0.045266416, 0.10774466, -0.020824777, -0.13833138, -0.15486678, -0.28599513, 0.0057938877, -0.02195408, -0.087424345, 0.05426812, -0.07872704, -0.074092545, 0.042901468, -0.018899178) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.08066995, 0.06903461, -0.06546987, 0.07025312, 0.0066974177, -0.21211831, -0.13548216, -0.15869343, -0.03845252, -0.018342808, 0.012805937, 0.0571223, 0.0010664713, -0.16705228, 0.03932396, 0.07297253) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.10483158, 0.14434452, 0.10646279, -0.07861952, -0.11446141, -0.06909528, -0.06899353, 0.06655939, -0.023679903, 0.08045442, 0.075076155, -0.0067794793, -0.03872731, -0.0021570718, 0.008664595, 0.04054242) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.1058983, -0.64768726, -0.1070164, -0.16036078, -0.006849701, 0.08040625, -0.01209451, -0.021268113, -0.043588012, -0.010082733, 0.00032744344, 0.032486998, -0.16930111, 0.09392636, 0.031829715, -0.023427248) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.1391673, 0.09537431, 0.15677875, 0.26951012, 0.04830714, 0.138435, 0.02802541, -0.044355396, 0.087282084, -0.0071173464, 0.06556808, -0.014055374, -0.21888524, 0.28007838, -0.26575592, 0.103729926) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.066979684, -0.023621002, -0.08544632, 0.021912837, -0.02770723, 0.23085785, -0.07876425, -0.001778253, 0.059612133, 0.13702968, -0.018019872, -0.011194369, -0.17940903, 0.38167855, 0.3581132, 0.052256417) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.013459989, 0.35978305, 0.0080676675, -0.07412809, 0.14155985, 0.16714828, 0.07242234, 0.045785334, 0.044334922, 0.053570222, 0.0149026485, 0.021398667, -0.22911492, 0.32159582, -0.10092565, 0.09225282) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.005439314, -0.06433109, 0.005245534, 0.13578549, -0.14659771, -0.51859146, 0.012266429, 0.06077045, -0.064145505, -0.0999825, -0.08526874, 0.08859418, -0.051710278, 0.0039805844, 0.21263716, -0.06515673) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.04172571, -0.005810074, -0.023136543, -0.06914317, 0.1286092, 0.104499236, 0.2298874, -0.036697045, 0.04959671, -0.07776955, 0.04101511, 0.028588077, -0.020894285, 0.13061762, -0.090738826, 0.23239848) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.06448335, 0.0014417671, -0.10011012, 0.04494505, 0.1481389, 0.006609362, 0.07581272, -0.04148623, 0.06993912, 0.081995845, -0.08818529, 0.07156934, 0.26274258, -0.25181508, 0.036202215, 0.24277289) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.04972903, 0.02704316, 0.027814522, 0.11539635, -0.14725707, 0.042437248, 0.055962242, -0.13022345, -0.08122987, -0.107094996, 0.019609177, 0.017482767, -0.40221646, 0.89007, 0.32853803, 0.03351898) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.08624043, 0.044317793, -0.030672917, 0.024382416, -0.035281107, -0.13298373, 0.03268051, -0.08780466, -0.062240686, 0.15269567, 0.088559024, 0.02112772, -0.12399524, 0.18136752, 0.18347566, -0.41017237) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.012344986, 0.0819994, 0.08926104, 0.037693802, -0.026298285, -0.14426899, 0.013797544, 0.07573523, 0.042820767, -0.008953319, 0.03555183, 0.07681178, 0.03561626, 0.20060936, 0.014094836, -0.07780646) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.0076577337, -0.077223584, -0.049890388, 0.013612941, 0.0417324, 0.038160775, -0.031893957, 0.06730074, 0.048760794, -0.08885555, -0.014088995, -0.03504145, 0.08756986, 0.33382958, -0.025584355, 0.0898367) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.0027248159, -0.009261547, -0.010573189, 0.016224667, -0.00859355, 0.23445041, -0.037793424, 0.045305517, 0.019869976, 0.06422869, 0.086130686, -0.040192682, 0.009780726, -0.05960844, 0.01658926, 0.019263476) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.012945488, -0.102715746, 0.074896775, 0.0124892155, 0.122968525, 0.135008, -0.132012, 0.044492103, 0.073970355, 0.048286952, -0.0033707109, 0.0077622165, 0.03792696, 0.18066593, -0.058781058, -0.00574739) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.07965153, 0.12858966, -0.07428137, -0.0073787323, -0.077527784, -0.23929825, 0.02083824, -0.06023361, 0.019069064, -0.06172661, 0.034480214, -0.064167224, -0.1050257, 0.052588984, -0.06398863, 0.040950246) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.04623202, 0.114150316, -0.15639481, 0.08311473, 0.068393774, 0.12620011, 0.0075128404, -0.053743124, 0.018285705, -0.14228502, -0.02221842, -0.019861415, 0.005128908, 0.17778534, -0.07174087, 0.030204035) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.008492201, -0.122009255, 0.0605521, -0.03450755, 0.0509936, 0.066243686, 0.00546704, -0.014830274, -0.006705027, 0.030692441, -0.019571733, 0.08969137, 0.03030771, 0.07903839, -0.02059117, -0.06824601) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.0991305, -0.07580958, 0.046257865, -0.042087436, -0.0947227, 0.02381838, 0.024904741, -0.04824861, -0.059442014, 0.11869142, -0.098470874, -0.09807145, 0.019457888, 0.29149088, 0.09020278, -0.04943551) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.082584344, 0.084786005, -0.13481602, -0.04953457, 0.023263622, -0.09584821, 0.027991343, -0.04067843, -0.009498681, -0.033229757, -0.0296905, -0.086042464, -0.015430221, 0.25951028, 0.026116326, 0.015405893) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.06470308, 0.025905779, 0.06861305, 0.021462845, -0.023637587, 0.15395701, -0.03916342, 0.0006587917, -0.008185829, 0.11200546, -0.037124023, 0.007394828, 0.06663645, -0.027812524, -0.0037342268, -0.0061668474) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.03544779, -0.00031186134, 0.02004818, 0.051684547, -0.09745726, 0.042007558, -0.008420215, 0.09486203, 0.010861714, 0.010206691, -0.040740013, 0.06942054, -0.101959646, -0.10260883, 0.10044887, -0.0027186745) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.018351192, -0.08589665, -3.2480384e-05, 0.05149168, 0.045533057, -0.108840615, -0.07827046, -0.043606672, 0.007251551, 0.1417391, 0.014130545, 0.13982835, 0.016003221, 0.0120230345, -0.023557581, 0.050320093) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.030199634, 0.14185253, -0.046193156, 0.117007956, -0.082545996, -0.06779435, -0.020080375, -0.011942185, -0.06754442, 0.15454075, -0.012006602, 0.06574313, -0.046923466, 0.07991663, 0.06952191, -0.020431083) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.05245333, 0.18594715, -0.005668068, 0.025746932, 0.101661645, 0.051543713, 0.00084247196, -0.062519245, 0.0899365, 0.07716826, 0.029157262, 0.01285533, -0.02915037, 0.06552279, -0.0121986, 0.034650713) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.021543847, -0.04752802, -0.03929521, -0.014301264, -0.10118153, -0.18696767, -0.12275127, -0.04238438, -0.0013353159, 0.047490425, 0.0026643847, 0.029076844, -0.032518886, -0.11041743, 0.020810358, -0.035274237) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.060908165, 0.16895033, -0.06763098, -0.014263504, 0.007936432, -0.106404535, 0.09746626, -0.01898785, 0.0048336, -0.18966739, -0.040730722, 0.098006144, 0.09074511, -0.10843708, -0.035986647, 0.02219366) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.05764318, 0.09750307, -0.087208144, 0.117957935, 0.09374338, -0.041801717, 0.04441212, 0.03233607, -0.053928304, 0.08444281, 0.06290966, 0.040370744, 0.043357067, 0.0613805, -0.10498971, -0.024346486) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.007321799, -0.003973235, 0.06420614, 0.016369943, 0.02087516, -0.044659432, -0.14253752, -0.056806125, -0.00084979524, 0.1113189, 0.044143334, -0.074175484, -0.05122868, -0.13652909, -0.0013369785, -0.07416767) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos0 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(0, 0); + imageStore(out_image, store_pos0, max(result0, V4(0.0))); + V4 result1 = V4(0.01809597, -0.007259329, 0.011446571, 0.009539949); + result1 += M4(0.08974722, -0.057394583, -0.046069987, 0.07864474, -0.03406532, -0.043008525, 0.0076725646, 0.030887362, 0.03493497, 0.07332323, 0.11389477, 0.0099623585, 0.06267059, 0.05067181, 0.003936554, -0.020788096) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.001502734, 0.0386735, 0.0034451203, -0.06866382, 0.06357977, -0.034083746, -0.0014485398, 0.09803482, 0.016053537, -0.093313985, -0.013740547, 0.095902175, -0.0068273414, 0.0069317883, 0.07468291, -0.014008881) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.018305873, 0.08809944, 0.12883478, -0.02866853, 0.011447931, -0.08039699, -0.022190414, 0.3031448, 0.03934125, 0.0696803, -0.044736862, 0.045283377, -0.03417613, -0.012693501, 0.06992652, -0.14414586) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.17251596, 0.11039471, 0.06795553, 0.057806175, 0.017827867, 0.0118180895, 0.050705157, 0.059729815, 0.025164269, -0.060798462, -0.056215513, -0.0363927, 0.0214516, 0.0192505, 0.080937915, -0.12746243) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.14713654, 0.13962387, 0.0292696, 0.08108621, 0.11103104, -0.033517674, -0.21728092, 0.21753646, -0.005512285, -0.06124906, -0.05421699, -0.00859261, -0.04453755, -0.09267506, 0.1667471, -0.086991236) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.085520335, 0.09010655, -0.04551471, -0.041702263, -0.02551267, 0.0002442629, -0.11318135, -0.23075797, -0.0032654917, -0.020646181, -0.16889559, 0.00024069057, -0.0039345985, -0.007057778, -0.0066967322, -0.03788228) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.022932258, 0.050379436, 0.07207928, -0.11221837, 0.0130831115, -0.0545057, -0.07050016, -0.017975781, 0.015554515, 0.009807091, 0.10832974, 0.010133914, -0.010356311, -0.08178744, 0.04492316, 0.085487835) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.22200887, -0.10962674, 0.1547704, -0.13002324, -0.08965904, -0.033875242, -0.050751805, -0.010955291, 0.007495879, 0.047288466, -0.0234695, -0.0442233, -0.05707627, -0.05559915, -0.032663383, 0.022517374) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.0388565, -0.061275236, 0.04765436, -0.13374029, -0.089926176, -0.073177524, 0.011910142, -0.10706633, -0.028476244, -0.0018096503, -0.09545337, -0.124540105, -0.0040880535, -0.01339201, 0.08047419, 0.12758337) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.00031812486, 0.008170696, -0.06208043, -0.059076823, 0.0046319487, -0.109885566, 0.058871698, -0.028006772, 0.056106254, 0.12692627, -0.1050283, -0.31867397, -0.00816154, -0.029396255, -0.041891497, 0.08142962) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.048969254, -0.04084207, 0.10848751, 0.0162676, -0.045184273, -0.13072723, 0.07681187, -0.07474879, -0.12002091, -0.04601605, -0.46615177, -0.22194192, -0.10415525, 0.070380114, 0.027935691, -0.076817654) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.058873277, -0.02194783, 0.11969051, -0.1133347, -0.013515706, -0.028978303, -0.09594172, 0.104455106, 0.13784535, -0.10757687, -0.17776383, -0.06740314, 0.027393539, -0.0958441, -0.023288494, -0.053651378) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.04353452, -0.0018926831, -0.008601414, 0.040108994, 0.05980129, -0.029484522, 0.097080655, 0.02981196, 0.09436037, 0.05498659, 0.09255856, 0.14033128, -0.1002076, -0.057044487, -0.09080253, -0.08466663) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.13454814, 0.053118296, 0.0020678288, -0.121801004, -0.0442235, -0.04095646, 0.06825874, -0.03648487, -0.07244828, 0.041476924, -0.058172427, 0.43018842, -0.04076554, 0.04303618, 0.07993228, 0.054027397) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.057967342, -0.068577655, 0.044533517, 0.023215523, -0.034145925, -0.007827256, -0.120982826, -0.020564968, -0.16727303, 0.14238362, -0.032474738, -0.06825909, -0.07495851, 0.07559027, -0.08125224, -0.01977864) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.08150442, 0.032221925, 0.028710455, -0.03734639, 0.059873328, 0.13391107, -0.05114325, -0.0128373355, -0.14087403, 0.0709955, -0.07242348, -0.0035251733, -0.09796152, 0.11837425, -0.016200937, 0.029503472) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.05068108, -0.0898573, 0.0108421855, 0.021399837, 0.02234396, 0.05424754, -0.020104418, -0.11817873, 0.1220066, -0.021129828, -0.13346282, -0.030525615, -0.047299366, -0.053865477, -0.022940893, -0.07856213) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.012096377, 0.013601851, 0.020446809, -0.10492482, -0.06469445, 0.03448889, -0.07677999, 0.0017471157, -0.036593143, -0.03791922, 0.046369188, 0.058738172, 0.039446738, 0.015426071, 0.040716898, 0.052520655) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.011576842, 0.14291708, -0.085464, 0.04823769, 0.013427116, -0.067072675, 0.024363173, -0.061673254, 0.021091694, 0.010108753, 0.06366308, 0.059176635, 0.030968698, -0.05105878, -0.08252918, 0.061828688) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.025508406, 0.053967323, 0.021817207, -0.07290561, -0.029633604, -0.08344699, 0.09763669, -0.05941648, -0.026044406, 0.04977485, -0.12530185, -0.09826884, -0.008688463, -0.07970346, -0.09230995, 0.073997356) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.056518354, 0.016244685, 0.14062637, 0.011818997, -0.039067525, -0.03314261, 0.018776461, -0.06979147, 0.091528535, -0.02864895, -0.103084445, -0.07929676, -0.027924893, -0.048091784, -0.12286067, 0.007017993) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.03082558, 0.004830918, -0.035591446, 0.013694819, -0.047595814, -0.099315725, 0.014426182, 0.045877915, 0.018080486, -0.021914203, -0.099665806, -0.021313844, -0.014837844, 0.043898433, 0.041621327, -0.04202227) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.044189997, -0.07950915, 0.2066972, -0.029563887, 0.03156508, -0.052999865, -0.057783432, -0.1239231, -0.12936692, 0.082947336, -0.043181423, -0.05811266, -0.013954634, -0.0075906524, -0.06267514, 0.03286673) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.0018704489, -0.028523736, 0.0285131, 0.19535622, -0.004870037, -0.11971281, -0.035292182, 0.07921527, 0.032171868, 0.02107969, 0.013217628, 0.044199698, 0.0074292943, 0.09520273, 0.0777525, -0.005481386) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.1537963, -0.077397294, -0.040240813, -0.01483856, -0.010614203, 0.016921805, -0.06463972, -0.014581693, 0.020288756, 0.08486695, 0.114225395, 0.071876846, -0.061787628, -0.0150212385, -0.06625069, 0.0127510745) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.07969649, -0.07553746, 0.3011664, -0.07753997, -0.008760307, -0.04732446, -0.06533066, -0.04861088, -0.04453593, 0.014899991, -0.013779289, -0.03079048, 0.035094455, 0.0026017237, 0.05492003, -0.07883217) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.1382815, -0.001781069, -0.009535754, 0.014254669, 0.027612543, -0.0713885, 0.009494898, 0.019641854, 0.053180195, 0.041654743, 0.011953401, 0.031995524, -0.06460382, 0.03716663, -0.0066641453, -0.023757324) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.11485917, -0.08821221, -0.033164237, 0.035665486, -0.10356065, -0.08925449, -0.08776844, 0.0443344, -0.04627364, 0.03123617, -0.46454397, 0.028888578, 0.084829845, 0.02420092, 0.21837008, -0.010578558) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.017928071, -0.019868823, 0.07635952, -0.06252927, 0.011634639, -0.112031534, -0.06432357, 0.044311896, -0.03306069, -0.009021196, 0.20783746, 0.029818283, 0.044896267, 0.103549056, -0.15614301, -0.10390704) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.05877805, 0.037358385, -0.007874027, 0.02150572, 0.087275535, -0.12576886, -0.17768301, 0.08391734, -0.13349986, -0.020330323, 0.07866404, -0.051829178, -0.07415576, 0.08051908, 0.0019096436, -0.0248202) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.06818973, 0.04258476, -0.11570403, 0.019937577, -0.032644536, 0.03827634, 0.09796537, 0.04925239, -0.022239348, 0.06727167, 0.06726447, -0.039859198, -0.08094699, 0.100528106, -0.05513857, 0.03842808) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.038287744, -0.046130396, 0.0044009783, 0.06255144, 0.07952102, 0.058554716, 0.044949017, -0.023608152, 0.042466514, -0.0037990552, 0.072036006, 0.13415317, 0.061293673, -0.093681894, 0.01659891, -0.10580722) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.0075947028, 0.04923867, 0.04950351, 0.033283208, 0.02411005, -0.07484874, 0.039531544, -0.040823437, 0.031972732, -0.05750063, 0.062427163, -0.048166666, 0.08210575, -0.08971807, 0.0014726426, 0.024761481) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.06970087, -0.02279949, 0.036573384, 0.04610181, 0.052381646, 0.022673553, 0.062322322, 0.08522047, 0.011990278, -0.060493305, -0.22580588, -0.13913772, 0.067572676, 0.113445826, 0.118292265, 0.068487026) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.073160335, -0.053239502, 0.058038283, -0.078760535, 0.030652044, 0.055304956, -0.10536544, -0.042361442, 0.08508474, -0.14913025, -0.06592552, 0.028471349, -0.043403942, 0.028345525, -0.03665315, 0.06630598) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.064241365, 0.037043408, -0.030782968, -0.018506581, 0.0022339206, -0.03144272, -0.054002218, -0.038323894, -0.07115976, -0.090881124, -0.054997433, -0.051876, 0.015684353, 0.07759289, 0.14167948, -0.0021917135) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.05477468, 0.14993134, 0.024986196, 0.019096363, 0.060178306, -0.120737426, 0.05904739, -0.012368025, 0.030011868, 0.021836974, -0.02062985, -0.127062, -0.049314924, 0.114634186, 0.08724103, -0.10614678) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.026916834, -0.02322393, -0.06406004, 0.05087083, -0.019631015, -0.082680516, -0.06368981, -0.13085927, 0.024152614, -0.009476421, 0.08715081, -0.067289144, -0.036660537, 0.0037622356, 0.039944604, -0.0964066) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.04755059, -0.106824026, -0.03209321, -0.038908567, 0.06699002, 0.0852551, 0.0488239, -0.11888451, -0.029342968, 0.016189383, 0.0006822671, -0.04981751, -0.086947605, -0.059580225, 0.029643087, 0.00021858286) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.02501859, 0.13633497, -0.05413384, -0.039060574, -0.13850933, -0.052807204, 0.022122784, -0.0062004775, -0.05766888, -0.014106309, -0.012562379, 0.006912933, -0.15607083, -0.14682062, -0.111053236, 0.09419012) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.045371503, -0.06589474, 0.00377123, 0.03228386, 0.050489787, 0.011352468, 0.011432119, 0.06737237, 0.0014837743, -0.073518634, -0.029983262, 0.019647364, -0.008811636, 0.022412278, -0.02858212, 0.007172225) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.000113790156, -0.037234273, 0.036010038, 0.050041687, 0.11892256, 0.092400156, 0.013134459, -0.085957184, -0.05347301, -0.25043193, 0.16402128, -0.015024794, 0.0110863745, 0.09496419, -0.06436348, -0.05829286) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.02188274, -0.016275775, -0.03614848, -0.10994358, -0.3107118, -0.2234907, -0.0012438593, -0.027794728, -0.06316975, -0.0024332027, -0.0014720003, 0.111853264, 0.06801622, -0.066525, 0.13523015, 0.0863234) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.03687555, -0.050679803, 0.046274412, -0.08960817, -0.2260352, 0.095823035, 0.039576087, -0.014151317, -0.038530204, 0.060383882, 0.00799593, 0.07945562, -0.044110917, -0.10669394, -0.055741455, 0.08334321) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.050064012, 0.0645976, 0.034032837, 0.13629472, -0.02919891, 0.14524814, 0.028753709, -0.011516505, -0.043493725, 0.09487557, -0.013130709, 0.041645847, -0.05654849, -0.04582667, 0.009315843, 0.01709956) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.22713026, 0.13292877, 0.16952021, -0.4218617, 0.04456534, 0.017331598, -0.008258746, -0.0908604, -0.026475342, -0.006474787, -0.017406981, 0.11194806, 0.034013066, -0.24220166, -0.10562158, 0.16913258) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.03811829, -0.023052575, 0.024508754, -0.028697502, 0.06442697, 0.14254358, -0.008434641, -0.016290251, -0.03435895, -0.034129024, -0.0440653, -0.0052929064, -0.17684558, 0.24296668, 0.09406738, -0.034765854) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.055974524, -0.02729386, -0.08167744, 0.22531694, -0.017333092, -0.07153252, -0.06727929, -0.1133512, 0.028469894, -0.015679823, 0.0834762, 0.047915354, -0.10794529, -0.10519973, 0.64922744, 0.3440164) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.06920051, 0.21219712, -0.17762788, 0.1471426, 0.05406958, 0.0053514726, 0.021575779, -0.13939373, -0.028380929, -0.027847107, 0.053497307, -0.013014344, -0.26296037, 0.16364071, 0.24188672, -0.0063509718) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.0131874755, 0.043574467, 0.03535185, 0.032853585, -0.038923983, 0.060529564, -0.030346926, -0.0009526909, 0.00436926, 0.08046837, 0.060406864, 0.006680331, -0.12000841, 0.15016437, 0.26632604, 0.48897293) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.033514064, -0.06738859, -0.012968893, 0.02751357, 0.08441579, -0.03695041, 0.07956055, 0.15366794, 0.032722533, 0.041380964, -0.07082148, -0.052959573, -0.33346766, -0.50331694, -0.2095244, 0.054262448) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.020997878, 0.014422675, -0.13087961, 0.014882582, -0.05240696, 0.056935374, 0.09795725, -0.030672986, 0.07048674, 0.06168097, -0.022310816, -0.06722859, -0.74283427, 0.08410451, -0.14403035, -0.29033536) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.03521117, 0.118142895, -0.00726161, 0.031414963, -0.025939172, 0.002009573, 0.0110588, -0.28460506, 0.077694386, -0.059011452, -0.0036872562, 0.012884099, -0.51541626, -0.040709388, 0.04447552, -0.07987485) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.03814058, -0.04760199, -0.02700305, 0.08544459, 0.023369074, 0.004915809, -0.054034088, -0.028421447, 0.0443263, -0.026355516, -0.010056215, -0.035825133, -0.11703855, -0.069832526, -0.24104445, -0.073950574) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.018098732, 0.013704905, 0.1133674, 0.04412713, -0.07361442, 0.09365645, 0.012718531, -0.009049257, -0.025340073, 0.018135931, -0.19494182, -0.002061071, -0.03413712, 0.0007040512, -0.010645244, -0.008207909) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.033838723, -0.022498785, 0.007711611, 0.0012832687, 0.014009118, 0.08435797, 0.008202341, 0.059073262, -0.04152342, -0.02708974, -0.18229802, -0.004802321, 0.0075961393, 0.09781479, 0.06894605, 0.11107733) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.013861185, -0.087811634, 0.041258454, -0.050483946, -0.009920498, 0.035319597, 1.2286335e-05, 0.10297167, 0.01479326, 0.04035613, -0.14445129, -0.02399068, -0.1560111, 0.020937288, 0.08566862, 0.096880764) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.076691784, 0.05224252, 0.06463334, 0.023242442, 0.030325819, 0.028272672, -0.044215422, -0.06758528, 0.026336672, 0.07030837, 0.0056808535, -0.010476183, 0.059838552, 0.041539215, 0.029340776, 0.06620468) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.030305991, -0.07936912, -0.047789887, 0.06866783, 0.062147338, 0.049661256, 0.03228067, 0.06764497, -0.065919235, 0.08304244, -0.018804317, 0.028215455, 0.092014216, 0.09544994, -0.11402804, 0.023660555) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.039843164, 0.060860302, -0.11504969, 0.055434577, 0.055932686, 0.006411057, 0.06797907, -0.08785874, 0.020152723, 0.06960439, 0.018815245, 0.078055754, -0.01404437, -0.07511067, 0.02129542, -0.13894649) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.066356525, -0.0775759, 0.012709613, -0.06563699, 0.06179321, -0.092641726, -0.0025534416, -0.11037741, -0.025161093, 0.14205174, -0.006717618, -0.06597957, -0.044015322, -0.042251267, 0.0063446686, 0.040883254) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.003159712, -0.13736087, -0.02993725, -0.032971874, -0.029832099, 0.062253974, 0.04115334, 0.012469297, -0.055475395, -0.0054963627, -0.0044782986, 0.10387991, 0.05620466, 0.093795136, -0.10121794, -0.044565428) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.052741747, -0.034348555, -0.025687827, -0.022061719, -0.029136438, 0.040146545, -0.05078188, -0.027782798, 0.038713533, 0.012091828, -0.021268317, 3.6128724e-05, 0.0034925167, 0.027388655, -0.10872045, -0.093549274) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.02193932, -0.012822027, -0.047523063, 0.05462516, 0.009011104, -0.073354386, -0.12922992, 0.0150262285, -0.00053732086, 0.01369674, 0.10813449, 0.021115499, 0.04390482, 0.016575783, -0.014994648, -0.056979902) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.019170277, 0.099072754, -0.018233325, 0.051609475, 0.058348004, 0.018658498, -0.15021506, 0.056880508, 0.02809023, -0.016143002, -0.07931041, 0.15440942, -0.057271652, -0.03054734, -0.043911025, -0.038276713) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.008147103, -0.04196257, -0.057375085, 0.080293596, -0.08650824, 0.07464022, 0.059342343, -0.013514991, -0.0017009542, -0.09215389, -0.010630842, 0.07133518, 0.016978798, 0.051547363, -0.022900151, 0.03725451) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.053627398, -0.07594534, -0.08293544, 0.07062079, 0.008092155, 0.011203761, -0.049896248, -0.1095071, 0.020627553, 0.06849083, 0.023807649, 0.050426554, -0.024705023, -0.04445586, 0.028543489, 0.11714655) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.0253437, 0.11163769, -0.056022808, -0.086334206, 0.0548052, 0.05575991, 0.020656308, 0.020506606, 0.029533695, 0.08191477, 0.07643528, 0.062418755, -0.029370684, 0.06381357, 0.05412051, -0.037089135) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.051183894, -0.03757569, -0.029112045, 0.03299519, -0.025720412, 0.031985633, 0.09623768, -0.12699568, -0.039920144, -0.014619097, 0.06818959, 0.030528614, 0.0046248175, 0.07972895, 0.0017097621, -0.051464528) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.043959036, -0.23009662, -0.18270104, 0.087902606, -0.028532691, 0.061174434, -0.07020298, 0.071242146, 0.012165943, -0.11729443, 0.055243723, -0.12658738, 0.0073455935, 0.15306695, 0.01847725, -0.036773525) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.06332987, -0.04728535, -0.23360464, 0.07500628, -0.0089232735, 0.09835102, -0.016741151, 0.07327699, -0.0136921145, -0.015816888, -0.063507095, -0.04316202, 0.023014594, -0.10914005, -0.065197706, 0.039538562) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.07051828, 0.109170645, -0.08550662, -0.004776298, 0.024742745, -0.044424456, 0.06266902, 0.05564689, 0.08593459, -0.032819565, -0.043338478, -0.0046684686, -0.021086099, -0.04222097, -0.067092195, 0.057967756) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos1 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(1, 0); + imageStore(out_image, store_pos1, max(result1, V4(0.0))); + V4 result2 = V4(0.0102932025, -0.016872637, -0.003169691, 0.01035535); + result2 += M4(0.038436566, -0.08512791, 0.004339673, 0.09842734, -0.033262126, 0.02654032, -0.075260505, 0.07575426, -0.014356203, 0.15852922, -0.090657026, 0.006296348, 0.047070708, 0.019586686, 0.023525812, -0.0962133) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.19872907, 0.08625483, 0.116702214, -0.17054479, 0.0028970349, 0.10555472, -0.27063096, 0.05327625, -0.03373055, 0.20111196, -0.02417172, 0.03496838, -0.04136293, -0.07466215, 0.095720924, -0.015632864) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.008374931, -0.14173995, 0.0022480914, 0.050477024, 0.046393193, 0.039269555, 0.13201414, 0.101128995, 0.047907144, 0.058423255, 0.12498084, 0.15058988, -0.048830826, -0.062268846, 0.010936774, -0.07372181) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.112753555, -0.10063212, 0.023306943, -0.1954272, -0.0024644032, -0.08882114, 0.4429248, 0.045186307, 0.02964832, -0.08449549, 0.03277133, 0.007311968, 0.009453563, 0.09974951, 0.016108891, -0.032179564) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.10669576, 0.14344154, -0.11711736, -0.046523146, 0.05932392, -0.13387178, -0.00028596108, 0.049812097, 0.09982752, -0.18304667, -0.031258404, 0.036160044, 0.022425203, 0.018642949, -0.066576414, -0.07888162) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.04064275, -0.27184048, -0.024960717, 0.14244938, -0.07044915, 0.055797875, -0.52521235, 0.17480679, 0.032233015, -0.09975703, -0.13259786, 0.17486903, 0.016814435, 0.064331636, -0.0026589786, -0.14208914) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.27433497, 0.17472564, -0.12036747, 0.022946425, 0.0040909215, 0.007094669, -0.03019933, 0.030576253, -0.04390153, -0.14853579, -0.07543346, 0.020188756, -0.013806313, 0.023557309, -0.09423453, 0.02147953) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.181797, 0.13379341, -0.2832532, -0.17646243, 0.084766895, -0.080704495, -0.5911435, 0.103994444, 0.04387691, 0.067191675, -0.09801248, -0.012975976, 0.050375447, -0.027577884, -0.026709937, 0.0012420831) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.06778531, -0.20722494, -0.21393287, 0.013781556, 0.14178617, -0.19631566, -0.4015847, 0.13992907, -0.05431584, -0.06281534, -0.23505583, 0.074036844, 0.0020055538, 0.022703046, 0.14421001, -0.01810498) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.015352279, 0.060496587, 0.092507616, 0.017952317, 0.10531777, -0.010543484, 0.063774586, -0.14915013, 0.10773597, -0.058030672, -0.11852347, 0.027841676, 0.01740626, -0.05636895, 0.09594972, -0.01946828) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.11770859, 0.08592794, -0.0752219, 0.013500635, -0.009520548, -0.072118394, 0.092815585, -0.12400817, -0.15295558, 0.24206327, -0.08984538, 0.124470346, 0.05235887, -0.054060034, 0.08742749, -0.06007786) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.093583226, -0.022560887, -0.06824664, -0.07133742, 0.09551432, 0.009690677, 0.07135554, -0.028927475, 0.0074561117, -0.060570728, 0.13366985, 0.13396743, -0.14657004, -0.060656056, 0.04517194, -0.037952352) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.00019230878, 0.052784175, 0.1309262, -0.066142745, -0.06477744, 0.090797916, -0.19412965, 0.024527637, 0.11954954, 0.21313839, 0.28447026, -0.08316091, 0.01588293, -0.023936806, 0.017393047, -0.029170873) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.045616828, -0.12090421, 0.11151787, 0.06230041, -0.0033326112, -0.056190014, 0.11498565, -0.05439721, 0.16014022, -0.01738808, 0.0022950938, 0.035964336, 0.0026112283, 0.090370126, 0.04855141, 0.027992139) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.034891196, -0.03574627, 0.027517471, -0.056426972, 0.011956307, 0.013198277, -0.34737143, -0.01976567, 0.0830579, -0.0100226095, 0.14323045, -0.09168779, 0.005296248, 0.044712007, 0.11500597, 0.103682324) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.008656309, 0.082859464, -0.11422552, 0.002834319, 0.0989221, -0.01567809, -0.039741844, 0.066015616, 0.045652866, 0.09474033, 0.22074726, -0.09310809, -0.06197577, 0.0034248813, 0.001941734, -0.051574443) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.018885199, -0.18505983, -0.06257531, 0.05206431, -0.019649072, 0.01953629, 0.014135476, -0.07915282, 0.008791792, 0.110373735, -0.32844788, 0.16660698, -0.10577062, -0.057653308, -0.115892164, 0.011086274) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.03784607, 0.022533193, -0.053525362, -0.048276614, -0.011195153, 0.026045162, -0.10399662, -0.023260226, 0.08476679, -0.10535599, -0.30735326, -0.055628445, -0.060028102, 0.034853008, -0.056184, -0.083230115) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.06760786, 0.16179302, -0.118864946, -0.034298413, -0.049755417, 0.043124072, 0.25422427, 0.012247339, 0.005825049, -0.058031347, 0.04185984, -0.008767722, -0.022682743, 0.055060845, 0.07432099, -0.026758477) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.03671346, 0.24082515, 0.31776464, -0.11949707, -0.12781343, 0.06720598, 0.073798455, -0.06606062, -0.05825967, 0.054210808, 0.1039934, 0.17075765, 0.05385945, -0.092671126, 0.13634287, -0.06547265) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.10002236, -0.09289105, -0.1750595, 0.017257025, -0.04493247, 0.1408271, -0.069975294, 0.020198068, 0.046180718, -0.17173108, -0.04980055, 0.028744346, -0.03193435, -0.0023842084, -0.036552504, -0.001482784) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.015841138, -0.06837806, 0.07714096, -0.11363247, -0.0055072014, -0.012350458, 0.07332677, 0.04667852, 0.04378284, 0.104695976, 0.11022535, 0.0188256, 0.09636939, -0.09210068, 0.017602984, 0.083510995) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.055630315, -0.015418918, -0.45787054, 0.06243029, -0.043179344, 0.049424123, -0.039964218, 0.0010888253, -0.08222683, -0.107776105, 0.19656059, 0.06365014, 0.0598147, 0.017306158, -0.06394163, -0.04326622) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.21412842, -0.11010432, -0.43835136, -0.18818177, -0.0142450705, -0.09189092, 0.019128043, 0.09999981, -0.021642478, -0.02316909, 0.097123414, 0.058954697, -0.031292256, 0.04103063, -0.05887264, 0.05350077) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.11024992, -0.07412409, -0.22186321, -0.032255672, 0.02559088, 0.051890284, -0.12523603, -0.02233625, -0.020445233, 0.028723149, -0.09130667, -0.03274198, -0.09089258, 0.07206191, -0.19203721, -0.07408743) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.001041941, 0.11271334, -0.024774585, 0.08025154, 0.06622964, -0.0787396, -0.07239129, -0.04297541, -0.009916974, -0.00023384744, 0.041440386, 0.040175464, 0.036225393, 0.18640225, -0.2673015, -0.051663592) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.1364139, 0.005123496, -0.035877466, -0.008553494, -0.017431224, -0.008453461, -0.20078611, 0.0117227975, -0.086602874, 0.105799235, -0.15483473, -0.00891134, -0.011340127, 0.026145222, 0.030248864, 0.06156444) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.053950526, 0.1763199, -0.096226424, 0.019539474, -0.084666, 0.0570082, 0.03784466, 0.074179165, -0.018736616, 0.05449927, -0.2547008, -0.04102699, 0.0017552393, -0.029828632, -0.091094196, 0.058404624) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.009414969, 0.10637441, 0.009950074, 0.016101075, -0.09520018, -0.04036803, 0.061013084, -0.027367057, -0.091663584, 0.11467181, 0.06463298, -0.0427656, -0.024823729, -0.12846106, -0.23350102, -0.05436409) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.0033072068, 0.0734535, -0.018544026, 0.09311907, 0.04576039, 0.04276625, 0.033969123, 0.011789976, 0.014353016, 0.031544838, 0.13360602, 0.05744321, 0.11423754, -0.0031193208, -0.047385346, 0.06413874) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.06941058, -0.18033704, -0.07863076, -0.008833946, -0.0054664505, 0.0696076, -0.047601327, 0.0018578348, -0.0620215, 0.09904048, -0.020699257, -0.11007639, -0.028059557, -0.121822394, 0.070102885, -0.04994039) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.017573103, 0.007679572, 0.026391247, -0.07140823, -0.08884767, 0.06557619, 0.007466384, -0.0072667343, -0.052095298, -0.06172468, 0.26702762, -0.18441689, -0.09234244, -0.06163663, 0.067234576, -0.117673665) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.032265406, 0.116357826, -0.023417607, 0.02672593, 0.040108383, -0.02738228, -0.054578163, 0.05454198, 0.040966887, 0.010791084, -0.033974644, -0.0786729, 0.06342873, -0.019063843, 0.051141724, 0.0069184983) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.07889718, -0.07952128, -0.094684176, 0.022913521, -0.009632588, -0.059502617, -0.026889572, -0.08062059, 0.08303738, -0.05446329, -0.06300248, -0.044137094, 0.06444689, 0.13780734, 0.21234609, -0.017626805) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.034006935, -0.08940642, -0.06272829, 0.04411658, 0.01798195, -0.104893796, 0.019006882, 0.06116671, -0.18644714, 0.17860366, -0.26413506, -0.02458007, 0.029075824, 0.06940631, -0.13286953, -0.08503223) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.045879576, -0.1087109, -0.107159376, -0.094712116, 0.030352993, -0.19299898, -0.18308118, 0.010863185, 0.02918216, 0.056017328, -0.18417405, 0.020459736, 0.07628103, 0.07029216, -0.4088816, -0.021462254) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.054681033, -0.08866085, -0.071540125, 0.03984152, -0.031823557, 0.36911505, -0.22409001, 0.02752617, -0.05400007, -0.019800322, -0.062325355, -0.067619726, -0.06782346, -0.16322389, -0.1117041, -0.07872052) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.046901528, 0.06896929, 0.13946067, -0.0062405067, -0.0047559617, 0.05723938, 0.19492902, 0.009900525, -0.13558947, -0.024676166, -0.065283656, 0.013416491, 0.0101868, 0.004186771, -0.029699646, -0.045889378) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.084060974, 0.0016211019, -0.040410023, -0.0783535, -0.005206962, -0.07968763, -0.006465683, -0.009126374, -0.047315862, 0.041601934, -0.12024455, -0.035002925, -0.028280394, -0.0810851, -0.034790147, -0.013771664) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.021242226, 0.095532194, 0.076721765, -0.026553733, 0.031585578, -0.12667543, -0.069441915, 0.008807565, -0.044141836, -0.037165217, 0.041965358, -0.11623221, 0.07892406, -0.09533872, 0.058022056, 0.00077833893) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.05742083, 0.110277995, 0.058405433, -0.055889264, 0.06458655, -0.055901818, -0.77792925, -0.088611074, -0.027649742, -0.10273671, 0.10163885, -0.009994354, -0.08487444, 0.030386612, 0.007014902, -0.04833746) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.002424757, -0.029553069, -0.07197424, -0.024408944, -0.04883749, -0.024681265, -0.08422193, -0.015338752, -0.03673912, -0.10462448, 0.039489694, -0.03923748, -0.046972524, 0.035760894, -0.032794204, -0.0107256705) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.0070809056, -0.047797758, -0.13858901, 0.108376324, 0.013058967, -0.024047606, -0.26500574, 0.16478828, -0.043381702, -0.07984513, 0.12342754, -0.04828717, -0.0432947, 0.1852055, 0.059879538, 0.027911406) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.03838499, 0.07789943, 0.020304423, 0.011777649, -0.17935899, 0.030462299, -0.16097908, 0.05198708, -0.17859733, -0.051735587, 0.055896256, 0.00494307, -0.0010397424, 0.033436816, 0.061873015, 0.031221524) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0318674, -0.08059559, -0.033897895, -0.0039172093, -0.087237015, -0.21547756, -0.11164707, -0.024446458, 0.009270226, 0.032253712, 0.03986306, -0.038591385, -0.031743154, 0.040938154, 0.09550822, -0.06298452) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.13017938, -0.15028317, -0.12969221, -0.1043039, -0.012920603, 0.04569196, 0.04435078, 0.040591054, 0.03944431, 0.026448384, 0.10263269, 0.10542558, -0.02842415, 0.04965194, 0.0634247, -0.0357331) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.14624007, -0.047458347, 0.2685088, -0.022711262, -0.06850198, 0.04913833, 0.010421702, 0.04611434, 0.048958287, 0.026491787, 0.06559385, -0.0034263341, -0.059245735, 0.30079526, -0.14259365, 0.0017579381) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.115300976, 0.17536932, -0.009892438, -0.068190575, 0.06792405, -0.086249694, 0.11960104, 0.12190239, 0.053113792, -0.034242418, 0.0751862, -0.04331498, -0.38313526, 0.21867825, -0.061861128, 0.23064874) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.0840936, 0.11634695, -0.0430927, 0.056506198, 0.034981772, -0.03422949, -0.013373497, 0.023914328, -0.10709244, 0.03822539, 0.028850893, -0.04460132, 0.14481448, 0.140083, -0.57125807, 0.2933987) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.05351227, 0.150712, 0.017380076, 0.11412461, -0.017745247, 0.08473363, 0.058622714, -0.008154244, 0.1020304, -0.021647712, 0.049595736, -0.02396736, 0.47079638, 0.0974281, 0.059246197, 0.054357376) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.022625217, 0.011287094, 0.052335873, -0.07860558, 0.022489201, -0.019969516, 0.05445085, 0.05752353, -0.046792224, 0.08552776, -0.07650753, 0.05570578, -0.08373085, 0.52198946, 0.06233925, 0.112970755) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.02412142, -0.13709944, 0.31732944, 0.07237704, 0.08689409, 0.007899531, 0.18332665, -0.015826361, -0.11312801, -0.016447818, -0.0113938395, -0.014441074, -0.029608294, 0.03684169, -0.019402063, -0.06982171) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.014929913, -0.024197336, 0.19757926, 0.010481152, 0.06688258, 0.05659993, 0.20386209, -0.0028658465, 0.008939656, -0.043802857, -0.13143091, -0.034888577, 0.15854679, -0.119875796, 0.26592213, -0.04812516) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.05149029, -0.053902835, 0.019250399, 0.025507912, -0.069421805, 0.033471353, 0.25625825, 0.027726457, 0.06372428, -0.041288726, -0.08282182, 0.076339826, 0.2184976, 0.27349892, 0.3503637, -0.049747977) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.029718706, -0.04287497, -0.05499922, 0.027714657, 0.022354372, -0.063758135, 0.11159636, -0.043364897, -0.0072996947, -0.09038369, 0.100911036, -0.016543537, 0.049721666, 0.02941606, -0.11691966, 0.020610567) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.098099194, 0.085279696, -0.048809852, 0.06709965, -0.007815398, -0.0685144, -0.010666763, -0.0010941268, -0.07402356, -0.012661744, -0.04236838, 0.016732441, 0.021211972, 0.16894662, -0.12524271, 0.09203761) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.0108954655, 0.06299382, 0.14573206, 0.069583654, -0.12601423, -0.037525725, -0.07272767, -0.074798755, 0.01847171, 0.05237007, -0.016999833, -0.043488294, 0.018724574, -0.12385603, 0.19301042, -0.031394072) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.052354407, 0.15061304, -0.18920131, 0.10281557, -0.017736316, 0.13217326, 0.117505915, -0.06925163, -0.14126766, -0.047876824, -0.014937355, 0.087846965, -0.03431368, -0.08010721, 0.06716881, 0.02613869) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.092874885, 0.077539764, -0.11579568, 0.112091705, 0.13014455, 0.032826997, 0.026774347, -0.05526162, 0.056351658, -0.05233546, -0.12484103, -0.07006318, -0.022882864, -0.022387967, 0.014668696, 0.042093206) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.14906292, 0.015874192, 0.23521465, 0.005111183, -0.044189412, -0.015792584, 0.086519666, 0.022522233, 0.07542121, -0.011393279, -0.10339653, 0.039397072, -0.006078826, -0.0051247934, 0.09563044, 0.014480886) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.11678447, 1.7845294e-05, 0.10215003, 0.054540224, -0.033635076, 0.08703893, -0.030217022, 0.057368334, 0.015123244, -0.090717144, -0.038291443, -0.033875953, 0.017875887, -0.034699716, -0.23149264, 0.033104595) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.16173868, 0.054690953, -0.27940604, 0.0047899815, -0.004138031, -0.069766276, -0.47151655, 0.049226787, 0.030922275, 0.009528747, 0.028003275, 0.026640084, 0.08556254, -0.042903446, -0.40969568, 0.035925705) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.13201301, -0.054580696, -0.006346402, 0.1451841, 0.030837325, 0.07512436, -0.0027708053, -0.046877913, 0.009670716, 0.052719254, 0.034868006, 0.07024189, 0.028265422, 0.011575719, -0.4945715, -0.006348062) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.055183977, 0.008108826, -0.0055430657, 0.007228498, 0.028702632, -0.032405503, 0.11343111, 0.07021433, 0.05335073, -0.0015234221, 0.09255652, 0.022943944, -0.100583695, -0.07290064, 7.688624e-05, 0.06272483) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.04426916, 0.030913018, 0.07948671, 0.00743949, 0.011443533, -0.01719291, -0.047537826, 0.01075883, 0.07705052, 0.039794687, 0.16261083, 0.060550287, -0.02253408, -0.020008467, -0.11067305, -0.056968395) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.031702846, -0.033104785, -0.061263345, 0.07537538, 0.062372822, 0.021449557, -0.011025019, -0.014938684, -0.0065337894, -0.023644093, -0.0017999671, -0.031946063, -0.01795196, 0.08560266, -0.2530871, 0.027840102) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.002481655, 0.07546714, 0.014729231, 0.024397815, -0.009094325, 0.0103306, 0.04763772, 0.08322696, 0.07387954, 0.10279547, -0.03245113, -0.002073921, -0.08167011, -0.09827524, 0.045025956, -0.0037467072) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.064866476, 0.06989372, 0.112723716, -0.030047975, -0.020748861, -0.15807103, -0.033446215, 0.041312814, 0.0111960545, 0.09730004, -0.19074617, 0.036935627, 0.123753704, -0.032847974, -0.056477804, 0.048730224) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.07160658, 0.05772131, -0.04459135, 0.05553974, -0.055918027, -0.04404882, -0.13207902, -0.064291656, -0.008771594, 0.089713916, -0.035394825, -0.02762624, 0.099857934, 0.01776644, -0.014588838, -0.037571955) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.040910184, -0.04285425, 0.04800403, -0.043808937, -0.05812583, -0.019329973, 0.051248714, 0.023578288, 0.027072849, -0.06670806, 0.16749991, -0.0021904965, -0.029356312, 0.015223641, -0.09639004, 0.036017366) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.02015595, -0.012078545, -0.23260634, -0.05448767, 0.052733894, -0.059069306, -0.11905436, 0.07345789, -0.014847146, -0.03260874, 0.20743726, 0.095189616, -0.046952035, 0.1814644, -0.25117528, -0.003667681) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.00021565598, 0.081821695, -0.12632315, 0.015384286, -0.08942369, 0.042021208, -0.123727426, 0.04400622, 0.036081724, -0.0863829, 0.032079972, 0.015811784, 0.018077271, 0.07557113, -0.02223882, -0.071249254) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos2 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(2, 0); + imageStore(out_image, store_pos2, max(result2, V4(0.0))); + V4 result3 = V4(0.0024439683, 0.019512722, -0.0017031707, -0.0012694178); + result3 += M4(-0.0755665, -0.010767762, 0.055436224, -0.04694176, -0.047075167, -0.0043572793, -0.001817404, 0.0072529884, 0.08081653, -0.09721457, -0.060728904, 0.049476348, -0.11415875, 0.057030857, 0.0712053, 0.078845665) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.05738836, 0.05976088, 0.092685364, -0.028193692, -0.17001967, 0.20816772, 0.120990075, -0.007158994, 0.056702163, 0.04631052, -0.07533091, -0.070604056, -0.026277382, -0.059989728, 0.051547613, 0.013595435) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.06124998, -0.073344715, 0.10531479, 0.0072710454, 0.1053132, 0.014310009, 0.15152456, -0.33350325, -0.040441, 0.08732096, 0.12121553, -0.04351983, -0.34424537, -0.08237802, -0.04820149, 0.104876064) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.10690648, 0.1040207, 0.42536393, -0.02857954, 0.10327315, -0.10828661, 0.056875154, -0.04070055, -0.105949454, -0.15033953, -0.017957356, 0.055889588, -0.035868034, 0.12281235, -0.007860114, -0.12691148) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.10746047, 0.21269843, 0.07394864, -0.052784573, 0.05265619, 0.0049780393, 0.13293569, 0.03263521, -0.01988503, -0.023654295, 0.049924407, 0.09036715, -0.0032699164, 0.01494379, -0.021433448, -0.08484771) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.12985334, -0.1239503, -0.013680318, -0.0792712, 0.0970818, -0.047295943, 0.00760885, -0.063083656, -0.07301688, 0.00018367458, 0.06973737, 0.06990518, -0.16313145, 0.060273055, -0.077587195, -0.008858535) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.22075438, -0.23375578, -0.034441438, 0.15279879, -0.008461356, -0.068064116, 0.06361679, 0.04007657, -0.029563876, -0.23421589, 0.033800963, -0.005407339, -0.009484908, 0.21535683, 0.018031906, 0.09134295) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.15496482, -0.1670199, 0.13773978, -0.011931154, -0.081279315, -0.039608255, 0.12453239, 0.1276813, 0.12836005, -0.119373515, -0.07643012, 0.047119588, -0.044818427, 0.033321, -0.012663483, -0.096910894) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.09907172, -0.10371382, 0.07232907, 0.14814718, 0.09651088, -0.00896925, 0.38838813, 0.1020086, -0.025031932, -0.053150542, -0.09183183, 0.11867624, -0.085193805, -0.025020966, -0.10029541, -0.041201092) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.020531971, 0.003417111, -0.06271279, -0.026634505, 0.034578327, 0.116674714, 0.1338508, -0.043152682, -0.063085996, -0.08629137, -0.30712903, -0.19289695, -0.015535322, -0.059583306, 0.022363232, 0.019661924) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.2312567, 0.04472869, 0.047561467, -0.001165244, -0.090071805, -0.09977217, -0.14993055, 0.09835359, 0.5361882, 0.08246859, -0.2542734, 0.07926661, 0.13084325, 0.04182162, 0.02620155, 0.12630318) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.19702242, 0.0123242475, 0.02225153, 0.05970897, -0.09496017, -0.033168968, -0.073019445, 0.056048878, -0.09128233, -0.003583779, -0.28197548, -0.15372555, -0.1464209, 0.0072798394, -0.08799655, -0.02232909) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.12949315, -0.035099898, -0.07566216, -0.058953226, -0.0025877068, 0.040030077, -0.05455067, -0.07908828, -0.04570407, 0.15088113, -0.123145096, 0.029668903, -0.084556095, -0.15080957, -0.059207734, 0.098784216) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.08652007, 0.058674663, -0.052215375, -0.04389989, 0.12918212, 0.014265353, -0.6840957, 0.013137876, -0.15455137, -0.003828631, 0.12784281, 0.26304543, -0.0073065436, 0.009438248, 0.080665395, -0.07291442) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.06896193, 0.07143689, 0.1422291, 0.04181201, 0.001588767, 0.11281226, 0.09135195, -0.065576285, 0.122171864, 0.1318298, -0.077025734, -0.02181093, 0.09893512, -0.010643976, 0.018618178, -0.025533177) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.0033217645, 0.048242938, 0.007789171, -0.082099415, 0.03558746, 0.06314407, -0.056198932, -0.028400503, 0.08119814, 0.09878029, 0.041178416, -0.11889988, -0.0024851244, -0.17679428, 0.041961703, -0.068025514) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.0414067, 0.046838965, 0.08298999, 0.040345658, -0.013488099, -0.08501191, -0.16345388, -0.00809286, -0.19034596, -0.053509835, 0.05253413, -0.017114468, -0.04019475, -0.042864673, 0.01864118, -0.10810199) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.021295222, -0.11360314, 0.068448946, 0.08234188, -0.09933013, -0.047439717, 0.21397483, 0.06526395, -0.18744828, 0.009623302, -0.05668153, 0.03902404, -0.03295589, 0.007627956, 0.08348739, 0.02719745) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.007202448, 0.13217683, -0.20591357, -0.06760821, 0.006883325, -0.015309343, 0.12440693, -0.042088218, -0.045229033, -0.08867684, -0.12499356, -0.042065054, -0.053311203, 0.070153594, 0.0059397817, 0.04975014) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.08103529, -0.059842322, 0.17915952, 0.01716584, -0.29613575, 0.002817081, -0.14583613, 0.14410678, -0.24759628, 0.05586338, 0.03710151, -0.03472621, 0.07924083, 0.0081458865, 0.0547831, -0.15772095) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.23306684, 0.16401912, 0.09020467, -0.28693134, -0.6724793, 0.066790774, 0.023735281, -0.007003017, 0.049031097, 0.03963651, 0.07285127, 0.0075524817, -0.13088937, -0.10189472, -0.00873083, 0.033901755) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.14389843, -0.21984327, 0.16881073, 0.060216684, 0.09248231, -0.06876036, -0.080689624, 0.085479446, 0.033865023, -0.19477972, -0.2254114, -0.12901028, 0.056992505, 0.03229492, -0.052367352, -0.1011957) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.041014213, 0.06414788, 0.1769779, -0.11133373, 0.14965421, 0.10756031, -0.06620285, -0.106946975, -0.02840453, 0.08588292, 0.014530447, 0.081375055, -0.0084445225, -0.0732982, 0.053738277, 0.05394488) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.11953167, -0.107447095, -0.18017976, -0.09817557, -0.005222679, -0.0023724285, 0.093004026, 0.077160016, 0.017014522, 0.030270675, 0.107690334, -0.013702926, -0.052474156, 0.029904017, -0.06740597, -0.0063054548) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.03222448, -0.116979755, 0.21846302, 0.033012155, 0.028815705, 0.005029473, -0.07782633, 0.13594444, 0.014946897, -0.18546651, 0.036180645, 0.10938664, 0.024460908, 0.014264258, -0.13222307, 0.060258362) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.18393159, -0.16223755, 0.019884955, 0.11466061, -0.06469925, 0.06298804, 0.065657936, -0.041585248, -0.015433575, 0.006396151, 0.051895544, 0.15913105, 0.035573557, 0.0112305125, -0.21006528, -0.14250156) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.12663561, -0.095338255, -0.27946192, 0.02128321, -0.015194996, -0.07424352, 0.0959711, -0.19865943, -0.0059690904, 0.010486325, -0.020028856, 0.049172428, 0.12706377, 0.089994945, -0.02050076, 0.016622454) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.16857249, -0.037597917, 0.07742342, 0.030571638, -0.023085024, 0.108294815, 0.0020563721, -0.16843162, 0.1940619, -0.038644567, -0.031065365, -0.031824686, -0.13863023, -0.09413081, -0.21634237, 0.005069632) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.071961254, 0.048660826, 0.003649672, 0.0041155433, 0.15588227, -0.003964211, -0.031496424, -0.13976167, 0.1348135, -0.014731528, -0.103237726, 0.06393336, -0.3921075, -0.040925644, -0.15429476, 0.05519343) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.2789682, -0.03876892, 0.004851156, 0.005884823, -0.295854, -0.017191578, 0.19521075, -0.050100856, 0.073072284, -0.026844824, -0.022000458, 0.1420966, 0.14169234, -0.048588675, 0.07816756, -0.14076613) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.122832805, 0.012236243, 0.050668143, 0.039283488, 0.058716517, -0.01600305, 0.083131276, 0.24574642, -0.025857331, 0.0019925402, -0.08911686, -0.081346475, -0.030862058, -0.060055602, -0.1984402, 0.0041727647) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.005388854, -0.114639916, -0.04320431, -0.089311145, -0.07839241, 0.13670197, -0.054919824, 0.02102149, -0.12674206, 0.033966072, 0.050575938, 0.13005514, -0.25133058, -0.0015197633, -0.09158423, -0.08844042) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.21123745, 0.027254503, -0.058604237, 0.013037119, -0.19768924, -0.059738252, 0.08380492, 0.10435337, 0.0574057, -0.03689418, -0.09467587, -0.043601684, -0.19093706, -0.02790387, -0.05952948, -0.034295857) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.0071436097, 0.11574013, 0.060556002, -0.080021575, 0.08051304, -0.03420034, -0.043683983, 0.065953225, 0.0021009473, 0.16505803, -0.14622526, 0.027051687, 0.02541142, 0.06914079, -0.08346833, 0.021384742) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.042509437, 0.051471695, -0.031550463, 0.020208752, -0.1532882, 0.0735304, -0.13705751, 0.036970675, 0.0014278181, 0.013171242, -0.024068939, -0.13215396, -0.05730145, 0.08016198, -0.025662752, -0.08587131) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.053934578, -0.032039557, -0.08051518, 0.045982424, -0.02374054, -0.019693382, -0.0018277743, -0.054029062, 0.003635964, 0.0011593592, -0.23755905, -0.13920304, 0.10378742, 0.046343777, -0.03676633, 0.00029489657) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.024636649, -0.0050299168, -0.045951765, -0.015959144, 0.09754773, 0.038934726, -0.020529168, 0.1835107, -0.2682421, 0.120696574, 0.2547401, -0.046953455, -0.122591235, -0.045921985, -0.0788604, -0.084564805) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.068304345, 0.014219705, 0.08588209, -0.0026573436, 0.118838266, -0.018982885, 0.0040614977, 0.11576602, 0.1771048, -0.065772265, -0.18259129, 0.018668506, -0.1834852, -0.049977392, -0.019376962, -0.013116242) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.007433511, -0.072783045, -0.0015766305, -0.024139449, -0.14172974, -0.03989491, 0.13044003, 0.06024233, -0.10525412, 0.055659037, -0.16240607, 0.10685218, 0.05940427, -0.023129867, -0.041884053, -0.064597346) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.097018816, 0.015014841, -0.050692502, 0.008738501, 0.15295647, 0.13415022, -0.223551, -0.09744734, 0.003795122, 0.40313143, -0.016447736, -0.056280997, 0.15410438, 0.13452205, -0.0062764366, 0.052659895) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.010855988, 0.044013537, -0.06094396, -0.048137426, 0.104607746, -0.0024068598, 0.1186706, 0.25432938, 0.057422172, 0.20411257, -0.023333695, 0.026398387, 0.045977987, -0.00094959117, 0.07878928, -0.016947972) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.007007899, -0.050020028, -0.046062745, -0.014958813, -0.07886487, 0.09337535, 0.07459256, -0.11843755, -0.14981216, -0.04115025, 0.059739992, -0.012895023, -0.1760281, -0.0033726224, 0.10114601, -0.10764131) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.001543158, -0.03858369, 0.03223673, 0.23258542, 0.09270506, 0.21240467, 0.054657448, 0.07336189, 0.006422203, 0.07833568, 0.16573226, 0.07108642, -0.008766004, 0.06512272, -0.03302987, -0.02797947) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.028022608, 0.0091044875, 0.0693305, 0.036662105, 0.21939704, 0.09218265, 0.02815152, 0.080356784, 0.010097972, 0.014943017, -0.007905883, 0.023862928, 0.048917048, 0.05729722, 0.0831082, 0.027399562) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.016011842, 0.022446735, -0.030658402, -0.12109176, 0.2237893, 0.06832034, 0.45354044, 0.18180805, 0.092650905, 0.07694227, -0.01966955, 0.0071359747, 0.100516014, -0.052199617, 0.012800805, -0.004914216) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.70420843, 0.049872197, -0.32068816, 0.21067978, -0.097715795, 0.049278945, -0.20103611, 0.16204827, -0.04437204, 0.03827814, 0.10795599, 0.03625148, 0.15626086, 0.07956924, -0.13841249, -0.15183163) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.10603938, -0.023183042, -0.0703821, -0.097909056, -0.33578274, 0.04284628, 0.14117248, -0.043745175, -0.29291993, -0.10379433, 0.023772636, 0.0075242743, -0.06929925, 0.02719831, 0.056759175, 0.022659646) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.26435935, 0.07137349, 0.2677273, 0.098405726, -0.07243768, -0.0020089615, -0.06029423, 0.12582591, -0.023645217, 0.06234697, -0.025832402, 0.060587738, 0.27004024, -0.39305025, -0.35211402, -0.3143628) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.22176567, -0.36387423, 0.08885875, -0.23369165, 0.10150541, 0.29871333, -0.114403024, 0.08586904, 0.03220077, 0.064664334, -0.09037718, -0.06359386, 0.22512738, -0.85143787, -0.14568345, -0.11754462) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.008134418, -0.057227816, 0.027406456, -0.047872737, -0.20540428, -0.025693793, -0.80253905, 0.061462972, 0.17591229, -0.059937846, 0.0030434378, -0.03135271, -0.123737805, -0.06955517, -0.16047724, 0.45599505) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.16122521, -0.0011409809, 0.05400998, 0.30436337, -0.09920399, 0.107894726, -0.10408273, -0.06549424, 0.062139172, 0.033892598, 0.005394248, -0.10185457, 0.2912035, 0.37464246, -0.16884226, -0.06057401) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.0076620826, -0.116041966, -0.017775308, 0.035007324, 0.012062985, -0.13155538, 0.16888653, -0.111066975, 0.07491745, -0.010682586, 0.007857368, 0.10825727, -0.234603, -1.0054199, -0.69815296, 0.2682789) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.006713288, 0.032715194, 0.018587004, 0.059641127, -0.04432385, 0.085524224, -0.23894891, -0.05955936, -0.07414165, 0.03214713, -0.027972925, 0.05283895, -0.11153182, -0.51201504, 0.35653988, 0.69038427) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.003504616, -0.0320271, 0.08336806, -0.09650968, 0.011554334, 0.05019464, 0.20794, 0.02657595, -0.070389666, 0.02183665, -0.05972918, 0.040903334, 0.009742165, -0.115499124, 0.06477195, 0.056922458) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.25093523, -0.055817563, -0.071116306, -0.16897827, -0.11863586, 0.15599102, -0.06029875, 0.1263819, -0.13760826, -0.0054466184, -0.002932313, 0.0053629414, 0.14658342, 0.053537138, 0.0017918563, -0.019407671) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.1074455, -0.016125906, 0.027174877, -0.18975352, 0.18853614, -0.034198694, 0.07653115, -0.032357547, 0.13137315, 0.03198201, 0.07638485, -0.14256744, -0.36499456, -0.064068854, -0.20631799, -0.06414473) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.091646165, 0.013261934, 0.035274845, -0.117947206, 0.15341647, -0.013329101, -0.04925649, -0.07097705, -0.010345142, 0.06638922, -0.064822145, 0.09345621, 0.24898607, 0.010249419, -0.016478278, -0.28960562) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.01486177, -0.53537595, 0.019208675, 0.037433214, 0.0014182061, -0.030560805, -0.009765784, -0.015005433, 0.072008796, 0.02388473, 0.022536224, -0.05405137, 0.0026045174, -0.10544653, 0.15891246, 0.018642334) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.09698006, -0.05968244, 0.026128316, -0.009682552, 0.057604793, -0.048273493, 0.032746293, 0.06241507, 0.013164028, -0.033157814, 0.006640909, -0.01614499, 0.039440557, 0.023229472, -0.020834753, -0.029184517) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.06648768, -0.0055227857, -0.052750997, -0.01728543, -0.2104077, 0.09172078, -0.032991536, -0.051767997, 0.028667826, 0.04694706, -0.014961463, -0.04469655, 0.01697386, -0.012298738, 0.08855067, -0.026439272) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.025899082, -0.33124217, -0.004791511, 0.11266002, -0.02788441, -0.017265026, -0.0074089025, -0.071291156, -0.010410942, -0.20238537, 0.11815937, 0.053709008, 0.030767575, -0.14854033, 0.13379943, 0.03124216) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.07625441, -0.0068399543, 0.068905324, 0.07524653, 0.0059102345, 0.04919539, 0.14159401, -0.07741384, 0.01246916, -0.1787227, -0.028668359, 0.028185396, 0.03936493, -0.032654613, -0.010547529, 0.108062826) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.05788978, -0.040923703, -0.08983489, -0.0700707, -0.029388174, -0.044662975, -0.2768775, 0.18378432, 0.0047585615, -0.031726785, -0.115120776, -0.1087724, -0.01060561, -0.017682848, -0.010049431, -0.0027243758) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.07863563, 0.099396795, 0.0033690445, 0.014833077, -0.028895052, -0.016868336, -0.025975892, 0.04448299, 0.03818873, 0.087971844, -0.12963657, -0.097560205, -0.13973372, -0.034005467, -0.014492949, -0.0806148) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.0998561, 0.012295841, -0.0059086806, -0.28133255, -0.01579424, -0.015869725, 0.054684054, -0.0025523447, -0.11054835, -0.02036454, 0.0874946, -0.015267015, -0.15166879, -0.029671937, 0.05825089, -0.08996526) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.2644526, 0.00037119797, 0.037712757, -0.13570064, -0.011705836, -0.053835057, -0.06546043, -0.003904192, -0.058295902, -0.011014905, 0.036608826, -0.09316759, -0.05192918, -0.056275994, -0.025871113, -0.029993916) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.20437467, -0.009838396, -0.12326762, -0.008826467, 0.10445204, -0.1766781, -0.0047602938, -0.040478457, 0.028650427, -0.012216731, -0.09486806, 0.047554187, -0.09035074, -0.0061642337, 0.07412471, 0.042262223) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.4627154, -0.096632354, 0.030329397, -0.21625616, -0.011286863, -0.009264482, 0.03777131, -0.065025486, 0.00558388, 0.08576623, 0.08980313, -0.009367564, 0.01609784, 0.0063253394, 0.03792126, 0.0018586838) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.40199944, -0.011124172, 0.06254554, 0.08350746, -0.1005274, 0.119913734, -0.05070139, 0.13164969, 0.04593655, -0.011362191, -0.029268637, 0.099412136, -0.064908616, 0.0038163015, -0.1178298, -0.061717547) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.0051836562, -0.114454456, -0.1145857, 0.08821922, -0.01587761, -0.153387, 0.11834224, -0.010078264, -0.04602583, 0.13094519, -0.06641285, -0.004716112, 0.04861025, 0.03475349, 0.07663966, 0.06839736) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.14684974, -0.010885488, 0.07722289, 0.13635775, 0.07632183, 0.017249947, 0.1170382, -0.04072057, -0.026988951, 0.04552819, 0.087141216, 0.04121242, 0.08908037, -0.01440492, -0.06261672, -0.006765471) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.023216741, 0.037553933, -0.021615116, -0.02959753, 0.019916674, 0.015616843, -0.059720352, 0.07283618, 0.17728907, -0.040844448, 0.020347655, -0.04245515, 0.02999219, 0.05087262, -0.19879507, 0.150642) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos3 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(3, 0); + imageStore(out_image, store_pos3, max(result3, V4(0.0))); + V4 result4 = V4(0.015284621, 0.0075803893, 0.0035219751, -0.00810834); + result4 += M4(0.10089722, -0.06443871, 0.14568143, -0.09954367, -0.07683818, -0.033734936, -0.04811656, 0.10664942, -0.03475512, 0.054659437, 0.03820792, 0.023073552, 0.021913474, -0.04652848, 0.087426476, -0.032789916) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.0007417948, 0.012891258, 0.14044069, -0.20839092, 0.030918991, -0.051141784, 0.10253684, -0.031074345, 0.03796036, 0.14934118, 0.027667413, -0.0006018257, 0.030512357, -0.08976165, 0.043886513, -0.05992656) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.0063666133, 0.031453233, -0.05032326, -0.09747301, -0.04173207, 0.036128793, -0.18436228, -0.07930586, -0.09015892, 0.099168226, -0.024928693, -0.013754599, 0.10938362, -0.027342454, 0.06767825, 0.017478118) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.18361095, -0.03686669, 0.12688193, 0.07344306, -0.042493284, -0.06679468, 0.049492907, -0.0686762, 0.0063613807, 0.04242265, -0.03268248, -0.012933237, 0.04850132, -0.11749419, -0.03158751, -0.026313517) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.025674902, 0.011632035, 0.19160101, 0.13017164, 0.033340067, -0.06443997, -0.011907534, -0.04421661, 0.0069531524, -0.025805647, 0.041850377, 0.045619737, -0.046563618, -0.03741057, 0.005266853, -0.026588485) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.16777207, -0.15943483, 0.11959897, 0.20576183, 0.084090106, -0.035135467, 0.0062601347, -0.020519855, 0.051865254, 0.09715117, -0.022332061, 0.00041214458, -0.09133639, -0.0038492593, -0.04483786, 0.07159544) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.19268401, -0.0051884865, -0.26957387, -0.24012648, 0.014772365, 0.0719881, -0.07707021, -0.012666332, -0.07078298, 0.003211214, -0.006569457, 0.12216695, 0.05895859, -0.10598566, 0.026854904, -0.012319349) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.114600934, 0.06542146, -0.20274659, -0.1192942, 0.0028413986, 0.0095050875, -0.018863669, 0.08748821, -0.0031112633, 0.036286242, -0.06295527, 0.043518394, 0.06678936, 0.066339135, -0.041013107, 0.09123855) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.14915279, 0.2907822, -0.09656576, -0.03619446, 0.17413843, -0.10442265, -0.16451426, -0.029117767, -0.05298004, 0.08113195, -0.076549865, 0.063915014, 0.024209032, -0.04620692, -0.07733112, 0.08848253) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.059490994, 0.027694536, -0.013536373, -0.0071221786, 0.19364642, -0.070162766, 0.05438176, -0.011794533, 0.0073090824, 0.04499496, 0.24981081, -0.06763173, 0.04966615, 0.032806955, -0.01931735, -0.0543255) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.06289598, 0.014345173, -0.022261556, 0.024421783, 0.053157076, -0.10662002, -0.08893606, -0.019301493, 0.09425252, 0.12167757, -0.501935, 0.15572563, 0.09125769, 0.038310084, -0.040728994, 0.014561345) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.06926081, -0.05419618, 0.06168418, 0.037189495, -0.07078368, 0.09460417, 0.071867965, 0.034771543, 0.058906164, -0.14770094, -0.22581503, 0.01710466, -0.044432994, -0.08349109, 0.02115879, 0.058064047) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.02356387, -0.0019460355, 0.08031415, -0.04153505, 0.12078096, -0.1186146, 0.018928593, -0.028491342, -0.019932343, 0.18260767, -0.092647165, 0.08090581, 0.05303282, 0.054923292, -0.047244377, 0.06716625) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.059011344, -0.07188621, -0.00026833412, -0.006386651, -0.11297576, 0.17560901, 0.0013431637, -0.008420134, -0.076370865, 0.12120244, 0.40973225, 0.019286746, -0.013144813, 0.07494225, -0.0025681793, 0.09230076) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.007130028, -0.12066013, -0.09759611, 0.04462167, -0.1786062, 0.048661068, -0.03881423, 0.0034344401, -0.110363774, -0.08726387, 0.23341763, 0.18612081, 0.028085502, -0.06731253, 0.051906057, -0.002242906) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.061325785, 0.060978234, 0.037983853, 0.032293897, 0.0031641203, 0.013176299, -0.06417184, -0.019810522, 0.04612644, 0.06086061, -0.23223136, 0.074979305, 0.00044393897, -0.050677363, 0.009057892, -0.020961946) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.0073866257, 0.0014631128, 0.015611636, -0.055718806, -0.0655345, 0.1607574, 0.012450145, 0.008622426, 0.09662636, 0.25724012, -0.053457372, -0.044607792, -0.022253389, 0.041946035, 0.018883962, -0.044030063) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.09770641, -0.047926463, -0.048534647, 0.026441213, -0.07326559, -0.06223302, 0.04068433, 0.0023343887, -0.0073096943, 0.089814164, 0.06629672, -0.032469433, -0.09286273, 0.021503197, 0.020492487, 0.010572497) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.039614756, -0.00044574653, 0.035431262, 0.3400577, 0.042843856, -0.06939011, -0.033852097, 0.03771537, 0.00013262121, 0.07144951, 0.012731165, -0.010784622, -0.01264725, -0.045134347, -0.03560986, -0.04099927) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.09011629, -0.20372726, 0.01389888, 0.03949574, 0.016577296, -0.12735395, 0.08670398, -0.06256578, 0.09589394, 0.21515243, 0.078835435, 0.0048213582, 0.041575376, -0.113110766, -0.14508143, -0.04288903) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.086150385, -0.07159441, 0.0386295, -0.04838041, -0.060054228, -0.016365077, 0.14630683, -0.07241237, 0.0075803455, 0.06795148, 0.131008, -0.07458757, 0.014544664, 0.09059734, -0.062168304, -0.049943984) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.05607149, -0.14172314, -0.11271921, -0.110042214, 0.005879025, 0.061670616, 0.07775762, 0.009804815, -0.099771574, -0.056979895, -0.09567437, 0.032964367, -0.034925327, 0.03525703, 0.025001884, -0.042706188) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.09112134, -0.008622076, -0.0697333, -0.01740181, -0.13144015, 0.08244041, -0.10942452, 0.08328528, -0.021599438, 0.008890282, 0.06518877, -0.03183163, 0.073259234, -0.0018628255, 0.06921419, -0.10276965) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.032401256, -0.21025875, -0.15123025, 0.06540523, 0.067034416, 0.047411274, -0.05761523, -0.035550874, 0.03701347, -0.10386533, 0.07095634, -0.05604995, -0.09341136, 0.10185832, 0.07279055, 0.029357282) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.042296577, -0.053026114, 0.0074878545, 0.019255837, -0.04881339, 0.0019136766, -0.009888043, 0.03161265, -0.03328549, 0.0627692, -0.04317628, 0.023800937, -0.025856212, 0.21344204, 0.064423084, 0.012795787) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.023826072, -0.05897642, 0.07152464, -0.026350364, 0.093933545, -0.0025958794, -0.08350015, -0.028669031, -0.03506477, 0.057226803, 0.00961041, 0.07077195, -0.03207445, 0.15633237, -0.029006911, 0.0010789412) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.018266184, 0.012496159, 0.037389886, 0.07053402, -0.04056948, 0.012907686, -0.08575057, -0.08959244, -0.09506608, -0.01984423, -0.007485444, 0.019302124, -0.03522425, -0.03858841, -0.041980855, 0.075418174) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.02509303, 0.016079182, 0.18328445, -0.11727558, -0.06273362, -0.16675188, 0.017584467, -0.04644241, -0.033307604, -0.19607963, -0.23178567, 0.057126615, -0.023207648, 0.056291137, 0.098518975, -0.048474375) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.041426055, -0.06054551, 0.053095523, 0.09780231, 0.05408838, -0.12151614, 0.0047127535, -0.076593764, -0.08453026, 0.099717565, -0.24124458, -0.011464561, 0.061303042, -0.16388333, 0.14678887, -0.11588486) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.04826398, -0.036011044, 0.10714097, 0.08907968, -0.011454345, 0.031760186, 0.049608916, 0.026239248, 0.0418314, -0.08368993, -0.049965624, -0.00028799693, 0.023703566, 0.029219572, -0.03969776, 0.03891546) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.065977044, -0.0077311317, -0.079131074, -0.06960062, -0.09640306, -0.012586163, -0.08141892, -0.05477438, 0.06945082, -0.053552352, -0.07191922, 0.017246652, -0.05995842, -0.11304478, 0.10491476, -0.070515275) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.05498388, 0.004865677, -0.09475868, 0.07743571, -0.048698716, -0.0035447134, -0.056441396, -0.047848694, 0.06656872, -0.09900567, -0.08548736, 0.0711267, 0.13723628, -0.06703303, 0.29064733, -0.058957066) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.11392712, 0.061821654, -0.10969853, -0.006970733, 0.023556776, 0.13817003, 0.10888, 0.065788314, -0.09242205, 0.010984505, 0.0011335326, 0.0047183945, 0.037912246, 0.008333737, 0.16521664, 0.07901772) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.056459464, -0.0842653, 0.01856258, -0.049041223, 0.098034404, 0.07843927, -0.115043685, 0.030974949, 0.014074656, -0.10566107, 0.05946043, 0.031103622, -0.08660944, 0.03923656, -0.08800654, -0.08110531) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.12542206, 0.08245408, -0.07882406, 0.056729198, 0.0006004883, -0.024567505, -0.028658882, -0.005052358, 0.06504062, 0.38045764, -0.09843952, -0.07483014, 0.06170114, 0.02086724, 0.0021686617, 0.06979346) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.053109583, 0.009262914, 0.013644574, -0.04899947, -0.03820014, -0.0047815633, -0.07976084, 0.03396075, 0.028872252, 0.1525046, -0.007686572, -0.035268936, 0.032599222, 0.062106363, -0.08562679, 0.05821433) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.0068683145, -0.07867088, -0.06281155, 0.036213066, 0.13368577, 0.044247754, -0.10347171, -0.087464586, 0.15423143, 0.112897985, 0.10274618, -0.116386004, 0.013374841, -0.06964349, -0.015849693, 0.022949569) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.075333335, 0.19290051, -0.043484967, -0.040709287, -0.00052210473, 0.030199777, 0.09773196, 0.15046082, 0.05108785, -0.0092773335, -0.19418761, -0.07810007, 0.0054931566, 0.045144938, 0.053353716, 0.020545507) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.023576235, 0.030750575, -0.021387031, 0.002101121, -0.009256025, 0.16648178, 0.098315075, -0.10221597, -0.01967276, 0.101935096, 0.081298955, -0.03160711, -0.11524972, 0.060956318, 0.06330561, -0.08484691) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.02811281, -0.13144515, 0.03237774, 0.09522125, 0.04849602, -0.0444045, -0.14120723, 0.012292469, 0.03754099, 0.056149606, 0.02459886, -0.0075666923, -0.037005596, -0.04552726, 0.054868516, -0.049468327) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.07610538, 0.06081227, -0.019379148, -0.017061386, -0.12982637, -0.18156712, -0.11689999, 0.13798793, 0.084921, 0.17778663, -0.10848857, -0.08139098, -0.04292614, -0.040574007, -0.09304154, 0.01831417) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.028839698, -0.035218645, -0.0052095414, -0.02854752, -0.055767737, 0.06467545, 0.049401943, -0.00373934, 0.029006261, -0.011459003, 0.024750168, -0.05664754, -0.063084416, -0.05226667, -0.10069407, -0.003943578) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.03763561, -0.014426988, -0.008976342, -0.024611851, 0.023362735, -0.1132448, -0.045800842, -0.17385267, 0.06366888, -0.030134415, 0.04402005, -0.07698679, -0.031094525, 0.06347633, -0.0014727425, 0.015219663) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.075424716, -0.023985047, 0.055464983, 0.043958444, -0.043462794, 0.1322288, -0.018792888, 0.065827675, 0.052256092, -0.02124933, 0.028411094, 0.040430013, 0.063625336, -0.049855974, -3.1818126e-05, -0.006232471) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.0027825153, -0.14369318, 0.0067411545, -0.056002375, 0.03869679, -0.0049044103, -0.32312787, -0.011659815, -0.09219209, 0.15488175, 0.00662244, 0.020651657, -0.07661212, -0.062178563, -0.012546979, -0.022103863) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.1694207, -0.36465237, -0.29931507, 0.09609974, -0.018029805, 0.015358688, 0.088083416, -0.32316652, 0.089983396, 0.029164732, 0.07030397, 0.101704694, -0.067567475, 0.1005351, -0.1524649, 0.07652474) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.07600626, -0.042135503, -0.16333663, 0.0954698, 0.24438669, 0.1946776, -0.28641203, 0.037874635, -0.11796449, -0.00029318748, 0.005481582, 0.038918596, 0.07636511, -0.05706522, 0.40199065, 0.40542683) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.01586497, 0.09445771, 0.06125132, -0.08844965, 0.020581266, 0.08473238, 0.09486327, -0.023915987, 0.08394921, 0.0040210187, 0.062122107, -0.07209264, -0.036477078, -0.20522413, 0.12517038, -0.0678131) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.14004675, -0.17444499, 0.046502564, 0.0301658, -0.11712621, 0.2016608, -0.008629084, 0.109045185, -0.014254482, -0.104410514, -0.048748564, -0.02609372, 0.26283577, -0.009337795, -0.103646226, -0.0037226574) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.11792695, 0.2588543, 0.05775609, -0.033646174, -0.20825818, -0.26435655, -0.1787004, 0.03155541, 0.06905271, -0.0057776025, 0.0116009, 0.04739881, 0.30812618, -0.2908703, 0.15365131, -0.14820862) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.093219705, 0.063096754, 0.05226532, -0.18775408, 0.0029677167, -0.08719326, 0.055761877, -0.0786776, 0.008324104, 0.008230881, 0.012069773, -0.027196258, -0.22133616, 0.43233246, 0.19561939, -0.2555573) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.050134234, -0.0022280582, 0.10548923, -0.07250905, -0.060570948, 0.009905906, 0.0232379, -0.13268977, -0.07554757, -0.013623986, -0.116262816, -0.018414835, -0.11036569, -0.44200033, 0.13900885, 0.6628395) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.03868786, 0.07486307, -0.06509603, -0.0557086, -0.023256753, 0.11035806, 0.04471872, 0.053364724, 0.097584724, 0.045418378, -0.04285606, -0.035722442, 0.058019698, 0.11870418, 0.14094312, -0.39868337) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.027341155, 0.13664837, 0.07067559, -0.0466578, 0.071559496, -0.3670707, -0.03967819, -0.000931404, 0.028569775, 0.0071164737, 0.033167243, -0.05554399, -0.25762543, -0.16361864, 0.28015456, 0.2862816) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.09797366, -0.044457503, -0.008044546, -0.03475197, -0.011998901, -0.051943295, 0.020563751, -0.027826015, 0.017536921, 0.023692688, -0.105198674, -0.047562428, -0.02096047, -0.04386854, 0.028073588, 0.004655403) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.035002235, 0.02980822, 0.037008617, 0.078091875, -0.02617316, -0.1677346, -0.00044271097, 0.10632181, -0.025652207, 0.06668331, -0.14079632, 0.036970153, -0.1089534, -0.05736076, -0.05344992, -0.032694217) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.0418454, 0.051319696, 0.1605503, 0.041017182, -0.015021131, 0.018352184, -0.040055797, -0.042552166, 0.01410723, 0.009258959, -0.0037721873, 0.032248292, 0.0524501, -0.052717008, -0.19322741, 0.10605808) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.06852766, -0.008843437, -0.05380628, 0.017415397, -0.0955214, 0.11804916, -0.0408179, 0.011897117, -0.0734573, 0.16294767, 0.052905872, 0.01971047, 0.08457153, -0.02287755, -0.0105985515, 0.06071363) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.028034698, -0.14101668, -0.101414725, 0.074851, 0.11440957, 0.076500505, 0.02640619, 0.048208114, -0.015093911, -0.10559339, -0.041087486, 0.04573483, 0.0009421101, -0.049555067, 0.027640207, 0.11600196) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.08456348, -0.2016056, 0.01628307, 0.097781025, -0.13759124, 0.091026016, -0.06612956, 0.14150445, 0.030998785, -0.014241977, -0.07374479, -0.011570147, 0.0871346, -0.17440985, -0.102434576, -0.14782734) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.0061065853, 0.008025402, -0.09061106, 0.033630136, -0.033912525, -0.0020177036, -0.021688819, -0.101816125, -0.07708646, 0.054817535, 0.025345312, -0.05313017, -0.015019204, -0.040955607, 0.033928573, 0.05712773) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0017844916, -0.37558803, -0.14140037, 0.08916838, -0.059535235, 0.0027138602, 0.06839422, -0.049810853, 0.040595707, 0.058861747, 0.060493767, 0.10509062, -0.011743537, -0.06312591, 0.030528747, 0.09404268) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.005491946, -0.043415226, -0.005737655, 0.013462778, 0.02214155, -0.044476073, 0.054251228, -0.043221135, 0.013454339, 0.06702507, 0.07892291, 0.008299904, 0.010618771, -0.05732609, 0.0051321317, -0.09214062) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.010448737, -0.0763144, -0.045504224, 0.050767306, 0.012635879, -0.10243356, 0.11322095, 0.0214895, 0.01335722, -0.08395272, -0.103717305, -0.004123846, 0.043246422, 0.039673284, -0.04538705, -0.017957779) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.031979065, 0.01597066, -0.124012396, -0.08086684, -0.019402068, 0.030618137, -0.04379822, -0.024350798, 0.0023392958, -0.12733607, 0.08141463, 0.06353682, -0.08084014, -0.03747668, -0.09484418, -0.013079253) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.046345055, -0.058738206, -0.020421552, 0.05564293, 0.008233856, -0.00583308, -0.19170709, 0.001146765, 0.0043787477, -0.0042586965, 0.008095479, 0.099098384, -0.06682956, 0.06539562, -0.03995034, -0.011960787) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.051781323, 0.095482536, -0.0020929624, -0.058993574, 0.00023238696, 0.03670268, 0.025858283, -0.027639112, 0.026986834, -0.014690499, 0.02267922, 0.08789637, -0.0120634185, 0.03053118, 0.03956704, -0.06719874) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.005722231, 0.13964644, -0.027131809, -0.011101668, 0.0005265016, -0.016076455, 0.016948057, -0.0322674, -0.01869099, -0.112297475, 0.049102433, -0.038916517, 0.106997155, -0.102597035, 0.010934799, 0.040540785) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.011907185, -0.03195889, 0.043633647, -0.0083866455, -0.06323015, -0.016081903, -0.07136137, 0.049347166, -0.029908257, -0.06565116, -0.034235455, 0.036397263, -0.072030246, 0.075695105, -0.13079429, 0.12920211) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.0015175362, 0.021335479, 0.02146133, -0.06038062, 0.00080140086, -0.0022465654, 0.11279797, 0.06713731, 0.09654536, -0.06997881, 0.039597716, 0.04114037, -0.03440995, -0.009359729, -0.029094754, 0.025551956) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.05281169, 0.11202297, 0.079287015, -0.04560356, 0.058398824, -0.06945946, -0.026415464, 0.0160811, 0.043219727, -0.12492527, 0.052325107, -0.044891126, -0.035773546, -0.03371483, 0.11292073, -0.07719437) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.09998993, 0.020657647, 0.05914948, 0.084108375, 0.137519, 0.13890447, -0.0038755392, -0.04956, 0.06387369, -0.119433515, -0.15042101, -0.0034510603, 0.01573111, -0.00908254, 0.1505648, 0.013190279) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos4 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(4, 0); + imageStore(out_image, store_pos4, max(result4, V4(0.0))); + V4 result5 = V4(-0.017029766, 0.0026182518, 0.0076097404, -0.05298403); + result5 += M4(-0.26969707, 0.06524865, -0.034910116, 0.10716784, -0.012184682, 0.06790791, -0.056467034, -0.05117357, 0.13427982, 0.09756453, -0.015195975, 0.0043514203, -0.016651496, 0.07863006, -0.016474612, -0.06635994) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.029933723, -0.12646446, -0.04914896, 0.06726342, 0.061262373, 0.066556126, -0.030240647, -0.020036204, 0.0006011609, -0.024370167, 0.053824496, -0.05982114, -0.0014629327, 0.11171455, -0.010359523, -0.08608828) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.1051924, 0.27188978, -0.014654504, -0.0018300583, 0.09940436, 0.020210095, 0.17744707, -0.09966902, 0.069840305, 0.01834343, -0.041189738, -0.31659272, -0.032945566, -0.007824346, -0.07791143, 0.048303474) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.07786165, -0.100265674, -0.16851753, 0.04480318, 0.09389894, -0.045890126, -0.026472284, -0.008443509, -0.122594535, 0.044459287, 0.005041826, 0.0067074234, -0.047006283, 0.065866336, 0.05942036, 0.031581286) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.00602724, 0.06697397, 0.18384673, 0.01027512, 0.042820822, 0.007021697, -0.0323376, -0.1833276, 0.004656694, -0.07827061, -0.033343844, 0.028004551, 0.10583701, 0.020000068, 0.0037480006, -0.05287195) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.07390632, 0.18814299, 0.036274645, -0.018576303, 0.004750342, 0.059536073, 0.19308347, -0.4528547, 0.017254237, -0.041691933, 0.061326373, -0.14300399, -0.005055382, 0.09145138, 0.093360014, -0.021485277) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.121915326, -0.07763473, 0.085626386, 0.027659494, 0.077777, -0.010674994, -0.011545273, 0.004186847, -0.089231595, -0.048946496, -0.05470035, 0.015323905, -0.021655943, 0.046722192, 0.022299444, 0.11340525) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.18421695, 0.05888825, 0.14848131, 0.014433412, 0.113811694, 0.07111202, -0.09765235, -0.07693179, 0.0602293, -0.008185876, 0.025422461, -0.04719523, 0.059935145, -0.050485875, -0.03513375, 0.027424844) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.16856517, 0.106958345, 0.0995741, 0.031181378, -0.02347832, -0.0073813573, 0.20096287, 0.1723206, -0.16832705, -0.032580975, 0.08661121, 0.014525628, 0.0500234, 0.011579943, -0.0040895683, -0.014273579) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.031319104, 0.08890289, -0.036908906, 0.039951283, -0.06941218, -0.12592047, 0.01263135, 0.18038338, -0.1529123, -0.09730094, -0.25230816, -0.15152137, -0.06788534, -0.022764865, -0.031498637, 0.14177006) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.06792869, 0.07877402, -0.052625578, 0.034551255, 0.05252881, -0.09421165, -0.079967454, -0.03667114, 0.0122212265, -0.20869061, 0.26856872, -0.03768078, 0.05866091, -0.040971063, -0.09132208, 0.0053021717) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.032328375, 0.12871602, -0.034526303, -0.08058767, -0.024143964, 0.04123636, -0.071840405, -0.025301475, 0.10846705, -0.0005009965, 0.116081, -0.09387739, -0.029391587, 0.041163437, -0.02343205, 0.042011756) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.009995413, -0.031811856, 0.041431498, -0.044237185, 0.031169385, 0.018742668, 0.010501838, -0.074916266, -0.122546464, 0.092835546, -0.27030805, -0.021109458, 0.029642392, -0.019051002, -0.040155347, -0.0017119342) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.0071336096, -0.016731696, 0.084511995, 0.07081034, -0.016044186, 0.0030624, 0.055037323, -0.12770587, -0.006081255, -0.047676757, -0.11307422, -0.0014949614, 0.01914759, 0.054901253, 0.017708529, -0.059797592) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.025179401, -0.03025158, -0.048162967, -0.025701175, -0.0011000743, -0.0054261936, 0.0696297, 0.030286578, -0.015683876, 0.15854381, -0.000960113, 0.045958098, -0.04803642, -0.051190984, -0.084568866, 0.029185671) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.13343698, 0.04387127, -0.08858853, 0.039225515, 0.028960763, 0.0122523075, -0.026185688, -0.061627798, 0.062422622, 0.12905356, -0.10242836, 0.087893724, -0.059261795, -0.041836362, -0.0020415436, -0.046103142) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.06690978, -0.07737104, -0.034676712, 0.049053475, -0.015790988, -0.01816458, 0.028024923, 0.0041574254, 0.14866997, 0.012767012, -0.25859684, 0.20342813, -0.09240526, 0.017292514, 0.07047152, 0.06293975) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.0817109, -0.044254728, 0.013244365, -0.060593355, -0.054841064, 0.10401544, 0.032707024, 0.012629702, -0.118282616, -0.044306867, 0.35330382, 0.17721374, -0.1114456, -0.058162365, -0.003546469, -0.0845349) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.19880357, 0.059741497, -0.03827411, 0.071425736, -0.075892024, 0.072549745, 0.033630896, 0.044860136, 0.082574934, -0.07166674, -0.16222098, -0.114743434, -0.14403903, 0.100831576, -0.01996922, 0.094166) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.0738981, 0.1545612, -0.06781132, -0.11175757, -0.023283117, 0.04801318, 0.0078938585, -0.0965526, -0.0707145, -0.04512902, 0.07874076, 0.044540495, -0.058215566, -0.25557983, 0.08157237, -0.052170843) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.11173838, -0.0020115932, -0.04526016, 0.09114158, 0.017256513, 0.044909816, 0.06590035, 0.009246264, -0.097504176, -0.0073500485, 0.011585191, 0.031382956, 0.12815003, -0.077566884, -0.04311267, 0.0756899) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.060002718, -0.0056088343, -0.16355346, -0.11462732, 0.007857242, 0.024046278, -0.18015987, -0.030390946, -0.036422, 0.060930215, -0.009096734, -0.13307464, -0.048260733, -0.062241316, -0.07130666, -0.007867302) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.08134455, 0.056031805, -0.14318475, -0.2813397, -0.07978617, -0.006673399, -0.0042841216, -0.0016206937, -0.035881884, -0.052539952, 0.12968351, 0.06074183, 0.13390513, -0.037999887, 0.1476654, -0.026176197) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.027973985, -0.15338577, -0.07150376, -0.2194149, -0.13231678, -0.081399634, -0.053270098, 0.0484668, -0.04677012, -0.09067324, 0.06573042, 0.009586889, 0.13933039, -0.022283424, -0.03855533, -0.052375987) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.03145619, -0.05269622, -0.083968855, -0.05890199, 0.064208314, 0.038341, 0.02257381, 0.030543944, -0.026201153, 0.080296196, -0.107155316, 0.19480883, 0.03551925, -0.02143546, 0.075129986, -0.06252473) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.023891192, -0.10253443, 0.010415969, -0.15022951, 0.044576913, -0.061632283, -0.064142086, 0.08906751, 0.012865637, 0.030913604, 0.13335633, 0.1156359, 0.063275844, 0.045636363, 0.009950541, -0.068348095) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.25380403, 0.07222255, 0.15430467, -0.0029455193, 0.051101398, -0.08008068, 0.00967216, -0.0424779, -0.012633348, 0.020042336, -0.056133483, 0.026158713, -0.049946845, 0.07440664, -0.024540264, 0.012483923) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.027514534, 0.010503831, -0.05529919, 0.051151473, -0.12777993, 0.0017468381, 0.033581313, 0.046373155, -0.07036032, -0.07243802, 0.038944323, 0.008074952, 0.05702504, 0.034314957, -0.04334646, 0.058885086) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.01718694, 0.0024343121, 0.06395386, -0.06528679, 0.09187729, -0.066754915, -0.082135014, 0.06271207, 0.0048517054, -0.0006502553, -0.052672837, 0.010453589, -0.0002793513, 0.025204431, -0.16500238, 0.01232479) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.07470527, 0.01958761, 0.02907453, -0.0033163633, -0.020057654, -0.015939778, 0.044119533, 0.018834371, -0.086884804, 0.02066153, 0.02659018, -0.025405128, -0.030325947, -0.0024410195, 0.052593462, 0.07027683) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.061814327, 0.04902046, 0.06975528, 0.09674795, 0.07400881, -0.030832037, -0.068325706, -0.28539503, -0.011646138, 0.11795938, -0.03168293, -0.13822131, -0.13354857, -0.0367796, 0.041180305, 0.1832187) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.053103555, 0.09693912, -0.05690085, 0.0430419, 0.041139737, 0.04374001, -0.043549925, -0.045733515, 0.025844052, -0.024295192, 0.02632686, 0.031355284, -0.025869286, -0.015384743, -0.19231439, 0.047072247) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.019663326, 0.05288881, -0.029900167, 0.027453186, -0.07065517, 0.004660519, -0.058758568, 0.071469694, 0.09200928, 0.025993206, 0.06350677, 0.09959603, 0.039369427, -0.09484301, -0.052181423, -0.058604594) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.12711163, -0.093113564, 0.011707209, -0.04628494, 0.010537424, 0.0048373267, -0.008828664, -0.043850176, -0.13947192, -0.03538602, -0.37171027, -0.27829358, -0.0069816853, 0.039810818, -0.103474334, 0.1860338) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.07018136, -0.06213217, 0.064913444, -0.042679187, -0.010857788, 0.07866826, 0.08051424, 0.08617109, 0.100217514, -0.013381774, -0.03168785, 0.066240974, 0.041898996, 0.052527912, -0.20074497, 0.02927664) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.040205557, -0.077584095, -0.079216786, -0.034955923, 0.007229153, 0.036935322, -0.003994174, -0.035330005, 0.13470751, 0.04052074, 0.08470326, 0.046256673, 0.10367631, 0.035996467, 0.08435148, 0.015167908) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.03609745, 0.011110089, 0.081246175, 0.21772598, 0.25638467, 0.10309746, -0.019938255, -0.12071986, -0.14128774, -0.0058060237, 0.32478487, 0.014180219, -0.11564704, 0.0036171004, -0.061511155, 0.13685413) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.016204288, 0.025427379, -0.032491725, 0.038200684, -0.17813689, 0.051033653, 0.017098531, -0.033479087, -0.031123739, 0.02592637, 0.021323444, -0.17615238, -0.004071446, 0.024089845, -0.11328454, -0.10246446) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.026363332, 0.0774693, -0.001488926, 0.074328214, 0.10431356, 0.045457643, -0.05182458, -0.07608814, -0.05636305, -0.048104573, 0.056380313, -0.051220886, -0.013051256, 0.07232895, -0.017295277, 0.046196643) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.07148113, 0.041202053, -0.023399366, 0.31530088, -0.04816606, 0.033267178, 0.035453737, -0.07740784, -0.07473749, -0.084001854, -0.16188906, -0.05995198, -0.01454982, -0.04015711, 0.080324546, -0.04428545) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.04573671, -0.028660351, 0.07055464, -0.06023813, 0.0358784, 0.039551362, 0.051226728, 0.2707989, -0.113762096, 0.00055007805, -0.041450407, -0.07462006, 0.060826674, -0.05905481, -0.026069222, -0.112142615) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.053279698, -0.0032421292, -0.022948861, -0.021695847, -0.04314488, 0.016928686, 0.049900077, -0.013736364, 0.09159843, 0.040690944, -0.089060396, 0.075674, 0.037561912, -0.019046945, -0.0052949497, 0.06942163) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.057270415, 0.030945752, -0.051915206, 0.03747818, -0.29900372, -0.03539909, -0.2623809, -0.14053984, -0.06724629, -0.002058162, 0.025339983, 0.034215078, 0.09452597, 0.008239918, 0.0077291573, -0.045769628) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.04734648, -0.016243327, -0.106288806, -0.03594557, -0.26163426, 0.044178136, 0.03810632, -0.15159981, 0.062477387, 0.0029771402, 0.15897194, 0.031832475, -0.0027898247, 0.020303156, -0.00094719423, 0.061058104) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.10737836, -0.047659006, 0.033494566, -0.019183882, -0.12528087, -0.0047131795, 0.06947518, -0.08452694, 0.15260527, 0.16697158, 0.0662454, 0.093549274, -0.048005812, 0.010547435, -0.07672287, 0.008138391) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.4034531, -0.07336866, 0.054269694, -0.088195376, 0.07254467, 0.054527745, -0.09746604, 0.041571233, 0.07851575, -0.06665327, -0.01872743, -0.022730755, 0.2237277, 0.27669412, -0.12509036, -0.124001995) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.17640968, 0.11495339, -0.075981, -0.021307552, 0.02361582, 0.103638485, 0.13105026, -0.01477062, -0.054478426, -0.00042184402, 0.0563414, 0.116156526, 0.12930475, -0.4096145, 0.065834604, -0.44063684) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.07515911, 0.05480233, 0.048164148, -0.0698216, -0.0048652333, 0.15709642, 0.15201579, -0.009992494, -0.03799079, 0.052205637, 0.035803646, 0.09784627, -0.052154884, -0.021929527, 0.10782196, 0.14605185) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.07340599, 0.05675576, 0.16155493, 0.23515168, -0.10060028, -0.014091447, -0.14785613, -0.30227914, 0.004407614, 0.0823413, 0.07310364, 0.039226864, 0.17360078, -0.04300298, 0.012603476, -0.16852224) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.05241981, -0.044155005, -0.12009607, -0.021826092, 0.08454434, 0.035356153, 0.15445329, -0.16383909, 0.019939046, -0.012035172, -0.021772088, -0.039319593, 0.2113125, -0.19087756, 0.09711666, 0.23051569) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.07032819, -0.008868697, -0.012584712, -0.03610978, 0.0085982215, -0.073083095, 0.005314122, -0.15008338, 0.111559, -0.034215957, -0.059302565, 0.061598655, -0.15815967, 0.7643408, -0.6688679, -0.015675765) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.04652039, 0.0023509252, 0.06324783, 0.060657516, 0.04368846, 0.09922848, 0.016998468, -0.1707438, -0.05715121, 0.07029522, -0.024926111, 0.13404353, 0.043076552, 0.35814863, -0.6626277, 0.004661073) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.02774036, -0.05662422, 0.084981784, -0.015987758, -0.18142702, -0.043269794, 0.036585227, -0.31359372, -0.037696313, -0.099541634, -0.047562238, 0.091655485, -0.023354845, 0.4656288, 0.45047572, 0.17105147) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.0076555354, -0.04979883, -0.12889482, 0.024111828, -0.24661215, -0.019473843, -0.16955906, 0.0009965954, -0.030066233, 0.021942018, 0.042639494, 0.019092843, 0.05292547, 0.38002372, 0.076062664, 0.096562475) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.17487007, 0.02716904, -0.043371353, -0.32799977, -0.18254909, 0.03244557, 0.093665704, 0.12422773, -0.04813594, 0.023399659, -0.049716085, 0.019244196, -0.03420005, 0.06143091, -0.013536346, 0.035490282) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.11734277, 0.011759425, -0.09654516, -0.040260497, 0.08776812, 0.07565629, -0.0662768, 0.1033306, 0.021257868, -0.005124921, 0.048855864, 0.04399978, 0.05600546, 0.00627899, 0.06954754, -0.4721312) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.11846434, -0.034724407, 0.02406037, 0.009163481, 0.04919227, -0.012226861, -0.0040999786, 0.07114601, -0.060678434, 0.00071401516, -0.026075708, 0.098185174, -0.26407084, 0.053739548, 0.096671924, 0.0950351) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.14992541, 0.09855627, -0.051828545, -0.21739236, -0.06426778, -0.00898051, -0.019912016, -0.11489576, 0.04586731, -0.044006187, 0.051051468, 0.0027259246, -0.0026719961, -0.04945696, -0.031669617, 0.014082213) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.053877745, 0.16251695, 0.12707567, 0.030175999, -0.005992873, -0.039566908, -0.12295258, -0.08529856, -0.037976827, -0.064296514, -0.0109587945, 0.068643615, 0.09037895, -0.026651924, 0.0057991473, -0.11456577) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.12622368, 0.005051562, 0.08239491, -0.008606, 0.05442144, -0.0020586473, -0.10162568, 0.0058700773, -0.022050317, -0.004340718, 0.15215017, -0.05553393, -0.22747318, 0.095394574, 0.07996917, 0.081355445) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.047325574, 0.11461733, -0.1606758, -0.1018006, 0.027850825, 0.05353667, 0.09283654, -0.07201258, 0.077073835, -0.0358214, 0.07575786, 0.093668826, -0.1053017, 0.011942607, 0.0072190077, 0.07295913) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.061661605, 0.014500618, -0.0343881, 0.03676811, 0.09882814, -0.044081554, 0.012693663, -0.06509486, 0.009106592, 0.024507022, 0.036264386, -0.070494056, 0.08864536, 0.040168896, -0.10938189, -0.09325679) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.031548742, -0.045785595, 0.03481303, 0.0126136625, -0.046127744, 0.020386765, -0.012544244, 0.02643296, 0.020333808, 0.12276741, 0.03435273, -0.08855063, -0.032666843, 0.051521264, 0.036327366, -0.012208532) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.13453694, -0.06425231, 0.099538736, 0.08828377, 0.11944238, -0.013993342, -0.053921074, -0.045331813, -0.02260944, -0.09307777, -0.061098173, -0.06510203, -0.14304908, -0.01652368, 0.025414295, 0.0005006357) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.06453418, -0.1286868, -0.08830644, -0.067143, -0.00040941298, 0.066550925, 0.09138168, -0.06172078, -0.011784804, -0.10284127, -0.049765367, -0.039987683, -0.07333526, -0.045114417, 0.07188807, -0.016312258) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.016668053, -0.029917741, -0.04790702, 0.13301483, -0.0226875, -0.019958513, 0.013383337, -0.04643367, 0.07789965, 0.0027342453, -0.027355531, 0.00842957, 0.059866987, 0.011565059, -0.08031227, -0.055167854) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.028732752, -0.08508627, -0.025830543, -0.13049383, 0.007676596, 0.06923891, 0.03653034, -0.035906527, -0.015377517, -0.0006535983, -0.008989587, -0.1138247, -0.11669001, -0.02285596, 0.029788185, 0.03642247) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.05257182, 0.034222256, 0.069169685, -0.13427936, -0.09826113, -0.033780433, -0.008858038, 0.07313291, 0.0013643248, -0.02640931, -0.009135024, 0.070298485, -0.008649201, -0.1279212, -0.07136913, 0.014068566) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.061272312, 0.0025007627, 0.08642541, 0.056899246, 0.080976896, -0.014870841, -0.056911606, 0.019520482, -0.020400884, 0.061708752, -0.053698104, 0.109109126, 0.072821215, 0.028308649, 0.04283325, 0.0086398665) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.06382388, -0.03440983, -0.17204529, 0.037740856, -0.0043762517, -0.032933373, -0.09845114, -0.004478965, 0.011440689, -0.08439051, -0.24172826, -0.363408, -0.044690162, -0.037426498, 0.038753204, 0.11324205) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.15386839, -0.07965738, -0.003304589, 0.009285985, 0.10472413, -0.022005673, 0.050299566, 0.06737807, -0.0365651, 0.066187255, 0.019654201, -0.15182674, 0.06450326, 0.09565512, -0.048541855, -0.053782176) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.10440549, -0.05085832, 8.3101346e-05, -0.0449915, 0.002588291, -0.017261835, 0.009551745, -0.0365315, 0.060835935, -0.010699974, -0.073593125, 0.013337622, 0.0608693, 0.14456865, -0.016152615, 0.050170276) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos5 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(5, 0); + imageStore(out_image, store_pos5, max(result5, V4(0.0))); + V4 result6 = V4(0.010690784, 0.005997089, 0.002451169, -0.005412337); + result6 += M4(-0.082862236, -0.09332624, -0.004916408, -0.25246146, -0.056272738, 0.07155223, -0.009127834, 0.07654658, 0.04773212, 0.082947515, 0.045665577, -0.08155483, -0.040157765, -0.0028256194, -0.01287591, -0.011608416) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.114815235, 0.091305695, 0.22614469, -0.06545236, 0.06945439, -0.002299741, 0.11802385, 0.10429289, 0.006980407, 0.044104833, -0.07763246, 0.03220111, 0.011595399, -0.037364498, 0.0068959096, -0.015846925) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.11442867, 0.1947, 0.0014312532, -0.09519812, 0.038128227, 0.043568403, -0.3227581, -0.05126703, -0.02121803, 0.00038251144, -0.11258952, -0.051133096, 0.0072281426, -0.13872194, -0.014798982, -0.0063778055) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.13032909, 0.15123816, -0.14155665, 0.011307483, -0.04383294, -0.100376636, -0.073844135, -0.09189189, -0.022353243, 0.08658764, 0.065357275, 0.023020228, 0.093580894, -0.078171946, -0.025888711, 0.018376289) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.16127862, 0.0035623254, -0.15936317, 0.120565504, -0.042104054, 0.079555735, 0.05391565, 0.03966206, 0.109242976, 0.04145595, 0.006665532, 0.029222775, 0.059675947, -0.11362838, 0.032819584, 0.03917334) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.073818006, 0.075325646, -0.15390112, -0.103969745, 0.060122073, 0.13159041, 0.09445272, -0.39024514, 0.12217026, -0.048006278, 0.16148163, -0.05440857, -0.018169494, -0.008575086, 0.023165897, 0.07195667) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.029446874, 0.17245877, 0.19578046, -0.0959553, -0.010836295, -0.01651593, -0.049712602, -0.07257559, -0.024723414, -0.101832464, 0.06686563, 0.107243426, 0.019410517, 0.0057076416, 0.0071558966, -0.06711621) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.19535314, -0.139618, -0.06464305, -0.005250526, -0.07216891, 0.14065611, -0.1013816, 0.122438036, -0.0066403984, -0.076991655, -0.032490995, -0.0532696, -0.021064356, -0.04401845, 0.14308032, 0.032499548) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.23283342, -0.26353815, 0.022908762, 0.005311544, 0.0076993722, 0.0010392838, 0.15888968, -0.14901665, 0.007011363, -0.002178251, -0.07326514, 0.06859169, -0.13724253, 0.013294479, 0.040944602, -0.08874898) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.021038538, -0.13492516, -0.002590426, -0.015944479, -0.04631184, 0.06783748, 0.023126155, -0.11957147, -0.4165431, 0.023782954, -0.16402291, 0.120118864, -0.04066827, -0.018194545, 0.039823037, -0.15194955) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.036565546, -0.08837816, -0.01086319, -0.05594958, -0.00022415584, 0.05196372, 0.14731847, -0.032799017, -0.091960035, 0.052995168, -0.0922611, -0.29245508, 0.067643054, 0.010263509, 0.06141319, 0.061214045) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.042150944, 0.03656631, 0.063485555, 0.10510755, 0.015781783, -0.031539366, 0.04197354, 0.08098534, -0.020930447, -0.12196443, -0.14710884, -0.19126503, 0.055784065, -0.07713417, 0.09130778, 0.06264028) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.060479272, -0.0024931005, 0.052952014, -0.087905586, -0.05729654, -0.040366028, -0.030486217, 0.06751229, -0.08824472, -0.08027508, -0.11356451, 0.15342566, 0.0015291413, -0.03325, 0.015456402, 0.025399398) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.00819072, 0.009564266, 0.10381901, -0.00022270654, 0.04513513, 0.057175398, -0.008626486, -0.015773304, 0.11299881, 0.068074316, 0.14078437, -0.2912405, 0.11316507, -0.07743027, -0.015361845, -0.11405017) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.046051558, 0.068835884, 0.13150439, 0.10288098, 0.05236311, -0.0744856, 0.019866904, 0.105658926, 0.06095486, -0.06600033, -0.046087004, -0.33375698, 0.14436951, 0.037028078, -0.074084036, -0.04736998) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.038823046, 0.07299554, -0.05847491, -0.04147976, -0.024128156, 0.12933809, -0.05945189, -0.01133884, 0.14848295, 0.001175198, -0.036680046, -0.063963674, 0.013725881, -0.0024379923, -0.08727678, 0.027952837) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.09670086, 0.015370373, 0.07292432, -0.19480015, -0.03054069, -0.043485958, -0.05360734, -0.041912492, 0.083735056, 0.014563895, 0.14733133, 0.15650618, 0.055674646, -0.048056748, -0.0026853587, -0.026554152) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.024410594, -0.020015312, -0.05516048, -0.07794716, 0.069992274, -0.054092847, -0.035513066, -0.008233446, -0.15371548, 0.12472223, 0.092795506, 0.0486925, 0.0751384, 0.0087347645, -0.06254022, -0.13146058) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.07937235, -0.36524597, 0.014878924, 0.08545474, -0.059753794, 0.05383852, 0.023399932, -0.021316389, -0.024138786, -0.055432, -0.10718331, 0.13316295, 0.07257173, -0.085463226, 0.031754185, -0.09082864) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.043743897, -0.010155396, 0.43185225, 0.037378218, -0.043807924, -0.0804751, -0.10160702, -0.11564795, 0.017340822, 0.009554977, -0.14971316, 0.03535888, 0.0031790596, -0.049985144, 0.02717979, 0.07938209) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.14309597, -0.08889616, -0.06141119, 0.06071407, 0.11449267, 0.06290235, -0.04803331, -0.07786643, -0.06757743, -0.038061988, -0.004627741, 0.07817144, -0.070204556, -0.087684765, -0.0864271, 0.05784742) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.0040593813, 0.10823612, 0.03336655, -0.12777032, -0.062495008, 0.0023544978, -0.0013834701, -0.07696703, 0.027040644, 0.008879399, -0.1106963, 0.051833767, -0.008440142, -0.10857426, 0.010843847, -0.06638709) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.08215438, 0.03408142, -0.03042029, -0.06574534, -0.010344192, 0.025222981, -0.0942375, -0.32072356, 0.09445149, 0.11608672, -0.17004067, -0.0183685, 0.012359906, 0.014784032, -0.057997458, 0.026573583) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.114010945, 0.035921995, 0.1132185, -0.046908446, 0.021192726, 0.098312296, -0.10051638, -0.051098324, 0.013655437, 0.03112521, -0.101226255, -0.04436151, 0.011892899, 0.028890118, -0.057120286, 0.07885435) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.0875976, 0.08396669, 0.26676595, -0.07832734, 0.014096917, 0.01925402, 0.07948707, -0.19239175, -0.030101273, -0.007404924, 0.06454918, -0.033043984, 0.020191524, -0.015888287, -0.0768603, -0.0014707345) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.007838508, 0.050731845, -0.12275289, 0.077348635, -0.06637055, 0.042404823, 0.056114607, -0.2082521, 0.0052744793, -0.0034520295, 0.033134595, -0.14992613, 0.045224596, -0.047294725, -0.035579734, -0.043103494) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.0117669385, -0.046722222, -0.082754396, 0.18934056, -0.077659056, -0.021580162, 0.0766293, -0.1434723, -0.039356105, -0.051062122, -0.022995232, 0.12825657, 0.06975765, -0.05721996, -0.0046809018, -0.06016137) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.031200016, -0.044873744, -0.04577383, -0.09014457, 0.011431982, -0.16096246, -0.04573897, -0.021885265, -0.076434284, -0.07447358, 0.11294924, 0.040629297, -0.055489622, -0.017967565, 0.020820567, -0.06783229) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.008515332, -0.012485643, 0.017390816, -0.035030354, -0.0049802437, -0.1521472, 0.040498625, -0.04042039, 0.0140814595, -0.14227289, 0.07657805, -0.10505521, -0.038342696, 0.10698481, 0.014068513, 0.17430907) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.031913165, -0.073796816, 0.08374395, -0.036987934, -0.027900955, -0.010202113, 0.050811402, -0.09660639, -0.029861007, -0.08969103, -0.2102356, 0.14262727, -0.11207342, -0.03937835, 0.045553975, -0.0172096) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.026628032, 0.053303003, 0.030054938, -0.07204776, -0.024216121, 0.16775322, -0.058352433, 0.09911573, -0.17444852, 0.05383404, 0.3569527, -0.015095063, 0.055044323, 0.0036387478, -0.058078967, -0.15752015) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.005434836, -0.09366988, -0.0006659146, 0.06655433, -0.07314304, 0.049210344, -0.06501994, 0.09020106, 0.007943374, -0.24311112, 0.11246132, -0.05669102, 0.017933127, -0.09891863, 0.07549983, 0.021653479) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.03517719, 0.09923731, 0.044575054, -0.053033523, 0.0017107581, 0.07446237, -0.031252462, 0.11600726, -0.054050457, -0.03993115, 0.045306034, 0.08790281, -0.050194588, 0.16850585, -0.09426044, -0.08788989) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.0014516271, -0.030251157, 0.0024254667, 0.04534443, 0.056322027, -0.07524383, 0.0014791054, 0.067090385, -0.3117536, 0.22211868, 0.08488968, -0.43937343, -0.029876236, -0.021681514, -0.118743554, 0.008213524) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.14914426, 0.05132183, -0.06847439, -0.0098333815, -0.06761469, 0.006456852, 0.09248922, -0.3200455, -0.14957795, 0.016720846, -0.1418253, -0.16575523, -0.06651087, -0.13473675, -0.0292337, 0.21095127) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.032742526, 0.055474162, -0.060109146, -0.067157075, 0.021278894, 0.01700543, 0.021176396, 0.099747844, 0.062318478, -0.17896491, -0.053276803, 0.03987469, -0.0014845199, 0.013721121, 0.0068959235, -0.031793147) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.013827739, 0.029192314, -0.15077412, -0.07280277, -0.11141827, 0.074057266, -0.03826989, -0.04493996, -0.01792707, -0.042056218, 0.08892316, -0.16241309, -0.021858077, 0.10777993, -0.058708988, -0.06142172) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.08071342, -0.034904685, 0.0032877438, -0.032918695, 3.5765264e-05, 0.075260065, 0.070635706, 0.001903675, -0.07981462, 0.037416752, -0.049325954, -0.019922206, 0.07265439, 0.034716118, 0.022258228, -0.011259153) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.0048448513, -0.14551418, 0.13294397, -0.11285735, 0.0057811276, -0.033272423, 0.08149882, 0.040891297, -0.09873544, 0.038263552, 0.05520923, -0.031299513, 0.017749077, -0.012483133, -0.041523993, 0.06459376) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.096644066, 0.0458126, 0.029846074, -0.037850592, -0.04341194, 0.06412556, -0.02204861, -0.026579129, -0.0043215244, 0.0030381086, -0.009296391, -0.1333166, -0.037021775, -0.07936589, 0.11547145, 0.032951925) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.06483997, 0.07908248, -0.032705646, 0.07469769, 0.1075552, -0.17562248, 0.0017593886, 0.100031786, -0.06114924, 0.05383326, -0.029468963, -0.2074514, -0.047082335, -0.054200534, 0.14617506, 0.09124103) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.090670995, -0.030332653, -0.047783908, 0.09332696, -0.050707784, 0.20759183, 0.06719066, -0.051192265, -0.018785628, 0.07708997, 0.09815681, 0.015772363, 0.082743764, -0.07724646, 0.07533772, -0.019618925) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.015034162, 0.027678078, 0.004485577, -0.0053388663, -0.0078025865, 0.08644683, 0.09853315, 0.07405606, -0.08312033, -0.016515655, 0.04020123, 0.15109605, 0.07393641, 0.11420123, -0.019472519, -0.078546286) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.010722131, 0.08855316, 0.09228766, -0.13401242, -0.00354648, -0.1324043, -0.15619309, 0.15188502, -0.04957025, -0.070352495, -0.08778581, 0.06650648, 3.414893e-05, 0.019148303, -0.015781783, -0.010458694) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.013016937, -0.058610007, -0.01955858, -0.010563064, -0.09038516, 0.24968396, -0.069559604, -0.027359894, -0.050136372, 0.026390802, -0.096367836, 0.091583066, 0.01743045, -0.042999726, -0.08765771, 0.06957089) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.097619414, -0.03596058, -0.07945388, -0.18552269, -0.11350878, -0.13267313, -0.06915545, -0.054690965, 0.010391561, -0.014942967, -0.015519899, -0.089317374, 0.035449956, -0.054202728, 0.11432231, 0.21882272) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.05647023, 0.07100975, -0.05997138, -0.029043961, -0.009731872, 0.010453934, 0.049745265, -0.16170847, 0.08597285, -0.014077391, 0.08981343, 0.027544783, 0.0128316125, -0.3657645, 0.10594425, 0.23268223) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.010719718, 0.14443997, -0.12875578, -0.040287886, 0.03941465, -0.04173003, -0.21589702, 0.11105341, -0.07029314, -0.04101937, 0.0014073573, 0.05151061, -0.1504672, -0.21717829, -0.24764758, -0.13079694) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.16044514, -0.09288801, -0.010618369, -0.10929675, 0.07969499, 0.028753832, -0.048848506, -0.032439258, -0.047022868, 0.023455612, 0.09936926, -0.086376324, 0.08733632, 0.5036459, -0.2390321, 0.122648895) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.010534861, 0.22026429, 0.052812472, -0.042793896, 0.1526966, 0.13103181, -0.024165567, 0.2552295, -0.059412207, 0.004601544, 0.08095746, -0.04323657, -0.25822118, -0.036181983, 0.78730196, 0.3700736) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.0073771523, 0.032667294, 0.10373542, 0.3054397, -0.05403309, 0.07770418, 0.19603463, 0.103815265, -0.083129615, 0.056437533, 0.0036738557, -0.08030763, 0.08578597, -0.47391012, -0.2340688, 0.09837176) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.0040087216, 0.05885074, -0.0427872, -0.02846482, -0.11479727, 0.012885045, 0.012890566, 0.04019892, -0.066839315, -0.059595812, -0.11559759, 0.056647632, 0.04924228, 0.11483939, 0.42489016, 0.046949796) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.03134626, 0.030074157, 0.059376065, 0.0070128655, -0.053245947, 0.15632841, -0.27364123, -0.24739368, 0.050405618, 0.024330301, -0.09987591, 0.06328098, 0.33785403, -0.020707022, 0.24607974, -0.5918927) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.019868644, -0.03391321, -0.0023804966, -0.010340161, 0.08739526, -0.030633437, -0.039041147, -0.19612013, 0.05589272, 0.03628168, -0.013933484, 0.075527556, -0.110349745, -0.014205303, 0.2221825, 9.5935e-05) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.031899307, 0.07540582, -0.06766358, 0.1594253, 0.12397341, 0.117427625, 0.09891616, 0.094036795, 0.05896751, -0.0033413924, -0.07776852, 0.008694928, -0.096475326, 0.081829466, 0.1114397, 0.034583464) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.0053996695, 0.011602496, -0.06938011, -0.023684524, -0.07905979, 0.033401567, 0.12814227, 0.12704155, 0.06321761, 0.062416516, -0.025955332, 6.5184824e-05, -0.059599515, 0.08655594, -0.06143751, 0.085237406) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.00058507366, -0.024090067, -0.036246452, 0.012581524, -0.08575937, -0.02125795, -0.017338436, -0.10863408, -0.068193376, -0.08457068, 0.045226287, -0.04682276, 0.062292855, 0.040923733, -0.009620206, 0.13549171) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.002376552, 0.07506957, -0.062821805, -0.052593358, 0.021240054, 0.044370417, -0.059411313, -0.08343843, 0.11286664, 0.099397056, -0.14576577, 0.036803715, 0.02230992, 0.014093872, 0.06560242, -0.13011786) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.014644928, 0.107997805, 0.07072257, 0.20512718, 0.07422325, -0.0964916, 0.007396849, 0.09779219, -0.032845605, -0.047252584, -0.025998967, 0.016014457, -0.03291501, -0.05611761, 0.058003977, 0.062348176) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.025252977, -0.079215795, -0.019680161, -0.07315868, -0.039013438, -0.050878223, -0.0012554437, -0.12303936, 0.07835808, -0.0057618353, 0.08719168, -0.10248976, 0.014171008, -0.036710598, 0.08065212, 0.12406483) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.06047156, 0.078221224, -0.005402685, 0.14069128, -0.009749106, -0.032800645, 0.043753702, -0.0020275633, -0.033397667, -0.05355792, -0.12752733, 0.027336076, -0.024347508, 0.029256696, -0.07217182, 0.04384008) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.00921567, 0.01450125, 0.10956622, 0.080035426, 0.01875688, -0.07081381, -0.032756895, 0.1198064, 0.020125113, -0.068008535, -0.16996945, -0.019588333, -0.1170872, 0.11217965, -0.03773435, 0.023224028) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.015116493, 0.01423454, 0.1245378, -0.08725238, 0.03207636, -0.025948778, 0.045346208, -0.12668304, 0.0074921213, 0.017547948, -0.10769967, -0.020954352, -0.032058917, 0.006698829, -0.028226264, 0.009531056) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.009082316, -0.04974578, 0.021507699, 0.063199066, -0.08571374, 0.002195545, -0.0001694958, 0.09936031, 0.062492624, -0.092212886, 0.07836746, -0.0007151658, 0.0027925319, 0.027827486, 0.026872355, -0.12791967) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.017570052, -0.04244917, 0.022947263, -0.004099355, 0.01993168, 0.05163696, 0.08748351, -0.06830031, -0.06739364, -0.08220055, 0.093481876, 0.047001038, 0.019670546, 0.11035209, -0.06310049, 0.058654413) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.02478547, -0.0035681177, 0.013097798, 0.067774385, 0.042852964, 0.00030201027, 0.0117423795, 0.07670981, -0.03171201, 0.03998607, -0.010848306, -0.02885261, -0.08978039, 0.031287923, 0.055206515, -0.090399906) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.116015434, -0.024938617, -0.0069558984, 0.031076705, 0.03423816, 0.09265258, -0.06926436, 0.07258405, -0.02805012, 0.067438275, 0.13772243, -0.019412128, -0.06259269, -0.012765915, 0.008289173, 0.029476484) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.0147683555, -0.013401025, -0.13986728, -0.19639333, -0.08134613, 0.08388335, -0.063143656, -0.073297754, -0.0017003792, -0.00055649667, -0.031086793, 0.023365153, 0.053659063, -0.08405771, 0.045653347, 0.11688034) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.05130243, -0.09904857, -0.0378094, 0.034630097, -0.039673038, -0.10745154, -0.041698955, 0.047820237, -0.08594879, -0.067647725, 0.05149418, 0.007884894, -0.021675237, -0.011916742, 0.04341664, -0.024816668) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.061165635, 0.108585514, 0.03334415, 0.30366713, -0.11528146, -0.00058979983, 0.037980568, 0.045508444, 0.12863614, 0.12833299, 0.25715324, 0.04659202, -0.10637552, -0.072700106, -0.082676746, -0.049088042) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.05726864, 0.07935854, 0.10549142, -0.068712786, 0.0042473865, 0.04665184, -0.15141368, 0.058854952, -0.056800183, 0.094561696, 0.12012377, -0.099305235, 0.0012673351, -0.077923365, -0.028462173, -0.040689047) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.07104608, -0.06413843, -0.09069548, 0.020858338, 0.043033052, 0.09225001, -0.16452445, 0.052920576, 0.017080646, 0.04904874, 0.12896115, -0.09881568, 0.049004003, -0.025881693, 0.015833985, -0.04814061) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos6 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(6, 0); + imageStore(out_image, store_pos6, max(result6, V4(0.0))); + V4 result7 = V4(-0.00064860965, -0.0002542105, 0.0034470388, -0.00044491922); + result7 += M4(0.031162802, -0.008757692, 0.08214746, 0.047523174, -0.006688792, -0.09842215, -0.120437585, -0.1128324, -0.007867041, 0.032236293, 0.042005185, 0.049446292, 0.031461608, -0.039313708, -0.0106289955, 0.064795405) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.09309159, -0.22635044, -0.082104154, 0.19508606, 0.035620756, 0.05762853, 0.16084354, 0.005334513, 0.014237292, -0.09505982, 0.065088876, 0.048038885, 0.016058909, 0.00012522395, -0.036496364, -0.06643789) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.08257704, 0.001174265, 0.15590613, -0.022218218, 0.0076125837, 0.028754758, -0.07402362, 0.06663303, -0.045714367, 0.04686763, 0.086656034, -0.07300678, 0.054710183, 0.06941959, -0.07530675, 0.091957584) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.09857265, -0.11390332, -0.18169977, -0.014009257, 0.032378554, 0.00028796482, 0.06971053, -0.06466647, -0.08591199, -0.1883516, 0.07052337, 0.07699922, -0.048252013, -0.14209114, 0.09588853, 0.044951204) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.020877661, 0.016536655, -0.062076554, -0.11427186, -0.21191455, 0.12167865, 0.122240745, 0.028201176, -0.0871009, -0.053196564, 0.06808328, 0.071704194, -0.19227485, -0.14654213, 0.008296314, 0.01008239) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.0345322, -0.08360303, 0.08294067, 0.0024336807, -0.11972769, -0.08098406, 0.0019175576, 0.15981314, -0.076919034, 0.09906409, 0.06229293, -0.0015484038, 0.05739559, -0.09769374, 0.034139607, 0.01022288) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.20823511, 0.14903569, -0.12662478, -0.18958801, 0.042705096, 0.087041914, -0.011798994, -0.03054304, 0.008387501, -0.00020869075, -0.13544756, -0.056264065, -0.06893683, 0.043509603, 0.047092162, -0.020960758) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.1253149, -0.1795108, 0.10664313, -0.053281732, -0.014992822, 0.038051307, -0.017754287, 0.087486215, 0.0008402511, 0.002476463, 0.057796687, -0.0063772392, 0.04383979, 0.029714601, 0.06885332, -0.04575157) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.100397795, -0.14530356, 0.13411486, -0.1946371, 0.072108604, -0.036068115, 0.10393212, 0.17481814, 0.06693771, 0.02193282, -0.0074789394, 0.05288564, -0.06459968, -0.00963971, -0.044981368, -0.06412206) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.057341356, 0.10777572, -0.017328802, -0.07610742, 0.07844612, 0.07733976, -0.26711637, 0.08371567, -0.041454475, 0.057934903, -0.10404679, 0.026970921, 0.12022616, 0.050202593, -0.080836974, 0.025968835) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.014504614, -0.13850531, 0.0068394463, -0.05590347, -0.03778167, 0.048496246, 0.14092802, 0.01474621, 0.027917031, -0.1785379, -0.27962312, 0.011066198, -0.07097587, -0.09966025, -0.013836089, -0.07241031) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.035284434, -0.08841303, 0.06708375, 0.017741943, 0.051878214, 0.08496953, 0.029842097, 0.10218103, -0.028753716, -0.018283106, -0.05078945, -0.14202194, -0.09313042, -0.024567727, -0.080564946, -0.016078297) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.043310538, -0.005628924, -0.02308888, 0.015222, -0.0066234106, 0.15714623, -0.20240225, -0.016845098, -0.10588985, -0.05295458, 0.10424738, 0.08383936, 0.0017299048, 0.035341155, -0.08292438, -0.06275) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.013611505, -0.08551848, 0.10457699, -0.014633607, 0.027828956, -0.07413837, 0.08218087, 0.06118614, -0.053852443, 0.26649082, 0.22061037, -0.103588976, 0.036559004, 0.04432333, 0.00031273966, 0.010355381) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.0055246893, -0.0046726153, 0.1404974, 0.027678516, -0.04535721, -0.0046062237, -0.046658788, -0.1455918, 0.14065377, -0.2160178, 0.061948158, 0.077671476, -0.11155712, -0.015652515, 0.06591247, -0.079606846) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.04944428, 0.013074611, 0.033495624, -0.006329389, 0.039378893, -0.031233173, -0.09265984, -0.011124271, 0.0009153778, -0.015792089, -0.039203104, -0.08640315, -0.024130197, -0.013269353, 0.047436606, 0.02411756) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.057765394, -0.04890302, -0.11222109, 0.06843934, -0.027632425, -0.0144710895, 0.0053112246, 0.033190195, 0.35012537, -0.06261493, 0.19600707, -0.11582837, 0.054907177, -0.0884194, 0.1513694, -0.013817495) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.048453707, 0.06472686, 0.047013845, 0.0641604, -0.015910165, -0.09338272, 0.010620823, 0.012727837, 0.015125792, -0.09040648, -0.029552838, -0.27037737, 0.094282195, 0.030202609, -0.030899743, -0.031859875) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.034217663, -0.039460376, -0.012393887, -0.100564264, 0.053931348, -0.024658075, -0.109412335, -0.06284644, 0.032397095, 0.12667423, -0.23002815, -0.07342986, 0.046325065, -0.05945156, -0.047825284, -0.06603457) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.06552447, 0.020509327, 0.14533457, -0.13914771, 0.021107439, 0.091681205, 0.082723185, -0.068430625, -0.086770415, -0.053404074, -0.15457001, 0.05430344, 0.011251093, 0.078977354, 0.1211214, -0.014628935) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.027090933, 0.08689176, -0.05525556, -0.12701924, -0.056948997, 0.026256703, -0.07762119, 0.090049274, -0.026512124, -0.06863006, 0.1627328, -0.037766345, -0.050477374, 0.028594289, -0.012942202, 0.07589747) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.12453089, -0.011970907, 0.18871064, 0.0050166366, 0.065247044, 0.016960278, -0.2226072, -0.05260013, 0.009542172, -0.07569817, -0.037951794, 0.052664988, 0.0622325, 0.051272474, -0.109977424, 0.008841432) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.016921584, -0.11089787, 0.05648481, 0.21671112, 0.00015102842, -0.14472821, -0.059798043, -0.0013555695, 0.055424623, 0.028723393, 0.06816924, 0.07606729, -0.04787323, 0.16900629, 0.0890633, -0.033358198) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.143459, 0.1351778, -0.016592292, -0.10092211, -0.065327324, 0.029622236, -0.038531173, 0.07134741, -0.023268731, 0.027860677, 0.013389837, -0.05380223, 0.050726175, 0.13962166, 0.045234684, -0.019238325) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.14183797, 0.053517964, 0.056303978, -0.01590549, 0.0065734107, -0.049556825, 0.1180889, -0.036936674, 0.05643276, -0.07591604, 0.019332478, -0.021931168, 0.09086701, -0.022386895, -0.081432484, -0.06673876) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.008325278, 0.0056238417, 0.09198202, -0.16568907, -0.024698736, -0.09373832, -0.06819886, -0.0826863, 0.010892532, 0.08296999, 0.03641377, -0.044848405, 0.11045312, 0.039825726, 0.051317453, 0.061486423) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.030298421, -0.09127495, 0.15234521, -0.12689416, 0.025191136, 0.036626924, -0.11038827, -0.046817113, 0.01413108, -0.016979415, 0.11719717, 0.07779946, -0.04049531, -0.13277234, 0.020007197, 0.017575957) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.043925725, -0.12304439, 0.06566889, 0.08772669, 0.04395645, 0.0034048588, -0.112973675, -0.056709565, -0.13671277, -0.036724143, 0.09637912, 0.01027923, 0.07570598, -0.17822143, -0.22025937, -0.11571199) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.055342816, -0.047199737, -0.1006355, -0.15406649, -0.022052363, 0.037657857, -0.15297286, 0.018364694, -0.098418795, -0.12964359, -0.032292146, -0.10484703, -0.035504304, -0.007640491, 0.07595978, -0.09426974) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.074180245, 0.0022911648, -0.060650155, 0.07706165, 0.042399142, -0.013352806, 0.0052035395, -0.010693409, 0.036603317, -0.034183055, -0.0875537, -0.11926955, 0.111262545, -0.05744457, 0.066937864, 0.0109483255) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.07140309, 0.0017592674, -0.28626558, 0.12909453, 0.054427676, -0.028394029, -0.03438435, -0.048481606, -0.026013052, 0.065143645, -0.08558146, -0.031465903, 0.09214186, -0.00043676817, -0.13822325, -0.089033) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.010899252, 0.013444644, -0.21668449, -0.13231798, 0.015040892, -0.045443825, 0.1045085, 0.13347825, 0.024619233, 0.10990166, 0.05795871, -0.10556404, 0.05066911, -0.03065494, -0.0955556, -0.030788325) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.019419951, -0.009229003, -0.027585449, 0.050794773, 0.0682526, 0.07931148, -0.029924965, -0.040264193, 0.060295276, 0.053969227, 0.08592586, 0.014475783, -0.0066896016, 0.09464876, -0.023833895, -0.04402733) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.024010876, 0.05649775, -0.010965242, 0.006494171, -0.08085587, -0.0135588795, 0.07465162, -0.08387553, -0.38230607, -0.024067359, 0.27060926, -0.017428715, 0.1588777, -0.049045783, 0.0030008475, -0.08620333) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.07736196, 0.040715955, -0.054656055, -0.09074839, -0.02990215, -0.06171232, 0.0062310323, 0.012574248, -0.07423619, 0.07230856, 0.16769326, -0.09955486, -0.017978592, -0.00376594, -0.01959666, 0.020451088) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.0191042, 0.07641419, 0.026766025, 0.0062361713, -0.06794068, -0.03777919, 0.03125627, -0.036392994, 0.010299571, 0.0006321784, 0.02988043, -0.10702073, -0.019692184, -0.05703886, -0.055296697, -0.032164272) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.08780687, 0.06382538, 0.11040165, -0.01168355, -0.14652027, -0.016029429, 0.01944888, -0.15852267, 0.2733673, 0.033866342, 0.0941384, -0.05627305, -0.04882399, 0.018717794, -0.025001237, 0.016736899) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.011445415, -0.09245938, 0.052272655, 0.049110502, -0.1290952, -0.029079147, -0.00692394, -0.060986716, -0.115850285, 0.09327869, -0.077394985, -0.20036305, -0.0626525, -0.10035395, -0.12814616, 0.087773055) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.07005146, 0.068726964, 0.003938913, -0.05965407, -0.037779998, -0.001946895, -0.11166225, -0.18779494, 0.03043351, 0.033680074, -0.058381688, -0.042464454, 0.06597292, 0.04931646, 0.08156206, -0.08376072) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.0541671, -0.06862131, -0.097136945, 0.031052178, -0.11229367, 0.013700579, -0.087635994, 0.18394086, 0.10322398, 0.11246905, -0.108702645, 0.028444434, 0.043599386, 0.048060656, -0.003975545, -0.058290016) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.015076612, -0.03943537, -0.013148105, -0.021479817, -0.10725273, 0.07034479, 0.07028399, -0.12401543, -0.0069128685, 0.15114632, -0.09768571, 0.05561166, -0.14328957, -0.036845163, -0.15945019, -0.054126002) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.07963718, 0.056610465, -0.027586304, 0.008666854, 0.05608368, 0.0354096, 0.002473013, 0.2802242, 0.2304349, 0.009057034, -0.032056365, -0.03564973, -0.08188656, -0.04717041, -0.00058522704, -0.05542288) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.021664033, -0.003922389, 0.028557418, 0.05481902, -0.2429336, 0.07134014, 0.03540102, 0.0455878, 0.0423216, 0.07683857, -0.08300639, -0.014615259, 0.12732883, -0.044108443, 0.003722633, 0.039532978) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.119040966, 0.034698237, 0.029780699, -0.09373721, 0.06497289, 0.18443705, 0.123711385, 0.09711522, 0.20454118, -0.035233613, -0.07358363, -0.085236676, 0.06911898, 0.027452765, -0.023302466, 0.058168385) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.004033362, -0.08089707, -0.08099588, -0.039473455, 0.07402632, 0.014335105, 0.11434177, 0.2636139, 0.15050039, -0.04723303, -0.14428635, -0.07259492, -0.044719897, -0.09078159, 0.082162745, 0.11220154) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.048008054, -0.4684617, 0.29814914, -0.111897476, -0.17648853, 0.13639835, 0.059435274, 0.052396066, -0.040743425, -0.08543701, -0.11146877, 0.06882664, -0.14967878, -0.5103915, 0.37118155, 0.09353371) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.1700491, 0.00024562504, -0.05831955, 0.20874903, -0.08737317, -0.01699044, -0.01193738, -0.060658704, 0.013190208, 0.05118988, -0.08729937, 0.0057875603, -0.010839486, 0.12817681, 0.36085293, 0.21885367) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.053345118, -0.007991629, -0.2295447, -0.106712036, -0.0642862, 0.082693905, 0.08296624, 0.041027255, 0.044807896, -0.030854832, 0.025336493, -0.07641644, 0.2284241, -0.02235579, -0.39754578, -0.18967454) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.033049133, 0.03970557, -0.11871673, -0.08604657, 6.167124e-05, -0.018901229, 0.03054421, 0.17262478, -0.0029762278, 0.019034421, 0.13058494, -0.056960683, -0.094177425, 0.277204, 0.049699496, 0.4098002) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.08345702, 0.15348859, -0.1888255, -0.10058136, 0.08243991, 0.008275174, 0.07337287, -0.12490293, -0.07774213, -0.040393777, -0.07410342, -0.09028767, -0.22894393, 0.55879414, 0.34077474, -0.11093413) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.039656118, -0.023894448, -0.012575258, -0.027416592, -0.0099816155, 0.097422384, -0.025962252, 0.19579163, -0.033561453, 0.04202789, -0.026714629, -0.005847835, -0.07840013, -0.18340814, -0.14287804, 0.12915361) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.050350107, 0.008674347, -0.1116445, 0.037850384, -0.08067634, -0.13130316, 0.008206221, 0.07621393, 0.038831506, 0.035003662, 0.0017584978, -0.031755894, -0.5487466, -0.08510481, -0.26247123, -0.007668856) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.0025259892, 0.031122757, 0.09867293, -0.079449035, 0.32029513, 0.023163596, 0.03648681, -0.031461753, 0.08427882, -0.049382403, -0.017344179, 0.051359776, 0.115607925, 0.40584886, -0.019569403, 0.6893792) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.0554935, 0.02558419, -0.013385633, -0.021018988, -0.025119472, -0.039431427, 0.021714624, 0.008171393, 0.060130153, 0.047260847, -0.039414685, 0.038478136, 0.014895645, 0.090197705, -0.0076264814, 0.36805063) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.028656688, 0.023696585, 0.019299261, -0.0131955175, 0.03803729, -0.096731834, -0.18471529, 0.0003827907, 0.040712662, 0.08217805, -0.02724716, -0.046793487, -0.07556268, -0.039582565, 0.04730422, 0.027060753) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.018739216, -0.05732208, -0.14677496, 0.022470666, -0.05294048, -0.114461355, -0.004439937, -0.0016457578, 0.042711783, 0.0191185, 0.03964613, 0.11062689, -0.06912071, -0.059979975, -0.025112407, 0.0023706553) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.00058619084, -0.09338333, 0.050038807, 0.022421064, -0.027231814, 0.06430328, -0.16561268, 0.004567822, 0.012917596, -0.003641644, -0.0153982, -0.10206195, 0.11344666, -0.06960186, 0.02171651, 0.06610664) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.2452681, -0.04763313, 0.04848218, 0.06307683, -0.040564146, 0.050070893, -0.08049614, 0.08429296, 0.06380898, 0.009793144, -0.05663616, 0.16365905, -0.053461596, 0.030028192, -0.16878459, -0.026341502) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.05487907, 0.028102914, -0.18054219, 0.118018016, 0.03812863, 0.020934626, 0.0424677, 0.05674933, 0.034156475, 0.00322894, 0.07735863, -0.03202418, 0.006530581, 0.078506455, 0.0543521, 0.10048169) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.056984287, -0.005904742, -0.059880134, 0.0013915695, -0.06056138, -0.015850691, 0.0033215059, 0.07386708, -0.062183436, -0.032575116, 0.04079583, -0.03962085, 0.099124886, -0.017045949, 0.040351085, 0.070955284) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.23928301, -0.045235932, 0.1792885, -3.1293457e-05, 0.082065284, 0.11440652, 0.106156945, -0.0615243, 0.114815645, 0.13704878, -0.041952446, 0.043298386, 0.0908189, 0.04690605, -0.056807585, -0.14534093) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.3006996, -0.0025777186, -0.020018628, 0.16254738, 0.014978664, -0.11584511, -0.052482218, -0.062216055, 0.09777342, -0.014347105, 0.062344667, -0.095268376, -0.04810277, 0.048894394, -0.01396083, 0.0873111) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.08905706, -0.052323777, 0.09366339, -0.015430091, 0.025547259, 0.04735252, -0.036291633, -0.06011491, 0.0013053482, 0.10332126, -0.040534172, -0.033286426, -0.0048432224, 0.07413334, -0.04097658, 0.11119359) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.12875931, 0.06171282, 0.13571867, 0.0065787383, -0.004979468, -0.045374207, 0.029823486, -0.012911564, -0.035592265, 0.056817155, -0.04674272, 0.0029563603, -0.016331282, -0.07914643, -0.26609164, -0.00044424366) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.03545822, 0.12666087, -0.06322034, 0.09302134, -0.04882514, -0.028394952, -0.09171164, 0.065767676, 0.05592496, -0.07356467, -0.10331256, 0.073106304, -0.01125202, 0.027758313, 0.039658755, 0.008349148) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.11303621, -0.047585323, 0.16087149, -0.035328887, -0.022284022, -0.010228728, 0.017476482, -0.0025067858, 0.03513297, 0.06548489, 0.04282244, 0.06300343, 0.09760368, -0.023188997, -0.20604132, 0.11211723) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.10886368, 0.17902881, 0.06024959, -0.05510204, 0.04851614, -0.014515998, -0.08250451, 0.033878278, -0.08667216, 0.017453155, 0.038359188, -0.03776458, -0.11163618, 0.10619242, -0.16477354, -0.07421862) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.041987054, 0.11644637, -0.006158093, 0.028818311, 0.056580674, -0.029866315, -0.11043473, 0.1167713, -0.043802347, 0.10632521, 0.026136281, -0.0004826731, 0.041647535, -0.025852622, 0.029017415, -0.065609515) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.03931465, 0.027772535, -0.013415643, -0.0495431, 0.08483547, -0.047082886, 0.0822504, 0.081875585, 0.057233125, 0.098173454, -0.017621156, -0.026879942, 0.008444754, -0.0034473073, 0.076665595, 0.035352718) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.029887056, 0.06983454, -0.1497635, 0.15160418, -0.12243339, 0.07390919, 0.015558749, -0.11193292, -0.11566052, 0.0011973128, 0.1294462, 0.038694005, 0.04842549, -0.07361883, -0.087999076, -0.012567805) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.64574295, 0.17106201, -0.19080785, 0.05886845, 0.064426176, 0.06376586, 0.045012735, -0.07099809, -0.052735697, -0.004316832, -0.021189725, 0.012291064, -0.0026250503, 0.07806516, 0.010088264, -0.061621714) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.01049018, 0.044615597, 1.5735648e-05, 0.026528304, 0.041527037, 0.1236395, -0.009474413, 0.02995342, 0.15638192, -0.061404996, -0.031147651, 0.10672426, -0.034964863, 0.010004442, -0.06802769, -0.005792207) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos7 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(7, 0); + imageStore(out_image, store_pos7, max(result7, V4(0.0))); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4_CMP] (Conv2D-3-ReLU) +//!COMPUTE 16 16 2 16 +//!HOOK LUMA +//!BIND conv2d_2 +//!SAVE conv2d_3 +//!WIDTH LUMA.w 8.0 * +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#ifdef GL_EXT_shader_explicit_arithmetic_types_float16 +# define V4 f16vec4 +# define M4 f16mat4 +# define F float16_t +#else +# define V4 vec4 +# define M4 mat4 +# define F float +#endif + +const ivec2 ksize = ivec2(3, 3); +const ivec2 offset = ksize / 2; +const ivec2 isize = ivec2(gl_WorkGroupSize) + ksize - 1; +shared V4 inp[8][isize.y][isize.x]; +void hook() { + ivec2 base = ivec2(gl_WorkGroupID) * ivec2(gl_WorkGroupSize); + for (uint y = gl_LocalInvocationID.y; y < isize.y; y += gl_WorkGroupSize.y) { + for (uint x = gl_LocalInvocationID.x; x < isize.x; x += gl_WorkGroupSize.x) { + inp[0][y][x] = V4(conv2d_2_mul * texelFetch(conv2d_2_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(0, 0), 0)); + inp[1][y][x] = V4(conv2d_2_mul * texelFetch(conv2d_2_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(1, 0), 0)); + inp[2][y][x] = V4(conv2d_2_mul * texelFetch(conv2d_2_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(2, 0), 0)); + inp[3][y][x] = V4(conv2d_2_mul * texelFetch(conv2d_2_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(3, 0), 0)); + inp[4][y][x] = V4(conv2d_2_mul * texelFetch(conv2d_2_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(4, 0), 0)); + inp[5][y][x] = V4(conv2d_2_mul * texelFetch(conv2d_2_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(5, 0), 0)); + inp[6][y][x] = V4(conv2d_2_mul * texelFetch(conv2d_2_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(6, 0), 0)); + inp[7][y][x] = V4(conv2d_2_mul * texelFetch(conv2d_2_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(7, 0), 0)); + } + } + + barrier(); + V4 result0 = V4(0.0041763675, -0.00015561197, 0.00043137456, -0.005530642); + result0 += M4(0.09109096, -0.06185723, -0.06877932, -0.021424336, 0.13679335, -0.09147299, 0.05754927, -0.028977683, 0.04701814, 0.013856045, -0.00052681915, 0.059742622, -0.011636531, 0.007831621, 0.09873801, 0.042428706) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.013023498, -0.02423417, -0.021192769, -0.0029050251, 0.04960979, 0.08463689, 0.010403451, 0.071290515, 0.044170592, -0.029673295, 0.044549223, 0.028909495, -0.007524028, -0.019105086, -0.038480397, 0.020389024) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.01249002, -0.005095979, -0.021253841, -0.028534885, -0.05202186, -0.08575097, 0.061236273, 0.15328415, 0.0015902332, 0.02191497, 0.01828848, 0.0028353522, -0.069555886, -0.0129308505, -0.079767905, 0.06196179) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.038188342, 0.11562443, -0.10354651, -0.0033936515, 0.3094532, -0.10322889, 0.16911487, 0.02602767, 0.0830408, -0.060751818, 0.042680934, 0.10321985, -0.07879421, 0.0060526878, -0.019599505, 0.05635195) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.001166806, 0.015558341, -0.06189823, -0.11618233, -0.24148875, -0.00018016309, -0.21207339, -0.04778991, 0.02659277, -0.0042296653, 0.032283247, 0.13142076, 0.0640047, 0.10595964, 0.052426673, 0.010838571) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.07870593, 0.07172099, -0.09810201, 0.00836024, 0.048926823, -0.09042952, 0.022393446, 0.09029196, 0.0048283404, -0.023672473, 0.040032633, -0.031008942, -0.05409776, -0.09373574, 0.020449419, -0.02502696) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.0708253, -0.0022896654, -0.056199774, -0.014342989, 0.11863331, 0.05260165, -0.027277598, 0.043524772, 0.058483288, 0.019180834, 0.05931086, 0.04017826, -0.08757496, 0.015762083, -0.02235846, 0.02158191) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.10172552, 0.04275861, -0.0026946783, 0.039442725, -0.07141638, 0.0938156, 0.12733677, -0.07022865, 0.042079184, 0.060169443, -0.00927315, 0.10522642, -0.030397024, -0.033735488, 0.03424985, 0.028722497) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.052126255, -0.018671086, -0.018677743, -0.01486122, 0.07512424, -0.02600645, 0.06376631, 0.048908573, 0.08128219, 0.009870944, 0.035612788, 0.01434291, 0.057785507, -0.007445471, -0.0050640586, -0.08135727) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.040587783, -0.0046785017, 0.03511542, -0.06748168, -0.10525443, 0.009259858, 0.008561076, 0.033411153, 0.011438507, 0.008868877, -0.016604926, -0.056095313, -0.1167241, -0.0045294166, -0.026720071, -0.09620785) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.03495275, -0.049134657, -0.04651088, -0.013172636, 0.06366684, 0.05554731, -0.04750784, -0.03243142, 0.07711349, 0.01338336, -0.001713371, -0.0034176365, -0.011421256, -0.028545482, 0.07339049, -0.014552849) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.08656529, 0.020004468, 0.13131823, 0.07824596, 0.051806178, -0.0652573, -0.08077671, 0.04597167, 0.04477222, 0.029432308, 0.0031636637, 0.11540172, -0.015211879, 0.022537231, 0.051984113, -0.019883154) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.0046748137, -0.006259269, -0.0056213043, -0.09709571, -0.024479676, 0.015068162, -0.006853446, 0.043740794, -0.024493016, -0.018852964, 0.06426209, -0.10486125, -0.1064356, 0.02938895, 0.050451744, -0.0058905277) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.02865254, 0.055924214, -0.06660468, -0.013989141, 0.114928536, -0.033382304, -0.024567036, 0.036259554, 0.097210065, -0.1092158, 0.11839015, -0.046843685, -0.07305035, -0.023987174, -0.09167229, 0.13318402) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.027520066, 0.05108252, -0.051894978, 0.036802597, -0.08344155, 0.07560126, -0.000118964104, -0.024772577, -0.034960173, 0.043626167, 0.002068566, 0.0901237, 0.018777234, 0.058930125, 0.06904689, -0.015776988) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.08217847, 0.009816564, -0.053399637, -0.034870904, 6.63189e-05, -0.069174044, 0.08256971, 0.0312444, -0.021373205, -0.046342913, 0.0074867075, -0.10880407, -0.07670315, -0.015092539, -0.010244525, -0.031691067) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.028407985, 0.017863622, 0.027518991, -0.0951435, -0.05682118, -0.13884291, -0.19842662, -0.13354085, -0.070607096, -0.08158341, 0.022987477, -0.046564396, -0.011791028, -0.034969945, 0.06253055, 0.04563233) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.0035378064, 0.007863229, 0.012223727, 0.0810219, 0.046096146, -0.05974413, 0.057429437, -0.11694107, -0.10726504, -0.0456898, -0.019971529, 0.047886707, 0.013380604, -0.03204019, 0.030690433, -0.030988295) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.12603527, -0.027436055, 0.03796484, 0.011414426, -0.1125516, 0.00088821293, -0.12408824, -0.12310542, -0.09274338, -0.12436026, -0.115539655, -0.013749771, 0.06424589, 0.0883727, -0.030456608, 0.11754842) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.09219693, -0.06867746, 0.042474233, -0.0034714162, -0.070511356, 0.071659654, 0.100930326, 0.0002892454, -0.03677257, -0.20039818, -0.15029483, -0.20365614, 0.09272926, 0.024812477, -0.03912339, 0.035159975) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.04643662, 0.0007948261, 0.034974378, 0.022535544, -0.035261445, 0.04582424, -0.01373341, -0.037395004, -0.020323051, -0.043710086, 0.11207105, -0.36824712, -0.028825987, 0.039722957, 0.01539624, -0.0014503235) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.038240034, 0.028692953, -0.06101003, 0.11014191, -0.0817274, 0.039969616, -0.030644773, -0.020454582, -0.012183322, -0.06761811, 0.071939565, 0.124877915, 0.047227748, -0.067076735, -0.0073560816, -0.058362134) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.04838307, 0.06431387, 0.065706156, 0.002611797, -0.048204217, -0.12998635, -0.09611708, -0.09234349, 0.10647229, -0.034014795, -0.054942377, 0.18679762, -0.11273208, -0.02249036, -0.030772092, 0.0066053043) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.08824016, -0.02026669, 0.027416304, 0.08108321, -0.02831068, 0.053601928, -0.049589653, 0.030155621, 0.08164136, 0.07336984, -0.013902324, 0.15839839, 0.007585001, 0.0120746745, -0.00092273566, -0.14492542) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.012240494, 0.047363944, -0.15562788, 0.04333409, 0.015506487, -0.046294544, -0.040334288, -0.0378044, -0.08691312, 0.015103868, 0.001985882, -0.0808378, 0.02408316, 0.013329761, 0.10085932, -0.007282879) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.13499415, -0.030362675, -0.037270315, 0.08620722, 0.08054962, 0.040360443, 0.0024624777, -0.055999186, -0.031592146, 0.07169038, 0.07866088, -0.11272253, -0.03385377, 0.000935028, -0.0062249857, -0.04557142) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.14792214, -0.06932704, -0.050349783, -0.055980608, -0.13538426, 0.11274684, -0.1518314, 0.008134292, 0.01214271, 0.040907685, 0.03715167, 0.19796917, -0.013006023, -0.09116018, -0.063718565, 0.055086385) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.01819719, -0.02022356, -0.17738704, 0.0014655583, -0.0068674497, -0.050734494, -0.061214004, -0.08729115, 0.17869957, 0.037954, 0.020123564, 0.18673836, -0.03995827, 0.014157153, -0.055163287, 0.024377879) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.05382804, 0.0020711976, -0.0793398, -0.015758013, 0.07349594, 0.0014140776, -0.023829048, 0.072867826, 0.1243727, 0.055346683, 0.09414809, 0.059329797, -0.019271912, -0.054485913, 0.11686076, -0.028745748) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.025249727, 0.018151114, -0.010578322, 0.054611802, 0.083876364, 0.07017413, 0.049863968, 0.08700835, 0.026560968, 0.021844113, 0.087237366, 0.12952451, -0.22799028, 0.06330762, -0.14015156, -0.110854074) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.20107105, 0.052422807, 0.09096262, 0.07321379, -0.028227502, -0.03412706, 0.009498838, -0.04389087, 0.074914105, 0.026869817, 0.07713518, 0.123361155, -0.11936596, 0.018390154, 0.017766356, -0.15083162) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.15814051, -0.043697603, 0.01379969, 0.035954338, 0.031770214, 0.03620162, 0.17973149, 0.0045978725, -0.049178306, 0.026244974, -0.06088974, 0.15190303, -0.06045505, 0.05975894, -0.029584263, 0.042438965) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.021228747, -0.00853488, 0.032834146, 0.055365425, 0.014042705, 0.015590358, 0.058042366, 0.07874549, -0.011871365, -0.087318026, -0.017388763, 0.06343017, -0.18901287, 0.12065834, 0.009961089, -0.12818676) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.18813676, 0.6822455, 0.6391616, -0.15212151, 0.05392684, -0.00031880045, -0.24033982, -0.0033354668, -0.020144396, 0.03866757, -0.10475279, 0.081903875, -0.13194363, -0.021671645, 0.05168822, -0.031649426) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.3535044, -0.087622836, 0.09726497, 0.5122971, -0.009225645, 0.09826871, -0.02467884, -0.046394262, -0.009935868, -0.017851865, -0.123835266, 0.10672286, -0.09770804, -0.015247506, -0.09598879, -0.08966965) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.0044493764, 0.2888372, -0.029995203, 0.111622065, 0.07695551, -0.017294675, -0.0639725, -0.052036062, -0.042924922, 0.06996007, -0.0030690494, 0.0146609135, -0.075210676, -0.0056788484, -0.0063045933, -0.015749069) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.089909926, -0.11137289, 0.0899113, -0.085118264, 0.033892997, 0.02884245, 0.1126895, 0.012579078, 0.064842306, -0.028779255, 0.028939465, 0.04449653, -0.0759756, -0.023774303, 0.08678125, -0.07514472) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.0061250553, -0.023816254, -0.05522394, 0.010986393, 0.0769645, 0.016106417, -0.0034507494, 0.073808625, 0.041632716, 0.09599839, 0.15408577, 0.035930872, -0.0012858206, -0.01536606, 0.04508762, -0.011481658) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.076247096, 0.020954696, -0.04884322, 0.0047451695, -0.05179795, 0.024971588, -0.0016755456, -0.022067595, 0.044266585, 0.05071097, 0.06782933, -0.04224308, -0.045821015, -0.011028278, 0.031341232, -0.119915195) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.06274977, 0.07152471, 0.058587503, 0.04947509, 0.011874565, -0.073661596, 0.13372722, 0.031425543, 0.019517792, -0.017660597, -0.07801366, 0.08257685, -0.0152752055, 0.051833943, 0.04444307, 0.017267935) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.050870918, 0.112134576, -0.0043491297, -0.11007788, -0.025757805, 0.032058995, -0.041592576, -0.069347344, 0.1010248, 0.037021678, 0.060762048, 0.08789535, -0.043587156, 0.032193154, 0.024842924, 0.063237354) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.019522848, -0.05530802, 0.03502901, 0.03545693, -0.0819186, 0.05510059, -0.060606923, 0.04781063, -0.0077671097, 0.042378303, -0.02231979, -0.10625905, 0.019380989, 0.023501469, -0.05967367, 0.069153205) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.056381248, -0.00873931, -0.0066795396, -0.0021557382, 0.028124247, 0.074391626, -0.029136118, -0.018152768, 0.048905917, 0.00868244, 0.005598844, 0.06878635, -0.0030572673, -0.06320811, -0.040207926, -0.10750542) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.014446289, -0.064317785, -0.008612635, 0.010680333, -0.07492969, -0.016623009, 0.0738781, 0.08213655, 0.0638948, 0.10263002, 0.024795486, 0.09025263, 0.02693005, -0.00614219, 0.0721093, 0.021186879) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.020144088, 0.06780066, -0.036743972, 0.08851702, 0.005754635, -0.04735153, 0.044504173, 0.04472034, 0.05125983, 0.111753136, 0.0137629695, 0.02963471, -0.016716482, -0.0339091, 0.093319334, -0.009386969) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.11485336, 0.030262409, -0.012468138, -0.12403241, 0.015280468, 0.053778265, 0.033369914, 0.011238094, 0.06572572, -0.05490244, 0.08510248, -0.070507154, 0.058104035, 0.08456986, -0.043425202, 0.033838134) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.0122358, -0.0515461, -0.043307304, 0.04277791, 0.026636532, 0.023602007, -0.029029349, 0.040292226, -0.067805596, 0.071106225, -0.005092644, 0.043389272, 0.018436037, 0.017043654, -0.013611974, -0.12094301) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.02177135, -0.0069624623, -0.13503325, -0.0038192144, 0.0011895316, 0.012521961, 0.05178955, -0.07150512, -0.074818574, 0.06557555, -0.12516412, 0.022465529, 0.038763016, 0.007305712, 0.01305057, 0.02347406) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.042498395, 0.06301701, -0.12554123, 0.045705087, 0.04338638, -0.0014682045, 0.008243261, 0.09885924, -0.009853623, 0.08857842, -0.06591207, -0.06237435, -0.002959914, 0.07989312, -0.048987124, -0.01172794) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.033357777, 0.027390286, 0.057908237, 0.073077425, -0.037573826, 0.03330829, 0.058746934, -0.07233917, -0.013489555, 0.02756826, -0.08307646, -0.048566286, 0.10099485, 0.04190055, -0.09093189, -0.12853788) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.18374674, -0.022448728, -0.09004078, -0.12400761, -0.0086569805, 0.0191931, 0.020113608, 0.032969866, 0.02220212, 0.062447272, -0.0372169, -0.10063112, -0.0047156257, -0.046290807, -0.123499535, -0.105957985) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.03963375, 0.0083684, -0.065405875, -0.047477864, -0.029260624, 0.075531945, -0.020448161, -0.063663796, -0.053645883, 0.05619168, 0.031642858, -0.086825125, -0.19545855, 0.050727658, 0.12190084, -0.013859189) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.039203953, -0.040638413, 0.013504533, 0.085428946, -0.039118536, -0.051279478, 0.077434696, -0.023042008, 0.13396579, -0.008277115, -0.009366487, -0.04710817, -0.19759806, 0.00044209603, -0.07191776, 0.007557136) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.1901677, 0.019543996, -0.03418915, -0.053808205, 0.071042635, -0.077372506, 0.04217533, -0.1250138, 0.013910553, 0.016525956, -0.09776278, -0.03575992, -0.06674554, 0.008678073, -0.032910872, 0.08060425) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.07825587, 0.020148901, -0.065872565, -0.11958164, -0.03010001, 0.019026687, -0.04438779, -0.12133159, 0.0077309627, 0.006650541, 0.003811155, 0.048030466, -0.011303394, 0.020346541, -0.012581831, 0.015147838) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.0055140723, -0.07471953, 0.051632952, -0.027916014, -0.028248025, -0.023153896, 0.023269018, -0.061012033, -0.03808918, 0.022250304, 0.10639992, 0.14680037, 0.041620404, 0.038445007, -0.015676579, 0.017151127) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.14597718, 0.030522935, 0.10634136, -0.017035512, -0.08410382, -0.007061276, -0.094022945, -0.09955001, -0.03442219, 0.060061052, 0.053325474, -0.1661115, -0.06708026, -0.025088962, -0.10291502, 0.061344534) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.10942561, -0.0012564738, -0.016163008, -0.084714696, -0.06309771, 0.04764716, -0.099502236, -0.0761, -0.028567802, -0.03830971, 0.10546969, 0.07042692, -0.041569177, 0.019884901, 0.05730684, -0.05297699) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.042712834, -0.036417753, -0.002602268, -0.0067977104, -0.11328113, 0.013078841, 0.036829785, -0.080707036, 0.071397915, 0.0040602162, 0.047046546, 0.105054855, 0.056404427, -0.02757987, -0.2532226, 0.100117035) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.07181533, 0.037270866, 0.06533561, 0.058662865, 0.041214097, 0.0049806745, 0.0833059, -0.023144128, -0.12998308, -0.011185712, 0.071349606, -0.023730969, -0.09784311, -0.12578508, -0.021785459, 0.14702275) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.077116184, 0.043942716, -0.058104355, -0.1453441, 0.019583872, 0.032505844, -0.010124359, 0.015846053, -0.014315148, 0.0072051934, 0.010739286, -0.009922742, 0.010441605, -0.039423592, 0.115341954, -0.04064504) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.062381286, 0.018782977, -0.10575856, -0.022355104, -0.077479675, 0.07798946, -0.09286455, 0.04743935, 0.09128447, 0.029061032, 0.0808942, -0.023821197, 0.008845712, -0.042580847, -0.034596607, 0.10260751) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.076039515, 0.023823574, -0.03575594, 0.03133738, 0.057809882, 0.03741761, -0.027584683, 0.07036043, 0.014783812, 0.03277514, 0.002150228, -0.015895305, 0.0900988, -0.11856944, 0.12598258, 0.06335661) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.10393949, 0.017905174, -0.08749522, 0.029944483, 0.07527995, 0.03168551, 0.029189972, 0.035079822, 0.0708913, -0.07008, -0.031896662, 0.00861186, 0.05943853, 0.06746308, 0.024461526, 0.044479) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.042053252, 0.05443424, -0.081964195, 0.028100671, 0.020662962, -0.030107992, 0.121280305, -0.009434287, 0.05248376, -0.025832636, -0.006187891, 0.08903902, 0.076210335, 0.012958884, -0.05587589, -0.022360483) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.017511804, 0.004326304, -0.019913781, -0.0022056706, -0.025522796, 0.06184632, 0.0391333, 0.009833495, -0.109105885, 0.036124915, 0.009227339, -0.19228028, -0.032124102, 0.01963566, -0.06022394, 0.023460716) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.044242095, 0.060959473, -0.021715123, -0.034922697, -0.016567899, -0.06368721, -0.055842333, 0.065887116, 0.007342737, -0.047535814, 0.02802253, 0.05121095, 0.09555179, -0.004266918, -0.058399368, 0.01943327) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.043373153, -0.025791282, -0.01273769, -0.047513913, 0.045219436, -0.046305116, 0.014359003, 0.13959664, -0.016333926, 0.078411326, 0.07970509, 0.16192868, 0.015694024, -0.031581193, 0.0031667764, -0.07919286) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.035594463, 9.650971e-05, 0.012744533, -0.03561376, -0.007781158, 0.070922144, 0.107200116, 0.030783992, -0.0812112, 0.066788346, -0.1917975, -0.14986412, 0.006755266, -0.0059948843, 0.04309903, 0.023260389) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.021290086, -0.007955193, -0.004327404, -0.016638096, 0.076614514, -0.07827367, -0.0425833, -0.010376575, -0.038699128, 0.04555001, 0.032223694, -0.017238818, 0.05078738, 0.0108291125, 0.06604542, -0.02849594) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.07275331, 0.03742488, -0.053991497, 0.07134036, 0.016605735, -0.10837867, 0.09841648, 0.107206255, 0.064727925, 0.04310941, -0.0041035456, 0.12819009, -0.06502868, 0.05424949, -0.00020071087, -0.039668012) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.04357689, -0.05529, 0.02577039, 0.07166711, 0.080779254, -0.044064417, -0.060194682, -0.12890907, -0.07809638, -0.102881074, -0.07711648, -0.18950565, -0.014409476, 0.022002943, -0.0575237, 0.12901509) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos0 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(0, 0); + imageStore(out_image, store_pos0, max(result0, V4(0.0))); + V4 result1 = V4(-0.001695126, 0.0035469946, -0.0029454967, -0.00041324383); + result1 += M4(0.120979354, -0.02878675, -0.0495997, -0.1580815, -0.097700566, 0.14393945, -0.083768174, -0.038431656, 0.06994295, -0.053472165, -0.002781343, -0.031601146, -0.18552853, -0.012774675, 0.025145855, -0.109563455) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.023624105, 0.10340295, -0.039883584, -0.035649963, -0.015365898, 0.044752385, 0.011276085, -0.047258615, -0.07457625, 0.011077787, 0.06507321, -0.008440496, -0.076733805, -0.07757294, -0.081813686, 0.08688327) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.024937838, -0.03531588, 0.015341963, -0.05523468, -0.0043307026, -0.20113333, -0.040050667, -0.03714107, -0.005232295, -0.03687982, 0.012842953, 0.058079023, 0.11614248, -0.0060069645, -1.3339843e-05, 0.12167088) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.0076056537, -0.029742151, 0.0018670256, -0.087247886, -0.18013673, -0.11899622, 0.006558994, -0.04932152, -0.02549274, -0.04985082, 0.02305793, 0.0023423992, -0.05027982, 0.007874547, -0.01679334, -0.03436683) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.04999365, -0.018407956, 0.0009944985, 0.04345085, 0.19637534, 0.13149936, 0.02554096, 0.17302908, 0.03441786, -0.02335343, 0.042003118, -0.01024421, -0.04159061, -0.054837275, -0.0038416046, -0.02476297) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.031101795, 0.14558767, -0.07206877, 0.052708235, 0.08505478, -0.023270348, 0.001553299, -0.04549834, 0.05328786, -0.08920926, 0.019936608, -0.025718318, 0.007268998, 0.11558863, -0.0056009186, -0.020495217) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.076302186, -0.05664674, 0.005006967, 0.0030133713, 0.23879714, 0.20663442, -0.025949836, -0.14244378, -0.03495674, 0.009446209, 0.038171247, -0.094296895, -0.07021408, 0.034290023, 0.050304703, 0.0073547536) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.037316702, 0.0374497, -0.017506687, 0.028516188, 0.15285978, 0.04927979, 0.020178253, -0.035836015, 0.04757408, 0.06106494, 0.03895352, -0.061005022, 0.090642475, -0.031720303, -0.0657355, 0.0036125642) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.084251754, -0.032407988, 0.08594951, 0.0094843535, 0.096124806, 0.09917944, -0.05300003, -0.03277863, 0.032336593, 0.033859808, -0.04932706, 0.060522802, 0.11293289, 0.045322232, -0.07137389, 0.04431934) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.20299543, 0.07374019, 0.062128976, -0.09794446, -0.18816027, 0.09832832, -0.01781829, -0.025102649, -0.08251809, -0.07359961, -0.016819915, 0.09163986, -0.16517146, -0.026389815, 0.018533437, 0.041983113) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.10197416, -0.038901415, -0.03290255, -0.02866043, -0.02106087, -0.024985416, -0.009235168, -0.0084007345, 0.033358987, 0.026020119, -0.055465814, 0.03882352, -0.056451727, -0.032081675, -0.013445896, -0.022249242) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.041866995, -0.0018986667, -0.04207936, 0.0476088, 0.0015847433, 0.014748927, 0.061728556, -0.005355436, -0.074536234, -0.09464863, 0.078781456, 0.0629639, -0.09645533, -0.038578674, 0.051876534, 0.021090968) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.023294697, -0.07415144, -0.03876262, -0.020699421, -0.0097194435, 0.045351394, -0.13063055, 0.016075116, -0.05201356, -0.029176803, -0.02607847, -0.017430224, -0.04435609, -0.038422227, -0.024159383, 0.0072050504) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.09464821, 0.07447065, 0.029499, -0.028388696, -0.15753546, 0.07398198, -0.007743805, -0.008364636, -0.094372734, 0.06745459, 0.012756842, -0.045111407, 0.11997749, 0.0994641, 0.10030438, 0.01799874) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.02799827, 0.09793178, 0.024977699, 0.023258513, -0.12608148, 0.10916745, -0.14883418, 0.035558652, 0.11771888, 0.0042778403, 0.010383776, 0.019918237, 0.07198248, 0.023574272, -0.031442724, 0.019957317) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.0043087075, -0.00082002574, 0.058719743, 0.036921773, 0.06913111, 0.09918062, 0.02941314, -0.029773962, -0.034880966, -0.03838896, 0.07653483, 0.038277686, -0.029821768, -0.03414616, 0.03570715, -0.005031276) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.08538469, -0.09484191, 0.025680063, 0.07115345, 0.04032414, -0.16641897, 0.050149787, -0.03156375, -0.024096526, 0.007861947, -0.08193744, -0.0042563756, 0.009750892, 0.006175754, 0.033445843, 0.062000804) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.12031357, -0.030815415, -0.022709282, -0.014617363, 0.02763779, -0.11548848, -0.093102075, -0.049090955, -0.015110666, -0.07122676, -0.06100469, -0.041725263, 0.1508762, -0.0752942, -0.011387075, 0.054927304) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.007859664, -0.04475106, -0.027078278, 0.0080731455, 0.11163838, -0.008791884, -0.090811655, -0.11808353, -0.060474988, -0.0029890046, -0.009780171, 0.097226046, -0.15477987, 0.067599885, 0.03767048, 0.023817455) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.17517915, -0.14561799, -0.023605771, 0.007633187, -0.014248703, -0.027388059, 0.01198336, -0.027139584, -0.13348784, -0.14291753, -0.0057209185, -0.019734932, 0.032727998, -0.03789137, 0.08126512, 0.07738896) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.045970835, 0.011182986, 0.010202174, 0.014528165, -0.2693465, 0.01358104, -0.054585338, -0.06201296, 0.011126145, 0.056822605, 0.074944824, -0.0023714162, -0.010245429, 0.09187759, -0.017843354, 0.04795185) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.008522892, 0.102788866, 0.006981109, -0.10024916, 0.28781766, 0.088221125, -0.06545298, -0.008376609, -0.0020934935, 0.011839558, -0.072302304, -0.18292524, -0.11375688, -0.031460643, 0.007883356, 0.06299395) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.09471401, 0.034616962, -0.028017316, 0.13753618, -0.18602444, 0.04003355, -0.079305515, 0.12179236, -0.11647172, 0.09087429, 0.04967249, 0.13721493, -0.019839615, 0.0010373363, 0.05881965, -0.10853915) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.13610534, -0.026888534, -0.008868884, 0.06915366, -0.11881806, 0.020302849, -0.09099203, 0.014362128, -0.13286738, 0.12852296, 0.027463447, -0.14802273, -0.11335478, 0.031861614, -0.010643729, 0.025794521) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.09765346, 0.096369036, 0.083908774, -0.0071675545, -0.098320484, 0.083397135, -0.04542146, -0.092722826, -0.031113608, -0.06659874, -0.016564088, -0.058676437, -0.0242032, -0.22367243, -0.024527555, -0.04281457) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.023611171, 0.035759673, 0.09438736, 0.021545468, -0.31685704, 0.022719257, 0.065302454, -0.08936363, -0.021261143, 0.0058661257, 0.028611572, 0.0645087, 0.14514728, -0.016857646, -0.0018004656, -0.010506927) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.09604528, -0.05051102, -0.028486157, -0.077873856, -0.08814019, 0.048149366, -0.044530507, 0.015084428, -0.100324795, 0.0053425287, -0.0094195455, -0.11545506, 0.16364709, 0.06271429, 0.07365711, 0.015183893) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.37431532, 0.028314484, -0.0036227778, -0.057684645, -0.03631459, 0.016578926, 0.010724293, 0.040908758, -0.057744328, -0.07863153, -0.04608624, 0.059156597, 0.13436551, 0.020720813, -0.00809405, -0.0021686715) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.020523028, 0.10956574, -0.0124110645, 0.12653027, -0.123100415, -0.110394046, -0.015657997, 0.12724194, 0.21756174, -0.060873926, 0.066837646, -0.035253663, -0.17558762, 0.015404649, 0.024176367, 0.11440313) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.07423888, -0.025016446, 0.022672895, 0.031679463, -0.009638226, -0.08402899, -0.012406549, -0.017912447, 0.13584289, -0.14279296, 0.058486238, -0.0027849053, -0.010427526, 0.08485522, -0.022379724, 0.0013967078) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.84317213, -0.023233047, -0.124564834, 0.08486047, 0.0005522705, 0.07572115, -0.010272373, -0.08059017, -0.027873145, 0.014856045, -0.051359583, -0.07709768, 0.10330256, -0.003251504, 0.02128288, 0.011174523) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.5891102, -0.007297348, -0.11212582, 0.102294594, -0.07852611, 0.03672132, 0.036932867, 0.15429047, 0.08610674, 0.070360504, 0.11874341, 0.039527327, -0.010189727, 0.051074, 0.13214155, 0.08871922) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.08628179, 0.06146346, 0.078478396, 0.08181509, 0.07183571, 0.012027773, -0.07966983, -0.002756555, 0.03057004, -0.009796683, -0.020377913, 0.065331906, -0.04583342, -0.018901838, 0.16379072, 0.067847505) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.068376146, -0.18645833, -0.25786176, -0.059603553, -0.020452645, 0.13372366, 0.07543567, -0.1671983, 0.08622481, -0.05590138, -0.15604052, 0.040382497, 0.068502486, -0.21409373, -0.022681214, -0.045538153) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.7042945, 0.44532728, -0.06582906, 0.28570914, 0.12053793, 0.025208574, 0.013721537, -0.099207334, 0.017339557, -0.055757828, 0.132603, 0.08377091, -0.053463016, -0.08294009, -0.043390602, -0.11660554) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.6662031, 0.23442477, -0.12109777, 0.035970718, 0.049074527, -0.045996748, -0.014837732, -0.059394844, 0.055830266, -0.15251276, 0.019136664, 0.007923769, 0.020743597, -0.16777988, 0.0692797, 0.026173597) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.008735918, -0.016552668, 0.0072966535, -0.08452039, 0.11350085, 0.15975443, -0.08562183, -0.027397105, -0.06870216, -0.019950949, 0.03322857, -0.0030811382, -0.10584985, 0.04335193, -0.028269254, -0.04759222) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.030517701, -0.10153762, -0.08577086, -0.007001882, -0.023796119, 0.1571513, -0.017136801, 0.03362944, -0.065504014, 0.017829467, -0.003152348, -0.025025742, -0.056818895, -0.032732252, 0.040449288, 0.08631016) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.11427627, -0.020932868, 0.060513884, 0.07634306, 0.06481846, -0.014044473, -0.070285164, 0.0055161533, -0.11969021, -0.028338837, 0.008823704, 0.07754777, -0.19288737, -0.16345, 0.013528805, -0.030611537) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.08901934, -0.011765763, -0.008514003, -0.0712908, 0.15724601, 0.052006707, 0.044300493, -0.042546265, 0.05298206, 0.10882809, -0.036494803, 0.0069655813, 0.093319476, -0.001671333, -0.027468337, 0.020579278) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.021467047, 0.13117963, -0.06455478, 0.073450066, -0.05164008, -0.09289505, 0.08755929, -0.066193976, 0.10254288, -0.008725138, -0.0874812, 0.03496526, -0.018148798, 0.06375959, -0.023822214, 0.031257454) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.011168607, 0.024394572, -0.05712068, -0.09692817, 0.036179967, -0.057953972, 0.02262951, 0.017100668, 0.024150567, 0.03789516, -0.00569539, 0.08658028, -0.012661242, -0.035898816, -0.020251177, -0.06636453) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.044158597, 0.086875565, -0.04985011, -0.042435437, 0.13373962, -0.10019561, -0.018374123, -0.008592104, 0.101892285, 0.0640393, -0.041101966, -0.07120493, -0.095187105, -0.010280181, -0.031027585, 0.030646706) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.06793054, -0.04408216, -0.017417615, 0.030673001, 0.05375466, -0.14672996, 0.04664092, 0.055592787, -0.072512075, 0.04363514, 0.087875664, -0.042792242, -0.002348041, -0.024498314, 0.042116158, 0.032813452) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.09474024, 0.014502264, 0.112584546, 0.06388797, 0.04298744, -0.09666449, 0.015310679, 0.062272925, 0.111511536, 0.19657391, 0.113643445, 0.048666622, 0.05289649, -0.03358125, 0.05483144, -0.03797082) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.016499748, -0.012971018, -0.0077930884, -0.21996155, -0.21164922, -0.011023533, 0.06937302, 0.025870001, -0.052739523, 0.016032279, -0.07337761, 0.06452694, 0.14569001, -0.071689576, 0.014264745, -0.07913473) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.09583265, -0.0067581376, 0.012064369, -0.07697233, 0.0873349, 0.0996607, 0.06872118, 0.022023255, -0.059153408, 0.009720398, -0.03870433, -0.13199489, -0.08083868, 0.09770701, 0.04238034, -0.22503191) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.05262505, -0.052887067, 0.035186853, -0.045221575, -0.021154094, 0.069459654, 0.03100293, 0.04067052, -0.03540009, 0.06965588, -0.003726936, 0.011248934, 0.010190698, -0.03702116, 0.03671705, 0.015338267) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.14699228, 0.11470225, 0.020152789, -0.016092429, -0.18850055, -0.14882384, 0.04467915, 0.024607753, 0.036606986, 0.01352187, -0.020275941, 0.0052318247, 0.13341345, 0.07133841, -0.051475536, -0.121376924) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.014287946, 0.012444324, -0.050074074, 0.018906185, -0.18665072, -0.1149708, -0.0079510175, -0.0753276, -0.06797471, 0.14258552, 0.023063447, -0.075076684, -0.06873534, -0.1730034, 0.0012545306, 0.028541984) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.02846377, 0.12151978, -0.124905735, 0.009687822, -0.027436702, -0.05357431, 0.021610629, -0.061773486, 0.06420684, -0.017097952, 0.0073344596, -0.017715234, 0.1852347, 0.031687498, 0.069712676, 0.0014366441) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.07673816, 0.01995788, 0.107359625, -0.090935424, -0.001921281, 0.02656395, 0.048369966, -0.017840147, -0.080636665, -0.08180919, 0.04834899, 0.0015225599, 0.01544942, 0.1193003, 0.015031258, 0.011810025) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.08201891, -0.03147827, -0.048029434, -0.085482724, 0.057044175, 0.03371332, -0.05833178, 0.053381037, -0.1151787, -0.058001664, -0.03661726, -0.037436437, -0.1016984, 0.015646987, 0.0161747, 0.07082504) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.07416894, 0.12531255, 0.08773385, 0.026841203, 0.09168545, 0.027556455, -0.17864732, -0.018536225, 0.12551567, -0.11431026, 0.05667067, -0.033355806, -0.05999268, 0.06607051, -0.00012177364, 0.022883916) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.062012788, -0.024178715, -0.065193504, 0.01591572, 0.07099499, -0.084374696, 0.018266182, 0.025937214, -0.20242488, -0.024059234, 0.068975255, -0.0065429937, 0.0521716, 0.024820508, -0.0023269926, -0.0014653233) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.031414915, -0.0015215, -0.0040303003, -0.007881103, 0.12271322, 0.03977797, 0.086416945, 0.079124816, -0.1138277, -0.06720367, 0.016261024, 0.014597225, -0.005695069, 0.092042536, -0.008482797, -0.047888424) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.07262758, -0.07360008, 0.06424976, -0.12958036, 0.08677227, -0.07527582, 0.09411052, 0.038032535, -0.06345592, 0.06803661, 0.013504337, 0.069575995, 0.010823083, 0.14786206, 0.110971734, 0.11126561) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.05956491, 0.08107864, 0.03449159, 0.010731487, -0.16767843, -0.006065907, -0.042333443, -0.053766403, 0.17455734, 0.017327325, 0.07245705, 0.08644377, 0.01988573, 0.024529967, -0.009406646, -0.020711878) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.115946785, -0.06089743, -0.08074082, 0.032381058, 0.0061543984, -0.028524878, -0.06793479, -0.036878835, 0.13806915, -0.042218886, 0.11678687, -0.00090498244, 0.29348645, -0.014320777, 0.041155282, -0.087611794) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.026499242, 0.036823895, -0.016874606, 0.054945488, -0.14135462, 0.003119672, -0.06133646, 0.061891586, -0.067013256, 0.05548704, 0.023563322, 0.04675509, 0.06804865, -0.06505125, 0.018271519, -0.0025467891) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.054302882, -0.061802804, 0.0019591472, 0.045180585, -0.059537012, 0.1394548, 0.005980327, -0.0058350693, -0.020456858, -0.046402153, -0.010022602, 0.06339777, 0.119047, -0.034138568, -0.019524226, 0.12346388) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.040561948, 0.032790564, -0.019809453, -0.03384967, -0.013670866, 0.027582934, 0.025641128, 0.018177373, 0.13220595, 0.08758595, 0.05625453, -0.012538245, -0.10281388, -0.0015052309, 0.0895955, 0.07420398) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.041795217, 0.08574753, 0.07635721, -0.03515584, -0.02420448, 0.023920424, -0.15350334, -0.037810933, -0.03838793, -0.022589438, -0.0064954404, 0.0021103716, -0.014819415, -0.027450534, -0.05934157, -0.008695782) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.042205054, 0.018614309, 0.007851295, 0.046297595, -0.24183019, 0.027401775, 0.017248489, -0.012429373, -0.042467855, -0.046359498, -0.022617312, 0.01626133, -0.05492061, -0.028604086, -0.036515485, 0.097537816) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.10396312, 0.017524922, 0.011472904, 0.020845897, -0.26122263, 0.019552572, -0.03172834, -0.033151988, 0.065141775, 0.103926316, 0.06236278, 0.041407954, 0.032645855, 0.035589006, 0.062751755, 0.0035970297) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.0576436, -0.072462745, 0.051761076, -0.001047803, -0.039282132, 0.0933381, -0.037674077, 0.032647416, 0.27354053, 0.011865897, -0.011883624, 0.085043676, 0.007905506, -0.0050565456, 0.0032242103, -0.028188813) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.02416108, 0.011778806, -0.016185254, -8.691657e-05, -0.17782792, 0.110108, -0.002869375, 0.0332401, 0.13199915, 0.12161593, 0.05139728, 0.020023048, 0.04682392, -0.036384054, 0.010302242, -0.0956114) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.26169407, 0.011459785, 0.07993364, 0.04235536, -0.2098329, 0.0012910515, 0.018362895, 0.17560834, 0.042828817, 0.0001753438, 0.07747225, -0.11136137, -0.06596987, -0.05506108, 0.046621695, -0.07077712) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.010268987, 0.004285359, 0.058696207, -0.00053708354, -0.13048704, 0.015147156, -0.08473016, 0.00037517058, 0.1058567, -0.114628516, 0.15576214, 0.028311169, -0.051209185, -0.10203438, 0.043601263, 0.010307722) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.059871763, 0.028935708, 0.015361416, 0.010930137, -0.04625728, -0.08010309, 0.057188444, 0.03677016, -0.12951392, -0.061616726, -0.078584306, 0.058783665, -0.018577265, 0.04047491, 0.0033863813, -0.042006657) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.088006325, -0.09902004, 0.0271109, -0.020511772, -0.049860243, -0.0761366, 0.06431757, 0.06130018, -0.052722853, 0.093606636, 0.056442033, 0.02692931, -0.03681526, 0.041243743, 0.026631894, 0.08089786) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.037052188, -0.0073050703, 0.0858246, 0.1512505, 0.109421164, 0.055910077, -0.03479114, 0.088097215, 0.19901906, -0.41625667, 0.075844236, -0.0148873655, -0.057355154, 0.024822118, -0.064146586, -0.070230514) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos1 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(1, 0); + imageStore(out_image, store_pos1, max(result1, V4(0.0))); + V4 result2 = V4(0.0045238333, -0.004889116, 0.0029066089, 0.0005750118); + result2 += M4(0.057112973, 0.020615457, -0.054681756, 0.05756795, -0.015051226, -0.07104642, 0.10279971, -0.02650988, -0.051031593, 0.057722468, -0.0673516, -0.011588926, 0.019416137, -0.05626919, -0.10245886, -0.03639146) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.034475967, 0.032363594, -0.074850194, 0.0848269, 0.15761563, -0.0043860595, -0.04992016, 0.01731597, -0.0008322439, -0.09852727, -0.053828027, -0.05874407, -0.031768218, 0.021364903, -0.05454367, 0.072328314) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.048537247, -0.15310879, 0.080732755, 0.014770431, 0.07062163, -0.45362732, 0.04278762, -0.05392304, 0.09188754, -0.009436, 0.004541892, 0.04073567, -0.10774513, 0.008065861, -0.02509486, -0.02209455) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.02104821, -0.049408413, 0.0019412522, -0.037934378, -0.0586729, 0.023500409, 0.10437538, -0.08587762, 0.04227692, 0.090486966, 0.009507788, -0.0041727484, 0.06819398, 0.0007218819, 0.06362771, 0.021373948) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.050341576, 0.093609706, 0.060623262, -0.015824903, -0.15225929, 0.2713158, 0.058997266, -0.05853468, 0.07826092, -0.05220583, 0.1214283, -0.13154846, 0.101946115, -0.12898886, -0.01901494, -0.06672838) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.07029579, -0.016813723, 0.0019697119, -0.010603869, 0.017798664, -0.069890976, -0.0351873, 0.051242538, -0.016969997, -0.06051271, -0.056313474, -0.06009151, -0.105198875, -0.04119321, 0.014228338, -0.08304415) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.13370648, 0.020312278, -0.0152123235, -0.0039538615, 0.040609606, 0.0601383, 0.07345785, 0.016262565, -0.0033321818, -0.010223448, -0.051989112, 0.05562543, -0.037242305, 0.058692228, -0.061698887, -0.12271162) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.03929592, 0.058241017, 0.027115105, -0.034646638, 0.12275659, -0.107494555, 0.015138495, -0.019347426, 0.04666663, -0.01581161, -0.06532639, -0.00433238, 0.03323775, 0.022493538, -0.04534503, -0.08731751) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0036566644, -0.054339193, 0.06607312, 0.020599766, 0.05370609, -0.0026280577, -0.011630983, 0.0037924724, 0.06989068, -0.00044492655, 0.011197978, 0.03907651, -0.01038709, 0.039848533, 0.0096459165, -0.08384252) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.03970532, -0.04153331, -0.029928973, 0.01721566, -0.012722975, 0.030220006, 0.030458577, -0.020237435, -0.06342895, 0.04213135, 0.04031748, -0.0061473227, -0.060565036, 0.0015558003, -0.05818337, 0.074211285) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.019665003, -0.03137201, 0.026908224, -0.10974158, -0.031929687, 0.00023439238, -0.034990277, -0.023966204, 0.018995823, 0.11158455, 0.0125510665, -0.012719624, 0.04579868, -0.015458063, -0.023841957, -0.07531246) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.08863205, -0.16077782, -0.0044700266, -0.022001984, -0.12602115, 0.062610626, -0.004209069, 0.02808837, -0.07128026, -0.0294033, -0.029388294, 0.065665506, -0.054903537, -0.17838635, -0.0582067, -0.029043496) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.022433206, -0.0044298763, -0.024100868, -0.026675614, 0.049398657, -0.020211574, 0.10133621, -0.08213473, -0.019514892, 0.053941794, -0.12742195, -0.13020335, -0.0008406183, -0.0023985219, -0.057330184, -0.027436597) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.034322396, 0.09414814, -0.04784518, 0.08396525, -0.05949029, 0.09414585, -0.042550888, 0.05088709, -0.042961344, -0.0049733827, 0.06140857, 0.10267093, 0.05936708, -0.072791666, -0.07776884, 0.0139899645) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.023410194, -0.019197091, 0.050775077, -0.12783492, 0.03403312, -0.05219335, 0.095072195, 0.11040724, 0.02711627, -0.14839306, -0.05096333, -0.1229422, 0.054267116, -0.12515405, 0.022015922, -0.030896317) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.07678537, -0.029321462, 0.040538337, -0.08704001, 0.058418706, -0.02031675, 0.075960256, -0.035108536, 0.038809735, -0.04158064, -0.070680894, 0.025477001, 0.02691437, -0.041466806, -0.014115786, 0.029224843) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.03854629, -0.0064543476, 0.0038028562, -0.0042408966, -0.06816818, -0.0155378375, 0.0063932105, 0.16797787, -0.07739299, 0.035135906, -0.15395148, -0.03560261, -0.04647594, 0.07256355, -0.0030757869, -0.038843755) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.023600327, 0.012961186, -0.04233054, -0.057293095, -0.19364442, 0.027842341, -4.1805048e-05, 0.036959197, 0.010430722, -0.05311237, -0.045471903, 0.0096809175, 0.041927937, 0.071626954, -0.07176687, 0.027246043) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.033455458, 0.0236276, -0.060063884, -0.09088969, -0.044566095, -0.0071855304, 0.010860479, -0.12682681, -0.070550025, 0.037334, -0.07041695, -0.018276794, -0.025884992, 0.008646029, -0.008813758, -0.059880894) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.0783965, -0.011895583, 0.09237925, -0.02039847, -0.026247678, 0.11860616, -0.10185494, 0.0018856028, 0.083640665, 0.11768367, -0.19834404, -0.10607815, 0.06377665, 0.060863603, 0.02585951, 0.038025673) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.13020016, -0.017078755, 0.023785617, -0.00029791667, 0.047352947, -0.15883642, 0.01634104, -0.03629104, -0.3727143, 0.11152793, 0.1493535, 0.105893604, 0.004237848, 0.10719749, 0.040626638, 0.022336518) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.030642195, 0.013595795, 0.062215205, 0.11320438, -0.006064903, -0.13728492, 0.044893917, 0.13752277, 0.009434499, -0.007495976, 0.084924206, 0.15735225, 0.02234228, -0.0013009978, -0.031350773, -0.11057811) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.061903547, 0.020146592, -0.07358796, 0.06532858, 0.07970224, 0.014617892, 0.040745698, 0.2767723, 0.048460264, 0.038670067, -0.031101037, 0.15201911, -0.074170075, 0.015510521, 0.11116075, 0.053015884) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.123164095, -0.01144722, -0.012831693, -0.04996835, 0.017853508, 0.09026736, 0.041288927, -0.0059050783, 0.036964685, 0.06318223, 0.0058551896, 0.10002642, -0.12390993, -0.031425484, 0.07629914, 0.011527903) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.02060965, 0.022816347, 0.014545157, -0.027793506, -0.013639175, 0.021466997, 0.12717035, -0.13933228, 0.043242045, -0.07991226, 0.031034239, 0.039460227, -0.014516196, 0.08629286, 0.00058966107, -0.003423727) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.049572606, 0.022309689, 0.048864916, 0.027826576, 0.09841519, -0.015123755, 0.04702031, -0.03188495, 0.028732546, -0.010471701, 0.08195976, 0.05224906, 0.023973817, -0.018393168, 0.029592447, -0.089930706) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.048839677, 0.0051257564, -0.1619934, -0.057825483, -0.010477929, 0.054117266, 0.026546009, -0.045363884, 0.03295215, 0.01355769, 0.030235058, -0.021234715, -0.008829137, -0.021678463, -0.0016397121, -0.06107389) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.017889936, 0.0036068195, -0.02624067, -0.008710677, -0.07222429, 0.035132095, -0.075326286, -0.05363533, -0.06875605, -0.008772321, 0.048298314, -0.3997056, 0.032346644, 0.013516443, -0.086958535, 0.07649838) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.10341964, 0.015006456, 0.072109446, 0.058952525, -0.037182275, 0.007850536, -0.04095496, 0.04381556, 0.07944139, 0.13443325, 0.0834929, 0.018808817, -0.027470076, -0.03474489, 0.0076134023, 0.12761751) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.022061171, -0.09301396, 0.0062742117, 0.0732272, -0.05748265, -0.0042322893, -0.014390072, 0.02790063, 0.056633975, -0.28840244, -0.030806577, 0.068376794, 0.02603125, 0.05964179, -0.018574681, 0.056771576) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.07413683, 0.06796027, -0.101980135, -0.2414841, 0.04553166, 0.058279056, 0.019068006, -0.017024286, 0.040094152, -0.06623846, 0.12735389, 0.14263384, -0.08645427, 0.028811937, -0.14518535, 0.0048232507) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.03742574, 0.07355721, -0.13329808, 0.16863911, -0.04613101, -0.045905493, 0.05717078, -0.052840136, 0.0076480913, 0.11087544, -0.047661636, 0.0016101835, -0.035061646, -0.025505243, -0.24829307, 0.14718108) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.006169293, 0.01936533, -0.1744423, 0.027688472, 0.07163206, 0.061367672, 0.048209623, -0.059062988, 0.04675678, -0.20318712, -0.09487307, -0.050871447, 0.031034265, -0.16923092, 0.06397902, 0.040220436) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.030493544, 0.187692, 0.2632313, -0.5144182, 0.03127812, 0.033324413, -0.003978063, -0.0769634, 0.08161913, 0.0099631725, 0.09321798, 0.038308818, 0.04492955, -0.025759777, -0.07123788, -0.00049171434) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.31228882, -0.51284826, 0.25783163, -0.119994454, 0.011008677, 0.04898014, 0.08119535, -0.020668127, 0.0016715294, 0.062157337, 0.026818551, 0.08006652, -0.14491954, -0.019931886, -0.034102645, -0.07835148) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.16203362, 0.18070349, -0.11491744, -0.07658593, -0.14827538, 0.14311372, -0.033469822, -0.01132748, -0.03245205, 0.026666999, 0.017775934, 0.007076036, 0.040689975, -0.041530427, 0.021683898, 0.035605922) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.05774628, 0.05271088, 0.056800056, -0.06250714, -0.027882816, 0.029719125, 0.014728708, 0.06358577, 0.082836844, -0.025124023, -0.068027005, 0.035861947, -0.01170593, -0.01890234, -0.010421098, 0.027421148) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.06273105, 0.02334724, -0.054436054, 0.007192827, 0.080980875, -0.062426206, -0.053779982, 0.04772975, 0.01109709, -0.23090562, -0.032256503, -0.08553758, 0.052391183, -0.059037056, -0.019739045, -0.013564222) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.09985652, -0.12772499, -0.047925048, -0.0062670195, 0.052384492, 0.023804402, -0.00037400454, -0.021179216, 0.098525055, -0.21382087, -0.013812197, -0.022155862, -0.0050777127, -0.061201967, -0.040884238, -0.08725832) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.04208864, 0.01171837, 0.10537344, -0.05444715, 0.006769932, 0.055328887, -0.050763216, -0.061033864, 0.062297825, 0.015602279, 0.0106985625, 0.07086065, 0.063426696, -0.05598022, -0.033888068, -0.056114845) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.10892593, 0.012951652, -0.040594213, 0.015158121, -0.089593574, 0.044684466, 0.07625076, 0.026229002, 0.1576244, 0.04967836, 0.060355444, -0.013794931, 0.122287564, -0.033520572, -0.09368194, 0.05942188) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.07427083, -0.115272366, 0.0042357002, -0.008289828, -0.14760576, -0.081632994, 0.0579789, 0.03883641, 0.16409665, 0.09106399, 0.06633137, 0.018769937, 0.041521877, -0.11375989, 0.036064163, -0.038531937) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.029282685, 0.025163626, 0.03348391, -0.08980383, 0.0074298447, 0.061913, -0.07333008, -0.045827683, 0.13810055, 0.045274287, 0.011767536, -0.09424128, -0.1073153, 0.0009909912, 0.03546797, 0.001548514) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.006941977, 0.050698638, 0.04998451, 0.030470999, -0.00845585, 0.015274012, 0.031489324, -0.016497318, -0.011697824, -0.035411086, 0.13420139, -0.005338081, 0.074208, 0.10647866, -0.07199528, 0.024457604) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.074917026, -0.018220283, -0.048020735, -0.03878238, 0.1160728, -0.092012726, -0.04547725, 0.029659672, -0.10252465, 0.039461344, -0.03517753, 0.085063286, 0.048155934, 0.028196072, -0.006629241, 0.051794823) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.012125754, 0.06992455, 0.0069791377, 0.10374045, -0.05988704, 0.06953253, 0.030367777, 0.0144927185, 0.017448407, 0.073460825, 0.02400938, -0.014097017, 0.020009626, -0.10915348, 0.011181331, -0.124113806) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.05735796, -0.13939999, -0.038724307, 0.046827033, -0.047707617, 0.0006852026, 0.021207642, -0.036681637, -0.025126062, 0.0573397, -0.02508312, 0.08953949, 0.10006642, 0.042674102, -0.003352901, 0.002567033) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.10561051, 0.094089136, -0.08282901, -0.017326422, -0.05501863, -0.071879536, 0.013245413, 0.030549379, 0.04744536, -0.07709311, -0.09004062, 0.016758347, 0.12375554, 0.061700646, -0.0035246583, -0.014417808) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.09177842, -0.026979156, -0.01964189, 0.074467905, 0.019799398, 0.00595041, 0.013407521, -0.12589614, -0.04357464, -0.062080037, 0.010900876, -0.06738028, 0.08362948, -0.027824441, -0.04020585, 0.110121146) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.027222503, -0.06081022, 0.0907766, 0.024397124, -0.019050077, -0.037601028, -0.037350558, 0.0070966287, -0.12670204, 0.072305925, 0.030357564, 0.04784212, 0.0051629324, -0.18771732, 0.11758992, -0.048249952) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.07363704, 0.061510038, 0.03990216, 0.05302595, -0.08736905, -0.1378227, 0.09554391, 0.026743904, -0.09091676, -0.079776056, -0.037001405, 0.027889833, -0.1864823, 0.0394522, 0.10734787, 0.040813938) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.12590449, -0.059942707, 0.010620578, -0.048350606, -0.008389569, 0.07271041, 0.017513648, -0.012693886, 0.0488569, -0.029986585, 0.012955492, 0.0494187, -0.080685414, -0.021246193, 0.021999398, -0.015477046) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.04321752, 0.10931044, 0.12739629, 0.05817966, -0.0007950662, 0.08736086, -0.023289178, -0.059708416, -0.07539309, 0.032375302, -0.072693266, -0.03647489, 0.0432798, -0.03955473, 0.047986884, 0.046990514) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.13045037, 0.044241372, -0.043476015, 0.015106855, 0.0026655789, 0.09329909, -0.030557489, -0.022819085, -0.11475387, -0.22225367, 0.004694687, 0.12069505, -0.019460956, 0.029647307, -0.05232957, -0.038300965) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.011083792, 0.011906822, 0.06131071, -0.061755393, -0.03464432, 0.037248913, -0.094054, 0.015580219, 0.06250317, 0.053562373, 0.0038623684, -0.12153313, 0.07715614, -0.025010873, -0.018921386, 0.08081675) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.010685507, 0.096690856, 0.052079573, 0.054694697, -0.04679737, -0.04266614, -0.05665158, -0.08372487, -0.0413917, 0.0107491445, -0.0044120834, -0.11491234, -0.03744978, 0.027928762, -0.0764448, 0.08916992) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.046550997, -0.05694292, 0.01683723, -0.019565092, 0.009276631, -0.044585343, -0.03922757, -0.006662641, -0.054431107, 0.0714288, -0.00043911522, 0.12709251, 0.2309315, 0.06637541, 0.32377318, -0.048658717) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.015694989, -0.08074153, 0.023422841, 0.07791582, -0.13850683, 0.018662246, -0.0131913675, 0.20083748, 0.055071823, 0.03363868, -0.021647897, -0.017154373, -0.03848612, 0.04611543, 0.09376384, 0.035315283) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.04088403, -0.06317429, 0.00036597362, -0.057012774, -0.17311996, -0.034414355, -0.014712007, -0.01574705, 0.11734749, 0.03745787, 0.048709825, 0.1401293, -0.06323099, 0.15463519, -0.009127379, 0.033732668) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.08792038, 0.04992287, -0.0069386936, -0.07049698, -0.20022504, -0.01766549, -0.041969918, 0.033105973, 0.16563727, -0.046898324, 0.055141084, 0.12197373, 0.082443975, -0.035074774, 0.29912463, -0.24628429) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.037869494, -0.007391094, -0.047423113, -0.032440994, -0.027628295, -0.09110074, -0.013159457, -0.09229639, -0.0421862, 0.009971829, 0.050190236, 0.012489949, -0.08345043, -0.023179578, 0.07191096, -0.07826836) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.06450955, -0.06836671, -0.049892895, -0.04776829, 0.13837238, 0.004276222, 0.023228152, -0.039792042, -0.02877745, 0.067194134, 0.06581406, 0.03657637, 0.017167874, -0.108207576, 0.009383951, -0.056869514) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.01875787, 0.019006865, 0.07690981, -0.124328494, -0.018296205, 0.119496025, 0.017444875, 0.005949733, -0.023210328, 0.0120402165, 0.0029852986, -0.035352856, -0.18857864, -0.07331129, 0.054283686, 0.10033813) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.03784443, 0.102709755, 0.015776029, -0.012393043, 0.07027873, 0.016508704, -0.016507791, 0.04880459, -0.07023973, -0.011340364, 0.08408648, -0.061082564, -0.009146414, 0.030840771, -0.013530239, 0.047764678) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.09412385, 0.15383047, -0.07590022, 0.016950594, 0.0788456, -0.03517872, 0.05198512, 0.046165068, 0.039808575, 0.13391711, -0.0021222876, 0.038152546, -0.06596184, 0.03378402, -0.04363615, -0.005977691) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.020716801, -0.004289645, -0.029453648, 0.018604485, 0.06942748, 0.0009396874, 0.054602146, 0.031237567, -0.14700803, -0.16743271, -0.01813351, 0.092707865, -0.13627335, 0.041645057, -0.03341382, 0.029021492) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.12922868, -0.015842471, 0.033234008, 0.067735545, 0.008958662, 0.03145104, -0.055818953, -0.04251014, -0.03090641, -0.03791946, -0.019501017, 0.11836875, -0.00863929, 0.008293092, -0.084978536, -0.007106947) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.018237755, -0.026470622, -0.030130362, 0.00599713, 0.015527883, -0.014050814, 0.032562472, 0.06216569, -0.004739682, -0.012727669, -0.06906886, 0.10433483, -0.06593709, 0.03752947, 0.047484726, -0.09846805) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.0055911816, -0.051880967, -0.039031073, 0.026921146, -0.049020827, 0.06715993, 0.04307166, -0.06512721, 0.0074323276, 0.09280825, 0.052341133, -0.47171414, 0.01911847, -0.10592636, -0.029480767, 0.035079807) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.012449088, -0.071626976, 0.027012749, -0.073701665, -0.018323744, 0.05952134, -0.007523616, 0.015241156, 0.024253983, -0.017914841, 0.0085639395, 0.06668102, -0.058389865, 0.03105197, 0.007792246, -0.022540433) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.006485997, -0.044825856, 0.028180564, -0.047148596, -0.007400923, 0.10502664, -0.053417698, -0.00022409415, -0.027458351, 0.038403343, 0.015168591, -0.07863637, 0.0015431998, 0.014810005, 0.042180292, -0.06993212) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.10099195, -0.026201533, 0.052204814, -0.04974532, 0.03748638, 0.08232888, 0.051648986, -0.043288734, -0.1569404, -0.20437518, -0.21923262, 0.085457705, -0.023134448, -0.05953383, -0.10719521, -0.0434241) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos2 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(2, 0); + imageStore(out_image, store_pos2, max(result2, V4(0.0))); + V4 result3 = V4(0.003947234, -0.002561167, -0.0011790267, -2.014591e-05); + result3 += M4(-0.13106611, 0.053482756, 0.00038589162, -0.0056955316, 0.0017130479, 0.043710273, 0.10119728, 0.08012362, 0.08440158, -0.06469622, -0.10290841, 0.033732757, -0.01880485, 0.023713788, -0.11727955, -0.048860643) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.077521406, 0.10908381, 0.009900734, 0.12274257, -0.018021185, 0.11573925, 0.06465567, 0.025618277, -0.10085711, -0.018748345, 0.124785915, 0.01823724, 0.005189854, -0.08519531, -0.09596304, 0.03327007) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.0405351, -0.009594394, 0.002297292, 0.009609962, 0.036430076, 0.013814007, -0.0661689, 0.018347384, -0.024033112, -0.06397346, 0.0887398, 0.06404509, 0.095669, 0.04262892, 0.06765661, -0.0107992375) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.10597429, 0.0400913, -0.0039242664, 0.0068854406, 0.07862207, -0.13966441, 0.029313672, 0.11450031, -0.026093988, 0.043806706, 0.011304548, 0.00047152012, 0.09192901, 0.06900943, -0.038945146, -0.0009452566) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.016804075, -0.016016476, 0.11771494, 0.0651886, -0.3488553, 0.0052029225, -0.08155847, -0.11439741, -0.0066254344, -0.03803172, 0.111691214, 0.041453324, 0.043726765, -0.095499724, -0.056047928, 0.018493105) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.03341408, -0.04927723, 0.01268661, -0.0094638085, -0.051619608, 0.14721107, -0.07247511, 0.10753357, -0.04229844, -0.06135253, -0.053557523, 0.0070538586, -0.033918265, -0.06363269, 0.0625936, -0.014426903) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.0973166, -0.021124555, -0.011923763, -0.04790406, 0.06841653, 0.10846276, -0.025025835, 0.20245613, 0.03401223, -0.022417344, -0.030408049, -0.018727742, -0.00013151116, 0.034166344, 0.018939704, -0.0007299963) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.044867635, -0.012720854, -0.027975008, 0.010878311, 0.0029588132, -0.09681894, -0.001302709, -0.003117125, -0.07775905, 0.063567266, 0.005508133, 0.017214589, 0.00857055, 0.057163917, -0.108253725, -0.01762987) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.043039415, -0.044822793, 0.079846665, -0.011403051, -0.12088672, 0.060164403, -0.036947962, 0.046837647, -0.06688712, -0.030272763, -0.053044677, 0.008675147, 0.03464524, 0.045566015, -0.00020009157, 0.03152764) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.056806117, -0.09392594, 0.018745655, -0.0060674474, -0.016795041, -0.006630969, 0.035110105, 0.10476553, -0.035630435, 0.03115476, -0.0011275664, 0.062414948, 0.021196218, -0.0066934065, -0.14657108, -0.057529073) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.073707, -0.054553144, 0.02703687, 0.0074906927, 0.01366764, 0.0600991, 0.03774718, 0.021183858, 0.0021892579, 0.027107209, -0.073624864, 0.012244268, 0.054407023, -0.040957615, 0.07304932, -0.06256317) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.005077499, -0.07869022, -0.02898042, 0.06642155, 0.0034122437, -0.08361216, 0.01621667, 0.064021096, -0.027228676, 0.049969915, -0.035177488, 0.09236643, -0.0009296824, -0.020277781, 0.016672155, -0.010748883) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.022905596, 0.05271753, -0.03624749, 0.064148165, -0.013844652, 0.016780086, 0.1306462, 0.08023485, 0.058430977, -0.015224185, -0.04490495, -0.009086646, -0.0112603465, 0.020275563, 0.019791353, -0.026419109) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.029031383, -0.06188445, 0.07467021, -0.032512113, 0.05032727, 0.100311704, 0.067745976, 0.025516083, 0.07392709, -0.036351394, 0.0074708555, 0.06880417, 0.073082976, 0.07068105, 0.06048279, 0.012224975) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.071151294, -0.10509056, -0.03968831, 0.03943878, -0.036232978, 0.034877796, 0.074095964, 0.028912492, 0.07844629, -0.09730232, 0.02326167, 0.010067289, 0.032727588, -0.041857492, 0.071605295, 0.0067320056) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.08421442, 0.050287034, -0.00090260984, 0.035756297, -0.03282382, -0.014390832, -0.017732697, 0.15471338, 0.13243046, 0.039549317, 0.05379426, -0.0009690376, 0.015976798, -0.07573524, 0.086694755, -0.022503855) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.07002803, -0.02507491, 0.06857893, 0.0018355033, 0.26760462, -0.0774578, -0.083337225, -0.12062598, -0.00468664, 0.0026712206, -0.017028062, -0.0032469183, -0.0741771, 0.04318376, -0.12569693, -0.022973515) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.092742324, 0.018209929, -0.0030990718, -0.046050753, 0.08087843, -0.10788622, -0.24566704, 0.0055533797, 0.038027357, -0.062314566, -0.04392273, 0.0041553625, -0.046313632, 0.018309886, -0.117508754, -0.0018961666) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.0031033151, 0.05638505, -0.030731495, 0.028887, -0.035689354, -0.0090172775, -0.10817172, -0.06263582, -0.014735905, 0.045259435, 0.06541292, -0.09169659, 0.07046977, -0.002431856, 0.086787865, -0.06809015) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.019228593, -0.0011575363, -0.09350881, 0.02127252, 0.076804906, -0.06670651, 0.08091712, 0.010631452, 0.14021614, 0.025683412, 0.003882279, 0.11035381, 0.062103767, 0.03373352, 0.008926329, 0.013641683) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.024141453, -0.08493972, -0.034432255, -0.05696055, 0.02198018, -0.040096574, -0.0062736995, -0.049074568, 0.014206014, -0.022957146, -0.14755861, -0.091835566, -0.05335449, 0.110102646, -0.020365471, -0.09921349) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.052066423, 0.008548311, 0.10570044, -0.052307468, -0.031924337, 0.01878719, 0.1852545, -0.055556208, -0.022962263, 0.010515449, -0.19338073, 0.0750018, 0.101861686, -0.016032703, -0.13010505, 0.023463385) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.06813781, -0.032418355, 0.14690132, 0.021720681, 0.07143895, 0.01151556, -0.10513933, 0.047681008, 0.029407596, 0.08266641, 0.11951416, -0.050737824, -0.06853423, 0.091066815, -0.12505224, 0.031167531) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.051362608, 0.038735963, 0.020150485, -0.007736788, -0.0802298, -0.059162676, 0.039519135, -0.11440063, 0.027331727, -0.043158703, -0.029787531, 0.013328911, 0.02004632, 0.15077785, 0.06765808, -0.0026104997) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.014509543, 0.0062726536, 0.058094427, -0.11789219, -0.08711861, -0.096518755, 0.09626832, -0.019075455, 0.10260254, -0.03382437, 0.0106764585, 0.02128081, 0.009353137, 0.014786505, -0.029290086, 0.06661296) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.03914799, 0.08926026, -0.03778493, 0.045095254, 0.031829815, -0.14418186, 0.2167455, 0.02971823, -0.03032171, 0.040985197, 0.047683224, 0.12765022, 0.072002694, 0.05342847, 0.022983538, -0.0031157818) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.07042976, -0.01969585, -0.105758145, -0.051294226, -0.027758399, -0.116282895, 0.056959007, -0.040111057, 0.03895334, -0.054274186, 0.010240326, 0.023332503, -0.08176787, 0.07627176, -0.012014754, -0.017017705) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.06775771, 0.084996305, 0.0316373, -0.11910989, 0.1062973, 0.062452916, -0.0006637541, 0.034576777, -0.07379058, 0.026570113, 0.12622832, 0.030744242, 0.012874931, -0.008489812, -0.04346528, -0.0086001875) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.045309763, 0.003914786, -0.0020195616, 0.04640575, -0.029938415, -0.046591964, 0.007606457, 0.040533632, -0.28794092, 0.09092936, -0.023851698, 0.04727258, -0.002946619, 0.013844392, -0.09977278, -0.18015823) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.01935369, 0.08767728, 0.045565024, -0.0084868455, -0.05283324, 0.06225443, 0.041997958, 0.07430694, -0.1451413, 0.04983295, -0.027488403, 0.093481384, -0.15980883, -0.05857321, -0.019112483, -0.14369729) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.06551293, 0.012207022, 0.017063223, 0.109443106, 0.043179654, -0.05511042, 0.05619718, -0.095386215, -0.103619635, -0.059088413, 0.13935027, -0.05123851, -0.036746513, -0.07035158, -0.17360677, 0.0120604625) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.023434186, -0.047025304, 0.01135503, 0.045462735, -0.016185751, -0.115353085, -0.005402078, 0.019039778, -0.054260217, 0.06306372, 0.10997606, 0.033989675, 0.17548619, 0.0782654, 0.005733476, 0.044994157) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.0011300157, 0.055080865, 0.04953103, 0.06707611, -0.08029597, -0.11683917, -0.023796402, 0.07677737, -0.010477361, -0.060381208, -0.0064963964, -0.016461212, 0.11110492, -0.13389085, 0.019209458, -0.072022244) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.0566542, -0.17345345, -0.097446136, -0.17761977, -0.02986992, 0.13805677, -0.011270616, -0.05363816, -0.013566724, -0.04771264, 0.062317144, 0.050632115, 0.1614999, -0.022110183, -0.10480495, -0.018625202) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.3988127, 0.2799186, 0.28711024, 0.5848413, 0.06668219, -0.022286313, -0.022487743, 0.014743339, -0.027783874, 0.06601231, -0.012985759, 0.08600638, 0.15854982, -0.0072928974, 0.05298163, -0.023803763) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.031135015, 0.07127344, 0.085562915, -0.029313622, 0.034387022, -0.03215672, -0.02575078, 0.023147142, -0.018466987, -0.05922657, -0.023855092, 0.00087573257, 0.080073975, -0.0891467, 0.060559, -0.0378914) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.008305939, -0.03935197, 0.014076207, 0.048754226, 0.12744287, -0.023560295, 0.049354892, -0.091380276, -0.0072127804, -0.021402061, 0.072196476, 0.08129819, 0.039304208, -0.00017727232, -0.005157902, 0.051015943) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.03901238, 0.010981253, 0.08542476, -0.025507635, 0.01557143, 0.09285739, 0.03197869, -0.008607433, -0.05412187, 0.011138082, 0.007338076, 0.013996394, 0.051424723, -0.053832717, -0.089758925, 0.0702205) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.005001848, 0.120174214, 0.013003728, -0.023751799, -0.009350285, -0.06778702, 0.014313629, -0.08877817, -0.08286723, -0.029872622, -0.0129371295, 0.006208883, 0.03801006, 0.009457537, -0.1237054, -0.028944721) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.046870735, 0.006134307, -0.033162206, -0.009083675, -0.029951027, -0.09543162, -0.0056222747, -0.04817941, -0.12254351, 0.001592851, 0.17062001, 0.03886488, -0.005196077, 0.05524676, -0.023765456, 0.027510244) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.08138665, -0.03124851, 0.034584466, 0.10349432, 0.042377982, -0.043028906, -0.0044965832, -0.023497924, -0.110080786, 0.05715437, -0.029475866, -0.021886922, -0.09908303, -0.105444156, 0.05068266, 0.0020086723) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.014494096, -0.0264399, -0.0015814545, 0.04163051, -0.058175582, -0.025189068, -0.013683961, -0.02578075, -0.12771422, 0.08619533, -0.118388385, 0.037479658, 0.03411467, 0.05193975, 0.14035666, 0.063202955) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.012907833, 0.07740956, -0.0062752664, -0.061600156, 0.00844522, -0.02264665, 0.028588489, 0.07499283, -0.10471193, -0.009458364, 0.027879866, -0.0073922845, 0.06177054, -0.026231067, -0.083237015, 0.0011199771) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.11257355, -0.00032959113, -0.0010302928, -0.07530039, -0.022379808, -0.012842301, 0.10519265, 0.045822263, -0.12053083, -0.06458512, 0.022318024, -0.03841336, -0.04254277, 0.012498128, 0.07565063, 0.04372107) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.0696123, -0.029510103, -0.079395324, 0.002547502, 0.09472379, -0.06570446, -0.08970974, 0.04046583, -0.22842747, 0.03587011, 0.05653007, 0.034472898, 0.04754688, 0.041046478, 0.0081889145, 0.032138165) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.0011428555, -0.03711782, -0.054510962, -0.08281694, 0.044056773, -0.015589076, 0.11744309, 0.062567495, -0.07484867, -0.04558456, -0.13870732, -0.013763469, -0.04631679, -0.005603011, -0.025965802, -0.064021416) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.08787203, -0.14663644, 0.0357676, 0.043094277, 0.076346315, -0.032800272, -0.15120023, 0.043054022, 0.09422386, -0.014872851, -0.0013562866, -0.05159628, 0.09247207, 0.08456378, -0.07744124, 0.058318164) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.076427706, 0.04086183, 0.12542936, 0.0050333273, -0.043211836, 0.10596035, -0.036179587, 0.05653404, 0.07113442, -0.041395254, -0.0022703875, -0.025051136, 0.01182796, 0.030837664, 0.011994567, -0.031871587) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.0020692123, 0.12251849, 0.044539824, 0.0685957, 0.012242417, -0.06868688, -0.0047817095, 0.03509918, 0.023758063, -0.00955882, 0.006720751, 0.003392985, -0.015473358, -0.02031442, 0.048156753, -0.047624875) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.09802928, 0.06891061, 0.08355116, -0.039646693, -0.049098182, -0.032023475, -0.23588915, 0.018031146, 0.023582814, 0.099632874, -0.0063022836, 0.0519775, -0.1009443, 0.04447339, -0.06303085, 0.026785677) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.05873264, -0.0370775, 0.058506418, -0.018503157, 0.07673255, -0.11965757, 0.012242991, -0.043719485, -0.060287025, -0.057388265, 0.058935344, -0.037189577, 0.017963113, -0.024959367, 0.0180685, 0.011807819) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.077788, 0.017432999, -0.014145594, -0.056849148, -0.09038051, -0.053442586, -0.061786406, -0.022588095, -0.048477698, 0.002911615, -0.08753577, -0.0052446327, -0.016760176, 0.044750348, 0.11680954, 0.055212464) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.013719127, -0.08011523, 0.02227636, -0.03080708, -0.06862203, -0.076471224, -0.04357039, 0.02445583, 0.018506419, 0.011701193, 0.025978748, -0.036122005, 0.009732635, 0.00928053, 0.076173805, -0.023010693) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.07374507, -0.10437711, 0.13427009, -0.0622699, 0.10286162, -0.036447093, 0.006792374, -0.008984036, 0.08024131, -0.014128671, -0.047297306, 0.00051484443, 0.03213927, -0.0371504, 0.08134625, -0.035742443) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.036414318, -0.02980559, -0.13651401, -0.06857305, 0.018918484, 0.052350145, -0.18025768, -0.022325981, -0.04271374, -0.027067622, 0.006968805, -0.09671996, -0.06685992, -0.023930028, -0.06382305, -0.056033537) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.06343058, -0.009940362, -0.07846237, 0.0062298505, 0.010748569, -0.052433293, -0.08499977, -0.0038331316, -0.083798125, 0.10671074, -0.038811944, -0.05614712, -0.032433175, -0.02725598, 0.10134623, 0.036177363) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.08238537, -0.101118654, -0.0956944, -0.022187788, -0.112807, 0.049552683, 0.020023301, 0.014306471, -0.05975507, 0.18305519, -0.00022794373, -0.029654803, 0.013794755, 0.08026167, 0.12948288, 0.05566131) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.053705815, -0.018845921, -0.11592799, 0.009263663, -0.038707886, 0.033411745, -0.007699467, -0.029356126, 0.01898182, 0.050436858, -0.006743763, -0.08308025, -0.009096702, 0.08624577, 0.05013051, 0.0072236424) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.08754469, -0.009000641, 0.011506083, -0.010462639, 0.023173273, -0.14340998, 0.07175748, -0.14914648, 0.0015114633, 0.09007834, 0.049626812, 0.048082683, 0.023228288, 0.05250914, 0.056539048, -0.060020912) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.040813245, 0.038283546, 0.019381434, 0.060641263, -0.04750148, -0.013213389, 0.05517871, -0.04686974, 0.048340514, 0.053758625, 0.0060228067, -0.0016701806, -0.17216744, 0.10935377, 0.047607213, -0.05646159) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.08769185, 0.0970494, 0.026946494, 0.07289917, -0.046650678, 0.0024461304, 0.067568794, 0.01711998, 0.016500885, 0.013020562, -0.047713805, 0.00844297, -0.0066685695, -0.029065894, 0.056959774, -0.028405251) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.061827354, -0.0697762, 0.043939315, 0.07014996, -0.0962653, -0.019131057, -0.056386754, -0.06828851, -0.019127669, 0.062186718, -0.038369447, -0.0014330264, 0.0069821803, -0.025331778, -0.0002037322, 0.0152053945) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.049060732, -0.041804958, 0.11041892, 0.009422316, 0.0021639173, 0.0028688202, -0.014186335, 0.0117062805, 0.009630231, 0.0129206795, 0.0058852932, 0.026569348, -0.1883555, -0.100010365, -0.06425587, -0.009337554) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.15233806, -0.040747676, -0.050933797, -0.036801893, 0.0034332923, -0.0037240009, -0.000790056, -0.0037876742, 0.019700905, -0.049745165, -0.07830757, -0.00737646, 0.070502795, 0.0025455502, 0.010114206, 0.13142519) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.05284936, -0.013533391, -0.17096125, -0.037570912, -0.07328346, 0.025406556, 0.10085429, 0.015645698, 0.095468745, -0.068924524, 0.09579058, 0.009056416, 0.10629017, 0.040287692, -0.101047955, -0.022959424) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.034791514, -0.050179493, -0.06413149, 0.0255959, -0.06871181, -0.045244325, -0.02095138, -0.026331434, -0.026089394, -0.019754613, -0.11684487, -0.01730163, -0.011072255, -0.009380736, -0.025180336, -0.010558172) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.0008639364, -0.030773692, -0.06855936, -0.055832084, -0.0369103, 0.09022024, 0.07740064, -0.0011987004, -0.005642687, -0.0036717872, 0.0036984, 0.023910075, 0.08974062, 0.081534915, -0.05875803, 0.037848134) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.09565626, 0.037096918, -0.03869736, 0.0019068436, 0.003427942, 0.04745199, 0.10923475, 0.09540731, -0.021927774, -0.022261303, 0.13665186, 0.028576864, 0.10074329, 0.010374096, -0.17337345, -0.019470748) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.106179796, -0.07101481, 0.032995958, 0.017271189, -0.017393261, 0.13569428, -0.055394787, -0.0070715053, -0.16002037, -0.08838119, 0.0034275723, -0.052111916, -0.012589813, 0.04220015, -0.0063393833, -0.0054342435) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.0066924156, 0.0045321602, 0.081136316, -0.031769846, -0.088399455, -0.028128792, 0.08660379, -0.0407639, 0.025755525, -0.075595185, 0.044359, -0.037731793, 0.022676341, 0.02371813, -0.039134458, 0.09001337) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.078424156, 0.058261845, 0.06523311, 0.049465872, 0.0055583837, -0.010385999, -0.07324968, 0.012865225, 0.034673695, 0.122251935, 0.058771305, -0.2143419, -0.047445673, -0.03428598, 0.15646714, -0.037584797) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.013225298, 0.12899806, 0.056419276, -0.07075129, -0.049062856, -0.04924634, -0.041237056, 0.0701573, -0.2220656, -0.05615824, -0.2700362, 0.04346204, 0.028624753, -0.013457809, 0.05958438, 0.008763065) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos3 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(3, 0); + imageStore(out_image, store_pos3, max(result3, V4(0.0))); + V4 result4 = V4(0.002063369, 0.0013652911, -0.0058718277, -0.004708916); + result4 += M4(-0.00082150043, 0.0035749278, -0.06620391, 0.015952481, -0.06066882, 0.11966424, 0.020625908, 0.14022347, 0.03453027, 0.09951686, 0.030452102, 0.09785175, 0.017366413, 0.021417418, 0.0854475, -0.028064398) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.025837269, -0.00859641, -0.024063835, -0.09492943, 0.04334022, 0.062923044, -0.05198598, 0.13739535, -0.0012544091, -0.041129928, -0.048442326, 0.0045883493, -0.056084245, -0.05464814, 0.11608336, 0.07752806) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.025297863, 0.022830343, -0.07327247, 0.01121118, 0.03380974, -0.19225067, -0.073077306, 0.07556116, -0.09177012, -0.111199096, -0.021232245, -0.019701473, 0.07070674, -0.06856982, -0.05295248, -0.11421962) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.07735331, -0.018009976, -0.0075341486, -0.0012720634, -0.011056032, 0.16033258, 0.0667747, 0.06981774, 0.010906969, 0.14408739, 0.014330172, 0.036531374, -0.023353843, 0.06018063, -0.03483861, -0.080878764) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.073614664, -0.10017217, 0.08000374, -0.042103946, 0.006346365, -0.45544505, -0.024923574, -0.19155972, 0.06519284, -0.00072215166, -0.11229065, 0.060366947, 0.066153385, -0.10267078, 0.0028149183, 0.03730766) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.008723056, -0.024858225, 0.10066162, 0.02372652, -0.08866089, -0.31624717, 0.13398072, 0.14831802, -0.017838968, -0.038123928, 0.00032908857, -0.03882798, -0.034221943, -0.0899852, -0.068446405, 0.050456006) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.023857558, 0.03242931, -0.05590451, -0.042968877, 0.02135128, 0.200712, -0.041062947, -0.061071947, 0.1054583, 0.07357374, -0.012569769, -0.043516964, -0.033741653, -0.014247395, -0.012548519, -0.009561672) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.08726369, -0.060914654, -0.031773113, -0.030238662, -0.051007222, 0.14936559, -0.11216821, 0.11134024, -0.058264796, -0.019343631, 0.009661967, 0.039841365, -0.059944253, -0.029421512, 0.039503593, -0.044727575) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.007805335, -0.012389752, 0.020664584, -0.009623104, -0.009971435, 0.009738455, 0.09384818, 0.10673573, -0.0740482, -0.030384272, 0.034586944, 0.03367864, 0.06858058, 0.08445905, 0.032800365, 0.042304423) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.014035343, 0.081812665, -0.06422505, -0.076681525, 0.06341031, -0.03700187, 0.0006734252, 0.029236669, 0.013358772, -0.0047658165, 0.018954577, -0.113744274, 0.035476528, 0.029532865, 0.047196362, -0.051773593) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.076276265, -0.04768669, 0.038157634, 0.00042377834, -0.0039818385, 0.0076991688, -0.08821033, 0.12856951, 0.053439494, -0.080139205, -0.045325883, -0.07181683, 0.10289659, 0.09581256, 0.10965571, 0.014237591) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.017790215, 0.028578533, 0.010011636, 0.01868254, 0.0055043725, -0.048826467, -0.10326938, 0.036806762, 0.090546936, -0.06676981, 0.085744105, 0.098126404, 0.06311324, 0.035443004, -0.093599424, 0.032334074) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.03420814, 0.14034154, 0.027152801, -0.12475677, -0.04369547, -0.030006515, 0.0028874227, 0.0653085, 0.0849355, -0.12570313, -0.008965667, -0.07424618, 0.022176366, -0.030742386, -0.012800186, -0.044536352) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.04822499, 8.286155e-05, 0.04892865, 0.028617466, -0.017581029, -0.18075672, -0.08807248, -0.06286527, -0.07095109, -0.04393712, -0.15858203, -0.14273772, 0.09063627, 0.18849294, 0.014447544, -0.016789451) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.010466232, -0.03458191, -0.055174023, 0.02165314, -0.0454547, -0.2133287, 0.019270482, 0.014150804, 0.019111788, 0.05717106, -0.06651127, 0.058889534, -0.019852042, 0.034681775, -0.1008761, 0.055975314) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.02514957, -0.013665099, 0.009453669, -0.091441505, 0.11340974, -0.14352691, 0.015074522, 0.10876473, -0.05973946, -0.065673046, -0.0115122795, 0.16799292, -0.082857385, -0.012078929, -0.05028857, 0.14637986) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.055300415, -0.09146368, 0.01570551, -0.034911945, 0.007390362, 0.005620275, -0.10591464, -0.20927264, 0.048731286, 0.048591748, 0.0512039, -0.035637736, -0.057843972, -0.043307193, 0.03391351, -0.050667476) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.07935686, 0.069221206, -0.06541192, -0.035265442, 0.03748376, 0.50719774, 0.015448604, -0.20611364, 0.09222633, -0.14132449, -0.036654532, -0.049323678, 0.040579464, -0.09628602, 0.05307159, 0.05799895) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.053813465, 0.0812664, 0.07250382, 0.024781466, -0.022118524, -0.006057994, -0.012389928, 0.0917676, -0.049959335, 0.044740304, -0.09450066, -0.10054234, -0.039846092, 0.14370272, 0.12880066, 0.01113598) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.03909449, 0.019128364, 0.016260197, 0.036782686, -0.021127097, -0.008794415, 0.047429856, 0.07645338, 0.00514971, -0.07962687, -0.07814472, -0.19827934, 0.0034827671, 0.051165693, -0.036491662, -0.04852522) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.016425228, -0.10102339, -0.03175214, -0.030488184, 0.0042407075, 0.07631549, -0.071398415, -0.030553212, 0.18280296, 0.04675959, 0.14613643, -0.1561248, -0.024883093, -0.18060163, 0.06332671, 0.101312615) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.02042093, 0.004889987, 0.04746692, -0.04194233, 0.034580436, 0.006149458, -0.028721103, 0.12035057, 0.05197916, 0.04783975, 0.11595752, -0.28027746, 0.017383585, 0.18964976, 0.0054357294, -0.038227707) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.03205345, 0.021737898, 0.05476861, 0.111005254, 0.0633535, -0.067363106, 0.00689729, 0.020789541, -0.022878207, -0.17643768, -0.06102929, -0.09776104, -0.06754785, -0.06988824, 0.08273632, -0.13135137) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.046391204, -0.12702799, -0.016413176, -0.005956036, 0.04931025, 0.11508843, -0.025776647, -0.10140436, -0.175635, 0.024518745, 0.04165953, -0.264902, -0.04553731, -0.108174264, 0.015542758, -0.019481743) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.05392207, 0.031177552, -0.050194845, -0.07917215, 0.00845692, -0.10890896, 0.09334872, 0.11597256, -0.08126385, 0.053044394, 0.051821955, -0.005567906, -0.084544815, 0.050703745, 0.037241194, 0.0995452) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.052955378, 0.040978815, 0.10751517, 0.06816208, -0.016330251, -0.117702365, 0.050645854, 0.121252626, 0.07031536, 0.024954462, -0.10836048, -0.028652735, 0.024552448, 0.02089307, 0.029889422, 0.011071389) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.0010691027, -0.18625301, 0.037954114, 0.093543485, -0.043069072, -0.031920284, -0.042359423, -0.08726012, 0.042967014, 0.11449552, 0.05110642, -0.0496941, -0.03300231, -0.10130463, -0.016392613, -0.02024943) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.0586301, 0.15245676, -0.033052623, -0.07168638, -0.0007607549, 0.09323441, -0.11542363, 0.04648918, -0.15328716, 0.26346698, -0.030904697, 0.030372068, 0.037749205, 0.09137971, 0.02904065, 0.040045053) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0018155596, 0.09201568, 0.07001537, 0.032052774, -0.021042239, 0.07662103, -0.053666964, 0.13526371, 0.024814583, -0.018301426, 0.08439379, 0.12338302, 0.048591074, 0.0069108913, 0.06375166, -0.057427537) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.041273054, -0.047927774, 0.010706581, 0.11212849, 0.03788077, -0.08844824, 0.0075060115, -0.024004288, -0.016592283, -0.124963574, 0.047481053, -0.029573433, -0.01174942, 0.03842072, 0.060125805, 0.0064416286) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.09386426, 0.01719142, -0.022716224, 0.4145352, -0.0011966901, -0.010671357, -0.09432069, 0.07196611, -0.066162445, 0.11973952, 0.08679566, 0.045976005, -0.05242675, -0.04456436, 0.09487151, -0.0636997) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0665664, -0.491547, 0.09975024, 0.09695219, 0.017481357, 0.05835143, 0.008020929, 0.16326845, 0.04377168, 0.041760277, 0.04681802, 0.056204192, -0.027579362, 0.082259275, -0.04886175, -0.006413534) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.15407313, -0.2352814, -0.019875789, -0.071651205, 0.13668239, 0.1099387, 0.12249358, 0.031012705, 0.07547411, -0.4822725, -0.09161933, -0.0005460044, -0.118472286, 0.01575216, -0.05584889, 0.093608245) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.6005004, 0.18364763, 0.3029105, -0.55660754, 0.002791999, 0.17598347, -0.02773778, -0.20713608, -0.035308547, 0.064654864, 0.034603156, 0.034586817, 0.013711437, 0.12487707, -0.010939594, 0.08632934) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.0252136, -0.3524975, 0.40899456, 0.43160588, -0.0038752526, 0.022989146, 0.05450196, 0.033454284, -0.018443212, 0.007951612, 0.058630154, 0.035924617, -0.00043654535, 0.011249563, -0.07747764, -0.14832802) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.55209124, 0.1645877, -0.05679325, 0.2825911, 0.04400707, -0.10969654, 0.08035051, -0.00402581, -0.07924538, -0.17954224, 0.025348974, 0.013646938, -0.04233854, 0.16283436, -0.018776229, 0.074038565) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.046763226, -0.035151694, 0.058825307, 0.004375999, -0.01177665, 0.048826013, 0.05469535, 0.091088586, -0.018859731, -0.010921311, 0.03825621, -0.061831962, 0.01987421, -0.071696095, -0.01614405, 0.027941206) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0053317067, 0.03831628, -0.032568756, 0.03189514, 0.01934001, 0.05037884, -0.050679963, 0.018834228, 0.02378493, 0.08113243, 0.055374723, -0.014344073, 0.01835414, -0.021392467, 0.039939445, -0.028287724) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.057162616, -0.038000155, -0.02357545, -0.0008907829, 0.04940179, -0.17048118, -0.021740831, -0.15063486, 0.034101814, 0.059717454, -0.05613094, 0.02516169, -0.0031082819, -0.017597577, -0.0024994833, -0.021807186) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.052368134, 0.06852329, -0.026991952, -0.071913876, -0.002987438, 0.012389825, 0.08220137, 0.06443077, 0.06327744, 0.10107812, 0.050826572, -0.07522763, 0.014188798, -0.020329168, -0.044629183, 0.00677529) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.016701993, 0.026134696, -0.021828149, 0.06621852, -0.0016943878, -0.11616585, -0.0020408516, 0.085480705, 0.0408997, -0.039685782, -0.020032246, 0.02805984, 0.036703184, 0.10641765, 0.1245149, -0.016577717) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.095616624, -0.02345342, 0.040970273, -0.017994381, -0.09705228, -0.046410024, -0.07243504, -0.06915207, 0.09584475, -0.1670904, -0.02957425, 0.12623549, -0.031264998, 0.19731334, -0.050352015, 0.08076492) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.007844104, -0.042084366, 0.015844358, 0.070565976, 0.0052973493, -0.01272131, -0.006171012, -0.05680897, -0.025337802, 0.09308619, -0.036781996, 0.08092892, -0.022079369, 0.008666444, -0.035587173, -0.016502159) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.0269401, -0.13831225, -0.09083566, -0.027309593, -0.049807627, -0.045062922, 0.0009896684, -0.02512906, -0.022978082, -0.041933935, 0.065487444, 0.079139106, 0.031568184, 0.022119548, 0.029080393, -0.07015594) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.0923806, 0.056251116, -0.06329321, 0.039772015, 0.00980235, -0.02133817, -0.020178854, -0.06917338, -0.118036345, -0.004629583, 0.074251376, 0.14185011, -0.028419307, -0.054235984, 0.020540044, 0.020940477) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.0032550932, -0.181009, -0.030018274, -0.14767028, 0.06123868, 0.0045143873, 0.03324062, -0.043148898, -0.1023546, -0.055224273, -0.02694958, -0.03570513, 0.04702962, 0.2159486, -0.016663123, -0.088567734) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.013885054, 0.083086565, 0.050449066, 0.0836425, -0.02782874, 0.10957025, 0.12191435, -0.05541814, 0.020524802, -0.016859332, -0.04641707, 0.050575484, -0.06410691, -0.013773409, -0.018132692, 0.032087695) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.031779718, 0.059460845, -0.08601958, -0.07505201, 0.049904864, -0.074014366, -0.0025562178, 0.039499708, -0.064794786, -0.0857096, 0.0079706805, 0.022299673, 0.021123972, -0.08293265, 0.0767032, 0.027342996) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.0013085239, -0.077876195, -0.049100835, -0.18723825, 0.003940156, 0.13132958, 0.050240505, -0.09619965, -0.025599359, -0.18996677, -0.005152275, -0.001275176, 0.07172794, -0.052275997, 0.1122533, -0.09737049) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.032744933, 0.1550318, 0.11544148, 0.11771438, -0.046389394, 0.0011422398, 0.03199717, -0.046601623, -0.06984624, -0.08996993, 0.013201784, 0.0119696865, 0.026229668, 0.08885468, -0.07879065, -0.005026658) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.0609193, 0.068676814, -0.03191292, -0.12474674, 0.0063563203, 0.08033157, 0.07963442, 0.01564074, 0.07961193, -0.03642438, 0.0065206713, 0.051607013, 0.10888965, 0.28157482, -0.09730009, -0.042534053) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.022793945, -0.0028026134, 0.0068392335, -0.062040824, 0.04623863, 0.011386527, -0.030242186, -0.037626833, -0.023156883, -0.033678032, -0.065720774, -0.028163206, 0.006870488, 0.033630937, 0.008268072, -0.054861635) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.045331493, 0.05020013, 0.10427859, 0.060280446, -0.052992944, -0.04577016, 0.031466357, 0.023927867, 0.012516522, 0.10484287, -0.062549695, -0.10647479, 0.077242956, 0.008638172, 0.032735363, -0.015857393) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.016002987, -0.30219203, 0.07650835, 0.025628416, 0.05764548, -0.13725948, 0.09010687, 0.042306308, 0.033346497, 0.15029362, -0.060961057, 0.00894175, 0.041290943, 0.1704489, -0.062351212, -0.054177705) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.016316902, -0.12818614, -0.10619036, -0.10140975, -0.008219888, -0.09722211, -0.043875765, 0.06335974, 0.044684976, 0.04600923, -0.005252201, -0.06684235, -0.06641287, -0.04012307, -0.0074282247, 0.029494101) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.017824786, 0.098452926, 0.012296506, -0.004276311, 0.07102459, -0.09456646, -0.14416084, -0.121801, 0.016402494, -0.07177419, 0.10748802, 0.034015067, 0.11539839, -0.08169095, 0.07650734, 0.09239199) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.12585069, 0.097613364, 0.03856618, -0.020045701, -0.026921788, -0.118060075, -0.004722563, -0.01553552, 0.029153224, -0.05889056, -0.049339756, 0.015525131, -0.16506709, 0.12429404, 0.08266398, -0.010347145) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.046347257, -0.03863266, 0.03656146, -0.088605426, 0.043382805, -0.14498772, -0.13087383, -0.016001273, -0.04492706, 0.05562443, -0.055423778, -0.17906542, 0.019989554, -0.08165095, -0.03732918, 0.020192878) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.033938613, -0.09324732, -0.0035502166, -0.08345665, 0.12234306, -0.18647549, -0.017358009, 0.04510842, -0.050143722, 0.053056806, 0.04677238, 0.1047267, 0.08310617, -0.102690056, 0.016488941, -0.07947489) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.0069156806, -0.03547114, 0.02156658, -0.033402376, -0.010424037, -0.029399341, -0.11154678, -0.0103988685, -0.15821448, -0.38730684, -0.11565995, -0.109661385, 0.039427117, -0.04090512, 0.012171899, 0.01256442) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.016389597, -0.09865097, 0.056343865, -0.034813903, 0.0047886684, 0.013769445, 0.009423025, -0.023225576, -0.079863206, -0.06061149, -0.024357378, 0.004493122, -0.019576937, -0.111168, 0.033561286, 0.14747351) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.08390321, 0.07173094, -0.041794963, 0.0035809043, 0.006102272, -0.15532741, -0.032456625, -0.019441495, 0.020618388, 0.08986565, 0.03538222, -0.01939673, 0.076332875, -0.013586937, 0.06741929, 0.013323022) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.023607086, -0.029768385, 0.016973399, -0.083096914, 0.068514355, -0.020669064, 0.04778413, 0.0761075, 0.0037662913, -0.10202609, -0.03309399, 0.025283104, 0.024194207, 0.3073668, 0.08416663, 0.06969849) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.0066670566, -0.010130502, -0.022964966, 0.035760447, -0.015583154, 0.09136924, 0.027512703, -0.045204908, 0.0069360356, 0.011184111, 0.042231694, 0.11682879, 0.0368069, -0.009694665, 0.0039190454, -0.025593063) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.01674067, 0.009730073, -0.11259253, 0.029802613, -0.031227553, -0.016761737, 0.044058766, -0.021533756, -0.031237628, 0.009930453, 0.070949025, -0.053794526, -0.047235817, -0.012942685, -0.099856086, 0.071843065) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.0383152, -0.10713343, -0.08952353, 0.07442802, 0.043767426, 0.03729869, 0.050835606, -0.031993665, -0.10506379, -0.07867678, -0.022816164, -0.10167317, -0.010568192, 0.21106417, 0.006301526, 0.006704791) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.0072359494, -0.020404778, -0.012734181, 0.059417512, -0.015773958, 0.09269551, 0.052322045, -0.07522165, -0.064139806, 0.059473224, -0.013410602, 0.062403582, 0.043532852, 0.08153042, -0.020223536, 0.013900687) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.06639631, -0.01644478, -0.13592061, -0.17679001, -0.05455721, 0.14738032, 0.06283412, -0.050562892, 0.07928836, -0.031588964, -0.00020748048, -0.036100026, 0.08934062, -0.04945716, -0.07407497, -0.036186974) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.050434552, -0.10837513, -0.08770597, -0.0059757675, -0.011203099, -0.13941531, 0.027200218, 0.030181265, -0.027888268, 0.07884397, -0.10534716, -0.08069642, -0.050978094, -0.08941705, 0.0130151035, 0.054690223) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.023725403, -0.031113746, 0.035048373, -0.008659908, -0.031079264, 0.05530943, 0.054623462, -0.08630194, 0.07760351, 0.07674006, -0.027398035, 0.030755548, -0.0236653, -0.028175864, 0.0049277944, 0.03700644) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.030132316, 0.08498954, 0.0065402794, -0.07312959, -0.061131194, 0.015095139, -0.0088806655, 0.020033402, -0.010954551, -0.04922252, -0.060566384, -0.0424551, 0.056430493, -0.05441354, 0.0055932584, 0.05086343) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.019307736, -0.11485267, -0.07061357, -0.05969741, 0.009375154, -0.2592922, 0.021961626, 0.119069815, 0.09418568, -0.017620513, -0.19550745, -0.10856597, 0.04302272, 0.035285115, -0.0602747, -0.014331461) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos4 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(4, 0); + imageStore(out_image, store_pos4, max(result4, V4(0.0))); + V4 result5 = V4(-0.0018502712, 0.013060026, -0.0016276615, 0.0031085813); + result5 += M4(-0.0034867683, -0.06799548, 0.104626626, 0.07303658, -0.027375786, 0.07564673, 0.09572826, 0.047167797, -0.13840175, -0.0031795986, -0.042895127, 0.04400798, 0.02009291, 0.07265283, 0.026135247, 0.07674724) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.08454174, -0.12616928, -0.07216902, 0.093206435, -0.10129391, -0.07470844, -0.16667219, 0.01982844, 0.06570152, -0.0040220884, -0.046764296, 0.08865105, 0.008413359, -0.037302844, 0.055106986, 0.059266504) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.073272236, 0.0699166, -0.10227257, 0.018430935, 0.05203697, -0.0077220895, 0.20302588, 0.06310515, 0.012925274, 0.039079733, 0.09162067, -0.0036802778, -0.03891433, 0.030667461, -0.12863748, -0.061780296) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.07740777, -0.02794487, 0.10000304, -0.016996691, -0.082056046, 0.075817116, 0.038522486, 0.031263057, -0.23933397, -0.023163714, 0.024396686, -0.012583904, 0.01432167, -0.023034513, -0.07294257, 0.105155446) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.09158961, -0.09077395, -0.019323545, -0.058573775, -0.015066817, -0.027484333, 0.06380175, 0.27504218, -0.06905784, 0.0395521, 0.04059389, 0.05345466, -0.08288642, 0.043936454, 0.08308352, 0.0056901667) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.11470604, 0.043889385, 0.04602655, -0.09404921, -0.103423655, 0.08737013, -0.123206265, -0.030117817, 0.06853928, -0.050956983, 0.08862316, 0.009697244, -0.03782898, 0.008836726, -0.047139525, -0.07108922) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.037052277, -0.05272276, -0.025745844, 0.031913377, -0.10988181, -0.02445581, 0.044487067, 0.055945948, -0.010659528, -0.0056559923, 0.048278924, 0.005885464, 0.0049629086, -0.03368503, -0.040521704, 0.06252929) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.08015414, 0.07871552, -0.051518604, -0.04828251, -0.12250616, 0.0961609, 0.13415286, -0.06894969, -0.11286687, -0.06066549, 0.006262956, 0.034157954, 0.0657992, -0.07559211, 0.021974036, 0.03179849) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.00761903, -0.0033597557, 0.05955128, -0.0004949997, 0.07120819, 0.1358684, -0.041501727, -0.026851369, 0.012229947, -0.017305542, -0.03838526, 0.08197147, 0.022157433, 0.0228919, -0.06402769, 0.017405318) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.018751951, -0.09725986, 0.14570455, 0.0733288, 0.0626444, -0.09380579, -0.03282332, -0.03408707, 0.11018893, 0.06079217, 0.04924616, -0.04709964, 0.004935011, 0.0033031956, 0.009620953, 0.04110896) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.119331524, -0.041621476, 0.020308068, 0.064131126, -0.04575323, -0.01969331, -0.064907394, -0.082343966, 0.005354518, 0.09537535, -0.095304884, 0.007893051, 0.054199796, -0.00081671495, -0.04141645, 0.051360905) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.061368935, -0.025826558, -0.0014476342, -0.027698595, 0.015461433, 0.020282753, -0.14221196, 0.031994525, 0.04652222, -0.05602202, 0.007611992, -0.026475392, -0.010036504, 0.018430166, 0.028369807, -0.025243111) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.02331098, -0.07114149, 0.057605274, -0.01798871, -0.030704323, 0.02618171, 0.03892856, -0.16003852, 0.03254898, 0.017172366, -0.029877653, 0.04520348, -0.05242536, 0.00075598503, 0.08305009, 0.0632149) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.09061947, 0.07380929, -0.07807831, 0.034749664, 0.043393087, 0.0038926443, 0.02431722, -0.0586504, -0.06708017, 0.010430389, 0.05304435, 0.1483699, 0.04252227, -0.093155935, -0.20923366, 0.10114229) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.042515274, 0.056481134, -0.0050386526, -0.108752, 0.027364075, 0.029051226, 0.0095078135, -0.09571274, 0.040487014, 0.098090686, 0.01574532, 0.05326494, -0.03191604, 0.037421823, 0.05902839, -0.041053366) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.06252495, -0.013159625, -0.043922715, 0.03240694, 0.055383805, 0.06305195, 0.10862439, -0.06721558, 0.020994438, -0.0010589706, -0.0073243547, 0.053586785, -0.0999526, 0.030172931, 0.028610907, 0.05298781) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.027181327, 0.00089175, -0.035875455, 0.0700373, 0.025296643, 0.015070835, -0.17424005, -0.08070625, -0.026955241, -0.06017101, -0.059225332, 0.11732912, 0.0051175538, 0.07206786, -0.07057198, -0.0034850813) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.007746302, -0.03530862, -0.0826572, -0.10725515, 0.013858807, -0.013930487, 0.037456524, 0.09528927, 0.06426936, -0.058356244, -0.12601738, -0.051057514, 0.06708228, -0.10370741, -0.0143711865, -0.020461775) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.018505381, 0.06280765, 0.00893378, -0.046311203, 0.08710613, 0.010459748, -0.041679975, 0.05716624, 0.08140529, -0.038917303, 0.07694025, -0.07460701, -0.06611691, 0.023722533, 0.07290425, -0.018240826) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.044367813, 0.02315649, -0.048203208, 0.091498524, -0.02996703, 0.06782791, -0.13243331, 0.011353569, 0.09195264, -0.1163415, -0.13685246, 0.17857984, -0.011073682, -0.032562423, 0.09509679, -0.041359745) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.03156342, -0.10025963, -0.013017946, 0.0257307, 0.0011655566, 0.03229435, 0.051889036, 0.026342308, 0.41414958, 0.012588855, 0.13593782, 0.19657598, -0.07852095, -0.01594614, -0.03566659, 0.064261064) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.09222063, -0.058339145, 0.023249721, 0.003983082, 0.023988148, 0.092463374, -0.08646758, -0.0545711, 0.04530583, -0.06911478, 0.07597236, -0.040497676, 0.03971526, -0.031512626, 0.0056959204, -0.11790931) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.040312603, -0.04079137, 0.13341509, -0.07020256, 0.10391367, -0.019775882, -0.045597337, 0.09759153, 0.120882414, -0.0070507145, -0.049658306, 0.053672593, 0.109002165, 0.051296826, 0.07197283, -0.023618313) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.026795456, 0.074361324, -0.006788881, 0.0042565023, -0.054562055, -0.0027935575, -0.14169939, 0.0044548293, 0.16372812, 0.039148312, 0.05321331, -0.063007146, 0.009212332, 0.014397695, -0.04166784, -0.08835426) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.04724247, -0.122024976, -0.014700797, -0.03276682, 0.021924186, 0.022364102, -0.040529076, -0.08829915, 0.1504969, 0.04789319, -0.0070095453, 0.10675398, -0.0011716726, 0.11240305, 0.00907958, -0.048820153) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.028236004, 0.085503906, 0.13320252, -0.079881065, -0.00879117, -0.007598905, 0.07094805, -0.014092084, 0.030077713, 0.015622199, -0.0063013197, 0.048987027, 0.053226143, -0.065982394, 0.046956718, 0.06776234) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.025318446, -0.018986637, 0.0010503505, -0.00620221, 0.06230818, -0.11016683, -0.0046868976, -0.09211424, -0.094955206, -0.062662005, 0.018036988, -0.039500773, 0.029013721, 0.044339567, -0.058506794, -0.01863493) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.1449545, -0.04456019, 0.2313092, -0.0022946603, 0.03316544, 0.016549297, 0.011667408, -0.0025256004, -0.05439931, -0.009969395, 0.07813555, -0.114387766, 0.052652866, 0.06594491, 0.008688532, 0.020052353) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.07468828, 0.1671007, -0.0026488134, 0.016083784, -0.07103053, -0.0154779935, -0.03818411, 0.078462854, 0.012833457, 0.003714522, 0.17777874, -0.0132201305, -0.029431153, 0.04108548, 0.13806884, 0.10287192) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.15160893, 0.123133935, 0.004553965, 0.050150372, -0.14184715, 0.022584926, 0.11896978, 0.018132892, -0.07663858, 0.019862494, -0.021870669, -0.040176585, 0.08019894, 0.013569891, 0.12539373, 0.08668106) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.02119943, -0.07507259, 0.18291096, 0.08199222, 0.07863311, -0.019817855, -0.012006836, 0.12678276, -0.16732183, 0.07232327, 0.22850059, -0.05757299, 0.12350581, 0.0158648, 0.079822704, 0.0721462) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.34529743, -0.15307695, -0.037712686, 0.110782854, -0.050074626, 0.026551321, 0.013175536, 0.0020625908, -0.027689343, -0.042692546, -0.0945062, 0.049148344, 0.023155386, 0.0053128544, 0.05415328, 0.110407) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.0651822, -0.11879126, 0.010653457, -0.007635576, -0.25156125, -0.04694231, 0.026544593, -0.06362206, 0.056315932, 0.048021078, -0.016222343, -0.014184984, 0.085660696, 0.019384801, 0.022748632, -0.11191533) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.44623163, 0.6165858, 0.42312464, 0.122841716, 0.0568353, -0.049715966, -0.07067143, -0.03544703, -0.10283778, -0.0015414917, 0.09148322, -0.087793775, 0.011875088, 0.10354395, -0.034211162, 0.11749575) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.27958894, 0.42554858, 0.44331464, -0.42646545, -0.06608566, 0.0023158144, 0.14139481, 0.077250354, -0.06722247, -0.050994523, 0.0307696, -0.029116957, 0.09956953, 0.07132974, -0.08264837, 0.047654986) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.30229408, 0.048168216, 0.15805377, 0.14520514, 0.010495806, -0.024665743, -0.0062411455, 0.09256795, 0.023344511, 0.0021540725, 0.035688963, 0.026297262, 0.070672646, -0.054093998, 0.06567969, 0.042465094) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.029061485, -0.045439236, -0.060472358, -0.04693463, -0.02682241, 0.00868559, -0.05213031, -0.009660583, -0.0065009366, -0.038077366, 0.0019683763, -0.015385262, -0.004920744, -0.03671484, -0.04807187, 0.059857283) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.053987972, -0.0005788648, 0.0023654925, 0.01086061, -0.122963816, 0.042630292, -0.009455475, -0.04195461, 0.002737431, -0.006530747, -0.00045317633, -0.010581471, 0.062147774, -0.017458213, -0.06993401, -0.019796146) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.052362535, 0.030909497, -0.021492915, 0.052789494, 0.11830324, -0.0375631, -0.11699532, -0.073763326, 0.15291512, -0.020241346, 0.10914442, -0.025021045, 0.019168183, 0.0018543932, 0.05294428, 0.056688808) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.09469633, -0.023578895, -0.0030968478, -0.040890545, -0.14250876, -0.08831487, 0.03827692, 0.022349015, -0.11394762, 0.030952442, 0.038697615, -0.11182602, 0.12860519, -0.022258185, 0.0725786, 0.09179456) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.040537886, -0.02905925, 0.029597867, 0.073216096, 0.14953516, 0.0628931, 0.03801425, 0.004615126, -0.10813203, -0.0012218577, -0.030181715, 0.023227105, -0.016616719, -0.030022006, -0.06760628, 0.13831317) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.069252364, 0.08563284, -0.08996617, -0.043738395, 0.01070131, -0.043019366, -0.107516795, 0.012081963, 0.046827286, 0.048738047, -0.065743044, -0.1082709, 0.041014552, 0.03536314, 0.005398703, 0.0029251575) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.021586033, 0.005284693, -0.026472084, -0.03044557, 0.046170898, -0.006076123, -0.11087607, -0.0673467, -0.09037475, -0.008089788, 0.04187487, -0.014248918, 0.03648588, 0.023301037, 0.03793544, -0.0057259374) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.032596573, 0.052019544, 0.09881275, 0.062834956, 0.17446987, -0.056122202, -0.050665345, -0.057391778, -0.08821251, 0.023172405, 0.099907316, 0.05844725, 0.01871133, -0.074424714, -0.032109767, 0.035101775) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.020349177, -0.044381548, -0.11637121, 0.012656253, -0.064132966, -0.09566845, -0.030865995, -0.040884618, 0.054369144, 0.021972781, -0.03771244, 0.08873821, 0.06801693, -0.12766573, 0.1449775, 0.064136714) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.079329565, 0.073970035, -0.034124024, 0.07211574, -0.08693538, -0.0033195568, 0.07101696, -0.12414901, 0.04284019, -0.029499939, 0.0331111, -0.0038576915, 0.031238582, 0.050063208, 0.09144514, -0.05277108) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.021449404, -0.0075499956, -0.0469231, 0.053179033, 0.06812503, -0.07195542, -0.048390873, 0.0016878637, 0.019933537, -0.079445496, 0.10816008, -0.010475649, -0.041381385, 0.02159222, 0.10465893, 0.09724063) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.06260436, -0.070720024, 0.019447621, -0.0029906617, 0.048330557, -0.03589644, -0.005590478, 0.0029294547, -0.16843839, -0.029476237, -0.080948666, 0.004498308, 0.028533462, 0.07080235, 0.17012274, 0.017130153) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.0689058, 0.03230708, -0.036929943, -0.010096919, -0.07922481, 0.013460419, -0.019626755, 0.081317864, 0.09977364, 0.111893624, 0.02989708, -0.044290747, -0.028390877, -0.032441583, 0.099911705, 0.04555478) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.2142877, -0.032183833, 0.041199625, -0.11699432, 0.12505189, 0.055499434, -0.0013959837, 0.013759204, 0.15844987, 0.0017676211, -0.027147895, 0.0005089197, 0.019668553, 0.008932202, -0.11473781, -0.045008395) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.053575903, -0.10717223, 0.05347942, 0.039754707, -0.03345623, 0.01758708, 0.04305394, 0.050766457, -0.08772696, -0.013621805, -0.0762947, 0.022190684, -0.13203281, -0.07665446, -0.25784504, 0.025728654) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.10171311, 0.014510399, -0.022153229, 0.043001786, -0.044839535, 0.061768025, -0.017428817, -0.0024155, 0.026451623, 0.10312222, -0.043024514, -0.08268803, 0.023773594, -0.02314727, 0.0638462, -0.0045800502) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.0025931569, -0.01936465, 0.09707398, -0.06931802, 0.035466447, -0.00023873974, -0.06279841, 0.18710504, 0.04238498, -0.008877194, 0.024820281, -0.04490692, 0.011235269, -0.026580723, -0.039882068, -0.0941417) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.104906335, 0.0026718637, 0.025410641, 0.024491915, 0.06137515, -0.060977787, -0.06778615, 0.009123535, -0.047914356, 0.11134194, -0.1379349, 0.042340606, -0.031168671, -0.054927774, -0.23867685, 0.023472602) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.057836242, -0.0022434306, -0.05715349, 0.037693046, -0.023173543, -0.063113585, -0.040417723, -0.01667871, -0.08142543, 0.055259004, 0.08037067, 0.0064939936, -0.0805877, -0.021205802, 0.042765286, -0.084956795) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.06419795, 0.0394746, -0.06869522, -0.014618079, 0.071850844, 0.07632752, -0.061004896, 0.026365938, -0.008972183, -0.063974686, 0.102054566, -0.07028359, -0.033728037, 0.06701828, 0.035105564, -0.06403196) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.0028174256, 0.016724378, 0.041380495, 0.01032302, 0.04895295, 0.08854221, 0.0064540035, 0.05622498, 0.012599644, -0.022446038, -0.034043763, 0.005340875, 0.0062671956, -0.0029533524, 0.27926448, 0.056106325) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.10503049, -0.05114609, -0.03513689, 0.027661879, 0.014933936, -0.002855156, -0.12585463, 0.09856479, -0.037063308, 0.0061761406, -0.025112197, 0.058180254, -0.045225557, -0.05042486, -0.024246199, 0.08490273) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.038721893, 0.040877443, -0.021830358, 0.027328668, -0.08662517, 0.019631477, -0.07702437, 0.044343833, -0.11632552, 0.16801949, -0.0011627385, 0.031129051, 0.17172147, 0.09361721, -0.22902071, 0.0046398635) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.10943754, -0.02450331, -0.0052538617, 0.01536998, 0.06708846, 0.03559325, -0.032481857, 0.0058926116, -0.02187761, 0.021631522, 0.10126193, -0.015683185, -0.116349824, 0.22354414, 0.15982276, 0.007648408) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.09519393, -0.08746887, -0.11373701, -0.040829618, -0.045432087, 0.03844504, 0.03284802, -0.026442667, 0.056495596, -0.06727405, 0.014754259, -0.060380634, 0.07910566, 0.0076329727, 0.060233828, -0.027694043) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.014422433, -0.11226171, -0.033845693, 0.08287245, -0.00533613, -0.028171543, -0.069962114, 0.01795553, -0.054738816, 0.08107565, -0.07315344, -0.029890817, -0.0058989087, 0.0038030688, -0.08546062, -0.10980397) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.11178818, -0.00018276428, 0.013667662, -0.092647985, -0.016556172, 0.027649274, -0.038982797, 0.0073705716, 0.005167111, 0.0004047553, 0.028304193, -0.005546212, -0.0020436377, -0.081729606, 0.15764152, 0.19297391) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.10865291, 0.022492679, -0.06725254, -0.07402369, 0.009561395, -0.05032684, 0.063788995, -0.0011078919, -0.061705396, 0.07058117, -0.043833874, 0.008595119, 0.016690504, -0.03254529, 0.0068680057, -0.049732987) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.040279765, 0.033816963, -0.11137613, -0.17196828, 0.003476875, 0.050391644, 0.09385161, 0.034769014, 0.075421005, 0.090086594, 0.10458649, 0.06382363, 0.032953225, -0.013192451, -0.11549236, -0.033632897) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.043853145, -0.02960237, -0.044585142, -0.023463616, -0.0063892817, 0.010974768, -0.056211535, -0.034223776, 0.14973699, -0.08122499, 0.012469696, -0.019757243, -0.052417673, 0.07006685, 0.0009089673, 0.0716704) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.1290615, -0.024734018, -0.066718146, -0.045559973, 0.023330813, 0.007858997, 0.025794307, -0.011063666, -0.03234947, -0.002042002, -0.025240067, 0.022175862, 0.020873437, 0.008090758, -0.02028331, -0.008801376) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.038056914, -0.06315142, -0.062348034, -0.0802054, -0.060623568, 0.08792905, 0.0014848039, -0.04334639, -0.034441654, 0.0129482625, 0.1063787, 0.051099297, 0.15018068, 0.11398622, -0.052637883, -0.14344603) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.05166784, 0.0014913273, -0.11174579, -0.057976343, 0.009156046, -0.040897816, 0.05148764, -0.2329133, -0.036603075, -0.16452911, -0.033397604, -0.27509752, 0.0029807237, 0.0967238, -0.099186145, -0.0526396) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.036465388, -0.049579907, 0.029325692, 0.10625172, 0.01572375, 0.016968515, 0.03425351, -0.06374192, 0.123899944, -0.02193389, 0.008492115, 0.008948067, -0.09144133, 0.03858344, -0.07675407, 0.0077100624) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.04402887, -0.04482599, 0.043106318, -0.12008298, 0.020101454, -0.052356184, 0.021416297, -0.13514215, -0.10392866, 0.08330446, -0.025625795, -0.05292545, -0.017441912, 0.09128178, 0.0071307896, -0.0071505294) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.0512658, 0.01558601, 0.07133337, -0.080093846, -0.031748887, -0.02299093, -0.023076529, -0.04939016, 0.13369799, -0.07887103, -0.088508, 0.10764186, -0.05047807, 0.032808747, -0.1381507, -0.024785798) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos5 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(5, 0); + imageStore(out_image, store_pos5, max(result5, V4(0.0))); + V4 result6 = V4(-0.0040995805, 0.0007194403, 0.0008392621, 0.001028336); + result6 += M4(0.075784825, -0.037034735, -0.0036744392, 0.07465112, -0.05670644, -0.123901725, -0.03362572, -0.09263351, -0.07233453, 0.035810124, 0.043668594, 0.031640645, 0.027920155, -0.01759315, -0.029453129, 0.083901174) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.09306272, -0.08824151, 0.034110248, -0.07909394, 0.07923777, -0.0675245, 0.0042159534, 0.19649169, -0.016765067, 0.03096694, 0.048028514, -0.07512955, -0.023861969, -0.005058159, 0.08191341, -0.04802696) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.058305357, -0.0064076507, -0.045440044, 0.010436483, 0.006578405, 0.013296199, -0.009523827, -0.0150202615, 0.024477644, 0.057438094, 0.09306709, -0.093153514, 0.056336462, 0.04485729, 0.01790751, 0.070120595) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.0313928, 0.014648428, -0.050919294, -0.026879977, -0.04663104, 0.06514853, -0.24839179, -0.2559412, -0.013346348, 0.06336832, -0.04446757, 0.00716393, -0.018794393, -0.00844793, -0.0004606483, 0.10248499) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.11796386, -0.060605563, -0.06008603, 0.052328076, 0.13648452, 0.07972063, -0.031880084, -0.0076901787, -0.06552623, 0.0724651, 0.026186442, -0.047391493, -0.046831083, 0.07065877, -0.10031437, -0.16015299) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.054404497, -0.030310035, -0.07916586, -0.018411417, -0.17997582, 0.0027978893, -0.029557252, 0.068462595, -0.017427402, 0.06356921, -0.0020368495, -0.08432101, -0.0077087726, 0.021030258, -0.017963763, 0.03507504) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.060396884, -0.03615521, 0.017617533, 0.040767163, -0.04254167, 0.021306572, 0.009591684, 0.009189992, 0.058817904, -0.06426405, -0.08170266, -0.09619696, -0.030870477, 0.033960838, -0.03965184, -0.06645826) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.062075656, -0.024442522, 0.047215283, 0.026543064, 0.08701226, -0.018016454, -0.072575614, -0.17055945, 0.036155406, 0.075321995, -0.09031264, -0.15160705, 0.059795808, -0.0070480537, 0.0070460513, -0.044634003) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.075822234, 0.054797918, 0.06824017, -0.029036801, -0.045672283, 0.09358717, 0.04528781, 0.13409637, 0.05107057, 0.017422644, -0.016560322, -0.057816494, -0.03746733, -0.032234468, -0.021010201, 0.104233325) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.047409087, -0.07584622, -0.028389918, -0.043902453, -0.08117806, 0.028989743, -0.027972389, -0.023108205, -0.13299781, 0.022252431, -0.0028104885, -0.03011302, -0.07698808, -0.059214108, 0.080463715, -0.056250267) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.002134049, -0.019120194, 0.03312843, -0.05437777, -0.08774896, 0.009408445, 0.0075655514, 0.01665685, -0.10784665, 0.044640757, 0.042213, -0.012612082, 0.036114372, 0.039087627, 0.0027787406, 0.042103626) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.0041997316, 0.086481616, 0.067280866, 0.08253101, -0.070072815, -0.071970515, 0.07198788, -0.0054747644, -0.14748324, -0.0439888, 0.043008275, -0.10177188, -0.04178462, -0.038689487, 0.019626841, 0.0742595) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.07189703, 0.057184383, -0.07037502, 0.14259343, 0.060009085, 0.036687415, 0.012385468, -0.0508431, 0.0049068243, 0.07225714, 0.015716087, -0.05533045, -0.026449, -0.07432045, -0.04494133, -0.024861796) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.007911497, -0.038424183, 0.006557816, -0.0047409437, -0.051903225, -0.062036783, 0.026093366, -0.1286919, 0.22201407, -0.0880022, 0.036473483, 0.07054957, -0.046250846, 0.002670057, 0.0786102, -0.0015347187) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.068808, 0.00817027, -0.09470922, 0.044015326, -0.02123932, -0.007457848, -0.02681251, 0.050263304, -0.09517985, -0.038973756, -0.0056617786, -0.13577169, 0.013468868, -0.0024175819, -0.049055975, 0.004862744) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.105605885, 0.00010736009, 0.015954357, -0.018006427, -0.11654987, 0.04857302, -0.068878494, 0.048468478, 0.028973652, -0.0047394405, -0.012017695, -0.3414426, 0.0020292595, -0.0032039136, -0.041515544, -0.13003236) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.02665528, 0.0123444805, -0.15224406, -0.07283353, -0.06648851, 0.0027401596, -0.37770632, 0.1087291, 0.026800249, -0.026198603, 0.11412758, -0.08979594, 0.0035151974, 0.053278077, -0.03796317, -0.05951592) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.041024238, 0.0554413, -0.072679505, -0.023713483, 0.011778139, -0.033869736, 0.05542054, -0.08060762, -0.1281429, 0.102093466, -0.009475736, -0.07403527, -0.029223816, -0.079576075, -0.066868566, -0.034956153) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.15751092, -0.002922585, 0.058777884, 0.120532386, 0.104184724, 0.0030118763, 0.08212096, 0.04870226, -0.070953615, -0.02906071, 0.08277526, -0.21920621, -0.06618266, 0.018751426, 0.036778748, -0.039397325) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.078352064, 0.011909341, 0.04062053, -0.026477944, -0.06561129, 0.022655228, -0.12133559, -0.033172566, -0.25741947, -0.09674623, -0.08590713, 0.047873467, -0.01153178, 0.05388575, 0.04972468, -0.039266985) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.032735944, -0.02804838, -0.0028892965, -0.021525461, 0.0153857265, 0.036948256, -0.03812983, 0.018801192, 0.1265375, 0.18276389, -0.08900698, -0.34324038, -0.042282443, -0.036980476, -0.071380675, 0.06820878) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.06869368, 0.055244543, 0.035414852, 0.06787427, -0.04106649, 0.004666228, 0.12908316, -0.0794526, 0.11041069, -0.1658983, 0.1336631, 0.055152684, -0.13532472, -0.060904626, 0.027376715, -0.04269367) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.010061226, -0.013364758, -0.035947792, 0.05055585, -0.10685589, 0.055952206, 0.04942887, -0.07230718, 0.035587184, 0.002834822, 0.049032222, -0.052862898, 0.021786802, -0.072216764, -0.027980471, 0.03741185) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.01814372, -0.019199124, -0.088884816, -0.040276557, 0.011225926, -0.02392494, 0.12299576, 0.05498155, -0.083806716, -0.05359223, 0.048688833, -0.071507625, 0.11425632, 0.011466738, -0.031130789, 0.10929553) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.12265596, 0.028175121, -0.0036790764, -0.09918629, 0.04737664, 0.019807717, -0.00045996768, 0.0066755014, -0.0162506, -0.01321463, -0.108937465, -0.06427941, 0.0032976524, 0.0075977016, -0.033021495, -0.02953288) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.076458454, -0.113163106, -0.012966943, 0.038921654, 0.062996395, 0.0022881832, 0.01811026, -0.02729255, -0.096882015, 0.06817397, 0.069015205, -0.021836668, -0.013949573, -0.06424284, -0.017807946, -0.02440056) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.07136498, -0.0038939524, 0.03900771, 0.03700254, 0.08741363, -0.0022454604, -0.0014154488, -0.028975487, 0.14422542, -0.06361462, -0.057330027, 0.114143476, 0.0009532344, 0.008226942, -0.033391457, -0.040312465) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.10975379, -0.050525855, -0.023568302, -0.08570266, -0.06840891, 0.005844911, -0.016350325, -0.023411466, -0.025871228, -0.020770235, -0.10654536, -0.1130113, -0.109810114, 0.043912157, -0.059932735, -0.064309366) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.070594735, -0.00608234, -0.04316723, 0.08306767, -0.0039995834, 0.011218607, 0.036084186, -0.035549276, 0.077730335, 0.02012915, 0.082858965, -0.011750897, -0.0038050998, 0.058458645, 0.18136276, 0.02796572) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.037457623, 0.08951187, 0.08441385, -0.008001495, 0.09118148, 0.23848061, -0.00089086546, 0.08888437, 0.0076586376, 0.047595765, 0.1327579, 0.005664814, 0.011146499, -0.034713596, 0.03685316, 0.18071067) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.017900744, 0.037109077, -0.013623201, -0.30673042, -0.0082627805, -0.007435282, -0.13231505, -0.039587397, 0.06336391, -0.0783978, 0.109691486, -0.006686191, -0.10050798, 0.1126066, 0.013973538, 0.017366186) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.088595815, 0.09434826, 0.42113963, 0.2181903, 0.09694992, -0.010170856, -0.033429187, 0.033083323, 0.11616692, 0.10753624, 0.014353337, 0.06309333, -0.0819036, -0.056370478, 0.00026780527, -0.050095692) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.07765841, 0.055768788, 0.16893816, 0.0009272401, -0.005259585, 0.17665608, -0.012397951, 0.034331504, -0.1238305, -0.035179656, 0.017211473, -0.010246033, -0.03785887, -0.07037884, -0.0757905, -0.013359126) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.2877394, -0.3015103, 0.09225844, -0.3142366, -0.030696675, 0.009979452, -0.013889809, -0.020587314, 0.03605473, -0.078756124, 0.053827375, 0.03301005, -0.09068779, 0.051264796, -0.012596591, 0.021768957) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.067670435, -0.043262254, -0.1596326, 0.3030241, 0.01895088, 0.0040574265, -0.0051164655, -0.004656267, -0.03430412, 0.115382254, 0.07755916, -0.008027397, -0.18731835, 0.011346427, 0.023359256, -0.07611405) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.3932418, 0.11982806, -0.102788575, 0.15125471, -0.10291859, 0.03685125, 0.019590132, -0.10249256, 0.021041844, 0.02601678, -0.11329641, -0.09111946, -0.10119382, -0.051561467, 0.07476287, -0.18138681) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.10560016, -0.13546129, -0.036613513, 0.07997315, 0.099902645, 0.034502693, 0.07298287, -0.026949938, 0.15143749, -0.0467919, 0.0439646, 0.027021812, -0.026455887, 0.048353408, 0.066897824, 0.035629403) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.03900909, -0.009786942, 0.015355591, 0.06324531, -0.00981996, -0.014564315, 0.020297898, 0.034888506, 0.11754937, 0.052791104, -0.01691994, 0.036161087, -0.03435664, 0.025007345, 0.04006793, -0.059030153) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.101145186, -0.07391174, -0.0074511142, 0.07465371, 0.08463312, -0.0026960683, -0.08909615, 0.036097363, 0.057600897, -0.015458208, -0.054448523, -0.012336991, -0.08196054, -0.0767501, 0.011967843, 0.008852817) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.07402495, -0.0037017073, -0.056158654, 0.023373332, 0.018290255, 0.021874921, -0.11203274, -0.005267921, 0.05423887, 0.008000864, 0.04115322, -0.057570428, -0.044893872, -0.06941183, -0.0077723013, 0.069332905) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.050966557, -0.017516239, 0.030560367, 0.09391085, -0.128995, -0.018876946, 0.08524631, -0.05506019, 0.11731248, 0.012692621, -0.04779738, -0.022259794, 0.04707504, 0.12959886, 0.026473269, -0.07922185) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.011894129, 0.054470845, 0.08677116, 0.023872146, 0.0059602275, 0.0812918, 0.038790215, 0.09172316, -0.008902236, 0.043471955, -0.105567835, -0.025899602, -0.012557201, 0.036291618, 0.0461713, -0.13611244) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.026248284, 0.04591016, 0.0035202038, -0.040674426, 0.08938791, -0.04324288, -0.016800376, 0.023875188, 0.038754262, 0.012928615, -0.036349487, -0.0026156846, 0.071647264, -0.0074934694, 0.05402713, -0.07936617) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.0015902558, -0.0026148849, 0.0035071715, -0.072128505, 0.033000067, -0.017013254, 0.08605147, 0.041127656, 0.057936415, -0.01251234, -0.04451689, 0.02884447, 0.08693841, 0.0076021347, 0.044980578, 0.044903275) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.11004734, 0.020374523, -0.02751872, 0.0056054727, 0.045503236, 0.022404682, -0.038243737, -0.08349946, 0.07479342, 0.010275628, -0.031498216, 0.009106534, 0.14483397, 0.049655586, 0.058452595, 0.023608496) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.07059229, -0.072942354, -0.046564106, 0.060051035, -0.08757176, -0.020280551, -0.07507936, 0.014343428, 0.08454992, -0.03149941, 0.01841863, -0.039834507, 0.031424575, 0.06442456, -0.017531049, -0.019321451) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.033820365, -0.09149963, 0.1379492, -0.028885376, -0.02155706, 0.021367133, 0.09755764, 0.09343826, 0.031593826, 0.079370745, 0.07474883, 0.022736179, -0.008981653, 0.021585256, 0.09717013, 0.13043514) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.071485355, -0.025821334, -0.034782704, 0.08295012, 0.025483899, -0.0370539, -0.04923022, -0.043369286, -0.088932686, -0.04213422, -0.009571967, -0.009586513, 0.03923283, -0.013330958, -0.036393765, -0.012452708) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.007955947, -0.015396532, 0.0606414, -0.06604671, 0.013569603, -0.012920741, -0.042753957, 0.052371066, -0.06234184, -0.020281414, 0.01691426, -0.018859338, 0.059666887, -0.007792618, 0.091137946, 0.013203943) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.04950991, -0.029276315, 0.05333789, 0.046429027, 0.08598103, 0.012093643, 0.016167099, 0.13935785, -0.08649431, -0.023436934, 0.058711994, -0.024308898, -0.14311612, -0.03854239, -0.011153258, 0.09271113) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.048922174, -0.0012349652, -0.033578847, 0.033207037, 0.063778855, 0.04492899, 0.056527548, 0.0014426047, -0.116486765, -0.10522376, -0.010142692, -0.061665352, -0.1823303, -0.025917478, -0.016442949, -0.039305158) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.11602028, 0.076338015, 0.032325927, 0.052642167, 0.0699499, 0.027113905, -0.029870162, -0.06214534, 0.057815764, 0.031652573, -0.0012677466, 0.028197495, 0.12950327, -0.0059223254, -0.0033589685, -0.24238108) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.052740067, -0.03091239, -0.0020769306, 0.004958028, 0.021336662, -0.01839474, -0.15227886, -0.00957193, -0.06660239, -0.03468546, -0.032061365, -0.027188256, -0.011418049, 0.016973997, 0.046178203, -0.05425492) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.12359362, 0.06644732, 0.19678949, 0.009195905, 0.16860095, -0.025547309, -0.2378082, 0.025239842, -0.09690796, -0.0659429, 0.078829266, -0.015220184, -0.13456789, 0.078189135, 0.040802073, -0.016863095) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.0586213, 0.082730144, 0.047876, 0.02271868, -0.14374904, 0.009494682, 0.06518188, 0.015825523, -0.024352936, -0.071659915, -0.11085679, 0.010157067, 0.056892052, -0.040694136, -0.13312623, 0.1562372) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.048218757, -0.025627442, -0.0150366975, -0.07070127, -0.03160442, 0.11947794, -0.22880927, 0.0011263369, 0.01830078, -0.029966818, -0.07049896, 0.01311493, 0.019797916, 0.019647432, -0.06512579, -0.019401582) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.003684155, -0.11322871, 0.021595435, 0.014830626, -0.04636448, 0.045040462, -0.002180474, 0.049213458, 0.037397448, -0.06408552, -0.15158659, 0.07719345, 0.16637748, -0.037026074, -0.03668016, 0.016484372) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.12923804, -0.012280064, -0.010375526, 0.04833682, 0.057614837, -0.058546394, 0.016395586, -0.017851833, 0.061571695, -0.011262792, 0.12893789, -0.023857925, -0.035589203, 0.06910929, 0.034011, -0.027480623) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.044398885, 0.0070395926, -0.049497347, 0.094030105, 0.040831756, 0.051556204, -0.009156504, -0.029411184, 0.0747, -0.04733982, 0.13636045, -0.023569204, -0.16229048, 0.07731977, 0.0035111778, -0.05617703) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.038832314, -0.1289141, -0.028360402, -0.07850156, -0.07895707, 0.05480737, 0.042746365, 0.058534637, 0.023299074, 0.016785981, 0.05598676, 0.017842354, 0.064228185, -0.017762111, 0.102072656, -0.12268578) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.06433851, 0.11326531, -0.065978274, -0.004507696, 0.040716365, -0.03978195, -0.0534891, 0.018440284, -0.02380654, -0.02401716, 0.028100263, -0.03073389, 0.107564874, 0.016314628, 0.04168726, 0.020263473) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.035460804, 0.0357486, -0.07622063, 0.03331792, 0.100973174, 0.08493305, 0.08144773, -0.07367592, 0.0234661, 0.019602658, -0.010997864, 0.00759759, 0.026850922, 0.016619274, -0.12808122, -0.20908085) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.055375617, -0.06302854, 0.029809954, 0.08342864, -0.018393025, 0.013538995, -0.0005940099, -0.026758801, -0.09608356, 0.024706798, -0.04203143, -0.0070700157, 0.25693032, 0.073805705, 0.060309682, -0.28700766) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.1366952, 0.09315302, -0.0018156276, 0.02101165, 0.073012516, -0.015559723, 0.03573981, -0.018641973, -0.024274318, -0.040071514, 0.06052798, -0.041788667, -0.08454842, -0.020626208, 0.022051614, 0.10668839) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.2505601, 0.0071259183, -0.037949115, -0.055478066, 0.18868317, 0.025103696, 0.006053843, 0.034363948, -0.00039524547, 0.011564555, 0.059246957, -0.048508056, -0.010334399, -0.032971673, 0.014907592, 0.051593527) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.14754188, 0.043181807, -0.0072030583, -0.043672103, 0.07966856, 0.04762748, 0.019842882, 0.04340642, -0.09294296, -0.037997905, -0.16734177, -0.011272238, -0.05091578, 0.031709615, -0.016463056, -0.009111754) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.17113103, -0.002401233, 0.091239154, -0.036546882, 0.017972274, -0.00366723, 0.06461849, 0.058298413, 0.037924875, 0.03269161, -0.014379665, -0.035273604, -0.031480096, 0.0327497, -0.06776037, 0.10130381) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.14833392, -0.058305327, -0.04748128, -0.015210478, 0.15210019, 0.047967747, 0.022050526, -0.0047587645, 0.06876507, 0.0040694466, 0.060355138, -0.066510044, -0.083440125, -0.004101691, 0.024558842, 0.09156439) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.13313475, 0.09494233, 0.07570907, 0.057123035, 0.044783715, 0.005087251, -0.040658046, 0.042770818, -0.033790983, 0.03508607, -0.23358314, 0.3278477, -0.016507829, 0.0006220648, 0.02795928, 0.028450571) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.024277275, 0.0017085826, 0.0346671, -0.07381716, 0.046998374, -0.00924105, -0.028158935, -0.011202935, -0.16901189, -0.033648815, 0.013998681, -0.11973414, 0.06475158, -0.049846448, -0.12599602, 0.14882696) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.009721639, 0.07289408, 0.053445093, 0.006440991, -0.014337965, -0.022745494, -0.038667556, 0.042440545, -0.038012926, -0.00510376, -0.06585122, -0.12761426, 0.11821854, -0.017705405, 0.04929374, 0.076878585) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.008856413, 0.077851884, 0.040298983, -0.031463664, 0.027861431, -0.027248047, -0.08703795, -0.09507543, -0.22699015, -0.040289298, -0.4311762, -0.08651744, -0.08639272, 0.008488912, -0.0048553, 0.09333754) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos6 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(6, 0); + imageStore(out_image, store_pos6, max(result6, V4(0.0))); + V4 result7 = V4(-0.0048161834, 0.009727377, -0.0014840926, 0.00012165853); + result7 += M4(0.025039429, 0.03013667, 0.066278994, -0.041251805, 0.11108524, -0.035599016, -0.019618908, -0.21625993, -0.0063663092, -0.035127636, -0.027561767, 0.07097017, -0.036629375, -0.08694292, -0.15888155, 0.07487742) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.01053451, 0.057906907, 0.010747799, -0.035336517, -0.031514075, 0.010978614, 0.1364847, 0.12054768, -0.04888975, -0.045236163, -0.004386479, 0.03850302, -0.13129434, -0.0497297, -0.01575554, 0.12745252) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.07361885, -0.021164313, 0.03291483, -0.0023651808, 0.10867506, -0.059129238, 0.020307926, 0.23388095, 0.01864443, 5.0188668e-05, -0.031115016, 0.026113056, 0.053476237, 0.021374516, 0.007745682, 0.18068732) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.068105265, 0.04654239, 0.054366212, 0.046648163, -0.014712608, -0.08728475, -0.07377327, -0.10256862, 0.0907138, 0.055979583, -0.023511622, -0.1202632, -0.022994742, 0.029467953, -0.0005479362, -0.03756547) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.08505834, 0.00938525, -0.058810808, -0.088856585, -0.09180542, -0.042714365, -0.027211154, -0.19100037, 0.046147816, 0.054606847, -0.014925635, -0.042089038, 0.015242426, 0.083354875, 0.0139945485, -0.09529067) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.034838993, -0.067779, 0.019118404, 0.036017545, 0.046485517, 0.044608705, 0.070443206, 0.10072941, -0.040420387, -0.06284439, 0.02916565, 0.05087923, 0.09425728, -0.008005101, 0.0504385, 0.037141543) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.008921252, -0.08538477, 0.022146035, 0.077557944, -0.010804189, 0.07016124, -0.021790538, 0.03807131, 0.057998665, 0.0049246447, -0.0070678373, -0.050137855, -0.026693638, 0.06768647, -0.044545367, -0.049194336) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.018764397, 0.012243927, 0.07004576, 0.053775206, 0.03829867, 0.044140514, 0.043141387, -0.0793715, 0.07910775, -0.03295387, -0.003991269, -0.0178852, 0.0052786316, 0.0019503211, 0.0021789467, 0.039799046) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.03042513, 0.07351083, 0.054963708, 0.037749436, -0.0058072065, 0.10559782, 0.11398138, 0.099258065, -0.02226356, 0.039224196, -0.04042163, -0.0060405685, -0.046095192, -0.05014155, 0.048033603, 0.0009503667) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.00017193946, -0.017799452, -0.06550852, -0.018298006, 0.034292143, 0.005284306, -0.0838539, 0.05411648, 0.0022133514, -0.05498127, -0.058025047, 0.034531265, -0.02646286, 0.0049115983, -0.06113505, 0.10165685) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.030522063, 0.028836124, 0.032255996, -0.008325959, 0.02264571, 0.047409266, 0.15453325, -0.00970025, -0.030810371, 0.002585828, -0.083726525, -0.09660199, 0.03273198, 0.06955148, 0.013121131, 0.10118008) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.06658003, 0.01649771, 0.0018529936, -0.08962168, 0.03323653, -0.004410881, 0.09016291, -0.076761596, -0.068186045, -0.027106918, -0.025406722, -0.070550315, -0.033943158, 0.007863331, -0.06777041, 0.023896538) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.015557388, 0.013146597, 0.048693627, 0.11109193, 0.030822553, 0.04730767, 0.04284473, -0.02119772, -0.060836833, -0.036450367, 0.0829382, -0.0029457682, 0.12330495, -0.003126959, -0.021918938, 0.07005769) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.034881778, -0.11052026, -0.005147006, 0.062039565, -0.027834788, -0.050364178, 0.036868006, -0.15456253, 0.025673283, -0.0032444703, 0.09323544, -0.042575147, -0.021729037, -0.028223272, 0.13033235, 0.014831642) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.08723661, 0.08905465, 0.018381136, -0.006458301, -0.069739, 0.0320874, 0.011091516, -0.12703207, 0.060842, 0.08111388, 0.037749477, 0.023236345, -0.047066208, 0.030507643, -0.043691333, 0.03118668) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.03807934, -0.04865967, 0.019920155, 0.059075076, 0.044192195, 0.014279638, 0.02932825, -0.1940962, -0.026829576, -0.002572771, -0.1005265, -0.05613515, 0.085755676, -0.056545272, -0.03735823, -0.10258416) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.12418496, 0.020019868, 0.017953046, -0.029208219, 0.014698287, -0.05749513, 0.048885383, 0.15737984, -0.035876486, -0.042323653, 0.031207021, 0.019864652, -0.034112476, -0.026603572, -0.04378577, -0.062377583) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0051290607, -0.017384771, 0.0016366097, -0.10475058, -0.087537564, -0.007919272, -0.023316184, -0.0001621648, 0.0180734, 0.007751429, -0.18366235, 0.16231689, -0.10436554, 0.043097503, -0.011531957, -0.017831868) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.0498927, 0.05218692, -0.022681305, -0.015645377, -0.14598949, 0.11817935, -0.048905812, 0.039967697, 0.08813842, 0.06267705, 0.0697879, 0.052240945, 0.0065163644, 0.048592135, -0.17908724, -0.060655646) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.0018243379, 0.0025947585, 0.009814614, -0.10676828, 0.09453457, 0.029696338, 0.14458123, 0.15852074, -0.11801052, -0.12956372, -0.12853578, 0.040379547, -0.015193296, 0.032968912, 0.026786443, 0.04908736) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.078241765, -0.013350392, 0.042566918, 0.0767091, -0.0455118, -0.07297753, -0.06380186, -0.034506846, -0.018274622, 0.09590501, -0.12607604, -0.37873814, 0.01647588, -0.1384473, -0.05393799, 0.09654224) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.05838379, -0.044477336, -0.055952173, -0.018866232, 0.20292205, -0.083229564, 0.014835593, -0.01167277, 0.032137908, 0.046264492, -0.015794264, 0.04020248, 0.11819242, -0.02981802, -0.11186192, -0.0070930133) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.09512601, 0.010587545, 0.14110008, 0.07213758, 0.038087778, -0.1515509, 0.013968052, 0.05263283, -0.10443906, 0.012997079, -0.10159136, -0.010662801, -0.1482716, 0.11994928, 0.00022833263, -0.07907922) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.04007432, -0.0346192, -0.02490417, -0.00092985766, 0.0030980299, 0.018066602, -0.14455567, -0.03700813, 0.011129622, 0.011716246, 0.18371089, -0.038566772, 0.06507061, -0.013297414, 0.13203332, 0.06886218) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.053803936, 0.014978988, -0.02270739, -0.051912803, 0.045639157, 0.037899423, -0.1459817, -0.08397178, 0.051854413, -0.04659744, 0.04263632, 0.08683153, 0.10024677, 0.02457733, -0.02438646, -0.15865819) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.08589109, -0.1394415, 0.055111215, -0.036536504, 0.027107442, 0.16206259, -0.0198569, -0.2688596, 0.051260613, 0.06867203, -0.07404325, 0.13139188, 0.01743978, 0.019514129, 0.07657141, -0.053524166) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.08196984, 0.034083433, 0.039933063, 0.034187105, -0.012881695, 0.010053679, 0.029288182, -0.26414397, 0.07488915, -0.06362344, 0.07141748, 0.12971117, 0.09661248, -0.10887599, 0.018911485, -0.07946649) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.06148454, 0.062326565, -0.16359001, 0.019364696, -0.081690095, 0.03085994, -0.037601285, 0.08285821, 0.14259322, -0.15454839, 0.015229282, -0.17833291, -0.07808946, -0.020126877, -0.043415286, 0.15833747) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.028880436, 0.08411768, -0.22433567, -0.010715879, 0.037864115, 0.04998051, 0.03617211, -0.07036372, -0.005372421, -0.04414077, -0.047224466, 0.044577338, -0.12495246, -0.015916897, -0.0955271, 0.007864995) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0010807153, 0.012719104, 0.16710302, 0.1405584, 0.09146341, -0.00403967, -0.039430074, -0.017779345, 0.016238332, 0.052911565, 0.07756647, 0.122722276, -0.13983896, -0.063172, -0.040809985, 0.20213069) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.19201268, 0.15487988, -0.012884574, -0.16768973, 0.013003094, -0.026339417, 0.09256384, 0.03343729, -0.031111572, 0.004782513, -0.04024879, -0.1632102, 0.08728369, 0.0002995024, 0.057398874, 0.16353533) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.13083121, 0.030363366, 0.021431942, 0.4032731, 0.15053168, -0.06569765, -0.2490553, -0.055408195, -0.038456034, 0.04965363, 0.05773032, 0.1423652, 0.12844715, -0.04914895, 0.016559193, 0.058504242) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.1631078, 0.23093706, -0.03182444, 0.025724018, 0.060086288, 0.019565724, 0.1536841, 0.004579478, 0.09832495, 0.068251655, -0.023692409, -0.0045076497, -0.07173247, -0.07193232, 0.07395746, 0.05628922) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.06906948, 0.025669511, 0.13647746, -0.41632786, -0.069520816, -0.011027584, 0.06329774, -0.004776293, -0.087015234, -0.040825143, 0.011575877, -0.13598055, 0.097276576, 0.055978924, 0.015107901, 0.2198481) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.23540613, 0.2821819, 0.48442444, -0.074784, 0.04111797, -0.01965276, -0.11504319, -0.043317694, 0.05264232, 0.057372928, -0.022012442, 0.047789007, 0.08072532, 0.120098144, -0.054656275, 0.18381414) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.09336368, 0.04913253, 0.023467408, 0.06904785, -0.05605766, -0.010474101, 0.02316119, -0.033795625, -0.1053315, 0.07061172, -0.044152703, -0.021998791, 0.03353562, -0.06461351, 0.019438695, 0.059416648) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.16097197, -0.021394448, 0.023789743, -0.107138745, -0.020833462, -0.08040261, -0.30237192, -0.021535706, -0.058765627, -0.049508896, -0.11361073, -0.036269322, -0.085492894, -0.018552022, 0.03488629, -0.044737786) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.008054611, -0.030155862, -0.042324197, -0.055047326, 0.12685855, 0.008053785, -0.060019594, -0.06877479, -0.024782764, -0.013649764, -0.0129432, 0.040209312, -0.052106936, 0.057914954, -0.0131666865, 0.042435385) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.04564159, 0.07540391, -0.0056589413, 0.028865052, 0.038488112, 0.10993601, -0.058215223, -0.13303073, 0.008834235, -0.016548006, 0.0016905958, 0.060742795, -0.07584547, 0.044790294, -0.09953135, 0.014456278) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.046066795, -0.12501962, 0.09320583, -0.019297047, 0.06240062, -0.048627935, -0.11256255, -0.0046780575, 0.04539123, 0.016032249, 0.027271375, -0.028358923, -0.008181982, 0.018411344, -0.058723114, 0.03837226) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.10086399, 0.13765101, -0.12256986, 0.03439202, -0.0029659234, -0.035987392, 0.040269524, 0.04060219, -0.017777983, -0.13281606, -0.0646033, 0.022574596, 0.028000975, 0.08684196, 0.04040113, 0.038214803) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.038991764, 0.055392474, -0.0066613494, 0.04243421, -0.1910127, 0.018373176, 0.09954618, -0.038060714, 0.05536985, -0.03603567, -0.031270254, 0.09394785, 0.011504363, 0.0031121976, -0.052518558, -0.0067013106) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.028291434, -0.013060494, 0.05817559, -0.0010428007, -0.025994496, 0.008046389, 0.17309935, 0.06595187, -0.10446754, 0.076147914, 0.03707188, -0.03495489, -0.046557296, -0.06644214, 0.026446134, -0.012873902) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.062031344, -0.050695978, -0.03177188, 0.12806861, -0.112793036, 0.06328925, 0.055267602, 0.027236063, 0.0053047943, -0.07393548, 0.002481771, 0.14912559, -0.07452348, 0.025753919, -0.021673284, -0.033890687) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.012970875, 0.06642164, -0.051823627, -0.027296813, 0.0015475005, -0.0070556025, 0.097733185, 0.062102888, 0.004256679, -0.04201944, 0.14691949, 9.580055e-05, -0.06878353, -0.022717414, 0.04510416, -0.08239188) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.16601802, -0.017521178, 0.059835937, -0.056342464, 0.0030827688, -0.029167177, -0.11598063, -0.0082606, 0.023394892, -0.07535003, -0.02153261, -0.1976546, -0.058474798, -0.016156284, -0.008770706, 0.14917687) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.015971458, -0.16167422, 0.18459669, -0.009121645, 0.013279248, 0.058043435, -0.10655117, -0.015104323, -0.06305929, 0.033492852, -0.1195023, 0.038299646, -0.04701565, 0.034853194, 0.10056806, 0.05399733) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0018052562, 0.013512041, -0.007324447, 0.007375104, 0.031220974, 0.0056607425, 0.0744282, 0.08252725, -0.007226017, 0.093371026, 0.075735435, 0.03571601, -0.05629827, 0.024266792, -0.0038851092, 0.14397135) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.036950335, -0.10093537, 0.07024567, 0.06399347, -0.06305875, -0.011309829, -0.047329843, 0.071133845, 0.02238184, -0.080341466, -0.008996565, -0.019532885, -0.120638244, 0.027735464, 0.084603176, -0.058121376) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.10638112, 0.012843674, 0.053863034, -0.07924631, 0.0061549344, -0.0061487798, -0.07690018, 0.120016694, 0.032430727, 0.016141133, 0.08320398, 0.012747967, 0.00011170169, 0.015583843, -0.098869756, 0.023798442) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.07382349, 0.05695051, -0.093039915, 0.13353005, -0.043553807, -0.12247099, 0.068449646, 0.062183347, 0.009568971, 0.051284086, 0.027423859, 0.018051451, 0.0625508, -0.006262034, 0.095164426, -0.023082953) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.014499406, -0.09962365, -0.046233274, -0.026987324, -0.080520466, -0.020041099, -0.043208435, -0.1140247, 0.100632735, -0.039133776, -0.017542627, -0.015013006, -0.11261838, 0.019156555, 0.056716926, 0.02794268) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.104332276, 0.00067116163, 0.011486868, -0.02324715, -0.04386467, -0.02179002, 0.039449517, -0.009794162, 0.02692965, 0.007013384, 0.010762319, 0.054397777, -0.014532465, 0.0135755995, -0.011916105, 0.09633229) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.12190228, 0.005577006, 0.078275226, 0.21963638, 0.05463154, -0.07478158, 0.07435063, -0.11177743, -0.03693591, 0.023422973, 0.007890107, 0.0437144, -0.0033894528, -0.05757877, -0.03856701, 0.16718155) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.05398985, 0.12160649, -0.004154916, 0.11020438, -0.0054434533, -0.030270593, 0.13954386, 0.16648181, -0.05924101, 0.11836018, -0.088317364, -0.24899103, 0.022105196, 0.076612175, 0.06957454, -0.09132212) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.04809194, 0.04506464, -0.05263419, 0.046268724, 0.08218097, -0.09193699, -0.05487312, -0.029752642, -0.059270844, -0.06706062, 0.0034371098, -0.24253054, -0.0026050017, -0.013805277, 0.048262678, -0.053186096) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.048656434, -0.014488852, -0.06517609, -0.08414191, -0.040279064, 0.09305432, -0.025716506, -0.029336095, 0.044734515, -0.0303104, -0.01445678, 0.09481804, 0.016243793, 0.13749605, 0.005229795, -0.08059736) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.10539772, -0.062517814, -0.027430216, 0.11036704, 0.0065636113, 0.104807526, 0.1036554, 0.20479633, -0.0009512837, 0.028802432, 0.07433156, -0.06408037, -0.056161437, 0.03480437, -0.0049670404, 0.09849436) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.026929732, -0.025046386, -0.0065072696, -0.031776782, -0.06696432, 0.087368496, -0.045297097, 0.038604088, 0.022063531, -0.035708424, 0.042398367, -0.00431404, -0.06143383, 0.11434435, 0.08455925, 0.16269188) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.015829915, 0.013622377, 0.005927855, -0.054112952, -0.042142913, 0.06872065, -0.025095064, 0.077078, 0.034651488, -0.090789594, 0.09325271, 0.0364759, -0.040298473, -0.14072451, -0.0058100056, 0.08175222) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.019015031, -0.033195302, -0.04160973, 0.00935932, -0.033673137, 0.027604073, -0.045354806, -0.05700751, -0.0441355, -0.021477083, -0.055929903, -0.09241882, 0.05054198, 0.11204668, 0.06125661, -0.02199262) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.02297847, 0.019128887, -0.024535242, 0.009913352, 0.04716015, -0.02355856, 0.014677698, 0.03826091, -0.10263012, -0.004401448, 0.07438234, -0.2861063, -0.027929597, -0.0135332765, 0.16186929, 0.10532077) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.016538488, -0.02139744, -0.07594322, -0.034372874, -0.032610696, 0.01634037, -0.0756899, 0.035484433, -0.019604707, -0.01125339, -0.012588962, -0.08680792, -0.28332454, 0.041059986, -0.12442001, 0.0143209025) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.013041002, 0.008023868, 0.031694073, 0.058765795, -0.049279045, -0.002904656, -0.2524823, -0.02578687, -0.01890075, 0.00046582083, -0.12554811, 0.039889243, -0.013595475, -0.097192094, 0.038101852, 0.075759426) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.006751577, 0.0058475942, -0.278344, 0.037722018, 0.039628185, -0.04992069, -0.16334732, 0.011836473, 0.09872208, -0.2149794, 0.09969364, 0.041867733, 0.1099937, 0.12006967, 0.00037919407, -0.05168876) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.0038252096, 0.04811779, 0.056996603, 0.057850122, 0.080309756, -0.049854923, -0.035782192, 0.04738296, -0.032009993, -0.011263951, -0.014912677, -0.07425344, 0.10239724, -0.043332003, -0.04682718, 0.029684488) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.12857802, 0.098728, -0.007238617, 0.03669982, 0.028088702, -0.11264619, -0.051832594, -0.108777225, 0.06552528, 0.057554685, 0.07336488, 0.10953328, 0.10266074, 0.0034585434, 0.028738962, -0.086081594) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.017291013, -0.059617076, -0.05993366, 0.025428334, -0.053909708, -0.059065565, 0.13678956, -0.00061111554, 0.052553102, 0.16561043, 0.10288526, -0.100961536, 0.08168915, 0.06989565, -0.0076549286, -0.17282604) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.073305905, 0.09868523, 0.00866687, 0.08481651, 0.022894427, -0.07961511, 0.09266052, 0.071177326, -0.045217164, 0.06814669, 0.083561994, 0.13499917, -0.025562255, -0.025103705, 0.050037745, -0.031530663) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.06461073, 0.014583216, 0.017792573, -0.07175857, -0.133311, -0.033583492, -0.019498106, -0.2349789, -0.05546708, -0.1220457, 0.10431037, 0.06830799, 0.05739753, 0.026630053, 0.018223718, -0.034501947) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.03324024, -0.035669602, -0.06857828, -0.0496221, -0.12507491, 0.03869728, -0.014420863, -0.28343892, -0.08641424, -0.03347238, 0.11473875, -0.026446642, -0.030720279, 0.003912336, -0.033452783, 0.059891287) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0004036007, 0.06545699, -0.03908309, -0.009077979, -0.055335563, -0.09674422, -0.01068964, -0.15166916, 0.14284396, -0.06313513, -0.061684247, 0.08862149, 0.07359198, 0.054906387, -0.040991988, 0.036530208) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos7 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(7, 0); + imageStore(out_image, store_pos7, max(result7, V4(0.0))); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4_CMP] (Conv2D-4-ReLU) +//!COMPUTE 16 16 2 16 +//!HOOK LUMA +//!BIND conv2d_3 +//!SAVE conv2d_4 +//!WIDTH LUMA.w 8.0 * +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#ifdef GL_EXT_shader_explicit_arithmetic_types_float16 +# define V4 f16vec4 +# define M4 f16mat4 +# define F float16_t +#else +# define V4 vec4 +# define M4 mat4 +# define F float +#endif + +const ivec2 ksize = ivec2(3, 3); +const ivec2 offset = ksize / 2; +const ivec2 isize = ivec2(gl_WorkGroupSize) + ksize - 1; +shared V4 inp[8][isize.y][isize.x]; +void hook() { + ivec2 base = ivec2(gl_WorkGroupID) * ivec2(gl_WorkGroupSize); + for (uint y = gl_LocalInvocationID.y; y < isize.y; y += gl_WorkGroupSize.y) { + for (uint x = gl_LocalInvocationID.x; x < isize.x; x += gl_WorkGroupSize.x) { + inp[0][y][x] = V4(conv2d_3_mul * texelFetch(conv2d_3_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(0, 0), 0)); + inp[1][y][x] = V4(conv2d_3_mul * texelFetch(conv2d_3_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(1, 0), 0)); + inp[2][y][x] = V4(conv2d_3_mul * texelFetch(conv2d_3_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(2, 0), 0)); + inp[3][y][x] = V4(conv2d_3_mul * texelFetch(conv2d_3_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(3, 0), 0)); + inp[4][y][x] = V4(conv2d_3_mul * texelFetch(conv2d_3_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(4, 0), 0)); + inp[5][y][x] = V4(conv2d_3_mul * texelFetch(conv2d_3_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(5, 0), 0)); + inp[6][y][x] = V4(conv2d_3_mul * texelFetch(conv2d_3_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(6, 0), 0)); + inp[7][y][x] = V4(conv2d_3_mul * texelFetch(conv2d_3_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(7, 0), 0)); + } + } + + barrier(); + V4 result0 = V4(0.0015804664, -0.0038044306, -0.003628573, 0.0049998662); + result0 += M4(0.018706614, 0.16615464, -0.10133438, -0.017605592, -0.0016365208, -0.07361737, 0.08102467, -0.048724845, 0.06621774, 0.006320378, 0.046713166, -0.057468943, 0.06766072, 0.058498237, -0.00033488777, 0.007658247) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.008550876, 0.03073904, 0.0007348921, 0.07233202, -0.02629998, 0.06157343, -0.034841698, 0.0206389, 0.054593448, -0.00036415027, -0.04007654, -0.052061975, 0.007784536, 0.04268053, 0.07741499, -0.067939624) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.018630786, 0.07504131, -0.05062644, -0.028701287, 0.020525228, -0.003630721, -0.043092623, -0.009457563, -0.012248516, -0.103960566, 0.0783783, -0.20986807, 0.14586459, 0.08968545, -0.117051, -0.18037951) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.021255098, 0.13229105, -0.06420121, -0.07083409, 0.058743507, 0.03489165, 0.064032845, -0.041565023, -0.06547174, -0.013012421, 0.08656793, 0.0011133461, -0.034003235, -0.013117911, 0.19715177, -2.5379682e-06) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.05377974, -0.035550397, 0.031313285, 0.0016598942, 0.068784654, 0.036285546, -0.093238, 0.058112122, 0.046265423, -0.050403178, -0.12872772, -0.05595508, 0.036330022, 0.08010485, 0.005891014, 0.005559466) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.054361574, -0.017691871, 0.06329393, -0.011381623, -0.057599787, 0.016098121, -0.030586872, -0.046174455, 0.0034558869, 0.030984238, 0.27421623, -0.03846328, 0.12422474, 0.1380933, -0.13240746, -0.18763503) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.07062856, 0.07041863, -0.03676231, 0.0372063, -0.054723445, 0.052489527, -0.054391883, 0.011763474, 0.048613597, 0.04801516, -0.006565869, -0.06656638, 0.053104535, 0.030685853, 0.17781071, -0.010670102) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.028491594, 0.03759751, 0.030334478, -0.062390752, -0.053186987, 0.05777588, -0.067089625, 0.091050096, -0.000694065, -0.047468614, -0.03746065, 0.03500774, 0.1498348, 0.05099015, -0.13494958, 0.04879886) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.019462325, 0.011794182, -0.0058045657, 0.015473896, 0.124979116, 0.0075559006, 0.057004936, -0.020731885, 0.0128727285, -0.039582398, 0.13301392, -0.0005211295, 0.12236587, 0.07485313, -0.112934984, -0.08569721) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.03431349, -0.06350282, -0.045580875, 0.010457426, 0.008217867, 0.0602649, -0.057398647, -0.06884405, 0.06575881, 0.0058383, 0.010622837, -0.053522848, -0.103110075, -0.06420359, -0.018848946, 0.037413113) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.16086812, -0.05914897, -0.009082222, -0.013259455, 0.024198428, -0.013805816, -0.09599477, -0.018419394, -0.0011804067, 0.021051995, -0.037006814, -0.05561041, -0.065699115, 0.0037821964, 0.10164613, -0.03932507) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.15297274, -0.0049770074, -0.08063661, -0.13374497, 0.0369586, 0.0432137, 0.030419704, -0.054192472, 0.029406067, -0.010044444, -0.061616052, -0.0733939, -0.07634798, -0.0909756, 0.02788719, -0.014020617) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.042105537, 0.038336914, -0.319104, -0.021905232, -0.043342367, 0.05930288, -0.12859093, -0.13378994, 0.014666672, 0.0056491387, 0.06355828, 0.025594749, 0.0850515, -0.043785453, 0.015689036, -0.07727216) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.16799249, 0.0042400337, 0.002521733, -0.031103378, -0.050677173, 0.109450184, -0.01905515, -0.2143998, -0.062471364, 0.027835982, -0.106194265, -0.08695333, 0.06807246, 0.05039297, 0.09703668, -0.037425786) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.060882285, -0.07977987, 0.032461792, 0.0020529446, 0.029985175, -0.12091039, 0.06527382, -0.2447519, 0.08002997, -0.040043708, -0.019211078, -0.14518331, 0.066529185, -0.050670013, -0.08181706, -0.03279608) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.003281866, 0.041367915, -0.19808301, 0.105184935, 0.0053498773, -0.037028126, 0.020933133, -0.2748288, -0.030346015, 0.02540532, 0.0436486, 0.07518481, -0.01811427, -0.09522291, -0.17276257, -0.21784599) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.04904132, -0.007972099, 0.057898555, 0.05203425, 0.076259635, -0.054375622, -0.07022325, -0.177137, 0.008473632, -0.1709254, 0.057873175, 0.0053210338, 0.056092404, -0.016926067, -0.06794677, -0.2865892) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.111966565, -0.05042494, 0.022084251, 0.06365792, 0.07804721, 0.080854885, 0.09255858, -0.27579957, 0.04858999, 0.021432186, -0.04945703, -0.025816083, 0.07537213, -0.010306645, 0.030546973, -0.06519352) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.09767125, 0.033153802, -0.05957727, 0.010870081, -0.035111222, -0.07824629, 0.050994594, -0.010834929, 0.02084979, 0.049779754, 0.08902109, 0.039056998, 0.047547963, -0.06709675, -0.036082104, -0.0017112462) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.014810313, 0.01657996, -0.21423657, -0.033652883, -0.041725364, 0.039845653, -0.04717774, 0.13555083, -0.027639804, -0.048186366, 0.05492472, 0.074689895, -0.093381554, -0.16746365, -0.093820274, 0.049040154) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.016235631, 0.04039087, -0.015865093, 0.03488632, -0.0095884055, -0.10066184, -0.0325296, 0.13481852, 0.017472068, -0.1397992, -0.005303525, -0.08390402, -0.005576867, 0.120187625, 0.055897206, -0.040443238) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.19222814, -0.055253725, -0.09768335, -0.045021586, -0.019479424, -0.071549125, -0.0026058704, 0.055574384, 0.042589467, -0.05363184, 0.091115914, 0.061255287, -0.002423155, 0.05997343, -0.2733199, 0.014474957) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.11104647, -0.15873536, -0.094012015, 0.049662087, 0.10401917, 0.11317227, -0.041964002, -0.018432554, 0.010944653, 0.08633746, -0.14326158, 0.0013549542, -0.09240255, -0.021033201, -0.06358006, 0.04492234) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.038764287, 0.024117606, 0.030034702, 0.06619984, -0.106124334, -0.097190216, 0.074782565, -0.04947688, -0.15609471, -0.068144225, 0.078085706, -0.01822477, 0.04521416, -0.12264499, 0.17748064, -0.052423585) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.025108917, -0.06518244, -0.05341441, 0.043738976, -0.026410516, -0.042192783, -0.1706324, -0.021371748, 0.05082983, -0.019333962, 0.093327776, 0.022390585, -0.087712474, -0.03365428, -0.101358615, 0.032270487) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.06976486, -0.031713825, -0.10967085, 0.022449624, -0.042843614, 0.04197736, 0.063569866, 0.07488625, -0.025034077, -0.008617257, 0.13854389, -0.07063585, -0.04997987, 0.082154825, -0.024728412, 0.113326415) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.019680806, -0.013997739, 0.049881615, 0.056859866, -0.1136083, -0.047843084, 0.013091265, 0.0020920075, 0.015598382, 0.0069943853, -0.17995559, 0.040303726, -0.02850408, -0.0045849644, 0.21343595, 0.043854695) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.1147225, -0.06045445, -0.013250287, -0.060391854, 0.023465388, 0.109159864, -0.18252243, -0.014533833, -0.0063084075, -0.051704913, 0.07392728, -0.022996787, 0.047523025, -0.026261602, 0.061425406, -0.048074864) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.030761221, -0.052301597, -0.0025084864, -0.008193687, -0.06715492, -0.05154212, 0.15635814, 0.071387425, 0.014004439, 0.0010462857, 0.05778743, 0.011557239, 0.07695908, -0.064795576, -0.047770817, 0.05259577) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.015963225, -0.083381854, 0.08912475, -0.013290094, -0.012768811, 0.042207126, -0.034879114, 0.10055751, -0.028177494, -0.198301, 0.1179056, 0.035278335, 0.03899826, 0.06403849, 0.010401718, 0.07227389) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.060929913, -0.0137457745, 0.0130044045, -0.048356548, 0.025486855, 0.17048772, -0.023742804, -0.08094858, -0.032699894, 0.010287465, -0.17216593, 0.06229366, -0.053031005, 0.059585527, 0.12925366, 0.038857684) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.020698728, 0.11740675, -0.0613403, -0.0814588, -0.032282386, 0.06365391, 0.13592468, 0.10139359, -0.16257925, -0.04797721, 0.22083487, 0.109866686, -0.02365958, 0.029943828, -0.1512407, 0.08434846) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.04383355, -0.09445361, 0.052858345, 0.032607436, 0.03612367, -0.06972076, -0.02454976, -0.019125998, 0.03071501, -0.04006583, -0.04057625, 0.0056392383, 0.014383232, -0.08453436, 0.052229047, -0.042576794) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.0671222, -0.028295191, -0.14950272, -0.03138896, 0.029396582, 0.0023157916, -0.02022847, -0.019711075, 0.036433194, 0.04929518, 0.10970725, 0.032099653, 0.060950432, 0.036022503, 0.087477796, -0.044098314) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.071471766, -0.094870724, 0.028918972, 0.05731616, 0.13739824, 0.1547528, 0.056736063, 0.061816696, -0.031254187, 0.058529917, 0.17615087, -0.12860174, 0.061434586, -0.084237255, -0.09143404, -0.11121704) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.07994786, -0.18051727, 0.030859381, 0.0107953185, 9.3113435e-05, -0.022159606, -0.049645163, -0.02986814, 0.22832908, -0.043429576, -0.31544653, 0.042653833, -0.0870649, 0.078093484, -0.07615455, 0.018825369) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.022805315, -0.12695132, -0.06749027, -0.043987945, -0.06001443, -0.16000848, -0.1496332, 0.027508365, -0.068887584, 0.013230031, 0.09660183, -0.019787041, -0.044237558, -0.044283032, 0.0442183, -0.051186237) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.09275842, -0.004802516, 0.10686375, 0.025380403, -0.109600894, -0.14710417, 0.0029475, 0.04737855, 0.011770558, -0.097143814, 0.05563817, 0.0652745, 0.10224557, 0.09364036, -0.1321374, 0.023591392) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.0036059343, -0.046500497, -0.038338408, 0.05860707, 0.010447195, -0.009504354, 0.049770236, 0.050106872, 0.067891225, 0.09590973, -0.02107088, 0.0381016, -0.046945337, -0.07935132, -0.01582848, -0.12992474) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.06718964, -0.1270488, -0.11101901, -0.11639129, -0.027517658, -0.09217291, -0.41113213, -0.0070141237, 0.14649422, 0.07080694, -0.06706843, -0.0844863, -0.22744808, -0.027010445, 0.09881518, 0.06542304) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.03519974, -0.041227486, 0.004090405, 0.010040108, -0.12932245, -0.10672012, 0.016868005, 0.108630136, -0.017671783, -0.042135827, 0.066751815, 0.111438096, 0.029664762, 0.004840486, -0.11095081, 0.034418743) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.042148273, -0.00031746752, -0.08885343, 0.07206456, -0.0357501, -0.0043528355, 0.027055958, -0.027298044, 0.019335978, -0.052719697, 0.016006848, 0.007566219, 0.06628788, 0.011045804, 0.08947792, 0.042388618) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.06762781, -0.0062833424, -0.055829264, 0.045787193, -0.020832958, -0.093480736, -0.062021796, 0.051753286, -0.05065059, -0.015302333, -0.18155584, -0.035277814, -0.0645375, -0.053698413, 0.10225124, -0.04876655) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.040966954, 0.049427476, 0.069262125, -0.07890081, -0.0955194, -0.05663177, 0.0695869, 0.108245246, -0.1171343, -0.02086799, -0.0025334703, 0.0076881424, -0.022264076, -0.032288007, -0.09923547, 0.09759789) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.06770411, 0.041288607, 0.04110012, 0.0016651824, -0.018736895, -0.02405188, 0.105290994, -0.08417468, 0.0034806656, -0.05226793, 0.12670006, -0.052758206, 0.011962998, 0.08606856, 0.1265972, 0.030602075) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.015416804, 0.065943286, 0.0145178195, -0.0554211, -0.021731056, -0.05070943, -0.024964035, 0.036552835, -0.07576484, -0.0058238986, 0.19253702, -0.06484195, 0.021156179, 0.019920222, -0.10575495, -0.012931202) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.059154052, 0.07415665, -0.01898686, -0.17245582, 0.044845905, 0.025927877, -0.023964886, 0.0729636, 0.1286964, 0.15014492, -0.02891633, -0.09148428, 0.05480264, -0.037624136, 0.008219043, 0.10425349) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.049366154, 0.16506375, -0.034369953, -0.06672774, -0.047206927, 0.066692494, -0.009832372, 0.08448645, -0.15358709, 0.02081897, 0.027249707, 0.118566036, -0.014455933, -0.0005079403, -0.0536767, 0.0437288) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.013823828, 0.065340206, -0.016067626, -0.00937373, -0.012133142, 0.0003323078, 0.15206604, 0.01661443, -0.1209103, -0.031999268, 0.21175052, -0.041742653, -0.049927276, 0.015475797, 0.03152177, 0.06108948) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.012176819, 0.099177405, 0.007974098, -0.1557612, -0.0130201755, 0.015358788, -0.0335845, 0.023236588, 0.13805458, 0.04629405, -0.057350457, 0.10101297, 0.11372909, 0.05435978, -0.0749311, -0.09469021) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.022428676, 0.17385055, -0.01628781, -0.09268437, 0.044886503, 0.099497154, -0.07609648, -0.061913833, -0.037771013, 0.21506666, 0.004847572, 0.21147002, -0.011121165, 0.07373857, -0.034470536, 0.093210645) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.024994006, 0.050533053, 0.05986884, -0.0040020775, 0.00571005, -0.051764775, -0.041507203, -0.09433331, -0.06478752, -0.0076593724, 0.06256134, -0.01396287, -0.040680222, -0.1099815, 0.022841012, -0.08447082) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.015325295, 0.06131063, -0.08130751, -0.46391585, 0.0569385, 0.09448367, -0.024889715, 0.08806553, -0.05710256, -0.013388763, -0.071115665, -0.091755375, 0.017100437, 0.03830025, -0.123110324, -0.06852787) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.08499787, 0.05041153, -0.0141712455, -0.22111756, 0.021573093, -0.037946258, -0.029436227, -0.072256036, -0.020896088, 0.054716546, 0.032097127, -0.07736367, -0.0645287, 0.06127089, 0.057020955, -0.06762995) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.023521751, -0.043009292, 0.121617176, -0.09493799, -0.019555585, 0.08355108, -0.09493425, -0.12630379, -0.049446285, 0.06456461, 0.25245002, 0.058496132, 0.00629362, 0.053448897, 0.0025417425, -0.028992668) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.07287031, 0.12305148, 0.034898695, -0.06842664, -0.061226964, -0.0772007, 0.059925087, -0.0795371, -0.058265172, 0.060084697, -0.13745011, -0.0137089705, 0.047957838, 0.15136488, -0.048221994, -0.09193939) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.044064227, -0.14743613, -0.04209506, -0.027353402, -0.03290639, 0.08566451, -0.02045466, 0.0615677, -0.033643164, 0.014779297, -0.0023379528, -0.12114879, -0.012494092, 0.0010660065, -0.038599007, -0.14909881) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.04724417, -0.13072921, 0.1273986, -0.04312372, -0.011857862, 0.03111467, -0.06983107, 0.037953325, 0.1488008, -0.028867189, -0.10121992, 0.034068033, -0.027374003, 0.06629789, 0.043592073, 0.057870906) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.06150766, 0.27647898, -0.053189624, 0.14126022, 0.009253536, -0.08986206, 0.0254056, -0.036002006, -0.021398794, -0.04943254, 0.17804554, -0.05171411, 0.02291524, -0.085789636, -0.084769525, 0.000861088) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.010402258, -0.053476937, -0.0022894111, -0.003965239, 0.078008786, 0.09794152, -0.046315107, 0.037210356, -0.054727986, -0.006001755, -0.082219616, -0.29897043, -0.0009430335, 0.040889986, -0.015617444, 0.040487852) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.03970394, -0.0118559245, 0.027917495, -0.02588839, 0.10111305, 0.043517426, -0.11016402, 0.027023932, -0.03471382, 0.030764164, 0.042674348, 0.05605701, -0.00030619287, 0.0020819514, -0.13580267, 0.1472039) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.00075921864, -0.019684741, 0.16831025, -0.036113758, -0.13009849, -0.16302465, 0.039524697, 0.056833975, -0.15612656, -0.018677788, 0.06970964, 0.10054492, -0.03814764, -0.16684555, -0.11262127, 0.11370861) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.032260783, -0.12351121, -0.076271325, -0.11666758, 0.097372815, -0.06801551, 0.09509246, -0.05171701, 0.03821005, -0.038828857, -0.17247067, 0.07809735, -0.018067539, -0.04239243, -0.048227187, 0.039598484) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.009589554, 0.006678052, 0.12022079, 0.08203776, -0.0132305315, -0.020544302, -0.12776804, -0.08679573, 0.035502557, 0.060390204, -0.15655544, -0.021236168, -0.0060780975, -0.03767171, -0.18487298, 0.03382637) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.067710124, 0.045046322, -0.0061837947, -0.038791012, -0.008010818, 0.042590015, -0.19402218, 0.00040344146, 0.0747313, -0.012027904, -0.043841384, 0.0012560155, -0.07675372, -0.036804102, 0.015903624, -0.026983371) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.06790478, 0.0025601496, -0.028687304, -0.04788593, -0.09713656, -0.038052164, 0.06540302, 0.045702543, -0.062242404, 0.03657734, -0.113344945, 0.012567357, -0.10775977, -0.14935744, 0.06675478, 0.04527501) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.05539224, -0.12987116, -0.029112933, 0.049083408, 0.0741401, 0.05473034, -0.22229046, -0.06797762, 0.13545576, -0.059149012, -0.058110476, 0.010420501, -0.0044311397, 0.028531734, -0.26114765, -0.1159827) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.07605979, 0.019671984, -0.029698908, 0.118396536, -0.04623072, 0.0038611956, -0.0021273948, 0.042941548, -0.050356176, -0.19826847, -0.14611807, 0.06370393, -0.15534377, -0.052327644, -0.117162056, -0.046091054) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.06005896, 0.036566623, 0.012600479, -0.020896858, -0.0073263515, -0.083799474, 0.051343, 0.085098594, -0.0701527, 0.005854804, 0.034951873, 0.09915491, -0.08836578, -0.16720548, 0.07753428, 0.0146302115) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.0013678884, 0.0031123827, 0.04023751, 0.071022965, 0.02913987, 0.012066025, -0.07154453, 0.066969365, -0.071068235, -0.07037177, 0.11163354, -0.103932366, 0.12161176, 0.041581612, -0.10263719, -0.024771914) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.02390924, -0.011547705, 0.043132447, -0.00901074, 0.02698658, 0.07888966, 0.011487444, -0.036536206, -0.05685629, 0.0899115, -0.10218136, -0.027837854, -0.23823105, -0.16937168, -0.039461046, 0.043466095) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.027008604, -0.058229115, 0.108301885, 0.07198761, -0.08366371, -0.09404848, 0.0031145825, -0.045827273, -0.15457062, -0.078766845, 0.029128216, -0.07032586, -0.15143469, -0.058264464, 0.05912696, 0.024884354) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos0 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(0, 0); + imageStore(out_image, store_pos0, max(result0, V4(0.0))); + V4 result1 = V4(-0.0061072186, -0.00016473095, -0.00831442, -0.0020987126); + result1 += M4(-0.05555133, 0.009907645, 0.030017102, 0.06831108, 0.064930975, 0.043748785, -0.011230135, -0.065347925, 0.03623647, -0.0030964252, 0.07454275, -0.0670945, 0.0017236363, 0.025684329, -0.02215928, 0.030542945) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.037094403, 0.0008288886, 0.00775596, 0.049308065, -0.002233144, 0.09067249, -0.05631102, 0.016352633, -0.019671358, 0.013993207, -0.07509311, 0.08813484, 0.02796886, 0.027267799, 0.030823963, -0.054175876) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.007149485, -0.07485261, 0.042280268, 0.047893487, 0.0130603565, -0.034279503, 0.026893716, -0.13640317, -0.11271277, -0.024857098, -0.010636121, 0.079576865, 0.05657646, 0.031606376, -0.07748084, -0.016961066) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.025592798, -0.0057069818, -0.039899882, 0.027072513, 0.027012484, 0.043985557, 0.014814323, 0.10807523, -0.03541695, 0.025331788, -0.014283494, -0.018904699, -0.02313893, -0.03316723, -0.01269451, 0.052643124) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.011090765, 0.06669238, -0.042841136, 0.010860423, -0.039455645, -0.05008564, 0.017887715, -0.011097118, -0.018009692, -0.0012655018, 0.22464526, -0.040904928, -0.02711021, 0.019240128, -0.113098525, 0.04649011) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.013374506, -0.054546136, -0.05002517, -0.032660794, 0.02285827, -0.005932452, 0.03559239, -0.0475589, -0.023903117, 0.028755004, 0.07360127, 0.04082158, 0.0902288, -0.047700945, -0.010745158, 0.04439131) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.08291466, -0.017797131, 0.029672395, -0.030541591, 0.057164613, 0.018366752, -0.0045255315, -0.0473372, 0.016328495, -0.0966861, -0.03922164, 0.020874124, 0.06871549, 0.020788543, -0.051894713, -0.018990006) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.03325583, -0.0012222934, 0.0043927543, -0.039175525, -0.04893639, 0.046210367, -0.033123273, 0.007086549, -0.03630781, -0.18427545, -0.082319945, 0.09141659, -0.04188956, 0.013740385, 0.0009128156, 0.038292244) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.0133779105, -0.06620531, -0.10096198, -0.089076445, -0.015375542, -0.019311491, -0.04908821, -0.007184585, -0.063907914, -0.03474316, 0.06845465, -0.004818449, 0.06597907, -0.044106115, -0.07296027, -0.24906346) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.09413585, 0.06644448, 0.05145224, -0.087330684, -0.039611235, 0.013601862, -0.058429085, 0.04551375, 0.084282495, -0.032329604, -0.047285285, -0.06571276, -0.018843751, -0.06280049, -0.0998927, -0.035719752) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.027268313, -0.028332405, 0.21097468, -0.056393784, -0.06292559, 0.059429575, 0.058163952, 0.07808999, -0.11244603, -0.09529307, 0.063220866, 0.020263972, 0.021567961, -0.01723078, -0.16958131, 0.042552494) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.12478643, 0.04576773, 0.08089422, -0.03490763, -0.14591636, -0.05310021, -0.06600819, 0.020733517, 0.060740247, 0.02228012, 0.059140656, 0.013993736, 0.06082484, 0.03105568, -0.10989536, 0.08261493) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.0504586, 0.06508409, -0.049398873, -0.16662608, -0.12616713, -0.044688534, 0.03846227, -0.022300463, -0.03327362, -0.15346925, 0.17793424, 0.036588836, -0.019084204, 0.06543384, 0.085067295, 0.05110127) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.01786635, 0.12225962, -0.03375853, -0.22218688, 0.010858249, -0.033530798, -0.02049806, 0.08087927, 0.060930867, -0.06764787, 0.13100487, -0.073109254, 0.076791964, -0.00012586846, 0.026481742, 0.0062136976) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.1084866, 0.03762549, -0.09548972, -0.16640791, 0.03548651, -0.068881385, 0.023986844, 0.043238334, 0.019986533, -0.0017191919, 0.023733707, 0.041847404, -0.040570498, 0.038551062, 0.021904211, -0.016889142) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.0673545, -0.08435283, -0.023848081, -0.021350304, -0.07334422, -0.06278782, 0.013349973, -0.008666989, -0.033721317, -0.09444867, -0.057689294, 0.046325743, 0.0069185006, -0.0077961944, -0.05742224, 0.011132635) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.1188402, -0.03211058, 0.048204735, -0.09478723, -0.010398949, 0.044921976, 0.06594539, 0.05331555, 0.01996924, -0.077503495, 0.04379474, 0.016944509, 0.015829273, 0.0148369735, 0.04311943, -0.0695754) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.08061918, 0.025427856, 0.0036758187, -0.24266987, -0.0044095633, -0.059119944, 0.02889521, 0.053272076, -0.06583681, -0.034134936, 0.023660813, -0.012887086, 0.046629276, 0.02253306, 0.089339525, -0.0072067026) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.08627747, -0.0139554525, 0.06765061, -0.18625164, 0.03689903, 0.03735088, -0.025248291, -0.10713696, 0.06814156, 0.09136926, 0.046506178, -0.095904164, -0.008338034, 0.03780045, -0.08385991, 0.035627935) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.016342828, 0.015108024, -0.014508158, -0.13703516, -0.041924275, 0.084583044, -0.014051839, 0.0044254228, -0.007791246, 0.025674943, 0.0228861, -0.1261029, -0.026794566, -0.08544016, -0.051855624, 0.0015968281) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.028327653, -0.06624925, -0.03714457, 0.046090834, 0.027620753, 0.052507635, 0.03213358, -0.09255217, 0.07488177, 0.01741449, -0.025269322, -0.027500547, -0.0648053, 0.010207977, -0.012219648, 0.022031177) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.0033227606, -0.05663005, -0.04574952, -0.020807594, -0.036590092, 0.10508, 0.08536013, -0.14793053, 0.06301495, 0.057319973, 0.0392869, -0.0036850458, -0.021589058, 0.004451186, -0.038794346, -0.06644024) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.021570139, -0.002328515, 0.17560172, -0.10132863, -0.044285562, -0.16159439, 0.06307587, -0.1978661, -0.11880537, -0.00129896, -0.0508321, -0.03386858, 0.029877556, 0.1008922, -0.21476917, 0.031608585) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.08444895, -0.020932944, 0.09197004, -0.040623073, -0.056008935, 0.011273491, 0.0053994074, -0.19535914, 0.019299438, -0.012063091, -0.04706441, -0.056548283, -0.04922507, 0.043493163, -0.27584463, 0.0059334263) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.011051556, -0.11535073, 0.15798391, 0.005070084, 0.03583533, -0.070065595, -0.071961805, 0.045943722, 0.039262764, -0.09596367, -0.02011127, -0.11938158, 0.013030516, 0.022491124, 0.010147978, 0.049552597) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.02903141, -0.06797391, -0.10499285, 0.026030395, -0.062160347, -0.018225702, -0.036702015, 0.009951715, -0.03506354, 0.032366946, -0.043200698, -0.010277249, -0.120190054, -0.013806078, -0.046692178, 0.1406622) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.006244261, -0.015698565, -0.008052686, 0.02607586, -0.0150536625, 0.076057374, 0.008160759, 0.0457343, 0.036242943, -0.021668058, 0.012621753, 0.01286513, 0.019122, 0.121596456, -0.002450053, -0.015888197) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.011238558, 0.0017032031, -0.05536977, -0.0955467, -0.082178436, 0.015276623, 0.1605585, -0.01151235, 0.08126428, -0.0057992344, 0.095712215, -0.077067606, 0.035119392, 0.011609007, 0.09267578, -0.090852074) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.07015741, 0.013536124, -0.07434335, -0.106196515, 0.039071333, 0.030651754, -0.025471596, 0.04807092, -0.046125304, -0.005336383, 0.0024000423, -0.09727577, 0.029159792, -0.047070067, 0.05118242, 0.16037795) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.035200372, 0.013126213, -0.023675837, 0.06987328, 0.0028089534, 0.0011208224, 0.09784349, 0.06984075, 0.10327891, 0.016681701, 0.05790606, -0.028778855, -0.028820444, -0.07107981, 0.015330806, -0.07963746) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.017108364, -0.05585155, -0.031199947, 0.11534784, -0.0016899522, -0.03958112, -0.10693858, 0.056035727, 0.037524205, 0.0018771747, -0.0034373407, 0.018256366, -0.018820412, -0.10527664, -0.0425959, -0.0031975792) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.0068094893, -0.07368841, -0.07336601, -0.05106255, 0.119756326, 0.09267543, -0.18641104, -0.014572168, 0.055543065, -0.028005479, -0.0203162, 0.10471316, -0.04657727, 0.047923844, -0.17196353, -0.0071904142) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.011437279, 0.05802119, 0.06930897, 0.013184653, -0.030186335, -0.008259032, -0.112418704, 0.047279183, 0.052058123, 0.06591099, 0.16176772, 0.14426062, -0.03343393, -0.0624436, -0.021434642, 0.06874435) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.00072183134, 0.017626574, 0.08440605, -0.04520955, -0.027798716, 0.021879902, 0.12897266, -0.024260756, 0.04358405, 0.008837475, -0.027432002, -0.059347138, 0.027155425, -0.013462658, 0.07979891, 0.037821583) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.018819613, -0.03129012, 0.044792652, -0.027199417, 0.0010351132, 0.0052289567, 0.07979193, -0.103131816, 0.012816141, 0.10633513, -0.2478997, -0.02396936, 0.016666649, 0.06393786, -0.0060065854, 0.045593284) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.047775693, 0.10023525, 0.058871344, 0.030437427, -0.043634757, -0.03715778, 0.11454104, -0.0814172, -0.07307213, -0.070162386, -0.12071021, -0.28296897, -0.030172769, 0.019608147, 0.03814432, 0.028654147) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.027953887, -0.04257743, 0.1268331, 0.030893805, -0.030173805, -0.026779486, -0.04265322, 0.011727084, 0.047442507, 0.077255644, -0.09563305, 0.12633984, 0.08903872, -0.008407183, -0.06384755, -0.07369501) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.05813343, -0.04391682, 0.080176875, 0.0043620192, 0.032691583, 0.08965384, 0.07076838, -0.16312739, -0.0011124265, 0.06469311, 0.09219247, 0.0070274295, 0.014803089, 0.008920285, 0.0045533385, -0.0527906) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.043116055, 0.027927972, -0.06584836, 0.015935037, -0.005248417, 0.060533494, 0.08806245, -0.062337756, -0.011353424, 0.042351365, 0.007185217, 0.10756737, 0.04988853, -0.010079458, 0.07128236, -0.10375051) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.0013383926, 0.08932383, 0.0417931, 0.06565833, -0.066205315, -0.006596173, -0.1208233, -0.07111459, -0.09118281, 0.03642881, -0.08260205, -0.033975422, 0.03877246, -0.03110848, -0.05632086, -0.036988188) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.09982438, -0.047307603, -0.016758181, -0.100163735, -0.018426085, 0.06900546, -0.29462343, -0.07083321, -0.004624839, 0.03469858, -0.1767586, -0.030222552, -0.062296383, -0.03917537, 0.18547758, 0.118615836) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.022409143, -0.012265641, -0.039356958, 0.0155480215, -0.04026739, 0.083194785, 0.05245501, -0.0148359705, 0.030250976, 0.02656142, -0.0723656, 0.026216717, -0.04194125, -0.021187745, -0.040035635, -0.18176708) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.036372144, 0.08902657, 0.032046717, -0.05453333, -0.014221338, -0.019401848, -0.09114826, 0.0418566, 0.019037355, 0.09815341, 0.017588736, 0.011043524, 0.057046466, 0.063022085, 0.06320325, 0.02023955) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.050286658, -0.03259273, -0.025832443, -0.033904582, -0.011880629, 0.04409094, -0.2327753, 0.10298493, -0.0146542685, 0.044804364, 0.15322438, 0.041663993, -0.0041781445, -0.019536553, 0.035680756, 0.029406851) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.06421422, -0.011869183, -0.076941505, 0.018241543, 0.04655919, 0.08476051, -0.03723423, 0.27165037, -0.023605948, 0.007386334, 0.011624948, 0.10100716, -0.04425242, 0.019167423, 0.031097379, 0.06683003) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.049175013, -0.06679547, 0.009842068, -0.038205106, -0.032395486, 0.024768777, 0.09659816, -0.008628422, 0.006174216, -0.0569991, -0.028231023, 0.004303191, -0.06719057, -0.025744364, 0.10732447, -0.097373076) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.04135847, -0.038735565, -0.02248978, -0.03575148, 0.026917875, -0.039798137, -0.03877918, -0.033256702, -0.061393887, -0.014626109, -0.17212515, -0.02882923, 0.03329844, 0.0005753283, -0.06924724, 0.0516359) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.045267574, -0.07765106, 0.021617008, -0.08917944, 0.0425584, 0.011819779, 0.083759554, -0.020602554, 0.018629188, 0.0619638, -0.14236535, -0.09088492, -0.031021947, 0.004137095, 0.07039997, -0.06669237) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.10412178, -0.06821978, -0.009376344, -0.10724991, 0.040979564, 0.03991723, -0.05481046, -0.03662498, 0.06621457, -0.02566576, 0.16577493, 0.012722938, 0.015161039, 0.00769656, -0.030703532, -0.011005145) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.06132132, -0.040666096, 0.03614608, 0.043366693, 0.011246473, -0.029649729, 0.09704192, -0.005357341, -0.042611357, -0.0040473454, 0.13435718, 0.017770797, 0.010299275, 0.059667412, -0.3228306, -0.072058514) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.032430697, -0.015933631, 0.03804605, 0.0015630823, 0.05146647, 0.007760148, 0.05184452, -0.035486367, 0.16287257, 0.020889807, -0.016808605, -0.0027578864, -0.00983689, 0.017967414, -0.1497657, -0.023578689) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.047741544, -0.0674839, -0.011459704, 0.0027790328, 0.024662247, 0.013124674, -0.07872517, -0.014549725, -0.0020592648, 0.028392863, -0.04811534, 0.119053215, 0.058230408, 0.0758903, -0.002053968, -0.07950751) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.039618712, -0.026345039, -0.07730614, -0.011386788, -0.042055756, 0.0581805, -0.033499237, -0.014847153, -0.09238047, 0.05647376, -0.2639677, 0.03909353, -0.04899338, 0.048105955, 0.00821775, 0.02301182) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.011532182, -0.07956592, 0.02614665, 0.027822217, 0.034414176, 0.0044247727, 0.04680813, 0.103875354, 0.049063306, 0.02453779, -0.08866842, 0.036089815, -0.0590266, -0.054534677, -0.07177492, -0.014548463) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.008328182, 0.051831983, -0.11147683, 0.16845107, -0.035666723, 0.02115152, 0.06340138, -0.055948313, 0.08956453, 0.03383547, 0.022037974, 0.005859562, 0.018056756, 0.034560904, -0.015019886, 0.045243543) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.119384766, -0.044576436, -0.123205185, 0.056620676, 0.03059588, 0.008447929, -0.069402926, 0.05003846, -0.03168592, 0.039400954, 0.052116334, -0.014829764, -0.03739895, 0.0011307594, 0.023558866, -0.0010353045) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.020604985, 0.03829853, -0.07178288, 0.038766228, -0.010577759, 0.05239421, -0.029033707, 0.007398321, 0.070302494, -0.027272051, -0.04513423, -0.08755365, -0.030427584, 0.05512685, -0.10133613, -0.01354409) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.045655087, -0.010780689, 0.18530732, 0.030947683, -0.04458518, 0.020174827, -0.044197503, -0.074608214, 0.031570293, -0.009409739, -0.094079226, 0.02308208, -0.039779846, -0.06312654, -0.1229876, -0.059108067) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.033577, -0.104027264, 0.14230324, 0.04181207, 0.08429016, -0.002420776, 0.044587683, 0.06724051, -0.01710488, -0.121109195, 0.19245991, 0.020002374, 0.06272429, 0.054695357, 0.039389253, -0.04215225) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.103099056, -0.076679096, 0.044631336, -0.0017178098, 0.027193913, -0.056498855, -0.08171553, -0.0045826174, -0.033700623, 0.051741444, 0.043901842, 0.05975472, 0.047614824, 0.018316356, 0.050674688, -0.17392935) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.050746307, -0.06927893, -0.07388271, -0.14207588, 0.031679474, 0.088145636, 0.13731, -0.0646985, 0.006077401, 0.013773408, 0.031894207, 0.07830646, -0.037711978, -0.058057, -0.04439461, -0.03736185) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.026818063, -0.07921293, -0.04411991, -0.055056427, 0.04720832, 0.008428782, 0.067506224, -0.0005139902, 0.04699322, 0.1440894, 0.14249481, 0.01014312, -0.009135011, -0.0073810313, -0.08339491, -0.015164385) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.05629829, -0.07031563, 0.12171439, 0.038373217, 0.02823365, -0.0230753, 0.10722627, 0.021266991, 0.044287764, 0.057805005, 0.051360413, -0.013467288, -0.089045346, 0.053073376, -0.103241675, -0.043693025) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.028871885, 0.069700636, -0.024258882, -0.02752711, 0.00019105503, -0.015016382, 0.092230625, -0.035966754, -0.0911522, -0.066530384, 0.042826068, 0.019506814, -0.0031559125, -0.026756383, -0.06951716, 0.0120411385) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.007964552, 0.06423418, -0.12547295, -0.12769473, 0.095203556, -0.03509058, 0.04168362, -0.04878981, 0.072239704, -0.08613984, 0.19031352, 0.013566257, 0.03237939, 0.002960456, -0.00543912, -0.090702906) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.029906364, 0.02312954, -0.039068405, -0.16190009, -0.09224569, -0.031059807, 0.06936328, -0.11263341, 0.013503711, 0.037817467, 0.011086927, -0.06384579, -0.05616779, 0.005781088, 0.052223373, -0.17636453) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.0074241087, 0.036873545, 0.111926146, -0.033447262, -0.08061299, 0.04715982, 0.0057490836, -0.12234012, -0.019855713, -0.052541237, 0.027803965, -0.022309737, -0.018564835, -0.040394727, -0.082092635, 0.05010123) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.06789611, -0.04384773, 0.03025476, -0.1414503, -0.06307834, 0.07117125, 0.0019074578, 0.056261003, 0.045844253, 0.12343522, -0.080539405, 0.031254523, -0.04873932, -0.026298422, -0.046114504, 0.10815782) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.015875384, 0.009898091, -0.0092575485, 0.0018433528, 0.033258416, 0.053746384, -0.1040333, 0.040147837, -0.18597893, 0.0095051285, -0.09706317, 0.11498624, -0.13649859, 0.024711078, -0.09361495, -0.095815495) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.0045639714, -0.06725901, -0.10461258, 0.016652897, 0.0071862973, -0.042781986, 0.041690163, 0.0017894265, -0.017133756, 0.043727748, -0.008021358, -0.03354333, 0.04841632, -0.061214298, -0.055060443, 0.0757587) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.02565285, 0.015384623, -0.08513364, 0.012970113, -0.008472655, -0.02128074, 0.018568132, 0.053567577, -0.006417896, -0.08540258, 0.019828836, -0.0133347735, 0.0046054414, 0.07779871, -0.076674975, 0.023468275) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.012075245, 0.023621721, -0.02740885, 0.101528905, -0.018284526, 0.0020834703, 0.002139, 0.11068604, 0.09154123, -0.014122623, 0.020609705, -0.08527345, -0.0049329046, 0.0658914, -0.054329924, 0.10539874) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos1 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(1, 0); + imageStore(out_image, store_pos1, max(result1, V4(0.0))); + V4 result2 = V4(-0.0037414776, -0.008942531, -0.0019100541, 0.0044174613); + result2 += M4(0.004484741, -0.036167882, 0.009847092, -0.059477314, -0.022828026, 0.030624412, 0.01048997, -0.01292663, 0.028656546, 0.030830521, 0.00242591, 0.057176635, 0.09097583, 0.041024026, 0.026813053, -0.016347919) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.032842763, 0.04552943, -0.04368343, -0.07074871, -0.038557295, 0.03868456, -0.0015166008, 0.060066693, 0.027881479, -0.0025662724, -0.011144619, 0.028063614, 0.006946134, 0.048274852, -0.013009583, -0.012165507) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.036498155, -0.13183525, 0.021419115, -0.01784249, 0.07434229, 0.03601352, -0.015408686, -0.055577304, -0.0048858454, 0.0035838033, 0.12113434, -0.023081005, 0.03269293, -0.08395392, -0.022953006, 0.0009862087) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.033841606, -0.06765055, 0.033711474, -0.014560319, -0.119537376, 0.01824985, -0.012731271, -0.042087957, 0.07293949, 0.024198337, 0.0628577, -0.034802165, 0.11070003, 0.06494943, -0.0010466138, 0.05882893) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.028576285, 0.057043213, 0.08596521, -0.06432868, -0.076701835, -0.0402682, 0.006439564, -0.021807622, -0.04212013, 0.0881013, -0.10644234, 0.13514292, 0.06936173, 0.08546055, 0.054745518, 0.05199153) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.034520708, 0.074494414, -0.02584861, -0.09239, -0.018922983, -0.1165058, 0.0043572555, 0.02536176, 0.016209872, -0.08826549, 0.06420475, 0.10934232, -0.009979831, 0.08219814, -0.024342576, 0.12715061) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.02894293, -0.0010711614, 0.016368678, 0.003707369, -0.072975494, -0.070197195, -0.010618335, 0.05662138, -0.082513645, 0.02252169, 0.004864933, 0.04351783, 0.0731072, 0.033954754, 0.07968599, 0.000199645) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.03218991, -0.2123559, 0.05235623, -0.03925436, 0.074835144, -0.057651293, 0.008876883, -0.036585804, -0.025672048, 0.058425043, 0.03650923, 0.060423113, 0.018797008, -0.027644409, -6.483469e-05, 0.027819235) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.015199536, 0.056643598, 0.001992232, -0.025052974, 0.056276117, -0.040917616, -0.008335047, -0.011062116, 0.002939601, 0.04067819, 0.0024955678, 0.123486444, -0.042659055, 0.022091271, 0.050526906, -0.06748235) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.0016714755, 0.052304633, -0.04289812, 0.0049488535, -0.112180464, -0.029048778, 0.01698139, 0.008288524, 0.08404076, -0.05043747, -0.03176555, 0.05927947, 0.0034910853, -0.057448074, 0.014577508, -0.14276062) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.079174004, 0.10550688, -0.023277357, 0.0044404455, 0.06283814, -0.036640268, 0.027231714, -0.013710024, -0.047359023, -0.067529246, 0.041360572, 0.12454084, 0.03502521, 0.048834167, -0.03595462, -0.06001178) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.046270914, 0.17629123, -0.020664372, 0.0009171014, 0.023216214, -0.025131289, -0.014699031, 0.041209262, 0.010299059, 0.07659915, 0.0053361366, -0.08090268, -0.03487455, -0.06447407, 0.019916475, -0.05139665) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.18963557, 0.018066667, 0.0037690355, -0.094158195, 0.07189466, 0.03463454, 0.018669048, -0.01489584, 0.009428244, 0.02217091, -0.03917222, -0.0043844585, -0.003852937, -0.08082797, 0.035934392, -0.019763049) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.19222623, -0.11573391, -0.00954242, -0.09974071, 0.14179039, 0.032932617, -0.012414112, -0.03413563, -0.037066013, 0.04547361, -0.022495942, 0.117219925, 0.08693785, -0.128567, 0.018197402, -0.072188064) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0302838, 0.02201547, -0.020979539, 0.070871174, 0.000803711, 0.15209037, -0.045451466, -0.03853471, -0.018709822, 0.044736236, -0.04773733, 0.0675615, -0.022110213, 0.040851872, 0.018720722, -0.046364304) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.025737463, -0.09645422, 0.014555157, 0.062278222, -0.009631733, 0.039096806, 0.06882698, -0.068697564, 0.075384796, -0.030795548, 0.023757009, -0.019109732, -0.0048626475, -0.027294433, 0.01872056, -0.015900496) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.03255791, 0.042342886, -0.03860541, 0.021001657, 0.06618486, 0.047649916, 0.0017571396, -0.08110615, 0.024451219, -0.044206332, -0.040251408, -0.043098386, -0.07215681, 0.058516275, 0.0357355, 0.025246073) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.06271995, 0.01623303, 0.023689391, 0.0058845296, -0.03049818, 0.13931814, -0.023251915, -0.054805983, -0.04447121, 0.032653775, 0.010675448, -0.008244632, 0.013203213, 0.051615898, -0.027822684, 0.019252237) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.02279438, -0.07268177, -0.019068193, -0.049678765, 0.075838216, 0.04380972, -0.021117913, 0.007608896, 0.0729225, -0.03832354, 0.019641409, -0.0004013867, 0.012310561, -0.10409058, -0.0052667847, -0.012463305) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.032599896, -0.19013958, -0.036051095, -0.069090754, -0.014464639, 0.08741735, 0.08980748, -0.053734206, 0.14219321, 0.07205151, -0.015212013, 0.01308841, 0.10159755, 0.14754519, 0.0759467, -0.0022076622) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.015183392, -0.019413197, -0.08061843, -0.055378877, 0.03517532, 0.03493723, -0.0041842293, -0.047289748, 0.034225304, 0.008645886, 0.0138798375, -0.012323154, -0.055272274, 0.010287884, -0.08888677, -0.03341555) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.0073814285, 0.044571556, 0.11510163, -0.044049285, 0.011895431, 0.023595039, -0.0034164938, 0.002914333, -0.06152991, 0.034690894, -0.027510472, -0.018556302, -0.027804676, -0.015384894, 0.009195277, 0.052859504) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.031161552, 0.121566676, -0.026566379, 0.14496773, 0.0002781167, -0.12654969, -0.04102138, 0.03056938, -0.0040391465, 0.07899596, -0.011941705, -0.072069205, 0.03806569, 0.034638777, 0.012359684, 0.06464847) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.023707038, -0.058274675, -0.06117994, 0.0015577787, 0.046504762, -0.0071702595, 0.027817093, -0.0557876, 0.037505012, 0.115174785, -0.02636698, -0.025237035, 0.088198274, 0.18727212, -0.070214085, 0.13277467) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.04852515, 0.008096365, 0.007826868, -0.06690943, -0.073614985, -0.02468604, -0.036902737, 0.008502666, 0.023988308, 0.08561955, 0.013576877, -0.044677217, -0.07057747, 0.008662925, -0.027297666, 0.042377483) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.02383377, -0.06202214, -0.03024978, -0.11365149, -0.08957434, 0.10653521, -0.03180664, 0.06237826, -0.005892756, 0.1389679, 0.032081045, -0.027324943, 0.12647702, -0.14972335, -0.0420342, 0.050479382) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0037033584, 0.045729123, -0.075341724, 0.0068379883, 0.043247633, -0.06529374, 0.017649096, -0.033074904, -0.010150768, 0.005204385, 0.032893784, 0.036967505, -0.072555736, -0.012871556, -0.0522799, 0.03842975) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.027105195, -0.032222554, -0.026831, 0.02923393, -0.029216107, -0.0037107235, -0.019523747, 0.02210568, 0.020226372, 0.05754165, 0.032513686, 0.009836957, -0.07257721, 0.10391568, 0.036012806, 0.009795254) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.055486567, -0.009358439, -0.01999337, 0.050999276, -0.026654515, 0.05842005, 0.022936806, -0.051715348, 0.014095765, 0.019962624, -0.030064087, -0.054716893, -0.067147374, 0.12894963, 0.0037548312, 0.04657668) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.01232213, -0.05799942, -0.0120411925, -0.01833432, -0.008159317, 0.045978494, -0.014769394, -0.07422537, -0.00337026, 0.003008319, -0.011865849, -0.010488088, 0.024712889, 0.0802811, -0.0019794814, 0.058025353) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.087808274, 0.01418742, 0.059627924, -0.031143134, 0.031970795, 0.036422517, 0.03775366, 0.025819229, 0.13353048, -0.129827, 0.031624317, -0.009665338, -0.06473427, -0.07867496, 0.010448545, 0.05844478) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.007995994, -0.09616334, -0.040358637, 0.0054106694, 0.08524035, -0.049305636, 0.059913687, -0.027656613, 0.053555973, 0.05866609, -0.00944467, -0.13279673, -0.035522956, -0.0457365, -0.017792063, -0.022009106) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.009248711, 0.0042367782, 0.04455084, 0.040442258, 0.0075453194, 0.000120458215, 0.0036354885, 0.02057366, -0.015057789, -0.015506626, 0.04730468, 0.0019385514, -0.05972524, -0.10252041, 0.03845719, -0.06364403) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.033652473, -0.06449806, -0.010923389, -0.026250826, -0.08507141, 0.13282676, -0.014394807, 0.017225284, 0.084587984, -0.122046106, -0.032119058, -0.060038235, -0.0018683143, -0.07254033, 0.017310293, 0.012778487) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.01201036, -0.0063133975, 0.027450182, 0.050325926, 0.03002365, 0.09763526, 0.0003020771, -0.093888715, -0.049456198, -0.27377495, -0.09282327, -0.12183506, -0.05223528, -0.012042137, -0.08813836, -0.12004615) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.009727773, 0.015039009, 0.005461786, 0.061484378, -0.009704712, -0.12453867, -0.00040642038, -0.028421802, -0.13540377, -0.026216934, -0.035739407, 0.043513335, 0.08184309, -0.14319685, -0.005132202, 0.02198434) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.076363795, 0.024169741, 0.0094955675, 0.0011816344, 0.013387227, 0.030012207, -0.05960348, -0.0028376058, -0.0037267932, -0.030797994, -0.022117455, -0.017128535, -0.025943179, 0.04581467, -0.011210822, -0.07779623) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.07590376, 0.059095632, 0.04444, -0.023389608, 0.035489604, 0.012645479, -0.045803826, 0.0020893938, -0.049711972, 0.11678938, 0.053841874, 0.019126633, 0.0018987989, -0.049943272, -0.10205871, 0.09446612) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.034488093, 0.022127781, -0.038257167, -0.0016258662, -0.025868554, 0.13992761, -0.00805064, 5.3428234e-05, 0.011111297, -0.06370033, -0.006411743, -0.04274466, -0.06563204, 0.04919838, -0.024868073, -0.040872164) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.032771155, 0.0015759591, -0.0030849744, -0.012725834, -0.02217657, 0.047175426, -0.079023436, 0.01764564, 0.029903637, -0.14278595, -0.009068842, 0.013546647, -0.027475571, 0.005120303, 0.040971138, -0.095307544) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.04993979, -0.07024095, 0.04829985, -0.0011044157, 0.06536509, -0.12649176, 0.024462858, -0.045888428, -0.003683891, -0.049648248, -0.047201272, -0.0053760875, -0.00063791533, 0.14354683, -0.14334391, -0.014860198) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.027730802, 0.11151266, 0.024491882, -0.013060895, 0.011936389, 0.071648166, 0.013284897, 0.07083711, -0.014486363, -0.027968885, 0.010843406, 0.06379314, 0.027077392, -0.15599473, -0.02339202, -0.099914715) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.03430988, -0.21906753, -0.009957661, 0.011003699, -0.04554353, -0.11369048, -0.05694345, 0.06565865, 0.031044511, 0.21506727, -0.03975228, 0.05442051, 0.099332094, -0.0332486, -0.022595586, -0.12769935) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.049341593, -0.181199, -0.04247891, -0.00019062837, 0.064972065, -0.04863504, 0.026854198, -0.029225197, -0.007990051, -0.046903923, 0.033289183, -0.051704627, -0.06226592, 0.10515548, -0.050392132, 0.024441509) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.07817566, -0.2198432, -0.061264284, 0.03139592, -0.015163001, -0.04457997, -0.047015034, -0.026262995, 0.02254005, 0.011151397, 0.0053651906, 0.0039397352, -0.019977367, 0.09473548, 0.031665258, -0.1339141) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.023206025, -0.055530522, 0.039677106, -0.0051001795, 0.02249507, -0.016056648, -0.014207494, -0.07358727, 0.0222681, -0.016842261, 0.046640374, -0.011197654, -0.057304136, 0.08487998, 0.00035841396, 0.0015534164) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.018046655, -0.045851093, 0.02736232, 0.024511611, -0.059031095, -0.068605185, 0.0069470857, -0.033531927, -0.048072007, -0.094616696, -0.008739754, 0.13584466, 0.08634941, 0.12502688, 0.013288132, -0.10224378) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.010014871, -0.1686737, 0.06831921, 0.03978413, -0.013882219, -0.038093045, 0.012337267, -0.022631325, 0.048861288, -0.14151034, -0.00027513862, -0.1152278, -0.005020832, 0.13272195, -0.02890495, 0.010042245) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.00088300783, 0.07736834, 0.031808972, 0.05057029, 0.114518955, 0.08571633, 0.002603915, 0.029067269, 0.009007135, 0.0011954125, 0.076764815, 0.043900806, 0.03146791, 0.014388417, 0.03348972, 0.053163517) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.06289875, 0.10260305, -0.011337184, 0.011027719, 0.0016120179, 0.07765526, 0.040681895, 0.028566001, -0.05427478, -0.026886843, -0.050910737, 0.12070923, 0.027646672, 0.13911365, 0.03108526, -0.08299342) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.042489085, -0.02389963, 0.0012992327, 0.098465756, -0.052608512, 0.01751369, -0.003308613, 0.050999314, -0.036964677, -0.15943737, 0.087471664, -0.026885193, -0.043999862, 0.064475164, 0.032843843, -0.045582417) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.04281166, -0.031778604, -0.010940234, 0.0027126877, 0.028420156, -0.015083602, -0.034123864, -0.04146718, 0.05921886, -0.17638826, 0.043674245, -0.05492087, -0.047423486, -0.021355212, -0.011513477, -0.037949577) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.019802295, -0.11508867, -3.0562056e-05, -0.0079229865, 0.015836006, 0.03333626, 0.0049949638, -0.0144241825, 0.0031437937, 0.10472002, -0.08705694, -0.023822926, -0.06485579, 0.115366794, -0.030815262, -0.043671586) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.02491481, -0.0050808075, 0.044846397, 0.046877153, 0.036627136, 0.022979068, -0.0054921354, -0.032982364, 0.03864485, 0.10103102, 0.04725598, -0.0073007997, 0.011043774, 0.020650849, -0.0074444604, -0.015143542) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.00015334344, -0.06341982, 0.0077692727, -0.06435981, -0.007851315, -0.067197986, -0.047324087, 0.045290552, -0.13635762, -0.020214327, -0.08551798, -0.027994914, 0.032990746, 0.050145596, 0.04543882, -0.014311337) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.02194202, -0.16767402, 0.057291348, 0.031145852, 0.033331603, -0.02106617, 0.059719115, 0.03152421, 0.05971258, -0.07512611, 0.019083958, -0.028290158, -0.087561935, 0.16897878, 0.0065288297, 0.0046411026) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.0064448616, -0.12012039, 0.042021286, -0.05935612, -0.005303248, 0.04184568, 0.019484708, -0.04256954, -0.006832843, -0.17282668, -0.0033720925, 0.033652596, -0.016570207, -0.095789075, 0.028120616, -0.014109161) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.076295085, -0.045081645, -0.10022983, 0.05412095, -0.05795162, -0.018788222, 0.0027172978, -0.034074, 0.0070080366, 0.1508008, -0.021334415, 0.095339164, -0.055814575, -0.11852318, -0.027295202, -0.04893812) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.045446735, -0.049178302, -0.0024264632, 0.08887493, 0.047741674, -0.15489377, 0.01190234, -0.11386965, 0.043861922, 0.14602362, -0.027998077, 0.17574212, -0.01896789, 0.02103667, -0.029990053, 0.03381011) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.042838547, 0.014826047, -0.006804846, 0.05445213, 0.0107418625, -0.05821169, -0.017666949, -0.050038327, 0.10313449, 0.12907052, 0.022494342, 0.011309294, 0.05756236, 0.01433468, -0.052788403, 0.06234472) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.0380195, -0.015779527, 0.017603507, 0.13228545, 0.030294582, 0.09838603, -0.00077082217, 0.006437178, 0.04940073, -0.024270294, 0.0055310405, -0.044922136, -0.026298776, -0.0628143, 0.025017174, 0.04899281) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.01588886, 0.03049298, -0.014881936, 0.04855316, -0.0191581, 0.082220644, -0.012960018, 0.03552634, 0.01629252, -0.006197504, 0.006898984, -0.016259264, -0.10591255, -0.109938234, -0.022118917, 0.011825624) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.013914975, 0.016422966, 0.027080556, -0.0070590177, -0.0691145, 0.059994683, -0.0003364626, 0.032505754, 0.010260604, 0.0019261317, -0.009494075, 0.07708256, -0.025587134, 0.050320756, 0.021542698, -0.026822142) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.029876744, -0.05806836, 0.00088052626, 0.039481692, -0.12404909, 0.010675261, -0.01167464, 0.12826025, 0.05867169, -0.020320188, -0.048464205, 0.03458894, -0.042191256, -0.07279444, -0.018892283, -0.02739167) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.0128031485, -0.046513055, 0.014145994, -0.009947879, 0.016454494, 0.071941845, 0.008654156, 0.034830067, 0.0054473095, 0.0032422016, 0.036956787, -0.001888994, 0.0012679839, -0.0760909, -0.0118856, -0.010141708) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.021196596, 0.045268465, 0.017169392, -0.0009993269, -0.0367554, 0.23827688, 0.035209633, 0.037473958, -0.04899315, -0.19329771, 0.0047976673, 0.03320723, -0.029574716, 0.07818495, 0.0023692984, 0.00043571182) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.06692635, 0.046716772, 0.008505748, -0.0068143904, 0.016994674, 0.0045370287, 0.006059657, -0.019910606, 0.20609732, -0.003402507, 0.05196346, -0.015792415, -0.1674484, -0.06848623, -0.020702995, -0.016600532) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.02556035, 0.054174438, -0.037325047, -0.065946445, 0.032206178, -0.008804066, -0.027529102, -0.045771245, 0.022886643, 0.09878504, 0.0051666065, -0.10570877, 0.019335523, -0.06323618, -0.06787963, 0.07384056) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.02486968, -0.02515189, 0.024701517, -0.028800473, -0.042821687, 0.01538738, 0.022151878, -0.03904415, 0.072394066, 0.112245575, -0.030723084, 0.015512469, 0.030357458, 0.0073830225, 0.036763836, -0.035775535) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.0072410847, -0.034791116, -0.01023419, 0.08337094, 0.025608944, 0.11159764, 0.0089993365, -0.023451157, 0.11975627, 0.048038963, -0.06388296, 0.035810836, -0.028915206, -0.06917563, 0.0068483516, 0.038790498) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.095374, 0.07109355, 0.0016297232, -0.014569022, 0.0032654605, -0.06579484, 0.044728626, -0.032137487, -0.079704516, -0.09362815, 0.05408694, 0.11570054, 0.003487744, -0.3167224, -0.020792764, -0.043787394) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.005876692, -0.048514985, -0.0100105265, 0.08018275, -0.03380905, -0.09808053, -0.039084584, 0.028302813, 0.012511768, -0.045290712, 0.015695011, -0.019206556, 0.042897183, -0.14270857, 0.05404672, 0.039722323) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos2 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(2, 0); + imageStore(out_image, store_pos2, max(result2, V4(0.0))); + V4 result3 = V4(-0.005183828, 9.48733e-05, 0.0036475817, -0.007278215); + result3 += M4(0.020084474, 0.06758243, -0.03163163, -0.015041143, 0.06822232, -0.04848858, -0.04129351, -0.045100506, -0.039240524, 0.052516963, -0.061416056, -0.07929778, 0.14122812, -0.024540713, -0.002548528, -0.038768183) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.16094725, -0.0017164103, 0.034322836, 0.091051824, 0.046149883, 0.043405842, 0.031773653, 0.075929835, -0.26720932, -0.12901238, 0.09676169, -0.027014602, 0.09377516, -0.102975786, -0.025952902, 0.043833952) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.11873157, -0.05366836, 0.005809096, -0.07089157, -0.005418724, -0.063462086, -0.011726954, 0.009559474, -0.088419326, 0.04822798, -0.01304656, -0.031353764, 0.09209975, 0.076913536, 0.0032916546, 0.097415045) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.0026841988, 0.017445477, 0.011122808, -0.08312353, 0.01905077, -0.046288166, -0.05753952, -0.04826398, -0.023975704, 0.068933964, -0.10714086, 0.066289626, 0.17359567, 0.036257207, -0.04542655, -0.103699975) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.31524998, -0.012154288, -0.030318275, -0.011442315, 0.111295335, 0.014898294, -0.1124792, 0.092015296, -0.004324064, -0.008793627, -0.03769413, -0.023064213, 0.047377303, -0.12498418, -0.057557322, 0.12475154) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.23874, 0.0249557, -0.066145115, 0.017380409, 0.059564423, -0.0076036146, -0.040494777, -0.12159404, 0.008738101, 0.056858916, 0.069194295, 0.036531333, 0.13975592, 0.12356534, 0.058181904, 0.0903529) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.03268226, 0.035256535, -0.038870174, 0.015922057, 0.06780476, -0.013164643, 0.06383094, -0.0232432, 0.0801628, 0.022433853, 0.03222594, 0.027797991, -0.016772788, 0.07206531, -0.019493481, 0.010356457) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.21125679, 0.074805856, -0.084294066, -0.02514227, 0.106017366, 0.08639548, 0.015640467, -0.031479973, 0.122208096, -0.022332968, -0.054364584, -0.019867871, 0.093458034, 0.0071755713, -0.12753798, 0.08270919) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.057050522, -0.025940249, -0.09415107, -0.025350407, -0.05812817, 0.035093572, -0.028013727, 0.028546399, -0.08039199, -0.0150702875, -0.009311095, 0.0065879747, 0.3047706, 0.05574404, -0.033010818, -0.007265517) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.030652447, -0.041227262, 0.035115935, 0.031650025, -0.080373235, 0.059490025, -0.03920817, -0.06956479, -0.14964712, 0.06561436, -0.14088322, 0.06069411, 0.021561049, -0.0068443236, -0.055435922, 0.052801922) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.08930892, -0.09218568, -0.030797647, 0.14157633, -0.023988534, 0.07369453, -0.13258064, -0.059660915, -0.01627556, 0.088762656, -0.04034127, 0.010952057, -0.1045898, 0.021010138, -0.00049335667, 0.0064072153) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.10516539, -0.06400941, 0.17550892, -0.22169666, -0.08434004, -0.08285036, -0.052289184, -0.06591055, 0.037690066, 0.00083151687, -0.08122602, 0.03628359, -0.12501796, -0.08612325, 0.118431434, 0.045161806) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.01984631, -0.095183335, 0.06725137, -0.12781043, -0.027476525, 0.058118265, -0.16233177, -0.11222702, -0.07968252, -0.06445811, 0.04900128, -0.05555353, -0.17969036, -0.02172841, 0.11800591, -0.06279502) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.0490286, 0.018457355, 0.11178663, 0.054934822, -0.046609968, 0.09344987, -0.1087852, 0.009706434, -0.009962842, 0.0006343639, -0.01795261, -0.0039077057, -0.037311073, 0.023092752, 0.048514724, 0.028217867) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.049261466, -0.16242193, 0.118966885, -0.04849398, -0.27263862, -0.013452888, 0.010806433, -0.080282986, 0.010567469, -0.010667685, 0.022810549, -0.07131424, 0.12308475, 0.14801408, 0.056054402, -0.022952506) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.071949534, -0.020015609, 0.04479269, -0.043958414, -0.0074409656, 0.09662093, -0.18149659, -0.04736349, -0.10015563, 0.06464597, -0.062216144, 0.07623865, -0.10409154, -0.009720332, -0.018261196, -0.038592853) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.06697311, 0.00713229, 0.0369223, 0.044009376, 0.09440097, 0.06326054, -0.017163811, 0.04567967, -0.15973982, 0.01616487, -0.055740166, 0.014525839, 0.07148315, -0.01712614, 0.12618785, -0.07828111) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.07186514, -0.17031842, 0.04104493, -0.024935475, 0.026281364, 0.12318267, -0.046379983, -0.0009125941, -0.0921953, 0.007627284, -0.007272264, -0.030789835, 0.10124397, -0.001004542, 0.057039894, 0.04633968) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.12392101, -0.028702796, 0.056750957, 0.007129588, 0.029564587, 0.00092405186, -0.039454203, 0.0057106735, 0.15944967, 0.0038486163, 0.03525685, 0.043431155, 0.03659633, -0.026173823, 0.20540638, 0.043027148) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.030884977, 0.08644413, -0.006750194, -0.055511348, -0.043957673, 0.008614438, 0.09056483, -0.01068272, -0.009052156, -0.038130112, -0.028486893, 0.11612213, -0.015602673, -0.05362466, -0.02594949, -0.08500749) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.080815874, 0.0026207983, -0.0066927373, 0.009048285, 0.06103288, 0.014697041, -0.057359442, 0.012553881, 0.061601933, -0.06904595, -0.0027673668, 0.053590555, -0.09300046, 0.03732454, 0.08645817, -0.057929344) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.11480543, 0.008807467, -0.13809875, -0.11486113, -0.017740458, 0.025068108, -0.01540493, -0.08816731, 0.0004072931, -0.00090111303, 0.053571865, 0.058363173, 0.052318886, -0.018555425, -0.08363434, -0.046586525) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.010532966, -0.014319378, -0.16157311, -0.10695006, -0.011086462, -0.062049236, 0.064187236, 0.10528164, 0.02255839, -0.11748393, 0.04988784, -0.029166158, -0.14557056, 0.031609435, -0.023633072, -0.00612674) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.08116143, -0.00892868, -0.0032722983, -0.075384825, 0.05423199, 0.04941447, -0.057388604, -0.008382921, 0.06986472, -0.027727604, -0.108038634, -0.05643016, -0.2490234, -0.052433535, 0.19662307, 0.04139329) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.0040986817, -0.056307986, 0.10085726, -0.08170585, 0.02368324, -0.054406643, -0.07967195, -0.18498209, 0.013213182, -0.012953786, -0.019395493, 0.06634888, 0.030442573, -0.0060277428, 0.11078548, -0.048440408) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.14001697, 0.09525112, -0.058488477, 0.0108522205, 0.049057387, -0.0017265353, 0.046733636, -0.061131, 0.033210788, -0.095999084, 0.017875016, 0.06153714, -0.10104328, -0.06734948, -0.13138089, -0.0711384) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.003986691, 0.033322044, -0.009040505, -0.05749956, -0.082490265, -0.04965712, -0.03275798, 0.061537873, -0.10737846, -0.038975406, 0.014959829, -0.03510323, 0.09161383, -0.040849395, -0.14151348, -0.048245214) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.10248654, -0.118185736, -0.017426714, 0.07858311, 0.067377746, 0.0044417116, 0.12923846, -0.03164329, -0.02265044, -0.011377758, 0.027411573, 0.0020943284, 0.03919726, -0.018601276, -0.0064453073, -0.0025711535) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.07893498, -0.13368934, 0.08775006, -0.038655058, 0.10449137, 0.0053819455, -0.033867374, 0.085984394, -0.070471026, 0.0049262047, -0.011948881, -0.08433344, 0.011943344, -0.009540346, 0.030737208, -0.048308797) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.079259396, -0.15785138, 0.014628006, 0.015464384, -0.002886263, -0.022427486, 0.0017008022, -0.030219732, 0.10098018, -0.095941834, 0.026249511, 0.1198372, 0.02303758, 0.015658986, 0.049430996, -0.08048024) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.04786982, -0.046797544, -0.0942441, -0.12997016, 0.013038792, 0.04825454, 0.1024186, 0.096311554, -0.013183089, -0.02633694, 0.11219724, -0.032854296, -0.022819113, 0.06497123, -0.00055029214, 0.033228632) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.10928695, 0.10596979, -0.06845, 0.024489723, -0.13669446, 0.12103362, 0.05328958, 0.025558246, 0.19972636, 0.008543489, -0.05463502, 0.046664193, -0.12663436, 0.09406971, -0.08760867, -0.005901504) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.05028972, -0.017115591, 0.04266699, -0.06515177, -0.04762028, 0.0031366397, -0.0041678385, 0.035679277, 0.013424573, -0.022166906, -0.014535474, 0.065817714, 0.028838124, -0.026406787, -0.07288617, -0.07143175) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.057133753, -0.09802989, 0.028036745, 0.084401906, 0.027545452, -0.08629153, -0.0020149522, 0.03489328, -0.03010585, 0.006194952, 0.03818026, 0.14170107, 0.02132061, 0.07885793, -0.009912383, 0.01978781) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.0046634856, -0.014551274, 0.05275205, -0.07182041, -0.020745542, 0.0572748, 0.027613593, -0.036645923, 0.028924294, 0.02441303, -0.020646377, 0.15367362, -0.047688983, 0.025618281, -0.024550324, 0.021311596) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.14826067, -0.09505668, 0.03618859, -0.10629534, 0.011267332, -0.041326527, -0.014121005, -0.04342942, 0.33868036, 0.13870789, 0.085968114, -0.030337846, -0.05222308, 0.030231798, -0.041573644, -0.056025058) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.10095144, 0.022108816, -0.09065052, 0.0249978, -0.06387984, -0.07155669, 0.09489915, -0.2866436, -0.112463154, -0.010514248, 0.0562328, 0.025498142, 0.040049702, 0.01347543, -0.16509897, 0.04868755) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.06751335, 0.04288561, 0.0253029, 0.015099063, -0.18023911, -0.11444089, 0.06786661, 0.0031829143, -0.036808398, 0.07630061, 0.04394285, 0.043022998, -0.06843075, 0.04361282, -0.037314072, -0.1019303) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.05816609, -0.024462463, 0.051480245, 0.06054156, -0.09656424, 0.01360741, 0.14613502, 0.0064378437, -0.0462218, 0.1011631, 0.020779507, 0.05272554, -0.05755989, 0.022410732, -0.039838053, -0.07195673) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.13972802, -0.03407443, 0.0051996172, -0.04519688, -0.02649703, -0.09987713, 0.11394459, -0.17392594, -0.13719091, -0.010274014, 0.11446284, 0.017232668, -0.03157133, 0.00022486794, -0.31069458, 0.07730876) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.07988087, -0.034715787, 0.0041619306, -0.023999168, -0.23126392, -0.21191575, 0.1364215, 0.06270414, 0.17039965, 0.049361255, 0.005830689, 0.04183137, -0.04642504, -0.063618846, -0.039327797, -0.11279039) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.12523028, 0.04395949, -0.005660064, -0.019171482, -0.17428866, -0.22599177, 0.059077267, -0.015947852, 0.15185781, -0.08648282, 0.16455238, -0.07151107, -0.13092844, 0.032658502, -0.015240357, 0.051895984) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.13100336, 0.025543071, -0.025536044, -0.014872929, -0.120649405, -0.06459796, -0.016611774, -0.104085535, 0.06808806, -0.049584474, 0.1111196, -0.077503316, -0.062009703, -0.011816306, -0.15544173, 0.08275689) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.033608884, 0.01093746, -0.0011567475, 0.09868517, -0.28505898, -0.07686699, 0.01224774, -0.047466893, 0.21479225, 0.09538759, -0.098568104, -0.039737485, -0.16530702, -0.014578932, -0.14710942, 0.03382815) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.18589973, 0.03238936, 0.06293755, -6.132251e-05, -0.068885945, -0.0957068, 0.09681253, 0.095082276, -0.1045635, -0.0046055703, 0.063556455, -0.017115215, -0.11644404, 0.15521795, -0.040276155, 0.0067145214) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.089477226, 0.041485947, -0.052893024, 0.0059125014, -0.07709741, -0.027194189, -0.09878587, -0.01041845, 0.013770305, -0.00035222294, -0.16414066, 0.109207004, 0.114149526, -0.04332065, 0.11553335, -0.1730082) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.06790765, 0.05513871, -0.073529676, 0.0008932728, 0.11783822, -0.058309026, 0.08236733, 0.07745315, -0.27161568, -0.024228217, -0.014976191, -0.048417438, 0.04203336, 0.008425722, -0.11407828, -0.035043053) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.046074018, 0.090087794, -0.10545376, -0.007532693, -0.063857354, -0.04601892, -0.029427024, -0.019684914, -0.02097071, 0.08153211, -0.082361735, 0.14718749, 0.16112818, -0.07681767, 0.07493402, 0.0184271) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.08837693, -0.03492575, -0.051987365, -0.021402972, 0.020862836, 0.01111783, 0.020775694, 0.11593844, -0.052732352, 0.04904756, -0.17036922, 0.112585925, 0.02779948, -0.02092282, 0.060145102, -0.0071206936) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.009439925, 0.074638836, 0.06352808, -0.0068478193, -0.012943947, 0.04816368, 0.09534203, 0.09837981, -0.08043032, -0.06913725, 0.065274596, -0.16750292, -0.08063335, -0.09685005, 0.0732891, 0.046424814) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.03414456, 0.08582196, -0.051627245, 0.04675149, 0.20466717, 0.07656572, 0.03870937, 0.059567165, 0.10086333, 0.06759657, -0.06162768, 0.062105365, -0.10025363, -0.06374794, -0.011847725, 0.037458792) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.0014463136, 0.017270228, -0.003573663, -0.059258096, -0.0069451197, -0.0064556664, -0.013621158, 0.0857323, -0.05341207, -0.021667462, -0.052255377, 0.022381704, -0.016029809, 0.028361376, -0.07257729, 0.04572499) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.060359288, -0.02521851, -0.044230416, -0.013784432, -0.012955875, 0.04845978, -0.12927972, -0.0026913867, 0.04898193, -0.055847988, -0.059975572, -0.0799122, -0.045404017, -0.052855577, 0.0075776516, -0.0044517936) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.014571299, 0.05061913, -0.06802436, -0.009473339, 0.100785054, 0.042150386, -0.01737423, 0.022976184, -0.038261678, -0.013939488, 0.027157892, 0.08355286, 0.014176197, 0.04602298, 0.029318534, -0.062147405) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.08307759, -0.035401773, -0.043641284, -0.009733289, -0.023719862, 0.02864354, 0.021840239, -0.020161562, 0.06960545, -0.07909465, -0.041270763, 0.18588275, 0.06366184, 0.023273315, -0.054810163, 0.033156253) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.15627423, 0.043016795, -0.0043683485, 0.016720347, 0.08716863, 0.068618394, 0.026082026, 0.048609324, -0.035841186, 0.032707233, -0.05734429, 0.03034774, -0.13240151, -0.046376627, 0.021521084, -0.05973573) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.03494598, -0.04379115, -0.050984625, 0.017040519, -0.023467507, -0.031774886, 0.034910593, -0.035450757, -0.03250825, 0.020725995, 0.0089192875, 0.017668031, -0.017368263, 0.05458809, 0.035369188, 0.09315064) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.012197696, -0.0283941, -0.004512029, -0.09775735, -0.113321975, -0.08381794, -0.012647783, 0.015469986, -0.036393482, 0.010264622, -0.035412032, -0.15591341, -0.027572112, 0.0022569678, -0.03591516, 0.12776536) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.14657767, 0.095886655, 0.033976518, 0.079411894, -0.018682385, -0.0030161112, -0.008624077, 0.05342656, 0.2121635, 0.039290585, 0.10801529, 0.09281205, 0.019266393, 0.03347954, 0.030166022, -0.068461984) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.1289012, 0.02397908, -0.068362586, -0.028724734, -0.115874544, -0.076847754, 0.008676056, 0.056860212, -0.16657504, -0.1232954, -0.020478375, 0.076948896, 0.15075937, -0.0054797013, -0.062116157, -0.020123553) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.03361338, 0.037584726, -0.05475, -0.0576554, 0.09213365, -0.022272917, 0.13604924, 0.054309983, -0.09899845, -0.11179813, 0.11995443, 0.100360386, -0.019315522, -0.007829679, 0.12326376, -0.030702949) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.03802383, 0.017047383, -0.14152396, 0.1374168, 0.08986044, 0.02747468, 0.042257883, 0.006810941, -0.16667539, 0.0760231, 0.11706706, -0.019236134, -0.08488313, -0.07618208, 0.16397971, -0.088732466) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.04174263, 0.062297504, -0.059832115, -0.0611675, 0.033123463, 0.0018345978, 0.05789251, -0.031038418, -0.07351269, -0.038628675, 0.10075484, 0.040017083, -0.072609015, -0.11337553, 0.04951029, -0.010765259) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.060175303, 0.0042907884, 0.019541442, 0.1028895, -0.031255495, -0.009447475, 0.0561293, 0.02896197, 0.028881058, 0.0848369, 0.088985205, -0.040638298, -0.026604626, -0.014390675, 0.14610387, 0.031683747) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.0782837, 0.09496289, 0.018421661, 0.012415842, 0.056266494, 0.020928157, -0.018875128, -0.09697541, 0.1137432, 0.02731636, 0.1113835, 0.03614264, 0.006591243, -0.0017516456, 0.04784379, -0.067200355) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.037973102, 0.02805728, -0.040009942, -0.060563896, 0.08536583, 0.008552987, -0.009797453, -0.040796716, 0.11952856, 0.10818616, 0.12792565, -0.042485338, 0.0377877, -0.16260156, -0.0009284095, 0.05087405) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.0042181564, 0.04284704, -0.17240909, -0.024487682, 0.031101665, 0.044780705, 0.030523496, -0.13216908, 0.027074559, 0.014481217, 0.072425365, 0.052058097, 0.100167565, 0.07355858, 0.15783976, -0.011199391) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.16313957, -0.011658027, -0.014048799, -0.026156312, -0.03901689, 0.06476949, -0.021922648, -0.0198048, -0.25145695, 0.021510297, 0.18691173, 0.06702431, -0.07431938, -0.18144783, 0.13952601, -0.2295919) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.03768292, 0.038896494, 0.044633847, -0.073688954, -0.14855532, 0.007254207, -0.12791471, 0.015239359, -0.1363847, 0.010479239, -0.015597077, -0.039758004, -0.12913118, -0.1038376, 0.00027248505, -0.00023554951) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.09718701, -0.0038244312, -0.005050379, 0.011864381, 0.037133772, -0.011428085, -0.045734525, -0.048141867, 0.010609644, -0.13898297, 0.08209389, -0.07774883, 0.037182022, 0.07605991, 0.12296785, 0.08992923) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.05532598, 0.0038832577, -0.04970344, -0.007285348, 0.020491546, 0.010160633, 0.05866106, 0.027926918, -0.0012324755, -0.024405146, 0.08408154, -0.043996863, -0.12880978, -0.0524922, 0.12756103, -0.14196277) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.13219094, -0.004173746, 0.062799305, 0.011029396, -0.022472057, -0.061149646, 0.017115034, -0.0011316093, 0.122614875, -0.16188432, 0.04073796, 0.0832053, -0.30895698, -0.009089511, 0.014021223, 0.12935244) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos3 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(3, 0); + imageStore(out_image, store_pos3, max(result3, V4(0.0))); + V4 result4 = V4(0.001659712, 0.0015686982, -0.0026812244, -0.0010323082); + result4 += M4(0.020559898, -0.13699219, -0.11118038, 0.061652966, -0.08045502, 0.06803401, 0.008831279, -0.011236651, 0.06520165, 0.011211476, -0.0031182943, 0.054241575, 0.031697378, -0.12219832, 0.04242958, 0.010828711) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0011020249, -0.1287697, 0.01067757, 0.08612354, -0.09946633, -0.031312633, 0.03014096, 0.071210004, -0.07424718, -0.19371484, 0.026723584, 0.040195927, 0.0007552612, -0.011745825, -0.065933675, 0.05341924) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.12314138, 0.0757025, -0.040181793, 0.018983563, -0.0036874805, -0.7809413, 0.0190643, -0.035629164, 0.024356427, 0.14047949, -0.01058402, 0.017076084, 0.011988137, -0.13691007, -0.10807298, 0.045831535) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.020509478, 0.06738169, -0.016078342, 0.021202642, -0.011970728, 0.08047811, 0.04205483, -0.017350083, 0.06589694, -0.036931876, -0.073050424, 0.062360875, 0.03172255, 0.3757815, -0.012974772, -0.043230984) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.04376047, 0.4389251, -0.021287512, -0.1405933, 0.06613506, 0.026004082, 0.044704348, 0.041185524, 0.070935674, -0.117679834, 0.03926195, 0.085804105, -0.07845212, 0.16748862, 0.08294596, 0.12811096) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.047047317, -0.20215397, 0.047943432, -0.019638455, -0.07743439, -0.32780793, -0.07403038, 0.041768026, -0.15007868, -0.021869412, 0.007911892, -0.025322244, 0.07267664, -0.3143165, -0.021299394, 0.07219613) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.070411004, 0.063154496, -0.035066504, 0.0967381, 0.03675973, -0.032787267, -0.013259352, 0.09365573, 9.3006514e-05, -0.043778643, 0.023278795, 0.022598675, 0.0009953238, -0.22757035, -0.052360512, 0.07037452) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.06405655, -0.17317107, 0.02504415, -0.092302375, -0.02464706, -0.01171975, 0.12416583, -0.034180686, 0.03362444, 0.15519719, -0.008013067, -0.050501034, -0.0452095, -0.06909662, 0.030463876, 0.058430105) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.058309894, 0.060819324, -0.020249328, 0.06933289, 0.039675206, -0.047621436, 0.00051552133, 0.10025586, -0.10289459, -0.3378846, 0.005486807, -0.014348185, 0.11525803, 0.4562171, -0.08217181, 0.13036068) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.17633228, 0.036917184, -0.03853674, -0.083973035, 0.05150953, -0.042342395, -0.049196567, 0.03856686, -0.042043623, -0.019436652, 0.09557106, -0.040558677, 0.005042305, 0.021995997, 0.0037598105, -0.069472045) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.033390567, 0.107843965, 0.060027342, -0.12564352, 0.047451552, 0.022007966, 0.004441137, 0.036295407, 0.11607103, 0.0010575744, -0.03643113, -0.04048113, 0.013935722, 0.06375162, 0.07117474, -0.052229486) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.08210023, -0.66515315, 0.069091305, -0.038305834, -0.07296035, -0.17474979, 0.006548619, 0.022066902, 0.024708012, -0.15045066, -0.021511395, 0.071671486, -0.058852453, -0.24132784, 0.008797022, -0.051848307) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.09123059, 0.023977306, 0.0749139, 0.043218426, 0.04751282, -0.015306857, -0.033697233, -0.02457444, 0.04434023, -0.09031759, -0.08884777, -0.06875023, 0.048505224, -0.1014969, -0.014928363, -0.09789808) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.018630985, -0.22375864, 0.05584198, -0.10293247, -0.017310083, 0.06720158, 0.04197032, -0.0469701, 0.032860868, 0.035535775, -0.0402885, 0.02078255, 0.008052612, 0.13032427, 0.01829301, 0.07089493) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.07371981, -0.13560879, 0.011255115, -0.12618797, -0.045102302, -0.07760822, -0.0026590633, -0.04493451, 0.07525087, -0.669804, -0.067661405, -0.008882325, 0.06614981, 0.12329007, 0.07453672, 0.05476959) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.019797869, -0.0072556706, 0.019070687, 0.083032355, 0.060178712, -0.07217566, 0.054419823, 0.06468796, -0.011334752, -0.009203236, 0.08428041, -0.027429568, -0.0130488835, -0.040937275, 0.07445889, -0.0016471418) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.007891134, 0.11889605, 0.0012089409, -0.12328555, 0.014930354, -0.012546994, -0.062499635, 0.070233434, -0.022556832, 0.05067245, 0.021462303, -0.02678849, 0.0065041585, 0.080350935, 0.059200898, 0.050952166) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.11372491, -0.20757373, 0.114417024, -0.123033434, 0.061110582, 0.030654686, 0.042504143, 0.10811961, 0.005055127, -0.22360784, -0.01401645, -0.034538537, 0.06409256, -0.0035663026, -0.034677807, 0.09172708) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.010129579, -0.14352389, -0.031210322, 0.09472488, -0.0624923, -0.16874538, 0.09266329, -0.049696393, 0.024835182, 0.16387008, -0.010938607, -0.048466444, 0.056254618, -0.105320655, 0.012420069, 0.037076756) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.037523154, 0.07488885, 0.03052542, 0.062459312, -0.030292828, 0.18595889, -0.0121072205, 0.004821915, -0.008211444, 0.04385695, 0.011696833, -0.078024656, -0.041107893, 0.052131224, 0.009269298, 0.064020365) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.13759919, -0.19104457, 0.00071298686, 0.019084264, 0.035324965, -0.3556473, -0.02169804, -0.0040722187, 0.04108028, -0.2561129, -0.06840444, 0.039269634, 0.07445694, -0.3359634, 0.017214028, -0.085408546) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.08058521, 0.270098, 0.07938886, -0.037802402, 0.017461253, -0.336572, -0.06859386, -0.021197163, 0.0709465, -0.05973133, 0.012830438, -0.04875981, -0.07857033, 0.29298082, 0.021713596, 0.077925175) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.054192014, 0.16307074, -0.14268659, 0.05308341, 0.14083205, 0.1567965, -0.059313454, -0.056672376, 0.045207743, -0.41292316, 0.016430074, -0.045224242, 0.040306818, 0.09509502, 0.04503464, -0.058177464) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.000596586, 0.03220169, 0.055037126, 0.051594898, -0.0016205835, -0.2029972, -0.054398008, -0.017996877, 0.027522873, -0.0863014, -0.031879473, -0.080295146, -0.011408947, -0.012197109, 0.04920937, -0.08694977) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.009014738, 0.0007383643, 0.0035321459, 0.02253776, -0.06367373, -0.02217425, 0.013334428, -0.116585486, -0.042053282, -0.052093275, -0.042580906, 0.085820176, 0.00636449, 0.041332312, -0.108290486, 0.038547806) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.07289189, 0.09725272, 0.017747331, 0.014354225, 0.012287661, 0.09916276, -0.02194406, -0.0058554914, 0.06803197, 0.19322868, 0.00067282916, -0.03147434, -0.009916093, -0.010718826, 0.007261923, -0.09866745) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.012612036, -0.36172625, 0.007360322, 0.050794546, -0.0768518, -0.1023776, -0.07836455, -0.010588464, 0.03375399, 0.09091005, 0.016605219, 0.003073773, -0.005915814, 0.011115304, 0.011031256, -0.032141004) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.040264867, 0.056166098, 0.067857966, -0.024915492, 0.02896885, 0.0013846442, -0.053306405, 0.0061537307, -0.022135386, 0.0060020755, 0.04185865, -0.002316851, 0.06281611, 0.030804424, 0.006757632, 0.034999084) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.044974294, -0.0680236, -0.024075756, 0.026468124, 0.028456759, 0.11626725, -0.08500477, 0.092178054, 0.0407912, 0.0089175245, 0.13235664, 0.05310718, -0.01167591, 0.037841197, -0.11626772, -0.013617577) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.0009992144, -0.20808631, 0.048897725, -0.078093745, -0.03530866, 0.007871029, -0.0015553632, -0.02031194, 0.07696782, -0.19675818, 0.097943366, -0.00891426, -0.06030611, -0.591377, -0.018262625, -0.03814167) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.087099224, 0.017754067, 0.018233443, 0.022235364, 0.070678644, -0.018609673, -0.06476866, 0.08449504, 0.0131565565, 0.019863885, 0.060558204, 0.119030386, 0.024452072, 0.029187439, 0.029962128, -0.08427032) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.015235641, -0.08733087, -0.07811121, -0.05997136, 0.11102645, 0.035952196, -0.022078108, -0.06960277, 0.003878802, 0.12779161, 0.032756925, 0.078808926, -0.07426487, 0.16167976, -0.04301175, 0.015743926) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.0027633547, -0.49470168, -0.046164952, -0.0731074, 0.003536955, -0.243467, 0.019057155, -0.03567277, -0.13598314, -0.3546155, -0.11748925, -0.036309555, 0.054259248, -0.04384689, 0.12215121, 0.025073994) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.090734564, 0.0331172, 0.030022278, -0.09332564, -0.008971093, 0.090078026, -0.052420095, 0.0038724705, -0.013568642, 0.0059830304, 0.026380392, -0.02125755, 0.07682214, -0.113920465, 0.01773222, -0.03772212) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.007567446, -0.22034419, -0.041851576, -0.030806117, 0.06562655, 0.011196453, -0.017002476, -0.026220169, -0.04263944, -0.02194364, 0.03429419, -0.10005334, -0.0966684, 0.09255646, -0.013114592, -0.031713717) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.025696967, 0.25371197, 0.082253315, -0.118728004, 0.0620216, -0.048623223, -0.0075309062, 0.017814992, 0.108730674, 0.38648295, -0.0035926711, 0.039258786, -0.024442594, -0.0013070817, -0.028597599, -0.032654546) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.07114723, 0.009815031, 0.042604826, 0.031808466, -0.14675556, 0.005315628, 0.036192738, -0.11933927, -0.043950055, -0.006120088, -0.020338828, -0.087121114, 0.008994244, -0.0020596823, 0.011450175, 0.018520156) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.015456008, -0.014478573, 0.04326583, 0.03644521, -0.1367447, 0.06608193, 0.04011906, -0.07957221, -0.03168912, 0.1067895, -0.014596211, -0.013284609, -0.037385665, -0.12235948, -0.030036425, -0.061901156) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.006855855, -0.40146473, 0.011045726, 0.010526786, -0.16583824, -0.70525604, 0.024128726, -0.08053066, 0.01705261, -0.118243925, 0.05153937, -0.0034368439, 0.054545894, -0.018481169, 0.0863477, -0.08460464) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.028467186, 0.010208391, 0.013139722, -0.052420452, -0.010899076, 0.050624605, -0.0102726575, -0.17362532, 0.10488927, -0.23920226, -0.020434188, 0.076169975, 0.022050932, -0.013161934, 0.1120727, -0.09481563) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.043467194, -0.046632685, -0.07436661, 0.021629626, -0.056559738, 0.0918293, -0.079350896, -0.12233973, 0.15706305, 0.028824322, -0.025938032, 0.04982511, 0.020648902, 0.18747896, 0.08372415, 0.0015184315) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.009508426, -0.28851503, -0.10119099, 0.015206087, 0.009606005, -0.19417383, 0.038202662, -0.09793787, -0.07283871, 0.3518289, -0.013113602, -0.0071252687, 0.07038455, 0.22495575, 0.038298056, -0.024141666) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.04749289, 0.011216882, 0.024100047, -0.027565194, -0.11246689, -0.095956616, 0.03402742, -0.05412083, 0.016260013, 0.026673188, 0.031321768, 0.03641605, -0.062141996, -0.016679559, 0.018101402, -0.026317598) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.02093392, -0.017347148, 0.019193506, 0.08074091, -0.043394342, 0.08268158, 0.059767723, -0.12119437, 0.008635602, 0.18315537, -0.0526966, -0.02855999, 0.034147404, -0.15878667, 0.07259442, -0.03030957) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.03455299, -0.015534731, 0.0002845174, -0.039707836, -0.0486724, -0.6173545, 0.09348502, -0.11721769, -0.010323047, 0.12721458, -0.054353256, -0.019327696, 0.16367581, -0.0806225, 0.0094572995, 0.05866686) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.041249435, -0.024041865, 0.009835721, 0.0061319824, -0.005082364, -0.022245813, 0.04531576, 0.0061081154, 0.025031492, -0.15338701, 0.006966874, -0.05983692, 0.04313273, 0.14482291, 0.032091897, -0.034206316) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.09721856, 0.12713702, 0.016483074, 0.03212307, -0.049151875, -0.04702829, -0.022988932, -0.10647255, -0.13135609, 0.012612649, 0.013935606, 0.016068326, -0.0023363314, 0.07883456, -0.026320295, -0.023248572) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.15044288, -0.14202249, -0.006131538, 0.08399841, -0.027138194, 0.037407275, 0.035927113, -0.07265002, -0.04095669, -0.5990158, -0.008224024, 0.060369145, 0.0021189395, -0.2096754, 0.036404334, 0.056585215) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.08491714, 0.0057171397, 0.089527376, 0.030795436, -0.029818984, -0.0058527356, 0.008313074, -0.041704964, -0.061729815, 0.18328175, -0.005503143, 0.012168882, 0.033219174, -0.02815974, -0.018592006, 0.013164104) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.047255702, 0.09169221, 0.060747728, 0.02280022, 0.0008416139, -0.015350163, 0.005069046, 0.049448136, -0.041426398, 0.019266313, -0.042808425, 0.03296911, -0.009722616, 0.1284403, -0.03130015, 0.046757407) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.038540877, -0.075064376, 0.030594876, 0.09348764, 0.035012025, -0.09712475, -0.006589732, 0.10030764, 0.045477357, -0.116151296, 0.045642607, 0.07652333, 0.035127897, -0.43110815, -0.013072722, 0.032458235) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.00144866, -0.019755565, 0.055150766, -0.006370296, -0.044101845, -0.1365582, 0.043684684, -0.03371961, 0.019444581, -0.084569626, 0.0029301948, -0.15641409, -0.0221516, -0.12615481, 0.016751066, -0.0017151404) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.023865324, 0.12553476, 0.041682158, 0.047192104, -0.033835515, -0.18305019, 0.00612117, 0.1282394, -0.056013256, -0.02272026, 0.07114037, -0.080235, 0.007939856, 0.11287023, 0.017584722, 0.033576272) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.014767476, -0.1551186, 0.08893291, -0.034217365, -0.015735222, -0.09581958, 0.013326061, -0.017577937, -0.01719238, -0.095985144, -0.03538371, -0.11301956, 0.017364478, 0.23848978, -0.10759406, 0.042781465) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.05104917, -0.007135644, 0.04861936, 0.02568213, -0.030346094, 0.06094315, -0.024377221, -0.050673123, -0.092039905, -0.11361368, -0.04203074, -0.011691558, 0.06713048, 0.12833393, 0.0769178, 0.029689489) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0102630425, 0.057911377, 0.079774685, 0.085982025, 0.022757804, 0.01812026, -0.0069408724, -0.045502838, -0.03891783, 0.102442026, -0.0013620395, -0.08221829, -0.019623406, -0.026273422, -0.0054899524, 0.06589516) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.03592547, -0.24518867, 0.013576374, 0.010220509, 0.0012340249, -0.46090606, -0.013393177, 0.07601117, 0.035986964, -0.2824564, 0.0263875, -0.07075014, -0.04460627, -0.1353678, -0.00040110885, 0.068376094) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.022415921, 0.060945954, -0.07646335, 0.14181918, -0.052727085, -0.13413966, -0.036707524, -0.023801615, 0.00075022737, 0.20210858, 0.021796184, -0.12830791, 0.038317516, -0.16118965, 0.013710686, 0.009445666) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.1487324, 0.075883366, 0.0153384935, 0.19765702, 0.021808024, 0.11636403, -0.12156365, -0.024646, 0.061347462, 0.08533535, -0.07918099, -0.0749103, 0.08033888, -0.15301721, -0.009327648, 0.062276326) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.063309476, 0.052364655, -0.06642198, 0.09031255, -0.030939233, 0.060143147, -0.030875081, -0.03928308, -0.034965795, -0.05413141, 0.07490059, -0.11615071, -0.08460739, -0.2090655, -0.027963271, 0.07294901) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.01136829, 0.01959363, -0.024394508, 0.076030366, -0.012072871, 0.07764036, -0.026635138, 0.061273694, -0.02037742, 0.01980664, 0.0034879504, -0.035796046, -0.06951053, 0.1180355, -0.065624125, 0.0069345534) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.031299617, -0.011814126, 0.0032626109, -0.038451567, 0.022049524, 0.107003465, -0.08415847, -0.010123594, -0.05360991, 0.093996726, 0.09135406, -0.028682537, -0.03876176, 0.13292068, 0.044119354, -0.092262916) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.07430533, -0.074357174, 0.016679721, -0.077125765, 0.05332765, -0.25683093, -0.04959884, 0.023626534, -0.032135237, -0.09517201, 0.033806078, -0.02488559, -0.07125217, 0.10610193, -0.021495, -0.07873476) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.093365826, -0.010972027, -0.024142984, 0.11644449, 0.011499283, 0.106402084, -0.0063597606, 0.06198783, 0.019853728, -0.06634829, -0.037164252, 0.047073685, -0.02228677, -0.046874024, 0.1129112, -0.13632454) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.010339084, -0.12625273, -0.016088795, 0.069963664, 0.015870772, 0.086536385, -0.0179943, 0.039168548, 0.10614821, 0.003864355, -0.1242941, 0.03649972, 0.07085007, -0.011262698, 0.04409373, -0.1319026) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.03800036, -0.57914186, 0.0356946, -0.0057229414, -0.09903625, -1.3088763, 0.032917574, -0.0110374745, 0.0013907407, -0.31959823, 0.012418086, 0.016510688, -0.04218967, -0.07628236, -0.001814182, -0.10061288) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.046443213, -0.050771642, -0.050326243, 0.07479072, -0.045556773, -0.05683619, -0.057064436, -0.04269895, 0.019668639, 0.092314035, -0.03726757, 0.049748544, 0.03778402, -0.013759232, 0.047589898, -0.17512159) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.003636057, -0.13513543, -0.05275785, 0.11715509, 0.10321991, 0.05811811, 0.0022477855, 0.03312204, -0.029094787, 0.19621731, 0.038262073, -0.20879546, -0.1455094, 0.030719409, 0.0062324903, -0.19269879) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.021267101, -0.19611599, -0.036208265, -0.0844125, -0.049282122, 0.19184484, 0.019754674, -0.084411815, -0.10611166, -0.3612199, 0.02719195, 0.0070396145, -0.031364966, -0.113234274, 0.032447863, -0.046123665) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.04757718, 0.039923664, -0.017325414, -0.011035005, 0.021608615, 0.07529014, -0.0021377213, -0.061068844, -0.087480396, 0.032727808, -0.0121359145, -0.12110005, 0.032599594, -0.026188323, 0.06866269, -0.16430399) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0060594874, 0.051548127, 0.020940185, -0.104202606, -0.0014893691, 0.12802643, -0.022637842, -0.0100287385, 0.052910883, -0.22741987, 0.014683845, -0.02055562, -0.079601526, 0.06609356, 0.11922961, -0.33044636) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.016509173, -0.104372576, -0.013693677, -0.15762967, 0.0074020685, 0.25686184, 0.055697076, -0.07214819, 0.030155253, -0.35310283, -0.043432593, 0.051360834, -0.11972009, -0.21784566, -0.041562054, -0.100954756) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos4 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(4, 0); + imageStore(out_image, store_pos4, max(result4, V4(0.0))); + V4 result5 = V4(-0.007896668, -0.0039458103, 0.0026883641, -0.0024681427); + result5 += M4(-0.058632888, 0.05055347, 0.002279876, 0.06251236, -0.094024, -0.088542335, 0.040489867, 0.036308546, 0.00042012057, 0.019464351, 0.027509648, -0.039152686, 0.040113494, -0.064713076, 0.0060069314, 0.004524586) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.044895615, -0.09378975, -0.014480465, 0.04038992, 0.04338044, 0.055958603, 0.1083325, -0.00048550902, 0.01962582, 0.009513529, 0.011612538, 0.015135154, -0.009615807, -0.085106395, -0.007304606, 0.106006056) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.04629562, 0.06201749, 0.0178472, 0.062569216, -0.078922644, 0.01715154, 0.0057672467, 0.022419086, 0.052560214, 0.020723838, -0.019194605, 0.11039461, -0.07733407, 0.108110726, -0.004168138, -0.0069920667) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.0026184996, 0.23636504, -0.05094208, -0.06831275, 0.07495803, 0.03875445, -0.03884385, 0.04597469, 0.036856588, -0.04336165, -0.009954445, 0.04425811, 0.0030858913, 0.017101513, 0.045036707, 0.010756279) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.031394545, -0.14084513, -0.04195571, 0.049792316, -0.01803687, -0.08963545, 0.040424235, -0.08644156, -0.017704843, -0.10043315, 0.02564672, 0.07825288, 0.036647893, 0.039722994, 0.053002365, -0.017154206) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.030319892, 0.14799279, -0.055032723, 0.11034247, -0.04270569, 0.07265783, -0.038303398, 0.020328267, -0.09343033, -0.08326003, -0.03184451, -0.002071529, 0.026191695, 0.049850278, 0.0139996605, -0.00807946) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.020671971, 0.0077967346, -0.017851753, -0.09454495, 0.02453817, 0.055504825, 0.029263876, 0.013539105, 0.028382692, 0.13356541, 0.013635786, -0.050446898, 0.033298597, -0.04710936, -0.0027537781, -0.025797853) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.010628425, -0.26611555, 0.027822034, -0.037192315, -0.0067162244, -0.025860777, 0.005567734, -0.035048366, 0.045180142, -0.032384645, -0.0035604127, -0.029973373, 0.06683765, -0.030991944, 0.05235538, -0.0024299459) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.036483735, 0.097960666, -0.040907513, 0.0046350136, 0.047667146, 0.011671389, -0.005976736, 0.0036643085, -0.02076932, -0.008157492, 0.036021143, 0.06295264, -0.0671253, 0.13413553, -0.013021121, -0.022507392) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.034125064, 0.047898863, 0.051208828, 0.01314674, 0.008405442, 0.027489604, -0.0018663963, 0.09954608, 0.037789144, 0.045637835, 0.0008856454, -0.07084205, 0.010582125, 0.015603786, -0.03523708, 0.019099785) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.028994732, -0.14492789, 0.102842316, 0.08011458, -0.0042894664, 0.025490258, -0.004309482, -0.019818852, 0.04847569, -0.038484685, 0.005771128, -0.03778164, 0.027546898, 0.0028346877, 0.018665286, 0.04926732) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.08831608, -0.13959448, 0.037712853, -0.057732366, -0.01786939, 0.02543522, -0.05072902, 0.0040795896, 0.019916466, 0.113739066, -0.012593153, -0.037081666, 0.024369845, -0.034064308, 0.018979082, 0.017255515) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.08530125, -0.057761073, 0.035766598, -0.10956983, -0.062941685, 0.137845, -0.039027702, 0.029427135, -0.050776187, -0.14360471, -0.07709, 0.05269017, -0.0016471518, 0.032635525, 0.005233849, -0.059031796) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.10135604, -0.037931815, -0.054355957, -0.05779871, 0.04640834, 0.15756111, 0.0022086864, 0.0068652816, -0.013869576, -0.29764456, -0.08070844, 0.014434643, -0.019046407, 0.014679402, -0.122668, -0.071568415) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.059402462, -0.02677498, 0.014383633, -0.0029164157, 0.13549355, 0.076066695, -0.01489978, 0.07949649, 0.0069735474, 0.02916583, -0.005436813, -0.023021823, 0.013158367, 0.078461744, -0.050012875, -0.03674447) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.049835823, 0.057166822, 0.03790692, -0.025375675, -0.022125484, -0.028352294, -0.013781015, 0.016274845, 0.03724362, 0.06520191, 0.018084792, 0.038188975, -0.019158075, -0.05288042, -0.0008199176, -0.052913573) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.079175554, 0.018138021, 0.03235582, -0.012755845, -0.010030547, 0.0067303674, -0.02984568, 0.11535797, -0.06649395, 0.017586594, 0.00941551, -0.068018496, -0.04192317, 0.08257431, -0.023611087, 0.05463326) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.015782798, -0.040748954, 0.0066392412, -0.10888566, -0.049430512, 0.0700738, 0.0025213629, 0.037068695, -0.058383048, 0.030395292, 0.006909112, -0.07152679, -0.11574852, 0.016562877, 0.010017695, 0.006044874) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.0054047075, 0.044633515, -0.017034663, 0.002456047, 0.10681012, -0.01622318, 0.018143315, -0.0030163054, -0.1281111, -0.011745114, 0.03442355, -0.029161882, 5.008995e-06, -0.100245535, 0.025666509, 0.024407761) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.0036276067, 0.17884347, -0.015626963, -0.024419637, -0.04314955, -0.042229183, -0.010778925, -0.048493247, -0.051035415, -0.118581206, -0.05042336, -0.0076942006, 0.13434952, -0.10815711, -0.0016569481, -0.023340117) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.031345714, 0.0071293404, 0.045459103, -0.0490841, 0.021283358, -0.0017207395, 0.017942823, -0.057623863, -0.022578536, 0.06580286, -0.022257887, 0.028879791, 0.10772183, 0.061290305, -0.033173937, 0.03732757) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.012209301, 0.08420006, -0.041543283, -0.11127583, -0.025552046, -0.14868757, -0.0011534691, 0.11899171, -0.0605329, -0.10062766, -0.014002993, 0.013813426, -0.02834185, 0.21800047, -0.012476228, -0.05773331) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.046283, -0.052794777, 0.015874654, 0.0011986945, -0.13474551, 0.039240353, -0.06617222, 0.08476251, -0.0052812877, -0.0706816, -0.008374616, -0.0041472134, -0.008699904, 0.010460473, -0.035869516, -0.06382042) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.027320633, -0.054991156, -0.043266796, -0.0006087155, 0.03667574, -0.0075276415, 0.0036635173, -0.03279784, -0.023821134, -0.057164818, -0.071892835, -0.017910866, 0.11645164, -0.21584566, -0.008156089, 0.073217906) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.084739275, -0.0915656, -0.023047123, -0.029154234, -0.003837523, -0.11615021, 0.07352459, 0.07299754, -0.050227754, 0.07994529, -0.025613248, 0.0024733897, 0.044150833, 0.025270063, -0.034549303, -0.00039884503) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.033951893, -0.10921471, 0.038027458, -0.03489394, -0.05631161, -0.003996368, -0.06552184, 0.04836718, 0.0048860377, -0.07005502, 0.06673405, -0.04541218, 0.008107959, 0.0658968, -0.013812494, 0.10400884) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.024402808, -0.026482452, 0.043582052, 0.02227165, 0.06951101, -0.054739844, -0.013307042, -0.048284534, -0.025870629, -0.03858659, -0.08194363, -0.004417658, 0.18756126, -0.054179136, 0.019101836, 0.06583426) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.10496322, -0.07340198, 0.0574556, -0.07566012, -0.049967468, -0.008130119, -0.0021759877, -0.020145798, -0.004361392, -0.07062217, 0.00020275824, -0.002022589, -0.03160541, 0.02418372, -0.030149931, -0.034672383) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.06625566, -0.07943762, 0.040480603, 0.0030746465, -0.04064985, -0.06361734, 0.05405436, 0.01932206, -0.037739217, -0.022064583, 0.0034900818, 0.04449909, 0.043038044, -0.014799627, -0.028451528, -0.089460894) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.025587896, -0.03998979, 0.03285062, -0.088070944, 0.037725158, 0.024638271, 0.033480037, 0.023519779, 0.11819552, -0.10811294, 0.02430266, 0.01499282, -0.053343255, 0.004109654, -0.03402168, 0.06384965) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.044042103, 0.018057825, -0.058059104, 0.014748137, -0.10247047, 0.08180735, -0.06716894, -0.07173796, 0.012414359, 0.14175805, -0.02156334, 0.013727305, -0.051178917, 0.038649857, -0.08235091, -0.013702939) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.16522105, 0.05358681, -0.0030253856, 0.054266814, -0.032436308, 0.035084516, 0.08693562, 0.057329692, 0.17043078, 0.121496946, 0.049335152, -0.039060928, 0.057156235, 0.10942753, 0.0693341, 0.04824294) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.02753873, -0.089388594, 0.0066277753, -0.03346108, -0.029262144, 0.11950411, 0.001291736, -0.027637593, 0.1388454, 0.14381015, -0.043404773, -0.013002717, -0.043480236, 0.10541183, -0.036206666, -0.04103048) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.08470875, -0.057048358, 0.046188604, 0.031731118, -0.08977115, -0.02014583, -0.008551536, -0.043280054, 0.03599322, -0.11555969, 0.006509384, 0.022441769, 0.054093532, 0.024359109, -0.043571185, 0.027084427) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.054879762, -0.056938913, -0.042866908, -0.053038068, -0.06736709, -0.12533571, -0.0065495833, 0.044546712, 0.00616219, -0.017087664, -0.031611517, 0.021539936, -0.0154873235, 0.022100704, 0.01676574, -0.010054986) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.049083345, -0.10266528, 0.0067945104, 0.0073063807, -0.057730943, 0.05802088, 0.017312305, -0.047171514, 0.11006977, 0.029730864, -0.002144943, -0.03345589, -0.077167794, -0.0032898558, 0.019837067, -0.013153866) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.008339145, -0.020411437, -0.01915613, 0.014888218, 0.07508, -0.03766244, 0.007250396, 0.023330918, 0.014284494, -0.069497466, -0.024979556, -0.019838085, 0.047969345, -0.005339376, 0.025329392, 0.12729992) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.081189096, -0.05126671, -0.023401251, -0.032728024, -0.027064474, -0.1968803, 0.03509443, -0.025686515, 0.0064954646, -0.077530764, -0.0054693604, 0.009219676, 0.01715533, -0.015472868, -0.0132728685, 0.11048942) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.07174404, 0.056620724, 0.0126998015, -0.122316085, 0.061526664, -0.13834107, -0.014612296, -0.06708739, -0.0386526, 0.002996943, 0.011452151, 0.006575808, -0.07456697, 0.051522296, 0.03853353, -0.055995498) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.088429585, -0.0019774318, -0.013450368, 0.06933111, -0.026392605, -0.12949294, 0.021621125, 0.046414766, -0.02670638, 0.052928332, 0.045472737, -0.016308486, -0.024143873, -0.0214124, 0.00673677, 0.0008426832) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.06481759, -0.008948176, -0.0039719855, -0.0046411445, -0.030545972, -0.30336943, 0.022365313, 0.055533446, -0.10615541, 0.09801485, 0.110178374, -0.037944958, -0.05612613, 0.008352702, -0.027287621, 0.096214116) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.095475174, 0.054002795, 0.0032788012, -0.057189, 0.052715156, -0.10357886, -0.0043137507, 0.024142897, 0.13442388, -0.09156153, 0.0091201225, 0.02155082, 0.024288341, 0.020281108, 0.054753214, 0.052756198) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.0127241695, -0.021986268, -0.0033693907, -0.022363955, 0.050414395, 0.028937103, -0.0009179078, 0.014059349, -0.07241603, 0.116942145, 0.013334344, 0.049098182, -0.012175416, -0.010999352, 0.042217407, 0.056676067) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.027220096, 0.09317096, 0.038125962, -0.09999618, 0.014694421, 0.029327713, 0.0023287681, 0.046445765, 0.0045390534, -0.008102954, -0.039316647, 0.009384305, -0.055570073, 0.0055661225, -0.012265247, 0.053492583) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.04990333, 0.08803433, -0.043762278, -0.15210594, 0.039671086, -0.05994781, 0.05172733, 0.084425546, 0.09825696, 0.004956259, 0.009085544, 0.03971733, -0.0790334, 0.012927015, -0.008507133, 0.0720367) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.0209914, 0.027087757, -0.03452176, 0.090809084, -0.05698767, 0.08184144, -0.058918715, 0.00083143776, 0.03939704, -0.061676614, -0.021030862, 0.07330388, 0.0762983, -0.05312156, -0.015406377, -0.04531005) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.033327892, 0.03499924, 0.015310199, 0.040461104, -0.03925601, 0.11007165, -0.0061434153, -0.012103665, -0.10875242, -0.03121945, -0.033967916, -0.0361867, -0.010290216, -0.14941931, -0.019599067, -0.031127775) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.026167113, 0.020870125, -0.031959508, 0.052815285, 0.117547214, -0.06439892, -0.025355084, 0.019441556, -0.10485767, 0.06174717, -0.06079135, -0.06899685, -0.20490424, -0.04902346, 0.013398266, 0.006390147) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.074564114, 0.006052402, -0.020064449, 0.05978541, 0.07916341, -0.010060311, 0.049786862, 0.018042935, 0.008825587, -0.012159945, 0.038560428, 0.06368634, -0.0038906673, -0.005106271, 0.016091809, 0.02298915) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.01919042, -0.006848169, 0.04655904, 0.15797973, -0.035270117, -0.1100229, -0.057673633, 0.025371108, 0.03442221, 0.2160154, 0.041088276, 0.0822301, 0.11877798, -0.040746737, 0.106405504, 0.029945187) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.056839786, 0.06629693, -0.06537683, 0.09972992, 0.058160163, 0.048089873, 0.07899499, -0.053041093, -0.16499798, -0.074046835, 0.012640291, 0.054097094, -0.16197115, -0.06537729, -0.0035627142, -0.017934972) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.00856878, 0.054560166, 0.01740349, 0.061825655, 0.07430267, 0.004657485, 0.051917337, 0.11761621, 0.03792339, -0.16522424, 0.005142488, -0.008602713, 0.038974266, -0.063149445, 0.028993348, 0.03261409) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.021922214, 0.072605394, 0.08797638, 0.033616748, -0.06664017, 0.13923427, 0.010175934, -0.003252083, -0.010231997, 0.03210563, 0.0433597, 0.01205486, 0.022060711, 0.094930194, 0.020192014, 0.044060234) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.019619457, -0.0017871087, 0.008310071, 0.0779596, 0.11610639, 0.06972875, 0.02963945, -0.031081202, -0.14466588, -0.06677918, -0.053736318, 0.014847356, 0.05711067, -0.05763583, -0.03211008, 0.07075154) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.03836729, 0.039266158, 0.0056794886, -0.038519744, -0.012966393, -0.03033453, -0.016349487, -0.02922185, 0.0034478286, 0.044166032, 0.035199974, -0.109382346, -0.0066230395, -0.0059641376, 0.036687277, 0.050932586) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.0110331075, 0.14587492, -0.043023326, -0.032639198, -0.046591673, -0.06621099, 0.017554002, 0.050619405, -0.09044288, 0.069467604, -0.0020655978, -0.026335975, -0.028880285, -0.026207034, -0.018944964, 0.07932727) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.09523394, 0.16506691, 0.004918748, -0.025860082, 0.005273867, -0.06293472, 0.022070128, -0.016902246, -0.061740246, -0.05790665, -0.011105001, 0.061310627, -0.09980412, 0.02562133, -0.022050967, -0.061998803) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.009620468, -0.012721741, 0.047117807, 0.020896787, -0.034859978, 0.03283965, -0.01670452, -0.07251509, -0.07052757, -0.1807255, 0.03232653, 0.06966703, 0.03948902, -0.12323907, -0.019187905, 0.0053944536) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.017669, -0.011170376, 0.022949092, 0.052442856, 0.051418737, -0.032090314, -0.0058903894, 0.01210898, -0.01881085, 0.023771144, 0.05295733, -0.096425526, -0.01133501, 0.048861418, -0.06339119, 0.0037583588) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.06795007, 0.085190706, -0.004485885, -0.0023452565, -0.047257792, 0.10250132, 0.033925477, -0.08647994, -0.09011357, 0.06887286, -0.06746365, -0.076247334, -0.04304664, -0.105732836, 0.030593183, -0.08419104) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.012172814, 0.05773958, -0.013079164, 0.056897912, -0.043939542, 0.016118811, -0.03616505, 0.04489046, 0.00716493, 0.07949882, 0.027111962, -0.04351634, -0.012874477, -0.03912666, -0.010005893, -0.08017126) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.03823799, -0.07190807, -0.0022352638, 0.012253917, -0.1344095, -0.09454984, -0.050712083, -0.06941001, 0.062260248, 0.032803785, -0.02575114, 0.016813383, 0.009671715, -0.058579724, -0.008696786, 0.097553946) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.083702095, 0.08923144, -0.0017379372, -0.05656382, -0.051679257, -0.051154308, 0.0341453, -0.06815856, -0.11064068, -0.031690504, -0.015564709, -0.054407816, -0.026374135, -0.06868988, 0.0184305, -0.014708122) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.03209019, -0.05669483, -0.015230475, 0.052032143, -0.05775836, 0.015323776, 0.041840754, -0.057138987, -0.028329507, -0.051734768, -0.038674183, -0.082348555, 0.05610918, 0.081447646, 0.001940533, 0.03890205) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.025707675, 0.0807891, -0.010127375, 0.03648397, 0.11049874, 0.014021386, 0.029942134, 0.06743733, -0.031198435, 0.03588012, 0.06364471, -0.13680933, 0.12829754, -0.00061504915, 0.024954192, -0.07289013) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.037087377, 0.035945002, -0.02151292, 0.08336403, 0.011813139, -0.07137634, 0.006289841, 0.01884602, 0.1488917, -0.0381887, 0.0009064953, -0.0036362514, -0.026800495, -0.10593942, 0.014704048, 0.058010828) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.058657784, -0.07794788, 0.06814612, 0.051578168, -0.014001689, 0.008544181, -0.021115987, -0.0039464408, -0.10895844, 0.10265642, 0.007933664, 0.032431547, 0.039344225, -0.09396181, 0.03481167, -0.062159464) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.030189296, 0.016404282, 0.007839018, -0.0662005, 0.032314222, 0.23032597, -0.02787481, -0.02337977, -0.03932377, 0.041762874, 0.013128221, 0.12197807, 0.05833704, -0.02083231, -0.007048568, -0.014344274) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.06241779, -0.04029617, 0.072974324, -0.024263276, 0.09038449, -0.04282705, 0.04226173, 0.07724734, -0.22422394, 0.11471248, 0.04427276, -0.05624473, 0.03613298, -0.06125761, 0.02880148, -0.021686679) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.08129253, -0.04971023, 0.01633411, 0.08104179, -0.06676472, -0.08282834, -0.0354008, -0.04255127, -0.02912327, -0.021444712, -0.00508618, -0.11365736, -0.010647502, 8.754985e-05, -0.03826378, -0.05531334) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.026307719, 0.123988345, -0.10848296, 0.056098342, -0.112687, 0.010693964, -0.032641288, 0.045386784, -0.031296022, -0.08414078, -0.00940098, -0.17378506, 0.101926476, 0.026596783, -0.03369573, -0.039993748) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.064235106, -0.015592889, -0.009021254, -0.12525405, 0.02358689, -0.03792194, -0.0056757675, -0.05701566, 0.10544747, -0.030641397, -0.017392984, 0.085357055, -0.08640952, -0.14240251, -0.061408874, -0.056589026) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos5 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(5, 0); + imageStore(out_image, store_pos5, max(result5, V4(0.0))); + V4 result6 = V4(-0.0060613896, 0.00046012708, 0.0033240172, -0.002245667); + result6 += M4(-0.058292672, 0.04051689, -0.019931613, -0.00822875, -0.025578061, 0.026534094, 0.10375677, 0.039718304, -0.0153359985, 0.0002860817, -0.10851981, -0.04868329, -0.022411212, -0.0066013956, -0.07272248, 0.034449577) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.12702101, 0.044098128, -0.05190899, 0.053121857, 0.01978377, 0.021926573, -0.047610566, 0.05459901, -0.07035281, 0.04409971, 0.037775293, -0.025748339, 0.028101757, -0.04574432, -0.019560734, -0.05131202) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.012247808, 0.04857899, -0.056433607, 0.0008014985, 0.00789559, 0.0341811, -0.028242482, -0.03001052, 0.014104565, 0.035440467, -0.0065380107, 0.05418814, 0.04330012, 0.019665845, 0.011403548, -0.07418194) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.08386268, -0.0960037, 0.016704397, -0.08300899, -0.109969154, 0.06982458, -0.079438575, 0.009801395, 0.012032729, 0.03450857, -0.060915064, 0.0031042881, 0.002151841, -0.011730578, -0.040341683, -0.06917363) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.08360487, -0.052823536, -0.05257652, 0.00776844, 0.07913902, -0.029279575, 0.044662382, 0.09333503, -0.021912836, 0.05401634, 0.0070351325, 0.039686814, 0.0113604665, 0.0071679964, 0.116549455, -0.014032234) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.02863145, -0.030058036, 0.0055827475, 0.048155412, -0.02977801, -0.02322994, 0.01261966, 0.02938777, -0.03300528, 0.071100116, 0.050886545, 0.03667185, 0.041301362, -0.01194574, 0.04144121, 0.004477943) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.03433001, -0.011217196, -0.02429581, 0.027088128, -0.090729624, 0.05733697, 0.0061417473, 0.035739053, -0.02563721, 0.019649867, 0.005413577, -0.020556103, -0.06940702, 0.04491822, 0.09684209, 0.05930308) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.02273419, 0.010615911, -0.0129603585, 0.025834309, -0.020300558, 0.04222133, -0.027771953, 0.0002243457, 0.051133327, 0.014052639, -0.05412377, 0.004097774, -0.11749443, 0.0017041735, -0.011238157, 0.03491389) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.036684893, -0.010065615, 0.006268485, 0.004127077, 0.018695, -0.013235055, 0.022134185, -0.053945877, -0.08122635, -0.0071430453, -0.015808977, -0.09017149, 0.03716316, -0.025758225, -0.0037428755, -0.10684333) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.01881137, -0.05924625, -0.0012130094, -0.086641036, -0.0011591051, 0.008058652, -0.085367315, -0.009038891, -0.045717224, 0.04131177, -0.009103661, -0.055809703, -7.86773e-05, 0.002421726, 0.0404376, 0.0023243246) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.034953967, -0.004179669, 0.042066477, 0.0903596, 0.029007224, 0.05782741, 0.027146846, -0.01215312, -0.005506172, 0.007712225, -0.033749837, 0.07416104, 0.0750538, 0.033216335, 0.055064943, -0.0024215) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.0054292227, 0.07876851, 0.0811622, 0.13790862, 0.00032598764, 0.019047214, -0.03621719, -0.011594392, -0.027265618, 0.00648921, 0.044510666, -0.020785334, -0.04363156, -0.06067503, 0.026461935, -0.0011320581) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.22466524, -0.0029547287, 0.010164509, 0.06221122, 0.059903212, 0.058934253, -0.059617575, -0.017791681, 0.030989612, 0.021925045, -0.08521588, 0.060469795, -0.023836259, 0.013895613, -0.01076306, 0.054870628) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.040419802, -0.040355496, 0.105515875, -0.050358668, 0.026187511, 0.04188391, -0.01950513, -0.06409534, -0.00037487657, 0.096078224, -0.06457033, 0.067760706, -0.008902005, -0.05725344, 0.052133683, -0.084063254) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.11817002, 0.012493775, -0.03546439, -0.02053148, -0.0011856977, -0.015577243, -0.06926669, -0.0010486944, 0.0448515, -0.024822807, -0.00522611, -0.011749172, -0.042393293, 0.031310663, 0.0042772205, 0.015903644) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.13479543, -0.015562308, 0.023940707, -0.049183562, 0.012915587, 0.030927647, -0.08906104, -0.090577275, 0.049334522, -0.007368721, 0.05195515, 0.026894191, 0.018562797, -0.0067711426, 0.017237153, 0.028376177) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.013332824, -0.02861124, -0.0135165425, -0.0025134897, 0.031601083, -0.026573587, -0.08718148, -0.08832673, 0.0045547104, -0.10031974, -0.05885651, 0.02672521, 0.025528023, 0.028620036, -0.015995251, -0.01805928) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.17345375, 0.032915194, 0.06358913, 0.03757916, 0.06110614, -0.06112149, -0.14182551, -0.07460671, -0.06422519, -0.014169499, -0.013935788, 0.027886534, 0.03600501, -0.025713332, 0.035102952, -0.030048896) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.09211228, -0.012422564, -0.09483653, 0.059981406, 0.017607268, -0.029154832, -0.0304697, 0.0068165646, 0.008708909, -0.022510968, 0.018114567, -0.067506984, 0.024309669, 0.005309854, -0.0050635645, -0.010199935) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.04544426, -0.022621125, -0.059812624, -0.006528929, -0.014546538, 0.0006351246, 0.040394433, 0.07098924, 0.06037745, -0.08145598, 0.04878267, 0.0068809222, 0.0437658, -0.0069423974, 0.027544318, 0.010392455) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.017893756, -0.044913016, -0.051055897, -0.047202297, -0.018117405, 0.0006441543, 0.028194219, 0.03922136, 0.05751671, -0.0037851962, 0.0061333533, -0.0899815, -0.034326438, -0.01846603, 0.017805366, 0.12803826) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.08999621, 0.00059796346, 0.050812274, 0.0054880306, -0.11683178, 0.046195246, 0.043798186, -0.04005441, -0.022159958, -0.020595016, 0.09071917, -0.07628923, -0.05725344, -0.05522714, -0.0326998, -0.039884966) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.057095874, -0.05149063, 0.0577852, -0.010172552, 0.049389623, -0.078343205, 0.08926204, -0.02946453, -0.0140764695, 0.022682905, 0.008097809, 0.081331864, 0.092106834, 0.07466943, 0.078941986, 0.052391164) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.033119317, 0.030479992, -0.012194602, -0.02762503, -0.031791262, -0.025200814, -0.009535011, 0.07114768, -0.04982343, 0.0018681342, -0.01611675, -0.06346432, 0.06711045, -0.025391582, 0.06701618, 0.111612305) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.028802745, 0.00364334, 0.037064422, 0.028007066, 0.072213285, -0.021245122, 0.02685786, 0.050698593, 0.03811127, -0.03183609, 0.045038972, -0.046853706, 0.05279563, 0.054284476, 0.020041784, 0.0088646915) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.039378926, 0.02462888, -0.027325371, 0.018042447, -0.049631182, 0.05757693, 0.08403082, -0.017636461, 0.022964241, -0.022100113, 0.09037099, 0.0985961, -0.08046506, -0.014959862, -0.08729836, -0.055225935) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.04686182, 0.0070020906, 0.016588515, 0.02913266, -0.10384798, -0.037643887, -0.07448244, -0.01372763, 0.09502927, -0.02638222, -0.11286081, -0.07698651, -0.10541859, 0.066056855, -0.024853632, 0.056224585) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.0729652, -0.01574744, 0.014261628, 0.0007874139, -0.09496763, -0.03866045, -0.00046995922, 0.011654517, -0.056006525, 0.0009864186, -0.017407224, -0.0025526343, 0.06736851, 0.016148273, -0.062853746, -0.02172887) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.008775328, -0.009389129, -0.008046993, 0.011645802, 0.06502229, -0.015796822, 0.033246476, 0.0010481479, 0.011228993, 0.002063443, 0.092867926, -0.019855477, -0.058748394, -0.05491885, -0.08265171, -0.017609123) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.071687534, 0.015851645, -0.030007793, 0.06490518, -0.032694105, -0.02938561, -0.013124616, 0.036126167, 0.054421738, -0.053180795, -0.025776086, 0.03598198, -0.056345236, -0.009074879, -0.0077108857, 0.006023247) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.03404554, -0.08604643, -0.082106024, 0.03932789, -0.10720085, -0.0048912046, -0.007034484, -0.06281713, 0.04713117, -0.04098931, 0.003906921, -0.0033409374, 0.027557675, 0.018356312, 0.05899106, -0.03209946) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.03642826, -0.048236422, -0.07433781, -0.09399451, 0.043430522, 0.0033547275, 0.046311203, -0.08014669, 0.13819307, -0.013978601, -0.022171374, 0.069330305, -0.14126149, -0.030233938, 0.036474597, 0.020265289) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.03665825, 0.016583016, -0.07368879, 0.051715653, -0.0022943062, 0.002809305, -0.0031565933, 0.010069527, -0.119667165, 0.040585265, 0.029094903, -0.14880703, -0.031094294, -0.005197646, 0.069179825, -0.083132766) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.03949345, 0.03535107, 0.00656895, 0.029138016, -0.031439032, 0.031067975, -0.0074611283, -0.08329047, -0.048495896, 0.039504908, 0.0050703785, 0.042553168, 0.029105661, -0.016065063, 0.014852118, -0.020750456) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.051263798, -0.02589722, -0.057833176, 4.891493e-05, 0.028863002, 0.059309144, 0.05080082, 0.06996325, -0.050413724, -0.009345545, 0.065725714, -0.15435281, -0.062328678, -0.018353192, -0.063422576, 0.10110822) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.013274611, -0.011426293, 0.047040477, 0.057910804, -0.09452629, 0.031034563, 0.049071375, 0.015074296, -0.02346266, -0.02060792, -0.014499034, -0.12456579, 0.024312317, -0.018030088, 0.015253862, -0.041497186) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.046137754, 0.004931373, -0.044341523, -0.027071334, -0.090999715, 0.02538559, 0.10602303, 0.03455878, 0.053963415, -0.031865884, -0.050321184, -0.04884731, 0.09521113, 0.037630767, -0.0019179557, -0.06931579) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.0014459195, -0.0014007369, -0.018847277, 0.06322096, -0.22541237, -0.027399208, -0.0028914118, 0.024112033, -0.034628294, 0.08171816, -0.029378854, 0.04562465, -0.042299375, 0.02630789, 0.039250273, -0.032389697) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.008539474, -0.026401326, -0.028777704, -0.041067023, 0.008021453, 0.031380545, -0.010443062, 0.01654151, 0.053967074, -0.027648648, 0.027501974, 0.08680413, 0.04902195, 0.058345273, 0.05516552, 0.0005782751) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.057271536, 0.0017432601, 0.00090826506, -0.13372706, -0.09658783, -0.05280328, 0.029425045, 0.09314443, -0.04903699, 0.045709703, 0.061115663, -0.08341313, 0.043808814, 0.06739794, -0.0088815205, -0.09809559) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.08926033, -0.023196125, 0.054467857, -0.109256014, -0.025417447, 0.011659191, 0.020502646, -0.044937, 0.070921704, -0.043382008, -0.009541407, -0.09480773, -0.07517104, 0.031816084, 0.06780557, -0.12817271) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.06184493, -0.057968862, -0.047324724, 0.042599365, 0.115882084, 0.08828012, -0.10665964, 0.16403782, 0.003708681, 0.047907792, -0.035310015, -0.023863006, 0.022354206, 0.0064226277, -0.02270203, 0.0024349717) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.006183121, 0.089279115, -0.0047647776, 0.014754408, -0.03722483, 0.014318502, -0.0026476474, 0.11560047, 0.08869904, -0.042199377, 0.04280526, 0.052334134, 0.035902698, 0.03315705, -0.0037553937, 0.04647252) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.008149527, -0.0036176, -0.06967105, 0.058703255, 0.056680605, 0.010897716, 0.044939972, 0.0695175, -0.0430656, -0.017113741, 0.012663516, -0.09252046, 0.019986706, -0.05262623, -0.051454637, -0.023269694) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.0024659613, 0.025065439, -0.028084846, 0.033066254, 0.025111768, 0.009073958, 0.00602517, -0.0155823445, 0.09535003, 0.050897915, -0.060629137, 0.0649911, 0.079719245, -0.0039491635, 0.047634233, -0.06682595) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.063272044, 0.021933908, -0.00058130117, 0.037526354, 0.07189541, -0.03164999, 0.014818913, 0.040772945, 0.07744415, -0.012848847, -0.068235144, 0.0082477415, -0.032480493, -0.027604004, 0.033469517, 0.0507768) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.064977765, 0.0068404, -0.09565788, -0.10275234, -0.0339601, -0.013449826, -0.05890159, 0.000114511386, -0.019283682, -0.013513909, 0.02811146, -0.041414186, 0.032942925, 0.043143276, 0.031422812, 0.005386986) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.007922059, -0.04727038, -0.024991598, 0.007935277, 0.0056262286, -0.031912994, -0.0018978112, 0.048167378, -0.031061996, -0.019613668, 0.015239052, -0.033463787, -0.05205827, -0.024454888, 0.025680505, -0.069524944) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.046714947, -0.020067362, -0.00086623704, -0.015236039, 0.0073031266, 0.02102817, 0.05599249, 0.031000402, 0.0050507006, 0.068014465, -0.004485736, -0.024213176, -0.0014634419, 0.00807391, 0.0912603, 0.048976656) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.009858568, 0.05399727, -0.06930093, -0.03740781, -0.03952099, -0.0060961475, -0.002929278, 0.08654308, -0.0065720365, 0.009702729, -0.053587567, 0.011635667, 0.081795834, -0.051930983, 0.0843929, -0.046219714) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.011533141, 0.015105954, 0.079921134, -0.038060665, 0.09355218, -0.017629836, 0.043532066, 0.046301655, -0.04818814, -0.055247888, -0.038942125, 0.0014618986, 0.0438632, -0.07473085, 0.052290317, 0.05947611) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.10130111, 0.01304161, 0.026331192, 0.045154467, 0.021741353, -0.03959901, 0.030335633, 0.023893788, -0.02398899, 0.04057958, -0.0891525, -0.10151279, -0.03079778, 0.010636244, 0.059212793, -0.052939244) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.01095018, -0.030809533, 0.058861475, -0.14149801, 0.035387687, 0.09057092, 0.012868391, 0.04279724, -0.00870864, 0.06727952, -0.016550045, -0.010039739, -0.033663634, -0.036074292, 0.18284807, 0.021788053) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.056425247, 0.031969484, 0.045287676, -0.077538945, 0.01916153, 0.023116212, -0.0026791904, -0.011090148, -0.02800776, -0.04534334, -0.05955444, 0.013407262, 0.009083878, 0.004801394, -0.045976464, -0.09495557) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.007498473, 0.012783305, -0.043950405, -0.093140244, 0.084022924, -0.002212005, -0.046045396, 0.023653071, -0.00679696, -0.06432762, 0.03097296, -0.047518846, -0.007864321, 0.05291612, -0.04730153, -0.020414038) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.12222662, -0.01693394, -0.10452664, -0.047352448, 0.053452045, 0.03169891, -0.005813697, -0.06526524, -0.11846303, 0.043489512, 0.04155247, 0.026040534, -0.10076937, 0.011654529, 0.061707295, -0.034346923) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.0385986, -0.09423533, -0.10467904, -0.062181372, 0.04389658, 0.010074479, -0.016659237, 0.022692233, 0.058307897, -0.0034629651, 0.040011045, -0.092777595, -0.02110541, -0.0065470664, -0.01402361, -0.06650453) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.13090956, 0.0022928012, -0.19893187, 0.0038581404, -0.031386744, 0.026443664, -0.008026227, 0.03598807, 0.04394829, -0.011985251, -0.019685538, 0.09190923, -0.02480175, 0.050523676, 0.04181384, 0.028157068) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.07779946, 0.024368633, -0.080769084, -0.0048275692, -0.08427223, -0.05665657, -0.059673555, -0.02774682, 0.051736, 0.004115013, 0.025645038, 0.08264157, -0.06212128, 0.030755218, -0.04405339, -0.030424658) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.01828597, 0.083243646, -0.038536478, -0.017502509, -0.08105738, 0.0012228974, -0.1080627, -0.026461056, -0.054254524, 0.024791434, 0.040263943, 0.02820566, -0.039924692, 0.004517173, 0.038702767, 0.055404343) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.024339195, -0.041502204, -0.09291761, -0.05632645, 0.018038707, 0.03912029, -0.06666998, -0.00014298625, 0.0065938663, -0.02512259, 0.0299102, 0.0012205282, -0.042304393, -0.022222238, 0.07156011, -0.064391285) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.040794306, 0.043900218, -0.036973078, 0.049076557, -0.013266145, 0.032158293, -0.022526886, 0.09566472, 0.026215214, -0.12535825, -0.012699341, 0.039910194, 0.059199158, 0.028043676, -0.0060070944, -0.04917188) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.025416475, -0.029701186, -0.025735907, 0.031475063, -0.024096722, -0.06385944, 0.053379986, 0.037973452, 0.02035059, -0.04093476, 0.044662606, -0.027414022, 0.05116636, -0.010306472, 0.059939675, 0.043212175) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.03515672, -0.02094184, -0.08207612, -0.054684076, 0.030655652, 0.073213205, 0.042154077, -0.14648315, -0.04680004, 0.030760812, 0.018253954, 0.08666564, 0.02857724, 0.00067018415, 0.06507213, -0.01725426) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.0105545055, 0.0007286947, 0.036018923, -0.0048508793, 0.16995871, 0.023170188, -0.015085124, 0.004689544, -0.004733232, 0.08226879, -0.018453347, 0.050538737, -0.009690376, -0.0019634834, 0.027626354, 0.032829974) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.023726773, 0.010898424, -0.01822208, 0.03842344, 0.0075681307, 0.034020238, -0.06806231, 0.01901378, -0.018860908, -0.0089046275, 0.02895369, -0.013657344, -0.11398131, 0.0169386, 0.050894454, 0.046080027) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.022903727, 0.005586001, 0.021286547, 0.024171276, 0.09379018, -0.013221455, -0.065918885, -0.033722796, 0.01728323, -0.03988463, -0.025967324, 0.04819965, 0.08548069, 0.004580221, 0.0030754865, 0.01584335) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.06392119, -0.08998016, 0.13679212, -0.0026546188, 0.008815899, 0.048466533, 0.0059514577, -0.083596006, 0.00016277195, -0.07310735, 0.011484921, 0.011048554, -0.059959427, -0.038820636, 0.01967266, -0.04827847) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.0655254, 0.06398862, -0.055974014, 0.04236683, -0.075581856, 0.072291575, 0.08086798, 0.050604943, 0.039989542, -0.0085748965, -0.007947379, -0.023675667, 0.043423723, 0.031157669, -0.035261367, 0.01189533) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.025264762, 0.048750594, -0.0319619, 0.045887, 0.010637966, -0.01337898, -0.00078846747, 0.03897785, -0.054485932, -0.030125577, -0.055076122, 0.04907283, 0.064117394, 0.044890843, 0.112151355, -0.08756602) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.030466594, -0.05084832, -0.1537047, 0.049629997, 0.029240265, -0.015239552, -0.004242997, 0.01498136, -0.024712149, 0.029033944, 0.09824751, -0.021574397, -0.12851386, -0.0052772337, -0.03357228, -0.015747119) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.005804859, 0.0384911, -0.044841398, 0.012554774, 0.009474106, 0.076035775, -0.021141436, -0.04842297, 0.07082178, 0.012289076, -0.046594966, 0.0118862325, -0.028290298, 0.03545386, -0.029923446, 0.0071562943) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos6 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(6, 0); + imageStore(out_image, store_pos6, max(result6, V4(0.0))); + V4 result7 = V4(0.0014251472, -0.00062698225, 0.0018863081, -0.0067351423); + result7 += M4(0.018673861, 0.032077182, 0.0037670946, 0.050522637, -0.0010146564, -0.0033454895, -0.048218563, 0.01752664, 0.015052163, -0.018461287, 0.000518453, 0.034338284, 0.004189418, 0.015203471, -0.021282619, 0.023587316) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.046335146, 0.040292807, 0.022942806, 0.084382825, 0.010080793, -0.057140883, 0.025302446, 0.024585998, -0.017621798, 0.09681231, 0.08597285, -0.018088778, 0.073121615, 0.03417377, -0.022003455, 0.11042839) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0072236536, 0.08701254, -0.016317518, 0.029956099, 0.0070353327, 0.09767933, -0.08823228, 0.030442908, 0.018327752, -0.07752849, 0.032344893, 0.05708747, -0.051409554, -0.011494398, 0.06045909, -0.0414537) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.033427637, -0.08938779, -0.02685188, 0.050008766, 0.09848247, -0.06579934, 0.013445275, -0.016121002, 0.016009869, -0.0043092426, -0.003833644, 0.07527052, 0.08246886, 0.000503442, 0.017631046, 0.028014096) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.08188082, 0.038584508, 0.028480327, -0.048451718, 0.03168719, -0.021754295, 0.03816518, 0.09146883, -0.0010765264, -0.06581348, 0.0014887871, 0.0065062526, 0.043383367, 0.026044182, 0.091734335, 0.19638753) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.03718927, 0.053397905, 0.038383354, 0.018592069, -0.021742502, 0.025835568, -0.047361977, -0.0064954096, 0.01729975, -0.009017122, -0.026055958, -0.017205367, -0.06670235, 0.024090454, -0.033529066, 0.014743781) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.053738605, 0.007041181, 0.046036437, -0.0060444134, 0.00028312794, 0.040603507, -0.0073328423, -0.029636584, -0.03361385, -0.039049573, -0.082385294, 0.0033814767, 0.0541044, 0.033086795, 0.019756822, -0.02124206) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.087686345, -0.023377942, 0.037199516, 0.024559557, 0.018899692, 0.026418706, 0.03341977, -0.03792957, 0.0275505, 0.018420523, -0.028442107, 0.045291577, -0.011137358, -0.04854017, -0.0019037462, 0.077883184) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.029888572, 0.026616642, 0.0074777394, 0.079018705, -0.08085832, 0.006893435, -0.021432858, -0.0005435047, 0.011570788, 0.08827259, -0.011205707, 0.005243058, -0.152055, 0.09486768, 0.023200216, 0.0066440096) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.036357924, -0.022468893, -0.06927031, 0.006416363, -0.024620654, 0.01879684, 0.034386892, 0.006153835, -0.009186036, 0.029210422, 0.032836545, -0.031136218, 0.018181415, -0.014411614, 0.0040633543, -0.06230842) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.002692116, 0.01595091, 0.012103822, -0.0028852818, -0.04918649, -0.011426903, 0.021665841, 0.026787248, -0.0056957547, -0.05808886, -0.047910508, 0.04350681, 0.06100713, 0.028811166, 0.02133015, 0.044510785) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.03283779, 0.020474968, -0.009379789, -0.046478886, -0.00010127794, 0.04358986, 0.032138042, 0.04838418, -0.054518834, -0.007697424, 0.070509404, -0.0047255186, 0.04810435, -0.033660453, -0.0006131127, -0.13531916) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.016534878, 0.042890407, -0.039331708, -0.057275698, 0.060258616, -0.0069148056, 0.081107005, -0.053748537, -0.10022901, 0.05039925, -0.029385153, -0.025565159, 0.08208448, -0.040429253, -0.015503155, -0.060810655) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.04645899, 0.01848358, -0.16213657, -0.13247281, 0.008172146, -0.022413464, 0.0120983515, -0.041746475, -0.04833164, 0.02780466, 0.036916304, 0.041110992, -0.059409775, 0.011541062, 0.05133046, 0.057789713) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.077667974, -0.07564696, 0.03292344, 0.034902032, 0.08645655, 0.057127174, -0.035983574, 0.041130364, -0.09430936, 0.0027309242, -0.026546799, 0.05909669, -0.039390802, -0.03597687, 0.061169293, -0.0020347016) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.015044469, -0.031604793, -0.012939631, -0.016206736, 0.01517615, 0.026680779, 0.038591746, 0.0009189766, -0.002751786, -0.009990771, 0.093843356, -0.049611498, 0.03098601, 0.0075615575, -0.014763906, -0.08914085) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.03433886, -0.005145266, -0.008458593, 0.0038444481, -0.0017446778, 0.013166486, -0.034278464, 0.01675868, -0.020361602, -0.02802124, 0.03176294, 0.121953666, 0.01216741, -0.012813531, -0.06262569, 0.025326144) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.05690635, -0.010919707, 0.06353192, -0.053409588, -0.033951793, 0.03649867, 0.036840856, 0.040795323, 0.051191237, -0.049146965, 0.005060033, 0.07611132, -0.049246088, 0.07014059, 0.016715694, -0.04556618) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.009302602, 0.022925142, -0.09506782, -0.0009652141, 0.022958513, 0.062720284, 0.02473546, 0.030297764, 0.020179018, -0.052878477, -0.043918066, 0.05563686, 0.016502526, 0.026137283, 0.041662995, 0.08961005) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.0020234357, -0.06929336, -0.10122015, -0.0049846442, 0.03036247, -0.06017103, 0.012890323, -0.008701545, -0.0056382925, 0.08062279, 0.07927254, 0.08892949, 0.10522521, -0.043130115, -0.103439845, -0.010930402) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.059949562, -0.010106791, -0.008189195, 0.058073565, -0.011187281, 0.04760568, 0.026867699, -0.017282678, 0.015786093, 0.010039718, -0.03341557, 0.08328419, -0.033737004, 0.016905379, -0.020833757, -0.02038882) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.032445837, -0.011868872, 0.06239416, 0.06213402, -0.017445767, -0.033073243, -0.07801258, 0.010554514, -0.06266578, -0.033635106, -0.051942386, 0.002230595, 0.04801794, 0.006680795, -0.06931558, 0.037060603) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.0051131244, 0.017817004, 0.056496553, -0.07136783, 0.0029402724, 0.014482138, -0.07774306, 0.018754503, 0.039444063, -0.0529761, -0.061891142, -0.022763412, -0.047215424, -0.022143684, -0.042308677, 0.14879844) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.018533267, -0.0073519563, -0.034604616, 0.026556024, 0.02544939, -0.025004808, -0.035499383, 0.0013333536, 0.009648402, 0.048677217, -0.004358973, 0.0068949596, 0.037134737, 0.075999364, 0.0027339272, 0.072802305) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.031218406, -0.02069959, -0.059574407, -0.023153275, 0.068073094, 0.01770022, 0.024930185, 0.03902307, -0.034590654, 0.04104561, -0.058949873, 0.047710653, -0.00943727, -0.012719817, -0.09790834, -0.093559965) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.061980616, -0.010554665, 0.06449855, -0.060856845, -0.08688983, 0.07736875, -0.03420635, -0.074671745, 0.013144653, -0.058242917, -0.027250286, -0.09097648, -0.020261846, -0.044640318, 0.029989269, -0.06462863) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.04712408, 0.023927227, -0.07727843, 0.043176714, 0.049753726, -0.062316984, -0.032757338, -0.088338725, 0.13769001, -0.07189041, -0.006145829, 0.0922036, -0.03189129, -0.044464666, 0.097756416, -0.012599847) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.0011671513, -0.0011177624, 0.02411541, 0.004836184, -0.050622363, -0.07155002, 0.037622716, -0.09249707, 0.023316821, 0.017652374, -0.034035113, -0.025422627, -0.043400515, -0.031368323, 0.066770725, -0.030394053) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.01405317, -0.039320152, 0.037645474, 0.042314123, 0.0028615517, -0.014226925, -0.01556944, 0.046608396, 0.01567301, -0.0046369713, -0.032165136, 0.015754465, 0.04449836, -0.020769795, 0.034627043, -0.08670094) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.03428257, -0.03696898, -0.081838585, -0.07979541, -0.043200493, 0.036968302, -0.0020187274, 0.0023096157, 0.005769351, 0.05807819, 0.03341889, -0.0776404, 0.038735505, -0.043035842, -0.10138327, 0.04846455) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.020689912, 0.0019166246, -0.027065719, 0.04126061, -0.02533002, 0.00086589635, 0.15492079, 0.115552865, -0.056875944, -0.022360025, -0.0043618483, -0.08212114, 0.01218707, 0.10010505, -0.026401255, -0.019329824) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.016362168, 0.023091167, -0.013403655, 0.04912382, -0.008918561, 0.0056241667, 0.104161635, -0.08361282, -0.020577656, -0.05311944, 0.007379996, 0.06819292, 0.10294477, -0.042897355, -0.011459394, -0.079536244) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.0074953698, -0.00066633977, -0.034357455, -0.093786456, -0.034172684, -0.045193113, 0.035391394, 0.0637508, -0.009815759, 0.09136212, -0.03156331, -0.043206707, -0.029839432, 0.04319882, -0.04373798, -0.017801028) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.050641276, -0.02673951, 0.014651065, -0.049285684, -0.016671004, -0.051411368, -0.13158254, 0.055173073, 0.020384448, -0.01317807, 0.028595604, -0.010859899, -0.008575775, 0.058090728, 0.09015082, 0.004175989) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.042314015, 0.024753576, 0.046396643, 0.0064327307, -0.01795531, -0.009057238, 0.02421002, -0.05089526, 0.0033139752, -0.034510322, 0.01878516, -0.056755938, 0.0002463125, -0.0128552085, 0.0020875651, -0.027446223) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0060392176, -0.11788295, -0.029664127, 0.008880326, 0.05330227, 0.0070508933, -0.0043150564, -0.036530446, -0.047127727, -0.047671188, -0.06737314, 0.0083652325, -0.021477606, -0.025502743, 0.05643119, 0.04296003) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.019384488, -0.025502928, -0.04916929, 0.0022923213, 0.016502254, -0.023943558, -0.024893032, 0.0074065877, 0.002686409, -0.07249054, 0.0104133915, -0.032033708, 0.096649215, 0.011417116, -0.04899805, 0.055422977) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.013113526, -0.019250564, 0.042865377, 0.063468516, 0.061652005, -0.028605554, -0.00045261276, -0.056041334, -0.018217677, -0.022239586, -0.033668637, 0.046041142, -0.07894112, 0.014677258, -0.013151415, 0.012707105) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.013783943, -0.10895098, 0.043192018, -0.04445222, 0.034218494, 0.0021278937, 0.042090595, 0.06904218, -0.038378477, -0.003878173, 0.054208197, -0.0820488, -0.01995063, -0.066005014, -0.0711076, 0.0025117153) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.030083952, 0.0028348279, 0.011112398, -0.08014869, -0.03547214, -0.05669092, -0.04146768, -0.083904155, -0.074244715, 0.01769189, -0.072534375, -0.099040516, 0.102334, 0.053168904, -0.017171757, -0.09967863) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.030172348, -0.0008435548, -0.06212656, 0.027426317, 0.0640857, -0.059982065, -0.03495538, -0.1021958, -0.01940625, 0.102385804, -0.046452124, 0.000831927, -0.07913467, 0.038964994, -0.10516663, -0.030801887) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0038444742, 0.049801506, -0.014488756, 0.064058445, -0.01223352, 0.012045666, -0.042229064, -0.019182105, -0.055795643, 0.07517447, -0.003105533, -0.007404321, 0.07464786, -0.12606506, -0.017821776, -0.04986038) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.023115957, -0.049413774, -0.04066957, -0.017545557, 0.031623796, -0.05058053, 0.02490793, -0.016624907, 0.008775263, -0.045426115, -0.005404666, -0.013170411, 0.06792874, 0.07337203, -0.044427227, -0.05238581) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.056813043, -0.005576083, 0.072538696, -0.07360226, -0.06892953, -0.07571264, 0.08498844, -0.028909622, -0.027828084, -0.009407866, 0.043621007, 0.0069731176, 0.048197083, -0.025200557, -0.020004543, 0.12787043) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0579893, 0.052800044, 0.084704734, -0.03470178, 0.0597469, -0.035208087, -0.06679775, 0.026968367, -0.08211052, -0.06418047, -0.04930623, -0.06802235, 0.057565562, -0.003079574, -0.026538676, -0.04687167) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.048950505, -0.04296262, 0.071002536, -0.08860448, -0.023778846, -0.041412633, -0.018603822, -0.00450639, 0.024998344, 0.0297204, 0.0131756095, 0.035242308, 0.052452054, 0.059603956, -0.04819877, -0.027153969) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.00039456744, 0.026111925, -0.0390856, 0.015237232, -0.047974177, 0.0075821406, 0.017423477, -0.0070963115, 0.039099902, 0.010331603, 0.13222985, 0.033107437, -0.044914547, 0.012619742, 0.077392414, 0.05955516) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0013875503, 0.02167852, 0.048960786, -0.02730172, 0.023810739, 0.020395383, 0.054201044, -0.06880946, -0.15319178, -0.072294965, -0.03086937, -0.011504573, -0.026595794, -0.05325626, 0.01151914, 0.06896727) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.015059782, 0.01212822, -0.011522979, 0.043589585, 0.05315072, 0.027349211, 0.069255315, 0.07850968, 0.122352585, -0.06477022, 0.051983375, -0.061325468, -0.04329559, -0.009633947, -0.109692626, 0.0060715466) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.08721693, 0.05260926, 0.05850964, 0.0054416833, 0.036334157, 0.068869755, 0.003245845, 0.08983297, -0.018924817, 0.062130507, -0.11904574, 0.07780186, 0.05350868, 0.06791477, 0.022963349, 0.13369432) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.055267405, 0.009881807, -0.0069630924, -0.061420918, -0.036210015, 0.012657981, -0.032147475, -0.018918043, -0.05412775, 0.0061139315, -0.0049740467, 0.028788963, 0.006019795, 0.010503997, 0.040485717, 0.048707794) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.020625258, 0.01798343, -0.03604717, -0.015388089, 0.017517395, -0.0278744, -0.074373916, 0.038745053, 0.06285353, -0.009818533, 0.04762992, 0.004658474, -0.013168075, -0.0511346, -0.040355694, 0.06022736) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.026847128, -0.015917618, -0.062348984, -0.06671345, 0.012953547, 0.012467912, -0.015703145, 0.08393637, 0.018011587, 0.011851339, -0.0055786576, 0.042521846, -0.041248936, 0.015565254, -0.035630196, -0.021513479) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.04410482, 0.06062172, -0.025012525, 0.0610936, -0.068187855, 0.008616673, 0.057610862, 0.013892458, -0.03330063, 0.024369285, -0.055133972, 0.004009792, 0.028606487, -0.012831177, 0.024481747, -0.0103146015) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.040068492, -0.05743285, 0.1223652, -0.04292859, -0.09787392, -0.0104287965, 0.03175076, -0.027615303, -0.07690209, 0.002457177, -0.024491351, -0.066331044, 0.019923544, -0.0023634525, -0.014972126, -0.0049166363) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.014411372, -0.06519537, 0.008176301, -0.039190505, 0.016877266, -0.057989515, -0.042193584, 0.008610321, 0.00978763, -0.046530053, 0.014780808, -0.041762426, -0.03441969, 0.055942096, 0.031061172, 0.03241851) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.05567167, 0.0036965034, 0.020676292, -0.016157502, -0.029994544, -0.043466363, 0.036435682, 0.05265827, 0.025745342, 0.12854025, 0.03224513, -0.032146305, 0.008559331, -0.07113304, -0.009610836, -0.04301949) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.084250554, -0.050097406, -0.051641807, 0.017897263, -0.038950898, 0.033669487, -0.09937784, 0.080832824, 0.004863509, -0.11565558, 0.012857115, 0.049446907, 0.043101717, 0.010560022, 0.057130642, -0.0024219593) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.038006254, 0.00175756, 0.050056282, 0.0006544299, -0.046458878, 0.0068221935, 0.032770135, 0.042864546, -0.04432323, -0.10249627, 0.05425363, 0.05375547, 0.04990834, 0.020200657, -0.00047308477, 0.14005068) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.060461886, -0.0029850728, -0.038782835, 0.012754308, -0.08944805, -0.096392274, -0.01849711, 0.05648829, 0.015336808, -0.08178105, -0.036755953, 0.0072487895, -0.0036330046, -0.006314786, -0.051641997, -0.054993067) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.044810563, 0.0018178963, 0.020492285, 0.060021147, -0.14395535, 0.003398305, -0.030875567, -0.013764356, -0.038610004, 0.03216734, 0.07988316, -0.08910878, 0.04003024, 0.062294267, -0.04606628, -0.042916063) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.025485426, 0.07557817, 0.024170104, -0.05404846, -0.002042427, 0.025645697, 0.07545453, 0.016420538, -0.017638156, -0.01831494, 0.044161245, -0.03592123, 0.07976442, 0.017749855, 0.07656738, -0.028849782) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.036784235, -0.013467151, 0.036444172, 0.094699964, -0.0426589, -0.0001236075, 0.0039888755, 0.022269992, 0.051420115, 0.012392849, 0.025688676, 0.0049866736, -0.011352147, -0.05340382, 0.026460119, 0.03525816) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.009309051, 0.05136777, -0.017058818, 0.028954955, 0.01527489, 0.023978993, -0.09360258, -0.0070763403, -0.024847794, -0.04260108, -0.067176566, 0.035348922, 0.066129304, -0.0630941, -0.03447217, -0.037741918) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.025295043, -0.0011535027, -0.04075787, 0.036008663, -0.037904024, 0.023851965, -0.076395184, 0.029231895, -0.030610025, 0.047114585, -0.13267876, 0.16930126, 0.012630387, -0.01594386, 0.03031229, -0.07803302) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.06088592, 0.08036232, 0.0122171985, 0.09249436, 0.04934968, -0.012535692, -0.07967677, 0.047103208, -0.004853958, 0.0028116056, -0.09244394, -0.08335118, 0.054112826, -0.01702686, -0.0062000947, -0.070441276) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.008518993, 0.0075289435, -0.02882956, 0.048310325, -0.014057605, 0.023135917, -0.059613626, 0.040745884, -0.0985367, 0.063675575, 0.062374946, 0.0006678243, -0.0076474263, 0.051444583, 0.0569574, -0.09917991) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.07957017, 0.015025438, -0.06321065, 0.010170821, -0.12967637, 0.16706337, 0.0032061678, 0.015850281, -0.008333481, 0.028591342, 0.041120347, 0.101062514, 0.008371019, 0.00038253592, -0.015226818, -0.0947895) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.07951248, 0.021601574, -0.05031213, 0.038909774, 0.037962697, 0.045660414, 0.019475982, -0.024168588, -0.051011853, 0.06582998, 0.059648782, -0.095692195, 0.05013716, 0.004921918, 0.026561124, 0.0048642973) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.026095947, 0.035535805, 0.045056064, -0.003681012, -0.027363207, 0.011785531, -0.08933073, 0.108564496, -0.0016365715, 0.0072120633, -0.0059404206, 0.028574679, -0.041468803, 0.072764374, 0.05723946, -0.03405476) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.054667074, 0.021056723, 0.051202897, 0.02222598, 0.04651224, -0.005652827, -0.052888025, -0.06100927, 0.061212275, -0.08811994, -0.012916998, 0.10681364, 0.0047143446, -0.104524605, 0.05122055, -0.087274775) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.08149551, 0.017300734, 0.01653693, 0.0025334565, 0.090569414, -0.023195816, 0.008278325, -0.08874223, -0.04981807, 0.07867283, -0.06438083, -0.15411055, 0.07770887, -0.12050434, -0.025502637, -0.0897674) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos7 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(7, 0); + imageStore(out_image, store_pos7, max(result7, V4(0.0))); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4_CMP] (Conv2D-5) +//!COMPUTE 16 16 2 16 +//!HOOK LUMA +//!BIND conv2d_4 +//!SAVE conv2d_5 +//!WIDTH LUMA.w 8.0 * +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#ifdef GL_EXT_shader_explicit_arithmetic_types_float16 +# define V4 f16vec4 +# define M4 f16mat4 +# define F float16_t +#else +# define V4 vec4 +# define M4 mat4 +# define F float +#endif + +const ivec2 ksize = ivec2(3, 3); +const ivec2 offset = ksize / 2; +const ivec2 isize = ivec2(gl_WorkGroupSize) + ksize - 1; +shared V4 inp[8][isize.y][isize.x]; +void hook() { + ivec2 base = ivec2(gl_WorkGroupID) * ivec2(gl_WorkGroupSize); + for (uint y = gl_LocalInvocationID.y; y < isize.y; y += gl_WorkGroupSize.y) { + for (uint x = gl_LocalInvocationID.x; x < isize.x; x += gl_WorkGroupSize.x) { + inp[0][y][x] = V4(conv2d_4_mul * texelFetch(conv2d_4_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(0, 0), 0)); + inp[1][y][x] = V4(conv2d_4_mul * texelFetch(conv2d_4_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(1, 0), 0)); + inp[2][y][x] = V4(conv2d_4_mul * texelFetch(conv2d_4_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(2, 0), 0)); + inp[3][y][x] = V4(conv2d_4_mul * texelFetch(conv2d_4_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(3, 0), 0)); + inp[4][y][x] = V4(conv2d_4_mul * texelFetch(conv2d_4_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(4, 0), 0)); + inp[5][y][x] = V4(conv2d_4_mul * texelFetch(conv2d_4_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(5, 0), 0)); + inp[6][y][x] = V4(conv2d_4_mul * texelFetch(conv2d_4_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(6, 0), 0)); + inp[7][y][x] = V4(conv2d_4_mul * texelFetch(conv2d_4_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(7, 0), 0)); + } + } + + barrier(); + V4 result0 = V4(0.007920542, -0.0022907562, 0.0014729282, -0.0029908211); + result0 += M4(0.012659207, -0.0082843965, 0.050612673, -0.004586635, 0.06810715, -0.055794217, -0.055540774, -0.0069531123, -0.04869505, 0.020238532, 0.03411154, -0.03394743, -0.088167824, -0.01315098, -0.015628476, 0.012594215) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.09373336, -0.008080655, -0.037399266, -0.054797772, -0.054466434, -0.016870465, 0.008425535, -0.07040091, -0.089233495, 0.13193156, -0.050881077, 0.02321132, 0.05240855, -0.05507531, 0.11045006, -0.05287347) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.026759261, 0.062051155, -0.003945277, 0.04563078, -0.03224445, -0.11816783, 0.069794625, -0.011122299, 0.018666968, -0.1139171, -0.04996122, -0.11003525, 0.046559703, 0.011053371, 0.023064949, 0.029661411) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.014747362, 0.05423561, -0.035074584, -0.17831835, -0.08130223, -0.0009333893, 0.068694636, 0.020894865, 0.07522027, -0.023988897, 0.008578291, 0.021030499, -0.08493413, -0.08599244, -0.011630431, -0.018433454) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.046071053, -0.011418831, -0.035194278, 0.044674832, 0.00041246286, 0.07825398, -0.023369467, 0.03058997, 0.0081767095, 0.01475973, 0.019673605, 0.0049730144, 0.13240097, -0.027513841, 0.00013196138, -0.03916345) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.05762516, -0.019916251, -0.03911777, -0.040417038, -0.021643022, -0.04889882, -0.01983129, -0.06811472, -0.09386371, -0.013902166, 0.019391365, -0.07002573, 0.041423053, -0.038381483, 0.10094547, 0.07099513) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.012239392, -0.04553411, -0.031315375, -0.09058013, 0.044134453, -0.08493709, -0.054941684, -0.08546161, -0.031910513, 0.025139252, -0.020321775, 0.0018517378, 0.044425156, -0.04948171, -0.020069772, -0.031008974) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.10237727, 0.027195487, -0.10438355, 0.18013915, 0.08098608, 0.06393669, -0.026501782, 0.09152095, 0.03727705, -0.01329895, 0.019179363, 0.10877083, 0.038874906, 0.031757224, 0.046564616, 0.0013984117) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.04633342, 0.04813199, -0.040961362, -0.00039862006, -0.010458006, -0.05505914, 0.063396074, -0.1432106, -0.016199859, 0.052676037, -0.061194155, -0.12257285, -0.104831055, 0.07285034, -0.037690945, -0.0016298497) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.0376707, -0.055586062, 0.065259084, 0.016390754, -0.008386405, -0.0029405502, -0.026257785, 0.035723936, 0.07626289, 0.06286442, 0.025170011, 0.050848585, 0.053993393, -0.074970536, -0.087790236, -0.046617504) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.027239515, -0.03871918, -0.048216864, -0.11791459, 0.026596818, -0.012932386, 0.062188514, 0.002094744, -0.025280148, 0.042759545, -0.023457889, -0.008961966, -0.060098015, -0.08615126, 0.07318971, 0.026015801) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.06591428, -0.06974538, -0.011125307, -0.06468126, 0.043495186, -0.048687283, -0.035599604, -0.096797556, -0.06708375, -0.007115299, -0.04114189, 0.09489059, -0.068501055, 0.02147516, -0.09516866, -0.0015071227) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.021459384, 0.0038642175, 0.008899712, -0.0018662293, 0.039088447, -0.009293485, -0.01852249, 0.0768127, -0.013204934, -0.03852263, -0.022534704, -0.027906822, -0.08647252, 0.027216952, 0.081728265, 0.041477155) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.07083061, 0.026967786, -0.07543586, -0.0030894356, 0.080068305, 0.064456545, -0.050163127, 0.08556735, -0.052110665, 0.12535931, 0.006253803, -0.01627654, 0.011363781, 0.071435735, 0.12658638, -0.021390487) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.006180938, -0.074387684, -0.017106667, -0.06576324, -0.051740456, -0.0005384904, 0.022246197, 0.023234043, -0.06136818, 0.14206524, 0.04356066, 0.03412567, -0.011127722, -0.030439658, 0.018868275, 0.006633875) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.021440627, -0.039221853, 0.0137522705, -0.01690634, 0.059286904, 0.094165325, -0.104185276, 0.0458326, 0.07012717, 0.045772318, 0.08055948, -0.078718044, 0.080590785, 0.053347133, -0.17556459, -0.01862909) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.030217057, 0.055596564, -0.039909564, -0.039487753, -0.026901927, 0.10575721, -0.092611775, 0.1027071, 0.08832089, -0.021564694, 0.032605726, 0.03632368, 0.13382831, -0.115151145, -0.058819804, -0.04666085) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.029313814, 0.026086109, 0.0050191963, 0.06069516, -0.057623867, 0.10669551, 0.030928954, 0.12295723, -0.0024809528, 0.0762547, -0.024703266, 0.03297919, -0.027105216, -0.124841854, -0.043663573, 0.13534822) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.007157479, -0.05973485, 0.110251896, 0.0038233942, -0.019390102, -0.07830754, 0.058571246, 0.04170379, -0.07737476, 0.008079394, -0.03913871, 0.04531513, -0.020468723, 0.026413247, -0.03621609, 0.028344117) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.06614093, -0.066829525, -0.03889602, -0.043133322, -0.14874497, 0.025205813, -0.04521223, -0.0053451373, -0.0007332497, -0.034058277, 0.05700848, 0.038901296, -0.07983258, -0.018813223, -0.08045294, -0.10314455) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.0069888355, -0.09054443, 0.041112132, 0.008636328, 0.07070584, 0.077259436, -0.0907137, -0.2740745, -0.061728552, -0.033996508, -0.008699861, -0.0035128514, -0.070044294, 0.058498688, 0.008397797, 0.027619524) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.031641524, -0.038529657, -0.06252963, 0.03609837, 0.016870031, -0.07702599, -0.12518086, 0.02230905, 0.016294694, 0.048358, -0.036249023, 0.0402514, 0.026027886, -0.076332785, -0.11581518, -0.02984455) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.08540919, -0.05597586, 0.008536542, 0.085084595, 0.06305363, -0.13173594, 0.02650425, 0.096223906, 0.02683272, 0.044928376, -0.027425421, 0.022786822, -0.1218999, -0.05886356, -0.06373537, 0.012566754) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.03572133, -0.14330506, 0.025059253, -0.15277307, 0.015189198, 0.03791659, -0.04514338, 0.07523708, 0.10369998, 0.034488324, 0.12181086, -0.107948996, -0.0015171113, -0.058763936, -0.025617834, 0.06781687) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.0037179498, 0.08529988, 0.027889939, 0.003222262, 0.11168923, 0.00066192815, 0.07540353, -0.057343643, 0.00030487005, -0.04888555, 0.05101622, -0.034709588, 0.08829905, 0.041069593, 0.03141221, -0.02706111) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.041756507, -0.07811449, 0.16475213, -0.013378609, -0.00643016, 0.029229168, 0.10122711, -0.12280812, -0.03420747, 0.05189128, 0.035785843, -0.10635843, -0.016912397, -0.055895682, -0.033209465, -0.014799848) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.08908331, -0.05600544, 0.043326605, -0.079979375, -0.026731044, 0.106925935, 0.027010608, 0.010199388, -0.053292416, 0.11392488, -0.06671726, 0.013869556, 0.052558497, -0.008757882, 0.050396882, 0.004238255) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.11732546, -0.09634034, -0.055640962, -0.014233091, -0.015503881, 0.064164706, -0.04780396, -0.055842523, 0.07023783, -0.011185966, -0.039414886, 0.005374894, 0.035964258, -0.053783245, 0.041233014, 0.0001975019) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.066145234, 0.070920266, 0.013697662, 0.07268349, -0.037122075, -0.055752855, 0.07137167, -0.0070951274, 0.004516784, 0.03692181, -0.018517666, -0.06653895, 0.09884851, 0.003364147, 0.07483013, 0.089953594) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.054332282, -0.014929944, -0.061932918, -0.063656196, -0.06479612, 0.018064292, -0.014423946, 0.119874164, 0.009527149, 0.019724282, 0.05945179, 0.12616754, -0.023177106, -0.05653973, -0.07177297, -0.03853774) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.0031560515, 0.102466606, -0.016985284, 0.13583939, -0.042187594, 0.0070145247, -0.036459148, -0.08347707, 0.09661631, -0.096756056, -0.08569181, 0.10360648, -0.048982732, 0.044129677, 0.085172795, 0.02679583) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.035111655, 0.011007227, -0.14336789, 0.035851106, 0.114730164, -0.090360045, 0.066923484, -0.117397286, 0.058644306, -0.028735561, 0.05165274, -0.0920172, 0.1089473, -0.081362486, 0.012526838, 0.01399663) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.03603579, 0.053000085, 0.04764989, -0.0049900254, 0.015776742, 0.03136669, -0.025461132, 0.016123375, -0.022754062, -0.040256757, -0.031441882, -0.083366424, -0.0004891461, 0.057174336, -0.10576837, 0.008257444) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.021810202, -0.06182033, 0.055761512, 0.049412526, -0.08846193, 0.066105254, 0.010212099, 0.077975444, -0.11054535, -0.041816767, 0.045417804, 0.05921723, -0.115178525, -0.038490694, -0.0041492884, 0.04334992) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.03853905, -0.061036386, 0.074263975, -0.0879866, 0.028817635, -0.005711552, 0.046895344, -0.0010075368, 0.022929177, -0.001233571, -0.006624973, -0.079649396, 0.03365433, 0.09859024, -0.04408512, -0.13785824) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.04685672, -0.07980192, -0.017091796, 0.063593656, 0.08790774, 0.019507777, 0.00894395, -0.06250939, 0.028412756, 0.0007189592, 0.044543765, -0.028471796, -0.035928573, -0.025666278, -0.027253943, 0.07046252) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.077348284, 0.055454724, 0.047286727, -0.014136162, 0.21297774, -0.15286815, -0.07030939, 0.14328142, 0.070640884, -0.027708247, 0.07040721, 0.04340446, 0.028085908, -0.07066196, 0.024031537, 0.021551996) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.07803374, 0.009340422, -0.00011741195, 0.06900992, -0.1741137, -0.09420195, 0.018941168, -0.07138382, 0.017931731, -0.02171963, -0.07916339, 0.042324822, -0.0084804, 0.011541597, 0.015001805, 0.04564982) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.02503248, 0.025407659, -0.019203547, 0.0193773, 0.10535368, 0.00959208, -0.016841125, 0.092213996, 0.017265338, 0.034995846, 0.027710611, 0.056294788, -0.049249623, -0.060686674, 0.013258733, -0.030993462) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.0068570557, 0.040906012, -0.08349569, 0.016004015, 0.022955284, 0.26090536, 0.1959979, 0.18578872, -0.04414464, 0.066582456, 0.078135036, 0.07842101, -0.054717485, 0.050156057, 0.01714649, -0.025913632) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.07383831, -0.011720879, 0.07642587, -0.13802901, -0.13433011, -0.17891987, 0.02470329, -0.14999723, -0.033346742, 0.020762017, -0.088923946, 0.0140608, -0.040436763, 0.017892944, 0.0957397, 0.10517943) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.012581843, -0.0641339, 0.08143261, -0.04472631, 0.053777363, -0.08982334, -0.04212396, 0.052714508, -0.015142444, 0.05789171, -0.04851358, 0.13143617, 0.043224853, -0.034116317, -0.03013532, -0.10098643) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.064848736, 0.007567723, 0.014479514, 0.03315159, -0.28160718, 0.34408262, 0.59043926, -0.13805975, 0.08578609, -0.025727566, -0.065402135, -0.0385752, 0.028798452, -0.029766502, 0.034961622, -3.104939e-05) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.03613503, -0.027101398, -0.004059457, -0.082768396, 0.044968247, -0.11790055, 0.003281074, -0.22012441, 0.070738174, -0.12446346, -0.001658337, 0.12189393, 0.08714606, -0.10562411, 0.017032133, -0.036790203) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.07454949, 0.05402733, -0.051191084, 0.059504155, 0.12694909, -0.06001572, 0.05904764, 0.02666862, -0.0629755, -0.018075218, 0.06864025, -0.027369408, -0.022867113, -0.02276667, -0.009572518, -0.10009488) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.060711227, 0.051675085, -0.032368734, 0.057377145, -0.11970565, -0.009653726, -0.06887162, -0.06864946, -0.023298059, -0.073230684, 0.05819461, -0.11976556, -0.036530335, -8.692498e-05, -0.018504133, 0.056823064) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.025944648, 0.015810618, 0.010670202, 0.01386489, 0.07891802, 0.06148694, -0.009772447, 0.14671405, -0.0005124733, 0.07623176, 0.033200298, 0.08096192, 0.027893083, 0.05866782, -0.02318737, 0.013935583) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.06912419, -0.039700318, -0.057644438, -0.01113549, -0.0051164306, -0.08136487, -0.0148531785, 0.037326295, 0.014117675, -0.08634251, -0.103635855, -0.011023973, -0.05590085, -0.036033027, 0.031777892, 0.07629729) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.078307845, -0.049978163, -0.068438865, -0.106633104, 0.02313371, 0.026683582, 0.0673353, 0.00058549776, 0.11419177, -0.033090208, -0.054374166, -0.06356589, 0.008267027, -0.07797306, -0.026205141, 0.011664107) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.060976546, 0.022161908, 0.006877606, -0.024677891, -0.021413097, -0.02084064, -0.019904284, 0.077459276, 0.09966264, -0.04727618, -0.08928757, -0.008342991, -0.05505298, 0.091976695, -0.06273845, 0.056327026) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.0522215, 0.039778218, -0.08734103, -0.10326401, -0.03349943, -0.06386685, -0.038285185, -0.04139568, 0.0275177, 0.02571496, -0.0076668668, -0.02207508, 0.0020197849, -0.0045990306, 0.045475878, 0.0004344982) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.04153057, 0.03395094, -0.05997602, -0.045482665, -0.021174341, -0.030184926, 0.021830909, 0.04662035, -0.05339313, -0.08962555, 0.032046646, -0.022768611, 0.0538204, 0.020032907, 0.047227196, -0.011527836) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.055494122, 0.08453045, 0.05403328, -0.07182722, 0.050301585, 0.044827122, -0.021602813, 0.14450411, 0.062434472, -0.0871835, 0.08730617, 0.0026804216, -0.045862075, 0.06948351, -0.016019462, -0.06495156) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.06384203, 0.12719019, -0.05923506, 0.016249172, 0.00054639444, 0.029505188, -0.08136734, 0.16146624, 0.051130418, -0.08117765, -0.032201745, -0.046629786, -0.03106953, -0.06449613, 0.027636368, 0.056463536) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.015862223, -0.09411337, -0.052777916, 0.029921029, -0.029021418, -0.049138073, 0.005248753, 0.03883706, 0.051570605, -0.08783808, -0.060173493, -0.10942962, 0.027082019, -0.015245614, -0.026571682, 0.07175237) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.06623662, 0.023508735, 0.046236277, 0.031114891, 0.055644933, -0.04629829, -0.08040808, -0.05794674, 0.020746917, 0.034847286, -0.011106398, -0.03899153, 0.017190078, -0.052382246, -0.08801344, -0.13558784) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.021157345, -0.0017713321, 0.0010145286, -0.11869583, 0.022726737, -0.007596762, -0.055396423, 0.0107872635, -0.055546373, 0.004975698, 0.0129171675, -0.0044665607, -0.052194275, -0.021074649, -0.020994103, -0.023258638) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.0050876206, -0.085585475, 0.05284131, 0.04657147, -0.0015298714, 0.020799918, 0.04965338, 0.09055329, 0.06534174, -0.013609916, 0.020365173, 0.009542701, 0.025333093, 0.056572396, 0.014367648, -0.0059644864) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.06623636, 0.018546676, 0.012772181, 0.1128578, -0.0553153, -0.027193768, 0.030588992, 0.07314617, -0.029155126, 0.012377396, -0.048051365, 0.07615869, 0.02106586, -0.037551712, 0.062093396, 0.03994226) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.08615203, -0.038392875, 0.04185375, -0.11557163, -0.0724445, -0.06837753, -0.0796079, -0.0005534733, 0.022866072, 0.0019668497, -0.03375458, 0.005518931, -0.051255636, -0.086629584, 0.052938733, -0.017939853) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.082201995, 0.08338168, 0.06368014, 0.020799948, -0.0021174734, -0.044765506, -0.026496015, 0.0073489193, 0.03357522, 0.03808954, 0.042366095, -0.026202196, -0.031142592, 0.08563531, 0.0750633, 0.03830991) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.059878696, 0.012079003, 0.074656546, -0.005196685, 0.11351621, 0.05091811, 0.0032134173, 0.10331796, 0.04635301, 0.007022853, -0.0013485943, -0.10340123, -0.017416406, 0.04109052, 0.006881709, 0.047110867) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.059919287, -0.03101404, 0.009470262, 0.025023736, 0.07611769, -0.003336585, 0.09379993, 0.022039518, 0.06452025, 0.02453208, -0.069482476, -0.029276706, 0.06404178, -0.07767904, 0.035325702, 0.0057341205) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.035175208, 0.06847525, 0.10652048, 0.009162628, -0.0767558, 0.034296, -0.058371305, -0.11118776, -0.0055949898, -0.012134497, 0.023943555, -0.0005300856, 0.08061122, -0.054515693, 0.01777842, -0.065258764) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.083935365, -0.026900299, 0.060945384, -0.054810107, -0.06297046, 0.022223262, 0.055109426, 0.06634053, -0.030266106, -0.06202114, 0.0015390554, -0.0065800655, -0.07227648, -0.034390856, -0.06954583, -0.019235443) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.063203774, 0.029398764, 0.028291611, -0.021303497, 0.10261226, -0.04520229, 0.03592958, 0.15121423, 0.06758098, -0.025456328, 0.07083506, 0.0031304099, 0.025098355, 0.11022158, -0.10039365, 0.045323513) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.015524359, -0.074430704, 0.08698407, -0.039414022, -0.0067286864, -0.023823723, -0.054444358, -0.15463683, 0.004657492, 0.06434396, 0.04229149, 0.10077084, -0.0175929, -0.0503969, 0.056542497, -0.03236558) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.014850027, 0.035510205, -0.053615622, 0.06173638, 0.044803932, -0.002333041, -0.09752026, 0.017638449, 0.11542985, -0.05690194, 0.039437305, -0.09617133, 0.058244046, -0.090813406, 0.085987, -0.041902382) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.03284375, -0.08889782, 0.032698154, -0.01706314, 0.05101155, 0.047558628, 0.05355311, 0.11727696, -0.06263451, -0.02354761, -0.020732163, 0.015123445, -0.041259155, -0.0468619, -0.14686956, 0.046192385) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.02382978, -0.06351694, -0.022633234, 0.012576567, -0.00094047387, -0.05083605, 0.021433135, 0.09205889, -0.0029333474, 0.035971723, 0.024764849, -0.009984877, 0.059244607, -0.03211106, 0.13820948, 0.029564455) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.05534098, -0.096680254, -0.036229454, 0.02692296, 0.010722657, 0.045933485, 0.07740435, -0.09348157, 0.070330724, -0.03929862, -0.06282764, -0.11922472, 0.1359561, -0.10417883, 0.010690849, -0.07893975) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.07235992, 0.06190206, -0.03768438, 0.033766117, -0.039035834, -0.029381253, 0.08724059, -0.08092357, 0.043768026, -0.0458281, -0.049568124, -0.06142317, -0.03587894, -0.00035773177, 0.008888146, -0.071498156) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos0 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(0, 0); + imageStore(out_image, store_pos0, result0); + V4 result1 = V4(0.003317229, -0.0064632413, -0.0041693165, -0.0017572003); + result1 += M4(-0.08265474, 0.10560329, -0.067668095, -0.062895045, 0.04958467, -0.0038375168, -0.06940705, 0.012235638, -0.060085498, 0.1382981, -0.060480203, 0.03841044, 0.020538561, 0.09340245, 0.062193632, 0.04998065) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.051759467, 0.055025395, 0.00054037326, 0.04903321, -0.010979108, -0.06674058, -0.03977226, 0.013337811, 0.0059016664, -0.032146174, -0.02144294, 0.03090346, -0.041875545, 0.021615228, 0.08663118, -0.08029276) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.090466045, -0.01429877, -0.054916203, -0.032580435, 0.023722852, 0.05932181, -0.018627854, -0.037103616, 0.00020288334, -0.009167328, 0.05088327, -0.13919438, -0.016506882, 0.085531436, 0.023385523, 0.033153646) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.08023076, 0.04054037, 0.09784964, -0.035269897, -0.055552464, 0.13078494, 2.847597e-05, 0.020044202, -0.046066992, 0.03582579, 0.01796797, -0.011334841, -0.017962998, -0.0872248, 0.031063499, -0.03456828) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.021214, 0.033319674, -0.06548679, 0.0056021586, 0.06960143, -0.008192314, 0.09968226, -0.036284246, -0.062062215, -0.0884058, 0.24871475, -0.0113721555, -0.018680625, -0.018106472, 0.09888333, 0.08924286) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.009790949, -0.09506628, 0.062405, 0.037370395, 0.060472205, -0.041514926, -0.02920433, -0.024822535, -0.046477973, -0.013701813, -0.12442923, 0.014024875, 0.054152638, -0.03998084, 0.10381648, -0.07087996) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.031451374, -0.009737688, -0.070500225, 0.06722435, -0.029432943, -0.17462918, -0.032093577, 0.0014249057, 0.07075508, 0.09676446, -0.09549088, 0.04546866, -0.008361392, -0.0055721663, -0.0012965052, 0.0026101344) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.09088915, -0.111458145, 0.034964573, -0.06334338, 0.12613358, -0.0763716, 0.0784548, -0.057297915, 0.0060366536, -0.17734411, 0.12157566, 0.01503498, -0.026981527, 0.024995724, 0.041592762, -0.022894524) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.004404648, -0.007901133, -0.008615926, -0.07488221, -0.014197678, -0.048006207, -0.016464055, -0.0008651135, 0.0023277192, 0.056148414, -0.13325216, 0.010002999, -0.002800603, -8.40845e-05, -0.03240802, -0.07873265) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.07545629, 0.06575272, 0.007861065, 0.0023801473, -0.052709818, -0.00655609, 0.06742195, -0.00030776378, -0.065383166, 0.07310911, 0.10112414, -0.058442257, -0.03389798, -0.055442993, -0.029636098, 0.043795798) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.07952838, -0.020744195, 0.023544624, -0.07228758, -0.10186815, 0.09275307, -0.017949482, -0.060527306, -0.017520878, 0.03076118, 0.055297054, 0.0022254798, 0.0055943383, -0.008069786, 0.0020714153, 0.069055505) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.03932148, 0.01884254, 0.018723609, 0.0126212, -0.0035309903, 0.04359766, -0.043469686, 0.029403241, 0.032626398, 0.029003227, 0.04297175, 0.075609215, 0.050474413, 0.10845918, 0.09105683, -0.012393394) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.02488784, 0.054166615, -0.06138746, -0.075655065, 0.047579516, -0.045368403, -0.03639043, -0.040002577, -0.007187778, -0.1368114, -0.055445664, 0.07865921, 0.094658405, -0.025232622, 0.072548896, -0.06878183) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.04332549, -0.05578202, -0.02764263, 0.07296786, 0.022012152, -0.09114279, 0.070410565, -0.061575178, 0.026308531, -0.019452238, 0.024120232, 0.07456899, 0.086531125, -0.0950327, 0.05715851, -0.05102421) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.012421495, -0.09701155, -0.040836204, 0.014533989, 0.041393764, -0.037914507, 0.08338501, 0.02119708, 0.05121213, 0.021794274, -0.04444667, -0.060193773, -0.0763098, 0.084622145, 0.047389224, -0.06170933) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.00013421229, -0.005540634, -0.020578226, -0.019386388, 0.002461981, 0.014562435, 0.061549917, 0.085562505, -0.023288231, 0.10071734, 0.023439452, 0.040598728, 0.011544779, -0.08295742, 0.015601267, 0.04546638) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.024442282, -0.1042972, 0.0076779965, 0.09255094, -0.02157449, 0.0025354757, -0.09709387, -0.05775409, -0.062856205, 0.055287126, -0.033004224, -0.029021533, 0.06401177, 0.16498627, -0.16240746, -0.027750114) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.0039031995, 0.064201556, -0.006914177, -0.061504487, -0.12440111, -0.044961818, 0.04226013, -0.00016465555, 0.019992018, 0.04240296, 0.032731883, 0.0768381, -0.113604374, -0.0953154, 0.033843167, -0.06213821) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.04530765, 0.053056464, -0.064794905, 0.07495355, 0.029985292, -0.02680949, -0.07873169, 0.076697834, 0.05807, -0.115148485, 0.029793361, 0.095544115, 0.06161225, -0.07333861, -0.055662483, 0.016645523) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.044810094, -0.048346203, 0.0904013, -0.03316327, -0.104199305, 0.081632555, -0.05124095, -0.024583213, 0.079001464, -0.0046143727, 0.0050495607, -0.08556102, 0.09239731, -0.04868662, -0.025903573, 0.03551393) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.052623913, -0.047548443, 0.12634508, -0.060273297, -0.12153403, 0.17608175, -0.00015388941, -0.0044798413, -0.07519698, 0.045431692, 0.015223836, 0.05553764, 0.02085482, 0.016902572, -0.05950539, 0.07044421) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.041267693, 0.029094482, 0.007867406, -0.08583167, -0.017194785, -0.09548868, -0.019923303, 0.047458924, 0.01245954, -0.02165523, -0.012512882, 0.040093508, 0.08108229, 0.09158754, -0.08359462, 0.0155821135) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.078070804, -0.07526374, 0.13895224, -0.12730496, 0.017342772, -0.016859451, 0.013009278, 0.0600222, 0.06785085, -0.020580102, 0.00020255109, 0.05434867, -0.015316293, -0.07428089, -0.09653583, -0.004677268) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.01643832, -0.00075961783, 0.13193657, 0.054982483, 0.069861, 0.010317136, -0.07249386, -0.07516916, -0.08792303, -0.066908784, -0.07679963, 0.057260305, -0.035518643, 0.04714165, -0.002201417, -0.05808126) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.064182594, 0.07013494, -0.03872325, 0.024523042, -0.07274467, 0.09924485, -0.017668542, -0.0062038964, 0.026449652, 0.012745494, 0.012900924, 0.094447136, 0.028386077, 0.08761028, 0.11160592, -0.07945151) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.0028180094, 0.12425549, -0.025830649, -0.079014875, -0.085475504, 0.023271753, -0.06453875, -0.05694201, -0.089321844, 0.07139553, -2.6606564e-05, 0.045859758, 0.038799837, 0.007303302, 0.09027889, -0.073682405) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.065822415, -0.030560782, 0.090121605, 0.028209213, 0.0019034295, 0.0091244, 0.09619606, -0.045476012, 0.09244145, -0.033329844, 0.032491345, -0.08283403, -0.03821491, 0.1030151, -0.03824745, -0.1027855) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.082245074, -0.012961774, -0.041181143, -0.08730407, -0.033928204, 0.041474722, 0.10009358, -0.06408215, 0.016463725, -0.010628875, -0.030662278, 0.07354385, -0.057238735, 0.080673195, -0.09536576, 0.001002388) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.057134833, 0.11728103, 0.05859105, 0.094526276, -0.085379556, 0.09725714, 0.06921187, -0.0004901866, 0.096668825, 0.056756403, 0.0104300985, -0.09716549, 0.09378571, -0.121191196, -0.04978707, 0.07797104) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.08890152, -0.07528766, 0.049433246, -0.03763722, 0.005112002, 0.014824678, 0.026509011, 0.08072689, 0.06484399, -0.0009743376, -0.12724032, 0.02594613, 0.0024610516, -0.026318176, -0.023985181, -0.010079703) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.021352844, 0.048029803, -0.04319157, 0.15502834, -0.023364006, 0.06591334, -0.05265612, 0.05894977, -0.0020646714, -0.016844306, -0.018469509, -0.008311669, 0.047466114, -0.09110195, -0.016078154, -0.043269314) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.08241017, 0.0035464352, 0.1449761, -0.14757952, -0.03186642, 0.064888366, -0.07819869, -0.06204304, 0.13754046, -0.1935331, 0.037460424, 0.0068521397, 0.15224157, -0.001488235, -0.020397019, -0.010741433) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.030440303, 0.05144504, 0.034376662, -0.058197904, 0.054295655, 0.068631336, 0.05166053, -0.0009775315, 0.12730227, 0.055819187, -0.12749858, -0.06636116, -0.10469723, -0.057149783, 0.05046654, 0.10494369) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.023484932, -0.007467497, -0.016365694, -0.009202472, -0.003588896, 0.061822806, -0.12135429, -0.01734984, -0.011524608, 0.10253504, 0.049723815, -0.027660893, 0.0348313, 0.023505678, 0.015921738, 0.032514688) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.005360293, 0.044789236, 0.0042173592, 0.013065976, 0.05099065, -0.021600448, -0.08033447, -0.0064670267, 0.0034170058, -0.057721414, -0.0053069573, 0.094855316, -0.036825053, 0.034112137, -0.008437704, -0.02569088) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.13396332, -0.005175495, -0.035383582, 0.012889553, -0.030037276, 0.007279578, 0.06028317, -0.02773724, 0.042311706, 0.042895388, -0.061542172, 0.021113493, -0.014593523, -0.113973476, -0.06721411, 0.0004219604) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(0.0044631106, -0.0031095257, -0.032858137, -0.0013974987, 0.13971345, -0.48296624, -0.05553774, -0.025563752, -0.052025016, 0.022895738, 0.080650285, -0.046393737, -0.106449544, -0.03499346, -0.033301543, 0.025064504) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.029005699, 0.058130812, 0.049154457, 0.0859366, -0.061610684, 0.039527386, 0.13705124, -0.08889678, -0.09533282, -0.03303404, -0.050002586, 0.03361543, -0.025224142, 0.11523095, 0.024267178, 0.07230204) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.064637005, 0.036595948, -0.03502229, 0.053335078, -0.1320553, 0.01101674, 0.077269316, -0.09847019, 0.06931224, -0.0044268863, 0.020556197, -0.024897737, 0.059402216, 0.009583825, 0.028361665, -0.07514248) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.026057448, 0.01689678, 0.05137883, 0.10039063, -0.2602739, 0.16442367, -0.14979811, 0.13159263, 0.0016610532, 0.029338822, -0.020918742, 0.008764612, 0.019954251, 0.03510021, 0.021516513, 0.03903599) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.07098235, -0.02140054, 0.06545658, -0.023272792, 0.08566663, -0.051872008, 0.15032956, -0.04559011, 0.04971806, -0.042256948, -0.014089375, -0.0041617635, 0.029719066, -0.034145847, 0.030706462, 0.049318526) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.021757234, -0.015428759, 0.08437548, 0.015957322, -0.09902078, 0.19746202, 0.0069277706, -0.04072249, 0.046975713, 0.014887748, 0.027118389, 0.021182004, 0.027635317, 0.018358886, 0.023894662, -0.010150503) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.08654914, -0.057989072, -0.10828236, -0.0708152, -0.023003161, -0.002866436, -0.05857228, 0.5588384, -0.09102295, -0.08351212, -0.071473785, -0.006507019, -0.038037915, 0.034408428, 0.012049713, 0.054822817) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.028535157, 0.03823511, -0.07466701, 0.0065332963, 0.006576431, 0.060450673, 0.07050816, -0.089807376, -6.409611e-06, 0.07333516, -0.06686256, 0.02955775, -0.00440805, -0.08557526, 0.018119685, 0.066697724) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.004289615, -0.005659897, 0.0285505, 0.03454191, -0.08920333, 0.028012889, 0.19590507, -0.040862303, -0.08810902, -0.024245787, -0.0573017, -0.003614973, 0.05261424, -0.018263623, -0.007860692, 0.0040492034) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.028097188, 0.02264837, -0.12139467, -0.062089626, -0.12773821, 0.10555855, 0.018535728, -0.02770512, -0.032490272, -0.03321214, -0.07087715, -0.08194864, -0.025363583, 0.09371274, -0.062652424, 0.070699215) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.033941038, -0.052628424, 0.0261875, -0.0673018, -0.0052701803, 0.035177056, 0.009129876, -0.089818306, -0.014471289, 0.030653602, 0.04807076, -0.090139404, 0.032677826, 0.062426023, -0.022769427, -0.049532857) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.037362117, 0.0710332, -0.0076509104, -0.005579028, 0.040961135, -0.08995273, -0.02069966, -0.13613637, -0.044099268, -0.015008014, -0.004785905, 0.015723646, 0.012583299, 0.0331539, -0.037661813, -0.023636607) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.030526528, -0.19416599, -0.02879475, -0.048472166, 0.047742907, 0.0088882595, -0.03187363, 0.061380755, 0.017048867, -0.087646395, 0.065029755, 0.008640341, -0.0724553, -0.09549255, -0.09025489, -0.06015066) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.042008188, -0.10922489, -0.020224247, -0.031600166, 0.12404433, -0.009591216, 0.015762577, 0.0004401575, -0.035433125, 0.11651212, 0.10795125, 0.092150405, 0.10100666, 0.09725075, -0.064089276, -0.017754763) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.023585087, -0.038716424, -0.08046335, -0.035903443, 0.16227022, -0.0289582, 0.09348568, 0.056654863, 0.015460236, 0.054527663, 0.012680047, -0.012564031, -0.05719806, -0.011975692, 0.060119748, 0.061249677) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.017821195, -0.05635035, -0.012085223, -0.07102497, -0.061383, -0.0020214051, -0.14478259, 0.01964696, -0.06297963, 0.017746294, -0.06171591, -0.08145191, -0.001820002, 0.030732539, -0.03178164, -0.013992768) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(0.1325695, -0.055385206, 0.088581085, -0.080026396, -0.04524384, -0.16042994, -0.10175654, -0.01484489, 0.023332277, 0.048470866, 0.02028371, -0.087887034, -0.06171018, -0.15237556, -0.061486658, 0.077672526) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(0.026732942, 0.04008846, -0.036896892, -0.041593496, 0.1165477, -0.016604, -0.09561625, 0.009646634, 0.0048429216, -0.035084125, -0.02874545, -0.045984108, -0.033618793, -0.054632876, -0.028686544, 0.082565576) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.05497071, -0.026319494, 0.023090476, 0.05449973, -0.019776369, -0.036987174, -0.050365437, -0.07614435, 0.022020204, -0.044253875, 0.008176691, 0.013353154, -0.10158644, -0.12925504, -0.03728657, 0.070383854) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(0.05937241, 0.0918097, -0.033868525, 0.046387006, -0.093853, 0.032131687, 0.030269168, -0.0056394385, -0.021539727, -0.051358063, 0.036021948, -0.0783007, 0.048592746, 0.05068885, -0.0074899634, -0.05288175) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(0.013251106, 0.03456651, 0.038551368, 0.021192942, -0.0028558641, -0.03364213, -0.032623585, -0.056769323, -0.005141021, 0.052676495, -0.038136657, 0.0685487, -0.03667354, 0.028060578, -0.032062825, -0.014378687) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.051198795, -0.06637197, -0.0935074, 0.012496293, 0.061241258, 0.039366134, -0.10047323, 0.002974635, -0.030449351, -0.0023441508, 0.0034939419, -0.08193388, 0.020294799, -0.061899394, 0.051958647, 0.08055818) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.03642001, 0.07452881, 0.1197253, 0.057094987, 0.04715106, 0.081623405, -0.0044062175, -0.004582375, 0.06322114, 0.09333533, -0.03946078, -0.01445832, 0.040105335, 0.05946083, 0.0051089837, 0.042402055) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(0.059946436, 0.0048319194, -0.07794338, 0.0070325276, -0.05966071, -0.06276097, -0.008333512, 0.028164491, 0.041831657, 0.086048596, 0.024687901, 0.05850373, -0.060074992, -0.008056797, 0.08891514, -0.08252397) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(0.017158708, -0.018349942, 0.11014227, 0.055942412, 0.026405491, -0.11176464, -0.03028435, -0.022250207, 0.022056531, -0.083699495, 0.04059349, -0.08832581, -0.024293493, 0.05699037, 0.08062783, -0.016445398) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.02276273, 0.06395695, 0.03168848, -0.07921432, -0.048340186, -0.09819974, 0.09139214, -0.0968995, 0.01841721, 0.03405929, 0.07201942, -0.07529555, -0.081843585, -0.049262304, 0.091425404, 0.0018208404) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.05286673, 0.12032558, 0.035703022, -0.09813714, 0.026299212, -0.07074495, -0.004240976, -0.072812036, -0.00583624, -0.014296095, 0.016801886, 0.093132906, 0.020959452, -0.123742014, 0.025904622, 0.0067183254) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.039446108, 0.08090969, 0.03015747, 0.047651775, -0.058085606, -0.013822712, 0.059130505, 0.0698776, -0.04310406, 0.10193332, 0.054714303, -0.090822436, 0.062455762, -0.0016882966, 0.05066732, -0.0038490186) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.037746273, -0.08812562, 0.0555192, -0.0073171463, -0.055444248, 0.007849816, 0.07192422, -0.035243265, -0.056528233, -0.016508201, -0.03688289, -0.080423184, -0.08144828, 0.027191628, -0.043150797, 0.07665831) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.037141934, -0.06985088, -0.07638038, -0.02124398, 0.020478442, 0.047980696, 0.013508163, -0.03437293, -0.022008123, -0.041865565, -0.06738792, -0.06682873, 0.052956894, -0.020939942, -0.0024555468, 0.070357986) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result1 += M4(0.025956756, 0.16363886, 0.007005342, 0.0340243, 0.09133191, 0.011988612, 0.034263767, -0.06275476, -0.023081716, 0.094455875, -0.033058774, 0.070847966, -0.052421253, 0.04246765, 0.020113822, -0.06551752) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result1 += M4(0.058487367, -0.07452578, 0.04752012, 0.06333042, -0.008172826, -0.04598828, -0.058805823, -0.044982545, 0.06714345, 0.07247324, -0.046020422, -0.018474052, 0.034795206, 0.035131115, 0.10729115, -0.047006555) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.069592714, 0.070724726, -0.07399982, 0.02135313, -0.047199715, -0.005288143, 0.016016727, -0.020933134, 0.033238694, -0.06418608, -0.027226487, -0.0032158718, -0.024324818, 0.030369753, 0.0098516, 0.022523582) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result1 += M4(-0.06481174, 0.06013113, 0.06702918, 0.0956333, 0.08976423, 0.040919133, -0.03807425, 0.06608507, 0.033488054, -0.12371637, -0.10481349, 0.024465814, -0.05263137, 0.0044872425, -0.005380827, -0.031119782) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result1 += M4(-0.061929803, 0.042508714, -0.040909126, 0.017986607, -0.033802204, 0.06335349, -0.073278375, -0.073076226, -0.0134959975, -0.034064114, 0.08089268, 0.09057025, -0.06736415, -0.019390931, 0.1326457, -0.011683198) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result1 += M4(-0.10730723, 0.0626046, -0.071364574, -0.061912827, -0.041837834, -0.064673, -0.019901397, 0.05218962, 0.0154189635, 0.08687795, 0.07484543, -0.038306188, -0.039340187, 0.05811256, -0.004851035, 0.01064105) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos1 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(1, 0); + imageStore(out_image, store_pos1, result1); + V4 result2 = V4(0.0009868728, 0.0007818244, 0.0053685713, 0.0057270383); + result2 += M4(0.00064949464, -0.16698487, 0.046916854, 0.06371801, -0.031031769, -0.049682133, 0.05307726, -0.05928201, -0.059116844, 0.0157777, -0.004171234, -0.02914175, -0.05414638, -0.03596326, -0.00023783439, -0.06472825) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.022393413, -0.07997542, 0.11374833, 0.0045784786, 0.05407927, 0.05876123, -0.07460766, 0.039679326, 0.040364612, -0.036086924, -0.0030471485, 0.07050085, -0.06784107, -0.049779586, 0.00551849, 0.043358237) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0018203803, -2.3848519e-05, 0.03169689, 0.05231313, -0.07569164, 0.04069557, -0.042527772, -0.0140158115, 0.021529634, 0.12468804, -0.04366304, -0.028485112, 0.0035804524, 0.079448976, -0.03517371, 0.095555134) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.019839592, 0.025242861, 0.033240743, 0.06329308, 0.01005364, 0.08631441, 0.033561617, 0.08503525, -0.11276514, 0.062511325, 0.023745911, 0.05636156, 0.009621514, -0.01824681, 0.09323639, 0.03612904) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.06954648, 0.03766656, 0.07970899, 0.04615893, -0.117304966, -0.11384082, 0.06396715, 0.0016629418, 0.16027606, -0.0672756, 0.07408818, -0.027296672, -0.031701706, 0.047633633, -0.073917545, -0.024849633) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0033971332, 0.06691601, 0.061578583, 0.0904925, 0.033025116, 0.07917803, -0.12372729, 0.020690529, 0.0006448413, 0.068535246, 0.016701277, -0.06135853, 0.057154115, 0.10919592, -0.08673763, 0.020947997) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.121104695, 0.079952255, -0.09078251, -0.03531489, 0.038313117, -0.007004295, 0.028248353, -0.0045770253, 0.046006367, -0.0998504, 0.042233035, -0.045594722, -0.010536508, -0.02518926, 0.026162302, -0.056599583) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.12356296, 0.07362047, -0.011261468, -0.07832719, 0.0820357, 0.043083344, 0.018674692, 0.010449518, 0.08303806, 0.06972793, 0.03371333, 0.07664134, 0.024718437, -0.0029732762, -0.03828993, -0.07870055) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.040034678, -0.033430144, 0.022919407, 0.06585092, 0.018910995, -0.010339008, -0.090001084, -0.09797216, 0.14855683, -0.018061496, 0.04580916, -0.033648953, 0.15725692, -0.01245557, 0.05415608, -0.038911562) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.020050798, -0.004833896, 0.08000016, -0.003235002, -0.013455595, 0.071684554, 0.07424835, 0.047054645, -0.096153066, 0.060919385, -0.0014896312, -0.02240396, -0.012262397, 0.069805354, -0.055177435, 0.04611207) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.054335155, -0.07066899, -0.02997495, -0.025207128, -0.0008798808, 0.027685035, -0.021361135, 0.079601675, -0.05210171, -0.070571624, 0.0381362, -0.06570358, -0.024091342, -0.004696931, 0.0286864, -0.02049575) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.019700078, 0.004410047, 0.03376166, 0.040663213, 0.066947706, 0.103588864, -0.0099120615, 0.02200307, -0.014916655, 0.008431026, -0.09407475, -0.03374306, 0.046080973, 0.092030525, -0.0709867, -0.061325274) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.011057873, -0.06015159, 0.052247733, 0.09416487, -0.042765666, -0.08022042, 0.032847684, 0.06490183, 0.015448088, -0.15924975, 0.08634549, 0.0352161, 0.07796765, -0.06937311, -0.006761572, -0.024145575) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.03892408, -0.106981955, -0.026196288, 0.08060743, -0.1324578, -0.12271246, -0.01233204, 0.07552956, -0.017253082, 0.056368623, 0.13953084, -0.036938302, 0.02376971, 0.059923433, -0.01663716, 0.073628984) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.023214553, -0.036213327, -0.011466942, -0.049404193, 0.020097112, -0.08280795, 0.015978146, 0.02613461, 0.013561868, 0.1087704, -0.08452833, 0.09624825, -0.023001082, 0.14287539, 0.074100286, -0.056367844) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.06939897, -0.036538865, 0.030165847, -0.0021414163, 0.022406932, -0.006676555, 0.09473598, -0.060370147, -0.07476955, 0.058023553, -0.05347744, 0.024459554, -0.09368525, 0.017396422, 0.059556715, 0.053741485) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.057394646, 0.033621997, 0.0577881, 0.011418035, -0.04322342, 0.029355481, 0.005590881, -0.07253048, -0.115360506, -0.032316744, 0.047155216, 0.016532736, 0.0895862, 0.025431685, 0.01725431, -0.100047275) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.10319327, 0.06804367, 0.022196725, -0.10679128, 0.050222695, 0.05312751, 0.07550098, 0.0028530324, -0.09470333, 0.05800333, 0.038125414, -0.033141986, 0.0916638, -0.02267667, -0.14162314, 0.12585427) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.00998823, -0.10520531, 0.036973372, -0.025184313, 0.05094961, -0.090720735, 0.04116874, -0.12634319, -0.029927379, 0.10497053, -0.063888825, -0.06792876, -0.004379732, -0.090662114, -0.022282688, 0.037158832) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.02714712, 0.13811822, 0.019240906, 0.04849655, -0.03506214, 0.078129046, -0.03797341, -0.056598205, -0.02620217, 0.03870466, 0.08451419, -0.051036406, 0.004817645, -0.044733077, 0.051782485, 0.02316678) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.044715196, -0.055395942, -0.028730134, -0.02348035, -0.04041515, -0.075559646, 0.0022796148, 0.017087188, 0.059703175, 0.008858241, -0.09982974, -0.05884826, -0.031709082, -0.038506456, 0.060847443, 0.059603754) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.01577335, -0.034921873, 0.059953038, -0.03322717, 0.006691976, -0.028283615, -0.08434939, 0.045133118, -0.09932594, 0.097017415, 0.049711272, -0.042144123, 0.048854984, 0.0809519, -0.092356, -0.07609379) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.06021325, 0.039772417, 0.04385025, -0.08575306, 0.041732363, 0.05534067, 0.007962567, -0.022491287, -0.059649546, -0.044764873, -0.022616304, 0.077491656, 0.118700996, -0.02911622, 0.072572306, -0.095807895) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.058102332, -0.038847413, -0.11779252, -0.10503562, 0.07236545, 0.033141293, -0.03487429, 0.052373786, -0.0031100574, 0.11322298, 0.04536898, -0.09048243, 0.043323286, -0.040984765, -0.033739142, 0.049819335) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.021885287, -0.08043984, 0.073825836, -0.05098722, -0.042667013, 0.038717914, -0.017371764, -0.06778392, 0.031230567, 0.05319893, 0.050974686, 0.07328211, -0.044438478, 0.06441879, 0.0049656075, 0.022847267) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.06376378, 0.056595046, 0.06815256, 0.071252495, -0.04863571, 0.06339047, 0.007929757, -0.06774628, 0.03239299, 0.060721003, 0.052889485, 0.03387206, -0.0675645, 0.075776264, 0.05818761, -0.10341322) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.011661718, 0.014146282, 0.034953084, 0.076114796, 0.046580765, -0.009762988, 0.045747407, -0.0012667375, 0.024114287, -0.038179625, -0.052104663, 0.0110573275, 0.050260145, -0.10064585, 0.082209095, -0.0840446) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.043231003, -0.015365618, 0.12382683, 0.05468233, 0.010885542, 0.032628804, -0.050368216, 0.025214914, 0.012007965, -0.080182426, -0.12465967, -0.013812844, -0.04360754, 0.08558866, -0.107911296, 0.057397887) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.0357675, -0.12244312, 0.110388055, 0.023478119, 0.01746867, -0.0070301676, 0.008160229, -0.030210434, -0.024536157, 0.070677854, -0.048880436, -0.011805754, 0.0013529053, -0.06337271, 0.06664618, 0.053665396) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.018643733, 0.08160039, -0.08275631, 0.014149859, 0.013413247, -0.15012406, 0.032543063, -0.017524524, -0.006947376, 0.078647, -0.10529246, 0.013496548, -0.014057629, -0.011271994, -0.055743977, -0.006958415) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.0026205212, 0.010961609, 0.106559895, 0.0009065093, 0.0128292525, -0.06699272, -0.003972821, 0.046598043, 0.14531241, 0.019022172, -0.034013215, -0.016200334, 0.101206325, -0.042061653, 0.10492901, 0.018669793) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.06708195, 0.06859281, -0.17770293, 0.017312583, 0.045873117, -0.08801807, -0.029234078, 0.058649946, 0.014631035, -0.0969852, -0.024184687, 0.03457353, -0.015301637, -0.016571518, -0.12991752, 0.077849224) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.06908785, 0.046049837, 0.035658225, 0.006278347, -0.03509173, 0.10101232, -0.008227384, -0.031419408, -0.008739553, -0.018822756, -0.1104878, 0.05192996, -0.039569255, 0.101350926, 0.14784229, 0.050551135) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.13446443, -0.042298846, 0.08213627, 0.045626726, 0.15786971, 0.04106979, -0.020531537, -0.062438898, 0.086089455, -0.08213896, -0.09523023, 0.071210444, -0.0029057285, 0.0047016204, 0.016131975, -0.051701456) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.08583633, 0.0044503873, 0.008890763, 0.06540896, -0.014152064, 0.06538664, 0.056238376, 0.13344373, -0.11791438, -0.12023987, -0.17783484, 0.08773428, -0.10534915, 0.053961318, -0.057003435, 0.03835123) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.013101714, 0.051590145, 0.019320846, -0.015395568, 0.03745055, 0.037791803, -0.011147826, -0.054881025, -0.0027365324, 0.05912902, -0.04622374, 0.006439541, 0.0519953, 0.039045583, 0.016951377, 0.16336404) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.012304316, -0.022584366, -0.06085258, -0.04496427, -0.10177182, -0.1690569, 0.31787238, 0.16963167, -0.014018331, 0.047091063, -0.03364108, -0.084929965, 0.044167478, -0.07512546, 0.053500056, 0.035659324) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.12620527, 0.01949151, -0.039188486, 0.0073797912, 0.028220145, 0.047842328, -0.12650147, -0.036716662, 0.045273405, 0.064537786, -0.077671744, -0.044091906, -0.03480103, 0.085140795, 0.13937326, -0.06076088) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0067319144, 0.060289472, -0.000963558, -0.011406507, 0.029128822, -0.04681585, -0.08565819, -0.10932645, 0.0017960464, -0.031171815, 0.10125363, -0.018363532, 0.035735723, 0.0105032055, 0.010971865, 0.01262197) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.00695658, -0.0021433732, 0.099412985, -0.07507311, -0.14148316, -0.15902415, 0.51837015, 0.19613123, 0.006153298, 0.04698854, -0.089946195, 0.0033958594, 0.09563814, 0.0527336, -0.026884176, -0.08440048) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.099241175, 0.09238596, -0.08586319, -0.008281318, -0.060937032, -0.00962071, -0.13348058, -0.028008312, 0.034707624, 0.03222019, 0.06906224, -0.071260706, 0.07528438, 0.09226523, 0.026048709, -0.04877066) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.03675122, 0.044790253, -0.02914531, 0.060435943, -0.12222824, 0.14118834, 0.040496785, -0.07852747, 0.012868903, 0.05346746, 0.057457015, 0.017493246, -0.032870974, 0.024836931, -0.054547183, -0.04721663) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.13120902, 0.016368603, 0.062391046, -0.006525531, -0.47089002, -0.034329344, 0.3092136, -0.5707334, -0.008512709, -0.018364284, 0.04736787, 0.09009397, -0.027354226, 0.07218188, -0.087923184, -0.07085794) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.058837906, -0.03045312, -0.07060054, 0.08509267, -0.12012398, 0.15504916, -0.028839814, 0.04007287, -0.049653284, 0.06914361, 0.05715436, 0.056003388, 0.122019514, 0.039865155, -0.04592266, -0.037949484) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0068240594, -0.07273997, 0.0037903027, 0.0042225393, 0.044858094, 0.048657782, -0.032510955, -0.0006634386, -0.046012472, -0.076959364, -0.09461544, 0.025909014, -0.07103123, -0.07483587, -0.042873412, -0.07181307) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.021121515, -0.034669936, 0.086969234, 0.078357786, 0.043510064, 0.019920737, -0.01001601, -0.04532229, 0.044279233, 0.00177009, 0.09544538, -0.0075181588, -0.040023807, -0.0741072, 0.011781799, -0.07234889) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.04265879, -0.011755172, 0.0026059079, 0.035453852, -0.012910345, 0.047473833, 0.04929909, 0.041469287, -0.004009891, 0.035113905, -0.082926355, -0.09454386, -0.028028859, -0.040972922, -0.05700249, -0.052569125) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.051354725, -0.08079735, 0.044240754, -0.065074354, -0.0043274723, 0.017297726, 0.012422628, 0.0020781201, -0.04528041, -0.044371128, 0.033433434, 0.037062064, -0.020175835, -0.026721034, 0.039568216, 0.08574928) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(0.08538185, 0.07535134, 0.03588318, 0.101168044, 0.048937228, 0.004290628, -0.013085201, -0.015880834, -0.0730675, 0.0190603, 0.066128224, 0.05636122, -0.019461317, -0.14669503, 0.00020057024, 0.0598563) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.005610037, -0.04299494, -0.008976697, 0.13255715, -0.0069963597, -0.15373082, -0.07153157, -0.052760515, -0.08011701, -0.009816274, 0.050605647, 0.04591394, -0.06341829, -0.03326627, -0.04901377, -0.08218942) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.09208479, -0.030966062, 0.12627383, 0.00025762658, -0.05653405, -0.039280668, -0.042519756, 0.034797676, -0.058745194, -0.048425667, -0.0772807, -0.08093194, 0.053811744, 0.042018082, 0.060000915, -0.0360246) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.14467192, -0.059269346, 0.009197304, 0.020336498, 0.06226344, -0.021676151, 0.031635318, -0.117580995, 0.13945673, 0.026252149, -0.038979307, 0.07201059, 0.043870743, 0.009939019, 0.07386009, -0.050778117) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.078035325, 0.050084613, 0.087394916, -0.06487058, 0.099771105, 0.017998297, 0.012153945, -0.0057790866, -0.0005346591, -0.0517256, 0.00025284887, 0.087051556, 0.025302311, -0.0689932, 0.028885622, 0.0077437647) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.09439016, 0.0015287627, -0.057316553, 0.059003465, 0.100425296, 0.13241859, 0.0546974, 0.061427355, 0.06547759, -0.029035032, -0.0077362848, 0.080336735, 0.008668593, -0.027416196, 0.010027761, -0.008639418) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(0.00162819, 0.06248252, -0.052853182, 0.06211603, 0.038125698, -0.103343174, 0.06816103, 0.062191483, -0.05038672, -0.03485956, -0.027104339, 0.06812839, -0.031183233, -0.07152067, -0.08984514, -0.046935726) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.03681733, -0.08671243, -0.054053534, 0.039943762, 0.011443884, -0.067509525, 0.045594893, -0.029108876, -0.035579734, -0.09869042, 0.07821972, 0.01149053, 0.03056888, -0.024562277, 0.018942127, -0.034565564) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.094074436, -0.0833509, -0.056601737, -0.028960193, -0.013104027, -0.046863936, -0.051032133, 0.014918333, 0.017905757, 0.0022352438, -0.020523774, -0.09464572, -0.05598045, -0.099665366, 0.02577764, -0.05421945) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.017303536, -0.020369198, 0.063413456, -0.09092804, -0.021356624, -0.065835066, 0.10795036, -0.05285231, -0.059415016, 0.038459763, -0.07178297, 0.09825152, 0.027741132, 0.09540697, 0.08040291, 0.04606338) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.027428608, -0.030021966, -0.021979606, 0.0705089, 0.026454432, -0.044143103, 0.016605198, 0.008849416, -0.023089495, 0.00010300911, -0.08769639, 0.0829622, 0.10158135, 0.031378955, 0.004828381, -0.044000573) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.030638045, -0.053122368, 0.033245347, -0.07808564, -0.02432935, -0.024162317, 0.067721516, 0.0741197, -0.06588797, -0.070729606, -0.067972556, 0.057441507, -0.07169077, -0.10225602, -0.053760275, 0.02231711) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(0.086432084, 0.088542275, 0.08540757, -0.07214654, -0.011980886, -0.09023816, 0.10338531, 0.09805293, 0.024282124, -0.09807912, -0.025879016, -0.06860528, -0.031729873, 0.026414549, 0.1153709, -0.09395614) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(-0.17938147, -0.108157, 0.020800114, -0.07700154, -0.10836662, 0.0016041914, 0.033384785, 0.027081056, 0.012053498, 0.017505782, 0.10350516, 0.04922532, -0.08821452, 0.02116319, -0.066652216, -0.024277715) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(0.04806933, -0.0033923367, 0.09616711, -0.008886143, -0.016237656, -0.06767858, -0.053592496, 0.0067300927, -0.07084028, -0.08915349, 0.1443104, 0.04447427, 0.06763315, 0.048700977, 0.09043488, -0.020379689) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.08781744, 0.055309948, -0.055063367, 0.010117322, 0.00854385, -0.0061100577, -0.019219765, -0.05977406, -0.017156897, -0.030846462, -0.055518884, 0.09702517, -0.009120838, -0.04096218, 0.04447028, 0.021823771) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result2 += M4(0.071815595, -0.04446516, 0.035554715, 0.06843143, 0.0315443, 0.06488299, -0.0025604179, -0.012592763, -0.0028781781, 0.04174843, 0.052198254, 0.058968127, -0.061820626, -0.02469278, 0.03930519, 0.030921543) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result2 += M4(0.01977956, 0.021800198, 0.037822913, 0.047152605, 0.025242863, -0.032211654, 0.12853216, 0.0153563535, 0.019872243, -0.05846455, 0.10600529, 0.00022570058, -0.024151854, -0.09468743, 0.18861791, -0.013330204) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.04565571, 0.04216231, -0.0015855737, -0.07159101, 0.017206058, -0.03629351, 0.0006044402, -0.009905051, -0.0063604475, 0.047458816, 0.060796935, -0.03831587, 0.03896383, 0.004013498, -0.00368245, 0.0005456762) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result2 += M4(0.013381251, -0.019870987, 0.001816649, 0.0032159826, 0.046583403, 0.016010368, 0.04558418, 0.09126212, -0.08221106, 0.021432815, -0.06537228, 0.039261196, -0.09796458, -0.044002287, -0.03584487, 0.05221627) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result2 += M4(0.0025257268, 0.08912279, 0.023837985, 0.05109022, -0.014181339, 0.11643579, 0.05657035, -0.0036089602, -0.03905755, -0.0020175488, -0.024895981, -0.066495374, 0.016634416, -0.055728074, 0.028897628, 0.08022391) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result2 += M4(-0.012122979, 0.09027543, -0.11063971, -0.0688278, 0.066470414, -0.10041762, 0.00758738, -0.0038627386, 0.046701357, -0.020673564, -0.049272146, 0.09680054, -0.092373244, -0.023883158, 0.003201264, -0.046225056) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result2 += M4(0.047507603, 0.008979663, 0.0013644601, -0.0057975333, 0.058099743, -0.008679818, -0.033468194, 0.053813186, 0.024364926, -0.027605077, 0.02547298, -0.052969124, -0.1460051, -0.011891173, 0.03469561, 0.007889793) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result2 += M4(-0.033015363, -0.11552436, 0.0040777503, -0.063891076, 0.07173587, 0.032051582, -0.009515369, -0.08030738, 0.008957073, 0.08723341, -0.027837517, -0.00034971058, -0.033547692, -0.007499568, -0.03789354, 0.0018512947) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos2 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(2, 0); + imageStore(out_image, store_pos2, result2); + V4 result3 = V4(0.0017613086, -0.0024319342, -0.0029362098, 0.0037423957); + result3 += M4(-0.036000602, -0.037823748, 0.16777639, 0.07794605, -0.017690087, 0.030180806, 0.025582185, 0.0030437312, 0.06305856, -0.05416784, -0.073864736, -0.036070276, 0.08900903, -0.0063880454, 0.014419305, 0.012085734) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.09117312, -0.022141568, -0.108488575, 0.010836079, 0.020309122, -0.010712723, 0.052850433, -0.036709912, -0.05591846, 0.07655707, -0.013380492, -0.028264254, 0.1479253, 0.002820608, 0.07320248, 0.089114934) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.0156406, 0.008234283, 0.05320733, 0.01505077, 0.027013592, 0.051292334, 0.12952974, 0.07272874, 0.10825145, -0.015367599, 0.026509183, 0.044663068, 0.04130046, -0.105353564, -0.010750262, 0.025027033) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.124182194, -0.029043572, -0.064687, -0.036371134, 0.020183805, 0.056465, -0.019294105, 0.07009604, -0.039150715, 0.06509401, -0.065881394, -0.02346156, -0.07094162, -0.07011096, 0.12269316, 0.038362905) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.057893157, 0.10912755, -0.047239948, -0.012169134, 0.078510866, -0.0041505126, -0.016007403, -0.090505004, 0.2493098, 0.06345563, -0.016614793, 0.04492815, 0.0739874, -0.009338281, 0.067718215, 0.027407842) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.07226816, 0.07274554, -0.103892565, 0.05399303, -0.05410265, -0.12235421, 0.063110374, 0.046830583, -0.038522802, -0.053580105, 0.008707605, 0.054677133, 0.060661845, 0.04729212, 0.09041973, -0.006795397) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.008313445, 0.026430896, -0.11319171, -0.1263185, 0.022175211, -0.012487943, 0.08881528, -0.0848634, 0.13372624, -0.038842387, 0.07925938, -0.027185164, -0.081415854, -0.067122705, -0.017924769, 0.07887637) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.008379069, 0.04469998, 0.123314135, -0.035808988, 0.068679325, 0.060830686, 0.03903907, 0.049547087, -0.12797257, 0.030828891, -0.06418715, -0.054934166, 0.08102984, 0.07145958, 0.038406458, 0.065131515) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.04937767, 0.0037768926, -0.09130315, -0.028172383, -0.041032657, 0.03563707, -0.046686843, -0.019476114, 0.10491148, -0.0912838, -0.044145692, 0.02071232, 0.0075066825, -0.058285188, -0.077958785, -0.0078094383) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.042391498, -0.028626768, -0.11210982, 0.049385175, -0.020409524, 0.08095884, 0.008758299, 0.016444433, -0.11246114, -0.03315087, 0.04672355, 0.101324506, -0.1106985, -0.021783477, -0.14916463, -0.08536624) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.016578166, -0.039717324, -0.09451765, -0.006584274, 0.030437807, 0.021798512, 0.015055197, 0.056929473, 0.0023081538, 0.013706884, 0.026030026, -0.13704543, 0.056947157, -0.017714277, -0.029686462, -0.046013154) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.065231904, 0.055704933, 0.019491794, 0.050373316, -0.034011465, 0.057377573, -0.039026417, 0.07503233, -0.10455135, -0.11551442, -0.17918006, 0.004299261, -0.07987467, 0.06762225, -0.032869983, 0.08588431) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.03530026, 0.08076612, 0.07774502, 0.04528379, -0.10962536, 0.031120852, 0.15028003, 0.07609553, -0.0062005245, -0.08515753, 0.010057312, -0.06726595, 0.06716575, 0.036640827, 0.09350395, -0.040030967) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.019202545, 0.05267398, 0.078373455, 0.012130524, 0.051464994, 0.08416077, 0.01375484, 0.081588134, 0.023901928, 0.09657904, 0.04060202, -0.042797256, 0.14780308, -0.027867693, 0.16087438, 0.12718712) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.0052930824, -0.025154877, 0.05821316, 0.020903273, -0.07350783, -0.059122276, 0.032783058, 0.081576414, -0.044305433, 0.069570236, 0.030828852, -0.02402621, 0.036543787, -0.07516295, 0.040621735, 0.04446774) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.036545217, -0.027460787, 0.13256805, -0.059281908, 0.021271763, -0.05077478, -0.042376347, 0.04045913, 0.0020184098, -0.050282557, -0.10829436, -0.036185082, -0.038534787, -0.052000783, 0.017104661, 0.09607561) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.0027188295, -0.10393857, -0.10877403, -0.024870066, 0.015319986, -0.018172089, -0.011253502, -0.07798643, -0.06353567, -0.011869263, 0.015325047, 0.03244264, -0.10201312, -0.03634063, -0.17867276, 0.09506326) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.01083894, 0.027866788, 0.13692245, -0.015394579, 0.13286242, -0.059648983, -0.08089544, -0.028205149, 0.08888589, 0.07870598, 0.050281845, 0.0075859474, -0.01936014, -0.0925616, 0.10609262, -0.029089632) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.036620513, -0.0018529139, -0.021656832, -0.020992976, -0.021988763, 0.13279542, -0.08883639, -0.07280615, 0.10146801, 0.104726285, 0.09376208, -0.023024464, -0.08265571, 0.13742386, 0.12765418, -0.068946205) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.10401559, 0.05271156, -0.06973433, 0.00091517164, -0.0034155364, 0.15443623, 0.12098039, 0.053827062, -0.06751803, 0.050051987, -0.10414383, -0.076760985, -0.033481095, 0.069282226, 0.05972286, -0.091327585) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.042663466, -0.06925397, 0.005298862, -0.053635545, -0.009549727, 0.06183063, 0.010140756, -0.0020029906, 0.059177592, -0.008398113, -0.061660517, 0.02109336, -0.042907692, 0.0859794, -0.0023400285, 0.047540907) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.05396156, -0.01982813, -0.045648746, -0.051637508, -0.030149043, 0.035508245, -0.04765243, 0.12815244, -0.049369846, 0.035737626, 0.14013146, 0.09414744, 0.06500794, -0.07267633, -0.00093158707, 0.03999752) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.049016383, 0.0276896, 0.039981723, 0.018179597, -0.034940477, 0.02839076, 0.0448978, 0.088333614, -0.017327432, 0.05934381, 0.061924603, 0.055710144, 0.061429597, 0.048369214, 0.12241495, 0.06836473) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.10017266, -0.17649214, 0.09567704, 0.04972211, 0.082072385, -0.10490766, -0.0046936446, -0.04793239, -0.032809574, 0.027701877, 0.064111054, 0.040856265, 0.0044988426, 0.049643084, -0.044921882, -0.0024685326) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.11304116, 0.0034326387, 0.04755742, 0.02833731, -0.026833793, -0.029331012, 0.10175306, -0.024066718, -0.004964159, -0.077044696, -0.12172133, 0.08059302, -0.103056155, 0.0018529574, -0.042895533, 0.003823114) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.020885516, -0.07462676, 0.0047877105, -0.039207365, -0.0309694, -0.044636734, 0.039664764, -0.026153672, -0.076280825, -0.030939968, 0.018678766, 0.040409204, 0.03419946, 0.037713982, -0.0583425, -0.015065359) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.14549279, -0.06791211, -0.1770696, 0.038749687, -0.054223865, -0.021147845, 0.012591616, -0.018768826, -0.032941144, -0.014463109, 0.092227146, -0.06604266, -0.0043435777, -0.057702553, 0.13778175, -0.0164771) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.118711, -0.047599107, -0.098155335, 0.081973016, -0.009596478, -0.051940598, -0.028494876, 0.086165935, -0.09890816, 0.050293356, 0.10456731, -0.045442455, -0.10367942, -0.043352745, -0.039574947, 0.02673349) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.032310702, 0.084028535, 0.12998867, -0.061228268, -0.017408738, -0.059676535, 0.0060468167, 0.005646932, -0.050648544, 0.0005480587, 0.13330612, 0.014065177, -0.103952385, 0.077267, 0.03519149, 0.07043348) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.008209243, 0.014553691, -0.15702403, -0.03066787, 0.016537275, 0.010603292, -0.04793803, -0.030104209, 0.03763806, 0.026083006, 0.050731905, 0.009948637, -0.004036405, 0.04568575, 0.05264295, 0.0778683) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.058437243, 0.036731135, -0.06434771, 0.08540853, -0.08690641, 0.03308917, 0.02049561, -0.011834622, -0.12598392, 0.08403818, 0.025367405, 0.0010990554, -0.035994217, 0.050034136, 0.0063770046, 0.11458951) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.047024038, 0.044204306, 0.16524455, -0.03345119, 0.008851951, -0.030764882, -0.054661863, -0.046915438, -0.061522588, -0.056024857, 0.035909235, 0.05540227, 0.043975458, -0.08210378, 0.06894986, 0.0846456) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(0.04584543, -0.0043820003, 0.006328829, 0.13771388, -0.03345026, 0.057594433, 0.026661443, 0.05895439, 0.02961253, 0.09100988, 0.098876365, -0.046469048, -0.030532466, 0.040048048, -0.022055523, 0.056243706) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.052003782, -0.036517605, 0.028018538, 0.034176033, -0.09226495, 0.10219103, 0.022295931, -0.10599235, -0.01703086, -0.039944515, 0.17517655, 0.039029054, 0.04047694, 0.03357481, -0.06224263, -0.03226444) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.122058466, -0.047516547, -0.31620622, -0.0012448342, 0.05218182, 0.018576702, -0.103939265, -0.12380162, -0.023030777, 0.016797628, 0.13267952, 0.02594905, 0.06518402, -0.009646533, -0.029753396, -0.024904892) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.01609975, -0.02379285, -0.0033584516, -0.028476944, -0.043121625, -0.041240178, 0.056727987, 0.014353757, -0.08643036, 0.030068647, 0.060015015, 0.021161549, 0.09360301, -0.04322264, -0.058295414, 0.018006915) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.12997109, 0.03332104, 0.009328511, 0.0021343776, -0.21068858, 0.2710981, -0.3876669, -0.19076964, -0.012621942, -0.01108879, -0.06716199, 0.091378234, 0.026736017, -0.0765229, -0.086116545, -0.0067269355) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.05227814, -0.05405546, -0.023528446, 0.113132566, 0.010039802, -0.10214581, -0.03288424, -0.04129925, 0.19657156, 0.08869768, -0.1391831, 0.0706705, 0.060956985, 0.041343797, -0.17237648, -0.013915881) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.11958145, -0.042463988, 0.016407209, -0.032949205, 0.055082902, -0.0748862, -0.06659595, 0.012248171, 0.02994111, 0.0120192645, -0.008658198, -0.084315196, 0.022483807, -0.08329188, 0.052492138, -0.06560844) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.009779481, 0.06412103, -0.039461687, 0.023663538, -0.073944315, -0.03113135, -0.23090899, -0.23857819, 0.005923908, 8.870099e-05, 0.10416249, 0.09640666, -0.03276846, 0.024858812, -0.07427282, -0.11599301) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.047897696, -0.044131815, 0.022946088, -0.054836016, -0.116598345, -0.115664795, 0.09784323, 0.15542844, 0.09902185, 0.06430543, -0.049431276, 0.06602897, 0.008011568, -0.005232116, 0.008016014, -0.0052137845) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.0837519, 0.05056989, -0.06276593, -0.03180973, -0.08497402, -0.06972383, 0.011077316, 0.023401845, -0.025286714, -0.043567054, -0.16953193, -0.06595381, 0.07363643, -0.07581859, 0.10054581, -0.033668384) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.08070429, 0.08375177, 0.16000599, -0.053400174, -0.12230678, -0.21575743, -0.6871092, -0.42032254, -0.041713387, 0.06903494, -0.03301209, -0.0054746894, 0.025806166, 0.024036312, -0.044896863, 0.103360504) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.0049767764, -0.022343803, -0.023529787, 0.12800358, 0.051056903, -0.16017869, 0.040262144, -0.03706163, 0.041445464, 0.04931111, -0.09369833, 0.062382504, -0.015191966, 0.025063705, 0.108812176, -0.028616095) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.066211864, 0.005964483, 0.07130634, 0.054721944, 0.05864857, 0.022804266, 0.052223753, 0.048094966, -0.08606635, -0.009596746, -0.009271887, 0.05304261, -0.05306346, 0.009911752, 0.10007658, -0.057851154) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.012509768, 0.119446725, 0.003918158, 0.074885115, 0.093594894, 0.01715358, -0.080881655, 0.07016945, 0.16284382, -0.007872472, 0.040304936, -0.013938037, 0.024748137, 0.06210334, -0.07467421, -0.094965525) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.05232734, -0.04215299, 0.015799293, 0.044090208, -0.09260826, 0.07644561, -0.02332845, -0.03831509, -0.038158134, -0.0033288407, -0.09984064, -0.06284334, 4.683745e-05, -0.054963186, -0.034785595, -0.00038775112) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.11256507, -0.09127577, -0.010846974, -0.019348023, -0.0062036687, -0.024140242, -0.036223125, 0.008477035, -0.0535822, 0.056714825, 0.032129098, 0.021613488, 0.045079045, -0.05674658, -0.046510655, 0.027901521) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.05488054, 0.07080329, 0.06299486, 0.0039603985, 0.017801495, -0.08250527, 0.011072122, 0.019071948, -0.05263669, -0.06754914, -0.042804316, -0.072258115, -0.108398765, -0.057692852, 0.13245642, -0.07862433) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(0.1071554, -0.023854187, -0.03523215, 0.026462404, 0.17346433, 0.025099557, 0.085306846, 0.050486, 0.12753077, -0.07280213, 0.011422694, 0.07932979, 0.017087804, 0.07667188, 0.017439054, 0.035692476) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.11586204, 0.041512474, 0.06706167, 0.06385678, -0.07938211, 0.06689715, 0.034798652, -0.010554927, -0.096468754, -0.020953806, 0.07565589, 0.06709923, 0.18257429, 0.016562948, -0.0070281164, 0.0572892) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.053291783, -0.04306939, 0.058981303, 0.046742257, 0.009798728, 0.032749154, -0.04728416, -0.010692309, -0.14372951, 0.05883427, 0.1090519, -0.03674373, 0.0037054217, 0.030785535, 0.071925275, 0.061697785) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.043786112, -0.043080118, -0.11961251, -0.06258902, 0.09472858, -0.009723684, -0.10173063, -0.0077656545, -0.22003505, -0.030549612, -0.12588297, -0.04079825, 0.005945655, -0.07612801, -0.02605068, -0.09058092) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.07290869, 0.01939745, -0.11090164, -0.00064086256, 0.10684343, 0.15499128, -0.09544573, -0.020294474, -0.0020477176, -0.024702616, -0.0051160026, -0.047453087, 0.07588434, 0.013479417, 0.00021081849, 0.044213645) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(0.06665839, 0.045806073, -0.0022956042, -0.0015501076, -0.16479066, -0.043105934, -0.028612781, -0.021004826, 0.03131812, -0.043345444, -0.020649571, 0.006779071, -0.036023792, -0.01562368, 0.006615064, 0.057423286) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.13137902, 0.075307764, 0.04551353, 0.06316783, -0.06274204, -0.051239155, -0.07654647, -0.049102083, -0.08300443, 0.03571166, -0.061142012, -0.033341877, 0.0028726854, -0.040008552, 0.0025314682, 0.070313774) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.047806777, -0.041707493, 0.07416628, -0.01051197, -0.031633176, 0.06288355, 0.08592299, -0.039384175, 0.095937766, -0.03887551, -0.056598995, -0.020568563, 0.020470547, 0.020498365, 0.063905194, -0.01744363) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.052012283, 0.020086344, 0.007820762, 0.11175241, -0.025390545, -0.015955107, -0.11037034, 0.0651637, -0.111639395, 0.054169014, -0.07382395, 0.047940407, 0.08104498, 0.065603256, 0.012727603, 0.10084408) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.019862412, 0.006208759, -0.0129542, 0.09171513, -0.056656893, 0.10487124, -0.050117087, 0.060332406, -0.14625072, -0.10167043, 0.10663746, 0.039414596, 0.009029185, 0.0606408, -0.04030277, 0.059424903) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.08363838, -0.017744185, -0.030702569, -0.07737701, 0.03782848, -0.062303778, 0.004386348, 0.094444446, 0.028231349, 0.02328529, 0.06046744, 0.048421964, 0.011645561, -0.033600926, 0.04429172, 0.0071557905) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.09115676, -0.11432407, 0.028116653, 0.09615582, -0.013933963, 0.057633795, -0.14617987, -0.036102146, -0.0040343828, 0.05497614, 0.081051, -0.07132728, 0.0053688604, -0.0039012944, -0.03338293, 0.069456525) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.019193074, 0.03254533, -0.040607043, 0.044933718, -0.11634429, -0.025305334, -0.008579062, -0.031093795, -0.0029694478, 0.020141914, -0.12891611, 0.009859188, -0.06892454, 0.0015814818, 0.010008736, -0.066661015) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(0.008231917, -0.094318, 0.101721786, -0.0030476335, -0.04802703, 0.07253479, -0.079729445, -0.03349141, -0.020410039, 0.07052038, -0.022367954, -0.07545052, 0.09427052, -0.08718343, 0.0144163435, -0.069395386) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result3 += M4(-0.008406571, -0.074351184, 0.0706633, 0.015958311, 0.102927215, -0.03199462, 0.033949323, 0.055836122, 0.062148135, 0.072088905, -0.06893412, 0.0090462575, 0.04865369, -0.05100503, -0.049118716, -0.013147285) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result3 += M4(0.0042784386, -0.109348014, -0.11314999, -0.009848224, 0.023758953, 0.016952615, -0.050467532, -0.03391089, 0.00035144325, 0.07260847, 0.1379512, 0.10148987, -0.047375027, -0.053306386, 0.029230643, -0.089239575) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result3 += M4(0.12380575, 0.0637876, 0.016138121, -0.08146227, 0.00794786, -0.0007962248, -0.10939341, 0.05495535, 0.08498182, 0.01892887, -0.04443121, -0.029546011, 0.037764616, 0.054276705, -0.11694712, 0.041959465) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result3 += M4(0.007923892, 0.06998669, 0.07218718, 0.06540203, -0.18807384, -0.00552082, 0.02814993, 0.0059046457, -0.013277704, -0.03803994, -0.05539728, 0.0539889, 0.07224701, -0.06469036, -0.053362194, 0.05921536) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result3 += M4(-0.03105752, 0.076835446, -0.025786454, 0.009623611, -0.11670827, -0.071954526, 0.008332799, 0.0396725, 0.034768764, -0.11360498, 0.13640645, 0.04687083, -0.0012390785, -0.11939839, 0.027137829, -0.00970134) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.04841872, 0.021217145, 0.05145121, 0.03994496, -0.032393888, -0.06502012, -0.059177358, -0.01640223, -0.045268063, -0.06441951, 0.06776755, 0.025740163, 0.021089643, -0.07755927, -0.13013749, -0.046982903) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result3 += M4(0.033390768, -0.0676618, -0.075023755, 0.05762633, -0.21285714, -0.05938369, 0.039664563, -0.0321216, -0.13607958, 0.054770358, 0.0544155, -0.06507767, 0.029459499, 0.056755986, 0.026232066, 0.09220036) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result3 += M4(0.065403625, 0.0895879, 0.11050111, 0.064251795, -0.056979794, 0.052189182, -0.023275198, -0.048566677, 0.05251338, 0.010070447, 0.08343461, -0.015657213, 0.0016147365, 0.0235946, 0.012712837, 0.07883242) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result3 += M4(-0.12816718, -0.07241791, 0.027532237, -0.04464096, -0.07181658, -0.042930212, 0.07982205, -0.036657248, 0.027388737, -0.029955769, -0.002831009, -0.019132406, 0.02257189, -0.05071144, -0.07465178, 0.03944232) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos3 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(3, 0); + imageStore(out_image, store_pos3, result3); + V4 result4 = V4(-0.005729667, -0.00043015095, -0.0010953381, 0.004356304); + result4 += M4(-0.15276086, 0.07942247, 0.08949564, 0.060723398, -0.03441924, -0.06541231, 0.050393626, -0.08642525, 0.11145862, 0.088879526, 0.018257165, 0.06954197, 0.07154797, 0.07028931, -0.026106048, 0.0588475) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.005026405, 0.11653151, -0.14089017, -0.028572645, -0.006475202, 0.020306062, -0.0235654, 0.0027518137, -0.22195865, -0.11632897, -0.024510477, 0.033127557, 0.042736404, -0.0013703869, 0.059399374, 0.060709834) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.057378605, -0.0138775, -0.15011922, 0.0032812147, 0.054151535, 0.0733718, -0.048461176, -0.023435675, 0.07190814, 0.03326214, -0.048262995, 0.009591243, -0.18676828, 0.060517266, -0.04107985, 0.106425256) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.13024789, -0.076708704, -0.07840211, 0.07365921, -0.07155807, 0.020250402, -0.012745429, 0.077429436, -0.04208895, -0.09781345, 0.06731239, 0.06464467, 0.0708276, -0.00045760235, -0.0015747235, -0.00091934786) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.03348843, 0.03942212, 0.14521079, 0.11393092, -0.17944722, 0.014515748, 0.022040937, -0.080193296, -0.060324617, 0.113738626, -0.038194582, -0.04972042, 0.05779431, 0.10828045, 0.07306861, 0.062288594) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.022878485, 0.03055577, 0.10178619, 0.047333434, 0.08782161, -0.043591354, -0.007269692, -0.031669308, 0.11117155, -0.12283576, -0.2089983, 0.028255768, -0.091471866, 0.022622947, -0.06298962, 0.1067137) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.09499758, 0.11519524, 0.033155248, 0.04453079, 0.13212462, 0.016532045, -0.0584856, 0.023024704, -0.04678811, -0.025359584, 0.101013616, 0.030604266, 0.09925986, 0.029888682, 0.021780664, 0.015429663) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.015907485, 0.1313383, -0.030429944, -0.081694834, -0.23029754, 0.13872114, -0.046237152, -0.016141376, -0.06931419, -0.09042627, -0.04878373, 0.019912533, -0.04481489, 0.02682206, -0.08646149, 0.053053897) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.009033072, -0.055581715, -0.046858713, 0.022889817, 0.02631145, -0.012890856, 0.08130097, -0.029187188, 0.1359235, -0.0226578, -0.13223678, 0.064480625, -0.15671968, 0.03455646, 0.09110495, -0.013308984) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.010147408, -0.00955194, -0.011160685, 0.0718533, 0.016525019, -0.08055419, -0.06803433, -0.06139342, 0.03567241, 0.016920503, 0.10587896, 0.003260908, 0.032826878, -0.062269785, -0.023602488, 0.039569803) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.09801564, -0.033141207, -0.060552098, -0.040707644, -0.0071775536, -0.04584435, -0.03633291, 0.036216244, -0.023949813, -0.17108808, 0.14008313, -0.052827213, -0.063736506, 0.0782623, 0.07308105, 0.11559698) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.04790598, -0.12482163, -0.003912156, -0.019552933, -0.031093288, 0.11858681, 0.044762284, 0.07580456, 0.013082798, 0.030806199, 0.009720568, -0.07372781, 0.09248263, -0.056033745, -0.008640081, 0.009092144) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.05964495, -0.024564356, 0.06459252, 0.074008055, 0.0100322915, -0.048554912, 0.054766957, -0.072962984, -0.09905735, 0.058794998, -0.018094044, 0.047257494, -0.064259075, 0.14695126, -0.035673972, -0.012317881) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.021464238, -0.061363515, -0.038697876, -0.010907026, 0.16232945, -0.04990725, -0.02098382, -0.049655035, -0.098705016, 0.0500905, 0.02425294, 0.06569846, 0.090533, 0.019491682, -0.1408014, -0.06416461) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.0012226802, -0.039476793, -0.09757135, -0.04347165, -0.082003914, -0.04369602, -0.05509864, -0.01316938, -0.13386135, -0.02617436, 0.067006804, -0.099349536, 0.039151337, 0.06267166, 0.07167059, -0.022206074) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.0116554005, 0.048201796, -0.0065205568, -0.008769362, -0.05728953, 0.07054931, -0.02671859, -0.0049819634, -0.018486373, -0.0031043258, 0.08960589, 0.040662147, 0.04005452, 0.02621686, 0.030639771, 0.016957518) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.052340694, -0.034414288, 0.003912106, 0.08461106, -0.07193677, 0.011825717, 0.030764123, -0.03207337, -0.06731762, -0.053540014, 0.055754326, -0.018355504, 0.06031372, -0.15168211, 0.16209218, -0.0616059) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.016939742, 0.20518406, 0.08184577, -0.024788452, -0.1032094, 0.09305887, 0.064178586, 0.05960907, -0.06474806, 0.06440959, -0.09196042, 0.051764697, -0.11254926, 0.04317631, 0.03838804, -0.02248951) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.024302857, 0.07409582, -0.029698206, 0.040096655, -0.009171383, 0.081171945, -0.0024063515, -0.010989557, -0.054460574, -0.12828343, 0.018882442, -0.08690807, 0.1290004, -0.059028637, 0.022647155, -0.03027392) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.050845224, -0.014301794, -0.030008787, 0.00055581756, -0.00598139, 0.09117337, 0.016426248, 0.059027582, 0.07764693, 0.032369945, -0.017508183, 0.032407463, 0.04229449, -0.07518329, 0.058699597, -0.1317516) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.06060593, -0.039056446, -0.05247817, -0.07459926, 0.015900826, -0.16213873, 0.14802586, 0.06429327, 0.0082110055, 0.07924459, -0.07453781, 0.07902773, 0.12017322, -0.07580147, 0.051612508, 0.032185107) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.066059895, -0.04025388, -0.05282696, -0.03235045, 0.056835823, -0.12443671, 0.09742586, 0.007350654, -0.14137043, -0.0033674177, 0.031448912, 0.066387, 0.012324848, 0.04030191, 0.046613272, 0.09655096) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.054316, 0.025040725, 0.024616253, 0.0035816606, 0.1425769, -0.17431596, -0.071508385, 0.11338813, 0.043339085, -0.057416964, -0.06242709, -0.06809269, 0.15621069, -0.067112654, 0.075692296, -0.017933125) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.09824061, -0.09940557, -0.025247565, -0.05447916, -0.040346242, -0.042779442, -0.027595613, 0.07498018, -0.07251588, 0.022827012, -0.02794804, 0.022946227, -0.09222886, -0.075413905, 0.029927384, 0.059647102) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.085928105, -0.044445936, -0.017995883, 0.022882404, -0.09612574, 0.026006402, 0.062026344, 0.103529885, -0.02160401, 0.06789675, 0.055652786, 0.068733245, -0.053625405, -0.004913719, -0.05463631, 0.030637782) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.07725539, 0.011168546, 0.0721605, 0.017479412, 0.07264609, -0.052678738, 0.12158343, 0.08621142, 0.045553073, -0.13805757, -0.057824325, 0.059658714, 0.0025661613, -0.089499645, 0.05399907, -0.017663164) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.10022974, 0.06991932, 0.02422738, 0.03005907, -0.010116855, 0.1412066, -0.031008733, 0.010078963, 0.047911864, 0.0660007, 0.10212923, 0.061337784, -0.14674562, -0.016446926, -0.054135438, 0.10200884) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.26560044, 0.031663053, -0.20135921, 0.05025343, 0.025922319, -0.012666282, -0.049217034, 0.07466987, 0.03316901, 0.03388405, -0.05912802, -0.035461273, 0.09629912, 0.040922865, -0.035643917, 0.05439306) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.0011948658, -0.06893714, 0.2934369, 0.083842605, 0.07495769, 0.04300018, 0.052646328, 0.012415676, 0.07107138, -0.005641793, -0.030188303, 0.016436791, -0.08965078, 0.071375184, 0.024620086, -0.04359645) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.15978824, 0.016959531, -0.010134735, 0.03673628, -0.049345005, 0.13034832, 0.11603381, -0.033327255, -0.09458413, -0.038487002, -0.009479298, -0.06535692, 0.035499875, 0.053092543, -0.01957895, 0.02571174) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.1208736, -0.072125874, 0.0023084849, -0.0122489, 0.1227515, -0.05691794, 0.0009971801, 0.07848346, -0.06845361, 0.040168926, -0.03385168, -0.01835864, 0.09036151, -0.06579815, -0.045637425, -0.06532325) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.066456, 0.10226624, 0.13637118, -0.09023377, 0.019389976, -0.16513866, 0.06907256, 0.025455186, 0.14788458, -0.038267884, -0.001521367, 0.010565454, 0.09686046, -0.008004227, 0.13752733, -0.033453003) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.025601622, -0.031360477, -0.043491118, 0.042911857, 0.062351793, 0.0009315795, 0.026997741, 0.06996536, 0.07547439, -0.028036885, -0.053968027, 0.022248568, -0.0292104, -0.056626324, 0.08830907, -0.0022524858) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(0.033317495, 0.05820478, -0.029650873, -0.037176825, -0.041937456, -0.11998004, 0.023693852, -0.07557817, -0.08290509, -0.1323981, -0.0074082734, -0.02141199, 0.039799023, 0.00079218333, -0.03513805, -0.017803619) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0031029885, -0.14135988, -0.024678573, -0.07111628, -0.008681277, 0.025619801, 0.116571926, -0.0030642534, -0.02777975, -0.1020513, 0.073832184, 0.033814557, -0.07474817, -0.10208651, 0.08622235, -0.008058402) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(0.03439631, 0.05143221, -0.037346072, 0.0077950405, -0.06565899, 0.070869364, 0.076090604, -0.0101007065, -0.018461643, -0.085405186, -0.06638971, -0.13494958, -0.12879355, 0.06952833, 0.042878397, -0.113126256) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.09224482, -0.021128787, 0.071939826, -0.07401876, 0.0023527911, 0.006287477, -0.17553833, -0.25153297, 0.045313757, 0.096807435, -0.014700843, -0.021120524, 0.0650906, 0.01405441, 0.09247923, -0.034825224) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.091759086, -0.0005594017, 0.0104044005, -0.05654807, -0.05665822, -0.13929519, -0.10425655, 0.068973936, -0.008885661, 0.07481075, -0.011187838, 0.06576421, 0.018374803, -0.05541411, 0.08727593, 0.020974532) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.11530168, -0.020280622, -0.026175972, 0.03732831, 0.10225937, 0.22456875, 0.14049654, 0.026274906, -0.004232932, -0.018390182, 0.08847682, -0.011313296, 0.087917656, -0.12845074, -0.083291866, -0.036425516) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.03034102, 0.037752792, -0.0849504, 0.07600949, -0.33832178, -0.24722779, -0.064748704, -0.09867091, 0.057973128, 0.051411647, -0.0047788024, 0.03279676, -0.014350633, -0.05640388, 0.01779802, 0.048907388) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.026665082, -0.082889624, -0.14053497, -0.07377635, -0.035816558, 0.070927925, -0.2140181, -0.0018264928, 0.117495485, -0.03639823, 0.0024644695, 0.087321825, -0.0647777, 0.105226696, -0.13331458, -0.009670903) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.03723218, -0.13509557, 0.0036844176, -0.03697461, 0.1543366, 0.18289085, -0.0105581265, 0.09485181, -4.9585688e-05, 0.05558213, -0.03838746, 0.01686271, -0.04980424, 0.06810497, -0.018575102, 0.018456416) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.027532548, -0.12227583, 0.07930672, -0.09848031, 0.3098886, 0.1444079, 0.18386124, 0.39677224, -0.010361035, -0.037745964, -0.07495082, 0.0044296472, -0.049770445, -0.05165279, 0.09038633, 0.07141114) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.13949496, -0.008566061, -0.08205957, 0.031357117, 0.13469215, -0.13984358, 0.089228414, -0.025021456, 0.04596939, 0.029453536, -0.084707245, 0.028911265, -0.00011989273, 0.0349822, -0.12578417, -0.009774023) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.07849095, -0.07741492, -0.03002424, 0.06732082, 0.05944881, 0.12135365, -0.02259724, 0.04714612, 0.05460093, 0.022376966, 0.0135290725, -0.0667747, -0.019559493, -0.045919087, -0.13714148, -0.08881304) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.0071108616, -0.044272337, 0.043075882, 0.061518542, -0.009685276, 0.092627764, 0.0042523053, 0.10157931, 0.031074513, -0.014768812, 0.0073508946, -0.023623565, -0.04124181, 0.015749557, -0.031913456, 0.040790085) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.0066527417, -0.014275495, 0.012243293, -0.046868186, 0.04227223, 0.049309988, 0.07550222, 0.054016285, 0.010526209, -0.0037023183, -0.0175928, -0.0035350015, -0.024291594, -0.022052381, 0.039084423, -0.017292228) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.04666573, 0.07674136, 0.06764189, -0.054534577, -0.004178027, 0.06047796, 0.04274057, 0.019577298, 0.1032146, 0.11486907, -0.00023910812, -0.049433347, -0.01957974, 0.030038215, -0.13647704, 0.09591481) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.10650419, -0.13152908, 0.017481212, 0.069082096, 0.06849655, -0.04418378, -0.18172541, 0.09158794, 0.001816908, -0.01681682, 0.044697706, 0.027827958, 0.020274742, -0.026012434, -0.13767888, -0.055619147) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(0.015952997, 0.041261725, -0.02097758, 0.020367438, -0.04182375, 0.16148467, -0.004533121, 0.085371606, 0.10339727, -0.03348668, -0.12091516, 0.05911952, -0.00050659216, 0.060502786, -0.02165692, 0.08820022) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.050576646, -0.024205435, -0.023890747, -0.051688273, 0.088676676, 0.030803435, 0.00071935344, 0.11350617, 0.045458864, -0.049081746, -0.03309615, -0.07268513, -0.0781544, 0.041887123, -0.01942566, -0.038644377) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.0029727172, -0.09847279, 0.065118454, 0.012071449, 0.14700973, 0.015935345, 0.0019750893, -0.12784183, 0.077751964, 0.044195373, 0.08000007, -0.051638376, 0.020539377, 0.10935899, 0.0117582325, -0.023965472) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.06013374, 0.044091452, 0.0540461, -0.06048871, 0.06719454, 0.032586288, 0.10752697, -0.07717235, 0.036587283, -0.08609651, 0.023040904, -0.04157031, -0.04676754, 0.013908344, -0.051491734, -0.08774911) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.006453166, 0.01837697, 0.035457827, 0.06910021, 0.039456557, -0.09556679, 0.072082, -0.07585006, 0.020061055, -0.03220783, 0.0016222212, -0.06599003, -0.058381155, 0.015402644, 0.033919338, 0.006671906) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.026329804, -0.11787945, -0.14433403, -0.028325493, 0.0038718719, -0.004438229, 0.016020123, -0.036304336, 0.07748895, 0.030289326, -0.016000776, 0.06439678, -0.06850895, 0.08380779, -0.032107737, -0.025399344) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.07989146, 0.087534726, -0.015704682, -0.036360856, -0.0111169135, -0.07004655, -0.08041534, -0.050486613, 0.06307522, -0.0723888, -0.0034736248, 0.009431221, -0.004209616, 0.03946069, -0.10180017, 0.04242818) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.0068772044, -0.084776916, -0.11460974, -0.06211543, -0.06614107, 0.013523794, 0.017244153, -0.105507724, -0.06637307, 0.044764433, 0.07883045, -0.024397174, 0.06708219, 0.00073193345, -0.09528281, 0.072413824) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(0.071702175, 0.017405277, 0.039091825, -0.042787787, 0.02887562, -0.0746178, 0.060413755, -0.018354865, 0.034426622, 0.0017597412, 0.068194315, 0.051880147, -0.16459014, 0.055218153, 0.032614153, 0.071607485) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.064260855, 0.037946403, 0.027323404, 0.0085923765, -0.09446498, 0.040517848, 0.012871805, 0.060797207, -0.05814099, -0.0025833678, -0.092664786, -0.018908696, -0.045808636, 0.041072473, 0.0003853748, 0.054195333) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.045041922, -0.056747135, -0.06080514, -0.06075835, -0.040175155, 0.027435724, -0.08339106, 0.067836516, -0.055786442, -0.069555804, -0.05811788, 0.06514331, 0.051969774, 0.040484328, 0.06698578, -0.07379746) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.0080373045, -0.008995164, 0.00862656, -0.04654012, -0.01982247, -0.028327946, -0.037276592, 0.028267154, -0.06269765, -0.06692516, -0.008892168, -0.033050194, -0.030733164, 0.006635923, 0.08469067, -0.060973648) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.118289135, 0.10679692, 0.07852804, 0.024875991, -0.11418788, 0.06024819, -0.038262744, 0.09025532, 0.007690451, -0.008838898, -0.008459807, -0.030193718, -0.013254385, 0.010988964, 0.05228417, 0.01248197) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.026113175, -0.030873947, -0.14510143, 0.041306227, 0.018426474, 0.07301034, -0.044981375, 0.0583777, 0.038143363, 0.044346407, 0.06558364, 0.07977226, 0.034478966, 0.025839774, 0.07721928, 0.0069526606) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result4 += M4(0.08069714, 0.030557806, 0.033185333, -0.039709527, -0.0639105, 0.033712883, 0.052523438, -0.023390159, 0.0071062497, 0.023248162, 0.055216372, 0.07694176, -0.057320744, 0.037813235, -0.007192686, 0.028486153) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result4 += M4(0.020656617, 0.019642806, 0.03819627, -0.061501984, 0.019976595, 0.032238647, 0.054137085, -0.013583545, -0.09172206, -0.057965524, 0.0793928, -0.005399107, 0.041798618, 0.02632741, -0.009702918, 0.06410451) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result4 += M4(0.023276938, 0.06282926, 0.036179554, -0.031947523, 0.068157196, 0.102732874, 0.06795135, 0.07659118, 0.049618267, 0.026132636, 0.047739174, -0.022480309, -0.16794501, -0.039987814, 0.018541813, -0.13723306) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.03153965, 0.06418949, 0.07010299, 0.012217677, -0.0012737584, 0.114024475, 0.033452008, 0.035898764, 0.031170713, -0.0072718714, -0.073373795, -0.017613433, 0.08405065, 0.024136925, 0.047195192, -0.04525122) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result4 += M4(-0.035501905, 0.071830206, 0.045389898, 0.0712507, 0.112877294, -0.09886606, -0.09240563, -0.004431149, 0.018183466, -0.07781847, -0.00012206444, 0.04857818, 0.070103236, 0.06843244, 0.07066874, 0.13304698) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result4 += M4(0.18707158, -0.19681555, -0.10238186, 0.036809485, -0.062296044, 0.042448886, -0.10462396, -0.034118656, 0.069147564, 0.015194723, -0.05712557, -0.05250014, 0.04554017, -0.051171232, 0.04215276, 0.009924719) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result4 += M4(-0.012634366, -0.010583368, -0.022111522, 0.10128474, -0.030730532, 0.11624675, -0.019607462, -0.06727664, -0.08025691, 0.040586017, -0.10331979, -0.026541883, -0.07862262, 6.794675e-05, 0.050930817, 0.018886376) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result4 += M4(0.0157523, 0.122716054, 0.040854633, 0.08611142, -0.10634104, -0.13981168, 0.008734246, 0.06181162, -0.067010246, 0.0070742457, 0.014529983, -0.07793163, 0.07963905, 0.04870616, 0.057613537, -0.031814568) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result4 += M4(-0.024242401, -0.066150405, 0.010405965, -0.04685622, -0.110806555, 0.055420354, 0.07743684, -0.08208189, 0.09138679, -0.027320037, 0.066895984, 0.034334555, 0.026816929, 0.014385787, 0.038511187, -0.10814189) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos4 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(4, 0); + imageStore(out_image, store_pos4, result4); + V4 result5 = V4(0.0017306447, 0.0060327337, -0.0022298389, 0.0031541034); + result5 += M4(0.0779621, 0.01536127, -0.047175165, 0.041168258, 0.002140598, -0.04618724, 0.054210987, -0.03160575, 0.021830423, 0.07292895, 0.082146674, -0.02358065, 0.05804837, 0.08463174, -0.009232058, 0.022486486) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.070273854, 0.14947739, -0.0675586, -0.012048586, 0.07340199, 0.03766187, 0.042533893, 0.0037730413, -0.06500994, 0.049070504, -0.010616047, -0.050461877, 0.040137984, -0.00550505, -0.064578556, 0.0830928) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.028175699, 0.059614383, -0.033094507, -0.00279947, 0.10462239, 0.01113528, -0.048738606, -0.07812485, 0.05824631, -0.08220235, 0.0101430705, -0.0305405, 0.005371137, 0.11372739, -0.0039675683, 0.09794083) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.17925762, 0.118802406, -0.07123004, -0.07492189, -0.07000605, -0.016034951, 0.030278338, -0.020726241, -0.06355461, -0.042413287, -0.052669726, 0.0371886, -0.030052453, -0.013442666, -0.043814387, -0.0016035322) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.00028781328, 0.053626988, -0.033890627, 0.17674764, 0.016925823, 0.038739778, -0.06356103, -0.028692985, 0.06202256, 0.007969964, 0.08086207, -0.034778062, -0.064435475, 0.12650305, -0.120113716, -0.098852284) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.0072770384, -0.00016854692, 0.099797495, 0.01179523, -0.0150191905, 0.022586815, -0.10632031, 0.04600936, -0.08226981, -0.1677368, -0.17656596, -0.07162127, 0.014462061, -0.05012897, -0.04376294, -0.040439986) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.060179196, -0.09734574, -0.078244425, 0.11795343, 0.15282823, -0.028496461, -0.011518804, -0.12965824, 0.04615459, -0.016258327, 0.007406922, -0.02729275, -0.05235998, 0.06531181, -0.108913265, 0.05496635) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.045261145, -0.04736401, -0.06801038, -0.011141553, -0.079599574, 0.06962091, -0.022780033, -0.02688225, -0.072231084, 0.0217911, -0.059324563, 0.05381493, -0.04256582, -0.008749614, -0.007797762, 0.004014286) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.042769108, -0.056839254, -0.04658188, 0.115779765, -0.07912371, -0.003828927, -0.0022034182, -0.051769055, 0.07014513, -0.0062569086, 0.032202426, -0.011193469, -0.08368336, -0.004466157, 0.08320837, 0.010802928) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.002462906, -0.04590783, 0.005349071, 0.008693994, 0.088178754, 0.08188545, -0.023176333, -0.01650924, 0.13102992, 0.09811313, -0.23026422, 0.12660424, -0.07046137, -0.07510859, 0.01754747, 0.05749553) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.13373277, -0.08505133, -0.0437179, -0.04869346, 0.06706512, -0.00019667226, -0.008096593, 0.05557732, 0.027321737, 0.14314955, -0.09215052, -0.0018298684, 0.03607554, -0.040583905, -0.0360277, -0.002008698) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.1596371, 0.026941082, 0.18451004, 0.06304116, -0.018699368, -0.037605118, -0.011007398, 0.054544915, -0.061805993, -0.044472113, 0.036465794, -0.008696269, -0.049722485, -0.13531989, -0.025168546, -0.009798292) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.008980498, 0.013560179, -0.014464112, 0.09771245, -0.004041593, 0.058573626, -0.052865434, -0.01789635, 0.026543198, 0.08361724, -0.05019104, -0.05306504, 0.08451783, 0.025990197, -0.054278534, 0.039406326) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.013433673, 0.049675286, -0.10063251, -0.020524248, 0.061778303, 0.108679175, -0.081680425, 0.049368147, -0.14697108, 0.046346143, 0.10687618, 0.0021455162, -0.05677496, 0.16563354, 0.04049324, 0.005458321) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.01981306, 0.039214496, 0.10102177, -0.11383357, 0.073609166, -0.0025643876, -0.0032422778, 0.0061322157, -0.10923366, -0.053724814, -0.007325734, -0.078403875, -0.05698555, 0.07525162, 0.08427753, 0.023554493) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.07541602, 0.050108094, -0.024828464, -0.06380831, 0.122870244, 0.0676643, -0.017075399, 0.00027681922, -0.041235365, 0.03162666, -0.03826376, -0.01270649, 0.054439172, -0.011557846, -0.051119473, -0.06079733) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.18362746, 0.024387639, -0.007630117, -0.0033050166, -0.013035549, -0.021314826, -0.037523817, 0.051148012, -0.0005250962, -0.09724327, 0.06142803, 0.02066537, 0.11565253, -0.059217427, -0.10316215, -0.13047965) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.06431192, 0.020997828, 0.06421656, 0.01964167, -0.06519853, 0.031739417, -0.053174023, 0.13177866, -0.023959916, 0.054914422, -0.11095652, 0.06440282, -0.027932525, -0.14725117, 0.058942728, 0.07238957) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.07973752, -0.037661415, -0.04319023, -0.02837732, -0.08178102, -0.084248856, 0.13457455, 0.024419552, -0.0015452105, 0.09769809, -0.016582854, -0.1020824, 0.043775875, -0.035260033, 0.037702758, -0.10931838) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.017561655, -0.14661475, -0.07931953, 0.0026581297, -0.009930784, -0.123802036, -0.022880742, 0.073521584, 0.12608594, 0.06599652, -0.10979369, 0.0815358, 0.095457755, -0.04619676, -0.0021090156, -0.10051218) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.019543692, 0.10067554, 0.021451015, -0.06818215, -0.032337047, 0.09961236, -0.052969098, 0.05715959, -0.026237706, -0.057882488, 0.057454064, -0.03709484, -0.011675414, -0.008139157, 0.0056506107, -0.09386743) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.07085244, 0.0048988233, -0.03912786, -0.050521176, -0.034288276, -0.03806809, -0.0604984, 0.03575052, -0.16701838, 0.08174181, 0.049701747, -0.034729015, -0.07873251, 0.03461684, -0.07239493, 0.041049115) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.04017111, 0.08280612, -0.10069517, 0.02911196, 0.025262425, -0.11232385, 0.107558586, -0.1558097, -0.15674175, 0.036157724, -0.14379016, 0.052706953, 0.055144664, -0.12921119, 0.016961856, 0.01106781) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.054125946, 0.035522882, 0.067325175, 0.017656974, 0.046125293, 0.025741585, -0.0110646505, 0.070099264, 0.011557113, 0.028005704, -0.012917508, 0.05248801, 0.036109686, -0.065919474, -0.031808753, 0.04149726) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.0641761, -0.021224467, 0.013904854, 0.012978868, 0.004190863, 0.0803493, 0.0028404067, -0.08943835, -0.06209818, -0.029453188, -0.0075443243, 0.03336873, -0.023120241, -0.07474658, -0.06256821, 0.031392626) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.039287515, 0.024596166, -0.013158201, -0.10148811, 0.031155685, -0.011289836, -0.10685981, 0.13217145, 0.0020512708, -0.020590395, 0.03450191, 0.08759107, -0.010088517, -0.022299154, 0.010409057, -0.043652758) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.057384115, 0.12541312, 0.0064340685, -0.058727633, 0.08562972, -0.039810173, 0.0018311305, -0.012497067, -0.004726232, -0.035424393, -0.10605373, 0.07031661, 0.1003678, -0.033622067, 0.031004941, -0.054471813) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.032814994, -0.0319134, 0.061905656, 0.032871146, 0.011961746, 0.064158015, -0.05410328, 0.037764654, -0.03705604, 0.08281587, -0.10619013, -0.08576226, -0.028889675, -0.021343421, 0.07023503, -0.045325413) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.0030662417, -0.001639542, -0.0007526115, 0.05086073, 0.025654497, 0.12987456, 0.04812271, -0.11703812, 0.1401383, 0.1398525, 0.050060976, -0.071411066, -0.16117439, 0.03854568, 0.11475588, 0.08162513) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.11990925, 0.07117268, 0.00043633246, -0.008882856, 0.101170436, 0.005612441, 0.023187265, -0.078265734, -0.13107418, -0.04826248, -0.12591498, -0.09422121, 0.0844473, -0.075841025, -0.06505128, -0.03293366) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.1234443, -0.07402856, -0.06408613, 0.05737629, 0.16844283, -0.09842496, -0.13693526, 0.061410755, -0.0018198325, -0.036004826, -0.08433716, 0.039559014, -0.17046346, 0.00634429, 0.12378012, 0.076098986) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.2405765, 0.13127317, 0.027907979, -0.099426925, -0.016249169, -0.033487435, 0.0085474495, 0.08336581, -0.09762277, -0.051063057, 0.06478362, 0.02040316, 0.017938962, -0.020328939, 0.081540614, -0.087827824) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.094056904, -0.009838468, -0.0043490557, 0.0017094524, 0.06741926, 0.0024339063, 0.015735542, -0.123994984, -0.11988387, -0.04580369, 0.1103105, -0.028754933, 0.07605843, 0.013540833, -0.021189343, -0.07099737) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.049073692, -0.010656348, 0.09482933, -0.06855694, 0.03592184, -0.04436178, 0.017099334, -0.08736739, -0.0656723, 0.018077597, 0.014390992, -0.020512251, 0.06795961, 0.12254206, 0.09365566, -0.025878815) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.021370169, 0.12081587, 0.10551917, -0.00916931, 0.021939933, 0.04362025, 0.07338432, -0.051085655, -0.03664957, -0.03731182, 0.1437212, 0.0845459, 0.1500117, -0.0060200463, 0.0983355, -0.053546105) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.08434443, 0.048216186, 0.010695409, -0.0129559655, 0.049092717, -0.0042063794, -0.02166102, -0.0042350343, -0.009282294, 0.07962338, -0.011455967, -0.04874502, -0.1045136, 0.008505003, 0.008240262, 0.05012671) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.06198731, -0.17297053, 0.0566073, 0.0083608795, 0.079738736, -0.060610626, 0.32370192, -0.15390739, -0.081226274, 0.055517398, 0.014447199, 0.042327527, -0.027036957, -6.616861e-05, 0.1258272, -0.019983875) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.0943363, 0.0091257505, 0.040420543, -0.053603742, 0.1091791, -0.03632799, 0.070699655, 0.13188687, 0.07417018, -0.025805647, -0.06991185, -0.051758472, -0.008438183, -0.14027536, 0.006504588, 0.114173554) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.10633977, -0.023071501, 0.036757737, 0.0007309987, 0.040427748, -0.07289382, 0.06328789, 0.034328215, 0.061943185, -0.077135965, -0.032565374, 0.00062860054, -0.021979371, 0.012276076, -0.04740816, -0.028015785) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(0.061437167, 0.014068996, -0.04822803, 0.09350242, 0.2183728, -0.15702839, 0.18488042, 0.026317243, -0.015471634, -0.03901568, -0.0089734215, -0.05156373, -0.08040948, -0.092209116, -0.05796151, 0.13361403) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.10973411, -0.040426504, -0.16822734, 0.07784061, 0.0090193655, 0.07438083, -0.07422519, -0.203652, 0.056367654, -0.091466054, -0.0447998, 0.024001893, -0.053914655, -0.038668424, 0.08506684, 0.048659578) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.009043112, -0.09203883, 0.022184744, 0.004209845, 0.2038544, -0.045173984, 0.16159564, 0.10053371, 0.010582952, -0.063042484, 0.021237446, -0.011668296, -0.10806168, 0.011912546, 0.04330382, -0.024746463) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.06568668, -0.02833877, 0.09351021, 0.014710483, 0.04398727, 0.09462663, 0.0329519, 0.1297999, 0.0107340375, 0.07360955, -0.018970525, 0.008502602, -0.0920376, 0.056101557, 0.012929433, 0.024619853) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.051254936, 0.062558636, -0.06807978, -0.006551413, -0.0076633673, 0.030309137, -0.106015384, -0.06831281, -0.030404948, 0.05926882, 0.026715932, -0.088497296, -0.054462984, -0.01227801, -0.010311083, 0.099016026) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.015502542, 0.00537462, 0.02633326, -0.07737866, -0.00088330114, -0.018275209, 0.078361906, -0.0081867315, -0.13638946, 0.017618608, 0.11358515, -0.0010405321, 0.0740909, -0.002264918, -0.034063537, -0.060190443) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.042629343, 0.0739209, 0.03912732, 0.11014554, 0.055922166, 0.019368846, 0.10011919, 0.0902217, 0.019149555, 0.034863546, 0.0122089675, 0.10900886, -0.041298833, -0.010738884, -0.0026870007, 0.015890738) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.037112057, -0.06629887, 0.03936836, 0.03291702, 0.059923112, -0.032785855, 0.048083927, 0.10904809, 0.1313641, -0.010315023, -0.15743072, -0.09744198, 0.024305899, -0.096249275, -0.07857612, -0.030135915) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.00054254057, -0.048981156, 0.03329021, -0.07434241, -0.046610177, -0.024303012, 0.026940435, 0.08039689, 0.09900339, 0.007865426, 0.06268535, -0.044049695, -0.0016689152, -0.03501175, 0.017373098, 0.0821292) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.04697447, -0.035812877, 0.005974538, 0.07529157, 0.010075567, -0.03600833, -0.09430383, -0.07090645, 0.023873143, 0.02131023, -0.008348957, -0.009980639, -0.09823689, -0.028571725, -0.07929444, -0.038788684) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.08295026, -0.05034217, -0.08505914, 0.10723439, -0.06637907, -0.11842358, -0.08264352, -0.032185186, -0.073077515, 0.056683484, 0.02616744, -0.059737086, -0.077050865, -0.03369475, -0.007927693, -0.085438766) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.08007395, 0.039821204, -0.07772158, -0.12190979, 0.07662546, -0.11207811, -0.03946176, -0.039108325, 0.08615679, 0.0028678637, 0.124481335, -0.09508601, 0.035403047, 0.07397219, -0.011788012, 0.016682126) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.042308416, 0.0073555936, 0.049677137, 0.04294831, 0.015123363, 0.05919064, 0.05501302, -0.06064241, -0.036070332, 0.0019987954, 0.08112024, 0.023841497, -0.035630755, 0.03368634, 0.10488934, -0.06922103) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.031133208, -0.07856735, 0.0032979187, 0.09211448, -0.14899664, -0.07005015, 0.056828376, -0.13923635, -0.03500791, -0.043484457, 0.0498125, 0.05312686, -0.0049841725, 0.086314626, 0.051005997, -0.049838144) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.038326543, -0.03737498, -0.11749225, 0.030851739, -0.113373496, -0.027253302, 0.05312842, -0.026225764, -0.05876045, -0.06770775, 0.119837455, -0.00083785586, -0.06378732, -0.08688726, 0.039552215, 0.0143557945) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.08427676, -0.046708833, -0.12518404, -0.06367922, -0.046853434, -0.0094480105, 0.12533869, -0.094604254, 0.09053903, 0.04590084, -0.13571335, 0.031874284, 0.03226618, 0.024006143, -0.026178446, -0.047451116) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.027397946, -0.10847979, 0.017614635, -0.025857873, -0.093187384, -0.05926039, -0.05023872, -0.083624765, 0.06795984, 0.0027493646, 0.020749295, 0.09832049, -0.12141023, 0.08264644, -0.0016853685, -0.005181633) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.12752809, -0.06449464, -0.11961217, -0.12949815, 0.070006624, 0.10275249, 0.07644897, -0.06041633, -0.0075578657, -0.12794329, 0.004964539, -0.014800492, 0.046865854, 0.0861416, 0.036998138, -0.034033883) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.15891719, -0.02853235, 0.04968209, -0.09101518, -0.07018328, -0.09677462, 0.05921311, 0.028864522, 0.010213871, 0.019289343, -0.03648265, -0.0016206665, -0.018794814, -0.022705803, 0.07537745, 0.02178366) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.098366104, 0.05888944, 0.09015378, -0.017318806, -0.058606993, 0.061028857, 0.07028235, 0.031091658, 0.12299722, -0.00017426712, -0.099248, 0.14091423, -0.052937515, 0.013624963, 0.103408664, 0.062198255) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(-0.020709904, -0.013738247, 0.0053076423, 0.06071885, 0.06132362, 0.02062452, -0.04768658, 0.015030882, 0.031379007, -0.15768094, 0.09955006, -0.038208373, 0.007101915, 0.007270831, 0.00070979935, -0.06905829) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.015471099, 0.0514871, 0.1274458, -0.00962907, 0.047266364, -0.039184794, 0.074994564, 0.061783098, 0.048709303, -0.061110064, -0.105690666, 0.05638092, -0.060523592, 0.05493283, 0.029071826, 0.007579573) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(-0.009159793, -0.029544523, 0.046490125, 0.021924732, 0.0065859677, 0.012625673, -0.04738262, 0.052840993, 0.065721504, -0.039759643, -0.007013138, 0.009738096, -0.014571289, 0.027484687, 0.01607991, -0.0031033175) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.021242077, -0.011926919, -0.11427048, -0.0024482156, 0.04143177, 0.12760398, 0.08341471, -0.008716751, -0.07365522, 0.053618357, -0.08960548, -0.010779268, -0.05312473, 0.07269615, 0.014392407, 0.047747936) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result5 += M4(0.13658938, -0.0121027175, -0.15212831, -0.06805896, 0.0044576405, 0.056819245, 0.023641864, -0.029165141, -0.007019816, -0.10095858, 0.075852305, 0.041530125, 0.061919305, -0.012225218, -0.0067779715, -0.0026264193) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result5 += M4(0.1473576, 0.018526694, -0.04968155, 0.05507178, 0.110761136, 0.051657878, 0.06361484, -0.07440528, 0.002197135, -0.009395242, 0.13855386, 0.043868132, 0.048529003, 0.13694471, 0.0066404436, -0.06866) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result5 += M4(0.007313507, 0.04864367, 0.028402617, -0.05134491, 0.047466293, -0.0067561474, -0.11933579, -0.06931217, -0.016606612, 0.050388865, -0.1549243, -0.040929038, -0.17532085, -0.06572199, 0.13368316, 0.029552922) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result5 += M4(-0.0440264, 0.06244512, -0.017986642, 0.051101707, -0.049465153, -0.06626617, 0.053167023, 0.045974895, -0.051011413, 0.077131175, 0.044943135, -0.16913782, 0.011664235, -0.031492215, 0.011316658, -0.00582016) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result5 += M4(0.15815805, 0.0089472765, 0.0064645647, 0.033447668, -0.021514334, -0.12679036, 0.037935838, -0.060734592, -0.0764403, -0.1088427, 0.03165888, 0.008499531, 0.100371905, 0.038897533, 0.0072137997, 0.08171333) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result5 += M4(0.024810903, 0.064940825, -0.03154588, 0.039987985, 0.063023165, -0.03570734, -0.08396416, 0.03196437, 0.048474986, -0.06172891, -0.056744628, 0.043531377, -0.100087896, -0.10345158, 0.09442366, -0.020917341) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result5 += M4(0.048028313, 0.0141358245, -0.06323257, 0.029968219, -0.0027734619, -0.07782004, -0.093745686, -0.042267147, 0.0047365, 0.003464818, -0.039837938, 0.023058387, -0.14442062, 0.013682007, 0.058822587, 0.022545394) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result5 += M4(0.014406993, -0.010070059, 0.09844127, 0.06869167, -0.12847762, 0.032949094, 0.024468308, 0.05585862, 0.083468765, 0.0227877, -0.13058782, 0.058165018, -0.027615398, 0.080068186, 0.015689049, 0.0094376) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result5 += M4(0.08207505, 0.011757704, -0.0041113226, 0.049861107, -0.039926227, 0.09076766, -0.025002435, -0.017526476, 0.085348755, -0.038788512, -0.05849065, 0.04546601, -0.04753077, -0.068257004, 0.11793372, 0.02955983) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos5 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(5, 0); + imageStore(out_image, store_pos5, result5); + V4 result6 = V4(-0.0038989536, -0.0043582628, 0.001294654, 0.0009452332); + result6 += M4(-0.08121977, -0.038380336, -0.020829868, 0.029039634, 0.01530976, -0.057063304, 0.0195049, -0.014735167, 0.04185835, 0.05366711, -0.012969611, -0.03319984, -0.05106403, -0.055633463, -0.028994061, 0.028658226) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.10012796, 0.081456974, 0.07248836, 0.114769265, 0.0020802727, 0.0043847715, 0.018546477, 0.022872452, -0.00884165, -0.14625998, -0.033222083, -0.044611238, -0.070557326, 0.04118261, 0.0069094216, -0.009191822) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.029538685, -0.0013723186, 0.06894521, -0.10032765, 0.026692117, -0.08450752, -0.050458167, -0.11640873, 0.080680855, 0.1107659, -0.15353, -0.010047626, -0.02712355, -0.022101564, 0.032220315, -0.06997227) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.0032224343, 0.0354366, -0.058405086, -0.030893622, -0.049045626, 0.06558179, -0.028162302, 0.043719556, -0.021546863, -0.055260427, -0.022295615, 0.06230156, 0.047480356, -0.06984872, 0.07106445, -0.014100876) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.060494553, 0.12180862, 0.060568683, 0.0925159, -0.05128127, 0.066973604, -0.060489904, -0.02911236, -0.11094791, 0.029127803, 0.04145522, -0.057129096, -0.033055626, -0.045930255, 0.08202525, -0.045897063) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.07843186, -0.05648976, 0.0913484, 0.02917742, 0.0021692365, -0.040970493, 0.049952883, -0.093126565, 0.11646517, -0.041701615, -0.048509415, 0.098148026, 0.042513654, 0.052685242, -0.07000275, 0.027805822) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.06121697, -0.079474874, -0.007834777, 0.025671117, 0.066246934, 0.053764626, 0.067820795, 0.072327375, 0.09463396, -0.049593072, 0.041942496, -0.0015087968, -0.051801585, 0.06515436, 0.02667065, -0.017995942) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.021473557, 0.07921912, -0.013734631, 0.045093138, -0.052403267, 0.06002366, 0.06625626, -0.035469335, 0.037157696, 0.075933285, -0.06642689, 0.14660804, 0.022041352, 0.10541417, 0.06402472, 0.08726329) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.06950033, -0.018072808, 0.02695172, 0.0065026972, 0.021192212, -0.11478292, 0.023942173, 0.031428583, 0.011598373, 0.02293025, -0.08106882, -0.08036578, -0.06913851, 0.0835192, 0.018538244, 0.005392772) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.024660537, -0.0007606388, -0.009067159, 0.11592896, 0.055480197, -0.012367034, 0.002867635, -0.08191675, -0.0058150105, -3.6418456e-05, 0.06569802, 0.059775144, -0.038561735, -0.020559555, 0.016552716, -0.03197267) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.02979486, 0.05377789, 0.052234903, -0.05070248, -0.064947575, 0.12553914, 0.0068965396, 0.027574716, -0.035755243, 0.0077077877, 0.09281072, 0.03942586, 0.039124534, 0.07187662, -3.5058438e-05, 0.08415454) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.03339983, 0.070216626, 0.046354398, -0.14009127, 0.013386873, 0.031226654, 0.04923734, 0.002987121, -0.029956015, -0.07421927, 0.055250898, 0.010030061, 0.04371311, -0.0015985378, 0.003921697, -0.056088574) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.07246707, 0.033802774, -0.057142522, 0.030532017, 0.009918024, -0.054032214, -0.0345132, 0.060487933, -0.040113796, -0.047527373, -0.013189345, -0.066541985, -0.12659246, -0.07013662, -0.05618693, -0.08357053) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.080087826, 0.020220129, -0.091328844, 0.09855738, -0.051719733, -0.014984897, -0.02779708, -0.03337297, -0.1000572, 0.12688409, -0.05725992, -0.0861258, -0.19999577, 0.016356416, -0.039339047, -0.18549545) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.05528715, -0.0018134404, 0.07083376, 0.03813237, 0.060010713, 0.120528385, 0.084896475, 0.044722658, -0.024410535, 0.03334355, -0.026316332, -0.056382, 0.017550284, 0.06480869, -0.045649167, -0.097820565) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.003237386, -0.03909121, 0.11153995, 0.071641795, 0.031698544, -0.041371208, -0.056153197, -0.06866652, 0.010502294, 0.010167646, -0.062788166, -0.08198584, -0.035270277, 0.10371835, -0.05051246, 0.094903894) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.06783628, 0.12265514, 0.072223894, 0.08102883, 0.045236282, 0.042823497, 0.09579931, -0.03763629, 0.04247451, 0.03330913, 0.017840765, 0.035211768, -0.022152655, -0.019113332, 0.090956114, 0.18752785) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.010930934, 0.060148805, 0.022271365, -0.052964818, 0.033798542, 0.067215696, -0.099011295, 0.08770544, 0.07007943, 0.09040316, -0.052158643, 0.03058002, -0.057638217, 0.04558245, -0.036542434, 0.08431221) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.027814845, 0.063106425, 0.02130792, -0.0146428, 0.09549449, -0.062544644, 0.03758588, -0.17146301, -0.007836936, -0.0431447, -0.007482443, -0.025422182, -0.064280495, 0.065394, 0.020469906, -0.0277139) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.03358969, 0.0379092, 0.043262634, 0.049140327, 0.0039645038, -0.046470325, 0.032649245, 0.11974918, 0.029621076, 0.053436406, -0.038669176, 0.071176775, -0.055545572, -0.02194692, 0.11197511, 0.10643538) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.03090294, -0.091038354, -0.060254194, -0.00499489, 0.0054445085, -0.044501964, 0.005258388, -0.039474677, 0.03951341, -0.045237713, 0.017700277, -0.09254598, -0.06064518, -0.003586223, -0.015606192, 0.004800372) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.013809387, -0.033053614, 0.039459832, 0.02819838, -0.021556197, -0.118921176, -0.07741786, -0.020542845, -0.07848702, -0.03639302, 0.09659093, -0.07421048, 0.005345507, -0.028909598, -0.11017211, -0.068401314) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.18464024, -0.09948134, -0.01705716, 0.07365286, -0.118038714, -0.07138392, -0.124259055, 0.003525617, 0.013056939, -0.10422653, 0.032659788, -0.09118937, 0.014305824, 0.07475685, 0.0008831189, -0.017462736) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.03358326, 0.009354603, -0.09213936, -0.10078634, -0.029338097, 0.0843904, -0.038262714, -0.0057825265, -0.04093783, 0.05314713, 0.059301164, 0.0046721445, -0.048050735, -0.10729937, -0.074064665, 0.005478982) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.0154861845, 0.07618862, 0.07092945, 0.022824433, -0.0027034986, 0.0041112634, -0.029747354, 0.13752925, -0.1504087, 0.04048511, 0.04183432, -0.09086983, -0.022890452, 0.029080313, -0.06602369, 0.10445409) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.017917268, -0.13203806, 0.065662496, -0.014341489, 0.061482817, -0.016565453, 0.014022371, 0.056239087, 0.0969123, -0.032164313, -0.0033231692, -0.014837857, 0.035103977, -0.0096838195, 0.043399017, 0.03221769) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.014743158, 0.045479357, 0.015847955, 0.039153155, -0.029438738, 0.037716873, 0.008257169, 0.15298882, -0.013266421, 0.045728303, 0.0487071, -0.047196448, -0.036513872, -0.035755534, -0.06700521, 0.076701246) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.0681232, 0.029739344, -0.07147357, 0.1880909, 3.3190172e-05, 0.043467093, -0.087500654, -0.051465556, -0.07007289, -0.102503695, 0.006321471, -0.08500649, 0.019971188, -0.01784205, -0.0718867, -0.013194477) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.07558779, 0.058620095, 0.04910805, -0.057928365, 0.008880751, -0.031849515, -0.061676502, -0.013032714, 0.02938906, -0.06954156, 0.070568345, 0.020199547, 0.04502316, 0.014738326, 0.00029312287, -0.12000365) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.059173062, -0.017865892, 0.05141153, 0.08557688, -0.0757483, -0.03348801, 0.015686926, 0.03990614, -0.07472521, -0.049942005, 0.09716857, -0.057634108, -0.040285047, 0.008317879, 0.054989148, -0.014140023) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.011826009, 0.021604199, 0.038567595, 0.02700339, -0.0014764774, -0.047033824, 0.1040885, 0.07659863, 0.004954251, -0.053125, 0.12655114, -0.047758907, -0.033304423, 0.03233765, 0.040499114, 0.05379089) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.03496207, -0.014462499, -0.081252456, -0.17735213, 0.018975845, -0.110709645, 0.06783415, -0.09749874, 0.059320617, -0.015737915, 0.0062097856, -0.13447511, -0.08083084, 0.060740717, 0.062958196, -0.07639135) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.041436568, -0.03645208, -0.04579347, -0.16093275, 0.018860158, -0.05696364, -0.069994375, -0.037959047, -0.08300647, -0.047230266, 0.12707584, -0.038276955, -0.031748727, -0.029482221, 0.03859251, -0.011342248) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.019486586, -0.021060845, 0.0036018065, -0.16014433, 0.0046816133, -0.0048009837, 0.014038131, 0.05672765, 0.08483723, -0.13409449, 0.017866405, -0.029022763, -0.06500769, 0.06632925, -0.04884642, -0.079201534) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.032045063, -0.0041746125, 0.06725956, 0.09691132, 0.005699202, 0.011759222, -0.067484975, -0.06577835, 0.061344754, 0.019467244, -0.027001986, -0.07910169, -0.08337438, -0.079636194, -0.06286591, 0.04838613) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.055871997, 0.09369375, -0.01953019, 0.12775333, 0.058744013, -0.0066160806, 0.009220085, 0.08000778, 0.053792644, -0.030642819, 0.01728414, -0.041119847, -0.07453697, -0.06410943, 0.03685116, -0.07885041) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.055632625, 0.07525554, -0.04885276, -0.01742548, 0.3075751, -0.13632649, 0.022850616, -0.26141414, -0.008697726, -0.047249142, -0.044596437, -0.0025683641, 0.12889546, -0.020300275, 0.082417175, -0.0039739665) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.02810294, -0.03809757, 0.08046189, -0.082981594, 0.23022284, -0.034283876, -0.030902399, -0.037565365, -0.07931429, -0.019811807, -0.03289918, -0.011959579, -0.008965035, -0.015181819, 0.12808155, 0.0747458) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.08854927, 0.04346527, 0.028700938, -0.03626645, 0.04051023, 0.013642703, 0.059354186, 0.020416602, 0.023522727, -0.094088964, 0.07168432, -0.033972364, -0.031612184, 0.07472911, 0.0048883935, 0.0045036874) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.04324146, 0.13174659, 0.054820597, -0.08789853, -0.16005291, 0.19481367, 0.62927884, 0.20935644, -0.044793837, 0.04239561, -0.068420686, 0.047670186, 0.056926824, 0.05410318, -0.07957754, -0.043798186) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.0455846, -0.029302457, 0.0646816, 0.042443078, 0.037940286, -0.095387705, -0.2350709, -0.08874423, -0.018748539, -0.03410439, 0.005636539, -0.06151945, -0.0045142756, 0.0646706, -0.1369661, -0.20853448) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.010609357, 0.025846373, 0.030792624, 0.009895833, -0.09756894, 0.04911022, 0.013620234, -0.036006425, 0.059510857, 0.02168586, 0.016456366, -0.049084052, 0.0045819697, 0.13977326, -0.08826731, -0.114973925) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(0.026166959, 0.10772811, 0.111195125, 0.057942893, -0.089110784, 0.23984721, -0.36836126, -0.3785515, -0.010766863, -0.014619581, 0.019174002, 0.052273594, -0.06740997, -0.038356576, -0.068149075, 0.022867449) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.0030223601, -0.047699768, 0.040912174, -0.092477605, 0.15724044, -0.020237988, -0.010965915, -0.0129677495, -0.040470943, 0.032196853, 0.01428758, 0.0025178443, -0.03888765, 0.036991455, -0.110934675, -0.06804419) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.017781394, 0.0067281285, 0.04054156, 0.02693883, 0.0867591, -0.057646625, -0.004688352, 0.051743183, 0.038095172, 0.04229726, 0.046975043, 0.015176319, -0.05305842, -0.053189896, 0.040467143, 0.025840733) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(0.017740274, -0.012710386, 0.0033259788, 0.005123573, 0.028739845, -0.042328518, -0.14219226, 0.02091681, -0.011662327, 0.07148577, 0.08588074, 0.07257112, -0.06547158, -0.041137695, 0.05207661, -0.03313349) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.0057860743, -0.020939376, 0.08921119, -0.06506731, 0.050761387, 0.019415827, -0.033594783, -0.00042708387, 0.012891473, -0.07623292, -0.079733476, -0.06658475, 0.09981177, 0.03150927, -0.04616619, -0.016587893) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.031544868, 0.08117251, -0.015487993, 0.11661885, 0.039048657, -0.0704665, -0.10947503, 0.026447205, -0.022411382, -0.028283179, 0.0188138, 0.09396225, -0.02735331, 0.0824253, -0.0125431605, -0.08082985) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.013279691, -0.093350925, 0.074985296, 0.1277196, -0.029241206, 0.028187692, -0.072432674, -0.0769008, 0.03140021, -0.10582564, 0.08263234, 0.08932112, 0.053676743, -0.06139165, -0.04525355, -0.0438729) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.008967789, -0.004597033, -0.027966274, 0.03905671, -0.05694114, -0.06872685, -0.10061456, -0.022042295, 0.05294858, -0.08934303, -0.08214741, -0.03904183, -0.022209413, 0.03878992, -0.0047199936, 0.09345811) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.018654771, -0.054173484, -0.039744854, 0.009858376, -0.089152016, -0.084001526, -0.061619073, -0.10237463, 0.08925324, -0.07849693, -0.063074976, -0.06056687, 0.09099346, -0.035062224, -0.019892413, 0.060339242) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.040370267, 0.08241906, -0.016646087, -0.020500889, 0.0799791, -0.033270795, -0.019412996, 0.034698624, 0.07956623, -0.01643923, -0.047943264, 0.05613537, 0.059290167, 0.07392586, -0.06305286, -0.0984932) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.030550504, -0.011271412, -0.10664842, -0.03798008, 0.044826753, -0.036927905, -0.01237452, -0.05574453, 0.011547484, 0.02502005, -0.09141574, -0.034175444, 0.03287005, 0.08772966, -0.026608067, -0.06803225) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.006182682, 0.003882998, 0.0022293844, -0.094368264, -0.009579791, 0.031904656, -0.041218042, -0.086839706, 0.02768442, 0.018849062, -0.00294085, 0.052888874, -0.014610092, -0.0140278125, -0.042477414, 0.09105648) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.022853049, 0.0019259572, 0.063499905, -0.033765458, 0.101450846, -0.038439374, -0.034859713, 0.01740049, 0.05581045, -0.065962866, -0.010080001, -0.042827334, 0.03546921, -0.01756796, -0.035149574, -0.05406105) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(0.1580656, -0.040340193, 0.018478535, -0.064532176, 0.058534574, 0.04244379, -0.06425977, 0.10288222, 0.09072548, -0.12669274, 0.028870568, -0.11511105, 0.07577319, 0.020248434, -0.08214283, 0.035512563) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.04232806, -0.045584124, -0.02226961, 0.045754246, -0.08769567, -0.0552654, 0.01448968, 0.07330945, 0.0045827376, 0.0156284, 0.010916423, 0.078697234, 0.02928967, 0.0042608767, 0.083718784, 0.047722142) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.09328954, -0.025286883, -0.04936826, 0.027563017, 0.011434637, -0.022197913, -0.03838903, -0.04670774, -0.02514433, -0.019056678, 0.049966346, 0.0037683267, 0.007453353, 0.0034734688, -0.09506934, 0.04617967) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.0076608732, -0.048219267, -0.022918345, -0.12860057, 0.06602398, -0.037191257, -0.07352826, -0.045813985, -0.026482398, 0.058808174, 0.09063254, -0.037254643, 0.016440585, 0.058191396, -0.064229846, 0.049320742) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.039118264, 0.041054085, 0.06349492, -0.04045263, 0.026455425, 0.07853797, -0.034929063, 0.101546295, 0.041907545, -0.02595933, 0.079643704, 0.07804714, -0.09784616, 0.010753426, -0.030238094, 0.107038096) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.06737005, 0.013649802, -0.06268763, -0.07925037, -0.056656867, -0.07683097, -0.013727786, -0.101453476, -0.08024483, -0.013495467, 0.0025407842, -0.01588766, 0.06558699, -0.06942897, 0.07758535, 0.010492433) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(0.08597134, 0.005149852, -0.051043954, 0.01715281, -0.11375912, -0.06892198, 0.039252125, 0.0032861996, 0.06824275, -0.059931424, 0.005122382, 0.06292166, -0.0216584, -0.048531543, 0.10980739, 0.07210072) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(0.055184066, -0.036975604, 0.041980747, -0.022037117, -0.072424196, 0.01939902, -0.040501624, 0.04875611, 0.020369923, 0.05543229, 0.0043369783, 0.036187787, -0.033490006, 0.030462204, -0.03637684, -0.022858646) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.04297529, 0.035418656, 0.09586176, 0.03355444, 0.027567318, -0.07889762, -0.06288524, -0.053781122, 0.018659063, -0.07641127, 0.002697134, -0.068351224, 0.0033770464, -0.07919011, 0.006247681, -0.009255601) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.061277457, -0.053327844, 0.070346005, -0.033922527, 0.03522224, 0.053046897, -0.11109556, 0.13925882, -0.00061448495, -0.1015076, -0.0037787554, 0.036802147, 0.051768627, -0.003743548, -0.010032165, -0.0453096) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result6 += M4(0.029426752, -0.01598847, 0.042764127, -0.00757801, -0.049388587, -0.11944691, 0.103931926, 0.045513023, -0.08532985, -0.036303412, -0.059192635, 0.0033723451, 0.0331181, 0.08122468, 0.03682387, -0.04077265) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result6 += M4(0.03901068, -0.021055121, 0.05075207, 0.114628285, 0.07900779, -0.018080782, -0.041571125, -0.07785359, 0.035607874, -0.08246888, 0.11224204, -0.008898714, 0.04640706, 0.083105445, -0.034077268, 0.063498765) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result6 += M4(0.002015067, 0.026458666, 0.031602748, 0.09739668, 0.12569158, -0.034235034, -0.05153211, 0.014559746, 0.0012523393, 0.04826581, -0.07524033, -0.1223732, 0.00104011, -0.082020305, -0.04242575, -0.1499972) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result6 += M4(0.07169129, -0.029651612, -0.08288934, 0.06807627, -0.008072628, -0.018031934, 0.0499014, -0.019302247, -0.049408782, 0.07496624, -0.07271186, 0.00080191117, -0.007003241, 0.055754606, -0.03711976, -0.07303379) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result6 += M4(-0.026257513, -0.009987195, 0.053181145, 0.027097696, -0.09631528, 0.026093923, 0.039725807, -0.0033398673, -0.06079369, -0.0073444885, -0.024681434, -0.06734212, 0.10112194, 0.058777716, 0.057931934, 0.017231392) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result6 += M4(-0.05005092, -0.07890241, -0.017942244, -0.07459814, -0.0042739203, 0.037176672, -0.0682558, 0.06299864, 0.12989686, -0.0834491, 0.056011822, 0.061774034, -0.035469856, 0.08726307, -0.10024864, -0.05271724) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result6 += M4(-0.03116139, 0.01901378, -0.012303783, -0.0753389, 0.052567188, 0.002249248, -0.08339849, 0.065930165, -0.0070671053, -0.04397056, 0.06623604, -0.058305502, -0.08922601, 0.023652848, 0.061128803, -0.008606419) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos6 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(6, 0); + imageStore(out_image, store_pos6, result6); + V4 result7 = V4(-0.0038117077, 0.0017851336, -0.0016869111, 0.0009794832); + result7 += M4(-0.022108762, -0.0772762, -0.014686075, 0.009982338, -0.057432048, 0.010377828, 0.0760302, 0.01842003, 0.0026311583, 0.08536114, 0.04499131, 0.010238139, -0.03588862, -0.025822643, 0.06014943, -0.033510838) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.029284421, 0.07346769, -0.112415425, 0.03000079, 0.030954612, -0.060051043, 0.03489691, 0.01613266, -0.023797562, 0.013623875, -0.100274116, 0.18333016, -0.0010282464, -0.08957408, -0.016285427, 0.044325836) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.0036874886, 0.02437029, -0.03949278, 0.05882416, 0.034730606, -0.04464648, -0.0434839, -0.06384826, 0.05470935, -0.030296575, -0.0022262372, 0.047629252, -0.059111275, -0.07553347, 0.07795378, -0.06940068) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.15271372, 0.02454326, 0.027999064, 0.08046675, 0.11828206, 0.058400836, 0.1164011, -0.021872206, -0.044146802, 0.0049063717, -0.0021209158, -0.13289754, -0.0037976734, -0.022374762, 0.052033994, -0.01903926) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.019085867, -0.025561273, -0.05129221, -0.054469563, -0.089686975, 0.05149545, -0.1663768, 0.023601143, -0.058614332, 0.07985783, 0.099675395, 0.12938404, 0.033986263, -0.064185485, -0.07405139, -0.028947316) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.026471617, 0.07042691, -0.09544429, 0.009082479, 0.13169429, -0.017167233, 0.038428567, 0.083923884, 0.035172045, -0.04452317, 0.09544801, -0.17526191, 0.020440126, 0.014149852, -0.12883401, 0.007097739) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.08267727, 0.053013325, -0.035440173, -0.14218657, 0.0033551129, -0.0057470235, 0.049236603, -0.069152586, -0.05204994, 0.020192035, -0.014467391, -0.032003634, 0.045385264, 0.043827422, -0.06540043, 0.019056026) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.08002316, 0.04515341, 0.06237523, 0.05640197, 0.08851938, -0.04902337, -0.092177905, 0.14650793, -0.118726425, 0.0554673, -0.042757448, -0.0017342283, -0.03446904, -0.080317706, -0.014800018, -0.09512153) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.013273446, 0.010650422, 0.015474958, 0.041688636, -0.090940356, 0.04170716, 0.07099755, -0.115107015, 0.0710504, -0.002440817, -0.040017672, -0.066628285, 0.004494187, 0.040857032, 0.0026506055, 0.020700559) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.07458882, -0.08363497, -0.022403482, -0.075498156, 0.07194065, -0.0466907, -0.0009786695, -0.042617414, -0.043154787, 0.06711663, 0.11909791, -0.0032636428, 0.083774865, -0.08829283, -0.020261519, -0.06589554) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.03242536, 0.014664397, 0.0286414, 0.019731356, 0.02008543, -0.03529691, 0.043327924, -0.036278386, -0.08065133, -0.08188265, -0.04670728, 0.025753127, 0.011362365, -0.11739043, 0.048481718, -0.0751109) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.11260148, -0.049960513, 0.093739845, 0.058583196, 0.0018189066, -0.014266745, -0.015098044, -0.05114635, 0.04193477, -0.09496345, 0.08538932, -0.0061301994, 0.06456449, -0.07256007, 0.09440314, 0.053025104) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.024049377, -0.048633743, 0.09563663, -0.05071897, 0.035929102, 0.008051272, 0.049868815, -0.071399435, -0.10205808, 0.036965143, -0.099305734, 0.008484762, -0.009073027, -0.053958133, 0.056167595, 0.054178473) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.066072166, 0.0072884513, 0.093024015, -0.0564294, -0.040564664, -0.0003985774, 0.123239525, -0.08584849, 0.19530736, -0.036140658, 0.04370871, 0.07383917, 0.030313086, -0.048635215, -0.039205875, 0.042827968) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.053941797, 0.070613, -0.035709012, 0.017217834, -0.045103114, 0.04621686, 0.045719683, 0.020702874, -0.1057803, 0.011640327, 0.07764035, -0.116013885, -0.040522914, 0.013310397, -0.05320381, -0.030903814) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.037080012, -0.005824107, -0.019775195, 0.056729216, 0.032282397, 0.040109757, 0.014124904, -0.052736532, 0.048745066, 0.030573156, -0.03477387, 0.049863774, -0.08902636, 0.047438744, 0.022952802, -0.035791904) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.04456001, 0.0025101511, 0.039836433, -0.10857939, -0.09225115, -0.00036908212, 0.028155284, -0.08036683, -0.019053577, -0.019003084, -0.015559188, -0.05176242, -0.17218363, 0.13476832, -0.018666597, -0.22940242) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.040902987, -0.0038489122, 0.060533665, 0.022665745, 0.03256443, -0.04900081, -0.0674513, 0.08444212, 0.05594607, -0.018797886, 0.02598956, 0.0067269835, -0.072674036, -0.03315621, -0.008855562, 0.090455286) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.0017175861, 0.004432876, -0.08571678, 0.08815005, -0.030852491, 0.105467975, -0.13066338, 0.14647692, 0.052226577, 0.015055965, 0.08580684, -0.06265265, -0.06670728, 0.09847665, 0.07251342, 0.09020322) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.032051943, 0.008961726, -0.07772863, -0.02377053, 0.083005406, 0.03004893, 0.20764102, 0.09042182, 0.029720364, -0.07041896, -0.018942611, 0.01885571, -0.00786615, 0.111389264, 0.119036525, 0.06914475) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.017006498, -0.07508358, 0.09195707, 0.012550291, -0.13707393, -0.047904704, 0.048549216, 0.11770418, -0.07060674, -0.054857228, 0.04538206, 0.11999147, 0.041035276, 0.015318645, -0.022243252, 0.04722539) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.019534253, 0.07006985, -0.06960835, -0.06288192, -0.17387794, 0.031444862, 0.034051307, -0.11319755, 0.05155222, 0.047476403, -0.015497312, 0.06387274, -0.1148164, -0.038219087, 0.038388185, 0.017016066) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.068245076, -0.11623365, 0.02678361, 0.023207245, -0.12821373, -0.13140312, 0.07597706, -0.08400399, -0.017785383, 0.009071198, -0.007038081, 0.08130658, -0.006126337, -0.045163725, 0.10057194, -0.024674658) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.08907691, -0.010414734, 0.14749734, -0.035694443, -0.062110353, -0.000997743, -0.047550946, 0.023165844, -0.101600006, -0.06755865, -0.020144435, -0.02186901, 0.014118161, 0.03248896, 0.02622823, 0.014087114) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.036788203, -0.008999711, -0.003750921, -0.024741642, 0.03874335, -0.07744384, 0.052996594, -0.015927782, 0.0065550096, 0.08569947, 0.046352863, 0.035940226, -0.019608406, 0.00352769, -0.0319453, 0.0155053) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.021151949, -0.069678, -0.009872032, -0.0071163126, -0.041195743, -0.0165002, 0.04306899, -0.08110923, -0.07182757, -0.077564746, -0.037091058, 0.008913657, 0.07311747, 0.032383252, 0.01943495, 0.05127753) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.00399499, 0.07343125, 0.07574189, -0.09746978, 0.1142471, -0.009978954, -0.016001582, -0.02433233, 0.056399036, 0.068034545, -0.07417334, -0.059331343, -0.0025952933, -0.019663459, 0.037206426, 0.0011079335) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.06892245, -0.012124295, 0.009257979, -0.2587671, 0.003828631, 0.004344902, -0.008169538, 0.051003557, -0.04810335, 0.03180248, -0.0689927, 0.1363492, 0.024962123, 0.07392392, 0.009339392, -0.12199207) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.043020483, -0.013947177, -0.1694067, 0.044837795, 0.012503061, -0.009770611, 0.028907226, -0.09729356, -0.04239236, -0.07796651, 0.058166027, 0.1333084, -0.04553736, 0.11322759, 0.07179535, 0.07147171) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.013554354, -0.03038568, -0.059910882, 0.02347311, 0.053393137, 0.04546018, 0.12536614, -0.036976073, 0.046960566, -0.008009969, 0.0027020946, -0.046790022, -0.029539092, 0.09379051, 0.08958193, 0.055571742) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.06503237, 0.061410774, 0.009524289, 0.0073866234, -0.012942222, 0.08171744, -0.00850585, -0.08366409, -0.0779762, 0.026001282, 0.06379717, 0.047946732, 0.027320825, -0.0054476866, 0.014957256, 0.09648285) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.1606646, 0.00052375486, 0.017545657, 0.02180382, -0.15263359, -0.015927572, 0.050827894, -0.00017070727, -0.0763268, -0.10539596, 0.059114676, 0.011885722, -0.12039564, 0.011379521, 0.021609766, -0.053769488) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.017316435, -0.004035251, 0.03392696, -0.16517965, 0.042948753, -0.00039262557, 0.09877794, -0.043495446, -0.0354514, 0.0575543, -0.038868185, -0.028328411, -9.141329e-05, -0.0024609284, -0.06401439, 0.11179405) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.06246585, -0.077223286, -0.065999694, 0.07048112, 0.076422736, 0.057989802, 0.038670413, 0.032660462, 0.05590677, -0.070880234, 0.052391127, 0.050084487, 0.04571293, -0.048126422, 0.0063367574, 0.11231014) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.024671948, 0.014420454, -0.13912754, -0.064359024, 0.014246568, -0.022041135, -0.029161232, -0.00014305473, -0.063821465, 0.041720066, -0.030575158, -0.06301232, 0.008975099, -0.027341042, -0.02838802, -0.026846997) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.049043518, 0.06849457, -0.024882907, 0.06503889, 0.013146226, -0.02128863, 0.06641183, -0.022719847, 0.04232845, 0.016351385, 0.0486688, -0.024709228, 0.060134824, -0.055299737, -0.06224705, 0.09244035) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.0054642824, -0.035227746, 0.09314146, -0.07578216, 0.2354858, 0.18473773, 0.09925055, -0.1339466, -0.033941768, -0.02729245, 0.08033401, -0.01042016, -0.038648494, -0.051262796, -0.03814591, -0.04033912) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.031284492, 0.037661742, -0.04126395, -0.043256424, -0.07407007, -0.044981558, 0.005672934, -0.06808281, -0.011618861, -0.009997736, 0.03826024, -0.084996685, -0.087410845, -0.016328333, -0.04031317, 0.016524449) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.015371013, 0.050453167, -0.050600223, 0.035403974, -0.04539882, 0.03803801, -0.008198186, -0.07881108, -0.015662374, -0.038917996, -0.013281139, -0.09637506, -0.012599709, -0.07281992, 0.09187619, 0.007194766) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.04095932, -0.03357162, -0.06588229, 0.025510632, 0.2674117, -0.22785266, -0.12240091, -0.0013760128, -0.013565895, -0.00276124, -0.0021643194, -0.008356791, 0.0402258, -0.050306827, -0.10443381, -0.016622944) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(0.03470202, 0.041181553, 0.027053824, 0.106369026, 0.005251518, 0.011868653, 0.016954951, -0.21089609, -0.03974028, -0.05850968, 0.015647968, -0.11322036, 0.12823893, -0.08432836, 0.068121076, 0.16077763) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.024998384, -0.115426935, 0.057556707, -0.08807241, 0.03329757, -0.10197948, -0.028301943, 0.031340323, 0.016252283, -0.068719536, 0.01888513, -0.0068824687, -0.023013921, -0.058076188, 0.020755779, 0.0064459248) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.0060393657, 0.022092093, 0.0734516, -0.033276334, 0.24523115, 0.2430464, 0.26843286, -0.32153478, 0.03719015, -0.014183043, -0.0039644414, -0.029445626, -0.07057197, -0.094200134, -0.10454257, -0.024072656) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.005762803, -0.098403946, 0.032143362, 0.03409906, 0.04295547, 0.004997708, -0.034336805, -0.052442804, 0.024350947, 0.09473848, 0.04116833, -0.022781879, 0.008769876, -0.010821418, -0.06514177, -0.015287337) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.03298524, -0.023450147, 0.056532472, 0.04820627, 0.06645917, -0.035372693, 0.0062366608, -0.012253925, 0.0031285128, 0.07800529, -0.05330422, -0.0068239477, -0.03153592, -0.06303458, -0.0052032378, -0.052841794) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.06980198, -0.007938026, -0.017063018, 0.047162212, 0.010251544, -0.07388823, 0.028271103, -0.00677798, -0.029080223, 0.0029963152, 0.060056947, 0.0835784, -0.0027231695, 0.009140382, 0.023132697, 0.027793132) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.09639355, -0.0007255151, -0.043168895, -0.056482393, 0.0077212206, 0.020918498, -0.12696053, -0.0705045, -0.08151478, -0.013205512, 0.09157776, -0.09248994, 0.06787008, -0.048869498, -0.07316288, 0.0077557024) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(0.037241574, 0.03713097, 0.10107685, -0.04167847, 0.04657428, -0.09126631, -0.024179278, -0.069651924, 0.029998157, -0.010647797, 0.042466883, 0.1047161, -0.10802436, -0.06271864, -0.025247434, -0.004706343) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.0712266, 0.011250825, 0.04025191, 0.06975699, -0.094956346, -0.06498642, -0.0216037, 0.08650955, -0.027008714, -0.10751367, -0.002686208, -0.06768062, -0.07280794, 0.05620467, 0.082205415, 0.075214274) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.08280312, 0.0011460566, 0.01607163, -0.10064471, -0.1263765, -0.07537688, 0.13279788, 0.08772011, -0.025030404, -0.06478318, -0.06815474, -0.022436047, -0.043828335, 0.0019498218, -0.04975438, -0.042386193) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.046281785, 0.06941192, 0.058062352, 0.034496132, -0.0224981, -0.08556613, 0.092020795, 0.008655339, -0.06495638, -0.033438765, 0.07444992, -0.024945073, -0.06979222, -0.05369701, 0.02639013, 0.05093163) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.061115485, -2.7489514e-06, 0.04907979, 0.08755151, -0.109906875, 0.13293144, -0.0061956984, -0.055001926, 0.10604926, -0.036585126, -0.01129617, 0.06533925, 0.028951498, 0.02836822, -0.009285695, 0.031225085) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.054955214, -0.014827114, -0.011391504, -0.1415423, -0.06984717, -0.033834234, -0.08672749, -0.08203714, -0.08083734, 0.096476376, 0.026909178, -0.05756255, -0.058520477, -0.057836547, 0.033693686, -0.000633979) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.072177984, 0.043209787, -0.039919898, -0.11016126, -0.046228252, 0.10044813, 0.031268172, 0.03537284, -0.02603923, -0.06400941, -0.053665984, 0.027109018, -0.019052014, -0.0098982, 0.04205872, -0.00763936) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.10131261, 0.07294803, 0.058457725, -0.09701802, -0.03572661, 0.06004882, 0.007814535, 0.036029443, -0.04847206, 0.022544416, -0.046989202, 0.04457287, 0.015332742, 0.02801241, 0.067985736, 0.010634278) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(0.013744527, 0.069068596, 0.17956209, 0.014133916, 0.038767934, 0.08231689, -0.0045722607, -0.0042078537, -0.02658582, -0.12694931, 0.036240965, 0.07121863, -0.09354095, -0.019289192, 0.098100014, 0.06732996) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.038938515, -0.03167146, -0.0012567732, 0.047824655, -0.07157453, 0.04418941, -0.014551912, -0.035124987, 0.028785449, 0.02682695, -0.06023985, -0.06667385, -0.013240203, 0.08523133, -0.005103467, 0.006903735) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.020899843, 0.058958724, 0.05317544, -0.06398717, -0.01966526, 0.07135247, -0.0020477425, -0.03075604, 0.068174906, 0.02354443, -0.022905147, -0.030394938, -0.07706818, 0.004408793, -0.03052902, 0.06714008) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.08634797, -0.06523894, 0.023252988, -0.09636831, 0.06816247, 0.042835083, 0.08365992, -0.10609913, -0.05297124, 0.0042413375, 0.034709662, -0.0011367453, -0.010779664, -0.047121253, -0.038354006, -0.035943564) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.051860645, -0.06394688, 0.06645791, -0.050849326, -0.0946434, 0.00290107, -0.06335382, 0.051045984, -0.016267888, -0.068001784, -0.041934684, 0.03915042, 0.01279213, 0.034656562, -0.10466623, -0.02332415) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(-0.02785419, -0.089963436, 0.07942804, -0.012250017, 0.053166714, -0.034409646, 0.002525768, -0.060929403, -0.09435715, 0.00581492, 0.06780988, 0.08173522, -0.017907154, 0.07328727, -0.05810805, 0.06703041) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.10841989, 0.025866363, -0.040193662, -0.04476122, 0.07598157, 0.014580666, -0.010487695, 0.0075905467, 0.041004002, 0.062421937, -0.017023217, 0.057668515, -0.010527608, 0.08871007, 0.025819842, 0.04186592) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(0.016259976, 0.00875399, 0.09234057, -0.11611908, -0.10711838, -0.004175481, -0.049634323, 0.060516663, 0.0119442, 0.08958184, 0.08381795, -0.037994113, -0.010793835, -0.031942498, 0.08565561, 0.024797326) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result7 += M4(0.046136722, 0.0478266, -0.003158088, -0.11279642, -0.031695813, -0.027098725, -0.082044065, 0.05553077, -0.0045024413, -0.015094009, -0.025931666, -0.058910236, -0.06116705, -0.063627474, 0.02103492, 0.009031596) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.04414605, -0.095046096, 0.032809805, -0.08184362, 0.09131582, 0.016300326, 0.07270438, 0.017489854, -0.0384784, 0.074400164, 0.031727597, 0.045654103, 0.015872462, 0.02539864, 0.014262432, 0.026470609) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.039527193, -0.00022988305, -0.03284224, 0.043684322, -0.019189415, 0.06152483, 0.11235083, -0.15796722, 0.0020838324, -0.0018742892, -0.045828313, -0.09567685, -0.050994094, -0.004556612, 0.060133237, 0.11261262) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result7 += M4(0.084179245, 0.0149169825, -0.035363227, -0.0435991, -0.09248099, 0.033441387, -0.026121316, 0.044969235, -0.04189926, 0.06723623, 0.038717676, 0.0388548, -0.065339096, 0.042821918, 0.053455207, -0.03305374) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result7 += M4(-0.0652578, 0.0814914, -0.087502435, -0.014426764, -0.060107917, -0.07230937, 0.03963055, -0.061515562, -0.10676588, 0.011324287, 0.09270469, -0.08671803, -0.093750544, -0.09810561, -0.07163893, -0.07288739) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result7 += M4(0.07888964, 0.016953904, 0.047080345, -0.022342017, -0.066081196, 0.0046780207, 0.03669107, 0.008783624, 0.076003715, 0.009999698, -0.010853265, 0.0347905, -0.08681542, 0.06495628, 0.042112242, -0.025783714) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result7 += M4(0.070680596, 0.03244454, -0.01974833, 0.021112045, 0.02290066, 0.027014915, -0.044182856, 0.07263731, -0.01968019, -0.039142694, 0.14349835, 0.027714746, 0.052184384, 0.04184255, -0.0012517895, 0.036755245) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result7 += M4(0.0506502, -0.053421464, 0.023829807, 0.0022872712, -0.111069776, -0.091984116, 0.06728056, -0.11610378, -0.09802359, -0.024736864, 0.045063097, 0.0642545, -0.011846853, 0.019056248, 0.06552419, -0.114702) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result7 += M4(-0.08109886, 0.047195323, 0.05229554, -0.021077262, -0.00050660135, 0.017122546, 0.069651805, -0.0053617856, -0.013636263, -0.088768475, 0.013842211, -0.003643894, 0.017604552, -0.050271783, 0.01009005, -0.072123244) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos7 = ivec2(gl_GlobalInvocationID) * ivec2(8, 1) + ivec2(7, 0); + imageStore(out_image, store_pos7, result7); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4_CMP] (Conv2D-6) +//!COMPUTE 16 16 16 16 +//!HOOK LUMA +//!BIND conv2d +//!BIND conv2d_5 +//!SAVE conv2d_6 +//!WIDTH LUMA.w 1.0 * +//!HEIGHT LUMA.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#ifdef GL_EXT_shader_explicit_arithmetic_types_float16 +# define V4 f16vec4 +# define M4 f16mat4 +# define F float16_t +#else +# define V4 vec4 +# define M4 mat4 +# define F float +#endif + +const ivec2 ksize = ivec2(3, 3); +const ivec2 offset = ksize / 2; +const ivec2 isize = ivec2(gl_WorkGroupSize) + ksize - 1; +shared V4 inp[8][isize.y][isize.x]; +void hook() { + ivec2 base = ivec2(gl_WorkGroupID) * ivec2(gl_WorkGroupSize); + for (uint y = gl_LocalInvocationID.y; y < isize.y; y += gl_WorkGroupSize.y) { + for (uint x = gl_LocalInvocationID.x; x < isize.x; x += gl_WorkGroupSize.x) { + inp[0][y][x] = V4(conv2d_5_mul * texelFetch(conv2d_5_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(0, 0), 0) + conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(0, 0), 0)); + inp[1][y][x] = V4(conv2d_5_mul * texelFetch(conv2d_5_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(1, 0), 0) + conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(1, 0), 0)); + inp[2][y][x] = V4(conv2d_5_mul * texelFetch(conv2d_5_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(2, 0), 0) + conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(2, 0), 0)); + inp[3][y][x] = V4(conv2d_5_mul * texelFetch(conv2d_5_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(3, 0), 0) + conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(3, 0), 0)); + inp[4][y][x] = V4(conv2d_5_mul * texelFetch(conv2d_5_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(4, 0), 0) + conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(4, 0), 0)); + inp[5][y][x] = V4(conv2d_5_mul * texelFetch(conv2d_5_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(5, 0), 0) + conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(5, 0), 0)); + inp[6][y][x] = V4(conv2d_5_mul * texelFetch(conv2d_5_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(6, 0), 0) + conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(6, 0), 0)); + inp[7][y][x] = V4(conv2d_5_mul * texelFetch(conv2d_5_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(7, 0), 0) + conv2d_mul * texelFetch(conv2d_raw, (base + ivec2(x,y) - offset) * ivec2(8, 1) + ivec2(7, 0), 0)); + } + } + + barrier(); + V4 result0 = V4(0.021847418, 0.026646165, 0.011850322, 0.014434359); + result0 += M4(-0.009889723, 0.107426584, 0.10588578, 0.117848165, 0.018140769, -0.101157784, 0.12869132, -0.03993999, 0.11800438, -0.10776718, 0.028469682, -0.121964306, -0.11474333, 0.13988641, 0.043165147, -0.06879387) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.08272097, 0.041290887, 0.099022225, -0.011922645, 0.07082447, -0.090813175, 0.075683005, 0.06656714, 0.13310888, 0.13118923, 0.12043658, 0.04507264, -0.061519895, -0.042148918, -0.12102407, -0.12075533) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.082580544, -0.0169432, -0.0073487842, -0.06944377, 0.07274668, -0.06430736, -0.12353579, -0.08945525, 0.13101895, -0.02064397, 0.074082375, 0.14104354, -0.11047018, -0.0055680135, 0.065868996, -0.039104186) * inp[0][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.12005796, 0.07697749, 0.04531692, -0.11641718, -0.117054924, 0.03221946, -0.122770704, -0.09175688, -0.066182405, -0.02511996, 0.11299264, 0.004624894, 0.16485572, -0.06323654, -0.12066121, 0.1830277) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.021346921, -0.11511446, 0.10552642, -0.075539336, -0.08416029, -0.0092619825, -0.023444602, -0.022710523, 0.13697603, -0.045544658, -0.12988809, 0.034301627, -0.041293673, -0.10742622, -0.08617979, -0.02573861) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.024931835, -0.124273114, 0.03005174, 0.04316463, 0.10248847, -0.087074816, 0.03963621, -0.048530318, 0.043088343, -0.059608374, -0.08955982, 0.12245904, -0.08305319, 0.04697694, 0.08706919, -0.029035097) * inp[0][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.13240977, 0.063125856, 0.043315347, -0.06715619, -0.060174722, 0.06779033, 0.11082245, -0.047911294, -0.016781207, -0.06652067, 0.082457945, 0.0067089214, 0.09300894, 0.08480401, 0.15551749, 0.1900903) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.1064147, -0.14778873, 0.08633301, -0.05080275, -0.08600322, -0.100250855, -0.025075044, 0.02453683, 0.10645042, -0.08988872, 0.1389828, 0.0383483, 0.07388225, -0.06545163, -0.057646044, 0.033050545) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.020723853, -0.06370891, 0.042399444, -0.018407362, -0.10610045, 0.07719828, 0.037234597, 0.05652303, -0.028218718, -0.105358705, -0.036700584, 0.13422571, 0.038736776, 0.05496147, 0.011083889, -0.07012883) * inp[0][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.05507853, -0.064877145, -0.068202354, 0.007872365, 0.06504283, 0.008765951, -0.006273594, 0.042627636, 0.059748556, 0.13451117, 0.035352986, 0.07152882, 0.09390637, 0.03789373, 0.019364802, -0.06917438) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.14850765, -0.05705158, -0.026229361, 0.101184346, -0.057647802, -0.009180692, -0.04933765, 0.05577681, 0.06575017, -0.091740936, 0.07637389, -0.09021222, -0.13791797, 0.00957294, -0.046547107, 0.04441692) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.08181453, -0.030555945, 0.030472921, 0.1404876, 0.024341168, 0.05807322, 0.03273376, 0.09021191, 0.08935805, 0.14098442, -0.060531504, 0.15890358, -0.14245775, 0.0019848233, -0.07680817, -0.09774224) * inp[1][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.031514216, -0.04167903, 0.08246631, 0.014584688, 0.05976935, 0.041116446, 0.04677939, -0.021466255, 0.042953007, -0.03596629, 0.048946716, -0.08399769, 0.0054512797, -0.05578601, 0.09486538, -0.09220213) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.12012345, 0.051057506, 0.11104359, -0.0784043, 0.08403664, -0.15976667, 0.06170287, -0.01607247, 0.15147537, -0.0058507477, -0.029724007, 0.083429426, 0.038262177, -0.10291127, -0.13511777, 0.07234804) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.11362492, 0.08684666, 0.09316269, -0.04158782, 0.031316955, -0.04549336, -0.11191905, -0.0325677, -0.049919516, 0.09164861, -0.11002428, 0.15930308, 0.10104297, 0.009154749, -0.1479673, -0.11255062) * inp[1][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.0541504, -0.04528494, 0.13204922, -0.090541504, -0.048034996, 0.052225154, -0.07274788, -0.03785433, -0.07571916, 0.13693441, 0.0063218456, 0.053333614, -0.12093652, 0.03429558, -0.14039129, -0.13950346) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.03472194, -0.07958794, 0.039616495, -0.065914415, -0.07448998, 0.026272302, 0.061311666, -0.055507936, 0.10685767, 0.12977247, -0.028291877, 0.062309526, 0.0155393, -0.07848709, 0.012367904, -0.1534338) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.028905826, 0.074129164, 0.10185046, -0.04180984, -0.081622906, 0.026647031, 0.033843886, -0.027291045, -0.024282327, -0.06844674, -0.055534612, -0.07083669, -0.07678228, -0.06919842, 0.028143179, -0.14859995) * inp[1][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.038610548, -0.020274684, -0.057042897, 0.034167133, -0.11589039, 0.036715418, 0.051606122, -0.02232649, -0.15177058, 0.034801513, 0.07103619, -0.03089962, -0.020324133, -0.04809382, -0.04390401, -0.13412596) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.12325011, -0.047272738, -0.15519218, -0.122824736, -0.027285341, -0.014732394, 0.001489188, 0.034154113, -0.1422059, -0.053226165, 0.060148224, -0.003750647, -0.0066929394, -0.014880489, -0.054938853, 0.07320733) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.03083291, 0.0400566, 0.11305639, -0.060669146, 0.10630148, -0.09248155, -0.055245712, -0.044928297, 0.07759704, -0.05869562, -0.03068918, -0.07616917, 0.02789613, 0.043180127, -0.080117784, 0.05126517) * inp[2][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.032688167, 0.023993265, 0.08068286, -0.07735461, 0.0069557265, 0.05322553, -0.00049117795, 0.11607366, 0.05715207, 0.0388371, 0.072840944, -0.068919726, -0.015728386, -0.020623589, -0.09395514, -0.13446343) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.024281338, -0.07151701, -0.06858955, 0.118048854, -0.16135125, 0.01914822, -0.056346506, -0.025911842, -0.050154593, -0.05730583, -0.06605983, 0.0074625676, 0.04686356, -0.10403883, 0.053533107, -0.04333147) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.07407847, 0.12688702, -0.1690811, 0.07378097, 0.0025863235, -0.061517105, 0.0014627796, -0.03065168, 0.03938891, 0.015245025, -0.08621007, -0.036925904, 0.101576276, -0.14521548, -0.11365519, 0.08474112) * inp[2][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.018936193, 0.10882419, 0.12183127, -0.010035943, 0.06797575, -0.07815447, -0.031861592, 0.09687522, 0.05778997, -0.06398369, -0.13992098, 0.016654167, -0.0023147091, 0.026806204, -0.0058803707, 0.06615763) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.07607535, -0.0049275644, 0.026641654, -0.004615904, -9.637699e-05, 0.030199843, 0.039668366, 0.091166794, -0.009268563, -0.048668653, -0.11870905, -0.14114761, 0.10159986, -0.05577062, 0.13168594, 0.0051775635) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.023957014, -0.05875124, 0.067158006, 0.04266159, 0.004510497, 0.095900245, 0.04339099, -0.019153047, 0.050156068, -0.02761823, 0.049096994, -0.11482893, -0.058818992, 0.093764886, -0.11661214, 0.062485814) * inp[2][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.065275274, 0.06901569, 0.044895206, -0.00034929172, 0.1144739, -0.13414823, -0.0010720423, 0.08693496, -0.09804944, 0.12290973, 0.14176534, 0.090081915, 0.09318766, -0.041906822, -0.07530691, 0.008571557) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.0062674894, 0.037356023, -0.08254996, 0.089546956, -0.11210089, -0.10049833, -0.041799564, -0.030619636, -0.09342691, 0.013172244, 0.089057244, 0.006462729, 0.08131253, -0.09599988, 0.043854766, -0.079230994) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.034176838, -0.010650013, -0.067221016, -0.0062093735, -0.0646725, 0.02090128, -0.007796947, 0.08293779, 0.009655644, 0.0824626, -0.09050351, -0.0666367, 0.062815, 0.01306095, 0.09755534, -0.028587613) * inp[3][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.025332361, 0.023818921, -0.084787056, -0.16049877, 0.13044329, 0.008272174, -0.07526846, -0.07794514, 0.0038539306, -0.0905925, 0.079660796, -0.108867474, -0.0146711385, 0.12710679, 0.107516944, 0.058867265) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.13299024, -0.06469374, -0.054824065, -0.12750366, 0.040624928, -0.08176763, -0.14657868, -0.046965428, 0.10681233, -0.009713924, -0.07754843, -0.0011731939, -0.08652289, 0.15996973, -0.015402409, 0.11257197) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.010991274, 0.026577672, 0.18401393, 0.12063748, 0.069864765, -0.06087476, -0.09775771, 0.036055006, 0.12424466, 0.0194088, -0.037726786, -0.006331844, 0.08882869, 0.15414844, 0.13069434, 0.07955147) * inp[3][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.081557706, -0.015223849, 0.1256363, -0.0020331529, -0.061796255, 0.06705122, -0.022411881, -0.06694354, -0.05556523, -0.113035664, -0.08325967, 0.054191086, 0.034938864, -0.06782736, 0.05090826, -0.07517639) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.07740859, -0.020653328, 0.04004339, 0.051557276, -0.021987094, 0.08971494, -0.059461825, -0.112324536, 0.02345627, -0.04284318, -0.003877329, 0.08949694, 0.12661166, -0.0952757, 0.13282274, -0.040081132) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.0735315, -0.05321731, -0.107028395, 0.03929505, 0.09488444, -0.10530927, -0.10786457, 0.113741666, -0.021365345, 0.019902917, -0.012836721, -0.057479627, 0.009910866, -0.059033915, 0.03307595, -0.07967447) * inp[3][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.06033095, 0.03627823, 0.052848518, -0.035031676, -0.03033548, -0.007929398, 0.0059127947, 0.08432937, -0.075383276, 0.010824598, -0.11165427, -0.039368816, -0.104095295, -0.0009789746, 0.12103073, 0.09744369) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.012977187, 0.01588767, -0.041434318, 0.09354139, -0.058879897, -0.08342745, -0.11737834, -0.012329137, -0.078917824, -0.01578777, 0.09866566, 0.10685694, 0.13492404, -0.00084650837, 0.13651535, -0.09563981) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.062412236, 0.012309302, -0.06654866, -0.060045626, 0.076070234, 0.022439279, -0.05909289, 0.09593435, -0.029613892, -0.045536336, 0.08598551, 0.04168893, 0.04547852, 0.042368207, 0.006385194, 0.0432506) * inp[4][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(0.1418316, 0.053111203, 0.07461725, -0.028062334, 0.045339163, 0.024057476, -0.07077655, -0.01940449, 0.05490115, 0.010948397, 0.031089637, -0.0841661, 0.09754551, -0.0041401396, 0.026638204, 0.09137845) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.1075937, -0.111033805, 0.12105742, 0.048843738, 0.018550912, 0.11675641, 0.058269236, -0.1359357, -0.025013477, -0.08957631, 0.023526201, 0.04460329, 0.012490912, 0.04626943, -0.109712586, 0.14078695) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(0.033626474, -0.0002483226, -0.04802692, 0.06377609, 0.039686877, -0.071307935, -0.087567285, 0.0006246888, 0.03055763, 0.06843851, 0.064201266, 0.024641456, -0.077222325, 0.11867135, 0.123936735, -0.07589131) * inp[4][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.0859747, 0.086069554, 0.06489656, -0.07656327, 0.031045824, 0.058257002, 0.032387488, -0.0031756773, 0.057133395, 0.07345089, -0.05368928, 0.047411606, -0.035005454, 0.064461485, 0.1338667, 0.12069) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.0025389083, -0.12292235, -0.16139406, 0.072129555, -0.071909845, -0.09583314, 0.14803094, -0.027871747, 0.08812949, -0.02312079, -0.024450697, -0.21567358, 0.13224621, 0.09238431, -0.065742746, 0.040664464) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.061340276, -0.039551627, 0.031665865, -0.0681596, -0.058560953, 0.058823097, 0.082561016, 0.01071594, 0.03266717, -0.011926166, -0.10392901, -0.010306808, 0.045369055, 0.11518302, 0.042829506, 0.08640199) * inp[4][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.13876781, 0.06868214, 0.033045463, -0.013353859, 0.022695567, -0.09690057, -0.176352, 0.017580736, 0.049070034, 0.09637348, 0.020604959, 0.03810578, 0.055598292, 0.061647877, -0.01694186, -0.075113) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.115550265, 0.089861035, 0.02034821, 0.053508356, 0.011959433, 0.04733933, 0.02691437, 0.024250992, 0.07752621, -0.09140851, 0.06790552, -0.0056148027, 0.041443706, 0.09341534, -0.043190744, 0.07752911) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.06736168, -0.069730304, 0.07701787, -0.10503662, -0.044606134, 0.062927775, 0.1069412, 0.08200064, 0.0745179, -0.06610092, -0.054003477, -0.054822996, -0.079359695, 0.0798159, -0.03327212, -0.0231724) * inp[5][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.00927329, 0.1272737, 0.06648089, 0.19039331, -0.0798155, -0.08047462, -0.10769102, -0.048133183, -0.13303444, 0.0031354143, -0.06276192, 0.14794493, -0.035050984, -0.072026655, -0.033452168, 0.07506941) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.13203675, -0.042595286, -0.044016305, -0.06892702, 0.06692011, -0.06232152, 0.05409296, -0.0682053, 0.1406782, -0.07885134, -0.07600874, -0.03380045, -0.069045246, -0.11688943, -0.02427496, -0.05392846) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.052187707, -0.06381237, -0.010658575, 0.044476148, -0.021930352, 0.08826503, 0.03818054, -0.11083318, -0.00015776425, -0.06649383, -0.0032059704, -0.028640732, 0.10641995, 0.044232342, -0.040233996, 0.02739765) * inp[5][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.015347434, -0.07364226, 0.031039512, 0.08319799, -0.012497082, 0.034464035, 0.08481253, 0.092957534, -0.20382792, -0.00076027925, -0.013777509, -0.053198054, -0.07030414, -0.03641005, -0.025523052, -0.013892217) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.006696781, -0.041883096, 0.019244183, -0.12617157, 0.0359939, -0.031422123, 0.047977388, 0.07055464, -0.031196054, 0.07031316, 0.111958586, 0.037065055, 0.026362488, -0.10882736, 0.12730294, 0.023527438) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.009448472, -0.063160375, -0.1642052, -0.021492379, 0.0011432884, 0.07652323, -0.08265617, -0.08747558, 0.025054729, 0.120274656, 0.019250141, -0.03365696, 0.0804894, 0.026401615, 0.08423651, -0.06560704) * inp[5][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(0.038010545, -0.09715507, 0.104721285, 0.06780992, 0.08221596, -0.012030044, -0.08024616, 0.09523179, 0.02985734, -0.054624137, -0.029090779, 0.13911004, 0.11874274, 0.0052255085, 0.042985696, 0.027175697) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(0.098946586, 0.1059694, -0.06366852, 0.1520391, -0.057124313, -0.010740213, 0.05559705, 0.018662447, 0.14260785, 0.024396833, -0.025115801, -0.021973839, 0.08717166, -0.031875204, -0.037044857, 0.014775525) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.12426093, 0.02691079, 0.12805024, 0.063780695, -0.06108068, 0.010586753, 0.114039615, 0.09757257, 0.07469282, 0.10514521, 0.0839292, 0.07745791, 0.037168927, 0.063452974, 0.0019634948, 0.09500998) * inp[6][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.07394943, -0.07570921, 0.0041035367, 0.047529235, -0.038753167, -0.017164256, 0.0096607655, 0.050784484, -0.07233103, 0.048929688, -0.037705053, 0.07340194, 0.029293973, -0.0468146, -0.04660664, 0.0045642066) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.10260263, 0.096363164, -0.07513548, -0.0680366, -0.0035209234, -0.12740667, 0.055345953, -0.14421564, -0.010858182, -0.12662834, -0.10428672, -0.04521833, -0.15586093, -0.10488232, -0.09281443, 0.019944655) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.0116653545, -0.16215162, -0.04098625, -0.11926856, -0.011857111, -0.11974456, 0.036846664, -0.09429568, -0.1180808, 0.011833267, 0.005990785, -0.10276338, 0.11809611, -0.054714277, 0.111505084, -0.052255485) * inp[6][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.038799692, 0.058917932, -0.023270492, 0.0075751976, 0.0030726208, 0.06054327, -0.089182384, 0.07728154, -0.11416591, 0.12852122, -0.07432498, -0.027579287, 0.03550543, 0.014096266, 0.11027244, -0.08314223) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.08908669, -0.06476548, -0.034033988, -0.20558204, -0.052289642, 0.11002392, 0.0015897361, 0.10841385, -0.0024856469, -0.07484477, -0.09080256, -0.022032047, -0.08309624, -0.06782813, -0.0692113, -0.06293487) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.03649667, 0.09055112, 0.018688912, 0.082363434, 0.043749433, -0.13325581, -0.119827054, 0.0949446, -0.017013304, -0.033388287, -0.030499758, -0.023140043, -0.026683433, 0.05023829, 0.03912722, -0.052578084) * inp[6][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.019042466, 0.14002052, 0.004113746, 0.07761637, -0.042550515, 0.12576485, -0.041157007, 0.010917246, -0.023139777, -0.05405823, 0.033175036, -0.013108712, -0.035886444, 0.07384537, 0.054485504, -0.08691029) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 0]; + result0 += M4(-0.045807455, 0.05519643, 0.10812755, -0.03254344, -0.043689255, 0.09755419, 0.03311443, 0.038935736, -0.05642101, 0.12669212, 0.021292599, -0.02206848, 0.054330144, 0.06670545, -0.052252807, -0.08459566) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 1]; + result0 += M4(0.012531928, 0.065492004, 0.0052607893, -0.021958983, -0.012012001, -0.11019855, -0.056713916, 0.016259747, 0.0449917, -0.057885606, -0.06446219, -0.0709703, -0.0017664544, -0.07331448, 0.097635284, 0.05575406) * inp[7][gl_LocalInvocationID.y + 0][gl_LocalInvocationID.x + 2]; + result0 += M4(-0.015978528, 0.0303654, 0.06871306, -0.08383344, -0.0700891, 0.06826183, 0.010757437, -0.100237295, 0.16491723, -0.01612695, -0.032338638, 0.024501136, 0.087695986, 0.06899872, -0.026437053, 0.10436714) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 0]; + result0 += M4(0.05155355, 0.15711448, -0.11463999, -0.046241775, -0.02633194, -0.008750438, -0.078078955, 0.019978995, 0.028261948, 0.103979036, -0.10257396, 0.04621247, 0.059579514, -0.05614224, -0.08941169, -0.080937944) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 1]; + result0 += M4(-0.104678966, -0.07561473, 0.14333472, -0.057526626, -0.078345545, 0.014360202, -0.1171691, 0.12354993, -0.07886367, -0.06885821, 0.13227995, 0.060824133, -0.07373966, 0.10555499, 0.051356293, 0.10234158) * inp[7][gl_LocalInvocationID.y + 1][gl_LocalInvocationID.x + 2]; + result0 += M4(0.05895332, -0.081905864, 0.12790038, -0.08944263, -0.03125902, -0.09716518, 0.081765376, 0.11624531, -0.015956925, 0.08539165, -0.034983005, -0.06682768, -0.024538064, -0.02871789, -0.06610821, -0.098415084) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 0]; + result0 += M4(0.048307456, 0.030448053, 0.11490772, -0.058947746, -0.020692637, -0.062146083, 0.115900256, 0.067224145, -0.012700466, -0.070879586, 0.13357896, -0.0032322167, 0.0030411538, -0.1113178, 0.016544277, -0.05452447) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 1]; + result0 += M4(0.13657583, -0.034036197, -0.037768003, 0.057454884, -0.036387827, -0.015774753, 0.015907431, -0.047219492, -0.09202313, 0.0010871533, -0.08542228, 0.02822273, -0.11011381, -0.059364233, 0.10220021, 0.098983645) * inp[7][gl_LocalInvocationID.y + 2][gl_LocalInvocationID.x + 2]; + ivec2 store_pos0 = ivec2(gl_GlobalInvocationID) * ivec2(1, 1) + ivec2(0, 0); + imageStore(out_image, store_pos0, result0); +} + +//!DESC [AniSD_ArtCNN_C4F32_i4_CMP] (Depth-To-Space) +//!COMPUTE 16 16 16 16 +//!HOOK LUMA +//!BIND conv2d_6 +//!WIDTH LUMA.w 2.0 * +//!HEIGHT LUMA.h 2.0 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w LUMA.w / 1.2 > OUTPUT.h LUMA.h / 1.2 > * + +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#ifdef GL_EXT_shader_explicit_arithmetic_types_float16 +# define V4 f16vec4 +# define M4 f16mat4 +# define F float16_t +#else +# define V4 vec4 +# define M4 mat4 +# define F float +#endif + +void hook() { + vec4 result = vec4(0.0, 0.0, 0.0, 1.0); + vec2 f0 = fract(conv2d_6_pos * conv2d_6_size); + ivec2 i0 = ivec2(f0 * vec2(2.0)); + result.x = conv2d_6_tex((vec2(0.5) - f0) * conv2d_6_pt + conv2d_6_pos)[i0.y * 2 + i0.x]; + imageStore(out_image, ivec2(gl_GlobalInvocationID), clamp(result, 0.0, 1.0)); +} + diff --git a/shaders/Anime4K/.github/ISSUE_TEMPLATE/bug_report.md b/shaders/Anime4K/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..2871113 --- /dev/null +++ b/shaders/Anime4K/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,34 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. Windows 10] + - Version [e.g. v2.1] + - GPU/Version (If applicable)(If using Linux, specify Mesa, nouveau, or otherwise) [e.g. GTX 1080/510.60.02] + - Media Player and Version (If applicable) [e.g. MPV v0.30] + - Browser (If applicable) [e.g. chrome, safari] + +**Additional context** +Add any other context about the problem here. \ No newline at end of file diff --git a/shaders/Anime4K/.github/ISSUE_TEMPLATE/feature_request.md b/shaders/Anime4K/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..24473de --- /dev/null +++ b/shaders/Anime4K/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. \ No newline at end of file diff --git a/shaders/Anime4K/CODE_OF_CONDUCT.md b/shaders/Anime4K/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..f8988dc --- /dev/null +++ b/shaders/Anime4K/CODE_OF_CONDUCT.md @@ -0,0 +1,76 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at anime4k.upscale@gmail.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq \ No newline at end of file diff --git a/shaders/Anime4K/README.md b/shaders/Anime4K/README.md new file mode 100644 index 0000000..5f79622 --- /dev/null +++ b/shaders/Anime4K/README.md @@ -0,0 +1,106 @@ +# Anime4K + +Anime4K is a set of open-source, high-quality real-time anime upscaling/denoising algorithms that can be implemented in any programming language. + +The simplicity and speed of Anime4K allows the user to watch upscaled anime in real time, as we believe in preserving original content and promoting freedom of choice for all anime fans. Re-encoding anime into 4K should be avoided as it is non-reversible, potentially damages original content by introducing artifacts, takes up to O(n2) more disk space and more importantly, does so without any meaningful decrease in entropy (lost information is lost). + +***Disclaimer: All art assets used are for demonstration and educational purposes. All rights are reserved to their original owners. If you (as a person or a company) own the art and do not wish it to be associated with this project, please contact us at anime4k.upscale@gmail.com and we will gladly take it down.*** + +## Foreword +Anime4K is optimized for **native 1080p anime encoded with h.264, h.265 or VC-1**. + +Even if it might work, it is **not** optimized for downscaled 720p, 480p or standard definition anime (eg. DVDs). Older anime (especially pre-digital era production) have artifacts that are very difficult to remove, such as bad deinterlacing, camera blur during production, severe ringing, film grain, older MPEG compression artifacts, etc. + +This is also not replacement for SRGANs, as they perform much better on low-resolution images or images with lots of degradation (albeit not in real time). + +What Anime4K does provide is a way to upscale, in real time, 1080p anime for 4K screens while providing a similar *effect* to SRGANs and being much better than waifu2x (See [comparisons](https://github.com/bloc97/Anime4K/tree/master/results/Comparisons/Screenshots)). + +Currently, research is being done on better real-time upscaling for lower resolution or older content. + +## **Installation Instructions** + + ### Windows + - [(GLSL/MPV)](md/GLSL_Instructions_Windows_MPV.md) + - [(GLSL/Plex)](md/GLSL_Instructions_Windows_Plex.md) + + ### Linux + - [(GLSL/MPV)](md/GLSL_Instructions_Linux.md) + - [(GLSL/Plex)](md/GLSL_Instructions_Linux_Plex.md) + + ### Mac + - [(GLSL/MPV)](md/GLSL_Instructions_Mac_MPV.md) + - [(GLSL/IINA)](md/GLSL_Instructions_Mac_IINA.md) + - [(GLSL/Plex)](md/GLSL_Instructions_Mac_Plex.md) + +## v4.1 Low resolution experiment +Results from the [experimental SRGAN shaders](https://github.com/bloc97/Anime4K/commit/5f9294d847e724b67f941d1742e3565a0a106291) for 360p -> 4K: (zoom in to view details) + +The images are sorted by algorithm speed, bicubic being the fastest. [FSRCNNX](https://github.com/igv/FSRCNN-TensorFlow) and Anime4K are real-time while [waifu2x](https://github.com/nagadomi/waifu2x) and [Real-ESRGAN](https://github.com/xinntao/Real-ESRGAN) are not. +![Comparison](results/Comparisons/Cropped_Screenshots/Magia_360p_4K.png?raw=true) +![Comparison](results/Comparisons/Cropped_Screenshots/Higurashi_360p_4K.png?raw=true) + +## v4 + +We introduce a line reconstruction algorithm that aims to tackle the distribution shift problem seen in 1080p anime. In the wild anime exhibit a surprising amount of variance caused by low quality compositing due to budget and time constraints that traditional super-resolution algorithms cannot handle. GANs can implicitly encode this distribution shift but are slow to use and hard to train. Our algorithm explicitly corrects this distribution shift and allows traditional "MSE" SR algorithms to work with a wide variety of anime. + +Source: https://fancaps.net/anime/picture.php?/14728493 | [Mode](md/GLSL_Instructions_Advanced.md#modes): `B` +![Comparison](results/Comparisons/Cropped_Screenshots/Maxed.png?raw=true) + +Source: https://fancaps.net/anime/picture.php?/13365760 | [Mode](md/GLSL_Instructions_Advanced.md#modes): `A` +![Comparison](results/Comparisons/Cropped_Screenshots/Slime.png?raw=true) + +Performance numbers are obtained using a Vega64 GPU and are tested using `UL` shader variants. The fast version is for `M` variants. +*Note that CUDA accelerated SRGANs/Waifu2x using tensor cores can be much faster and close to realtime (~80ms), but their large size severely hampers non-CUDA implementations.* + +## v3 +The monolithic Anime4K shader is broken into modular components, allowing customization for specific types of anime and/or personal taste. +What's new: + - A complete overhaul of the algorithm(s) for speed, quality and efficiency. + - Real-time, high quality line art CNN upscalers. *(6 variants)* + - Line art deblurring shaders. *("blind deconvolution" and DTD shader)* + - Denoising algorithms. *(Bilateral Mode and CNN variants)* + - Blind resampling artifact reduction algorithms. *(For badly resampled anime.)* + - Experimental line darkening and line thinning algorithm. *(For perceptual quality. We perceive thinner/darker lines as perceptually higher quality, even if it might not be the case.)* + +[More information about each shader (OUTDATED)](https://github.com/bloc97/Anime4K/wiki). + +## Visits + +

+ +

+ +Counting since `2021-09-19T16:02:06Z` (ISO 8601) + +## Projects that use Anime4K + - https://github.com/Blinue/Magpie (An all-purpose GUI upscaler for Windows 10/11) + - https://github.com/imxieyi/Anime4KMetal (Anime4K for Apple platforms based on Metal) + - https://github.com/mikigal/Anime4K-GUI (GUI application based on Anime4K which allows to save upscaled video to disk) + - https://colab.research.google.com/drive/11xAn4fyAUJPZOjrxwnL2ipl_1DGGegkB (Anime4K Re-Implemented in PyTorch) + +*Note that the following might be using an outdated version of Anime4K. There have been significant quality improvements since v3.* + - https://github.com/yeataro/TD-Anime4K (Anime4K for TouchDesigner) + - https://github.com/keijiro/UnityAnime4K (Anime4K for Unity) + - https://github.com/net2cn/Anime4KSharp (Anime4K Re-Implemented in C#) + - https://github.com/andraantariksa/Anime4K-rs (Anime4K Re-Implemented in Rust) + - https://github.com/TianZerL/Anime4KCPP (Anime4K & more algorithms implemented in C++) + - https://github.com/k4yt3x/video2x (Anime Video Upscaling Pipeline) + - https://github.com/Anime4KWebBoost/Anime4K-WebGPU (Anime4K for WebGPU) + +## Acknowledgements +| OpenCV | TensorFlow | Keras | Torch | mpv | MPC | +|:---:|:---:|:---:|:---:|:---:|:---:| +|![OpenCV](https://github.com/opencv.png)|![TensorFlow](https://github.com/tensorflow.png)|![Keras](https://github.com/keras-team.png)|![Torch](https://github.com/torch.png)|![mpv](https://github.com/mpv-player.png)|![MPC](https://github.com/mpc-hc.png)| + +Many thanks to the [OpenCV](https://github.com/opencv/opencv), [TensorFlow](https://github.com/tensorflow/tensorflow), [Keras](https://github.com/keras-team/keras) and [Torch](https://github.com/torch/torch7) groups and contributors. This project would not have been possible without the existence of high quality, open source machine learning libraries. + +I would also want to specially thank the creators of [VDSR](https://cv.snu.ac.kr/research/VDSR/) and [FSRCNN](http://mmlab.ie.cuhk.edu.hk/projects/FSRCNN.html), in addition to the open source projects [waifu2x](https://github.com/nagadomi/waifu2x) and [FSRCNNX](https://github.com/igv/FSRCNN-TensorFlow) for sparking my interest in creating this project. I am also extending my gratitude to the contributors of [mpv](https://github.com/mpv-player/mpv) and [MPC-HC](https://mpc-hc.org/)/[BE](https://sourceforge.net/projects/mpcbe/) for their efforts on creating excellent media players with endless customization options. +Furthermore, I want to thank the people who contributed to this project in any form, be it by reporting bugs, submitting suggestions, helping others' issues or submitting code. I will forever hold you in high regard. + +I also wish to express my sincere gratitude to the people of [Université de Montréal](https://www.umontreal.ca/), [DIRO](https://diro.umontreal.ca/accueil/), [LIGUM](http://www.ligum.umontreal.ca/) and [MILA](https://mila.quebec/en/) for providing so many opportunities to students (including me), providing the necessary infrastructure and fostering an excellent learning environment. + +I would also like to thank the greater open source community, in which the assortment of concrete examples and code were of great help. + +Finally, but not least, infinite thanks to my family, friends and professors for providing financial, technical, social support and expertise for my ongoing learning journey during these hard times. Your help has been beyond description, really. + +*This list is not final, as the project is far from done. Any future acknowledgements will be promptly added.* \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_DoG.glsl b/shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_DoG.glsl new file mode 100644 index 0000000..d2de081 --- /dev/null +++ b/shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_DoG.glsl @@ -0,0 +1,152 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Deblur-DoG-(HQ)-Luma +//!HOOK MAIN +//!BIND HOOKED +//!SAVE LINELUMA +//!COMPONENTS 1 + +float get_luma(vec4 rgba) { + return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); +} + +vec4 hook() { + return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); +} + +//!DESC Anime4K-v3.2-Deblur-DoG-Kernel-X +//!HOOK MAIN +//!BIND HOOKED +//!BIND LINELUMA +//!SAVE MMKERNEL +//!COMPONENTS 3 + +#define L_tex LINELUMA_tex + +float max3v(float a, float b, float c) { + return max(max(a, b), c); +} +float min3v(float a, float b, float c) { + return min(min(a, b), c); +} + +vec2 minmax3(vec2 pos, vec2 d) { + float a = L_tex(pos - d).x; + float b = L_tex(pos).x; + float c = L_tex(pos + d).x; + + return vec2(min3v(a, b, c), max3v(a, b, c)); +} + +float lumGaussian7(vec2 pos, vec2 d) { + float g = (L_tex(pos - (d + d)).x + L_tex(pos + (d + d)).x) * 0.06136; + g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * 0.24477; + g = g + (L_tex(pos).x) * 0.38774; + + return g; +} + + +vec4 hook() { + return vec4(lumGaussian7(HOOKED_pos, vec2(HOOKED_pt.x, 0.0)), minmax3(HOOKED_pos, vec2(HOOKED_pt.x, 0.0)), 0.0); +} + + +//!DESC Anime4K-v3.2-Deblur-DoG-Kernel-Y +//!HOOK MAIN +//!BIND HOOKED +//!BIND MMKERNEL +//!SAVE MMKERNEL +//!COMPONENTS 3 + +#define L_tex MMKERNEL_tex + +float max3v(float a, float b, float c) { + return max(max(a, b), c); +} +float min3v(float a, float b, float c) { + return min(min(a, b), c); +} + +vec2 minmax3(vec2 pos, vec2 d) { + float a0 = L_tex(pos - d).y; + float b0 = L_tex(pos).y; + float c0 = L_tex(pos + d).y; + + float a1 = L_tex(pos - d).z; + float b1 = L_tex(pos).z; + float c1 = L_tex(pos + d).z; + + return vec2(min3v(a0, b0, c0), max3v(a1, b1, c1)); +} + +float lumGaussian7(vec2 pos, vec2 d) { + float g = (L_tex(pos - (d + d)).x + L_tex(pos + (d + d)).x) * 0.06136; + g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * 0.24477; + g = g + (L_tex(pos).x) * 0.38774; + + return g; +} + + +vec4 hook() { + return vec4(lumGaussian7(HOOKED_pos, vec2(0.0, HOOKED_pt.y)), minmax3(HOOKED_pos, vec2(0.0, HOOKED_pt.y)), 0.0); +} + +//!DESC Anime4K-v3.2-Deblur-DoG-Apply +//!HOOK MAIN +//!BIND HOOKED +//!BIND LINELUMA +//!BIND MMKERNEL + +#define STRENGTH 0.6 //De-blur proportional strength, higher is sharper. However, it is better to tweak BLUR_CURVE instead to avoid ringing. +#define BLUR_CURVE 0.6 //De-blur power curve, lower is sharper. Good values are between 0.3 - 1. Values greater than 1 softens the image; +#define BLUR_THRESHOLD 0.1 //Value where curve kicks in, used to not de-blur already sharp edges. Only de-blur values that fall below this threshold. +#define NOISE_THRESHOLD 0.001 //Value where curve stops, used to not sharpen noise. Only de-blur values that fall above this threshold. + +#define L_tex LINELUMA_tex + +vec4 hook() { + float c = (L_tex(HOOKED_pos).x - MMKERNEL_tex(HOOKED_pos).x) * STRENGTH; + + float t_range = BLUR_THRESHOLD - NOISE_THRESHOLD; + + float c_t = abs(c); + if (c_t > NOISE_THRESHOLD) { + c_t = (c_t - NOISE_THRESHOLD) / t_range; + c_t = pow(c_t, BLUR_CURVE); + c_t = c_t * t_range + NOISE_THRESHOLD; + c_t = c_t * sign(c); + } else { + c_t = c; + } + + float cc = clamp(c_t + L_tex(HOOKED_pos).x, MMKERNEL_tex(HOOKED_pos).y, MMKERNEL_tex(HOOKED_pos).z) - L_tex(HOOKED_pos).x; + + //This trick is only possible if the inverse Y->RGB matrix has 1 for every row... (which is the case for BT.709) + //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. + return HOOKED_tex(HOOKED_pos) + cc; +} + + diff --git a/shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_Original.glsl b/shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_Original.glsl new file mode 100644 index 0000000..9c12cd7 --- /dev/null +++ b/shaders/Anime4K/glsl/Deblur/Anime4K_Deblur_Original.glsl @@ -0,0 +1,287 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Deblur-Original-Luma +//!HOOK MAIN +//!BIND HOOKED +//!SAVE LINELUMA +//!COMPONENTS 1 + +float get_luma(vec4 rgba) { + return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); +} + +vec4 hook() { + return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); +} + +//!DESC Anime4K-v3.2-Deblur-Original-Kernel-X +//!HOOK MAIN +//!BIND HOOKED +//!BIND LINELUMA +//!SAVE LUMAD +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * +//!COMPONENTS 2 + +vec4 hook() { + vec2 d = HOOKED_pt; + + //[tl t tr] + //[ l c r] + //[bl b br] + float l = LINELUMA_tex(HOOKED_pos + vec2(-d.x, 0.0)).x; + float c = LINELUMA_tex(HOOKED_pos).x; + float r = LINELUMA_tex(HOOKED_pos + vec2(d.x, 0.0)).x; + + + //Horizontal Gradient + //[-1 0 1] + //[-2 0 2] + //[-1 0 1] + float xgrad = (-l + r); + + //Vertical Gradient + //[-1 -2 -1] + //[ 0 0 0] + //[ 1 2 1] + float ygrad = (l + c + c + r); + + //Computes the luminance's gradient + return vec4(xgrad, ygrad, 0.0, 0.0); +} + + +//!DESC Anime4K-v3.2-Deblur-Original-Kernel-Y +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!SAVE LUMAD +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * +//!COMPONENTS 2 + + +/* --------------------- SETTINGS --------------------- */ + +//Strength of edge refinement, good values are between 0.2 and 4 +#define REFINE_STRENGTH 1.0 + + +/* --- MODIFY THESE SETTINGS BELOW AT YOUR OWN RISK --- */ + +//Bias of the refinement function, good values are between 0 and 1 +#define REFINE_BIAS 0.0 + +//Polynomial fit obtained by minimizing MSE error on image +#define P5 ( 11.68129591) +#define P4 (-42.46906057) +#define P3 ( 60.28286266) +#define P2 (-41.84451327) +#define P1 ( 14.05517353) +#define P0 (-1.081521930) + +/* ----------------- END OF SETTINGS ----------------- */ + +float power_function(float x) { + float x2 = x * x; + float x3 = x2 * x; + float x4 = x2 * x2; + float x5 = x2 * x3; + + return P5*x5 + P4*x4 + P3*x3 + P2*x2 + P1*x + P0; +} + +vec4 hook() { + vec2 d = HOOKED_pt; + + //[tl t tr] + //[ l cc r] + //[bl b br] + float tx = LUMAD_tex(HOOKED_pos + vec2(0.0, -d.y)).x; + float cx = LUMAD_tex(HOOKED_pos).x; + float bx = LUMAD_tex(HOOKED_pos + vec2(0.0, d.y)).x; + + + float ty = LUMAD_tex(HOOKED_pos + vec2(0.0, -d.y)).y; + //float cy = LUMAD_tex(HOOKED_pos).y; + float by = LUMAD_tex(HOOKED_pos + vec2(0.0, d.y)).y; + + + //Horizontal Gradient + //[-1 0 1] + //[-2 0 2] + //[-1 0 1] + float xgrad = (tx + cx + cx + bx); + + //Vertical Gradient + //[-1 -2 -1] + //[ 0 0 0] + //[ 1 2 1] + float ygrad = (-ty + by); + + //Computes the luminance's gradient + float sobel_norm = clamp(sqrt(xgrad * xgrad + ygrad * ygrad), 0.0, 1.0); + + float dval = clamp(power_function(clamp(sobel_norm, 0.0, 1.0)) * REFINE_STRENGTH + REFINE_BIAS, 0.0, 1.0); + + return vec4(sobel_norm, dval, 0.0, 0.0); +} + +//!DESC Anime4K-v3.2-Deblur-Original-Kernel-X +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!SAVE LUMAMM +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * +//!COMPONENTS 2 + + +vec4 hook() { + vec2 d = HOOKED_pt; + + if (LUMAD_tex(HOOKED_pos).y < 0.1) { + return vec4(0.0); + } + + //[tl t tr] + //[ l c r] + //[bl b br] + float l = LUMAD_tex(HOOKED_pos + vec2(-d.x, 0.0)).x; + float c = LUMAD_tex(HOOKED_pos).x; + float r = LUMAD_tex(HOOKED_pos + vec2(d.x, 0.0)).x; + + //Horizontal Gradient + //[-1 0 1] + //[-2 0 2] + //[-1 0 1] + float xgrad = (-l + r); + + //Vertical Gradient + //[-1 -2 -1] + //[ 0 0 0] + //[ 1 2 1] + float ygrad = (l + c + c + r); + + + return vec4(xgrad, ygrad, 0.0, 0.0); +} + + +//!DESC Anime4K-v3.2-Deblur-Original-Kernel-Y +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!BIND LUMAMM +//!SAVE LUMAMM +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * +//!COMPONENTS 2 + +vec4 hook() { + vec2 d = HOOKED_pt; + + if (LUMAD_tex(HOOKED_pos).y < 0.1) { + return vec4(0.0); + } + + //[tl t tr] + //[ l cc r] + //[bl b br] + float tx = LUMAMM_tex(HOOKED_pos + vec2(0.0, -d.y)).x; + float cx = LUMAMM_tex(HOOKED_pos).x; + float bx = LUMAMM_tex(HOOKED_pos + vec2(0.0, d.y)).x; + + float ty = LUMAMM_tex(HOOKED_pos + vec2(0.0, -d.y)).y; + //float cy = LUMAMM_tex(HOOKED_pos).y; + float by = LUMAMM_tex(HOOKED_pos + vec2(0.0, d.y)).y; + + //Horizontal Gradient + //[-1 0 1] + //[-2 0 2] + //[-1 0 1] + float xgrad = (tx + cx + cx + bx); + + //Vertical Gradient + //[-1 -2 -1] + //[ 0 0 0] + //[ 1 2 1] + float ygrad = (-ty + by); + + float norm = sqrt(xgrad * xgrad + ygrad * ygrad); + if (norm <= 0.001) { + xgrad = 0.0; + ygrad = 0.0; + norm = 1.0; + } + + return vec4(xgrad/norm, ygrad/norm, 0.0, 0.0); +} + + +//!DESC Anime4K-v3.2-Deblur-Original-Apply +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!BIND LUMAMM +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * +//!SAVE RESAMPLED + + +vec4 hook() { + vec2 d = HOOKED_pt; + + float dval = LUMAD_tex(HOOKED_pos).y; + if (dval < 0.1) { + return HOOKED_tex(HOOKED_pos); + } + + vec4 dc = LUMAMM_tex(HOOKED_pos); + if (abs(dc.x + dc.y) <= 0.0001) { + return HOOKED_tex(HOOKED_pos); + } + + float xpos = -sign(dc.x); + float ypos = -sign(dc.y); + + vec4 xval = HOOKED_tex(HOOKED_pos + vec2(d.x * xpos, 0.0)); + vec4 yval = HOOKED_tex(HOOKED_pos + vec2(0.0, d.y * ypos)); + + float xyratio = abs(dc.x) / (abs(dc.x) + abs(dc.y)); + + vec4 avg = xyratio * xval + (1.0 - xyratio) * yval; + + return avg * dval + HOOKED_tex(HOOKED_pos) * (1.0 - dval); + +} + +//!DESC Anime4K-v3.2-Deblur-Original-Resample +//!HOOK MAIN +//!BIND HOOKED +//!BIND RESAMPLED + +vec4 hook() { + return RESAMPLED_tex(HOOKED_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Denoise/Anime4K_Denoise_Bilateral_Mean.glsl b/shaders/Anime4K/glsl/Denoise/Anime4K_Denoise_Bilateral_Mean.glsl new file mode 100644 index 0000000..bb43c63 --- /dev/null +++ b/shaders/Anime4K/glsl/Denoise/Anime4K_Denoise_Bilateral_Mean.glsl @@ -0,0 +1,67 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Denoise-Bilateral-Mean +//!HOOK MAIN +//!BIND HOOKED + +#define INTENSITY_SIGMA 0.1 //Intensity window size, higher is stronger denoise, must be a positive real number +#define SPATIAL_SIGMA 1.0 //Spatial window size, higher is stronger denoise, must be a positive real number. + +#define INTENSITY_POWER_CURVE 1.0 //Intensity window power curve. Setting it to 0 will make the intensity window treat all intensities equally, while increasing it will make the window narrower in darker intensities and wider in brighter intensities. + +#define KERNELSIZE (max(int(ceil(SPATIAL_SIGMA * 2.0)), 1) * 2 + 1) //Kernel size, must be an positive odd integer. +#define KERNELHALFSIZE (int(KERNELSIZE/2)) //Half of the kernel size without remainder. Must be equal to trunc(KERNELSIZE/2). +#define KERNELLEN (KERNELSIZE * KERNELSIZE) //Total area of kernel. Must be equal to KERNELSIZE * KERNELSIZE. + +#define GETOFFSET(i) vec2((i % KERNELSIZE) - KERNELHALFSIZE, (i / KERNELSIZE) - KERNELHALFSIZE) + +vec4 gaussian_vec(vec4 x, vec4 s, vec4 m) { + vec4 scaled = (x - m) / s; + return exp(-0.5 * scaled * scaled); +} + +float gaussian(float x, float s, float m) { + float scaled = (x - m) / s; + return exp(-0.5 * scaled * scaled); +} + +vec4 hook() { + vec4 sum = vec4(0.0); + vec4 n = vec4(0.0); + + vec4 vc = HOOKED_tex(HOOKED_pos); + + vec4 is = pow(vc + 0.0001, vec4(INTENSITY_POWER_CURVE)) * INTENSITY_SIGMA; + float ss = SPATIAL_SIGMA; + + for (int i=0; i v[i].x) { + w_above += w[j]; + } else if (v[j].x < v[i].x) { + w_below += w[j]; + } + } + + if ((n - w_above) / n >= 0.5 && w_below / n <= 0.5) { + return v[i]; + } + } +} + +vec4 hook() { + vec4 histogram_v[KERNELLEN]; + float histogram_l[KERNELLEN]; + float histogram_w[KERNELLEN]; + float n = 0.0; + + float vc = LINELUMA_tex(HOOKED_pos).x; + + float is = pow(vc + 0.0001, INTENSITY_POWER_CURVE) * INTENSITY_SIGMA; + float ss = SPATIAL_SIGMA; + + for (int i=0; i 0.0) { + float histogram_wn[KERNELLEN]; + n = 0.0; + + for (int i=0; i= maxw) { + maxw = w[i]; + maxv = v[i]; + } + } + + return maxv; +} + +vec4 hook() { + vec4 histogram_v[KERNELLEN]; + float histogram_l[KERNELLEN]; + float histogram_w[KERNELLEN]; + float histogram_wn[KERNELLEN]; + + float vc = LINELUMA_tex(HOOKED_pos).x; + + float is = pow(vc + 0.0001, INTENSITY_POWER_CURVE) * INTENSITY_SIGMA; + float ss = SPATIAL_SIGMA; + + for (int i=0; iRGB matrix has 1 for every row... (which is the case for BT.709) + //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. + return HOOKED_tex(HOOKED_pos) + (LINEKERNEL_tex(HOOKED_pos).x * STRENGTH); +} diff --git a/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_HQ.glsl b/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_HQ.glsl new file mode 100644 index 0000000..9a906aa --- /dev/null +++ b/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_HQ.glsl @@ -0,0 +1,197 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Darken-DoG-(HQ)-Luma +//!HOOK MAIN +//!BIND HOOKED +//!SAVE LINELUMA +//!COMPONENTS 1 + +float get_luma(vec4 rgba) { + return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); +} + +vec4 hook() { + return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); +} + +//!DESC Anime4K-v3.2-Darken-DoG-(HQ)-Difference-X +//!HOOK MAIN +//!BIND HOOKED +//!BIND LINELUMA +//!SAVE LINEKERNEL +//!COMPONENTS 1 + +#define SPATIAL_SIGMA (1.0 * float(HOOKED_size.y) / 1080.0) //Spatial window size, must be a positive real number. + +#define KERNELSIZE (max(int(ceil(SPATIAL_SIGMA * 2.0)), 1) * 2 + 1) //Kernel size, must be an positive odd integer. +#define KERNELHALFSIZE (int(KERNELSIZE/2)) //Half of the kernel size without remainder. Must be equal to trunc(KERNELSIZE/2). +#define KERNELLEN (KERNELSIZE * KERNELSIZE) //Total area of kernel. Must be equal to KERNELSIZE * KERNELSIZE. + +float gaussian(float x, float s, float m) { + float scaled = (x - m) / s; + return exp(-0.5 * scaled * scaled); +} + +float comp_gaussian_x() { + + float g = 0.0; + float gn = 0.0; + + for (int i=0; iRGB matrix has 1 for every row... (which is the case for BT.709) + //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. + return HOOKED_tex(HOOKED_pos) + (comp_gaussian_y() * STRENGTH); +} diff --git a/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_VeryFast.glsl b/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_VeryFast.glsl new file mode 100644 index 0000000..ca0a2d4 --- /dev/null +++ b/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Darken_VeryFast.glsl @@ -0,0 +1,217 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Darken-DoG-(HQ)-Luma +//!HOOK MAIN +//!BIND HOOKED +//!SAVE LINELUMA +//!WIDTH HOOKED.w 2 / +//!HEIGHT HOOKED.h 2 / +//!COMPONENTS 1 + +float get_luma(vec4 rgba) { + return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); +} + +vec4 hook() { + return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); +} + +//!DESC Anime4K-v3.2-Darken-DoG-(VeryFast)-Gaussian-X +//!HOOK MAIN +//!BIND HOOKED +//!BIND LINELUMA +//!SAVE LINEKERNEL +//!WIDTH HOOKED.w 4 / +//!HEIGHT HOOKED.h 4 / +//!COMPONENTS 1 + +#define SPATIAL_SIGMA (0.5 * float(HOOKED_size.y) / 1080.0) //Spatial window size, must be a positive real number. + +#define KERNELSIZE (max(int(ceil(SPATIAL_SIGMA * 2.0)), 1) * 2 + 1) //Kernel size, must be an positive odd integer. +#define KERNELHALFSIZE (int(KERNELSIZE/2)) //Half of the kernel size without remainder. Must be equal to trunc(KERNELSIZE/2). +#define KERNELLEN (KERNELSIZE * KERNELSIZE) //Total area of kernel. Must be equal to KERNELSIZE * KERNELSIZE. + +float gaussian(float x, float s, float m) { + float scaled = (x - m) / s; + return exp(-0.5 * scaled * scaled); +} + +float comp_gaussian_x() { + + float g = 0.0; + float gn = 0.0; + + for (int i=0; iRGB matrix has 1 for every row... (which is the case for BT.709) + //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. + return HOOKED_tex(HOOKED_pos) + (LINEKERNEL_tex(HOOKED_pos).x * STRENGTH); +} diff --git a/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Thin_Fast.glsl b/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Thin_Fast.glsl new file mode 100644 index 0000000..da2e1a5 --- /dev/null +++ b/shaders/Anime4K/glsl/Experimental-Effects/Anime4K_Thin_Fast.glsl @@ -0,0 +1,234 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Thin-(Fast)-Luma +//!HOOK MAIN +//!BIND HOOKED +//!SAVE LINELUMA +//!COMPONENTS 1 + +float get_luma(vec4 rgba) { + return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); +} + +vec4 hook() { + return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); +} + +//!DESC Anime4K-v3.2-Thin-(Fast)-Sobel-X +//!HOOK MAIN +//!BIND LINELUMA +//!SAVE LINESOBEL +//!WIDTH HOOKED.w 2 / +//!HEIGHT HOOKED.h 2 / +//!COMPONENTS 2 + +vec4 hook() { + float l = LINELUMA_texOff(vec2(-1.0, 0.0)).x; + float c = LINELUMA_tex(LINELUMA_pos).x; + float r = LINELUMA_texOff(vec2(1.0, 0.0)).x; + + float xgrad = (-l + r); + float ygrad = (l + c + c + r); + + return vec4(xgrad, ygrad, 0.0, 0.0); +} + + +//!DESC Anime4K-v3.2-Thin-(Fast)-Sobel-Y +//!HOOK MAIN +//!BIND LINESOBEL +//!SAVE LINESOBEL +//!WIDTH HOOKED.w 2 / +//!HEIGHT HOOKED.h 2 / +//!COMPONENTS 1 + +vec4 hook() { + float tx = LINESOBEL_texOff(vec2(0.0, -0.5)).x; + float cx = LINESOBEL_tex(LINESOBEL_pos).x; + float bx = LINESOBEL_texOff(vec2(0.0, 0.5)).x; + + float ty = LINESOBEL_texOff(vec2(0.0, -0.5)).y; + float by = LINESOBEL_texOff(vec2(0.0, 0.5)).y; + + float xgrad = (tx + cx + cx + bx) / 8.0; + + float ygrad = (-ty + by) / 8.0; + + //Computes the luminance's gradient + float norm = sqrt(xgrad * xgrad + ygrad * ygrad); + return vec4(pow(norm, 0.7)); +} + + +//!DESC Anime4K-v3.2-Thin-(Fast)-Gaussian-X +//!HOOK MAIN +//!BIND HOOKED +//!BIND LINESOBEL +//!SAVE LINESOBEL +//!WIDTH HOOKED.w 2 / +//!HEIGHT HOOKED.h 2 / +//!COMPONENTS 1 + +#define SPATIAL_SIGMA (1.0 * float(HOOKED_size.y) / 1080.0) //Spatial window size, must be a positive real number. + +#define KERNELSIZE (max(int(ceil(SPATIAL_SIGMA * 2.0)), 1) * 2 + 1) //Kernel size, must be an positive odd integer. +#define KERNELHALFSIZE (int(KERNELSIZE/2)) //Half of the kernel size without remainder. Must be equal to trunc(KERNELSIZE/2). +#define KERNELLEN (KERNELSIZE * KERNELSIZE) //Total area of kernel. Must be equal to KERNELSIZE * KERNELSIZE. + +float gaussian(float x, float s, float m) { + float scaled = (x - m) / s; + return exp(-0.5 * scaled * scaled); +} + +float comp_gaussian_x() { + + float g = 0.0; + float gn = 0.0; + + for (int i=0; iRGB matrix has 1 for every row... (which is the case for BT.709) + //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. + return HOOKED_tex(HOOKED_pos) - (current_luma - new_luma); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_L.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_L.glsl new file mode 100644 index 0000000..20b3102 --- /dev/null +++ b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_L.glsl @@ -0,0 +1,429 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.27899465, -0.14974926, 0.6271667, -0.04888494, 0.2164516, -0.47826648, 0.09537477, 0.16404815, -0.009546488, -0.24541017, -0.20505093, -0.11507772, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.22372562, 0.046120282, 0.44437107, 0.54215515, -0.10638798, -0.010795577, 0.19478157, 0.5756847, 0.24542068, 0.11135218, -0.27672207, 0.09624475, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.1703517, -0.17810228, -0.34460765, -0.40586865, 0.2102622, 0.08207581, 0.17641851, 0.23701222, -0.32159516, -0.017147528, 0.41743183, 0.19025058, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.4708481, -0.1587934, -0.15760423, -0.11388875, -0.36032093, -0.044305246, 0.19414884, 0.31109568, -0.09320259, -0.23072109, 0.0242641, 0.040976923, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.00951417, 0.2746557, -0.49743456, 0.14564055, 0.15047263, 0.08832856, -0.24360974, -0.3517844, -0.12219134, 0.12957081, 0.2876983, 0.13303527, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.12760738, 0.16703783, 0.04391735, 0.34657615, -0.26698044, -0.096000046, -0.46030682, -0.38363042, 0.3510441, 0.2620507, -0.30533043, -0.32785, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.63138646, -0.12703805, 0.38107973, -0.09134196, -0.04012397, -0.1390924, 0.07578805, -0.09274019, -0.045394078, 0.18203364, 0.16900069, 0.13399005, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.13648264, -0.13971807, -0.32322997, -0.08377875, 0.40967095, 0.19853555, -0.26386982, -0.50860924, -0.00555831, 0.06922444, 0.034828495, -0.08413197, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.21196735, 0.24934316, -0.27111465, -0.19941513, -0.30186844, 0.44828892, 0.35906994, -0.35723612, -0.074009515, -0.34400147, -0.22145566, -0.15622428, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.44569078, -0.084358215, -0.014156722, -0.0353374); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.1953752, -0.09707663, 0.43315637, 0.3862221, 0.2346731, 0.085327715, 0.36244828, 0.06630519, -0.05342483, 0.112148136, 0.07938104, 0.14795923, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.25197014, 0.032906674, 0.3392793, 0.18099307, -0.36539522, 0.10986396, 0.5440999, 0.41803896, -0.4117931, 0.46616048, 0.0827279, 0.040264074, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.060543116, 0.34531194, -0.3202978, 0.32803985, -0.08720925, 0.63656414, -0.052656054, -0.076137036, 0.15297869, -0.11485237, -0.21027736, -0.24086118, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.2044052, 0.111065395, -0.36082193, -0.39179638, 0.19812255, -0.3797384, 0.03176089, -0.35085422, 0.31697252, -0.31267545, -0.068170965, -0.06266394, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.0055682547, 0.24352197, 0.08972456, -0.4340704, -0.25253078, -0.4218859, 0.08408476, -0.5052765, 0.005511427, -0.36491954, 0.3825727, 0.01774532, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.13323675, -0.6641518, -0.38277033, 0.67553586, -0.5879293, -0.1286407, 0.1355451, 0.19463064, -0.09206729, 0.41892347, 0.16736335, -0.017109495, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.0627963, 0.29361042, 0.23339616, -0.42217752, 0.21872504, -0.21531922, -0.5016595, 0.20158494, 0.2814043, -0.1474019, 0.08778552, 0.28085083, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.009900911, -0.42754972, 0.02737237, -0.17740859, 0.541632, -0.28397697, -0.36375052, -0.172693, 0.1506882, 0.15196925, -0.30358136, -0.29542333, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.3690586, 0.19382606, -0.040331036, -0.14121497, 0.121049926, 0.54470515, -0.23628974, 0.20663929, -0.34591553, -0.14778244, -0.23809184, 0.12616424, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.009787335, 0.051148742, -0.007458707, -0.016416457); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.028458824, 0.10831271, 0.017246738, 0.42066097, 0.035127334, 0.14161696, 0.3893337, 0.18358134, -0.26446894, -0.053199783, 0.053528484, -0.3486933, -0.10270838, -0.3593573, 0.049874853, 0.08600247) * go_0(-1.0, -1.0); + result += mat4(-0.15829772, -0.31038332, 0.0423391, -0.11978196, -0.29878524, 0.10245719, 0.004307728, 0.052934717, -0.049366333, -0.03277819, -0.062031534, -0.004734159, 0.029009456, -0.18138678, 0.17342477, -0.1632741) * go_0(-1.0, 0.0); + result += mat4(-0.14941882, -0.3337916, -0.07740701, -0.8221198, -0.014216013, -0.34028724, 0.06367363, -0.19704603, -0.20317195, 0.17806017, -0.14011545, 0.05067841, 0.08515265, 0.092163175, -0.036603887, -0.2528259) * go_0(-1.0, 1.0); + result += mat4(0.044333473, 0.10871938, -0.12288588, 0.0077913217, 0.013970764, -0.21189599, -0.0757029, 0.055366833, 0.04531751, -0.20269018, 0.038650505, -0.09677452, 0.0565207, 0.073703125, -0.10746413, 0.22798601) * go_0(0.0, -1.0); + result += mat4(0.33476707, 0.22631067, 0.10190012, 0.25268495, -0.14572862, -0.21331434, 0.024614803, -0.26254398, 0.18070522, 0.34974626, 0.028480766, -0.07855834, 0.16165797, 0.28470036, 0.23497322, -0.15804033) * go_0(0.0, 0.0); + result += mat4(-0.09853942, -0.21105993, 0.27787793, 0.24688315, -0.16078049, 0.08541815, 0.16101131, -0.0005086922, -0.13042259, 0.0253011, -0.05298311, 0.16506846, -0.099300735, 0.07577514, 0.041623414, -0.18045023) * go_0(0.0, 1.0); + result += mat4(-0.015007392, 0.0720429, -0.018456718, 0.012792885, 0.2049891, -0.061911974, -0.10679284, 0.2530616, -0.1651912, 0.1125125, 0.55918777, 0.1414716, 0.025189033, 0.061680123, -0.13096866, -0.035809774) * go_0(1.0, -1.0); + result += mat4(0.037606955, 0.05987735, -0.09903669, 0.09681222, 0.31857902, -0.058445334, 0.10280441, -0.0018247474, 0.051491242, 0.12321206, 0.14069863, -0.013259678, -0.198442, 0.093920216, -0.015952505, -0.3040559) * go_0(1.0, 0.0); + result += mat4(0.044491854, 0.079992026, -0.07424999, 0.064774506, 0.36708844, -0.14958903, -0.060033463, -0.5950615, -0.101501055, -0.05275797, -0.0099711865, 0.075409986, -0.19508216, -0.088995665, -0.025926083, 0.023040347) * go_0(1.0, 1.0); + result += mat4(-0.00168658, 0.1879708, -0.08964568, 0.124567054, -0.027147152, 0.0013266837, 0.043110568, -0.16238526, 0.18404783, -0.088930264, -0.0841814, -0.06812457, -0.022954177, 0.15315148, 0.00096489635, 0.21262483) * go_1(-1.0, -1.0); + result += mat4(0.03728663, 0.16259944, 0.2534931, -0.10620075, -0.032217886, -0.043085426, -0.37875995, 0.16151664, -0.15136409, -0.21990341, 0.0043716, 0.1293011, 0.20516208, 0.32518774, -0.15583529, 0.20054214) * go_1(-1.0, 0.0); + result += mat4(0.05088376, -0.21300486, 0.30702966, 0.09044539, 0.020740725, 0.028916309, 0.14391874, 0.15526149, 0.011289051, -0.24014536, -0.2176207, 0.09995701, 0.06747376, -0.3315815, 0.07900332, -0.26542482) * go_1(-1.0, 1.0); + result += mat4(0.15973654, 0.2114867, -0.19423203, -0.1529657, -0.24198112, -0.10985252, 0.056409992, 0.111373484, 0.05717073, 0.019566689, -0.12794583, 0.006978016, -0.2708247, 0.2845983, -0.048893075, -0.09198705) * go_1(0.0, -1.0); + result += mat4(0.07690064, 0.038431194, 0.1205243, 0.1320201, -0.122893825, -0.022761922, -0.10097431, 0.022808496, -0.0431315, 0.19884229, -0.053464055, -0.08487898, 0.049651224, 0.3001686, -0.05545239, 0.48026356) * go_1(0.0, 0.0); + result += mat4(0.04079296, 0.052179057, 0.08785134, 0.17674746, 0.06027275, -0.083381295, -0.29543424, -0.10703248, 0.14123397, 0.12711276, 0.08260646, 0.23608543, 0.10914477, -0.22596069, -0.15743312, 0.103631504) * go_1(0.0, 1.0); + result += mat4(0.038997833, -0.14136268, -0.31973416, 0.11666723, -0.20137171, 0.0115205245, 0.22825807, -0.14853193, 0.25628343, 0.06598252, -0.003479285, -0.12315031, -0.07446986, 0.29977, 0.08878428, 0.15130284) * go_1(1.0, -1.0); + result += mat4(-0.04147214, -0.050535224, -0.21205503, -0.07425368, -0.06448227, -0.086743675, 0.029389668, -0.07494379, -0.17228132, -0.18035689, -0.09757749, 0.13929781, 0.21867155, 0.02585289, 0.13752261, 0.17800835) * go_1(1.0, 0.0); + result += mat4(0.20552272, -0.03113836, -0.201244, -0.07602455, 0.08278268, -0.17029381, -0.0008433311, -0.11591232, 0.087584734, -0.026447749, 0.09185437, 0.15650395, 0.29423076, 0.016036067, -0.17132477, 0.09271113) * go_1(1.0, 1.0); + result += mat4(0.09120441, 0.1345777, 0.0468555, 0.2635145, 0.04248785, -0.14849417, -0.013588658, -0.12794739, -0.0109574385, -0.15350367, 0.1872175, -0.17311442, 0.2740676, 0.1931403, 0.049231507, -0.17728893) * go_2(-1.0, -1.0); + result += mat4(0.0265621, 0.10291274, -0.0884961, -0.086093664, 0.25218308, -0.027579704, 0.044006765, -0.05947863, -0.17352693, -0.16788955, -0.1829588, -0.19120377, -0.19486824, 0.035516337, -0.04287895, -0.059360266) * go_2(-1.0, 0.0); + result += mat4(-0.0077623413, 0.061803013, -0.14371866, -0.2929254, -0.014011599, 0.23037176, 0.09881457, -0.018942501, 0.14976685, -0.0017081804, -0.0420665, 0.075949386, -0.015102705, -0.07807527, 0.053166322, 0.21431307) * go_2(-1.0, 1.0); + result += mat4(0.15482867, -0.13303289, 0.05441111, 0.20482185, -0.08669985, -0.26125848, 0.085498355, 0.06895137, -0.11653363, -0.022335036, -0.019448604, -0.19071092, 0.002487127, -0.053429328, 0.07700748, -0.15176988) * go_2(0.0, -1.0); + result += mat4(0.058373976, -0.18893883, 0.063239604, -0.16802256, 0.1348292, -0.037208326, 0.121938735, 0.123416096, -0.14086236, -0.08550504, 0.18930112, -0.07056712, -0.2190568, -0.01693728, -0.110385895, -0.10306489) * go_2(0.0, 0.0); + result += mat4(-0.21300407, -0.049379632, 0.13865358, 0.0037872058, 0.008286501, -0.12187443, -0.11094277, 0.021951213, -0.10365199, 0.15844372, 0.068476856, -0.09683496, -0.039589003, -0.027428184, 0.022865763, 0.067510754) * go_2(0.0, 1.0); + result += mat4(0.05690448, -0.09136643, -0.17356895, -0.18716863, 0.07831065, 0.015976364, -0.06423979, -0.01891357, 0.16295952, 0.17686251, -0.26599383, -0.11806091, -0.0968358, 0.024937721, -0.10509048, -0.097365916) * go_2(1.0, -1.0); + result += mat4(-0.06446155, 0.05177888, -0.019579697, 0.046922565, 0.20326103, -0.04118929, 0.07845964, 0.15494241, -0.033653136, 0.13276093, -0.061998203, -0.049391422, 0.0154429395, -0.12517625, -0.022282483, 0.14295246) * go_2(1.0, 0.0); + result += mat4(-0.102786146, 0.028481564, 0.12239765, 0.010855834, 0.17208168, -0.24589455, -0.045410756, 0.17422688, -0.051487174, 0.14276022, 0.26189017, -0.0027747392, 0.15695319, 0.13917996, 0.07303566, -0.055219136) * go_2(1.0, 1.0); + result += mat4(0.014127897, -0.13218386, -0.4342469, -0.10977742, 0.12229517, -0.32898104, -0.21103851, 0.06275854, -0.22651868, 0.111792624, 0.020457482, -0.048701756, 0.124154285, 0.016944582, -0.14404331, 0.054385293) * go_3(-1.0, -1.0); + result += mat4(0.09574338, 0.04884873, -0.12329247, 0.3191857, -0.28155354, 0.03411368, -0.017508674, -0.28257895, 0.06535372, 0.40051946, -0.24508828, 0.05891001, 0.08769791, -0.011710461, 0.10430247, 0.096506774) * go_3(-1.0, 0.0); + result += mat4(0.036757194, 0.1374388, -0.14553823, 0.11012423, 0.19377777, -0.053538468, -0.32605696, 0.07757925, 0.054016564, 0.2677718, 0.26038665, 0.029049544, 0.015482294, -0.08899067, 0.26156536, 0.26035222) * go_3(-1.0, 1.0); + result += mat4(-0.19651565, 0.30669728, -0.03192298, 0.090777226, 0.34684682, -0.040679373, -0.0006501724, -0.069249466, 0.07256215, -0.018623354, -0.021843085, 0.026858928, 0.24001615, -0.007573629, -0.25308976, -0.08101683) * go_3(0.0, -1.0); + result += mat4(-0.19491735, 0.29386947, -0.16541481, -0.12270087, 0.1478019, 0.11557711, 0.09745131, -0.037188005, 0.051415507, -0.009313462, 0.17577961, 0.30678266, 0.052763764, 0.06731275, 0.038889345, 0.01219997) * go_3(0.0, 0.0); + result += mat4(0.21972072, -0.16669928, -0.0471254, 0.07962133, -0.24501611, 0.10681031, -0.10724696, 0.046246808, -0.13467999, 0.019233517, -0.2220906, 0.11756837, 0.07995422, -0.091647364, 0.0524831, 0.2427797) * go_3(0.0, 1.0); + result += mat4(-0.018560572, 0.28909272, 0.27052113, -0.16862495, -0.04259962, -0.2526796, 0.24546415, 0.13772464, 0.019554865, 0.052288387, 0.22942105, 0.14541095, 0.29822263, -0.10352501, -0.17112546, -0.22842947) * go_3(1.0, -1.0); + result += mat4(-0.052647978, 0.17638408, 0.2265538, -0.028214354, -0.13620298, 0.14337336, 0.057785455, 0.14105307, 0.03873432, 0.13013794, 0.24192083, -0.104368195, -0.18878175, 0.11648163, 0.0049888026, -0.17706485) * go_3(1.0, 0.0); + result += mat4(0.003658791, 0.057943232, -0.013143919, 0.08626453, -0.26248586, 0.29328227, 0.18253878, 0.05693778, -0.082900435, -0.034102313, -0.05913703, -0.11045182, -0.06499875, 0.15446658, -0.08087537, 0.18904833) * go_3(1.0, 1.0); + result += vec4(-0.02852779, 0.027645616, 0.06510905, 0.029781172); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.06138475, 0.120526604, 0.22381006, 0.12570442, 0.1439015, -0.5261169, 0.25294203, 0.04825834, 0.06993285, 0.1210301, -0.10087704, 0.038996983, 0.095201865, 0.50708395, 0.17403544, -0.17137507) * go_0(-1.0, -1.0); + result += mat4(0.09580414, -0.17387998, 0.10757996, 0.15188572, -0.02090535, 0.2655171, -0.38653868, -0.014376933, -0.03217946, -0.12866813, -0.049665075, -0.048535764, -0.115907624, 0.032473654, 0.36145476, 0.3830508) * go_0(-1.0, 0.0); + result += mat4(-0.19303346, -0.30462784, -0.21706793, -0.0123182135, -0.063043006, -0.10658377, 0.08729471, -0.27184415, 0.037174225, 0.13507952, -0.06391928, -0.035610817, 0.17105488, 0.07546837, 0.36270198, 0.13315013) * go_0(-1.0, 1.0); + result += mat4(-0.1559421, 0.03859168, 0.058586795, 0.1457787, -0.008261901, 0.17584307, 0.07892688, 0.16024348, 0.20574443, -0.09199424, -0.2572033, -0.06435325, -0.045140598, 0.026080446, 0.30986732, -0.02853244) * go_0(0.0, -1.0); + result += mat4(0.06647865, -0.13637248, -0.2077229, -0.18015774, 0.22215, 0.0282581, -0.124256276, -0.18235172, -0.10444975, 0.039713558, 0.031975772, -0.14737205, 0.1533982, 0.115156986, 0.14176169, -0.12018837) * go_0(0.0, 0.0); + result += mat4(-0.24000446, 0.08672003, -0.209317, 0.1853504, 0.19062491, -0.04505737, -0.097432695, -0.12218054, -0.20497306, 0.0068228757, -0.07930878, -0.045916412, -0.09002585, -0.019980771, -0.13450326, 0.08838858) * go_0(0.0, 1.0); + result += mat4(-0.005804602, 0.05149589, 0.18930501, -0.07475797, -0.3263357, -0.048428953, -0.0062948675, -0.12957661, 0.034840938, -0.12834811, -0.19660017, 0.13469964, -0.049774483, -0.07062978, 0.18116258, -0.2945365) * go_0(1.0, -1.0); + result += mat4(0.021823233, 0.17687339, 0.035116684, -0.14888434, 0.101564035, -0.058118407, 0.035971403, 0.304605, -0.08054271, 0.07140431, -0.24807848, -0.014870848, 0.005698307, 0.0925754, -0.16337888, -0.072692335) * go_0(1.0, 0.0); + result += mat4(0.15357393, 0.05702486, 0.1838928, -0.052683312, 0.26516896, 0.08939279, 0.040435348, 0.035939544, 0.21697883, -0.011976994, -0.10517768, 0.1004424, -0.073649734, -0.063365534, 0.07981437, -0.13724971) * go_0(1.0, 1.0); + result += mat4(0.06887319, -0.031427335, -0.05686962, 0.031254467, -0.0530729, -0.27738956, -0.22601964, -0.16733547, -0.15481988, -0.22141118, -0.19417213, 0.052291542, 0.0665599, 0.13679637, -0.09932399, -0.021917146) * go_1(-1.0, -1.0); + result += mat4(0.0043880343, -0.03320605, -0.09556491, 0.064986005, -0.05736109, -0.015415265, -0.12861155, 0.07442758, 0.09653438, -0.30665413, 0.12456121, -0.015494559, -0.04347404, -0.26863584, -0.12057121, -0.12873033) * go_1(-1.0, 0.0); + result += mat4(0.43038133, 0.117590204, -0.012805269, 0.06656798, -0.08742217, -0.077595286, 0.01795713, -0.010100221, -0.17349729, -0.02995379, 0.01733494, 0.012438303, -0.062275372, 0.18847479, -0.014758355, -0.13591917) * go_1(-1.0, 1.0); + result += mat4(-0.20219825, 0.33157164, -0.036087956, 0.078742586, 0.10264473, 0.13553555, 0.057454523, 0.09034125, 0.04169048, 0.031988595, -0.20171835, -0.018051006, 0.09925883, -0.15372548, -0.14060175, -0.012530946) * go_1(0.0, -1.0); + result += mat4(-0.20762882, -0.23219623, 0.044476848, -0.080212615, 0.027042268, 0.068265386, -0.053666174, 0.051648133, 0.012678151, -0.09496996, -0.073195405, 0.23230731, 0.026435647, 0.040384647, -0.15589063, -0.17085052) * go_1(0.0, 0.0); + result += mat4(0.06897319, -0.06360793, -0.12517554, -0.106191345, -0.22830063, -0.12295911, 0.20943281, 0.11263121, -0.05995797, -0.04077969, 0.029862454, 0.12051529, -0.008890125, 0.005834341, -0.038162317, 0.05707114) * go_1(0.0, 1.0); + result += mat4(0.091504954, -0.054357428, 0.18441072, 0.16866787, 0.14714013, 0.14976494, 0.119183995, 0.11771104, -0.17375562, 0.024148121, 0.08745399, 0.175893, 0.12345911, 0.120711684, -0.23350039, -0.035989728) * go_1(1.0, -1.0); + result += mat4(-0.30777606, 0.028484846, 0.19993277, -0.12934783, 0.049725976, 0.02831735, 0.09492996, 0.28220424, 0.26913685, 0.005740985, 0.025957806, 0.047272105, 0.014296343, 0.15206927, 0.035486884, 0.09940966) * go_1(1.0, 0.0); + result += mat4(-0.11630714, -0.034275923, 0.26804927, 0.1088897, -0.21128473, -0.043662123, 0.24287297, 0.1738188, 0.04961249, -0.03669543, -0.11308307, 0.007536927, -0.0021338738, -0.095983095, 0.12524886, 0.091356605) * go_1(1.0, 1.0); + result += mat4(0.21231711, 0.19442785, 0.047695257, -0.058896706, -0.268304, -0.377306, 0.21314003, -0.09257493, -0.12023363, 0.20652951, -0.027571363, 0.36026677, -0.11473893, 0.22179964, -0.21924159, 0.14666505) * go_2(-1.0, -1.0); + result += mat4(0.04660883, -0.22199874, -0.2171105, 0.32090327, -0.11054424, -0.2047386, 0.18756013, 0.08749142, -0.16950387, 0.2577728, 0.048406947, 0.1380687, 0.1014651, -0.09075356, -0.21746674, -0.2651618) * go_2(-1.0, 0.0); + result += mat4(-0.1928378, 0.11190454, 0.32514498, 0.32336533, 0.100953236, -0.008598421, 0.02124068, 0.0043789423, -0.046625864, -0.051161833, 0.13504188, -0.049233675, -0.10984389, -0.040151004, -0.08592605, 0.13862692) * go_2(-1.0, 1.0); + result += mat4(0.057035644, -0.086490445, 0.17654544, -0.096670695, 0.13528337, -0.10338058, -0.08174943, -0.11349738, 0.088931166, 0.19410637, 0.19873992, 0.01418258, 0.066797465, 0.09427754, -0.17926928, -0.12299086) * go_2(0.0, -1.0); + result += mat4(-0.010706926, 0.040176257, -0.12350328, -0.11089934, 0.08166401, 0.103450865, -0.062155697, -0.10264778, 0.09370084, -0.022440543, 0.036917962, -0.20901524, -0.13244434, -0.18850644, -0.069766395, -0.042853933) * go_2(0.0, 0.0); + result += mat4(0.0064649805, 0.09057663, 0.042877126, -0.22078879, -0.21635285, -0.0064749196, 0.04875745, -1.3261495e-05, 0.26282236, -0.057637256, -0.037890673, 0.0102023715, 0.0797657, 0.050011456, 0.07423098, -0.055722862) * go_2(0.0, 1.0); + result += mat4(-0.21198633, -0.16919948, -0.12337323, -0.06970269, 0.12338858, -0.037561033, -0.013671757, 0.12396114, -0.046889607, -0.005447934, -0.043364853, -0.2882593, -0.069868185, -0.014526121, -0.14131337, 0.12157274) * go_2(1.0, -1.0); + result += mat4(-0.07510719, 0.024486735, 0.056790795, 0.12515159, -0.034031168, 0.025101706, -0.05993126, -0.053233545, -0.014431461, -0.12288865, 0.11686025, -0.22278062, -0.07422713, 0.0011266146, -0.06630191, 0.077075236) * go_2(1.0, 0.0); + result += mat4(0.15784621, -0.0009692987, 0.057809148, -0.17506301, -0.0764334, 0.036327295, -0.107915476, 0.41731307, 0.005342607, -0.17614163, 0.017190281, -0.17021762, 0.09241874, -0.02230073, 0.015017511, 0.1081785) * go_2(1.0, 1.0); + result += mat4(-0.04213655, 0.07620985, -0.24124615, -0.0389524, -0.0071511404, 0.026105708, 0.35026863, 0.0391313, 0.17119752, -0.1083619, -0.011338781, -0.13909689, 0.019918554, -0.21432641, 0.045009304, -0.2289899) * go_3(-1.0, -1.0); + result += mat4(-0.003247703, 0.13921799, 0.23126572, -0.11244338, -0.16778667, 0.05676625, 0.17198953, 0.2891844, -0.06569662, 0.18568343, -0.13698709, 0.014525318, 0.09470385, 0.20842068, 0.22716486, -0.044944298) * go_3(-1.0, 0.0); + result += mat4(-0.036239535, 0.21613471, 0.0571368, 0.0133618545, -0.15562424, -0.030107146, -0.0881642, -0.3056589, 0.17654738, -0.16532254, -0.19526796, -0.09598035, 0.29869553, -0.19921502, -0.10570262, 0.12562469) * go_3(-1.0, 1.0); + result += mat4(0.139326, -0.18395935, -0.14525263, -0.1019923, 0.019128725, 0.06724899, 0.18320693, -0.15844813, -0.063348524, 0.034003522, 0.1160608, 0.16281077, -0.20621236, 0.20389429, 0.008165468, -0.3147023) * go_3(0.0, -1.0); + result += mat4(0.0031874597, -0.17282559, -0.19517206, -0.057723213, 0.014905972, -0.115991496, -0.17772576, 0.10005784, -0.34928575, -0.41152355, 0.15671544, 0.16953272, -0.06541263, 0.09083862, 0.12386179, -0.17146301) * go_3(0.0, 0.0); + result += mat4(0.024222312, 0.06139789, 0.13585247, 0.048212904, -0.038439997, 0.04822463, -0.31542218, 0.12828648, -0.1334096, -0.10939595, -0.20957507, 0.14276013, 0.09314227, -0.018837357, -0.09913242, -0.0690483) * go_3(0.0, 1.0); + result += mat4(-0.059516154, 0.03142432, -0.08262814, 0.12844399, 0.35043675, -0.17421962, 0.034954365, -0.0052628545, 0.10024693, -0.044191923, 0.18297553, -0.045441866, -0.22365399, -0.011058562, 0.1576469, -0.22479026) * go_3(1.0, -1.0); + result += mat4(0.11010148, -0.109644935, -0.06213465, 0.06469803, -0.12474922, 0.20629437, -0.03891448, -0.032074396, -0.21814698, -0.2983182, 0.16088112, 0.02542415, -0.019019049, -0.11332389, 0.04115874, -0.15403947) * go_3(1.0, 0.0); + result += mat4(-0.07334427, 0.065546006, -0.059299644, 0.1712592, 0.10194824, -0.0076101148, -0.26384652, -0.012047153, -0.069830835, 0.2215555, 0.41080138, 0.051534526, 0.15190491, 0.12348823, -0.16904834, -0.20517784) * go_3(1.0, 1.0); + result += vec4(0.019262059, 0.043436494, -0.124304086, -0.014933208); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.20542079, 0.26111016, 0.0036034626, -0.16608916, 0.03036114, 0.04244865, -0.20747331, 0.06865131, -0.13495351, 0.14393657, 0.050192088, 0.13718198, -0.09928467, 0.0038359873, -0.026470508, 0.012319453) * go_0(-1.0, -1.0); + result += mat4(0.019964145, 0.038375776, 0.003130048, -0.07945381, 0.06856654, -0.08331041, -0.049974114, -0.011174098, 0.030265702, -0.12478692, -0.009842687, 0.028310193, -0.29398966, -0.14264, -0.08436449, 0.18336426) * go_0(-1.0, 0.0); + result += mat4(0.07453813, 0.018200234, -0.1406476, 0.027974837, -0.19164173, -0.15623717, -0.057000756, 0.029960351, 0.27373666, -0.08550347, -0.05088059, -0.10246706, 0.033324502, -0.086211175, -0.010092321, -0.11165423) * go_0(-1.0, 1.0); + result += mat4(-0.17666292, 0.26951888, 0.24166632, -0.118283056, -0.1336137, 0.13550404, -0.19008428, 0.0041048722, 0.09373522, -0.032812368, -0.018434448, -0.008766052, 0.10959183, 0.0164411, -0.17436402, 0.11861692) * go_0(0.0, -1.0); + result += mat4(0.059816767, 0.0632236, -0.18595679, -0.10951594, 0.11052112, -0.0630564, 0.32736167, 0.016436215, 0.036759567, -0.10445141, -0.16695334, -0.09536692, 0.34936142, -0.091659166, 0.25245044, 0.064123355) * go_0(0.0, 0.0); + result += mat4(0.23698406, -0.030446773, 0.20418753, 0.030977655, 0.10176531, -0.091048814, 0.06913646, 0.070524976, 0.20899844, -0.026074586, 0.031215316, -0.14815283, -0.22031465, 0.09148875, -0.058892634, -0.042353395) * go_0(0.0, 1.0); + result += mat4(-0.022295577, 0.23975989, -0.03795945, -0.13689965, -0.05808369, -0.005154714, 0.02775734, -0.06821517, 0.14538866, -0.13725305, 0.079675056, 0.015865099, -0.1457713, -0.043883465, -0.11575635, 0.092833005) * go_0(1.0, -1.0); + result += mat4(0.008460874, 0.09447306, 0.14322506, -0.0063166656, 0.04562443, 0.12490515, 0.19263941, 0.07084753, 0.16193573, 0.03871189, 0.0042382013, -0.026311405, -0.042831287, 0.047627136, -0.18002886, 0.03910702) * go_0(1.0, 0.0); + result += mat4(0.08485893, 0.099010445, 0.1808653, 0.098906465, -0.2406554, 0.11303921, 0.03609519, 0.102015704, 0.018253349, 0.018407846, 0.04515686, -0.1044267, 0.12692702, -0.22019249, 0.17978671, -0.11714096) * go_0(1.0, 1.0); + result += mat4(0.37482956, 0.037982, -0.2527836, -0.07246249, -0.3257375, 0.026353687, -0.42709586, 0.15230247, 0.19455267, -0.20558092, 0.040543195, 0.30100232, 0.1208413, -0.022922885, -0.0527519, -0.2754452) * go_1(-1.0, -1.0); + result += mat4(-0.39697862, 0.59894156, -0.14519346, -0.21375597, -0.042094186, -0.11699173, -0.3065778, 0.045603614, -0.2315796, 0.1926384, 0.19640557, 0.023360144, 0.11569712, 0.080500975, -0.24562629, -0.11990825) * go_1(-1.0, 0.0); + result += mat4(0.030446287, -0.2191283, -0.020313436, 0.12092218, -0.04726904, -0.06145154, -0.10886858, -0.016195009, 0.074864194, 0.048508577, -0.024673669, 0.10286324, 0.23434684, -0.1291551, -0.04299077, -0.12459363) * go_1(-1.0, 1.0); + result += mat4(0.064445384, 0.16708861, 0.10306973, -0.13419592, -0.15216815, 0.12578042, -0.575184, -0.46423253, 0.42238462, -0.4330836, -0.26651257, 0.57413465, -0.10399166, 0.1914047, 0.15641387, 0.07064538) * go_1(0.0, -1.0); + result += mat4(0.04809328, -0.12349369, 0.1853755, -0.013703159, -0.12840022, 0.022170544, -0.26412117, -0.30681273, -0.31553897, -0.07833276, -0.17104533, 0.03156802, 0.029389234, -0.017229239, -0.052230056, -0.04573632) * go_1(0.0, 0.0); + result += mat4(-0.1380467, 0.31759852, 0.06532168, 0.19637011, 0.24012493, -0.04863545, -0.21709125, -0.21216264, 0.16879074, 0.10763089, 0.22363038, -0.14004646, 0.19021708, -0.099481724, -0.0073404606, 0.04956918) * go_1(0.0, 1.0); + result += mat4(-0.068974994, 0.5005385, -0.12780246, 0.05813948, 0.035919234, 0.039779782, 0.0028248294, -0.21344285, 0.17026006, -0.17971572, -0.20932221, -0.0862113, -0.0074473396, 0.119821966, 0.28552157, -0.027787263) * go_1(1.0, -1.0); + result += mat4(0.20083936, -0.08729008, -0.01474545, 0.061849594, 0.09285405, 0.074680895, -0.11493401, -0.35524356, 0.098670855, -0.31036818, 0.01269914, -0.06409305, -0.13034628, 0.07905559, 0.0018419055, -0.047743056) * go_1(1.0, 0.0); + result += mat4(-0.0008763842, 0.16266613, -0.13819253, 0.04136551, 0.11757835, -0.01075886, 0.13635348, 0.14200751, -0.036117654, -0.016920915, -0.003860492, -0.14361666, 0.18442062, -0.0119510535, 0.1574026, 0.11443297) * go_1(1.0, 1.0); + result += mat4(-0.26120907, 0.0040505654, -0.01111041, -0.028482055, 0.094762795, -0.27338502, 0.18852817, -0.15605745, -0.012533703, 0.17356302, -0.2594928, -0.04016552, 0.060918808, -0.10248847, 0.12710676, 0.1503744) * go_2(-1.0, -1.0); + result += mat4(0.24577981, -0.047384363, -0.13740875, 0.058981817, 0.09629815, -0.042157363, 0.17206886, 0.06895825, -0.13252918, 0.0941419, -0.048901185, 0.052710008, -0.104840726, 0.11820465, 0.17454259, 0.05037063) * go_2(-1.0, 0.0); + result += mat4(-0.2239817, 0.4553206, -0.017824922, -0.050273463, -0.21029685, -0.032555267, -0.08916583, 0.10736202, 0.18478145, -0.09538145, 0.052327603, 0.12728482, -0.11439347, 0.17596558, 0.054506473, -0.017638389) * go_2(-1.0, 1.0); + result += mat4(-0.072854675, 0.015542916, -0.1950096, 0.06664522, 0.1548192, -0.22573462, -0.20828351, 0.16661869, 0.033900462, 0.23870395, 0.11434291, 0.21813981, 0.12673119, 0.08014363, 0.022457503, 0.20910633) * go_2(0.0, -1.0); + result += mat4(0.2652937, 0.17511544, -0.10850216, 0.081340194, -0.21500582, -0.036195952, -0.04102979, -0.15212043, -0.29559842, 0.25977176, 0.24641588, 0.13869548, -0.41371983, -0.14120851, 0.109116435, 0.22358306) * go_2(0.0, 0.0); + result += mat4(-0.108154014, 0.35006878, -0.055340957, -0.23728919, -0.24589789, -0.06516491, -0.03474703, -0.047869515, -0.0045436365, -0.17755373, -0.039802775, 0.21740748, -0.033278447, -0.10501602, -0.089266, -0.04061338) * go_2(0.0, 1.0); + result += mat4(0.028205335, 0.003054092, 0.14546792, -0.10006339, -0.052365907, -0.13063054, -0.08356806, 0.20927623, 0.05030947, 0.21224388, 0.45320153, 0.0051093665, 0.0021801728, -0.12858267, -0.10686808, 0.21674173) * go_2(1.0, -1.0); + result += mat4(0.10200768, 0.13099737, 0.13514566, -0.17343043, -0.22834082, 0.055208363, -0.20808199, -0.0015957861, -0.13871242, -0.06423964, 0.3320781, 0.051521134, -0.11108624, -0.17557982, -0.12519105, 0.067071475) * go_2(1.0, 0.0); + result += mat4(0.20798117, -0.046690967, 0.17071529, -0.29893485, -0.06927812, 0.072701424, -0.30537283, -0.16406195, 0.10575524, -0.063635424, -0.044293836, 0.08667325, -0.16368344, 0.2196707, -0.29370767, 0.16401167) * go_2(1.0, 1.0); + result += mat4(-0.04009042, -0.034136664, 0.15880232, -0.058544576, -0.09724303, 0.13140567, -0.15769257, 0.05637733, -0.061678827, -0.19032978, 0.11843628, -0.25161943, -0.12645799, -0.27027693, -0.19899485, 0.2231074) * go_3(-1.0, -1.0); + result += mat4(0.07176237, -0.12067612, -0.070081174, 0.10180745, -0.1705716, -0.039632697, -0.22599341, -0.12012279, 0.24187793, 0.015815722, -0.03722175, 0.098794326, 0.19674404, -0.040387046, 0.03916034, 0.013947429) * go_3(-1.0, 0.0); + result += mat4(-0.06389604, 0.04532417, -0.20961155, -0.22151196, 0.08498287, -0.0912261, -0.17840882, -0.13550358, -0.17497064, 0.12473174, 0.025784912, -0.060957976, -0.17787372, 0.21546759, -0.081276976, -0.0057096705) * go_3(-1.0, 1.0); + result += mat4(-0.09308164, -0.036254935, 0.07291895, -0.010599356, -0.07466555, 0.18080021, -0.012473155, 0.24264692, 0.043592792, -0.15068708, 0.19074705, -0.1608174, 0.07106228, -0.15757518, -0.19600157, 0.21481107) * go_3(0.0, -1.0); + result += mat4(0.10340095, 0.14977756, -0.18035571, -0.00454613, -0.018766372, -0.0006462305, 0.12609644, -0.022229725, -0.11288012, -0.10881946, 0.016426437, 0.047212575, -0.015592831, 0.088430114, -0.019637503, -0.15445113) * go_3(0.0, 0.0); + result += mat4(0.13125896, -0.05610665, 0.04579115, -0.20584439, 0.016590014, -0.14247346, -0.045108374, -0.07701804, 0.059466217, 0.10401916, -0.114898264, 0.15725806, 0.02189435, 0.016297683, -0.11828137, -0.07996226) * go_3(0.0, 1.0); + result += mat4(-0.038534615, 0.046327326, 0.04947746, 0.07890686, -0.08618927, 0.1135833, -0.008643036, -0.019718027, -0.08664565, 0.068627, -0.06325347, 0.04222515, 0.120940305, -0.106959745, 0.022951378, 0.14290553) * go_3(1.0, -1.0); + result += mat4(0.06408585, 0.19215317, 0.05731193, 0.09329293, 0.26087278, -0.124888204, -0.15473562, -0.037721, -0.12800066, 0.12517492, -0.06680967, 0.09497935, 0.23841377, 0.1347636, 0.17279463, 0.0038290594) * go_3(1.0, 0.0); + result += mat4(0.08006353, -0.07942165, 0.14611697, 0.053477652, 0.13953096, -0.14270853, -0.009859328, -0.21148224, 0.11157642, -0.12486184, -0.0709194, 0.16277598, -0.08118929, -0.04684391, 0.049433514, -0.28911993) * go_3(1.0, 1.0); + result += vec4(-0.15367588, -0.07928099, 0.063567765, 0.108769014); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!SAVE conv2d_2_tf1 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.13100185, 0.028466834, 0.21762301, 0.07392093, -0.00046575023, -0.08175499, -0.07715949, 0.056365166, -0.028316915, -0.037371337, -0.16343145, -0.078509934, -0.178982, 0.06893543, -0.12027178, 0.06993414) * go_0(-1.0, -1.0); + result += mat4(0.07834248, 0.046873976, 0.23983683, -0.06646688, -0.04749886, -0.101967975, -0.082395144, -0.015339724, -0.07693013, 0.016892025, -0.08877053, 0.14534354, -0.30249342, -0.08455913, 0.09002741, -0.12472986) * go_0(-1.0, 0.0); + result += mat4(-0.039911453, 0.11150177, -0.009199328, 0.043733858, -0.013332275, -0.119128324, -0.09285867, 0.007959111, 0.23202884, 0.06459362, 0.071042486, 0.09901959, -0.046906233, -0.07916646, -0.07528521, 0.05652529) * go_0(-1.0, 1.0); + result += mat4(0.12189273, -0.07608036, -0.09632985, -0.03643418, -0.1058494, -0.045247663, 0.016788295, 0.046447262, 0.08731556, -0.07916306, -0.17591585, 0.070336945, 0.0825902, 0.21166702, -0.14786263, 0.012765127) * go_0(0.0, -1.0); + result += mat4(-0.15099311, -0.082614996, -0.010447922, -0.2116295, 0.22785337, -0.0015175309, 0.21255092, 0.058660604, -0.022553608, -0.120723926, 0.0561124, 0.018720774, 0.0862727, -0.02351105, 0.037588555, -0.013596472) * go_0(0.0, 0.0); + result += mat4(-0.17424586, -0.091873385, 0.20892383, 0.3079469, -0.08027999, -0.07241797, 0.035928074, -0.031040983, -0.03548984, -0.047187436, 0.17053668, 0.39115313, 0.061380606, 0.13889132, -0.041030813, -0.022435248) * go_0(0.0, 1.0); + result += mat4(-0.0037971158, -0.19398233, -0.041492697, -0.08632908, 0.05087685, 0.114212446, 0.09395637, -0.12073027, 0.18993643, -0.025265925, -0.17716514, -0.062493253, 0.078527555, -0.13106133, 0.09158833, -0.08067098) * go_0(1.0, -1.0); + result += mat4(0.11454478, -0.053314645, 0.02932442, -0.052710265, 0.10180192, -0.05165681, 0.1415095, -0.0886421, 0.25377235, -0.16350931, -0.07908212, 0.081858, 0.13214986, 0.056609593, -0.029691117, -0.1963397) * go_0(1.0, 0.0); + result += mat4(0.13833676, 0.024542026, -0.07700002, -0.016948726, -0.13303484, -0.0951515, -0.031009076, 0.055997517, -0.037423257, -0.1693348, 0.015715523, 0.053379383, 0.12330872, -0.15478514, 0.14523397, 0.18046756) * go_0(1.0, 1.0); + result += mat4(0.20786218, 0.14361653, 0.49472246, 0.09881262, -0.34138504, -0.0025990994, -0.43033788, -0.00039400125, -0.002008598, 0.23800024, 0.04231959, 0.028620182, 0.13962908, 0.089462794, -0.14335507, 0.008409915) * go_1(-1.0, -1.0); + result += mat4(-0.12720335, -0.3409636, -0.023997113, 0.026997993, -0.20555046, -0.027020821, -0.235406, 0.09561914, 0.44234744, -0.07148167, 0.00064560794, -0.1726457, -0.014688707, 0.21288827, 0.17666213, -0.11264844) * go_1(-1.0, 0.0); + result += mat4(-0.38011166, 0.014146791, 0.03394759, 0.08368928, -0.14633556, 0.11139822, -0.25683075, 0.07368074, -0.25248998, 0.12499596, -0.004184047, 0.192279, -0.048109, -0.006033096, 0.028591031, 0.15288617) * go_1(-1.0, 1.0); + result += mat4(0.10880278, -0.02255051, 0.21004406, -0.034776326, 0.10378925, -0.22322227, -0.11731474, -0.11443079, -0.30380723, 0.3183636, 0.18248428, -0.10215758, -0.049251713, 0.12848853, 0.012738647, 0.03222829) * go_1(0.0, -1.0); + result += mat4(0.54890627, 0.20614935, -0.019661043, -0.07782363, -0.07293127, -0.004283575, -0.036939718, 0.19752185, -0.41021585, -0.050092876, 0.023610009, -0.23783271, 0.11343489, 0.21473971, -0.06997083, -0.10420534) * go_1(0.0, 0.0); + result += mat4(-0.08103626, 0.091647685, -0.17259495, -0.24478562, 0.08222839, 0.12299736, -0.12480139, 0.08303869, 0.069200024, 0.0005504728, 0.01590888, -0.029884247, 0.029297108, 0.17425247, 0.055239804, -0.06290667) * go_1(0.0, 1.0); + result += mat4(-0.25949356, -0.049375266, -0.19764636, 0.04848412, 0.14846909, 0.07249825, -0.038826656, -0.15756363, -0.1748046, 0.1839563, -0.015786756, 0.012645979, 0.09585216, 0.07619667, 0.010932837, 0.06530666) * go_1(1.0, -1.0); + result += mat4(-0.0592303, 0.34068975, -0.0043445593, 0.25165552, 0.22237164, 0.041179545, -0.046396293, 0.22462137, 0.034741532, 0.06565189, 0.13475078, 0.08480505, 0.1708352, 0.057039484, 0.037506044, -0.34036627) * go_1(1.0, 0.0); + result += mat4(-0.10844713, 0.113506734, -0.14367405, 0.111787796, 0.031758603, -0.06955974, -0.068098925, 0.14282043, 0.094929375, 0.18194464, -0.045276128, -0.0032632013, 0.007969798, -0.0590313, 0.05033309, 0.06328967) * go_1(1.0, 1.0); + result += mat4(-0.08094655, -0.08266014, -0.31147677, -0.062742665, -0.017061448, 0.26350877, 0.10840224, -0.16414656, 0.25499284, -0.3347594, 0.25973678, 0.15623575, 0.022350369, -0.08235582, 0.29226762, -0.14951667) * go_2(-1.0, -1.0); + result += mat4(0.16715927, 0.31846005, -0.007528655, -0.04655408, 0.07248268, -0.1295353, 0.119970314, 0.00721155, 0.19906871, 0.06366751, -0.055744495, 0.11151067, 0.09488815, -0.09006814, -0.1341, -0.12335882) * go_2(-1.0, 0.0); + result += mat4(-0.18715191, -0.06641214, -0.24086717, -0.13160741, -0.20222618, -0.08882262, 0.09281967, -0.14381158, 0.31153843, 0.10280565, -0.06487702, -0.0030142434, 0.12800919, 0.059373695, 0.108098336, -0.025091475) * go_2(-1.0, 1.0); + result += mat4(-0.26941344, -0.010607985, -0.059500597, -0.087650314, 0.057776485, 0.032416668, -0.0014182271, -0.053006213, 0.198899, -0.12861459, 0.1999814, 0.053311568, 0.0801663, -0.2101018, 0.110617965, -0.02017489) * go_2(0.0, -1.0); + result += mat4(-0.0888614, -0.07155236, -0.019973263, -0.12744384, -0.17749546, 0.041163083, 0.07273392, -0.09820898, -0.14922594, -0.11169263, -0.069319114, -0.04354858, 0.18076904, 0.084879614, -0.04125808, 0.068733074) * go_2(0.0, 0.0); + result += mat4(0.025723739, -0.3071993, -0.26200652, -0.24551399, 0.040670983, 0.29252282, -0.14551005, 0.111219764, -0.21262506, -0.026296655, 0.16694368, 0.0041154358, 0.03154805, 0.07315552, 0.13088223, -0.10842478) * go_2(0.0, 1.0); + result += mat4(0.070245974, 0.110039465, 0.19028768, -0.042884093, -0.09198143, 0.07932312, 0.09101255, 0.046001278, 0.18428285, -0.026307642, 0.099789225, -0.12612925, -0.40322223, 0.18879798, 0.010587032, 0.055332247) * go_2(1.0, -1.0); + result += mat4(-0.057069883, -0.032890134, -0.0513947, -0.074211985, -0.19471937, 0.18182398, -0.2119559, 0.2439066, -0.14167733, 0.25903046, 0.18162172, -0.007826057, -0.06429918, 0.02668084, 0.077179454, 0.023550559) * go_2(1.0, 0.0); + result += mat4(0.14551505, 0.11689716, 0.28027633, -0.18079606, 0.016579725, 0.03988999, 0.074107096, -0.15190484, -0.060423456, 0.39282638, -0.005255287, 0.09286323, -0.1003253, -0.0412654, -0.117815144, -0.22671913) * go_2(1.0, 1.0); + result += mat4(-0.26655, 0.02524124, -0.15780295, 0.010378331, 0.038483843, -0.18752888, 0.12708266, 0.020122316, -0.13007571, 0.11942783, 0.1515452, 0.068273015, -0.11957963, -0.061313108, 0.18422426, -0.16399868) * go_3(-1.0, -1.0); + result += mat4(-0.17614686, 0.12740774, -0.12034426, 0.00811552, -0.027063683, 0.004154653, -0.1892024, -0.051516473, -0.15957421, 0.103997365, 0.12231665, -0.082051665, 0.1611069, -0.017016938, 0.03224853, 0.16816284) * go_3(-1.0, 0.0); + result += mat4(-0.15254295, -0.011885901, -0.03317691, 0.076534435, -0.060000043, 0.020979656, -0.11068878, 0.17345367, 0.033083163, -0.016063845, -0.03998401, -0.14917895, 0.05829016, 0.055933036, 0.0152959, -0.11680771) * go_3(-1.0, 1.0); + result += mat4(-0.22236426, 0.093723886, 0.004360134, 0.05051143, 0.017353376, -0.0092351325, -0.16306834, 0.031693168, 0.20352198, 0.060595278, 0.08691345, 0.25801733, -0.09962889, -0.014900563, -0.15118423, -0.096163675) * go_3(0.0, -1.0); + result += mat4(-0.19981825, -0.21788603, 0.20982541, -0.113621205, 0.005621798, 0.0943901, -0.17422888, -0.18507147, 0.30247143, 0.06899553, -0.16009268, 0.067299575, -0.21744101, -0.015869575, 0.095568515, -0.036854178) * go_3(0.0, 0.0); + result += mat4(0.06810536, 0.11014666, 0.24017857, 0.12042336, -0.12038678, 0.015001737, -0.17134188, 0.10343175, 0.09067457, 0.11136803, 0.024367718, -0.13199149, -0.37008765, 0.07137436, 0.122724056, 0.06668219) * go_3(0.0, 1.0); + result += mat4(0.28085753, -0.14428541, 0.08978648, 0.05202615, -0.15860316, -0.06101108, -0.18904316, 0.104275696, 0.06810539, -0.07249347, -0.10909362, 0.019484319, -0.025948122, 0.0910616, -0.17025243, -0.035804044) * go_3(1.0, -1.0); + result += mat4(0.10040864, -0.27650854, -0.029030709, -0.0531634, 0.050312318, 0.14849235, -0.059385244, -0.13935417, -0.16425262, -0.14445016, -0.22415695, 0.04330054, 0.0024454365, -0.009127519, -0.24255885, -0.06303984) * go_3(1.0, 0.0); + result += mat4(0.054911103, -0.2811866, -0.049883213, 0.09221324, 0.041680478, 0.1959676, -0.15021674, -0.006908881, -0.15814131, -0.15958795, 0.15639575, -0.10088554, -0.22732499, -0.082894124, 0.06674789, -0.10491449) * go_3(1.0, 1.0); + result += vec4(-0.038157728, 0.01904009, 0.07848918, -0.04052424); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.044146776, -0.026106803, -0.15219912, -0.15929134, 0.02972265, -0.05223942, 0.06760582, 0.04324784, -0.13192074, 0.12351806, 0.0855665, -0.11861024, 0.097702436, 0.10298012, -0.03555207, 0.06544868) * go_0(-1.0, -1.0); + result += mat4(0.05458123, 0.014500078, 0.048824716, 0.14172198, 0.057214983, -0.06896361, -0.052671798, 0.10043398, -0.029938918, -0.013474177, 0.10448471, 0.29896173, -0.0037866347, -0.06600103, -0.19298725, -0.119502924) * go_0(-1.0, 0.0); + result += mat4(-0.07483799, 0.0757225, -0.07432271, -0.02994328, -0.047863305, -0.08091319, -0.13640103, -0.16553412, 0.019309495, 0.13153689, 0.14757608, 0.041081686, 0.1447018, -0.09976335, -0.06094595, -0.019380448) * go_0(-1.0, 1.0); + result += mat4(-0.116722435, 0.018069802, 0.082960755, 0.25008422, -0.10093022, 0.15039717, 0.16740529, 0.08372216, -0.17313154, 0.072606385, 0.1134366, 0.09108986, -0.025453486, -0.0014705429, 0.073060215, -0.0786531) * go_0(0.0, -1.0); + result += mat4(-0.22601452, 0.5512376, -0.11920107, -0.12763597, -0.008671738, -0.058479775, -0.268992, -0.06614402, -0.26501563, -0.030529302, -0.04196243, 0.13161187, 0.1170102, -0.25060177, 0.060350843, -0.1524947) * go_0(0.0, 0.0); + result += mat4(-0.1648866, 0.05652559, -0.040925294, -0.11008188, 0.21542753, -0.116541564, -0.08021358, -0.13785587, -0.05141525, -0.039133884, -0.1124311, 0.17472316, -0.22469969, 0.09842997, 0.10967242, -0.020226078) * go_0(0.0, 1.0); + result += mat4(-0.12250246, 0.10348344, -0.018174428, 0.037790317, 0.07088387, 0.27629474, 0.049727917, -0.0011699499, -0.1497167, 0.048863184, 0.00309108, 0.12177124, 0.022598455, 0.08864282, -0.048928354, 0.088068075) * go_0(1.0, -1.0); + result += mat4(0.043115202, 0.24277024, 0.17749861, 0.10550521, 0.008603091, -0.36454508, 0.09997063, 0.11979698, -0.15786794, -0.008746184, 0.06689776, -0.20002088, 0.04094072, 0.042499837, -0.05387774, -0.10426778) * go_0(1.0, 0.0); + result += mat4(0.06600674, 0.07645438, 0.015209062, 0.23262201, -0.08001964, -0.09341582, 0.008619914, 0.093308866, -0.124739006, -0.007209568, -0.06492457, 0.22863889, 0.17875427, 0.0779068, -0.09997953, -0.021379821) * go_0(1.0, 1.0); + result += mat4(-0.043263335, 0.1548246, 0.09254137, 0.16256322, 0.13361873, -0.10850825, 0.09901608, -0.0753444, -0.02345517, 0.030159235, -0.0043304237, 0.19805421, -0.11997134, 0.0948639, -0.09261292, 0.1167355) * go_1(-1.0, -1.0); + result += mat4(0.1042119, -0.08793884, -0.15884337, -0.08414226, -0.02642236, -0.032897346, -0.07664125, 0.064429455, 0.04868224, 0.04438529, -0.083366744, -0.06398503, -0.2364328, -0.039592575, -0.15421078, 0.17369357) * go_1(-1.0, 0.0); + result += mat4(0.20374978, -0.09289948, -0.25493136, 0.028119517, 0.053481918, -0.062769525, -0.052148513, -0.20336467, -0.07322327, 0.071623735, -0.05846495, 0.23537324, 0.030998409, -0.0572314, -0.30425155, 0.17616381) * go_1(-1.0, 1.0); + result += mat4(-0.008999034, 0.19063166, -0.16384077, 0.08840229, 0.005153292, 0.17091888, 0.05193965, -0.09363918, 0.07379054, 0.0416411, 0.007373337, -0.002444226, 0.090993404, -0.17546643, -0.14595066, 0.19029109) * go_1(0.0, -1.0); + result += mat4(-0.07473051, 0.022953797, 0.3694185, -0.000816042, 0.014621785, -0.029232977, -0.0163784, 0.30796757, 0.024686797, -0.0376939, 0.106044516, 0.10191429, -0.11145659, -0.23659907, 0.11254082, 0.078495234) * go_1(0.0, 0.0); + result += mat4(0.05722472, 0.014075986, 0.077577166, -0.1319451, 0.0063364087, 0.07042797, 0.013867829, -0.01543331, -0.069067486, -0.07245758, 0.059568863, 0.06195517, -0.25257275, -0.19943956, -0.19534364, -0.1566254) * go_1(0.0, 1.0); + result += mat4(0.10666801, 0.19854072, -0.14524002, 0.21727695, 0.07621112, 0.103370175, 0.003522481, -0.03526533, 0.09204845, 0.04930996, -0.009533781, 0.071561396, 0.007946626, -0.09155877, -0.18856467, 0.11516717) * go_1(1.0, -1.0); + result += mat4(0.15758498, 0.25284624, -0.03834856, -0.16141246, -0.09860034, -0.35015398, 0.08133997, 0.05046502, 0.20083027, -0.0026045898, -0.23627196, 0.07382544, 0.11064689, -0.0707055, -0.18984218, -0.09250848) * go_1(1.0, 0.0); + result += mat4(0.05949194, 0.00070572464, 0.10784266, -0.008810496, 0.06522392, -0.0023800225, -0.01614215, -0.015862722, 0.08078033, 0.10827174, 0.11440369, 0.014041329, 0.053579852, -0.11658711, -0.052344058, -0.03857412) * go_1(1.0, 1.0); + result += mat4(-0.054652497, 0.072690494, 0.11310003, 0.09839347, -0.08197539, 0.089851685, 0.039466213, -0.059131484, 0.03934494, -0.09728057, 0.07211633, 0.14545459, -0.08371904, -0.02848036, -0.020263305, -0.12366355) * go_2(-1.0, -1.0); + result += mat4(-0.13024135, 0.10256835, -0.088607304, -0.08425782, -0.067031406, -0.03591957, 0.034701034, -0.0573039, -0.048706584, 0.10135636, -0.13818035, -0.09554917, 0.1541496, -0.09246093, 0.11827978, -0.02703279) * go_2(-1.0, 0.0); + result += mat4(-0.057035744, 0.063911796, 0.12805207, 0.13411741, 0.00924603, -0.03657417, 0.08100167, -0.031264946, -0.03189199, -0.049402498, -0.046219792, 0.12624107, 0.2809697, -0.1264563, 0.02382632, -0.16174819) * go_2(-1.0, 1.0); + result += mat4(0.032658063, 0.029207656, -0.020362824, -0.18823773, -0.20003095, 0.09240136, 0.004393565, 0.28016117, -0.17617643, 0.21443488, -0.06436653, 0.09426579, -0.012660543, -0.038343526, -0.087761596, -0.06952474) * go_2(0.0, -1.0); + result += mat4(0.013616554, -0.16468868, 0.1281466, 0.08476041, -0.0138902385, -0.04434069, 0.12031286, -0.07590152, -0.12818764, 0.1970344, 0.042898823, 0.018936606, 0.019264435, -0.13713486, -0.027062744, 0.26364017) * go_2(0.0, 0.0); + result += mat4(-0.03121837, -0.040610187, 0.0023387137, 0.11021297, 0.04006531, 0.089258075, 0.038287688, 0.19519399, 0.0590789, -0.0127886515, 0.16618161, -0.11148632, -0.10438067, 0.088400334, 0.115820415, 0.23558354) * go_2(0.0, 1.0); + result += mat4(-0.14781238, -0.020881698, 0.040218577, 0.090248026, -0.04531296, 0.121813886, -0.12156261, -0.02640371, 0.019912932, 0.029554896, -0.032324113, 0.060553055, -0.14531589, -0.20826598, 0.1945815, -0.18510781) * go_2(1.0, -1.0); + result += mat4(-0.24151343, 0.08096261, -0.08314715, 0.121899664, -0.21133694, 0.25925165, 0.037419003, 0.0027491911, 0.07981589, -0.06247693, -0.07793235, -0.050702088, -0.21040778, -0.051243544, 0.021130228, -0.16032514) * go_2(1.0, 0.0); + result += mat4(-0.1940846, 0.005878943, 0.09001744, 0.00996283, -0.01720877, 0.11209827, -0.045714185, 0.017633213, 0.11248759, -0.070436165, 0.059041988, -0.117122024, -0.15776572, 0.041433014, 0.06852976, -0.32530108) * go_2(1.0, 1.0); + result += mat4(-0.018681401, 0.07524977, -0.09961975, -0.025000824, -0.14728728, 0.17958179, 0.05077947, 0.09839162, -0.24664684, 0.2350485, 0.043190528, 0.123329654, 0.031106282, -0.024857467, 0.026871338, 0.03363785) * go_3(-1.0, -1.0); + result += mat4(0.090937026, 0.113483965, 0.10115868, 0.09630846, 0.040868916, -0.14394417, 0.13920946, -0.09652194, -0.21267591, 0.079470165, 0.35935298, -0.029055713, 0.0462934, 0.02001686, 0.01959559, 0.0067710667) * go_3(-1.0, 0.0); + result += mat4(0.025194263, 0.087321565, -0.008157793, -0.12381555, 0.07437093, -0.024633797, -0.13163073, 0.053631987, -0.16161191, -0.33736497, -0.16600001, -0.16064753, -0.01877911, 0.006173125, -0.21867354, -0.11551306) * go_3(-1.0, 1.0); + result += mat4(0.016227739, 0.041133694, 0.12241288, 0.1840938, 0.16001828, -0.07284954, -0.0840258, 0.10275262, 0.059712093, 0.18617383, -0.004344732, 0.04759032, -0.112888224, 0.025455667, 0.06032809, -0.24498977) * go_3(0.0, -1.0); + result += mat4(0.07140021, 0.24720372, -0.12715518, 0.13462298, 0.07784012, 0.04233614, 0.030195842, -0.095302135, 0.1719011, -0.16173883, 0.082427144, -0.03078554, -0.115330435, 0.2787821, -0.15274885, -0.016630588) * go_3(0.0, 0.0); + result += mat4(0.08701172, 0.021434337, -0.15877618, 0.22535062, 0.014872742, -0.0068805423, -0.051181257, -0.38192979, 0.20793833, -0.2901109, -0.057449028, -0.044476006, -0.08431449, -0.05297424, -0.05526057, -0.06096434) * go_3(0.0, 1.0); + result += mat4(0.12446916, -0.010789559, 0.18910398, -0.14184885, -0.040306002, 0.062063884, 0.14885572, 0.0050085005, 0.07284438, 0.03938155, 0.27486423, -0.079940364, -0.10640366, -0.11455711, 0.018501248, -0.05743762) * go_3(1.0, -1.0); + result += mat4(0.26359692, 0.014875724, 0.043625355, 0.0974379, 0.09281598, 0.2449208, -0.07954478, -0.20232148, 0.025533125, -0.29744807, 0.1810463, -0.09866862, -0.16949633, -0.097010635, 0.04885873, 0.08639066) * go_3(1.0, 0.0); + result += mat4(0.10937537, 0.024320884, -0.084123306, 0.045726787, 0.08169718, 0.038608517, 0.2250605, -0.031330425, -0.008280292, -0.026776202, -0.14776887, 0.3436263, -0.16302314, -0.15479733, -0.10982676, 0.12014077) * go_3(1.0, 1.0); + result += vec4(0.046519246, -0.00879819, -0.044789877, -0.07887647); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.10340159, 0.03126175, 0.008010763, -0.014703102, 0.06388945, 0.08303292, -0.052860666, 0.1492984, 0.06422952, -0.029731093, -0.021047806, 0.0012385565, 0.025289888, 0.08642119, 0.06883434, 0.023763692) * go_0(-1.0, -1.0); + result += mat4(0.0748618, -0.048646145, 0.07845818, -0.24385995, 0.077536225, -0.29863936, 0.24418406, 0.07232939, -0.0054087904, 0.05985848, -0.017639449, 0.12629768, 0.108363576, 0.09904134, -0.00050070864, -0.11790627) * go_0(-1.0, 0.0); + result += mat4(0.05239057, 0.15894121, -0.07164557, -0.32539955, 0.046355467, -0.1368222, 0.10285978, 0.0981996, 0.04779384, -0.19793929, 0.06193576, -0.061980426, 0.12222037, 0.06162786, 0.12215435, 0.045095358) * go_0(-1.0, 1.0); + result += mat4(0.11633697, -0.07783625, 0.038284954, -0.1077604, 0.050120354, -0.039917693, -0.05126379, 0.020723915, 0.06922371, 0.07441101, 0.04355437, -0.0009652994, -0.040668465, 0.11270888, -0.056610428, 0.018002095) * go_0(0.0, -1.0); + result += mat4(0.1991713, -0.12291669, 0.007297408, -0.22448927, 0.0118651325, -0.15347931, -0.02881685, -0.13971193, -0.0597255, -0.056213673, -0.16497411, -0.087855674, -0.09711957, 0.19384801, -0.09268538, 0.0010212396) * go_0(0.0, 0.0); + result += mat4(0.13538352, 0.20081995, 0.05765413, 0.08507135, -0.11396954, -0.06537804, 0.1840262, 0.13141033, 0.07317906, 0.053597126, 0.14733106, -0.027857138, -0.008961551, -0.030892484, -0.10815004, 0.07787356) * go_0(0.0, 1.0); + result += mat4(0.14028777, 0.20683727, -0.1973804, -0.14879352, 0.08193435, 0.06776529, 0.15067616, -0.005689123, 0.091099024, -0.04523496, -0.025365459, 0.046144743, 0.073163316, -0.050716147, 0.03645591, 0.08450625) * go_0(1.0, -1.0); + result += mat4(0.05377605, 0.29956514, -0.05203467, -0.12395672, -0.07375765, 0.07590657, -0.1648796, 0.016921869, -0.15838358, -0.18164106, 0.048942942, 0.08723644, -0.05655316, 0.06374977, 0.03486325, -0.17268877) * go_0(1.0, 0.0); + result += mat4(0.067100935, 0.116894506, -0.12316177, -0.28647798, 0.15253417, -0.043991808, -0.07732363, 0.12502535, 0.027790325, -0.13292582, 0.06508008, 0.033653572, 0.100093335, 0.044676002, 0.1450233, 0.108926095) * go_0(1.0, 1.0); + result += mat4(-0.25443476, 0.0075249635, 0.09893316, 0.13884877, -0.009865199, 0.028503535, 0.04932893, -0.021844162, 0.09569463, 0.042022802, -0.0056093778, -0.044183288, 0.012850613, 0.08729362, 0.088493116, -0.035626948) * go_1(-1.0, -1.0); + result += mat4(-0.28942817, -0.2278143, -0.124107786, 0.18914355, -0.13334653, -0.061389446, 0.09170535, 0.1529043, 0.070113055, 0.052939575, -0.027512128, 0.043993592, 0.058714498, 0.0618404, 0.07549026, 0.27376285) * go_1(-1.0, 0.0); + result += mat4(-0.17169511, 0.18338326, 0.09645834, -0.19721629, -0.062608786, -0.06097738, -0.052246977, 0.11313908, -0.002827855, -0.08297087, 0.2045053, 0.027751451, 0.05598507, 0.08318512, -0.020142859, -0.07377832) * go_1(-1.0, 1.0); + result += mat4(0.024627045, -0.065384455, -0.04648491, -0.32704023, -0.16444866, -0.0068647224, -0.20919928, -0.18135908, 0.05522183, -0.12074867, 0.04628794, 0.025948782, 0.058282085, 0.16593929, -0.1396821, -0.36740735) * go_1(0.0, -1.0); + result += mat4(0.16715747, -0.03793736, 0.08576081, 0.23338848, 0.051240716, 0.090182334, -0.046501555, -0.0894777, -0.06944291, -0.05119481, -0.15820025, -0.17854515, 0.3914519, -0.0677236, 0.076883785, -0.16959) * go_1(0.0, 0.0); + result += mat4(-0.16410258, 0.11443157, 0.048126943, 0.17386216, -0.09785154, 0.14995028, 0.093302995, 0.09777354, 0.016656177, -0.16498508, -0.16739717, 0.11313578, 0.001371565, -0.031823646, -0.02444281, 0.13747996) * go_1(0.0, 1.0); + result += mat4(0.023110714, -0.04154956, -0.030491728, -0.4158937, -0.007988987, 0.0035799788, 0.16974539, -0.014700064, -0.017114861, -0.018651277, 0.00242705, -0.011389802, -0.17292719, -0.03441201, 0.057909735, 0.17829509) * go_1(1.0, -1.0); + result += mat4(0.014969421, 0.21926679, 0.14203273, -0.15120554, -0.094369836, 0.083293505, -0.080706924, 0.16517772, -0.053518526, 0.11042086, 0.02499214, -0.05298825, -0.017418144, -0.024013298, -0.07151083, -0.22398451) * go_1(1.0, 0.0); + result += mat4(0.052312143, -0.09576563, -0.073171586, 0.13949135, -0.019157652, -0.019879084, 0.083495006, -0.14749153, 0.05605271, -0.07413262, -0.09352249, 0.0042679785, -0.069604576, -0.16840592, 0.103903025, 0.2889917) * go_1(1.0, 1.0); + result += mat4(0.059331086, -0.033961378, 0.0041064387, -0.08705166, 0.051230803, -0.018020583, -0.12681223, -0.23725896, 0.059449084, -0.052372735, -0.05540911, 0.10343921, 0.024327401, 0.012832041, -0.022239655, -0.13162766) * go_2(-1.0, -1.0); + result += mat4(-0.00208763, 0.06829585, -0.050976753, -0.05621949, -0.005976271, 0.009429676, -0.04865572, -0.09551031, -0.075597085, -0.026020885, 0.03421109, -0.1937313, -0.22840965, -0.15389588, -0.111958645, 0.10905485) * go_2(-1.0, 0.0); + result += mat4(0.081813, -0.065287165, -0.045189142, -0.047831066, 0.08934535, 0.09954615, -0.07451004, 0.033529207, 0.1303318, -0.08212296, -0.07734046, -0.014592582, -0.3092255, 0.045021445, -0.1223635, -0.026269957) * go_2(-1.0, 1.0); + result += mat4(-0.113570146, 0.036414642, 0.015502351, 0.15432163, 0.008468439, -0.029858474, 0.03321966, -0.14513937, 0.105439186, 0.17247854, -0.040744863, -0.054444846, -0.121361785, 0.04879374, -0.23203504, 0.0054753935) * go_2(0.0, -1.0); + result += mat4(-0.015762426, 0.27844664, -0.023570599, 0.004403549, 0.04703402, 0.11293326, -0.22021124, -0.022294452, 0.0109151825, 0.051353704, 0.01387703, -0.25460902, -0.1720017, -0.41253135, 0.13271171, 0.24472673) * go_2(0.0, 0.0); + result += mat4(-0.06729634, -0.08928969, 0.044666067, -0.080033734, -0.010024118, 0.09617992, -0.03422752, -0.24341615, 0.0026236945, -0.17291804, -0.18756893, -0.011092629, -0.0758896, -0.11379615, 0.2614097, 0.2968493) * go_2(0.0, 1.0); + result += mat4(0.037218813, -0.08741755, -0.047161646, -0.075184174, 0.07814149, -0.117306635, 0.27880162, -0.20831196, 0.11074332, 0.007141896, -0.061060436, -0.07465655, -0.06771369, 0.08425538, -0.13826483, 0.1951752) * go_2(1.0, -1.0); + result += mat4(-0.09369145, 0.05128452, -0.0045741517, -0.08464627, 0.072324485, -0.103766605, 0.04346825, -0.084247194, 0.18332602, 0.24476874, -0.23600607, -0.105699316, 0.0018734589, -0.22071646, 0.2122217, -0.1247409) * go_2(1.0, 0.0); + result += mat4(0.024415143, -0.1883563, -0.08757719, 0.038815416, 0.06804177, 0.072834484, 0.062976, -0.043060035, 0.008934872, -0.065206386, -0.02180933, 0.18650985, 0.15305461, -0.043311838, -0.13565755, -0.15254296) * go_2(1.0, 1.0); + result += mat4(0.027255, 0.13145106, 0.08066033, 0.05240541, -0.093578346, -0.043811, -0.03499714, 0.08510107, -0.01451532, 0.20293784, -0.15014489, 0.010262514, -0.05686128, -0.032981467, 0.009303513, -0.14119668) * go_3(-1.0, -1.0); + result += mat4(0.056040764, 0.1030456, 0.19483311, -0.035117295, -0.045012027, 0.036512565, -0.073540024, 0.07976307, 0.048326198, -0.08448881, 0.009611186, 0.21209192, 0.058837466, 0.21072935, -0.18430287, -0.022488063) * go_3(-1.0, 0.0); + result += mat4(-0.047507305, -0.0024985473, 0.16436942, 0.11034998, -0.07350365, -0.04659239, 0.055649634, -0.24239732, 0.0874119, 0.0491421, -0.20165893, -0.16950199, -0.06907221, -0.02995977, -0.076965876, -0.019354858) * go_3(-1.0, 1.0); + result += mat4(0.16029131, 0.13571973, -0.0066582616, -0.12420045, 0.09299235, 0.10025083, 0.17720564, 0.09894699, 0.25251085, -0.06967862, 0.09031549, 0.014147361, 0.10027847, -0.1572137, 0.075934134, 0.041270934) * go_3(0.0, -1.0); + result += mat4(-0.05063072, -0.049268696, -0.018284608, -0.13692653, -0.20619605, -0.3068155, 0.17608485, 0.09949, 0.28783736, -0.22305936, 0.12421118, 0.22138284, -0.14137621, -0.033278886, -0.08361161, -0.030769518) * go_3(0.0, 0.0); + result += mat4(0.108629055, 0.0015808924, 0.20601004, -0.026752226, -0.1501807, 0.029018851, 0.21033502, -0.027005566, 0.0030185424, 0.23096606, 0.03001235, -0.37719792, -0.015479773, 0.3498214, -0.25188166, -0.09796651) * go_3(0.0, 1.0); + result += mat4(-0.17263511, 0.09929037, -0.057462707, 0.03969186, -0.09580756, -0.02628204, -0.18671957, -0.114821374, -0.032703403, -0.04550097, -0.17387073, -0.06422339, 0.029069535, 0.077399485, -0.09688172, -0.04977373) * go_3(1.0, -1.0); + result += mat4(-0.08245095, 0.025046779, 0.15254857, -0.20083354, -0.21334353, 0.13298917, 0.019746812, 0.037977856, -0.18857501, 0.16555329, 0.08286123, -0.07782444, 0.01507326, 0.11679941, 0.029952176, 0.20679134) * go_3(1.0, 0.0); + result += mat4(-0.08486794, 0.010211643, 0.22983155, -0.16577461, -0.12877122, 0.0017102316, -0.079031415, -0.08309121, -0.062880024, 0.17439415, 0.2649001, -0.46177015, 0.08025148, -0.06425451, 0.028244738, -0.047507387) * go_3(1.0, 1.0); + result += vec4(-0.031883862, -0.0151373055, -0.026020631, 0.062551804); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(L)-Conv-3x3x3x16 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!SAVE MAIN +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.012102164, 0.01385959, 0.018815203, 0.0, -0.017435113, -0.04530735, -0.051318135, 0.0, 0.01267727, 0.01400136, 0.017735276, 0.0, 0.012681183, 0.035241637, 0.03990959, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.16069227, 0.098007366, 0.076831706, 0.0, 0.081593364, 0.017831434, 0.010174303, 0.0, 0.014732323, 0.02229113, 0.029828338, 0.0, 0.0048171813, 0.051809076, 0.055740006, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.0347963, -0.014327445, -0.024176419, 0.0, 0.003463003, -0.050532356, -0.06565927, 0.0, 0.082851514, 0.10950989, 0.12022889, 0.0, -0.038950548, -0.015094648, -0.0119305095, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.11845135, -0.08067485, -0.06981454, 0.0, 0.00058037776, 0.01160575, 0.014900963, 0.0, -0.0374349, -0.052966926, -0.044557698, 0.0, 0.017439643, 0.005496974, -0.0024181441, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.1084345, -0.18271221, -0.18795776, 0.0, 0.110637866, 0.08913364, 0.09161146, 0.0, -0.19889367, -0.17172937, -0.1600661, 0.0, -0.03789556, -0.028977778, -0.029903485, 0.0) * go_0(0.0, 0.0); + result += mat4(0.017774954, -0.048732057, -0.061161697, 0.0, 0.022389695, -0.013317256, -0.019972157, 0.0, 0.051979035, 0.08774837, 0.09633588, 0.0, -0.047462203, -0.033091765, -0.028352588, 0.0) * go_0(0.0, 1.0); + result += mat4(0.022178177, 0.05031684, 0.05802219, 0.0, -0.027539665, -0.020904189, -0.01800042, 0.0, 0.0019531948, 0.00019749763, -0.0013961957, 0.0, 0.024253767, -0.00058503833, 0.0006474611, 0.0) * go_0(1.0, -1.0); + result += mat4(0.06707921, 0.0817431, 0.07561426, 0.0, -0.04157211, -0.006174012, -0.003754037, 0.0, 0.0031168605, 0.02320992, 0.026471246, 0.0, 0.0029530525, -0.004939263, -0.0070194793, 0.0) * go_0(1.0, 0.0); + result += mat4(0.03383418, 0.042321067, 0.04266926, 0.0, -0.043634403, -0.0182769, -0.011314871, 0.0, -0.050008457, -0.003527757, 0.0035165092, 0.0, -0.00016610099, 0.019936454, 0.022199173, 0.0) * go_0(1.0, 1.0); + result += mat4(-0.055203374, -0.03910439, -0.03778927, 0.0, 0.027640847, 0.019469904, 0.0277834, 0.0, -0.026225597, 0.04481541, 0.047454204, 0.0, 0.031545334, 0.019874612, 0.011878432, 0.0) * go_1(-1.0, -1.0); + result += mat4(0.016088601, -0.045959134, -0.048793618, 0.0, -0.009834776, 0.0077799167, 0.00873151, 0.0, 0.031265914, 0.09698676, 0.10005417, 0.0, 0.039120086, 0.0005542848, -0.0049420255, 0.0) * go_1(-1.0, 0.0); + result += mat4(0.028432969, -0.014792921, -0.026881924, 0.0, -0.00586326, 0.013427183, 0.018215714, 0.0, -0.013559131, 0.017704675, 0.024854776, 0.0, -0.09087544, -0.104627624, -0.0921747, 0.0) * go_1(-1.0, 1.0); + result += mat4(-0.022899037, 0.026374351, 0.03145993, 0.0, -0.008008749, -0.0013132087, -0.003957525, 0.0, -0.02490554, 0.0020362549, 0.006453752, 0.0, 0.031494617, 0.049864545, 0.04702567, 0.0) * go_1(0.0, -1.0); + result += mat4(-0.12318068, -0.121377476, -0.11615006, 0.0, -0.1321696, -0.078085914, -0.07868927, 0.0, -0.072339885, 0.0012095685, 0.010923645, 0.0, 0.10844834, 0.10038668, 0.09919817, 0.0) * go_1(0.0, 0.0); + result += mat4(0.058991943, 0.018824834, 0.01659209, 0.0, -0.041878223, 0.013176531, 0.023566704, 0.0, -0.010507848, 0.02042605, 0.028884022, 0.0, -0.1193022, -0.10676289, -0.096668206, 0.0) * go_1(0.0, 1.0); + result += mat4(0.023510003, 0.06057355, 0.052194174, 0.0, 0.02304783, 0.031745855, 0.025863871, 0.0, -0.01060811, -0.043136407, -0.03569961, 0.0, -0.022243036, 0.014206766, 0.0032128936, 0.0) * go_1(1.0, -1.0); + result += mat4(0.025120225, 0.07386707, 0.07916389, 0.0, -0.020202598, 0.010854587, 0.009825397, 0.0, -0.043466344, -0.049230598, -0.038344223, 0.0, 0.006438127, 0.041072655, 0.036958262, 0.0) * go_1(1.0, 0.0); + result += mat4(0.027640026, 0.04239058, 0.055017423, 0.0, -0.002110394, 0.040088017, 0.045239322, 0.0, -0.020238828, -0.01711292, -0.014726791, 0.0, -0.029621653, -0.007380026, -0.002073584, 0.0) * go_1(1.0, 1.0); + result += mat4(0.008071638, 0.0034274645, -0.0016181463, 0.0, 0.044838928, 0.06936641, 0.072150804, 0.0, 0.0006324625, -0.02223834, -0.021122342, 0.0, 0.043963037, 0.047561962, 0.026419055, 0.0) * go_2(-1.0, -1.0); + result += mat4(-0.06605246, -0.011649812, -0.0022502556, 0.0, -0.09256232, -0.06281528, -0.055003755, 0.0, 0.032296494, -0.011113339, -0.015790787, 0.0, 0.05214882, 0.022887057, 0.013746634, 0.0) * go_2(-1.0, 0.0); + result += mat4(-0.03587372, 0.018986767, 0.03229596, 0.0, 0.008917248, 0.050303612, 0.06147115, 0.0, 0.01872278, -0.011048741, -0.017369485, 0.0, 0.030770298, 0.0063107815, 0.003187433, 0.0) * go_2(-1.0, 1.0); + result += mat4(0.087662674, 0.048391398, 0.042332277, 0.0, 0.0043635606, 0.02438183, 0.020213395, 0.0, -0.023863237, -0.0051179314, -0.0060627074, 0.0, 0.06292237, 0.05821987, 0.051667042, 0.0) * go_2(0.0, -1.0); + result += mat4(-0.048478693, 0.008368922, 0.016874269, 0.0, -0.19261299, -0.1848583, -0.18258469, 0.0, 0.112302095, 0.061518673, 0.058282077, 0.0, 0.024626324, 0.0058449907, 0.006936535, 0.0) * go_2(0.0, 0.0); + result += mat4(-0.04468695, 0.0099176075, 0.025094027, 0.0, 0.05447911, 0.08220857, 0.08161316, 0.0, -0.0007933787, -0.03090106, -0.040217776, 0.0, -0.028044306, -0.050590593, -0.05027328, 0.0) * go_2(0.0, 1.0); + result += mat4(0.029733973, -0.0129855955, -0.019776886, 0.0, 0.01860655, 0.017793713, 0.020113358, 0.0, -0.023667783, -0.0013290358, -0.004159268, 0.0, -0.01960303, -0.012806444, -0.016549494, 0.0) * go_2(1.0, -1.0); + result += mat4(-0.00952229, -0.007181503, -0.0061082463, 0.0, 0.04292393, 0.01510459, 0.0062862537, 0.0, -0.016540393, -0.023619318, -0.02633423, 0.0, -0.06652295, -0.06933143, -0.063913494, 0.0) * go_2(1.0, 0.0); + result += mat4(-0.015281855, -0.012470513, -0.008184894, 0.0, 0.045862548, 0.023707546, 0.014719574, 0.0, 0.032412887, -0.0038218168, -0.0065955487, 0.0, -0.027728679, -0.04009727, -0.018856067, 0.0) * go_2(1.0, 1.0); + result += mat4(0.042844415, 0.00673587, 0.0038338478, 0.0, -0.031152235, -0.06649269, -0.065986395, 0.0, 0.005666899, -0.015819343, -0.012795757, 0.0, -0.0007617308, 0.021531299, 0.026071105, 0.0) * go_3(-1.0, -1.0); + result += mat4(-0.118266046, -0.07211513, -0.058381762, 0.0, 0.02361942, 0.012819485, 0.010511434, 0.0, 0.077196896, 0.003424893, 0.001927401, 0.0, -0.03160996, -0.0034473129, -0.00444674, 0.0) * go_3(-1.0, 0.0); + result += mat4(-0.06548674, -0.018152835, 0.0034779215, 0.0, -0.006173449, 0.008357867, -0.0033986098, 0.0, 0.021622533, -0.03722321, -0.045832597, 0.0, -0.011835129, 0.0109178, 0.010480887, 0.0) * go_3(-1.0, 1.0); + result += mat4(0.041682176, -0.008985459, -0.018538723, 0.0, -0.054624356, -0.09495616, -0.090484254, 0.0, -0.0060466817, -0.017551763, -0.014151624, 0.0, -0.015683241, -0.012590141, -0.014278323, 0.0) * go_3(0.0, -1.0); + result += mat4(0.073194094, 0.055347454, 0.060976587, 0.0, 0.18175459, 0.13776664, 0.13139476, 0.0, 0.14047755, 0.061971992, 0.056503728, 0.0, 0.0068531767, -0.011873265, -0.016871026, 0.0) * go_3(0.0, 0.0); + result += mat4(-0.041848205, -0.009582, -0.0076929387, 0.0, 0.044274334, 0.04011985, 0.03085897, 0.0, 0.009403278, -0.03346772, -0.04463548, 0.0, 0.04548978, 0.014613167, 0.0055232802, 0.0) * go_3(0.0, 1.0); + result += mat4(0.019901669, -0.0011372451, -0.007423424, 0.0, -0.053240675, -0.07105105, -0.07122227, 0.0, -0.01892976, -0.019795185, -0.019204788, 0.0, 0.01228504, -0.005040437, -0.0010069044, 0.0) * go_3(1.0, -1.0); + result += mat4(0.032843515, 0.014947385, 0.007550199, 0.0, -0.0006476342, -0.020907652, -0.030297596, 0.0, -0.015617971, -0.029182931, -0.038677275, 0.0, 0.037908908, -0.018132487, -0.020226713, 0.0) * go_3(1.0, 0.0); + result += mat4(0.03232915, 0.02915194, 0.014929652, 0.0, 0.016676396, 0.004807404, -0.0008906752, 0.0, 0.0076904814, 0.00541351, -0.0048240838, 0.0, 0.03459369, -0.012969539, -0.024712864, 0.0) * go_3(1.0, 1.0); + result += vec4(-0.0096404655, 0.0022038757, 0.0035988842, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_M.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_M.glsl new file mode 100644 index 0000000..293c4d0 --- /dev/null +++ b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_M.glsl @@ -0,0 +1,275 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.0-Restore-CNN-(M)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.09991986, 0.13782342, -0.031251684, -0.06356843, -0.3437488, 0.05450952, 0.34347802, 0.46335372, 0.08607224, 0.044988394, 0.137179, 0.17976908, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.024212424, -0.09278509, -0.00040907756, 0.34552294, -0.13254678, 0.113105185, 0.005667946, -0.00036919137, -0.06375679, 0.009184115, 0.115518734, -0.115506776, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.14101827, 0.023523493, 0.044094566, -0.019271746, -0.44348842, -0.08818877, -0.4026149, -0.21995795, -0.15880394, -0.013732858, -0.020751135, 0.012719151, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.013001821, -0.34503505, 0.39219138, 0.18792126, 0.24760444, -0.016173402, 0.10154511, 0.15453082, -0.058132876, 0.016784398, -0.05808539, -0.11039915, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.37024534, 0.041440863, -0.3374568, -0.44994286, 0.19555596, 0.20855539, -0.27974075, -0.5372628, 0.21228147, -0.0295346, -0.56700057, 0.030042822, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.12940632, 0.057526, 0.090682045, -0.06985033, -0.13704006, -0.047685407, 0.44615674, -0.48056605, -0.06166251, -0.01883519, 0.2032237, -0.113287605, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.010856669, -0.35820737, 0.16757219, 0.082619876, -0.03967303, 0.038705572, 0.32652855, -0.012030017, 0.015120559, -0.15314877, 0.23442009, 0.09767922, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.046272673, -0.17752305, 0.082018286, -0.2512824, 0.58619463, -0.060903464, -0.022793597, 0.077803515, -0.17025311, 0.05136993, 0.029383298, -0.15475409, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.11212024, 0.13378005, -0.2027488, 0.08056421, -0.11176219, -0.048429377, -0.08396386, 0.10507829, 0.13326839, 0.0430627, 0.051362377, 0.06482755, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.061233472, 0.39222646, 0.029704979, 0.02586828); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_tf +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.16410656, -0.40521824, 0.13121907, -0.02314597, 0.105412476, -0.060401272, -0.043063477, -0.13933973, 0.12558138, -0.020861467, 0.030370515, 0.13178016, -0.14220351, 0.20736893, 0.003321564, -0.29241714) * go_0(-1.0, -1.0); + result += mat4(0.18517321, 0.29162985, -0.26783395, 0.039760686, 0.025527012, -0.067319244, 0.055004176, 0.048916563, 0.12750523, -0.091435954, 0.13818842, 0.36704224, 0.0839921, 0.10186618, -0.17237376, 0.13282418) * go_0(-1.0, 0.0); + result += mat4(-0.1657887, 0.0131325135, -0.17222486, 0.091398895, -0.12756164, -0.08437298, -0.29052997, 0.3269337, 0.15870757, -0.013529402, -0.0581753, 0.11802371, 0.07099966, -0.024063632, 0.31834844, -0.11183859) * go_0(-1.0, 1.0); + result += mat4(0.46036887, -0.07654623, 0.22923063, 0.17463821, 0.10555414, -0.117430426, 0.12406777, -0.011399492, 0.028316498, 0.13684341, 0.009664087, 0.2022659, 0.04953974, -0.31342217, -0.6103131, -0.13605757) * go_0(0.0, -1.0); + result += mat4(0.03406955, -0.39819366, 0.61176, -0.46809456, -0.029321073, 0.46619493, 0.36700186, 0.02288561, 0.11464085, -0.10931452, -0.09154022, 0.07334147, -0.5609916, 0.31826234, -0.011012659, -0.46719545) * go_0(0.0, 0.0); + result += mat4(-0.056855045, 0.27037027, -0.09269696, -0.563572, -0.06816116, -0.22986612, 0.08693167, -0.16246101, 0.09954046, -0.05374176, 0.0071916827, -0.1788692, 0.3825241, -0.1609887, 0.055204768, 0.10213068) * go_0(0.0, 1.0); + result += mat4(0.0646626, 0.102358796, -0.45055822, 0.20557903, -0.23337309, 0.12633002, -0.19299199, -0.15085731, -0.13473304, 0.053790465, -0.10061193, -0.13393497, -0.04264752, -0.029740738, -0.07865285, 0.20883279) * go_0(1.0, -1.0); + result += mat4(0.010471527, -0.033218473, -0.46157447, 0.004866583, 0.23226471, -0.059343327, -0.1439596, 0.13619648, 0.013839963, 0.15930325, 0.043742355, 0.17467323, 0.33772305, 0.40261495, -0.08351293, 0.18129359) * go_0(1.0, 0.0); + result += mat4(-0.12493434, -0.1875134, -0.074943796, -0.0031701606, -0.037142616, 0.1667002, 0.16665547, -0.011248127, 0.0071619414, 0.0034872112, 0.120318964, -0.09625579, 0.14917047, -0.16310586, 0.07231737, 0.30447328) * go_0(1.0, 1.0); + result += mat4(0.093798615, 0.17074613, -0.08780678, -0.012520207, 0.118534856, 0.027508778, -0.2778478, -0.19509242, -0.34137097, 0.32000312, -0.22027159, 0.337515, 0.16220862, 0.108993016, 0.14070526, 0.12784284) * go_1(-1.0, -1.0); + result += mat4(-0.14325632, -0.1467453, -0.27502358, 0.09370837, 0.11821083, -0.012266484, -0.2100548, 0.4707502, -0.06766648, 0.58165014, -0.2512279, -0.33783755, 0.1318925, -0.04346277, 0.15454485, 0.044500057) * go_1(-1.0, 0.0); + result += mat4(-0.05683207, 0.0051946463, -0.108000524, 0.10133204, -0.50763863, 0.007308442, 0.8542404, 0.28387356, 0.022709515, 0.294523, -0.3822472, 0.66166407, 0.01404485, 0.031282708, -0.26756814, -0.123147786) * go_1(-1.0, 1.0); + result += mat4(-0.36455178, 0.3470555, -0.045303088, -0.03170764, -0.15802494, -0.0019141496, -0.25939587, -0.23875342, 0.130428, 0.03954273, -0.17985536, 0.105145946, 0.15804817, 0.12551713, 0.28371975, -0.085748516) * go_1(0.0, -1.0); + result += mat4(0.0060625463, 0.2443924, -0.017692259, -0.20214005, -0.09584515, -0.012805372, -0.13942227, 0.16143198, 0.12942013, 0.41785547, 0.046071563, 0.7030026, 0.10499644, -0.20566013, -0.031321276, 0.27830327) * go_1(0.0, 0.0); + result += mat4(-0.081274964, -0.14562319, 0.27200526, -0.20491314, 0.012910989, 0.024201397, 0.04816258, 0.21297328, -0.22015952, -0.44160756, -0.056035373, 0.33824417, -0.31645304, 0.15469243, 0.053187452, -0.20989445) * go_1(0.0, 1.0); + result += mat4(-0.046550367, 0.033185404, 0.33337244, 0.12853645, 0.23520172, -0.05909214, 0.0861368, 0.10706329, -0.07058717, -0.11759937, -0.18594047, 0.080006264, -0.055425353, -0.12506317, 0.15729053, -0.0915004) * go_1(1.0, -1.0); + result += mat4(0.042516407, 0.14844789, 0.16533111, 0.13502933, -0.0655417, -0.057256397, 0.076713726, -0.23448966, 0.12855926, 0.014219275, 0.051761385, 0.053433083, -0.2446715, -0.4008074, 0.19603717, -0.1796951) * go_1(1.0, 0.0); + result += mat4(0.14777803, 0.15524907, 0.043158617, -0.06996876, 0.19210646, -0.2144364, -0.47020787, -0.4207906, -0.18074386, -0.2163903, 0.0030754965, 0.36799973, -0.3837698, -0.0022661497, -0.37276733, -0.28934997) * go_1(1.0, 1.0); + result += vec4(-0.018297346, -0.080951825, -0.062163066, -0.08050014); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.31543177, 0.23095237, -0.06692611, -0.5867763, 0.003622504, 0.17948842, -0.14627707, 0.1745016, -0.052964583, -0.15551159, 0.05644786, -0.012665164, 0.13107763, 0.11369179, -0.09452995, -0.11973403) * go_0(-1.0, -1.0); + result += mat4(-0.2694661, -0.115382135, 0.3073268, -0.067228466, -0.25511482, -0.13922207, 0.36758214, -0.18821828, -0.022617863, 0.20333402, -0.11125889, 0.3552245, -0.013346653, -0.099095374, -0.25100616, 0.35521755) * go_0(-1.0, 0.0); + result += mat4(0.011012409, -0.13675085, 0.25642, -0.34851208, -0.23184675, 0.18012202, 0.57654136, 0.103173524, -0.16461405, 0.038177088, 0.1234096, 0.013202029, -0.19033363, 0.07469178, -0.017948546, 0.15287702) * go_0(-1.0, 1.0); + result += mat4(-0.05340533, 0.23797482, 0.20351392, -0.05333351, -0.12181174, -0.23363493, -0.20696607, 0.109941036, -0.11519453, 0.13842066, -0.10687832, 0.29040006, 0.022218632, 0.031238724, 0.2685182, 0.15300068) * go_0(0.0, -1.0); + result += mat4(0.22985318, -0.3103802, -0.22916415, 0.25238806, -0.11690287, -0.1947488, 0.118020535, 0.07814263, -0.06335474, -0.007870727, 0.076106325, 0.094677486, -0.16776285, -0.006570437, -0.29589584, 0.41413507) * go_0(0.0, 0.0); + result += mat4(0.43607962, -0.36456433, -0.123776875, -0.16634953, -0.091190875, 0.13035081, 0.28627968, 0.27249968, 0.12356344, -0.008616177, 0.09599816, -0.006144557, -0.23490307, 0.3013123, 0.14153156, 0.21837278) * go_0(0.0, 1.0); + result += mat4(0.060364585, 0.37860224, 0.039182413, -0.22805426, -0.089910224, -0.06817697, -0.2684275, -0.12528503, 0.036934495, -0.07826616, 0.06559976, -0.08253646, 0.13489649, 0.06237663, 0.126376, 0.21194184) * go_0(1.0, -1.0); + result += mat4(-0.12534817, 0.21225189, -0.27818045, -0.3070443, -0.006957577, -0.025105853, 0.12100924, -0.06916452, 0.23081483, 0.1802756, -0.18995638, 0.16603014, -0.2904096, -0.25292823, -0.21834068, 0.13719653) * go_0(1.0, 0.0); + result += mat4(0.017209655, 0.10757137, 0.21414296, -0.30885983, 0.10467716, -0.2184891, 0.100061476, -0.1527528, 0.2100472, -0.25768545, -0.22329919, -0.29153427, -0.06983842, -0.103854865, -0.051384352, 0.14629121) * go_0(1.0, 1.0); + result += mat4(0.0059623295, -0.26060802, 0.32115817, 0.021025505, 0.09783085, -0.15865178, 0.1473021, -0.24977303, -0.033508282, 0.17480391, -0.091310136, 0.09870876, 0.10504043, -0.06105686, 0.013493489, -0.11278855) * go_1(-1.0, -1.0); + result += mat4(0.14875248, -0.14859414, 0.19377062, -0.17456068, 0.101288855, -0.1113682, -0.48944646, 0.1018565, -0.037392337, 0.08539691, 0.1751306, -0.15428723, -0.059375558, 0.027663672, 0.051804014, -0.049813222) * go_1(-1.0, 0.0); + result += mat4(0.118846565, -0.19869871, -0.037388258, 0.08456728, -0.11662527, -0.43818352, -0.093285345, 0.038507205, -0.051991668, 0.21008292, 0.10792365, 0.2020924, 0.057021596, 0.09460527, 0.0016551288, -0.0015957063) * go_1(-1.0, 1.0); + result += mat4(0.11062174, -0.2639232, -0.060295466, -0.3217331, -0.050545212, 0.30989558, 0.30906132, 0.030323273, 0.028986752, 0.037429404, 0.20855664, -0.19848943, 0.034687653, -0.09599135, -0.06250494, -0.13215867) * go_1(0.0, -1.0); + result += mat4(-0.010391146, 0.07657845, 0.44491258, 0.0435906, 0.0075931503, 0.42632654, 0.47022533, 0.34737435, -0.15452717, -0.14613411, -0.45231065, 0.12094409, 0.0067911847, 0.057501152, 0.09876979, 0.044946447) * go_1(0.0, 0.0); + result += mat4(-0.15607435, 0.2293058, -0.09520331, 0.012836732, -0.15282455, 0.26437718, -0.1685477, -0.13211122, -0.055801593, -0.016778728, -0.34478986, -0.23228309, 0.12300962, -0.13235827, -0.13987203, -0.16550972) * go_1(0.0, 1.0); + result += mat4(0.13161735, -0.09039346, -0.033475474, -0.23686698, 0.1514885, 0.20977421, 0.031431954, -0.0049226107, 0.090661936, 0.15288061, -0.03316583, 0.09646573, -0.32651708, 0.18825398, -0.15777239, 0.17572704) * go_1(1.0, -1.0); + result += mat4(0.112157226, -0.08712878, 0.23453182, 0.1043877, -0.14686783, 0.28682423, -0.086443506, 0.059457052, -0.31530112, -0.2700583, -0.06028952, -0.070416875, 0.18053482, 0.16653341, 0.25215197, 0.061915852) * go_1(1.0, 0.0); + result += mat4(-0.20122242, 0.076313145, -0.0988483, 0.094337784, -0.35436687, 0.3762327, -0.07809558, 0.3055848, 0.10425242, -0.17087407, 0.030301496, -0.13911743, 0.01630275, 0.24247427, -0.006474477, 0.03842641) * go_1(1.0, 1.0); + result += vec4(-0.008952847, -0.0058945753, -0.08097229, 0.020968592); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!SAVE conv2d_3_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.2237721, -0.0064096362, -0.31808427, 0.73477733, 0.015353088, 0.23983319, 0.14967978, -0.34920225, -0.07456269, 0.093151815, -0.14331086, -0.24586205, -0.14183366, 0.06401045, -0.22044073, 0.29932275) * go_0(-1.0, -1.0); + result += mat4(-0.07968509, -0.3349146, 0.16529128, 0.08443499, 0.4095855, -0.17120704, 0.17425705, 0.15298946, 0.2981273, 0.2212369, 0.10392389, -0.28775454, -0.065247655, -0.15255849, 0.13094437, 0.18685219) * go_0(-1.0, 0.0); + result += mat4(0.015706737, -0.17755036, 0.2622526, 0.112057306, -0.15876788, -0.38466996, -0.33700845, -0.031711742, -0.023320962, -0.3145249, -0.21223734, -0.1314596, -0.1888095, -0.046370104, 0.09000896, -0.0046378844) * go_0(-1.0, 1.0); + result += mat4(-0.31127506, 0.31304324, -0.03965752, 0.03649018, -0.029851055, 0.05801377, 0.00040150844, -0.04422069, 0.18019931, 0.14415511, -0.09845236, 0.21895434, -0.013932474, -0.046454947, -0.3403935, -0.006705289) * go_0(0.0, -1.0); + result += mat4(-0.34878647, -0.5129283, 0.060250953, -0.16354133, 0.20644619, 0.08732273, -0.24118888, 0.24455065, 0.24449423, 0.44103387, 0.22455928, 0.25738943, -0.26914698, -0.21309987, 0.08386486, 0.021484816) * go_0(0.0, 0.0); + result += mat4(-0.057454903, -0.4121922, 0.022661546, 0.37178272, 0.03331408, 0.05044008, 0.04324371, 0.20727943, 0.2432641, 0.076906696, -0.20858039, 0.012439015, -0.19335061, 0.09217451, 0.1968369, -0.19435833) * go_0(0.0, 1.0); + result += mat4(-0.16960496, 0.24616167, 0.37977478, 0.14324574, -0.011531225, -0.11312143, -0.18141079, -0.23843932, 0.0086012175, -0.3564491, -0.12639481, 0.009799298, -0.29120612, 0.23756824, 0.18035695, -0.087133996) * go_0(1.0, -1.0); + result += mat4(-0.10081239, 0.29191494, 0.10434693, 0.08970636, 0.008997759, 0.104756236, 0.039641086, 0.02323888, -0.11627765, 0.023693223, -0.30801758, -0.120208986, 0.05086147, 0.18498175, 0.15595439, -0.09877306) * go_0(1.0, 0.0); + result += mat4(0.101321675, -0.2929976, 0.38810417, 0.5605376, -0.04073937, 0.030110704, -0.18147062, -0.09833952, 0.01927733, 0.15335669, -0.15384074, -0.110595055, -0.054297395, -0.077522054, 0.07918369, -0.068480626) * go_0(1.0, 1.0); + result += mat4(0.23263514, -0.11719232, 0.2903209, -0.007503795, -0.020222448, -0.17790157, -0.15600762, -0.08741775, 0.12529704, 0.25548857, -0.04585447, -0.10255033, 0.18350503, -0.29593533, 0.0868933, 0.027004737) * go_1(-1.0, -1.0); + result += mat4(-0.14958654, -0.006238835, -0.2928948, 0.1988557, -0.17057803, 0.12524141, 0.13978264, -0.019280292, 0.05967142, -0.07790818, -0.5893818, -0.022845713, -0.08596779, 0.07875358, -0.03316667, -0.4369282) * go_1(-1.0, 0.0); + result += mat4(0.19195688, -0.060883682, -0.25897828, 0.07063324, 0.090833396, 0.003422883, 0.109534174, 0.031180874, -0.05017118, 0.022862168, -0.270113, -0.057831235, 0.53920543, -0.10252776, -0.091807485, 0.004294343) * go_1(-1.0, 1.0); + result += mat4(-0.18494242, -0.119284816, 0.3821897, 0.07777979, 0.15568028, -0.2854859, -0.22441281, -0.049155876, -0.15292497, 0.21895619, -0.095677756, 0.15210424, 0.001643022, -0.026176987, 0.048463076, -0.4824009) * go_1(0.0, -1.0); + result += mat4(0.007215129, 0.17074333, 0.053930074, -0.027014816, -0.17180431, -0.15163863, -0.0012122132, -0.18934256, -0.08294297, -0.24580221, -0.46552867, -0.27923223, 0.4092668, 0.06288688, -0.1602188, -0.0030876845) * go_1(0.0, 0.0); + result += mat4(0.111870885, 0.03317145, 0.14155298, 0.20328505, -0.05104131, 0.13979794, 0.018966835, -0.07238511, 0.05493792, -0.14975783, -0.10293237, -0.21985306, 0.49054706, 0.18288186, -0.26925826, 0.35845932) * go_1(0.0, 1.0); + result += mat4(0.3747799, -0.096748486, -0.17139742, 0.25289854, -0.17421168, -0.018461818, 0.09747162, 0.01660535, -0.20580359, 0.56189656, 0.17151354, -0.26347768, 0.28350568, -0.21486014, -0.44330928, -0.008981037) * go_1(1.0, -1.0); + result += mat4(0.10169985, -0.18244018, 0.04760736, 0.41017643, -0.09468786, -0.024218475, 0.103733875, -0.22540338, 0.10630112, 0.3677178, -0.104170956, 0.057317447, 0.21764882, 0.0789158, -0.22041337, 0.15065216) * go_1(1.0, 0.0); + result += mat4(0.11633995, -0.008195114, -0.14501533, 0.07168025, 0.058413275, 0.055995367, 0.09362145, -0.13827963, 0.13760869, 0.040319785, 0.038895044, 0.2675253, -0.087339684, 0.1412073, -0.17166458, -0.2312994) * go_1(1.0, 1.0); + result += vec4(-0.059377354, -0.02055341, 0.07234869, -0.015452986); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.29012984, -0.13150147, 0.31015614, 0.05992291, -0.050289866, 0.14845313, -0.09608898, 0.27913308, 0.060307387, -0.04160452, 0.035932682, -0.08137563, -0.07999419, 0.11818284, -0.27512288, 0.21948813) * go_0(-1.0, -1.0); + result += mat4(0.12916058, -0.21759962, -0.33868533, 0.021636661, 0.053470243, 0.1412425, 0.043395396, -0.26751056, -0.01689101, -0.2623835, 0.010809152, 0.062962815, -0.20692012, -0.1677863, -0.23313859, -0.17402615) * go_0(-1.0, 0.0); + result += mat4(-0.08204112, -0.23672083, -0.0064437394, -0.13200696, -0.056692924, -0.02708657, 0.12536962, 0.004428919, 0.14137582, 0.15404348, -0.105753876, 0.047957454, 0.15734316, 0.16562423, -0.010160829, -0.06602983) * go_0(-1.0, 1.0); + result += mat4(0.025653997, -0.10877775, -0.31258908, 0.18841636, -0.36005193, 0.1816357, -0.34537643, -0.0741087, 0.4663994, 0.0065186517, 0.08109033, 0.2976773, -0.35774228, -0.041366056, -0.37852773, 0.050565656) * go_0(0.0, -1.0); + result += mat4(0.04392313, 0.11316681, -0.14421389, 0.17985669, -0.1651274, -0.5656209, -0.124100484, 0.42774054, -0.1153939, 0.16829851, 0.2025612, 0.054007456, -0.06868256, -0.56935954, -0.12227961, 0.17688861) * go_0(0.0, 0.0); + result += mat4(0.34041, 0.499, 0.15234196, 0.21353458, -0.2732667, -0.049950935, 0.03550811, -0.21051687, 0.2609023, 0.016438454, -0.29874632, 0.37994128, 0.049288407, -0.31126305, 0.029235512, -0.012256015) * go_0(0.0, 1.0); + result += mat4(-0.0046853204, 0.15391374, -0.040689662, 0.20186873, -0.08137621, 0.35905558, 0.23733845, 0.21794793, -0.066420384, 0.029600656, -0.31421044, -0.050773863, -0.06260773, 0.04634221, -0.10948491, -0.045498934) * go_0(1.0, -1.0); + result += mat4(-0.082953, -0.025837064, -0.09928303, -0.14300232, 0.275064, 0.07793617, 0.22240888, 0.06637834, -0.4382666, -0.2932182, -0.27243167, -0.14221182, 0.5695728, 0.20719238, 0.5575927, 0.40816882) * go_0(1.0, 0.0); + result += mat4(-0.18510929, -0.15052167, 0.25277212, 0.06804461, 0.016387, 0.20310035, 0.2903229, -0.0615877, -0.28987274, -0.11942605, 0.013498961, 0.3184152, 0.29543474, -0.042830903, -0.018111207, -0.13263674) * go_0(1.0, 1.0); + result += mat4(0.25749087, 0.0053866603, -0.09391162, -0.06129529, -0.094091184, -0.07419633, 0.0013858611, 0.012000353, -0.062903, -0.0204224, -0.12113313, 0.017942557, -0.073379934, 0.052201986, 0.35864577, 0.023564404) * go_1(-1.0, -1.0); + result += mat4(0.100115694, 0.19451359, 0.23252094, 0.19506809, -0.12470779, 0.0027281935, -0.17488572, -0.018721964, -0.15159339, 0.18457152, 0.057712987, -0.08191495, 0.19735703, 0.07326743, -0.28563106, 0.01642815) * go_1(-1.0, 0.0); + result += mat4(0.068062514, 0.28356665, 0.07377898, 0.42776972, 0.28725025, -0.13045293, -0.17525704, -0.05885591, -0.16676305, -0.2555945, -0.10078422, -0.053032875, 0.084470876, 0.06460686, 0.13824362, -0.05231353) * go_1(-1.0, 1.0); + result += mat4(0.22637829, -0.028969254, 0.1968254, -0.13331996, 0.038017053, -0.008854481, -0.2031639, 0.09237089, -0.3821112, 0.1108527, -0.11029933, -0.24542028, 0.22416145, -0.031492114, -0.19144306, -0.0996271) * go_1(0.0, -1.0); + result += mat4(0.10776744, 0.16363445, 0.14656505, -0.3737814, -0.06642015, 0.5616549, -0.008412252, -0.37266847, 0.12506576, -0.15329036, 0.037538245, -0.10810259, 0.01706349, 0.1813702, 0.035651788, -0.012786579) * go_1(0.0, 0.0); + result += mat4(-0.4023338, -0.2098614, -0.18285121, -0.02727653, 0.26107362, 0.041306913, -0.036515504, -0.045217298, -0.39958602, -0.21229339, -0.021053292, -0.13427502, 0.36178818, 0.20934913, 0.1500852, 0.2634554) * go_1(0.0, 1.0); + result += mat4(0.07794611, -0.25937587, -0.06822529, -0.056336135, 0.094220124, 0.21588847, -0.0455218, -0.10968329, -0.08068449, -0.31366697, 0.07799637, 0.24252681, 0.23963861, 0.13715535, 0.010329345, 0.09094301) * go_1(1.0, -1.0); + result += mat4(-0.20975718, -0.12550138, 0.14453574, -0.0020878632, -0.07153068, 0.3249998, -0.056577377, 0.18166828, 0.37204072, 0.17018336, 0.3752895, 0.32178587, 0.2571982, -0.27258632, -0.25971004, -0.40536007) * go_1(1.0, 0.0); + result += mat4(-0.3243907, -0.06300621, -0.09398436, -0.19549188, 0.14906861, 0.061537784, -0.055284478, 0.11281728, 0.12964857, 0.09979093, -0.1810159, -0.4104283, 0.05807971, -0.056371246, 0.08072554, 0.18479007) * go_1(1.0, 1.0); + result += vec4(-0.048888464, -0.0561434, 0.030690912, -0.030496685); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!SAVE conv2d_5_tf +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.15332128, 0.027258258, 0.14900503, -0.15982795, 0.17021236, -0.51046044, -0.15287271, -0.058167327, 0.51826185, -0.34817994, 0.004513167, 0.05395769, 0.1990321, -0.049979225, 0.11391989, -0.16062729) * go_0(-1.0, -1.0); + result += mat4(0.033682905, 0.019728886, 0.19931756, 0.17381927, 0.2585768, -0.2124572, -0.014632459, 0.39779893, -0.1146207, -0.2396625, 0.08960277, 0.38345298, 0.25497693, 0.11692859, -0.14207517, 0.12667973) * go_0(-1.0, 0.0); + result += mat4(-0.14911255, 0.08910706, 0.16136818, 0.03914566, 0.24204038, -0.03607149, -0.4571109, 0.10802461, -0.0021356856, 0.00885878, 0.22297303, 0.2367231, 0.045177583, 0.11120606, -0.009971904, -0.059262395) * go_0(-1.0, 1.0); + result += mat4(0.24565999, -0.2261384, 0.47373205, 0.024613412, -0.10923052, 0.039027315, -0.42707404, -0.3783373, 0.3544573, -0.5468578, -0.27599156, -0.09455918, 0.18760219, -0.19082001, 0.030565469, 0.20589156) * go_0(0.0, -1.0); + result += mat4(0.1973198, -0.03433863, 0.059960485, 0.045642868, 0.1819595, -0.14460869, 0.1286175, 0.2067575, -0.042632047, -0.11842967, -0.11224446, -0.18764776, -0.19563004, 0.027425969, 0.24056377, 0.5949649) * go_0(0.0, 0.0); + result += mat4(0.055027682, 0.16331595, -0.2608588, 0.12545955, 0.4588985, 0.03642909, 0.22187738, 0.45190734, -0.001210133, -0.057651415, -0.061199043, 0.11935476, -0.049561135, 0.27509886, 0.13778673, -0.124914035) * go_0(0.0, 1.0); + result += mat4(-0.02257459, 0.27705106, 0.044165276, -0.26521233, 0.05982374, -0.2824302, 0.3171142, 0.08430561, -0.10155528, 0.16182268, -0.09183147, -0.19447176, 0.3295707, -0.50616395, -0.036964044, 0.23166709) * go_0(1.0, -1.0); + result += mat4(-0.0232342, 0.07299799, -0.18038079, -0.13672702, -0.108305976, 0.15024792, -0.19531927, 0.0870979, -0.26488534, 0.19481428, 0.10737945, -0.14573483, -0.33094683, 0.24155116, -0.09850332, 0.2797003) * go_0(1.0, 0.0); + result += mat4(-0.24089853, 0.19506595, 0.4799156, -0.058313113, 0.36212957, -0.44844806, 0.23864488, 0.15477742, -0.07795971, -0.0033861927, -0.11216164, 0.033454563, -0.25893036, 0.23793478, -0.15769425, -0.00033481256) * go_0(1.0, 1.0); + result += mat4(0.05772507, -0.1640253, -0.13499664, -0.20460358, -0.024399966, 0.14966168, -0.090857334, -0.039677754, 0.00036956606, -0.24236615, -0.053542696, -0.0049544116, 0.026651502, 0.39019194, -0.2742246, -0.061242323) * go_1(-1.0, -1.0); + result += mat4(-0.016323274, -0.036179908, 0.029965919, 0.11151491, -0.00016685206, -0.29573023, 0.17996423, -0.20145437, 0.1324275, -0.18442132, -0.24618152, 0.061780427, -0.02770517, 0.28452995, 0.39804098, -0.1174389) * go_1(-1.0, 0.0); + result += mat4(-0.025068847, -0.053328387, -0.27053785, 0.26866457, -0.09866204, 0.057677213, 0.01850112, -0.18014707, -0.13319959, -0.14411181, -0.26355243, -0.022209354, -0.05062645, -0.036771543, 0.13294417, -0.18458557) * go_1(-1.0, 1.0); + result += mat4(-0.046194963, 0.038230438, -0.08993043, -0.07236354, 0.11031123, -0.16504908, -0.09517036, -0.16459833, -0.5279925, 0.12686682, -0.05726125, 0.055361677, 0.31593755, 0.027328093, 0.001839602, 0.30581662) * go_1(0.0, -1.0); + result += mat4(0.08608678, 0.03168437, 0.007713377, -0.26140293, -0.1268983, 0.13395861, -0.069848835, -0.24080403, 0.018839337, -0.049821075, -0.21461345, -0.14168301, -0.0872339, 0.47096667, 0.022512507, 0.14860632) * go_1(0.0, 0.0); + result += mat4(0.06293673, 0.22462969, 0.045494985, 0.021673543, 0.18227446, -0.2956555, 0.08010543, -0.01919729, -0.012190269, 0.241983, -0.046537094, -0.40094566, -0.3853647, 0.1081711, -0.16926058, 0.16138376) * go_1(0.0, 1.0); + result += mat4(-0.14854589, -0.17625804, -0.10849075, 0.221543, 0.099971965, 0.13901573, 0.29464146, 0.020068526, 0.054358527, -0.10351705, -0.0062914286, 0.24127026, -0.16914125, 0.12729423, -0.18377453, -0.6452375) * go_1(1.0, -1.0); + result += mat4(0.12603393, -0.10986093, 0.2314103, 0.16915044, -0.13619255, -0.09349073, 0.20594226, -0.34507084, 0.19077192, 0.052500796, 0.07185645, 0.029082738, -0.015576321, 0.08254907, -0.5501743, -0.38495848) * go_1(1.0, 0.0); + result += mat4(0.09300796, -0.079218306, 0.46825135, -0.08735625, 0.06321122, 0.16234867, 0.042932414, -0.013057422, 0.09697148, 0.23457524, 0.19417483, -0.16804664, 0.18379296, 0.17770062, -0.050235, -0.059676602) * go_1(1.0, 1.0); + result += vec4(0.011169491, 0.032399546, 0.138099, 0.023857072); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!SAVE conv2d_6_tf +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.22753362, -0.08612073, 0.33140692, 0.08699529, -0.18788953, -0.056579117, -0.12905197, -0.06694621, 0.054559365, 0.15031597, -0.13430363, 0.021646025, 0.14884405, -0.0694291, 0.26149413, 0.11270503) * go_0(-1.0, -1.0); + result += mat4(0.17876762, -0.09637848, 0.11285323, 0.2004893, 0.1317187, -0.036162686, 0.17958368, -0.069625, 0.28760737, -0.12505141, 0.12760694, 0.047717955, -0.16811855, -0.16340709, 0.13278298, -0.08403954) * go_0(-1.0, 0.0); + result += mat4(-0.21917523, 0.079711854, -0.28642535, 0.2822416, 0.03001489, -0.014772918, -0.3487396, 0.10597145, -0.013841082, 0.17034237, 0.10810282, -0.08089695, -0.22184245, -0.59067357, 0.44113398, 0.13045649) * go_0(-1.0, 1.0); + result += mat4(-0.29906932, 0.013923749, 0.2031124, -0.11846688, -0.13953634, 0.08003455, -0.10164494, -0.21218559, 0.10563715, 0.31033117, -0.075903505, 0.047310907, -0.37824214, -0.14506383, 0.11866701, -0.21384487) * go_0(0.0, -1.0); + result += mat4(-0.1353849, 0.19258606, 0.063908584, -0.2043788, 0.27244982, 0.1665306, -0.29357895, -0.22441709, 0.18514316, -0.17840464, 0.20986097, 0.14351055, -0.057732623, 0.42166704, -0.23182064, -0.4957248) * go_0(0.0, 0.0); + result += mat4(-0.34830126, 0.109066755, -0.28285867, -0.048280068, -0.12290918, 0.04291651, -0.047484186, -0.03702595, 0.23047262, 0.09398974, 0.022467108, 0.08271034, 0.3066665, -0.54077, 0.057771873, 0.23194093) * go_0(0.0, 1.0); + result += mat4(-0.17731948, -0.3175927, 0.1452728, 0.09396786, -0.16433562, -0.01833653, -0.22345604, -0.04161193, -0.14827462, 0.18544114, -0.15544125, -0.06179007, 0.16989979, -0.20985202, 0.16391534, -0.09447268) * go_0(1.0, -1.0); + result += mat4(-0.053878862, -0.21034616, 0.023831524, 0.19772215, 0.31647214, 0.0126534775, -0.19130844, -0.049282108, -0.21446131, 0.067189045, 0.09117449, -0.25548774, 0.12109098, 0.22009392, -0.3924665, -0.13340388) * go_0(1.0, 0.0); + result += mat4(-0.16096684, -0.18495405, 0.10410178, 0.0015673033, -0.00183498, -0.044303037, -0.062745355, -0.090802394, 0.043269135, 0.06924481, -0.21367405, -0.14619029, 0.11555763, -0.20292862, 0.5799557, 0.14739846) * go_0(1.0, 1.0); + result += mat4(-0.21030277, -0.09578802, 0.013482288, -0.21484336, 0.12995781, 0.40431052, -0.3347856, -0.18183486, 0.15550353, -0.04402301, 0.4603779, 0.14874357, -0.07694621, -0.053523075, -0.19607326, -0.10850742) * go_1(-1.0, -1.0); + result += mat4(-0.2347211, 0.2697403, -0.0634794, -0.17925987, 0.17231455, 0.24999185, -0.5208536, -0.10491828, -0.233575, 0.52950364, 0.0038063182, -0.1380038, 0.022935199, 0.19369157, 0.14586553, 0.1938704) * go_1(-1.0, 0.0); + result += mat4(-0.10245223, 0.34150192, 0.25862157, -0.20165509, 0.5597771, 0.114510864, -0.122526556, -0.04010975, 0.1704679, -0.23335956, -0.16771887, -0.03783455, -0.056995615, 0.24153493, -0.08082429, -0.24210933) * go_1(-1.0, 1.0); + result += mat4(-0.103466526, 0.15278348, -0.30526164, -0.080755696, 0.103505425, 0.15862796, 0.14696524, -0.008358076, -0.09180311, -0.12505089, 0.28052542, -0.13551563, 0.07528779, -0.09636086, -0.10369617, 0.23656134) * go_1(0.0, -1.0); + result += mat4(-0.25752836, 0.099439755, -0.30716348, 0.035077725, 0.023509016, 0.23106368, 0.05277125, 0.34910464, 0.088015385, 0.26995596, 0.1390645, -0.40671825, 0.18096298, -0.100688554, 0.5492049, 0.2482101) * go_1(0.0, 0.0); + result += mat4(0.41411775, -0.107200556, -0.13813478, 0.13768874, 0.27137747, 0.06313619, -0.08522967, 0.03218302, -0.03166121, -0.3415683, -0.52242, -0.1741813, -0.36956537, 0.179129, -0.09742935, -0.11696616) * go_1(0.0, 1.0); + result += mat4(-0.07975504, 0.17964838, 0.37122533, 0.16064765, 0.14309953, 0.29473078, 0.0926391, -0.22333665, 0.34612748, -0.3387473, 0.0077308523, -0.07239449, 0.18522519, -0.21297298, 0.11493978, 0.16117814) * go_1(1.0, -1.0); + result += mat4(-0.17402779, 0.10023144, 0.11712206, 0.031971734, 0.18713303, 0.08736295, 0.013007052, -0.06943139, -0.20102951, -0.010721135, -0.2562522, 0.34877458, -0.13732676, -0.40258047, 0.25824392, 0.15720639) * go_1(1.0, 0.0); + result += mat4(0.044494305, 0.3296108, 0.0017603852, 0.09362289, 0.38839245, 0.40015858, -0.13395199, -0.044521853, -0.56266373, 0.251378, 0.5005789, -0.13106057, -0.18491416, -0.046887, 0.067797676, -0.14694957) * go_1(1.0, 1.0); + result += vec4(0.013687534, -0.08185164, -0.04755438, 0.290178); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(M)-Conv-3x1x1x56 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_tf +//!BIND conv2d_1_tf +//!BIND conv2d_2_tf +//!BIND conv2d_3_tf +//!BIND conv2d_4_tf +//!BIND conv2d_5_tf +//!BIND conv2d_6_tf +//!SAVE MAIN +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_2 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_4 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_10 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_12 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.08837163, -0.065234736, -0.034704313, 0.0, 0.021405501, 0.013663729, 0.019249594, 0.0, 0.05328863, 0.03580334, 0.046457592, 0.0, -0.12216048, 0.022547891, 0.016400825, 0.0) * g_0; + result += mat4(0.061996464, 0.05631466, 0.06808407, 0.0, -0.005013109, -0.0044589997, -0.032367796, 0.0, 0.016481603, 0.13721058, 0.14924648, 0.0, 0.020035887, -0.07250003, -0.08034037, 0.0) * g_1; + result += mat4(0.24078514, 0.081361525, 0.053420708, 0.0, -0.009353794, -0.051077116, -0.058007747, 0.0, -0.14071098, 0.01035966, 0.005308949, 0.0, -0.1489842, -0.06711817, -0.05552926, 0.0) * g_2; + result += mat4(-0.13002375, 0.012733757, 0.017821986, 0.0, 0.17767483, 0.20204604, 0.1751779, 0.0, 0.12804912, 0.07381453, 0.05655911, 0.0, 0.17044514, 0.07301451, 0.06523978, 0.0) * g_3; + result += mat4(-0.1170986, -0.05130371, -0.027939914, 0.0, -0.16645707, -0.121526904, -0.09471366, 0.0, -0.04143118, 0.026693767, 0.034615446, 0.0, -0.084318705, -0.064990036, -0.054324172, 0.0) * g_4; + result += mat4(0.12094524, 0.09518409, 0.07387219, 0.0, 0.062216382, 0.053228356, 0.031372335, 0.0, 0.072797105, 0.026258165, 0.009804673, 0.0, 0.120719045, 0.073281154, 0.056623302, 0.0) * g_5; + result += mat4(-0.11141495, -0.11566289, -0.10398725, 0.0, -0.0651895, -0.06820691, -0.054204144, 0.0, -0.032746475, -0.008849683, -0.007610222, 0.0, -0.024655705, -0.048778858, -0.041144755, 0.0) * g_6; + result += mat4(0.058090195, 0.07538767, 0.059722915, 0.0, 0.044788487, 0.04212742, 0.027502589, 0.0, 0.04892866, 0.015416752, 0.008312418, 0.0, -0.011864114, -0.0074752793, -0.0060824654, 0.0) * g_7; + result += mat4(0.043446552, 0.061971307, 0.05758086, 0.0, -0.06379154, -0.053758245, -0.047204215, 0.0, 0.016307736, 0.03423424, 0.030179083, 0.0, 0.041445345, 0.03843772, 0.033059113, 0.0) * g_8; + result += mat4(-0.003803544, 0.0008906116, -0.00059585314, 0.0, 0.102071285, 0.11485224, 0.10007254, 0.0, -0.074306004, -0.08803551, -0.07972321, 0.0, -0.030704215, -0.021514274, -0.009049376, 0.0) * g_9; + result += mat4(0.0066058086, 0.0011408008, 0.0016199006, 0.0, -0.03916473, -0.042929266, -0.04018418, 0.0, -0.03153446, -0.039413508, -0.034767237, 0.0, 0.113516055, 0.12577052, 0.113335624, 0.0) * g_10; + result += mat4(0.02655948, 0.041905303, 0.03861737, 0.0, 0.048471425, 0.049788587, 0.050447535, 0.0, 0.12092813, 0.13564217, 0.12613249, 0.0, -0.0023508538, 0.0012828974, 0.0028730957, 0.0) * g_11; + result += mat4(0.0084758485, 0.008800083, 0.008206044, 0.0, -0.056123603, -0.06610845, -0.060320783, 0.0, -0.081793964, -0.101638645, -0.096699014, 0.0, -0.04402356, -0.04177539, -0.03829645, 0.0) * g_12; + result += mat4(0.10676299, 0.118409514, 0.10618478, 0.0, -0.05880252, -0.06488367, -0.06432695, 0.0, 0.019221924, 0.017602798, 0.017413978, 0.0, -0.07512528, -0.080483615, -0.066218294, 0.0) * g_13; + result += vec4(-0.010478934, -0.008364784, -0.010246552, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_S.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_S.glsl new file mode 100644 index 0000000..58ccc1f --- /dev/null +++ b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_S.glsl @@ -0,0 +1,137 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.0-Restore-CNN-(S)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.19288683, -0.21397883, 0.111997396, -0.04791413, -0.26682988, -0.06144587, -0.03601853, -0.16693151, 0.038494494, -0.16651472, 0.147657, -0.083003886, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.14286195, 0.08746566, -0.40107322, 0.12390977, -0.33392772, -0.18703035, -0.21326795, 0.04780781, -0.15155545, -0.0010025925, -0.1554875, -0.10676251, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.28095165, 0.022872915, -0.21342312, -0.29982176, 0.025937587, -0.055012174, -0.33779636, 0.0015666655, 0.076416336, 0.06656033, -0.1557806, 0.1078894, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.31584853, 0.07527119, 0.30713862, -0.34014285, -0.50103146, -0.07217874, 0.512807, -0.09597398, -0.32097813, -0.051580857, -0.022466356, 0.01148551, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.026032459, -0.04193211, 0.37703893, -0.031916667, -0.27421117, 1.0906446, -0.049654085, -0.19814016, 0.07819544, 0.06003738, 0.1405805, -0.0064135445, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.041450135, 0.11319654, -0.23237701, 0.08443178, 0.53344345, 0.30857387, -0.057264958, -0.1575803, 0.2325609, -0.027797326, -0.04544767, -0.18720597, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.2531829, -0.074966915, -0.27800754, -0.3146097, 0.20126024, -0.5380133, -0.15082566, -0.19021043, 0.29951036, 0.17123336, -0.01681872, -0.12574998, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.25203633, 0.19882993, 0.14906439, 0.13593598, 0.40712556, 0.084902965, 0.42969635, 0.2961132, -0.057267334, -0.030388135, 8.8084314e-05, 0.0210724, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.13459359, -0.12199573, 0.12591946, 0.24736497, 0.2033463, -0.09388599, -0.094370656, 0.1071285, -0.18479438, -0.066625565, 0.08279283, 0.20130983, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.011108127, -0.07481861, 0.07640154, 0.4964964); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_tf +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.056432575, 0.0028165397, -0.026325442, -0.14802271, 0.16885762, -0.062179096, -0.2332292, 0.17513658, -0.08011296, 0.02947316, 0.014771492, -0.17946689, 0.026012989, -0.09823925, 0.036625937, -0.06924322) * go_0(-1.0, -1.0); + result += mat4(-0.13571467, 0.09831142, 0.12911566, 0.06305893, -0.07188695, -0.20161287, 0.3858435, -0.21069056, -0.12294444, -0.1404628, -0.022659872, 0.23008968, 0.10969853, 0.17640765, 0.39796907, 0.20413099) * go_0(-1.0, 0.0); + result += mat4(-0.0061665224, 0.055102807, -0.0059629944, -0.021429887, 0.061626043, 0.16898955, -0.21215646, 0.16510476, 0.2238265, 0.19429931, 0.09874656, 0.06828208, -0.122404456, -0.00026717107, -0.28203064, -0.29979932) * go_0(-1.0, 1.0); + result += mat4(-0.22735378, 0.14538136, 0.11549746, 0.194148, -0.09841722, -0.0661309, 0.348576, -0.017375294, -0.044078812, 0.1298332, 0.04793373, -0.30687734, 0.08353025, 0.083519086, 0.10766399, 0.31796935) * go_0(0.0, -1.0); + result += mat4(0.048365135, -0.17566709, -0.33212858, -0.052667376, -0.26443407, -0.010216014, 0.1573303, 0.05725314, 0.08140953, -0.09664591, 0.076109104, -0.026773714, 0.07732627, 0.10188082, -0.28266954, -0.16230233) * go_0(0.0, 0.0); + result += mat4(0.29931107, 0.117944, -0.10414009, 0.12795551, 0.12576093, 0.17082554, -0.15803693, 0.13430743, -0.025801308, -0.10797019, 0.0721032, 0.2825884, -0.11025257, 0.12798019, 0.081827976, -0.050441865) * go_0(0.0, 1.0); + result += mat4(-0.11827391, 0.08306765, -0.3430314, 0.07898041, -0.023839617, -0.019507334, 0.23176382, -0.40992323, 0.09411734, 0.38415068, -0.25845516, -0.29984522, 0.1470966, -0.0684779, -0.07071314, -0.026773235) * go_0(1.0, -1.0); + result += mat4(0.19091596, 0.082110435, -0.5266589, -0.1744098, -0.015838385, -0.046316292, 0.023171103, -0.03731331, 0.2642396, 0.31824252, -0.041754793, -0.09525519, -0.14696182, 0.052168854, 0.039857205, -0.027555354) * go_0(1.0, 0.0); + result += mat4(0.15207373, 0.09845733, 0.0142631065, 0.096375965, 0.06089903, 0.17902578, -0.42391995, 0.22475442, 0.016356342, -0.06277531, -0.12173141, -0.18635495, -0.0013459618, 0.15725887, 0.019310836, 0.20293565) * go_0(1.0, 1.0); + result += mat4(-0.18395247, 0.30672902, 0.09034339, 0.1821889, -0.0419004, -0.2169228, -0.14052129, 0.11006559, 0.1709272, 0.51062274, 0.13758625, -0.2242552, -0.030382963, 0.3357568, -0.26491287, 0.02501938) * go_1(-1.0, -1.0); + result += mat4(0.040511727, 0.12523083, -0.27318433, 0.08388512, 0.25354835, 0.3404216, -0.2632471, -0.17784123, 0.2732347, 0.4468553, 0.084667034, -0.1856242, 0.034099877, -0.00954992, -0.32751867, -0.062207516) * go_1(-1.0, 0.0); + result += mat4(0.17564747, 0.11645554, -0.16362113, 0.105654195, -0.2762563, -0.1413764, 0.23264363, -0.14000498, 0.095402054, 0.0715738, -0.19346157, -0.028285999, 0.009799127, 0.04059529, 0.19688335, 0.1282381) * go_1(-1.0, 1.0); + result += mat4(0.23575781, -0.11446148, -0.20504695, 0.035568226, 0.36890212, -0.85968876, -0.18545328, 0.33796397, -0.30916876, -0.10445518, -0.3046253, 0.33271998, -0.06263589, -0.2160114, -0.16383372, -0.31173357) * go_1(0.0, -1.0); + result += mat4(0.20469664, 0.4039374, -0.070057206, 0.030353077, 0.39843914, -0.15490077, -0.24476516, 0.38238233, -0.21809858, 0.23496576, -0.051794037, 0.033664484, -0.14411364, -0.2515329, 0.124655396, -0.05818785) * go_1(0.0, 0.0); + result += mat4(-0.09065731, -0.16787091, 0.013269188, 0.23687351, -0.41504318, -0.048163068, 0.31760025, -0.33648986, 0.29752317, 0.2926866, 0.14408836, -0.33382463, -0.15873958, -0.121961035, 0.11797893, 0.09000567) * go_1(0.0, 1.0); + result += mat4(0.13356976, 0.013763947, 0.012169505, -0.109594524, 0.03417223, 0.7031121, 0.65146804, 0.5250268, -0.50132495, -0.419648, 0.2940041, 0.83051753, -0.17595838, 0.1633008, -0.018587278, 0.079596795) * go_1(1.0, -1.0); + result += mat4(0.07570128, -0.1581438, 0.03904949, 0.14890033, -0.054611947, 0.17469402, -0.44252598, 0.036181703, -0.4981031, -0.37507218, -0.18466389, 0.2645845, 0.25189674, -0.025896115, 0.034307647, -0.020462232) * go_1(1.0, 0.0); + result += mat4(-0.11645865, 0.02296537, 0.040909223, 0.015069485, 0.062284566, -0.22526766, 0.09241534, -0.32623053, 0.18208642, 0.3954284, 0.2884468, -0.25137675, -0.037232924, -0.10185309, -0.17956531, 0.018966453) * go_1(1.0, 1.0); + result += vec4(-0.16371979, -0.024620198, -0.035754893, 0.04176776); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.01921286, -0.26684764, -0.12663573, 0.31641877, -0.25313398, 0.12264074, 0.58750325, -0.14084283, 0.5837018, -0.042300556, -0.20435576, -0.009954825, 0.060783498, 0.05540401, 0.2205112, -0.06578902) * go_0(-1.0, -1.0); + result += mat4(-0.21930243, -0.03774968, 0.22615197, 0.18338196, 0.011201461, -0.271034, 0.00573116, -0.12248194, 0.47990513, 0.2982416, -0.1087603, -0.050099242, -0.07620939, -0.07148229, 0.03691984, -0.16796488) * go_0(-1.0, 0.0); + result += mat4(-0.14962853, -0.053769328, 0.02387081, 0.22002189, 0.052237745, -0.26160842, -0.08603077, 0.012542448, 0.08119985, 0.075785555, -0.33437458, -0.43373227, -0.13206963, -0.08759176, -0.03288923, -0.09799959) * go_0(-1.0, 1.0); + result += mat4(-0.1305593, -0.5974288, 0.06058367, 0.08406488, 0.013692483, 0.06646377, 0.16469325, 0.08990975, 0.42217395, -0.11289523, -0.06165009, 0.48556912, -0.15702641, -0.19922857, -0.0035429662, -0.0022089656) * go_0(0.0, -1.0); + result += mat4(-0.1964807, 0.038099788, 0.21587034, 0.039734077, -0.07063389, 0.11604167, -0.24558097, -0.08900199, -0.7684516, -0.1037487, -0.09380674, 0.33144563, -0.16653742, 0.0028585843, -0.33774406, -0.0528696) * go_0(0.0, 0.0); + result += mat4(-0.27298656, -0.05665099, 0.09661685, 0.19780266, 0.1025106, -0.22055034, -0.21218458, -0.040628925, 0.0095010325, 0.13118382, -0.42582452, -0.22197723, 0.21006055, -0.06189587, -0.15285942, -0.09526762) * go_0(0.0, 1.0); + result += mat4(-0.14494462, -0.046788953, 0.065877035, 0.09911713, 0.35096622, 0.16682479, 0.028363144, 0.36037162, 0.29413632, 0.28212717, -0.025364442, -0.3406269, 0.047262143, -0.11892685, -0.008032766, 0.29743317) * go_0(1.0, -1.0); + result += mat4(-0.15191558, -0.36980554, 0.14555687, 0.0043930537, -0.012661432, 0.15737776, -0.115250416, 0.10324491, 0.24491951, -0.15575431, -0.27802598, 0.21959937, 0.18063772, 0.4455559, -0.09693302, 0.33382267) * go_0(1.0, 0.0); + result += mat4(0.2717801, 0.13452889, 0.14105384, 0.16324317, -0.40111846, 0.1154301, -0.0076733204, -0.09697362, 0.44306824, -0.02831414, -0.2153124, -0.12075326, 0.060776163, 0.30347148, -0.0036976219, -0.12070682) * go_0(1.0, 1.0); + result += mat4(-0.39780128, -0.29875937, -0.12952097, 0.080333896, 0.07520163, 0.021689568, -0.23121156, -0.038140096, -0.1593877, 0.017156163, -0.06038025, 0.009244022, -0.13917233, 0.30957314, 0.243109, -0.104947075) * go_1(-1.0, -1.0); + result += mat4(-0.07965157, 0.06776501, -0.13288979, 0.005851189, -0.08768168, -0.03689969, 0.12034646, 0.22441491, 0.14453568, -0.17648841, -0.3378289, -0.018329712, 0.11722939, -0.34161824, 0.08424494, -0.01400687) * go_1(-1.0, 0.0); + result += mat4(0.08153887, 0.07222914, -0.14663404, -0.038526025, -0.07385973, 0.18440577, 0.35890242, 0.17084727, 0.26345527, 0.15280858, -0.007446105, -0.024403179, -0.30336383, -0.22978698, 0.11612946, -0.23614909) * go_1(-1.0, 1.0); + result += mat4(-0.07447396, 0.09023449, -0.13798, -0.086943336, -0.30787337, 0.15087669, 0.14418626, -0.03371195, 0.048989657, -0.13075387, -0.13458036, -0.059836224, 0.06495196, 0.269715, 0.3674355, 0.38956037) * go_1(0.0, -1.0); + result += mat4(0.34981915, -0.048779126, 0.31717536, 0.38080826, -0.20149232, -0.82969636, -0.10167862, 0.6382858, 0.25976858, 0.4370118, -0.04724865, -0.10014156, 0.19380626, -0.080370255, 0.09578106, -0.035166856) * go_1(0.0, 0.0); + result += mat4(-0.026443917, 0.4132611, 0.01822534, 0.12742202, -0.26652107, -0.2996705, 0.30905882, 0.07989903, 0.38249823, 0.21486135, 0.025314959, -0.14717339, -0.13344015, -0.32088286, -0.2833883, -0.30973712) * go_1(0.0, 1.0); + result += mat4(0.021517841, 0.006556378, 0.2025686, -0.12044382, -0.38583103, -0.0027515136, -0.06556736, -0.097090125, 0.04676486, -0.11954886, -0.051612873, 0.07831412, -0.18823163, -0.16542958, 0.04245155, 0.6437998) * go_1(1.0, -1.0); + result += mat4(-0.39475346, -0.2936861, 0.26768062, -0.28151843, 0.21935691, 0.2101108, -0.15455097, 0.19548604, 0.09188909, -0.020147726, 0.103328265, -0.12574542, -0.34167948, 0.07523185, -0.17669058, 0.62446547) * go_1(1.0, 0.0); + result += mat4(-0.37661025, -0.29630858, 0.05451026, 0.1611643, 0.14079669, -0.2170294, -0.038716137, 0.13514164, -0.21235192, -0.07860726, -0.005749412, 0.025625167, -0.13297133, 0.33012658, -0.27434957, -0.18416783) * go_1(1.0, 1.0); + result += vec4(-0.0036821906, -0.050239526, -0.01355402, 0.00048220603); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(S)-Conv-3x3x3x8 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_2_tf +//!SAVE MAIN +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.15873, 0.17989138, 0.14648493, 0.0, -0.017379675, -0.017363746, -0.019855022, 0.0, 0.009670625, 0.0070157526, 0.0075994316, 0.0, 0.025388412, 0.027231036, 0.024052646, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.048195973, 0.041760173, 0.037366055, 0.0, -0.115950756, -0.12887983, -0.12535639, 0.0, 0.032125086, 0.03397254, 0.032950625, 0.0, 0.01223746, 0.020822672, 0.0161561, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.0890567, 0.094453335, 0.09014035, 0.0, 0.016081346, 0.017434116, 0.020783134, 0.0, -0.011775135, -0.010094134, -0.018522855, 0.0, 0.072103254, 0.07940666, 0.065876864, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.04841196, -0.06963968, -0.056574684, 0.0, 0.10912542, 0.11813441, 0.10643838, 0.0, -0.013013885, -0.01562045, -0.013802797, 0.0, 0.037505716, 0.04352026, 0.04645123, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.3472869, -0.36243078, -0.33530185, 0.0, 0.23654196, 0.2305048, 0.22150646, 0.0, -0.045226905, -0.041799217, -0.042511635, 0.0, -0.10267792, -0.1123385, -0.10845448, 0.0) * go_0(0.0, 0.0); + result += mat4(0.011987401, 0.012285043, 0.007813165, 0.0, -0.15911353, -0.17523928, -0.1535267, 0.0, 0.15675929, 0.16531634, 0.15948962, 0.0, -0.09240023, -0.09513292, -0.084187366, 0.0) * go_0(0.0, 1.0); + result += mat4(0.069052905, 0.07278333, 0.0756627, 0.0, -0.012180326, -0.018794727, -0.031050753, 0.0, -0.044663202, -0.04362803, -0.038904265, 0.0, -0.008540197, -0.011201734, -0.01556625, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.08261173, -0.09042543, -0.07589266, 0.0, 0.043515377, 0.045066774, 0.04037769, 0.0, -0.06262993, -0.07469342, -0.058593787, 0.0, 0.026696987, 0.028740842, 0.037405368, 0.0) * go_0(1.0, 0.0); + result += mat4(0.07975598, 0.09597654, 0.08997132, 0.0, -0.07844719, -0.07880916, -0.06835411, 0.0, 0.05668995, 0.050163813, 0.053357534, 0.0, -0.020040333, -0.019867316, -0.01907621, 0.0) * go_0(1.0, 1.0); + result += mat4(-0.017078733, -0.017393313, -0.008266595, 0.0, -0.0033478448, -0.0027439648, -0.0042334674, 0.0, -0.06354017, -0.062058125, -0.04652064, 0.0, -0.010787706, -0.0062706997, -0.007573461, 0.0) * go_1(-1.0, -1.0); + result += mat4(-0.019895451, -0.016341688, -0.008712399, 0.0, 0.026231976, 0.023955572, 0.0216376, 0.0, -0.061950512, -0.05481285, -0.05261985, 0.0, -0.018804235, -0.016235247, -0.0131616965, 0.0) * go_1(-1.0, 0.0); + result += mat4(-0.055628926, -0.063315354, -0.057192408, 0.0, -0.0256364, -0.028660972, -0.02937357, 0.0, -0.017604912, -0.020851422, -0.016070362, 0.0, -0.0870202, -0.0832279, -0.07525406, 0.0) * go_1(-1.0, 1.0); + result += mat4(0.062738225, 0.07106593, 0.061644047, 0.0, -0.06068257, -0.06983662, -0.066070385, 0.0, 0.024919355, 0.03227179, 0.028569462, 0.0, -0.07866227, -0.098967604, -0.092128105, 0.0) * go_1(0.0, -1.0); + result += mat4(0.040397774, 0.047241107, 0.03962998, 0.0, -0.09112752, -0.10057507, -0.09301817, 0.0, 0.10833967, 0.101835825, 0.10027467, 0.0, 0.27189335, 0.27433604, 0.26781923, 0.0) * go_1(0.0, 0.0); + result += mat4(-0.044211388, -0.042373534, -0.03658007, 0.0, 0.113148406, 0.12423258, 0.107804194, 0.0, -0.17081551, -0.18562958, -0.17475435, 0.0, 0.09636739, 0.10763415, 0.093332425, 0.0) * go_1(0.0, 1.0); + result += mat4(-0.03798545, -0.047811143, -0.050768293, 0.0, 0.018775463, 0.026812987, 0.03452908, 0.0, 0.0055677597, 0.0039081173, -0.0017878668, 0.0, -0.10728597, -0.12618187, -0.109045394, 0.0) * go_1(1.0, -1.0); + result += mat4(0.06359783, 0.064184755, 0.04934199, 0.0, -0.009819327, -0.006616115, -0.007431496, 0.0, 0.025055679, 0.024787048, 0.017360551, 0.0, -0.047140837, -0.061695747, -0.06440822, 0.0) * go_1(1.0, 0.0); + result += mat4(0.060199022, 0.06482763, 0.059514645, 0.0, 0.026998974, 0.028776823, 0.024897143, 0.0, 0.17968474, 0.19337215, 0.16760105, 0.0, 0.0075838566, 0.010503482, 0.011993149, 0.0) * go_1(1.0, 1.0); + result += vec4(-0.0052927984, -0.0060193934, -0.0048643993, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_L.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_L.glsl new file mode 100644 index 0000000..7968c0e --- /dev/null +++ b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_L.glsl @@ -0,0 +1,429 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.2676983, -0.1694746, 0.7231928, -0.050193843, 0.1850188, -0.4749505, 0.07632266, 0.17824799, 0.026348969, -0.213702, -0.16420218, -0.066780016, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.09888135, -0.079641104, 0.51160043, 0.53629893, -0.1368544, -0.07092336, 0.18622977, 0.6388427, 0.19499005, 0.06811229, -0.31991923, 0.088302985, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.06487055, -0.1591197, -0.29304126, -0.428903, 0.1966732, 0.11229865, 0.089009434, 0.23463708, -0.22231965, -0.008649182, 0.3317394, 0.10976113, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.40386826, -0.09486362, -0.058931742, -0.1341693, -0.28993917, -0.09050739, 0.28094417, 0.31630108, -0.02661985, -0.24368657, 0.096867286, 0.05391612, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.05631564, 0.34576723, -0.5587978, 0.16213721, 0.12679785, 0.18991663, -0.24762277, -0.33682153, -0.22863568, 0.20517963, 0.20418519, 0.12087338, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.17579688, 0.18395603, -0.014987654, 0.30243605, -0.12778279, -0.07003458, -0.5353068, -0.39372426, 0.2676877, 0.255503, -0.29737592, -0.30513638, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.799834, -0.023603538, 0.19820727, -0.11204286, -0.1566225, -0.1937577, -0.030266436, -0.10107911, 0.023661222, 0.16879195, 0.046644643, 0.09485681, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.014675849, -0.110290475, -0.28381273, -0.06814732, 0.2067597, 0.20925248, -0.24068354, -0.5096708, -0.09384791, 0.10593733, 0.0672362, -0.06924161, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.05908883, 0.099426664, -0.20916614, -0.17044452, -0.091960385, 0.3218613, 0.41635308, -0.36125022, -0.012630896, -0.37540653, 0.018497325, -0.10067442, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.55533427, -0.05231614, -0.032685343, -0.027457517); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.09844753, -0.19389127, 0.029695928, 0.3805915, 0.1353029, 0.027786473, 0.15621242, 0.09383762, -0.1097243, 0.021245124, -0.016402386, 0.09129394, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.3038283, 0.03778846, 0.1898852, 0.23949303, -0.34829387, 0.20485392, 0.60560244, 0.4089768, -0.260066, 0.42611003, 0.19227165, 0.03948586, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.033990905, 0.17583308, -0.2235879, 0.47376296, -0.1001787, 0.72851896, -0.056391567, -0.056544185, 0.0966166, -0.016663829, -0.15151545, -0.14227313, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.16544957, 0.05889452, -0.3277256, -0.42792717, 0.32491356, -0.39113912, 0.16600312, -0.3097514, 0.27907088, -0.22553465, 0.048548058, -0.08310438, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.03992136, 0.17895368, 0.16562924, -0.536188, -0.25868654, -0.4869832, 0.2591772, -0.5191932, 0.020162001, -0.41568524, 0.4776641, 0.019298514, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.14911795, -0.5984171, -0.18241958, 0.5472136, -0.69194865, 0.033839397, 0.13408412, 0.09503547, -0.21318413, 0.53743845, 0.080091774, -0.1369053, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.038978565, 0.40742934, 0.20107205, -0.3550106, 0.227634, -0.16101603, -0.45037574, 0.23192371, 0.17923234, -0.13692904, 0.10395048, 0.3124129, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.059144646, -0.22531863, -0.024704054, -0.20749553, 0.58086175, -0.32206532, -0.5130457, -0.14057957, 0.24317528, 0.088735096, -0.44098017, -0.16980846, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.30321437, 0.17502202, 0.1910563, -0.10118702, 0.1465326, 0.3852395, -0.31210947, 0.18236226, -0.23306467, -0.28551704, -0.2982589, 0.072740674, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.029685514, 0.066621915, 0.03600017, -0.03497038); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.20989326, 0.020975577, -0.005522964, -0.10013134, 0.013517254, -0.03347422, 0.40903455, 0.013940953, 0.01066957, 0.2569982, -0.018764338, -0.37931216, -0.20921241, -0.3565134, 0.1776639, 0.081515394) * go_0(-1.0, -1.0); + result += mat4(-0.2555968, -0.05024504, 0.046776827, 0.38626888, -0.21787676, 0.0013136056, -0.13391882, 0.00022813173, -0.042842478, -0.10413157, -0.008385445, -0.11843704, 0.062092766, -0.40029097, 0.31873867, -0.19030346) * go_0(-1.0, 0.0); + result += mat4(-0.19435422, -0.56006145, 0.050693467, -0.8857939, -0.0677575, -0.30498, 0.012069988, 0.026757652, -0.16890685, 0.04575225, -0.08477036, -0.018015383, 0.0002810964, 0.0772843, 0.00017034424, -0.228497) * go_0(-1.0, 1.0); + result += mat4(0.092564344, 0.061863884, -0.13135873, 0.10290956, 0.1670116, -0.08312144, -0.020718448, 0.06729496, -0.06338295, -0.09972319, 0.18505506, -0.2622095, 0.045575716, 0.12836345, -0.22356766, 0.28924033) * go_0(0.0, -1.0); + result += mat4(0.23605964, 0.46831363, 0.21037713, 0.3901851, -0.122640595, -0.29213053, 0.14194407, -0.3353137, 0.07847812, 0.3094049, -0.050705243, -0.23498294, 0.24583417, 0.3703223, 0.1121086, 0.20645288) * go_0(0.0, 0.0); + result += mat4(-0.08616125, -0.13809866, 0.27488732, 0.19573413, -0.20682202, 0.01106275, -0.018731792, 0.048580807, -0.097444884, -0.03766069, -0.12636039, 0.3133589, -0.12802023, 0.1988174, 0.19551867, -0.2720954) * go_0(0.0, 1.0); + result += mat4(0.03484159, 0.05830728, 0.028816089, 0.27173883, 0.15579484, -0.07751753, -0.033748254, 0.22559631, -0.35857964, 0.1043378, 0.5031367, 0.031042032, 0.071555324, -0.24148308, -0.24156207, 0.104249395) * go_0(1.0, -1.0); + result += mat4(0.04002337, -0.17350379, -0.1802324, -0.23008482, 0.2917599, 0.1801853, 0.041955303, 0.015545025, 0.069034904, 0.19370675, 0.097300164, 0.11832116, -0.23043779, 0.33832225, -0.029885143, -0.022836795) * go_0(1.0, 0.0); + result += mat4(0.040476788, 0.3176767, -0.2372066, 0.24106048, 0.28147677, -0.06513699, -0.22784042, -0.46840426, -0.23415963, -0.067057185, -0.013863767, 0.30710638, 0.06337683, -0.1774192, 0.05082387, -0.02581459) * go_0(1.0, 1.0); + result += mat4(-0.13767451, 0.26832962, 0.018361554, 0.2665501, -0.22070843, 0.10799693, 0.09780551, 0.042999722, 0.3302224, 0.10916339, -0.22705203, 0.040675506, -0.049211837, 0.19487813, 0.051528033, 0.20227027) * go_1(-1.0, -1.0); + result += mat4(0.1279485, 0.14895418, 0.40570346, -0.008809808, 0.09898892, 0.035774715, -0.28405192, 0.26836014, -0.096799396, -0.12336552, -0.24413097, 0.12693845, 0.12410443, 0.27200332, -0.18279982, -0.032115027) * go_1(-1.0, 0.0); + result += mat4(0.14698029, -0.31720948, 0.24974433, 0.14444488, 0.09503049, -0.02618792, 0.15163966, 0.22923012, -0.004227005, -0.2564904, -0.06648419, -0.07868524, -0.14852846, -0.3513046, -0.1374295, -0.09808154) * go_1(-1.0, 1.0); + result += mat4(0.1275583, 0.1875862, -0.15939887, -0.1029876, -0.25886494, -0.07434281, -0.018779758, -0.008408217, 0.06420735, 0.0025367932, 0.073679835, 0.1369152, -0.2256255, 0.26216295, -0.052095387, 0.04673847) * go_1(0.0, -1.0); + result += mat4(0.1147465, 0.14129257, -0.036377613, 0.041968875, 0.031286925, -0.00013609273, -0.248227, 0.10412182, -0.00039004904, 0.01673792, 0.056068443, -0.16470632, -0.042392768, 0.23993582, -0.22915693, 0.36430097) * go_1(0.0, 0.0); + result += mat4(0.23650797, 0.12200628, 0.057768486, 0.23353462, 0.04389849, -0.11567954, -0.12633252, -0.1884369, -0.10636852, -0.115114085, -0.0022040834, 0.041720822, 0.20775628, -0.1127031, -0.060805347, -0.10988217) * go_1(0.0, 1.0); + result += mat4(0.0401325, -0.271267, -0.3003843, 0.010670003, -0.12597936, -0.059235968, 0.08256807, -0.22041298, 0.14655456, 0.07416407, -0.03940599, -0.25057787, -0.043001004, 0.2124355, 0.19165096, 0.077120975) * go_1(1.0, -1.0); + result += mat4(0.01693656, -0.057261657, -0.13366276, -0.15589137, -0.07157646, -0.12266521, 0.24651442, -0.079142615, -0.113005005, -0.15769142, -0.017285366, 0.08821278, 0.28891653, 0.06013908, 0.0038421913, 0.106700204) * go_1(1.0, 0.0); + result += mat4(0.16187043, -0.059908718, -0.050456535, -0.027998367, 0.12749411, -0.07558445, 0.05249467, 0.02001542, 0.03188715, 0.056223337, 0.06117334, 0.022764465, 0.1051409, 0.0011876151, -0.07030176, -0.015487096) * go_1(1.0, 1.0); + result += mat4(0.047084607, 0.06401777, 0.15585798, 0.16639893, 0.025441, -0.020858578, -0.07795479, -0.0045188745, -0.09186016, -0.16865493, 0.02187216, 0.02241868, 0.3175809, 0.25483596, 0.046578035, -0.09617824) * go_2(-1.0, -1.0); + result += mat4(0.08622112, 0.124111585, -0.15246506, -0.072898194, 0.26907462, -0.15550381, 0.036907334, -0.16388376, -0.10869113, 0.113909826, -0.118678264, 0.013610441, -0.1307433, 0.044969033, -0.053201765, -0.058903012) * go_2(-1.0, 0.0); + result += mat4(0.036120024, -0.011461657, -0.10083318, -0.334466, 0.016460553, 0.1781498, 0.15133101, -0.0010224655, 0.10511601, 0.12667589, 0.15001541, 0.14479756, -0.046095166, -0.15012313, -0.009395591, 0.019260757) * go_2(-1.0, 1.0); + result += mat4(0.04500625, -0.037348565, -0.10475762, 0.113254204, -0.17360263, -0.18522957, 0.014305901, 0.07039716, -0.11408359, 0.057783633, -0.028000865, -0.25506407, -0.058175903, 0.0040344223, 0.11234911, -0.07254186) * go_2(0.0, -1.0); + result += mat4(0.05607878, -0.07737156, 0.01586671, -0.21907675, 0.1729392, -0.09273287, 0.14671144, 0.21306099, -0.1374591, -0.09428349, 0.28138107, 0.08421483, -0.30330884, -0.039166123, -0.18316704, -0.27840406) * go_2(0.0, 0.0); + result += mat4(-0.15336679, -0.05767407, 0.13347702, 0.10092905, 0.09895612, -0.0839073, -0.16025528, -0.087642424, -0.101612955, 0.4119443, 0.031125817, -0.110090934, 0.056127027, -0.04000313, -0.042920932, 0.08100733) * go_2(0.0, 1.0); + result += mat4(-0.113653034, -0.10163741, -0.058498476, -0.12347642, -0.20110545, -0.006300695, -0.1328342, -0.0071486877, 0.18334186, 0.15882389, -0.120586954, -0.04277906, -0.13593355, 0.11897087, 0.030404912, -0.23374279) * go_2(1.0, -1.0); + result += mat4(0.044901595, -0.00010039519, -0.14989527, 0.025639903, 0.23985633, 0.0114784185, 0.056620862, -0.0599113, 0.017398749, 0.3567445, 0.10223932, -0.12609181, 0.0074833618, -0.16702464, -0.033638544, 0.062087793) * go_2(1.0, 0.0); + result += mat4(-0.0302778, -0.009963125, 0.29761076, 0.08238972, 0.26467612, -0.19331805, -0.09930472, 0.23798122, 0.03599952, 0.24224155, 0.3041322, -0.054690234, 0.05582198, 0.0012778769, 0.041249134, -0.014496484) * go_2(1.0, 1.0); + result += mat4(-0.033623356, -0.18683043, -0.48352727, -0.09534184, 0.16657802, -0.31149274, -0.25840783, -0.16902964, -0.40347067, 0.046952717, 0.15677738, -0.14079048, 0.0444492, -0.012346084, -0.16768047, -0.07540055) * go_3(-1.0, -1.0); + result += mat4(0.2678487, 0.113161474, -0.19962314, 0.23060325, -0.28154588, -0.06956369, 0.08050926, -0.25503877, 0.12565655, 0.5497286, -0.18335307, -0.044097837, 0.058234677, 0.049816858, -0.021038791, 0.14644346) * go_3(-1.0, 0.0); + result += mat4(-0.008438418, 0.080761805, 0.06993718, 0.08508105, 0.11905285, 0.016726421, -0.16668561, 0.026911844, 0.041182615, 0.2760306, 0.18553418, 0.25386074, 0.11789433, 0.094213605, 0.15487063, 0.15375367) * go_3(-1.0, 1.0); + result += mat4(-0.10329284, 0.16198465, -0.0681889, -0.006294233, 0.4592297, -0.12816279, 0.19529971, 0.109294996, 0.043646853, 0.084326275, 0.0635968, -0.11471805, 0.44923568, -0.01125437, -0.19251052, -0.08885202) * go_3(0.0, -1.0); + result += mat4(-0.108986676, 0.40908077, -0.31152573, -0.13468693, -0.10438951, -0.086357035, 0.13880713, -0.288345, 0.17497768, -0.08021166, 0.07815909, 0.17337689, 0.02700953, -0.016387407, 0.0053377734, 0.109923586) * go_3(0.0, 0.0); + result += mat4(0.13881513, -0.21179448, -0.104762904, 0.019093828, -0.3383386, 0.14453639, -0.28122503, 0.19449967, -0.035691183, 0.21306588, -0.046144057, 0.17898172, -0.0035024916, -0.054061864, -0.03985455, 0.3264588) * go_3(0.0, 1.0); + result += mat4(0.02336507, 0.20597245, 0.03627631, 0.04278966, -0.042182084, -0.26431814, 0.122881256, 0.34909293, -0.17958918, 0.050698034, 0.336547, 0.21614759, 0.19511287, -0.20311548, -0.13249207, -0.24043573) * go_3(1.0, -1.0); + result += mat4(-0.025547924, 0.020525696, 0.375233, -0.02528368, -0.044973124, 0.13667387, -0.08506365, 0.34317508, 0.14618309, 0.108213425, 0.15557359, -0.05340479, -0.27103037, 0.12428249, -0.085362, -0.009073445) * go_3(1.0, 0.0); + result += mat4(-0.09518274, 0.036228243, -0.2145168, 0.090918355, -0.20793489, 0.19843313, 0.06701371, -0.11499378, -0.033398125, -0.020169621, 0.057314273, 0.0027613493, -0.11993404, 0.12495525, -0.0151242195, 0.1896457) * go_3(1.0, 1.0); + result += vec4(-0.045150407, -0.034128085, 0.10230384, 0.074793644); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.10541986, -0.27021417, 0.30589217, -0.06793019, 0.0712113, -0.5818028, -0.09057832, 0.009519015, -0.07754299, 0.009050975, -0.08283811, -0.078837596, -0.008200866, 0.53291875, 0.22918138, 0.09433025) * go_0(-1.0, -1.0); + result += mat4(0.35867104, 0.17056245, 0.28573632, 0.45787787, 0.054377224, 0.30656826, -0.13864343, 0.13956884, -0.052365527, -0.17660435, -0.14363506, -0.11313267, -0.15472592, -0.011637987, 0.3057005, 0.40122506) * go_0(-1.0, 0.0); + result += mat4(-0.42738816, -0.13046122, -0.4223082, 0.32663476, -0.14648326, 0.056164477, 0.09366789, -0.046335716, 0.00401621, -0.008206323, -0.075975314, 0.046879925, 0.04891574, 0.08912198, 0.32541895, 0.014354832) * go_0(-1.0, 1.0); + result += mat4(0.105501, -0.06999185, -0.023181506, 0.13587391, -0.10643463, 0.061667755, 0.24508677, 0.33984032, -0.1698376, -0.05051473, -0.29430416, -0.06635265, -0.031917162, 0.046488285, 0.17973569, -0.025048103) * go_0(0.0, -1.0); + result += mat4(-0.07685088, -0.035609607, 0.07060013, -0.19892506, 0.17084605, -0.19758354, -0.29233304, -0.19821644, -0.047398012, 0.12004138, 0.1643941, 0.043807004, 0.2513805, 0.13687916, 0.23235638, 0.00979058) * go_0(0.0, 0.0); + result += mat4(-0.2601253, -0.0010056786, -0.46147683, -0.117661044, -0.042538162, -0.012710203, -0.034079336, -0.08661733, -0.03908205, 0.104053, -0.045735247, -0.07916684, -0.021913078, -0.0035067864, -0.10581172, 0.11498716) * go_0(0.0, 1.0); + result += mat4(0.0421786, 0.0099540735, -0.020447837, -0.27269018, -0.084229656, 0.04271779, 0.036794372, -0.18072419, 0.07743771, -0.109369494, -0.07608079, 0.2973058, -0.1602913, -0.10049883, 0.033048846, -0.3780618) * go_0(1.0, -1.0); + result += mat4(-0.38231418, 0.106174126, 0.07344471, -0.1979349, 0.093251124, -0.07658309, 0.08417288, 0.2981472, -0.047867708, 0.0097399205, -0.11213339, 0.1746439, 0.10045314, -0.030283177, 0.004107288, -0.16744147) * go_0(1.0, 0.0); + result += mat4(0.43939134, 0.14499938, 0.20161533, -0.0067911143, 0.098075844, 0.22099596, 0.099283025, -0.017734041, 0.112658866, -0.12010951, -0.13342896, 0.053806942, 0.017880073, 0.028821323, 0.0082069365, -0.053472634) * go_0(1.0, 1.0); + result += mat4(0.2429229, 0.012143042, -0.029962441, 0.017843649, 0.11972611, -0.07733264, -0.37523645, -0.19887479, -0.18222691, -0.31171882, -0.20578085, 0.040127717, 0.0842879, 0.12601142, -0.07302166, -0.033017557) * go_1(-1.0, -1.0); + result += mat4(0.09666541, -0.053779975, -0.045221806, -0.06923458, -0.046158988, -0.12819108, -0.32956856, -0.15813568, 0.12464106, -0.42395857, 0.078095086, -0.12961964, -0.15057011, -0.041440632, 0.04221429, 0.08509352) * go_1(-1.0, 0.0); + result += mat4(0.2505401, 0.023106987, -0.0001688444, -0.11545978, 0.044663083, -0.011316191, -0.024175104, 0.033631656, -0.13285598, -0.026969459, 0.02669494, 0.082885765, -0.036615327, 0.06434473, -0.059197906, -0.1100841) * go_1(-1.0, 1.0); + result += mat4(-0.12549014, 0.25078717, -0.06146062, 0.1406611, 0.13844866, 0.012716272, 0.07641059, 0.04245357, -0.09028008, -0.15924782, -0.14551707, -0.09782215, 0.05188703, -0.12323306, -0.20053494, -0.20062317) * go_1(0.0, -1.0); + result += mat4(-0.26341316, -0.16508758, 0.036919586, -0.17812039, -0.3016191, 0.06403582, 0.12948476, 0.110633194, 0.14551535, -0.09222706, -0.30942333, 0.20120445, 0.059902433, -0.17293817, -0.07280857, -0.36021966) * go_1(0.0, 0.0); + result += mat4(0.11032128, -0.024297172, -0.110301405, -0.09563319, -0.23266938, -0.009982061, 0.18834652, 0.0987435, -0.13652846, -0.025019212, 0.07672643, 0.017108513, -0.043844085, 0.02440773, -0.029404791, 0.034692347) * go_1(0.0, 1.0); + result += mat4(-0.048525557, -0.043118346, 0.12048513, 0.030609682, 0.16658829, 0.19444555, 0.113910906, 0.31148425, -0.1755198, -0.038910154, 0.084356636, 0.12969102, 0.01661835, 0.28915378, -0.032290917, -0.12997934) * go_1(1.0, -1.0); + result += mat4(-0.24347968, 0.032619976, 0.16692804, -0.046297006, 0.0901479, 0.060802385, 0.21347383, 0.29304698, 0.16361152, 0.19639444, 0.0054137907, 0.049575172, 0.20710163, 0.076565325, 0.34911337, 0.35831028) * go_1(1.0, 0.0); + result += mat4(-0.092651226, 0.045491215, 0.11757575, 0.11756375, -0.27768722, 0.010231745, 0.21116765, 0.024840422, 0.0051228474, -0.04532887, -0.013311027, 0.121157385, -0.1053527, -0.00010417442, -0.035180032, 0.2051271) * go_1(1.0, 1.0); + result += mat4(-0.055320628, 0.14249797, -0.13782813, -0.05412119, -0.043079898, -0.18216185, 0.13923723, -0.11468015, -0.09394785, 0.12044827, -0.05177875, 0.1349153, -0.03233552, 0.16400962, -0.11219184, 0.09460802) * go_2(-1.0, -1.0); + result += mat4(-0.018258873, -0.23629102, -0.140925, 0.10609654, 0.024990926, -0.31095183, 0.21505022, 0.0007466126, -0.062110204, 0.24764718, 0.0018352414, 0.03383791, -0.05727847, -0.006963949, -0.23087887, -0.2521535) * go_2(-1.0, 0.0); + result += mat4(-0.08928898, 0.21107556, 0.27720314, 0.3170095, 0.1569246, -0.07950364, -0.035353288, 0.0851358, 0.034223706, -0.1124521, 0.068468235, -0.1876728, -0.09508409, -0.03837469, -0.19909252, 0.09844746) * go_2(-1.0, 1.0); + result += mat4(0.04326774, -0.063746035, 0.13767312, 0.048762802, 0.14155331, -0.21800575, -0.22868122, -0.10928361, 0.15166105, 0.086240664, 0.110339195, -0.0039928076, 0.114750795, 0.19737157, -0.09005264, -0.10637459) * go_2(0.0, -1.0); + result += mat4(0.023298614, 0.07140441, 0.029475417, -0.14667986, -0.017949682, 0.007795148, -0.044714145, -0.13990426, 0.03870307, -0.067750655, -0.11831945, -0.14363948, 0.00049597165, -0.18959905, -0.20256434, 0.040964015) * go_2(0.0, 0.0); + result += mat4(0.18983524, 0.07018097, 0.015068278, -0.17990883, -0.12528846, -0.020557154, 0.0106482245, 0.08105856, 0.02577546, -0.25885943, 0.0061467723, -0.058998212, 0.045207195, 0.019213859, -0.021913687, -0.10641617) * go_2(0.0, 1.0); + result += mat4(-0.005021213, -0.030781588, -0.08722711, 0.045172613, 0.13006134, 0.03640675, -0.18160394, 0.10903534, 0.1283007, 0.053212877, 0.15160874, -0.30678773, 0.0611477, 0.060609598, -0.21533446, 0.2817914) * go_2(1.0, -1.0); + result += mat4(-0.06942382, -0.08785516, -0.018080644, 0.12124481, -0.0988795, 0.021093542, 0.015752183, 0.057520576, -0.1873821, -0.15041956, 0.12230656, -0.23798561, -0.16819417, 0.07222907, -0.01441512, 0.06420038) * go_2(1.0, 0.0); + result += mat4(-0.0350732, -0.054145966, 0.008372502, -0.16092199, -0.0671371, 0.057495046, -0.08276416, 0.34617814, 0.11239629, -0.19681981, 0.16116115, 0.046944335, 0.09723501, -0.12488112, -0.031532682, 0.013095191) * go_2(1.0, 1.0); + result += mat4(-0.2309171, 0.10420613, -0.12122516, -0.04000454, -0.20740104, -0.010152015, 0.26092738, 0.13527256, 0.08665683, -0.18393658, -0.030344693, -0.10654187, 0.07108977, -0.28212613, 0.024101965, -0.22189055) * go_3(-1.0, -1.0); + result += mat4(0.06602971, 0.050674047, 0.33251405, -0.07886978, -0.13822217, -0.014285523, 0.22478761, 0.22517748, -0.1175651, 0.11234997, -0.17835312, 0.010875831, 0.20007257, 0.21565825, 0.30876723, -0.029953295) * go_3(-1.0, 0.0); + result += mat4(0.3083618, 0.12779777, 0.112711206, 0.001815444, -0.123584166, 0.03232661, -0.060439207, -0.13411477, 0.30604517, -0.19359338, -0.115064435, -0.03826723, 0.16092177, -0.07926006, -0.27355558, 0.077829085) * go_3(-1.0, 1.0); + result += mat4(-0.020265967, -0.27894706, -0.105033666, -0.10975655, 0.20102961, 0.024541473, 0.21834314, -0.21726306, -0.01132585, -0.16459125, 0.21980706, 0.039996378, -0.15850788, 0.16646145, 0.10387183, -0.35103965) * go_3(0.0, -1.0); + result += mat4(-0.038195442, 0.02967505, -0.22234862, -0.040221542, 0.06056814, 0.14282827, -0.26034078, 0.32477978, -0.45779508, -0.3667849, 0.22392158, 0.09866475, -0.096611015, 0.12282537, 0.080877006, -0.038721707) * go_3(0.0, 0.0); + result += mat4(0.12205649, 0.052729234, 0.09086409, 0.13457046, -0.24082763, -0.008418334, -0.24735104, 0.13281673, 0.049058694, 0.046168383, -0.049963474, 0.09272115, 0.12703685, 0.020337742, -0.20470645, -0.07379872) * go_3(0.0, 1.0); + result += mat4(0.02244616, 0.058318693, -0.05570221, -0.02717316, 0.14189804, -0.0016504574, 0.018723257, -0.05787106, 0.055331856, 0.0030448188, 0.01664426, 0.080254346, -0.15860988, -0.10147442, 0.115529425, -0.12332509) * go_3(1.0, -1.0); + result += mat4(0.16019078, -0.20631735, -0.018190302, 0.0647328, -0.04840569, 0.083106056, -0.13247506, -0.2112572, -0.10423932, -0.12388437, 0.1951962, 0.15236832, -0.075027406, -0.12183809, -0.07161853, -0.24558437) * go_3(1.0, 0.0); + result += mat4(-0.06832158, 0.06699966, -0.17887384, 0.025053928, 0.22054252, -0.03332688, -0.089027286, -0.0743864, -0.019737093, 0.1890527, 0.3194981, -0.014847898, 0.0616053, -0.046331815, -0.013838972, -0.19598661) * go_3(1.0, 1.0); + result += vec4(0.0031252617, 0.028414045, -0.018389644, 0.011216021); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.1156422, 0.13656664, 0.23103227, -0.09881847, -0.13118152, 0.063764885, -0.1902535, 0.12580052, -0.057555363, 0.0015611092, 0.009383415, 0.0028447553, -0.12577637, 0.06707094, 0.05323591, 0.087465174) * go_0(-1.0, -1.0); + result += mat4(0.023715734, 0.15901619, 0.010465818, -0.05401794, 0.12822664, -0.079860024, -0.107430205, -0.09094713, 0.11440009, -0.069189526, 0.1377121, -0.02780827, -0.2594948, -0.008447683, -0.052618783, 0.0995311) * go_0(-1.0, 0.0); + result += mat4(0.014655754, 0.0976315, -0.10425098, 0.06731683, -0.07336922, -0.09931748, -0.074338034, 0.014602733, 0.0761052, -0.14147633, 0.057346404, -0.10485628, 0.008160006, -0.14553718, -0.14069714, -0.106754564) * go_0(-1.0, 1.0); + result += mat4(-0.18000032, 0.2654082, 0.07008131, -0.21326934, -0.11475177, 0.110427424, -0.09757059, -0.068473235, 0.14004572, -0.1257574, -0.18653339, -0.0546973, -0.04573617, 0.0062926346, -0.111400455, 0.20940857) * go_0(0.0, -1.0); + result += mat4(-0.018083753, 0.2091146, -0.12149297, -0.20310159, 0.19642518, 0.008668434, 0.30470127, 0.080623224, -0.04213514, 0.114459425, -0.20325947, 0.024065504, 0.4724302, -0.12169043, 0.22899939, 0.16189654) * go_0(0.0, 0.0); + result += mat4(0.22153069, -0.13286535, 0.21529129, 0.059222966, -0.010648649, -0.07542803, 0.12650701, 0.107978106, -0.0122471545, -0.12456761, -0.05047403, 0.052241012, -0.18476847, 0.023691572, 0.16347644, -0.10157776) * go_0(0.0, 1.0); + result += mat4(0.053245157, 0.23913434, -0.06288426, -0.15678102, -0.09103809, -0.070054255, -0.021768395, 0.012513, 0.105658144, -0.2088671, -0.03485171, -0.07802848, -0.08754643, 0.0675039, -0.10190519, 0.03442446) * go_0(1.0, -1.0); + result += mat4(-0.028817, 0.11284706, 0.13998732, -0.015143216, -0.03416565, 0.09102063, 0.11161235, 0.08467392, 0.16325544, 0.14942992, -0.12313727, -0.06640328, -0.0750008, -0.018136598, -0.23112826, -0.006661416) * go_0(1.0, 0.0); + result += mat4(0.017297093, 0.07989559, 0.13549612, 0.07035857, -0.25493076, 0.061273754, 0.052633338, 0.0782014, -0.17994808, -0.14367908, 0.098241016, -0.07993234, -0.010386358, -0.102339104, 0.023344131, -0.08682215) * go_0(1.0, 1.0); + result += mat4(0.36794287, -0.048137277, -0.3692417, 0.07832, -0.023172008, 0.02877666, -0.23517531, 0.1448923, 0.09313475, -0.27063283, 0.028388552, 0.17988816, 0.1006075, 0.028261969, -0.10012888, -0.10348935) * go_1(-1.0, -1.0); + result += mat4(-0.06629671, 0.35957095, -0.21791938, -0.12429962, 0.054654542, 0.05988639, -0.32374984, 0.009501225, -0.26171863, 0.042992886, 0.29698196, 0.08521328, 0.15199377, 0.16362138, -0.18785295, -0.049852755) * go_1(-1.0, 0.0); + result += mat4(0.15766738, -0.04841046, 0.14447841, 0.17353393, -0.008089345, 0.04590437, -0.043384884, 0.002877719, 0.08845935, 0.039423246, -0.14808795, -0.03975318, 0.2653877, -0.20700884, 0.07218189, -0.10878484) * go_1(-1.0, 1.0); + result += mat4(0.11222389, 0.2779044, 0.0847275, -0.16267867, 0.17030342, 0.05503266, -0.22644295, -0.23563059, 0.41185054, -0.43625602, -0.18901125, 0.6115694, -0.084791176, -0.01684559, 0.19077617, -0.07168747) * go_1(0.0, -1.0); + result += mat4(0.015268929, -0.14208716, 0.15536898, -0.11922906, -0.021667667, -0.078210905, 0.023766499, -0.18069603, -0.06938558, -0.023576038, -0.2990819, 0.11863158, -0.05013765, 0.061508566, -0.085189775, 0.07901883) * go_1(0.0, 0.0); + result += mat4(0.13318339, 0.29247984, 0.14075997, 0.08248716, 0.3436642, -0.099461004, -0.17356718, -0.029998098, 0.11614284, 0.20115575, 0.04850254, -0.109567694, -0.090151444, 0.06976889, 0.12614332, 0.097242) * go_1(0.0, 1.0); + result += mat4(0.102283016, 0.2969136, -0.059127506, 0.06053867, 0.102346785, 0.061365493, -0.09023823, -0.14396398, 0.04298546, -0.10845686, -0.16071963, 0.05240062, 0.00294458, 0.01617549, 0.30480185, -0.0020818028) * go_1(1.0, -1.0); + result += mat4(0.022530032, -0.04770017, 0.16849731, 0.2684958, -0.20493472, 0.26375678, -0.08210537, 0.11594341, 0.12630959, -0.33804628, -0.066290505, -0.21235433, -0.11481554, 0.045285236, 0.009036264, -0.009541344) * go_1(1.0, 0.0); + result += mat4(0.22221607, 0.19683546, 0.088301376, 0.07007941, 0.42560205, -0.2515224, 0.10263357, 0.17257528, -0.025208276, 0.09696816, 0.07462843, -0.1663459, 0.14332424, -0.04554422, 0.1857485, 0.19819035) * go_1(1.0, 1.0); + result += mat4(-0.33422568, 0.22908518, -0.052035328, 0.0022050992, 0.22068155, -0.31737608, 0.11867548, -0.1062603, 0.21229419, 0.0637268, 0.06284452, 0.075321406, -0.0017977909, -0.24026957, 0.08011851, -0.016301792) * go_2(-1.0, -1.0); + result += mat4(0.18647133, -0.042395514, -0.21644959, 0.020428998, -0.19073069, 0.037881456, 0.15364948, 0.13242447, -0.30524725, 0.056054097, -0.03914103, 0.030670341, -0.0010289366, -0.03421297, 0.34305614, 0.078916825) * go_2(-1.0, 0.0); + result += mat4(-0.061559163, 0.33350998, -0.040633813, -0.1973531, -0.17371178, 0.020277103, -0.024941592, 0.06309346, 0.10086231, -0.07366512, 0.16570221, 0.20248237, -0.23286462, 0.2155677, 0.15136743, 0.05190251) * go_2(-1.0, 1.0); + result += mat4(-0.089644894, 0.13512145, -0.09810823, 0.1616594, 0.16190928, -0.35417703, -0.05601066, 0.20318456, 0.17348176, 0.074274324, 0.029394915, 0.15095772, 0.12337869, 0.029932164, 0.04123706, -0.049648866) * go_2(0.0, -1.0); + result += mat4(0.46952993, 0.14834478, -0.11927866, 0.07611556, -0.2967575, -0.030506441, -0.1524667, -0.16106017, -0.38649827, 0.18501776, 0.07677004, -0.0828538, -0.43983704, -0.15083657, -0.118309684, 0.13656397) * go_2(0.0, 0.0); + result += mat4(-0.04939808, 0.53252345, 0.12711428, -0.38512766, -0.20486577, 0.031688303, -0.18231112, -0.019054607, -0.034855623, -0.05244254, -0.1425771, 0.0892418, 0.046889585, 0.1430025, -0.12742822, 0.092776656) * go_2(0.0, 1.0); + result += mat4(-0.105744444, -0.10247078, -0.02144931, -0.09396661, -0.03536793, -0.027341979, -0.103435315, 0.12214116, -0.13862023, 0.037751865, 0.40586975, 0.023863355, -0.12592442, -0.0762698, 0.008515978, 0.1552095) * go_2(1.0, -1.0); + result += mat4(0.018858416, 0.053681094, 0.16911085, -0.29219922, -0.182029, 0.02297272, -0.30588147, -0.18948974, -0.05744442, 0.0065371646, 0.16328862, -0.051437955, 0.13113242, -0.07573973, -0.047258016, 0.0882382) * go_2(1.0, 0.0); + result += mat4(-0.021155104, 0.07440132, -0.06681412, -0.20775446, 0.053573515, 0.007910367, -0.26769453, -0.15753269, 0.24886242, -0.004493456, 0.023437606, 0.13257046, 0.104298666, 0.14052817, -0.29093856, 0.006735399) * go_2(1.0, 1.0); + result += mat4(-0.1299053, 0.21084401, 0.07395335, 0.025556391, -0.012464804, 0.090624444, -0.1041891, 0.03487812, -0.012958428, -0.22729388, 0.06259986, -0.1693054, -0.12679845, -0.15950051, -0.13191415, 0.1125045) * go_3(-1.0, -1.0); + result += mat4(0.1916771, -0.02030791, -0.2001191, 0.01943065, -0.18369348, -0.054252382, -0.11485618, -0.16434757, 0.0587951, 0.15208498, -0.1752913, 0.03718008, -0.07597363, -0.21144252, -0.049415894, -0.010295923) * go_3(-1.0, 0.0); + result += mat4(-0.044603452, 0.019383559, -0.24661145, -0.12994917, 0.12697428, -0.13032277, -0.15293793, -0.03483303, -0.104321085, 0.04012559, 0.037243072, 0.079595305, -0.12313407, 0.118987724, 0.038709577, 0.09531991) * go_3(-1.0, 1.0); + result += mat4(-0.021859067, 0.009060085, 0.19879933, 0.21082644, -0.07705756, 0.10045584, -0.075999945, 0.15191688, -0.12042984, -0.11578441, 0.29679164, -0.23787339, 0.1087794, -0.1419117, -0.22779143, 0.12054577) * go_3(0.0, -1.0); + result += mat4(0.16636065, 0.21066229, -0.06262401, 0.051833395, 0.05992027, 0.014294402, -0.13363211, -0.11139326, -0.026526988, -0.2071816, -0.03000262, -0.08924753, 0.0979992, -0.08312352, -0.016549548, -0.034920745) * go_3(0.0, 0.0); + result += mat4(0.099836424, -0.19452114, 0.07249264, -0.025459828, 0.12210845, -0.15024027, -0.06490785, -0.080187015, -0.009426102, 0.15876383, -0.19070506, 0.12257102, 0.04862195, 0.0707773, -0.24345201, -0.103591055) * go_3(0.0, 1.0); + result += mat4(-0.039747223, 0.07834283, 0.13246708, -0.021774938, -0.05476214, 0.07021812, 0.0134778535, 0.003289531, 0.11907656, 0.04191671, 0.04860092, -0.041503876, -0.040156245, -0.21329322, 0.2024782, 0.067827046) * go_3(1.0, -1.0); + result += mat4(-0.036722995, 0.12776081, 0.14014143, 0.09107308, 0.18742307, -0.099873625, -0.13149267, -0.18590397, -0.067778006, 0.16363877, -0.007999648, 0.13500053, 0.23733437, 0.16123019, 0.23561893, 0.0365712) * go_3(1.0, 0.0); + result += mat4(0.023911275, -0.03754323, 0.17444386, 0.08616114, 0.21406639, -0.15029684, 0.09355591, -0.2486941, 0.11913366, -0.16174106, -0.10907662, 0.107935205, -0.20745984, -0.06180981, -0.019558005, -0.24215329) * go_3(1.0, 1.0); + result += vec4(-0.16255508, -0.041602854, 0.09628627, 0.12747966); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!SAVE conv2d_2_tf1 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.14002717, 0.058876935, 0.20110254, 0.08939276, 0.03416418, 0.0011943586, 0.042772148, -0.00071322336, -0.115944035, 0.04220234, -0.34941152, -0.01974448, -0.0860279, 0.062355816, -0.023853427, 0.02757322) * go_0(-1.0, -1.0); + result += mat4(0.07400734, 0.19251242, 0.22637455, -0.12530822, -0.17724502, -0.022523593, -0.15113536, 0.065425, 0.101782374, -0.014717139, -0.098752305, 0.080687046, -0.1023507, 0.019614108, 0.01754361, 0.017383952) * go_0(-1.0, 0.0); + result += mat4(-0.044900224, -0.04213899, 0.0073328684, 0.16705592, -0.051043745, -0.115500204, -0.07567362, 0.07818187, 0.26050508, 0.20679274, 0.04177571, 0.059024576, -0.12510507, -0.051585447, -0.007354538, 0.041514263) * go_0(-1.0, 1.0); + result += mat4(0.19596866, -0.085393354, 0.03522195, 0.070734546, -0.10047298, 0.033123884, -0.030003218, -0.060309574, 0.11121212, 0.038920198, -0.09097313, 0.020515997, 0.082481235, 0.08472773, -0.007372676, 0.020294813) * go_0(0.0, -1.0); + result += mat4(-0.08415041, -0.2041298, -0.0834695, -0.18762465, 0.26823425, -0.029255247, 0.21203867, 0.01842292, 0.17127061, -0.14378369, 0.18486983, 0.040807612, 0.053938765, -0.0033184371, 0.021192972, -0.28285155) * go_0(0.0, 0.0); + result += mat4(-0.071444504, -0.16073905, 0.03151272, 0.31961456, -0.09696413, -0.14652419, 0.012872177, 0.036853626, 0.055909842, 0.023814479, 0.12539348, 0.40904784, 0.065472044, -0.04875745, -0.012401859, 0.055437304) * go_0(0.0, 1.0); + result += mat4(-0.020927057, -0.23479983, -0.073076054, -0.019441728, 0.08953939, 0.00085565075, 0.061437223, -0.0912304, 0.088546015, -0.009464413, -0.21220255, -0.13741408, 0.049379412, -0.059064344, 0.019205336, -0.11340151) * go_0(1.0, -1.0); + result += mat4(0.091714375, -0.17525947, 0.10243093, 0.037679292, 0.062438603, -0.05920895, -0.041936304, -0.030830177, 0.15641114, -0.13261372, -0.021079037, -0.036029477, 0.051840104, 0.07784452, 0.024798041, -0.079719625) * go_0(1.0, 0.0); + result += mat4(0.09153048, 0.09966556, -0.10249195, 0.062159285, -0.041912418, -0.22329834, 0.06683857, -0.07287391, -0.1276734, -0.108105786, -0.076660454, -0.07083524, 0.115786545, 0.043516885, 0.032041304, 0.058955755) * go_0(1.0, 1.0); + result += mat4(0.13925591, 0.18807505, 0.19418481, 0.13057134, -0.18483852, 0.07704087, -0.25748852, -0.008577424, 0.0165214, 0.03893396, 0.081021786, -0.19419926, 0.21641012, 0.047428373, -0.08350786, -0.14157358) * go_1(-1.0, -1.0); + result += mat4(-0.06301399, -0.10051874, 0.050919298, -0.011019032, -0.09310829, -0.09138247, -0.16847654, 0.059362046, 0.09107295, 0.06165534, -0.14288484, -0.09833287, 0.116363674, 0.20607105, 0.28841344, -0.09095499) * go_1(-1.0, 0.0); + result += mat4(-0.21624683, -0.01876206, 0.008987255, 0.17512046, -0.07461909, 0.124108806, -0.054439757, 0.0063252384, -0.24328436, 0.12330878, -0.09306248, -0.046553027, 0.07773235, 0.08965016, 0.0025699693, 0.06252218) * go_1(-1.0, 1.0); + result += mat4(0.17797774, -0.0768457, -0.06500614, 0.010914941, 0.052788664, 0.10169022, -0.11962388, -0.10176263, -0.52695477, 0.10339165, 0.12893896, 0.016989866, -0.070845306, 0.011061218, -0.033032518, 0.13843493) * go_1(0.0, -1.0); + result += mat4(0.4498575, 0.3626344, -0.18857695, 0.12901132, 0.050753895, 0.03323978, -0.15807427, 0.050633483, -0.35924155, 0.13558777, 0.07132256, -0.20883714, 0.23128356, 0.2943383, 0.011521201, -0.21517687) * go_1(0.0, 0.0); + result += mat4(-0.007034323, -0.08821435, -0.1275898, -0.15626103, 0.1458542, 0.26724494, -0.118883595, -0.0062981425, 0.07331739, -0.061295208, -0.008509335, -0.012484612, -0.010828551, -0.11301564, -0.078878716, -0.07692456) * go_1(0.0, 1.0); + result += mat4(-0.17712432, 0.020956295, 0.118008055, 0.09609794, 0.22146885, 0.20994097, -0.11431106, -0.10710715, -0.15350081, 0.118692145, -0.028190786, 0.021440385, 0.053412, -0.06350743, -0.03998433, 0.061913643) * go_1(1.0, -1.0); + result += mat4(-0.07220576, 0.21927893, 0.029267995, 0.107059665, 0.114823125, -0.115261756, -0.18801664, 0.04473252, -0.055653024, 0.11297751, 0.15545851, -0.012991604, 0.1803409, 0.1982345, -0.07486266, -0.09845943) * go_1(1.0, 0.0); + result += mat4(-0.0855076, 0.014239223, 0.15630183, 0.21274531, -0.24398185, -0.039692834, -0.167163, 0.09103569, 0.029505143, 0.0986762, 0.015726546, 0.015572646, 0.16977786, -0.08617271, 0.13340445, -0.14292516) * go_1(1.0, 1.0); + result += mat4(-0.07120758, -0.1391182, -0.12895927, -0.05497231, 0.017502422, 0.21387358, 0.11369438, -0.09802215, 0.23512627, -0.18750496, 0.3741736, 0.07218814, 0.050294157, -0.03545248, 0.1803603, -0.05216715) * go_2(-1.0, -1.0); + result += mat4(-0.031216163, 0.26304567, -0.22097221, 0.0057130447, 0.05476227, 0.048769098, 0.11701435, -0.08043882, 0.121324, -0.07633719, 0.019091062, 0.1056272, 0.19340484, -0.11655276, -0.06859909, -0.20875669) * go_2(-1.0, 0.0); + result += mat4(-0.1303287, 0.23683752, -0.14536002, -0.12238158, -0.024545986, -0.09032069, 0.03192402, -0.22449107, 0.2297885, 0.02040227, 0.00034511733, -0.0878228, 0.184152, -0.070972465, -0.010276752, -0.1974931) * go_2(-1.0, 1.0); + result += mat4(-0.345411, -0.088238314, -0.020721637, -0.19773935, -0.08967216, 0.11257784, 0.11590796, 0.047473334, 0.20315827, 0.08028863, -0.053076692, 0.04220213, 0.0463197, -0.11993164, 0.17273119, -0.10105775) * go_2(0.0, -1.0); + result += mat4(0.01774352, -0.029116748, -0.070671946, 0.03868912, -0.23905252, 0.122819565, -0.13782008, -0.11386684, -0.15104173, 0.06922476, -0.40653947, -0.041311335, 0.03382718, 0.17504995, 0.19865142, 0.20958701) * go_2(0.0, 0.0); + result += mat4(0.019477593, -0.13480781, -0.15261935, -0.29111782, -0.009433358, 0.07510615, -0.07673836, -0.092863046, -0.15928364, -0.18979515, 0.23357031, -0.096665405, 0.017931713, 0.15517262, -0.045679327, -0.13043073) * go_2(0.0, 1.0); + result += mat4(0.009786184, 0.23618346, 0.08964326, -0.07550377, -0.21214269, 0.008612741, 0.012998613, 0.08797401, 0.16580902, 0.018369747, 0.31754863, 0.094271086, -0.3186572, 0.013351233, -0.04407326, 0.0920314) * go_2(1.0, -1.0); + result += mat4(-0.025626086, 0.09697167, -0.013395247, -0.080764554, -0.19025484, 0.25081167, -0.008351234, 0.009649054, -0.045282297, 0.02762338, 0.09182815, -0.015618593, -0.24248622, -0.0027028685, -0.026439957, 0.06903493) * go_2(1.0, 0.0); + result += mat4(0.15144084, 0.09893225, 0.18078536, -0.40492618, 0.006812688, 0.20841157, -0.052535042, -0.03471349, 0.07722477, 0.18913163, 0.06806257, 0.13268931, -0.23726766, -0.06573527, -0.07974115, 0.00016083609) * go_2(1.0, 1.0); + result += mat4(-0.22123417, 0.043395992, -0.075050056, 0.040263254, 0.05219495, -0.10119571, 0.06624045, 0.006088249, -0.02443482, 0.22211014, 0.11706287, 0.09821594, -0.26269525, -0.045644283, 0.1594094, 0.05119857) * go_3(-1.0, -1.0); + result += mat4(-0.1359838, 0.085772105, -0.14989698, 0.22662053, -0.13730896, 0.13598563, -0.22069088, -0.049138095, -0.11819638, 0.00615722, 0.22080155, -0.18276499, 0.13765272, 0.026108319, -0.16875726, -0.04851573) * go_3(-1.0, 0.0); + result += mat4(-0.23633143, -0.04675013, 0.13207665, 0.17955893, -0.057579413, -0.007248268, -0.11771674, 0.053317282, 0.06935881, -0.07843104, -0.051989514, -0.101527795, 0.030873962, 0.05374762, 0.15865721, -0.11873757) * go_3(-1.0, 1.0); + result += mat4(-0.17574823, 0.116152145, 0.038584445, 0.06896235, 0.045519844, -0.003343947, -0.18241419, -0.0559283, 0.1285456, -0.06100108, 0.072168864, 0.2383614, 0.06786445, -0.110831186, 0.0017635048, -0.11216164) * go_3(0.0, -1.0); + result += mat4(-0.22214325, -0.16752025, 0.39590892, 0.0366774, -0.09062008, 0.04298391, -0.2098661, -0.007913526, 0.27807632, -0.0072328355, -0.123739436, 0.017585058, -0.0792693, -0.012500297, -0.0028807693, -0.0010119011) * go_3(0.0, 0.0); + result += mat4(0.014059116, 0.19940482, 0.16831028, 0.16160843, -0.23937507, -0.0070899655, 0.05102661, 0.14583974, 0.04344956, 0.21863829, 0.014209773, -0.063842624, -0.19981036, 0.09243793, 0.24139273, 0.11667779) * go_3(0.0, 1.0); + result += mat4(0.16715737, -0.09880053, 0.00053459726, -0.08722921, -0.050105397, -0.01993378, -0.15830508, -0.028736366, -0.03423738, -0.13328381, -0.1851269, 0.012596559, 0.16408625, 0.10486815, -0.011303046, -0.025475042) * go_3(1.0, -1.0); + result += mat4(0.118060954, -0.24267668, -0.0098548755, -0.04774737, -8.479728e-05, 0.11292645, -0.05507332, -0.20990159, -0.16743746, -0.17963362, -0.14095132, 0.19843975, -0.032164577, -0.21628135, -0.12668937, -0.008645119) * go_3(1.0, 0.0); + result += mat4(0.11424831, -0.19821498, 0.016948126, 0.0033053497, 0.24253003, 0.24522384, -0.13992928, 0.08576702, -0.15157521, -0.08158828, 0.07676344, -0.08844756, -0.02293248, -0.052961793, 0.08597288, -0.07834255) * go_3(1.0, 1.0); + result += vec4(-0.07366732, -0.06278686, 0.11547288, -0.04786791); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.012843345, 0.047590222, 0.0052741203, 0.017328946, 0.06774971, -0.028615275, 0.030839639, 0.053735327, -0.093057916, 0.08288735, 0.02991863, -0.040167376, 0.11699043, 0.062987246, 0.038180597, 0.11130321) * go_0(-1.0, -1.0); + result += mat4(0.047898952, 0.013089616, 0.13206771, 0.053474475, -0.24849094, -0.13717765, -0.14899106, 0.032647215, -0.111574546, -0.017941473, 0.017136412, -0.04121033, 0.04825172, -0.07243479, -0.30205736, -0.009043054) * go_0(-1.0, 0.0); + result += mat4(-0.006104078, -0.056147296, -0.05430816, -0.012150009, -0.12583707, -0.06810525, -0.18965304, -0.03767409, 0.038220566, 0.12901759, 0.14772348, -0.011318772, 0.10613474, -0.011039028, -0.017407915, -0.035597485) * go_0(-1.0, 1.0); + result += mat4(0.070510425, 0.07079898, 0.063229784, 0.12203576, -0.08330366, 0.14733653, 0.1879776, 0.038365003, -0.112844236, 0.039776023, 0.1109856, -0.013311713, -0.039772045, 0.055393253, 0.13704132, -0.017909162) * go_0(0.0, -1.0); + result += mat4(0.01609076, 0.29408732, -0.27179766, 0.06092111, 0.22690177, -0.16917813, -0.3125674, -0.059012905, -0.095299855, -0.07046006, -0.03500062, 0.14539354, -0.031449903, -0.020992422, 0.11367832, -0.16279401) * go_0(0.0, 0.0); + result += mat4(-0.014307108, 0.066424, -0.10264224, 0.03198627, 0.1848716, 0.0827183, 0.055873994, -0.08671376, -0.09059771, -0.0033756928, 0.015373264, 0.1482131, -0.22886358, 0.14303732, 0.060101535, -0.056595195) * go_0(0.0, 1.0); + result += mat4(-0.085188106, 0.07173675, 0.112149395, 0.12051379, -0.008070544, 0.17174324, 0.09781431, 0.15725529, -0.11921908, -0.026167218, 0.0726004, 0.1150364, 0.07129521, 0.08404156, -0.06052682, -0.024796983) * go_0(1.0, -1.0); + result += mat4(-0.118749954, 0.21372789, 0.1825785, 0.12766796, -0.20407347, -0.31983793, 0.06569954, 0.061804183, -0.1381503, -0.2288562, 0.010778781, 0.046662748, 0.09632992, -0.0007208436, 0.042766806, -0.008586152) * go_0(1.0, 0.0); + result += mat4(-0.08471548, 0.11370638, 0.044628102, 0.21962023, -0.1537214, 0.018495824, -0.10132307, 0.055931155, -0.19381963, -0.029650096, -0.12020838, 0.14787269, 0.10709368, 0.091088474, -0.08593706, 0.02723246) * go_0(1.0, 1.0); + result += mat4(0.023070067, 0.047927327, -0.0039206124, 0.044357426, 0.078707196, -0.02090998, 0.061532218, -0.01990171, -0.0010075673, -0.02985451, -0.013571645, 0.072454736, -0.08910195, 0.08069201, 0.021186491, -0.015898732) * go_1(-1.0, -1.0); + result += mat4(0.19465011, -0.099643335, -0.13729279, -0.01785864, 0.07081408, -0.03980578, -0.055030484, -0.007838133, 0.02866604, 0.047467582, 0.0021829177, -0.0085278815, -0.14039196, 0.14613628, -0.08654854, 0.091417976) * go_1(-1.0, 0.0); + result += mat4(0.2008973, -0.055368304, -0.11570937, -0.020534834, 0.029072378, 0.057559345, -0.12295086, -0.093348056, -0.032486536, -0.024021279, -0.03250597, 0.03629745, -0.08590457, -0.037932087, -0.21787491, 0.06611054) * go_1(-1.0, 1.0); + result += mat4(0.0013978226, 0.12190444, -0.1388371, 0.053365257, 0.06383916, -0.16512986, 0.020202242, -0.05118216, -0.022544125, 0.022348702, -0.04619122, -0.007816115, 0.16181955, -0.087810166, -0.017245274, 0.2592078) * go_1(0.0, -1.0); + result += mat4(-0.29257166, 0.18668509, 0.39435357, -0.015695287, 0.052169085, 0.08033462, -0.06759564, 0.15172167, -0.07392426, 0.08598093, -0.099814445, 0.16442427, -0.23507537, 0.00095621345, 0.09456823, 0.35083038) * go_1(0.0, 0.0); + result += mat4(0.09508197, -0.10668374, 0.07861556, -0.18495509, -0.012995353, 0.10549121, 0.20355113, 0.02486487, -0.0010891877, 0.0013024746, 0.040683478, 0.09813279, -0.25718254, -0.080950156, -0.20833632, -0.011176342) * go_1(0.0, 1.0); + result += mat4(0.04636551, 0.01815646, -0.061344985, 0.16105172, 0.018154364, 0.08175996, 0.02177905, 0.05214974, 0.056760095, 0.056198932, -0.01944339, 0.10342066, 0.037774805, -0.098509185, -0.050058816, 0.22327778) * go_1(1.0, -1.0); + result += mat4(0.3342538, 0.24596402, -0.05070882, -0.1629279, -0.0605624, -0.31846803, -0.030116247, 0.14499578, 0.23033214, 0.100796476, -0.11549748, 0.13272488, 0.09768287, -0.08599002, -0.18570031, -0.095745035) * go_1(1.0, 0.0); + result += mat4(0.017806288, 0.03143078, 0.1363342, -0.018307902, 0.036575943, -0.04645106, -0.13187204, -0.019356936, 0.08177283, 0.14059572, -0.026990665, -0.025628868, 0.089009784, -0.054094527, -0.10889895, -0.08352851) * go_1(1.0, 1.0); + result += mat4(-0.10441912, 0.06942166, 0.021075722, 0.022823252, 0.14455585, -0.10067584, -0.006786432, -0.15945506, 0.051149122, -0.051351603, -0.012551037, 0.017784216, -0.030743994, 0.06534117, -0.05894921, -0.007193482) * go_2(-1.0, -1.0); + result += mat4(-0.105177015, 0.12079406, -0.021824203, 0.0051873215, 0.09426312, 0.0872351, 0.042457238, -0.027718134, -0.04744092, -0.036118995, -0.088347785, 0.025714433, -0.0033455554, 0.0052299164, 0.14114419, -0.23041077) * go_2(-1.0, 0.0); + result += mat4(-0.10924918, 0.07170065, 0.15847342, 0.045235954, 0.01170718, 0.09113452, 0.155801, 0.012455027, 0.0091770645, -0.071032606, -0.06911904, -0.0078831315, 0.27796802, -0.08136213, 0.20615137, -0.22055252) * go_2(-1.0, 1.0); + result += mat4(0.02993543, -0.011065637, 0.015992155, -0.106134124, -0.26578894, 0.16489314, 0.0020848098, 0.12432517, -0.14845847, 0.11076599, -0.015617476, 0.12498255, 0.009672752, -0.013014179, 0.10577515, 0.02908296) * go_2(0.0, -1.0); + result += mat4(-0.0728776, -0.14159116, 0.105368264, -0.016262107, -0.14621304, -0.0007887494, 0.14413477, 0.11337385, -0.1769697, -0.1076886, 0.08036942, 0.10428512, 0.10336065, -0.15257628, 0.05553209, 0.12439473) * go_2(0.0, 0.0); + result += mat4(-0.067323305, 0.23115864, 0.0817162, 0.13127932, 0.02427729, 0.01246805, 0.021550559, 0.066352196, -0.014213087, -0.022559473, 0.058270242, -0.069260366, -0.1949913, 0.27712336, -0.020843407, 0.16199547) * go_2(0.0, 1.0); + result += mat4(-0.06066066, 0.009365795, -0.005817299, 0.016661849, 0.032292802, 0.10364246, -0.105340734, -0.040422246, 0.0028520338, 0.10786728, 0.041312158, 0.0634878, -0.10283239, -0.13716424, 0.2013461, -0.14106691) * go_2(1.0, -1.0); + result += mat4(-0.14796652, 0.042259417, -0.08663438, 0.09733461, -0.044074174, 0.24739462, 0.04777009, -0.026686348, 0.0027458945, 0.043400105, -0.11496284, 0.08113486, -0.33933377, 0.046819236, -0.12803015, 0.006137677) * go_2(1.0, 0.0); + result += mat4(-0.07903079, -0.009489394, 0.018812884, -0.031424083, 0.14344518, 0.08629371, 0.123602144, 0.045581687, 0.102321856, 0.07221763, 0.14465447, -0.23171869, -0.1145046, -0.088674895, -0.08679749, -0.20322132) * go_2(1.0, 1.0); + result += mat4(-0.09741677, 0.0010184142, -0.06932825, 0.044964395, 0.03060611, 0.11817057, 0.04148144, 0.000755089, 0.018646225, -0.1362759, 0.045627713, -0.01720389, -0.013920286, 0.0041473205, 0.023480741, -0.00036270308) * go_3(-1.0, -1.0); + result += mat4(-0.047821313, 0.15457056, 0.081069574, -0.061125267, -0.003727664, -0.03735384, -0.00673114, -0.0585745, -0.14427665, 0.21584798, 0.17612408, 0.03723236, 0.09688153, 0.0071055717, 0.0704578, -0.008490558) * go_3(-1.0, 0.0); + result += mat4(0.005648931, -0.021415008, 0.07515239, 0.024656001, 0.14356652, -0.09023091, -0.092833556, -0.11933706, -0.17543222, -0.31645912, -0.14794292, -0.10830711, 0.046658885, -0.13449514, -0.032724228, -0.07927336) * go_3(-1.0, 1.0); + result += mat4(-0.012330256, 0.030906612, 0.009849825, 0.16186711, 0.105316125, 0.1066287, 0.007410255, 0.08471377, -0.06755245, 0.2835302, 0.06922882, 0.18501134, -0.10781668, -0.021025939, -0.057754997, -0.19532007) * go_3(0.0, -1.0); + result += mat4(0.09254016, 0.21572222, -0.250398, -0.017990865, 0.10726608, -0.13617107, 0.06726572, -0.17355372, 0.07552837, -0.01980061, 0.10523871, -0.062427603, -0.1769102, 0.35534126, -0.22155605, -0.13921477) * go_3(0.0, 0.0); + result += mat4(0.0054315915, 0.028563919, -0.030617325, 0.12851912, 0.0020591016, -0.07287573, -0.15371658, -0.3468236, 0.042036943, -0.19993319, -0.1311562, -0.11087494, -0.033534657, -0.049439076, 0.07299748, 0.049393892) * go_3(0.0, 1.0); + result += mat4(0.04817828, 0.009956909, 0.08608736, -0.04149299, 0.07101367, -0.03388178, 0.08030968, -0.032450564, 0.14994971, -0.006995002, 0.13461865, -0.061656967, -0.044900555, -0.05698395, 0.07130313, -0.17835349) * go_3(1.0, -1.0); + result += mat4(0.09259944, -0.1760367, -0.05008204, 0.12799591, 0.10526596, 0.25768888, 0.11187724, -0.06537007, 0.11869906, -0.30243787, 0.1930932, -0.13290296, 0.017331708, 0.04682896, 0.02930385, 0.15250616) * go_3(1.0, 0.0); + result += mat4(-0.01343636, -0.015147329, -0.12101166, 0.04787181, 0.088516094, -0.0716172, 0.012281597, -0.01175244, -0.036102388, -0.16996604, 0.0068835146, 0.16938321, -0.019361602, -0.07008898, -0.111906745, -0.008676077) * go_3(1.0, 1.0); + result += vec4(0.03128986, -0.070663765, -0.056307543, -0.043389197); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.010251427, -0.045750465, 0.016315231, -0.008768869, 0.017431414, 0.080067836, 0.025827147, 0.10838066, 0.0024869177, -0.034495536, 0.09772538, 0.07213915, 0.016637174, 0.040788822, -0.022752339, 0.10970543) * go_0(-1.0, -1.0); + result += mat4(0.11526194, 0.09676918, -0.04237834, -0.2271947, 0.12261753, -0.24500768, 0.10468346, 0.13780572, -0.009849901, 0.023189532, 0.0011982447, 0.04185303, 0.045187697, 0.06505389, 0.096869685, -0.1784324) * go_0(-1.0, 0.0); + result += mat4(0.04672689, 0.13536161, -0.1818021, -0.20668268, 0.07533596, -0.032177944, -0.024819814, 0.036118865, 0.012960037, -0.04256549, 0.03154665, 0.10697645, 0.0455828, 0.15624708, 0.0880299, -0.044446476) * go_0(-1.0, 1.0); + result += mat4(-0.03187084, -0.04798656, 0.05435525, -0.060023244, -0.02988392, -0.13252808, -0.13699181, -0.013882888, 0.052836955, -0.051288467, -0.048392758, -0.02818318, -0.045959223, -0.0385304, -0.113381095, 0.048340388) * go_0(0.0, -1.0); + result += mat4(0.06799445, -0.32721373, 0.09433875, -0.24025385, 0.0029125893, -0.029136823, 0.01100064, -0.12017942, -0.12278812, -0.0646935, 0.009398038, -0.021518359, 0.008572816, 0.15084247, -0.22798048, -0.027803216) * go_0(0.0, 0.0); + result += mat4(0.14571115, 0.24804439, 0.13177192, -0.1820655, -0.0030899157, -0.11837261, 0.14447895, 0.11825037, 0.083688706, 0.13209106, 0.051847935, -0.27009267, -0.030820336, 0.15591313, 0.00807933, 0.08577916) * go_0(0.0, 1.0); + result += mat4(0.07043623, -0.006127145, -0.16473344, -0.091646075, 0.12019198, 0.02408659, 0.038805984, 0.043282606, 0.09853516, -0.03085117, -0.13666795, 0.057578508, 0.023477113, -0.050639734, 0.05486259, 0.10117338) * go_0(1.0, -1.0); + result += mat4(0.07739963, 0.019718317, -0.17859067, -0.107660785, 0.07235146, -0.08198499, -0.13072458, 0.0808431, -0.09421921, -0.024668563, 0.058651946, 0.058679227, -0.041750733, 0.07785575, 0.0375434, -0.11090677) * go_0(1.0, 0.0); + result += mat4(0.13032761, 0.2291367, -0.1677081, -0.22246332, 0.03946319, 0.0063910848, 0.09128152, 0.0013804171, -0.034065075, -0.058277655, 0.052419346, -0.030012188, 0.018556409, -0.07521306, 0.12746032, 0.0899423) * go_0(1.0, 1.0); + result += mat4(-0.14820024, 0.03316697, 0.074021704, 0.0349015, -0.028731624, -0.03655249, 0.041885335, 0.025598902, -0.007544352, -0.058063164, 0.030487465, -0.073317364, -0.033130456, -0.17607957, 0.0020156964, 0.15351814) * go_1(-1.0, -1.0); + result += mat4(-0.33111712, 0.11070417, -0.11759775, 0.12881225, -0.10840586, -0.114877716, 0.026571346, 0.01617625, 0.0028098845, 0.07325011, -0.008114658, 0.11581408, 0.0040087802, 0.15237121, 0.10423624, 0.010486565) * go_1(-1.0, 0.0); + result += mat4(-0.14014785, 0.03670812, 0.041663505, -0.25026393, -0.05651376, -0.009220771, 0.18786587, 0.11221872, -0.0045316, -0.0781469, 0.09609792, -0.077175744, 0.15113525, 0.14979461, -0.003579166, -0.097722545) * go_1(-1.0, 1.0); + result += mat4(0.005191016, -0.05746076, 0.14736177, -0.37837118, -0.116905205, 0.035447106, -0.1389216, -0.06583864, 0.08867301, -0.027591052, 0.020395119, -0.067704394, -0.078146204, 0.21156693, -0.24100207, -0.34081197) * go_1(0.0, -1.0); + result += mat4(0.3395633, -0.16366479, -0.16501908, 0.19205959, -0.1203106, 0.1201394, 0.059141878, 0.024588805, 0.0106182005, -0.007498128, -0.13781549, -0.031079333, 0.45373476, -0.019419974, -0.029461615, -0.109356895) * go_1(0.0, 0.0); + result += mat4(-0.20302778, 0.023634301, 0.0037064455, 0.23106048, -0.14157735, 0.115462445, -0.10275177, -0.05708588, 0.0066573587, -0.14406916, -0.029837208, 0.056612004, -0.036978997, 0.07784742, -0.009329581, 0.11628078) * go_1(0.0, 1.0); + result += mat4(-0.050052032, 0.061341796, -0.108812004, -0.27657855, 0.07106667, -0.062498234, 0.08073948, 0.18898413, -0.005880379, -0.031624768, 0.0334547, 0.10361753, -0.18414119, -0.070826136, 0.027453694, 0.022999335) * go_1(1.0, -1.0); + result += mat4(0.014818375, 0.17337285, 0.10936815, -0.030657725, -0.08041041, 0.022390872, 0.0053962595, 0.090021096, 0.05470518, 0.014654071, 0.06899392, -0.03431451, 0.05177294, -0.13493995, -0.055468578, -0.19131596) * go_1(1.0, 0.0); + result += mat4(0.08200318, -0.10802187, -0.075451784, 0.006642357, -0.041665014, -0.05528946, 0.1799087, -0.07113583, -0.016218789, -0.12353001, -0.034801062, 0.06995437, 0.013318846, -0.16708943, 0.17779571, 0.20705931) * go_1(1.0, 1.0); + result += mat4(0.10754426, -0.03437161, -0.089123115, -0.12592112, -0.09719291, 0.042339396, -0.02457928, -0.10472151, -0.031175358, -0.06077806, -0.025603233, 0.0030798917, 0.0302328, -0.011108347, -0.08815118, -0.11247357) * go_2(-1.0, -1.0); + result += mat4(-0.03634052, -0.0752815, -0.032257803, -0.020932812, -0.01030603, 0.05347118, -0.013455479, -0.1528448, 0.11631174, 0.017359301, 0.0053947037, -0.10187295, -0.034056764, -0.06371101, 0.10579902, 0.06297638) * go_2(-1.0, 0.0); + result += mat4(0.0026892002, -0.09832557, 0.07002896, 0.17336288, 0.017382741, 0.0868499, 0.024310237, 0.1024202, 0.016445315, -0.096997134, -0.05655256, -0.03888035, -0.23449722, 0.004868548, -0.046150357, 0.16268611) * go_2(-1.0, 1.0); + result += mat4(-0.08197917, 0.06499742, 0.044401966, 0.119590975, 0.17058893, 0.003096477, 0.073047325, -0.2325016, 0.20562899, 0.06886438, -0.10150125, -0.09421983, -0.026852611, 0.11638924, -0.2897435, 0.10056706) * go_2(0.0, -1.0); + result += mat4(0.05599001, 0.20881969, 0.057560008, 0.03211348, 0.07353149, 0.10849278, -0.04358825, -0.07277266, 0.19414866, 0.084341206, -0.054937962, -0.19548011, -0.1875029, -0.13233592, 0.247698, 0.054934226) * go_2(0.0, 0.0); + result += mat4(0.006909254, -0.043635696, -0.0420242, 0.0029297285, -0.011208758, 0.10583326, -0.039475866, -0.091568366, -0.11034183, -0.2710617, -0.15182555, 0.27160573, 0.029486256, -0.17993683, 0.10480137, -0.031949393) * go_2(0.0, 1.0); + result += mat4(0.012359864, -0.024621721, -0.066488825, -0.041012418, 0.0008418082, -0.034133818, 0.1275645, -0.22584224, 0.04127642, 0.021086683, -0.055507325, 0.017740795, -0.10207868, -0.02459281, -0.16278388, 0.2084072) * go_2(1.0, -1.0); + result += mat4(0.07907339, -0.08811312, -0.043821383, -0.12781687, -0.014701197, -0.08600121, -0.07344954, -0.06233793, 0.13561183, 0.17435691, -0.25248256, -0.18915577, 0.11731138, -0.076414265, 0.011668736, -0.24489906) * go_2(1.0, 0.0); + result += mat4(0.015452916, -0.1093781, -0.031768844, -0.049816687, 0.087654404, 0.083113015, -0.11759004, -0.02852037, 0.0119902035, -0.12981133, -0.043321397, 0.30873615, 0.16349368, 0.0475539, -0.12394514, 0.012860273) * go_2(1.0, 1.0); + result += mat4(0.024975974, 0.14167881, -0.03849521, 0.092395015, -0.14491238, -0.024630755, 0.1262065, 0.22724074, -0.088403955, 0.069909796, -0.1582284, -0.06366643, 0.03808985, 0.055002328, 0.046191234, -0.15073699) * go_3(-1.0, -1.0); + result += mat4(0.040616892, -0.05149903, 0.07913543, -0.12622666, 0.012306014, -0.0072504813, 0.09324519, 0.013837971, 0.033986375, 0.09466625, -0.11271816, 0.06514161, 0.008318977, 0.2319992, -0.23813216, -0.064383216) * go_3(-1.0, 0.0); + result += mat4(0.0058016274, 0.07342614, -0.02532061, 0.046294674, -0.14704724, -0.09635743, 0.011660911, -0.028665043, 0.07488793, 0.049912058, -0.23186599, -0.12174707, -0.078130014, -0.17273565, 0.009148666, 0.042669322) * go_3(-1.0, 1.0); + result += mat4(0.02457923, 0.06036786, -0.08706319, 0.011597113, 0.0027447701, 0.12410346, 0.07509643, 0.23769653, 0.055913534, -0.030516708, 0.090205066, 0.005610863, -0.0037265806, -0.06458783, 0.08390646, 0.03704848) * go_3(0.0, -1.0); + result += mat4(-0.24644387, 0.09733959, 0.15941189, -0.039000493, -0.34143484, -0.10905996, 0.123846896, -0.025850125, 0.22231472, -0.074195, 0.17869541, 0.007901206, -0.07893139, -0.0031443893, -0.2252749, 0.020515904) * go_3(0.0, 0.0); + result += mat4(0.046822242, 0.19209228, 0.10584968, -0.20782734, 0.020917192, 0.064485386, 0.022432446, 0.0021164739, 0.053817958, 0.2291973, 0.15079306, -0.18283905, 0.090974085, 0.24965459, -0.11586238, -0.1068585) * go_3(0.0, 1.0); + result += mat4(-0.018472567, -0.09019175, -0.0014198436, 0.11438912, -0.18806975, 0.017498987, 0.06471353, -0.11078878, -0.09412236, -0.11218875, 0.077031404, -0.18779173, -0.025784107, -0.031477705, -0.10906885, 0.074243516) * go_3(1.0, -1.0); + result += mat4(-0.06388332, 0.0813248, 0.1583895, -0.17604364, 0.02474024, 0.09227594, -0.07166613, -0.046409506, -0.20977338, 0.058364637, -0.014288648, 0.23180534, -0.03359222, 0.03962627, -0.011652336, 0.08433068) * go_3(1.0, 0.0); + result += mat4(-0.05829235, -0.026256828, 0.051615473, -0.082805336, 0.06738748, -0.093329325, -0.03197624, 0.067339435, -0.06104219, 0.119381785, 0.10763423, -0.31583574, 0.003745323, 0.14953502, -0.009772352, -0.05511591) * go_3(1.0, 1.0); + result += vec4(-0.014193535, -0.035853464, -0.0019574068, 0.035060503); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(L)-Conv-3x3x3x16 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!SAVE MAIN +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.01858372, 0.017144108, 0.02794388, 0.0, 0.0129101565, -0.0073674284, -0.011766938, 0.0, 0.01970984, 0.01209068, 0.009530311, 0.0, -0.009190449, -0.006996753, -0.0038750458, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.15856947, 0.10162126, 0.08489005, 0.0, 0.038381726, -0.017771017, -0.03226132, 0.0, -0.011787879, -0.0152445, -0.007564454, 0.0, 0.055921376, 0.08389841, 0.08452836, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.026705442, -0.0070655374, -0.018199183, 0.0, 0.016254421, -0.025398912, -0.03461042, 0.0, 0.03950644, 0.06586101, 0.0707467, 0.0, -0.03793455, -0.04957139, -0.04777402, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.115341224, -0.04463122, -0.016549354, 0.0, -0.059433736, -0.04303295, -0.042805545, 0.0, 0.010830498, -0.011057443, -0.0141014, 0.0, 0.067396216, 0.06553637, 0.06705378, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.12767975, -0.19935511, -0.20109995, 0.0, 0.11554901, 0.11426503, 0.11161185, 0.0, -0.22092125, -0.22041021, -0.2142712, 0.0, -0.06326996, -0.061314825, -0.059039716, 0.0) * go_0(0.0, 0.0); + result += mat4(0.007717391, -0.046238754, -0.056983955, 0.0, 0.021419598, 0.0036924274, -0.00033630748, 0.0, 0.053556852, 0.0824714, 0.08295022, 0.0, -0.09881205, -0.043157153, -0.040801782, 0.0) * go_0(0.0, 1.0); + result += mat4(0.0052828738, 0.049702674, 0.056108, 0.0, 0.009478552, 0.010345037, 0.0094180945, 0.0, -0.010412882, 0.0006965096, 0.0021917222, 0.0, -0.010701383, -0.023212843, -0.024252625, 0.0) * go_0(1.0, -1.0); + result += mat4(0.07542127, 0.0739301, 0.06642962, 0.0, -0.08054489, -0.037553925, -0.026762033, 0.0, 0.09727509, 0.102272816, 0.097533874, 0.0, 0.01325714, -0.004582272, -0.006647532, 0.0) * go_0(1.0, 0.0); + result += mat4(0.03005975, 0.017012767, 0.007840201, 0.0, -0.028650383, -0.0019064787, 0.01083078, 0.0, -0.071352504, -0.019919744, -0.008299795, 0.0, 0.023253804, 0.042413715, 0.04681489, 0.0) * go_0(1.0, 1.0); + result += mat4(-0.052201163, -0.021727808, -0.020888992, 0.0, 0.008365179, -0.016546093, -0.0111018475, 0.0, -0.06236095, -0.019278256, -0.021443967, 0.0, 0.0029381379, -0.0033039588, -0.006425339, 0.0) * go_1(-1.0, -1.0); + result += mat4(0.02397296, -0.041659098, -0.050882675, 0.0, -0.013487, 0.0067506596, 0.005435185, 0.0, 0.066447854, 0.13331215, 0.13754861, 0.0, 0.028300207, -0.0048033795, -0.010058485, 0.0) * go_1(-1.0, 0.0); + result += mat4(0.08140248, 0.018564016, 0.0036607496, 0.0, -0.0112075955, 0.0022339798, 0.0045722146, 0.0, -0.045716517, -0.0076076477, -0.0016939791, 0.0, -0.030486025, -0.07539711, -0.07185734, 0.0) * go_1(-1.0, 1.0); + result += mat4(-0.0155724995, 0.048904862, 0.059412133, 0.0, -0.013894624, -0.0061430936, -0.011662488, 0.0, -0.0052947477, -0.0176474, -0.018611705, 0.0, 0.022075793, 0.031703226, 0.026735537, 0.0) * go_1(0.0, -1.0); + result += mat4(-0.18287502, -0.18703277, -0.18331653, 0.0, -0.08616293, -0.011741755, -0.009296464, 0.0, -0.054274965, 0.016794622, 0.022522328, 0.0, 0.06965258, 0.08260611, 0.08285337, 0.0) * go_1(0.0, 0.0); + result += mat4(0.08107809, 0.0336241, 0.025449684, 0.0, -0.031931, 0.01179566, 0.019694995, 0.0, 0.025930194, 0.042288166, 0.04673656, 0.0, -0.14357394, -0.11003491, -0.094090074, 0.0) * go_1(0.0, 1.0); + result += mat4(0.007188181, 0.050626095, 0.050705966, 0.0, -0.008030409, -0.018670242, -0.019766346, 0.0, 0.014874803, -0.03657919, -0.034044486, 0.0, -0.011178416, -0.004358302, -0.013611815, 0.0) * go_1(1.0, -1.0); + result += mat4(0.07987872, 0.11399873, 0.12089382, 0.0, -0.01514355, 0.0068139364, 0.010206274, 0.0, -0.0005701044, -0.011158322, 0.006484812, 0.0, 0.002018227, 0.043359682, 0.042987905, 0.0) * go_1(1.0, 0.0); + result += mat4(0.0017806455, -0.0015697709, -0.0018252691, 0.0, 0.0058658062, 0.021681193, 0.028615465, 0.0, -0.054827355, -0.04541651, -0.027485048, 0.0, -0.017649114, 0.017717479, 0.027309911, 0.0) * go_1(1.0, 1.0); + result += mat4(0.02555098, -0.0028983613, -0.005134733, 0.0, -0.0029332284, 0.015552135, 0.022189403, 0.0, -0.019786593, -0.0031676649, -0.0014604586, 0.0, 0.06648065, 0.0672302, 0.04586375, 0.0) * go_2(-1.0, -1.0); + result += mat4(-0.06674696, 0.002328631, 0.014039355, 0.0, -0.03636718, 0.014560653, 0.028076636, 0.0, 0.042305287, 0.015249338, 0.0136925895, 0.0, 0.033586804, 0.00701501, -0.011588751, 0.0) * go_2(-1.0, 0.0); + result += mat4(-0.039022632, 0.015240631, 0.02699061, 0.0, -0.02614261, 0.0051843156, 0.012590042, 0.0, 0.015304643, -0.022641543, -0.030434309, 0.0, 0.016862666, 0.020819275, 0.022333218, 0.0) * go_2(-1.0, 1.0); + result += mat4(0.08056982, 0.026592938, 0.009744146, 0.0, 0.08762212, 0.10150359, 0.09662005, 0.0, -0.044551965, -0.016349116, -0.014629014, 0.0, -0.014341297, -0.030914815, -0.038747486, 0.0) * go_2(0.0, -1.0); + result += mat4(-0.048734166, 0.019775594, 0.03124684, 0.0, -0.2345022, -0.23639877, -0.22958128, 0.0, 0.12412277, 0.10245112, 0.10389806, 0.0, -0.0030797734, -0.01989389, -0.02020691, 0.0) * go_2(0.0, 0.0); + result += mat4(-0.0133485105, 0.029644802, 0.041630358, 0.0, 0.041081797, 0.059993293, 0.060033485, 0.0, -0.02155099, -0.035306025, -0.03838472, 0.0, 0.017466968, -0.01866363, -0.004764589, 0.0) * go_2(0.0, 1.0); + result += mat4(0.0030783121, -0.04064586, -0.04504904, 0.0, -0.023528632, -0.029308239, -0.022441925, 0.0, 0.020095564, 0.018979732, 0.015117934, 0.0, 0.008429918, 0.021180628, 0.020137152, 0.0) * go_2(1.0, -1.0); + result += mat4(0.0012200709, 0.013313984, 0.014122978, 0.0, 0.08750284, 0.038747437, 0.027102578, 0.0, -0.09627132, -0.09706183, -0.09405641, 0.0, -0.05180081, -0.03555434, -0.021694236, 0.0) * go_2(1.0, 0.0); + result += mat4(-0.022396728, -0.018316073, -0.01250564, 0.0, 0.045423746, 0.025315331, 0.010639915, 0.0, 0.05618814, 0.022210265, 0.014195103, 0.0, -0.014828652, -0.010245087, 0.0020570823, 0.0) * go_2(1.0, 1.0); + result += mat4(0.046651457, 0.001333767, -0.003572458, 0.0, -0.0077845114, -0.012861641, -0.015116351, 0.0, 0.01338984, 0.029198132, 0.026183384, 0.0, 0.0014878022, 0.020025207, 0.024829973, 0.0) * go_3(-1.0, -1.0); + result += mat4(-0.09506711, -0.06541528, -0.051106647, 0.0, 0.02552611, 0.01181497, 0.0020236392, 0.0, 0.03234602, -0.03153924, -0.035502207, 0.0, -0.034516744, 0.00018784113, 0.0085376045, 0.0) * go_3(-1.0, 0.0); + result += mat4(-0.05945615, -0.0046793907, 0.011128929, 0.0, -0.0061961384, -0.0040663416, -0.010319631, 0.0, 0.044197917, -0.033448357, -0.04109943, 0.0, -0.04109929, 0.006773195, 0.016976412, 0.0) * go_3(-1.0, 1.0); + result += mat4(0.02855516, -0.033051047, -0.04864978, 0.0, -0.06393814, -0.082921155, -0.0730681, 0.0, -0.058905125, -0.038639963, -0.027698845, 0.0, -0.013616608, -0.007876684, -0.006182652, 0.0) * go_3(0.0, -1.0); + result += mat4(0.15423118, 0.14667909, 0.14534634, 0.0, 0.1485341, 0.096721016, 0.0820024, 0.0, 0.1263968, 0.088775866, 0.083860956, 0.0, 0.04213644, 0.020989005, 0.010447147, 0.0) * go_3(0.0, 0.0); + result += mat4(-0.068275765, -0.018390667, -0.011452603, 0.0, 0.03738383, 0.019398715, 0.005998161, 0.0, -0.0011161854, -0.039955888, -0.04444185, 0.0, 0.052985556, 0.017621813, 0.009551621, 0.0) * go_3(0.0, 1.0); + result += mat4(0.01387326, -0.0033411914, -0.009420935, 0.0, -0.034494568, -0.019219222, -0.009562797, 0.0, 0.0074023325, 0.022065453, 0.027121471, 0.0, 0.00019609048, -0.0042242454, 2.0403608e-05, 0.0) * go_3(1.0, -1.0); + result += mat4(-0.015793918, -0.024342488, -0.037188973, 0.0, 0.004534637, -0.025236975, -0.028567247, 0.0, -0.055682972, -0.054670315, -0.06584981, 0.0, 0.043045517, -0.0075941198, -0.014196169, 0.0) * go_3(1.0, 0.0); + result += mat4(0.0132598495, 0.01775289, 0.017206183, 0.0, 0.010604703, -0.007352816, -0.017301153, 0.0, 0.030967329, 0.027615465, 0.0145311365, 0.0, 0.008636854, -0.033379406, -0.042725433, 0.0) * go_3(1.0, 1.0); + result += vec4(-0.0056639817, -0.0017339308, -0.0011913306, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_M.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_M.glsl new file mode 100644 index 0000000..b03fbf7 --- /dev/null +++ b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_M.glsl @@ -0,0 +1,275 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(M)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.073079124, 0.11507942, 0.028201895, -0.021776304, -0.25251916, -0.08662003, 0.38814726, 0.4146095, 0.06326891, 0.01635252, 0.06423356, 0.13488062, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.059791833, -0.03105604, 0.041643705, 0.35197195, -0.17314838, 0.067622855, -0.032012507, 0.09691628, -0.11094062, 0.007625051, 0.094762206, -0.05824145, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.120281175, 0.027440755, -0.026316144, -0.025291128, -0.41698205, -0.05966847, -0.28400028, -0.06946398, -0.10906026, -0.015854035, -0.028724853, -0.06626416, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.068752654, -0.12652585, 0.38200122, 0.17978846, 0.2749825, 0.015504972, 0.21765926, 0.2246602, -0.062151223, 0.07457783, 0.13588274, -0.037328478, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.3718559, 0.025637252, -0.4048626, -0.41484925, 0.24768798, 0.09984098, -0.5663632, -0.6659978, 0.212067, -0.08328392, -0.5277322, -0.016879432, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.11072714, -0.010321538, 0.11265787, 0.0055236337, -0.13345073, 0.004847663, 0.3744461, -0.4038564, -0.09893075, 0.031325124, 0.2883957, -0.04268903, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.10444391, -0.60588187, 0.02543334, 0.10911738, -0.10860678, 0.15701362, 0.29235297, 0.045803998, 0.076250754, -0.10799697, 0.08841044, 0.08145623, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.04246739, -0.1225759, 0.11280305, -0.12079673, 0.5289142, -0.011892906, -0.0800465, 0.05915611, -0.126204, 0.08239301, -0.0092391195, -0.07672885, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.11922264, 0.14036109, -0.09491126, 0.05112697, -0.12543046, -0.08662423, -0.041537095, 0.048038274, 0.11672854, -0.006516173, -0.023524825, 0.030505095, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.07697861, 0.41154122, 0.042374082, -0.087270625); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_tf +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.09419103, -0.1178418, 0.09523275, 0.24648252, 0.03595256, -0.05417468, -0.029167585, -0.012279932, 0.08852021, -0.12534834, 0.0604663, 0.050634373, -0.19536541, 0.21548285, 0.040379744, -0.28046605) * go_0(-1.0, -1.0); + result += mat4(-0.13783203, 0.17191975, 0.06956328, 0.005270252, -0.029844455, -0.17657366, 0.03439078, 0.048861686, 0.12017991, -0.087307535, 0.11815637, 0.31309614, 0.08440897, 0.09969244, -0.06220224, 0.2633136) * go_0(-1.0, 0.0); + result += mat4(0.098606475, -0.05856224, -0.01163882, -0.020945825, -0.08988821, 0.18520717, 0.011407763, 0.20973705, 0.21017794, 0.038311377, -0.018910313, 0.053878684, -0.08751144, -0.0081623215, 0.29060364, 0.14363094) * go_0(-1.0, 1.0); + result += mat4(0.13354321, -0.38046083, 0.14157647, 0.10190452, -0.045502663, 0.0053245644, -0.10817685, -0.048371315, 0.16157807, 0.2086147, 0.07632662, 0.24636099, -0.0053555835, -0.19587666, -0.46687222, 0.002362032) * go_0(0.0, -1.0); + result += mat4(0.28275147, -0.1468291, 0.24075283, -0.35119128, 0.18727398, 0.3833064, 0.08667899, 0.15021381, -0.092296466, -0.25686404, -0.116076745, 0.2231862, -0.27637103, 0.12317917, -0.0341737, -0.40077657) * go_0(0.0, 0.0); + result += mat4(-0.007041629, 0.18089123, -0.21195571, -0.12346183, -0.06088577, -0.30784377, 0.0048495876, 0.06013008, 0.07200418, -0.0076884073, 0.02632822, -0.0011575016, 0.21025613, -0.2573419, -0.06994815, 0.32497165) * go_0(0.0, 1.0); + result += mat4(0.0016823286, -0.014366541, -0.5049525, 0.048534572, -0.0057915323, -0.0030526456, -0.028976317, -0.16376147, -0.15560333, -0.053708192, -0.055678204, -0.13087665, 0.0048869387, 0.027514834, 0.017380254, -0.06743363) * go_0(1.0, -1.0); + result += mat4(0.044514824, -0.1754644, -0.26664957, 0.1486667, 0.114894986, 0.061640915, -0.13305616, 0.06450565, 0.03552732, 0.2835473, 0.13800526, 0.005875215, 0.15751484, 0.41759813, -0.19406971, 0.071032055) * go_0(1.0, 0.0); + result += mat4(-0.18419577, -0.05527526, 0.017057603, -0.1146602, 0.15775396, -0.01188916, 0.09368113, 0.05765405, 0.064170234, -0.017833546, 0.12100514, -0.06250493, 0.2421206, 0.15719843, 0.23718071, 0.023142194) * go_0(1.0, 1.0); + result += mat4(0.079226464, 0.07877355, -0.022315226, -0.13507473, 0.14683898, 0.028739132, -0.24479519, -0.280197, -0.13223173, 0.21732429, -0.1546993, 0.045442928, 0.163642, -0.07062695, 0.03805918, 0.060860883) * go_1(-1.0, -1.0); + result += mat4(0.095216066, -0.16650215, -0.34863555, -0.025274571, 0.3064775, -0.034196265, -0.25773287, 0.19570488, -0.005434017, 0.26308087, 0.009404902, -0.24736062, 0.05558232, -0.014217521, 0.03667355, -0.15134114) * go_1(-1.0, 0.0); + result += mat4(-0.074846864, 0.010901994, 0.035149742, 0.12106729, -0.36042807, -0.011231913, 1.4317516, 0.6400351, 0.105860665, -0.11587906, -0.11065066, 0.19126756, 0.14132085, 0.021570992, -0.3618735, -0.081163004) * go_1(-1.0, 1.0); + result += mat4(-0.06937371, 0.3815214, 0.026842717, -0.04051589, -0.09472515, -0.027198657, -0.16502109, 0.114273794, -0.15207845, -0.15054241, -0.25099036, -0.10871029, 0.14311226, 0.07640166, 0.47051275, 0.0447809) * go_1(0.0, -1.0); + result += mat4(-0.25960425, 0.11150338, -0.042022616, -0.006633396, -0.29595324, -0.0149574205, 0.09806478, 0.03635802, 0.26789796, 0.41416678, 0.05145585, 0.61168057, 0.019582301, -0.118703716, 0.13974573, 0.04498941) * go_1(0.0, 0.0); + result += mat4(-0.04119621, -0.15503803, 0.33170196, -0.1158483, -0.06258357, 0.2574262, -0.07890287, -0.6929032, 0.004379942, 0.097908296, 0.009286624, 0.27194506, -0.2476702, 0.13828708, 0.05071857, -0.43693772) * go_1(0.0, 1.0); + result += mat4(-0.010842703, 0.13108006, 0.30126816, 0.20221521, 0.018797455, 0.0614624, 0.11102966, 0.019204421, 0.09975456, 0.04676902, -0.044540443, 0.118877, -0.04871634, -0.089208096, 0.027455999, 0.029557817) * go_1(1.0, -1.0); + result += mat4(-0.10421777, 0.3135469, 0.14557797, 0.0497297, 0.0034963787, -0.20342828, 0.08332032, -0.09004643, 0.06574797, -0.14168271, -0.08754358, 0.30385306, -0.3374016, -0.4360316, 0.15854433, -0.24081887) * go_1(1.0, 0.0); + result += mat4(0.1407836, 0.09678823, -0.02240152, -0.013985894, 0.012281648, -0.24124922, -0.46433777, -0.25915003, 0.042200714, -0.21701157, -0.016618999, 0.13135725, -0.34656256, -0.034729004, -0.29246503, -0.13514486) * go_1(1.0, 1.0); + result += vec4(-0.08458621, -0.023144595, -0.057707336, -0.081382714); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.27743992, 0.04277345, 0.019331178, -0.7335445, 0.006292013, 0.19800001, -0.0025032016, 0.16098699, -0.03186617, -0.060173523, 0.08878855, -0.10669283, 0.130609, -0.068515256, -0.03571823, -0.13751523) * go_0(-1.0, -1.0); + result += mat4(-0.2430821, -0.08233978, 0.082374334, 0.04843392, -0.18989052, -0.041925047, 0.40021122, -0.317836, -0.13517766, 0.032255337, -0.0746507, 0.22114721, -0.045706213, -0.12841983, -0.27830583, 0.05763077) * go_0(-1.0, 0.0); + result += mat4(-0.08436965, -0.04967552, -0.16798134, -0.1539139, -0.17429228, -0.10166739, 0.35864773, 0.12873615, -0.07667423, 0.04985163, 0.13391761, -0.054322604, 0.085659124, -0.078792974, 0.06481059, 0.058667548) * go_0(-1.0, 1.0); + result += mat4(-0.17568155, 0.56705236, 0.056562193, -0.020951264, 0.005879628, -0.2502103, -0.19619654, 0.019490348, -0.14527243, 0.16983634, 0.049245857, 0.18316677, 0.055053137, 0.10699275, 0.0016993808, 0.20105995) * go_0(0.0, -1.0); + result += mat4(0.36284775, -0.05856962, -0.42545465, 0.31931567, -0.15698905, -0.28837132, -0.028697362, -0.024917847, 0.04317283, 0.024557106, -0.052158598, 0.38654143, -0.1782944, 0.43094924, -0.11738149, 0.21554618) * go_0(0.0, 0.0); + result += mat4(0.22645079, -0.20319854, 0.20733371, -0.18697177, -0.05167819, -0.12845007, 0.5543688, 0.2453291, 0.08027872, -0.0628224, -0.06593836, -0.05795855, -0.24527508, 0.23632833, -0.043366548, 0.14135826) * go_0(0.0, 1.0); + result += mat4(0.08384414, 0.20807321, 0.030559694, -0.13640808, -0.07641805, -0.10919174, -0.19799095, -0.12955745, 0.093737304, -0.17856954, 0.035103753, -0.044699315, -0.07255943, -0.02331535, 0.2059249, 0.3058302) * go_0(1.0, -1.0); + result += mat4(0.022345139, 0.16286038, -0.27228013, -0.41105714, -0.0014384583, 0.089546144, -0.08296848, -0.0050463285, 0.07038578, -0.030679917, 0.031246305, 0.36761853, -0.34799108, -0.0405689, -0.19182852, 0.015853593) * go_0(1.0, 0.0); + result += mat4(0.1021783, -0.11396049, -0.08733628, -0.017449526, 0.042015605, -0.14808236, 0.10072531, -0.07403295, 0.15276712, -0.07807765, -0.10013386, -0.26110634, -0.04858846, 0.066066965, 0.13598624, 0.21687816) * go_0(1.0, 1.0); + result += mat4(0.07041569, -0.17775945, 0.15697548, -0.15425202, -0.06569677, -0.033233996, 0.22596005, -0.026170855, -0.20729817, 0.1316505, -0.058410037, 0.22166035, 0.09107114, -0.13078825, -0.05639485, -0.02716142) * go_1(-1.0, -1.0); + result += mat4(0.057966787, -0.15311252, 0.095924966, -0.055951685, 0.082777694, -0.08471956, -0.39918202, 0.10599212, 0.102710955, 0.21808124, 0.12083635, -0.38835892, 0.031709857, 0.13955092, 0.12647778, 0.011549966) * go_1(-1.0, 0.0); + result += mat4(0.09810508, -0.119743295, 0.06166254, 0.13595435, 0.036198203, -0.028710455, -0.40789905, -0.034894038, -0.12622337, 0.14379597, 0.039958883, 0.19636424, 0.047094557, -0.07987105, -0.04905092, -0.07875785) * go_1(-1.0, 1.0); + result += mat4(0.34118712, -0.2833933, -0.045028314, -0.40670308, -0.01961924, 0.37131935, 0.29099533, -0.19843055, 0.18604252, -0.0037280058, 0.1091072, -0.40579233, 0.11422739, -0.16490164, -0.0022396361, -0.21486944) * go_1(0.0, -1.0); + result += mat4(0.0010853866, 0.2223109, 0.2416471, -0.33326814, 0.2549397, 0.6442047, 0.18411863, -0.19081281, -0.43552014, -0.1793875, -0.58699155, -0.01900168, -0.26955804, -0.071371995, 0.07599079, 0.27434483) * go_1(0.0, 0.0); + result += mat4(-0.19644544, 0.14383379, -0.2599538, 0.001666124, -0.16369823, 0.009537702, -0.3690974, -0.048157427, -0.2040159, 0.01522431, -0.11007749, -0.07012568, 0.17536888, -0.012183123, -0.17366478, -0.15090804) * go_1(0.0, 1.0); + result += mat4(0.0855136, 0.06863859, -0.17249937, -0.12850079, 0.15325847, 0.22742507, 0.22535504, 0.24032994, -0.109522276, 0.24135293, -0.17784368, 0.08172238, -0.16143093, 0.1358853, -0.09399085, 0.012180792) * go_1(1.0, -1.0); + result += mat4(-0.04346881, 0.13367178, 0.10387612, 0.04705543, -0.10315795, 0.5816371, -0.090529, -0.017955385, -0.09032907, -0.52505773, 0.10958755, -0.26151448, 0.17246644, 0.011886279, 0.3566306, 0.32170597) * go_1(1.0, 0.0); + result += mat4(-0.27853554, 0.1558035, 0.070289604, 0.17052644, -0.31982365, 0.29085326, -0.09494764, 0.2270542, 0.10514691, -0.24606484, -0.02049181, 0.126686, 0.16719124, 0.013080999, -0.08577963, -0.07057233) * go_1(1.0, 1.0); + result += vec4(0.0061747693, -0.029145364, -0.026801255, 0.027419873); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!SAVE conv2d_3_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.07447851, -0.07888509, -0.28236163, 0.2479792, -0.065199964, 0.24733023, 0.099619575, -0.26430824, -0.03523585, -0.03547245, -0.10619345, -0.25326422, -0.116270036, -0.065133184, -0.30401528, 0.01563764) * go_0(-1.0, -1.0); + result += mat4(-0.19106275, -0.26104823, -0.14457102, -0.17298317, 0.24148639, -0.10950928, 0.062851585, 0.042540826, 0.13287601, 0.06975747, 0.15848075, -0.3854902, -0.13132331, -0.16468687, -0.029844414, 0.27754608) * go_0(-1.0, 0.0); + result += mat4(0.015378025, -0.14203559, 0.08058816, 0.32896644, -0.074871175, -0.26611313, -0.18830848, 0.091641426, -0.16522385, -0.23424402, -0.12279703, -0.13343342, -0.2509982, -0.0554576, 0.07286022, -0.028823337) * go_0(-1.0, 1.0); + result += mat4(-0.13543738, 0.049395677, -0.015148539, 0.13301241, -0.12827122, -0.012590744, 0.012936948, 0.008271658, 0.12442749, 0.3497426, -0.16126058, -0.2670464, -0.010479037, 0.07037434, -0.15527055, 0.13205245) * go_0(0.0, -1.0); + result += mat4(-0.09535385, -0.3931354, 0.24716614, -0.21284536, 0.14652656, 0.38149378, -0.09607391, 0.06350967, 0.48615915, 0.32634613, 0.146291, 0.2566475, -0.40927815, -0.05268087, -0.04110691, -0.0068722935) * go_0(0.0, 0.0); + result += mat4(0.089152284, -0.01860622, 0.016856732, 0.31244752, 0.022529159, -0.0071319416, -0.09786801, -0.13005258, 0.1524636, 0.21627748, -0.07395979, -0.087633945, -0.38435504, -0.08842507, -0.0058702417, -0.32936293) * go_0(0.0, 1.0); + result += mat4(0.0816838, 0.0012210817, 0.28217188, 0.36141106, 0.0014665248, -0.0636269, 0.042035818, -0.056671552, -0.032501306, -0.22908778, -0.2067977, -0.004497514, -0.23052917, 0.26728114, 0.15353456, -0.17732324) * go_0(1.0, -1.0); + result += mat4(-0.17229734, 0.0818218, -0.10076918, 0.030027041, -0.14819005, -0.085340135, 0.050100215, 0.05683199, -0.12653661, -0.036583595, -0.32319903, -0.15273796, -0.15346588, 0.20005536, 0.23097478, -0.19834782) * go_0(1.0, 0.0); + result += mat4(0.055430107, -0.2886931, 0.361814, 0.33160287, -0.084407054, 0.06254009, -0.02332793, -0.018134018, -0.014879812, 0.112346604, -0.20686437, -0.23408228, -0.01091196, -0.062669374, 0.085567676, 0.23738655) * go_0(1.0, 1.0); + result += mat4(0.080383554, -0.1172084, 0.19703126, 0.27777427, -0.07559937, -0.25445858, 0.3450109, -0.071967736, 0.2034805, 0.33716002, 0.15314537, -0.22953224, 0.113631405, -0.0058444734, 0.2890972, 0.06557255) * go_1(-1.0, -1.0); + result += mat4(-0.17646056, -0.025448758, -0.14952567, 0.017148364, -0.15238142, 0.1435677, 0.20273875, 0.22255951, -0.011660059, -0.003515217, -0.17305166, -0.13478355, -0.06558679, -0.032662887, -0.20914736, -0.5397283) * go_1(-1.0, 0.0); + result += mat4(0.1679393, -0.109410115, -0.117427185, 0.14982319, -0.06457877, -0.06607065, 0.0018200208, -0.0118605625, 0.046539318, -0.020642165, -0.14413542, -0.09530688, 0.22196163, -0.2187166, -0.10759705, 0.013234591) * go_1(-1.0, 1.0); + result += mat4(-0.13220267, -0.12540027, 0.26163217, 0.12791659, 0.16204996, -0.4023048, -0.13485721, -0.10187536, 0.059764992, 0.048170995, -0.25281772, 0.2090587, -0.06542371, -0.10791867, -0.21286209, -0.309109) * go_1(0.0, -1.0); + result += mat4(0.16233061, 0.120428756, -0.11460241, 0.24531102, -0.2670459, -0.24195078, -0.20964348, -0.12930301, -0.2343609, -0.22543164, -0.28909695, -0.33560297, 0.6009884, 0.39171818, -0.1276308, -0.020736236) * go_1(0.0, 0.0); + result += mat4(0.40162864, 0.045881115, 0.032667033, 0.31454235, -0.17351128, -0.009387306, 0.17341217, 0.30810982, -0.025815086, -0.10390133, 0.012544771, 0.036918722, 0.34386298, 0.23177734, -0.046727546, 0.20098232) * go_1(0.0, 1.0); + result += mat4(0.11541034, -0.11647824, -0.12874861, 0.004921287, -0.13921295, -0.25733355, -0.1112383, -0.033295818, 0.0035326157, 0.3782048, 0.055785846, -0.1547331, 0.17358719, -0.2789715, -0.13400431, 0.1583795) * go_1(1.0, -1.0); + result += mat4(0.4130191, -0.33944547, -0.064674884, 0.39617148, -0.11483455, -0.022601767, 0.1129301, -0.09713594, 0.14681247, 0.34442267, 0.08721343, -0.08309499, 0.088704996, -0.20943391, -0.2891408, 0.1709401) * go_1(1.0, 0.0); + result += mat4(0.19503653, 0.17490312, -0.23491044, -0.028934423, 0.04479765, -0.0334551, 0.0602648, 0.0019939998, 0.23314747, 0.21557438, 0.07273092, 0.15467109, -0.11194509, 0.0736583, -0.17628083, -0.3851578) * go_1(1.0, 1.0); + result += vec4(0.022887055, 0.01521631, 0.17967467, -0.0131908795); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.10233342, -0.30233157, 0.24238978, -0.007108631, 0.14248851, 0.08486557, 0.0028373515, 0.122387215, 0.10996857, -0.17286511, 0.19819227, 0.07023527, 0.07579955, -0.16861476, -0.210025, 0.12760942) * go_0(-1.0, -1.0); + result += mat4(0.091181986, -0.41497424, -0.27567792, -0.09938067, -0.12210428, 0.20617811, -0.017644284, -0.22552875, 0.049019493, -0.18990634, 0.11057753, -0.043193225, -0.15278774, -0.18331046, -0.1837594, 0.029758787) * go_0(-1.0, 0.0); + result += mat4(-0.1757096, -0.199691, -0.034743477, -0.15369363, -0.1701244, -0.0459655, 0.10508695, -0.09795581, 0.13464944, 0.37202564, 0.14706515, 0.23416734, 0.08302458, 0.20696343, -0.13935481, 0.03092827) * go_0(-1.0, 1.0); + result += mat4(-0.49887478, 0.24046332, -0.029459715, 0.17374687, -0.15019977, 0.31086043, -0.28297687, -0.22239804, 0.12314376, 0.11594825, 0.17682782, 0.09753434, -0.26263535, -0.12739435, -0.57744014, 0.087381124) * go_0(0.0, -1.0); + result += mat4(0.08101439, -0.16185337, 0.112901986, 0.24439482, -0.44051018, -0.70680356, -0.23015513, 0.63106006, -0.08817581, -0.057614524, 0.15352182, -0.049620207, 0.17742544, -0.49583626, -0.3844133, 0.18385352) * go_0(0.0, 0.0); + result += mat4(0.17149475, 0.31255633, 0.19286609, 0.21052869, -0.11856372, -0.032373343, 0.06503625, -0.31664965, 0.040755365, -0.027614031, -0.33330554, 0.40148625, 0.056921627, -0.27068445, 0.047014963, 0.103712596) * go_0(0.0, 1.0); + result += mat4(-0.09326643, 0.13677256, 0.06390537, 0.08080093, -0.10685094, 0.124757454, 0.14696303, 0.10871933, -0.10971212, 0.01655797, -0.11052674, -0.17361104, 0.015513338, -0.1917502, -0.26384255, -0.022672707) * go_0(1.0, -1.0); + result += mat4(0.032367155, -0.087523445, -0.06951093, -0.08128242, 0.2627859, 0.14933161, 0.3114999, -0.007791172, -0.4146471, -0.2530298, -0.43175155, -0.06878434, 0.5724947, 0.25498095, 0.4838959, 0.15076154) * go_0(1.0, 0.0); + result += mat4(-0.13427481, -0.10134261, 0.087439895, 0.015921364, 0.15421022, 0.20205952, 0.22928835, -0.07339068, -0.33318612, -0.17467582, -0.04758165, 0.11858059, 0.17408857, -0.099393494, -0.06389948, -0.06494366) * go_0(1.0, 1.0); + result += mat4(0.15349221, 0.08508258, -0.09294437, -0.03204993, -0.22561033, -0.15088828, -0.020105945, 0.10041996, -0.024723593, 0.06610271, -0.24423431, -0.050512858, -0.100530736, 0.16394953, 0.16365045, -0.012055956) * go_1(-1.0, -1.0); + result += mat4(0.16342951, 0.23113559, 0.21289586, 0.28391558, 0.052211206, -0.17983536, -0.008415342, 0.08977486, -0.054481823, 0.17506577, -0.14162593, -0.070448756, 0.093877845, 0.05161232, -0.25006327, 0.007014646) * go_1(-1.0, 0.0); + result += mat4(0.104965575, 0.20048036, 0.024134496, 0.5442797, 0.19958296, -0.05165447, 0.076928124, 0.030868227, -0.0563495, -0.19757621, 0.10801544, -0.24202053, 0.0067657093, -0.17784451, -0.03134409, -0.06741009) * go_1(-1.0, 1.0); + result += mat4(0.33347723, -0.12338564, 0.23495969, -0.23091966, 0.059872203, 0.028045453, -0.06781438, 0.111325614, -0.21861015, -0.030451605, -0.04267672, -0.0039260075, 0.0911101, 0.054191053, -0.08498816, 0.04810343) * go_1(0.0, -1.0); + result += mat4(-0.05028896, 0.21515386, 0.16005337, -0.32279232, 0.19178568, 0.779363, -0.12682606, -0.4378189, 0.37980273, 0.063021325, 0.19370794, -0.05618088, -0.00088428083, 0.29736623, 0.24649377, -0.0021625878) * go_1(0.0, 0.0); + result += mat4(-0.45007992, -0.16040307, -0.1714593, -0.16251564, 0.070867635, 0.21317895, -0.070962, 0.17147541, -0.27786884, -0.33259448, -0.022767346, -0.17967366, 0.21208113, 0.19740848, 0.16877973, 0.09630738) * go_1(0.0, 1.0); + result += mat4(0.09235827, -0.35231477, -0.093315996, -0.035850406, -0.08311695, 0.054329164, 0.17788444, -0.020736141, -0.03739786, -0.1678283, 0.12676615, 0.17182353, 0.17408027, 0.07699043, 0.095501214, 0.0069830767) * go_1(1.0, -1.0); + result += mat4(-0.16631392, -0.16925642, -0.17081848, 0.017719474, -0.20530944, 0.19215193, -0.039511178, -0.08296625, 0.2240653, 0.100644305, 0.2901835, 0.32166973, -0.10026419, -0.14864013, -0.19926691, -0.11607018) * go_1(1.0, 0.0); + result += mat4(-0.13750182, 0.07445518, -0.033964884, -0.085812084, -0.03903257, -0.054933593, 0.06765632, 0.064338475, 0.27182797, 0.07721309, -0.0334218, -0.19344835, -0.14405386, 0.046106674, 0.16596143, 0.0879945) * go_1(1.0, 1.0); + result += vec4(0.049844168, 0.02670437, 0.050967637, -0.10779561); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!SAVE conv2d_5_tf +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.034357008, 0.00082413113, -0.13382089, -0.05066409, 0.26684088, -0.31363875, 0.073608615, 0.20824149, 0.21509308, -0.07118628, 0.11287014, -0.09817389, 0.16107765, 0.17146803, -0.13836654, -0.05962866) * go_0(-1.0, -1.0); + result += mat4(0.029981667, 0.08738892, 0.17735903, 0.15817277, 0.041752994, -0.20031185, 0.064203605, 0.48786053, -0.0033609737, -0.42522693, 0.058846988, 0.22180536, 0.17181319, 0.13097888, -0.059532285, 0.062227458) * go_0(-1.0, 0.0); + result += mat4(0.13188283, 0.07971828, 0.28278515, 0.038570832, -0.12815465, 0.29860008, -0.2785862, -0.07612298, -0.14369671, 0.12457525, 0.11982623, -0.018675303, 0.14936846, 0.1284789, -0.0042489986, 0.042810377) * go_0(-1.0, 1.0); + result += mat4(0.2892425, -0.20834558, 0.07358541, -0.11190968, -0.16300741, 0.15674856, -0.04297203, -0.29218298, -0.036296643, -0.052267153, -0.22889943, -0.21203549, -0.03553075, -0.20343691, -0.07413655, -0.092966415) * go_0(0.0, -1.0); + result += mat4(0.2484468, -0.23412868, -0.070199326, 0.2061922, 0.5047224, -0.48216155, -0.5792768, 0.610787, 0.023935676, -0.040435325, -0.1238493, -0.09576053, -0.26183444, 0.14510648, 0.5365255, 0.5499143) * go_0(0.0, 0.0); + result += mat4(-0.058255754, 0.08133753, -0.18663554, 0.26190025, 0.26006857, -0.007619795, 0.14585225, 0.073580734, -0.0396066, 0.2821596, 0.31778112, -0.029853562, -0.19703479, 0.17809318, 0.21089044, -0.106730856) * go_0(0.0, 1.0); + result += mat4(0.20549655, -0.05962688, 0.1432124, 0.013446325, -0.19064854, 0.061387196, 0.1792527, 0.0010619498, -0.1456842, 0.18950678, -0.13990986, -0.37644413, -0.083257, -0.2937246, 0.032096215, 0.14719158) * go_0(1.0, -1.0); + result += mat4(-0.26601696, 0.4242341, -0.073702715, -0.3221337, 0.026037043, -0.0117916465, -0.024286825, 0.23183465, -0.030869482, -0.045915652, -0.040611852, 0.11372697, -0.25404635, 0.21859063, 0.13869432, 0.19651218) * go_0(1.0, 0.0); + result += mat4(-0.028276298, -0.11217159, 0.27144867, -0.010531775, 0.11032058, -0.09957206, 0.12570262, 0.14724332, 0.08758557, -0.11042305, 0.025948172, -0.010910802, -0.029466914, -0.041135952, -0.017091949, 0.05501236) * go_0(1.0, 1.0); + result += mat4(-0.12688768, -0.19051413, 0.052141912, -0.13618521, -0.16320245, -0.1601866, 0.16207355, -0.023218745, 0.2103894, -0.06212745, -0.07042835, 0.0996637, -0.1763831, 0.13890013, -0.12125462, -0.105104685) * go_1(-1.0, -1.0); + result += mat4(0.10485512, -0.49283037, -0.504295, 0.009089699, -0.17389494, -0.12835866, 0.14188384, -0.22946316, 0.006298799, -0.0348454, -0.0852419, 0.17956656, -0.08088888, 0.35675287, 0.16014415, -0.055372503) * go_1(-1.0, 0.0); + result += mat4(-0.17157564, 0.1557075, -0.17681694, 0.14834762, -0.13708206, 0.101721555, 0.17070566, -0.22522852, 0.08100986, -0.23204406, -0.38926315, -0.13165781, 0.1040296, -0.045591615, 0.15745829, -0.10410621) * go_1(-1.0, 1.0); + result += mat4(-0.20517144, 0.35896194, -0.0010962893, -0.18043008, -0.016253468, 0.035292216, 0.06781499, 0.015984116, -0.20261237, -0.28905126, 0.007414641, 0.008870292, 0.52166605, -0.0996688, -0.23151648, 0.2811893) * go_1(0.0, -1.0); + result += mat4(0.013482173, -0.04891998, -0.06094191, -0.14416319, -0.00087873987, 0.11979091, 0.06457245, -0.2305623, -0.1476981, 0.2634587, -0.058895197, -0.07394766, -0.27173743, 0.7530214, 0.037599873, 0.22086331) * go_1(0.0, 0.0); + result += mat4(-0.10357755, 0.23899554, 0.034912035, -0.14336212, -0.019786308, -0.085470654, -0.03096524, 0.108783185, 0.28971127, 0.24527478, -0.19110362, -0.49510127, -0.15574701, 0.10968643, -0.13727877, 0.04502924) * go_1(0.0, 1.0); + result += mat4(-0.10808282, -0.079148844, -0.3244773, -0.2210664, -0.0062175165, 0.1303082, 0.012592612, -0.38039228, 0.26899642, -0.16624425, -0.04438198, 0.42067865, -0.13381268, 0.03408099, -0.2999706, -0.3817641) * go_1(1.0, -1.0); + result += mat4(0.030872926, -0.26852018, -0.14650428, 0.16869825, -0.19185568, -0.06341456, 0.12261606, -0.26597574, 0.44865233, 0.21416639, 0.40359476, 0.12814924, 0.2542566, -0.23348318, -0.43142912, -0.35113996) * go_1(1.0, 0.0); + result += mat4(-0.03364283, 0.11002299, 0.3311268, -0.14580412, -0.10348537, 0.13331696, -0.0793144, -0.04116661, 0.040704627, -0.14875266, -0.09259674, -0.062087066, 0.063962296, 0.18420577, -0.085616685, -0.16555141) * go_1(1.0, 1.0); + result += vec4(-0.037546165, -0.015675364, 0.13989694, 0.027605768); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!SAVE conv2d_6_tf +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.35835463, 0.038305778, -0.10198824, -0.021951782, 0.02142098, -0.072417736, -0.2577152, 0.054713376, 0.075116105, -0.21191697, -0.1213158, -0.105036296, 0.12030758, -0.17591658, 0.1726511, 0.17754573) * go_0(-1.0, -1.0); + result += mat4(0.32325825, 0.19869742, 0.333873, 0.39670366, 0.20716824, 0.09557955, 0.120742686, -0.2271023, 0.37509173, -0.031341635, 0.10247365, 0.031520665, -0.092765376, -0.13535516, 0.8333728, 0.05886494) * go_0(-1.0, 0.0); + result += mat4(-0.17573749, 0.16768494, 0.021141645, 0.19668253, 0.21080776, 0.31503728, -0.26834, 0.19103156, 0.21946241, 0.14559007, -0.09761235, -0.23565038, -0.49393657, -0.5332298, 0.09806347, 0.054431103) * go_0(-1.0, 1.0); + result += mat4(-0.042109374, -0.05564321, 0.27586877, 0.010382545, 0.007322007, 0.13193823, -0.18262729, 0.06399193, 0.14174329, 0.3898842, -0.10398105, 0.01846146, -0.24542394, -0.13020967, -0.16491668, -0.03544872) * go_0(0.0, -1.0); + result += mat4(-0.15291597, 0.1566557, 0.14745249, -0.23258151, 0.17843612, 0.15885495, -0.691466, -0.41177312, 0.40330106, -0.07991953, 0.2832403, 0.10656986, -0.19571523, 0.3670614, -0.62296015, -0.5666968) * go_0(0.0, 0.0); + result += mat4(-0.17513512, 0.011393021, -0.44352317, -0.059153114, -0.2227142, -0.033094753, 0.09624524, 0.051315393, 0.2632246, 0.09945105, 0.042561427, -0.1234722, 0.23755905, -0.506999, 0.114180565, 0.27887583) * go_0(0.0, 1.0); + result += mat4(-0.459564, -0.120326266, 0.17507194, 0.06701153, -0.14124362, -0.36653697, -0.2856802, -0.22955593, -0.08515889, 0.18788262, 0.23427077, 0.021544341, 0.31996533, -0.2668834, 0.08469808, -0.01347926) * go_0(1.0, -1.0); + result += mat4(-0.14092083, -0.31244513, -0.044023518, 0.013948701, 0.33119613, -0.011959397, -0.1494438, -0.111066826, -0.11994278, 0.116068155, -0.13032633, -0.037004936, 0.13851176, -0.006655432, -0.39841232, -0.079951204) * go_0(1.0, 0.0); + result += mat4(-0.08959123, 0.18297827, -0.0763483, 0.11364159, -0.04361797, -0.029816678, -0.19314721, -0.03484794, 0.044681285, 0.04669291, -0.30017474, -0.07453036, 0.090825416, -0.27414632, 0.36355078, 0.15742934) * go_0(1.0, 1.0); + result += mat4(0.18470702, 0.113800436, -0.18546791, 0.044184085, 0.12490399, 0.1826781, -0.01313173, -0.19048993, -0.026458051, -0.1693334, 0.21958382, 0.030458853, -0.059242606, 0.039351143, -0.061676584, -0.06904634) * go_1(-1.0, -1.0); + result += mat4(-0.114877924, -0.03781683, -0.19207929, 0.007679428, 0.2409049, 0.2965285, -0.38395065, 0.11604976, -0.22588749, 0.48505852, 0.09866521, -0.2585994, -0.011380872, -0.018334057, -0.047188547, 0.3038583) * go_1(-1.0, 0.0); + result += mat4(-0.2783936, -0.17609318, 0.4904369, -0.31848624, 0.39725313, 0.082951784, -0.15595853, -0.007526218, 0.2355193, -0.30003366, -0.27686292, 0.120900005, -0.1223885, 0.40760317, 0.0013726618, -0.24877374) * go_1(-1.0, 1.0); + result += mat4(0.1580051, -0.044973504, 0.00053594523, -0.057797022, 0.18895927, 0.23527777, -0.18095906, -0.076961614, 0.2544444, -0.05932328, 0.13717431, -0.024487074, 0.33157274, -0.09072586, -0.004386734, -0.05180953) * go_1(0.0, -1.0); + result += mat4(-0.21685815, 0.061656334, -0.066127226, 0.24831405, 0.26001146, 0.046466008, -0.047196623, 0.13538954, -0.06449239, 0.45951647, -0.13132116, -0.7079741, -0.06683439, -0.47628635, 0.42461708, 0.6475073) * go_1(0.0, 0.0); + result += mat4(0.2590011, -0.26020283, 0.0005333198, 0.01555692, 0.37920526, 0.29205114, -0.20281325, -0.1455974, 0.056119893, 0.022032745, -0.30095813, 0.48154855, -0.35761952, 0.07582935, 0.12462687, 0.068093665) * go_1(0.0, 1.0); + result += mat4(0.20434918, 0.26690874, 0.028224666, 0.042565826, 0.037406113, 0.5059272, -0.0047208676, 0.0019095197, 0.16626422, -0.23407575, -0.072687164, 0.00063299487, -0.10172441, -0.11645544, 0.008715937, -0.012423992) * go_1(1.0, -1.0); + result += mat4(0.08269191, 0.116322584, -0.08155921, -0.04790326, 0.09546776, 0.3632936, -0.08139031, -0.10399187, 0.06618616, -0.26862565, 0.25058737, 0.0410593, -0.07191658, -0.20559746, 0.21857823, 0.12776822) * go_1(1.0, 0.0); + result += mat4(0.54989135, 0.38051483, 0.015739547, -0.0068143173, 0.26107135, 0.2585036, -0.12345306, -0.13934542, -0.19018838, 0.2730626, 0.42644337, 0.16693048, -0.15189888, 0.023638237, 0.11272267, 0.039560657) * go_1(1.0, 1.0); + result += vec4(-0.20554838, -0.10647836, -0.02824578, 0.08658529); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(M)-Conv-3x1x1x56 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_tf +//!BIND conv2d_1_tf +//!BIND conv2d_2_tf +//!BIND conv2d_3_tf +//!BIND conv2d_4_tf +//!BIND conv2d_5_tf +//!BIND conv2d_6_tf +//!SAVE MAIN +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_2 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_4 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_10 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_12 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.030150581, -0.002168429, 0.014918388, 0.0, 0.020940892, 0.04591048, 0.049137186, 0.0, 0.111167125, 0.05311203, 0.0625381, 0.0, 0.020043287, 0.04785493, 0.040921766, 0.0) * g_0; + result += mat4(0.04158565, -0.008488135, 0.0020472286, 0.0, 0.049123142, -0.055042226, -0.06489915, 0.0, 0.09238876, 0.10387972, 0.09576964, 0.0, -0.054776173, -0.098954335, -0.09018853, 0.0) * g_1; + result += mat4(0.2081418, 0.08273068, 0.040325668, 0.0, -0.09937802, -0.13162258, -0.13989717, 0.0, -0.13983749, 0.01309777, 0.0023888077, 0.0, -0.18937743, -0.07021057, -0.047152344, 0.0) * g_2; + result += mat4(-0.09646629, 0.080605574, 0.10463501, 0.0, 0.22579835, 0.24077554, 0.22600271, 0.0, 0.049726978, 0.015292378, -0.0047161994, 0.0, 0.16281025, 0.048491795, 0.038338162, 0.0) * g_3; + result += mat4(-0.09772107, -0.043998875, -0.054745924, 0.0, -0.1257736, -0.13175423, -0.10889618, 0.0, -0.015900036, 0.07074481, 0.08210496, 0.0, -0.11321135, -0.12526917, -0.105605066, 0.0) * g_4; + result += mat4(0.14187162, 0.14032297, 0.13016908, 0.0, 0.018954534, 0.016011704, 0.010169183, 0.0, 0.04762765, -0.044460997, -0.06499567, 0.0, 0.11133751, 0.09464176, 0.08865274, 0.0) * g_5; + result += mat4(-0.16567162, -0.1744712, -0.1637222, 0.0, -0.02412003, 0.0074480795, 0.007903436, 0.0, -0.06161098, -0.046788957, -0.03971239, 0.0, 0.030736001, 0.036460854, 0.03660504, 0.0) * g_6; + result += mat4(0.084027, 0.10024112, 0.08152756, 0.0, 0.005087354, -0.026047802, -0.027264625, 0.0, 0.10519243, 0.08977278, 0.077558964, 0.0, -0.052826345, -0.06602686, -0.055083472, 0.0) * g_7; + result += mat4(0.007862721, 0.009936555, 0.012004831, 0.0, -0.042322706, -0.061728776, -0.05359773, 0.0, 0.030532641, 0.045623366, 0.04214089, 0.0, 0.030569768, 0.011892851, 0.0074041556, 0.0) * g_8; + result += mat4(0.03948997, 0.043119986, 0.039943404, 0.0, 0.0526772, 0.06820589, 0.058139592, 0.0, -0.062081397, -0.06755701, -0.054816127, 0.0, -0.004076369, 0.0061744447, 0.016273081, 0.0) * g_9; + result += mat4(0.0071622543, 0.004829105, -0.002032197, 0.0, -0.048541367, -0.059043564, -0.05662218, 0.0, 0.0015553127, 0.009178359, 0.009577062, 0.0, 0.114169896, 0.1349016, 0.11432262, 0.0) * g_10; + result += mat4(0.019324556, 0.028323999, 0.027396113, 0.0, 0.016746879, 0.01608199, 0.026891617, 0.0, 0.12068619, 0.13617857, 0.113496214, 0.0, -0.013930715, -0.014250072, -0.00824306, 0.0) * g_11; + result += mat4(-0.0024534757, -0.0064973077, -0.007905654, 0.0, -0.019158727, -0.024820521, -0.020509848, 0.0, -0.09608131, -0.11177871, -0.10503465, 0.0, -0.011210447, -0.010875943, -0.015295865, 0.0) * g_12; + result += mat4(0.09681486, 0.113604136, 0.10416855, 0.0, -0.08199983, -0.09013433, -0.08562243, 0.0, 0.041304465, 0.048315883, 0.042945288, 0.0, -0.09863276, -0.117853515, -0.09870226, 0.0) * g_13; + result += vec4(-0.0039074384, -0.0085585555, -0.0132283475, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_S.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_S.glsl new file mode 100644 index 0000000..0b65e89 --- /dev/null +++ b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_S.glsl @@ -0,0 +1,137 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(S)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.10922428, -0.16249932, 0.15452726, -0.15669551, 0.053448875, -0.16528402, 0.01697721, -0.049275912, 0.20947173, -0.10576949, 0.19738325, -0.025417482, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.3285196, 0.15909512, -0.5273671, 0.23778777, -0.40508887, -0.0609677, -0.4188177, 0.11137456, -0.24131267, 0.10453423, -0.36216277, 0.053446792, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.23072472, -0.082083695, -0.0041477727, -0.09136237, 0.11958912, -0.312698, -0.15842685, -0.013882424, 0.10933724, 0.017880991, -0.022167003, 0.014662608, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.2789985, 0.054727737, 0.22577816, -0.49625716, -0.48472273, -0.011525487, 0.5354349, -0.08814955, -0.27021924, -0.044563178, 0.008232271, -0.13480483, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.18203105, 0.09277001, 0.27071548, -0.17773713, -0.4335171, 1.2275106, -0.07663438, -0.29020032, 0.011992759, 0.060106967, 0.11002492, -0.046098012, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.08363418, 0.063420765, -0.10278259, 0.09357691, 0.38670546, 0.13577081, 0.048631024, -0.024960777, 0.0846784, -0.057097007, 0.06049236, 0.042082917, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.12315548, -0.056513585, -0.09826642, -0.17079762, 0.06479095, -0.36984903, -0.12512982, 0.042867575, 0.08360464, 0.12835538, -0.005067881, 0.02542005, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.18997705, 0.086363226, -0.0007131526, 0.19858918, 0.39745626, -0.0090341605, 0.27864447, 0.20052041, 0.010576528, -0.089242525, -0.025109483, -0.030768145, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.05427315, -0.060894873, 0.06548642, 0.095537595, 0.29116166, -0.16159569, -0.13293959, -0.112566955, 0.0059667625, 0.016041303, 0.03831561, 0.09869594, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.0113532655, -0.06449327, 0.035503868, 0.5683031); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_tf +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.027102098, 0.2640691, 0.1169015, 0.030902913, 0.15404584, 0.1361459, -0.38066056, 0.096569136, -0.111836195, -0.0051853824, -0.0996669, -0.23538585, -0.07060754, -0.18889332, -0.10793357, -0.15154232) * go_0(-1.0, -1.0); + result += mat4(0.1378689, 0.21024452, 0.010976513, 0.0179521, -0.05993059, -0.28364083, 0.24486947, 0.21347582, -0.12522404, -0.16091396, 0.15499291, 0.08353191, -0.03342411, -0.08964405, 0.25111282, -0.07550899) * go_0(-1.0, 0.0); + result += mat4(-0.06398718, 0.05763278, 0.021394925, 0.14780094, -0.033050716, 0.03346528, -0.0846797, 0.0125302235, 0.18018652, 0.24586707, 0.050538495, 0.09879243, -0.100035876, 0.043505374, 0.042692907, -0.08768257) * go_0(-1.0, 1.0); + result += mat4(-0.11572878, 0.0545887, 0.16437739, 0.2775331, 0.10323911, -0.18938646, -0.17097469, -0.188723, 0.085762165, 0.14605838, -0.15568069, -0.16947642, 0.09042493, -0.087587915, -0.041969277, 0.27252352) * go_0(0.0, -1.0); + result += mat4(0.21475963, -0.018211678, -0.5711054, -0.09235345, -0.20367791, -0.23041399, 0.16346097, 0.007901888, 0.12542121, 0.16807431, 0.09862575, 0.16968751, 0.28490388, 0.40945014, -0.22364445, 0.14460565) * go_0(0.0, 0.0); + result += mat4(0.27512726, 0.14046481, -0.17684339, 0.102218024, -0.10503195, 0.3080809, 0.03681373, 0.2668656, -0.093752496, -0.07476867, 0.19900662, 0.06028286, -0.19815882, -0.0584525, 0.027984729, -0.02143819) * go_0(0.0, 1.0); + result += mat4(-0.16829525, -0.06818115, 0.0006509334, 0.01163159, 0.18918815, -0.10731989, -0.008126929, -0.47991323, -0.11022971, 0.19150843, 0.05272113, -0.34417602, 0.022882428, 0.1774031, 0.062597334, -0.09915319) * go_0(1.0, -1.0); + result += mat4(0.32131585, 0.05668815, -0.34203658, 0.05542482, -0.008077225, 0.009148517, 0.10953332, -0.050969962, 0.09904077, 0.46938205, -0.5148919, -0.22275375, -0.10536104, -0.23662373, 0.002147416, -0.14256701) * go_0(1.0, 0.0); + result += mat4(-0.19335353, -0.103732094, 0.17156832, 0.0059756916, -0.118641876, 0.14529023, -0.18662338, 0.0447326, 0.026719248, 0.042491894, 0.026437795, 0.05601309, 0.08645617, 0.08365193, -0.039582565, 0.16612953) * go_0(1.0, 1.0); + result += mat4(-0.014315469, 0.012588422, 0.037587024, 0.08707526, -0.08064868, -0.28149533, 0.27326405, 0.21468583, -0.04278333, 0.29369017, 0.18653142, 0.035729136, 0.079363555, 0.30725953, 0.0147137, 0.08527481) * go_1(-1.0, -1.0); + result += mat4(0.06659263, 0.03452449, -0.33752796, 0.0066543026, 0.48697233, 0.019602561, -0.32033685, -0.20538871, 0.3089118, 0.4315903, -0.13524854, -0.10791581, 0.3315688, 0.13135147, -0.26904663, 0.142365) * go_1(-1.0, 0.0); + result += mat4(0.13619833, 0.045271892, -0.029841429, 0.010704955, -0.29257727, -0.10563375, 0.35345638, -0.06734038, -0.043791633, -0.0056891907, -0.078411415, 0.075443126, -0.05746597, -0.19959894, -0.12797245, 0.18837726) * go_1(-1.0, 1.0); + result += mat4(0.25673476, 0.120482095, -0.23827696, -0.13557845, 0.300447, -0.3008584, -0.13834439, 0.5459493, -0.26155484, 0.06905137, 0.16247983, 0.039960653, -0.023218757, 0.07977591, -0.11354706, -0.25831422) * go_1(0.0, -1.0); + result += mat4(0.0842605, 0.282916, 0.14062001, 0.06356874, 0.55912817, 0.1743876, -0.30324093, 0.052068707, -0.20756413, 0.27321506, -0.26560605, -0.27695876, -0.3927334, -0.5439608, 0.39293098, -0.001130203) * go_1(0.0, 0.0); + result += mat4(-0.021890296, -0.12703396, 0.06660714, -0.03164527, 0.0018722567, -0.26552317, 0.06978973, -0.24030049, 0.46008193, 0.5595346, 0.081981994, -0.038414747, -0.010446991, -0.56102365, -0.079274766, -0.01851302) * go_1(0.0, 1.0); + result += mat4(0.052988984, 0.030581746, -0.06868741, 0.21545182, -0.5706256, -0.0034910638, 0.48361364, 0.9020033, -0.02242781, -0.13256042, 0.08997955, 0.21001706, -0.059571438, -0.040119104, -0.05029196, -0.127414) * go_1(1.0, -1.0); + result += mat4(-0.08275339, -0.05999088, 0.11068767, 0.014646892, -0.041986465, 0.1028236, -0.17218924, 0.026559748, -0.17412743, -0.38364175, 0.17410514, 0.13038695, 0.23155633, 0.2655843, 0.045085523, 0.13005458) * go_1(1.0, 0.0); + result += mat4(-0.013383197, -0.064526096, 0.049046878, 0.015992291, 0.123987064, 0.0104690585, 0.07065378, -0.009824511, -0.036109775, 0.13384768, 0.29676288, -0.39475223, -0.009368096, -0.05666906, -0.09132696, -0.082638375) * go_1(1.0, 1.0); + result += vec4(-0.106538564, -0.065693766, -0.03790106, 0.04776706); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.024004154, -0.26474997, -0.5256586, 0.051624652, -0.16621786, 0.2964122, 0.6044247, -0.14335106, 0.17002718, -0.2679876, -0.30162668, 0.1273794, -0.17601459, -0.1782376, 0.104725115, -0.16351137) * go_0(-1.0, -1.0); + result += mat4(-0.121676154, 0.047741555, -0.06738679, -0.056402843, 0.004424971, -0.35099635, -0.073440626, 0.039784692, 0.15204315, -0.1165704, 0.11231046, -0.27369732, 0.33737272, -0.11880767, 0.09637475, -0.14709689) * go_0(-1.0, 0.0); + result += mat4(-0.017987821, -0.08798823, -0.062515825, -0.046803873, -0.05871703, 0.27013004, 0.19397618, -0.052147817, 0.003271283, -0.0029015478, -0.07390092, -0.09348337, -0.1574738, 0.06750957, -0.07661155, 0.054327156) * go_0(-1.0, 1.0); + result += mat4(-0.15215784, -0.72508365, -0.3202069, 0.20295432, -0.19125701, 0.021401431, -0.051837035, -0.025939213, 0.25565025, -0.12872623, 0.13169816, 0.27377388, -0.008718429, -0.05864064, 0.028844763, 0.1144993) * go_0(0.0, -1.0); + result += mat4(-0.30012092, -0.1322455, -0.11868545, 0.09857058, 0.082795605, -0.075334676, -0.3752773, -0.02918163, -0.67764, -0.38598236, -0.21023573, 0.38274166, -0.07398165, -0.07213789, -0.28427607, 0.1266569) * go_0(0.0, 0.0); + result += mat4(-0.37507388, 0.18809201, -0.21982779, 0.27208912, 0.022066567, -0.27627763, 0.12345216, -0.30041683, 0.017002959, -0.091398515, -0.25207692, -0.29253414, -0.08231422, -0.14665812, -0.07868529, -0.24562219) * go_0(0.0, 1.0); + result += mat4(0.08686712, 0.080837384, 0.20736577, 0.008233064, 0.14957365, 0.21801959, -0.04870689, 0.42149112, 0.27255878, 0.33320278, -0.08467146, 0.10381615, 0.055278245, 0.085710146, 0.009097151, 0.29092705) * go_0(1.0, -1.0); + result += mat4(0.0012207404, -0.023874281, -0.027035477, 0.005157451, 0.19330226, 0.33711615, -0.16495204, 0.549021, 0.44879642, 0.1978837, -0.20492741, 0.28099406, 0.2631811, 0.40786585, -0.055340275, 0.2575511) * go_0(1.0, 0.0); + result += mat4(0.29127392, -0.06287165, 0.12715077, 0.14784902, -0.3183704, 0.42057636, -0.11483724, -0.3019506, 0.010730576, 0.29091576, -0.046116166, -0.23528357, -0.0037143505, 0.1191774, -0.06084074, 0.011641706) * go_0(1.0, 1.0); + result += mat4(-0.2579205, 0.036545023, 0.11691888, 0.04996418, 0.21318026, 0.21370813, -0.14114271, 0.031217605, -0.06979331, -0.0690704, 0.04618086, 0.025164584, -0.10994228, 0.109930746, 0.103678934, 0.12193115) * go_1(-1.0, -1.0); + result += mat4(-0.19843774, -0.11237926, 0.007291354, 0.16480611, -0.15669724, 0.46283355, 0.077065215, 0.112273656, 0.17143534, -0.19934891, -0.25481275, 0.034591813, -0.27032652, -0.2702769, 0.04816228, -0.031614583) * go_1(-1.0, 0.0); + result += mat4(-0.16307239, -0.11295217, 0.05861256, 0.14225823, -0.015648091, 0.11741865, 0.113366075, 0.023935538, 0.19560932, -0.10553561, -0.042583376, -0.048160724, -0.3116519, 0.13957061, -0.0044852323, -0.015472912) * go_1(-1.0, 1.0); + result += mat4(-0.15629178, 0.06463271, -0.13176678, 0.025518289, -0.021733627, 0.22236359, 0.019508492, -0.11629477, 0.10801276, -0.021957984, -0.11272639, -0.03615053, -0.121420704, 0.2520835, 0.043395765, 0.1699031) * go_1(0.0, -1.0); + result += mat4(0.2886654, 0.21755892, 0.21757497, 0.08442575, -0.109903164, -0.67295986, 0.22886126, -0.027185453, 0.3761606, 0.23199768, 0.05908783, -0.1496158, 0.10832971, -0.3530352, 0.20234483, -0.07615918) * go_1(0.0, 0.0); + result += mat4(0.11043024, 0.18943349, 0.42394367, 0.029350199, -0.15085667, 0.020204183, -0.081609115, 0.07907012, 0.33805525, 0.0066280114, 0.0018284445, 0.022983696, 0.004984607, 0.0429299, -0.14568979, -0.29143327) * go_1(0.0, 1.0); + result += mat4(-0.16376027, -0.20387048, 0.06522074, 0.17484841, -0.13885716, -0.04380927, -0.03535832, -0.16978237, -0.004799155, -0.25407305, -0.039976966, -0.011992087, -0.22535577, -0.09583549, 0.0334331, 0.016292758) * go_1(1.0, -1.0); + result += mat4(-0.38688713, -0.20232083, 0.23887886, -0.10438324, -0.24170811, -0.074868314, 0.03977399, -0.22810821, -0.08257971, -0.11902456, 0.106009185, -0.078289054, -0.11932821, 0.024207884, 0.10070917, 0.79348284) * go_1(1.0, 0.0); + result += mat4(-0.4018743, 0.050456528, 0.035341598, -0.03788609, 0.12964934, -0.44461823, 0.029031694, 0.29604837, -0.102386944, -0.13805065, 0.0055692918, 0.14659804, -0.22499937, 0.14680648, -0.3443954, -0.06994176) * go_1(1.0, 1.0); + result += vec4(-0.0063428865, 0.0057986965, -0.12526293, -0.059240736); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(S)-Conv-3x3x3x8 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_2_tf +//!SAVE MAIN +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.08631539, 0.09499331, 0.065609254, 0.0, -0.023760278, -0.027293118, -0.022839671, 0.0, -0.012447854, -0.008565141, -0.012041815, 0.0, -0.033292875, -0.031266093, -0.02874347, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.08709062, 0.09760889, 0.08988583, 0.0, -0.09099671, -0.102120616, -0.098076016, 0.0, 0.057814583, 0.06999608, 0.05961344, 0.0, 0.12246188, 0.1319784, 0.12254915, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.07694916, 0.0822054, 0.07549296, 0.0, -0.046808865, -0.051509347, -0.035890795, 0.0, 0.01599848, 0.014677793, 0.0086143715, 0.0, 0.033142705, 0.0426565, 0.035911378, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.0008269902, 0.0009082343, 0.014101725, 0.0, 0.0006387551, 0.005079344, -0.013034868, 0.0, 0.013909732, 0.011026747, 0.012485332, 0.0, 0.027028518, 0.022164145, 0.03183532, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.33575395, -0.36700967, -0.34140685, 0.0, 0.35850254, 0.37535715, 0.34613726, 0.0, -0.12680013, -0.1256115, -0.112494245, 0.0, -0.061541136, -0.059120018, -0.06552594, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.047570463, -0.050335366, -0.04665491, 0.0, -0.110970475, -0.12363716, -0.11072252, 0.0, 0.041563414, 0.059771337, 0.045290247, 0.0, -0.17999935, -0.19700716, -0.17459513, 0.0) * go_0(0.0, 1.0); + result += mat4(0.078488424, 0.07483357, 0.08347933, 0.0, -0.0063715233, 0.00035415235, -0.010886946, 0.0, 0.031237155, 0.02512343, 0.034399323, 0.0, -0.023146842, -0.026732154, -0.027644241, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.05906883, -0.06784104, -0.04506148, 0.0, -0.003939601, -0.0011749315, -0.006256036, 0.0, -0.1662408, -0.16871658, -0.16598499, 0.0, 0.051277652, 0.04837499, 0.05120855, 0.0) * go_0(1.0, 0.0); + result += mat4(0.08158806, 0.08674548, 0.07437206, 0.0, -0.05765347, -0.06196418, -0.057311118, 0.0, 0.26747537, 0.2668808, 0.2389857, 0.0, -0.010376844, -0.01690028, -0.008414153, 0.0) * go_0(1.0, 1.0); + result += mat4(0.030539425, 0.02415435, 0.039969034, 0.0, 0.006491679, 0.014436586, 0.005435709, 0.0, -0.0058292216, -0.013982021, -0.011243379, 0.0, 0.025942149, 0.015361476, 0.019134998, 0.0) * go_1(-1.0, -1.0); + result += mat4(-0.06322247, -0.07146787, -0.06673042, 0.0, 0.028702464, 0.039047733, 0.039646607, 0.0, -0.072553575, -0.08046175, -0.07027197, 0.0, -0.1447189, -0.1539398, -0.1466465, 0.0) * go_1(-1.0, 0.0); + result += mat4(-0.046430312, -0.054549117, -0.048076343, 0.0, 0.032971155, 0.02980819, 0.029172963, 0.0, -0.017612953, -0.015100736, -0.01202649, 0.0, -0.026717246, -0.028401854, -0.034548033, 0.0) * go_1(-1.0, 1.0); + result += mat4(-0.0020459262, -0.0008748501, -0.012601956, 0.0, 0.0054226154, 0.008867029, 0.018921215, 0.0, -0.0021330053, -0.0036601655, -0.0022091097, 0.0, -0.08636891, -0.10203159, -0.09741449, 0.0) * go_1(0.0, -1.0); + result += mat4(0.07306159, 0.08245483, 0.06548199, 0.0, -0.1933229, -0.20326294, -0.19189309, 0.0, 0.107496604, 0.11584994, 0.10907522, 0.0, 0.30877885, 0.31297725, 0.30890995, 0.0) * go_1(0.0, 0.0); + result += mat4(0.03192904, 0.035112645, 0.033732817, 0.0, 0.074100636, 0.08349646, 0.06659352, 0.0, -0.1136165, -0.12470947, -0.11192198, 0.0, 0.14465587, 0.16328491, 0.13984151, 0.0) * go_1(0.0, 1.0); + result += mat4(-0.05098033, -0.053096622, -0.05533725, 0.0, 0.0045651463, -0.007682458, 0.0026934785, 0.0, -0.021199327, -0.016210148, -0.030939564, 0.0, -0.031621892, -0.046702545, -0.02647333, 0.0) * go_1(1.0, -1.0); + result += mat4(0.055801813, 0.06430485, 0.05052402, 0.0, 0.0241233, 0.013879883, 0.017344628, 0.0, 0.08707151, 0.10031039, 0.095042154, 0.0, -0.109053336, -0.11414017, -0.111838564, 0.0) * go_1(1.0, 0.0); + result += mat4(0.030582374, 0.03604719, 0.040417343, 0.0, 0.038665913, 0.036998056, 0.030004544, 0.0, 0.09209076, 0.10010001, 0.08389406, 0.0, -0.014655714, -0.0074866647, -0.012227013, 0.0) * go_1(1.0, 1.0); + result += vec4(-0.008303841, -0.008251826, -0.0069884053, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_UL.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_UL.glsl new file mode 100644 index 0000000..7088e7c --- /dev/null +++ b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_UL.glsl @@ -0,0 +1,1704 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.23234928, -0.070085905, 0.0040122913, 0.21575761, -0.25936925, -0.20185155, 0.022299573, 0.2812235, -0.11045535, -0.11106335, -0.12113332, -0.49919847, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.48585954, -0.058959674, 0.11114158, -0.1971666, -0.24872562, 0.2667282, -0.107163996, 0.12475151, -0.027792914, -0.06700173, -0.10966316, 0.09399147, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.16666615, -0.15644506, 0.048309084, 0.19122206, -0.1522582, 0.15417537, -0.23017146, 0.09460856, 0.074704535, 0.2168164, 0.2077189, -0.29264635, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.3167284, -0.20522436, -0.050071932, -0.036290437, 0.20206359, 0.012589764, -0.1251284, -0.2911492, -0.0006390347, -0.09853893, 0.14406726, 0.33612582, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.13786903, 0.51342535, -0.44004235, -0.23918492, 0.5614157, 0.011565876, 0.5419984, -0.15937872, -0.075360805, 0.018496322, 0.12582661, 0.40117717, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.19644158, 0.12697817, 0.15092115, 0.1963961, -0.03395398, -0.17465135, -0.04086773, 0.09187623, 0.18238129, -0.0063141263, -0.26402372, -0.28761682, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.010849395, 0.15082607, 0.095264904, -0.038952388, -0.1121466, 0.21590506, 0.029462064, -0.65400773, 0.18295552, 0.2425088, 0.121624336, 0.7189011, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.17197245, -0.04397748, 0.18232836, -0.04471754, 0.071163684, -0.20590816, 0.39706057, -0.5452873, -0.11754515, 0.006909551, 0.018450081, 0.5686299, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.077441245, -0.25645187, -0.19979256, -0.010363122, -0.04312338, -0.08810754, -0.059999906, 0.38630447, -0.11017497, -0.16309647, 0.026156282, -0.35432625, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.03509807, 0.029998481, -0.08691994, -0.017055636); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.34123975, 0.06927292, 0.12252625, 0.1038146, 0.15979475, 0.24436772, -0.016088272, -0.22664197, 0.16932374, 0.10719134, -0.16895153, 0.100098394, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.11094869, -0.1379463, -0.53625333, -0.42690855, 0.12101115, -0.004709155, 0.6293494, 0.4763549, 0.030926082, -0.20099613, 0.39174548, 0.31219363, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.08731028, -0.010540878, 0.0757335, -0.1466203, -0.23115048, -0.17813745, 0.17698573, 0.18787299, 0.16219892, 0.10475756, -0.23984352, 0.025724094, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.27665043, 0.4118298, -0.08762915, -0.07885308, 0.05053698, 0.28148478, -0.005842398, 0.15139125, -0.3791668, 0.24871133, 0.18160823, -0.10384939, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.3206045, -0.22038852, -0.3038138, -0.0482595, -0.26852164, -0.23278148, 0.30639926, 0.2578657, -0.3874695, 0.06441954, 0.00026220892, 0.04361178, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.17908047, -0.0900835, 0.00652168, -0.038639892, 0.1520494, -0.13204975, -0.020355739, 0.26766944, 0.021308672, -0.31918222, 0.050667368, 0.10367864, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.112388864, 0.053321466, 0.2691917, 0.26902813, 0.010105532, 0.24898581, -0.13757521, -0.10214595, 0.23615286, -0.09560994, -0.15046176, -0.08853913, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.36796987, -0.2124952, -0.07535088, 0.13065732, -0.21852261, 0.06934692, -0.013749303, -0.44900006, 0.3352218, 0.090437174, 0.08993535, -0.3050165, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.11873657, 0.13483031, 0.22352207, 0.23666611, 0.18977334, -0.32066482, -0.31396368, -0.5615055, -0.14588253, 0.0121516865, 0.0614425, -0.079611346, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.6537504, 0.07195351, -0.38729003, -0.0374416); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf2 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.16112354, 0.3756035, 0.09619928, 0.17283864, 0.054338567, -0.061197184, -0.10173672, -0.032733057, -0.111913994, -0.28940153, -0.062114924, 0.20520677, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.3500745, 0.467141, -0.101748556, 0.43384346, 0.06712478, -0.43235737, 0.014446082, -0.12634972, -0.07507498, 0.025314584, 0.22664048, 0.22121347, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.089320965, 0.319314, -0.06869195, -0.2465581, 0.449762, -0.38919032, 0.1562217, 0.05368933, 0.20758076, 0.0659555, -0.109858744, -0.114917934, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.07451217, 0.2239877, -0.009071173, 0.21869898, 0.042301223, 0.13635477, -0.20052543, 0.26130545, -0.051627826, -0.3429969, 0.093028575, -0.35710186, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.16129561, -0.31247056, -0.123016216, 0.2122524, -0.2972285, 0.2718142, -0.17284301, 0.44368207, -0.032497104, 0.18240568, -0.28283152, -0.10045272, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.15945031, -0.6797371, 0.3974546, 0.24741851, -0.1340806, 0.41666976, 0.27850744, -0.21406768, 0.096567124, 0.23366652, 0.15648519, -0.07626781, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.053246673, 0.14282355, -0.114118166, -0.3172004, -0.18055372, -0.3400759, -0.19622837, 0.076828666, 0.29225305, 0.14866155, 0.07959014, -0.041400358, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.25331625, -0.14193451, 0.04879846, -0.077393495, 0.0104558095, 0.37905747, -0.07880302, -0.09453499, -0.1426901, -0.19738746, -0.28036812, 0.03675319, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.08954212, -0.47161737, -0.12388452, -0.08005436, 0.04682568, 0.048485547, 0.31411946, -0.31375095, -0.22892538, 0.16906887, 0.16802602, 0.18711087, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.04453386, 0.06632044, 0.061607827, -0.19856223); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.09962672, -0.09808486, 0.14167309, 0.050132442, 0.10861549, -0.03472704, -0.13705672, -0.029933043, 0.09841877, 0.07278074, -0.017292077, -0.027848938, 0.07552298, 0.076578915, -0.023463586, 0.052939452) * go_0(-1.0, -1.0); + result += mat4(0.0010984733, -0.17330085, -0.08229318, -0.2175911, 0.08144593, 0.059445348, -0.15086831, -0.10372944, 0.117648594, -0.12558225, -0.11103407, -0.0701386, -0.05065664, -0.07396901, -0.11938091, 0.039866682) * go_0(-1.0, 0.0); + result += mat4(0.15428792, 0.23440446, 0.21962269, 0.2650896, -0.03476033, 0.15719226, -0.12486064, 0.2167058, -0.023046771, -0.20562397, 0.10107006, -0.01569021, 0.16730824, -0.01259593, 0.053364236, -0.04500823) * go_0(-1.0, 1.0); + result += mat4(0.030429626, -0.13110232, 0.057990804, 0.011675255, -0.05295247, -0.15326303, 0.22707884, -0.07973966, 0.0439027, -0.13198115, 0.07837125, -0.07131822, 0.05269012, -0.2104038, 0.048907652, -0.020645073) * go_0(0.0, -1.0); + result += mat4(0.0031781355, -0.021097122, -0.26952672, -0.3207644, 0.08375256, -0.14136748, 0.18542029, 0.15215854, 0.091964215, 0.26967737, 0.0587766, -0.07700872, 0.16575423, 0.35469708, -0.0051588053, -0.0006740279) * go_0(0.0, 0.0); + result += mat4(-0.08884001, 0.14041351, 0.17474355, 0.4161406, 0.023943432, 0.003970282, 0.29985484, 0.10266973, -0.25273883, -0.14029191, 0.11345857, 0.31820163, -0.38953283, 0.2583901, 0.009964725, 0.058217626) * go_0(0.0, 1.0); + result += mat4(-0.2032424, -0.07082582, 0.1580928, -0.048965808, 0.2141858, -0.041104354, -0.034682848, -0.15914723, 0.04790725, -0.024282899, 0.07099358, 0.16498338, -0.112657525, -0.0616071, -0.008030092, -0.016227499) * go_0(1.0, -1.0); + result += mat4(0.061936792, 0.21455337, 0.48054412, -0.04828425, 0.010028972, 0.11099989, 0.095458575, -0.19660684, 0.0425463, 0.11828354, -0.124904655, -0.17428195, 0.011525431, -0.124187276, -0.04230918, -0.035113487) * go_0(1.0, 0.0); + result += mat4(0.31514692, 0.08103313, 0.11659174, 0.08965401, -0.1970772, 0.14856051, -0.1938787, -0.16033082, -0.18799798, 0.030507786, -0.16664562, -0.13656873, 0.17780142, -0.25997472, 0.026064966, 0.011898) * go_0(1.0, 1.0); + result += mat4(-0.057235047, -0.27046695, -0.010699785, 0.049249526, 0.047039963, -0.077151395, -0.14362605, 0.06164646, 0.114476524, -0.17911421, -0.08053587, 0.11165565, -0.09624257, 0.025738657, -0.103865884, -0.03431851) * go_1(-1.0, -1.0); + result += mat4(0.14757289, -0.011688203, 0.13329901, -0.117047496, 0.0012821602, 0.1926134, -0.20751058, -0.07072285, 0.010413468, 0.056632243, 0.115734495, -0.02967846, -0.03047392, -0.21189988, -0.0011950757, -0.19957498) * go_1(-1.0, 0.0); + result += mat4(-0.08746177, -0.12079578, 0.04276918, -0.005454131, 0.11490783, -0.12847133, -0.09437031, -0.30269814, -0.21966903, -0.19212759, 0.02010421, -0.041956432, 0.10274604, -0.29135153, -0.05896102, -0.23609753) * go_1(-1.0, 1.0); + result += mat4(0.041169632, -0.1239918, 0.11654365, 0.12085256, -0.16491309, 0.16958053, 0.08106695, 0.017548209, 0.005812545, 0.18601535, -0.26115587, 0.06350569, -0.05120703, 0.288068, -0.10665016, 0.14517978) * go_1(0.0, -1.0); + result += mat4(-0.031448353, 0.10505269, -0.11342215, 0.066149935, -0.11060372, 0.023158634, 0.112362646, -0.12653005, 0.10593459, 0.16429284, 0.105653964, 0.057039205, 0.43216446, 0.40089405, -0.13454677, 0.10088736) * go_1(0.0, 0.0); + result += mat4(0.006024284, -0.085603446, -0.03500259, -0.12583484, 0.037410516, -0.162403, -0.16079305, -0.40704638, -0.02878602, -0.05373755, 0.22466864, -0.18264142, 0.006703932, -0.2611284, 0.12246666, -0.09028182) * go_1(0.0, 1.0); + result += mat4(-0.060709704, -0.10833455, 0.057897534, 0.13747421, 0.023012483, 0.037656587, 0.14315368, -0.016442677, 0.047911663, -0.0069572264, 0.044352237, 0.3486672, -0.21061146, 0.09642802, 0.05590367, -0.060553044) * go_1(1.0, -1.0); + result += mat4(0.04283378, 0.24103515, -0.13148557, 0.010205976, -0.043310534, 0.10729743, 0.038866118, 0.18446185, -0.01657694, 0.1901015, 0.07020068, 0.12353552, 0.038972974, 0.23214848, -0.25911716, -0.019023877) * go_1(1.0, 0.0); + result += mat4(0.12810664, 0.2588679, -0.01086673, -0.028045006, 0.19610372, -0.096308656, 0.0042522033, 0.13961965, 0.11584688, 0.04171374, -0.22028726, -0.24815048, 0.18253902, -0.2803496, 0.04638075, 0.036636963) * go_1(1.0, 1.0); + result += mat4(-0.063880704, -0.1977201, -0.053342164, -0.066917926, -0.11009935, 0.17052847, 0.04694616, 0.07041865, 0.0104053635, 0.17147705, 0.14641339, 0.02914492, 0.02223927, -0.15581869, 0.0073570404, -0.092718706) * go_2(-1.0, -1.0); + result += mat4(-0.11074706, 0.09035497, 0.041304804, -0.05657743, 0.02258131, 0.15751973, -0.08892718, 0.09498991, -0.062650494, 0.1528085, 0.08637203, 0.015458079, 0.080385685, 0.0014520894, -0.1777884, -0.022080136) * go_2(-1.0, 0.0); + result += mat4(-0.12261772, 0.14604463, -0.30844545, -0.038277622, -0.03465457, -0.14419939, 0.08843366, -0.24528691, 0.08627054, 0.022934042, 0.065465, 0.08992177, 0.13908626, 0.29170883, 0.18499602, 0.44779378) * go_2(-1.0, 1.0); + result += mat4(0.2403803, -0.034265775, 0.061548065, -0.2871231, 0.06244344, 0.55960923, 0.10674182, -0.099105835, 0.067223154, -0.016005594, -0.18609367, 0.068283536, 0.16862819, -0.35648894, 0.15355636, -0.21434662) * go_2(0.0, -1.0); + result += mat4(-0.1928663, -0.08712358, 0.010059887, 0.041675188, 0.028285503, 0.27573827, -0.13980475, 0.020420022, 0.08173396, -0.18047802, 0.14453442, 0.1705434, 0.032467145, -0.25624174, -0.091417946, -0.1830734) * go_2(0.0, 0.0); + result += mat4(-0.07378673, 0.0082734935, -0.0031403562, -0.09405621, -0.04572997, -0.47891915, 0.022257643, -0.18141934, -0.15467338, -0.080856316, 0.22424543, 0.1328784, -0.011105831, 0.012753231, -0.18666203, 0.29024994) * go_2(0.0, 1.0); + result += mat4(-0.014239724, 0.17424577, 0.04347437, -0.07241822, -0.0043192226, -0.15224636, -0.12850569, -0.07176244, -0.024936391, 0.1081912, -0.0634437, -0.17714879, 0.06807449, 0.036505345, 0.1765435, -0.06827722) * go_2(1.0, -1.0); + result += mat4(-0.10896065, -0.113828, -0.044186924, 0.083636716, 0.00946172, -0.096768014, 0.1477472, 0.28581375, 0.09928998, -0.03573682, -0.0877059, -0.07456346, -0.094931394, -0.29481927, 0.035076067, -0.030719504) * go_2(1.0, 0.0); + result += mat4(0.06879136, -0.0013524323, -0.015930668, 0.011338774, 0.27078402, -0.036486305, 0.07307458, -0.03654178, -0.1821915, -0.19957519, 0.047258675, -0.012780178, -0.23570615, 0.23241185, -0.049822707, -0.004932543) * go_2(1.0, 1.0); + result += mat4(0.059442203, 0.123758584, -0.0120902015, -0.035207815, -0.3852069, 0.02184997, 0.17941254, -0.060605425, -0.071601346, -0.07984123, -0.043631997, 0.050046816, 0.100848526, -0.1991431, 0.012486262, -0.12679099) * go_3(-1.0, -1.0); + result += mat4(-0.10241958, 0.14548102, 0.17390133, 0.11916023, -0.124270104, -0.016538827, 0.14511214, -0.11671281, -0.21087177, -0.06974753, 0.012906925, 0.13859452, -0.08547768, 0.1567956, -0.2022433, 0.038497575) * go_3(-1.0, 0.0); + result += mat4(0.07510719, -0.12558976, 0.27779973, 0.07905847, -0.005560809, -0.13164681, 0.0026637863, -0.42023313, 0.30791378, 0.0674288, 0.16762452, 0.03776929, 0.054378655, 0.12892224, 0.14568421, 0.057358757) * go_3(-1.0, 1.0); + result += mat4(-0.055342264, 0.17539698, -0.07691367, -0.016426053, -0.10654331, 0.12799862, 0.08000128, -0.026672266, -0.09276648, 0.08326771, -0.07549073, 0.09110558, 0.025476933, 0.23758717, -0.08576679, 0.05389538) * go_3(0.0, -1.0); + result += mat4(0.13494995, -0.058528826, 0.0859778, 0.36369404, 0.20959967, 0.04463818, -0.10268673, -0.17128421, 0.12091434, -0.23517689, -0.006012021, -0.13097133, 0.07197561, -0.16344362, 0.10873641, 0.08921942) * go_3(0.0, 0.0); + result += mat4(0.021762112, -0.003690478, 0.36574113, 0.008322902, 0.19321395, 0.04774496, -0.22579306, -0.19404013, 0.06938985, 0.15104407, -0.046889, -0.117904656, -0.14408903, -0.18670367, 0.16157444, -0.103656925) * go_3(0.0, 1.0); + result += mat4(0.10242334, -0.055725146, -0.21333602, 0.010575543, -0.23961566, 0.0044566356, 0.39897293, 0.08584577, -0.23019423, 0.2032861, -0.18542935, -0.1764838, -0.13681203, -0.07769402, 0.03816189, 0.007777049) * go_3(1.0, -1.0); + result += mat4(-0.028709, -0.16470426, -0.212036, 0.03143696, 0.27199176, -0.17678891, 0.23327425, 0.12954381, -0.020772377, -0.17467533, 0.13100848, 0.2351719, 0.097517245, 0.050158583, -0.002071869, 0.04241593) * go_3(1.0, 0.0); + result += mat4(0.07411962, -0.08748965, 0.07468962, -0.22070734, 0.40794817, -0.088459395, 0.32936516, -0.032707095, 0.37608266, 0.027920008, 0.07734025, 0.08530036, 0.10898109, 0.22703189, -0.20785971, -0.06495064) * go_3(1.0, 1.0); + result += mat4(0.29293463, 0.16721301, -0.12183638, -0.03948546, 0.01529436, 0.078094184, -0.025749328, -0.006153496, -0.094414495, 0.22237025, 0.028131692, -0.060007866, 0.034187492, -0.116286926, 0.06509088, -0.048549082) * go_4(-1.0, -1.0); + result += mat4(0.008423889, -0.3957667, -0.049811136, 0.14082848, 0.09263845, -0.16698493, -0.025629787, 0.015054379, 0.028197043, 0.068465285, -0.08725762, 0.036668878, -0.062005505, 0.0764588, -0.054699335, -0.003840703) * go_4(-1.0, 0.0); + result += mat4(0.043419074, -0.20948833, -0.14390363, -0.17659377, -0.065787576, 0.06486438, -0.19382884, 0.08338218, 0.13709012, 0.21116447, -0.24534407, 0.20671941, -0.13327736, 0.2553412, -0.03380571, 0.2106275) * go_4(-1.0, 1.0); + result += mat4(0.32056695, -0.28739846, -0.008697179, -0.3094155, -0.12655911, -0.22508456, 0.046275456, -0.13609526, -0.056746602, -0.13714787, 0.006273007, -0.15033242, 0.19861896, -0.19801322, 0.008556289, 0.053491425) * go_4(0.0, -1.0); + result += mat4(0.018890936, -0.7917244, -0.014075563, -0.1700778, -0.039983913, 0.028458029, -0.1522347, -0.08251537, -0.013377933, -0.3029727, 0.1349085, -0.16240561, -0.20748827, -0.46068287, 0.00913134, 0.030452987) * go_4(0.0, 0.0); + result += mat4(-0.05005734, -0.2148053, 0.032070015, 0.14438215, 0.31232053, 0.1401732, -0.26635718, 0.19424468, 0.07584618, 0.10555894, 0.01795741, 0.31067818, 0.054555204, 0.2563484, -0.14635237, -0.10759128) * go_4(0.0, 1.0); + result += mat4(0.23083898, -0.32226348, 0.19888338, -0.38176686, 0.050134797, -0.0015203251, 0.112237535, 0.14811106, 0.2174096, -0.24344379, -0.13310412, -0.42385107, 0.050850198, -0.27200532, -0.052719057, 0.009228699) * go_4(1.0, -1.0); + result += mat4(-0.053870313, -0.47212356, 0.085255414, -0.014404558, -0.06817252, -0.0973503, 0.1635136, -0.0033316084, -0.037195005, -0.48788953, 0.08273281, -0.097501226, 0.0600793, -0.21372889, 0.03384461, 0.017936382) * go_4(1.0, 0.0); + result += mat4(-0.3313351, -0.45776972, 0.0009931794, 0.11343333, 0.033024788, 0.046712194, 0.04782013, 0.064249486, -0.22282073, 0.12655938, 0.19051406, 0.31040603, -0.07731221, 0.17658137, -0.103276245, -0.06792484) * go_4(1.0, 1.0); + result += mat4(0.14607549, 0.1872639, -0.093263544, 0.09774117, -0.11698756, -0.067545414, 0.0023156274, -0.18209848, 0.03853313, -0.2223309, 0.12031081, 0.042545635, -0.034479424, 0.124472, 0.06731187, 0.12712644) * go_5(-1.0, -1.0); + result += mat4(-0.07627082, -0.17452952, -0.33548403, -0.18450926, 0.18033943, -0.12326704, 0.019632008, 0.07248642, -0.16483006, -0.18913946, 0.19646043, 0.40187582, -0.13083674, 0.08671764, 0.15356278, 0.0077914116) * go_5(-1.0, 0.0); + result += mat4(-0.13629752, -0.13993968, 0.2731425, -0.041057866, -0.118738905, 0.21209033, -0.051054828, 0.31168184, -0.16392295, 0.010364939, 0.0857728, 0.024030814, -0.07311749, -0.24349305, -0.20305401, -0.43344042) * go_5(-1.0, 1.0); + result += mat4(0.14196202, -0.04678858, 0.0077786436, 0.072588876, 0.048406214, -0.812405, 0.08031392, -0.1540258, 0.11032359, -0.06004812, -0.32815942, 0.09877014, -0.16591738, 0.4435054, -0.20656855, 0.22537513) * go_5(0.0, -1.0); + result += mat4(0.09432511, 0.19597436, -0.08628448, -0.21871169, -0.16537306, -0.32272846, 0.13009092, 0.010715842, 0.26118267, 0.22872354, 0.19176646, 0.107038476, 0.1611875, 0.08846044, 0.15163514, 0.008047941) * go_5(0.0, 0.0); + result += mat4(-0.07396799, -0.03825365, 0.093083926, 0.051318448, 0.2838576, 0.5694332, -0.10403076, 0.19238624, 0.11968883, 0.11856581, -0.119746156, -0.082536116, 0.076429665, -0.02471431, 0.11962365, -0.17637646) * go_5(0.0, 1.0); + result += mat4(0.07824961, -0.16634372, 0.027028812, -0.074860476, -0.14161688, 0.23795755, 0.02944209, 0.17723913, -0.30600172, -0.23468062, -0.12452985, -0.020646518, -0.0397737, 0.021050548, -0.17934813, 0.13230623) * go_5(1.0, -1.0); + result += mat4(0.0424831, 0.106492884, -0.03483414, -0.017710585, 0.22700353, 0.20349082, -0.10986577, -0.3389828, -0.21730238, -0.00039746048, 0.07059067, 0.102562755, 0.30204043, 0.21475948, -0.0162173, -0.017118886) * go_5(1.0, 0.0); + result += mat4(-0.22430925, -0.014225937, 0.094149694, -0.018336432, 0.17596604, 0.14860786, 0.05728594, 0.04178837, 0.1751472, 0.23511195, 0.020594316, 0.11539313, 0.12581828, -0.15684246, 0.02905791, -0.11784082) * go_5(1.0, 1.0); + result += vec4(-0.17880301, 0.20980668, -0.013683405, -0.015587634); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!SAVE conv2d_1_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.02899521, -0.05649066, -0.026947228, 0.048783254, -0.14916636, 0.24028979, 0.044600923, -0.045931537, -0.1705095, -0.27147427, 0.16703783, 0.058726057, 0.0032612043, 0.083603844, -0.25704128, 0.13329254) * go_0(-1.0, -1.0); + result += mat4(-0.1979236, -0.01025661, -0.019716073, 0.108358726, 0.043820046, 0.1919281, -0.21771714, -0.1133059, -0.061171446, -0.0882054, -0.120655626, -0.11155759, -0.07786948, 0.011810883, 0.14344923, -0.26561305) * go_0(-1.0, 0.0); + result += mat4(0.1894701, 0.0239954, -0.119104624, 0.0081936605, -0.090172075, 0.16750605, 0.07118662, -0.068179235, 0.11522273, 0.02271562, 0.09519474, -0.28372973, 0.0015472358, 0.026579062, 0.117233984, -0.4856576) * go_0(-1.0, 1.0); + result += mat4(-0.14819643, -0.31534502, -0.13870765, -0.01054195, -0.19450842, 0.10115552, 0.15510698, 0.003614742, -0.07340832, -0.20358734, -0.12068221, 0.1708203, -0.04059514, 0.05221531, 0.1185381, 0.0068877796) * go_0(0.0, -1.0); + result += mat4(-0.2649358, 0.2787165, 0.026068278, 0.05054382, 0.042817205, -0.13016234, 0.0052052587, 0.0671692, 0.10290017, 0.06727616, -0.025898565, -0.03125075, 0.1502351, -0.17578806, -0.07915442, -0.20580369) * go_0(0.0, 0.0); + result += mat4(0.01980342, 0.07163837, -0.10456945, 0.06892928, -0.00022086082, -0.122014746, -0.11635255, -0.050526325, 0.11869723, 0.07118713, 0.10652823, -0.21519308, -0.048316743, -0.09710376, 0.006049279, -0.15725243) * go_0(0.0, 1.0); + result += mat4(0.17198269, -0.04094963, -0.16597614, -0.022672966, -0.021484226, -0.07138965, 0.067678355, 0.010858899, -0.13862544, 0.06384301, -0.03991444, 0.22539167, -0.005830964, -0.093598455, 0.10466667, 0.19629909) * go_0(1.0, -1.0); + result += mat4(0.040208396, -0.0077782017, 0.026934639, -0.08231454, 0.122154236, -0.20185019, -0.04921797, 0.113472804, 0.025262907, 0.30940935, -0.0067619407, 0.011076865, -0.037738938, 0.22040449, -0.091454595, 0.08720387) * go_0(1.0, 0.0); + result += mat4(-0.19777842, 0.15188776, -0.112971924, 0.06551624, 0.21511264, -0.12696353, 0.05734954, 0.038562097, 0.09721514, 0.12184754, 0.098125674, 0.093547106, 0.04148773, -0.007749207, -0.097304046, 0.11741999) * go_0(1.0, 1.0); + result += mat4(-0.05388486, -0.15493694, -0.11779907, -0.063636035, 0.1683663, -0.19863462, 0.079785384, 0.002344284, 0.07419801, -0.18906172, 0.042702213, -0.106039785, -0.11761329, -0.34240028, 0.20399906, 0.19486815) * go_1(-1.0, -1.0); + result += mat4(-0.0214746, 0.024925156, 0.071194954, 0.06452649, -0.10890589, -0.08571906, 0.13291912, -0.0013396982, 0.01863436, -0.20824501, 0.054323934, -0.23967488, 0.07283552, -0.28291726, 0.23057762, 0.121263705) * go_1(-1.0, 0.0); + result += mat4(0.05597139, 0.07066334, 0.06768875, 0.01599472, -0.00039986568, -0.0053987154, 0.040123407, -0.100022465, -0.013812261, 0.050008554, 0.18786328, 0.0004141, 0.09763033, -0.2487105, 0.11663139, 0.05165497) * go_1(-1.0, 1.0); + result += mat4(0.17904039, -0.31834564, -0.0737966, -0.061444905, -0.2252082, 0.00895136, 0.11486605, -0.0037112157, -0.07636511, -0.3503888, -0.04990528, -0.030310752, 0.068686, -0.3136087, -0.004038447, 0.12475536) * go_1(0.0, -1.0); + result += mat4(0.011218902, 0.16498409, -0.19213067, -0.3376179, -0.40268928, 0.009434513, -0.10950616, 0.1186675, -0.11379568, 0.23032996, -0.26904815, 0.30311096, 0.017041026, 0.39546305, -0.2145057, 0.20220405) * go_1(0.0, 0.0); + result += mat4(-0.116564326, 0.16520524, 0.25099444, -0.044852093, 0.04109138, -0.104986876, 0.09234278, -0.077715285, 0.046688464, 0.4072821, 0.021245886, -0.054421954, -0.12993707, 0.13713494, -0.12306372, 0.0076773493) * go_1(0.0, 1.0); + result += mat4(0.0022927783, -0.16100088, 0.0092022745, 0.043600008, -0.012064794, 0.14346212, 0.056605842, 0.04922658, 0.21234164, -0.36939904, -0.35937238, -0.0076974165, -0.033846013, -0.197686, 0.045169946, 0.05321761) * go_1(1.0, -1.0); + result += mat4(-0.12022473, 0.027450195, -0.070633, 0.010465206, -0.23977374, 0.008031643, -0.07748358, -0.12202592, -0.21730833, 0.0059398045, 0.40769234, -1.1242622, -0.06625515, 0.3264613, -0.07954283, 0.09583801) * go_1(1.0, 0.0); + result += mat4(0.008234909, 0.18505827, -0.1273086, 0.23858553, -0.00791922, 0.0122221485, -0.11842601, -0.038017634, 0.03933724, 0.2956, -0.01691444, 0.17929354, 0.015529619, 0.19893076, -0.16288021, 0.05490817) * go_1(1.0, 1.0); + result += mat4(-0.011399029, 0.10798575, 0.046656217, 0.032565042, 0.0119628515, -0.0011125325, 0.31439918, 0.09300187, -0.010849873, -0.060744617, 0.18471423, 0.15607913, -0.045522973, 0.16699308, -0.0722109, -0.024475403) * go_2(-1.0, -1.0); + result += mat4(-0.082331106, -0.07089719, 0.1347553, -0.19314262, 0.0032955715, -0.24533619, 0.013174161, 0.15500104, 0.029693194, 0.040375546, -0.0059178416, 0.1092399, -0.112020314, 0.1500148, -0.22925867, -0.019879973) * go_2(-1.0, 0.0); + result += mat4(0.1417249, 0.11215587, -0.26791674, 0.14707097, 0.040649403, -0.016661948, 0.15412898, -0.080876425, 0.035228007, 0.047104783, 0.06574109, -0.029853644, 0.05876159, 0.22823593, -0.19034219, 0.03162234) * go_2(-1.0, 1.0); + result += mat4(0.2600437, 0.044771086, 0.014325027, 0.163108, 0.060724687, 0.09108473, -0.20747156, 0.0039435104, 0.18791565, -0.11700223, -0.0055135386, -0.024981469, -0.19696075, 0.11015166, -0.004077458, 0.011203278) * go_2(0.0, -1.0); + result += mat4(-0.05348392, 0.11058947, -0.11913848, 0.06359096, -0.13427798, -0.096259184, -0.122564375, 0.16873421, -0.021777656, 0.026404127, -0.19412898, -0.04525696, -0.089521095, -0.04556723, -0.14436369, 0.030330338) * go_2(0.0, 0.0); + result += mat4(-0.077864684, -0.0033614987, -0.053482026, -0.15834975, -0.12657848, 0.16701786, 0.040268235, -0.14463072, 0.01926974, -0.15924485, -0.011547801, -0.18185836, 0.030286407, -0.29259017, -0.0077412864, 0.037985537) * go_2(0.0, 1.0); + result += mat4(0.07485037, 0.19659927, 0.020025307, 0.10442409, -0.19772562, 0.4431493, -0.06422206, -0.045304112, -0.094377324, -0.04861216, 0.0023215367, 0.16513753, -0.1303532, -0.068101294, 0.017007684, 0.097332835) * go_2(1.0, -1.0); + result += mat4(-0.004584652, -0.2661271, 0.0063034855, 0.041456066, 0.11529073, 0.19888161, -0.24943323, -0.054349367, -0.010328835, 0.22214927, -0.20700802, -0.05599532, 0.24972723, -0.08987443, 0.20708983, -0.13030328) * go_2(1.0, 0.0); + result += mat4(0.10159776, 0.047147173, 0.1411316, -0.18355304, 0.07658331, -0.037969157, -0.074841976, 0.09781788, 0.06575143, 0.03210521, 0.058850992, -0.19939986, 0.11218086, -0.10744168, 0.14622156, 0.12941957) * go_2(1.0, 1.0); + result += mat4(0.13577162, 0.10681536, 0.08791653, -0.060445737, -0.19715475, -0.13252279, -0.036850456, -0.009957216, 0.1860376, 0.3743373, -0.14414039, 0.044343796, -0.05038453, -0.034720805, 0.17924316, 0.012001023) * go_3(-1.0, -1.0); + result += mat4(0.007108988, -0.09904293, -0.112725444, 0.031813867, -0.044795662, -0.14910372, 0.1680855, 0.32826513, 0.13105088, 0.11438789, -0.08039976, -1.1030464, 0.020364072, 0.19394659, 0.016075639, -0.22101837) * go_3(-1.0, 0.0); + result += mat4(-0.100025505, -0.06350414, 0.06775572, -0.07832278, 0.093700364, -0.15951614, 0.36111444, -0.20566626, -0.1011544, -0.047608454, -0.07719231, -0.71597475, 0.0048773736, 0.012542508, -0.26781914, -0.3445289) * go_3(-1.0, 1.0); + result += mat4(-0.050355583, 0.3859359, 0.08021888, 0.0031537602, 0.18742213, -0.30617613, -0.27419865, 0.18862267, -0.0011417761, 0.19679208, 0.06357993, -0.11287149, 0.11817958, -0.040369175, -0.055818953, 0.114691235) * go_3(0.0, -1.0); + result += mat4(-0.24919917, -0.1840669, -0.47709405, 0.020121656, -0.09533757, 0.23901173, -0.08210879, -0.22835779, 0.023564098, -0.1592999, 0.005221987, -0.54973453, -0.039800424, 0.19367874, -0.10306205, -0.21813862) * go_3(0.0, 0.0); + result += mat4(0.13417694, -0.06470136, -0.07049462, -0.052072115, -0.017625665, 0.108188346, 0.13198936, 0.1975063, -0.22973076, -0.28760132, -0.12961891, -0.08713851, -0.028337657, -0.35775787, 0.33782268, -0.282777) * go_3(0.0, 1.0); + result += mat4(-0.0796041, 0.16454107, -0.026372116, 0.0788071, 0.044841573, 0.15395795, -0.011288428, -0.03305742, 0.15754524, -0.0043833177, 0.12766863, -0.11310043, -0.023906957, 0.03451837, -0.083479226, 0.03029468) * go_3(1.0, -1.0); + result += mat4(-0.38791308, -0.120497175, -0.39432266, -0.016802365, 0.031366616, 0.20532085, -0.032990657, -0.004515397, -0.1540265, -0.2327063, 0.088945866, 0.11997355, 0.02506493, -0.11495644, 0.0847286, 0.0048163645) * go_3(1.0, 0.0); + result += mat4(-0.03319572, -0.26717946, -0.13605991, -0.10878451, 0.19831704, 0.04036457, -0.056414742, 0.15083815, -0.1640081, -0.25487527, -0.096472785, 0.05001906, -0.01256949, 0.07090488, -0.0888089, 0.24414414) * go_3(1.0, 1.0); + result += mat4(-0.10947188, 0.07678741, -0.03716733, 0.10074092, -0.09684673, 0.19135101, 0.06687582, -0.03416071, -0.02605864, 0.18258773, 0.029176971, 0.14626507, 0.16892125, 0.26836056, -0.16163802, 0.0044406173) * go_4(-1.0, -1.0); + result += mat4(0.07490834, -0.16595219, 0.06855593, -0.31601232, 0.2051958, 0.12370633, 0.053092375, -0.09280303, -0.041799355, -0.02180234, -0.0647632, 0.12765023, -0.02619668, 0.35134858, 0.025718898, -0.03524767) * go_4(-1.0, 0.0); + result += mat4(0.051487356, -0.10184706, -0.058444723, 0.23035292, -0.03384644, -0.02926101, 0.24579355, 0.11463481, 0.00077921426, 0.0036189032, -0.04137187, 0.039233316, -0.11595721, 0.012141703, -0.19241674, 0.18287377) * go_4(-1.0, 1.0); + result += mat4(-0.0331477, 0.11774921, 0.1500689, 0.21751022, -0.0391579, -0.026443282, -0.23405433, 0.10924835, 0.010694821, 0.46834385, -0.06344277, -0.027459502, 0.02805852, 0.063863516, -0.052119188, -0.010459627) * go_4(0.0, -1.0); + result += mat4(-0.19480526, -0.08907801, 0.13466452, -0.58980346, -0.18432151, 0.0025959515, -0.093561575, 0.21850146, -0.025087524, -0.112469815, 0.06425045, -0.017907271, 0.06015287, 0.23375069, 0.046780836, -0.124416254) * go_4(0.0, 0.0); + result += mat4(0.20069234, 0.073735476, -0.20799713, 0.11896709, -0.08604335, -0.030489137, -0.19158117, 0.07545736, 0.1417471, -0.2885722, -0.04138416, 0.16751918, -0.039241627, -0.29653955, 0.06402645, 0.08477943) * go_4(0.0, 1.0); + result += mat4(0.13838394, 0.17045505, 0.18386857, -0.06769848, 0.019191446, -0.10590481, 0.14499927, 0.005293376, -0.022189254, 0.45613396, 0.31436417, -0.23309496, 0.085356414, -0.12509619, -0.32398435, -0.06535322) * go_4(1.0, -1.0); + result += mat4(0.20557566, 0.23378044, 0.16096559, 0.3109223, -0.13988405, -0.056287576, 0.15235564, 0.14485452, 0.025657065, -0.19962808, 0.12487959, -0.53206867, 0.17598459, 0.0012244214, -0.09263318, -0.048799008) * go_4(1.0, 0.0); + result += mat4(0.031034216, -0.43335876, 0.15115865, -0.22912477, 0.039661117, -0.066167325, -0.0039048253, 0.108036794, -0.07157209, -0.42531285, -0.22807248, -0.070778824, -0.1216781, -0.20621637, 0.09195537, -0.0026917474) * go_4(1.0, 1.0); + result += mat4(0.11940706, -0.13485508, 0.026604721, -0.100989655, -0.14618637, 0.45079112, -0.111106694, 0.23393573, 0.21399105, 0.049563177, -0.10910516, -0.21594371, 0.030558927, -0.17320083, 0.012688248, 0.02913788) * go_5(-1.0, -1.0); + result += mat4(0.052507173, 0.13555464, 0.15568505, -0.13439007, 0.15468787, 0.20109199, 0.09981344, -0.022377115, 0.16711195, 0.1921043, -0.0457788, 0.11962697, 0.12201352, -0.15822104, 0.14560209, 0.11319004) * go_5(-1.0, 0.0); + result += mat4(-0.10677749, -0.037526496, 0.05529873, 0.0014219015, -0.07003492, 0.11616926, -0.2047762, 0.053331498, -0.029710975, 0.099788256, 0.016773999, -0.05440333, -0.07308938, -0.1613098, 0.11157061, -0.06163726) * go_5(-1.0, 1.0); + result += mat4(0.084668584, -0.024195379, 0.10567495, 0.018839711, 0.20675091, 0.064051956, 0.16356891, 0.0763972, 0.04519446, 0.04648411, -0.26651385, -0.32033405, 0.19019292, -0.03760131, 0.057477303, 0.039011493) * go_5(0.0, -1.0); + result += mat4(0.10785335, -0.005846821, 0.106043994, -0.029447608, -0.17944743, -0.055760577, -0.061553795, -0.0897441, 0.30305168, -0.07138199, -0.038286258, 0.31980807, 0.08745091, 0.08931471, 0.19994807, -0.19448686) * go_5(0.0, 0.0); + result += mat4(0.05872038, 0.019705178, -0.057756446, 0.032349724, 0.1162347, -0.1494079, 0.04883473, 0.06775521, 0.06246929, 0.18094592, 0.019297523, 0.22078563, -0.10864955, 0.024548724, -0.09518366, -0.049131762) * go_5(0.0, 1.0); + result += mat4(0.083531916, -0.22589867, 0.15678734, -0.15247858, 0.037808564, -0.3915128, 0.023039397, -0.11101649, -0.024950527, 0.15221989, 0.02177459, -0.0052792793, -0.006660954, 0.103587925, -0.069532864, -0.036814045) * go_5(1.0, -1.0); + result += mat4(0.042244066, 0.08479697, -0.057882927, 0.036821585, -0.12734346, -0.30277002, 0.17587237, 0.08462706, 0.03041879, -0.07751665, 0.41255432, -0.15170433, -0.094225794, 0.09409663, -0.03903985, -0.17728558) * go_5(1.0, 0.0); + result += mat4(-0.07648597, -0.021105368, -0.13569473, 0.11226781, 0.0024825619, 0.10949022, -0.033650707, -0.01084071, -0.27865705, -0.050442215, -0.026282378, 0.07449441, -0.033618845, 0.20228988, 0.10323669, -0.2785842) * go_5(1.0, 1.0); + result += vec4(0.07964101, -0.050712653, 0.11978818, 0.122745104); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!SAVE conv2d_1_tf2 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.043845546, -0.051818844, 0.15098971, -0.029770624, 0.105532385, -0.017158495, 0.007995025, 0.01310204, 0.046253394, 0.054963812, -0.07156648, -0.026536593, -0.034585387, -0.03867656, -0.026378985, -0.0503513) * go_0(-1.0, -1.0); + result += mat4(0.19067752, 0.077902906, 0.07043644, 0.093124524, -0.088099405, 0.05687826, 0.07339772, 0.25220734, -0.024105951, 0.047068372, -0.15396254, 0.0024811088, 0.05398644, 0.114431, 0.104937814, -0.084533244) * go_0(-1.0, 0.0); + result += mat4(-0.06216834, -0.09104735, 0.030077647, -0.109212935, -0.03391817, 0.14209917, 0.06807519, 0.086794056, 0.13323791, -0.16663639, 0.18892457, 0.18872325, 0.098952405, -0.009112314, 0.16958214, 0.14279945) * go_0(-1.0, 1.0); + result += mat4(-0.07209618, 0.10666213, 0.10406824, -0.10080884, -0.061229795, -0.070260175, 0.0544128, -0.16189453, -0.07493434, 0.25146472, -0.10089679, -0.16500695, -0.05206539, -0.10650778, 0.08510133, -0.12274426) * go_0(0.0, -1.0); + result += mat4(0.06154247, -0.2779647, -0.39013094, 0.19112335, 0.21914953, 0.174526, -0.2582261, 0.028989773, 0.12516306, 0.024158027, -0.06397669, -0.027443565, 0.01338054, 0.11226658, -0.18691953, 0.03941122) * go_0(0.0, 0.0); + result += mat4(0.06017567, 0.064941615, -0.16408192, 0.14018805, -0.022913788, -0.005578652, 0.056423694, -0.12357743, 0.053335212, -0.10533416, 0.0336598, 0.13383694, 0.13861552, 0.13800743, 0.048778858, 0.20749462) * go_0(0.0, 1.0); + result += mat4(-0.19730464, -0.07471736, -0.08532417, 0.22114716, -0.0655994, 0.014833043, 0.069433905, 0.0126395365, -0.115397535, 0.16183057, -0.0020461925, -0.08379374, 0.066027366, 0.046908997, -0.04298647, -0.039427415) * go_0(1.0, -1.0); + result += mat4(-0.40682083, -0.051349834, -0.058064308, -0.59165514, 0.07769667, -0.0061552664, 0.09866719, 0.09064238, -0.10091702, -0.08237763, -0.0896345, -0.06889367, 0.029332574, -0.067278475, 0.032268777, 0.08217916) * go_0(1.0, 0.0); + result += mat4(-0.16198236, 0.14663215, -0.19844484, 0.12605388, 0.11090156, 0.017791988, -0.058779463, 0.041371945, -0.22293547, -0.015482557, 0.2293464, 0.094193965, -0.26855227, -0.21347573, -0.09075141, -0.13876276) * go_0(1.0, 1.0); + result += mat4(-0.06498589, 0.100892216, -0.13253035, 0.15685925, 0.16823533, 0.16493973, 0.07777784, -0.07706127, 0.050116807, -0.01523585, -0.01661001, 0.020355182, 0.103539385, -0.17436443, 0.15487072, -0.037921157) * go_1(-1.0, -1.0); + result += mat4(0.03836789, -0.15199225, 0.11784638, -0.04646745, 0.044564333, 0.22369106, 0.14419034, -0.010723647, -0.0027908115, -0.15769437, 0.14674728, 0.21630915, -0.15577918, 0.083906, -0.076731354, 0.09644861) * go_1(-1.0, 0.0); + result += mat4(0.057972, -0.085704334, -0.044770416, -0.08455327, -0.096369885, 0.17715664, 0.0931527, 0.08611585, 0.082069114, -0.21235153, 0.056143392, -0.09681458, -0.15192977, -0.11773526, 0.085406475, -0.054963436) * go_1(-1.0, 1.0); + result += mat4(0.04377759, 0.14948493, 0.14370604, 0.121995315, -0.034767535, -0.19136979, 0.20502615, -0.19230005, -0.010331832, 0.24712276, 0.08443175, -0.02108672, -0.05402554, -0.073491514, -0.01772348, -0.04717817) * go_1(0.0, -1.0); + result += mat4(-0.0859936, 0.12129631, 0.4917177, 0.014785702, -0.017697783, 0.20519169, 0.193045, -0.32276052, 0.052729923, 0.20259547, -0.23248449, 0.027868863, 0.06924204, -0.0680142, -0.1510381, -0.0858641) * go_1(0.0, 0.0); + result += mat4(0.0042993063, -0.001888591, -0.19050622, -0.1974649, 0.0028959673, -0.056935344, -0.15306468, -0.037034288, -0.005013645, -0.49978206, -0.2860419, -0.24230668, -0.21625051, 0.124884024, -0.018598353, 0.018011522) * go_1(0.0, 1.0); + result += mat4(-0.00059534056, 0.09819056, -0.10073479, -0.0036862926, 0.018240096, -0.068672635, -0.040024363, -0.002400606, 0.12492032, 0.6830032, -0.103963815, -0.20350884, -0.0731358, 0.122847795, -0.04129241, 0.027231846) * go_1(1.0, -1.0); + result += mat4(0.14632931, 0.056954373, 0.10602974, 0.06899008, 0.028749242, 0.16360262, -0.2776957, -0.13795078, 0.2955775, 0.07387963, 0.18735075, 0.37977517, -0.0032196203, -0.0368105, 0.0007467509, -0.048191283) * go_1(1.0, 0.0); + result += mat4(-0.08740623, -0.14123341, -0.16725405, -0.035077587, 0.16800366, 0.10287269, -0.02063956, -0.02751512, -0.22882652, -0.19836405, -0.07881451, -0.036120445, -0.03052641, -0.19137034, 0.02006256, -0.0003630293) * go_1(1.0, 1.0); + result += mat4(0.21042292, 0.07082529, 0.10551431, -0.17735177, 0.1211633, -0.07301316, 0.08914643, 0.027641036, 0.0716893, 0.009513582, 0.06489754, -0.11262447, -0.006487075, 0.042482372, 0.040942963, 0.026485842) * go_2(-1.0, -1.0); + result += mat4(0.07677389, 0.017061912, 0.080698825, -0.02926673, 0.030129844, 0.08797221, -0.042393677, 0.040378265, 0.14051779, -0.01150974, -0.09838748, -0.084651664, 0.13157506, 0.15760668, 0.13706487, 0.017946318) * go_2(-1.0, 0.0); + result += mat4(0.21381795, 0.108781934, 0.12417435, 0.04925163, 0.05298279, -0.1352583, 0.085234426, -0.03526282, -0.024876006, 0.0025064421, 0.07016869, 0.084552824, 0.064173326, -0.05621783, 0.0711457, -0.025467668) * go_2(-1.0, 1.0); + result += mat4(-0.05810587, 0.0134641845, -0.038737856, 0.07663204, 0.121298246, -0.13257936, 0.004325269, -0.036193457, -0.29106387, -0.106322676, -0.23442906, 0.2862568, -0.18702938, 0.0030504123, -0.037212595, -0.2611213) * go_2(0.0, -1.0); + result += mat4(0.024120133, 0.07321953, 0.038489927, -0.04196367, -0.07796083, 0.33956012, -0.13922311, -0.05377065, -0.070829384, -0.10083194, 0.239536, -0.05901714, 0.26581895, -0.3095538, -0.2922295, 0.052582845) * go_2(0.0, 0.0); + result += mat4(0.02742305, -0.018496662, -0.094728574, 0.06404221, -0.041348618, -0.25715774, -0.1643205, 0.13505833, 0.043563902, -0.12633435, -0.101704225, -0.06851076, -0.10801949, -0.07229803, -0.042177804, 0.15722917) * go_2(0.0, 1.0); + result += mat4(-0.1890737, 0.086372465, 0.19611897, 0.11635388, -0.27176055, 0.113715895, -0.090014786, 0.028875142, -0.054593917, 0.030705186, 0.1435633, 0.061870232, -0.11143878, 0.09881344, 0.097813986, -0.21929547) * go_2(1.0, -1.0); + result += mat4(0.04700684, 0.042240005, -0.27370077, -0.10867852, -0.06256984, -0.08165931, 0.14414817, -0.046392858, 0.06402001, -0.18298607, -0.20697436, -0.035047896, 0.104348354, 0.21140936, 0.08119135, 0.11215284) * go_2(1.0, 0.0); + result += mat4(-0.15503405, -0.0058879172, 0.06903078, 0.10739542, -0.047215104, 0.05061763, -0.1265464, -0.13796777, 0.050830897, -0.06356833, 0.10470089, 0.061785046, -0.054734606, 0.069204785, 0.22219127, 0.14431196) * go_2(1.0, 1.0); + result += mat4(0.0035822908, -0.041718304, -0.06449883, 0.107891634, 0.11240286, 0.2773934, 0.018296933, 0.17229447, -0.038918763, -0.015615794, 0.013606009, -0.15145436, -0.038385842, -0.075797774, 0.074630134, -0.115841195) * go_3(-1.0, -1.0); + result += mat4(-0.35196853, -0.055269916, -0.10619746, 0.036240876, 0.027898792, 0.16981332, -0.08743389, -0.11659183, 0.21521945, 0.14624144, 0.3709361, 0.35440952, 0.05083335, -0.027957644, -0.14189775, 0.041765563) * go_3(-1.0, 0.0); + result += mat4(-0.012040415, 0.03733818, 0.0028794291, 0.085560195, -0.003578092, -2.0037096e-05, 0.018441873, -0.048575614, 0.16403939, 0.26586646, -0.23535033, -0.195904, 0.09343384, 0.16844647, 0.090654954, 0.20447001) * go_3(-1.0, 1.0); + result += mat4(-0.039211, 0.023288574, -0.11278111, 0.24733941, 0.030935412, 0.028505033, -0.054287612, 0.1626191, -0.013604053, -0.40332177, -0.12607175, 0.062430628, 0.020255104, -0.034459837, -0.02045024, 0.13066867) * go_3(0.0, -1.0); + result += mat4(-0.109611966, 0.036982346, 0.24648234, -0.10601368, -0.046704277, 0.09159354, -0.051051375, 0.27708438, -0.27565628, 0.3181145, 0.0352402, 0.11326822, 0.08464163, 0.0037447016, -0.11625815, -0.27881616) * go_3(0.0, 0.0); + result += mat4(-0.17009212, -0.14643735, 0.05730069, -0.19120802, 0.06845526, 0.10674906, -0.28353846, -0.12647904, 0.015396511, 0.097950876, 0.009746547, 0.031028407, -0.05640266, -0.04813061, 0.1215167, 0.013483247) * go_3(0.0, 1.0); + result += mat4(-0.015532973, 0.06836607, -0.15256128, 0.016466603, 0.22348233, 0.13754332, -0.032162182, 0.33556822, 0.17382346, -0.2763521, 0.060414087, 0.0027655934, 0.031628147, 0.08716705, 0.015910214, 0.0672223) * go_3(1.0, -1.0); + result += mat4(0.4342632, -0.067446776, -0.36212516, 0.027729288, 0.18695018, -0.026150677, -0.048804305, 0.03894249, 0.08076834, -0.024184678, -0.039985072, 0.019538054, -0.12608467, -0.114978395, 0.08024422, -0.009467871) * go_3(1.0, 0.0); + result += mat4(-0.12950122, -0.04900754, 0.007479547, 0.005553716, -0.011067856, 0.15695909, 0.15179226, 0.13305564, 0.109665506, -0.071129486, -0.29301268, -0.19721518, -0.014072068, 0.110164836, -0.10445084, -0.07427861) * go_3(1.0, 1.0); + result += mat4(0.056494176, 0.10441701, 0.1473454, -0.10962488, -0.024387872, -0.10661404, 0.023665238, -0.014857965, -0.11904774, 0.028333792, -0.018734593, 0.041431252, -0.051380955, 0.08761405, 0.025005583, 0.27504325) * go_4(-1.0, -1.0); + result += mat4(0.12111209, 0.09115707, -0.12130387, 0.037170578, 0.17773823, 0.11543872, -0.0981619, -0.009393771, -0.072751574, 0.12490967, -0.050705448, -0.21641576, -0.0032860835, -0.017348124, -0.039524093, -0.22634275) * go_4(-1.0, 0.0); + result += mat4(-0.026149368, -0.0345828, 0.024678709, 0.073074006, 0.075326554, 0.07688483, -0.06151585, -0.0006315397, -0.11916223, 0.09640916, -0.03452899, 0.0711575, 0.10298667, 0.14983572, -0.029672628, 0.060187414) * go_4(-1.0, 1.0); + result += mat4(0.061185572, 0.025581252, 0.05371412, -0.30638546, 0.064506106, 0.22312112, -0.12822428, 0.050079864, 0.007665535, -0.270618, -0.1205649, 0.066014335, -0.10095298, 0.14537272, 0.07578119, -0.102102645) * go_4(0.0, -1.0); + result += mat4(0.24163178, -0.14042771, -0.28968832, 0.32306322, -0.08210339, -0.089168124, -0.029958146, 0.23500884, -0.045208763, -0.076190665, -0.048189905, -0.062144633, -0.2209541, -0.118137404, -0.10013809, -0.2633339) * go_4(0.0, 0.0); + result += mat4(-0.043336965, -0.14818442, 0.3353549, 0.37338758, -0.097953044, 0.08346902, 0.2809552, -0.15042788, 0.052860767, 0.3296333, 0.1520426, 0.013095576, 0.06748028, -0.18191148, 0.1262768, 0.1454165) * go_4(0.0, 1.0); + result += mat4(0.020386793, -0.05559494, 0.0923228, -0.101281434, 0.07294861, -0.013454893, 0.14446425, -0.18820941, 0.03512501, -0.3100584, 0.07824563, 0.039452225, -0.31067702, -0.0059947846, -0.022850258, -0.03394584) * go_4(1.0, -1.0); + result += mat4(-0.2551513, 0.07006202, 0.10514115, -0.07164224, -0.15870212, 0.058055036, 0.05213708, -0.14221531, 0.18606052, 0.121992745, 0.005545236, 0.20166458, -0.51196563, 0.13145791, -0.07664502, -0.102140725) * go_4(1.0, 0.0); + result += mat4(0.013922251, -0.055376403, 0.32802138, 0.13208407, 0.013657613, 0.10752059, 0.036252435, 0.1592283, 0.013641419, 0.09172557, -0.047022454, -0.06487285, -0.010537236, 0.043602772, -0.018355483, 0.061706495) * go_4(1.0, 1.0); + result += mat4(0.034295138, 0.0290897, -0.055937063, 0.030905105, -0.049568217, 0.23283507, -0.09925937, 0.06541922, -0.19225466, -0.37406424, -0.0044630794, 0.12548251, -0.003204782, -0.033718586, -0.12822233, -0.06512161) * go_5(-1.0, -1.0); + result += mat4(0.04231634, 0.033866994, -0.060438603, 0.053806484, -0.043768402, -0.09377961, 0.053774644, -0.05314562, 0.08742594, -0.3595988, 0.05714237, -0.026023258, -0.14470316, -0.17429292, -0.05919939, -0.05714775) * go_5(-1.0, 0.0); + result += mat4(-0.035541177, -0.15197758, -0.03248727, 0.055882126, 0.03910343, 0.14273937, -0.16545315, -0.019183658, 0.067014545, -0.010861471, -0.23015557, -0.3174752, -0.0895981, 0.05603517, -0.10421314, 0.03543782) * go_5(-1.0, 1.0); + result += mat4(0.052712325, 0.15568605, 0.13511989, -0.035405457, 0.09660214, 0.0010066679, 0.0041616405, 0.3261607, -0.07167953, -0.3432988, 0.37812582, 0.08591545, 0.17927478, -0.08654189, 0.076707125, 0.14279753) * go_5(0.0, -1.0); + result += mat4(-0.056844193, 0.16529651, -0.06650483, -0.08292316, -0.02760633, -0.22888668, -0.19214903, -0.08840017, -0.23843671, -0.6793711, -0.33102167, 0.0064898706, -0.29774654, 0.37099698, 0.42785385, 0.025804019) * go_5(0.0, 0.0); + result += mat4(-0.11744241, -0.057497155, 0.18884729, 0.024753813, -0.0062507484, 0.33419883, 0.120441675, -0.25218838, -0.042276263, 0.08504629, -0.033582047, 0.07008096, -0.058578875, 0.0392345, 0.11335631, -0.15865934) * go_5(0.0, 1.0); + result += mat4(-0.04641351, -0.0370654, -0.08322972, -0.11589779, 0.09985797, -0.0747252, 0.0050210473, -0.0737313, 0.34289247, -0.08783692, 0.13673791, 0.05667411, 0.058139045, -0.17664829, -0.16574872, 0.020792067) * go_5(1.0, -1.0); + result += mat4(-0.17315285, 0.061304655, 0.23295666, 0.004587563, 0.025884068, -0.20429865, -0.17807725, 0.04610146, -0.16748384, 0.03548062, 0.36901402, 0.040421892, 0.0732819, -0.06323222, 0.17438933, 0.10541013) * go_5(1.0, 0.0); + result += mat4(0.11953197, -0.041181084, -0.05777039, -0.0713763, -0.07250408, 0.00030710385, -0.12310962, 0.05047857, 0.07764678, 0.048569802, -0.07179031, -0.13407484, 0.18644087, -0.08796725, 0.09215986, 0.03264275) * go_5(1.0, 1.0); + result += vec4(0.08639024, -0.11024204, -0.0076959864, 0.053946566); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_1_tf2 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.2369839, -0.0792359, -0.12919348, 0.002247716, 0.04581234, 0.119436085, -0.039395507, -0.035233624, -0.031238249, 0.068567455, 0.021003028, -0.07353918, -0.12103854, -0.21112324, -0.0063801156, -0.04487009) * go_0(-1.0, -1.0); + result += mat4(0.0683294, 0.062320776, -0.024078269, 0.08904798, 0.026528858, -0.041699078, -0.07854327, -0.14078824, 0.060052495, -0.12898798, -0.010206991, -0.10815312, -0.07348112, -0.09190296, 0.16384035, 0.11615318) * go_0(-1.0, 0.0); + result += mat4(0.073954284, 0.11315491, -0.08271167, 0.012718058, -0.079351336, -0.12847738, 0.16898601, 0.057100534, -0.007783043, -0.046511702, -0.031176837, 0.09832856, 0.04629018, -0.11481637, 0.27974957, -0.008512578) * go_0(-1.0, 1.0); + result += mat4(-0.11174049, -0.06978879, -0.0026527392, 0.09206777, -0.052967362, 0.04242691, -0.028125865, -0.006913773, -0.105203055, 0.012300771, 0.073976465, 0.0597795, 0.12224533, -0.15938343, -0.04735274, -0.13670483) * go_0(0.0, -1.0); + result += mat4(0.069210574, -0.18154296, -0.179752, 0.030308926, 0.21821375, -0.17105243, 0.002948972, 0.1510472, -0.07507222, 0.05799302, 0.22358851, -0.1593742, -0.14097035, -0.14883585, -0.10766054, -0.04192339) * go_0(0.0, 0.0); + result += mat4(0.04092946, -0.056620143, -0.08841022, 0.0820261, 0.12114886, -0.046587184, -0.24642876, 0.20291825, -0.021399742, 0.075130075, 0.08025963, -0.0004831952, -0.20216052, 0.063063756, -0.14950794, -0.016591785) * go_0(0.0, 1.0); + result += mat4(0.001037612, -0.12479094, -0.064145386, 0.03701432, -0.09794906, -0.02047066, -0.0064438935, 0.054445606, 0.017312052, -0.010994496, -0.043534316, -0.03507283, -0.2881326, 0.056422662, 0.45392624, -0.14301568) * go_0(1.0, -1.0); + result += mat4(0.02659516, -0.12523884, -0.045878954, 0.0401728, -0.026269691, 0.23919468, -0.05373766, 0.22576872, 0.15472023, -0.06473123, -0.16314703, -0.007313837, 0.06282956, -0.12448595, 0.32412103, -0.1669555) * go_0(1.0, 0.0); + result += mat4(0.10851828, -0.0019357264, -0.042929318, 0.087208286, 0.08521072, -0.015302626, -0.045136105, -0.07599174, -0.020620871, -0.08058013, 0.04687409, 0.07679515, 0.02748689, -0.04049585, 0.031744577, -0.08941878) * go_0(1.0, 1.0); + result += mat4(-0.053986546, 0.2688435, -0.057546657, -0.11350552, -0.081904754, -0.09276461, -0.13561548, -0.11588968, 0.04355686, -0.29325503, -0.018699612, -0.06769227, -0.015948739, 0.04491891, -0.046178948, 0.02711675) * go_1(-1.0, -1.0); + result += mat4(-0.18972659, 0.27545497, -0.034131754, -0.09609413, 0.068409085, 0.13449967, -0.13105616, 0.028345212, -0.035266094, -0.065575354, -0.031779382, -0.14933869, 0.05228527, 0.09356076, -0.047118377, -0.020071832) * go_1(-1.0, 0.0); + result += mat4(-0.17382587, 0.15029867, -0.00600536, -0.035180923, 0.025643297, 0.010418448, 0.14726849, -0.05890341, -0.053652834, 0.048409678, 0.2806725, -0.08192519, -0.06738357, 0.07469718, 0.06771393, -0.042583536) * go_1(-1.0, 1.0); + result += mat4(0.011517158, 0.09972045, 0.06578792, -0.12352661, 0.05922438, -0.16663863, -0.006771989, -0.038835894, -0.02194692, -0.13857606, 0.023138417, -0.05360372, 0.014272163, 0.08904743, -0.04252727, 0.103002235) * go_1(0.0, -1.0); + result += mat4(-0.008667266, 0.19219917, -0.07475974, -0.2816411, -0.33488217, 0.039849013, 0.017313587, 0.08000436, 0.15055846, 0.015432909, 0.32798117, 0.009342251, -0.23739037, -0.28346112, -0.030122897, -0.18473577) * go_1(0.0, 0.0); + result += mat4(0.22614895, 0.13032585, -0.2176673, -0.3387019, 0.019557813, 0.17496689, 0.030887462, 0.17172079, -0.10533174, 0.0032622286, -0.13369057, -0.039323095, -0.0008841287, 0.121519946, 0.067216426, 0.03257707) * go_1(0.0, 1.0); + result += mat4(-0.0429636, 0.13093638, 0.12012435, -0.034646116, 0.0488735, 0.08784733, 0.03349143, -0.09357028, -0.06089799, 0.022837836, 0.16202758, 0.096765295, 0.009665008, -0.10780318, -0.07340907, 0.018662468) * go_1(1.0, -1.0); + result += mat4(0.0484555, 0.05852715, -0.11502228, -0.2250242, 0.00487918, -0.018516708, -0.024522817, -0.09146677, 0.0006642944, 0.17241697, 0.38606182, -0.23263825, 0.110663734, 0.11034593, -0.0056327246, 0.051475164) * go_1(1.0, 0.0); + result += mat4(-0.014929107, 0.09463201, 0.009869103, -0.17499818, 0.028962199, 0.23815866, 0.060768303, 0.13828199, 0.12261715, 0.096965745, -0.024608571, -0.24542965, 0.025484774, -0.0014874635, -0.009807938, 0.0007101552) * go_1(1.0, 1.0); + result += mat4(-0.101674154, 0.032412667, -0.10450873, -0.00022480187, 0.024635756, -0.1357198, -0.05327909, -0.036563605, 0.07561588, 0.009124707, -0.13368087, 0.042969264, -0.043317486, -0.1518712, -0.008810181, 0.030755859) * go_2(-1.0, -1.0); + result += mat4(0.1406038, 0.036187246, -0.06288465, 0.013666562, -0.22509198, 0.054938264, 0.03374708, 0.036942195, -0.054834712, 0.08038173, -0.012174669, -0.05048155, 0.04105839, -0.13010618, 0.029987235, 0.029830217) * go_2(-1.0, 0.0); + result += mat4(0.13428736, -0.145587, -0.09359362, 0.08647307, -0.1721466, 0.14161868, 0.06169795, -0.020108147, -0.082708314, -0.0009893128, 0.061197698, 0.015552345, 0.19280085, 0.045152925, -0.13817257, 0.08140578) * go_2(-1.0, 1.0); + result += mat4(0.11750963, 0.0146443285, -0.026884248, -0.0006429066, -0.008400631, -0.043018907, -0.07913679, -0.14783737, -0.032443974, -0.08028971, -0.08927282, 0.00809941, 0.0124223465, 0.041715536, -0.06587267, 0.13605455) * go_2(0.0, -1.0); + result += mat4(0.29818505, 0.20918716, -0.13256323, 0.23988591, -0.38704476, -0.05851411, -0.004705456, 0.10221165, -0.08329328, 0.12643409, -0.23133238, 0.036488805, 0.21748522, -0.095220506, -0.012000105, -0.0032247186) * go_2(0.0, 0.0); + result += mat4(-0.119828835, -0.016386732, 0.06939514, 0.08491721, -0.017447483, -0.10812376, -0.015384033, -0.0137153845, -0.14978316, 0.032878425, 0.120704606, 0.07987688, 0.10143365, 0.16894275, -0.09816831, -0.029983638) * go_2(0.0, 1.0); + result += mat4(0.004197231, -0.004475635, 0.02442438, -0.08062267, -0.13645843, -0.063362874, -0.13470308, -4.8972346e-05, 0.04937739, 0.025885701, -0.0626489, 0.06272147, 0.040682197, -0.037275683, -0.07711889, -0.03401893) * go_2(1.0, -1.0); + result += mat4(-0.07601782, -0.044119228, 0.12799697, -0.04923261, -0.07554412, -0.13866402, -0.039769165, 0.0750738, 0.028331043, 0.22329865, -0.078985184, 0.21741354, 0.08896384, 0.02745735, -0.11954973, -0.030984413) * go_2(1.0, 0.0); + result += mat4(0.088372685, -0.04094657, 0.030890986, 0.011887401, 0.101060346, 0.036795005, -0.02541599, 0.11929074, 0.0042294776, -0.09067195, -0.13775113, 0.051152255, -0.011856665, -0.01186073, -0.014405341, -0.06443953) * go_2(1.0, 1.0); + result += mat4(0.1990754, -0.13920973, -0.24694741, 0.20978624, 0.00096705626, -0.09906306, -0.031113537, 0.09064841, -0.005332781, 0.06942478, 0.027275847, 0.14482562, 0.10915609, 0.15485178, 0.09100627, 0.08800073) * go_3(-1.0, -1.0); + result += mat4(0.067276604, -0.15296488, -0.10655601, 0.1007172, 0.06399946, 0.11820019, -0.012255674, -0.04701397, 0.005157013, 0.14800015, -0.005829729, 0.058462787, -0.0034304103, -0.0022002284, 0.088455915, -0.09076621) * go_3(-1.0, 0.0); + result += mat4(-0.0045863236, -0.13443832, -0.02036122, 0.067712225, -0.09286585, 0.15505461, -0.03191861, 0.062198598, -0.014097363, -0.06486533, -0.013725968, 0.09863627, 0.004106804, -0.11001409, -0.1489799, 0.012900801) * go_3(-1.0, 1.0); + result += mat4(0.11722181, 0.024655748, 0.028080126, 0.034889475, -0.02211666, 0.10347594, 0.19828199, -0.052708372, -0.23978107, 0.11193546, 0.015817301, -0.060378563, 0.05506628, 0.017437497, 0.17592382, 0.1566574) * go_3(0.0, -1.0); + result += mat4(0.011318326, -0.19983633, 0.0542877, -0.08868874, 0.059281945, -0.08321469, -0.45549735, 0.41699305, 0.18566287, -0.22530322, -0.08444872, -0.04485004, -0.13312897, 0.025137378, 0.4283649, -0.22263475) * go_3(0.0, 0.0); + result += mat4(0.10148392, 0.12450337, -0.032773893, 0.03742288, 0.0059106606, -0.17406113, -0.083701774, -0.010221676, 0.16314605, -0.22251254, -0.13263722, 0.09496533, -0.0020611945, 0.10998006, 0.23540293, 0.12287761) * go_3(0.0, 1.0); + result += mat4(-0.01097223, 0.043488838, 0.028565591, 0.057649106, 0.04069052, -0.015125962, -0.033889383, -0.039301567, -0.28547964, 0.16771436, 0.064779356, 0.17768629, 0.0977948, -0.12978803, 0.1248975, 0.076509014) * go_3(1.0, -1.0); + result += mat4(-0.014799843, -0.11454738, 0.0072981194, 0.06956252, -0.119126685, -0.054390237, 0.20148608, 0.055611208, -0.33772695, 0.02875631, 0.15688069, 0.07648471, 0.17330919, -0.10749096, -0.00058184325, -0.16302843) * go_3(1.0, 0.0); + result += mat4(0.025022479, -0.0510169, -0.054967374, -0.18119891, 0.072380155, 0.13645615, -0.029061519, -0.09392558, 0.0020073708, 0.10373002, 0.08769151, 0.1467629, -0.032814845, -0.22622965, 0.062578805, 0.15869768) * go_3(1.0, 1.0); + result += mat4(0.08132352, -0.057824034, -0.049706902, -0.021799462, 0.027207939, 0.055137623, 0.13588108, -0.06595749, -0.10212913, 0.03328737, 0.07568671, 0.04425169, -0.056393128, 0.08096936, 0.049417946, -0.03110039) * go_4(-1.0, -1.0); + result += mat4(0.16936453, -0.03750322, -0.041140877, -0.08652042, -0.029363338, -0.07450129, 0.102560416, -0.23950958, -0.13059175, 0.21066219, 0.10126263, 0.043688625, 0.12293311, -0.02102107, -0.01415126, -0.08114574) * go_4(-1.0, 0.0); + result += mat4(0.13357115, 0.25130415, -0.008012242, -0.022129368, -0.04116201, 0.19364384, -0.0755634, -0.021590892, 0.014902855, -0.16364469, -0.15113516, 0.021274269, 0.002715793, -0.082595, -0.023225293, -0.0023291293) * go_4(-1.0, 1.0); + result += mat4(-0.047352426, 0.047768887, -0.027633572, -0.048747484, 0.002366812, 0.2123351, -0.03785716, -0.06169537, 0.05152527, -0.097918324, -0.09970387, -0.10696893, 0.14201112, 0.048251197, 0.020989964, -0.12759319) * go_4(0.0, -1.0); + result += mat4(-0.11691897, 0.11003735, 0.1787839, 0.035897207, -0.068546794, 0.18663177, -0.11768889, 0.0046620993, -0.076647416, -0.008958245, 0.055827506, -0.095377706, 0.051213227, -0.2821711, 0.013320494, 0.1563779) * go_4(0.0, 0.0); + result += mat4(-0.08324576, 0.3131121, 0.21894962, 0.013974257, -0.05526049, 0.032233212, 0.05284564, -0.2475858, 0.13031252, -0.08124232, -0.010205146, -0.057937223, 0.11874465, -0.013862318, 0.0052336063, 0.04949605) * go_4(0.0, 1.0); + result += mat4(0.14994349, -0.03296414, -0.23602034, -0.0033256228, 0.008873702, -0.010388283, -0.035780232, 0.011833461, 0.117081955, -0.038984414, 0.074017905, 0.033703547, -0.024258457, 0.09559132, 0.02495569, -0.040010694) * go_4(1.0, -1.0); + result += mat4(-0.0048430585, 0.17926253, 0.008713498, 0.10879202, 0.019645652, 0.029483858, -0.047485687, -0.042396937, -0.029273199, -0.2432983, -0.1250007, -0.024952445, -0.060036886, 0.014986906, -0.014428253, 0.03334825) * go_4(1.0, 0.0); + result += mat4(0.11731086, 0.20593153, -0.10197385, -0.011249018, -0.10738923, -0.074847564, -0.006172099, -0.18687822, -0.097578146, -0.07579803, 0.05764291, 0.10152833, -0.14840044, 0.035003513, 0.023365693, 0.04386252) * go_4(1.0, 1.0); + result += mat4(0.2394935, -0.151495, -0.004142306, -0.084381334, -0.06817076, 0.04995128, 0.07523575, -0.019087847, 0.04900443, 0.03855287, -0.047666, -0.010728584, -0.041862275, 0.0092430115, 0.18933049, 0.001247498) * go_5(-1.0, -1.0); + result += mat4(-0.26478, -0.108964734, 0.07654512, -0.18083075, 0.087697916, -0.1985272, 0.12003646, 0.088157, -0.11911801, 0.10562385, 0.08664133, 0.04456427, -0.105021, 0.18528733, 0.034151975, -0.15520982) * go_5(-1.0, 0.0); + result += mat4(0.017519012, -0.012286436, 0.10177459, 0.038459957, -0.22457904, -0.05511256, 0.15413229, 0.1507701, 0.08257404, 0.034750186, -0.15717988, -0.030795097, -0.07657355, -0.33403704, -0.0053621423, -0.06624692) * go_5(-1.0, 1.0); + result += mat4(0.10030682, -0.052044563, -0.049402863, 0.09053447, -0.13081445, 0.0141896, 0.042153686, -0.010219266, -0.06850381, 0.03529716, 0.16374019, 0.06750858, 0.09204821, 0.053093266, -0.024561154, 0.018893644) * go_5(0.0, -1.0); + result += mat4(-0.21870598, 0.32735768, -0.037454635, -0.062546894, 0.048824597, 0.006229873, 0.0879531, 0.0010694796, 0.1268415, -0.3329151, 0.18059574, 0.027663317, 0.06451952, 0.2059446, -0.14739716, 0.0425968) * go_5(0.0, 0.0); + result += mat4(-0.02567249, 0.18261379, 0.0078112325, 0.13831526, 0.022516627, 0.18176961, 0.022643182, 0.06482983, 0.32458714, 0.1415256, -0.40462464, -0.24058491, -0.1555331, -0.058481682, 0.08041805, 0.068204984) * go_5(0.0, 1.0); + result += mat4(0.08099861, -0.042113766, -0.012603856, -0.027247382, -0.09505534, 0.013861726, 0.16544205, -0.034136306, 0.013128467, 0.022156378, 0.021391893, -0.087280534, -0.18957394, -0.072840415, 0.1942784, -0.04479766) * go_5(1.0, -1.0); + result += mat4(0.13244309, 0.23072438, -0.10388544, 0.055465538, -0.06797261, 0.0813476, 0.03605633, -0.002648387, 0.04333517, 0.1233629, 0.004186724, -0.068296656, -0.076496966, -0.13608767, 0.13116132, -0.067895085) * go_5(1.0, 0.0); + result += mat4(-0.05193536, -0.057465453, 0.05165806, -0.092361026, -0.21779, -0.08789043, 0.056987524, -0.06524499, 0.02767333, 0.19836798, 0.104195744, -0.091015235, -0.10806183, -0.24305776, 0.12348048, 0.17889297) * go_5(1.0, 1.0); + result += vec4(0.0026275632, -0.111531265, -0.027438803, 0.048715387); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_1_tf2 +//!SAVE conv2d_2_tf1 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.0007129529, -0.23268181, -0.055581614, -0.19489531, -0.119524784, 0.16052821, 0.08242202, 0.1274113, 0.06528547, 0.11359341, -0.13980822, -0.04566708, -0.03624654, -0.08533644, -0.14554873, -0.14973463) * go_0(-1.0, -1.0); + result += mat4(-0.010712782, 0.09223229, -0.06977767, 0.031998634, 0.2417462, -0.08404255, -0.067694396, -0.031915385, -0.08493046, -0.12639172, -0.12919787, 0.009066012, 0.027782273, -0.2951646, -0.1300083, -0.0673188) * go_0(-1.0, 0.0); + result += mat4(0.1325964, -0.051963683, 0.13291354, 0.02579481, -0.103561625, -0.041789595, 0.040783167, 0.047240548, -0.06668069, 0.020328876, 0.08887853, -0.02963949, -0.11168412, 0.1557154, -0.076105356, -0.1504038) * go_0(-1.0, 1.0); + result += mat4(-0.10317256, 0.07854648, 0.16037096, -0.0379184, 0.13046049, -0.024218671, 0.0822899, 0.08198137, 0.0012042717, -0.25853133, 0.046963938, -0.009453239, 0.09634527, -0.009770066, -0.12853295, -0.041695565) * go_0(0.0, -1.0); + result += mat4(0.11125126, 0.09055589, 0.014031054, -0.02255056, -0.10394986, 0.10815357, -0.15813628, -0.01853368, 0.012419031, 0.0020822953, -0.010447686, -0.026241936, -0.03541712, 0.076329805, 0.20895265, 0.003645337) * go_0(0.0, 0.0); + result += mat4(-0.12773241, -0.09765568, -0.14337096, -0.065751396, -0.0084745465, -0.052546956, -0.08200752, -0.08708897, -0.032195702, -0.036496297, 0.17860867, -0.068227254, 0.13200605, -0.13811241, -0.050324995, 0.16204447) * go_0(0.0, 1.0); + result += mat4(-0.014216644, 0.057588127, -0.044320818, 0.062128264, -0.020399947, -0.05649115, -0.11319402, -0.038921937, 0.036813796, 0.5067311, 0.22060235, -0.0055661057, 0.23151882, 0.0050073536, 0.12176585, 0.0038464004) * go_0(1.0, -1.0); + result += mat4(-0.0759528, 0.07477981, -0.06292785, -0.050053917, -0.06312128, -0.21425541, 0.0067035304, -0.06986801, 0.10586866, -0.12749328, -0.097493485, -0.003508852, 0.111684315, 0.18951331, -0.012068376, 0.036257178) * go_0(1.0, 0.0); + result += mat4(-0.15544677, 0.047360703, -0.059747778, 0.0026973744, -0.00072011014, 0.15553303, 0.10704341, -0.02808549, -0.09962682, -0.044461366, -0.014757942, -0.06257519, 0.13504705, 0.030818086, -0.047969542, -0.12272446) * go_0(1.0, 1.0); + result += mat4(0.02756638, 0.03870099, -0.078585416, -0.049957782, -0.16714093, -0.020673685, -0.0029932198, 0.08303188, 0.09362902, -0.32569888, -0.02152779, -0.039258134, -0.0024254394, -0.05215952, 0.103006296, -0.05561939) * go_1(-1.0, -1.0); + result += mat4(0.11232395, -0.4204378, -0.02948307, 0.058709357, 0.10122942, -0.01815637, 0.029027436, 0.045725007, -0.0019202912, -0.20451765, -0.06804741, -0.018427953, 0.026046682, -0.02693389, -0.1603317, -0.11198625) * go_1(-1.0, 0.0); + result += mat4(0.24319492, 0.114851095, -0.13692874, 0.07721465, 0.020316923, -0.08134961, 0.07356765, -0.054053787, -0.01942671, 0.22095704, 0.00965335, 0.018760502, 0.015964821, 0.086102456, 0.01024545, 0.043060217) * go_1(-1.0, 1.0); + result += mat4(0.3332833, -0.03617076, -0.06354161, 0.095067084, 0.20085002, -0.07980238, 0.042980768, 0.016795967, -0.09440837, -0.18057466, -0.062128007, -0.22770254, 0.03636945, 0.0749142, 0.0034359195, -0.024630694) * go_1(0.0, -1.0); + result += mat4(0.18430449, -0.036511928, -0.053284973, 0.023835842, 0.23871118, 0.05792267, -0.0846795, -0.20196451, 0.03506874, 0.22829485, -0.28377455, -0.11413547, -0.10833865, 0.09104711, -0.13071612, 0.17202353) * go_1(0.0, 0.0); + result += mat4(0.19165954, 0.22479524, -0.19884257, 0.08072162, -0.07574742, 0.13766298, -0.25755826, 0.084687516, -0.080061525, 0.25205615, -0.12677447, 0.08576974, 0.02831567, -0.009467821, 0.1970242, 0.20168954) * go_1(0.0, 1.0); + result += mat4(0.0927734, 0.17610501, 0.14182864, 0.18800513, 0.05701441, 0.15469678, 0.11420199, -0.15377665, -0.08189125, -0.30660027, 0.033272292, -0.11340498, -0.08969095, 0.016946664, 0.03424574, -0.007572548) * go_1(1.0, -1.0); + result += mat4(0.23636094, 0.15679167, 0.070221, 0.11989854, -0.18536362, 0.06250143, -0.086411804, 0.0099315215, -0.13320905, 0.2642356, 0.22141577, -0.009068583, -0.06783877, 0.16432028, 0.06672474, -0.051250096) * go_1(1.0, 0.0); + result += mat4(-0.22000717, 0.15731241, 0.13043061, -0.042806733, 0.0031978998, 0.0668276, 0.08608138, 0.10850058, 0.22485662, -0.121448815, -0.014875905, -0.082832925, 0.056386247, -0.29444495, -0.05680645, -0.015010734) * go_1(1.0, 1.0); + result += mat4(0.014549664, -0.0069613485, 0.11311649, 0.05610812, 0.04279884, -0.1020982, -0.03904751, -0.17636296, -0.05201923, 0.14244251, -0.059024896, -0.09463292, -0.09491209, -0.022265568, -0.0002296264, 0.03899329) * go_2(-1.0, -1.0); + result += mat4(0.048777632, 0.052673753, 0.13282603, 0.1795813, -0.028372066, 0.10603009, -0.4148765, -0.02000411, 0.053786337, -0.11523432, -0.31676108, -0.03830518, 0.022093901, 0.013758008, 0.106954776, -0.028646056) * go_2(-1.0, 0.0); + result += mat4(-0.06699817, -0.1724271, -0.036506936, 0.1153328, 0.015884517, -0.008503094, 0.028359545, -0.012168917, 0.030682955, 0.03541267, -0.03814948, -0.01124931, -0.05933562, -0.014424095, 0.027945189, -0.08810283) * go_2(-1.0, 1.0); + result += mat4(0.013294456, 0.19495966, 0.067234084, 0.15800472, 0.051711556, 0.17711255, 0.1140798, 0.10137737, -0.039499275, -0.04602223, -0.07446666, 0.0012073858, -0.08343905, -0.049277645, -0.078486815, -0.14566717) * go_2(0.0, -1.0); + result += mat4(-0.09936533, 0.039390396, 0.13288753, 0.1920324, 0.13764949, -0.05153866, 0.06799814, 0.22350872, 0.27779356, -0.02206339, 0.19484605, -0.07821554, -0.07797821, 0.12577902, -0.084113464, 0.02873002) * go_2(0.0, 0.0); + result += mat4(-0.10784442, -0.25804177, 0.1306632, 0.0046842564, 0.13917917, -0.03910364, 0.06410272, 0.019373003, -0.03459362, 0.080056466, 0.12915988, 0.14360592, 0.19040298, -0.0023102893, -0.04890759, -0.22537242) * go_2(0.0, 1.0); + result += mat4(0.056570116, 0.13121127, -0.069638334, 0.11919738, -0.04740792, -0.16621193, -0.118925, 0.044869807, -0.010641902, -0.051522024, -0.057623643, 0.017528418, -0.07562933, 0.058253985, 0.05989836, 0.032996327) * go_2(1.0, -1.0); + result += mat4(0.091301516, 0.08428476, -0.16445327, 0.11784904, -0.07030389, 0.022161584, -0.02548798, -0.08254805, -0.04188322, 0.24900444, 0.078174226, 0.20630752, -0.05519587, -0.10978986, 0.015350538, -0.12161702) * go_2(1.0, 0.0); + result += mat4(-0.095735274, -0.10423386, -0.036254395, 0.10522458, -0.022615599, 0.085539706, -0.096113354, -0.23468721, 0.050746538, -0.31889522, -0.061264757, 0.11150476, -0.007024875, -0.11553085, -0.019223234, -0.23692535) * go_2(1.0, 1.0); + result += mat4(-0.08454392, 0.21670897, -0.15095642, -0.060052566, 0.045126446, -0.030535553, -0.057765372, -0.027783932, -0.20350753, -0.2959993, 0.28601378, 0.028859718, 0.071787685, -0.027895963, -0.04723786, -0.10217129) * go_3(-1.0, -1.0); + result += mat4(-0.012522398, -0.23370479, -0.019732006, -0.052036785, -0.33242345, 0.02026433, 0.26734874, 0.044760924, -0.09205539, 0.0888652, 0.27825877, -0.08912795, 0.019177845, 0.123587854, -0.10933388, -0.046620987) * go_3(-1.0, 0.0); + result += mat4(-0.059484433, 0.107038036, -0.021947065, 0.03293247, 0.16987476, -0.02623603, -0.019537413, -0.02559007, -0.010399871, -0.028635733, -0.10141786, -0.10065662, -0.09635094, -0.107081525, 0.0060942136, 0.00018589811) * go_3(-1.0, 1.0); + result += mat4(0.063847266, -0.07454534, -0.1174812, -0.14199455, -0.044613797, -0.081642054, 0.035214093, 0.009284773, -0.00707006, 0.28477952, -0.03298465, 0.074021146, -0.04033067, 0.17765698, 0.1553138, 0.08380522) * go_3(0.0, -1.0); + result += mat4(0.17025755, -0.118484, -0.21803714, -0.28715235, -0.13095933, -0.058834057, -0.18294802, 0.043152038, -0.058910713, 0.028670516, -0.0010361333, -0.025163988, 0.15223087, -0.016097538, -0.09638604, -0.01772858) * go_3(0.0, 0.0); + result += mat4(0.062441614, -0.016123693, 0.07818185, 0.022483543, -0.029692583, 0.035550565, -0.12624146, -0.04230702, -0.061506867, -0.014386596, 0.0115612615, 0.068888955, 0.067702614, 0.07322066, 0.024701316, -0.04806952) * go_3(0.0, 1.0); + result += mat4(0.026700316, -0.16510022, 0.050885063, -0.1332475, 0.019049475, -0.008760977, 0.04359399, 0.042262577, -0.05225198, -0.603255, -0.11838725, -0.017602438, -0.23949145, 0.07854026, -0.21954034, -0.07048147) * go_3(1.0, -1.0); + result += mat4(0.18560836, 0.18485062, -0.008109583, -0.0061953044, 0.067029685, 0.1231515, 0.00463641, -0.031592768, -0.24861142, -0.012609046, 0.14307153, -0.072264954, -0.0067704953, -0.18041459, 0.17362577, -0.06497389) * go_3(1.0, 0.0); + result += mat4(0.10974998, 0.06757753, 0.0377915, 0.057072945, 0.11128115, 0.0013228649, -0.044957817, -0.020252109, 0.06231163, -0.14761455, -0.027373059, -0.10220075, -0.22065234, -0.09441151, 0.052624665, 0.11956694) * go_3(1.0, 1.0); + result += mat4(0.11292619, -0.10152602, 0.10526179, 0.06337831, 0.116172016, 0.16123155, -0.055104487, 0.13740757, -0.08778325, -0.028898785, -0.019357817, -0.08015077, -0.0066665406, -0.009120153, 0.051283117, 0.04456564) * go_4(-1.0, -1.0); + result += mat4(0.19621657, 0.26922694, 0.03988996, 0.032870032, 0.057292562, 0.024405524, -0.11551687, -0.047686152, 0.13039996, 0.056989953, -0.065783806, 0.00033558672, -0.065978706, -0.00902148, 0.1314761, 0.064695716) * go_4(-1.0, 0.0); + result += mat4(0.20266968, 0.11562562, 0.0044746934, 0.052361086, 0.0009612361, 0.01889979, -0.045194417, 0.085848965, -0.05785333, 0.07915189, 0.09685515, 0.016877603, 0.00037991733, 0.0003345007, -0.03782238, -0.0066707213) * go_4(-1.0, 1.0); + result += mat4(-0.12730233, 0.037978236, 0.13999923, 0.033807464, -0.038275905, 0.012305192, 0.06438087, 0.08611617, 0.07200057, 0.13013837, 0.07331905, -0.0010762423, -0.038951423, -0.027457712, 0.014879732, 0.07803083) * go_4(0.0, -1.0); + result += mat4(0.12269098, -0.01707025, 0.099231675, 0.16366597, -0.0075668246, -0.12552746, 0.27712014, 0.22933815, 0.14837137, -0.07610271, 0.11374453, 0.026816925, 0.1011783, -0.043783583, -0.18852726, -0.2007988) * go_4(0.0, 0.0); + result += mat4(0.118183166, -0.45110446, -0.04326608, 0.10598517, 0.09142483, 0.004518412, 0.10789324, 0.18913233, -0.029293153, -0.10852763, 0.15762898, -0.021000696, 0.042484812, 0.030249448, -0.09806746, -0.15705605) * go_4(0.0, 1.0); + result += mat4(0.026257282, -0.017269222, -0.111170195, 0.12946244, 0.015408065, -0.14137042, -0.035408627, 0.073995374, 0.006271072, 0.14994001, -0.01258022, 0.019418288, 0.118502036, 0.035291567, 0.039203968, 0.018011976) * go_4(1.0, -1.0); + result += mat4(-0.11994321, 0.037343338, 0.034031454, -0.0947803, 0.2207995, 0.043690477, 0.06692838, 0.18297808, 0.03876948, -0.20762676, -0.13309777, 0.036189202, 0.0058699325, -0.1331377, -0.035574175, -0.091714606) * go_4(1.0, 0.0); + result += mat4(0.16173537, 0.030811697, -0.07565782, 0.17767896, 0.1574808, -0.0071866834, -0.031369448, 0.11762595, -0.304427, 0.04666128, 0.19467019, 0.13271074, -0.066108644, 0.17788546, 0.09988941, 0.0071199923) * go_4(1.0, 1.0); + result += mat4(-0.07895499, 0.024530848, 0.07610484, 0.14991722, -0.071451046, 0.07360262, -0.10922367, 0.16261177, 0.14607567, -0.29037732, 0.19056098, 0.0017480691, 0.09447392, -0.097536966, -0.15283571, -0.2116911) * go_5(-1.0, -1.0); + result += mat4(-0.090664506, 0.0026753773, -0.19803517, -0.0035921792, 0.08019641, -0.34822193, 0.03115303, -0.11561995, 0.047316786, 0.08521655, 0.30527622, -0.03627345, -0.10390178, 0.13096002, -0.11939941, 0.076553464) * go_5(-1.0, 0.0); + result += mat4(-0.018057704, -0.012385826, -0.048699293, 0.057409126, 0.018623013, -0.13720913, -0.08693412, -0.035308264, 0.0048156027, 0.04298599, 0.20682096, 0.07020018, -0.19156799, -0.099447116, 0.11187527, -0.034651503) * go_5(-1.0, 1.0); + result += mat4(-0.19674721, -6.47493e-05, -0.14616148, -0.16328155, -0.15329379, -0.13080211, -0.095063426, 0.10239187, 0.29591182, 0.061356615, 0.19931474, -0.062333517, 0.111954294, -0.024125673, 0.1727124, -0.100813806) * go_5(0.0, -1.0); + result += mat4(0.005782909, -0.048647407, 0.20534706, 0.04177472, -0.266937, 0.43962362, 0.03461612, 0.13415751, -0.21391335, -0.023739172, -0.382901, 0.1677018, 0.28375793, -0.10282615, -0.034843605, 0.00698951) * go_5(0.0, 0.0); + result += mat4(-0.0019446284, 0.07665739, 0.13404883, 0.1467204, -0.0588129, 0.19369206, -0.050641898, 0.018204086, 0.21603708, -0.22462276, -0.07930267, -0.2749562, 0.016131664, 0.2697215, -0.14661922, -0.026748048) * go_5(0.0, 1.0); + result += mat4(-0.15208562, -0.025413433, -0.031909585, 0.010184482, 0.09441715, 0.045736533, 0.0015301697, 0.055179585, 0.03623536, 0.08788274, 0.090822086, -0.041574936, -0.05593542, 0.013202262, -0.08831654, -0.117966585) * go_5(1.0, -1.0); + result += mat4(-0.06767938, 0.036391854, 0.024670534, 0.065553516, 0.124412306, -0.18261679, -0.11035609, -0.021725666, 0.06963895, -0.18845208, 0.05664083, -0.28461877, 0.12621799, -0.024473144, 0.060711104, 0.06137061) * go_5(1.0, 0.0); + result += mat4(0.030836413, -0.28885397, -0.0082618, -0.040858608, 0.121351525, -0.1581085, 0.04491976, 0.15929738, 0.011640548, 0.17567058, 0.18560362, -0.18308444, -0.091114745, -0.03191929, -0.0424641, 0.10603501) * go_5(1.0, 1.0); + result += vec4(-0.0980025, 0.0163943, 0.07015813, -0.04460826); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_1_tf2 +//!SAVE conv2d_2_tf2 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.044858746, 0.112747766, 0.11743049, -0.04397981, -0.15657529, -0.08594472, -0.077046685, 0.040047225, -0.16525316, 0.118806966, -0.06923664, -0.068862945, 0.13853838, 0.21202816, 0.03315427, 0.02810617) * go_0(-1.0, -1.0); + result += mat4(-0.08981965, 0.009795084, -0.17461349, 0.1293042, 0.13288464, -0.011990358, 0.045853514, 0.005478685, -0.039259993, 0.014204771, 0.049636167, -0.031643927, -0.081734784, 0.06592399, -0.075981714, -0.02715899) * go_0(-1.0, 0.0); + result += mat4(0.110248916, 0.0064891353, 0.022578653, -0.029814541, 0.12611644, -0.1477485, 0.013158434, -0.029419534, -0.049103256, 0.11351519, -0.07094292, 0.15175463, 0.023724427, -0.04979516, 0.01999463, -0.04911801) * go_0(-1.0, 1.0); + result += mat4(-0.072089985, 0.04007664, -0.024550471, -0.0041285334, -0.018247912, 0.046173554, -0.07198727, 0.017499885, -0.001033623, -0.19433345, 0.07760378, 0.049773693, -0.17062156, -0.02818212, 0.34907836, 0.0050598015) * go_0(0.0, -1.0); + result += mat4(-0.06617895, -0.029447488, -0.08041051, 0.10391866, -0.3511068, 0.24072146, -0.07714093, -0.19329752, -0.090364814, -0.114312, -0.14665945, 0.14689237, 0.20671985, 0.015588815, -0.119754635, -0.056320462) * go_0(0.0, 0.0); + result += mat4(-0.027388249, 0.104699664, -0.27179572, -0.02907286, 0.07357054, -0.0068755792, -0.13605821, 0.06462062, -0.093615666, -0.032704853, 0.038318764, -0.076435864, -0.0055633793, 0.046742633, 0.093529075, 0.18353659) * go_0(0.0, 1.0); + result += mat4(0.06082767, 0.085872404, -0.093700096, 0.061194196, 0.06258653, 0.058643147, -0.07235859, -0.092823185, -0.010440827, 0.11255041, 0.0090868175, -0.007858298, 0.148384, -0.05526942, 0.19361623, 0.004099247) * go_0(1.0, -1.0); + result += mat4(-0.06093948, -0.038310055, -0.082474135, -0.010680022, 0.0012025833, -0.092099264, 0.013127829, 0.027141726, 0.09983758, 0.03275215, 0.07185623, -0.19180898, -0.044681955, -0.024202297, -0.3165539, 0.0010588729) * go_0(1.0, 0.0); + result += mat4(-0.060221963, -0.026948337, -0.06574486, 0.011485259, -0.06550075, 0.040276073, 0.025496457, -0.19623038, -0.065990366, -0.025713596, -0.040418267, -0.08788943, 0.076047935, -0.056114316, 0.15456654, -0.07788768) * go_0(1.0, 1.0); + result += mat4(-0.067551315, 0.14745092, -0.054396585, 0.040545028, -0.17049932, 0.07036919, -0.13004121, -0.012877571, -0.09034833, 0.013381427, -0.07020307, 0.13269025, 0.04836113, 0.008816658, 0.06908017, 0.13488075) * go_1(-1.0, -1.0); + result += mat4(0.15872127, 0.046130676, 0.059947554, -0.01181087, 0.00031724942, -0.048350845, -0.009036753, -0.11157358, -0.07300833, 0.09947689, 0.20575939, -0.3546566, -0.059859008, 0.029647622, 0.13094904, -0.03154742) * go_1(-1.0, 0.0); + result += mat4(0.08560438, 0.1965193, -0.044979937, -0.13631731, 0.16646172, 0.09958199, 0.0074020037, 0.10672716, 0.15015182, 0.041704617, 0.063770875, 0.19410326, 0.008813034, 0.16075528, 0.08517037, 0.28283635) * go_1(-1.0, 1.0); + result += mat4(0.12114333, -0.08197629, 0.026583742, -0.060136575, 0.07713845, -0.004285971, 0.16490252, 0.26541123, 0.13636889, 0.14296104, -0.045894254, -0.007115691, 0.037731793, -0.014873664, -0.00571577, -0.009701031) * go_1(0.0, -1.0); + result += mat4(0.2608233, -0.014971803, 0.15469527, 0.18899868, 0.06325761, 0.05273965, -0.021072507, 0.039343588, 0.049740855, 0.30912283, 0.1328661, 0.21406676, 0.013830919, -0.2128574, -0.020829424, 0.22456568) * go_1(0.0, 0.0); + result += mat4(0.0642146, -0.14275537, 0.032388665, -0.12502304, 0.31260416, -0.026139492, 0.11060444, 0.014260357, -0.06373526, 0.15441616, -0.14077063, -0.03819972, 0.023418859, -0.065061435, 0.068000436, -0.10781963) * go_1(0.0, 1.0); + result += mat4(0.039874375, -0.03544748, -0.09499391, -0.021817759, 0.2049574, 0.08219808, 0.044527993, -0.12810238, -0.07313955, -0.3041692, 0.074703164, 0.034242906, -0.08850236, 0.06280731, 0.07377995, 0.10382322) * go_1(1.0, -1.0); + result += mat4(0.04350059, 0.21734618, 0.08675183, -0.055069674, 0.16317086, -0.000833345, -0.061599948, 0.025430895, -0.05566867, -0.07084767, -0.20808282, -0.08088132, -0.08246971, 0.019896548, 0.0011203124, -0.016212555) * go_1(1.0, 0.0); + result += mat4(0.009271706, 0.10609657, 0.046975497, 0.016255897, -0.03132032, -0.026223281, -0.04218519, -0.089583725, 0.0011256885, -0.096725605, 0.13508168, 0.0070396424, 0.071279675, -0.009885292, 0.023429802, 0.04919291) * go_1(1.0, 1.0); + result += mat4(-0.043223884, 0.18723601, 0.059270866, -0.038768277, -0.03307238, 0.045570783, -0.01494598, 0.12532744, -0.0633282, -0.009204529, -0.032864776, -0.012969925, -0.03190685, 0.048798896, 0.033872727, 0.059553478) * go_2(-1.0, -1.0); + result += mat4(0.087938786, -0.24108681, 0.14970978, -0.13961543, 0.0891246, 0.015723674, 0.05370719, -0.11110716, -0.00214365, 0.12866165, 0.108206935, 0.027394261, -0.15103427, -0.14690042, 0.035489313, -0.15238154) * go_2(-1.0, 0.0); + result += mat4(-0.0800077, -0.23219119, -0.08327999, -0.022596871, -0.021897404, 0.15777653, 0.017139765, 0.28121725, 0.024720678, 0.0976178, 0.078697845, 0.050298456, 0.0918896, -0.1709005, 0.001258526, -0.16952778) * go_2(-1.0, 1.0); + result += mat4(0.1855042, -0.1221885, 0.02704022, 0.00095695246, -0.014720871, -0.011397964, 0.009077131, -0.0658526, 0.0753248, -0.018622542, 0.21117687, 0.009595839, -0.014185466, -0.12340562, 0.20756626, 0.1002926) * go_2(0.0, -1.0); + result += mat4(0.03998379, -0.14931168, 0.43595135, -0.18249772, -0.014348168, 0.17039725, -0.54961896, 0.23570935, -0.0961725, -0.08736501, -0.48726758, -0.11515001, -0.03716486, -0.17436725, 0.3894316, -0.012835015) * go_2(0.0, 0.0); + result += mat4(-0.15397331, 0.021657735, -0.054806687, 0.1541452, -0.12548985, 0.0934218, 0.20914574, 0.14777465, -0.0670766, 0.11853072, -0.012987691, -0.020369543, 0.09420477, -0.17689225, 0.109701715, -0.046027176) * go_2(0.0, 1.0); + result += mat4(-0.02231296, 0.14284018, -0.14968887, 0.13387628, 0.06886712, -0.11273641, 0.03278117, -0.13931367, -0.07073904, -0.05791193, 0.0074532703, 0.057605404, -0.007830725, 0.16091831, -0.16650262, 0.1647855) * go_2(1.0, -1.0); + result += mat4(-0.057878133, -0.12752692, -0.12909345, 0.07441648, 0.027899493, -0.018735388, -0.07586787, -0.048344534, -0.11736236, 0.015326167, -0.103591904, -0.17694342, -0.049772773, 0.015765708, -0.1248672, 0.26354307) * go_2(1.0, 0.0); + result += mat4(-0.18220314, 0.0046032136, -0.2081131, 0.03723796, 0.08844814, -0.01369978, 0.053207412, -0.08312182, -0.062071536, -0.067955784, 0.004774782, -0.06925075, -0.059406135, 0.06784051, -0.09814774, -0.11124358) * go_2(1.0, 1.0); + result += mat4(-0.27883962, 0.12152088, -0.24405631, 0.0027260163, 0.19775666, 0.058938242, -0.05956473, -0.10816854, -0.0071739377, -0.4144036, 0.068261996, -0.2445757, -0.23093198, -0.17691095, 0.038170703, -0.013878705) * go_3(-1.0, -1.0); + result += mat4(0.063041806, 0.2538589, -0.11473429, 0.01619935, -0.08354722, -0.04798535, 0.02354034, 0.033864528, -0.055874173, -0.16368376, -0.02903178, -0.12477576, 0.02629324, 0.034359895, 0.08272036, 0.06732605) * go_3(-1.0, 0.0); + result += mat4(-0.15553482, 0.0060790586, -0.05535005, 0.0132087935, -0.03520144, 0.023434987, 0.031604007, -0.09385124, -0.15015934, -0.13401696, -0.005520488, -0.08600875, -0.04346026, -0.07434181, -0.05771243, 0.03339138) * go_3(-1.0, 1.0); + result += mat4(-0.13035898, -0.06444063, -0.12604833, -0.1291162, 0.0002854935, 0.0011192479, 0.03285, -0.0718767, -0.0048345756, 0.23910385, -0.13370244, -0.27723455, 0.2173459, -0.09477723, -0.2785804, -0.089392334) * go_3(0.0, -1.0); + result += mat4(0.19831544, -0.04623001, 0.11013904, 0.07203301, 0.006143421, -0.059177686, -0.5040003, 0.12711781, 0.18126795, 0.13216637, 0.15124142, 0.0053686183, 0.090513304, 0.10542994, 0.34392425, 0.016424375) * go_3(0.0, 0.0); + result += mat4(-0.16124019, 0.09191821, -0.04369587, -0.21306747, -0.16233422, 0.031122763, -0.012612568, -0.016409902, -0.09023912, 0.013649212, -0.16627215, -0.05366447, 0.10274318, 0.086314775, 0.08027116, 0.08462481) * go_3(0.0, 1.0); + result += mat4(-0.14453822, 0.024520764, -0.0071830307, -0.13206398, -0.072472885, -0.10329967, 0.1636545, 0.016468262, -0.013051184, -0.12824146, 0.03824098, -0.22003986, -0.10416448, 0.0039071296, -0.34092218, 0.10734566) * go_3(1.0, -1.0); + result += mat4(-0.072179504, 0.006203091, -0.018925803, -0.1199396, -0.084528126, 0.094925165, -0.11961369, -0.054626215, -0.117074564, -0.04484073, 0.040342934, 0.13213676, -0.0064397864, 0.10155662, 0.20097142, -0.2804305) * go_3(1.0, 0.0); + result += mat4(0.087270446, 0.078806184, -0.05655386, 0.06486903, 0.034370087, 0.0036874234, 0.003311713, -0.10504396, 0.028166316, -0.22845218, 0.017909897, -0.2130404, -0.050013334, -0.117276974, -0.06318294, -0.0037857178) * go_3(1.0, 1.0); + result += mat4(0.08871242, 0.075167455, -0.039373945, 0.00051754323, 0.07687967, -0.06586344, -0.15153599, 0.0018507856, -0.017242108, -0.054329462, 0.051372115, 0.0033961546, 0.06248249, -0.06631481, 0.05806025, -0.021996895) * go_4(-1.0, -1.0); + result += mat4(0.09424522, 0.073743, -0.0017127816, 0.0033512171, -0.11385974, 0.014514997, -0.0068160114, 0.12540759, 0.106560245, -0.049447417, 0.111991346, -0.06375654, -0.011610938, -0.024543937, -0.12136444, 0.1091816) * go_4(-1.0, 0.0); + result += mat4(0.2360247, 0.051082112, 0.063963845, -0.19552353, -0.12502095, -0.043954436, -0.029264912, -0.107425205, -0.104991466, 0.1546093, -0.019506395, 0.102938086, -0.054183662, 0.010583785, -0.080395944, -0.08370572) * go_4(-1.0, 1.0); + result += mat4(0.15028444, 0.031050628, 0.04759701, -0.076938786, -0.09843708, 0.013380048, -0.07036618, -0.18517768, -0.24299946, 0.0074256407, 0.12335329, 0.008296356, -0.14130129, 0.089567006, -0.066212654, -0.019249886) * go_4(0.0, -1.0); + result += mat4(0.21793036, 0.046704203, -0.26442486, 0.036775246, 0.011823214, 0.035270307, 0.27286708, -0.041062694, 0.1929, -0.18686813, 0.033577543, -0.23847485, -0.04342215, 0.20992972, -0.31331903, -0.3476763) * go_4(0.0, 0.0); + result += mat4(0.2605603, 0.045636464, 0.078897774, -0.02860065, -0.17690817, -0.022998778, -0.078985356, -0.08182311, -0.02665034, 0.051768366, 0.14886487, 0.08579571, 0.13346, -0.10001264, 0.04904008, 0.14541489) * go_4(0.0, 1.0); + result += mat4(0.106186725, -0.0063438504, 0.07265258, -0.036121733, -0.13984898, 0.003038981, -0.016125364, 0.13680565, -0.057302903, -0.12963718, -0.0030335293, -0.021742221, -0.006363557, -0.101099625, 0.095220365, 0.033486642) * go_4(1.0, -1.0); + result += mat4(0.094589375, -0.044164203, -0.15519938, -0.02010285, -0.094102144, -0.06617603, -0.06663444, -0.036653996, -0.018485812, 0.04307366, 0.23020254, 0.17289902, 0.11927716, 0.059777882, 0.16321822, -0.17249192) * go_4(1.0, 0.0); + result += mat4(0.17176881, -0.05145481, 0.058537252, 0.07365525, 0.17615119, -0.0008998237, 0.20070761, 0.08091997, -0.22727549, 0.040356588, -0.19447488, 0.019409144, -0.094837844, 0.029385263, 0.06778661, 0.15896504) * go_4(1.0, 1.0); + result += mat4(-0.11452088, -0.024284642, -0.04490299, -0.020004421, 0.050837193, -0.19884948, 0.0027391468, -0.04909611, 0.10565033, 0.046887845, 0.15566911, -0.04677708, -0.1617592, -0.1090753, 0.021104805, 0.12100669) * go_5(-1.0, -1.0); + result += mat4(0.0796837, 0.2143031, 0.15130435, 0.11013741, 0.02859385, -0.23182273, -0.01307099, 0.17366518, 0.067062154, -0.13214251, -0.0359161, -0.22044878, -0.065245375, -0.12085723, -0.0058068414, -0.05868892) * go_5(-1.0, 0.0); + result += mat4(0.05886354, 0.04594631, 0.0035692437, 0.0043173125, -0.0058938325, -0.12315084, 0.009706764, 0.029205475, 0.02275545, -0.030235367, -0.010946894, -0.1160915, -0.24663799, 0.021396592, -0.08312792, 0.035279196) * go_5(-1.0, 1.0); + result += mat4(-0.18054669, -0.03518381, 0.048470423, -0.0056507597, 0.03240578, 0.12688184, -0.09667544, 0.04029143, 0.03038166, 0.10955508, -0.2918326, -0.08950494, -0.06969353, 0.20913015, 0.13051425, -0.12262561) * go_5(0.0, -1.0); + result += mat4(0.11774238, 0.107279345, 0.09160909, -0.12901367, -0.063854314, 0.012220096, 0.1428603, -0.03274951, -0.16071229, 0.16923961, 0.09850307, 0.3375513, 0.17089152, 0.1066977, -0.11292511, 0.07839456) * go_5(0.0, 0.0); + result += mat4(0.06309776, -0.062669575, 0.12810674, -0.22764897, 0.05594526, -0.3354947, -0.271324, -0.1370599, 0.0019311982, -0.20568445, 0.14663076, -0.10399025, -0.11092913, 0.13635515, -0.046688963, 0.18119682) * go_5(0.0, 1.0); + result += mat4(0.06247405, -0.070577376, -0.049723163, 0.20372438, 0.059769955, -0.15753393, 0.08755224, -0.16705483, 0.043191068, 0.13503598, -0.06549854, -0.08262152, -0.036690235, -0.017480936, 0.0087178415, 0.124511525) * go_5(1.0, -1.0); + result += mat4(-0.103790514, -0.062080752, -0.04171218, -0.22629078, 0.058754075, 0.010274649, 0.012631916, 0.0884306, 0.10843063, 0.11566254, 0.16639906, -0.05603101, 0.03344291, -0.009285547, 0.22062606, -0.18537858) * go_5(1.0, 0.0); + result += mat4(-0.010970425, 0.06433602, -0.010908282, 0.21255766, -0.124487005, -0.18626499, 0.017554395, 0.022440141, -0.043080032, 0.13329363, -0.019777333, -0.13920292, -0.057512637, -0.07950961, 0.0008059128, 0.08286962) * go_5(1.0, 1.0); + result += vec4(0.038618144, 0.034658056, 0.04403221, 0.22010419); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!SAVE conv2d_3_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.19656715, 0.073294915, -0.019779518, 0.021025823, 0.15261759, 0.04309221, -0.1493544, 0.049283743, -0.0905334, 0.1813188, -0.0016973419, 0.15697837, 0.13670535, -0.11242918, -0.013915669, -0.13730156) * go_0(-1.0, -1.0); + result += mat4(0.04107699, 0.17384163, -0.096351616, 0.04331655, -0.23204431, 0.25804806, -0.04034741, 0.17473252, 0.2747926, -0.04826532, 0.06581498, -0.01747519, 0.16690566, 0.18259898, 0.051713206, -0.11371784) * go_0(-1.0, 0.0); + result += mat4(0.09295699, -0.02639465, -0.07067535, -0.055101186, 0.049066454, -0.1348934, -0.010201892, 0.076446265, -0.17203535, 0.094379045, -0.05279342, -0.06568022, 0.019863818, 0.048707128, -0.001194968, 0.08657796) * go_0(-1.0, 1.0); + result += mat4(0.075812176, -0.14860412, -0.07091005, 0.027131502, -0.037916575, -0.08786051, 0.12747246, 0.07358627, -0.17530513, 0.01687204, -0.02315926, -0.0475825, 0.10233608, 0.11752665, -0.066707715, -0.02696408) * go_0(0.0, -1.0); + result += mat4(-0.16265862, 0.07163909, 0.029001605, 0.023125717, -0.45108593, 0.31734392, 0.18262424, -0.16254611, -0.13591787, -0.34079695, 0.15933561, -0.11768856, -0.20831986, -0.2617357, -0.06293675, -0.21008867) * go_0(0.0, 0.0); + result += mat4(0.03834222, 0.11669165, -0.14289354, 0.19205377, 0.034326866, 0.11611292, -0.35397327, -0.22060747, -0.004148329, 0.16584732, 0.021622034, -0.026690945, -0.002915367, -0.0025648596, 0.098647386, 0.010004625) * go_0(0.0, 1.0); + result += mat4(0.12951577, -0.12372639, 0.050420888, -0.059468318, 0.06579213, -0.20325322, -0.1699444, 0.019064313, -0.035931777, -0.020957012, 0.0027909358, 0.007493282, 0.0004133846, 0.034073114, -0.038953777, 0.065847114) * go_0(1.0, -1.0); + result += mat4(0.044652946, 0.04014948, -0.11211438, -0.009610841, 0.04416661, 0.007001935, 0.23747365, 0.051566597, 0.08833828, 0.08240841, 0.11842664, -0.053376306, -0.24712811, 0.086317725, 0.0038018306, 0.058020968) * go_0(1.0, 0.0); + result += mat4(-0.14782053, -0.02475428, -0.17784445, -0.024647312, 0.1743018, 0.06606081, 0.056824066, 0.14064185, 0.06063915, -0.04583706, 0.101063475, -0.043567337, -0.07165717, 0.03192861, 0.056516238, -0.011080173) * go_0(1.0, 1.0); + result += mat4(0.15754054, -0.022155577, -0.08209624, -0.0014304873, -0.29201108, 0.08677429, 0.2264655, 0.047244307, -0.048876513, -0.0927597, -0.045443505, 0.20207925, -0.12566972, 0.1404151, -0.024384655, -0.032324787) * go_1(-1.0, -1.0); + result += mat4(-0.2863662, 0.08409054, 0.060920034, -0.05120718, 0.20190823, -0.05651237, 0.16887607, 0.0733604, -0.14424925, -0.06001526, 0.030432044, 0.14361487, 0.02771769, 0.030591695, -0.029078443, -0.048318565) * go_1(-1.0, 0.0); + result += mat4(0.00791873, -0.09765571, 0.00042280424, 0.09341729, -0.22752157, 0.23591608, 0.0051302435, -0.077698976, 0.10737567, -0.23836324, -0.067966945, 0.2257328, -0.004849654, -0.036767352, 0.13280262, -0.07600507) * go_1(-1.0, 1.0); + result += mat4(0.05473653, -0.1915318, -0.00626306, -0.13441068, 0.088244185, -0.31077763, -0.010066507, -0.091302134, 0.11164262, 0.12096589, -0.0605778, 0.1308392, -0.010200418, -0.024670156, 0.09293591, 0.028182708) * go_1(0.0, -1.0); + result += mat4(0.053266037, 0.29016244, 0.19542074, -0.20729323, 0.1344162, -0.21329224, 0.20277289, -0.08846336, -0.114185594, 0.206921, -0.0006008467, 0.0205045, -0.282864, -0.22293371, -0.17658198, 0.20596933) * go_1(0.0, 0.0); + result += mat4(-0.03932726, 0.080170035, -0.07711416, -0.29913354, -0.06824731, -0.061843343, -0.13042153, -0.19094346, -0.11703233, 0.06704312, -0.049862698, 0.1466207, -0.0011674183, 0.080236584, -0.06675328, 0.13961533) * go_1(0.0, 1.0); + result += mat4(-0.022837833, 0.0019198474, 0.0236172, 0.07043625, 0.12661463, 0.001672872, 0.06307569, -0.13343741, 0.17860405, -0.19384168, 0.079231955, 0.032781634, -0.15199795, 0.13594992, 0.070164844, -0.060025793) * go_1(1.0, -1.0); + result += mat4(-0.12844789, -0.025733668, 0.020556241, -0.12541436, 0.14400893, -0.03860052, 0.059304774, -0.1786852, -0.18367065, -0.2374019, 0.1148333, -0.1065858, 0.119285814, 0.016301462, 0.028108267, 0.04623708) * go_1(1.0, 0.0); + result += mat4(-0.12543629, 0.011575056, -0.037424013, 0.09024941, -0.029061148, -0.08703052, -0.0024641235, -0.105915934, -0.044543535, 0.06887956, -0.04743747, -0.05494799, 0.031339128, -0.034284074, -0.121141724, 0.053843208) * go_1(1.0, 1.0); + result += mat4(-0.2666571, 0.09093467, -0.012503428, -0.035125565, 0.032127958, -0.042863887, -0.08649192, -0.015927156, 0.08400246, 0.01662268, 0.034715075, -0.00908548, 0.045443024, -0.06893885, -0.074183375, -0.00844849) * go_2(-1.0, -1.0); + result += mat4(0.18397407, -0.10994183, 0.086410955, -0.008634828, -0.02632997, 0.019804388, 0.048724968, 0.18321893, -0.017287457, 0.18407986, -0.08789994, 0.23315573, 0.17696501, 0.021334525, -0.01854696, -0.19259432) * go_2(-1.0, 0.0); + result += mat4(-0.17279425, 0.040277172, 0.045758635, 0.112192474, -0.1307268, -0.08761701, -0.17986964, 0.08374649, -0.14858364, 0.09763281, -0.08468596, 0.07319079, 0.035000093, 0.15952845, 0.07624351, -0.06327825) * go_2(-1.0, 1.0); + result += mat4(0.08170692, -0.08774166, -0.06705707, 0.0831711, -0.08875457, 0.2449888, -0.14047605, 0.121503554, 0.12618999, 0.02661774, 0.074408755, 0.008565884, 0.0066377656, 0.07707615, 0.0047538104, -0.09728628) * go_2(0.0, -1.0); + result += mat4(-0.07823108, 0.26807916, -0.1287439, 0.122834176, -0.19714594, -0.4942738, 0.10632799, 0.15897664, -0.49854252, -0.53525513, -0.022803375, 0.009074036, 0.11774684, 0.031480465, -0.09894373, -0.021954348) * go_2(0.0, 0.0); + result += mat4(0.12955268, -0.19441509, 0.09120095, 0.011785061, 0.051540542, 0.04758044, 0.04755938, 0.038364667, 0.13298763, 0.10289183, 0.020991595, -0.081097506, 0.034405325, -0.11437959, -0.12480481, -0.065397635) * go_2(0.0, 1.0); + result += mat4(0.014650886, -0.013576367, 0.07512687, -0.12763637, -0.08968091, 0.10528254, -0.0038084937, 0.15035029, -0.012962306, 0.05691601, 0.0812368, -0.03788991, -0.023433529, -0.06713006, -0.11560342, -0.016785484) * go_2(1.0, -1.0); + result += mat4(-0.08841537, -0.06776095, -0.047271274, 0.019514252, -0.015769644, 0.13348323, -0.10441001, 0.11785519, 0.12106464, 0.12203113, 0.12842509, -0.060258504, -0.05513583, -0.11723075, 0.16473113, 0.011207402) * go_2(1.0, 0.0); + result += mat4(0.09194844, 0.090906195, 0.0073818006, -0.2054332, 0.10706456, -0.077387035, -0.10359331, -0.027400512, 0.03793532, -0.14690651, -0.093249865, 0.050878726, -0.050666083, -0.048249774, -0.029831426, -0.005122034) * go_2(1.0, 1.0); + result += mat4(-0.020260984, 0.03831684, 0.03624668, 0.05309828, 0.21425313, 0.04278761, -0.05036095, -0.11595718, -0.040695038, -0.053862657, 0.04097228, -0.14234553, 0.14645652, 0.0005556175, 0.037454158, -0.0834163) * go_3(-1.0, -1.0); + result += mat4(-0.06560231, 0.035083, 0.00515858, -0.078715794, 0.18701494, -0.13166098, 0.039057065, -0.0039464743, -0.060099427, -0.0197617, -0.03425236, -0.034474097, -0.13463692, -0.14687043, -0.07386183, 0.15877718) * go_3(-1.0, 0.0); + result += mat4(-0.17528099, 0.26496586, -0.026784442, 0.02301352, -0.19334768, 0.058255307, 0.084549166, 0.05813938, 0.14634804, 0.021594442, 0.09401384, 0.048137084, -0.027516525, 0.03725506, -0.03902931, -0.05822093) * go_3(-1.0, 1.0); + result += mat4(-0.08095242, -0.0700387, 0.1565957, -0.12318027, 0.0009593411, 0.083975986, -0.1672044, 0.07669263, 0.15444267, -0.2405765, -0.0999547, -0.0113806585, -0.086394556, -0.068187304, 0.022804303, 0.033642158) * go_3(0.0, -1.0); + result += mat4(0.1742647, -0.1139802, 0.03773566, 0.24217185, 0.14553599, -0.13462967, -0.15343545, -0.07004845, 0.09719264, 0.40018603, 0.012584803, 0.20194948, 0.23837751, 0.14372137, 0.018450642, 0.19864424) * go_3(0.0, 0.0); + result += mat4(-0.01977227, -0.01629232, -0.11582299, 0.07435107, 0.04089713, -0.013857991, 0.22446491, 0.016065463, -0.042079967, 0.0170577, 0.040578466, -0.038618524, -0.05470756, -0.115140095, -0.065542445, 0.14684047) * go_3(0.0, 1.0); + result += mat4(-0.037176184, 0.090253, 0.14125483, -0.08512404, -0.051651485, 0.099631414, 0.10343597, -0.0061565666, 0.041628633, 0.09307784, -0.090136886, -0.009559773, -0.03024448, -0.031733215, -0.07797126, 0.055322547) * go_3(1.0, -1.0); + result += mat4(-0.1050144, -0.03270817, 0.26327172, -0.28404585, -0.03861458, 0.048381314, -0.15304287, -0.0042754454, -0.10290137, -0.24198222, -0.12365528, 0.095550224, 0.15594007, -0.02852183, 0.021433152, 0.007750503) * go_3(1.0, 0.0); + result += mat4(0.14963464, 0.036146436, 0.06857592, -0.03860567, 0.014884097, 0.07543522, 0.024485901, 0.035711233, -0.003450604, -0.0597103, 0.024015842, -0.001213529, -0.058722682, 0.01725032, -0.12181248, -0.008058613) * go_3(1.0, 1.0); + result += mat4(0.071817815, 0.041531287, 0.014643306, 0.16291411, 0.26480407, -0.17182025, -0.010588466, 0.105062984, 0.030210229, -0.04829373, -0.036531925, 0.047632486, -0.2479769, 0.045298517, 0.13192376, 0.033759) * go_4(-1.0, -1.0); + result += mat4(0.08769319, -0.0032485086, 0.022313096, 0.17629139, -0.29785547, 0.17973061, 0.033340637, 0.15138951, 0.016324213, -0.052774195, 0.03140277, 0.049657557, -0.1042336, -0.048986793, 0.11604845, 0.027282678) * go_4(-1.0, 0.0); + result += mat4(0.06349052, 0.020287551, 0.041792236, -0.064779855, -0.19809574, 0.1296112, -0.31961703, -0.10329236, -0.06304219, 0.1266601, 0.047558576, -0.01599766, -0.0840006, 0.110553645, -0.17114124, -0.092702754) * go_4(-1.0, 1.0); + result += mat4(-0.07258822, 0.33649316, 0.03007162, 0.122297324, -0.0035460228, -0.031201044, 0.12168557, -0.029285375, -0.0809431, -0.12167306, 0.07364419, 0.028837958, -0.0045297747, -0.0601046, 0.01811243, -0.09054316) * go_4(0.0, -1.0); + result += mat4(-0.25255457, -0.22574474, -0.34320608, 0.11290973, -0.26090237, 0.040196825, 0.13508338, 0.029482007, -0.10183512, -0.08112251, -0.11552506, 0.19293801, 0.3495816, 0.18543391, 0.06588066, -0.04709665) * go_4(0.0, 0.0); + result += mat4(0.084513545, -0.15674965, -0.0008406949, 0.090281285, 0.2712172, -0.116089135, -0.015765252, -0.117886744, 0.09920849, 0.029833876, -0.095729664, -0.027886158, 0.075155556, -0.046650156, -0.0065415367, -0.010066504) * go_4(0.0, 1.0); + result += mat4(0.045017265, -0.032798514, 0.015228568, -0.10716174, 0.12533835, -0.18279125, 0.04248092, -0.19403161, -0.037150033, 0.051052798, 0.064987876, -0.0012054371, 0.17646495, -0.08559015, -0.030268986, -0.0110990135) * go_4(1.0, -1.0); + result += mat4(0.2270626, 0.07908034, 0.10131884, -0.04477681, 0.012331784, -0.0066530495, 0.11152835, -0.011538218, 0.18025607, 0.28347188, -0.061317418, 0.140885, -0.12165267, -0.015358079, -0.1509724, 0.10532319) * go_4(1.0, 0.0); + result += mat4(0.090888165, 0.051266413, 0.00032922614, 0.10080883, 0.25410557, 0.01401413, -0.08648295, -0.18689357, 0.06347326, -0.12212378, -0.047608927, 0.19060975, 0.030654645, -0.0008587347, 0.056551795, -0.075159475) * go_4(1.0, 1.0); + result += mat4(0.18279178, -0.043672565, -0.045675628, 0.08589114, -0.09798812, 0.13952787, 0.020468095, 0.019159447, -0.037739623, -0.031772856, 0.05684188, -0.0027250764, 0.15689476, -0.048730828, 0.07862422, -0.050529804) * go_5(-1.0, -1.0); + result += mat4(-0.16031522, 0.032964543, -0.04876928, 0.02347113, -0.15290083, -0.2451878, 0.052881993, -0.08540753, -0.07177217, -0.15992549, 0.0651776, -0.08932986, 0.1767438, 0.056059174, -0.0576956, -0.09165988) * go_5(-1.0, 0.0); + result += mat4(0.13147484, -0.0570967, -0.11560189, 0.05509382, -0.0150885545, 0.09640748, 0.014165965, 0.20704748, 0.030164357, -0.1082378, 0.024942307, -0.08219035, 0.124670975, -0.052641235, -0.0226715, -0.027526885) * go_5(-1.0, 1.0); + result += mat4(-0.23702182, 0.23504741, -0.0055127465, -0.05391814, -0.033541497, -0.004652474, 0.018886803, -0.03751877, -0.17091194, 0.023785884, 0.04066812, -0.060029395, -0.041414294, 0.01717907, -0.03250043, 0.06307296) * go_5(0.0, -1.0); + result += mat4(0.13159078, -0.21431974, 0.18132871, -0.057554632, 0.21089126, 0.2748356, 0.09672305, -0.06376276, 0.533338, 0.44528118, 0.005919547, -0.04472009, 0.057801563, 0.089425854, 0.00619256, -0.1724294) * go_5(0.0, 0.0); + result += mat4(0.092838384, 0.10023682, 0.024242302, -0.17375132, 0.078034006, -0.19451837, -0.15501493, -0.13293402, -0.18569629, -0.19058825, -0.00096012745, 0.046021726, 0.10088386, 0.08519642, 0.13217524, 0.13243376) * go_5(0.0, 1.0); + result += mat4(-0.027395649, 0.023635123, -0.010267926, 0.17099325, 0.12437585, -0.1249303, -0.06419651, -0.021422816, 0.17196923, -0.22701795, 0.015808482, -0.14445387, -0.05460773, -0.003828314, -0.18222629, -0.048698075) * go_5(1.0, -1.0); + result += mat4(-0.013598317, 0.122526735, -0.02577042, 0.08744144, -0.08979224, 0.1286411, -0.05883814, -0.12919591, -0.050816238, -0.15597601, -0.115631886, -0.12070838, 0.11360469, -0.02584839, -0.1560333, 0.011274217) * go_5(1.0, 0.0); + result += mat4(0.080101736, -0.1330538, 0.021211144, 0.1438211, 0.01772601, 0.11148414, 0.13287805, 0.15081206, -0.012008585, 0.06793454, 0.03773184, -0.032694455, 0.10249589, 0.026878785, -0.12141799, -0.09203301) * go_5(1.0, 1.0); + result += vec4(-0.034046266, 0.030718531, 0.029500093, -0.007484251); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.07053637, -0.13757081, 0.083475806, 0.047742493, 0.17072907, 0.03391062, -0.06359729, -0.087144814, 0.13410439, 0.0766006, -0.07466357, 0.020072024, 0.070759356, -0.07371517, -0.002268697, -0.01926168) * go_0(-1.0, -1.0); + result += mat4(0.044688217, 0.11774826, -0.042388003, -0.07989108, -0.1972503, 0.050274227, 0.016185008, -0.058738116, -0.19790363, -0.05735989, -0.047189124, -0.14251053, 0.020062871, 0.03521658, 0.08752947, -0.23372267) * go_0(-1.0, 0.0); + result += mat4(0.25029907, -0.045921884, 0.09080718, 0.016080718, -0.084881, -0.11112135, 0.06381888, -0.11366214, -0.09134574, 0.078322254, 0.08380223, -0.04663652, 0.079209715, 0.019024234, -0.13660747, 0.014792784) * go_0(-1.0, 1.0); + result += mat4(-0.32267445, -0.14074866, -0.07469012, -0.16251983, 0.03330349, 0.11198752, 0.031585973, 0.022867791, 0.018227417, -0.20173706, 0.06353359, 0.20548727, -0.028305814, 0.100267045, 0.10572279, 0.026997928) * go_0(0.0, -1.0); + result += mat4(-0.098945044, 0.05311362, -0.19431336, -0.04678114, -0.4157369, -0.042450808, -0.044422694, 0.12376175, -0.23616472, 0.28038284, 0.14551993, 0.09350881, -0.16741902, -0.038471445, 0.01986414, -0.17471582) * go_0(0.0, 0.0); + result += mat4(0.14448655, -0.019295415, -0.10982297, -0.06357956, 0.2369261, 0.032228198, -0.11679823, -0.05587635, 0.04871467, -0.0137740765, -0.07519058, -0.18964961, -0.026393183, -0.01974549, 0.06976226, -0.016081909) * go_0(0.0, 1.0); + result += mat4(-0.0137074115, -0.079286255, -0.12312942, -0.018789625, -0.013921108, -0.0020071631, -0.054753337, 0.017963797, 0.2555907, 0.032142516, -0.24176246, 0.16440704, -0.017065119, 0.051031727, -0.1010096, -0.034884788) * go_0(1.0, -1.0); + result += mat4(-0.060335524, 0.074403755, -0.03940425, -0.06947243, 0.063064545, 0.0003786891, 0.042550083, 0.014553617, -0.18506478, 0.14322414, 0.09673403, 0.19324619, 0.13711761, 0.14422627, -0.26975414, 0.1770873) * go_0(1.0, 0.0); + result += mat4(0.0749963, -0.0043254187, 0.007601493, 0.044143427, 0.07984297, -0.13162711, -0.0021585606, -0.009246663, 0.20984007, -0.046367027, -0.09268187, 0.14495128, -0.12562644, 0.1836961, -0.009291084, 0.09893831) * go_0(1.0, 1.0); + result += mat4(-0.04764635, 0.0771012, -0.06254785, 0.049306013, -0.1309074, -0.16724089, 0.064103976, 0.029477306, -0.15803875, -0.018528668, 0.008828626, -0.06195826, -0.06321009, -0.08585472, 0.062971294, -0.09935699) * go_1(-1.0, -1.0); + result += mat4(0.09090366, 0.035622045, -0.07656447, 0.047136262, -0.12315156, -0.06781894, -0.16850029, -0.08679722, 0.031337507, -0.034778163, -0.0034067088, 0.060668938, 0.025843577, -0.13783671, 0.07269251, -0.016900677) * go_1(-1.0, 0.0); + result += mat4(0.0440054, 0.0036595238, 0.008771493, 0.030218529, -0.027555777, -0.06657435, -0.055236634, -0.033271316, -0.13821629, 0.03597882, -0.05062761, -0.053709738, -0.0017135427, -0.030783407, 0.08677211, -0.07123904) * go_1(-1.0, 1.0); + result += mat4(0.04535665, 0.10784165, 0.06629595, -0.08122243, -0.039657716, -0.18704408, 0.1423137, -0.042863034, -0.0742858, 0.18767954, 0.0049358946, -0.03671723, -0.26857832, -0.27597806, -0.15875868, -0.06401874) * go_1(0.0, -1.0); + result += mat4(-0.11346384, -0.02552838, 0.15989058, 0.135453, 0.11406132, -0.14827615, -0.034574773, 0.098348685, -0.11900814, -0.017299704, -0.0073399683, 0.28204438, 0.101091795, -0.05411511, -0.25915098, -0.18966594) * go_1(0.0, 0.0); + result += mat4(0.00533059, 0.02730481, -0.037623204, 0.0683161, -0.001293424, 0.048477355, -0.031527296, -0.06233651, -0.08181692, 0.15782121, -0.022148566, 0.023771856, 0.08038705, 0.20726775, -0.049652047, 0.013319854) * go_1(0.0, 1.0); + result += mat4(0.10297071, -0.004163597, -0.054161496, -0.047678668, 0.17382064, -0.07822223, -0.015010763, -0.04397959, 0.016814355, 0.029943537, -0.054495964, 0.025957715, -0.0020466947, -0.05330402, 0.1510799, 0.020855682) * go_1(1.0, -1.0); + result += mat4(-0.068892024, 0.06622253, -0.03464551, 0.058187455, 0.0040488504, 0.04686992, -0.031023791, -0.0217168, 0.27100065, 0.05667408, -0.1947591, 0.016222548, 0.15030278, 0.037999425, 0.18916538, 0.031360295) * go_1(1.0, 0.0); + result += mat4(0.0033874374, 0.16642143, -0.05115266, 0.033188976, 0.15715985, -0.016430153, 0.061355177, -0.03946156, 0.097530834, 0.09636378, -0.0040456597, 0.03355033, 0.08691396, -0.059714377, -2.6330366e-05, 0.07581963) * go_1(1.0, 1.0); + result += mat4(0.009388512, -0.11915495, -0.013311355, 0.037321404, -0.055611674, -0.03687238, 0.04141501, -0.05869542, 0.07016199, 0.09323767, 0.04217543, 0.06623439, 0.03210602, -0.05782674, -0.11002717, -0.0072197197) * go_2(-1.0, -1.0); + result += mat4(0.10509906, 0.09556673, 0.12621118, 0.05654386, -0.059508096, 0.05438697, 0.07796531, 0.013211419, 0.117890954, 0.06040751, -0.0016234997, 0.081311926, -0.13193677, 0.06996361, -0.13694339, -0.17900036) * go_2(-1.0, 0.0); + result += mat4(-0.053371694, -0.06806307, -0.1518878, 0.033526573, 0.046281144, -0.046205673, -0.034051836, 0.030009115, 0.126423, -0.016593177, -0.039357234, 0.10646578, -0.049523186, 0.031685475, 0.020842545, -0.12438032) * go_2(-1.0, 1.0); + result += mat4(0.13840649, 0.09017664, -0.049517624, 0.16685495, -0.08715648, 0.10113574, 0.018099392, 0.060909674, -0.0058692712, 0.045747917, -0.027853733, 0.05472168, 0.11535146, 0.18636864, 0.0723617, -0.014345535) * go_2(0.0, -1.0); + result += mat4(0.2979883, -0.30398092, -0.00448704, 0.034454245, 0.06174734, -0.012045507, 0.23352385, 0.09975292, 0.17575547, -0.013523325, -0.23254701, 0.13217497, -0.20258605, 0.07145199, 0.08916167, -0.16669402) * go_2(0.0, 0.0); + result += mat4(-0.1606433, 0.014213267, 0.046263646, 0.014771279, 0.041478187, -0.023410609, 0.14462134, 0.0359066, -0.14913698, -0.28093338, -0.098434776, 0.14168552, -0.017470809, -0.10474789, -0.019634444, -0.09452941) * go_2(0.0, 1.0); + result += mat4(-0.024310801, 0.039855056, -0.0277722, -0.0049349763, -0.075620376, 0.14836049, 0.16639285, -0.11209939, -0.06530567, -0.059602138, -0.090105936, -0.024020225, 0.03793827, -0.08396542, 0.03918101, 0.031654693) * go_2(1.0, -1.0); + result += mat4(-0.0019075832, -0.06279881, 0.019373834, -0.022848947, -0.19700366, -0.07276809, 0.10826095, 0.030095315, -0.18057819, -0.06393351, -0.023836957, 0.0065463074, 0.13035376, -0.06434109, 0.09293361, 0.03301868) * go_2(1.0, 0.0); + result += mat4(0.013273036, -0.016674511, 0.13465153, -0.10852922, 0.026329456, 0.13648263, 0.09414527, 0.0012146169, -0.04237767, -0.085370585, 0.05478497, -0.009154848, 0.06731204, -0.034912866, 0.022870043, 0.038516387) * go_2(1.0, 1.0); + result += mat4(-0.12806587, 0.108848855, 0.054954138, -0.04903305, 0.06644907, 0.18971404, -0.07503066, -0.04593073, -0.061711293, 0.014664125, 0.11856841, 0.045254968, -0.15008299, -0.074398935, 0.04106602, -0.24396381) * go_3(-1.0, -1.0); + result += mat4(0.038917247, -0.04640616, -0.08809665, 0.11144138, 0.22032888, -0.050760582, -0.014760546, 0.11236783, -0.059079073, 0.06937314, -0.031159066, -0.07186243, -0.20771858, 0.006415583, -0.07267114, 0.056808673) * go_3(-1.0, 0.0); + result += mat4(-0.00423516, 0.099120915, -0.059658743, 0.07284239, -0.062910534, 0.0818146, -0.04679385, 0.18365376, -0.09501989, -0.01619849, -0.060537007, -0.053941406, 0.01753884, 0.030266201, 0.03675036, 0.0021925808) * go_3(-1.0, 1.0); + result += mat4(0.046608146, -0.02341816, 0.07648551, 0.052848052, 0.0039356127, 0.036476433, 0.10236195, -0.032545663, 0.24973582, 0.037997168, 0.058406867, 0.07901572, -0.18169855, -0.005032321, -0.035923317, -0.14367534) * go_3(0.0, -1.0); + result += mat4(0.16122861, -0.040731397, 0.106095225, 0.0036572781, 0.028426658, 0.20103998, -0.06638636, -0.022662058, 0.050278876, -0.163471, -0.21357286, -0.1825406, -0.050869223, -0.040973462, -0.057061654, 0.2810217) * go_3(0.0, 0.0); + result += mat4(0.18768045, -0.040844023, -0.057449356, 0.12673363, -0.059018314, -0.030971631, 0.08158004, 0.06946996, -0.23750862, -0.00860647, -0.1003966, 0.034669064, 0.24486068, 0.07178945, -0.018041046, 0.15238568) * go_3(0.0, 1.0); + result += mat4(-0.2525261, -0.054517742, -0.23935242, -0.101572365, -0.030042917, 0.036003232, -0.122569695, -0.03556264, 0.06506395, -0.062265877, -0.1060633, 0.014838352, 0.108411096, -0.066448584, 0.0512793, 0.09429625) * go_3(1.0, -1.0); + result += mat4(-0.13627818, -0.10708255, -0.19644266, -0.037392955, -0.045197092, 0.19481973, 0.13070573, -0.060230445, 0.33588138, -0.034298502, -0.11659601, 0.12985578, 0.13320427, -0.11824594, 0.026382592, -0.053538818) * go_3(1.0, 0.0); + result += mat4(0.048666447, -0.017627062, 0.15464988, -0.045204308, -0.011256204, 0.13558346, -0.11524339, -0.09390041, -0.13328557, 0.0208915, 0.14780544, -0.076561615, 0.16454418, -0.06894578, 0.05620349, 0.023376953) * go_3(1.0, 1.0); + result += mat4(-0.15081851, 0.114050105, -0.20110038, -0.20664425, 0.024320586, 0.07185712, -0.07764587, -0.071572, 0.05626064, -0.033045493, 0.001562899, 0.025873706, -0.124655195, 0.008215636, 0.15243639, -0.004112266) * go_4(-1.0, -1.0); + result += mat4(-0.3066088, 0.03357835, 0.10992364, -0.06900282, -0.018690787, 0.06104214, -0.0041348864, 0.06407149, -0.03204788, 0.014121594, 0.08106938, -0.054475598, -0.265469, -0.14616208, -0.00401253, -0.03055698) * go_4(-1.0, 0.0); + result += mat4(-0.04365304, -0.03965277, -0.03783723, -0.064608894, -0.020902721, -0.14974843, -0.009566472, -0.05167228, 0.05844501, -0.06657627, 0.07489639, -0.033589855, -0.12991743, 0.06972872, -0.06635165, -0.012207249) * go_4(-1.0, 1.0); + result += mat4(-0.18625839, 0.054298103, -0.01828512, -0.11457061, -0.010832592, -0.058104735, -0.19629207, 0.04157041, -0.009692541, -0.14516611, -0.05172281, 0.049974106, 0.056659166, 0.04280708, 0.04385243, 0.010063984) * go_4(0.0, -1.0); + result += mat4(0.30084208, -0.06846901, -0.026888005, -0.13171686, 0.14192836, 0.04704836, 0.121805556, 0.044525314, 0.083052106, -0.08510613, -0.12172583, -0.30419388, -0.0878148, -0.16297778, 0.2601781, 0.07285239) * go_4(0.0, 0.0); + result += mat4(0.17655143, 0.030515455, 0.19467549, 0.06786994, 0.12391486, -0.07981, 0.032166053, 0.025423106, 0.03408094, -0.13683012, -0.1334616, -0.06392358, 0.19483057, -0.26500967, -0.09117511, 0.065103196) * go_4(0.0, 1.0); + result += mat4(-0.09752205, 0.052617133, 0.093155235, 0.036831614, 0.0069967005, -0.010922277, 0.03564152, -0.032540992, 0.08338763, -0.09178083, 0.044856872, -0.03585517, -0.03322978, 0.046807107, -0.08056567, -0.011965988) * go_4(1.0, -1.0); + result += mat4(0.18745014, -0.036378495, -0.05438124, -0.07421527, 0.19114059, 0.06546488, -0.011771215, 0.023253547, -0.21524692, -0.18299192, 0.16316402, -0.07972637, 0.05902257, -0.073275164, 0.034378335, -0.03623065) * go_4(1.0, 0.0); + result += mat4(0.11460803, -0.08311417, -0.013590335, 0.03570915, 0.089230955, 0.089890435, 0.020723056, -0.042275555, -0.0369812, -0.26617813, 0.046739977, -0.12200707, 0.14000617, -0.12750666, 0.118415974, -0.07106497) * go_4(1.0, 1.0); + result += mat4(-0.0142673105, 0.2708808, 0.035017774, 0.06703521, 0.029961549, 0.14673132, 0.063695125, -0.02033868, -0.06468242, -0.026121365, -0.0026516293, -0.027388861, -0.08078243, 0.087715834, 0.022955768, -0.02319636) * go_5(-1.0, -1.0); + result += mat4(0.1718002, -0.11518721, -0.0025345646, 0.1238703, -0.18476513, -0.21286273, 0.20789471, 0.01770004, -0.061133858, -0.0626756, 0.055727385, -0.008457355, 0.118455775, 0.10262385, -0.006697552, 0.014359785) * go_5(-1.0, 0.0); + result += mat4(0.09120904, 0.07372497, 0.11044388, -0.03926499, -0.03780375, 0.089837864, -0.09430582, -0.08950114, -0.14755902, -0.03831562, 0.023441203, -0.01944005, 0.04238117, 0.03447587, -0.06003528, 0.044492997) * go_5(-1.0, 1.0); + result += mat4(0.11524887, -0.039266784, 0.066004194, 0.0054254015, 0.05427426, -0.09622213, -0.10315417, -0.050567277, -0.07576602, -0.12929544, -0.047569484, -0.0073220725, -0.19992967, -0.09847938, -0.010317084, -0.06364932) * go_5(0.0, -1.0); + result += mat4(-0.16610023, 0.2372482, -0.08908623, -0.0074210903, -0.30944943, -0.13369739, -0.14367966, -0.088355504, -0.17537226, -0.027992815, 0.2002623, -0.077625655, 0.43252298, 0.070107736, 0.12366656, 0.04695458) * go_5(0.0, 0.0); + result += mat4(-0.16442165, -0.115128726, -0.07232464, -0.06728961, -0.28723717, 0.17190668, -0.08351212, -0.0021862125, 0.121666215, 0.21980163, 0.041315466, -0.062825136, 0.19541566, 0.11147719, 0.024110844, 0.03695252) * go_5(0.0, 1.0); + result += mat4(0.1264344, -0.043413147, -0.0045117373, 0.11031058, 0.14368063, 0.0709618, -0.060608998, 0.12688136, -0.0067742122, -0.036186397, 0.0893928, 0.0054127555, -0.09240343, 0.00012509787, 0.22235379, -0.010589687) * go_5(1.0, -1.0); + result += mat4(-0.27677822, -0.026975723, 0.1144896, -0.02925077, 0.31745398, 0.030609636, -0.058644157, -0.080246314, 0.16578154, 0.040172495, 0.1331117, -0.02078141, -0.04805901, 0.04640852, 0.10614158, 0.012697342) * go_5(1.0, 0.0); + result += mat4(-0.11755322, 0.09768716, 0.0012669004, -0.110562816, 0.06637665, 0.02764571, -0.12623487, -0.023209875, 0.12958577, -0.007275613, 0.010377832, -0.0105528, -0.14058565, -0.030191245, 0.025604937, -0.013748175) * go_5(1.0, 1.0); + result += vec4(-0.03760731, -0.0242485, -0.021933366, 0.027489811); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!SAVE conv2d_3_tf2 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.027916895, -0.12058145, -0.083479345, -0.026083047, 0.014759637, -0.07421897, -0.017896682, 0.086924285, -0.05399337, 0.07368837, -0.26842278, 0.09718693, -0.014846767, -0.002766841, 0.06403607, 0.0669811) * go_0(-1.0, -1.0); + result += mat4(-0.021020316, -0.21434662, 0.06523966, 0.11869478, -0.21215962, -0.042433035, -0.10847877, -0.10532955, -0.18938127, 0.05224748, 0.02170683, -0.09415175, -0.08846007, -0.18066676, -0.108328596, 0.09838168) * go_0(-1.0, 0.0); + result += mat4(-0.0014482798, -0.08546761, 0.053286448, -0.022678297, -0.009113084, -0.09750778, 0.10262376, -0.003133292, 0.026831077, 0.03348051, -0.031860266, 0.053811714, -0.05097466, 0.040436964, -0.063929394, -0.12586603) * go_0(-1.0, 1.0); + result += mat4(0.015445512, 0.029696425, -0.15537772, -0.057669863, -0.058116574, 0.188642, -0.289381, -0.03078714, -0.010385, 0.014184904, 0.16890535, -0.02512565, 0.116905816, 0.043889366, -0.027181825, 0.015912583) * go_0(0.0, -1.0); + result += mat4(0.0659837, 0.09219005, -0.085082754, 0.051408056, 0.11564603, 0.038757283, -0.0004551866, 0.06365286, 0.09702758, 0.10664935, 0.34716737, 0.14471847, 0.28146356, -0.00765224, 0.1772403, 0.22182499) * go_0(0.0, 0.0); + result += mat4(-0.08183167, 0.05762959, -0.043376535, -0.16858399, 0.02308398, -0.055296358, 0.07663533, 0.106998175, -0.10704135, -0.02596522, 0.013459359, -0.044283163, 0.07874813, 0.022484714, 0.30442455, 0.071259074) * go_0(0.0, 1.0); + result += mat4(-0.0022170176, 0.022313403, 0.122714184, -0.026881142, 0.08282965, -0.06490924, 0.18938759, 0.0677223, 0.1294088, 0.059372786, -0.110964485, 0.010619735, -0.09610158, -0.022745904, -0.019792024, -0.0034128428) * go_0(1.0, -1.0); + result += mat4(-0.041866794, -0.13008577, 0.110913865, -0.016430711, 0.13772298, 0.06592027, -0.0034176896, -0.032333232, -0.0071776314, 0.031079333, -0.10468204, 0.026052983, -0.025571326, 0.048804965, 0.045641564, -0.035233505) * go_0(1.0, 0.0); + result += mat4(0.035716273, -0.100303516, -0.031205915, -0.031608257, 0.09185616, 0.020499555, -0.16786079, -0.12639952, -0.023970092, 0.08524624, -0.06759015, -0.12429372, -0.0127442675, 0.112773865, -0.26975212, -0.007704992) * go_0(1.0, 1.0); + result += mat4(-0.022916801, -0.09817618, 0.20416892, 0.12702931, -0.012764869, -0.038772803, -0.27769282, -0.034622744, -0.13437684, 0.02120745, -0.1548114, 0.006228885, 0.22984603, -0.2432492, 0.10387287, -0.059412073) * go_1(-1.0, -1.0); + result += mat4(0.2363932, -0.11194499, -0.064652696, 0.07116429, -0.14603911, 0.18921274, -0.013249935, 0.13604592, 0.07306857, 0.08511469, -0.061648175, 0.052819334, 0.2016978, -0.13642034, -0.014157929, 0.072210535) * go_1(-1.0, 0.0); + result += mat4(-0.18656836, 0.17888299, 0.003892404, -0.048626274, -0.11190575, 0.09419825, 0.1276045, -0.012969808, -0.14728911, 0.17536093, 0.050294712, 0.19381198, -0.06558784, -0.09776518, -0.11414383, -0.1866525) * go_1(-1.0, 1.0); + result += mat4(0.15634118, 0.19272068, -0.05068886, -0.030995008, -0.035177864, 0.07032768, 0.116517685, -0.09072261, -0.10217943, -0.09160873, -0.062906645, 0.12504682, -0.09060218, 0.014820002, 0.03459818, -0.108051665) * go_1(0.0, -1.0); + result += mat4(-0.018596219, -0.017673533, -0.006066184, -0.064746305, -0.11017345, -0.09556466, 0.21868086, -0.027287072, -0.11609723, -0.11342597, 0.1788956, 0.035506073, -0.096203305, -0.037712112, 0.14055523, 0.16230235) * go_1(0.0, 0.0); + result += mat4(0.0056694653, -0.045156818, 0.10069355, -0.07291589, -0.048202783, -0.12425812, 0.15425333, -0.052708663, -0.17621729, 0.06338879, 0.1205465, 0.1754123, -0.028028619, 0.11745275, -0.120209925, 0.031073835) * go_1(0.0, 1.0); + result += mat4(-0.058996305, 0.042816967, -0.002514556, -0.0055761277, -0.05223201, -0.17414387, 0.13102455, 0.02741174, -0.0785701, 0.080076955, -0.058584027, 0.034780204, -0.0276381, 0.055405296, -0.09418891, 0.0013168643) * go_1(1.0, -1.0); + result += mat4(-0.03179422, -0.080134, 0.055742502, -0.14085148, -0.0010870491, 0.006537003, -0.0013490077, -0.086607024, 0.057871595, -0.07872675, 0.22251247, -0.052358106, -0.1307614, -0.22731845, -0.06979484, 0.00849211) * go_1(1.0, 0.0); + result += mat4(0.14046812, 0.04020691, -0.032090276, -0.09295882, -0.11624229, -0.10551015, 0.08762072, -0.07726716, -0.1498316, -0.17169969, -0.04618553, 0.14997219, -0.012493408, -0.06838468, 0.10913737, 0.018050432) * go_1(1.0, 1.0); + result += mat4(0.033775266, -0.07618233, 0.11493082, -0.026212664, -0.04540022, 0.026137805, -0.13465577, 0.15029386, 0.07141062, 0.09716221, -0.025410062, 0.032656677, 0.037815653, -0.040112175, 0.11637884, 0.11825522) * go_2(-1.0, -1.0); + result += mat4(0.14827983, -0.081768006, -0.05624141, -0.0044099363, 0.032463025, 0.10766071, -0.061944928, -0.15250987, -0.14692347, 0.1010062, 0.1384647, 0.079083905, -0.11822245, -0.054733507, 0.06650751, 0.04349182) * go_2(-1.0, 0.0); + result += mat4(-0.0189154, -0.033869926, -0.008463885, -0.1524785, -0.017154029, -0.021163551, 0.045354687, 0.056154214, 0.0996, 0.18220654, -0.02275312, -0.051522568, -0.015781462, -0.14436358, -0.13036303, -0.08281256) * go_2(-1.0, 1.0); + result += mat4(0.060433608, 0.025449814, 0.03162007, -0.13456888, -0.02134081, -0.15663207, 0.17289546, 0.0011385656, 0.059484057, 0.052233964, -0.03541694, 0.113927364, -0.0010070644, -0.005570618, 0.12790091, 0.16491406) * go_2(0.0, -1.0); + result += mat4(-0.033132974, -0.098377176, -0.12513644, 0.08796082, -0.0028096333, 0.09346144, -0.18109433, 0.17953019, 0.10331962, -0.111182235, -0.11015705, -0.15538633, -0.015985087, 0.06262592, 0.11767445, 0.04020116) * go_2(0.0, 0.0); + result += mat4(-0.10818913, -0.10614671, -0.0061792796, 0.07901479, -0.0018810411, 0.0026243017, 0.15281977, 0.1715038, -0.017927805, 0.07613347, 0.033450123, -0.23979095, 0.028044673, 0.060702097, 0.019822879, -0.14792976) * go_2(0.0, 1.0); + result += mat4(-0.008551052, -0.03843347, 0.0472157, -0.010416428, -0.01928176, -0.0063839755, 0.03508731, 0.24043478, 0.033645283, -0.11676803, -0.06743783, -0.034164682, -0.014925681, -0.030447507, -0.111160316, -0.034867767) * go_2(1.0, -1.0); + result += mat4(-0.102300785, 0.114739686, -0.007856566, -0.12389364, -0.18574199, 0.06441196, -0.1979763, -0.016671708, -0.09252569, 0.0037067563, -0.0609829, 0.028997343, 0.047285903, -0.018309064, -0.027229104, 0.06743576) * go_2(1.0, 0.0); + result += mat4(-0.055446856, -0.06821513, -0.0059853215, -0.13260886, 0.083104685, -0.11773866, 0.007317027, -0.039318476, -0.0042170533, 0.0121953655, -0.010792958, -0.010249791, 0.007397987, 0.0047044945, 0.049882278, 0.0047567203) * go_2(1.0, 1.0); + result += mat4(0.03465105, 0.062134508, -0.043116115, -0.017247844, -0.04502861, -0.10212199, 0.16550505, 0.016599817, 0.08857375, -0.03961283, 0.13870746, -0.082080655, -0.08469554, -0.18640712, -0.014425766, 0.034508247) * go_3(-1.0, -1.0); + result += mat4(-0.12399076, 0.22634715, -0.13730592, 0.04840304, 0.09450334, -0.065218486, 0.0068855314, -0.049165834, -0.011287574, -0.10739019, -0.00023772087, 0.09688784, 0.10983027, -0.011201701, 0.14466487, -0.21600902) * go_3(-1.0, 0.0); + result += mat4(-0.05468909, 0.050734483, 0.046412308, -0.09749245, 0.05704707, 0.22612362, -0.15571213, 0.06998293, 0.017409045, -0.13634662, -0.020574553, -0.073725305, 0.04699205, -0.08355112, 0.08512415, 0.15568486) * go_3(-1.0, 1.0); + result += mat4(0.10635322, 0.07337078, -0.07432055, 0.004248984, 0.027724393, -0.040500402, 0.196942, 0.041983824, 0.083976634, 0.10290795, -0.3009756, 0.082270764, -0.15817869, -0.027697606, -0.029153766, 0.08529106) * go_3(0.0, -1.0); + result += mat4(0.14958759, 0.13267447, 0.22206177, -0.17663805, -0.10765967, -0.03566466, 0.04633988, -0.03062237, -0.20792471, -0.002921972, -0.15749575, -0.22428021, -0.23200673, 0.14563684, -0.160325, -0.266424) * go_3(0.0, 0.0); + result += mat4(-0.13190623, 0.041341502, -0.12777801, -0.055840913, -0.112986885, -0.0021044768, -0.12469129, -0.11046474, -0.03600098, -0.011692557, -0.02686337, -0.17009224, -0.0820219, -0.029119916, -0.111095175, 0.15297051) * go_3(0.0, 1.0); + result += mat4(0.14414293, 0.02744959, -0.102789834, 0.006705362, -0.030359348, 0.083485864, -0.12009053, -0.02636556, 0.08503298, -0.10867725, 0.09814758, -0.14605886, 0.16700824, -0.0866019, 0.008852153, -0.21706365) * go_3(1.0, -1.0); + result += mat4(-0.011756063, 0.008039321, 0.03698028, -0.10509595, -0.099564835, 0.009903015, -0.08965568, 0.06633642, 0.10181769, 0.08294756, 0.025898153, -0.098384134, 0.066339396, -0.02191258, 0.03265874, 0.1477094) * go_3(1.0, 0.0); + result += mat4(-0.22950448, -0.07607528, 0.016735366, 0.083834045, -0.005080134, 0.09744342, -0.105208844, 0.043603517, 0.005231004, -0.023469515, 0.08517984, 0.14299476, 0.0062482157, -0.09623864, 0.097964756, 0.11196982) * go_3(1.0, 1.0); + result += mat4(-0.31986436, 0.02033341, -0.067986034, 0.12729374, -0.0048481217, 0.05469139, 0.16248406, 0.09194327, 0.024411261, 0.051379394, 0.00034975683, -0.021101091, 0.00954231, 0.02220226, -0.32092375, -0.039599743) * go_4(-1.0, -1.0); + result += mat4(-0.23243247, 0.102910504, 0.08704054, -0.16638695, -0.04414702, 0.10768372, 0.06244856, -0.053088184, -0.07190515, 0.025491035, -0.0073894467, -0.06960583, 0.04625048, 0.09757096, -0.014015539, -0.2686573) * go_4(-1.0, 0.0); + result += mat4(0.09618109, -0.04002844, 0.10706359, 0.0021603133, -0.10353008, -0.051047757, 0.22455198, -0.034693047, 0.0572685, -0.055035133, 0.004646706, 0.097952425, 0.14423034, 0.03551641, 0.17294352, 0.18931827) * go_4(-1.0, 1.0); + result += mat4(-0.103451714, -0.14722984, 0.075681895, 0.05237415, -0.11553789, -0.04747042, 0.06682777, -0.094138026, 0.17443697, 0.022166768, -0.033095736, -0.060237505, 0.12380581, -0.0075241313, -0.07084953, -0.036764625) * go_4(0.0, -1.0); + result += mat4(-0.035672948, -0.06520371, -0.09139108, 0.04217135, -0.117305085, 0.07602235, -0.15833357, 0.056191333, -0.11441557, 0.037268326, -0.028076539, -0.12540102, 0.016748995, 0.034004167, -0.1824477, -0.16126373) * go_4(0.0, 0.0); + result += mat4(0.06134336, -0.11747715, -0.08211664, 0.08370146, -0.12180083, 0.19250062, -0.054975577, 0.020182844, 0.08444608, -0.06466239, 0.015815528, -0.031805765, -0.0028007699, 0.08060802, 0.15744543, -0.12746236) * go_4(0.0, 1.0); + result += mat4(0.043641105, -0.07119625, -0.042450625, 0.05739444, 0.018069813, 0.029118251, 0.0061236136, 0.07221804, -0.011486244, -0.041661404, 0.2197789, -0.020237818, 0.15324089, -0.02419463, 0.095150515, -0.048418492) * go_4(1.0, -1.0); + result += mat4(0.010760071, 0.079417765, -0.038494457, 0.0804348, -0.03777174, -0.2785645, -0.0018691403, -0.009908184, -0.2519993, -0.021114716, -0.075966366, -0.11307284, 0.042725798, 0.02793535, 0.08475073, 0.00719373) * go_4(1.0, 0.0); + result += mat4(-0.06026802, -0.1285141, -0.015326734, -0.092160225, -0.03740965, -0.10725952, 0.11102985, -0.05550745, 0.07659162, -0.115331456, 0.003444734, -0.054064468, -0.08475641, -0.08501742, -0.24890389, 0.07931074) * go_4(1.0, 1.0); + result += mat4(0.16370693, 0.14513049, -0.13996753, -0.061734002, -0.030769601, 0.057222515, 0.050910987, -0.04650852, -0.054636024, -0.021683916, -0.17012738, 0.020975761, -0.1575395, 0.23097757, -0.20053351, -0.03677814) * go_5(-1.0, -1.0); + result += mat4(0.08665788, 0.11735751, -0.017768439, 0.0068110893, 0.2169534, 0.04611748, -0.05265798, -0.14298616, 0.030219741, 0.0361948, -0.17905854, -0.072263926, -0.12066245, -0.043840945, -0.075282134, 0.062113304) * go_5(-1.0, 0.0); + result += mat4(-0.07236986, 0.12181904, -0.010601836, 0.14551845, -0.073809735, 0.15977979, -0.018897848, 0.036385477, 0.0025911513, 0.026647402, 0.07882444, 0.028249063, 0.009689747, -0.03413688, -0.032440297, 0.060033906) * go_5(-1.0, 1.0); + result += mat4(0.0063548526, -0.05827531, -0.0863922, 0.09530562, -0.007424638, 0.2742968, -0.44429728, 0.1693316, 0.00851462, 0.018132828, -0.014929005, -0.08181229, -0.12771043, -0.15851092, -0.08833768, -0.05561009) * go_5(0.0, -1.0); + result += mat4(-0.17187662, -0.020507278, -0.00087365095, -0.17611316, -0.13882494, 0.07799683, 0.06299509, -0.33718416, -0.19870155, 0.055342596, 0.1495889, 0.13743624, -0.16251567, -0.02317984, -0.3027063, 0.07310683) * go_5(0.0, 0.0); + result += mat4(0.07612367, -0.06315094, 0.086967595, -0.17633231, 0.010166444, 0.109485, -0.06876594, 0.19186738, 0.12188993, -0.010759893, 0.0059104343, 0.21518311, -0.14552301, -0.04969499, 0.013590615, -0.0688024) * go_5(0.0, 1.0); + result += mat4(-0.0505275, 0.05859463, -0.08945146, -0.0057924157, 0.058152966, -0.024229135, 0.031221801, -0.15067945, -0.018535225, 0.13843696, 0.041234065, 0.051733483, -0.10050763, 0.10705917, -0.022969715, 0.03912073) * go_5(1.0, -1.0); + result += mat4(-0.009000505, -0.11456071, 0.0340094, 0.12444861, 0.07345543, -0.1419509, 0.092182405, 0.056249533, 0.063071616, -0.010534381, 0.056680985, 0.025993576, -0.13020347, 0.066157125, 0.0073951716, -0.027919816) * go_5(1.0, 0.0); + result += mat4(0.11827389, 0.111768976, 0.024734994, -0.008209825, -0.11939657, 0.049890216, -0.14757815, -0.0018939807, -0.108214505, -0.13791578, 0.06980697, -0.035102874, 0.0068360427, 0.15766092, -0.0094464505, 0.02528075) * go_5(1.0, 1.0); + result += vec4(0.15827118, -0.013269078, -0.026832024, -0.007341773); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.0858087, -0.091669075, -0.029618878, -0.006829049, 0.05929614, -0.10007056, -0.07165286, -0.044839766, 0.16440393, -0.013165904, 0.16345644, -0.040166497, -0.08533438, 0.033274904, 0.023744298, 0.00462745) * go_0(-1.0, -1.0); + result += mat4(-0.012197617, -0.17494427, -0.044840526, 0.09467358, 0.0670941, 0.04051791, 0.031950857, 0.043632418, 0.27560753, -0.18038619, -0.016762096, -0.18554263, -0.07514284, -0.12060545, -0.06567658, 0.095817134) * go_0(-1.0, 0.0); + result += mat4(-0.006523474, -0.08222627, -0.0071327686, 0.0019292525, 0.10427757, -0.12537085, 0.04317682, -0.073334634, 0.05154215, -0.091944076, -0.02118822, -0.056948982, -0.13910337, 0.03694039, -0.057772428, -0.04310826) * go_0(-1.0, 1.0); + result += mat4(0.06324951, -0.22648853, -0.07255338, 0.017026639, -0.008103722, -0.21415114, -0.26123968, -0.12380067, -0.122654535, -0.072686374, -0.106361255, -0.085339114, -0.032308288, 0.15890516, 0.06622756, -0.023396786) * go_0(0.0, -1.0); + result += mat4(-0.042859413, -0.09672486, -0.25197455, -0.09964709, 0.29545367, -0.031414457, -0.09069656, -0.1515025, 0.0027435324, -0.22244011, -0.028398262, 0.023005402, -0.01898338, -0.044614386, -0.15384883, -0.03421089) * go_0(0.0, 0.0); + result += mat4(0.02024483, -0.0024315433, -0.12607838, -0.06749624, 0.18010019, -0.13433436, 0.023777714, -0.000595795, 0.06660958, 0.0047493204, -0.008804406, -0.01993787, -0.16380167, -0.116379924, -0.08225346, -0.15736714) * go_0(0.0, 1.0); + result += mat4(0.04966525, -0.18904372, 0.0033124757, 0.007581284, 0.04973636, -0.054151382, -0.0019207672, 0.035237975, 0.050646428, 0.054101888, 0.10167154, -0.06646531, -0.1516706, 0.0069144946, -0.11062034, 0.00401821) * go_0(1.0, -1.0); + result += mat4(0.042625226, -0.13069777, -0.16180645, -0.023299642, 0.026805617, -0.05658099, 0.043719705, 0.1092636, 0.12341378, 0.042006955, 0.18066125, 0.16378504, 0.11135436, 0.08376113, 0.031495962, 0.04347884) * go_0(1.0, 0.0); + result += mat4(-0.006632579, -0.08609527, -0.08015572, -0.09973007, 0.0060661826, -0.0025273473, 0.027333017, 0.19469416, 0.115743786, -0.048629977, 0.07540239, 0.060625635, 0.11000561, -0.0005722454, -0.17226484, -0.27114823) * go_0(1.0, 1.0); + result += mat4(0.055690464, -0.02658434, 0.07268652, 0.10016923, -0.16319957, 0.17007092, 0.21633402, 0.20618637, -0.113490485, 0.02199878, 0.0055137747, 0.12215447, -0.09464513, 0.045647286, -0.14000376, 0.073245205) * go_1(-1.0, -1.0); + result += mat4(-0.23644187, 0.079229124, 0.15172592, -0.13774072, -0.026849356, -0.021209542, -0.027881218, 0.033904858, 0.038394954, -0.087262556, -0.08262074, -0.031362742, -0.043572012, -0.025324758, -0.030077327, 0.005004752) * go_1(-1.0, 0.0); + result += mat4(0.09973582, 0.010234953, -0.08513304, -0.03290182, -0.06016728, -0.14835075, -0.049367975, -0.109585285, 0.1308012, -0.05561698, 0.02354898, 0.013404379, 0.076999895, 0.0965049, -0.08259544, 0.08366891) * go_1(-1.0, 1.0); + result += mat4(-0.14182909, 0.08395952, 0.08790292, -0.10685734, 0.20583102, 0.04878629, 0.33621716, 0.022593737, 0.11261521, 0.21141209, 0.20565145, 0.10242992, 0.024171967, 0.0531655, 0.049630456, -0.026225826) * go_1(0.0, -1.0); + result += mat4(-0.24823152, -0.004493935, -0.098093554, 0.024939846, -0.18618853, 0.23347515, 0.3677701, 0.116543904, -0.0123427, -0.023756992, -0.047602683, -0.17058952, 0.255566, -0.16041403, -0.12076221, -0.16564348) * go_1(0.0, 0.0); + result += mat4(-0.013236432, 0.076761626, 0.081881255, 0.09071596, -0.11729648, -0.006444196, 0.10923074, 0.13791469, -0.043651752, -0.18294181, -0.040916644, 0.097785, -0.0028955766, -0.0027983326, 0.073921174, -0.10227346) * go_1(0.0, 1.0); + result += mat4(-0.0018851581, 0.042510424, -0.049210977, 0.054145046, 0.062141296, -0.05751743, -0.1545065, -0.07428518, -0.0012378759, 0.0046147997, 0.05624973, 0.026027879, 0.014657843, 0.03690237, 0.020237725, 0.028257368) * go_1(1.0, -1.0); + result += mat4(-0.0131197, -0.068101935, 0.1810527, -0.16003254, -0.031678617, 0.02635583, 0.028078066, -0.061150465, 0.011311746, -0.13556738, 0.010152058, -0.27962342, -0.06454591, 0.20071113, -0.17109145, 0.24637976) * go_1(1.0, 0.0); + result += mat4(0.010061335, -0.001633492, 0.015894579, 0.11813777, -0.0085875485, 0.16046463, -0.03870673, -0.1573532, 0.007046577, -0.032677893, -0.03055368, 0.16372435, -0.023844553, 0.0414419, 0.024983952, 0.118105516) * go_1(1.0, 1.0); + result += mat4(-0.015675241, 0.06467378, -0.06385561, 0.23119383, 0.19577031, 0.09614502, 0.14291568, 0.0646477, -0.04580087, -0.054257967, 0.0035926772, -0.084984995, 0.07729014, -0.12703735, 0.021946913, -0.13898507) * go_2(-1.0, -1.0); + result += mat4(0.04983293, -0.1356944, 0.06499119, 0.18219076, -0.0012843006, 0.017029244, 0.072508365, -0.109151654, 0.20020588, -0.01626167, -0.046852995, -0.15508164, 0.17773204, -0.11779289, 0.16009867, -0.20663622) * go_2(-1.0, 0.0); + result += mat4(-0.29108632, -0.10655777, 0.044198614, -0.04410373, -0.04469665, 0.026585957, -0.03942788, 0.15000731, 0.09523267, -0.13746834, 0.04037757, -0.100768045, 0.13844049, 0.015964666, 0.050790466, -0.0692099) * go_2(-1.0, 1.0); + result += mat4(-0.06911559, 0.012809353, -0.12680744, -0.048866037, 0.055650793, -0.0578033, -0.098106444, 0.074231684, 0.07584408, -0.06642763, -0.12730137, -0.19599968, 0.057783168, 0.2112361, 0.2594585, -0.005996189) * go_2(0.0, -1.0); + result += mat4(0.14301813, -0.11221026, -0.13259968, -0.094263665, -0.07149053, -0.048891526, -0.032946635, -0.10009779, 0.27363536, 0.14980642, -0.02908678, 0.0047521754, 0.3446896, 0.026126916, 0.36222085, 0.18175994) * go_2(0.0, 0.0); + result += mat4(-0.14227025, -0.043589745, -0.026543979, -0.16103217, -0.15027285, 0.039540008, -0.006172108, -0.10215637, 0.054667268, -0.056833044, -0.041795656, -0.13694401, 0.10057133, -0.13033262, 0.10366755, -0.022725947) * go_2(0.0, 1.0); + result += mat4(0.09428237, 0.013572218, 0.08937405, 0.07288141, -0.11737223, 0.23257263, -0.04531822, 0.13323838, -0.06946843, 0.09392816, 1.8482398e-05, 0.099077396, 0.035169534, -0.25623903, -0.018828487, -0.06300839) * go_2(1.0, -1.0); + result += mat4(-0.026215252, 0.03051006, 0.07113607, -0.12154545, 0.0040449486, -0.123852775, -0.08525913, -0.1901913, 0.017407645, 0.16107552, -0.12645124, -0.017211819, -0.07441704, -0.005858128, -0.011531684, 0.32415336) * go_2(1.0, 0.0); + result += mat4(-0.17503254, -0.0015612559, 0.10169017, 0.019084195, 0.021156454, -0.310495, 0.04608056, 0.10953508, 0.19300106, -0.22451214, 0.03351187, -0.23461004, 0.072505705, 0.015136174, 0.04027726, 0.07976788) * go_2(1.0, 1.0); + result += mat4(0.063301176, -0.05981131, 0.08261184, -0.14083353, -0.03195537, 0.0578306, 0.02804363, -0.20032683, -0.05517824, -0.0757025, -0.19914438, -0.042908937, -0.030248174, -0.25152618, 0.050725143, 0.1369699) * go_3(-1.0, -1.0); + result += mat4(0.1003561, 0.0734191, 0.09896423, -0.08019514, 0.014390224, -0.00054874463, 0.037597846, -0.09500772, 0.09027194, 0.101415, -0.040434603, 0.08962564, -0.22431703, -0.07749036, 0.0013332567, 0.09083244) * go_3(-1.0, 0.0); + result += mat4(0.008767293, 0.024598125, -0.006601763, -0.028163001, -0.024962863, 0.08638626, -0.028004736, -0.08388235, 0.022387464, 0.070822835, -0.022390194, 0.035980027, -0.043976255, -0.13879846, -0.0064368118, 0.1285523) * go_3(-1.0, 1.0); + result += mat4(0.04603082, 0.12994967, 0.081791796, 0.09700837, 0.023545785, 0.06551075, 0.12287056, -0.22250815, -0.16573791, -0.047054622, 0.07907622, -0.031006414, 0.06890266, -0.123863325, 0.067868486, 0.18396272) * go_3(0.0, -1.0); + result += mat4(0.16980824, 0.015854107, 0.17575637, 0.15477645, -0.09076066, -0.05120928, 0.03070066, 0.11817304, 0.06490148, -0.012875289, 0.006170174, 0.11815885, 0.041828565, -0.17298366, -0.014634091, 0.124265894) * go_3(0.0, 0.0); + result += mat4(0.06368938, -0.032462507, 0.04960355, -0.04891845, -0.0038693375, 0.12922424, 0.0047689294, -0.08684701, 0.095224895, 0.0020490738, -0.046015333, -0.18551406, 0.07551751, -0.071112834, 0.02344341, 0.04623062) * go_3(0.0, 1.0); + result += mat4(-0.056204665, 0.013370383, -0.0043938635, 0.000645203, -0.09654348, 0.02182419, 0.0059207743, -0.13559262, 0.06930852, 0.008161434, 0.016864823, 0.11678153, 0.0039051562, -0.07914336, 0.04955842, 0.017483408) * go_3(1.0, -1.0); + result += mat4(0.010976288, 0.10715081, 0.09279967, 0.020898886, 0.013906253, 0.09519829, -0.033453338, 0.06451083, -0.043613426, -0.009969589, -0.11931571, 0.03572111, 0.0051956573, -0.0647261, -0.07640106, 0.14315592) * go_3(1.0, 0.0); + result += mat4(0.051365715, 0.05332849, 0.028890109, -0.047791258, 0.088561386, 0.07254739, -0.04627223, -0.066297226, -0.106467545, -0.061747868, -0.04026904, 0.0245163, 0.104035124, 0.0005123147, 0.09572231, 0.23461665) * go_3(1.0, 1.0); + result += mat4(0.025117617, -0.051919132, -0.10238518, 0.0087314, -0.24502674, 0.24725929, 0.020510906, -0.11374982, -0.08788345, 0.14287415, -0.05371828, -0.09765232, 0.089326784, 0.059355933, 0.003667818, 0.007658546) * go_4(-1.0, -1.0); + result += mat4(0.032038644, -0.064910114, -0.041199267, 0.07735183, 0.023076316, 0.2316058, 0.14530785, 0.01587883, 0.17309736, 0.034302652, 0.078950614, 0.07103009, 0.042525988, 0.026763001, 0.03962311, -0.017174084) * go_4(-1.0, 0.0); + result += mat4(-0.045589544, 0.09957158, 0.0106373755, 0.029290373, -0.012066452, 0.107432865, -0.10563313, 0.08964528, 0.081136055, 0.16387793, -0.037766423, 0.083933, -0.0100631835, -0.041015863, 0.020540452, -0.01647507) * go_4(-1.0, 1.0); + result += mat4(0.12199317, -0.078802, -0.14587677, -0.05266387, -0.2739342, -0.07832318, -0.02654562, -0.19134043, -0.15542388, 0.10411293, 0.0068920734, -0.18878813, 0.032211393, 0.15987061, -0.12149388, 0.09021272) * go_4(0.0, -1.0); + result += mat4(0.017827235, 0.021951806, 0.12995765, -0.1925006, 0.43689772, -0.067384414, -0.12091599, -0.20399235, 0.11603679, 0.26069987, 0.09115632, 0.29782417, -0.37195182, 0.17822702, 0.26410392, 0.22584216) * go_4(0.0, 0.0); + result += mat4(0.00091769337, -0.10308406, -0.03788696, 0.009829855, 0.07434385, -0.055530947, -0.119265415, 0.03404489, 0.13412294, 0.19281757, -0.21274371, -0.09527358, 0.022169666, 0.06841656, -0.09664997, 0.02376001) * go_4(0.0, 1.0); + result += mat4(0.02522274, -0.07492225, 0.108729765, -0.084396936, -0.1450858, -0.084260635, 0.036976974, 0.07395254, 0.102778085, -0.04220765, 0.015409228, -0.09215815, 0.033722915, 0.09410213, 0.06759963, 0.03639959) * go_4(1.0, -1.0); + result += mat4(-0.0129304, 0.049982294, -0.16211604, 0.15442637, -0.00069647084, 0.026756465, -0.06687889, 0.25361556, -0.022950223, 0.123774804, -0.018783078, 0.23009071, 0.08808236, -0.02500049, 0.058831975, -0.059854023) * go_4(1.0, 0.0); + result += mat4(0.0282501, -0.06622134, -0.03940754, -0.057764836, 0.023595478, 0.12694593, -0.0038103263, 0.1507626, 0.03539641, 0.04670363, -0.07688535, -0.04822336, 0.054404292, -0.07222161, -0.09880846, -0.09190709) * go_4(1.0, 1.0); + result += mat4(0.028638069, 0.032332644, 0.10077746, -0.13334957, -0.068841085, -0.11133997, 0.03466411, -0.10885937, 0.050528128, -0.09258964, -0.07510585, -0.031298082, 0.074979246, 0.02487803, 0.05295848, 0.032633457) * go_5(-1.0, -1.0); + result += mat4(-0.07998351, 0.05691501, 0.036540154, 0.00094257767, -0.15473618, -0.06821505, -0.021972192, 0.22512725, -0.028976573, -0.016970608, -0.07117851, 0.0005293328, 0.18183869, 0.06063047, 0.016248764, 0.10007656) * go_5(-1.0, 0.0); + result += mat4(0.07268518, -0.09155798, -0.002566672, -0.018126441, -0.16046503, 0.048856504, -0.011080104, 0.036383335, 0.08598702, 0.19642924, -0.049759824, 0.07246208, 0.13074261, -0.058662284, 0.03459059, -0.04198155) * go_5(-1.0, 1.0); + result += mat4(0.12882999, -0.021765677, 0.21212584, -0.099195495, -0.105583504, 0.17039305, 0.06333295, 0.090153314, -0.038552936, 0.033885363, 0.04958857, -0.024823477, -0.06625663, -0.013032451, -0.22981462, 0.12724645) * go_5(0.0, -1.0); + result += mat4(-0.2467723, 0.09133717, 0.08810061, 0.07691946, -0.20903678, 0.08403025, 0.010679062, -0.03956549, -0.011411588, -0.022170769, -0.06298385, -0.10067764, 0.03551502, -0.0736268, -0.109931275, -0.15795651) * go_5(0.0, 0.0); + result += mat4(0.050697595, -0.012465872, -0.068512246, 0.1556296, -0.17526908, -0.06572342, -0.018147333, 0.026501164, -0.049490303, 0.061885685, 0.02423367, 0.027439872, 0.37354204, -0.09908201, -0.10852779, -0.047961403) * go_5(0.0, 1.0); + result += mat4(-0.1904858, -0.08803705, -0.15687172, -0.14420407, 0.058089714, 0.103457965, 0.048995994, 0.057829436, -0.05192929, 0.019802462, -0.04511639, -0.0038435445, 0.2194401, -0.043761376, 0.1312272, 0.054326482) * go_5(1.0, -1.0); + result += mat4(-0.07349653, -0.121248744, 0.057792176, 0.099129215, -0.20087934, -0.031952746, -0.09673813, -0.031076657, -0.03237994, -0.020143004, -0.12516364, 0.007846103, 0.17188387, -0.2825958, 0.07352815, -0.021273587) * go_5(1.0, 0.0); + result += mat4(0.14606737, 0.04232884, -0.04508154, 0.11619671, -0.14093883, 0.022675866, 0.004869404, -0.1476083, -0.15496063, -0.11994992, -0.07718659, 0.0023026431, 0.012474549, 0.107636444, -0.08887454, 0.23727296) * go_5(1.0, 1.0); + result += vec4(-0.112874866, 0.058437236, -0.011864247, -0.050339766); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf1 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.016881438, -0.044336118, 0.11502204, -0.10677853, 0.08977789, -0.059579305, 0.109261245, 0.10357805, 0.3364402, 0.14823961, 0.06096494, 0.15078168, -0.11029799, 0.074738294, 0.012435908, -0.0106727) * go_0(-1.0, -1.0); + result += mat4(-0.109714404, 0.008750308, 0.1948044, -0.1396421, 0.04144051, -0.12435535, 0.07815825, 0.019051697, -0.07954506, -0.0965191, -0.2027906, 0.17172056, -0.26384082, 0.13519175, 0.04667002, 0.021707565) * go_0(-1.0, 0.0); + result += mat4(0.07089612, 0.007484666, 0.104900375, 0.04954983, -0.06030455, -0.12300262, 0.05197505, -0.041572303, 0.009151977, 0.0799586, -0.04780254, -0.13600186, 0.18708369, 0.047879692, 0.040363688, 0.042251408) * go_0(-1.0, 1.0); + result += mat4(0.063153245, 0.0050982186, 0.17556845, -0.06571311, -0.03749878, 0.014326615, -0.11032866, -0.27065897, -0.10525074, 0.13344456, -0.16412602, 0.049715474, 0.061313376, -0.24646369, 0.14604661, -0.09024816) * go_0(0.0, -1.0); + result += mat4(-0.026787708, 0.09889526, -0.050714437, -0.18990894, -0.087063104, -0.12555519, -0.0064119035, -0.0066881417, 0.09163732, -0.13423459, -0.05758272, -0.11314744, -0.025565878, 0.078317784, -0.14494383, -0.14658383) * go_0(0.0, 0.0); + result += mat4(0.0110544115, 0.06727031, -0.099965416, 0.059974622, -0.15135513, -0.038787033, 0.07673858, 0.017850239, 0.02383772, -0.1985737, 0.094468035, -0.097836666, 0.19387084, 0.06476367, -0.15316796, 0.023932178) * go_0(0.0, 1.0); + result += mat4(0.009757702, 0.14015986, -0.10496543, -0.044595003, -0.024084711, 0.012144018, 0.0981338, -0.012515983, 0.0060429554, -0.07067267, 0.12682167, -0.11384025, -0.045077007, 0.035177663, -0.06615891, 0.045473646) * go_0(1.0, -1.0); + result += mat4(-0.111679845, 0.026028167, 0.04201027, -0.16000839, 0.037475422, 0.038049795, -0.16249935, 0.02239824, -0.018402468, 0.012291931, -0.07117686, -0.09280776, 0.20392933, -0.02732328, 0.045456327, -0.078981794) * go_0(1.0, 0.0); + result += mat4(0.03066143, -0.0739708, -0.13922189, -0.12682499, -0.1299339, -0.09163088, -0.07340559, -0.050614927, -0.03902327, 0.09319906, 0.23746358, -0.12093768, -0.0071099317, -0.060775675, 0.15018946, -0.013342442) * go_0(1.0, 1.0); + result += mat4(0.07596372, 0.20584284, -0.02217273, 0.2564209, 0.11423146, 0.0098925475, -0.19662452, -0.1313871, 0.08574315, 0.0067099673, -0.08959511, -0.13870555, -0.08032657, 0.013044774, 0.059738085, -0.06106972) * go_1(-1.0, -1.0); + result += mat4(-0.017293025, 0.15636088, -0.10619794, 0.108079255, -0.1168585, 0.09589374, -0.08682874, -0.08116015, 0.005083832, -0.15325624, -0.022297598, 0.23929761, -0.024037527, -0.006906145, -0.17204066, 0.003067951) * go_1(-1.0, 0.0); + result += mat4(0.036887415, 0.0059498777, -0.04959398, -0.12104261, 0.018237587, 0.07747393, -0.038457148, 0.01900929, 0.06142847, -0.03194083, -0.008666936, -0.13599987, 0.031248135, -0.04247948, 0.10167268, 0.13608082) * go_1(-1.0, 1.0); + result += mat4(-0.13198346, 0.1674333, -0.06218637, -0.06692618, 0.12682024, -0.12734371, -0.08660555, 0.22860871, 0.32062, -0.001097262, 0.13959797, -0.0044754874, 0.081532046, -0.026494987, -0.0123374695, 0.026149286) * go_1(0.0, -1.0); + result += mat4(-0.104755685, -0.010431212, -0.031997994, 0.027816107, 0.028212348, 0.06372256, -0.14536087, 0.09018213, 0.01694147, -0.046755623, 0.04764776, 0.057815794, 0.062553786, -0.09214233, 0.040526126, 0.007556779) * go_1(0.0, 0.0); + result += mat4(-0.08911158, 0.07110132, 0.056163214, 0.038952623, 0.10865385, 0.006793654, -0.06653261, 0.18222512, 0.029801054, -0.0811567, 0.12070828, 0.054755576, 0.028518738, -0.016029958, 0.03218924, -0.009337529) * go_1(0.0, 1.0); + result += mat4(0.086197704, -0.015495907, 0.048072338, -0.07199852, 0.082511336, 0.20892009, 0.059752844, 0.105095305, 0.09896605, 0.11799976, 0.061295632, 0.06601205, 0.013666139, -0.015312437, -0.18342482, 0.023882518) * go_1(1.0, -1.0); + result += mat4(-0.013824049, 0.05503347, -0.16911599, 0.008002769, -0.13950597, 0.027708618, 0.25653768, -0.08508614, 0.18204638, -0.06386117, -0.20115016, -0.14755486, 0.05260717, 0.15443258, 0.25847095, -0.10009257) * go_1(1.0, 0.0); + result += mat4(-0.059717122, -0.03435186, -0.10407675, -0.064839795, -0.044192888, -0.036913253, 0.03681877, 0.03697244, -0.09967689, 0.09231582, -0.33624214, -0.023151914, -0.1287868, 0.025817866, 0.053143233, -0.05608657) * go_1(1.0, 1.0); + result += mat4(-0.014672332, 0.06483223, 0.04254691, -0.112299606, 0.23128588, -0.1651168, 0.050003413, 0.04894729, 0.2544582, -0.13577309, -0.0006000951, 0.06801677, 0.09296969, 0.061753552, 0.20265704, 0.257177) * go_2(-1.0, -1.0); + result += mat4(-0.14275837, 0.17531338, 0.04749905, -0.0758535, -0.015062751, 0.046983913, -0.1333634, 0.068564706, -0.09043316, -0.31197232, 0.025262894, 0.042436298, -0.0040407367, -0.22480483, 0.041938446, 0.024641208) * go_2(-1.0, 0.0); + result += mat4(0.14420901, 0.114887774, -0.11488812, -0.0597554, -0.054847293, 0.05547183, 0.03265681, -0.26890585, 0.03439455, -0.255012, 0.17280143, -0.15793064, -0.078898564, -0.12406215, -0.062780574, 0.10172549) * go_2(-1.0, 1.0); + result += mat4(-0.094646096, -0.17374977, -0.0074399756, -0.34635502, 0.07774559, 0.15205993, -0.03449227, -0.06186042, 0.22554572, 0.05784444, 0.12953205, 0.30743182, 0.0064037675, -0.04768125, -0.024676334, -0.038768534) * go_2(0.0, -1.0); + result += mat4(-0.016888129, -0.01739885, -0.100029364, -0.18185234, -0.25301012, -0.057780884, 0.1565648, 0.03068169, -0.11813698, -0.03959661, 0.0833061, 0.15282218, 0.0071316576, -0.07718743, -0.10895751, -0.06739941) * go_2(0.0, 0.0); + result += mat4(0.06317689, 0.18067697, 0.15456977, 0.15414707, -0.17297679, 0.024572203, 0.1171789, 0.07393219, -0.18743253, -0.08222157, 0.11114712, -0.17883265, -0.04287185, -0.09453442, 0.12694365, -0.027343085) * go_2(0.0, 1.0); + result += mat4(-0.06716255, -0.21199013, -0.12669027, 0.21503277, 0.0019133248, 0.0634854, 0.1330296, -0.061205685, 0.29359, 0.17710103, -0.024374757, -0.09792164, -0.18657605, 0.081899285, 0.12585995, 0.025425494) * go_2(1.0, -1.0); + result += mat4(-0.05250748, 0.030909589, 0.1902117, 0.25473362, -0.09742609, 0.053520087, -0.03211081, -0.057595085, 0.12961125, 0.0023426781, -0.013836333, -0.09925751, -0.06785708, 0.08647871, -0.27276617, -0.10692432) * go_2(1.0, 0.0); + result += mat4(0.10256342, -0.0012406971, -0.043700144, 0.18606174, 0.019327404, 0.11292357, -0.15260164, 0.17126434, -0.18879685, -0.16486076, -0.011073295, -0.12524827, -0.008579242, -0.059638925, 0.084539056, -0.117018394) * go_2(1.0, 1.0); + result += mat4(-0.005224277, -0.004213279, -0.0032532548, 0.07730248, 0.09291174, -0.073571384, -0.026436254, 0.03482603, -0.19962324, -0.2610976, 0.020305693, -0.10154568, -0.36644712, 0.051274676, 0.014252039, 0.13887805) * go_3(-1.0, -1.0); + result += mat4(-0.027320823, -0.046729945, -0.026784837, 0.16669074, -0.060943272, 0.033377934, -0.14505643, -0.020337462, 0.16624433, -0.04587067, 0.097641915, 0.081230365, -0.007829853, 0.12665996, -0.14892018, -0.24456674) * go_3(-1.0, 0.0); + result += mat4(-0.08478914, -0.03012501, -0.10310597, -0.11331812, -0.0031645342, 0.14941333, 0.062353395, -0.024058735, -0.0594801, -0.23192395, -0.16746534, 0.06564879, -0.12253713, 0.17433378, -0.0781637, -0.02427467) * go_3(-1.0, 1.0); + result += mat4(-0.02302574, 0.04423824, -0.08400403, 0.09036313, -0.014492948, 0.11002858, 0.18625931, 0.32704633, 0.05124957, -0.068088494, 0.12289486, -0.014215405, -0.13288727, 0.040543802, -0.20918661, 0.073871054) * go_3(0.0, -1.0); + result += mat4(0.017605199, 0.019553222, -0.08225654, 0.20643222, -0.00022603406, 0.08176717, 0.12868896, 0.124581024, -0.030760515, 0.095257014, -0.22808774, -0.034270126, 0.15100974, -0.3296213, 0.18732856, 0.1324247) * go_3(0.0, 0.0); + result += mat4(-0.0529032, -0.026973793, -0.05097176, -0.11297454, 0.020022966, -0.018701904, -0.04847294, -0.15029453, -0.06363558, 0.09747056, 0.07460071, -0.03857069, -0.21553952, -0.11073493, -0.213246, 0.0711861) * go_3(0.0, 1.0); + result += mat4(-0.03162221, 0.001236578, 0.123811916, 0.033390332, -0.037370905, 0.19355269, -0.17827089, 0.014296732, -0.16348897, -0.1319003, -0.16828157, 0.025803383, 0.059980027, 0.110682875, 0.0740905, 0.062085215) * go_3(1.0, -1.0); + result += mat4(0.045581415, 0.045279585, 0.057199746, -0.02156781, 0.006849691, 0.088090494, 0.0050983853, -0.13634379, -0.027394824, -0.095449656, 0.24879529, -0.096120596, 0.1353526, 0.120924726, -0.18323645, -0.021366404) * go_3(1.0, 0.0); + result += mat4(-0.09347594, -0.033151172, 0.08154851, -0.043524023, -0.11946553, 0.034201168, 0.29714793, -0.11766968, 0.07862629, -0.022385478, 0.007981411, 0.072274946, -0.07020759, -0.08967969, -0.01748178, -0.050568584) * go_3(1.0, 1.0); + result += mat4(-0.06815112, -0.08195707, -0.018364457, -0.1291466, -0.07578508, -0.026269661, -0.024130398, 0.345771, 0.061061617, 0.00024922745, 0.121253625, 0.1679367, -0.075497314, 0.018176561, -0.016344557, 0.0036648472) * go_4(-1.0, -1.0); + result += mat4(0.04763461, -0.0020346593, -0.02060361, 0.027356124, 0.12256149, -0.10517474, 0.05206596, 0.48938727, 0.24554996, 0.035649568, -0.0020840873, -0.13338771, 0.055847157, 0.08685442, -0.0049057365, 0.119682014) * go_4(-1.0, 0.0); + result += mat4(-0.0009415129, 0.023808502, 0.011839588, 0.1557796, -0.046566915, -0.16340078, 0.057526406, 0.051289674, 0.009036062, -0.033471756, 0.04899847, 0.08597252, 0.009778078, 0.15277503, -0.02124232, -0.13266967) * go_4(-1.0, 1.0); + result += mat4(0.044579845, -0.057439465, -0.0058995294, -0.016733315, -0.026765248, 0.22384825, 0.10160812, -0.24921204, 0.1505643, 0.10299508, -0.022949796, 0.023317415, -0.11803905, -0.010997904, -0.0165606, 0.10949375) * go_4(0.0, -1.0); + result += mat4(-0.024293665, 0.080889955, 0.065993495, -0.08183072, 0.15339898, -0.10386374, -0.0075264974, -0.45434427, 0.16638929, 0.18546598, -0.15133487, -0.04405705, -0.11456945, 0.023287205, 0.01540089, 0.07659333) * go_4(0.0, 0.0); + result += mat4(0.05337434, -0.07030085, -0.016662175, -0.025540289, -0.20320894, -0.22829315, 0.0023119978, -0.13647676, 0.14624248, 0.057653934, -0.23686588, -0.22728209, -0.04211661, -0.009623881, -0.013481165, -0.050968897) * go_4(0.0, 1.0); + result += mat4(-0.10351371, -0.030414786, -0.021908734, 0.10631468, 0.1558724, -0.030323582, -0.12572181, 0.14325237, 0.16137493, 0.053329308, -0.07966373, -0.14599875, 0.06742195, -0.03502627, 0.093494855, -0.016484367) * go_4(1.0, -1.0); + result += mat4(-0.010210213, -0.07126592, 0.08901449, -0.001978569, -0.0020932974, 0.05631864, -0.07674242, 0.07440119, -0.10262469, 0.06294099, 0.2640596, -0.068250656, 0.039236706, -0.05372906, -0.24834888, -0.027236471) * go_4(1.0, 0.0); + result += mat4(0.053275097, 0.12541588, 0.057327554, 0.1483746, -0.019743394, -0.004537443, -0.002553759, 0.051015604, 0.15611948, 0.0062136482, 0.15442398, -0.17060183, 0.072183914, 0.030539684, 0.122384906, 0.13613632) * go_4(1.0, 1.0); + result += mat4(-0.081967466, -0.045659952, 0.053518385, 0.038269065, -0.20554744, 0.1022743, -0.16302924, 0.11628324, 0.08677866, -0.016249105, 0.0030073056, 0.029243115, 0.09487045, -0.08571386, -0.108643636, 0.023155121) * go_5(-1.0, -1.0); + result += mat4(0.13383357, -0.14805956, -0.0026678462, 0.096683614, -0.19977921, 0.06789931, 0.11313261, -0.08059509, 0.11312805, 0.02279778, -0.028791273, 0.00220455, 0.1280279, -0.0031435476, 0.027489156, 0.22506006) * go_5(-1.0, 0.0); + result += mat4(-0.17668596, 0.056276754, 0.06092557, 0.06512077, 0.28657347, -0.16558819, -0.032547206, 0.060506567, 0.042512514, 0.012298008, -0.0840555, -0.003036976, -0.065048106, 0.01438789, -0.022174913, -0.04558888) * go_5(-1.0, 1.0); + result += mat4(0.09863285, 0.20795937, 0.022519527, 0.18537116, 0.0392277, -0.0321246, -0.026941739, -0.113379315, -0.066700965, -0.03651247, 0.0571846, -0.030824896, 0.096933104, 0.15837808, -0.0047979183, 0.27915525) * go_5(0.0, -1.0); + result += mat4(0.102253675, 0.009542945, -0.005872879, 0.16511136, 0.011185962, 0.06349425, 0.015944714, -0.070249364, 0.17597549, -0.0073095546, 0.06678522, -0.048394345, 0.07822778, 0.1582912, 0.029773576, 0.1454936) * go_5(0.0, 0.0); + result += mat4(-0.064127095, -0.13314691, -0.15525493, -0.12851773, 0.32410213, 0.11451161, -0.16337484, 0.22651163, 0.0670393, -0.010159622, 0.061997004, -0.0028491814, -0.12702557, -0.02556835, -0.030351989, -0.101927444) * go_5(0.0, 1.0); + result += mat4(-0.10687288, 0.013433122, 0.035762146, -0.07343635, -0.057016056, -0.041276235, -0.08300978, 0.0058231223, 0.014210706, 0.24323368, 0.010536771, 0.037272993, 0.14479576, 0.0013622575, 0.0004501183, 0.17661947) * go_5(1.0, -1.0); + result += mat4(0.056699157, -0.009144585, -0.20287608, -0.17288777, -0.031525977, -0.014541391, 0.09615033, -0.020868845, -0.06501473, -0.015121819, 0.20430197, -0.04346306, -0.12766391, 0.093933746, -0.027732635, 0.11136926) * go_5(1.0, 0.0); + result += mat4(-0.08438437, -0.1183074, -0.12171084, -0.016565872, 0.011952218, -0.058289453, 0.13479574, -0.0013566733, 0.20290127, 0.03338366, -0.1634658, 0.11389365, -0.060460836, 0.05049821, -0.14498705, 0.016767675) * go_5(1.0, 1.0); + result += vec4(-0.051753327, -0.07172183, 0.021211471, -0.050325148); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf2 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.20980129, 0.023968311, 0.12840137, 0.10842146, 0.011306613, 0.05415782, 0.039082862, 0.16055544, -0.019953849, -0.038693313, 0.043451615, 0.29995796, -0.04229376, -0.052874412, -0.043818697, 0.12305407) * go_0(-1.0, -1.0); + result += mat4(-0.05386288, 0.060217176, 0.115249164, -0.06499263, -0.24467815, -0.038295876, 0.1099765, 0.011418658, -0.037247434, 0.022481795, -0.022084411, 0.08719741, 0.112991996, 0.0038797192, 0.0007742727, -0.12125326) * go_0(-1.0, 0.0); + result += mat4(0.14591883, 0.0059707207, 0.10084995, 0.11218308, -0.06853006, 0.056708243, 0.03836111, 0.097718365, -0.03493398, -0.025623012, -0.05587737, -0.08457079, 0.028527644, -0.12509371, 0.10159183, -0.1373413) * go_0(-1.0, 1.0); + result += mat4(-0.070879295, 0.12866656, 0.0061003384, 0.2756249, -0.110929534, 0.08008204, 0.103428364, 0.0680596, 0.25671995, -0.20484821, 0.07494457, -0.30119568, -0.0037036634, 0.089072324, 0.08692298, 0.070883) * go_0(0.0, -1.0); + result += mat4(-0.010380239, -0.09510446, -0.082714744, -0.17768058, 0.07806542, 0.031258516, 0.22199117, -0.2503904, -0.35995534, 0.22030926, 0.31575105, 0.00959926, -0.01777953, 0.0140022775, 0.03752933, 0.09948206) * go_0(0.0, 0.0); + result += mat4(-0.041341938, -0.07633474, -0.0198307, -0.0010591226, -0.00981418, 0.054734066, 0.07465484, 0.18272892, -0.081466086, -0.016789936, 0.01381776, 0.19449398, -0.16821295, -0.17434129, -0.03367363, -0.29107878) * go_0(0.0, 1.0); + result += mat4(0.03371505, 0.0015008952, 0.038456205, 0.08681006, 0.06587572, 0.080483936, -0.046148404, 0.00034004613, -0.049788523, -0.014699005, 0.12648652, -0.08964094, -0.04100757, -0.0022513492, -0.045995962, -0.033430565) * go_0(1.0, -1.0); + result += mat4(-0.077466115, 0.055482663, 0.06427869, -0.014551742, -0.03726866, -0.050230574, 0.13511398, -0.14205348, -0.03461195, 0.031386618, 0.0590859, 0.032402404, -0.015786028, 0.086712435, 0.0989059, 0.031410974) * go_0(1.0, 0.0); + result += mat4(-0.034690183, -0.038256433, -0.011660002, 0.0063596303, 0.038892817, 0.11872877, 0.0003016667, 0.08520122, 0.0941757, 0.073596634, 0.08374554, 0.046010435, 0.0181265, -0.15729031, 0.11088375, -0.032952093) * go_0(1.0, 1.0); + result += mat4(-0.026296677, 0.15765159, -0.012793888, 0.0082718665, 0.12780726, -0.0118969055, -0.089828335, -0.24008913, 0.19047114, 0.03790669, 0.10990294, -0.14094876, 0.031807188, 0.044609103, -0.1013979, 0.008491038) * go_1(-1.0, -1.0); + result += mat4(0.053833764, 0.26152018, -0.04398908, -0.060880598, -0.028556267, -0.04798034, 0.006057095, -0.19898368, -0.24473669, 0.0472649, 0.15300584, 0.028983278, 0.028763462, -0.017422339, 0.03820097, 0.083550654) * go_1(-1.0, 0.0); + result += mat4(0.0082439445, -0.0012358675, -0.013711661, 0.07154783, 0.07983732, -0.015840268, 0.034440894, -0.04973906, -0.18109304, 0.05403726, -0.03891083, -0.016710335, 0.10012702, 0.02470262, 0.0085716015, -0.0851344) * go_1(-1.0, 1.0); + result += mat4(0.04101796, 0.060623523, 0.011851002, -0.028376777, -0.025862841, -0.042955548, -0.1211269, -0.13360673, 0.0071736956, -0.18880656, 0.276794, -0.011204949, 0.020503378, 0.0110537205, 0.10886233, -0.003678301) * go_1(0.0, -1.0); + result += mat4(-0.14220405, -0.15436499, -0.13759659, -0.03390728, 0.21921699, -0.003154918, -0.101451315, 0.043704413, -0.12738566, 0.19500181, 0.45843616, 0.065685, -0.20168468, 0.12985173, -0.02569477, 0.17067434) * go_1(0.0, 0.0); + result += mat4(0.032667797, 0.16730979, 0.004677948, -9.4643896e-05, -0.014588183, -0.057854652, 0.013125396, 0.096397184, -0.054806076, 0.010901007, 0.0968573, -0.23783323, 0.08697233, 0.008680743, -0.035573848, -0.004963115) * go_1(0.0, 1.0); + result += mat4(-0.00958006, 0.03317287, -0.01340794, -0.018926572, -0.05369498, -0.03341796, 0.030888261, -0.0010606453, 0.039325304, -0.16673934, 0.06557901, -0.08155623, -0.02527372, -0.17023365, 0.015217776, -0.040017188) * go_1(1.0, -1.0); + result += mat4(-0.015815312, -0.042971406, 0.067791514, -0.08905113, -0.09565908, 0.04346861, -0.06728161, 0.15545414, 0.18861936, -0.031062441, 0.23719235, 0.037903327, 0.07448, 0.035912767, -0.011007527, -0.01686951) * go_1(1.0, 0.0); + result += mat4(0.0177658, 0.058648083, -0.028266283, 0.074122384, -0.114152886, -0.1088884, -0.00045867384, 0.12350585, -0.028705545, 0.07543727, 0.019930601, 0.05765993, 0.030875817, -0.01684014, 0.03873862, -0.29210237) * go_1(1.0, 1.0); + result += mat4(0.13872401, 0.0026290037, 0.120320186, -0.096298255, -0.22042315, -0.024083365, 0.021574842, -0.120338276, -0.030302105, 0.0030427484, -0.048579045, 0.11119769, 0.17029862, -0.03042154, -0.008851885, -0.04858139) * go_2(-1.0, -1.0); + result += mat4(0.08693055, 0.0035178792, 0.0072182836, -0.21177882, -0.12236571, -0.041778523, -0.07611475, 0.1860772, -0.07140713, 0.079063386, 0.16111141, 0.10981697, -0.11631706, 0.00499998, 0.03531511, 0.112886176) * go_2(-1.0, 0.0); + result += mat4(0.31241155, -0.155902, 0.026360337, 0.11567123, -0.01410306, 0.043105874, 0.06448718, -0.15669721, -0.10699524, 0.14620166, -0.022471936, 0.16952698, -0.0043298705, 0.012148871, -0.06097046, 0.13138528) * go_2(-1.0, 1.0); + result += mat4(0.04631855, 0.16682167, -0.08682791, 0.031910088, -0.10863085, -0.05405996, 0.20847258, -0.25902548, -0.21886107, -0.016768524, 0.018900516, 0.016220776, 0.086765796, -0.086313486, 0.061806828, -0.042748976) * go_2(0.0, -1.0); + result += mat4(-0.22026716, -0.060322747, 0.055743527, -0.20811775, 0.15368998, -0.05755373, -0.1723089, 0.053601813, 0.3936026, -0.13520636, 0.13089643, -0.09859593, -0.08306327, 0.12936836, 0.1387318, 0.0221951) * go_2(0.0, 0.0); + result += mat4(0.14327681, -0.19199587, 0.02808416, -0.13307315, 0.12417994, -0.06954055, -0.11516412, -0.16203047, 0.085192114, 0.020538192, -0.10626918, 0.13578235, -0.042099748, 0.17358838, 0.040398534, 0.14976105) * go_2(0.0, 1.0); + result += mat4(-0.053998414, 0.12475386, -0.17873338, -0.06543859, 0.007933435, -0.07924536, -0.00051635655, -0.0015982009, 0.0397255, -0.16369022, 0.03679988, 0.100230515, -0.03289991, 0.043998964, 0.058887206, -0.09575534) * go_2(1.0, -1.0); + result += mat4(-0.0027977703, 0.17769088, -0.104156405, -0.1011918, -0.042667318, 0.19569083, 0.0944246, 0.05381444, 0.27140749, -0.12598918, 0.40728518, -0.16019246, 0.07478889, 0.07995141, -0.055247143, -0.015301875) * go_2(1.0, 0.0); + result += mat4(-0.10702615, 0.08362206, -0.12840238, 0.23424083, -0.11492997, 0.14988491, -0.058391277, -0.012141015, 0.15102027, 0.14370169, 0.04101889, 0.18302867, 0.11423182, 0.026963422, 0.02742905, 0.05555466) * go_2(1.0, 1.0); + result += mat4(0.0170646, -0.040626798, -0.086295746, -0.08303102, 0.07351082, -0.10439346, -0.09158801, 0.143845, 0.016958551, 0.21520329, 0.041720334, -0.11638024, 0.087674506, 0.12561873, -0.21283507, -0.23356001) * go_3(-1.0, -1.0); + result += mat4(-0.011983947, 0.026985325, -0.10494964, 0.045505363, 0.06308739, -0.0132794585, -0.19216236, 0.0044559645, -0.21042153, 0.026115706, -0.08442747, 0.08834091, 0.13262731, -0.06231853, -0.20550017, 0.03952042) * go_3(-1.0, 0.0); + result += mat4(-0.13586617, -0.0021369287, -0.121751934, -0.019784765, 0.03198282, -0.17328545, -0.10135551, -0.0024194748, -0.04619262, 0.21542613, -0.09846654, 0.081278816, 0.16300274, 0.01612674, -0.0033168197, -0.0257739) * go_3(-1.0, 1.0); + result += mat4(0.1674388, 0.01902311, 0.007676536, -0.12779048, 0.18292421, -0.22342151, -0.05965652, 0.14477763, -0.09779103, 0.14098361, -0.16848993, 0.19790487, 0.006252736, 0.22206211, -0.15818825, 0.08966031) * go_3(0.0, -1.0); + result += mat4(0.17080314, 0.069508895, -0.038767304, 0.18950053, -0.08592572, -0.20979418, -0.21214612, 0.3330128, 0.30952567, -0.107134975, -0.16258, 0.022875668, -0.02457244, -0.12532432, -0.24953507, 0.059734188) * go_3(0.0, 0.0); + result += mat4(-0.0018491185, 0.033706773, -0.1065624, 0.025152596, -0.016163057, -0.041699793, -0.12381229, -0.025942512, 0.13162622, 0.03565028, 0.029629026, -0.018657705, -0.1921952, 0.101777196, -0.06653633, 0.079698876) * go_3(0.0, 1.0); + result += mat4(-0.040848907, 0.013372185, -0.061049856, -0.05829793, 0.03286879, -0.23536444, -0.056496553, 0.10049081, 0.0040958193, 0.1146177, 0.05323595, -0.040001456, -0.07206396, 0.052719124, -0.11720367, 0.12925144) * go_3(1.0, -1.0); + result += mat4(0.08204122, -0.04806825, 0.03865589, -0.016993582, 0.004172861, -0.025698105, -0.01519582, 0.1425758, 0.02170024, 0.105864905, -0.03567325, -0.016229391, 0.22955607, -0.043812234, 0.045955688, 0.07391785) * go_3(1.0, 0.0); + result += mat4(0.025563411, 0.016936684, 0.054015722, -0.03440089, 0.0448358, 0.012403107, 0.011840847, -0.10125541, 0.03623299, -0.005010518, -0.043322872, -0.17361045, 0.015130423, 0.1813893, 0.0017346571, 0.07948043) * go_3(1.0, 1.0); + result += mat4(-0.027647035, -0.0092600705, -0.05360344, -0.03877652, 0.028799497, 0.002088597, -0.13616459, 0.14142619, -0.26286268, -0.10349014, -0.066500075, 0.009223449, 0.08260629, -0.037491266, 0.019173276, -0.022004724) * go_4(-1.0, -1.0); + result += mat4(0.004824502, -0.114328325, -0.0023743433, 0.027862813, -0.019098494, 0.050463524, -0.11528185, 0.22641957, -0.025532806, 0.007936803, -0.064679936, -0.055090822, 0.07407797, 0.052605998, -0.043648902, -0.16713037) * go_4(-1.0, 0.0); + result += mat4(0.078680634, 0.020991815, 0.008421187, 0.010790185, 0.032945324, 0.13025786, -0.14650385, 0.053448163, -0.0028072142, 0.039515216, 0.1282605, -0.029288173, -0.029804084, -0.13323198, -0.054916043, 0.056681957) * go_4(-1.0, 1.0); + result += mat4(-0.09560204, -0.0669099, 0.005074813, 0.09496971, 0.027659275, -0.2191003, 0.29730386, -0.022740293, -0.025892505, -0.1871456, 0.028785622, -0.12673095, 0.0664705, -0.08389141, -0.089651205, -0.15402664) * go_4(0.0, -1.0); + result += mat4(0.0063571655, 0.15680969, 0.061591282, 0.03752913, -0.041436892, 0.075064555, 0.20300192, 0.031942736, 0.0804296, -0.22194067, -0.20516422, 0.07361, -0.15353987, 0.25465, 0.008901653, 0.10683235) * go_4(0.0, 0.0); + result += mat4(-0.006734436, -0.14774522, -0.031374577, -0.1032655, 0.11299578, 0.1205544, 0.11802791, -0.0612094, 0.03863345, 0.09838008, 0.037064772, 0.029507324, -0.051219307, -0.055263996, 0.02356915, -0.16056564) * go_4(0.0, 1.0); + result += mat4(-0.06996934, -0.015304054, -0.009411581, 0.030309107, 0.10674073, -0.020733232, -0.115811616, 0.031903993, -0.049218595, -0.067377076, 0.26841155, -0.06866156, -0.09156055, -0.10751758, -0.022639344, -0.18830526) * go_4(1.0, -1.0); + result += mat4(0.020456642, -0.035503354, -0.09457199, 0.05264921, 0.24155058, 0.12630259, -0.045381807, -0.12230558, -0.03225022, 0.04103188, -0.13622516, -0.0040657576, 0.023767322, -0.051124092, 0.09194598, -0.03766687) * go_4(1.0, 0.0); + result += mat4(-0.016005656, -0.05218363, 0.029727828, -0.1604237, -0.009916855, -0.024033275, -0.14342757, 0.083073266, 0.057055146, -0.013757824, 0.15497124, -0.17284107, 0.05109579, 0.013304962, -0.06706223, 0.06251818) * go_4(1.0, 1.0); + result += mat4(0.06668304, 0.009187671, -0.047118776, 0.07131393, -0.17141497, -0.015085916, 0.004049452, -0.035744824, 0.032192133, 0.15326595, 0.044383276, 0.14035697, -0.090966456, 0.14161377, -0.015315352, 0.11275578) * go_5(-1.0, -1.0); + result += mat4(-0.13508414, 0.0785333, 0.009038879, 0.1607147, 0.22703816, 0.033339903, -0.03727777, -0.31905726, -0.069729164, 0.036481526, -0.025714623, 0.0851529, -0.12554394, 0.105045296, 0.059951913, -0.0604455) * go_5(-1.0, 0.0); + result += mat4(-0.20849659, 0.088841915, -0.1109168, -0.08992707, 0.31967592, 0.005481088, 0.22387522, 0.02098377, -0.0497405, -0.025430094, -0.0043220813, 0.060257867, -0.21568587, 0.067227446, -0.057946377, 0.06617755) * go_5(-1.0, 1.0); + result += mat4(0.076282814, -0.20857447, 0.056654572, -0.014142213, 0.029527945, -0.07234652, -0.094661996, 0.22620171, 0.042960577, 0.013866398, 0.036293183, 0.14942285, 0.076137245, -0.002794117, -0.1168563, -0.0146170305) * go_5(0.0, -1.0); + result += mat4(0.10552861, -0.15840133, -0.03899879, 0.23962662, 0.04375998, 0.1696087, 0.037471466, -0.2348845, -0.04425561, -0.09243792, -0.12540625, 0.013209438, 0.20652635, 0.28815508, -0.14443508, -0.045806926) * go_5(0.0, 0.0); + result += mat4(-0.18040875, 0.101635806, 0.022794934, 0.01974664, 0.24168968, -0.09383824, -0.05368557, 0.095760964, -0.03084522, 0.03096591, -0.025146073, -0.15247615, -0.07991138, 0.041957334, 0.13305306, 0.10435218) * go_5(0.0, 1.0); + result += mat4(-0.12386387, -0.07711658, -0.010701461, -0.15226945, 0.13125682, -0.05067199, 0.05759467, 0.06512925, -0.087202296, -0.09307128, 0.074678324, -0.118310176, 0.013819953, 0.078637935, 0.060606144, 0.024220081) * go_5(1.0, -1.0); + result += mat4(0.034386832, -0.18846357, -0.039673664, 0.113117084, -0.045039542, -0.10561991, -0.073102295, -0.3002364, 0.03678976, 0.12222279, -0.115726635, 0.07686326, 0.040241316, 0.1602316, 0.09017754, -0.115864284) * go_5(1.0, 0.0); + result += mat4(0.052414972, 0.033908065, 0.08952466, -0.17085709, 0.006635481, -0.040943716, -0.21519491, 0.04866619, -0.04725049, -0.05258961, -0.014845829, -0.26571122, 0.07195377, 0.20871797, -0.068733044, 0.15962349) * go_5(1.0, 1.0); + result += vec4(-0.07961375, -0.07668534, 0.030482467, 0.035888318); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!SAVE conv2d_5_tf +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.09584929, -0.095243275, 0.08022671, 0.075294726, 0.18445255, -0.082423694, -0.097833045, -0.021506732, -0.21379599, -0.023127496, -0.18897046, 0.023956126, -0.060177475, 0.027762169, 0.19984011, -0.20838684) * go_0(-1.0, -1.0); + result += mat4(0.012249506, -0.12688737, -0.12119437, 0.10179773, -0.09664198, -0.0030920326, -0.030286502, -0.20217018, 0.34590152, -0.05034654, 0.049923953, -0.043337423, 0.25000378, -0.028680135, 0.16001691, -0.066234544) * go_0(-1.0, 0.0); + result += mat4(-0.08372182, -0.089819506, -0.013704554, 0.04556739, -0.114813834, -0.06466441, 0.03785733, -0.0062836753, 0.047535792, 0.06347279, -0.007735239, 0.049881376, 0.20055495, 0.047256388, -0.09947006, 0.0025243685) * go_0(-1.0, 1.0); + result += mat4(0.3671971, -0.05361603, -0.12586144, 0.12522058, 0.13843551, -0.06033578, 0.22667646, -0.08870703, 0.01452431, 0.17809536, 0.13784996, 0.15395631, 0.0001755052, 0.30571333, -0.14230241, -0.22773817) * go_0(0.0, -1.0); + result += mat4(-0.27697307, 0.19896318, -0.055979818, -0.27574858, 0.06590851, -0.083754696, 0.26534772, 0.04968563, 0.028200507, 0.11523887, 0.07717626, -0.037011877, 0.013540311, -0.015524421, 0.20788544, 0.16297664) * go_0(0.0, 0.0); + result += mat4(-0.13144116, -0.14546596, 0.10977632, 0.010728187, 0.025761489, -0.018065382, 0.06367839, 0.14230403, 0.12607081, -0.0124253975, 0.31784698, -0.017743418, -0.022748945, 0.05433257, 0.0031092372, -0.031199085) * go_0(0.0, 1.0); + result += mat4(0.21655789, 0.011040414, 0.06492884, 0.0706221, 0.09610853, 0.057776507, 0.009683445, -0.060912937, 0.021881321, -0.19671698, -0.0130090965, -0.013112566, -0.085476145, 0.038455218, -0.0014731084, -0.0831875) * go_0(1.0, -1.0); + result += mat4(0.37602007, 0.0823336, 0.24707538, -0.09009795, -0.017044, -0.12772176, -0.17441119, -0.042144842, 0.09458421, 0.28926283, 0.06927162, -0.06356304, 0.2206176, 0.1834394, -0.055222265, -0.13328971) * go_0(1.0, 0.0); + result += mat4(-0.12759925, -0.1872996, 0.12348925, 0.09169479, 0.2032652, 0.021332331, -0.02606638, -0.30383334, 0.11312311, -0.12563488, 0.07815656, 0.033551723, 0.073155805, 0.022491606, -0.004879681, -0.020566663) * go_0(1.0, 1.0); + result += mat4(-0.0074200626, -0.045258366, -0.11789159, 0.15158547, 0.021973789, 0.013558428, -0.06303165, -0.014261419, -0.005217678, -0.08988565, -0.032385588, -0.16513458, -0.00094591687, 0.105432004, 0.008511094, 0.064075306) * go_1(-1.0, -1.0); + result += mat4(-0.11356488, 0.033568926, -0.0035593451, -0.1380603, -0.09776493, 0.16050343, 0.14889094, -0.20236592, -0.13227837, -0.3369538, -0.08290829, -0.102781296, -0.0008081758, 0.25186548, 0.045406237, -0.08264705) * go_1(-1.0, 0.0); + result += mat4(0.012680731, 0.045382235, -0.099822015, 0.052455686, -0.017731141, 0.2148587, -0.025351917, 0.031683072, -0.25334007, 0.0181896, -0.0813112, -0.12272559, 0.04371032, 0.065688565, -0.020920211, 0.23614638) * go_1(-1.0, 1.0); + result += mat4(0.07416445, -0.1632982, 0.019079927, 0.033240702, 0.13220134, -0.09758509, -0.09742767, 0.0003053599, 0.110648625, -0.06813206, 0.10455032, -0.037899535, -0.03261096, 0.06280864, -0.17577846, -0.279448) * go_1(0.0, -1.0); + result += mat4(0.032076143, 0.00038162203, 0.01970988, -0.040755652, 0.14594907, -0.29632306, 0.18186367, 0.06210379, 0.089618064, -0.20777738, -0.11941431, -0.047921117, 0.069467194, -0.061959818, -0.097263746, 0.20329393) * go_1(0.0, 0.0); + result += mat4(0.13389389, 0.053396456, 0.15672714, 0.1585184, 0.019925753, 0.08114361, 0.1381434, 0.06507304, -0.021846443, -0.040439755, 0.028436588, -0.1502027, -0.01547767, -0.09032624, 0.1101168, -0.044395007) * go_1(0.0, 1.0); + result += mat4(-0.08236856, 0.25564417, 0.15329555, 0.054097474, 0.12049528, -0.076263994, -0.19988477, 0.01916389, 0.097000316, -0.15214846, 0.1360054, -0.0007913522, -0.22950296, 0.0919526, -0.0045635877, 0.16661373) * go_1(1.0, -1.0); + result += mat4(-0.19546251, 0.008113141, -0.08576472, 0.23981415, 0.037918933, -0.106971025, -0.19296011, 0.064365655, -0.1451187, 0.03483461, 0.03271891, -0.001744038, -0.24933495, 0.0021132312, -0.15542698, 0.041852806) * go_1(1.0, 0.0); + result += mat4(0.07619386, 0.17014128, 0.05875971, 0.056373183, 0.077981666, -0.034455027, -0.09977959, 0.019308453, -0.097891875, -0.011260777, 0.009704571, -0.091228284, 0.072402045, 0.1679339, -0.021336546, -0.078355595) * go_1(1.0, 1.0); + result += mat4(-0.10250763, 0.07651088, -0.0131817255, 0.035391405, 0.1545587, -0.005520408, 0.18242277, 0.034118786, -0.0512669, 0.09563292, -0.0063671293, 0.017505696, 0.038793128, -0.23837951, 0.047975145, 0.17773068) * go_2(-1.0, -1.0); + result += mat4(-0.0031853304, 0.1552162, 0.16779172, -0.06020084, -0.19057243, -0.13034964, -0.028302211, -0.1005563, -0.025626518, 0.087223954, 0.19338006, -0.06066401, -0.2122666, 0.001640063, 0.033021607, 0.06684525) * go_2(-1.0, 0.0); + result += mat4(0.10043514, 0.033739183, 0.01542628, -0.07931681, 0.032161597, 0.16379037, 0.050983094, -0.030686958, 0.19189216, -0.15878248, 0.01945422, -0.02624594, -0.10871623, -0.06925224, 0.020812772, 0.07386481) * go_2(-1.0, 1.0); + result += mat4(0.012129095, -0.029043682, -0.054882783, -0.04798959, 0.12916534, -0.012814343, 0.06516883, -0.054208606, 0.2625884, 0.008694777, -0.16992761, -0.041635927, 0.10295491, -0.04496253, 0.14063339, 0.15155916) * go_2(0.0, -1.0); + result += mat4(-0.09972329, -0.2031706, 0.15199123, 0.136278, -0.030424237, 0.01253304, -0.22483149, -0.04429611, -0.0058194255, 0.32650772, -0.13599585, -0.15167284, 0.13211648, 0.06883629, 0.13449487, 0.1419326) * go_2(0.0, 0.0); + result += mat4(0.16303232, -0.12681945, -0.24028221, -0.018534243, 0.048438597, 0.02196457, -0.26033646, 0.11363536, -0.23852448, -0.2250161, 0.054867614, -0.042418674, 0.036863618, 0.16061254, -0.103400566, -0.054900676) * go_2(0.0, 1.0); + result += mat4(0.0018444043, 0.047589947, 0.15244149, 0.026401952, -0.16383879, 0.2288589, -0.067270175, 0.035644963, -0.046972964, -0.079998486, -0.07510886, 0.086569756, 0.088215984, -0.08220123, 0.006012456, -0.081925176) * go_2(1.0, -1.0); + result += mat4(-0.20731804, -0.105194375, 0.1735274, -0.13702598, -0.08078456, -0.08891678, -0.20113394, 0.20032553, 0.23738097, -0.06555696, 0.0073099127, -0.24053259, -0.19441254, 0.044497594, -0.085050255, -0.45097253) * go_2(1.0, 0.0); + result += mat4(-0.015630659, 0.096795596, -0.05207522, -0.021776563, -0.052400976, 0.0060831443, 0.19417833, 0.14141484, -0.031068498, -0.031282816, -0.0053475797, 0.16884208, -0.049706176, -0.117957756, -0.122313395, -0.22831066) * go_2(1.0, 1.0); + result += mat4(-0.13027157, 0.11083156, -0.05295985, -0.13405156, -0.25512117, 0.007962338, -0.19477697, -0.043301556, 0.10253565, -0.12592895, 0.05690188, -0.03008582, -0.08713882, -0.05253795, -0.05898243, 0.07648529) * go_3(-1.0, -1.0); + result += mat4(-0.028103404, 0.107655846, 0.06792543, 0.038461875, -0.17316198, 0.045686997, -0.1318844, 0.1923057, -0.10082274, 0.023855874, 0.014650556, 0.07000885, 0.03179704, -0.17100379, 0.060464893, -0.05120159) * go_3(-1.0, 0.0); + result += mat4(-0.008488711, 0.10152624, -0.08714461, -0.054719266, -0.0132024065, 0.06630249, -0.0070151696, -0.076831385, 0.15455176, 0.065892935, 0.06491651, 0.07013989, -0.016401365, 0.1033902, -0.026735194, 0.09976299) * go_3(-1.0, 1.0); + result += mat4(-0.062281746, 0.11808364, 0.064350896, -0.077770054, -0.10968356, 0.08668185, -0.14066383, 0.020038921, 0.21482739, 0.01405822, -0.05047993, -0.098990895, 0.113971226, -0.07471277, 0.14986148, 0.087345585) * go_3(0.0, -1.0); + result += mat4(-0.06364801, -0.17296022, -0.17889057, 0.20986524, -0.022308208, -0.13067317, -0.1608613, 0.005560176, 0.18469712, 0.08284309, -0.16637094, -0.1101153, 0.0047913613, 0.085900925, -0.19173592, -0.336121) * go_3(0.0, 0.0); + result += mat4(0.32434624, -0.11097179, -0.2576656, -0.035399284, 0.12601346, 0.12047275, -0.08445279, -0.22353333, 0.275204, -0.028347714, -0.1910839, -0.105464876, -0.17244552, 0.10430915, 0.07988085, -0.024917416) * go_3(0.0, 1.0); + result += mat4(-0.38803256, 0.12614547, 0.113965005, -0.05710032, -0.2639457, 0.015134661, 0.018303871, 0.060708337, 0.18753609, 0.025863146, 0.09349249, -0.034619175, 0.078573935, 0.034479834, 0.03612244, -0.08949277) * go_3(1.0, -1.0); + result += mat4(-0.16215962, -0.030498799, -0.10899874, -0.03440776, -0.015821088, 0.029496742, 0.13228656, -0.16718344, -0.14563835, -0.17501803, -0.004510379, 0.020998359, 0.06548722, -0.13759966, 0.07444127, 0.10629099) * go_3(1.0, 0.0); + result += mat4(0.0698536, 0.23689122, -0.0060213935, -0.0015028039, 0.039947093, 0.11350835, 0.19953221, 0.08415087, 0.22800536, 0.06906256, -0.06636992, -0.24212533, -0.0023316562, 0.011869679, 0.25965255, -0.012204548) * go_3(1.0, 1.0); + result += mat4(-0.000661378, 0.10967955, 0.058565635, -0.15265211, 0.14624023, -0.03375811, 0.05981829, -0.022552123, 0.070834555, -0.022453807, 0.019191928, 0.08326683, 0.0777132, 0.08895826, 0.023328163, 0.053312927) * go_4(-1.0, -1.0); + result += mat4(0.043799512, 0.12866509, -0.046365067, 0.24239258, -0.11673964, -0.025937054, -0.12636824, 0.100062154, -0.10018257, 0.19266897, 0.06142848, -0.14361443, -0.021221312, -0.30052304, -0.20469959, 0.14677355) * go_4(-1.0, 0.0); + result += mat4(-0.015183433, -0.19820379, -0.15852103, 0.054332163, 0.0071695223, 0.084583715, 0.24957466, -0.051836044, -0.1983422, -0.08417326, 0.08057586, -0.0437153, -0.01875922, -0.09707154, -0.15741958, -0.017708866) * go_4(-1.0, 1.0); + result += mat4(-0.29747635, 0.07556405, -0.024965616, -0.035462193, 0.00015182442, 0.039648414, -0.021202678, 0.048798855, -0.057369143, -0.1613142, 0.023689339, -0.04995168, 0.02980912, -0.052541643, -0.037693493, 0.089918755) * go_4(0.0, -1.0); + result += mat4(0.13534155, -0.09769345, -0.072239734, 0.06396828, -0.067685336, 0.09630334, -0.060928572, 0.04446791, -0.08296695, 0.09350221, 0.34450835, -0.13325562, 0.017068733, 0.19159698, -0.0142695615, -0.0692556) * go_4(0.0, 0.0); + result += mat4(0.006079359, 0.12826636, -0.12040495, 0.08986504, 0.07011883, -0.1098471, 0.14756078, -0.29749495, -0.13352399, -0.19821455, 0.088539004, 0.03831198, -0.2940772, 0.19943683, -0.083427206, 0.22637546) * go_4(0.0, 1.0); + result += mat4(-0.35546607, 0.064483844, -0.19232833, -0.06884708, -0.2744395, 0.015903095, -0.18404284, 0.18437761, -0.072399296, -0.11778013, -0.109648645, 0.038300544, -0.016273083, -0.022765087, -0.18801431, 0.023174742) * go_4(1.0, -1.0); + result += mat4(-0.047155075, -0.013470263, -0.2142679, -0.07784448, -0.17944333, -0.04802458, -0.059323605, 0.06443357, -0.023670893, -0.32168958, -0.047240417, -0.04732927, 0.22192943, -0.12674028, 0.038099587, 0.047584143) * go_4(1.0, 0.0); + result += mat4(-0.036675204, -0.2955229, -0.2730817, -0.021219578, -0.22891581, 0.1896148, 0.1885584, 0.020979041, -0.115823194, -0.07042675, -0.042149916, 0.04921666, -0.0054005245, -0.12240402, -0.0031619132, 0.09292424) * go_4(1.0, 1.0); + result += mat4(-0.121177875, 0.022185382, -0.13757537, 0.110018514, 0.04366351, 0.07803729, -0.028073097, -0.070835054, -0.117744304, 0.010936038, 0.0039909417, 0.15176865, 0.14082533, -0.028780727, -0.09623105, -0.17158796) * go_5(-1.0, -1.0); + result += mat4(0.04708067, 0.09987003, -0.0011556224, -0.14066035, 0.18528107, 0.2334141, 0.031397898, 0.05785171, 0.056908704, 0.07767457, 0.10462482, 0.04132479, 0.0121364035, 0.009938317, -0.08584528, -0.067361355) * go_5(-1.0, 0.0); + result += mat4(-0.05410052, -0.0714775, -0.16306542, 0.090159744, -0.161323, -0.047408808, -0.06715019, 0.09986001, 0.2831126, 0.00576967, 0.040771786, -0.08548527, -0.09100255, 0.13035326, 0.012434338, -0.014341014) * go_5(-1.0, 1.0); + result += mat4(-0.1663156, 0.10254592, -0.050546184, 0.11586232, -0.16458654, -0.03840253, 0.20078611, -0.07851566, 0.15138014, -0.112647966, -0.01826464, 0.12073245, -0.08315027, -0.050763886, -0.15038362, -0.1131053) * go_5(0.0, -1.0); + result += mat4(0.01002309, 0.08847059, -0.20151149, -0.0035132666, -0.23968504, -0.03516418, 0.29592118, 0.064261466, 0.45611492, -0.10594028, 0.110738106, -0.096258715, -0.05207964, -0.05561078, -0.11650712, -0.3685437) * go_5(0.0, 0.0); + result += mat4(0.20816466, -0.05811231, -0.061693646, 0.07572569, 0.14781217, -0.0070261173, -0.025654003, 0.054483656, 0.057109646, 0.19076158, 0.04684541, 0.1116435, -0.09888648, -0.031974472, 0.19365066, 0.021925794) * go_5(0.0, 1.0); + result += mat4(0.03929964, 0.07849196, -0.09844016, 0.07695297, 0.14535576, -0.2121029, -0.08024618, -0.012246682, 0.34951916, -0.09691296, 0.03363421, 0.058434267, 0.003874065, 0.14535636, -0.028760154, 0.124139) * go_5(1.0, -1.0); + result += mat4(-0.0932687, 0.092196085, -0.31407887, 0.1343263, -0.27295715, 0.14278416, 0.08114481, -0.12019184, 0.11957917, -0.113183275, 0.039373737, 0.46590427, 0.13638581, -0.043146584, 0.072187565, 0.25355667) * go_5(1.0, 0.0); + result += mat4(0.123297654, 0.13584657, 0.07648451, -0.13606457, -0.16890481, 0.01590599, -0.21695235, -0.0694265, -0.2649162, 0.02908455, 0.21927917, 0.010575717, 0.0485126, 0.039509103, 0.28077808, 0.081715904) * go_5(1.0, 1.0); + result += vec4(0.04207974, -0.22892998, 0.061954536, 0.076551735); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!SAVE conv2d_5_tf1 +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.017371856, 0.031500984, -0.07871794, 0.07516421, -0.047120046, -0.1499491, 0.03412159, -0.11797919, 0.24790019, -0.19525756, -0.05562878, 0.0328997, 0.21224782, -0.15311961, -0.18679233, -0.021687083) * go_0(-1.0, -1.0); + result += mat4(-0.025990961, 0.12443172, 0.0647746, -0.05208365, 0.05024424, -0.15237884, -0.12913004, -0.03974524, 0.1453159, 0.105298564, -0.17882426, 0.15200019, -0.024576407, 0.024749285, -0.114573665, 0.12468399) * go_0(-1.0, 0.0); + result += mat4(0.07534002, -0.018443566, -0.07744656, -0.049855288, 0.030816372, -0.011974315, 0.05701086, 0.083947234, -0.16585147, -0.09379088, -0.090112925, -0.110042654, -0.105956376, 0.014653304, 0.041867986, 0.24255139) * go_0(-1.0, 1.0); + result += mat4(0.0044792104, -0.029270872, 0.07648775, 0.049905814, 0.014173815, -0.16794622, -0.09707847, 0.12383384, 0.06794641, -0.07997065, -0.51078653, 0.034911633, 0.13010858, -0.23383191, 0.07255915, -0.06692129) * go_0(0.0, -1.0); + result += mat4(0.21879609, -0.017210754, -0.015485283, 0.083878465, -0.26080847, 0.36907044, 0.23289536, -0.038870774, 0.06501928, 0.14246589, -0.08897723, 0.10715434, 0.3482729, 0.16240129, -0.013726439, -0.005958744) * go_0(0.0, 0.0); + result += mat4(-0.11399226, 0.18352379, 0.14817153, -0.20127603, 0.014963564, 0.1103272, -0.07205868, 0.08848388, 0.14840026, 0.018574262, -0.07972405, 0.02918892, 0.18851598, 0.074035265, -0.010895981, -0.034228772) * go_0(0.0, 1.0); + result += mat4(-0.12840563, 0.13339421, -0.042844173, 0.17029236, 0.27274412, -0.05954642, -0.07974038, -0.14359044, -0.12972996, -0.14160097, -0.22879072, 0.17341535, -0.047784876, -0.0024098, -0.066806085, 0.1451525) * go_0(1.0, -1.0); + result += mat4(0.019089594, 0.14139606, -0.16583538, 0.038803227, -0.014393993, -0.06451304, -0.0133141065, -0.22717497, -0.07594741, 0.16408369, -0.0074125547, 0.06459095, -0.13577539, -0.123973124, -0.21311697, 0.06648542) * go_0(1.0, 0.0); + result += mat4(0.2023118, 0.014515263, -0.032675546, 0.01735652, 0.16447331, -0.016542327, -0.17865558, 0.07834224, 0.016872171, -0.12725283, -0.021913532, -0.03262319, -0.11567316, -0.009686028, 0.01897474, -0.00264971) * go_0(1.0, 1.0); + result += mat4(0.02156143, 0.06127393, 0.08751492, -0.0027723024, 0.061267495, 0.22953646, 0.26134068, 0.23994948, -0.05292228, 0.11692952, 0.1014853, -0.013061857, -0.13198215, -0.08740625, 0.08896114, 0.11902029) * go_1(-1.0, -1.0); + result += mat4(0.017173437, -0.00088511547, 0.07882701, 0.059980858, -0.06255887, -0.07106743, -0.070686355, -0.111458905, -0.102210574, 0.082739465, 0.25598842, 0.010992033, -0.06413811, -0.03738569, 0.009392029, -0.047789197) * go_1(-1.0, 0.0); + result += mat4(-0.23666115, 0.07702853, 0.15348057, 0.081954665, -0.028320765, -0.15108013, -0.06386237, -0.03937426, -0.070428774, 0.046394363, 0.097939745, -0.08086774, 0.06996333, -0.048788365, 0.07915947, 0.05624496) * go_1(-1.0, 1.0); + result += mat4(-0.14345141, 0.048822183, -0.2908337, 0.013937969, -0.019703582, -0.41485405, 0.431834, 0.05884408, -0.3067431, 0.10988645, -0.014010137, 0.06143512, 0.24215294, -0.17129561, 0.11282655, 0.19824891) * go_1(0.0, -1.0); + result += mat4(-0.07530577, -0.015041713, -0.11711949, 0.060197067, 0.15375182, 0.5235449, -0.15465264, 0.055295702, -0.12753716, 0.04075088, 0.06649801, -0.08592669, -0.034694944, 0.18401965, -0.031681508, 0.086950384) * go_1(0.0, 0.0); + result += mat4(0.23155743, -0.012697523, -0.19502366, -0.09216853, -0.050312944, -0.003234684, -0.07824935, 0.09000848, -0.1604727, 0.16866255, -0.07226818, -0.04688219, 0.18855634, 0.07053166, 0.06875359, -0.082133405) * go_1(0.0, 1.0); + result += mat4(0.097153, 0.17410621, -0.07209523, 0.031690594, -0.18697138, -0.31457213, 0.12693302, 0.09791562, -0.056750435, 0.17457159, -0.014368028, 0.11140081, 0.14797364, -0.11987443, 0.010138102, -0.24108526) * go_1(1.0, -1.0); + result += mat4(0.08502398, 0.25199497, 0.033161916, 0.11686169, -0.000555042, -0.13222077, 0.019214375, -0.0740864, 0.05422655, -0.0689195, 0.07171115, -0.0063085253, -0.11293817, 0.28714395, 0.08302453, -0.297302) * go_1(1.0, 0.0); + result += mat4(0.0018131305, -0.23274079, 0.28795394, 0.10479223, 0.017336998, 0.10140653, -0.01703538, 0.0018864989, -0.19448972, 0.06781925, 0.0072297496, 0.054331925, -0.056745283, 0.0031926096, 0.08508613, -0.076465875) * go_1(1.0, 1.0); + result += mat4(-0.06579661, -0.074197, -0.07872732, -0.04833768, 0.07948355, 0.10680971, -0.038892176, 0.0026479303, -0.05120215, -0.005223787, 0.013828104, 0.033628467, -0.251052, -0.053964466, -0.04151976, -0.12170088) * go_2(-1.0, -1.0); + result += mat4(0.02224381, -0.11401214, 0.049397755, 0.1178245, 0.124475546, -0.014129338, -0.08712223, -0.110995345, 0.027189068, 0.14115846, 0.008039289, -0.077303566, 0.13120183, 0.088576116, 0.19419082, -0.19265574) * go_2(-1.0, 0.0); + result += mat4(-0.302041, -0.09488605, 0.10128198, 0.25093108, -0.05749319, -0.1325287, -0.07048078, 0.25168943, 0.24393974, 0.26709494, -0.005166187, -0.0858236, 0.098031975, -0.046012603, -0.025616428, -0.038455524) * go_2(-1.0, 1.0); + result += mat4(0.15295, -0.058367014, -0.09462144, -0.004685292, 0.061874785, 0.17379992, 0.10421289, -0.102156416, 0.07116128, 0.09785571, -0.08606482, 0.1615783, -0.10226774, -0.15573122, -0.17567602, 0.12711914) * go_2(0.0, -1.0); + result += mat4(-0.08792466, 0.32314366, -0.040461652, -0.1960407, -0.11285709, -0.14666572, -0.070970505, 0.04230559, -0.05408487, -0.2794681, -0.4155402, 0.26639655, 0.13980015, 0.12434661, -0.02678858, 0.056679014) * go_2(0.0, 0.0); + result += mat4(-0.124382794, 0.018727468, 0.20523487, -0.070906, -0.030757494, -0.10337054, 0.067943715, -0.039035156, 0.035588995, 0.14607283, -0.085760534, 0.19209209, 0.13216998, 0.16539834, 0.010052314, -0.022481022) * go_2(0.0, 1.0); + result += mat4(0.021054843, -0.15636541, 0.011583453, -0.10839945, -0.05794076, -0.053845506, 0.0063711316, 0.09400282, 0.11037196, -0.11023954, 0.07765479, 0.0063296715, -0.100950494, 0.20135373, 0.048100784, 0.1047337) * go_2(1.0, -1.0); + result += mat4(0.019294975, 0.10017591, -0.022420274, -0.024994979, 0.033118278, -0.0335541, -0.099411234, -0.051065058, 0.04019899, -0.09789642, -0.21099539, -0.051657237, 0.0537393, 0.22397718, -0.09253929, 0.0056816903) * go_2(1.0, 0.0); + result += mat4(0.13451837, -0.31405422, -0.02294345, -0.09470789, 0.011980906, -0.29736918, 0.04785323, 0.008854729, 0.0064198305, 0.1608248, -0.0063040988, 0.015922181, 0.058713753, 0.19405961, -0.0074991966, -0.056430623) * go_2(1.0, 1.0); + result += mat4(-0.030276824, 0.051418643, -0.033852484, -0.04178643, -0.09626818, 0.06430078, 0.18420494, 0.21067473, -0.20206925, 0.039089408, -0.20179388, 0.04502135, -0.079114124, -0.18990965, 0.03482791, -0.20353125) * go_3(-1.0, -1.0); + result += mat4(0.12883389, 0.01503085, 0.07740192, -0.021361377, -0.021194257, -0.2965198, 0.038358267, 0.08110664, -0.122530565, 0.002974726, -0.11742695, -0.05976367, 0.011006546, -0.0676137, 0.109357566, -0.09688377) * go_3(-1.0, 0.0); + result += mat4(-0.22074296, 0.019343395, 0.17098527, 0.21736804, -0.15512446, 0.1447234, -0.1344856, 0.051509894, -0.021283794, -0.017791564, -0.023386735, 0.15375026, 0.05583616, -0.22131743, 0.010143341, -0.113710396) * go_3(-1.0, 1.0); + result += mat4(0.12376125, 0.086540736, -0.07823014, -0.11477249, 0.071970075, 0.04002691, 0.09260781, -0.16808367, -0.07891094, -0.28984514, -0.0030400122, 0.20933042, -0.09442383, 0.27100945, 0.03393376, -0.025617108) * go_3(0.0, -1.0); + result += mat4(-0.041222293, 0.012311568, 0.13222927, 0.15650855, 0.024765523, -0.055989124, -0.02946687, -0.0066036643, -0.12604281, -0.16414027, -0.22830643, 0.0840456, -0.19442934, -0.00939128, -0.005971656, 0.027085181) * go_3(0.0, 0.0); + result += mat4(-0.23906162, -0.04003579, 0.16445775, 0.2578306, -0.08858488, -0.0009076812, 0.05893361, -0.07622802, 0.07551978, 0.16221073, -0.08075802, -0.066482686, -0.082238205, -0.07318114, -0.02384466, -0.008769857) * go_3(0.0, 1.0); + result += mat4(0.034418013, -0.04310424, 0.06940784, -0.040061995, -0.196672, 0.059436113, 0.18781166, -0.087357335, 0.17683987, -0.11832282, 0.0704508, -0.080166645, -0.10043135, 0.029797623, 0.045275707, -0.00091474655) * go_3(1.0, -1.0); + result += mat4(-0.13774432, 0.039946273, 0.010250749, -0.064292066, -0.033921324, 0.086792484, -0.06556751, 0.16063036, 0.040354285, -0.005781792, -0.06043568, 0.0456958, 0.057671502, -0.09200769, 0.05852994, -0.038263924) * go_3(1.0, 0.0); + result += mat4(0.0722641, -0.15417133, 0.0428391, -0.11669595, -0.15181269, -0.14444157, -0.05888602, -0.04931457, -0.024105387, 0.04452374, -0.19607021, 0.040299945, 0.023721624, 0.009294535, -0.12308105, -0.032013766) * go_3(1.0, 1.0); + result += mat4(0.13982506, 0.008242153, 0.007985137, -0.028785944, -0.045674372, 0.03811196, -0.006431167, 0.042959616, -0.14530565, -0.13717386, 0.15736887, -0.070945315, 0.16792078, -0.057526443, 0.11027599, -0.062423922) * go_4(-1.0, -1.0); + result += mat4(0.33995095, -0.06725867, 0.25568435, -0.1156066, 0.0073083406, 0.09118932, -0.036027674, 0.14834408, 0.0076618423, 0.048706416, -0.11109869, 0.014119505, -0.16117008, 0.055889986, 0.021106627, 0.0494479) * go_4(-1.0, 0.0); + result += mat4(0.058088336, -0.05898053, 0.28952774, 0.06457457, 0.06820624, 0.031307437, 0.040132232, -0.12814572, 0.034467205, 0.16643257, 0.13826352, -0.050465748, -0.082429856, 0.028516805, 0.10005895, -0.17591912) * go_4(-1.0, 1.0); + result += mat4(0.17962062, 0.050080433, 0.115288205, 0.07467281, 0.07438551, 0.111036986, -0.09742873, -0.23408481, -0.09974166, -0.12665741, -0.04540029, -0.03346997, 0.089152135, 0.082195945, 0.28275734, -0.24630727) * go_4(0.0, -1.0); + result += mat4(0.11799736, -0.06625111, 0.091244, -0.13702978, 0.055218194, -0.031087862, 0.06133677, -0.27246916, -0.15978532, 0.19715077, 0.051257942, 0.036602553, 0.054990616, -0.25717, 0.12677813, -0.0406006) * go_4(0.0, 0.0); + result += mat4(-0.043816347, -0.3335301, 0.19126506, -0.01086813, 0.075816035, 0.15178275, -0.07246076, -0.19391762, 0.07836278, 0.12452172, 0.09029487, -0.034167152, -0.061805293, -0.08850912, 0.08531079, 0.14093879) * go_4(0.0, 1.0); + result += mat4(0.120683454, 0.02466898, 0.19501889, -0.047962803, 0.2524244, -0.04647245, 0.23329985, -0.437865, -0.11040008, 0.05536788, 0.094667554, -0.029751923, -0.04589413, -0.24310234, 0.27122453, 0.010039841) * go_4(1.0, -1.0); + result += mat4(-0.17811799, -0.05787477, 0.10678799, -0.28424516, -0.11051176, -0.0372708, 0.20203365, 0.10050222, -0.1243157, 0.20707713, 0.14385784, 0.025799723, 0.028424745, -0.06201256, -0.1112155, 0.17677756) * go_4(1.0, 0.0); + result += mat4(-0.06334935, 0.14396226, -0.121362604, -0.30631876, -0.17723008, -0.041447658, 0.03672539, 0.1550316, 0.113435954, 0.13270019, 0.04389676, 0.016865736, 0.0027031328, 0.107943274, -0.08071779, -0.007290789) * go_4(1.0, 1.0); + result += mat4(-0.0327075, -0.02185086, -0.00093145896, -0.009849336, -0.06994606, -0.009004001, -0.2962301, -0.093587525, 0.055827085, 0.15590863, -0.1348263, -0.030768193, 0.1539244, 0.056906786, -0.046778735, 0.1293399) * go_5(-1.0, -1.0); + result += mat4(0.060477, 0.10025322, 0.034794286, -0.15556674, -0.046868246, -0.06774045, -0.0046042744, -0.028093262, -0.14673153, 0.0014603435, -0.17085737, 0.09433877, 0.06585415, -0.17430365, -0.09225927, 0.18637276) * go_5(-1.0, 0.0); + result += mat4(-0.0829445, -0.046446815, 0.01044717, -0.08179017, -0.106227055, -0.07285646, -0.118698135, -0.08691134, -0.19350386, 0.18079466, -0.0896787, -0.0054066014, 0.044900116, -0.07164249, 0.03728663, -0.071337156) * go_5(-1.0, 1.0); + result += mat4(-0.091456026, 0.0829187, 0.2184223, 0.12404674, 0.0535281, -0.0046089985, -0.1367499, 0.14318149, -0.13627648, 0.008214974, -0.035714064, -0.11221228, -0.0848333, 0.054274652, 0.12799235, -0.12235648) * go_5(0.0, -1.0); + result += mat4(0.015441998, -0.16407311, 0.29637286, 0.15780787, 0.100573234, -0.023377284, 0.19050701, 0.14114772, 0.1021301, 0.30314055, 0.08799963, 0.11630563, -0.28035656, 0.10020031, -0.009994972, -0.16998753) * go_5(0.0, 0.0); + result += mat4(-0.053246386, 0.15038243, -0.020114498, 0.019207323, -0.4546607, 0.048940018, 0.122429796, 0.14951369, 0.09936216, -0.13126904, -0.15678225, 0.101906285, 0.017061174, -0.17944153, -0.12741113, -0.13633935) * go_5(0.0, 1.0); + result += mat4(0.11258541, -0.056183632, -0.10542277, 0.048327565, -0.10695888, 0.021128727, -0.0025440033, -0.14460813, -0.2421658, 0.04799532, -0.025316745, 0.111919515, 0.133215, -0.23335934, -0.037506737, -0.12447751) * go_5(1.0, -1.0); + result += mat4(0.035608087, -0.17302564, 0.07696709, -0.18077038, -0.02534479, 0.035865046, 0.15503906, -0.07042084, 0.37430316, 0.2688597, 0.23763078, 0.26458314, 0.22778325, 0.13661247, 0.032626268, 0.10627844) * go_5(1.0, 0.0); + result += mat4(-0.14816584, 0.08924656, -0.02333901, 0.0735485, -0.17011848, -0.059921533, 0.045324218, 0.026974149, 0.15702479, 0.0067652813, 0.08584165, 0.09428486, 0.035495974, -0.07220769, -0.0524813, -0.008241412) * go_5(1.0, 1.0); + result += vec4(0.0076388572, -0.16117841, -0.21034169, -0.019341651); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!SAVE conv2d_5_tf2 +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.051828694, -0.14444938, -0.06172656, -0.092529796, 0.0032331774, 0.0505327, -0.092972204, 0.054304235, 0.04113735, 0.05488947, 0.27173808, 0.008734756, -0.037090253, 0.11106639, 0.1864697, -0.1308939) * go_0(-1.0, -1.0); + result += mat4(-0.0292121, 0.09739149, -0.057740077, -0.043211482, 0.00057832256, 0.122456014, 0.14004166, -0.22281875, -0.00958859, 0.012818551, 0.21724443, 0.038053658, 0.11917748, -0.0147661995, 0.15326285, -0.007842389) * go_0(-1.0, 0.0); + result += mat4(0.028475946, -0.044710767, 0.120977476, 0.024894554, 0.034071486, 0.002889187, 0.0886379, -0.13210039, 0.0254021, -0.10800576, -0.0154256895, 0.07889771, -0.026208088, -0.1735971, 0.12414827, 0.06541947) * go_0(-1.0, 1.0); + result += mat4(0.15367964, -0.016319191, -0.087988645, 0.21592557, -0.13575394, 0.07606312, 0.17890929, 0.06405638, -0.15215087, -0.31830072, -0.070441514, -9.058544e-06, 0.15286519, -0.07961882, 0.0051650982, 0.05743661) * go_0(0.0, -1.0); + result += mat4(0.14879431, 0.09249706, -0.08179524, 0.08862426, -0.04546735, 0.052125804, 0.10511877, -0.036810514, 0.19695859, 0.06919595, -0.041425765, 0.05109113, 0.16108315, -0.0006357406, -0.036482725, -0.000831584) * go_0(0.0, 0.0); + result += mat4(-0.14299406, 0.24442554, 0.08385988, -0.0018431129, 0.025425488, 0.043124236, -0.19599897, 0.2500142, 0.084921256, -0.064991206, -0.04332563, -0.20997004, -0.06825186, 0.11137002, -0.08090301, -0.06958994) * go_0(0.0, 1.0); + result += mat4(-0.17347668, -0.09592853, -0.051422764, -0.15347266, 0.19709691, 0.012748645, 0.11250177, 0.020625748, -0.12617995, -0.09576706, 0.121928014, -0.052528545, 0.06992809, -0.060379576, -0.13869223, -0.05584254) * go_0(1.0, -1.0); + result += mat4(0.040104184, -0.12147194, -0.04430197, 0.13594869, 0.09909328, 0.12928483, -0.2334865, 0.11032421, 0.064912125, -0.010493585, 0.06800239, 0.18326257, 0.019329162, -0.09916547, -0.11674449, 0.03267864) * go_0(1.0, 0.0); + result += mat4(-0.07757802, -0.018029094, 0.029337326, 0.29172876, -0.03394624, 0.02624461, -0.2849472, -0.27765557, -0.04780892, -0.019495687, -0.11718942, -0.03025127, -0.008503852, -0.076533996, -0.02296907, 0.068641014) * go_0(1.0, 1.0); + result += mat4(0.13043757, -0.06434652, -0.0690028, -0.033568893, 0.17211302, -0.029193658, 0.12456035, -0.11193319, -0.0035818655, -0.2563802, -0.12287091, 0.10766433, -0.04711406, -0.08852275, 0.0153720435, -0.14872602) * go_1(-1.0, -1.0); + result += mat4(-0.080712505, 0.11759175, -0.11220247, 0.10730683, 0.06418219, 0.00800814, -0.028890526, 0.1441286, 0.03056378, -0.0035148377, -0.120093554, 0.043768104, 0.07286328, -0.021130785, 0.09223498, 0.20331676) * go_1(-1.0, 0.0); + result += mat4(-0.09102653, -0.10116414, 0.15046883, 0.28877532, -0.011975523, -0.0068613496, -0.09103339, 0.11455707, 0.007323278, 0.08825653, -0.054251585, -0.14907618, -0.00018906803, -0.08488728, 0.036797076, -0.12455349) * go_1(-1.0, 1.0); + result += mat4(0.04010406, 0.024046177, -0.20183066, -0.06970149, -0.10715107, -0.077962436, 0.32845956, -0.2622872, -0.15997723, -0.07157501, -0.09492247, -0.00996072, -0.067652985, -0.16896474, 0.06192714, 0.019690538) * go_1(0.0, -1.0); + result += mat4(-0.10179747, -0.10023532, -0.10475995, -0.15501128, 0.017811656, 0.027858434, -0.11646674, 0.08104398, -0.12454491, 0.032985296, -0.09229711, 0.0909355, 0.0021391874, -0.051617827, -0.11611242, 0.036069512) * go_1(0.0, 0.0); + result += mat4(-0.14753185, -0.020901026, -0.0029391565, -0.14624536, -0.09374949, -0.049715783, 0.1951781, 0.22286539, -0.013287656, 0.0830378, -0.2975549, -0.13074464, -0.010272348, 0.032849077, -0.097859964, -0.1562913) * go_1(0.0, 1.0); + result += mat4(0.14641422, 0.13483211, -0.0438145, 0.08620407, 0.11926978, -0.15772878, 0.17547028, 0.15418763, 0.0097786365, 0.016791794, 0.057482373, -0.0716323, -0.061063405, 0.13135311, 0.1040161, 0.1688627) * go_1(1.0, -1.0); + result += mat4(0.11255645, 0.08840791, 0.07584055, -0.09523696, -0.1154477, -0.085963145, -0.075319275, -0.05898237, -0.14236066, 0.058508113, 0.078278095, 0.07180024, 0.19020182, 0.027219167, -0.11044013, -0.1411698) * go_1(1.0, 0.0); + result += mat4(0.1250712, -0.09155498, 0.11040472, -0.28928515, 0.06875818, -0.07716765, 0.07982134, 0.22709553, 0.08608979, 0.02659528, -0.050615177, -0.054662008, -0.016789312, 0.095084675, -0.20973809, -0.14231291) * go_1(1.0, 1.0); + result += mat4(0.009871057, 0.07234809, -0.061542578, -0.2561031, 0.17938578, 0.059759673, -0.0533506, -0.15160522, -0.06667153, 0.022478178, -0.078531526, 0.01727445, 0.032124806, -0.09959757, -0.08871009, -0.0010295251) * go_2(-1.0, -1.0); + result += mat4(-0.07400921, 0.009798935, 0.06958411, -0.14588043, 0.045884695, 0.029824348, -0.08622057, -0.03112675, -0.050385453, 0.12655865, -0.06863022, -0.21982339, -0.06292096, -0.014440884, 0.06755428, -0.114989646) * go_2(-1.0, 0.0); + result += mat4(0.054011043, -0.26510096, 0.21961565, 0.05448362, 0.06296498, -0.07182228, -0.09567859, -0.024238275, 0.005022228, 0.1626434, 0.00019249211, 0.073934935, 0.02381926, 0.025067188, -0.10400833, -0.10235642) * go_2(-1.0, 1.0); + result += mat4(0.019573225, 0.016258147, 0.014888165, -0.09950712, 0.052801423, 0.18720426, 0.13194256, -0.030186977, -0.052970573, -0.20545387, 0.0477203, 0.12807603, 0.106122404, 0.013091209, 0.037285265, -0.17009702) * go_2(0.0, -1.0); + result += mat4(-0.052872628, 0.0067698397, -0.04057391, -0.10654882, -0.08066677, -0.11518657, 0.063243456, 0.108404346, 0.006817193, -0.08499581, -0.16265164, -0.019080937, 0.27572608, -0.02719708, -0.10466762, 0.006535063) * go_2(0.0, 0.0); + result += mat4(-0.004304222, -0.23885699, 0.0007060991, -0.011653924, -0.058662247, -0.10310051, 0.19861554, -0.124969624, 0.08919569, 0.062485468, -0.07952577, 0.06357056, 0.13038754, -0.10383543, -0.12508194, 0.07526947) * go_2(0.0, 1.0); + result += mat4(0.034628194, -0.1459473, -0.12843482, -0.16211623, 0.18986839, -0.021202087, 0.030887406, 0.16012087, -0.07651755, 0.25390217, 0.100328274, -0.18489215, -0.11211924, -0.18655026, -0.12336867, 0.03715863) * go_2(1.0, -1.0); + result += mat4(0.24926607, -0.12733914, -0.16163528, -0.18980862, 0.026140725, 0.030769283, -0.08602958, -0.011363779, -0.18870075, -0.08782851, -0.019595576, 0.15859611, 0.14101227, -0.23768859, -0.11449071, -0.21400326) * go_2(1.0, 0.0); + result += mat4(-0.014345643, 0.03152331, 0.14303848, 0.068378784, -0.023709042, 0.009476213, 0.03332845, -0.043729182, -0.16312705, 0.18575506, 0.045167383, 0.089232035, 0.12431053, -0.019391764, -0.09807002, -0.19098805) * go_2(1.0, 1.0); + result += mat4(-0.0027074527, 0.08881943, 0.021618785, 0.17202215, -0.023361688, -0.12384613, 0.1257001, 0.034937408, 0.050526705, -0.21945108, -0.23475797, 0.1385765, 0.03910722, 0.08761758, -0.06185295, 0.16879226) * go_3(-1.0, -1.0); + result += mat4(0.01759655, 0.07489585, 0.06413278, -0.16355684, 0.021823732, -0.19263723, -0.021956496, 0.07322703, 0.106124505, 0.17441194, 0.016513938, -0.09815339, -0.12467256, -0.036076445, -0.09139147, -0.09947436) * go_3(-1.0, 0.0); + result += mat4(-0.027052518, -0.059014272, 0.14797378, 0.21370119, 0.033306625, 0.070152596, 0.0052737673, 0.28024423, 0.040666968, -0.069734804, 0.07771406, 0.1577554, 0.03728327, -0.01140819, 0.056443825, -0.08787925) * go_3(-1.0, 1.0); + result += mat4(-0.24540152, 0.0015005039, 0.020643666, -0.3483438, -0.11493903, -0.13617486, -0.0063642715, -0.10733139, 0.12702248, 0.20147271, 0.031689152, 0.07603208, 0.15610643, 0.16600998, -0.041932072, -0.087021336) * go_3(0.0, -1.0); + result += mat4(0.15945607, -0.019792518, 0.16893104, 0.047684517, -0.08704263, 0.019054385, -0.13532451, 0.07722914, 0.06000842, -0.053279165, -0.041631456, 0.021691417, -0.05814861, 0.0014272713, -0.2269319, 0.0764104) * go_3(0.0, 0.0); + result += mat4(-0.084321365, -0.2361291, -0.1518955, -0.15901338, -0.06990816, -0.024734944, 0.06835628, -0.21718912, -0.12289749, -0.025446652, -0.15737066, -0.010520588, 0.12629907, -0.06181239, -0.0011575993, -0.004076976) * go_3(0.0, 1.0); + result += mat4(0.012631871, 0.023027385, 0.0036474608, 0.02950606, -0.13008296, 0.098362945, 0.04146146, 0.17968152, -0.15123938, 0.09731617, -0.014078934, 0.05166318, -0.009141391, 0.08204638, 0.07045137, -0.030674614) * go_3(1.0, -1.0); + result += mat4(0.109709226, -0.02842136, -0.07762395, -0.010807984, -0.17060421, 0.0826962, 0.03507386, -0.12764347, 0.12828389, -0.051255893, -0.124972954, -0.16426642, -0.15884088, 0.07268723, -0.0030184009, -0.009351197) * go_3(1.0, 0.0); + result += mat4(-0.05924065, 0.109954804, -0.015081119, -0.30813795, 0.049611736, -0.09356052, 0.14393319, 0.2197319, 0.04127852, -0.083522744, -0.20068535, -0.1432542, 0.061216276, 0.040896352, -0.0010942877, 0.1074572) * go_3(1.0, 1.0); + result += mat4(-0.043747675, -0.09601221, -0.029208777, -0.3020336, -0.18261817, -0.076463126, 0.02404145, 0.021356242, -0.115703, 0.18811412, 0.01355199, -0.18233287, -0.164117, 0.10521931, 0.033724364, 0.045072973) * go_4(-1.0, -1.0); + result += mat4(-0.14719059, -0.12931113, 0.15695307, -0.16798888, 0.062653124, -0.12612487, -0.12454781, -0.084084496, 0.023468291, 0.027891247, 0.0042489907, -0.1077923, -0.005104954, -0.121897295, 0.08160336, 0.23735033) * go_4(-1.0, 0.0); + result += mat4(-0.06651707, -0.15773214, -0.016145034, -0.1297115, -0.05631942, 0.19243148, -0.08536315, -0.2202384, 0.024619251, 0.09842469, -0.060476214, 0.1606162, -0.06982684, 0.27481422, -0.0032873556, -0.055477414) * go_4(-1.0, 1.0); + result += mat4(0.013625612, -0.11602345, 0.13228852, -0.01016997, -0.113034405, 0.12990026, 0.008144483, 0.28583318, 0.0018612862, 0.19464394, 0.06077795, -0.05083094, -0.1419072, 0.30847812, 0.16012973, -0.043837596) * go_4(0.0, -1.0); + result += mat4(0.25535858, 0.047635876, 0.20499952, 0.14458135, -0.2067339, 0.18970652, 0.18168713, 0.089201, -0.1371205, 0.09543299, -0.048719935, -0.21094483, 0.06297616, -0.14864779, 0.24678773, 0.023468606) * go_4(0.0, 0.0); + result += mat4(-0.024188349, 0.049452, 0.119040206, 0.19403425, 0.15611161, 0.20774378, -0.10905696, -0.16743217, -0.067075364, 0.02012775, 0.031936057, 0.16447093, -0.14523768, 0.12793602, 0.21358742, 0.1580285) * go_4(0.0, 1.0); + result += mat4(0.12834404, -0.23567453, 0.0594437, 0.1590165, 0.04364869, 0.092662945, 0.19947445, 0.13371125, -0.030953676, 0.072429836, 0.00064696936, 0.05223404, -0.18505633, -0.038344953, 0.1609896, -0.027951878) * go_4(1.0, -1.0); + result += mat4(0.1615281, 0.02925065, -0.110526, 0.002472878, 0.15692636, 0.17720695, 0.08651831, -0.2926173, 0.039506726, 0.08039181, -0.125379, -0.112809196, -0.018160323, -0.15315212, 0.05300267, -0.12539586) * go_4(1.0, 0.0); + result += mat4(0.045024972, -0.026277857, -0.13403505, -0.082753636, -0.014246987, 0.08158673, -0.17446561, -0.12912557, -0.03281638, 0.12861331, -0.048045747, 0.008813668, 0.13716908, -0.1772549, 0.12983966, 0.28312683) * go_4(1.0, 1.0); + result += mat4(0.06964638, 0.0047901543, 0.09235384, 0.24047932, -0.0034995198, 0.1894994, 0.044509877, 0.08263613, 0.22042292, 0.0068810997, -0.08542091, 0.13489819, -0.017957956, -0.049517035, 0.11637685, -0.070710674) * go_5(-1.0, -1.0); + result += mat4(0.005409427, 0.2764383, 0.100069076, 0.0025022945, 0.042582463, -0.07622942, 0.1427979, 0.12527353, 0.07857632, 0.110723145, -0.091726854, 0.18400952, 0.08911038, -0.11033729, 0.025358237, -0.011007877) * go_5(-1.0, 0.0); + result += mat4(0.041533705, -0.038725346, 0.09127384, 0.10426011, -0.02070303, 0.0878809, 0.15809457, -0.009334662, -0.049823076, 0.11527338, -0.06646191, 0.03342348, 0.07330054, 0.011010275, 0.16572441, 0.059434716) * go_5(-1.0, 1.0); + result += mat4(0.01884174, 0.024791235, 0.063296616, -0.042403292, -0.12980534, -0.019906277, -0.18554951, -0.09545456, 0.17291631, 0.22148399, -0.093014, -0.07421902, -0.15626103, -0.13463756, -0.08697246, 0.18189901) * go_5(0.0, -1.0); + result += mat4(-0.027780509, 0.061554506, 0.18972316, 0.017942533, -0.012191195, 0.047828108, 0.102957085, -0.15932114, -0.13597767, 0.2235027, 0.13829249, 0.11061467, -0.20257929, -0.062691554, 0.06993067, 0.018168231) * go_5(0.0, 0.0); + result += mat4(0.0038817637, 0.053267647, -0.1002687, -0.1239985, 0.04858564, 0.059892915, -0.10344583, 0.24931516, -0.02322075, -0.07354648, 0.20486975, 0.0147269, 0.09117062, 0.0001810227, 0.0011455072, -0.1166342) * go_5(0.0, 1.0); + result += mat4(0.026433034, -0.010127757, 0.1411767, 0.12108788, -0.16191758, -0.06574798, -0.027283505, 0.052705772, -0.09186127, -0.05113535, -0.008512441, 0.06438505, 0.07150241, 0.096780665, 0.14615399, 0.043888208) * go_5(1.0, -1.0); + result += mat4(-0.07171402, 0.053826947, 0.1817855, 0.15776771, 0.020122573, 0.014001945, 0.107657574, 0.06755519, -0.16229364, 0.025698826, 0.19443901, -0.18386869, -0.112747826, 0.19832937, 0.032073986, 0.07755969) * go_5(1.0, 0.0); + result += mat4(-0.0017903978, 0.017006857, -0.154056, -0.12544118, -0.17143774, 0.11694203, 0.046639796, -0.13699242, 0.1032892, -0.16337542, 0.20032221, 0.30423567, -0.09217524, 0.03736137, 0.06391171, 0.18111771) * go_5(1.0, 1.0); + result += vec4(0.11033049, -0.073737, -0.013228117, 0.01553484); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!SAVE conv2d_6_tf +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.0041438183, 0.087629646, 0.02373779, -0.008705929, -0.06460613, -0.079614826, 0.20589171, -0.21300887, 0.06673036, -0.14301205, 0.0005478004, 0.10480311, 0.16944528, -0.023095177, -0.04593122, 0.031710908) * go_0(-1.0, -1.0); + result += mat4(0.24273445, 0.1350743, -0.050578117, -0.006424492, 0.024859063, 0.017022807, -0.054993033, -0.13135757, -0.11061301, 0.0006009131, -0.012896671, -0.029120278, -0.09564777, -0.15695906, -0.008574818, 0.0022726357) * go_0(-1.0, 0.0); + result += mat4(-0.11845177, 0.044411838, -0.02478517, -0.016679568, 0.2842885, 0.05566886, -0.020992488, 0.33000243, -0.045738284, -0.08624307, -0.0029711786, 0.06983461, 0.16860297, -0.08496602, 0.0026587378, 0.1191108) * go_0(-1.0, 1.0); + result += mat4(0.08942806, -0.13266312, 0.050555114, 0.044336855, 0.04668655, -0.17912517, 0.09872363, -0.05689603, -0.04764076, 0.09976931, 0.026714336, -0.12177113, 0.10121553, 0.19926491, -0.013922513, -0.062807985) * go_0(0.0, -1.0); + result += mat4(-0.11948707, -0.19019963, -0.09910906, 0.015228854, 0.19573943, 0.18543078, 0.37633705, 0.0899833, -0.058247276, -0.06500262, -0.0968551, 0.3980007, -0.13930885, 0.031145731, 0.18868047, 0.20646492) * go_0(0.0, 0.0); + result += mat4(-0.27454132, 0.037422657, 0.060829625, -0.15062498, 0.22120185, -0.020640798, -0.15796806, 0.30988604, 0.117011115, -0.11581356, -0.105670854, 0.34526885, 0.09709533, -0.1335589, -0.061150175, -0.023490202) * go_0(0.0, 1.0); + result += mat4(-0.0064297495, 0.053259544, 0.061699186, -0.1023013, 0.13206881, 0.08598005, 0.042804673, -0.036392808, -0.022715596, 0.3187674, -0.043576453, 0.089301124, 0.010875903, -0.045669887, 0.13546628, -0.041321605) * go_0(1.0, -1.0); + result += mat4(0.033168443, 0.07130571, -0.06795218, -0.094012216, 0.09050034, -0.16879193, 0.18427128, 0.19835915, 0.014528693, 0.22958101, -0.012955512, 0.14033306, 0.10309811, 0.03351618, -0.100021325, -0.026367364) * go_0(1.0, 0.0); + result += mat4(-0.40170196, -0.10989097, 0.06447425, -0.19903958, 0.030508196, -0.09201532, -0.1493947, -0.0039443234, 0.16646437, -0.004893318, 0.030999044, 0.22652404, -0.1360666, -0.14109057, -0.124136284, -0.07020125) * go_0(1.0, 1.0); + result += mat4(-0.35415915, 0.078341804, -0.20908163, -0.032414813, -0.17489177, -0.10121671, -0.0123754265, -0.0074867755, 0.20203647, 0.2981116, 0.4581744, -0.10773967, -0.14040758, -0.1311706, 0.2421585, -0.05221277) * go_1(-1.0, -1.0); + result += mat4(0.32388586, 0.121117495, 0.17030708, -0.09672408, 0.10174964, -0.089880064, -0.053550195, 0.07492085, 0.36688468, 0.39096692, 0.27509093, -0.09113504, 0.18473786, -0.030729344, -0.022813018, -0.07951988) * go_1(-1.0, 0.0); + result += mat4(-0.10802985, -0.09921729, -0.083578154, 0.09941307, 0.15204535, 0.0048476397, 0.037141923, 0.072919704, -0.039613035, 0.0011554313, 0.029029889, -0.115339264, -0.2606713, 0.017305905, -0.032651994, -0.1710926) * go_1(-1.0, 1.0); + result += mat4(-0.09530024, 0.08035671, -0.094462946, 0.04531403, 0.116854094, -0.039871104, 0.101754196, 0.07071469, -0.09344735, 0.2224399, 0.31438616, -0.1031509, -0.087050706, 0.023629284, 0.30222768, 0.087091036) * go_1(0.0, -1.0); + result += mat4(0.32540318, -0.123871066, 0.09114808, 0.20059493, 0.13602751, -0.294147, 0.028020037, 0.10215196, 0.14379483, -0.08321783, -0.06476323, 0.039079703, 0.11145182, 0.047562934, -0.0320396, 0.17505427) * go_1(0.0, 0.0); + result += mat4(0.117524795, 0.063353635, -0.08187684, -0.02796676, 0.11098208, -0.02517451, 0.052513797, -0.18859608, -0.25639486, 0.17382553, 0.053182043, -0.09802817, -0.08900308, 0.021651518, -0.07654097, -0.111615546) * go_1(0.0, 1.0); + result += mat4(-0.12933804, 0.0012732261, -0.045028616, 0.06224205, -0.00047467486, -0.26893324, 0.14208493, 0.027069936, 0.16365767, 0.30192706, 0.23923144, -0.105405785, -0.0021433597, 0.14549361, 0.05767389, -0.10113342) * go_1(1.0, -1.0); + result += mat4(-0.07045147, 0.13409013, 0.023928098, 0.045560613, 0.103115976, -0.066133045, 0.12823656, -0.01629772, 0.13711633, 0.27451962, 0.12717873, -0.084038205, 0.12807854, 0.110353716, -0.06848678, 0.056276537) * go_1(1.0, 0.0); + result += mat4(0.16927746, 0.111806795, 0.023252549, -0.12235242, 0.15292254, 0.061406262, 0.06284062, -0.11671832, -0.02885994, 0.12882869, -0.048748255, -0.14202079, -0.08404155, 0.03453428, -0.060811, 0.18254602) * go_1(1.0, 1.0); + result += mat4(-0.011917425, 0.023498498, 0.0072831116, -0.05328629, 0.3426947, 0.08741361, 0.35501662, 0.045255594, 0.08008512, -0.002467051, -0.053357143, -0.05487847, 0.15113881, -0.050046794, -0.036305785, 0.06071048) * go_2(-1.0, -1.0); + result += mat4(-0.012859317, 0.06900528, -0.08498363, -0.08625659, -0.094864994, -0.04425656, -0.0071134693, 0.07542594, -0.08952303, -0.14963494, 0.115062006, 0.073727705, -0.06841927, 0.030572297, -0.060809616, -0.14095046) * go_2(-1.0, 0.0); + result += mat4(0.29680476, -0.070317306, -0.056082696, 0.27471995, 0.109471574, -0.012238972, 0.16928561, -0.12685184, -0.100722544, 0.116650775, 0.054211635, -0.06463175, -0.13047734, -0.070404656, -0.08516014, -0.11477897) * go_2(-1.0, 1.0); + result += mat4(0.058439, -0.1555504, -0.096580744, -0.024473842, 0.090628244, 0.04928509, 0.02740108, 0.0077335024, 0.026813101, 0.065165296, -0.059121966, 0.08125537, 0.16700324, -0.16615666, -0.14588222, 0.00048067764) * go_2(0.0, -1.0); + result += mat4(-0.053213652, -0.16659884, -0.09036764, 0.010975479, -0.11077762, 0.11982606, 0.02579046, -0.13114569, 0.17622563, 0.023344778, 0.080385335, -0.08998645, -0.18493009, -0.048734408, 0.010119995, 0.12936613) * go_2(0.0, 0.0); + result += mat4(-0.08402194, -0.16797844, -0.01022614, 0.09084325, 0.24871092, 0.13302508, -0.1210408, -0.04133277, -0.08691682, 0.02221635, 0.12621205, -0.15186077, 0.19762659, -0.10951936, -0.19129583, 0.21391307) * go_2(0.0, 1.0); + result += mat4(-0.1687245, 0.16445398, -0.06853974, -0.086989194, -0.14615493, -0.009716202, -0.088772245, 0.13583103, -0.08530893, -0.09424376, -0.12971476, -0.02487141, -0.1094553, -0.04473294, -0.27410263, 0.043002244) * go_2(1.0, -1.0); + result += mat4(0.03290918, -0.006952538, -0.12306263, 0.027640607, -0.025346387, -0.09620494, 0.116112545, 0.10227404, 0.03813908, 0.16176395, 0.47203362, 0.047157902, -0.10830938, -0.0019050312, 0.3620803, -0.069925636) * go_2(1.0, 0.0); + result += mat4(0.0020446004, 0.16054538, 0.12809694, 0.0069585256, 0.11748204, -0.011759154, -0.12903488, 0.29380128, 0.21712495, 0.068177566, 0.059223883, 0.10227324, 0.3817376, -0.11270308, 0.0073445877, 0.21012813) * go_2(1.0, 1.0); + result += mat4(-0.199299, -0.040114038, -0.15849929, 0.0057354206, 0.19681698, -0.107773945, -0.04031948, 0.12012136, -0.22728048, 0.045971204, -0.12776788, 0.025411135, -0.2745491, -0.113476306, -0.015801609, 0.008725868) * go_3(-1.0, -1.0); + result += mat4(-0.28201059, -0.069104806, 0.015983578, -0.103806704, 0.121411614, -0.09251776, -0.08143648, 0.21460037, -0.07785157, 0.101122744, 0.013448072, -0.023710037, -0.0358346, 0.1328456, -0.02043331, -0.06159447) * go_3(-1.0, 0.0); + result += mat4(0.06781508, -0.072408475, 0.083291575, 0.040496554, 0.04679973, 0.12705597, 0.06562132, -0.04938638, 0.21427007, -0.004967686, -0.08138591, 0.033386033, -0.048481766, 0.076613255, 0.21033032, -0.05062305) * go_3(-1.0, 1.0); + result += mat4(-0.21217471, 0.13806537, 0.04606568, -0.13743265, 0.1806969, -0.085699804, -0.06342818, 0.1660658, -0.0026293355, -0.02128403, -0.0046605268, 0.008235694, -0.1171583, -0.24562967, -0.28818226, 0.12968758) * go_3(0.0, -1.0); + result += mat4(0.17914222, 0.12522437, -0.14189677, -5.616129e-05, 0.21868588, -0.24404518, -0.12704019, 0.25512457, 0.11127853, 0.043490496, -0.0034969563, -0.1935092, -0.12618113, 0.15022264, 0.10067992, -0.15296605) * go_3(0.0, 0.0); + result += mat4(0.059839483, -0.07332882, -0.0026434374, 0.22739156, 0.04557501, -0.03867732, 0.21676865, -0.058800567, 0.006406612, -0.011612252, 0.009007284, 0.059830897, 0.1614946, -0.07674529, -0.0385602, 0.39797354) * go_3(0.0, 1.0); + result += mat4(-0.1981268, -0.1361051, -0.06161995, -0.002189435, -0.0014002474, 0.126129, 0.023376467, 0.09703216, 0.10666224, -0.23168142, -0.018159337, 0.042339746, 0.12584367, -0.011922057, 0.10902402, 0.15436263) * go_3(1.0, -1.0); + result += mat4(0.0027595635, -0.10197207, -0.034429558, 0.06667168, 0.33573776, -0.099396594, -0.07997797, 0.08387646, 0.0951511, -0.16234699, -0.14867416, 0.00735437, -0.09362014, 0.0664804, 0.27731436, 0.37119982) * go_3(1.0, 0.0); + result += mat4(0.2548695, 0.028097544, -0.0022558135, 0.026973823, 0.1884029, -0.07246545, 0.21642277, 0.026800772, -0.19520886, -0.0009553605, 0.0062482627, -0.16592918, 0.48447585, 0.086303264, -0.05490935, 0.378503) * go_3(1.0, 1.0); + result += mat4(0.1574428, 0.035142746, 0.079227954, 0.100714244, 0.11136245, 0.11895534, 0.009833678, -0.001039115, -0.069387674, -0.010426503, -0.10678969, 0.101909705, -0.031729374, 0.15894724, -0.23622003, -0.011815657) * go_4(-1.0, -1.0); + result += mat4(-0.17458418, -0.120001495, 0.09203402, -0.002166517, 0.0031753816, 0.12831944, 0.16465144, -0.06330301, -0.24267045, -0.12281286, 0.052246343, 0.02494283, -0.18964235, 0.058346782, 0.0025673895, -0.01121613) * go_4(-1.0, 0.0); + result += mat4(0.115957834, -0.060228895, 0.009079297, -0.040949136, 0.014297083, 0.036444042, 0.12076215, -0.1402084, 0.09574682, -0.06670408, 0.029599207, 0.04741757, 0.01102373, -0.05027519, 0.13449037, -0.099299684) * go_4(-1.0, 1.0); + result += mat4(-0.029986456, -0.045808725, -0.05172542, -0.10101369, 0.03663162, 0.039696075, -0.08842631, -0.117827855, 0.1347963, -0.007392197, -0.05730133, -0.04402969, 0.13403495, 0.28114837, 0.17730127, -0.07764935) * go_4(0.0, -1.0); + result += mat4(-0.34972468, 0.006863505, -0.068723604, -0.30767044, 0.12904535, 0.0763381, -0.037620995, 0.028365362, -0.08700267, 0.2257665, 0.14819853, -0.16082688, 0.0929386, -0.0062676766, 0.17218679, -0.16327891) * go_4(0.0, 0.0); + result += mat4(-0.17909175, -0.09134105, -0.0057606776, -0.083825834, 0.1443505, 0.1877781, 0.02841784, 0.1146964, 0.3169764, 0.018749984, 0.19640554, -0.0014817682, -0.27608246, -0.080467306, -0.13688186, -0.06578604) * go_4(0.0, 1.0); + result += mat4(0.02515703, -0.03203328, 0.06439871, -0.06689986, -0.004256959, 0.17631707, 0.042148568, -0.088977, 0.07314368, -0.18564323, -0.11051338, -0.032011528, 0.3711881, 0.495717, 0.21411352, -0.0066381986) * go_4(1.0, -1.0); + result += mat4(-0.05550901, 0.06970293, -0.06802052, -0.022730853, 0.0143414615, 0.096654266, -0.045230158, 0.03669965, -0.08298829, -0.1573773, 0.12953721, -0.042050414, 0.04308049, 0.11458007, 0.0072063627, -0.18453878) * go_4(1.0, 0.0); + result += mat4(-0.16849747, 0.051144414, 0.020992253, -0.09341655, 0.05105659, 0.042700652, -0.06062117, 0.13699457, 0.2397991, -0.009917461, -0.059426248, 0.09855892, -0.28842947, 0.1404379, -0.022812406, -0.23883702) * go_4(1.0, 1.0); + result += mat4(0.10231295, -0.05687462, 0.05454633, 0.1353426, 0.1760176, -0.11181645, -0.31677356, 0.06983046, 0.13605112, 0.17754814, 0.3348445, -0.1652707, -0.061019715, 0.1773025, -0.30495015, 0.11278704) * go_5(-1.0, -1.0); + result += mat4(0.13603285, 0.10336861, -0.023782251, 0.13608527, -0.4052799, 0.14841305, -0.25663885, -0.012108956, 0.28822663, 0.04447834, -0.05276655, -0.18212605, -0.20188917, 0.10997185, 0.06183931, -0.055857945) * go_5(-1.0, 0.0); + result += mat4(-0.2237108, 0.24488361, 0.18851626, -0.07019121, -0.021184865, -0.0499757, 0.026765132, -0.09804875, -0.011333142, -0.108678274, 0.040759776, -0.037615996, 0.14195605, -0.17333975, 0.09601836, 0.14565407) * go_5(-1.0, 1.0); + result += mat4(0.12259593, 0.27562442, 0.24215461, 0.14960998, 0.08186383, -0.010550085, -0.019250091, -0.014648717, 0.14972208, 0.14603175, 0.10073407, -0.1225431, 0.1675907, 0.038280413, -0.06087625, 0.0130648045) * go_5(0.0, -1.0); + result += mat4(0.30968392, 0.11772451, -0.08816913, 0.12534001, -0.050786596, -0.21509898, -0.04253493, -0.04734682, 0.13719988, -0.09571686, -0.3094301, -0.08568065, -0.10093176, 0.024763435, 0.18954168, -0.227629) * go_5(0.0, 0.0); + result += mat4(-0.22520582, 0.18443918, 0.14025666, -0.18477283, -0.12125983, 0.010999684, -0.0024025543, 0.24120031, -0.13416757, 0.01567192, -0.013440386, 0.17282273, 0.16098748, -0.02793626, 0.15618294, -0.0131627675) * go_5(0.0, 1.0); + result += mat4(0.23410907, 0.019564115, -0.0076426617, -0.09377979, -0.47939178, -0.06636784, -0.0011904492, -0.09345677, -0.14794281, 0.25343522, -0.21156238, -0.01817268, 0.12250443, -0.0032213917, -0.19294205, 0.026571818) * go_5(1.0, -1.0); + result += mat4(-0.066518046, -0.011708588, -0.007350381, -0.16976248, 0.09265956, 0.08236158, 0.12594578, 0.021188073, -0.2299054, -0.12767331, -0.098674, 0.035027504, -0.1722649, -0.15037538, 0.037455063, -0.027518287) * go_5(1.0, 0.0); + result += mat4(-0.040520877, -0.17789118, 0.0535865, -0.15534161, 0.09352957, 0.11459578, -0.15315403, 0.04562035, -0.0015360791, 0.047871828, -0.021276174, 0.35346803, -0.10936083, 0.057735037, -0.089098595, 0.0057320776) * go_5(1.0, 1.0); + result += vec4(-0.12162919, -0.00032382424, 0.025486631, -0.09447538); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!SAVE conv2d_6_tf1 +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.024318032, 0.062261496, 0.028226431, 0.063416876, -0.122350864, -0.0113668, 0.061698295, -0.22892742, -0.21282825, -0.30799037, -0.020646222, -0.21302511, 0.050188534, -0.03943688, -0.078553416, 0.010918215) * go_0(-1.0, -1.0); + result += mat4(-0.0064165345, 0.082449056, -0.03667216, 0.026472934, -0.021514278, 0.17880541, 0.39611253, -0.17107382, 0.06770686, -0.053641487, 0.002025645, 0.09812659, -0.07990987, -0.08550891, 0.00025631645, -0.10817648) * go_0(-1.0, 0.0); + result += mat4(-0.11507329, -0.06074527, 0.007052484, 0.015466066, 0.0675046, 0.28604895, -0.020563968, 0.04284168, -0.10729741, -0.103069924, 0.028218608, 0.2833194, 0.11628834, -0.06599205, -0.10394839, 0.13991328) * go_0(-1.0, 1.0); + result += mat4(0.14225487, 0.08203055, 0.027650036, 0.1459416, -0.013772616, 0.23131026, 0.044769842, 0.27454084, -0.047555555, 0.05384277, -0.09042822, -0.16309428, 0.040359538, 0.19854581, -0.026278, 0.1577506) * go_0(0.0, -1.0); + result += mat4(-0.0091988975, -0.05603158, 0.08112747, 0.014755933, -0.50124913, 0.26424783, 0.1621611, -0.3766593, 0.15138763, 0.08449643, -0.16496105, 0.42882624, -0.010958174, 0.09773749, 0.22436622, -0.09687365) * go_0(0.0, 0.0); + result += mat4(-0.019358287, 0.025669195, 0.290994, 0.02750369, 0.28040195, 0.24038815, 0.08250993, 0.021609074, -0.040725835, -0.19103482, -0.10284562, 0.022636155, 0.050841074, 0.0030245516, -0.23331137, 0.15245193) * go_0(0.0, 1.0); + result += mat4(0.0992156, -0.09854949, 0.075423576, 0.008634914, 0.062402267, -0.22020867, -0.07628636, -0.055416584, -0.10278129, 0.117922865, 0.13292609, -0.011894427, 0.16825698, -0.036205966, 0.1424532, 0.10553304) * go_0(1.0, -1.0); + result += mat4(0.19908716, -0.12244845, 0.01669312, -0.01248478, -0.009518143, -0.08615178, 0.39116043, -0.52616054, 0.11156954, -0.115720086, -0.07697886, 0.23553406, 0.017087052, 0.016129963, 0.24723524, -0.11207272) * go_0(1.0, 0.0); + result += mat4(0.033391032, -0.1495619, -0.09304159, 0.30421168, 0.13344899, -0.31858364, -0.081601165, 0.13551356, 0.032184854, 0.016566517, -0.16247925, 0.034869343, 0.04001544, -0.08231552, -0.18482871, 0.19266751) * go_0(1.0, 1.0); + result += mat4(0.21768865, 0.012509539, -0.16523208, 0.22101055, -0.017112812, 0.12730962, -0.066268146, -0.05613703, 0.021577986, 0.24617495, 0.15244165, -0.08514145, -0.10427943, 0.17322995, 0.25568137, -0.015480765) * go_1(-1.0, -1.0); + result += mat4(0.07753385, 0.021704786, 0.23479357, -0.21051238, -0.009220801, 0.20936434, -0.077434614, -0.09195854, -0.34075132, 0.17316882, 0.11968564, -0.021970788, 0.15152359, 0.28213486, 0.07805407, 0.099207774) * go_1(-1.0, 0.0); + result += mat4(0.054490507, 0.07500978, -0.08916167, 0.22030471, 0.07036594, 0.1673276, 0.01864345, 0.0027516915, -0.39270175, -0.03433242, -0.17433889, -0.18174602, 0.044357035, -0.04678205, 0.11330789, 0.047382314) * go_1(-1.0, 1.0); + result += mat4(0.07965972, -0.2201543, 0.18386759, -0.080045894, 0.04141404, -0.027790288, 0.032212794, -0.021278335, -0.070643224, 0.05221597, -0.06377366, 0.065172255, -0.18978727, 0.092385, -0.17461243, 0.2500567) * go_1(0.0, -1.0); + result += mat4(-0.048105214, 0.43421936, -0.11871231, -0.12232125, 0.06071036, -0.07797472, -0.13819577, -0.14363539, -0.003262046, 0.05031809, -0.103945084, -0.22375908, -0.36861306, 0.25518808, 0.04773121, -0.22608627) * go_1(0.0, 0.0); + result += mat4(-0.094031096, -0.011887294, -0.08532428, 0.112617865, 0.06823757, 0.21326852, 0.109153405, -0.3117106, -0.22819358, 0.123445965, -0.066512406, -0.21115267, -0.080148704, 0.12793726, -0.20465335, -0.104592934) * go_1(0.0, 1.0); + result += mat4(0.045067977, -0.2181705, -0.0677207, 0.13714351, -0.098488234, 0.19015153, -0.09273758, -0.0746141, 0.032907944, -0.006554721, 0.045943078, -0.2017389, -0.07914341, -0.085856505, -0.22186919, -0.049897686) * go_1(1.0, -1.0); + result += mat4(-0.10116989, -0.10004126, 0.09973816, -0.056045264, -0.18085082, 0.105252974, 0.11094914, -0.27471054, 0.20055285, -0.15355913, -0.080244385, -0.07118461, 0.02517136, -0.09862167, 0.22725868, -0.06279268) * go_1(1.0, 0.0); + result += mat4(0.10015747, -0.22263162, -0.014078088, -0.08387323, 0.005140913, 0.03506062, 0.18977262, -0.1479168, -0.03378466, -0.15656684, -0.061233502, -0.21884726, -0.24339373, -0.06372294, 0.12688471, -0.10735916) * go_1(1.0, 1.0); + result += mat4(0.033982676, 0.05078853, -0.1282201, -0.0035882539, 0.08219379, -0.0116551975, 0.22077334, 0.04950106, -0.08306263, -0.03258243, -0.09699666, 0.09209884, 0.24061108, -0.040557686, 0.070444405, 0.28183722) * go_2(-1.0, -1.0); + result += mat4(-0.17872535, -0.13406444, -0.034040287, 0.03047437, -0.06435232, -0.24566554, 0.0670411, -0.024581233, -0.107877605, 0.08638364, -0.25626892, 0.044232026, 0.060273834, -0.16846469, 0.43043453, -0.1603817) * go_2(-1.0, 0.0); + result += mat4(-0.22682182, 0.15527044, -0.08887372, -0.043433297, 0.028202614, -0.1919475, 0.2581379, -0.28678998, 0.040917493, -0.023046691, 0.20005395, -0.103288084, 0.009493088, -0.018459544, 0.081757404, 0.054610446) * go_2(-1.0, 1.0); + result += mat4(-0.022377692, 0.008678131, -0.1065251, 0.2628791, -0.009904344, 0.10677991, -0.040256146, -0.116764925, 0.03182517, 0.11810951, -0.052380614, 0.30170968, 0.2569954, -0.17379415, -0.007437352, -0.13248402) * go_2(0.0, -1.0); + result += mat4(0.1602437, -0.097451374, -0.010258972, 0.12651087, -0.0061891475, 0.078265965, 0.08754248, -0.14903383, -0.07830899, -0.08898991, -0.058010247, 0.23148704, -0.3695693, 0.18824111, -0.07988307, -0.05880814) * go_2(0.0, 0.0); + result += mat4(-0.22253856, 0.26592886, -0.03350701, -0.14712897, -0.12118757, 0.19663027, 0.031479847, -0.1554313, -0.028078854, 0.47659087, 0.12390117, -0.11238944, 0.037422795, -0.049916733, -0.2926893, 0.16435196) * go_2(0.0, 1.0); + result += mat4(0.075061694, -0.24045657, -0.047069702, -0.09982952, 0.2340634, -0.33556157, -0.037818547, 0.15286541, 0.14214562, 0.02267143, 0.09929496, -0.055981826, 0.21834296, -0.19831084, -0.16977312, 0.08182871) * go_2(1.0, -1.0); + result += mat4(0.01741376, 0.08985922, 0.16625583, -0.097267725, 0.17712043, -0.068722576, 0.07060928, 0.09168345, -0.16337997, -0.038742293, -0.04963981, 0.15612502, 0.11807448, -0.08807022, 0.101155974, -0.5563793) * go_2(1.0, 0.0); + result += mat4(-0.27598697, -0.062920116, -0.08726363, -0.12058882, -0.07664108, -0.032059796, -0.25070706, 0.030094638, -0.1160773, 0.19200212, 0.18899699, -0.18259315, 0.24458873, 0.12005026, -0.4616454, 0.27545306) * go_2(1.0, 1.0); + result += mat4(0.15272795, -0.23518732, 0.030445633, 0.088528365, 0.055305615, -0.12609963, 0.15926869, -0.22551426, 0.040562432, 0.124508515, 0.124815956, -0.0953939, 0.14920413, 0.14798881, -0.14428794, 0.37141335) * go_3(-1.0, -1.0); + result += mat4(0.12783955, -0.0540082, 0.014302729, 0.1365942, 0.10768764, -0.16831467, -0.079203665, 0.1425581, 0.019629346, -0.1027023, 0.15957874, -0.29757223, 0.26533285, -0.15765496, 0.35999995, 0.025803005) * go_3(-1.0, 0.0); + result += mat4(0.29036346, 0.26730424, 0.12511441, -0.061552685, -0.16372615, -0.026372833, 0.14069465, -0.24948902, 0.028215056, 0.254545, -0.19650677, 0.09530049, 0.055034224, -0.009660105, 0.39131105, -0.11131454) * go_3(-1.0, 1.0); + result += mat4(-0.0675603, -0.24606612, 0.0658764, -0.04487242, -0.0043948023, 0.04578745, 0.065714814, -0.12173881, 0.06062957, -0.04769831, 0.017330103, -0.074727364, -0.25047338, -0.30126756, -0.0830633, 0.019802446) * go_3(0.0, -1.0); + result += mat4(0.19933821, 0.08052119, -0.058912043, 0.31624097, 0.18705179, 0.023470681, -0.03783429, -0.04163007, -0.09845593, -0.12975362, 0.2510535, -0.32808807, -0.23654252, 0.3028382, -0.19675751, -0.030597644) * go_3(0.0, 0.0); + result += mat4(0.09338011, -0.0415115, -0.22497573, -0.0028536345, -0.19024974, -0.1604205, 0.115466096, -0.2525424, -0.063761264, -0.20588842, 0.08622651, -0.00097166066, 0.10169425, 0.252253, -0.06758796, 0.23335451) * go_3(0.0, 1.0); + result += mat4(-0.04426442, 0.1095582, -0.085856594, 0.13048999, -0.12778096, 0.2613617, -0.045577575, -0.1526907, 0.1257047, -0.111831486, -0.059892397, 0.15280181, -0.12673315, -0.05033893, -0.2930266, -0.46015793) * go_3(1.0, -1.0); + result += mat4(-0.11951625, 0.03414521, -0.11969193, 0.1869847, 0.111495204, 0.080608666, -0.20057446, 0.10785576, -0.049578592, 0.016259808, 0.0058614444, -0.045524042, 0.0319529, 0.05456559, 0.007678947, 0.33595043) * go_3(1.0, 0.0); + result += mat4(0.10240467, 0.18299319, 0.05753473, -0.02340504, -0.16686855, 0.21292439, 0.11702374, -0.30564633, -0.024081768, -0.088019624, 0.22313595, -0.06672843, 0.055274762, 0.13347326, -0.030782074, -0.35677573) * go_3(1.0, 1.0); + result += mat4(-0.075412944, -0.11053347, 0.07465402, -0.014327975, -0.13390768, 0.009061153, 0.027920425, -0.005080267, -0.04721174, -0.06812053, -0.08845801, 0.109399185, -0.04021429, 0.03812722, -0.25037023, -0.019478017) * go_4(-1.0, -1.0); + result += mat4(-0.07806179, 0.00493842, -0.02926109, -0.017333046, -0.125423, -0.1364203, 0.09466317, -0.26578787, 0.14311473, -0.0638623, 0.11139706, -0.08727186, -0.06821389, -0.19687861, 0.14772336, -0.10641787) * go_4(-1.0, 0.0); + result += mat4(0.027460072, 0.15687883, -0.17656918, 0.037287217, -0.06293563, -0.03923116, 0.037919715, -0.16810033, 0.26675344, -0.06076212, 0.104115106, 0.0798128, -0.023851654, 0.033833887, -0.030991107, 0.20160522) * go_4(-1.0, 1.0); + result += mat4(-0.058332916, -0.09243659, -0.24664097, -0.13549158, -0.1218952, 0.15865086, -0.1388978, -0.25030297, 0.045538265, 0.04120175, -0.031994786, -0.13400851, 0.007142682, 0.16071808, 0.04225278, 0.20399003) * go_4(0.0, -1.0); + result += mat4(-0.09599313, -0.15977086, -0.02840129, 0.1264139, -0.0144603, -0.00054464, 0.025552921, -0.09051482, -0.06592454, -0.026247922, -0.06352208, -0.021571407, -0.04439837, -0.07514258, 0.0026004864, 0.23430851) * go_4(0.0, 0.0); + result += mat4(0.09127431, -0.21962664, 0.029265152, -0.3099013, -0.09579088, 0.023516538, -0.08382231, 0.05348487, 0.17067212, -0.16390987, 0.03691037, 0.01566425, 0.18072702, 0.10966007, 0.22929187, 0.23833585) * go_4(0.0, 1.0); + result += mat4(0.083102494, 0.18586425, 0.09552713, -0.22502401, 0.10707524, -0.041579556, -0.040507507, -0.07875607, 0.13548316, 0.065970294, -0.09524086, 0.12988009, -0.19841906, -0.016670253, 0.2779514, 0.0039394014) * go_4(1.0, -1.0); + result += mat4(-0.056897737, -0.022942321, -0.089304574, 0.01799863, -0.031229522, 0.08292495, -0.040067356, -0.09749493, -0.2211719, 0.110088974, 0.05465516, -0.12767765, -0.06458067, -0.17160612, -0.09046756, -0.09943958) * go_4(1.0, 0.0); + result += mat4(-0.20148912, 0.017609052, 0.2321357, -0.07018911, -0.1311024, 0.007025396, -0.3018123, 0.059590653, 0.02093451, 0.2801181, 0.047305427, -0.04511682, 0.02409926, -0.1167535, -0.051785782, -0.022035388) * go_4(1.0, 1.0); + result += mat4(-0.050354917, -0.070848934, 0.05680098, -0.15274279, 0.017402016, 0.36217922, -0.5604259, 0.07027285, 0.013515239, -0.024368018, 0.15436645, -0.20279783, -0.009300287, 0.07763277, -0.12982416, 0.018808186) * go_5(-1.0, -1.0); + result += mat4(0.06595005, 0.34867665, -0.1158312, -0.11764399, -0.36079824, -0.03821222, -0.019823037, -0.44939035, -0.16058454, 0.0022173142, -0.067403175, 0.094619855, -0.054194376, -0.15860401, 0.031142738, -0.020085743) * go_5(-1.0, 0.0); + result += mat4(0.15504256, -0.22207503, -0.037738267, -0.024344966, 0.22112809, -0.084620684, 0.31442386, -0.17054078, -0.14580488, -0.1475954, 0.014907614, -0.009613608, -0.120833494, 0.024163049, 0.055504505, 0.12984537) * go_5(-1.0, 1.0); + result += mat4(0.03553467, -0.047465023, 0.127075, -0.17350323, 0.17346224, -0.15783796, 0.15583144, 0.01985312, 0.019021586, -0.03840401, 0.19470496, -0.007293492, -0.17917366, -0.15722491, -0.26070598, -0.2573391) * go_5(0.0, -1.0); + result += mat4(-0.0953191, 0.09084944, 0.25338924, 0.23829061, 0.08905475, -0.02061248, -0.012651722, 0.11955581, 0.239715, -0.2795726, 0.06275163, -0.15498403, -0.042101745, -0.16694753, -0.049197655, 0.06470607) * go_5(0.0, 0.0); + result += mat4(0.07657325, -0.35392562, -0.055532675, -0.18168893, 0.08006482, 0.12548354, -0.17169037, 0.41884392, 0.047854125, -0.13949591, -0.34051692, 0.18265511, 0.082268566, 0.24420416, -0.049996477, -0.018989688) * go_5(0.0, 1.0); + result += mat4(-0.16161917, 0.16816078, 0.018195407, 0.16679527, -0.3412548, 0.14028408, 0.17574453, -0.06049301, -0.01611411, -0.046527516, -0.044087164, 0.25788495, 0.13769192, -0.016161619, 0.041910134, 0.042887107) * go_5(1.0, -1.0); + result += mat4(0.07837116, -0.22945437, -0.05715237, 0.062118188, -0.07539828, 0.22634326, -0.19471732, 0.31986186, 0.15694539, 0.1633341, -0.03029404, 0.056681212, -0.029835409, -0.13129339, 0.19710875, 0.13151285) * go_5(1.0, 0.0); + result += mat4(0.017191496, 0.33163047, -0.026875576, 0.19212759, 0.27074674, 0.17707312, -0.13339694, 0.10855495, -0.18034323, 0.43113244, -0.33985507, 0.316351, 0.0358167, 0.023788683, 0.13152061, -0.019543748) * go_5(1.0, 1.0); + result += vec4(0.091157734, 0.06337161, 0.09025765, 0.07787731); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!SAVE conv2d_6_tf2 +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.10152706, 0.13643685, 0.050397865, 0.10665431, 0.026328163, 0.1460299, 0.2569912, -0.19533697, 0.03801618, 0.0003496284, 0.18598852, -0.22565664, 0.05281963, -0.034972392, -0.14308542, 0.030370854) * go_0(-1.0, -1.0); + result += mat4(-0.004119863, 0.057859607, -0.2119656, 0.14261195, -0.16826284, -0.25717396, -0.041528255, -0.119776234, -0.1013885, 0.16835499, 0.27712375, 0.11540263, 0.13435264, -0.15992326, -0.011525119, -0.052719552) * go_0(-1.0, 0.0); + result += mat4(0.015662286, 0.039283197, 0.1298957, 0.14770529, 0.16800109, -0.26307538, -0.043486428, -0.088268735, -0.091123246, -0.02737689, 0.1340816, 0.20996217, 0.108091205, 0.030314112, 0.054512065, 0.012642684) * go_0(-1.0, 1.0); + result += mat4(0.06709217, -0.05501374, 0.081222005, 0.089457735, 0.18656515, -0.3077529, 0.047672454, 0.024508892, -0.1351014, -0.39228433, -0.10557932, -0.04361972, -0.11915583, -0.009581473, 0.0063169855, -0.03613457) * go_0(0.0, -1.0); + result += mat4(-0.1854358, -0.17342652, -0.194473, 0.3151401, -0.051769286, -0.3236325, 0.16018392, -0.057727765, 0.16584621, -0.017418258, -0.3128051, 0.07975532, 0.18611333, 0.026310056, 0.02726216, 0.0067486716) * go_0(0.0, 0.0); + result += mat4(-0.110896066, -0.00702464, -0.20931682, 0.24850254, 0.03269825, -0.18380491, 0.032377258, 0.19312768, -0.22545849, 0.20047729, -0.21857505, 0.04958539, -0.012481836, 0.09664499, -0.14021717, -0.011379809) * go_0(0.0, 1.0); + result += mat4(0.029377487, -0.03222012, -0.047782637, 0.15043634, -0.028922928, 0.14329837, 0.070593685, 0.17937078, -0.098229684, -0.017268147, 0.023314565, -0.0373697, 0.086789444, -0.041083477, -0.14991397, 0.1569613) * go_0(1.0, -1.0); + result += mat4(-0.15204531, 0.038198274, -0.04654972, -0.023292607, 0.043118156, -0.1646481, -0.19841586, 0.0921996, -0.020243818, -0.006126642, 0.0073893177, -0.2155937, -0.051742166, -0.12905034, 0.026826771, -0.14480315) * go_0(1.0, 0.0); + result += mat4(0.10036964, 0.1710007, -0.07876652, 0.22185723, -0.07879332, -0.009758965, -0.07071612, 0.091213554, -0.112285696, 0.03389832, -0.028804176, -0.030022187, -0.1688445, 0.11049307, -0.054812532, 0.093897834) * go_0(1.0, 1.0); + result += mat4(-0.12732436, 0.085322656, -0.100760445, 0.18453589, -0.06775451, 0.10935976, 0.17619863, -0.1605919, 0.09963296, -0.15262389, 0.09841437, -0.19519499, -0.07014624, 0.25242952, -0.05024359, 0.087294735) * go_1(-1.0, -1.0); + result += mat4(0.015800908, -0.14473227, -0.2478373, 0.053460408, -0.14864206, -0.043255955, 0.11067259, 0.0014784707, 0.12921435, -0.03185401, 0.116656736, -0.03951376, 0.06561661, -0.04718704, -0.10218965, 0.11587745) * go_1(-1.0, 0.0); + result += mat4(0.07117372, 0.0109037515, -0.23872098, 0.07710495, 0.0921179, -0.1644194, -0.13181047, -0.057200883, 0.14430603, 0.10133447, 0.28212273, 0.09411812, -0.048196144, 0.0436184, -0.13561143, 0.3184622) * go_1(-1.0, 1.0); + result += mat4(-0.18523192, 0.21471006, -0.0448867, 0.014551903, 0.009904246, -0.15023962, 0.004197992, -0.17210527, 0.194157, -0.08507272, 0.20821328, 0.053412434, 0.3099377, 0.119032666, -0.18388903, -0.19600375) * go_1(0.0, -1.0); + result += mat4(0.2807314, 0.2189851, 0.25916493, 0.060228985, -0.0049263136, -0.074992225, -0.15787919, -0.054917946, 0.12066998, -0.21063392, 0.14343189, -0.033192027, -0.010535234, 0.14374483, 0.1522993, -0.07717713) * go_1(0.0, 0.0); + result += mat4(-0.043371633, 0.13011403, -0.0015406794, -0.0128029715, 0.17256962, -0.04676938, 0.15432738, -0.07865593, 0.13326003, -0.20808597, -8.7830034e-05, 0.19136547, -0.1985925, -0.013042362, -0.22718841, -0.06583816) * go_1(0.0, 1.0); + result += mat4(-0.11845248, 0.027589038, 0.10232536, 0.089354545, 0.18008573, 0.061147142, 0.04159389, -0.12027304, 0.1662144, -0.19675921, 0.12992287, -0.10149212, 0.10550842, -0.006124143, 0.19946195, -0.1462058) * go_1(1.0, -1.0); + result += mat4(0.01296488, -0.09644271, -0.05817923, -0.0954995, 0.025634903, -0.10628822, -0.05637768, -0.284114, 0.17925075, 0.01273799, 0.309424, -0.036070596, -0.17971297, -0.35284916, 0.028788334, -0.040968318) * go_1(1.0, 0.0); + result += mat4(-0.14511016, -0.036098864, -0.029634831, -0.081007525, 0.17456302, -0.3121309, -0.005653063, -0.13220096, 0.07959643, 0.13494255, 0.16009367, 0.022134677, -0.06916521, -0.068016514, -0.07418041, -0.106386214) * go_1(1.0, 1.0); + result += mat4(0.0038909556, 0.10399398, -0.047585238, 0.020263152, 0.22357577, 0.20275299, -0.20587234, -0.14618087, -0.06699123, 0.05799765, -0.057206634, 0.070337296, 0.26828194, -0.110529095, -0.039317895, 0.1000372) * go_2(-1.0, -1.0); + result += mat4(-0.12016816, -0.1746712, -0.15243006, 0.09121186, 0.17119732, 0.09372113, -0.011121283, 0.01683138, 0.04647735, 0.26708847, -0.045210358, -0.05229348, 0.13961853, -0.23234563, 0.11518522, 0.025384203) * go_2(-1.0, 0.0); + result += mat4(0.24803765, -0.12064236, 0.16222163, 0.10242684, 0.35362238, -0.0025835831, 0.10871223, -0.14052986, 0.086918466, 0.003965692, -0.052900802, -0.09219091, -0.097256884, 0.027730078, -0.018556952, 0.029902605) * go_2(-1.0, 1.0); + result += mat4(-0.07853819, -0.33072472, -0.01923759, -0.022614414, 0.037449032, 0.0057582236, 0.035095196, -0.10516724, 0.021059662, -0.1803607, -0.072927505, -0.032927528, 0.10600866, 0.2115304, -0.038914077, 0.026641702) * go_2(0.0, -1.0); + result += mat4(-0.046708018, -0.30087915, 0.23972215, 0.051118676, -0.09175249, 0.061564893, -0.0606459, 0.10725062, 0.16634792, 0.15181623, -0.14776988, -0.089753665, 0.09396779, 0.3047946, 0.20602426, -0.10614584) * go_2(0.0, 0.0); + result += mat4(0.16031305, -0.010385087, 0.12137829, 0.013936002, -0.09272479, -0.0462326, 0.14647374, -0.1364509, 0.1020013, 0.07280318, -0.035455197, -0.0074932426, 0.06966262, 0.43025437, 0.14413132, -0.020879302) * go_2(0.0, 1.0); + result += mat4(-0.048381433, 0.055672538, 0.17734092, 0.057804573, -0.064207256, -0.081648245, -0.19108449, -0.027356787, 0.22855555, 0.026296774, 0.051670585, 0.1469678, 0.14372535, -0.019550381, 0.0711832, -0.23015371) * go_2(1.0, -1.0); + result += mat4(0.10270051, 0.03306284, 0.18660016, -0.08794835, 0.022104584, 0.14556691, -0.18290472, -0.004233608, 0.31982687, -0.019705234, -0.18947408, -0.014298402, 0.13134713, -0.22212905, -0.22175267, -0.083559796) * go_2(1.0, 0.0); + result += mat4(0.09405076, -0.094762795, 0.00039714025, -0.033925287, -0.040082168, 0.18154381, -0.091368884, -0.002279935, 0.18112488, -0.16065024, -0.07302534, -0.054364413, -0.027507186, 0.056911435, -0.25985143, 0.19071229) * go_2(1.0, 1.0); + result += mat4(-0.08038882, -0.23933147, 0.091805875, 0.06882283, 0.030006107, -0.19613835, -0.19390447, -0.06947256, -0.15933713, -0.12136816, 0.10496873, 0.20988281, -0.06429982, 0.13831986, -0.12110751, -0.013753183) * go_3(-1.0, -1.0); + result += mat4(-0.03526272, 0.09196733, 0.22100714, -0.034608632, 0.11271489, 0.19354948, -0.08702665, 0.0818318, -0.23144986, -0.39077505, 0.068490066, -0.07049248, -0.15327029, -0.13464752, -0.23453039, -0.007664983) * go_3(-1.0, 0.0); + result += mat4(-0.071974635, -0.09427919, -0.14303383, -0.15694854, -0.0536355, 0.072341934, 0.0919402, -0.032855745, 0.061292388, 0.09840731, 0.035950005, -0.064508714, -0.121800035, -0.18790516, -0.098817684, -0.032492902) * go_3(-1.0, 1.0); + result += mat4(-0.006014576, 0.056944408, -0.04101546, -0.07834956, 0.048266124, 0.013926315, 0.041723326, -0.323333, -0.41566008, 0.3228979, 0.004536671, 0.31018063, -0.32762045, 0.23986395, 0.0941997, 0.32134023) * go_3(0.0, -1.0); + result += mat4(-0.07315801, -0.04973393, -0.022297578, -0.0803329, -0.006434735, 0.010591334, 0.036642008, 0.099703625, -0.30428717, -0.13702157, 0.05784328, -0.08263622, -0.16771519, 0.012717832, 0.16369238, 0.082922) * go_3(0.0, 0.0); + result += mat4(0.0001620341, 0.13469625, 0.022239598, -0.045452654, -0.012625867, -0.016001742, -0.13125779, 0.035808936, -0.06057855, -0.23169748, -0.031564385, 0.0035062286, 0.08688842, 0.043959387, 0.045130596, -0.082511395) * go_3(0.0, 1.0); + result += mat4(-0.083551735, -0.0062169307, -0.071006864, 0.08302828, 0.041814975, -0.17135905, -0.051279463, -0.23531726, -0.07600026, -0.016305951, -0.12496258, 1.6274626e-05, -0.056098733, 0.05471391, -0.16807914, 0.043552015) * go_3(1.0, -1.0); + result += mat4(0.10614594, 0.055918783, -0.04306798, 0.12271233, -0.053095255, -0.041611873, 0.0658641, -0.17270197, -0.17228878, 0.04906801, 0.025378078, 0.03993686, 0.26168197, -0.0664166, -0.24114749, 0.122338526) * go_3(1.0, 0.0); + result += mat4(-0.028463805, -0.06832796, -0.042678714, -0.09115425, 0.112060644, -0.11552275, -0.13850841, -0.21241449, -0.025949117, -0.25152782, 0.118504696, -0.0032011967, -0.004659375, 0.14416796, 0.10196362, -0.25900578) * go_3(1.0, 1.0); + result += mat4(-0.014083873, -0.14722492, -0.04869616, -0.0060440497, -0.06496493, -0.080328904, 0.0021304504, -0.071984075, 0.037136473, -0.06741335, 0.047950987, 0.13102819, -0.084352426, 0.021756288, 0.14978755, -0.07930937) * go_4(-1.0, -1.0); + result += mat4(-0.043805413, 0.11554947, 0.08058495, -0.029509902, 0.07255308, -0.11107158, 0.19269472, -0.06936789, -0.056554012, -0.13389792, 0.05822567, -0.080038816, -0.11012767, -0.2594496, 0.013091632, -0.016040247) * go_4(-1.0, 0.0); + result += mat4(0.11076819, 0.29110146, 0.010078737, -0.07397723, 0.017001567, -0.0600932, 0.120115615, -0.1516764, -0.046932317, -0.1531205, -0.041367747, 0.03022747, 0.028425755, -0.09993652, 0.105394356, -0.097724885) * go_4(-1.0, 1.0); + result += mat4(-0.16120721, 0.12060183, -0.051696084, 0.13536309, -0.0629108, 0.20782739, 0.08011087, 0.16132146, -0.17330962, 0.075349055, -0.13367563, 0.0834821, 0.13859299, -0.24726664, 0.1219966, 0.008662899) * go_4(0.0, -1.0); + result += mat4(-0.06673648, -0.059848122, -0.079399005, 0.07430188, 0.039565083, -0.02646128, 0.06627121, -0.15686277, -0.08100342, 0.211192, 0.11364034, -0.056452975, 0.003068278, -0.09815622, -0.2720423, -0.060945407) * go_4(0.0, 0.0); + result += mat4(0.10425103, -0.11963076, -0.15664895, -0.008325704, 0.030473476, -0.059397645, 0.08696136, -0.105832994, 0.15845199, -0.0155479815, 0.21866821, -0.24220671, -0.07413551, 0.18748072, 0.15781933, 0.09678578) * go_4(0.0, 1.0); + result += mat4(-0.105755776, 0.05295692, -0.065712206, -0.055599883, -0.024171222, -0.10882413, -0.019153712, -0.0797682, -0.05841592, 0.027539523, 0.018220939, 0.025832783, 0.10254366, 0.027248384, 0.17515337, 0.13366127) * go_4(1.0, -1.0); + result += mat4(0.14450707, 0.16593692, 0.10250131, 0.022199351, 0.00025016058, 0.02208959, -0.015518909, 0.03897976, 0.066313244, -0.08834062, -0.06497536, 0.21156809, -0.028999787, 0.1924942, 0.27274308, -0.19622537) * go_4(1.0, 0.0); + result += mat4(0.06670714, 0.032708794, 0.08869534, -0.1733506, 0.0076623727, 0.12130858, 0.010788659, -0.046009142, 0.09683414, -0.2074643, 0.08545223, 0.0447272, 0.12027344, 0.20864709, 0.17474543, 0.13670264) * go_4(1.0, 1.0); + result += mat4(0.021432638, -0.24760821, 0.12410156, -0.11143068, 0.1870739, 0.0740915, 0.11552895, -0.061147105, -0.037998777, -0.1789209, 0.02577988, -0.1907707, 0.16632228, 0.029018525, 0.016788188, 0.16683672) * go_5(-1.0, -1.0); + result += mat4(0.1736272, 0.052254014, -0.010544911, -0.25163132, -0.021734655, -0.23477079, 0.30037084, -0.024889933, 0.16576701, 0.11785999, -0.19426535, 0.012973521, -0.31330642, -0.12940904, 0.1407924, -0.104257464) * go_5(-1.0, 0.0); + result += mat4(-0.10720734, -0.22007015, 0.06929706, 0.1128352, 0.08878798, -0.74968565, 0.05292707, -0.2015415, -0.22024418, 0.12937216, 0.0077955252, 0.10120546, -0.051692892, -0.4005671, 0.019636473, -0.020149691) * go_5(-1.0, 1.0); + result += mat4(0.43247837, -0.18930417, -0.013568917, -0.079419196, 0.18672904, -0.35622415, 0.25079453, -0.1175358, 0.26581118, 0.008579299, 0.18397655, -0.29648697, -0.15222591, 0.32292458, -0.011576255, -0.030688757) * go_5(0.0, -1.0); + result += mat4(0.10460517, 0.22705384, -0.11461504, -0.34884137, 0.06710358, 0.07710169, -0.22747318, -0.03428357, -0.12087394, -0.18585229, 0.053487252, -0.15423988, -0.24636437, 0.42574164, -0.20994124, -0.13236474) * go_5(0.0, 0.0); + result += mat4(-0.15691194, -0.08720117, -0.052925915, -0.16245657, -0.16402285, 0.3253476, 0.1616336, 0.072358444, -0.19095042, 0.21235181, 0.033952657, -0.021103038, 0.1247694, 0.228517, 0.032327496, -0.21903606) * go_5(0.0, 1.0); + result += mat4(-0.14174855, -0.06494216, 0.13284135, -0.08129453, 0.16482054, 0.110014215, 0.15709473, -0.010275839, -0.22032334, -0.10103909, -0.11650554, -0.17561941, 0.085149735, -0.40727508, 0.12032625, -0.02078777) * go_5(1.0, -1.0); + result += mat4(-0.27078578, -0.08153653, 0.1757881, 0.11317136, 0.27882257, -0.24042514, -0.08648888, -0.045675088, -0.10128582, -0.04766186, 0.06836051, 0.15924035, 0.04440567, -0.099891834, -0.08893405, 0.05721548) * go_5(1.0, 0.0); + result += mat4(0.15327021, 0.13603994, 0.17330587, 0.05625383, -0.11157126, -0.08179826, 0.05035325, -0.012668053, 0.04673393, 0.29881957, 0.019924281, -0.06682304, -0.034375366, -0.11446407, 0.055847015, 0.104117975) * go_5(1.0, 1.0); + result += vec4(0.013481283, -0.0006846239, 0.017479934, 0.13998064); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!SAVE conv2d_7_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.013182829, 0.053091962, 0.06549412, 0.09314398, 0.12759157, 0.19831958, -0.0066986284, 0.008724786, -0.008788724, -0.18448268, -0.08061004, -0.122672, 0.039246775, 0.114899494, 0.0053096768, -0.45705518) * go_0(-1.0, -1.0); + result += mat4(-0.15435986, 0.12775438, 0.033445876, 0.13065258, -0.034713954, 0.011218427, -0.056961175, -0.028291933, 0.014069658, -0.12902507, 0.09579773, -0.24455607, 0.14417914, 0.05937612, 0.2243551, -0.3940324) * go_0(-1.0, 0.0); + result += mat4(0.019673724, 0.20209175, 0.0864056, 0.062125377, -0.032693543, -0.07866025, 0.049098648, 0.09967038, 0.071991436, -0.035584584, 0.08620264, -0.3146151, 0.0016364265, -0.1282453, 0.113696136, -0.09162608) * go_0(-1.0, 1.0); + result += mat4(-0.086494565, -0.031322442, -0.0010425163, 0.0043439222, -0.2207718, -0.114754595, -0.04754309, 0.038829442, 0.28012696, 0.01416326, -0.006575263, 0.09800945, 0.20944737, 0.12320554, -0.27976176, 0.042036757) * go_0(0.0, -1.0); + result += mat4(-0.0043551656, -0.034230676, 0.047720857, -0.0913431, 0.25977305, 0.21515612, 0.18708718, -0.004843006, 0.29522216, 0.03641434, -0.096512936, -0.07962972, -0.07454651, -0.2631387, -0.3370317, 0.40316954) * go_0(0.0, 0.0); + result += mat4(0.07995683, -0.17652078, 0.0023912708, -0.02042794, 0.17486735, -0.22842996, -0.06893651, -0.19074234, 0.10076771, 0.11205654, 0.001572062, 0.024552155, -0.00011488878, -0.12493254, -0.29600865, 0.07090882) * go_0(0.0, 1.0); + result += mat4(0.017154403, 0.13125315, 0.11503914, 0.105513334, -0.11673632, -0.034176424, -0.030536361, -0.002248858, -0.11892652, -0.08516513, 0.06950209, 0.17622153, 0.06246307, -0.07698598, 0.2093879, -0.058301486) * go_0(1.0, -1.0); + result += mat4(0.10316161, 0.0072260876, 0.07716615, -0.13834251, -0.010482067, 0.15220478, 0.09262941, 0.08135313, 0.14277095, -0.15209594, -0.15694623, 0.0658977, 0.16643007, -0.04802777, 0.039331965, 0.10639549) * go_0(1.0, 0.0); + result += mat4(0.003941457, 0.096958525, 0.08078122, -0.123746514, 0.05798335, -0.044676617, -0.3084394, 0.1140151, 0.010672668, -0.025900228, -0.06911797, 0.05360162, 0.15696998, 0.07253946, 0.06035546, 0.1159507) * go_0(1.0, 1.0); + result += mat4(0.229298, 0.064096935, 0.16048844, 0.012671015, 0.024478769, 0.063737154, -0.004687863, 0.19364266, -0.19646022, 0.2893255, 0.026786007, 0.069286734, 0.07800188, -0.053994164, 0.052960467, 0.1745522) * go_1(-1.0, -1.0); + result += mat4(0.015469714, -0.12314818, 0.5338478, -0.11723986, -0.008365538, -0.10995339, -0.15134127, -0.07830025, 0.07128518, 0.009086638, -0.116382964, -0.16219214, 0.026113646, 0.29649207, -0.33176404, 0.009099685) * go_1(-1.0, 0.0); + result += mat4(-0.09291687, 0.09429629, 0.47023576, 0.30382136, 0.022938905, -0.053612467, 0.03914971, 0.07205734, 0.11292842, -0.022005484, 0.17894705, -0.008363797, -0.1682453, 0.0409644, -0.017597, -0.14894786) * go_1(-1.0, 1.0); + result += mat4(-0.22093011, 0.050382294, -0.07031792, 0.1064123, 0.09168859, -0.054715537, 0.07824245, 0.0675236, -0.11675646, 0.12587738, 0.33370635, -0.14830373, -0.4392533, -0.23865284, 0.071248956, -0.026170105) * go_1(0.0, -1.0); + result += mat4(-0.048300147, 0.08008235, 0.11813505, -0.09183442, -0.06377392, 0.14087953, 0.07831149, 0.044931732, -0.21497081, 0.026584432, 0.013495652, -0.14503439, 0.007470514, 0.14160597, -0.016141815, -0.31155616) * go_1(0.0, 0.0); + result += mat4(-0.41951287, 0.24024096, 0.19465575, -0.041104067, 0.09810697, 0.14586213, 0.13903797, -0.053057924, -0.14113568, -0.09644958, -0.09866805, -0.07899498, -0.172797, -0.08095462, -0.13160881, -0.0089402525) * go_1(0.0, 1.0); + result += mat4(-0.0807202, -0.37737992, -0.12689668, 0.079181, 0.01577318, -0.11053014, -0.12669973, 0.0071108835, -0.20729698, 0.046471246, -0.12194573, 0.2870874, -0.22770974, 0.09006065, 0.23021267, 0.3112802) * go_1(1.0, -1.0); + result += mat4(-0.17971495, 0.036312122, -0.03444156, 0.041823655, -0.09082372, 0.08112007, 0.049061, -0.0055645844, 0.013843324, -0.01969895, -0.13960351, -0.047275152, -0.043000307, 0.27807096, 0.22880352, 0.106376074) * go_1(1.0, 0.0); + result += mat4(-0.17075665, 0.006126272, -0.2546894, 0.11954845, -0.19607663, 0.048538323, -0.065129414, 0.014257998, 0.038192738, -0.037847996, -0.020429965, 0.025860488, 0.028515143, 0.06738391, 0.072110705, -0.033284377) * go_1(1.0, 1.0); + result += mat4(0.044568866, 0.062475223, -0.0983384, 0.009866407, -0.35514477, -0.030211627, 0.22333166, 0.32969475, -0.109626986, -0.034606833, -0.0576798, -0.17654708, -0.08829175, -0.16896097, -0.1001105, -0.12807782) * go_2(-1.0, -1.0); + result += mat4(0.3260804, -0.13558061, 0.04645619, -0.07019992, -0.29856443, 0.053042114, 0.061772786, -0.13687392, -0.16278408, -0.034854803, -0.012278255, -0.098236114, -0.19714803, -0.1252398, 0.52471006, -0.00438923) * go_2(-1.0, 0.0); + result += mat4(-0.23780306, 0.0058732736, -0.14263488, 0.014209727, 0.3014817, -0.19334342, 0.14975117, -0.4833427, 0.06679691, -0.068613395, -0.11530229, -0.27387938, 0.060538717, 0.2566434, 0.089476675, 0.20292005) * go_2(-1.0, 1.0); + result += mat4(-0.08988664, 0.09974201, -0.06231258, -0.14937639, 0.3109973, -0.062920496, 0.38651597, 0.32825765, -0.019837346, 0.1774624, 0.0721711, 0.01380091, 0.33275485, -0.024928985, -0.07132799, -0.10537747) * go_2(0.0, -1.0); + result += mat4(-0.09355771, -0.018917486, 0.062002532, -0.06821075, 0.0852235, -0.043880213, 0.023216404, -0.034589138, 0.009775594, 0.020386059, -0.19563444, 0.34160665, -0.19108588, -0.36282206, 0.12477205, -0.1635429) * go_2(0.0, 0.0); + result += mat4(0.0660281, -0.004066676, 0.051605884, -0.20489341, 0.45396295, 0.048399396, 0.32993752, 0.5071012, 0.1316449, -0.028571565, -0.1418205, -0.06860564, 0.00832686, 0.10344168, -0.0033388403, -0.21189667) * go_2(0.0, 1.0); + result += mat4(0.03121781, 0.06918902, 0.0073941397, -0.039547186, -0.13978334, 0.36066145, 0.105322905, 0.048246022, -0.064950965, 0.04503515, 0.13340174, -0.30344757, 0.08683505, -0.046188712, -0.17417784, 0.09081479) * go_2(1.0, -1.0); + result += mat4(-0.16948071, 0.0040395157, 0.035707664, -0.079912804, 0.038716394, -0.17475441, -0.36299637, 0.03968082, 0.049196135, -0.1715365, -0.071639955, -0.016410451, 0.09188755, -0.2558949, -0.16094652, 0.07996079) * go_2(1.0, 0.0); + result += mat4(-0.21382907, 0.05636966, -0.06199946, -0.21989174, -0.18922164, 0.37826148, -0.0141571835, 0.024448203, 0.0884536, 0.12374937, 0.18420288, 0.0967765, -0.06720011, 0.069881, -0.0042892518, -0.19172947) * go_2(1.0, 1.0); + result += mat4(-0.08187655, -0.489484, -0.27973574, -0.009521738, 0.18314825, -0.35783502, 0.056075446, 0.1687472, 0.3308614, -0.23036483, 0.0055736783, 0.18089417, -0.01648603, -0.21509576, -0.05315817, 0.2311331) * go_3(-1.0, -1.0); + result += mat4(0.10545252, -0.16682841, 0.46201918, 0.41049242, 0.2867931, -0.10737721, 0.37278366, -0.15247364, 0.32457805, -0.13211884, 0.0282094, 0.32339963, -0.20642634, -0.07769656, -0.11572602, -0.0078001227) * go_3(-1.0, 0.0); + result += mat4(0.049419798, -0.16918461, -0.07071865, -0.23344457, -0.06583399, 0.21428098, 0.13742666, -0.24406539, -0.3166922, 0.04145341, 0.12750438, 0.7016666, -0.072237894, 0.060902767, 0.024233112, 0.1978945) * go_3(-1.0, 1.0); + result += mat4(0.21362431, -0.22586554, -0.13855393, 0.03641023, -0.18417473, 0.13428141, 0.019632103, 0.18459935, -0.25052726, -0.06585735, 0.06470142, -0.1343166, -0.1102426, 0.12908545, -0.03501417, -0.2672359) * go_3(0.0, -1.0); + result += mat4(0.098094426, -0.40027153, 0.05030102, 0.29116127, -0.07573088, -0.0358284, -0.2436342, 0.00352126, -0.114547156, -0.013960078, -0.20433213, -0.021052646, -0.22285037, 0.028262915, 0.08860262, -0.30081618) * go_3(0.0, 0.0); + result += mat4(-0.01646094, 0.24261765, 0.33677813, -0.060467284, -0.19734232, 0.1702455, -0.1304959, -0.20504838, -0.3379331, 0.26765183, -0.26516193, 0.27015924, -0.08003835, 0.3141519, 0.29280853, -0.052082997) * go_3(0.0, 1.0); + result += mat4(0.12277012, -0.46426025, 0.015877785, 0.028895028, -0.12974375, -0.075910136, 0.300476, 0.16338159, -0.012315035, 0.05539739, 0.019287715, -0.2627638, -0.10653122, 0.15327309, 0.116874225, 0.17951632) * go_3(1.0, -1.0); + result += mat4(0.29410085, -0.17102611, 0.035222203, 0.538198, -0.082762614, -0.13113698, 0.23784018, 0.10809719, 0.10368062, -0.26618072, 0.017677844, -0.5524849, 0.20205925, -0.25295278, -0.08522028, -0.35101673) * go_3(1.0, 0.0); + result += mat4(-0.24038099, 0.047679562, 0.16125403, 0.12115515, 0.25935376, -0.12338007, 0.28222737, -0.1517331, 0.102381065, 0.02018978, 0.103473715, 0.008457937, 0.075750284, 0.030453209, 0.103425525, -0.11869024) * go_3(1.0, 1.0); + result += mat4(0.027691573, 0.033041246, -0.053919036, 0.021841308, 0.22477351, -0.012002719, -0.088659704, -0.19888699, -0.14622316, 0.07693778, 0.06058014, 0.072771885, -0.09090909, -0.009634639, -0.04093643, -0.0016425458) * go_4(-1.0, -1.0); + result += mat4(0.121816635, 0.06796998, -0.00956044, 0.060272712, 0.0929867, -0.104182824, 0.068678245, -0.0025653015, 0.29900813, -0.121311836, -0.18685773, 0.047214147, -0.002424332, -0.071621366, 0.09782575, 0.069204815) * go_4(-1.0, 0.0); + result += mat4(-0.115039505, -0.013585092, -0.062492177, 0.019942736, -0.22608118, 0.10974841, 0.121345155, 0.048270512, 0.036711007, -0.1555631, 0.3113601, 0.20424883, 0.036948208, 0.023162413, 0.093668364, 0.091156565) * go_4(-1.0, 1.0); + result += mat4(-0.0239057, -0.0074546733, -0.072916195, -0.15032186, 0.11206848, 0.076949894, -0.0719725, 0.057246305, -0.12505415, 0.17029393, 0.059913885, 0.10695817, 0.11587671, 0.009000426, -0.0065819114, 0.112660386) * go_4(0.0, -1.0); + result += mat4(-0.22613746, 0.010249483, 0.31479695, -0.15589239, 0.21750645, -0.16260515, 0.03900687, 0.31478724, 0.24153055, -0.13562167, -0.13101026, -0.30842167, -0.09156883, -0.08611807, 0.0021150038, 0.19845119) * go_4(0.0, 0.0); + result += mat4(-0.09328654, 0.065565474, 0.053929932, -0.0614148, 0.10553007, -0.16130202, -0.14184211, -0.0015263067, -0.015361093, -0.20926285, -0.23366193, -0.06125057, -0.071300104, 0.01055638, -0.05240934, 0.06743602) * go_4(0.0, 1.0); + result += mat4(-0.05055375, 0.085141584, -0.025911124, -0.035443313, -0.1763071, 0.085818924, 0.19284901, -0.006149421, -0.0160643, 0.11941451, 0.20142859, -0.047862962, 0.049561072, 0.06118226, -0.117986836, -0.10885573) * go_4(1.0, -1.0); + result += mat4(0.0026763107, -0.13232177, 0.040220898, 0.056682535, -0.03708343, 0.22508788, 0.14923818, -0.106249794, 0.035745993, -0.18804651, -0.3110593, -0.20087922, -0.14625967, -0.0653864, -0.061015815, -0.04066649) * go_4(1.0, 0.0); + result += mat4(0.111738384, -0.104334466, 0.029024106, -0.09726162, 0.2414019, -0.029426873, 0.09094325, 0.027416501, 0.30706093, -0.09682458, -0.19449362, -0.014534671, 0.15952238, -0.033171862, -0.10819316, -0.10238822) * go_4(1.0, 1.0); + result += mat4(0.56843907, -0.18652008, -0.07477079, -0.09572682, 0.004717268, -0.19569749, 0.012557746, -0.16934179, 0.20934415, -0.13695319, -0.085793145, 0.16430594, 0.1280811, -0.035566512, 0.17796053, 0.034620196) * go_5(-1.0, -1.0); + result += mat4(0.10944063, 0.056659624, -0.10928797, -0.48222318, -0.03679725, 0.12002146, 0.06371042, -0.024989901, -0.19508527, 0.35469803, -0.034514666, 0.05471589, -0.008078808, 0.086663045, -0.06641959, 0.14787014) * go_5(-1.0, 0.0); + result += mat4(-0.08401734, 0.065710895, -0.03586741, -0.09523177, -0.11976769, -0.00039887297, -0.11169928, 0.11623861, 0.06338808, 0.1087186, 0.26752025, 0.27731213, 0.042043414, -0.040737793, -0.13757998, 0.03160253) * go_5(-1.0, 1.0); + result += mat4(0.03308292, 0.11817877, 0.04941428, 0.053257942, 0.20836346, -0.3157687, -0.15115938, 0.017689008, -0.08777182, 0.075874984, -0.11381275, 0.15768103, -0.25251803, 0.024785532, -0.1119765, -0.08488973) * go_5(0.0, -1.0); + result += mat4(0.14967972, 0.08358996, -0.12477746, 0.18376626, -0.11429529, 0.18852599, 0.12402519, 0.13575697, -0.17223327, -0.18583423, 0.08749376, 0.14127673, 0.04728666, 0.13141015, -0.1578823, 0.064156786) * go_5(0.0, 0.0); + result += mat4(-0.18258065, 0.05539021, -0.08642571, 0.22043483, -0.03830304, 0.10055482, -0.050123304, 0.12830205, -0.4921733, 0.2718683, 0.11772524, -0.07781355, -0.0075595984, 0.060227167, 0.1285977, 0.2978205) * go_5(0.0, 1.0); + result += mat4(0.19988084, -0.36680242, -0.0095746415, 0.091812566, 0.3152317, -0.075949475, -0.04308324, 0.049759876, 0.02971871, 0.18617181, 0.19829167, 0.17954859, 0.015149219, -0.15809381, 0.10850363, 0.017803097) * go_5(1.0, -1.0); + result += mat4(0.056506306, 0.15181234, -0.1497428, 0.01186181, 0.02351036, 0.01086669, -0.031891935, 0.01414558, 0.27038968, -0.2806401, -0.14722337, 0.080689445, 0.07039954, -0.054969363, -0.016640754, 0.020795437) * go_5(1.0, 0.0); + result += mat4(-0.237999, 0.13528651, 0.005025065, -0.01291728, -0.22655746, 0.022678101, 0.07165532, 0.0073296893, 0.084639646, -0.06724732, -0.13105223, 0.10164715, -0.15071161, 0.08882156, -0.016988168, -0.013606533) * go_5(1.0, 1.0); + result += vec4(0.20634188, -0.10455712, -0.031700566, -0.13400781); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!SAVE conv2d_7_tf1 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.1606533, 0.1120602, 0.427334, -0.056228757, -0.026887462, 0.0858575, 0.0052684247, 0.1645524, 0.021588106, -0.08577256, -0.03301297, -0.087385215, 0.17341405, 0.26737398, 0.04566977, 0.047820427) * go_0(-1.0, -1.0); + result += mat4(0.21000437, 0.05300574, 0.060565695, -0.086724475, 0.09684198, 0.12685667, -0.10724282, -0.11021523, 0.048485592, -0.0054517, 0.081800036, -0.099787444, -0.12168391, 0.07623567, 0.09177046, 0.15815327) * go_0(-1.0, 0.0); + result += mat4(0.14400747, 0.13797458, 0.11044521, 0.077145234, 0.14364728, 0.10041894, 0.0948857, 0.08613703, 0.030833652, 0.102926254, 0.029892365, -0.09385337, 0.07609406, -0.038274735, 0.22529188, -0.0905732) * go_0(-1.0, 1.0); + result += mat4(-0.13334684, -0.083001845, -0.06109816, 0.067442395, 9.6367134e-05, -0.10395697, 0.047389086, 0.07404194, -0.11931296, -0.029852618, -0.08998846, 0.16543494, 0.19911745, -0.014106389, -0.020616226, 0.011981892) * go_0(0.0, -1.0); + result += mat4(-0.20999044, 0.20443644, -0.08602043, -0.06026268, 0.0016786976, -0.15406793, 0.25403517, 0.0038395252, -0.16244787, -0.19482566, -0.113314606, 0.007111468, -0.026472634, 0.08177431, 0.13382603, -0.01771927) * go_0(0.0, 0.0); + result += mat4(-0.14934808, -0.022533301, -0.14221415, -0.096389346, 0.11613694, 0.21117163, 0.22294325, -0.029256172, -0.072161585, -0.09670809, -0.24253419, 0.10479088, 0.20190297, -0.08443066, 0.08334989, 0.2928627) * go_0(0.0, 1.0); + result += mat4(0.030550636, 0.095876954, -0.040062953, 0.024307664, 0.17360783, -0.035755854, -0.20959523, 0.069054864, -0.1061238, -0.26194566, 0.2781827, -0.118610375, -0.09682604, -0.076366246, -0.05720086, -0.08075027) * go_0(1.0, -1.0); + result += mat4(0.15727855, 0.21407695, 0.009924877, -0.0027381582, 0.16699612, 0.017624786, -0.13224785, 0.008606034, -0.05968717, -0.009152095, -0.084314294, -0.14502133, -0.13212982, 0.2531764, -0.09840475, 0.020581203) * go_0(1.0, 0.0); + result += mat4(0.06285324, 0.019129366, 0.15062185, -0.0018203754, 0.025869751, 0.09390758, 0.027623225, 0.09279268, 0.12548098, -0.05622771, 0.024048142, -0.011120709, 0.039858714, 0.022324169, -0.061184626, 0.15133153) * go_0(1.0, 1.0); + result += mat4(0.25750592, -0.0633985, 0.05274334, 0.05652166, -0.13369319, -0.19132645, -0.11266925, 0.05310033, -0.10603932, -0.18876615, -0.23720984, 0.23625968, -0.1460642, -0.16662763, -0.31894067, 0.00010953036) * go_1(-1.0, -1.0); + result += mat4(0.021643812, 0.27677965, -0.18880053, -0.085671276, -0.12699273, 0.07259516, -0.09705578, 0.0103639, -0.10424065, 0.2421007, -0.15788709, -0.03597044, -0.03210864, -0.009501378, -0.29830885, 0.18951061) * go_1(-1.0, 0.0); + result += mat4(-0.023235895, -0.15663858, -0.097848825, -0.030312262, -0.36207277, -0.044624195, -0.24912846, 0.001322196, -0.012719531, -0.061012562, 0.02297421, -0.083919466, 0.023231668, 0.17829593, -0.20094186, 0.062941045) * go_1(-1.0, 1.0); + result += mat4(0.031992577, -0.33281925, 0.24781865, 0.10445937, -0.043928526, -0.0048965504, 0.025098981, -0.02432072, -0.06936203, 0.06697805, -0.03503784, 0.04098378, 0.11242077, -0.47939962, -0.36156863, 0.10633177) * go_1(0.0, -1.0); + result += mat4(-0.360187, 0.15471298, 0.19546136, -0.19344117, 0.19245885, 0.10948706, -0.25480017, -0.117233664, 0.07698171, 0.00455522, 0.016817722, -0.21183428, -0.3989548, -0.0053129625, 0.32735184, -0.25722015) * go_1(0.0, 0.0); + result += mat4(-0.19386199, -0.104854785, 0.2354883, 0.07680881, -0.08103157, 0.19879752, -0.20958872, 0.03404414, 0.2462412, -0.025986584, 0.15228593, 0.082260065, 0.05948899, 0.018289726, 0.26004076, 0.29258958) * go_1(0.0, 1.0); + result += mat4(0.43535206, -0.1665342, -0.078847095, -0.09834152, 0.3344753, 0.14931677, 0.26555872, -0.050443217, 0.1165338, -0.018918963, -0.18268648, -0.08987844, -0.15032545, -0.41353035, 0.04693913, 0.12682211) * go_1(1.0, -1.0); + result += mat4(-0.101665966, -0.2346043, -0.13883743, 0.09837179, 0.11640853, -0.11128404, 0.1264696, 0.13364471, -0.0010915099, 0.32518107, 0.015125061, 0.0014352624, -0.32198808, 0.14844672, 0.045113582, 0.22434932) * go_1(1.0, 0.0); + result += mat4(0.04287463, -0.031287823, 0.07444511, 0.215022, -0.051081534, 0.09054911, 0.094913155, -0.16440862, 0.025819149, -0.035652477, 0.11303366, 0.072897494, 0.15771803, -0.026064822, -0.27329972, 0.3400305) * go_1(1.0, 1.0); + result += mat4(0.15108323, 0.099104606, -0.18490814, 0.282546, -0.39287362, 0.020549994, 0.03981046, -0.38331905, -0.028022572, 0.07132567, 0.054721024, -0.0544467, 0.30145043, 0.07482834, -0.030623315, -0.14339122) * go_2(-1.0, -1.0); + result += mat4(-0.19015107, 0.084599644, -0.08060123, -0.13798787, 0.11629986, 0.1486292, 0.22505176, 0.120357476, 0.09555313, -0.012545042, 0.14008446, 0.09553097, -0.13701685, 0.13754234, 0.08133829, 0.0583218) * go_2(-1.0, 0.0); + result += mat4(-0.011506865, -0.12886223, 0.32145864, -0.0046038935, -0.15737815, 0.31331423, 0.014334723, 0.13329573, 0.059868217, 0.044668417, 0.41486976, -0.115652, 0.07570654, 0.119870186, -0.04211968, 0.13550858) * go_2(-1.0, 1.0); + result += mat4(-0.06290216, -0.09683136, 0.17791402, -0.06173693, -0.5663153, 0.6814847, -0.30665252, -0.015765276, -0.35518414, 0.014619069, 0.0059011583, -0.011811011, -0.12891632, -0.09697547, 0.0122915255, -0.035630453) * go_2(0.0, -1.0); + result += mat4(0.36552843, -0.02239533, 0.31511658, 0.07742532, 0.38120705, -0.34059232, -0.1941228, -0.009505623, -0.057844408, -0.08539643, -0.15442915, 0.047755927, -0.10766272, 0.19164445, -0.04577609, -0.02152571) * go_2(0.0, 0.0); + result += mat4(0.25128686, 0.008428173, -0.2337189, -0.07352831, 0.4192482, 0.03234093, -0.107415706, -0.59545743, 0.08484682, 0.10139428, 0.032704517, -0.03676146, 0.0709341, -0.08012427, -0.17445756, -0.051028527) * go_2(0.0, 1.0); + result += mat4(-0.13946229, 0.14634825, -0.29945642, 0.054991852, -0.19391525, 0.18525685, -0.01332443, 0.19226684, -0.25809357, -0.16726302, -0.08535996, 0.04962988, -0.21382174, -0.27475968, 0.14896728, -0.07398321) * go_2(1.0, -1.0); + result += mat4(0.012350131, -0.15466039, 0.2637539, -0.004446026, -0.23348337, 0.31829268, 0.30077904, -0.26715708, -0.2248632, 0.026697354, -0.13744812, -0.11420962, 0.12333178, 0.20206316, 0.14819679, 0.11332464) * go_2(1.0, 0.0); + result += mat4(-0.1398207, -0.08409686, 0.28911248, -0.17092308, -0.3288522, -0.33649427, 0.08738124, 0.07093669, 0.042545132, 0.056477334, -0.043472584, 0.11007758, -0.001716612, -0.10464193, 0.03468551, 0.18904419) * go_2(1.0, 1.0); + result += mat4(-0.22511648, -0.21305616, -0.20453261, -0.039165854, 0.12624744, -0.24751776, -0.071244866, -0.013594594, 0.050315578, -0.07449747, -0.2612381, 0.16027644, -0.16809192, -0.124898806, -0.038302764, -0.17824896) * go_3(-1.0, -1.0); + result += mat4(-0.011263025, -0.13628832, -0.018516185, -0.02475848, 0.09929525, 0.039110962, -0.12850322, -0.1350285, -0.35264796, -0.021238754, -0.11728184, -0.1417785, 0.2576594, 0.08627893, 0.11525315, -0.12663105) * go_3(-1.0, 0.0); + result += mat4(0.098808385, 0.11969382, -0.09717777, 0.15366855, 0.05112679, -0.0064458046, 0.17321971, -0.11823168, -0.010137996, -0.35834765, 0.22273073, 0.20014246, -0.077788174, -0.10495039, -0.17693104, -0.069975644) * go_3(-1.0, 1.0); + result += mat4(0.058652826, -0.12872136, 0.3963312, -0.15295003, -0.05818842, -0.4533677, 0.20178635, 0.24527496, 0.25999078, -0.37886587, 0.19364087, 0.18344274, 0.22268198, -0.14165895, 0.48145312, -0.23087662) * go_3(0.0, -1.0); + result += mat4(0.11743857, -0.081544854, -0.19755375, -0.12016749, -0.28253412, -0.04377212, 0.15896732, -0.14978753, -0.25513977, 0.0025451197, 0.41349715, -0.28266567, -0.25201386, 0.54169023, 0.21759638, 0.09750061) * go_3(0.0, 0.0); + result += mat4(0.2587435, 0.18573955, -0.23956883, 0.021557074, 0.020746572, 0.020505207, 0.08808335, 0.19680786, -0.061584104, -0.24666953, 0.054818455, 0.10405006, -0.24831708, -0.13658181, -0.0833388, 0.24120714) * go_3(0.0, 1.0); + result += mat4(-0.29441085, 0.03656414, -0.2596772, -0.057041578, 0.1569663, -0.09881767, 0.08505022, -0.01768552, -0.051293768, -0.099874936, -0.05937486, -0.06985686, 0.055836957, 0.12361765, 0.00034758533, -0.16590339) * go_3(1.0, -1.0); + result += mat4(0.08935089, -0.34096143, -0.06724781, 0.057755265, -0.07378229, 0.19852296, -0.101910785, -0.35927492, -0.27025247, 0.077470385, -0.26122475, 0.1062427, 0.34269986, 0.022384735, -0.19875982, -0.046883546) * go_3(1.0, 0.0); + result += mat4(-0.023113059, 0.023807336, 0.04232145, 0.12731242, 0.079464786, 0.10940335, -0.1920892, 0.069054574, -0.046453483, -0.1463778, 0.050447907, 0.37861434, 0.19577271, -0.08457038, 0.055992957, 0.0051751668) * go_3(1.0, 1.0); + result += mat4(-0.0143063385, -0.031832237, -0.081230044, 0.15558316, 0.24739249, 0.06730676, 0.022930989, -0.060339663, 0.16502666, 0.0032860334, 0.13078189, -0.13917513, 0.083792515, 0.038169254, 0.26199514, -0.20886219) * go_4(-1.0, -1.0); + result += mat4(-0.07898116, -0.001202372, -0.1436358, -0.013730994, -0.011920493, 0.067917384, -0.032699063, -0.04563186, 0.16329978, 0.13089089, -0.29516026, -0.17357638, 0.02513132, -0.14417541, -0.0026529275, 0.028195161) * go_4(-1.0, 0.0); + result += mat4(0.1278416, -0.0652329, -0.080299005, -0.054219954, 0.15680717, -0.13077177, 0.25564823, 0.10533668, -0.10988264, 0.3860151, -0.18009946, -0.47674116, -0.10072908, 0.041740764, 0.1123633, -0.04076864) * go_4(-1.0, 1.0); + result += mat4(0.20640877, -0.24586456, -0.10259232, 0.111054115, -0.18076079, -0.22535121, -0.29812837, 0.12035098, 0.027053986, -0.10918923, -0.3172506, 0.11992493, -0.006251823, 0.2550944, -0.15903941, -0.12368186) * go_4(0.0, -1.0); + result += mat4(-0.36056486, 0.25076455, 0.13362978, -0.033405777, -0.32817405, 0.0695707, 0.01829935, -0.08318219, -0.28797764, 0.16128948, 0.14374499, -0.025840933, 0.078341916, 0.13052103, -0.100241534, 0.10946945) * go_4(0.0, 0.0); + result += mat4(-0.07073338, -0.112097755, 0.22497103, 0.13549447, -0.13218129, -0.22181363, -0.13737568, 0.06865537, -0.45603344, -0.35373682, 0.37757057, 0.1678293, -0.029289875, -0.13187636, 0.12758663, 0.04016698) * go_4(0.0, 1.0); + result += mat4(0.040351316, -0.05093577, -0.08653635, -0.007213745, -0.3845516, -0.029778607, -0.47889423, 0.12643112, -0.11173547, 0.043787614, 0.2647412, -0.0109354155, -0.0064909635, 0.106970474, 0.11885388, 0.07061224) * go_4(1.0, -1.0); + result += mat4(0.066118404, 0.1848857, -0.07987121, -0.044921577, -0.0753153, -0.060784195, -0.33154643, 0.116313264, 0.11995535, -0.071781196, -0.24509782, -0.0037734907, 0.037864428, -0.07115049, 0.10189698, 0.13620937) * go_4(1.0, 0.0); + result += mat4(0.15173467, 0.117787406, -0.07836817, -0.06667758, -0.05646272, 0.33135724, -0.37163886, -0.315246, 0.22709703, 0.10267156, -0.07729526, -0.015280573, -0.015122008, 0.03244177, 0.17766209, -0.04914632) * go_4(1.0, 1.0); + result += mat4(-0.07482478, -0.13012838, -0.15759332, 0.015014935, 0.35088012, 0.007073843, 0.24014178, -0.14308095, 0.12774545, 0.18122073, -0.2547015, 0.13359042, -0.0800425, 0.14722595, -0.24495813, -0.013143742) * go_5(-1.0, -1.0); + result += mat4(-0.15018739, 0.075401075, -0.056287423, -0.21596402, -0.106415406, -0.09301949, 0.124646366, -0.07675658, 0.39950943, -0.36134976, -0.20888598, 0.11607109, 0.107587025, -0.1626161, -0.29592493, 0.01726878) * go_5(-1.0, 0.0); + result += mat4(0.042367462, 0.05787438, -0.091712154, 0.26943466, 0.018607875, -0.06306163, -0.044719845, 0.12169627, -0.0043602907, -0.11714036, -0.41751066, -0.11060246, 0.14270274, 0.105742574, 0.162418, -0.016003838) * go_5(-1.0, 1.0); + result += mat4(-0.059574872, -0.16347532, 0.24761298, 0.0098720435, 0.22380106, -0.06946215, -0.011973621, -0.09775447, -0.108043805, -0.18910232, 0.36019576, -0.21156572, 0.008830671, -0.05479997, 0.31133842, 0.037727185) * go_5(0.0, -1.0); + result += mat4(-0.1920284, 0.17142658, 0.05467186, -0.0761654, -0.25932217, -0.16042638, 0.2197324, 0.12581502, -0.48400918, 0.5538232, 0.41044307, -0.17291741, -0.18633147, -0.0820574, 0.038112838, -0.18555504) * go_5(0.0, 0.0); + result += mat4(0.13163397, 0.09845959, -0.21711256, 0.26999414, -0.053519428, -0.029779429, -0.15492497, 0.0993045, -0.16189748, -0.4925058, 0.034618095, 0.085681, 0.16100337, 0.078292616, -0.40945208, -0.15787469) * go_5(0.0, 1.0); + result += mat4(0.20844188, 0.07127721, 0.032387372, 0.033018872, 0.15301323, -0.055671003, 0.25810188, -0.07723897, 0.17080788, 0.12247039, -0.16662452, -0.06526193, 0.1584067, 0.14825343, 0.16793022, -0.055639073) * go_5(1.0, -1.0); + result += mat4(0.31691772, 0.03877285, -0.31999993, 0.15607259, -0.014967208, 0.17467377, -0.021213053, 0.05274054, 0.09042282, 0.3026185, -0.19465268, -0.15643322, -0.28652924, -0.12624627, -0.123150274, -0.06579748) * go_5(1.0, 0.0); + result += mat4(-0.12737115, 0.21119869, 0.021830728, 0.25310937, 0.056086678, -0.10591854, -0.09623413, 0.09552772, 0.0077543957, -0.38552082, 0.105930105, 0.21966095, 0.03846968, -0.18900576, 0.13454477, 0.01323755) * go_5(1.0, 1.0); + result += vec4(0.15939143, -0.031111173, 0.011407361, 0.04436536); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!SAVE conv2d_7_tf2 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.009852172, 0.067582026, -0.004946671, 0.10223505, -0.10428496, -0.025925757, -0.1812229, -0.086897664, -0.007505929, 0.11395492, -0.046959464, -0.040778246, -0.05989385, 0.2917696, 0.21723987, 0.104860075) * go_0(-1.0, -1.0); + result += mat4(0.014223285, 0.23677638, 0.18793987, 0.1604355, -0.13773453, -0.035079855, 0.1325962, -0.01843488, 0.013658427, -0.039640892, -0.049931083, -0.17938142, -0.20694439, 0.13461684, 0.15713528, 0.061465815) * go_0(-1.0, 0.0); + result += mat4(-0.045403525, 0.24799547, 0.073604435, 0.21103963, 0.18720928, -0.06703258, -0.20043622, -0.067137614, -0.19021615, -0.020830747, -0.120527774, 0.20456503, 0.07813807, -0.03798654, 0.04036844, -0.0033802337) * go_0(-1.0, 1.0); + result += mat4(0.10385739, -0.06095687, 0.03991638, -0.119761765, 0.14859357, -0.2436967, -0.033547442, 0.06643773, 0.08074919, 0.00819047, 0.046388235, 0.113080844, 0.093403086, -0.25158677, -0.25340363, 0.043133873) * go_0(0.0, -1.0); + result += mat4(0.13219471, -0.01887069, -0.26465404, 0.012883369, -0.15132889, -0.08190286, 0.1886762, -0.121109776, -0.086888224, -0.13945712, 0.10484367, -0.014462356, -0.04274967, -0.27132213, 0.035799675, 0.18913607) * go_0(0.0, 0.0); + result += mat4(-0.09799585, -0.092021905, 0.042374767, -0.040835217, 0.2207681, 0.19816661, 0.2233777, -0.09462879, 0.174727, 0.067035824, 0.25794062, 0.03356712, 0.09257895, 0.03864686, 0.061125953, -0.10119902) * go_0(0.0, 1.0); + result += mat4(-0.06601051, 0.011512823, -0.13370325, 0.0033915695, 0.0060606156, -0.049539644, -0.1075017, -0.17912976, -0.042368136, -0.011520146, 0.06601078, 0.09978972, -0.0129192965, -0.21929637, -0.018458387, -0.010336992) * go_0(1.0, -1.0); + result += mat4(0.09475364, -0.005993277, 0.09861265, -0.03103845, -0.09583529, 0.058791347, 0.3326168, -0.11607132, -0.028693356, 0.11996273, -0.085005276, -0.029005809, -0.29191923, 0.06689837, 0.10442381, -0.024532465) * go_0(1.0, 0.0); + result += mat4(0.0053415983, 0.06602273, 0.2246564, 0.031501666, -0.14868876, -0.0093808025, -0.34579018, -0.030635692, 0.092459954, -0.039631926, -0.0085174255, 0.022645477, 0.07514861, 0.060552113, 0.06597399, 0.0397574) * go_0(1.0, 1.0); + result += mat4(0.0511157, 0.035152495, -0.19926861, -0.063245155, 0.13407591, -0.1288526, 0.23185496, -0.13392815, -0.09297701, -0.2809779, 0.07520502, 0.022971572, -0.08222417, 0.27030075, -0.10483476, 0.16590133) * go_1(-1.0, -1.0); + result += mat4(-0.30276665, 0.17359875, -0.06072175, -0.036741048, 0.12927541, -0.11135696, -0.1655047, -0.05786224, -0.10111195, 0.03949635, -0.11618777, -0.0020339678, -0.16504388, 0.21188384, -0.24663985, -0.16005285) * go_1(-1.0, 0.0); + result += mat4(-0.18182081, -0.05039593, -0.004631986, -0.03583777, 0.025373073, -0.33103603, -0.12213051, -0.10148533, -0.091509394, -0.13529696, 0.08307632, -0.0025659746, -0.5024331, 0.14926323, 0.05118105, -0.26585025) * go_1(-1.0, 1.0); + result += mat4(0.17135173, -0.23068328, 0.16332187, 0.06196188, 0.0034444374, 0.044823382, 0.010302396, 0.06775431, 0.024591392, -0.054694094, -0.048208185, -0.055681854, 0.08873465, -0.14074552, -0.027211398, 0.23973261) * go_1(0.0, -1.0); + result += mat4(-0.12319059, -0.11429906, -0.36435902, 0.19346023, -0.030743172, 0.383669, 0.009289978, 0.0010576686, 0.17045438, -0.007082544, 0.16374406, 0.32419837, 0.15915118, -0.1356684, -0.13062716, -0.15574396) * go_1(0.0, 0.0); + result += mat4(-0.19135374, -0.2005694, -0.0020886995, 0.01221146, -0.40867472, -0.081229836, -0.16124476, 0.08071337, 0.09998693, -0.061099563, 0.13301264, -0.043883327, 0.11045742, -0.2383618, 0.18627192, -0.35225677) * go_1(0.0, 1.0); + result += mat4(0.37673324, 0.34416032, -0.103333436, 0.13149537, 0.006451586, 0.094312094, 0.08832807, 0.09592083, -0.116452016, 0.1066464, -0.115603626, -0.13193515, -0.13174447, -0.18561727, 0.13020653, -0.13364927) * go_1(1.0, -1.0); + result += mat4(-0.1834991, 0.11584597, -0.04156077, -0.12755936, 0.09659385, 0.08903952, 0.31892854, -0.01448324, -0.008864266, -0.039691996, -0.08322731, 0.095220886, -0.090739064, 0.092071235, -0.2817547, -0.29630283) * go_1(1.0, 0.0); + result += mat4(-0.24098976, 0.101338394, -0.28956947, 0.07237588, -0.10666849, 0.13332452, -0.20815872, -0.00023775037, -0.04327956, 0.0029107686, -0.008416182, 0.097931474, -0.37501606, -0.018609088, -0.10432809, -0.034832) * go_1(1.0, 1.0); + result += mat4(-0.08794669, 0.028736163, -0.17888173, -0.06455644, 0.23870508, -0.23358688, 0.072483465, -0.0085282335, -0.12771352, 0.0380899, -0.25210154, -0.010397481, -0.034966666, 0.08883341, -0.22751594, -0.18751557) * go_2(-1.0, -1.0); + result += mat4(-0.04474889, 0.098189436, -0.10426362, -0.35184658, 0.043526888, -0.36088315, 0.13278794, 0.39718434, 0.0091220355, 0.0041375947, 0.17093311, 0.21236257, -0.10007804, -0.020010212, 0.111889765, 0.17784196) * go_2(-1.0, 0.0); + result += mat4(0.1536085, -0.026586162, 0.12273445, -0.0801658, 0.20678692, -0.11288633, -0.21298888, 0.4272659, -0.027916932, 0.13641946, 0.08454202, 0.15072668, -0.36861306, 0.09071778, -0.23418477, 0.3515129) * go_2(-1.0, 1.0); + result += mat4(-0.035221044, -0.05102627, 0.09558761, -0.008040629, -0.028807933, 0.303477, -0.20610638, -0.044902515, -0.19755092, -0.030813612, -0.17718953, -0.17694841, 0.03633824, 0.13118435, 0.029816214, -0.25406656) * go_2(0.0, -1.0); + result += mat4(-0.14495026, 0.12816216, 0.16447757, 0.031679, -0.044026595, 0.19292583, 0.33260253, 0.10592396, 0.035314452, 0.027002327, 0.06259657, 0.20517996, 0.47153056, 0.33924934, 0.20535454, -0.25056842) * go_2(0.0, 0.0); + result += mat4(-0.18414135, 0.19427143, -0.081241705, -0.01675198, -0.006523895, -0.07718575, -0.09325943, -0.08737854, -0.028951872, -0.17328268, -0.08241532, -0.08835567, -0.21019256, 0.16430716, 0.06124939, 0.035649084) * go_2(0.0, 1.0); + result += mat4(0.016590597, -0.0022054093, -0.1470956, -0.08206723, -0.10903706, 0.0064417794, -0.18528567, -0.34366733, -0.06885517, 0.16456494, -0.018355783, 0.17814603, -0.07158972, -0.28178605, -0.20745122, -0.099933885) * go_2(1.0, -1.0); + result += mat4(0.0065370193, -0.3044895, 0.055263646, 0.075996794, 0.024025463, -0.20411102, -0.01592019, -0.18464315, -0.08999649, -0.048265222, -0.08978591, -0.09877855, 0.4285961, -0.32419163, -0.10149259, -0.112745434) * go_2(1.0, 0.0); + result += mat4(0.06848249, -0.11997486, 0.05998702, -0.024274347, 0.31168294, -0.017959671, 0.34084293, -0.34249943, 0.11690563, -0.11239628, 0.2128415, 0.017396145, -0.14399542, -0.13887884, 0.041329246, -0.099762276) * go_2(1.0, 1.0); + result += mat4(0.11233947, 0.22560616, -0.14853792, 0.0025890833, -0.09261338, 0.026878078, -0.13337374, 0.14549397, 0.105454646, 0.20769532, 0.086635984, 0.05085061, 0.16791524, -0.031017043, 0.043081395, 0.18300867) * go_3(-1.0, -1.0); + result += mat4(0.21579266, -0.29286692, -0.05484676, 0.050306555, -0.1338697, 0.173389, -0.31768104, 0.051908243, 0.03826524, 0.48232502, 0.247302, 0.3487058, 0.28926015, 0.09935225, -0.18840632, 0.08882374) * go_3(-1.0, 0.0); + result += mat4(-0.13517806, -0.40837446, -0.14227843, -0.27239424, -0.3059563, 0.063552625, 0.2631879, 0.56351787, 0.22826865, -0.065214194, 0.22837348, -0.4106273, -0.05822978, 0.13954113, 0.13192196, 0.031006072) * go_3(-1.0, 1.0); + result += mat4(0.14163558, -0.13529845, 0.063847534, 0.066068165, 0.041967303, 0.21868911, 0.22319448, 0.00028246938, 0.07615932, -0.3879002, 0.039115347, -0.08572038, -0.24845092, 0.13100919, 0.253391, 0.22104543) * go_3(0.0, -1.0); + result += mat4(0.15111032, 0.18182786, 0.22756334, -0.008264583, -0.14041592, -0.5454497, -0.5890025, -0.010277932, 0.17194566, -0.14571565, -0.15525545, 0.17403725, 0.09960832, -0.016455285, -0.3584658, 0.3162123) * go_3(0.0, 0.0); + result += mat4(-0.21418694, 0.20062631, -0.0948598, -0.09684068, 0.13923916, -0.09331503, -0.0857385, 0.21380557, 0.020379147, 0.21428087, 0.07388917, 0.089147344, -0.20121545, -0.023731146, 0.3213483, 0.17458193) * go_3(0.0, 1.0); + result += mat4(0.10643249, -0.00972507, 0.022902627, 0.29897237, 0.3299111, 0.085025065, 0.21370107, 0.20150943, -0.30700487, -0.1884155, 0.2567519, 0.00021575678, -0.23836862, 0.35121775, 0.13285181, -0.08186422) * go_3(1.0, -1.0); + result += mat4(0.2257978, -0.044991307, -0.19195051, -0.067948796, -0.119921125, 0.0917341, -0.12133957, -0.0779332, -0.30272362, 0.29493997, -0.1241099, 0.57692826, -0.07721382, 0.23687507, -0.34731215, 0.25507957) * go_3(1.0, 0.0); + result += mat4(0.45565096, -0.15130155, -0.10940018, -0.44904032, -0.15766421, 0.20778829, 0.21851856, 0.1678922, -0.08152111, 0.1772852, -0.2632565, 0.20217079, -0.014408843, 0.021441357, 0.001290681, 0.036566503) * go_3(1.0, 1.0); + result += mat4(-0.1125441, 0.019155068, 0.17547919, 0.010120996, -0.13596916, 0.06777857, -0.18246579, -0.07407904, 0.052627467, -0.12339828, 0.09181331, -0.039406203, 0.06598462, -0.20432016, 0.081749015, 0.016382169) * go_4(-1.0, -1.0); + result += mat4(-0.036727224, 0.05656203, 0.03722875, -0.19623469, -0.12215404, 0.15154731, 0.14583679, 0.13441144, -0.053393483, 0.3686272, -0.55303735, -0.18231596, -0.077573985, -0.17017044, 0.007368884, 0.06776619) * go_4(-1.0, 0.0); + result += mat4(-0.14654772, 0.0642838, 0.21146652, 0.1479552, 0.056684785, 0.08816999, 0.122986056, 0.025765898, 0.03539519, 0.2605786, 0.13069612, 0.2733717, 0.17476462, 0.04350784, -0.11019324, -0.085290305) * go_4(-1.0, 1.0); + result += mat4(0.070716664, -0.034127012, -0.17524591, -0.01733187, -0.0786243, -0.27215844, 0.14767595, -0.028927185, -0.268044, 0.17461409, 0.18505631, -0.07551577, -0.17443672, 0.33642206, -0.10371784, -0.09501668) * go_4(0.0, -1.0); + result += mat4(0.41137508, 0.0039632237, -0.46695748, -0.14406478, -0.03359041, -0.26271477, -0.16481699, -0.23792827, -0.004218498, -0.082102485, -0.5725909, -0.19159988, -0.02892404, 0.018914402, 0.12181954, -0.045662787) * go_4(0.0, 0.0); + result += mat4(0.059361387, -0.06857852, 0.29324803, 0.018895477, 0.5373943, -0.27193475, 0.19632731, 0.07846825, 0.46329513, -0.2541983, 0.3154752, 0.034318704, 0.07056785, 0.09071147, 0.018257828, 0.051888023) * go_4(0.0, 1.0); + result += mat4(-0.01574486, 0.025618032, 0.013175459, -0.05611416, 0.1575709, -0.26184332, 0.14741376, -0.09205734, 0.15314968, -0.033463627, 0.27498275, -0.036637545, 0.07326095, -0.02758785, -0.008260478, -0.033497095) * go_4(1.0, -1.0); + result += mat4(-0.043722082, -0.0053890822, -0.006806792, 0.078156926, 0.28195116, -0.19398853, -0.08171706, -0.13839847, -0.2289849, 0.13469638, -0.3921867, -0.12275613, -0.07401059, -0.08434314, 0.080387615, -0.023079267) * go_4(1.0, 0.0); + result += mat4(-0.18200518, 0.15944996, -0.023199113, 0.03136635, 0.0124006495, -0.30606514, -0.008949306, -0.051349495, -0.039797418, 0.06404064, 0.089617595, 0.08849374, 0.07658024, 0.089631304, -0.021066017, 0.033190813) * go_4(1.0, 1.0); + result += mat4(-0.00024305849, -0.005267714, -0.110663235, -0.1235196, 0.012671297, 0.09886661, 0.2275749, 0.060427323, -0.08923832, 0.06393884, 0.08300952, 0.1602908, 0.08163518, 0.2060279, 0.079629295, 0.09073638) * go_5(-1.0, -1.0); + result += mat4(0.09152832, -0.13788883, -0.0003542848, -0.41267133, 0.06780486, 0.14365548, 0.093432106, -0.14731646, 0.06173505, -0.07698671, 0.13692452, 0.07682172, 0.019543113, -0.07077461, 0.018755287, -0.01956884) * go_5(-1.0, 0.0); + result += mat4(-0.025053086, -0.25834808, 0.27484947, 0.0542093, 0.04252427, 0.11526509, -0.12203397, -0.11198108, -0.122830786, 0.01729993, -0.26451054, 0.08480724, 0.27700573, -0.108406745, 0.21402664, -0.19032313) * go_5(-1.0, 1.0); + result += mat4(-0.01717388, -0.21526851, -0.100241624, -0.33087742, 0.059813473, 0.11764993, 0.046627797, 0.10824857, -0.033078045, -0.07022686, 0.05082029, -0.18696983, 0.06715326, -0.24360675, -0.028528497, 0.03166471) * go_5(0.0, -1.0); + result += mat4(0.18515922, -0.19291987, -0.18511395, -0.16356386, 0.10254811, -0.14086638, -0.05160376, -0.07413514, -0.17066383, -0.1579425, -0.102077566, -0.0865959, -0.06315448, -0.12120578, -0.24788655, 0.045280393) * go_5(0.0, 0.0); + result += mat4(-0.23578815, 0.17898968, -0.076395154, -0.068680935, -0.19281612, 0.0008040003, -0.13505532, -0.010227741, 0.35332572, 0.10865026, 0.14042157, -0.07081392, -0.16093336, 0.02813831, -0.1142879, 0.07591385) * go_5(0.0, 1.0); + result += mat4(-0.10260084, 0.25031334, 0.030233473, 0.18198064, 0.06648322, -0.06662831, 0.29892904, 0.10685262, -0.099214576, 0.20269664, 0.14236231, -0.26043925, 0.17721854, 0.105084695, 0.11604949, 0.07190215) * go_5(1.0, -1.0); + result += mat4(-0.006627316, -0.075635955, 0.37108654, -0.0919607, -0.12985592, 0.112184614, -0.16726716, -0.03870482, 0.01480095, 0.2044233, -0.051372997, 0.21520257, -0.08743421, 0.13153918, -0.15077852, 0.12159706) * go_5(1.0, 0.0); + result += mat4(0.009482551, 0.12501961, 0.38921976, -0.1280031, -0.103060484, -0.027821409, 0.0720024, -0.027280543, 0.056729473, 0.048927493, -0.035154913, -0.08341783, 0.23103711, 0.046025522, 0.17039533, -0.014161812) * go_5(1.0, 1.0); + result += vec4(-0.09157235, -0.025660357, 0.076311104, -0.13737188); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(UL)-Conv-3x1x1x120 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_7_tf +//!BIND conv2d_7_tf1 +//!BIND conv2d_7_tf2 +//!SAVE MAIN +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_7 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_8 (max((conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_10 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) +#define g_12 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_13 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_14 (max((conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) +#define g_15 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_16 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_17 (max(-(conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) +#define g_18 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_19 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_20 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_21 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_22 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_23 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_24 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_25 (max((conv2d_7_tf1_tex(conv2d_7_tf1_pos)), 0.0)) +#define g_26 (max((conv2d_7_tf2_tex(conv2d_7_tf2_pos)), 0.0)) +#define g_27 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_28 (max(-(conv2d_7_tf1_tex(conv2d_7_tf1_pos)), 0.0)) +#define g_29 (max(-(conv2d_7_tf2_tex(conv2d_7_tf2_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.053345524, 0.066197485, 0.07259881, 0.0, 0.05303127, 0.06742834, 0.07375377, 0.0, 0.094053976, -7.700613e-05, -0.02473139, 0.0, 0.005308593, 0.03030767, 0.039729137, 0.0) * g_0; + result += mat4(-0.108758785, 0.037586506, 0.065435104, 0.0, 0.027483977, -0.05654698, -0.076396726, 0.0, 0.105040714, 0.05024414, 0.021126145, 0.0, -0.0674868, -0.0055504893, 0.02190656, 0.0) * g_1; + result += mat4(-0.053890713, 0.0071396744, 0.016984116, 0.0, -0.045092918, 0.025137635, 0.041979324, 0.0, -0.03408237, 0.0019260172, 0.005701325, 0.0, -0.02040999, -0.01315308, -0.00639404, 0.0) * g_2; + result += mat4(-0.073155664, -0.06887698, -0.072435565, 0.0, -0.08694837, -0.05531286, -0.055365037, 0.0, -0.06690585, -0.00129934, 0.013128711, 0.0, -0.045931015, 0.017999481, 0.021670034, 0.0) * g_3; + result += mat4(0.14758188, -0.052864034, -0.06617946, 0.0, -0.025215192, 0.005785653, 0.02022865, 0.0, -0.07359226, -0.034944568, -0.01911832, 0.0, -0.059109453, 0.0018033485, -0.022261323, 0.0) * g_4; + result += mat4(0.079963796, 0.018210623, -0.0025736517, 0.0, 0.06693135, -0.038985185, -0.04726813, 0.0, -0.03559407, -0.0083629545, -0.005753532, 0.0, 0.043954816, -0.022223696, -0.039470144, 0.0) * g_5; + result += mat4(0.060458526, -0.0033674864, -0.006985535, 0.0, -0.013925546, 0.051077038, 0.053856038, 0.0, -0.033647064, 0.043235198, 0.05311577, 0.0, 0.0391791, -0.044376004, -0.054064214, 0.0) * g_6; + result += mat4(0.0069859014, -0.0050665336, -0.010343517, 0.0, -0.027551029, 0.049856182, 0.058316905, 0.0, 0.0121670095, -0.013107907, -0.0151846, 0.0, 0.007648614, -0.0051277154, -0.0053846613, 0.0) * g_7; + result += mat4(0.06848036, 0.026777437, 0.024801696, 0.0, -0.08711668, 0.049429595, 0.067019165, 0.0, -0.09006778, -0.042166695, -0.02230536, 0.0, -0.048024856, -0.020088708, -0.009932858, 0.0) * g_8; + result += mat4(-0.05171447, 0.0029948682, 0.014913949, 0.0, 0.02287364, -0.042476606, -0.052956346, 0.0, 0.02762833, -0.044026252, -0.056759696, 0.0, -0.0519502, 0.047626793, 0.06422155, 0.0) * g_9; + result += mat4(-0.0031128856, 0.013134638, 0.021534251, 0.0, 0.049189907, -0.039677586, -0.057255603, 0.0, -0.009908353, -0.0013683038, 0.0028079485, 0.0, 0.0002268831, 0.012356764, 0.009817244, 0.0) * g_10; + result += mat4(-0.04058634, -0.01822148, -0.014306331, 0.0, 0.107378654, -0.04138371, -0.058573496, 0.0, 0.03701269, -0.009420217, -0.02310707, 0.0, 0.039931968, 0.001769326, -0.007929419, 0.0) * g_11; + result += mat4(0.027129134, 0.01044246, 0.008198051, 0.0, -0.019978391, 0.014817045, 0.014294805, 0.0, -0.009071333, -0.018233696, -0.020756468, 0.0, -0.016967475, -0.010472854, -0.0066578956, 0.0) * g_12; + result += mat4(0.012473992, -0.019771596, -0.02515739, 0.0, -0.008238026, 0.026189122, 0.034326296, 0.0, 0.01735337, -0.021417223, -0.027291182, 0.0, 0.01815212, -0.012736875, -0.021111157, 0.0) * g_13; + result += mat4(0.022218483, -0.023485998, -0.03540812, 0.0, 0.016531168, -0.0033816632, -0.010179393, 0.0, -0.03181473, -0.0072774286, 0.0014077872, 0.0, -0.0025735856, -0.015998563, -0.016743565, 0.0) * g_14; + result += mat4(-0.01740865, 2.3718083e-05, 0.0032518203, 0.0, 0.009272118, -0.01676428, -0.019791994, 0.0, 0.013665012, 0.02245221, 0.022923533, 0.0, 0.020898446, 0.012111701, 0.009756352, 0.0) * g_15; + result += mat4(-0.0043926076, 0.019400991, 0.022581568, 0.0, 0.003538965, -0.031301565, -0.0345112, 0.0, -0.02405352, 0.006159623, 0.016130725, 0.0, -0.0097925, 0.01677507, 0.027652735, 0.0) * g_16; + result += mat4(-0.03267886, 0.014923966, 0.027258545, 0.0, -0.033668566, -0.010421195, -0.0026646685, 0.0, 0.015094835, -0.0023233194, -0.015871005, 0.0, -0.01258443, 0.00507582, 0.0053544766, 0.0) * g_17; + result += mat4(0.012708346, 0.014336439, 0.012533707, 0.0, -0.0019346073, -0.0070978077, -0.009478742, 0.0, -0.011659758, -0.009855903, -0.008657096, 0.0, 0.0098037105, 0.010785594, 0.008409619, 0.0) * g_18; + result += mat4(0.0056228717, 0.013483413, 0.008108323, 0.0, -0.0013697809, 0.0026797573, 0.0037666177, 0.0, 0.0130932415, 0.019868238, 0.01968549, 0.0, 0.011160769, 0.012374028, 0.012855804, 0.0) * g_19; + result += mat4(0.0011662204, 0.00025071716, 0.0022244148, 0.0, -0.017808594, -0.013589306, -0.01396329, 0.0, -0.008117086, -0.0068251803, -0.004963602, 0.0, -0.0069141523, -0.009125296, -0.008327947, 0.0) * g_20; + result += mat4(-0.027597412, -0.02631107, -0.022816146, 0.0, 0.009350171, 0.013661565, 0.015324706, 0.0, 0.032538984, 0.02918167, 0.026186563, 0.0, 0.018760988, 0.024502547, 0.023201061, 0.0) * g_21; + result += mat4(0.013216693, 0.00991115, 0.01178417, 0.0, 0.0076343333, 0.004714098, 0.0074490295, 0.0, -0.0064893183, -0.014818341, -0.01199717, 0.0, -0.008334491, -0.009955103, -0.011240684, 0.0) * g_22; + result += mat4(-0.013846397, -0.012687341, -0.015767701, 0.0, -0.0019117722, -0.0072347773, -0.0074835457, 0.0, 0.013531867, 0.014263165, 0.012797156, 0.0, 0.008260445, 0.0070536416, 0.0065693366, 0.0) * g_23; + result += mat4(0.0017003485, 0.0021871394, 0.0003407296, 0.0, 0.0054420815, 0.00801073, 0.008788295, 0.0, -0.012685104, -0.0150940735, -0.017530257, 0.0, -0.030698642, -0.030817484, -0.028548386, 0.0) * g_24; + result += mat4(-0.008882145, -0.008943836, -0.007986094, 0.0, -0.010494911, -0.011511255, -0.00892924, 0.0, 0.014072905, 0.014985031, 0.011853883, 0.0, -0.015823284, -0.017817877, -0.01684662, 0.0) * g_25; + result += mat4(0.012270136, 0.011127063, 0.010729208, 0.0, 0.00027298275, 0.001011805, 0.001318525, 0.0, 0.0029811305, 0.0029161042, 0.0060088155, 0.0, 0.00021241597, -0.0013439909, 0.0013205905, 0.0) * g_26; + result += mat4(-0.03467924, -0.035764243, -0.03348244, 0.0, 0.023858175, 0.02580526, 0.026217844, 0.0, -0.016814101, -0.016412167, -0.012021982, 0.0, -0.0007905926, -0.0019904284, -0.0015143935, 0.0) * g_27; + result += mat4(0.046779703, 0.04961137, 0.046104047, 0.0, -0.023665644, -0.022809561, -0.02236428, 0.0, -0.054706786, -0.056090504, -0.052543454, 0.0, -0.015520943, -0.01587306, -0.0142722875, 0.0) * g_28; + result += mat4(0.020273875, 0.020399818, 0.021745082, 0.0, 0.037485637, 0.039574977, 0.03556703, 0.0, 0.036673885, 0.04102765, 0.033708427, 0.0, 0.024422405, 0.027724478, 0.0252598, 0.0) * g_29; + result += vec4(-0.0036656514, 0.006677459, 0.007698717, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_VL.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_VL.glsl new file mode 100644 index 0000000..f78e294 --- /dev/null +++ b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_VL.glsl @@ -0,0 +1,873 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.14361712, -0.16690509, 0.37253398, -0.45202538, -0.21331833, -0.32675815, -0.33971128, 0.20261937, -0.20606318, -0.215143, -0.079716705, 0.15640882, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.17360486, -0.3435545, 0.08199117, 0.56259036, -0.120246716, 0.24312893, -0.021436244, -0.11864853, 0.19452724, 0.106943935, -0.077393375, -0.3503661, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.072465785, 0.2772823, 0.25493625, 0.3098145, -0.115831695, 0.072458096, -0.014782132, -0.15310249, 0.12178311, -0.015555423, -0.2229811, 0.16469522, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.18652022, -0.30702665, -0.59921896, 0.079824045, 0.4426619, 0.049343713, 0.44902903, -0.2711445, 0.20470268, -0.029203767, 0.29092675, 0.15562426, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.21041247, 0.48450592, -0.110547826, 0.3842122, 0.5303875, -0.26512837, 0.19846216, 0.045673862, 0.12773214, -0.05117536, -0.03510946, -0.30123934, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.3186735, 0.052702922, -0.12499774, 0.055628903, -0.16476867, 0.12642322, -0.18314636, 0.018323101, -0.3609603, 0.25649396, 0.3185421, -0.0057759956, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.16603558, -0.09259665, -0.28760567, -0.14319661, 0.12511417, -0.12551902, -0.00070228375, 0.20914114, -0.22466865, 0.1064727, 0.32598525, -0.08596318, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.03163653, 0.026722813, -0.4361858, -0.21164834, 0.4176763, 0.08203146, 0.35289326, -0.06128859, 0.20506798, -0.07098943, 0.1807802, 0.2658414, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.09821681, 0.058886815, 0.39192092, -0.06791861, -0.15682612, 0.09503328, -0.23400265, 0.026475023, -0.08800713, -0.043749645, -0.18024494, -0.08045564, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.040999945, 0.075765304, -0.0911532, -0.10705836); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.16406488, -0.2506693, -0.15592022, -0.05529256, -0.3997277, -0.229681, -0.07762124, 0.1843808, 0.07895815, 0.14437248, 0.219114, -0.048090722, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.2150676, 0.09080163, 0.19598733, -0.40578827, -0.33846557, -0.02518622, 0.037079208, 0.20188439, -0.013777575, -0.2369007, -0.30985412, 0.0411912, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.119948365, 0.23014452, -0.14962277, -0.096262485, 0.09625151, 0.2025487, 0.03933539, 0.12268028, -0.24373281, 0.19730613, 0.11634144, 0.12293635, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.08030697, -0.40114692, 0.21532272, 0.20222071, 0.073098, -0.004463858, 0.02820587, -0.18861918, -0.20994501, -0.12444653, -0.23178193, -0.13965288, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.14150894, 0.14563078, 0.697704, 0.20918849, 0.26776335, -0.34291518, 0.06394055, 0.17925078, 0.4165139, -0.042595536, 0.105312675, 0.231854, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.024318576, 0.16668217, 0.0729521, -0.7071404, 0.3121693, 0.37295797, -0.015632952, 0.33763757, 0.00706697, 0.10836652, -0.11132417, 0.292844, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.14489831, 0.0027769986, -0.24509215, 0.5557927, -0.1104541, 0.005070684, -0.020032275, -0.5642205, 0.16048644, 0.07248175, 0.20387374, -0.38145426, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.33140838, -0.007438425, 0.26074782, 0.15947102, 0.219755, -0.14690271, -0.07412696, -0.24176367, -0.2230114, 0.027256912, -0.11255796, -0.05882673, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.19712369, 0.003842208, -0.10893768, 0.09047115, -0.10260409, 0.18662766, 0.009733428, 0.0039940844, -0.006444674, -0.15196493, 0.06641555, -0.06169452, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.029148052, -0.03215124, -0.6175828, 0.057135154); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.05195995, 0.15220909, -0.24354807, -0.109075695, 0.020483498, -0.14830725, 0.0018816335, -0.0072673927, 0.0649385, 0.046050787, -0.10789607, -0.046609525, -0.11455093, -0.009358115, 0.11280759, 0.18053898) * go_0(-1.0, -1.0); + result += mat4(-0.08619698, 0.091353096, -0.16379662, 0.07822936, 0.072919995, 0.1482446, 0.17846228, 0.04639898, -0.18998149, 0.1653338, -0.44187957, -0.010017503, -0.069953404, 0.08784785, -0.16391355, 0.35095468) * go_0(-1.0, 0.0); + result += mat4(0.088297926, 0.27259287, 0.013088447, 0.023461785, 0.10037149, -0.017414214, 0.08559885, -0.10822335, 0.10591637, 0.17240539, 0.15749931, 0.026641782, 0.11889612, -0.018095117, -0.08736018, 0.09934933) * go_0(-1.0, 1.0); + result += mat4(0.21426749, 0.0800268, -0.19816414, 0.07693414, 0.026270509, -0.11724047, 0.026078718, 0.13080709, 0.12207936, 0.056103867, -0.323923, -0.111454345, 0.059245165, 0.07257926, 0.032195322, 0.27225617) * go_0(0.0, -1.0); + result += mat4(-0.20130268, 0.026809234, -0.0020803472, -0.04394057, -0.1982125, -0.033678252, -0.12881789, 0.0025656687, 0.14193355, -0.2541802, -0.13239717, -0.05983356, -0.029376393, 0.33187667, 0.14438996, -0.21993925) * go_0(0.0, 0.0); + result += mat4(-0.12772562, 0.022498213, 0.24753313, 0.07440761, -0.17564529, 0.09971503, -0.013372, 0.09459552, -0.21597451, -0.40116546, 0.23446435, 0.1515452, 0.050813515, 0.19662157, -0.10604596, -0.24638489) * go_0(0.0, 1.0); + result += mat4(0.23866327, -0.2706382, -0.07480157, 0.03789501, 0.117716484, -0.095995456, -0.0435066, 0.013025061, -0.029759895, -0.036287807, 0.08570493, 0.030151363, 0.18863682, -0.27228612, 0.020479294, -0.07058746) * go_0(1.0, -1.0); + result += mat4(0.0026758043, -0.20750894, 0.2802277, -0.07761428, -0.012089615, -0.112726666, -0.03867965, -0.085082226, 0.034227375, 0.19662802, 0.26272395, 0.036822405, -0.23040786, -0.20173554, 0.07110236, -0.26939383) * go_0(1.0, 0.0); + result += mat4(-0.14012688, -0.067249745, 0.14726773, -0.0070919944, 0.19275497, 0.04460783, 0.18776374, -0.019941995, -0.076159865, 0.002261728, 0.238768, 0.039375026, 0.13200568, -0.023286859, 0.034387972, -0.01827453) * go_0(1.0, 1.0); + result += mat4(-0.0107542025, -0.13001555, 0.06596806, -0.03370635, -0.024291076, 0.10367739, -0.03396605, 0.041960735, 0.16230568, 0.024845246, -0.016806586, 0.22547007, -0.025378102, 0.064547986, -0.2113137, 0.042272836) * go_1(-1.0, -1.0); + result += mat4(-0.2219356, -0.049535394, 0.10289468, 0.14175911, 0.013058568, -0.15909089, -0.02546921, 0.11721571, 0.13020545, 0.39660174, -0.07601573, -0.16366366, -0.023935124, 0.06681424, -0.26143414, -0.07485668) * go_1(-1.0, 0.0); + result += mat4(0.1405031, -0.0645044, -0.15865614, 0.1829069, -0.22526503, 0.08991175, 0.041972812, -0.012462953, 0.3022753, 0.19457603, 0.022607598, -0.25460255, 0.028327515, 0.14420614, -0.077984214, 0.09278112) * go_1(-1.0, 1.0); + result += mat4(0.13224132, 0.13115089, -0.188987, -0.19428022, -0.080641985, 0.20909777, 0.067079, -0.19832124, 0.13150498, 0.04450851, -0.2770351, -0.010381239, 0.32295567, 0.04445836, 0.030657565, 0.020271502) * go_1(0.0, -1.0); + result += mat4(-0.08188993, 0.039709873, 0.16059989, -0.13279189, 0.11389818, -0.071865685, 0.09312801, -0.08816363, -0.65844774, -0.6854379, 0.21431407, 0.597198, -0.3734657, -0.116027676, 0.015932929, -0.0653176) * go_1(0.0, 0.0); + result += mat4(0.24136105, 0.21444799, -0.14235207, 0.08445492, 0.017335927, -0.49877876, -0.06224622, 0.1571534, 0.035594277, 0.059829034, 0.087631516, -0.17090686, -0.005452869, 0.13786094, 0.27586326, 0.046760406) * go_1(0.0, 1.0); + result += mat4(0.095078, 0.30310658, 0.010268592, 0.18540539, -0.20722823, -0.0005848572, -0.06464327, -0.111019135, -0.07837157, -0.12183798, -0.09187498, -0.3368629, -0.08216629, -0.20095807, 0.009563313, 0.024838416) * go_1(1.0, -1.0); + result += mat4(0.28712475, 0.0641969, -0.034764312, 0.13600683, -0.09211094, 0.009699817, -0.001104855, -0.026146285, 0.33425868, -0.16132632, 0.18051304, -0.104004376, 0.20768233, 0.0888418, 0.050057285, -0.020228952) * go_1(1.0, 0.0); + result += mat4(0.11642946, -0.021900529, -0.08910504, 0.15492517, -0.19726521, 0.1434987, -0.24708387, 0.006737377, 0.11353539, -0.15897587, -0.029491093, 0.06002862, -0.09640613, -0.11342702, 0.21375169, 0.0062719737) * go_1(1.0, 1.0); + result += mat4(-0.15513068, -0.3151456, 0.20799752, -0.07449935, -0.09226967, 0.112302735, -0.16211908, -0.37986508, -0.27418482, -0.10445544, 0.21112369, -0.06780466, -0.062341, 0.07758948, -0.012719117, -0.16481343) * go_2(-1.0, -1.0); + result += mat4(0.16382848, 0.14490448, -0.012869055, 0.1804095, -0.05304844, -0.14624795, -0.14816979, -0.17435774, 0.25356865, 0.11435022, 0.19412366, 0.19499794, -0.10189348, 0.023880519, 0.16822465, -0.17454338) * go_2(-1.0, 0.0); + result += mat4(0.04854064, 0.11944563, 0.022984248, -0.0852543, -0.0077684796, -0.044182744, -0.02888099, 0.27452356, -0.07887827, -0.15155658, -0.12841311, -0.21202831, -0.18533322, -0.05852455, 0.0761054, -0.22115342) * go_2(-1.0, 1.0); + result += mat4(-0.21520375, 0.11415518, 0.18909843, -0.16420493, -0.20909967, -0.3257246, 0.29332343, -0.029541709, -0.1679851, 0.14073059, 0.32720464, 0.13311239, -0.0021121972, -0.08773544, -0.045532625, 0.36960867) * go_2(0.0, -1.0); + result += mat4(0.58407414, -0.23632582, -0.16739567, 0.264173, 0.09584864, 0.18455075, 0.20051196, -0.04616608, 0.13441175, -0.0055764276, -0.08625195, 0.097847305, 0.19565724, -0.12183587, -0.11488796, 0.2520169) * go_2(0.0, 0.0); + result += mat4(0.01584208, -0.31471413, 0.017104283, 0.0682452, 0.18728764, 0.042960413, 0.06437809, -0.14483811, 0.13882554, 0.016576322, -0.029599546, 0.034904055, -0.20939542, -0.10213055, 0.08821727, 0.0030552552) * go_2(0.0, 1.0); + result += mat4(-0.2973797, 0.15791039, 0.10811437, -0.07947077, -0.26328024, -0.061920475, 0.12498813, 0.100570425, -0.018922925, 0.002256239, -0.094379805, -0.032315314, 0.48677605, -0.04879864, 0.028028104, -0.14557233) * go_2(1.0, -1.0); + result += mat4(0.016148027, 0.13884154, -0.19554809, -0.006344376, -0.013450252, 0.2581758, 0.10643088, 0.23465036, -0.078438915, -0.099644944, -0.1442203, -0.2285087, 0.33528957, -0.17052084, -0.26595074, 0.14794162) * go_2(1.0, 0.0); + result += mat4(0.041404825, -0.0813985, -0.19863169, -0.008302881, 0.023570588, -0.043578386, -0.20971186, 0.14654282, 0.048436746, 0.11266723, -0.25812748, -0.03340969, -0.18430679, -0.046258014, -0.007674466, -0.037139155) * go_2(1.0, 1.0); + result += mat4(-0.060693484, -0.08285047, 0.06638212, 0.18479855, 0.11099276, -0.14470962, 0.16915078, 0.32247669, -0.10845523, 0.0027510398, -0.014941873, -0.15779859, 0.051481526, -0.14748912, 0.12125527, -0.059839584) * go_3(-1.0, -1.0); + result += mat4(0.27571446, 0.01663349, -0.057985745, -0.089736536, -0.09541078, 0.18101417, 0.084854685, 0.11060913, 0.05631825, 0.066835634, -0.02837782, -0.049748126, -0.050051138, -0.05126488, 0.27121767, 0.06331115) * go_3(-1.0, 0.0); + result += mat4(-0.13630085, -0.03787764, 0.13351586, -0.024081819, 0.10403757, -0.0034796793, -0.04838045, -0.064052396, -0.34672704, -0.06271465, -0.024577484, -0.13450806, -0.013759927, 0.11706738, 0.07913658, -0.016639082) * go_3(-1.0, 1.0); + result += mat4(-0.023730129, 0.020174952, 0.048988737, -0.013395666, 0.0073305597, 0.059409764, -0.27721968, 0.13349204, -0.022947624, 0.112007216, -0.008175606, -0.14903043, -0.35755506, -0.02145208, -0.021762518, -0.17889674) * go_3(0.0, -1.0); + result += mat4(0.19315337, 0.16287236, -0.07667863, -0.020898499, -0.021058874, -0.20849414, -0.3571716, -0.13001479, 0.44977963, 0.016706442, -0.03471178, 0.35189477, 0.3050666, -0.019236205, 0.16278796, 0.3093703) * go_3(0.0, 0.0); + result += mat4(-0.1507458, -0.13747548, -0.05822537, 0.16035356, -0.08386089, -0.03476887, -0.0022021863, -0.032772254, 0.17572841, 0.004200287, 0.045312192, 0.27265742, -0.037853006, -0.056344658, -0.3095155, 0.15215549) * go_3(0.0, 1.0); + result += mat4(0.11428048, -0.19523771, 0.016499955, -0.03625986, 0.15670861, -0.077859454, -0.059640404, 0.023970904, -0.009806148, 0.0904747, -0.006978744, 0.15938658, 0.030886533, 0.13507655, -0.002613293, -0.1335748) * go_3(1.0, -1.0); + result += mat4(-0.20070468, 0.06281564, -0.026250493, -0.042895693, -0.06574456, 0.10412931, 0.12061968, -0.0750467, -0.10865931, -0.05715226, -0.022071969, 0.02608941, -0.21416737, -0.18582128, -0.091236554, -0.044943426) * go_3(1.0, 0.0); + result += mat4(-0.057988428, 0.21430638, -0.17991407, -0.051662743, 0.060244065, -0.021494022, -0.018070806, -0.09278776, -0.011404125, 0.064091586, 0.12852973, -0.16610947, 0.08740408, 0.045517463, -0.27932477, 0.11050971) * go_3(1.0, 1.0); + result += vec4(0.012687187, -0.11876551, -0.041985378, -0.10110911); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.07579397, 0.008718031, 0.03874428, -0.022123579, 0.064964466, -0.27502275, -0.0053009577, 0.11669645, 0.007708085, 0.009340055, -0.13001843, -0.03758108, -0.07045759, -0.08749642, -0.21329811, 0.13205966) * go_0(-1.0, -1.0); + result += mat4(-0.14087188, -0.12068241, 0.046639618, 0.05115712, 0.108357444, -0.05040456, 0.03280633, 0.09336891, -0.055509757, -0.036777936, 0.043575723, -0.041975956, -0.17782387, -0.12977566, -0.0736514, 0.17304243) * go_0(-1.0, 0.0); + result += mat4(-0.2638534, 0.0385968, 0.14743716, 0.18057759, -0.036564615, 0.107838504, 0.08324167, 0.13403444, -0.41366392, 0.072824344, -0.013165103, 0.06114856, -0.040475495, -0.14222278, 0.10455181, 0.0021660402) * go_0(-1.0, 1.0); + result += mat4(0.30221993, -0.06315301, 0.057081617, -0.020285107, 0.053984016, 0.13086873, -0.30863532, 0.028010197, 0.0070908144, 0.19940577, -0.013766302, -0.039389495, 0.28064504, 0.05970737, 0.074613005, -0.10217121) * go_0(0.0, -1.0); + result += mat4(0.042094592, -0.1725651, 0.3514404, 0.008126955, 0.08739713, 0.081543595, -0.12912413, 0.0854203, 0.28885832, 0.107783586, 0.22996111, 0.13907135, 0.071920335, -0.15172984, 0.07151959, 0.1406894) * go_0(0.0, 0.0); + result += mat4(-0.1072496, 0.03934067, 0.20014063, 0.051399443, -0.29610988, 0.18659018, -0.17761967, 0.08701774, -0.17493258, -0.08035252, 0.03155133, -0.13986085, 0.023490375, 0.083998375, 0.014006612, 0.03860323) * go_0(0.0, 1.0); + result += mat4(0.09324427, 0.10990628, -0.18758917, 0.0054821614, -0.09425237, 0.1192338, -0.063183226, -0.15047066, 0.15664004, 0.037881903, -0.06762073, 0.09622682, 0.028449943, -0.25338468, -0.18897526, -0.18360007) * go_0(1.0, -1.0); + result += mat4(0.030310342, 0.2083269, -0.04938559, -0.009608655, 0.019751158, 0.12257741, 0.090964966, -0.09864261, 0.058817703, -0.053385522, 0.15931179, -0.10585003, 0.06986225, 0.3435001, -0.33307528, -0.14035752) * go_0(1.0, 0.0); + result += mat4(0.13506691, -0.00015406386, -0.15279713, -0.2290177, 0.019568326, 0.41041428, 0.10566904, -0.08350839, 0.19839814, -0.31052053, -0.04471875, 0.07629561, -0.117245845, 0.19819061, 0.1683647, 0.11896638) * go_0(1.0, 1.0); + result += mat4(0.06920538, 0.2656798, -0.06529862, -0.1695985, -0.21614018, 0.17208195, 0.123307765, -0.061470803, 0.07827313, -0.18543327, 0.0937214, 0.098630935, -0.17667519, -0.01978596, -0.09126346, -0.034487445) * go_1(-1.0, -1.0); + result += mat4(0.030779282, -0.24423946, -0.08623178, 0.1490136, 0.029337894, 0.17548573, -0.05990294, -0.29123273, -0.10020608, -0.3527181, -0.105286725, 0.27502912, -0.25686985, 0.18521136, -0.110095225, -0.07999611) * go_1(-1.0, 0.0); + result += mat4(-0.03266192, 0.045139533, -0.03275437, -0.13748369, 0.15633966, 0.089048125, -0.07592367, -0.09013536, -0.18907873, 0.08265683, -0.069233745, 0.27151683, -0.0647864, -0.15308899, 0.021954, 0.05528693) * go_1(-1.0, 1.0); + result += mat4(0.10284642, -0.14667438, 0.18669777, 0.053000864, -0.12383836, -0.037600834, 0.29438737, 0.04739594, 0.07846367, -0.11676573, -0.048153553, -0.34298027, 0.028358897, 0.119508564, 0.08012271, -0.019992562) * go_1(0.0, -1.0); + result += mat4(-0.22123314, -0.2223458, 0.002969434, -0.07143056, 0.027859585, 0.010600199, 0.056626067, 0.15160584, -0.16350581, -0.044484995, -0.1805076, 0.33351076, 0.073631234, 0.0167081, 0.15704727, 0.107799366) * go_1(0.0, 0.0); + result += mat4(-0.006882137, 0.19744347, 0.041128602, 0.17459555, 0.10376277, -0.12519689, 0.0993647, -0.13044195, 0.10485074, 0.1712284, 0.13369127, 0.24649777, -0.038975652, -0.24550107, 0.19567624, -0.09961197) * go_1(0.0, 1.0); + result += mat4(0.24763626, -0.0902329, 0.21201743, 0.078442305, 0.013261817, -0.019013328, -0.07576136, 0.14993069, -0.24216306, -0.05666454, -0.064632, -0.38150248, 0.14649945, -0.020437164, -0.13821694, -0.026110074) * go_1(1.0, -1.0); + result += mat4(0.21790951, -0.08288076, 0.011415891, -0.1446542, -0.15910968, -0.21221179, -0.06154624, -0.028623452, 0.10872824, 0.17089185, 0.26339474, -0.42544034, 0.095593184, 0.20962211, 0.0034138034, 0.024243662) * go_1(1.0, 0.0); + result += mat4(-0.050784085, 0.06333505, 0.041011192, 0.17474842, 0.14517011, -0.4340653, -0.10313813, 0.12524489, 0.18353751, 0.4589042, -0.037463415, 0.07841999, -0.114173576, -0.10669665, 0.029463472, -0.14393249) * go_1(1.0, 1.0); + result += mat4(0.12771326, -0.06622126, 0.08327681, -0.15113758, -0.114005744, 0.059280578, 0.04071302, -0.11074485, -0.23312584, -0.032968838, 0.13736604, -0.15776984, 0.067029156, 0.0580463, 0.20655325, -0.2112593) * go_2(-1.0, -1.0); + result += mat4(0.16148107, 0.02879793, -0.24918973, 0.009605728, -0.102177374, 0.050518002, -0.00015101423, -0.046602443, 0.5081422, -0.044740383, -0.06243097, 0.076031074, 0.1157983, 0.03965003, 0.109161526, -0.36589798) * go_2(-1.0, 0.0); + result += mat4(-0.018941574, 0.000912917, -0.2585099, 0.13668273, 0.062664494, -0.09246434, -0.14594543, -0.11160076, 0.015663203, -0.02447256, -0.070794076, 0.11807077, 0.12931514, 0.14109722, -0.07506544, -0.012781477) * go_2(-1.0, 1.0); + result += mat4(-0.48816162, 0.16294348, 0.011336221, 0.107038386, -0.01978858, 0.039453425, 0.112853855, 0.007536018, -0.005471479, -0.11315905, 0.032013394, 0.11523904, -0.2504089, 0.04803124, -0.09689627, 0.24372064) * go_2(0.0, -1.0); + result += mat4(0.61343086, 0.09531598, -0.24803302, 0.23788263, 0.13495958, 0.24733612, 0.1575427, -0.06863399, 0.2341275, -0.15821049, -0.165848, 0.0290172, -0.010136783, 0.04415787, -0.2619951, 0.09987892) * go_2(0.0, 0.0); + result += mat4(0.19411229, 0.24528526, -0.250216, -0.33602244, 0.17639299, -0.052413136, 0.122578874, 0.028618507, 0.25713214, 0.22033587, -0.19680484, 0.028938502, -0.083384775, -0.06476429, 0.036840588, -0.14297847) * go_2(0.0, 1.0); + result += mat4(-0.2897587, -0.12176407, 0.19259763, -0.106649496, -0.026704982, -0.036201328, -0.06753124, 0.37967134, -0.20092241, 0.006229027, 0.12085137, -0.09810282, -0.1501556, -0.0099991355, 0.25044358, 0.08538966) * go_2(1.0, -1.0); + result += mat4(-0.11304407, -0.24147832, 0.21644448, -0.035938095, -0.036439262, -0.042730987, -0.04384442, 0.10325233, -0.32405272, -0.11873838, -0.15075137, -0.036929503, -0.10808143, 0.25799102, 0.13749036, 0.5451476) * go_2(1.0, 0.0); + result += mat4(-0.24142508, -0.04895773, 0.09022442, 0.2821465, -0.06298706, -0.1807906, 0.02960867, 0.22310257, -0.1915311, 0.2900501, 0.1670845, -0.080343634, 0.25779882, -0.27144584, -0.23575482, -0.14724477) * go_2(1.0, 1.0); + result += mat4(0.020742219, -0.10571064, -0.0010137435, 0.14439318, 0.32805952, -0.027505733, -0.07111945, 0.07043296, -0.09525604, 0.03175366, -0.14633068, -0.15810682, 0.18050082, 0.08191363, 0.07047039, 0.0018573351) * go_3(-1.0, -1.0); + result += mat4(-0.023874652, 0.14996628, 0.11298528, -0.1508891, -0.052415725, -0.02570088, 0.0055150646, 0.16365297, -0.046594325, 0.18095094, 0.09934885, -0.066233225, 0.2404304, -0.112728044, 0.14004207, 0.11369578) * go_3(-1.0, 0.0); + result += mat4(0.14799033, 0.025304591, 0.031008242, 0.03795376, -0.15800071, -0.043169834, 0.10797239, 0.17129694, 0.09674189, -0.11010672, 0.07283912, -0.11063907, 0.108249694, 0.025199141, 0.09162024, -0.1827302) * go_3(-1.0, 1.0); + result += mat4(-0.08983324, 0.07823903, -0.137839, 0.11909572, 0.11996334, -0.05947995, -0.25459376, -0.18159851, 0.044489045, 0.052461334, 0.13674203, 0.12579007, -0.33665392, -0.07313439, -0.013640538, -0.010538632) * go_3(0.0, -1.0); + result += mat4(0.0884388, -0.10034604, 0.047238693, 0.12025125, -0.16648497, -0.20305477, 0.08240087, -0.17453992, 0.19033237, 0.28438845, -0.32885036, 0.14011146, -0.13389368, -0.012868356, -0.15273216, -0.19119217) * go_3(0.0, 0.0); + result += mat4(0.09196779, -0.13800567, 0.08842335, -0.18658079, 0.17512907, 0.021311145, -0.06347847, -0.13827331, -0.10689703, -0.1707886, -0.15724367, -0.167876, 0.22493233, 0.3070637, -0.035266686, -0.0068385694) * go_3(0.0, 1.0); + result += mat4(-0.2739973, 0.07336105, -0.196827, 0.060224827, 0.05752693, -0.014346674, 0.025412507, -0.27530053, 0.27755278, -0.07631679, -0.053861864, 0.113329165, -0.31025892, -0.012681806, 0.06228483, -0.054306302) * go_3(1.0, -1.0); + result += mat4(-0.16827694, 0.16333361, 0.068389125, 0.24560109, 0.11659498, 0.052896734, -0.020310031, -0.17830387, -0.07551057, -0.01822214, -0.037451357, 0.24607496, -0.2033962, -0.11107965, 0.05005381, 0.13685274) * go_3(1.0, 0.0); + result += mat4(0.13665263, -0.24541081, 0.0012457973, -0.012630116, -0.09559698, 0.17756529, -0.039300505, -0.044217475, -0.22984356, -0.2294885, 0.104534455, -0.04131095, 0.084843494, 0.038027752, -0.106351435, 0.18853655) * go_3(1.0, 1.0); + result += vec4(0.010324113, -0.01262194, 0.0762259, -0.014071781); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.06961854, 0.06914646, 0.120440066, -0.04889646, -0.012870159, 0.01994181, 0.052958567, -0.14740478, -0.0027199117, -0.004924673, 0.10131955, -0.11496505, -0.06742836, 0.08287776, 0.11206167, -0.021625644) * go_0(-1.0, -1.0); + result += mat4(-0.025003597, 0.05389498, 0.14938618, 0.12255602, 0.050963886, 0.16300994, 0.17633909, 0.03229484, 0.2092038, 0.13367431, -0.09538967, 0.1636076, -0.022082182, 0.10898033, 0.0422286, -0.062253885) * go_0(-1.0, 0.0); + result += mat4(-0.0018258828, 0.08333001, 0.002765037, -0.022241322, 0.1628206, 0.14671557, 0.3001151, 0.030986495, 0.05225914, -0.04880372, 0.15963705, 0.17972782, 0.055128947, 0.114626616, 0.03460699, -0.07679627) * go_0(-1.0, 1.0); + result += mat4(-0.08866054, 0.0882386, 0.13833097, -0.079257324, -0.03060485, 0.049487974, 0.092268504, -0.17009564, 0.021603461, 0.20750603, 0.18884364, -0.10977116, 0.31758478, 0.053426504, 0.093257, 0.14912026) * go_0(0.0, -1.0); + result += mat4(0.13069148, 0.21368778, -0.4405162, -0.009193694, 0.090230525, -0.15897161, -0.005089127, -0.06011075, -0.27336648, -0.021869129, -0.2084852, -0.0850094, -0.10896211, 0.27229342, -0.044210993, -0.03346366) * go_0(0.0, 0.0); + result += mat4(0.05807779, 0.08506817, 0.23984064, 0.12547795, 0.036945213, 0.039088245, -0.10716132, -0.15966031, 0.13548918, 0.07746645, -0.248966, -0.15717135, -0.059498273, 0.0088413125, -0.02828682, -0.021795277) * go_0(0.0, 1.0); + result += mat4(0.013289853, 0.007272393, 0.06875863, -0.053158432, -0.03578172, 0.20148727, 0.1961931, -0.16910668, 0.03259818, 0.054221123, -0.0326064, 0.06493197, 0.053533003, -0.11878436, 0.14398894, -0.17543368) * go_0(1.0, -1.0); + result += mat4(-0.17906332, 0.1111989, 0.047910325, 0.11560207, 0.09790123, -0.2023765, 0.04265116, 0.0075303926, 0.012974969, -0.0853146, -0.04037416, 0.14489946, -0.0716403, -0.055603035, -0.30376709, -0.011667526) * go_0(1.0, 0.0); + result += mat4(-0.053314358, -0.012657763, 0.0077033425, 0.12168191, 0.016371705, 0.11979062, -0.08494259, -0.009617431, 0.1303907, 0.043279216, -0.17285421, 0.15823162, -0.030746695, 0.121796146, 0.13097613, 0.0024783302) * go_0(1.0, 1.0); + result += mat4(-0.11677548, -0.06592395, -0.022185773, 0.0031006308, -0.00906918, -0.0006412884, -0.00083743286, 0.083697535, -0.060518038, 0.14058606, 0.122444086, 0.17866874, 0.02376487, -0.06369968, -0.026537767, 0.21466877) * go_1(-1.0, -1.0); + result += mat4(0.12340551, -0.015656117, 0.051990572, 0.04361656, -0.05291406, 0.10119005, 0.17603071, 0.10464767, 0.03288951, 0.091776796, -0.17373918, -0.12871055, 0.10205503, -0.17783496, -0.17020486, -0.09781929) * go_1(-1.0, 0.0); + result += mat4(-0.01845568, -0.008877597, 0.14279746, 0.031775143, 0.041680444, 0.08784194, 0.044564564, -0.0011678484, -0.010219994, 0.10472676, 0.046920944, -0.110975444, -0.1197329, -0.11303071, -0.14893234, -0.091113724) * go_1(-1.0, 1.0); + result += mat4(-0.03856561, -0.12173735, 0.040876064, 0.13847597, -0.14995924, -0.13332345, 0.18687452, -0.22562599, 0.08920785, -0.0017916666, 0.019448435, 0.2306492, -0.054546747, -0.1465318, -0.10628867, -0.0073827514) * go_1(0.0, -1.0); + result += mat4(0.12689775, 0.11765595, 0.13039489, 0.06940679, 0.2672624, -0.03880143, -0.11693099, -0.05516293, -0.09665274, -0.2583138, 0.22954193, -0.19324702, -0.39629623, -0.35457405, 0.10052407, -0.19756024) * go_1(0.0, 0.0); + result += mat4(-0.06307673, -0.096393906, -0.0075868783, -0.25133502, 0.03436604, -0.008201423, 0.06386583, 0.106548436, 0.014626536, 0.03485315, -0.043418273, -0.1141408, 0.005102567, -0.11701804, -0.01645601, -0.057083) * go_1(0.0, 1.0); + result += mat4(-0.019062268, 0.020416953, -0.08854219, -0.037497565, 0.09449262, -0.09127615, -0.063330196, 0.08736769, -0.12394077, -0.17950213, -0.11101161, 0.16013645, -0.09370585, 0.0047447495, -0.04288296, 0.00314098) * go_1(1.0, -1.0); + result += mat4(-0.08263743, -0.14441489, -0.14886282, -0.05694989, 0.4254853, 0.10864832, 0.26322174, -0.042006254, 0.24269578, -0.053833783, -0.11558995, -0.066605136, -0.064816564, -0.25914803, -0.017624624, 0.0402331) * go_1(1.0, 0.0); + result += mat4(-0.100058846, -0.030422715, -0.19600148, -0.13322774, 0.1796998, 0.087852575, 0.07324559, -0.0047889417, 0.007248384, 0.08930289, 0.09643387, -0.0060126656, 0.16357517, -0.06628222, 0.030618697, 0.097391844) * go_1(1.0, 1.0); + result += mat4(0.09539377, -0.10802722, -0.014952347, 0.1683223, -0.03919409, 0.041155327, -0.012186347, -0.030456683, -0.015024977, 0.061710294, 0.00049987395, 0.27338788, 0.04845922, -0.014114694, -0.06371904, 0.008664) * go_2(-1.0, -1.0); + result += mat4(0.063082814, -0.02755945, -0.15663072, -0.053271208, 0.070173115, 0.038125586, -0.11840675, -0.016337764, -0.07963128, -0.06404943, 0.23033784, -0.007848355, -0.04434174, -0.092422634, -0.013985954, -0.038096108) * go_2(-1.0, 0.0); + result += mat4(0.037121523, -0.020622304, 0.086708754, 0.045878958, -0.13188364, -0.022858748, -0.22411314, -0.08116162, 0.048863005, 0.039260563, -0.04934298, 0.11015131, 0.028177079, 0.025245499, 0.1067935, 0.15324049) * go_2(-1.0, 1.0); + result += mat4(0.068235874, -0.14401375, -0.032677606, 0.02996807, -0.11290208, 0.114133574, -0.09627152, 0.053930115, 0.14560424, -0.15935057, -0.13495773, 0.29710987, -0.23231608, 0.14334352, 0.070753984, -0.08189047) * go_2(0.0, -1.0); + result += mat4(-0.22378983, -0.09858718, 0.30114698, -0.0048736916, 0.02198528, 0.21444769, -0.11228022, -0.14812283, 0.092372194, 0.1598949, 0.2534843, 0.4932573, -0.16642319, 0.12972073, -0.04147445, -0.09365905) * go_2(0.0, 0.0); + result += mat4(-0.132199, -0.0798279, -0.18289213, -0.15133642, -0.033057958, 0.007495456, 0.070398286, 0.049111973, -0.03361502, 0.032059964, 0.003850814, 0.22922683, 0.20279214, -0.07350396, 0.27681342, 0.11891455) * go_2(0.0, 1.0); + result += mat4(-0.095355205, -0.08533997, -0.043466177, 0.03183743, 0.0048090555, -0.07969942, -0.044769235, 0.15350139, 0.06485437, -0.027922742, 0.0850892, 0.00069019396, 0.035737295, 0.20380683, 0.03413393, 0.025630401) * go_2(1.0, -1.0); + result += mat4(0.26616514, -0.024066277, 0.09220501, 0.09643391, -0.014585791, 0.22894275, -0.053128377, -0.08719867, -0.08819027, 0.01932318, -0.113633566, -0.15435793, 0.10542983, 0.029819246, 0.33675614, -0.059085276) * go_2(1.0, 0.0); + result += mat4(-0.031325538, 0.040770013, -0.049561024, -0.2095101, -0.09537227, -0.075998954, -0.04323478, -0.05470401, -0.110066876, 0.059249427, -0.042351052, -0.047700178, 0.21932366, -0.12850443, 0.035361454, 0.013699006) * go_2(1.0, 1.0); + result += mat4(-0.08417607, 0.113477044, 0.03574209, 0.007835156, 0.2021717, 0.030678429, 0.19313626, -0.03506592, 0.04233059, -0.08540689, -0.07128929, -0.13245375, -0.08918939, -0.042622462, 0.19011301, -0.18228586) * go_3(-1.0, -1.0); + result += mat4(-0.19981891, -0.16255717, 0.042949058, -0.06921157, 0.279451, -0.11536949, -0.13747527, -0.10020231, -0.013784027, -0.06727259, 0.3556115, 0.08460814, -0.15348805, -0.07692103, -0.018658075, 0.0037634284) * go_3(-1.0, 0.0); + result += mat4(-0.09063814, -0.036312047, 0.13528036, 0.0070792423, 0.11834377, 0.02331524, 0.09386154, 0.07144935, 0.033078104, -0.1397121, 0.09283168, 0.2118868, -0.06313442, 0.032146804, 0.0060367053, 0.005822348) * go_3(-1.0, 1.0); + result += mat4(0.035949346, 0.06469895, -0.0051385965, -0.078584194, 0.43195483, 0.0045206803, -0.24012396, 0.21436183, -0.013394304, -0.04198491, 0.06645506, -0.23869638, -0.02311661, 0.06589808, 0.16800866, -0.21120183) * go_3(0.0, -1.0); + result += mat4(-0.24937367, -0.042277586, 0.08117994, 0.3105402, -0.26087892, -0.10325264, -0.08689298, 0.0064907144, 0.031937066, 0.09783758, -0.9514562, -0.104631096, 0.27990052, 0.36389935, 0.057687905, 0.14072314) * go_3(0.0, 0.0); + result += mat4(-0.19865227, 0.09398578, 0.06911146, 0.13077813, 0.024283953, -0.0036808057, -0.036725305, -0.024085987, 0.061556816, 0.0029027078, 0.24621862, 0.112107046, 0.068239614, 0.052718107, 0.20803368, 0.065064415) * go_3(0.0, 1.0); + result += mat4(-0.055511028, -0.08662344, -0.074801624, -0.021917107, 0.18730342, 0.047116343, 0.14872652, 0.10580926, 0.16962165, 0.16628978, 0.17343876, -0.1697205, 0.047853447, -0.22705628, 0.031780355, -0.09273609) * go_3(1.0, -1.0); + result += mat4(-0.17306295, -0.067308225, -0.17174196, -0.13221754, -0.24622467, 0.029901514, -0.12799668, -0.04145667, -0.14546, 0.013308366, 0.028113116, 0.1678875, 0.07922657, -0.015584258, 0.17059629, 0.07330948) * go_3(1.0, 0.0); + result += mat4(-0.09916512, 0.0623665, -0.022458963, 0.061962493, 0.18569344, -0.06590287, 0.111395456, 0.08477448, -0.03609452, 0.024279302, -0.083497405, 0.06459743, -0.22963138, -0.12262581, 0.006980887, -0.06653474) * go_3(1.0, 1.0); + result += vec4(-0.023354841, 0.0019475977, -0.0705355, -0.08216019); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!SAVE conv2d_2_tf1 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.13703531, 0.06135254, -0.05032855, 0.0039429665, -0.05997914, 0.03737832, -0.09703001, -0.08112204, -0.096779875, 0.086732335, 0.03021232, -0.14636067, 0.079296306, 0.006656948, 0.08904937, 0.06196539) * go_0(-1.0, -1.0); + result += mat4(-0.26374274, 0.16698441, -0.08554561, 0.03734819, -0.08525629, 0.12257442, 0.015473835, 0.13266069, 0.008439022, -0.05002345, 0.03232084, 0.17349075, 0.014541135, -0.10353582, 0.13339484, -0.13474584) * go_0(-1.0, 0.0); + result += mat4(0.05637785, -0.049726896, 0.06597188, 0.0058668824, -0.10623723, 0.13441847, 0.015975956, -0.07811197, 0.05975957, -0.062021587, -0.06533749, 0.083735935, 0.02666556, 0.029904561, -0.0102926055, -0.10931666) * go_0(-1.0, 1.0); + result += mat4(-0.22616413, 0.042830274, -0.116208926, -0.053796053, -0.1112898, 0.20703097, -0.34109348, -0.065111674, -0.17255561, 0.16784647, 0.00193431, -0.043237597, -0.02353095, -0.1302526, 0.05119598, 0.01403269) * go_0(0.0, -1.0); + result += mat4(0.086109385, -0.053006437, -0.24992542, 0.007938272, -0.0027849772, 0.09198081, -0.17596659, 0.030577915, -0.31807357, -0.29618275, 0.0056317504, 0.3662508, 0.16753437, -0.12481447, -0.057597708, -0.14973637) * go_0(0.0, 0.0); + result += mat4(-0.14585754, 0.027715279, -0.039035518, 0.11505972, 0.0038059987, -0.20368981, -0.014822689, 0.094012834, -0.20693347, -0.37216228, -0.12690443, 0.2727411, -0.15475404, -0.01948714, -0.12414737, 0.10378582) * go_0(0.0, 1.0); + result += mat4(-0.11750072, 0.051394574, -0.011073509, -0.1100907, -0.1389209, -0.10706716, 0.0017484069, -0.059556484, -0.20038931, 0.24976069, -0.011129469, -0.080446415, 0.19259459, -0.14515446, -0.07275811, 0.039244935) * go_0(1.0, -1.0); + result += mat4(-0.101780266, 0.003889027, 0.010705813, 0.011088775, -0.20406786, -0.009807119, 0.23070864, -0.030722639, -0.012015954, 0.025211284, -0.29246482, 0.04907962, -0.10485314, 0.21213223, 0.15788344, -0.014188987) * go_0(1.0, 0.0); + result += mat4(0.1546438, -0.15895118, 0.010730076, 0.034053337, -0.018741185, -0.008467293, 0.13143812, 0.022905342, -0.27543658, 0.3054419, 0.07025048, 0.29454592, -0.0032350307, 0.01671764, 0.081928045, -0.10051137) * go_0(1.0, 1.0); + result += mat4(-0.014834404, 0.07487839, -0.16554666, -0.04127725, 0.15239598, -0.017607473, 0.09927426, 0.15027349, -0.2073968, 0.041613225, -0.10290223, -0.12565911, 0.022021815, -0.07609557, -0.16338238, 0.04468512) * go_1(-1.0, -1.0); + result += mat4(0.01768976, 0.0637369, 0.006542782, -0.0022799321, -0.14728844, -0.058199093, -0.029928437, 0.079634584, 0.095769696, -0.13526416, 0.20718366, -0.10116214, 0.1688786, -0.08906526, 0.020397741, 0.06541649) * go_1(-1.0, 0.0); + result += mat4(-0.033067044, 0.10095467, -0.13792777, 0.022673525, -0.012797848, -0.11222105, 0.11443862, 0.04893716, 0.11389547, -0.07337629, 0.21447009, -0.032212257, 0.23070163, -0.18156143, 0.14542435, -0.10207653) * go_1(-1.0, 1.0); + result += mat4(-0.22985588, 0.012290226, 0.018557416, -0.064000085, 0.012936774, -0.104329854, -0.0719669, 0.24160251, 0.03716294, -0.093069404, -0.12110873, 0.013251573, -0.12731232, -0.1995954, -0.07679729, 0.06823493) * go_1(0.0, -1.0); + result += mat4(-0.23359679, -0.052702624, -0.08710696, 0.19826421, 0.12880315, 0.19875911, -0.20581602, 0.32980308, -0.14479029, 0.099422045, 0.44737315, 0.13044962, 0.12935589, -0.13621494, 0.14902137, 0.09162335) * go_1(0.0, 0.0); + result += mat4(0.10801082, -0.22644557, 0.035719793, -0.12396268, 0.2906566, 0.119107775, -0.15470679, 0.17997102, -0.12866725, -0.12695445, -0.06832712, 0.017622665, 0.08215481, 0.065239124, -0.1256659, -0.06811625) * go_1(0.0, 1.0); + result += mat4(-0.097956754, 0.09383762, -0.19813508, 0.0035260199, -0.14278924, 0.0660843, 0.19110036, 0.11025648, 0.15489757, 0.011157471, -0.16014035, -0.050144047, 0.0032884583, 0.061513808, -0.03385016, -0.08534137) * go_1(1.0, -1.0); + result += mat4(0.09499595, 0.04162155, -0.26091605, -0.18066265, -0.21523187, -0.036668014, 0.09586408, 0.059850723, -0.10890033, 0.28857672, -0.32993382, 0.05107536, 0.012024929, -0.27968574, 0.15081042, -0.07215633) * go_1(1.0, 0.0); + result += mat4(0.15673614, -0.064684846, -0.13838115, 0.1264376, -0.23772664, 0.11594999, 0.0898036, -0.092647165, 0.26081505, 0.05110054, -0.017965768, 0.06740709, -0.24977967, 0.05645255, -0.08204664, 0.0435078) * go_1(1.0, 1.0); + result += mat4(0.02560865, -0.1613835, 0.05876215, 0.101586774, -0.00058163394, 0.0013674656, 0.039857507, -0.002919488, 0.05573127, -0.04311352, 0.05305971, 0.10097247, 0.036392104, -0.025071293, 0.029137935, -0.08593101) * go_2(-1.0, -1.0); + result += mat4(0.12406646, -0.21399136, 0.05611706, 0.021867402, -0.037916705, 0.05941278, 0.11277805, -0.12387807, 0.008577062, -0.045022104, 0.16465645, -0.07607619, 0.035939474, 0.07221297, -0.13557361, 0.07806311) * go_2(-1.0, 0.0); + result += mat4(-0.19589397, 0.011909766, -0.01258029, -0.065313555, 0.07366803, -0.0812486, 0.115863465, 0.019752543, -0.15854625, 0.11246406, 0.007201303, 0.0008530298, -0.0287012, -0.036224626, 0.059641607, 0.09416462) * go_2(-1.0, 1.0); + result += mat4(0.20361906, -0.20671111, -0.1126041, 0.049152024, 0.17586707, 0.10047246, 0.13149028, -0.16302691, -0.08559989, -0.17756243, -0.0061752857, 0.124775924, 0.020011704, 0.17147969, -0.0003063916, -0.015890911) * go_2(0.0, -1.0); + result += mat4(0.11051906, 0.13774526, 0.29333818, -0.029932505, -0.07021508, 0.046212852, 0.11793092, -0.081830084, -0.18609521, -0.108229816, -0.044969153, -0.041069634, -0.13936938, 0.11356429, 0.19260931, 0.093210496) * go_2(0.0, 0.0); + result += mat4(0.010555152, -0.15726428, -0.13187453, -0.12396212, 0.17309372, 0.100884624, 0.11547714, -0.030650318, -0.21877939, -0.0015167049, -0.090150684, 0.029793834, 0.1465573, -0.038805004, -0.033211514, -0.04926991) * go_2(0.0, 1.0); + result += mat4(0.10250675, -0.030922988, -0.008545946, 0.024706079, 0.105154864, -0.06838902, -0.12627976, 0.032457255, 0.21747419, -0.12865087, -0.056018118, 0.07152061, -0.11214344, -0.029831404, 0.044855718, -0.04316971) * go_2(1.0, -1.0); + result += mat4(0.12806997, 0.12385188, -0.06831653, -0.015933594, 0.08645126, 0.013043054, -0.19599608, -0.060719345, -0.23076192, 0.19181651, 0.1292978, 0.036317572, -0.061692618, -0.25434494, -0.10012762, 0.06366783) * go_2(1.0, 0.0); + result += mat4(-0.11098094, 0.034632366, -0.053560194, 0.08499573, 0.20842391, -0.020262053, -0.023394845, 0.048971336, 0.10436084, 0.12614205, 0.035942093, -0.07592917, -0.07455495, -0.012119416, -0.011834865, 0.21032205) * go_2(1.0, 1.0); + result += mat4(-0.00055114913, -0.06662242, -0.009248925, -0.0024843027, -0.22993802, -0.04828541, -0.08667693, -0.093717255, 0.14400347, 0.030130679, -0.01590651, 0.10399553, 0.14478837, -0.11228224, -0.039653912, -0.042144097) * go_3(-1.0, -1.0); + result += mat4(-0.011044514, -0.09870122, -0.24879128, 0.111903004, 0.092567004, 0.06100228, 0.0053522107, 0.065252475, -0.18228072, 0.25602147, -0.2863954, 0.103064165, 0.052214783, -0.017557586, -0.07434391, 0.021111684) * go_3(-1.0, 0.0); + result += mat4(0.04537496, -0.024985183, -0.15247425, -0.0009907635, -0.09677889, 0.09858206, -0.030702371, 0.03539458, -0.029408665, 0.24335481, -0.1918429, 0.08056781, 0.1548214, 0.2850923, -0.15131058, -0.052048493) * go_3(-1.0, 1.0); + result += mat4(0.055409238, -0.13090813, -0.016612396, -0.019183576, -0.18499215, -0.013184845, 0.038750056, 0.10953814, -0.18437819, 0.19183092, -0.09780726, -0.046532292, -0.10841146, -0.17717329, -0.1731886, -0.06741823) * go_3(0.0, -1.0); + result += mat4(0.27919188, -0.14904179, 0.22850563, -0.17785722, -0.32835802, -0.19134615, 0.32093298, 0.24667856, 0.51687604, -0.59745705, 0.23057328, -0.41411245, -0.4234339, -0.03083826, -0.13972719, 0.1729651) * go_3(0.0, 0.0); + result += mat4(0.042352367, -0.109207705, -0.31047532, 0.08896513, -0.2187999, -0.117951825, 0.060705405, -0.10287316, 0.013815159, -0.023699438, -0.053614594, 0.09065406, -0.15286967, -0.101803675, 0.019537682, 0.12476822) * go_3(0.0, 1.0); + result += mat4(0.0016159728, 0.04094818, 0.012745902, -0.051958837, 0.014557628, 0.00061195926, -0.11669799, 0.08763203, -0.27820277, 0.17871988, 0.10634548, 0.05234229, 0.03827577, -0.3117398, 0.027675012, 0.0655132) * go_3(1.0, -1.0); + result += mat4(-0.0025006514, -0.1457415, 0.053443488, -0.0050932285, 0.01582735, 0.18783967, -0.066718, -0.15485887, -0.039741408, -0.21280284, 0.1502977, 0.09507925, 0.17178543, -0.014238171, -0.35757875, 0.026410697) * go_3(1.0, 0.0); + result += mat4(-0.19434428, -0.079038315, -0.017264817, -0.04004242, 0.0063378955, 0.027904915, 0.02571677, 0.09895997, -0.036605608, -0.19889063, 0.015920812, -0.014095519, 0.4363826, -0.14143194, 0.015463533, -0.1656284) * go_3(1.0, 1.0); + result += vec4(0.08523788, 0.052322272, 0.08955637, -0.06945023); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.048841953, -0.010713874, 0.09238948, -0.0789676, -0.093295254, 0.063662216, -0.023454266, -0.06739832, 0.027439933, 0.007399632, -0.03550259, -0.013834889, 0.17168441, 0.06177229, 0.023950668, 0.14574073) * go_0(-1.0, -1.0); + result += mat4(0.117296845, -0.07858486, -0.02099164, -0.024150673, -0.11662526, -0.26440877, -0.05449493, -0.13366842, -0.06870016, 0.12457937, 0.25052628, 0.013982828, 0.15127566, -0.031653196, -0.13851896, 0.04148151) * go_0(-1.0, 0.0); + result += mat4(0.024360385, -0.31051615, 0.012448293, -0.11265428, 0.06123606, -0.0701936, 0.033618104, -0.064061284, -0.06969811, -0.108838804, 0.014163671, 0.02596177, 0.20071186, -0.0028744373, 0.13663651, -0.05592813) * go_0(-1.0, 1.0); + result += mat4(0.13492568, -0.0726796, 0.13431883, -0.085713945, 0.056370113, 0.115660414, -0.14475793, 0.0044200714, 0.027387753, 0.045452334, 0.28178552, 0.017371183, 0.17304336, 0.0582999, 0.14465337, 0.046005037) * go_0(0.0, -1.0); + result += mat4(0.064034574, 0.041531377, 0.08218889, -0.44529077, -0.010563538, -0.14926371, 0.051012456, 0.08209141, 0.24089444, -0.225398, -0.22259372, -0.26353076, -0.1687418, -0.11501685, -0.016655196, -0.09882357) * go_0(0.0, 0.0); + result += mat4(-0.019985389, -0.19189276, -0.104917, -0.11139956, -0.08406414, 0.031484302, -0.082132496, 0.025829919, 0.07512055, 0.31116992, 0.061163265, -0.074850895, -0.091695994, -0.26492774, -0.06617365, 0.06590624) * go_0(0.0, 1.0); + result += mat4(0.1326703, 0.13008863, -0.1659525, -0.058325157, -0.047528613, 0.06777741, 0.06953616, 0.010587038, 0.031675722, -0.08119788, -0.11269768, -0.06225964, -0.26593694, 0.03627298, 0.12866129, 0.17876588) * go_0(1.0, -1.0); + result += mat4(-0.29016155, -0.12549841, -0.050858997, -0.088932805, 0.002237332, 0.01287246, 0.30138868, -0.071756564, -0.061206467, -0.11114371, -0.25731218, -0.11551616, -0.069513, -0.004583348, -0.10647163, 0.01981785) * go_0(1.0, 0.0); + result += mat4(0.16387528, 0.03450354, 0.03422023, -0.014030813, 0.13418834, -0.010909722, -0.00447121, -0.03082622, -0.23983373, -0.020655053, -0.054034587, -0.07133469, 0.21171515, 0.06268651, -0.1738516, -0.15001713) * go_0(1.0, 1.0); + result += mat4(0.040721033, -0.037582736, -0.13819644, -0.123978324, 0.1650318, 0.033942625, 0.17534302, 0.06452234, 0.18384823, 0.0048657497, 0.20220642, -0.0025760103, 0.011163899, 0.027265374, -0.051284578, 0.19202651) * go_1(-1.0, -1.0); + result += mat4(-0.057493486, -0.031516504, 0.10835143, -0.040618125, -0.07762303, -0.06787725, 0.025559613, -0.0055560498, -0.0017830619, 0.020185964, -0.06656476, -0.008523214, 0.32331157, -0.21633361, 0.15338033, -0.104042485) * go_1(-1.0, 0.0); + result += mat4(-0.18544987, -0.090446, -0.26797467, -0.082941435, -0.15003708, -0.11446041, -0.0394892, 1.1379096e-05, 0.04978554, 0.3350256, 0.032780237, 0.034625802, 0.0596261, 0.045886245, 0.009002243, 0.04746998) * go_1(-1.0, 1.0); + result += mat4(-0.17104147, 0.0054165213, 0.09161088, -0.0673989, -0.119282715, -0.09094731, 0.47243354, 0.09914267, -0.13958418, -0.0050379517, 0.14352496, 0.18380567, -0.16128838, 0.08766813, 0.013876981, -0.09808636) * go_1(0.0, -1.0); + result += mat4(0.09617889, 0.045525175, -0.2550057, -0.02874332, 0.2743444, -0.20102581, 0.008461914, 0.16626629, -0.13309516, -0.19307104, 0.15780488, 0.15518525, -0.2790243, 0.056782067, 0.16836968, 0.17771688) * go_1(0.0, 0.0); + result += mat4(-0.10694667, 0.14490083, -0.037976455, 0.013456577, -0.1166783, 0.060722847, 0.07323464, -0.013812333, 0.03234213, 0.50859296, -0.20670377, -0.019631205, -0.022543924, 0.21776745, -0.093769215, 0.12193299) * go_1(0.0, 1.0); + result += mat4(-0.15260598, -0.04798592, -0.02370747, -0.005714705, 0.030857049, -0.16643822, 0.23971851, 0.08117996, -0.069645695, -0.06674784, 0.033509918, 0.06333286, 0.14010383, 0.02218942, -0.036704093, 0.043163314) * go_1(1.0, -1.0); + result += mat4(0.14653306, 0.002759894, 0.10548246, 0.24976018, 0.3212893, -0.07108953, 0.14068738, 0.29437128, -0.020556152, -0.17813908, 0.1989112, 0.12182122, -0.19231579, 0.06547012, -0.032785345, 0.089717634) * go_1(1.0, 0.0); + result += mat4(-0.23632105, -0.027022298, 0.00586518, 0.01836479, -0.2854795, -0.035417695, -0.07586866, 0.0715673, 0.17984483, 0.11210451, 0.032767817, 0.097993985, -0.010899036, 0.15933803, 0.05454052, 0.06768528) * go_1(1.0, 1.0); + result += mat4(-0.017289463, -0.058823984, 0.0807603, 0.32464716, 0.2756627, 0.036061637, -0.034578573, -0.08811335, 0.031841308, 0.11359879, 0.07553143, -0.028648997, 0.057192322, 0.07769366, -0.1998847, -0.06258051) * go_2(-1.0, -1.0); + result += mat4(0.0422091, 0.046305113, 0.028377453, -0.031071126, 0.06866086, 0.1538135, -0.009288249, -0.25543538, 0.07067607, -0.114061736, -0.024740022, -0.11824987, -0.17426041, 0.0028396242, 0.12849464, 0.057790644) * go_2(-1.0, 0.0); + result += mat4(0.057328146, 0.030677445, 0.07496485, 0.07847613, -0.22358766, -0.15659446, -0.18270054, -0.21316889, 0.084770195, 0.013863274, -0.001335942, -0.04027535, -0.15230416, -0.048156176, -0.04614562, 0.089494966) * go_2(-1.0, 1.0); + result += mat4(-0.117369525, 0.026577681, -0.1941765, 0.14904885, -0.16210394, -0.19549404, 0.19999947, 0.37138188, 0.14809363, -0.05078633, -0.092692114, -0.08533522, 0.12769112, 0.017061725, 0.104464866, -0.026744602) * go_2(0.0, -1.0); + result += mat4(0.0880251, -0.005333869, -0.10327546, 0.30419552, 0.107773595, 0.02335926, -0.19014318, 0.19670166, -0.09443473, 0.10621109, 0.36843884, 0.13197622, 0.24537645, 0.4032842, 0.21791221, 0.08400414) * go_2(0.0, 0.0); + result += mat4(0.06408587, 0.15366535, 0.042582024, 0.15629277, 0.028716238, -0.013479061, -0.23052843, -0.2992272, -0.050045617, -0.27255702, -0.038093377, 0.0031149297, -0.05625518, 0.52598304, -0.0845234, -0.09116851) * go_2(0.0, 1.0); + result += mat4(0.02294159, -0.011902539, 0.00079296535, 0.030631313, 0.02114366, 0.082455896, 0.09450867, -0.08027284, 0.042443607, 0.15427661, 0.11882799, -0.040319934, 0.23706424, -0.107808165, -0.1730313, -0.06340064) * go_2(1.0, -1.0); + result += mat4(0.2645207, 0.002157867, -0.095794424, 0.1141035, 0.08255855, -0.06977906, -0.04348005, 0.27864936, -0.1197219, 0.015997604, 0.09500464, -0.0010631803, 0.07198933, -0.053128377, 0.02176274, -0.001298847) * go_2(1.0, 0.0); + result += mat4(-0.045475803, 0.03626341, -0.00891833, 0.17907676, -0.2810277, 0.13725498, -0.02413441, -0.08605496, 0.08306595, -0.012227401, -0.0070282067, -0.019027572, -0.13443586, -0.041331865, 0.029120144, -0.00490357) * go_2(1.0, 1.0); + result += mat4(-0.13398282, 0.06475972, 0.2528711, 0.02553969, -0.13428321, -0.03931247, 0.11360386, -0.18912545, -0.3725821, -0.018747944, -0.20893294, -0.012743096, 0.07444533, -0.15381604, 0.29776138, 0.10601149) * go_3(-1.0, -1.0); + result += mat4(-0.21793252, 0.07817356, -0.109576665, 0.19185133, -0.072846025, 0.04960289, -0.07506936, 0.12839878, -0.0061091883, 0.093669325, 0.009295678, 0.03780657, -0.10901407, 0.1375137, -0.0745914, 0.1468883) * go_3(-1.0, 0.0); + result += mat4(0.10739044, 0.30611086, 0.1585515, 0.07903283, 0.05612715, -0.0061900485, 0.13646163, 0.15230569, 0.036846787, -0.15846778, -0.18765065, 0.06611226, -0.07209187, 0.056037188, 0.04302953, -0.03887873) * go_3(-1.0, 1.0); + result += mat4(0.05618538, -0.072312586, -0.018046018, 0.049542785, -0.033638306, -0.035169322, -0.25882784, -0.036425237, 0.43763217, -0.07049093, 0.08085481, 0.013634128, -0.2701461, -0.13007875, 0.09603447, 0.2479431) * go_3(0.0, -1.0); + result += mat4(-0.02283992, -0.24593964, 0.04616348, 0.023422526, -0.20994014, 0.064769074, -0.07680045, -0.30547765, 0.1518723, 0.31953967, -0.12841515, -0.19525428, -0.0076093865, -0.112106465, -0.04573789, -0.04834478) * go_3(0.0, 0.0); + result += mat4(-0.008045419, -0.20285496, 0.15290824, 0.036240693, 0.11959966, -0.15712506, 0.096806675, 0.008780234, -0.19716795, -0.3824029, 0.1376541, 0.13325086, -0.103316806, -0.31788048, -0.071698256, -0.25901568) * go_3(0.0, 1.0); + result += mat4(0.13714787, 0.020738773, 0.13716534, 0.12359137, -0.038154524, 0.053202964, -0.12023912, 0.09011213, -0.012448548, -0.026505312, -0.11293235, 0.10613704, -0.39916727, 0.041521315, 0.10659441, 0.027749784) * go_3(1.0, -1.0); + result += mat4(-0.26475835, 0.044597875, -0.31229413, -0.17121075, -0.21795374, -0.009583571, -0.13428004, -0.30734754, -0.017038794, 0.113667324, -0.1516075, 0.06525228, -0.13789397, -0.05770066, -0.016166758, -0.29457557) * go_3(1.0, 0.0); + result += mat4(0.054183286, 0.022085225, 0.086794585, 0.10968018, 0.1276148, 0.05739452, 0.08860957, -0.08131373, -0.081570424, -0.107991874, -0.03724999, 0.000843539, 0.20231429, -0.123543546, -0.19073018, -0.28328305) * go_3(1.0, 1.0); + result += vec4(0.013646388, -0.021442367, 0.0045393505, -0.037433166); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.13948695, 0.016643738, 0.08168136, 0.02315663, 0.017184775, 0.11487715, 0.05770107, 0.010102888, 0.04955321, -0.045132335, -0.05731744, -0.05798246, 0.2245112, 0.17406365, 0.08979801, -0.10607952) * go_0(-1.0, -1.0); + result += mat4(0.2812785, 0.022830509, 0.15164222, 0.13460225, 0.22263442, 0.2558749, -0.122489706, 0.10409658, 0.023308244, -0.19583783, -0.007824269, 0.06256542, 0.11161938, 0.14878923, 0.30865005, 0.08962341) * go_0(-1.0, 0.0); + result += mat4(-0.20843887, 0.012371968, -0.008279775, -0.042467568, -0.13022369, 0.056743186, -0.018389069, 0.13964763, -0.03361555, -0.053087234, 0.012521351, 0.0209293, 0.015771557, 0.11718523, 0.010176676, 0.021708367) * go_0(-1.0, 1.0); + result += mat4(-0.14373007, -0.114338934, -0.09077395, -0.11040866, 0.055298284, 0.022516333, 0.18901019, -0.05640152, -0.1413198, -0.08748339, -0.029985962, 0.00712751, -0.071436934, -0.18909407, 0.173448, 0.053675048) * go_0(0.0, -1.0); + result += mat4(-0.023129769, 0.42883545, -0.18110612, 0.24296297, -0.02441117, 0.18108079, -0.12298153, -0.19192219, -0.14139178, -0.069563635, 0.1524624, -0.17755614, -0.248875, 0.015161957, -0.16541803, -0.17773613) * go_0(0.0, 0.0); + result += mat4(-0.065477535, -0.113195814, -0.08284894, 0.11679537, 0.028445985, -0.026559185, -0.007267581, 0.14052133, 0.14847197, -0.040276285, -0.038166475, -0.030452784, -0.15184602, -0.22223297, 0.113732725, 0.11163395) * go_0(0.0, 1.0); + result += mat4(0.04990171, 0.08493333, 0.08668171, 0.14610586, -0.010766879, -0.05690133, 0.10706113, 0.13667485, 0.044783257, 0.029695645, -0.101674624, -0.02023205, 0.031889528, 0.14293797, 0.08712652, 0.08716896) * go_0(1.0, -1.0); + result += mat4(-0.21387868, -0.21650635, 0.2743992, -0.048781313, -0.027735803, -0.1543507, 0.11343657, -0.18251626, 0.15225998, 0.13158897, -0.41056108, 0.102582805, -0.09181491, -0.0042975787, 0.056065407, -0.16961528) * go_0(1.0, 0.0); + result += mat4(0.08966051, 0.09331515, -0.085415326, -0.022695992, 0.009771476, -0.07143986, 0.0590329, 0.07347928, -0.09033658, -0.06805735, -0.20129825, 0.017873045, 0.16908158, 0.014213783, 0.112663984, 0.10048714) * go_0(1.0, 1.0); + result += mat4(0.115590535, 0.08364541, 0.00864431, -0.094349444, -0.11073411, 0.05337711, 0.055587426, 0.12131219, -0.04710173, -0.046455074, 0.110379905, 0.25445566, 0.15154606, 0.04483541, 0.08708686, 0.113456205) * go_1(-1.0, -1.0); + result += mat4(-0.014296297, 0.24858733, 0.05035193, -0.09225393, 0.034625243, 0.06219943, 0.19825043, 0.04673499, -0.4083363, -0.39954248, -0.08299408, 0.048756655, 0.09862206, 0.01588621, 0.0070629907, 0.04173666) * go_1(-1.0, 0.0); + result += mat4(0.17356622, 0.1484559, -0.10054033, 0.013332302, 0.15200937, 0.08985606, -0.031668343, -0.026007611, -0.16339104, 0.054744486, 0.07386605, -0.033910174, -0.0018002358, -0.02968911, 0.054931052, 0.09970459) * go_1(-1.0, 1.0); + result += mat4(-0.07330346, 0.05938635, 0.01911963, -0.09856661, -0.081916444, -0.046957035, -0.043849826, 0.09572135, -0.13621825, 0.034347896, -0.21189907, 0.10592239, -0.060592845, 0.09957844, 0.050621815, -0.07447668) * go_1(0.0, -1.0); + result += mat4(0.044731334, -0.13406886, -0.04138754, -0.06764551, -0.018899845, 0.35320804, -0.10959127, 0.17435175, -0.17941645, -0.30889434, 0.10573405, 0.0319751, -0.15677677, 0.08164649, 0.16559398, -0.08152387) * go_1(0.0, 0.0); + result += mat4(0.057760764, -0.12145107, 0.06889264, -0.30627275, 0.011501002, -0.080296256, -0.18067095, 0.10592384, 0.12884894, -0.18973115, 0.18740658, 0.28362688, 0.12934786, -0.010292026, 0.0559999, 0.079962276) * go_1(0.0, 1.0); + result += mat4(0.048659086, -0.006250348, -0.041242067, -0.12078197, -0.07152629, 0.05699244, 0.0011704164, -0.023007339, 0.07814492, 0.02546712, -0.08957218, -0.036925297, -0.03383498, 0.12583385, 0.12207602, 0.03910942) * go_1(1.0, -1.0); + result += mat4(0.26151723, 0.23277281, -0.021892069, 0.052827276, 0.18268764, 0.28595275, -0.20529993, 0.19892794, 0.0038986763, 0.114547804, -0.020574905, 0.02405073, 0.11713121, 0.04491106, -0.07557327, 0.014374293) * go_1(1.0, 0.0); + result += mat4(-0.14276731, -0.06600894, -0.029757235, -0.099975966, 0.023050314, -0.07662015, -0.11542214, 0.087981045, 0.070319094, 0.12462511, 0.008152087, 0.12613884, -0.07071591, 0.0063393894, 0.08699723, -0.0242523) * go_1(1.0, 1.0); + result += mat4(0.035586607, -0.26826563, -0.10145326, -0.002177148, 0.022144236, -0.117452875, 0.021346297, 0.051908135, -0.022425706, 0.067299, 0.09406446, 0.078294896, 0.014900606, -0.05468236, 0.07241715, 0.061000507) * go_2(-1.0, -1.0); + result += mat4(-0.184133, 0.06229474, -0.13819578, -0.025011744, -0.01868356, -0.18940887, 0.092631504, -0.092806384, 0.0035951615, 0.11777577, 0.028149817, 0.0049419673, 0.22230826, 0.06337655, -0.20004818, -0.20937593) * go_2(-1.0, 0.0); + result += mat4(0.13852163, -0.094492316, -0.040309057, 0.10771662, 0.18963522, 0.08687606, -0.20030232, -0.082126215, 0.012181411, 0.044306785, -0.036970526, 0.04403363, 0.07911973, 0.0021176056, 0.26944208, -0.06657045) * go_2(-1.0, 1.0); + result += mat4(0.027229607, 0.12410596, 0.04348171, 0.0019921176, 0.088246435, -0.02828269, -0.26499373, -0.12566662, 0.025947344, -0.0078000715, 0.058063716, -0.0032702687, 0.0059978673, -0.04860002, 0.027650384, -0.23394564) * go_2(0.0, -1.0); + result += mat4(0.07892762, -0.13300626, 0.46678603, -0.033239357, -0.12306804, -0.079602, 0.20534003, 0.23873802, -0.035643574, 0.059950788, -0.26559883, 0.12206408, 0.25408483, 0.029933078, 0.32081822, 0.033947676) * go_2(0.0, 0.0); + result += mat4(-0.06847802, -0.017930118, -0.12299636, -0.12987946, 0.09267518, -0.0009083275, -0.035390552, -0.15379669, -0.1132433, -0.036670692, -0.08342377, 0.015636675, 0.022590527, 0.10533322, 0.0389949, -0.059033744) * go_2(0.0, 1.0); + result += mat4(-0.041753534, -0.014428097, 0.06999257, -3.546234e-05, -0.033465035, -0.040709455, 0.13118082, -0.21016484, -0.07846085, -0.030885663, 0.06934681, 0.12725256, -0.023784902, -0.13373604, -0.015261479, 0.05234782) * go_2(1.0, -1.0); + result += mat4(0.13798563, 0.12757827, -0.26978776, 0.102494285, 0.13285922, 0.35432795, -0.11997128, 0.17108068, -0.12235328, -0.24582328, 0.26962712, -0.086760186, 0.010127441, 0.08048835, 0.047505867, 0.19991067) * go_2(1.0, 0.0); + result += mat4(0.03584222, -0.13433793, -0.044629525, -0.0010440781, -0.0033084434, -0.026725832, -0.05386642, -0.13612603, 0.10066015, 0.10499841, 0.031767137, -0.04550841, -0.09391546, 0.1454157, -0.26962402, 0.21015608) * go_2(1.0, 1.0); + result += mat4(-0.21956864, -0.13502425, -0.02126954, 0.059263993, -0.13461533, -0.04001395, -0.0924258, -0.069165014, 0.22019973, 0.003270619, 0.022072528, -0.14173602, 0.0028843523, -0.13784003, -0.061057515, -0.0049253837) * go_3(-1.0, -1.0); + result += mat4(-0.0011410525, -0.16098002, -0.12883134, 0.018262507, 0.001481578, 0.19514659, -0.13703239, 0.096059754, 0.34194204, 0.13983466, 0.14021507, 0.011405113, -0.11303146, -0.17050214, -0.06992079, -0.05566986) * go_3(-1.0, 0.0); + result += mat4(-0.12307941, -0.02192472, 0.13193923, -0.061640862, -0.16841564, -0.0822524, 0.10141759, 0.02139286, 0.1599039, -0.050632223, 0.16702358, 0.111514546, 0.02397393, 0.037606515, 0.017971672, -0.048641708) * go_3(-1.0, 1.0); + result += mat4(-0.02697617, -0.08579184, -0.28045088, 0.05262136, -0.059576314, 0.107535526, -0.06188862, 0.0010509328, -0.18178311, -0.17288832, 0.20703638, 0.083048366, 0.03859681, -0.07548898, 0.011605782, -0.021842534) * go_3(0.0, -1.0); + result += mat4(0.13198483, 0.37200937, -0.0896539, 0.12450637, 0.037202634, 0.035985112, 0.16579124, -0.08967905, -0.24341385, 0.32482424, -0.3037812, -0.007154969, -0.007152382, -0.017435173, 0.12662841, -0.090513505) * go_3(0.0, 0.0); + result += mat4(-0.014726027, 0.08394915, -0.02100581, 0.24882795, -0.023793869, -0.006450114, 0.17093314, -0.06994153, -0.08689907, 0.113542505, -0.053211495, -0.1780173, 0.030043352, 0.2500714, -0.026940798, -0.0069258413) * go_3(0.0, 1.0); + result += mat4(0.037078895, -0.03033529, -0.066851325, 0.14718252, 0.066372745, 0.028897487, -0.036055963, 0.035399746, 0.06733992, 0.21021596, -0.18314466, -0.027192699, 0.020213274, -0.17751546, -0.050674338, -0.09382659) * go_3(1.0, -1.0); + result += mat4(-0.14761917, -0.22166072, 0.033172436, -0.21982265, -0.09172891, -0.20794454, 0.1738752, -0.13685037, 0.10981111, -0.23169234, 0.053787973, 0.12001196, -0.038242023, -0.047124114, 0.22503005, 0.1015142) * go_3(1.0, 0.0); + result += mat4(0.021231879, -0.015423476, 0.058986407, 0.032002006, -0.029305007, 0.008933183, 0.10777483, -0.112574644, -0.023935415, -0.06604598, 0.053859934, -0.08354717, 0.13703763, -0.078382134, 0.12914242, -0.022056468) * go_3(1.0, 1.0); + result += vec4(-0.002022359, -0.007333954, -0.038140967, -0.03819673); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.050738923, 0.15003614, -0.18880141, 0.16791905, 0.16549185, -0.26726744, -0.12813666, -0.021510791, 0.070805945, 0.043350577, 0.0035756908, 0.11776675, -0.01824196, 0.12618026, 0.07424072, 0.032886628) * go_0(-1.0, -1.0); + result += mat4(-0.11678059, 0.0565686, 0.04392921, -0.27621672, 0.2116695, 0.038044345, -0.015018062, -0.028636303, 0.049744565, -0.12935996, 0.027176194, -0.13208814, -0.21195693, 0.08980974, 0.013893243, -0.018403184) * go_0(-1.0, 0.0); + result += mat4(0.3214697, -0.03143518, 0.19927292, 0.12566878, 0.16190828, 0.11784847, 0.09943727, 0.11755882, 0.017959306, -0.064603634, -0.14054321, -0.11917774, 0.0056958874, 0.06461699, 0.104604125, 0.021947173) * go_0(-1.0, 1.0); + result += mat4(-0.24738057, -0.034892898, -0.03364674, 0.017340986, 0.02933764, -0.08090866, -0.034651175, -0.17391174, 0.08536477, -0.17446008, 0.22706915, -0.10555482, 0.0877744, 0.0681237, -0.035909466, -0.10355238) * go_0(0.0, -1.0); + result += mat4(-0.090646185, -0.12971672, -0.14531808, -0.060838025, 0.24902023, 0.1310588, 0.18602785, 0.21283495, -0.32160765, -0.070119165, -0.10350057, 0.19260244, -0.2610542, -0.3030521, 0.08432348, -0.22286619) * go_0(0.0, 0.0); + result += mat4(0.28333843, -0.053968847, 0.08344997, 0.19987041, 0.22163449, 0.22161576, 0.0030572868, 0.10848695, -0.20529847, 0.08406883, -0.07130339, 0.09987656, 0.29774663, -0.08768785, 0.15567012, -0.010313759) * go_0(0.0, 1.0); + result += mat4(-0.1260916, -0.071901485, -0.30566844, 0.19393384, -0.05133266, 0.07868844, -0.24817581, 0.055521224, 0.23277187, 0.16324161, 0.07110341, -0.042626668, 0.052509766, -0.014292625, -0.019677468, 0.041733738) * go_0(1.0, -1.0); + result += mat4(-0.04264262, -0.06528029, 0.0013520801, -0.02140956, 0.27304867, -0.029477939, -0.1859993, 0.01418354, 0.07256604, 0.14302284, 0.03309569, -0.15932149, 0.01500576, -0.053860538, 0.1131707, -0.06272606) * go_0(1.0, 0.0); + result += mat4(-0.0400483, -0.030188695, -0.108427785, 0.057873204, 0.42774406, -0.11353873, 0.110134825, 0.052191462, 0.00087113964, 0.040683694, 0.100507155, -0.16746339, -0.26971558, 0.06506685, -0.20950548, 0.040783025) * go_0(1.0, 1.0); + result += mat4(0.11394146, -0.10693933, 0.2377026, -0.03783948, -0.16496852, 0.046675198, -0.23396324, 0.05696911, -0.02770668, 0.12922443, -0.093586415, 0.102305606, 0.0040032533, -0.038440734, -0.0035825048, -0.22108772) * go_1(-1.0, -1.0); + result += mat4(0.17577791, -0.024538597, -0.19877498, -0.14544973, 0.16614193, -0.3279891, 0.14678721, -0.16355143, -0.012954231, 0.20982395, 0.044255227, 0.087878115, 0.11289659, -0.26981032, -0.10789584, 0.24094439) * go_1(-1.0, 0.0); + result += mat4(0.0041394173, -0.0937936, 0.15251775, 0.1026978, -0.01999847, -0.02865502, 0.16765144, -0.17490439, -0.016996933, 0.03891808, -0.01858217, -0.106255606, 0.027496144, -0.14120618, 0.023483312, -0.08291959) * go_1(-1.0, 1.0); + result += mat4(0.060642462, -0.2957824, 0.33968493, -0.04501478, -0.14999421, -0.0067213452, -0.018236576, 0.01627547, -0.07771579, 0.0124932695, -0.11797959, -0.090979554, 0.0096479915, 0.021336472, -0.07794724, 0.030138575) * go_1(0.0, -1.0); + result += mat4(-0.091704845, -0.20800348, -0.22158638, 0.048748583, 0.15139692, -0.2832814, 0.09610812, 0.41077513, 0.0007106381, -0.14465855, 0.0056652213, 0.031696238, -0.03384328, 0.1940933, 0.19262145, 0.014331562) * go_1(0.0, 0.0); + result += mat4(-0.16637586, -0.22008398, 0.102937706, 0.15260033, 0.039856806, -0.21082906, -0.19694057, 0.0712475, 0.015049883, 0.17320138, 0.06505415, -0.020279367, -0.018576574, 0.201407, -0.08108244, 0.04151909) * go_1(0.0, 1.0); + result += mat4(-0.12496581, 0.107817784, 0.10645319, 0.035113968, 0.0166165, 0.1316661, -0.045253787, -0.03863719, 0.09126881, 0.07553792, -0.029150097, -0.07629157, -0.17978054, -0.27080613, -0.028408276, -0.15366451) * go_1(1.0, -1.0); + result += mat4(0.081859134, -0.11599677, 0.027383117, 0.092724435, 0.059302155, 0.10008954, -0.12217131, 0.07471211, -0.20396213, -0.040741358, 0.118772194, -0.21725504, 0.099645875, 0.09691941, -0.07696025, -0.016445495) * go_1(1.0, 0.0); + result += mat4(-0.18712623, -0.14458412, 0.03693652, 0.014525352, -0.09607279, -0.19400409, 0.032149505, 0.07106094, 0.051436905, -0.07765334, 0.017043818, 0.17777587, 0.05274306, 0.0062209824, -0.080005355, 0.026041988) * go_1(1.0, 1.0); + result += mat4(-0.090594456, -0.041637532, 0.10346829, -0.09393943, 0.027663473, 0.20729685, -0.011156861, 0.021863503, 0.04781304, -0.039483577, -0.092933334, -0.25187445, 0.033062164, 0.010756357, -0.13035728, -0.008321023) * go_2(-1.0, -1.0); + result += mat4(0.07772912, 0.010776647, -0.018709056, 0.25634038, 0.00906326, 0.21411708, 0.122652486, 0.07725616, 0.15266491, 0.1274286, 0.10400329, 0.20354506, 0.013765407, -0.039089683, 0.25870228, -0.08919069) * go_2(-1.0, 0.0); + result += mat4(-0.14971368, 0.06935879, -0.089983195, 0.01406992, 0.16989979, -0.037809014, 0.07157283, -0.050660506, -0.032826405, 0.033794664, -0.0051332368, 0.089349195, 0.06263488, -0.07048108, 0.07263597, -0.11618368) * go_2(-1.0, 1.0); + result += mat4(0.013391823, -0.07888697, -0.13984044, -0.01241464, -0.06475807, 0.06978077, -0.20329754, 0.16602662, 0.013664227, 0.12317301, -0.10240692, -0.0657491, -0.31402445, -0.14472555, 0.1739024, 0.0005437834) * go_2(0.0, -1.0); + result += mat4(0.16330495, 0.02644609, 0.23837087, -0.07734767, 0.12377497, -0.18478604, 0.35040903, -0.05262452, 0.049074646, -0.0077528385, 0.15370984, -0.22888668, 0.3603141, 0.29372314, -0.4432887, 0.20702155) * go_2(0.0, 0.0); + result += mat4(-0.18785694, 0.21085343, -0.111042105, 0.0478716, -0.08214944, -0.0922987, 0.29570273, 0.025100114, 0.25403878, 0.01271447, 0.21851794, -0.1434596, -0.21153769, 0.023305666, -0.10386609, 0.043919638) * go_2(0.0, 1.0); + result += mat4(-0.117247805, 0.013329102, 0.0313911, -0.08055777, -0.0053445757, -0.2886372, 0.07938673, -0.06659165, 0.20798062, 0.030106818, -0.04811631, 0.036332276, -0.057687126, 0.03813657, 0.035860628, -0.11273985) * go_2(1.0, -1.0); + result += mat4(-0.0031557097, 0.027456097, -0.14444692, 0.08411739, 0.13466308, -0.13212901, -0.0034804344, 0.1464661, -0.21033211, 0.05913627, 0.10233881, 0.009844489, -0.15369488, -0.018978333, -0.07518442, -0.010549853) * go_2(1.0, 0.0); + result += mat4(0.112989105, -0.011166866, -0.08277204, 0.046827227, -0.08067428, 0.13465053, -0.1656419, 0.07280515, 0.037523627, -0.050147127, -0.17731906, 0.1067486, 0.119732924, -0.102017604, 0.31421226, -0.14060387) * go_2(1.0, 1.0); + result += mat4(-0.1106223, 0.09229271, -0.09355422, -0.02413533, -0.096457504, -0.13282233, 0.022983741, -0.13534859, -0.0056585902, -0.07214356, 0.14617127, -0.13723095, 0.058078192, -0.1038417, -0.10452195, -0.18855028) * go_3(-1.0, -1.0); + result += mat4(0.16357008, 0.080841675, 0.1663936, 0.20815827, 0.03813903, 0.34158087, -0.012987109, 0.39152008, -0.027927356, -0.14332302, -0.012866622, -0.016149148, -0.08733816, 0.1960951, 0.19572765, -0.2710826) * go_3(-1.0, 0.0); + result += mat4(0.024827998, 0.24175219, 0.030659903, -0.22227505, 0.026898654, 0.009930298, 0.088392995, 0.32644793, -0.10351868, -0.08717382, 0.22931585, 0.05197704, 0.06534648, 0.13636068, 0.062107667, 0.024806283) * go_3(-1.0, 1.0); + result += mat4(-0.18550465, 0.062058095, -0.08620093, 0.20158216, -0.1460996, 0.14275469, -0.28057688, -0.11685651, -0.09627509, 0.09029933, 0.03669734, 0.1257313, -0.07974307, 0.020742215, -0.0039170664, 0.11340528) * go_3(0.0, -1.0); + result += mat4(0.15225565, 0.171972, 0.13573253, 0.0056740018, -0.1667786, 0.06028638, -0.1255049, -0.23327217, -0.139949, 0.029957669, -0.16713464, 0.046236664, -0.05070503, 0.18714412, -0.20076098, 0.1672637) * go_3(0.0, 0.0); + result += mat4(0.18468563, 0.07733334, 0.14463845, -0.10712052, 0.36213547, 0.29404843, 0.2110929, 0.14646721, -0.059985258, -0.2709805, 0.073061034, -0.039072156, 0.015898943, -0.17166951, 0.20194982, -0.04723745) * go_3(0.0, 1.0); + result += mat4(-0.26353067, 0.050225407, -0.42643914, 0.06601958, -0.10513071, -0.1654714, 0.0593609, 0.027410276, -0.19465327, -0.13865606, 0.05579213, 0.07982532, -0.20893136, -0.008150932, 0.053529713, -0.0317475) * go_3(1.0, -1.0); + result += mat4(-0.012075693, -0.27574313, 0.22184552, -0.117393926, -0.49310133, -0.13997443, -0.079180904, -0.053438634, -0.07552426, -0.045796394, -0.037434675, 0.24076645, -0.04395852, 0.10325762, -0.19867313, -0.070216134) * go_3(1.0, 0.0); + result += mat4(-0.026107877, -0.030023552, -0.047810435, 0.20572239, 0.061861858, 0.1776161, -0.306099, 0.16332485, -0.1843373, 0.06758581, -0.23902373, -0.10575018, 0.03990962, -0.046113137, 0.14876197, -0.21280771) * go_3(1.0, 1.0); + result += vec4(-0.009669773, 0.036289547, -0.050454646, 0.051479716); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!SAVE conv2d_4_tf1 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.14542116, -0.15827142, -0.20811677, -0.103433, 0.19787271, 0.33990738, 0.17085013, -0.059132278, 0.013047369, -0.1687924, 0.06732661, -0.050968684, 0.09197164, -0.041265316, -0.108277336, -0.014430892) * go_0(-1.0, -1.0); + result += mat4(-0.022837132, 0.20440012, -0.14266612, 0.019944299, 0.069084294, 0.3171199, -0.1521742, -0.35806596, 0.13581008, -0.13811131, 0.12219503, 0.17329764, -0.15100783, 0.0862648, 0.118227705, 0.18736814) * go_0(-1.0, 0.0); + result += mat4(0.013604392, 0.11496102, -0.18734755, -0.047555517, 0.05297245, 0.006461213, 0.06247472, -0.0202791, 0.02329791, 0.11530998, -0.148774, 0.0965498, 0.1487269, 0.061629567, -0.22488646, -0.005393787) * go_0(-1.0, 1.0); + result += mat4(-0.29286116, 0.11958281, -0.11193505, -0.17139061, -0.035151243, -0.2635945, 0.0002499315, -0.16346519, 0.23779829, 0.04454211, 0.21293561, 0.25617847, 0.12194803, -0.0017443774, -0.009216221, -0.034387548) * go_0(0.0, -1.0); + result += mat4(0.28791443, -0.25421545, -0.058626153, -0.1520494, -0.16808414, -0.39723453, -0.13199537, 0.056999452, -0.048155293, 0.38699663, -0.114719056, 0.001293743, -0.0959443, -0.08189709, 0.26921842, 0.061219636) * go_0(0.0, 0.0); + result += mat4(0.00781977, -0.07103863, -0.21942843, 0.2419546, 0.20016691, -0.28697264, -0.034715973, -0.03381459, -0.028126812, 0.046806023, -0.14423183, -0.13472253, 0.009225362, -0.086190686, 0.0041205613, 0.08953202) * go_0(0.0, 1.0); + result += mat4(-0.04926224, -0.099740155, -0.088695474, 0.09950333, -0.06495916, 0.20126842, -0.0062843356, -0.034764495, -0.10808971, -0.19946553, 0.075991094, 0.14746219, 0.08247818, 0.07382381, -0.056908615, -0.026823666) * go_0(1.0, -1.0); + result += mat4(-0.04837408, 0.12605472, -0.23957102, -0.14252385, -0.046534102, -0.07511751, -0.21040416, 0.2064639, -0.006026243, -0.25005546, -0.063780144, 0.076840036, -0.07484346, 0.017368162, 0.04657373, -0.022188455) * go_0(1.0, 0.0); + result += mat4(0.04545079, -0.002226373, -0.11695467, 0.12954631, 0.054903183, 0.15162702, -0.19222596, 0.05351421, -0.079599276, -0.036238387, 0.1362261, 0.037431743, -0.0015106505, 0.18739921, 0.122365154, -0.05871144) * go_0(1.0, 1.0); + result += mat4(-0.005558987, -0.13553315, -0.006372213, 0.06633917, -0.22141413, -0.15780807, 0.057122614, -0.057320844, -0.06306763, 0.19112623, -0.041758966, 0.03555483, -0.005718873, 0.009167371, 0.050909385, -0.14599234) * go_1(-1.0, -1.0); + result += mat4(0.18175003, 0.10442485, 0.052994236, -0.4001252, -0.08328538, 0.06380226, -0.055015627, 0.010929493, -0.22888647, -0.033181675, -0.07570874, 0.07933599, -0.07894686, 0.12202901, 0.13679314, -0.054344065) * go_1(-1.0, 0.0); + result += mat4(0.030145945, -0.06121175, -0.08550973, 0.10082535, 0.07198805, 0.21414264, -0.25636044, 0.028803539, 0.043738026, -0.0367658, 0.27998537, -0.06274612, -0.22862338, 0.002624325, 0.28519824, 0.18540645) * go_1(-1.0, 1.0); + result += mat4(-0.012136538, -0.07059324, 0.018098673, 0.12078888, -0.087637, 0.041642863, 0.034997553, -0.16741107, 0.04701011, -0.004160269, 0.122639626, 0.0043271836, 0.011551197, -0.16421974, -0.102481335, 0.014233497) * go_1(0.0, -1.0); + result += mat4(-0.37945676, 0.25232047, -0.03707734, -0.1985225, -0.11536396, 0.22039749, -0.21809638, -0.10596801, -0.17211124, -0.2035486, 0.011822896, 0.27510995, -0.105182275, 0.022503568, -0.0063389307, -0.071560584) * go_1(0.0, 0.0); + result += mat4(-0.16101715, -0.034247126, 0.16626042, 0.031131435, 0.03048031, -0.105447404, -0.05728527, -0.14518815, -0.019103229, -0.15152888, -0.119154684, 0.028724093, 0.05836196, -0.35943082, -0.016481897, -0.0437348) * go_1(0.0, 1.0); + result += mat4(-0.07719413, -0.33214888, -0.0541927, 0.16506542, -0.032792456, 0.016834807, 0.1724155, 0.073768586, 0.002303886, -0.001382793, -0.0562648, -0.10167158, -0.19101655, 0.052783452, -0.1422853, 0.09653729) * go_1(1.0, -1.0); + result += mat4(-0.30030164, 0.11637444, -0.23238538, -0.27238008, -0.077208534, -0.027645003, 0.10369907, 0.20162316, -0.14428844, 0.1766293, 0.024419712, 0.11301171, 0.07772854, 0.18613201, 0.20721672, -0.1751799) * go_1(1.0, 0.0); + result += mat4(-0.1026615, -0.12484944, 0.15386428, 0.038676128, -0.119472496, -0.032417197, -0.14208497, -0.05254358, -0.0035079278, -0.011276316, 0.043117497, -0.010022288, 0.031624593, 0.014969992, -0.031410277, 0.15284787) * go_1(1.0, 1.0); + result += mat4(0.018149922, -0.05906194, 0.054767277, 0.008161979, -0.076949194, 0.040888708, -0.006419542, -0.12897012, -0.0028229658, 0.20937827, 0.02741711, -0.04013348, -0.12731804, 0.008064522, 0.002870103, 0.027690327) * go_2(-1.0, -1.0); + result += mat4(0.023197446, -0.08888926, 0.15531142, 0.13745947, 0.054352283, -0.121785395, 0.16237587, 0.023567237, -0.36160588, 0.30499592, -0.033180915, -0.1515843, 0.04251452, -0.17903805, 0.03235283, -0.08062386) * go_2(-1.0, 0.0); + result += mat4(-0.0072868476, -0.2010616, 0.13061914, 0.12846659, 0.11725315, 0.14589547, -0.05373261, -0.081606135, -0.07010131, -0.025378224, 0.10265872, 0.18658938, -0.12165338, 0.036297683, 0.03925332, 0.16576236) * go_2(-1.0, 1.0); + result += mat4(0.10300252, -0.11548347, -0.08691649, -0.014866044, -0.3213804, 0.47206497, -0.16032113, 0.026284516, 0.046302956, -0.052474245, -0.025335522, -0.10957576, -0.16872157, 0.19049212, -0.023881195, 0.061396897) * go_2(0.0, -1.0); + result += mat4(-0.16202278, 0.52128345, -0.2601511, 0.06116799, -0.21123995, 0.39389637, -0.350544, -0.16157438, -0.02823116, -0.39056876, -0.14267299, 0.03262984, 0.342303, -0.20556125, -0.0019219286, -0.1824844) * go_2(0.0, 0.0); + result += mat4(0.23399737, -0.0912646, 0.11152403, -0.20945886, -0.053451832, -0.09786892, -0.059099484, 0.18103573, -0.117154315, -0.18342866, 0.12650815, 0.0067340015, -0.037984423, 0.17667364, 0.071636364, -0.011689163) * go_2(0.0, 1.0); + result += mat4(-0.099510275, -0.0925438, -0.009136904, -0.03774997, -0.13348748, 0.3605135, -0.078298144, -0.14712195, 0.22566219, 0.18659295, 0.05614545, 0.10792911, -0.12477693, -0.03587624, 0.08050775, -0.054740936) * go_2(1.0, -1.0); + result += mat4(0.10312337, -0.063681684, 0.16496794, 0.09038492, -0.08903926, 0.41163155, -0.013669214, -0.21472235, -0.054991595, 0.0033639956, 0.18160143, 0.17240305, -0.039428882, 0.17087695, -0.1729076, 0.09871825) * go_2(1.0, 0.0); + result += mat4(-0.13123736, 0.0802573, 0.077981554, -0.101768315, 0.089998, -0.13781744, 0.122858986, 0.054121554, -0.02640825, 0.13577555, -0.037485655, -0.04179625, 0.000106130996, -0.100183845, 0.00046665114, 0.21791616) * go_2(1.0, 1.0); + result += mat4(0.011894387, -0.030088445, 0.025817253, 0.08193235, 0.109322436, 0.10855583, -0.19661167, -0.09405307, 0.2073779, -0.33972177, 0.048635002, -0.14883177, 0.056954246, 0.3953476, 0.18765114, -0.014010224) * go_3(-1.0, -1.0); + result += mat4(-0.22594279, -0.014942035, -0.1519647, 0.25367293, 0.16330296, 0.03317176, -0.32148597, -0.46503916, 0.19944623, -0.26229686, 0.019909514, -0.059794176, 0.12912126, 0.044948537, -0.08649492, 0.08024645) * go_3(-1.0, 0.0); + result += mat4(-0.022943841, -0.068013534, 0.11032515, 0.011685601, 0.020096298, -0.3285243, 0.08196111, -0.089537136, -0.03976742, -0.1315977, -0.36306036, 0.24678081, 0.22115967, -0.017472323, -0.19451386, -0.035218123) * go_3(-1.0, 1.0); + result += mat4(-0.020891193, -0.12721714, -0.15030408, 0.026523203, -0.12413139, -0.11235275, -0.21476477, -0.11326953, 0.028815055, -0.18552732, -0.0076828003, -0.14679903, 0.020509586, -0.18695217, 0.06696879, 0.103938386) * go_3(0.0, -1.0); + result += mat4(0.057521313, 0.28509304, -0.2525733, 0.16745082, -0.26614547, 0.18545172, -0.27140215, 0.018639714, 0.19730581, 0.1659491, -0.058363054, -0.4048628, 0.024913948, -0.44124457, 0.13872208, -0.0371103) * go_3(0.0, 0.0); + result += mat4(0.100904405, 0.06700356, -0.035322092, 0.21781014, 0.018047005, -0.21737386, -0.3734802, 0.13506944, 0.012760691, 0.06620756, -0.0253398, 0.0030280363, -0.044015452, -0.055860534, -0.3547194, -0.04230283) * go_3(0.0, 1.0); + result += mat4(-0.19012743, -0.34408915, 0.18940191, 0.13152952, 0.107553795, -0.00694412, -0.07930157, -0.30964044, 0.034710668, -0.031806916, 0.019838978, 0.017044948, 0.110688254, -0.0029772928, 0.09414367, -0.10760175) * go_3(1.0, -1.0); + result += mat4(-0.05745392, 0.29022983, 0.014998233, 0.27365527, 0.08169933, 0.0734232, -0.09404464, -0.26870936, 0.21171738, -0.19529793, -0.064401075, -0.18972695, -0.08024953, -0.027122354, -0.11661348, 0.010131282) * go_3(1.0, 0.0); + result += mat4(0.07599435, -0.06851123, 0.06258365, 0.10296892, 0.15556085, -0.041609086, -0.11303363, 0.07082365, 0.013949174, -0.087201476, -0.0855705, -0.12979257, 0.04048528, 0.4211556, 0.04118289, -0.22093314) * go_3(1.0, 1.0); + result += vec4(0.07789114, 0.0024746545, 0.1891165, -0.0023716448); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!SAVE conv2d_5_tf +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.10883355, -0.14958352, 0.026701333, 0.090302855, 0.033934478, 0.120340124, 0.027125617, -0.16792692, -0.075757094, 0.28692973, 0.013230067, -0.040618937, 0.087148145, -0.05985753, -0.06352023, -0.05775848) * go_0(-1.0, -1.0); + result += mat4(-0.18206549, -0.10363482, 0.097648725, -0.08801144, 0.31633568, 0.058347676, -0.009121898, 0.02594872, 0.14757825, 0.4730546, -0.008518203, -0.3090668, -0.004052835, -0.14166127, -0.010156037, 0.21191326) * go_0(-1.0, 0.0); + result += mat4(0.05735183, 0.039180398, -0.12357178, 0.04830351, 0.120369986, -0.052775342, 0.005902798, 0.07695394, 0.00602021, 0.16758691, 0.10287989, -0.1718468, -0.1319741, 0.16932078, -0.2055026, -0.31820264) * go_0(-1.0, 1.0); + result += mat4(0.05427556, -0.28392607, 0.08579091, -0.0015861926, 0.062348455, -0.27778792, -0.07450379, 0.01616914, -0.012357131, -0.056992117, -0.1896176, 0.018156245, 0.06499259, -0.076558664, 0.10341699, -0.08993959) * go_0(0.0, -1.0); + result += mat4(-0.05741742, -0.05414434, 0.18006511, 0.09840777, -0.11849741, 0.40419933, 0.21349974, 0.40268886, 0.23218039, -0.0680356, -0.3130592, -0.21271054, 0.13776754, 0.19114101, 0.17373541, 0.43457666) * go_0(0.0, 0.0); + result += mat4(-0.060757063, 0.11339545, -0.042958036, -0.06483378, -0.06681766, -0.056395415, 0.037868995, 0.033861663, -0.1041215, 0.0046828864, 0.14360638, 0.087886184, -0.26808187, 0.19876598, -0.05276215, -0.07073776) * go_0(0.0, 1.0); + result += mat4(-0.24029991, -0.14217372, -0.011767948, 0.011623913, 0.33820602, -0.24501325, -0.11444902, 0.14536968, 0.16780593, 0.0065867775, -0.074971735, 0.021472024, -0.10853042, 0.09527126, 0.009436061, -0.09688826) * go_0(1.0, -1.0); + result += mat4(-0.31893802, -0.0016892607, -0.105592966, -0.116694786, -0.007851739, 0.1429722, 0.0741952, 0.050125953, 0.07185179, 0.1900389, 0.030889044, 0.15422693, 0.12550323, 0.3556344, 0.108276874, -0.099125646) * go_0(1.0, 0.0); + result += mat4(-0.33620578, -0.11113713, -0.15881014, 0.028243937, -0.12028756, -0.028566968, -0.002682634, -0.15635195, -0.06869284, -0.03309234, 0.03086361, 0.050773233, -0.08939835, 0.15237434, -0.024076303, -0.13092752) * go_0(1.0, 1.0); + result += mat4(-0.31200737, 0.32207087, -0.068700634, -0.39202076, 0.0676771, 0.083766654, -0.05696634, 0.03088338, 0.046761762, 0.09732023, 0.030844063, -0.03369749, -0.12664944, -0.029924957, 0.10551989, 0.086157694) * go_1(-1.0, -1.0); + result += mat4(-0.1919761, 0.17179352, -0.025805056, -0.05570367, -0.16736336, 0.07430868, -0.13228212, 0.10702857, -0.09723214, 0.1884809, 0.09422538, -0.16902041, -0.1964137, 0.17877853, 0.17453954, -0.11339361) * go_1(-1.0, 0.0); + result += mat4(0.11865004, 0.013131073, 0.17317963, -0.2077911, -0.1116894, 0.09672745, -0.023348883, -0.1176519, 0.15893579, 0.22941695, 0.18798698, 0.059098385, 0.09498779, 0.10118143, 0.08737761, -0.016268898) * go_1(-1.0, 1.0); + result += mat4(-0.025380889, 0.17163627, -0.014800655, 0.12669696, 0.050048903, -0.06513837, 0.020915661, 0.2144372, -0.17799327, 0.0068409992, 0.06751171, -0.16618991, 0.14637277, 0.010591964, -0.15909241, 0.02660789) * go_1(0.0, -1.0); + result += mat4(0.3178319, 0.15036377, -0.03386948, 0.13883169, -0.33842105, 0.061425313, -0.04195804, 0.22558802, 0.2250625, 0.060225345, -0.08467863, 0.0014776831, 0.080328, 0.03221249, 0.20838667, 0.11489719) * go_1(0.0, 0.0); + result += mat4(-0.0013924981, 0.28233197, -0.17997956, -0.10959627, -0.16253087, 0.016549526, -0.1571556, 0.017017027, -0.14697123, 0.0869202, 0.2104898, -0.15658243, 0.13424201, -0.022636503, -0.09512045, 0.0927298) * go_1(0.0, 1.0); + result += mat4(-0.038486905, -0.19215351, -0.2446516, -0.02958912, 0.06899297, 0.028667469, -0.05537665, 0.066711955, -0.0017354499, -0.07466053, 0.028587297, -0.042017035, 0.023596823, 0.0067433366, -0.14685915, 0.13400853) * go_1(1.0, -1.0); + result += mat4(0.0573442, 0.1424536, 0.19606829, 0.07141616, -0.032276712, 0.20030099, 0.16644277, 0.10393295, 0.27240822, 0.0071844175, -0.023368603, -0.14067268, -0.20310283, 0.039528254, 0.103837095, 0.08236034) * go_1(1.0, 0.0); + result += mat4(0.15616669, 0.3495403, -0.05678421, -0.069600284, -0.07361787, 0.079501756, 0.009530261, -0.032385882, 0.029831208, -0.095407076, 0.010261287, 0.15250465, -0.04868275, 0.058579214, 0.03779718, -0.10810775) * go_1(1.0, 1.0); + result += mat4(0.06492073, 0.018667994, -0.004712761, -0.032692235, 0.04027288, -0.114499666, -0.04327484, 0.13778907, -0.09373396, -0.08822919, 0.04796151, -0.057756703, -0.26161298, 0.07182931, 0.12998815, -0.14389744) * go_2(-1.0, -1.0); + result += mat4(0.19001032, 0.13091461, -0.2551175, 0.013365716, -0.031779066, 0.002531366, -0.13807543, -0.14165778, -0.2701911, -0.0890182, 0.34704998, -0.008494185, 0.16179956, -0.060182545, 0.060827415, -0.17249492) * go_2(-1.0, 0.0); + result += mat4(0.10665868, 0.15999752, -0.042796712, -0.14010513, -0.014244899, 0.017433831, 0.053657144, -0.0965679, 0.23623326, 0.0690172, 0.1290121, -0.025523739, 0.122357905, -0.18172716, 0.02829383, 0.10042929) * go_2(-1.0, 1.0); + result += mat4(-0.09273112, 0.09466892, -0.009225705, 0.16772579, 0.0813042, -0.16461512, 0.038097944, 0.19834967, -0.033650465, -0.12888893, 0.1414859, -0.021587005, -0.0047441716, 0.08880282, 0.020621201, 0.065779164) * go_2(0.0, -1.0); + result += mat4(0.0051817205, 0.20322648, -0.077459775, 0.07461627, 0.1817634, -0.5371515, -0.29336745, -0.57652086, 0.035826538, 0.41058993, 0.21512514, -0.041881148, -0.2490056, -0.07172767, 0.20821427, -0.69866294) * go_2(0.0, 0.0); + result += mat4(0.18961228, 0.027452804, -0.0075194626, -0.029665018, 0.28770384, -0.099777386, -0.12160496, 0.07690297, 0.30273837, 0.026466522, 0.18100439, -0.09078488, 0.2035407, -0.062081084, 0.06744994, -0.07512911) * go_2(0.0, 1.0); + result += mat4(0.008473044, 0.07501521, -0.11242355, -0.039451122, -0.21818535, -0.07779562, 0.13194147, 0.084983595, 0.0770609, -0.034488454, 0.08823556, -0.07168295, 0.041894365, 0.0789253, 0.06191209, 0.013991105) * go_2(1.0, -1.0); + result += mat4(0.10582237, 0.1514222, 0.10751824, 0.08231926, 0.23913008, -0.2673503, 0.036170945, 0.31463087, 0.026397424, -0.26629624, -0.07428361, -0.077513516, 0.0768238, -0.026638538, 0.12589583, -0.11521212) * go_2(1.0, 0.0); + result += mat4(0.30389515, 0.18963532, 0.023015842, -0.10240883, 0.045651495, -0.036785256, -0.13346411, 0.16431254, -0.030950911, -0.03381929, 0.09413111, 0.03924852, 0.11044091, -0.10149653, 0.14114548, 0.07801978) * go_2(1.0, 1.0); + result += mat4(0.029622428, 0.14528686, -0.034057826, 0.010664312, 0.059213262, -0.29354423, -0.08448559, 0.10569036, -0.02988314, -0.016480735, 0.042203777, -0.028342744, 0.36807576, 0.09301971, 0.123721026, 0.07806503) * go_3(-1.0, -1.0); + result += mat4(0.04849538, -0.09201287, 0.10069803, -0.031749677, 0.18774022, -0.27789372, 0.05288653, 0.08097265, 0.006918896, -0.060978457, -0.113319606, 0.008844536, 0.021804892, -0.0011744015, -0.35720357, -0.24996938) * go_3(-1.0, 0.0); + result += mat4(-0.07147501, -0.09339197, 0.16154395, 0.3372506, -0.0004858638, -0.056553435, -0.12463908, -0.0047342298, -0.009141984, -0.13796125, -0.14035304, -0.104403175, -0.07054226, 0.12142519, -0.24971877, -0.1914648) * go_3(-1.0, 1.0); + result += mat4(-0.008194284, -0.027617034, 0.004994261, -0.07672895, 0.25697777, -0.18313397, 0.03266311, -0.029157834, 0.010476624, 0.12394092, -0.059660904, 0.08561672, -0.0008583816, -0.044442356, 0.28336492, 0.065344445) * go_3(0.0, -1.0); + result += mat4(-0.3570137, -0.06802815, -0.10298613, -0.21256869, 0.3025278, -0.263425, 0.13547331, 0.038517762, 0.14951234, -0.16869017, 0.03293678, 0.21897063, -0.14688788, 0.21619378, -0.27550143, 0.048003722) * go_3(0.0, 0.0); + result += mat4(0.15607022, -0.111073844, 0.2733694, 0.05423378, 0.25116092, -0.17350473, 0.13460433, 0.09602139, 0.17372625, -0.0024815476, -0.30154657, 0.0062206364, -0.0051755225, 0.04985103, -0.06310478, -0.30450678) * go_3(0.0, 1.0); + result += mat4(0.057571005, -0.019051064, 0.054884393, 0.03993782, 2.6782007e-05, -0.05726912, 0.067192145, -0.08955987, -0.11937056, 0.15837386, -0.011670469, -0.06299701, -0.014917928, 0.23921679, 0.0054613873, -0.23099245) * go_3(1.0, -1.0); + result += mat4(-0.035849575, -0.06785954, -0.15053692, 0.011964653, 0.1975448, -0.1633047, -0.024539666, 0.03170174, -0.12585635, -0.021171011, 0.15862562, 0.10296358, 0.3114039, 0.10010659, -0.09519227, -0.12945092) * go_3(1.0, 0.0); + result += mat4(0.044433746, -0.058466546, -0.13258536, -0.033972915, 0.0037206819, -0.057343487, 0.13798106, 0.044445634, -0.22623023, 0.2408462, 0.048287082, -0.30717465, -0.13402344, 0.20024839, -0.026932377, -0.034217034) * go_3(1.0, 1.0); + result += vec4(-0.05988374, -0.23198523, -0.058251306, -0.038808554); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!SAVE conv2d_5_tf1 +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.045249436, -0.040327657, -0.2667367, 0.0913868, 0.14961123, 0.07253207, 0.29162952, -0.11320944, 0.017569833, 0.012350104, 0.22532712, 0.025312115, -0.12193993, 0.037391737, 0.03220835, 0.12102545) * go_0(-1.0, -1.0); + result += mat4(-0.020587588, -0.07043244, -0.28093454, 0.18336722, 0.08153308, -0.05914772, -0.15255487, 0.079236075, -0.4269835, -0.11470208, -0.19043571, 0.2723162, 0.0066251885, -0.17115718, 0.022036036, 0.07349558) * go_0(-1.0, 0.0); + result += mat4(-0.09441315, 0.042170826, 0.071251415, -0.13891962, 0.10236482, 0.05356262, 0.0291025, 0.063867815, -0.14530063, -0.08727925, -0.0048300857, 0.06766869, -0.3481536, -0.10943503, 0.014951926, 0.11993114) * go_0(-1.0, 1.0); + result += mat4(0.13420522, 0.095721036, -0.1756104, -0.09906728, 0.09808904, -0.27402034, -0.102161326, 0.40162942, 0.13465238, 0.20237032, 0.3192343, -0.061512157, -0.20711629, -0.09659007, 0.06838548, 0.30256763) * go_0(0.0, -1.0); + result += mat4(0.025805298, -0.0322599, 0.23653145, -0.2760735, 0.11291006, -0.10836205, 0.20742846, 0.06974535, -0.4191803, -0.10882523, 0.038603242, 0.22662747, -0.08845715, -0.26151156, -0.16670766, 0.008536192) * go_0(0.0, 0.0); + result += mat4(-0.085842185, -0.21239999, -0.032774646, 0.088163696, 0.038300447, -0.09510875, 0.10113864, -0.14712982, 0.14264707, -0.10895432, 0.03051617, -0.06791873, -0.35589013, -0.12884575, -0.09460007, -0.0879575) * go_0(0.0, 1.0); + result += mat4(0.19235751, -0.109611385, -0.037397474, -0.26632717, 0.07878826, 0.19749992, 0.0035685285, 0.11793927, 0.019899402, 0.085741036, 0.08433813, -0.018344546, -0.0901484, 0.08221562, 0.12735383, 0.12801875) * go_0(1.0, -1.0); + result += mat4(0.19123435, 0.007882246, -0.018564796, -0.09904253, 0.28052533, 0.6360808, 0.25001726, -0.30590564, 0.07646281, -0.34298185, -0.33293694, -0.036753535, 0.18719083, 0.22131144, -0.1420962, -0.0014709529) * go_0(1.0, 0.0); + result += mat4(0.23060241, -0.14145076, -0.113213465, 0.037221998, 0.22163334, 0.18520229, 0.2961799, -0.063605964, 0.022606356, 0.043340076, -0.3233993, -0.075055614, -0.0038865958, 0.19558622, -0.018503085, -0.22932632) * go_0(1.0, 1.0); + result += mat4(0.11712158, -0.03590364, 0.38039652, -0.019910801, 0.13338004, -0.07078425, 0.09404417, -0.27607328, -0.02205519, -0.013522961, 0.2924021, -0.16088538, -0.034280356, -0.063614614, -0.061583273, -0.22479968) * go_1(-1.0, -1.0); + result += mat4(-0.05624079, 0.32659104, 0.47335497, -0.14091404, 0.14739423, -0.07122778, -0.009384643, -0.058900848, 0.06260307, -0.17574102, 0.3538743, 0.2842822, -0.18150197, 0.26806462, 0.24673693, 0.19710627) * go_1(-1.0, 0.0); + result += mat4(-0.24837571, -0.01663848, -0.13093965, 0.30109972, -0.09680959, 0.074526474, 0.024111765, -0.012781737, -0.08591349, -0.100348584, 0.02363011, -0.02687084, -0.27630556, 0.14074354, -0.016993485, 0.084373675) * go_1(-1.0, 1.0); + result += mat4(0.1543391, -0.2008408, -0.21885285, 0.2320177, 0.06669948, -0.05171086, -0.25833863, -0.14085051, -0.035878573, -0.1632403, 0.09782713, 0.22973235, -0.14022017, -0.018347954, -0.29652777, 0.10912002) * go_1(0.0, -1.0); + result += mat4(-0.050962634, -0.040519282, -0.04381614, 0.084133334, 0.21222316, -0.091010064, 0.13157965, -0.21375372, -0.021148674, -0.044127557, -0.11400533, 0.097688414, 0.31571037, -0.05167655, 0.27606225, 0.12169133) * go_1(0.0, 0.0); + result += mat4(-0.1329087, 0.14291021, 0.043337896, -0.25970098, -0.11379552, -0.040157612, 0.08379851, -0.24104865, 0.1593102, -0.031879216, -0.004603848, -0.019003935, -0.24769545, -0.17577063, 0.16019398, 0.04640235) * go_1(0.0, 1.0); + result += mat4(-0.11615644, 0.12189521, 0.12919527, -0.104224406, -0.10143574, 0.14024515, -0.02759362, -0.1467619, 0.09028311, -0.06510291, 0.061612967, 0.10227729, -0.08785846, 0.06464871, -0.05048917, 0.09055746) * go_1(1.0, -1.0); + result += mat4(0.34443164, 0.013906371, -0.0595573, 0.09354196, 0.12184454, -0.02698316, -0.06208632, -0.11266858, 0.004904335, -0.33987018, -0.2494041, 0.127125, 0.040493876, 0.0280356, -0.037431944, 0.05823802) * go_1(1.0, 0.0); + result += mat4(-0.1762869, -0.20683959, -0.37788594, -0.1244979, -0.17202286, -0.038234763, 0.015924744, -0.014006752, 0.07097758, -0.25219876, -0.3164728, 0.022413896, -0.41423917, -0.03191542, 0.009464804, 0.0770316) * go_1(1.0, 1.0); + result += mat4(0.12442388, 0.031095076, 0.18799834, -0.18449762, -0.11995044, 0.11634828, -0.0055850362, 0.08558657, -0.025694892, -0.2854381, -0.32876188, 0.14690274, -0.1835963, -0.1786755, -0.44678628, 0.1678422) * go_2(-1.0, -1.0); + result += mat4(0.031241562, -0.1265462, 0.081369035, -0.1184643, 0.0010021052, -0.10810683, -0.039572187, 0.13850863, -0.010703417, -0.057981443, 0.30309856, 0.13869847, -0.16935349, 0.16969836, 0.045642667, 0.26460654) * go_2(-1.0, 0.0); + result += mat4(0.28779998, 0.04767888, -0.011856489, 0.114210494, 0.034624737, 0.19084676, -0.02740287, 0.035041407, -0.049002927, 0.10928203, 0.17362499, -0.1280889, 0.00077811617, -0.17594084, -0.18379052, 0.22303762) * go_2(-1.0, 1.0); + result += mat4(0.0008487252, -0.060438234, 0.109334275, -0.18768874, 0.13844973, 0.09226474, 0.18361697, -0.19385563, -0.29241335, -0.1033556, -0.3289991, 0.10027422, -0.09454755, -0.22817631, -0.2964217, -0.19499257) * go_2(0.0, -1.0); + result += mat4(-0.057920385, 0.06342629, -0.048577324, 0.15952215, -0.061343953, 0.16471362, 0.1501856, 0.027373426, 0.01837245, -0.0732048, 0.09776471, 0.14817989, -0.112215854, 0.109101914, 0.058316242, 0.29969788) * go_2(0.0, 0.0); + result += mat4(-0.12411656, -0.033170763, -0.08715826, 0.110862456, 0.1871076, 0.14550175, 0.23373431, 0.19281025, -0.37016305, -0.11924462, 0.026793748, 0.092801645, 0.04318573, 0.20969667, -0.39267823, 0.1938874) * go_2(0.0, 1.0); + result += mat4(-0.15932916, 0.22217506, 0.007901788, -0.04037383, 0.09095982, -0.043115042, 0.098845564, -0.073432215, -0.14535685, 0.11504512, -0.07950504, -0.010718905, -0.050012022, -0.13089752, -0.3323894, -0.005423676) * go_2(1.0, -1.0); + result += mat4(0.007320675, 0.21108273, 0.20758918, -0.04005568, -0.13234317, -0.15708306, 0.41804615, -0.09720499, -0.09623786, 0.2441289, 0.33276868, 0.17716111, -0.45670444, -0.026252905, -0.01958701, 0.24028622) * go_2(1.0, 0.0); + result += mat4(-0.14936383, -0.023504466, -0.028479185, -0.053541556, -0.060263615, -0.087681144, 0.2435555, 0.08470686, -0.17713271, -0.2303349, 0.09337386, 0.039068084, -0.16263027, 0.034289114, 0.16604292, 0.10550447) * go_2(1.0, 1.0); + result += mat4(-0.16556105, 0.12211341, -0.0036831333, 0.13802956, 0.065256506, 0.03395266, -0.2296282, 0.21284704, 0.017770419, -0.1722762, -0.1741687, 0.10708671, 0.331979, 0.11924846, -0.09410989, -0.123036265) * go_3(-1.0, -1.0); + result += mat4(-0.096586555, -0.30475244, -0.24065268, 0.053860847, 0.19413544, 0.05542323, -0.06327867, 0.012265184, -0.08913778, 0.13779551, -0.099127166, 0.007493773, -0.07125554, -0.0011684593, -0.003005287, -0.094847135) * go_3(-1.0, 0.0); + result += mat4(0.21711998, -0.13086027, 0.07825239, -0.21121782, 0.055840425, -0.0019166623, -0.05480048, 0.019817038, 0.007626905, 0.14126389, 0.04515749, -0.029315706, 0.18555732, -0.114861906, -0.21993469, 0.031716693) * go_3(-1.0, 1.0); + result += mat4(-0.06716353, -0.11964145, 0.09711908, -0.061763637, -0.0948045, 0.14189975, 0.2810092, 0.2505306, 0.08872909, 0.086749084, -0.17528322, -0.048835423, 0.124959685, -0.12602286, 0.065660164, -0.06783225) * go_3(0.0, -1.0); + result += mat4(-0.23066516, -0.0068310793, -0.0021060852, 0.09136854, 0.09919007, 0.2259628, -0.026603302, 0.1367709, -0.07940821, 0.14962214, 0.00652088, -0.3114987, -0.18900892, -0.20450105, 0.09329685, -0.19482759) * go_3(0.0, 0.0); + result += mat4(0.095197074, 0.06346413, -0.05207484, -0.086378016, 0.19733003, 0.1448027, -0.02410627, 0.024829205, -0.20296144, -0.09551166, 0.022987023, 0.09035918, -0.15824226, 0.1350293, -0.06641893, 0.11739518) * go_3(0.0, 1.0); + result += mat4(0.08381447, -0.13171835, -0.030271608, 0.14649504, 0.0007350431, 0.15303299, -0.001797464, 0.30294403, -0.07635094, -0.102541, -0.12176348, 0.053775523, 0.08070882, -0.035387367, -0.09521456, 0.22530125) * go_3(1.0, -1.0); + result += mat4(-0.04650126, 0.12029137, 0.009236626, -0.1371486, -0.119391896, 0.20490645, 0.17123316, -0.015455403, 0.05842872, 0.14354227, 0.37586045, 0.054906923, 0.062954046, 0.07285954, 0.12260665, -0.08675996) * go_3(1.0, 0.0); + result += mat4(0.22510684, -0.010087092, 0.005660375, 0.05069907, 0.10297958, 0.1411009, 0.09538159, 0.00922383, -0.31313825, -0.06449414, 0.109746836, 0.30148697, 0.35861742, -0.045380104, 0.09908991, -0.1933117) * go_3(1.0, 1.0); + result += vec4(0.012253057, 0.13434875, -0.10318777, -0.074252345); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!SAVE conv2d_6_tf +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.04279202, -0.01698567, 0.18318103, -0.18172316, 0.04757184, 0.07232096, -0.054900512, 0.11956132, 0.048900753, 0.0006714882, -0.09200336, 0.16104606, 0.38940707, 0.2754208, -0.12735553, -0.30017206) * go_0(-1.0, -1.0); + result += mat4(0.2469705, 0.103162065, 0.10321547, -0.1292231, 0.3013039, -0.018333653, -0.19897339, 0.122247696, 0.14719778, 0.003909129, -0.19585025, 0.03670547, -0.2132921, 0.33642963, 0.17569672, 0.07414473) * go_0(-1.0, 0.0); + result += mat4(0.015335451, 0.15161209, 0.0447609, -0.042884503, 0.14257035, 0.07775234, -0.2064044, 0.03842874, -0.1660166, -0.19817057, -0.10740875, -0.123968095, 0.14156081, -0.2197906, -0.08622206, 0.4185408) * go_0(-1.0, 1.0); + result += mat4(-0.33392438, -0.12483512, -0.062084857, 0.16336447, 0.09862199, 0.1659862, 0.034751434, -0.11968266, -0.017155796, 0.21001562, -0.053017724, 0.10386376, 0.07066254, 0.50014263, 0.31065208, -0.026068505) * go_0(0.0, -1.0); + result += mat4(-0.34320992, -0.030056434, -0.24118581, -0.024320357, 0.327435, -0.036838267, -0.19433706, 0.24561343, -0.1489437, 0.225435, 0.18421564, 0.021147838, 0.264245, 0.16846146, -0.51724315, 0.039252095) * go_0(0.0, 0.0); + result += mat4(-0.25945047, 0.12058094, 0.2889452, -0.061687145, -0.10309796, -0.19476385, -0.10393912, 0.16837607, -0.05198191, -0.036113493, -0.11847194, 0.16367626, 0.018113747, 0.059499823, 0.0062132217, 0.15846115) * go_0(0.0, 1.0); + result += mat4(0.094601326, 0.053219795, 0.027610637, 0.12041253, 0.21425363, 0.15754686, 0.08518286, -0.00661778, -0.021661628, -0.17554528, -0.014842315, 0.22240937, 0.15908821, -0.20964032, 0.21754523, 0.30307937) * go_0(1.0, -1.0); + result += mat4(0.13757955, 0.06684095, -0.03616685, -0.014618309, 0.04168136, -0.17148526, -0.16317028, 0.14210777, 0.102521434, -0.19108291, -0.14441934, 0.14435884, 0.24228935, -0.10589834, 0.24029285, 0.27317202) * go_0(1.0, 0.0); + result += mat4(-0.16239886, -0.073841535, 0.067964345, -0.11332664, 0.07695667, -0.047180675, -0.08260769, 0.09427637, 0.09471068, 0.012713836, 0.14605078, -0.062490974, -0.11498225, 0.04150893, 0.37402585, 0.21953487) * go_0(1.0, 1.0); + result += mat4(-0.07445113, -0.14220217, 0.09271495, -0.014715529, -0.37606132, -0.14938155, -0.024809113, 0.22279873, -0.011379667, -0.04545505, -0.033382278, 0.08971831, 0.016359061, -0.016230864, 0.052939463, -0.07754285) * go_1(-1.0, -1.0); + result += mat4(0.10961948, 0.09230085, 0.061259165, 0.0015837378, 0.053883027, -0.22557226, 0.018400123, 0.43234614, 0.08967873, 0.06687854, -0.4389578, -0.01658211, -0.040707946, 0.0048945122, 0.1433802, 0.049759727) * go_1(-1.0, 0.0); + result += mat4(-0.027641231, 0.026085567, 0.109188825, -0.19011945, 0.19309571, 0.0084956605, 0.05034047, -0.08674781, -0.008124587, 0.031490494, -0.0744263, 0.084508896, -0.007835403, 0.13120581, 0.0021786217, -0.025225073) * go_1(-1.0, 1.0); + result += mat4(0.020191731, 0.24703082, -0.36845222, 0.0032569442, -0.1497622, 0.05968502, 0.09595371, 0.008410154, 0.119981945, -0.09983294, -0.19541258, -0.111814305, -0.25664008, 0.31031236, -0.23063917, -0.13823026) * go_1(0.0, -1.0); + result += mat4(-0.092747286, 0.23009373, -0.29804415, 0.05036082, 0.031480987, 0.18805481, 0.3676576, 0.06004687, 0.19841099, -0.058367446, -0.44229323, -0.19645047, 0.037667975, 0.12398346, -0.25753063, -0.26919344) * go_1(0.0, 0.0); + result += mat4(-0.019061154, 0.03841801, -0.28433323, 0.38128456, -0.059526864, 0.29960185, 0.014484517, -0.10234412, 0.05444907, -0.12615138, 0.14936689, -0.079120934, 0.028092088, 0.096715964, 0.0037780635, -0.12791039) * go_1(0.0, 1.0); + result += mat4(0.26949528, 0.015951393, 0.15355164, -0.030336212, -0.100286454, -0.052609976, 0.03197625, -0.092190474, 0.06131517, 0.18291938, -0.15216532, -0.026021928, 0.18581273, -0.10659101, 0.14806952, 0.20509768) * go_1(1.0, -1.0); + result += mat4(-0.2205839, 0.11654808, 0.43800604, 0.03188946, 0.13840868, 0.020377772, 0.038510147, 0.03779825, -0.23494276, 0.08624197, 0.036650848, -0.115041405, -0.03776705, -0.32108167, 0.0094707385, 0.37881464) * go_1(1.0, 0.0); + result += mat4(-0.031778246, -0.38020673, 0.16956653, 0.33444092, -0.042172886, -0.03465591, -0.17585713, 0.025507452, 0.07595919, -0.06807453, -0.100295454, -0.019174794, 0.07763043, -0.09321411, -0.05212223, 0.112239085) * go_1(1.0, 1.0); + result += mat4(-0.048172995, -0.012284629, 0.12846173, -0.13459995, 0.25443402, -0.013064909, 0.15480834, 0.14016332, 0.036635883, -0.049085367, 0.0506487, 0.26623604, -0.023176057, 0.012088936, -0.1844897, 0.040488705) * go_2(-1.0, -1.0); + result += mat4(0.2147455, 0.17323543, -0.2943051, -0.053386763, -0.023367947, 0.090753146, -0.011997397, -0.0626111, -0.13558747, -0.035944186, -0.014752113, 0.25506687, 0.055502877, 0.31465453, -0.16283247, -0.08967175) * go_2(-1.0, 0.0); + result += mat4(0.033773236, -0.09510872, -0.09313707, 0.046486538, -0.1699796, -0.11685979, 0.22197925, -0.013884658, 0.12514, -0.12129843, -0.09695589, -0.075202964, -0.12321221, 0.18949097, -0.03694664, -0.2306249) * go_2(-1.0, 1.0); + result += mat4(0.08668444, -0.22983012, -0.30873656, 0.07371376, 0.082137264, -0.014844924, 0.2283955, 0.24782042, 0.31113505, 0.14810014, 0.32804835, -0.12014127, -0.17742543, -0.15872951, -0.080107674, -0.16898526) * go_2(0.0, -1.0); + result += mat4(0.29746926, 0.19479977, 0.13996765, -0.4268552, -0.16478531, 0.0835479, 0.45685142, -0.05510062, -0.1282004, 0.12359051, 0.34026766, -0.26152933, -0.13128015, 0.329812, 0.27172327, -0.06600192) * go_2(0.0, 0.0); + result += mat4(-0.06552484, 0.19600633, 0.12407863, -0.13815112, 0.17426166, 0.040930413, 0.06495108, 0.034157254, -0.029772963, 0.015127817, 0.10718436, -0.13752984, -0.0205358, 0.1884735, 0.104591034, -0.020779913) * go_2(0.0, 1.0); + result += mat4(-0.053475305, -0.13616458, 0.05487909, 0.13256747, -0.10030239, -0.12376705, 0.062755466, 0.03264356, 0.068466686, 0.05019395, -0.034875803, -0.17806669, -0.21720818, 0.25592342, -0.2685692, -0.27576914) * go_2(1.0, -1.0); + result += mat4(-0.04562929, 0.04225299, -0.22311088, -0.09517893, -0.19886662, -0.11944208, 0.11044239, -0.10464355, 0.037634842, 0.124069214, 0.0927385, 0.108838566, -0.088783056, 0.17008123, -0.1007014, -0.23137446) * go_2(1.0, 0.0); + result += mat4(0.10306672, 0.027472405, -0.069015354, -0.14412996, 0.24068132, -0.10624665, -0.25597134, 0.05208812, -0.10230778, 0.006520562, -0.11931577, 0.26738268, -0.09168354, 0.13557245, -0.008878644, -0.22292739) * go_2(1.0, 1.0); + result += mat4(-0.09403718, 0.11993688, -0.036254726, -0.053109076, 0.18422048, 0.25203657, 0.10025996, -0.11272799, -0.22040273, -0.05758331, -0.07059054, -0.054108664, -0.20009018, -0.22061199, 0.057880517, -0.26669186) * go_3(-1.0, -1.0); + result += mat4(-0.08534496, 0.0027822452, -0.01112169, -0.13484463, -0.09446875, -0.057457812, -0.03910888, -0.2816038, -0.096015625, -0.03636662, 0.12532772, 0.092033, 0.038156748, -0.101240925, 0.024886698, -0.086328045) * go_3(-1.0, 0.0); + result += mat4(0.2349796, 0.19884427, -0.0734711, 0.08422328, -0.07201622, 0.020658491, 0.1331021, 0.039766714, 0.19280422, 0.13086005, -0.11339721, -0.14782044, 0.19341573, 0.16767374, -0.03593828, 0.18139753) * go_3(-1.0, 1.0); + result += mat4(-0.040663462, -0.15233721, 0.524604, 0.26603413, 0.07202415, 0.053382196, 0.030758869, -0.06144292, -0.010495834, 0.13868876, -0.020688854, -0.15551737, -0.2958513, -0.32805985, -0.25359175, -0.036683984) * go_3(0.0, -1.0); + result += mat4(-0.06644081, -0.145321, 0.24945419, 0.031560224, 0.17245345, 0.23418438, 0.20341763, -0.2619872, 0.038787205, 0.16488725, 0.0019107185, 0.03820528, 0.04169643, -0.34155026, -0.11183654, 0.028614044) * go_3(0.0, 0.0); + result += mat4(-0.028469078, 0.010781976, 0.05263661, -0.15337946, -0.20491667, -0.13879907, 0.13934538, 0.061196275, 0.056804053, 0.063193604, -0.2389496, 0.037072126, -0.058510017, 0.036215063, 0.3074709, 0.10517675) * go_3(0.0, 1.0); + result += mat4(0.028534278, 0.0022668538, 0.04492863, -0.060705435, 0.06349762, -0.016823182, -0.09148226, 0.03930522, -0.083295114, 0.14799853, -0.08089152, -0.21993661, -0.23298621, 0.05106244, -0.013708201, -0.16311577) * go_3(1.0, -1.0); + result += mat4(0.05885827, 0.122300275, -0.16086812, -0.21892425, -0.07548077, 0.09286181, -0.027564062, -0.028723463, -0.0056181233, 0.23472206, -0.0049285595, -0.45054138, 0.07592325, -0.044704806, 0.019616256, -0.06956836) * go_3(1.0, 0.0); + result += mat4(0.036423888, 0.20839189, -0.16420732, -0.15954947, -0.11311323, -0.24191359, 0.19845375, 0.084540576, -0.20946553, 0.09259613, 0.03234368, -0.056766506, -0.11992363, -0.06882079, -0.020428827, -0.093375795) * go_3(1.0, 1.0); + result += vec4(0.013113342, -0.2905848, -0.029724011, 0.1769613); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!SAVE conv2d_6_tf1 +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.093678355, -0.08574688, 0.007699401, -0.038818456, -0.10667588, 0.043627866, 0.23127791, 0.061317544, -0.32790044, 0.08618836, 0.009400048, -0.17129329, 0.23541448, -0.015561885, -0.11172365, -0.1190039) * go_0(-1.0, -1.0); + result += mat4(-0.0052874424, 0.08136584, -0.12633958, -0.016064916, 0.14033778, 0.07755252, -0.26242834, 0.063312635, 0.06861756, 0.14867078, -0.2561066, 0.33325562, -0.106489345, -0.10068009, -0.039633382, -0.016305668) * go_0(-1.0, 0.0); + result += mat4(-0.27784392, -0.14990395, -0.35981888, -0.2564094, -0.07480205, -0.026457628, 0.1027643, 0.19381845, -0.07160986, -0.15616457, -0.032070953, 0.32998616, 0.15383582, 0.16622585, -0.1435993, -0.02287804) * go_0(-1.0, 1.0); + result += mat4(-0.09360053, 0.58019537, 0.02028909, 0.413114, 0.025173154, -0.030326266, -0.028177274, -0.12964654, -0.25432733, -0.06556034, 0.023097439, -0.09458851, -0.21772051, -0.10324596, -0.36674342, -0.14803977) * go_0(0.0, -1.0); + result += mat4(-0.1227467, 0.20252965, 0.2559927, 0.08719227, 0.030749539, -0.2526622, -0.25694713, -0.2960799, -0.34960067, -0.25393236, -0.28439638, 0.086787805, -0.34202877, 0.21933395, 0.23473133, 0.079260886) * go_0(0.0, 0.0); + result += mat4(-0.00147522, -0.16591258, -0.030617915, 0.10052425, -0.1822102, 0.038774874, -0.04285007, 0.07312042, 0.052175622, -0.33510515, 0.027545406, 0.2995306, -0.08535316, 0.11144203, 0.27999434, -0.09770663) * go_0(0.0, 1.0); + result += mat4(-0.04394928, -0.26842886, -0.08354109, 0.04077001, -0.009221606, 0.0328837, 0.006459338, 0.08984004, -0.13035133, 0.20004508, 0.21950854, -0.12742348, 0.32386312, 0.085903555, -0.29273173, -0.056370437) * go_0(1.0, -1.0); + result += mat4(0.019171638, -0.1824711, -0.10899421, -0.16201603, 0.054712642, -0.020315547, -0.048609916, -0.068621606, -0.055706583, -0.25671515, -0.019494208, 0.08366393, 0.09531471, -0.05988052, -0.024995802, 0.019303525) * go_0(1.0, 0.0); + result += mat4(-0.08694609, 0.26762635, 0.10477892, -0.15392998, -0.059596587, -0.047562487, -0.25932398, -0.054960977, -0.00015596532, 0.07196634, -0.017385524, -0.18826845, -0.017969077, -0.27291682, -0.153906, -0.107691295) * go_0(1.0, 1.0); + result += mat4(0.17340474, -0.1285696, -0.04484238, 0.15782213, -0.06190358, 0.27896214, 0.28475145, -0.042519942, -0.19862229, -0.1354097, 0.14344497, 0.015599392, 0.18698554, 0.035121564, -0.018465763, 0.0010143917) * go_1(-1.0, -1.0); + result += mat4(-0.13428356, -0.06612225, 0.19397905, 0.14209093, 0.1526626, 0.2617573, -0.15316434, 0.35452205, 0.05003259, 0.07679617, -0.008399171, -0.0062716682, 0.11833864, 0.1331285, -0.006803729, 0.22615404) * go_1(-1.0, 0.0); + result += mat4(0.0020632436, -0.173174, -0.15404437, 0.05430569, 0.21100305, 0.39063898, -0.019479724, 0.17396629, -0.061121427, -0.13424753, -0.008459669, -0.04975768, 0.20599939, -0.11374013, -0.21116278, 0.063624285) * go_1(-1.0, 1.0); + result += mat4(-0.0073831948, -0.12009769, -0.16402034, 0.054093774, 0.061061747, -0.009054565, -0.02815144, -0.17071937, -0.22791979, 0.073427565, 0.25161973, 0.1011713, -0.23804636, 0.13810354, 0.09063126, -0.23065178) * go_1(0.0, -1.0); + result += mat4(-0.31885087, 0.21730177, -0.20516786, 0.04075695, -0.2736768, -0.38779113, -0.19445951, -0.14024325, -0.11824961, -0.102919355, -0.17858729, -0.013441498, 0.16320607, -0.27105078, -0.00019549616, 0.024509901) * go_1(0.0, 0.0); + result += mat4(-0.16024838, -0.3132909, -0.15461555, 0.34874174, -0.0051668375, 0.1811257, 0.3384939, 0.16381103, 0.047184363, -0.20424844, -0.1330078, -0.13795874, 0.21890834, -0.08242861, 0.22677775, 0.031102268) * go_1(0.0, 1.0); + result += mat4(0.19408257, 0.016361775, -0.202373, 0.2245766, -0.008954751, -0.047279913, -0.09170596, 0.01567793, -0.0019059096, -0.07785436, 0.0756357, 0.09683383, 0.034215495, -0.030802004, -0.077977195, -0.1101297) * go_1(1.0, -1.0); + result += mat4(-0.1060503, -0.0044663083, -0.14942732, -0.11696249, -0.04550482, 0.11463188, 0.17801443, 0.07229662, -0.14176941, 0.02773344, -0.10770335, -0.08745911, -0.023052111, -0.17474785, 0.016645849, -0.059080444) * go_1(1.0, 0.0); + result += mat4(-0.050500304, -0.14716387, 0.04525464, 0.23543595, 0.08411192, 0.16031684, 0.1659825, -0.03595111, -0.012943453, 0.13354135, -0.051425032, -0.0075654723, 0.11174184, 0.1266808, -0.18799087, 0.10571744) * go_1(1.0, 1.0); + result += mat4(-0.15583408, 0.09837484, 0.19239932, -0.03557196, -0.05406335, 0.096456856, -0.13921897, -0.2212671, 0.28973594, 0.04017474, -0.25423512, 0.1522156, -0.10563249, -0.033190794, 0.101713456, -0.08922746) * go_2(-1.0, -1.0); + result += mat4(-0.0787607, -0.14545321, 0.099762656, -0.2824299, 0.10130184, 0.019948835, -0.1013831, 0.06604923, 0.089561954, 0.28344154, 0.05757009, 0.04981809, -0.15927236, 0.008129835, -0.04280382, 0.10653281) * go_2(-1.0, 0.0); + result += mat4(0.28149363, 0.019583186, 0.25983065, 0.30190885, 0.055435803, -0.01970755, 0.04546505, -0.027456624, 0.43886992, -0.032305803, -0.23557569, 0.12753153, -0.18509789, -0.073295385, 0.0083466545, -0.08271229) * go_2(-1.0, 1.0); + result += mat4(0.016040009, -0.20475672, -0.015803276, 0.18247975, 0.21178837, -0.041543446, -0.24716362, 0.10105528, 0.19479224, -0.06583694, -0.09192672, -0.037776746, 0.09636229, -0.12086331, 0.13989103, 0.014564729) * go_2(0.0, -1.0); + result += mat4(0.19923596, -0.4132588, -0.4254784, -0.33433357, -0.16956097, -0.25086832, 0.23311833, -0.08976422, 0.06432824, -0.0071802614, 0.0033370545, -0.11073493, -0.46609998, -0.09332235, -0.27287352, 0.052513942) * go_2(0.0, 0.0); + result += mat4(-0.06954148, -0.06908355, -0.01875471, -0.35067585, 0.038715206, 0.08843527, 0.28899097, -0.024983376, 0.05879495, 0.110363334, 0.055481512, -0.0046147215, -0.035302363, -0.2722019, -0.0829261, 0.21088009) * go_2(0.0, 1.0); + result += mat4(-0.101971015, -0.18584369, 0.1469676, 0.025965, 0.07205807, 0.08838771, 0.08537094, 0.023344917, -0.106373414, -0.09254277, -0.25996596, 0.24570447, 0.00590166, -0.20074098, -0.05443169, -0.10562662) * go_2(1.0, -1.0); + result += mat4(0.12980327, -0.16834956, -0.1635997, 0.23437372, -0.07374834, 0.0062907683, 0.17292136, 0.0018093853, 0.04122969, -0.025285576, 0.29646805, 0.13402736, -0.040267725, 0.0011441729, -0.18658921, 0.12006417) * go_2(1.0, 0.0); + result += mat4(0.13221453, 0.15109141, 0.07707579, 0.05148666, -0.039716493, 0.12869143, -0.012840577, 0.10953536, -0.05721115, -0.120122276, -0.07632444, 0.32949027, 0.00022400127, 0.22217369, 0.2180494, -0.028773604) * go_2(1.0, 1.0); + result += mat4(-0.08405412, 0.11332542, 0.120847605, 0.00520135, -0.13689686, -0.1459117, -0.029643068, 0.16147274, 0.21844815, -0.036921967, -0.12862785, -0.15930249, -0.11265427, -0.17471205, 0.0026749703, 0.2048758) * go_3(-1.0, -1.0); + result += mat4(-0.03768306, -0.07585988, 0.046583172, -0.35557657, 0.012359812, -0.05498573, 0.19581361, -0.08186999, -0.008727976, -0.16623624, -0.03647879, 0.22760212, 0.048297524, -0.12502927, 0.08636729, -0.26437047) * go_3(-1.0, 0.0); + result += mat4(-0.19518375, 0.17423135, 0.19473018, -0.22721744, -0.25087392, -0.17043075, -0.021999557, -0.27388734, -0.096786864, -0.012226921, 0.16101876, 0.030362492, -0.017619403, -0.2494354, -0.07336028, 0.06842719) * go_3(-1.0, 1.0); + result += mat4(0.13816363, 0.14551367, -0.08497621, 0.15563537, -0.01600614, -0.010629245, 0.007773828, 0.2733634, 0.13066974, -0.2223056, -0.12664202, -0.19242655, -0.13211249, 0.065143794, 0.23912583, 0.19819915) * go_3(0.0, -1.0); + result += mat4(0.001870705, -0.0028601827, 0.14014813, 0.14659253, -0.037523735, 0.3726274, 0.13139205, 0.0112125, -0.16308945, -0.17571904, 0.12799808, -0.032106552, 0.013872656, 0.432307, -0.14197885, 0.24013121) * go_3(0.0, 0.0); + result += mat4(0.117900506, -0.08039036, -0.17504077, -0.08337764, -0.0068703834, -0.07430392, -0.17125578, -0.3470726, -0.20989974, -0.019394008, -0.027336912, 0.18668686, 0.052886557, -0.023217537, 0.004054446, 0.055974416) * go_3(0.0, 1.0); + result += mat4(-0.055653654, 0.08726097, 0.01206228, -0.25783783, -0.08736529, 0.19947968, -0.010166337, 0.36168414, 0.20298903, -0.15769973, -0.21389212, -0.19638214, -0.093130395, -0.067289785, 0.10245741, -0.14167903) * go_3(1.0, -1.0); + result += mat4(0.04559992, -0.102125205, 0.21949212, -0.07308472, -0.15511832, 0.23785073, 0.04275021, 0.085007004, 0.079402514, 0.10851189, -0.151969, -0.29738536, -0.0776658, 0.1113102, -0.18987878, -0.045522977) * go_3(1.0, 0.0); + result += mat4(0.073690206, -0.016468357, 0.122353435, -0.023995928, 0.095143944, 0.23051415, 0.17702249, 0.030164838, -0.09111423, -0.14219609, -0.19734482, -0.24854833, -0.0067356345, -0.1760497, 0.22637916, 0.119141534) * go_3(1.0, 1.0); + result += vec4(0.22705397, -0.029518934, -0.026397338, -0.08183741); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!SAVE conv2d_7_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.16737834, 0.35369134, 0.14049083, 0.017871622, 0.0058661173, -0.035960242, -0.039154284, -0.01920433, 0.0729212, -0.03617972, -0.42717552, -0.019914677, -0.30816802, -0.07726792, 0.2088459, -0.09198307) * go_0(-1.0, -1.0); + result += mat4(-0.0991125, 0.11411345, 0.15300295, -0.09510225, 0.014268626, -0.42914182, -0.13365223, -0.19440699, -0.27214321, 0.085696176, 0.1527733, -0.21056797, -0.062475704, -0.023041902, -0.29080424, -0.54386055) * go_0(-1.0, 0.0); + result += mat4(-0.30736786, -0.16801229, 0.07400606, -0.31128535, -0.11047924, 0.16556956, -0.33445996, -0.09190697, -0.06132585, -0.11021996, 0.014628762, -0.45183894, 0.08186993, 0.19378273, 0.113438204, 0.038364496) * go_0(-1.0, 1.0); + result += mat4(0.24129803, 0.29174972, -0.1250327, 0.14254767, 0.0026774528, 0.1742466, -0.021835174, 0.01668921, 0.13646975, 0.313305, -0.23293279, -0.16737306, -0.059818722, 0.06404477, 0.108172625, 0.22065729) * go_0(0.0, -1.0); + result += mat4(-0.3504013, 0.20759478, 0.28683922, 0.2771802, 0.13761812, -0.21180478, -0.17020214, -0.21419087, -0.031916566, -0.040439468, 0.39206958, 0.715565, 0.46198523, 0.05055317, -0.07409331, -0.050633535) * go_0(0.0, 0.0); + result += mat4(0.122958206, 0.0071205017, -0.21314384, -0.22197853, 0.016202174, -0.15960938, -0.14601983, -0.023609173, -0.07586023, 0.099936776, -0.0480375, -0.08681468, -0.14976887, -0.38979456, 0.16078879, -0.12263952) * go_0(0.0, 1.0); + result += mat4(0.1687149, 0.108331114, 0.10112296, 0.01738403, -0.06773097, -0.19410455, -0.09728116, 0.0013846151, -0.038603816, -0.05495021, 0.2453317, -0.40052003, -0.022453755, 0.045039784, 0.0474246, -0.2665161) * go_0(1.0, -1.0); + result += mat4(0.06805519, -0.052276067, 0.052459523, -0.0033053474, 0.13439268, -0.06845637, -0.20462433, -0.09088968, -0.00096404477, -0.35103628, 0.15096465, 0.3285226, 0.018747555, -0.06623108, 0.1754265, 0.3211156) * go_0(1.0, 0.0); + result += mat4(-0.04583627, 0.122267574, -0.44002235, -0.20039988, 0.039372742, -0.16505809, -0.26659602, 0.12207268, 0.03337428, 0.23131758, -0.009866899, 0.010381569, 0.29676, -0.020599596, 0.17816995, 0.32852224) * go_0(1.0, 1.0); + result += mat4(0.09469788, -0.12531966, -0.11786524, -0.3115985, -0.2213199, -0.012536277, -0.13176842, 0.14986996, 0.12069894, 0.2744789, 0.21674646, 0.46060535, -0.4101697, -0.55295914, 0.29993954, 0.114459395) * go_1(-1.0, -1.0); + result += mat4(0.18347421, -0.29010707, 0.29127017, 0.087738656, 0.17509815, 0.03982794, 0.1731455, 0.38041735, 0.110374, -0.25045586, 0.36446962, 0.016104888, -0.012112869, 0.10154983, -0.45384112, -0.11416608) * go_1(-1.0, 0.0); + result += mat4(-0.033837743, -0.020894403, -0.287127, -0.21196121, -0.03255823, 0.2599821, -0.38386443, 0.30563655, 0.39044768, -0.112917066, -0.021323297, 0.12623324, 0.06885038, -0.20750642, 0.07642818, -0.103580445) * go_1(-1.0, 1.0); + result += mat4(0.1723114, -0.3726216, -0.21184283, 0.1761503, -0.24993578, -0.31068864, 0.19998416, -0.23127908, -0.052656204, -0.04243976, 0.4397144, 0.01863219, -0.04796025, -0.11009142, -0.0073631364, 0.2716381) * go_1(0.0, -1.0); + result += mat4(0.04202001, 0.27142277, -0.027491128, 0.27428457, -0.11009916, 0.39839938, -0.7223327, -0.124673314, 0.08123618, -0.11884722, -0.20375855, -0.7179687, 0.30648115, -0.28195357, -0.3350774, -0.29778734) * go_1(0.0, 0.0); + result += mat4(0.071278594, -0.09155223, 0.06417857, 0.08250104, -0.45117077, -0.023316784, 0.38917172, -0.19110887, -0.09265943, -0.2643835, -0.09707039, -0.33238646, -0.0818088, 0.17623149, -0.28457013, 0.13986786) * go_1(0.0, 1.0); + result += mat4(0.019971045, -0.046649583, -0.03036858, 0.07944429, 0.26344573, 0.054998036, 0.07139812, 0.21139374, 0.08021858, -0.025791258, -0.0423707, 0.25174072, -0.021300986, 0.13209766, 0.19120613, 0.3840775) * go_1(1.0, -1.0); + result += mat4(-0.11456406, -0.33503455, 0.21409267, -0.056933913, -0.12204284, -0.37379473, 0.33474764, 0.38634798, 0.12618992, 0.1353635, -0.22651522, -0.3160159, 0.18621005, 0.024818055, -0.11935204, 0.014005666) * go_1(1.0, 0.0); + result += mat4(0.1501391, 0.0014716414, -0.22049955, -0.10928345, -0.07085164, -0.08778668, 0.19251469, -0.4932493, 0.071784936, -0.06903646, -0.060333923, 0.020552203, -0.33637995, -0.22848415, 0.21518159, 0.23815839) * go_1(1.0, 1.0); + result += mat4(-0.04230713, -0.19312756, -0.0613665, 0.058912925, -0.17639293, -0.029920885, -0.027867602, -0.16602923, 0.10262268, -0.0743682, 0.15286638, 0.08042581, -0.042299524, 0.0022034592, 0.15304253, 0.049871147) * go_2(-1.0, -1.0); + result += mat4(0.004346093, -0.07895582, 0.02089975, 0.13429636, -0.1020282, 0.5270822, 0.017983409, 0.1531299, -0.02891241, -0.07050933, -0.18729019, 0.13855362, -0.11538968, 0.20733222, 0.1546878, 0.11550679) * go_2(-1.0, 0.0); + result += mat4(0.21800312, 0.20944421, -0.1817274, 0.022868395, -0.019241469, 0.038916696, 0.088702604, 0.1467791, 0.0048542274, 0.10344671, -0.0107803065, 0.23302868, 0.049728952, -0.016042534, -0.08694045, -0.0028224774) * go_2(-1.0, 1.0); + result += mat4(-0.1570157, 0.08688841, 0.03926086, -0.040503077, -0.052700017, -0.1432353, -0.04516745, -0.09649034, -0.053716175, 0.07059194, -0.07360609, 0.26307717, 0.121471435, -0.13640986, -0.1113535, -0.38560814) * go_2(0.0, -1.0); + result += mat4(-0.014722592, -0.39773384, 0.28259715, -0.10905738, 0.07889424, 0.1415529, -0.15419348, -0.2064834, -0.15126482, -0.28288555, -0.0014232624, -0.26178944, -0.025823193, 0.008017357, -0.08547297, 0.26373458) * go_2(0.0, 0.0); + result += mat4(0.2978961, -0.020236012, -0.101216674, 0.15498216, -0.0069343713, -0.088363856, 0.20511419, 0.23958007, 0.045810107, -0.19189738, -0.14137349, 0.04177724, -0.1394684, 0.0071990825, 0.06991723, -0.21052721) * go_2(0.0, 1.0); + result += mat4(-0.05615232, 0.22506002, -0.12479586, -0.0070057763, 0.092545755, 0.096306436, 0.041890718, 0.1226944, -0.07541768, -0.08369033, -0.15144373, 0.09310172, 0.28388003, 0.09935607, 0.11299509, 0.0014283776) * go_2(1.0, -1.0); + result += mat4(-0.005848455, 0.117699094, 0.23539856, 0.11006195, 0.10962903, 0.28139547, 0.18785141, -0.11635996, 0.057289902, 0.2370178, -0.29825503, -0.13706475, -0.3869794, 0.024066223, 0.36742347, 0.35919484) * go_2(1.0, 0.0); + result += mat4(0.13744523, 0.09239356, 0.01173183, 0.119055405, -0.07841836, 0.0668925, 0.22598477, -0.016510552, 0.07971727, -0.17154713, 0.03333588, -0.13790733, 0.15421963, 0.2895701, -0.28440917, 0.015132756) * go_2(1.0, 1.0); + result += mat4(-0.054354303, 0.36663428, 0.02634933, 0.18688667, 0.0607547, 0.17321853, 0.086784445, -0.023283, 0.0027200899, 0.026914112, -0.07438439, 0.27042162, 0.09985293, 0.012430832, -0.20694605, -0.20363812) * go_3(-1.0, -1.0); + result += mat4(-0.42759168, 0.15540305, -0.18979609, 0.0073875943, 0.034251947, -0.34551802, 0.53327596, 0.17446762, -0.25879666, 0.2780996, 0.11094055, 0.17597, 0.13790102, 0.2615357, 0.09666047, 0.36155468) * go_3(-1.0, 0.0); + result += mat4(0.052614138, -0.1880028, 0.361331, 0.07957976, 0.12552904, -0.0042941784, 0.096562445, -0.041199915, 0.07412456, 0.16379668, 0.05464284, 0.050022952, -0.028281605, 0.09332573, 0.21379845, 0.21396561) * go_3(-1.0, 1.0); + result += mat4(-0.07546953, 0.16393837, -0.3060623, -0.64610606, -0.013715101, 0.18005042, 0.045286633, -0.21057944, -0.12779316, -0.10310629, 0.14360385, 0.011625261, 0.05597252, 0.023864657, -0.00018915108, -0.24224915) * go_3(0.0, -1.0); + result += mat4(-0.08550672, 0.2438917, -0.30383766, -0.2463794, 0.13835424, -0.079946786, -0.060197506, 0.051599402, -0.24983203, -0.06691107, -0.0041784844, 0.07539119, -0.030340329, -0.23565106, -0.17968354, -0.10262371) * go_3(0.0, 0.0); + result += mat4(0.19315718, -0.045718513, 0.120446794, -0.225136, 0.22922774, -0.046026126, 0.11448238, 0.114267804, -0.22327735, -0.03368635, 0.29763463, 0.03673529, -0.0583939, -0.092253424, 0.045279544, 0.04475646) * go_3(0.0, 1.0); + result += mat4(-0.062286656, -0.06241419, -0.23600577, -0.24818502, -0.058666106, 0.17710151, -0.1751668, 0.05758226, 0.18278669, 0.033297777, 0.046349872, 0.09178792, -0.0745512, 0.20019765, 0.037281513, 0.22204825) * go_3(1.0, -1.0); + result += mat4(-0.24708512, -0.1318695, -0.24966322, -0.31206796, 0.079176836, 0.11837155, -0.12882641, -0.01013533, -0.009065797, 0.0789075, 0.016151598, 0.00020127615, 0.1450729, 0.10825556, 0.09322918, 0.07283566) * go_3(1.0, 0.0); + result += mat4(0.2604332, 0.25550258, 0.07709474, 0.28426003, 0.10387355, 0.09152259, 0.18742633, -0.0073229484, -0.20327723, -0.26013616, 0.055792782, -0.1713302, 0.14862068, 0.06698207, 0.17608787, -0.11622757) * go_3(1.0, 1.0); + result += vec4(-0.20551574, 0.073114716, -0.21843387, -0.28057778); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!SAVE conv2d_7_tf1 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.18413043, -0.12355504, 0.2708789, 0.17259507, -0.069752574, 0.12640886, 0.01075919, -0.028221423, -0.020598855, -0.17259665, 0.16907778, -0.10040477, 0.017177016, 0.0176426, 0.23724149, 0.14657862) * go_0(-1.0, -1.0); + result += mat4(0.16921899, -0.33950835, 0.37508205, 0.09996622, 0.13377811, -0.036743056, -0.11633877, -0.23046862, -0.009307903, 0.027441062, 0.054166224, 0.011627087, -0.22831611, 0.043198805, -0.12695734, 0.0062862337) * go_0(-1.0, 0.0); + result += mat4(0.17216596, -0.15588646, -0.14179194, 0.12487524, 0.10507964, 0.124544986, -0.0046104924, -0.116668865, -0.006100901, -0.022074439, 0.03376759, 0.10498887, 0.109659016, -0.03567928, 0.29972833, -0.045950003) * go_0(-1.0, 1.0); + result += mat4(-0.29127, 0.21912472, 0.16494286, 0.027708547, 0.043136686, 0.04409876, -0.07686145, -0.13180132, -0.16630307, 0.15650205, -0.005864527, 0.03916553, 0.15750135, 0.1705246, 0.21626697, 0.06906506) * go_0(0.0, -1.0); + result += mat4(0.055395894, 0.28228188, 0.114794776, 0.020619212, -0.031812593, 0.11964309, -0.24317431, -0.36277202, 0.54564184, -0.032843567, -0.118973784, -0.40999004, -0.118530475, 0.09256661, 0.06583871, -0.36627474) * go_0(0.0, 0.0); + result += mat4(0.17914769, 0.33976436, -0.11220768, 0.1325754, 0.40586957, 0.3064959, -0.19086123, 0.014164092, -0.17376979, -0.0037554938, 0.11771888, 0.44933778, -0.15937245, -0.10635065, 0.084963776, 0.14630255) * go_0(0.0, 1.0); + result += mat4(-0.3723194, 0.21509883, 0.020062352, 0.094394304, 0.030794155, -0.11394617, -0.09103134, -0.0042343247, -0.28981096, -0.061873477, -0.17772584, 0.36440176, 0.007828069, -0.012121627, 0.25862312, 0.24646287) * go_0(1.0, -1.0); + result += mat4(0.10368119, -0.06185447, -0.022830853, 0.10918094, 0.18888599, -0.09235343, -0.055134308, -0.2210923, 0.15334128, -0.3084707, 0.31606838, 0.39931116, 0.29489174, -0.24794856, -0.4799932, -0.2617589) * go_0(1.0, 0.0); + result += mat4(0.32550937, -0.17103608, 0.3257806, -0.23358762, 0.20370598, 0.13325407, -0.020303056, -0.105462655, -0.22264756, -0.034177396, 0.36885822, 0.20504399, 0.36375418, -0.26149705, 0.022433946, 0.15646128) * go_0(1.0, 1.0); + result += mat4(0.007481421, 0.005642636, -0.170087, -0.08915849, 0.6329519, 0.06880098, -0.20856442, -0.1801066, -0.1342754, 0.13643123, 0.26994216, -0.27503812, 0.018052012, 0.058687408, -0.19784917, 0.021157453) * go_1(-1.0, -1.0); + result += mat4(-0.1486918, 0.12212738, -0.03104796, 0.08664756, 0.3464865, 0.27309546, -0.022896903, -0.32080007, -0.28113958, 0.74847424, -0.33735126, -0.04616876, -0.23119605, 0.4214322, -0.16457441, 0.09162191) * go_1(-1.0, 0.0); + result += mat4(0.15863913, 0.1303683, -0.06339421, 0.06328312, -0.3100047, -0.33906308, 0.13805804, -0.14923394, 0.4997829, -0.14977637, 0.02265068, -0.04585939, 0.29802153, 0.3767994, -0.031849556, -0.051892217) * go_1(-1.0, 1.0); + result += mat4(-0.04541847, -0.13645087, 0.14119779, 0.06409465, -0.29877988, -0.0009743694, 0.028256422, 0.14978185, -0.13014801, -0.24171488, -0.10782599, 0.010709664, 0.21880737, -0.34132662, 0.22972895, -0.07159475) * go_1(0.0, -1.0); + result += mat4(-0.1510528, 0.115773134, 0.036761034, -0.284284, -0.35684052, 0.16348189, -0.105475456, 0.08259931, -0.6489164, -0.033928663, -0.04243186, 0.25324553, -0.31829014, 0.066608824, -0.11131264, 0.51919967) * go_1(0.0, 0.0); + result += mat4(-0.06517726, 0.1933327, 0.044391852, -0.013346896, -0.3033368, 0.106350735, -0.1351003, -0.13414839, 0.11720078, -0.24844061, -0.2900742, -0.047861837, 0.42789885, -0.47915378, -0.09643217, -0.22915216) * go_1(0.0, 1.0); + result += mat4(0.109821886, 0.31451595, 0.13300805, -0.08792569, -0.023928089, -0.038061168, 0.17821129, 0.003772247, 0.14684688, -0.12646271, 0.16072205, 0.011095222, 0.09209181, 0.005167038, -0.08823252, 0.079890974) * go_1(1.0, -1.0); + result += mat4(-0.20074554, 0.39979288, -0.007316405, -0.047838025, 0.10849111, -0.22469573, -0.059183244, -0.13663793, 0.07881898, 0.105663374, -0.3152222, 0.08104766, -0.22965154, 0.118780024, -0.07886757, 0.073527716) * go_1(1.0, 0.0); + result += mat4(0.1304303, 0.023158893, -0.081089824, -0.15955788, 0.42183343, -0.12898655, -0.14028409, 0.011985, 0.3977131, -0.313598, -0.148818, -0.048350018, -0.13534498, -0.12760727, -0.014968193, 0.06646305) * go_1(1.0, 1.0); + result += mat4(0.18085147, -0.11859402, 0.117530234, -0.10420847, 0.1848264, -0.12192718, -0.18729533, -0.10098887, 0.011134682, -0.23658146, 0.12963286, 0.117404245, 0.054487415, -0.030003065, -0.32175776, -0.08044254) * go_2(-1.0, -1.0); + result += mat4(-0.07251758, 0.073430285, -0.22191651, 0.030512359, -0.029650904, -0.15816379, 0.0418705, 0.04776615, -0.014070836, -0.14669086, -0.009874937, -0.015444495, -0.2747725, -0.061624944, -0.11261252, 0.14757589) * go_2(-1.0, 0.0); + result += mat4(-0.09274913, 0.046194065, 0.05642919, -0.07803342, 0.23578037, 0.01224276, 0.015608659, 0.05847865, -0.091819406, -0.14424564, -0.034869857, 0.019276984, -0.031180726, -0.21905676, 0.100375675, -0.13659117) * go_2(-1.0, 1.0); + result += mat4(-0.072157644, -0.13294607, 0.24301524, 0.048643183, -0.04338094, -0.0021709928, -0.06530963, -0.22672611, 0.07479903, 0.08388352, -0.07460508, -0.14517406, -0.072923675, -0.26912874, -0.2769797, 0.054033212) * go_2(0.0, -1.0); + result += mat4(-0.5648679, -0.28059873, -0.039906785, -0.39112374, -0.3841447, -0.20383365, 0.12607281, 0.16049421, -0.34394273, -0.022326993, 0.16646549, -0.23433913, 0.071224056, 0.048073303, 0.122035526, 0.14941359) * go_2(0.0, 0.0); + result += mat4(-0.11803124, 0.114169255, 0.018188128, 0.0053847185, -0.07537228, -0.048262373, 0.073838905, -0.041833423, 0.044405136, -0.03813592, 0.076818384, -0.06015139, -0.085042655, -0.14306667, -0.21477652, 0.31548396) * go_2(0.0, 1.0); + result += mat4(0.19307283, -0.014985916, -0.14332882, -0.05549754, 0.14551677, 0.11406769, 0.2744144, -0.031179624, 0.17578745, -0.11309805, 0.010072839, -0.07453384, -0.23163621, 0.19061968, 0.11016298, 0.108093746) * go_2(1.0, -1.0); + result += mat4(0.23180474, -0.12522835, -0.03218773, -0.0031955864, -0.14057393, 0.07269213, -0.20883523, 0.09332164, -0.16037942, 0.25845763, -0.002303125, -0.014625506, 0.17063208, -0.11648214, 0.13988028, -0.024688654) * go_2(1.0, 0.0); + result += mat4(0.043369994, 0.12473897, 0.108142346, 0.10268199, 0.16159926, -0.17804666, -0.007889351, 0.07232418, 0.26326916, 0.0474316, -0.41637155, -0.11879895, 0.14051722, 0.08747377, 0.1162202, -0.06443569) * go_2(1.0, 1.0); + result += mat4(0.0041097966, 0.109841965, 0.097240336, 0.08123332, -0.081065506, 0.12650634, 0.23450434, 0.09631333, 0.21942414, -0.108897425, -0.033703003, 0.047280088, -0.017764917, -0.058596086, -0.15305139, 0.09055131) * go_3(-1.0, -1.0); + result += mat4(0.26824722, 0.014116421, 0.11844865, -0.156046, 0.057152968, 0.21287468, -0.3243975, -0.18181354, -0.07131152, -0.17860547, 0.18918999, 0.15399154, 0.20270234, 0.11524436, 0.05146645, -0.18196748) * go_3(-1.0, 0.0); + result += mat4(-0.2745638, -0.026905773, 0.045458756, 0.22942849, -0.21052304, 0.20649272, -0.03713028, 0.33655703, -0.12467089, -0.015030098, 0.15504798, -0.05647672, 0.18751477, 0.08505986, 0.04756538, -0.058810517) * go_3(-1.0, 1.0); + result += mat4(0.1737789, 0.06552432, -0.34797582, -0.05370679, -0.036056817, 0.085242435, -0.12802805, 0.03710984, -0.09883285, 0.08946925, -0.0446528, 0.07734006, -0.10973603, 0.262812, 0.14010249, -0.1543792) * go_3(0.0, -1.0); + result += mat4(0.316673, -0.16414417, -0.23147403, -0.3080756, -0.056620106, -0.11389848, 0.0948114, 0.13236332, -0.40048537, -0.090742044, 0.12090404, 0.024549136, -0.19124876, -0.3007761, 0.16159211, -0.28620452) * go_3(0.0, 0.0); + result += mat4(0.032962102, -0.05481415, -0.1185786, 0.18153866, -0.2105442, -0.03802839, 0.14060515, 0.072460145, -0.1523761, -0.11426362, 0.02610123, -0.053477813, -0.20768824, 0.04533907, 0.14381588, -0.041578818) * go_3(0.0, 1.0); + result += mat4(-0.021694858, -0.028784249, -0.09928565, 0.07335764, 0.1315628, 0.11288982, 0.078681685, -0.1229723, -0.09618894, -0.07387309, 0.04340066, -0.036534667, 0.37295115, -0.08176548, -0.16579813, -0.13485877) * go_3(1.0, -1.0); + result += mat4(0.45979, -0.289226, -0.15456465, 0.0117592, 0.22803205, 0.15497394, -0.38995707, 0.005227681, -0.20515667, 0.17184737, -0.069968715, -0.24724679, -0.048521046, 0.013277072, 0.049562644, -0.05522196) * go_3(1.0, 0.0); + result += mat4(0.14561136, -0.18995416, 0.18104567, 0.063063085, -0.09728072, 0.018328888, -0.17258182, 0.069259025, 0.15187183, 0.16760696, -0.14086077, 0.013297849, -0.07579904, -0.09294852, -0.24227127, -0.048749007) * go_3(1.0, 1.0); + result += vec4(0.31939298, 0.03303962, -0.010749771, 0.084496394); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-Soft-(VL)-Conv-3x1x1x112 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_7_tf +//!BIND conv2d_7_tf1 +//!SAVE MAIN +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +#define g_0 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_1 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_5 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_8 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_9 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_10 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_14 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_16 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_17 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_18 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_20 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_21 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_22 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_24 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_25 (max((conv2d_7_tf1_tex(conv2d_7_tf1_pos)), 0.0)) +#define g_26 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_7_tf1_tex(conv2d_7_tf1_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.121882804, 0.055417646, 0.037575886, 0.0, 0.040015355, 0.10440659, 0.120197006, 0.0, 0.008896276, 0.07269119, 0.09253319, 0.0, 0.009000448, -0.033739295, -0.059260685, 0.0) * g_0; + result += mat4(-0.048027042, 0.09210703, 0.123745404, 0.0, -0.007914943, 0.05483587, 0.054822505, 0.0, -0.005998682, 0.005822986, 0.009868176, 0.0, -0.05866792, -0.04236153, -0.022935968, 0.0) * g_1; + result += mat4(-0.091270015, -0.033997003, -0.012321896, 0.0, -0.037983265, -0.078790314, -0.085029654, 0.0, 0.10656225, 0.0008334142, -0.0041227583, 0.0, 0.077364065, 0.033960085, 0.029391684, 0.0) * g_2; + result += mat4(0.15057671, -0.037442014, -0.037083894, 0.0, 0.015493511, -0.016119987, -0.027061606, 0.0, -0.012329675, 0.0060544596, -0.019787522, 0.0, 0.12182345, 0.11346318, 0.08640806, 0.0) * g_3; + result += mat4(0.19254518, 0.009179287, 0.023821035, 0.0, 0.020269603, 0.025629226, 0.040180814, 0.0, -0.025135614, -0.07785793, -0.099851295, 0.0, -0.122886, 0.03322616, 0.0509256, 0.0) * g_4; + result += mat4(0.060054794, 0.053996198, 0.047226787, 0.0, 0.038959846, -0.025839888, -0.030583512, 0.0, -0.034999896, 0.011966571, -0.011057454, 0.0, 0.05765179, -0.041760337, -0.0694113, 0.0) * g_5; + result += mat4(-0.20393562, -0.0055942894, -0.02089636, 0.0, 0.14781304, -0.01954523, -0.0746086, 0.0, 0.071556985, 0.07512172, 0.067927115, 0.0, 0.084076844, -0.0561336, -0.06856403, 0.0) * g_6; + result += mat4(-0.039552618, -0.04448951, -0.04170605, 0.0, -0.00886809, 0.06708884, 0.07120977, 0.0, 0.04834384, -0.10599933, -0.11024835, 0.0, -0.015948117, 0.084044695, 0.10778199, 0.0) * g_7; + result += mat4(0.050153337, 0.012563414, 0.014994658, 0.0, 0.10498867, 0.07151875, 0.06761489, 0.0, 0.061650798, -0.035183728, -0.050987806, 0.0, 0.0017240314, 0.041055307, 0.020366805, 0.0) * g_8; + result += mat4(0.110105395, -0.044468552, -0.072567016, 0.0, -0.049364448, -0.015713394, -0.021540897, 0.0, -0.01636263, -0.084110685, -0.08281401, 0.0, -0.08940374, 0.047863875, 0.051104594, 0.0) * g_9; + result += mat4(-0.081597924, 0.002422661, 0.01143175, 0.0, -0.07504751, -0.09938017, -0.1063178, 0.0, -0.10390281, 0.0262197, 0.060155805, 0.0, -0.24289346, -0.0054961476, 0.045964316, 0.0) * g_10; + result += mat4(-0.1829316, 0.047622137, 0.07963877, 0.0, 0.048703995, -0.0026299425, -0.003712008, 0.0, 0.029338706, 0.096882835, 0.102083966, 0.0, 0.078538164, -0.07247937, -0.06820231, 0.0) * g_11; + result += mat4(-0.02302231, -0.035528302, -0.030674051, 0.0, 0.029780716, 0.031591274, 0.045867007, 0.0, 0.01335752, 0.037001595, 0.04351411, 0.0, -0.11126892, 0.038589563, 0.06444906, 0.0) * g_12; + result += mat4(0.0047764573, -0.063372664, -0.065609895, 0.0, 0.0478139, 0.025694113, 0.025097322, 0.0, -0.1019169, 0.029989049, 0.050038517, 0.0, 0.07504127, -0.017047737, -0.026222635, 0.0) * g_13; + result += mat4(0.0024485083, 0.00640911, 0.008171829, 0.0, -0.014622121, -0.06078096, -0.0800138, 0.0, -0.0062360805, -0.014344496, -0.021332184, 0.0, 0.117842786, -0.103745885, -0.13756834, 0.0) * g_14; + result += mat4(-0.01942775, 0.08720701, 0.104858086, 0.0, -0.05545872, -0.041375194, -0.035368554, 0.0, 0.080331706, -0.021207837, -0.043905254, 0.0, -0.12515299, 3.445463e-05, 0.018742712, 0.0) * g_15; + result += mat4(0.013106969, 0.010379314, 0.012753471, 0.0, 0.07086715, -0.020893, -0.03968904, 0.0, -0.06114372, 0.029510446, 0.035070244, 0.0, 0.11180839, -0.087067656, -0.124039896, 0.0) * g_16; + result += mat4(-0.056521703, -0.001166792, -2.3704073e-05, 0.0, 0.011961608, 0.01848977, 0.019861937, 0.0, 0.012167056, 0.018613879, 0.020505793, 0.0, 0.009734187, -0.0308419, -0.035206888, 0.0) * g_17; + result += mat4(0.0048758825, 0.018046578, 0.014597015, 0.0, -0.061724614, 0.040989272, 0.05644141, 0.0, 0.070315465, 0.008318584, 0.0028647361, 0.0, -0.11316492, 0.043919202, 0.07653594, 0.0) * g_18; + result += mat4(0.031487904, -0.010548384, -0.009984509, 0.0, -0.0022647562, 0.0043304027, 0.0029451603, 0.0, -0.0063251094, -0.013420807, -0.011919729, 0.0, -0.022760967, 0.019141173, 0.01782793, 0.0) * g_19; + result += mat4(0.023055293, 0.028219413, 0.024810018, 0.0, 0.031653803, 0.050207954, 0.04504577, 0.0, 0.03877294, 0.0280465, 0.025589157, 0.0, 0.0019387804, 0.023891818, 0.016049948, 0.0) * g_20; + result += mat4(0.006562233, 0.03880659, 0.037682824, 0.0, -0.021441424, -0.011277022, -0.012471097, 0.0, -0.030526241, -0.013880651, -0.014213582, 0.0, 0.0075785257, -0.0017350517, -0.0024610942, 0.0) * g_21; + result += mat4(0.015097556, 0.020325955, 0.015611413, 0.0, -0.014755199, -0.034323387, -0.032325987, 0.0, -0.008603291, 0.010346807, 0.011044969, 0.0, -0.004739154, -0.026397636, -0.01995132, 0.0) * g_22; + result += mat4(0.0097906375, -0.015094543, -0.016887931, 0.0, -0.0007786067, -0.0069163437, -0.008449091, 0.0, 0.025534432, 0.018064791, 0.017047096, 0.0, 0.00055667467, 0.001493328, 0.003636564, 0.0) * g_23; + result += mat4(-0.042251963, -0.042396102, -0.040224236, 0.0, -0.004492444, -0.0069470624, -0.0065821502, 0.0, 0.062203273, 0.06213223, 0.053592753, 0.0, 0.06424337, 0.07964681, 0.07316769, 0.0) * g_24; + result += mat4(0.026366957, 0.02789826, 0.027239393, 0.0, -0.006712127, -0.0035723334, -0.0032348586, 0.0, -0.04960562, -0.062758155, -0.058574595, 0.0, -0.02896146, -0.020999067, -0.021301663, 0.0) * g_25; + result += mat4(-0.013106142, -0.017057793, -0.014653614, 0.0, -0.04254173, -0.043040022, -0.041918345, 0.0, -0.011146975, -0.0043820064, -0.003768677, 0.0, -0.0027743059, -0.0114479, -0.0082087545, 0.0) * g_26; + result += mat4(-0.10087762, -0.10447133, -0.1005168, 0.0, -0.04165659, -0.04558967, -0.040086865, 0.0, 0.0016493691, 0.0055392827, 0.0070476984, 0.0, -0.018665023, -0.035552308, -0.03375731, 0.0) * g_27; + result += vec4(0.018580848, -0.022256816, -0.0266178, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_UL.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_UL.glsl new file mode 100644 index 0000000..517fda5 --- /dev/null +++ b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_UL.glsl @@ -0,0 +1,1704 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.28293434, -0.10095658, -0.013867814, 0.08509398, -0.31489053, -0.26828897, 0.01152665, 0.18905516, -0.23013242, -0.18878274, -0.17923735, -0.32707638, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.3519405, -0.12639853, 0.0981044, -0.23800656, -0.1666394, 0.2548722, -0.09458217, 0.17642984, -0.0016840132, -0.12355663, -0.13711694, 0.25234836, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.14581299, -0.060752276, 0.06813433, 0.32616982, -0.29410994, 0.28217724, -0.2221963, -0.051627193, 0.10754401, 0.31993762, 0.25542948, -0.4268778, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.2716687, -0.13160354, -0.056812827, -0.00881874, 0.3249303, 0.05037425, -0.117648534, -0.26370025, 0.032854702, -0.14214379, 0.10036965, 0.17808898, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.004323515, 0.37651265, -0.39865002, -0.18153298, 0.5224921, -0.11810103, 0.56151056, -0.063698344, -0.17272837, -0.053013492, 0.062254835, 0.28695017, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.2776938, 0.22578415, 0.110299006, 0.27424663, 0.012712999, -0.22353122, -0.0010140019, 0.08163494, 0.3611274, 0.014346184, -0.26426178, -0.26777005, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.09010997, 0.19958799, 0.22421049, 0.054506898, -0.11822318, 0.23656984, 0.11197124, -0.4646639, 0.17118955, 0.33748102, 0.20479581, 0.6810799, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.2121316, -0.08664465, 0.2507115, -0.223455, 0.22042283, -0.20352642, 0.42714027, -0.5048447, -0.10270271, 0.11400399, -0.019575266, 0.40490857, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.091496244, -0.24679382, -0.3801941, -0.08482344, -0.17183328, -0.09308921, -0.059639163, 0.3321586, -0.19797249, -0.17941834, 0.015049101, -0.13793056, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.02313247, 0.016216148, -0.053347506, -0.023317637); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.44157687, 0.1715858, -0.11000502, 0.062367063, 0.21790773, 0.15507151, 0.14760862, -0.2598815, 0.14098467, 0.14019097, -0.26298222, 0.10975315, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.15774319, -0.16769339, -0.49734345, -0.3935963, 0.115124024, -0.08045373, 0.55867237, 0.48593813, 0.058544844, -0.2705686, 0.3303555, 0.4181385, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.16588609, -0.013389144, 0.06600297, -0.09309111, -0.36321074, -0.13877828, 0.4099233, 0.20805255, 0.31892648, 0.16856939, -0.23898357, 0.11751563, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.39999864, 0.46407622, -0.12249342, -0.09798957, 0.122675434, 0.18265116, 0.030651823, 0.14682484, -0.42969155, 0.2486042, 0.13566706, -0.13458017, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.12757893, -0.19025628, -0.16728874, -0.10162156, -0.1577721, -0.174548, 0.29329458, 0.17963637, -0.43279588, 0.088979766, 0.06334896, -0.047701746, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.14359929, -0.12800618, -0.15429202, 0.034745168, 0.15794043, -0.086441815, -0.06520017, 0.26176664, -0.022253495, -0.34480432, -0.009120493, 0.08706416, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.1994137, 0.070990525, 0.3388379, 0.37502727, -0.116911314, 0.2160554, -0.1831974, -0.04184975, 0.2545874, -0.083908126, -0.19057468, -0.13382773, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.46475947, -0.23414738, -0.036689937, 0.018558737, -0.32609373, 0.15265512, -0.055894423, -0.3676328, 0.24501368, 0.12390915, 0.13458043, -0.30162823, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.12621075, 0.046852987, 0.17333286, 0.18997045, 0.3245911, -0.28809196, -0.3660882, -0.5916272, -0.11456223, -0.030912774, 0.17037971, -0.12640971, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.42778614, 0.054881692, -0.23388587, -0.031204376); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf2 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.18228084, 0.25933146, 0.1764313, 0.23183075, -0.061067093, 0.34710985, -0.1785006, -0.06471029, -0.23235676, -0.43409523, -0.06639704, 0.30396065, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.31676784, 0.21897513, 0.06466065, 0.42289257, 0.12306216, -0.3928633, 0.09720577, -0.10426061, -0.030383142, 0.03775265, 0.34221298, 0.3827705, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.13229136, 0.37214845, -0.07046923, -0.17644346, 0.5591967, -0.5409525, 0.08944645, -0.047717415, 0.3754216, 0.2979604, -0.14149979, -0.1743562, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.07603316, 0.10389099, 0.07042061, 0.24759614, 0.05822713, 0.29799607, -0.21219468, 0.3884128, -0.010661014, -0.5209726, 0.20311587, -0.39393, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.17486575, -0.22572622, -0.13514778, 0.12839775, -0.25754005, 0.13090849, -0.16364887, 0.37675568, -0.05928962, 0.049174402, -0.37935108, -0.14333783, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.15858985, -0.47485206, 0.4509964, 0.3877553, -0.04848657, 0.22396515, 0.33325925, -0.20703658, 0.14929648, 0.25580746, 0.2795224, -0.0158565, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.030926622, 0.16219522, -0.26666775, -0.27920142, -0.2693319, -0.29130983, -0.2795281, 0.22597994, 0.32512712, 0.16784063, -0.0113234315, -0.10118217, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.32426193, 0.0072339224, 0.08070994, -0.07735796, -0.09247539, 0.23327915, 0.09039661, -0.11836084, -0.2726992, -0.16031814, -0.28027415, -0.029263943, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.20109104, -0.43383566, -0.33850962, -0.13422257, 0.040343326, -0.0819253, 0.26943803, -0.46652415, -0.3474102, 0.41198114, 0.14404535, 0.076806836, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.032911904, -0.0050934837, 0.021853646, -0.17256187); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.08648221, 0.012940912, 0.0694797, 0.021795172, 0.19547985, 0.019256733, -0.099714816, 0.08773751, 0.06443286, 0.08462334, 0.02924696, -0.07673487, 0.061156925, 0.12037308, -0.04778231, 0.010492923) * go_0(-1.0, -1.0); + result += mat4(0.00033161003, -0.19050376, -0.14713565, -0.20729654, -0.122199036, 0.0044957534, 0.19240627, -0.1515226, 0.05051369, -0.08790857, -0.05331543, -0.13356556, -0.019020412, 0.06989371, -0.07270814, 0.06541199) * go_0(-1.0, 0.0); + result += mat4(0.086689815, 0.08965917, 0.38167384, 0.31010604, 0.04204608, 0.095588356, -0.22810745, 0.112243816, 0.016992478, -0.16491304, -0.08901814, -0.038421903, -0.00041658967, -0.03551529, 0.097966395, -0.06240607) * go_0(-1.0, 1.0); + result += mat4(0.13955353, -0.27422932, 0.14655617, -0.07651906, -0.07335902, -0.05214342, 0.35741827, 0.043639295, 0.041774176, -0.08277867, -0.028840896, -0.14434154, 0.029840615, -0.1444494, 0.0417388, -0.05095746) * go_0(0.0, -1.0); + result += mat4(-0.06985613, 0.036354948, -0.22372876, -0.268865, -0.07852222, -0.20930836, 0.06419149, 0.19363879, -0.00020227236, 0.04876036, 0.16503128, -0.05324255, 0.06806321, 0.2646995, -0.04032264, 0.06421368) * go_0(0.0, 0.0); + result += mat4(-0.16930926, 0.10122267, 0.0043684123, 0.14429477, -0.026909696, 0.028725943, 0.20114274, 0.09308162, -0.21070556, -0.13116634, 0.12419461, 0.29118228, -0.052020956, 0.18702126, 0.049802206, 0.09010561) * go_0(0.0, 1.0); + result += mat4(0.08972355, -0.076947, 0.2612936, 0.1700236, 0.21013896, -0.033608798, -0.16835962, -0.17834496, 0.050899435, -0.031109938, 0.066931866, 0.20528825, -0.024127234, -0.23103325, -0.14034404, 0.036399297) * go_0(1.0, -1.0); + result += mat4(0.058897257, 0.24295428, 0.5273254, -0.075384885, -0.03951092, 0.01945271, 0.2180824, -0.10192471, 0.04884028, 0.10811269, -0.056086104, -0.0177891, -0.15046783, -0.02886977, 0.012827891, -0.06317297) * go_0(1.0, 0.0); + result += mat4(0.08919534, 0.0142748635, 0.010994716, -0.116783954, -0.04848956, 0.12802334, -0.42647192, -0.047026183, -0.105416335, 0.014229579, -0.16081032, -0.1652654, 0.04367904, -0.21464449, 0.019457433, -0.053815585) * go_0(1.0, 1.0); + result += mat4(-0.033339895, -0.30358142, 0.03728797, -0.019257398, 0.041582108, -0.042878296, -0.16212925, 0.015385118, 0.1854467, -0.14912623, -0.10073306, 0.029578004, 0.0026831278, -0.1968894, -0.1447477, 0.013980874) * go_1(-1.0, -1.0); + result += mat4(0.097215526, -0.27501073, 0.14077966, 0.07402363, 0.14528856, 0.26862413, -0.23837885, -0.19667485, 0.052117366, 0.012212545, 0.1311111, -0.05480854, 0.02206756, -0.09732581, -0.095444106, -0.12949228) * go_1(-1.0, 0.0); + result += mat4(-0.0737551, -0.35384682, 0.13346575, -0.12573321, 0.12401249, -0.19727409, -0.022039715, -0.36438647, -0.17826872, -0.097721264, 0.10780637, -0.06372213, 0.078226656, -0.2319627, 0.06871096, -0.35198233) * go_1(-1.0, 1.0); + result += mat4(0.016558306, -0.10755727, 0.07563601, 0.10631563, 0.006885377, 0.1507541, 0.028258704, 0.1609311, -0.026250815, 0.033572774, -0.0988431, 0.19565049, 0.024507977, 0.16839874, -0.19923483, 0.08130833) * go_1(0.0, -1.0); + result += mat4(-0.061187252, 0.09036177, -0.12626763, 0.036544666, 0.10568191, 0.087079406, 0.08745061, -0.10461285, 0.15552549, 0.25184712, -0.026420163, 0.028266618, 0.2387882, 0.20997152, -0.08588654, 0.19732232) * go_1(0.0, 0.0); + result += mat4(-0.057315756, 0.04398266, -0.203559, -0.10253955, -0.0009475058, -0.0786754, -0.051641934, -0.4047696, -0.057758473, -0.04819636, 0.053755116, -0.13864025, -0.165071, -0.14622927, 0.16270354, -0.11281594) * go_1(0.0, 1.0); + result += mat4(-0.023654325, 0.113905154, 0.0714336, 0.11184515, 0.12235184, 0.081852525, 0.2880535, 0.1926254, -0.01012154, 0.08924707, -0.06123374, 0.33078554, -0.14329071, 0.043857813, -0.09043615, 0.029145587) * go_1(1.0, -1.0); + result += mat4(0.023949241, 0.10680816, -0.07771331, 0.0008638595, 0.00088304427, 0.00707631, -0.029150054, 0.20421802, -0.051493708, 0.3196773, -0.0046316544, -0.08402997, -0.0020283381, 0.092219375, -0.21898057, 0.043405924) * go_1(1.0, 0.0); + result += mat4(0.10192696, 0.22852643, 0.024926228, 0.004321374, 0.1759848, -0.05959089, 0.03108929, -0.04175589, -0.032808244, -0.002723809, 0.11427024, -0.11884058, 0.085039005, -0.11861457, -0.041716687, 0.0049884217) * go_1(1.0, 1.0); + result += mat4(-0.08531041, 0.031572983, -0.010317835, -0.058514126, -0.028372116, 0.3587181, 0.07155074, -0.018486004, 0.11271158, 0.12346037, 0.14474016, -0.091422975, 0.046279423, -0.19440787, -0.040767148, -0.11089926) * go_2(-1.0, -1.0); + result += mat4(-0.118612625, 0.036904, 0.040823236, 0.0006029242, -0.055478334, 0.065328576, -0.26563334, 0.14299026, 0.039150115, 0.17624554, 0.085402936, -0.007749703, 0.045554906, -0.051315133, -0.0989155, 0.023874454) * go_2(-1.0, 0.0); + result += mat4(-0.08904957, 0.13246936, -0.1362266, 0.075549126, 0.015976984, -0.078003414, 0.27895245, -0.1714908, 0.05061789, 0.05510105, -0.011142018, 0.13279557, 0.122630805, 0.12880847, 0.2334916, 0.450533) * go_2(-1.0, 1.0); + result += mat4(0.13635479, 0.12008325, 0.13332775, -0.1923403, 0.061475966, 0.12471921, 0.1438346, -0.30003113, 0.16227812, -0.011259031, -0.15664785, 0.082009956, 0.15664162, -0.14316271, 0.10871211, -0.23067066) * go_2(0.0, -1.0); + result += mat4(-0.17403863, -0.100490384, -0.056628566, 0.056505267, 0.03132433, 0.02990612, -0.023741463, -0.2221617, -0.023024872, -0.17946845, -0.014884968, 0.09488175, -0.08467482, -0.18569513, -0.08882533, -0.096383005) * go_2(0.0, 0.0); + result += mat4(0.036448594, 0.008876679, 0.082974724, -0.07486944, -0.1466638, -0.17435108, -0.08396226, 0.05346215, -0.13232903, -0.07391497, 0.19908291, 0.059030067, -0.017662045, 0.020650625, -0.20734224, 0.20043914) * go_2(0.0, 1.0); + result += mat4(-0.03861711, 0.06406407, 0.05915599, -0.0029750194, 0.046107147, -0.23294666, 0.019285874, 0.11214502, -0.05762434, -0.043726444, 0.010243058, -0.013164875, 0.033796065, -0.027231356, 0.18135343, -0.06158567) * go_2(1.0, -1.0); + result += mat4(-0.0061139134, 0.08773726, 0.05263668, -0.017488463, -0.021532185, -0.06330985, 0.03339514, 0.29500782, 0.19531941, -0.0625388, -0.0988155, 0.029160276, -0.14122078, -0.18272889, 0.035498794, -0.09119196) * go_2(1.0, 0.0); + result += mat4(0.21229745, -0.13745296, -0.02434639, 0.018458553, 0.1591066, 0.057361145, -0.034690984, -0.06146371, -0.2245296, -0.14576864, 0.053850707, -0.08887415, -0.17651638, 0.14863127, -0.07008009, 0.009406358) * go_2(1.0, 1.0); + result += mat4(-0.09558068, 0.08203744, 0.09736194, -0.08479601, -0.07671097, -0.13729817, 0.15081742, -0.107025385, -0.13094948, -0.11489214, 0.08040859, 0.18286897, -0.06001431, -0.16890974, -0.034702767, 0.06418509) * go_3(-1.0, -1.0); + result += mat4(-0.057768498, 0.121774144, 0.09370627, 0.04913383, 0.07690142, 0.0735232, 0.22072591, 0.023539443, 0.05777623, 0.32322824, 0.3281115, 0.08541682, 0.027571213, 0.08204197, -0.036617927, -0.11496138) * go_3(-1.0, 0.0); + result += mat4(0.10667931, 0.060036145, 0.17550562, 0.0036066761, -0.1475781, -0.0125017725, 0.1585272, -0.30022824, 0.020694837, 0.041336745, 0.34374732, 0.11649956, 0.0702352, 0.10661717, -0.018115027, 0.066765435) * go_3(-1.0, 1.0); + result += mat4(-0.031910367, 0.08394783, -0.12302906, 0.080788575, 0.056613773, 0.13485114, 0.14046827, -0.0015214924, -0.27299604, 0.043092493, 0.0110908365, 0.0120844785, 0.13837345, 0.14274547, -0.07037318, 0.073410094) * go_3(0.0, -1.0); + result += mat4(0.11933822, -0.019749384, -0.14604573, 0.23067194, 0.07458434, 0.19018115, -0.09794594, -0.028165665, 0.34246337, -0.15636346, 0.2909177, 0.049812693, 0.002857417, -0.15300918, 0.28885588, -0.017372042) * go_3(0.0, 0.0); + result += mat4(0.017289294, -0.034632802, 0.21390542, -0.010042412, -0.041615892, -0.08253338, -0.30123362, -0.19299945, 0.25370637, 0.093409844, -0.09362771, -0.17982802, -0.031628486, -0.09360746, 0.13314822, -0.034462616) * go_3(0.0, 1.0); + result += mat4(0.106429726, 0.016680025, -0.0529926, -0.17085713, -0.22584449, -0.07722329, 0.30886117, 0.10528744, 0.010045352, 0.099818386, -0.1433606, -0.24887395, -0.04677741, 0.113051936, -0.062035765, -0.03359467) * go_3(1.0, -1.0); + result += mat4(-0.10257249, -0.16084161, -0.058020744, 0.096825816, 0.19502446, -0.12214713, 0.078723475, 0.124732524, -0.15987179, -0.110849984, 0.1198203, 0.018647604, 0.114340924, -0.027776286, -0.07801131, 0.022275787) * go_3(1.0, 0.0); + result += mat4(0.20298952, -0.069290765, 0.018832127, -0.17501442, 0.32367796, -0.20510589, 0.15283914, 0.16110845, 0.23468657, 0.12490908, 0.0031354423, 0.33064207, -0.089915626, 0.16466871, -0.2302326, 0.008596628) * go_3(1.0, 1.0); + result += mat4(0.07267445, 0.13096274, -0.22805755, -0.03723183, 0.055223588, -0.005618507, -0.022076515, -0.07149474, -0.121041514, 0.22917031, 0.066897914, -0.07756685, 0.024709817, 0.009276744, 0.014564059, 0.057168677) * go_4(-1.0, -1.0); + result += mat4(0.12088462, -0.21629183, -0.01628627, 0.13085558, 0.09959188, -0.26857927, 0.099242754, -0.014361698, -0.06972168, 0.01484912, -0.14507025, 0.036060054, 0.010170308, -0.038049888, -0.009749429, 0.02627631) * go_4(-1.0, 0.0); + result += mat4(0.014381424, -0.08200522, 0.016342247, -0.05138454, -0.048430134, 0.14594877, -0.3555319, 0.031946313, 0.10650339, 0.18046476, -0.24730566, 0.1373742, -0.119868465, 0.09006262, -0.043326948, 0.14803706) * go_4(-1.0, 1.0); + result += mat4(0.041357175, 0.018529125, -0.10729679, -0.048498925, -0.10630771, -0.1541114, -0.033143718, -0.22726057, -0.07868649, -0.13653874, 0.17372914, -0.12425049, 0.20172423, -0.13046068, 0.043416902, 0.022640392) * go_4(0.0, -1.0); + result += mat4(0.0996741, -0.2517156, 0.19852571, -0.0021035601, 0.10721118, -0.05211148, -0.19747794, -0.09467657, -0.023530629, -0.3026388, 0.18776762, -0.083951, -0.23070371, -0.29687774, 0.19042933, 0.082099915) * go_4(0.0, 0.0); + result += mat4(-0.14246128, -0.11360154, 0.042512555, 0.050347224, 0.15101464, 0.096761174, -0.09809747, 0.18949512, 0.08265103, 0.10818854, -0.06522224, 0.20080575, 0.04467876, 0.16536511, -0.17993684, 0.00630444) * go_4(0.0, 1.0); + result += mat4(-0.06804489, -0.08932311, 0.11452633, -0.1371827, -0.038583722, -0.044566132, 0.11590918, 0.06928946, 0.09499521, -0.28891554, -0.039033752, -0.24065344, -0.008447823, -0.22869939, -0.1481265, -0.14827704) * go_4(1.0, -1.0); + result += mat4(-0.040538706, -0.16607454, 0.066053875, -0.13771453, -0.26502058, -0.090013534, 0.10899838, 0.035818875, -0.025965845, -0.38602746, 0.11832495, -0.05114795, -0.0024577992, -0.131609, 0.031598363, 0.03701916) * go_4(1.0, 0.0); + result += mat4(-0.058901474, -0.32447273, -0.009171959, 0.0660178, -0.060969505, 0.032002755, 0.1673554, 0.08129589, -0.027818324, 0.11499822, 0.047595307, 0.1351946, -0.10076986, 0.109632365, -0.15808961, -0.082471184) * go_4(1.0, 1.0); + result += mat4(0.11876087, 0.01871506, -0.15440665, 0.030330261, 0.0027066949, -0.14246738, 0.07165973, 0.01423915, -0.06284659, -0.21748444, -0.09141415, 0.0077323355, 0.0007271684, 0.1327971, 0.021298295, 0.029493187) * go_5(-1.0, -1.0); + result += mat4(-0.10310914, -0.07170663, -0.2685449, -0.15668112, 0.10965974, -0.027063346, 0.15944144, -0.16771634, -0.08454698, -0.12480185, 0.17647612, 0.17139068, -0.09694541, 0.14676706, 0.1353608, 0.11373892) * go_5(-1.0, 0.0); + result += mat4(-0.0808586, -0.02986483, 0.23335268, -0.05220655, -0.21456684, 0.089947656, -0.2306551, 0.23438993, -0.26377395, -0.00432009, -0.002377239, -0.0024554976, -0.11019007, -0.0772975, -0.119338326, -0.42517295) * go_5(-1.0, 1.0); + result += mat4(0.10294163, -0.024664093, 0.019653833, 0.034689307, 0.05632113, -0.31289428, -0.08254052, 0.13217352, 0.15772913, -0.09128828, -0.012524978, -0.06561359, -0.13107683, 0.23463258, -0.18762761, 0.22209615) * go_5(0.0, -1.0); + result += mat4(0.06301127, 0.12489633, 0.025658585, -0.09527329, 0.009095258, -0.2463554, -0.0047031543, 0.119088694, 0.14065374, 0.19576642, 0.26679346, 0.03845879, 0.13757762, 0.10764672, -0.046270162, -0.11690896) * go_5(0.0, 0.0); + result += mat4(-0.04519331, 0.002319274, -0.0704514, 0.029526047, 0.13251334, 0.2868927, -0.06838931, 0.11092056, 0.15345666, 0.16911614, 0.06869024, -0.03073747, 0.065442406, 0.018865792, 0.081815384, -0.20803072) * go_5(0.0, 1.0); + result += mat4(0.06323602, -0.010242011, 0.10209268, -0.04929, -0.006704608, 0.30939466, 0.1744392, -0.10929571, -0.493058, -0.13673118, -0.12486283, -0.41315997, -0.036514506, 0.0937269, -0.16995876, 0.15627468) * go_5(1.0, -1.0); + result += mat4(-0.13764359, -0.028645532, 0.006338959, 0.058005866, 0.08327983, 0.17576805, 0.17758359, -0.16738725, -0.26176876, 0.07402525, -0.02212828, 0.16919926, 0.3348425, 0.032946147, 0.09707724, 0.10009711) * go_5(1.0, 0.0); + result += mat4(-0.2091657, 0.068191156, 0.09357867, -0.05217846, -0.1104997, 0.05062617, 0.016883407, -0.053662494, 0.24314725, 0.19810323, -0.065943204, 0.25030002, 0.08373754, -0.16690144, 0.03141188, -0.101124324) * go_5(1.0, 1.0); + result += vec4(-0.08736043, 0.2861529, -0.005863071, -0.004482026); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!SAVE conv2d_1_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.04347682, -0.042527717, 0.057372455, 0.25276724, -0.057298373, 0.16023909, 0.21286428, -0.022668337, -0.21247427, -0.14335708, 0.19040126, 0.08368367, 0.0033008587, 0.03252031, -0.1777948, -0.082336985) * go_0(-1.0, -1.0); + result += mat4(-0.12568378, -0.08425814, 0.004957988, -0.12844385, 0.055799566, 0.21515216, -0.20364483, -0.05265174, -0.011742827, -0.053792574, -0.15443824, 0.007910115, -0.045762774, 0.03763922, 0.014743974, -0.07495264) * go_0(-1.0, 0.0); + result += mat4(0.095623426, 0.118021496, -0.3646953, 0.22952312, -0.06988015, 0.07823983, 0.10331074, 0.18235193, 0.10575183, 0.017832384, 0.099051595, -0.16202737, -0.065919116, -0.027154202, 0.19286686, -0.41187564) * go_0(-1.0, 1.0); + result += mat4(-0.18027067, -0.15459284, -0.5194294, 0.15895993, -0.19545266, 0.11350413, 0.08665067, 0.053280413, -0.07407145, -0.04798788, -0.13345626, 0.1258462, 0.047066033, -0.040642574, 0.08591159, -0.10039696) * go_0(0.0, -1.0); + result += mat4(-0.080157764, 0.22366004, 0.17739227, 0.033781976, -0.045201484, -0.047641475, -0.07896631, -0.08679443, 0.10642969, 0.06992287, 0.041175313, -0.16435929, 0.15798622, -0.004883945, 0.08247824, -0.056977544) * go_0(0.0, 0.0); + result += mat4(-0.05262759, 0.015417186, 0.108641304, 0.005705979, -0.013303744, -0.016400715, -0.24967128, -0.13471037, 0.07906222, 0.07200451, 0.12428817, -0.05694691, -0.022635266, -0.08490837, -0.01682493, 0.08025121) * go_0(0.0, 1.0); + result += mat4(0.4013514, -0.09885115, -0.13964225, 0.0066076894, 0.035656366, -0.061563164, 0.005582264, 0.03445424, -0.0898461, 0.07694695, -0.06430643, 0.26156837, -0.045181878, -0.16155554, -0.008806556, 0.023297746) * go_0(1.0, -1.0); + result += mat4(0.014314168, 0.03040408, 0.079562426, 0.104040965, 0.15035652, -0.11237077, -0.04587703, 0.0664186, 0.011188344, 0.27792045, 0.03491885, 0.047752786, -0.02133782, 0.19199622, 0.03265004, 0.112835735) * go_0(1.0, 0.0); + result += mat4(-0.22900657, 0.19636537, 0.024062308, 0.004805258, 0.19197865, -0.26876372, 0.22812407, -0.13273205, 0.1163973, -0.016603881, 0.11751584, 0.07571751, -0.016665185, -0.020726109, -0.15382238, -0.05721929) * go_0(1.0, 1.0); + result += mat4(0.047688257, -0.04328092, 0.00020037305, -0.0030449564, 0.21016575, -0.3156827, 0.109759815, -0.012477153, -0.037765514, -0.19186607, 0.11098016, -0.122981705, 0.030443244, -0.27449754, 0.12108516, 0.14917934) * go_1(-1.0, -1.0); + result += mat4(-0.015644934, 0.017102094, 0.068102054, 0.11661995, -0.13552219, 0.030102659, 0.14208834, 0.034298997, 0.06434777, -0.16380474, -0.10679716, -0.052865673, 0.03549326, -0.116048254, 0.16329505, 0.19959521) * go_1(-1.0, 0.0); + result += mat4(-0.007844256, -0.033616025, 0.040885374, 0.0077286726, -0.057888485, 0.05796843, 0.0665138, -0.189592, -0.02662338, 0.022530284, 0.08647752, 0.054335136, 0.031057479, 0.03635868, 0.0933932, 0.064375274) * go_1(-1.0, 1.0); + result += mat4(0.15531783, -0.21395409, -0.124851726, 0.049151056, -0.17787859, 0.07594992, 0.048780512, 0.0029584337, 0.013994473, -0.34576252, -0.05831177, 0.030209891, 0.009173122, -0.32105917, 0.026620382, 0.27054143) * go_1(0.0, -1.0); + result += mat4(0.031326182, 0.11699003, -0.1819442, -0.30510914, -0.21830374, 0.06375399, -0.11343298, 0.20248312, -0.032249533, 0.1300983, -0.23744828, -0.03899525, 0.095936954, 0.075583026, -0.18192224, 0.016086053) * go_1(0.0, 0.0); + result += mat4(-0.24321534, 0.1016422, 0.084550686, -0.007922614, -0.16052304, -0.09632171, 0.09476528, 0.03964334, -0.00061841257, 0.11085015, 0.16789092, 0.058375813, -0.021924267, 0.26049414, -0.04622306, 0.03622448) * go_1(0.0, 1.0); + result += mat4(0.05655466, -0.10016316, -0.026551498, 0.12944251, 0.06387257, 0.08759442, -0.040214762, -0.05403373, -0.001911277, -0.045361456, -0.29783988, -0.11533991, 0.07864674, -0.03580795, 0.09282203, 0.18479614) * go_1(1.0, -1.0); + result += mat4(-0.019557253, -0.01953009, 0.1073159, -0.077327915, -0.3287939, 0.08561906, -0.16314861, -0.14830309, -0.031493217, -0.050918207, 0.13767132, -0.25257835, 0.029513458, 0.1548974, -0.048502877, 0.0022710229) * go_1(1.0, 0.0); + result += mat4(0.0022606663, 0.048681643, -0.06014017, 0.23443368, -0.086114794, 0.017463014, -0.073657446, -0.0013138334, -0.053271778, 0.29075313, 0.07355574, 0.14009497, -0.15303768, 0.21335968, -0.17516625, 0.03268628) * go_1(1.0, 1.0); + result += mat4(-0.012742161, -0.041635115, 0.168062, -0.028525194, -0.030566072, -0.027266532, 0.0359287, -0.07139233, 0.061290823, -0.04036332, 0.04897623, 0.13846754, 0.039383594, 0.12339301, -0.026180696, -0.0051744552) * go_2(-1.0, -1.0); + result += mat4(-0.03748404, -0.026544569, 0.11102617, -0.22780292, 0.06731992, -0.15827416, 0.09802122, 0.11640033, 0.00039111794, 0.072100006, -0.053455148, 0.06592366, -0.09381082, 0.13634324, -0.08554314, 0.016439624) * go_2(-1.0, 0.0); + result += mat4(0.10113021, 0.08261971, -0.16603, -0.009958334, 0.03756299, -0.004461027, 0.08559942, -0.012674885, -0.03848595, 0.002108679, 0.021565402, -0.046234082, 0.04603834, 0.09276165, -0.29686695, -0.015194743) * go_2(-1.0, 1.0); + result += mat4(0.053909358, 0.0835715, -0.116176985, 0.22114189, 0.17204702, -0.17098549, -0.08065474, -0.015051904, 0.14268506, -0.117853105, -0.0038547963, -0.099558994, -0.12031682, 0.11549271, 0.0201697, 0.093561895) * go_2(0.0, -1.0); + result += mat4(-0.056914307, 0.18547982, -0.09208387, -0.00943169, -0.024476565, 0.020612689, 0.04417863, 0.14231037, -0.05794176, 0.19624077, -0.10561953, -0.1312564, -0.09621997, -0.055228855, -0.06481115, 0.07939849) * go_2(0.0, 0.0); + result += mat4(-0.09013716, -0.12869088, -0.14419042, -0.021643816, -0.123301044, 0.1077149, -0.058566347, 0.010407963, 0.009403472, -0.07660888, 0.09947006, -0.07434618, -0.014246012, -0.24914171, 0.0034662948, -0.05013118) * go_2(0.0, 1.0); + result += mat4(-0.070962735, 0.06716404, -0.15136454, 0.02027541, -0.107001044, 0.50334495, -0.039790098, 0.08286825, -0.0010944081, 0.1031829, -0.011431386, -0.08257687, -0.18531963, -0.14856398, 0.024649108, 0.047142852) * go_2(1.0, -1.0); + result += mat4(0.049574193, 0.07180735, 0.047850125, -0.051012892, -0.00040669146, 0.4140869, -0.088046245, -0.036824025, -0.03582775, 0.26769164, -0.06151275, -0.09666011, 0.2566442, -0.09799407, 0.097338095, -0.026725585) * go_2(1.0, 0.0); + result += mat4(0.1490444, -0.06516709, 0.10439169, -0.034240134, -0.041965652, -0.2079741, -0.09079767, 0.15088585, 0.022063766, -0.07552733, 0.0012785956, -0.16747397, 0.10525993, -0.09890853, 0.10660105, 0.21784192) * go_2(1.0, 1.0); + result += mat4(0.07042895, 0.16030453, 0.0030912263, -0.027933247, -0.3086125, -0.28822276, -0.400802, 0.2096595, 0.08857404, 0.34754908, -0.15951826, -0.35737038, -0.038460553, 0.007917597, 0.2774085, -0.08004489) * go_3(-1.0, -1.0); + result += mat4(-0.038472448, -0.0174679, -0.107170366, -0.037775494, -0.054595813, -0.21341673, 0.21892805, 0.12125601, 0.058354914, -0.35335168, -0.21329384, -1.0650489, 0.059367847, -0.02849481, 0.001276761, -0.30784246) * go_3(-1.0, 0.0); + result += mat4(-0.050561953, 0.0007092989, -0.13955325, -0.07106547, 0.12613517, -0.0822321, 0.14023048, -0.20781253, 0.0041748453, 0.157751, -0.14171253, -0.9330524, -0.0035482922, -0.17769572, -0.1528532, -0.32141888) * go_3(-1.0, 1.0); + result += mat4(-0.040014382, 0.24272937, 0.12577556, -0.10304328, 0.12054429, -0.14819793, -0.46691173, 0.12551397, 0.21042542, 0.040414993, 0.2664476, -0.0624471, -0.10776527, 0.03234498, -0.14870068, -0.05700082) * go_3(0.0, -1.0); + result += mat4(-0.15521951, -0.099391945, -0.31356367, -0.006449893, 0.059501357, 0.16860132, 0.2637131, -0.035344128, -0.20164591, -0.0771766, 0.22611247, -0.40267792, -0.060890198, 0.060215253, 0.093219444, -0.3483) * go_3(0.0, 0.0); + result += mat4(0.03416117, -0.1827499, -0.15668888, -0.10794011, -0.075220324, 0.12177839, -0.07486823, 0.21677534, -0.039297394, -0.14563735, 0.05120258, -0.00035666916, 0.12478138, 0.04741504, 0.2288785, -0.17462626) * go_3(0.0, 1.0); + result += mat4(-0.02980817, 0.087366745, 0.043035574, 0.040445086, 0.07882225, 0.030239558, -0.117186725, 0.19092828, -0.037465222, -0.10581845, -0.055081632, -0.15845117, 0.07946355, 0.14760616, -0.022140944, 0.11649563) * go_3(1.0, -1.0); + result += mat4(-0.19723393, 0.024121622, -0.27199838, 0.07334678, -0.07288629, 0.17650653, -0.22066317, -0.13322048, 0.0069257803, -0.24415702, 0.09925061, 0.33271804, 0.0033860113, -0.18174358, -0.13197216, -0.018403139) * go_3(1.0, 0.0); + result += mat4(-0.093481295, -0.28051332, -0.032411367, -0.14152545, 0.18546024, 0.26412115, 0.07146612, 0.036084935, -0.27073604, -0.010888752, -0.13251275, 0.052145492, -0.0332615, 0.06561024, -0.12152722, 0.25903332) * go_3(1.0, 1.0); + result += mat4(-0.14281613, 0.07859564, 0.0066864006, -0.15937181, -0.12278831, 0.311999, 0.025959859, 0.02308115, -0.03229773, 0.2645761, -0.13995989, 0.10817364, 0.07908819, 0.42388916, -0.17739546, 0.10429196) * go_4(-1.0, -1.0); + result += mat4(0.2201895, -0.2196956, 0.14305998, -0.3301203, 0.16685095, 0.09164033, 0.031294953, -0.05854433, -0.06691493, 0.1518185, 0.038523998, 0.05256842, -0.047954578, 0.1683237, 0.0048684916, -0.10664451) * go_4(-1.0, 0.0); + result += mat4(-0.026817175, -0.029176721, 0.24391933, 0.017680334, 0.15134846, -0.15139282, 0.29651865, 0.12128057, 0.044055674, 0.023059618, -0.054705862, -0.025505943, -0.019943522, -0.032058105, -0.30078474, 0.28300348) * go_4(-1.0, 1.0); + result += mat4(-0.15246257, 0.16519837, 0.030530507, 0.0019738604, -0.09898821, -0.10236442, -0.15473707, 0.1960111, 0.08083462, 0.1931143, 0.053789698, 0.063627414, -0.10000871, 0.1890801, -0.039166793, -0.035554815) * go_4(0.0, -1.0); + result += mat4(-0.008138058, -0.090632096, 0.09218409, -0.1870409, 0.006966406, -0.036867052, -0.1109265, 0.15594107, -0.06334745, -0.025499493, 0.16426682, 0.024393357, 0.0060975226, 0.08250694, -0.022282967, -0.09879987) * go_4(0.0, 0.0); + result += mat4(0.06807879, 0.127161, -0.20435798, -0.11276813, -0.035021268, -0.019755092, -0.17415504, 0.060618974, 0.12325889, -0.12290322, -0.05086793, 0.14947659, 0.023935383, -0.032783996, -0.029157335, -0.006670329) * go_4(0.0, 1.0); + result += mat4(-0.14423427, 0.07715571, 0.06842541, -0.24895051, -0.06428334, -0.07863047, 0.23238844, 5.274231e-05, 0.048996497, 0.17647398, 0.413201, -0.31975266, -0.030216858, 0.04867342, -0.30262446, -0.15375552) * go_4(1.0, -1.0); + result += mat4(0.23534048, 0.092139505, 0.012503786, 0.116008915, -0.0898572, -0.17778875, 0.16141091, 0.3644637, 0.043014687, -0.031378243, 0.11754703, -0.38509452, 0.1001422, 0.036844354, -0.0051652407, 0.036642574) * go_4(1.0, 0.0); + result += mat4(0.08065526, -0.14093323, -0.027013494, -0.112644374, -0.019306205, -0.10695108, -0.21220952, -0.039872676, -0.09730943, -0.47728395, -0.28284085, -0.07133749, -0.04755162, -0.14241156, -0.01632541, -0.009647049) * go_4(1.0, 1.0); + result += mat4(0.07490686, -0.06242466, 0.15567005, -0.16337247, -0.2887383, 0.2881797, -0.121348776, 0.060069725, -0.03536951, -0.24556357, -0.35177758, -0.11175104, -0.0073047564, -0.06645475, 0.014323825, 0.058212377) * go_5(-1.0, -1.0); + result += mat4(0.03256386, -0.05097925, 0.27179804, -0.09543428, 0.161455, 0.023938831, 0.10773267, -0.10486564, 0.076764554, 0.06358945, -0.18258472, 0.08324786, 0.06467844, -0.20269682, 0.046431858, -0.08359799) * go_5(-1.0, 0.0); + result += mat4(-0.086718775, 0.029116197, -0.020623617, -0.010007143, -0.0062927944, 0.028177656, -0.07210879, 0.06786677, 0.023476062, 0.17860489, -0.06256401, 0.061757386, -0.046495005, -0.055532746, 0.15595034, 0.12336579) * go_5(-1.0, 1.0); + result += mat4(0.08569872, -0.03291618, 0.18875046, -0.080043204, 0.19672358, 0.0756269, 0.02688733, 0.16277955, -0.060868777, -0.037449554, 0.020366343, -0.28260133, 0.30251002, -0.08898951, 0.002503838, -0.031098645) * go_5(0.0, -1.0); + result += mat4(0.09120409, -0.04983847, 0.07688438, 0.008763123, -0.09732479, 0.21332602, -0.13068666, -0.030675085, 0.31382635, 0.0012199014, -0.18128653, 0.30740625, -0.100602135, 0.08708379, 0.112137444, -0.03682313) * go_5(0.0, 0.0); + result += mat4(0.0709511, -0.04224951, -0.05609049, -0.0006408909, -0.030565612, -0.012263292, -0.009747451, -0.07244236, 0.054749947, -0.01405017, 0.009567654, -0.074202195, -0.06860078, 0.13089342, -0.06874847, -0.03219275) * go_5(0.0, 1.0); + result += mat4(0.1576853, -0.2683739, -0.025735255, -0.06460345, 0.075857066, -0.59675205, 0.11202596, 0.14385986, -0.06844365, -0.23115703, 0.12929395, -0.12881753, 0.009042129, 0.105781116, -0.055749435, -0.081277415) * go_5(1.0, -1.0); + result += mat4(0.13527077, -0.03984972, 0.018804315, 0.12699783, -0.17789197, -0.30242765, 0.09397843, 0.090828404, -0.059823766, 0.044621762, 0.25259614, -0.19707985, -0.13368398, 0.20000716, -0.009788325, -0.20149179) * go_5(1.0, 0.0); + result += mat4(-0.041884087, -0.059512906, -0.0896845, 0.06103581, 0.110947184, 0.10910047, -0.0047273464, 0.079314105, -0.121069044, 0.10926088, 0.13192393, 0.13567427, 0.109372094, 0.06015443, 0.100631915, -0.224153) * go_5(1.0, 1.0); + result += vec4(0.022030555, -0.05006568, 0.014002339, 0.023597209); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!SAVE conv2d_1_tf2 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.09202538, -0.081250995, 0.13399354, -0.09287109, 0.075870514, -0.046435528, 0.06888035, 0.07559372, 0.047911238, 0.1541559, 0.016089845, -0.020714905, 0.034469247, 0.09413617, -0.06726056, 0.04964387) * go_0(-1.0, -1.0); + result += mat4(0.22596729, 0.02889021, -0.048012562, 0.14605793, -0.086510226, 0.09049988, -0.0024043226, 0.07370351, -0.02844908, 0.056516882, -0.12932102, -0.080092, -0.014557861, 0.2417015, 0.24414025, -0.08637478) * go_0(-1.0, 0.0); + result += mat4(-0.08709868, -0.15894723, 0.051107977, -0.007953947, -0.005816434, 0.15406336, -0.08382943, 0.06931645, 0.10049424, -0.10653088, 0.2009932, 0.15972902, 0.02209797, -0.008090025, 0.058555678, 0.044184227) * go_0(-1.0, 1.0); + result += mat4(-0.14687128, 0.08516212, -0.090116605, -0.053017177, -0.09254908, -0.043845087, -0.02666236, -0.12203544, -0.043807525, 0.14893356, -0.11529748, -0.06253818, -0.010695381, -0.10081673, -0.0314329, -0.044264063) * go_0(0.0, -1.0); + result += mat4(0.021610646, -0.16695172, -0.31326374, 0.05392923, 0.12519042, 0.12159836, -0.07893999, -0.10245254, 0.10427483, -0.042931017, -0.18065664, 0.01107328, 0.110220656, -0.06329314, -0.044132728, -0.004572783) * go_0(0.0, 0.0); + result += mat4(0.01665856, 0.121704906, -0.2353256, 0.16223833, 0.04024997, -0.01792505, 0.14950873, -0.06683434, 0.004776299, 0.011929818, 0.07254882, 0.03820532, 0.31055966, 0.08748786, 0.0073042163, 0.2684048) * go_0(0.0, 1.0); + result += mat4(-0.23074506, -0.06215829, 0.053791784, 0.22733828, -0.11443747, -0.15169612, 0.040388454, -0.007505497, 0.005672369, 0.0026797412, -0.001197972, 0.007488197, -0.0024618902, 0.10131061, -0.07500523, -0.013001146) * go_0(1.0, -1.0); + result += mat4(-0.0776098, -0.060467657, 0.063401155, -0.3178554, 0.046797205, -0.10740315, 0.02085142, 0.101416804, -0.1198098, -0.02295822, 0.039581314, -0.048711125, -0.06259446, -0.11206371, -0.0053890026, -0.070524804) * go_0(1.0, 0.0); + result += mat4(-0.12901165, 0.21051991, -0.1142095, 0.22749256, -0.023643937, -0.046942696, -0.060973406, -0.057919096, -0.22156318, -0.051061176, 0.0916328, 0.012217941, -0.17102586, -0.18390712, 0.006507473, -0.029991195) * go_0(1.0, 1.0); + result += mat4(-0.2522444, -0.03696223, -0.18561353, 0.13687257, 0.073648125, 0.13678576, 0.16931336, 0.00949838, -0.038437508, -0.059626862, 0.05821261, -0.07623236, -0.08685592, -0.17067757, 0.174131, -0.025060346) * go_1(-1.0, -1.0); + result += mat4(0.104338415, -0.096368395, -0.029887693, 0.032492615, 0.041827764, 0.24553889, 0.099045165, 0.059192423, 0.023159435, -0.043454442, 0.10354106, 0.17867453, -0.1752651, 0.16507833, -0.09264873, 0.038281262) * go_1(-1.0, 0.0); + result += mat4(0.06404952, 0.014349881, -0.08079635, -0.18684097, -0.021107968, 0.1474591, 0.02128032, 0.052345317, 0.19520657, -0.18109623, 0.12578261, 0.034501765, -0.1369868, -0.05843081, 0.16561405, -0.06775279) * go_1(-1.0, 1.0); + result += mat4(0.08673276, 0.14922544, 0.12579706, 0.12474029, -0.06912261, -0.104719676, 0.27239847, -0.13122962, -0.05688415, 0.1428628, 0.00895786, -0.032757584, 0.019906566, -0.17429581, -0.10528849, 0.13250664) * go_1(0.0, -1.0); + result += mat4(0.1025883, 0.16903317, 0.24479683, 0.08272392, -0.12168113, 0.09135378, 0.06919754, -0.24658537, 0.014526622, 0.08442609, -0.30363482, -0.03433778, 0.037446275, 0.030086113, -0.07519447, -0.068841174) * go_1(0.0, 0.0); + result += mat4(0.024311058, -0.08233637, -0.16022089, -0.1597245, 0.050970588, -0.10577119, -0.1112992, -0.052199256, -0.0849103, -0.3776085, -0.21930903, -0.20542654, -0.01871536, 0.10911211, 0.07675561, -0.024964388) * go_1(0.0, 1.0); + result += mat4(0.12411877, -0.00519536, 0.0480481, -0.10641975, -0.0010129698, -0.049957395, 0.0066010677, -0.07925235, 0.1930976, 0.5361102, -0.056495357, -0.05665149, -0.1270014, 0.041294765, -0.15627688, 0.018746065) * go_1(1.0, -1.0); + result += mat4(0.13720295, 0.085025266, 0.05471863, 0.038614765, -0.06960719, 0.16281144, -0.21186842, -0.1941425, 0.095628515, 0.084828205, 0.02530074, 0.11415585, 0.10537103, -0.0586968, 0.019073522, -0.055825945) * go_1(1.0, 0.0); + result += mat4(-0.21141429, 0.01108361, -0.14758278, 0.08792016, -0.0016714301, -0.0030396983, -0.12766738, -0.08827425, -0.07848207, -0.13752016, 0.013766901, 0.09635439, -0.079080686, -0.14922711, 0.06670641, -0.080326416) * go_1(1.0, 1.0); + result += mat4(0.20643076, -0.00499668, 0.23666923, -0.17106888, 0.12709226, 0.00981184, 0.028967496, 0.016210513, 0.12393452, 0.0043048155, 0.05266705, -0.094970286, 0.005504978, -0.050391, 0.10117381, 0.09549521) * go_2(-1.0, -1.0); + result += mat4(0.04931849, -0.0065390305, 0.08863048, -0.0947855, 0.15617795, -0.17475569, 0.10392811, 0.035971895, 0.03656791, -0.12339292, 0.010653483, 0.08514984, 0.15630373, 0.15763232, -0.012078789, -0.026336702) * go_2(-1.0, 0.0); + result += mat4(0.13140163, 0.07304222, 0.03644733, 0.09648337, -0.017975705, -0.072331324, 0.0029975558, -0.021666657, -0.020042133, 0.044821594, 0.037660487, 0.09642576, 0.06416202, 0.014092053, -0.043693382, -0.051554378) * go_2(-1.0, 1.0); + result += mat4(-0.23793697, -0.0014973939, -0.08946259, 0.067851745, -0.019646896, -0.19535433, 0.10289966, 0.0010244731, -0.20782173, 0.0020514326, -0.16879739, 0.17888409, -0.124513365, -0.07472942, -0.0588901, -0.2092017) * go_2(0.0, -1.0); + result += mat4(0.060483094, 0.059208773, 0.08345, 0.0010649676, -0.23659356, 0.3603475, 0.0053207604, -0.03345199, 0.020284697, -0.01113311, 0.11211144, 0.053414755, 0.1895607, -0.15760773, -0.23431808, 0.043709636) * go_2(0.0, 0.0); + result += mat4(0.080154695, -0.064768635, -0.12550141, -0.08824165, -0.07509624, -0.0713246, -0.22137038, 0.0921876, -0.025354594, -0.24898566, -0.028864942, -0.16679515, -0.08982522, 0.029950809, -0.06993633, 0.12565832) * go_2(0.0, 1.0); + result += mat4(-0.20841017, 0.06321075, -0.04099131, 0.07732559, -0.08110228, 0.20876545, -0.11388175, 0.27826598, -0.15344119, 0.09446656, 0.2735643, 0.079110265, -0.043845385, 0.029875547, 0.12783948, -0.10298459) * go_2(1.0, -1.0); + result += mat4(0.08580364, -0.08134692, -0.085382804, -0.09634259, -0.07509618, -0.12689087, 0.05720452, -0.1819075, 0.11217614, -0.16592574, -0.101749554, -0.018963661, 0.14723873, 0.12904182, -0.052782595, 0.05793788) * go_2(1.0, 0.0); + result += mat4(-0.0056530046, 0.05674741, 0.014994733, 0.11958239, 0.16446747, -0.049534798, -0.016570516, -0.21063349, -0.07496503, 0.0055008507, 0.11419655, 0.048011355, -0.04684853, 0.042691138, 0.09421025, 0.12923399) * go_2(1.0, 1.0); + result += mat4(-0.083864704, 0.07605092, -0.047560036, 0.16445905, -0.029962407, 0.18134072, -0.22724763, 0.023675185, -0.03332916, -0.04249084, 0.15973917, 0.007322849, -0.087714255, -0.153021, 0.030236037, -0.100231044) * go_3(-1.0, -1.0); + result += mat4(-0.17441258, -0.028744312, 0.05915575, -0.11824928, -0.04179886, -0.14449957, 0.04891911, -0.21351086, 0.3303812, 0.07433166, 0.503379, 0.2470829, 0.1322803, -0.04928455, -0.15583721, 0.106110215) * go_3(-1.0, 0.0); + result += mat4(-0.08065278, -0.00050983805, 0.027161239, 0.12555373, 0.017745659, 0.0479513, 0.10691591, -0.13202804, 0.38873398, 0.046141643, 0.07307728, 0.13692193, 0.18681903, 0.11005239, 0.15744549, 0.21892804) * go_3(-1.0, 1.0); + result += mat4(0.03978365, -0.023494922, -0.039753728, 0.27451408, 0.02140033, -0.013376269, 0.028383363, 0.059702866, -0.0071658283, -0.13848262, -0.1019017, -0.16829433, -0.018539641, 0.013991451, 0.099338084, -0.05775615) * go_3(0.0, -1.0); + result += mat4(-0.065350726, 0.11001335, 0.11902446, -0.21104746, 0.095098086, 0.02739781, -0.26015705, 0.22157612, -0.15288728, 0.2722011, 0.27105704, -0.24145271, -0.051725585, 0.06605028, -0.012332871, -0.17540309) * go_3(0.0, 0.0); + result += mat4(-0.2189158, -0.05287219, -0.04915249, -0.05357751, -0.12871711, -0.0061132344, -0.1406079, -0.18074436, -0.14702965, -0.22242828, 0.08177444, 0.3396842, -0.2632696, -0.06403873, -0.008123073, -0.030273361) * go_3(0.0, 1.0); + result += mat4(0.11255844, -0.057998642, -0.07679987, 0.049385145, 0.13984528, -0.07007145, 0.11060764, 0.12331489, -0.05268373, -0.15397486, 0.054913905, -0.1393604, 0.020389834, -0.17137636, 0.067205, 0.084197655) * go_3(1.0, -1.0); + result += mat4(0.27258077, -0.10924528, -0.1159478, 0.05647175, 0.13014089, 0.12746723, 0.0045503005, 0.07131271, 0.081193194, 0.018001271, -0.056847095, 0.19587554, -0.018607333, 0.1416207, -0.03856229, -0.0888815) * go_3(1.0, 0.0); + result += mat4(0.0946241, 0.059010573, 0.013680293, -0.042248886, -0.2995221, -0.095081195, 0.06510416, 0.043059137, 0.10425443, -0.1222804, -0.16180466, -0.3628854, -0.01679748, 0.112195894, -0.004974211, -0.055885002) * go_3(1.0, 1.0); + result += mat4(0.11798436, 0.1390635, 0.142733, -0.16162498, 0.034902234, -0.13497733, 0.097894885, 0.10681201, -0.047284793, 0.015005336, -0.09031815, 0.12383599, -0.091548845, -0.013705567, 0.049403854, 0.18155518) * go_4(-1.0, -1.0); + result += mat4(0.1806166, 0.08396095, -0.17600271, -0.029499372, 0.17163202, 0.18944095, -0.1755662, -0.008431973, -0.057935216, 0.1584788, -0.059633583, -0.1950766, -0.03091734, -0.045874756, -0.0051801866, -0.20533004) * go_4(-1.0, 0.0); + result += mat4(0.004201836, -0.15968263, 0.015041736, 0.17407048, -0.03530788, 0.09062685, 0.050316375, -0.058444653, -0.12015508, 0.11712405, -0.031137828, -0.049205493, 0.05515115, 0.06733773, 0.03607973, 0.05056488) * go_4(-1.0, 1.0); + result += mat4(0.006330765, -0.17457847, -0.021863922, -0.16448942, 0.059458453, 0.1486118, -0.22728927, 0.0058831032, -0.00180954, -0.34799471, -0.017039202, 0.03939159, -0.033589013, 0.32948977, 0.087067194, -0.113632225) * go_4(0.0, -1.0); + result += mat4(0.042377464, -0.030939378, -0.08917448, 0.2585585, -0.28696018, -0.04419827, 0.0057377038, 0.08444518, -0.009464956, -0.03967168, 0.05095106, -0.04785119, -0.05805417, -0.07269471, -0.18795604, -0.23612237) * go_4(0.0, 0.0); + result += mat4(-0.026615486, 0.1219551, 0.17111751, 0.12014681, -0.10403522, 0.13139823, 0.28612077, -0.17874514, 0.030061528, 0.31433544, 0.16948178, 0.10126, 0.0582159, -0.13620348, -0.026327167, 0.11529438) * go_4(0.0, 1.0); + result += mat4(-0.10999408, -0.1642254, -0.09659326, -0.085699454, 0.05962901, -0.07562989, 0.042366143, -0.1533413, -0.09869005, -0.21281542, 0.020441674, 0.17866766, -0.26933256, 0.049314983, 0.10039448, -0.13316467) * go_4(1.0, -1.0); + result += mat4(-0.22610307, -0.0013520997, 0.16817398, 0.037943725, -0.067527935, -0.15105802, -0.0973126, -0.05843863, 0.19214404, 0.092337616, -0.024034662, -0.007926626, -0.32222804, 0.082673185, 0.069847725, 0.027493093) * go_4(1.0, 0.0); + result += mat4(0.0014049035, -0.058899652, 0.060463455, -0.052001078, 0.19716045, 0.12879235, -0.026990427, 0.23919769, 0.0034248075, -0.0157977, -0.06720619, -0.013757762, -0.101808615, 0.029667001, 0.07381132, 0.092393965) * go_4(1.0, 1.0); + result += mat4(0.053514812, 0.14120969, -0.056737684, 0.017708244, -0.05407678, 0.103361025, -0.0924985, 0.053643283, -0.28559983, -0.12866977, -0.06750911, 0.027970003, 0.06481888, 0.06773354, -0.07627304, -0.07058017) * go_5(-1.0, -1.0); + result += mat4(0.10564813, 0.1891429, -0.085196435, 0.0073824013, 0.0039014777, 0.14679071, 0.09327677, -0.030248597, 0.18063113, -0.3115451, 0.06560229, -0.03190648, -0.1619295, -0.112393744, -0.10004008, 0.0023948452) * go_5(-1.0, 0.0); + result += mat4(-0.033827845, -0.12089327, 0.042195093, 0.025078757, -0.044261515, 0.09103579, -0.19070679, -0.1600237, 0.13683122, -0.072529055, 0.062436976, -0.29964364, -0.114442796, -0.047068417, -0.07223064, 0.05781626) * go_5(-1.0, 1.0); + result += mat4(-0.04086473, 0.029395554, 0.05157983, 0.013322953, -0.001428512, -0.103283875, 0.15795463, 0.21691218, 0.23493949, -0.18836173, 0.28818855, -0.07839693, -0.043874815, -0.011829423, 0.0825803, 0.18832965) * go_5(0.0, -1.0); + result += mat4(0.087384604, 0.2075869, 0.012306303, -0.06356627, -0.019742407, -0.256092, -0.089735925, 0.026248232, -0.22160976, -0.4420786, 0.033200428, -0.1376953, -0.3315224, 0.17343274, 0.3179911, 0.012785637) * go_5(0.0, 0.0); + result += mat4(-0.14358811, 0.052979786, 0.13841373, 0.07362653, 0.050186664, 0.11735455, 0.0032370305, -0.16536471, -0.005521641, 0.1040989, -0.07086791, 0.13729815, 0.0840539, 0.06547088, 0.22857827, -0.2079967) * go_5(0.0, 1.0); + result += mat4(-0.11850976, -0.026047882, 0.00785038, -0.19955018, 0.040088244, -0.10139797, 0.08621738, -0.26192454, 0.3888625, 0.33236128, 0.1412189, 0.10097289, 0.07574426, -0.15459102, -0.1557534, 0.03405655) * go_5(1.0, -1.0); + result += mat4(-0.15693793, -0.03326048, 0.110803954, 0.07044277, 0.1380442, -0.029729376, -0.26033366, 0.040598683, -0.23744181, 0.043091178, 0.18325818, 0.05989088, 0.099216335, -0.012825024, 0.20831011, -0.08420897) * go_5(1.0, 0.0); + result += mat4(0.031240137, -0.034582928, 0.0022927374, -0.06525183, -0.15711913, -0.04604516, 0.0605175, 0.15128267, 0.072712876, -0.015489105, -0.20996843, -0.24177326, 0.053063773, -0.08747667, 0.24771367, 0.1244199) * go_5(1.0, 1.0); + result += vec4(0.07754665, -0.09230884, 0.019135362, 0.035482828); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_1_tf2 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.15677336, 0.18937011, -0.15614599, 0.15203404, 0.098624565, 0.023782162, -0.045496363, -0.014783688, 0.07303875, -0.075132, -0.019847363, -0.088889055, -0.11558432, -0.08860719, 0.16452459, -0.018188732) * go_0(-1.0, -1.0); + result += mat4(0.026749048, -0.0376324, -0.0994071, -0.00093872234, 0.014682955, 0.008369919, -0.046362195, -0.21044572, -0.013911088, -0.117338374, 0.14585997, -0.11355687, 0.04094843, -0.11326298, 0.08555518, 0.076577775) * go_0(-1.0, 0.0); + result += mat4(0.04918652, 0.10098061, -0.097193845, 0.011482707, -0.015221698, -0.06306758, 0.09985586, -0.0011515089, -0.09592504, 0.11805872, -0.053774815, 0.093555175, 0.11237289, -0.20694147, 0.255737, 0.0149322525) * go_0(-1.0, 1.0); + result += mat4(0.06269537, -0.28116295, 0.1405942, 0.00218229, -0.012810465, 0.11574089, 0.060055815, -0.14248852, 0.03755387, 0.03748404, 0.04481931, 0.086039774, -0.0707909, -0.053917676, -0.009349141, -0.06623982) * go_0(0.0, -1.0); + result += mat4(-0.002837983, -0.0649247, -0.14890024, 0.0011222209, 0.12083026, -0.16136795, -0.04910086, 0.060653802, 0.020444075, 0.0024171378, 0.06839313, -0.21157807, -0.1678213, -0.27503422, 0.0063047423, 0.03292154) * go_0(0.0, 0.0); + result += mat4(0.14229529, -0.002042125, -0.022892606, 0.08743759, 0.035437252, -0.12997083, -0.1851374, 0.33951423, -0.037205234, 0.03710803, 0.018455725, -0.052581675, -0.16795224, -0.14008522, 0.011014682, 0.07038518) * go_0(0.0, 1.0); + result += mat4(0.105874196, -0.21320704, -0.08445409, 0.052140422, -0.13498448, -0.0737051, -0.027274717, -0.06932614, -0.017584193, -0.13111684, -0.049095873, 0.08269069, -0.017520722, -0.08716905, 0.25897968, -0.1412353) * go_0(1.0, -1.0); + result += mat4(-0.016677873, -0.024665434, -0.11711789, 0.16085778, 0.017375777, 0.15644072, 0.11040864, 0.23371918, 0.10210983, 0.0039968346, -0.007850634, -0.026810693, 0.08863099, 0.094195805, 0.10420045, -0.19671428) * go_0(1.0, 0.0); + result += mat4(-0.016842589, -0.15904509, -0.038347725, 0.1279937, -0.00045717083, 0.13132372, -0.13027431, -0.058826704, -0.0029436084, 0.008283112, 0.10262298, -0.05013397, -0.02922706, 0.14453132, 0.18946488, -0.0966266) * go_0(1.0, 1.0); + result += mat4(-0.00050655927, 0.2318558, 0.025141997, -0.058849655, 0.05127902, -0.056867033, -0.06191942, -0.028451841, 0.038166817, -0.14328304, 0.06050816, -0.12157533, 0.058556214, -0.13964172, 0.026282474, 0.03329027) * go_1(-1.0, -1.0); + result += mat4(-0.06520211, 0.21877246, 0.017677024, -0.053116243, -0.018621214, -0.0063418522, -0.10306368, -0.07627847, -0.0035643768, -0.05579889, 0.07386847, -0.0084178485, 0.005625732, 0.10204069, -0.08501438, -0.013451101) * go_1(-1.0, 0.0); + result += mat4(-0.067369066, 0.17327416, 0.062035594, -0.1340041, 0.10289677, -0.0868232, 0.023330351, -0.072417624, -0.12027732, 0.11592929, 0.05090798, -0.06895359, -0.04391116, 0.18919718, 0.064172365, -0.051173057) * go_1(-1.0, 1.0); + result += mat4(-0.022913774, -0.021000199, -0.01890946, -0.079307556, -0.16522343, -0.3152304, -0.21007383, 0.01858985, 0.003152245, -0.009094366, -0.023845399, -0.06635666, 0.041294664, 0.12883614, -0.06389087, 0.005710572) * go_1(0.0, -1.0); + result += mat4(0.032583844, 0.16247992, 0.06764235, -0.2240413, -0.15760922, 0.20196813, 0.13201368, 0.106440805, -0.070570394, -0.19261852, 0.28010008, -0.0048360736, -0.14080645, -0.02105434, 0.023814693, -0.13861166) * go_1(0.0, 0.0); + result += mat4(0.071627796, 0.20605852, -0.2676727, -0.39509574, 0.22782667, 0.13424493, 0.08930976, 0.13314968, 0.045536704, -0.06271722, 0.01703984, 0.13352728, -0.07089344, 0.14776441, 0.11804898, -0.027061034) * go_1(0.0, 1.0); + result += mat4(-0.011638248, -0.016760292, 0.0593982, -0.100421235, 0.030956578, 0.13813019, 0.022237146, -0.091211095, 0.010232882, 0.0010010025, 0.16789608, -0.030847551, 0.027778173, -0.005418129, -0.16441783, 0.07580936) * go_1(1.0, -1.0); + result += mat4(0.08137598, -0.008976606, 0.00023393384, -0.19671111, -0.0068668523, 0.097364455, -0.0026000517, -0.11201763, 0.047109667, -0.043774106, 0.12344897, -0.13232613, 0.026984906, -0.13614078, 0.06604853, 0.10752554) * go_1(1.0, 0.0); + result += mat4(0.00047561026, 0.12248177, 0.05146918, -0.3956014, -0.12263068, 0.22729336, 0.03597535, 0.09500604, 0.06894016, 0.061162107, 0.13561803, -0.047466908, -0.0013999783, -0.068306796, -0.031758398, -0.046261873) * go_1(1.0, 1.0); + result += mat4(0.12310386, -0.046108138, -0.08357388, 0.02034243, 0.0024922634, 0.029359696, -0.04329755, -0.034257423, 0.08229037, -0.11810178, -0.1079754, 0.13327998, -0.09608102, -0.26294786, -0.056677792, -0.1958781) * go_2(-1.0, -1.0); + result += mat4(0.007982684, 0.020604203, -0.12702446, -0.02264998, -0.034644246, -0.00025684707, 0.037761245, -0.0041598473, -0.047972955, 0.039201785, -0.016598722, -0.044081174, 0.11861525, 0.01239671, -0.12192053, 0.08865015) * go_2(-1.0, 0.0); + result += mat4(-0.0018564354, -0.07618631, -0.09212719, 0.092056714, -0.16783315, 0.08645543, 0.24669226, -0.023520375, -0.04045034, -0.0023428998, -0.01612943, 0.014919031, 0.16028026, -0.020104371, -0.16949941, 0.18713622) * go_2(-1.0, 1.0); + result += mat4(0.19490379, -0.07592651, -0.200843, 0.07704469, -0.02736559, -0.054601975, -0.07240532, -0.03120134, -0.038438305, -0.12783389, -0.057655185, -0.009752765, 0.07110615, 0.033978693, -0.023724876, 0.11998657) * go_2(0.0, -1.0); + result += mat4(0.18834178, 0.23053586, -0.14430945, 0.32287082, -0.32185385, -0.15306619, -0.1573794, 0.005030648, 0.06912159, 0.009656687, -0.20743106, 0.03814172, 0.104378454, -0.07221508, -0.11348173, -0.019581677) * go_2(0.0, 0.0); + result += mat4(-0.017694198, 0.028853144, 0.1263284, 0.1820403, -0.05317991, -0.057951134, -0.04575081, 0.05769411, -0.11807033, 0.06413361, 0.06063185, 0.19433405, 0.0032539407, 0.021501997, -0.14744627, -0.095206425) * go_2(0.0, 1.0); + result += mat4(-0.0463219, -0.13988416, 0.07200895, -0.13444373, -0.2447483, -0.024709478, -0.08591721, -0.09281996, -0.046719797, -0.11321926, -0.061532497, -0.0044461554, -0.03174407, -0.0056026108, 0.0056006387, 0.08828445) * go_2(1.0, -1.0); + result += mat4(0.060374547, 0.062058832, -0.0390557, -0.047456663, -0.2227052, -0.03193117, -0.025358196, 0.08565629, 0.03657194, 0.13427348, -0.09266081, 0.23655434, 0.024580589, 0.01999063, -0.038653534, -0.023600115) * go_2(1.0, 0.0); + result += mat4(-0.0522313, 0.079263784, 0.10858985, -0.031472187, 0.072964184, -0.065342486, -0.03705779, 0.12809205, 0.09141905, 0.042783994, -0.028724866, -0.08221137, 0.13597457, 0.029334683, -0.12261823, -0.0052482346) * go_2(1.0, 1.0); + result += mat4(0.018523648, -0.21706165, -0.14580801, 0.038885653, -0.030849187, -0.06640324, 0.0011639405, 0.097421385, -0.10876752, 0.14631185, 0.014579094, 0.13907033, 0.1310694, -0.1287285, 0.03553917, 0.025316685) * go_3(-1.0, -1.0); + result += mat4(0.22148734, 0.01278849, -0.1596892, 0.17187239, -0.04219283, -0.064526156, 0.011610614, -0.0094766095, 0.028804665, 0.16347663, -0.09309108, 0.07097134, -0.014338763, 0.051742412, 0.059907336, -0.17768253) * go_3(-1.0, 0.0); + result += mat4(-0.06295463, -0.118564956, -0.016017804, 0.050398786, -0.07136999, 0.25657415, -0.035830878, -0.084443375, 0.12151532, -0.089734256, -0.064030536, 0.048108097, -0.01340212, -0.16572993, -0.093480445, 0.088874646) * go_3(-1.0, 1.0); + result += mat4(-0.059600584, -0.0052702287, 0.029479535, 0.20121074, -0.07113247, 0.1561413, 0.25110185, -0.060266465, -0.34369025, 0.14528714, 0.060928173, 0.008688357, 0.034280702, -0.004796254, 0.15269074, 0.056567237) * go_3(0.0, -1.0); + result += mat4(0.05273782, -0.10539872, -0.07192354, -0.083380386, 0.097994, -0.20134969, -0.5062206, 0.30952695, -0.041553877, -0.055801403, -0.037597038, -0.13394146, 0.027271803, 0.17738731, 0.3336375, -0.0035211574) * go_3(0.0, 0.0); + result += mat4(0.009962762, 0.11503034, 0.027571376, -0.018972939, 0.057955634, -0.039739445, -0.0676937, 0.09477686, 0.17910802, -0.28064108, -0.12184129, -0.028407406, 0.056930028, 0.024252843, 0.08959171, -0.027298026) * go_3(0.0, 1.0); + result += mat4(-0.010729545, -0.048747167, 0.03880723, -0.006755044, -0.011909068, 0.008659933, 0.0800407, -0.040333465, -0.25750905, 0.29087406, 0.04864783, 0.118413374, -0.03514928, -0.17206238, 0.2095635, 0.039926212) * go_3(1.0, -1.0); + result += mat4(0.0073815766, -0.030507097, 0.13367772, 0.04863103, -0.067190245, 0.039960794, -0.013012274, 0.15617093, -0.33983988, -0.05671963, 0.22061184, -0.03684452, 0.06304772, -0.08322253, 0.1117871, -0.2006011) * go_3(1.0, 0.0); + result += mat4(0.119437724, -0.009319272, -0.07218167, -0.20269917, 0.10248017, -0.009564983, -0.016272334, -0.042979773, 0.11264571, -0.15697405, 0.015802475, 0.11154868, -0.073011585, -0.07225136, 0.15061282, 0.027214698) * go_3(1.0, 1.0); + result += mat4(0.03921657, -0.0154446345, -0.01855873, -0.15813923, 0.11489257, -0.10245685, 0.090572976, -0.072605945, -0.069270656, 0.05171411, 0.045471992, -0.028802622, -0.19419885, 0.18310049, 0.06882923, -0.0005851153) * go_4(-1.0, -1.0); + result += mat4(0.04575681, -0.020910552, 0.051311508, -0.0004904971, 0.04239284, 0.024153773, 0.030940467, -0.107036866, -0.099398546, 0.30524835, 0.03902779, -0.05217122, 0.14969619, 0.084496036, -0.14226931, -0.07463564) * go_4(-1.0, 0.0); + result += mat4(0.05297294, 0.15384737, -0.0069473814, 0.055046722, 0.11697162, 0.2424236, 0.021053674, -0.004738062, 0.014129249, -0.2909751, -0.048418947, 0.014277387, 0.053296436, -0.12475984, 0.07531274, -0.022512587) * go_4(-1.0, 1.0); + result += mat4(-0.04752641, 0.0006545224, -0.00589135, -0.026285272, -0.043745905, 0.24044664, 0.027723765, -0.023630425, 0.00869218, 0.028710615, -0.013863237, 0.0809765, 0.06708566, 0.013517718, 0.0012386752, -0.022743834) * go_4(0.0, -1.0); + result += mat4(-0.12600644, 0.0116939265, 0.0491542, 0.06871389, -0.2096317, 0.050711762, -0.0455067, -0.11994795, -0.05030036, 0.20621927, 0.10951404, -0.05465143, 0.09614336, -0.22954291, 0.15239881, 0.04559428) * go_4(0.0, 0.0); + result += mat4(0.020940155, 0.16499193, 0.17525958, -0.051628407, -0.3068143, -0.14576466, 0.00672593, -0.1308778, 0.00072586804, -0.067010164, -0.093788825, 0.005219908, -0.020126363, -0.083521724, -0.0650657, 0.01836861) * go_4(0.0, 1.0); + result += mat4(0.072675996, 0.10010303, -0.1263988, -0.13888146, 0.13648619, 0.09535094, -0.0038582503, 0.10240531, -0.0014882578, -0.21053605, 0.16676606, -0.024605514, -0.06614438, 0.09575527, 0.116414934, -0.18538997) * go_4(1.0, -1.0); + result += mat4(-0.013467567, 0.11274834, 0.07675635, -0.054812886, -0.024862224, 0.044424616, -0.12858495, -0.120611496, -0.1295857, -0.029304063, -0.06629468, -0.22211547, 0.12577437, -0.015624684, -0.10307795, 0.09404936) * go_4(1.0, 0.0); + result += mat4(0.11430831, 0.11486887, -0.06219608, -0.018371167, 0.091516815, 0.0041821343, -0.043150745, -0.11775014, 0.07794832, -0.01944774, -0.031383686, 0.077408955, -0.124252975, 0.062118705, 0.009199536, 0.06538969) * go_4(1.0, 1.0); + result += mat4(0.22154011, -0.098727904, -0.08378975, -0.04167056, 0.019208338, -0.02245709, 0.13298267, -0.104098395, 0.053671844, 0.12845491, -0.003814564, 0.0665341, -0.07084713, 0.26803628, 0.09472736, 0.16825765) * go_5(-1.0, -1.0); + result += mat4(-0.21349828, -0.14917591, 0.12592548, -0.12721801, 0.086323306, -0.15409322, 0.07365807, 0.00620922, -0.0280901, 0.0957864, 0.10711525, 0.1165179, -0.08383744, 0.14757137, 0.024865197, -0.17536579) * go_5(-1.0, 0.0); + result += mat4(-0.044920437, -0.00016428503, 0.035227478, -0.026525848, -0.17628764, 0.044141084, 0.025941433, 0.18698089, 0.0069334265, 0.097304195, -0.08945912, -0.007168394, -0.054236215, -0.2604089, -0.14738831, -0.074961744) * go_5(-1.0, 1.0); + result += mat4(-0.043119818, -0.012245711, 0.030121213, -0.0032237277, -0.033457555, 0.052158665, 0.046546284, -0.0047129868, -0.08133807, 0.037123546, 0.08634659, 0.120436855, -0.02609943, 0.11368193, -0.06750012, 0.0007624448) * go_5(0.0, -1.0); + result += mat4(-0.20511842, 0.1999221, 0.099944666, -0.14691514, 0.012555328, -0.22190604, 0.12456348, 0.05391116, 0.031001683, -0.33920962, 0.13921735, 0.101068705, 0.28788915, 0.13809694, -0.10081831, -0.05679542) * go_5(0.0, 0.0); + result += mat4(-0.019705083, 0.08693377, 0.06884471, 0.032386675, 0.10256849, 0.22142375, 0.07398588, 0.03336761, 0.19134827, 0.12654771, -0.39008364, -0.29602188, -0.04149512, 0.018968705, 0.080247656, 0.0480814) * go_5(0.0, 1.0); + result += mat4(0.09539717, -0.10946926, -0.048939522, 0.030059233, -0.17243776, 0.021580435, 0.15642153, -0.10282692, -0.020257011, 0.060849674, 0.040640093, 0.05628088, -0.11358645, -0.16440971, 0.1787329, -0.02685428) * go_5(1.0, -1.0); + result += mat4(0.14034219, 0.21827984, -0.16170599, 0.03681219, -0.051667843, 0.019152328, 0.033406716, -0.025032328, 0.13413768, -0.09349573, 0.10037219, -0.0105256345, -0.17372406, -0.07619186, 0.068273135, 0.088958755) * go_5(1.0, 0.0); + result += mat4(-0.015460073, -0.04781314, -0.008159705, 0.117226824, -0.20293492, 0.019126927, 0.1074034, -0.10307512, 0.1356002, 0.108166546, -0.1275016, -0.023100886, -0.09334954, -0.14509954, 0.1668647, 0.13371155) * go_5(1.0, 1.0); + result += vec4(0.004647682, -0.04675001, -0.041206088, 0.07870823); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_1_tf2 +//!SAVE conv2d_2_tf1 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.0116784945, -0.25090152, -0.17868316, 0.036498535, 0.015182224, 0.2023079, 0.011117134, 0.15237965, -0.015316299, 0.088544175, -0.06572522, -0.08057326, -0.22271864, -0.30610234, -0.12208543, -0.22944431) * go_0(-1.0, -1.0); + result += mat4(-0.11143165, -0.077543005, -0.061455075, -0.037597977, -0.0023224957, -0.10979736, -0.034990564, -0.008420816, -0.094636045, -0.030254573, -0.06455877, -0.020989688, 0.018324712, -0.3669934, -0.350233, 0.037510827) * go_0(-1.0, 0.0); + result += mat4(0.104956195, 0.015602951, -0.051957965, 0.13510315, 0.010418954, -0.054195777, 0.018231759, 0.045083612, 0.09856977, -0.10220956, -0.029939203, 0.01315078, -0.29208857, 0.0017958464, 0.08760539, -0.09646556) * go_0(-1.0, 1.0); + result += mat4(0.046938017, 0.08242743, 0.13486576, -0.087577604, 0.1157099, 0.101392664, 0.14847688, 0.037801757, 0.018798033, -0.25906846, 0.097656235, -0.009259822, 0.10044328, 0.33434513, -0.15681681, -0.07497045) * go_0(0.0, -1.0); + result += mat4(0.113606565, 0.15215175, 0.056206945, 0.03135906, -0.06457102, 0.028175417, -0.06261949, -0.015601963, -0.048961632, 0.07163545, 0.0147160115, 0.037389677, 0.092339285, 0.26372424, 0.1122662, -0.058904216) * go_0(0.0, 0.0); + result += mat4(-0.21457312, 0.1408831, -0.08713026, -0.06950515, 0.006483218, 0.028784987, -0.02613041, -0.06227427, 0.024932534, -0.02103815, 0.080908604, 0.078669965, 0.19956729, -0.035375793, -0.046653055, 0.07523847) * go_0(0.0, 1.0); + result += mat4(-0.11979529, -0.15300119, -0.06692378, 0.0982862, -0.05148871, -0.16330053, -0.045053672, 0.022939514, -0.013373179, 0.38319084, 0.11172139, -0.07044107, 0.09208871, -0.07254955, -0.03284103, 0.05421524) * go_0(1.0, -1.0); + result += mat4(-0.09024579, 0.022398917, -0.084611446, 0.1254619, -0.0028836168, -0.092541836, -0.06697658, -0.09709128, 0.10234711, -0.1247404, 0.031691026, 0.0087786, -0.09046125, 0.059536055, 0.2076767, 0.15046969) * go_0(1.0, 0.0); + result += mat4(-0.18603326, 0.0022851937, -0.10218833, 0.18102962, 0.030617537, -0.005931309, -0.06299933, -0.13356128, -0.03377612, -0.009710565, -0.10352098, -0.20960933, 0.10586698, 0.018833099, 0.16208176, -0.048466753) * go_0(1.0, 1.0); + result += mat4(-0.004165509, -0.112526424, -0.1481008, -0.09386717, 0.017359056, -0.16117403, 0.065114655, 0.15273894, 0.0850914, -0.6033039, -0.102531776, -0.09553129, 0.06812466, -0.17199127, 0.009345428, -0.117129266) * go_1(-1.0, -1.0); + result += mat4(0.19360402, -0.2172338, -0.025270093, 0.041762922, -0.06813442, -0.1315374, -0.03864256, -0.083543435, -0.14600715, -0.10248121, -0.039856248, 0.034162194, -0.06736031, 0.07872902, -0.06577812, -0.07003804) * go_1(-1.0, 0.0); + result += mat4(0.2596632, -0.06779467, -0.061247632, 0.09280383, 0.15697475, -0.06379218, 0.117600165, 0.19564915, -0.043823496, 0.2113048, 0.1236739, 0.05126704, 0.0036669953, 0.059754487, -0.031676155, 0.07585315) * go_1(-1.0, 1.0); + result += mat4(0.2750924, 0.07154958, -0.043717247, 0.11531165, 0.07236982, 0.112787254, 0.024018776, -0.0073595895, 0.037517104, -0.06963889, -0.13254988, -0.1347438, 0.08744426, 0.036659624, -0.010376286, -0.0011054546) * go_1(0.0, -1.0); + result += mat4(0.21909392, -0.15014122, -0.1724268, -0.11459151, 0.07886104, -0.039391857, -0.086656936, -0.18109863, 0.13549148, 0.24947289, -0.11073447, -0.012388639, -0.06299071, 0.094953805, -0.018513478, 0.11858225) * go_1(0.0, 0.0); + result += mat4(0.14019133, 0.289657, -0.13005698, 0.08418524, -0.15852125, 0.2049765, -0.18946235, -0.03330375, 0.057983503, 0.17226145, -0.16830897, -0.047264732, 0.027640691, -0.010081246, 0.14454436, 0.081710726) * go_1(0.0, 1.0); + result += mat4(0.1674246, 0.28778687, 0.19290589, 0.086525135, 0.09838388, 0.1437797, 0.18871532, -0.31380877, -0.13105413, -0.15920939, -0.049839422, 0.025027066, -0.042670842, -0.07288023, -0.03385935, 0.03853164) * go_1(1.0, -1.0); + result += mat4(0.26396382, -0.09383774, 0.10738164, 0.058519054, 0.01883401, 0.023963995, -0.09510717, 0.25038752, 0.004994643, 0.26613802, 0.11163109, -0.09746982, -0.08012294, 0.092731714, 0.024274494, 0.040725235) * go_1(1.0, 0.0); + result += mat4(0.024282128, 0.07086445, 0.04124535, -0.04565769, -0.043728314, -0.15438943, 0.06610379, 0.07666126, -0.046235953, 0.04901646, -0.045347054, -0.0908177, 0.03715751, -0.09512116, 0.024934331, 0.019330366) * go_1(1.0, 1.0); + result += mat4(-0.0610446, -0.00039494174, 0.11040924, 0.09711379, -0.033694427, 0.042628422, 0.04497454, -0.08639888, -0.006714255, -0.1956921, -0.07696048, -0.1440855, -0.036684107, 0.08872227, -0.014518533, -0.081829615) * go_2(-1.0, -1.0); + result += mat4(0.03242377, 0.2742694, 0.15646815, 0.12491848, -0.097658925, 0.04652564, -0.20971832, -0.22238888, -0.045453016, -0.10306553, -0.14868681, -0.03697577, 0.037367497, 0.106009305, 0.0006840817, -0.06331295) * go_2(-1.0, 0.0); + result += mat4(-0.09252423, -0.260707, 0.060529877, 0.1422387, 0.13040084, 0.060533516, -0.15988415, 0.093058884, -0.063219644, 0.16596133, -0.0858158, 0.0010563346, -0.05912638, -0.14902595, -0.0055698613, -0.19287406) * go_2(-1.0, 1.0); + result += mat4(0.050616026, 0.027293183, 0.1349355, 0.06430556, -0.0017233352, 0.05913591, 0.111860454, 0.05829484, -0.036098555, 0.065207146, -0.049812254, -0.14549483, -0.12424656, 0.1472102, 0.031858474, 0.017159335) * go_2(0.0, -1.0); + result += mat4(0.018377563, 0.13093959, 0.15379103, 0.12314944, 0.040771928, -0.066829674, -0.05734121, 0.105038896, 0.29102528, -0.015173645, -0.004220056, -0.13141808, -0.20211789, 0.16278313, 0.09339586, -0.06485214) * go_2(0.0, 0.0); + result += mat4(-0.000521399, -0.3693901, 0.17483166, 0.16742888, -0.06343791, 0.042411476, 0.13772172, 0.064281724, -0.034507953, 0.03691756, 0.13490774, 0.10946845, 0.12370677, -0.03205938, -0.02645649, -0.15375873) * go_2(0.0, 1.0); + result += mat4(0.023370143, 0.11848177, 0.005112462, 0.026092546, 0.034971926, -0.08103188, -0.20400497, 0.06226299, -0.060475063, 0.035214186, -0.13627078, 0.045491677, -0.07321337, -0.10956125, 0.056908336, -0.0032308386) * go_2(1.0, -1.0); + result += mat4(0.076967224, 0.117254384, 0.03186256, 0.2218116, 0.05217254, -0.13943173, 0.058474854, 0.13177274, -0.019476373, 0.14138101, -0.012791203, 0.12705484, -0.013589421, -0.10622012, -0.0021916716, 0.015177393) * go_2(1.0, 0.0); + result += mat4(-0.061352234, -0.032728117, -0.16315818, 0.08222588, 0.013996033, 0.057500184, -0.11674498, -0.10170402, -0.03012877, -0.14447689, 0.032117244, 0.11841102, -0.0070680035, -0.15353645, 0.14097273, -0.12609388) * go_2(1.0, 1.0); + result += mat4(-0.1366668, 0.022588843, -0.06960645, -0.019482136, 0.008831277, 0.005849642, -0.042811397, -0.10104664, -0.21647254, -0.055100426, 0.10582604, 0.091224626, 0.16348936, -0.04480947, -0.08394584, 0.14027816) * go_3(-1.0, -1.0); + result += mat4(-0.05215042, -0.22153285, -0.07402603, -0.1395589, -0.26351386, 0.060670085, 0.12676051, 0.0018233472, 0.09564221, -0.14353068, 0.23205271, -0.026433198, -0.04914892, 0.09260728, 0.016136972, -0.037016835) * go_3(-1.0, 0.0); + result += mat4(-0.09228144, 0.028619789, -0.011197684, 0.043782573, 0.061469227, 0.019487167, 0.046048775, -0.060745444, -0.24178508, -0.11117579, 0.1313642, -0.20273723, 0.081280276, -0.015113924, -0.008701512, 0.038079187) * go_3(-1.0, 1.0); + result += mat4(-0.092076614, -0.14906341, -0.013150191, -0.1445046, 0.023577487, -0.088496424, -0.03039066, -0.028063597, 0.033408202, 0.105900854, -0.098281376, 0.09988187, -0.04934366, 0.1647861, 0.15974896, 0.0484809) * go_3(0.0, -1.0); + result += mat4(0.043313354, -0.079856, -0.29574707, -0.23970212, -0.23463657, -0.061711017, -0.12481534, 0.21037807, -0.010700073, 0.14672308, 0.15071099, -0.03755617, 0.072450034, 0.083081506, -0.001196162, -0.055120632) * go_3(0.0, 0.0); + result += mat4(0.20737736, 0.008907195, -0.11623631, -0.038137514, 0.037122898, -0.10322798, -0.065684326, -0.010471773, -0.12765402, -0.117699586, -0.012870391, 0.071912766, -0.03260932, 0.12864828, -0.035069928, -0.08712889) * go_3(0.0, 1.0); + result += mat4(-0.05578123, 0.056912176, 0.01512389, -0.14807466, -0.012101421, 0.10860546, 0.034598228, 0.07160875, 0.15761101, -0.4777804, -0.24159615, -0.006523453, -0.28167522, -0.14714232, -0.1693888, -0.111417554) * go_3(1.0, -1.0); + result += mat4(0.25981572, 0.1301148, -0.01769167, -0.10818973, 0.16135831, 0.024396034, -0.06722463, -0.032221332, -0.12383674, 0.038760092, 0.052030306, 0.077312715, -0.007761604, -0.12031171, 0.018808518, -0.103885494) * go_3(1.0, 0.0); + result += mat4(0.048577465, 0.025990447, -0.07106119, 0.15832591, 0.019197416, 0.044232063, -0.030652093, 0.011447957, 0.18041368, -0.28076535, 0.022676598, -0.15350787, -0.1514482, -0.2362105, 0.14161605, 0.030001758) * go_3(1.0, 1.0); + result += mat4(0.2541123, 0.050012548, 0.1707829, 0.025630053, 0.078972176, 0.17645672, -0.020095231, 0.03378738, -0.1328695, 0.04409738, -0.23381121, -0.013347802, -0.049448222, 0.07035769, 0.105488785, 0.08659344) * go_4(-1.0, -1.0); + result += mat4(0.10455444, 0.28242826, 0.16516706, -0.046555575, 0.13230863, 0.07463435, -0.14748469, 0.11881527, 0.2279376, 0.14795774, 0.21520549, -0.05650647, 0.11728158, 0.048864357, 0.040869843, 0.1442246) * go_4(-1.0, 0.0); + result += mat4(0.21203394, -0.06565692, 0.03824069, 0.011281014, -0.033808656, 0.12499576, -0.13186213, -0.043884885, 0.017813649, 0.18413112, 0.046354674, -0.05213395, -0.051737677, -0.07141214, 0.03402196, -0.06220277) * go_4(-1.0, 1.0); + result += mat4(0.05735565, -0.12864622, 0.051514987, 0.03940558, -0.08701596, -0.1948226, 0.034218855, -0.03742723, 0.15607446, 0.0327541, 0.04040029, 0.0028771486, -0.08412264, -0.016660625, -0.058885157, 0.09373861) * go_4(0.0, -1.0); + result += mat4(0.069591254, 0.018901952, 0.008289076, 0.08653302, -0.009072406, -0.11095817, 0.20987292, 0.016384758, 0.05693833, -0.118542574, 0.11310585, 0.073924355, 0.10250452, -0.043420166, -0.07558694, -0.10898524) * go_4(0.0, 0.0); + result += mat4(-0.030319573, -0.3339516, -0.0689396, 0.01270701, 0.2504168, -0.08088952, 0.048351087, 0.013527536, -0.04373888, -0.27049688, 0.052563794, 0.010002367, 0.038096514, 0.0740455, -0.17847466, -0.1106183) * go_4(0.0, 1.0); + result += mat4(-0.041473575, 0.036192052, -0.20958827, 0.09255741, 0.043088675, -0.07332803, -0.1566315, 0.19757885, 0.04752265, 0.14642613, 0.021630943, -0.105035484, 0.015669389, 0.015701298, 0.124771506, 0.028875854) * go_4(1.0, -1.0); + result += mat4(-0.0017878636, 0.06815434, 0.03952396, 0.0008930589, 0.10052908, -0.010179957, 0.090537265, 0.26063922, -0.027913721, -0.27610707, -0.0935186, 0.103001356, -0.013015698, -0.13290603, -0.036786307, -0.120041944) * go_4(1.0, 0.0); + result += mat4(0.008112194, 0.101246096, 0.10216113, 0.012162128, 0.16638301, 0.03442679, -0.013482703, 0.22639573, -0.106342115, 0.16007386, 0.1562559, 0.031520694, -0.04781568, 0.061812893, 0.063238494, -0.112484284) * go_4(1.0, 1.0); + result += mat4(-0.07636386, 0.02620731, -0.04784259, -0.0068134456, -0.098476306, -0.25026417, -0.26229498, 0.07999187, 0.08054805, -0.13999973, 0.038135037, -0.017274393, -0.07507948, -0.19170132, -0.111937724, -0.07482982) * go_5(-1.0, -1.0); + result += mat4(-0.102867655, 0.041831665, -0.26580745, 0.072875075, 0.122495115, -0.24738726, 0.01103763, 0.010455935, 0.10415628, 0.071636476, 0.24413374, 0.036024485, -0.14325532, -0.028743692, 0.09872556, 0.019074876) * go_5(-1.0, 0.0); + result += mat4(-0.08356808, 0.031134086, -0.0018714333, 0.052166995, -0.050258227, 0.015659487, -0.010771479, -0.094513185, 0.120308846, -0.16520835, 0.24742663, 0.0097768335, -0.26430902, 0.00096495246, -0.010277926, -0.03203841) * go_5(-1.0, 1.0); + result += mat4(-0.08886612, 0.045868922, -0.23351108, -0.11945227, -0.08114231, 0.1866038, -0.014666174, 0.10560594, 0.23003237, -0.031111564, 0.08909732, -0.004926665, 0.14808343, 0.012070922, 0.26077467, -0.13846008) * go_5(0.0, -1.0); + result += mat4(0.02067818, 0.010505095, 0.1236986, 0.004310499, -0.23058774, 0.4539795, -0.1107521, 0.2687594, -0.088774115, 0.08556259, -0.28480148, 0.16472621, 0.22381066, 0.04922506, 0.03720699, -0.019955777) * go_5(0.0, 0.0); + result += mat4(0.02878623, 0.08478639, 0.2798358, 0.08889886, 0.094446555, 0.022878725, 0.04060367, 0.008747965, 0.074154414, -0.36745515, -0.22710432, -0.17041051, 0.16977836, 0.18033457, -0.1422643, -0.06097858) * go_5(0.0, 1.0); + result += mat4(-0.1882957, 0.07039768, 0.012633585, 0.0782871, 0.03383675, -0.07504364, -0.006248557, -0.0551174, 0.075581536, 0.091343425, 0.07753647, -0.0019186279, -0.016886314, 0.16758795, -0.060557626, -0.16569303) * go_5(1.0, -1.0); + result += mat4(-0.13320294, -0.055567943, 0.05735829, 0.12787667, 0.04922832, -0.012577599, -0.13878204, -0.014323274, 0.06648109, -0.026210563, 0.019616883, -0.27789673, 0.051355522, -0.13060455, 0.039109703, 0.036932684) * go_5(1.0, 0.0); + result += mat4(-0.10139845, -0.22758122, 0.044597298, 0.07907936, -0.025654264, -0.10633203, 0.04071873, 0.22363085, 0.12398309, 0.36964926, 0.21903247, -0.3217227, 0.030226095, 0.07867376, 0.045920413, 0.102684624) * go_5(1.0, 1.0); + result += vec4(-0.06939391, 0.017302405, 0.023963664, -0.011060264); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_1_tf2 +//!SAVE conv2d_2_tf2 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.12172707, 0.08510432, 0.016999101, -0.03837886, -0.071940385, -0.028869554, -0.073142946, -0.018426571, -0.16583674, 0.02999741, -0.045404267, 0.07544135, -0.015742308, 0.051709145, 0.07165505, 0.15298915) * go_0(-1.0, -1.0); + result += mat4(-0.18608806, -0.08503095, -0.05690552, 0.20230335, 0.03255425, -0.07374758, 0.02050966, -0.0322938, 0.029025763, 0.045261286, 0.040862788, 0.0007141505, -0.040648397, -0.09871272, 0.06639088, -0.10357326) * go_0(-1.0, 0.0); + result += mat4(0.1160622, -0.021342635, -0.039825406, -0.19480887, 0.13462403, -0.06567422, 0.04279539, -0.012501501, -0.06882412, 0.24730788, -0.11261373, 0.15826169, -0.1942516, -0.011018759, -0.006282914, 0.15791936) * go_0(-1.0, 1.0); + result += mat4(-0.24771467, -0.029817501, -0.0072410326, 0.0049591805, 0.002406374, 0.06705227, 0.0746882, -0.021962378, 0.02235974, -0.09111428, 0.046035543, -0.05091351, 0.12882613, -0.0052345973, 0.20476472, -0.035007346) * go_0(0.0, -1.0); + result += mat4(0.07206948, 0.007837054, 0.004716684, 0.032783184, -0.1640229, 0.09656901, -0.024538686, -0.13850725, 0.0020381159, -0.119971916, -0.03598378, 0.098396435, 0.11248338, 0.013638009, -0.13411912, -0.091735974) * go_0(0.0, 0.0); + result += mat4(0.012680958, 0.0073848446, -0.15104567, -0.086190425, 0.017306415, -0.12165865, -0.030102974, -0.06412363, -0.048320986, 0.066044435, -0.037102707, -0.05550032, -0.022057295, -0.016380537, -0.023064991, 0.04324733) * go_0(0.0, 1.0); + result += mat4(0.014645644, 0.029250145, -0.19020447, 0.06094981, 0.06021305, 0.033002753, -0.08270684, -0.13078806, -0.078915745, 0.03234919, 0.0033177685, 0.025673114, -0.10040817, -0.11726593, 0.26478398, -0.021515043) * go_0(1.0, -1.0); + result += mat4(-0.03930199, -0.007856709, -0.010699159, -0.03138408, -0.25258276, -0.051078923, -0.17284779, 0.115362965, 0.20981595, -0.12642711, -0.07527823, -0.21674243, -0.05171349, -0.032929346, -0.11959963, 0.021577986) * go_0(1.0, 0.0); + result += mat4(-0.12679584, -0.00971076, -0.2065375, -0.10207124, 0.1189984, 0.13061368, 0.048184898, 0.009846873, 0.08049477, -0.052818604, 0.024915429, -0.089877605, 0.028596658, -0.049394336, 0.15412825, -0.25427133) * go_0(1.0, 1.0); + result += mat4(-0.042340282, 0.15739791, -0.0058195787, 0.11638454, -0.29605922, 0.04940588, -0.12277728, 0.06556332, -0.15141304, -0.007342225, -0.015176599, 0.19668026, -0.029852653, 0.1131092, 0.06274694, 0.19488528) * go_1(-1.0, -1.0); + result += mat4(0.17317021, 0.12034029, 0.023154281, -0.035767153, 0.023895182, 0.08562897, 0.010849429, 0.15511833, -0.071655706, 0.06762927, 0.110938646, -0.11194944, 0.088547744, 0.01826857, 0.10635028, 0.00079735904) * go_1(-1.0, 0.0); + result += mat4(0.1724684, 0.072277844, -0.07157608, 0.014533819, 0.21083286, -0.10260293, -0.042641845, -0.022131564, 0.15609416, -0.012785209, 0.1689822, 0.08156936, -0.05814626, 0.12873544, 0.013016528, 0.07162671) * go_1(-1.0, 1.0); + result += mat4(0.10265145, -0.15034834, -0.020390334, 0.051008113, 0.13483785, -0.036995072, 0.10197256, 0.07332627, 0.24034818, 0.041877862, 0.101294585, -0.038894523, -0.036132984, -0.09265928, -0.056219723, -0.02888855) * go_1(0.0, -1.0); + result += mat4(0.2652024, -0.01230703, 0.23594856, 0.0742723, 0.09739247, 0.0483161, 0.023852533, 0.17482124, -0.09551598, 0.07907358, 0.09280555, 0.27893403, -0.016893778, -0.15504459, 0.07111864, 0.17860727) * go_1(0.0, 0.0); + result += mat4(0.009993413, -0.034769267, 0.06733924, -0.026964549, 0.30227652, 0.0139632225, 0.049200308, -0.07578955, 0.061411507, 0.1924837, -0.008919774, -0.02543576, 0.08537961, 0.01291466, 0.07587885, -0.19892685) * go_1(0.0, 1.0); + result += mat4(0.079757795, -0.021056721, -0.119849935, -0.1829519, 0.25801504, 0.08255822, 0.09422877, -0.26859275, -0.17237917, 0.030880162, -0.073090166, 0.045552216, -0.15178613, 0.046667624, 0.05506945, 0.120318785) * go_1(1.0, -1.0); + result += mat4(0.13899504, 0.2106589, 0.09166694, -0.06926149, 0.13418478, 0.017007234, 0.027100448, -0.062565625, -0.021934774, 0.067251615, -0.10328445, 0.033577222, -0.050557505, -0.035202354, -0.062489368, -0.02470738) * go_1(1.0, 0.0); + result += mat4(0.15340589, 0.11806747, 0.20874004, 0.048173226, -0.05472843, 0.084544346, -0.043854542, -0.07571899, 0.036645986, 0.05016359, -0.074323095, -0.2529282, 0.13572234, -0.008771343, 0.11274458, 0.18037859) * go_1(1.0, 1.0); + result += mat4(0.021645557, 0.08299124, -0.051362146, 0.09342637, 0.0665058, 0.09216755, -0.0164684, 0.07281118, -0.0053016874, 0.032470454, 0.004089323, 0.009884544, -0.0046753073, -0.037279285, 0.12613527, 0.022236153) * go_2(-1.0, -1.0); + result += mat4(-0.06745298, -0.15038055, 0.11176774, -0.06209666, 0.017843692, 0.09113945, 0.10990877, -0.021071523, -0.111020654, 0.066645324, 0.04690986, -0.011084726, -0.15171939, 0.084783286, 0.24798997, -0.042696327) * go_2(-1.0, 0.0); + result += mat4(-0.05915715, -0.22595185, 0.061333664, -0.0924661, -0.013238295, 0.12872066, 0.076126665, 0.18921073, 0.01155994, 0.092524104, 0.07423282, 0.09467482, 0.070056126, -0.06073076, 0.030242696, -7.544676e-05) * go_2(-1.0, 1.0); + result += mat4(0.110107556, 0.0036358358, -0.013859793, 0.008409858, -0.021337144, -0.2092404, 0.054274913, 0.013595842, 0.058993395, 0.029181428, 0.15061715, -0.046964824, 0.044353873, -0.036482453, 0.22763032, -0.018364066) * go_2(0.0, -1.0); + result += mat4(0.20778932, -0.049483854, 0.24778971, -0.3266631, -0.11545233, -0.093305275, -0.4550674, 0.2352049, 0.0052719507, -0.045975342, -0.35826904, -0.058102172, -0.096291795, -0.11218896, 0.23879842, -0.03641578) * go_2(0.0, 0.0); + result += mat4(-0.109331824, 0.00814177, -0.08803353, 0.06688425, -0.09283131, 0.031705324, 0.040918272, 0.18237656, -0.07152109, 0.12277652, -0.059865803, -0.06869673, 0.11195339, -0.1325457, 0.1912906, -0.08553347) * go_2(0.0, 1.0); + result += mat4(-0.10984097, 0.15747224, -0.019459615, 0.24969575, -0.01159421, -0.027474519, -0.004108195, -0.062133413, -0.06384389, -0.08368246, 0.0023778875, 0.13171864, -0.05652675, 0.14332311, -0.15735596, 0.20150533) * go_2(1.0, -1.0); + result += mat4(0.078031205, -0.12403856, 0.04191835, -0.16050112, 0.11339027, 0.074540265, -0.15324953, -0.093895815, -0.0614043, -0.013293006, -0.12348063, 0.026803058, -0.1773178, -0.083579265, -0.054864556, 0.296814) * go_2(1.0, 0.0); + result += mat4(-0.053263642, -0.048648115, -0.010281689, 0.20099847, 0.190146, -0.0023872026, -0.010445226, -0.04350378, -0.017980015, -0.04147092, -0.08261166, -0.031094978, -0.046422567, 0.120881446, -0.054973155, -0.058380593) * go_2(1.0, 1.0); + result += mat4(-0.16745642, 0.07924586, -0.16717474, 0.06620602, 0.16495655, 0.0293633, 0.07890249, -0.30954084, 0.03467237, -0.20190205, 0.0014116743, -0.32280523, -0.14156029, -0.06447037, -0.21021147, 0.0687274) * go_3(-1.0, -1.0); + result += mat4(-0.04360317, 0.14327015, -0.06630513, -0.09011326, -0.0919624, -0.09085504, 0.024597472, 0.23315085, 0.039139662, -0.17370877, 0.048785537, -0.10094988, 0.010336257, -0.016844554, -0.05375775, -0.041789643) * go_3(-1.0, 0.0); + result += mat4(-0.04296336, -0.093379766, 0.005651271, -0.090673715, 0.021506978, -0.08289978, 0.16281237, -0.0939677, -0.10273288, -0.22043118, 0.062697254, -0.027947478, -0.08711271, 0.0077892793, -0.10296665, 0.049631704) * go_3(-1.0, 1.0); + result += mat4(-0.09388834, -0.02609863, -0.043841925, -0.020223266, -0.023729876, 0.07854283, -0.19361661, -0.02297985, -0.003995974, 0.03295993, -0.07480908, -0.03279157, 0.20216386, -0.06685853, -0.22405225, -0.22138701) * go_3(0.0, -1.0); + result += mat4(-0.041702025, 0.03686083, 0.051558632, 0.08093031, 0.0004725686, 0.0050831046, -0.31346506, 0.24020754, -0.012426937, 0.24121699, 0.0522848, 0.0524269, 0.0041041574, 0.20183508, 0.30658904, -0.099001035) * go_3(0.0, 0.0); + result += mat4(0.0057143304, 0.07863334, 0.030834159, -0.20045337, -0.14132334, -0.019685036, -0.041891463, 0.04859716, -0.19865768, -0.16805026, -0.21894583, 0.08326542, 0.1381732, 0.06524222, 0.14627486, 0.105718866) * go_3(0.0, 1.0); + result += mat4(-0.06811638, -0.07022535, -0.08053529, -0.019539276, -0.0013508294, -0.067808755, 0.14990425, -0.020371182, 0.2161962, 0.012578056, -0.07941276, -0.29615018, -0.11092915, 0.10959083, -0.38344857, -0.04684961) * go_3(1.0, -1.0); + result += mat4(0.05912716, -0.007058617, 0.0053731226, -0.20157285, -0.0039983774, 0.1626744, -0.15158534, -0.0880334, -0.095339596, -0.102986366, 0.16870484, 0.37301186, 0.046958193, -0.018308617, 0.2801249, -0.1583765) * go_3(1.0, 0.0); + result += mat4(0.03710428, 0.12427524, -0.15491271, 0.0521613, -0.104145944, -0.11358381, -0.11450005, -0.03948202, -0.022532975, 0.013648349, -0.05297846, -0.05551, 0.012648896, 0.013729304, 0.004389595, 0.033111174) * go_3(1.0, 1.0); + result += mat4(0.092548154, 0.12822087, 0.03935411, -0.03887123, 0.18817197, -0.010538254, -0.13670439, -0.073919185, 0.020497803, 0.030874884, 0.023953672, 0.0029225757, 0.1144403, -0.08691024, 0.05340699, -0.10702303) * go_4(-1.0, -1.0); + result += mat4(0.1613281, 0.05971506, 0.042405322, 0.005931725, -0.09373433, -0.06380234, -0.064201795, -0.014180793, 0.0671638, -0.01367733, 0.14260428, -0.11077721, -0.045686133, 0.056600757, -0.15297161, -0.005997308) * go_4(-1.0, 0.0); + result += mat4(0.24641256, 0.06483951, 0.060505014, -0.009762036, -0.04572455, 0.03593092, 0.03415938, -0.14721255, -0.107680336, 0.09697482, 0.016876915, 0.18656448, 0.016999245, -0.08490942, -0.040251363, -0.074220374) * go_4(-1.0, 1.0); + result += mat4(0.25207043, 0.11133333, 0.13421617, -0.10310646, -0.22712758, 0.11617119, 0.06397493, -0.011858522, -0.115762815, -0.050787542, 0.06386407, -0.1579078, -0.12903711, 0.084837236, 0.07354705, 0.02250288) * go_4(0.0, -1.0); + result += mat4(0.14158289, 0.07666087, -0.20075443, -0.010602763, -0.02820616, 0.0944957, 0.15453936, -0.15856305, 0.1749605, -0.12841891, -0.017792901, -0.10751241, -0.059640024, 0.13478336, -0.35048804, -0.20975049) * go_4(0.0, 0.0); + result += mat4(0.18300997, 0.0895379, 0.084789746, 0.092567876, -0.16524926, 0.1414963, -0.15058212, 0.13400394, -0.113864176, -0.05660036, -0.0001961134, 0.14347304, 0.16637255, -0.18054125, 0.009827294, 0.21254125) * go_4(0.0, 1.0); + result += mat4(0.11330536, 0.020117162, 0.049111363, 0.059246156, -0.17288256, -0.07703511, -0.064532675, 0.10420442, 0.100950584, -0.11876045, 0.013643637, -0.060119864, 0.16402918, -0.0701684, 0.10797075, 0.15408994) * go_4(1.0, -1.0); + result += mat4(0.034557853, -0.09076456, -0.06957025, 0.11215256, 0.09526117, -0.0033204784, -0.11551807, -0.03458551, -0.025462642, 0.0434891, 0.3050603, 0.053797644, 0.10751034, 0.060085565, 0.15370789, -0.2315563) * go_4(1.0, 0.0); + result += mat4(-0.046833776, -0.006102459, 0.1123578, 0.24187551, 0.03283197, -0.11041104, 0.20806998, 0.008368949, -0.1924367, 0.03361783, -0.045319956, -0.08859883, -0.2011492, 0.0912345, 0.048245467, -0.005335901) * go_4(1.0, 1.0); + result += mat4(-0.18253306, -0.0011128648, -0.044692483, -0.057080504, -0.05725425, -0.19065356, -0.03155062, 0.06648306, -0.014216424, -0.0038765708, -0.017490484, -0.15456702, -0.010514629, -0.08982491, 0.10435141, 0.030280044) * go_5(-1.0, -1.0); + result += mat4(0.01791952, 0.1946834, 0.16822097, 0.18846266, -0.075084575, -0.10975577, -0.12906383, 0.20190994, 0.10143081, -0.2725471, -0.035883784, -0.22165625, -0.15959083, -0.34200552, 0.15872408, -0.021841785) * go_5(-1.0, 0.0); + result += mat4(0.029525736, 0.04896955, -0.011629367, 0.011558814, 0.00933636, -0.12728998, 0.0053133606, 0.019774856, 0.099030845, -0.27376446, -0.08325353, -0.20274483, -0.26426545, -0.17067485, -0.14366214, -0.21118636) * go_5(-1.0, 1.0); + result += mat4(-0.009527981, -0.033085525, -0.00047734487, -0.040472545, 0.071459636, 0.0954099, -0.060635693, 0.036283012, 0.1324083, 0.050335824, -0.2460094, -0.04979816, -0.09456389, 0.09053007, 0.11540641, -0.21168198) * go_5(0.0, -1.0); + result += mat4(0.004067291, 0.1497142, 0.100381024, 0.083456755, 0.10807039, -0.05651095, 0.021606952, -0.005951023, -0.067543074, 0.21499002, -0.021271145, 0.20417792, 0.05860774, 0.20977509, -0.10931411, 0.16582364) * go_5(0.0, 0.0); + result += mat4(-0.05491801, 0.0055349297, 0.03950427, 0.007250093, -0.062947564, -0.14126986, -0.06730335, -0.034683496, -0.03981397, -0.21181524, 0.21769942, -0.103150204, -0.17016284, 0.048786215, -0.014319224, 0.17676318) * go_5(0.0, 1.0); + result += mat4(-0.14126709, -0.032334052, 0.05638739, 0.11381126, 0.30596843, -0.12634167, 0.23541147, 0.08096712, 0.09152563, 0.18567194, -0.25563926, -0.21220013, -0.10782045, -0.044764172, 0.14415121, 0.10968688) * go_5(1.0, -1.0); + result += mat4(-0.034708634, -0.037528913, -0.0846457, -0.24652602, -0.09284069, -0.103932016, 0.09996971, 0.04605858, 0.06597961, 0.06697364, -0.028432503, -0.032057744, 0.052634656, 0.02281619, 0.17896608, -0.1521084) * go_5(1.0, 0.0); + result += mat4(-0.0043455027, -0.07276675, 0.03043292, 0.07712516, -0.20799218, -0.25933886, -0.11458076, -0.0025673904, 0.08385744, 0.33315855, -0.035151098, -0.19899674, -0.005009251, 0.056176793, 0.045722242, 0.17721124) * go_5(1.0, 1.0); + result += vec4(-0.020202361, -0.0016936217, 0.023388062, 0.10373034); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!SAVE conv2d_3_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.2582688, 0.116867825, 0.009512264, -0.0022509228, 0.13270317, 0.019233711, 0.014508687, 0.01733284, -0.121534936, 0.2637504, -0.16833198, 0.08360115, 0.09262769, -0.09723933, -0.08402722, -0.06326682) * go_0(-1.0, -1.0); + result += mat4(0.32656944, 0.035490595, 0.014057071, 0.08615446, -0.001598092, 0.16362181, -0.10130158, 0.16792357, 0.03340437, 0.037359558, 0.09397945, 0.11016778, 0.08567979, 0.31809476, 0.085573055, -0.15427281) * go_0(-1.0, 0.0); + result += mat4(0.16257697, -0.03590016, -0.19049743, -0.13342945, 0.013655946, -0.11739747, -0.008941973, 0.015134444, -0.17258401, 0.17935902, 0.06434015, -0.06638789, 0.17013264, -0.171608, 0.07526482, 0.29814368) * go_0(-1.0, 1.0); + result += mat4(-0.14037174, -0.060715932, 0.012513121, 0.05294183, -0.05479372, -0.13937469, 0.01836811, -0.133735, -0.29546124, -0.14349708, 0.14202882, -0.03247825, -0.054209106, 0.002391278, -0.024334526, -0.10866433) * go_0(0.0, -1.0); + result += mat4(-0.098666176, 0.009357217, 0.14404769, -0.03864725, -0.21861532, 0.24275939, 0.3084927, -0.17814654, -0.06785066, -0.20976599, -0.010328756, -0.0075252843, -0.1265569, -0.3896638, -0.07620251, -0.17581807) * go_0(0.0, 0.0); + result += mat4(-0.028447198, 0.088148355, -0.11362386, 0.032440383, -0.017401151, 0.2062452, -0.1613577, -0.07957526, 0.31136703, -0.06775296, -0.019393584, -0.063142054, -0.12292114, 0.010548703, 0.03203177, -0.053964596) * go_0(0.0, 1.0); + result += mat4(0.108504035, -0.20656614, -0.04412517, -0.047383796, 0.038306333, -0.20189808, -0.07821153, -0.0229348, 0.10628414, -0.015934726, -0.08728048, -0.17359804, 0.17790003, 0.085666224, -0.11872538, -0.007298351) * go_0(1.0, -1.0); + result += mat4(0.024346102, -0.0066076764, -0.011155871, -0.057157155, -0.04878886, 0.121565156, 0.094774745, -0.021847744, 0.04866778, 0.07184023, 0.26012063, -0.07480458, -0.29240155, 0.12562081, 0.01449463, -0.028680477) * go_0(1.0, 0.0); + result += mat4(-0.12557116, 0.034923933, -0.095903516, -0.03958003, 0.26028237, -0.017168928, -0.13332075, 0.15662631, 0.065815985, -0.035664845, 0.045483954, -0.015463682, -0.093050554, 0.17345443, 0.069853716, 0.012629484) * go_0(1.0, 1.0); + result += mat4(-0.06156731, 0.07782055, -0.10174533, -0.020296015, -0.11969389, -0.060097698, 0.13305716, 0.16102178, 0.024139002, -0.02605331, -0.07594407, 0.19671421, -0.12202574, 0.14988048, 0.015957702, -0.04196926) * go_1(-1.0, -1.0); + result += mat4(-0.34706548, 0.043015823, 0.13185433, 0.10132207, 0.007556987, -0.043371882, -0.08854469, 0.1748955, -0.1481482, 0.031284038, 0.120617144, 0.21384451, -0.08435913, -0.049537454, 0.049118094, 0.01525446) * go_1(-1.0, 0.0); + result += mat4(0.09368386, -0.057292625, -0.17107973, 0.102038346, -0.21283975, 0.29275435, -0.039638165, -0.14761256, -0.0026279686, -0.1902631, -0.14120182, 0.26573882, 0.0017522989, -0.06337007, 0.14134108, -0.015992256) * go_1(-1.0, 1.0); + result += mat4(0.04090445, -0.15472308, 0.0086197965, -0.08812333, 0.079468906, -0.16199878, 0.15031399, -0.03220131, -0.08283918, 0.18892156, -0.11201425, 0.143803, 0.027449837, -0.15672483, -0.09222757, -0.0074415365) * go_1(0.0, -1.0); + result += mat4(0.10325783, 0.01752857, 0.10529392, -0.04568797, 0.017125184, -0.18414256, 0.109236374, -0.05950773, -0.07963555, 0.22193272, 0.009846993, -0.028046092, -0.28534588, -0.040712982, -0.018419487, 0.040993705) * go_1(0.0, 0.0); + result += mat4(-0.07601499, 0.14913873, -0.11738921, -0.21686155, -0.09468833, -0.10593258, -0.13899745, -0.08376532, -0.21147677, 0.0016611695, -0.12994987, 0.06078483, 0.007183634, 0.22829083, 0.054238643, 0.025317933) * go_1(0.0, 1.0); + result += mat4(-0.020357948, -0.06775977, 0.04134854, -0.19611607, 0.21193837, 0.19103523, 0.1623303, -0.07516307, 0.09373488, -0.18499903, 0.122855246, 0.06162072, -0.06930552, 0.040520284, 0.066090606, 0.06882486) * go_1(1.0, -1.0); + result += mat4(0.07091698, 0.027023822, 0.014318926, -0.096747, 0.2213003, -0.26515988, 0.027153777, -0.06498218, -0.1544758, -0.072314575, 0.060353238, 0.0008735325, 0.10359162, -0.040275127, 0.03365087, 0.067658685) * go_1(1.0, 0.0); + result += mat4(-0.010807538, -0.032808676, 0.0016953531, -0.07662512, 0.0726062, -0.018007128, -0.10622275, -0.25853804, 0.059124377, 0.1262254, -0.093686275, 0.013412181, 0.17268743, -0.0634091, -0.2380408, 0.061805595) * go_1(1.0, 1.0); + result += mat4(0.0589103, -0.13791196, -0.054214116, -0.10432153, -0.009462091, -0.06466445, -0.10792851, 0.0046791825, 0.034062322, 0.0810174, 0.112342946, 0.14306374, 0.0536091, -0.056520145, -0.14358906, 0.1730281) * go_2(-1.0, -1.0); + result += mat4(0.102546036, -0.0005907261, 0.06815491, 0.054100085, 0.012063651, 0.13010375, 0.076584436, 0.10106609, 0.07464082, 0.12651648, -0.13567902, 0.12329812, 0.036417592, -0.030062713, -0.07439, -0.06734716) * go_2(-1.0, 0.0); + result += mat4(-0.06956145, -0.0320128, 0.0069283135, 0.0010382348, -0.15168677, -0.07246775, -0.1870489, 0.081376776, -0.12240719, 0.040261835, -0.114711486, 0.11216043, 0.039739948, 0.064421944, -0.11448801, -0.11656052) * go_2(-1.0, 1.0); + result += mat4(-0.029262811, 0.07973898, 0.014937532, 0.17416446, -0.13320738, 0.09951435, -0.09681337, 0.24465284, 0.0027678797, 0.054772142, 0.11334623, -0.062660255, 0.06494805, -0.014957246, -0.016339006, 0.0065059843) * go_2(0.0, -1.0); + result += mat4(-0.19118161, 0.24356417, -0.17327957, 0.06050448, -0.097790115, -0.38453653, 0.045624297, 0.04574299, -0.15803054, -0.5270604, -0.04556698, -0.13112716, -0.026057608, 0.13840397, -0.04413626, -0.06273916) * go_2(0.0, 0.0); + result += mat4(0.029510414, -0.005691187, 0.05228498, 0.028585492, 0.18082422, -0.032805815, 0.007563971, 0.08991763, 0.105824, 0.02457178, 0.055056915, -0.060770642, -0.011407322, -0.11525285, -0.04518266, -0.04449915) * go_2(0.0, 1.0); + result += mat4(0.14025277, -0.18081227, 0.014395497, -0.09138814, -0.09448127, 0.2532618, 0.08094696, 0.050620202, 0.040627994, 0.17808948, 0.0933771, -0.04734779, -0.025526097, 0.0038422223, 0.05230542, -0.101145774) * go_2(1.0, -1.0); + result += mat4(-0.07215562, -0.058965042, 0.038303573, 0.0009963732, -0.059399143, 0.15957262, 0.035185594, 0.0719169, 0.08515627, 0.09775558, 0.13178122, -0.0837824, 0.014349278, 0.038491696, 0.071876876, 0.0345376) * go_2(1.0, 0.0); + result += mat4(0.040965024, -0.030738113, -0.05919069, -0.14155431, 0.09109957, -0.099060595, -0.10192779, 0.033825647, 0.11551892, -0.04282345, 0.020072978, 0.035168435, 0.10797329, -0.0584945, -0.024158757, -0.03585887) * go_2(1.0, 1.0); + result += mat4(0.11656172, -0.03488785, 0.090906724, -0.0032958854, 0.11268224, 0.070826046, 0.008982598, -0.14222313, 0.0025792273, -0.07585458, -0.021171344, -0.10144507, 0.24918565, 0.004032981, 0.032430686, -0.012328044) * go_3(-1.0, -1.0); + result += mat4(-0.22021858, 0.06875914, 0.004574366, -0.0694593, 0.11509186, -0.25873652, -0.08872615, -0.024206636, 0.15076822, -0.14054653, -0.045519873, -0.04547437, -0.22077747, -0.054121707, 0.049612578, 0.10545096) * go_3(-1.0, 0.0); + result += mat4(-0.069911204, 0.078573205, -0.073091984, 0.015637126, -0.23398215, 0.12185918, 0.08496631, -0.063231654, 0.14004779, 0.07965737, 0.14457273, -0.057528477, -0.0971965, 0.10445598, -0.054162677, -0.11529022) * go_3(-1.0, 1.0); + result += mat4(-0.12595661, 0.16308525, 0.09465576, -0.05046868, 0.1799443, 0.115778774, -0.13534002, 0.09609113, 0.107355125, -0.07263705, -0.04365324, 0.10355821, -0.023942605, 0.026093582, 0.009621531, 0.06096017) * go_3(0.0, -1.0); + result += mat4(0.1272364, -0.07220049, 0.041847665, 0.17912698, -0.03009012, 0.06394436, -0.03263169, -0.04573203, -0.07620046, 0.42576316, 0.042653862, 0.13744949, 0.23633486, 0.10078774, -0.121353894, 0.12101121) * go_3(0.0, 0.0); + result += mat4(0.03558598, -0.1297437, -0.05971473, 0.17683595, 0.1725135, 0.052228056, 0.08043958, -0.09891566, 0.03620246, -0.07612062, 0.0671727, 0.037559096, -0.14037324, 0.021277385, -0.04257818, 0.17619017) * go_3(0.0, 1.0); + result += mat4(-0.11092632, -0.00013030393, 0.12967736, -0.22887622, -0.08721344, 0.054407217, 0.07632402, -0.08394438, -0.071129434, 0.11594225, -0.058196247, 0.020942273, -0.123769015, -0.114318974, 0.03252267, 0.07218774) * go_3(1.0, -1.0); + result += mat4(-0.11842664, -0.044281907, 0.07725646, -0.09330976, -0.028858917, -0.10954367, 0.04575166, -0.026068112, -0.06559436, -0.2284913, -0.19561197, -0.0016185943, 0.11867088, -0.038570896, 0.08526274, 0.019519364) * go_3(1.0, 0.0); + result += mat4(0.0822196, -0.0037142867, 0.08382291, -0.013849318, -0.13749887, 0.044966772, 0.04564233, -0.00618037, -0.052107867, 0.033819627, -0.03494537, 0.024765901, -0.10504158, -0.028348709, -0.0089757275, 0.030026745) * go_3(1.0, 1.0); + result += mat4(0.053351242, 0.056979094, -0.060212657, 0.14301975, 0.17891912, -0.032538075, 0.011639607, 0.035919394, 0.04533616, -0.12939154, -0.041703038, 0.0071665174, -0.19303554, 0.018363694, 0.08923668, 0.020215489) * go_4(-1.0, -1.0); + result += mat4(0.038452573, 0.1614918, -0.022068001, 0.0030016324, -0.2680856, 0.21928017, 0.085351996, 0.049881425, 0.058913168, -0.044736963, 0.016097903, 0.21123125, 0.079624146, -0.16535924, 0.06877731, 0.1305827) * go_4(-1.0, 0.0); + result += mat4(0.05783186, -0.219528, 0.0816723, 1.3595931e-05, -0.02902699, -0.12913156, -0.40516803, -0.028480045, 0.12000909, 0.081304125, 0.053406257, -0.08878543, 0.02251961, 0.12547138, -0.20464425, -0.05598181) * go_4(-1.0, 1.0); + result += mat4(-0.15702735, 0.21000047, 0.08434562, 0.27938238, -0.03068116, -0.004006084, 0.19768693, 0.066732645, -0.055060755, -0.16314429, 0.028655436, 0.021063909, -0.028578848, -0.008238495, 0.12807982, -0.0071345936) * go_4(0.0, -1.0); + result += mat4(-0.17309058, -0.18169925, -0.14182782, 0.107684694, -0.1117235, 0.19443877, 0.101682656, 0.030993309, -0.12313995, -0.048883304, -0.11149261, 0.12847972, 0.28405818, 0.20219465, 0.015797788, 0.123306856) * go_4(0.0, 0.0); + result += mat4(-0.07962997, 0.06323938, 0.045708194, 0.0020409136, -0.0022456956, 0.010837137, 0.014872806, -0.060870074, 0.13772255, 0.005320253, 0.05848208, 0.14984395, -0.037590872, -0.07464743, -0.16873243, 0.019905593) * go_4(0.0, 1.0); + result += mat4(0.13775061, 0.032707028, 0.13456069, 0.05904891, 0.046821773, -0.22715594, 0.056300808, -0.15724476, -0.07337338, 0.19666758, -0.013393664, 0.04086994, 0.12254266, -0.08695188, -0.11076954, -0.15678991) * go_4(1.0, -1.0); + result += mat4(0.07177161, 0.01181348, -0.07497793, -0.085427515, 0.039396375, -0.0035293372, 0.20881353, -0.057439566, 0.15257393, 0.16040947, -0.027684899, 0.16330487, -0.054777898, 0.07572324, -0.03833461, -0.017093522) * go_4(1.0, 0.0); + result += mat4(0.000963837, -0.00780663, -0.023343472, 0.18377425, 0.32722053, -0.08156815, -0.11247523, -0.12714005, 0.18326895, -0.16434003, 0.052783884, 0.2168339, 0.03372009, 0.024008008, -0.1949321, -0.11585071) * go_4(1.0, 1.0); + result += mat4(0.07887302, -0.043003492, -0.16841368, 0.023287356, -0.15838705, 0.21706697, 0.16976407, 0.11461476, -0.062454503, 0.08966307, 0.10723603, -0.029792916, -0.03903073, -0.06255455, 0.025979951, -0.09530182) * go_5(-1.0, -1.0); + result += mat4(-0.0917689, 0.12646815, -0.11529587, 0.06925059, -0.18619959, -0.05243984, 0.16720963, -0.07121025, -0.04476961, 0.0074207215, 0.16076323, -0.14866208, 0.042807475, -0.08767046, -0.005694572, -0.11727041) * go_5(-1.0, 0.0); + result += mat4(-0.0062040854, -0.00097002264, -0.058491956, -0.035364915, 0.040115915, -0.10968144, 0.046607487, 0.23429875, -0.11210956, 0.034507494, -0.07195393, -0.16490693, 0.047223017, -0.044811487, -0.11060463, -0.14174072) * go_5(-1.0, 1.0); + result += mat4(-0.14469296, 0.0862561, 0.027785733, 0.005940194, -0.0062618204, -0.015266768, -0.067160904, -0.17241345, -0.060631767, 0.024863401, 0.056833714, -0.063885145, -0.14061876, -0.042549785, 0.036430426, 0.14348027) * go_5(0.0, -1.0); + result += mat4(0.3022943, -0.19899924, 0.19672908, -0.09840718, 0.14039348, 0.105976574, -0.14415087, -0.06547584, 0.3070416, 0.40989116, 0.009514016, 0.018336622, 0.08806178, 0.07710675, -0.03551256, -0.04064369) * go_5(0.0, 0.0); + result += mat4(0.16016869, -0.12516344, -0.011240568, -0.1443897, -0.009084668, -0.1618983, 0.06672594, -0.30417737, -0.09547601, -0.09057253, 0.08657728, 0.036226142, -0.0022018533, 0.12780087, 0.0029589643, 0.12111095) * go_5(0.0, 1.0); + result += mat4(-0.1765741, 0.03653064, -0.03139237, 0.057462048, 0.16041194, -0.2303424, -0.11946362, -0.1788824, 0.098096356, -0.18419504, 0.021373387, -0.1157983, 0.079671614, -0.03361971, 0.06394305, -0.0101026185) * go_5(1.0, -1.0); + result += mat4(-0.01576709, 0.11476761, -0.041474868, 0.13242105, -0.056526344, 0.024517184, -0.21629438, -0.010624098, -0.0053918827, -0.19187245, -0.12927179, -0.08489797, 0.055730473, -0.043147404, -0.03800261, 0.048107833) * go_5(1.0, 0.0); + result += mat4(-0.0014053301, -0.046847776, 0.004571536, 0.18300104, -0.053145096, 0.057801194, 0.2322556, 0.22864385, 0.0040904162, -0.037985127, 0.041369, -0.065972395, 0.16685532, -0.091719486, -0.1425869, -0.10230388) * go_5(1.0, 1.0); + result += vec4(0.00803133, -0.020707153, 0.0056995153, -0.052884795); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.12893085, -0.12928686, 0.12365234, -0.021265296, 0.15424967, -0.0063038417, -0.027432516, -0.10297197, 0.118751466, -0.058228746, -0.10025376, 0.0027489034, 0.0073948866, 0.040659092, 0.08120041, -0.12702137) * go_0(-1.0, -1.0); + result += mat4(-0.02242042, 0.114516795, -0.042158883, -0.14150862, -0.18976203, 0.109531336, 0.03548168, -0.1681465, -0.13782959, 0.07437085, -0.045712702, -0.09431652, -0.0029079607, 0.05180383, 0.07098421, -0.2149384) * go_0(-1.0, 0.0); + result += mat4(0.3218102, 0.0013506162, 0.12795919, -0.10901241, -0.08859676, -0.06861104, -0.014102381, 0.0051467894, -0.16305672, 0.022653125, -0.019810826, -0.05701206, 0.1842382, -0.074959196, -0.07368022, -0.046023685) * go_0(-1.0, 1.0); + result += mat4(-0.099247254, -0.2161521, -0.095611826, -0.0179061, -0.0067561218, 3.99846e-05, 0.01254028, -0.056954045, -0.0075805853, -0.082335606, -0.053469665, 0.25761604, -0.049429264, -0.08763215, 0.051362507, -0.030518934) * go_0(0.0, -1.0); + result += mat4(0.13518652, 0.05463841, -0.07654066, 0.023629244, -0.23324661, 0.04781438, -0.20902736, 0.10330495, -0.16452856, 0.235407, -0.022236459, 0.036046103, -0.08613043, -0.012954787, 0.043111194, 0.021807853) * go_0(0.0, 0.0); + result += mat4(0.11316856, -0.027803158, -0.026492868, -0.0030439082, 0.063926555, -0.09612654, -0.22492981, -0.13748476, 0.06954571, -0.008035041, -0.04846681, -0.23352449, -0.06676289, 0.13268302, 0.037954323, -0.0342029) * go_0(0.0, 1.0); + result += mat4(-0.18148762, -0.06975972, -0.21924862, -0.03831989, 0.09057307, -0.06784279, 0.05716139, 0.032582354, 0.32728904, 0.03561464, -0.06930132, 0.13582717, -0.04723415, 0.053298444, -0.1580453, 0.029922115) * go_0(1.0, -1.0); + result += mat4(-0.13381054, 0.06294187, 0.04273711, -0.089835554, -0.042215306, 0.04515037, -0.01970211, 0.07447383, -0.12915656, 0.087721184, 0.122159, 0.17817122, 0.05233303, 0.053456925, -0.22769327, 0.17450784) * go_0(1.0, 0.0); + result += mat4(0.062324032, 0.056449406, 0.070776984, 0.070366256, 0.15072031, -0.20342071, 0.118405774, -0.11357599, 0.23603258, -0.17724364, 0.028237892, 0.07491812, 0.015638597, 0.20543055, -0.05863285, 0.06565301) * go_0(1.0, 1.0); + result += mat4(-0.07647028, 0.2292153, 0.019423103, -0.06965646, -0.107311614, -0.19989595, -0.06673964, -0.027954143, 0.0017375473, -0.048038438, 0.052211836, -0.042501964, -0.1372413, -0.2437919, -0.15933524, -0.07229055) * go_1(-1.0, -1.0); + result += mat4(-0.023719285, 0.05654754, 0.09026341, 0.020072227, -0.12716366, -0.013687293, -0.1312343, -0.06847118, 0.016806766, -0.10526531, -0.011248162, 0.12535807, -0.12538499, -0.042496204, -0.076355785, -0.0017766576) * go_1(-1.0, 0.0); + result += mat4(0.039450683, -0.049502935, -0.009162741, 0.015372251, -0.14449993, -0.06564991, -0.093242005, -0.018039258, -0.2410318, 0.020259766, -0.040783074, -0.05092842, -0.023994599, -0.037968505, 0.052206438, -0.10967312) * go_1(-1.0, 1.0); + result += mat4(0.13721816, -0.1571525, 0.09432105, 0.023277072, -0.073701076, -0.13941942, -0.02705892, 0.06508469, -0.17687775, -0.07433723, -0.11237514, -0.015321937, -0.31670073, -0.09665636, -0.11843665, -0.030077526) * go_1(0.0, -1.0); + result += mat4(-0.09092922, 0.088340946, 0.1001261, 0.05962185, 0.07731374, -0.09623944, -0.03218285, 0.04484794, -0.10394964, 0.111483194, -0.07343945, 0.15182221, 0.27208853, 0.024986237, -0.058641106, -0.039870527) * go_1(0.0, 0.0); + result += mat4(0.03685333, -0.014777545, -0.0064948527, 0.060336027, -0.04251398, -0.004589828, -0.025893224, -0.075040996, 0.007964778, 0.22512783, -0.033568367, 0.052608117, 0.2143682, 0.21318182, -0.06253117, -0.055562623) * go_1(0.0, 1.0); + result += mat4(0.07906376, -0.015447189, -0.045265637, 0.066810004, 0.07202818, -0.07874254, -0.071680374, 0.009017687, 0.07042464, 0.016754108, 0.017237889, 0.0106343115, -0.042138606, -0.11085673, 0.14738452, -0.10718694) * go_1(1.0, -1.0); + result += mat4(-0.07745664, 0.16073377, -0.01899363, 0.07030874, 0.058903817, -0.065876774, 0.020186676, 0.09385477, 0.14517148, 0.053237557, -0.16942556, -0.04716224, 0.13748227, 0.17071299, 0.12176032, 0.07409275) * go_1(1.0, 0.0); + result += mat4(0.09208682, 0.029487375, -0.057159107, 0.025398627, 0.12468226, 0.034707896, 0.010541767, -0.032418035, 0.11508723, 0.050812677, -0.08127881, 0.0052238777, 0.15403835, -0.17993934, 0.071115926, 0.0059663) * go_1(1.0, 1.0); + result += mat4(-0.053597223, -0.00758354, -0.011711322, 0.12876037, -0.022196915, 0.045487616, 0.02135921, 0.010447794, 0.063635394, 0.09686383, -0.05077074, 0.072695896, -0.02443565, -0.045984466, -0.025993166, -0.08304488) * go_2(-1.0, -1.0); + result += mat4(0.1321831, 0.017644621, 0.16513684, 0.0659792, 0.09676037, -0.07867503, 0.04669573, -0.04401741, 0.23034973, 0.10561144, -0.1184282, 0.13691261, -0.18894893, 0.21760973, 0.08807475, -0.19776659) * go_2(-1.0, 0.0); + result += mat4(-0.053137053, -0.07991928, -0.09902317, 0.017081713, -0.021857716, 0.011578801, -0.0009752623, 0.043588534, 0.11997389, 0.0027668865, -0.09973271, 0.065404624, -0.07151649, -0.017840967, -0.0188252, -0.14957094) * go_2(-1.0, 1.0); + result += mat4(0.13721272, 0.04459704, -0.0069692475, 0.07410797, -0.13855937, 0.021286163, -0.04160423, -0.05980007, 0.027626112, 0.092742406, -0.032267787, -0.00358655, 0.12470872, 0.09738248, 0.06565896, -0.1076945) * go_2(0.0, -1.0); + result += mat4(0.12965658, -0.110055126, -0.08762725, 0.031792786, 0.11524638, -0.09530289, 0.07955128, 0.0049232226, 0.07190261, -0.010207877, -0.26513076, 0.045152593, -0.16932993, 0.091321826, 0.11550899, -0.100929074) * go_2(0.0, 0.0); + result += mat4(-0.1674921, 0.0907835, -0.033396322, -0.03168371, 0.013580539, 0.047018647, 0.028963672, 0.04756761, -0.08714202, -0.2602012, -0.12279786, 0.18663418, -0.07781514, -0.013219039, 0.006731288, 0.005795019) * go_2(0.0, 1.0); + result += mat4(0.01206949, -0.047031406, -0.060451232, 0.027200127, -0.1178311, 0.14014901, 0.25840858, -0.14889579, -0.11640469, -0.01811908, -0.09255012, -0.08351582, 0.086520575, -0.021090247, 0.08717082, 0.043429427) * go_2(1.0, -1.0); + result += mat4(0.020278929, -0.15339202, 0.041678756, 0.07180138, -0.0635027, -0.088976234, -0.04092133, 0.07997308, -0.134963, -0.015960857, -0.060887713, -0.07916197, 0.20483045, -0.12640053, 0.10478231, 0.04803776) * go_2(1.0, 0.0); + result += mat4(-0.03549656, 0.033666074, 0.20228225, -0.096664, -0.00096604426, 0.20793179, 0.09613217, -0.053552672, 0.051677585, -0.018252494, 0.07543575, 0.006295734, 0.046456967, -0.16520908, 0.0120992735, -0.015491354) * go_2(1.0, 1.0); + result += mat4(0.09486195, 0.0862073, 0.04189838, 0.0026638226, 0.09820532, 0.1007168, -0.022186898, -0.05491984, -0.13535279, 0.046514615, 0.09563633, 0.021364952, -0.23145446, 0.05070801, -0.022965223, -0.18874952) * go_3(-1.0, -1.0); + result += mat4(0.05885208, -0.022751214, -0.015712557, 0.157172, 0.05131988, -0.09524327, -0.045114886, 0.05928359, -0.001745961, -0.035245676, -0.010552595, -0.06321781, -0.15489094, 0.017822266, -0.06018634, 0.06429225) * go_3(-1.0, 0.0); + result += mat4(0.1243866, 0.014742004, -0.07896682, 0.2792386, -0.08055696, -0.0067778644, 0.0407617, 0.1389886, -0.02221008, 0.07494927, -0.11067403, 0.026464086, -0.009520921, 0.015791653, 0.021943323, 0.12500213) * go_3(-1.0, 1.0); + result += mat4(-0.08929889, 0.09244356, 0.130978, -0.03720041, 0.07869226, 0.13067861, 0.104627624, -0.01922214, 0.03561331, -0.031736456, 0.15136853, 0.0128885005, -0.16457924, -0.028147755, 0.13005957, -0.07908654) * go_3(0.0, -1.0); + result += mat4(-0.020705838, 0.0936515, -0.026146421, 0.030703338, 0.032063864, 0.14091234, -0.021708539, -0.056303035, -0.007502981, -0.1276548, -0.15350288, -0.04722333, -0.049264792, -0.016106946, 0.035777904, 0.10648118) * go_3(0.0, 0.0); + result += mat4(0.16387826, -0.059457906, 0.009808255, 0.030755969, 0.05709708, 0.0025975339, 0.021356652, -0.023887865, -0.15327913, -0.03702513, -0.041953377, 0.0049483287, 0.1434395, 0.08557114, -0.07722993, 0.22481233) * go_3(0.0, 1.0); + result += mat4(-0.20757784, -0.05194353, -0.17085314, -0.12557504, -0.056353815, 0.06583933, 0.005532102, -0.0040489454, 0.23847903, -0.08254601, -0.20940065, 0.1251241, 0.14838001, -0.12861559, -0.04664337, 0.07232125) * go_3(1.0, -1.0); + result += mat4(-0.010124613, -0.07096996, -0.1366236, 0.0018079067, -0.041023795, 0.12729517, 0.24600507, -0.07845422, 0.31226948, -0.023518091, -0.0023672595, 0.058046557, 0.1718256, -0.05916957, 0.0067618093, 0.08826252) * go_3(1.0, 0.0); + result += mat4(-0.0013852714, -0.02530485, 0.12499248, -0.047640886, 0.06515882, 0.009700978, -0.005210036, -0.0332508, -0.135034, 0.07050036, 0.06152617, 0.02243357, 0.20835938, 0.041327897, 0.047491845, -0.017284496) * go_3(1.0, 1.0); + result += mat4(-0.2511675, 0.2016235, -0.22534974, -0.29850873, -0.014898309, 0.034321953, -0.14487329, 0.029454721, 0.05068056, -0.09661999, 0.00070758525, 0.06925706, -0.19870853, -0.0871149, 0.13158658, -0.09995704) * go_4(-1.0, -1.0); + result += mat4(-0.22352318, -0.073506966, -0.11625505, 0.0049028546, 0.029848805, -0.06952766, -0.043236732, 0.13255614, 0.093998544, 0.17581578, -0.0004033081, -0.12263665, -0.17329359, -0.11587317, 0.059647266, -0.02954624) * go_4(-1.0, 0.0); + result += mat4(-0.057583325, 0.056015383, 0.11960743, 0.033696633, -0.14805156, -0.10933173, -0.08482661, 0.07473009, 0.040999115, -0.0995941, -0.005304712, 0.04729056, -0.09739792, 0.07000572, -0.12560466, 0.023240168) * go_4(-1.0, 1.0); + result += mat4(-0.1967497, 0.093729794, -0.05857918, -0.12817049, -0.034558292, 0.016039368, -0.12012142, -0.017481307, 0.0391479, -0.10992257, 0.015143992, 0.01391454, 0.051010676, 0.012996939, 0.041216355, 0.08623047) * go_4(0.0, -1.0); + result += mat4(0.21069938, -0.066038206, -0.015458416, -0.097732425, 0.051942978, -0.03459923, -0.05756448, 0.14080645, 0.055423364, -0.06490901, -0.07402898, -0.16263707, -0.07290088, -0.058713708, 0.06723124, 0.069584474) * go_4(0.0, 0.0); + result += mat4(0.09618103, 0.055036288, 0.09001422, 0.027986465, -0.018399306, -0.07295329, 0.06687392, 0.06653489, -0.06524778, -0.11760177, -0.004764932, -0.10559294, 0.16195896, -0.22127731, -0.0060094665, -0.0073161777) * go_4(0.0, 1.0); + result += mat4(-0.006081162, 0.09074974, 0.1387847, -0.012516454, 0.040442165, 0.024901407, 0.019887343, -0.012545043, 0.040630046, 0.06390039, -0.088361576, -0.07775115, -0.016567666, -0.048221476, 0.00507668, 0.00015517596) * go_4(1.0, -1.0); + result += mat4(0.27623588, -0.29454315, -0.09558771, 0.016047282, 0.12541397, 0.06766668, 0.012096932, -0.051367834, -0.20859776, -0.20424904, 0.1920475, -0.12987578, 0.08319857, -0.05495395, 0.043287907, -0.027431363) * go_4(1.0, 0.0); + result += mat4(0.1666435, -0.10736637, -0.039772738, 0.06555994, 0.06329126, -0.004524732, 0.027252503, -0.018687485, -0.0827318, -0.17353283, -0.17264223, 0.0050896755, 0.08507919, -0.19379872, 0.14229794, -0.0837528) * go_4(1.0, 1.0); + result += mat4(0.10103022, 0.2500691, 0.11863092, 0.04184915, 0.07104669, 0.11822421, 0.040399753, -0.05503637, -0.03777729, -0.0552892, -0.0367129, -0.07652974, -0.06387571, 0.09680754, 0.030113626, 0.07385613) * go_5(-1.0, -1.0); + result += mat4(0.21662953, -0.047714498, -0.100133225, 0.14122888, -0.053247962, -0.13878773, 0.043139406, 0.10316825, -0.050836936, -0.1023108, 0.07342308, -0.013418398, 0.1517183, -0.038232815, 0.16094449, 0.18475303) * go_5(-1.0, 0.0); + result += mat4(0.10745382, 0.14385694, 0.16242811, -0.022071859, -0.06788635, 0.09044915, -0.09642871, -0.032185104, -0.15011486, 0.06751199, -0.0030307414, 0.045759566, 0.17598514, 0.069681115, 0.18387364, 0.15741494) * go_5(-1.0, 1.0); + result += mat4(0.0355877, -0.01989782, -0.021107944, 0.1195755, 0.04636706, 0.15067361, -0.03446434, 0.091468826, -0.054333266, -0.091928974, 0.077975504, 0.051997006, -0.2611878, 0.012728117, 0.038493883, 0.062820844) * go_5(0.0, -1.0); + result += mat4(-0.09769422, 0.0486323, -0.09317317, -0.09185559, -0.30752286, -0.11381268, -0.053577766, -0.17922285, -0.14485466, 0.10500625, 0.22108263, -0.12928547, 0.33743355, 0.13309081, 0.13873322, 0.05503852) * go_5(0.0, 0.0); + result += mat4(-0.19131194, -0.10878378, -0.04047478, -0.024106042, -0.25611252, 0.10455126, -0.0774767, -0.005242356, 0.14342257, 0.096795335, 0.11119688, -0.06816075, 0.045405596, 0.11205132, 0.22008072, 0.010171907) * go_5(0.0, 1.0); + result += mat4(0.03641146, 0.025730135, 0.088947766, 0.09581084, 0.18514295, 0.05196274, -0.09955554, 0.043848306, 0.09665611, -0.05949442, -0.037989084, 0.043330964, -0.046047594, 0.090160884, 0.06574573, -0.018593606) * go_5(1.0, -1.0); + result += mat4(-0.26031247, -0.05067085, -0.07451936, -0.01263683, 0.13966191, -0.25842324, -0.115060754, -0.08976801, 0.028517777, 0.045588367, 0.2297454, 0.023451945, -0.13475016, 0.048971854, 0.04935944, -0.10817461) * go_5(1.0, 0.0); + result += mat4(-0.044189412, 0.12302195, 0.05076291, -0.072933994, 0.22576593, 0.12513146, -0.020687684, -0.0017186786, 0.056137685, 0.07280331, -0.0060697175, 0.017558591, -0.19459185, -0.08931442, 0.03579924, -0.00051510497) * go_5(1.0, 1.0); + result += vec4(-0.088215575, 0.02001751, -0.0013112888, -0.0031276105); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!SAVE conv2d_3_tf2 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.055708, -0.15470836, -0.18314275, -0.018972168, 0.0008025653, -0.04802735, 0.0037216125, -0.008888557, -0.044309124, 0.1032128, -0.09535111, 0.1075431, -0.061698865, -0.136952, -0.08298975, -0.03202739) * go_0(-1.0, -1.0); + result += mat4(0.047130957, -0.13275343, 0.10046242, 0.14484632, -0.18798989, -0.01724291, -0.095696434, -0.06524662, -0.12395302, -0.057923865, 0.013821919, -0.19095008, -0.10312008, -0.067719445, 0.03039217, 0.002102062) * go_0(-1.0, 0.0); + result += mat4(0.07914871, 0.03840256, -0.11512143, -0.19842817, -0.17087726, -0.117287606, 0.26407588, -0.028159037, -0.16280699, -0.1019244, 0.026774779, -0.06759367, 0.0024644772, 0.033856, -0.007847236, 0.028765628) * go_0(-1.0, 1.0); + result += mat4(-0.07034455, 0.076142974, -0.22090098, -0.0905723, -0.06417895, 0.119223125, -0.26432338, -0.04371924, 0.16288432, 0.026691884, -0.017952124, 0.08947346, -0.1286289, -0.01910609, 0.04351911, 0.0340226) * go_0(0.0, -1.0); + result += mat4(0.14330725, 0.090986304, -0.1424256, 0.054584663, 0.043702085, -0.08414303, 0.001994348, -0.022233546, 0.03748274, 0.12121618, 0.26035795, 0.13496856, 0.3061306, 0.019047879, -0.043746773, 0.18116328) * go_0(0.0, 0.0); + result += mat4(-0.051031455, 0.0696392, 0.04753365, -0.20600007, 0.08226225, -0.055646114, 0.15932508, 0.0419586, -0.11326543, 0.027461074, -0.041595474, -0.10200617, 0.004414234, -0.085846625, 0.1470303, 0.15096648) * go_0(0.0, 1.0); + result += mat4(0.101050586, 0.15982646, 0.008072791, -0.11342946, 0.08270196, 0.08548463, 0.042926773, 0.06380147, 0.11114159, 0.07615307, -0.01628438, -0.082144625, 0.029875848, -0.020052845, 0.014533401, -0.027843053) * go_0(1.0, -1.0); + result += mat4(-0.0279601, -0.09164763, 0.11475252, 0.04266532, 0.17664109, -0.044317525, 0.038787685, 0.00897195, -0.065523826, 0.013996353, -0.109297335, -0.029989313, -0.025986332, -0.09013683, 0.24884683, 0.06528543) * go_0(1.0, 0.0); + result += mat4(-0.09584907, -0.15118982, -0.015254367, -0.12179126, -0.12146391, 0.15733819, -0.033256296, -0.061760996, -0.036719803, 0.16471127, 0.18006523, -0.056930948, 0.03617248, 0.07113426, -0.069748655, -0.081067815) * go_0(1.0, 1.0); + result += mat4(0.1271724, -0.082678355, 0.07997786, 0.06285082, 0.02332232, 0.05007377, -0.094914205, -0.06553253, -0.10122091, 0.012112823, -0.11796572, 0.021247976, 0.0654767, -0.091576956, 0.08175131, -0.010552305) * go_1(-1.0, -1.0); + result += mat4(0.12505153, -0.037628997, -0.022449989, 0.06686099, -0.25006896, 0.13324498, 0.041733105, 0.2241118, 0.024380242, 0.09950468, 0.078383565, 0.11634127, 0.077024244, -0.07780778, 0.07760342, 0.06282892) * go_1(-1.0, 0.0); + result += mat4(-0.13915282, 0.16686817, 0.030251533, -0.0035493453, -0.13203144, 0.033648454, 0.0024875028, -0.0007983041, -0.105395414, 0.1536483, 0.050240528, 0.11495208, -0.026644144, -0.05793395, -0.12098678, -0.065910175) * go_1(-1.0, 1.0); + result += mat4(0.02292821, 0.030319002, -0.1293214, -0.0096194055, -0.01278381, -0.00087727525, 0.19325659, 0.025518872, -0.05107456, -0.14991362, -0.05873866, 0.12859605, -0.20932005, -0.11987684, -0.051870637, 0.001319446) * go_1(0.0, -1.0); + result += mat4(-0.022754941, 0.043839425, -0.08278873, -0.21222612, 0.0015371124, -0.010085336, 0.09510605, 0.07335702, -0.106798455, -0.12928678, 0.015216733, 0.031399984, -0.07811234, -0.119671986, 0.17570181, 0.029809073) * go_1(0.0, 0.0); + result += mat4(-0.11764911, -0.16164766, 0.08784963, -0.019233093, -0.076887585, -0.058506478, 0.08077385, -0.16966046, -0.24188527, -0.07365656, 0.09544133, 0.19833234, 0.09107925, -0.020520048, -0.05825717, -0.09854415) * go_1(0.0, 1.0); + result += mat4(0.03600886, -0.029253786, 0.048200432, 0.022130603, 0.13826382, -0.13885193, 0.20007242, 0.14829256, -0.017307537, 0.03851602, 0.020379594, 0.07832595, -0.07762187, 0.096413285, -0.079333976, -0.0061714468) * go_1(1.0, -1.0); + result += mat4(0.0413019, -0.07368758, 0.13919644, -0.12122368, -0.029388634, 0.10483587, -0.051654328, 0.015226432, -0.04520832, -0.026331404, 0.20372365, 0.06359042, -0.013045257, -0.10666548, 0.08962036, 0.20432319) * go_1(1.0, 0.0); + result += mat4(0.013157089, -0.034036867, 0.0819, 0.014009891, -0.03467534, -0.12812413, 0.18123335, -0.0781033, -0.2039025, -0.16503748, 0.02498213, 0.023839379, -0.13192852, -0.09351754, -0.045935795, -0.088439226) * go_1(1.0, 1.0); + result += mat4(0.17598471, -0.16652712, 0.04906223, 0.07156945, -0.019004462, -0.07228772, -0.030515088, 0.12137358, 0.049442984, 0.003075852, 0.0820677, 0.09503947, 0.15167919, 0.03480622, 0.055544864, 0.108532205) * go_2(-1.0, -1.0); + result += mat4(0.06424813, 0.0047392054, -0.06604298, 0.065024786, -0.027760155, 0.013289014, -0.05930856, -0.22680816, -0.12812522, 0.046711236, 0.11081086, 0.12093126, 0.08999833, 0.09398781, -0.00391463, -0.013292052) * go_2(-1.0, 0.0); + result += mat4(0.078218855, -0.096875966, -0.1891451, -0.075190805, 0.045807663, 0.038455345, 0.1420045, 0.1738224, 0.06848118, 0.18028922, -0.07149378, -0.16228504, -0.15232347, -0.032611012, -0.07023075, -0.12920822) * go_2(-1.0, 1.0); + result += mat4(0.04663347, 0.0988432, 0.052362353, -0.112998225, -0.20248835, -0.19879234, 0.11022756, 0.10454231, -0.13743615, 0.047722638, 0.06637239, 0.016583467, 0.11989917, 0.0125074675, 0.053077225, -0.006272926) * go_2(0.0, -1.0); + result += mat4(-0.08468045, 0.047544964, 0.04363399, 0.086961746, 0.08489796, 0.12409043, -0.13015386, 0.10092822, 0.14706169, -0.102444105, -0.074901864, -0.11254591, 0.029065747, 0.14046147, 0.07324801, -0.015313643) * go_2(0.0, 0.0); + result += mat4(-0.0032504771, -0.025116406, -0.027151806, 0.04037948, -0.029422142, 0.053333733, 0.050427776, 0.2249123, -0.040938333, 0.05139012, -0.021061108, -0.21729107, 0.020586135, 0.04293995, 0.01888572, -0.15284136) * go_2(0.0, 1.0); + result += mat4(-0.050343722, -0.08038014, 0.033975042, -0.078313686, -0.025870735, -0.10589425, 0.11806239, 0.11905227, -0.030429581, -0.10916684, -0.08828011, -0.032881964, 0.005728985, -0.14882843, -0.058584355, 0.07463933) * go_2(1.0, -1.0); + result += mat4(-0.16999933, -0.027314415, 0.07264002, -0.013310814, -0.12945375, 0.016093813, -0.09084507, -0.12522581, 0.075081155, -0.012983989, 0.11086466, -0.020709865, -0.034555092, -0.13049836, -0.069538176, 0.120410606) * go_2(1.0, 0.0); + result += mat4(-0.041815765, -0.1464541, -0.112602025, -0.17897187, 0.023695359, -0.007984221, -0.09087018, 0.03442271, 0.03562612, -0.022015946, -0.0067399153, 0.038907483, -0.11839428, -0.029512445, 0.032437507, -0.13424557) * go_2(1.0, 1.0); + result += mat4(0.071081854, 0.064600624, 0.06933874, -0.00823228, -0.06739624, -0.05190142, -0.0063528903, -0.0056084343, -0.00883983, -0.1393001, 0.053884078, 0.024325706, 0.05893945, -0.075403966, 0.21418992, 0.099977955) * go_3(-1.0, -1.0); + result += mat4(-0.08398666, 0.06117285, 0.018424282, 0.13809077, -0.07201819, 0.051259644, -0.04685134, -0.017006194, 0.05818578, -0.11379136, -0.07999673, 0.23295905, 0.007356084, -0.020284122, 0.01972096, -0.13002637) * go_3(-1.0, 0.0); + result += mat4(-0.06733669, 0.13325273, -0.0074489512, -0.052333828, 0.10027424, 0.065753184, -0.14192791, 0.09388921, -0.01242138, -0.14718066, -0.014753866, -0.065210566, 0.0699064, 0.06399467, 0.022925656, 0.06504557) * go_3(-1.0, 1.0); + result += mat4(0.101876445, 0.060120665, -0.0039521665, 0.12171173, 0.08321828, -0.008348968, 0.21899523, 0.058748752, 0.05547674, 0.16084124, -0.30695668, -0.10121366, 0.038653154, -0.044442136, -0.13552639, -0.019972218) * go_3(0.0, -1.0); + result += mat4(-0.07638072, 0.050575085, 0.07061123, -0.18657742, -0.012248586, 0.019414622, 0.03041808, 0.033964135, -0.17578666, -0.023182971, -0.08965867, -0.13880058, -0.16309536, 0.17266575, -0.17651099, -0.24348558) * go_3(0.0, 0.0); + result += mat4(-0.14318372, -0.002566858, -0.08960772, -0.025085822, -0.002079447, 0.010120887, -0.09830438, -0.11765062, 0.022343377, -0.025783114, -0.029105041, -0.1690584, 0.054205775, 0.02676286, 0.016028486, 0.120592885) * go_3(0.0, 1.0); + result += mat4(0.14526334, 0.09275921, -0.12105369, -0.038859725, -0.10460921, -0.07294215, -0.15117784, -0.009182169, -0.0074104583, -0.12306472, 0.10073853, -0.08833498, 0.12785646, 0.0477829, -0.03402452, -0.07908741) * go_3(1.0, -1.0); + result += mat4(-0.025889793, 0.014548265, 0.029771648, -0.07727682, 0.041268997, 0.08237273, -0.07722456, -0.036970172, 0.09158823, 0.044813015, -0.019759692, -0.112869464, -0.04357199, -0.07405958, -0.124406114, 0.20240584) * go_3(1.0, 0.0); + result += mat4(-0.08556598, -0.01543713, 0.026491836, 0.018786263, 0.0418143, 0.0678302, -0.11946711, 0.09875955, 0.032350425, 0.007956311, -0.017798368, 0.1994804, -0.027886698, -0.17802258, 0.099619284, -0.011239122) * go_3(1.0, 1.0); + result += mat4(-0.36927477, 0.0397264, 0.14609286, 0.065389656, -0.017865075, 0.113564, 0.14015609, 0.054612216, -0.0342091, -0.030581282, -0.0124170035, 0.03166654, 0.0691441, 0.032685474, -0.16473754, -0.10027306) * go_4(-1.0, -1.0); + result += mat4(-0.027898287, 0.037473463, -0.10177491, -0.15948737, -0.08981485, 0.0764328, -0.06419195, -0.085592985, -0.015740823, -0.052377183, 0.07003385, -0.065375, 0.051523235, 0.04340368, 0.10867685, -0.16211551) * go_4(-1.0, 0.0); + result += mat4(0.007090963, -0.02692243, 0.05383495, 0.14827509, -0.105507806, 0.17903765, 0.13615972, 0.0051062405, 0.08153507, 0.05720539, 0.08144471, 0.0929691, 0.09873174, 0.015049897, 0.23769383, 0.22297786) * go_4(-1.0, 1.0); + result += mat4(-0.08985236, -0.076104425, -0.01007519, 0.034048676, -0.0079994, -0.033355482, 0.16036998, -0.053786088, -0.093155414, 0.05777472, -0.13322827, -0.0813691, 0.24432959, 0.08388064, -0.04998493, -0.021753525) * go_4(0.0, -1.0); + result += mat4(-0.016286949, -0.013190527, 0.053851254, 0.046217382, -0.21881466, 0.07689005, -0.12487547, -0.10310683, -0.02934103, -0.084740095, -0.054879915, -0.06519303, -0.15657778, 0.029417856, -0.13291313, -0.103854224) * go_4(0.0, 0.0); + result += mat4(0.11695019, 0.0132304765, -0.07342763, 0.051626842, -0.115028076, 0.060695976, 0.030592902, 0.07832676, -0.033096768, -0.010105935, -0.0968592, -0.17071666, -0.10127668, -0.026590502, 0.05544078, -0.22503363) * go_4(0.0, 1.0); + result += mat4(0.053587623, 0.013554916, 0.0018153706, 0.0050241053, 0.007109888, 0.049959134, -0.05311281, -0.09651782, -0.15021992, 0.041716605, 0.031055149, -0.04614386, 0.1668338, -0.15733725, 0.05505452, -0.04836756) * go_4(1.0, -1.0); + result += mat4(-0.077188395, -0.058547955, 0.03399098, 0.09912107, -0.03275195, -0.13739568, -0.08232234, 0.06831293, -0.070714585, -0.046675168, -0.11615044, -0.119989395, -0.03131107, -0.09919153, 0.003835856, -0.014355857) * go_4(1.0, 0.0); + result += mat4(-0.036215, 0.018938174, -0.2277618, -0.13956094, -0.07911919, -0.063870676, 0.08332067, 0.061556723, 0.038459476, 0.15356061, 0.007937132, 0.049789228, -0.0977846, -0.06580731, -0.092308916, 0.12081035) * go_4(1.0, 1.0); + result += mat4(0.2513099, 0.2640892, -0.073300436, 0.0054640956, 0.021276288, 0.117054164, -0.10756317, -0.10598032, -0.045152083, 0.08731703, -0.18050396, -0.047249332, -0.073264845, 0.2116926, -0.114557505, -0.037215512) * go_5(-1.0, -1.0); + result += mat4(0.050166927, -0.04862805, 0.12805791, 0.0045228424, 0.056160565, 0.16115089, -0.07979352, -0.13011862, 0.05441418, 0.05797822, -0.13112345, -0.025642958, 0.05028941, -0.03776722, -0.030840462, 0.1557417) * go_5(-1.0, 0.0); + result += mat4(-0.13133498, 0.18729036, 0.09921492, 0.08116472, -0.045803983, 0.26691306, -0.074901216, 0.27606857, -0.008125972, 0.042414363, 0.13946676, 0.08842948, 0.08357318, -0.03671059, -0.16490772, 0.1321214) * go_5(-1.0, 1.0); + result += mat4(-0.065409325, -0.0521094, -0.16489594, 0.13398097, 0.059531994, 0.12008558, -0.3398136, 0.1359767, 0.19906406, -0.07998507, 0.030024389, 0.07742193, -0.17542136, -0.009348887, -0.07117329, 0.03772329) * go_5(0.0, -1.0); + result += mat4(-0.058133047, -0.16653563, -0.0063957074, -0.095268235, -0.17482235, 0.059023783, 0.122984484, -0.34188032, -0.20109126, 0.18325296, 0.14055713, -0.10793852, 0.011646871, -0.061308336, -0.061341055, -0.021440659) * go_5(0.0, 0.0); + result += mat4(0.078113094, -0.09492607, 0.08023962, -0.12604296, 0.109075874, -0.0154309245, 0.06649317, 0.06254269, 0.07463966, -0.073904, 0.05772617, 0.26408893, -0.006501864, -0.07582579, -0.10127933, -0.12402614) * go_5(0.0, 1.0); + result += mat4(-0.042008914, 0.09461804, -0.072341286, 0.080054514, 0.14365824, 0.04930919, -0.099516146, -0.008121477, -0.0093559455, 0.10470606, 0.02927817, 0.021877058, -0.054930143, 0.060183078, -0.0445749, -0.01106447) * go_5(1.0, -1.0); + result += mat4(-0.0011625461, -0.0009088538, -0.023627708, 0.027977956, -0.11017806, -0.26268825, -0.011429036, -0.03145088, 0.020097682, -0.029126195, -0.06067577, 0.069737315, -0.059665915, 0.0012559243, 0.010016551, -0.09414456) * go_5(1.0, 0.0); + result += mat4(0.11869016, 0.20854239, 0.0059952354, -0.05854996, -0.019913383, 0.111083195, -0.110878445, -0.09330779, -0.09355048, -0.023232793, -0.028993065, -0.016969083, -0.046021197, 0.120301165, -0.016181333, 0.121419206) * go_5(1.0, 1.0); + result += vec4(0.13923971, 0.015290389, 0.012198976, 0.04480318); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.027190452, 0.0060910345, -0.008547152, 0.17320672, 0.06733503, -0.08989388, -0.11381129, -0.13119508, 0.17610823, 0.14008744, 0.11026499, -0.21357119, -0.12159518, 0.06601897, -0.034462526, -0.06805842) * go_0(-1.0, -1.0); + result += mat4(0.032029126, -0.17226543, -0.041954145, 0.0048979674, 0.07860925, 0.014572411, 0.028136868, 0.023380699, 0.08869984, 0.066781156, 0.054681987, -0.2045243, -0.08229035, 0.034414835, -0.059059203, 0.123423755) * go_0(-1.0, 0.0); + result += mat4(0.06395383, -0.17036091, -0.09632937, 0.012491044, 0.023212979, 0.0016467012, -0.14969939, -0.0054716296, -0.023756625, -0.17073572, 0.052645937, -0.046952818, -0.16187616, 0.016573654, -0.14689016, 0.01019834) * go_0(-1.0, 1.0); + result += mat4(0.08193712, -0.07631574, -0.034434203, -0.014776324, 0.042278692, -0.1091839, -0.10186231, -0.08016388, -0.036329824, -0.27691782, -0.060328513, -0.21892257, 0.039156485, -0.015808448, 0.063398294, -0.045008957) * go_0(0.0, -1.0); + result += mat4(-0.1413053, -0.04867498, -0.06696859, -0.19319332, 0.06924486, 0.10097274, 0.027635809, -0.25744498, 0.043045916, 0.0080625275, -0.078129664, 0.07637907, 0.08766779, 0.009869328, -0.04087825, -0.107835) * go_0(0.0, 0.0); + result += mat4(0.03251173, -0.088434696, -0.17404701, -0.047607604, 0.19409397, -0.011666368, -0.055492543, -0.06779062, 0.18695107, 0.12933761, 0.009486838, 0.1311912, -0.115678646, -0.15206106, -0.0692949, -0.2093353) * go_0(0.0, 1.0); + result += mat4(-0.024145309, -0.049262546, -0.13907287, 0.079473436, -0.042634737, -0.08339864, 0.10169023, -0.035110317, -0.07373649, -0.013395292, 0.040008895, -0.10978444, -0.11845739, -0.037593327, -0.06392299, -0.16472307) * go_0(1.0, -1.0); + result += mat4(-0.004245749, -0.017990965, -0.16623773, 0.058491312, 0.09169293, 0.095187806, -0.13777736, -0.058859553, 0.12717004, -0.21097647, 0.022213815, -0.060391422, 0.24919353, 0.027743122, -0.046835132, 0.05116896) * go_0(1.0, 0.0); + result += mat4(-0.031152543, -0.006675389, -0.20609254, 0.059274126, 0.057716113, 0.010372987, -0.09142726, 0.21968524, 0.1961135, -0.123708576, 0.16263476, 0.0062686265, 0.014965539, -0.007153107, -0.11750436, -0.1819159) * go_0(1.0, 1.0); + result += mat4(-0.0060456856, 0.19447032, 0.020056425, 0.11960106, -0.32920054, 0.015612619, 0.26585084, 0.10356409, -0.14553185, 0.00058173627, 0.05271928, -0.1452066, -0.060218733, -0.020830099, -0.10317562, 0.052465137) * go_1(-1.0, -1.0); + result += mat4(-0.27812362, 0.058981895, 0.08322605, -0.0032075725, -0.15221997, 0.09520731, 0.04914796, 0.11785509, 0.013318352, -0.10878859, -0.15916938, -0.18263555, -0.05563399, 0.014653972, 0.14075124, -0.057639994) * go_1(-1.0, 0.0); + result += mat4(-0.0041990946, 0.0977939, -0.10445638, 0.020671595, -0.051427394, -0.026315004, -0.17141542, -0.19342242, 0.18054874, -0.15474714, 0.13021101, 0.11164268, 0.09080831, 0.036626425, -0.082300276, 0.04107306) * go_1(-1.0, 1.0); + result += mat4(-0.039793264, 0.14146407, 0.09102857, 0.03839708, 0.3213411, -0.037526935, 0.26050022, 0.05215784, 0.09104371, 0.1189446, 0.1516196, -0.06040828, 0.06444251, 0.03769561, -0.05992374, -0.09555435) * go_1(0.0, -1.0); + result += mat4(-0.3158521, -0.09743379, -0.16136461, 0.12563957, -0.047199205, 0.14175804, 0.26343465, 0.26441336, -0.08041752, 0.12452204, 0.00063982303, -0.13609244, 0.2354998, 0.00049649493, 0.015294863, -0.2654468) * go_1(0.0, 0.0); + result += mat4(-0.08709678, 0.15577738, 0.05169841, 0.07911614, -0.024321338, -0.015250634, -0.021416046, -0.081399545, 0.0089286, -0.2259574, -0.05061959, 0.065474294, -0.030742366, -0.03538435, -0.055524804, 0.15507819) * go_1(0.0, 1.0); + result += mat4(0.045065995, 0.023564292, -0.037309248, 0.06847233, 0.056869928, 0.028326921, -0.17528678, 0.12857448, 0.035632227, -0.032293174, 0.104832776, 0.017997067, -0.114497125, 0.16921379, 0.12497218, 0.036903612) * go_1(1.0, -1.0); + result += mat4(0.075956464, 0.09397675, 0.052031025, -0.105377, -0.12632053, 0.024217378, -0.07852874, 0.11461346, -0.04082505, -0.108691104, -0.04474934, -0.29607844, 0.034042932, 0.12287652, -0.052040536, 0.041936204) * go_1(1.0, 0.0); + result += mat4(-0.038337763, -0.018111536, 0.06151811, 0.05389662, -0.028443024, 0.08706589, -0.073154494, 0.05447222, 0.07653834, -0.19515261, -0.037622564, 0.08052142, -0.045269065, -0.0609327, -0.100833364, 0.10981602) * go_1(1.0, 1.0); + result += mat4(0.094026454, -0.0031063687, -0.21620432, 0.13547292, 0.20105883, -0.025618935, 0.11542153, 0.10962974, 0.113429956, -0.14227262, 0.0060875076, -0.14874603, 0.09162232, -0.053849343, 0.04125156, 0.032826412) * go_2(-1.0, -1.0); + result += mat4(0.013978522, -0.13269992, -0.07810451, 0.070542224, -0.04335991, 0.13381198, -0.027735049, -0.15146035, 0.22838825, -0.064607605, 0.09653002, -0.12548994, 0.13875695, -0.07963269, 0.17691031, -0.09219512) * go_2(-1.0, 0.0); + result += mat4(-0.3725075, -0.10551151, -0.015794966, 0.11881437, 0.032990977, -0.08120358, -0.028089223, 0.07270803, 0.09375988, -0.19002074, 0.042594276, -0.14296396, 0.058286652, 0.027516257, -0.06983339, -0.21678405) * go_2(-1.0, 1.0); + result += mat4(-0.07584593, -0.030345742, -0.102612115, -0.008622554, 0.19179675, -0.007445088, -0.0055725924, 0.045661647, 0.15045294, 0.05527889, -0.16074698, -0.11140143, -0.10332519, 0.0775829, 0.3479224, -0.09605363) * go_2(0.0, -1.0); + result += mat4(0.24224567, -0.10463845, -0.004708288, -0.037463564, -0.174914, -0.12728058, -0.09033664, -0.07400692, -0.14376171, 0.047589123, 0.12197598, 0.10113545, 0.27015212, -0.034403134, 0.1424642, 0.160263) * go_2(0.0, 0.0); + result += mat4(-0.13663313, -0.1106191, 0.011357531, -0.22931215, -0.019929864, -0.10682277, -0.055398542, 0.066238664, -0.085308366, 0.04024022, 0.12161912, 0.08610841, 0.09498895, -0.06681962, 0.13027692, -0.0019338574) * go_2(0.0, 1.0); + result += mat4(-0.03641036, -0.011318962, 0.110239714, 0.11487314, -0.0893917, 0.15007862, 0.027590204, 0.09350642, 0.024954673, 0.12835681, 0.03920746, 0.09515919, -0.1465032, -0.030845147, -0.1298204, -0.13092597) * go_2(1.0, -1.0); + result += mat4(-0.053689882, -0.013590492, 0.14078104, -0.02906744, -0.028918952, -0.05751785, -0.15884842, -0.26478568, 0.13566354, 0.12888497, -0.07389985, -0.10991238, -0.04350177, 0.056619987, -0.007795586, 0.20150684) * go_2(1.0, 0.0); + result += mat4(-0.24407062, 0.21552294, -0.00949639, 0.06383184, -0.021686498, -0.3234789, 0.00095171423, 0.16604368, 0.21007693, -0.23288599, 0.14941412, -0.23804995, -0.041001838, 0.122981116, -0.08457904, 0.31631222) * go_2(1.0, 1.0); + result += mat4(-0.03347639, -0.11116802, -0.024119927, -0.13334364, -0.06425279, 0.034693595, -0.042770308, -0.17312396, -0.067923695, 0.016072923, -0.11040154, -0.17093144, 0.0015578474, -0.29394698, 0.107074894, 0.27303827) * go_3(-1.0, -1.0); + result += mat4(-0.0611658, 0.019790849, 0.06787951, 0.10454345, -0.015665758, 0.0151002975, 0.03526049, -0.103849605, 0.18519226, 0.13797036, -0.061827153, 0.049401954, -0.14499283, -0.019294523, -0.059974186, 0.08248854) * go_3(-1.0, 0.0); + result += mat4(-0.10331019, 0.013611227, 0.06224777, 0.051212363, 0.07831132, 0.10166972, 0.06203761, -0.18489413, 0.15709174, 0.10225166, -0.047563914, 0.07839388, 0.111176215, -0.17445758, -0.025798218, 0.039074145) * go_3(-1.0, 1.0); + result += mat4(-0.0126109915, 0.1351571, -0.036555156, 0.010697993, -0.13778222, 0.03346138, -0.0049093324, -0.15003881, -0.03876987, 0.07914351, 0.047344975, 0.11449459, 0.063460924, -0.08697232, 0.10283146, 0.051968753) * go_3(0.0, -1.0); + result += mat4(0.23186366, -0.06041623, -0.16257766, 0.24217394, -0.023535172, -0.101410136, -0.108250454, 0.107450925, 0.034496274, -0.028800279, 0.021022853, 0.03616355, 0.02028369, -0.08332956, 0.10570706, 0.09971033) * go_3(0.0, 0.0); + result += mat4(0.04147743, 0.015145005, 0.120189026, -0.068185546, 0.046765327, 0.06456099, -0.1020187, 0.021370325, -0.040851895, -0.03208752, 0.048594363, -0.1198498, 0.068069115, 0.041555826, -0.17036118, -0.01932193) * go_3(0.0, 1.0); + result += mat4(0.056585032, 0.08170861, 0.16936389, 0.12775362, -0.06250441, 0.003437123, -0.1626591, -0.044595372, 0.05609032, -0.013985337, 0.12408558, -0.023731874, 0.06669848, 0.015816472, 0.02028663, 0.15866788) * go_3(1.0, -1.0); + result += mat4(0.08446122, 0.18007189, -0.029043732, -0.011163938, -0.07911146, -0.08956735, 0.01947308, -0.14794883, 0.006629651, 0.038349632, -0.00968828, -0.025770634, -0.0773972, 0.005243162, -0.024193848, 0.13965817) * go_3(1.0, 0.0); + result += mat4(0.11081664, 0.014651672, 0.17688385, -0.105908446, 0.10568161, -0.0114132725, -0.07771328, -0.07368131, -0.08784887, 0.000283126, -0.062638454, 0.10225453, 0.03358641, 0.022887172, -0.05419985, 0.13735344) * go_3(1.0, 1.0); + result += mat4(0.10541027, 0.020751795, -0.09398483, -0.005489149, -0.29769272, 0.23499025, -0.006691222, -0.053000394, 0.010389082, 0.17603737, -0.00460357, 0.022672169, 0.184428, -0.05348439, -0.056355994, -0.09495365) * go_4(-1.0, -1.0); + result += mat4(0.0008888126, -0.07352942, -0.115427524, 0.039416842, 0.035075482, 0.064889066, -0.0403974, -0.16294649, 0.15031078, 0.15975513, 0.050580446, 0.17225175, -0.15042374, 0.1044681, -0.020698681, 0.02006514) * go_4(-1.0, 0.0); + result += mat4(-0.04267897, 0.013600698, -0.06688994, 0.06905151, 0.0050800233, 0.074999094, -0.013612523, 0.24658114, 0.09293767, -0.025656242, -0.12935342, -0.053077035, -0.10818674, 0.10712919, 0.10325497, 0.026742944) * go_4(-1.0, 1.0); + result += mat4(0.057898734, -0.079083994, -0.014326936, -0.012377722, -0.081788406, 0.15159677, 0.009859493, -0.17867896, -0.15591973, 0.052071776, 0.08789029, -0.07519902, -0.05066772, -0.062322497, 0.115281776, 0.036021948) * go_4(0.0, -1.0); + result += mat4(0.18813054, 0.08132526, 0.13596503, -0.048313983, 0.38620186, 0.2359013, 0.037454955, -0.1447747, 0.067145094, -0.0005996448, 0.1840271, 0.05323988, -0.23532471, -0.0116497595, 0.2535536, 0.061556816) * go_4(0.0, 0.0); + result += mat4(0.0129419975, -0.17229463, -0.09436541, 0.10180941, 0.11799404, 0.031389806, -0.07010608, 0.0046768254, 0.10469505, 0.17582805, -0.22139175, -0.14195564, -0.02746759, 0.1141511, -0.029968468, 0.07361169) * go_4(0.0, 1.0); + result += mat4(-0.0769514, 0.017098518, 0.082954735, 0.025435448, -0.21867949, -0.07731593, 0.031622138, -0.013084908, 0.053551342, 0.08035211, -0.06418101, -0.14921196, 0.18860011, 0.029326573, -0.0472363, -0.011997928) * go_4(1.0, -1.0); + result += mat4(-0.01178925, -0.07107687, -0.09878797, 0.1556755, -0.055202577, -0.040342607, -0.1087109, 0.22202995, -0.02957374, 0.063299805, -0.0226507, 0.09204488, 0.08155232, -0.022691648, 0.061842438, -0.003388257) * go_4(1.0, 0.0); + result += mat4(-0.0058287196, -0.013047009, -0.15424606, -0.056314673, -0.06388496, 0.0222499, -0.11188726, 0.2635107, -0.05954232, 0.1667741, -0.12295786, -0.15182652, 0.1224556, -0.1186777, -0.011522621, -0.09436076) * go_4(1.0, 1.0); + result += mat4(0.07150499, -0.07419667, 0.16062357, -0.13254762, -0.010069923, 0.09393101, 0.035834856, -0.043301247, 0.059349176, 0.015473052, 0.06563933, -0.013041895, 0.029431, 0.11289305, 0.08899771, 0.16794808) * go_5(-1.0, -1.0); + result += mat4(-0.113425404, 0.14999859, 0.06650979, 0.036482334, 0.018955054, -0.10026139, 0.11925662, 0.114249855, 0.06869671, 0.052254554, -0.004852112, 0.0565278, 0.078193806, 0.05062573, 0.03250799, 0.19846839) * go_5(-1.0, 0.0); + result += mat4(0.021927554, -0.1345216, -0.0016766218, -0.13956897, -0.045278247, -0.0069249924, 0.006003127, 0.07814754, 0.10342034, 0.06784387, -0.069491945, 0.19103162, 0.14311132, -0.022440588, -0.06932795, 0.030535521) * go_5(-1.0, 1.0); + result += mat4(-0.04036147, 0.054757025, 0.017254664, -0.12124264, -0.1816484, 0.15580839, -0.09062968, -0.0048705437, -0.029410018, 0.038827926, 0.057098128, -0.018173074, -0.10805557, -0.14378877, -0.2585165, 0.172119) * go_5(0.0, -1.0); + result += mat4(-0.1310388, 0.18337108, 0.19657819, -0.010367786, -0.04445844, -0.24680386, -0.04328972, -0.0399127, 0.12341645, -0.08352961, 0.011123786, -0.083505794, -0.09089909, 0.060027592, -0.23706149, 0.03521439) * go_5(0.0, 0.0); + result += mat4(0.01557783, 0.010480741, 0.0434283, 0.16624042, -0.15881334, -0.04636994, -0.0038111496, 0.03575316, -0.08781109, 0.12979223, 0.06802427, 0.08255704, 0.37816545, -0.058951244, -0.102753684, 0.1256413) * go_5(0.0, 1.0); + result += mat4(-0.10425998, -0.071307346, -0.11617004, -0.13080333, 0.1492051, 0.054852143, 0.07140254, -0.064901225, 0.0023687668, 0.012650793, -0.1390397, -0.09889024, 0.19282119, -0.04274883, 0.1678261, 0.10092644) * go_5(1.0, -1.0); + result += mat4(0.052412614, -0.016467815, -0.08627941, 0.21175376, -0.037298422, 0.009408156, 0.09253116, 0.22531977, -0.09862147, 0.012014097, -0.00088612316, 0.10639377, 0.21262354, -0.36476177, 0.1831788, -0.18416084) * go_5(1.0, 0.0); + result += mat4(0.10780807, -0.049085826, -0.035806093, 0.089742415, -0.121957704, -0.07614303, 0.1122783, -0.1417334, -0.11307489, -0.099186234, -0.09983688, -0.08203866, 0.18696213, -0.10846918, 0.022843426, 0.17075616) * go_5(1.0, 1.0); + result += vec4(-0.10820368, 0.052109707, 0.02658453, -0.089495786); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf1 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.06560893, -0.038288042, -0.0021071879, -0.030108955, 0.145761, 0.0029613946, 0.051950503, -0.015247062, 0.44679, 0.114423126, -0.006614156, -0.085114725, -0.17392384, -0.1525023, 0.00087433326, -0.0061209374) * go_0(-1.0, -1.0); + result += mat4(-0.038765047, 0.023672441, 0.07686677, 0.1169065, 0.057648882, -0.04956052, 0.18272647, 0.074001, 0.0148019185, -0.17424357, -0.15635398, -0.11640745, -0.044930972, 0.17733482, -0.118420936, 0.0034517103) * go_0(-1.0, 0.0); + result += mat4(-0.03843906, 0.14669247, -0.0016725688, -0.05404641, -0.010653548, -0.14568646, 0.01552742, 0.0075000613, -0.11138789, 0.12747082, -0.0019283098, 0.15637173, 0.17695609, 0.11176842, 0.037749417, 0.038456965) * go_0(-1.0, 1.0); + result += mat4(0.011113179, -0.033781096, 0.10000893, 0.09236021, 0.05682521, 0.047795758, 0.082160555, -0.06516607, 0.021327825, 0.123461336, 0.16531587, -0.017066834, -0.17193775, 0.0088722, 0.11325116, -0.008696895) * go_0(0.0, -1.0); + result += mat4(-0.1559535, -0.027437076, -0.06791055, 0.0076806503, -0.105000794, -0.013547857, 0.044852357, -0.072031856, 0.03666842, -0.09417821, 0.044465255, -0.021518283, 0.075612575, 0.12548204, 0.0053096185, -0.081135504) * go_0(0.0, 0.0); + result += mat4(-0.032854624, -0.04636654, 0.08900102, -0.006676651, -0.17161772, -0.11203611, -0.08199468, -0.09992361, 0.20184253, -0.1002281, -0.1186801, 0.07690125, 0.10468101, -0.034323484, 0.05079439, 0.05624683) * go_0(0.0, 1.0); + result += mat4(0.098402895, 0.21312171, -0.09616754, -0.0022171456, 0.13993289, 0.020528518, 0.14474267, -0.10080646, -0.1283229, 0.1904186, -0.040573347, -0.14794436, 0.054999832, -0.11960501, -0.061369505, 0.09603712) * go_0(1.0, -1.0); + result += mat4(-0.10725682, 0.06215029, 0.089609645, 0.018108908, 0.021400819, 0.031146, -0.22904995, -0.01076689, -0.105205126, 0.012291847, -0.048588227, -0.049485933, 0.114158444, -0.091215335, -0.027073242, -0.11835295) * go_0(1.0, 0.0); + result += mat4(-0.102791235, -0.029520744, -0.19900851, -0.029541757, -0.031764254, -0.008002707, -0.017105635, -0.07239135, 0.14740342, 0.05648717, 0.077909015, -0.14993371, 0.120271415, -0.10764749, 0.024895139, -0.06620364) * go_0(1.0, 1.0); + result += mat4(0.23614062, 0.17541821, -0.008834044, 0.18276002, 0.0081810225, 0.08408151, -0.13527961, -0.018539876, 0.014361589, -0.027012244, -0.17484863, -0.019362496, -0.037048925, 0.094974704, 0.018246485, 0.109574154) * go_1(-1.0, -1.0); + result += mat4(-0.1533575, 0.19374342, -0.027817149, 0.16140993, -0.06192059, 0.045258347, -0.09625185, -0.026630063, -0.0050361003, 0.020038875, 0.17793919, 0.059639167, 0.079904884, 0.03772698, 0.07656081, 0.21176697) * go_1(-1.0, 0.0); + result += mat4(0.03496418, -0.07980854, -0.022122597, -0.15199453, -0.029270291, 0.02720027, 0.10541389, -0.020044396, 0.031097332, 0.00533792, -0.07936573, 0.0767852, -0.052802965, 0.044324324, 0.1331397, 0.09737042) * go_1(-1.0, 1.0); + result += mat4(-0.09404921, -0.12238693, -0.15260863, -0.037168942, 0.101774864, -0.12818033, -0.19276977, 0.060901154, 0.3669953, -0.08837079, 0.09483071, 0.0039528203, 0.114874505, 0.11380748, -0.0675627, 0.099314205) * go_1(0.0, -1.0); + result += mat4(-0.18921007, 0.11088719, -0.03879293, 0.24393363, 0.024074616, -0.055593442, -0.038904842, 0.093477115, -0.074254654, 0.023504809, 0.0015475574, 0.06922074, -0.02201723, 0.04952918, -0.12691462, -0.04520855) * go_1(0.0, 0.0); + result += mat4(-0.015887981, 0.13304926, -0.006745367, 0.08113083, 0.14956935, -0.115906075, -0.14784655, 0.030012615, 0.031657662, -0.065392576, 0.26881677, 0.060661886, -0.022231037, -0.04828739, 0.09894193, -0.14562485) * go_1(0.0, 1.0); + result += mat4(-0.047161587, -0.017991489, -0.0075016962, -0.034034126, -0.061112147, 0.13156408, 0.16217458, 0.076580904, 0.1459869, 0.11071404, -0.043128885, 0.0338223, 0.21686563, 0.008266244, 0.058333807, 0.02561811) * go_1(1.0, -1.0); + result += mat4(-0.018609803, 0.0234848, 0.040451016, -0.08435358, -0.009784489, -0.008065147, -0.053126886, 0.011366649, -0.084467, -0.1788947, -0.12264094, -0.18014608, 0.059439298, 0.03542411, 0.078848965, -0.13048537) * go_1(1.0, 0.0); + result += mat4(0.078216806, 0.013697004, -0.15663616, -0.049786724, -0.13391373, -0.08318028, 0.06794668, 0.09373982, -0.083461255, 0.061056722, -0.2251907, -0.06139379, -0.20027658, -0.09285312, 0.039336286, 0.09701935) * go_1(1.0, 1.0); + result += mat4(-0.16103904, -0.102670334, 0.0012198326, -0.22724585, 0.23467462, 0.044629287, 0.0045051533, 0.08221795, 0.13965432, -0.025059564, 0.009324332, 0.17598952, 0.10017599, 0.043154277, 0.09106905, 0.004035487) * go_2(-1.0, -1.0); + result += mat4(-0.044398602, -0.02080209, 0.07439402, -0.0837648, -0.09127961, -0.16654146, -0.028559506, 0.063172385, 0.02517883, -0.2839795, -0.011589502, -0.07898659, -0.013581755, -0.18534079, -0.0017158306, 0.105475046) * go_2(-1.0, 0.0); + result += mat4(0.104462, 0.27500334, -0.16876803, -0.067298174, -0.011149543, 0.026384255, -0.10175635, -0.2548854, -0.1283541, -0.16410558, 0.07503598, -0.02121285, -0.0064750114, -0.09670444, 0.08300398, 0.19831792) * go_2(-1.0, 1.0); + result += mat4(-0.009554492, -0.095104635, 0.08615534, -0.10154481, 0.11020224, -0.1011952, 0.061394565, 0.050413556, 0.19796023, 0.11560851, 0.033866078, 0.23405328, -0.0060241343, -0.050427623, -0.18293521, -0.031680096) * go_2(0.0, -1.0); + result += mat4(0.058735132, 0.026442906, -0.23102848, -0.07569987, -0.26244682, -0.20584835, 0.2259608, 0.06885029, 0.035959512, 0.075910114, -0.17818634, 0.053924832, -0.0046540634, -0.02363428, -0.0501489, 0.07347372) * go_2(0.0, 0.0); + result += mat4(-0.0733894, 0.10715639, 0.28019708, 0.100572936, -0.07274408, 0.072782665, -0.056028996, 0.06478587, -0.031222489, 0.043191776, -0.10039772, -0.21392053, -0.04606884, -0.16641788, 0.0065926304, 0.055378567) * go_2(0.0, 1.0); + result += mat4(-0.118616246, -0.13528953, -0.19563872, 0.23483656, 0.02614144, 0.19605434, -0.05274385, -0.08863971, 0.16891058, 0.1366527, 0.09084148, 0.100328505, 0.034491546, 0.08647768, 0.21777217, -0.049174547) * go_2(1.0, -1.0); + result += mat4(0.1357159, -0.012445991, 0.3096013, 0.181176, -0.010390439, 0.14459321, -0.10700577, -0.011389145, 0.09287424, 0.07787938, -0.096365124, 0.017783955, -0.09306514, 0.15694624, -0.14705794, -0.13922045) * go_2(1.0, 0.0); + result += mat4(0.13941582, 0.19728883, -0.151456, 0.10526561, -0.09251345, 0.11684088, 0.1303061, 0.14257613, -0.20296581, 0.00048331724, 0.2851077, -0.20377511, -0.057946853, 0.031233812, -0.15364504, -0.009259494) * go_2(1.0, 1.0); + result += mat4(-0.098066, -0.08288004, -0.06673981, -0.06435033, 0.034342356, 0.015804073, 0.023787297, 0.10401755, -0.19141194, -0.16482951, -0.0056575392, 0.0093797995, -0.28313008, 0.0048112553, -0.017099613, 0.02518723) * go_3(-1.0, -1.0); + result += mat4(-0.030270405, -0.038700357, -0.013410372, -0.004442315, -0.12467148, 0.08281559, -0.1605282, 0.069578275, 0.10012911, 0.01924674, -0.021857055, 0.07991313, 0.00801384, 0.13677774, 0.013247758, 0.03188123) * go_3(-1.0, 0.0); + result += mat4(-0.17157516, -0.08176375, -0.089773096, -0.0405298, -0.085242964, -0.03426719, 0.054874644, 0.066589154, 0.04864499, -0.18212035, -0.11903994, 0.04277644, -0.24286698, 0.14560008, 0.1412366, -0.049351584) * go_3(-1.0, 1.0); + result += mat4(-0.0020793858, 0.13244559, 0.022845006, -0.056293562, 0.025595138, 0.12697968, 0.0062493416, 0.10955782, -0.02731004, -0.04970028, 0.0558574, 0.013929665, -0.030912375, -0.07561133, -0.31270868, 0.027562078) * go_3(0.0, -1.0); + result += mat4(0.072941735, 0.021501537, -0.0630067, -0.10351342, 0.0041823885, 0.13891226, -0.070387594, 0.052334826, -0.003547599, 0.19354597, -0.020180183, -0.037713047, 0.06751014, -0.17405544, -0.020440113, 0.25509283) * go_3(0.0, 0.0); + result += mat4(0.005987273, -0.08264425, -0.019549685, -0.06343352, -0.005718748, 0.05226893, 0.07570872, -0.030717341, -0.18217428, -0.0039694863, 0.1455871, -0.0977504, -0.15671553, -0.006649227, -0.1283491, 0.100330345) * go_3(0.0, 1.0); + result += mat4(-0.057930637, -0.114826396, 0.06898038, -0.13852106, 0.024047598, 0.20633829, -0.12503678, 0.022534683, -0.18774416, -0.31502175, -0.10984795, -0.018557208, 0.17580375, 0.25652558, 0.22530238, -0.0028108188) * go_3(1.0, -1.0); + result += mat4(0.023331782, -0.01088776, -0.0052380436, 0.00686383, 0.026780738, 0.03749848, 0.22947483, -0.103271484, 0.012644287, -0.0142970905, 0.098855376, 0.0055474946, 0.032439362, 0.027143423, -0.14876749, -0.06213873) * go_3(1.0, 0.0); + result += mat4(-0.03750828, 0.010431886, 0.17416674, -0.090744555, -0.17330858, 0.013979898, 0.03489776, -0.13337487, 0.00858403, -0.037750907, -0.17109399, 0.08273273, -0.14204618, -0.009869641, -0.013496473, 0.076338045) * go_3(1.0, 1.0); + result += mat4(-0.043562744, -0.18440323, 0.011339632, -0.14345059, -0.08992258, -0.10230683, -0.10468143, 0.34146136, 0.15978895, -0.0051261852, 0.061601657, 0.09483878, -0.007760578, -0.018336317, 0.044910427, -0.09316569) * go_4(-1.0, -1.0); + result += mat4(0.1253627, -0.12310892, 0.016166732, 0.027448155, 0.13965616, -0.13030767, 0.17542621, 0.061852284, 0.16997853, 0.0056183804, -0.18704928, -0.019231116, -0.08086044, 0.09974395, -0.01429541, 0.03184063) * go_4(-1.0, 0.0); + result += mat4(0.04526007, 0.030035531, 0.03181006, 0.22173904, -0.1355034, -0.1948648, 0.06783468, 0.038674995, -0.046629447, -0.03462297, 0.09421528, 0.048745953, 0.16898066, 0.13283801, -0.14163011, -0.23105736) * go_4(-1.0, 1.0); + result += mat4(0.07269096, -0.06190773, -0.038986176, 0.102121696, 0.14298806, 0.23800415, 0.1370508, 0.0034182875, 0.009464909, 0.073990576, -0.028228868, 0.047769118, -0.11799714, -0.07566264, -0.025975682, 0.06592005) * go_4(0.0, -1.0); + result += mat4(0.1140849, 0.0011444123, 0.13536933, -0.045905575, 0.050907966, -0.065915674, 0.034910467, -0.2681743, 0.10803704, 0.12069119, -0.12347737, -0.06318596, -0.06862493, 0.014980036, 0.22914106, 0.0003237674) * go_4(0.0, 0.0); + result += mat4(-0.09530222, -0.11337397, 0.014516241, 0.0709293, -0.122670494, -0.17343688, -0.09817145, 0.0427696, -0.0035809735, 0.0970125, -0.35413933, -0.13195236, 0.07348421, 0.11037325, 0.056015544, -0.011848703) * go_4(0.0, 1.0); + result += mat4(-0.05069634, -0.032064505, -0.03238415, 0.1735258, 0.25210074, 0.10959535, -0.2741513, 0.13719772, 0.1066583, 0.20128429, -0.008766815, -0.11834798, 0.057237767, 0.017930366, 0.021861222, -0.025086008) * go_4(1.0, -1.0); + result += mat4(-0.000881232, -0.05960106, -0.08985197, 0.14067702, 0.018204128, 0.09699959, -0.05949243, 0.059911992, 0.027270103, 0.06743677, 0.38237867, -0.058599375, -0.047956746, 0.11374969, -0.14632292, -0.005532837) * go_4(1.0, 0.0); + result += mat4(-0.0312775, 0.0031963694, 0.08149806, 0.13988096, -0.0040519754, 0.035389222, 0.0864673, 0.18592173, 0.03735674, -0.054272953, 0.18598364, -0.13443853, 0.085672796, -0.049046505, 0.0057935636, 0.017542645) * go_4(1.0, 1.0); + result += mat4(-0.04916441, 0.015665755, 0.08576695, 0.17165792, -0.13008267, 0.04201376, -0.2670682, 0.119378634, -0.100484766, -0.0887232, 0.049034663, -0.039614394, 0.02695341, -0.04374321, -0.106656834, 0.023938615) * go_5(-1.0, -1.0); + result += mat4(0.03373819, 0.004977311, -0.0040103244, 0.13545765, 0.06599036, -0.09659661, 0.22132197, -0.116552144, 0.100918315, -0.022979576, 0.07052367, 0.04172229, 0.17585796, 0.05118707, -0.08703159, 0.055033304) * go_5(-1.0, 0.0); + result += mat4(-0.18900026, 0.019988917, 0.07693406, 0.28435934, 0.12686001, -0.14701878, -0.09573673, -0.17312722, 0.15025325, 0.12911554, -0.09475629, 0.016428819, 0.082817025, -0.11946521, -0.0013731157, -0.09071587) * go_5(-1.0, 1.0); + result += mat4(0.0797976, 0.11099694, -0.05467964, 0.014629147, -0.09720358, 0.04712591, 0.015981004, -0.05535863, 0.03645818, 0.041274335, 0.10671675, -0.11314873, 0.036964905, 0.17811853, 0.08903187, 0.0095582185) * go_5(0.0, -1.0); + result += mat4(0.11976107, 0.004657432, -0.06258394, -0.022577194, 0.17443101, 0.1387175, 0.059126876, 0.032149844, 0.1430801, 0.002375262, -0.12749809, 0.08837332, 0.06466934, 0.13617098, 0.04582338, 0.068308234) * go_5(0.0, 0.0); + result += mat4(0.022942754, -0.09855706, 0.049297135, 0.096298546, 0.1906194, 0.11273925, -0.22720218, 0.003925555, 0.0028442615, -0.12138431, 0.09074982, -0.030113788, 0.00383381, -0.09112362, -0.27005482, 0.022827866) * go_5(0.0, 1.0); + result += mat4(-0.19426541, 0.009114653, 0.11889596, -0.057239886, -0.03998725, -0.1694043, -0.20197673, 0.041406937, 0.020746358, 0.22414313, -0.1622876, -0.11014813, -0.09325455, -0.08461812, -0.021865716, 0.008194336) * go_5(1.0, -1.0); + result += mat4(0.021359676, -0.022532789, -0.10541426, -0.24901268, 0.030835157, -0.034806997, 0.10264721, -0.006528542, -0.03765987, 0.069545716, 0.25284502, 0.04730265, -0.012214816, -0.053018507, 0.13373806, -0.037745554) * go_5(1.0, 0.0); + result += mat4(-0.09582438, -0.18056035, -0.09869147, 0.11321111, -0.10706152, -0.037460733, 0.121544324, -0.11290087, 0.18490471, -0.06921383, -0.19518846, 0.10960292, -0.06263085, 0.13362981, -0.08682174, -0.053608853) * go_5(1.0, 1.0); + result += vec4(-0.019858388, -0.049763262, 0.034831703, -0.12479427); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf2 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.1652761, 0.13780159, 0.09095229, -0.043444302, -0.06450598, 0.04212247, 0.069517806, 0.09327406, -0.033491675, -0.14936084, 0.009638944, 0.11837384, 0.02686685, 0.037584316, -0.09761867, -0.026200296) * go_0(-1.0, -1.0); + result += mat4(-0.12561406, 0.12076126, 0.028275209, -0.08543192, -0.099475406, -0.0822321, 0.0920009, 0.06756713, -0.10781483, -0.12923865, 0.032576296, 0.3534597, 0.03224445, -0.015600879, -0.025559058, -0.027278373) * go_0(-1.0, 0.0); + result += mat4(0.07211016, 0.054111533, 0.13363571, -0.010288602, -0.20603329, 0.0047039236, -0.04776343, 0.25487995, -0.10845931, 0.0972547, -0.10519721, -0.0073581343, -0.10403583, -0.06662798, 0.041069936, -0.11237198) * go_0(-1.0, 1.0); + result += mat4(-0.011475162, 0.062792905, 0.091312, 0.30339372, -0.11382581, 0.06737181, 0.07341503, 0.16007973, 0.001011511, -0.11274179, -0.006656744, -0.034754373, 0.08876155, 0.014858809, 0.08583179, 0.010586847) * go_0(0.0, -1.0); + result += mat4(0.095108636, 0.0049300413, -0.15713759, -0.049208567, 0.14641964, -0.1558201, 0.115891516, -0.06733412, -0.07573838, 0.29731378, 0.108890355, 0.043476757, 0.06507369, 0.035861496, -0.03979463, 0.0009747037) * go_0(0.0, 0.0); + result += mat4(0.04926235, -0.037529353, 0.079898834, -0.14147292, -0.08446753, -0.06169593, 0.047313344, 0.26457137, -0.035472378, -0.073560245, 0.14341679, -0.022741733, -0.1525431, -0.01243139, -0.011166588, -0.20521918) * go_0(0.0, 1.0); + result += mat4(-0.016135108, 0.011612018, 0.14412925, -0.02519369, 0.09124221, 0.05163101, -0.13721077, 0.028859738, -0.10101291, -0.14688651, 0.15746878, -0.124548726, -0.04213581, -0.01224665, 0.17707069, 0.012810498) * go_0(1.0, -1.0); + result += mat4(-0.17663126, -0.07370428, 0.043691028, -0.006832302, -0.050157465, -0.030904332, 0.061489057, -0.009296911, 0.03220379, -0.047700413, -0.029812776, 0.16822562, 0.041632306, 0.11511152, 0.09653043, -0.055198412) * go_0(1.0, 0.0); + result += mat4(0.13367188, 0.03333002, 0.008851994, -0.012191224, -0.045508027, 0.08612423, 0.06786381, 0.15179649, -0.031041663, -0.059014346, 0.15675054, -0.08772905, 0.09033015, -0.08435604, 0.07550108, -0.14843665) * go_0(1.0, 1.0); + result += mat4(0.14639384, 0.16561817, -0.03261034, -0.03337392, 0.14970617, -0.11748068, -0.12750028, -0.10566866, 0.16191705, -0.08984127, 0.06803522, 0.008120483, 0.10923837, 0.0364358, -0.13485567, 0.14291629) * go_1(-1.0, -1.0); + result += mat4(-0.02444568, 0.21520157, 0.05191823, 0.17272551, -0.047668163, -0.09192939, -0.020734387, -0.016689759, -0.21506861, -0.038079426, 0.099174924, 0.010456613, -0.20138906, -0.0112631135, 0.08758567, -0.045137912) * go_1(-1.0, 0.0); + result += mat4(0.060797717, 0.03514636, -0.05460338, -0.095668696, -0.08528851, -0.07811166, 0.12541622, -0.036730994, -0.14369172, -0.010652937, 0.0060692867, -0.1785254, 0.14972189, -0.13451393, -0.04655055, 0.16085984) * go_1(-1.0, 1.0); + result += mat4(0.05367569, 0.20912962, 0.018910028, -0.10154244, 0.03168856, 0.06779478, -0.088652916, 0.016729023, 0.10557536, -0.099209085, 0.14797546, -0.18952388, 0.07048445, 0.102708265, -0.14564602, 0.12568687) * go_1(0.0, -1.0); + result += mat4(-0.049337912, -0.12502758, -0.09065302, 0.19880529, 0.26680514, -0.003136209, -0.11733151, -0.11684242, -0.04335924, 0.30764192, 0.2855104, 0.04156867, -0.08121212, 0.23999381, -0.019614706, 0.027516816) * go_1(0.0, 0.0); + result += mat4(-0.04837136, -0.0049304874, 0.006328469, 0.013705871, 0.067017764, -0.03406703, 0.053161882, 0.24689339, -0.02929922, 0.06797918, 0.015713276, -0.17147881, 0.04482974, 0.07526465, 0.019844312, -0.18729854) * go_1(0.0, 1.0); + result += mat4(0.030257802, 0.010643463, -0.11703066, -0.015162744, -0.074236035, 0.01591241, 0.061938114, -0.08404092, 0.111995466, -0.13485448, 0.21688463, -0.110088274, 0.079335205, -0.2474801, -0.03824567, -0.018190503) * go_1(1.0, -1.0); + result += mat4(-0.11581714, -0.004117979, 0.033883266, -0.13720983, 0.029020213, -0.08154189, -0.0020539986, 0.11715364, 0.17582226, 0.0916048, 0.0750543, 0.06601126, 0.038681798, -0.03606899, 0.08065586, 0.0019443193) * go_1(1.0, 0.0); + result += mat4(-0.037615683, 0.12732984, 0.042441927, -0.008004603, 0.11336218, -0.042417236, 0.044717386, -0.13728632, 0.038264424, 0.17234874, -0.02492702, 0.120399185, 0.024329247, 0.024983741, -0.1845697, -0.07284304) * go_1(1.0, 1.0); + result += mat4(0.2704137, 0.15812507, 0.060361683, -0.07266647, -0.15354276, -0.04938148, 0.11895455, -0.12520859, -0.07866695, 0.06199223, 0.02046756, 0.16162948, 0.037545823, -0.08195345, -0.02782581, -0.1247714) * go_2(-1.0, -1.0); + result += mat4(0.058098216, 0.1090351, 0.036994565, -0.14390574, -0.02314059, -0.067219526, -0.08998296, 0.12025692, -0.1035221, 0.05190676, -0.0240437, 0.06639121, -0.039624542, 0.002958745, 0.019561864, 0.12834862) * go_2(-1.0, 0.0); + result += mat4(0.2211613, -0.1103558, -0.0464588, 0.06874506, -0.32631674, 0.11210603, 0.051548798, -0.34436032, -0.11639206, 0.12327613, 0.051884107, -0.03575669, 0.035892785, -0.06696002, -0.15486757, 0.11983755) * go_2(-1.0, 1.0); + result += mat4(0.021447798, 0.010329525, 0.013789607, 0.119596116, -0.05871373, 0.055229582, 0.20033267, 0.03858596, -0.10166856, 0.0006909935, 0.0964782, 0.095391914, 0.013319357, -0.13142642, 0.1100771, 0.050889898) * go_2(0.0, -1.0); + result += mat4(-0.16984001, -0.16002657, -0.060783282, -0.17456883, 0.2011064, -0.14940733, -0.15602681, 0.14061591, 0.18068549, -0.00217099, -0.024712907, 0.037761874, -0.07138531, -0.0016056405, 0.11756802, 0.18380354) * go_2(0.0, 0.0); + result += mat4(0.07733175, -0.17642827, 0.07976922, -0.051280692, 0.16156857, 0.032522928, -0.095040165, -0.0583928, 0.038923588, -0.043146443, -0.10355574, 0.1974055, 0.04354748, 0.09425934, 0.026754672, 0.23734866) * go_2(0.0, 1.0); + result += mat4(-0.13585593, 0.14902504, -0.27107853, 0.13296895, -0.2865579, -0.074112825, 0.1409574, -0.0003253808, 0.1733374, -0.16919981, 0.03372848, 0.21644552, -0.00050592434, -0.037268158, 0.1148079, -0.13287376) * go_2(1.0, -1.0); + result += mat4(0.005142486, 0.0867682, -0.09227092, -0.10524167, 0.07520852, 0.015542765, 0.016817883, -0.0733789, 0.20560083, -0.1119311, 0.17374502, -0.107678846, -0.09381425, 0.14690572, 0.022286026, -0.19862098) * go_2(1.0, 0.0); + result += mat4(-0.20393431, -0.045187343, 0.0095105795, 0.052588273, -0.14538154, 0.18569797, -0.031874318, -0.15881945, -0.08170196, 0.052769475, -0.15122755, 0.090783544, 0.21360469, 0.04577172, 0.05163147, 0.07916663) * go_2(1.0, 1.0); + result += mat4(0.14100257, -0.03398819, -0.052019518, -0.08121586, 0.008056087, -0.0931302, -0.19780545, 0.16904305, -0.13034676, 0.08930879, -0.0112331435, 0.029833045, 0.03981243, 0.12613662, -0.2159093, 0.035136405) * go_3(-1.0, -1.0); + result += mat4(0.09830958, 0.10535925, -0.08584078, -0.04632737, 0.0022527708, -0.031659063, -0.101096116, 0.063173816, -0.06613251, 0.118981436, -0.003423647, -0.105914734, -0.07703021, -0.07204621, -0.0748016, -0.11777416) * go_3(-1.0, 0.0); + result += mat4(0.053663094, 0.07884249, -0.17141959, -0.012647486, 0.08073693, -0.076323204, -0.17775054, 0.10244291, 0.14563464, 0.14345805, -0.18157926, 0.18835878, -0.026068632, 0.023138894, -0.0019046182, -0.00012485609) * go_3(-1.0, 1.0); + result += mat4(0.1348711, -0.04699952, 0.15993118, -0.23344111, 0.026501887, -0.14297141, -0.113242336, 0.080124736, -0.03513346, 0.10361922, -0.0922229, 0.07750678, 0.12542203, 0.12729637, -0.092106655, 0.055520497) * go_3(0.0, -1.0); + result += mat4(0.083170444, -0.06302187, 0.0084091, -0.04599831, -0.035450544, -0.19657601, -0.07282212, 0.1447326, 0.11383889, -0.21189907, -0.045117173, -0.07391879, -0.11269967, -0.08903234, -0.032466423, 0.22887331) * go_3(0.0, 0.0); + result += mat4(0.067729145, 0.06700018, -0.18447827, 0.03988203, 0.05277088, 0.033052627, -0.11088279, -0.02169712, 0.019287307, 0.06812, 0.04875055, 0.111010365, -0.14138764, 0.027063884, -0.05214136, 0.16399074) * go_3(0.0, 1.0); + result += mat4(0.004932597, 0.1045028, -0.16486417, 0.010725656, 0.06950409, -0.121699296, 0.010512686, 0.14147647, 0.019202268, 0.17767008, 0.011134318, 0.063502066, -0.13067701, 0.108099535, -0.114125356, -0.046774942) * go_3(1.0, -1.0); + result += mat4(0.15779556, 0.07332346, 0.063827224, 0.008358174, 0.0496721, -0.030757044, -0.050408855, 0.12898293, 0.023491597, 0.045543656, -0.07800668, 0.037886333, 0.17256846, 0.07125766, 0.029893918, -0.02450649) * go_3(1.0, 0.0); + result += mat4(-0.18544081, -0.033090588, -0.05919492, -0.0003458201, 0.14915435, -0.037259944, 0.011946766, -0.16243212, 0.0882922, 0.093222775, -0.11737426, -0.003943405, 0.019537527, 0.0077801496, 0.1317979, -0.09169945) * go_3(1.0, 1.0); + result += mat4(-0.091774754, 0.012059926, 0.03165443, 0.14858909, 0.3944464, -0.014972357, -0.12189733, 0.26198938, -0.27252647, -0.026880303, -0.06978548, -0.013632001, -0.0032966428, -0.18498091, -0.0004948639, -0.12478541) * go_4(-1.0, -1.0); + result += mat4(-0.02833149, -0.050442036, -0.041132275, -0.07840716, 0.04005613, 0.17621154, -0.13607822, 0.1762098, 0.05282825, 0.0016353457, 0.006173704, -0.067321114, 0.13982886, -0.03623519, -0.087992206, -0.047710747) * go_4(-1.0, 0.0); + result += mat4(0.03881576, -0.08746933, -0.011487434, 0.12498892, -0.0017975342, 0.018888952, -0.18913451, 0.08337154, -0.090970725, 0.117090665, 0.1504768, -0.070024244, -0.019629575, -0.091753945, -0.0092930645, -0.15750532) * go_4(-1.0, 1.0); + result += mat4(0.017022166, -0.12516023, -0.12154394, 0.11974826, -0.09612418, -0.115943454, 0.24888757, 0.06153447, 0.056513205, -0.11116729, 0.029329464, 0.08975961, 0.10630068, -0.1328722, -0.06946471, -0.13333926) * go_4(0.0, -1.0); + result += mat4(-0.034902636, 0.2483038, 0.14978237, -0.07164234, -0.012161076, 0.023050508, 0.06598259, -0.043513447, 0.10375706, -0.20177342, -0.123048, -0.035172284, -0.07363312, 0.18172532, 0.09612206, 0.19234397) * go_4(0.0, 0.0); + result += mat4(0.029563665, -0.029694784, -0.101416424, -0.030606827, -0.070010245, 0.045257732, 0.05966623, 0.09107148, 0.03758803, 0.026623867, -0.071266346, 0.094123766, -0.059981044, 0.09513772, -0.08400028, 0.02511076) * go_4(0.0, 1.0); + result += mat4(-0.037089724, -0.06322222, 0.1061242, 0.008586227, 0.13214453, 0.035300348, -0.15787113, 0.07151468, -0.12539263, -0.09025181, 0.18832791, -0.033440433, -0.06625288, -0.1530654, -0.005935112, -0.18216603) * go_4(1.0, -1.0); + result += mat4(0.027623197, -0.04890818, -0.061262466, 0.015195151, 0.32218042, 0.19153431, -0.08007639, -0.11445247, 0.00393679, -0.06705804, -0.12879996, -0.1423812, -0.06090306, 0.0036856222, 0.0069346135, 0.043838803) * go_4(1.0, 0.0); + result += mat4(-0.016647626, -0.08680245, -0.060714565, -0.06387184, 0.18913822, 0.10105815, -0.026422933, -0.039242256, -0.06503463, -0.03521194, 0.049169898, -0.06533137, -0.03167689, 0.015587601, -0.08370448, -0.021492135) * go_4(1.0, 1.0); + result += mat4(-0.12721944, 0.028729077, 0.10713755, -0.09260985, -0.047840588, 0.022301238, 0.11309327, -0.06745379, -0.004154309, 0.10523564, -0.04239449, -0.017029425, 0.10899646, 0.1546228, -0.07669311, 0.2672058) * go_5(-1.0, -1.0); + result += mat4(-0.056850802, -0.05440277, 0.0018135635, 0.09396988, 0.14010292, 0.08741186, -0.12758048, -0.08599669, -0.018672993, 0.05172455, 0.008185248, 0.111759275, -0.06955318, 0.14772479, 0.008665618, 0.0352044) * go_5(-1.0, 0.0); + result += mat4(-0.059702516, 0.058782764, -0.12532151, -0.096861176, 0.35831934, 0.0013884759, 0.30706376, -0.101967454, 0.095553055, 0.05883552, 0.06424327, 0.054175656, -0.1484007, 0.13297899, -0.01961164, 0.15321216) * go_5(-1.0, 1.0); + result += mat4(0.09578697, -0.20968121, 0.04902802, -0.030943176, -0.009951699, -0.05341875, -0.063387014, -0.0825744, -0.09769999, -0.075733155, 0.14749058, 0.12551898, 0.24074706, 0.16208081, -0.21561289, -0.062474046) * go_5(0.0, -1.0); + result += mat4(0.0017662761, -0.088773146, 0.0043133483, 0.32119426, -0.13667256, 0.043542203, -0.045929775, -0.09663573, -0.136664, -0.19760157, -0.07579348, -0.04397654, 0.15027492, 0.08591492, -0.03781643, -0.1743205) * go_5(0.0, 0.0); + result += mat4(-0.12654322, 0.028860493, 0.12822515, 0.049503203, 0.30117163, -0.03055389, -0.0582901, 0.0019550966, -0.0038878717, 0.0043905065, -0.12589069, -0.22796634, -0.10635117, 0.16903181, 0.16951965, 0.027410017) * go_5(0.0, 1.0); + result += mat4(-0.059951358, -0.20652413, 0.056598257, -0.1811566, 0.2165428, -0.14381465, 0.20429386, 0.025329571, -0.19378977, -0.055971343, -0.0010970832, 0.08035063, 0.077368416, 0.078627735, 0.07322149, -0.14884202) * go_5(1.0, -1.0); + result += mat4(0.041847393, -0.12735637, 0.014505967, 0.10192219, -0.13889207, -0.015992412, -0.17310154, 0.12131598, -0.13452062, -0.00036142246, -0.14270298, 0.14636193, 0.059705302, 0.051249746, 0.015804589, -0.11418885) * go_5(1.0, 0.0); + result += mat4(-0.043562837, -8.029936e-05, -0.007859607, -0.08610097, -0.021267893, -0.011354754, -0.17890069, -0.0485164, -0.1679154, 0.11548207, -0.060171373, -0.24584498, 0.008396757, 0.1078782, 0.12012115, 0.07315681) * go_5(1.0, 1.0); + result += vec4(-0.067701444, -0.05630008, 0.022760866, -0.034229018); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!SAVE conv2d_5_tf +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.092447594, -0.10328636, -0.12202365, 0.27040935, 0.052717082, 0.018614411, -0.08485268, -0.07617377, -0.008931799, 0.051284462, 0.051496644, 0.026522819, 0.09565774, 0.18421015, 0.26325333, -0.12989432) * go_0(-1.0, -1.0); + result += mat4(0.03988519, 0.042028125, -0.07100362, 0.03045228, 0.068984345, 0.03516445, 0.05874817, -0.028063854, 0.5054902, -0.16185366, 0.12543231, 0.07206758, 0.31235528, 0.03843813, 0.1501265, -0.08274924) * go_0(-1.0, 0.0); + result += mat4(-0.11169874, -0.06681513, -0.00651678, 0.0010351768, 0.051753096, 0.053674143, 0.11657592, 0.12309117, -0.040198836, -0.007768111, 0.10881242, -0.14587292, 0.17091802, -0.087406136, -0.057882708, 0.0078790905) * go_0(-1.0, 1.0); + result += mat4(0.26830226, -0.01915989, -0.18262567, 0.2194732, 0.13879527, -0.031352315, 0.15241407, 0.0994905, -0.057112038, 0.17008875, 0.037308767, 0.09374541, -0.3188967, 0.01450157, -0.18610804, -0.0793318) * go_0(0.0, -1.0); + result += mat4(0.0060915435, 0.06979378, -0.046237, -0.27248916, 0.09547359, -0.07666023, 0.09364251, 0.026975514, 0.16541278, 0.042641494, -0.02498914, 0.15121445, -0.0013431904, -0.06427887, 0.18217684, 0.26087397) * go_0(0.0, 0.0); + result += mat4(-0.20825194, -0.11043138, 0.02976852, -0.105722494, 0.0008496603, -0.065933526, 0.06687892, 0.025230588, 0.18294227, -0.03581215, 0.14366323, 0.101520695, 0.25154486, 0.055622917, -0.012970234, 0.054395743) * go_0(0.0, 1.0); + result += mat4(0.21373472, -0.030288193, 0.06773853, 0.07427125, -0.0103815105, 0.016129585, 0.038576525, 0.037529152, -0.20739938, -0.05778662, -0.05940614, 0.02449663, 0.23593283, -0.05812938, -0.039888572, -0.057957932) * go_0(1.0, -1.0); + result += mat4(0.387659, 0.1274861, 0.28752464, -0.05272344, -0.014581121, 0.0040657013, -0.06632645, -0.107276425, 0.03762339, 0.2742528, 0.028725976, -0.054044764, -0.04273324, -0.06317463, 0.0060703703, 0.053600952) * go_0(1.0, 0.0); + result += mat4(-0.1596047, -0.1561146, 0.109226674, -0.0052362215, 0.16038993, 0.10755746, -0.030864978, -0.36270598, 0.17078364, 0.09184639, 0.23489448, 0.026559642, 0.04388386, -0.061411064, 0.028113337, -0.045337155) * go_0(1.0, 1.0); + result += mat4(-0.111932576, 0.0021055648, -0.12106931, 0.019196665, 0.033925258, -0.13593148, -0.068236336, 0.107576296, 0.0415075, -0.2336552, -0.052428674, 0.07777366, 0.00816918, 0.2065682, -0.08628869, 0.15342048) * go_1(-1.0, -1.0); + result += mat4(-0.021824878, -0.04840494, -0.116642684, 0.045604706, 0.008168658, -0.04534853, 0.11214711, -0.10829524, -0.043486122, -0.24905528, -0.07315474, 0.14727196, -0.07264179, 0.065202385, -0.0019039236, -0.08028288) * go_1(-1.0, 0.0); + result += mat4(0.08439612, 0.008386524, -0.030988367, 0.09697018, -0.049302116, 0.20326442, -0.018234255, -0.20189443, 0.042629667, -0.1409463, -0.050773926, -0.29503027, -0.07123911, -0.046633366, 0.07981456, 0.10374346) * go_1(-1.0, 1.0); + result += mat4(0.03868367, -0.05526043, -0.106714435, -0.14639367, 0.038107764, 0.069904044, 0.0744559, 0.13862458, 0.09222159, -0.14277418, -0.19073294, -0.03296828, -0.10584655, 0.13311721, -0.24290293, -0.008493607) * go_1(0.0, -1.0); + result += mat4(-0.15074006, 0.094411716, -0.058070287, -0.10475867, 0.127535, 0.047796316, 0.033599593, 0.055493813, 0.17686792, -0.23935609, -0.27880296, -0.12433512, 0.049884334, 0.0651521, 0.009873332, -0.039633323) * go_1(0.0, 0.0); + result += mat4(0.025122408, 0.16321969, -0.06588295, 0.09563756, -0.115063086, -0.061710395, 0.073383145, 0.09976373, 0.09290709, -0.042226892, -0.22798967, -0.14234817, -0.089538574, 0.022935519, 0.09885692, -0.050982323) * go_1(0.0, 1.0); + result += mat4(0.09486296, 0.04397677, 0.04075486, 0.056717344, -0.04711896, 0.04990853, -0.16473778, 0.13175704, 0.12485286, -0.18850122, -0.13122937, -0.102840684, -0.16874318, 0.05348968, -0.017259317, 0.07717163) * go_1(1.0, -1.0); + result += mat4(-0.059502125, -0.13897286, -0.03801125, 0.17431264, 0.11680923, -0.12560965, -0.0911302, -0.19165933, -0.121053115, 0.06541917, -0.06419728, -0.19364956, -0.13833821, 0.03234477, -0.09979964, 0.17789067) * go_1(1.0, 0.0); + result += mat4(0.067596145, 0.25704458, 0.19766523, 0.108859204, 0.09887382, 0.052284334, -0.07278858, 0.122003525, -0.030752266, -0.04871386, -0.05135825, -0.3072661, -0.033045944, -0.098459914, 0.10718348, -0.13164413) * go_1(1.0, 1.0); + result += mat4(0.020737967, 0.24545951, -0.044812705, 0.03566297, 0.095929176, -0.07487561, 0.20496303, 0.037086472, 0.038242895, 0.088189796, 0.021153267, -0.09462902, 0.026548525, -0.21922965, 0.050257247, -0.048741706) * go_2(-1.0, -1.0); + result += mat4(0.040332116, 0.043284092, 0.24138524, -0.02451653, -0.13059705, 0.0343388, -0.07902276, -0.009631078, -0.0848101, 0.010842163, 0.086510465, -0.012446626, 0.005316944, -0.22108673, 0.14004333, 0.15579557) * go_2(-1.0, 0.0); + result += mat4(0.022010755, 0.004139463, -0.017926715, 0.04037725, 0.016520657, 0.009780203, -0.14736284, -0.014491211, 0.057596914, -0.23008622, 0.21133287, -0.053522564, -0.18740861, -0.106346205, 0.10276541, 0.043288257) * go_2(-1.0, 1.0); + result += mat4(0.10575789, 0.019061945, -0.026198203, 0.20347466, 0.07900247, 0.102640145, 0.08666188, -0.05840282, 0.058876745, 0.14216799, -0.11816214, 0.14975895, 0.09833406, -0.1061385, 0.08465644, 0.09426659) * go_2(0.0, -1.0); + result += mat4(-0.13777718, -0.28986838, 0.07906812, 0.059411187, 0.09088133, 0.23517007, -0.20900714, 0.011920497, 0.14009877, 0.19299953, -0.028272772, 0.06418091, 0.118590616, -0.111001015, -0.055573206, 0.085596696) * go_2(0.0, 0.0); + result += mat4(-0.124967046, -0.23403575, -0.085109934, 0.094934925, 0.15895598, 0.08125505, -0.2215677, 0.10778676, -0.12129276, -0.0019275933, 0.14121452, -0.07975474, -0.057002395, -0.052832086, -0.1850646, -0.100982465) * go_2(0.0, 1.0); + result += mat4(0.0710814, 0.20992099, 0.07493418, -0.109678715, -0.18531376, -0.039698873, -0.110102035, 0.16468482, 0.08024999, -0.09387882, -0.13551506, 0.11087316, -0.10608426, -0.13655968, 0.01102362, -0.060193118) * go_2(1.0, -1.0); + result += mat4(-0.015583674, -0.06961451, 0.14489253, -0.27566335, -0.17987481, -0.027696218, -0.23948374, 0.028104413, 0.27821308, 0.08043316, -0.05241405, -0.0027138551, -0.13761862, 0.0038414828, 0.010716796, -0.21286957) * go_2(1.0, 0.0); + result += mat4(-0.22588563, 0.040290482, -0.13179918, -0.15576197, 0.058554877, 0.10720413, 0.11312613, -0.004625868, 0.03558514, -0.023398632, -0.2564193, -0.045098998, -0.0012908503, 0.01255389, -0.018089779, -0.1334803) * go_2(1.0, 1.0); + result += mat4(-0.040578995, 0.14333616, 0.023703935, -0.24532415, -0.017356034, 0.05467018, -0.13556047, -0.051645495, 0.08613384, -0.18583167, 0.023360416, -0.12590869, -0.06778763, -0.06438733, 0.025624113, 0.07671888) * go_3(-1.0, -1.0); + result += mat4(0.042797543, 0.076091446, 0.082091615, 0.014681128, -0.09378036, 0.062476482, 0.026251588, 0.16627216, -0.15255791, 0.17601879, 0.042653207, 0.039376315, 0.029179158, -0.0095602125, 0.0705857, 0.011434591) * go_3(-1.0, 0.0); + result += mat4(0.012922825, 0.13863216, -0.09220861, -0.005267679, 0.12863027, 0.08068719, -0.07179554, -0.13297969, 0.04991335, -0.01473723, -0.028486373, 0.26253343, -0.052293234, -0.16709994, 0.013800583, 0.060783714) * go_3(-1.0, 1.0); + result += mat4(-0.17575453, -0.036046885, 0.17919157, -0.18988807, -0.18178074, -0.058441214, -0.07271548, -0.008791415, 0.18230358, 0.07766667, -0.066274896, -0.15386371, 0.06161233, 0.003612807, 0.20308098, -0.020216005) * go_3(0.0, -1.0); + result += mat4(-0.05010378, 0.018410517, -0.050254025, 0.012066753, -0.12485184, -0.1916662, -0.1278125, 0.06593962, 0.11824467, 0.07994578, 0.05962518, -0.20991555, -0.114382625, 0.07509197, -0.19671203, -0.4580128) * go_3(0.0, 0.0); + result += mat4(0.17728399, -0.15649322, -0.15205286, 0.22968316, 0.037434835, 0.021075314, -0.090972036, -0.17058647, 0.19727467, -0.013115808, -0.08461909, 0.010409278, 0.04355671, 0.08082593, 0.013779581, -0.08425518) * go_3(0.0, 1.0); + result += mat4(-0.31590196, 0.107831545, -0.12198127, 0.00977694, -0.16240558, -0.038805872, 0.037051022, 0.10276969, 0.26788524, -0.072160736, 0.03843579, -0.08990598, -0.04897058, -0.019324914, 0.06016647, -0.015361721) * go_3(1.0, -1.0); + result += mat4(-0.16626236, -0.07336449, -0.11358449, 0.08885961, -0.044137727, 0.057762783, 0.08864482, 0.029383648, -0.08608859, -0.17586444, 0.094455965, -0.054391533, -0.18796252, 0.009314891, -0.014734876, -0.02058656) * go_3(1.0, 0.0); + result += mat4(0.12067889, 0.3618014, -0.17719771, 0.2175122, 0.12890387, 0.20503749, 0.19662304, 0.17338246, 0.1733569, -0.057952117, -0.016951751, -0.057121612, -0.014850513, -0.05018768, 0.20244005, 0.016323887) * go_3(1.0, 1.0); + result += mat4(-0.13357711, 0.12105561, -0.030620668, 0.005170665, 0.044319738, 0.12768681, 0.15325043, 0.027631996, -0.080610365, 0.03741198, -0.017102083, -0.0035679936, -0.2243731, 0.16709204, 0.023224674, 0.11311707) * go_4(-1.0, -1.0); + result += mat4(0.02376095, 0.027235378, -0.009955967, -0.049886744, -0.08411108, 0.10339928, -0.02877354, 0.12704167, -0.13884954, 0.089170545, -0.0039057198, -0.16050623, -0.05318099, -0.10950255, -0.11412448, 0.042694647) * go_4(-1.0, 0.0); + result += mat4(-0.20557326, -0.16362014, -0.090093814, 0.10406815, 0.08791842, 0.013667629, 0.099605836, -0.1062854, -0.07108554, -0.10362472, -0.0647173, 0.12420133, -0.082551, 0.07107792, -0.17423603, -0.048405636) * go_4(-1.0, 1.0); + result += mat4(-0.1954154, -0.027208658, -0.03684051, 0.1338225, -0.084645554, 0.06871324, -0.0778811, 0.025083596, -0.19436808, -0.097009145, -0.036444522, -0.17200048, 0.013402397, -0.23984545, -0.018724974, -0.005078688) * go_4(0.0, -1.0); + result += mat4(0.21297796, 0.023222866, -0.069507584, -0.07308915, -0.18444547, 0.016984317, -0.016325353, 0.11981142, -0.12647548, -0.074321784, 0.27461126, -0.111357704, 0.13917843, -0.035653792, 0.052209657, 0.2077564) * go_4(0.0, 0.0); + result += mat4(-0.13399822, 0.013458072, 0.031183472, 0.24100806, 0.025842719, -0.1878651, 0.14646488, -0.12074156, -0.15135823, -0.18367149, 0.14775206, 0.06404863, 0.06884799, 0.19008774, -0.094522566, 0.087253615) * go_4(0.0, 1.0); + result += mat4(-0.2991564, 0.15301964, -0.028454246, 0.10222737, -0.14888696, -0.021354329, -0.26517984, 0.17276473, 0.021648446, -0.17384106, 0.071495906, -0.16509262, -0.029774027, 0.17916657, -0.036435083, 0.1344122) * go_4(1.0, -1.0); + result += mat4(0.043782394, -0.111460604, -0.094103605, -0.024549566, -0.09227317, 0.009563868, -0.11380084, 0.14710943, 0.1623694, -0.2684087, 0.08932176, -0.025791056, 0.10586864, -0.2849578, -0.049896624, -0.07046415) * go_4(1.0, 0.0); + result += mat4(0.06390326, -0.16954753, -0.24643445, -0.06667138, 0.0153694395, 0.1391578, 0.033687413, -0.18783121, -0.061314933, -0.19441758, -0.033504955, 0.1402065, -0.082206115, 0.16466151, -0.07656087, 0.14898944) * go_4(1.0, 1.0); + result += mat4(-0.1266701, 0.036555164, -0.4070397, -0.085509166, 0.045745134, -0.0494443, -0.07149184, -0.05286605, -0.022561546, -0.091546714, -0.12706481, 0.1923914, 0.26536146, -0.07096412, -0.16030753, -0.21569426) * go_5(-1.0, -1.0); + result += mat4(-0.097307466, 0.15349665, 0.015644126, -0.22425117, 0.21123715, 0.022773454, 0.23383828, -0.07435915, 0.07146555, -0.02743282, 0.14647867, -0.0041729338, 0.12715502, 0.11781688, -0.061080795, 0.0026166402) * go_5(-1.0, 0.0); + result += mat4(-0.010103422, -0.087011784, -0.12507296, -0.009202013, -0.0016642559, 0.12229101, 0.012257156, 0.09069687, 0.17266563, 0.04349975, 0.0065761553, -0.071280204, 0.03610506, 0.18303613, -0.02108923, -0.06867508) * go_5(-1.0, 1.0); + result += mat4(-0.13150483, -0.060967755, 0.0055990918, 0.037484363, -0.02158257, -0.024784425, 0.23109616, -0.120935716, 0.20638125, -0.072126925, 0.062352557, -0.004980783, 0.19314887, 0.13248818, -0.23808232, 0.014506469) * go_5(0.0, -1.0); + result += mat4(0.18638828, -0.065645434, -0.20713033, 0.09149545, -0.24210495, -0.06484725, 0.08750317, 0.1802478, 0.3541541, -0.06987437, -0.1159385, -0.028150197, -0.23300691, -0.09201996, -0.121867135, -0.13276023) * go_5(0.0, 0.0); + result += mat4(0.09099928, -0.039182268, -0.1400286, 0.010247891, -0.010239972, -0.18701951, -0.1772805, 0.01631285, -0.09500139, 0.2590885, -0.09521566, 0.05752499, -0.1184693, 0.04186501, 0.27024126, 0.08569921) * go_5(0.0, 1.0); + result += mat4(-0.0729032, 0.10695013, -0.18894811, 0.06616699, 0.05852647, 0.03802247, 0.024427114, 0.022371208, 0.28009695, -0.022878911, 0.04645292, 0.060003202, 0.1053563, 0.027735699, 0.007826481, 0.14397411) * go_5(1.0, -1.0); + result += mat4(-0.15458257, 0.12910113, -0.11843165, 0.14065553, -0.19225205, 0.059665926, 0.2690873, -0.1308205, 0.071195096, 0.07672256, 0.1497483, 0.21867657, 0.15143347, -0.16467342, -0.13924904, 0.098136105) * go_5(1.0, 0.0); + result += mat4(0.05049889, 0.069295354, 0.017172134, 0.048614368, -0.19597568, -0.029311683, -0.190372, -0.025514813, -0.24531111, -0.041956335, 0.24628574, 0.15919869, 0.051921643, 0.09549575, 0.025514983, 0.13909552) * go_5(1.0, 1.0); + result += vec4(-0.012342477, -0.20862316, 0.08788906, -0.0010707981); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!SAVE conv2d_5_tf1 +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.08156944, 0.10573189, 0.012908232, 0.1657589, -0.038043138, -0.2873211, -0.2046161, -0.09311608, 0.3097668, -0.08111585, -0.17932127, -0.02586952, 0.18931806, -0.13793743, -0.13352883, 0.06681123) * go_0(-1.0, -1.0); + result += mat4(0.02374499, 0.14342955, 0.2563405, -0.029666856, 0.17285998, -0.1035698, -0.11706357, 0.11584379, 0.21326663, 0.06683621, -0.11183301, 0.092254475, -0.1014067, 0.03412136, -0.040375732, 0.13439587) * go_0(-1.0, 0.0); + result += mat4(-0.114404246, 0.05252966, 0.00047894646, -0.028747892, 0.0105511965, 0.078781754, 0.029926287, 0.14559107, -0.12780708, -0.08478812, -0.2247857, -0.19385272, -0.13657221, 0.18088628, 0.15612762, 0.037660476) * go_0(-1.0, 1.0); + result += mat4(0.05799563, 0.059148345, -0.09769129, 0.07772796, -0.09202486, -0.06425981, -0.016873274, 0.0030002298, 0.11275395, -0.08546416, -0.2876964, 0.023335997, -0.010972625, -0.032576468, -0.086281575, -0.070443906) * go_0(0.0, -1.0); + result += mat4(0.32762548, -0.06770343, 0.03179402, -0.04613723, -0.06790421, 0.44522998, 0.119118124, -0.11980204, 0.038128957, 0.17468919, 0.076030836, 0.14512211, 0.17252928, -0.047734894, -0.06045679, -0.08920573) * go_0(0.0, 0.0); + result += mat4(-0.015262433, 0.15428601, 0.06972416, -0.16334222, -0.08347724, 0.18573803, -0.11517264, -0.0009774134, -0.16686407, -0.10733252, -0.12523252, 0.050293542, 0.11212284, -0.009658616, -0.058349714, -0.014115335) * go_0(0.0, 1.0); + result += mat4(-0.056932453, 0.18084419, 0.02166639, 0.13523088, 0.011073456, -0.045516286, 0.003297358, -0.057280444, -0.018760536, -0.15718092, -0.11770054, -0.03166016, -0.19774522, 0.0755463, -0.20558798, 0.15830164) * go_0(1.0, -1.0); + result += mat4(0.19655597, 0.03901344, -0.051660974, 0.19494548, 0.034315336, -0.04597924, -0.056954715, -0.19345726, -0.11985197, 0.006047848, 0.12791121, -0.019705713, -0.01501477, 0.117168285, 0.025459006, 0.13246241) * go_0(1.0, 0.0); + result += mat4(-0.0023640324, 0.0349994, 0.009396353, 0.0936661, 0.100842424, -0.114130996, 0.038058087, 0.12808813, -0.054103322, 0.027919596, -0.10685234, -0.07498883, -0.06130471, -0.12066764, 0.0029782685, 0.059720848) * go_0(1.0, 1.0); + result += mat4(-0.098447025, -0.011071975, 0.16054775, -0.08671137, -0.13293275, 0.05532158, 0.14407343, 0.19340874, -0.20346253, 0.11525113, 0.1687311, 0.098785535, 0.03027443, -0.054430522, 0.022521, 0.19343728) * go_1(-1.0, -1.0); + result += mat4(-0.084854074, 0.06853468, 0.06792569, 0.029366238, 0.06035099, -0.05761756, -0.033579275, -0.062136766, 0.1649456, 0.049637973, 0.2630636, -0.02261985, -0.18047638, -0.071598716, 0.14448155, -0.055889398) * go_1(-1.0, 0.0); + result += mat4(-0.024849698, 0.088840574, 0.1503109, -0.004984663, -0.16879597, -0.26041916, -0.3362258, 0.20055196, -0.13901941, 0.042401403, 0.18325137, 0.1716765, -0.016100548, 0.11664664, -0.07838003, -0.16286951) * go_1(-1.0, 1.0); + result += mat4(-0.16242248, 0.22381666, -0.017743299, 0.07717547, 0.048560552, -0.20423977, 0.30301192, 0.00976561, -0.2708939, -0.092156336, 0.038034424, 0.06372939, 0.06721783, -0.023243327, 0.119849995, 0.15898646) * go_1(0.0, -1.0); + result += mat4(0.10859177, -0.05935216, -0.015591001, -0.053253412, 0.071014024, 0.43206415, 0.04865775, 0.069328085, -0.09695977, 0.19359045, 0.016935471, 0.0028954153, -0.08338698, 0.041919734, 0.032975465, 0.11067615) * go_1(0.0, 0.0); + result += mat4(0.32948914, -0.04703423, -0.075494416, -0.06948022, -0.18574949, 0.15096106, 0.0067734853, -0.16238153, -0.21330655, 0.25306207, 0.08089956, 0.08108933, 0.056989696, 0.05212022, 0.15835905, 0.00077813526) * go_1(0.0, 1.0); + result += mat4(-0.011273352, 0.26307768, -0.04307922, 0.21710183, -0.3902529, -0.46155867, 0.015115735, -0.05384065, -0.07163729, 0.0793938, -0.0985122, 0.06594441, 0.09647775, 0.05617775, 0.07099344, -0.16353689) * go_1(1.0, -1.0); + result += mat4(-0.040731885, 0.14055543, -0.07012667, 0.07207971, -0.004641172, -0.06394655, 0.091212526, -0.00019208786, -0.07705868, 0.040352806, -0.07397878, 0.051934645, -0.010726301, 0.23407605, 0.12093579, -0.0406116) * go_1(1.0, 0.0); + result += mat4(0.041406166, -0.22172481, 0.22162893, 0.02442143, 0.10592917, 0.1968317, -0.14774016, 0.011944242, -0.12373062, 0.114184484, -0.090167396, 0.022542128, -0.1554341, 0.1371109, 0.13077694, -0.020479746) * go_1(1.0, 1.0); + result += mat4(0.123823315, -0.3012641, -0.2841784, 0.014021941, 0.10990905, 0.2764256, -0.075963184, -0.10125788, -0.007879674, -0.08643855, -0.038958456, 0.07453782, -0.48677143, -0.03276048, -0.03156215, -0.09289601) * go_2(-1.0, -1.0); + result += mat4(-0.10992206, -0.05435893, 0.11743695, 0.17674956, 0.13509355, -0.17421335, -0.100946076, -0.10648024, 0.14750971, 0.21357685, -0.107157655, -0.017665314, 0.2106041, 0.124202386, 0.24976057, -0.09088304) * go_2(-1.0, 0.0); + result += mat4(-0.26258346, -0.03037757, 0.13096122, 0.13691814, 0.11316644, -0.14852227, 0.008399919, 0.04381969, 0.030872608, 0.45056874, -0.04014858, -0.012530115, 0.21238118, -0.1332986, -0.101533614, 0.077671215) * go_2(-1.0, 1.0); + result += mat4(0.101686284, -0.21485107, -0.109051324, 0.047709018, 0.018496532, 0.030967599, -0.07855083, 0.05204436, 0.0077558183, 0.080045685, -0.09668984, 0.17999001, -0.15804431, -0.042034358, -0.21375516, 0.001163862) * go_2(0.0, -1.0); + result += mat4(-0.14624378, 0.42138338, 0.028315686, -0.20134708, -0.010074609, -0.046433613, -0.050019633, 0.08432513, -0.079346046, -0.27917975, -0.19784799, 0.25092122, 0.21972348, -0.0084989555, 0.11432945, -0.0727637) * go_2(0.0, 0.0); + result += mat4(-0.22297074, 0.20484488, 0.17720158, 0.0022023271, -0.034587737, 0.0004995375, -0.027270092, -0.08549106, -0.07970776, 0.14142907, -0.039514165, 0.08021129, 0.262039, 0.08684183, 0.08106768, -0.088322006) * go_2(0.0, 1.0); + result += mat4(0.19230787, -0.019139988, 0.100881554, 0.0622476, -0.0073597133, -0.007861123, -0.09819001, -0.035048965, 0.1649283, 0.096261285, -0.0899776, -0.03930426, -0.044506907, 0.20075877, -0.049743377, -0.0076403967) * go_2(1.0, -1.0); + result += mat4(0.0043743993, 0.20346396, 0.1655524, -0.025431981, -0.02454905, -0.04476991, 0.020741275, -0.12993908, 0.026805034, -0.0037405565, -0.17931041, 0.09257133, 0.13752705, 0.07889819, -0.037251562, -0.002646608) * go_2(1.0, 0.0); + result += mat4(0.038870014, -0.37619725, 0.046597917, -0.15463144, 0.054383356, -0.2925491, 0.0640225, -0.00486844, -0.0016340262, 0.10840749, 0.0993287, 0.17394166, 0.08594391, -0.030945132, 0.025646068, -0.06640845) * go_2(1.0, 1.0); + result += mat4(-0.01649855, -0.068216905, -0.027988954, -0.12154563, 0.022097806, -0.1290429, 0.10954417, 0.13157494, -0.1745968, -0.04658394, -0.053029858, -0.0759596, -0.04430781, -0.041724976, -0.056713972, -0.14473973) * go_3(-1.0, -1.0); + result += mat4(0.06543556, 0.092009485, -0.08451462, 0.052707452, -0.06780165, -0.088456, -0.025358824, -0.12258837, -0.10129489, -0.059306916, -0.14748581, 0.014620428, -0.038939722, -0.10054172, 0.09494565, -0.07793254) * go_3(-1.0, 0.0); + result += mat4(-0.05932573, 0.013406356, 0.26368266, 0.18454649, -0.03142332, -0.01590683, -0.06236948, 0.11061398, 0.025253339, -0.030919848, 0.064894855, 0.13248478, -0.030221257, -0.0986045, -0.034824356, -0.16913392) * go_3(-1.0, 1.0); + result += mat4(0.0015110603, 0.2025821, 0.004228453, 0.08477586, -0.03797453, -0.04194356, 0.18174535, -0.06626136, -0.13344109, -0.22612168, 0.02602776, 0.016666876, -0.027019914, 0.119900815, -0.06250115, -0.070262626) * go_3(0.0, -1.0); + result += mat4(-0.14976665, 0.03257234, -0.14965177, 0.073865525, 0.062913194, 0.05034122, 0.03676157, -0.018906, 0.04145618, -0.111236595, -0.20951095, -0.060131762, -0.16541055, -0.08913449, 0.044624332, -0.08443667) * go_3(0.0, 0.0); + result += mat4(-0.21176168, -0.015680272, 0.25104785, 0.28819278, 0.068234585, -0.067152865, 0.18975581, -0.024222756, 0.09343949, 0.107427366, -0.08206377, -0.07970111, -0.10268362, -0.02063304, 0.007915588, -0.1344096) * go_3(0.0, 1.0); + result += mat4(0.061288554, -0.017783957, 0.1759008, -0.096834674, -0.17838398, 0.22331426, -0.027759569, -0.0883247, -0.05435304, -0.099557355, 0.026310958, 0.18467775, 0.07900235, -0.017400427, 0.1453773, 0.033763483) * go_3(1.0, -1.0); + result += mat4(-0.06601715, 0.19832757, 0.10341119, 0.015197309, -0.13140027, 0.06353335, -0.033154953, 0.14772332, 0.053612914, -0.018467115, -0.1992033, 0.17353232, 0.16321027, -0.09609656, -0.12580357, -0.052030507) * go_3(1.0, 0.0); + result += mat4(-0.09335505, 0.099851064, 0.12890811, 0.13102262, -0.07580953, -0.11255671, -0.18570407, -0.14529274, -0.05160979, 0.06461672, -0.038672008, -0.00841868, 0.0029629876, -0.13739161, -0.29193023, -0.081763566) * go_3(1.0, 1.0); + result += mat4(0.23590541, 0.009043033, 0.06940084, 0.13891594, -0.010488754, 0.029098868, 0.07929391, -0.07250032, -0.13742201, -0.18533885, 0.2531767, -0.009061109, -0.027644258, 0.10404188, 0.012537389, 0.10293872) * go_4(-1.0, -1.0); + result += mat4(0.19354686, 0.15574348, 0.31874457, 0.024332082, 0.06383042, 0.048204664, -0.073850416, 0.032850295, -0.34514645, -0.054682292, -0.054835007, 0.012525943, -0.031569667, -0.093528986, 0.077636436, 0.080878824) * go_4(-1.0, 0.0); + result += mat4(-0.061584793, 0.003138571, 0.25193092, 0.09340434, 0.17664844, 0.010498078, 0.18399622, -0.23279727, -0.12833218, 0.15312086, -0.10134878, -0.0025951387, 0.07395745, -0.059028395, 0.1285172, 0.13659331) * go_4(-1.0, 1.0); + result += mat4(0.1286127, -0.08862414, 0.123132095, -0.11186987, 0.04064812, 0.1295343, -0.08698302, -0.054833192, -0.06911518, 0.1468998, 0.14806904, 0.0002644252, -0.102448784, 0.0064156754, 0.111383334, -0.07292957) * go_4(0.0, -1.0); + result += mat4(0.05504673, -0.076037504, 0.11776747, -0.07890708, 0.077408485, -0.117229365, 0.0197986, -0.12881358, -0.121706314, 0.008088911, -0.025189465, -0.06471935, 0.111992925, -0.08574453, -0.18029808, 0.057162132) * go_4(0.0, 0.0); + result += mat4(-0.09641628, -0.08636256, 0.07254762, -0.1108583, 0.06322016, 0.04606108, 0.015605975, -0.023462018, 0.077079624, 0.12611854, -0.026314614, -0.021778936, -0.080265954, -0.028592844, 0.1361638, 0.16848429) * go_4(0.0, 1.0); + result += mat4(0.14155127, 0.013242842, 0.04764719, -0.12724996, -0.05762018, 4.4798093e-05, 0.31255975, -0.52083194, -0.18550456, 0.109841965, 0.1860627, 0.11478285, -0.36154944, -0.12439295, 0.3006208, 0.032344274) * go_4(1.0, -1.0); + result += mat4(-0.11564562, -0.034078646, 0.16126357, -0.1936752, -0.2330871, -0.13876866, 0.088089384, -0.021154383, -0.091547124, 0.091753796, 0.18144718, 0.1774146, 0.007724317, 0.097580045, -0.15106232, -0.04128832) * go_4(1.0, 0.0); + result += mat4(0.071651496, 0.18003649, 0.10129018, -0.16904286, -0.2137536, -0.1308051, 0.13850693, 0.04569891, 0.09158717, 0.1749203, -0.032127034, 0.06019649, 0.12735014, -0.19949023, 0.003664079, -0.050514087) * go_4(1.0, 1.0); + result += mat4(-0.009363578, 0.083391, -0.08583937, -0.008416162, -0.024429835, 0.008918877, -0.15991227, -0.035743445, -0.040119864, 0.20200913, -0.09585724, 0.039848186, 0.2914714, -0.13199879, -0.04198891, 0.049873233) * go_5(-1.0, -1.0); + result += mat4(0.14203294, -0.12218405, -0.1336784, -0.011557518, -0.10419894, -0.047520764, 0.012323197, 0.01812075, -0.15906301, 0.057789516, -0.108339556, 0.035662923, 0.008705645, -0.017022535, -0.11589909, 0.030071909) * go_5(-1.0, 0.0); + result += mat4(-0.15126535, 0.116061516, 0.26665378, -0.11970062, -0.192801, 0.021354547, -0.253131, 0.12830788, -0.17019245, 0.06896555, -0.0015308838, -0.0076949615, 0.031619042, -0.14708556, -0.11876281, -0.053292263) * go_5(-1.0, 1.0); + result += mat4(-0.14085393, 0.15730241, 0.10422539, 0.025466066, 0.10541659, -0.0012975787, 0.041553672, 0.059082996, -0.154172, 0.08198402, 0.09771777, -0.068264395, 0.047784068, -0.11348507, 0.004380174, -0.089181446) * go_5(0.0, -1.0); + result += mat4(0.04478754, -0.18557417, 0.13422509, 0.15747893, -0.009310171, -0.0116828615, -0.0116161555, -0.0065923473, -0.028874157, 0.17116025, -0.15008302, 0.0864679, -0.10439667, 0.09480786, -0.14620537, -0.12444) * go_5(0.0, 0.0); + result += mat4(-0.10271061, 0.037290677, 0.16068509, -0.0020577735, -0.26431653, 0.0316218, 0.13216278, 0.039026607, 0.114048995, -0.08055903, -0.25474527, 0.03769183, 0.11541464, -0.13846509, -0.23404308, 0.059910618) * go_5(0.0, 1.0); + result += mat4(0.03207741, -0.057938, -0.083276935, -0.08009412, 0.11193717, -0.07672049, -0.16157848, -0.11298354, -0.17304356, 0.08984146, -0.050554533, 0.15308471, -0.05547862, -0.15691018, 0.07320868, -0.042120814) * go_5(1.0, -1.0); + result += mat4(0.048134506, -0.10295267, 0.051832333, -0.13681562, 0.103027515, -0.06026332, 0.06881206, -0.015670486, 0.28807607, 0.03059088, 0.034055263, 0.017337816, 0.05512398, 0.075067505, -0.036354467, 0.06471895) * go_5(1.0, 0.0); + result += mat4(-0.085566096, 0.014341178, -0.08384431, -0.051138613, -0.13172193, -0.10944131, 0.052603673, 0.10315314, 0.13149905, -0.10674123, -0.007911778, -0.028487006, 0.13898246, -0.018405652, 0.04242993, -0.10391517) * go_5(1.0, 1.0); + result += vec4(0.06731381, -0.14791869, -0.15826754, -0.069372416); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!SAVE conv2d_5_tf2 +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.0017213221, -0.15371315, -0.092273064, -0.10798677, 0.009334791, 0.22254497, -0.097098924, 0.029816378, 4.457267e-05, -0.1057864, 0.4134007, 0.14368671, -0.004629636, 0.17854625, 0.2903048, -0.06277739) * go_0(-1.0, -1.0); + result += mat4(-0.046712447, 0.119774394, -0.117091574, 0.09618261, -0.10770648, 0.124485455, 0.075216, -0.28377417, -0.24061379, -0.09114137, 0.23112294, 0.12123567, 0.025058655, 0.093606554, 0.10327309, -0.024526346) * go_0(-1.0, 0.0); + result += mat4(0.019105028, 0.06630737, 0.032209937, 0.09685681, -0.018223759, 0.04791892, -0.008235882, -0.29300943, 0.25300565, -0.2488416, 0.08808891, 0.23057054, 0.07350692, -0.106139764, -0.063049704, -0.059718538) * go_0(-1.0, 1.0); + result += mat4(0.0455073, -0.051755026, -0.11883914, 0.20130287, -0.131154, 0.017220428, 0.12068244, 0.070289314, -0.12415149, -0.22242554, 0.08771896, 0.0035022376, 0.24336605, 0.08416074, 0.028170893, -0.03845105) * go_0(0.0, -1.0); + result += mat4(0.03242001, 0.102102384, -0.17709577, -0.0109795965, 0.08089789, -0.021498924, 0.06255124, -0.042419348, 0.108601704, -0.05202687, -0.12712812, -0.17035247, 0.17001751, -0.045719698, 0.09703396, 0.037530866) * go_0(0.0, 0.0); + result += mat4(-0.09127368, 0.18729141, 0.11323561, 0.12806842, -0.058737166, 0.1974935, -0.1213344, 0.26005578, -0.041523788, -0.0029840702, 0.14748086, -0.10480214, -0.06823255, 0.045274846, 0.078861825, 0.088076524) * go_0(0.0, 1.0); + result += mat4(-0.10629749, -0.023263903, -0.082174115, -0.121970475, 0.21234329, 0.0262291, 0.1745219, 0.07722097, -0.12979622, -0.046668485, -0.0027060192, -0.07948489, -0.1455228, -0.1722979, -0.11220583, -0.15050055) * go_0(1.0, -1.0); + result += mat4(0.04207767, -0.08237373, 0.07580429, -0.02124768, 0.12718296, 0.053528596, -0.09762217, -0.0045613465, -0.04504155, 0.18147692, -0.13206507, 0.118414916, 0.03825585, -0.23475614, -0.06268228, 0.086768724) * go_0(1.0, 0.0); + result += mat4(0.034695115, 0.07061876, 0.04965704, 0.17847943, -0.1437011, 0.15886799, -0.201469, -0.063395016, -0.1750345, 0.11911144, -0.188721, 0.08700757, 0.14036323, -0.08573763, 0.10530263, -0.07726266) * go_0(1.0, 1.0); + result += mat4(0.21503586, -0.18479058, 0.0074815084, 0.09756983, 0.037916277, -0.17987613, 0.11589862, -0.028243838, -0.20950282, 0.026752079, 0.10840585, 0.15400405, 0.08625402, -0.07633785, 0.0017439253, -0.072862245) * go_1(-1.0, -1.0); + result += mat4(0.008905137, 0.106612414, -0.07793345, 0.15220572, -0.0028391609, -0.10614796, -0.17509677, 0.09583197, 0.18518968, 0.005445739, 0.12949161, 0.07129458, 0.06554234, -0.1308029, -0.029664468, 0.010993508) * go_1(-1.0, 0.0); + result += mat4(-0.054151967, -0.21677336, 0.17064962, 0.06138102, -0.06272079, -0.11186543, -0.02262431, 0.27793702, 0.019080682, 0.121934734, -0.08267019, -0.08607981, 0.10281368, -0.015739575, 0.07353178, 0.10465199) * go_1(-1.0, 1.0); + result += mat4(0.11974522, 0.044251468, -0.15450975, -0.075565055, -0.04790616, -0.031326365, 0.27381012, -0.094721034, -0.11900706, -0.06368458, 0.10776822, 0.18564561, 0.089738145, -0.0016327037, 0.18722743, 0.09222095) * go_1(0.0, -1.0); + result += mat4(-0.02468192, -0.16873443, -0.02480979, -0.13937175, -0.13027008, 0.15577625, -0.01477261, 0.07563496, -0.00062903174, 0.071869016, 0.17108877, 0.00066113746, -0.29290298, 0.07078572, -0.054790854, 0.09035019) * go_1(0.0, 0.0); + result += mat4(0.066045515, -0.11800159, -0.0750722, -0.08316888, -0.08140103, -0.107804835, 0.1621138, 0.16997898, -0.04444603, 0.28161287, -0.28550264, -0.17914039, -0.15597315, 0.15387748, -0.047001313, -0.042532828) * go_1(0.0, 1.0); + result += mat4(0.025888437, 0.13297214, -0.07546064, -0.06647902, 0.017062671, -0.2597112, 0.13725336, 0.10858415, -0.1160102, 0.13422437, 0.1592752, 0.15240288, 0.03929169, 0.2020017, 0.07010354, 0.028547695) * go_1(1.0, -1.0); + result += mat4(-0.0703738, 0.13582481, -0.036476467, -0.096972756, -0.12283295, 0.13071987, -0.056827262, -0.023500688, -0.0075902776, 0.06296815, -0.049109932, 0.16880427, 0.29702982, -0.01992682, 0.013997502, -0.070870094) * go_1(1.0, 0.0); + result += mat4(0.108744465, -0.09422798, 0.13146311, -0.250233, 0.016463336, -0.12794453, 0.03931633, 0.17450981, 0.11661872, 0.12163951, -0.1192709, -0.05398837, -0.24910302, 0.19006594, -0.1857664, -0.1205357) * go_1(1.0, 1.0); + result += mat4(-0.054634392, 0.052315067, 0.05044536, -0.05177968, 0.21537638, -0.014019764, -0.06632539, 0.030889641, -0.18629341, -0.04575244, -0.07509494, 0.09061459, -0.0686147, -0.1872925, -0.08178069, -0.17149752) * go_2(-1.0, -1.0); + result += mat4(-0.08697341, 0.15311632, 0.06298225, -0.17094718, -0.0854164, 0.037885193, -0.048915166, -0.010449174, 0.030081013, -0.02462675, -0.105993316, -0.100794375, -0.05364704, -0.120219246, 0.16426747, -0.016683623) * go_2(-1.0, 0.0); + result += mat4(0.1442815, -0.2285766, 0.14395493, -0.01616554, -0.054909255, -0.06734717, 0.044498604, -0.07669548, 0.06888753, 0.2329823, -0.2728349, -0.06917594, 0.049095903, 0.0144689595, -0.08170211, -0.21154584) * go_2(-1.0, 1.0); + result += mat4(-0.0032911033, -0.30628094, 0.01655303, -0.12639484, -0.043794096, 0.12097294, 0.10301277, 0.0323829, -0.20977376, -0.2598986, -0.032757662, 0.062723145, 0.065447785, -0.10534467, -0.061504886, -0.25371954) * go_2(0.0, -1.0); + result += mat4(-0.062172186, -0.12031234, -0.05312447, -0.07274714, -0.044065587, 0.060389437, -0.011823414, 0.08889303, 0.010290733, -0.056499645, -0.012554047, 0.13659821, 0.062492277, -0.1463726, -0.30616954, -0.048617195) * go_2(0.0, 0.0); + result += mat4(-0.05244876, 0.056097146, -0.06787384, 0.09076766, -0.09579352, -0.0066260016, 0.15201993, 0.03254239, 0.021516487, 0.15981875, -0.1432654, 0.17569521, 0.12658277, -0.1530729, -0.14634636, -0.00258191) * go_2(0.0, 1.0); + result += mat4(0.19284594, -0.24125227, -0.06610495, -0.22473419, 0.19109339, 0.20509472, 0.022192668, 0.13134679, -0.16711204, 0.03866372, 0.040778622, 0.004792002, 0.06713585, -0.11313002, -0.0494123, 0.16455573) * go_2(1.0, -1.0); + result += mat4(0.08695826, 0.03544317, -0.22323117, 0.10693563, -0.060470764, 0.14525974, -0.12502834, -0.10161133, -0.29323998, -0.14850102, 0.0802706, 0.14540558, 0.07584563, -0.105335936, -0.10063164, -0.16825674) * go_2(1.0, 0.0); + result += mat4(-0.09106831, -0.054964047, -0.0060697296, 0.1795092, -0.031979155, -0.17847598, 0.02053048, -0.09066955, -0.27984852, 0.11892948, 0.24315885, 0.18758732, 0.16902542, -0.21777025, -0.012130184, -0.060705084) * go_2(1.0, 1.0); + result += mat4(0.059577208, 0.060833983, 0.10868721, 0.11276571, -0.2327309, -0.11088089, 0.20807125, -0.021718912, 0.030323144, -0.10312503, -0.22234069, 0.16634466, 0.19398251, -0.0545838, -0.13059108, 0.017868554) * go_3(-1.0, -1.0); + result += mat4(-0.07514213, 0.10887309, 0.1218314, -0.18563306, -0.008527813, -0.20459747, -0.030698426, 0.0844588, 0.23686919, 0.03104538, 0.08527714, -0.09642553, -0.08534072, 0.06419827, -0.12806654, -0.11365306) * go_3(-1.0, 0.0); + result += mat4(-0.039864887, -0.25141066, 0.13011548, -0.13584746, -0.013512096, -0.17277367, 0.08957357, 0.24380256, -0.033397153, -0.012431397, 0.082527, 0.020838374, 0.016154792, -0.29341805, -0.015195005, 0.022471353) * go_3(-1.0, 1.0); + result += mat4(-0.11212281, 0.08150235, 0.0055854055, -0.28806004, -0.09078987, -0.05241604, -0.09806806, -0.2560824, 0.043018572, 0.013310293, -0.018843893, 0.049140453, 0.17483246, 0.12305487, -0.096557006, 0.0123909665) * go_3(0.0, -1.0); + result += mat4(0.09532439, 0.15352365, 0.20087242, 0.08491758, -0.24605502, 0.16663635, -0.13709177, -0.12777333, 0.02181133, 0.036698326, -0.003161005, 0.05891433, -0.055862445, 0.29106724, -0.17064662, -0.14393678) * go_3(0.0, 0.0); + result += mat4(0.0058135563, -0.22420937, 0.07235329, -0.124738544, 0.08238468, -0.2015809, -0.03386368, -0.17470017, 0.057452828, -0.06164105, -0.13776, -0.09869882, -0.0026272335, -0.20054811, 0.019651942, -0.2600821) * go_3(0.0, 1.0); + result += mat4(-0.17325936, -0.05762174, -0.06450132, 0.050736707, 0.045916766, 0.00402603, -0.08697255, 0.12957326, -0.17539512, 0.087370165, -0.004544662, -0.073203914, -0.010898469, 0.12600337, -0.012520381, 0.034228735) * go_3(1.0, -1.0); + result += mat4(-0.10941816, 0.0907973, -0.0004870752, -0.0067486484, -0.0726075, 0.2144327, -0.055393726, -0.023118004, -0.14722143, -0.15563087, -0.06595914, -0.048578046, -0.030177968, 0.20142747, 0.01779709, 0.01655237) * go_3(1.0, 0.0); + result += mat4(-0.08580983, -0.026037404, -0.077059925, -0.087288134, 0.004400565, -0.011133582, 0.17784919, 0.23502137, 0.047681976, -0.11357638, -0.0896771, 0.0067448434, -0.10454412, 0.17173828, 0.02538007, 0.012261617) * go_3(1.0, 1.0); + result += mat4(-0.1899917, 0.035758197, 0.09290593, -0.321715, 0.0062465663, 0.0014386866, 0.016894078, -0.115979955, -0.0027755008, 0.06348923, 0.03340955, -0.24005453, 0.049253695, -0.038937677, 0.11952727, 0.0399283) * go_4(-1.0, -1.0); + result += mat4(-0.0768814, -0.070920505, 0.32928568, -0.09117129, -0.030737674, -0.10276032, 0.008501685, -0.092094645, -0.119966194, 0.08019844, 0.06642611, -0.061083883, 0.11307649, -0.031231074, -0.032001212, 0.13963008) * go_4(-1.0, 0.0); + result += mat4(-0.07274599, 0.0010301028, 0.045785096, -0.010552021, -0.13573211, 0.271882, -0.22248295, -0.28493458, 0.024056, 0.14095017, 0.065386854, 0.06830046, 0.039510656, -0.09839122, 0.20431511, 0.09510801) * go_4(-1.0, 1.0); + result += mat4(0.015967855, -0.18058023, 0.18704537, 0.18511131, 0.08232382, 0.0142269125, -0.045059025, 0.09668988, 0.062527284, 0.15584159, -0.19181041, -0.09103482, 0.07462716, 0.08690921, -0.006602257, -0.048261993) * go_4(0.0, -1.0); + result += mat4(0.06590294, 0.03255081, 0.27418908, 0.12957683, -0.056972653, -0.13130698, 0.116743594, -0.021665238, -0.049696703, 0.1355714, -0.034948308, 0.013496893, 0.08264742, -0.040836275, 0.066302836, -0.008282482) * go_4(0.0, 0.0); + result += mat4(-0.031672716, 0.062036, 0.0670039, 0.118378155, 0.16932462, 0.19176582, -0.14296779, -0.07521962, 0.08186631, 0.13872068, 0.2050204, 0.23874411, -0.05187021, -0.14518432, 0.17769787, 0.13543007) * go_4(0.0, 1.0); + result += mat4(0.23216663, -0.07822891, 0.19363302, 0.14644198, 0.23314826, 0.16843605, 0.14231025, 0.39938375, 0.012976297, 0.04872197, -0.056092817, -0.06786196, -0.13020758, -0.16039686, -0.08942605, 0.06917485) * go_4(1.0, -1.0); + result += mat4(0.13809198, -0.07787285, -0.0032761474, 0.08901838, 0.06670918, 0.23262213, 0.19812497, -0.29459605, -0.16106832, -0.089955695, 0.018862866, 0.027937569, -0.068481594, 0.0515106, 0.0076716254, -0.020717952) * go_4(1.0, 0.0); + result += mat4(0.15160611, -0.056448795, -0.01282516, -0.060768176, -0.13858989, 0.070536785, -0.036451727, -0.007100553, -0.06416002, 0.1640014, -0.012680492, 0.089894645, 0.089873075, -0.12290447, 0.07415422, 0.051840447) * go_4(1.0, 1.0); + result += mat4(0.049169756, 0.012065099, 0.044702023, 0.41471246, -0.22039439, 0.26710343, 0.03259032, -0.0010071819, 0.122387365, 0.016845915, -0.04162581, 0.16303158, -0.018624788, -0.018498175, 0.119111605, 0.066239804) * go_5(-1.0, -1.0); + result += mat4(0.1304685, -0.015543399, 0.09727904, 0.025493689, 0.11235736, -0.024798019, 0.24016461, 0.05678371, 0.29092878, 0.008495527, -0.08145035, 0.1277052, 0.09728953, -0.064336315, 0.018896975, -0.0052928496) * go_5(-1.0, 0.0); + result += mat4(-0.22020516, 0.17298244, 0.08216116, 0.13081113, -0.058733664, 0.14459507, 0.1042437, 0.10113822, -0.012354008, 0.21633418, 0.059657548, 0.14173268, 0.026709042, -0.10159428, 0.14287837, 0.16256075) * go_5(-1.0, 1.0); + result += mat4(-0.03602925, 0.19763114, 0.14659521, 0.079257175, -0.048765395, -0.04763924, -0.023928326, -0.07900388, 0.13704984, 0.08109074, -0.017959716, 0.0065745655, -0.052421648, -0.03608805, 0.06062624, 0.11137132) * go_5(0.0, -1.0); + result += mat4(0.10591948, 0.0052649123, 0.18899056, 0.0075388527, 0.035225954, -0.062119495, 0.022104654, -0.10452858, 0.03833499, 0.26919907, -0.078174464, 0.0016594962, 0.09164568, -0.05362235, 0.047250915, -0.031277195) * go_5(0.0, 0.0); + result += mat4(0.0244364, -0.06794058, -0.021393122, -0.053156774, 0.15241314, -0.09962311, -0.03456499, -0.016867915, 0.1597494, -0.12681212, -0.010430228, 0.00086353114, 0.027244834, 0.08854933, 0.1284529, -0.05862663) * go_5(0.0, 1.0); + result += mat4(-0.12345045, -0.044616744, -0.04131162, 0.13541003, -0.047810026, -0.12005011, 0.010486988, -0.021923149, 0.11812008, 0.17721419, -0.032736443, -0.15231252, -0.13128845, 0.07795993, 0.047232933, -0.07249807) * go_5(1.0, -1.0); + result += mat4(0.08612666, 0.02928595, 0.24572, 0.1079535, 0.06905186, -0.040503707, 0.08792316, 0.13987797, 0.14096849, -0.026072232, -0.024833977, -0.031660788, -0.07927557, 0.03298344, -0.08978443, 0.112841055) * go_5(1.0, 0.0); + result += mat4(0.15270372, 0.07552049, 0.09564199, -0.13284975, 0.003842602, -0.029099604, 0.0003256477, -0.09769279, 0.12788263, -0.10107807, 0.10767, 0.23706906, -0.059877742, 0.09791839, 0.04538287, 0.16307582) * go_5(1.0, 1.0); + result += vec4(0.07341823, -0.019611815, -0.09007808, -0.022756629); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!SAVE conv2d_6_tf +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.053204395, 0.2134829, 0.12336964, -0.10227736, 0.13940702, -0.124413736, 0.3020443, -0.2065515, -0.004734049, 0.037971064, -0.17321284, 0.041885074, 0.077058956, 0.12063891, -0.010338445, 0.06337065) * go_0(-1.0, -1.0); + result += mat4(0.12816934, 0.14948028, -0.09161687, 0.009573578, 0.22003245, 0.044031654, 0.090882175, -0.14265673, 0.06734865, 0.05421324, 0.11106335, -0.020738617, 0.02484326, -0.059336618, -0.009157065, 0.0821956) * go_0(-1.0, 0.0); + result += mat4(-0.02057381, -0.053952582, -0.05662845, 0.043356568, 0.2431925, -0.117109254, -0.03546069, 0.32747653, -0.0656724, -0.10274332, -0.026182862, 0.16777003, -0.038789105, -0.011600223, -0.06111373, -0.045530178) * go_0(-1.0, 1.0); + result += mat4(-0.11627616, -0.2680533, 0.010153158, 0.04263144, -0.046353284, -0.05806104, 0.08532106, 0.02319678, -0.12570818, 0.0359389, 0.020782439, 0.10452313, 0.06330789, -0.0086953, -0.03920925, 0.06789389) * go_0(0.0, -1.0); + result += mat4(-0.08820413, -0.13917038, -0.049961973, 0.10507677, 0.25912637, 0.048801307, 0.13123387, 0.055866715, -0.055367444, 0.1428978, -0.040858068, 0.20058946, 0.0673469, -0.17162299, 0.15529002, 0.41366217) * go_0(0.0, 0.0); + result += mat4(-0.081712715, 0.04338456, -0.0368015, -0.0018422191, 0.16511263, -0.21779254, 0.065223925, 0.4804269, 0.26078546, -0.038037203, -0.2898542, 0.2068737, 0.101655796, -0.12456843, -0.11357212, -0.005879897) * go_0(0.0, 1.0); + result += mat4(-0.074044555, 0.07722422, 0.062057327, -0.039013617, 0.12760206, -0.18111233, -0.01114239, 0.1514668, -0.008963988, 0.23631106, 0.18362597, 0.14166053, -0.046458114, 0.16774492, 0.17774823, -0.008998563) * go_0(1.0, -1.0); + result += mat4(0.09820194, -0.054974817, -0.015640004, -0.037923157, 0.22821093, -0.03986652, -0.0074655996, 0.04587354, 0.05650628, 0.112482674, 0.023865355, 0.24882393, -0.011221855, 0.13942584, 0.003652544, -0.06288897) * go_0(1.0, 0.0); + result += mat4(-0.31229278, -0.10419711, -0.004614452, -0.032103445, -0.00018427879, 0.027711036, 0.028399462, 0.082576215, -0.056645207, 0.038272534, -0.011554511, 0.33454514, -0.21628743, 0.11849716, -0.23067485, -0.087079175) * go_0(1.0, 1.0); + result += mat4(-0.14960206, 0.29916358, -0.36191732, -0.096665345, -0.08732554, -0.10081626, 0.10593716, -0.0143145975, 0.12768494, 0.3251397, 0.23868982, -0.08632128, -0.07138096, -0.029475177, 0.07199368, -0.0016260111) * go_1(-1.0, -1.0); + result += mat4(0.17022541, 0.19862384, 0.0029171365, 0.07225595, 0.08387519, -0.051419877, 0.16522466, -0.04951881, 0.07093068, 0.34544435, 0.08639415, -0.0077871718, 0.07875624, -0.10820802, 0.015711969, 0.1371948) * go_1(-1.0, 0.0); + result += mat4(0.11947513, 0.03204784, -0.22552966, 0.05517582, 0.13209006, -0.06262761, 0.0719108, -0.083935544, -0.17171475, 0.07105399, 0.013485666, -0.13865131, -0.20124301, -0.10171288, -0.17265166, -0.1650513) * go_1(-1.0, 1.0); + result += mat4(-0.038657106, -0.11968214, -0.04953467, 0.03988426, 0.18497725, 0.00012608049, -0.014361117, 0.016538745, 0.053768195, 0.21468902, 0.22507563, 0.13274029, 0.09316226, 0.10554355, 0.13079438, -0.020738615) * go_1(0.0, -1.0); + result += mat4(0.3934315, -0.14415179, 0.022628346, 0.067308314, 0.06434691, -0.09336087, -0.067665786, 0.05017148, -0.06534398, -0.048088152, -0.037155427, 0.1489594, -0.054163337, 0.2329102, -0.105613016, 0.0012456856) * go_1(0.0, 0.0); + result += mat4(0.24050267, -0.0067265374, -0.0153115215, 0.06555275, 0.19129738, 0.0043795216, 0.063948326, -0.13967972, -0.40650475, 0.09109113, 0.07856194, -0.13390535, -0.08199262, 0.17485364, -0.090266995, -0.012882164) * go_1(0.0, 1.0); + result += mat4(-0.387764, -0.15284535, -0.269682, 0.063642666, 0.08651869, -0.23153405, -0.10131002, 0.0043905224, 0.220928, 0.17752749, -0.01569877, -0.0686579, 0.21019012, 0.20529252, 0.06952716, -0.058749653) * go_1(1.0, -1.0); + result += mat4(-0.293644, 0.036391325, -0.07392813, -0.086678274, 0.2078697, -0.11507264, 0.028548734, -0.16409987, 0.17409426, 0.1885014, 0.084329076, -0.15027794, 0.20641033, 0.06187141, -0.03875406, 0.0032009226) * go_1(1.0, 0.0); + result += mat4(0.10790136, 0.1387389, -0.1781791, 0.21425287, 0.12715636, -0.063490026, 0.09555745, -0.10528784, 0.12758408, 0.29311177, 0.0432301, -0.021469813, 0.021922017, 0.082767464, 0.15348153, 0.12735313) * go_1(1.0, 1.0); + result += mat4(0.0062385295, 0.11732651, 0.06049321, -0.07607647, 0.17820913, 0.06216857, 0.05036523, 0.008527562, -0.05745378, 0.065337434, -0.04389796, 0.032172143, -0.08650831, -0.13604137, 0.050570212, 0.011036989) * go_2(-1.0, -1.0); + result += mat4(0.016900355, 0.14422971, -0.106490955, -0.052399695, 0.13446756, 0.07712888, 0.0058913217, 0.07991085, 0.038670607, -0.25514704, 0.12148176, 0.17061579, 0.11421595, 0.022622943, 0.058726758, -0.17090438) * go_2(-1.0, 0.0); + result += mat4(0.055515286, -0.19921277, -0.0012379233, 0.064982586, 0.26003027, -0.026233593, 0.07716586, -0.025661616, -0.11324887, -0.0035626758, 0.017872687, -0.10889948, -0.09775516, 0.07376668, -0.07696171, -0.2438295) * go_2(-1.0, 1.0); + result += mat4(0.032405633, -0.05084789, -0.088054694, -0.10841894, -0.0075752116, 0.13531004, -0.1457409, 0.13204673, 0.0792082, 0.12976237, -0.07244278, -0.11369213, 0.06102383, -0.23130623, 0.0485402, 0.06685668) * go_2(0.0, -1.0); + result += mat4(-0.13683872, -0.053872824, -0.06719165, -0.070855714, 0.019770421, 0.18132222, 0.027324507, -0.04910738, 0.17011392, 0.057926424, 0.0857354, -0.14427422, -0.066373795, 0.09973484, 0.02194641, 0.17209244) * go_2(0.0, 0.0); + result += mat4(-0.07172457, -0.09989123, 0.06346084, 0.007205204, -0.18027657, 0.007516025, -0.0042022206, -0.0091036465, 0.18030393, -0.009558301, 0.12717903, -0.02116024, 0.14172006, 0.012544988, -0.16633627, 0.13234323) * go_2(0.0, 1.0); + result += mat4(-0.026680972, 0.26901576, -0.053663265, 0.0021016174, 0.032445803, 0.037003934, 0.05414299, -0.035497934, -0.10569329, 0.050672166, -0.01144387, 0.05000742, -0.057444472, 0.0010797186, 0.018822541, -0.04636653) * go_2(1.0, -1.0); + result += mat4(0.135361, -0.058395687, -0.033542126, 0.09484118, -0.07793999, 0.013546507, 0.11820586, 0.14490362, -0.016325314, -0.0062904614, 0.12631275, 0.1394393, -0.049356613, -0.02528993, 0.26334915, -0.032557055) * go_2(1.0, 0.0); + result += mat4(0.077839315, -0.052373778, 0.036136296, -0.05023568, -0.07987715, 0.018897712, -0.17742547, 0.18015353, 0.2571155, 0.058656774, 0.013118142, 0.12145675, 0.14177194, 0.099529505, -0.028370513, 0.25136563) * go_2(1.0, 1.0); + result += mat4(0.0747753, -0.15949982, 0.076973855, 0.080785476, 0.25431648, -0.120426156, 0.059631538, 0.13541599, -0.006538664, 0.06348775, -0.15413675, -0.011688718, -0.0877202, -0.07138076, -0.20553613, 0.17151853) * go_3(-1.0, -1.0); + result += mat4(-0.24562076, -0.31801596, 0.2534939, -0.054888077, 0.23713852, -0.23484352, 0.015403321, 0.28927258, 0.02333135, 0.115237035, 0.051989716, -0.0774211, -0.17619006, -0.042421665, -0.17778155, -0.16379887) * go_3(-1.0, 0.0); + result += mat4(-0.15642986, -0.0426825, 0.075349115, -0.13867629, 0.112977736, 0.06540842, 0.0059138774, 0.090976134, 0.102575876, -0.07702354, -0.060852207, -0.07358783, -0.030642396, -0.12437998, 0.19073227, -0.008556629) * go_3(-1.0, 1.0); + result += mat4(-0.009600349, 0.19660307, 0.06310739, -0.091261774, 0.1383758, -0.10920792, 0.01987075, 0.10960847, -0.03973851, -0.05378361, -0.053934645, -0.062070217, 0.017768001, -0.109798394, -0.27830756, 0.14825441) * go_3(0.0, -1.0); + result += mat4(0.2253333, 0.04887524, 0.007540527, -0.21392706, 0.28378952, -0.22518088, -0.09280502, 0.25905597, 0.1558124, -0.06532809, -0.052613363, -0.038770456, -0.09479437, 0.39384437, 0.09516288, -0.29169223) * go_3(0.0, 0.0); + result += mat4(0.023066722, -0.20169239, 0.025786614, 0.12992494, -0.0011414116, -0.0023400988, 0.13305776, -0.017615285, -0.06834794, -0.06084079, -0.10924924, 0.039389268, -0.0040167933, 0.049587116, 0.07590412, 0.31464538) * go_3(0.0, 1.0); + result += mat4(-0.1917511, -0.008846332, 0.0914183, -0.06694468, 0.054535903, 0.19732447, 0.17194839, 0.12368525, -0.11447456, -0.10244315, -0.082908966, -0.103707045, 0.06248975, -0.14130668, -0.068753496, 0.23984621) * go_3(1.0, -1.0); + result += mat4(-0.10043509, 0.036193024, 0.017117409, 0.15630378, 0.29531795, -0.20785378, -0.17022829, 0.010861576, -0.052274987, -0.050172083, -0.09687743, 0.025382213, 0.1061047, -0.019923043, 0.1905993, 0.31907213) * go_3(1.0, 0.0); + result += mat4(-0.023860455, 0.013424604, -0.055340413, -0.006086705, 0.26867437, -0.18745743, 0.11919189, 0.05196282, -0.09836886, -0.10949307, -0.064731866, -0.14198364, 0.46431017, -0.14794265, 0.025133874, 0.38547024) * go_3(1.0, 1.0); + result += mat4(0.06934901, -0.20738873, 0.14471452, 0.03087651, 0.18033424, 0.16282603, -0.050284263, -0.041595727, -0.11747435, -0.04275445, -0.20998137, -0.056565028, -0.050009515, 0.13573733, -0.08438032, -0.07363902) * go_4(-1.0, -1.0); + result += mat4(-0.1109324, -0.08281566, 0.080020756, -0.07565862, 0.16276588, 0.13186535, 0.17810473, 0.051175643, -0.1470848, -0.08119655, 0.22341052, -0.14562707, -0.22091609, 0.08912351, 0.062519215, -0.17822169) * go_4(-1.0, 0.0); + result += mat4(-0.02652961, -0.050731696, 0.06761707, -0.070221156, 0.11255305, 0.15729706, 0.18315557, -0.0030489026, 0.08721225, -0.04417, -0.044907395, -0.0631245, -0.010991895, 0.14397791, -0.016412318, -0.016923137) * go_4(-1.0, 1.0); + result += mat4(-0.12462993, 0.14335859, 0.08130342, -0.16543365, 0.010432147, 0.019978197, -0.017498186, 0.03631899, 0.057306956, -0.06078837, -0.015008236, -0.24389061, -0.10250533, 0.31660014, 0.33440468, -0.12124798) * go_4(0.0, -1.0); + result += mat4(-0.27909592, 0.21149877, 0.050259847, -0.24782999, 0.07350583, -0.03168507, -0.0206597, 0.07860909, -0.07629377, 0.1713701, 0.24176298, -0.25509474, 0.002090829, 0.051905315, 0.25929084, -0.09076089) * go_4(0.0, 0.0); + result += mat4(-0.13923247, -0.083095506, -0.12958083, 0.008588576, 0.068224825, 0.094012275, 0.1395537, 0.0690222, 0.13958463, -0.02742012, 0.13905828, -0.04970139, -0.0629641, -0.15277445, 0.016491361, -0.13742869) * go_4(0.0, 1.0); + result += mat4(-0.0027394858, -0.07178526, 0.07668042, -0.16290356, 0.10704169, 0.27434343, -0.003009555, -0.0124241095, 0.031501733, -0.10345558, -0.12258338, -0.055458266, 0.08220533, 0.16282788, 0.22585614, -0.04099274) * go_4(1.0, -1.0); + result += mat4(-0.18252786, 0.032287426, 0.03831364, 0.03279567, -0.015436468, 0.16594371, -0.022859711, 0.014286839, -0.020073507, -0.06752274, 0.04850366, -0.03098202, 0.055985507, 0.030877378, -0.12457596, 0.012876079) * go_4(1.0, 0.0); + result += mat4(-0.2959125, 0.12508816, -0.05321822, -0.1051829, 0.16586393, 0.07608049, -0.042397983, -0.0069031697, 0.13237686, -0.07125681, 0.021239927, 0.17826323, -0.14433292, 0.013577087, -0.14554563, -0.2040924) * go_4(1.0, 1.0); + result += mat4(0.33643177, -0.09343892, 0.05079197, -0.008774256, -0.002809458, -0.07406135, -0.33292174, 0.026698712, 0.3655136, 0.07260544, 0.3903461, -0.025114482, 0.038028333, 0.104210675, -0.4062275, -0.078964405) * go_5(-1.0, -1.0); + result += mat4(0.19767492, -0.1537188, 0.049587816, 0.23333088, -0.3893781, -0.011501175, -0.1826917, -0.12794746, -0.06709039, 0.015785962, -0.18090555, -0.11386157, -0.12038564, 0.011559484, -0.12779875, -0.14214684) * go_5(-1.0, 0.0); + result += mat4(-0.15774208, 0.24946158, -0.040942013, -0.1251321, -0.3509982, 0.07450445, -0.14480934, -0.20172012, -0.11019966, -0.07905495, -0.1572328, 0.12654895, 0.119401105, -0.12334677, 0.10720092, -0.06545273) * go_5(-1.0, 1.0); + result += mat4(-0.037104636, 0.33563337, 0.20923309, 0.028749982, 0.13854796, -0.13161437, 0.038462456, -0.14479184, 0.15403077, -0.04880203, 0.13780783, 0.06471987, 0.2944117, 0.13432993, -0.31482598, -0.06599348) * go_5(0.0, -1.0); + result += mat4(0.54742974, 0.121937156, -0.07866791, 0.07451098, -0.03663172, -0.1554786, 0.059384037, -0.004000904, -0.04610048, -0.10617931, -0.18522029, 0.03238723, -0.085027255, -0.07754074, 0.22321595, -0.22000736) * go_5(0.0, 0.0); + result += mat4(0.34576082, 0.054670934, -0.006112889, 0.08788217, -0.11128527, 0.016721481, 0.0025457302, 0.10134559, -0.08420967, 0.077211045, 0.04456844, 0.15408081, 0.08043456, -0.03195054, 0.068368874, -0.0011692513) * go_5(0.0, 1.0); + result += mat4(-0.109538294, 0.035212234, -0.068712965, -0.09868468, -0.12186257, 0.122597136, -0.06546314, -0.024811305, -0.018210687, 0.09266877, -0.091002055, -0.05117649, 0.076985, 0.08579534, -0.14370322, -0.08178749) * go_5(1.0, -1.0); + result += mat4(-0.21291538, 0.03441726, -0.01899837, -0.15328759, -0.17070505, 0.151839, 0.15083382, -0.08944362, -0.3224203, 0.012464086, 0.08693216, 0.014108278, -0.13456593, 0.008793197, 0.14650744, -0.04115599) * go_5(1.0, 0.0); + result += mat4(0.12686576, 0.033990897, -0.0039116694, -0.12522134, 0.066877596, 0.09016868, -0.05867825, 0.08331187, -0.018720012, 0.10592668, 0.050558716, 0.35772276, -0.09896201, 0.057353813, -0.106769, 0.028894106) * go_5(1.0, 1.0); + result += vec4(-0.124429956, -0.023968874, -0.009741961, 0.000734556); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!SAVE conv2d_6_tf1 +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.056590553, 0.03216381, -0.0666051, 0.19334152, -0.0050108447, -0.22589503, -0.057469424, -0.09344944, -0.1051364, -0.25752833, -0.035817955, -0.29675537, -0.1419535, -0.11206299, -0.005250591, -0.02839156) * go_0(-1.0, -1.0); + result += mat4(-0.113020144, 0.028738707, 0.052538726, -0.039978653, 0.052219037, 0.057554238, 0.104583465, -0.03326389, 0.12732053, -0.09863676, -0.19774933, 0.10953924, 0.052640375, -0.2623868, -0.055126745, -0.12773202) * go_0(-1.0, 0.0); + result += mat4(-0.17464705, -0.082161404, -0.18110912, 0.07796715, 0.04916518, 0.11231854, -0.086312726, -0.034675486, -0.19010356, 0.032855187, -0.013579661, 0.37123898, -0.014220876, -0.006728799, 0.08287457, -0.1138056) * go_0(-1.0, 1.0); + result += mat4(0.13857616, -0.09273926, 0.13864596, 0.18886924, -0.011879785, 0.32183805, -0.051207457, 0.037754197, -0.09221778, -0.02035246, -0.17649348, 0.020960717, -0.07177013, 0.09179843, 0.080085315, 0.122304566) * go_0(0.0, -1.0); + result += mat4(-0.16989891, -0.08335691, 0.084998704, 0.11291987, -0.3019433, 0.0076751867, 0.093596675, 0.06530408, 0.1206327, 0.091008104, 0.109547265, 0.25353962, 0.036133915, 0.093532056, 0.061501086, 0.0021566728) * go_0(0.0, 0.0); + result += mat4(-0.017881159, -0.13595797, 0.01136082, 0.16003034, 0.10847896, 0.19483434, 0.26643255, -0.13653097, -0.02909977, 0.0048497478, -0.07825304, 0.19495782, 0.051259015, 0.06378301, -0.25297102, 0.12415515) * go_0(0.0, 1.0); + result += mat4(0.1937498, -0.054339543, 0.010112153, 0.1686902, -0.010859902, 0.017609913, 0.13538137, 0.21478494, -0.15561095, 0.03826493, 0.030638125, 0.15134248, 0.02018713, 0.09653892, 0.012655936, 0.12929274) * go_0(1.0, -1.0); + result += mat4(0.10884013, -0.059027947, 0.09222052, 0.08509775, -0.23504566, 0.10800187, 0.35871732, -0.27244377, 0.1780951, -0.09118458, -0.08485235, 0.18791482, 0.12209446, 0.0061277915, -0.011919617, -0.258573) * go_0(1.0, 0.0); + result += mat4(0.08261666, -0.107749484, -0.15589459, 0.23786806, -0.25947818, -0.07595851, 0.19160344, -0.024088206, -0.008799499, -0.17963524, -0.25323853, -0.026271267, 0.108688876, -0.21407057, -0.3583868, 0.09666366) * go_0(1.0, 1.0); + result += mat4(0.13808286, -0.04138869, -0.16940956, 0.3419983, 0.055550236, -0.020949477, -0.0067749163, -0.19835842, 0.030675124, 0.075373225, 0.12566806, -0.04334421, -0.102529705, 0.04508018, 0.23232533, 0.0019694006) * go_1(-1.0, -1.0); + result += mat4(0.15215543, -0.016466457, -0.088040456, 0.17388342, 0.04182113, 0.18802759, 0.064585775, -0.14804406, -0.24339275, 0.17330259, 0.027834702, 0.058299657, -0.031298336, 0.31788856, 0.07080272, 0.24237408) * go_1(-1.0, 0.0); + result += mat4(0.16990338, 0.3701443, 0.12791218, 0.14076602, 0.20176111, 0.0302564, 0.24510148, -0.13427663, -0.38024938, 0.12371078, -0.01582557, -0.3158842, 0.20104642, 0.07178823, -0.1876278, 0.084532306) * go_1(-1.0, 1.0); + result += mat4(0.14377905, -0.058295894, 0.18250984, -0.09202952, 0.049288724, 0.06361697, 0.015274134, -0.009651323, -0.042051505, -0.012071234, 0.1326135, 0.019923072, -0.15128869, 0.25043762, -0.13259046, 0.00053170364) * go_1(0.0, -1.0); + result += mat4(0.094158195, 0.12379144, 0.19022636, 0.18195347, 0.013914745, 0.061979804, 0.02451591, -0.11115476, -0.17788209, 0.13222231, -0.13186376, -0.1616039, -0.24425243, 0.1886775, 0.0112440875, -0.06601394) * go_1(0.0, 0.0); + result += mat4(-0.030136446, 0.2917132, -0.27445439, 0.17572524, 0.041303374, 0.023066396, 0.15800332, -0.2759435, -0.13819514, 0.15358543, -0.20889634, -0.015854366, -0.046221938, -0.029213084, -0.20027846, -0.096412785) * go_1(0.0, 1.0); + result += mat4(0.0125947185, 0.0055787223, -0.09309416, 0.076822944, -0.093398675, 0.2956369, 0.06577939, -0.23052916, -0.07925194, -0.072308525, 0.024827626, -0.060508657, -0.12151571, 0.026541036, -0.12048794, -0.07427358) * go_1(1.0, -1.0); + result += mat4(-0.10964251, -0.17297563, 0.13372806, 0.049176272, -0.05832845, 0.017144928, -0.048461188, -0.15870371, 0.11398971, -0.107922345, 0.13167588, -0.14817321, -0.10338058, -0.31081274, 0.08330581, -0.29687402) * go_1(1.0, 0.0); + result += mat4(0.16665904, -0.2640339, -0.29233927, 0.038875308, -0.05411785, 0.16937009, 0.12490365, -0.124583, -0.07552158, 0.11799862, -0.28171206, -0.00040758983, -0.19385974, -0.06890529, 0.14208162, -0.1088734) * go_1(1.0, 1.0); + result += mat4(0.06168567, 0.08464485, 0.051727522, 0.0080752885, -0.024248002, -0.10022553, 0.16323335, 0.023631554, -0.05933269, -0.062205136, -0.18094447, 0.059799075, 0.21466024, 0.008523474, 0.26693302, 0.23969485) * go_2(-1.0, -1.0); + result += mat4(-0.15529208, -0.011878417, -0.18483245, 0.14569621, 0.063189425, -0.19457999, -0.030479494, -0.06388341, 0.059255358, 0.021795692, -0.18915053, 0.10549042, -0.14347872, 0.035095137, 0.5123671, -0.36842114) * go_2(-1.0, 0.0); + result += mat4(-0.3129531, 0.18427932, 0.08967258, 0.030795548, -0.062971294, 0.13863337, 0.1719862, -0.12454022, -0.13502273, 0.09999501, -0.08539335, -0.009761404, 0.12899344, 0.13241018, 0.07476177, 0.088581234) * go_2(-1.0, 1.0); + result += mat4(0.060355544, -0.20497295, -0.056201037, 0.17441384, -0.07366008, 0.0031770081, 0.10340366, -0.065828614, -0.0135689005, 0.0018236408, -0.061976664, 0.2355626, 0.10771512, 0.077624, 0.13811535, -0.07868492) * go_2(0.0, -1.0); + result += mat4(-0.17156444, -0.026765984, -0.10527619, 0.03830846, 0.09402895, -0.004862654, 0.076368734, -0.14964046, 0.043011688, -0.23503943, -0.0006939608, 0.14159496, -0.044676844, 0.173952, 0.110504664, 0.0019379692) * go_2(0.0, 0.0); + result += mat4(-0.17247017, 0.08168303, 0.17221324, -0.06592961, 0.0044269604, 0.15659723, -0.055933986, -0.042620275, 0.06073025, 0.2532331, 0.10132909, -0.117701456, 0.12096025, 0.10205398, -0.18403697, 0.18307333) * go_2(0.0, 1.0); + result += mat4(0.09575911, -0.05598526, -0.00019075947, -0.09576007, 0.20932649, -0.20390967, 0.039013285, -0.0673076, 0.10174375, -0.029520035, 0.08187042, 0.0113893915, 0.2773657, -0.14660437, -0.052826468, -0.066547535) * go_2(1.0, -1.0); + result += mat4(0.073659964, 0.11016725, 0.03967363, -0.14039496, 0.14510235, -0.023440665, -0.14824589, 0.040890865, -0.17982483, -0.06410239, 0.1368475, 0.06049977, -0.04931566, 0.16838568, 0.032267325, -0.14558685) * go_2(1.0, 0.0); + result += mat4(-0.09795584, 0.042064235, -0.031120127, -0.14744717, 0.027100604, -0.24968515, -0.21389422, 0.04229415, -0.09014897, 0.12878452, 0.25642878, -0.08038266, 0.19971558, 0.11135897, -0.36821046, 0.1422662) * go_2(1.0, 1.0); + result += mat4(0.1094647, -0.016677434, -0.028883765, 0.3192714, 0.09875388, 0.063245736, 0.14410317, 0.032648303, -0.06333742, 0.27168024, 0.022700999, -0.24260196, 0.2008466, 0.0035053317, 0.033708334, 0.08848844) * go_3(-1.0, -1.0); + result += mat4(0.14528061, -0.15028432, -0.12186915, 0.2541439, 0.10196279, -0.08628881, 0.013626965, 0.0865205, -0.06720443, -0.012042523, 0.2745774, -0.15612917, 0.052762404, -0.048645414, 0.2373206, 0.15480334) * go_3(-1.0, 0.0); + result += mat4(0.30316323, 0.13258561, 0.064958744, -0.006462185, -0.18336357, -0.042762443, 0.14428605, 0.0022340214, 0.126048, 0.080833666, 0.009115843, 0.03493862, 0.10809081, -0.16448757, 0.3997175, -0.110012166) * go_3(-1.0, 1.0); + result += mat4(0.02458684, -0.057449866, 0.030437991, 0.12050426, 0.09614844, -0.014490843, 0.028539594, 0.04805738, -0.09334032, -0.025414651, -0.08732445, -0.23192073, -0.17476203, -0.09348745, -0.08307593, -0.23019521) * go_3(0.0, -1.0); + result += mat4(0.35522544, -0.079090506, 0.008817837, 0.2532623, 0.34887648, -0.06478506, -0.08268971, -0.01187354, -0.01297639, -0.1617383, -0.08950093, -0.27147245, -0.18539499, -0.025695372, 0.014795757, 0.070290186) * go_3(0.0, 0.0); + result += mat4(0.10833107, -0.04752071, 0.0257186, 0.045938533, -0.17696926, -0.044409238, 0.013435127, -0.026669621, -0.039547954, -0.24273679, -0.11717763, 0.03446355, 0.20519058, 0.14973645, -0.06620626, 0.27608195) * go_3(0.0, 1.0); + result += mat4(-0.05178539, -0.052307468, -0.031603504, 0.087410286, -0.02714207, 0.19870313, -0.07222196, 0.016593033, 0.1256676, -0.0017593893, -0.09573438, 0.06781198, -0.21133266, 0.17265096, -0.18769167, -0.44435498) * go_3(1.0, -1.0); + result += mat4(0.06497008, -0.036607113, -0.044402726, 0.2149976, 0.13416344, 0.042011082, -0.101590805, -0.020510921, -0.06912339, -0.054973233, -0.044747703, 0.14244531, -0.28504518, 0.3040643, -0.09546776, 0.31751406) * go_3(1.0, 0.0); + result += mat4(-0.084402256, 0.09284107, 0.035581376, -0.0062208944, -0.09883153, 0.10322051, 0.1348337, -0.31998435, -0.012351705, -0.1971895, 0.22683385, -0.12512599, -0.07051629, 0.2452453, 0.083472766, -0.20878734) * go_3(1.0, 1.0); + result += mat4(-0.20292963, 0.044648554, 0.15208347, -0.08012225, -0.12525047, 0.015525035, 0.09556482, -0.11069662, -0.085732915, 0.011575785, -0.025669998, -0.14913903, -0.04931291, 0.012865525, -0.12986338, -0.01954532) * go_4(-1.0, -1.0); + result += mat4(-0.008896974, -0.039155565, 0.027794836, -0.117017545, -0.06935417, -0.026629506, 0.007301185, -0.46567324, 0.037060194, 0.09720974, 0.2845551, -0.3020958, -0.025294555, -0.30916882, 0.18453851, -0.18012975) * go_4(-1.0, 0.0); + result += mat4(0.030631881, -0.008507908, -0.09436097, 0.0311627, -0.20561115, 0.11587156, 0.09280758, -0.085967906, 0.3602613, -0.044544138, 0.1323068, -0.009463272, -0.0025823591, -0.15646757, -0.046626896, 0.16452411) * go_4(-1.0, 1.0); + result += mat4(-0.0077203126, -0.100717455, -0.2011105, -0.14975028, -0.20319125, 0.10198259, -0.04371703, -0.27115488, 0.027433528, -0.09739682, -0.13802922, -0.26861516, -0.048793945, 0.06584455, 0.06585165, -0.008628782) * go_4(0.0, -1.0); + result += mat4(-0.10281875, 0.040024713, -0.2812408, -0.020755077, 0.013610964, -0.032100085, -0.019541265, 0.08268734, -0.03297649, -0.037923373, -0.18825053, 0.07058112, 0.08730599, 0.03063617, 0.02987196, -0.0043262425) * go_4(0.0, 0.0); + result += mat4(-0.040238652, -0.13039924, 0.14888343, 7.490741e-05, -0.2158812, 0.24641772, 0.006157586, -0.04499295, 0.144089, 0.07224167, 0.17486697, -0.035505384, 0.1524877, 0.14747557, 0.17406234, 0.11407642) * go_4(0.0, 1.0); + result += mat4(0.016506152, -0.010222893, 0.13286552, -0.21776699, -0.09772777, 0.1287599, -0.03898535, -0.16048339, 0.16613074, 0.07386897, 0.010006783, -0.109998874, -0.44924134, -0.10780198, 0.20899624, 0.0225183) * go_4(1.0, -1.0); + result += mat4(-0.009322647, 0.037628874, -0.07781525, 0.096469015, -0.13213164, 0.112819366, -0.009472233, -0.2799395, -0.13030471, 0.15054065, -0.06948136, -0.15108407, 0.15611546, -0.033660483, -0.015103015, -0.11582756) * go_4(1.0, 0.0); + result += mat4(-0.1565792, -0.020967469, 0.18913873, -0.16583163, -0.1238118, 0.09852521, -0.22204556, -0.03933885, -0.0059996913, 0.26517454, 0.029015608, -0.0067967405, 0.12023722, 0.020479612, -0.11405568, 0.09855018) * go_4(1.0, 1.0); + result += mat4(-0.100906074, 0.1372623, -0.06694728, 0.24972913, -0.050774068, -0.040847532, -0.2658499, -0.055020068, 0.017677482, -0.10252552, 0.093889, -0.066453, -0.11749236, 0.117650375, -0.009431862, -0.13268448) * go_5(-1.0, -1.0); + result += mat4(0.0062916246, 0.11412136, -0.04665643, -0.05716979, -0.3630308, 0.056478713, 0.13907139, -0.46697688, -0.17572168, -0.032978512, -0.25377706, 0.2386579, 0.08279535, -0.078310356, 0.14829971, -0.22042938) * go_5(-1.0, 0.0); + result += mat4(0.032816015, -0.30565384, -0.16489638, -0.16715215, 0.19837156, 0.2794504, -0.056615926, -0.15358809, -0.040108953, -0.30223787, 0.23217356, 0.0056255152, -0.018384434, 0.151488, 0.1853468, 0.08032189) * go_5(-1.0, 1.0); + result += mat4(0.0664597, -0.20910838, 0.26195124, -0.07578308, 0.13466386, -0.040509395, -0.005630214, -0.10919593, 0.09764661, -0.099661686, 0.105231985, 0.18113208, -0.13830248, -0.16406676, -0.36873665, -0.110502236) * go_5(0.0, -1.0); + result += mat4(-0.009745877, 0.050425317, 0.041368794, 0.34543577, 0.017489558, -0.1383922, 0.02555688, 0.08608152, 0.2675467, -0.14163154, -0.009072096, -0.04938327, 0.02321701, -0.23915094, -0.20346476, 0.02754088) * go_5(0.0, 0.0); + result += mat4(-0.0764608, -0.18401545, 0.18727265, -0.107619025, 0.02815041, 0.14077562, -0.05316665, 0.3057819, 0.033161953, -0.15832557, -0.13877237, 0.1657462, 0.01894343, 0.23329574, -0.14319004, 0.031079128) * go_5(0.0, 1.0); + result += mat4(-0.3142226, 0.09312817, 0.08794322, 0.2222839, -0.06945857, 0.14425695, -0.014134404, 0.005755717, 0.010266066, -0.26988292, 0.04765992, 0.24445806, -0.11784465, 0.028391482, -0.09065907, 0.13896856) * go_5(1.0, -1.0); + result += mat4(-0.17636561, -0.056445003, 0.06597882, 0.020473091, -0.13026594, 0.12097649, -0.060047906, 0.30939278, 0.20875697, 0.074364014, -0.06563088, -0.052628025, -0.07981685, -0.054282684, 0.006551467, 0.08257015) * go_5(1.0, 0.0); + result += mat4(0.1486522, 0.27273872, -0.16233566, 0.08857763, 0.034426562, 0.31791484, -0.11444188, 0.20239855, -0.17699686, 0.40953103, -0.19843663, 0.32758692, -0.017546277, 0.040539514, -0.13233976, 0.054549627) * go_5(1.0, 1.0); + result += vec4(0.0570952, -0.011593155, 0.033286963, 0.00014048154); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!SAVE conv2d_6_tf2 +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.028246857, 0.09429872, 0.034600366, 0.022117741, -0.034094583, -0.1416488, 0.114190586, -0.19039942, -0.03329484, 0.054765828, 0.0518203, -0.20784369, -0.11068853, -0.03985197, -0.040889204, -0.15233918) * go_0(-1.0, -1.0); + result += mat4(0.0034295225, -0.0047144215, -0.13811362, 0.1063775, -0.042283904, -0.11053704, 0.031115215, -0.19094694, -0.07958675, 0.25251713, 0.27887833, 0.032974306, -0.007945948, 0.005038382, -0.018204618, -0.033514593) * go_0(-1.0, 0.0); + result += mat4(-0.021439308, 0.09934385, 0.06221231, 0.20019929, 0.031433582, 0.10136135, 0.03170799, 0.22528099, -0.13307518, 0.0042947256, 0.12888439, 0.057041943, -0.093636274, -0.098759346, -0.0013004189, -0.11623657) * go_0(-1.0, 1.0); + result += mat4(-0.12425962, 0.06631687, 0.03538785, 0.12683366, 0.036875088, -0.388709, 0.021293538, -0.06568616, -0.022915881, -0.17667641, -0.21997124, -0.15674002, 0.12193349, 0.05480543, -0.028813047, -0.092471436) * go_0(0.0, -1.0); + result += mat4(-0.23961155, -0.10273245, -0.08654801, 0.20536228, 0.15906096, -0.28645602, -0.20196053, -0.24955072, 0.030706927, 0.0390173, -0.18619792, 0.042841963, -0.021935288, 0.18055134, 0.056804277, 0.06829802) * go_0(0.0, 0.0); + result += mat4(-0.17750104, 0.060207605, -0.16278192, 0.10637904, 0.09263751, -0.15864064, -0.1921883, 0.15418245, -0.21325666, -0.060680047, -0.17831814, 0.08721947, 0.028428067, 0.110841654, -0.0018111315, -0.14204408) * go_0(0.0, 1.0); + result += mat4(-0.05341328, 0.022792514, 0.12271092, 0.10998399, -0.05194629, -0.0019651174, 0.096098036, 0.05388034, -0.09140511, -0.09375859, -0.033423815, -0.051705707, 0.40354738, -0.09664782, -0.16623749, -0.063937105) * go_0(1.0, -1.0); + result += mat4(-0.036799524, -0.0768793, -0.13867554, 0.0018584719, -0.1217911, -0.24234816, 0.09708973, -0.011562908, -0.04658245, -0.0382149, -0.06386236, -0.18728544, -0.07053968, 0.022178814, -0.011753032, 0.09338199) * go_0(1.0, 0.0); + result += mat4(-0.040192164, -0.042503025, -0.10662553, 0.04789613, -0.14751524, -0.10168207, 0.09263359, -0.042696435, -0.32350782, 0.12660037, -0.004465994, -0.006698753, 0.11897201, -0.046830907, -0.13950327, 0.06639755) * go_0(1.0, 1.0); + result += mat4(-0.35137546, 0.16106302, -0.03942045, 0.20408326, -0.21793413, -0.19028474, 0.03843431, 0.16594443, 0.06715659, -0.12361966, 0.09516593, -0.07226092, -0.0021764247, 0.09041338, -0.042596035, 0.17071731) * go_1(-1.0, -1.0); + result += mat4(-0.1597755, -0.0058896556, -0.14055388, -0.1015749, 0.03897486, -0.14616072, 0.14914623, 0.04983836, 0.19837128, 0.031061351, -0.012111387, -0.14318599, 0.015185477, 0.015783781, 0.0806122, -0.029704068) * go_1(-1.0, 0.0); + result += mat4(-0.039973997, -0.039424386, -0.00023192639, 0.08071814, 0.096021704, -0.20885538, -0.12213241, -0.023790348, 0.09664941, -0.10268222, 0.13096042, -0.05173415, -0.37291482, 0.07015618, -0.33403385, -0.083771) * go_1(-1.0, 1.0); + result += mat4(0.03271248, 0.30518225, -0.07270691, 0.028075088, -0.05705947, -0.15325841, 0.100330696, -0.025110118, -0.076902226, 0.14327222, 0.06624428, 0.13375239, 0.37281695, 0.07052823, -0.14584045, -0.21908635) * go_1(0.0, -1.0); + result += mat4(0.120670766, 0.31895483, 0.025020262, -0.07187204, 0.12886079, -0.044927042, -0.016122498, -0.042634714, 0.13163976, -0.042178337, 0.1995516, 0.0356841, 0.15696648, 0.08892613, 0.21146311, -0.119200125) * go_1(0.0, 0.0); + result += mat4(0.07862659, -0.04457566, 0.026738126, -0.21411496, 0.10438254, -0.18654525, -0.01533368, 0.13947518, 0.10588101, -0.028714191, 0.15771964, 0.121909015, -0.10983157, 0.2185668, -0.068225995, -0.12562555) * go_1(0.0, 1.0); + result += mat4(-0.12062531, 0.0967178, 0.09571875, 0.23502766, 0.09096207, -0.21987092, 0.024857553, -0.048271395, 0.14787363, -0.033102654, 0.13895266, -0.04427544, 0.04914057, 0.048905186, -0.057733577, -0.26991108) * go_1(1.0, -1.0); + result += mat4(-0.06448222, 0.0056067007, 0.06258581, 0.16081811, 0.11269595, -0.120004445, -0.013984294, -0.13933693, -0.07139989, -0.052229576, 0.14940026, 0.023361623, -0.09279362, -0.18860416, 0.08875797, -0.007527515) * go_1(1.0, 0.0); + result += mat4(-0.074545845, 0.030673563, 0.15330285, 0.13776723, 0.10154421, -0.092071116, 0.04683676, -0.06964785, 0.10431926, 0.08699972, 0.23528512, -0.033892516, -0.14641368, 0.117580056, -0.004050138, -0.02582363) * go_1(1.0, 1.0); + result += mat4(0.14190136, 0.077225044, 0.09930474, 0.007267315, 0.092006706, 0.037188467, -0.027249279, -0.054990012, -0.03665177, 0.12651706, -0.100975744, -0.09072935, 0.24675299, 0.06761549, -0.05267532, 0.10347854) * go_2(-1.0, -1.0); + result += mat4(0.10791531, -0.1370413, -0.08286376, 0.03607253, -0.0308955, 0.07522176, 0.018555947, -0.12568206, 0.112782314, 0.28888306, -0.003996075, 0.028732201, 0.25184667, -0.2680978, 0.02647103, -0.046891168) * go_2(-1.0, 0.0); + result += mat4(-0.016372435, 0.010370288, 0.048521012, 0.17552224, 0.12718126, -0.07016058, 0.07195029, -0.020361308, 0.12597205, 0.08013731, -3.848295e-05, 0.0050118286, -0.009566892, -0.20061424, -0.03470485, -0.006634675) * go_2(-1.0, 1.0); + result += mat4(-0.014340514, -0.061068784, 0.073101744, -0.026097663, -0.060043298, 0.03856278, -0.06831028, 0.01917565, 0.0030782523, -0.27292702, 0.009022088, -0.0835327, 0.15536709, 0.19875537, -0.04220971, 0.12280315) * go_2(0.0, -1.0); + result += mat4(-0.05038896, -0.0450083, 0.11035315, 0.017889546, -0.04486168, 0.02630088, 0.076166764, 0.040405206, 0.101371124, 0.013579925, -0.14421356, 0.10385705, -0.040398728, 0.16730694, 0.21123065, 0.08927596) * go_2(0.0, 0.0); + result += mat4(0.14247608, -0.020986153, 0.23048729, 0.016399987, 0.08749712, -0.042591766, 0.10078401, -0.235661, 0.16211063, 0.06193226, -0.074332505, -0.016298788, 0.045263976, 0.15765212, 0.07818007, -0.04620609) * go_2(0.0, 1.0); + result += mat4(0.021306554, -0.09750117, 0.08551645, -0.04607957, 0.023408834, -0.023608467, -0.20876807, -0.059991024, 0.073818475, -0.011034656, 0.021592963, 0.2020669, 0.0658326, -0.037186112, -0.12142336, 0.024981985) * go_2(1.0, -1.0); + result += mat4(0.14970483, -0.034374855, 0.059193425, -0.053641498, -0.012546929, 0.12899692, -0.14678986, 0.010604312, 0.06670342, -0.16510558, 0.008418653, -0.07479036, 0.18447658, -0.048377503, -0.09458383, 0.0069656954) * go_2(1.0, 0.0); + result += mat4(0.058000036, -0.16915704, -0.019119963, -0.045525633, -0.037617203, 0.25589603, -0.25075126, 0.06523698, 0.17653236, -0.061193496, 0.06445885, 0.012287812, 0.102899276, 0.110979825, -0.22975717, 0.1812179) * go_2(1.0, 1.0); + result += mat4(0.06707089, -0.20528378, 0.046027422, 0.09201046, -0.026794929, -0.14959913, -0.1530082, -0.11166134, -0.1543093, -0.018212209, 0.1530343, 0.16413027, -0.041838966, 0.10568013, 0.027219504, -0.045931514) * go_3(-1.0, -1.0); + result += mat4(0.0007681395, 0.027546167, -0.055535425, -0.16842778, 0.031941716, 0.10155229, -0.15778649, 0.20752658, -0.040377192, -0.30390355, -0.023281433, -0.030623253, -0.09503612, -0.17188235, 0.09639771, 0.006249103) * go_3(-1.0, 0.0); + result += mat4(0.06934318, -0.0011609821, -0.1791592, 0.03465803, -0.24253, 0.05893978, 0.13887544, -0.07227747, 0.01218867, 0.029141122, -0.05214466, -0.12778749, -0.1760804, -0.06785066, -0.007493355, 0.14466043) * go_3(-1.0, 1.0); + result += mat4(0.018881964, -0.05313997, 0.026167642, -0.11774113, 0.106899664, -0.04816693, -0.032971296, -0.2197493, -0.30351043, 0.41334164, 0.09371295, 0.117004104, -0.32039383, 0.21075623, 0.059145812, 0.22701162) * go_3(0.0, -1.0); + result += mat4(0.15627995, -0.068059504, -0.025623176, -0.099454194, 0.053013522, -0.1204116, -0.019655226, 0.07376517, -0.25296777, -0.08185056, -0.055070046, -0.0901355, -0.11905481, -0.05469155, -0.017616548, -0.081166655) * go_3(0.0, 0.0); + result += mat4(0.13076767, -0.05530982, -0.050112855, -0.12159198, -0.13501246, -0.003588778, -0.13545947, 0.11865785, -0.05613547, -0.068032116, -0.08055732, 0.21331398, 0.004210958, 0.0020068642, 0.028101314, -0.09094483) * go_3(0.0, 1.0); + result += mat4(-0.06359586, 0.13318597, -0.013024477, 0.108700395, 0.11144461, -0.20727357, -0.024350716, -0.22389533, -0.09566586, -0.0131226955, -0.11817035, 0.09054735, -0.27647895, 0.07672232, -0.047891885, 0.071800984) * go_3(1.0, -1.0); + result += mat4(-0.030071015, 0.1333995, 0.031153332, -0.086189225, -0.0019152679, -0.01622374, 0.040289503, -0.15809211, -0.12741992, 0.10740146, -0.051979292, -0.116695315, 0.320744, 0.0039460426, -0.0836046, -0.09634563) * go_3(1.0, 0.0); + result += mat4(-0.09536935, -0.052188914, 0.047246125, 0.015771315, 0.044488825, -0.08132813, -0.27927315, -0.13175185, 0.024771225, -0.24907906, -0.023289192, -0.04971131, 0.05681843, 0.07283831, 0.064641275, -0.26641592) * go_3(1.0, 1.0); + result += mat4(-0.027925663, -0.1507286, 0.1326965, 0.016842714, 0.008826637, -0.16630088, 0.057058703, -0.18538098, -0.023735443, 0.032016642, 0.12527052, 0.16732964, 0.086843535, 0.035672616, 0.2063971, 0.09174031) * go_4(-1.0, -1.0); + result += mat4(-0.1374101, 0.0033208288, 0.10667102, 0.010594156, 0.046161152, -0.0973723, 0.038522966, 0.021097187, 0.016156282, -0.19751011, 0.28385642, 0.05756371, -0.05513193, -0.2048188, -0.21631682, 0.07647592) * go_4(-1.0, 0.0); + result += mat4(0.17377815, 0.15260585, 0.053718828, 0.05137225, -0.022358606, -0.1206224, 0.18654475, -0.36442846, 0.037749466, -0.1104878, -0.11404351, -0.06023782, 0.20938018, 0.07982189, 0.07250349, -0.07269494) * go_4(-1.0, 1.0); + result += mat4(-0.21727799, 0.060607027, 0.020804053, 0.18055809, 0.065868735, 0.027194923, 0.07823965, -0.0036479903, -0.00017318636, 0.08600115, -0.025587326, 0.07114245, -0.019529548, -0.13423847, 0.13471194, 0.09455981) * go_4(0.0, -1.0); + result += mat4(-0.0054947184, 0.08912019, -0.0287804, 0.06010462, 0.01399159, 0.06061662, -0.11517458, -0.097311266, 0.050931722, 0.22020856, 0.1323814, -0.04628687, -0.11665284, -0.28899986, -0.24807844, -0.26831678) * go_4(0.0, 0.0); + result += mat4(-0.030188283, -0.03878683, -0.017246237, 0.06085806, -0.018588748, 0.022792742, 0.25868282, -0.07614454, 0.13609566, 0.048479818, 0.1144347, -0.11878534, -0.0087716095, -0.10999109, -0.052827284, 0.05120022) * go_4(0.0, 1.0); + result += mat4(0.13541034, 0.01645716, -0.058492333, -0.038296085, 0.100599736, -0.116733365, 0.04200369, -0.025886245, 0.10077625, -0.16246797, -0.17139618, 0.1154542, 0.048264973, 0.28143618, 0.21083501, 0.1901906) * go_4(1.0, -1.0); + result += mat4(0.17519377, 0.11165914, 0.06639653, 0.07394748, -0.007674659, 0.16630298, 0.19389485, -0.095608205, 0.08834474, -0.014449134, -0.1498579, 0.10741625, -0.15439212, 0.067960866, -0.037635356, -0.15552957) * go_4(1.0, 0.0); + result += mat4(-0.06438933, 0.014048397, 0.10090704, -0.113563396, 0.16256817, 0.05490672, 0.07492557, -0.117161274, 0.21595421, -0.043381806, -0.051558085, 0.1740199, 0.2152678, 0.2786416, 0.16830157, 0.2127052) * go_4(1.0, 1.0); + result += mat4(-0.15677509, -0.43225375, 0.060302902, -0.25911507, 0.33240193, -0.042785197, 0.12322616, 0.060724694, 0.19070825, 0.06739152, -0.11829862, -0.29873747, 0.044883754, -0.02737334, 0.35752672, 0.027660733) * go_5(-1.0, -1.0); + result += mat4(-0.031477857, -0.061355617, 0.14307205, -0.27185053, 0.0042110113, -0.17895593, 0.18448347, 0.1663187, -0.027779656, -0.038476624, -0.20109327, 0.0049036117, -0.33461937, -0.11617029, 0.16388293, 0.08732086) * go_5(-1.0, 0.0); + result += mat4(-0.14116575, -0.2656471, 0.11648339, -0.0032394545, 0.1182878, -0.3112847, 0.022472465, 0.01861419, -0.17598355, 0.09062213, -0.078444645, 0.08435301, -0.076718464, -0.27557522, 0.2719488, -0.2709603) * go_5(-1.0, 1.0); + result += mat4(0.27406302, -0.038197294, 0.08674393, -0.1581159, 0.13235791, -0.2564229, 0.1109576, -0.0176378, 0.15548801, -0.0590908, -0.017661547, -0.2397164, -0.13061532, 0.23031203, 0.13042833, -0.1644423) * go_5(0.0, -1.0); + result += mat4(-0.07506608, 0.038386136, -0.079568535, -0.14536263, -0.14519933, 0.049832735, -0.0716522, 0.08434604, -0.12847446, 0.0008543391, -0.14790097, 0.021308336, -0.28987315, 0.2929442, -0.057600517, 0.0779305) * go_5(0.0, 0.0); + result += mat4(-0.026810233, 0.11869411, -0.11281911, -0.14480188, -0.22689806, 0.28260702, 0.08524954, -0.016079135, -0.139977, 0.1590218, 0.24256052, 0.11876038, 0.1039834, 0.10720082, 0.15955658, -0.08241476) * go_5(0.0, 1.0); + result += mat4(-0.0018456473, -0.044888236, 0.2312576, -0.2259125, 0.1552541, -0.10646746, 0.25436193, -0.0140782725, -0.11281806, -0.045578834, 0.089749135, -0.14050213, 0.09813328, -0.5474639, 0.084324725, -0.13670866) * go_5(1.0, -1.0); + result += mat4(-0.18577714, 0.0991832, 0.02898408, 0.04317898, 0.25488335, -0.30257443, 0.0083487155, 0.00078779995, -0.0014885734, -0.116033524, -0.12751958, 0.20800439, -0.13863127, -0.14012383, -0.082795866, 0.07694529) * go_5(1.0, 0.0); + result += mat4(0.124679685, 0.012901697, 0.15855546, -0.031145798, 0.044944238, -0.1519666, -0.015208867, 0.029840399, 0.07195047, 0.17145973, 0.06601934, -0.03358433, 0.16031715, 0.16808309, -0.007914282, -0.19619752) * go_5(1.0, 1.0); + result += vec4(-0.109316595, 0.025873583, 0.05582306, 0.10272255); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!SAVE conv2d_7_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.03482331, -0.14944118, 0.046244163, -0.05941585, -0.07728179, 0.06265427, -0.045520462, 0.0871402, 0.0897178, -0.16006349, 0.008391846, -0.16923702, 0.25602654, 0.051176835, 0.011442495, -0.24914353) * go_0(-1.0, -1.0); + result += mat4(-0.114224955, -0.048990358, 0.0317376, 0.19175068, -0.112552375, 0.037553445, -0.095972225, 0.123118624, 0.12175324, 0.030322522, 0.054718968, -0.39031324, 0.28009677, 0.07727779, 0.16123495, -0.2772586) * go_0(-1.0, 0.0); + result += mat4(-0.06794576, 0.2141763, 0.1750928, 0.12166446, -0.13643269, 0.24814922, 0.037389282, 0.0035949312, -0.06241508, 0.041635923, -0.08047354, 0.010511207, 0.11825532, -0.28878912, 0.17174155, -0.25881785) * go_0(-1.0, 1.0); + result += mat4(-0.0143542895, -0.010602584, -0.04226417, -0.04447678, -0.24656619, -0.053967457, -0.16034846, 0.04648599, 0.18855657, -0.20268312, 0.03610814, 0.022015022, -0.056165848, 0.17901546, -0.044555657, -0.089903764) * go_0(0.0, -1.0); + result += mat4(-0.05440948, 0.12527943, -0.08222082, -0.035428505, 0.2267783, 0.08257505, 0.056446668, -0.016560426, 0.17754072, -0.12249645, 0.15439054, -0.03524935, -0.481085, -0.0961953, -0.3649979, 0.17484458) * go_0(0.0, 0.0); + result += mat4(0.04679537, 0.15213947, -0.018560365, -0.027304955, 0.012417035, 0.033497352, -0.09031395, -0.28588498, 0.15779394, -0.014294813, 0.13411845, 0.07399604, 0.05855495, -0.15351114, -0.06195114, -0.033846762) * go_0(0.0, 1.0); + result += mat4(0.023053877, 0.09145102, -0.056014817, -0.103127845, -0.19463558, 0.009014216, 0.045743883, 0.105235375, 0.148088, -0.071407385, 0.1755759, 0.012725914, 0.04554227, -0.10347383, 0.23475589, -0.039336383) * go_0(1.0, -1.0); + result += mat4(0.015826384, -0.042269874, 0.056471203, 0.009655403, 0.020275326, 0.33224702, 0.009298279, 0.17336445, -0.018828178, 0.10215806, 0.049400896, 0.17038062, 0.057019416, 0.07406004, 0.03215971, 0.12004367) * go_0(1.0, 0.0); + result += mat4(-0.04070164, 0.027889524, 0.02177609, -0.16229889, -0.062548086, -0.027596086, -0.12423675, 0.09836905, 0.059131406, -0.047028925, -0.057379283, -0.104133494, 0.14117907, 0.065780245, -0.023410192, 0.061447598) * go_0(1.0, 1.0); + result += mat4(-0.0021021653, 0.077328384, -0.06821109, -0.19499542, -0.20052336, 0.12387703, 0.055179324, 0.19800851, -0.120995775, 0.42741755, 0.091175236, 0.020587375, 0.0042481394, 0.12762432, -0.06114739, 0.32906154) * go_1(-1.0, -1.0); + result += mat4(-0.019685917, -0.040947627, 0.18565354, -0.46952146, -0.05437026, -0.026286738, -0.07812705, -0.006736804, 0.008634472, 0.23204291, -0.11855498, -0.12303054, 0.38381273, 0.52490336, -0.3265505, 0.21160527) * go_1(-1.0, 0.0); + result += mat4(-0.18054116, 0.0051548174, 0.4753756, 0.17605813, -0.073726274, 0.15002227, -0.1850507, 0.0990851, 0.00921903, 0.13224806, 0.2253796, -0.20556282, -0.109973975, 0.046794172, 0.16226935, 0.08110087) * go_1(-1.0, 1.0); + result += mat4(0.010205323, -0.09720397, 0.029996833, -0.10599145, -0.052096535, -0.053859178, -0.07132246, -0.040684257, -0.0064441697, 0.20659602, 0.26825082, 0.05841878, -0.102910444, -0.19080183, 0.0009101689, 0.31210572) * go_1(0.0, -1.0); + result += mat4(-0.10222517, -0.2537438, 0.17752838, -0.08470953, 0.06963046, -0.010764146, -0.033626176, 0.15240349, -0.20436993, -0.100720614, 0.0444932, 0.20770444, 0.031174636, -0.010206393, 0.09037244, -0.55185884) * go_1(0.0, 0.0); + result += mat4(-0.26993337, -0.020421378, 0.18469644, -0.21327373, 0.06911363, 0.014826783, 0.056256857, -0.06809406, -0.083685525, -0.0984942, -0.0171533, -0.22855683, -0.08748469, -0.1396983, -0.11391806, -0.072031595) * go_1(0.0, 1.0); + result += mat4(0.058208484, -0.091674164, 0.12105436, 0.10939658, -0.031674437, -0.05118359, -0.22271338, 0.028467823, -0.17376278, -0.123112075, -0.071464434, 0.17473213, -0.3117644, -0.18276823, 0.07496323, 0.1509144) * go_1(1.0, -1.0); + result += mat4(-0.05188268, 0.15533312, 0.22820903, 0.17042106, -0.089846164, -0.005064528, 0.04796515, 0.026351674, 0.04572985, 0.09318132, -0.038517136, -0.074062705, -0.036520045, 0.10455916, 0.14278695, 0.14136232) * go_1(1.0, 0.0); + result += mat4(-0.14247061, 0.08110525, -0.075231634, 0.31358016, -0.18515967, 0.06256364, -0.0484006, -0.017976558, -0.02657821, -0.028635541, 0.012627999, 0.054765414, -0.0019829564, 0.15433973, -0.14973663, 0.12542003) * go_1(1.0, 1.0); + result += mat4(-0.17475623, 0.073300175, -0.18943344, 0.13311169, -0.026332445, 0.14347847, 0.20637734, 0.19913399, 0.24245638, -0.01550613, -0.09732818, -0.3588367, -0.11411046, -0.15500076, -0.09746209, -0.14517665) * go_2(-1.0, -1.0); + result += mat4(0.17039534, -0.20694748, 0.07940825, -0.29572237, -0.26519805, 0.126274, -0.22870643, 0.064273715, -0.22092016, -0.03348832, -0.08794688, -0.006346166, -0.14190583, -0.16601795, 0.15920593, 0.097251594) * go_2(-1.0, 0.0); + result += mat4(-0.08191819, -0.010720725, -0.10248115, -0.066204295, 0.13338344, 0.1886245, -0.1326061, -0.107134834, -0.06729155, -0.1295641, -0.09283412, -0.1643324, 0.06636283, 0.35525218, 0.0003396009, 0.04252375) * go_2(-1.0, 1.0); + result += mat4(0.018834922, 0.09374041, -0.04844811, -0.086488485, 0.36477897, -0.035175197, 0.10250587, 0.009436049, 0.09109528, 0.25697815, 0.12989257, -0.10460797, 0.13357025, -0.15341914, -0.14009036, -0.27027166) * go_2(0.0, -1.0); + result += mat4(-0.046186987, -0.04721098, -0.10386561, 0.042765476, 0.10490874, -0.14259604, 0.03565186, 0.11228278, -0.1333764, 0.111047596, -0.20885478, 0.19843856, -0.07459371, -0.054204836, 0.0895249, 0.053722855) * go_2(0.0, 0.0); + result += mat4(0.057206515, -0.016081734, 0.04002097, 0.09536414, 0.27507696, 0.009611371, 0.2858957, 0.016278412, 0.091774575, -0.020857088, -0.1354684, -0.046553783, -0.10013868, 0.059088446, 0.1768699, 0.02272152) * go_2(0.0, 1.0); + result += mat4(0.028798534, 0.21127033, 0.01716753, 0.020965017, -0.08091736, -0.15006042, -0.29822782, 0.019595081, -0.029534074, -0.0653482, 0.11786061, -0.047803946, 0.011680036, 0.010721205, -0.2639438, 0.15042429) * go_2(1.0, -1.0); + result += mat4(-0.098251216, 0.050176363, -0.0426328, -0.037756715, -0.20687164, -0.3096553, -0.2210454, -0.03763596, -0.022159807, 0.044400796, 0.09344259, -0.05465652, -0.039273985, -0.096617654, -0.19118373, 0.1643556) * go_2(1.0, 0.0); + result += mat4(-0.11874077, 0.021691876, 0.15513967, -0.012177898, -0.1298149, -0.08811524, 0.017105984, -0.047422726, -0.033107523, 0.0058112773, -0.08017183, -0.020971343, -0.41264817, 0.075800754, 0.1080831, -0.082354255) * go_2(1.0, 1.0); + result += mat4(0.0032239188, -0.28178176, -0.19482347, 0.054150533, 0.40856144, -0.23284851, 0.020973913, -0.09307241, 0.4258893, -0.034946837, -0.043585345, 0.16226469, 0.045328375, 0.03566808, 0.0712809, 0.12283043) * go_3(-1.0, -1.0); + result += mat4(-0.15139721, -0.2489635, 0.2122619, -0.08517609, 0.23784684, -0.070994906, 0.3132446, -0.36519074, -0.048850738, -0.36088645, 0.2145936, 0.19312155, -0.2579365, -0.12489612, -0.075510584, 0.16864875) * go_3(-1.0, 0.0); + result += mat4(0.01884723, -0.2775977, 0.0007072475, 0.30131263, 0.01366198, -0.18196137, 0.38918743, -0.03999786, -0.075060904, -0.12210868, 0.14701048, 0.18474291, -0.023507686, 0.13071437, -0.036284998, 0.26304045) * go_3(-1.0, 1.0); + result += mat4(-0.08185283, -0.09152341, -0.13410091, -0.13518219, 0.10747411, 0.007974842, 0.11000113, 0.19898382, -0.18449086, 0.058887243, -0.02379909, -0.038734827, 0.041931048, 0.081884705, 0.015872778, 0.08416657) * go_3(0.0, -1.0); + result += mat4(0.05272478, -0.06669923, 0.007233672, 0.039665744, 0.021820793, -0.14690521, -0.26392132, 0.007352069, -0.04682333, -0.028595299, -0.34463075, -0.14347489, 0.00084401644, -0.030389901, 0.022279145, 0.14215061) * go_3(0.0, 0.0); + result += mat4(0.17942588, 0.27815622, 0.39199513, 0.17727011, -0.14894293, -0.1705316, 0.038263746, 0.025509953, -0.12031536, 0.15371376, -0.30855826, 0.2394013, -0.20185183, 0.121072985, 0.070580006, -0.12321835) * go_3(0.0, 1.0); + result += mat4(0.043464154, -0.4329999, 0.12176987, 0.1863519, -0.14952634, -0.03741596, 0.3588594, 0.015720207, 0.07319453, 0.04202827, 0.19699398, -0.18537244, -0.040319767, 0.081377335, 0.045191478, -0.070804425) * go_3(1.0, -1.0); + result += mat4(0.14033453, -0.13302796, -0.058896482, 0.14912021, 0.25856513, -0.10442178, 0.3958381, -0.08528721, 0.3291926, -0.0024321752, 0.017541584, -0.31020027, 0.13845283, -0.24636552, -0.07630463, -0.32314765) * go_3(1.0, 0.0); + result += mat4(0.005189076, 0.20132092, 0.069775395, 0.086517565, 0.2727916, -0.079313666, 0.14164488, -0.16358389, -0.103817366, -0.11717267, 0.019068012, 0.016953465, 0.2551057, 0.14430785, 0.00088051375, -0.23318093) * go_3(1.0, 1.0); + result += mat4(-0.008894086, 0.03201216, -0.13398862, 0.06335705, 0.13424714, -0.06514535, -0.19045971, -0.23764557, 0.05714849, -0.30345356, 0.0092409095, 0.16878125, -0.07465451, -0.015541787, 0.033304304, -0.113849334) * go_4(-1.0, -1.0); + result += mat4(0.12612185, -0.0715257, 0.16217476, -0.024476554, 0.10614049, 0.03700835, 0.08482953, -0.08358318, 0.098786205, -0.009351742, -0.15457323, 0.113223985, -0.011500662, -0.13529003, -0.058090385, 0.11290306) * go_4(-1.0, 0.0); + result += mat4(0.050260257, -0.056368183, 0.21489042, 0.14299081, -0.113755986, -0.22816344, 0.27275258, -0.0015117057, 0.14195545, -0.16299947, 0.049762867, 0.22725838, 0.06814647, -0.049368583, -0.08577855, -0.097503126) * go_4(-1.0, 1.0); + result += mat4(-0.0083364155, -0.052837223, -0.0846245, 0.053218696, 0.28152695, 0.19495425, -0.19180301, -0.26389152, -0.12953846, -0.102649055, -0.19722337, -0.15851225, 0.1725756, 0.056898903, 0.01023057, -0.033678) * go_4(0.0, -1.0); + result += mat4(-0.044510186, 0.033060472, 0.26517934, -0.25734264, 0.11998833, -0.05369093, 0.19721112, -0.15774135, 0.061851945, -0.03981009, -0.034191426, -0.23678938, -0.013630672, -0.114661574, 0.096060224, 0.17892191) * go_4(0.0, 0.0); + result += mat4(-0.14728574, -0.031724717, 0.13967156, 0.03676961, -0.09500629, -0.09584641, -0.3221665, 0.14028065, -0.09116274, -0.08160823, -0.03841335, 0.21315134, -0.025303967, -0.081841856, 0.024239374, 0.004911813) * go_4(0.0, 1.0); + result += mat4(-0.16211908, -0.07225985, -0.06955749, 0.025049562, 0.016382609, 0.20329225, 0.23490642, 0.04267578, -0.008350769, 0.0037089891, 0.09515623, -0.06105943, 0.13584909, 0.09705268, -0.062350716, -0.074614085) * go_4(1.0, -1.0); + result += mat4(0.025970146, -0.14939465, -0.08123037, -0.008690572, 0.16139375, 0.052395687, -0.03863909, 0.0953437, -0.103880964, -0.04672169, -0.078161545, 0.04628746, -0.019205566, -0.006394265, -0.009116098, 0.024979865) * go_4(1.0, 0.0); + result += mat4(0.15779239, 0.009630995, -0.06269132, -0.11111548, 0.11478004, -0.0780718, -0.24617292, 0.05763241, 0.02476824, 0.0631411, -0.2777113, -0.010855008, 0.10766442, 0.020561088, -0.029775767, -0.060535327) * go_4(1.0, 1.0); + result += mat4(0.6058991, -0.29998928, -0.09883167, -0.36967963, 0.104703955, -0.1886391, 0.07915164, -0.02375336, 0.041111898, 0.09216705, 0.046296816, 0.24895348, -0.015484279, 0.06852782, 0.04170421, -0.008594877) * go_5(-1.0, -1.0); + result += mat4(-0.29542375, -0.11578118, -0.047219444, -0.10781526, 0.13507344, 0.09601799, 0.08975014, 0.09067836, 0.1565405, 0.082328156, 0.09181261, 0.04524675, -0.08546339, 0.107942745, 0.057727177, 0.15223116) * go_5(-1.0, 0.0); + result += mat4(-0.013349778, 0.15176241, -0.08432594, 0.10960892, 0.081638165, -0.13559791, -0.06557744, 0.01141079, 0.10179259, 0.35195625, 0.23831062, 0.13698545, -0.0073695974, -0.020154724, -0.2515228, 0.030157704) * go_5(-1.0, 1.0); + result += mat4(0.20604958, -0.09164565, 0.049274493, -0.111016676, -0.046125744, -0.22138667, -0.10698992, 0.07003299, 0.09432274, 0.13457412, 0.08988733, 0.16862586, -0.16797546, -0.0130331, -0.009054985, -0.01443074) * go_5(0.0, -1.0); + result += mat4(-0.17840317, -0.079730295, 0.11214133, -0.015679857, 0.07462782, 0.1700189, -0.03588104, -0.055766776, 0.2527381, -0.040385213, 0.18867272, 0.15786001, -0.03973228, -0.053887095, -0.001591716, -0.050709404) * go_5(0.0, 0.0); + result += mat4(0.24581482, 0.09119475, 0.049080588, 0.25806418, -0.005062941, 0.10484669, 0.05778071, 0.23681131, -0.09603774, 0.009163983, 0.19752978, 0.104258336, 0.13455175, -0.0034275826, -0.080408186, 0.10462319) * go_5(0.0, 1.0); + result += mat4(0.07782564, -0.2789083, -0.13887207, -0.019308591, 0.25710207, -0.21921843, 0.0015911289, 0.080053106, -0.014144128, 0.074144535, 0.043883692, 0.2513407, 0.10068346, -0.17853074, 0.20460746, 0.04092755) * go_5(1.0, -1.0); + result += mat4(-0.048100162, 0.042697787, -0.04842476, 0.18837112, 0.051532917, 0.088649124, -0.014739274, -0.023566334, 0.44025096, -0.10545216, -0.19667506, 0.097041525, 0.0008772463, -0.05555525, 0.069248185, 0.1176431) * go_5(1.0, 0.0); + result += mat4(-0.01590801, 0.016883895, -0.09720278, 0.14969985, -0.099172674, -0.04525934, 0.13815412, 0.024430253, 0.0247448, 0.015865842, -0.10956577, 0.22523156, 0.22455531, -0.100728914, -0.053454183, 0.13590883) * go_5(1.0, 1.0); + result += vec4(-0.06673833, 0.01457202, -0.036676105, -0.06303146); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!SAVE conv2d_7_tf1 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.23879923, 0.040317934, 0.22145784, -0.08336839, -0.16966912, 0.08528278, 0.2684323, 0.17057978, 0.1467542, -0.041414198, 0.03689633, 0.10483362, 0.04390369, 0.2617799, 0.13374175, 0.21909657) * go_0(-1.0, -1.0); + result += mat4(0.013090143, 0.010181773, -0.022144144, -0.038787983, 0.17343685, 0.06579225, 0.036516637, -0.18973681, 0.11963511, 0.111920275, 0.13276073, 0.04570385, -0.009538788, -0.028358553, 0.06043411, 0.14202546) * go_0(-1.0, 0.0); + result += mat4(0.2273523, 0.086418256, 0.058296323, -0.023292154, -0.016248869, 0.08703014, -0.14549017, 0.15725356, 0.26235282, 0.13655783, 0.06703612, -0.0746187, 0.18931058, -0.009649255, 0.27345505, 8.478176e-05) * go_0(-1.0, 1.0); + result += mat4(-0.033401724, -0.064518325, -0.15034138, 0.05246805, 0.058772895, -0.176813, 0.078342214, -0.0020414025, 0.06217457, -0.20738979, -0.16368344, 0.03266785, 0.04921403, 0.112299785, -0.123247504, 0.0994201) * go_0(0.0, -1.0); + result += mat4(-0.2553642, 0.14918567, -0.14866059, -0.03617286, 0.032998353, -0.15592867, 0.087743975, -0.00049046543, -0.32823107, -0.107454315, 0.002674161, -0.01887908, 0.0833454, -0.03806806, -0.14595793, -0.20520253) * go_0(0.0, 0.0); + result += mat4(0.02986423, 0.028604368, -0.011768948, 0.10195398, -0.102379754, 0.1362889, -0.041802816, -0.084387876, -0.008137814, 0.09726054, 0.10758101, 0.09259081, -0.07889878, -0.07312139, 0.17478421, -0.033481717) * go_0(0.0, 1.0); + result += mat4(0.058965955, 0.024142284, 0.22129168, 0.04082889, 0.15887728, 0.103434056, -0.21192761, 0.06533756, 4.1846484e-05, -0.24297993, 0.17849778, -0.115734324, -0.11500629, 0.15694802, 0.04261307, 0.17415777) * go_0(1.0, -1.0); + result += mat4(0.01345909, 0.017319864, -0.0520044, 0.06891368, 0.078165226, -0.07047419, -0.013746107, -0.058885146, -0.10569072, -0.032166608, -0.02835551, -0.09911323, -0.062442902, 0.13147296, 0.1815978, -0.0042537497) * go_0(1.0, 0.0); + result += mat4(0.1606494, 0.05220283, 0.13166267, 0.10574164, -0.19102532, 0.03446111, -0.055919666, 0.057688963, 0.26081654, 0.03648174, 0.03616491, 0.046591155, 0.21643688, 0.052122388, 0.050889883, 0.29552755) * go_0(1.0, 1.0); + result += mat4(-0.024097791, -0.080628626, 0.12568358, 0.12252691, -0.16359662, 0.0051886803, -0.01954068, 0.02195983, -0.18788633, -0.030897139, -0.09377947, 0.15688346, -0.14129396, -0.11748491, -0.3835284, -0.022647042) * go_1(-1.0, -1.0); + result += mat4(0.11930519, 0.24957322, 0.015541883, -0.11232224, -0.058490105, -0.049757216, 0.075522415, 0.09442181, 0.076607205, 0.037432365, -0.08629132, 0.008422209, -0.013450555, 0.10305229, -0.04537291, -0.08230579) * go_1(-1.0, 0.0); + result += mat4(-0.050578903, -0.20879799, -0.04393353, 0.0015126837, -0.23416555, 0.01141535, -0.009691543, 0.06217469, -0.10707423, 0.20022671, 0.15437399, -0.04760398, -0.14287886, 0.2682982, -0.2561911, 0.033707578) * go_1(-1.0, 1.0); + result += mat4(0.11812356, -0.29858422, 0.09146616, 0.052722417, -0.023986591, 0.0933364, 0.14801602, -0.10148, -0.15320316, -0.0028770058, -0.103183694, -0.006425709, 0.021735031, -0.47796893, -0.18304059, 0.084628224) * go_1(0.0, -1.0); + result += mat4(-0.09104168, 0.03286581, 0.04459324, -0.22438659, 0.12870388, -0.1360097, -0.15926069, 0.071017005, 0.074596204, -0.09715285, -0.07479851, -0.20799732, -0.29060403, -0.107118085, 0.25210482, 0.16397184) * go_1(0.0, 0.0); + result += mat4(-0.12460523, 0.16706169, 0.30230346, 0.054767944, -0.116781175, 0.19446343, -0.21735692, -0.026413433, 0.052394047, 0.020679068, -0.15584053, 0.061340448, 0.04663544, 0.27504724, 0.20286065, 0.3490867) * go_1(0.0, 1.0); + result += mat4(0.21607491, -0.21738917, -0.009051781, -0.07276944, 0.3103053, 0.15334722, 0.28409463, -0.17096485, 0.031179685, 0.2009012, -0.26543948, -0.19882691, 0.032035686, -0.35383067, -0.17236927, -0.113232605) * go_1(1.0, -1.0); + result += mat4(-0.11165131, -0.2941282, -0.029304054, 0.106581636, 0.21548472, -0.21285897, -0.043579012, -0.047211695, 0.027249131, 0.28340155, 0.082085736, -0.04485162, -0.24723412, -0.0007002699, 0.19643609, 0.2518287) * go_1(1.0, 0.0); + result += mat4(-0.1854792, -0.008842361, -0.08581101, 0.16760491, -0.10669554, 0.21352866, 0.1252966, -0.04194005, -0.07666296, 0.07259658, 0.10786684, -0.03364238, 0.1547786, -0.018965635, -0.13252488, 0.23715465) * go_1(1.0, 1.0); + result += mat4(0.1451508, 0.10011578, 0.07156718, 0.04740723, -0.19702536, 0.06286184, -0.29180148, -0.30204237, -0.07179627, 0.056043524, 0.27749023, -0.07051612, 0.1010544, -0.008737285, -0.13163415, -0.066848055) * go_2(-1.0, -1.0); + result += mat4(0.07561846, -0.14928432, 0.027951663, -0.07524044, 0.10025779, -0.21305043, 0.008214884, 0.16192347, 0.04002263, -0.10425787, 0.018522112, -0.08742078, 0.039168026, 0.010691633, 0.0025965972, -0.016103525) * go_2(-1.0, 0.0); + result += mat4(-0.045149434, 0.033272427, 0.06018518, -0.068993434, 0.017645787, 0.27027842, -0.25670657, 0.04577214, 0.002479582, -0.051434338, 0.25425145, -0.093131274, 0.09688695, 0.14416668, -0.1216349, 0.0229849) * go_2(-1.0, 1.0); + result += mat4(0.030369451, 0.020748299, 0.034542933, 0.09359397, -0.37202555, 0.2808392, -0.2659807, -0.01941035, -0.22399698, 0.08132304, -0.0014507625, -0.017793491, 0.037623137, -0.029477628, -0.0720025, -0.15816812) * go_2(0.0, -1.0); + result += mat4(0.33115733, -0.013734702, 0.0101467, -0.12268663, 0.43017596, -0.32643738, -0.3273918, 0.1109477, 0.10758731, 0.070155494, -0.24037434, -0.0016639809, -0.06652544, 0.13758285, -0.072496586, -0.10106904) * go_2(0.0, 0.0); + result += mat4(0.19126198, -0.14967397, -0.18345782, -0.08460439, 0.13229868, -0.21144699, -0.058821946, -0.5039749, 0.24892776, 0.20228972, -0.06919527, -0.15942183, 0.12435562, -0.012193792, -0.2627704, 0.13625085) * go_2(0.0, 1.0); + result += mat4(-0.10896958, 0.044015855, -0.0181369, 0.10650041, -0.24092299, 0.18979153, -0.26630878, 0.06806665, -0.17771733, -0.2699458, -0.1144395, 0.014184961, -0.288627, -0.19622655, 0.39838296, -0.11162213) * go_2(1.0, -1.0); + result += mat4(-0.084831044, -0.02721028, 0.109261006, 0.087307416, -0.33783588, 0.08306577, -0.027817784, -0.10534335, -0.15593721, -0.013186225, -0.011052375, 0.10786937, -0.00060474424, 0.00431786, 0.38164118, 0.14728197) * go_2(1.0, 0.0); + result += mat4(-0.26669395, -0.09910907, 0.03960142, -0.21382816, -0.5042419, -0.12542717, 0.07396011, -0.24485987, -0.1770452, -0.00011720843, 0.11425563, 0.07332528, -0.06640686, -0.11683248, 0.003071298, 0.05543171) * go_2(1.0, 1.0); + result += mat4(-0.16784829, -0.031949766, -0.043842897, -0.09577157, 0.16381639, -0.33382246, -0.10782627, 0.07903589, 0.04620696, -0.04180326, -0.09783348, 0.3095548, 0.06762379, 0.021955997, -0.14974354, -0.143973) * go_3(-1.0, -1.0); + result += mat4(-0.14442697, -0.044818707, 0.025801856, 0.08461569, -0.20247138, 0.060513508, -0.1674155, 0.13058512, -0.08026784, -0.3141148, -0.04791329, -0.14586422, 0.16113773, -0.035697844, 0.21863447, -0.099939525) * go_3(-1.0, 0.0); + result += mat4(-0.298011, -0.053686857, -0.31031471, 0.11162896, 0.22341007, -0.052881762, 0.13043529, 0.15810435, -0.37888956, -0.31480342, 0.33116004, 0.06646278, -0.05665705, -0.03861846, 0.083101824, 0.003781792) * go_3(-1.0, 1.0); + result += mat4(-0.08649798, -0.1088245, 0.32511878, -0.16572024, 0.050254185, -0.252013, -0.040132295, 0.17312634, -0.016653338, -0.43009317, 0.5093538, 0.06922151, 0.08760091, -0.14250961, 0.4053319, -0.10107622) * go_3(0.0, -1.0); + result += mat4(0.083406106, -0.16932109, 0.06787343, -0.05178522, -0.20603026, -0.09058593, 0.16128129, -0.22712888, 0.05429396, -0.15098302, 0.3041655, -0.07668127, -0.15419695, 0.4462755, 0.1874267, 0.17312653) * go_3(0.0, 0.0); + result += mat4(0.19148338, 0.052311547, -0.13830717, 0.2996034, 0.05850986, 0.05484371, 0.0361025, 0.20699011, 0.0057291416, -0.12026241, 0.02678267, 0.12696257, -0.019684052, -0.09031823, 0.15297134, 0.13705085) * go_3(0.0, 1.0); + result += mat4(-0.20881316, 0.14526081, -0.41917932, -0.16191165, 0.1262819, -0.23026188, -0.2561112, 0.049415354, -0.1497713, -0.009612483, -0.070241526, -0.039475128, 0.093497746, -0.1318667, -0.105637155, -0.21147394) * go_3(1.0, -1.0); + result += mat4(0.042843655, -0.11218648, 0.013391185, 0.06646476, -0.24418473, -0.037722886, 0.08446243, -0.0018849184, 0.030670485, 0.27686, -0.15015033, 0.21402857, 0.10094001, 0.3145764, -0.17310384, -0.10199286) * go_3(1.0, 0.0); + result += mat4(-0.14084649, 0.0033693435, -0.34370998, 0.1079324, 0.28795156, 0.14933614, 0.10669996, 0.12305359, -0.040551323, -0.07330404, -0.15179317, 0.069975436, 0.2920918, 0.020814283, -0.13944869, 0.09579582) * go_3(1.0, 1.0); + result += mat4(0.10180969, -0.021659529, -0.13541374, 0.0908069, 0.11346961, -0.0011830843, -0.19612141, -0.11018402, 0.12915576, -0.095653616, -0.13800405, -0.18932076, 0.12277476, 0.09764832, 0.114954636, -0.1578187) * go_4(-1.0, -1.0); + result += mat4(-0.07191152, -0.053082727, -0.067936264, 0.045203943, 0.13166252, 0.23256709, -0.288239, -0.08163785, -0.020897634, 0.15756424, -0.17083916, -0.13654962, -0.021136044, -0.14208466, -0.0040715886, 0.03707775) * go_4(-1.0, 0.0); + result += mat4(0.15754776, -0.042640373, -0.033360127, -0.06743833, -0.06533689, -0.16307046, -0.018182967, -0.060084824, -0.087093055, 0.036133945, -0.23553473, -0.40821072, -0.053628575, 0.026669571, 0.19045922, -0.035846557) * go_4(-1.0, 1.0); + result += mat4(0.07448724, 0.067469016, -0.066770956, 0.0030078532, -0.1173964, -0.012352791, -0.19451907, -0.021427047, 0.19994271, -0.0029543424, -0.034913633, 0.13859013, 0.048614684, 0.193721, -0.09548589, -0.026358109) * go_4(0.0, -1.0); + result += mat4(-0.3411652, 0.23141026, 0.10978134, 0.07787867, -0.18412182, 0.15478246, 0.25846902, -0.13144507, -0.28535685, 0.086631864, 0.12785226, 0.0033878016, 0.03504869, -0.034950025, -0.17758164, 0.024054492) * go_4(0.0, 0.0); + result += mat4(-0.019755604, -0.21744813, 0.14325249, 0.21274537, -0.04985571, -0.24407099, -0.02035735, 0.21803972, -0.16886176, -0.05224696, 0.20342873, -0.18543948, 0.0096319495, -0.1624773, 0.14216544, -0.081235185) * go_4(0.0, 1.0); + result += mat4(0.20382723, -0.16942358, -0.15685835, 0.024889609, -0.3226424, -0.10469345, -0.46887016, 0.016228858, -0.1362387, -0.13054538, -0.0783913, -0.06385014, -0.08139782, 0.12035177, 0.21293128, -0.045476373) * go_4(1.0, -1.0); + result += mat4(0.13462923, 0.1384135, -0.055161975, -0.099216595, -0.16864173, -0.15129986, -0.2535725, 0.22653887, -0.11102492, -0.09068262, -0.0044067153, -0.0603752, -0.095367156, -0.056415606, 0.0075126593, -0.009610249) * go_4(1.0, 0.0); + result += mat4(0.1393697, 0.13611916, 0.090671785, 0.08593501, 0.07983876, -0.0068050954, -0.28696343, -0.17570612, -0.075322844, 0.06774856, -0.086022906, 0.09080408, 0.022836372, 0.018536389, 0.042727504, -0.043635663) * go_4(1.0, 1.0); + result += mat4(-0.0050578844, -0.04774735, 0.004759578, 0.09087925, 0.16171533, 0.01599633, 0.08316812, -0.09584462, 0.119889505, 0.003919012, -0.21555036, 0.2426096, -0.12047291, 0.10978759, -0.33754483, 0.15740488) * go_5(-1.0, -1.0); + result += mat4(-0.11716536, 0.08724526, -0.023726968, -0.12922543, -0.05567669, -0.021379862, -0.2031672, -0.023840401, -0.024058433, -0.081542544, -0.19171208, 0.051525865, -0.008789576, -0.16808029, -0.049115162, 0.052190997) * go_5(-1.0, 0.0); + result += mat4(0.13842055, -0.13871577, 0.0954928, 0.19763501, -0.049218517, -0.21299022, -0.14797242, -0.0996971, 0.004526675, -0.107513115, -0.31193256, -0.13720018, 0.01550265, 0.017279146, -0.03583415, 0.053429827) * go_5(-1.0, 1.0); + result += mat4(-0.0723815, 0.034265626, 0.20389315, -0.14053439, 0.18389022, 0.033574764, -0.039723963, -0.14978175, -0.084361784, -0.15831995, 0.49169922, -0.09837507, 0.0017199022, -0.09433373, 0.13506836, -0.06360633) * go_5(0.0, -1.0); + result += mat4(-0.1265364, 0.24196059, 0.21346883, -0.035202276, -0.16924065, -0.039915517, 0.15855956, -0.00046526943, -0.30319792, 0.47292793, 0.19538064, -0.046434846, 0.0041063935, 0.026737224, 0.14377008, -0.086429365) * go_5(0.0, 0.0); + result += mat4(-0.052318633, 0.01695744, 0.073576115, 0.2596724, -0.062066127, -0.051519766, -0.051504273, 0.05866547, -0.08328452, -0.28105405, 0.078826845, 0.18008032, 0.18682955, 0.0076535186, -0.05532054, -0.20601955) * go_5(0.0, 1.0); + result += mat4(0.11029233, 0.16958456, 0.06657061, -0.019656291, 0.11484087, -0.044068743, 0.24364337, -0.0065622316, 0.28941217, 0.18499708, -0.19709894, -0.19475468, 0.03503256, -0.05113357, 0.10653205, 0.01789133) * go_5(1.0, -1.0); + result += mat4(0.23000862, 0.21053173, -0.18862817, 0.17935936, -0.15975583, -0.05371, -0.012876548, 0.16915809, 0.048503194, 0.16087084, 0.013947819, -0.2625692, -0.07422495, 0.12091095, -0.07861796, -0.10306009) * go_5(1.0, 0.0); + result += mat4(0.22752777, 0.25302207, -0.12559423, 0.32303494, 0.048354533, -0.09707823, -0.08385863, 0.14718369, 0.08453127, -0.12578502, 0.2255726, 0.28436616, 0.11673125, -0.109367356, -0.024817433, -0.061155386) * go_5(1.0, 1.0); + result += vec4(0.09436162, 0.053628888, -0.037304673, 0.07278107); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!SAVE conv2d_7_tf2 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.06848254, 0.17351831, 0.08460523, -0.04292461, 0.16476814, 0.12880002, -0.2188432, -0.14287443, -0.03620956, 0.03190214, -0.048488446, 0.13175257, -0.03531708, 0.25060365, -0.06213195, 0.12620556) * go_0(-1.0, -1.0); + result += mat4(-0.002136314, 0.14399742, 0.033703934, 0.04852668, 0.044694893, 0.044961825, -0.049827278, -0.043917865, 0.13977914, -0.08126432, -0.14917606, 0.04644499, -0.14825742, 0.14075856, 0.03092348, -0.093371935) * go_0(-1.0, 0.0); + result += mat4(-0.10156521, 0.17292573, 0.12147806, 0.058286913, 0.036107652, 0.11812006, -0.052188348, -0.018111996, -0.033433035, 0.13158733, 0.11174768, 0.3135695, -0.031843673, 0.14830989, 0.094200954, 0.046325628) * go_0(-1.0, 1.0); + result += mat4(-0.020032655, -0.07413829, 0.08400475, -0.096378304, 0.018955225, 0.022839474, 0.0059678215, -0.1027026, -0.028222635, -0.14191163, 0.1683382, 0.12842403, -0.0019999016, -0.10452298, -0.00084425067, 0.21517049) * go_0(0.0, -1.0); + result += mat4(0.01772144, -0.055037472, -0.26999003, 0.08729775, -0.36895162, 0.011868349, 0.09449699, -0.098540016, -0.12167021, -0.14711088, 0.12771331, -0.23740645, 0.15759817, -0.19454266, 0.16208373, 0.24910314) * go_0(0.0, 0.0); + result += mat4(-0.01581086, 0.055212107, 0.09454114, 0.04507513, 0.06458917, 0.07870699, 0.043557264, -0.057501283, 0.20402664, 0.22241214, 0.04460486, 0.08704935, 0.16451277, -0.13080528, 0.039666496, -0.026260905) * go_0(0.0, 1.0); + result += mat4(0.052181657, 0.027077725, 0.06572071, 0.031183861, 0.10252249, -0.08605668, 0.041842632, -0.103617065, -0.10870241, 0.04929309, -0.036834683, 0.035595864, 0.05496096, -0.067191675, -0.021810448, 0.040137228) * go_0(1.0, -1.0); + result += mat4(0.12943552, 0.027362846, -0.04002257, 0.06176385, 0.03362332, -0.10467882, 0.33771384, -0.002079538, -0.14528175, 0.14312474, 0.02974133, -0.06945553, -0.33208638, -0.1682957, 0.08194348, -0.072072215) * go_0(1.0, 0.0); + result += mat4(-0.10689992, 0.0904542, 0.13820268, 0.13239543, -0.15937562, -0.123537876, -0.33618236, -0.081022464, 0.024027856, 0.26380306, -0.09225592, 0.040485747, -0.01705172, -0.049895052, -0.07952754, 0.030036716) * go_0(1.0, 1.0); + result += mat4(-0.1259129, 0.018831972, -0.1832129, 0.01803401, 0.033666562, -0.17717862, 0.087922215, -0.10147714, 0.045267824, -0.25754488, -0.08662288, 0.10354607, 0.10469745, 0.19675997, -0.20195517, 0.24481302) * go_1(-1.0, -1.0); + result += mat4(-0.094946206, 0.015489291, -0.1777193, 0.037065975, 0.024963535, -0.3277457, -0.08534422, -0.08319194, -0.18495774, -0.09883332, -0.053772286, 0.08554662, -0.1215341, 0.15887743, -0.2965043, -0.11656119) * go_1(-1.0, 0.0); + result += mat4(-0.34576485, -0.14033535, 0.07531725, -0.14229001, 0.08308607, -0.31519765, -0.15306507, -0.072686926, -0.12345635, -0.08589443, 0.015977165, -0.0041419766, -0.49153492, 0.3021553, 0.16130814, -0.17035122) * go_1(-1.0, 1.0); + result += mat4(-0.08059237, -0.18008304, 0.23508278, -0.08894493, 0.11107956, 0.23715645, 0.091440715, -0.033679005, 0.23545177, 0.011845169, 0.0054449392, -0.30073527, 0.2796674, -0.1411897, -0.014096338, 0.115184374) * go_1(0.0, -1.0); + result += mat4(0.19655375, 0.027063202, -0.3324798, 0.29343468, -0.10879405, 0.16780332, -0.019309124, 0.04614956, 0.15054315, 0.19951852, 0.14648122, 0.28885373, 0.037958838, -0.34874088, -0.025065463, -0.19422896) * go_1(0.0, 0.0); + result += mat4(-0.18047136, 0.060818356, -0.13610844, -0.018481744, -0.09979387, 0.0477093, 0.032326147, -0.10137375, -0.059743475, 0.05039489, 0.17306165, -0.005998121, -0.009583858, -0.14829919, 0.24446519, -0.22378124) * go_1(0.0, 1.0); + result += mat4(0.45342392, 0.19783214, -0.042264447, 0.11951815, 0.017209506, 0.119354434, -0.089858785, 0.03950267, -0.19266395, -0.07500372, -0.02151692, -0.008635288, -0.14962971, -0.00780355, 0.18662006, -0.0046807216) * go_1(1.0, -1.0); + result += mat4(-0.13184623, -0.04977233, -0.08034406, -0.08663693, -0.06438305, -0.06699197, 0.15878884, 0.014209137, -0.018352475, -0.12698355, -0.18104841, -0.03212089, -0.31992742, 0.13199449, -0.039823674, -0.18864588) * go_1(1.0, 0.0); + result += mat4(-0.22096959, -0.06594324, -0.093964286, -0.069787376, -0.05717438, 0.18509367, -0.19014412, -0.11233723, -0.043684576, -0.04049064, -0.015180749, 0.04026833, -0.09723803, -0.014410513, -0.14038773, -0.20472965) * go_1(1.0, 1.0); + result += mat4(-0.020113828, 0.06306164, 0.1133604, -0.03264297, -0.019580074, -0.28136805, 0.046105113, -0.104369484, 0.047211405, -0.11510891, -0.2610411, -0.24363835, -0.15579234, 0.13080037, -0.2414289, -0.21552382) * go_2(-1.0, -1.0); + result += mat4(-0.030723298, 0.10005462, -0.046389453, -0.42023477, -0.0900144, -0.3300974, 0.2023873, 0.47113106, -0.10733436, 0.13536386, 0.11873528, 0.075008325, -0.092727005, 0.16694772, -0.12538053, -0.019201787) * go_2(-1.0, 0.0); + result += mat4(-0.020229753, 0.0050342986, -0.09015966, -0.23845413, 0.14204682, -0.24106354, 0.007471734, 0.21428482, -0.059586413, -0.07984075, 0.1474898, -0.12583902, -0.34393194, 0.08484377, -0.40459237, 0.32322514) * go_2(-1.0, 1.0); + result += mat4(-0.11741491, -0.083517544, 0.04531866, -0.048355322, 0.15782192, 0.07919051, -0.34528416, -0.17551522, -0.20325756, -0.13701133, -0.09564707, -0.03711687, 0.030484512, -0.107849605, -0.09412398, -0.28914952) * go_2(0.0, -1.0); + result += mat4(-0.013266804, -0.035421904, 0.081956826, 0.15579522, 0.12775496, 0.1479336, 0.46652517, 0.21593826, -0.23207328, -0.13872643, 0.09056148, 0.1257084, 0.40673763, 0.14669922, 0.14093073, -0.31729355) * go_2(0.0, 0.0); + result += mat4(-0.03632805, 0.06513459, -0.13029967, 0.24914533, 0.08398421, -0.12399063, 0.15374567, 0.003005163, -0.03301567, 0.010896424, -0.10409926, -0.031162843, -0.080630526, 0.313793, -0.04112272, 0.06908576) * go_2(0.0, 1.0); + result += mat4(0.056705862, 0.04045318, -0.13523346, -0.12563162, 0.030291703, -0.22721136, -0.19567032, -0.22538094, -0.078549854, 0.16844983, -0.09419901, 0.1000363, -0.052691363, -0.14642943, -0.17214452, -0.23522456) * go_2(1.0, -1.0); + result += mat4(0.09823313, -0.16931288, 0.2667816, 0.019992903, 0.09905936, -0.14416765, 0.022824166, -0.02994203, 0.05482313, 0.0073759295, -0.087138794, -0.10250613, 0.22704037, -0.33540174, 0.059272785, -0.08828277) * go_2(1.0, 0.0); + result += mat4(0.05405852, 0.0015277737, 0.15057512, 0.008105634, 0.26466554, 0.021303358, 0.21576874, -0.055405084, 0.20417419, -0.1829464, 0.19177821, -0.10549947, -0.10019333, -0.04373452, 0.3086124, -0.030007664) * go_2(1.0, 1.0); + result += mat4(0.18547705, 0.015533089, -0.17023557, -0.14218459, -0.109183766, -0.21892494, -0.08033779, 0.1279889, 0.21425895, 0.31563443, 0.055812337, 0.035239376, 0.04874699, -0.03926052, 0.25620237, 0.05620038) * go_3(-1.0, -1.0); + result += mat4(0.17809738, -0.090085454, 0.086938836, 0.21705364, 0.057283174, 0.022287775, -0.21651776, -0.0027429194, 0.04257827, 0.17341158, 0.32710707, -0.029889492, 0.23903793, -0.038499728, 0.208562, 0.18147011) * go_3(-1.0, 0.0); + result += mat4(-0.02671488, -0.2577291, -0.101831675, -0.043231912, -0.08192727, -0.09351345, 0.10333126, 0.42192927, 0.11358276, 0.17070638, 0.11954223, -0.31113386, 0.21822956, 0.040758308, 0.18557602, -0.04927389) * go_3(-1.0, 1.0); + result += mat4(0.016825153, -0.16034372, 0.13393559, 0.0031862713, -0.07210358, 0.12088922, 0.18472868, 0.19526374, -0.098638535, -0.26882744, 0.01246303, -0.023679085, -0.07282684, 0.10335254, 0.11371582, -0.11949346) * go_3(0.0, -1.0); + result += mat4(-0.0077989995, -0.06316807, -0.037497815, 0.010178734, -0.028329156, -0.109135084, -0.18357074, 0.40579423, -0.05144428, -0.28490487, -0.11653807, 0.22959495, -0.109780535, 0.22878933, -0.29027545, 0.17875119) * go_3(0.0, 0.0); + result += mat4(-0.15628323, -0.07819484, -0.22514449, 0.065008484, -0.0055398177, -0.07419974, 0.09902451, 0.35817552, -0.0862891, -0.2973468, -0.10211232, 0.09778022, -0.08562242, -0.08868644, 0.30707374, 0.16413328) * go_3(0.0, 1.0); + result += mat4(0.004233512, 0.02434783, -0.12356794, 0.13752618, 0.21815947, 0.16979212, 0.3382205, 0.15363333, -0.14368188, 0.10208307, 0.16594398, -0.002474651, -0.25072917, 0.19654895, 0.15537341, -0.011402132) * go_3(1.0, -1.0); + result += mat4(0.1492285, -0.102569796, -0.15423858, 0.03359016, 0.008948687, 0.11137203, -0.0753569, -0.15314926, -0.22925344, 0.1943656, -0.4934053, 0.42356676, -0.10820874, 0.23832525, -0.4461194, 0.19386442) * go_3(1.0, 0.0); + result += mat4(0.30649734, 0.061961878, -0.17697462, -0.29313368, 0.19318691, 0.14972912, -0.04568052, 0.123596475, -0.018475438, 0.33577895, -0.17800568, 0.12502621, 0.032249834, 0.013487416, -0.019249933, 0.004653166) * go_3(1.0, 1.0); + result += mat4(0.11560085, -0.030997908, 0.009219462, 0.05633901, -0.11158907, 0.09791856, -0.111877, -0.020388048, -0.25937706, -0.000673325, 0.106495194, 0.15643579, 0.022090284, -0.11573403, 0.123260945, -0.033783972) * go_4(-1.0, -1.0); + result += mat4(-0.061418246, 0.13925532, 0.070662834, -0.10297572, -0.08535479, 0.31824788, 0.08315885, 0.012375857, 0.04241964, 0.21071856, -0.18567438, -0.26859924, 0.09607365, -0.19106552, 0.1222843, 0.20521446) * go_4(-1.0, 0.0); + result += mat4(-0.1985242, 0.40886146, -0.03295415, 0.25985515, 0.00024564067, 0.22053646, 0.4425157, 0.030073104, 0.15870823, 0.3720021, -0.19778733, -0.11957699, 0.23951907, -0.022089735, 0.026504006, -0.1143626) * go_4(-1.0, 1.0); + result += mat4(0.07811988, 0.06360271, -0.18825488, 0.05489923, -0.316614, -0.2020329, -0.17215219, -0.1163882, 0.028907632, 0.13332835, 0.07710604, 0.15564129, -0.08207378, 0.2586524, -0.15368843, -0.026250634) * go_4(0.0, -1.0); + result += mat4(0.1154507, 0.05374841, -0.35887244, -0.38684267, 0.024906285, -0.051356003, 0.06727699, -0.13258685, -0.04512674, -0.0630682, -0.016046045, -0.3630216, -0.10115332, 0.06723903, 0.10273197, 0.01658071) * go_4(0.0, 0.0); + result += mat4(0.035411883, -0.10390069, 0.28300494, -0.030523226, 0.260309, -0.2897127, 0.17530721, 0.06502907, 0.10852879, 0.0101283565, 0.04377248, -0.14661616, 0.07372457, 0.029455552, -0.024029268, 0.019606834) * go_4(0.0, 1.0); + result += mat4(0.06462741, -0.017584527, 0.05204551, 0.023974337, -0.09858389, -0.12002433, 0.051191356, -0.15688013, 0.1415572, -0.121506944, 0.4219788, -0.14832322, 0.09247079, -0.10846258, -0.030261837, -0.14657071) * go_4(1.0, -1.0); + result += mat4(0.037952326, 0.05012869, 0.022779293, 0.0797289, 0.024931714, -0.050262492, -0.15463822, -0.023215678, 0.045349725, -0.0040035774, 0.22049266, -0.08079404, -0.0113567095, -0.00675084, 0.17475724, 0.025340058) * go_4(1.0, 0.0); + result += mat4(-0.13610172, 0.14658909, 0.067050435, 0.12354151, 0.22096893, -0.06765668, -0.024593432, -0.03552899, 0.06936571, 0.10394856, 0.0048312224, -0.21034646, 0.037834894, -0.06692894, 0.009020093, -0.04065748) * go_4(1.0, 1.0); + result += mat4(-0.08967367, -0.14398253, -0.19402455, -0.14434609, -0.027259551, 0.1226331, 0.012233069, 0.13677149, -0.1507801, 0.14510965, 0.24108039, 0.04916487, 0.042398036, 0.09403761, -0.03958092, 0.17673557) * go_5(-1.0, -1.0); + result += mat4(-0.071569644, -0.19743139, -0.09648773, 0.038397867, 0.12506093, 0.24415006, 0.13810574, -0.23042768, 0.20971183, -0.14231962, 0.0963819, -0.07323753, -0.014360243, -0.099411555, 0.07815387, 0.09009336) * go_5(-1.0, 0.0); + result += mat4(0.14625058, -0.15307125, 0.45122483, 0.10113701, -0.12264418, 0.09390506, -0.25706926, -0.082095854, 0.11812526, 0.14046957, -0.09704567, 0.21640895, 0.20999698, -0.19149756, 0.16977966, 0.034616202) * go_5(-1.0, 1.0); + result += mat4(0.05720225, 0.0428485, -0.057531573, -0.111578174, 0.03538242, 0.033332366, -0.05961152, 0.13383748, -0.05669531, -0.047779217, 0.2760684, -0.23934118, 0.03728129, -0.15390043, 0.09151239, 0.016904302) * go_5(0.0, -1.0); + result += mat4(0.05711261, -0.009796642, 0.1827549, -0.23561665, 0.15747361, -0.15555665, -0.03771464, -0.15358609, 0.124769196, -0.00302323, -0.1930878, -0.3193505, -0.036671866, -0.21477285, -0.0015818535, -0.054916248) * go_5(0.0, 0.0); + result += mat4(-0.04039116, 0.022148842, 0.2527601, -0.08849551, -0.017892385, -0.01728494, -0.12817079, 0.112442665, 0.004877744, 0.08325303, 0.13601741, -0.12387854, -0.033808686, -0.07762037, -0.036944337, -0.016846744) * go_5(0.0, 1.0); + result += mat4(0.025319673, 0.12447582, 0.06369372, 0.20814203, -0.062117852, 0.10390202, -0.030939216, 0.15888922, -0.0873872, 0.04641361, 0.13612288, -0.22024561, 0.15445144, -0.03273631, 0.18931653, 0.03979226) * go_5(1.0, -1.0); + result += mat4(0.01642648, 0.10919636, 0.118298925, -0.052648794, 0.046562076, 0.042576727, -0.119064495, -0.10575594, -0.023527319, 0.27507904, -0.24070077, 0.037794556, 0.026340371, 0.08496194, -0.2165465, -0.10772629) * go_5(1.0, 0.0); + result += mat4(-0.110290796, 0.23385854, 0.16042788, 0.041294437, -0.04052982, -0.030170577, 0.16566783, 0.18245162, -0.125454, 0.15547217, -0.02763223, -0.10694603, 0.12049954, -0.07608294, -0.06768503, 0.022071697) * go_5(1.0, 1.0); + result += vec4(-0.19256988, 0.07561771, 0.007950438, -0.050078563); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(UL)-Conv-3x1x1x120 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_7_tf +//!BIND conv2d_7_tf1 +//!BIND conv2d_7_tf2 +//!SAVE MAIN +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_7 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_8 (max((conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_10 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) +#define g_12 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_13 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_14 (max((conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) +#define g_15 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_16 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_17 (max(-(conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) +#define g_18 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_19 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_20 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_21 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_22 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_23 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_24 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_25 (max((conv2d_7_tf1_tex(conv2d_7_tf1_pos)), 0.0)) +#define g_26 (max((conv2d_7_tf2_tex(conv2d_7_tf2_pos)), 0.0)) +#define g_27 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_28 (max(-(conv2d_7_tf1_tex(conv2d_7_tf1_pos)), 0.0)) +#define g_29 (max(-(conv2d_7_tf2_tex(conv2d_7_tf2_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.068483055, 0.036389243, 0.04961808, 0.0, 0.05059915, 0.033048775, 0.029426659, 0.0, 0.07465462, -0.012659731, -0.024048671, 0.0, 0.02224484, 0.012289658, 0.008910066, 0.0) * g_0; + result += mat4(-0.10449372, 0.019832065, 0.035194747, 0.0, 0.039656557, -0.028246421, -0.032626413, 0.0, 0.10093569, 0.021039873, -0.0120673925, 0.0, -0.047074273, -0.041248, -0.019464392, 0.0) * g_1; + result += mat4(-0.05256942, 0.0127243735, 0.012813261, 0.0, -0.03551604, 0.040801138, 0.04893271, 0.0, -0.0016839011, -0.018044796, -0.027161835, 0.0, -0.060873054, 0.012360936, 0.020700796, 0.0) * g_2; + result += mat4(-0.116182, -0.04271438, -0.046686683, 0.0, -0.09575506, -0.030078743, -0.024359861, 0.0, -0.04794246, 0.0044337297, 0.013972317, 0.0, -0.023228236, 0.015726948, 0.0070847897, 0.0) * g_3; + result += mat4(0.13986528, -0.016787121, -0.015848925, 0.0, -0.04900687, -0.027417973, -0.027077334, 0.0, -0.047319725, -0.021533312, -0.018427303, 0.0, -0.06136185, -0.0051562944, -0.032072, 0.0) * g_4; + result += mat4(0.070715815, 0.012814227, -0.0003389576, 0.0, 0.012182037, -0.014952754, -0.019349998, 0.0, -0.03254603, 0.012881403, 0.016392775, 0.0, 0.059158217, 0.0055793705, -0.003696545, 0.0) * g_5; + result += mat4(0.022627862, -0.020713277, -0.009454221, 0.0, -0.04352193, 0.058409747, 0.07186154, 0.0, -0.009326966, 0.034919802, 0.04204233, 0.0, 0.025182368, -0.039986387, -0.04990386, 0.0) * g_6; + result += mat4(0.0116241425, -0.039915055, -0.050241623, 0.0, -0.0076204035, 0.050215762, 0.059038218, 0.0, -0.006659752, -0.0054298495, -0.003807067, 0.0, 0.011085346, -0.009443587, -0.009128077, 0.0) * g_7; + result += mat4(0.0453952, 0.004603456, 0.006256434, 0.0, -0.104142666, 0.05726496, 0.069169044, 0.0, -0.10102446, -0.034291938, -0.013720296, 0.0, -0.035107866, -0.008388971, -0.0068969135, 0.0) * g_8; + result += mat4(-0.038070124, -0.015017457, -0.015852718, 0.0, 0.0607464, -0.052079927, -0.07268223, 0.0, 0.008773512, -0.026051786, -0.027285712, 0.0, -0.022916751, 0.048140153, 0.064897746, 0.0) * g_9; + result += mat4(-0.01670857, 0.012646949, 0.03353705, 0.0, 0.038032394, -0.044542246, -0.06310885, 0.0, 0.002600519, -0.00824961, -0.008912322, 0.0, 0.023435717, 0.021788329, 0.008603494, 0.0) * g_10; + result += mat4(-0.02889454, -0.0058613745, -0.010699256, 0.0, 0.12959917, -0.046572708, -0.06832117, 0.0, 0.028117642, 0.020422146, 0.00869695, 0.0, 0.035915125, 0.009355984, 0.005175107, 0.0) * g_11; + result += mat4(0.037913825, -0.0099191405, -0.018130798, 0.0, -0.0065440857, 0.004536478, -0.0019739012, 0.0, -0.014918686, -0.00011652434, 0.0007071924, 0.0, -0.0033633227, -0.018028691, -0.014883887, 0.0) * g_12; + result += mat4(-0.021300001, -0.039009467, -0.043097164, 0.0, -0.008222791, 0.057612088, 0.063239105, 0.0, 0.023676023, -0.0119777955, -0.020785704, 0.0, 0.03422571, -0.009187399, -0.016286165, 0.0) * g_13; + result += mat4(0.031610258, -0.022373654, -0.04004249, 0.0, 0.015456217, -0.014708875, -0.017118618, 0.0, -0.0235428, 0.0103508085, 0.020143243, 0.0, 0.0044788374, -0.017377898, -0.023227183, 0.0) * g_14; + result += mat4(-0.036366682, 0.007874863, 0.016618004, 0.0, 0.0022973057, -0.010600425, -0.012978575, 0.0, 0.0070587453, 0.005480104, 0.0052379463, 0.0, -0.02330911, -0.002091681, -0.0004570695, 0.0) * g_15; + result += mat4(0.0011265673, 0.017461559, 0.01678395, 0.0, 0.019458788, -0.032603145, -0.042017594, 0.0, -0.026735391, 0.007520235, 0.01661426, 0.0, -0.023014631, 0.027602635, 0.040214695, 0.0) * g_16; + result += mat4(-0.05236764, 0.007274719, 0.023289332, 0.0, -0.033428065, 0.0054935357, 0.014490033, 0.0, 0.016193395, -0.012767524, -0.022695007, 0.0, -0.01161452, 0.015592775, 0.017280621, 0.0) * g_17; + result += mat4(0.0075503755, 0.014264192, 0.014350495, 0.0, 0.013990636, -0.0011566521, -0.005510977, 0.0, -0.021975616, -0.013216436, -0.012400287, 0.0, 0.018202957, 0.010433842, 0.007529786, 0.0) * g_18; + result += mat4(0.012649671, 0.016378459, 0.009756208, 0.0, 0.0023225206, -0.0038671023, -0.005242471, 0.0, 0.023699954, 0.015248626, 0.011651197, 0.0, 0.014677953, 0.014319745, 0.012088228, 0.0) * g_19; + result += mat4(-0.0030005479, 0.0052323043, 0.007744717, 0.0, -0.0077438625, -0.00072459516, -0.001971826, 0.0, -0.01263717, -0.009226968, -0.005661945, 0.0, 0.0046659256, 0.0014185858, 0.0038442858, 0.0) * g_20; + result += mat4(-0.0053241113, -0.010728358, -0.013345879, 0.0, -0.000893072, 0.015531841, 0.015812417, 0.0, 0.021348871, 0.015751695, 0.016067913, 0.0, 0.014817982, 0.03233685, 0.031598262, 0.0) * g_21; + result += mat4(0.0038391522, 0.0027406036, 0.0063517806, 0.0, 0.0021543978, 0.0065204683, 0.009420363, 0.0, -0.022383714, -0.012619449, -0.008763167, 0.0, -0.009436604, -0.012201518, -0.0103548, 0.0) * g_22; + result += mat4(-0.005432008, -0.013701671, -0.021388102, 0.0, -0.001045599, -0.0032160715, -0.0036216215, 0.0, 0.031028647, 0.022415614, 0.01880324, 0.0, -0.004328173, -0.004780637, -0.005459752, 0.0) * g_23; + result += mat4(-0.007300146, -0.0076159053, -0.0080059795, 0.0, 0.005996225, 0.0057377047, 0.0059788194, 0.0, -0.021563234, -0.020394823, -0.020401813, 0.0, -0.030919729, -0.03150251, -0.029059272, 0.0) * g_24; + result += mat4(-0.002826552, -0.0042917025, -0.0025527687, 0.0, -0.0074001094, -0.006878869, -0.0062073106, 0.0, 0.010867636, 0.010852139, 0.008577537, 0.0, -0.01606024, -0.0143771265, -0.013291837, 0.0) * g_25; + result += mat4(0.012113326, 0.014259359, 0.011284172, 0.0, -3.851684e-05, -0.003696042, -0.0020337042, 0.0, 0.003427011, 0.006911378, 0.008471347, 0.0, 0.0063997298, 0.004651406, 0.0075980425, 0.0) * g_26; + result += mat4(-0.026621016, -0.027831081, -0.025364956, 0.0, 0.022336917, 0.023742557, 0.023516335, 0.0, -0.01619396, -0.01820708, -0.015288538, 0.0, 0.0045815264, 0.0022230193, 0.0017512285, 0.0) * g_27; + result += mat4(0.043799683, 0.046862658, 0.041910093, 0.0, -0.027854608, -0.02948632, -0.02927831, 0.0, -0.051899213, -0.04971418, -0.04712937, 0.0, -0.017539004, -0.0245854, -0.023040624, 0.0) * g_28; + result += mat4(0.022317344, 0.021462968, 0.02187171, 0.0, 0.0530127, 0.054741293, 0.052202478, 0.0, 0.029963326, 0.0298772, 0.025601966, 0.0, 0.027699472, 0.031187871, 0.02950236, 0.0) * g_29; + result += vec4(-0.0071146404, 0.005606682, 0.010180816, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_VL.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_VL.glsl new file mode 100644 index 0000000..e6b12ff --- /dev/null +++ b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_VL.glsl @@ -0,0 +1,873 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.1690102, -0.2560719, 0.39658326, -0.3679659, -0.27616683, -0.35619372, -0.3748396, 0.08430813, -0.29574734, -0.31511316, -0.09773105, 0.13616018, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.1326393, -0.259433, 0.025070239, 0.58914864, -0.036478516, 0.30723435, 0.007458902, 0.012962684, 0.2493056, 0.13007334, -0.08448256, -0.38414413, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.11539356, 0.35253766, 0.26143202, 0.2760807, -0.09371543, -0.028165473, -0.028452158, -0.27050856, 0.06718067, -0.0056619495, -0.17654495, 0.17288211, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.16145481, -0.3204927, -0.54317135, 0.11830119, 0.49315026, 0.12008072, 0.50857407, -0.30382085, 0.25807253, 0.020755528, 0.29388228, 0.106109895, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.22728722, 0.50484747, -0.07904469, 0.33114597, 0.50306976, -0.22760947, 0.14773269, 0.17628263, 0.14788547, -0.08223464, -0.10880935, -0.3151985, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.3414351, 0.057279214, -0.14419858, 0.09761111, -0.11794496, 0.021717256, -0.22750235, 0.13986664, -0.38932344, 0.28996095, 0.3773904, 0.13175532, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.1376552, -0.19587159, -0.35147396, -0.097646296, 0.1686707, -0.14385861, 0.031198, 0.12383533, -0.23089902, 0.08707301, 0.3362293, -0.100579016, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.056774966, 0.047585852, -0.36395878, -0.20211312, 0.4077735, 0.12631284, 0.39813092, -0.033365678, 0.2307249, -0.09131807, 0.20823865, 0.31084216, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.12456089, 0.09755632, 0.31490886, -0.06579996, -0.13386595, 0.07564795, -0.26605195, -0.075180635, -0.11182657, 0.06757017, -0.14351276, -0.16828312, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.046043985, 0.055581126, -0.08791638, -0.13022089); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.15485518, -0.29363206, -0.22610365, -0.14291525, -0.45240572, -0.18319772, -0.12209436, 0.15031648, 0.09878383, 0.06711082, 0.25763842, -0.084633484, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.10204406, 0.16167697, 0.22371867, -0.37947702, -0.24476196, -0.038824454, 0.060157117, 0.15764871, -0.08072927, -0.2210841, -0.31835055, 0.009979876, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.20506924, 0.21132155, -0.0922578, -0.07430473, 0.14529926, 0.20549752, 0.0077948375, 0.13246094, -0.32353187, 0.21074104, 0.092629515, 0.17590871, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.04125819, -0.44050243, 0.23729716, 0.3218237, 0.12943116, -0.011674174, 0.10390632, 0.027775545, -0.20308031, -0.16904089, -0.2121676, -0.022515794, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.09664124, 0.20127031, 0.60345304, 0.16697013, 0.23093723, -0.38116834, 0.109695725, 0.0007595324, 0.4092646, 0.009624758, 0.11229678, 0.25326383, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.014879592, 0.19204311, 0.07102085, -0.7312604, 0.34860876, 0.3429918, -0.027331594, 0.27636307, 0.1342437, 0.107820466, -0.12645108, 0.21081445, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.12687613, -0.09247973, -0.25973785, 0.4350873, -0.18987224, 0.028678741, -0.0903819, -0.63974863, 0.205591, 0.11308998, 0.18458389, -0.4149041, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.34691808, -0.025498383, 0.3428986, 0.21663484, 0.23404741, -0.1725327, -0.0036315925, -0.13299675, -0.1873967, 0.031331502, -0.08785591, -0.0013278709, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.35846514, 0.048703704, -0.104165934, 0.16529736, -0.15378916, 0.26030356, -0.07134151, 0.03692383, -0.15807101, -0.18885155, 0.044707954, -0.11444462, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.0022791293, -0.024132347, -0.57621074, 0.028573977); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.010346764, 0.07230188, -0.24734616, -0.09937907, 0.02228549, -0.19550583, -0.019540425, -0.1037373, 0.033996485, -0.075554, -0.20228972, 0.07090153, -0.09194035, -0.058972966, 0.1768268, 0.27517542) * go_0(-1.0, -1.0); + result += mat4(0.020078976, 0.12433655, -0.1620775, 0.036401592, 0.079748705, 0.11660013, 0.17917652, -0.017513236, -0.18936846, 0.24478136, -0.45726213, -0.045004416, -0.08295188, 0.067733586, -0.080548316, 0.2744211) * go_0(-1.0, 0.0); + result += mat4(0.024916803, 0.27562472, 0.043771956, -0.012240604, 0.0786355, 0.042651594, 0.16049327, -0.14577515, -0.032735053, 0.17658092, 0.16382934, -0.02337374, 0.11551492, 0.056343183, -0.17930213, 0.14259394) * go_0(-1.0, 1.0); + result += mat4(0.20010485, 0.06747722, -0.19026905, 0.11013709, 0.13062745, -0.044626113, -0.0062261797, 0.2189639, 0.1403497, -0.022713251, -0.19452858, -0.010305412, -0.06407589, 0.09836748, 0.025805516, 0.23430973) * go_0(0.0, -1.0); + result += mat4(-0.14664203, 0.034910418, 0.024714258, -0.066872925, -0.15717538, -0.14179383, -0.14091893, 0.05859166, 0.18919097, -0.18544437, -0.09068573, -0.08615929, -0.051434122, 0.2170678, 0.18409058, -0.17461225) * go_0(0.0, 0.0); + result += mat4(-0.11354446, 0.10745854, 0.2682663, 0.05949201, -0.10695986, 0.1407851, -0.03551388, 0.10691649, -0.17148238, -0.38287184, 0.2074456, 0.11828914, 0.048535194, 0.1464864, -0.18169662, -0.14074169) * go_0(0.0, 1.0); + result += mat4(0.22160622, -0.1513045, -0.053284165, 0.033202525, 0.15574448, -0.043640967, -0.0093824165, -0.0019965349, -0.097964935, -0.08289824, 0.08239996, 0.07868361, 0.05731752, -0.20441617, -0.013016076, -0.253108) * go_0(1.0, -1.0); + result += mat4(-0.031249097, -0.2272863, 0.23573665, 0.03357689, 0.011395065, -0.10885564, -0.06287508, -0.031719524, 0.10331069, 0.17560169, 0.18303394, 0.022961004, -0.17011635, -0.24371737, 0.10678694, -0.3222825) * go_0(1.0, 0.0); + result += mat4(-0.1275465, -0.08844758, 0.10994917, -0.00910273, 0.09393154, 0.03894992, 0.14367905, -0.11811715, -0.09077633, -0.015776094, 0.27427456, -0.13283503, 0.18724327, -0.08139094, 0.04933602, -0.051852766) * go_0(1.0, 1.0); + result += mat4(-0.06764611, -0.27426586, 0.12045272, 0.09410856, -0.14258035, 0.11802992, -0.09093882, 0.0022018093, 0.4590643, 0.046258576, -0.07827223, 0.448011, -0.103631735, -0.016930219, -0.15421398, 0.11045997) * go_1(-1.0, -1.0); + result += mat4(-0.17295076, 0.00151352, 0.14938255, 0.08336512, -0.07496541, -0.07561223, -0.0846474, 0.14979269, -0.09142163, 0.23925088, -0.015199518, -0.37749895, -0.20636298, -0.022585187, -0.20371509, 0.0745308) * go_1(-1.0, 0.0); + result += mat4(0.06458832, -0.009722021, -0.123604394, 0.06548835, -0.3039139, -0.022024399, 0.05297587, -0.0626883, 0.23556642, 0.1516464, -0.07004877, -0.1845364, -0.05918428, 0.19158973, -0.14983447, 0.030489758) * go_1(-1.0, 1.0); + result += mat4(0.36604697, 0.17516142, -0.10853731, -0.22694224, -0.107650936, 0.23013335, 0.094055794, -0.17047717, -0.3006048, -0.08621717, -0.18815655, -0.03570218, 0.09676118, -0.017718751, 0.059138596, 0.073388465) * go_1(0.0, -1.0); + result += mat4(-0.12791575, 0.101956226, 0.13091874, -0.046373338, 0.04955811, -0.04030444, 0.13869923, -0.046699073, -0.42611042, -0.7173929, 0.052184317, 0.6178025, -0.02929954, -0.07638965, -0.15000828, 0.030710017) * go_1(0.0, 0.0); + result += mat4(0.057806686, 0.20842272, -0.20148766, 0.006666912, 0.13356528, -0.45265228, -0.07354092, 0.21447696, 0.019552143, -0.13645506, 0.14643854, -0.0071413796, -0.15487236, -0.002250615, 0.30622452, 0.0033902125) * go_1(0.0, 1.0); + result += mat4(0.06896002, 0.24397352, -0.06479052, 0.20676947, -0.24259068, 0.055320013, -0.09032122, -0.11222854, -0.08982342, -0.114818625, -0.06399291, -0.3024516, -0.06302166, -0.1925528, 0.03458982, 0.028828239) * go_1(1.0, -1.0); + result += mat4(0.09764086, 0.09599894, -0.0073313303, 0.14418933, -0.045712367, 0.12657364, 0.04620374, -0.069778584, 0.30047333, -0.012418192, 0.15516461, -0.18087754, 0.08178273, 0.14262857, -0.01741533, -0.12509112) * go_1(1.0, 0.0); + result += mat4(0.04697884, -0.1506804, 0.031823065, 0.13397239, -0.18396698, 0.10681781, -0.29586303, -0.0039136545, 0.17560847, -0.12486726, -0.018646788, -0.20688744, -0.030614454, -0.0527634, 0.23593572, -0.10542146) * go_1(1.0, 1.0); + result += mat4(-0.19182229, -0.32615846, 0.26283535, -0.1371942, -0.071202695, 0.12056063, -0.11450658, -0.27711076, -0.42096004, 0.0014352369, 0.1559669, -0.14464542, -0.17973948, 0.079166576, -0.12501791, -0.20623216) * go_2(-1.0, -1.0); + result += mat4(0.12469872, 0.32190827, -0.059510354, 0.1393449, -0.12845798, -0.019571869, -0.22630808, -0.14031963, 0.36072046, 0.05858427, 0.19278921, 0.121090546, -0.067538865, -0.018770566, 0.14318037, -0.15561756) * go_2(-1.0, 0.0); + result += mat4(0.024663208, 0.21110268, -0.016415706, 0.060093414, -0.03739678, -0.107412934, -0.077527136, 0.30331334, 0.17196326, -0.15512557, -0.09499732, -0.15748607, -0.16680105, -0.015185634, 0.16114107, -0.21288376) * go_2(-1.0, 1.0); + result += mat4(-0.17739037, -0.1190967, 0.13191372, -0.2527187, -0.14992718, -0.30511454, 0.19145966, 0.002194003, -0.12888977, 0.19152176, 0.27528167, 0.099714965, 0.12865707, -0.12051514, -0.055013947, 0.26231763) * go_2(0.0, -1.0); + result += mat4(0.46433613, -0.11708138, -0.20157282, 0.32022122, 0.079468675, 0.029407484, 0.2559102, -0.15651533, 0.08644574, -0.09747344, -0.07528584, 0.17354868, 0.19167562, -0.17698488, -0.09896657, 0.17093097) * go_2(0.0, 0.0); + result += mat4(0.20283653, -0.33680332, 0.2282385, 0.18832158, 0.20866042, 0.00076752366, 0.16471444, -0.21548858, 0.16193539, 0.17141372, 0.03140222, 0.03913644, -0.030161971, 0.00014570929, 0.08993654, -0.064823024) * go_2(0.0, 1.0); + result += mat4(-0.3075755, 0.19942546, 0.015526995, -0.120868504, -0.254515, -0.07791228, 0.03271691, 0.11794217, 0.11258601, 0.045204375, -0.061196107, -0.115958795, 0.3861869, 0.048215542, 0.07016682, -0.009975758) * go_2(1.0, -1.0); + result += mat4(-0.07623697, 0.16094944, -0.02283455, 0.14112763, -0.051149167, 0.20429814, 0.011314802, 0.18914083, -0.24240434, -0.08784008, -0.16763984, -0.08492233, 0.31062725, -0.11925119, -0.33195966, 0.2060798) * go_2(1.0, 0.0); + result += mat4(-0.016709225, -0.14472668, -0.3677625, -0.09832719, 0.030297454, -0.05775362, -0.1401375, 0.08119674, -0.01795042, 0.05183797, -0.24320887, 0.066842034, -0.22245285, -0.02740993, 0.06316751, 0.053399116) * go_2(1.0, 1.0); + result += mat4(-0.039214406, -0.08876633, 0.045552462, 0.19226661, 0.1355001, -0.13942362, 0.17398876, 0.2914014, -0.191809, 0.037143208, 0.013333581, -0.16632195, 0.113767646, -0.106692605, 0.1589787, 0.030107044) * go_3(-1.0, -1.0); + result += mat4(0.21997562, 0.13855208, -0.05783191, -0.033682413, -0.010961168, 0.10524961, 0.02177416, 0.18289444, 0.043692037, 0.07853899, -0.039936125, -0.1004449, 0.04494073, -0.020680292, 0.17578089, -0.106598996) * go_3(-1.0, 0.0); + result += mat4(0.026852835, -0.16037546, 0.11278316, 0.12656097, -0.006857894, -0.03400118, -0.051564034, 0.00085412664, -0.37556714, -0.05279987, 0.029383834, -0.14246808, -0.056380164, -0.002399925, 0.16025752, 0.036324855) * go_3(-1.0, 1.0); + result += mat4(0.022709966, 0.046350412, 0.03390721, 0.02810572, -0.14394265, 0.04215361, -0.3206118, 0.15034916, -0.0028448137, 0.1682989, -0.042686664, 0.020543462, -0.2786501, -0.007482015, -0.040313292, -0.20745736) * go_3(0.0, -1.0); + result += mat4(0.05417556, 0.18728684, -0.046121832, -0.27939513, 0.05907976, -0.09191223, -0.16625418, -0.26038164, 0.39956605, -0.052594025, -0.0596556, 0.29517552, -0.015181923, -0.0763375, 0.25131205, 0.13038464) * go_3(0.0, 0.0); + result += mat4(-0.036903054, -0.0066989153, -0.062650286, 0.05614359, -0.0064960583, 0.028512698, -0.10906273, -0.010047654, 0.23030473, 0.049983572, 0.10439064, 0.26643834, 0.05041243, 0.09185424, -0.32352915, 0.11295159) * go_3(0.0, 1.0); + result += mat4(0.09724027, -0.34962535, 0.06586686, 0.016635379, 0.13831381, 0.01707076, -0.04690347, 0.022350075, 0.018352794, 0.022000022, 0.070613205, 0.117735535, -0.025971051, 0.18832101, -0.09643588, -0.08512127) * go_3(1.0, -1.0); + result += mat4(-0.17324433, 0.06810613, -0.057295907, -0.05115964, -0.101570815, 0.12491774, 0.08762367, -0.005862404, -0.05342927, -0.031942457, -0.039624047, -0.04298937, -0.1303138, -0.11869282, -0.024832053, 0.070463404) * go_3(1.0, 0.0); + result += mat4(-0.010514842, 0.1376259, -0.11750346, -0.03786737, 0.03459249, 0.015408171, -0.031430878, -0.060825355, -0.072958425, -0.0037895301, 0.041686177, -0.12352204, -0.06261361, 0.054514423, -0.34072715, 0.13860728) * go_3(1.0, 1.0); + result += vec4(0.018166734, -0.11002478, -0.05554318, -0.0988193); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.040142782, 0.0288423, 0.07569487, -0.01490842, 0.14402796, -0.13682005, 0.027765118, 0.03907358, 0.07117706, 0.058157545, -0.23862502, -0.057674367, -0.19220531, 0.0147159435, -0.18028538, 0.0963821) * go_0(-1.0, -1.0); + result += mat4(-0.1676744, -0.11937339, 0.12137117, 0.07119485, 0.14148116, -0.043578617, -0.029261118, -0.0016938087, -0.057269357, -0.080076694, 0.12193026, 0.07326153, -0.056278303, -0.01630716, -0.03792076, 0.1483611) * go_0(-1.0, 0.0); + result += mat4(-0.3021578, 0.011601693, 0.11266048, 0.19086999, -0.0122412145, 0.08431291, 0.11615175, -0.008039614, -0.39987534, 0.07820729, 0.03509667, 0.1963505, -0.08839513, -0.21571854, 0.059425723, -0.06830175) * go_0(-1.0, 1.0); + result += mat4(0.23135209, -0.12452708, 0.0943565, 0.0028859286, -0.09836373, 0.10681712, -0.3535964, 0.08457615, 0.045332734, 0.16579892, -0.03809797, -0.021596594, 0.2937497, -0.028294371, 0.046484597, -0.037604347) * go_0(0.0, -1.0); + result += mat4(0.072675414, -0.16431206, 0.28952035, 0.0076831076, -0.020242939, 0.029483542, -0.092415355, 0.08673106, 0.12109694, 0.14307201, 0.23134442, 0.11731775, 0.09981601, -0.16968462, 0.037470713, 0.14948717) * go_0(0.0, 0.0); + result += mat4(0.0029752052, 0.06526503, 0.1866458, 0.07451277, -0.31836876, 0.17115082, -0.13969697, 0.23844297, -0.03244903, -0.08832665, 0.023691226, -0.18230624, -0.074933805, -0.00044301842, 0.050572682, 0.081511915) * go_0(0.0, 1.0); + result += mat4(0.039502528, 0.051221415, -0.13968123, -0.091212444, -0.016925618, 0.15409444, -0.017455677, -0.11653652, 0.03539446, -0.00087720866, -0.12839639, 0.037198763, 0.03674469, -0.26444665, 0.019721227, -0.13013805) * go_0(1.0, -1.0); + result += mat4(0.039229527, 0.25667152, 0.0032586441, -0.00718359, 0.1617932, 0.10409968, 0.07182867, -0.09810605, 0.07789241, -0.02014911, 0.025767172, -0.14604759, 0.07175764, 0.32513744, -0.20473222, -0.16266066) * go_0(1.0, 0.0); + result += mat4(0.13418433, 0.061813723, -0.13927278, -0.2498272, 0.03468218, 0.29483125, 0.063289374, -0.04726235, 0.1898295, -0.33132064, 0.032045014, 0.02159535, -0.1148363, 0.31306976, 0.06456038, 0.048988886) * go_0(1.0, 1.0); + result += mat4(0.07151646, 0.2799246, -0.107190795, -0.16431166, -0.28007045, 0.07206954, 0.06775463, 0.009758042, 0.07032184, -0.20843789, 0.087045245, 0.1360676, -0.25718534, 0.028249472, -0.12614648, 0.009949602) * go_1(-1.0, -1.0); + result += mat4(0.020241471, -0.23390484, -0.0083223935, 0.08344701, 0.08222297, 0.12026539, -0.08652223, -0.08228822, -0.039576706, -0.24677879, -0.1157289, 0.2590508, -0.23809408, 0.19911982, -0.116798095, -0.035870325) * go_1(-1.0, 0.0); + result += mat4(0.024991842, 0.050509237, -0.024134455, -0.12659028, 0.24089767, 0.122712664, -0.10482493, -0.19403952, -0.19177693, -0.06538376, -0.041478425, 0.32176673, -0.1534002, -0.18680622, 0.06763643, 0.020806564) * go_1(-1.0, 1.0); + result += mat4(0.03437814, -0.28067374, 0.2830681, 0.038812317, -0.021698112, -0.120865285, 0.22695538, -0.045419116, -0.030475847, -0.01977341, -0.1265364, -0.3109814, 0.012255813, 0.053917278, -0.018620957, -0.14599285) * go_1(0.0, -1.0); + result += mat4(-0.016204128, -0.04093018, 0.054571863, 0.02679643, 0.01756274, -0.057685968, 0.16148666, 0.17370272, -0.11065411, 0.06378157, -0.09331551, 0.22985275, 0.057905316, 0.12323568, 0.07748665, 0.09878629) * go_1(0.0, 0.0); + result += mat4(-0.018112244, 0.063234635, -0.013184602, 0.16241394, 0.08877139, 0.02145378, -0.02490027, -0.038920373, 0.13127136, 0.14391647, 0.020553736, 0.14401346, 0.06685973, -0.25398204, 0.10369067, -0.055949755) * go_1(0.0, 1.0); + result += mat4(0.07710333, 0.047412727, 0.13813803, 0.18624061, 0.16907091, -0.039532468, 0.06234584, 0.06408178, -0.054543987, -0.045220226, -0.11093376, -0.37399602, 0.20372874, 0.004580967, -0.07742308, 0.017989937) * go_1(1.0, -1.0); + result += mat4(0.003485311, -0.08897399, -0.013108594, -0.19473282, -0.27081844, -0.16812073, 0.0052992934, -0.055331517, 0.09446357, 0.019280333, 0.16560757, -0.3230032, 0.043096773, 0.059222896, -0.064184934, -0.059852477) * go_1(1.0, 0.0); + result += mat4(0.06794279, -0.034135245, 0.083064295, 0.13506731, 0.13064219, -0.44978833, -0.03513717, 0.08999715, 0.1124541, 0.42208397, -0.0038724816, -0.014332087, -0.13751853, -0.04929869, 0.09134992, -0.17687531) * go_1(1.0, 1.0); + result += mat4(0.100909084, -0.0131197255, 0.082274795, -0.2138443, -0.08515947, -0.021058358, 0.10951775, -0.06349191, -0.29129833, -0.029262653, 0.25235432, -0.11748315, 0.121980384, 0.062347785, 0.10916932, -0.15993518) * go_2(-1.0, -1.0); + result += mat4(0.28893283, -0.05677308, -0.2641288, -0.058937225, -0.16187571, 0.006647366, -0.063294955, 0.04766719, 0.60601914, -0.07831864, -0.15710756, -0.011491797, 0.15587467, -0.08105375, 0.07847514, -0.2803333) * go_2(-1.0, 0.0); + result += mat4(-0.077989794, -0.09871811, -0.3516344, 0.15292728, 0.010889273, 0.0011189661, -0.16118282, -0.018821161, -0.039708678, -0.00060983415, -0.06367813, 0.009148068, 0.03919827, 0.18782744, 0.028040757, -0.10230145) * go_2(-1.0, 1.0); + result += mat4(-0.4079609, 0.18640275, -0.12475227, 0.13891742, 0.25121725, 0.16942379, 0.14409852, 0.087600805, 0.045335658, -0.12683709, -0.0077387216, 0.06563413, -0.19857128, 0.106910795, -0.048285246, 0.10768945) * go_2(0.0, -1.0); + result += mat4(0.5989075, 0.20941062, -0.20086494, 0.13344856, 0.073034994, 0.22358665, 0.101664364, -0.13463663, 0.18816395, -0.061176624, -0.14712185, 0.027320342, -0.09529667, 0.031148786, -0.28744993, 0.18698911) * go_2(0.0, 0.0); + result += mat4(0.14799193, 0.39471942, -0.23340325, -0.4031061, 0.18926248, -0.11091216, 0.118981816, -0.09155061, 0.17049436, 0.19803695, -0.1513267, 0.023817873, 0.0090933135, -0.04134864, 0.060486555, 0.03536634) * go_2(0.0, 1.0); + result += mat4(-0.39094314, 0.01779997, 0.12710269, 0.0067333193, -0.31255835, -0.08206612, -0.048528638, 0.369439, -0.19351655, -0.03420455, 0.15831526, -0.052294146, -0.08481741, 0.0787108, 0.1312136, -0.108919285) * go_2(1.0, -1.0); + result += mat4(-0.16068119, -0.42190582, 0.19383872, -0.018445708, 0.09803051, -0.020769652, -0.022599563, -0.052448895, -0.20645833, -0.031432863, 0.0025441595, 0.03410379, -0.20268854, 0.04481527, 0.05191063, 0.42317194) * go_2(1.0, 0.0); + result += mat4(-0.12786235, -0.23936178, 0.116561726, 0.30756372, -0.09420156, -0.044529166, -0.03585749, 0.1829332, -0.23939075, 0.24030831, 0.019878127, -0.015069802, 0.24300557, -0.22558568, -0.104956664, -0.09393648) * go_2(1.0, 1.0); + result += mat4(-0.04607054, 0.012677649, -0.027597688, 0.1618836, 0.29210827, 0.014221155, -0.13591036, -0.06895336, -0.09559534, 0.07956421, -0.11112994, -0.13325493, 0.24562472, 0.11046177, 0.057847694, 0.0016315983) * go_3(-1.0, -1.0); + result += mat4(-0.03365951, 0.027391057, 0.09653403, -0.14718771, -0.049631152, -0.06467214, -0.058545876, 0.1424002, -0.06320376, 0.181183, 0.10249362, -0.16052136, 0.3013475, -0.04156266, 0.08862033, 0.06888033) * go_3(-1.0, 0.0); + result += mat4(0.10045977, -0.004198456, -0.025856055, 0.05739418, -0.1328637, -0.025975171, 0.06553717, 0.11301186, 0.0704087, -0.083569765, 0.16066101, -0.24453588, 0.25370175, 0.037184533, 0.062386766, -0.20025635) * go_3(-1.0, 1.0); + result += mat4(-0.017958941, 0.06417776, -0.1525265, 0.12451173, 0.14567685, -0.0049682115, -0.23973411, -0.0783304, -0.010629432, 0.08055161, 0.2028341, 0.17640644, -0.20445108, -0.055524793, -0.019326134, 0.081288636) * go_3(0.0, -1.0); + result += mat4(0.007882519, -0.03722546, 0.053249408, 0.00071846246, -0.07053029, -0.21583866, 0.1415364, -0.19486657, 0.20685542, 0.17660026, -0.32156837, 0.1746825, -0.14957622, -0.09224378, -0.098153435, -0.13054638) * go_3(0.0, 0.0); + result += mat4(0.10051427, -0.17398237, 0.09842799, -0.14187703, 0.116901085, -0.1229543, -0.0007776771, -0.20410055, -0.11373484, -0.111150615, -0.1974002, -0.11641459, 0.024105398, 0.24985977, 0.015871854, -0.10724633) * go_3(0.0, 1.0); + result += mat4(-0.18081793, 0.1209351, -0.12867971, -0.019415248, 0.062617876, -0.037130393, -0.07803658, -0.22862352, 0.2586428, -0.030090366, -0.11894069, 0.18087515, -0.40921417, 0.070013195, 0.030540073, 0.035120826) * go_3(1.0, -1.0); + result += mat4(-0.13185939, 0.12992652, 0.08125049, 0.075331174, 0.064219765, 0.056629725, -0.020012032, -0.0855444, -0.044063166, -0.05396545, -0.028002812, 0.21837157, -0.15206428, -0.12681007, 0.14895032, 0.12339962) * go_3(1.0, 0.0); + result += mat4(0.08066341, -0.14773634, -0.0212227, -0.014011867, -0.048505764, 0.075407125, -0.020620076, 0.0003291325, -0.21815202, -0.23136546, 0.10853532, -0.036058456, 0.10952532, -0.052677035, -0.13005799, 0.18398996) * go_3(1.0, 1.0); + result += vec4(0.022609137, -0.028548084, 0.024431901, 0.010504478); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.069641694, 0.104958326, 0.14786446, 0.027633663, -0.004279524, -0.020451711, 0.0883571, -0.016224537, 0.13585235, 0.11078269, 0.20198658, -0.042161036, 0.020466218, 0.20994963, 0.20072585, -0.028024657) * go_0(-1.0, -1.0); + result += mat4(0.050872434, 0.12874635, 0.1298729, 0.115810685, 0.07087254, 0.09885682, 0.23018982, 0.19187538, 0.10953604, 0.0033836907, -0.13325337, 0.09830315, -0.06528767, 0.05096927, -0.016355392, -0.039334368) * go_0(-1.0, 0.0); + result += mat4(0.027010268, 0.018263958, 0.0360758, 0.016791478, 0.2815702, 0.15517488, 0.43415815, 0.044976447, -0.0070842914, -0.12546758, 0.16874593, 0.077622116, 0.02252915, 0.1769774, 0.07181055, -0.15128697) * go_0(-1.0, 1.0); + result += mat4(0.057129618, 0.118046716, 0.07237424, -0.07842637, -0.044214778, -0.12886304, 0.08603301, -0.10416606, -0.15852053, 0.3788151, 0.26181692, -0.09092249, 0.31635332, 0.064212754, 0.21923725, 0.07500004) * go_0(0.0, -1.0); + result += mat4(-0.16981383, 0.044409662, -0.3717617, -0.031610407, 0.03658662, -0.09459229, -0.09449437, -0.014000666, -0.19656453, 0.03934163, -0.16304104, -0.12761801, -0.06235523, 0.16438273, -0.036933117, -0.095564745) * go_0(0.0, 0.0); + result += mat4(0.09725091, 0.034022827, 0.17699842, 0.1079676, -0.13236652, 0.03718181, -0.06968635, -0.23288171, 0.10275666, 0.08464966, -0.37162134, -0.35782215, -0.11023659, 0.2519236, -0.035197742, -0.019324787) * go_0(0.0, 1.0); + result += mat4(-0.09968464, 0.01102193, 0.0073735216, 0.011999313, -0.004998707, 0.09518938, 0.045727003, -0.21544908, 0.006879454, -0.06398254, -0.12584935, -0.06759933, -0.0820037, -0.07775104, 0.021957919, -0.122708224) * go_0(1.0, -1.0); + result += mat4(-0.08869767, 0.031296413, -0.0034280645, 0.13778855, 0.10073061, -0.08393937, -0.032959275, -0.0500518, 0.010908757, -0.09189417, -0.057760105, 0.17652664, -0.08729078, -0.09639096, -0.25654703, 0.055152636) * go_0(1.0, 0.0); + result += mat4(0.0027847723, -0.12885433, 0.038065907, 0.17450769, 0.0864409, 0.04592345, -0.015443841, 0.077010944, 0.08967368, 0.06800111, -0.23636387, 0.35023567, 0.03165923, 0.03132063, 0.17964344, 0.035610788) * go_0(1.0, 1.0); + result += mat4(-0.032017227, -0.0022808525, -0.08470573, 0.05332408, -0.14674746, 0.025374275, -0.018281924, 0.041163016, 0.00096549373, 0.014724006, 0.004913065, 0.18494442, 0.034953076, -0.15731992, -0.13792977, 0.08041999) * go_1(-1.0, -1.0); + result += mat4(0.08305006, 8.6318905e-05, -0.007895379, 0.02731387, -0.061324496, 0.050034665, 0.22662131, -0.013876427, -0.074468784, -0.008136604, -0.23337875, -0.1742574, 0.011753501, -0.11666686, -0.22541048, -0.14549944) * go_1(-1.0, 0.0); + result += mat4(-0.028333234, 0.121047184, 0.06720256, -0.058930036, 0.030258363, 0.07292774, 0.06455556, 0.0019076486, 0.0073987027, 0.17144889, 0.06084024, -0.08762086, -0.114422195, -0.16595861, -0.08706028, -0.10736261) * go_1(-1.0, 1.0); + result += mat4(-0.02519315, -0.14611271, 0.0388848, 0.19481422, -0.05970354, -0.08391417, 0.18982239, -0.10447052, 0.15587378, -0.023997072, 0.0781739, 0.2182389, -0.023886079, -0.1422596, -0.13352804, 0.005008043) * go_1(0.0, -1.0); + result += mat4(0.08842712, -0.100292705, 0.18925671, 0.12198875, 0.061771665, -0.04473232, 0.025053164, 0.039047796, -0.1672479, -0.08934517, 0.33099812, -0.20269585, -0.21640155, -0.22029749, 0.16539703, -0.2442679) * go_1(0.0, 0.0); + result += mat4(-0.16332205, -0.101898365, 0.02919932, -0.11900455, 0.14442924, 0.0916815, 0.037550304, 0.024123482, 0.02042624, 0.033472955, -0.059437107, -0.18735693, -0.013749093, -0.06199881, -0.08685079, 0.04252364) * go_1(0.0, 1.0); + result += mat4(-0.09047013, -0.055188328, -0.09106191, -0.048969727, 0.05114009, -0.12753403, 0.07116141, 0.060749624, -0.074034564, -0.21952136, -0.09479503, 0.2753584, -0.014141759, -0.14883812, -0.0673838, -0.012279045) * go_1(1.0, -1.0); + result += mat4(0.013816464, -0.0747162, -0.19202435, -0.064403646, 0.34980014, 0.04375546, 0.20264609, 0.006684355, 0.11523799, 0.024674915, -0.08697566, -0.04662527, -0.12743855, -0.39463726, 0.0057380227, 0.01286557) * go_1(1.0, 0.0); + result += mat4(-0.08146522, 0.074080914, -0.16856177, -0.183158, 0.19228102, 0.12373886, 0.017574452, -0.01753772, 0.045071773, 0.07725093, 0.023422163, -0.011545186, 0.20751388, -0.10795588, 0.07606346, 0.10282933) * go_1(1.0, 1.0); + result += mat4(0.12512013, -0.102208994, -0.09125398, 0.12043188, -0.066011876, 0.08831903, -0.017038671, -0.005541508, -0.049607087, 0.08654939, -0.02037085, 0.26887566, 0.005012545, 0.01869507, -0.013064982, -0.010649147) * go_2(-1.0, -1.0); + result += mat4(0.006824864, -0.05071593, -0.20786697, -0.07327317, 0.011382597, 0.030494886, -0.04754353, -0.018284699, 0.01305972, -0.036589053, 0.26637617, 0.021887446, -0.026669119, -0.037982125, -0.063445956, -0.009104248) * go_2(-1.0, 0.0); + result += mat4(0.032602567, 0.07094331, 0.052653246, 0.08342047, -0.085082285, -0.14674088, -0.23073354, -0.07915851, 0.0017120204, 0.032407638, -0.039819505, 0.16942178, 0.023192152, -0.0353237, 0.10930186, 0.22939779) * go_2(-1.0, 1.0); + result += mat4(0.0010455973, -0.11821993, -0.12639599, 0.12250084, -0.12756817, 0.11478416, -0.1862587, 0.016819192, 0.02110181, -0.25492984, -0.1766048, 0.22188173, -0.21305011, 0.113442205, 0.04599144, -0.15840286) * go_2(0.0, -1.0); + result += mat4(-0.15086032, -0.17428935, 0.39080557, 0.07576757, 0.121703945, 0.17944208, -0.003140103, -0.11231332, 0.12102969, 0.15310267, 0.17578171, 0.40631834, -0.21299168, 0.024928993, 0.030104794, 0.020753227) * go_2(0.0, 0.0); + result += mat4(-0.098734386, -0.020072265, -0.14308836, -0.08490801, 0.017175158, 0.02250534, 0.04060829, 0.033022214, 0.0046218676, 0.17923212, 0.0112105915, 0.09574084, 0.14819936, -0.14692923, 0.12634254, 0.060762513) * go_2(0.0, 1.0); + result += mat4(0.030521613, -0.097913325, -0.016720278, 0.11273997, 0.013019863, -0.06557118, 0.0405774, 0.0915019, 0.022414956, -0.053254984, 0.18639986, 0.07820968, 0.06498986, 0.058922634, -0.02240318, -0.086019725) * go_2(1.0, -1.0); + result += mat4(0.2058775, 0.01502064, 0.05847032, 0.007249146, 0.086483665, 0.19420148, 0.03892261, -0.013546935, -0.07980237, 0.04347281, -0.10376214, -0.1366535, 0.05285337, 0.07213318, 0.3642818, -0.11331124) * go_2(1.0, 0.0); + result += mat4(-0.025740806, 0.14551482, -0.037410017, -0.17477523, -0.11853099, -0.060820814, -0.102599286, -0.13267937, -0.103053465, -0.014044828, -0.01888072, -0.06499249, 0.22311528, -0.051850274, -0.034120858, 0.044562567) * go_2(1.0, 1.0); + result += mat4(-0.21360217, 0.10093803, -0.0016407765, -0.1473997, 0.26524043, 0.02112132, 0.23173104, -0.013157391, 0.05945182, 0.044635538, 0.06031638, -0.21435826, -0.10147484, 0.069090195, 0.09641844, -0.09581093) * go_3(-1.0, -1.0); + result += mat4(-0.08576515, -0.122861005, 0.049567085, -0.085854456, 0.23809357, -0.024966082, -0.10294079, 0.046241313, 0.008621132, -0.08323767, 0.20277941, 0.163423, -0.07386535, -0.088738985, 0.05274358, -0.025479877) * go_3(-1.0, 0.0); + result += mat4(-0.041135542, -0.008365642, 0.17088248, 0.04025207, 0.13809255, -0.056895368, -0.01582834, 0.07361908, -0.00068995473, -0.09300962, 0.19117641, 0.24832036, -0.06572358, -0.026025, -0.019093119, -0.049720034) * go_3(-1.0, 1.0); + result += mat4(0.024900286, 0.11525501, 0.025882801, 0.037742402, 0.36976853, 0.052211333, -0.15143296, 0.1802276, -0.059080046, 0.017990451, 0.026395092, -0.12689115, -0.07705386, 0.1232379, 0.13273561, -0.12521964) * go_3(0.0, -1.0); + result += mat4(-0.19788785, 0.044887315, 0.07663442, 0.16688696, -0.2842248, -0.15684547, 0.028387763, 0.0063470444, -0.012245601, -0.038382255, -0.8187406, -0.25245667, 0.23014604, 0.22746666, 0.1594356, 0.16469443) * go_3(0.0, 0.0); + result += mat4(-0.12663333, 0.014730006, 0.03765697, 0.15704912, -0.106595434, -0.05317512, -0.081759915, -0.08797109, 0.064620756, -0.06341419, 0.16493447, 0.23102313, 0.068325415, -0.088058695, 0.16885915, 0.036382258) * go_3(0.0, 1.0); + result += mat4(0.035389822, -0.11811836, -0.035656307, -0.0680554, 0.1338908, 0.065852076, 0.023307983, 0.0675308, 0.09690683, 0.18170924, 0.09862692, -0.20964378, -0.08601271, -0.20016764, -0.01879598, -0.14629345) * go_3(1.0, -1.0); + result += mat4(-0.27183273, 0.013525998, -0.14995874, -0.23938845, -0.26218823, -0.0009874097, -0.13385512, -0.10664239, -0.048931994, 0.039898522, 0.047444753, 0.10934722, 0.10969629, 0.123539805, 0.11692802, 0.14172275) * go_3(1.0, 0.0); + result += mat4(-0.1656506, 0.019683002, 0.0221048, 0.12596753, 0.20420644, -0.07930122, 0.04653823, 0.11492255, -0.0050175437, -0.03271697, 0.013389486, 0.034583613, -0.2196601, -0.1615663, -0.013763388, -0.056037936) * go_3(1.0, 1.0); + result += vec4(-0.022956269, 0.029688787, -0.070148066, -0.07163476); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!SAVE conv2d_2_tf1 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.15104648, 0.05522861, -0.0654341, -0.053517453, -0.08264124, -0.0062249107, -0.20364265, -0.05015117, -0.18837251, 0.030655831, 0.046844713, -0.20673253, -0.14042036, -0.05655449, 0.13994302, 0.011745607) * go_0(-1.0, -1.0); + result += mat4(-0.16517559, 0.1489214, -0.09149559, 0.025003506, -0.124926426, 0.16974348, -0.020857265, 0.08017403, 0.21836148, 0.0025619378, 0.2331612, 0.085599184, -0.030934382, -0.055194855, 0.09527726, -0.10081552) * go_0(-1.0, 0.0); + result += mat4(0.041800212, 0.028859638, 0.09395546, 0.05211183, -0.038541477, 0.021495212, 0.04862346, -0.007864793, 0.038407274, -0.13841268, -0.14963801, 0.26470762, 0.16691841, -0.07262008, 0.034374326, -0.14709206) * go_0(-1.0, 1.0); + result += mat4(0.00094978884, -0.028974704, -0.0900548, -0.08401967, -0.08935931, -0.043606587, -0.14497143, -0.05226239, -0.21516493, 0.19410603, -0.089924194, -0.04335071, -0.012618276, -0.2671613, 0.020422975, -0.037739716) * go_0(0.0, -1.0); + result += mat4(-0.13403237, -0.02524383, -0.03474901, 0.054432765, 0.11946775, 0.107336655, -0.1431715, -0.13370377, 0.015087512, -0.1917613, 0.073493585, 0.2788855, -0.010510839, 0.06891479, -0.06741307, -0.05271205) * go_0(0.0, 0.0); + result += mat4(-0.15432046, 0.04021662, -0.16979513, 0.13660534, -0.10518303, -0.10095502, -0.13092068, 0.022805348, -0.16676381, -0.4273298, 0.020867536, 0.3506733, -0.29459694, -0.055828743, -0.069241956, 0.04106382) * go_0(0.0, 1.0); + result += mat4(-0.08890133, 0.07549666, -0.040735144, -0.1506932, -0.22227979, -0.0762723, -0.17766447, -0.05741318, -0.21885683, 0.2379157, -0.15525854, -0.07306285, 0.15580738, -0.04394069, -0.19175608, 0.018283797) * go_0(1.0, -1.0); + result += mat4(-0.08503275, -0.105500385, -0.114987396, -0.07166016, -0.2147138, 0.09378708, 0.24550334, -0.0834075, -0.033147786, -0.022304727, -0.31062204, 0.027651973, 0.109098755, 0.18889032, 0.1163026, 0.13863255) * go_0(1.0, 0.0); + result += mat4(0.15266588, -0.14901319, 0.033916786, 0.09381096, -0.08196443, -0.16194504, 0.035789456, 0.21234898, -0.48724765, 0.2619442, -0.11215393, 0.25061038, 0.022344576, 0.0116525125, 0.111661114, -0.15242295) * go_0(1.0, 1.0); + result += mat4(0.020475458, 0.0797404, -0.13576819, 0.009681671, 0.030504882, 0.049232908, 0.022025917, 0.16912088, -0.23914136, -0.084663324, 0.020925451, -0.1023938, 0.035916872, -0.07538111, -0.11470242, 0.15238516) * go_1(-1.0, -1.0); + result += mat4(-0.12941381, 0.08509899, -0.029489802, -0.09148447, -0.089406274, -0.116145454, -0.08979843, 0.11908148, 0.15473351, -0.21687616, 0.12607013, -0.08244334, -0.079580925, -0.16613089, -0.09287793, -0.03412643) * go_1(-1.0, 0.0); + result += mat4(-0.023578499, 0.07394217, -0.13069086, -0.1060499, -0.07559958, -0.21839201, 0.1090753, 0.0787872, 0.07677037, -0.25998843, 0.20039314, 0.046882212, 0.31871012, -0.3048051, 0.15118991, -0.00518087) * go_1(-1.0, 1.0); + result += mat4(-0.15338503, -0.11057532, 0.075839415, -0.18592294, -0.0155324, 0.038140323, -0.10498194, 0.09070477, 0.05108992, -0.047939524, -0.091004305, 0.09649005, -0.10967152, -0.051909525, -0.05314551, 0.09661584) * go_1(0.0, -1.0); + result += mat4(-0.14458802, -0.053263694, -0.0010885567, 0.23342133, 0.01918937, 0.12026143, -0.15691495, 0.30480555, -0.08725869, 0.19082253, 0.3594973, 0.016653897, 0.045152336, -0.088590585, 0.0069655925, 0.1392425) * go_1(0.0, 0.0); + result += mat4(0.17944881, -0.17950764, 0.13282645, 0.030974053, 0.32233685, 0.18067117, -0.11472813, 0.097301506, -0.047649745, -0.1053861, -0.081039384, 0.035132434, 0.10204545, 0.085582554, -0.13153993, -0.021741152) * go_1(0.0, 1.0); + result += mat4(-0.15573682, 0.16409989, -0.22574787, -0.03877603, -0.18285516, 0.11638645, 0.18321282, -0.017770218, 0.18230622, 0.16433364, -0.12795393, -0.03805153, 0.14386104, -0.0891527, -0.056928284, -0.10961495) * go_1(1.0, -1.0); + result += mat4(0.257622, 0.052519716, -0.25421762, -0.1887382, -0.083568096, -0.0064690276, -0.029110614, 0.103327505, -0.17006217, 0.2254096, -0.29366904, 0.04302887, -0.10198446, -0.24423616, 0.16781262, -0.005019004) * go_1(1.0, 0.0); + result += mat4(0.103393994, -0.059044626, -0.18192382, 0.0990813, -0.26143607, 0.11036474, 0.04788275, -0.096738026, 0.12825653, 0.13631694, -0.077904984, -0.020790676, -0.25118098, 0.122588515, -0.049440473, -0.10758222) * go_1(1.0, 1.0); + result += mat4(0.06693113, -0.13647175, 0.131139, 0.13143918, 0.081720434, 0.117537096, 0.15387627, -0.008771362, 0.08513583, 0.023794742, -0.0661625, 0.115793936, 0.0023350024, 0.02215075, -0.0494433, -0.013404977) * go_2(-1.0, -1.0); + result += mat4(0.041419264, -0.17622781, 0.028418267, 0.12114493, -0.23587078, 0.08457395, 0.014364018, -0.103271864, -0.051572207, -0.026424447, 0.16755055, -0.10763651, -0.033440586, 0.068594255, -0.050668504, 0.1941505) * go_2(-1.0, 0.0); + result += mat4(-0.2780181, 0.037816502, -0.11516711, -0.09822884, 0.13762361, -0.14317706, 0.14350282, 0.000623895, -0.08601606, 0.08118504, 0.15497385, -0.04721711, -0.008936935, -0.014223618, -0.09641698, -0.013884213) * go_2(-1.0, 1.0); + result += mat4(0.14349665, -0.03144472, -0.057813704, 0.0667044, 0.09026094, 0.051366236, 0.11139983, -0.015782114, -0.18314016, -0.18774192, 0.0014838242, 0.15759028, 0.062388215, 0.13626057, 0.02576217, -0.06317815) * go_2(0.0, -1.0); + result += mat4(0.07151769, 0.14508991, 0.1736844, -0.11487795, -0.07999805, -0.07797908, 0.037923355, -0.059138823, -0.23531209, -0.040207293, -0.068355694, -0.024296658, -0.114820175, 0.19726487, 0.21772414, 0.03659222) * go_2(0.0, 0.0); + result += mat4(0.16858695, -0.12135113, 0.009391182, -0.081519485, 0.13340487, 0.07007004, 0.094124354, 0.035519842, -0.3320139, -0.06624027, -0.14716229, -0.09205287, 0.12664132, -0.05655441, 0.0123263765, 0.04641279) * go_2(0.0, 1.0); + result += mat4(0.19018422, -0.15428329, -0.009354114, 0.04165953, 0.11024837, -0.107493006, -0.05807292, -0.048029456, 0.24319384, -0.10542357, -0.013699952, 0.06228662, -0.06808749, -0.023227982, 0.16528323, -0.05610251) * go_2(1.0, -1.0); + result += mat4(-0.008616222, 0.077674195, -0.08638503, 0.09293109, 0.072474636, 0.05004233, -0.20591061, -0.005301386, -0.15486047, 0.15038474, 0.1262478, 0.021724822, 0.02274613, -0.3088281, -0.08437887, -0.10684698) * go_2(1.0, 0.0); + result += mat4(-0.16960032, 0.09365251, -0.030414175, -0.010766254, 0.18181023, 0.12130318, 0.08913089, -0.06070321, 0.05200306, 0.092584535, 0.17694671, 0.033796314, -0.038107123, -0.04335955, -0.049443472, 0.30465958) * go_2(1.0, 1.0); + result += mat4(0.07661484, -0.009945252, 0.12866217, -0.07592757, -0.21030053, 0.014371748, -0.072458774, -0.04700072, 0.15534303, 0.2007125, -0.15699059, -0.032897495, 0.08110436, -0.11243608, 0.008632577, -0.10153441) * go_3(-1.0, -1.0); + result += mat4(-0.034697928, 0.06928288, -0.2796273, 0.14405379, 0.12248569, 0.036539096, 0.06607706, 0.077684596, -0.16473202, 0.1665916, -0.29977503, 0.21047153, 0.13114224, -0.091579035, -0.045458574, 0.03254245) * go_3(-1.0, 0.0); + result += mat4(0.053284872, 0.053366095, -0.26152626, -0.03123967, -0.031794485, 0.17670582, -0.07450994, 0.017521491, -0.040290453, 0.38342363, -0.25021288, -0.014660264, 0.1621895, 0.25041878, -0.12124821, 0.068036206) * go_3(-1.0, 1.0); + result += mat4(0.11366693, -0.030863572, -0.07411263, 0.12475283, -0.046070684, -0.09033321, 0.013222701, 0.06798592, -0.32814804, 0.057653826, -0.14082801, -0.00217398, -0.22856179, -0.19058353, -0.20992154, -0.03701372) * go_3(0.0, -1.0); + result += mat4(0.20345633, -0.1332355, 0.27152926, -0.13477845, -0.25242096, -0.28281286, 0.31289554, 0.14284514, 0.53362453, -0.46766588, 0.4518293, -0.39291728, -0.3573227, -0.014670052, 0.0051881406, 0.16552156) * go_3(0.0, 0.0); + result += mat4(-0.15017267, -0.07792945, -0.204405, 0.13964304, -0.13642666, -0.10228306, 0.03238279, -0.08689329, -0.072262034, -0.0258388, 0.05689183, 0.055701543, -0.19800112, 0.012217054, -0.033292748, -0.047611095) * go_3(0.0, 1.0); + result += mat4(-0.014704416, -0.12203891, 0.066083655, -0.1409769, 0.0041513643, -0.087383606, -0.17498164, 0.11327789, -0.25947225, -0.0016027623, 0.08202566, 0.042270098, 0.006429511, -0.26576808, -0.08461341, 0.049376782) * go_3(1.0, -1.0); + result += mat4(0.0695189, -0.14753938, 0.09578246, -0.16607563, -0.0105561055, 0.17166016, 0.027422488, -0.14175262, -0.009492696, -0.23449713, 0.018270867, 0.14635146, 0.33451268, 0.030959005, -0.46468422, 0.024256868) * go_3(1.0, 0.0); + result += mat4(-0.16865666, -0.00015881563, -0.054488145, -0.06222717, -0.032101758, 0.06485387, -0.0028512608, 0.046645947, 0.017593225, -0.19447896, -0.024742266, 0.03970127, 0.29845607, -0.16168733, 0.035172883, 0.07924657) * go_3(1.0, 1.0); + result += vec4(0.103826486, 0.045373913, 0.11565896, -0.06568643); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.1851775, 0.053705044, 0.033816848, -0.018555025, -0.21204336, -0.01706974, 0.088259794, -0.13126148, 0.10729598, -0.043457437, 0.08634712, 0.09220895, 0.062131613, -0.01995871, 0.05181067, 0.18520063) * go_0(-1.0, -1.0); + result += mat4(0.1662002, -0.14197104, -0.052809287, 0.025287712, -0.08330898, -0.08998097, -0.15642618, -0.14941245, -0.03481203, 0.061857622, 0.26051775, -0.0005498248, 0.086427025, 0.024108192, -0.12418039, 0.022286376) * go_0(-1.0, 0.0); + result += mat4(0.058200672, -0.3073398, 0.17150162, -0.13394679, -0.075118184, -0.14607768, -0.006172172, 0.007731589, -0.21818224, -0.06449433, -0.038958784, 0.037722416, 0.28699976, -0.027563032, 0.23295315, 0.028444216) * go_0(-1.0, 1.0); + result += mat4(0.12871371, 0.0064904913, 0.14985761, -0.10923005, 0.17413563, 0.1599109, -0.08457703, 0.108153716, -0.08871187, -0.06661137, 0.2754416, -0.009667768, 0.39819396, 0.12392097, 0.14145902, 0.0019376524) * go_0(0.0, -1.0); + result += mat4(0.13893189, 0.12715353, 0.015191678, -0.21003054, -0.030412354, -0.01676613, -0.19799289, -0.006130075, 0.37676954, -0.14475077, -0.2065198, -0.30432892, -0.14944535, -0.09121536, -0.107600585, -0.24462196) * go_0(0.0, 0.0); + result += mat4(-0.11653076, -0.0068671284, -0.02249137, -0.17877012, -0.15063138, -0.13514869, 0.107643366, -0.03196477, -0.086422764, 0.3079287, 0.17584166, -0.032449376, -0.06917114, -0.2682637, -0.18978168, -0.037039287) * go_0(0.0, 1.0); + result += mat4(0.12014731, -0.030360512, -0.12954475, -0.110275604, -0.077214256, 0.019689744, 0.22149551, -0.002266716, 0.09697784, -0.124532826, -0.16776511, -0.034212478, -0.36935154, 0.016926935, 0.1363609, 0.20415346) * go_0(1.0, -1.0); + result += mat4(-0.11199535, -0.001692563, -0.09058429, -0.08437503, 0.092625685, 0.06046257, 0.25509837, -0.011657033, -0.17949764, -0.10718947, -0.1180669, -0.24681842, -0.1747311, 0.0014518246, -0.042863015, 0.06103357) * go_0(1.0, 0.0); + result += mat4(0.14979295, -0.037154514, 0.01957725, 0.012282435, 0.09168596, -0.05552286, 0.111671515, 0.0078630615, -0.10319766, -0.06416261, -0.23097566, -0.13931875, 0.2110811, 0.013095802, -0.2306504, -0.025639111) * go_0(1.0, 1.0); + result += mat4(-0.10091975, -0.10095426, -0.023449723, -0.022170888, 0.054953706, -0.13049407, 0.08289061, 0.023241632, 0.08735388, -0.0058387457, 0.17897247, 0.011434436, 0.008181139, -0.0034718404, -0.015372735, -0.07657766) * go_1(-1.0, -1.0); + result += mat4(-0.023442164, 0.07535702, 0.024391165, -0.050532013, 0.044168636, 0.0062343236, -0.019756999, -0.009695123, 0.10102337, 0.0052776975, -0.14944167, -0.060957722, 0.24367364, -0.08069369, 0.12170072, -0.047048368) * go_1(-1.0, 0.0); + result += mat4(-0.18376935, -0.08407229, -0.12943378, 0.0738419, -0.12404976, -0.13367929, 0.11265896, -0.021353, 0.003783386, 0.50088304, 0.14058582, 0.041053623, 0.038247623, -0.014179976, 0.007905778, -0.042492237) * go_1(-1.0, 1.0); + result += mat4(-0.046272535, 0.052449115, 0.17190954, -0.004745371, -0.045572635, -0.09292636, 0.36309823, 0.16673928, -0.099154025, -0.109614775, 0.17803112, 0.19907133, -0.14306267, 0.06898593, 0.11493454, 0.06795014) * go_1(0.0, -1.0); + result += mat4(0.26181114, -0.044014625, -0.21605036, -0.08646438, 0.21038742, -0.084986, 0.0504626, 0.17514943, -0.25218952, -0.18691514, 0.057650108, 0.08653614, -0.101205684, 0.03176334, 0.18569492, 0.17973189) * go_1(0.0, 0.0); + result += mat4(-0.0339215, 0.20112811, -0.12986277, 0.028961731, -0.056813832, 0.04451147, -0.07827432, -0.0860976, 0.096853435, 0.3483546, -0.35758162, -0.11749375, -0.035918653, 0.06140711, -0.08520154, 0.02418808) * go_1(0.0, 1.0); + result += mat4(-0.09643022, -0.10491069, 0.0068604187, 0.023679713, 0.096521445, -0.29323488, 0.33353668, 0.112864286, -0.1172182, -0.07233183, 0.06607239, 0.08589609, 0.055790007, 0.14396138, -0.14191268, 0.00034840964) * go_1(1.0, -1.0); + result += mat4(0.15357164, -0.038462736, 0.08143956, 0.1744909, 0.40503287, -0.114508316, 0.003937322, 0.2536635, -0.042445306, -0.15622465, 0.09155284, 0.010992155, -0.20646071, 0.022801135, 0.08894491, 0.069300614) * go_1(1.0, 0.0); + result += mat4(-0.12663515, 0.023849454, -0.053604446, 0.12082873, -0.247968, -0.020969635, -0.03831894, -0.014617553, 0.22630337, 0.037801865, 0.052950703, 0.04285706, -0.14487264, 0.20786528, -0.08719664, 0.1752347) * go_1(1.0, 1.0); + result += mat4(-0.073527604, -0.050752833, 0.051830504, 0.32868716, 0.17474994, 0.016937364, -0.08792601, -0.024481766, -0.022229593, 0.030706186, 0.09213566, -0.076506205, 0.073404044, 0.10368055, -0.175889, -0.08453031) * go_2(-1.0, -1.0); + result += mat4(-0.06838216, 0.007698341, 0.063972116, -0.015604406, 0.16135305, 0.18044342, 0.024137018, -0.23326185, 0.13235588, -0.009096587, -0.058368143, -0.077040404, 0.0011419816, -0.09246194, 0.061036937, 0.049564146) * go_2(-1.0, 0.0); + result += mat4(0.023225296, -0.00060856267, -0.07775185, 0.016958566, -0.2641349, -0.08263046, -0.15350416, -0.30203494, 0.113956556, -0.010813236, -0.017738314, -0.13689043, -0.10318342, 0.025793184, -0.010336172, 0.09733422) * go_2(-1.0, 1.0); + result += mat4(-0.04462596, 0.052866418, -0.34754288, 0.05540498, -0.24492586, -0.32016864, 0.18145293, 0.24873725, 0.32388234, -0.034801524, -0.1347588, -0.07565546, 0.015183539, 0.05059595, 0.08090056, 0.05930932) * go_2(0.0, -1.0); + result += mat4(0.045346696, -0.052527856, 0.052270077, 0.13417454, 0.05200045, 0.028119288, 0.005115497, 0.22952151, -0.2158375, 0.12241308, 0.3507457, 0.08616576, 0.07592416, 0.28470486, 0.3432788, 0.24857087) * go_2(0.0, 0.0); + result += mat4(0.21311626, 0.052607164, 0.1248861, 0.20193806, 0.045226507, 0.14512901, -0.15103437, -0.17926466, 0.11657411, -0.32711068, -0.16332194, -0.07793982, -0.21802668, 0.5183869, -0.13567342, 0.07823041) * go_2(0.0, 1.0); + result += mat4(0.00796368, 0.048073012, -0.14537893, -0.021708772, 0.036246423, 0.1062395, 0.12605369, 0.007073524, -0.1572743, 0.07439501, 0.089162275, -0.0039608316, 0.332032, -0.05461242, -0.17615359, -0.10240517) * go_2(1.0, -1.0); + result += mat4(0.20636982, -0.0024615112, -0.10625786, 0.024270926, 0.061810836, -0.13585201, -0.16581286, 0.23549418, 0.01928842, 0.07404979, -0.054449487, 0.04096373, 0.046939734, 0.003980803, 0.02111498, 0.064925276) * go_2(1.0, 0.0); + result += mat4(0.10485388, 0.06850885, -0.11292169, 0.16991565, -0.15282536, 0.124175504, -0.050431166, -0.06689582, -0.00059811946, 0.033696912, 0.11055047, 0.033060126, -0.17472714, 0.0048819613, -0.04478706, -0.1344572) * go_2(1.0, 1.0); + result += mat4(-0.20473132, 0.056477875, 0.059559986, 0.115130566, -0.058425788, -0.035971727, 0.08334707, -0.096510135, -0.23206294, 0.10635798, -0.21575621, -0.07063254, 0.03877511, -0.107549034, 0.22248401, 0.21702304) * go_3(-1.0, -1.0); + result += mat4(-0.02557767, 0.09886609, -0.100499466, 0.16687396, -0.084830604, 0.03150401, -0.049512494, 0.05595696, -0.13193256, -0.08585273, 0.14247662, 0.12290477, -0.07168309, 0.14531752, -0.048359327, 0.27716598) * go_3(-1.0, 0.0); + result += mat4(0.13297586, 0.20674329, 0.14469388, 0.08981846, -0.004231366, -0.02819193, 0.15470329, 0.17299837, 0.113062344, -0.22716297, -0.21754944, -0.00083956274, -0.14160508, 0.1808253, 0.11268379, 0.27335623) * go_3(-1.0, 1.0); + result += mat4(0.07497518, -0.06799594, -0.018158078, -0.00038999433, -0.15169668, -0.06928238, -0.33672288, -0.105485775, 0.33106267, 0.06698315, 0.019718744, -0.06810211, -0.35186404, -0.29145968, -0.056863394, 0.21498048) * go_3(0.0, -1.0); + result += mat4(-0.013215512, -0.24763754, 0.20965266, 0.1068435, -0.13234195, 0.053566497, 0.05061848, -0.28645232, 0.15518288, 0.23247199, 0.017553907, -0.25181335, -0.048030723, -0.06663929, -0.111026704, -0.12663394) * go_3(0.0, 0.0); + result += mat4(-0.010501938, -0.17995767, 0.06010859, 0.050185587, 0.108627126, -0.101203434, 0.07558728, 0.060466755, -0.106942676, -0.35854608, 0.16015992, 0.16823332, -0.06543775, -0.37310675, 0.014043972, -0.18328045) * go_3(0.0, 1.0); + result += mat4(0.09712849, 0.013983463, 0.07291423, 0.031715546, 0.030862397, 0.045510456, -0.22066842, 0.063464865, 0.11721659, -0.10596602, -0.20611264, 0.052158818, -0.3961766, -0.03781582, 0.17633812, 0.1316111) * go_3(1.0, -1.0); + result += mat4(-0.25029674, 0.07153423, -0.35125682, -0.18255402, -0.19569087, 0.00432772, -0.0969035, -0.24648514, -0.0040922165, 0.037500706, -0.038137026, 0.056214277, -0.048258524, 0.03567822, -0.05033007, -0.24696785) * go_3(1.0, 0.0); + result += mat4(-0.03465209, -0.012495964, 0.22782089, 0.012034795, 0.2916752, 0.08264436, 0.15387125, -0.1473455, -0.15614432, 0.05536727, -0.027079755, 0.010725311, -0.03325222, -0.089212805, -0.10559839, -0.19647683) * go_3(1.0, 1.0); + result += vec4(0.0001705175, -0.031081453, 0.010100773, -0.027214011); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.026301445, -0.021575214, 0.22165509, 0.059994068, 0.03341161, 0.1831188, 0.20342293, 0.110160105, 0.03908121, 0.020673111, 0.07239561, 0.038754333, 0.15266368, 0.16526422, 0.062376205, -0.09759537) * go_0(-1.0, -1.0); + result += mat4(0.19817191, 0.10267733, 0.17744653, 0.23283184, 0.18810122, 0.2708428, -0.12651879, 0.020756349, 0.039632563, -0.22201295, 0.04873703, 0.09159713, 0.13838065, 0.21169297, 0.30816007, 0.044463675) * go_0(-1.0, 0.0); + result += mat4(-0.27859214, 0.07277634, 0.0021458792, 0.0089682285, -0.069680706, 0.090415835, -0.057762265, 0.18703683, -0.03514389, -0.102816254, -0.036509827, 0.038066104, -0.0168311, 0.094478935, 0.04079697, -0.049064912) * go_0(-1.0, 1.0); + result += mat4(-0.20913245, -0.110538535, -0.08584027, -0.1222067, 0.05414807, -0.045247085, 0.07351766, -0.002078549, -0.1270987, -0.10164512, -0.1857815, 0.08845066, -0.03743333, -0.098948084, 0.21244387, 0.10441866) * go_0(0.0, -1.0); + result += mat4(0.015990427, 0.36396438, -0.24094687, 0.30236533, -0.13271736, 0.06057376, -0.19678196, -0.28577125, -0.25427434, -0.08400598, 0.07284403, -0.18552442, -0.16425897, 0.097259276, -0.32386774, -0.2190484) * go_0(0.0, 0.0); + result += mat4(-0.004581924, -0.13954072, -0.122360416, 0.14132866, -0.08529257, -0.013296556, 0.0848472, 0.09336581, 0.10332182, -0.016313016, 0.07103558, 0.032564916, -0.13478759, -0.20207484, 0.12986964, 0.1219679) * go_0(0.0, 1.0); + result += mat4(0.09817874, -0.10573357, 0.100535244, 0.19608764, -0.13303067, 0.024192972, -0.030689823, 0.02574889, 0.051233094, 0.03489235, -0.18465245, -0.06943822, -0.031604882, 0.1519888, 0.09348508, 0.09187296) * go_0(1.0, -1.0); + result += mat4(-0.21365458, -0.23696984, 0.13097638, -0.09435498, 0.16467983, -0.066370346, 0.1269104, -0.095128186, 0.09954892, 0.12489504, -0.43418056, 0.106512725, -0.17860703, -0.07114084, -0.07630834, -0.26642478) * go_0(1.0, 0.0); + result += mat4(-0.009044342, 0.02711196, -0.14873673, 0.015405045, 0.0071443473, -0.025285944, 0.07409282, 0.06338527, 0.0149676185, 0.011741382, -0.2133069, -0.028912885, 0.19420496, 0.039629057, 0.057636812, 0.15214856) * go_0(1.0, 1.0); + result += mat4(0.07629928, 0.25540486, -0.050925937, -0.18136702, 0.02261603, 0.22343902, 0.003270321, 0.10735731, -0.12541203, -0.10208828, 0.012832783, 0.2591262, 0.08122926, -0.009837677, 0.10308358, 0.19236866) * go_1(-1.0, -1.0); + result += mat4(0.0896358, 0.27571487, 0.04406029, -0.047453407, -0.08587119, 0.16366854, 0.20622262, 0.08347545, -0.3501584, -0.28434548, -0.07592983, 0.09098784, 0.07605388, 0.09677056, 0.0015295541, 0.05102585) * go_1(-1.0, 0.0); + result += mat4(0.18255898, 0.18618028, 0.0017002645, -0.013004655, -0.06436534, 0.13967068, 0.063077755, -0.10632303, -0.20803222, -0.028537111, -0.03144366, -0.08555215, 0.05154303, 0.02431626, 0.15246728, -0.013708507) * go_1(-1.0, 1.0); + result += mat4(-0.020998938, -0.05026291, 0.03700117, 0.00830308, -0.1949294, 0.0026698054, -0.034649856, 0.19784226, -0.083901435, -0.069783084, -0.1504053, 0.16595264, -0.07480141, 0.16067508, 0.06010996, -0.021359695) * go_1(0.0, -1.0); + result += mat4(-0.040828142, -0.20158486, 0.034770954, -0.1894161, 0.11665004, 0.29729164, -0.10584386, 0.13165873, -0.18863006, -0.26719162, -0.047613148, -0.12728356, -0.2033613, 0.10550052, 0.20095508, -0.11275811) * go_1(0.0, 0.0); + result += mat4(-0.0785033, -0.1896073, -0.051492307, -0.1694358, 0.1368308, 0.049355216, -0.05707422, 0.079159185, 0.024578957, -0.0923136, 0.089215435, 0.28670043, 0.027932687, 0.06510816, 0.10810999, 0.05990052) * go_1(0.0, 1.0); + result += mat4(0.08135192, 0.0001326522, -0.16098668, -0.18663193, -0.10280192, 0.078255914, 0.047648013, 0.08326376, 0.055962667, 0.06302574, -0.080121025, -0.031820554, -0.019117938, 0.12515336, 0.09794088, -0.03276838) * go_1(1.0, -1.0); + result += mat4(0.280923, 0.24079335, 0.007883573, 0.06270414, 0.3055441, 0.19291803, -0.16041607, 0.14836526, 0.0013885222, 0.04538063, 0.10742898, -0.064491205, 0.048174977, 4.237692e-05, -0.15194727, 0.024381457) * go_1(1.0, 0.0); + result += mat4(-0.0009164131, -0.031949926, 0.0076425644, -0.036870714, -0.0031292974, 0.017726978, -0.20172147, -0.0770472, 0.26379177, 0.108997814, 0.08069395, 0.2126177, 0.012075376, -0.029457828, 0.062730506, -0.15754452) * go_1(1.0, 1.0); + result += mat4(0.09167904, -0.2657421, -0.03443356, 0.03315832, -0.015365421, -0.1029612, -0.108251, 0.04261033, -0.097120754, -0.05616668, -0.09275983, 0.024902184, 0.050058514, -0.013761632, 0.07555132, -0.0046676896) * go_2(-1.0, -1.0); + result += mat4(-0.10743835, -0.0007361781, -0.042085417, -0.08237517, -0.10094376, -0.24007876, 0.13924706, -0.07526801, 0.01158322, 0.15491122, 0.0069442675, -0.004242352, 0.11429785, 0.02994726, -0.11829945, -0.04108612) * go_2(-1.0, 0.0); + result += mat4(0.073622055, -0.064717196, -0.0025231615, 0.13256475, 0.20159899, 0.047977835, -0.10289233, -0.18419135, -0.00888952, 0.059428576, -0.053062655, -0.02730631, 0.14545685, -0.08686949, 0.17454128, 0.035443828) * go_2(-1.0, 1.0); + result += mat4(-0.010146019, 0.06712568, 0.12614638, 0.023590917, 0.025756737, 0.06603747, -0.17108095, -0.06179699, 0.027241204, -0.13196802, 0.043475866, -0.0397495, 0.05306092, 0.035672903, 0.047219284, -0.16680142) * go_2(0.0, -1.0); + result += mat4(0.079427816, -0.06716479, 0.19028603, -0.19694683, -0.061598092, -0.07471188, 0.21170339, 0.30140215, -0.0023369973, 0.04688297, -0.14154115, 0.19283508, 0.1339858, -0.09116279, 0.15305163, 0.029108394) * go_2(0.0, 0.0); + result += mat4(-0.14902157, -0.03339153, -0.08532003, -0.10736339, 0.08702709, 0.07607574, -0.09955836, -0.016585784, -0.030078214, -0.060374748, -0.2854279, 0.02441719, 0.034877967, 0.2099041, 0.11125731, -0.059071556) * go_2(0.0, 1.0); + result += mat4(-0.08436325, 0.06893047, -0.045362443, -0.02237741, -0.07583875, -0.034830183, -0.024008518, -0.2882329, -0.011109783, 0.101859994, 0.091137715, 0.0020565533, -0.044729806, -0.18168025, 0.069466636, 0.04994174) * go_2(1.0, -1.0); + result += mat4(0.11915174, 0.089596465, -0.18965814, 0.015218237, 0.13500094, 0.19921367, -0.008298205, 0.29650384, -0.049439427, -0.27590424, 0.36169067, -0.030582754, 0.02151196, 0.019915426, 0.04543398, 0.16126189) * go_2(1.0, 0.0); + result += mat4(0.1620274, -0.08264547, 0.082442135, -0.0034478644, 0.09888509, -0.0034957859, -0.107241705, -0.17729597, -0.05138647, 0.02052103, -0.019507123, 0.037574988, -0.1694345, 0.17871588, -0.22510391, 0.019049853) * go_2(1.0, 1.0); + result += mat4(-0.10962245, -0.1329873, -0.060855392, 0.025941676, -0.19536193, -0.120365486, -0.04313703, -0.052912965, 0.20854498, 0.08341353, 0.008687068, -0.20432276, 0.15677948, -0.19000018, 0.01821201, -0.041512605) * go_3(-1.0, -1.0); + result += mat4(0.012287526, -0.14180368, -0.098788455, 0.025949089, 0.09442778, 0.2247651, -0.12453263, 0.10435483, 0.274603, 0.06133054, 0.10506106, 0.14727746, -0.048299775, -0.082819685, 0.07319359, -0.047460355) * go_3(-1.0, 0.0); + result += mat4(-0.070726536, -0.034744017, 0.07521428, 0.070649154, -0.05958955, -0.100232825, -0.010651838, 0.045392875, 0.2930271, -0.04952355, 0.3112155, 0.117203265, 0.025166962, 0.11176862, 0.06716659, 0.07175864) * go_3(-1.0, 1.0); + result += mat4(-0.011560962, -0.14032063, -0.17424704, 0.07652749, -0.04220116, 0.052874275, -0.00225693, -0.031843517, -0.07520102, -0.13775803, 0.2449317, 0.069658786, 0.052280303, -0.105218224, 0.03574522, -0.020500354) * go_3(0.0, -1.0); + result += mat4(0.08793712, 0.26712346, 0.08315631, 0.23813692, -0.04439029, 0.031587064, 0.09561177, -0.13380238, -0.24982157, 0.31701845, -0.3875432, 0.10487225, 0.09201869, -0.037252493, -0.006935219, -0.14650282) * go_3(0.0, 0.0); + result += mat4(0.077635325, 0.13732299, -0.071563005, 0.096517466, -0.15051986, -0.111744404, 0.03996857, -0.052670125, -0.1819665, 0.054554947, -0.13774712, -0.20061246, -0.0023742192, 0.15647805, -0.024121126, 0.075497724) * go_3(0.0, 1.0); + result += mat4(0.0073632775, -0.06535298, 0.039895996, 0.20666869, 0.13625242, 0.04823007, -0.07135618, 0.04787906, 0.01383074, 0.15382123, -0.15519714, 0.056721795, 0.061946746, -0.0586851, 0.028934354, -0.02264129) * go_3(1.0, -1.0); + result += mat4(-0.19791882, -0.111910924, -0.010451344, -0.30566537, -0.1416239, -0.14523096, 0.116883226, -0.18241516, 0.2680614, -0.18487626, 0.17472346, 0.08346682, -0.14510359, -0.029229192, -0.005879142, 0.050247498) * go_3(1.0, 0.0); + result += mat4(0.030153519, -0.092469186, -0.022912916, 0.10200855, -0.04237032, -0.05917764, 0.10479645, -0.05619482, -0.18949397, -0.019547248, 0.013868889, -0.1524476, 0.14048979, -0.032521486, 0.1322921, 0.070972025) * go_3(1.0, 1.0); + result += vec4(0.012053958, -4.6962363e-05, 0.0020099226, -0.033494607); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.06738501, 0.034009207, -0.21538448, 0.14296548, 0.12896985, -0.23526315, -0.08848608, 0.019602662, 0.14937137, 0.11353096, 0.11884168, -0.016765572, 0.030985225, 0.046430565, 0.06614828, -0.19202724) * go_0(-1.0, -1.0); + result += mat4(-0.10326068, 0.11014975, 0.17069744, -0.21474148, 0.16761585, 0.13434832, -0.101021074, 0.006307025, 0.07478008, -0.1060066, 0.035315692, 0.033488914, -0.24906659, 0.06269967, 0.11120735, -0.040928528) * go_0(-1.0, 0.0); + result += mat4(0.09334615, 0.057705753, 0.12213245, -0.06402275, 0.30694544, 0.034585163, 0.20345578, 0.07489286, 0.07483618, -0.14240396, 0.034846418, -0.03811241, 0.010882573, 0.13204294, 0.017563924, -0.047203008) * go_0(-1.0, 1.0); + result += mat4(-0.21673942, -0.024010994, -0.10238504, -0.041160326, 0.06838163, -0.20950818, 0.06526309, -0.079094924, 0.02208821, -0.28130978, 0.086275116, -0.089067616, 0.12133826, -0.062600106, -0.020521903, -0.07654401) * go_0(0.0, -1.0); + result += mat4(-0.03055029, -0.15683146, -0.20331301, -0.06252028, 0.13350682, 0.20338707, 0.038425338, 0.1581342, -0.27322498, -0.14999662, -0.16681097, 0.0971585, -0.20014858, -0.081635274, -0.0781877, -0.20625232) * go_0(0.0, 0.0); + result += mat4(0.38375977, -0.019825654, 0.1886721, 0.22616312, 0.3402173, 0.1825304, -0.05531195, 0.30973226, -0.2676023, 0.14413352, 0.021706983, 0.01732799, 0.23466855, -0.13805965, 0.22570935, 0.018103868) * go_0(0.0, 1.0); + result += mat4(-0.15169825, 0.0270689, -0.2503316, 0.17289825, -0.16437647, 0.039233048, -0.35572487, -0.048393793, 0.19270042, 0.24260359, 0.12041881, -0.0009793913, 0.11656858, 0.11007414, -0.0757491, 0.047933612) * go_0(1.0, -1.0); + result += mat4(-0.18657999, -0.11252566, -0.05237504, -0.07368097, 0.13882741, -0.13710637, -0.006996468, -0.062354874, 0.23452504, 0.15333645, -0.0022776406, -0.17910439, 0.03629509, -0.16264829, -0.010011833, -0.15313338) * go_0(1.0, 0.0); + result += mat4(-0.060544558, -0.04913478, -0.061717357, 0.02323648, 0.28739056, -0.07434013, 0.19110644, 0.100050166, 0.0073363045, 0.08185653, -0.024797903, -0.14424153, -0.20838726, 0.16154376, -0.048517212, -0.025453888) * go_0(1.0, 1.0); + result += mat4(0.14975396, -0.13142908, 0.36210674, -0.054021083, -0.10632155, 0.045697935, -0.18946633, 0.02228141, -0.08919603, 0.09800842, -0.17634438, 0.09512711, -0.03425503, -0.12298555, -0.05354435, -0.17112055) * go_1(-1.0, -1.0); + result += mat4(0.09958265, -0.057276618, -0.16262266, -0.06415915, 0.14579074, -0.36784375, 0.08034197, -0.04537706, 0.005460582, 0.22313322, 0.07382161, 0.014990379, 0.044636846, -0.2811128, -0.22621547, -0.06044004) * go_1(-1.0, 0.0); + result += mat4(0.10569276, -0.03738662, 0.16100396, 0.058593616, -0.048862137, -0.08796426, 0.20101094, -0.11039573, 0.17196764, -0.04601554, 0.008571281, -0.073729075, 0.051433694, -0.051276565, 0.087334655, -0.0360379) * go_1(-1.0, 1.0); + result += mat4(0.011119538, -0.28781965, 0.28637868, -0.1742508, -0.07121849, 0.10379717, 0.012615981, -0.029563965, -0.18678424, 0.05291095, 0.039143506, -0.028248642, -0.014103922, 0.029155696, 0.10433492, 0.16305852) * go_1(0.0, -1.0); + result += mat4(-0.2231037, -0.13697462, -0.29124337, 0.08519773, 0.15893684, -0.17763218, 0.06950923, 0.34361118, -0.024844287, 0.044008408, -0.033844844, -0.086971916, -0.07884748, 0.2543499, 0.056884114, 0.10068364) * go_1(0.0, 0.0); + result += mat4(-0.07710048, -0.23218372, 0.04346047, 0.21769643, 0.06473219, -0.18066105, -0.2511205, 0.15309611, 0.04535977, 0.16450433, 0.10846344, 0.0016952346, -0.010874939, 0.28966382, -0.121990964, 0.12956186) * go_1(0.0, 1.0); + result += mat4(-0.007910202, 0.17766511, 0.14364475, 0.1016258, 0.0051045395, 0.18691733, 0.005813767, -0.0070582186, 0.019418601, -0.1604435, 0.016088275, -0.18265302, -0.15719391, -0.17369832, -0.036745597, -0.19647408) * go_1(1.0, -1.0); + result += mat4(0.08938396, -0.0073808245, 0.11225727, -0.012303106, 0.096785046, 0.030483445, 0.027719889, -0.052584838, -0.14887555, -0.03422243, 0.12646855, -0.1722482, 0.010239037, 0.06406088, -0.20053658, 0.01964698) * go_1(1.0, 0.0); + result += mat4(-0.120734036, -0.12450362, -0.06582111, 0.1639675, -0.19787048, -0.08049789, -0.014257596, 0.058436662, -0.0009387449, -0.08698089, -0.017400503, 0.06295286, 0.09890349, -0.057190523, -0.103520766, -0.04207548) * go_1(1.0, 1.0); + result += mat4(-0.0118413875, -0.031288836, 0.09749554, -0.012266401, -0.07998591, 0.22615653, -0.06207416, 0.03257896, -0.076378696, -0.079426095, -0.13968349, -0.15423697, -0.1091681, -0.02893125, -0.032659534, -0.063735925) * go_2(-1.0, -1.0); + result += mat4(0.119372696, 0.013176554, -0.029381052, 0.21919228, 0.045041792, 0.24844484, 0.26363325, 0.08480674, 0.087083444, 0.11984778, -0.088715754, 0.06421046, 0.05225977, -0.05140334, -0.055052705, -0.049854077) * go_2(-1.0, 0.0); + result += mat4(0.0035781674, 0.0861361, -0.07675145, -0.056479637, 0.16973391, -0.12113791, 0.10729832, -0.03773517, 0.058618728, 0.12148276, 0.17260705, -0.06968724, 0.076358154, -0.15307103, 0.17700425, -0.13467014) * go_2(-1.0, 1.0); + result += mat4(-0.02752418, -0.06366472, -0.025610954, 0.0013539721, -0.06465272, 0.0806373, -0.07336035, 0.10114861, 0.0041146413, 0.15878421, -0.044668555, -0.12150811, -0.1071482, -0.05086587, 0.18589285, 0.05065092) * go_2(0.0, -1.0); + result += mat4(0.07200056, 0.021739854, 0.29476613, -0.08475931, 0.15018553, -0.07886365, 0.36336347, -0.020576432, 0.25866082, -0.059272554, 0.054249667, -0.17822553, 0.1755872, 0.3244387, -0.39173844, 0.33894604) * go_2(0.0, 0.0); + result += mat4(-0.11570926, 0.1342677, -0.19511898, 0.0075454637, -0.01890476, -0.14239742, 0.18921931, 0.033990458, 0.31306365, -0.006998358, 0.029190077, -0.005679954, -0.15341778, 0.07766778, -0.25691047, -0.0964161) * go_2(0.0, 1.0); + result += mat4(0.019746238, 0.0021332854, -0.00879096, -0.1338671, -0.0001600663, -0.29465106, 0.0867611, -0.114963025, 0.07874301, -0.012734178, -0.11124061, -0.010926616, -0.04941506, -0.07516841, 0.116663, -0.29018974) * go_2(1.0, -1.0); + result += mat4(-0.01651721, 0.05955898, 0.023618208, 0.098695934, 0.018553663, -0.054378513, 0.1436929, 0.1693743, -0.27483663, 0.029127488, 0.09619316, -0.06109113, -0.08619361, 0.09315214, -0.02478657, 0.18544984) * go_2(1.0, 0.0); + result += mat4(0.09570196, -0.016528936, -0.1559397, 0.14312246, 0.04029428, 0.08773151, -0.043646842, 0.17894371, -0.082413055, 0.0027082344, -0.100171275, 0.01547501, 0.18122818, -0.11933676, 0.26404107, -0.3169703) * go_2(1.0, 1.0); + result += mat4(-0.12073344, 0.08683522, -0.09249099, 0.058786053, -0.14480567, -0.121013954, 0.033335857, 0.009353379, -0.055087596, -0.13002734, 0.08890566, 0.05508963, -0.0075715426, -0.15936922, -0.03968994, -0.1690259) * go_3(-1.0, -1.0); + result += mat4(0.2011206, 0.23898427, 0.23656492, 0.1287573, 0.14850396, 0.40532517, -0.107408255, 0.40119782, 0.099813245, -0.03830304, 0.101520434, -0.026478073, -0.048469637, 0.106440455, 0.056632314, -0.17825997) * go_3(-1.0, 0.0); + result += mat4(-0.076735444, 0.05965795, -0.0052469415, -0.21785147, 0.11887833, 0.067560315, 0.051149055, 0.23626682, -0.1297049, -0.035512198, 0.20352256, -0.025064934, 0.04958706, 0.0454198, 0.0113334535, 0.0417486) * go_3(-1.0, 1.0); + result += mat4(-0.09055751, 0.033915352, -0.21836667, 0.22006813, -0.099022895, 0.11720966, -0.15686816, -0.13586599, -0.094427735, -0.08831514, -0.06182928, 0.09213704, -0.03642064, 0.18129414, -0.012926811, 0.12179882) * go_3(0.0, -1.0); + result += mat4(0.19389409, 0.09512252, 0.14768016, -0.16623649, -0.031052284, -0.026814984, 0.106168024, -0.2026781, -0.04581419, -0.0016849053, -0.04101923, 0.038959503, -0.011938445, 0.20096186, -0.26666564, 0.4824324) * go_3(0.0, 0.0); + result += mat4(0.17727576, 0.07309147, 0.12131863, -0.163096, 0.17225246, 0.26256254, 0.27685758, 0.09094053, 0.029605515, -0.20217367, 0.047564875, 0.043115832, 0.15089568, -0.09670934, 0.24131384, 0.03337442) * go_3(0.0, 1.0); + result += mat4(-0.34192136, 0.12063195, -0.31159517, 0.04170889, -0.30147067, -0.21330686, -0.1514457, -0.121126845, 0.04409098, 9.2206596e-05, 0.027680017, 0.03230512, -0.27993527, -0.093485355, 0.07568645, -0.23585452) * go_3(1.0, -1.0); + result += mat4(0.0537712, -0.20847629, 0.1740093, -0.013894753, -0.32719997, -0.059484575, -0.006098233, -0.10336451, -0.14706188, -0.07424865, -0.07045905, 0.17093194, -0.22147557, 0.09086218, -0.11033544, -0.05306482) * go_3(1.0, 0.0); + result += mat4(0.00489003, -0.11509064, -0.021005848, 0.16637677, -0.089347586, 0.17545725, -0.17313693, 0.13742085, -0.14577347, 0.07951095, -0.092139855, 0.017118992, -0.053472433, 0.079414465, 0.0330263, -0.11189824) * go_3(1.0, 1.0); + result += vec4(-0.034743138, 0.012946433, -0.082333155, 0.07721756); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!SAVE conv2d_4_tf1 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.25835788, 0.050451655, -0.1845038, -0.07232528, 0.1323318, 0.26276684, 0.10842882, -0.083056524, 0.17426784, -0.3594826, 0.2728965, 0.08388844, -0.004007842, 0.020535901, -0.051425606, 0.07750436) * go_0(-1.0, -1.0); + result += mat4(-0.11410436, 0.014572361, -0.27057216, -0.023974562, 0.05234827, 0.15328228, -0.17502303, -0.3199359, 0.12188045, -0.095813684, 0.024145132, 0.0856916, -0.027453909, -0.043129764, 0.16971985, 0.021623038) * go_0(-1.0, 0.0); + result += mat4(0.06611095, 0.038625732, -0.13717118, -0.04497733, 0.15213469, 0.04770935, 0.0729271, -0.062052976, 0.004571303, 0.035141192, -0.059409596, 0.044652313, 0.17520894, 0.09665589, -0.1479193, 0.06528058) * go_0(-1.0, 1.0); + result += mat4(-0.1845968, 0.091479465, -0.09394898, -0.13545018, -0.029501775, -0.21426639, 0.09255898, 0.1257644, 0.20256902, 0.06267267, 0.10378081, 0.13494423, 0.058310498, 0.03642236, -0.16268995, -0.048100803) * go_0(0.0, -1.0); + result += mat4(0.2155119, -0.3683131, 0.049449228, -0.20559964, -0.11761922, -0.2518804, -0.020712897, 0.12895772, -0.07543782, 0.5805017, -0.11301444, -0.038493153, -0.06710986, -0.09321189, 0.108671665, -0.03259695) * go_0(0.0, 0.0); + result += mat4(0.035307787, 0.108389005, -0.27493554, 0.27029404, 0.25523573, -0.28636125, -0.20766719, -0.008661457, -0.004480811, -0.046390545, -0.16221444, 0.008979624, -0.061375532, 0.035076566, -0.018924266, 0.01380219) * go_0(0.0, 1.0); + result += mat4(-0.051922515, -0.12463486, -0.10383422, 0.02220095, -0.1573033, 0.13980615, 0.13248625, -0.16803266, -0.0692132, -0.21552645, 0.13744529, 0.23034313, 0.0052666534, 0.028977966, 0.07720251, -0.06477756) * go_0(1.0, -1.0); + result += mat4(-0.14097473, 0.2770271, -0.172289, -0.03000696, -0.028684044, 0.040578447, -0.2290285, 0.082329154, -0.042402364, -0.20926563, 0.08233207, 0.11862443, -0.07038536, -0.02273004, 0.091550544, -0.065856494) * go_0(1.0, 0.0); + result += mat4(0.14879914, -0.023923844, -0.23569296, 0.20306346, 0.17502785, 0.28776234, -0.2788995, 0.10012439, -0.05635638, -0.025840463, 0.09222198, 0.118032, 0.08057015, 0.1286071, 0.060189806, -0.052669708) * go_0(1.0, 1.0); + result += mat4(0.07076086, -0.15111323, -0.07427972, 0.008372168, -0.17791592, -0.16254742, 0.013961132, -0.0944912, -0.23380096, 0.17377278, -0.09683394, 0.019931393, -0.12042098, 0.0016406325, 0.09393333, -0.06882231) * go_1(-1.0, -1.0); + result += mat4(0.21465093, 0.04142968, 0.06840044, -0.37831602, -0.05549571, 0.044905066, -0.07873589, -0.026804, -0.34764197, 0.022487951, -0.077293746, 0.089457795, -0.110094436, 0.24233972, 0.06285107, -0.10851744) * go_1(-1.0, 0.0); + result += mat4(0.093270175, 0.084138945, 0.03938272, 0.063565865, -0.010733802, 0.13554469, -0.06650261, 0.033002816, 0.011187271, -0.12821455, 0.20785914, -0.030438649, -0.124710515, -0.022294303, 0.09732408, 0.057609864) * go_1(-1.0, 1.0); + result += mat4(-0.12833868, 0.021577539, -0.02700365, 0.11799592, -0.03655647, -0.04225167, 0.11049353, -0.16036157, 0.049277548, -0.033842396, 0.10020137, 0.095509745, 0.08060231, -0.09237418, -0.035598125, -0.035926737) * go_1(0.0, -1.0); + result += mat4(-0.32829186, 0.3492363, 0.030671779, -0.12606762, 0.010437313, 0.2757115, -0.21517593, -0.15800527, -0.12592544, -0.20578934, 0.10444053, 0.12993255, -0.046079267, 0.03834173, -0.19277227, -0.22124454) * go_1(0.0, 0.0); + result += mat4(-0.052546192, 0.026082167, 0.13831234, 0.10982424, 0.012946818, -0.12439852, 0.10134106, -0.10050398, -0.04472338, -0.14325236, -0.20579574, 0.0044005127, 0.22013672, -0.32955512, 0.12404084, -0.008160738) * go_1(0.0, 1.0); + result += mat4(-0.10774314, -0.31650826, -0.06601711, 0.19635755, -0.12622592, -0.06396423, 0.13856032, 0.16540553, 0.021387719, 0.23377723, -0.053738154, -0.1000186, -0.08338395, -0.052813534, 0.008122962, 0.13732094) * go_1(1.0, -1.0); + result += mat4(-0.18270823, 0.06966014, -0.17788303, -0.27303055, -0.077971615, 0.013978423, -0.02039098, 0.12715338, -0.11924171, 0.18900296, -0.085199654, 0.215198, 0.18587974, -0.009749325, 0.0173584, -0.12018259) * go_1(1.0, 0.0); + result += mat4(0.052129295, -0.107416354, 0.12711766, 0.03708665, -0.14369462, -0.055359814, -0.16639823, -0.045143317, -0.06925672, -0.040696755, 0.01999809, -0.016040625, -0.02484878, 0.07417094, 0.050875198, 0.2145528) * go_1(1.0, 1.0); + result += mat4(0.055696912, -0.16680926, -0.021987487, 0.024941636, -0.0927883, 0.022136632, 0.033782948, -0.10646058, -0.14944647, 0.25457275, 0.046682496, -0.022462368, -0.07886781, 0.08165927, 0.06848105, 0.0063734027) * go_2(-1.0, -1.0); + result += mat4(0.037053242, 0.033215813, 0.18291366, 0.12340375, 0.08491059, -0.28442004, -0.0127422465, -0.039834313, -0.23321372, 0.26676926, -0.05636355, -0.15672484, -0.12891728, -0.15486577, -0.032004442, -0.092745155) * go_2(-1.0, 0.0); + result += mat4(0.015779478, -0.18457565, 0.24996394, 0.036197674, 0.15694007, 0.15863103, -0.07332398, 0.0016235278, -0.15536517, -0.056062788, 0.14102836, 0.16915025, -0.08001087, 0.07073164, 0.13796777, 0.123867124) * go_2(-1.0, 1.0); + result += mat4(0.045792986, -0.15135059, -0.1354885, -0.043678258, -0.35655212, 0.51232076, -0.12816145, -0.046569496, -0.014127674, -0.06282611, -0.098873, -0.06359104, -0.0919222, 0.11822437, 0.079254694, 0.00579688) * go_2(0.0, -1.0); + result += mat4(-0.15683417, 0.61610246, -0.3024612, 0.12917964, -0.09303367, 0.23612969, -0.40842506, -0.12374661, -0.07572449, -0.2613284, -0.09970177, -0.015227848, 0.106239066, -0.21411185, 0.051998455, -0.1364518) * go_2(0.0, 0.0); + result += mat4(0.23850034, -0.14394449, -0.0031468747, -0.2380617, -0.027200876, -0.041352056, -0.01864445, 0.033848196, -0.12064239, -0.110480845, 0.08450956, -0.22328654, 0.17664163, 0.22268307, 0.050886698, -0.17475672) * go_2(0.0, 1.0); + result += mat4(-0.17808256, 0.010803805, 0.03315186, 0.033143792, -0.14205995, 0.25039625, -0.08784382, -0.13454252, 0.19576813, 0.10755282, 0.22821628, 0.019456752, -0.0422955, -0.016182603, -0.12066697, 0.0548465) * go_2(1.0, -1.0); + result += mat4(0.11563777, -0.257929, 0.0010403778, 0.080267854, -0.0025255163, 0.2855168, -0.060352214, -0.07816255, -0.00090574916, 0.049510725, 0.03720483, 0.059250016, -0.08674136, 0.20522198, -0.28694284, 0.1299507) * go_2(1.0, 0.0); + result += mat4(-0.14638457, 0.04063328, 0.03139636, -0.007934521, 0.07689684, -0.09467145, 0.10607347, 0.054510128, 0.003306194, 0.05347124, 0.062762424, -0.041480847, -0.07677865, -0.139573, 0.010972524, 0.21957156) * go_2(1.0, 1.0); + result += mat4(-0.026845628, -0.043439507, 0.034738723, 0.07281683, 0.14474197, 0.031586993, -0.22767854, -0.0707655, 0.105201736, -0.28805482, 0.008668302, -0.16329518, 0.06157049, 0.3803886, 0.26345953, -0.011096537) * go_3(-1.0, -1.0); + result += mat4(-0.23328833, 0.085731484, -0.07755016, 0.33559516, 0.07704345, 0.115106605, -0.24114038, -0.44630137, 0.2726737, -0.32170138, -0.009236524, -0.11666051, 0.0457048, 0.07876708, 0.13134004, -0.035318643) * go_3(-1.0, 0.0); + result += mat4(-0.05140272, 0.011605703, 0.13899171, -0.05071015, 0.18413687, -0.31413674, -0.13043414, -0.15118152, -0.15326938, -0.10720126, -0.23738635, 0.13481396, 0.25115076, -0.009316611, -0.2584441, -0.14389823) * go_3(-1.0, 1.0); + result += mat4(-0.039723795, -0.14869407, -0.1692942, 0.026501274, -0.10685166, -0.121267825, -0.08584318, -0.09580693, -0.10626739, -0.068417974, 0.11321909, -0.13664317, 0.061380867, -0.2587898, 0.14850819, 0.008178645) * go_3(0.0, -1.0); + result += mat4(0.06912782, 0.24230564, -0.048150286, 0.2203717, -0.17417085, 0.105546735, -0.16648416, -0.0045053074, 0.09764028, 0.37122592, -0.1939995, -0.27899942, -0.088152565, -0.53869057, 0.21676709, -0.08056594) * go_3(0.0, 0.0); + result += mat4(0.07651754, 0.03704878, -0.0197015, 0.1660726, 0.07002748, -0.11820414, -0.23360898, 0.1481592, 0.029847002, 0.054057185, 0.013176299, 0.06552942, -0.13865773, -0.20105527, -0.37550658, 0.005769631) * go_3(0.0, 1.0); + result += mat4(-0.22697811, -0.17426412, 0.10148018, 0.008134666, 0.10771455, 0.16943407, -0.016319012, -0.40176705, -0.06854668, -0.049045276, 0.20919096, 0.13240765, -0.050125647, 0.14902508, 0.052697595, -0.13817468) * go_3(1.0, -1.0); + result += mat4(0.04301619, 0.23184754, -0.023551717, 0.3768405, 0.028999053, 0.06709736, -0.05993663, -0.059861984, 0.15499207, -0.22217415, 0.111131504, -0.09082529, -0.19389243, 0.024621522, -0.15305442, 0.010799284) * go_3(1.0, 0.0); + result += mat4(-0.035496738, 0.010802548, -0.028718363, 0.19263634, 0.16900502, -0.16661702, -0.027631328, 0.18309957, -0.015860107, -0.03309961, -0.091390446, 0.14000848, -0.0036591904, 0.47659522, -0.09373507, -0.29020965) * go_3(1.0, 1.0); + result += vec4(0.08895955, -0.027667087, 0.20500831, 0.00037762933); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!SAVE conv2d_5_tf +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.018134737, -0.2296755, -0.07276725, -0.029795367, 0.05382051, 0.092847414, -0.024469728, -0.1674685, 0.0017946451, 0.30074653, 0.0034195695, -0.04892261, 0.18229689, -0.20116119, -0.12702174, -0.08259108) * go_0(-1.0, -1.0); + result += mat4(-0.1357695, -0.08149211, 0.09314453, -0.21966846, 0.34740716, 0.043606415, 0.04225903, 0.034449834, 0.17248215, 0.39148283, -0.13868807, -0.010550686, 0.044238456, -0.09693464, -0.005044985, 0.24383289) * go_0(-1.0, 0.0); + result += mat4(0.19959371, 0.098685324, 0.058746945, 0.010580748, 0.08051514, 0.031898864, 0.017556064, 0.13004355, -0.01727653, 0.11044019, 0.040673427, -0.20064595, -0.23321067, 0.06398686, -0.19126236, -0.2430858) * go_0(-1.0, 1.0); + result += mat4(-0.12870286, -0.113455534, 0.23722827, 0.070718594, 0.19049989, -0.1927299, -0.06343845, 0.113127775, 0.082530305, -0.10972526, -0.090779535, 0.05731582, 0.11018802, -0.18049154, 0.09269507, -0.10304576) * go_0(0.0, -1.0); + result += mat4(0.15513484, 0.06659583, 0.08125296, -0.012350324, -0.09492788, 0.5048303, 0.13206847, 0.39554298, 0.28953737, -0.20913891, -0.26781562, -0.17539899, 0.023778774, 0.29716817, 0.15768486, 0.37702608) * go_0(0.0, 0.0); + result += mat4(0.0724462, 0.015571356, -0.032217246, 0.0050658924, -0.22708446, 0.03968809, 0.016753826, 0.0025668752, -0.055932112, 0.113931604, 0.19766758, -0.030027265, -0.17384295, 0.15013468, -0.0070017707, -0.09469028) * go_0(0.0, 1.0); + result += mat4(-0.078361556, -0.0954201, -0.006358101, 0.040500037, 0.4190454, -0.17622913, -0.07234791, 0.05462559, 0.18641087, 0.058313597, -0.0180785, 0.13818781, -0.14640772, 0.0699486, 0.0073663946, -0.076789856) * go_0(1.0, -1.0); + result += mat4(-0.21421191, 0.08736062, 0.09041226, 0.03608585, 0.02769972, 0.09641289, 0.11824623, 0.05653645, 0.16464607, 0.19839554, -0.13379547, 0.054417104, 0.067530684, 0.18971571, 0.13785432, -0.097639814) * go_0(1.0, 0.0); + result += mat4(-0.32658005, -0.14606023, -0.069448665, 0.032998275, -0.28331423, 0.0011900732, -0.020304207, -0.13535896, 0.08298347, 0.045509677, -0.030503955, -0.037504148, 0.049955815, 0.0925771, 0.00058534974, -0.12398032) * go_0(1.0, 1.0); + result += mat4(-0.2955836, 0.29059318, -0.018196672, -0.35866606, -0.01309431, 0.03540315, 0.010609202, 0.11956812, 0.10296229, 0.22536302, 0.015201129, -0.23797737, -0.16960852, -0.11414787, -0.034440614, 0.112644605) * go_1(-1.0, -1.0); + result += mat4(-0.14952518, 0.07024436, -0.083184876, -0.0814617, -0.13303639, 0.016159372, -0.13521518, 0.2221334, -0.056617837, 0.12958299, 0.064461656, -0.20146395, -0.16023181, 0.2640758, 0.27528805, -0.1426518) * go_1(-1.0, 0.0); + result += mat4(-0.04382363, 0.09856003, -0.08561442, -0.15699928, -0.121069774, 0.04685383, -0.009170197, -0.031489655, 0.18730178, 0.238442, 0.22497098, 0.032015145, -0.03709115, 0.1535079, 0.21674158, 0.10678019) * go_1(-1.0, 1.0); + result += mat4(-0.12200952, 0.24224263, 0.034097504, -0.028179523, -0.011962496, -0.04489487, -0.05198827, 0.22194928, -0.045400873, -0.049828544, 0.111477956, -0.098361604, 0.12788995, -0.016093334, -0.19886433, -0.011161484) * go_1(0.0, -1.0); + result += mat4(0.30563712, 0.013071727, -0.004799883, 0.12888052, -0.259498, -0.041566677, 0.07311124, 0.162324, 0.28371668, -0.004693743, -0.0019395344, 0.029358242, 0.08730285, 0.12184509, 0.05508437, 0.048439097) * go_1(0.0, 0.0); + result += mat4(0.12760857, 0.115813166, -0.217695, -0.10629871, -0.227366, 0.09030426, -0.15313712, 0.020528946, -0.20743734, 0.088583544, 0.04594053, -0.22891994, 0.18949282, -0.042186577, -0.17330512, -0.010711361) * go_1(0.0, 1.0); + result += mat4(0.029503195, 0.0063797613, -0.17004286, -0.096844055, 0.010218098, 0.04247233, 0.02362808, 0.14700809, -0.08082364, 0.11159672, -0.018505255, -0.15228583, 0.15693732, -0.025359154, 0.024829186, 0.1943192) * go_1(1.0, -1.0); + result += mat4(-0.03912932, -0.21989027, 0.12203028, 0.18702275, -0.118537985, 0.21039696, 0.09102061, 0.012288879, 0.031666897, 0.1318455, -0.04901404, -0.07516063, -0.44782668, 0.04884501, 0.047070876, 0.008728358) * go_1(1.0, 0.0); + result += mat4(-0.08669101, 0.3053463, -0.08963947, 0.0034188698, -0.070004664, 0.064788476, 0.093737036, 0.070050925, 0.12728429, -0.13179256, -0.014913502, 0.09308136, -0.027638942, 0.008638711, 0.08794172, -0.05531093) * go_1(1.0, 1.0); + result += mat4(0.0728421, 0.07872358, 0.11454748, 0.08497922, 0.071820416, -0.11789207, -0.08184197, 0.1359588, -0.2143346, -0.05876081, 0.023172129, -0.08430511, -0.19276723, 0.14283359, 0.15604696, -0.055187486) * go_2(-1.0, -1.0); + result += mat4(0.068641685, 0.2732106, -0.2809107, 0.12736696, -0.08642367, 0.023898933, -0.17859498, -0.18299665, -0.06684587, -0.12204666, 0.45898953, -0.24240111, 0.25182098, -0.04395751, 0.10637211, -0.22135144) * go_2(-1.0, 0.0); + result += mat4(0.0852072, 0.051133018, 0.03333165, -0.0008938216, 0.10251267, 0.0550774, 0.041769378, -0.21259712, 0.286912, 0.123342015, 0.282759, -0.0730124, 0.14275575, -0.15580742, -0.15224406, 0.045376908) * go_2(-1.0, 1.0); + result += mat4(0.03328225, 0.11563978, -0.07451964, 0.030546209, -0.04698351, -0.18544962, 0.037350416, 0.13969816, 0.0556746, -0.06359919, 0.06478219, -0.031694926, 0.13396506, 0.09443612, -0.01922686, -0.06290365) * go_2(0.0, -1.0); + result += mat4(0.07495407, 0.063429266, -0.106221214, -0.085107304, 0.2497817, -0.46598253, -0.18833177, -0.2731128, -0.13024822, 0.56053543, 0.055704467, -0.12331414, -0.031199086, 0.05061188, 0.22097112, -0.6611177) * go_2(0.0, 0.0); + result += mat4(0.08276988, -0.044184342, -0.03562185, -0.06159881, 0.27694225, -0.07192965, -0.08663714, 0.020221777, 0.14095962, -0.06229397, 0.051374253, -0.038158998, 0.10664802, -0.041305423, 0.051260717, -0.054698635) * go_2(0.0, 1.0); + result += mat4(0.12800686, 0.03485072, 0.039914366, 0.034041498, -0.08305794, -0.046292894, 0.22765331, 0.10904922, 0.0013937047, -0.08750301, 0.009126207, -0.065589435, 0.2837707, 0.08884436, -0.07234862, -0.093502745) * go_2(1.0, -1.0); + result += mat4(0.113439895, 0.06081726, 0.1122302, -0.022936966, 0.10329637, -0.31816107, -0.051597945, 0.23846027, -0.083913095, -0.29872265, -0.040147282, -0.08981918, -0.04329814, -0.12339693, -0.034489952, 0.013393211) * go_2(1.0, 0.0); + result += mat4(0.33091688, 0.1726297, 0.034332044, -0.091396205, 0.15434311, -0.0022870845, -0.15506189, 0.08710491, -0.16063525, 0.042252056, 0.017086457, 0.08134797, 0.08631321, 0.037843138, 0.088296555, 0.0064518084) * go_2(1.0, 1.0); + result += mat4(0.09161051, 0.114355795, -0.15304486, -0.030537153, 0.1835368, -0.3287635, 0.031197926, 0.09717476, 0.04276852, 0.113250345, 0.05949038, -0.10599563, 0.43574792, -0.060788117, 0.18409383, 0.12678055) * go_3(-1.0, -1.0); + result += mat4(-0.018356865, -0.0072578182, 0.12020777, -0.013127592, 0.20136636, -0.22984362, 0.06896224, 0.00044982752, 0.008428429, -0.123316936, -0.09989286, 0.078248784, -0.16313677, -0.003020313, -0.46285018, -0.08967125) * go_3(-1.0, 0.0); + result += mat4(-0.03451497, -0.10864502, 0.13207638, 0.17194521, 0.0037514758, -0.20222199, -0.12535086, 0.001511977, 0.056294486, -0.2112898, 0.078261316, 0.10118746, -0.044742294, 0.21793383, -0.19927903, -0.21338293) * go_3(-1.0, 1.0); + result += mat4(-0.034903776, -0.10167085, 0.031066334, 0.0379958, 0.20532596, -0.17457838, 0.16556816, -0.0021619152, 0.02682665, 0.03396325, -0.059273884, 0.1922813, -0.072151475, -0.010240544, 0.2302027, 0.12385962) * go_3(0.0, -1.0); + result += mat4(-0.20170145, -0.08203941, -0.028107846, -0.18003726, 0.44744352, -0.13190243, 0.13233365, 0.03626546, 0.085763134, -0.25613126, -0.11213388, 0.15529087, -0.271649, 0.050587676, -0.062583975, 0.057289865) * go_3(0.0, 0.0); + result += mat4(-0.040649455, -0.17949733, 0.35847965, -0.040587306, 0.24314344, -0.23811667, 0.13958354, 0.04961874, 0.09858903, -0.04202913, -0.21850993, 0.0700419, -0.09130745, -0.096835814, 0.0022782686, -0.25416258) * go_3(0.0, 1.0); + result += mat4(-0.08215545, -0.019647893, 0.055263475, 0.053733055, 0.098485716, -0.1041945, -0.06541415, -0.08868577, -0.07262986, 0.03513784, -0.110529095, -0.03369232, 0.056786604, 0.2569229, -0.05931065, -0.22081214) * go_3(1.0, -1.0); + result += mat4(0.066926084, 0.029664058, -0.10779271, 0.11026963, 0.23927264, -0.16914488, 0.022947345, 0.12303853, -0.07066212, -0.013205378, 0.15348643, 0.035568032, 0.20966691, 0.010149819, -0.08814468, -0.064854674) * go_3(1.0, 0.0); + result += mat4(0.11493852, -0.074924305, -0.14840698, -0.16956823, 0.056806292, -0.06387947, -0.06880271, -0.04637334, -0.1929893, 0.18226422, 0.064644486, -0.1594863, 0.027403917, 0.13951495, -0.06569123, -0.07700207) * go_3(1.0, 1.0); + result += vec4(-0.043347504, -0.20504741, -0.037821215, -0.014486937); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!SAVE conv2d_5_tf1 +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.047881734, -0.09396414, -0.2839081, 0.3140853, 0.052613556, 0.09940423, 0.23960467, -0.022228222, -0.12065009, 0.07898222, 0.08657881, 0.010852739, -0.050450284, 0.01683982, 0.031813968, 0.053060856) * go_0(-1.0, -1.0); + result += mat4(-0.10252411, -0.03116448, -0.30114275, -0.0316799, -0.017501019, -0.03006003, -0.2095696, 0.10134927, -0.3901916, -0.15335023, -0.11955071, 0.1337449, 0.101239376, -0.25044814, 0.2128469, 0.018979514) * go_0(-1.0, 0.0); + result += mat4(-0.13392173, 0.052036732, 0.1682114, -0.026263753, 0.027221246, -0.15121374, 0.13723798, 0.08950682, -0.1182108, -0.07294226, 0.023392374, 0.052329235, -0.05632852, -0.07036173, 0.06872573, 0.05238042) * go_0(-1.0, 1.0); + result += mat4(0.18112028, 0.18242362, -0.06812871, 0.032463413, 0.124638766, -0.26765212, -0.07678663, 0.33806562, 0.09674393, 0.15574542, 0.23634006, -0.02873782, -0.1626769, -0.14760062, -0.007274849, 0.09866139) * go_0(0.0, -1.0); + result += mat4(-0.10726673, -0.10925056, 0.19967109, -0.19936769, 0.15942842, -0.14870064, 0.15493345, -0.08489036, -0.49053356, -0.17321263, 0.28426084, 0.18721215, -0.09898434, -0.2751838, -0.11833524, 0.028445128) * go_0(0.0, 0.0); + result += mat4(-0.11788817, -0.23724948, -0.046072144, 0.035621114, 0.04527003, -0.0073492974, 0.11097195, 0.06806836, 0.04814677, -0.1408476, -0.1325629, 0.00929532, -0.16699041, -0.03034791, 0.08320368, -0.15429299) * go_0(0.0, 1.0); + result += mat4(0.2729515, 0.008244692, -0.17441982, -0.39026466, 0.17381759, 0.31194404, 0.055934936, 0.20744409, 0.20119062, 0.0734271, 0.0796807, 0.0031037466, -0.0016392237, 0.033733975, 0.07149338, 0.042083208) * go_0(1.0, -1.0); + result += mat4(0.07985744, 0.10945015, 0.018472541, 0.1397503, 0.2005682, 0.42641, 0.23022486, -0.2916921, 0.028285174, -0.31885162, -0.27070364, -0.10390779, 0.0751492, 0.12752363, -0.2279459, 0.08998453) * go_0(1.0, 0.0); + result += mat4(0.18450491, -0.140783, -0.008006845, 0.09029298, 0.12536179, 0.26949662, 0.09491545, 0.063907005, 0.11212244, 0.09778506, -0.1835966, -0.053119674, 0.0072294096, 0.25018227, 0.010868525, -0.22721334) * go_0(1.0, 1.0); + result += mat4(-0.028011927, -0.20073172, 0.5976166, -0.19494139, 0.17958745, -0.03838646, 0.058325976, -0.29409218, -0.12793432, 0.03245129, 0.35662368, -0.05048354, -0.13368197, -0.06151968, -0.012714591, -0.1763054) * go_1(-1.0, -1.0); + result += mat4(0.18468465, 0.31682113, 0.12818255, -0.117110476, 0.13709468, -0.10034022, -0.07994527, -0.1259309, 0.04067299, -0.1147398, 0.28361055, 0.27916273, 0.03696692, 0.16829546, 0.27819383, 0.08305029) * go_1(-1.0, 0.0); + result += mat4(-0.28920117, -0.033877946, 0.01586206, 0.04681198, 0.024248574, -0.045777842, -0.03342128, 0.07525412, -0.063377544, -0.016737273, 0.11235511, -0.04325238, -0.24170023, -0.09993599, -0.03205371, 0.14339828) * go_1(-1.0, 1.0); + result += mat4(-0.008357902, -0.11038377, 0.03709221, 0.26775306, 0.07963845, -0.25377446, -0.17630441, -0.10966474, 0.057311732, -0.083327, 0.044497233, 0.06903858, -0.26531395, -0.103399664, -0.14806591, 0.269314) * go_1(0.0, -1.0); + result += mat4(0.05450808, -0.041993964, -0.07217651, 0.034468375, 0.2117634, 0.0075620585, 0.05825411, -0.2252478, -0.0527787, 0.049732126, -0.032040413, -0.09361454, 0.29585132, 0.018413153, 0.18384546, -0.024226356) * go_1(0.0, 0.0); + result += mat4(-0.031109914, 0.19351351, 0.07405522, -0.06313074, -0.09983541, -0.011495182, 0.11749038, -0.16775608, 0.2790974, -0.09338754, 0.07913264, 0.103792936, -0.18679164, -0.15639925, 0.112943865, 0.07930375) * go_1(0.0, 1.0); + result += mat4(0.004106195, -0.036833283, 0.12908752, 0.12869535, -0.02472107, 0.17561707, -0.025890926, -0.18789047, 0.096218705, -0.16306408, -0.02198454, -0.010134957, -0.09710009, 0.002062143, -0.046785697, 0.0029441968) * go_1(1.0, -1.0); + result += mat4(0.19648251, -0.015663045, -0.0730215, 0.028611008, 0.13529862, -0.015256192, -0.04119306, -0.24628192, 0.02601027, -0.21184283, -0.1962902, 0.09109358, -0.06792383, 0.092336476, 0.12215351, -0.08596062) * go_1(1.0, 0.0); + result += mat4(-0.17530201, -0.0351919, -0.31872514, -0.13933206, -0.07000922, -0.049807087, 0.0010997375, -0.033573963, 0.07442056, -0.33290103, -0.40381998, 0.09435, -0.3280128, -0.09953127, -0.11283648, 0.20685865) * go_1(1.0, 1.0); + result += mat4(-0.052573867, -0.035328753, -0.11132943, -0.17515652, 0.05021051, 0.058642425, -0.046640664, 0.0799107, -0.027398815, -0.33619994, -0.22135767, 0.07894002, -0.14941697, -0.0940996, -0.11655085, 0.049795926) * go_2(-1.0, -1.0); + result += mat4(-0.039301276, 0.041062318, 0.20312686, -0.009338705, 0.013706282, -0.0245852, 0.03458311, 0.09601228, -0.18203016, -0.012260314, 0.17984508, -0.056576703, -0.102844186, 0.24047872, 0.05307189, 0.16066082) * go_2(-1.0, 0.0); + result += mat4(0.1478775, 0.0046362123, 0.05459521, 0.07162838, -0.01896149, 0.23700175, -0.14174299, 0.06988599, -0.32545477, -0.08065096, -0.061227743, -0.0010796773, 0.094327345, -0.20760082, -0.19523263, 0.19859222) * go_2(-1.0, 1.0); + result += mat4(-0.049676366, -0.10381536, 0.02546116, -0.13127093, 0.10954914, 0.0048147943, 0.06962328, -0.30456528, -0.11956627, 0.0150488885, -0.10711722, 0.1684613, -0.1939089, -0.10577047, -0.11980919, -0.036988296) * go_2(0.0, -1.0); + result += mat4(-0.054795764, 0.09491116, -0.08494948, 0.059765853, 0.0131597435, 0.20786162, 0.11999637, 0.024381055, 0.22830428, 0.027053319, -0.011646274, -0.12145409, -0.07899559, -0.012688263, 0.10684157, 0.3824219) * go_2(0.0, 0.0); + result += mat4(-0.23994572, -0.0031532666, -0.0050638164, 0.14236279, 0.05690383, -0.06259682, 0.052624144, 0.20461404, -0.19230312, -0.11072268, 0.013023965, 0.08931543, -0.21997221, 0.11760443, -0.40943825, 0.28656834) * go_2(0.0, 1.0); + result += mat4(-0.06606179, 0.26007771, 0.033754125, 0.119690455, 0.024669139, -0.06752839, 0.12688096, -0.0063201943, -0.17123021, 0.07548857, -0.14213699, 0.034093797, -0.15632647, -0.123243414, -0.42634043, 0.1715022) * go_2(1.0, -1.0); + result += mat4(-0.046503466, 0.13876389, 0.17973013, -0.25938338, -0.18824704, -0.11876702, 0.31065792, -0.041042212, -0.061369427, 0.2057992, 0.17295738, 0.3836555, -0.21109799, -0.10167118, 0.16577047, 0.113483034) * go_2(1.0, 0.0); + result += mat4(-0.24534856, -0.014482421, 0.22515748, -0.12773542, 0.12794174, -0.02528619, 0.41710484, 0.09154934, -0.17805946, -0.25428918, 0.07294183, 0.047079418, -0.30949152, -0.08919157, 0.17888431, 0.17706038) * go_2(1.0, 1.0); + result += mat4(-0.1741826, 0.046225294, -0.10761791, 0.2619953, 0.007373745, 0.05104337, -0.22309966, 0.34529984, -0.034363825, -0.022187237, -0.08609555, 0.16842419, 0.28136057, 0.17843607, -0.11307746, -0.05668021) * go_3(-1.0, -1.0); + result += mat4(-0.12310616, -0.29661375, -0.10581025, -0.049584012, 0.19651765, 0.08436489, -0.14533581, -0.029874112, -0.15422897, -0.062741704, -0.22694711, -0.15547274, -0.15181333, 0.0286061, 0.022438493, -0.062447168) * go_3(-1.0, 0.0); + result += mat4(0.3497046, -0.09455009, 0.060618952, -0.2134236, 0.054515295, 0.07451165, -0.09267233, -0.010513333, 0.13842636, 0.11563433, -0.054750167, 0.050432, 0.1514256, 0.04284002, -0.2095581, 0.07907657) * go_3(-1.0, 1.0); + result += mat4(-0.11745651, -0.04717057, 0.085377194, -0.065956995, 0.07280491, 0.2730059, 0.11088276, 0.2437957, 0.14018989, 0.1164107, -0.09516929, 0.0022427947, 0.111544006, -0.0680495, 0.09324579, -0.12482022) * go_3(0.0, -1.0); + result += mat4(-0.07995795, -0.03387884, 0.019846136, 0.10231208, -0.07017192, 0.18659039, 0.035161644, 0.101182766, -0.14901665, 0.21307294, 0.063894205, -0.27546507, -0.24792959, -0.067731075, 0.13146006, -0.19333683) * go_3(0.0, 0.0); + result += mat4(0.034206454, 0.1472648, -0.07406727, 0.014654025, 0.18703444, 0.1319857, -0.10610886, 0.08427947, -0.017536618, -0.06487879, -0.12095286, -0.050414838, 0.03260879, 0.1558894, -0.031887084, 0.11840288) * go_3(0.0, 1.0); + result += mat4(0.114811294, -0.14574333, -0.09392587, 0.042283528, 0.08919092, 0.18259068, 0.0980717, 0.21024778, -0.1280008, -0.027260462, -0.1129027, 0.18722472, 0.13733985, 0.047153983, 0.030871978, 0.1998385) * go_3(1.0, -1.0); + result += mat4(-0.06783575, 0.004612595, 0.1153467, -0.11531557, -0.048889533, 0.07673577, -0.02041786, 0.22744459, -0.13092506, 0.13484807, 0.40003043, -0.053706612, -0.16985156, -0.04791236, -0.052443005, -0.08363625) * go_3(1.0, 0.0); + result += mat4(0.18187882, 0.017893985, 0.17856054, 0.005413129, 0.014147176, 0.15102178, 0.12436294, -0.02176765, -0.16727823, -0.0364111, 0.17074408, 0.12899421, 0.31984514, -0.0072070034, 0.031895883, -0.1991405) * go_3(1.0, 1.0); + result += vec4(-0.011865144, 0.11717201, -0.13823777, -0.059450272); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!SAVE conv2d_6_tf +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.082203194, 0.021720003, 0.03725474, -0.08048348, 0.2063248, -0.033020593, -0.17585336, 0.06476272, 0.012244563, 0.026554609, 0.014708393, 0.26606125, 0.14248778, 0.12817341, -0.039826933, -0.12751861) * go_0(-1.0, -1.0); + result += mat4(0.24573852, 0.19695967, -0.06257417, -0.04782871, 0.3511875, -0.018083302, -0.077342674, 0.15247667, 0.20321761, -0.07479984, -0.09548503, 0.08109568, -0.23808748, 0.07246303, -0.004242619, 0.16162953) * go_0(-1.0, 0.0); + result += mat4(0.13296306, 0.19495387, 0.009222276, 0.033592198, 0.20443891, 0.16063854, -0.2581601, -0.016132578, -0.2296461, -0.23647323, -0.15407176, -0.18265317, 0.2343241, -0.049697313, -0.09398783, 0.41931856) * go_0(-1.0, 1.0); + result += mat4(-0.10866088, -0.40605694, -0.0042648134, 0.07943803, 0.26914695, 0.14816476, 0.037706107, -0.123223364, -0.19962949, -0.053534556, -0.08397409, -0.04244924, -0.075791344, 0.29629225, 0.2311928, 0.099177904) * go_0(0.0, -1.0); + result += mat4(-0.1748319, -0.2003186, -0.32659066, -0.21007413, 0.20122464, 0.032196607, -0.026299698, 0.33395135, 0.11411664, 0.05971959, 0.09001304, -0.15936212, 0.012322024, 0.19936106, -0.411186, -0.08319479) * go_0(0.0, 0.0); + result += mat4(-0.07349218, 0.006184436, 0.096199185, -0.050186496, 0.064047046, -0.03813128, -0.057007037, -0.025550695, -0.2863145, -0.008512981, -0.20615962, 0.18009211, 0.008298396, 0.22452813, 0.010843521, 0.20169461) * go_0(0.0, 1.0); + result += mat4(0.2691149, 0.059546687, 0.08922005, 0.2252196, 0.30341956, -0.024489028, 0.087045394, -0.03856442, -0.14083561, -0.17683443, 0.14137806, 0.15520614, 0.2073925, -0.19525874, 0.23661858, 0.3098405) * go_0(1.0, -1.0); + result += mat4(0.006530723, 0.04180736, -0.04762067, -0.064395495, 0.02396811, -0.13332283, 0.0037775645, 0.026309434, 0.0033065109, -0.08315753, 0.02917419, 0.12330464, 0.22819455, -0.07489677, 0.12829056, -0.097994626) * go_0(1.0, 0.0); + result += mat4(-0.09983759, 0.032783493, 0.11085758, 0.08993078, -0.057110567, -0.018973934, -0.14946178, -0.03921629, 0.039757587, 0.015860094, 0.04989561, -0.19634786, 0.04351146, 0.019315343, 0.25972188, 0.17989321) * go_0(1.0, 1.0); + result += mat4(-0.04111906, -0.165601, 0.0003682197, -0.056232415, -0.32716644, -0.24015541, -0.057547837, 0.05966729, 0.06854747, 0.03599213, -0.18798864, 0.1183447, 0.014268468, -0.1310834, 0.06415977, -0.19414157) * go_1(-1.0, -1.0); + result += mat4(-0.00070661673, 0.17671427, 0.10584568, -0.060910843, -0.104282066, -0.22676118, -0.01907062, 0.24882245, -0.043454725, 0.07691623, -0.48371696, 0.013537671, -0.025488405, 0.061228953, 0.18548754, 0.028671112) * go_1(-1.0, 0.0); + result += mat4(-0.0121596735, 0.09595702, -0.08244918, -0.1176173, 0.26773354, -0.021729136, 0.075465776, -0.0928876, 0.12461298, 0.16830076, -0.15302569, 0.113850676, 0.09811088, 0.13006307, 0.24999009, 0.10261325) * go_1(-1.0, 1.0); + result += mat4(-0.032246377, 0.038265374, -0.26476422, -0.1442876, -0.19866082, 0.08649541, 0.041478764, 0.11155026, 0.21576422, -0.09572912, -0.11174068, -0.19722937, -0.15801935, 0.29604745, -0.08606268, -0.15532136) * go_1(0.0, -1.0); + result += mat4(-0.06315591, 0.16151646, -0.009230362, -0.04341246, 0.09085519, 0.21924476, 0.38044852, 0.193819, 0.16622902, 0.0025134624, -0.22688466, -0.025276015, 0.07714917, 0.16302192, -0.11767101, -0.11086476) * go_1(0.0, 0.0); + result += mat4(-0.04170153, 0.001859292, -0.26352355, 0.10982333, -0.031867817, 0.15773517, -0.060263418, 0.11117763, -0.017359972, 0.0127261225, 0.0782802, -0.16908924, 0.080516845, -0.05691526, -0.07530135, -0.14553802) * go_1(0.0, 1.0); + result += mat4(0.06112685, -0.032287434, 0.17445667, -0.044935808, -0.11449107, -0.051394563, -0.029589338, -0.14555557, 0.03440661, 0.11035615, -0.17175, -0.14851089, 0.037362, -0.18740481, 0.17278154, 0.18073405) * go_1(1.0, -1.0); + result += mat4(-0.27670652, 0.19484822, 0.2609349, 0.1455016, 0.04438468, 0.1449185, 0.11185832, -0.18598269, -0.019846648, 0.11886126, -0.098498635, 0.15737785, 0.011406795, -0.18860829, -0.13705735, 0.17535745) * go_1(1.0, 0.0); + result += mat4(-0.30244905, -0.28695273, 0.1146976, 0.21144345, -0.037980128, -0.027679864, -0.13992494, -0.04884521, -0.032023884, -0.07921183, -0.16042095, -0.06935386, -0.06570237, -0.1107404, -0.018163798, 0.22625941) * go_1(1.0, 1.0); + result += mat4(-0.07292955, -0.07321777, -0.045146503, -0.33291966, -0.096732594, -0.07203495, 0.33692798, 0.2870733, 0.122160144, -0.076574564, 0.042844944, 0.26448342, 0.07672146, -0.028775277, -0.12088313, 0.15583947) * go_2(-1.0, -1.0); + result += mat4(0.21589327, 0.05258274, 0.09705794, -0.024653846, -0.039402515, 0.28485695, 0.14711736, -0.10556087, -0.15140481, 0.09039498, 0.017308712, 0.11862922, 0.08230978, 0.21678248, -0.043815188, -0.226433) * go_2(-1.0, 0.0); + result += mat4(-0.029258793, 0.26618922, 0.02564014, -0.23189862, -0.24074338, -0.18556763, 0.25973624, 0.04746873, 0.0137007125, -0.22239363, -0.12414957, 0.048228756, -0.22406264, 0.282667, -0.021001073, -0.17465611) * go_2(-1.0, 1.0); + result += mat4(0.32401654, -0.1495363, -0.20869227, 0.04271639, -0.0087802755, 0.031325378, 0.23834595, 0.039336167, 0.17265107, 0.20947595, 0.28737286, 0.0028783784, -0.057340365, -0.050347418, -0.11915604, -0.1831807) * go_2(0.0, -1.0); + result += mat4(0.1811338, 0.07732653, 0.20975596, -0.47129005, 0.07121942, 0.08410583, 0.44170937, -0.19524159, -0.17807977, 0.12837476, 0.20816846, -0.1741958, -0.04411918, 0.06024972, 0.18159702, -0.052485272) * go_2(0.0, 0.0); + result += mat4(-0.15229738, 0.27513, 0.28150418, -0.19543962, -0.02045864, -0.07207227, 0.09589587, 0.09110817, 0.061413247, 0.0046052113, 0.11619411, -0.2988938, 0.065739445, 0.10205611, 0.12847126, -0.028355654) * go_2(0.0, 1.0); + result += mat4(0.0657154, -0.047568597, -0.16148911, 0.16392621, -0.25281775, -0.061153214, 0.017480455, -0.026288848, 0.20319715, 0.04763355, 0.010444491, -0.26671803, -0.25821987, 0.32863674, -0.30734694, -0.18190521) * go_2(1.0, -1.0); + result += mat4(-0.042703815, 0.06633036, -0.048434302, -0.17176376, -0.12699759, -0.1124558, 0.083266065, 0.03354623, -0.13468939, 0.12706263, 0.053659134, -0.06930602, 0.008196115, 0.2034998, -0.06351442, -0.039730288) * go_2(1.0, 0.0); + result += mat4(0.09614661, 0.22500272, 0.088511504, -0.16960482, 0.15364788, -0.18854137, -0.13163191, -0.07503735, -0.23177068, -0.0053305267, -0.041978605, 0.0971947, -0.049034655, 0.04486706, 0.09076307, -0.02310868) * go_2(1.0, 1.0); + result += mat4(-0.1304683, 0.17743458, -0.09817326, -0.0646786, 0.07886976, 0.20109388, -0.034114968, -0.2029261, -0.03348398, 0.029337432, -0.07302782, -0.02240758, 0.030242773, -0.30032325, 0.02085572, -0.027314361) * go_3(-1.0, -1.0); + result += mat4(-0.037377544, 0.026350772, -0.07430488, -0.114671774, -0.126935, -0.046512567, -0.033628833, -0.19018382, -0.041053895, -0.031206857, 0.08562848, -0.01875709, 0.21099389, -0.092511, 0.0073047103, -0.009811013) * go_3(-1.0, 0.0); + result += mat4(0.11358029, 0.17468451, -0.12739041, -0.14332245, -0.22230148, 0.16862972, -0.04462456, 0.2469604, -0.008622369, 0.0081848325, -0.17032363, -0.16024362, 0.21178265, 0.037127133, 0.08559072, 0.11584694) * go_3(-1.0, 1.0); + result += mat4(0.008993893, -0.08037705, 0.4426555, 0.15593371, 0.15273719, -0.03249998, 0.055109, -0.1512612, -0.037183985, 0.20825677, -0.08516227, -0.06664223, -0.10011001, -0.3505215, -0.17941694, 0.052089088) * go_3(0.0, -1.0); + result += mat4(-0.109703645, -0.13505603, 0.1336451, 0.13118869, 0.010915504, 0.12748592, 0.21201555, -0.40841985, -0.11059143, 0.033772044, -0.039282143, 0.03095394, 0.10394723, -0.21343367, -0.10699851, -0.028351074) * go_3(0.0, 0.0); + result += mat4(0.019704714, 0.06243651, 0.09896519, -0.17492259, 0.012675787, -0.004239029, 0.21319824, 0.069183126, -0.0071114586, 0.123431124, -0.24479835, 0.00723795, -0.045293927, 0.014101029, 0.15746681, 0.042405806) * go_3(0.0, 1.0); + result += mat4(0.023828225, -0.0015190929, 0.1194638, 0.082163885, 0.10532113, 0.042044062, 0.02528007, 0.015175004, 0.026613194, 0.33525538, -0.1627064, -0.29887968, -0.197707, 0.038967777, -0.15811683, -0.106895216) * go_3(1.0, -1.0); + result += mat4(0.044362027, -0.04946742, -0.14815849, -0.17660522, -0.034201477, -0.012243106, -0.050183997, 0.06407372, 0.039822515, 0.15880872, -0.0672721, -0.4081093, 0.019489579, -0.060278706, -0.015096743, -0.07799167) * go_3(1.0, 0.0); + result += mat4(0.11861756, 0.27113584, -0.14107186, -0.10246008, -0.124051, -0.1627854, 0.10698585, 0.2846401, -0.061731786, 0.1724438, -0.12428688, -0.09986041, -0.034171514, -0.07100923, 0.041739646, -0.11308375) * go_3(1.0, 1.0); + result += vec4(-0.02981662, -0.26338395, -0.011632586, 0.15063232); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!SAVE conv2d_6_tf1 +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.17082009, 0.031344634, -0.06131912, 0.00887183, -0.01528174, 0.12943709, 0.24537678, 0.008178781, -0.312396, -0.023583878, 0.07827866, -0.1231261, 0.15081584, -0.18161978, -0.25179705, -0.036934935) * go_0(-1.0, -1.0); + result += mat4(-0.05768411, 0.16785417, -0.1788644, -0.0067257965, 0.021445744, 0.10066516, -0.23864186, 0.1450302, 0.12892793, 0.19856106, -0.24444748, 0.16531628, -0.044425935, -0.02775357, 0.009059946, -0.12958384) * go_0(-1.0, 0.0); + result += mat4(-0.025798557, -0.17238182, -0.34056288, -0.20921059, -0.03576266, 0.1476854, -0.06264234, 0.14452787, -0.04130045, -0.07275762, 0.034578666, 0.2914669, 0.20879944, 0.21359251, -0.048695553, 0.2638088) * go_0(-1.0, 1.0); + result += mat4(-0.022791177, 0.4204545, 0.116855636, 0.20241925, -0.010444933, -0.14462502, 0.022550104, -0.24423064, -0.09417524, 0.045358784, -0.11405829, 0.035979558, -0.2283092, -0.06670842, -0.23852053, -0.22417003) * go_0(0.0, -1.0); + result += mat4(-0.14526704, 0.040880535, 0.14076385, 0.07795045, -0.059177604, -0.13056375, -0.3373641, -0.19344307, -0.29891858, -0.32578763, -0.29061425, 0.1562214, -0.13578376, 0.36586633, 0.24936736, 0.054629393) * go_0(0.0, 0.0); + result += mat4(-0.025790233, -0.13020341, -0.10084969, 0.15767297, -0.09738769, 0.04034404, 0.0038675873, 0.043515608, 0.16899958, -0.29117966, 0.03420067, 0.14432564, -0.10473084, 0.21014084, 0.07775908, -0.09303797) * go_0(0.0, 1.0); + result += mat4(-0.07443987, -0.16225167, 0.036251917, 0.028432872, 0.03759333, 0.004027401, -0.033941846, 0.0019474924, 0.02357054, 0.30748722, 0.1652115, -0.17361522, 0.16905582, 0.08048018, -0.23639561, -0.029408466) * go_0(1.0, -1.0); + result += mat4(0.0461233, -0.09346199, -0.07063276, -0.19447634, -0.049339604, -0.0032855074, -0.22661209, -0.0543389, 0.11924857, -0.21691081, -0.1645725, -0.0075736847, 0.018572787, -0.06552861, -0.01777661, -0.11651732) * go_0(1.0, 0.0); + result += mat4(-0.06425901, 0.123392984, -0.16395192, -0.093448035, -0.029316641, 0.0986573, -0.23135012, 0.011170849, 0.00023920486, 0.15296175, 0.35453254, -0.05189021, 0.20708887, -0.103900835, 0.081992395, -0.21829562) * go_0(1.0, 1.0); + result += mat4(-0.019074136, -0.1572586, 0.27919227, 0.09119617, 0.035954695, 0.2941489, 0.18262725, -0.055522963, -0.21364328, -0.1573611, 0.104966134, 0.08228523, 0.19945285, -0.0039229114, -0.1565048, 0.028975379) * go_1(-1.0, -1.0); + result += mat4(-0.18501253, 0.006473006, 0.06637501, 0.04295065, 0.06411007, 0.1166344, -0.10060226, 0.46296063, -0.08600344, -0.03560105, 0.012215349, 0.017885283, 0.061346993, 0.17336361, 0.01935021, 0.20198092) * go_1(-1.0, 0.0); + result += mat4(-0.04451627, -0.10372061, -0.13968691, 0.14479733, 0.1660607, 0.19334625, 0.0085214665, 0.28863636, -0.07600901, -0.014777084, 0.13209191, -0.09045013, 0.104893915, -0.04776884, -0.007936376, 0.104568765) * go_1(-1.0, 1.0); + result += mat4(0.023751335, -0.108048, -0.050531313, 0.15916029, 0.13246661, 0.04644228, -0.09586482, -0.17222965, -0.22898191, -0.033484615, 0.078883134, -0.052609313, -0.2721741, 0.045986425, 0.13972299, -0.28923607) * go_1(0.0, -1.0); + result += mat4(-0.23364568, -0.008875902, -0.40894926, 0.060443908, -0.2839635, -0.5270991, -0.2500865, 0.002020195, -0.24488612, -0.04982319, -0.009110353, -0.018023955, 0.06647274, -0.25225738, 0.26154432, -0.033934146) * go_1(0.0, 0.0); + result += mat4(-0.1535129, -0.21257545, -0.16553773, 0.17471452, -0.06203719, 0.15238857, 0.18702018, 0.18572305, 0.07740396, -0.074217625, -0.072156586, -0.2183728, 0.00403749, 0.13750519, 0.30362993, 0.06550286) * go_1(0.0, 1.0); + result += mat4(0.37164542, -0.1980723, -0.15659203, 0.19498909, 0.01748114, 0.011807152, -0.05424202, 0.11926474, 0.050406165, -0.12925303, -0.020280985, 0.08429331, 0.14769496, -0.077555746, -0.15216178, -0.27070466) * go_1(1.0, -1.0); + result += mat4(0.35804263, 0.08539285, -0.14785156, -0.13532467, 0.058254432, 0.20448379, -0.006173341, 0.058168225, -0.21714899, -0.13472849, -0.09392532, -0.12753737, -0.097461835, -0.11419082, 0.09384189, 0.06414768) * go_1(1.0, 0.0); + result += mat4(0.023494452, -0.22187226, -0.16694295, 0.0204334, -0.26720086, 0.15916729, 0.3098874, -0.10292057, 0.008854983, 0.13375004, -0.04409455, 0.09286524, 0.095829524, 0.12427317, -0.048659876, 0.18300754) * go_1(1.0, 1.0); + result += mat4(-0.119153984, 0.10163183, 0.025017537, -0.40096784, 0.026778705, 0.15821172, -0.19947284, -0.33337715, 0.2952563, 0.16820388, -0.057061996, -0.029319009, -0.12184868, 0.09031512, 0.12028806, 0.021044692) * go_2(-1.0, -1.0); + result += mat4(0.086744264, -0.046958666, 0.2130253, -0.46672252, 0.07135636, 0.0100029735, -0.13828261, -0.012365689, -0.11374441, 0.21084632, -0.059631422, -0.013799735, -0.037889663, -0.10701892, -0.09493782, 0.15516634) * go_2(-1.0, 0.0); + result += mat4(0.031181194, -0.01535001, 0.029270316, 0.13128386, 0.11838377, -0.17051528, 0.12228499, -0.04841128, 0.33350074, -0.006144013, -0.09055018, 0.27470216, -0.26665646, -0.08703671, -0.01719071, -0.23449609) * go_2(-1.0, 1.0); + result += mat4(-0.12856458, 0.005562174, -0.19517267, 0.13270985, 0.2776414, 0.032003902, -0.15778573, 0.15344355, 0.26930434, -0.13459459, 0.035019353, 0.08896612, 0.12847935, -0.122637205, 0.001815178, 0.08290523) * go_2(0.0, -1.0); + result += mat4(0.33805037, -0.15318587, -0.20955376, -0.26121393, -0.026022578, -0.1617741, 0.1336867, 0.026223289, 0.012059392, -0.17295446, -0.060811974, 0.14027825, -0.21134059, -0.08408573, -0.23773228, 0.110836074) * go_2(0.0, 0.0); + result += mat4(0.16176093, 0.15307428, -0.07711325, -0.3458805, 0.061291527, 0.023916256, 0.21370678, 0.0015756418, 0.10642374, 0.24807373, 0.11164451, 0.10780487, 0.087194376, -0.2718231, -0.008457387, 0.054078236) * go_2(0.0, 1.0); + result += mat4(-0.03259038, -0.20923306, 0.165477, 0.098864526, -0.02734457, 0.08871225, -0.01552188, 0.047712058, 0.055032052, -0.13044262, -0.2899521, 0.22230095, -0.029343741, -0.16427459, -0.005436118, -0.05111821) * go_2(1.0, -1.0); + result += mat4(0.20065974, -0.1556366, -0.12620135, 0.44572976, -0.020925352, 0.12025185, 0.20588058, 0.06391864, 0.046870507, 0.16942503, -0.049370963, 0.008779016, 0.04954915, 0.090298936, -0.16466027, 0.011152038) * go_2(1.0, 0.0); + result += mat4(0.13587528, 0.047841422, 0.19804007, -0.1672396, -0.072491, 0.04543739, 0.25287256, 0.015226213, 0.02007356, -0.049578942, -0.08796175, 0.1714897, -0.07819061, 0.1509537, 0.093094915, 0.031139288) * go_2(1.0, 1.0); + result += mat4(-0.013774682, 0.118201815, -0.009592314, -0.10837201, -0.0686881, -0.083380274, 0.107689425, 0.046642892, 0.119898744, -0.05502989, -0.19719897, 0.0005697584, -0.0921928, 0.032281205, 0.2568853, 0.2325449) * go_3(-1.0, -1.0); + result += mat4(0.02991112, -0.09898633, 0.06076172, -0.20906185, 0.0026118348, 0.06130956, 0.06760944, -0.16662054, 0.065741204, -0.13144116, 0.011419801, 0.22552124, 0.1465757, -0.07417319, -0.10788749, -0.24952699) * go_3(-1.0, 0.0); + result += mat4(-0.19238451, -0.024058497, 0.19580396, -0.067399554, -0.18832864, -0.11752747, -0.078949094, -0.23762032, -0.04141864, 0.022530237, -0.02222157, 0.0054874527, 0.057746816, -0.34854797, 0.028730657, -0.08976777) * go_3(-1.0, 1.0); + result += mat4(0.16888975, 0.19949849, -0.08456147, -0.03619044, -0.019596824, 0.11214634, 0.13971676, 0.22926724, 0.03219445, -0.04566354, -0.14948955, -0.22817011, -0.08714846, -0.19684613, 0.15479128, 0.2433362) * go_3(0.0, -1.0); + result += mat4(0.16050309, -0.102841675, 0.20855242, -0.011171905, -0.10309409, 0.22455123, 0.15892951, -0.06582373, 0.010079549, -0.2055006, -0.09385158, 0.006519388, 0.11838815, 0.37134558, -0.165772, 0.12704434) * go_3(0.0, 0.0); + result += mat4(0.11643292, 0.03294274, -0.09800525, -0.13601723, -0.081318736, -0.059975546, -0.039105035, -0.2893635, -0.13024913, -0.058016162, -0.09961072, 0.10532414, 0.24250132, -0.35546342, -0.092634924, 0.093994915) * go_3(0.0, 1.0); + result += mat4(-0.18799333, 0.25611782, 0.014645917, -0.063751906, 0.06498416, 0.16619027, -0.14411639, 0.3914421, -0.07343631, -0.116468735, -0.10941946, -0.2553544, -0.37774643, -0.0018441634, 0.06827239, -0.0122299045) * go_3(1.0, -1.0); + result += mat4(-0.11884597, -0.2477297, 0.048488285, -0.06438257, -0.124703035, 0.25932777, 0.0650111, -0.0930877, 0.06463341, -0.000544085, 0.0147504965, -0.170097, -0.13241997, 0.20983136, -0.15956205, 0.03424298) * go_3(1.0, 0.0); + result += mat4(-0.034574904, 0.06755256, 0.09508443, -0.17162292, 0.046379335, 0.2178781, 0.08699012, -0.055380464, -0.2237568, -0.07427848, -0.028395249, -0.3225617, -0.084454566, -0.24776657, 0.254169, 0.13229847) * go_3(1.0, 1.0); + result += vec4(0.18765923, -0.07697714, 0.028134674, -0.060966115); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!SAVE conv2d_7_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.21919365, 0.36627784, 0.12603314, 0.24306288, 0.06447028, 0.06472204, -0.05997039, -0.15651788, 0.017059859, -0.006497198, -0.4189735, 0.021636713, -0.23887977, -0.014220949, 0.031113686, -0.17342716) * go_0(-1.0, -1.0); + result += mat4(-0.10818789, -0.03273837, 0.33918005, -0.19290088, 0.0955361, -0.34107623, -0.054906327, -0.18083344, -0.060723677, 0.24395694, 0.112975016, -0.07254578, -0.14389384, 0.13235968, -0.15054801, -0.26216486) * go_0(-1.0, 0.0); + result += mat4(-0.23442148, -0.07857079, 0.022283873, -0.2656417, 0.037092753, -0.037313666, -0.5057047, 0.042533103, -0.120424, 0.00021930189, -0.0044566668, -0.45536995, 0.00040759926, 0.14597592, -0.094990164, -0.036161344) * go_0(-1.0, 1.0); + result += mat4(0.15024352, 0.19903262, -0.0734784, 0.092836305, -0.025753846, 0.024750374, -0.07550193, 0.035420835, 0.11084378, 0.26119822, -0.08443512, -0.0047807065, -0.042685136, 0.24889739, 0.098650105, 0.2088369) * go_0(0.0, -1.0); + result += mat4(-0.25551823, 0.14455976, 0.19886157, -0.23465924, 0.20711218, -0.20875362, -0.11320392, -0.30852005, -0.06795657, 0.008670962, 0.30601278, 0.6929064, 0.17079145, 0.15744895, 0.06441601, 0.06514001) * go_0(0.0, 0.0); + result += mat4(0.03142604, -0.006410137, -0.023654792, -0.05708553, 0.062985405, -0.077010594, 0.078804865, 0.050882503, 0.010274228, -0.15558401, 0.09490256, 0.14964707, -0.11966925, -0.36176664, 0.27809814, -0.18862294) * go_0(0.0, 1.0); + result += mat4(0.05609992, 0.0041612233, -0.08498908, 0.04479823, -0.080117956, -0.17423204, -0.22858045, 0.054569032, -0.050866384, -0.020000307, 0.027000953, -0.67724514, 0.16240878, -0.04641204, 0.0648367, -0.20613132) * go_0(1.0, -1.0); + result += mat4(0.08542306, -0.08254248, -0.11090553, -0.14140448, -0.10788511, -0.13011602, -0.29319742, -0.26007155, 0.11033401, -0.31966573, 0.32668245, 0.19542319, 0.06329418, 0.20904626, 0.2724067, -0.009155685) * go_0(1.0, 0.0); + result += mat4(-0.007403411, 0.0012836396, -0.23446666, -0.03017208, 0.062420018, -0.13611084, -0.2975928, 0.13173148, -0.03679939, 0.13743873, -0.10121899, 0.074514665, 0.1497629, -0.09523838, 0.39018926, 0.37807035) * go_0(1.0, 1.0); + result += mat4(0.11441487, -0.19565523, -0.25757137, -0.16148767, 0.15575317, -0.12657928, 0.10479676, 0.062919036, 0.010544159, 0.22931573, 0.20360178, 0.4637635, -0.3395036, -0.52467215, 0.08759308, 0.028030418) * go_1(-1.0, -1.0); + result += mat4(0.2699195, -0.34218305, 0.15259695, 0.03139074, -0.024053533, -0.029567484, 0.28480124, 0.20525953, 0.15452823, -0.217713, 0.15861876, -0.012275699, 0.21408023, 0.097508304, -0.57126766, -0.14679857) * go_1(-1.0, 0.0); + result += mat4(-0.0755847, -0.09751562, -0.29480466, -0.22285318, 0.14196442, 0.114573136, -0.22294767, 0.12463806, 0.3322209, -0.04631724, -0.11097061, -0.27986854, -0.16099304, -0.060079545, 0.00299308, 0.120776065) * go_1(-1.0, 1.0); + result += mat4(0.050933484, -0.13776319, -0.18809728, 0.24035202, -0.32528606, -0.41684148, -0.029342847, 0.28642926, -0.07963454, -0.12905268, 0.07606093, 0.24670005, -0.08815598, -0.23320907, -0.008099349, 0.21512873) * go_1(0.0, -1.0); + result += mat4(0.19247563, 0.18083979, -0.09719762, 0.15314941, -0.22350982, 0.46515045, -0.3571128, 0.35953265, 0.06921985, -0.4482386, -0.18732521, -0.5043983, 0.35159567, -0.33315298, -0.21884166, -0.16283798) * go_1(0.0, 0.0); + result += mat4(-0.021124054, -0.007966742, 0.0052493825, 0.022550896, 0.030403977, 0.3377868, -0.47602004, -0.077664234, -0.07222509, -0.07486097, -0.37971064, -0.5107857, -0.06299477, 0.04930232, -0.3330487, 0.29845512) * go_1(0.0, 1.0); + result += mat4(-0.063705474, -0.07917637, -0.02026607, -0.05142568, 0.021577014, -0.07379867, 0.033937998, 0.08148773, -0.02717838, -0.03233838, 0.098000035, 0.036476444, -0.13366953, 0.014477577, 0.24064232, 0.39313284) * go_1(1.0, -1.0); + result += mat4(-0.16046515, -0.094624564, 0.35435164, 0.09942324, -0.07137174, -0.27999225, 0.124644354, -0.0062176553, 0.015016751, -0.05500243, -0.23249559, -0.4508382, 0.1860433, 0.10671491, -0.033345353, -0.06611453) * go_1(1.0, 0.0); + result += mat4(0.21614046, -0.01307525, -0.18941112, -0.20533535, -0.14481686, -0.47801897, 0.22605121, -0.20298961, -0.06744227, -0.20377496, -0.11926173, 0.15645133, -0.31570885, -0.3495616, -0.024666889, 0.040965475) * go_1(1.0, 1.0); + result += mat4(-0.11748018, -0.039976366, -0.00084064255, -0.028653437, -0.16216733, -0.036768105, 0.018064514, -0.0928936, 0.14008482, -0.064511225, 0.24329947, -0.0268608, 0.050330248, 0.08540601, -0.07272679, -0.01187671) * go_2(-1.0, -1.0); + result += mat4(-0.09459936, -0.011723822, -0.06952858, -0.07808506, -0.065588176, 0.332501, -0.0120042395, 0.07668016, 0.14735217, -0.14856043, -0.06702449, -0.020953184, -0.023006834, 0.06135422, 0.1491448, -0.028061569) * go_2(-1.0, 0.0); + result += mat4(0.25136968, 0.25146323, -0.108277924, -0.20407207, -0.0013780294, 0.16108194, 0.25143847, 0.06672421, -0.033905584, -0.021144686, -0.019152718, 0.34619498, 0.14560962, 0.034437314, 0.024790365, -0.049976267) * go_2(-1.0, 1.0); + result += mat4(-0.24928351, 0.12637813, 0.23609994, 0.12722939, -0.036997862, -0.16554876, 0.11144095, -0.10040036, -0.020359103, -0.080701865, -0.3142192, 0.27257237, 0.13546956, -0.14416885, 0.028196262, -0.2886465) * go_2(0.0, -1.0); + result += mat4(0.28524777, -0.4236231, 0.27420738, -0.21095508, 0.23475651, 0.115876295, -0.18837357, -0.0260708, 0.030670704, -0.11516913, -0.11365572, -0.2203149, -0.018612983, -0.10719593, -0.031727783, 0.1403327) * go_2(0.0, 0.0); + result += mat4(0.07240512, 0.03139215, 0.12328737, -0.021201206, -0.13971715, 0.072742075, -0.0011289873, 0.0053133667, 0.035639685, -0.04322272, -0.19288473, -0.15812221, -0.19126481, 0.0698514, 0.17619178, -0.035605464) * go_2(0.0, 1.0); + result += mat4(-0.18552057, 0.07259671, 0.011667668, -0.15630563, 0.11414356, 0.14482655, -0.04021029, 0.18495587, -0.11386139, -0.09058561, -0.011265998, 0.23358451, 0.0521358, 0.12495261, 0.021644838, -0.048094347) * go_2(1.0, -1.0); + result += mat4(-0.09222373, 0.0533347, 0.055820454, 0.22382596, 0.18713981, 0.2668916, -0.019384036, 0.012698582, 0.13325234, 0.20361474, -0.33106443, -0.08571572, -0.21243028, -0.10996386, 0.123459645, 0.1534967) * go_2(1.0, 0.0); + result += mat4(0.18133277, 0.18108074, -0.05638664, 0.29533157, -0.2108019, -0.033636626, 0.5015888, -0.15116066, -0.041320793, -0.14764231, 0.07314567, -0.18865979, 0.10276937, 0.094240844, -0.1364283, 0.27812913) * go_2(1.0, 1.0); + result += mat4(0.06040915, 0.23753685, 0.19019844, 0.23948252, -0.07535012, 0.11848904, 0.14389765, 0.050067905, 0.16150077, -0.030053454, 0.12478255, 0.26020208, 0.111198805, 0.06787492, -0.12771018, 0.006687384) * go_3(-1.0, -1.0); + result += mat4(-0.5421617, 0.10414128, -0.21526064, -0.08883624, 0.13145073, -0.29695904, 0.57386386, 0.073361695, -0.09538372, 0.27593842, 0.070922814, 0.21769938, 0.06214975, 0.11847816, 0.10033405, 0.29360098) * go_3(-1.0, 0.0); + result += mat4(-0.16294672, -0.014815565, 0.22046989, 0.16858687, 0.058917344, 0.21384977, 0.18803519, 0.105688855, 0.0355118, 0.20571202, -0.07341922, 0.26624045, -0.0415102, 0.050942056, 0.19727907, 0.20122413) * go_3(-1.0, 1.0); + result += mat4(-0.020470422, 0.15815964, -0.13437317, -0.1967045, 0.074902646, 0.08356444, 0.055913117, -0.12837863, -0.18647918, 0.07002247, 0.038864706, -0.07288784, 0.04135125, -0.016055549, -0.1340297, -0.15578008) * go_3(0.0, -1.0); + result += mat4(-0.07685624, 0.00079105416, -0.068755336, 0.110282525, -0.014170752, 0.041282844, -0.17035173, 0.19439398, -0.3036256, 0.024148455, -0.19566648, -0.06736254, 0.14203559, -0.13016985, -0.32845357, -0.14266774) * go_3(0.0, 0.0); + result += mat4(0.0087252045, 0.098839566, -0.08770506, -0.08499465, 0.015245115, -0.110854514, 0.054458305, -0.018121868, -0.09666134, -0.08316006, 0.24617113, -0.17195955, 0.2574254, 0.06734342, -0.13792352, -0.07306126) * go_3(0.0, 1.0); + result += mat4(-0.0073954533, -0.20126835, -0.22545357, -0.29462856, 0.057408337, 0.11939119, -0.01846476, 0.12534486, 0.15751605, -0.14282645, -0.14219986, 0.14283386, 0.14090413, 0.10500912, 0.03039335, 0.17448832) * go_3(1.0, -1.0); + result += mat4(0.043910783, -0.09140025, -0.21666165, 0.07616939, 0.104454786, 0.309926, -0.12906921, 0.1140117, 0.09372434, 0.049547072, -0.086615674, -0.034449168, 0.096705064, 0.26001686, 0.027063297, 0.12422948) * go_3(1.0, 0.0); + result += mat4(0.1365422, 0.2679611, 0.12037257, 0.43346113, 0.08223084, -0.016788265, 0.13570398, -0.017974345, -0.17922844, -0.09475725, 0.073539585, -0.106947675, 0.08998511, 0.04133868, 0.16586913, -0.26291734) * go_3(1.0, 1.0); + result += vec4(-0.19233678, 0.016725872, -0.008011114, -0.1977463); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!SAVE conv2d_7_tf1 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.36016628, 0.019064043, 0.3073228, 0.16891135, 0.026739368, 0.31136194, 0.11260383, -0.26918694, 0.0419928, -0.3365078, 0.20189743, -0.04136312, 0.039564647, 0.033199426, 0.18768296, -0.017119858) * go_0(-1.0, -1.0); + result += mat4(0.28663483, -0.41716507, 0.059281543, 0.043736435, 0.0028875466, 0.13817391, -0.12543318, -0.2794053, -0.023528943, 0.10610115, 0.09100278, 0.040132936, -0.21949205, -0.027810011, -0.0301218, 0.084047124) * go_0(-1.0, 0.0); + result += mat4(0.39674807, -0.0040878756, -0.038235947, 0.11880838, 0.009898328, 0.19107847, -0.009313831, -0.1554276, -0.047341663, 0.18049581, -0.029317195, 0.0708909, 0.0708316, -0.110617444, 0.14584038, -0.022261223) * go_0(-1.0, 1.0); + result += mat4(-0.20400241, 0.0896492, -0.010386381, -0.052133385, 0.005023956, -0.06628705, -0.16436209, -0.25345984, -0.05285192, 0.09706557, -0.03778914, -0.152546, 0.17023252, 0.063713826, 0.00743037, 0.056634087) * go_0(0.0, -1.0); + result += mat4(-0.080793336, 0.4204207, 0.19098237, 0.20028038, -0.054076545, 0.22064368, -0.25853387, -0.3643562, 0.2085573, -0.023731, -0.06727709, -0.18683033, -0.18032159, -0.06388348, 0.304463, -0.2517781) * go_0(0.0, 0.0); + result += mat4(0.11940941, 0.10624008, 0.16120581, 0.2369602, 0.3321827, 0.4272075, -0.10403669, -0.31388018, -0.006372124, -0.00653671, 0.109810196, 0.2277172, 0.005771998, 0.086026914, -0.08934813, -0.094941735) * go_0(0.0, 1.0); + result += mat4(-0.13233568, 0.24112508, -0.0068006413, 0.12466225, 0.11396591, -0.07249253, -0.29090378, -0.12828146, -0.22001141, -0.08532405, -0.11932601, 0.29452974, 0.09572195, 0.017603843, 0.12454017, 0.16321751) * go_0(1.0, -1.0); + result += mat4(0.042107448, -0.00807216, 0.06580674, -0.1289527, 0.13977426, -0.037159685, -0.21001346, -0.08698161, 0.22370502, -0.29170328, 0.2179206, 0.36621302, 0.0825477, -0.016513655, -0.11157249, 0.12861598) * go_0(1.0, 0.0); + result += mat4(0.2246826, -0.13262233, 0.12131653, -0.15522355, 0.38104856, 0.030237729, 0.1286289, -0.19770473, -0.16175011, -0.13688888, 0.23505463, 0.21333031, 0.76352316, -0.17949077, -0.13124311, 0.1613879) * go_0(1.0, 1.0); + result += mat4(-0.050607495, 0.0846705, -0.06136092, -0.033436477, 0.41138348, 0.037043408, -0.02676336, -0.37771952, 0.22147503, 0.06490757, -0.04266158, -0.22606373, 0.045775007, -0.054498192, -0.21495876, -0.036050417) * go_1(-1.0, -1.0); + result += mat4(-0.06242522, 0.2700824, -0.05602621, -0.12361551, 0.14477442, 0.19403581, 0.23505251, -0.072234035, -0.15831544, 0.4640447, -0.104754634, -0.004539681, -0.20246096, 0.23216484, -0.35886365, 0.11360777) * go_1(-1.0, 0.0); + result += mat4(0.14777757, 0.18951412, 0.027219458, 0.11216015, 0.02997997, -0.13466355, -0.0010830094, 0.021302953, 0.23441231, -0.14529245, 0.08068729, 0.10044398, 0.3972878, 0.26570204, 0.0046810666, -0.2863261) * go_1(-1.0, 1.0); + result += mat4(-0.10385485, 0.1053724, 0.16961229, 0.20727012, -0.025148917, -0.011365095, 0.03899919, -0.030950211, 0.079080455, -0.32767853, 0.064670205, -0.035771385, 0.16833797, -0.21567492, 0.30871257, -0.19965471) * go_1(0.0, -1.0); + result += mat4(-0.23420888, -0.004894698, -0.18162623, -0.31107524, 0.11976508, 0.14924951, -0.08723316, 0.21401922, -0.58200324, -0.01177345, -0.049033508, 0.19593577, -0.21139073, 0.13016601, 0.08734843, 0.4158892) * go_1(0.0, 0.0); + result += mat4(0.0009789813, 0.33274913, 0.017405733, -0.042906318, -0.26410276, -0.09291333, 0.019387102, 0.105381854, -0.009176527, 0.09483514, -0.28462934, -0.03644404, 0.285194, -0.4260311, 0.14902237, -0.115670316) * go_1(0.0, 1.0); + result += mat4(-0.09344311, 0.4463103, 0.19984834, -0.09733857, -0.118717775, -0.0708026, 0.24919955, -0.11234634, 0.1246395, -0.052909933, 0.1525815, 0.07724016, 0.0070534665, -0.06404165, -0.18149726, -0.014058336) * go_1(1.0, -1.0); + result += mat4(-0.17353044, 0.15376104, 0.004588994, -0.13554202, -0.19920237, -0.18918681, 0.11327512, -0.117296435, -0.0785251, 0.013677155, -0.2103214, 0.06843426, -0.27790928, 0.09837545, -0.00019213746, 0.09132539) * go_1(1.0, 0.0); + result += mat4(-0.01586651, 0.014929441, 0.2426186, -0.1889374, -0.0865462, -0.07454513, -0.20797268, -0.22366855, 0.19704159, 0.0048206006, -0.16707218, -0.14162683, 0.036798395, -0.1663155, -0.12009389, 0.09603803) * go_1(1.0, 1.0); + result += mat4(-0.041532192, 0.05753804, 0.17927068, -0.042112097, 0.12080969, -0.15052572, -0.34855765, -0.07356988, -0.28199884, -0.18958664, 0.15879883, 0.08511588, 0.0034213227, -0.05338495, -0.37285298, 0.06626709) * go_2(-1.0, -1.0); + result += mat4(-0.20219134, 0.22150375, -0.29405454, 0.06597703, -0.018885285, -0.010551704, -0.010774283, 0.08758955, -0.2015349, -0.17006227, -0.24321876, -0.06864207, -0.118437864, -0.043977212, -0.029736811, 0.14040919) * go_2(-1.0, 0.0); + result += mat4(-0.18709077, -0.09723938, 0.12783436, -0.15167634, 0.29039705, -0.11009911, 0.018371418, -0.060096707, -0.07256923, -0.25799567, -0.06276934, -0.035992302, -0.06729111, -0.059956793, -0.024079734, 0.011838878) * go_2(-1.0, 1.0); + result += mat4(0.010449175, -0.08212451, 0.1409803, 0.11861122, -0.18035835, 0.051930565, 0.01049551, -0.09447962, 0.12029649, 0.040604513, -0.059971705, -0.0044667358, -0.22080486, -0.11187681, 0.124374695, -0.004155485) * go_2(0.0, -1.0); + result += mat4(-0.28584236, -0.38480133, -0.13987814, -0.4463469, -0.3890419, -0.022498172, 0.17334452, 0.21895568, -0.15450422, -0.10905497, 0.15111905, -0.22554915, 0.106121585, -0.029144369, 0.36059046, 0.22140682) * go_2(0.0, 0.0); + result += mat4(-0.23780307, -0.023033705, 0.068205886, -0.110635854, -0.26720005, -0.1608183, 0.19523881, 0.07972837, -0.018495852, -0.2793956, 0.17668398, -0.12020479, -0.079556085, -0.02284952, 0.031480275, 0.31818348) * go_2(0.0, 1.0); + result += mat4(0.22501226, -0.00829407, 0.059581667, 0.16512989, 0.18711442, 0.1200968, 0.11812652, -0.16091056, 0.15733972, 0.045156084, 0.20640492, -0.16852027, -0.11217177, 0.06746273, -0.050218176, 0.08643783) * go_2(1.0, -1.0); + result += mat4(0.20715691, -0.1082907, 0.027892975, 0.19515261, -0.17838904, 0.1532257, -0.108409844, -0.06632365, -0.13805026, 0.23020233, 0.12416581, -0.14861803, 0.16650471, 0.08158386, -0.09051303, -0.06981649) * go_2(1.0, 0.0); + result += mat4(-0.04617126, 0.06579221, 0.25964734, 0.28500968, 0.07641255, -0.090885855, -0.0972522, 0.18298368, -0.06393334, 0.103463, -0.23062052, -0.15270731, 0.13633437, 0.074707486, 0.15065335, -0.024602572) * go_2(1.0, 1.0); + result += mat4(0.118319295, 0.010410938, 0.044655934, -0.104725905, 0.030477569, 0.12867387, 0.039075315, 0.18922117, 0.13301082, -0.1601557, 0.038168408, -0.07372259, -0.09522213, -0.095107146, -0.16679631, 0.044673234) * go_3(-1.0, -1.0); + result += mat4(0.46229, -0.30780822, -0.09081465, 0.1433387, -0.0315039, 0.059409115, -0.24948491, -0.17146957, 0.060843736, -0.041989822, 0.054005735, 0.22835566, 0.12036598, -0.0070898845, 0.17276852, -0.17754094) * go_3(-1.0, 0.0); + result += mat4(-0.35119572, 0.020034311, 0.08751943, 0.08193488, 0.041884877, 0.22649358, -0.07447533, 0.20845473, -0.04859846, -0.16206735, 0.06819576, -0.053000778, 0.18146423, 0.04694148, 0.045293212, 0.06783575) * go_3(-1.0, 1.0); + result += mat4(0.280914, -0.14998704, -0.23485807, -0.015608296, 0.1549556, -0.11992663, -0.094974115, 0.05887284, 0.053392075, 0.10322464, -0.075066686, 0.068358354, -0.18663338, 0.009901499, -0.123370335, -0.12502703) * go_3(0.0, -1.0); + result += mat4(0.7748568, -0.17870626, -0.20770052, 0.024692526, -0.056430295, -0.06324113, -0.03660047, 0.29629672, -0.51896983, -0.027231261, 0.05903762, 0.077677645, -0.061675485, -0.20277846, 0.10352223, -0.08198446) * go_3(0.0, 0.0); + result += mat4(-0.06347568, 0.21643166, -0.09718546, 0.0372257, -0.029537952, -0.0357135, -0.09548363, 0.18225233, -0.29609334, -0.3496132, 0.18245913, -0.10162589, -0.18189451, -0.09077887, 0.117313184, -0.06863874) * go_3(0.0, 1.0); + result += mat4(-0.047373574, -0.020289376, -0.25748715, -0.13568166, 0.15656634, -0.06841899, 0.012100781, -0.13611819, 0.0016357322, -0.23870537, 0.14035743, -0.14700134, 0.2535575, -0.13697346, -0.13693139, -0.10365287) * go_3(1.0, -1.0); + result += mat4(0.4283934, -0.316192, -0.012617617, 0.018468965, 0.21436644, 0.18408814, -0.42651537, 0.12504087, -0.13894933, 0.091662176, -0.20096369, -0.080727175, -0.005487846, 0.17046383, 0.1383948, -0.0054956395) * go_3(1.0, 0.0); + result += mat4(0.20014295, -0.027282396, -0.06317007, 0.04452042, 0.064600386, 0.072222926, -0.33409226, 0.08063831, -0.022607977, 0.1308856, -0.39691743, -0.094889864, -0.1810531, 0.011367248, -0.2531222, -0.22468317) * go_3(1.0, 1.0); + result += vec4(0.26886886, 0.05874665, 0.10268232, 0.05833081); + return result; +} +//!DESC Anime4K-v4.0-Restore-CNN-(VL)-Conv-3x1x1x112 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_7_tf +//!BIND conv2d_7_tf1 +//!SAVE MAIN +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +#define g_0 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_1 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_5 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_8 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_9 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_10 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_14 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_16 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_17 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_18 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_20 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_21 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_22 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_24 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_25 (max((conv2d_7_tf1_tex(conv2d_7_tf1_pos)), 0.0)) +#define g_26 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_7_tf1_tex(conv2d_7_tf1_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.09689336, 0.06046458, 0.072598994, 0.0, 0.11994565, 0.104477674, 0.09302802, 0.0, -0.05718302, 0.050438102, 0.08814741, 0.0, 0.0308889, 0.0033925986, -0.01715605, 0.0) * g_0; + result += mat4(-0.028314235, 0.06597744, 0.0966897, 0.0, 0.035656154, 0.07770106, 0.075551905, 0.0, 0.0001793458, -0.000479495, -0.00297406, 0.0, -0.053916585, -0.016807461, -0.0057141334, 0.0) * g_1; + result += mat4(-0.047189303, -0.0207, -0.020910334, 0.0, -0.07933196, -0.06961211, -0.086069845, 0.0, 0.0943727, 0.008463375, 0.010755166, 0.0, 0.062410597, 0.022625161, 0.04068433, 0.0) * g_2; + result += mat4(0.10270994, -0.019080428, 0.0050091282, 0.0, -0.004672948, -0.013966742, -0.0063746064, 0.0, -2.5856789e-05, 0.03151499, -0.0023983798, 0.0, 0.113539025, 0.12381699, 0.100360274, 0.0) * g_3; + result += mat4(0.07868885, -0.030913834, -0.009213676, 0.0, 0.04870991, 0.021467991, 0.038739506, 0.0, -0.042969644, -0.07122453, -0.08798675, 0.0, -0.09784122, 0.021434791, 0.02510374, 0.0) * g_4; + result += mat4(0.050420716, 0.0729716, 0.076532185, 0.0, -0.019112485, -0.01037939, -0.026948035, 0.0, -0.02591423, 0.008927897, -0.00042541025, 0.0, 0.1043701, -0.0071186824, -0.041817162, 0.0) * g_5; + result += mat4(-0.16143242, -0.0009298223, -0.01228508, 0.0, 0.07744052, -0.018313263, -0.0488145, 0.0, 0.09241393, 0.07128674, 0.055164956, 0.0, 0.054884013, -0.04834418, -0.06281626, 0.0) * g_6; + result += mat4(-0.049036566, -0.05979936, -0.05594288, 0.0, -0.014564307, 0.031926468, 0.037857566, 0.0, 0.015474487, -0.11385003, -0.11527764, 0.0, -0.07076006, 0.057038613, 0.095983796, 0.0) * g_7; + result += mat4(0.03094887, -0.008734403, 0.00042712069, 0.0, 0.053891554, 0.05837673, 0.06200635, 0.0, 0.09071558, -0.04202184, -0.046172567, 0.0, -0.0425916, 0.04905093, 0.020835675, 0.0) * g_8; + result += mat4(0.096628904, -0.037792254, -0.043241944, 0.0, -0.011923947, -0.025950424, -0.031381752, 0.0, -0.060941868, -0.07859433, -0.07535451, 0.0, -0.026777223, 0.08604982, 0.07829908, 0.0) * g_9; + result += mat4(-0.06435972, 0.0036599538, 0.00786578, 0.0, -0.061972067, -0.05681472, -0.06667608, 0.0, -0.106890626, 0.007406496, 0.029977169, 0.0, -0.20519382, -0.044860814, 0.0021225857, 0.0) * g_10; + result += mat4(-0.16876474, 0.012789643, 0.026692612, 0.0, 0.017817136, 0.026935097, 0.02227043, 0.0, 0.01690181, 0.07716103, 0.086527, 0.0, 0.07923805, -0.10443151, -0.10859543, 0.0) * g_11; + result += mat4(0.003730466, -0.024648283, -0.022169832, 0.0, -0.0062762927, 0.022062732, 0.032966793, 0.0, 0.016349113, 0.017197203, 0.020952817, 0.0, -0.1763789, 0.035497356, 0.053835396, 0.0) * g_12; + result += mat4(0.020886675, -0.07054202, -0.079142675, 0.0, 0.06664387, 0.044960167, 0.042230908, 0.0, -0.095019594, 0.012421141, 0.0142890485, 0.0, 0.056814816, -0.012751135, -0.014684506, 0.0) * g_13; + result += mat4(0.011765893, 0.0008920681, -0.0018258415, 0.0, -0.010473814, -0.023085753, -0.028783914, 0.0, -0.023034256, -0.0024786016, -0.0052162083, 0.0, 0.1643386, -0.06132718, -0.09289065, 0.0) * g_14; + result += mat4(0.016597198, 0.09389637, 0.10833379, 0.0, -0.043163072, -0.04714812, -0.035274632, 0.0, 0.09634976, -0.009292612, -0.022424143, 0.0, -0.08765172, 0.0051558353, 0.010900356, 0.0) * g_15; + result += mat4(0.030815786, 0.021069322, 0.01812191, 0.0, 0.084839165, -0.0080813095, -0.029270556, 0.0, -0.10456346, 0.062386703, 0.0665605, 0.0, 0.11926609, -0.1104228, -0.13291118, 0.0) * g_16; + result += mat4(-0.07159541, -0.007267032, -0.010134558, 0.0, 0.008234213, 0.045609634, 0.040295456, 0.0, 0.018416971, 0.01308482, 0.014649557, 0.0, 0.035107512, -0.02140815, -0.030279048, 0.0) * g_17; + result += mat4(0.01918586, 0.03875863, 0.03229402, 0.0, -0.07917104, 0.041135103, 0.057182517, 0.0, 0.08609541, 0.0079662455, 0.004327576, 0.0, -0.14332893, 0.03120354, 0.056732506, 0.0) * g_18; + result += mat4(0.03200192, -0.0035752193, -0.0031064528, 0.0, -0.010902813, 0.014607456, 0.019431474, 0.0, -0.016461229, -0.004938204, -0.004655488, 0.0, -0.033470232, 0.0026075812, 0.005896968, 0.0) * g_19; + result += mat4(0.037410006, 0.048742272, 0.04348088, 0.0, 0.037719514, 0.030768529, 0.03127472, 0.0, 0.056426726, 0.03066893, 0.016440205, 0.0, -0.010599352, 0.022832409, 0.023211194, 0.0) * g_20; + result += mat4(-0.005733291, 0.06365659, 0.06663611, 0.0, -0.041917093, -0.016493445, -0.020438088, 0.0, -0.0014357592, -0.0022506563, -0.0045095007, 0.0, 0.029893145, -0.009129354, -0.015173116, 0.0) * g_21; + result += mat4(0.013052085, 0.005108175, 0.0025906067, 0.0, -0.021950055, -0.036447693, -0.036141638, 0.0, -0.036296472, 0.0068928464, 0.013102313, 0.0, 0.0060471976, -0.024798103, -0.023548538, 0.0) * g_22; + result += mat4(0.0067743887, -0.06191211, -0.062355213, 0.0, 0.0016080744, -0.020445071, -0.016840393, 0.0, 0.028264903, 0.01852915, 0.015891539, 0.0, -0.023877412, -0.013271666, -0.008158679, 0.0) * g_23; + result += mat4(-0.04317466, -0.018953001, -0.020452993, 0.0, -0.009322576, -0.03022352, -0.030970376, 0.0, 0.05653658, 0.05430553, 0.046692245, 0.0, 0.05615359, 0.059338935, 0.056018773, 0.0) * g_24; + result += mat4(0.022878079, 0.03392234, 0.033057988, 0.0, -0.017554542, -0.0141542535, -0.014122613, 0.0, -0.048634093, -0.05316463, -0.047988772, 0.0, -0.058002178, -0.040221967, -0.034025013, 0.0) * g_25; + result += mat4(-0.018253656, -0.04197674, -0.040467236, 0.0, -0.04358929, -0.028309818, -0.025425073, 0.0, -0.008488672, -0.001727991, 0.00035808363, 0.0, -0.0011709273, 0.0052514165, 0.0059479307, 0.0) * g_26; + result += mat4(-0.08333935, -0.09818201, -0.09476284, 0.0, -0.033692095, -0.046259012, -0.045797516, 0.0, -0.007577072, 0.0022402718, 0.0016200038, 0.0, 0.0029786075, -0.020728534, -0.018938033, 0.0) * g_27; + result += vec4(0.047567394, -0.02504617, -0.028163986, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_GAN_UL.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_GAN_UL.glsl new file mode 100644 index 0000000..78b8069 --- /dev/null +++ b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_GAN_UL.glsl @@ -0,0 +1,1317 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.011550553, 0.2571523, -0.16894904, -0.09610124, -0.052744195, 0.30938542, 0.21441698, 0.2569063, 0.06468069, 0.089650966, 0.0748017, -0.018602168, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.17143345, 0.051090688, -0.040205717, 0.23977952, -0.06845662, 0.11059154, 0.27167943, 0.039820686, -0.037420645, 0.32412684, 0.114460744, 0.19145139, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.18283899, 0.16125157, -0.29441658, -0.14905207, 0.19206345, -0.03641905, -0.0255512, -0.1973209, 0.096413575, -0.165314, 0.09896132, -0.023077995, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.03697045, 0.16279477, -0.22278853, -0.111244164, 0.12984428, -0.016251296, 0.06175422, -0.38215196, -0.020128965, -0.1455273, -0.08009769, 0.25073814, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.5884801, -0.6035645, 0.29799506, 0.15807843, -0.7622044, -0.15211694, 0.02642718, 0.08056384, -0.019515019, -0.08969495, 0.05972669, -0.56973815, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.5292328, -0.12033433, 0.1487622, -0.016836211, 0.18644744, -0.1327393, 0.1285929, -0.25551647, 0.1799259, 0.041404646, -0.20043947, -0.3026472, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.024188336, -0.054328248, -0.12121459, 0.17569984, 0.0269405, -0.068125665, -0.12267483, -0.03206367, 0.010800722, 0.06791396, 0.21666309, 0.00086910516, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.11299782, 0.16244878, 0.050983112, -0.20673744, 0.0814762, -0.290341, -0.13428551, 0.02317926, -0.23702003, -0.057354085, -0.16910575, 0.12039626, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.0099286465, -0.01866624, -0.01341757, 0.040368155, 0.29543665, 0.20391521, 0.015693977, 0.024313066, -0.009628433, 0.014835176, -0.05416802, -0.049118232, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.009906447, 0.016014593, -0.015037731, 0.019793766); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.2907437, -0.077323735, -0.16973291, -0.16443132, 0.22864507, 0.49630427, 0.26739725, 0.032699764, 0.06087564, -0.20624332, 0.0112693785, 0.08255652, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.06868092, -0.40196502, 0.13545038, 0.17964815, -0.05201233, -0.068510085, -0.033420287, 0.11053642, -0.22962584, 0.1240376, -0.07122576, -0.287889, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.08391916, 0.044837173, 0.05309633, -0.020162301, 0.21601973, 0.107087076, 0.009593669, -0.0480218, -0.0341008, 0.065055884, -0.037138876, 0.098079376, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.13852748, -0.41455564, 0.18791267, 0.092003055, 0.09786073, 0.13783242, -0.0740668, 0.24771707, -0.33705822, 0.14416842, 0.15743637, -0.2325511, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.5497675, -0.29078907, 0.05763203, -0.04751569, -0.6902698, -0.19779761, -0.39250666, -0.00016204051, 0.5432319, 0.2619331, -0.46955073, -0.3574246, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.061908755, -0.19342895, 0.16516154, 0.034592014, -0.19078135, 0.17319767, -0.08530775, 0.30626982, 0.07117333, -0.13394159, -0.16021773, -0.25067675, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.08075159, -0.2351002, -0.16552883, 0.05863658, 0.016604373, 0.097477786, 0.06739595, 0.055863712, 0.1263199, 0.21669623, 0.14968488, -0.08309879, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.29566878, -0.18975174, -0.31122676, 0.012913531, -0.14852591, 0.21946627, 0.34939107, 0.11229292, -0.065245174, 0.08148012, 0.3856815, -0.043731045, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.03664222, 0.05616905, 0.16613087, -0.036628574, -0.0907965, 0.013615345, 0.0053964662, -0.015731616, -0.022957215, 0.10116718, -0.094957925, 0.058128193, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.0017539978, -0.004052146, -0.0068221963, 0.0025597692); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.023552546, -0.17976846, -0.032507695, 0.34888005, -0.10224707, 0.13343506, 0.06544117, 0.012628775, -0.14143938, -0.19284354, 0.21922144, -0.24267627, 0.60245264, -0.24113165, -0.22310556, -0.02382731) * go_0(-1.0, -1.0); + result += mat4(-0.034701347, 0.07372663, 0.32609418, 0.11162037, -0.014141982, 0.07118311, -0.17728676, 0.11904929, -0.044187993, 0.10390664, -0.25206113, -0.27696803, -0.047686324, -0.1442619, 0.20605747, 0.06257326) * go_0(-1.0, 0.0); + result += mat4(-0.22148718, -0.01991937, 0.1064617, -0.040335968, 0.15501678, -0.23332876, 0.034576464, 0.0071954974, 0.29223567, -0.23055542, -0.2282997, -0.12242584, -0.37809116, -0.058991294, 0.39480785, 0.09886273) * go_0(-1.0, 1.0); + result += mat4(-0.14810124, 0.016219528, -0.19418913, -0.007893501, -0.053713404, 0.049100377, -0.05975324, 0.18977694, -0.050193787, -0.21011077, 0.2016647, 0.14340237, 1.0558138, -0.33549616, 0.231785, -0.3162362) * go_0(0.0, -1.0); + result += mat4(-0.13609457, -0.08641219, -0.44855806, 0.3498321, 0.30400246, -0.03185214, -0.1854452, -0.010487082, -0.17215589, 0.03237537, 0.28143924, -0.08109354, 0.22742943, -1.2136713, -0.13101196, 0.25476894) * go_0(0.0, 0.0); + result += mat4(0.13384807, 0.02634565, -0.0014585925, -0.119772, -0.22263676, 0.24358267, -0.29998726, 0.10864307, -0.025059542, 0.19892238, -0.48717195, -0.12713853, 0.0052565294, -0.06785795, -0.12660097, -0.2680154) * go_0(0.0, 1.0); + result += mat4(0.050817262, -0.000118490156, 0.008932358, 0.12216974, 0.00651495, -0.045953527, -0.06928984, -0.059567403, -0.045261804, -0.09506907, -0.15795891, 0.40871626, 0.75113076, -0.2689173, 0.014691355, 0.17588368) * go_0(1.0, -1.0); + result += mat4(-0.098001294, 0.017431907, -0.129577, -0.5423294, 0.006492312, -0.3798156, -0.0912911, -0.4348394, -0.008890873, 0.056336716, 0.31541198, 0.2757727, 0.18999146, -0.4838279, -0.8643528, -0.23371552) * go_0(1.0, 0.0); + result += mat4(0.12763253, 0.20787789, 0.014009273, -0.10351501, -0.10169546, 0.105827406, 0.08317957, 0.34155595, 0.09826027, 0.120087825, 0.00772547, -0.18460846, -0.057804313, -0.09804123, 0.23369344, -0.36933377) * go_0(1.0, 1.0); + result += mat4(0.016852003, -0.006062252, -0.12426935, 0.03895753, 0.015224101, 0.036187973, -0.12444835, 0.17155123, -0.21852624, -0.039858755, 0.030547414, -0.31835446, -0.1285454, 0.036886804, 0.120653056, 0.115938485) * go_1(-1.0, -1.0); + result += mat4(-0.0073105944, 0.0034892666, 0.16796911, 0.10596121, 0.053536925, -0.046282507, 0.04151762, 0.011876018, 0.038614176, -0.03580031, -0.119827464, -0.040998273, 0.07371248, 0.20536064, -0.11701863, 0.03227468) * go_1(-1.0, 0.0); + result += mat4(0.060087442, -0.2968361, 0.13312283, -0.23400159, -0.23598443, -0.042868868, 0.18195826, 0.28549528, 0.34385213, 0.21937303, -0.29659066, -0.2519378, 0.086887576, -0.2174296, 0.105925284, -0.021433428) * go_1(-1.0, 1.0); + result += mat4(0.13158737, 0.33106673, -0.17471395, -0.29580286, 0.06354943, 0.0942313, -0.0018473539, -0.036752637, -0.12811747, 0.17727722, -0.05052513, 0.02059626, 0.053381227, 0.051411, -0.040178068, 0.045549665) * go_1(0.0, -1.0); + result += mat4(-0.08831061, -0.28157574, -0.1294387, -0.034455232, 0.23092915, 0.064474, -0.26692396, 0.12853913, 0.006096496, -0.17732559, -0.14009307, 0.21564251, 0.20883715, 0.10718936, -0.47879994, -0.5107674) * go_1(0.0, 0.0); + result += mat4(-0.17679055, -0.03551305, 0.17372696, 0.25607085, -0.021303236, -0.116409995, 0.21391216, 0.1466252, 0.22911525, -0.11913164, 0.29034084, -0.08526714, -0.3873873, -0.21568687, 0.23877093, 0.42613512) * go_1(0.0, 1.0); + result += mat4(0.048116915, -0.08262296, -0.03324074, 0.13923667, -0.0062459446, -0.03517941, -0.009773409, -0.120674424, 0.15095374, -0.0005339233, 0.015473752, 0.14777213, 0.12814662, -0.05017428, -0.010744916, -0.23875938) * go_1(1.0, -1.0); + result += mat4(0.056450244, 0.11676627, -0.14198391, -0.045776248, 0.00897558, -0.058434367, 0.021832153, -0.52523935, -0.12343506, -0.11054828, 0.15865694, 0.09315367, -0.05297719, -0.10711813, 0.06007512, -0.08399776) * go_1(1.0, 0.0); + result += mat4(-0.019619863, 0.20729768, 0.043339703, 0.025781998, 0.023497196, 0.028392693, -0.04190367, -0.04418058, -0.042211913, -0.15244623, 0.02924173, 0.21085598, -0.035596382, 0.2381614, -0.030051846, 0.13014893) * go_1(1.0, 1.0); + result += mat4(-0.21234104, 0.041297037, -0.18101437, -0.2185761, 0.028981358, -0.081642486, -0.021145426, -0.009989747, 0.09318067, 0.16207193, -0.19826248, 0.16293178, -0.15917318, 0.06660727, 0.053039506, -0.1168678) * go_2(-1.0, -1.0); + result += mat4(-0.011286741, 0.14351663, -0.50032014, -0.026436124, -0.011840812, -0.07747942, 0.15334651, -0.14048274, -0.14003748, -0.047146395, -0.00042596797, 0.2566855, -0.03316183, 0.062969685, 0.043717206, -0.055696994) * go_2(-1.0, 0.0); + result += mat4(0.30375633, -0.023652522, -0.007335798, 0.11816739, -0.0505561, 0.16002876, -0.10969625, 0.11233836, -0.19340275, 0.05881697, 0.3182961, -0.022817641, 0.42393655, -0.0420881, -0.22744067, -0.11468599) * go_2(-1.0, 1.0); + result += mat4(0.19680668, -0.2718221, -0.109129034, -0.031820036, -0.014158195, 0.046111293, -0.14502439, -0.13337612, 0.09411394, 0.21357663, -0.20042713, -0.15176094, -0.0045771925, -0.031944096, 0.1550206, -0.03722588) * go_2(0.0, -1.0); + result += mat4(0.24317834, 0.18838319, 0.45047724, 0.18649562, -0.2095104, -0.0006020615, 0.08367084, -0.30320555, 0.07171591, -0.29137737, -0.049099058, 0.15327643, -0.24013925, 0.34259155, 0.115902506, 0.11450217) * go_2(0.0, 0.0); + result += mat4(0.016413163, 0.03915114, -0.015337155, 0.09729268, 0.29813018, -0.17131683, -0.2312706, 0.10482244, -0.2066783, -0.3365877, 0.2263724, 0.43815294, 0.036072776, 0.105696954, 0.077359736, 0.008051612) * go_2(0.0, 1.0); + result += mat4(0.12033027, 0.2112806, 0.017177183, -0.09654978, 0.07329572, 0.13259365, 0.011394168, 0.0069998833, -0.16171043, -0.02289922, 0.11146632, -0.33248207, -0.017027456, -0.10894563, -0.03257589, 0.021239217) * go_2(1.0, -1.0); + result += mat4(-0.031499073, -0.27365288, -0.064902805, 0.124796495, -0.023522072, -0.02951537, 0.04670401, 0.27531293, 0.43533918, 0.0585005, -0.15084462, -0.40506473, -0.32984722, -0.15036964, 0.07660922, -0.0032199689) * go_2(1.0, 0.0); + result += mat4(-0.115331754, -0.09803054, -0.024313536, 0.14555499, 0.23887083, -0.29849875, -0.26729763, 0.184482, 0.09255375, -0.10736947, -0.04150894, -0.0010320714, -0.051008355, -0.104129285, -0.08903581, 0.22098938) * go_2(1.0, 1.0); + result += mat4(0.06769511, -0.03238206, -0.068165705, -0.14739762, -0.061350193, 0.004104931, 0.11618826, 0.010067987, 0.02997295, 0.09301918, -0.12241719, 0.24177656, 0.22807428, -0.02756493, -0.0748496, -0.047249116) * go_3(-1.0, -1.0); + result += mat4(-0.18760902, 0.18009059, -0.0020327838, -0.21866414, -0.031515904, -0.05650113, -0.12750417, 0.103761345, 0.06476017, -0.3304871, -0.07148537, 0.24832407, -0.13958152, -0.09241458, 0.22140716, 0.08166865) * go_3(-1.0, 0.0); + result += mat4(0.26009315, -0.010701869, 0.023371957, -0.21740876, 0.17189556, 0.15437202, -0.14821805, -0.27689627, -0.2479749, -0.47549838, 0.32036334, 0.013038371, 0.14058238, 0.30515867, -0.26070523, 0.04663332) * go_3(-1.0, 1.0); + result += mat4(-0.020923758, -0.032509495, 0.12358641, 0.4433483, -0.06527426, -0.07173554, -0.11908415, -0.072907776, -0.0026322093, 0.045405984, 0.14449333, 0.18437918, 0.064828105, -0.151514, 0.091675825, 0.13046047) * go_3(0.0, -1.0); + result += mat4(-0.026943995, -0.07820492, -0.103887096, -0.3451598, 0.047472734, 0.0033870118, 0.440715, -0.20901312, 0.20392485, 0.2621361, 0.12270217, -0.24512972, -0.049621828, -0.22698936, 0.2641905, 0.009628438) * go_3(0.0, 0.0); + result += mat4(-0.20713174, 0.195439, 0.058581114, -0.10963195, 0.0812059, 0.011282248, -0.18487422, -0.016993608, 0.19099854, -0.3759483, -0.5897507, 0.14572738, 0.23315357, 0.10245343, 0.043103352, -0.46267846) * go_3(0.0, 1.0); + result += mat4(0.022161806, -0.00090681383, 0.052800614, 0.18393794, -0.027101398, 0.0014004739, 0.05572843, 0.118573196, -0.19916826, -0.02380698, 0.116629034, -0.28870407, 0.008048728, 0.053172585, -0.021419706, 0.09050276) * go_3(1.0, -1.0); + result += mat4(-0.016204836, 0.19174457, 0.2839895, 0.17540698, -0.123605736, -0.0061563863, 0.0028344695, 0.32647628, 0.057774115, 0.06937624, -0.13302265, -0.16724658, -0.12756115, 0.13584238, 0.078516625, 0.09640836) * go_3(1.0, 0.0); + result += mat4(0.120685734, -0.21064857, -0.16614036, -0.26340094, -0.06945371, 0.04921331, -0.020397125, 0.074044324, 0.23755525, -0.003564956, -0.06143462, -0.1825731, -0.11152944, -0.30590633, -0.054638807, -0.27331424) * go_3(1.0, 1.0); + result += vec4(0.04903664, 0.055879604, 0.072665684, -0.063299604); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.21144664, -0.21278776, 0.14495273, 0.40425083, 0.27247587, -0.109341, 0.033743903, 0.035514083, -0.39683792, 0.05346587, -0.164584, -0.27716008, 0.12337504, 0.06634312, 0.2134371, 0.6341114) * go_0(-1.0, -1.0); + result += mat4(0.13073774, -0.103435524, 0.0346405, 0.44462252, 0.11620409, 0.10156601, 0.054093704, -0.26547235, -0.11527728, 0.13799351, -0.027917054, -0.60904527, -0.07724007, -0.08113308, -0.009969666, 0.26369193) * go_0(-1.0, 0.0); + result += mat4(0.24912444, 0.0009965017, 0.04969851, 0.3003267, -0.003903703, -0.06769968, 0.10561507, -0.17234871, 0.1536697, -0.21829624, -0.017951855, -0.09118876, -0.22243726, 0.1614144, -0.024269601, 0.397888) * go_0(-1.0, 1.0); + result += mat4(0.06768992, -0.041342556, 0.07763352, -0.41787583, 0.031124283, 0.011633926, -0.0978459, 0.039305598, -0.41848403, -0.26259893, 0.28613627, 0.20371561, 0.58345675, -0.07080824, 0.19021916, 0.012531278) * go_0(0.0, -1.0); + result += mat4(-0.20584361, 0.20292012, 0.16911204, -0.11723318, -0.06905249, -0.12639555, 0.029861137, -0.69824475, -0.15893462, 0.03822974, 0.2365254, -0.18049008, -0.54079545, 0.05378836, 0.3731226, -0.4194168) * go_0(0.0, 0.0); + result += mat4(-0.16185144, 0.08044541, -0.11534125, -0.38361254, -0.18125655, 0.100682445, -0.17568061, 0.15932092, 0.4921224, -0.21809934, -0.4219327, 0.56603193, -0.11896117, 0.09941898, 0.060406428, -0.28055435) * go_0(0.0, 1.0); + result += mat4(-0.17914674, -0.039117515, -0.10780753, -0.0019961328, -0.118028656, 0.13673705, 0.09796823, 0.036670703, 0.23708504, -0.217638, 0.02271306, -0.08260663, -0.02218291, 0.25449663, -0.38577145, 0.2289155) * go_0(1.0, -1.0); + result += mat4(0.20697436, -0.08170284, -0.30875778, -0.091935694, -0.4299069, -0.048003297, 0.040368207, -0.11808018, 0.19754, -0.11251598, 0.27953205, 0.3021206, 0.45326826, 0.1854244, -0.29116857, -0.2648801) * go_0(1.0, 0.0); + result += mat4(-0.005043171, 0.1165916, 0.035544373, -0.11442216, -0.17139262, -0.050638396, -0.26463476, 0.11100485, -0.10001776, -0.21563227, -0.16391662, -0.054651123, 0.39844766, 0.1455794, 0.017547537, -0.39557946) * go_0(1.0, 1.0); + result += mat4(0.15157916, 0.18656601, -0.00782459, -0.038346134, -0.2450021, 0.047928028, -0.1472038, 0.2255333, -0.4334985, 0.08729366, 0.0846153, -0.30595127, -0.044211008, -0.08241214, -0.043064255, 0.4190449) * go_1(-1.0, -1.0); + result += mat4(0.05928101, -0.06261379, 0.038639594, 0.19335443, 0.07116561, -0.09511715, 0.2905441, 0.1801976, 0.26955184, -0.17377244, -0.1212788, 0.016638374, -0.22339019, 0.004929746, -0.09799133, -0.031665847) * go_1(-1.0, 0.0); + result += mat4(-0.18101548, 0.0012552696, -0.23048487, 0.112049505, -0.12021156, 0.14923924, 0.23487978, 0.09156211, 0.3823153, 0.19112724, -0.16386096, -0.33862537, 0.6392619, -0.074322194, -0.011328445, 0.010085967) * go_1(-1.0, 1.0); + result += mat4(0.14264163, -0.083046414, 0.05174603, -0.11164799, 0.5145514, 0.09971472, 0.07346141, -0.001808423, -0.26032692, -0.22621563, 0.055869855, 0.076288834, -0.010914596, 0.22231369, 0.10603505, -0.5869296) * go_1(0.0, -1.0); + result += mat4(0.5548472, 0.12401844, -0.23502155, 0.0061489646, 0.67039174, 0.05105186, -0.37961176, -0.15655631, 0.2625075, 0.0843665, 0.15801008, 0.09782913, -1.1630117, 0.5171362, 0.29586038, -0.08990771) * go_1(0.0, 0.0); + result += mat4(-0.5571424, -0.058150455, 0.07254807, -0.12936777, -0.12786071, 0.07129326, -0.241742, -0.08085487, -0.13637958, -0.22721592, -0.11745357, 0.112150125, -0.09672555, 0.27359635, -0.080746, -0.009863987) * go_1(0.0, 1.0); + result += mat4(0.030648582, 0.065971114, 0.067242995, 0.22608843, -0.17207222, 0.054914985, 0.03116957, -0.052851222, 0.0069969087, -0.006153292, 0.21847431, 0.057503276, 0.8095128, -0.21049567, -0.006439858, 0.08432311) * go_1(1.0, -1.0); + result += mat4(-0.042780217, -0.12338032, 0.05577247, -0.21822974, -0.17892684, 0.058537606, 0.080431335, -0.078834526, -0.31537804, -0.061866514, 0.023990609, -0.058277693, 0.097793244, -0.12215614, -0.13899407, 0.27879617) * go_1(1.0, 0.0); + result += mat4(0.008304607, 0.034395944, 0.17608953, -0.06544607, -0.24016827, -0.0677199, 0.12737678, -0.05233579, 0.16614896, -0.14099626, -0.022224577, 0.14793196, -0.012446621, 0.028061012, -0.1716129, 0.060556497) * go_1(1.0, 1.0); + result += mat4(0.5220798, 0.13444152, -0.2122427, -0.5736831, -0.20706674, 0.017248502, -0.028334714, 0.055140972, 0.33016387, -0.14287637, 0.01387342, 0.3571347, 0.28431186, 0.11765858, -0.01822439, -0.39872175) * go_2(-1.0, -1.0); + result += mat4(0.08728331, 0.23902069, -0.36302498, -0.16066715, -0.11230054, -0.13030538, 0.009534622, 0.048962418, 0.012431211, -0.20593752, -0.0013636881, 0.4360859, 0.04262531, 0.23974936, -0.094283335, -0.527438) * go_2(-1.0, 0.0); + result += mat4(0.030728528, -0.112231985, -0.009100498, -0.35143045, 0.16748357, 0.017510839, 0.03239966, 0.054478996, -0.17319912, -0.050375365, 0.089725465, 0.16103691, 0.10676163, -0.09278535, -0.05428266, -0.33354014) * go_2(-1.0, 1.0); + result += mat4(0.21258125, 0.04599829, -0.24325258, 0.029835198, 0.20194697, -0.07060258, 0.016639128, -0.3157998, 0.33405927, 0.060434584, -0.43728244, -0.062135965, 0.028998438, 0.11571891, -0.15109324, 0.07101858) * go_2(0.0, -1.0); + result += mat4(-0.40383798, -0.36821288, 0.19626383, 0.59001976, 0.32839507, 0.101678796, 0.10640573, -0.10071399, -0.02920735, -0.0077641695, -0.22367977, -0.05433425, 0.004730477, 0.23157004, -0.11481708, 0.061465364) * go_2(0.0, 0.0); + result += mat4(-0.08762416, -0.035775788, 0.26598835, 0.37357306, -0.11917872, 0.036915135, -0.19645864, -0.8743145, -0.51593053, 0.100978024, 0.06177629, -0.5311378, -0.09897961, -0.007981574, -0.14613442, 0.29796147) * go_2(0.0, 1.0); + result += mat4(-0.08169756, 0.10602942, 0.16290301, 0.08642245, 0.14126572, 0.0143537, 0.022076355, 0.12719934, -0.115588315, 0.018044261, 0.06112664, -0.17315914, -0.24815254, 0.07138127, 0.064938284, 0.30757383) * go_2(1.0, -1.0); + result += mat4(0.08658424, 0.04834558, 0.11189677, -0.11959915, 0.043204036, 0.0028814555, -0.27114293, 0.19655752, -0.06219229, -0.06335925, 0.001583622, 0.0003887524, -0.02551103, 0.1810684, -0.13473205, 0.41511175) * go_2(1.0, 0.0); + result += mat4(0.098328196, -0.15463813, -0.25395435, 0.057165585, 0.12112806, 0.047703095, 0.1736894, -0.571335, -0.08877221, 0.25854358, -0.12695095, 0.057413366, -0.098884575, -0.28365913, 0.09991636, 0.22292562) * go_2(1.0, 1.0); + result += mat4(-0.6112117, -0.010231417, -0.112239756, -0.07849118, 0.02083121, -0.034805223, 0.15247148, -0.12141691, 0.3277976, -0.06351269, -0.09261654, 0.48218137, -0.26786497, 0.18436286, 0.0026548437, -0.3494242) * go_3(-1.0, -1.0); + result += mat4(-0.095630266, 0.40209347, 0.037867773, -0.25989276, -0.011930034, 0.24516326, -0.0069997567, -0.3245564, -0.023615206, 0.15278822, -0.029383302, -0.7744169, 0.94101965, 0.056572374, 0.058212046, -0.061330616) * go_3(-1.0, 0.0); + result += mat4(0.081363745, -0.15472494, -0.34431493, 0.07395791, -0.055564385, 0.016541688, -0.08667468, -0.1444773, -0.2256494, -0.20606478, 0.4394829, 0.52758425, -0.5187416, 0.17331822, -0.27094364, -0.2181298) * go_3(-1.0, 1.0); + result += mat4(-0.287361, 0.16206776, 0.14063619, 0.13728833, -0.36886695, -0.08538228, 0.19503894, 0.11056105, 0.16406211, 0.01727046, 0.0871592, 0.07294414, 0.060550056, 0.061177608, -0.016883448, 0.30192128) * go_3(0.0, -1.0); + result += mat4(-0.33929467, 0.13435748, 0.115937024, 0.067573994, 0.009863674, 0.013138309, 0.30058098, 0.10597743, -0.17499073, 0.05588405, 0.005677747, 0.40934527, 1.1545268, -0.155579, -0.13197516, 0.15191454) * go_3(0.0, 0.0); + result += mat4(0.37388617, -0.08841946, -3.8818067e-05, -0.055153493, 0.10924964, 0.005106532, 0.2640823, 0.17689948, -0.078712486, 0.014336811, 0.13541687, -0.35125944, 0.25925586, -0.11574074, -0.05334974, 0.37477663) * go_3(0.0, 1.0); + result += mat4(-0.09378358, -0.02469048, 0.09498973, -0.14765818, -0.06543113, 0.052611325, -0.038409166, -0.10529152, -0.19401579, -0.16219963, -0.16643663, -0.33105713, -0.47642896, 0.3563738, 0.10123918, 0.0047903634) * go_3(1.0, -1.0); + result += mat4(-0.09347765, 0.13719639, 0.17906445, 0.20748247, 0.31409532, -0.033543803, -0.055865422, 0.20806772, -0.004353982, 0.15110697, -0.052026875, 0.04408309, -0.3727673, 0.08697647, 0.062118348, -0.12789507) * go_3(1.0, 0.0); + result += mat4(0.17479336, -0.15061922, -0.039640546, 0.041190077, -0.060928237, 0.17590441, 0.13194624, 0.05623478, -0.16385348, 0.09232265, 0.035934143, -0.1263174, -0.35249633, 0.15528975, 0.10165315, -0.20805833) * go_3(1.0, 1.0); + result += vec4(-0.016027294, -0.022314552, 0.29750827, 0.022724666); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf2 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.20217955, -0.1016539, -0.24689016, 0.026825983, -0.012303149, 0.016825393, 0.11242501, 0.1197403, -0.29600206, 0.27503014, -0.11554761, -0.051286228, -0.010749474, -0.0034162628, -0.07294611, -0.3771706) * go_0(-1.0, -1.0); + result += mat4(0.14065309, -0.20494242, 0.08172008, -0.24708536, 0.14010069, -0.0034903025, -0.13427053, 0.038706955, 0.14292285, -0.22876161, -0.08053654, -0.13691449, -0.32719252, 0.3200724, 0.41660982, 0.4663079) * go_0(-1.0, 0.0); + result += mat4(-0.40426278, 0.42029375, 0.2581085, -0.08178537, 6.6040986e-05, 0.051414035, -0.09223715, 0.09467653, 0.0022885685, -0.36213446, -0.22484992, 0.11228845, -0.266375, 0.47065213, 0.18022436, 0.018949319) * go_0(-1.0, 1.0); + result += mat4(0.0967041, -0.4762878, -0.48147273, -0.38028395, 0.0096386345, 0.038764592, 0.31412536, 0.11140124, -0.26849043, 0.5565519, 0.43003628, -0.4071856, -0.07576129, -0.1801822, -0.47469202, 0.20814487) * go_0(0.0, -1.0); + result += mat4(-0.00062698213, -0.7789418, 0.35716832, -0.02369097, 0.3586657, 0.0046842257, -0.1294594, -0.42827508, 0.1843683, -0.109799415, -0.03444211, -0.4856736, 0.20326613, -0.20637028, 0.043016884, 0.2611685) * go_0(0.0, 0.0); + result += mat4(-0.4074533, 0.11487311, 0.3276686, -0.002443473, -0.18050632, 0.36538202, 0.23752166, -0.21289061, 0.08633338, -0.30124283, -0.020832658, -0.02058489, -0.18569615, 0.47561193, 0.29504526, -0.37081027) * go_0(0.0, 1.0); + result += mat4(0.3032142, -0.05559384, -0.14362094, 0.4066231, -0.10048464, 0.123465545, 0.17526495, -0.05644113, 0.10546904, 0.04229368, 0.39113873, 0.31476578, -0.3210935, -0.2459354, -0.57513195, 0.42412075) * go_0(1.0, -1.0); + result += mat4(-0.012243576, 0.12146884, 0.07562772, 0.6030755, 0.11079806, -0.33577108, -0.34181613, -0.1494174, -0.03203171, 0.4393293, -0.28612396, 0.42938936, -0.043798693, -0.37709042, 0.26563555, -0.11072489) * go_0(1.0, 0.0); + result += mat4(0.046751764, 0.0035097478, -0.01897875, 0.02122587, -0.12605189, -0.41298488, -0.03824162, 0.51710933, -0.052696224, -0.2337075, -0.12560573, 0.33835718, -0.31342196, 0.51827186, 0.1890404, -0.03768498) * go_0(1.0, 1.0); + result += mat4(0.17229721, 0.062260006, 0.21993148, 0.075963624, 0.067087546, -0.20411918, -0.06633631, -0.05168393, -0.055554014, 0.07146849, -0.11320391, -0.5016039, -0.015768923, -0.029974159, 0.003875134, -0.7003569) * go_1(-1.0, -1.0); + result += mat4(-0.0693014, 0.23172057, -0.12445124, 0.10486695, 0.024282364, 0.104390465, 0.10902425, 0.044662107, -0.14725766, -0.12317419, -0.24799284, -0.5018698, -0.09759714, -0.08109111, -0.16864298, -0.21465865) * go_1(-1.0, 0.0); + result += mat4(-0.05006012, -0.091789775, -0.039711423, -0.025967857, 0.004903828, 0.27684125, 0.090259, 0.25723773, 0.25361672, -0.63184565, -0.2300667, -0.10245676, -0.43677995, 0.4948819, 0.23426977, 0.27520937) * go_1(-1.0, 1.0); + result += mat4(0.24944058, -0.2630142, 0.087730475, 0.14870866, -0.05221804, -0.11076067, -0.28590345, 0.30941877, 0.12329378, 0.0869489, 0.3449555, 0.26338112, 0.27513418, -0.34140083, -0.44811395, -0.32881838) * go_1(0.0, -1.0); + result += mat4(-0.2300291, 0.026097683, 0.011726505, 0.33332226, -0.24714379, -0.052737463, 0.16558985, 0.43402666, -0.040318843, 0.14610682, 0.32763618, 0.1530442, 0.46671808, -0.36680204, 0.30263212, 0.4588324) * go_1(0.0, 0.0); + result += mat4(0.04394229, 0.1959856, -0.23437811, -0.42994127, 0.2209785, 0.08641096, 0.059983835, 0.3301891, -0.20396693, 0.21257658, -0.17936775, -0.17046471, -0.3278646, -0.015171337, -0.39279112, 0.7612752) * go_1(0.0, 1.0); + result += mat4(-0.0721009, 0.03914034, -0.03603309, 0.0032750098, 0.02849652, -0.22286695, -0.21038975, -0.5404214, -0.09446682, 0.13351013, 0.19801673, 0.3039991, 0.06969349, 0.47980356, 0.4956948, -0.22736946) * go_1(1.0, -1.0); + result += mat4(0.10723219, -0.23137522, -0.12172196, 0.041468218, -0.07041226, 0.06390648, 0.14080569, -0.35228798, 0.07642974, -0.13615544, -0.039689478, 0.07113939, 0.28258353, 0.060358338, 0.17336333, -0.2321431) * go_1(1.0, 0.0); + result += mat4(-0.17947374, 0.03477672, 0.14946933, -0.27187726, 0.18819115, 0.032378223, 0.0020400453, -0.48512584, -0.12591578, -0.1212832, -0.116236545, 0.045565434, -0.15292491, -0.24064177, -0.10086153, 0.23591255) * go_1(1.0, 1.0); + result += mat4(-0.106525, -0.12032337, 0.17431536, 0.0052562207, -6.420632e-05, -0.01623248, -0.08095955, -0.13127506, 0.27539784, -0.31894428, 0.08169528, 0.062290672, -0.18432364, 0.21473673, -0.025179744, 0.094855726) * go_2(-1.0, -1.0); + result += mat4(-0.31541437, -0.24790616, 0.013607132, 0.039480396, -0.122884266, 0.19012398, 0.09748719, -0.09533564, -0.292556, 0.18304445, -0.1432241, 0.1381094, 0.21733786, -0.18149674, -0.1615431, 0.03368751) * go_2(-1.0, 0.0); + result += mat4(0.28429464, -0.40165743, -0.26162243, -0.02550708, 0.08182439, -0.142696, -0.029649947, 0.047006324, -0.041352388, 0.45716748, 0.14035358, -0.0074519147, 0.30095938, -0.4907558, -0.19573994, -0.0730125) * go_2(-1.0, 1.0); + result += mat4(0.015484458, 0.18262957, 1.1304622, 0.13020717, 0.08094596, -0.041125435, -0.011831079, 0.016813423, 0.27810735, -0.64546406, -0.09420503, 0.30469316, -0.298747, 0.56795603, 0.42592815, 0.31302226) * go_2(0.0, -1.0); + result += mat4(0.04343304, -0.4498391, -0.5037316, 0.19293165, -0.53385746, 0.33699542, 0.27228716, -0.19133756, -0.32839635, 0.35161376, 0.2137489, 0.38544926, -0.25985554, 0.20467313, 0.19342346, 0.20128295) * go_2(0.0, 0.0); + result += mat4(0.22484256, -0.23751211, -0.30022943, 0.051273867, -0.007936754, -0.68916345, -0.71587783, -0.1656445, -0.097008295, 0.10184849, -0.051216517, -0.3001333, 0.44228783, -0.3494149, -0.3600727, 0.061474547) * go_2(0.0, 1.0); + result += mat4(-0.1976335, 0.11761563, 0.25485405, -0.24935004, 0.21836887, -0.0373093, -0.06946182, 0.049853157, -0.19294016, 0.027994758, -0.7352471, -0.40208367, -0.29396078, 0.27974385, 0.23464991, -0.21713316) * go_2(1.0, -1.0); + result += mat4(0.11203325, -0.07249998, 0.03275291, -0.5243432, 0.027975427, 0.65923446, 1.1487273, 0.13650933, 0.18981944, -0.41047823, 0.24949239, -0.038735647, -0.16338153, 0.19802837, 0.2097514, -0.15370321) * go_2(1.0, 0.0); + result += mat4(0.05246577, -0.10527885, -0.023790307, 0.02944672, 0.21446787, 0.22428256, -0.30655965, -0.4283235, 0.073304355, 0.2829255, 0.30902624, -0.14685656, 0.24827917, -0.33014455, -0.32007882, -0.20629856) * go_2(1.0, 1.0); + result += mat4(-0.08960087, 0.0050927363, -0.30011386, -0.047652043, -0.094598204, 0.11405335, 0.06829049, 0.059407845, -0.022997437, -0.106863946, 0.07900994, 0.44502714, 0.15836091, -0.066640936, 0.15023214, 0.54916424) * go_3(-1.0, -1.0); + result += mat4(-0.06162481, -0.3285692, -0.022469657, -0.11277432, -0.09067458, 0.030319816, -0.14839767, -0.23583637, 0.06760135, -0.028171305, 0.014077104, 0.35498118, -0.025291484, 0.24540594, -0.017083582, 0.28348377) * go_3(-1.0, 0.0); + result += mat4(0.17504841, 0.060240712, 0.17431584, 0.16914812, 0.06998317, -0.30380917, -0.09968582, -0.30383462, -0.4403573, 0.78940177, 0.020485763, 0.27871025, 0.6351977, -0.37790725, -0.22219525, -0.4110773) * go_3(-1.0, 1.0); + result += mat4(-0.08675536, 0.27092165, -0.058764063, 0.20293204, 0.009523148, 0.09759644, 0.32254717, -0.48095647, -0.23190324, -0.12567216, -0.44106624, -0.30251557, -0.29637465, 0.16701616, 0.039250236, 0.20024182) * go_3(0.0, -1.0); + result += mat4(-0.12002944, 0.13862704, 0.17594223, -0.044401992, 0.36661845, -0.038946245, -0.29144734, -0.033288293, -0.48884743, 0.08073716, -0.31537253, 0.1283542, -0.5425199, 0.19174723, 0.15365373, -0.14512973) * go_3(0.0, 0.0); + result += mat4(0.15586664, -0.16834132, 0.05371874, 0.36174223, -0.15587626, -0.0017205992, 0.02366499, -0.13222694, 0.27792883, -0.20452052, 0.07238269, -0.6005766, 0.45729572, -0.057850257, 0.3978193, -0.42369977) * go_3(0.0, 1.0); + result += mat4(0.0125904465, -0.28701517, -0.06483255, -0.36696205, 0.0041157743, 0.16688906, 0.16022897, 0.32454333, 0.24528491, -0.22117196, -0.15657167, -0.27925336, -0.21296152, -0.27980646, -0.35671264, 0.1338135) * go_3(1.0, -1.0); + result += mat4(-0.09333434, 0.2844371, -0.0012270715, -0.08979275, -0.06961038, -0.011850921, -0.14248405, 0.69844127, -0.39664406, -0.024479598, 0.055128384, -0.44450662, -0.2171763, -0.027311027, -0.22850873, 0.21512528) * go_3(1.0, 0.0); + result += mat4(0.05754468, -0.06023853, -0.10660665, 0.001042397, -0.0098680295, -0.020704228, 0.022198498, 0.22380444, 0.2768453, -0.0008279344, 0.026585666, -0.4575448, 0.25150645, 0.11999355, 0.12135898, -0.39513355) * go_3(1.0, 1.0); + result += vec4(0.025650544, 0.03663525, -0.016599739, 0.0293095); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_1_tf2 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.04035504, 0.24661791, 0.16603021, -0.14574075, 0.016028887, 0.23053943, -0.01308933, -0.13217592, 0.14422223, 0.046401497, 0.31343204, -0.018826274, -0.13334458, -0.13250591, -0.19680983, 0.023520457) * go_0(-1.0, -1.0); + result += mat4(-0.18644534, 0.16142415, -0.10263999, -0.1785358, 0.1524165, -0.096029095, 0.044161733, 0.040999066, -0.024374438, 0.007344798, -0.011679108, -0.01964757, -0.17767182, 0.05571244, 0.027234446, 0.043839652) * go_0(-1.0, 0.0); + result += mat4(0.04718799, -0.044331063, 0.13524447, -0.067815036, 0.11796701, 0.19663425, -0.10252262, -0.10110826, -0.12611324, 0.10640568, 0.19015492, -0.05703842, -0.2498106, 0.06150599, -0.16034353, 0.023444213) * go_0(-1.0, 1.0); + result += mat4(-0.27109948, -0.2330959, -0.24654478, -0.13645583, -0.30987036, -0.09328997, -0.047055356, -0.008120827, 0.12002382, -0.052843675, -0.024162116, -0.07013582, -0.21204828, 0.24816163, -0.048868638, -0.020213706) * go_0(0.0, -1.0); + result += mat4(-0.36924088, 0.19141299, -0.0596671, 0.05201207, 0.042457893, -0.14713997, 0.06199918, 0.3931451, 0.08613402, -0.07767505, -0.22640567, 0.139795, -0.080966346, 0.24099334, -0.1484309, -0.18542144) * go_0(0.0, 0.0); + result += mat4(-0.24846043, 0.04992665, 0.01550666, -0.07386302, -0.033128314, -0.109518744, -0.0131575465, 0.093934394, -0.10481641, -0.21640164, -0.042719785, -0.119751304, -0.14406851, -0.09887475, 0.0551473, 0.1988483) * go_0(0.0, 1.0); + result += mat4(0.005014479, -0.028502205, 0.056643553, 0.22005746, -0.109462686, -0.063529275, 0.068870015, -0.09086573, -0.20329769, 0.062993504, 0.012298516, -0.09511996, -0.070928045, -0.084570564, 0.030517094, 0.0666073) * go_0(1.0, -1.0); + result += mat4(-0.23140994, -0.14801921, 0.10917109, 0.04020163, -0.124175526, -9.252112e-05, -0.10079859, -0.08308403, -0.15703133, 0.12351128, -0.062012766, 0.012078454, 0.017588409, -0.19278778, -0.011159341, -0.019345049) * go_0(1.0, 0.0); + result += mat4(-0.13358298, -0.13400944, -0.04192524, 0.05254761, 0.090020865, 0.204023, -0.017487295, -0.103140116, -0.0635867, -0.04658558, 0.017988916, -0.095914505, 0.0028000565, 0.1542994, 0.02950823, 0.04616086) * go_0(1.0, 1.0); + result += mat4(-0.05432518, -0.0111842025, -0.0062327827, -0.033791576, 0.09963238, -0.007702412, 0.107363395, -0.0002620659, -0.03530006, -0.17219695, 0.20868061, 0.097935446, -0.08475756, -0.039234992, -0.13846119, 0.062036924) * go_1(-1.0, -1.0); + result += mat4(0.01616353, -0.12863919, 0.15521172, 0.097896874, 0.033820298, -0.05146636, 0.02785997, -0.09073786, -0.09372875, 0.06929703, -0.0107195005, 0.018365687, 0.0868831, 0.0070242505, -0.040582743, -0.07992907) * go_1(-1.0, 0.0); + result += mat4(-0.07650785, -0.072560616, 0.01351836, 0.07111899, -0.022031955, -0.010699844, -0.061331112, -0.18606193, 0.016390545, -0.013820923, 0.024161916, 0.05317417, -0.023394106, -0.12722068, -0.2521299, -0.0032620258) * go_1(-1.0, 1.0); + result += mat4(0.09762331, 0.062247284, -0.07981863, 0.048026998, 0.052663904, 0.1488446, -0.0859117, 0.081166595, 0.06321994, 0.10102734, -0.08696909, 0.018006293, 0.10951873, 0.11635254, -0.073152475, 0.021577666) * go_1(0.0, -1.0); + result += mat4(0.13631535, 0.09643497, 0.06995556, -0.012752857, 0.16278613, 0.015534217, 0.108511776, 0.14669219, 0.008778259, 0.16631478, 0.060034137, -0.16236681, -0.05978258, 0.062230766, -0.33324954, -0.02387315) * go_1(0.0, 0.0); + result += mat4(-0.26835418, -0.05078421, -0.038090322, -0.01212539, 0.0064360583, -0.09849181, 0.055596586, -0.049771946, -0.060680225, 0.11777931, 0.0092843445, -0.0003092349, -0.054714512, -0.036983784, 0.080890685, 0.01171634) * go_1(0.0, 1.0); + result += mat4(-0.095172614, -0.00536103, 0.024565516, 0.15711878, -0.054901525, -0.11539277, -0.0537201, 0.035690263, -0.012858618, 0.0074576396, -0.09323002, 0.0212987, 0.057625733, -0.028343642, 0.09287552, 0.17583063) * go_1(1.0, -1.0); + result += mat4(0.039239723, 0.08689648, -0.09737909, -0.030164383, -0.16954574, -0.19429989, -0.008026096, -0.009319319, 0.050411783, 0.003132383, -0.032023713, -0.044580568, 0.05639381, 0.26383185, -0.11680319, 0.20925997) * go_1(1.0, 0.0); + result += mat4(-0.1350493, 0.066753425, -0.07848042, -0.07173146, -0.09169151, -0.02280378, 0.014779426, 0.08916784, -0.09334288, -0.081331305, -0.06598685, -0.023294056, 0.13236979, 0.32240087, -0.05203544, -0.035413966) * go_1(1.0, 1.0); + result += mat4(0.026199203, 0.0204687, -0.070584424, -0.021580774, 0.118979365, 0.0988867, -0.14607596, 0.13370356, -0.0843717, 0.08955508, -0.035913162, -0.039743375, 0.03797019, -0.057666034, 0.09423923, 0.07839171) * go_2(-1.0, -1.0); + result += mat4(0.2348814, 0.0213994, 0.07450211, -0.003232845, 0.09450214, 0.014603701, 0.025057215, 0.048732072, -0.20320013, 0.02525451, -0.26879773, -0.21511178, 0.08866451, -0.046766516, -0.13612792, -0.09785279) * go_2(-1.0, 0.0); + result += mat4(-0.12481913, -0.12849878, -0.016158326, 0.025934998, 0.022762675, -0.011452937, -0.08533328, 0.06363569, 0.14518197, 0.23348686, 0.095732406, -0.19029738, 0.05512797, 0.02524934, 0.05958946, 0.06717244) * go_2(-1.0, 1.0); + result += mat4(0.061521348, -0.16622357, -0.08235146, -0.06429693, 0.03720797, 0.20682053, -0.08594098, 0.07171474, 0.0014226728, -0.07034602, -0.09734637, 0.03378296, 0.16466366, -0.10899766, -0.003239979, -0.015122078) * go_2(0.0, -1.0); + result += mat4(0.16695042, -0.1315729, 0.09122205, 0.07520023, -0.09821882, 0.035185304, -0.06842167, -0.011763841, -0.09345794, 0.15259263, -0.39355028, -0.3891075, 0.18299462, 0.06755557, -0.027738906, 0.013310929) * go_2(0.0, 0.0); + result += mat4(0.033140916, -0.027768493, -0.02067478, -0.06325463, -0.09894021, -0.20934165, -0.015428146, 0.12136887, 0.046120573, -0.071947254, 0.028421128, 0.06357571, 0.13145766, 0.04536773, 0.044150203, -0.10509899) * go_2(0.0, 1.0); + result += mat4(-0.10988508, 0.112615995, 0.1751226, 0.02660734, 0.08398276, 0.12926741, 0.2084611, 0.15119243, 0.028835213, -0.039361596, 0.0034648806, 0.029079277, -0.00217732, 0.06629454, -0.07294264, 0.023904502) * go_2(1.0, -1.0); + result += mat4(-0.013733941, -0.19174497, 0.106097385, 0.13108249, -0.02342723, -0.314217, 0.070849575, 0.0720347, -0.12744898, -0.065455206, -0.15339097, 0.022219827, -0.016159452, 0.010578856, 0.08105944, -0.05987952) * go_2(1.0, 0.0); + result += mat4(0.23217027, 0.05277337, 0.071452655, -0.10689918, -0.031163886, 0.1281398, -0.046946436, -0.027713988, -0.03565471, 0.08120484, -0.04330698, 0.07295522, 0.1321532, -0.03170989, 0.016022692, 0.121839166) * go_2(1.0, 1.0); + result += mat4(0.00410671, -0.04678445, 0.18113981, 0.05987472, 0.21671912, -0.34416708, 0.2037898, 0.15413988, -0.115338616, -0.06392024, 0.13700303, -0.033065956, -0.018238343, 0.1134282, 0.1275314, -0.019762916) * go_3(-1.0, -1.0); + result += mat4(-0.11894926, -0.029414194, 0.18244646, 0.217531, 0.07504621, 0.024808811, 0.23533674, -0.022842843, 0.05035676, -0.011317847, 0.7755237, 0.14858165, -8.2921815e-08, -0.04540463, 0.11160265, -0.0009788543) * go_3(-1.0, 0.0); + result += mat4(-0.14826688, -0.097891875, -0.13205692, -0.059139438, -0.13794315, -0.2652887, -0.11130958, -0.05137257, -0.1176455, -0.1548706, -0.10306716, 0.21789181, -0.009209018, 0.011220653, 0.01963476, 0.012935865) * go_3(-1.0, 1.0); + result += mat4(0.11714751, 0.15236345, 0.13536146, 0.044848517, 0.34835097, 0.13658829, 0.36627477, -0.27132225, -0.3091611, 0.20383716, 0.30317453, 0.08233188, -0.07287086, -0.048854213, 0.14926453, 0.033089206) * go_3(0.0, -1.0); + result += mat4(0.06970943, -0.11879602, -0.04682354, 0.06618747, 0.22552045, -0.13497396, 0.08345175, -0.255251, 0.15757652, 0.069464825, 0.37833855, -0.2546535, -0.16741769, -0.0860299, -0.0130390655, 0.09818734) * go_3(0.0, 0.0); + result += mat4(-0.07983536, 0.06403843, -0.07103762, -0.08339309, -0.055773012, 0.009426009, -0.12089462, -0.16594686, -0.11570191, -0.15629323, 0.054537755, 0.1888691, -0.13647257, -0.020126633, -0.17405704, -0.26438174) * go_3(0.0, 1.0); + result += mat4(-0.11210597, -0.020617625, -0.13101855, -0.17561626, -0.043740314, 0.23093803, -0.016813299, 0.09149021, 0.18216842, -0.043552347, 0.023779068, -0.10780718, -0.016673947, 0.14319964, -0.028260237, -0.124928825) * go_3(1.0, -1.0); + result += mat4(-0.03160608, -0.2333736, -0.13623776, -0.026613101, -0.26093182, 0.0132271405, 0.13844319, -0.02270748, 0.10522583, 0.18912983, 0.073725015, -0.27355325, -0.0055876593, 0.16790742, -0.07568777, 0.06618935) * go_3(1.0, 0.0); + result += mat4(0.022589413, 0.07764155, 0.07209622, -0.056753542, 0.0568345, -0.16099633, -0.1312878, 0.02636607, -0.21696982, -0.059245802, -0.08554336, 0.14966543, -0.059751473, -0.12615988, -0.04726769, 0.05051841) * go_3(1.0, 1.0); + result += mat4(0.08186889, 0.08205334, 0.023400525, -0.014372715, -0.32853618, 0.20950803, -0.13900198, 0.033662543, 0.22546336, 0.51378864, 0.25709614, 0.0690995, 0.024139842, 0.06293423, -0.016842663, -0.0019389848) * go_4(-1.0, -1.0); + result += mat4(0.08322223, 0.20575687, -0.12917835, -0.051425036, -0.10029536, 0.020689568, -0.62112635, -0.15488598, -0.12642258, 0.27025947, -0.10352515, -0.094899215, -0.07861278, -0.008126564, -0.36391425, 0.012501281) * go_4(-1.0, 0.0); + result += mat4(0.09727261, 0.2485468, 0.032302193, -0.056679122, -0.30999616, -0.15299593, -0.023860209, -0.016379328, 0.20444955, 0.24193929, -0.047571138, -0.13646403, 0.07320446, 0.11940953, 0.081255615, -0.024622988) * go_4(-1.0, 1.0); + result += mat4(-0.012735532, -0.0026588705, 0.049573418, -0.03732182, -0.550759, -0.19040847, -0.092085555, 0.050688766, 0.05871898, 0.65302145, 0.0486849, -0.015391376, -0.088805616, -0.1919315, -0.18541074, 0.064208336) * go_4(0.0, -1.0); + result += mat4(-0.25550497, 0.076505475, -0.0033188355, 0.05434708, -0.6988797, -0.44051754, -0.7110294, -0.6219069, -0.18371364, 0.03994295, 0.22495036, 0.2654511, 0.039869636, -0.0014285883, -0.3385523, 0.03384559) * go_4(0.0, 0.0); + result += mat4(0.12577426, 0.18141976, 0.017276304, -0.030196752, -0.3411355, -0.051372755, -0.4402098, -0.2307844, 0.2475909, 0.042480852, -0.13148455, 0.08761176, 0.09051365, 0.04634071, -0.1398518, -0.09816492) * go_4(0.0, 1.0); + result += mat4(0.082957186, 0.20064567, -0.0039741206, -0.101500906, -0.11700493, 0.029862897, -0.12905416, 0.2396674, -0.0837802, 0.53440446, -0.044294536, -0.03571166, 0.043897923, -0.052617326, -0.15071645, 0.032061413) * go_4(1.0, -1.0); + result += mat4(-0.11662253, 0.11108744, 0.15453078, 0.07819891, -0.25460127, -0.8427337, -0.07924075, 0.060776, -0.07543319, 0.1565062, -0.12689075, -0.053272385, -0.19933213, -0.020827955, 0.013956402, 0.21194445) * go_4(1.0, 0.0); + result += mat4(-0.0043281335, -0.024467073, 0.051124696, 0.08090264, -0.30834627, -0.67489, 0.2619303, 0.23885296, 0.20223773, 0.23991251, 0.01228539, -0.077657975, 0.025452869, -0.03739561, 0.042129666, 0.11460913) * go_4(1.0, 1.0); + result += mat4(0.06228207, -0.14803374, 0.010911389, 0.09355621, 0.023043629, 0.031996407, -0.055188306, -0.014802153, -0.019913547, 0.049278714, -0.08680487, -0.109947994, 0.0075249076, 0.05728937, -0.23096122, -0.14276639) * go_5(-1.0, -1.0); + result += mat4(-0.13976647, -0.06370508, -0.103730015, 0.036839988, -0.034798823, 0.10165849, -0.22992481, -0.22844586, -0.09660402, -0.00035895672, 0.043261856, -0.048690017, 0.07580462, -0.076795, 0.104297355, 0.064719155) * go_5(-1.0, 0.0); + result += mat4(0.20086232, 0.21900544, 0.100586765, -0.1263965, 0.08518987, 0.07015036, 0.1540687, -0.027686164, -0.2645977, -0.21961495, -0.049981266, 0.04538352, 0.07476041, 0.015029907, -0.0283461, -0.06752002) * go_5(-1.0, 1.0); + result += mat4(0.025824754, 0.009975207, -0.09909158, -0.007285313, 0.018532153, -0.17034489, -0.22879048, 0.11958223, -0.02237275, -0.039665785, 0.10340932, -0.035260696, -0.044261284, -0.08655165, -0.106472224, 0.050346926) * go_5(0.0, -1.0); + result += mat4(-0.088629484, -0.03668536, -0.09841912, -0.026597997, -0.053007387, 0.10285643, -0.21886663, -0.16486467, -0.06485831, -0.16549312, 0.09329481, 0.019519072, 0.125703, 0.04451335, -0.057531886, 0.016026434) * go_5(0.0, 0.0); + result += mat4(0.1822173, -0.050538287, 0.13174933, 0.12418439, 0.089775965, 0.20749187, -0.027725866, -0.19011584, -0.08552012, 0.0063636974, -0.09168926, -0.30534875, 0.06661879, -0.06904948, -0.030606193, 0.11095211) * go_5(0.0, 1.0); + result += mat4(0.105299786, -0.35318968, -0.09098853, -0.0369341, 0.0002527501, -0.0522018, -0.09358501, -0.045713484, 0.0027285013, 0.048836533, 0.13147967, -0.048738208, 0.059378657, -0.10914055, 0.11926634, 0.075568035) * go_5(1.0, -1.0); + result += mat4(0.2516043, -0.24786504, -0.10248864, -0.0040028943, 0.02035929, 0.21344659, -0.18807223, -0.15342413, 0.10871073, 0.084864154, 0.1361142, 0.0115587525, 0.11032122, -0.12804365, -0.11517307, 0.029220797) * go_5(1.0, 0.0); + result += mat4(0.0013311467, 0.031627458, -0.07854846, -0.057380144, -0.058437843, -0.034605294, 0.088147335, 0.03749221, 0.018598026, 0.017132863, 0.0018768669, -0.04457343, 0.03682849, -0.055201598, -0.0021610786, -0.08538003) * go_5(1.0, 1.0); + result += vec4(0.12639354, -0.013081255, 0.0065587023, 0.046620134); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_1_tf2 +//!SAVE conv2d_2_tf1 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.011583964, -0.039870065, -0.15999149, 0.08675985, 0.08109101, -0.1879774, 0.19331096, -0.4534524, -0.12586977, 0.011471076, 0.19720814, -0.1143906, 0.07553728, -0.056127805, 0.1635918, -0.17931661) * go_0(-1.0, -1.0); + result += mat4(0.067819625, -0.21503527, 0.09939146, -0.07270988, -0.059113953, -0.049392458, 0.28810808, -0.14547947, -0.12949272, -0.0024433902, 0.38158932, -0.07837205, -0.036141198, 0.15529773, -0.11398279, -0.13650618) * go_0(-1.0, 0.0); + result += mat4(-0.033942446, -0.031523492, 0.088098265, -0.20998281, -8.739418e-06, 0.176242, -0.0481297, 0.052109815, 0.081447944, -0.14213382, 0.277246, -0.11737086, -0.13384427, -0.0008667019, 0.14954486, 0.12667161) * go_0(-1.0, 1.0); + result += mat4(-0.19201736, 0.12778927, -0.038250033, -0.5468646, -0.0061836247, 0.18480751, 0.044333503, 0.26007488, -0.20757933, 0.19695, -0.29442382, -0.22411272, 0.004405764, -0.034501124, 0.057751704, -0.03413746) * go_0(0.0, -1.0); + result += mat4(0.24880652, 0.1541801, -0.012062207, -0.6005811, -0.14904043, 0.05525859, -0.10741317, 0.1890063, -0.035635296, 0.3005301, -0.2797406, 0.8594579, 0.07482009, -0.10378448, 0.08236929, -0.26407042) * go_0(0.0, 0.0); + result += mat4(0.0073660286, -0.26556304, -0.1433165, 0.25972745, 0.23314878, 0.027763477, -0.11621574, -0.21574795, 0.24350981, -0.006988954, -0.02177087, -0.13037811, -0.1166682, 0.17278492, 0.08241569, 0.51040107) * go_0(0.0, 1.0); + result += mat4(0.13853693, -0.06968601, 0.12298946, 0.017782336, 0.012372836, 0.027876694, -0.27880472, -0.18076333, -0.0397836, 0.2420896, 0.038473837, -0.1555481, 0.04083059, -0.073141545, 0.14184499, 0.30984175) * go_0(1.0, -1.0); + result += mat4(-0.3133015, -0.09274826, 0.13639203, 0.10206795, -0.08598331, 0.03450585, 0.19280651, -0.08538865, -0.008546558, -0.07174769, -0.20052853, -0.24860515, -0.1470964, -0.22390126, 0.07744998, -0.002739885) * go_0(1.0, 0.0); + result += mat4(-0.006748567, 0.07274748, 0.092211284, 0.14483126, -0.11027929, 0.1201977, -0.04872484, -0.16433857, 0.044397447, -0.21384367, 0.03269424, 0.10942982, 0.04403927, 0.010967787, -0.040405788, -0.03232669) * go_0(1.0, 1.0); + result += mat4(-0.008280273, 0.024787866, 0.037189875, 0.03429621, -0.14698292, 0.094748855, 0.11563344, -0.073624834, -0.029853089, 0.07087531, -0.05736988, 0.11237037, -0.04985742, 0.056539766, -0.020783758, 0.12329614) * go_1(-1.0, -1.0); + result += mat4(-0.03344095, -0.0073405057, 0.05190122, 0.12998703, -0.048184916, -0.13144512, 0.031402104, 0.43577522, 0.112474926, -0.08905257, 0.10081381, -0.014079196, 0.09510892, -0.03853581, -0.20324658, 0.1589196) * go_1(-1.0, 0.0); + result += mat4(0.034226835, -0.038741812, -0.020816153, -0.13061026, -0.020475632, -0.16419771, -0.0076826485, -0.04103266, -0.0056703947, 0.06705962, 0.026199229, -0.019306373, -0.0067688744, -0.07038936, -0.104216576, 0.12684165) * go_1(-1.0, 1.0); + result += mat4(-0.008213376, -0.10455055, 0.04212865, 0.05025464, -0.07784179, 0.018042147, -0.023232944, 0.25375158, -0.009442334, -0.07854094, -0.040824052, 0.09969908, -0.07734574, 0.010816756, -0.098997355, 0.22808696) * go_1(0.0, -1.0); + result += mat4(-0.09186444, -0.070967846, -0.18332118, -0.13047308, 0.07874793, 0.49928188, -0.19095366, -0.5786626, -0.076766655, 0.00328989, -0.027825667, -0.46311954, 0.18953162, 0.0067680115, -0.39336485, 0.21162145) * go_1(0.0, 0.0); + result += mat4(0.067058854, 0.097902276, 0.11048054, 0.08798107, 0.24173008, -0.09251265, 0.040146023, 0.051595293, -0.024550369, -0.054440435, 0.002777188, 0.10740609, 0.12708955, -0.1126051, 0.08698823, -0.22985286) * go_1(0.0, 1.0); + result += mat4(0.009401559, -0.00019733842, -0.0391449, 0.07650643, 0.117760375, -0.16319785, -0.042495195, -0.23318908, 0.024536118, 0.12618859, -0.011912352, 0.09087688, -0.2767169, -0.044689544, 0.18786801, -0.020456426) * go_1(1.0, -1.0); + result += mat4(-0.034666687, -0.037431296, -0.12936176, -0.20454895, -0.30241257, -0.019945377, 0.01616507, 0.13762684, 0.055600353, -0.01146059, -0.013451368, 0.16529311, 0.42141652, 0.17878959, -0.322346, -0.2869838) * go_1(1.0, 0.0); + result += mat4(0.00015858973, -0.026061518, 0.056444857, 0.0891557, 0.08452023, -0.118858494, 0.052117698, 0.10851732, -0.0738216, -0.021903642, 0.041175738, -0.0327392, 0.5465747, -0.22983976, -0.2643581, -0.41978332) * go_1(1.0, 1.0); + result += mat4(-0.071339466, 0.20363729, -0.12277878, -0.18987495, -0.076909326, 0.040142104, 0.19751047, 0.09099594, 0.05504884, 0.010637861, -0.07010218, 0.016844785, -0.0025642936, -0.07132042, -0.0058730873, 0.114345245) * go_2(-1.0, -1.0); + result += mat4(-0.12181514, 0.09113612, -0.011027632, 0.1210622, -0.11706013, 0.03866967, -0.3818603, 0.071857385, 0.10714353, 0.05537742, -0.44725725, 0.03664743, 0.13571225, -0.13654736, -0.05921695, -0.023738123) * go_2(-1.0, 0.0); + result += mat4(-0.023582853, 0.09176081, -0.021919282, -0.010129313, 0.031890567, -0.07508517, -0.08540747, 0.05653626, 0.05514676, -0.0798297, 0.18732204, -0.030211389, -0.10890019, -0.0084348805, -0.027744634, 0.08252744) * go_2(-1.0, 1.0); + result += mat4(0.46878332, 0.26391587, 0.1209319, 0.20555447, -0.14922385, 0.051061515, -0.098676264, -0.79184246, -0.013350073, -0.08962262, 0.13399342, 0.06365851, -0.14557728, -0.06463198, -0.08577713, 0.013490423) * go_2(0.0, -1.0); + result += mat4(0.09800499, 0.20487864, 0.04297167, -0.17064336, -0.18083592, 0.07161958, -0.25937584, 0.2956417, -0.06518691, -0.041915365, 0.2427435, -0.27577895, 0.042372942, 0.012740312, 0.1629995, -0.068871476) * go_2(0.0, 0.0); + result += mat4(-0.09425951, -0.0002062786, 0.23311934, -0.006410014, -0.12866448, 0.007478842, -0.033752777, 0.25421995, -0.083972536, 0.23449679, -0.010915457, 0.028103303, -0.034862384, -0.1672906, -0.018962707, -0.18321303) * go_2(0.0, 1.0); + result += mat4(0.07923952, -0.008543305, 0.034679245, -0.11071784, -0.18627429, 0.003675945, 0.0069275787, -0.044213627, -0.006995472, 0.048261233, -0.06831886, 0.08082691, 0.09143829, 0.016518226, -0.05343353, -0.059744157) * go_2(1.0, -1.0); + result += mat4(-0.068577155, 0.07070798, 0.012206329, 0.060340866, -0.15496197, -0.048976723, 0.1804755, 0.023005864, 0.10723597, -0.11200869, -0.09880576, 0.04989044, 0.022357088, -0.037169944, 0.07880648, 0.072531044) * go_2(1.0, 0.0); + result += mat4(0.18387286, 0.03215834, -0.14121926, -0.10857612, -0.052505493, 0.04517108, -0.011841349, 0.004303513, 0.106845826, 0.15006103, 0.08652394, 0.08490524, -0.061379727, 0.08679647, -0.040883318, 0.08898481) * go_2(1.0, 1.0); + result += mat4(-0.23395903, 0.14408536, 0.06144857, -0.6685949, 0.031935096, 0.12004766, 0.26079124, -0.029172074, -0.03897466, 0.15112093, -0.07277923, 0.03711819, 0.16760348, 0.0568828, -0.065560065, 0.00956802) * go_3(-1.0, -1.0); + result += mat4(-0.04025016, 0.1942882, 0.3924612, -0.04801865, -0.00043523984, 0.14166853, 0.07607167, 0.08827246, -0.013007562, 0.2740378, 0.17477411, -0.12968275, -0.049680926, -0.050259456, 0.45260057, -0.577762) * go_3(-1.0, 0.0); + result += mat4(0.14644562, 0.031796087, -0.09817545, 0.20418191, -0.0067933775, 0.056546275, -0.21122308, 0.0013088459, -0.01669626, -0.06921733, -0.036989935, -0.011311058, -0.13346042, 0.058525432, -0.20613761, 0.20606859) * go_3(-1.0, 1.0); + result += mat4(0.030689783, -0.044584632, -0.1423556, 0.46852973, 0.1544211, 0.09648401, -0.02908366, 0.20236433, -0.209728, 0.14151458, 0.043298278, -0.09896984, -0.010364637, 0.105616786, 0.015112407, 0.1621763) * go_3(0.0, -1.0); + result += mat4(0.26286677, -0.18297276, -0.008437637, 0.23164693, -0.17953826, 0.0068245744, 0.3154146, 0.013059944, 0.01976866, 0.23886378, -0.41287166, 0.5972539, -0.096666135, -0.041894518, 0.09390394, 0.21449414) * go_3(0.0, 0.0); + result += mat4(-0.10464677, 0.13162361, 0.15632801, -0.08477776, 0.019359391, 0.011527983, 0.1291731, -0.23251401, 0.12450163, -0.109221414, -0.15897743, -0.14652708, -0.20315395, -0.14564586, 0.020215273, -0.32138833) * go_3(0.0, 1.0); + result += mat4(0.0016461449, -0.019713728, 0.0021448475, 0.23474461, -0.023654517, 0.3125121, -0.14093982, 0.029511975, -0.06882552, -0.055134527, 0.08678149, 0.16168617, 0.056411985, -0.003294866, -0.086585745, -0.08039331) * go_3(1.0, -1.0); + result += mat4(0.025475128, -0.13736734, -0.23040788, -0.14943235, 0.105925016, 0.035434112, -0.3531705, -0.08996714, 0.16017611, 0.32583725, -0.0015653507, -0.20779954, 0.052627537, 0.15831038, -0.04017022, 0.17487001) * go_3(1.0, 0.0); + result += mat4(-0.02480846, -0.007830464, -0.0036758396, -0.23093869, 0.09558813, -0.114281885, 0.031678613, -0.009195237, 0.06701917, 0.22061102, -0.09497275, -0.049442247, 0.035844408, -0.0007537016, 0.022630664, -0.038742796) * go_3(1.0, 1.0); + result += mat4(0.041537244, -0.07261114, -0.04763458, 0.10301855, 0.17563294, -0.0015564843, -0.37491855, 0.98893, -0.033186004, 0.02857216, 0.08441547, -0.10630457, -0.0057512764, -0.072272584, 0.04433026, -0.03993334) * go_4(-1.0, -1.0); + result += mat4(0.045594532, -0.09183751, -0.07595133, -0.29140073, 0.14685835, -0.11706308, -0.1521791, -0.08122252, -0.16447383, -0.16774787, 0.031189548, -0.049414303, 0.11017621, -0.039800264, -0.026208388, 0.010578009) * go_4(-1.0, 0.0); + result += mat4(-0.008146379, 0.011186087, 0.06602373, 0.12634839, -0.15983777, 0.47099414, -0.45333612, 0.8108099, 0.060124353, -0.055181783, 0.060738478, -0.19588436, -0.058250163, 0.07546748, -0.12299866, 0.14861311) * go_4(-1.0, 1.0); + result += mat4(-0.061107293, 0.03472494, -0.02506493, -0.20965452, 0.06124681, -0.10108107, -0.016206535, 0.9110013, -0.1416294, 0.08154053, -0.031441186, 0.0186752, 0.0034352038, -0.07802204, 0.017881326, 0.08767849) * go_4(0.0, -1.0); + result += mat4(0.111084074, 0.15226965, 0.18580344, 0.2079405, -0.13621394, -1.091612, 0.61654764, -0.4794665, 0.06974509, -0.13632853, 0.075810306, 0.23651427, -0.13307844, -0.15254645, 0.3380616, -0.23381148) * go_4(0.0, 0.0); + result += mat4(-0.087361775, -0.18112153, -0.041845977, 0.06846624, -0.5374386, 0.0951175, -0.07031933, 0.6016942, 0.2098498, 0.14762096, -0.07894201, 0.018698592, 0.015885107, 0.08625943, -0.06305365, -0.09532374) * go_4(0.0, 1.0); + result += mat4(-0.00532194, 0.023428405, 0.009051187, -0.026698198, 0.24106956, -0.120294146, -0.17878368, 0.5585901, -0.09603226, -0.27434218, 0.061267257, -0.067599274, 0.11577519, -0.07198036, -0.063585244, -0.054138158) * go_4(1.0, -1.0); + result += mat4(-0.0037090166, 0.12307526, 0.0906306, 0.25897357, -0.056975186, -0.1644774, 0.29305506, 0.8245228, -0.1015189, 0.12243611, -0.04579446, 0.03619774, -0.13700119, -0.093857154, 0.11116371, 0.28709015) * go_4(1.0, 0.0); + result += mat4(-0.06580517, -0.0050515556, -0.020180127, -0.12627304, -0.5295511, 0.20198601, 0.07984717, 0.49923962, 0.053387187, -0.14329363, 0.0334398, 0.027427796, -0.06010418, 0.06905177, -0.05953624, -0.0062744734) * go_4(1.0, 1.0); + result += mat4(0.10157902, -0.04258438, -0.081592366, 0.10231988, -0.0011280937, -0.0029477119, 0.122473806, 0.058182172, -0.12809396, -0.0764063, -0.02463603, 0.090703174, 0.016098853, -0.05153951, -0.10675215, -0.02805221) * go_5(-1.0, -1.0); + result += mat4(-0.006401907, 0.03299347, 0.021813435, -0.13645992, 0.023382979, 0.010197056, 0.06242549, 0.12870488, 0.019453553, -0.2611006, 0.36471257, -0.15937614, -0.15930663, 0.05387499, 0.016597098, -0.08595697) * go_5(-1.0, 0.0); + result += mat4(-0.124307014, 0.12072375, -0.0152935125, 0.11888215, -0.002845999, 0.06499965, -0.06901064, -0.03703204, -0.029126361, -0.0076392456, -0.060736757, 0.129555, 0.11537912, 0.116019435, 0.010435708, -0.028468154) * go_5(-1.0, 1.0); + result += mat4(-0.30459714, -0.17632067, -0.011205797, -0.221887, 0.10605666, -0.13572265, -0.46315852, 0.04301515, -0.13903672, 0.06458765, 0.06137365, -0.07876008, 0.094751015, -0.14028335, 0.116963856, -0.08032087) * go_5(0.0, -1.0); + result += mat4(-0.06367799, 0.02582219, 0.014640189, 0.18990557, -0.06407629, -0.32271802, 0.1840523, -0.19602421, 0.3909874, -0.36456084, 0.18965109, 0.7528314, 0.012954545, -0.15343507, -0.22583503, 0.25706828) * go_5(0.0, 0.0); + result += mat4(0.1301731, 0.058515985, 0.033280328, -0.24190922, -0.040143438, 0.058877766, 0.0054545617, 0.087361515, 0.27292597, -0.40958795, 0.026887156, -0.31366885, -0.0043431865, 0.12750955, -0.07194776, 0.065983064) * go_5(0.0, 1.0); + result += mat4(0.035723373, -0.095498726, 0.0782959, 0.15071936, -0.023301449, -0.05924046, 0.06547244, -0.10660772, -0.030093014, 0.07851236, -0.011449212, 0.047922783, -0.015065303, 0.03087975, -0.00836779, 0.09950588) * go_5(1.0, -1.0); + result += mat4(0.14543498, -0.117947996, -0.03933479, 0.004552818, -0.13139006, -0.122988954, -0.22851296, -0.13614058, -0.065790504, 0.18083169, 0.009247789, 0.11099354, -0.09211226, -0.16174947, -0.030774815, -0.087108776) * go_5(1.0, 0.0); + result += mat4(-0.03276944, 0.066936366, -0.0058282167, 0.036148816, -0.112155296, 0.00018165805, 0.1121539, 0.19087985, 0.19124067, -0.17718928, -0.218951, -0.27710462, 0.055448502, -0.14703886, -0.02985939, -0.13152236) * go_5(1.0, 1.0); + result += vec4(0.023773972, -0.01610134, -0.0063477294, 0.03926911); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.070009954, 0.021454038, -0.11847886, -0.13528088, -0.018916288, -0.007984584, -0.24044524, 0.19681533, -0.2256282, 0.062132522, 0.09804443, 0.1609667, -0.1681184, -0.2739988, 0.9826367, -0.7047149) * go_0(-1.0, -1.0); + result += mat4(0.15299161, 0.031075276, 0.3363494, 0.21731544, 0.16975908, -0.13952748, 0.2240078, -0.05287144, -0.10947391, -0.28058887, 0.1602415, -0.05242933, -0.012824572, 0.44019148, 0.183011, 0.22124447) * go_0(-1.0, 0.0); + result += mat4(-0.1933171, 0.010807793, 0.09619794, -0.11506685, -0.021847002, -0.032412205, -0.0695289, -0.36532974, -0.3062084, 0.23712663, -0.103008516, -0.1459631, -0.3775901, -0.15065736, 0.50798917, -0.319278) * go_0(-1.0, 1.0); + result += mat4(-0.035294224, -0.18208614, -0.07670704, 0.19304472, -0.031985164, 0.1892136, 0.25703606, -0.13320692, 0.15069315, -0.15903461, 0.09562073, 0.62043756, -0.23541127, -0.40577292, 1.0787953, -1.2457207) * go_0(0.0, -1.0); + result += mat4(0.026066521, -0.123162605, -0.44671676, -0.2474968, -0.15022507, 0.14640577, -0.16684136, -0.17727603, -0.10631298, -0.00019539552, -0.14931045, 0.513359, -0.14604786, 0.2310633, 0.7307062, 0.9524847) * go_0(0.0, 0.0); + result += mat4(-0.01440516, -0.029865097, -0.21874285, -0.08972308, -0.041655123, -0.31896067, -0.08689541, -0.44401455, 0.19876169, 0.28722167, 0.2994054, -0.11819685, -0.21186438, 0.09155155, -0.053684887, 0.06309117) * go_0(0.0, 1.0); + result += mat4(0.38075218, -0.043483753, -0.06272146, -0.3508819, -0.028731659, 0.11677864, 0.30532238, -0.1361271, 0.027849868, 0.26058978, -0.22731794, -0.31844667, -0.14439595, -0.43144438, 0.22429988, -0.8116798) * go_0(1.0, -1.0); + result += mat4(0.2698316, 0.10916783, 0.22091974, 0.25939828, -0.39838716, -0.56674814, -0.0027586184, 0.3153625, 0.02299242, -0.09457763, -0.18344624, -0.26338023, 0.808161, 0.42487702, -0.08384813, 0.2537601) * go_0(1.0, 0.0); + result += mat4(0.0016191471, -0.017978113, 0.07647931, 0.09275741, 0.047083963, -0.16048019, -0.35436496, -0.11364046, 0.14129135, -0.22842133, 0.2055642, -0.2851008, -0.26163805, 0.25209108, -0.07687645, 0.17382248) * go_0(1.0, 1.0); + result += mat4(-0.17505698, 0.050314635, 0.22755234, 0.08223936, 0.5061073, -0.03928098, -0.04852723, -0.2080106, -0.23748071, -0.11158337, -0.1185882, 0.25914934, -0.12613636, -0.14749174, -0.01269258, -0.029624067) * go_1(-1.0, -1.0); + result += mat4(0.10377744, -0.05466698, 0.078872405, 0.13041748, 0.3035502, 0.008530016, -0.0073189647, 0.08329345, -0.6060871, -0.16662528, -0.30371985, -0.2702, 0.61287826, 0.1879884, -0.35137656, 0.059505742) * go_1(-1.0, 0.0); + result += mat4(0.4154466, 0.027697539, -0.20323761, 0.053415433, -0.068815745, -0.08202049, -0.0044402266, -0.15027983, -0.20020244, 0.07059659, -0.41572148, -0.1883762, 0.4808424, 0.17841879, 0.34741637, -0.16586983) * go_1(-1.0, 1.0); + result += mat4(-0.49572352, 0.18716958, -0.11335317, -0.04769748, -0.10330109, -0.19025627, 0.041789476, -0.029715253, 0.41650102, -0.21882975, 0.00034815544, -0.14541556, -0.36252424, 0.08366534, -0.3358562, 0.14622436) * go_1(0.0, -1.0); + result += mat4(-0.61609584, 0.27124375, -0.19046734, -0.11064285, 0.07314146, -0.06847904, -0.10895851, -0.25303125, -0.31509212, -0.061137207, 0.77079886, 0.09762246, -0.12127141, 0.5360138, -0.10778708, -0.26520404) * go_1(0.0, 0.0); + result += mat4(0.14356199, -0.33016726, -0.10193467, 0.11632038, -0.2102557, -0.09183232, -0.05608626, 0.1077268, 0.42815325, -0.12325146, 0.07102939, 0.33383858, 0.2685298, -0.30266166, -0.14468539, 0.25896597) * go_1(0.0, 1.0); + result += mat4(0.24143316, -0.25761056, 0.10797443, -0.09529745, -0.2713075, -0.13745351, 0.35335636, 0.18980181, 0.1497739, 0.2171633, 0.061957028, 0.06298818, -0.5021309, 0.23157999, 0.33820194, -0.31056333) * go_1(1.0, -1.0); + result += mat4(0.5320622, -0.19934873, 0.23535317, 0.31637898, -0.22363397, 0.08788032, -0.39178285, -0.008990902, -0.123608015, -0.19913444, -0.057655413, 0.14251189, -0.10986118, 0.2881711, 0.17117414, 0.192134) * go_1(1.0, 0.0); + result += mat4(-0.17839171, -0.073765226, -0.008635483, -0.060226154, 0.06017481, -0.13104144, 0.12686783, 0.032242585, 0.2530974, -0.16110623, -0.063553855, 0.037782427, -0.16940302, 0.12327486, -0.26592708, -0.6268989) * go_1(1.0, 1.0); + result += mat4(-0.02958415, 0.17974854, -0.05410245, 0.33944428, -0.09253551, 0.07514051, 0.13740923, -0.28058362, -0.02765559, -0.11831436, -0.043005154, -0.11904006, 0.16704343, 0.04189509, -0.10330082, 0.1880131) * go_2(-1.0, -1.0); + result += mat4(-0.37475482, -0.01700356, -0.24596426, -0.4922382, -0.19088304, -0.016197044, -0.12311331, -0.036154404, 0.2840147, 0.118689395, -0.12786976, -0.2880571, -0.11529499, -0.1782456, -0.033142284, 0.13284667) * go_2(-1.0, 0.0); + result += mat4(0.19109744, -0.022636034, -0.20981206, -0.13425744, 0.06719846, -0.007916905, 0.03267867, 0.2379371, 0.14225921, -0.34617522, -0.05871524, 0.16368906, -0.11616345, 0.11237658, -0.045261133, -0.11723488) * go_2(-1.0, 1.0); + result += mat4(-0.08670845, 0.26602617, 0.44096178, -0.51279294, -0.056755852, -0.12593001, -0.33269683, 0.20696445, 0.1559452, 0.07681006, -0.09779268, -0.688887, 0.21316779, 0.17372929, -0.08544234, 0.07616171) * go_2(0.0, -1.0); + result += mat4(0.17020908, -0.12088683, 0.1419015, 0.12911774, -0.15688238, -0.28298134, -0.11700167, 0.19899802, -0.07609943, -0.029896088, -0.0050638276, -0.38834035, -0.08416907, 0.031337228, -0.28374615, -0.14694452) * go_2(0.0, 0.0); + result += mat4(0.06929038, -0.047811467, 0.117096715, 0.12538622, 0.08086667, 0.24495961, 0.3155886, 0.104587935, -0.01886312, -0.34588912, -0.27327782, -0.04555734, 0.23255315, -0.108082674, -0.13707769, -0.05873641) * go_2(0.0, 1.0); + result += mat4(0.00902887, 0.14967729, 0.32326877, 0.37786308, 0.086763926, 0.07875129, 0.018687664, -0.23617996, 0.10713405, -0.32334656, 0.03548578, 0.48193508, 0.16891663, 0.06672513, 0.015739288, 0.11815199) * go_2(1.0, -1.0); + result += mat4(-0.056735244, -0.12874928, -0.1966798, -0.006730039, -0.19457163, 0.5460189, -0.33285704, -0.16783655, -0.110312894, 0.26006797, 0.39838836, 0.04828549, -0.35588023, -0.046225607, 0.1470969, -0.03958509) * go_2(1.0, 0.0); + result += mat4(-0.040117856, -0.12115325, -0.09573767, -0.20720899, -0.31765452, 0.17502289, 0.32475054, -0.037348557, -0.6297341, 0.31640062, 0.13060059, 0.38800913, 0.022872448, -0.24634287, 0.078089714, -0.06475687) * go_2(1.0, 1.0); + result += mat4(0.091850154, 0.07503415, -0.029450072, 0.063198596, -0.48778293, 0.008516766, -0.011320089, 0.16324575, 0.25261796, -0.17494957, 0.05179325, -0.38840756, -0.0009285451, 0.23772798, -0.041317377, -0.2321146) * go_3(-1.0, -1.0); + result += mat4(-0.14229155, -0.0363765, -0.2688432, -0.050601564, -0.34335235, 0.06305365, 0.13397686, 0.080726914, 0.7566556, -0.13657099, 0.5557799, 0.32687777, -0.48564702, -0.2650894, -0.12913369, -0.120667666) * go_3(-1.0, 0.0); + result += mat4(-0.46836203, -0.0053843935, 0.121539764, 0.1515464, -0.08852458, 0.0457093, 0.17343567, 0.28838184, 0.1487209, -0.16409159, 0.36763063, 0.32707927, -0.6642105, -0.07492801, -0.10795077, 0.022325262) * go_3(-1.0, 1.0); + result += mat4(0.57899827, -0.13887906, -0.0097093545, 0.16584128, 0.02580304, 0.029060904, -0.07870976, 0.08426836, -0.49014091, -0.059810862, 0.07537706, 0.19709098, 0.50265956, -0.1979507, 0.04224913, 0.24166693) * go_3(0.0, -1.0); + result += mat4(0.5854048, -0.30505064, 0.11956023, 0.42225972, 0.23776995, -0.15392427, -0.24818493, -0.008560312, 0.14061272, -0.24819212, -0.43060255, 0.041263513, 0.1102007, -0.35617712, 0.11143811, -0.12615411) * go_3(0.0, 0.0); + result += mat4(0.038254753, 0.25506422, -0.04199388, 0.049952004, 0.09660053, -0.102070555, 0.03463346, 0.41572338, -0.8515757, -0.099683315, 0.41168302, -0.28354573, -0.033608474, 0.20575888, -0.09237519, 0.1317394) * go_3(0.0, 1.0); + result += mat4(-0.36307448, 0.21091977, -0.05185984, 0.23907793, 0.028207673, -0.03712817, -0.14677319, 0.012790144, -0.10698613, -0.10369875, 0.04410704, 0.24705076, 0.6489292, -0.32338777, -0.13414769, 0.06621839) * go_3(1.0, -1.0); + result += mat4(-0.75373167, 0.09019827, -0.17284726, -0.12543003, 0.27073398, -0.2086718, 0.27785063, -0.13103813, 0.02331414, 0.08186754, -0.20196521, 0.051684897, -0.06606664, -0.31958562, -0.21315438, 0.125855) * go_3(1.0, 0.0); + result += mat4(-0.038064726, 0.16583198, 0.32122764, 0.035743285, 0.12363822, 0.1127362, -0.14712748, -0.085392915, -0.24138255, 0.044777665, -0.05044951, -0.033647526, 0.030597545, 0.09082426, 0.2265798, 0.4736122) * go_3(1.0, 1.0); + result += mat4(0.1126977, -0.20046005, -0.25496894, 0.124036126, 0.10974965, 0.11985285, 0.084138885, 0.18124366, -0.07204373, 0.0064274063, -0.04832383, 0.08851591, 0.16612647, 0.03482884, -0.18090217, 0.047765564) * go_4(-1.0, -1.0); + result += mat4(-0.07905303, -0.18953685, -0.0394631, 0.3865751, -0.09878195, 0.0971415, -0.028516496, -0.028853778, 0.14474897, -0.09137614, 0.09731305, 0.40169916, 0.15572307, 0.1500765, -0.00012203158, 0.0064038946) * go_4(-1.0, 0.0); + result += mat4(-0.003821752, -0.06385342, 0.0072888564, -0.083775744, -0.060851365, 0.057136264, 0.04280462, -0.021202056, -0.048534214, -0.18506972, -0.12204474, 0.5779176, -0.04827323, -0.08722066, -0.07115785, 0.05368898) * go_4(-1.0, 1.0); + result += mat4(-0.2330202, -0.06303653, 0.29030174, 0.030189004, -0.33963275, 0.18114606, 0.29463735, 0.11328755, 0.07963053, 0.0031095785, -0.29962993, 0.28251857, -0.11494044, -0.0057895523, 0.14319211, -0.2488439) * go_4(0.0, -1.0); + result += mat4(-0.23654912, 0.22379474, 0.3198649, 0.056066927, 0.030691607, -0.07961141, -0.03144492, -0.088082604, 0.6778628, 0.132889, -0.055798188, -0.06978169, 0.12096563, -0.32717404, 0.09106718, -0.36815766) * go_4(0.0, 0.0); + result += mat4(-0.023105778, -0.06328445, -0.19508956, 0.03861484, 0.012225362, 0.19229671, 0.116407454, 0.14414418, 0.35368624, -0.024074793, 0.3326615, 0.27431, 0.09195309, -0.07196982, 0.04215389, -0.3849532) * go_4(0.0, 1.0); + result += mat4(0.07858679, -0.09443359, -0.29571265, -0.1362178, 0.0996039, 0.11245977, 0.027077818, -0.08518728, 0.33179262, 0.049214616, -0.05736423, 0.36015186, 0.15525928, -0.038635023, -0.39069554, 0.34784096) * go_4(1.0, -1.0); + result += mat4(0.058750402, -0.10020396, -0.07721487, -0.17439356, 0.16671538, 0.13477819, 0.16946232, -0.025819335, 0.34714434, -0.010198532, 0.11025432, -0.38616708, 0.12990142, 0.23817861, -0.019366616, 0.028044654) * go_4(1.0, 0.0); + result += mat4(0.14006312, 0.10630536, -0.2260768, 0.05714687, 0.092723176, 0.09547309, -0.0389109, 0.07675646, 0.058345646, -0.042954672, 0.06104659, -0.4122757, 0.16417535, 0.0037746713, -0.18294196, 0.30190903) * go_4(1.0, 1.0); + result += mat4(0.057622287, -0.035229363, -0.06553031, 0.10031876, -0.19319145, -0.048806723, -0.007425805, 0.019005304, 0.003586262, 0.016717708, 0.060107335, -0.06216915, 0.049704567, -0.05240107, 0.25620982, -0.31595117) * go_5(-1.0, -1.0); + result += mat4(-0.18573885, -0.111477345, -0.09373111, -0.21040887, 0.11643646, 0.07510521, -0.32174352, -0.15092906, 0.12905258, -0.027009318, -0.002743646, -0.041563954, 0.020309664, -0.034647387, 0.31882894, -0.37069848) * go_5(-1.0, 0.0); + result += mat4(0.17867199, -0.00943737, -0.010177444, -0.21181585, 0.104042746, 0.014474994, 0.018701844, 0.026212798, 0.03658747, 0.043956183, 0.043650407, 0.085389875, -0.014945577, -0.01762919, 0.182654, -0.22317432) * go_5(-1.0, 1.0); + result += mat4(-0.120912515, -0.039224375, -0.037017174, -0.23653193, -0.1008845, 0.028399386, -0.044548668, -0.45636034, -0.16566889, 0.013642447, 0.0137368515, -0.03482613, 0.13369492, -0.06382037, 0.22479321, -0.23690398) * go_5(0.0, -1.0); + result += mat4(-0.4373671, -0.23222357, -0.21916443, 0.3293385, 0.028744029, 0.15837203, 0.023399707, 0.10409895, -0.41181034, 0.043568164, -0.009273385, 0.21109276, 0.16801079, 0.030154167, -0.009720421, -0.18788648) * go_5(0.0, 0.0); + result += mat4(-0.072376475, -0.02011798, -0.10647262, 0.020971974, -0.2182798, 0.11682645, -0.087513156, -0.13088813, -0.008121755, 0.0039800145, 0.038333565, -0.11610967, 0.027469315, -0.056020927, 0.15623987, -0.056618977) * go_5(0.0, 1.0); + result += mat4(-0.13373947, -0.033171114, 0.06283731, -0.08029521, -0.24974878, -0.03945939, 0.034578755, -0.1890085, -0.027030889, 0.0749198, -0.016240204, 0.03943091, 0.030432291, -0.044505976, 0.19445403, -0.49589068) * go_5(1.0, -1.0); + result += mat4(-0.1509842, -0.0070381155, 0.012917948, 0.17059498, 0.029610088, -0.10878063, -0.008113074, 0.056289833, -0.054603256, 0.09829515, 0.03806881, 0.17829162, -0.0015822726, -0.08691946, 0.20231368, -0.19972196) * go_5(1.0, 0.0); + result += mat4(0.029532772, 0.07929085, -0.11437378, 0.19494608, 0.032031387, -0.028734982, -0.1297608, 0.137159, -0.022271536, 0.09515793, -0.078155525, 0.23037949, -0.04492241, 0.0027398348, 0.13030772, -0.3092417) * go_5(1.0, 1.0); + result += mat4(-0.20163082, 0.10821193, -0.008131394, 0.23895654, -0.088109724, 0.027591089, -0.06744196, -0.16356489, 0.14405222, -0.03198801, -0.035864875, -0.1109604, -0.20993288, 0.006086241, 0.17663592, -0.15123697) * go_6(-1.0, -1.0); + result += mat4(0.15604545, 0.0863649, -0.17487015, -0.046291944, -0.06473543, -0.046659626, -0.06383705, 0.20159698, 0.14458497, 0.043557648, -0.16473973, 0.27218005, 0.11444152, -0.17841269, 0.0213813, -0.09379467) * go_6(-1.0, 0.0); + result += mat4(-0.09508709, 0.062292904, -0.025705643, -0.046973627, 0.035843458, -0.020717923, 0.0016703135, -0.120141126, -0.07056921, 0.0071509765, 0.0033964573, 0.15667385, 0.001521539, 0.02383701, 0.11906247, 0.015913757) * go_6(-1.0, 1.0); + result += mat4(-0.023991859, 0.057200454, -0.27439624, 0.23484877, 0.27387905, -0.027218517, -0.043888092, -0.103732556, -0.0017815046, -0.04338658, 0.028682018, -0.029997526, 0.09857438, -0.099476606, -0.2005576, 0.21962215) * go_6(0.0, -1.0); + result += mat4(0.17833887, 0.036116857, -0.17426641, -0.3021426, -0.08815194, 0.09120692, -0.09277666, 0.31938124, -0.12322653, 0.07583539, 0.40784645, -0.2529727, 0.060947243, 0.29199588, -0.09663916, -0.0887749) * go_6(0.0, 0.0); + result += mat4(0.12118307, 0.072123915, 0.032619722, -0.14627928, -0.17117277, -0.20412678, 0.10590516, -0.120998636, -0.09727269, 0.10894508, 0.08592984, -0.091238625, 0.19324283, -0.21001537, -0.28439295, 0.55045736) * go_6(0.0, 1.0); + result += mat4(0.012281795, 0.081385076, 0.11878277, 0.0492705, 0.044748496, 0.023902494, 0.048969056, -0.020066973, 0.008425134, -0.039190397, -0.23549677, 0.16787378, -0.08247198, -0.09669504, 0.2364321, -0.15428442) * go_6(1.0, -1.0); + result += mat4(-0.06404987, 0.0792038, 0.0879481, 0.2292919, -0.037722748, -0.06653894, 0.014114178, 0.06494269, -0.08017585, -0.03293329, 0.08816353, -0.1719619, -0.033170886, -0.13535172, -0.15126792, -0.028171781) * go_6(1.0, 0.0); + result += mat4(-0.0939603, -0.04363446, 0.21171579, 0.08820829, -0.15083222, 0.03214101, 0.09666204, 0.07437523, 0.21149153, 0.08965673, -0.2026921, 0.45489082, -0.12321808, 0.020059932, 0.22567947, -0.1652867) * go_6(1.0, 1.0); + result += mat4(0.058340825, -0.009565485, -0.04712614, -0.011693445, 0.109775394, 0.1345538, -0.14835285, -0.03637253, -0.045945812, 0.057066254, 0.0012826056, 0.17587218, -0.05606375, 0.039724518, 0.14448565, -0.06710324) * go_7(-1.0, -1.0); + result += mat4(-0.03129011, -0.09362061, -0.1680952, 0.42509457, -0.05798844, 0.07895778, -0.00010777998, -0.004981966, 0.015770718, 0.039250076, -0.016780263, -0.018409397, 0.013635053, 0.046897493, 0.10643381, -0.19698535) * go_7(-1.0, 0.0); + result += mat4(-0.17554706, -0.058096908, -0.11011958, 0.028699566, -0.09768116, 0.09436239, 0.096591026, -0.0271704, 0.083061986, 0.035011213, 0.018580453, -0.13121471, -0.008538906, 0.007896264, 0.16126987, -0.23193283) * go_7(-1.0, 1.0); + result += mat4(-0.15810363, -0.13618536, 0.14263584, -0.20569824, -0.026839454, 0.11919806, -0.014142015, 0.099571005, -0.22521633, 0.08088796, 0.004038379, 0.1033703, 0.044606976, 0.0591929, 0.13262387, -0.101969674) * go_7(0.0, -1.0); + result += mat4(0.023098622, 0.0056320266, -0.048355665, 0.15577006, -0.62205386, -0.028400926, -0.2078418, -0.21066222, -0.15307198, -0.22209099, -0.23168832, 0.20184901, -0.015974384, -0.047552537, -0.002478177, 0.042329706) * go_7(0.0, 0.0); + result += mat4(-0.13832586, 0.121770665, 0.09548324, -0.011305353, 0.08170726, 0.038764317, 0.13168605, -0.4840011, -0.016078193, 0.042103536, -0.07127359, 0.07069598, -0.077047385, 0.062384266, 0.04216962, -0.28733572) * go_7(0.0, 1.0); + result += mat4(0.0047042207, -0.005170153, -0.060513787, 0.24502122, 0.15005493, 0.19491407, -0.20482984, 0.028262774, -0.27250344, -0.018161086, -0.063804634, 0.2234186, -0.0013560655, 0.0017168024, 0.031621188, -0.039464153) * go_7(1.0, -1.0); + result += mat4(-0.017963814, 0.020721428, -0.11342004, 0.13301808, 0.0057044607, 0.16854525, 0.0016813589, 0.263098, -0.19456023, -0.006512073, 0.27316168, 0.113714844, -0.05583268, 0.049267832, 0.1909614, -0.028266707) * go_7(1.0, 0.0); + result += mat4(-0.09178215, -0.04123267, 0.019224923, -0.021475106, -0.03738984, 0.091329075, -0.11633343, 0.00926425, 0.055472236, -0.029774308, 0.10396517, -0.1399692, -0.08381618, 0.010906619, 0.13378097, -0.15872277) * go_7(1.0, 1.0); + result += vec4(0.06153431, -0.030526869, 0.17697038, -0.06977153); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.39232063, -0.31443354, 0.016747609, -0.19821034, -0.11440283, -0.108339086, 0.09855654, 0.09687135, -0.15667859, -0.30788472, -0.057983518, -0.30048364, -0.5892024, -0.03315241, 0.036535796, 0.042668976) * go_0(-1.0, -1.0); + result += mat4(-0.12170337, -0.31539497, -0.0080226185, -0.28167912, -0.026236918, 0.26168135, -0.086754136, 0.07140889, -0.11411177, 0.15551405, -0.04641522, 0.046217185, 0.080186784, -0.0001861396, -0.5990683, -0.24228567) * go_0(-1.0, 0.0); + result += mat4(0.0850365, -0.10327682, -0.1407833, 0.15661862, -0.1448079, -0.2993967, 0.08681482, 0.00483843, 0.18711449, 0.12147834, 0.114697695, -0.015375287, -0.39649305, -0.22024211, -0.08587565, -0.002201199) * go_0(-1.0, 1.0); + result += mat4(0.30565795, -0.3130614, 0.15354335, -0.21783416, -0.3877839, 0.003429585, -0.21440028, -0.024295159, 0.35766846, 0.02559725, -0.120454274, -0.10827954, -0.3355037, 0.6561727, -0.065990135, 0.30999345) * go_0(0.0, -1.0); + result += mat4(0.46554184, 0.43995824, 0.25583804, 0.20159459, 0.03730261, -0.15794723, 0.16795531, 0.11421282, 0.17099904, -0.22430302, 0.072461665, -0.06345064, 0.36006132, 0.47494593, -0.18869492, -0.04085313) * go_0(0.0, 0.0); + result += mat4(0.27438906, 0.00022448118, 0.099661484, 0.1397181, 0.12914467, -0.102830835, 0.045909263, -0.07967794, 0.2870382, 0.055183165, -0.031485636, 0.029727582, 0.37630266, 0.9301813, 0.28615892, 0.122112595) * go_0(0.0, 1.0); + result += mat4(-0.15251397, 0.09909433, -0.17192633, 0.0061163795, 0.06472459, -0.04261906, -0.13661696, -0.077453144, -0.7501463, 0.017666366, 0.16321932, 0.043644384, -0.05170323, 0.46000114, 0.32755983, 0.28597534) * go_0(1.0, -1.0); + result += mat4(-0.48834783, -0.038160775, -0.08875091, 0.04970968, 0.4627543, 0.03755849, 0.2540123, -0.21826492, -0.38032553, 0.32484698, -0.008446612, 0.23523396, 0.02375393, 0.27418464, -0.28132874, 0.15265541) * go_0(1.0, 0.0); + result += mat4(0.13747992, 0.11715287, 0.13201898, 0.0015658925, -0.2934619, -0.39777488, -0.07560646, -0.10565406, -0.04838937, 0.08350108, -0.019061742, 0.16467288, -0.05936286, -0.015435401, 0.4184143, 0.10496155) * go_0(1.0, 1.0); + result += mat4(-0.3240166, 0.08215981, -0.2075559, 0.19689886, 0.11150226, 0.06310339, -0.13621064, -0.15570635, 0.33679137, 0.04409631, -0.28714085, 0.031056935, 0.6626613, -0.08051886, 0.1722458, -0.22435535) * go_1(-1.0, -1.0); + result += mat4(0.24195263, -0.04580777, -0.4145571, -0.1574205, -0.042835433, 0.03784082, -0.026375433, 0.35892, 0.15977724, 0.0630263, -0.088371195, 0.02971135, 0.25729623, -0.15589325, 0.14479266, -0.05088765) * go_1(-1.0, 0.0); + result += mat4(0.48559383, -0.25281984, 0.36621982, -0.21811092, -0.32971957, -0.035721473, 0.019352507, -0.06045977, 0.2761817, 0.19758923, 0.089941375, 0.041624714, -0.041388534, 0.16949178, 0.031209668, -0.064278066) * go_1(-1.0, 1.0); + result += mat4(-0.32959136, 0.5905178, -0.121284775, 0.004792909, 0.23675677, -0.020328185, 0.13438764, 0.24885756, -0.17519131, 0.13370351, -0.1229379, 0.048159435, 0.17464967, -0.42540422, -0.13947602, 0.22700138) * go_1(0.0, -1.0); + result += mat4(-0.33010545, 0.31171462, 0.405461, -0.19268602, -0.19920933, -0.05938957, 0.0026099307, -0.24588005, -0.80367726, 0.67246026, -0.2002546, 0.06855837, -0.21781918, 0.74446076, -0.5982218, 0.2985812) * go_1(0.0, 0.0); + result += mat4(0.5674039, -0.4777194, -0.13907014, 0.12356176, -0.2920615, 0.0718882, 0.17865288, 0.20312083, -0.27032906, -0.34635755, 0.16373387, 0.03063499, -0.19903831, -0.19363025, 0.10843769, -0.26495013) * go_1(0.0, 1.0); + result += mat4(-0.17949842, -0.29433724, -0.23462017, 0.09636558, 0.20076938, -0.24068621, -0.056744654, 0.10993452, 0.04466387, -0.2755299, -0.13640761, -0.024520185, -0.46797183, 0.367952, 0.11696459, 0.22428559) * go_1(1.0, -1.0); + result += mat4(-0.011885658, 0.0891566, -0.037328225, 0.121865466, 0.048127756, 0.19165848, 0.031010484, -0.059921212, -0.21560976, -0.1529375, 0.12882216, 0.026642917, -0.11849831, 0.1641988, -0.06821976, 0.038913097) * go_1(1.0, 0.0); + result += mat4(0.014311083, 0.0046286825, 0.03766498, 0.030933104, 0.3158337, 0.014788744, -0.25061515, 0.3439588, 0.3746984, 0.011211178, 0.06807453, -0.14517218, -0.08588519, -0.44777295, -0.14026845, -0.112901196) * go_1(1.0, 1.0); + result += mat4(0.30676752, 0.22429968, 0.010868903, 0.19810227, 0.07854048, 0.0401537, -0.21871732, 0.024473034, 0.0754844, 0.21695364, 0.015986437, 0.32385147, -0.049408115, -0.0382484, -0.109464966, -0.17461152) * go_2(-1.0, -1.0); + result += mat4(-0.08928476, 0.16673279, 0.04767194, 0.09194907, 0.048144393, 0.10040854, 0.34817588, 0.038137782, 0.036133062, -0.037641533, 0.28543243, -0.2839514, -0.11791945, -0.19487488, -0.11268661, 0.05276339) * go_2(-1.0, 0.0); + result += mat4(-0.16383977, -0.31993598, 0.05208131, -0.0903597, 0.11033569, -0.0088908225, -0.054778915, -0.08319848, -0.06639396, -0.24900046, -0.2512979, -0.0019553688, -0.048192777, 0.03562768, 0.047395132, -0.05525853) * go_2(-1.0, 1.0); + result += mat4(-0.7830732, -0.4262562, -0.2673563, 0.13023588, 0.31384844, 0.1693089, 0.048528794, 0.15604164, -0.39588538, -0.08493865, 0.3310555, 0.08203675, -0.066885136, -0.0058401288, -0.17974985, -0.16163951) * go_2(0.0, -1.0); + result += mat4(-0.6983336, -0.59333223, -0.20371103, -0.3932194, 0.10534863, 0.04589214, -0.12699358, -0.15107739, -0.43941692, 0.13968801, -0.1860207, 0.25864246, -0.31358764, 0.02336987, -0.114363804, -0.2314969) * go_2(0.0, 0.0); + result += mat4(-0.13214386, 0.2762571, -0.07932436, -0.011312506, -0.1585973, -0.01644935, 0.0013558406, 0.073481865, -0.38878354, -0.008272082, -0.010028009, -0.12177282, -0.19708647, -0.20147185, -0.009344351, -0.039000046) * go_2(0.0, 1.0); + result += mat4(0.36948234, -0.027262207, 0.073340006, -0.11237642, -0.014205325, -0.033619095, 0.090520136, 0.044478547, 0.89536375, -0.25342697, 0.06966775, -0.25697634, 0.44092584, -0.02181121, -0.23286918, -0.16207126) * go_2(1.0, -1.0); + result += mat4(0.5282722, 0.2186328, -0.06594115, -0.005403383, -0.9999943, 0.1652842, -0.40371686, 0.045263674, 0.48378405, 0.5981784, -0.8636207, 0.48454443, 0.61362064, 0.40381622, -0.20037466, -0.35095415) * go_2(1.0, 0.0); + result += mat4(-0.15710682, -0.082183905, 0.025527366, -0.06832543, 0.45136708, 0.28492203, 0.21369967, -0.1544125, -0.21440476, 0.2747644, -0.07809032, -0.05409878, -0.09492401, -0.0042038485, -0.08335747, -0.1286338) * go_2(1.0, 1.0); + result += mat4(0.092377424, -0.29580644, 0.037406705, -0.057557207, -0.068813734, 0.025797142, 0.005817593, 0.13936609, -0.5533757, -0.0055351052, 0.3490144, -0.10275609, -0.3246664, -0.22240998, -0.06546209, 0.04502687) * go_3(-1.0, -1.0); + result += mat4(-0.040512305, -0.15789752, 0.3350875, 0.3248354, 0.11479105, 0.072781734, 0.11961662, 0.009017058, -0.7485467, -0.2354417, -0.18182847, -0.39436963, -0.21553181, 0.06693962, -0.10265758, -0.101919465) * go_3(-1.0, 0.0); + result += mat4(-0.29808417, 0.16832493, -0.36638075, -0.003277357, 0.30853003, -0.11783712, -0.04467285, 0.09799486, -0.29557002, -0.051879432, -0.10781173, -0.012533523, 0.13472205, 0.0886817, -0.095418304, 0.20694672) * go_3(-1.0, 1.0); + result += mat4(0.54963315, -0.51755005, -0.11815116, 0.44336796, -0.26965025, 0.063990854, -0.06830417, -0.22906917, 0.15537436, -0.12382655, 0.040594, 0.13573219, -0.32865304, -0.051071506, 0.07789849, -0.17451958) * go_3(0.0, -1.0); + result += mat4(0.108385645, 0.19099213, -0.13721561, -0.10001342, 0.36975056, -0.15690732, -0.011564509, -0.4645765, 0.9664348, -0.4172701, -0.12434381, -0.20082358, 0.025960991, -0.07957984, 0.06240927, 0.06882944) * go_3(0.0, 0.0); + result += mat4(-0.55891496, 0.5313842, -0.0052928664, -0.31153533, 0.27312106, 0.11299291, -0.20902458, -0.22780886, 0.18460937, 0.20829925, -0.22429292, 0.11375158, -0.24776565, 0.013294957, 0.108396605, 0.18705682) * go_3(0.0, 1.0); + result += mat4(0.17449534, -0.014089195, -0.005522746, -0.26652694, -0.3059182, -0.077219255, 0.13172182, 0.22815189, 0.29824528, -0.0018969525, -0.049221557, -0.02434726, 0.28403616, -0.30762187, -0.18281007, -0.069536164) * go_3(1.0, -1.0); + result += mat4(0.11734828, -0.099142194, -0.1678673, 0.113515854, -0.16090973, -0.018343726, 0.09375435, -0.11457814, 0.29799998, 0.14911132, -0.030187404, -0.0033569376, 0.51210696, 0.20057757, 0.018672027, -0.00072862353) * go_3(1.0, 0.0); + result += mat4(-0.4207862, 0.23023506, -0.045380734, 0.35523587, -0.31482896, 0.0016041965, 0.031437084, -0.11878056, -0.09631354, -0.44702205, 0.07262705, -0.019627657, 0.27565527, 0.30019623, -0.2416735, 0.13827145) * go_3(1.0, 1.0); + result += mat4(-0.21828848, -0.05362182, 0.092769556, 0.058445822, -0.015375804, 0.032911193, -0.016062194, 0.0023879025, -0.07955863, -0.18912281, 0.100602634, 0.18384646, 0.09833795, 0.13066116, 0.08606998, 0.060196545) * go_4(-1.0, -1.0); + result += mat4(-0.30196983, -0.13994773, -0.04102513, -0.021608166, 0.15173563, -0.0014104879, 0.013970848, 0.069105186, -0.046455324, -0.55526954, 0.39444688, 0.0815259, 0.10904215, 0.21681397, 0.06073383, 0.10265119) * go_4(-1.0, 0.0); + result += mat4(-0.11820481, -0.05975609, -0.13999549, 0.030522387, -0.013776436, -0.14367265, 0.009655233, -0.020354088, -0.117309436, -0.21025649, -0.0852297, 0.0050804066, 0.07790261, -0.07352538, -0.016056273, 0.030884959) * go_4(-1.0, 1.0); + result += mat4(-0.01982244, -0.14982677, 0.08542808, 0.114587806, -0.093505375, 0.009862345, -0.17831016, 0.15021613, 0.017223043, -0.05448468, 0.19507179, 0.005433668, -0.28699195, -0.0943735, 0.005008677, -0.084489435) * go_4(0.0, -1.0); + result += mat4(0.17592743, 0.16011396, -0.4458925, 0.03776147, -0.22227006, -0.1765121, -0.023907507, -0.12340803, 0.69395095, -0.42174822, 0.2619632, -0.08317782, 0.06564856, -0.07574905, 0.19617046, -0.15101147) * go_4(0.0, 0.0); + result += mat4(-0.0031664995, 0.0048539517, -0.029761892, -0.024908772, 0.038988, 0.083212, 0.022871153, 0.049879767, 0.5655658, -0.39324993, -0.41707525, -0.00069710996, -0.088931695, 0.5349101, -0.03700674, 0.19864099) * go_4(0.0, 1.0); + result += mat4(-0.09978203, -0.12430744, -0.005363638, -0.078683436, 0.16000083, 0.09070007, -0.08223272, 0.10610758, -0.09339724, -0.25193405, 0.060660124, 0.022009233, 0.028552014, -0.30671445, 0.04395066, -0.022646846) * go_4(1.0, -1.0); + result += mat4(-0.0025377637, -0.10979372, 0.0953052, -0.041535445, 0.028650977, -0.18192725, -0.13626699, -0.04126641, 0.41577348, 0.070594355, 0.17786773, -0.0019128436, 0.21811736, -0.3097873, -0.1697477, -0.05985297) * go_4(1.0, 0.0); + result += mat4(0.0029388457, -0.08754279, -0.057417464, -0.045205314, 0.14254501, -0.14048617, -0.029115621, 0.017037913, 0.23511319, 0.58405197, -0.045535047, -0.093041405, 0.24495944, 0.048594877, 0.16573521, -0.016364215) * go_4(1.0, 1.0); + result += mat4(0.0061783222, 0.03700483, 0.03310341, 0.03506661, 0.18640573, 0.060847793, -0.03938158, 0.002558664, 0.0066146054, -0.03961683, 0.11786358, -0.018774983, -0.023232952, -0.018498667, -0.02113431, -0.03875601) * go_5(-1.0, -1.0); + result += mat4(-0.07762769, 0.3220323, 0.0019882289, 0.11455374, 0.12809245, 0.054234043, -0.032796185, -0.004923056, 0.03533371, 0.23241599, -0.047939382, -0.005454499, 0.018655885, -0.06090632, -0.074992895, -0.022785714) * go_5(-1.0, 0.0); + result += mat4(-0.024499241, -0.0656105, 0.033745233, -0.06109949, 0.02657246, 0.099547654, 0.048236806, -0.08930123, -0.028375195, 0.21267472, 0.04065708, -0.029539475, -0.0034377375, -0.076174065, -0.08033416, 0.014191793) * go_5(-1.0, 1.0); + result += mat4(0.09567274, 0.17149109, 0.057815317, -0.02354373, -0.053182393, 0.07036649, 0.11426706, 0.0073960987, -0.042224813, -0.03242704, 0.028637128, -0.018156664, 0.027350018, -0.059693146, -0.025782553, -0.059870392) * go_5(0.0, -1.0); + result += mat4(-0.29396304, -0.14174098, 0.044468317, 0.048983667, -0.09083888, 0.14550914, -0.17293338, -0.019666478, -0.27275094, -0.026832746, -0.16039373, 0.05072858, 0.13158675, -0.0014240668, -0.19267258, 0.028367419) * go_5(0.0, 0.0); + result += mat4(-0.14670749, -0.20505863, -0.25351146, -0.18028821, -0.09074548, 0.12591866, -0.11648123, 0.08052676, -0.1030718, 0.055071495, -0.027647234, 0.036372066, 0.042164043, -0.24193078, -0.018126357, -0.08488727) * go_5(0.0, 1.0); + result += mat4(-0.002951344, -0.07835709, 0.0412822, 0.024059866, -0.17239328, -0.045480777, 0.031516057, -0.02321261, 0.16131492, -0.108720064, -0.13902234, 0.009038252, 0.019813707, -0.13780454, -0.08646045, -0.03967984) * go_5(1.0, -1.0); + result += mat4(0.087156996, -0.43204084, 0.08196673, 0.09000798, 0.11798731, -0.2800244, 0.013827372, 0.006278623, -0.027538646, -0.47985002, -0.07989979, 0.0101940865, 0.11476763, -0.08189494, -0.107904315, 0.0034190493) * go_5(1.0, 0.0); + result += mat4(0.10922693, -0.13929938, -0.14316928, -0.06415228, 0.10821941, -0.09326445, -0.10437615, -0.019490898, 0.02572968, -0.23569673, -0.18372843, 0.018998442, 0.019020457, -0.078145295, -0.12052183, -0.02904386) * go_5(1.0, 1.0); + result += mat4(0.047391865, -0.14862657, 0.10497325, -0.0060389596, 0.04090357, 0.07597069, -0.16701244, -0.045025267, 0.05439692, -0.0046527646, 0.10107427, -0.017686805, -0.09081038, 0.0033508723, -0.07428749, 0.083581686) * go_6(-1.0, -1.0); + result += mat4(0.24039297, 0.10254748, -0.08497433, 0.06220285, -0.21642606, 0.06099548, 0.05618001, 0.027991194, 0.11916666, 0.001376908, -0.04484436, -0.063753836, -0.080493644, -0.12548241, 0.22396187, -0.060979564) * go_6(-1.0, 0.0); + result += mat4(0.09228674, -0.10189853, -0.019978495, 0.055631284, -0.056667626, 0.042379495, -0.11306628, 0.015792474, -0.024159636, 0.17669754, -0.0015470447, 0.030659685, 0.049270805, 0.01379507, -0.07484134, 0.03997324) * go_6(-1.0, 1.0); + result += mat4(-0.08015897, -0.1573799, -0.0068566655, 0.024327071, -0.00024650464, -0.11511224, 0.10626316, -0.09424342, 0.035164617, -0.0071606585, 0.023877172, -0.0032834266, 0.03981932, 0.00094573526, 0.07893367, 0.058131382) * go_6(0.0, -1.0); + result += mat4(-0.09480482, -0.13352568, 0.11975561, 0.04046284, 0.017295167, 0.14661242, 0.034784466, 0.16060774, 0.12513426, 0.11618688, -0.19043984, -0.006898629, 0.33333287, 0.02068534, -0.144777, 0.054585308) * go_6(0.0, 0.0); + result += mat4(-0.040517613, 0.13882688, -0.10775904, -0.01107748, -0.22891715, 0.023514308, -0.07362997, 0.050480675, -0.15309371, 0.22601646, 0.050979435, 0.0078024655, 0.09704638, -0.113768086, 0.159759, -0.19680989) * go_6(0.0, 1.0); + result += mat4(-0.038060542, 0.060299598, -0.06167331, 0.070311025, -0.056030717, -0.10937594, -0.094534926, -0.05876128, 0.04186674, 0.05846574, 0.046057925, 0.050594475, -0.15031303, 0.033675846, 0.14669393, -0.020838607) * go_6(1.0, -1.0); + result += mat4(0.006198633, 0.008096492, -0.061412863, -0.038600348, 0.13099104, -0.024788823, 0.143207, 0.08146842, -0.09880114, 0.020192526, 0.093205445, -0.006562488, -0.10218187, 0.34932604, 0.017245278, 0.022239687) * go_6(1.0, 0.0); + result += mat4(0.019581253, -0.071536854, -0.079313144, 0.0039378665, 0.04372604, 0.0350227, -0.13975748, 0.02514243, 0.1482172, -0.1795845, 0.016553031, -0.114758186, -0.13846005, 0.028443053, -0.0028277517, 0.073823154) * go_6(1.0, 1.0); + result += mat4(0.019089226, -0.002865448, 0.114264086, -0.14795631, 0.052681867, 0.06782111, 0.005056374, 0.03333905, -0.045924906, 0.1271522, -0.022228748, 0.09460952, 0.0257857, -0.0404471, -0.100172006, -0.009518522) * go_7(-1.0, -1.0); + result += mat4(-0.0919395, 0.024952088, 0.02894272, -0.02876963, -0.17500453, 0.22578874, -0.05303085, -0.0015600728, -0.0076474883, -0.0018742654, 0.044667635, -0.029744165, -0.00179505, -0.012467833, -0.12192312, 0.034183223) * go_7(-1.0, 0.0); + result += mat4(-0.11467171, 0.036459688, -0.12508968, 0.062637016, 0.05442847, 0.023415027, -0.058653936, 0.27762222, 0.0033886922, -0.056405902, -0.1611357, -0.042607184, -0.029176304, -0.033276357, -0.060190573, 0.006230224) * go_7(-1.0, 1.0); + result += mat4(-0.10476976, 0.20189178, 0.013450291, 0.017824117, -0.07174306, -0.16174208, -0.0790696, -0.13154395, -0.119226985, 0.03126223, 0.08976427, -0.0017329347, 0.03171847, -0.062868886, 0.04638837, -0.03491934) * go_7(0.0, -1.0); + result += mat4(0.059950083, 0.10400816, -0.046370424, -0.012014035, -0.43914387, -0.18396273, -0.060568314, 0.010451131, -0.43835276, 0.026284682, 0.1604382, -0.10625134, 0.044843365, 0.10809218, 0.06464759, -0.046850365) * go_7(0.0, 0.0); + result += mat4(-0.06787761, -0.042850304, -0.15407841, 0.058458067, -0.17467526, 0.096576124, 0.21345392, 0.09298287, -0.01394914, -0.13355762, -0.13184176, 0.0003088022, 0.046734177, 0.028196447, -0.13506489, 0.0067693642) * go_7(0.0, 1.0); + result += mat4(0.053602345, -0.08111152, -0.017126815, -0.028242027, 0.092225246, 0.076781385, -0.089152336, 0.0012632497, -0.09276537, -0.24698547, 0.04423726, -0.06601727, 0.01814881, -0.13947123, -0.032667328, -0.019452555) * go_7(1.0, -1.0); + result += mat4(-0.0888714, -0.14888728, -0.03935948, -0.020991955, -0.07616056, -0.04555924, -0.09465727, -0.13786288, -0.305734, -0.3085076, 0.03795676, -0.021256099, -0.012537832, -0.23650081, -0.07035176, -0.028411875) * go_7(1.0, 0.0); + result += mat4(-0.0868341, -0.14694329, 0.08679206, -0.014810077, 0.022454316, -0.094533004, -0.17521082, -0.0076950863, -0.077531025, 0.11369054, -0.131653, -0.014213835, -0.08936547, -0.123560406, -0.031929504, 0.017496165) * go_7(1.0, 1.0); + result += vec4(0.05049932, 0.08230575, 0.58376503, 0.86909854); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf2 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.14979692, -0.19874124, 0.7368574, -0.75289476, -0.07442179, -0.057006773, 0.052752588, 0.07042955, 0.023808982, -0.15449218, -0.214054, 0.4198038, -0.031717926, 0.42492926, -0.365123, -0.5385816) * go_0(-1.0, -1.0); + result += mat4(-0.20962773, -0.023108777, 0.058071185, 0.16705127, -0.13245003, 0.035289574, -0.2708952, -0.09654876, -0.031879663, -0.04658145, 0.34683147, 0.16727158, 0.0348443, 0.3031345, -0.3261166, -0.118750244) * go_0(-1.0, 0.0); + result += mat4(-0.21795142, -0.11076161, -0.05562235, -0.019234827, -0.013561418, -0.097614266, 0.017759917, -0.016897203, -0.35361412, 0.057772327, -0.06672376, 0.022556266, 0.10166518, -0.20721449, -0.33036092, 0.031573854) * go_0(-1.0, 1.0); + result += mat4(0.33822674, -0.014097686, 0.040684048, -0.18630835, -0.14371929, -0.044715706, 0.15923496, -0.001135727, 0.09309857, 0.043319203, 0.008005289, -0.06445179, 0.04558112, -0.3218687, -0.23799446, -0.05683568) * go_0(0.0, -1.0); + result += mat4(0.30100045, -0.16198196, -0.40970346, -0.08049791, -0.3257815, 0.32816964, -0.1036189, -0.01658084, 0.3158466, -0.099933214, 0.17709035, 0.015306898, 0.109196454, -0.8539901, -0.39478862, 0.44471648) * go_0(0.0, 0.0); + result += mat4(-0.25177294, 0.38001952, -0.10283977, 0.16721214, 0.47318378, -0.051106233, -0.1658626, 0.0006494121, 0.0790059, -0.2052262, 0.09690421, -0.24400221, 0.386201, 0.12295305, 0.008400798, 0.1569414) * go_0(0.0, 1.0); + result += mat4(0.13002181, -0.062052924, -0.105005205, -0.1063579, -0.2948124, -0.084252134, -0.1092418, 0.18163803, 0.087108664, -0.24015805, 0.0813893, -0.15364105, 0.4476238, -0.19498287, 0.058062855, -0.13685432) * go_0(1.0, -1.0); + result += mat4(0.080557905, 0.10061249, -0.019393712, 0.2723204, 0.37991402, -0.30517173, 0.15205608, -0.17223756, -0.1711708, 0.22243942, -0.51695263, 0.06089266, 0.2784161, -0.039997682, -0.27718592, 0.18410686) * go_0(1.0, 0.0); + result += mat4(0.04679752, -0.10547882, 0.065308206, -0.05089279, -0.03807331, 0.39167935, -0.033223882, -0.029149204, -0.11922506, 0.14605616, -0.026710276, 0.043473598, -0.14226817, -0.33978114, -0.13193306, -0.064798094) * go_0(1.0, 1.0); + result += mat4(0.16664545, 0.054396506, 0.5975169, -0.1282768, 0.033200808, 0.07221164, -0.26142395, -0.18964534, -0.13124959, -0.18198496, -0.6014699, 0.05141559, 0.5430321, 0.1740554, -0.34170282, 0.26922655) * go_1(-1.0, -1.0); + result += mat4(-0.3690329, -0.41274253, -0.17788443, -0.38740525, -0.31772953, 0.065274484, -0.10197657, -0.009203365, 0.014726659, -0.4838253, 0.6801823, 0.048202187, -0.004891756, 0.45931026, -0.42521614, 0.54947734) * go_1(-1.0, 0.0); + result += mat4(-0.022050077, 0.07676187, -0.2678602, 0.12050436, 0.2968012, 0.134127, 0.013001306, -0.022339938, 0.072250396, 0.16998878, 0.13204311, 0.1460555, -0.2108701, 0.085233, -0.33153787, -0.3943539) * go_1(-1.0, 1.0); + result += mat4(0.020494493, -0.13280667, 0.120742574, 0.18085496, -0.3993116, 0.27331954, -0.16451527, -0.12265906, -0.609543, 0.5610297, -0.51908624, -0.12770663, -0.06081323, -0.03547236, -0.3134851, 0.120467834) * go_1(0.0, -1.0); + result += mat4(0.694917, -0.056899358, 0.5973495, -0.36394402, 0.11194564, -0.014088698, 0.3335045, -0.30163172, 0.410675, -0.18881899, 0.6248168, 0.11293253, 0.007631114, 0.25432107, 0.13347992, 0.12681353) * go_1(0.0, 0.0); + result += mat4(-0.10188845, -0.25959828, -0.3245341, 0.27263215, -0.023503877, -0.072242714, 0.13622598, 0.21790865, -0.3163553, -0.013236621, -0.13055128, -0.20804474, -0.009641516, 0.20730485, 0.040377166, 0.13722788) * go_1(0.0, 1.0); + result += mat4(-0.4001694, 0.20498846, -0.04771135, -0.2705733, 0.097105324, 0.08779578, 0.018639572, 0.18933, -0.06865882, -0.24691378, -0.27062201, -0.028328577, -0.0036236667, -0.19430988, 0.022964898, 0.08762482) * go_1(1.0, -1.0); + result += mat4(-0.26447344, 0.597568, -0.75024736, 0.29766613, -0.040174056, 0.0043453, -0.034185186, -0.09291407, 0.14045602, 0.19046465, -0.013113876, -0.20518276, 0.1951194, -0.317452, 0.38230306, 0.16865042) * go_1(1.0, 0.0); + result += mat4(0.059703857, -0.38956463, 0.1103034, -0.0053544333, 0.067712605, -0.25418857, 0.18657285, 0.14283091, -0.3343347, 0.13270105, -0.22770841, 0.053509742, -0.21625842, -0.3108662, 0.7752985, 0.031922966) * go_1(1.0, 1.0); + result += mat4(0.27932245, -0.031156274, -0.8561641, 0.6776702, 0.011417689, -0.00027964372, -0.18250081, -0.0037116525, -0.099202864, 0.06313943, -0.042443503, -0.5106033, -0.08595155, -0.052907, -0.1087237, 0.5441453) * go_2(-1.0, -1.0); + result += mat4(0.16762924, -0.009944587, -0.2679235, -0.2021139, 0.21079461, -0.11809957, 0.3809502, 0.08643512, -0.058171842, 0.20088726, -0.062347364, -0.12985747, 0.16284388, -0.16306452, 0.09982884, 0.14088723) * go_2(-1.0, 0.0); + result += mat4(-0.0714393, 0.082623124, 0.10457793, 0.06049393, -0.21751815, 0.15272824, -0.05817135, -0.033302475, 0.040557053, -0.23516949, -0.0038103394, 0.012663176, 0.028543636, 0.006461524, 0.04151789, 0.025360702) * go_2(-1.0, 1.0); + result += mat4(-0.3958464, -0.49928874, -0.18322971, 0.1660756, 0.02241122, -0.15481286, -0.08289814, 0.1838922, -0.30311695, 0.033998005, 0.046327453, 0.046667594, -0.19373152, 0.054595128, -0.1810291, 0.026330587) * go_2(0.0, -1.0); + result += mat4(-0.17988408, -0.06920031, 0.45933202, 0.13610782, 0.3321532, -0.35902196, -0.01072334, 0.130472, -0.17946465, 0.024062874, 0.028480636, -0.02477549, 0.030871931, -0.06926073, 0.21192017, -0.3275599) * go_2(0.0, 0.0); + result += mat4(0.2777268, 0.039282586, 0.18316416, -0.09472171, -0.12926842, 0.21093419, 0.26748186, -0.034381114, 0.37504667, 0.101034865, -0.005076637, 0.3046354, 0.19506508, 0.07113483, 0.11567689, 0.015364835) * go_2(0.0, 1.0); + result += mat4(0.0024751208, -0.09917078, 0.28514004, 0.13154282, 0.025117317, 0.107632674, -0.14624198, -0.13388367, -0.038752496, 0.06344873, -0.17392725, 0.44770598, 0.06466959, 0.18955265, -0.07118261, 0.13022475) * go_2(1.0, -1.0); + result += mat4(0.061531715, 0.040746104, 0.17598623, -0.15300408, -0.16540745, -0.22774096, -0.092872284, 0.22756997, 0.49107695, -0.6291782, 0.18959439, 0.051523212, -0.022658838, -0.23492336, 0.22632147, -0.0963997) * go_2(1.0, 0.0); + result += mat4(-0.049996454, 0.20427251, -0.13305162, 0.11485584, -0.049903087, -0.27760607, 0.10333013, -0.102610506, 0.5495312, -0.31861833, 0.002093027, -0.07540532, 0.020750895, 0.11532434, -0.302924, 0.038216017) * go_2(1.0, 1.0); + result += mat4(-0.0742038, 0.14481308, -0.52984416, 0.1047764, 0.056594335, -0.30959937, 0.28613302, 0.34666842, -0.39666295, 0.26017725, 0.35440627, -0.34158382, -0.37820384, -0.17103404, 0.50328887, -0.22849783) * go_3(-1.0, -1.0); + result += mat4(0.3429522, -0.15276, 0.2209812, 0.45239314, 0.23704866, -0.005374581, 0.16275096, 0.024596661, -0.82699585, 0.6892652, -0.5133988, -0.37860793, -0.24554388, -0.36862546, 0.53238416, -0.15033963) * go_3(-1.0, 0.0); + result += mat4(-0.18241908, -0.097688325, 0.19900274, -0.049691215, -0.0707727, 0.01220912, -0.13254303, 0.06655784, -0.112321585, -0.6344655, -0.14198428, -0.25697416, 0.30084953, -0.06746383, 0.061665535, 0.48863387) * go_3(-1.0, 1.0); + result += mat4(0.037913926, -0.03827507, 0.154614, -0.40610346, 0.3045199, 0.008148914, 0.16061406, -0.18722008, 0.23903824, -0.41043565, 0.13431714, 0.005762402, -0.11140545, 0.09172593, 0.36103448, -0.21254368) * go_3(0.0, -1.0); + result += mat4(-0.81520826, -0.18719831, -0.7951369, 0.30222818, 0.022721667, -0.24935177, -0.28099492, 0.46440077, -0.22375317, 0.21440145, -0.82245845, -0.08865358, -0.034643255, -0.14605747, -0.20446338, 0.017269822) * go_3(0.0, 0.0); + result += mat4(-0.027954992, 0.44265705, 0.14893635, -0.22994424, -0.4062441, 0.037667353, -0.20461299, -0.2084607, 0.045539107, 0.019446995, -0.26775262, 0.20553084, 0.53191364, -0.34656656, 0.101131186, -0.18529478) * go_3(0.0, 1.0); + result += mat4(0.22462271, -0.6351009, -0.30356836, 0.4656144, 0.021343032, 0.12060711, -0.118174694, -0.102915525, -0.03897218, 0.38728097, 0.0065090284, -0.014050115, -0.11878573, 0.043891054, -0.2201844, -0.008109699) * go_3(1.0, -1.0); + result += mat4(0.3475876, -0.5480176, 0.32965973, -0.3013803, -0.12759317, -0.2552925, 0.040291607, 0.058848295, 0.090461515, -0.0100614, 0.26301694, 0.19180556, -0.19759412, 0.22332898, -0.66193426, 0.029582586) * go_3(1.0, 0.0); + result += mat4(-0.15084246, 0.2588267, -0.12036018, -0.100685254, -0.09681174, 0.10745359, -0.055402648, -0.17146726, 0.16907287, -0.2920604, 0.1719566, -0.062248997, 0.16846664, -0.04184749, -0.67145276, -0.14377783) * go_3(1.0, 1.0); + result += mat4(-0.29134026, 0.14061885, 0.019386701, -0.23595293, 0.15995972, 0.11001859, 0.09999047, 0.24208768, -0.20627365, -0.5980567, -0.10900429, 0.15628706, -0.035789836, 0.11344383, 0.22269405, 0.1167161) * go_4(-1.0, -1.0); + result += mat4(0.2086919, 0.32100046, -0.074735984, 0.028284928, 0.05750321, -0.066351704, -0.12921254, 0.02867359, 0.61451894, -0.64832085, 0.01923096, 0.107076205, -0.080694854, 0.017926944, 0.115145884, 0.023048883) * go_4(-1.0, 0.0); + result += mat4(0.044795334, -0.14508736, 0.009281871, -0.047577426, -0.04061876, -0.10779222, -0.0934905, 0.07574239, 0.06306946, -0.18841065, -0.06520789, -0.1511161, 0.056024194, -0.23865043, 0.0027067165, -0.023214353) * go_4(-1.0, 1.0); + result += mat4(-0.16991557, 0.017060002, -0.29013085, 0.19565602, -0.058718584, 0.07541131, -0.19660297, 0.030717509, 0.13866037, 0.1607997, 0.33416504, -0.10889656, -0.16938633, -0.30223483, -0.116302475, -0.067932114) * go_4(0.0, -1.0); + result += mat4(0.013324888, 0.043513425, -0.13977613, 0.049115334, 0.27864334, -0.14303638, -0.08351705, -0.034961347, 0.54420704, -0.114335835, 0.70558935, -0.17958923, 0.2993206, 0.15411529, 0.1525758, 0.02863741) * go_4(0.0, 0.0); + result += mat4(-0.037015285, -0.2017719, -0.011478376, -0.018624172, 0.1424438, -0.21703872, 0.04142035, 0.08435333, 0.016879117, -0.13277175, 0.5071568, -0.00452118, -0.075084746, 0.02599955, 0.03993921, -0.0077187354) * go_4(0.0, 1.0); + result += mat4(-0.08865702, -0.036773548, 0.09770667, -0.059214808, 0.092925295, 0.024745809, 0.18103407, 0.010096519, 0.12563165, 0.21068119, 0.39060932, 0.052776936, -0.007520789, 0.073785275, 0.15345341, -0.040818583) * go_4(1.0, -1.0); + result += mat4(-0.01307178, -0.2883416, 0.06089409, -0.025703222, -0.0153167285, -0.13499002, 0.19134292, 0.017535282, 0.4228713, 0.42407927, 0.49823955, -0.014714462, 0.07038049, -0.16592962, 0.20797624, -0.067286916) * go_4(1.0, 0.0); + result += mat4(-0.10721055, 0.12606484, 0.058121577, -0.0076352274, 0.20147532, 0.023864318, 0.035990067, 0.019970879, -0.09824868, 0.21742553, 0.23160207, -0.01923935, -0.051066495, 0.07820049, 0.25739282, 0.01963692) * go_4(1.0, 1.0); + result += mat4(-0.11948619, 0.2351847, -0.043393455, 0.030519446, 0.4539114, 0.1742429, -0.0774874, -0.080372855, 0.08532228, 0.2565506, -0.047552552, 0.06568883, -0.0336801, 0.014859413, -0.01480705, 0.000907035) * go_5(-1.0, -1.0); + result += mat4(0.13286628, 0.18621215, -0.023270091, 0.0070656347, -0.15205616, 0.1755209, 0.058746208, -0.11478106, 0.028688533, 0.018236568, -0.029914241, -0.01234524, 0.027454674, -0.08994973, -0.023616008, 0.10552348) * go_5(-1.0, 0.0); + result += mat4(-0.061776865, 0.37519607, -0.0055178492, 0.0034296983, 0.18715686, 0.5121114, 0.097835, 0.03487622, 0.0467928, 0.054646105, -0.005521889, 0.005822461, -0.043956164, 0.03566145, -0.074804395, -0.0035681466) * go_5(-1.0, 1.0); + result += mat4(0.030094853, -0.19132867, -0.12022806, 0.008678997, 0.14250284, -0.39671174, -0.02558346, 0.049037408, 0.030368956, 0.032775097, -0.0700175, -0.043425113, -0.011832092, 0.1385766, 0.049986932, 0.048339713) * go_5(0.0, -1.0); + result += mat4(-0.04173207, -0.32059047, -0.3176571, -0.059780464, -0.149838, -0.09253593, 0.017474804, -0.02850501, -0.002491147, -0.4902331, -0.41391358, -0.019036679, 0.12910078, 0.011391104, 0.15281096, 0.035302237) * go_5(0.0, 0.0); + result += mat4(-0.051985674, -0.28821957, 0.041421372, -0.026321337, -0.11232292, -0.0076721082, -0.017660424, -0.053183485, 0.011399399, -0.21104087, -0.08247351, 0.012001115, 0.13353747, -0.018404294, -0.013070655, 0.021725055) * go_5(0.0, 1.0); + result += mat4(-0.10819058, 0.01522892, -0.11809611, -0.005361581, 0.016413989, -0.17791939, -0.07641427, -0.0075271325, -0.04744145, 0.14214009, 0.06238958, 0.030852603, -0.045064628, -0.10203394, 0.022396715, -0.0067329407) * go_5(1.0, -1.0); + result += mat4(-0.19808967, -0.104994975, 0.015773673, -0.022771256, 0.026054395, -0.052030962, 0.00745939, 0.04304712, -0.10831072, -0.16059683, -0.04864209, 0.037260182, 0.041406773, -0.11586577, 0.043287378, 0.027181271) * go_5(1.0, 0.0); + result += mat4(-0.1844484, 0.08464415, 0.10791806, 0.013830704, 0.03208257, 0.26110005, -0.03262007, 0.091473244, 0.13977927, 0.032529682, -0.021369038, 0.053745314, 8.765892e-05, 0.010181694, -0.046350393, -0.0064968574) * go_5(1.0, 1.0); + result += mat4(0.16242024, 0.0029229107, -0.03808197, 0.11881662, -0.008760509, -0.09074291, -0.15157613, -0.19312446, 0.098781265, -0.06404453, 0.17561193, -0.011888404, 0.012034257, -0.095228486, -0.17663169, -0.14239185) * go_6(-1.0, -1.0); + result += mat4(0.10714533, -0.091631204, 0.10210571, -0.024006354, -0.20195729, -0.028262442, 0.0057075145, 0.08570983, -0.1349579, 0.16353582, 0.06258812, -0.055206373, 0.027616054, 0.16366649, 0.15170477, 0.100432895) * go_6(-1.0, 0.0); + result += mat4(-0.005640863, 0.01953208, -0.05362749, 0.03737554, 0.10574648, 0.04949733, 0.011875781, -0.027762452, 0.11309614, -0.037482325, -0.037490267, 0.05672542, -0.03851815, -0.040241454, -0.014456474, -0.015964273) * go_6(-1.0, 1.0); + result += mat4(-0.05119488, -0.05249867, 0.08751497, -0.15210281, 0.06936269, 0.060947813, 0.15130071, 0.0061567873, 0.089312874, -0.08143958, 0.006515938, -0.062999725, 0.14026858, 0.14795284, 0.28729984, 0.078133605) * go_6(0.0, -1.0); + result += mat4(-0.009654871, -0.21643133, 0.06265242, 0.01572518, -0.1400239, 0.08764587, -0.013960639, 0.11240323, -0.06609911, 0.17936565, -0.099240325, 0.03606391, -0.08663271, 0.21256153, 0.076862626, -0.06660453) * go_6(0.0, 0.0); + result += mat4(-0.0032671946, 0.0434528, 0.12943126, 0.032995254, -0.026195439, 0.22761142, -0.08781017, -0.027369386, -0.23265982, -0.16121218, -0.05160874, -0.01102774, 0.18765874, 0.10036096, 0.13562876, -0.115016125) * go_6(0.0, 1.0); + result += mat4(-0.014280088, -0.036902506, -0.06825763, 0.081764676, 0.030115271, -0.023108382, 0.06727549, 0.00067218125, 0.017059056, -0.03265097, 0.15135893, -0.039459277, -0.04266232, 0.1111974, -0.020078076, 0.006387551) * go_6(1.0, -1.0); + result += mat4(-0.04688186, -0.09174231, -0.05381622, 0.024881862, 0.036378797, 0.12511472, -0.12020627, 0.011695685, -0.033788696, -0.048612628, -0.096676245, -0.09272234, -0.0752053, 0.17060183, -0.056995165, 0.0037499536) * go_6(1.0, 0.0); + result += mat4(0.06944483, -0.0036858325, -0.014824583, 0.022016088, -0.13040295, -0.17123172, 0.042282093, 0.025151532, 0.09733767, 0.02184708, 0.12792501, 0.008477331, -0.033732317, -0.09257224, -0.087834194, -0.04676004) * go_6(1.0, 1.0); + result += mat4(-0.06177712, 0.09466163, 0.041752685, 0.0796498, -0.08357602, -0.21963142, -0.05910052, 0.1355151, -0.020803489, -0.026252296, -0.07097114, 0.09607317, 0.078275844, 0.04250756, -0.047696978, -0.066009335) * go_7(-1.0, -1.0); + result += mat4(-0.32883903, -0.18983904, -0.011129119, -0.061288845, 0.20026195, 0.008631433, -0.06246731, -0.013857852, 0.005461851, 0.19473334, -0.018032562, -0.004270683, -0.03182703, -0.041694432, 0.046114028, -0.08224892) * go_7(-1.0, 0.0); + result += mat4(-0.18344544, -0.22068006, -3.779529e-05, -0.042374518, -0.010999355, -0.1526405, -0.08975188, -0.07842255, 0.0702596, 0.0027714027, 0.03802376, -0.015517716, 0.009005106, 0.06702078, 0.048812397, -0.018014267) * go_7(-1.0, 1.0); + result += mat4(-0.16322157, -0.12375638, -0.14597934, -0.10065044, -0.0034380173, 0.0688033, -0.13725469, 0.1336164, -0.028104529, -0.096491896, -0.29770237, 0.010468916, 0.003322942, -0.012829131, 0.055854827, -0.03990536) * go_7(0.0, -1.0); + result += mat4(-0.13249227, 0.078412525, 0.001221111, 0.039858975, 0.15937175, -0.02095173, -0.22108203, 0.09235874, -0.22747709, 0.2172244, -0.08376862, -0.047431935, -0.093568005, 0.06131771, -0.015086977, -0.056581) * go_7(0.0, 0.0); + result += mat4(-0.19138841, 0.08926175, -0.093786284, 0.057811834, -0.14395343, 0.064682476, -0.008969366, 0.0674351, 0.17032358, 0.12163412, 0.05056086, 0.058084372, -0.13832766, -0.11045532, -0.042922694, -0.030604472) * go_7(0.0, 1.0); + result += mat4(0.055630907, 0.16944349, -0.13912451, 0.033242557, 0.12217042, -0.21623628, 0.08676071, 0.06943562, 0.0558185, -0.023673354, -0.17777173, 0.004594415, 0.0135196885, -0.029225778, 0.030058527, -0.009726104) * go_7(1.0, -1.0); + result += mat4(0.01702246, 0.16437621, -0.018122733, 0.024081163, 0.016095428, -0.41127196, -0.017206954, 0.09858238, -0.15810199, -0.14963378, -0.3974077, -0.03380379, -0.045687225, -0.032821044, -0.094495125, -0.014884245) * go_7(1.0, 0.0); + result += mat4(0.049720503, -0.09237875, -0.04686381, 0.019112429, 0.14990957, -0.2563238, 0.06650471, 0.027189046, 0.065547526, 0.061466973, 0.038220834, -4.9633014e-05, -0.037983235, -0.0315463, -0.08640253, 0.023909623) * go_7(1.0, 1.0); + result += vec4(-0.0053955545, 0.20755386, 0.060728047, -0.11934225); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.011262504, 0.031819463, -0.06957062, -0.043127634, 0.00583867, 0.09169646, -0.045924503, -0.03033917, 0.04295624, -0.0008524074, -0.10314193, 0.017878639, -0.026550706, -0.057304744, -0.093816355, 0.084548905) * go_0(-1.0, -1.0); + result += mat4(0.14785792, 0.27953532, 0.013030618, 0.088695146, 0.108306505, 0.09207513, 0.111750156, -0.053279888, -0.091059364, -0.06638048, 0.027781408, -0.16337578, 0.056285474, 0.11172556, 0.030077877, -0.017893653) * go_0(-1.0, 0.0); + result += mat4(0.17618006, -0.4502103, 0.07598669, -0.0009732414, 0.050383665, 0.17085455, -0.0031775923, 0.064862505, 0.11707715, 0.3526508, -0.01904134, -0.012807272, -0.116546296, -0.060822245, -0.1311729, 0.07212336) * go_0(-1.0, 1.0); + result += mat4(0.087797835, -0.06613155, 0.1483391, 0.013323468, -0.11146307, -0.015671762, -0.040200327, -0.10357134, 0.019073516, -0.06472526, 0.10602498, 0.1770319, -0.08521562, 0.12664832, 0.08947633, -0.05493576) * go_0(0.0, -1.0); + result += mat4(0.33827654, 0.28221247, -0.18990488, 0.026941316, 0.1488764, -0.2931259, -0.076329395, -0.015431582, -0.099263206, 0.19168049, -0.026642313, 0.13576517, 0.038345568, 0.28094527, 0.009882045, -0.11360381) * go_0(0.0, 0.0); + result += mat4(0.05157035, -0.07949976, -0.11442825, -0.10846249, 0.0041128546, -0.086069524, -0.08534606, 0.030012999, -0.02440029, 0.0032833228, 0.080156125, -0.09495428, -0.014791535, -0.3719053, -0.09000905, 0.0037281278) * go_0(0.0, 1.0); + result += mat4(0.06803247, 0.07046111, 0.025906414, 0.04482326, -0.029433155, -0.053168926, 0.11433928, 0.09067554, 0.08303741, -0.17981903, -0.119454004, 0.18209296, -0.03772345, 0.025304617, -0.078271955, -0.091292545) * go_0(1.0, -1.0); + result += mat4(0.22007126, -0.40249357, 0.09878526, 0.043460052, -0.037937324, 0.2775198, 0.08673017, -0.075257935, 0.14146972, -0.049743168, -0.09132197, 0.072746076, 0.029836698, -0.0047054323, 0.041883502, -0.0780989) * go_0(1.0, 0.0); + result += mat4(0.054638218, 0.31379706, -0.015786655, -0.026390918, -0.11370519, -0.085995756, 0.08572533, -0.066644676, -0.052945357, -0.027882649, -0.030349009, -0.00074756425, -0.0034215925, 0.16293995, 0.0043956763, -0.013435695) * go_0(1.0, 1.0); + result += mat4(0.004479172, 0.15894544, 0.014565352, -0.022123177, 0.036710665, 0.027838772, -0.03341635, -0.02814826, -0.0891137, -0.051923018, -0.058425512, 0.057913873, -0.058511104, 0.04785274, 0.047574837, 0.095560044) * go_1(-1.0, -1.0); + result += mat4(0.026339598, -0.21249251, 0.09641629, -0.1050302, -0.11599119, 0.16732395, -0.07735261, 0.10095655, -0.046776835, -0.1985677, -0.100405715, -0.0049418057, 0.08661461, 0.030991163, 0.058080763, -0.033386886) * go_1(-1.0, 0.0); + result += mat4(0.06275464, 0.12353212, 0.011660699, -0.0048974585, 0.03182892, -0.11731411, 0.058963027, 0.00076737226, -0.014992623, -0.075640306, 0.021105729, 0.054476924, 0.010348032, 0.018136699, -0.015781997, 0.011437102) * go_1(-1.0, 1.0); + result += mat4(0.13556376, -0.061953824, 0.05551936, 0.116930924, 0.06720336, 0.37149063, -0.020317249, 0.10018995, 0.03449863, 0.00254038, -0.12589492, -0.116539575, 0.02914628, -0.1132907, 0.059977263, -0.01013219) * go_1(0.0, -1.0); + result += mat4(-0.17061242, -0.11773073, -0.07108274, 0.0034582969, 0.037274398, -0.38318223, 0.10591709, 0.25803554, -0.07071293, 0.17214958, 0.34243912, -0.20444241, 0.16736552, 0.14189146, -0.15058914, 0.028070828) * go_1(0.0, 0.0); + result += mat4(-0.014832051, 0.38498318, 0.07763121, 0.0076594464, 0.1140444, 0.23477876, -0.06551489, 0.082364485, -0.072711125, -0.26173973, 0.10116861, 0.025223283, 0.0071469937, -0.08337561, -0.029252755, -0.040330622) * go_1(0.0, 1.0); + result += mat4(0.065506235, -0.04470719, 0.09613445, 0.11135494, -0.038838383, -0.13319598, -0.030709865, -0.11286597, 0.02777684, 0.14582784, 0.10601686, 0.032446314, -0.101155646, 0.01797949, -0.060460012, -0.17628726) * go_1(1.0, -1.0); + result += mat4(-0.013238295, 0.23827216, -0.052030362, 0.056838796, 0.11169307, -0.0019896782, 0.04225852, -0.05080408, 0.041208353, -0.018402472, 0.0045357095, 0.14560573, -0.07002417, -0.14796354, 0.007762815, -0.10192629) * go_1(1.0, 0.0); + result += mat4(-0.041997515, -0.35881934, -0.021417812, 0.08649882, 0.09397181, -0.13445188, 0.06475497, -0.010673045, 0.12269194, 0.18738186, -0.042150542, 0.1256423, -0.008410485, 0.09158409, 0.041347865, -0.0074583124) * go_1(1.0, 1.0); + result += mat4(-0.062870465, -0.059856553, 0.091585, 0.092011355, 0.020937715, 0.010538825, 0.06692169, 0.0006046978, 0.1952068, 0.031263877, -0.106957935, 0.14423949, -0.014842083, -0.043564916, -0.019768178, 0.034922168) * go_2(-1.0, -1.0); + result += mat4(-0.117032535, 0.18058799, 0.007915372, 0.020678058, 0.14933655, -0.051320497, -0.023838546, 0.06867943, -0.3355837, 0.0042644492, -0.12227475, -0.04008191, 0.024019344, -0.040317632, 0.025777748, 0.24088405) * go_2(-1.0, 0.0); + result += mat4(-0.00010084207, -0.1289124, 0.031990424, -0.079577096, -0.0053844554, -0.02361255, 0.07049022, 0.039858952, -0.07922686, -0.06185779, -0.03044959, 0.079977244, -0.0893825, -0.106873706, 0.0044374927, -0.028308846) * go_2(-1.0, 1.0); + result += mat4(-0.08895584, -0.042846404, -0.013092824, -0.13957329, -0.10497291, 0.10893366, -0.16962886, -0.002034427, -0.037901185, 0.064590566, 0.058201604, 0.14310947, 0.08995774, -0.05294167, 0.1631053, -0.012728631) * go_2(0.0, -1.0); + result += mat4(-0.07719386, 0.046034593, 0.04633185, 0.11177461, 0.012042811, 0.13169785, -0.11322429, 0.10102152, -0.23842178, 0.13413563, 0.07785035, -0.083747946, 0.10070529, -0.0900075, -0.17456235, -0.38653556) * go_2(0.0, 0.0); + result += mat4(-0.12692979, -0.047207076, 0.003124948, 0.0031179655, 0.028505344, -0.16842307, 0.018322583, -0.03406163, 0.04017119, -0.1724708, 0.039637722, 0.14817074, -0.015262273, 0.4343052, -0.028746288, -0.06529248) * go_2(0.0, 1.0); + result += mat4(-0.124842934, 0.13421857, -0.02313364, -0.11312006, -0.03259939, 0.06062406, -0.007419522, -0.04876289, -0.10012543, -0.25548926, -0.030651081, 0.034160238, -0.14513661, 0.036888786, 0.17565195, 0.11805049) * go_2(1.0, -1.0); + result += mat4(0.19049145, -0.039175794, 0.018565621, 0.1548963, -0.051579755, 0.031628616, 0.0051352894, 0.11517133, -0.01610091, 0.051337674, -0.026527107, -0.019971197, 0.12971555, 0.07533016, -0.3041597, -0.06759981) * go_2(1.0, 0.0); + result += mat4(0.12584706, -0.10033112, 0.035238206, 0.09898554, 0.050027825, 0.07308421, -0.01463469, -0.00082939945, -0.047252785, 0.08552882, 0.0019422411, -0.024661394, 0.11734384, -0.26585263, 0.07397762, 0.20346671) * go_2(1.0, 1.0); + result += mat4(0.107849255, -0.11532747, 0.05027606, 0.10103512, 0.064907365, 0.010803471, 0.028275143, 0.14567783, -0.07167514, 0.08434946, 0.07393991, 0.0254499, 0.04305806, 0.04086671, 0.053802863, -0.06721381) * go_3(-1.0, -1.0); + result += mat4(0.09881202, -0.06978072, 0.04603433, 0.01741673, -0.15704031, -0.1793963, -0.038271505, -0.10161381, 0.04542897, 0.07914688, 0.046205457, 0.08958046, -0.0061665005, -0.03463733, 0.029120842, 0.043564152) * go_3(-1.0, 0.0); + result += mat4(-0.012550157, 0.17462914, 0.06898175, -0.07152383, -0.03304833, -0.08832667, -0.016064065, -0.23278883, -0.13197964, -0.08672381, -0.05409716, -0.065082744, 0.06888385, 0.036308136, 0.11151006, -0.06965145) * go_3(-1.0, 1.0); + result += mat4(0.10415191, 0.17370042, -0.077190965, -0.008505009, 0.071427636, 0.021012051, 0.29375538, 0.20707655, 0.08539143, -0.21792713, -0.069910124, -0.13272718, 0.078085855, 0.020925732, -0.09766308, -0.014647463) * go_3(0.0, -1.0); + result += mat4(-0.1540831, -0.20195347, 0.12906608, -0.18597993, 0.02752237, 0.3436961, 0.12848559, 0.23174804, 0.09912136, 0.2955073, -0.0119524235, 0.07499343, -0.056999985, -0.13919996, -0.0442433, 0.09012822) * go_3(0.0, 0.0); + result += mat4(0.03846984, -0.016049843, -0.04194403, 0.016142704, -0.14151782, -0.06796431, 0.004672686, -0.20027739, -0.100223176, -0.08138453, -0.09202174, 0.12008146, -0.009262179, 0.303418, 0.040116344, 0.032100268) * go_3(0.0, 1.0); + result += mat4(-0.02313964, -0.24428035, 0.038113195, -0.0045478963, -0.12524363, 0.0911982, -0.091526926, -0.10919195, -0.044670045, 0.08331864, 0.12612547, -0.103683256, -0.003986556, -0.034693778, 0.03215815, 0.06168313) * go_3(1.0, -1.0); + result += mat4(-0.024951402, 0.36099398, -0.08449376, -0.07497921, 0.09019578, -0.34781474, -0.038260702, 0.04863762, 0.017253455, -0.019677663, 0.12687095, 0.00063366926, 0.011710997, -0.10072319, -0.03315336, 0.07632106) * go_3(1.0, 0.0); + result += mat4(0.07059056, -0.12018756, -0.09131319, -0.013561132, 0.24165273, 0.22274019, -0.017931685, 0.010056685, 0.12344425, 0.12156007, -0.026813593, 0.004195277, 0.04681439, -0.076013386, -0.031047279, 0.028654084) * go_3(1.0, 1.0); + result += mat4(-0.07966141, -0.07519266, 0.08071786, -0.07381566, 0.016123658, -0.05854732, 0.037251532, 0.025495501, 0.105325036, -0.09021125, -0.0065127593, 0.20154859, -0.24500966, 0.16068383, -0.045858987, -0.013114567) * go_4(-1.0, -1.0); + result += mat4(-0.11490749, 0.2778325, -0.09342925, -0.059463568, 0.038029168, 0.010677079, 0.004088794, -0.0524926, 0.14234811, 0.26121226, 0.080162, 0.19559322, 0.19100796, 0.120853685, 0.14027278, -0.07141763) * go_4(-1.0, 0.0); + result += mat4(-0.07725682, -0.028726127, -0.011004939, -0.016452273, -0.004484741, 0.11287478, -0.090253375, -0.00962195, 0.067813195, 0.00653987, 0.11110691, 0.02533638, 0.047734473, 0.630844, -0.12703009, 0.0815481) * go_4(-1.0, 1.0); + result += mat4(-0.063518584, -0.068115965, 0.06567312, 0.005423953, -0.035477355, -0.36495018, 0.034740042, 0.10112081, -0.106252685, -0.27082387, 0.29244247, 0.12543291, -0.35771617, -0.106733896, 0.09776179, -0.041923277) * go_4(0.0, -1.0); + result += mat4(0.1582593, -0.19066747, 0.12785429, -0.06028763, 0.07165759, 0.29100847, -0.066886865, -0.026840167, 0.0149742095, 0.046114814, -0.16078624, -0.06096696, -0.15888374, 0.29948848, 0.011921788, -0.14737292) * go_4(0.0, 0.0); + result += mat4(0.023203196, -0.012949222, -0.10660274, -0.019064514, -0.01604895, -0.11042657, 0.014043448, -0.007858082, 0.034866568, 0.28908056, 0.044833034, -0.055372775, 0.05015458, 0.45589668, -0.059942003, -0.24177484) * go_4(0.0, 1.0); + result += mat4(-0.010991107, 0.081413716, -0.022647902, 0.035956774, -0.01045697, -0.06317254, -0.048409183, 0.014224823, -0.041370537, -0.03167499, -0.08533798, -0.0033347958, -0.045379575, -0.1464327, 0.11794289, 0.12731233) * go_4(1.0, -1.0); + result += mat4(-0.042375486, -0.26550424, -0.020939078, 0.048613142, -0.0064663864, -0.3438306, 0.01354813, 0.01667072, -0.078636885, -0.15991145, 0.07323537, 0.041297473, -0.088465534, -0.333333, -0.05659556, -0.2753555) * go_4(1.0, 0.0); + result += mat4(-0.007157959, 0.16018897, 0.026304452, -0.04799124, -0.009590161, -0.05249338, -0.009172379, 0.0054461583, -0.05708218, -0.19263835, 0.11795639, -0.02212647, 0.056535985, -0.06511114, -0.013391156, -0.13783967) * go_4(1.0, 1.0); + result += mat4(-0.05439675, -0.006444465, -0.009317183, -0.07307444, -0.00030038637, 0.18579505, -0.051370375, 0.059529413, -0.27623934, -0.013988184, -0.0048374305, -0.15984012, 0.039892353, -0.018393246, -0.046821754, 0.023543872) * go_5(-1.0, -1.0); + result += mat4(0.13751456, -0.06096664, -0.025098158, 0.06613064, -0.08354669, -0.07604228, 0.008098726, 0.018510602, 0.14101581, 0.22782752, -0.0028741485, 0.041945882, -0.0810864, -0.020587375, -0.085017934, -0.025102144) * go_5(-1.0, 0.0); + result += mat4(0.047001034, 0.15929686, -0.017429994, 0.11485433, 0.008108619, -0.039101716, -0.01298734, -0.04309558, 0.063283674, -0.006479532, 0.041943613, 0.020806335, 0.1637154, 0.08164767, -0.022789355, 0.23034051) * go_5(-1.0, 1.0); + result += mat4(0.04580322, 0.035329618, -0.045944862, -0.11552284, 0.080185264, -0.054166514, 0.050542697, -0.026156206, -0.083026126, 0.07445656, 0.020240687, -0.095825456, -0.05638868, 0.061477177, -0.0053955787, -0.03098832) * go_5(0.0, -1.0); + result += mat4(0.0488631, 0.0048201405, -0.17982271, -0.19360444, 0.04280375, -0.06298201, 0.18850167, -0.1875722, -0.021133788, -0.4440641, -0.08967545, -0.020436049, -0.07340717, 0.15360972, 0.30010164, 0.13870142) * go_5(0.0, 0.0); + result += mat4(0.06518589, 0.05225434, 0.035718046, 0.09953873, -0.018187355, 0.2680586, -0.011366758, 0.16459163, -0.17236687, 0.271017, -0.044547327, -0.12611923, -0.17699997, -0.14207041, 0.029943895, -0.32613477) * go_5(0.0, 1.0); + result += mat4(-0.043032415, -0.112493455, -0.0017059229, 0.030980088, -0.034748103, -0.034630474, -0.00086845557, -0.07122569, 0.0859297, 0.048253577, 0.1304124, -0.0067533916, 0.15792038, -0.051970366, -0.02041555, -0.022408634) * go_5(1.0, -1.0); + result += mat4(-0.16435696, 0.1454917, -0.02320267, -0.07823869, 0.03715387, 0.001277761, 0.09719438, 0.015275015, -0.11739434, 0.06375923, 0.10178472, 0.0694389, 0.04614792, -0.38499647, 0.27365905, -0.20401697) * go_5(1.0, 0.0); + result += mat4(-0.09289143, -0.059769634, -0.014427403, 0.07280103, 0.04857605, 0.04126391, 0.007707449, 0.016183812, -0.080374636, -0.24951005, 0.051764973, 0.01020587, -0.2992075, 0.04918275, 0.2093324, 0.14188328) * go_5(1.0, 1.0); + result += vec4(-0.034787357, -0.010484513, -0.13672084, 0.021112612); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf1 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.09358625, 0.04006633, 0.08724545, 0.08691784, -0.14107502, -0.0007997976, 0.17306888, 0.038711257, 0.0985122, -0.0014992851, -0.17487743, -0.10194699, 0.11023988, -0.06968423, 0.01662707, 0.21470292) * go_0(-1.0, -1.0); + result += mat4(0.031636875, 0.13806665, -0.0814631, 0.07943226, 0.0119793005, 0.04941359, 0.074861325, -0.16535385, -0.11496889, 0.13269342, -0.109500505, -0.05149521, -0.046225246, 0.12686665, 0.17126462, 0.009109644) * go_0(-1.0, 0.0); + result += mat4(-0.03334245, -0.123216815, -0.1330235, -0.12154138, -0.059628066, 0.10496938, -0.0038054981, 0.1457567, -0.019918114, -0.0020958772, 0.04247789, -0.0062168534, 0.0026362725, 0.021436866, -0.11040905, 0.108333305) * go_0(-1.0, 1.0); + result += mat4(0.0042455117, -0.14640199, -0.06118977, 0.16638735, -0.030705301, -0.0113191, 0.03248879, -0.044538334, -0.0102377115, -0.01707356, -0.13409424, 0.07820454, 0.0050400933, -0.051095866, 0.115574144, 0.1082736) * go_0(0.0, -1.0); + result += mat4(0.059850972, 0.12553261, 0.23358655, 0.011808153, 0.3940932, -0.10867016, -0.23658483, -0.08347661, 0.18414836, 0.13377388, -0.14889582, -0.0067077233, 0.04137153, 0.07864369, -0.2230585, 0.20400442) * go_0(0.0, 0.0); + result += mat4(-0.14122446, -0.05491896, 0.23194087, -0.04420126, 0.003479982, -0.0025467714, 0.07257286, 0.064608194, 0.003435564, 0.028599951, 0.034278907, 0.020127177, -0.05769672, -0.053810723, 0.021130094, -0.10632285) * go_0(0.0, 1.0); + result += mat4(-0.06342671, -0.02102852, -0.057624057, -0.04255905, -0.027436286, -0.004304728, -0.068475425, 0.084754616, -0.013654013, 0.040915813, 0.03803916, -0.013154927, 0.035633024, 0.03539127, 0.011308919, -0.07959703) * go_0(1.0, -1.0); + result += mat4(-0.082511365, -0.062265713, 0.12336093, 0.050000474, -0.012206841, -0.11110678, 0.23245499, 0.08442603, 0.03861097, 0.04962608, 0.2711461, 0.061978027, 0.02267645, -0.024108166, 0.050957117, -0.09069499) * go_0(1.0, 0.0); + result += mat4(-0.036008272, 0.077173404, 0.007906516, -0.07967038, -0.03769282, 0.0647222, -0.048025336, -0.24466506, -0.10772676, -0.045048002, 0.11905392, 0.09015004, 0.018585265, 0.0492868, -0.12064848, -0.12835266) * go_0(1.0, 1.0); + result += mat4(0.03722991, 0.05483932, 0.005279874, -0.036382344, 0.07366523, 0.080671124, -0.022853829, 0.17026854, -0.025622483, 0.02234575, 0.047529936, 0.08349223, -0.0811592, -0.06856246, 0.095451735, 0.04447287) * go_1(-1.0, -1.0); + result += mat4(-0.011579923, -0.07021126, -0.18775284, 0.06256736, -0.07229184, 0.007508845, 0.009623485, -0.07026442, -0.017683864, -0.05394156, 0.009937637, -0.06132005, 0.08447428, -0.035887707, 0.05672016, -0.023255082) * go_1(-1.0, 0.0); + result += mat4(-0.24283841, 0.049064692, 0.19258617, -0.09556112, -0.043943178, -0.026093625, -0.0037277476, -0.08488672, -0.05969904, 0.014202227, 0.07155138, -0.006620953, 0.12378093, 0.023470948, -0.15103869, 0.04221627) * go_1(-1.0, 1.0); + result += mat4(0.0008730981, -0.07160066, -0.076891124, 0.13791084, -0.13737433, -0.010282979, 0.078346394, 0.09242266, 0.076963596, 0.05978104, -0.05467655, 0.086442284, 0.044609588, -0.016739035, 0.021820836, -0.2011709) * go_1(0.0, -1.0); + result += mat4(-0.20905402, -0.08102045, -0.29869592, -0.047263417, -0.17030494, 0.13713762, 0.1867857, 0.0476295, -0.09349327, 0.19339523, 0.022656808, -0.0009851357, -0.2303008, -0.06444237, -0.019168362, 0.2020858) * go_1(0.0, 0.0); + result += mat4(-0.024434976, 0.10944717, 0.055678647, 0.10161796, -0.049396966, 0.0052144537, -0.16087285, -0.015105596, -0.086011946, 0.022698695, 0.15757102, -0.14491843, 0.037698947, -0.047221012, -0.030243723, 0.13107443) * go_1(0.0, 1.0); + result += mat4(-0.086016916, 0.04024993, 0.04098034, 0.07725262, -0.06640869, -0.04112078, 0.021855356, -0.18622814, -0.058279853, -0.029800907, -0.15918955, 0.09680758, 0.054697946, 0.03253648, 0.08338082, -0.04502999) * go_1(1.0, -1.0); + result += mat4(0.01646839, -0.054888945, -0.26849058, -0.011435841, -0.057793204, -0.07927816, 0.025392462, -0.10175547, 0.029483873, -0.14580205, 0.0024861468, 0.07208289, 0.06519596, 0.03442096, 0.026397267, 0.020078517) * go_1(1.0, 0.0); + result += mat4(-0.08198775, -0.0814655, 0.05315498, 0.051077936, -0.030619444, 0.019064562, -0.13288063, -0.1472509, -0.048526105, -0.040171668, 0.12455891, -0.14622177, 0.011852844, 0.096620746, -0.18692164, -0.055299122) * go_1(1.0, 1.0); + result += mat4(0.058797743, 0.024229972, 0.034255873, 0.036447, 0.00075901265, 0.074688934, -0.042593017, 0.00060293835, 0.032229654, -0.052531853, -0.07462269, 0.12802848, 0.007995166, -0.02878037, 0.06900506, 0.06908949) * go_2(-1.0, -1.0); + result += mat4(-0.10522075, 0.048956644, 0.05420077, -0.016637634, 0.04412326, -0.09468539, 0.034226764, -0.018262677, -0.06783241, -0.040329143, 0.18946178, 0.13130969, 0.10075684, -0.07591921, -0.1623158, -0.025584042) * go_2(-1.0, 0.0); + result += mat4(-0.034107495, -0.016770529, -0.016136456, 0.02585942, 0.12677853, 0.01417575, 0.047958545, 0.12998682, 0.016893117, 0.010598557, 0.12055522, -0.047758352, -0.05235784, 0.005084147, 0.07550005, -0.16640854) * go_2(-1.0, 1.0); + result += mat4(-0.114226855, 0.06335544, -0.0881748, -0.2498259, 0.015568782, 0.012487128, 0.0046955296, 0.025751248, 0.04212843, 0.15120652, 0.15968561, 0.19253394, 0.087034084, -0.0423726, -0.051838346, -0.14310384) * go_2(0.0, -1.0); + result += mat4(-0.013026084, 0.06131241, -0.1675201, -0.12888479, -0.0014964524, -0.10069896, 0.02356384, 0.01806289, 0.19572161, -0.11961045, -0.24700944, -0.1844911, -0.26364744, 0.07644966, 0.2593859, 0.08114606) * go_2(0.0, 0.0); + result += mat4(0.068388715, -0.0046663, -0.020979358, 0.09952774, -0.11110095, -0.0774004, 0.012848098, -0.012930355, 0.08189461, 0.0054886085, 0.00053461257, -0.23077695, 0.050515562, -0.035863694, 0.07036627, -0.13812068) * go_2(0.0, 1.0); + result += mat4(0.09648746, -0.10755913, -0.08146234, 0.00811376, 0.004864761, -0.08113828, 0.04964263, 0.11690557, -0.014368101, -0.014423742, 0.03171528, 0.08982036, 0.10246555, -0.06881209, -0.29283836, 0.039537873) * go_2(1.0, -1.0); + result += mat4(-0.13718893, -0.009659399, 0.2992416, -0.0066323625, -0.071996465, 0.13524258, 0.023679543, 0.07826935, 0.075409144, 0.08589669, 0.061272033, -0.045499824, -0.03741875, 0.27842635, 0.13185109, -0.099911585) * go_2(1.0, 0.0); + result += mat4(-0.024441944, -0.03522318, 0.05140529, 0.0071282475, -0.10594544, -0.05181565, 0.25732583, -0.018825782, -0.0012439055, 0.019219896, 0.09946713, -0.0722263, -0.12645322, -9.644992e-05, 0.06875323, 0.21561073) * go_2(1.0, 1.0); + result += mat4(-0.022150004, 0.054419033, -0.083107114, -0.08959484, 0.08172815, -0.013834652, -0.15180096, -0.024615027, -0.07028262, -0.0007512729, 0.26976782, 0.18875809, -0.099938266, 0.05480333, 0.016040394, -0.17822164) * go_3(-1.0, -1.0); + result += mat4(-0.026931163, -0.052416157, 0.07639568, -0.05452748, 0.035625458, 0.004550296, -0.16772425, -0.00061168516, 0.15335664, 0.051302932, 0.04580133, 0.13039467, 0.023763021, -0.07687596, -0.05549799, -0.017360365) * go_3(-1.0, 0.0); + result += mat4(0.003008481, 0.10352107, 0.076348424, 0.040963676, -0.057719737, -0.08755317, 0.024834383, -0.23462833, -0.09101583, 0.086903796, -0.07216142, 0.090624414, 0.029025761, -0.033761367, 0.1366635, -0.10524101) * go_3(-1.0, 1.0); + result += mat4(-0.028344428, 0.22866614, 0.22265156, -0.050915148, -0.07759447, -0.1586285, -0.049925447, -0.05273905, -0.010746756, 0.019270241, 0.22497585, 0.013571467, 0.019270418, 0.052651558, -0.024736265, -0.14067775) * go_3(0.0, -1.0); + result += mat4(0.058332205, -0.0631195, -0.19648206, -0.039481703, -0.2998922, 0.18085144, 0.17090257, 0.27006564, -0.2703318, 0.06099154, 0.04560162, 0.118134916, -0.004565211, -0.08472733, 0.10459307, -0.16570608) * go_3(0.0, 0.0); + result += mat4(0.10358238, -0.061059173, -0.13393302, 0.015948834, -0.030868502, -0.04978585, -0.012687447, -0.2505655, 0.049323123, -0.00019374766, 0.028754372, 0.033648107, 0.07063697, -0.014583936, 0.1362805, 0.08024834) * go_3(0.0, 1.0); + result += mat4(-0.013942856, -0.08531508, 0.039745845, 0.10414194, 0.06313496, 0.02417523, 0.07144888, -0.13780569, 0.0024822098, -0.0005785404, -0.070522025, -0.010603217, -0.008350787, -0.08310923, -0.06434052, 0.05212829) * go_3(1.0, -1.0); + result += mat4(-0.033343147, 0.11818227, -0.101355605, -0.09815853, -0.0037257646, 0.093914956, 0.045073465, -0.21146262, -0.033502303, -0.033563633, -0.19179441, -0.064311236, 0.017742243, 0.008572989, -0.017310511, 0.09787876) * go_3(1.0, 0.0); + result += mat4(-0.0965179, -0.05104779, 0.21980357, 0.059457585, 0.05362383, -0.07189908, 0.21294238, 0.12593827, 0.08622481, 0.0061037396, -0.11099128, -0.075461335, -0.019220999, -0.08473234, 0.1896788, 0.1545825) * go_3(1.0, 1.0); + result += mat4(-0.067072935, -0.009035596, 0.039182313, 0.017011479, 0.036997713, -0.042869426, -0.0040173815, -0.031988475, -0.0069290483, 0.05294254, -0.0012220141, 0.09110227, -0.014827876, 0.19689846, 0.0022661786, -0.07005972) * go_4(-1.0, -1.0); + result += mat4(-0.057713088, 0.050435945, -8.427375e-05, -0.010549373, 0.03760227, 0.022647688, 0.02825286, 0.06377033, -0.0047159446, 0.11320346, -0.069414824, 0.059531983, -0.3299612, 0.2719073, -0.1501237, -0.2640464) * go_4(-1.0, 0.0); + result += mat4(-0.11150839, 0.050114244, -0.032236893, 0.0015038166, 0.027094943, -0.02502733, -0.043179303, 0.016036531, 0.09573851, 0.08618344, -0.107915044, 0.009664713, 0.014394529, 0.06955564, 0.16166097, 0.20743166) * go_4(-1.0, 1.0); + result += mat4(-0.044392925, -0.040684875, -0.23557815, -0.056034833, -0.028161626, 0.05496662, -0.053270698, -0.0734554, -0.111465365, 0.03420695, 0.109617576, 0.0010966054, -0.2844835, 0.26836982, 0.23121232, -0.10785496) * go_4(0.0, -1.0); + result += mat4(0.23357789, 0.00012668641, 0.107617445, 0.095301114, -0.02025481, 0.05065449, -0.024430674, -0.06981479, -0.013470061, -0.18655962, 0.0027839232, -0.12599237, 0.33548972, 0.30407274, -0.40126064, -0.32490435) * go_4(0.0, 0.0); + result += mat4(-0.122281134, -0.04318224, -0.052405555, 0.013284251, 0.13037762, -0.03950817, 0.11751856, 0.12586644, 0.04493563, 0.065146565, -0.08837088, 0.047829423, -0.06804128, 0.048373412, -0.15102965, 0.055268798) * go_4(0.0, 1.0); + result += mat4(0.030756064, 0.04952702, -0.13558283, 0.0072438875, 0.009556099, -0.010242232, -0.030279964, -0.02526838, 0.038414564, 0.048353594, 0.095979914, 0.021043506, -0.03390589, 0.21514107, 0.16822831, -0.03800557) * go_4(1.0, -1.0); + result += mat4(-0.077866204, -0.033634454, 0.037902627, 0.07902395, -0.028916273, -0.0226067, -0.024876777, -0.022323275, 0.023246247, 0.053687774, -0.07160366, 0.047302466, -0.16095349, 0.20279877, 0.4096563, -0.07618548) * go_4(1.0, 0.0); + result += mat4(-0.07142796, 0.06627731, -0.14174895, -0.07026203, 0.07220904, -0.040048495, -0.00987828, 0.08977276, 0.13406783, 0.01384705, -0.11771938, 0.12959056, 0.014253595, -0.06292875, 0.2582175, 0.40633658) * go_4(1.0, 1.0); + result += mat4(-0.16788402, 0.050656084, 0.19867243, -0.047497474, -0.041200183, -0.035055846, 0.07874877, 0.04519112, -0.06284356, 0.066545784, 0.12576821, -0.056989186, -0.017403305, 0.08785861, -0.041629825, -0.015809631) * go_5(-1.0, -1.0); + result += mat4(-0.049183913, 0.0074359034, -0.08632813, 0.005517822, 0.022378573, 0.008625282, -0.08956046, -0.022195501, 0.05653246, 0.059899297, -0.18981466, -0.088493966, -0.17928217, 0.09689291, 0.119702354, 0.02164232) * go_5(-1.0, 0.0); + result += mat4(0.14917888, 0.015048009, -0.005661549, 0.037006833, -0.044544507, -0.04312164, -0.00308949, -0.1262605, -0.05497811, 0.007944446, 0.08427898, 0.10117571, -0.04657141, 0.02150161, -0.06573186, 0.040465128) * go_5(-1.0, 1.0); + result += mat4(-0.13925308, -0.027741015, 0.154933, -0.21173707, 0.03086154, -0.09298073, 0.012140707, -0.0837475, -0.0389594, -0.13471437, -0.06527673, -0.09669443, -0.029916963, 0.098984316, 0.07964568, 0.12955827) * go_5(0.0, -1.0); + result += mat4(0.113585204, -0.1900433, 0.06495972, 0.2520296, 0.028009154, 0.11481251, -0.041522022, 0.12091007, 0.10473571, 0.050006554, 0.15297762, -0.008781097, 0.31699565, -0.017735595, -0.17169666, -0.2624132) * go_5(0.0, 0.0); + result += mat4(0.0887785, 0.028235141, 0.07372089, 0.04354993, 0.017250411, 0.06372916, 0.14129215, 0.02355555, 0.027448706, 0.044665307, 0.021888286, 0.19552916, 0.15212306, 0.04121492, 0.14111567, 0.17364514) * go_5(0.0, 1.0); + result += mat4(-0.053401828, 0.0036638333, -0.11299562, -0.018262852, -0.018146416, 0.036637712, -0.016478777, -0.1337408, -0.0517515, -0.04804134, 0.023531632, -0.043174334, -0.06509281, 0.04609587, 0.12353532, 0.07258964) * go_5(1.0, -1.0); + result += mat4(0.13987146, -0.004954282, -0.19968997, 0.10498915, 0.032130655, -0.06047886, 0.05529797, 0.1026575, 0.05790419, -0.02940328, -0.0059209364, 0.014009479, 0.03707385, -0.22969075, 0.014512211, -0.05710503) * go_5(1.0, 0.0); + result += mat4(-0.039069746, 0.062022384, -0.07215672, 0.06928623, 0.060027763, -0.0012453326, -0.10970553, -0.06261657, 0.1871706, -0.0018255943, -0.14889055, 0.023299964, -0.3351649, 0.37802795, -0.19070482, -0.060723614) * go_5(1.0, 1.0); + result += vec4(0.11029581, -0.13019782, -0.084883854, -0.08666392); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!SAVE conv2d_5_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.2512713, 0.04446131, -0.13019001, -0.19825238, -0.13686082, 0.0009870777, -0.057273045, -0.18591711, -0.23278764, 0.18710285, -0.22846954, 0.053128306, -0.21377552, -0.031190397, 0.02671188, 0.27215254) * go_0(-1.0, -1.0); + result += mat4(-0.02850081, -0.25581798, -0.2916671, 0.25948995, -0.061595846, 0.021996778, 0.26533875, -0.1386817, -0.50907725, -0.107387096, -0.5450341, -0.024946108, -0.17377011, 0.16451572, 0.026229601, 0.4334658) * go_0(-1.0, 0.0); + result += mat4(-0.16645597, 0.04859862, -0.11956127, -0.10639128, -0.1512508, -0.16807108, -0.17695063, 0.18996993, 0.02294206, -0.10125812, -0.5181448, -0.38864586, 0.23754308, -0.08984774, -0.24180885, 0.3828395) * go_0(-1.0, 1.0); + result += mat4(0.06978632, -0.07391368, 0.16064985, 0.14387815, 0.13395701, 0.0072151893, -0.012425532, 0.17299308, 0.07081038, 0.36008126, -0.15714419, 0.07240115, 0.13636859, 0.1784294, 0.011940809, -0.52540964) * go_0(0.0, -1.0); + result += mat4(-0.09117334, 0.23012494, 0.28810725, -0.100390926, 0.06310453, 0.20847455, -0.10232593, -0.19567461, 0.36627305, -0.4853842, 0.08254439, 0.24376224, 0.056684412, 0.006989206, 0.022157473, -0.030653777) * go_0(0.0, 0.0); + result += mat4(-0.2663092, 0.00064693484, 0.029155029, 0.09757617, 0.1529268, 0.091259964, -0.10012239, -0.22128165, 0.13576204, 0.11918086, 0.19831064, 0.502025, 0.12156709, 0.24983601, 0.3127286, 0.75281775) * go_0(0.0, 1.0); + result += mat4(-0.17778896, 0.22676969, -0.015692642, -0.009996105, 0.028742755, -0.047916196, 0.25847134, 0.08189432, 0.36310482, -0.15971468, -0.67326957, -0.2647825, 0.21505079, -0.13693511, -0.25197342, -0.035831798) * go_0(1.0, -1.0); + result += mat4(-0.2606467, -0.04332907, -0.0081932675, -0.1871374, 0.011161732, 0.060496867, 0.1462103, 0.06257406, 0.3499117, 0.3138593, 0.76008654, -0.015321124, 0.111340284, -0.19518661, -0.07172604, -0.09686078) * go_0(1.0, 0.0); + result += mat4(0.06345513, -0.11955674, -0.10117546, 0.11214337, -0.032827023, -0.03233337, 0.0405524, -0.059570026, 0.43338406, 0.19762945, 0.7126324, 0.4188931, -0.101491705, -0.013107355, -0.12105306, -0.006423246) * go_0(1.0, 1.0); + result += mat4(-0.06646153, 0.008786217, -0.12322221, 0.038551513, 0.21105461, 0.029630456, -0.046948384, -0.08749188, 0.20109598, -0.32960144, 0.12458934, 0.065261096, 0.1736474, 0.08107202, 0.21897486, -0.07582082) * go_1(-1.0, -1.0); + result += mat4(-0.0956223, -0.16077499, -0.078044854, 0.010729564, -0.13726994, 0.028060393, 0.03612404, -0.34773487, -0.102635644, -0.15022214, 0.35442317, 0.1504626, 0.12941697, -0.0081511475, 0.47598404, 0.1603431) * go_1(-1.0, 0.0); + result += mat4(0.056824043, 0.06583582, 0.19184831, -0.2864132, 0.028662741, 0.11763177, -0.13771693, 0.00023768989, -0.103775464, -0.17286631, 0.0583067, -0.24930799, -0.003860889, 0.03102717, 0.27666515, 0.16049923) * go_1(-1.0, 1.0); + result += mat4(0.10747796, -0.11407924, 0.07512156, 0.16156466, -0.0761196, -0.4194308, 0.3467298, 0.051567934, -0.01650765, -0.3078, -0.0915916, -0.12230647, 0.28413123, 0.12150274, 0.32607988, 0.03547804) * go_1(0.0, -1.0); + result += mat4(-0.15339021, -0.32022968, -0.15313472, -0.21096179, 0.21755596, 0.5007671, -0.084493205, 0.24789453, -0.008148358, -0.37689698, 0.052389532, 0.1103459, 0.116709754, 0.057310186, -0.13453801, 0.31041884) * go_1(0.0, 0.0); + result += mat4(-0.27026525, 0.055883665, 0.21993993, 0.16815868, -0.16430366, 0.014845722, -0.04250501, -0.32818204, -0.06997226, -0.15058292, 0.15950048, -0.12349109, 0.027781306, 0.010121193, 0.21316971, 0.35488003) * go_1(0.0, 1.0); + result += mat4(-0.26226902, 0.12889884, 0.035255022, -0.25410843, 0.15391718, 0.15659589, 0.23515344, -0.12434832, -0.25579002, -0.30341643, -0.037506066, -0.15720633, 0.1376103, 0.18252009, 0.33176532, 0.027529534) * go_1(1.0, -1.0); + result += mat4(0.0037590207, 0.17911285, 0.06906637, 0.17953697, -0.09008308, -0.15015154, -0.43836382, 0.3525618, 0.05467472, -0.52823055, -0.23620026, 0.34462368, 0.39483768, 0.20073475, 0.3278273, 0.10098111) * go_1(1.0, 0.0); + result += mat4(0.10590756, 0.0948448, -0.14713965, 0.36263084, -0.20373668, -0.002442622, -0.17611219, -0.12712897, 0.047380507, -0.07845144, -0.21089159, -0.16667572, 0.19997585, 0.13592377, 0.33893886, 0.18317363) * go_1(1.0, 1.0); + result += mat4(0.2965214, -0.06210429, -0.14850818, 0.08950312, 0.16642696, -0.016716538, -0.072306536, 0.31038073, -0.07912652, -0.05515433, -0.04921583, 0.08185186, 0.18347357, 0.022154849, -0.0004953931, -0.03949225) * go_2(-1.0, -1.0); + result += mat4(-0.29195285, 0.24432418, -0.36798882, 0.17430644, 0.36771268, -0.06538093, -0.29294577, -0.06279913, -0.21313414, 0.09859833, -0.108558804, -0.029308762, 0.13946626, -0.017130189, -0.06855778, -0.25429824) * go_2(-1.0, 0.0); + result += mat4(-0.06389454, -0.064197145, -0.045878682, -0.07161815, 0.04137984, 0.16231675, 0.4002652, -0.19706374, -0.23648848, -0.12520109, -0.13031802, 0.16896103, -0.14413834, 0.08727873, 0.23887047, -0.10668098) * go_2(-1.0, 1.0); + result += mat4(0.049962725, 0.015332934, -0.32353997, 0.010178239, 0.14607702, -0.021713382, 0.30675814, -0.23125732, -0.12972106, -0.015958687, -0.12036701, -0.10332523, 0.004802664, -0.04311933, -0.18757673, 0.13215788) * go_2(0.0, -1.0); + result += mat4(-0.149493, -0.25933927, -0.16011974, 0.030059932, 0.17800556, -0.21459822, -0.2168605, 0.3184123, 0.10750539, 0.16187398, 0.32434842, 0.11596275, -0.13076428, 0.19637384, 0.22133437, 0.37495127) * go_2(0.0, 0.0); + result += mat4(0.054967344, 0.02872234, 0.03161886, 0.062141456, -0.19746579, -0.14291914, 7.4703865e-05, 0.15052183, 0.11602195, 0.0037601371, -0.02332411, -0.089222685, 0.23475187, -0.1604402, -0.38760346, -0.020806316) * go_2(0.0, 1.0); + result += mat4(-0.14585812, -0.14615667, -0.051447522, 0.15611356, 0.18497528, 0.081289835, 0.12661521, 0.005147319, -0.036558554, -0.053869057, -0.0039063287, -0.032759674, 0.09126186, 0.008506298, -0.034447696, -0.10733875) * go_2(1.0, -1.0); + result += mat4(0.054028746, -0.00937832, -0.15684044, -0.035560567, 0.11809561, 0.1014585, 0.03356128, 0.02016173, 0.09049222, -0.021339757, 0.07999249, 0.18014722, 0.016788004, 0.043118123, -0.18311624, -0.17827764) * go_2(1.0, 0.0); + result += mat4(-0.17769523, 0.11805558, 0.1659212, 0.041927963, 0.078464985, 0.07504244, 0.09389066, 0.050142735, 0.10748948, -0.102326766, -0.24754792, -0.122868046, -0.11781918, -0.014019157, 0.049353566, 0.058935367) * go_2(1.0, 1.0); + result += mat4(0.15844208, 0.04755972, 0.2995126, -0.21663505, -0.00011620265, -0.0920107, -0.022999357, -0.1296501, -0.15867265, -0.19909091, -0.19694586, -0.056097876, 0.07395912, 0.10025299, 0.25709102, -0.023848202) * go_3(-1.0, -1.0); + result += mat4(-0.11322553, -0.09600812, -0.14286031, 0.14715615, 0.1812981, -0.010719141, -0.06493227, -0.02056335, -0.036782123, -0.16428772, -0.0257993, -0.413957, 0.22038403, 0.12777176, 0.07709192, -0.062658824) * go_3(-1.0, 0.0); + result += mat4(-0.028069293, 0.06065116, -0.2580596, 0.1429641, -0.031438775, 0.15333374, 0.04029889, -0.2119529, 0.02965389, 0.011932767, 0.048941217, 0.052197248, 0.0069986824, 0.114639916, 0.23558734, 0.071952805) * go_3(-1.0, 1.0); + result += mat4(-0.06488308, 0.09402183, 0.2945335, -0.0075379927, 0.23234147, 0.16486216, 0.075063676, -0.13243993, -0.07322842, -0.03335224, 0.10056115, -0.03634638, -0.039835792, 0.07942052, 0.011616743, -0.032830272) * go_3(0.0, -1.0); + result += mat4(-0.07104258, -0.17667016, -0.21837749, -0.055763435, -0.6686622, -0.20883176, 0.2730452, 0.23990531, -0.029782413, -0.0098454505, -0.3267454, -0.13315259, 0.26045015, 0.06319506, 0.3368705, -0.057651937) * go_3(0.0, 0.0); + result += mat4(-0.1651042, -0.0065184776, -0.07931902, -0.3233216, -0.17614277, -0.014422923, 0.12026072, 0.19844185, -0.16411425, -0.10423013, -0.14174505, -0.042299822, -0.013956158, 0.043245506, 0.28541192, -0.024170961) * go_3(0.0, 1.0); + result += mat4(0.11822045, 0.13256907, 0.1145154, 0.20927152, 0.05685588, -0.13790809, -0.3190584, 0.1989516, 0.009066991, 0.2330579, 0.1995987, 0.11560573, -0.030923547, 0.087892644, 0.21597871, 0.03743619) * go_3(1.0, -1.0); + result += mat4(-0.4099685, -0.020438893, -0.082362354, -0.06452889, 0.37881377, 0.10635464, -0.06538328, -0.38973767, 0.51307523, 0.11719936, 0.38153416, -0.34511742, -0.048716113, -0.018229034, -0.03832133, -0.05830876) * go_3(1.0, 0.0); + result += mat4(-0.106022984, -0.014159266, -0.026645603, -0.038261224, 0.20721874, -0.040447287, 0.034983322, 0.14717588, -0.010929067, -0.16487508, -0.01462808, 0.10304265, -0.10781002, 0.023938116, 0.18254079, 0.004454827) * go_3(1.0, 1.0); + result += mat4(0.021212364, 0.02463952, 0.20319557, 0.006853534, 0.01923601, -0.03024551, 0.16040856, 0.030991258, -0.069986686, 0.062546656, -0.031001838, -0.041288298, -0.1010596, 0.06939378, 0.23429441, -0.09559115) * go_4(-1.0, -1.0); + result += mat4(0.06261205, -0.03705453, -0.18669654, -0.0181734, 0.11758142, 0.062471334, 0.19166726, 0.20650591, -0.15047501, 0.15895432, 0.049506746, 0.21445669, -0.103519544, 0.005469086, 0.0039006013, -0.27438062) * go_4(-1.0, 0.0); + result += mat4(-0.080068275, 0.087389246, 0.063547224, 0.07317146, 0.06493674, 0.08251285, 0.19219737, 0.14406256, 0.0050070896, 0.08467077, 0.30765936, 0.13362816, -0.19590043, -0.0025648642, -0.02054509, -0.123127185) * go_4(-1.0, 1.0); + result += mat4(0.035833023, -0.07591796, -0.07311685, -0.015659545, -0.1071422, -0.03163112, -0.15992196, -0.012923958, -0.2571729, -0.07938968, 0.0413156, -0.13006738, -0.15211388, 0.04415037, -0.05164996, 0.10922049) * go_4(0.0, -1.0); + result += mat4(-0.01729037, 0.15696312, 0.24416976, -0.14139475, -0.113730945, -0.03231372, -0.030602036, 0.13402711, -0.4753809, -0.08170512, -0.22863603, 0.014114137, 0.11541584, -0.11207372, -0.6808578, -0.18360177) * go_4(0.0, 0.0); + result += mat4(0.055491205, -0.12612139, -0.106761724, 0.012882862, 0.14926314, 0.091033846, 0.20083062, -0.0016588457, 0.20377177, -0.11680146, 0.10070291, 0.050298847, -0.06142294, -0.09137155, -0.0892819, -0.33678165) * go_4(0.0, 1.0); + result += mat4(0.10703002, 0.084578834, -0.12851705, 0.060689818, 0.09584378, 0.08541435, -0.19049749, -0.06647584, 0.067393035, -0.07042473, -0.44782272, 0.077020116, 0.023799181, 0.13890763, 0.30552545, -0.099860385) * go_4(1.0, -1.0); + result += mat4(-0.06843849, -0.06796385, -0.14991613, -0.10321344, 0.030656688, 0.01517565, -0.04451364, -0.14096247, 0.0616397, 0.104577266, 0.17183799, -0.33740512, -0.17921185, 0.13753828, 0.033225838, 0.033278663) * go_4(1.0, 0.0); + result += mat4(0.07333974, -0.035097934, -0.099412724, 0.028803498, 0.0073889066, 0.04448838, 0.10087784, -0.10349331, -0.1748929, -0.023355793, 0.12004346, 0.060392488, 0.21111041, 0.02820841, -0.01905034, -0.060936175) * go_4(1.0, 1.0); + result += mat4(0.1230735, -0.036640514, 0.14228842, 0.03674977, 0.18953583, 0.12063422, 0.278849, 0.011077689, -0.004723119, -0.085871086, -0.22208698, -0.05897798, -0.08820831, -0.055343833, -0.36630332, 0.061420467) * go_5(-1.0, -1.0); + result += mat4(-0.08617953, 0.029824207, 0.012999008, 0.14653832, 0.091754906, -0.18726993, 0.15466972, 0.07520414, -0.09422507, 0.06285359, -0.05190847, 0.040111717, 0.06347725, -0.12677085, -0.25064456, 0.037838973) * go_5(-1.0, 0.0); + result += mat4(0.024296625, 0.050277006, -0.0038943852, 0.22721657, 0.094200276, 0.13543595, -0.07011714, -0.0761234, 0.09904409, 0.040095594, 0.038246762, -0.088900656, -0.0994826, -0.07779853, -0.23548591, -0.011814277) * go_5(-1.0, 1.0); + result += mat4(-0.11484334, 0.058457036, -0.14017995, 0.004168719, 0.280425, -0.0608683, -0.041607536, 0.18203874, -0.09708175, 0.010571225, -0.09521854, 0.10316223, 0.22425781, 0.012244434, 0.22746642, -0.14701338) * go_5(0.0, -1.0); + result += mat4(-0.23617493, -0.17771423, -0.08029921, -0.17315923, -0.5219916, -0.20046392, -0.61504555, 0.097057335, -0.17237096, -0.12740523, -0.19614285, -0.0962008, 0.16025336, -0.061222732, 0.17753237, 0.17213206) * go_5(0.0, 0.0); + result += mat4(-0.106579974, 0.049742647, -0.05126049, 0.029903352, 0.26753578, -0.060165133, -0.056066565, 0.061395545, 0.21733779, 0.08878832, 0.0326938, -0.021217436, 0.098148674, 0.032903112, 0.20047897, 0.26074448) * go_5(0.0, 1.0); + result += mat4(0.0755034, 0.07197553, 0.1150647, 0.060213815, 0.02418587, -0.0068174214, 0.09854082, -0.06657632, -0.09059176, 0.06860972, 0.02102682, -0.08348747, 0.18531941, 0.01842052, -0.10409639, 0.10308704) * go_5(1.0, -1.0); + result += mat4(0.23391157, -0.04221323, 0.0070946272, 0.22225508, -0.03986882, 0.21027099, 0.3479087, 0.078737445, 0.10444782, 0.14575955, 0.28820315, 0.028596792, 0.25995937, 0.170944, 0.0895069, -0.007549278) * go_5(1.0, 0.0); + result += mat4(0.1333923, 0.057424176, 0.03997452, -0.070987694, -0.040175647, -0.106138796, 0.05134428, 0.17941214, 0.040890414, 0.047647286, 0.11145406, -0.064056404, -0.050256927, 0.1002497, 0.3559856, -0.20863442) * go_5(1.0, 1.0); + result += mat4(0.1188355, -0.12645717, -0.2225628, -0.08409446, 0.031680476, 0.1285114, 0.015257031, 0.07314906, -0.21217677, -0.07397989, -0.09830523, 0.095247865, -0.17913309, 0.041592747, -0.2962181, -0.14066707) * go_6(-1.0, -1.0); + result += mat4(-0.07401649, 0.04513353, -0.08079379, -0.2691485, 0.062272236, 0.018691711, -0.060476813, -0.06744648, 0.100468054, 0.023117458, -0.14244545, -0.3305552, 0.010295283, 0.16395009, 0.15042467, -0.034076292) * go_6(-1.0, 0.0); + result += mat4(-0.3141746, -0.26248914, -0.027696338, -0.30070263, 0.09125419, -0.0014763775, -0.14756647, -0.17390263, -0.17403154, -0.04297874, -0.1500881, -0.15539391, 0.006197388, 0.023637652, 0.032611176, 0.048603363) * go_6(-1.0, 1.0); + result += mat4(-0.07516776, -0.031942673, 0.07770739, 0.031496312, -0.0021692938, 0.056884985, 0.24546169, 0.003367791, -0.05033831, 0.028794305, 0.021211961, 0.33864278, 0.0031321745, -0.105278015, 0.0111407675, 0.0701436) * go_6(0.0, -1.0); + result += mat4(0.1021264, 0.0061049256, 0.19486322, 0.126134, -0.095017105, -0.08792092, 0.02274828, 0.02951376, 0.48483998, 0.07009104, 0.38171777, 0.02422749, -0.12333685, 0.11261442, 0.16367728, 0.072420195) * go_6(0.0, 0.0); + result += mat4(0.021734113, 0.21130675, -0.014667037, -0.007789671, -0.06846323, -0.117793076, -0.0964307, -0.02935036, -0.18294816, 0.059842993, -0.28913066, -0.102560386, 0.15000913, 0.032450397, 0.0988687, -0.085506015) * go_6(0.0, 1.0); + result += mat4(0.19509225, 0.028781189, 0.09271222, -0.1837815, -0.0120801255, 0.026893526, 0.2693688, -0.0016265993, 0.0039579174, 0.18030784, 0.4051318, -0.21415327, -0.12954094, -0.119375914, -0.30373552, -0.055964008) * go_6(1.0, -1.0); + result += mat4(-0.06313117, -0.32275942, -0.05000967, 0.20948593, 0.006625605, -0.02862116, 0.092328526, -0.0042809383, -0.22583593, -0.104118, -0.14766322, 0.3377656, 0.04367254, -0.21394794, -0.03967783, 0.04314833) * go_6(1.0, 0.0); + result += mat4(-0.16170035, -0.09274618, -0.068409264, -0.23469074, 0.02216607, -0.020882646, -0.030780574, -0.032728698, 0.19974543, -0.038825467, -0.20880729, -0.026957387, -0.2665676, -0.0042840806, -0.17434914, -0.20162287) * go_6(1.0, 1.0); + result += mat4(0.008706336, 0.24857536, 0.07012665, 0.029141488, -0.075971976, -0.06542143, -0.26977444, 0.28518954, -0.03994618, 0.06746459, 0.15960494, -0.031614818, 0.10402686, 0.05228521, 0.2706839, -0.08412449) * go_7(-1.0, -1.0); + result += mat4(0.34868455, 0.059125874, -0.24923514, -0.14030626, -0.002206843, 0.17649965, 0.022088109, 0.16989319, 0.28018022, 0.037482813, 0.033881966, -0.110211805, -0.1461133, 0.100152865, 0.21151756, 0.12784961) * go_7(-1.0, 0.0); + result += mat4(-0.0319395, -0.17589076, -0.22462021, 0.10701813, -0.06862374, -0.09489239, 0.22301264, 0.14567333, -0.10425317, -0.017173383, -0.09257967, 0.07398802, -0.0145952385, 0.18448386, 0.21701702, -0.16777204) * go_7(-1.0, 1.0); + result += mat4(0.061221093, -0.05704288, -0.07676006, -0.052152745, -0.29757017, -0.041490067, 0.10110148, 0.06999996, 0.13920887, 0.096642986, 0.11759076, 0.039797485, -0.11345797, 0.08531267, 0.0020498617, 0.20756677) * go_7(0.0, -1.0); + result += mat4(-0.02924768, 0.43140748, 0.3576708, 0.07425467, -0.09776612, 0.17081547, 0.047453757, -0.24676917, 0.24032865, 0.16710171, 0.2931733, 0.10410114, -0.015874937, -0.098303884, -0.38009295, -0.17355318) * go_7(0.0, 0.0); + result += mat4(-0.13524444, 0.007712721, -0.15341945, 0.26658493, -0.15367007, 0.04757085, 0.05987942, 0.16386369, -0.2413242, -0.0129769435, -0.06789226, -0.10357101, 0.092468075, 0.11371365, -0.19948734, -0.14243089) * go_7(0.0, 1.0); + result += mat4(0.118277036, -0.06164381, -0.1686405, 0.058012348, -0.2670688, -0.0145501625, -0.07265152, -0.11451649, 0.06803662, -0.02435205, 0.03637894, 0.053843852, 0.03652821, -0.10161457, -0.0029967225, 0.069967866) * go_7(1.0, -1.0); + result += mat4(0.23541775, -0.059244093, -0.096260205, -0.034619953, -0.24691534, -0.22830355, -0.033745077, -0.06558064, -0.1939561, -0.27438363, -0.3102494, 0.010047581, -0.036287133, 0.015464844, -0.07904172, 0.058030576) * go_7(1.0, 0.0); + result += mat4(-0.30107716, -0.1288575, -0.022093268, 0.27418026, 0.23561528, 0.11505671, 0.3549647, -0.13953236, 0.14726228, -0.0036342216, -0.14700253, -0.028157962, -0.23330247, -0.14545065, -0.29455653, 0.28482953) * go_7(1.0, 1.0); + result += vec4(0.028692381, 0.02326062, -0.11377067, 0.025062647); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!SAVE conv2d_5_tf1 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.022938877, 0.2579751, -0.013084437, -0.1089233, -0.14861627, -0.078500114, 0.019642482, -0.05139565, -0.051909085, -0.17062944, 0.068744116, -0.07403651, 0.3269677, 0.17037666, 4.5802863e-05, -0.15335672) * go_0(-1.0, -1.0); + result += mat4(0.07954113, 0.18079437, -0.28405085, 0.007825187, 0.20935248, 0.14544328, 0.033194635, -0.21030708, 0.32258448, -0.26704326, 0.16460042, 0.065626666, -0.08469482, 0.06723138, -0.09091223, -0.06205721) * go_0(-1.0, 0.0); + result += mat4(0.17380527, -0.020091513, 0.0582957, -0.024271399, 0.18975389, 0.19778416, -0.29433975, 0.15521859, 0.58399194, -0.09595809, 0.009928574, -0.18851084, -0.29115897, -0.048134226, -0.09617586, 0.047225073) * go_0(-1.0, 1.0); + result += mat4(-0.09309238, -0.07675889, -0.24878357, -0.06531893, -0.064129435, -0.009008467, 0.11631878, -0.06916144, 0.2793126, -0.32513165, 0.37253168, 0.036576062, 0.36744595, -0.04729552, -0.13206004, -0.05215635) * go_0(0.0, -1.0); + result += mat4(-0.023187222, 0.0009231289, 0.14988932, 0.23626575, -0.15809236, 0.17567657, -0.02422277, -0.33645374, -0.41344398, 0.17103645, 0.3518877, 0.47345215, -0.25195712, 0.084660046, -0.12522705, 0.052872717) * go_0(0.0, 0.0); + result += mat4(0.055161323, 0.043026455, 0.03779778, -0.08075425, -0.115782134, -0.014549669, 0.37075353, 0.22045816, -0.49088693, 0.0835494, 0.2159082, -0.41866717, -0.06417238, -0.30653054, 0.12484446, 0.13176875) * go_0(0.0, 1.0); + result += mat4(-0.045149174, 0.06681547, 0.18394029, -0.14042361, -0.07765508, 0.05034044, -0.17164557, -0.12491487, 0.4975827, -0.3203176, 0.055334024, 0.125109, 0.336075, 0.28669038, 0.30557877, 0.030119808) * go_0(1.0, -1.0); + result += mat4(0.00011821607, -0.122472174, -0.08324348, -0.027970925, -0.023000905, -0.099142514, -0.035895523, -0.08137834, -0.16044949, -0.19354698, -0.15582532, -0.081981316, 0.12961699, -0.1918534, 0.08779121, 0.12144554) * go_0(1.0, 0.0); + result += mat4(0.025441505, 0.03427134, -0.0064664106, 0.07586567, -0.1003307, -0.065233536, -0.16611056, -0.12936847, -0.50816315, -0.32010305, -0.20362125, -0.03147093, -0.072087474, 0.054650743, -0.16390504, 0.019627476) * go_0(1.0, 1.0); + result += mat4(-0.40184093, 0.022268726, -0.34950277, 0.0594148, -0.2275374, -0.12103956, 0.0052295276, -0.00024172834, 0.10389285, -0.1376218, -0.25130105, 0.14029239, -0.2917768, -0.14039762, -0.14850211, 0.035800025) * go_1(-1.0, -1.0); + result += mat4(0.062030964, 0.25622177, -0.72319925, 0.15366316, -0.183584, 0.36516508, -0.23446779, 0.08663755, -0.18829858, -0.002415918, -0.43276885, -0.07432367, -0.16350701, -0.3125193, -0.14811535, 0.0011325915) * go_1(-1.0, 0.0); + result += mat4(0.12557262, 0.20273705, -0.276058, -0.02353762, -0.066855654, 0.007290285, 0.043816283, -0.08797092, 0.12488218, -0.0654431, -0.019331945, -0.07025083, -0.24953426, -0.10457234, -0.14429206, -0.06647885) * go_1(-1.0, 1.0); + result += mat4(-0.09522532, 0.076986365, -0.21861225, -0.015553463, -0.08106973, 0.10615721, -0.11285844, 0.24737634, 0.16936691, -0.019318739, -0.11046508, -0.16758144, -0.23672962, -0.14047794, -0.055881936, -0.0519727) * go_1(0.0, -1.0); + result += mat4(-0.09556547, 0.38048413, 0.2174768, -0.40154982, 0.040295098, -0.28001946, 0.079922006, -0.27905703, 0.036086317, -0.47458485, 0.01217378, 0.047201037, -0.14604184, 0.14169596, -0.078762196, 0.39877397) * go_1(0.0, 0.0); + result += mat4(-0.043790977, 0.03552704, 0.7248381, -0.50752306, 0.28982326, -0.11697283, -0.061339833, 0.19690266, 0.044057723, 0.061007652, -0.018818501, -0.22131611, -0.32041064, 0.05665662, 0.07443633, -0.15590373) * go_1(0.0, 1.0); + result += mat4(-0.036357548, 0.099011496, -0.0600166, -0.006672921, -0.1656192, -0.058472272, -0.037689343, 0.005283873, -0.30923024, 0.046291128, 0.042236008, -0.04899875, -0.3175488, -0.12077662, -0.13294365, 0.03357164) * go_1(1.0, -1.0); + result += mat4(0.1086259, -0.19654356, 0.07482405, 0.028583387, 0.12874746, 0.13142939, -0.03945759, 0.070535645, -0.23495245, -0.039286736, 0.05450344, -0.026803093, -0.114840984, 0.045042433, -0.18101883, 0.08081232) * go_1(1.0, 0.0); + result += mat4(0.2383998, -0.033481326, 0.12682496, 0.17717046, -0.09860243, 0.09552485, -0.056021366, 0.13705646, 0.2192259, 0.2657086, -0.014578617, -0.05311957, -0.3127505, -0.0035301214, 0.044448815, -0.037845958) * go_1(1.0, 1.0); + result += mat4(-0.093362145, -0.08148622, 0.12565112, -0.019403974, -0.13835338, -0.0071526463, 0.1290535, -0.057555214, 0.09632061, -0.053040132, 0.09852903, -0.03910937, -0.032320388, 0.048392795, -0.012207167, -0.04393196) * go_2(-1.0, -1.0); + result += mat4(0.057860725, -0.2024194, 0.29320854, -0.10589582, -0.10735796, 0.13684767, 0.28570637, 0.19166973, -0.09423759, 0.22893463, -0.114109, -0.025798064, 0.017444948, 0.11321059, 0.16112305, 0.04476502) * go_2(-1.0, 0.0); + result += mat4(-0.09663057, 0.10491212, -0.0963407, -0.1480959, -0.04952603, -0.08474395, -0.028124198, -0.12026459, 0.088296264, 0.03230017, -0.05177514, -0.024137117, -0.011235952, -0.049136978, 0.1452754, 0.11608158) * go_2(-1.0, 1.0); + result += mat4(0.07949651, 0.06453834, 0.31745693, -0.03497614, -0.20939794, -0.042127363, 0.017483925, -0.12876181, -0.0162109, -0.037397776, -0.013959519, 0.007777444, 0.1301563, 0.03655948, -0.044273265, -0.069461495) * go_2(0.0, -1.0); + result += mat4(0.076347195, 0.07847409, -0.03042475, -0.08723051, 0.23076174, -0.078408934, 0.40998375, 0.021870123, 0.19212195, 0.14179486, 0.09031163, -0.15221268, 0.20335157, -0.58715457, -0.023486411, -0.015180159) * go_2(0.0, 0.0); + result += mat4(-0.08601226, -0.048167598, -0.09975146, 0.008574901, 0.11590632, 0.0836411, -0.20796347, -0.29599068, -0.08497977, 0.04826079, -0.198501, 0.31000587, 0.06959842, 0.026950095, 0.19877516, -0.23890266) * go_2(0.0, 1.0); + result += mat4(-0.06923031, -0.028005023, -0.13632496, 0.004848759, -0.06092114, -0.12422374, 0.117385164, -0.017468572, -0.028347377, 0.002899302, 0.046875317, -0.058066733, 0.0028499789, -0.11922645, -0.209848, -0.016156359) * go_2(1.0, -1.0); + result += mat4(0.05266488, 0.08492771, 0.09440972, -0.08432919, -0.05243905, 0.1362437, -0.04429104, 0.11472059, -0.05158979, -0.23943315, 0.12290304, 0.040338255, -0.07158117, 0.06566732, -0.20102906, 0.114058346) * go_2(1.0, 0.0); + result += mat4(0.056619167, -0.033348348, 0.052370623, -0.06495122, 0.027564008, 0.08083595, -0.0127976, -0.06486138, -0.050432798, 0.026196232, 0.022196831, 0.20244269, 0.039577875, -0.052140575, -0.009956325, 0.077953376) * go_2(1.0, 1.0); + result += mat4(0.017136047, -0.15870284, -0.07191247, 0.18083136, 0.20753674, 0.15130065, -0.1790816, 0.26776645, -0.12231414, 0.24638735, -0.14738652, -0.028907528, 0.040832903, -0.067194805, 0.17294602, -0.0026166802) * go_3(-1.0, -1.0); + result += mat4(0.10104892, -0.018738149, -0.073060036, -0.29469725, 0.092650965, -0.15875727, -0.08502473, 0.032668564, -0.13845024, 0.27037326, -0.19944431, 0.039671347, -0.04895266, -0.017618237, 0.039025962, 0.0016598356) * go_3(-1.0, 0.0); + result += mat4(0.17514467, -0.07050378, 0.18666385, 0.12077226, 0.031181589, -0.21891394, 0.44564912, -0.14018096, -0.124896295, -0.0016302528, 0.03213462, 0.11361923, -0.07941629, -0.0925229, -0.084085576, 0.030316519) * go_3(-1.0, 1.0); + result += mat4(-0.35773918, -0.059806474, -0.0020904322, 0.19435045, -0.10230651, -0.007758403, -0.23293154, -0.32158864, -0.11275798, 0.16192111, 0.008352999, -0.008750009, 0.09212086, -0.09098618, -0.26915243, 0.03357177) * go_3(0.0, -1.0); + result += mat4(0.09943201, 0.1901531, -0.026349293, 0.17466106, -0.10673977, 0.2547749, 0.10157686, 0.1326886, 0.03555933, 0.36037236, -0.4218841, 0.07446364, -0.2235149, -0.13361512, -0.24873514, -0.23566855) * go_3(0.0, 0.0); + result += mat4(-0.083322965, 0.067394584, -0.15775509, 0.76516485, -0.40491992, 0.051136486, -0.21803752, -0.12209488, 0.043623567, 0.0404948, -0.28643316, 0.039587826, 0.0026148176, -0.08919038, -0.3478394, 0.116790466) * go_3(0.0, 1.0); + result += mat4(0.13910362, 0.023986172, 0.07350453, 0.010063174, 0.12445804, 0.09106235, 0.10570027, 0.025098123, 0.08997035, 0.2792279, 0.3160799, -0.3935213, 0.035729084, -0.021334067, -0.026267715, -0.044499733) * go_3(1.0, -1.0); + result += mat4(0.20421049, 0.07346835, 0.18474397, 0.026174849, -0.02989818, -0.06286323, 0.2275253, -0.029805843, 0.115734585, 0.15343104, 0.66103226, 0.075917505, -0.10288058, -0.021190342, 0.04455335, -0.011274376) * go_3(1.0, 0.0); + result += mat4(-0.2354359, -0.14831413, 0.037986103, 0.036590938, 0.25972295, 0.006108503, 0.030833008, -0.20212393, 0.022195943, -0.010900623, 0.37299496, -0.13169637, 0.03193699, 0.007832017, -0.017574975, 0.070344575) * go_3(1.0, 1.0); + result += mat4(-0.11885056, -0.18644641, 0.17840427, -0.13825245, -0.030942062, 0.015069156, 0.021639956, 0.11524744, -0.0601021, -0.008369759, 0.15134856, -0.18300958, -0.09940503, 0.009815146, -0.017253477, 0.09037604) * go_4(-1.0, -1.0); + result += mat4(-0.110104315, -0.009834152, -0.14369361, 0.06185118, -0.08255751, -0.0516039, -0.1951323, -0.00047362587, 0.017227406, -0.15231636, -0.042297862, -0.047925126, 0.34693977, 0.061454788, -0.11192555, 0.16597812) * go_4(-1.0, 0.0); + result += mat4(-0.15342343, 0.10931233, -0.007310907, -0.07751543, -0.0888511, -0.08119914, -0.1414023, -0.032593522, -0.13005419, -0.09993501, 0.20015062, -0.08697108, 0.020872341, -0.076239474, -0.09099305, -0.11908446) * go_4(-1.0, 1.0); + result += mat4(-0.044990964, -0.027314631, -0.07820695, 0.078159526, 0.042958725, 0.088754624, -0.049424402, 7.2685914e-05, -0.00056504336, -0.05408936, 0.24272163, -0.10305403, 0.041021567, 0.110585794, 0.10719972, 0.08432359) * go_4(0.0, -1.0); + result += mat4(-0.095741525, 0.12368431, 0.14801304, 0.0380265, -0.015476223, -0.06634335, 0.079489276, 0.058822274, 0.23608524, 0.29305235, -0.009837359, 0.16402614, -0.016570859, 0.3342296, 0.09576365, -0.021151496) * go_4(0.0, 0.0); + result += mat4(0.10729588, 0.045816828, 0.1262373, 0.0052509876, -0.121602945, -0.055951986, 0.04807077, -0.016409213, -0.011724864, 0.051216003, -0.119300105, 0.06001936, 0.084430665, -0.020765483, 0.16509366, -0.008958939) * go_4(0.0, 1.0); + result += mat4(-0.064694576, 0.110651545, 0.15088093, -0.046932697, 0.058936216, 0.06959351, -0.0020466733, 0.04747578, 0.22621915, 0.13449503, 0.01605113, 0.16042295, -0.07204144, -0.0900099, -0.088417225, -0.082057305) * go_4(1.0, -1.0); + result += mat4(0.16447057, -0.04517711, -0.1714595, -0.083775364, 0.06958718, -0.053486623, -0.031540155, 0.0049946113, 0.18206403, -0.12547323, -0.1314431, -0.2403156, 0.11255935, -0.01883286, 0.21715029, 0.043270845) * go_4(1.0, 0.0); + result += mat4(0.108898625, 0.079559706, -0.0034652199, 0.15574843, 0.025981857, -0.04027031, -0.10371948, -0.083748214, -0.067730375, -0.018392408, 0.001656431, 0.115139425, -0.021774331, -0.24732396, -0.07133477, -0.06610868) * go_4(1.0, 1.0); + result += mat4(-0.035133053, 0.03512937, 0.15728034, 0.15501308, -0.009090469, 0.089557186, -0.40637708, 0.2399038, 0.10503285, 0.025647165, -0.026959898, 0.052915934, 0.37169585, 0.19439524, 0.05578172, -0.14021298) * go_5(-1.0, -1.0); + result += mat4(0.14407758, 0.13171129, 0.034860328, -0.034273557, 0.31252018, -0.24374081, -0.092568725, -0.24656439, 0.013929443, -0.045619074, -0.030720312, -0.08240126, -0.008946209, -0.12069562, 0.10321105, 0.050253898) * go_5(-1.0, 0.0); + result += mat4(-0.16870415, -0.0053623654, -0.24239568, -0.015851695, 0.3168152, 0.10030775, -0.08809818, 0.19916728, 0.00062866835, 0.0105750095, -0.11852275, -0.038046032, -0.024067584, -0.07467565, 0.08368766, 0.10921712) * go_5(-1.0, 1.0); + result += mat4(-0.17414445, -0.08300633, -0.2915034, 0.08091456, 0.29668987, 0.15542515, 0.03857886, -0.12984616, 0.07567486, 0.14261106, 0.029647684, -0.08307407, 0.0063827154, -0.21285148, -0.05295185, 0.11996014) * go_5(0.0, -1.0); + result += mat4(0.21793848, -0.0986422, -0.38136294, -0.15358298, 0.23020543, -0.05977532, -0.11393491, -0.096013635, 0.24110852, 0.16509794, 0.123878606, 0.37243974, -0.11803778, -0.08029274, -0.3473595, -0.016619613) * go_5(0.0, 0.0); + result += mat4(-0.23718977, 0.09085187, 0.029400716, 0.47734168, 0.31362626, 0.017727366, 0.020105481, 0.057455037, -0.051743355, 0.07249409, 0.049400017, -0.1550629, -0.071846515, -0.1437987, 0.2417953, 0.014299535) * go_5(0.0, 1.0); + result += mat4(-0.08694347, 0.009841694, 0.09711932, 0.15246062, 0.098932154, -0.014437434, -0.11970662, 0.07598205, 0.038751386, 0.03185043, -0.07837853, 0.108438924, 0.04504558, 0.011566745, 0.008329154, 0.1426964) * go_5(1.0, -1.0); + result += mat4(0.048465043, 0.05677615, 0.099296875, -0.18124029, -0.010807039, -0.00491463, -0.33124956, -0.14285894, 0.083550416, -0.0138887465, -0.23193465, -0.097341135, 0.028116707, -0.02220312, -0.37721866, 0.01048504) * go_5(1.0, 0.0); + result += mat4(0.041770935, 0.14585412, 0.2197504, 0.08920772, 0.21015723, -0.028688433, 0.023897428, 0.067301795, -0.23041755, 0.007535018, -0.1479986, -0.056359813, -0.17258057, -0.115048505, -0.12676053, -0.08775268) * go_5(1.0, 1.0); + result += mat4(0.024465568, 0.082423724, -0.080443636, 0.06963394, 0.047642346, -0.14285465, -0.020962767, -0.09884441, 0.17492405, 0.003157105, -0.004446115, 0.08194303, 0.1291698, 0.027452087, 0.15300538, -0.054447226) * go_6(-1.0, -1.0); + result += mat4(0.04749992, 0.16784605, 0.1447426, -0.1622565, 0.24699093, -0.13908885, 0.24418731, -0.02740722, 0.12872131, -0.008208542, 0.20528013, 0.13789995, -0.15344016, -0.09991068, 0.14630906, -0.17380811) * go_6(-1.0, 0.0); + result += mat4(0.095947415, 0.20968701, -0.007149529, 0.094800524, 0.05043026, -0.0693885, 0.12464035, 0.03035088, 0.0108456295, 0.12440731, -0.15677981, -0.004279606, -0.21148744, -0.0016452523, -0.09077341, 0.08485625) * go_6(-1.0, 1.0); + result += mat4(0.14946367, -0.026544122, -0.01740767, -0.02725897, -0.031115597, -0.09615934, -0.014224658, 0.069897555, -0.06448997, 0.013844944, -0.24855709, 0.19252767, -0.07110074, -0.23129512, 0.17940485, -0.15197137) * go_6(0.0, -1.0); + result += mat4(0.024190446, -0.4131039, 0.20890464, -0.14430898, 0.09224411, -0.084142424, -0.1300263, -0.12037812, -0.13061382, -0.23952286, 0.3093258, -0.4347307, -0.07327249, -0.34333092, -0.22807422, -3.587411e-08) * go_6(0.0, 0.0); + result += mat4(-0.12566617, 0.09386748, -0.060595963, 0.06381177, 0.008107327, -0.063545115, 0.014224591, -0.113904804, 0.014311766, 0.074355006, 0.009707868, 0.06504525, -0.035151925, -0.059292633, -0.009372453, 0.0428329) * go_6(0.0, 1.0); + result += mat4(0.13565753, 0.08438446, -0.25228864, 0.29451725, -0.1524786, -0.05199007, -0.14514388, -0.007710791, -0.23031662, -0.069889344, -0.119042754, -0.15772636, 0.049727075, 0.14252858, 0.12696588, 0.034571454) * go_6(1.0, -1.0); + result += mat4(-0.318517, 0.16518372, 0.4465158, -0.12741676, -0.14931186, 0.01184804, -0.12370663, -0.05469679, -0.052085515, 0.07560356, 0.038580637, 0.101390935, -0.10760684, -0.09168702, -0.11736598, -0.027629623) * go_6(1.0, 0.0); + result += mat4(0.017697498, -0.032091524, -0.19681352, -0.39446026, -0.103161484, -0.041192908, 0.12083361, 0.033441972, 0.05410027, -0.13009293, -0.029752202, -0.055233393, 0.07508266, 0.21648347, 0.016127443, 0.003726564) * go_6(1.0, 1.0); + result += mat4(0.11844395, -0.20417796, 0.046860386, -0.04963335, 0.28758386, 0.12296038, 0.006130141, -0.12428727, -0.08112634, 0.08013286, -0.022072678, -0.013939199, -0.26830623, -0.0774501, -0.12584007, 0.1048961) * go_7(-1.0, -1.0); + result += mat4(-0.002199185, -0.18720287, 0.09647677, -0.099159345, -0.37042502, 0.12126858, -0.055984303, -0.006307439, 0.050587848, 0.13118829, 0.014796261, 0.118981615, 0.059268136, 0.04953137, -0.26783678, -0.005206253) * go_7(-1.0, 0.0); + result += mat4(0.29162773, -0.06825134, 0.35480535, -0.013254458, 0.13690558, -0.038092773, -0.1442183, 0.008582979, 0.06665567, 0.09263725, 0.06401897, 0.04955423, 0.026602494, -0.043426443, -0.06760424, -0.028097454) * go_7(-1.0, 1.0); + result += mat4(0.0062063616, 0.041832373, 0.026989486, 0.07646448, -0.075214215, -0.04088086, 0.030253297, -0.0031407007, 0.10060057, -0.21035422, -0.0057072476, 0.009671492, -0.01255018, 0.1356472, -0.07203105, -0.09337885) * go_7(0.0, -1.0); + result += mat4(-0.16497216, -0.46643725, 0.10457678, -0.08723099, 0.009856483, -0.09712093, -0.06077413, 0.029142302, -0.31294492, -0.2785737, -0.06385234, -0.46307138, 0.11363836, 0.050526526, 0.22832777, -0.037936512) * go_7(0.0, 0.0); + result += mat4(0.2284257, -0.06757494, -0.12362806, -0.46540114, -0.027965, -0.119273104, -0.04408465, -0.08089625, 0.064668186, 0.18018429, -0.052782137, 0.2974697, 0.07583212, -0.062142026, 0.16650566, -0.20243031) * go_7(0.0, 1.0); + result += mat4(0.1417323, 0.18362466, 0.015461011, -0.07306669, 0.05225903, 0.03313784, 0.046318106, 0.092073604, 0.014854908, -0.009204208, 0.08582702, -0.060514253, -0.033618286, -0.082627475, -0.047510605, -0.17358147) * go_7(1.0, -1.0); + result += mat4(0.044509146, 0.18667401, -0.11588646, 0.21190381, 0.13762853, -0.080344714, 0.035992276, -0.09347646, -0.05722154, -0.020241026, 0.09365893, 0.0743754, 0.028774736, -0.09181784, 0.117522955, 0.024451857) * go_7(1.0, 0.0); + result += mat4(0.33748287, 0.33612773, -0.14045207, -0.11222517, -0.11824314, 0.008339795, -0.13027953, 0.011434568, 0.20478332, 0.084446914, 0.10224658, 0.12708066, 0.3002674, 0.13365488, -0.06434799, -0.0489962) * go_7(1.0, 1.0); + result += vec4(0.06834564, 0.017679863, 0.058996353, 0.07812309); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!SAVE conv2d_5_tf2 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.096992515, 0.08555787, 0.05567075, 0.3684235, -0.08453214, 0.14874797, -0.03518968, -0.21077682, 0.50580394, 0.27776504, -0.14072414, -0.047293838, -0.02501663, -0.18525644, -0.049244765, -0.019314952) * go_0(-1.0, -1.0); + result += mat4(0.15942743, 0.05601269, 0.43267244, -0.10105792, -0.10224665, -0.011477545, 0.18586546, 0.15386245, 0.018015172, 0.40642846, -0.43969464, -0.16773906, -0.08753851, 0.023862977, -0.20476931, -0.19330433) * go_0(-1.0, 0.0); + result += mat4(-0.08384181, -0.21928434, 0.24617073, 0.072414346, 0.01447392, 0.1280031, 0.26045907, -0.34674746, -0.06659609, 0.5437911, -0.2481379, -0.4408586, -0.02065628, 0.35024786, -0.43344817, -0.23969968) * go_0(-1.0, 1.0); + result += mat4(-0.26318234, -0.17276719, -0.27381238, 0.43724668, 0.1250605, 0.26279348, -0.1950965, 0.030116973, 0.22524981, -0.82836837, -0.37731346, -0.20764303, 0.082648724, 0.28439602, 0.2835361, -0.22858605) * go_0(0.0, -1.0); + result += mat4(-0.11053296, -0.18050304, -0.10785215, -0.5128143, -0.10638461, -0.18107837, -0.14984047, -0.31184852, 0.1233967, -0.5248787, 0.625766, -0.3261744, -0.33758238, -0.42288753, -0.24827915, 0.46629912) * go_0(0.0, 0.0); + result += mat4(0.05450445, 0.24746427, -0.12228202, 0.08459498, 0.21182795, -0.15472144, -0.20880555, -0.08567581, -0.06358891, 0.04441746, -0.24661979, -0.3056718, -0.011843654, 0.02622977, -0.30063242, 0.069148876) * go_0(0.0, 1.0); + result += mat4(0.10252986, 0.24974889, -0.14753763, -0.11542639, -0.02504192, 0.167707, -0.19300954, -0.28126183, 0.16349459, -0.39749804, -0.21315983, -0.3632333, 0.25346163, 0.011594266, 0.22163333, -0.36140066) * go_0(1.0, -1.0); + result += mat4(0.084694065, -0.15232442, 0.15100913, 0.258049, -0.16647953, -0.057295427, -0.2734653, 0.19444938, -0.543564, 0.1580093, -0.08364827, 0.39013955, 0.09799076, -0.28022006, 0.4436997, -0.007523592) * go_0(1.0, 0.0); + result += mat4(0.16044939, -0.16409683, -0.036102563, -0.045212515, 0.013765079, 0.16512275, -0.34618682, 0.15582882, -0.26858786, 0.11227446, -0.69422704, 1.0182123, 0.56721294, -0.27683023, -0.44450805, -0.056621786) * go_0(1.0, 1.0); + result += mat4(-0.005846392, -0.1002789, -0.11597346, 0.29757038, -0.3303294, -0.1128059, -0.16792095, -0.017062422, -0.20550682, -0.101541616, 0.1326292, -0.05803425, -0.1431525, 0.09539495, -0.0020564438, -0.015330874) * go_1(-1.0, -1.0); + result += mat4(-0.03305593, 0.30911654, -0.013541906, -0.03935406, -0.021767953, 0.033086017, -0.032538854, 0.29394448, -0.5953677, 0.042400517, -0.083737336, 0.35759467, -0.19653685, -0.0024307214, -0.022875965, 0.23306265) * go_1(-1.0, 0.0); + result += mat4(0.035584986, -0.08059428, 0.34352207, 0.1548032, 0.22265454, -0.09850938, 0.059585627, 0.13525864, -0.15460324, -0.12443778, -0.0065347757, 0.008565568, -0.09459641, -0.036760993, -0.16726579, 0.08680428) * go_1(-1.0, 1.0); + result += mat4(8.5111475e-05, 0.2236033, 0.17141129, -0.23127146, 0.15972026, 0.34908256, 0.26294386, 0.13128816, -0.16243693, 0.15757012, -0.22409199, -0.12647703, -0.18430239, 0.20520009, -0.02374801, -0.16203757) * go_1(0.0, -1.0); + result += mat4(0.22832601, 0.34606495, 0.11871914, -0.020249737, 0.21807198, -0.4782955, 0.27529162, -0.17565349, 0.038051367, -0.40700185, -0.2975774, -0.5380789, -0.004458205, -0.039739095, -0.19442874, -0.10650714) * go_1(0.0, 0.0); + result += mat4(0.25389373, -0.21592398, 0.46637633, 0.29954398, 0.011773476, 0.34604436, 0.015194187, 0.088156946, -0.07462061, -0.1797378, 0.24949403, 0.12773448, 0.04304656, 0.025975281, -0.0071224314, 0.10722792) * go_1(0.0, 1.0); + result += mat4(-0.021214327, 0.18125464, 0.09782468, 0.11554455, -0.10773687, 0.03764718, -0.07123926, 0.42674774, 0.15713947, 0.13268334, 0.2590209, 0.5615417, -0.10444575, 0.050965227, -0.1657652, -0.028306652) * go_1(1.0, -1.0); + result += mat4(0.07891638, 0.10982218, 0.18858793, 0.088180885, 0.21412432, 0.17309621, 0.13349771, -0.06536336, 0.2537686, 0.028627483, 0.2291187, -0.16728498, -0.0649568, -0.21011665, 0.12501954, 0.16584753) * go_1(1.0, 0.0); + result += mat4(0.37670746, -0.06669131, 0.2308896, -0.27846798, 0.03864727, -0.2396756, 0.20961864, -0.0955574, -0.17304963, 0.006572388, 0.4152245, -0.16013862, -0.048539825, -0.040141087, -0.17446917, 0.172646) * go_1(1.0, 1.0); + result += mat4(0.016411193, -0.24965028, -0.3197888, -0.15805353, 0.062157832, -0.07450992, 0.14774385, 0.019989528, -0.22329696, 0.07624211, 0.119352184, -0.12926702, 0.014121515, 0.04892924, -0.10143942, 0.1218296) * go_2(-1.0, -1.0); + result += mat4(-0.027942078, -0.21344666, 0.090950675, -0.017026879, -0.06316872, -0.17956391, 0.14474703, -0.12104946, 0.07770245, -0.11934515, 0.03306196, 0.08028085, 0.0807563, -0.09477622, 0.03688184, 0.031241085) * go_2(-1.0, 0.0); + result += mat4(0.058301553, 0.17516647, -0.1356353, -0.15869999, -0.06487614, -0.17825274, -0.28164253, 0.12063855, 0.14051922, 0.06572677, 0.24797052, -0.26174536, -0.014646216, -0.021676809, 0.102138005, 0.07929566) * go_2(-1.0, 1.0); + result += mat4(0.24743414, -0.07182416, -0.12567408, -0.57571995, -0.018107418, 0.27796823, -0.08527231, -0.18019378, 0.060446773, 0.10802219, 0.13173679, 0.1200748, 0.18567154, 0.19163565, -0.057419125, -0.24488002) * go_2(0.0, -1.0); + result += mat4(-0.0064926744, -0.35516098, 0.21456684, -0.07162182, -0.11187953, 0.11901505, 0.36913052, -0.019030696, -0.24774994, -0.026328832, 0.121998094, 0.20425063, -0.04413792, 0.16391441, -0.06149749, -0.5538841) * go_2(0.0, 0.0); + result += mat4(0.12691425, 0.011305395, -0.057030205, -0.029743116, -0.11666209, 0.20812204, 0.07555653, 0.011672403, 0.13864042, -0.08993008, -0.08202476, 0.12926434, 0.45806012, -0.0038320064, -0.02397306, 0.25906637) * go_2(0.0, 1.0); + result += mat4(-0.05215719, -0.2567637, -0.028009133, 0.12884264, -0.03538685, -0.14153866, -0.18635908, 0.3127351, -0.06493799, 0.11058845, 0.039282236, -0.089117266, -0.20289995, 0.16836898, -0.2553091, 0.3781839) * go_2(1.0, -1.0); + result += mat4(-0.038994674, 0.15095948, 0.010665794, -0.16193166, 0.029675307, 0.067519955, 0.014059612, -0.10524365, 0.22133544, -0.17850679, 0.17689049, -0.079176724, 0.140001, -0.106958285, -0.054205164, -0.063518755) * go_2(1.0, 0.0); + result += mat4(-0.0147742275, -0.02825343, -0.17911723, -0.033807088, -0.032546505, 0.07845434, -0.10618929, -0.24304347, 0.08031239, -0.081033856, 0.11696929, 0.30320054, -0.30589563, 0.025857087, 0.19169633, -0.21005262) * go_2(1.0, 1.0); + result += mat4(0.08359386, 0.29936704, 0.16312078, 0.21463135, 0.08171467, -0.1238904, 0.21628477, 0.20026375, -0.022520576, -0.09336571, 0.112078905, -0.11331715, 0.009337522, -0.050099798, -0.18231672, -0.020947263) * go_3(-1.0, -1.0); + result += mat4(-0.030812407, 0.111476146, 0.5977092, 0.13000198, -0.010192378, 0.054949045, 0.22067606, -0.2215171, -0.016222132, 0.10579395, 0.10758011, -0.009829448, -0.055121887, -0.018792551, -0.41590548, -0.04133538) * go_3(-1.0, 0.0); + result += mat4(0.080052584, 0.044864707, 0.106742695, -0.119988576, -0.21180773, 0.21859854, -0.30558732, 0.031225171, -0.1221141, -0.1679698, 0.19237423, 0.18212804, -0.019355904, 0.04471777, -0.4626242, 0.08120199) * go_3(-1.0, 1.0); + result += mat4(0.04417224, 0.22517249, 0.18053815, 0.2189462, -0.3901049, 0.12456932, 0.046451665, 0.027453724, -0.21874383, -0.28369403, 0.38541645, 0.15896674, 0.07901438, -0.11870142, -0.23583438, -0.21800627) * go_3(0.0, -1.0); + result += mat4(0.16514415, 0.48851582, 0.17654735, -0.32523116, 0.28139102, 0.32789868, 0.0060704425, -0.08439404, -0.19455875, 0.3426219, 0.1354883, 0.13480486, -0.047210373, 0.009763648, 0.10380663, -0.14301018) * go_3(0.0, 0.0); + result += mat4(-0.01964344, -0.22196314, 0.27099127, -0.3624297, -0.19935602, -0.57573617, 0.05781204, 0.34769946, -0.1655793, -0.31260255, -0.006191821, -0.14188464, -0.048039295, 0.016876832, 0.044305492, 0.11576497) * go_3(0.0, 1.0); + result += mat4(0.031500664, 0.213127, 0.040512875, -0.14993736, 0.1355947, 0.098466784, 0.2576776, -0.12359301, -0.095675476, 0.10758078, 0.15866314, 0.24855627, 0.01722974, 0.05124147, -0.2743417, 0.039515547) * go_3(1.0, -1.0); + result += mat4(0.2946348, 0.100007325, -0.06735624, 0.05319054, 0.19419125, 0.019504784, 0.07159323, 0.21550444, -0.19059516, 0.1583541, 0.3195432, -0.14882845, 0.06771776, -0.032769382, -0.08348987, 0.0024430798) * go_3(1.0, 0.0); + result += mat4(-0.05275983, 0.0034397016, -0.11966796, 0.12378445, 0.17581114, 0.13944638, 0.019923829, -0.031624325, -0.021019042, -0.16827096, -0.046106737, -0.06353076, 0.05943962, -0.20756234, 0.042654432, 0.13294446) * go_3(1.0, 1.0); + result += mat4(-0.042804338, 0.0009211868, -0.23128751, -0.14900532, 0.020116998, -0.129845, -0.26453322, 0.12563406, -0.015730144, 0.18961458, -0.2286719, -0.26802087, -0.0013182014, -0.08829011, -0.022237033, 0.18785976) * go_4(-1.0, -1.0); + result += mat4(0.068006374, 0.03713224, -0.17821713, 0.078400075, -0.03354765, 0.05032715, -0.22770362, 0.082578026, -0.164677, 0.010397865, 0.040545795, -0.07767106, -0.04931102, -0.020216117, 0.19189319, -0.07949725) * go_4(-1.0, 0.0); + result += mat4(-0.02560599, -0.014282298, -0.30485487, 0.12205604, 0.13143952, -0.020973703, -0.60740465, 0.18116136, -0.028516186, -0.09175719, -0.3332597, 0.0993698, 0.011291339, -0.018563187, -0.04645049, 0.1537859) * go_4(-1.0, 1.0); + result += mat4(-0.19548458, 0.008757838, -0.022760604, 0.056750417, 0.10407769, -0.103828914, -0.30039603, 0.15838397, 0.14583376, 0.14352289, 0.5236325, -0.22845235, 0.024826096, -0.15084279, -0.11028316, 0.3162365) * go_4(0.0, -1.0); + result += mat4(-0.27014557, -0.14510567, 0.13275504, -0.04220442, 0.073360756, 0.09062856, 0.25474098, 0.036567308, 0.029930808, -0.07118475, -0.38858262, 0.24752647, 0.18212575, 0.05463796, 0.2687639, -0.49617207) * go_4(0.0, 0.0); + result += mat4(-0.19640562, 0.101908855, 0.17502995, -0.042161964, 0.05290567, -0.025675468, -0.17403199, 0.09100326, 0.010622265, 0.044125065, -0.21804531, -0.1000515, 0.09555498, -0.042056557, 0.30270827, -0.110502906) * go_4(0.0, 1.0); + result += mat4(-0.015954453, 0.18156542, -0.026816932, 0.040066455, -0.041097276, -0.036309887, -0.27080503, -0.046121623, 0.2809894, 0.15110923, -0.051393576, -0.09357936, -0.110129625, -0.0112814475, -0.67396337, -0.045809776) * go_4(1.0, -1.0); + result += mat4(0.030026576, 0.31455976, 0.2093852, 0.07049524, 0.087148614, 0.04378545, -0.23404805, -0.21867152, 0.0780137, -0.3653028, 0.04958755, -0.24105056, -0.005830701, 0.14313154, 0.014666525, -0.12205944) * go_4(1.0, 0.0); + result += mat4(0.041753422, -0.029019587, 0.28341058, -0.11360368, -0.04306824, -0.022564419, -0.25620422, -0.07497915, -0.027317826, 0.014858011, -0.20636855, -0.34799644, -0.09822817, 0.11054621, 0.048805986, 0.28068805) * go_4(1.0, 1.0); + result += mat4(0.04645007, 0.20781171, -0.022659602, -0.16183186, 0.043681737, -0.016835278, -0.56000787, 0.25379097, -0.04654751, -0.009801681, 0.51817185, -0.28172117, -0.09141667, 0.004477492, 0.3877909, -0.25990424) * go_5(-1.0, -1.0); + result += mat4(-0.05770895, -0.32386646, 0.12786265, 0.25714403, -0.15705961, 0.042209778, 0.27720693, -0.31767642, 0.07279373, -0.19555818, 0.037276905, 0.17997949, 0.0382839, -0.18058495, 0.11596946, -0.4803383) * go_5(-1.0, 0.0); + result += mat4(0.14316835, -0.10939212, -0.57301897, 0.107101925, 0.027679194, 0.10561584, 0.16322306, -0.029265253, 0.015432328, 0.078424856, -0.3036955, 0.077147335, -0.07165004, 0.053753722, 0.046870816, -0.16831237) * go_5(-1.0, 1.0); + result += mat4(-0.0015454052, 0.11543685, 0.011629485, 0.09174164, -0.0020554285, -0.12829418, -0.16338444, -0.3855414, 0.09214294, 0.3051444, 0.4075737, 0.21011099, 0.09273038, 0.1422971, 0.23177463, -0.5677775) * go_5(0.0, -1.0); + result += mat4(-0.38397464, 0.1062587, 0.39587164, -0.13753776, -0.1408451, 0.051540542, -0.43004695, -0.37155452, 0.018951273, -0.12102222, 0.09337273, -0.1371699, -0.15890656, 0.06723986, -0.434453, 0.82531) * go_5(0.0, 0.0); + result += mat4(0.17049496, -0.04301534, -0.008399479, -0.02239451, -0.09903332, 0.16583356, -0.09590486, -0.43768612, -0.02140423, -0.017859606, -0.050639637, -0.15041262, 0.115062304, -0.05731665, -0.2678928, 0.3464159) * go_5(0.0, 1.0); + result += mat4(0.08870617, -0.118556865, -0.13360792, -0.09894303, -0.15581502, 0.2192686, -0.39398706, 0.11267478, 0.09166812, -0.15498365, -0.2917533, -0.16147003, 0.031740874, -0.22583205, -0.011654207, 0.30131137) * go_5(1.0, -1.0); + result += mat4(0.041226245, 0.073949926, 0.020469612, -0.04560685, 0.11118197, -0.24875127, -0.28384277, -0.209574, -0.11342182, -0.028049335, -0.30193615, -0.079933584, -0.095979676, -0.10020118, -0.19420303, -0.075664096) * go_5(1.0, 0.0); + result += mat4(0.14797074, -0.3470899, 0.39260823, 0.017051281, 0.06762197, -0.018575529, 0.0880026, -0.21063547, -0.1322691, 0.09712066, -0.4276631, 0.19340965, 0.12975846, 0.035868555, -0.70068085, -0.16410393) * go_5(1.0, 1.0); + result += mat4(-0.18932801, 0.09462974, 0.42027336, -0.37972912, 0.14362521, 0.19216716, -0.43429968, 0.059396047, -0.0013960754, 0.0058320346, -0.25363076, 0.044528674, -0.045085996, 0.09108611, -0.08413328, -0.32486486) * go_6(-1.0, -1.0); + result += mat4(-0.4067053, 0.10778585, 0.28718376, -0.051091816, 0.15242375, -0.02981224, -0.097597815, -0.048364934, 0.17647475, -0.083620705, -0.07125797, 0.044771638, 0.16834657, -0.025327723, -0.24978308, 0.09879097) * go_6(-1.0, 0.0); + result += mat4(-0.14262679, -0.24012862, 0.28995973, -0.08896369, 0.010631018, 0.09540369, -0.06608168, -0.18771736, -0.014997884, 0.030013464, 0.25964305, -0.21135412, 0.063037746, -0.018949352, -0.13153805, -0.2391852) * go_6(-1.0, 1.0); + result += mat4(0.057333205, 0.35793823, -0.031858347, 0.21486303, -0.04569342, 0.12527412, -0.12659034, 0.09696183, 0.08018003, -0.20497574, -0.38521993, 0.07651565, 0.07672333, -0.13392955, 0.080162585, -0.21611322) * go_6(0.0, -1.0); + result += mat4(0.089075185, -0.0313562, -0.1678185, -0.59176946, -0.10085004, -0.07158931, -0.20779158, 0.07887701, 0.05102273, 0.054919396, 0.20206434, -0.60396665, -0.21453445, -0.0129903015, -0.21422856, 0.120469116) * go_6(0.0, 0.0); + result += mat4(0.24352759, -0.46128348, -0.11604824, -0.12906942, -0.092262454, 0.093686655, 0.008656515, -0.09435711, 0.02955139, 0.058670785, 0.31187442, -0.012236685, -0.11576328, 0.26213887, -0.3678442, 0.39925987) * go_6(0.0, 1.0); + result += mat4(0.09056785, 0.025610259, 0.04404834, 0.04880529, -0.018727796, -0.02463311, -0.33473116, 0.18240984, -0.31690162, -0.03753813, -0.49378097, 0.034098472, 0.08104111, 0.15535483, 0.54219043, -0.14415042) * go_6(1.0, -1.0); + result += mat4(0.2178136, 0.26973012, -0.08373426, 0.050942183, -0.026202869, -0.19092646, -0.15695636, 0.14941269, -0.008460806, 0.17145476, -0.15403928, 0.30220225, -0.008509539, -0.07173873, -0.028730325, 0.11379968) * go_6(1.0, 0.0); + result += mat4(-0.423233, 0.22220805, 0.2923962, 0.07597547, 0.04264445, 0.073609315, -0.28772584, -0.018501874, 0.009833902, 0.09063646, 0.15016796, -0.050786685, -0.044880487, -0.00094357406, 0.054167807, -0.4163448) * go_6(1.0, 1.0); + result += mat4(0.064591885, -0.017542299, -0.7427811, 0.1085436, -0.099237405, 0.07204454, 0.21403041, -0.44325823, 0.063634664, 0.019480009, -0.5166522, 0.48371652, 0.042217735, -0.08151546, -0.16102481, 0.38363907) * go_7(-1.0, -1.0); + result += mat4(0.23603337, 0.36189508, 0.16096863, -0.23203878, 0.3909665, -0.048548676, -0.08426398, 0.13699533, -0.16585836, 0.08123174, 0.23689987, -0.14406693, -0.12765872, 0.14779435, -0.200962, 0.27416065) * go_7(-1.0, 0.0); + result += mat4(-0.29448098, 0.14758095, 0.57802075, 0.021730013, 0.13210014, 0.104395285, -0.2312142, -0.2866295, 0.016930144, -0.15231368, 0.14054593, -0.09351796, 0.1032217, 0.041166462, -0.36189362, 0.41247606) * go_7(-1.0, 1.0); + result += mat4(-0.007560109, -0.0803, -0.16032574, 0.05478983, -0.1759635, -0.14446284, 0.15542305, -0.16604201, -0.04187009, -0.26687822, -0.587336, -0.24216992, -0.23209628, 0.20443848, 0.20857601, 0.39599934) * go_7(0.0, -1.0); + result += mat4(-0.14840446, 0.40601328, -0.7559737, 0.2739641, -0.25899225, -0.08748905, 0.26742223, -0.1928892, -0.069469795, 0.17335804, 0.14560762, -0.29675013, 0.07705042, 0.087402344, 0.11580721, -0.56622976) * go_7(0.0, 0.0); + result += mat4(-0.09510998, 0.087312974, -0.4744771, -0.2034856, -0.0228022, 0.20781693, -0.21102814, 0.3811148, -0.032918505, -0.06346079, 0.11738945, 0.25676858, -0.040940452, -0.13468303, 0.18274675, -0.29756874) * go_7(0.0, 1.0); + result += mat4(0.018719247, 0.01183309, 0.5007991, -0.23340209, 0.26327956, -0.22815254, 0.108726546, -0.03552217, -0.009156057, 0.10254266, 0.16000487, 0.14117196, -0.017914208, 0.27125883, -0.21865341, 0.21615145) * go_7(1.0, -1.0); + result += mat4(0.19699602, -0.31031716, -0.59890205, -0.21126802, -0.20352201, -0.06410778, -0.037906803, -0.022946103, 0.06663984, 0.12589614, 0.32420775, 0.23299861, 0.0078275055, -0.12053192, 0.103772156, -0.01047939) * go_7(1.0, 0.0); + result += mat4(-0.13278633, -0.049333517, 0.112975165, -0.1881344, -0.049702376, 0.19375268, -0.86393154, 0.038770728, 0.12380659, -0.17710638, 0.3185005, -0.12963669, -0.088208504, 0.06580817, 0.026088627, -0.13940124) * go_7(1.0, 1.0); + result += vec4(-0.004481173, -0.061259553, 0.11030188, 0.16914344); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!SAVE conv2d_6_tf +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.06430692, 0.086825125, -0.034608375, -0.01397618, 0.040052984, 0.011185875, 0.011732263, 0.012392225, 0.059679143, 0.0020240098, 0.06681242, 0.054336477, -0.0036498306, -0.019456264, -0.071606115, 0.041119363) * go_0(-1.0, -1.0); + result += mat4(0.04943378, -0.0848539, 0.0356649, -0.045104954, -0.07455269, 0.22761999, -0.097870104, -0.17315823, 0.024429278, -0.014491249, -0.041353658, 0.1098216, 0.03469068, -0.032172896, 0.033026703, 0.04296571) * go_0(-1.0, 0.0); + result += mat4(0.07144953, 0.008301972, -0.06500498, 0.031518232, -0.10892988, -0.097283006, -0.13314813, -0.013742693, 0.050799493, 0.050253615, 0.040891692, -0.0021811249, 0.030596646, -0.017255697, 0.0022994988, 0.00735084) * go_0(-1.0, 1.0); + result += mat4(0.023562869, -0.0011871309, -0.0423234, -0.002608592, 0.08043674, -0.082256354, -0.022457797, 0.07030839, 0.013923805, -0.013660352, 0.06952137, -0.044279564, 0.04486451, -0.02644484, 0.052811652, 0.00197306) * go_0(0.0, -1.0); + result += mat4(-0.05471925, -0.10278568, 0.017831381, -0.060885206, 0.01943984, -0.11520702, 0.10465094, 0.03574296, -0.050254647, 0.0019161392, -0.25124437, 0.043597598, -0.017897893, 0.07151743, 0.11265933, -0.08989344) * go_0(0.0, 0.0); + result += mat4(0.11001799, -0.011334239, 0.12736328, 0.16483796, -0.13220996, 0.0732099, 0.13678497, 0.1530554, 0.043017015, -0.10789205, 0.053205475, 0.023291817, -0.0056713475, -0.12603688, -0.13624206, -0.0714872) * go_0(0.0, 1.0); + result += mat4(0.021965552, -0.009516653, 0.020002227, -0.0072277826, -0.035595354, -0.052053552, -0.023298074, 0.01770549, 0.106064536, -0.096217915, 0.119941294, 0.054289114, 0.044710737, 0.03558839, 0.0025203228, 0.02229299) * go_0(1.0, -1.0); + result += mat4(-0.05996382, -0.059034027, 0.0048927953, 0.11681153, 0.0123580685, -0.15851006, 0.053752933, -0.094275564, 0.056480173, -0.01539422, -0.06352794, 0.05537091, -0.090935975, 0.114802405, -0.07706906, -0.020618843) * go_0(1.0, 0.0); + result += mat4(0.046106033, 0.06567163, 0.024409082, 0.08681322, -0.15275897, 0.051852785, -0.0982452, -0.14251694, 0.09573071, -0.018330676, 0.07995178, -0.010879136, -0.097755134, -0.017416988, -0.062556945, -0.0578873) * go_0(1.0, 1.0); + result += mat4(-0.00429525, -0.07700766, 0.010865506, 0.039318554, -0.06787303, -0.028628208, -0.05469512, 0.05459275, -0.030343568, 0.06288822, -0.02628777, 0.015035558, 0.003811996, 0.013887734, 0.034987926, 0.17882642) * go_1(-1.0, -1.0); + result += mat4(-0.04686645, 0.05545698, -0.022312073, -0.06866622, 0.09609454, -0.09298049, 0.20229526, 0.1036513, -0.07117841, 0.047199853, -0.018191453, -0.011281787, -0.014291751, -0.118642345, 0.07959059, 0.08753804) * go_1(-1.0, 0.0); + result += mat4(0.0145701915, -0.00083395635, -0.009838556, 0.03793263, -0.018338429, -0.028547939, -0.044276386, 0.022902593, -0.10429393, -0.08177185, 0.038462102, -0.061109234, 0.021328336, -0.018102761, -0.07724541, 0.03491818) * go_1(-1.0, 1.0); + result += mat4(0.051537625, -0.04092781, -0.027314937, 0.06624649, 0.0059737917, -0.0045862994, 0.03624142, 0.016898366, -0.15276705, -0.013039528, -0.034717664, 0.07935391, 0.016038802, -0.20841958, 0.08346563, 0.06563678) * go_1(0.0, -1.0); + result += mat4(-0.015235551, 0.15574263, -0.013553463, 0.07328153, 0.1526515, -0.28490472, 0.19684647, -0.15529588, -0.012245582, 0.06855586, -0.05603284, 0.06607822, -0.0842433, 0.17281564, 0.28474236, 0.08198234) * go_1(0.0, 0.0); + result += mat4(0.038899522, -0.06798045, -0.054560043, -0.16137177, 0.021140218, 0.29889742, -0.1840661, -0.05800861, -0.015068329, -0.04634431, 0.08015181, 0.019838551, 0.10208079, -0.077259056, -0.19794165, -0.15083085) * go_1(0.0, 1.0); + result += mat4(0.01064174, -0.05850555, -0.05604373, 0.04052068, -0.075376056, 0.046033148, 0.11586819, -0.019885244, 0.035843607, 0.046307143, 0.00585988, -0.080217384, -0.021261437, 0.1410561, 0.008985651, 0.028860984) * go_1(1.0, -1.0); + result += mat4(-0.07319461, 0.08104932, 0.041007817, 0.030615268, -0.20470095, 0.12515168, -0.160545, -0.12937605, 0.31107107, 0.1484706, 0.038850147, -0.012020466, -0.05610734, 0.044933334, 0.042511266, -0.052596994) * go_1(1.0, 0.0); + result += mat4(-0.066693224, 0.0361146, 0.067501135, -0.21699974, -0.11158058, 0.15679757, -0.028746078, -0.01819391, 0.104127966, -0.06664338, 0.06227161, 0.12396172, -0.0032715963, -0.08171951, -0.044955824, -0.08106554) * go_1(1.0, 1.0); + result += mat4(0.015864346, -0.013364807, -0.06118465, -0.044409316, 0.043848667, -0.021818867, 0.073257685, 0.031070877, -0.09103615, 0.049833406, -0.057495326, -0.12800662, 0.03994082, 0.0138215795, 0.015007392, 0.10248998) * go_2(-1.0, -1.0); + result += mat4(0.25089416, -0.07602123, 0.17347728, 0.02892703, -0.011619053, -0.0641153, 0.05217339, 0.07876783, 0.0055022957, 0.004055628, -0.09110391, -0.06867559, 0.024405807, -0.05255772, 0.04266218, -0.010957767) * go_2(-1.0, 0.0); + result += mat4(0.24782608, 0.036559172, 0.044769745, 0.0015120476, 0.013133198, -0.044633485, -0.014515029, -0.021279601, -0.036733393, 0.04075623, -0.17661944, -0.094546385, 0.056875527, 0.004090026, 0.05490262, 0.009615546) * go_2(-1.0, 1.0); + result += mat4(-0.059016522, 0.06971676, -0.018845871, -0.1960489, 0.030603651, 0.07038275, 0.030324249, -0.021405647, 0.0029889164, -0.044680223, 0.025204105, -0.070947506, 0.08812823, -0.04162818, 0.020303862, 0.033686403) * go_2(0.0, -1.0); + result += mat4(0.095108695, -0.001756413, -0.0746956, 0.19454287, 0.11728253, 0.024068093, 0.22989868, 0.15326135, -0.044749334, -0.10269763, -0.11903939, -0.0791172, -0.004715979, -0.034785185, 0.06928696, -0.080341384) * go_2(0.0, 0.0); + result += mat4(0.09515306, 0.0796711, 0.2531875, 0.17232622, -0.046116754, 0.10505673, 0.03974202, 0.0192849, -0.032660086, 0.090220645, -0.018340196, 0.010892869, 0.057608526, -0.0042284457, -0.033126116, -0.050798874) * go_2(0.0, 1.0); + result += mat4(-0.0465734, -0.12704821, -0.04242129, -0.08912093, 0.060641844, -0.030298313, 0.07455412, 0.09691065, -0.0993119, 0.08467131, -0.08018581, -0.06551497, 0.02412251, 0.023426851, -0.013038504, 0.058629658) * go_2(1.0, -1.0); + result += mat4(-0.0072143734, -0.17254709, -0.10164249, 0.009320373, 0.04572811, 0.031890705, 0.11281531, -0.053358663, -0.12266469, -0.0050442372, -0.088591315, -0.014440839, 0.025741255, -0.1090415, 0.14636643, 0.06128863) * go_2(1.0, 0.0); + result += mat4(-0.021854619, 0.08777348, -0.06519233, -0.068287335, -0.015207972, -0.041368876, -0.06916352, 0.014671391, -0.15136546, 0.12566894, -0.104125395, -0.025017736, -0.043513566, 0.08409863, 0.037353594, -0.06276716) * go_2(1.0, 1.0); + result += mat4(0.07235235, 0.03902354, 0.08474354, 0.015749328, -0.14268096, 0.030634299, -0.055138513, -0.03956857, 0.018563624, -0.081968024, 0.051094677, 0.034120332, 0.0053250403, 0.080352135, -0.04955247, -0.1332719) * go_3(-1.0, -1.0); + result += mat4(-0.036749303, -0.028455151, -0.014937002, 0.040662266, 0.08305564, 0.11542185, 0.013110968, 0.049462736, 0.055836335, -0.07350095, 0.022430308, -0.02959864, -0.01815184, -0.019589523, 0.063062504, 0.03289119) * go_3(-1.0, 0.0); + result += mat4(-0.023061413, 0.054117512, -0.005270115, -0.08946267, -0.04308614, 0.23271716, 0.23769991, 0.199799, 0.042626232, -0.003149215, -0.07325253, -0.09104977, 0.06556636, 0.123100184, -0.065416, -0.047533657) * go_3(-1.0, 1.0); + result += mat4(0.012621001, 0.010509575, 0.037320737, -0.059742343, -0.049418703, -0.09797092, 0.107040025, 0.050573327, -0.07652653, -0.096295066, 0.046717234, 0.0451225, -0.102516145, 0.15624528, -0.23164383, -0.13354032) * go_3(0.0, -1.0); + result += mat4(-0.028271353, 0.12728448, 0.030375311, 0.17157783, 0.122691065, -0.3680664, 0.029203705, -0.26102167, 0.025286853, 0.06262695, 0.1589348, 0.05327821, -0.065294765, -0.24605483, 0.042972647, -0.02089068) * go_3(0.0, 0.0); + result += mat4(-0.026082302, -0.08781727, -0.09250588, -0.023226565, 0.051248543, 0.16456133, -0.2952685, -0.083784014, 0.076261856, 0.0406498, 0.170887, 0.045606345, 0.090185635, -0.056969963, 0.013353489, -0.02177184) * go_3(0.0, 1.0); + result += mat4(0.03591036, -0.00022123115, 0.00879266, 0.0014145833, -0.031907767, 0.008818724, 0.038096637, 0.088316254, -0.111196004, -0.043627053, -0.03396249, -0.11398144, -0.013437176, -0.056140415, -0.02947146, 0.04266824) * go_3(1.0, -1.0); + result += mat4(0.27118152, -0.029443147, 0.029049424, -0.021353519, -0.08102377, -0.10702356, 0.2708468, -0.028351566, 0.10159006, -0.08634602, 0.11655341, 0.01216303, -0.032198787, 0.098999046, 0.08560102, 0.13209614) * go_3(1.0, 0.0); + result += mat4(-0.011867179, -0.008092173, -0.06914386, -0.0026515024, 0.15475754, -0.069809034, -0.061735924, 0.030092785, 0.015481355, 0.069196485, -0.067885965, -0.10032289, -0.022956805, -0.050457634, 0.034361836, 0.063292615) * go_3(1.0, 1.0); + result += mat4(-0.028808603, 0.2522452, -0.028151542, -0.11966417, 0.0060086837, -0.022839228, 0.04591885, -0.047450468, -0.017323907, 0.0033520379, -0.013912139, 0.00087186386, -0.095179744, 0.10477611, -0.1572277, -0.18952997) * go_4(-1.0, -1.0); + result += mat4(-0.024695182, 0.2125057, 0.0043758615, 0.048833247, -0.024862275, -0.07173688, 0.016327882, 0.052133285, 0.032598563, 0.0370544, -0.032444727, 0.007660602, 0.014026539, 0.15517443, -0.08797283, 0.046922438) * go_4(-1.0, 0.0); + result += mat4(-0.08749249, 0.17871788, 0.089315645, 0.020792015, 0.0062840376, 0.027935686, 0.022011895, 0.0014372129, 0.03437162, 0.04160462, -0.076575324, -0.005282676, 0.01039395, 0.13785924, -0.11939048, -0.12266059) * go_4(-1.0, 1.0); + result += mat4(-0.08761654, 0.12325804, 0.09464573, -0.070082165, -0.029074723, -0.039505627, -0.006745376, -0.07662022, 0.018293282, 0.16754504, -0.01436095, -0.07123675, -0.045903374, 0.045701377, -0.16947833, -0.065680735) * go_4(0.0, -1.0); + result += mat4(0.07837804, 0.10318053, 0.10402837, -0.09299896, -0.044918105, -0.19713773, -0.038225368, -0.0127715515, 0.021232253, 0.19498691, 0.054563515, -0.024584824, 0.14310583, -0.25778866, -0.048625097, -0.04034214) * go_4(0.0, 0.0); + result += mat4(0.03317779, 0.36327454, 0.0010753187, 0.07300084, 0.013177773, -0.10299273, -0.043644756, -0.049851302, -0.11076842, -0.0030125536, 0.13768485, 0.037023947, 0.05862015, 0.026259044, -0.11906646, 0.015630042) * go_4(0.0, 1.0); + result += mat4(0.04435236, 0.2442636, 0.02941278, -0.03259748, 0.02729472, 0.1464977, -0.23190135, -0.013464374, -0.04808333, -0.07721386, -0.006521778, 0.03849496, -0.087418415, -0.14530352, -0.046621766, 0.013260049) * go_4(1.0, -1.0); + result += mat4(-0.054236982, 0.16401532, -0.0410692, 0.018103333, 0.03832126, 0.24158026, -0.02707848, 0.063542314, -0.0025432308, 0.02253484, -0.13533834, 0.009265725, -0.13578576, 0.055599272, -0.029021647, 0.074372046) * go_4(1.0, 0.0); + result += mat4(0.07789502, 0.12068383, 0.06586239, 0.16586556, 0.12068069, 0.0314873, 0.020462591, 0.01643263, 0.0022647027, -0.0535912, 0.02042879, 0.08939534, -0.012003675, 0.10854255, -0.019238353, 0.05661957) * go_4(1.0, 1.0); + result += mat4(-0.0024771164, 0.0013602651, -0.006449609, -0.0674718, 0.011020245, -0.024715785, -0.005840159, -0.016253866, 0.0058691143, 0.00923955, -0.014752748, -0.009056492, 0.04719506, 7.439548e-05, -0.031533875, -0.028303158) * go_5(-1.0, -1.0); + result += mat4(-0.022446554, 0.011014639, 0.014150175, -0.08969043, 0.05011379, 0.0014429274, 0.13622425, -0.055668622, 0.003997062, -0.018588124, 0.037211727, -0.02675576, 0.021160034, 0.06025865, 0.044886358, 0.07540469) * go_5(-1.0, 0.0); + result += mat4(0.059523765, -0.106335945, 0.047557555, 0.015525542, -0.059115347, 0.009750207, 0.01922731, 0.024100488, 0.0016303931, -0.07808692, 0.08100007, 0.05687361, -0.03983667, -0.023318004, 0.044715997, 0.032614175) * go_5(-1.0, 1.0); + result += mat4(0.092187695, -0.16478536, 0.11356077, 0.1448521, 0.072599865, 0.06876907, -0.024432033, 0.052597918, -0.010043035, -0.03687111, 0.00895416, 0.02780389, 0.045475237, 0.0034288564, -0.053697575, -0.0039305706) * go_5(0.0, -1.0); + result += mat4(-0.086140305, 0.10712286, -0.098502316, -0.037614137, -0.0014869545, -0.119502805, 0.07774526, 0.01559113, -0.036177177, 0.05600912, 0.0672405, 0.0424494, -0.014852803, -0.09711143, 0.035177983, 0.027274514) * go_5(0.0, 0.0); + result += mat4(0.010052695, -0.1528992, 0.037211087, 0.050275393, -0.052893683, -0.103499845, 0.04699975, 0.010357094, 0.02002735, -0.0724987, -0.039920773, -0.03259424, 0.05104605, -0.021494186, 0.1335748, 0.1431882) * go_5(0.0, 1.0); + result += mat4(0.008692001, 0.1388636, 0.062878676, 0.043149088, 0.040500425, -0.06934554, 0.031019283, 0.086996906, -0.01329169, -0.024621997, 0.03125819, -0.03552568, 0.025497364, -0.013930993, 0.039630298, -0.009306881) * go_5(1.0, -1.0); + result += mat4(0.08138952, 0.11290011, 0.09357804, 0.0773934, 0.11037395, 0.040116914, 0.05588578, 0.08340036, 0.019552698, 0.010302062, 0.030425403, -0.012494984, 0.100253575, 0.058283005, -0.0053462014, 0.0011434298) * go_5(1.0, 0.0); + result += mat4(-0.0027934618, 0.012688533, 0.03582281, 0.093737796, -0.10973247, 0.07261092, 0.112351805, 0.011432246, 0.013944619, -0.06078718, 0.04819748, -0.023201318, 0.060381312, -0.08896123, 0.0354816, 0.1314617) * go_5(1.0, 1.0); + result += vec4(-0.014843715, 0.037786916, -0.050943095, 0.02970283); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!SAVE conv2d_6_tf1 +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.042099904, -0.058733735, 0.02552323, 0.08024827, -0.007007328, -0.024506995, -0.014314433, 0.07856346, 0.0070828185, 0.12121103, -0.047790356, -0.1190773, 0.09607051, -0.022659522, -0.012408393, -0.01265088) * go_0(-1.0, -1.0); + result += mat4(-0.036540985, 0.065095425, 0.020370001, -0.13017972, 0.16372375, -0.13150094, 0.012892328, -0.1387121, -0.0398674, -0.115208104, -0.025226658, -0.066354044, 0.07032839, 0.11715836, 0.014640627, 0.0410301) * go_0(-1.0, 0.0); + result += mat4(0.030191297, -0.0066959998, 0.026137028, -0.015430499, -0.07329306, -0.138525, 0.080228955, 0.1005483, -0.0007654556, 0.08933457, -0.11922955, -0.0689602, 0.06392459, 0.04870049, -0.0018588612, 0.046055775) * go_0(-1.0, 1.0); + result += mat4(0.12119697, -0.03272271, -0.011908178, 0.07443732, 0.017831923, -0.06988535, -0.027143668, -0.023895472, 0.08469687, 0.1490557, 0.015963838, -0.0049853753, 0.01178327, -0.0028791244, -0.06283662, -0.0059013553) * go_0(0.0, -1.0); + result += mat4(0.028543679, 0.058001377, -0.008511679, 0.0026974818, -0.0013273149, 0.010061944, -0.07719697, -0.053456806, -0.2909378, -0.03735039, 0.02128061, 0.15994087, -0.020060549, 0.0051932936, 0.010056397, -0.044010773) * go_0(0.0, 0.0); + result += mat4(0.1596504, -0.055374887, -0.019871527, 0.008125669, 0.21285413, 0.03118557, 0.05784715, -0.033272292, -0.11010903, 0.08968991, 0.01791155, -0.11081058, -0.059060283, -0.08855704, 0.06299061, -0.08653331) * go_0(0.0, 1.0); + result += mat4(0.22247101, -0.04902725, 0.004427136, 0.00843986, -0.12681817, -0.04432411, 0.09346549, -0.07040382, 0.065832525, 0.1306079, -0.046262078, -0.064467475, 0.09017577, -0.05839232, 0.02169111, 0.015345169) * go_0(1.0, -1.0); + result += mat4(-0.019040529, 0.03761165, -0.021923041, -0.02165343, -0.22262675, -0.007393024, 0.13378944, 0.24793835, -0.115743674, -0.050898936, -0.101693556, -0.16117941, 0.15038069, -0.071292244, 0.16757068, 0.14149354) * go_0(1.0, 0.0); + result += mat4(0.15021501, 0.01646184, 0.039540898, -0.020430906, -0.09821808, -0.008859351, -0.0064752824, 0.04515899, -0.036680277, 0.03743646, 0.046192754, -0.07469316, 0.015766433, -0.053386677, -0.058385946, 0.04285354) * go_0(1.0, 1.0); + result += mat4(-0.12153023, -0.0052116364, 0.013274117, 0.066916846, -0.07894143, -0.07270525, 0.0032244355, 0.080999196, -0.071276195, 0.03603874, -0.023127655, -0.22612897, 0.019750288, 0.06261086, 0.036052, 0.057479452) * go_1(-1.0, -1.0); + result += mat4(0.068308026, -0.02204353, 0.037701212, -0.13152799, -0.040166344, 0.18250147, -0.00841116, 0.14707813, 0.2891035, 0.0355822, -0.037319396, -0.033286855, 0.05205944, 0.029016457, 0.02267416, 0.12552561) * go_1(-1.0, 0.0); + result += mat4(-0.07627465, -0.0015795324, 0.005847234, 0.0343533, -0.12101658, -0.044895757, -0.033076547, -0.0072863665, -0.13455121, -0.03442574, 0.03806193, -0.025911227, -0.05203063, 0.006293081, 0.01888723, 0.10063248) * go_1(-1.0, 1.0); + result += mat4(0.05558394, 0.03480151, 0.0068188105, 0.025131043, -0.12540701, -0.088756844, -0.03175985, -0.19954887, 0.0730124, -0.04229162, -0.0013364753, -0.03893613, 0.06019269, -0.034671903, 0.050091, -0.059322134) * go_1(0.0, -1.0); + result += mat4(-0.07942089, -0.018256165, -0.096205324, 0.101769134, 0.01908004, 0.33233985, -0.035679515, -0.23594299, -0.03030973, 0.06313867, -0.044021074, -0.10605643, -0.10518184, -0.11355261, 0.12967454, -0.106763974) * go_1(0.0, 0.0); + result += mat4(-0.09985036, 0.041868765, -0.09622011, -0.05465083, -0.039375015, -0.10204485, -0.004873815, 0.080527805, 0.08858304, -0.05943268, 0.08352734, -0.07512739, -0.22778553, 0.15029298, 0.08525989, -0.15358798) * go_1(0.0, 1.0); + result += mat4(-0.08080637, -0.097256064, -0.040232092, -0.06549907, 0.013221195, -0.028040923, -0.0005182768, 0.06254156, 0.19496393, -0.0040481715, -0.053046, 0.05839162, 0.11274092, 0.11118614, 0.1480564, 0.033354077) * go_1(1.0, -1.0); + result += mat4(0.023759563, 0.00635514, -0.045272943, -0.05173251, 0.0885555, -0.008405325, 0.19941078, 0.109418906, 0.48571047, 0.0562873, -0.122534275, 0.01860896, 0.10383342, -0.005438985, 0.2603844, 0.016442006) * go_1(1.0, 0.0); + result += mat4(-0.1018859, -0.06035783, 0.04882298, 0.121493384, -0.014769945, -0.026479812, -0.23881653, 0.15810451, 0.064371295, -0.08258908, 0.032874167, 0.0013588811, -0.13452709, -0.021992348, -0.12913197, -0.007582777) * go_1(1.0, 1.0); + result += mat4(0.09469535, -0.0059437137, 0.0070211883, 0.012549531, -0.04503433, 0.11778692, -0.01240231, -0.06452343, 0.0183962, -0.09719111, 0.051977355, 0.028582, 0.11405788, 0.09339377, -0.017060561, -0.016824113) * go_2(-1.0, -1.0); + result += mat4(0.025192278, 0.16830146, 0.002082107, -0.12433539, 0.05449372, 0.111993775, -0.050993383, 0.106019214, -0.0012675346, -0.11002013, 0.08042263, 0.046076216, 0.03845027, 0.026669858, -0.05693071, 0.006350705) * go_2(-1.0, 0.0); + result += mat4(0.11534884, 0.067232355, -0.08493867, -0.059265412, -0.045863472, 0.03164632, -0.013697583, 0.012065389, -0.15469037, -0.08252674, 0.102144025, 0.079707734, 0.0043182303, 0.07471552, -0.028747529, -0.05626163) * go_2(-1.0, 1.0); + result += mat4(-0.02088867, 0.005918884, -0.00632325, 0.06864312, 0.07231704, 0.06967162, 0.046126503, -0.03890708, -0.11291535, -0.112925544, 0.01721896, -0.027296377, -0.0008218594, 0.019371105, -0.028493239, -0.11972473) * go_2(0.0, -1.0); + result += mat4(0.05792697, -0.050189912, -0.013986142, -0.042153005, -0.044381443, -0.040740672, -0.036568243, -0.18094629, -0.032849103, -0.11920466, -0.01574577, 0.07106109, -0.0473771, -0.029407948, -0.016447794, 0.07348799) * go_2(0.0, 0.0); + result += mat4(0.25879595, 0.027651018, -0.09736299, -0.017931122, 0.1145708, 0.051391326, 0.14323749, -0.06405431, -0.017116228, -0.04995981, 0.017524386, 0.053012, -0.024927566, 0.029871127, -0.062402803, -0.089126125) * go_2(0.0, 1.0); + result += mat4(-0.3455905, -0.07298466, 0.022065436, -0.13115343, 0.0683912, 0.06609262, -0.035481025, -0.04162889, -0.0020681168, -0.0819611, 0.017471436, 0.022238733, 0.047958784, 0.037473556, -0.06708024, -0.06513322) * go_2(1.0, -1.0); + result += mat4(-0.008081404, 0.04029864, -0.07384856, -0.12268659, 0.048441645, 0.08439676, 0.032600272, 0.01420026, -0.16429286, -0.061197132, 0.05322935, -0.04212053, 0.0060033225, 0.037083343, -0.024957739, -0.026598029) * go_2(1.0, 0.0); + result += mat4(0.0018599767, 0.02205519, 0.10264597, 0.047300845, 0.13039044, -0.08621153, -0.014272506, 0.03800674, -0.12807004, -0.03650184, 0.17019251, 0.0050348463, 0.06673689, 0.062484764, -0.074008316, 0.0024411175) * go_2(1.0, 1.0); + result += mat4(0.10010423, 0.059802253, -0.028706724, -0.0021158324, -0.1071618, -0.06596802, 0.017506624, 0.020555088, 0.006742276, -0.058907714, 0.02132174, -0.00065407227, 0.10080476, -0.06645163, 0.028596232, -0.098386355) * go_3(-1.0, -1.0); + result += mat4(0.06250598, 0.028219528, -0.032285657, 0.029157873, 0.41888437, -0.07922488, -0.038655374, 0.08948803, -0.13829164, 0.13305405, 0.00031528703, -0.11085006, -0.063075796, 0.0500627, 0.065392256, 0.12271925) * go_3(-1.0, 0.0); + result += mat4(0.111435704, 0.02032602, 0.038795993, 0.03990286, 0.27919176, -0.08434588, -0.025168309, 0.051932946, -0.04704256, -0.031704668, 0.029195199, 0.0029008535, 0.1921871, 0.072233014, 0.02167757, -0.009142876) * go_3(-1.0, 1.0); + result += mat4(0.03787496, 0.10278594, -0.034100357, -0.038842272, -0.21315722, 0.04823617, -0.029114509, 0.051216953, 0.06688632, -0.016796501, 0.034409184, 0.030457467, 0.18392949, -0.05570241, -0.0074716844, -0.09469817) * go_3(0.0, -1.0); + result += mat4(0.00060441054, -0.21777734, 0.039007552, 0.065863505, -0.20799696, -0.007875905, -0.038051736, 0.107517034, -0.030292246, 0.039137594, -0.011577313, -0.09082536, -0.024957297, 0.04839934, 0.08945703, -0.067684196) * go_3(0.0, 0.0); + result += mat4(-0.0007396966, -0.028242454, -0.055650227, 0.015779331, -0.33971977, -0.0536201, 0.21978994, 0.17193733, 0.08947309, 0.05031975, -0.1301886, -0.035680372, 0.08049449, 0.20915179, -0.21580179, 0.0070197694) * go_3(0.0, 1.0); + result += mat4(0.018666867, 0.080064476, 0.03374961, 0.009929877, 0.12268159, 0.08780485, -0.020013101, 0.001475278, -0.094762295, -0.00571688, 0.07592603, 0.02490935, 0.20536572, -0.103320844, -0.11305944, 0.020782808) * go_3(1.0, -1.0); + result += mat4(0.10927535, -0.10669775, -0.119271345, -0.04704597, -0.33198515, 0.16730374, 0.067796834, -0.21553586, -0.15134549, 0.12522157, -0.059982754, 0.053596307, -0.07490767, 0.0430427, 0.13261874, 0.034827977) * go_3(1.0, 0.0); + result += mat4(-0.118310496, -0.034256335, 0.15736672, -0.012709214, 0.108289585, 0.055601, -0.15293309, -0.047951285, 0.13641061, 0.040393222, -0.014293154, 0.013147444, 0.040933702, 0.06414584, -0.06435496, 0.07897889) * go_3(1.0, 1.0); + result += mat4(0.1769398, -0.03865557, -0.007278993, -0.009594421, 0.06511066, -0.055826154, 0.039952062, 0.11912263, 0.017886136, -0.05012913, -0.026828678, -0.059241973, -0.10093276, -0.19696872, 0.084965006, 0.14702372) * go_4(-1.0, -1.0); + result += mat4(0.099720076, -0.067204416, -0.03463609, 0.09670626, -0.28691396, -0.06598814, 0.0014410254, 0.14105716, -0.033738673, -0.060082074, 0.022319613, -0.10230477, -0.04376945, -0.13106492, 0.063823946, 0.14856036) * go_4(-1.0, 0.0); + result += mat4(0.33853808, -0.0621997, 8.363771e-05, -0.0009150376, 0.024009543, 0.018634653, 0.0037902838, 0.10804439, 0.05129897, 0.013281732, 0.0192675, -0.021642182, 0.20649408, -0.059423707, 0.06726224, 0.0145797795) * go_4(-1.0, 1.0); + result += mat4(-0.15990373, -0.106583185, 0.002367883, 0.045296166, -0.0631138, -0.0072529926, 0.029369524, 0.08331243, 0.122756526, -0.0179492, -0.120487615, 0.0081743365, -0.17502016, -0.044541918, -0.015354001, -0.011111051) * go_4(0.0, -1.0); + result += mat4(-0.11184931, 0.06587063, 0.07042273, -0.04147224, -0.09151379, -0.20194946, 0.10355849, 0.19217291, 0.08952243, 0.12201255, 0.04417764, -0.04035679, -0.09468639, 0.31825796, 0.006901595, -0.04124098) * go_4(0.0, 0.0); + result += mat4(0.06660271, -0.0046637137, 0.09873929, 0.08799431, -0.100498706, 0.06444192, -0.02957856, 0.038241588, 0.15948315, 0.1299982, -0.090359725, 0.004090419, -0.079359606, -0.00037474622, -0.022643564, -0.08251614) * go_4(0.0, 1.0); + result += mat4(0.43229616, 0.10688282, -0.07364843, 0.053060126, 0.12662794, -0.008840078, 0.026755894, 0.041338578, -0.2254781, -0.10235022, -0.12567373, -0.0667009, -0.1809531, -0.09815889, -0.08910998, 0.037839357) * go_4(1.0, -1.0); + result += mat4(-0.07567111, 0.028171131, 0.055614933, -0.013953225, 0.12692563, 0.083607204, -0.07004251, -0.036412235, -0.058107987, 0.037055403, 0.18604837, -0.017260164, -0.17541583, 0.06894981, -0.23379545, 0.031235654) * go_4(1.0, 0.0); + result += mat4(0.45591107, 0.039045885, -0.12626866, -0.14674829, 0.05945796, -0.010674477, -0.035819475, -0.0047352607, -0.036941368, 0.10396601, -0.036363676, 0.0554336, 0.17748542, 0.06979016, 0.14080845, 0.042843) * go_4(1.0, 1.0); + result += mat4(0.10455963, 0.075099275, 0.05469465, 0.015781848, 0.09594164, 0.05998725, -0.052120302, -0.13773419, 0.044500146, 0.031731047, -0.008471109, -0.03267637, 0.047310144, 0.031099096, -0.024222182, -0.033589233) * go_5(-1.0, -1.0); + result += mat4(-0.12448876, -0.03613152, -0.0010140876, -0.025516123, -0.059143614, 0.023980793, -0.022088494, -0.23990345, -0.009263314, 0.07561086, -0.018244747, -0.030571839, 0.078326724, 0.11647481, 0.0005469513, 0.011363735) * go_5(-1.0, 0.0); + result += mat4(-0.012303434, 0.10459798, 0.0075168074, -0.06578245, 0.10195852, -0.011171349, 0.031734105, 0.01707112, 0.027664077, 0.023296015, -0.018072389, -0.025510611, 0.1640572, 0.034506124, 0.00016337275, 0.03571095) * go_5(-1.0, 1.0); + result += mat4(-0.008957332, 0.009508923, 0.0146317985, 0.038981803, 0.24314897, 0.0015878802, -0.078958146, 0.03145806, 0.0068939812, 0.073126584, -0.012263321, -0.036391743, 0.118567936, 0.065423995, 0.023732737, -0.0099737905) * go_5(0.0, -1.0); + result += mat4(0.07652766, -0.099965736, 0.07820692, -0.016641535, -0.05796137, 0.062477842, -0.09325648, 0.044144213, -0.074167095, -0.02907356, 0.009493459, -0.09726981, -0.024008945, 0.13910118, -0.012273277, -0.18442377) * go_5(0.0, 0.0); + result += mat4(-0.3458695, 0.0125532355, -0.04507072, 0.005002404, -0.054678664, -0.1073264, -0.066266164, 0.10499865, -0.026834222, -0.005892071, -0.012439621, -0.014582178, 0.20079906, 0.10445034, -0.017010294, -0.027499933) * go_5(0.0, 1.0); + result += mat4(0.20540363, 0.13028874, -0.0043541454, 0.041952956, -0.06462141, 0.05869749, -0.0336049, -0.00483216, 0.0071067465, 0.02086375, 0.029295754, 0.00054160395, 0.12825298, 0.01190737, 0.024069678, 0.0007039938) * go_5(1.0, -1.0); + result += mat4(0.25426188, -0.025078375, -0.18087013, -0.047353756, 0.050092597, -0.020793278, -0.20005824, -0.05249769, 0.10390969, 0.029416217, -0.022406658, 0.022277432, 0.10061195, 0.09648526, 0.08301866, -0.05414833) * go_5(1.0, 0.0); + result += mat4(-0.008085474, -0.0047122077, 0.037323467, -0.05261859, -0.014043025, 0.015429949, 0.0026017784, 0.05505961, -0.026992656, -0.0034499804, -0.040065564, -0.010143243, 0.080673434, 0.01895095, -0.044532266, -0.04431238) * go_5(1.0, 1.0); + result += vec4(-0.03466821, 0.00034034275, 0.0050041266, 0.015987461); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UL)-Conv-3x3x3x32 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!SAVE MAIN +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.029194267, -0.012368673, -0.032628484, 0.0, 0.009544185, 0.003643155, -0.012932683, 0.0, -0.02599644, -0.009162184, 0.001984748, 0.0, 0.036822453, -0.01785786, 0.010368739, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.025280805, 0.03720678, 0.00053982873, 0.0, 0.014486393, -0.008664618, -0.013254841, 0.0, 0.032457434, -0.0054208813, -0.03551113, 0.0, 0.005541615, 0.009700108, 0.008173082, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.008494375, 0.017570386, -0.035493053, 0.0, 0.0040664477, -0.009358297, -0.00124042, 0.0, 0.013665794, -0.027995802, 0.01806665, 0.0, 2.6274169e-05, -0.017136851, 0.004273683, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.001260151, 0.0298161, 0.03177647, 0.0, 0.029924905, 0.002548117, -0.008971935, 0.0, -0.028699454, -0.011327333, 0.01809372, 0.0, 0.052908268, -0.009816564, -0.04160645, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.0674105, 0.011343186, 0.031059649, 0.0, -0.01816893, -0.027822826, -0.0039920355, 0.0, 0.06559583, 0.08136345, 0.0024248413, 0.0, -0.007355395, 0.0021421018, -0.03261461, 0.0) * go_0(0.0, 0.0); + result += mat4(0.06596344, 0.0011187588, -0.0698554, 0.0, -0.024434082, -0.009038537, 0.042669352, 0.0, -0.060429063, -0.014795595, 0.10773078, 0.0, -0.018245215, -0.025555842, 0.07259554, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.0035948083, -0.026325721, 0.032130077, 0.0, 0.0015195963, 0.0044271573, -0.008984954, 0.0, 0.016403245, -0.0039584707, 0.013665029, 0.0, 0.0016767944, 0.0070667397, -0.028133946, 0.0) * go_0(1.0, -1.0); + result += mat4(0.01695004, -0.029402763, 0.047411986, 0.0, -0.01129213, 0.0049071675, 0.003822879, 0.0, -0.031588167, -0.031124864, -0.06241746, 0.0, -0.035150167, 0.024117738, -0.008538587, 0.0) * go_0(1.0, 0.0); + result += mat4(0.058436964, -0.018053403, -0.0029208104, 0.0, -0.012583584, -8.435696e-06, -0.0021389409, 0.0, 0.025366964, 0.022662194, -0.03120317, 0.0, -0.05732525, -0.0019531269, 0.02189266, 0.0) * go_0(1.0, 1.0); + result += mat4(0.021041503, -0.03575024, 0.039296895, 0.0, 0.036413766, -0.015376002, -0.003543714, 0.0, -0.006572382, -0.01746979, 0.024723995, 0.0, -0.005184721, 0.014261276, -0.021478102, 0.0) * go_1(-1.0, -1.0); + result += mat4(0.007271495, 0.010891414, 0.06081773, 0.0, -0.07530834, -0.057223827, 0.056062855, 0.0, -0.03944118, 0.009164506, 0.016359169, 0.0, 0.011959882, -0.009856203, -0.050926358, 0.0) * go_1(-1.0, 0.0); + result += mat4(-0.01974953, 0.010230301, -0.007793579, 0.0, -0.020196917, 0.04590978, 0.03837431, 0.0, -0.006767891, 0.0075034844, -0.003773216, 0.0, 0.013550913, -0.0003947991, 0.0031925605, 0.0) * go_1(-1.0, 1.0); + result += mat4(0.028148983, -0.038432404, 0.03511873, 0.0, -0.034311228, -0.02840252, -0.027590172, 0.0, 0.06412731, -0.03889514, -0.016489375, 0.0, -0.048484165, 0.00057386677, 0.0026269031, 0.0) * go_1(0.0, -1.0); + result += mat4(-0.08776933, 0.0029032787, -0.031222485, 0.0, 0.06960467, 0.09750718, 0.050598294, 0.0, 0.0835213, 0.021661203, 0.038753476, 0.0, 0.03982122, 0.03788668, 0.1515678, 0.0) * go_1(0.0, 0.0); + result += mat4(0.028370056, 0.039478805, -0.020990063, 0.0, 0.00912417, 0.023335736, -0.16728604, 0.0, -0.011494958, -0.013394507, -0.053537812, 0.0, -0.005550743, -0.009001584, 0.012948562, 0.0) * go_1(0.0, 1.0); + result += mat4(0.013810996, -0.025271188, -0.004379599, 0.0, 0.015034975, -0.00089060765, 0.033212643, 0.0, 0.038851626, -0.0057069063, -0.040545236, 0.0, -0.0028078358, 0.015933724, 0.01575025, 0.0) * go_1(1.0, -1.0); + result += mat4(0.01737436, 0.01430337, -0.015735079, 0.0, -0.016511876, -0.06596022, 0.003990326, 0.0, 0.029907767, 0.0024715378, -0.05681515, 0.0, -0.0066727134, -0.024142109, 0.022043386, 0.0) * go_1(1.0, 0.0); + result += mat4(-0.019812914, 0.0015476292, -0.016639404, 0.0, 0.017160518, -0.002040027, -0.0007517166, 0.0, 0.0071950383, -0.003341077, -0.046353333, 0.0, -0.00083734177, -0.010146456, 0.016291264, 0.0) * go_1(1.0, 1.0); + result += mat4(0.005489136, -0.015574599, -0.011043608, 0.0, -0.009506977, 0.0054301876, 0.02158638, 0.0, 0.028507395, 0.018968195, 0.015134093, 0.0, -0.03841078, 0.025878599, 0.014776577, 0.0) * go_2(-1.0, -1.0); + result += mat4(0.050771695, -0.020951752, 0.02507804, 0.0, -0.023102228, 0.005002361, 0.009032685, 0.0, -0.02580423, 0.01087507, 0.053516913, 0.0, -0.0029967995, -0.0077431537, -0.001353477, 0.0) * go_2(-1.0, 0.0); + result += mat4(0.010528193, -0.015227771, 0.04612157, 0.0, -0.0034696343, 0.012149008, 0.00761891, 0.0, -0.028641496, 0.024396904, -0.005470966, 0.0, -0.016171847, 0.017462283, -0.0045835036, 0.0) * go_2(-1.0, 1.0); + result += mat4(0.016605109, -0.015695306, -0.026842888, 0.0, -0.018456295, -0.0015909546, 0.01639685, 0.0, 0.045253225, 0.014879358, -0.0029951404, 0.0, -0.07698649, -6.646588e-05, 0.051242474, 0.0) * go_2(0.0, -1.0); + result += mat4(0.021182995, -0.059780866, -0.10691225, 0.0, 0.012331703, 0.018810093, -0.00074620557, 0.0, -0.08377086, -0.09883356, 0.0033603192, 0.0, 0.027267748, -0.044589777, -0.016808862, 0.0) * go_2(0.0, 0.0); + result += mat4(-0.05345038, 0.007593226, 0.08017634, 0.0, 0.0029109702, -0.0066193943, -0.053755503, 0.0, 0.06317975, 0.013643785, -0.09781004, 0.0, 0.025922418, 0.02646404, -0.07879502, 0.0) * go_2(0.0, 1.0); + result += mat4(0.013840612, 0.03220654, 0.008247586, 0.0, 0.0024653377, 0.0017564539, 0.0095992945, 0.0, -0.008052894, 0.0005847401, 0.0030516423, 0.0, -0.0055664075, -0.0022113416, 0.03661902, 0.0) * go_2(1.0, -1.0); + result += mat4(-0.009897283, 0.03339503, -0.04373135, 0.0, 0.007111389, -0.0064675347, -0.0057030907, 0.0, 0.024796525, 0.014585273, 0.04618779, 0.0, 0.0451687, -0.01796601, 0.019403245, 0.0) * go_2(1.0, 0.0); + result += mat4(-0.050205655, 0.0067047793, 0.004935128, 0.0, 0.007296142, 0.0021017375, 0.004065404, 0.0, -0.033875827, -0.029431261, 0.028738476, 0.0, 0.0447788, 0.0089823445, -0.014340374, 0.0) * go_2(1.0, 1.0); + result += mat4(-0.008800223, 0.03338696, -0.034157075, 0.0, -0.0068426207, 0.018176233, 0.004032728, 0.0, 0.024810873, 0.014211227, -0.05046429, 0.0, 0.002167862, -0.024004508, 0.029742634, 0.0) * go_3(-1.0, -1.0); + result += mat4(-0.017277744, -0.027693354, -0.061636884, 0.0, 0.03730354, 0.02037306, -0.082923785, 0.0, 0.06614115, -0.021971319, -0.03728439, 0.0, -0.009604838, 0.0065510827, 0.05428039, 0.0) * go_3(-1.0, 0.0); + result += mat4(0.028721841, -0.015807403, 0.0052445545, 0.0, 0.044053316, -0.03528111, -0.02186662, 0.0, 0.038215213, -0.016336309, -0.008933091, 0.0, -0.0011169153, 0.012024489, 0.02721076, 0.0) * go_3(-1.0, 1.0); + result += mat4(-0.023697415, 0.03966659, -0.034681734, 0.0, 0.018552555, 0.0103879105, -0.012615872, 0.0, -0.07300987, 0.040119167, 0.005360114, 0.0, 0.027465869, -0.02125224, -0.0050676432, 0.0) * go_3(0.0, -1.0); + result += mat4(0.030902436, -0.036696557, 0.0028193328, 0.0, -0.05093436, -0.07263705, -0.021804878, 0.0, -0.09184029, -0.024111573, -0.058388986, 0.0, -0.0090374835, -0.005109571, -0.097216494, 0.0) * go_3(0.0, 0.0); + result += mat4(0.015647996, -0.014143281, 0.04477705, 0.0, -0.01775979, -0.034271564, 0.16637851, 0.0, 0.05501123, 0.017724924, 0.04504396, 0.0, -0.026133522, -0.013498184, -0.013634824, 0.0) * go_3(0.0, 1.0); + result += mat4(-0.03309264, 0.01711954, 0.0074518835, 0.0, 0.016711101, 0.032219592, -0.019081173, 0.0, -0.017806605, 0.009609709, 0.025623152, 0.0, 0.0010809151, -0.015366981, -0.012361129, 0.0) * go_3(1.0, -1.0); + result += mat4(0.0049063656, 0.010883338, 0.04879139, 0.0, -0.022820218, 0.034932375, -0.019001193, 0.0, -0.013871661, 0.000886869, 0.05011855, 0.0, 0.0074326694, 0.030681293, -0.008235174, 0.0) * go_3(1.0, 0.0); + result += mat4(0.016555479, -0.01782214, 0.012905581, 0.0, -0.024117837, 0.0008709348, -0.003545648, 0.0, 0.015249755, -0.01739516, 0.031961266, 0.0, 0.008861017, 0.019980997, -0.0017820391, 0.0) * go_3(1.0, 1.0); + result += mat4(0.015237567, 0.002044042, 0.013154992, 0.0, 0.014365077, 0.009685413, 0.009999783, 0.0, -0.004745017, -0.008530349, -0.0048582545, 0.0, 0.006463907, 0.011591748, 0.0013033211, 0.0) * go_4(-1.0, -1.0); + result += mat4(-0.0039128656, -0.018021967, -0.01664764, 0.0, 0.032044526, 0.03212382, 0.03248477, 0.0, -0.018143034, -0.024854887, -0.013054983, 0.0, 0.014334873, 0.026316965, 0.01232964, 0.0) * go_4(-1.0, 0.0); + result += mat4(0.002798491, -0.0038798824, 0.0022298654, 0.0, 0.0019937146, 2.3132301e-05, 0.0051871384, 0.0, 0.002116868, -0.0070092976, 0.0007712422, 0.0, -0.0110990815, -0.00045806088, -0.0042779488, 0.0) * go_4(-1.0, 1.0); + result += mat4(-0.010706082, -0.016151588, -0.008477227, 0.0, -0.010954006, -0.0032643504, -0.0057480773, 0.0, 0.0063414387, 0.011558126, 0.006752642, 0.0, 0.024452314, 0.013355994, 0.011969219, 0.0) * go_4(0.0, -1.0); + result += mat4(0.015298925, 0.030997332, 0.009838116, 0.0, -0.080680534, -0.05467505, -0.05227959, 0.0, -0.023426097, 0.013344335, 0.00071768253, 0.0, -0.015939463, -0.038700994, -0.028631734, 0.0) * go_4(0.0, 0.0); + result += mat4(-0.01238892, 0.004899588, 0.0006303335, 0.0, -0.0103858225, -0.0065748966, -0.013839468, 0.0, -0.016547715, 0.0016229248, -0.004543596, 0.0, 0.012939155, -0.004688313, -0.0023379533, 0.0) * go_4(0.0, 1.0); + result += mat4(-0.0057197395, -0.005643721, -0.00911208, 0.0, 0.017784229, 0.008518574, 0.014390045, 0.0, 0.01216526, -0.004762164, 0.00039809215, 0.0, 0.004477759, 0.0014034393, 0.0015725178, 0.0) * go_4(1.0, -1.0); + result += mat4(0.0080029685, 0.012455343, 0.008170205, 0.0, 0.013437776, 0.0017411915, 0.002170487, 0.0, 0.020931266, 0.0062978463, 0.0077739186, 0.0, 0.012534784, 0.0017018887, -0.0056342245, 0.0) * go_4(1.0, 0.0); + result += mat4(0.0009400788, -0.0069639036, 0.0030032704, 0.0, 0.0031776547, -0.0106882155, -0.0021752508, 0.0, 0.0209143, 0.0059682373, 0.004596733, 0.0, -0.022955237, -0.009941201, -0.006298617, 0.0) * go_4(1.0, 1.0); + result += mat4(-0.0064679156, -0.010350582, -0.009941069, 0.0, -0.0015805382, 0.012290337, 0.008409566, 0.0, -0.117412835, -0.09645556, -0.09703461, 0.0, -0.007818433, -0.0075441995, 0.0014142053, 0.0) * go_5(-1.0, -1.0); + result += mat4(-0.008875219, -0.010561973, -0.0123933125, 0.0, 0.013169622, 0.02392643, 0.016722063, 0.0, 0.055201843, 0.07873035, 0.05582767, 0.0, 0.023869634, 0.020948572, 0.019141855, 0.0) * go_5(-1.0, 0.0); + result += mat4(0.004586781, 0.003811747, 0.0040364224, 0.0, 0.0025533088, 0.004466686, -0.002531796, 0.0, 0.01505836, 0.012453587, 0.012348402, 0.0, -0.024105167, -0.020986296, -0.0138099855, 0.0) * go_5(-1.0, 1.0); + result += mat4(0.017402729, 0.012661966, 0.0056144516, 0.0, -0.004699965, -0.0008380072, -0.006091114, 0.0, 0.0011875675, 0.00879462, 0.011868305, 0.0, -0.018672796, -0.026099058, -0.010950582, 0.0) * go_5(0.0, -1.0); + result += mat4(0.0030471918, 0.0007148243, -0.0025094969, 0.0, 0.033177674, 0.035010602, 0.039097246, 0.0, 0.039616674, 0.037767593, 0.01638443, 0.0, -0.12697552, -0.1073338, -0.09579577, 0.0) * go_5(0.0, 0.0); + result += mat4(-0.00025230617, 0.0012266148, 0.004280498, 0.0, -0.014905165, -0.021798527, -0.020744175, 0.0, -0.002821233, -0.0060641593, -0.007882776, 0.0, -0.07172067, -0.06563568, -0.034545008, 0.0) * go_5(0.0, 1.0); + result += mat4(0.003620735, -0.0024858215, 0.00022405668, 0.0, -0.0076808417, -0.0012458211, -0.0011529091, 0.0, -0.004562087, -0.008754068, -0.0054264124, 0.0, -0.012856577, -0.0010323325, -0.010446232, 0.0) * go_5(1.0, -1.0); + result += mat4(-0.011776141, -0.0019654774, -0.0055164173, 0.0, -0.020086112, -0.016785175, -0.00850444, 0.0, 0.010972318, 0.0025132888, 0.0010225184, 0.0, 0.09268763, 0.092143916, 0.08644562, 0.0) * go_5(1.0, 0.0); + result += mat4(-0.007995734, 0.0009648095, 0.00030679026, 0.0, -0.012054333, -0.010890181, -0.014105062, 0.0, 0.008349884, 0.0012249199, 0.002626051, 0.0, -0.005392993, 0.0035896245, 0.011283782, 0.0) * go_5(1.0, 1.0); + result += mat4(0.040485244, 0.05691461, 0.01393322, 0.0, -0.0068288567, -0.0047428505, -0.00517558, 0.0, 0.0046434966, 0.015452392, -0.00041433485, 0.0, 0.00063609646, -0.0071669365, 0.024786541, 0.0) * go_6(-1.0, -1.0); + result += mat4(0.14682117, 0.17755695, 0.12569702, 0.0, -0.027783392, -0.02624908, -0.028104672, 0.0, 0.00031824392, 0.0073304633, 0.0035713087, 0.0, -0.004828108, -0.011006178, 0.0050675124, 0.0) * go_6(-1.0, 0.0); + result += mat4(0.018347368, 0.058970205, 0.005508202, 0.0, 0.00017912469, 0.0047737043, 0.005871205, 0.0, -0.007914939, -0.0030016988, -0.010390166, 0.0, -0.011853182, -0.016345054, 0.011509364, 0.0) * go_6(-1.0, 1.0); + result += mat4(-0.04851968, -0.0415747, -0.07765033, 0.0, 0.0065016304, 0.0018423289, 0.0009655065, 0.0, 0.12496835, 0.124992594, 0.103400074, 0.0, 0.03406387, 0.024533505, 0.077095464, 0.0) * go_6(0.0, -1.0); + result += mat4(-0.07254525, -0.08249368, -0.08311044, 0.0, 0.06959693, 0.044335928, 0.03670938, 0.0, -0.1417736, -0.16761701, -0.14663263, 0.0, 0.10133506, 0.110241316, 0.14565967, 0.0) * go_6(0.0, 0.0); + result += mat4(0.019155718, 0.0071138083, -0.0034784337, 0.0, -0.00664143, -0.001776598, 0.0020648353, 0.0, 0.023666251, 0.0018572954, 0.009598296, 0.0, -0.06739044, -0.07003538, -0.023062525, 0.0) * go_6(0.0, 1.0); + result += mat4(-0.01241549, -0.009126171, -0.025202572, 0.0, -0.0075291363, 0.0039865207, -0.0034039568, 0.0, 0.016126499, 0.03303203, 0.0098967515, 0.0, -0.028944502, -0.020699043, 0.029002754, 0.0) * go_6(1.0, -1.0); + result += mat4(-0.021382507, -0.026118703, -0.031718995, 0.0, -0.019529367, -0.0035435583, -0.0067699575, 0.0, -0.041487366, -0.028312238, -0.034041278, 0.0, -0.06073689, -0.07734381, -0.019799007, 0.0) * go_6(1.0, 0.0); + result += mat4(-0.01363575, -0.0015479103, -0.020948276, 0.0, -0.010927923, 0.0065499563, -0.0012396075, 0.0, -0.029386181, -0.014403808, -0.012845848, 0.0, -0.009659123, -0.0495663, -0.0149474265, 0.0) * go_6(1.0, 1.0); + result += mat4(0.021467282, 0.010587587, 0.027719442, 0.0, -0.016798606, -0.035109796, -0.028590709, 0.0, -0.030624123, -0.04124009, -0.03222284, 0.0, -0.0026517997, 0.0045358734, -0.002765814, 0.0) * go_7(-1.0, -1.0); + result += mat4(0.033694725, 0.02778838, 0.034238014, 0.0, -0.04121519, -0.06834962, -0.062327933, 0.0, 0.050779387, 0.030920736, 0.03404337, 0.0, -0.0036348598, -0.0020900413, -0.0004735747, 0.0) * go_7(-1.0, 0.0); + result += mat4(-0.007622776, 0.011874823, 0.01900638, 0.0, -0.0025179803, 0.028925508, 0.01261665, 0.0, 0.013219528, 0.016697768, 0.013904126, 0.0, 0.0032451088, 0.0002832319, 0.00023742643, 0.0) * go_7(-1.0, 1.0); + result += mat4(0.01943161, 0.0021087795, 0.019444287, 0.0, 0.014026365, -0.003662395, -0.025668561, 0.0, -0.024189321, -0.023441639, -0.031171577, 0.0, 0.008905503, 0.011113009, 0.01485881, 0.0) * go_7(0.0, -1.0); + result += mat4(0.03617188, 0.020874048, 0.019303437, 0.0, -0.31612596, -0.34252307, -0.37307942, 0.0, -0.010667352, -0.010282407, -0.0023546303, 0.0, -0.047603715, -0.042640142, -0.035864264, 0.0) * go_7(0.0, 0.0); + result += mat4(0.030194433, 0.039834637, 0.03607905, 0.0, 0.07675613, 0.09751075, 0.042691164, 0.0, 0.013306196, 0.015537212, 0.020499485, 0.0, 0.021594003, 0.005205471, 0.0023345314, 0.0) * go_7(0.0, 1.0); + result += mat4(0.017912725, 0.018817604, 0.009495288, 0.0, 0.031629816, 0.030030556, 0.003441103, 0.0, -0.0031581502, 0.003583242, 0.00081657764, 0.0, 0.005727217, 0.007922274, 0.013391995, 0.0) * go_7(1.0, -1.0); + result += mat4(0.035499737, 0.025537802, 0.011286941, 0.0, 0.060370766, 0.07218371, 0.02229925, 0.0, -0.007152367, 0.0015067369, 0.004906394, 0.0, -0.0069688433, -0.0027407445, -0.008629306, 0.0) * go_7(1.0, 0.0); + result += mat4(0.017541587, 0.03987632, 0.027013319, 0.0, 0.055954672, 0.08695107, 0.054611363, 0.0, -0.0035868676, 0.0035243938, 0.009716404, 0.0, 0.024346305, 0.017666759, 0.017770555, 0.0) * go_7(1.0, 1.0); + result += vec4(0.0013127691, 0.0012500212, 0.00080561294, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Restore/Anime4K_Restore_GAN_UUL.glsl b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_GAN_UUL.glsl new file mode 100644 index 0000000..112975d --- /dev/null +++ b/shaders/Anime4K/glsl/Restore/Anime4K_Restore_GAN_UUL.glsl @@ -0,0 +1,1317 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.011550553, 0.2571523, -0.16894904, -0.09610124, -0.052744195, 0.30938542, 0.21441698, 0.2569063, 0.06468069, 0.089650966, 0.0748017, -0.018602168, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.17143345, 0.051090688, -0.040205717, 0.23977952, -0.06845662, 0.11059154, 0.27167943, 0.039820686, -0.037420645, 0.32412684, 0.114460744, 0.19145139, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.18283899, 0.16125157, -0.29441658, -0.14905207, 0.19206345, -0.03641905, -0.0255512, -0.1973209, 0.096413575, -0.165314, 0.09896132, -0.023077995, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.03697045, 0.16279477, -0.22278853, -0.111244164, 0.12984428, -0.016251296, 0.06175422, -0.38215196, -0.020128965, -0.1455273, -0.08009769, 0.25073814, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.5884801, -0.6035645, 0.29799506, 0.15807843, -0.7622044, -0.15211694, 0.02642718, 0.08056384, -0.019515019, -0.08969495, 0.05972669, -0.56973815, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.5292328, -0.12033433, 0.1487622, -0.016836211, 0.18644744, -0.1327393, 0.1285929, -0.25551647, 0.1799259, 0.041404646, -0.20043947, -0.3026472, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.024188336, -0.054328248, -0.12121459, 0.17569984, 0.0269405, -0.068125665, -0.12267483, -0.03206367, 0.010800722, 0.06791396, 0.21666309, 0.00086910516, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.11299782, 0.16244878, 0.050983112, -0.20673744, 0.0814762, -0.290341, -0.13428551, 0.02317926, -0.23702003, -0.057354085, -0.16910575, 0.12039626, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.0099286465, -0.01866624, -0.01341757, 0.040368155, 0.29543665, 0.20391521, 0.015693977, 0.024313066, -0.009628433, 0.014835176, -0.05416802, -0.049118232, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.009906447, 0.016014593, -0.015037731, 0.019793766); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.2907437, -0.077323735, -0.16973291, -0.16443132, 0.22864507, 0.49630427, 0.26739725, 0.032699764, 0.06087564, -0.20624332, 0.0112693785, 0.08255652, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.06868092, -0.40196502, 0.13545038, 0.17964815, -0.05201233, -0.068510085, -0.033420287, 0.11053642, -0.22962584, 0.1240376, -0.07122576, -0.287889, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.08391916, 0.044837173, 0.05309633, -0.020162301, 0.21601973, 0.107087076, 0.009593669, -0.0480218, -0.0341008, 0.065055884, -0.037138876, 0.098079376, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.13852748, -0.41455564, 0.18791267, 0.092003055, 0.09786073, 0.13783242, -0.0740668, 0.24771707, -0.33705822, 0.14416842, 0.15743637, -0.2325511, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.5497675, -0.29078907, 0.05763203, -0.04751569, -0.6902698, -0.19779761, -0.39250666, -0.00016204051, 0.5432319, 0.2619331, -0.46955073, -0.3574246, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.061908755, -0.19342895, 0.16516154, 0.034592014, -0.19078135, 0.17319767, -0.08530775, 0.30626982, 0.07117333, -0.13394159, -0.16021773, -0.25067675, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.08075159, -0.2351002, -0.16552883, 0.05863658, 0.016604373, 0.097477786, 0.06739595, 0.055863712, 0.1263199, 0.21669623, 0.14968488, -0.08309879, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.29566878, -0.18975174, -0.31122676, 0.012913531, -0.14852591, 0.21946627, 0.34939107, 0.11229292, -0.065245174, 0.08148012, 0.3856815, -0.043731045, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.03664222, 0.05616905, 0.16613087, -0.036628574, -0.0907965, 0.013615345, 0.0053964662, -0.015731616, -0.022957215, 0.10116718, -0.094957925, 0.058128193, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.0017539978, -0.004052146, -0.0068221963, 0.0025597692); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.023552546, -0.17976846, -0.032507695, 0.34888005, -0.10224707, 0.13343506, 0.06544117, 0.012628775, -0.14143938, -0.19284354, 0.21922144, -0.24267627, 0.60245264, -0.24113165, -0.22310556, -0.02382731) * go_0(-1.0, -1.0); + result += mat4(-0.034701347, 0.07372663, 0.32609418, 0.11162037, -0.014141982, 0.07118311, -0.17728676, 0.11904929, -0.044187993, 0.10390664, -0.25206113, -0.27696803, -0.047686324, -0.1442619, 0.20605747, 0.06257326) * go_0(-1.0, 0.0); + result += mat4(-0.22148718, -0.01991937, 0.1064617, -0.040335968, 0.15501678, -0.23332876, 0.034576464, 0.0071954974, 0.29223567, -0.23055542, -0.2282997, -0.12242584, -0.37809116, -0.058991294, 0.39480785, 0.09886273) * go_0(-1.0, 1.0); + result += mat4(-0.14810124, 0.016219528, -0.19418913, -0.007893501, -0.053713404, 0.049100377, -0.05975324, 0.18977694, -0.050193787, -0.21011077, 0.2016647, 0.14340237, 1.0558138, -0.33549616, 0.231785, -0.3162362) * go_0(0.0, -1.0); + result += mat4(-0.13609457, -0.08641219, -0.44855806, 0.3498321, 0.30400246, -0.03185214, -0.1854452, -0.010487082, -0.17215589, 0.03237537, 0.28143924, -0.08109354, 0.22742943, -1.2136713, -0.13101196, 0.25476894) * go_0(0.0, 0.0); + result += mat4(0.13384807, 0.02634565, -0.0014585925, -0.119772, -0.22263676, 0.24358267, -0.29998726, 0.10864307, -0.025059542, 0.19892238, -0.48717195, -0.12713853, 0.0052565294, -0.06785795, -0.12660097, -0.2680154) * go_0(0.0, 1.0); + result += mat4(0.050817262, -0.000118490156, 0.008932358, 0.12216974, 0.00651495, -0.045953527, -0.06928984, -0.059567403, -0.045261804, -0.09506907, -0.15795891, 0.40871626, 0.75113076, -0.2689173, 0.014691355, 0.17588368) * go_0(1.0, -1.0); + result += mat4(-0.098001294, 0.017431907, -0.129577, -0.5423294, 0.006492312, -0.3798156, -0.0912911, -0.4348394, -0.008890873, 0.056336716, 0.31541198, 0.2757727, 0.18999146, -0.4838279, -0.8643528, -0.23371552) * go_0(1.0, 0.0); + result += mat4(0.12763253, 0.20787789, 0.014009273, -0.10351501, -0.10169546, 0.105827406, 0.08317957, 0.34155595, 0.09826027, 0.120087825, 0.00772547, -0.18460846, -0.057804313, -0.09804123, 0.23369344, -0.36933377) * go_0(1.0, 1.0); + result += mat4(0.016852003, -0.006062252, -0.12426935, 0.03895753, 0.015224101, 0.036187973, -0.12444835, 0.17155123, -0.21852624, -0.039858755, 0.030547414, -0.31835446, -0.1285454, 0.036886804, 0.120653056, 0.115938485) * go_1(-1.0, -1.0); + result += mat4(-0.0073105944, 0.0034892666, 0.16796911, 0.10596121, 0.053536925, -0.046282507, 0.04151762, 0.011876018, 0.038614176, -0.03580031, -0.119827464, -0.040998273, 0.07371248, 0.20536064, -0.11701863, 0.03227468) * go_1(-1.0, 0.0); + result += mat4(0.060087442, -0.2968361, 0.13312283, -0.23400159, -0.23598443, -0.042868868, 0.18195826, 0.28549528, 0.34385213, 0.21937303, -0.29659066, -0.2519378, 0.086887576, -0.2174296, 0.105925284, -0.021433428) * go_1(-1.0, 1.0); + result += mat4(0.13158737, 0.33106673, -0.17471395, -0.29580286, 0.06354943, 0.0942313, -0.0018473539, -0.036752637, -0.12811747, 0.17727722, -0.05052513, 0.02059626, 0.053381227, 0.051411, -0.040178068, 0.045549665) * go_1(0.0, -1.0); + result += mat4(-0.08831061, -0.28157574, -0.1294387, -0.034455232, 0.23092915, 0.064474, -0.26692396, 0.12853913, 0.006096496, -0.17732559, -0.14009307, 0.21564251, 0.20883715, 0.10718936, -0.47879994, -0.5107674) * go_1(0.0, 0.0); + result += mat4(-0.17679055, -0.03551305, 0.17372696, 0.25607085, -0.021303236, -0.116409995, 0.21391216, 0.1466252, 0.22911525, -0.11913164, 0.29034084, -0.08526714, -0.3873873, -0.21568687, 0.23877093, 0.42613512) * go_1(0.0, 1.0); + result += mat4(0.048116915, -0.08262296, -0.03324074, 0.13923667, -0.0062459446, -0.03517941, -0.009773409, -0.120674424, 0.15095374, -0.0005339233, 0.015473752, 0.14777213, 0.12814662, -0.05017428, -0.010744916, -0.23875938) * go_1(1.0, -1.0); + result += mat4(0.056450244, 0.11676627, -0.14198391, -0.045776248, 0.00897558, -0.058434367, 0.021832153, -0.52523935, -0.12343506, -0.11054828, 0.15865694, 0.09315367, -0.05297719, -0.10711813, 0.06007512, -0.08399776) * go_1(1.0, 0.0); + result += mat4(-0.019619863, 0.20729768, 0.043339703, 0.025781998, 0.023497196, 0.028392693, -0.04190367, -0.04418058, -0.042211913, -0.15244623, 0.02924173, 0.21085598, -0.035596382, 0.2381614, -0.030051846, 0.13014893) * go_1(1.0, 1.0); + result += mat4(-0.21234104, 0.041297037, -0.18101437, -0.2185761, 0.028981358, -0.081642486, -0.021145426, -0.009989747, 0.09318067, 0.16207193, -0.19826248, 0.16293178, -0.15917318, 0.06660727, 0.053039506, -0.1168678) * go_2(-1.0, -1.0); + result += mat4(-0.011286741, 0.14351663, -0.50032014, -0.026436124, -0.011840812, -0.07747942, 0.15334651, -0.14048274, -0.14003748, -0.047146395, -0.00042596797, 0.2566855, -0.03316183, 0.062969685, 0.043717206, -0.055696994) * go_2(-1.0, 0.0); + result += mat4(0.30375633, -0.023652522, -0.007335798, 0.11816739, -0.0505561, 0.16002876, -0.10969625, 0.11233836, -0.19340275, 0.05881697, 0.3182961, -0.022817641, 0.42393655, -0.0420881, -0.22744067, -0.11468599) * go_2(-1.0, 1.0); + result += mat4(0.19680668, -0.2718221, -0.109129034, -0.031820036, -0.014158195, 0.046111293, -0.14502439, -0.13337612, 0.09411394, 0.21357663, -0.20042713, -0.15176094, -0.0045771925, -0.031944096, 0.1550206, -0.03722588) * go_2(0.0, -1.0); + result += mat4(0.24317834, 0.18838319, 0.45047724, 0.18649562, -0.2095104, -0.0006020615, 0.08367084, -0.30320555, 0.07171591, -0.29137737, -0.049099058, 0.15327643, -0.24013925, 0.34259155, 0.115902506, 0.11450217) * go_2(0.0, 0.0); + result += mat4(0.016413163, 0.03915114, -0.015337155, 0.09729268, 0.29813018, -0.17131683, -0.2312706, 0.10482244, -0.2066783, -0.3365877, 0.2263724, 0.43815294, 0.036072776, 0.105696954, 0.077359736, 0.008051612) * go_2(0.0, 1.0); + result += mat4(0.12033027, 0.2112806, 0.017177183, -0.09654978, 0.07329572, 0.13259365, 0.011394168, 0.0069998833, -0.16171043, -0.02289922, 0.11146632, -0.33248207, -0.017027456, -0.10894563, -0.03257589, 0.021239217) * go_2(1.0, -1.0); + result += mat4(-0.031499073, -0.27365288, -0.064902805, 0.124796495, -0.023522072, -0.02951537, 0.04670401, 0.27531293, 0.43533918, 0.0585005, -0.15084462, -0.40506473, -0.32984722, -0.15036964, 0.07660922, -0.0032199689) * go_2(1.0, 0.0); + result += mat4(-0.115331754, -0.09803054, -0.024313536, 0.14555499, 0.23887083, -0.29849875, -0.26729763, 0.184482, 0.09255375, -0.10736947, -0.04150894, -0.0010320714, -0.051008355, -0.104129285, -0.08903581, 0.22098938) * go_2(1.0, 1.0); + result += mat4(0.06769511, -0.03238206, -0.068165705, -0.14739762, -0.061350193, 0.004104931, 0.11618826, 0.010067987, 0.02997295, 0.09301918, -0.12241719, 0.24177656, 0.22807428, -0.02756493, -0.0748496, -0.047249116) * go_3(-1.0, -1.0); + result += mat4(-0.18760902, 0.18009059, -0.0020327838, -0.21866414, -0.031515904, -0.05650113, -0.12750417, 0.103761345, 0.06476017, -0.3304871, -0.07148537, 0.24832407, -0.13958152, -0.09241458, 0.22140716, 0.08166865) * go_3(-1.0, 0.0); + result += mat4(0.26009315, -0.010701869, 0.023371957, -0.21740876, 0.17189556, 0.15437202, -0.14821805, -0.27689627, -0.2479749, -0.47549838, 0.32036334, 0.013038371, 0.14058238, 0.30515867, -0.26070523, 0.04663332) * go_3(-1.0, 1.0); + result += mat4(-0.020923758, -0.032509495, 0.12358641, 0.4433483, -0.06527426, -0.07173554, -0.11908415, -0.072907776, -0.0026322093, 0.045405984, 0.14449333, 0.18437918, 0.064828105, -0.151514, 0.091675825, 0.13046047) * go_3(0.0, -1.0); + result += mat4(-0.026943995, -0.07820492, -0.103887096, -0.3451598, 0.047472734, 0.0033870118, 0.440715, -0.20901312, 0.20392485, 0.2621361, 0.12270217, -0.24512972, -0.049621828, -0.22698936, 0.2641905, 0.009628438) * go_3(0.0, 0.0); + result += mat4(-0.20713174, 0.195439, 0.058581114, -0.10963195, 0.0812059, 0.011282248, -0.18487422, -0.016993608, 0.19099854, -0.3759483, -0.5897507, 0.14572738, 0.23315357, 0.10245343, 0.043103352, -0.46267846) * go_3(0.0, 1.0); + result += mat4(0.022161806, -0.00090681383, 0.052800614, 0.18393794, -0.027101398, 0.0014004739, 0.05572843, 0.118573196, -0.19916826, -0.02380698, 0.116629034, -0.28870407, 0.008048728, 0.053172585, -0.021419706, 0.09050276) * go_3(1.0, -1.0); + result += mat4(-0.016204836, 0.19174457, 0.2839895, 0.17540698, -0.123605736, -0.0061563863, 0.0028344695, 0.32647628, 0.057774115, 0.06937624, -0.13302265, -0.16724658, -0.12756115, 0.13584238, 0.078516625, 0.09640836) * go_3(1.0, 0.0); + result += mat4(0.120685734, -0.21064857, -0.16614036, -0.26340094, -0.06945371, 0.04921331, -0.020397125, 0.074044324, 0.23755525, -0.003564956, -0.06143462, -0.1825731, -0.11152944, -0.30590633, -0.054638807, -0.27331424) * go_3(1.0, 1.0); + result += vec4(0.04903664, 0.055879604, 0.072665684, -0.063299604); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.21144664, -0.21278776, 0.14495273, 0.40425083, 0.27247587, -0.109341, 0.033743903, 0.035514083, -0.39683792, 0.05346587, -0.164584, -0.27716008, 0.12337504, 0.06634312, 0.2134371, 0.6341114) * go_0(-1.0, -1.0); + result += mat4(0.13073774, -0.103435524, 0.0346405, 0.44462252, 0.11620409, 0.10156601, 0.054093704, -0.26547235, -0.11527728, 0.13799351, -0.027917054, -0.60904527, -0.07724007, -0.08113308, -0.009969666, 0.26369193) * go_0(-1.0, 0.0); + result += mat4(0.24912444, 0.0009965017, 0.04969851, 0.3003267, -0.003903703, -0.06769968, 0.10561507, -0.17234871, 0.1536697, -0.21829624, -0.017951855, -0.09118876, -0.22243726, 0.1614144, -0.024269601, 0.397888) * go_0(-1.0, 1.0); + result += mat4(0.06768992, -0.041342556, 0.07763352, -0.41787583, 0.031124283, 0.011633926, -0.0978459, 0.039305598, -0.41848403, -0.26259893, 0.28613627, 0.20371561, 0.58345675, -0.07080824, 0.19021916, 0.012531278) * go_0(0.0, -1.0); + result += mat4(-0.20584361, 0.20292012, 0.16911204, -0.11723318, -0.06905249, -0.12639555, 0.029861137, -0.69824475, -0.15893462, 0.03822974, 0.2365254, -0.18049008, -0.54079545, 0.05378836, 0.3731226, -0.4194168) * go_0(0.0, 0.0); + result += mat4(-0.16185144, 0.08044541, -0.11534125, -0.38361254, -0.18125655, 0.100682445, -0.17568061, 0.15932092, 0.4921224, -0.21809934, -0.4219327, 0.56603193, -0.11896117, 0.09941898, 0.060406428, -0.28055435) * go_0(0.0, 1.0); + result += mat4(-0.17914674, -0.039117515, -0.10780753, -0.0019961328, -0.118028656, 0.13673705, 0.09796823, 0.036670703, 0.23708504, -0.217638, 0.02271306, -0.08260663, -0.02218291, 0.25449663, -0.38577145, 0.2289155) * go_0(1.0, -1.0); + result += mat4(0.20697436, -0.08170284, -0.30875778, -0.091935694, -0.4299069, -0.048003297, 0.040368207, -0.11808018, 0.19754, -0.11251598, 0.27953205, 0.3021206, 0.45326826, 0.1854244, -0.29116857, -0.2648801) * go_0(1.0, 0.0); + result += mat4(-0.005043171, 0.1165916, 0.035544373, -0.11442216, -0.17139262, -0.050638396, -0.26463476, 0.11100485, -0.10001776, -0.21563227, -0.16391662, -0.054651123, 0.39844766, 0.1455794, 0.017547537, -0.39557946) * go_0(1.0, 1.0); + result += mat4(0.15157916, 0.18656601, -0.00782459, -0.038346134, -0.2450021, 0.047928028, -0.1472038, 0.2255333, -0.4334985, 0.08729366, 0.0846153, -0.30595127, -0.044211008, -0.08241214, -0.043064255, 0.4190449) * go_1(-1.0, -1.0); + result += mat4(0.05928101, -0.06261379, 0.038639594, 0.19335443, 0.07116561, -0.09511715, 0.2905441, 0.1801976, 0.26955184, -0.17377244, -0.1212788, 0.016638374, -0.22339019, 0.004929746, -0.09799133, -0.031665847) * go_1(-1.0, 0.0); + result += mat4(-0.18101548, 0.0012552696, -0.23048487, 0.112049505, -0.12021156, 0.14923924, 0.23487978, 0.09156211, 0.3823153, 0.19112724, -0.16386096, -0.33862537, 0.6392619, -0.074322194, -0.011328445, 0.010085967) * go_1(-1.0, 1.0); + result += mat4(0.14264163, -0.083046414, 0.05174603, -0.11164799, 0.5145514, 0.09971472, 0.07346141, -0.001808423, -0.26032692, -0.22621563, 0.055869855, 0.076288834, -0.010914596, 0.22231369, 0.10603505, -0.5869296) * go_1(0.0, -1.0); + result += mat4(0.5548472, 0.12401844, -0.23502155, 0.0061489646, 0.67039174, 0.05105186, -0.37961176, -0.15655631, 0.2625075, 0.0843665, 0.15801008, 0.09782913, -1.1630117, 0.5171362, 0.29586038, -0.08990771) * go_1(0.0, 0.0); + result += mat4(-0.5571424, -0.058150455, 0.07254807, -0.12936777, -0.12786071, 0.07129326, -0.241742, -0.08085487, -0.13637958, -0.22721592, -0.11745357, 0.112150125, -0.09672555, 0.27359635, -0.080746, -0.009863987) * go_1(0.0, 1.0); + result += mat4(0.030648582, 0.065971114, 0.067242995, 0.22608843, -0.17207222, 0.054914985, 0.03116957, -0.052851222, 0.0069969087, -0.006153292, 0.21847431, 0.057503276, 0.8095128, -0.21049567, -0.006439858, 0.08432311) * go_1(1.0, -1.0); + result += mat4(-0.042780217, -0.12338032, 0.05577247, -0.21822974, -0.17892684, 0.058537606, 0.080431335, -0.078834526, -0.31537804, -0.061866514, 0.023990609, -0.058277693, 0.097793244, -0.12215614, -0.13899407, 0.27879617) * go_1(1.0, 0.0); + result += mat4(0.008304607, 0.034395944, 0.17608953, -0.06544607, -0.24016827, -0.0677199, 0.12737678, -0.05233579, 0.16614896, -0.14099626, -0.022224577, 0.14793196, -0.012446621, 0.028061012, -0.1716129, 0.060556497) * go_1(1.0, 1.0); + result += mat4(0.5220798, 0.13444152, -0.2122427, -0.5736831, -0.20706674, 0.017248502, -0.028334714, 0.055140972, 0.33016387, -0.14287637, 0.01387342, 0.3571347, 0.28431186, 0.11765858, -0.01822439, -0.39872175) * go_2(-1.0, -1.0); + result += mat4(0.08728331, 0.23902069, -0.36302498, -0.16066715, -0.11230054, -0.13030538, 0.009534622, 0.048962418, 0.012431211, -0.20593752, -0.0013636881, 0.4360859, 0.04262531, 0.23974936, -0.094283335, -0.527438) * go_2(-1.0, 0.0); + result += mat4(0.030728528, -0.112231985, -0.009100498, -0.35143045, 0.16748357, 0.017510839, 0.03239966, 0.054478996, -0.17319912, -0.050375365, 0.089725465, 0.16103691, 0.10676163, -0.09278535, -0.05428266, -0.33354014) * go_2(-1.0, 1.0); + result += mat4(0.21258125, 0.04599829, -0.24325258, 0.029835198, 0.20194697, -0.07060258, 0.016639128, -0.3157998, 0.33405927, 0.060434584, -0.43728244, -0.062135965, 0.028998438, 0.11571891, -0.15109324, 0.07101858) * go_2(0.0, -1.0); + result += mat4(-0.40383798, -0.36821288, 0.19626383, 0.59001976, 0.32839507, 0.101678796, 0.10640573, -0.10071399, -0.02920735, -0.0077641695, -0.22367977, -0.05433425, 0.004730477, 0.23157004, -0.11481708, 0.061465364) * go_2(0.0, 0.0); + result += mat4(-0.08762416, -0.035775788, 0.26598835, 0.37357306, -0.11917872, 0.036915135, -0.19645864, -0.8743145, -0.51593053, 0.100978024, 0.06177629, -0.5311378, -0.09897961, -0.007981574, -0.14613442, 0.29796147) * go_2(0.0, 1.0); + result += mat4(-0.08169756, 0.10602942, 0.16290301, 0.08642245, 0.14126572, 0.0143537, 0.022076355, 0.12719934, -0.115588315, 0.018044261, 0.06112664, -0.17315914, -0.24815254, 0.07138127, 0.064938284, 0.30757383) * go_2(1.0, -1.0); + result += mat4(0.08658424, 0.04834558, 0.11189677, -0.11959915, 0.043204036, 0.0028814555, -0.27114293, 0.19655752, -0.06219229, -0.06335925, 0.001583622, 0.0003887524, -0.02551103, 0.1810684, -0.13473205, 0.41511175) * go_2(1.0, 0.0); + result += mat4(0.098328196, -0.15463813, -0.25395435, 0.057165585, 0.12112806, 0.047703095, 0.1736894, -0.571335, -0.08877221, 0.25854358, -0.12695095, 0.057413366, -0.098884575, -0.28365913, 0.09991636, 0.22292562) * go_2(1.0, 1.0); + result += mat4(-0.6112117, -0.010231417, -0.112239756, -0.07849118, 0.02083121, -0.034805223, 0.15247148, -0.12141691, 0.3277976, -0.06351269, -0.09261654, 0.48218137, -0.26786497, 0.18436286, 0.0026548437, -0.3494242) * go_3(-1.0, -1.0); + result += mat4(-0.095630266, 0.40209347, 0.037867773, -0.25989276, -0.011930034, 0.24516326, -0.0069997567, -0.3245564, -0.023615206, 0.15278822, -0.029383302, -0.7744169, 0.94101965, 0.056572374, 0.058212046, -0.061330616) * go_3(-1.0, 0.0); + result += mat4(0.081363745, -0.15472494, -0.34431493, 0.07395791, -0.055564385, 0.016541688, -0.08667468, -0.1444773, -0.2256494, -0.20606478, 0.4394829, 0.52758425, -0.5187416, 0.17331822, -0.27094364, -0.2181298) * go_3(-1.0, 1.0); + result += mat4(-0.287361, 0.16206776, 0.14063619, 0.13728833, -0.36886695, -0.08538228, 0.19503894, 0.11056105, 0.16406211, 0.01727046, 0.0871592, 0.07294414, 0.060550056, 0.061177608, -0.016883448, 0.30192128) * go_3(0.0, -1.0); + result += mat4(-0.33929467, 0.13435748, 0.115937024, 0.067573994, 0.009863674, 0.013138309, 0.30058098, 0.10597743, -0.17499073, 0.05588405, 0.005677747, 0.40934527, 1.1545268, -0.155579, -0.13197516, 0.15191454) * go_3(0.0, 0.0); + result += mat4(0.37388617, -0.08841946, -3.8818067e-05, -0.055153493, 0.10924964, 0.005106532, 0.2640823, 0.17689948, -0.078712486, 0.014336811, 0.13541687, -0.35125944, 0.25925586, -0.11574074, -0.05334974, 0.37477663) * go_3(0.0, 1.0); + result += mat4(-0.09378358, -0.02469048, 0.09498973, -0.14765818, -0.06543113, 0.052611325, -0.038409166, -0.10529152, -0.19401579, -0.16219963, -0.16643663, -0.33105713, -0.47642896, 0.3563738, 0.10123918, 0.0047903634) * go_3(1.0, -1.0); + result += mat4(-0.09347765, 0.13719639, 0.17906445, 0.20748247, 0.31409532, -0.033543803, -0.055865422, 0.20806772, -0.004353982, 0.15110697, -0.052026875, 0.04408309, -0.3727673, 0.08697647, 0.062118348, -0.12789507) * go_3(1.0, 0.0); + result += mat4(0.17479336, -0.15061922, -0.039640546, 0.041190077, -0.060928237, 0.17590441, 0.13194624, 0.05623478, -0.16385348, 0.09232265, 0.035934143, -0.1263174, -0.35249633, 0.15528975, 0.10165315, -0.20805833) * go_3(1.0, 1.0); + result += vec4(-0.016027294, -0.022314552, 0.29750827, 0.022724666); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf2 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.20217955, -0.1016539, -0.24689016, 0.026825983, -0.012303149, 0.016825393, 0.11242501, 0.1197403, -0.29600206, 0.27503014, -0.11554761, -0.051286228, -0.010749474, -0.0034162628, -0.07294611, -0.3771706) * go_0(-1.0, -1.0); + result += mat4(0.14065309, -0.20494242, 0.08172008, -0.24708536, 0.14010069, -0.0034903025, -0.13427053, 0.038706955, 0.14292285, -0.22876161, -0.08053654, -0.13691449, -0.32719252, 0.3200724, 0.41660982, 0.4663079) * go_0(-1.0, 0.0); + result += mat4(-0.40426278, 0.42029375, 0.2581085, -0.08178537, 6.6040986e-05, 0.051414035, -0.09223715, 0.09467653, 0.0022885685, -0.36213446, -0.22484992, 0.11228845, -0.266375, 0.47065213, 0.18022436, 0.018949319) * go_0(-1.0, 1.0); + result += mat4(0.0967041, -0.4762878, -0.48147273, -0.38028395, 0.0096386345, 0.038764592, 0.31412536, 0.11140124, -0.26849043, 0.5565519, 0.43003628, -0.4071856, -0.07576129, -0.1801822, -0.47469202, 0.20814487) * go_0(0.0, -1.0); + result += mat4(-0.00062698213, -0.7789418, 0.35716832, -0.02369097, 0.3586657, 0.0046842257, -0.1294594, -0.42827508, 0.1843683, -0.109799415, -0.03444211, -0.4856736, 0.20326613, -0.20637028, 0.043016884, 0.2611685) * go_0(0.0, 0.0); + result += mat4(-0.4074533, 0.11487311, 0.3276686, -0.002443473, -0.18050632, 0.36538202, 0.23752166, -0.21289061, 0.08633338, -0.30124283, -0.020832658, -0.02058489, -0.18569615, 0.47561193, 0.29504526, -0.37081027) * go_0(0.0, 1.0); + result += mat4(0.3032142, -0.05559384, -0.14362094, 0.4066231, -0.10048464, 0.123465545, 0.17526495, -0.05644113, 0.10546904, 0.04229368, 0.39113873, 0.31476578, -0.3210935, -0.2459354, -0.57513195, 0.42412075) * go_0(1.0, -1.0); + result += mat4(-0.012243576, 0.12146884, 0.07562772, 0.6030755, 0.11079806, -0.33577108, -0.34181613, -0.1494174, -0.03203171, 0.4393293, -0.28612396, 0.42938936, -0.043798693, -0.37709042, 0.26563555, -0.11072489) * go_0(1.0, 0.0); + result += mat4(0.046751764, 0.0035097478, -0.01897875, 0.02122587, -0.12605189, -0.41298488, -0.03824162, 0.51710933, -0.052696224, -0.2337075, -0.12560573, 0.33835718, -0.31342196, 0.51827186, 0.1890404, -0.03768498) * go_0(1.0, 1.0); + result += mat4(0.17229721, 0.062260006, 0.21993148, 0.075963624, 0.067087546, -0.20411918, -0.06633631, -0.05168393, -0.055554014, 0.07146849, -0.11320391, -0.5016039, -0.015768923, -0.029974159, 0.003875134, -0.7003569) * go_1(-1.0, -1.0); + result += mat4(-0.0693014, 0.23172057, -0.12445124, 0.10486695, 0.024282364, 0.104390465, 0.10902425, 0.044662107, -0.14725766, -0.12317419, -0.24799284, -0.5018698, -0.09759714, -0.08109111, -0.16864298, -0.21465865) * go_1(-1.0, 0.0); + result += mat4(-0.05006012, -0.091789775, -0.039711423, -0.025967857, 0.004903828, 0.27684125, 0.090259, 0.25723773, 0.25361672, -0.63184565, -0.2300667, -0.10245676, -0.43677995, 0.4948819, 0.23426977, 0.27520937) * go_1(-1.0, 1.0); + result += mat4(0.24944058, -0.2630142, 0.087730475, 0.14870866, -0.05221804, -0.11076067, -0.28590345, 0.30941877, 0.12329378, 0.0869489, 0.3449555, 0.26338112, 0.27513418, -0.34140083, -0.44811395, -0.32881838) * go_1(0.0, -1.0); + result += mat4(-0.2300291, 0.026097683, 0.011726505, 0.33332226, -0.24714379, -0.052737463, 0.16558985, 0.43402666, -0.040318843, 0.14610682, 0.32763618, 0.1530442, 0.46671808, -0.36680204, 0.30263212, 0.4588324) * go_1(0.0, 0.0); + result += mat4(0.04394229, 0.1959856, -0.23437811, -0.42994127, 0.2209785, 0.08641096, 0.059983835, 0.3301891, -0.20396693, 0.21257658, -0.17936775, -0.17046471, -0.3278646, -0.015171337, -0.39279112, 0.7612752) * go_1(0.0, 1.0); + result += mat4(-0.0721009, 0.03914034, -0.03603309, 0.0032750098, 0.02849652, -0.22286695, -0.21038975, -0.5404214, -0.09446682, 0.13351013, 0.19801673, 0.3039991, 0.06969349, 0.47980356, 0.4956948, -0.22736946) * go_1(1.0, -1.0); + result += mat4(0.10723219, -0.23137522, -0.12172196, 0.041468218, -0.07041226, 0.06390648, 0.14080569, -0.35228798, 0.07642974, -0.13615544, -0.039689478, 0.07113939, 0.28258353, 0.060358338, 0.17336333, -0.2321431) * go_1(1.0, 0.0); + result += mat4(-0.17947374, 0.03477672, 0.14946933, -0.27187726, 0.18819115, 0.032378223, 0.0020400453, -0.48512584, -0.12591578, -0.1212832, -0.116236545, 0.045565434, -0.15292491, -0.24064177, -0.10086153, 0.23591255) * go_1(1.0, 1.0); + result += mat4(-0.106525, -0.12032337, 0.17431536, 0.0052562207, -6.420632e-05, -0.01623248, -0.08095955, -0.13127506, 0.27539784, -0.31894428, 0.08169528, 0.062290672, -0.18432364, 0.21473673, -0.025179744, 0.094855726) * go_2(-1.0, -1.0); + result += mat4(-0.31541437, -0.24790616, 0.013607132, 0.039480396, -0.122884266, 0.19012398, 0.09748719, -0.09533564, -0.292556, 0.18304445, -0.1432241, 0.1381094, 0.21733786, -0.18149674, -0.1615431, 0.03368751) * go_2(-1.0, 0.0); + result += mat4(0.28429464, -0.40165743, -0.26162243, -0.02550708, 0.08182439, -0.142696, -0.029649947, 0.047006324, -0.041352388, 0.45716748, 0.14035358, -0.0074519147, 0.30095938, -0.4907558, -0.19573994, -0.0730125) * go_2(-1.0, 1.0); + result += mat4(0.015484458, 0.18262957, 1.1304622, 0.13020717, 0.08094596, -0.041125435, -0.011831079, 0.016813423, 0.27810735, -0.64546406, -0.09420503, 0.30469316, -0.298747, 0.56795603, 0.42592815, 0.31302226) * go_2(0.0, -1.0); + result += mat4(0.04343304, -0.4498391, -0.5037316, 0.19293165, -0.53385746, 0.33699542, 0.27228716, -0.19133756, -0.32839635, 0.35161376, 0.2137489, 0.38544926, -0.25985554, 0.20467313, 0.19342346, 0.20128295) * go_2(0.0, 0.0); + result += mat4(0.22484256, -0.23751211, -0.30022943, 0.051273867, -0.007936754, -0.68916345, -0.71587783, -0.1656445, -0.097008295, 0.10184849, -0.051216517, -0.3001333, 0.44228783, -0.3494149, -0.3600727, 0.061474547) * go_2(0.0, 1.0); + result += mat4(-0.1976335, 0.11761563, 0.25485405, -0.24935004, 0.21836887, -0.0373093, -0.06946182, 0.049853157, -0.19294016, 0.027994758, -0.7352471, -0.40208367, -0.29396078, 0.27974385, 0.23464991, -0.21713316) * go_2(1.0, -1.0); + result += mat4(0.11203325, -0.07249998, 0.03275291, -0.5243432, 0.027975427, 0.65923446, 1.1487273, 0.13650933, 0.18981944, -0.41047823, 0.24949239, -0.038735647, -0.16338153, 0.19802837, 0.2097514, -0.15370321) * go_2(1.0, 0.0); + result += mat4(0.05246577, -0.10527885, -0.023790307, 0.02944672, 0.21446787, 0.22428256, -0.30655965, -0.4283235, 0.073304355, 0.2829255, 0.30902624, -0.14685656, 0.24827917, -0.33014455, -0.32007882, -0.20629856) * go_2(1.0, 1.0); + result += mat4(-0.08960087, 0.0050927363, -0.30011386, -0.047652043, -0.094598204, 0.11405335, 0.06829049, 0.059407845, -0.022997437, -0.106863946, 0.07900994, 0.44502714, 0.15836091, -0.066640936, 0.15023214, 0.54916424) * go_3(-1.0, -1.0); + result += mat4(-0.06162481, -0.3285692, -0.022469657, -0.11277432, -0.09067458, 0.030319816, -0.14839767, -0.23583637, 0.06760135, -0.028171305, 0.014077104, 0.35498118, -0.025291484, 0.24540594, -0.017083582, 0.28348377) * go_3(-1.0, 0.0); + result += mat4(0.17504841, 0.060240712, 0.17431584, 0.16914812, 0.06998317, -0.30380917, -0.09968582, -0.30383462, -0.4403573, 0.78940177, 0.020485763, 0.27871025, 0.6351977, -0.37790725, -0.22219525, -0.4110773) * go_3(-1.0, 1.0); + result += mat4(-0.08675536, 0.27092165, -0.058764063, 0.20293204, 0.009523148, 0.09759644, 0.32254717, -0.48095647, -0.23190324, -0.12567216, -0.44106624, -0.30251557, -0.29637465, 0.16701616, 0.039250236, 0.20024182) * go_3(0.0, -1.0); + result += mat4(-0.12002944, 0.13862704, 0.17594223, -0.044401992, 0.36661845, -0.038946245, -0.29144734, -0.033288293, -0.48884743, 0.08073716, -0.31537253, 0.1283542, -0.5425199, 0.19174723, 0.15365373, -0.14512973) * go_3(0.0, 0.0); + result += mat4(0.15586664, -0.16834132, 0.05371874, 0.36174223, -0.15587626, -0.0017205992, 0.02366499, -0.13222694, 0.27792883, -0.20452052, 0.07238269, -0.6005766, 0.45729572, -0.057850257, 0.3978193, -0.42369977) * go_3(0.0, 1.0); + result += mat4(0.0125904465, -0.28701517, -0.06483255, -0.36696205, 0.0041157743, 0.16688906, 0.16022897, 0.32454333, 0.24528491, -0.22117196, -0.15657167, -0.27925336, -0.21296152, -0.27980646, -0.35671264, 0.1338135) * go_3(1.0, -1.0); + result += mat4(-0.09333434, 0.2844371, -0.0012270715, -0.08979275, -0.06961038, -0.011850921, -0.14248405, 0.69844127, -0.39664406, -0.024479598, 0.055128384, -0.44450662, -0.2171763, -0.027311027, -0.22850873, 0.21512528) * go_3(1.0, 0.0); + result += mat4(0.05754468, -0.06023853, -0.10660665, 0.001042397, -0.0098680295, -0.020704228, 0.022198498, 0.22380444, 0.2768453, -0.0008279344, 0.026585666, -0.4575448, 0.25150645, 0.11999355, 0.12135898, -0.39513355) * go_3(1.0, 1.0); + result += vec4(0.025650544, 0.03663525, -0.016599739, 0.0293095); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_1_tf2 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.04035504, 0.24661791, 0.16603021, -0.14574075, 0.016028887, 0.23053943, -0.01308933, -0.13217592, 0.14422223, 0.046401497, 0.31343204, -0.018826274, -0.13334458, -0.13250591, -0.19680983, 0.023520457) * go_0(-1.0, -1.0); + result += mat4(-0.18644534, 0.16142415, -0.10263999, -0.1785358, 0.1524165, -0.096029095, 0.044161733, 0.040999066, -0.024374438, 0.007344798, -0.011679108, -0.01964757, -0.17767182, 0.05571244, 0.027234446, 0.043839652) * go_0(-1.0, 0.0); + result += mat4(0.04718799, -0.044331063, 0.13524447, -0.067815036, 0.11796701, 0.19663425, -0.10252262, -0.10110826, -0.12611324, 0.10640568, 0.19015492, -0.05703842, -0.2498106, 0.06150599, -0.16034353, 0.023444213) * go_0(-1.0, 1.0); + result += mat4(-0.27109948, -0.2330959, -0.24654478, -0.13645583, -0.30987036, -0.09328997, -0.047055356, -0.008120827, 0.12002382, -0.052843675, -0.024162116, -0.07013582, -0.21204828, 0.24816163, -0.048868638, -0.020213706) * go_0(0.0, -1.0); + result += mat4(-0.36924088, 0.19141299, -0.0596671, 0.05201207, 0.042457893, -0.14713997, 0.06199918, 0.3931451, 0.08613402, -0.07767505, -0.22640567, 0.139795, -0.080966346, 0.24099334, -0.1484309, -0.18542144) * go_0(0.0, 0.0); + result += mat4(-0.24846043, 0.04992665, 0.01550666, -0.07386302, -0.033128314, -0.109518744, -0.0131575465, 0.093934394, -0.10481641, -0.21640164, -0.042719785, -0.119751304, -0.14406851, -0.09887475, 0.0551473, 0.1988483) * go_0(0.0, 1.0); + result += mat4(0.005014479, -0.028502205, 0.056643553, 0.22005746, -0.109462686, -0.063529275, 0.068870015, -0.09086573, -0.20329769, 0.062993504, 0.012298516, -0.09511996, -0.070928045, -0.084570564, 0.030517094, 0.0666073) * go_0(1.0, -1.0); + result += mat4(-0.23140994, -0.14801921, 0.10917109, 0.04020163, -0.124175526, -9.252112e-05, -0.10079859, -0.08308403, -0.15703133, 0.12351128, -0.062012766, 0.012078454, 0.017588409, -0.19278778, -0.011159341, -0.019345049) * go_0(1.0, 0.0); + result += mat4(-0.13358298, -0.13400944, -0.04192524, 0.05254761, 0.090020865, 0.204023, -0.017487295, -0.103140116, -0.0635867, -0.04658558, 0.017988916, -0.095914505, 0.0028000565, 0.1542994, 0.02950823, 0.04616086) * go_0(1.0, 1.0); + result += mat4(-0.05432518, -0.0111842025, -0.0062327827, -0.033791576, 0.09963238, -0.007702412, 0.107363395, -0.0002620659, -0.03530006, -0.17219695, 0.20868061, 0.097935446, -0.08475756, -0.039234992, -0.13846119, 0.062036924) * go_1(-1.0, -1.0); + result += mat4(0.01616353, -0.12863919, 0.15521172, 0.097896874, 0.033820298, -0.05146636, 0.02785997, -0.09073786, -0.09372875, 0.06929703, -0.0107195005, 0.018365687, 0.0868831, 0.0070242505, -0.040582743, -0.07992907) * go_1(-1.0, 0.0); + result += mat4(-0.07650785, -0.072560616, 0.01351836, 0.07111899, -0.022031955, -0.010699844, -0.061331112, -0.18606193, 0.016390545, -0.013820923, 0.024161916, 0.05317417, -0.023394106, -0.12722068, -0.2521299, -0.0032620258) * go_1(-1.0, 1.0); + result += mat4(0.09762331, 0.062247284, -0.07981863, 0.048026998, 0.052663904, 0.1488446, -0.0859117, 0.081166595, 0.06321994, 0.10102734, -0.08696909, 0.018006293, 0.10951873, 0.11635254, -0.073152475, 0.021577666) * go_1(0.0, -1.0); + result += mat4(0.13631535, 0.09643497, 0.06995556, -0.012752857, 0.16278613, 0.015534217, 0.108511776, 0.14669219, 0.008778259, 0.16631478, 0.060034137, -0.16236681, -0.05978258, 0.062230766, -0.33324954, -0.02387315) * go_1(0.0, 0.0); + result += mat4(-0.26835418, -0.05078421, -0.038090322, -0.01212539, 0.0064360583, -0.09849181, 0.055596586, -0.049771946, -0.060680225, 0.11777931, 0.0092843445, -0.0003092349, -0.054714512, -0.036983784, 0.080890685, 0.01171634) * go_1(0.0, 1.0); + result += mat4(-0.095172614, -0.00536103, 0.024565516, 0.15711878, -0.054901525, -0.11539277, -0.0537201, 0.035690263, -0.012858618, 0.0074576396, -0.09323002, 0.0212987, 0.057625733, -0.028343642, 0.09287552, 0.17583063) * go_1(1.0, -1.0); + result += mat4(0.039239723, 0.08689648, -0.09737909, -0.030164383, -0.16954574, -0.19429989, -0.008026096, -0.009319319, 0.050411783, 0.003132383, -0.032023713, -0.044580568, 0.05639381, 0.26383185, -0.11680319, 0.20925997) * go_1(1.0, 0.0); + result += mat4(-0.1350493, 0.066753425, -0.07848042, -0.07173146, -0.09169151, -0.02280378, 0.014779426, 0.08916784, -0.09334288, -0.081331305, -0.06598685, -0.023294056, 0.13236979, 0.32240087, -0.05203544, -0.035413966) * go_1(1.0, 1.0); + result += mat4(0.026199203, 0.0204687, -0.070584424, -0.021580774, 0.118979365, 0.0988867, -0.14607596, 0.13370356, -0.0843717, 0.08955508, -0.035913162, -0.039743375, 0.03797019, -0.057666034, 0.09423923, 0.07839171) * go_2(-1.0, -1.0); + result += mat4(0.2348814, 0.0213994, 0.07450211, -0.003232845, 0.09450214, 0.014603701, 0.025057215, 0.048732072, -0.20320013, 0.02525451, -0.26879773, -0.21511178, 0.08866451, -0.046766516, -0.13612792, -0.09785279) * go_2(-1.0, 0.0); + result += mat4(-0.12481913, -0.12849878, -0.016158326, 0.025934998, 0.022762675, -0.011452937, -0.08533328, 0.06363569, 0.14518197, 0.23348686, 0.095732406, -0.19029738, 0.05512797, 0.02524934, 0.05958946, 0.06717244) * go_2(-1.0, 1.0); + result += mat4(0.061521348, -0.16622357, -0.08235146, -0.06429693, 0.03720797, 0.20682053, -0.08594098, 0.07171474, 0.0014226728, -0.07034602, -0.09734637, 0.03378296, 0.16466366, -0.10899766, -0.003239979, -0.015122078) * go_2(0.0, -1.0); + result += mat4(0.16695042, -0.1315729, 0.09122205, 0.07520023, -0.09821882, 0.035185304, -0.06842167, -0.011763841, -0.09345794, 0.15259263, -0.39355028, -0.3891075, 0.18299462, 0.06755557, -0.027738906, 0.013310929) * go_2(0.0, 0.0); + result += mat4(0.033140916, -0.027768493, -0.02067478, -0.06325463, -0.09894021, -0.20934165, -0.015428146, 0.12136887, 0.046120573, -0.071947254, 0.028421128, 0.06357571, 0.13145766, 0.04536773, 0.044150203, -0.10509899) * go_2(0.0, 1.0); + result += mat4(-0.10988508, 0.112615995, 0.1751226, 0.02660734, 0.08398276, 0.12926741, 0.2084611, 0.15119243, 0.028835213, -0.039361596, 0.0034648806, 0.029079277, -0.00217732, 0.06629454, -0.07294264, 0.023904502) * go_2(1.0, -1.0); + result += mat4(-0.013733941, -0.19174497, 0.106097385, 0.13108249, -0.02342723, -0.314217, 0.070849575, 0.0720347, -0.12744898, -0.065455206, -0.15339097, 0.022219827, -0.016159452, 0.010578856, 0.08105944, -0.05987952) * go_2(1.0, 0.0); + result += mat4(0.23217027, 0.05277337, 0.071452655, -0.10689918, -0.031163886, 0.1281398, -0.046946436, -0.027713988, -0.03565471, 0.08120484, -0.04330698, 0.07295522, 0.1321532, -0.03170989, 0.016022692, 0.121839166) * go_2(1.0, 1.0); + result += mat4(0.00410671, -0.04678445, 0.18113981, 0.05987472, 0.21671912, -0.34416708, 0.2037898, 0.15413988, -0.115338616, -0.06392024, 0.13700303, -0.033065956, -0.018238343, 0.1134282, 0.1275314, -0.019762916) * go_3(-1.0, -1.0); + result += mat4(-0.11894926, -0.029414194, 0.18244646, 0.217531, 0.07504621, 0.024808811, 0.23533674, -0.022842843, 0.05035676, -0.011317847, 0.7755237, 0.14858165, -8.2921815e-08, -0.04540463, 0.11160265, -0.0009788543) * go_3(-1.0, 0.0); + result += mat4(-0.14826688, -0.097891875, -0.13205692, -0.059139438, -0.13794315, -0.2652887, -0.11130958, -0.05137257, -0.1176455, -0.1548706, -0.10306716, 0.21789181, -0.009209018, 0.011220653, 0.01963476, 0.012935865) * go_3(-1.0, 1.0); + result += mat4(0.11714751, 0.15236345, 0.13536146, 0.044848517, 0.34835097, 0.13658829, 0.36627477, -0.27132225, -0.3091611, 0.20383716, 0.30317453, 0.08233188, -0.07287086, -0.048854213, 0.14926453, 0.033089206) * go_3(0.0, -1.0); + result += mat4(0.06970943, -0.11879602, -0.04682354, 0.06618747, 0.22552045, -0.13497396, 0.08345175, -0.255251, 0.15757652, 0.069464825, 0.37833855, -0.2546535, -0.16741769, -0.0860299, -0.0130390655, 0.09818734) * go_3(0.0, 0.0); + result += mat4(-0.07983536, 0.06403843, -0.07103762, -0.08339309, -0.055773012, 0.009426009, -0.12089462, -0.16594686, -0.11570191, -0.15629323, 0.054537755, 0.1888691, -0.13647257, -0.020126633, -0.17405704, -0.26438174) * go_3(0.0, 1.0); + result += mat4(-0.11210597, -0.020617625, -0.13101855, -0.17561626, -0.043740314, 0.23093803, -0.016813299, 0.09149021, 0.18216842, -0.043552347, 0.023779068, -0.10780718, -0.016673947, 0.14319964, -0.028260237, -0.124928825) * go_3(1.0, -1.0); + result += mat4(-0.03160608, -0.2333736, -0.13623776, -0.026613101, -0.26093182, 0.0132271405, 0.13844319, -0.02270748, 0.10522583, 0.18912983, 0.073725015, -0.27355325, -0.0055876593, 0.16790742, -0.07568777, 0.06618935) * go_3(1.0, 0.0); + result += mat4(0.022589413, 0.07764155, 0.07209622, -0.056753542, 0.0568345, -0.16099633, -0.1312878, 0.02636607, -0.21696982, -0.059245802, -0.08554336, 0.14966543, -0.059751473, -0.12615988, -0.04726769, 0.05051841) * go_3(1.0, 1.0); + result += mat4(0.08186889, 0.08205334, 0.023400525, -0.014372715, -0.32853618, 0.20950803, -0.13900198, 0.033662543, 0.22546336, 0.51378864, 0.25709614, 0.0690995, 0.024139842, 0.06293423, -0.016842663, -0.0019389848) * go_4(-1.0, -1.0); + result += mat4(0.08322223, 0.20575687, -0.12917835, -0.051425036, -0.10029536, 0.020689568, -0.62112635, -0.15488598, -0.12642258, 0.27025947, -0.10352515, -0.094899215, -0.07861278, -0.008126564, -0.36391425, 0.012501281) * go_4(-1.0, 0.0); + result += mat4(0.09727261, 0.2485468, 0.032302193, -0.056679122, -0.30999616, -0.15299593, -0.023860209, -0.016379328, 0.20444955, 0.24193929, -0.047571138, -0.13646403, 0.07320446, 0.11940953, 0.081255615, -0.024622988) * go_4(-1.0, 1.0); + result += mat4(-0.012735532, -0.0026588705, 0.049573418, -0.03732182, -0.550759, -0.19040847, -0.092085555, 0.050688766, 0.05871898, 0.65302145, 0.0486849, -0.015391376, -0.088805616, -0.1919315, -0.18541074, 0.064208336) * go_4(0.0, -1.0); + result += mat4(-0.25550497, 0.076505475, -0.0033188355, 0.05434708, -0.6988797, -0.44051754, -0.7110294, -0.6219069, -0.18371364, 0.03994295, 0.22495036, 0.2654511, 0.039869636, -0.0014285883, -0.3385523, 0.03384559) * go_4(0.0, 0.0); + result += mat4(0.12577426, 0.18141976, 0.017276304, -0.030196752, -0.3411355, -0.051372755, -0.4402098, -0.2307844, 0.2475909, 0.042480852, -0.13148455, 0.08761176, 0.09051365, 0.04634071, -0.1398518, -0.09816492) * go_4(0.0, 1.0); + result += mat4(0.082957186, 0.20064567, -0.0039741206, -0.101500906, -0.11700493, 0.029862897, -0.12905416, 0.2396674, -0.0837802, 0.53440446, -0.044294536, -0.03571166, 0.043897923, -0.052617326, -0.15071645, 0.032061413) * go_4(1.0, -1.0); + result += mat4(-0.11662253, 0.11108744, 0.15453078, 0.07819891, -0.25460127, -0.8427337, -0.07924075, 0.060776, -0.07543319, 0.1565062, -0.12689075, -0.053272385, -0.19933213, -0.020827955, 0.013956402, 0.21194445) * go_4(1.0, 0.0); + result += mat4(-0.0043281335, -0.024467073, 0.051124696, 0.08090264, -0.30834627, -0.67489, 0.2619303, 0.23885296, 0.20223773, 0.23991251, 0.01228539, -0.077657975, 0.025452869, -0.03739561, 0.042129666, 0.11460913) * go_4(1.0, 1.0); + result += mat4(0.06228207, -0.14803374, 0.010911389, 0.09355621, 0.023043629, 0.031996407, -0.055188306, -0.014802153, -0.019913547, 0.049278714, -0.08680487, -0.109947994, 0.0075249076, 0.05728937, -0.23096122, -0.14276639) * go_5(-1.0, -1.0); + result += mat4(-0.13976647, -0.06370508, -0.103730015, 0.036839988, -0.034798823, 0.10165849, -0.22992481, -0.22844586, -0.09660402, -0.00035895672, 0.043261856, -0.048690017, 0.07580462, -0.076795, 0.104297355, 0.064719155) * go_5(-1.0, 0.0); + result += mat4(0.20086232, 0.21900544, 0.100586765, -0.1263965, 0.08518987, 0.07015036, 0.1540687, -0.027686164, -0.2645977, -0.21961495, -0.049981266, 0.04538352, 0.07476041, 0.015029907, -0.0283461, -0.06752002) * go_5(-1.0, 1.0); + result += mat4(0.025824754, 0.009975207, -0.09909158, -0.007285313, 0.018532153, -0.17034489, -0.22879048, 0.11958223, -0.02237275, -0.039665785, 0.10340932, -0.035260696, -0.044261284, -0.08655165, -0.106472224, 0.050346926) * go_5(0.0, -1.0); + result += mat4(-0.088629484, -0.03668536, -0.09841912, -0.026597997, -0.053007387, 0.10285643, -0.21886663, -0.16486467, -0.06485831, -0.16549312, 0.09329481, 0.019519072, 0.125703, 0.04451335, -0.057531886, 0.016026434) * go_5(0.0, 0.0); + result += mat4(0.1822173, -0.050538287, 0.13174933, 0.12418439, 0.089775965, 0.20749187, -0.027725866, -0.19011584, -0.08552012, 0.0063636974, -0.09168926, -0.30534875, 0.06661879, -0.06904948, -0.030606193, 0.11095211) * go_5(0.0, 1.0); + result += mat4(0.105299786, -0.35318968, -0.09098853, -0.0369341, 0.0002527501, -0.0522018, -0.09358501, -0.045713484, 0.0027285013, 0.048836533, 0.13147967, -0.048738208, 0.059378657, -0.10914055, 0.11926634, 0.075568035) * go_5(1.0, -1.0); + result += mat4(0.2516043, -0.24786504, -0.10248864, -0.0040028943, 0.02035929, 0.21344659, -0.18807223, -0.15342413, 0.10871073, 0.084864154, 0.1361142, 0.0115587525, 0.11032122, -0.12804365, -0.11517307, 0.029220797) * go_5(1.0, 0.0); + result += mat4(0.0013311467, 0.031627458, -0.07854846, -0.057380144, -0.058437843, -0.034605294, 0.088147335, 0.03749221, 0.018598026, 0.017132863, 0.0018768669, -0.04457343, 0.03682849, -0.055201598, -0.0021610786, -0.08538003) * go_5(1.0, 1.0); + result += vec4(0.12639354, -0.013081255, 0.0065587023, 0.046620134); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_1_tf2 +//!SAVE conv2d_2_tf1 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.011583964, -0.039870065, -0.15999149, 0.08675985, 0.08109101, -0.1879774, 0.19331096, -0.4534524, -0.12586977, 0.011471076, 0.19720814, -0.1143906, 0.07553728, -0.056127805, 0.1635918, -0.17931661) * go_0(-1.0, -1.0); + result += mat4(0.067819625, -0.21503527, 0.09939146, -0.07270988, -0.059113953, -0.049392458, 0.28810808, -0.14547947, -0.12949272, -0.0024433902, 0.38158932, -0.07837205, -0.036141198, 0.15529773, -0.11398279, -0.13650618) * go_0(-1.0, 0.0); + result += mat4(-0.033942446, -0.031523492, 0.088098265, -0.20998281, -8.739418e-06, 0.176242, -0.0481297, 0.052109815, 0.081447944, -0.14213382, 0.277246, -0.11737086, -0.13384427, -0.0008667019, 0.14954486, 0.12667161) * go_0(-1.0, 1.0); + result += mat4(-0.19201736, 0.12778927, -0.038250033, -0.5468646, -0.0061836247, 0.18480751, 0.044333503, 0.26007488, -0.20757933, 0.19695, -0.29442382, -0.22411272, 0.004405764, -0.034501124, 0.057751704, -0.03413746) * go_0(0.0, -1.0); + result += mat4(0.24880652, 0.1541801, -0.012062207, -0.6005811, -0.14904043, 0.05525859, -0.10741317, 0.1890063, -0.035635296, 0.3005301, -0.2797406, 0.8594579, 0.07482009, -0.10378448, 0.08236929, -0.26407042) * go_0(0.0, 0.0); + result += mat4(0.0073660286, -0.26556304, -0.1433165, 0.25972745, 0.23314878, 0.027763477, -0.11621574, -0.21574795, 0.24350981, -0.006988954, -0.02177087, -0.13037811, -0.1166682, 0.17278492, 0.08241569, 0.51040107) * go_0(0.0, 1.0); + result += mat4(0.13853693, -0.06968601, 0.12298946, 0.017782336, 0.012372836, 0.027876694, -0.27880472, -0.18076333, -0.0397836, 0.2420896, 0.038473837, -0.1555481, 0.04083059, -0.073141545, 0.14184499, 0.30984175) * go_0(1.0, -1.0); + result += mat4(-0.3133015, -0.09274826, 0.13639203, 0.10206795, -0.08598331, 0.03450585, 0.19280651, -0.08538865, -0.008546558, -0.07174769, -0.20052853, -0.24860515, -0.1470964, -0.22390126, 0.07744998, -0.002739885) * go_0(1.0, 0.0); + result += mat4(-0.006748567, 0.07274748, 0.092211284, 0.14483126, -0.11027929, 0.1201977, -0.04872484, -0.16433857, 0.044397447, -0.21384367, 0.03269424, 0.10942982, 0.04403927, 0.010967787, -0.040405788, -0.03232669) * go_0(1.0, 1.0); + result += mat4(-0.008280273, 0.024787866, 0.037189875, 0.03429621, -0.14698292, 0.094748855, 0.11563344, -0.073624834, -0.029853089, 0.07087531, -0.05736988, 0.11237037, -0.04985742, 0.056539766, -0.020783758, 0.12329614) * go_1(-1.0, -1.0); + result += mat4(-0.03344095, -0.0073405057, 0.05190122, 0.12998703, -0.048184916, -0.13144512, 0.031402104, 0.43577522, 0.112474926, -0.08905257, 0.10081381, -0.014079196, 0.09510892, -0.03853581, -0.20324658, 0.1589196) * go_1(-1.0, 0.0); + result += mat4(0.034226835, -0.038741812, -0.020816153, -0.13061026, -0.020475632, -0.16419771, -0.0076826485, -0.04103266, -0.0056703947, 0.06705962, 0.026199229, -0.019306373, -0.0067688744, -0.07038936, -0.104216576, 0.12684165) * go_1(-1.0, 1.0); + result += mat4(-0.008213376, -0.10455055, 0.04212865, 0.05025464, -0.07784179, 0.018042147, -0.023232944, 0.25375158, -0.009442334, -0.07854094, -0.040824052, 0.09969908, -0.07734574, 0.010816756, -0.098997355, 0.22808696) * go_1(0.0, -1.0); + result += mat4(-0.09186444, -0.070967846, -0.18332118, -0.13047308, 0.07874793, 0.49928188, -0.19095366, -0.5786626, -0.076766655, 0.00328989, -0.027825667, -0.46311954, 0.18953162, 0.0067680115, -0.39336485, 0.21162145) * go_1(0.0, 0.0); + result += mat4(0.067058854, 0.097902276, 0.11048054, 0.08798107, 0.24173008, -0.09251265, 0.040146023, 0.051595293, -0.024550369, -0.054440435, 0.002777188, 0.10740609, 0.12708955, -0.1126051, 0.08698823, -0.22985286) * go_1(0.0, 1.0); + result += mat4(0.009401559, -0.00019733842, -0.0391449, 0.07650643, 0.117760375, -0.16319785, -0.042495195, -0.23318908, 0.024536118, 0.12618859, -0.011912352, 0.09087688, -0.2767169, -0.044689544, 0.18786801, -0.020456426) * go_1(1.0, -1.0); + result += mat4(-0.034666687, -0.037431296, -0.12936176, -0.20454895, -0.30241257, -0.019945377, 0.01616507, 0.13762684, 0.055600353, -0.01146059, -0.013451368, 0.16529311, 0.42141652, 0.17878959, -0.322346, -0.2869838) * go_1(1.0, 0.0); + result += mat4(0.00015858973, -0.026061518, 0.056444857, 0.0891557, 0.08452023, -0.118858494, 0.052117698, 0.10851732, -0.0738216, -0.021903642, 0.041175738, -0.0327392, 0.5465747, -0.22983976, -0.2643581, -0.41978332) * go_1(1.0, 1.0); + result += mat4(-0.071339466, 0.20363729, -0.12277878, -0.18987495, -0.076909326, 0.040142104, 0.19751047, 0.09099594, 0.05504884, 0.010637861, -0.07010218, 0.016844785, -0.0025642936, -0.07132042, -0.0058730873, 0.114345245) * go_2(-1.0, -1.0); + result += mat4(-0.12181514, 0.09113612, -0.011027632, 0.1210622, -0.11706013, 0.03866967, -0.3818603, 0.071857385, 0.10714353, 0.05537742, -0.44725725, 0.03664743, 0.13571225, -0.13654736, -0.05921695, -0.023738123) * go_2(-1.0, 0.0); + result += mat4(-0.023582853, 0.09176081, -0.021919282, -0.010129313, 0.031890567, -0.07508517, -0.08540747, 0.05653626, 0.05514676, -0.0798297, 0.18732204, -0.030211389, -0.10890019, -0.0084348805, -0.027744634, 0.08252744) * go_2(-1.0, 1.0); + result += mat4(0.46878332, 0.26391587, 0.1209319, 0.20555447, -0.14922385, 0.051061515, -0.098676264, -0.79184246, -0.013350073, -0.08962262, 0.13399342, 0.06365851, -0.14557728, -0.06463198, -0.08577713, 0.013490423) * go_2(0.0, -1.0); + result += mat4(0.09800499, 0.20487864, 0.04297167, -0.17064336, -0.18083592, 0.07161958, -0.25937584, 0.2956417, -0.06518691, -0.041915365, 0.2427435, -0.27577895, 0.042372942, 0.012740312, 0.1629995, -0.068871476) * go_2(0.0, 0.0); + result += mat4(-0.09425951, -0.0002062786, 0.23311934, -0.006410014, -0.12866448, 0.007478842, -0.033752777, 0.25421995, -0.083972536, 0.23449679, -0.010915457, 0.028103303, -0.034862384, -0.1672906, -0.018962707, -0.18321303) * go_2(0.0, 1.0); + result += mat4(0.07923952, -0.008543305, 0.034679245, -0.11071784, -0.18627429, 0.003675945, 0.0069275787, -0.044213627, -0.006995472, 0.048261233, -0.06831886, 0.08082691, 0.09143829, 0.016518226, -0.05343353, -0.059744157) * go_2(1.0, -1.0); + result += mat4(-0.068577155, 0.07070798, 0.012206329, 0.060340866, -0.15496197, -0.048976723, 0.1804755, 0.023005864, 0.10723597, -0.11200869, -0.09880576, 0.04989044, 0.022357088, -0.037169944, 0.07880648, 0.072531044) * go_2(1.0, 0.0); + result += mat4(0.18387286, 0.03215834, -0.14121926, -0.10857612, -0.052505493, 0.04517108, -0.011841349, 0.004303513, 0.106845826, 0.15006103, 0.08652394, 0.08490524, -0.061379727, 0.08679647, -0.040883318, 0.08898481) * go_2(1.0, 1.0); + result += mat4(-0.23395903, 0.14408536, 0.06144857, -0.6685949, 0.031935096, 0.12004766, 0.26079124, -0.029172074, -0.03897466, 0.15112093, -0.07277923, 0.03711819, 0.16760348, 0.0568828, -0.065560065, 0.00956802) * go_3(-1.0, -1.0); + result += mat4(-0.04025016, 0.1942882, 0.3924612, -0.04801865, -0.00043523984, 0.14166853, 0.07607167, 0.08827246, -0.013007562, 0.2740378, 0.17477411, -0.12968275, -0.049680926, -0.050259456, 0.45260057, -0.577762) * go_3(-1.0, 0.0); + result += mat4(0.14644562, 0.031796087, -0.09817545, 0.20418191, -0.0067933775, 0.056546275, -0.21122308, 0.0013088459, -0.01669626, -0.06921733, -0.036989935, -0.011311058, -0.13346042, 0.058525432, -0.20613761, 0.20606859) * go_3(-1.0, 1.0); + result += mat4(0.030689783, -0.044584632, -0.1423556, 0.46852973, 0.1544211, 0.09648401, -0.02908366, 0.20236433, -0.209728, 0.14151458, 0.043298278, -0.09896984, -0.010364637, 0.105616786, 0.015112407, 0.1621763) * go_3(0.0, -1.0); + result += mat4(0.26286677, -0.18297276, -0.008437637, 0.23164693, -0.17953826, 0.0068245744, 0.3154146, 0.013059944, 0.01976866, 0.23886378, -0.41287166, 0.5972539, -0.096666135, -0.041894518, 0.09390394, 0.21449414) * go_3(0.0, 0.0); + result += mat4(-0.10464677, 0.13162361, 0.15632801, -0.08477776, 0.019359391, 0.011527983, 0.1291731, -0.23251401, 0.12450163, -0.109221414, -0.15897743, -0.14652708, -0.20315395, -0.14564586, 0.020215273, -0.32138833) * go_3(0.0, 1.0); + result += mat4(0.0016461449, -0.019713728, 0.0021448475, 0.23474461, -0.023654517, 0.3125121, -0.14093982, 0.029511975, -0.06882552, -0.055134527, 0.08678149, 0.16168617, 0.056411985, -0.003294866, -0.086585745, -0.08039331) * go_3(1.0, -1.0); + result += mat4(0.025475128, -0.13736734, -0.23040788, -0.14943235, 0.105925016, 0.035434112, -0.3531705, -0.08996714, 0.16017611, 0.32583725, -0.0015653507, -0.20779954, 0.052627537, 0.15831038, -0.04017022, 0.17487001) * go_3(1.0, 0.0); + result += mat4(-0.02480846, -0.007830464, -0.0036758396, -0.23093869, 0.09558813, -0.114281885, 0.031678613, -0.009195237, 0.06701917, 0.22061102, -0.09497275, -0.049442247, 0.035844408, -0.0007537016, 0.022630664, -0.038742796) * go_3(1.0, 1.0); + result += mat4(0.041537244, -0.07261114, -0.04763458, 0.10301855, 0.17563294, -0.0015564843, -0.37491855, 0.98893, -0.033186004, 0.02857216, 0.08441547, -0.10630457, -0.0057512764, -0.072272584, 0.04433026, -0.03993334) * go_4(-1.0, -1.0); + result += mat4(0.045594532, -0.09183751, -0.07595133, -0.29140073, 0.14685835, -0.11706308, -0.1521791, -0.08122252, -0.16447383, -0.16774787, 0.031189548, -0.049414303, 0.11017621, -0.039800264, -0.026208388, 0.010578009) * go_4(-1.0, 0.0); + result += mat4(-0.008146379, 0.011186087, 0.06602373, 0.12634839, -0.15983777, 0.47099414, -0.45333612, 0.8108099, 0.060124353, -0.055181783, 0.060738478, -0.19588436, -0.058250163, 0.07546748, -0.12299866, 0.14861311) * go_4(-1.0, 1.0); + result += mat4(-0.061107293, 0.03472494, -0.02506493, -0.20965452, 0.06124681, -0.10108107, -0.016206535, 0.9110013, -0.1416294, 0.08154053, -0.031441186, 0.0186752, 0.0034352038, -0.07802204, 0.017881326, 0.08767849) * go_4(0.0, -1.0); + result += mat4(0.111084074, 0.15226965, 0.18580344, 0.2079405, -0.13621394, -1.091612, 0.61654764, -0.4794665, 0.06974509, -0.13632853, 0.075810306, 0.23651427, -0.13307844, -0.15254645, 0.3380616, -0.23381148) * go_4(0.0, 0.0); + result += mat4(-0.087361775, -0.18112153, -0.041845977, 0.06846624, -0.5374386, 0.0951175, -0.07031933, 0.6016942, 0.2098498, 0.14762096, -0.07894201, 0.018698592, 0.015885107, 0.08625943, -0.06305365, -0.09532374) * go_4(0.0, 1.0); + result += mat4(-0.00532194, 0.023428405, 0.009051187, -0.026698198, 0.24106956, -0.120294146, -0.17878368, 0.5585901, -0.09603226, -0.27434218, 0.061267257, -0.067599274, 0.11577519, -0.07198036, -0.063585244, -0.054138158) * go_4(1.0, -1.0); + result += mat4(-0.0037090166, 0.12307526, 0.0906306, 0.25897357, -0.056975186, -0.1644774, 0.29305506, 0.8245228, -0.1015189, 0.12243611, -0.04579446, 0.03619774, -0.13700119, -0.093857154, 0.11116371, 0.28709015) * go_4(1.0, 0.0); + result += mat4(-0.06580517, -0.0050515556, -0.020180127, -0.12627304, -0.5295511, 0.20198601, 0.07984717, 0.49923962, 0.053387187, -0.14329363, 0.0334398, 0.027427796, -0.06010418, 0.06905177, -0.05953624, -0.0062744734) * go_4(1.0, 1.0); + result += mat4(0.10157902, -0.04258438, -0.081592366, 0.10231988, -0.0011280937, -0.0029477119, 0.122473806, 0.058182172, -0.12809396, -0.0764063, -0.02463603, 0.090703174, 0.016098853, -0.05153951, -0.10675215, -0.02805221) * go_5(-1.0, -1.0); + result += mat4(-0.006401907, 0.03299347, 0.021813435, -0.13645992, 0.023382979, 0.010197056, 0.06242549, 0.12870488, 0.019453553, -0.2611006, 0.36471257, -0.15937614, -0.15930663, 0.05387499, 0.016597098, -0.08595697) * go_5(-1.0, 0.0); + result += mat4(-0.124307014, 0.12072375, -0.0152935125, 0.11888215, -0.002845999, 0.06499965, -0.06901064, -0.03703204, -0.029126361, -0.0076392456, -0.060736757, 0.129555, 0.11537912, 0.116019435, 0.010435708, -0.028468154) * go_5(-1.0, 1.0); + result += mat4(-0.30459714, -0.17632067, -0.011205797, -0.221887, 0.10605666, -0.13572265, -0.46315852, 0.04301515, -0.13903672, 0.06458765, 0.06137365, -0.07876008, 0.094751015, -0.14028335, 0.116963856, -0.08032087) * go_5(0.0, -1.0); + result += mat4(-0.06367799, 0.02582219, 0.014640189, 0.18990557, -0.06407629, -0.32271802, 0.1840523, -0.19602421, 0.3909874, -0.36456084, 0.18965109, 0.7528314, 0.012954545, -0.15343507, -0.22583503, 0.25706828) * go_5(0.0, 0.0); + result += mat4(0.1301731, 0.058515985, 0.033280328, -0.24190922, -0.040143438, 0.058877766, 0.0054545617, 0.087361515, 0.27292597, -0.40958795, 0.026887156, -0.31366885, -0.0043431865, 0.12750955, -0.07194776, 0.065983064) * go_5(0.0, 1.0); + result += mat4(0.035723373, -0.095498726, 0.0782959, 0.15071936, -0.023301449, -0.05924046, 0.06547244, -0.10660772, -0.030093014, 0.07851236, -0.011449212, 0.047922783, -0.015065303, 0.03087975, -0.00836779, 0.09950588) * go_5(1.0, -1.0); + result += mat4(0.14543498, -0.117947996, -0.03933479, 0.004552818, -0.13139006, -0.122988954, -0.22851296, -0.13614058, -0.065790504, 0.18083169, 0.009247789, 0.11099354, -0.09211226, -0.16174947, -0.030774815, -0.087108776) * go_5(1.0, 0.0); + result += mat4(-0.03276944, 0.066936366, -0.0058282167, 0.036148816, -0.112155296, 0.00018165805, 0.1121539, 0.19087985, 0.19124067, -0.17718928, -0.218951, -0.27710462, 0.055448502, -0.14703886, -0.02985939, -0.13152236) * go_5(1.0, 1.0); + result += vec4(0.023773972, -0.01610134, -0.0063477294, 0.03926911); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.070009954, 0.021454038, -0.11847886, -0.13528088, -0.018916288, -0.007984584, -0.24044524, 0.19681533, -0.2256282, 0.062132522, 0.09804443, 0.1609667, -0.1681184, -0.2739988, 0.9826367, -0.7047149) * go_0(-1.0, -1.0); + result += mat4(0.15299161, 0.031075276, 0.3363494, 0.21731544, 0.16975908, -0.13952748, 0.2240078, -0.05287144, -0.10947391, -0.28058887, 0.1602415, -0.05242933, -0.012824572, 0.44019148, 0.183011, 0.22124447) * go_0(-1.0, 0.0); + result += mat4(-0.1933171, 0.010807793, 0.09619794, -0.11506685, -0.021847002, -0.032412205, -0.0695289, -0.36532974, -0.3062084, 0.23712663, -0.103008516, -0.1459631, -0.3775901, -0.15065736, 0.50798917, -0.319278) * go_0(-1.0, 1.0); + result += mat4(-0.035294224, -0.18208614, -0.07670704, 0.19304472, -0.031985164, 0.1892136, 0.25703606, -0.13320692, 0.15069315, -0.15903461, 0.09562073, 0.62043756, -0.23541127, -0.40577292, 1.0787953, -1.2457207) * go_0(0.0, -1.0); + result += mat4(0.026066521, -0.123162605, -0.44671676, -0.2474968, -0.15022507, 0.14640577, -0.16684136, -0.17727603, -0.10631298, -0.00019539552, -0.14931045, 0.513359, -0.14604786, 0.2310633, 0.7307062, 0.9524847) * go_0(0.0, 0.0); + result += mat4(-0.01440516, -0.029865097, -0.21874285, -0.08972308, -0.041655123, -0.31896067, -0.08689541, -0.44401455, 0.19876169, 0.28722167, 0.2994054, -0.11819685, -0.21186438, 0.09155155, -0.053684887, 0.06309117) * go_0(0.0, 1.0); + result += mat4(0.38075218, -0.043483753, -0.06272146, -0.3508819, -0.028731659, 0.11677864, 0.30532238, -0.1361271, 0.027849868, 0.26058978, -0.22731794, -0.31844667, -0.14439595, -0.43144438, 0.22429988, -0.8116798) * go_0(1.0, -1.0); + result += mat4(0.2698316, 0.10916783, 0.22091974, 0.25939828, -0.39838716, -0.56674814, -0.0027586184, 0.3153625, 0.02299242, -0.09457763, -0.18344624, -0.26338023, 0.808161, 0.42487702, -0.08384813, 0.2537601) * go_0(1.0, 0.0); + result += mat4(0.0016191471, -0.017978113, 0.07647931, 0.09275741, 0.047083963, -0.16048019, -0.35436496, -0.11364046, 0.14129135, -0.22842133, 0.2055642, -0.2851008, -0.26163805, 0.25209108, -0.07687645, 0.17382248) * go_0(1.0, 1.0); + result += mat4(-0.17505698, 0.050314635, 0.22755234, 0.08223936, 0.5061073, -0.03928098, -0.04852723, -0.2080106, -0.23748071, -0.11158337, -0.1185882, 0.25914934, -0.12613636, -0.14749174, -0.01269258, -0.029624067) * go_1(-1.0, -1.0); + result += mat4(0.10377744, -0.05466698, 0.078872405, 0.13041748, 0.3035502, 0.008530016, -0.0073189647, 0.08329345, -0.6060871, -0.16662528, -0.30371985, -0.2702, 0.61287826, 0.1879884, -0.35137656, 0.059505742) * go_1(-1.0, 0.0); + result += mat4(0.4154466, 0.027697539, -0.20323761, 0.053415433, -0.068815745, -0.08202049, -0.0044402266, -0.15027983, -0.20020244, 0.07059659, -0.41572148, -0.1883762, 0.4808424, 0.17841879, 0.34741637, -0.16586983) * go_1(-1.0, 1.0); + result += mat4(-0.49572352, 0.18716958, -0.11335317, -0.04769748, -0.10330109, -0.19025627, 0.041789476, -0.029715253, 0.41650102, -0.21882975, 0.00034815544, -0.14541556, -0.36252424, 0.08366534, -0.3358562, 0.14622436) * go_1(0.0, -1.0); + result += mat4(-0.61609584, 0.27124375, -0.19046734, -0.11064285, 0.07314146, -0.06847904, -0.10895851, -0.25303125, -0.31509212, -0.061137207, 0.77079886, 0.09762246, -0.12127141, 0.5360138, -0.10778708, -0.26520404) * go_1(0.0, 0.0); + result += mat4(0.14356199, -0.33016726, -0.10193467, 0.11632038, -0.2102557, -0.09183232, -0.05608626, 0.1077268, 0.42815325, -0.12325146, 0.07102939, 0.33383858, 0.2685298, -0.30266166, -0.14468539, 0.25896597) * go_1(0.0, 1.0); + result += mat4(0.24143316, -0.25761056, 0.10797443, -0.09529745, -0.2713075, -0.13745351, 0.35335636, 0.18980181, 0.1497739, 0.2171633, 0.061957028, 0.06298818, -0.5021309, 0.23157999, 0.33820194, -0.31056333) * go_1(1.0, -1.0); + result += mat4(0.5320622, -0.19934873, 0.23535317, 0.31637898, -0.22363397, 0.08788032, -0.39178285, -0.008990902, -0.123608015, -0.19913444, -0.057655413, 0.14251189, -0.10986118, 0.2881711, 0.17117414, 0.192134) * go_1(1.0, 0.0); + result += mat4(-0.17839171, -0.073765226, -0.008635483, -0.060226154, 0.06017481, -0.13104144, 0.12686783, 0.032242585, 0.2530974, -0.16110623, -0.063553855, 0.037782427, -0.16940302, 0.12327486, -0.26592708, -0.6268989) * go_1(1.0, 1.0); + result += mat4(-0.02958415, 0.17974854, -0.05410245, 0.33944428, -0.09253551, 0.07514051, 0.13740923, -0.28058362, -0.02765559, -0.11831436, -0.043005154, -0.11904006, 0.16704343, 0.04189509, -0.10330082, 0.1880131) * go_2(-1.0, -1.0); + result += mat4(-0.37475482, -0.01700356, -0.24596426, -0.4922382, -0.19088304, -0.016197044, -0.12311331, -0.036154404, 0.2840147, 0.118689395, -0.12786976, -0.2880571, -0.11529499, -0.1782456, -0.033142284, 0.13284667) * go_2(-1.0, 0.0); + result += mat4(0.19109744, -0.022636034, -0.20981206, -0.13425744, 0.06719846, -0.007916905, 0.03267867, 0.2379371, 0.14225921, -0.34617522, -0.05871524, 0.16368906, -0.11616345, 0.11237658, -0.045261133, -0.11723488) * go_2(-1.0, 1.0); + result += mat4(-0.08670845, 0.26602617, 0.44096178, -0.51279294, -0.056755852, -0.12593001, -0.33269683, 0.20696445, 0.1559452, 0.07681006, -0.09779268, -0.688887, 0.21316779, 0.17372929, -0.08544234, 0.07616171) * go_2(0.0, -1.0); + result += mat4(0.17020908, -0.12088683, 0.1419015, 0.12911774, -0.15688238, -0.28298134, -0.11700167, 0.19899802, -0.07609943, -0.029896088, -0.0050638276, -0.38834035, -0.08416907, 0.031337228, -0.28374615, -0.14694452) * go_2(0.0, 0.0); + result += mat4(0.06929038, -0.047811467, 0.117096715, 0.12538622, 0.08086667, 0.24495961, 0.3155886, 0.104587935, -0.01886312, -0.34588912, -0.27327782, -0.04555734, 0.23255315, -0.108082674, -0.13707769, -0.05873641) * go_2(0.0, 1.0); + result += mat4(0.00902887, 0.14967729, 0.32326877, 0.37786308, 0.086763926, 0.07875129, 0.018687664, -0.23617996, 0.10713405, -0.32334656, 0.03548578, 0.48193508, 0.16891663, 0.06672513, 0.015739288, 0.11815199) * go_2(1.0, -1.0); + result += mat4(-0.056735244, -0.12874928, -0.1966798, -0.006730039, -0.19457163, 0.5460189, -0.33285704, -0.16783655, -0.110312894, 0.26006797, 0.39838836, 0.04828549, -0.35588023, -0.046225607, 0.1470969, -0.03958509) * go_2(1.0, 0.0); + result += mat4(-0.040117856, -0.12115325, -0.09573767, -0.20720899, -0.31765452, 0.17502289, 0.32475054, -0.037348557, -0.6297341, 0.31640062, 0.13060059, 0.38800913, 0.022872448, -0.24634287, 0.078089714, -0.06475687) * go_2(1.0, 1.0); + result += mat4(0.091850154, 0.07503415, -0.029450072, 0.063198596, -0.48778293, 0.008516766, -0.011320089, 0.16324575, 0.25261796, -0.17494957, 0.05179325, -0.38840756, -0.0009285451, 0.23772798, -0.041317377, -0.2321146) * go_3(-1.0, -1.0); + result += mat4(-0.14229155, -0.0363765, -0.2688432, -0.050601564, -0.34335235, 0.06305365, 0.13397686, 0.080726914, 0.7566556, -0.13657099, 0.5557799, 0.32687777, -0.48564702, -0.2650894, -0.12913369, -0.120667666) * go_3(-1.0, 0.0); + result += mat4(-0.46836203, -0.0053843935, 0.121539764, 0.1515464, -0.08852458, 0.0457093, 0.17343567, 0.28838184, 0.1487209, -0.16409159, 0.36763063, 0.32707927, -0.6642105, -0.07492801, -0.10795077, 0.022325262) * go_3(-1.0, 1.0); + result += mat4(0.57899827, -0.13887906, -0.0097093545, 0.16584128, 0.02580304, 0.029060904, -0.07870976, 0.08426836, -0.49014091, -0.059810862, 0.07537706, 0.19709098, 0.50265956, -0.1979507, 0.04224913, 0.24166693) * go_3(0.0, -1.0); + result += mat4(0.5854048, -0.30505064, 0.11956023, 0.42225972, 0.23776995, -0.15392427, -0.24818493, -0.008560312, 0.14061272, -0.24819212, -0.43060255, 0.041263513, 0.1102007, -0.35617712, 0.11143811, -0.12615411) * go_3(0.0, 0.0); + result += mat4(0.038254753, 0.25506422, -0.04199388, 0.049952004, 0.09660053, -0.102070555, 0.03463346, 0.41572338, -0.8515757, -0.099683315, 0.41168302, -0.28354573, -0.033608474, 0.20575888, -0.09237519, 0.1317394) * go_3(0.0, 1.0); + result += mat4(-0.36307448, 0.21091977, -0.05185984, 0.23907793, 0.028207673, -0.03712817, -0.14677319, 0.012790144, -0.10698613, -0.10369875, 0.04410704, 0.24705076, 0.6489292, -0.32338777, -0.13414769, 0.06621839) * go_3(1.0, -1.0); + result += mat4(-0.75373167, 0.09019827, -0.17284726, -0.12543003, 0.27073398, -0.2086718, 0.27785063, -0.13103813, 0.02331414, 0.08186754, -0.20196521, 0.051684897, -0.06606664, -0.31958562, -0.21315438, 0.125855) * go_3(1.0, 0.0); + result += mat4(-0.038064726, 0.16583198, 0.32122764, 0.035743285, 0.12363822, 0.1127362, -0.14712748, -0.085392915, -0.24138255, 0.044777665, -0.05044951, -0.033647526, 0.030597545, 0.09082426, 0.2265798, 0.4736122) * go_3(1.0, 1.0); + result += mat4(0.1126977, -0.20046005, -0.25496894, 0.124036126, 0.10974965, 0.11985285, 0.084138885, 0.18124366, -0.07204373, 0.0064274063, -0.04832383, 0.08851591, 0.16612647, 0.03482884, -0.18090217, 0.047765564) * go_4(-1.0, -1.0); + result += mat4(-0.07905303, -0.18953685, -0.0394631, 0.3865751, -0.09878195, 0.0971415, -0.028516496, -0.028853778, 0.14474897, -0.09137614, 0.09731305, 0.40169916, 0.15572307, 0.1500765, -0.00012203158, 0.0064038946) * go_4(-1.0, 0.0); + result += mat4(-0.003821752, -0.06385342, 0.0072888564, -0.083775744, -0.060851365, 0.057136264, 0.04280462, -0.021202056, -0.048534214, -0.18506972, -0.12204474, 0.5779176, -0.04827323, -0.08722066, -0.07115785, 0.05368898) * go_4(-1.0, 1.0); + result += mat4(-0.2330202, -0.06303653, 0.29030174, 0.030189004, -0.33963275, 0.18114606, 0.29463735, 0.11328755, 0.07963053, 0.0031095785, -0.29962993, 0.28251857, -0.11494044, -0.0057895523, 0.14319211, -0.2488439) * go_4(0.0, -1.0); + result += mat4(-0.23654912, 0.22379474, 0.3198649, 0.056066927, 0.030691607, -0.07961141, -0.03144492, -0.088082604, 0.6778628, 0.132889, -0.055798188, -0.06978169, 0.12096563, -0.32717404, 0.09106718, -0.36815766) * go_4(0.0, 0.0); + result += mat4(-0.023105778, -0.06328445, -0.19508956, 0.03861484, 0.012225362, 0.19229671, 0.116407454, 0.14414418, 0.35368624, -0.024074793, 0.3326615, 0.27431, 0.09195309, -0.07196982, 0.04215389, -0.3849532) * go_4(0.0, 1.0); + result += mat4(0.07858679, -0.09443359, -0.29571265, -0.1362178, 0.0996039, 0.11245977, 0.027077818, -0.08518728, 0.33179262, 0.049214616, -0.05736423, 0.36015186, 0.15525928, -0.038635023, -0.39069554, 0.34784096) * go_4(1.0, -1.0); + result += mat4(0.058750402, -0.10020396, -0.07721487, -0.17439356, 0.16671538, 0.13477819, 0.16946232, -0.025819335, 0.34714434, -0.010198532, 0.11025432, -0.38616708, 0.12990142, 0.23817861, -0.019366616, 0.028044654) * go_4(1.0, 0.0); + result += mat4(0.14006312, 0.10630536, -0.2260768, 0.05714687, 0.092723176, 0.09547309, -0.0389109, 0.07675646, 0.058345646, -0.042954672, 0.06104659, -0.4122757, 0.16417535, 0.0037746713, -0.18294196, 0.30190903) * go_4(1.0, 1.0); + result += mat4(0.057622287, -0.035229363, -0.06553031, 0.10031876, -0.19319145, -0.048806723, -0.007425805, 0.019005304, 0.003586262, 0.016717708, 0.060107335, -0.06216915, 0.049704567, -0.05240107, 0.25620982, -0.31595117) * go_5(-1.0, -1.0); + result += mat4(-0.18573885, -0.111477345, -0.09373111, -0.21040887, 0.11643646, 0.07510521, -0.32174352, -0.15092906, 0.12905258, -0.027009318, -0.002743646, -0.041563954, 0.020309664, -0.034647387, 0.31882894, -0.37069848) * go_5(-1.0, 0.0); + result += mat4(0.17867199, -0.00943737, -0.010177444, -0.21181585, 0.104042746, 0.014474994, 0.018701844, 0.026212798, 0.03658747, 0.043956183, 0.043650407, 0.085389875, -0.014945577, -0.01762919, 0.182654, -0.22317432) * go_5(-1.0, 1.0); + result += mat4(-0.120912515, -0.039224375, -0.037017174, -0.23653193, -0.1008845, 0.028399386, -0.044548668, -0.45636034, -0.16566889, 0.013642447, 0.0137368515, -0.03482613, 0.13369492, -0.06382037, 0.22479321, -0.23690398) * go_5(0.0, -1.0); + result += mat4(-0.4373671, -0.23222357, -0.21916443, 0.3293385, 0.028744029, 0.15837203, 0.023399707, 0.10409895, -0.41181034, 0.043568164, -0.009273385, 0.21109276, 0.16801079, 0.030154167, -0.009720421, -0.18788648) * go_5(0.0, 0.0); + result += mat4(-0.072376475, -0.02011798, -0.10647262, 0.020971974, -0.2182798, 0.11682645, -0.087513156, -0.13088813, -0.008121755, 0.0039800145, 0.038333565, -0.11610967, 0.027469315, -0.056020927, 0.15623987, -0.056618977) * go_5(0.0, 1.0); + result += mat4(-0.13373947, -0.033171114, 0.06283731, -0.08029521, -0.24974878, -0.03945939, 0.034578755, -0.1890085, -0.027030889, 0.0749198, -0.016240204, 0.03943091, 0.030432291, -0.044505976, 0.19445403, -0.49589068) * go_5(1.0, -1.0); + result += mat4(-0.1509842, -0.0070381155, 0.012917948, 0.17059498, 0.029610088, -0.10878063, -0.008113074, 0.056289833, -0.054603256, 0.09829515, 0.03806881, 0.17829162, -0.0015822726, -0.08691946, 0.20231368, -0.19972196) * go_5(1.0, 0.0); + result += mat4(0.029532772, 0.07929085, -0.11437378, 0.19494608, 0.032031387, -0.028734982, -0.1297608, 0.137159, -0.022271536, 0.09515793, -0.078155525, 0.23037949, -0.04492241, 0.0027398348, 0.13030772, -0.3092417) * go_5(1.0, 1.0); + result += mat4(-0.20163082, 0.10821193, -0.008131394, 0.23895654, -0.088109724, 0.027591089, -0.06744196, -0.16356489, 0.14405222, -0.03198801, -0.035864875, -0.1109604, -0.20993288, 0.006086241, 0.17663592, -0.15123697) * go_6(-1.0, -1.0); + result += mat4(0.15604545, 0.0863649, -0.17487015, -0.046291944, -0.06473543, -0.046659626, -0.06383705, 0.20159698, 0.14458497, 0.043557648, -0.16473973, 0.27218005, 0.11444152, -0.17841269, 0.0213813, -0.09379467) * go_6(-1.0, 0.0); + result += mat4(-0.09508709, 0.062292904, -0.025705643, -0.046973627, 0.035843458, -0.020717923, 0.0016703135, -0.120141126, -0.07056921, 0.0071509765, 0.0033964573, 0.15667385, 0.001521539, 0.02383701, 0.11906247, 0.015913757) * go_6(-1.0, 1.0); + result += mat4(-0.023991859, 0.057200454, -0.27439624, 0.23484877, 0.27387905, -0.027218517, -0.043888092, -0.103732556, -0.0017815046, -0.04338658, 0.028682018, -0.029997526, 0.09857438, -0.099476606, -0.2005576, 0.21962215) * go_6(0.0, -1.0); + result += mat4(0.17833887, 0.036116857, -0.17426641, -0.3021426, -0.08815194, 0.09120692, -0.09277666, 0.31938124, -0.12322653, 0.07583539, 0.40784645, -0.2529727, 0.060947243, 0.29199588, -0.09663916, -0.0887749) * go_6(0.0, 0.0); + result += mat4(0.12118307, 0.072123915, 0.032619722, -0.14627928, -0.17117277, -0.20412678, 0.10590516, -0.120998636, -0.09727269, 0.10894508, 0.08592984, -0.091238625, 0.19324283, -0.21001537, -0.28439295, 0.55045736) * go_6(0.0, 1.0); + result += mat4(0.012281795, 0.081385076, 0.11878277, 0.0492705, 0.044748496, 0.023902494, 0.048969056, -0.020066973, 0.008425134, -0.039190397, -0.23549677, 0.16787378, -0.08247198, -0.09669504, 0.2364321, -0.15428442) * go_6(1.0, -1.0); + result += mat4(-0.06404987, 0.0792038, 0.0879481, 0.2292919, -0.037722748, -0.06653894, 0.014114178, 0.06494269, -0.08017585, -0.03293329, 0.08816353, -0.1719619, -0.033170886, -0.13535172, -0.15126792, -0.028171781) * go_6(1.0, 0.0); + result += mat4(-0.0939603, -0.04363446, 0.21171579, 0.08820829, -0.15083222, 0.03214101, 0.09666204, 0.07437523, 0.21149153, 0.08965673, -0.2026921, 0.45489082, -0.12321808, 0.020059932, 0.22567947, -0.1652867) * go_6(1.0, 1.0); + result += mat4(0.058340825, -0.009565485, -0.04712614, -0.011693445, 0.109775394, 0.1345538, -0.14835285, -0.03637253, -0.045945812, 0.057066254, 0.0012826056, 0.17587218, -0.05606375, 0.039724518, 0.14448565, -0.06710324) * go_7(-1.0, -1.0); + result += mat4(-0.03129011, -0.09362061, -0.1680952, 0.42509457, -0.05798844, 0.07895778, -0.00010777998, -0.004981966, 0.015770718, 0.039250076, -0.016780263, -0.018409397, 0.013635053, 0.046897493, 0.10643381, -0.19698535) * go_7(-1.0, 0.0); + result += mat4(-0.17554706, -0.058096908, -0.11011958, 0.028699566, -0.09768116, 0.09436239, 0.096591026, -0.0271704, 0.083061986, 0.035011213, 0.018580453, -0.13121471, -0.008538906, 0.007896264, 0.16126987, -0.23193283) * go_7(-1.0, 1.0); + result += mat4(-0.15810363, -0.13618536, 0.14263584, -0.20569824, -0.026839454, 0.11919806, -0.014142015, 0.099571005, -0.22521633, 0.08088796, 0.004038379, 0.1033703, 0.044606976, 0.0591929, 0.13262387, -0.101969674) * go_7(0.0, -1.0); + result += mat4(0.023098622, 0.0056320266, -0.048355665, 0.15577006, -0.62205386, -0.028400926, -0.2078418, -0.21066222, -0.15307198, -0.22209099, -0.23168832, 0.20184901, -0.015974384, -0.047552537, -0.002478177, 0.042329706) * go_7(0.0, 0.0); + result += mat4(-0.13832586, 0.121770665, 0.09548324, -0.011305353, 0.08170726, 0.038764317, 0.13168605, -0.4840011, -0.016078193, 0.042103536, -0.07127359, 0.07069598, -0.077047385, 0.062384266, 0.04216962, -0.28733572) * go_7(0.0, 1.0); + result += mat4(0.0047042207, -0.005170153, -0.060513787, 0.24502122, 0.15005493, 0.19491407, -0.20482984, 0.028262774, -0.27250344, -0.018161086, -0.063804634, 0.2234186, -0.0013560655, 0.0017168024, 0.031621188, -0.039464153) * go_7(1.0, -1.0); + result += mat4(-0.017963814, 0.020721428, -0.11342004, 0.13301808, 0.0057044607, 0.16854525, 0.0016813589, 0.263098, -0.19456023, -0.006512073, 0.27316168, 0.113714844, -0.05583268, 0.049267832, 0.1909614, -0.028266707) * go_7(1.0, 0.0); + result += mat4(-0.09178215, -0.04123267, 0.019224923, -0.021475106, -0.03738984, 0.091329075, -0.11633343, 0.00926425, 0.055472236, -0.029774308, 0.10396517, -0.1399692, -0.08381618, 0.010906619, 0.13378097, -0.15872277) * go_7(1.0, 1.0); + result += vec4(0.06153431, -0.030526869, 0.17697038, -0.06977153); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.39232063, -0.31443354, 0.016747609, -0.19821034, -0.11440283, -0.108339086, 0.09855654, 0.09687135, -0.15667859, -0.30788472, -0.057983518, -0.30048364, -0.5892024, -0.03315241, 0.036535796, 0.042668976) * go_0(-1.0, -1.0); + result += mat4(-0.12170337, -0.31539497, -0.0080226185, -0.28167912, -0.026236918, 0.26168135, -0.086754136, 0.07140889, -0.11411177, 0.15551405, -0.04641522, 0.046217185, 0.080186784, -0.0001861396, -0.5990683, -0.24228567) * go_0(-1.0, 0.0); + result += mat4(0.0850365, -0.10327682, -0.1407833, 0.15661862, -0.1448079, -0.2993967, 0.08681482, 0.00483843, 0.18711449, 0.12147834, 0.114697695, -0.015375287, -0.39649305, -0.22024211, -0.08587565, -0.002201199) * go_0(-1.0, 1.0); + result += mat4(0.30565795, -0.3130614, 0.15354335, -0.21783416, -0.3877839, 0.003429585, -0.21440028, -0.024295159, 0.35766846, 0.02559725, -0.120454274, -0.10827954, -0.3355037, 0.6561727, -0.065990135, 0.30999345) * go_0(0.0, -1.0); + result += mat4(0.46554184, 0.43995824, 0.25583804, 0.20159459, 0.03730261, -0.15794723, 0.16795531, 0.11421282, 0.17099904, -0.22430302, 0.072461665, -0.06345064, 0.36006132, 0.47494593, -0.18869492, -0.04085313) * go_0(0.0, 0.0); + result += mat4(0.27438906, 0.00022448118, 0.099661484, 0.1397181, 0.12914467, -0.102830835, 0.045909263, -0.07967794, 0.2870382, 0.055183165, -0.031485636, 0.029727582, 0.37630266, 0.9301813, 0.28615892, 0.122112595) * go_0(0.0, 1.0); + result += mat4(-0.15251397, 0.09909433, -0.17192633, 0.0061163795, 0.06472459, -0.04261906, -0.13661696, -0.077453144, -0.7501463, 0.017666366, 0.16321932, 0.043644384, -0.05170323, 0.46000114, 0.32755983, 0.28597534) * go_0(1.0, -1.0); + result += mat4(-0.48834783, -0.038160775, -0.08875091, 0.04970968, 0.4627543, 0.03755849, 0.2540123, -0.21826492, -0.38032553, 0.32484698, -0.008446612, 0.23523396, 0.02375393, 0.27418464, -0.28132874, 0.15265541) * go_0(1.0, 0.0); + result += mat4(0.13747992, 0.11715287, 0.13201898, 0.0015658925, -0.2934619, -0.39777488, -0.07560646, -0.10565406, -0.04838937, 0.08350108, -0.019061742, 0.16467288, -0.05936286, -0.015435401, 0.4184143, 0.10496155) * go_0(1.0, 1.0); + result += mat4(-0.3240166, 0.08215981, -0.2075559, 0.19689886, 0.11150226, 0.06310339, -0.13621064, -0.15570635, 0.33679137, 0.04409631, -0.28714085, 0.031056935, 0.6626613, -0.08051886, 0.1722458, -0.22435535) * go_1(-1.0, -1.0); + result += mat4(0.24195263, -0.04580777, -0.4145571, -0.1574205, -0.042835433, 0.03784082, -0.026375433, 0.35892, 0.15977724, 0.0630263, -0.088371195, 0.02971135, 0.25729623, -0.15589325, 0.14479266, -0.05088765) * go_1(-1.0, 0.0); + result += mat4(0.48559383, -0.25281984, 0.36621982, -0.21811092, -0.32971957, -0.035721473, 0.019352507, -0.06045977, 0.2761817, 0.19758923, 0.089941375, 0.041624714, -0.041388534, 0.16949178, 0.031209668, -0.064278066) * go_1(-1.0, 1.0); + result += mat4(-0.32959136, 0.5905178, -0.121284775, 0.004792909, 0.23675677, -0.020328185, 0.13438764, 0.24885756, -0.17519131, 0.13370351, -0.1229379, 0.048159435, 0.17464967, -0.42540422, -0.13947602, 0.22700138) * go_1(0.0, -1.0); + result += mat4(-0.33010545, 0.31171462, 0.405461, -0.19268602, -0.19920933, -0.05938957, 0.0026099307, -0.24588005, -0.80367726, 0.67246026, -0.2002546, 0.06855837, -0.21781918, 0.74446076, -0.5982218, 0.2985812) * go_1(0.0, 0.0); + result += mat4(0.5674039, -0.4777194, -0.13907014, 0.12356176, -0.2920615, 0.0718882, 0.17865288, 0.20312083, -0.27032906, -0.34635755, 0.16373387, 0.03063499, -0.19903831, -0.19363025, 0.10843769, -0.26495013) * go_1(0.0, 1.0); + result += mat4(-0.17949842, -0.29433724, -0.23462017, 0.09636558, 0.20076938, -0.24068621, -0.056744654, 0.10993452, 0.04466387, -0.2755299, -0.13640761, -0.024520185, -0.46797183, 0.367952, 0.11696459, 0.22428559) * go_1(1.0, -1.0); + result += mat4(-0.011885658, 0.0891566, -0.037328225, 0.121865466, 0.048127756, 0.19165848, 0.031010484, -0.059921212, -0.21560976, -0.1529375, 0.12882216, 0.026642917, -0.11849831, 0.1641988, -0.06821976, 0.038913097) * go_1(1.0, 0.0); + result += mat4(0.014311083, 0.0046286825, 0.03766498, 0.030933104, 0.3158337, 0.014788744, -0.25061515, 0.3439588, 0.3746984, 0.011211178, 0.06807453, -0.14517218, -0.08588519, -0.44777295, -0.14026845, -0.112901196) * go_1(1.0, 1.0); + result += mat4(0.30676752, 0.22429968, 0.010868903, 0.19810227, 0.07854048, 0.0401537, -0.21871732, 0.024473034, 0.0754844, 0.21695364, 0.015986437, 0.32385147, -0.049408115, -0.0382484, -0.109464966, -0.17461152) * go_2(-1.0, -1.0); + result += mat4(-0.08928476, 0.16673279, 0.04767194, 0.09194907, 0.048144393, 0.10040854, 0.34817588, 0.038137782, 0.036133062, -0.037641533, 0.28543243, -0.2839514, -0.11791945, -0.19487488, -0.11268661, 0.05276339) * go_2(-1.0, 0.0); + result += mat4(-0.16383977, -0.31993598, 0.05208131, -0.0903597, 0.11033569, -0.0088908225, -0.054778915, -0.08319848, -0.06639396, -0.24900046, -0.2512979, -0.0019553688, -0.048192777, 0.03562768, 0.047395132, -0.05525853) * go_2(-1.0, 1.0); + result += mat4(-0.7830732, -0.4262562, -0.2673563, 0.13023588, 0.31384844, 0.1693089, 0.048528794, 0.15604164, -0.39588538, -0.08493865, 0.3310555, 0.08203675, -0.066885136, -0.0058401288, -0.17974985, -0.16163951) * go_2(0.0, -1.0); + result += mat4(-0.6983336, -0.59333223, -0.20371103, -0.3932194, 0.10534863, 0.04589214, -0.12699358, -0.15107739, -0.43941692, 0.13968801, -0.1860207, 0.25864246, -0.31358764, 0.02336987, -0.114363804, -0.2314969) * go_2(0.0, 0.0); + result += mat4(-0.13214386, 0.2762571, -0.07932436, -0.011312506, -0.1585973, -0.01644935, 0.0013558406, 0.073481865, -0.38878354, -0.008272082, -0.010028009, -0.12177282, -0.19708647, -0.20147185, -0.009344351, -0.039000046) * go_2(0.0, 1.0); + result += mat4(0.36948234, -0.027262207, 0.073340006, -0.11237642, -0.014205325, -0.033619095, 0.090520136, 0.044478547, 0.89536375, -0.25342697, 0.06966775, -0.25697634, 0.44092584, -0.02181121, -0.23286918, -0.16207126) * go_2(1.0, -1.0); + result += mat4(0.5282722, 0.2186328, -0.06594115, -0.005403383, -0.9999943, 0.1652842, -0.40371686, 0.045263674, 0.48378405, 0.5981784, -0.8636207, 0.48454443, 0.61362064, 0.40381622, -0.20037466, -0.35095415) * go_2(1.0, 0.0); + result += mat4(-0.15710682, -0.082183905, 0.025527366, -0.06832543, 0.45136708, 0.28492203, 0.21369967, -0.1544125, -0.21440476, 0.2747644, -0.07809032, -0.05409878, -0.09492401, -0.0042038485, -0.08335747, -0.1286338) * go_2(1.0, 1.0); + result += mat4(0.092377424, -0.29580644, 0.037406705, -0.057557207, -0.068813734, 0.025797142, 0.005817593, 0.13936609, -0.5533757, -0.0055351052, 0.3490144, -0.10275609, -0.3246664, -0.22240998, -0.06546209, 0.04502687) * go_3(-1.0, -1.0); + result += mat4(-0.040512305, -0.15789752, 0.3350875, 0.3248354, 0.11479105, 0.072781734, 0.11961662, 0.009017058, -0.7485467, -0.2354417, -0.18182847, -0.39436963, -0.21553181, 0.06693962, -0.10265758, -0.101919465) * go_3(-1.0, 0.0); + result += mat4(-0.29808417, 0.16832493, -0.36638075, -0.003277357, 0.30853003, -0.11783712, -0.04467285, 0.09799486, -0.29557002, -0.051879432, -0.10781173, -0.012533523, 0.13472205, 0.0886817, -0.095418304, 0.20694672) * go_3(-1.0, 1.0); + result += mat4(0.54963315, -0.51755005, -0.11815116, 0.44336796, -0.26965025, 0.063990854, -0.06830417, -0.22906917, 0.15537436, -0.12382655, 0.040594, 0.13573219, -0.32865304, -0.051071506, 0.07789849, -0.17451958) * go_3(0.0, -1.0); + result += mat4(0.108385645, 0.19099213, -0.13721561, -0.10001342, 0.36975056, -0.15690732, -0.011564509, -0.4645765, 0.9664348, -0.4172701, -0.12434381, -0.20082358, 0.025960991, -0.07957984, 0.06240927, 0.06882944) * go_3(0.0, 0.0); + result += mat4(-0.55891496, 0.5313842, -0.0052928664, -0.31153533, 0.27312106, 0.11299291, -0.20902458, -0.22780886, 0.18460937, 0.20829925, -0.22429292, 0.11375158, -0.24776565, 0.013294957, 0.108396605, 0.18705682) * go_3(0.0, 1.0); + result += mat4(0.17449534, -0.014089195, -0.005522746, -0.26652694, -0.3059182, -0.077219255, 0.13172182, 0.22815189, 0.29824528, -0.0018969525, -0.049221557, -0.02434726, 0.28403616, -0.30762187, -0.18281007, -0.069536164) * go_3(1.0, -1.0); + result += mat4(0.11734828, -0.099142194, -0.1678673, 0.113515854, -0.16090973, -0.018343726, 0.09375435, -0.11457814, 0.29799998, 0.14911132, -0.030187404, -0.0033569376, 0.51210696, 0.20057757, 0.018672027, -0.00072862353) * go_3(1.0, 0.0); + result += mat4(-0.4207862, 0.23023506, -0.045380734, 0.35523587, -0.31482896, 0.0016041965, 0.031437084, -0.11878056, -0.09631354, -0.44702205, 0.07262705, -0.019627657, 0.27565527, 0.30019623, -0.2416735, 0.13827145) * go_3(1.0, 1.0); + result += mat4(-0.21828848, -0.05362182, 0.092769556, 0.058445822, -0.015375804, 0.032911193, -0.016062194, 0.0023879025, -0.07955863, -0.18912281, 0.100602634, 0.18384646, 0.09833795, 0.13066116, 0.08606998, 0.060196545) * go_4(-1.0, -1.0); + result += mat4(-0.30196983, -0.13994773, -0.04102513, -0.021608166, 0.15173563, -0.0014104879, 0.013970848, 0.069105186, -0.046455324, -0.55526954, 0.39444688, 0.0815259, 0.10904215, 0.21681397, 0.06073383, 0.10265119) * go_4(-1.0, 0.0); + result += mat4(-0.11820481, -0.05975609, -0.13999549, 0.030522387, -0.013776436, -0.14367265, 0.009655233, -0.020354088, -0.117309436, -0.21025649, -0.0852297, 0.0050804066, 0.07790261, -0.07352538, -0.016056273, 0.030884959) * go_4(-1.0, 1.0); + result += mat4(-0.01982244, -0.14982677, 0.08542808, 0.114587806, -0.093505375, 0.009862345, -0.17831016, 0.15021613, 0.017223043, -0.05448468, 0.19507179, 0.005433668, -0.28699195, -0.0943735, 0.005008677, -0.084489435) * go_4(0.0, -1.0); + result += mat4(0.17592743, 0.16011396, -0.4458925, 0.03776147, -0.22227006, -0.1765121, -0.023907507, -0.12340803, 0.69395095, -0.42174822, 0.2619632, -0.08317782, 0.06564856, -0.07574905, 0.19617046, -0.15101147) * go_4(0.0, 0.0); + result += mat4(-0.0031664995, 0.0048539517, -0.029761892, -0.024908772, 0.038988, 0.083212, 0.022871153, 0.049879767, 0.5655658, -0.39324993, -0.41707525, -0.00069710996, -0.088931695, 0.5349101, -0.03700674, 0.19864099) * go_4(0.0, 1.0); + result += mat4(-0.09978203, -0.12430744, -0.005363638, -0.078683436, 0.16000083, 0.09070007, -0.08223272, 0.10610758, -0.09339724, -0.25193405, 0.060660124, 0.022009233, 0.028552014, -0.30671445, 0.04395066, -0.022646846) * go_4(1.0, -1.0); + result += mat4(-0.0025377637, -0.10979372, 0.0953052, -0.041535445, 0.028650977, -0.18192725, -0.13626699, -0.04126641, 0.41577348, 0.070594355, 0.17786773, -0.0019128436, 0.21811736, -0.3097873, -0.1697477, -0.05985297) * go_4(1.0, 0.0); + result += mat4(0.0029388457, -0.08754279, -0.057417464, -0.045205314, 0.14254501, -0.14048617, -0.029115621, 0.017037913, 0.23511319, 0.58405197, -0.045535047, -0.093041405, 0.24495944, 0.048594877, 0.16573521, -0.016364215) * go_4(1.0, 1.0); + result += mat4(0.0061783222, 0.03700483, 0.03310341, 0.03506661, 0.18640573, 0.060847793, -0.03938158, 0.002558664, 0.0066146054, -0.03961683, 0.11786358, -0.018774983, -0.023232952, -0.018498667, -0.02113431, -0.03875601) * go_5(-1.0, -1.0); + result += mat4(-0.07762769, 0.3220323, 0.0019882289, 0.11455374, 0.12809245, 0.054234043, -0.032796185, -0.004923056, 0.03533371, 0.23241599, -0.047939382, -0.005454499, 0.018655885, -0.06090632, -0.074992895, -0.022785714) * go_5(-1.0, 0.0); + result += mat4(-0.024499241, -0.0656105, 0.033745233, -0.06109949, 0.02657246, 0.099547654, 0.048236806, -0.08930123, -0.028375195, 0.21267472, 0.04065708, -0.029539475, -0.0034377375, -0.076174065, -0.08033416, 0.014191793) * go_5(-1.0, 1.0); + result += mat4(0.09567274, 0.17149109, 0.057815317, -0.02354373, -0.053182393, 0.07036649, 0.11426706, 0.0073960987, -0.042224813, -0.03242704, 0.028637128, -0.018156664, 0.027350018, -0.059693146, -0.025782553, -0.059870392) * go_5(0.0, -1.0); + result += mat4(-0.29396304, -0.14174098, 0.044468317, 0.048983667, -0.09083888, 0.14550914, -0.17293338, -0.019666478, -0.27275094, -0.026832746, -0.16039373, 0.05072858, 0.13158675, -0.0014240668, -0.19267258, 0.028367419) * go_5(0.0, 0.0); + result += mat4(-0.14670749, -0.20505863, -0.25351146, -0.18028821, -0.09074548, 0.12591866, -0.11648123, 0.08052676, -0.1030718, 0.055071495, -0.027647234, 0.036372066, 0.042164043, -0.24193078, -0.018126357, -0.08488727) * go_5(0.0, 1.0); + result += mat4(-0.002951344, -0.07835709, 0.0412822, 0.024059866, -0.17239328, -0.045480777, 0.031516057, -0.02321261, 0.16131492, -0.108720064, -0.13902234, 0.009038252, 0.019813707, -0.13780454, -0.08646045, -0.03967984) * go_5(1.0, -1.0); + result += mat4(0.087156996, -0.43204084, 0.08196673, 0.09000798, 0.11798731, -0.2800244, 0.013827372, 0.006278623, -0.027538646, -0.47985002, -0.07989979, 0.0101940865, 0.11476763, -0.08189494, -0.107904315, 0.0034190493) * go_5(1.0, 0.0); + result += mat4(0.10922693, -0.13929938, -0.14316928, -0.06415228, 0.10821941, -0.09326445, -0.10437615, -0.019490898, 0.02572968, -0.23569673, -0.18372843, 0.018998442, 0.019020457, -0.078145295, -0.12052183, -0.02904386) * go_5(1.0, 1.0); + result += mat4(0.047391865, -0.14862657, 0.10497325, -0.0060389596, 0.04090357, 0.07597069, -0.16701244, -0.045025267, 0.05439692, -0.0046527646, 0.10107427, -0.017686805, -0.09081038, 0.0033508723, -0.07428749, 0.083581686) * go_6(-1.0, -1.0); + result += mat4(0.24039297, 0.10254748, -0.08497433, 0.06220285, -0.21642606, 0.06099548, 0.05618001, 0.027991194, 0.11916666, 0.001376908, -0.04484436, -0.063753836, -0.080493644, -0.12548241, 0.22396187, -0.060979564) * go_6(-1.0, 0.0); + result += mat4(0.09228674, -0.10189853, -0.019978495, 0.055631284, -0.056667626, 0.042379495, -0.11306628, 0.015792474, -0.024159636, 0.17669754, -0.0015470447, 0.030659685, 0.049270805, 0.01379507, -0.07484134, 0.03997324) * go_6(-1.0, 1.0); + result += mat4(-0.08015897, -0.1573799, -0.0068566655, 0.024327071, -0.00024650464, -0.11511224, 0.10626316, -0.09424342, 0.035164617, -0.0071606585, 0.023877172, -0.0032834266, 0.03981932, 0.00094573526, 0.07893367, 0.058131382) * go_6(0.0, -1.0); + result += mat4(-0.09480482, -0.13352568, 0.11975561, 0.04046284, 0.017295167, 0.14661242, 0.034784466, 0.16060774, 0.12513426, 0.11618688, -0.19043984, -0.006898629, 0.33333287, 0.02068534, -0.144777, 0.054585308) * go_6(0.0, 0.0); + result += mat4(-0.040517613, 0.13882688, -0.10775904, -0.01107748, -0.22891715, 0.023514308, -0.07362997, 0.050480675, -0.15309371, 0.22601646, 0.050979435, 0.0078024655, 0.09704638, -0.113768086, 0.159759, -0.19680989) * go_6(0.0, 1.0); + result += mat4(-0.038060542, 0.060299598, -0.06167331, 0.070311025, -0.056030717, -0.10937594, -0.094534926, -0.05876128, 0.04186674, 0.05846574, 0.046057925, 0.050594475, -0.15031303, 0.033675846, 0.14669393, -0.020838607) * go_6(1.0, -1.0); + result += mat4(0.006198633, 0.008096492, -0.061412863, -0.038600348, 0.13099104, -0.024788823, 0.143207, 0.08146842, -0.09880114, 0.020192526, 0.093205445, -0.006562488, -0.10218187, 0.34932604, 0.017245278, 0.022239687) * go_6(1.0, 0.0); + result += mat4(0.019581253, -0.071536854, -0.079313144, 0.0039378665, 0.04372604, 0.0350227, -0.13975748, 0.02514243, 0.1482172, -0.1795845, 0.016553031, -0.114758186, -0.13846005, 0.028443053, -0.0028277517, 0.073823154) * go_6(1.0, 1.0); + result += mat4(0.019089226, -0.002865448, 0.114264086, -0.14795631, 0.052681867, 0.06782111, 0.005056374, 0.03333905, -0.045924906, 0.1271522, -0.022228748, 0.09460952, 0.0257857, -0.0404471, -0.100172006, -0.009518522) * go_7(-1.0, -1.0); + result += mat4(-0.0919395, 0.024952088, 0.02894272, -0.02876963, -0.17500453, 0.22578874, -0.05303085, -0.0015600728, -0.0076474883, -0.0018742654, 0.044667635, -0.029744165, -0.00179505, -0.012467833, -0.12192312, 0.034183223) * go_7(-1.0, 0.0); + result += mat4(-0.11467171, 0.036459688, -0.12508968, 0.062637016, 0.05442847, 0.023415027, -0.058653936, 0.27762222, 0.0033886922, -0.056405902, -0.1611357, -0.042607184, -0.029176304, -0.033276357, -0.060190573, 0.006230224) * go_7(-1.0, 1.0); + result += mat4(-0.10476976, 0.20189178, 0.013450291, 0.017824117, -0.07174306, -0.16174208, -0.0790696, -0.13154395, -0.119226985, 0.03126223, 0.08976427, -0.0017329347, 0.03171847, -0.062868886, 0.04638837, -0.03491934) * go_7(0.0, -1.0); + result += mat4(0.059950083, 0.10400816, -0.046370424, -0.012014035, -0.43914387, -0.18396273, -0.060568314, 0.010451131, -0.43835276, 0.026284682, 0.1604382, -0.10625134, 0.044843365, 0.10809218, 0.06464759, -0.046850365) * go_7(0.0, 0.0); + result += mat4(-0.06787761, -0.042850304, -0.15407841, 0.058458067, -0.17467526, 0.096576124, 0.21345392, 0.09298287, -0.01394914, -0.13355762, -0.13184176, 0.0003088022, 0.046734177, 0.028196447, -0.13506489, 0.0067693642) * go_7(0.0, 1.0); + result += mat4(0.053602345, -0.08111152, -0.017126815, -0.028242027, 0.092225246, 0.076781385, -0.089152336, 0.0012632497, -0.09276537, -0.24698547, 0.04423726, -0.06601727, 0.01814881, -0.13947123, -0.032667328, -0.019452555) * go_7(1.0, -1.0); + result += mat4(-0.0888714, -0.14888728, -0.03935948, -0.020991955, -0.07616056, -0.04555924, -0.09465727, -0.13786288, -0.305734, -0.3085076, 0.03795676, -0.021256099, -0.012537832, -0.23650081, -0.07035176, -0.028411875) * go_7(1.0, 0.0); + result += mat4(-0.0868341, -0.14694329, 0.08679206, -0.014810077, 0.022454316, -0.094533004, -0.17521082, -0.0076950863, -0.077531025, 0.11369054, -0.131653, -0.014213835, -0.08936547, -0.123560406, -0.031929504, 0.017496165) * go_7(1.0, 1.0); + result += vec4(0.05049932, 0.08230575, 0.58376503, 0.86909854); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf2 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.14979692, -0.19874124, 0.7368574, -0.75289476, -0.07442179, -0.057006773, 0.052752588, 0.07042955, 0.023808982, -0.15449218, -0.214054, 0.4198038, -0.031717926, 0.42492926, -0.365123, -0.5385816) * go_0(-1.0, -1.0); + result += mat4(-0.20962773, -0.023108777, 0.058071185, 0.16705127, -0.13245003, 0.035289574, -0.2708952, -0.09654876, -0.031879663, -0.04658145, 0.34683147, 0.16727158, 0.0348443, 0.3031345, -0.3261166, -0.118750244) * go_0(-1.0, 0.0); + result += mat4(-0.21795142, -0.11076161, -0.05562235, -0.019234827, -0.013561418, -0.097614266, 0.017759917, -0.016897203, -0.35361412, 0.057772327, -0.06672376, 0.022556266, 0.10166518, -0.20721449, -0.33036092, 0.031573854) * go_0(-1.0, 1.0); + result += mat4(0.33822674, -0.014097686, 0.040684048, -0.18630835, -0.14371929, -0.044715706, 0.15923496, -0.001135727, 0.09309857, 0.043319203, 0.008005289, -0.06445179, 0.04558112, -0.3218687, -0.23799446, -0.05683568) * go_0(0.0, -1.0); + result += mat4(0.30100045, -0.16198196, -0.40970346, -0.08049791, -0.3257815, 0.32816964, -0.1036189, -0.01658084, 0.3158466, -0.099933214, 0.17709035, 0.015306898, 0.109196454, -0.8539901, -0.39478862, 0.44471648) * go_0(0.0, 0.0); + result += mat4(-0.25177294, 0.38001952, -0.10283977, 0.16721214, 0.47318378, -0.051106233, -0.1658626, 0.0006494121, 0.0790059, -0.2052262, 0.09690421, -0.24400221, 0.386201, 0.12295305, 0.008400798, 0.1569414) * go_0(0.0, 1.0); + result += mat4(0.13002181, -0.062052924, -0.105005205, -0.1063579, -0.2948124, -0.084252134, -0.1092418, 0.18163803, 0.087108664, -0.24015805, 0.0813893, -0.15364105, 0.4476238, -0.19498287, 0.058062855, -0.13685432) * go_0(1.0, -1.0); + result += mat4(0.080557905, 0.10061249, -0.019393712, 0.2723204, 0.37991402, -0.30517173, 0.15205608, -0.17223756, -0.1711708, 0.22243942, -0.51695263, 0.06089266, 0.2784161, -0.039997682, -0.27718592, 0.18410686) * go_0(1.0, 0.0); + result += mat4(0.04679752, -0.10547882, 0.065308206, -0.05089279, -0.03807331, 0.39167935, -0.033223882, -0.029149204, -0.11922506, 0.14605616, -0.026710276, 0.043473598, -0.14226817, -0.33978114, -0.13193306, -0.064798094) * go_0(1.0, 1.0); + result += mat4(0.16664545, 0.054396506, 0.5975169, -0.1282768, 0.033200808, 0.07221164, -0.26142395, -0.18964534, -0.13124959, -0.18198496, -0.6014699, 0.05141559, 0.5430321, 0.1740554, -0.34170282, 0.26922655) * go_1(-1.0, -1.0); + result += mat4(-0.3690329, -0.41274253, -0.17788443, -0.38740525, -0.31772953, 0.065274484, -0.10197657, -0.009203365, 0.014726659, -0.4838253, 0.6801823, 0.048202187, -0.004891756, 0.45931026, -0.42521614, 0.54947734) * go_1(-1.0, 0.0); + result += mat4(-0.022050077, 0.07676187, -0.2678602, 0.12050436, 0.2968012, 0.134127, 0.013001306, -0.022339938, 0.072250396, 0.16998878, 0.13204311, 0.1460555, -0.2108701, 0.085233, -0.33153787, -0.3943539) * go_1(-1.0, 1.0); + result += mat4(0.020494493, -0.13280667, 0.120742574, 0.18085496, -0.3993116, 0.27331954, -0.16451527, -0.12265906, -0.609543, 0.5610297, -0.51908624, -0.12770663, -0.06081323, -0.03547236, -0.3134851, 0.120467834) * go_1(0.0, -1.0); + result += mat4(0.694917, -0.056899358, 0.5973495, -0.36394402, 0.11194564, -0.014088698, 0.3335045, -0.30163172, 0.410675, -0.18881899, 0.6248168, 0.11293253, 0.007631114, 0.25432107, 0.13347992, 0.12681353) * go_1(0.0, 0.0); + result += mat4(-0.10188845, -0.25959828, -0.3245341, 0.27263215, -0.023503877, -0.072242714, 0.13622598, 0.21790865, -0.3163553, -0.013236621, -0.13055128, -0.20804474, -0.009641516, 0.20730485, 0.040377166, 0.13722788) * go_1(0.0, 1.0); + result += mat4(-0.4001694, 0.20498846, -0.04771135, -0.2705733, 0.097105324, 0.08779578, 0.018639572, 0.18933, -0.06865882, -0.24691378, -0.27062201, -0.028328577, -0.0036236667, -0.19430988, 0.022964898, 0.08762482) * go_1(1.0, -1.0); + result += mat4(-0.26447344, 0.597568, -0.75024736, 0.29766613, -0.040174056, 0.0043453, -0.034185186, -0.09291407, 0.14045602, 0.19046465, -0.013113876, -0.20518276, 0.1951194, -0.317452, 0.38230306, 0.16865042) * go_1(1.0, 0.0); + result += mat4(0.059703857, -0.38956463, 0.1103034, -0.0053544333, 0.067712605, -0.25418857, 0.18657285, 0.14283091, -0.3343347, 0.13270105, -0.22770841, 0.053509742, -0.21625842, -0.3108662, 0.7752985, 0.031922966) * go_1(1.0, 1.0); + result += mat4(0.27932245, -0.031156274, -0.8561641, 0.6776702, 0.011417689, -0.00027964372, -0.18250081, -0.0037116525, -0.099202864, 0.06313943, -0.042443503, -0.5106033, -0.08595155, -0.052907, -0.1087237, 0.5441453) * go_2(-1.0, -1.0); + result += mat4(0.16762924, -0.009944587, -0.2679235, -0.2021139, 0.21079461, -0.11809957, 0.3809502, 0.08643512, -0.058171842, 0.20088726, -0.062347364, -0.12985747, 0.16284388, -0.16306452, 0.09982884, 0.14088723) * go_2(-1.0, 0.0); + result += mat4(-0.0714393, 0.082623124, 0.10457793, 0.06049393, -0.21751815, 0.15272824, -0.05817135, -0.033302475, 0.040557053, -0.23516949, -0.0038103394, 0.012663176, 0.028543636, 0.006461524, 0.04151789, 0.025360702) * go_2(-1.0, 1.0); + result += mat4(-0.3958464, -0.49928874, -0.18322971, 0.1660756, 0.02241122, -0.15481286, -0.08289814, 0.1838922, -0.30311695, 0.033998005, 0.046327453, 0.046667594, -0.19373152, 0.054595128, -0.1810291, 0.026330587) * go_2(0.0, -1.0); + result += mat4(-0.17988408, -0.06920031, 0.45933202, 0.13610782, 0.3321532, -0.35902196, -0.01072334, 0.130472, -0.17946465, 0.024062874, 0.028480636, -0.02477549, 0.030871931, -0.06926073, 0.21192017, -0.3275599) * go_2(0.0, 0.0); + result += mat4(0.2777268, 0.039282586, 0.18316416, -0.09472171, -0.12926842, 0.21093419, 0.26748186, -0.034381114, 0.37504667, 0.101034865, -0.005076637, 0.3046354, 0.19506508, 0.07113483, 0.11567689, 0.015364835) * go_2(0.0, 1.0); + result += mat4(0.0024751208, -0.09917078, 0.28514004, 0.13154282, 0.025117317, 0.107632674, -0.14624198, -0.13388367, -0.038752496, 0.06344873, -0.17392725, 0.44770598, 0.06466959, 0.18955265, -0.07118261, 0.13022475) * go_2(1.0, -1.0); + result += mat4(0.061531715, 0.040746104, 0.17598623, -0.15300408, -0.16540745, -0.22774096, -0.092872284, 0.22756997, 0.49107695, -0.6291782, 0.18959439, 0.051523212, -0.022658838, -0.23492336, 0.22632147, -0.0963997) * go_2(1.0, 0.0); + result += mat4(-0.049996454, 0.20427251, -0.13305162, 0.11485584, -0.049903087, -0.27760607, 0.10333013, -0.102610506, 0.5495312, -0.31861833, 0.002093027, -0.07540532, 0.020750895, 0.11532434, -0.302924, 0.038216017) * go_2(1.0, 1.0); + result += mat4(-0.0742038, 0.14481308, -0.52984416, 0.1047764, 0.056594335, -0.30959937, 0.28613302, 0.34666842, -0.39666295, 0.26017725, 0.35440627, -0.34158382, -0.37820384, -0.17103404, 0.50328887, -0.22849783) * go_3(-1.0, -1.0); + result += mat4(0.3429522, -0.15276, 0.2209812, 0.45239314, 0.23704866, -0.005374581, 0.16275096, 0.024596661, -0.82699585, 0.6892652, -0.5133988, -0.37860793, -0.24554388, -0.36862546, 0.53238416, -0.15033963) * go_3(-1.0, 0.0); + result += mat4(-0.18241908, -0.097688325, 0.19900274, -0.049691215, -0.0707727, 0.01220912, -0.13254303, 0.06655784, -0.112321585, -0.6344655, -0.14198428, -0.25697416, 0.30084953, -0.06746383, 0.061665535, 0.48863387) * go_3(-1.0, 1.0); + result += mat4(0.037913926, -0.03827507, 0.154614, -0.40610346, 0.3045199, 0.008148914, 0.16061406, -0.18722008, 0.23903824, -0.41043565, 0.13431714, 0.005762402, -0.11140545, 0.09172593, 0.36103448, -0.21254368) * go_3(0.0, -1.0); + result += mat4(-0.81520826, -0.18719831, -0.7951369, 0.30222818, 0.022721667, -0.24935177, -0.28099492, 0.46440077, -0.22375317, 0.21440145, -0.82245845, -0.08865358, -0.034643255, -0.14605747, -0.20446338, 0.017269822) * go_3(0.0, 0.0); + result += mat4(-0.027954992, 0.44265705, 0.14893635, -0.22994424, -0.4062441, 0.037667353, -0.20461299, -0.2084607, 0.045539107, 0.019446995, -0.26775262, 0.20553084, 0.53191364, -0.34656656, 0.101131186, -0.18529478) * go_3(0.0, 1.0); + result += mat4(0.22462271, -0.6351009, -0.30356836, 0.4656144, 0.021343032, 0.12060711, -0.118174694, -0.102915525, -0.03897218, 0.38728097, 0.0065090284, -0.014050115, -0.11878573, 0.043891054, -0.2201844, -0.008109699) * go_3(1.0, -1.0); + result += mat4(0.3475876, -0.5480176, 0.32965973, -0.3013803, -0.12759317, -0.2552925, 0.040291607, 0.058848295, 0.090461515, -0.0100614, 0.26301694, 0.19180556, -0.19759412, 0.22332898, -0.66193426, 0.029582586) * go_3(1.0, 0.0); + result += mat4(-0.15084246, 0.2588267, -0.12036018, -0.100685254, -0.09681174, 0.10745359, -0.055402648, -0.17146726, 0.16907287, -0.2920604, 0.1719566, -0.062248997, 0.16846664, -0.04184749, -0.67145276, -0.14377783) * go_3(1.0, 1.0); + result += mat4(-0.29134026, 0.14061885, 0.019386701, -0.23595293, 0.15995972, 0.11001859, 0.09999047, 0.24208768, -0.20627365, -0.5980567, -0.10900429, 0.15628706, -0.035789836, 0.11344383, 0.22269405, 0.1167161) * go_4(-1.0, -1.0); + result += mat4(0.2086919, 0.32100046, -0.074735984, 0.028284928, 0.05750321, -0.066351704, -0.12921254, 0.02867359, 0.61451894, -0.64832085, 0.01923096, 0.107076205, -0.080694854, 0.017926944, 0.115145884, 0.023048883) * go_4(-1.0, 0.0); + result += mat4(0.044795334, -0.14508736, 0.009281871, -0.047577426, -0.04061876, -0.10779222, -0.0934905, 0.07574239, 0.06306946, -0.18841065, -0.06520789, -0.1511161, 0.056024194, -0.23865043, 0.0027067165, -0.023214353) * go_4(-1.0, 1.0); + result += mat4(-0.16991557, 0.017060002, -0.29013085, 0.19565602, -0.058718584, 0.07541131, -0.19660297, 0.030717509, 0.13866037, 0.1607997, 0.33416504, -0.10889656, -0.16938633, -0.30223483, -0.116302475, -0.067932114) * go_4(0.0, -1.0); + result += mat4(0.013324888, 0.043513425, -0.13977613, 0.049115334, 0.27864334, -0.14303638, -0.08351705, -0.034961347, 0.54420704, -0.114335835, 0.70558935, -0.17958923, 0.2993206, 0.15411529, 0.1525758, 0.02863741) * go_4(0.0, 0.0); + result += mat4(-0.037015285, -0.2017719, -0.011478376, -0.018624172, 0.1424438, -0.21703872, 0.04142035, 0.08435333, 0.016879117, -0.13277175, 0.5071568, -0.00452118, -0.075084746, 0.02599955, 0.03993921, -0.0077187354) * go_4(0.0, 1.0); + result += mat4(-0.08865702, -0.036773548, 0.09770667, -0.059214808, 0.092925295, 0.024745809, 0.18103407, 0.010096519, 0.12563165, 0.21068119, 0.39060932, 0.052776936, -0.007520789, 0.073785275, 0.15345341, -0.040818583) * go_4(1.0, -1.0); + result += mat4(-0.01307178, -0.2883416, 0.06089409, -0.025703222, -0.0153167285, -0.13499002, 0.19134292, 0.017535282, 0.4228713, 0.42407927, 0.49823955, -0.014714462, 0.07038049, -0.16592962, 0.20797624, -0.067286916) * go_4(1.0, 0.0); + result += mat4(-0.10721055, 0.12606484, 0.058121577, -0.0076352274, 0.20147532, 0.023864318, 0.035990067, 0.019970879, -0.09824868, 0.21742553, 0.23160207, -0.01923935, -0.051066495, 0.07820049, 0.25739282, 0.01963692) * go_4(1.0, 1.0); + result += mat4(-0.11948619, 0.2351847, -0.043393455, 0.030519446, 0.4539114, 0.1742429, -0.0774874, -0.080372855, 0.08532228, 0.2565506, -0.047552552, 0.06568883, -0.0336801, 0.014859413, -0.01480705, 0.000907035) * go_5(-1.0, -1.0); + result += mat4(0.13286628, 0.18621215, -0.023270091, 0.0070656347, -0.15205616, 0.1755209, 0.058746208, -0.11478106, 0.028688533, 0.018236568, -0.029914241, -0.01234524, 0.027454674, -0.08994973, -0.023616008, 0.10552348) * go_5(-1.0, 0.0); + result += mat4(-0.061776865, 0.37519607, -0.0055178492, 0.0034296983, 0.18715686, 0.5121114, 0.097835, 0.03487622, 0.0467928, 0.054646105, -0.005521889, 0.005822461, -0.043956164, 0.03566145, -0.074804395, -0.0035681466) * go_5(-1.0, 1.0); + result += mat4(0.030094853, -0.19132867, -0.12022806, 0.008678997, 0.14250284, -0.39671174, -0.02558346, 0.049037408, 0.030368956, 0.032775097, -0.0700175, -0.043425113, -0.011832092, 0.1385766, 0.049986932, 0.048339713) * go_5(0.0, -1.0); + result += mat4(-0.04173207, -0.32059047, -0.3176571, -0.059780464, -0.149838, -0.09253593, 0.017474804, -0.02850501, -0.002491147, -0.4902331, -0.41391358, -0.019036679, 0.12910078, 0.011391104, 0.15281096, 0.035302237) * go_5(0.0, 0.0); + result += mat4(-0.051985674, -0.28821957, 0.041421372, -0.026321337, -0.11232292, -0.0076721082, -0.017660424, -0.053183485, 0.011399399, -0.21104087, -0.08247351, 0.012001115, 0.13353747, -0.018404294, -0.013070655, 0.021725055) * go_5(0.0, 1.0); + result += mat4(-0.10819058, 0.01522892, -0.11809611, -0.005361581, 0.016413989, -0.17791939, -0.07641427, -0.0075271325, -0.04744145, 0.14214009, 0.06238958, 0.030852603, -0.045064628, -0.10203394, 0.022396715, -0.0067329407) * go_5(1.0, -1.0); + result += mat4(-0.19808967, -0.104994975, 0.015773673, -0.022771256, 0.026054395, -0.052030962, 0.00745939, 0.04304712, -0.10831072, -0.16059683, -0.04864209, 0.037260182, 0.041406773, -0.11586577, 0.043287378, 0.027181271) * go_5(1.0, 0.0); + result += mat4(-0.1844484, 0.08464415, 0.10791806, 0.013830704, 0.03208257, 0.26110005, -0.03262007, 0.091473244, 0.13977927, 0.032529682, -0.021369038, 0.053745314, 8.765892e-05, 0.010181694, -0.046350393, -0.0064968574) * go_5(1.0, 1.0); + result += mat4(0.16242024, 0.0029229107, -0.03808197, 0.11881662, -0.008760509, -0.09074291, -0.15157613, -0.19312446, 0.098781265, -0.06404453, 0.17561193, -0.011888404, 0.012034257, -0.095228486, -0.17663169, -0.14239185) * go_6(-1.0, -1.0); + result += mat4(0.10714533, -0.091631204, 0.10210571, -0.024006354, -0.20195729, -0.028262442, 0.0057075145, 0.08570983, -0.1349579, 0.16353582, 0.06258812, -0.055206373, 0.027616054, 0.16366649, 0.15170477, 0.100432895) * go_6(-1.0, 0.0); + result += mat4(-0.005640863, 0.01953208, -0.05362749, 0.03737554, 0.10574648, 0.04949733, 0.011875781, -0.027762452, 0.11309614, -0.037482325, -0.037490267, 0.05672542, -0.03851815, -0.040241454, -0.014456474, -0.015964273) * go_6(-1.0, 1.0); + result += mat4(-0.05119488, -0.05249867, 0.08751497, -0.15210281, 0.06936269, 0.060947813, 0.15130071, 0.0061567873, 0.089312874, -0.08143958, 0.006515938, -0.062999725, 0.14026858, 0.14795284, 0.28729984, 0.078133605) * go_6(0.0, -1.0); + result += mat4(-0.009654871, -0.21643133, 0.06265242, 0.01572518, -0.1400239, 0.08764587, -0.013960639, 0.11240323, -0.06609911, 0.17936565, -0.099240325, 0.03606391, -0.08663271, 0.21256153, 0.076862626, -0.06660453) * go_6(0.0, 0.0); + result += mat4(-0.0032671946, 0.0434528, 0.12943126, 0.032995254, -0.026195439, 0.22761142, -0.08781017, -0.027369386, -0.23265982, -0.16121218, -0.05160874, -0.01102774, 0.18765874, 0.10036096, 0.13562876, -0.115016125) * go_6(0.0, 1.0); + result += mat4(-0.014280088, -0.036902506, -0.06825763, 0.081764676, 0.030115271, -0.023108382, 0.06727549, 0.00067218125, 0.017059056, -0.03265097, 0.15135893, -0.039459277, -0.04266232, 0.1111974, -0.020078076, 0.006387551) * go_6(1.0, -1.0); + result += mat4(-0.04688186, -0.09174231, -0.05381622, 0.024881862, 0.036378797, 0.12511472, -0.12020627, 0.011695685, -0.033788696, -0.048612628, -0.096676245, -0.09272234, -0.0752053, 0.17060183, -0.056995165, 0.0037499536) * go_6(1.0, 0.0); + result += mat4(0.06944483, -0.0036858325, -0.014824583, 0.022016088, -0.13040295, -0.17123172, 0.042282093, 0.025151532, 0.09733767, 0.02184708, 0.12792501, 0.008477331, -0.033732317, -0.09257224, -0.087834194, -0.04676004) * go_6(1.0, 1.0); + result += mat4(-0.06177712, 0.09466163, 0.041752685, 0.0796498, -0.08357602, -0.21963142, -0.05910052, 0.1355151, -0.020803489, -0.026252296, -0.07097114, 0.09607317, 0.078275844, 0.04250756, -0.047696978, -0.066009335) * go_7(-1.0, -1.0); + result += mat4(-0.32883903, -0.18983904, -0.011129119, -0.061288845, 0.20026195, 0.008631433, -0.06246731, -0.013857852, 0.005461851, 0.19473334, -0.018032562, -0.004270683, -0.03182703, -0.041694432, 0.046114028, -0.08224892) * go_7(-1.0, 0.0); + result += mat4(-0.18344544, -0.22068006, -3.779529e-05, -0.042374518, -0.010999355, -0.1526405, -0.08975188, -0.07842255, 0.0702596, 0.0027714027, 0.03802376, -0.015517716, 0.009005106, 0.06702078, 0.048812397, -0.018014267) * go_7(-1.0, 1.0); + result += mat4(-0.16322157, -0.12375638, -0.14597934, -0.10065044, -0.0034380173, 0.0688033, -0.13725469, 0.1336164, -0.028104529, -0.096491896, -0.29770237, 0.010468916, 0.003322942, -0.012829131, 0.055854827, -0.03990536) * go_7(0.0, -1.0); + result += mat4(-0.13249227, 0.078412525, 0.001221111, 0.039858975, 0.15937175, -0.02095173, -0.22108203, 0.09235874, -0.22747709, 0.2172244, -0.08376862, -0.047431935, -0.093568005, 0.06131771, -0.015086977, -0.056581) * go_7(0.0, 0.0); + result += mat4(-0.19138841, 0.08926175, -0.093786284, 0.057811834, -0.14395343, 0.064682476, -0.008969366, 0.0674351, 0.17032358, 0.12163412, 0.05056086, 0.058084372, -0.13832766, -0.11045532, -0.042922694, -0.030604472) * go_7(0.0, 1.0); + result += mat4(0.055630907, 0.16944349, -0.13912451, 0.033242557, 0.12217042, -0.21623628, 0.08676071, 0.06943562, 0.0558185, -0.023673354, -0.17777173, 0.004594415, 0.0135196885, -0.029225778, 0.030058527, -0.009726104) * go_7(1.0, -1.0); + result += mat4(0.01702246, 0.16437621, -0.018122733, 0.024081163, 0.016095428, -0.41127196, -0.017206954, 0.09858238, -0.15810199, -0.14963378, -0.3974077, -0.03380379, -0.045687225, -0.032821044, -0.094495125, -0.014884245) * go_7(1.0, 0.0); + result += mat4(0.049720503, -0.09237875, -0.04686381, 0.019112429, 0.14990957, -0.2563238, 0.06650471, 0.027189046, 0.065547526, 0.061466973, 0.038220834, -4.9633014e-05, -0.037983235, -0.0315463, -0.08640253, 0.023909623) * go_7(1.0, 1.0); + result += vec4(-0.0053955545, 0.20755386, 0.060728047, -0.11934225); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.011262504, 0.031819463, -0.06957062, -0.043127634, 0.00583867, 0.09169646, -0.045924503, -0.03033917, 0.04295624, -0.0008524074, -0.10314193, 0.017878639, -0.026550706, -0.057304744, -0.093816355, 0.084548905) * go_0(-1.0, -1.0); + result += mat4(0.14785792, 0.27953532, 0.013030618, 0.088695146, 0.108306505, 0.09207513, 0.111750156, -0.053279888, -0.091059364, -0.06638048, 0.027781408, -0.16337578, 0.056285474, 0.11172556, 0.030077877, -0.017893653) * go_0(-1.0, 0.0); + result += mat4(0.17618006, -0.4502103, 0.07598669, -0.0009732414, 0.050383665, 0.17085455, -0.0031775923, 0.064862505, 0.11707715, 0.3526508, -0.01904134, -0.012807272, -0.116546296, -0.060822245, -0.1311729, 0.07212336) * go_0(-1.0, 1.0); + result += mat4(0.087797835, -0.06613155, 0.1483391, 0.013323468, -0.11146307, -0.015671762, -0.040200327, -0.10357134, 0.019073516, -0.06472526, 0.10602498, 0.1770319, -0.08521562, 0.12664832, 0.08947633, -0.05493576) * go_0(0.0, -1.0); + result += mat4(0.33827654, 0.28221247, -0.18990488, 0.026941316, 0.1488764, -0.2931259, -0.076329395, -0.015431582, -0.099263206, 0.19168049, -0.026642313, 0.13576517, 0.038345568, 0.28094527, 0.009882045, -0.11360381) * go_0(0.0, 0.0); + result += mat4(0.05157035, -0.07949976, -0.11442825, -0.10846249, 0.0041128546, -0.086069524, -0.08534606, 0.030012999, -0.02440029, 0.0032833228, 0.080156125, -0.09495428, -0.014791535, -0.3719053, -0.09000905, 0.0037281278) * go_0(0.0, 1.0); + result += mat4(0.06803247, 0.07046111, 0.025906414, 0.04482326, -0.029433155, -0.053168926, 0.11433928, 0.09067554, 0.08303741, -0.17981903, -0.119454004, 0.18209296, -0.03772345, 0.025304617, -0.078271955, -0.091292545) * go_0(1.0, -1.0); + result += mat4(0.22007126, -0.40249357, 0.09878526, 0.043460052, -0.037937324, 0.2775198, 0.08673017, -0.075257935, 0.14146972, -0.049743168, -0.09132197, 0.072746076, 0.029836698, -0.0047054323, 0.041883502, -0.0780989) * go_0(1.0, 0.0); + result += mat4(0.054638218, 0.31379706, -0.015786655, -0.026390918, -0.11370519, -0.085995756, 0.08572533, -0.066644676, -0.052945357, -0.027882649, -0.030349009, -0.00074756425, -0.0034215925, 0.16293995, 0.0043956763, -0.013435695) * go_0(1.0, 1.0); + result += mat4(0.004479172, 0.15894544, 0.014565352, -0.022123177, 0.036710665, 0.027838772, -0.03341635, -0.02814826, -0.0891137, -0.051923018, -0.058425512, 0.057913873, -0.058511104, 0.04785274, 0.047574837, 0.095560044) * go_1(-1.0, -1.0); + result += mat4(0.026339598, -0.21249251, 0.09641629, -0.1050302, -0.11599119, 0.16732395, -0.07735261, 0.10095655, -0.046776835, -0.1985677, -0.100405715, -0.0049418057, 0.08661461, 0.030991163, 0.058080763, -0.033386886) * go_1(-1.0, 0.0); + result += mat4(0.06275464, 0.12353212, 0.011660699, -0.0048974585, 0.03182892, -0.11731411, 0.058963027, 0.00076737226, -0.014992623, -0.075640306, 0.021105729, 0.054476924, 0.010348032, 0.018136699, -0.015781997, 0.011437102) * go_1(-1.0, 1.0); + result += mat4(0.13556376, -0.061953824, 0.05551936, 0.116930924, 0.06720336, 0.37149063, -0.020317249, 0.10018995, 0.03449863, 0.00254038, -0.12589492, -0.116539575, 0.02914628, -0.1132907, 0.059977263, -0.01013219) * go_1(0.0, -1.0); + result += mat4(-0.17061242, -0.11773073, -0.07108274, 0.0034582969, 0.037274398, -0.38318223, 0.10591709, 0.25803554, -0.07071293, 0.17214958, 0.34243912, -0.20444241, 0.16736552, 0.14189146, -0.15058914, 0.028070828) * go_1(0.0, 0.0); + result += mat4(-0.014832051, 0.38498318, 0.07763121, 0.0076594464, 0.1140444, 0.23477876, -0.06551489, 0.082364485, -0.072711125, -0.26173973, 0.10116861, 0.025223283, 0.0071469937, -0.08337561, -0.029252755, -0.040330622) * go_1(0.0, 1.0); + result += mat4(0.065506235, -0.04470719, 0.09613445, 0.11135494, -0.038838383, -0.13319598, -0.030709865, -0.11286597, 0.02777684, 0.14582784, 0.10601686, 0.032446314, -0.101155646, 0.01797949, -0.060460012, -0.17628726) * go_1(1.0, -1.0); + result += mat4(-0.013238295, 0.23827216, -0.052030362, 0.056838796, 0.11169307, -0.0019896782, 0.04225852, -0.05080408, 0.041208353, -0.018402472, 0.0045357095, 0.14560573, -0.07002417, -0.14796354, 0.007762815, -0.10192629) * go_1(1.0, 0.0); + result += mat4(-0.041997515, -0.35881934, -0.021417812, 0.08649882, 0.09397181, -0.13445188, 0.06475497, -0.010673045, 0.12269194, 0.18738186, -0.042150542, 0.1256423, -0.008410485, 0.09158409, 0.041347865, -0.0074583124) * go_1(1.0, 1.0); + result += mat4(-0.062870465, -0.059856553, 0.091585, 0.092011355, 0.020937715, 0.010538825, 0.06692169, 0.0006046978, 0.1952068, 0.031263877, -0.106957935, 0.14423949, -0.014842083, -0.043564916, -0.019768178, 0.034922168) * go_2(-1.0, -1.0); + result += mat4(-0.117032535, 0.18058799, 0.007915372, 0.020678058, 0.14933655, -0.051320497, -0.023838546, 0.06867943, -0.3355837, 0.0042644492, -0.12227475, -0.04008191, 0.024019344, -0.040317632, 0.025777748, 0.24088405) * go_2(-1.0, 0.0); + result += mat4(-0.00010084207, -0.1289124, 0.031990424, -0.079577096, -0.0053844554, -0.02361255, 0.07049022, 0.039858952, -0.07922686, -0.06185779, -0.03044959, 0.079977244, -0.0893825, -0.106873706, 0.0044374927, -0.028308846) * go_2(-1.0, 1.0); + result += mat4(-0.08895584, -0.042846404, -0.013092824, -0.13957329, -0.10497291, 0.10893366, -0.16962886, -0.002034427, -0.037901185, 0.064590566, 0.058201604, 0.14310947, 0.08995774, -0.05294167, 0.1631053, -0.012728631) * go_2(0.0, -1.0); + result += mat4(-0.07719386, 0.046034593, 0.04633185, 0.11177461, 0.012042811, 0.13169785, -0.11322429, 0.10102152, -0.23842178, 0.13413563, 0.07785035, -0.083747946, 0.10070529, -0.0900075, -0.17456235, -0.38653556) * go_2(0.0, 0.0); + result += mat4(-0.12692979, -0.047207076, 0.003124948, 0.0031179655, 0.028505344, -0.16842307, 0.018322583, -0.03406163, 0.04017119, -0.1724708, 0.039637722, 0.14817074, -0.015262273, 0.4343052, -0.028746288, -0.06529248) * go_2(0.0, 1.0); + result += mat4(-0.124842934, 0.13421857, -0.02313364, -0.11312006, -0.03259939, 0.06062406, -0.007419522, -0.04876289, -0.10012543, -0.25548926, -0.030651081, 0.034160238, -0.14513661, 0.036888786, 0.17565195, 0.11805049) * go_2(1.0, -1.0); + result += mat4(0.19049145, -0.039175794, 0.018565621, 0.1548963, -0.051579755, 0.031628616, 0.0051352894, 0.11517133, -0.01610091, 0.051337674, -0.026527107, -0.019971197, 0.12971555, 0.07533016, -0.3041597, -0.06759981) * go_2(1.0, 0.0); + result += mat4(0.12584706, -0.10033112, 0.035238206, 0.09898554, 0.050027825, 0.07308421, -0.01463469, -0.00082939945, -0.047252785, 0.08552882, 0.0019422411, -0.024661394, 0.11734384, -0.26585263, 0.07397762, 0.20346671) * go_2(1.0, 1.0); + result += mat4(0.107849255, -0.11532747, 0.05027606, 0.10103512, 0.064907365, 0.010803471, 0.028275143, 0.14567783, -0.07167514, 0.08434946, 0.07393991, 0.0254499, 0.04305806, 0.04086671, 0.053802863, -0.06721381) * go_3(-1.0, -1.0); + result += mat4(0.09881202, -0.06978072, 0.04603433, 0.01741673, -0.15704031, -0.1793963, -0.038271505, -0.10161381, 0.04542897, 0.07914688, 0.046205457, 0.08958046, -0.0061665005, -0.03463733, 0.029120842, 0.043564152) * go_3(-1.0, 0.0); + result += mat4(-0.012550157, 0.17462914, 0.06898175, -0.07152383, -0.03304833, -0.08832667, -0.016064065, -0.23278883, -0.13197964, -0.08672381, -0.05409716, -0.065082744, 0.06888385, 0.036308136, 0.11151006, -0.06965145) * go_3(-1.0, 1.0); + result += mat4(0.10415191, 0.17370042, -0.077190965, -0.008505009, 0.071427636, 0.021012051, 0.29375538, 0.20707655, 0.08539143, -0.21792713, -0.069910124, -0.13272718, 0.078085855, 0.020925732, -0.09766308, -0.014647463) * go_3(0.0, -1.0); + result += mat4(-0.1540831, -0.20195347, 0.12906608, -0.18597993, 0.02752237, 0.3436961, 0.12848559, 0.23174804, 0.09912136, 0.2955073, -0.0119524235, 0.07499343, -0.056999985, -0.13919996, -0.0442433, 0.09012822) * go_3(0.0, 0.0); + result += mat4(0.03846984, -0.016049843, -0.04194403, 0.016142704, -0.14151782, -0.06796431, 0.004672686, -0.20027739, -0.100223176, -0.08138453, -0.09202174, 0.12008146, -0.009262179, 0.303418, 0.040116344, 0.032100268) * go_3(0.0, 1.0); + result += mat4(-0.02313964, -0.24428035, 0.038113195, -0.0045478963, -0.12524363, 0.0911982, -0.091526926, -0.10919195, -0.044670045, 0.08331864, 0.12612547, -0.103683256, -0.003986556, -0.034693778, 0.03215815, 0.06168313) * go_3(1.0, -1.0); + result += mat4(-0.024951402, 0.36099398, -0.08449376, -0.07497921, 0.09019578, -0.34781474, -0.038260702, 0.04863762, 0.017253455, -0.019677663, 0.12687095, 0.00063366926, 0.011710997, -0.10072319, -0.03315336, 0.07632106) * go_3(1.0, 0.0); + result += mat4(0.07059056, -0.12018756, -0.09131319, -0.013561132, 0.24165273, 0.22274019, -0.017931685, 0.010056685, 0.12344425, 0.12156007, -0.026813593, 0.004195277, 0.04681439, -0.076013386, -0.031047279, 0.028654084) * go_3(1.0, 1.0); + result += mat4(-0.07966141, -0.07519266, 0.08071786, -0.07381566, 0.016123658, -0.05854732, 0.037251532, 0.025495501, 0.105325036, -0.09021125, -0.0065127593, 0.20154859, -0.24500966, 0.16068383, -0.045858987, -0.013114567) * go_4(-1.0, -1.0); + result += mat4(-0.11490749, 0.2778325, -0.09342925, -0.059463568, 0.038029168, 0.010677079, 0.004088794, -0.0524926, 0.14234811, 0.26121226, 0.080162, 0.19559322, 0.19100796, 0.120853685, 0.14027278, -0.07141763) * go_4(-1.0, 0.0); + result += mat4(-0.07725682, -0.028726127, -0.011004939, -0.016452273, -0.004484741, 0.11287478, -0.090253375, -0.00962195, 0.067813195, 0.00653987, 0.11110691, 0.02533638, 0.047734473, 0.630844, -0.12703009, 0.0815481) * go_4(-1.0, 1.0); + result += mat4(-0.063518584, -0.068115965, 0.06567312, 0.005423953, -0.035477355, -0.36495018, 0.034740042, 0.10112081, -0.106252685, -0.27082387, 0.29244247, 0.12543291, -0.35771617, -0.106733896, 0.09776179, -0.041923277) * go_4(0.0, -1.0); + result += mat4(0.1582593, -0.19066747, 0.12785429, -0.06028763, 0.07165759, 0.29100847, -0.066886865, -0.026840167, 0.0149742095, 0.046114814, -0.16078624, -0.06096696, -0.15888374, 0.29948848, 0.011921788, -0.14737292) * go_4(0.0, 0.0); + result += mat4(0.023203196, -0.012949222, -0.10660274, -0.019064514, -0.01604895, -0.11042657, 0.014043448, -0.007858082, 0.034866568, 0.28908056, 0.044833034, -0.055372775, 0.05015458, 0.45589668, -0.059942003, -0.24177484) * go_4(0.0, 1.0); + result += mat4(-0.010991107, 0.081413716, -0.022647902, 0.035956774, -0.01045697, -0.06317254, -0.048409183, 0.014224823, -0.041370537, -0.03167499, -0.08533798, -0.0033347958, -0.045379575, -0.1464327, 0.11794289, 0.12731233) * go_4(1.0, -1.0); + result += mat4(-0.042375486, -0.26550424, -0.020939078, 0.048613142, -0.0064663864, -0.3438306, 0.01354813, 0.01667072, -0.078636885, -0.15991145, 0.07323537, 0.041297473, -0.088465534, -0.333333, -0.05659556, -0.2753555) * go_4(1.0, 0.0); + result += mat4(-0.007157959, 0.16018897, 0.026304452, -0.04799124, -0.009590161, -0.05249338, -0.009172379, 0.0054461583, -0.05708218, -0.19263835, 0.11795639, -0.02212647, 0.056535985, -0.06511114, -0.013391156, -0.13783967) * go_4(1.0, 1.0); + result += mat4(-0.05439675, -0.006444465, -0.009317183, -0.07307444, -0.00030038637, 0.18579505, -0.051370375, 0.059529413, -0.27623934, -0.013988184, -0.0048374305, -0.15984012, 0.039892353, -0.018393246, -0.046821754, 0.023543872) * go_5(-1.0, -1.0); + result += mat4(0.13751456, -0.06096664, -0.025098158, 0.06613064, -0.08354669, -0.07604228, 0.008098726, 0.018510602, 0.14101581, 0.22782752, -0.0028741485, 0.041945882, -0.0810864, -0.020587375, -0.085017934, -0.025102144) * go_5(-1.0, 0.0); + result += mat4(0.047001034, 0.15929686, -0.017429994, 0.11485433, 0.008108619, -0.039101716, -0.01298734, -0.04309558, 0.063283674, -0.006479532, 0.041943613, 0.020806335, 0.1637154, 0.08164767, -0.022789355, 0.23034051) * go_5(-1.0, 1.0); + result += mat4(0.04580322, 0.035329618, -0.045944862, -0.11552284, 0.080185264, -0.054166514, 0.050542697, -0.026156206, -0.083026126, 0.07445656, 0.020240687, -0.095825456, -0.05638868, 0.061477177, -0.0053955787, -0.03098832) * go_5(0.0, -1.0); + result += mat4(0.0488631, 0.0048201405, -0.17982271, -0.19360444, 0.04280375, -0.06298201, 0.18850167, -0.1875722, -0.021133788, -0.4440641, -0.08967545, -0.020436049, -0.07340717, 0.15360972, 0.30010164, 0.13870142) * go_5(0.0, 0.0); + result += mat4(0.06518589, 0.05225434, 0.035718046, 0.09953873, -0.018187355, 0.2680586, -0.011366758, 0.16459163, -0.17236687, 0.271017, -0.044547327, -0.12611923, -0.17699997, -0.14207041, 0.029943895, -0.32613477) * go_5(0.0, 1.0); + result += mat4(-0.043032415, -0.112493455, -0.0017059229, 0.030980088, -0.034748103, -0.034630474, -0.00086845557, -0.07122569, 0.0859297, 0.048253577, 0.1304124, -0.0067533916, 0.15792038, -0.051970366, -0.02041555, -0.022408634) * go_5(1.0, -1.0); + result += mat4(-0.16435696, 0.1454917, -0.02320267, -0.07823869, 0.03715387, 0.001277761, 0.09719438, 0.015275015, -0.11739434, 0.06375923, 0.10178472, 0.0694389, 0.04614792, -0.38499647, 0.27365905, -0.20401697) * go_5(1.0, 0.0); + result += mat4(-0.09289143, -0.059769634, -0.014427403, 0.07280103, 0.04857605, 0.04126391, 0.007707449, 0.016183812, -0.080374636, -0.24951005, 0.051764973, 0.01020587, -0.2992075, 0.04918275, 0.2093324, 0.14188328) * go_5(1.0, 1.0); + result += vec4(-0.034787357, -0.010484513, -0.13672084, 0.021112612); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf1 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.09358625, 0.04006633, 0.08724545, 0.08691784, -0.14107502, -0.0007997976, 0.17306888, 0.038711257, 0.0985122, -0.0014992851, -0.17487743, -0.10194699, 0.11023988, -0.06968423, 0.01662707, 0.21470292) * go_0(-1.0, -1.0); + result += mat4(0.031636875, 0.13806665, -0.0814631, 0.07943226, 0.0119793005, 0.04941359, 0.074861325, -0.16535385, -0.11496889, 0.13269342, -0.109500505, -0.05149521, -0.046225246, 0.12686665, 0.17126462, 0.009109644) * go_0(-1.0, 0.0); + result += mat4(-0.03334245, -0.123216815, -0.1330235, -0.12154138, -0.059628066, 0.10496938, -0.0038054981, 0.1457567, -0.019918114, -0.0020958772, 0.04247789, -0.0062168534, 0.0026362725, 0.021436866, -0.11040905, 0.108333305) * go_0(-1.0, 1.0); + result += mat4(0.0042455117, -0.14640199, -0.06118977, 0.16638735, -0.030705301, -0.0113191, 0.03248879, -0.044538334, -0.0102377115, -0.01707356, -0.13409424, 0.07820454, 0.0050400933, -0.051095866, 0.115574144, 0.1082736) * go_0(0.0, -1.0); + result += mat4(0.059850972, 0.12553261, 0.23358655, 0.011808153, 0.3940932, -0.10867016, -0.23658483, -0.08347661, 0.18414836, 0.13377388, -0.14889582, -0.0067077233, 0.04137153, 0.07864369, -0.2230585, 0.20400442) * go_0(0.0, 0.0); + result += mat4(-0.14122446, -0.05491896, 0.23194087, -0.04420126, 0.003479982, -0.0025467714, 0.07257286, 0.064608194, 0.003435564, 0.028599951, 0.034278907, 0.020127177, -0.05769672, -0.053810723, 0.021130094, -0.10632285) * go_0(0.0, 1.0); + result += mat4(-0.06342671, -0.02102852, -0.057624057, -0.04255905, -0.027436286, -0.004304728, -0.068475425, 0.084754616, -0.013654013, 0.040915813, 0.03803916, -0.013154927, 0.035633024, 0.03539127, 0.011308919, -0.07959703) * go_0(1.0, -1.0); + result += mat4(-0.082511365, -0.062265713, 0.12336093, 0.050000474, -0.012206841, -0.11110678, 0.23245499, 0.08442603, 0.03861097, 0.04962608, 0.2711461, 0.061978027, 0.02267645, -0.024108166, 0.050957117, -0.09069499) * go_0(1.0, 0.0); + result += mat4(-0.036008272, 0.077173404, 0.007906516, -0.07967038, -0.03769282, 0.0647222, -0.048025336, -0.24466506, -0.10772676, -0.045048002, 0.11905392, 0.09015004, 0.018585265, 0.0492868, -0.12064848, -0.12835266) * go_0(1.0, 1.0); + result += mat4(0.03722991, 0.05483932, 0.005279874, -0.036382344, 0.07366523, 0.080671124, -0.022853829, 0.17026854, -0.025622483, 0.02234575, 0.047529936, 0.08349223, -0.0811592, -0.06856246, 0.095451735, 0.04447287) * go_1(-1.0, -1.0); + result += mat4(-0.011579923, -0.07021126, -0.18775284, 0.06256736, -0.07229184, 0.007508845, 0.009623485, -0.07026442, -0.017683864, -0.05394156, 0.009937637, -0.06132005, 0.08447428, -0.035887707, 0.05672016, -0.023255082) * go_1(-1.0, 0.0); + result += mat4(-0.24283841, 0.049064692, 0.19258617, -0.09556112, -0.043943178, -0.026093625, -0.0037277476, -0.08488672, -0.05969904, 0.014202227, 0.07155138, -0.006620953, 0.12378093, 0.023470948, -0.15103869, 0.04221627) * go_1(-1.0, 1.0); + result += mat4(0.0008730981, -0.07160066, -0.076891124, 0.13791084, -0.13737433, -0.010282979, 0.078346394, 0.09242266, 0.076963596, 0.05978104, -0.05467655, 0.086442284, 0.044609588, -0.016739035, 0.021820836, -0.2011709) * go_1(0.0, -1.0); + result += mat4(-0.20905402, -0.08102045, -0.29869592, -0.047263417, -0.17030494, 0.13713762, 0.1867857, 0.0476295, -0.09349327, 0.19339523, 0.022656808, -0.0009851357, -0.2303008, -0.06444237, -0.019168362, 0.2020858) * go_1(0.0, 0.0); + result += mat4(-0.024434976, 0.10944717, 0.055678647, 0.10161796, -0.049396966, 0.0052144537, -0.16087285, -0.015105596, -0.086011946, 0.022698695, 0.15757102, -0.14491843, 0.037698947, -0.047221012, -0.030243723, 0.13107443) * go_1(0.0, 1.0); + result += mat4(-0.086016916, 0.04024993, 0.04098034, 0.07725262, -0.06640869, -0.04112078, 0.021855356, -0.18622814, -0.058279853, -0.029800907, -0.15918955, 0.09680758, 0.054697946, 0.03253648, 0.08338082, -0.04502999) * go_1(1.0, -1.0); + result += mat4(0.01646839, -0.054888945, -0.26849058, -0.011435841, -0.057793204, -0.07927816, 0.025392462, -0.10175547, 0.029483873, -0.14580205, 0.0024861468, 0.07208289, 0.06519596, 0.03442096, 0.026397267, 0.020078517) * go_1(1.0, 0.0); + result += mat4(-0.08198775, -0.0814655, 0.05315498, 0.051077936, -0.030619444, 0.019064562, -0.13288063, -0.1472509, -0.048526105, -0.040171668, 0.12455891, -0.14622177, 0.011852844, 0.096620746, -0.18692164, -0.055299122) * go_1(1.0, 1.0); + result += mat4(0.058797743, 0.024229972, 0.034255873, 0.036447, 0.00075901265, 0.074688934, -0.042593017, 0.00060293835, 0.032229654, -0.052531853, -0.07462269, 0.12802848, 0.007995166, -0.02878037, 0.06900506, 0.06908949) * go_2(-1.0, -1.0); + result += mat4(-0.10522075, 0.048956644, 0.05420077, -0.016637634, 0.04412326, -0.09468539, 0.034226764, -0.018262677, -0.06783241, -0.040329143, 0.18946178, 0.13130969, 0.10075684, -0.07591921, -0.1623158, -0.025584042) * go_2(-1.0, 0.0); + result += mat4(-0.034107495, -0.016770529, -0.016136456, 0.02585942, 0.12677853, 0.01417575, 0.047958545, 0.12998682, 0.016893117, 0.010598557, 0.12055522, -0.047758352, -0.05235784, 0.005084147, 0.07550005, -0.16640854) * go_2(-1.0, 1.0); + result += mat4(-0.114226855, 0.06335544, -0.0881748, -0.2498259, 0.015568782, 0.012487128, 0.0046955296, 0.025751248, 0.04212843, 0.15120652, 0.15968561, 0.19253394, 0.087034084, -0.0423726, -0.051838346, -0.14310384) * go_2(0.0, -1.0); + result += mat4(-0.013026084, 0.06131241, -0.1675201, -0.12888479, -0.0014964524, -0.10069896, 0.02356384, 0.01806289, 0.19572161, -0.11961045, -0.24700944, -0.1844911, -0.26364744, 0.07644966, 0.2593859, 0.08114606) * go_2(0.0, 0.0); + result += mat4(0.068388715, -0.0046663, -0.020979358, 0.09952774, -0.11110095, -0.0774004, 0.012848098, -0.012930355, 0.08189461, 0.0054886085, 0.00053461257, -0.23077695, 0.050515562, -0.035863694, 0.07036627, -0.13812068) * go_2(0.0, 1.0); + result += mat4(0.09648746, -0.10755913, -0.08146234, 0.00811376, 0.004864761, -0.08113828, 0.04964263, 0.11690557, -0.014368101, -0.014423742, 0.03171528, 0.08982036, 0.10246555, -0.06881209, -0.29283836, 0.039537873) * go_2(1.0, -1.0); + result += mat4(-0.13718893, -0.009659399, 0.2992416, -0.0066323625, -0.071996465, 0.13524258, 0.023679543, 0.07826935, 0.075409144, 0.08589669, 0.061272033, -0.045499824, -0.03741875, 0.27842635, 0.13185109, -0.099911585) * go_2(1.0, 0.0); + result += mat4(-0.024441944, -0.03522318, 0.05140529, 0.0071282475, -0.10594544, -0.05181565, 0.25732583, -0.018825782, -0.0012439055, 0.019219896, 0.09946713, -0.0722263, -0.12645322, -9.644992e-05, 0.06875323, 0.21561073) * go_2(1.0, 1.0); + result += mat4(-0.022150004, 0.054419033, -0.083107114, -0.08959484, 0.08172815, -0.013834652, -0.15180096, -0.024615027, -0.07028262, -0.0007512729, 0.26976782, 0.18875809, -0.099938266, 0.05480333, 0.016040394, -0.17822164) * go_3(-1.0, -1.0); + result += mat4(-0.026931163, -0.052416157, 0.07639568, -0.05452748, 0.035625458, 0.004550296, -0.16772425, -0.00061168516, 0.15335664, 0.051302932, 0.04580133, 0.13039467, 0.023763021, -0.07687596, -0.05549799, -0.017360365) * go_3(-1.0, 0.0); + result += mat4(0.003008481, 0.10352107, 0.076348424, 0.040963676, -0.057719737, -0.08755317, 0.024834383, -0.23462833, -0.09101583, 0.086903796, -0.07216142, 0.090624414, 0.029025761, -0.033761367, 0.1366635, -0.10524101) * go_3(-1.0, 1.0); + result += mat4(-0.028344428, 0.22866614, 0.22265156, -0.050915148, -0.07759447, -0.1586285, -0.049925447, -0.05273905, -0.010746756, 0.019270241, 0.22497585, 0.013571467, 0.019270418, 0.052651558, -0.024736265, -0.14067775) * go_3(0.0, -1.0); + result += mat4(0.058332205, -0.0631195, -0.19648206, -0.039481703, -0.2998922, 0.18085144, 0.17090257, 0.27006564, -0.2703318, 0.06099154, 0.04560162, 0.118134916, -0.004565211, -0.08472733, 0.10459307, -0.16570608) * go_3(0.0, 0.0); + result += mat4(0.10358238, -0.061059173, -0.13393302, 0.015948834, -0.030868502, -0.04978585, -0.012687447, -0.2505655, 0.049323123, -0.00019374766, 0.028754372, 0.033648107, 0.07063697, -0.014583936, 0.1362805, 0.08024834) * go_3(0.0, 1.0); + result += mat4(-0.013942856, -0.08531508, 0.039745845, 0.10414194, 0.06313496, 0.02417523, 0.07144888, -0.13780569, 0.0024822098, -0.0005785404, -0.070522025, -0.010603217, -0.008350787, -0.08310923, -0.06434052, 0.05212829) * go_3(1.0, -1.0); + result += mat4(-0.033343147, 0.11818227, -0.101355605, -0.09815853, -0.0037257646, 0.093914956, 0.045073465, -0.21146262, -0.033502303, -0.033563633, -0.19179441, -0.064311236, 0.017742243, 0.008572989, -0.017310511, 0.09787876) * go_3(1.0, 0.0); + result += mat4(-0.0965179, -0.05104779, 0.21980357, 0.059457585, 0.05362383, -0.07189908, 0.21294238, 0.12593827, 0.08622481, 0.0061037396, -0.11099128, -0.075461335, -0.019220999, -0.08473234, 0.1896788, 0.1545825) * go_3(1.0, 1.0); + result += mat4(-0.067072935, -0.009035596, 0.039182313, 0.017011479, 0.036997713, -0.042869426, -0.0040173815, -0.031988475, -0.0069290483, 0.05294254, -0.0012220141, 0.09110227, -0.014827876, 0.19689846, 0.0022661786, -0.07005972) * go_4(-1.0, -1.0); + result += mat4(-0.057713088, 0.050435945, -8.427375e-05, -0.010549373, 0.03760227, 0.022647688, 0.02825286, 0.06377033, -0.0047159446, 0.11320346, -0.069414824, 0.059531983, -0.3299612, 0.2719073, -0.1501237, -0.2640464) * go_4(-1.0, 0.0); + result += mat4(-0.11150839, 0.050114244, -0.032236893, 0.0015038166, 0.027094943, -0.02502733, -0.043179303, 0.016036531, 0.09573851, 0.08618344, -0.107915044, 0.009664713, 0.014394529, 0.06955564, 0.16166097, 0.20743166) * go_4(-1.0, 1.0); + result += mat4(-0.044392925, -0.040684875, -0.23557815, -0.056034833, -0.028161626, 0.05496662, -0.053270698, -0.0734554, -0.111465365, 0.03420695, 0.109617576, 0.0010966054, -0.2844835, 0.26836982, 0.23121232, -0.10785496) * go_4(0.0, -1.0); + result += mat4(0.23357789, 0.00012668641, 0.107617445, 0.095301114, -0.02025481, 0.05065449, -0.024430674, -0.06981479, -0.013470061, -0.18655962, 0.0027839232, -0.12599237, 0.33548972, 0.30407274, -0.40126064, -0.32490435) * go_4(0.0, 0.0); + result += mat4(-0.122281134, -0.04318224, -0.052405555, 0.013284251, 0.13037762, -0.03950817, 0.11751856, 0.12586644, 0.04493563, 0.065146565, -0.08837088, 0.047829423, -0.06804128, 0.048373412, -0.15102965, 0.055268798) * go_4(0.0, 1.0); + result += mat4(0.030756064, 0.04952702, -0.13558283, 0.0072438875, 0.009556099, -0.010242232, -0.030279964, -0.02526838, 0.038414564, 0.048353594, 0.095979914, 0.021043506, -0.03390589, 0.21514107, 0.16822831, -0.03800557) * go_4(1.0, -1.0); + result += mat4(-0.077866204, -0.033634454, 0.037902627, 0.07902395, -0.028916273, -0.0226067, -0.024876777, -0.022323275, 0.023246247, 0.053687774, -0.07160366, 0.047302466, -0.16095349, 0.20279877, 0.4096563, -0.07618548) * go_4(1.0, 0.0); + result += mat4(-0.07142796, 0.06627731, -0.14174895, -0.07026203, 0.07220904, -0.040048495, -0.00987828, 0.08977276, 0.13406783, 0.01384705, -0.11771938, 0.12959056, 0.014253595, -0.06292875, 0.2582175, 0.40633658) * go_4(1.0, 1.0); + result += mat4(-0.16788402, 0.050656084, 0.19867243, -0.047497474, -0.041200183, -0.035055846, 0.07874877, 0.04519112, -0.06284356, 0.066545784, 0.12576821, -0.056989186, -0.017403305, 0.08785861, -0.041629825, -0.015809631) * go_5(-1.0, -1.0); + result += mat4(-0.049183913, 0.0074359034, -0.08632813, 0.005517822, 0.022378573, 0.008625282, -0.08956046, -0.022195501, 0.05653246, 0.059899297, -0.18981466, -0.088493966, -0.17928217, 0.09689291, 0.119702354, 0.02164232) * go_5(-1.0, 0.0); + result += mat4(0.14917888, 0.015048009, -0.005661549, 0.037006833, -0.044544507, -0.04312164, -0.00308949, -0.1262605, -0.05497811, 0.007944446, 0.08427898, 0.10117571, -0.04657141, 0.02150161, -0.06573186, 0.040465128) * go_5(-1.0, 1.0); + result += mat4(-0.13925308, -0.027741015, 0.154933, -0.21173707, 0.03086154, -0.09298073, 0.012140707, -0.0837475, -0.0389594, -0.13471437, -0.06527673, -0.09669443, -0.029916963, 0.098984316, 0.07964568, 0.12955827) * go_5(0.0, -1.0); + result += mat4(0.113585204, -0.1900433, 0.06495972, 0.2520296, 0.028009154, 0.11481251, -0.041522022, 0.12091007, 0.10473571, 0.050006554, 0.15297762, -0.008781097, 0.31699565, -0.017735595, -0.17169666, -0.2624132) * go_5(0.0, 0.0); + result += mat4(0.0887785, 0.028235141, 0.07372089, 0.04354993, 0.017250411, 0.06372916, 0.14129215, 0.02355555, 0.027448706, 0.044665307, 0.021888286, 0.19552916, 0.15212306, 0.04121492, 0.14111567, 0.17364514) * go_5(0.0, 1.0); + result += mat4(-0.053401828, 0.0036638333, -0.11299562, -0.018262852, -0.018146416, 0.036637712, -0.016478777, -0.1337408, -0.0517515, -0.04804134, 0.023531632, -0.043174334, -0.06509281, 0.04609587, 0.12353532, 0.07258964) * go_5(1.0, -1.0); + result += mat4(0.13987146, -0.004954282, -0.19968997, 0.10498915, 0.032130655, -0.06047886, 0.05529797, 0.1026575, 0.05790419, -0.02940328, -0.0059209364, 0.014009479, 0.03707385, -0.22969075, 0.014512211, -0.05710503) * go_5(1.0, 0.0); + result += mat4(-0.039069746, 0.062022384, -0.07215672, 0.06928623, 0.060027763, -0.0012453326, -0.10970553, -0.06261657, 0.1871706, -0.0018255943, -0.14889055, 0.023299964, -0.3351649, 0.37802795, -0.19070482, -0.060723614) * go_5(1.0, 1.0); + result += vec4(0.11029581, -0.13019782, -0.084883854, -0.08666392); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!SAVE conv2d_5_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.2512713, 0.04446131, -0.13019001, -0.19825238, -0.13686082, 0.0009870777, -0.057273045, -0.18591711, -0.23278764, 0.18710285, -0.22846954, 0.053128306, -0.21377552, -0.031190397, 0.02671188, 0.27215254) * go_0(-1.0, -1.0); + result += mat4(-0.02850081, -0.25581798, -0.2916671, 0.25948995, -0.061595846, 0.021996778, 0.26533875, -0.1386817, -0.50907725, -0.107387096, -0.5450341, -0.024946108, -0.17377011, 0.16451572, 0.026229601, 0.4334658) * go_0(-1.0, 0.0); + result += mat4(-0.16645597, 0.04859862, -0.11956127, -0.10639128, -0.1512508, -0.16807108, -0.17695063, 0.18996993, 0.02294206, -0.10125812, -0.5181448, -0.38864586, 0.23754308, -0.08984774, -0.24180885, 0.3828395) * go_0(-1.0, 1.0); + result += mat4(0.06978632, -0.07391368, 0.16064985, 0.14387815, 0.13395701, 0.0072151893, -0.012425532, 0.17299308, 0.07081038, 0.36008126, -0.15714419, 0.07240115, 0.13636859, 0.1784294, 0.011940809, -0.52540964) * go_0(0.0, -1.0); + result += mat4(-0.09117334, 0.23012494, 0.28810725, -0.100390926, 0.06310453, 0.20847455, -0.10232593, -0.19567461, 0.36627305, -0.4853842, 0.08254439, 0.24376224, 0.056684412, 0.006989206, 0.022157473, -0.030653777) * go_0(0.0, 0.0); + result += mat4(-0.2663092, 0.00064693484, 0.029155029, 0.09757617, 0.1529268, 0.091259964, -0.10012239, -0.22128165, 0.13576204, 0.11918086, 0.19831064, 0.502025, 0.12156709, 0.24983601, 0.3127286, 0.75281775) * go_0(0.0, 1.0); + result += mat4(-0.17778896, 0.22676969, -0.015692642, -0.009996105, 0.028742755, -0.047916196, 0.25847134, 0.08189432, 0.36310482, -0.15971468, -0.67326957, -0.2647825, 0.21505079, -0.13693511, -0.25197342, -0.035831798) * go_0(1.0, -1.0); + result += mat4(-0.2606467, -0.04332907, -0.0081932675, -0.1871374, 0.011161732, 0.060496867, 0.1462103, 0.06257406, 0.3499117, 0.3138593, 0.76008654, -0.015321124, 0.111340284, -0.19518661, -0.07172604, -0.09686078) * go_0(1.0, 0.0); + result += mat4(0.06345513, -0.11955674, -0.10117546, 0.11214337, -0.032827023, -0.03233337, 0.0405524, -0.059570026, 0.43338406, 0.19762945, 0.7126324, 0.4188931, -0.101491705, -0.013107355, -0.12105306, -0.006423246) * go_0(1.0, 1.0); + result += mat4(-0.06646153, 0.008786217, -0.12322221, 0.038551513, 0.21105461, 0.029630456, -0.046948384, -0.08749188, 0.20109598, -0.32960144, 0.12458934, 0.065261096, 0.1736474, 0.08107202, 0.21897486, -0.07582082) * go_1(-1.0, -1.0); + result += mat4(-0.0956223, -0.16077499, -0.078044854, 0.010729564, -0.13726994, 0.028060393, 0.03612404, -0.34773487, -0.102635644, -0.15022214, 0.35442317, 0.1504626, 0.12941697, -0.0081511475, 0.47598404, 0.1603431) * go_1(-1.0, 0.0); + result += mat4(0.056824043, 0.06583582, 0.19184831, -0.2864132, 0.028662741, 0.11763177, -0.13771693, 0.00023768989, -0.103775464, -0.17286631, 0.0583067, -0.24930799, -0.003860889, 0.03102717, 0.27666515, 0.16049923) * go_1(-1.0, 1.0); + result += mat4(0.10747796, -0.11407924, 0.07512156, 0.16156466, -0.0761196, -0.4194308, 0.3467298, 0.051567934, -0.01650765, -0.3078, -0.0915916, -0.12230647, 0.28413123, 0.12150274, 0.32607988, 0.03547804) * go_1(0.0, -1.0); + result += mat4(-0.15339021, -0.32022968, -0.15313472, -0.21096179, 0.21755596, 0.5007671, -0.084493205, 0.24789453, -0.008148358, -0.37689698, 0.052389532, 0.1103459, 0.116709754, 0.057310186, -0.13453801, 0.31041884) * go_1(0.0, 0.0); + result += mat4(-0.27026525, 0.055883665, 0.21993993, 0.16815868, -0.16430366, 0.014845722, -0.04250501, -0.32818204, -0.06997226, -0.15058292, 0.15950048, -0.12349109, 0.027781306, 0.010121193, 0.21316971, 0.35488003) * go_1(0.0, 1.0); + result += mat4(-0.26226902, 0.12889884, 0.035255022, -0.25410843, 0.15391718, 0.15659589, 0.23515344, -0.12434832, -0.25579002, -0.30341643, -0.037506066, -0.15720633, 0.1376103, 0.18252009, 0.33176532, 0.027529534) * go_1(1.0, -1.0); + result += mat4(0.0037590207, 0.17911285, 0.06906637, 0.17953697, -0.09008308, -0.15015154, -0.43836382, 0.3525618, 0.05467472, -0.52823055, -0.23620026, 0.34462368, 0.39483768, 0.20073475, 0.3278273, 0.10098111) * go_1(1.0, 0.0); + result += mat4(0.10590756, 0.0948448, -0.14713965, 0.36263084, -0.20373668, -0.002442622, -0.17611219, -0.12712897, 0.047380507, -0.07845144, -0.21089159, -0.16667572, 0.19997585, 0.13592377, 0.33893886, 0.18317363) * go_1(1.0, 1.0); + result += mat4(0.2965214, -0.06210429, -0.14850818, 0.08950312, 0.16642696, -0.016716538, -0.072306536, 0.31038073, -0.07912652, -0.05515433, -0.04921583, 0.08185186, 0.18347357, 0.022154849, -0.0004953931, -0.03949225) * go_2(-1.0, -1.0); + result += mat4(-0.29195285, 0.24432418, -0.36798882, 0.17430644, 0.36771268, -0.06538093, -0.29294577, -0.06279913, -0.21313414, 0.09859833, -0.108558804, -0.029308762, 0.13946626, -0.017130189, -0.06855778, -0.25429824) * go_2(-1.0, 0.0); + result += mat4(-0.06389454, -0.064197145, -0.045878682, -0.07161815, 0.04137984, 0.16231675, 0.4002652, -0.19706374, -0.23648848, -0.12520109, -0.13031802, 0.16896103, -0.14413834, 0.08727873, 0.23887047, -0.10668098) * go_2(-1.0, 1.0); + result += mat4(0.049962725, 0.015332934, -0.32353997, 0.010178239, 0.14607702, -0.021713382, 0.30675814, -0.23125732, -0.12972106, -0.015958687, -0.12036701, -0.10332523, 0.004802664, -0.04311933, -0.18757673, 0.13215788) * go_2(0.0, -1.0); + result += mat4(-0.149493, -0.25933927, -0.16011974, 0.030059932, 0.17800556, -0.21459822, -0.2168605, 0.3184123, 0.10750539, 0.16187398, 0.32434842, 0.11596275, -0.13076428, 0.19637384, 0.22133437, 0.37495127) * go_2(0.0, 0.0); + result += mat4(0.054967344, 0.02872234, 0.03161886, 0.062141456, -0.19746579, -0.14291914, 7.4703865e-05, 0.15052183, 0.11602195, 0.0037601371, -0.02332411, -0.089222685, 0.23475187, -0.1604402, -0.38760346, -0.020806316) * go_2(0.0, 1.0); + result += mat4(-0.14585812, -0.14615667, -0.051447522, 0.15611356, 0.18497528, 0.081289835, 0.12661521, 0.005147319, -0.036558554, -0.053869057, -0.0039063287, -0.032759674, 0.09126186, 0.008506298, -0.034447696, -0.10733875) * go_2(1.0, -1.0); + result += mat4(0.054028746, -0.00937832, -0.15684044, -0.035560567, 0.11809561, 0.1014585, 0.03356128, 0.02016173, 0.09049222, -0.021339757, 0.07999249, 0.18014722, 0.016788004, 0.043118123, -0.18311624, -0.17827764) * go_2(1.0, 0.0); + result += mat4(-0.17769523, 0.11805558, 0.1659212, 0.041927963, 0.078464985, 0.07504244, 0.09389066, 0.050142735, 0.10748948, -0.102326766, -0.24754792, -0.122868046, -0.11781918, -0.014019157, 0.049353566, 0.058935367) * go_2(1.0, 1.0); + result += mat4(0.15844208, 0.04755972, 0.2995126, -0.21663505, -0.00011620265, -0.0920107, -0.022999357, -0.1296501, -0.15867265, -0.19909091, -0.19694586, -0.056097876, 0.07395912, 0.10025299, 0.25709102, -0.023848202) * go_3(-1.0, -1.0); + result += mat4(-0.11322553, -0.09600812, -0.14286031, 0.14715615, 0.1812981, -0.010719141, -0.06493227, -0.02056335, -0.036782123, -0.16428772, -0.0257993, -0.413957, 0.22038403, 0.12777176, 0.07709192, -0.062658824) * go_3(-1.0, 0.0); + result += mat4(-0.028069293, 0.06065116, -0.2580596, 0.1429641, -0.031438775, 0.15333374, 0.04029889, -0.2119529, 0.02965389, 0.011932767, 0.048941217, 0.052197248, 0.0069986824, 0.114639916, 0.23558734, 0.071952805) * go_3(-1.0, 1.0); + result += mat4(-0.06488308, 0.09402183, 0.2945335, -0.0075379927, 0.23234147, 0.16486216, 0.075063676, -0.13243993, -0.07322842, -0.03335224, 0.10056115, -0.03634638, -0.039835792, 0.07942052, 0.011616743, -0.032830272) * go_3(0.0, -1.0); + result += mat4(-0.07104258, -0.17667016, -0.21837749, -0.055763435, -0.6686622, -0.20883176, 0.2730452, 0.23990531, -0.029782413, -0.0098454505, -0.3267454, -0.13315259, 0.26045015, 0.06319506, 0.3368705, -0.057651937) * go_3(0.0, 0.0); + result += mat4(-0.1651042, -0.0065184776, -0.07931902, -0.3233216, -0.17614277, -0.014422923, 0.12026072, 0.19844185, -0.16411425, -0.10423013, -0.14174505, -0.042299822, -0.013956158, 0.043245506, 0.28541192, -0.024170961) * go_3(0.0, 1.0); + result += mat4(0.11822045, 0.13256907, 0.1145154, 0.20927152, 0.05685588, -0.13790809, -0.3190584, 0.1989516, 0.009066991, 0.2330579, 0.1995987, 0.11560573, -0.030923547, 0.087892644, 0.21597871, 0.03743619) * go_3(1.0, -1.0); + result += mat4(-0.4099685, -0.020438893, -0.082362354, -0.06452889, 0.37881377, 0.10635464, -0.06538328, -0.38973767, 0.51307523, 0.11719936, 0.38153416, -0.34511742, -0.048716113, -0.018229034, -0.03832133, -0.05830876) * go_3(1.0, 0.0); + result += mat4(-0.106022984, -0.014159266, -0.026645603, -0.038261224, 0.20721874, -0.040447287, 0.034983322, 0.14717588, -0.010929067, -0.16487508, -0.01462808, 0.10304265, -0.10781002, 0.023938116, 0.18254079, 0.004454827) * go_3(1.0, 1.0); + result += mat4(0.021212364, 0.02463952, 0.20319557, 0.006853534, 0.01923601, -0.03024551, 0.16040856, 0.030991258, -0.069986686, 0.062546656, -0.031001838, -0.041288298, -0.1010596, 0.06939378, 0.23429441, -0.09559115) * go_4(-1.0, -1.0); + result += mat4(0.06261205, -0.03705453, -0.18669654, -0.0181734, 0.11758142, 0.062471334, 0.19166726, 0.20650591, -0.15047501, 0.15895432, 0.049506746, 0.21445669, -0.103519544, 0.005469086, 0.0039006013, -0.27438062) * go_4(-1.0, 0.0); + result += mat4(-0.080068275, 0.087389246, 0.063547224, 0.07317146, 0.06493674, 0.08251285, 0.19219737, 0.14406256, 0.0050070896, 0.08467077, 0.30765936, 0.13362816, -0.19590043, -0.0025648642, -0.02054509, -0.123127185) * go_4(-1.0, 1.0); + result += mat4(0.035833023, -0.07591796, -0.07311685, -0.015659545, -0.1071422, -0.03163112, -0.15992196, -0.012923958, -0.2571729, -0.07938968, 0.0413156, -0.13006738, -0.15211388, 0.04415037, -0.05164996, 0.10922049) * go_4(0.0, -1.0); + result += mat4(-0.01729037, 0.15696312, 0.24416976, -0.14139475, -0.113730945, -0.03231372, -0.030602036, 0.13402711, -0.4753809, -0.08170512, -0.22863603, 0.014114137, 0.11541584, -0.11207372, -0.6808578, -0.18360177) * go_4(0.0, 0.0); + result += mat4(0.055491205, -0.12612139, -0.106761724, 0.012882862, 0.14926314, 0.091033846, 0.20083062, -0.0016588457, 0.20377177, -0.11680146, 0.10070291, 0.050298847, -0.06142294, -0.09137155, -0.0892819, -0.33678165) * go_4(0.0, 1.0); + result += mat4(0.10703002, 0.084578834, -0.12851705, 0.060689818, 0.09584378, 0.08541435, -0.19049749, -0.06647584, 0.067393035, -0.07042473, -0.44782272, 0.077020116, 0.023799181, 0.13890763, 0.30552545, -0.099860385) * go_4(1.0, -1.0); + result += mat4(-0.06843849, -0.06796385, -0.14991613, -0.10321344, 0.030656688, 0.01517565, -0.04451364, -0.14096247, 0.0616397, 0.104577266, 0.17183799, -0.33740512, -0.17921185, 0.13753828, 0.033225838, 0.033278663) * go_4(1.0, 0.0); + result += mat4(0.07333974, -0.035097934, -0.099412724, 0.028803498, 0.0073889066, 0.04448838, 0.10087784, -0.10349331, -0.1748929, -0.023355793, 0.12004346, 0.060392488, 0.21111041, 0.02820841, -0.01905034, -0.060936175) * go_4(1.0, 1.0); + result += mat4(0.1230735, -0.036640514, 0.14228842, 0.03674977, 0.18953583, 0.12063422, 0.278849, 0.011077689, -0.004723119, -0.085871086, -0.22208698, -0.05897798, -0.08820831, -0.055343833, -0.36630332, 0.061420467) * go_5(-1.0, -1.0); + result += mat4(-0.08617953, 0.029824207, 0.012999008, 0.14653832, 0.091754906, -0.18726993, 0.15466972, 0.07520414, -0.09422507, 0.06285359, -0.05190847, 0.040111717, 0.06347725, -0.12677085, -0.25064456, 0.037838973) * go_5(-1.0, 0.0); + result += mat4(0.024296625, 0.050277006, -0.0038943852, 0.22721657, 0.094200276, 0.13543595, -0.07011714, -0.0761234, 0.09904409, 0.040095594, 0.038246762, -0.088900656, -0.0994826, -0.07779853, -0.23548591, -0.011814277) * go_5(-1.0, 1.0); + result += mat4(-0.11484334, 0.058457036, -0.14017995, 0.004168719, 0.280425, -0.0608683, -0.041607536, 0.18203874, -0.09708175, 0.010571225, -0.09521854, 0.10316223, 0.22425781, 0.012244434, 0.22746642, -0.14701338) * go_5(0.0, -1.0); + result += mat4(-0.23617493, -0.17771423, -0.08029921, -0.17315923, -0.5219916, -0.20046392, -0.61504555, 0.097057335, -0.17237096, -0.12740523, -0.19614285, -0.0962008, 0.16025336, -0.061222732, 0.17753237, 0.17213206) * go_5(0.0, 0.0); + result += mat4(-0.106579974, 0.049742647, -0.05126049, 0.029903352, 0.26753578, -0.060165133, -0.056066565, 0.061395545, 0.21733779, 0.08878832, 0.0326938, -0.021217436, 0.098148674, 0.032903112, 0.20047897, 0.26074448) * go_5(0.0, 1.0); + result += mat4(0.0755034, 0.07197553, 0.1150647, 0.060213815, 0.02418587, -0.0068174214, 0.09854082, -0.06657632, -0.09059176, 0.06860972, 0.02102682, -0.08348747, 0.18531941, 0.01842052, -0.10409639, 0.10308704) * go_5(1.0, -1.0); + result += mat4(0.23391157, -0.04221323, 0.0070946272, 0.22225508, -0.03986882, 0.21027099, 0.3479087, 0.078737445, 0.10444782, 0.14575955, 0.28820315, 0.028596792, 0.25995937, 0.170944, 0.0895069, -0.007549278) * go_5(1.0, 0.0); + result += mat4(0.1333923, 0.057424176, 0.03997452, -0.070987694, -0.040175647, -0.106138796, 0.05134428, 0.17941214, 0.040890414, 0.047647286, 0.11145406, -0.064056404, -0.050256927, 0.1002497, 0.3559856, -0.20863442) * go_5(1.0, 1.0); + result += mat4(0.1188355, -0.12645717, -0.2225628, -0.08409446, 0.031680476, 0.1285114, 0.015257031, 0.07314906, -0.21217677, -0.07397989, -0.09830523, 0.095247865, -0.17913309, 0.041592747, -0.2962181, -0.14066707) * go_6(-1.0, -1.0); + result += mat4(-0.07401649, 0.04513353, -0.08079379, -0.2691485, 0.062272236, 0.018691711, -0.060476813, -0.06744648, 0.100468054, 0.023117458, -0.14244545, -0.3305552, 0.010295283, 0.16395009, 0.15042467, -0.034076292) * go_6(-1.0, 0.0); + result += mat4(-0.3141746, -0.26248914, -0.027696338, -0.30070263, 0.09125419, -0.0014763775, -0.14756647, -0.17390263, -0.17403154, -0.04297874, -0.1500881, -0.15539391, 0.006197388, 0.023637652, 0.032611176, 0.048603363) * go_6(-1.0, 1.0); + result += mat4(-0.07516776, -0.031942673, 0.07770739, 0.031496312, -0.0021692938, 0.056884985, 0.24546169, 0.003367791, -0.05033831, 0.028794305, 0.021211961, 0.33864278, 0.0031321745, -0.105278015, 0.0111407675, 0.0701436) * go_6(0.0, -1.0); + result += mat4(0.1021264, 0.0061049256, 0.19486322, 0.126134, -0.095017105, -0.08792092, 0.02274828, 0.02951376, 0.48483998, 0.07009104, 0.38171777, 0.02422749, -0.12333685, 0.11261442, 0.16367728, 0.072420195) * go_6(0.0, 0.0); + result += mat4(0.021734113, 0.21130675, -0.014667037, -0.007789671, -0.06846323, -0.117793076, -0.0964307, -0.02935036, -0.18294816, 0.059842993, -0.28913066, -0.102560386, 0.15000913, 0.032450397, 0.0988687, -0.085506015) * go_6(0.0, 1.0); + result += mat4(0.19509225, 0.028781189, 0.09271222, -0.1837815, -0.0120801255, 0.026893526, 0.2693688, -0.0016265993, 0.0039579174, 0.18030784, 0.4051318, -0.21415327, -0.12954094, -0.119375914, -0.30373552, -0.055964008) * go_6(1.0, -1.0); + result += mat4(-0.06313117, -0.32275942, -0.05000967, 0.20948593, 0.006625605, -0.02862116, 0.092328526, -0.0042809383, -0.22583593, -0.104118, -0.14766322, 0.3377656, 0.04367254, -0.21394794, -0.03967783, 0.04314833) * go_6(1.0, 0.0); + result += mat4(-0.16170035, -0.09274618, -0.068409264, -0.23469074, 0.02216607, -0.020882646, -0.030780574, -0.032728698, 0.19974543, -0.038825467, -0.20880729, -0.026957387, -0.2665676, -0.0042840806, -0.17434914, -0.20162287) * go_6(1.0, 1.0); + result += mat4(0.008706336, 0.24857536, 0.07012665, 0.029141488, -0.075971976, -0.06542143, -0.26977444, 0.28518954, -0.03994618, 0.06746459, 0.15960494, -0.031614818, 0.10402686, 0.05228521, 0.2706839, -0.08412449) * go_7(-1.0, -1.0); + result += mat4(0.34868455, 0.059125874, -0.24923514, -0.14030626, -0.002206843, 0.17649965, 0.022088109, 0.16989319, 0.28018022, 0.037482813, 0.033881966, -0.110211805, -0.1461133, 0.100152865, 0.21151756, 0.12784961) * go_7(-1.0, 0.0); + result += mat4(-0.0319395, -0.17589076, -0.22462021, 0.10701813, -0.06862374, -0.09489239, 0.22301264, 0.14567333, -0.10425317, -0.017173383, -0.09257967, 0.07398802, -0.0145952385, 0.18448386, 0.21701702, -0.16777204) * go_7(-1.0, 1.0); + result += mat4(0.061221093, -0.05704288, -0.07676006, -0.052152745, -0.29757017, -0.041490067, 0.10110148, 0.06999996, 0.13920887, 0.096642986, 0.11759076, 0.039797485, -0.11345797, 0.08531267, 0.0020498617, 0.20756677) * go_7(0.0, -1.0); + result += mat4(-0.02924768, 0.43140748, 0.3576708, 0.07425467, -0.09776612, 0.17081547, 0.047453757, -0.24676917, 0.24032865, 0.16710171, 0.2931733, 0.10410114, -0.015874937, -0.098303884, -0.38009295, -0.17355318) * go_7(0.0, 0.0); + result += mat4(-0.13524444, 0.007712721, -0.15341945, 0.26658493, -0.15367007, 0.04757085, 0.05987942, 0.16386369, -0.2413242, -0.0129769435, -0.06789226, -0.10357101, 0.092468075, 0.11371365, -0.19948734, -0.14243089) * go_7(0.0, 1.0); + result += mat4(0.118277036, -0.06164381, -0.1686405, 0.058012348, -0.2670688, -0.0145501625, -0.07265152, -0.11451649, 0.06803662, -0.02435205, 0.03637894, 0.053843852, 0.03652821, -0.10161457, -0.0029967225, 0.069967866) * go_7(1.0, -1.0); + result += mat4(0.23541775, -0.059244093, -0.096260205, -0.034619953, -0.24691534, -0.22830355, -0.033745077, -0.06558064, -0.1939561, -0.27438363, -0.3102494, 0.010047581, -0.036287133, 0.015464844, -0.07904172, 0.058030576) * go_7(1.0, 0.0); + result += mat4(-0.30107716, -0.1288575, -0.022093268, 0.27418026, 0.23561528, 0.11505671, 0.3549647, -0.13953236, 0.14726228, -0.0036342216, -0.14700253, -0.028157962, -0.23330247, -0.14545065, -0.29455653, 0.28482953) * go_7(1.0, 1.0); + result += vec4(0.028692381, 0.02326062, -0.11377067, 0.025062647); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!SAVE conv2d_5_tf1 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.022938877, 0.2579751, -0.013084437, -0.1089233, -0.14861627, -0.078500114, 0.019642482, -0.05139565, -0.051909085, -0.17062944, 0.068744116, -0.07403651, 0.3269677, 0.17037666, 4.5802863e-05, -0.15335672) * go_0(-1.0, -1.0); + result += mat4(0.07954113, 0.18079437, -0.28405085, 0.007825187, 0.20935248, 0.14544328, 0.033194635, -0.21030708, 0.32258448, -0.26704326, 0.16460042, 0.065626666, -0.08469482, 0.06723138, -0.09091223, -0.06205721) * go_0(-1.0, 0.0); + result += mat4(0.17380527, -0.020091513, 0.0582957, -0.024271399, 0.18975389, 0.19778416, -0.29433975, 0.15521859, 0.58399194, -0.09595809, 0.009928574, -0.18851084, -0.29115897, -0.048134226, -0.09617586, 0.047225073) * go_0(-1.0, 1.0); + result += mat4(-0.09309238, -0.07675889, -0.24878357, -0.06531893, -0.064129435, -0.009008467, 0.11631878, -0.06916144, 0.2793126, -0.32513165, 0.37253168, 0.036576062, 0.36744595, -0.04729552, -0.13206004, -0.05215635) * go_0(0.0, -1.0); + result += mat4(-0.023187222, 0.0009231289, 0.14988932, 0.23626575, -0.15809236, 0.17567657, -0.02422277, -0.33645374, -0.41344398, 0.17103645, 0.3518877, 0.47345215, -0.25195712, 0.084660046, -0.12522705, 0.052872717) * go_0(0.0, 0.0); + result += mat4(0.055161323, 0.043026455, 0.03779778, -0.08075425, -0.115782134, -0.014549669, 0.37075353, 0.22045816, -0.49088693, 0.0835494, 0.2159082, -0.41866717, -0.06417238, -0.30653054, 0.12484446, 0.13176875) * go_0(0.0, 1.0); + result += mat4(-0.045149174, 0.06681547, 0.18394029, -0.14042361, -0.07765508, 0.05034044, -0.17164557, -0.12491487, 0.4975827, -0.3203176, 0.055334024, 0.125109, 0.336075, 0.28669038, 0.30557877, 0.030119808) * go_0(1.0, -1.0); + result += mat4(0.00011821607, -0.122472174, -0.08324348, -0.027970925, -0.023000905, -0.099142514, -0.035895523, -0.08137834, -0.16044949, -0.19354698, -0.15582532, -0.081981316, 0.12961699, -0.1918534, 0.08779121, 0.12144554) * go_0(1.0, 0.0); + result += mat4(0.025441505, 0.03427134, -0.0064664106, 0.07586567, -0.1003307, -0.065233536, -0.16611056, -0.12936847, -0.50816315, -0.32010305, -0.20362125, -0.03147093, -0.072087474, 0.054650743, -0.16390504, 0.019627476) * go_0(1.0, 1.0); + result += mat4(-0.40184093, 0.022268726, -0.34950277, 0.0594148, -0.2275374, -0.12103956, 0.0052295276, -0.00024172834, 0.10389285, -0.1376218, -0.25130105, 0.14029239, -0.2917768, -0.14039762, -0.14850211, 0.035800025) * go_1(-1.0, -1.0); + result += mat4(0.062030964, 0.25622177, -0.72319925, 0.15366316, -0.183584, 0.36516508, -0.23446779, 0.08663755, -0.18829858, -0.002415918, -0.43276885, -0.07432367, -0.16350701, -0.3125193, -0.14811535, 0.0011325915) * go_1(-1.0, 0.0); + result += mat4(0.12557262, 0.20273705, -0.276058, -0.02353762, -0.066855654, 0.007290285, 0.043816283, -0.08797092, 0.12488218, -0.0654431, -0.019331945, -0.07025083, -0.24953426, -0.10457234, -0.14429206, -0.06647885) * go_1(-1.0, 1.0); + result += mat4(-0.09522532, 0.076986365, -0.21861225, -0.015553463, -0.08106973, 0.10615721, -0.11285844, 0.24737634, 0.16936691, -0.019318739, -0.11046508, -0.16758144, -0.23672962, -0.14047794, -0.055881936, -0.0519727) * go_1(0.0, -1.0); + result += mat4(-0.09556547, 0.38048413, 0.2174768, -0.40154982, 0.040295098, -0.28001946, 0.079922006, -0.27905703, 0.036086317, -0.47458485, 0.01217378, 0.047201037, -0.14604184, 0.14169596, -0.078762196, 0.39877397) * go_1(0.0, 0.0); + result += mat4(-0.043790977, 0.03552704, 0.7248381, -0.50752306, 0.28982326, -0.11697283, -0.061339833, 0.19690266, 0.044057723, 0.061007652, -0.018818501, -0.22131611, -0.32041064, 0.05665662, 0.07443633, -0.15590373) * go_1(0.0, 1.0); + result += mat4(-0.036357548, 0.099011496, -0.0600166, -0.006672921, -0.1656192, -0.058472272, -0.037689343, 0.005283873, -0.30923024, 0.046291128, 0.042236008, -0.04899875, -0.3175488, -0.12077662, -0.13294365, 0.03357164) * go_1(1.0, -1.0); + result += mat4(0.1086259, -0.19654356, 0.07482405, 0.028583387, 0.12874746, 0.13142939, -0.03945759, 0.070535645, -0.23495245, -0.039286736, 0.05450344, -0.026803093, -0.114840984, 0.045042433, -0.18101883, 0.08081232) * go_1(1.0, 0.0); + result += mat4(0.2383998, -0.033481326, 0.12682496, 0.17717046, -0.09860243, 0.09552485, -0.056021366, 0.13705646, 0.2192259, 0.2657086, -0.014578617, -0.05311957, -0.3127505, -0.0035301214, 0.044448815, -0.037845958) * go_1(1.0, 1.0); + result += mat4(-0.093362145, -0.08148622, 0.12565112, -0.019403974, -0.13835338, -0.0071526463, 0.1290535, -0.057555214, 0.09632061, -0.053040132, 0.09852903, -0.03910937, -0.032320388, 0.048392795, -0.012207167, -0.04393196) * go_2(-1.0, -1.0); + result += mat4(0.057860725, -0.2024194, 0.29320854, -0.10589582, -0.10735796, 0.13684767, 0.28570637, 0.19166973, -0.09423759, 0.22893463, -0.114109, -0.025798064, 0.017444948, 0.11321059, 0.16112305, 0.04476502) * go_2(-1.0, 0.0); + result += mat4(-0.09663057, 0.10491212, -0.0963407, -0.1480959, -0.04952603, -0.08474395, -0.028124198, -0.12026459, 0.088296264, 0.03230017, -0.05177514, -0.024137117, -0.011235952, -0.049136978, 0.1452754, 0.11608158) * go_2(-1.0, 1.0); + result += mat4(0.07949651, 0.06453834, 0.31745693, -0.03497614, -0.20939794, -0.042127363, 0.017483925, -0.12876181, -0.0162109, -0.037397776, -0.013959519, 0.007777444, 0.1301563, 0.03655948, -0.044273265, -0.069461495) * go_2(0.0, -1.0); + result += mat4(0.076347195, 0.07847409, -0.03042475, -0.08723051, 0.23076174, -0.078408934, 0.40998375, 0.021870123, 0.19212195, 0.14179486, 0.09031163, -0.15221268, 0.20335157, -0.58715457, -0.023486411, -0.015180159) * go_2(0.0, 0.0); + result += mat4(-0.08601226, -0.048167598, -0.09975146, 0.008574901, 0.11590632, 0.0836411, -0.20796347, -0.29599068, -0.08497977, 0.04826079, -0.198501, 0.31000587, 0.06959842, 0.026950095, 0.19877516, -0.23890266) * go_2(0.0, 1.0); + result += mat4(-0.06923031, -0.028005023, -0.13632496, 0.004848759, -0.06092114, -0.12422374, 0.117385164, -0.017468572, -0.028347377, 0.002899302, 0.046875317, -0.058066733, 0.0028499789, -0.11922645, -0.209848, -0.016156359) * go_2(1.0, -1.0); + result += mat4(0.05266488, 0.08492771, 0.09440972, -0.08432919, -0.05243905, 0.1362437, -0.04429104, 0.11472059, -0.05158979, -0.23943315, 0.12290304, 0.040338255, -0.07158117, 0.06566732, -0.20102906, 0.114058346) * go_2(1.0, 0.0); + result += mat4(0.056619167, -0.033348348, 0.052370623, -0.06495122, 0.027564008, 0.08083595, -0.0127976, -0.06486138, -0.050432798, 0.026196232, 0.022196831, 0.20244269, 0.039577875, -0.052140575, -0.009956325, 0.077953376) * go_2(1.0, 1.0); + result += mat4(0.017136047, -0.15870284, -0.07191247, 0.18083136, 0.20753674, 0.15130065, -0.1790816, 0.26776645, -0.12231414, 0.24638735, -0.14738652, -0.028907528, 0.040832903, -0.067194805, 0.17294602, -0.0026166802) * go_3(-1.0, -1.0); + result += mat4(0.10104892, -0.018738149, -0.073060036, -0.29469725, 0.092650965, -0.15875727, -0.08502473, 0.032668564, -0.13845024, 0.27037326, -0.19944431, 0.039671347, -0.04895266, -0.017618237, 0.039025962, 0.0016598356) * go_3(-1.0, 0.0); + result += mat4(0.17514467, -0.07050378, 0.18666385, 0.12077226, 0.031181589, -0.21891394, 0.44564912, -0.14018096, -0.124896295, -0.0016302528, 0.03213462, 0.11361923, -0.07941629, -0.0925229, -0.084085576, 0.030316519) * go_3(-1.0, 1.0); + result += mat4(-0.35773918, -0.059806474, -0.0020904322, 0.19435045, -0.10230651, -0.007758403, -0.23293154, -0.32158864, -0.11275798, 0.16192111, 0.008352999, -0.008750009, 0.09212086, -0.09098618, -0.26915243, 0.03357177) * go_3(0.0, -1.0); + result += mat4(0.09943201, 0.1901531, -0.026349293, 0.17466106, -0.10673977, 0.2547749, 0.10157686, 0.1326886, 0.03555933, 0.36037236, -0.4218841, 0.07446364, -0.2235149, -0.13361512, -0.24873514, -0.23566855) * go_3(0.0, 0.0); + result += mat4(-0.083322965, 0.067394584, -0.15775509, 0.76516485, -0.40491992, 0.051136486, -0.21803752, -0.12209488, 0.043623567, 0.0404948, -0.28643316, 0.039587826, 0.0026148176, -0.08919038, -0.3478394, 0.116790466) * go_3(0.0, 1.0); + result += mat4(0.13910362, 0.023986172, 0.07350453, 0.010063174, 0.12445804, 0.09106235, 0.10570027, 0.025098123, 0.08997035, 0.2792279, 0.3160799, -0.3935213, 0.035729084, -0.021334067, -0.026267715, -0.044499733) * go_3(1.0, -1.0); + result += mat4(0.20421049, 0.07346835, 0.18474397, 0.026174849, -0.02989818, -0.06286323, 0.2275253, -0.029805843, 0.115734585, 0.15343104, 0.66103226, 0.075917505, -0.10288058, -0.021190342, 0.04455335, -0.011274376) * go_3(1.0, 0.0); + result += mat4(-0.2354359, -0.14831413, 0.037986103, 0.036590938, 0.25972295, 0.006108503, 0.030833008, -0.20212393, 0.022195943, -0.010900623, 0.37299496, -0.13169637, 0.03193699, 0.007832017, -0.017574975, 0.070344575) * go_3(1.0, 1.0); + result += mat4(-0.11885056, -0.18644641, 0.17840427, -0.13825245, -0.030942062, 0.015069156, 0.021639956, 0.11524744, -0.0601021, -0.008369759, 0.15134856, -0.18300958, -0.09940503, 0.009815146, -0.017253477, 0.09037604) * go_4(-1.0, -1.0); + result += mat4(-0.110104315, -0.009834152, -0.14369361, 0.06185118, -0.08255751, -0.0516039, -0.1951323, -0.00047362587, 0.017227406, -0.15231636, -0.042297862, -0.047925126, 0.34693977, 0.061454788, -0.11192555, 0.16597812) * go_4(-1.0, 0.0); + result += mat4(-0.15342343, 0.10931233, -0.007310907, -0.07751543, -0.0888511, -0.08119914, -0.1414023, -0.032593522, -0.13005419, -0.09993501, 0.20015062, -0.08697108, 0.020872341, -0.076239474, -0.09099305, -0.11908446) * go_4(-1.0, 1.0); + result += mat4(-0.044990964, -0.027314631, -0.07820695, 0.078159526, 0.042958725, 0.088754624, -0.049424402, 7.2685914e-05, -0.00056504336, -0.05408936, 0.24272163, -0.10305403, 0.041021567, 0.110585794, 0.10719972, 0.08432359) * go_4(0.0, -1.0); + result += mat4(-0.095741525, 0.12368431, 0.14801304, 0.0380265, -0.015476223, -0.06634335, 0.079489276, 0.058822274, 0.23608524, 0.29305235, -0.009837359, 0.16402614, -0.016570859, 0.3342296, 0.09576365, -0.021151496) * go_4(0.0, 0.0); + result += mat4(0.10729588, 0.045816828, 0.1262373, 0.0052509876, -0.121602945, -0.055951986, 0.04807077, -0.016409213, -0.011724864, 0.051216003, -0.119300105, 0.06001936, 0.084430665, -0.020765483, 0.16509366, -0.008958939) * go_4(0.0, 1.0); + result += mat4(-0.064694576, 0.110651545, 0.15088093, -0.046932697, 0.058936216, 0.06959351, -0.0020466733, 0.04747578, 0.22621915, 0.13449503, 0.01605113, 0.16042295, -0.07204144, -0.0900099, -0.088417225, -0.082057305) * go_4(1.0, -1.0); + result += mat4(0.16447057, -0.04517711, -0.1714595, -0.083775364, 0.06958718, -0.053486623, -0.031540155, 0.0049946113, 0.18206403, -0.12547323, -0.1314431, -0.2403156, 0.11255935, -0.01883286, 0.21715029, 0.043270845) * go_4(1.0, 0.0); + result += mat4(0.108898625, 0.079559706, -0.0034652199, 0.15574843, 0.025981857, -0.04027031, -0.10371948, -0.083748214, -0.067730375, -0.018392408, 0.001656431, 0.115139425, -0.021774331, -0.24732396, -0.07133477, -0.06610868) * go_4(1.0, 1.0); + result += mat4(-0.035133053, 0.03512937, 0.15728034, 0.15501308, -0.009090469, 0.089557186, -0.40637708, 0.2399038, 0.10503285, 0.025647165, -0.026959898, 0.052915934, 0.37169585, 0.19439524, 0.05578172, -0.14021298) * go_5(-1.0, -1.0); + result += mat4(0.14407758, 0.13171129, 0.034860328, -0.034273557, 0.31252018, -0.24374081, -0.092568725, -0.24656439, 0.013929443, -0.045619074, -0.030720312, -0.08240126, -0.008946209, -0.12069562, 0.10321105, 0.050253898) * go_5(-1.0, 0.0); + result += mat4(-0.16870415, -0.0053623654, -0.24239568, -0.015851695, 0.3168152, 0.10030775, -0.08809818, 0.19916728, 0.00062866835, 0.0105750095, -0.11852275, -0.038046032, -0.024067584, -0.07467565, 0.08368766, 0.10921712) * go_5(-1.0, 1.0); + result += mat4(-0.17414445, -0.08300633, -0.2915034, 0.08091456, 0.29668987, 0.15542515, 0.03857886, -0.12984616, 0.07567486, 0.14261106, 0.029647684, -0.08307407, 0.0063827154, -0.21285148, -0.05295185, 0.11996014) * go_5(0.0, -1.0); + result += mat4(0.21793848, -0.0986422, -0.38136294, -0.15358298, 0.23020543, -0.05977532, -0.11393491, -0.096013635, 0.24110852, 0.16509794, 0.123878606, 0.37243974, -0.11803778, -0.08029274, -0.3473595, -0.016619613) * go_5(0.0, 0.0); + result += mat4(-0.23718977, 0.09085187, 0.029400716, 0.47734168, 0.31362626, 0.017727366, 0.020105481, 0.057455037, -0.051743355, 0.07249409, 0.049400017, -0.1550629, -0.071846515, -0.1437987, 0.2417953, 0.014299535) * go_5(0.0, 1.0); + result += mat4(-0.08694347, 0.009841694, 0.09711932, 0.15246062, 0.098932154, -0.014437434, -0.11970662, 0.07598205, 0.038751386, 0.03185043, -0.07837853, 0.108438924, 0.04504558, 0.011566745, 0.008329154, 0.1426964) * go_5(1.0, -1.0); + result += mat4(0.048465043, 0.05677615, 0.099296875, -0.18124029, -0.010807039, -0.00491463, -0.33124956, -0.14285894, 0.083550416, -0.0138887465, -0.23193465, -0.097341135, 0.028116707, -0.02220312, -0.37721866, 0.01048504) * go_5(1.0, 0.0); + result += mat4(0.041770935, 0.14585412, 0.2197504, 0.08920772, 0.21015723, -0.028688433, 0.023897428, 0.067301795, -0.23041755, 0.007535018, -0.1479986, -0.056359813, -0.17258057, -0.115048505, -0.12676053, -0.08775268) * go_5(1.0, 1.0); + result += mat4(0.024465568, 0.082423724, -0.080443636, 0.06963394, 0.047642346, -0.14285465, -0.020962767, -0.09884441, 0.17492405, 0.003157105, -0.004446115, 0.08194303, 0.1291698, 0.027452087, 0.15300538, -0.054447226) * go_6(-1.0, -1.0); + result += mat4(0.04749992, 0.16784605, 0.1447426, -0.1622565, 0.24699093, -0.13908885, 0.24418731, -0.02740722, 0.12872131, -0.008208542, 0.20528013, 0.13789995, -0.15344016, -0.09991068, 0.14630906, -0.17380811) * go_6(-1.0, 0.0); + result += mat4(0.095947415, 0.20968701, -0.007149529, 0.094800524, 0.05043026, -0.0693885, 0.12464035, 0.03035088, 0.0108456295, 0.12440731, -0.15677981, -0.004279606, -0.21148744, -0.0016452523, -0.09077341, 0.08485625) * go_6(-1.0, 1.0); + result += mat4(0.14946367, -0.026544122, -0.01740767, -0.02725897, -0.031115597, -0.09615934, -0.014224658, 0.069897555, -0.06448997, 0.013844944, -0.24855709, 0.19252767, -0.07110074, -0.23129512, 0.17940485, -0.15197137) * go_6(0.0, -1.0); + result += mat4(0.024190446, -0.4131039, 0.20890464, -0.14430898, 0.09224411, -0.084142424, -0.1300263, -0.12037812, -0.13061382, -0.23952286, 0.3093258, -0.4347307, -0.07327249, -0.34333092, -0.22807422, -3.587411e-08) * go_6(0.0, 0.0); + result += mat4(-0.12566617, 0.09386748, -0.060595963, 0.06381177, 0.008107327, -0.063545115, 0.014224591, -0.113904804, 0.014311766, 0.074355006, 0.009707868, 0.06504525, -0.035151925, -0.059292633, -0.009372453, 0.0428329) * go_6(0.0, 1.0); + result += mat4(0.13565753, 0.08438446, -0.25228864, 0.29451725, -0.1524786, -0.05199007, -0.14514388, -0.007710791, -0.23031662, -0.069889344, -0.119042754, -0.15772636, 0.049727075, 0.14252858, 0.12696588, 0.034571454) * go_6(1.0, -1.0); + result += mat4(-0.318517, 0.16518372, 0.4465158, -0.12741676, -0.14931186, 0.01184804, -0.12370663, -0.05469679, -0.052085515, 0.07560356, 0.038580637, 0.101390935, -0.10760684, -0.09168702, -0.11736598, -0.027629623) * go_6(1.0, 0.0); + result += mat4(0.017697498, -0.032091524, -0.19681352, -0.39446026, -0.103161484, -0.041192908, 0.12083361, 0.033441972, 0.05410027, -0.13009293, -0.029752202, -0.055233393, 0.07508266, 0.21648347, 0.016127443, 0.003726564) * go_6(1.0, 1.0); + result += mat4(0.11844395, -0.20417796, 0.046860386, -0.04963335, 0.28758386, 0.12296038, 0.006130141, -0.12428727, -0.08112634, 0.08013286, -0.022072678, -0.013939199, -0.26830623, -0.0774501, -0.12584007, 0.1048961) * go_7(-1.0, -1.0); + result += mat4(-0.002199185, -0.18720287, 0.09647677, -0.099159345, -0.37042502, 0.12126858, -0.055984303, -0.006307439, 0.050587848, 0.13118829, 0.014796261, 0.118981615, 0.059268136, 0.04953137, -0.26783678, -0.005206253) * go_7(-1.0, 0.0); + result += mat4(0.29162773, -0.06825134, 0.35480535, -0.013254458, 0.13690558, -0.038092773, -0.1442183, 0.008582979, 0.06665567, 0.09263725, 0.06401897, 0.04955423, 0.026602494, -0.043426443, -0.06760424, -0.028097454) * go_7(-1.0, 1.0); + result += mat4(0.0062063616, 0.041832373, 0.026989486, 0.07646448, -0.075214215, -0.04088086, 0.030253297, -0.0031407007, 0.10060057, -0.21035422, -0.0057072476, 0.009671492, -0.01255018, 0.1356472, -0.07203105, -0.09337885) * go_7(0.0, -1.0); + result += mat4(-0.16497216, -0.46643725, 0.10457678, -0.08723099, 0.009856483, -0.09712093, -0.06077413, 0.029142302, -0.31294492, -0.2785737, -0.06385234, -0.46307138, 0.11363836, 0.050526526, 0.22832777, -0.037936512) * go_7(0.0, 0.0); + result += mat4(0.2284257, -0.06757494, -0.12362806, -0.46540114, -0.027965, -0.119273104, -0.04408465, -0.08089625, 0.064668186, 0.18018429, -0.052782137, 0.2974697, 0.07583212, -0.062142026, 0.16650566, -0.20243031) * go_7(0.0, 1.0); + result += mat4(0.1417323, 0.18362466, 0.015461011, -0.07306669, 0.05225903, 0.03313784, 0.046318106, 0.092073604, 0.014854908, -0.009204208, 0.08582702, -0.060514253, -0.033618286, -0.082627475, -0.047510605, -0.17358147) * go_7(1.0, -1.0); + result += mat4(0.044509146, 0.18667401, -0.11588646, 0.21190381, 0.13762853, -0.080344714, 0.035992276, -0.09347646, -0.05722154, -0.020241026, 0.09365893, 0.0743754, 0.028774736, -0.09181784, 0.117522955, 0.024451857) * go_7(1.0, 0.0); + result += mat4(0.33748287, 0.33612773, -0.14045207, -0.11222517, -0.11824314, 0.008339795, -0.13027953, 0.011434568, 0.20478332, 0.084446914, 0.10224658, 0.12708066, 0.3002674, 0.13365488, -0.06434799, -0.0489962) * go_7(1.0, 1.0); + result += vec4(0.06834564, 0.017679863, 0.058996353, 0.07812309); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!SAVE conv2d_5_tf2 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.096992515, 0.08555787, 0.05567075, 0.3684235, -0.08453214, 0.14874797, -0.03518968, -0.21077682, 0.50580394, 0.27776504, -0.14072414, -0.047293838, -0.02501663, -0.18525644, -0.049244765, -0.019314952) * go_0(-1.0, -1.0); + result += mat4(0.15942743, 0.05601269, 0.43267244, -0.10105792, -0.10224665, -0.011477545, 0.18586546, 0.15386245, 0.018015172, 0.40642846, -0.43969464, -0.16773906, -0.08753851, 0.023862977, -0.20476931, -0.19330433) * go_0(-1.0, 0.0); + result += mat4(-0.08384181, -0.21928434, 0.24617073, 0.072414346, 0.01447392, 0.1280031, 0.26045907, -0.34674746, -0.06659609, 0.5437911, -0.2481379, -0.4408586, -0.02065628, 0.35024786, -0.43344817, -0.23969968) * go_0(-1.0, 1.0); + result += mat4(-0.26318234, -0.17276719, -0.27381238, 0.43724668, 0.1250605, 0.26279348, -0.1950965, 0.030116973, 0.22524981, -0.82836837, -0.37731346, -0.20764303, 0.082648724, 0.28439602, 0.2835361, -0.22858605) * go_0(0.0, -1.0); + result += mat4(-0.11053296, -0.18050304, -0.10785215, -0.5128143, -0.10638461, -0.18107837, -0.14984047, -0.31184852, 0.1233967, -0.5248787, 0.625766, -0.3261744, -0.33758238, -0.42288753, -0.24827915, 0.46629912) * go_0(0.0, 0.0); + result += mat4(0.05450445, 0.24746427, -0.12228202, 0.08459498, 0.21182795, -0.15472144, -0.20880555, -0.08567581, -0.06358891, 0.04441746, -0.24661979, -0.3056718, -0.011843654, 0.02622977, -0.30063242, 0.069148876) * go_0(0.0, 1.0); + result += mat4(0.10252986, 0.24974889, -0.14753763, -0.11542639, -0.02504192, 0.167707, -0.19300954, -0.28126183, 0.16349459, -0.39749804, -0.21315983, -0.3632333, 0.25346163, 0.011594266, 0.22163333, -0.36140066) * go_0(1.0, -1.0); + result += mat4(0.084694065, -0.15232442, 0.15100913, 0.258049, -0.16647953, -0.057295427, -0.2734653, 0.19444938, -0.543564, 0.1580093, -0.08364827, 0.39013955, 0.09799076, -0.28022006, 0.4436997, -0.007523592) * go_0(1.0, 0.0); + result += mat4(0.16044939, -0.16409683, -0.036102563, -0.045212515, 0.013765079, 0.16512275, -0.34618682, 0.15582882, -0.26858786, 0.11227446, -0.69422704, 1.0182123, 0.56721294, -0.27683023, -0.44450805, -0.056621786) * go_0(1.0, 1.0); + result += mat4(-0.005846392, -0.1002789, -0.11597346, 0.29757038, -0.3303294, -0.1128059, -0.16792095, -0.017062422, -0.20550682, -0.101541616, 0.1326292, -0.05803425, -0.1431525, 0.09539495, -0.0020564438, -0.015330874) * go_1(-1.0, -1.0); + result += mat4(-0.03305593, 0.30911654, -0.013541906, -0.03935406, -0.021767953, 0.033086017, -0.032538854, 0.29394448, -0.5953677, 0.042400517, -0.083737336, 0.35759467, -0.19653685, -0.0024307214, -0.022875965, 0.23306265) * go_1(-1.0, 0.0); + result += mat4(0.035584986, -0.08059428, 0.34352207, 0.1548032, 0.22265454, -0.09850938, 0.059585627, 0.13525864, -0.15460324, -0.12443778, -0.0065347757, 0.008565568, -0.09459641, -0.036760993, -0.16726579, 0.08680428) * go_1(-1.0, 1.0); + result += mat4(8.5111475e-05, 0.2236033, 0.17141129, -0.23127146, 0.15972026, 0.34908256, 0.26294386, 0.13128816, -0.16243693, 0.15757012, -0.22409199, -0.12647703, -0.18430239, 0.20520009, -0.02374801, -0.16203757) * go_1(0.0, -1.0); + result += mat4(0.22832601, 0.34606495, 0.11871914, -0.020249737, 0.21807198, -0.4782955, 0.27529162, -0.17565349, 0.038051367, -0.40700185, -0.2975774, -0.5380789, -0.004458205, -0.039739095, -0.19442874, -0.10650714) * go_1(0.0, 0.0); + result += mat4(0.25389373, -0.21592398, 0.46637633, 0.29954398, 0.011773476, 0.34604436, 0.015194187, 0.088156946, -0.07462061, -0.1797378, 0.24949403, 0.12773448, 0.04304656, 0.025975281, -0.0071224314, 0.10722792) * go_1(0.0, 1.0); + result += mat4(-0.021214327, 0.18125464, 0.09782468, 0.11554455, -0.10773687, 0.03764718, -0.07123926, 0.42674774, 0.15713947, 0.13268334, 0.2590209, 0.5615417, -0.10444575, 0.050965227, -0.1657652, -0.028306652) * go_1(1.0, -1.0); + result += mat4(0.07891638, 0.10982218, 0.18858793, 0.088180885, 0.21412432, 0.17309621, 0.13349771, -0.06536336, 0.2537686, 0.028627483, 0.2291187, -0.16728498, -0.0649568, -0.21011665, 0.12501954, 0.16584753) * go_1(1.0, 0.0); + result += mat4(0.37670746, -0.06669131, 0.2308896, -0.27846798, 0.03864727, -0.2396756, 0.20961864, -0.0955574, -0.17304963, 0.006572388, 0.4152245, -0.16013862, -0.048539825, -0.040141087, -0.17446917, 0.172646) * go_1(1.0, 1.0); + result += mat4(0.016411193, -0.24965028, -0.3197888, -0.15805353, 0.062157832, -0.07450992, 0.14774385, 0.019989528, -0.22329696, 0.07624211, 0.119352184, -0.12926702, 0.014121515, 0.04892924, -0.10143942, 0.1218296) * go_2(-1.0, -1.0); + result += mat4(-0.027942078, -0.21344666, 0.090950675, -0.017026879, -0.06316872, -0.17956391, 0.14474703, -0.12104946, 0.07770245, -0.11934515, 0.03306196, 0.08028085, 0.0807563, -0.09477622, 0.03688184, 0.031241085) * go_2(-1.0, 0.0); + result += mat4(0.058301553, 0.17516647, -0.1356353, -0.15869999, -0.06487614, -0.17825274, -0.28164253, 0.12063855, 0.14051922, 0.06572677, 0.24797052, -0.26174536, -0.014646216, -0.021676809, 0.102138005, 0.07929566) * go_2(-1.0, 1.0); + result += mat4(0.24743414, -0.07182416, -0.12567408, -0.57571995, -0.018107418, 0.27796823, -0.08527231, -0.18019378, 0.060446773, 0.10802219, 0.13173679, 0.1200748, 0.18567154, 0.19163565, -0.057419125, -0.24488002) * go_2(0.0, -1.0); + result += mat4(-0.0064926744, -0.35516098, 0.21456684, -0.07162182, -0.11187953, 0.11901505, 0.36913052, -0.019030696, -0.24774994, -0.026328832, 0.121998094, 0.20425063, -0.04413792, 0.16391441, -0.06149749, -0.5538841) * go_2(0.0, 0.0); + result += mat4(0.12691425, 0.011305395, -0.057030205, -0.029743116, -0.11666209, 0.20812204, 0.07555653, 0.011672403, 0.13864042, -0.08993008, -0.08202476, 0.12926434, 0.45806012, -0.0038320064, -0.02397306, 0.25906637) * go_2(0.0, 1.0); + result += mat4(-0.05215719, -0.2567637, -0.028009133, 0.12884264, -0.03538685, -0.14153866, -0.18635908, 0.3127351, -0.06493799, 0.11058845, 0.039282236, -0.089117266, -0.20289995, 0.16836898, -0.2553091, 0.3781839) * go_2(1.0, -1.0); + result += mat4(-0.038994674, 0.15095948, 0.010665794, -0.16193166, 0.029675307, 0.067519955, 0.014059612, -0.10524365, 0.22133544, -0.17850679, 0.17689049, -0.079176724, 0.140001, -0.106958285, -0.054205164, -0.063518755) * go_2(1.0, 0.0); + result += mat4(-0.0147742275, -0.02825343, -0.17911723, -0.033807088, -0.032546505, 0.07845434, -0.10618929, -0.24304347, 0.08031239, -0.081033856, 0.11696929, 0.30320054, -0.30589563, 0.025857087, 0.19169633, -0.21005262) * go_2(1.0, 1.0); + result += mat4(0.08359386, 0.29936704, 0.16312078, 0.21463135, 0.08171467, -0.1238904, 0.21628477, 0.20026375, -0.022520576, -0.09336571, 0.112078905, -0.11331715, 0.009337522, -0.050099798, -0.18231672, -0.020947263) * go_3(-1.0, -1.0); + result += mat4(-0.030812407, 0.111476146, 0.5977092, 0.13000198, -0.010192378, 0.054949045, 0.22067606, -0.2215171, -0.016222132, 0.10579395, 0.10758011, -0.009829448, -0.055121887, -0.018792551, -0.41590548, -0.04133538) * go_3(-1.0, 0.0); + result += mat4(0.080052584, 0.044864707, 0.106742695, -0.119988576, -0.21180773, 0.21859854, -0.30558732, 0.031225171, -0.1221141, -0.1679698, 0.19237423, 0.18212804, -0.019355904, 0.04471777, -0.4626242, 0.08120199) * go_3(-1.0, 1.0); + result += mat4(0.04417224, 0.22517249, 0.18053815, 0.2189462, -0.3901049, 0.12456932, 0.046451665, 0.027453724, -0.21874383, -0.28369403, 0.38541645, 0.15896674, 0.07901438, -0.11870142, -0.23583438, -0.21800627) * go_3(0.0, -1.0); + result += mat4(0.16514415, 0.48851582, 0.17654735, -0.32523116, 0.28139102, 0.32789868, 0.0060704425, -0.08439404, -0.19455875, 0.3426219, 0.1354883, 0.13480486, -0.047210373, 0.009763648, 0.10380663, -0.14301018) * go_3(0.0, 0.0); + result += mat4(-0.01964344, -0.22196314, 0.27099127, -0.3624297, -0.19935602, -0.57573617, 0.05781204, 0.34769946, -0.1655793, -0.31260255, -0.006191821, -0.14188464, -0.048039295, 0.016876832, 0.044305492, 0.11576497) * go_3(0.0, 1.0); + result += mat4(0.031500664, 0.213127, 0.040512875, -0.14993736, 0.1355947, 0.098466784, 0.2576776, -0.12359301, -0.095675476, 0.10758078, 0.15866314, 0.24855627, 0.01722974, 0.05124147, -0.2743417, 0.039515547) * go_3(1.0, -1.0); + result += mat4(0.2946348, 0.100007325, -0.06735624, 0.05319054, 0.19419125, 0.019504784, 0.07159323, 0.21550444, -0.19059516, 0.1583541, 0.3195432, -0.14882845, 0.06771776, -0.032769382, -0.08348987, 0.0024430798) * go_3(1.0, 0.0); + result += mat4(-0.05275983, 0.0034397016, -0.11966796, 0.12378445, 0.17581114, 0.13944638, 0.019923829, -0.031624325, -0.021019042, -0.16827096, -0.046106737, -0.06353076, 0.05943962, -0.20756234, 0.042654432, 0.13294446) * go_3(1.0, 1.0); + result += mat4(-0.042804338, 0.0009211868, -0.23128751, -0.14900532, 0.020116998, -0.129845, -0.26453322, 0.12563406, -0.015730144, 0.18961458, -0.2286719, -0.26802087, -0.0013182014, -0.08829011, -0.022237033, 0.18785976) * go_4(-1.0, -1.0); + result += mat4(0.068006374, 0.03713224, -0.17821713, 0.078400075, -0.03354765, 0.05032715, -0.22770362, 0.082578026, -0.164677, 0.010397865, 0.040545795, -0.07767106, -0.04931102, -0.020216117, 0.19189319, -0.07949725) * go_4(-1.0, 0.0); + result += mat4(-0.02560599, -0.014282298, -0.30485487, 0.12205604, 0.13143952, -0.020973703, -0.60740465, 0.18116136, -0.028516186, -0.09175719, -0.3332597, 0.0993698, 0.011291339, -0.018563187, -0.04645049, 0.1537859) * go_4(-1.0, 1.0); + result += mat4(-0.19548458, 0.008757838, -0.022760604, 0.056750417, 0.10407769, -0.103828914, -0.30039603, 0.15838397, 0.14583376, 0.14352289, 0.5236325, -0.22845235, 0.024826096, -0.15084279, -0.11028316, 0.3162365) * go_4(0.0, -1.0); + result += mat4(-0.27014557, -0.14510567, 0.13275504, -0.04220442, 0.073360756, 0.09062856, 0.25474098, 0.036567308, 0.029930808, -0.07118475, -0.38858262, 0.24752647, 0.18212575, 0.05463796, 0.2687639, -0.49617207) * go_4(0.0, 0.0); + result += mat4(-0.19640562, 0.101908855, 0.17502995, -0.042161964, 0.05290567, -0.025675468, -0.17403199, 0.09100326, 0.010622265, 0.044125065, -0.21804531, -0.1000515, 0.09555498, -0.042056557, 0.30270827, -0.110502906) * go_4(0.0, 1.0); + result += mat4(-0.015954453, 0.18156542, -0.026816932, 0.040066455, -0.041097276, -0.036309887, -0.27080503, -0.046121623, 0.2809894, 0.15110923, -0.051393576, -0.09357936, -0.110129625, -0.0112814475, -0.67396337, -0.045809776) * go_4(1.0, -1.0); + result += mat4(0.030026576, 0.31455976, 0.2093852, 0.07049524, 0.087148614, 0.04378545, -0.23404805, -0.21867152, 0.0780137, -0.3653028, 0.04958755, -0.24105056, -0.005830701, 0.14313154, 0.014666525, -0.12205944) * go_4(1.0, 0.0); + result += mat4(0.041753422, -0.029019587, 0.28341058, -0.11360368, -0.04306824, -0.022564419, -0.25620422, -0.07497915, -0.027317826, 0.014858011, -0.20636855, -0.34799644, -0.09822817, 0.11054621, 0.048805986, 0.28068805) * go_4(1.0, 1.0); + result += mat4(0.04645007, 0.20781171, -0.022659602, -0.16183186, 0.043681737, -0.016835278, -0.56000787, 0.25379097, -0.04654751, -0.009801681, 0.51817185, -0.28172117, -0.09141667, 0.004477492, 0.3877909, -0.25990424) * go_5(-1.0, -1.0); + result += mat4(-0.05770895, -0.32386646, 0.12786265, 0.25714403, -0.15705961, 0.042209778, 0.27720693, -0.31767642, 0.07279373, -0.19555818, 0.037276905, 0.17997949, 0.0382839, -0.18058495, 0.11596946, -0.4803383) * go_5(-1.0, 0.0); + result += mat4(0.14316835, -0.10939212, -0.57301897, 0.107101925, 0.027679194, 0.10561584, 0.16322306, -0.029265253, 0.015432328, 0.078424856, -0.3036955, 0.077147335, -0.07165004, 0.053753722, 0.046870816, -0.16831237) * go_5(-1.0, 1.0); + result += mat4(-0.0015454052, 0.11543685, 0.011629485, 0.09174164, -0.0020554285, -0.12829418, -0.16338444, -0.3855414, 0.09214294, 0.3051444, 0.4075737, 0.21011099, 0.09273038, 0.1422971, 0.23177463, -0.5677775) * go_5(0.0, -1.0); + result += mat4(-0.38397464, 0.1062587, 0.39587164, -0.13753776, -0.1408451, 0.051540542, -0.43004695, -0.37155452, 0.018951273, -0.12102222, 0.09337273, -0.1371699, -0.15890656, 0.06723986, -0.434453, 0.82531) * go_5(0.0, 0.0); + result += mat4(0.17049496, -0.04301534, -0.008399479, -0.02239451, -0.09903332, 0.16583356, -0.09590486, -0.43768612, -0.02140423, -0.017859606, -0.050639637, -0.15041262, 0.115062304, -0.05731665, -0.2678928, 0.3464159) * go_5(0.0, 1.0); + result += mat4(0.08870617, -0.118556865, -0.13360792, -0.09894303, -0.15581502, 0.2192686, -0.39398706, 0.11267478, 0.09166812, -0.15498365, -0.2917533, -0.16147003, 0.031740874, -0.22583205, -0.011654207, 0.30131137) * go_5(1.0, -1.0); + result += mat4(0.041226245, 0.073949926, 0.020469612, -0.04560685, 0.11118197, -0.24875127, -0.28384277, -0.209574, -0.11342182, -0.028049335, -0.30193615, -0.079933584, -0.095979676, -0.10020118, -0.19420303, -0.075664096) * go_5(1.0, 0.0); + result += mat4(0.14797074, -0.3470899, 0.39260823, 0.017051281, 0.06762197, -0.018575529, 0.0880026, -0.21063547, -0.1322691, 0.09712066, -0.4276631, 0.19340965, 0.12975846, 0.035868555, -0.70068085, -0.16410393) * go_5(1.0, 1.0); + result += mat4(-0.18932801, 0.09462974, 0.42027336, -0.37972912, 0.14362521, 0.19216716, -0.43429968, 0.059396047, -0.0013960754, 0.0058320346, -0.25363076, 0.044528674, -0.045085996, 0.09108611, -0.08413328, -0.32486486) * go_6(-1.0, -1.0); + result += mat4(-0.4067053, 0.10778585, 0.28718376, -0.051091816, 0.15242375, -0.02981224, -0.097597815, -0.048364934, 0.17647475, -0.083620705, -0.07125797, 0.044771638, 0.16834657, -0.025327723, -0.24978308, 0.09879097) * go_6(-1.0, 0.0); + result += mat4(-0.14262679, -0.24012862, 0.28995973, -0.08896369, 0.010631018, 0.09540369, -0.06608168, -0.18771736, -0.014997884, 0.030013464, 0.25964305, -0.21135412, 0.063037746, -0.018949352, -0.13153805, -0.2391852) * go_6(-1.0, 1.0); + result += mat4(0.057333205, 0.35793823, -0.031858347, 0.21486303, -0.04569342, 0.12527412, -0.12659034, 0.09696183, 0.08018003, -0.20497574, -0.38521993, 0.07651565, 0.07672333, -0.13392955, 0.080162585, -0.21611322) * go_6(0.0, -1.0); + result += mat4(0.089075185, -0.0313562, -0.1678185, -0.59176946, -0.10085004, -0.07158931, -0.20779158, 0.07887701, 0.05102273, 0.054919396, 0.20206434, -0.60396665, -0.21453445, -0.0129903015, -0.21422856, 0.120469116) * go_6(0.0, 0.0); + result += mat4(0.24352759, -0.46128348, -0.11604824, -0.12906942, -0.092262454, 0.093686655, 0.008656515, -0.09435711, 0.02955139, 0.058670785, 0.31187442, -0.012236685, -0.11576328, 0.26213887, -0.3678442, 0.39925987) * go_6(0.0, 1.0); + result += mat4(0.09056785, 0.025610259, 0.04404834, 0.04880529, -0.018727796, -0.02463311, -0.33473116, 0.18240984, -0.31690162, -0.03753813, -0.49378097, 0.034098472, 0.08104111, 0.15535483, 0.54219043, -0.14415042) * go_6(1.0, -1.0); + result += mat4(0.2178136, 0.26973012, -0.08373426, 0.050942183, -0.026202869, -0.19092646, -0.15695636, 0.14941269, -0.008460806, 0.17145476, -0.15403928, 0.30220225, -0.008509539, -0.07173873, -0.028730325, 0.11379968) * go_6(1.0, 0.0); + result += mat4(-0.423233, 0.22220805, 0.2923962, 0.07597547, 0.04264445, 0.073609315, -0.28772584, -0.018501874, 0.009833902, 0.09063646, 0.15016796, -0.050786685, -0.044880487, -0.00094357406, 0.054167807, -0.4163448) * go_6(1.0, 1.0); + result += mat4(0.064591885, -0.017542299, -0.7427811, 0.1085436, -0.099237405, 0.07204454, 0.21403041, -0.44325823, 0.063634664, 0.019480009, -0.5166522, 0.48371652, 0.042217735, -0.08151546, -0.16102481, 0.38363907) * go_7(-1.0, -1.0); + result += mat4(0.23603337, 0.36189508, 0.16096863, -0.23203878, 0.3909665, -0.048548676, -0.08426398, 0.13699533, -0.16585836, 0.08123174, 0.23689987, -0.14406693, -0.12765872, 0.14779435, -0.200962, 0.27416065) * go_7(-1.0, 0.0); + result += mat4(-0.29448098, 0.14758095, 0.57802075, 0.021730013, 0.13210014, 0.104395285, -0.2312142, -0.2866295, 0.016930144, -0.15231368, 0.14054593, -0.09351796, 0.1032217, 0.041166462, -0.36189362, 0.41247606) * go_7(-1.0, 1.0); + result += mat4(-0.007560109, -0.0803, -0.16032574, 0.05478983, -0.1759635, -0.14446284, 0.15542305, -0.16604201, -0.04187009, -0.26687822, -0.587336, -0.24216992, -0.23209628, 0.20443848, 0.20857601, 0.39599934) * go_7(0.0, -1.0); + result += mat4(-0.14840446, 0.40601328, -0.7559737, 0.2739641, -0.25899225, -0.08748905, 0.26742223, -0.1928892, -0.069469795, 0.17335804, 0.14560762, -0.29675013, 0.07705042, 0.087402344, 0.11580721, -0.56622976) * go_7(0.0, 0.0); + result += mat4(-0.09510998, 0.087312974, -0.4744771, -0.2034856, -0.0228022, 0.20781693, -0.21102814, 0.3811148, -0.032918505, -0.06346079, 0.11738945, 0.25676858, -0.040940452, -0.13468303, 0.18274675, -0.29756874) * go_7(0.0, 1.0); + result += mat4(0.018719247, 0.01183309, 0.5007991, -0.23340209, 0.26327956, -0.22815254, 0.108726546, -0.03552217, -0.009156057, 0.10254266, 0.16000487, 0.14117196, -0.017914208, 0.27125883, -0.21865341, 0.21615145) * go_7(1.0, -1.0); + result += mat4(0.19699602, -0.31031716, -0.59890205, -0.21126802, -0.20352201, -0.06410778, -0.037906803, -0.022946103, 0.06663984, 0.12589614, 0.32420775, 0.23299861, 0.0078275055, -0.12053192, 0.103772156, -0.01047939) * go_7(1.0, 0.0); + result += mat4(-0.13278633, -0.049333517, 0.112975165, -0.1881344, -0.049702376, 0.19375268, -0.86393154, 0.038770728, 0.12380659, -0.17710638, 0.3185005, -0.12963669, -0.088208504, 0.06580817, 0.026088627, -0.13940124) * go_7(1.0, 1.0); + result += vec4(-0.004481173, -0.061259553, 0.11030188, 0.16914344); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!SAVE conv2d_6_tf +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.06430692, 0.086825125, -0.034608375, -0.01397618, 0.040052984, 0.011185875, 0.011732263, 0.012392225, 0.059679143, 0.0020240098, 0.06681242, 0.054336477, -0.0036498306, -0.019456264, -0.071606115, 0.041119363) * go_0(-1.0, -1.0); + result += mat4(0.04943378, -0.0848539, 0.0356649, -0.045104954, -0.07455269, 0.22761999, -0.097870104, -0.17315823, 0.024429278, -0.014491249, -0.041353658, 0.1098216, 0.03469068, -0.032172896, 0.033026703, 0.04296571) * go_0(-1.0, 0.0); + result += mat4(0.07144953, 0.008301972, -0.06500498, 0.031518232, -0.10892988, -0.097283006, -0.13314813, -0.013742693, 0.050799493, 0.050253615, 0.040891692, -0.0021811249, 0.030596646, -0.017255697, 0.0022994988, 0.00735084) * go_0(-1.0, 1.0); + result += mat4(0.023562869, -0.0011871309, -0.0423234, -0.002608592, 0.08043674, -0.082256354, -0.022457797, 0.07030839, 0.013923805, -0.013660352, 0.06952137, -0.044279564, 0.04486451, -0.02644484, 0.052811652, 0.00197306) * go_0(0.0, -1.0); + result += mat4(-0.05471925, -0.10278568, 0.017831381, -0.060885206, 0.01943984, -0.11520702, 0.10465094, 0.03574296, -0.050254647, 0.0019161392, -0.25124437, 0.043597598, -0.017897893, 0.07151743, 0.11265933, -0.08989344) * go_0(0.0, 0.0); + result += mat4(0.11001799, -0.011334239, 0.12736328, 0.16483796, -0.13220996, 0.0732099, 0.13678497, 0.1530554, 0.043017015, -0.10789205, 0.053205475, 0.023291817, -0.0056713475, -0.12603688, -0.13624206, -0.0714872) * go_0(0.0, 1.0); + result += mat4(0.021965552, -0.009516653, 0.020002227, -0.0072277826, -0.035595354, -0.052053552, -0.023298074, 0.01770549, 0.106064536, -0.096217915, 0.119941294, 0.054289114, 0.044710737, 0.03558839, 0.0025203228, 0.02229299) * go_0(1.0, -1.0); + result += mat4(-0.05996382, -0.059034027, 0.0048927953, 0.11681153, 0.0123580685, -0.15851006, 0.053752933, -0.094275564, 0.056480173, -0.01539422, -0.06352794, 0.05537091, -0.090935975, 0.114802405, -0.07706906, -0.020618843) * go_0(1.0, 0.0); + result += mat4(0.046106033, 0.06567163, 0.024409082, 0.08681322, -0.15275897, 0.051852785, -0.0982452, -0.14251694, 0.09573071, -0.018330676, 0.07995178, -0.010879136, -0.097755134, -0.017416988, -0.062556945, -0.0578873) * go_0(1.0, 1.0); + result += mat4(-0.00429525, -0.07700766, 0.010865506, 0.039318554, -0.06787303, -0.028628208, -0.05469512, 0.05459275, -0.030343568, 0.06288822, -0.02628777, 0.015035558, 0.003811996, 0.013887734, 0.034987926, 0.17882642) * go_1(-1.0, -1.0); + result += mat4(-0.04686645, 0.05545698, -0.022312073, -0.06866622, 0.09609454, -0.09298049, 0.20229526, 0.1036513, -0.07117841, 0.047199853, -0.018191453, -0.011281787, -0.014291751, -0.118642345, 0.07959059, 0.08753804) * go_1(-1.0, 0.0); + result += mat4(0.0145701915, -0.00083395635, -0.009838556, 0.03793263, -0.018338429, -0.028547939, -0.044276386, 0.022902593, -0.10429393, -0.08177185, 0.038462102, -0.061109234, 0.021328336, -0.018102761, -0.07724541, 0.03491818) * go_1(-1.0, 1.0); + result += mat4(0.051537625, -0.04092781, -0.027314937, 0.06624649, 0.0059737917, -0.0045862994, 0.03624142, 0.016898366, -0.15276705, -0.013039528, -0.034717664, 0.07935391, 0.016038802, -0.20841958, 0.08346563, 0.06563678) * go_1(0.0, -1.0); + result += mat4(-0.015235551, 0.15574263, -0.013553463, 0.07328153, 0.1526515, -0.28490472, 0.19684647, -0.15529588, -0.012245582, 0.06855586, -0.05603284, 0.06607822, -0.0842433, 0.17281564, 0.28474236, 0.08198234) * go_1(0.0, 0.0); + result += mat4(0.038899522, -0.06798045, -0.054560043, -0.16137177, 0.021140218, 0.29889742, -0.1840661, -0.05800861, -0.015068329, -0.04634431, 0.08015181, 0.019838551, 0.10208079, -0.077259056, -0.19794165, -0.15083085) * go_1(0.0, 1.0); + result += mat4(0.01064174, -0.05850555, -0.05604373, 0.04052068, -0.075376056, 0.046033148, 0.11586819, -0.019885244, 0.035843607, 0.046307143, 0.00585988, -0.080217384, -0.021261437, 0.1410561, 0.008985651, 0.028860984) * go_1(1.0, -1.0); + result += mat4(-0.07319461, 0.08104932, 0.041007817, 0.030615268, -0.20470095, 0.12515168, -0.160545, -0.12937605, 0.31107107, 0.1484706, 0.038850147, -0.012020466, -0.05610734, 0.044933334, 0.042511266, -0.052596994) * go_1(1.0, 0.0); + result += mat4(-0.066693224, 0.0361146, 0.067501135, -0.21699974, -0.11158058, 0.15679757, -0.028746078, -0.01819391, 0.104127966, -0.06664338, 0.06227161, 0.12396172, -0.0032715963, -0.08171951, -0.044955824, -0.08106554) * go_1(1.0, 1.0); + result += mat4(0.015864346, -0.013364807, -0.06118465, -0.044409316, 0.043848667, -0.021818867, 0.073257685, 0.031070877, -0.09103615, 0.049833406, -0.057495326, -0.12800662, 0.03994082, 0.0138215795, 0.015007392, 0.10248998) * go_2(-1.0, -1.0); + result += mat4(0.25089416, -0.07602123, 0.17347728, 0.02892703, -0.011619053, -0.0641153, 0.05217339, 0.07876783, 0.0055022957, 0.004055628, -0.09110391, -0.06867559, 0.024405807, -0.05255772, 0.04266218, -0.010957767) * go_2(-1.0, 0.0); + result += mat4(0.24782608, 0.036559172, 0.044769745, 0.0015120476, 0.013133198, -0.044633485, -0.014515029, -0.021279601, -0.036733393, 0.04075623, -0.17661944, -0.094546385, 0.056875527, 0.004090026, 0.05490262, 0.009615546) * go_2(-1.0, 1.0); + result += mat4(-0.059016522, 0.06971676, -0.018845871, -0.1960489, 0.030603651, 0.07038275, 0.030324249, -0.021405647, 0.0029889164, -0.044680223, 0.025204105, -0.070947506, 0.08812823, -0.04162818, 0.020303862, 0.033686403) * go_2(0.0, -1.0); + result += mat4(0.095108695, -0.001756413, -0.0746956, 0.19454287, 0.11728253, 0.024068093, 0.22989868, 0.15326135, -0.044749334, -0.10269763, -0.11903939, -0.0791172, -0.004715979, -0.034785185, 0.06928696, -0.080341384) * go_2(0.0, 0.0); + result += mat4(0.09515306, 0.0796711, 0.2531875, 0.17232622, -0.046116754, 0.10505673, 0.03974202, 0.0192849, -0.032660086, 0.090220645, -0.018340196, 0.010892869, 0.057608526, -0.0042284457, -0.033126116, -0.050798874) * go_2(0.0, 1.0); + result += mat4(-0.0465734, -0.12704821, -0.04242129, -0.08912093, 0.060641844, -0.030298313, 0.07455412, 0.09691065, -0.0993119, 0.08467131, -0.08018581, -0.06551497, 0.02412251, 0.023426851, -0.013038504, 0.058629658) * go_2(1.0, -1.0); + result += mat4(-0.0072143734, -0.17254709, -0.10164249, 0.009320373, 0.04572811, 0.031890705, 0.11281531, -0.053358663, -0.12266469, -0.0050442372, -0.088591315, -0.014440839, 0.025741255, -0.1090415, 0.14636643, 0.06128863) * go_2(1.0, 0.0); + result += mat4(-0.021854619, 0.08777348, -0.06519233, -0.068287335, -0.015207972, -0.041368876, -0.06916352, 0.014671391, -0.15136546, 0.12566894, -0.104125395, -0.025017736, -0.043513566, 0.08409863, 0.037353594, -0.06276716) * go_2(1.0, 1.0); + result += mat4(0.07235235, 0.03902354, 0.08474354, 0.015749328, -0.14268096, 0.030634299, -0.055138513, -0.03956857, 0.018563624, -0.081968024, 0.051094677, 0.034120332, 0.0053250403, 0.080352135, -0.04955247, -0.1332719) * go_3(-1.0, -1.0); + result += mat4(-0.036749303, -0.028455151, -0.014937002, 0.040662266, 0.08305564, 0.11542185, 0.013110968, 0.049462736, 0.055836335, -0.07350095, 0.022430308, -0.02959864, -0.01815184, -0.019589523, 0.063062504, 0.03289119) * go_3(-1.0, 0.0); + result += mat4(-0.023061413, 0.054117512, -0.005270115, -0.08946267, -0.04308614, 0.23271716, 0.23769991, 0.199799, 0.042626232, -0.003149215, -0.07325253, -0.09104977, 0.06556636, 0.123100184, -0.065416, -0.047533657) * go_3(-1.0, 1.0); + result += mat4(0.012621001, 0.010509575, 0.037320737, -0.059742343, -0.049418703, -0.09797092, 0.107040025, 0.050573327, -0.07652653, -0.096295066, 0.046717234, 0.0451225, -0.102516145, 0.15624528, -0.23164383, -0.13354032) * go_3(0.0, -1.0); + result += mat4(-0.028271353, 0.12728448, 0.030375311, 0.17157783, 0.122691065, -0.3680664, 0.029203705, -0.26102167, 0.025286853, 0.06262695, 0.1589348, 0.05327821, -0.065294765, -0.24605483, 0.042972647, -0.02089068) * go_3(0.0, 0.0); + result += mat4(-0.026082302, -0.08781727, -0.09250588, -0.023226565, 0.051248543, 0.16456133, -0.2952685, -0.083784014, 0.076261856, 0.0406498, 0.170887, 0.045606345, 0.090185635, -0.056969963, 0.013353489, -0.02177184) * go_3(0.0, 1.0); + result += mat4(0.03591036, -0.00022123115, 0.00879266, 0.0014145833, -0.031907767, 0.008818724, 0.038096637, 0.088316254, -0.111196004, -0.043627053, -0.03396249, -0.11398144, -0.013437176, -0.056140415, -0.02947146, 0.04266824) * go_3(1.0, -1.0); + result += mat4(0.27118152, -0.029443147, 0.029049424, -0.021353519, -0.08102377, -0.10702356, 0.2708468, -0.028351566, 0.10159006, -0.08634602, 0.11655341, 0.01216303, -0.032198787, 0.098999046, 0.08560102, 0.13209614) * go_3(1.0, 0.0); + result += mat4(-0.011867179, -0.008092173, -0.06914386, -0.0026515024, 0.15475754, -0.069809034, -0.061735924, 0.030092785, 0.015481355, 0.069196485, -0.067885965, -0.10032289, -0.022956805, -0.050457634, 0.034361836, 0.063292615) * go_3(1.0, 1.0); + result += mat4(-0.028808603, 0.2522452, -0.028151542, -0.11966417, 0.0060086837, -0.022839228, 0.04591885, -0.047450468, -0.017323907, 0.0033520379, -0.013912139, 0.00087186386, -0.095179744, 0.10477611, -0.1572277, -0.18952997) * go_4(-1.0, -1.0); + result += mat4(-0.024695182, 0.2125057, 0.0043758615, 0.048833247, -0.024862275, -0.07173688, 0.016327882, 0.052133285, 0.032598563, 0.0370544, -0.032444727, 0.007660602, 0.014026539, 0.15517443, -0.08797283, 0.046922438) * go_4(-1.0, 0.0); + result += mat4(-0.08749249, 0.17871788, 0.089315645, 0.020792015, 0.0062840376, 0.027935686, 0.022011895, 0.0014372129, 0.03437162, 0.04160462, -0.076575324, -0.005282676, 0.01039395, 0.13785924, -0.11939048, -0.12266059) * go_4(-1.0, 1.0); + result += mat4(-0.08761654, 0.12325804, 0.09464573, -0.070082165, -0.029074723, -0.039505627, -0.006745376, -0.07662022, 0.018293282, 0.16754504, -0.01436095, -0.07123675, -0.045903374, 0.045701377, -0.16947833, -0.065680735) * go_4(0.0, -1.0); + result += mat4(0.07837804, 0.10318053, 0.10402837, -0.09299896, -0.044918105, -0.19713773, -0.038225368, -0.0127715515, 0.021232253, 0.19498691, 0.054563515, -0.024584824, 0.14310583, -0.25778866, -0.048625097, -0.04034214) * go_4(0.0, 0.0); + result += mat4(0.03317779, 0.36327454, 0.0010753187, 0.07300084, 0.013177773, -0.10299273, -0.043644756, -0.049851302, -0.11076842, -0.0030125536, 0.13768485, 0.037023947, 0.05862015, 0.026259044, -0.11906646, 0.015630042) * go_4(0.0, 1.0); + result += mat4(0.04435236, 0.2442636, 0.02941278, -0.03259748, 0.02729472, 0.1464977, -0.23190135, -0.013464374, -0.04808333, -0.07721386, -0.006521778, 0.03849496, -0.087418415, -0.14530352, -0.046621766, 0.013260049) * go_4(1.0, -1.0); + result += mat4(-0.054236982, 0.16401532, -0.0410692, 0.018103333, 0.03832126, 0.24158026, -0.02707848, 0.063542314, -0.0025432308, 0.02253484, -0.13533834, 0.009265725, -0.13578576, 0.055599272, -0.029021647, 0.074372046) * go_4(1.0, 0.0); + result += mat4(0.07789502, 0.12068383, 0.06586239, 0.16586556, 0.12068069, 0.0314873, 0.020462591, 0.01643263, 0.0022647027, -0.0535912, 0.02042879, 0.08939534, -0.012003675, 0.10854255, -0.019238353, 0.05661957) * go_4(1.0, 1.0); + result += mat4(-0.0024771164, 0.0013602651, -0.006449609, -0.0674718, 0.011020245, -0.024715785, -0.005840159, -0.016253866, 0.0058691143, 0.00923955, -0.014752748, -0.009056492, 0.04719506, 7.439548e-05, -0.031533875, -0.028303158) * go_5(-1.0, -1.0); + result += mat4(-0.022446554, 0.011014639, 0.014150175, -0.08969043, 0.05011379, 0.0014429274, 0.13622425, -0.055668622, 0.003997062, -0.018588124, 0.037211727, -0.02675576, 0.021160034, 0.06025865, 0.044886358, 0.07540469) * go_5(-1.0, 0.0); + result += mat4(0.059523765, -0.106335945, 0.047557555, 0.015525542, -0.059115347, 0.009750207, 0.01922731, 0.024100488, 0.0016303931, -0.07808692, 0.08100007, 0.05687361, -0.03983667, -0.023318004, 0.044715997, 0.032614175) * go_5(-1.0, 1.0); + result += mat4(0.092187695, -0.16478536, 0.11356077, 0.1448521, 0.072599865, 0.06876907, -0.024432033, 0.052597918, -0.010043035, -0.03687111, 0.00895416, 0.02780389, 0.045475237, 0.0034288564, -0.053697575, -0.0039305706) * go_5(0.0, -1.0); + result += mat4(-0.086140305, 0.10712286, -0.098502316, -0.037614137, -0.0014869545, -0.119502805, 0.07774526, 0.01559113, -0.036177177, 0.05600912, 0.0672405, 0.0424494, -0.014852803, -0.09711143, 0.035177983, 0.027274514) * go_5(0.0, 0.0); + result += mat4(0.010052695, -0.1528992, 0.037211087, 0.050275393, -0.052893683, -0.103499845, 0.04699975, 0.010357094, 0.02002735, -0.0724987, -0.039920773, -0.03259424, 0.05104605, -0.021494186, 0.1335748, 0.1431882) * go_5(0.0, 1.0); + result += mat4(0.008692001, 0.1388636, 0.062878676, 0.043149088, 0.040500425, -0.06934554, 0.031019283, 0.086996906, -0.01329169, -0.024621997, 0.03125819, -0.03552568, 0.025497364, -0.013930993, 0.039630298, -0.009306881) * go_5(1.0, -1.0); + result += mat4(0.08138952, 0.11290011, 0.09357804, 0.0773934, 0.11037395, 0.040116914, 0.05588578, 0.08340036, 0.019552698, 0.010302062, 0.030425403, -0.012494984, 0.100253575, 0.058283005, -0.0053462014, 0.0011434298) * go_5(1.0, 0.0); + result += mat4(-0.0027934618, 0.012688533, 0.03582281, 0.093737796, -0.10973247, 0.07261092, 0.112351805, 0.011432246, 0.013944619, -0.06078718, 0.04819748, -0.023201318, 0.060381312, -0.08896123, 0.0354816, 0.1314617) * go_5(1.0, 1.0); + result += vec4(-0.014843715, 0.037786916, -0.050943095, 0.02970283); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!SAVE conv2d_6_tf1 +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.042099904, -0.058733735, 0.02552323, 0.08024827, -0.007007328, -0.024506995, -0.014314433, 0.07856346, 0.0070828185, 0.12121103, -0.047790356, -0.1190773, 0.09607051, -0.022659522, -0.012408393, -0.01265088) * go_0(-1.0, -1.0); + result += mat4(-0.036540985, 0.065095425, 0.020370001, -0.13017972, 0.16372375, -0.13150094, 0.012892328, -0.1387121, -0.0398674, -0.115208104, -0.025226658, -0.066354044, 0.07032839, 0.11715836, 0.014640627, 0.0410301) * go_0(-1.0, 0.0); + result += mat4(0.030191297, -0.0066959998, 0.026137028, -0.015430499, -0.07329306, -0.138525, 0.080228955, 0.1005483, -0.0007654556, 0.08933457, -0.11922955, -0.0689602, 0.06392459, 0.04870049, -0.0018588612, 0.046055775) * go_0(-1.0, 1.0); + result += mat4(0.12119697, -0.03272271, -0.011908178, 0.07443732, 0.017831923, -0.06988535, -0.027143668, -0.023895472, 0.08469687, 0.1490557, 0.015963838, -0.0049853753, 0.01178327, -0.0028791244, -0.06283662, -0.0059013553) * go_0(0.0, -1.0); + result += mat4(0.028543679, 0.058001377, -0.008511679, 0.0026974818, -0.0013273149, 0.010061944, -0.07719697, -0.053456806, -0.2909378, -0.03735039, 0.02128061, 0.15994087, -0.020060549, 0.0051932936, 0.010056397, -0.044010773) * go_0(0.0, 0.0); + result += mat4(0.1596504, -0.055374887, -0.019871527, 0.008125669, 0.21285413, 0.03118557, 0.05784715, -0.033272292, -0.11010903, 0.08968991, 0.01791155, -0.11081058, -0.059060283, -0.08855704, 0.06299061, -0.08653331) * go_0(0.0, 1.0); + result += mat4(0.22247101, -0.04902725, 0.004427136, 0.00843986, -0.12681817, -0.04432411, 0.09346549, -0.07040382, 0.065832525, 0.1306079, -0.046262078, -0.064467475, 0.09017577, -0.05839232, 0.02169111, 0.015345169) * go_0(1.0, -1.0); + result += mat4(-0.019040529, 0.03761165, -0.021923041, -0.02165343, -0.22262675, -0.007393024, 0.13378944, 0.24793835, -0.115743674, -0.050898936, -0.101693556, -0.16117941, 0.15038069, -0.071292244, 0.16757068, 0.14149354) * go_0(1.0, 0.0); + result += mat4(0.15021501, 0.01646184, 0.039540898, -0.020430906, -0.09821808, -0.008859351, -0.0064752824, 0.04515899, -0.036680277, 0.03743646, 0.046192754, -0.07469316, 0.015766433, -0.053386677, -0.058385946, 0.04285354) * go_0(1.0, 1.0); + result += mat4(-0.12153023, -0.0052116364, 0.013274117, 0.066916846, -0.07894143, -0.07270525, 0.0032244355, 0.080999196, -0.071276195, 0.03603874, -0.023127655, -0.22612897, 0.019750288, 0.06261086, 0.036052, 0.057479452) * go_1(-1.0, -1.0); + result += mat4(0.068308026, -0.02204353, 0.037701212, -0.13152799, -0.040166344, 0.18250147, -0.00841116, 0.14707813, 0.2891035, 0.0355822, -0.037319396, -0.033286855, 0.05205944, 0.029016457, 0.02267416, 0.12552561) * go_1(-1.0, 0.0); + result += mat4(-0.07627465, -0.0015795324, 0.005847234, 0.0343533, -0.12101658, -0.044895757, -0.033076547, -0.0072863665, -0.13455121, -0.03442574, 0.03806193, -0.025911227, -0.05203063, 0.006293081, 0.01888723, 0.10063248) * go_1(-1.0, 1.0); + result += mat4(0.05558394, 0.03480151, 0.0068188105, 0.025131043, -0.12540701, -0.088756844, -0.03175985, -0.19954887, 0.0730124, -0.04229162, -0.0013364753, -0.03893613, 0.06019269, -0.034671903, 0.050091, -0.059322134) * go_1(0.0, -1.0); + result += mat4(-0.07942089, -0.018256165, -0.096205324, 0.101769134, 0.01908004, 0.33233985, -0.035679515, -0.23594299, -0.03030973, 0.06313867, -0.044021074, -0.10605643, -0.10518184, -0.11355261, 0.12967454, -0.106763974) * go_1(0.0, 0.0); + result += mat4(-0.09985036, 0.041868765, -0.09622011, -0.05465083, -0.039375015, -0.10204485, -0.004873815, 0.080527805, 0.08858304, -0.05943268, 0.08352734, -0.07512739, -0.22778553, 0.15029298, 0.08525989, -0.15358798) * go_1(0.0, 1.0); + result += mat4(-0.08080637, -0.097256064, -0.040232092, -0.06549907, 0.013221195, -0.028040923, -0.0005182768, 0.06254156, 0.19496393, -0.0040481715, -0.053046, 0.05839162, 0.11274092, 0.11118614, 0.1480564, 0.033354077) * go_1(1.0, -1.0); + result += mat4(0.023759563, 0.00635514, -0.045272943, -0.05173251, 0.0885555, -0.008405325, 0.19941078, 0.109418906, 0.48571047, 0.0562873, -0.122534275, 0.01860896, 0.10383342, -0.005438985, 0.2603844, 0.016442006) * go_1(1.0, 0.0); + result += mat4(-0.1018859, -0.06035783, 0.04882298, 0.121493384, -0.014769945, -0.026479812, -0.23881653, 0.15810451, 0.064371295, -0.08258908, 0.032874167, 0.0013588811, -0.13452709, -0.021992348, -0.12913197, -0.007582777) * go_1(1.0, 1.0); + result += mat4(0.09469535, -0.0059437137, 0.0070211883, 0.012549531, -0.04503433, 0.11778692, -0.01240231, -0.06452343, 0.0183962, -0.09719111, 0.051977355, 0.028582, 0.11405788, 0.09339377, -0.017060561, -0.016824113) * go_2(-1.0, -1.0); + result += mat4(0.025192278, 0.16830146, 0.002082107, -0.12433539, 0.05449372, 0.111993775, -0.050993383, 0.106019214, -0.0012675346, -0.11002013, 0.08042263, 0.046076216, 0.03845027, 0.026669858, -0.05693071, 0.006350705) * go_2(-1.0, 0.0); + result += mat4(0.11534884, 0.067232355, -0.08493867, -0.059265412, -0.045863472, 0.03164632, -0.013697583, 0.012065389, -0.15469037, -0.08252674, 0.102144025, 0.079707734, 0.0043182303, 0.07471552, -0.028747529, -0.05626163) * go_2(-1.0, 1.0); + result += mat4(-0.02088867, 0.005918884, -0.00632325, 0.06864312, 0.07231704, 0.06967162, 0.046126503, -0.03890708, -0.11291535, -0.112925544, 0.01721896, -0.027296377, -0.0008218594, 0.019371105, -0.028493239, -0.11972473) * go_2(0.0, -1.0); + result += mat4(0.05792697, -0.050189912, -0.013986142, -0.042153005, -0.044381443, -0.040740672, -0.036568243, -0.18094629, -0.032849103, -0.11920466, -0.01574577, 0.07106109, -0.0473771, -0.029407948, -0.016447794, 0.07348799) * go_2(0.0, 0.0); + result += mat4(0.25879595, 0.027651018, -0.09736299, -0.017931122, 0.1145708, 0.051391326, 0.14323749, -0.06405431, -0.017116228, -0.04995981, 0.017524386, 0.053012, -0.024927566, 0.029871127, -0.062402803, -0.089126125) * go_2(0.0, 1.0); + result += mat4(-0.3455905, -0.07298466, 0.022065436, -0.13115343, 0.0683912, 0.06609262, -0.035481025, -0.04162889, -0.0020681168, -0.0819611, 0.017471436, 0.022238733, 0.047958784, 0.037473556, -0.06708024, -0.06513322) * go_2(1.0, -1.0); + result += mat4(-0.008081404, 0.04029864, -0.07384856, -0.12268659, 0.048441645, 0.08439676, 0.032600272, 0.01420026, -0.16429286, -0.061197132, 0.05322935, -0.04212053, 0.0060033225, 0.037083343, -0.024957739, -0.026598029) * go_2(1.0, 0.0); + result += mat4(0.0018599767, 0.02205519, 0.10264597, 0.047300845, 0.13039044, -0.08621153, -0.014272506, 0.03800674, -0.12807004, -0.03650184, 0.17019251, 0.0050348463, 0.06673689, 0.062484764, -0.074008316, 0.0024411175) * go_2(1.0, 1.0); + result += mat4(0.10010423, 0.059802253, -0.028706724, -0.0021158324, -0.1071618, -0.06596802, 0.017506624, 0.020555088, 0.006742276, -0.058907714, 0.02132174, -0.00065407227, 0.10080476, -0.06645163, 0.028596232, -0.098386355) * go_3(-1.0, -1.0); + result += mat4(0.06250598, 0.028219528, -0.032285657, 0.029157873, 0.41888437, -0.07922488, -0.038655374, 0.08948803, -0.13829164, 0.13305405, 0.00031528703, -0.11085006, -0.063075796, 0.0500627, 0.065392256, 0.12271925) * go_3(-1.0, 0.0); + result += mat4(0.111435704, 0.02032602, 0.038795993, 0.03990286, 0.27919176, -0.08434588, -0.025168309, 0.051932946, -0.04704256, -0.031704668, 0.029195199, 0.0029008535, 0.1921871, 0.072233014, 0.02167757, -0.009142876) * go_3(-1.0, 1.0); + result += mat4(0.03787496, 0.10278594, -0.034100357, -0.038842272, -0.21315722, 0.04823617, -0.029114509, 0.051216953, 0.06688632, -0.016796501, 0.034409184, 0.030457467, 0.18392949, -0.05570241, -0.0074716844, -0.09469817) * go_3(0.0, -1.0); + result += mat4(0.00060441054, -0.21777734, 0.039007552, 0.065863505, -0.20799696, -0.007875905, -0.038051736, 0.107517034, -0.030292246, 0.039137594, -0.011577313, -0.09082536, -0.024957297, 0.04839934, 0.08945703, -0.067684196) * go_3(0.0, 0.0); + result += mat4(-0.0007396966, -0.028242454, -0.055650227, 0.015779331, -0.33971977, -0.0536201, 0.21978994, 0.17193733, 0.08947309, 0.05031975, -0.1301886, -0.035680372, 0.08049449, 0.20915179, -0.21580179, 0.0070197694) * go_3(0.0, 1.0); + result += mat4(0.018666867, 0.080064476, 0.03374961, 0.009929877, 0.12268159, 0.08780485, -0.020013101, 0.001475278, -0.094762295, -0.00571688, 0.07592603, 0.02490935, 0.20536572, -0.103320844, -0.11305944, 0.020782808) * go_3(1.0, -1.0); + result += mat4(0.10927535, -0.10669775, -0.119271345, -0.04704597, -0.33198515, 0.16730374, 0.067796834, -0.21553586, -0.15134549, 0.12522157, -0.059982754, 0.053596307, -0.07490767, 0.0430427, 0.13261874, 0.034827977) * go_3(1.0, 0.0); + result += mat4(-0.118310496, -0.034256335, 0.15736672, -0.012709214, 0.108289585, 0.055601, -0.15293309, -0.047951285, 0.13641061, 0.040393222, -0.014293154, 0.013147444, 0.040933702, 0.06414584, -0.06435496, 0.07897889) * go_3(1.0, 1.0); + result += mat4(0.1769398, -0.03865557, -0.007278993, -0.009594421, 0.06511066, -0.055826154, 0.039952062, 0.11912263, 0.017886136, -0.05012913, -0.026828678, -0.059241973, -0.10093276, -0.19696872, 0.084965006, 0.14702372) * go_4(-1.0, -1.0); + result += mat4(0.099720076, -0.067204416, -0.03463609, 0.09670626, -0.28691396, -0.06598814, 0.0014410254, 0.14105716, -0.033738673, -0.060082074, 0.022319613, -0.10230477, -0.04376945, -0.13106492, 0.063823946, 0.14856036) * go_4(-1.0, 0.0); + result += mat4(0.33853808, -0.0621997, 8.363771e-05, -0.0009150376, 0.024009543, 0.018634653, 0.0037902838, 0.10804439, 0.05129897, 0.013281732, 0.0192675, -0.021642182, 0.20649408, -0.059423707, 0.06726224, 0.0145797795) * go_4(-1.0, 1.0); + result += mat4(-0.15990373, -0.106583185, 0.002367883, 0.045296166, -0.0631138, -0.0072529926, 0.029369524, 0.08331243, 0.122756526, -0.0179492, -0.120487615, 0.0081743365, -0.17502016, -0.044541918, -0.015354001, -0.011111051) * go_4(0.0, -1.0); + result += mat4(-0.11184931, 0.06587063, 0.07042273, -0.04147224, -0.09151379, -0.20194946, 0.10355849, 0.19217291, 0.08952243, 0.12201255, 0.04417764, -0.04035679, -0.09468639, 0.31825796, 0.006901595, -0.04124098) * go_4(0.0, 0.0); + result += mat4(0.06660271, -0.0046637137, 0.09873929, 0.08799431, -0.100498706, 0.06444192, -0.02957856, 0.038241588, 0.15948315, 0.1299982, -0.090359725, 0.004090419, -0.079359606, -0.00037474622, -0.022643564, -0.08251614) * go_4(0.0, 1.0); + result += mat4(0.43229616, 0.10688282, -0.07364843, 0.053060126, 0.12662794, -0.008840078, 0.026755894, 0.041338578, -0.2254781, -0.10235022, -0.12567373, -0.0667009, -0.1809531, -0.09815889, -0.08910998, 0.037839357) * go_4(1.0, -1.0); + result += mat4(-0.07567111, 0.028171131, 0.055614933, -0.013953225, 0.12692563, 0.083607204, -0.07004251, -0.036412235, -0.058107987, 0.037055403, 0.18604837, -0.017260164, -0.17541583, 0.06894981, -0.23379545, 0.031235654) * go_4(1.0, 0.0); + result += mat4(0.45591107, 0.039045885, -0.12626866, -0.14674829, 0.05945796, -0.010674477, -0.035819475, -0.0047352607, -0.036941368, 0.10396601, -0.036363676, 0.0554336, 0.17748542, 0.06979016, 0.14080845, 0.042843) * go_4(1.0, 1.0); + result += mat4(0.10455963, 0.075099275, 0.05469465, 0.015781848, 0.09594164, 0.05998725, -0.052120302, -0.13773419, 0.044500146, 0.031731047, -0.008471109, -0.03267637, 0.047310144, 0.031099096, -0.024222182, -0.033589233) * go_5(-1.0, -1.0); + result += mat4(-0.12448876, -0.03613152, -0.0010140876, -0.025516123, -0.059143614, 0.023980793, -0.022088494, -0.23990345, -0.009263314, 0.07561086, -0.018244747, -0.030571839, 0.078326724, 0.11647481, 0.0005469513, 0.011363735) * go_5(-1.0, 0.0); + result += mat4(-0.012303434, 0.10459798, 0.0075168074, -0.06578245, 0.10195852, -0.011171349, 0.031734105, 0.01707112, 0.027664077, 0.023296015, -0.018072389, -0.025510611, 0.1640572, 0.034506124, 0.00016337275, 0.03571095) * go_5(-1.0, 1.0); + result += mat4(-0.008957332, 0.009508923, 0.0146317985, 0.038981803, 0.24314897, 0.0015878802, -0.078958146, 0.03145806, 0.0068939812, 0.073126584, -0.012263321, -0.036391743, 0.118567936, 0.065423995, 0.023732737, -0.0099737905) * go_5(0.0, -1.0); + result += mat4(0.07652766, -0.099965736, 0.07820692, -0.016641535, -0.05796137, 0.062477842, -0.09325648, 0.044144213, -0.074167095, -0.02907356, 0.009493459, -0.09726981, -0.024008945, 0.13910118, -0.012273277, -0.18442377) * go_5(0.0, 0.0); + result += mat4(-0.3458695, 0.0125532355, -0.04507072, 0.005002404, -0.054678664, -0.1073264, -0.066266164, 0.10499865, -0.026834222, -0.005892071, -0.012439621, -0.014582178, 0.20079906, 0.10445034, -0.017010294, -0.027499933) * go_5(0.0, 1.0); + result += mat4(0.20540363, 0.13028874, -0.0043541454, 0.041952956, -0.06462141, 0.05869749, -0.0336049, -0.00483216, 0.0071067465, 0.02086375, 0.029295754, 0.00054160395, 0.12825298, 0.01190737, 0.024069678, 0.0007039938) * go_5(1.0, -1.0); + result += mat4(0.25426188, -0.025078375, -0.18087013, -0.047353756, 0.050092597, -0.020793278, -0.20005824, -0.05249769, 0.10390969, 0.029416217, -0.022406658, 0.022277432, 0.10061195, 0.09648526, 0.08301866, -0.05414833) * go_5(1.0, 0.0); + result += mat4(-0.008085474, -0.0047122077, 0.037323467, -0.05261859, -0.014043025, 0.015429949, 0.0026017784, 0.05505961, -0.026992656, -0.0034499804, -0.040065564, -0.010143243, 0.080673434, 0.01895095, -0.044532266, -0.04431238) * go_5(1.0, 1.0); + result += vec4(-0.03466821, 0.00034034275, 0.0050041266, 0.015987461); + return result; +} +//!DESC Anime4K-v4.1-Restore-GAN-(UUL)-Conv-3x3x3x32 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!SAVE MAIN +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.029194267, -0.012368673, -0.032628484, 0.0, 0.009544185, 0.003643155, -0.012932683, 0.0, -0.02599644, -0.009162184, 0.001984748, 0.0, 0.036822453, -0.01785786, 0.010368739, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.025280805, 0.03720678, 0.00053982873, 0.0, 0.014486393, -0.008664618, -0.013254841, 0.0, 0.032457434, -0.0054208813, -0.03551113, 0.0, 0.005541615, 0.009700108, 0.008173082, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.008494375, 0.017570386, -0.035493053, 0.0, 0.0040664477, -0.009358297, -0.00124042, 0.0, 0.013665794, -0.027995802, 0.01806665, 0.0, 2.6274169e-05, -0.017136851, 0.004273683, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.001260151, 0.0298161, 0.03177647, 0.0, 0.029924905, 0.002548117, -0.008971935, 0.0, -0.028699454, -0.011327333, 0.01809372, 0.0, 0.052908268, -0.009816564, -0.04160645, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.0674105, 0.011343186, 0.031059649, 0.0, -0.01816893, -0.027822826, -0.0039920355, 0.0, 0.06559583, 0.08136345, 0.0024248413, 0.0, -0.007355395, 0.0021421018, -0.03261461, 0.0) * go_0(0.0, 0.0); + result += mat4(0.06596344, 0.0011187588, -0.0698554, 0.0, -0.024434082, -0.009038537, 0.042669352, 0.0, -0.060429063, -0.014795595, 0.10773078, 0.0, -0.018245215, -0.025555842, 0.07259554, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.0035948083, -0.026325721, 0.032130077, 0.0, 0.0015195963, 0.0044271573, -0.008984954, 0.0, 0.016403245, -0.0039584707, 0.013665029, 0.0, 0.0016767944, 0.0070667397, -0.028133946, 0.0) * go_0(1.0, -1.0); + result += mat4(0.01695004, -0.029402763, 0.047411986, 0.0, -0.01129213, 0.0049071675, 0.003822879, 0.0, -0.031588167, -0.031124864, -0.06241746, 0.0, -0.035150167, 0.024117738, -0.008538587, 0.0) * go_0(1.0, 0.0); + result += mat4(0.058436964, -0.018053403, -0.0029208104, 0.0, -0.012583584, -8.435696e-06, -0.0021389409, 0.0, 0.025366964, 0.022662194, -0.03120317, 0.0, -0.05732525, -0.0019531269, 0.02189266, 0.0) * go_0(1.0, 1.0); + result += mat4(0.021041503, -0.03575024, 0.039296895, 0.0, 0.036413766, -0.015376002, -0.003543714, 0.0, -0.006572382, -0.01746979, 0.024723995, 0.0, -0.005184721, 0.014261276, -0.021478102, 0.0) * go_1(-1.0, -1.0); + result += mat4(0.007271495, 0.010891414, 0.06081773, 0.0, -0.07530834, -0.057223827, 0.056062855, 0.0, -0.03944118, 0.009164506, 0.016359169, 0.0, 0.011959882, -0.009856203, -0.050926358, 0.0) * go_1(-1.0, 0.0); + result += mat4(-0.01974953, 0.010230301, -0.007793579, 0.0, -0.020196917, 0.04590978, 0.03837431, 0.0, -0.006767891, 0.0075034844, -0.003773216, 0.0, 0.013550913, -0.0003947991, 0.0031925605, 0.0) * go_1(-1.0, 1.0); + result += mat4(0.028148983, -0.038432404, 0.03511873, 0.0, -0.034311228, -0.02840252, -0.027590172, 0.0, 0.06412731, -0.03889514, -0.016489375, 0.0, -0.048484165, 0.00057386677, 0.0026269031, 0.0) * go_1(0.0, -1.0); + result += mat4(-0.08776933, 0.0029032787, -0.031222485, 0.0, 0.06960467, 0.09750718, 0.050598294, 0.0, 0.0835213, 0.021661203, 0.038753476, 0.0, 0.03982122, 0.03788668, 0.1515678, 0.0) * go_1(0.0, 0.0); + result += mat4(0.028370056, 0.039478805, -0.020990063, 0.0, 0.00912417, 0.023335736, -0.16728604, 0.0, -0.011494958, -0.013394507, -0.053537812, 0.0, -0.005550743, -0.009001584, 0.012948562, 0.0) * go_1(0.0, 1.0); + result += mat4(0.013810996, -0.025271188, -0.004379599, 0.0, 0.015034975, -0.00089060765, 0.033212643, 0.0, 0.038851626, -0.0057069063, -0.040545236, 0.0, -0.0028078358, 0.015933724, 0.01575025, 0.0) * go_1(1.0, -1.0); + result += mat4(0.01737436, 0.01430337, -0.015735079, 0.0, -0.016511876, -0.06596022, 0.003990326, 0.0, 0.029907767, 0.0024715378, -0.05681515, 0.0, -0.0066727134, -0.024142109, 0.022043386, 0.0) * go_1(1.0, 0.0); + result += mat4(-0.019812914, 0.0015476292, -0.016639404, 0.0, 0.017160518, -0.002040027, -0.0007517166, 0.0, 0.0071950383, -0.003341077, -0.046353333, 0.0, -0.00083734177, -0.010146456, 0.016291264, 0.0) * go_1(1.0, 1.0); + result += mat4(0.005489136, -0.015574599, -0.011043608, 0.0, -0.009506977, 0.0054301876, 0.02158638, 0.0, 0.028507395, 0.018968195, 0.015134093, 0.0, -0.03841078, 0.025878599, 0.014776577, 0.0) * go_2(-1.0, -1.0); + result += mat4(0.050771695, -0.020951752, 0.02507804, 0.0, -0.023102228, 0.005002361, 0.009032685, 0.0, -0.02580423, 0.01087507, 0.053516913, 0.0, -0.0029967995, -0.0077431537, -0.001353477, 0.0) * go_2(-1.0, 0.0); + result += mat4(0.010528193, -0.015227771, 0.04612157, 0.0, -0.0034696343, 0.012149008, 0.00761891, 0.0, -0.028641496, 0.024396904, -0.005470966, 0.0, -0.016171847, 0.017462283, -0.0045835036, 0.0) * go_2(-1.0, 1.0); + result += mat4(0.016605109, -0.015695306, -0.026842888, 0.0, -0.018456295, -0.0015909546, 0.01639685, 0.0, 0.045253225, 0.014879358, -0.0029951404, 0.0, -0.07698649, -6.646588e-05, 0.051242474, 0.0) * go_2(0.0, -1.0); + result += mat4(0.021182995, -0.059780866, -0.10691225, 0.0, 0.012331703, 0.018810093, -0.00074620557, 0.0, -0.08377086, -0.09883356, 0.0033603192, 0.0, 0.027267748, -0.044589777, -0.016808862, 0.0) * go_2(0.0, 0.0); + result += mat4(-0.05345038, 0.007593226, 0.08017634, 0.0, 0.0029109702, -0.0066193943, -0.053755503, 0.0, 0.06317975, 0.013643785, -0.09781004, 0.0, 0.025922418, 0.02646404, -0.07879502, 0.0) * go_2(0.0, 1.0); + result += mat4(0.013840612, 0.03220654, 0.008247586, 0.0, 0.0024653377, 0.0017564539, 0.0095992945, 0.0, -0.008052894, 0.0005847401, 0.0030516423, 0.0, -0.0055664075, -0.0022113416, 0.03661902, 0.0) * go_2(1.0, -1.0); + result += mat4(-0.009897283, 0.03339503, -0.04373135, 0.0, 0.007111389, -0.0064675347, -0.0057030907, 0.0, 0.024796525, 0.014585273, 0.04618779, 0.0, 0.0451687, -0.01796601, 0.019403245, 0.0) * go_2(1.0, 0.0); + result += mat4(-0.050205655, 0.0067047793, 0.004935128, 0.0, 0.007296142, 0.0021017375, 0.004065404, 0.0, -0.033875827, -0.029431261, 0.028738476, 0.0, 0.0447788, 0.0089823445, -0.014340374, 0.0) * go_2(1.0, 1.0); + result += mat4(-0.008800223, 0.03338696, -0.034157075, 0.0, -0.0068426207, 0.018176233, 0.004032728, 0.0, 0.024810873, 0.014211227, -0.05046429, 0.0, 0.002167862, -0.024004508, 0.029742634, 0.0) * go_3(-1.0, -1.0); + result += mat4(-0.017277744, -0.027693354, -0.061636884, 0.0, 0.03730354, 0.02037306, -0.082923785, 0.0, 0.06614115, -0.021971319, -0.03728439, 0.0, -0.009604838, 0.0065510827, 0.05428039, 0.0) * go_3(-1.0, 0.0); + result += mat4(0.028721841, -0.015807403, 0.0052445545, 0.0, 0.044053316, -0.03528111, -0.02186662, 0.0, 0.038215213, -0.016336309, -0.008933091, 0.0, -0.0011169153, 0.012024489, 0.02721076, 0.0) * go_3(-1.0, 1.0); + result += mat4(-0.023697415, 0.03966659, -0.034681734, 0.0, 0.018552555, 0.0103879105, -0.012615872, 0.0, -0.07300987, 0.040119167, 0.005360114, 0.0, 0.027465869, -0.02125224, -0.0050676432, 0.0) * go_3(0.0, -1.0); + result += mat4(0.030902436, -0.036696557, 0.0028193328, 0.0, -0.05093436, -0.07263705, -0.021804878, 0.0, -0.09184029, -0.024111573, -0.058388986, 0.0, -0.0090374835, -0.005109571, -0.097216494, 0.0) * go_3(0.0, 0.0); + result += mat4(0.015647996, -0.014143281, 0.04477705, 0.0, -0.01775979, -0.034271564, 0.16637851, 0.0, 0.05501123, 0.017724924, 0.04504396, 0.0, -0.026133522, -0.013498184, -0.013634824, 0.0) * go_3(0.0, 1.0); + result += mat4(-0.03309264, 0.01711954, 0.0074518835, 0.0, 0.016711101, 0.032219592, -0.019081173, 0.0, -0.017806605, 0.009609709, 0.025623152, 0.0, 0.0010809151, -0.015366981, -0.012361129, 0.0) * go_3(1.0, -1.0); + result += mat4(0.0049063656, 0.010883338, 0.04879139, 0.0, -0.022820218, 0.034932375, -0.019001193, 0.0, -0.013871661, 0.000886869, 0.05011855, 0.0, 0.0074326694, 0.030681293, -0.008235174, 0.0) * go_3(1.0, 0.0); + result += mat4(0.016555479, -0.01782214, 0.012905581, 0.0, -0.024117837, 0.0008709348, -0.003545648, 0.0, 0.015249755, -0.01739516, 0.031961266, 0.0, 0.008861017, 0.019980997, -0.0017820391, 0.0) * go_3(1.0, 1.0); + result += mat4(0.015237567, 0.002044042, 0.013154992, 0.0, 0.014365077, 0.009685413, 0.009999783, 0.0, -0.004745017, -0.008530349, -0.0048582545, 0.0, 0.006463907, 0.011591748, 0.0013033211, 0.0) * go_4(-1.0, -1.0); + result += mat4(-0.0039128656, -0.018021967, -0.01664764, 0.0, 0.032044526, 0.03212382, 0.03248477, 0.0, -0.018143034, -0.024854887, -0.013054983, 0.0, 0.014334873, 0.026316965, 0.01232964, 0.0) * go_4(-1.0, 0.0); + result += mat4(0.002798491, -0.0038798824, 0.0022298654, 0.0, 0.0019937146, 2.3132301e-05, 0.0051871384, 0.0, 0.002116868, -0.0070092976, 0.0007712422, 0.0, -0.0110990815, -0.00045806088, -0.0042779488, 0.0) * go_4(-1.0, 1.0); + result += mat4(-0.010706082, -0.016151588, -0.008477227, 0.0, -0.010954006, -0.0032643504, -0.0057480773, 0.0, 0.0063414387, 0.011558126, 0.006752642, 0.0, 0.024452314, 0.013355994, 0.011969219, 0.0) * go_4(0.0, -1.0); + result += mat4(0.015298925, 0.030997332, 0.009838116, 0.0, -0.080680534, -0.05467505, -0.05227959, 0.0, -0.023426097, 0.013344335, 0.00071768253, 0.0, -0.015939463, -0.038700994, -0.028631734, 0.0) * go_4(0.0, 0.0); + result += mat4(-0.01238892, 0.004899588, 0.0006303335, 0.0, -0.0103858225, -0.0065748966, -0.013839468, 0.0, -0.016547715, 0.0016229248, -0.004543596, 0.0, 0.012939155, -0.004688313, -0.0023379533, 0.0) * go_4(0.0, 1.0); + result += mat4(-0.0057197395, -0.005643721, -0.00911208, 0.0, 0.017784229, 0.008518574, 0.014390045, 0.0, 0.01216526, -0.004762164, 0.00039809215, 0.0, 0.004477759, 0.0014034393, 0.0015725178, 0.0) * go_4(1.0, -1.0); + result += mat4(0.0080029685, 0.012455343, 0.008170205, 0.0, 0.013437776, 0.0017411915, 0.002170487, 0.0, 0.020931266, 0.0062978463, 0.0077739186, 0.0, 0.012534784, 0.0017018887, -0.0056342245, 0.0) * go_4(1.0, 0.0); + result += mat4(0.0009400788, -0.0069639036, 0.0030032704, 0.0, 0.0031776547, -0.0106882155, -0.0021752508, 0.0, 0.0209143, 0.0059682373, 0.004596733, 0.0, -0.022955237, -0.009941201, -0.006298617, 0.0) * go_4(1.0, 1.0); + result += mat4(-0.0064679156, -0.010350582, -0.009941069, 0.0, -0.0015805382, 0.012290337, 0.008409566, 0.0, -0.117412835, -0.09645556, -0.09703461, 0.0, -0.007818433, -0.0075441995, 0.0014142053, 0.0) * go_5(-1.0, -1.0); + result += mat4(-0.008875219, -0.010561973, -0.0123933125, 0.0, 0.013169622, 0.02392643, 0.016722063, 0.0, 0.055201843, 0.07873035, 0.05582767, 0.0, 0.023869634, 0.020948572, 0.019141855, 0.0) * go_5(-1.0, 0.0); + result += mat4(0.004586781, 0.003811747, 0.0040364224, 0.0, 0.0025533088, 0.004466686, -0.002531796, 0.0, 0.01505836, 0.012453587, 0.012348402, 0.0, -0.024105167, -0.020986296, -0.0138099855, 0.0) * go_5(-1.0, 1.0); + result += mat4(0.017402729, 0.012661966, 0.0056144516, 0.0, -0.004699965, -0.0008380072, -0.006091114, 0.0, 0.0011875675, 0.00879462, 0.011868305, 0.0, -0.018672796, -0.026099058, -0.010950582, 0.0) * go_5(0.0, -1.0); + result += mat4(0.0030471918, 0.0007148243, -0.0025094969, 0.0, 0.033177674, 0.035010602, 0.039097246, 0.0, 0.039616674, 0.037767593, 0.01638443, 0.0, -0.12697552, -0.1073338, -0.09579577, 0.0) * go_5(0.0, 0.0); + result += mat4(-0.00025230617, 0.0012266148, 0.004280498, 0.0, -0.014905165, -0.021798527, -0.020744175, 0.0, -0.002821233, -0.0060641593, -0.007882776, 0.0, -0.07172067, -0.06563568, -0.034545008, 0.0) * go_5(0.0, 1.0); + result += mat4(0.003620735, -0.0024858215, 0.00022405668, 0.0, -0.0076808417, -0.0012458211, -0.0011529091, 0.0, -0.004562087, -0.008754068, -0.0054264124, 0.0, -0.012856577, -0.0010323325, -0.010446232, 0.0) * go_5(1.0, -1.0); + result += mat4(-0.011776141, -0.0019654774, -0.0055164173, 0.0, -0.020086112, -0.016785175, -0.00850444, 0.0, 0.010972318, 0.0025132888, 0.0010225184, 0.0, 0.09268763, 0.092143916, 0.08644562, 0.0) * go_5(1.0, 0.0); + result += mat4(-0.007995734, 0.0009648095, 0.00030679026, 0.0, -0.012054333, -0.010890181, -0.014105062, 0.0, 0.008349884, 0.0012249199, 0.002626051, 0.0, -0.005392993, 0.0035896245, 0.011283782, 0.0) * go_5(1.0, 1.0); + result += mat4(0.040485244, 0.05691461, 0.01393322, 0.0, -0.0068288567, -0.0047428505, -0.00517558, 0.0, 0.0046434966, 0.015452392, -0.00041433485, 0.0, 0.00063609646, -0.0071669365, 0.024786541, 0.0) * go_6(-1.0, -1.0); + result += mat4(0.14682117, 0.17755695, 0.12569702, 0.0, -0.027783392, -0.02624908, -0.028104672, 0.0, 0.00031824392, 0.0073304633, 0.0035713087, 0.0, -0.004828108, -0.011006178, 0.0050675124, 0.0) * go_6(-1.0, 0.0); + result += mat4(0.018347368, 0.058970205, 0.005508202, 0.0, 0.00017912469, 0.0047737043, 0.005871205, 0.0, -0.007914939, -0.0030016988, -0.010390166, 0.0, -0.011853182, -0.016345054, 0.011509364, 0.0) * go_6(-1.0, 1.0); + result += mat4(-0.04851968, -0.0415747, -0.07765033, 0.0, 0.0065016304, 0.0018423289, 0.0009655065, 0.0, 0.12496835, 0.124992594, 0.103400074, 0.0, 0.03406387, 0.024533505, 0.077095464, 0.0) * go_6(0.0, -1.0); + result += mat4(-0.07254525, -0.08249368, -0.08311044, 0.0, 0.06959693, 0.044335928, 0.03670938, 0.0, -0.1417736, -0.16761701, -0.14663263, 0.0, 0.10133506, 0.110241316, 0.14565967, 0.0) * go_6(0.0, 0.0); + result += mat4(0.019155718, 0.0071138083, -0.0034784337, 0.0, -0.00664143, -0.001776598, 0.0020648353, 0.0, 0.023666251, 0.0018572954, 0.009598296, 0.0, -0.06739044, -0.07003538, -0.023062525, 0.0) * go_6(0.0, 1.0); + result += mat4(-0.01241549, -0.009126171, -0.025202572, 0.0, -0.0075291363, 0.0039865207, -0.0034039568, 0.0, 0.016126499, 0.03303203, 0.0098967515, 0.0, -0.028944502, -0.020699043, 0.029002754, 0.0) * go_6(1.0, -1.0); + result += mat4(-0.021382507, -0.026118703, -0.031718995, 0.0, -0.019529367, -0.0035435583, -0.0067699575, 0.0, -0.041487366, -0.028312238, -0.034041278, 0.0, -0.06073689, -0.07734381, -0.019799007, 0.0) * go_6(1.0, 0.0); + result += mat4(-0.01363575, -0.0015479103, -0.020948276, 0.0, -0.010927923, 0.0065499563, -0.0012396075, 0.0, -0.029386181, -0.014403808, -0.012845848, 0.0, -0.009659123, -0.0495663, -0.0149474265, 0.0) * go_6(1.0, 1.0); + result += mat4(0.021467282, 0.010587587, 0.027719442, 0.0, -0.016798606, -0.035109796, -0.028590709, 0.0, -0.030624123, -0.04124009, -0.03222284, 0.0, -0.0026517997, 0.0045358734, -0.002765814, 0.0) * go_7(-1.0, -1.0); + result += mat4(0.033694725, 0.02778838, 0.034238014, 0.0, -0.04121519, -0.06834962, -0.062327933, 0.0, 0.050779387, 0.030920736, 0.03404337, 0.0, -0.0036348598, -0.0020900413, -0.0004735747, 0.0) * go_7(-1.0, 0.0); + result += mat4(-0.007622776, 0.011874823, 0.01900638, 0.0, -0.0025179803, 0.028925508, 0.01261665, 0.0, 0.013219528, 0.016697768, 0.013904126, 0.0, 0.0032451088, 0.0002832319, 0.00023742643, 0.0) * go_7(-1.0, 1.0); + result += mat4(0.01943161, 0.0021087795, 0.019444287, 0.0, 0.014026365, -0.003662395, -0.025668561, 0.0, -0.024189321, -0.023441639, -0.031171577, 0.0, 0.008905503, 0.011113009, 0.01485881, 0.0) * go_7(0.0, -1.0); + result += mat4(0.03617188, 0.020874048, 0.019303437, 0.0, -0.31612596, -0.34252307, -0.37307942, 0.0, -0.010667352, -0.010282407, -0.0023546303, 0.0, -0.047603715, -0.042640142, -0.035864264, 0.0) * go_7(0.0, 0.0); + result += mat4(0.030194433, 0.039834637, 0.03607905, 0.0, 0.07675613, 0.09751075, 0.042691164, 0.0, 0.013306196, 0.015537212, 0.020499485, 0.0, 0.021594003, 0.005205471, 0.0023345314, 0.0) * go_7(0.0, 1.0); + result += mat4(0.017912725, 0.018817604, 0.009495288, 0.0, 0.031629816, 0.030030556, 0.003441103, 0.0, -0.0031581502, 0.003583242, 0.00081657764, 0.0, 0.005727217, 0.007922274, 0.013391995, 0.0) * go_7(1.0, -1.0); + result += mat4(0.035499737, 0.025537802, 0.011286941, 0.0, 0.060370766, 0.07218371, 0.02229925, 0.0, -0.007152367, 0.0015067369, 0.004906394, 0.0, -0.0069688433, -0.0027407445, -0.008629306, 0.0) * go_7(1.0, 0.0); + result += mat4(0.017541587, 0.03987632, 0.027013319, 0.0, 0.055954672, 0.08695107, 0.054611363, 0.0, -0.0035868676, 0.0035243938, 0.009716404, 0.0, 0.024346305, 0.017666759, 0.017770555, 0.0) * go_7(1.0, 1.0); + result += vec4(0.0013127691, 0.0012500212, 0.00080561294, 0.0); + return result * 0.5 + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_L.glsl b/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_L.glsl new file mode 100644 index 0000000..de5bfb2 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_L.glsl @@ -0,0 +1,461 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.050913796, -0.05115213, -0.0205767, -0.26266688, -0.12883802, 0.107968464, 0.03389763, -0.70179373, 0.0030511466, 0.07718592, -0.06562523, -0.060305536, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.009235469, -0.018979615, 0.10033019, -0.20307243, 0.040932532, -0.10095427, 0.038843542, -0.28774044, -0.07829864, -0.04317961, 0.032555006, -0.05584433, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.23774138, 0.04701499, -0.16824278, 0.025335955, 0.30246395, -0.037289508, 0.070405066, 0.03094164, -0.0075012813, 0.06881163, -0.03157643, -0.032394916, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.12524955, 0.18535072, -0.05323482, 0.004486272, 0.15295836, 0.3050709, 0.081431866, 0.09352846, -0.059866652, -0.029570978, 0.019920588, 0.121749535, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.2111615, -0.1268416, 0.45642895, 0.47401953, -0.7580866, 0.5514855, 0.96250856, 0.7827129, 0.0003978912, 0.17167407, -0.04423575, -0.04569368, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.17050457, -0.18697786, -0.11608587, -0.038065948, 0.26542, -0.7021022, -0.33751717, 0.053689335, 0.10030526, -0.19492362, 0.069387496, 0.07228368, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.15900351, -0.017636139, 0.01917807, 0.05584281, 0.28530255, 0.04795445, -0.104170926, 0.1192509, 0.09859251, 0.057123564, 0.025724344, -0.07723904, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.06581913, 0.07548721, -0.054552317, -0.08317343, 0.32851526, -0.2362575, -0.39470714, -0.073999345, 0.07246812, -0.04103072, 0.06058696, 0.09532553, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.12524493, 0.095179625, -0.0918538, 0.016793616, -0.48433152, 0.03702525, -0.100864686, -0.0018861603, -0.14784335, -0.048320837, -0.057494648, -0.024096634, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.012922576, -0.11982956, 0.021963459, 0.019259451); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.04816902, 0.030087546, 0.019183155, -0.08234757, 0.09378316, -0.047217257, -0.04757087, -0.16541782, -0.043394983, 0.05779227, 0.018105166, 0.03222583, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.13639967, -0.001877575, 0.049495522, 0.060094353, 0.015303669, 0.059043188, 0.090356335, -0.12654372, 0.06469071, -0.054733396, -0.013548386, -0.093697555, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.13214277, 0.00062924915, -0.640379, -0.052121993, -0.022532608, 0.01077454, -0.057074178, -0.103670195, -0.0017062012, 0.0035225085, -0.044859786, -0.020764757, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.2553945, -0.08126201, 0.055215932, 0.10690791, 0.6771195, 0.09377514, -0.09488318, -0.43969935, 0.35444704, -0.10392259, 0.07595239, 0.021814484, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.37628967, 0.026895085, 0.035044484, -0.16414654, -0.5694931, -0.20123884, 0.14891861, 1.1822934, -0.25648627, 0.14110301, -0.057699542, 0.17731132, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.023089241, 0.14888923, -0.2730167, 0.1330048, -0.039043408, 0.75768983, 0.07385114, 0.0138615575, -0.06565686, 0.10451973, 0.037489507, 0.021156311, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.03965048, 0.040422294, -0.0662493, -0.043219455, 0.00834316, -0.08315282, 0.13010995, -0.11822414, -0.06811034, 0.029744523, -0.098641835, -0.063671604, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.077282995, -0.29400682, 0.116103284, 0.096747644, -0.47398612, -0.77101594, -0.20683232, 0.111703634, -0.08370965, -0.24218678, 0.13780457, -0.017660126, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.08542605, 0.13080615, 0.081582755, -0.00024888176, 0.31160986, 0.17787197, -0.019935975, -0.09658498, 0.096656196, 0.064402744, -0.033331197, 0.027531069, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.0018859988, 0.004285429, 0.5060845, -0.030093472); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.34559122, 0.052896723, -0.27492252, -0.1604473, 0.4791457, 0.17956258, 0.0076199574, -0.16324736, -0.075430416, 0.019434236, -0.275363, -0.16502565, 0.05507322, -0.046572465, 0.08130956, 0.009380191) * go_0(-1.0, -1.0); + result += mat4(0.1754505, 0.10862336, -0.14956018, 0.20161937, 0.16598102, -0.0033441933, 0.19303258, 0.3278992, -0.31819978, 0.14614153, 0.08434212, 0.21208692, -0.0014794758, -0.06754758, -0.06314527, 0.023496931) * go_0(-1.0, 0.0); + result += mat4(0.13594365, -0.06382366, -0.40069854, -0.087743916, 0.022426397, -0.073364444, -0.19371308, 0.09916138, -0.044016927, 0.0018689828, -0.07705671, 0.15398589, -0.069929935, -0.01874144, 0.050793763, 0.06565281) * go_0(-1.0, 1.0); + result += mat4(0.56292456, 0.25537506, -0.16147509, 0.029484648, 0.11898947, 0.19103922, -0.2387553, 0.13659279, -0.044804625, -0.10285909, 0.12958583, 0.21526133, 0.02727471, 0.21990417, 0.0009558564, 0.12372512) * go_0(0.0, -1.0); + result += mat4(-0.10264466, -0.13103753, -0.069214605, 0.43234769, 0.25947884, -0.18333039, -0.15585582, -0.2406589, 0.33275372, -0.19497354, -0.09758474, -0.4531396, 0.41932744, -0.043746196, 0.08315102, -0.085604236) * go_0(0.0, 0.0); + result += mat4(0.15380725, -0.06311845, -0.28896615, -0.059237756, -0.078456834, -0.11623796, 0.017248835, 0.098803006, -0.13643564, -0.0029720776, 0.425954, 0.36920592, -0.06980546, 0.05205535, -0.15787347, -0.094921984) * go_0(0.0, 1.0); + result += mat4(0.009595518, -0.12598279, -0.04322495, -0.08838463, 0.11729769, -0.062454883, 0.19743776, -0.08590505, -0.022744715, 0.00457582, -0.06070008, 0.045312855, -0.010845991, -0.02241941, 0.07252932, 0.05525124) * go_0(1.0, -1.0); + result += mat4(-0.119069465, 0.08782395, 0.17878884, 0.0068233046, -0.36698806, -0.46077076, 0.37470114, 0.006550318, 0.08622002, -0.10081386, 0.1754186, 0.078841425, 0.060330488, 0.39436886, 0.1688179, -0.10113108) * go_0(1.0, 0.0); + result += mat4(0.17160045, -0.18541232, -0.093926296, 0.0053854887, -0.07649591, -0.3053692, 0.15255369, 0.06183564, 0.105131835, 0.076607525, -0.17482935, -0.104579754, -0.4795174, 0.30223432, 0.4728322, 0.106419675) * go_0(1.0, 1.0); + result += mat4(-0.068794325, -0.019651407, 0.048906703, 0.10097784, 0.014003637, 0.08358555, -0.34008583, 0.1677446, 0.12863056, 0.010167976, 0.10771957, -0.14823496, -0.11855097, 0.024728613, -0.06394353, 0.07123295) * go_1(-1.0, -1.0); + result += mat4(0.1652107, -0.056815207, 0.26562792, -0.02586732, 0.13812682, 0.3791579, -0.40067768, 0.19901459, -0.055583958, 0.06673556, -0.16258197, 0.0014027074, 0.13844898, 0.17588624, 0.0061608437, 0.014889389) * go_1(-1.0, 0.0); + result += mat4(0.023591522, -0.06255483, -0.04512753, -0.07939918, 0.17603582, -0.06219873, -0.10907254, 0.012348696, -0.053350568, 0.023741387, 0.05215983, 0.117241465, 0.28173143, 0.11200327, -0.11672438, -0.13278063) * go_1(-1.0, 1.0); + result += mat4(-0.15015969, -0.1145909, 0.08583166, 0.0386507, -0.17788467, 0.29311427, 0.03577728, -0.006737705, -0.020426478, 0.065881886, -0.10966947, -0.016716056, -0.0027577002, -0.20769168, 0.4357363, -0.13179652) * go_1(0.0, -1.0); + result += mat4(-0.44572783, 0.08870803, 0.42933974, -0.16602941, 0.23271243, 0.29478154, -0.53973556, -0.042550746, -0.13157314, -0.0413034, 0.12679552, 0.11579286, -0.5161936, -0.24292113, -0.10862491, 0.13528119) * go_1(0.0, 0.0); + result += mat4(-0.043000877, 0.08458555, 0.11260604, -0.5589381, -0.16010836, -0.019429926, 0.04731505, -0.12212733, 0.05655828, 0.0107375225, -0.10067243, -0.06904067, 0.07476142, -0.043922618, -0.13811466, 0.008697587) * go_1(0.0, 1.0); + result += mat4(-0.3281664, -0.104251154, 0.07188181, 0.06720938, 0.028879764, 0.07302547, 0.18261562, -0.08896491, 0.11240943, -0.1919612, -0.13059135, -0.07057044, 0.053953633, 0.17297988, -0.20344415, 0.050276734) * go_1(1.0, -1.0); + result += mat4(-0.41925356, 0.020309223, 0.2246313, -0.3418901, -0.20863962, 0.18653068, -0.04616101, 0.1236236, -0.062179156, 0.1437903, 0.1314142, 0.0699381, 0.029918872, 0.23033592, 0.09302733, -0.20570321) * go_1(1.0, 0.0); + result += mat4(0.07847491, -0.18251555, 0.0678772, -0.29089385, -0.03632992, -0.17132603, -0.04896196, 0.09839614, -0.10377483, -0.11817732, 0.03477946, 0.050376516, 0.17791937, -0.34359503, 0.030756304, 0.025246387) * go_1(1.0, 1.0); + result += mat4(-0.12972409, 0.032459006, -0.20415276, 0.31407776, -0.1743501, -0.26177478, -0.07577315, -0.104599, -0.025548192, -0.23483936, 0.40139225, 0.12898883, 0.06533049, -0.09545806, -0.032093894, 0.0032956926) * go_2(-1.0, -1.0); + result += mat4(0.22749326, -0.20613275, -0.23030083, -0.29994026, -0.18482473, -0.038720988, -0.13339107, -0.1394514, 0.36952803, -0.2709558, -0.14104684, -0.17859542, 0.09873891, 0.04330318, 0.15205383, 0.115995236) * go_2(-1.0, 0.0); + result += mat4(0.07534328, -0.13592403, 0.2224819, -0.06818886, -0.11952144, 0.004714797, 0.18252324, -0.08729513, 0.17198865, -0.00082568696, 0.33769485, -0.0920225, 0.173712, -0.038548574, -0.016980015, -0.13799237) * go_2(-1.0, 1.0); + result += mat4(-0.43659294, -0.19679698, -0.31969583, 0.24002865, -0.1064947, -0.08218358, -0.07990568, -0.028915526, -0.077836946, -0.012841249, -0.11685068, -0.2102985, 0.025435956, -0.21367492, 0.11001358, -0.09812692) * go_2(0.0, -1.0); + result += mat4(0.28203383, 0.09570471, -0.14503846, -0.19898729, 0.18757457, 0.16626704, -0.009997161, 0.06738176, -0.18296066, 0.11583831, -0.0025225005, 0.373547, -0.24103725, 0.3553009, 0.11984093, 0.25370696) * go_2(0.0, 0.0); + result += mat4(-0.022194814, 0.02950222, -0.121312395, 0.0040648654, 0.06509207, 0.00084966415, 0.032229617, 0.0139804585, -0.23108627, -0.004511493, -0.28217104, 0.0828633, 0.17399071, 0.2137328, 0.4731738, -0.37666738) * go_2(0.0, 1.0); + result += mat4(-0.045961298, 0.0056297607, -0.08513672, 0.093939304, 0.07252928, -0.11458939, 0.11005008, -0.1132733, 0.10369599, 0.1636998, -0.11919379, -0.08949099, 0.080640145, 0.029493907, 0.24982096, -0.10234766) * go_2(1.0, -1.0); + result += mat4(0.08474163, -0.24252129, -0.3065911, 0.11077523, 0.13397239, 0.14875948, -0.18212163, 0.006510455, -0.008477232, -0.3242149, 0.31507346, -0.19521071, -0.3610268, 0.25882444, -0.067812346, 0.20968717) * go_2(1.0, 0.0); + result += mat4(0.05730163, 0.053821165, -0.10948745, 0.04090055, 0.0161064, 0.19475192, 0.09248433, -0.027268974, -0.031323943, -0.084304914, 0.28378648, 0.44910806, -0.052243132, 0.2999386, -0.26639074, -0.2529396) * go_2(1.0, 1.0); + result += mat4(0.026707547, -0.006487042, -0.044127557, -0.016287267, 0.1417188, 0.24645403, -0.32444936, 0.20339565, 0.027596464, 0.03799474, -0.029943593, 0.058569513, -0.15013286, 0.25070968, 0.08954207, -0.14304538) * go_3(-1.0, -1.0); + result += mat4(-0.22184753, -0.0732679, 0.042815078, 0.03770516, 0.22240163, -0.043244008, -0.14883384, -0.10682856, 0.16421252, 0.20890577, 0.000585579, -0.061031006, -0.551696, -0.17770186, 0.13795924, 0.101121314) * go_3(-1.0, 0.0); + result += mat4(-0.047539327, 0.11826275, 0.458172, -0.023809819, -0.0154842585, -0.015466883, 0.03837829, -0.34703115, -0.03437818, 0.12705797, -0.042713646, -0.2518409, -0.27947584, -0.020104226, -0.022687877, 0.14169087) * go_3(-1.0, 1.0); + result += mat4(0.06269709, 0.06449363, -0.02793847, 0.04407663, -0.054694284, 0.69776016, -0.32850045, 0.19365972, -0.19002354, -0.038244195, -0.20433429, -0.34071165, 0.123992935, -0.22218247, -0.30181807, -0.03031556) * go_3(0.0, -1.0); + result += mat4(-0.06685185, -0.18313402, -0.03785641, 0.008412995, -0.017108139, 0.48937285, -0.035302214, 0.011338532, -0.08890957, 0.32343447, 0.088812076, -0.027280344, 0.40437454, -0.45940742, 0.118888274, 0.41054434) * go_3(0.0, 0.0); + result += mat4(-0.36049488, 0.100708134, 0.331516, 0.1078647, 0.12895954, 0.13425021, -0.18602797, -0.11423174, -0.10916294, 0.061013293, 0.08984191, 0.1835112, -0.10568929, -0.046648484, 0.2127872, 0.54582083) * go_3(0.0, 1.0); + result += mat4(0.19040897, 0.08670264, 0.12393752, -0.003475547, -0.37210098, 0.035628326, -0.29302806, 0.10709011, -0.20405664, -0.9748058, 0.39254782, 0.44914797, 0.032028764, 0.04227575, -0.25056216, 0.063437305) * go_3(1.0, -1.0); + result += mat4(-0.07952942, -0.13263832, 0.037877183, 0.20845042, -0.026445981, -0.010450352, -0.043147005, -0.12033961, 0.20600243, -0.046332583, -0.47056386, 0.09566825, 0.18658772, -0.3381639, -0.042662457, 0.15197653) * go_3(1.0, 0.0); + result += mat4(-0.4996296, 0.019971728, 0.10017604, 0.052051116, 0.12145858, 0.106811635, -0.056665674, -0.11708303, 0.16642408, 0.22654046, -0.04731226, -0.039967895, -0.1434505, 0.3171998, -0.19033776, -0.29952875) * go_3(1.0, 1.0); + result += vec4(0.03144068, -0.027781913, 0.04483475, 0.037489943); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.031192884, -0.015032417, 0.25046152, 0.143142, 0.09429096, 0.2090414, -0.16252424, 0.42788, -0.005667558, 0.14787567, 0.23810932, -0.13502707, 0.0006289761, -0.014052179, -0.091041535, 0.059258565) * go_0(-1.0, -1.0); + result += mat4(-0.09637771, 0.17332087, 0.123664804, 0.046110056, 0.25775972, 0.31647265, -0.1464598, 0.41624358, 0.032242253, -0.017219262, -0.35814875, 0.3348811, 0.05738627, 0.046910666, 0.014263179, -0.15797907) * go_0(-1.0, 0.0); + result += mat4(-0.06782952, 0.049666278, 0.083296575, 0.19301543, -0.05964988, 0.18332662, 0.30906975, 0.03342819, 0.12226727, 0.1226969, -0.15035193, -0.003493911, -0.007647415, -0.051491078, -0.019189527, -0.009602449) * go_0(-1.0, 1.0); + result += mat4(0.08838342, -0.055376932, 0.13949814, -0.12728734, -0.17266448, 0.35102528, 0.018773714, 0.050504927, -0.10556112, -0.014422574, -0.25474203, 0.31192264, -0.09063805, 0.010115312, -0.08702192, 0.08573518) * go_0(0.0, -1.0); + result += mat4(0.16521221, -0.01265248, -0.5292306, -0.17494588, -0.18994644, -0.41904125, -0.26261392, -0.42338082, 0.39478812, 0.20768805, 0.16483486, -0.22635488, 0.13576357, 0.17095351, 0.064293, 0.06416031) * go_0(0.0, 0.0); + result += mat4(-0.09107591, 0.1757355, 0.19841582, -0.25249094, 0.18083812, -0.12258315, 0.4074544, -0.17171176, -0.15881093, -0.22978021, -0.05622591, -0.09703007, -0.12538208, -0.06956953, -0.14475612, -0.066342294) * go_0(0.0, 1.0); + result += mat4(-0.029294115, -0.036292624, 0.19467807, -0.10223533, 0.086430565, -0.052809026, -0.23749635, 0.10364248, -0.22938702, 0.07210543, 0.03876035, -0.21014924, -0.11247329, -0.17755648, -0.05139757, -0.037780646) * go_0(1.0, -1.0); + result += mat4(0.12605286, 0.16123274, -0.13924524, -0.109194726, 0.033486, -0.24847955, 0.1264379, 0.28880134, -0.17594175, -0.1888256, -0.04508948, 0.047563452, -0.5476752, -0.23573762, -0.17183748, 0.14331517) * go_0(1.0, 0.0); + result += mat4(-0.006482806, 0.2289281, -0.03872587, -0.027272481, -0.09913351, -0.09453464, -0.1426349, 0.055076513, -0.025217436, -0.08307176, 0.0797406, 0.10166401, -0.294337, -0.3567936, 0.054015454, 0.068333104) * go_0(1.0, 1.0); + result += mat4(0.012300659, -0.040405195, 0.11190478, -0.07406065, -0.18364848, 0.035823543, -0.01621734, 0.07582391, 0.06704436, -0.0006620425, -0.022342965, 0.16496183, 0.11390146, 0.075079784, 0.13547076, -0.022227254) * go_1(-1.0, -1.0); + result += mat4(0.23038611, -0.29141426, 0.0984085, -0.20544642, -0.18859404, 0.3620387, -0.4136066, 0.32138887, -0.0047645094, 0.11271573, 0.15377328, 0.012071895, -0.029830804, 0.14384824, 0.04148142, 0.2286753) * go_1(-1.0, 0.0); + result += mat4(-0.120368056, -0.0026308578, -0.027536837, -0.13022487, 0.19286355, 0.30597997, -0.121778116, 0.29960433, -0.06231281, -0.013746478, 0.10620681, -0.02362372, -0.10042793, 0.015861828, -0.06073457, 0.11589962) * go_1(-1.0, 1.0); + result += mat4(0.1148781, -0.24268909, 0.24827103, -0.17290637, -0.14397098, -0.16708367, 0.2130187, -0.18639165, -0.13702524, 0.107212365, 0.066469796, -0.14059094, 0.19621798, -0.036907773, -0.028576817, 0.19191594) * go_1(0.0, -1.0); + result += mat4(0.061653305, -0.12716687, 0.17514701, 0.003910376, -0.00651784, 0.25642744, -0.17615528, -0.03584991, -0.051342323, -0.20178711, -0.4330863, 0.15785883, -0.14388351, 0.050646614, 0.15746376, -0.17228809) * go_1(0.0, 0.0); + result += mat4(-0.32631296, -0.020115409, -0.16132942, 0.29139966, -0.18642388, -0.15140165, 0.2106485, -0.025535548, 0.08296747, 0.037819803, 0.106129125, -0.095521644, 0.312119, -0.09383011, -0.023469942, -0.035990953) * go_1(0.0, 1.0); + result += mat4(0.012878467, -0.1599543, 0.14487906, -0.083350256, 0.074949436, -0.09346481, 0.10122695, 0.08852621, 0.11138647, -0.0072039254, -0.00842464, 0.030785646, -0.04394235, 0.10987614, 0.15378197, -0.05989409) * go_1(1.0, -1.0); + result += mat4(0.41359067, -0.04985946, 0.06845964, 0.12003392, 0.0803128, 0.2420856, -0.18877462, 0.058456603, -0.02516271, 0.010639022, -0.04928307, -0.023084244, 0.06001203, 0.06881964, -0.12117699, -0.2680374) * go_1(1.0, 0.0); + result += mat4(0.09667388, 0.16247103, 0.105098106, 0.12871382, 0.063410334, 0.029997706, 0.048323907, -0.075631075, 0.034694012, -0.029085271, -0.003785678, -0.05397498, -0.1783155, -0.13680255, 0.024786513, -0.0041952017) * go_1(1.0, 1.0); + result += mat4(-0.23904142, -0.102619216, -0.21049559, -0.07428196, -0.046321787, -0.09432119, 0.08803711, -0.1660408, 0.31880215, 0.11605265, -0.086603194, 0.119239025, 0.06773056, 0.18591799, 0.0058458247, 0.05242187) * go_2(-1.0, -1.0); + result += mat4(0.12521484, -0.23739336, -0.16784379, -0.10277679, -0.18505791, 0.061825443, 0.12762548, -0.16664176, 0.20004764, -0.1400315, 0.35610282, -0.19706382, 0.046386316, -0.155162, -0.0425219, 0.0010560523) * go_2(-1.0, 0.0); + result += mat4(0.14500342, -0.0046809237, -0.1278097, 0.041527335, 0.11831141, -0.059155047, -0.17391829, 0.0059517594, -0.18033625, -0.379706, 0.11636179, -0.13310274, 0.047523372, 0.0029333998, -0.1512301, 0.1361489) * go_2(-1.0, 1.0); + result += mat4(-0.23058943, -0.08937329, 0.07061336, 0.08555644, 0.09255573, -0.15303029, 0.08891002, -0.42177418, 0.0950346, 0.20212616, 0.3866544, 0.07922501, -0.04093803, -0.10997976, -0.07189613, -0.21220057) * go_2(0.0, -1.0); + result += mat4(-0.04484278, 0.2386453, 0.27855012, 0.011022442, 0.0409283, 0.1937425, 0.060258046, 0.2633126, -0.54181176, 0.19643608, -0.28907844, 0.04247623, -0.37548354, -0.24831985, -0.52362055, -0.4442409) * go_2(0.0, 0.0); + result += mat4(0.014318134, 0.047169194, -0.07291308, 0.21408482, -0.01503884, 0.027093383, -0.11724912, -0.052458502, 0.1676504, 0.5505249, 0.22394833, -0.17126445, 0.13671164, -0.18371153, -0.456313, 0.14297491) * go_2(0.0, 1.0); + result += mat4(0.00063476624, 0.16339731, -0.031160444, 0.18237135, 0.025692228, -0.04895109, 0.033651803, -0.002480504, 0.34582126, -0.039352335, -0.004698449, 0.12789944, -0.08318657, -0.007492543, -0.12888806, 0.03684109) * go_2(1.0, -1.0); + result += mat4(-0.06481498, 0.14330916, 0.17366715, -0.028045174, 0.080571376, 0.18343642, -0.11593154, -0.077227145, 0.1973531, 0.3085006, -0.28876102, 0.06434657, 0.16654246, -0.28144804, 0.3234261, -0.026636604) * go_2(1.0, 0.0); + result += mat4(-0.084783904, 0.03651458, 0.020044886, -0.10723048, 0.04165204, 0.04072967, 0.037039082, -0.09042298, 0.19693066, -0.21291414, -0.040890995, -0.15434273, -0.07450638, 0.27289733, 0.06332989, -0.037289053) * go_2(1.0, 1.0); + result += mat4(-0.004840926, 0.048929166, 0.015578959, 0.03571025, -0.2184971, 0.094020076, -0.17748803, 0.32877877, -0.035392962, -0.28398407, -0.13072185, -0.21858144, -0.24103665, -0.32654533, -0.063572675, -0.008728733) * go_3(-1.0, -1.0); + result += mat4(0.0060240547, 0.029166108, -0.023887299, 0.037508924, 0.04231956, 0.1503379, 0.17414866, -0.25778973, -0.14774446, -0.12541369, -0.32502824, 0.28957245, -0.030400498, 0.05351274, 0.13189505, -0.21329227) * go_3(-1.0, 0.0); + result += mat4(0.2198507, -0.49962172, -0.16456802, 0.08402717, -0.094403476, -0.1978019, -0.19233316, 0.055013265, 0.01668743, -0.117106654, -0.0745593, -0.09377295, 0.050370943, 0.07410238, 0.13543247, -0.23753798) * go_3(-1.0, 1.0); + result += mat4(0.008572295, 0.11890422, -0.047157902, -0.03717175, -0.35570037, 0.060663674, 0.109250925, -0.16135052, 0.030490266, 0.30335435, 0.38949126, 0.44852075, -0.09788441, 0.43574813, -0.30050707, 0.24572986) * go_3(0.0, -1.0); + result += mat4(0.29497403, -0.30934516, 0.05756695, -0.15919119, -0.121505864, -0.028917443, -0.07419939, 0.13863774, -0.04398897, 0.32990414, 0.38306457, -0.030523712, 0.72267497, 0.33932966, 0.07839862, 0.11931982) * go_3(0.0, 0.0); + result += mat4(0.26952964, -0.31019664, 0.07061176, -0.23266664, 0.14124376, 0.3597343, -0.17694736, 0.22935267, -0.12335108, -0.086614646, -0.10635, 0.22585274, -0.27139255, 0.05963002, 0.2852169, -0.3743854) * go_3(0.0, 1.0); + result += mat4(0.0970178, -0.014084432, -0.0504985, 0.1570353, 0.091999866, 0.23429315, 0.12914294, 0.03267318, 0.5849793, 0.38205758, -0.31792474, -0.07992281, 0.022620765, 0.22215942, -0.23093775, 0.0026896205) * go_3(1.0, -1.0); + result += mat4(-0.06753083, -0.20358866, 0.173053, 0.13768815, 0.013206715, 0.06310567, 0.17349118, -0.12714109, 0.0405548, -0.18409975, 0.3441249, -0.24606577, -0.18814458, -0.039655812, -0.15961805, 0.08212082) * go_3(1.0, 0.0); + result += mat4(0.06746224, -0.1595078, 0.15284725, -0.057313897, -0.1229526, 0.11482664, -0.0021675595, -0.00026835455, -0.0653958, -0.0967453, -0.09400396, -0.021233113, 0.23587836, 0.2982212, -0.039116163, 0.012201323) * go_3(1.0, 1.0); + result += vec4(0.049680557, 0.01432493, 0.04349397, 0.040003702); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.07314084, 0.08021976, -0.08299374, -0.21340942, -0.0088407695, 0.04742526, -0.038566757, -0.058931205, 0.0009213959, 0.19193986, -0.05906689, -0.0038934543, -0.12937409, 0.100754194, 0.1683601, 0.07552924) * go_0(-1.0, -1.0); + result += mat4(-0.022257961, 0.08347593, -0.02279838, 0.10150892, -0.02083181, 0.07064587, 0.26308942, -0.13609628, 0.023648601, 0.1475858, 0.12856342, 0.2650287, -0.038316045, -0.35173503, 0.09157486, 0.16609442) * go_0(-1.0, 0.0); + result += mat4(-0.13746555, 0.15315081, -0.032931942, 0.07487079, 0.09694968, 0.014459765, 0.06814075, -0.059461202, 0.25045857, -0.0071333316, 0.067206055, -0.21697883, 0.023228496, -0.13146883, 0.07486156, -0.030696157) * go_0(-1.0, 1.0); + result += mat4(-0.0069204876, -0.18402638, 0.085326575, 0.18288516, 0.036785558, -0.019116882, 0.017438713, 0.029095992, 0.10944869, -0.09473364, 0.10444152, -0.028845368, 0.0909169, -0.10593229, 0.14518781, 0.05546837) * go_0(0.0, -1.0); + result += mat4(0.53389466, -0.018921841, -0.05050542, 0.21149407, 0.3041209, -0.2594824, -0.18464427, 0.20736529, 0.18971719, -0.05058395, -0.13514072, -0.009045264, 0.20910244, 0.29242986, 0.28958234, 0.2870443) * go_0(0.0, 0.0); + result += mat4(0.03259606, 0.2126493, 0.6004735, 0.14007168, -0.1424266, 0.04352873, 0.17071731, 0.10630275, -0.2755667, 0.27345222, -0.06420644, 0.032743722, 0.026045147, -0.23541754, 0.01393772, -0.1476582) * go_0(0.0, 1.0); + result += mat4(0.06258474, -0.040185593, -0.092409454, -0.095720276, 0.050550956, -0.026547447, 0.099580996, 0.04878719, 0.15659782, -0.007606541, -0.061156776, 0.11329769, -0.019249229, 0.028775204, -0.24508974, -0.052828208) * go_0(1.0, -1.0); + result += mat4(-0.16975857, -0.008542089, 0.30186546, 0.33199415, 0.03747256, 0.15057808, 0.017838268, -0.030345246, 0.019341556, 0.3217693, 0.24844399, 0.06951953, -0.10805396, -0.08874898, -0.068681985, -0.2677526) * go_0(1.0, 0.0); + result += mat4(-0.06813968, 0.087481484, -0.11338694, -0.08698839, -0.07585716, 0.079565816, -0.066336565, 0.050449606, 0.11338618, 0.38572344, 0.0024759274, 0.12706435, 0.16759671, 0.0254419, -0.06910047, -0.21917519) * go_0(1.0, 1.0); + result += mat4(0.0039553675, -0.17838223, 0.038052835, 0.027201787, 0.06518285, 0.08250212, -0.052679926, -0.021249574, -0.13604519, 0.12234797, -0.16008313, -0.07422232, -0.0930264, -0.07480355, -0.0067053377, 0.13964424) * go_1(-1.0, -1.0); + result += mat4(-0.05491681, 0.16191071, -0.13063031, -0.2889149, -0.045188528, 0.29249623, -0.061093148, -0.083284624, -0.19250835, -0.103631295, -0.23577131, 0.108691126, 0.028907659, -0.2708106, 0.06986715, 0.22996326) * go_1(-1.0, 0.0); + result += mat4(-0.07838976, -0.063634194, 0.06297176, -0.09969828, 0.10518915, 0.062185638, 0.033053298, 0.023406805, -0.2801067, -0.13414349, -0.02466297, -0.1110011, 0.040580552, 0.033576507, 0.07127022, -0.068416506) * go_1(-1.0, 1.0); + result += mat4(-0.05786512, 0.17169164, -0.09276801, -0.1444394, 0.13971466, -0.168134, 0.012722911, 0.06788442, 0.02493809, 0.04105174, 0.09471395, 0.21363391, -0.12093948, 0.067423604, -0.054669242, 0.06764739) * go_1(0.0, -1.0); + result += mat4(0.2954526, 0.15885043, -0.05164922, 0.3646313, 0.013329013, 0.044056762, 0.01717495, -0.030439444, 0.32433322, -0.29044852, 0.32627285, 0.150364, 0.14502852, -0.22193567, -0.18879528, 0.018430077) * go_1(0.0, 0.0); + result += mat4(-0.2973998, -0.41863972, 0.0048396075, 0.06709588, -0.12029818, -0.05315725, -0.11457002, 0.0071458486, 0.26290894, 0.11030596, 0.082195595, -0.27480638, -0.011602335, 0.019122265, -0.18927693, -0.24246486) * go_1(0.0, 1.0); + result += mat4(0.09974451, 0.07223917, -0.09586719, -0.08288307, -0.06436462, -0.027324842, -0.0019976476, 0.19203754, 0.015929956, -0.12534836, -0.0038582094, 0.11275662, -0.031039666, 0.010430081, -0.023713758, -0.21801127) * go_1(1.0, -1.0); + result += mat4(0.054167796, 0.0634282, -0.047591783, -0.06402415, -0.0709014, 0.082054086, 0.28418478, 0.06584792, -0.18744822, -0.006312915, -0.0075474046, 0.0829434, -0.032414634, 0.19225785, -0.082302466, -0.3142319) * go_1(1.0, 0.0); + result += mat4(-0.0026932533, -0.110426664, 0.021643564, -0.14368293, -0.0048789545, 0.11043582, -0.040021945, 0.058764413, -0.009000321, 0.10833911, 0.05681704, -0.039960742, 0.0014395626, 0.022780152, -0.09172437, -0.085687816) * go_1(1.0, 1.0); + result += mat4(0.12509525, -0.18352552, -0.07638094, -0.00756009, 0.05407378, -0.14584734, -0.08163636, -0.13222884, 0.039648265, -0.15960212, 0.074228585, 0.009451507, 0.17933762, -0.17743796, 0.007834195, 0.0037116117) * go_2(-1.0, -1.0); + result += mat4(-0.10942205, 0.1585392, 0.040241007, 0.10526164, 0.16979292, 0.29029292, -0.009487742, 0.24926443, -0.1047842, 0.03604099, 0.19281772, 0.03798268, 0.17581491, 0.25031644, 0.055782937, -0.30455682) * go_2(-1.0, 0.0); + result += mat4(0.06714908, -0.09112766, -0.022286715, 0.09795178, -0.014092309, 0.26703134, 0.15334776, 0.33441234, 0.13753732, -0.13819148, 0.22796239, 0.16050872, 0.05523446, 0.082806356, -0.053028688, -0.0400533) * go_2(-1.0, 1.0); + result += mat4(-0.028462043, 0.18224953, 0.026658487, -0.15048791, 0.106156826, -0.07361365, 0.3529029, 0.06473894, -0.032005392, 0.037034214, 0.039220046, -0.012491292, -0.09503139, 0.0444902, -0.31978187, -0.2923563) * go_2(0.0, -1.0); + result += mat4(-0.3674723, 0.22560489, 0.38837367, 0.17128418, -0.0948159, 0.6298207, 0.59135467, 0.3350841, -0.1859739, 0.31080073, 0.03317792, 0.20958795, -0.097624235, -0.07605166, 0.10135128, -0.08953993) * go_2(0.0, 0.0); + result += mat4(0.320043, 0.002823138, -0.08849585, -0.06356955, 0.19898786, 0.272037, 0.1241285, 0.18131523, -0.05760319, -0.19315276, -0.033923294, 0.09981398, -0.07670874, -0.25949827, 0.062826484, 0.011877337) * go_2(0.0, 1.0); + result += mat4(-0.019341033, -0.03938962, 0.10163529, 0.05033707, -0.03194324, -0.13427012, 0.16106506, -0.05596736, -0.04438277, 0.0045224032, 0.20575951, -0.10359912, 0.03423479, -0.17256664, 0.32534334, -0.09378658) * go_2(1.0, -1.0); + result += mat4(0.19792143, 0.038506437, -0.21047395, -0.27926794, 0.23113485, -0.053830303, 0.4963027, 0.34639266, 0.108149074, -0.10592886, 0.09575202, 0.12385147, 0.08751849, -0.050622147, 0.033647005, 0.2588364) * go_2(1.0, 0.0); + result += mat4(0.04931599, -0.14498134, 0.0073008477, -0.05298649, 0.29398152, 0.16829367, 0.089691155, -0.01749789, 0.20039341, -0.13137043, 0.1884996, -0.03018221, -0.06793498, -0.03220071, 0.06326444, 0.017898731) * go_2(1.0, 1.0); + result += mat4(0.011310341, 0.15556115, -0.08003895, -0.07396207, -0.06434896, -0.14684777, -0.019239893, 0.009520887, 0.013242985, -0.12733786, -0.040152796, 0.0064262203, 0.087119006, 0.08165867, 0.12353576, 0.002600503) * go_3(-1.0, -1.0); + result += mat4(0.14877501, -0.056240283, -0.11846124, 0.16736585, -0.0018247389, 0.0095979795, -0.07605829, 0.13583913, -0.008851887, 0.16578445, -0.04152669, -0.059164364, -0.021962654, 0.312347, 0.0129089225, -0.097307086) * go_3(-1.0, 0.0); + result += mat4(-0.122485265, 0.06891502, -0.1807204, 0.10579281, -0.0061903363, -0.025644284, 0.08879091, -0.09492319, -0.019361734, -0.10903786, -0.08949264, 0.055067465, -0.027095577, -0.06629012, -0.05580654, 0.045552503) * go_3(-1.0, 1.0); + result += mat4(-0.025895944, 0.18728323, 0.09764548, 0.49504116, -0.030123139, -0.012580951, 0.090377375, -0.18767111, -0.06874367, 0.11378584, 0.0127285635, -0.101479106, 0.07010412, -0.02272616, -0.03455195, 0.040611476) * go_3(0.0, -1.0); + result += mat4(-0.58637494, -0.13186562, -0.26627728, -0.40135092, 0.19139144, 0.27310577, 0.07761293, 0.10058002, -0.3126869, -0.07982417, 0.04237517, 0.25126198, -0.17133251, 0.122523, -0.0053142905, -0.22283912) * go_3(0.0, 0.0); + result += mat4(-0.0023953887, 0.30968156, -0.1303385, 0.046937056, 0.20530851, 0.07276076, -0.086923674, -0.17881633, 0.08715105, 0.25641996, -0.22557895, -0.0017721896, -0.2347971, -0.07164777, -0.103000194, 0.22468017) * go_3(0.0, 1.0); + result += mat4(-0.12947787, -0.05199853, -0.0899567, 0.087013826, 0.018399805, 0.14997742, -0.20396905, -0.20554177, -0.014265392, 0.048660364, 0.07077151, -0.05911514, 0.003051989, 0.07242704, -0.16232954, 0.19634365) * go_3(1.0, -1.0); + result += mat4(0.13121666, 0.03174777, 0.07853035, -0.04881682, 0.10043158, -0.036237933, -0.2178651, -0.06562213, 0.021113047, 0.0068006255, -0.16305129, -1.9600706e-05, -0.14886445, -0.17729987, -0.17907865, 0.21547341) * go_3(1.0, 0.0); + result += mat4(-0.03263096, -0.064234234, 0.03990361, 0.09057224, -0.05704657, -0.107518636, 0.09328312, 0.014857798, -0.060736485, -0.033695858, -0.07943859, -0.0054049506, -0.072932534, -0.023306495, -0.06615389, 0.029145932) * go_3(1.0, 1.0); + result += vec4(0.0052180276, 0.022526434, 0.022657124, 0.016289035); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!SAVE conv2d_2_tf1 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.012031344, 0.0075636036, -0.033211436, 0.018453801, -0.23412584, -0.113123864, 0.068607934, -0.018517016, -0.19748597, -0.2571716, -0.026148321, -0.00019766031, 0.012040108, 0.12122093, 0.0714374, -0.10087335) * go_0(-1.0, -1.0); + result += mat4(-0.029292978, -0.025254043, -0.034099232, 0.085234866, 0.24252516, 0.076297395, -0.12717746, -0.03457669, 0.033755753, -0.0531509, -0.04005856, -0.20840853, -0.0078028045, 0.12575904, -0.010887013, -0.046326064) * go_0(-1.0, 0.0); + result += mat4(-0.003266499, -0.017687857, -0.012221699, -0.2251586, 0.00208294, 0.007880196, 0.09037794, 0.08328994, -0.0428717, 0.027112724, 0.08032711, 0.1513152, -0.043068174, 0.07987632, -0.008801098, 0.08133886) * go_0(-1.0, 1.0); + result += mat4(-0.1827595, 0.18459928, -0.1918044, -0.05324067, -0.1705114, -0.01887987, -0.14486305, -0.17456877, -0.18964832, -0.07162095, -0.13871318, -0.046433818, -0.018604748, -0.11131921, -0.08050445, -0.08619502) * go_0(0.0, -1.0); + result += mat4(-0.0717377, -0.12163745, 0.18497953, -0.08643892, 0.0007879318, -0.050351888, 0.17640385, 0.17240365, -0.14958718, -0.056793597, 0.03742872, -0.1015922, 0.3117469, -0.39953762, 0.0152286505, -0.13784732) * go_0(0.0, 0.0); + result += mat4(0.07879097, -0.39204946, -0.07003556, -0.24708183, -0.058046583, -0.09865189, -0.048411854, -0.05027539, -0.12736927, -0.23946127, -0.08323304, 0.028160958, -0.059784077, -0.0064917994, 0.038013496, 0.08928725) * go_0(0.0, 1.0); + result += mat4(0.07403741, -0.004601062, 0.13563065, 0.054981887, -0.08022936, 0.022921488, -0.053264186, -0.016605966, -0.20883927, -0.19978985, -0.058101434, 0.15126002, 0.020758694, 0.12837122, 0.13368484, 0.1443778) * go_0(1.0, -1.0); + result += mat4(-0.08701922, -0.041025855, -0.03362371, -0.19846733, -0.009003309, 0.06708822, 0.06784735, 0.049892817, 0.123487085, -0.008921262, -0.0883188, -0.09103165, 0.070733, 0.1474191, -0.08228257, 0.12713781) * go_0(1.0, 0.0); + result += mat4(0.16015989, 0.19007389, -0.12680867, 0.056614764, -0.008470681, 0.099433914, 0.008811413, -0.09471121, -0.09722353, 0.0649324, 0.021527816, -0.21614286, 0.07569941, -0.16433574, -0.0069269636, 0.16142729) * go_0(1.0, 1.0); + result += mat4(-0.08708631, -0.017263759, 0.034016605, -0.009168008, -0.16427393, -0.11225274, -0.005249783, 0.13672975, -0.0844234, -0.022700429, 0.109927036, -0.041033685, -0.064794436, 0.015655773, -0.03411672, -0.12218549) * go_1(-1.0, -1.0); + result += mat4(-0.016761513, -0.027447775, -0.01290059, 0.0007822344, 0.07433617, -0.035145793, -0.03797909, -0.16871531, -0.029095095, -0.2073536, 0.12309633, -0.16626619, -0.04203133, -0.018517911, -0.06946039, -0.11132114) * go_1(-1.0, 0.0); + result += mat4(0.11052091, -0.030863507, -0.03229482, 0.11673996, -0.0455341, -0.00649463, 0.020642368, 0.04092308, 0.20173405, -0.012926573, -0.0244531, 0.055338163, -0.01835753, 0.024072325, -0.06893433, 0.048774183) * go_1(-1.0, 1.0); + result += mat4(0.3568486, -0.14506009, -0.13730963, -0.027905643, -0.37042627, -0.016187102, 0.12948507, 0.016912838, -0.089135066, -0.15287507, -0.092210636, 0.043153215, 0.2077129, 0.04429632, -0.107345045, -0.015176141) * go_1(0.0, -1.0); + result += mat4(-0.33605802, -0.22235338, 0.1270437, -0.23185425, 0.29133183, -0.005394921, -0.07139614, -0.049961478, 0.017125877, 0.499106, -0.0048643304, -0.14794266, -0.06752325, 0.29848218, 0.11979753, 0.033426132) * go_1(0.0, 0.0); + result += mat4(0.11241839, -0.09014392, -0.011629057, 0.17028853, -0.100855775, 0.100789815, -0.05269513, 0.06573697, 0.27869916, -0.057539526, -0.04528007, 0.30135208, -0.02261679, 0.0688468, 0.059139624, 0.13873443) * go_1(0.0, 1.0); + result += mat4(0.04780322, -0.008265764, -0.014270074, 0.0834061, 0.055182222, -0.059819162, 0.010733226, -0.040952608, -0.14509161, 0.17645077, 0.05801798, -0.042507146, 0.24863482, 0.1040497, -0.045867782, 0.120007925) * go_1(1.0, -1.0); + result += mat4(0.12579694, 0.09167574, 0.21078496, 0.052945495, -0.05036728, -0.11384816, -0.07594621, -0.09991826, 0.010668207, -0.05676672, -0.06273805, -0.06883917, -0.2184931, -0.1647689, -0.056467786, 0.109850615) * go_1(1.0, 0.0); + result += mat4(-0.11352159, 0.026516005, 0.042277884, 0.14155892, -0.017015357, -0.03407179, 0.014961351, -0.13766216, 0.20035928, -0.038310144, 0.002857473, -0.04447413, 0.011375937, -0.07345281, 0.01680756, 0.0089689195) * go_1(1.0, 1.0); + result += mat4(0.18048844, 0.025165293, -0.013590799, 0.21590467, 0.026852742, -0.06107904, -0.0012434963, 0.047840245, -0.07294931, -0.011157553, 0.11376999, -0.0086454, -0.028179385, -0.11118097, -0.15483098, 0.19983171) * go_2(-1.0, -1.0); + result += mat4(-0.15175144, 0.2142459, 0.1478812, -0.14039889, -0.19821295, -0.37290373, 0.19691283, 0.115997985, 0.1284214, 0.19273835, -0.096292645, -0.022643294, 0.15401742, -0.2267051, -0.15150996, 0.099672556) * go_2(-1.0, 0.0); + result += mat4(-0.068340585, -0.017279925, 0.04846922, -0.034003776, 0.055793036, -0.25135002, -0.03544407, -0.56164503, -0.19032021, -0.009258663, 0.070812754, -0.08191077, 0.047685042, -0.020684654, -0.07035788, 0.0132855335) * go_2(-1.0, 1.0); + result += mat4(0.19441503, -0.15030424, 0.12302495, 0.047762766, -0.095896654, -0.15033515, 0.007605368, 0.0570889, -0.038431447, -0.08560695, -0.0029293734, -0.01375586, 0.047505997, 0.014071177, 0.1479392, 0.25642776) * go_2(0.0, -1.0); + result += mat4(-0.28587586, -0.39141047, -0.3444917, -0.2408476, -0.64026415, -0.35294148, -0.1317, -0.21601357, 0.12164572, -0.48452628, 0.16729403, -0.21575572, 0.41301385, 0.017696327, 0.057344552, -0.27020162) * go_2(0.0, 0.0); + result += mat4(-0.033119988, 0.0012006643, 0.08465847, 0.015564506, -0.124659166, -0.09455984, 0.0035544615, -0.35156307, -0.15252608, 0.016244112, 0.0138391815, -0.04670501, 0.1383293, -0.037926193, 0.025957817, 0.1730784) * go_2(0.0, 1.0); + result += mat4(-0.012701927, -0.025511298, -0.06721094, -0.07040279, 0.06377799, 0.13967788, -0.14234799, -0.058825023, 0.041205924, -0.00032473358, -0.055379577, -0.033738375, 0.13665317, -0.02562686, -0.18523781, -0.06958092) * go_2(1.0, -1.0); + result += mat4(0.17461562, 0.07647785, -0.02202248, 0.21096313, -0.22494456, 0.10868611, -0.33091828, -0.27529812, -0.25206757, 0.1884099, -0.17850949, -0.1006927, 0.045536183, -0.100012675, 0.061030168, -0.025509179) * go_2(1.0, 0.0); + result += mat4(0.0337314, -0.052486207, -0.05584458, 0.0969859, 0.18508333, -0.04521821, -0.08331424, 0.076726556, 0.118076116, 0.019730117, 0.022492286, 0.09869008, -0.115276754, 0.097966135, 0.023186501, -0.060849246) * go_2(1.0, 1.0); + result += mat4(-0.09427026, 0.14057149, -0.07478311, 0.029171692, 0.14987083, -0.08649628, -0.01750609, 0.06958318, 0.085471064, -0.058146793, -0.029388946, 0.10720532, -0.030614216, 0.17328379, -0.03433174, -0.022483094) * go_3(-1.0, -1.0); + result += mat4(-0.085193954, -0.1348099, 0.07675298, -0.25627816, -0.07467235, -0.18559869, 0.100543626, -0.2201029, -0.015106581, -0.013150452, 0.10482805, -0.04446529, -0.15954255, 0.13659625, -0.10310867, -0.010787774) * go_3(-1.0, 0.0); + result += mat4(-0.13365999, 0.02036792, -0.09569852, -0.088586286, 0.18445042, -0.14354594, -0.09319419, 0.084703825, -0.018052364, 0.04344066, -0.0589665, -0.0065992875, 0.030960705, 0.08472253, -0.022175593, -0.020301547) * go_3(-1.0, 1.0); + result += mat4(-0.12315616, 0.05191162, 0.3044562, -0.066225395, 0.13523789, 0.24786936, -0.2531183, 0.008910162, 0.3662465, 0.2633546, -0.11816884, -0.108501054, -0.30446148, 0.094746254, 0.22515038, -0.048324294) * go_3(0.0, -1.0); + result += mat4(0.34875512, 0.22885701, -0.22425419, 0.30605644, 0.13452671, 0.16655035, -0.10293953, 0.23753232, -0.5908745, -0.15148452, -0.3885865, 0.14085245, -0.12627047, -0.09645269, 0.101941, -0.062304396) * go_3(0.0, 0.0); + result += mat4(-0.18468879, 0.11713357, 0.04766135, -0.25752118, 0.076471716, 0.06850848, -0.06427401, 0.028061042, 0.017875634, 0.09589284, -0.020327348, -0.1585817, 0.19669123, 0.10955879, -0.18545902, -0.074755065) * go_3(0.0, 1.0); + result += mat4(0.1056897, 0.08521911, -0.017700022, -0.004319419, 0.15351436, -0.11358399, 0.065656774, 0.101860404, 0.08894655, -0.060075074, 0.14363492, -0.10447328, -0.27426496, -0.19959188, 0.16687778, -0.09456175) * go_3(1.0, -1.0); + result += mat4(-0.05424188, -0.16305181, 0.028440254, -0.013702167, -0.010122417, -0.13160124, 0.08733208, 0.111403994, -0.13586052, 0.016545279, 0.12953275, -0.01298413, 0.19755821, 0.029597677, 0.004327247, 0.093656704) * go_3(1.0, 0.0); + result += mat4(-0.016224308, -0.020333769, 0.015944391, -0.044774864, 0.09308092, -0.06174809, 0.009493231, 0.00109714, 0.030341865, 0.0085925255, 0.023199126, 0.029012285, 0.050746094, 0.15161276, 0.053011492, -0.022610705) * go_3(1.0, 1.0); + result += vec4(-0.034925383, -0.0010656221, -0.023427188, -0.021127155); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_last_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.009722335, -5.8660436e-05, -0.0069387504, -0.0052446183, -0.040276118, 0.0041334885, -0.013106614, -0.0047898176, -0.008160448, 0.011272557, -0.008908942, -0.015969492, 0.036588583, -0.0069453213, 0.03697349, 0.024233166) * go_0(-1.0, -1.0); + result += mat4(0.07749142, -0.0112727145, 0.064222045, -0.015094554, 0.0032031287, 0.03247034, -0.016756386, 0.023846423, -0.028618578, 0.02300731, -0.015894018, 0.037608027, 0.014199439, -0.043177396, -0.004832348, -0.05518754) * go_0(-1.0, 0.0); + result += mat4(0.008171211, -0.016406616, 0.04668373, -0.0020393482, -0.008888379, 0.001380358, -0.008963435, 0.0012900458, -0.030172894, -0.0017824832, -0.037534058, 0.000615256, 0.030373376, 0.002216906, 0.04730168, -0.0028000386) * go_0(-1.0, 1.0); + result += mat4(0.060749017, 0.006499037, -0.03925888, -0.043421242, 0.0014141012, -0.040274277, 0.020051334, 0.02141008, -0.0046555796, -0.032477897, 0.02811765, 0.014327698, 0.008681297, 0.044408746, -0.028984996, 0.00985357) * go_0(0.0, -1.0); + result += mat4(0.22245905, 0.2221309, 0.21369153, 0.17244695, -0.16802068, -0.09160697, -0.13712268, -0.104401335, -0.18699472, -0.117237985, -0.13240008, -0.121350996, 0.027870163, 0.09320937, 0.07950856, 0.08880132) * go_0(0.0, 0.0); + result += mat4(-0.002709059, -0.0070304363, 0.10570918, 0.08184527, -0.014383472, -0.020202143, -0.0810668, -0.054163996, -0.018711304, -0.035145987, -0.098869935, -0.06942387, -0.011235106, 0.008683168, -0.02585752, 0.024761796) * go_0(0.0, 1.0); + result += mat4(-0.017611317, 0.033189557, 0.0014886355, 0.0063918163, 0.0033280635, 0.00871624, 0.018652624, 0.0072240643, 0.028240945, 0.027274653, -0.0044101775, 0.012503479, -0.009022953, -0.0037992215, 0.007457012, -0.0075594983) * go_0(1.0, -1.0); + result += mat4(-0.042642962, 0.061122447, -0.0661494, 0.046923082, 0.014721836, -0.07878182, 0.013244828, -0.047850955, 0.016932828, -0.07947459, 0.05953852, -0.007192553, -0.022235982, -0.026965706, -0.034282424, -0.007242096) * go_0(1.0, 0.0); + result += mat4(-0.012262586, -0.014608243, -0.0039572082, 0.045586918, 0.011789637, 0.00811699, 0.004699602, -0.032348834, 0.017336411, 0.00069143757, 0.000303623, -0.061924953, -0.0064005707, -0.0043993946, -0.008697915, -0.012118654) * go_0(1.0, 1.0); + result += mat4(-0.0012260727, 0.006306051, -0.004919151, -0.014706935, 0.06893623, -0.03855539, 0.0025126948, -0.013461133, 0.051023327, -0.015535766, -0.0125827445, -0.059677888, -0.0021585734, -0.019920474, -0.025212945, 0.017173553) * go_1(-1.0, -1.0); + result += mat4(-0.014818789, -0.004695369, 0.11874947, -0.025116654, -0.010446815, -0.015087738, 0.060040206, -0.053225394, -0.059700467, -0.0084348805, 0.11633143, 0.01912765, -0.046732634, 0.02437617, 0.014276953, -0.017528424) * go_1(-1.0, 0.0); + result += mat4(0.03403683, 0.035661116, -0.05422196, 0.00086722866, 0.0069361166, 0.0030528181, 0.0011153776, 0.0040823813, -0.052100085, 0.016703505, -0.16275159, 0.019807467, -0.0046826405, -0.01290693, -0.00867241, -0.0074261916) * go_1(-1.0, 1.0); + result += mat4(0.091117546, 0.050540023, -0.018510593, -0.007402161, -0.1193577, 0.018770888, -0.011340929, -0.02110343, -0.032088384, 0.010691935, 0.004420295, -0.025953075, 0.047472738, 0.108008265, 0.007997121, -0.03855365) * go_1(0.0, -1.0); + result += mat4(-0.21882823, -0.18101972, 0.13662423, 0.3109504, -0.101242945, 0.3064065, -0.22530204, 0.2612257, -0.07345098, 0.31937975, -0.15872811, 0.23400135, -0.04057178, -0.11676629, -0.34227282, -0.18310128) * go_1(0.0, 0.0); + result += mat4(-0.01088255, 0.026722692, -0.0071181543, -0.07676996, -0.054152276, -0.08521186, -0.029249348, 0.005593179, 0.012496848, -0.055432145, 0.06396825, 0.056608576, -0.006908986, 0.018192623, -0.027572934, 0.03749799) * go_1(0.0, 1.0); + result += mat4(-0.00788736, 0.032808263, -0.0034198891, -0.01124656, 0.014423269, 0.058434688, 0.0139339, 0.0024755867, 0.042650267, 0.01773591, 0.017099075, 0.00094137667, 0.033293027, 0.008411577, 0.018532667, 0.016402127) * go_1(1.0, -1.0); + result += mat4(0.0013495176, -0.05906597, -0.011892358, -0.04260839, 0.0040078545, -0.12263263, -0.005952629, -0.031151159, 0.009523005, -0.04784067, 0.07216081, 0.007988283, -0.010771301, -0.019751243, 0.017268918, -0.1053882) * go_1(1.0, 0.0); + result += mat4(0.021729292, -0.006699109, -0.017977247, -0.008347603, 0.030392287, -0.035512295, 0.047333952, -0.061986152, -0.00917743, -0.023669569, -0.051791556, -0.057909377, -0.008901611, -0.010565621, -0.022557132, -0.06957076) * go_1(1.0, 1.0); + result += mat4(-0.096115954, 0.013176027, -0.046984393, -0.0064583416, -0.13834997, -0.024369081, 0.049557988, -0.013092948, 0.10623086, -0.0071193436, 0.025198812, -0.00963305, -0.051104847, 0.009814798, 0.0050332784, 0.0058091953) * go_2(-1.0, -1.0); + result += mat4(0.03568169, 0.01623718, -0.0020163557, 0.043042913, 0.027783269, -0.06342661, 0.10441675, 0.031614527, -0.17076227, 0.07228563, 0.04167568, 0.022664918, 0.0002446228, 0.01977757, -0.14741875, 0.03596493) * go_2(-1.0, 0.0); + result += mat4(-0.028803155, 0.02343672, -0.037556753, 0.004386295, 0.023776755, -0.0024816473, 0.0017886858, -0.005105568, 0.008360341, -0.008270227, -0.12140172, 0.047693867, -0.03565588, -0.0082427105, 0.012581843, 0.0018308035) * go_2(-1.0, 1.0); + result += mat4(0.17737128, -0.23239174, 0.14191973, 0.0083567705, 0.022397157, -0.20152177, 0.076320365, 0.11157701, 0.005601583, -0.06157629, -0.060806494, 0.03030779, -0.17968388, -0.2081318, 0.051927045, 0.075377926) * go_2(0.0, -1.0); + result += mat4(-0.28773892, -0.26089972, -0.13325682, -0.46006975, 0.35241324, 0.29463127, -0.16573308, 0.022810405, 0.388681, -0.036075145, 0.2998638, -0.15629162, 0.14321181, 0.10493886, -0.052218314, -0.27016288) * go_2(0.0, 0.0); + result += mat4(0.03584634, 0.006315728, -0.08617273, -0.024391597, -0.016952977, 0.022077272, 0.12980743, 0.04512367, 0.003348057, 0.0946866, 0.16312122, 0.13436604, -0.011872978, -0.031965427, 0.0024880085, 0.033216927) * go_2(0.0, 1.0); + result += mat4(0.016087456, 0.043138605, -0.028770814, 0.0061788377, 0.024897626, 0.10882443, -0.036830436, -0.009145524, -0.057872005, 0.08097352, -0.024710376, 0.0068731857, -0.018163942, -0.04771538, 0.027653048, 0.01914395) * go_2(1.0, -1.0); + result += mat4(0.011542096, -0.073137596, 0.09102133, 0.049714323, -0.06767178, 0.070273116, -0.010473078, -0.120707616, -0.026583942, 0.0730171, -0.08226194, 0.105516605, 0.018596884, 0.05840729, 0.04693975, 0.0863541) * go_2(1.0, 0.0); + result += mat4(0.0127724055, 0.02520005, -0.028792456, -0.06910211, -0.019357776, -0.026941938, 0.05015806, 0.12642363, -0.01354065, -0.015913904, 0.009398767, 0.034318734, -0.0034223567, -0.0146218045, -0.0067832484, -0.010091871) * go_2(1.0, 1.0); + result += mat4(-0.02916006, 0.014765165, 0.004575115, 0.0110705905, 0.024664888, 0.003658985, 0.0073659574, 0.0013673811, 0.02650946, 0.014014751, 0.026595473, 0.01877218, 0.016845545, -0.0031619575, -0.011036392, -0.014638798) * go_3(-1.0, -1.0); + result += mat4(0.012505482, 0.0023665216, -0.010882385, 0.009143886, -0.030671602, -0.004167823, 0.003649345, -0.00058618153, -0.038002256, -0.0061475867, -0.017000455, -0.015222981, 0.0066633034, 0.013324137, 0.022223728, 0.015254626) * go_3(-1.0, 0.0); + result += mat4(-0.019684946, -0.011194834, -0.011896193, -0.009636412, 0.0064974707, -0.018297167, -0.01162353, -0.00998448, 0.022304865, -0.0044090357, -0.0013151226, 0.009721475, -0.0029337434, 0.004208434, -0.008193774, 0.005379128) * go_3(-1.0, 1.0); + result += mat4(-0.012884837, -0.057319585, -0.002133779, -0.005586696, -0.03216661, 0.0015534499, -0.004120608, 0.0040779933, -0.044278033, 0.005608415, 0.009365155, 0.04694537, 0.024845028, 0.04563515, 0.018941263, 0.011450428) * go_3(0.0, -1.0); + result += mat4(0.008597113, -0.010005085, -0.050961174, -0.07333081, 0.016683497, -0.056169543, -0.032008786, -0.037104256, -0.01117272, -0.011676191, -0.09071649, -0.049224474, 0.20027469, 0.06436799, 0.1351019, 0.069967836) * go_3(0.0, 0.0); + result += mat4(0.022842692, 0.005048976, 0.05957191, 0.026581423, 0.03748738, 0.074060254, 0.053102568, 0.046449862, -0.013734466, -0.01722293, 0.030430514, -0.02180546, 0.007762467, -0.006432996, 0.08406507, 0.034061644) * go_3(0.0, 1.0); + result += mat4(0.0048395037, 0.012762459, -0.0033284645, -0.0041399547, 0.01828778, 0.0043085683, 0.0019289661, -0.012415563, -0.023572162, -0.050695065, -0.013481175, -0.029202301, -0.03678883, -0.022862522, -0.025002036, -0.010764412) * go_3(1.0, -1.0); + result += mat4(0.0075783907, 0.016249755, 0.0178703, 0.021285253, 0.013031193, 0.025416559, 0.043989707, 0.04750125, 0.0203218, 0.00335042, -0.024657877, -0.05417159, 0.0012374326, 0.115263805, -0.035001434, 0.049407292) * go_3(1.0, 0.0); + result += mat4(0.0059729964, 0.017706383, 0.0004603757, 0.024557583, -0.014231813, 0.0022323965, -0.030447725, -0.005866556, 0.02305865, 0.02982909, 0.0549823, 0.06747715, -0.01014364, 0.0030060427, 0.01640388, 0.056874502) * go_3(1.0, 1.0); + result += vec4(0.0037637148, 0.003693704, 0.0034614028, 0.0033483643); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_last_tf1 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.009785077, -0.007310227, 0.00081595866, -0.01268686, -0.014665477, -0.003956759, -0.0011089307, -0.011515727, 0.024502382, 0.025206817, 0.004246777, -0.0016346163, -0.016379429, -0.013535791, 0.01541915, 0.0095333215) * go_0(-1.0, -1.0); + result += mat4(-0.017734146, 0.014389035, -0.0008451403, 0.013272096, 0.045607757, 0.01522117, 0.00904139, -0.001765619, 0.024920683, -0.012100507, 0.014870539, 0.0018603726, -0.030391455, 0.00632375, -0.055296343, -0.009885172) * go_0(-1.0, 0.0); + result += mat4(0.0056769922, 0.0012991864, -0.014343983, 0.0073196087, 0.0061439234, -0.0009862045, 0.0323433, 0.0018582975, -0.00815158, -0.008821831, 0.016262496, -0.014280032, 0.024239268, 0.015745653, 0.016698766, 0.014503724) * go_0(-1.0, 1.0); + result += mat4(0.039872967, -0.013257727, 0.055065673, 0.034231152, 0.086550154, 0.034081027, 0.045879394, 0.049891002, -0.011800151, -0.011743562, -0.015092318, -0.009334671, -0.017342495, -0.014658795, 0.014266523, 0.035314754) * go_0(0.0, -1.0); + result += mat4(-0.050990034, -0.06219798, -0.047669213, -0.07189862, -0.04856067, 0.031102043, 0.001354821, 0.01903025, 0.0037901315, 0.07694083, -0.016825065, 0.009997132, -0.18629807, -0.12768792, -0.104768254, -0.11861362) * go_0(0.0, 0.0); + result += mat4(0.017904822, 0.0042992756, 0.016748125, -0.025035992, -0.003724865, -0.0031921281, -0.019930473, 0.017328225, 0.024588963, 0.010205262, 0.04149686, 0.06978651, -0.022708472, -0.0057800277, -0.11644439, -0.06476094) * go_0(0.0, 1.0); + result += mat4(-0.02426752, -0.0034115477, -0.0015359819, 0.026405398, -0.013942422, 0.034148987, -0.009329464, -0.005556865, 0.010035298, 0.0042479886, -0.0045719417, -0.007970587, 0.0048700697, -0.0031006113, 0.005171075, 0.0020327016) * go_0(1.0, -1.0); + result += mat4(0.0015553721, -0.006999807, -0.027763836, -0.03493009, 0.0047000614, -0.034220867, 0.0021388065, 0.004188802, -0.007897541, -0.025793487, 0.017545879, 0.0013863312, 0.042826407, -0.050083816, 0.037378658, -0.011360738) * go_0(1.0, 0.0); + result += mat4(-0.007821516, -0.0034771548, 0.00051019643, 0.017586451, 0.01144453, 0.012032973, 0.0025295757, -0.011105711, 0.009102745, 0.015189803, -0.00083253905, -0.0025097867, -0.008002886, -0.020810502, -0.00023807488, -0.04825592) * go_0(1.0, 1.0); + result += mat4(0.005066405, 0.017425792, -0.0004840731, -0.0009944261, 0.07663847, -0.04755453, 0.004607992, -0.020050947, 0.021402068, -0.034427766, -0.0130948955, -0.042138048, 0.015383988, -0.0085578235, -0.036823586, 0.001125214) * go_1(-1.0, -1.0); + result += mat4(-0.024459356, -0.019538784, 0.13201334, -0.025238393, -0.009611914, -0.017932015, 0.06330252, -0.05036921, -0.09405187, 0.0016108088, 0.07035366, -0.026231728, -0.036375783, 0.047566332, 0.033421457, 0.011572374) * go_1(-1.0, 0.0); + result += mat4(0.03742729, 0.03181365, -0.05451164, -0.009032132, 0.017350135, -0.011311124, 0.0147211, -0.01298328, -0.011024085, 0.028534293, -0.12944345, 0.07152882, 0.005176979, -0.00048127733, -0.0063332263, -0.0034040876) * go_1(-1.0, 1.0); + result += mat4(0.06455105, 0.033970848, -0.04488856, -0.027959615, -0.094514206, 0.033421617, 0.031325165, 0.0088970335, -0.031805996, 0.007078957, 0.008114225, -0.017701747, 0.048437405, 0.12445195, 0.02138049, -0.017392302) * go_1(0.0, -1.0); + result += mat4(-0.21116845, -0.17855385, 0.12160961, 0.32197994, -0.14490715, 0.2886178, -0.28124997, 0.21847156, -0.04988429, 0.32125694, -0.118747145, 0.26057142, -0.045630034, -0.1453716, -0.3682217, -0.22081932) * go_1(0.0, 0.0); + result += mat4(0.0057057277, 0.03872448, 0.020275556, -0.05959739, 0.0150841605, -0.02288727, 0.033048235, 0.08510421, 0.01309789, -0.050875448, 0.051518645, 0.041827686, -0.028529504, -0.0015568004, -0.023128182, 0.03178304) * go_1(0.0, 1.0); + result += mat4(0.0016438053, 0.028251547, 0.0003874817, -0.021485088, 0.008020942, 0.052520994, 0.009027988, 0.004729575, 0.026685065, 0.008003427, 0.013078419, -0.008256319, 0.022743277, -0.001293671, 0.018562315, 0.016649859) * go_1(1.0, -1.0); + result += mat4(0.013438089, -0.049052995, 0.0060880547, -0.044865325, 0.031890247, -0.102749884, 0.0047795745, -0.028551944, -0.018443404, -0.061510604, 0.031782348, -0.0005923042, 0.014257579, 0.010379952, 0.02929872, -0.090405114) * go_1(1.0, 0.0); + result += mat4(0.009318741, -0.0061841, -0.02420737, 0.0018885462, 0.022010826, -0.023001686, 0.035959963, -0.057635445, 0.012495818, -0.008206369, -0.026234211, -0.04719263, 0.0057711657, -0.003004966, 0.0046920753, -0.041684203) * go_1(1.0, 1.0); + result += mat4(-0.050602015, 0.021741746, -0.059019636, -0.008416951, -0.1789153, -0.01835426, 0.03100039, -0.017736796, 0.09091737, -0.026542341, 0.010933376, -0.031898204, -0.015792761, 0.013789206, 0.031699985, 0.018964434) * go_2(-1.0, -1.0); + result += mat4(0.099863164, -0.01637541, 0.083744444, 0.011983074, 0.013478042, -0.04780451, 0.08646149, 0.050255097, -0.22476238, 0.11746969, 0.038574144, 0.069615066, 0.047265753, -0.03212485, -0.12651724, -0.0065722666) * go_2(-1.0, 0.0); + result += mat4(-0.026888395, 0.0053314343, -0.0018114679, -0.007841625, 0.00037234774, -0.005450839, -0.03730409, -0.00441375, -0.014338566, 0.002887282, -0.19375902, 0.06374498, -0.033998128, -0.03480894, 0.061709825, -0.016935369) * go_2(-1.0, 1.0); + result += mat4(0.18882285, -0.19729713, 0.064650975, -0.07342598, -0.039107442, -0.28614163, 0.081506595, 0.111678764, -0.0019596675, -0.071805045, -0.019774346, 0.055490687, -0.1405711, -0.16753702, 0.031397972, 0.054546997) * go_2(0.0, -1.0); + result += mat4(-0.007561914, 0.0010002917, 0.12623467, -0.17501056, 0.22664371, 0.2080332, -0.3194733, -0.1065412, 0.21299458, -0.23856679, 0.17237303, -0.2863369, 0.35997602, 0.354653, 0.15091361, -0.07142766) * go_2(0.0, 0.0); + result += mat4(0.02403396, 0.0037063402, -0.004992154, 0.047530055, -0.03227084, -0.0055595553, 0.06554937, -0.025955811, -0.03792351, 0.041418597, 0.04285587, -0.0118592, 0.00012291886, -0.013734975, 0.07748641, 0.14016038) * go_2(0.0, 1.0); + result += mat4(0.015037119, 0.058259863, -0.020877289, -0.0059153647, 0.04133679, 0.108832926, -0.026314106, -0.0010898053, -0.057873078, 0.07802038, -0.029681025, 0.020011986, -0.03940851, -0.038397703, 0.013701823, 0.01657068) * go_2(1.0, -1.0); + result += mat4(-0.016823404, 0.007905321, 0.034658395, 0.09977579, -0.05916761, 0.004779212, 0.018820778, -0.15795219, -0.013125517, 0.021101758, -0.055992976, 0.08024182, -0.04333755, 0.070356764, -0.030624833, 0.09123745) * go_2(1.0, 0.0); + result += mat4(-0.007931201, 0.0069976873, -0.016831044, -0.027368804, -0.03332386, -0.041667387, 0.04094055, 0.095304705, -0.006027611, -0.019209528, -0.0008929939, -0.017201519, 0.005464988, 0.0038448595, -0.01248845, 0.008877873) * go_2(1.0, 1.0); + result += mat4(-0.042160366, 0.0036025376, -0.008628986, -0.005607383, 0.028637825, 0.005296032, -0.0004143198, 0.008265197, 0.033176135, 0.014727739, 0.0145593295, 0.011159069, 0.00833305, -0.0025515268, -0.00015546188, 0.002805437) * go_3(-1.0, -1.0); + result += mat4(0.016752163, 0.013423374, -0.018342504, 0.013459657, -0.038428728, -0.005804395, 0.019692563, -0.005745392, -0.030070104, 0.01058409, 0.003989377, 0.0074200635, -0.01936366, -0.01608809, 0.0071134195, -0.0038598357) * go_3(-1.0, 0.0); + result += mat4(-0.018000437, -0.0121247275, -0.01288339, -0.0060898345, -0.006138964, -0.0035810755, -0.03902352, 0.002276941, 0.0032195079, -0.02730975, -0.011268412, -0.0036179612, -0.004836894, -0.0015986725, -0.019751905, -0.0071931942) * go_3(-1.0, 1.0); + result += mat4(0.014426659, -0.05161329, 0.019196855, 0.002317663, -0.055477437, -0.007086505, -0.04151144, -0.027518485, -0.027440753, 0.003857541, -0.002143262, 0.013090804, 0.015745236, 0.021075105, 7.93909e-06, -0.009694458) * go_3(0.0, -1.0); + result += mat4(0.0025894733, -0.017304689, -0.03299281, -0.0754248, 0.03428733, -0.03397887, 0.0108591765, 0.021311574, -0.04203291, -0.019728655, -0.09826257, -0.046157785, 0.22522739, 0.086717755, 0.15654634, 0.08489247) * go_3(0.0, 0.0); + result += mat4(0.008495083, 0.00074552774, 0.038054205, 0.013044046, -0.027891211, 0.003249458, -0.018353004, -0.035205863, -0.010195661, -0.008145831, 0.014239584, -0.019779535, 0.011452498, 0.004117014, 0.08403766, 0.04357078) * go_3(0.0, 1.0); + result += mat4(0.00020427872, 0.026861027, -0.01047743, 0.0034385168, 0.015686916, 0.00038722693, 0.0017860534, -0.021630246, -0.0084784245, -0.022648407, -0.0050631054, -0.016437376, -0.026458954, -0.011239073, -0.01145464, -0.0058855377) * go_3(1.0, -1.0); + result += mat4(-0.0012052609, 0.009248192, 0.008875674, 0.03043022, 0.012489936, 0.019402692, 0.0378006, 0.05519605, 0.029059285, -0.0072894073, 0.0014154738, -0.03802288, -0.02321437, 0.09558396, -0.0550932, 0.036936663) * go_3(1.0, 0.0); + result += mat4(0.010010094, 0.012796987, 0.0025080708, 0.013876455, -0.00536739, -0.016932324, -0.012128944, -0.0241354, 0.0077782627, 0.01584833, 0.033727348, 0.039302748, -0.026609577, -0.0062910756, -0.011042692, 0.031207075) * go_3(1.0, 1.0); + result += vec4(-0.0009249668, -0.0010178088, -0.00041991958, -0.0005421036); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_last_tf2 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.01766077, -0.017591428, -0.0038036762, -0.023304595, -0.012525157, -0.0058148014, -0.0030130956, -0.011804012, 0.030511979, 0.028687771, 0.007858589, 0.004475508, -0.02585795, -0.01785211, 0.0053741997, 0.00074623496) * go_0(-1.0, -1.0); + result += mat4(-0.040601525, 0.016486213, -0.01966552, 0.014969501, 0.05400945, 0.019022502, 0.0149923405, -0.0017570893, 0.040684238, -0.009271634, 0.026908487, 0.002365157, -0.03371985, 0.00928091, -0.058665182, -0.0047038617) * go_0(-1.0, 0.0); + result += mat4(0.0034900296, 0.0028777388, -0.02543823, 0.005724228, 0.012073974, 0.0043754885, 0.04109826, 0.008040286, -0.00049979525, -0.0063444753, 0.030565983, -0.009352674, 0.01949427, 0.014168137, 0.009640578, 0.011481213) * go_0(-1.0, 1.0); + result += mat4(0.026645018, -0.02211462, 0.06119815, 0.039082125, 0.09945218, 0.042240527, 0.054267537, 0.04693634, -0.004510591, -0.0041247807, -0.012629442, -0.008053095, -0.025141539, -0.025081929, 0.011338651, 0.029372308) * go_0(0.0, -1.0); + result += mat4(-0.102688424, -0.11533188, -0.09621349, -0.116714895, -0.025504943, 0.05013811, 0.024331303, 0.03946124, 0.026381869, 0.1011479, -0.0017481856, 0.027152762, -0.18783632, -0.13439077, -0.112003446, -0.12810163) * go_0(0.0, 0.0); + result += mat4(0.010783576, -0.00025257064, -0.0075445045, -0.04681932, -0.0021722934, -0.005758047, -0.0110701695, 0.023468157, 0.036986902, 0.023351438, 0.063143626, 0.09269854, -0.025713218, -0.011750105, -0.11722637, -0.07038934) * go_0(0.0, 1.0); + result += mat4(-0.026961634, -0.015106367, -0.0034014166, 0.02482031, -0.013892242, 0.04203608, -0.008226002, 0.004619446, 0.012888606, 0.010721662, -1.3880494e-05, -0.0033224574, 0.006727405, -0.0035630877, 0.0021499102, -0.00091816986) * go_0(1.0, -1.0); + result += mat4(0.0016877668, -0.02695227, -0.023388471, -0.053411417, 0.006777518, -0.024251794, 0.0015210172, 0.010034961, -0.00795588, -0.01645489, 0.012691467, 0.0061330614, 0.054507505, -0.041002143, 0.048495438, -0.004843492) * go_0(1.0, 0.0); + result += mat4(-0.0159168, -0.013163069, -0.0091357315, 0.0011109188, 0.022993349, 0.025777856, 0.013487494, 0.00304372, 0.014121591, 0.02415322, 0.006453722, 0.010679647, -0.00626483, -0.017908117, 0.0063728937, -0.04091484) * go_0(1.0, 1.0); + result += mat4(-0.0026799496, 0.0154166315, -0.0037383793, -0.002577431, 0.073905826, -0.043148544, 0.011774636, -0.016023275, 0.0099145975, -0.04718069, -0.013578048, -0.04220935, 0.018033838, -0.0025958812, -0.029762078, 0.0034059538) * go_1(-1.0, -1.0); + result += mat4(-0.03239311, -0.025743088, 0.1116615, -0.027325295, -0.014691433, -0.013614988, 0.05034416, -0.04294835, -0.11013415, -0.014086726, 0.048601545, -0.04762435, -0.01944709, 0.054276068, 0.04073586, 0.019288493) * go_1(-1.0, 0.0); + result += mat4(0.027851144, 0.014083208, -0.06432852, -0.024642657, 0.021185134, -0.015441491, 0.018058551, -0.017353412, -0.018814132, 0.026259383, -0.14238997, 0.06301044, 0.007324441, 0.00494394, 0.00020533071, 0.0024405916) * go_1(-1.0, 1.0); + result += mat4(0.06092095, 0.025730716, -0.042129956, -0.026382709, -0.08284398, 0.03344148, 0.038016047, 0.0137958275, -0.025555719, 0.008199355, 0.0070835026, -0.01420561, 0.0493976, 0.121205755, 0.026178997, -0.006300481) * go_1(0.0, -1.0); + result += mat4(-0.18660638, -0.1658202, 0.116562665, 0.29287666, -0.13814074, 0.2658047, -0.270531, 0.19597577, -0.04692207, 0.28904793, -0.09829146, 0.24158104, -0.03946344, -0.12598358, -0.3361825, -0.19800447) * go_1(0.0, 0.0); + result += mat4(0.020092675, 0.049266458, 0.03696139, -0.046251137, 0.029122403, -0.008378672, 0.044602558, 0.092563495, -0.0036082428, -0.072675824, 0.030523287, 0.006169521, -0.031133244, -0.011250458, -0.026590217, 0.023079094) * go_1(0.0, 1.0); + result += mat4(0.007384019, 0.031913586, 0.002072675, -0.019807052, 0.010384438, 0.050076224, 0.010438329, 0.009595051, 0.022497892, 0.012009176, 0.009222753, -0.008563874, 0.017106988, -0.003105622, 0.01070336, 0.011805944) * go_1(1.0, -1.0); + result += mat4(0.017091183, -0.035133313, 0.012425838, -0.03395959, 0.03418688, -0.10616231, 0.0101681305, -0.03682252, -0.016497994, -0.05231084, 0.025178006, 0.008926557, 0.025942912, 0.019970346, 0.03534238, -0.07596637) * go_1(1.0, 0.0); + result += mat4(0.007215777, -0.0006424821, -0.020822426, 0.011314772, 0.0183502, -0.015352454, 0.02972497, -0.053287935, 0.024020335, -0.006380922, -0.008620774, -0.041896872, 0.021631774, 0.013320375, 0.024711635, -0.020357909) * go_1(1.0, 1.0); + result += mat4(-0.033131246, 0.027936278, -0.047840517, 0.0019488486, -0.17501047, -0.0178374, 0.02549812, -0.019010937, 0.079489246, -0.027291514, 0.004313802, -0.03478066, -0.004887971, 0.019281879, 0.04073947, 0.022658588) * go_2(-1.0, -1.0); + result += mat4(0.110482916, -0.021340236, 0.09848104, 0.0034104201, 0.0032655075, -0.04557326, 0.07156056, 0.045965493, -0.22822224, 0.115162075, 0.027745042, 0.07251069, 0.05100454, -0.034554593, -0.11214564, -0.009064197) * go_2(-1.0, 0.0); + result += mat4(-0.017621655, 0.01024623, 0.009554872, -0.00078690174, -0.0069463328, -0.014670676, -0.041410644, -0.007414249, -0.031177497, -0.007517117, -0.20814678, 0.049873244, -0.02482445, -0.031338003, 0.06920326, -0.015171424) * go_2(-1.0, 1.0); + result += mat4(0.18918292, -0.15450309, 0.05504167, -0.061840136, -0.057958793, -0.28908864, 0.06820344, 0.09923399, -0.008387437, -0.075379215, -0.01747373, 0.048925415, -0.13222353, -0.15354146, 0.022480693, 0.04943612) * go_2(0.0, -1.0); + result += mat4(0.0469381, 0.05393423, 0.1681062, -0.10543653, 0.17948511, 0.16570628, -0.33344334, -0.13197891, 0.16509773, -0.26174626, 0.13757275, -0.29244694, 0.35424834, 0.35368237, 0.156861, -0.04775442) * go_2(0.0, 0.0); + result += mat4(0.026892537, 0.0075510717, 0.015918663, 0.06070227, -0.02288592, 0.0027507204, 0.05279965, -0.03042772, -0.044760384, 0.0234673, 0.01604264, -0.04277388, 0.0011313064, -0.0052253264, 0.08374709, 0.14929597) * go_2(0.0, 1.0); + result += mat4(0.016119812, 0.061383534, -0.013537205, -0.0017921093, 0.043676157, 0.09811408, -0.015655283, 0.0007943268, -0.053843908, 0.069290705, -0.028319253, 0.020141726, -0.038996387, -0.03628716, 0.012679114, 0.015012319) * go_2(1.0, -1.0); + result += mat4(-0.02019775, 0.022393003, 0.020688228, 0.10277296, -0.06365119, -0.015666502, 0.012721399, -0.16204305, -0.0037819904, 0.012113873, -0.040969223, 0.069086574, -0.052415807, 0.060331605, -0.04201384, 0.07953157) * go_2(1.0, 0.0); + result += mat4(-0.0019123453, 0.012750492, -0.007235785, -0.01268919, -0.038674437, -0.043993857, 0.028753003, 0.07664717, -0.015077012, -0.027486047, -0.011141094, -0.030269727, 0.0016567699, -0.003331901, -0.021631587, -0.00040226072) * go_2(1.0, 1.0); + result += mat4(-0.03769701, 0.0045639244, -0.0069983527, -0.0064906892, 0.03318896, 0.011733902, 0.0023203227, 0.013374876, 0.037507236, 0.018019466, 0.013330661, 0.009231364, 0.00018865235, -0.005706915, -0.00011657552, 0.0038968239) * go_3(-1.0, -1.0); + result += mat4(0.022072105, 0.019486066, -0.013029048, 0.017470635, -0.03662149, -0.011397823, 0.02397534, -0.008561204, -0.026196644, 0.01626692, 0.011886567, 0.021061733, -0.03310679, -0.025446283, -0.006469576, -0.010118362) * go_3(-1.0, 0.0); + result += mat4(-0.014853227, -0.0062806485, -0.005624992, 0.0017175867, -0.007843849, 0.0008925535, -0.041000694, 0.0049381475, 0.0019743184, -0.035099152, -0.01074269, -0.0128827905, -0.010841019, -0.0093286475, -0.030476939, -0.018505717) * go_3(-1.0, 1.0); + result += mat4(0.016344415, -0.04647131, 0.021242643, 0.004836572, -0.061090752, -0.006488986, -0.050970413, -0.029668579, -0.015889898, 0.010811246, 0.0018357672, 0.012481409, 0.008317143, 0.009978102, -0.0015472731, -0.011174326) * go_3(0.0, -1.0); + result += mat4(-0.004087798, -0.01634328, -0.031607483, -0.068488315, 0.038035624, -0.02797923, 0.017972443, 0.029961389, -0.029277585, -0.015558678, -0.08634699, -0.039436456, 0.19870138, 0.06507983, 0.130592, 0.059745777) * go_3(0.0, 0.0); + result += mat4(-0.0028183246, -0.008089249, 0.02188247, 0.0049699014, -0.03830487, -0.0079993615, -0.028960107, -0.045729056, 0.0021651732, 0.010072074, 0.031335246, 0.0012719089, 0.015795005, 0.011290197, 0.08071912, 0.04273827) * go_3(0.0, 1.0); + result += mat4(-0.0011167483, 0.024682038, -0.009224286, 0.005520499, 0.014198537, -0.0032909375, 0.0005767499, -0.02676088, -0.0019766665, -0.015222206, -0.00080782827, -0.011807755, -0.02560086, -0.015391911, -0.008948504, -0.0062184683) * go_3(1.0, -1.0); + result += mat4(-0.009399661, -0.0019192873, 0.000261681, 0.020112153, 0.0077712294, 0.019477246, 0.030144244, 0.053777162, 0.030650103, 0.0021887033, 0.0092345085, -0.029658241, -0.03723785, 0.073152155, -0.058525253, 0.023017056) * go_3(1.0, 0.0); + result += mat4(0.012911211, 0.010375983, -0.00055489264, 0.005504194, -0.004187377, -0.02239082, -0.008734182, -0.027458502, -0.005602922, 0.009588401, 0.015889015, 0.036346428, -0.038325973, -0.018252429, -0.02944341, 0.011490681) * go_3(1.0, 1.0); + result += vec4(-0.0021447246, -0.0025527438, -0.0016466968, -0.0020245572); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(L)-Depth-to-Space +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_last_tf +//!BIND conv2d_last_tf1 +//!BIND conv2d_last_tf2 +//!SAVE MAIN +//!WIDTH conv2d_last_tf.w 2 * +//!HEIGHT conv2d_last_tf.h 2 * +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +vec4 hook() { + vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); + ivec2 i0 = ivec2(f0 * vec2(2.0)); + float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; + vec2 f1 = fract(conv2d_last_tf1_pos * conv2d_last_tf1_size); + ivec2 i1 = ivec2(f1 * vec2(2.0)); + float c1 = conv2d_last_tf1_tex((vec2(0.5) - f1) * conv2d_last_tf1_pt + conv2d_last_tf1_pos)[i1.y * 2 + i1.x]; + vec2 f2 = fract(conv2d_last_tf2_pos * conv2d_last_tf2_size); + ivec2 i2 = ivec2(f2 * vec2(2.0)); + float c2 = conv2d_last_tf2_tex((vec2(0.5) - f2) * conv2d_last_tf2_pt + conv2d_last_tf2_pos)[i2.y * 2 + i2.x]; + float c3 = c2; + return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_M.glsl b/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_M.glsl new file mode 100644 index 0000000..4bde0d5 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_M.glsl @@ -0,0 +1,300 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.029052526, 0.059789784, -0.024398074, 0.06907132, 0.18920785, -0.12923062, 0.0766382, -0.12048348, -0.017786544, 0.06251133, -0.068393864, 0.056690093, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.14032267, -0.077691495, -0.009036259, -0.13049065, 0.20954624, 0.023231741, -0.2759354, 0.49927905, 0.039609738, -0.092625424, 0.09426452, -0.2246486, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.023119625, 0.046549924, 0.073033765, 0.03727065, 0.04498207, 0.024455868, 0.17602317, -0.3150503, 0.019985953, 0.03670126, 0.0071220254, 0.107966185, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.111121014, -0.084099665, 0.12595509, -0.048271902, -0.007799661, 0.04831373, 0.11868961, 0.11607051, 0.05169621, -0.050569464, 0.120362274, 0.034607537, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.41167754, -0.44940078, 0.35485214, 0.58048695, -1.0151424, -0.70137614, 0.38405335, 0.37337455, -0.096364655, -0.14538667, 0.17917591, 0.32259464, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.06378494, -0.040756933, -0.4773648, -0.47702238, 0.1803328, -0.21388084, -0.5509359, -0.6491179, -0.048081584, -0.0025129975, -0.28561604, -0.22229671, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.037024107, 0.016497454, -0.05315267, -0.023392007, 0.1840294, 0.12675077, 0.037417043, -0.022394283, -0.028192522, -0.016344562, -0.07269005, -0.04747136, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.039480202, 0.5577544, -0.117326505, 0.06622856, -0.038784727, 0.65673745, -0.109742545, 0.22294083, 0.00038519394, 0.24552485, -0.07008514, 0.00029412706, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.009279719, -0.031882852, 0.14124188, -0.0759899, -0.024016602, 0.15252088, 0.13614258, -0.09961189, 0.05446014, -0.03827061, 0.11210173, -0.028823104, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.012836382, -0.0062823873, -0.03165346, -0.0017501811); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_tf +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.06215308, -0.054471835, 0.1285146, 0.037585296, -0.14467795, 0.0057610427, 0.006528968, 0.18607244, 0.03762581, -0.121003255, 0.0827445, 0.076479666, 0.07540097, 0.16371846, -0.18786757, -0.12048073) * go_0(-1.0, -1.0); + result += mat4(-0.11520603, -0.22384967, 0.0970881, 0.045122143, -0.40358877, 0.12487416, -0.4489702, 0.04854906, -0.08240888, -0.0058777514, 0.19108902, 0.042189106, -0.07843178, 0.0012592699, -0.11303816, -0.1118517) * go_0(-1.0, 0.0); + result += mat4(0.29387334, 0.08150406, -0.06009834, 0.07054583, -0.146034, 0.04053809, 0.23284695, -0.08233496, 0.0957811, 0.20221621, 0.13570721, -0.081069246, -0.031743366, -0.038912926, -0.059060514, 0.05190416) * go_0(-1.0, 1.0); + result += mat4(0.18404631, -0.034244366, -0.13406059, 0.2242061, -0.23668705, -0.10359684, -0.09689738, -0.04932347, -0.0020525968, 0.15236467, -0.2634303, -0.029878438, 0.3283669, 0.09891668, -0.46656898, -0.03271751) * go_0(0.0, -1.0); + result += mat4(-0.1824976, -1.0545974, 0.93027455, -0.13887188, 0.3128633, -0.2734884, -0.831517, -0.18065166, -0.2119423, 0.19241124, -0.13313763, -0.10523897, 0.2675327, -0.06853148, 0.007885104, 0.26000848) * go_0(0.0, 0.0); + result += mat4(-0.18109167, -0.019768981, -0.14131357, -0.3181756, 0.22158594, 0.1431138, -0.12970252, -0.011459096, -0.03742945, 0.2316056, -0.054623842, -0.09360549, 0.10176328, -0.108150974, 0.122787155, 0.07614884) * go_0(0.0, 1.0); + result += mat4(-0.02370754, -0.10264054, 0.030659392, 0.056694325, 0.034085, -0.0538203, 0.09111551, 0.0063995267, 0.0835243, -0.06623529, 0.20924146, 0.09457414, 0.27925664, 0.049511474, -0.22062886, 0.03312504) * go_0(1.0, -1.0); + result += mat4(0.17009354, 0.34391564, -0.1680695, -0.051450633, -0.044037253, -0.1412577, 0.01097572, -0.049040757, 0.104024716, -0.34571946, 0.5213214, -0.17010914, -0.016452854, 0.3303069, -0.22249438, 0.23866816) * go_0(1.0, 0.0); + result += mat4(0.20491506, 0.20098424, 0.015425732, -0.033999693, -0.0111842435, 0.09945295, -0.025766203, 0.17068656, 0.049262784, 0.0077788536, 0.068585835, 0.19229786, -0.013048818, 0.04877973, 0.024053875, -0.06846659) * go_0(1.0, 1.0); + result += mat4(0.14208305, 0.09790381, -0.008420949, -0.016165754, 0.02445528, 0.08700781, 0.046639573, -0.22105917, -0.08529265, 0.06606378, 0.0947481, 0.08149193, -0.0959293, -0.037756894, -0.008136973, 0.046241503) * go_1(-1.0, -1.0); + result += mat4(0.2577669, 0.13766493, 0.021107635, 0.018978242, 0.452542, 0.25566816, -0.68909633, 0.03804329, 0.06771752, 0.07894156, 0.22501312, -0.047511246, 0.00040517355, -0.0202232, -0.27541754, -0.040150844) * go_1(-1.0, 0.0); + result += mat4(-0.30176973, -0.15739526, -0.038548045, -0.07003333, 0.32053417, 0.025467036, -0.044913124, 0.20454903, 0.12475206, -0.03966162, 0.07139637, 0.12101497, -0.10777517, -0.062379625, 0.06598757, -0.14795317) * go_1(-1.0, 1.0); + result += mat4(0.12068516, 0.0026514034, -0.055378057, -0.0976728, 0.15887645, 0.15590422, 0.076294206, -0.15417404, -0.16548084, -0.18422292, -0.1670212, 0.041155312, -0.11765263, 0.16991171, -0.21535093, 0.01542368) * go_1(0.0, -1.0); + result += mat4(-0.37845853, 0.5732961, 0.114283465, 0.14638355, -0.109194644, 0.087304994, -0.15938401, 0.58242995, -0.025850652, 0.02730721, -0.48582682, -0.2547883, 0.1899583, 0.24296008, -0.8162976, 0.018036429) * go_1(0.0, 0.0); + result += mat4(0.1633212, -0.117295206, 0.021892091, 0.07762347, -0.09726402, -0.1364192, 0.10752197, 0.42020246, 0.06665656, -0.10822656, 0.1337331, 0.0552859, 0.04700212, 0.108017646, -0.2009353, -0.0435288) * go_1(0.0, 1.0); + result += mat4(-0.045603696, 0.05774526, -0.0071174325, 0.24119262, -0.06899063, 0.016012343, 0.009982042, -0.19038968, -0.17796072, -0.12510185, 0.22739507, -0.1805478, -0.100294635, 0.017557602, 0.039842658, 0.13116726) * go_1(1.0, -1.0); + result += mat4(0.0131523665, -0.20472725, 0.121814765, -0.17769355, 0.097669855, 0.09648846, -0.072887406, 0.22992326, -0.019087939, 0.35375193, -0.057155706, 0.17699116, 0.030690158, -0.423475, 0.03703492, -0.03429164) * go_1(1.0, 0.0); + result += mat4(-0.12143413, -0.018402342, 0.04536776, -0.12743106, 0.03355068, -0.09694192, 0.09913357, -0.036602203, 0.11038047, 0.13236065, 0.12966877, -0.10163848, 0.0030612876, -0.116145626, 0.045318183, 0.11492169) * go_1(1.0, 1.0); + result += vec4(0.05657016, -0.04848861, 0.10297782, -0.0076417355); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.088122115, -0.009916053, -0.124469265, -0.032139737, -0.13709281, 0.09177288, -0.06794775, -0.03962873, 0.17613642, -0.11064388, 0.2531882, -0.3817648, -0.1172188, -0.042132895, -0.098772734, -0.114560865) * go_0(-1.0, -1.0); + result += mat4(0.18876404, -0.14613804, 0.23869626, 0.06580185, -0.13533239, 0.25754455, -0.29734856, 0.028218834, -0.39304733, -0.14716247, 0.19408274, -0.18518063, -0.31482637, -0.1508887, -0.3841371, 0.021975968) * go_0(-1.0, 0.0); + result += mat4(-0.22316615, -0.0923483, 0.16932568, -0.13138154, 0.139829, 0.010975908, -0.0587337, -0.054484393, -0.13758336, -0.030077504, -0.050642505, -0.14933856, -0.040563874, -0.030220931, 0.2867556, 0.17022403) * go_0(-1.0, 1.0); + result += mat4(0.12611523, -0.07087836, 0.08281469, 0.024588918, -0.023549056, -0.13102995, 0.17571726, 0.0740372, -0.3167631, 0.17491543, 0.4459055, -0.4687942, -0.19755729, 0.03723031, -0.06757113, 0.03502462) * go_0(0.0, -1.0); + result += mat4(0.12098187, 0.12341856, -0.061940372, 0.7251308, 0.055730965, -0.5169302, 0.37959704, -0.08753306, -0.45700142, -0.4960699, 0.1690022, -0.40233734, 0.0262836, -0.13345262, 0.11002605, -0.16773209) * go_0(0.0, 0.0); + result += mat4(-0.20428565, 0.117523015, -0.044863444, -0.1770644, 0.22925, 0.029694336, -0.23891294, 0.039587863, -0.11235541, -0.23890465, 0.037618574, -0.039127905, 0.14058869, 0.020599412, -0.074353516, 0.12343045) * go_0(0.0, 1.0); + result += mat4(-0.04680316, -0.049870726, 0.06975308, -0.21486782, -0.08177838, 0.09760846, -0.031408366, 0.13881667, -0.14650045, 0.29182404, -0.080848776, -0.25525567, 0.018876432, -0.015662232, -0.016014043, -0.08435915) * go_0(1.0, -1.0); + result += mat4(-0.100864016, -0.24647528, -0.007994345, 0.13047779, 0.14746517, 0.25517163, 0.054900885, -0.07251866, -0.29500577, -0.03758923, 0.05514366, -0.058372885, -0.03055354, -0.062586576, 0.017739896, 0.08644674) * go_0(1.0, 0.0); + result += mat4(-0.029502464, -0.08905223, 0.0047584837, -0.09646073, 0.044714086, 0.15522493, -0.070930906, -0.026954453, 0.057949875, -0.017211404, -0.00566463, -0.0050975676, 0.0050182147, -0.010722001, 0.011812942, -0.04698445) * go_0(1.0, 1.0); + result += mat4(0.18863353, -0.11575336, 0.26541254, -0.15280409, 0.14376, -0.05783716, 0.08554402, 0.27605456, 0.004611954, 0.074173525, -0.07963756, 0.082979314, 0.099553905, -0.06539344, 0.4330784, 0.07996894) * go_1(-1.0, -1.0); + result += mat4(-0.31001288, 0.035875235, 0.049856357, -0.09614268, 0.23397788, -0.12425775, 0.45108303, 0.27973723, 0.0753222, 0.11388394, -0.043821793, -0.05610102, -0.06536777, 0.009822641, 0.7956708, -0.05798737) * go_1(-1.0, 0.0); + result += mat4(0.19827974, 0.010130333, -0.13153136, 0.11593003, -0.15762039, -0.0040722084, 0.20404483, 0.28999883, 0.08152756, 0.07773477, 0.019730574, 0.0123460535, -0.034676805, -0.19133334, 0.01860159, -0.12945038) * go_1(-1.0, 1.0); + result += mat4(-0.1861255, 0.039945368, 0.28345293, -0.17425321, 0.36748698, 0.03729066, -0.35957313, 0.11234573, -0.07122196, 0.012845119, -0.09049443, 0.10106711, 0.07425845, -0.14626606, 0.46169114, -0.2652126) * go_1(0.0, -1.0); + result += mat4(-0.6222811, -0.08538015, 0.023319554, -0.7206892, -0.33495513, 0.2960924, -0.033479776, -0.29255456, 0.29802337, 0.47570458, 0.012769826, 0.19874385, -0.25652033, -0.4018595, 0.3055839, 0.1881051) * go_1(0.0, 0.0); + result += mat4(0.32152474, 0.0024920676, -0.113435976, 0.14440896, -0.287736, 0.0251382, 0.28160754, 0.02769615, 0.067614004, 0.0832741, -0.095353454, -0.19792004, -0.40394694, -0.24224225, 0.3224996, 0.030300485) * go_1(0.0, 1.0); + result += mat4(0.0045148246, -0.04621849, -0.026470715, 0.0588576, 0.14559188, 0.037437905, -0.13778603, 0.08173416, 0.033548757, -0.015654223, 0.15016593, 0.07761835, -0.016546778, 0.02640291, 0.112717085, 0.020371364) * go_1(1.0, -1.0); + result += mat4(0.114227325, -0.0405595, -0.11662477, 0.014747093, 0.11170598, 0.58740836, -0.27560827, -0.1848705, -0.02491223, -0.15605451, 0.0028677192, -0.11290364, -0.12331832, -0.3191161, 0.3505101, 0.15236251) * go_1(1.0, 0.0); + result += mat4(0.21131381, 0.13965495, -0.103683874, 0.26049778, -0.010777816, 0.015093082, 0.13207617, 0.14064828, -0.007847294, 0.025702007, -0.082993574, -0.04923462, -0.052900862, -0.006775377, 0.1432969, 0.09598549) * go_1(1.0, 1.0); + result += vec4(0.08015534, 0.10264796, -0.031173404, 0.21282151); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!SAVE conv2d_3_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.13262276, 0.18682314, -0.1433667, -0.0061677806, -0.15057871, -0.15389217, 0.40721065, -0.082456455, 0.028175479, -0.06136406, 0.13517159, -0.0066659097, -0.03311807, -0.056219388, 0.066265404, -0.017012158) * go_0(-1.0, -1.0); + result += mat4(0.0652481, -0.02717338, -0.17586891, -0.1458622, 0.37166637, -0.13651049, -0.095090784, 0.1450258, -0.08856753, -0.029000161, -0.11024598, 0.14231622, 0.027118085, 0.060637098, -0.028174674, 0.020973917) * go_0(-1.0, 0.0); + result += mat4(0.17137158, 0.015818363, -0.1761587, -0.07798954, -0.22039492, -0.08250406, 0.15350278, 0.05466543, 0.07231244, 0.124937475, -0.14530692, -0.036220204, -0.20202135, 0.16154502, -0.1472417, 0.045183204) * go_0(-1.0, 1.0); + result += mat4(-0.06751513, 0.3630837, -0.23374555, -0.17641832, 0.23866339, -0.12625019, 0.14955078, 0.3757683, 0.25546572, -0.0009440543, -0.029705383, 0.12500505, 0.039303612, 0.02745342, 0.06280759, -0.027673393) * go_0(0.0, -1.0); + result += mat4(-0.40253955, 0.5532656, 0.15580782, 0.23305601, 0.04307387, -0.37548792, 0.021682428, -0.14554474, -0.44655007, 0.12335231, 0.22693188, -0.19185324, -0.39905196, -0.36661598, 0.34626722, 0.3220371) * go_0(0.0, 0.0); + result += mat4(0.13051705, -0.051269528, 0.027860573, 0.12866034, 0.095374286, 0.0072371624, 0.06641015, -0.040609945, 0.14411138, 0.03813084, 0.024812538, -0.069997884, -0.2398024, 0.16384888, 0.004522481, -0.2734798) * go_0(0.0, 1.0); + result += mat4(-0.048976544, 0.36923414, -0.23769425, -0.02964149, 0.13426293, -0.070416726, -0.036279447, 0.21007125, -0.0062456504, 0.12307804, -0.18920022, 0.016429992, 0.091225415, -0.00714184, -0.079064, 0.050525308) * go_0(1.0, -1.0); + result += mat4(0.007005748, -0.1929285, -0.27960134, -0.014070343, -0.012031938, -0.21320626, 0.22591045, 0.06750757, 0.038049847, -0.08933499, 0.15640227, 0.36653376, 0.11274315, 0.0015512784, -0.14319079, -0.41117874) * go_0(1.0, 0.0); + result += mat4(0.039254356, 0.04123307, -0.14476523, 0.19676228, -0.1746638, 0.068685316, 0.19318552, -0.007086376, -0.08810745, 0.041937724, 0.1393943, 0.27539206, -0.08331265, 0.043064818, -0.02783017, -0.13006629) * go_0(1.0, 1.0); + result += mat4(0.18761271, -0.009960496, -0.18572417, 0.010640895, 0.10240658, 0.036137953, -0.109363064, 0.05820501, -0.04092678, 0.11809751, -0.11843415, 0.11893309, -0.06356792, 0.1509876, -0.12252014, -0.0070098704) * go_1(-1.0, -1.0); + result += mat4(-0.0012312894, 0.038436964, -0.046054237, 0.04859312, -0.4190657, 0.2529927, 0.23133701, -0.00065297337, -0.039581586, 0.00905735, 0.16532114, -0.12568031, 0.17818217, -0.28053075, 0.38509414, -0.03763847) * go_1(-1.0, 0.0); + result += mat4(-0.0897875, 0.063593514, 0.07660054, 0.12268424, 0.21554653, -0.1025501, 0.2557211, 0.04492533, 0.10992355, -0.035215836, -0.009733763, -0.02165148, 0.08618596, -0.19276536, 0.18174514, -0.18021213) * go_1(-1.0, 1.0); + result += mat4(-0.002999377, -0.12630916, -0.030010369, -0.2676409, -0.20229307, 0.15253967, -0.12200155, -0.1552754, -0.16193017, 0.10819683, 0.10696224, -0.1920264, -0.29354608, -0.32021165, 0.08644405, -0.16153689) * go_1(0.0, -1.0); + result += mat4(0.49931613, -0.3669461, -0.49107462, -0.3654748, 0.32047966, 0.03246311, -0.06424334, 0.009108802, 0.2367612, -0.46587244, 0.16957493, 0.3237888, 0.93676794, 0.01834384, -0.9349752, -0.04654371) * go_1(0.0, 0.0); + result += mat4(-0.112562165, 0.006074484, -0.12288025, -0.08560263, 0.25336134, 0.025205871, 0.25063732, 0.12370882, -0.40429187, 0.12992847, -0.2816234, 0.08179623, 0.27197668, 0.066299304, -0.12988937, 0.16257611) * go_1(0.0, 1.0); + result += mat4(0.047864527, -0.05821779, -0.06311128, -0.0065775234, -0.065763995, 0.014864688, 0.09148591, -0.25059348, 0.008846306, -0.22123712, 0.4062609, -0.100248575, -0.50293785, -0.13373566, 0.21480446, -0.0841981) * go_1(1.0, -1.0); + result += mat4(0.19313097, -0.061253734, -0.1801314, -0.20178059, -0.039574936, 0.08167749, 0.010974997, 0.069656976, -0.13193963, 0.35555324, 0.62686867, -0.28656846, -0.27831817, -0.0040086447, 0.4031064, 0.47767937) * go_1(1.0, 0.0); + result += mat4(0.15396428, 0.069321476, -0.15190981, -0.24133344, 0.106151104, -0.11271092, 0.06878746, 0.14279713, -0.02006402, -0.36284852, -0.00926688, -0.39887694, -0.20926239, -0.021860912, 0.07588468, 0.2620174) * go_1(1.0, 1.0); + result += vec4(-0.0073282495, -0.040352557, -0.063710704, 0.07255652); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.17903937, -0.0014294779, 0.1824805, -0.19555633, -0.0052551827, -0.013796094, 0.06358042, 0.13301018, 0.008874768, 0.06605332, 0.06117636, 0.012946474, 0.048656575, 0.0060409275, -0.0671362, -0.06897735) * go_0(-1.0, -1.0); + result += mat4(-0.16098012, 0.10772552, -0.13175552, -0.5299018, 0.068713695, -0.048258893, -0.49698257, 0.36581638, 0.21755004, -0.12125899, -0.27382872, -0.12268086, 0.014334542, 0.20573758, 0.45879167, -0.29648975) * go_0(-1.0, 0.0); + result += mat4(0.06860283, -0.18047708, 0.024707617, 0.11900479, 0.09474589, -0.16559775, -0.054095846, -0.011377782, -0.008733984, 0.105020404, -0.040116277, -0.0022003972, 0.1453799, -0.032110006, -0.018741792, -0.12511599) * go_0(-1.0, 1.0); + result += mat4(0.20024729, -0.01969923, -0.026999667, -0.39064395, -0.14559332, -0.11634086, -0.13226044, 0.11779975, -0.08838282, -0.0882447, -0.23166943, -0.15760234, 0.030928904, -0.032423917, 0.20324136, -0.19692755) * go_0(0.0, -1.0); + result += mat4(0.49499384, 0.7327846, -0.6173799, -0.53821295, -0.15000962, 0.11169762, 0.6942423, 0.07956513, 0.06913002, -0.19037646, -0.19826908, 0.68080276, -0.2747096, -0.15832238, 0.47366706, 0.090432756) * go_0(0.0, 0.0); + result += mat4(-0.18274948, 0.09204629, 0.16644076, 0.05641037, 0.03328184, -0.6218293, 0.26432592, -0.093742386, 0.33038342, -0.24853565, -0.23683667, -0.37430722, -0.20684583, -0.32283148, -0.07633969, -0.08765815) * go_0(0.0, 1.0); + result += mat4(0.06821987, 0.06395764, -0.14685121, -0.15894371, -0.093540885, 0.057568345, -0.048376244, -0.009256543, -0.26325077, -0.03193119, -0.16857445, -0.02404981, 0.110593356, 0.042911418, 0.06626762, -0.0312436) * go_0(1.0, -1.0); + result += mat4(0.3108626, 0.37123847, -0.082249805, -0.21339422, -0.3756041, -0.08518717, -0.16853802, 0.011641729, -0.30096757, 0.26942274, -0.08990497, -0.19451031, 0.21974437, -0.04231723, 0.26160353, -0.040834647) * go_0(1.0, 0.0); + result += mat4(0.11795158, 0.24436565, 0.043223023, -0.0159957, -0.19689156, 0.13223267, -0.013983249, 0.09437164, -0.47648698, -0.00082660443, -0.085406005, 0.10885898, 0.104696035, -0.053257108, 0.024389362, 0.0282572) * go_0(1.0, 1.0); + result += mat4(0.032890156, 0.0115719065, -0.01898909, -0.03034875, -0.041037276, -0.1026382, 0.03337663, 0.20108728, -0.00023235095, -0.018033072, -0.028535927, 0.07359915, 0.075182244, 0.02959868, 0.15107772, -0.09815672) * go_1(-1.0, -1.0); + result += mat4(-0.004040557, 0.06707476, 0.039022792, 0.52437925, -0.08027356, 0.040488366, 0.035332825, 0.07683081, -0.03521227, -0.081861034, 0.090804815, 0.10580108, 0.20452882, -0.58755285, 0.04303056, 0.41562977) * go_1(-1.0, 0.0); + result += mat4(0.09290062, 0.03495193, 0.02347216, -0.012873525, -0.076936446, 0.1453216, -0.03742271, -0.14174925, -0.058219753, 0.19095406, 0.055627216, 0.09437343, -0.010424211, -0.314692, 0.3314579, -0.053285643) * go_1(-1.0, 1.0); + result += mat4(-0.053961687, 0.1483992, 0.042458896, -0.1966439, 0.13864957, 0.07587672, -0.06519269, 0.09530391, 0.04215073, 0.039545458, 0.21056756, 0.09972659, 0.02987125, -0.08102741, 0.07075036, 0.21867757) * go_1(0.0, -1.0); + result += mat4(-0.5512795, 0.03104814, 0.27901977, 0.122875504, -0.2656715, 0.007895486, -0.6735937, 0.20810314, -0.31432617, 0.07420857, 0.2573659, -0.35361463, 0.19826569, -0.47774056, 0.15816487, -0.29203883) * go_1(0.0, 0.0); + result += mat4(0.35078493, -0.07371588, -0.026663188, -0.20976657, -0.009644347, 0.037428845, -0.33933878, -0.010807704, 0.088060796, 0.16753472, -0.12296045, 0.17563403, 0.1501952, 0.07353703, 0.32531765, 0.11667607) * go_1(0.0, 1.0); + result += mat4(0.096126616, -0.058021486, -0.03439203, 0.06868024, 0.047914367, 0.026945053, 0.04207778, 0.046023168, 0.16024022, 0.07846185, 0.004195093, 0.07272046, -0.10458233, -0.0904536, 0.16049337, 0.015941419) * go_1(1.0, -1.0); + result += mat4(0.032256138, -0.055398785, 0.079738356, 0.113359064, 0.11975066, -0.074372105, 0.102006756, -0.011490042, 0.15155345, 0.0025528704, 0.23328577, -0.059241068, -0.067783386, -0.18220833, 0.0057692174, 0.039900843) * go_1(1.0, 0.0); + result += mat4(-0.06173998, -0.07121991, -0.01118306, -0.063749574, -0.032665797, 0.0014987896, 0.03113169, 0.06916617, 0.0066490914, -0.052818965, -0.050131317, 0.10337558, -0.030870482, -0.14671221, 0.12152145, -0.05003445) * go_1(1.0, 1.0); + result += vec4(-0.010524109, -0.008519857, -0.08958723, -0.07917139); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!SAVE conv2d_5_tf +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.11029161, 0.027180295, -0.115622066, 0.16493714, 0.29633296, -0.11739625, -0.36390316, 0.15221693, -0.009233659, -0.062213745, -0.07184558, 0.07418268, -0.05182182, 0.0066014086, -0.006811494, -0.010030367) * go_0(-1.0, -1.0); + result += mat4(-0.18361749, 0.08565693, 0.24127418, -0.20478591, 0.6198113, -0.17994536, -0.011840256, 0.120292775, 0.2873902, -0.019704796, -0.062267166, 0.0104749305, -0.048370067, -0.028105626, 0.11494511, -0.15941763) * go_0(-1.0, 0.0); + result += mat4(-0.08084502, 0.10195475, -0.03200553, 0.032734055, 0.030348243, -0.028927604, 0.045914374, 0.029237835, 0.07756032, -0.06346545, -0.290196, 0.057043966, 0.13982558, -0.12195619, -0.15895663, -0.10097537) * go_0(-1.0, 1.0); + result += mat4(-0.12018707, -0.320156, -0.4089669, 0.26015735, 0.59622765, -0.05654362, 0.28581724, 0.32069868, -0.0013007161, -0.060870633, -0.2732852, 0.2357145, 0.2137239, 0.0110256495, -0.069258444, 0.113870576) * go_0(0.0, -1.0); + result += mat4(0.54700065, -0.072552234, 0.27267826, -0.26660076, 0.7043544, 0.18192886, 0.80024594, 0.2447395, -0.3289639, -0.2681839, 0.063631415, -1.0118654, 0.45691678, 0.42904988, -0.2301862, -0.6652257) * go_0(0.0, 0.0); + result += mat4(0.19215634, 0.030154131, 0.07679603, 0.50318545, 0.056434657, 0.028623195, -0.14471184, -0.13905096, -0.03254216, -0.1191584, -0.18907212, 0.49208716, 0.5069476, -0.1490824, -0.104480386, -0.06595394) * go_0(0.0, 1.0); + result += mat4(-0.08893682, 0.13113782, 0.023672188, 0.013086517, -0.25986442, 0.038162243, -0.10951209, -0.2027832, -0.013547809, -0.029482972, -0.17670235, 0.13529542, -0.0621569, -0.0979757, -0.10714689, -0.08474307) * go_0(1.0, -1.0); + result += mat4(-0.032828752, 0.00037559783, 0.023968933, -0.047482926, -0.20302027, 0.08830911, -0.20885307, -0.11137413, 0.16585048, -0.076796696, -0.030462325, -0.2020944, 0.048723634, -0.45607433, -0.29950324, -0.5867916) * go_0(1.0, 0.0); + result += mat4(0.008863689, 0.061761267, -0.039097138, 0.24465923, -0.05917457, -0.21383028, -0.085846715, -0.14150433, 0.0988731, -0.0160538, -0.045119412, 0.095252946, -0.057551738, 0.21348421, -0.03480491, -0.26071647) * go_0(1.0, 1.0); + result += mat4(-0.21351442, 0.10038809, 0.34001955, -0.100911774, 0.0208522, -0.028755441, 0.025793588, 0.013080005, 0.03849989, 0.13662058, 0.04311886, 0.17398632, -0.01397261, -0.016415505, -0.0070752064, 0.007656161) * go_1(-1.0, -1.0); + result += mat4(-0.280189, 0.09252764, -0.077729605, 0.12662902, -0.10433321, 0.03644144, -0.06625324, 0.05696802, 0.15468478, 0.08328583, 0.069849946, 0.061947342, -0.05560477, -0.0074776993, -0.15365681, -0.03526299) * go_1(-1.0, 0.0); + result += mat4(0.05886785, 0.15303846, 0.0066637015, -0.19983207, -0.07803175, -0.10772685, -0.12690999, -0.08275092, 0.033436153, 0.08424011, 0.17092863, 0.0043526487, 0.014620474, 0.044702258, 0.1686881, -0.016890949) * go_1(-1.0, 1.0); + result += mat4(0.1833738, 0.14381635, -0.025888365, -0.14182197, -0.25804865, 0.07216123, 0.025790794, 0.14096753, 0.023591481, 0.15610993, 0.026975863, 0.008755717, -0.13039349, -0.063048325, -0.121329494, -0.12331732) * go_1(0.0, -1.0); + result += mat4(0.0005065098, 0.44017914, 0.18493074, 0.13099027, -0.36087477, -0.37567857, -0.48981526, 0.5590752, -0.23918836, 0.19170256, 0.16816153, -0.29986876, -0.44738817, 0.018545123, 0.66217834, 0.31810755) * go_1(0.0, 0.0); + result += mat4(-0.16725904, 0.05753713, 0.058880586, -0.336765, 0.013667228, 0.056172702, 0.13465533, -0.07573556, -0.06313958, 0.06746643, 0.18878669, 0.09404202, -0.21780397, 0.12862128, -0.09476746, -0.34096682) * go_1(0.0, 1.0); + result += mat4(-0.07169524, 0.072302215, 0.052789338, -0.14035568, 0.078670934, -0.22246763, -0.0098074945, 0.024950746, 0.10949147, 0.06182366, 0.021721192, 0.12129548, 0.094007075, 0.06076156, 0.016474832, 0.08092115) * go_1(1.0, -1.0); + result += mat4(-0.10960447, 0.1878152, -0.029822018, 0.10598909, 0.1582181, 0.086522795, 0.093725055, 0.12908185, 0.23202112, -0.28859115, 0.26614165, 0.124523655, 0.19427507, 0.059677128, 0.003624697, 0.44220912) * go_1(1.0, 0.0); + result += mat4(-0.03620583, -0.102766834, 0.025527107, -0.11316131, -0.1507822, 0.0543862, -0.08225627, -0.06438472, 0.04580623, 0.6329729, 0.23854075, 0.35752076, 0.04363613, -0.12580468, -0.0006126687, -0.04995386) * go_1(1.0, 1.0); + result += vec4(0.060475674, -0.042036578, 0.06406282, 0.05569301); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!SAVE conv2d_6_tf +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.008187961, -0.08433309, -0.17281345, 0.1306418, -0.2925821, 0.20668334, 0.14854355, -0.15960559, 0.08599311, -0.096088655, -0.10121403, 0.067429096, 0.049158614, 0.036637552, 0.22137405, -0.17016457) * go_0(-1.0, -1.0); + result += mat4(0.024813082, 0.028489944, 0.06814137, -0.1245949, 0.54239255, 0.08648708, 0.28979865, 0.110916786, -0.1927179, -0.17756873, -0.1878214, 0.05795718, -0.080397904, 0.22125137, 0.1907366, -0.016493658) * go_0(-1.0, 0.0); + result += mat4(0.027259264, 0.01494357, 0.04852894, 0.037580628, 0.031005561, 0.003570554, -0.072993, -0.053475574, 0.031119492, -0.14140029, -0.10386501, -0.015266508, 0.01153506, 0.16006693, 0.088294305, 0.04201491) * go_0(-1.0, 1.0); + result += mat4(0.13026185, 0.097255, 0.49145448, -0.33619553, -0.21144676, 0.019042643, -0.27274492, 0.3033865, 0.14040698, -0.13656893, 0.28211337, -0.26930946, -0.1626638, 0.105105706, -0.50837296, 0.39536825) * go_0(0.0, -1.0); + result += mat4(-0.42495522, 0.14972518, 0.0007564128, 0.37367433, 0.44553527, 0.3338494, -0.26058698, 0.087256804, -0.4324135, 0.20706014, 0.33552194, -0.13375738, -0.13469471, 0.22374928, -0.36969653, -0.34171587) * go_0(0.0, 0.0); + result += mat4(0.26543954, -0.004381978, 0.10609993, -0.09718426, -0.15620759, -0.03287476, 0.093032375, 0.00028344034, -0.11699793, -0.016492033, 0.023340177, 0.0062737763, -0.14305823, -0.2721832, -0.160177, -0.06915171) * go_0(0.0, 1.0); + result += mat4(0.03334679, 0.12436332, -0.13226178, 0.13868971, 0.017779246, -0.012697869, -0.11553709, 0.08638636, 0.0955215, -0.0309646, 0.040856246, -0.03978358, 0.023490254, -0.07178907, 0.23794931, -0.1714287) * go_0(1.0, -1.0); + result += mat4(-0.11820261, 0.116130814, 0.58924234, -0.37785482, 0.016644944, -0.071019046, 0.0076222476, -0.024118654, -0.076183304, -0.14971451, 0.06356606, -0.07225465, -0.17400762, 0.030856986, 0.03957665, -0.0070553776) * go_0(1.0, 0.0); + result += mat4(0.10954708, 0.063694, -0.058218896, 0.0010372304, 0.032423936, 0.006164447, -0.031383317, 0.012955956, -0.17115591, 0.16328962, 0.07279567, 0.06571465, 0.005532307, 0.13575353, 0.04082173, 0.041579492) * go_0(1.0, 1.0); + result += mat4(0.03146011, -0.08227295, -0.03498218, 0.04772092, 0.12055223, -0.12383867, 0.05448358, -0.07948453, -0.019064998, -0.0964146, -0.024651276, 0.041473705, -0.06493721, -0.054806646, -0.21607941, 0.20078054) * go_1(-1.0, -1.0); + result += mat4(-0.25740683, -0.33160943, -0.37422308, 0.12679969, -0.032204475, 0.41485202, 0.4538808, -0.082535125, 0.11784846, 0.10195789, 0.064491615, -0.10170162, -0.09500746, -0.15640756, -0.079364255, -0.12576963) * go_1(-1.0, 0.0); + result += mat4(-0.02532797, -0.014487023, -0.09441118, -0.060885422, -0.41196415, -0.1359501, 0.07101173, -0.053279232, 0.010979353, 0.1914526, 0.054606825, 0.015926225, 0.10410896, 0.010272597, -0.048138764, -0.02698072) * go_1(-1.0, 1.0); + result += mat4(-0.35856235, 0.099759184, -0.11972965, -0.03850837, -0.5143867, 0.3721666, -0.100802526, 0.21814734, -0.11864143, 0.15086797, 0.047075786, -0.14188164, 0.48882273, -0.12767795, 0.4937544, -0.41288656) * go_1(0.0, -1.0); + result += mat4(0.21679138, 0.023770422, -0.5454043, 0.18567741, 0.15965948, -0.84900963, -0.4684333, -0.21884751, 0.5876668, -0.9346244, -0.30144307, 0.97177315, 0.24103107, 0.35953388, 0.2032729, 1.2934744) * go_1(0.0, 0.0); + result += mat4(-0.5121466, -0.123357795, 0.1833694, 0.048652876, -0.20895603, 0.0619325, 0.064119816, 0.072841786, -0.21813762, -0.126957, -0.23441431, -0.009071302, -0.09766064, -0.12546945, 0.086008705, -0.0072638122) * go_1(0.0, 1.0); + result += mat4(0.15312338, -0.051029235, 0.07638347, -0.14028431, 0.10694411, -0.14639509, 0.3193828, -0.22767228, -0.19987194, 0.18207504, -0.19648756, 0.24752761, -0.03402804, -0.04186147, -0.20177092, 0.09467012) * go_1(1.0, -1.0); + result += mat4(-0.3587345, -0.20358992, -0.11016057, 0.21079709, -0.26201126, 0.040362626, 0.3186598, -0.059521858, 0.27564716, -0.041431133, 0.19315968, -0.30228892, 0.01191173, -0.10380854, 0.03030344, 0.026699625) * go_1(1.0, 0.0); + result += mat4(0.13373446, -0.011457521, -0.24851708, 0.06563771, -0.051668253, 0.09096929, -0.013976447, 0.041433394, -0.046981215, -0.00015144625, 0.05696515, 0.024501698, 0.2714476, -0.017434085, 0.025333954, -0.054034695) * go_1(1.0, 1.0); + result += vec4(0.06757453, -0.021112159, -0.015639946, 0.05520713); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Conv-4x1x1x56 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_1_tf +//!BIND conv2d_2_tf +//!BIND conv2d_3_tf +//!BIND conv2d_4_tf +//!BIND conv2d_5_tf +//!BIND conv2d_6_tf +//!SAVE conv2d_last_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_2 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_4 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_10 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_12 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.03795613, 0.09572901, 0.019826923, 0.10568741, -0.0030050736, -0.018890928, 0.0095737, 0.00807826, -0.022741016, 0.0046556294, -0.017018225, -0.010523109, -0.017621946, -0.0006488902, -0.009405731, -0.0027796263) * g_0; + result += mat4(-0.046617493, -0.018167915, -0.039274286, -0.027566826, -0.015821747, 0.003789104, -0.0020801623, 0.004032968, -0.05708595, -0.018440764, -0.032891296, 0.004184342, 0.047413353, 0.0034510887, 0.019148773, -0.0035636695) * g_1; + result += mat4(-0.046619494, -0.017274255, -0.03372405, -0.011152855, 0.10981248, 0.036214054, 0.07969624, 0.05590572, -0.031791378, -0.00307391, -0.0032425344, 0.0025762853, 0.0053703627, -0.02076939, -0.00058634114, -0.012593452) * g_2; + result += mat4(0.110471316, 0.031102506, 0.07860556, -0.018570926, -0.05038586, -0.07667239, -0.0819002, -0.08958284, 0.03846167, -0.007570915, 0.008598097, -0.0082979705, -0.03610172, -0.022735123, 0.02343143, 0.030037913) * g_3; + result += mat4(-0.075562544, -0.020187575, -0.020969959, 0.0062222136, 0.019780673, 0.059694994, 0.019240001, 0.05951303, 0.004168261, 0.00041100322, -0.0013793377, 0.002048099, -0.040564027, -0.031818517, -0.015498987, -0.02695407) * g_4; + result += mat4(-0.0016428401, 0.018965026, -0.013192817, -0.008289604, -0.044686675, -0.009061507, -0.049217258, -0.043777503, -0.07308355, -0.063734084, 0.019393511, -0.028853234, 0.057311818, 0.04126226, 0.086301416, 0.11784249) * g_5; + result += mat4(-0.06087458, 0.046508487, -0.10723279, 0.017619802, 0.13637137, 0.2054238, 0.013641375, 0.091581754, 0.03556439, 0.0500333, 0.0696777, 0.0922045, -0.020914901, -0.025425691, -0.050319638, -0.049094327) * g_6; + result += mat4(0.0030941095, -0.008679898, -0.05815756, -0.038728733, -0.062450465, -0.073838525, -0.030359933, -0.08355475, -0.039032117, -0.0689333, -0.04834296, -0.079471886, 0.09694701, 0.17491414, 0.093450785, 0.16742545) * g_7; + result += mat4(0.035618782, -0.027659958, 0.055540156, 0.013073733, 0.12144545, 0.05981087, -0.015131131, -0.0476281, -0.090847984, 0.005347584, 0.015588529, 0.024184622, -0.10743599, -0.01785147, -0.08566232, -0.14611128) * g_8; + result += mat4(-0.03812077, 0.018126076, -0.016625525, -0.06906415, -0.06267368, -0.058914356, 0.0009385371, -0.026746314, 0.048242237, 0.028906677, -0.028120263, -0.004209134, 0.009636235, 0.013206963, 0.07449269, 0.038961377) * g_9; + result += mat4(-0.014510558, -0.021065345, 0.09356215, -0.005815953, 0.08807958, 0.067895725, 0.08723713, 0.057831496, -0.10227873, -0.07699344, -0.06321843, -0.07448854, 0.09820774, 0.007563063, -0.14045772, -0.014161681) * g_10; + result += mat4(-0.18385889, 0.2255883, -0.29741547, 0.14618248, -0.08100661, -0.06860545, -0.112705804, -0.122642964, -0.06736901, 0.06971933, 0.12909706, -0.0418256, -0.32786265, 0.032497127, 0.4390302, 0.032726523) * g_11; + result += mat4(0.10560793, 0.083280005, -0.20369564, -0.14290833, -0.119196005, -0.028741803, 0.020456403, -0.06509816, 0.073811695, 0.02724128, -0.08691891, 0.10240907, 0.16827166, -0.17502932, -0.18295282, 0.15154512) * g_12; + result += mat4(0.0036247042, -0.002368346, 0.049646147, 0.058079436, 0.14403848, 0.07125248, 0.040327612, -0.013934329, 0.03871744, -0.1717596, 0.20666012, -0.24093682, -0.09846371, 0.011563227, 0.11973811, -0.0574434) * g_13; + result += vec4(0.022095086, 0.021079032, 0.030224537, 0.02154015); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(M)-Depth-to-Space +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_last_tf +//!SAVE MAIN +//!WIDTH conv2d_last_tf.w 2 * +//!HEIGHT conv2d_last_tf.h 2 * +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +vec4 hook() { + vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); + ivec2 i0 = ivec2(f0 * vec2(2.0)); + float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; + float c1 = c0; + float c2 = c1; + float c3 = c2; + return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_S.glsl b/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_S.glsl new file mode 100644 index 0000000..de6c59c --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_S.glsl @@ -0,0 +1,158 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(S)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(6.5515305e-05, 0.09565814, -0.0022499533, 0.14627136, -0.0065872427, 0.1441769, 0.17772098, 0.16298898, 0.03727593, 0.02010636, 0.013131043, 0.07891907, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.029612074, -0.01204274, 0.07698074, 0.3855172, 0.0045466167, -0.0859741, 0.26930287, 0.67549795, -0.036623597, 0.051749162, -0.04714053, 0.16092339, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.030328937, -0.15884648, 0.0082092965, -0.05052196, 0.041409027, -0.23017453, 0.31568366, 0.05136558, -0.0106390705, -0.12503141, -0.07030922, -0.08512375, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.059616547, -0.12322959, 0.058520414, -0.039292034, 0.08059592, -0.22441447, 0.15380386, -0.17675085, -0.009270574, 0.034731936, -0.048767723, 0.025933916, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.4495482, 0.37551787, -0.4227873, -0.4890034, -0.9007091, 0.7524192, -1.271679, -0.68366605, -0.07302573, 0.09378561, 0.010367829, -0.24593607, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.12684742, -0.11042779, 0.01793761, 0.06982078, 0.12901784, -0.10123104, -0.2129385, -0.15062876, 0.019824497, -0.015181707, 0.070795976, 0.13549626, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.036070887, -0.2733308, 0.05836442, -0.06817092, -0.08980838, -0.514616, 0.2965783, 0.103823625, -0.015213521, -0.16376303, 0.0017071419, -0.0922202, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.053406045, 0.011273207, -0.05544644, 0.09432561, -0.04143601, -0.0783786, -0.39899537, 0.040322974, -0.046442945, 0.052499074, 0.03397099, 0.05516481, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.35976252, 0.197882, 0.031213427, -0.02211337, 0.7940331, 0.327452, 0.30120966, 0.03181121, 0.13782893, 0.060073618, -0.00940469, -0.0358819, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.004601904, -0.0030944077, 0.14569537, -0.016794242); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_tf +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.103708945, -0.050891697, -0.2067834, -0.033582103, -0.08676132, 0.15528207, -0.10070597, -0.13641205, 0.030959459, 0.12798834, -0.058627255, -0.008511715, 0.023304658, -0.027084433, 0.120355256, -0.023104342) * go_0(-1.0, -1.0); + result += mat4(0.0550643, -0.26851672, 0.11073926, 0.21989855, 0.012853378, 0.028077757, 0.073306665, -0.04551125, 0.16005373, -0.018154016, -0.12347146, -0.07590073, -0.10193998, 0.084696375, 0.04041413, -0.030883553) * go_0(-1.0, 0.0); + result += mat4(-0.04816972, 0.0804637, 0.0071406, -0.08482986, 0.11176785, 0.060121994, -0.047804814, -0.036170192, 0.01989302, -0.12537469, -0.16283676, 0.19132937, -0.052577138, -0.005143432, 0.045614418, 0.04198543) * go_0(-1.0, 1.0); + result += mat4(-0.33660156, 0.036350835, -0.4623589, -0.04140598, 0.2436438, -0.044735093, 0.20876355, -0.004252532, 0.81046224, -0.18550895, 0.32743093, 0.109012894, -0.34675312, -0.03464997, -0.09489919, -0.07961427) * go_0(0.0, -1.0); + result += mat4(-0.08862038, -0.8168393, 0.03584266, 0.32159033, 0.06634099, 0.2985745, -0.18204363, -0.016070427, 0.35503992, 1.1388919, 0.16171643, -0.63834023, -0.0037699202, -0.27919513, -0.20949292, 0.03270466) * go_0(0.0, 0.0); + result += mat4(0.021701936, -0.04537874, -0.05514495, 0.23225744, 0.024968185, 0.1816845, 0.03485249, -0.28249854, -0.37759346, -0.3225813, 0.021595621, 0.17104608, -0.0044055753, 0.01621266, -0.015169225, 0.08956203) * go_0(0.0, 1.0); + result += mat4(-0.033255238, -0.110517226, 0.10664505, 0.019566126, -0.0695305, 0.059743922, -0.19161415, -0.024217626, -0.08578889, -0.16358584, -0.23050265, -0.004697784, -0.060790297, 0.1174991, 0.08205285, -0.011846926) * go_0(1.0, -1.0); + result += mat4(0.6119327, 0.0791928, -0.118774265, 0.42233524, -0.16248553, -0.017692063, 0.13530938, -0.3207985, -0.147722, -0.24525681, 0.05243329, -0.38583818, 0.5147888, -0.072632834, -0.6014986, 0.26713687) * go_0(1.0, 0.0); + result += mat4(0.23735437, -0.032110002, 0.17445332, -0.3272264, 0.020623574, 0.26734766, -0.16806662, 0.0796467, -0.34921628, 0.016648084, -0.14200358, 0.59190625, 0.13177821, 0.11139572, -0.14972521, -0.16784541) * go_0(1.0, 1.0); + result += mat4(-0.047283772, -0.003196778, 0.44890094, 0.14619343, -0.17113213, -0.068454474, 0.07681565, -0.04306807, -0.0022641511, -0.20954822, 0.0344229, 0.014815744, -0.010632933, 0.13355999, -0.0860752, -0.069001146) * go_1(-1.0, -1.0); + result += mat4(0.11664345, 0.099102855, 0.1642523, 0.047408774, 0.038490184, 0.16064398, -0.08694127, -0.2149453, -0.1413128, -0.06531084, -0.10105762, 0.19743964, 0.10458527, -0.04133969, 0.1425028, -0.013283083) * go_1(-1.0, 0.0); + result += mat4(0.0138432095, -0.20053013, 0.079355195, 0.273772, 0.05484276, 0.13891658, 0.16240036, -0.25245088, 0.011192391, 0.104164094, 0.08112111, -0.250435, -0.0559613, -0.031029798, -0.015725998, 0.09240792) * go_1(-1.0, 1.0); + result += mat4(0.18754779, -0.33171803, 0.34917468, 0.29074225, -0.37954012, 0.20898043, -0.24973525, -0.13707505, -0.31585664, 0.13607393, -0.29118514, 0.015055187, 0.18549949, -0.06351915, 0.2823401, -0.00019733967) * go_1(0.0, -1.0); + result += mat4(0.10060476, 0.2883022, -0.15810104, -0.041112892, 0.31050095, 0.18517002, 0.020033397, -0.35919502, -0.17903808, -0.43506318, -0.14783014, 0.20092726, -0.002020754, 0.13320895, 0.040995706, 0.052643474) * go_1(0.0, 0.0); + result += mat4(-0.014892139, 0.005828587, 0.044784732, -0.27272886, 0.21069369, 0.044396695, -0.03411123, 0.031441864, 0.17224072, 0.1708587, -0.00729118, -0.13070418, -0.19128975, -0.09342688, -0.051133234, -0.089075714) * go_1(0.0, 1.0); + result += mat4(0.08799108, 0.04157696, -0.15010124, 0.26832178, -0.0040120087, 0.040308744, 0.17632529, -0.09464763, 0.07786305, 0.038288828, 0.40799135, 0.037377868, -0.049877923, -0.25080636, 0.00068664295, 0.0013101585) * go_1(1.0, -1.0); + result += mat4(0.0353459, -0.21445732, 0.112647906, -0.3513759, 0.16887255, 0.3224789, -0.17073384, 0.10875396, 0.18919177, 0.14288992, 0.07364533, 0.20205943, -0.34363645, -0.3520186, 0.6763608, -0.19051236) * go_1(1.0, 0.0); + result += mat4(-0.032245517, 0.039594565, -0.11825768, 0.16509856, 0.11749939, -0.005166539, 0.10740687, -0.3794017, 0.12722437, 0.14066173, 0.08025407, -0.34773758, -0.027300838, -0.08963159, 0.29774833, 0.053532287) * go_1(1.0, 1.0); + result += vec4(0.022899346, 0.033619333, 0.030674957, -0.017047008); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.0714004, -0.0545495, -0.050848898, 0.04724593, 0.2214181, 0.26353878, 0.07314053, -0.18771721, 0.06282607, -0.03720548, 0.020577375, -0.08951135, 0.40820515, 0.012179098, 0.52947706, -0.48448065) * go_0(-1.0, -1.0); + result += mat4(0.10311368, -0.10970221, 0.07008208, -0.07143153, 0.073753305, 0.03786335, -0.4312538, -0.17680745, -0.15527713, -0.06711554, -0.21828765, 0.27252844, -0.0025433605, 0.31595528, -0.06065309, 0.059542265) * go_0(-1.0, 0.0); + result += mat4(-0.036736265, 0.08704119, -0.06530063, 0.04546563, 0.010335546, -0.040761005, -0.021500558, 0.104531065, 0.094652064, -0.05088704, 0.14768088, -0.08585825, 0.057680476, 0.09885713, 0.18074304, -0.14277679) * go_0(-1.0, 1.0); + result += mat4(-0.04810641, -0.01735864, -0.06405213, 0.04889552, -0.011552542, -0.04617259, 0.023976233, 0.27587202, -0.117965676, -0.07052052, -0.030583147, -0.036600694, -0.08542387, -0.053850796, 0.27242282, -0.73792183) * go_0(0.0, -1.0); + result += mat4(-0.1340838, 0.1256252, -0.040528856, 0.13554344, -0.13733707, -0.14641404, 0.42666963, -0.4933124, -0.34908, 0.054332364, -0.2768947, 0.44689894, 0.42182985, -0.027279109, -0.17136064, -0.009496184) * go_0(0.0, 0.0); + result += mat4(0.075086355, -0.025501372, 0.02172236, -0.052761186, -0.055753034, -0.028023237, -0.08829973, 0.14333946, 0.062496934, 0.034493748, 0.17640088, -0.084869936, 0.21283653, 0.1184779, 0.0016387368, -0.14988145) * go_0(0.0, 1.0); + result += mat4(0.054841094, 0.040639404, -0.025044259, -0.071105786, -0.07473824, -0.04719771, 0.016553668, -0.10028357, 0.009365985, -0.0133521445, 0.022320358, -0.09318326, 0.17342545, 0.19281831, 0.16737404, -0.09583887) * go_0(1.0, -1.0); + result += mat4(-0.03950585, 0.091417804, -0.021395942, 0.08735149, -0.029363452, -0.04763804, -0.1430701, 0.15344201, -0.006604305, 0.05897304, -0.13595524, 0.083323576, 0.008187976, 0.12946083, 0.14983748, -0.08178542) * go_0(1.0, 0.0); + result += mat4(-0.00046765045, -0.07914878, 0.03529457, -0.007752294, -0.10084779, -0.1531338, -0.1408283, 0.20638838, 0.01466853, -0.059309185, -0.11161097, 0.08481583, 0.090416916, 0.081118226, 0.08677104, -0.20095336) * go_0(1.0, 1.0); + result += mat4(0.3200496, -0.049090706, 0.11554867, -0.11949655, -0.18064958, 0.0012254696, -0.032284267, 0.00076361356, -0.13239916, -0.13838826, -0.20345089, 0.00692921, -0.2271236, -0.07132879, -0.097703665, 0.29881954) * go_1(-1.0, -1.0); + result += mat4(0.4095371, 0.3008338, -0.43109173, -0.495734, 0.15016843, -0.3890023, 1.0669806, -0.20876339, -0.32241493, -0.10387533, -0.018227777, 0.1349976, -0.0019588785, -0.19263229, 0.38952798, 0.08135965) * go_1(-1.0, 0.0); + result += mat4(0.01517036, -0.51562387, -0.13939962, -0.23287989, 0.09597558, 0.017624658, 0.16989397, -0.09395267, -0.29612765, 0.11843327, -0.07493133, 0.14523852, 0.040488124, 0.016568637, 0.10204776, -0.13137013) * go_1(-1.0, 1.0); + result += mat4(-0.1512155, -0.12732185, 0.08002965, 0.024762904, 0.05106389, 0.011125884, -0.043196492, -0.17617282, 0.09791206, 0.120643355, 0.075500526, 0.10948051, 0.04969893, -0.20776172, -0.06905779, -0.20245977) * go_1(0.0, -1.0); + result += mat4(-0.41836104, -0.82896453, -0.20962712, 0.7804863, 0.17322528, 0.53994787, -0.18730208, -0.021233026, 0.7417944, -0.4544313, 0.23165174, -0.63969344, 0.09383021, -0.046137553, -0.07796646, 0.11413524) * go_1(0.0, 0.0); + result += mat4(-0.32532063, 0.09456587, 0.43708017, -0.40595353, 0.061229162, 0.006663704, -0.19821976, 0.07661682, -0.21427135, 0.17748164, -0.31958643, 0.3883502, 0.068938896, 0.022886515, 0.022923468, -0.04269318) * go_1(0.0, 1.0); + result += mat4(0.23775512, 0.04026384, 0.12276414, -0.2545085, 0.0894177, 0.115443565, 0.029124375, 0.08887401, -0.0057824687, 0.017655179, -0.025270017, -0.06643964, 0.01316084, 0.024039604, 0.034566984, -0.12682836) * go_1(1.0, -1.0); + result += mat4(0.036596492, 0.22772355, -0.05508538, -0.18005793, -0.06432669, -0.037058707, 0.2718052, -0.10313161, 0.016055575, 0.051271006, -0.038919963, -0.036601298, -0.019457681, 0.03805731, 0.03252896, -0.07179724) * go_1(1.0, 0.0); + result += mat4(0.15046261, 0.13090402, -0.023847125, -0.039356075, 0.045424663, -0.20594294, 0.2154043, -0.18429665, -0.07969159, 0.08719893, -0.057626463, 0.08344988, -0.018651528, 0.047302175, 0.060727824, -0.035960387) * go_1(1.0, 1.0); + result += vec4(0.04921464, -0.0011432811, 0.062071066, -0.06594219); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!SAVE conv2d_last_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.04508749, 0.00222134, 0.013338363, -0.0067310617, 0.099346675, 0.05804196, 0.018694466, -0.008126048, 0.007771997, -0.0072556734, -0.008293339, 0.001518462, -0.06296499, -0.064195156, 0.0727399, 0.044078834) * go_0(-1.0, -1.0); + result += mat4(0.20800652, -0.016071903, -0.08095607, -0.03472411, -0.20690396, 0.061331827, -0.10627648, 0.12838624, 0.036534917, -0.006113497, 0.029266752, -0.002263159, 0.2937966, -0.05544609, 0.14546311, -0.01290958) * go_0(-1.0, 0.0); + result += mat4(0.07792222, -7.288649e-05, 0.2800036, 0.019709835, -0.010950291, 0.021879988, 0.037608813, 0.055267945, 0.018646395, -0.016691998, 0.03787624, -0.006547077, 0.03214097, -0.018541625, 0.12142825, -0.070806496) * go_0(-1.0, 1.0); + result += mat4(-0.009798109, -0.06606263, 0.0010101331, 0.009924258, -0.10272075, -0.07983353, 0.028398676, 0.04967719, 0.12467993, 0.06775066, 0.017111637, 0.012814711, 0.0031143876, -0.0902014, 0.11242646, 0.076476306) * go_0(0.0, -1.0); + result += mat4(0.07650971, 0.35096344, 0.0612814, 0.06036218, 0.253547, -0.0460987, -0.11145313, -0.48844674, -0.050644107, 0.038706005, 0.19390784, 0.035322774, -0.010191005, 0.58071, -0.2856661, -0.009533105) * go_0(0.0, 0.0); + result += mat4(-0.071486905, -0.036179904, -0.07303894, 0.19301178, -0.11499898, -0.024847068, -0.0027055284, 0.20373714, -0.09671404, -0.020897992, -0.25572056, -0.008931707, -0.13582602, -0.006546881, -0.16154496, 0.26454738) * go_0(0.0, 1.0); + result += mat4(0.005463064, 0.006769753, 0.0039625713, 0.014121269, -0.068200685, -0.057850275, 0.008622973, 0.061149873, 0.017436448, 0.11660872, -0.02994459, 0.008590145, -0.03223439, 0.052557915, -0.011846354, 0.03523357) * go_0(1.0, -1.0); + result += mat4(-0.00015264735, 0.0012872831, 0.021878848, 0.022240406, 0.01822283, -0.008284247, -0.018443186, -0.04997753, -0.111760505, -0.20911667, 0.006166832, 0.14597091, 0.02305932, -0.16312876, 0.023375351, -0.028755601) * go_0(1.0, 0.0); + result += mat4(0.013701143, 0.010794129, 0.0024321147, -0.018976321, 0.0365032, -0.006783485, 0.01046472, -0.08473902, 0.057523903, 0.029831914, 0.0040916028, -0.2046352, 0.03542, -0.034598, 0.0031058635, -0.20746285) * go_0(1.0, 1.0); + result += mat4(0.09283864, -0.0035849356, 0.013190911, -0.035437535, 0.035798516, 0.022954805, -0.0029692063, -0.006633743, -0.13456796, -0.011448714, 0.011536131, 0.046695728, -0.0359048, -0.01144856, -0.0027279712, 0.0065755467) * go_1(-1.0, -1.0); + result += mat4(-0.14295974, -0.0034393691, 0.0051469817, -0.021334402, -0.05882422, -0.003004241, 0.011182507, 0.0015169785, 0.08474255, 0.1255887, -0.23984577, 0.07119401, -0.12547183, 0.038449038, 0.007738907, 0.031506266) * go_1(-1.0, 0.0); + result += mat4(-0.028237654, 0.010254326, -0.11843009, 0.03034298, -0.038323015, 0.0026470951, -0.060652684, 0.0022312272, -0.022539174, -0.01008126, 0.14868541, 0.02881852, -0.05327277, -0.012296453, -0.21280704, -0.021286633) * go_1(-1.0, 1.0); + result += mat4(-0.034825645, 0.0877418, -0.009103147, 0.041650586, 0.0135769, -0.005229229, 0.00082947424, -0.0020421906, 0.12402267, 0.007698874, -0.056337915, -0.006580138, -0.018867968, -0.08487179, -0.020938644, -0.029210499) * go_1(0.0, -1.0); + result += mat4(-0.37082648, -0.30321857, -0.22912364, -0.07368761, 0.15169628, 0.0013253551, 0.09232649, 0.011408914, 0.06347244, -0.377988, 0.13980117, -0.41065913, -0.00040237256, -0.23220152, -0.03643865, -0.10101427) * go_1(0.0, 0.0); + result += mat4(0.10692653, 0.049867555, -0.011915118, -0.10688069, 0.042109665, -0.017163716, 0.10852331, -0.0088934945, 0.06780516, -0.017808875, 0.26564032, 0.0523693, 0.099033475, 0.042864073, 0.18299587, -0.13503626) * go_1(0.0, 1.0); + result += mat4(0.07014404, 0.08841395, 0.01895322, 0.0036451078, -0.00933168, 0.044764042, -0.0034986525, 0.010701783, -0.043601245, -0.1375109, 0.0039965697, -0.054331, 0.018830067, 0.040386382, 0.007759782, -0.012478715) * go_1(1.0, -1.0); + result += mat4(0.024152381, -0.11462646, 0.07005155, 0.0424638, -0.0048070764, 0.06089261, -0.036675487, 0.057459857, 0.02478629, 0.2926517, -0.08248396, -0.053960845, 0.013205341, 0.09851673, -0.04310949, -0.001428641) * go_1(1.0, 0.0); + result += mat4(0.016168298, 0.009701502, 0.0064305146, -0.068672284, -0.044653386, -0.016051823, -0.015055443, 0.032019246, -0.0829852, -0.011304939, 0.0023902296, 0.30322486, -0.023831543, -0.0046928846, 0.026961725, 0.16314326) * go_1(1.0, 1.0); + result += vec4(-0.0031417734, -0.002754766, -0.004053268, -0.003937834); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(S)-Depth-to-Space +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_last_tf +//!SAVE MAIN +//!WIDTH conv2d_last_tf.w 2 * +//!HEIGHT conv2d_last_tf.h 2 * +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +vec4 hook() { + vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); + ivec2 i0 = ivec2(f0 * vec2(2.0)); + float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; + float c1 = c0; + float c2 = c1; + float c3 = c2; + return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_UL.glsl b/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_UL.glsl new file mode 100644 index 0000000..08c1996 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_UL.glsl @@ -0,0 +1,1702 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.21481565, -0.0914136, -0.067639425, -0.13521406, 0.14386347, -0.007917821, -0.0018606511, -0.07272963, 0.09651574, 0.09874618, 0.06434639, 0.1787858, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.06402414, -0.014693245, -0.25395226, 0.2960157, -0.12494867, 0.17711689, 0.31812787, -0.22346497, -0.1172598, -0.17087954, -0.031076867, -0.26865217, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.19254248, -0.049369957, 0.08171505, -0.12660322, 0.11544268, 0.15840095, -0.11473022, 0.144489, 0.07068809, 0.041438796, 0.10749463, -0.057156503, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.040826935, 0.0030781324, 0.094986334, -0.2573781, -0.11649985, 0.018165307, 0.039985053, -0.15652324, -0.014886749, -0.00988401, -0.15025067, -0.0031970344, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.15658751, 0.08227927, 0.23491348, 0.29900867, -0.45667845, 0.0438649, -0.39066258, 0.6590342, 0.009331404, 0.097770594, 0.21618316, 0.25005254, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.16455166, 0.013149855, 0.21515559, 0.03110101, -0.008973558, 0.33310282, -0.03276024, -0.3356557, 0.007899698, 0.295166, -0.73289853, 0.16696596, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.2691608, 0.09478436, 0.006536417, -0.04095308, -0.10942356, -0.0481289, -0.039660163, -0.20591366, -0.08013109, -0.052268907, 0.046878606, -0.024840442, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.17120434, -0.06828329, -0.23515487, 0.11830264, 0.67815524, -0.10693793, 0.2392081, -0.3192851, 0.06719006, -0.03441811, 0.020009553, -0.21328516, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.30072933, 0.0348702, 0.15155697, -0.15580897, -0.12755825, -0.57249874, -0.10091004, 0.22914392, -0.017671, -0.26088336, -0.00079997425, -0.022365946, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.0366252, 0.028346894, 0.033923555, 0.00025824012); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.042849753, -0.11642484, 0.073895186, 0.15186316, -0.024499241, 0.056690346, 0.05013788, -0.10182528, -0.024302427, 0.06578479, -0.028199008, -0.070577, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.040659044, 0.22913207, -0.1847038, -0.11781796, 0.044752445, 0.009552658, -0.11374249, 0.12798874, 0.056919675, -0.20839268, 0.11021251, 0.044297826, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.009999239, 0.1996945, -0.29797587, -0.4280957, -0.008521183, -0.10773894, 0.22186345, 0.254737, -0.003993275, -0.07186837, 0.16690473, 0.19043307, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.16174923, 0.26882383, 0.50559163, 0.38955548, 0.14091976, -0.15637094, -0.11826545, -0.23424837, 0.01674066, -0.08578336, -0.16907434, -0.19845173, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.10735882, -0.016069679, 0.42237386, -0.19937111, 0.07271503, 0.07596921, -0.24035113, 0.12406044, 0.059160866, -0.051063746, -0.36897844, 0.061272774, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.015712388, -0.34878746, -0.66418105, -0.35441992, -0.12208571, 0.042238027, 0.30143425, 0.3610614, -0.09538538, 0.25334427, 0.24629802, 0.030739667, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.0035519397, 0.07191882, -0.20775351, -0.15425798, 0.07919461, 0.07578178, 0.12668823, 0.0011835548, 0.03245292, -0.105801836, 0.24585879, 0.13730717, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.2415042, -0.16800308, 0.48690978, 0.75166744, 0.3876131, 0.038878918, -0.3293806, -0.47433355, 0.057803743, 0.09533431, -0.1342232, -0.2982094, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.18697992, -0.60250723, -0.11149202, -0.015566043, -0.57483697, 0.07203411, 0.050863862, -0.078300595, -0.09433572, 0.27099958, -0.03195694, 0.10535165, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.043337345, 0.16099554, -0.030338328, 0.0074565704); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf2 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.05112635, -0.09334158, -0.031148188, -0.041258592, -0.04633252, 0.022155467, 0.16979018, 0.06819186, 0.094320215, 0.02111737, -0.15604521, -0.15083192, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.10213034, 0.41852444, 0.32454407, -0.058512308, -0.054484565, -0.24399261, -0.26164648, -0.34274867, -0.06912002, 0.02257528, 0.2588075, 0.24375258, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.019957408, 0.06354756, 0.10109863, 0.16890836, 0.06791468, 0.1259216, 0.3096521, 0.07912831, -0.08293642, -0.16565439, -0.050881315, -0.0576009, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.19822149, 0.34747612, -0.20176221, 0.042434175, -0.029007072, -0.1637076, -0.09433387, 0.32732537, -0.12577844, -0.049755163, 0.091352955, 0.27023584, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.26348627, 0.52249527, -0.4091685, -0.41065818, 0.050318573, 0.06534145, -0.15470429, 0.52704567, 0.08808197, -0.37854514, -0.22827432, 0.1498618, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.0865881, -0.8053624, 0.088793345, -0.22072543, -0.0141816195, 0.0049849018, 0.21256319, -0.327414, 0.1364984, 0.4927693, 0.1848864, -0.18559869, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.11838837, 0.056446314, 0.08738398, 0.31899074, 0.056432292, -0.0008520313, 0.018734995, -0.33501405, -0.00918473, -0.040785775, 0.04093389, -0.19747448, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.66065794, -0.5208613, -0.018835181, 0.26112127, 0.055486765, 0.113573246, -0.05028873, 0.05364108, 0.040549137, 0.28754827, -0.16565348, -0.37204087, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.06361742, 0.00907182, 0.06848412, 0.0057870117, -0.05289465, 0.068106346, -0.15660144, -0.20288356, -0.093512855, -0.17268412, 0.030761726, 0.36189792, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.51499516, 0.026265146, 0.05636954, 0.03170462); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.028563375, 0.075096495, 0.054740135, -0.097906366, -0.26889417, 0.0982474, 0.0013334368, 0.10432092, 0.2450199, -0.12516013, 0.11230964, 0.01147953, 0.085179225, 0.117808536, -0.123295836, 0.1002614) * go_0(-1.0, -1.0); + result += mat4(0.19004358, 0.077133805, -0.42637873, -0.08600882, 0.041925456, -0.2716079, -0.1856413, 0.017397093, 0.037734076, 0.21233109, -0.2645201, 0.074807495, 0.047724582, -0.027935218, -0.003907437, -0.04731259) * go_0(-1.0, 0.0); + result += mat4(0.09745319, 0.22767977, 0.37006328, 0.05020985, 0.039997175, -0.029447127, 0.1779581, -0.01620031, -0.010955076, 0.13874966, -0.053154904, 0.020808663, -0.11724862, -0.20081818, 0.047436096, -0.08110093) * go_0(-1.0, 1.0); + result += mat4(0.18583415, -0.20435709, 0.01911209, -0.026401127, -0.12581685, 0.014082952, -0.2001187, -0.08042616, -0.10389668, -0.10207221, 0.04581297, -0.08704452, 0.09200634, -0.13755022, -0.007857635, 0.10011377) * go_0(0.0, -1.0); + result += mat4(0.21004692, 0.30619434, 0.10146727, -0.012386493, -0.093512, -0.22519337, 0.16826348, 0.14847179, -0.019215466, -0.18989901, 0.09468501, 0.26023552, -0.07841198, 0.23280892, 0.00941152, 0.16808987) * go_0(0.0, 0.0); + result += mat4(0.26988962, -0.022920275, -0.195991, 0.08438454, 0.12282865, -0.07083694, 0.07814293, -0.08369662, -0.05397518, 0.06164561, 0.070263356, -0.049779683, -0.12997615, -0.12259467, -0.29498726, -0.2244981) * go_0(0.0, 1.0); + result += mat4(0.22414525, -0.022969153, -0.063833915, -0.027190238, 0.13401125, 0.02098015, -0.22264218, -0.12177459, -0.12630488, 0.14246967, -0.06480293, -0.11353247, -0.12755829, -0.02848558, 0.006076032, 0.14054467) * go_0(1.0, -1.0); + result += mat4(0.13391276, 0.06295799, 0.31367007, -0.19527563, -0.040563866, 0.11965244, 0.27989656, -0.057327088, 0.035627916, -0.119488806, -0.24792899, 0.13612582, 0.029112214, -0.08201902, 0.17605872, -0.089963086) * go_0(1.0, 0.0); + result += mat4(-0.01927269, -0.034413125, -0.18000118, 0.042171028, 0.0791958, -0.1210223, -0.07674829, 0.02870783, 0.1884872, -0.012900881, 0.1311204, 0.06283302, 0.0027031084, -0.11157234, 0.06318397, -0.13527857) * go_0(1.0, 1.0); + result += mat4(0.1419255, -0.16276762, 0.00092816725, 0.0078547085, -0.48728654, -0.05630108, -0.33906484, 0.025995376, 0.07410779, -0.06377176, -0.038708985, -0.10480868, 0.096948944, -0.08378831, 0.08217461, 0.126169) * go_1(-1.0, -1.0); + result += mat4(-0.07488089, -0.2994524, 0.23773918, -0.034476187, 0.0592535, 0.29324362, -0.030512415, -0.17258315, 0.08022449, -0.17212203, 0.17636995, 0.06854101, -0.029770015, -0.10313743, 0.46230134, 0.026522856) * go_1(-1.0, 0.0); + result += mat4(-0.018750735, -0.032278806, -0.16665034, -0.05022533, 0.057606205, 0.13155009, 0.06575953, 0.10044875, -0.09888156, 0.263175, -0.3478382, -0.08823663, -0.081383094, -0.044876218, -0.47501948, -0.062558904) * go_1(-1.0, 1.0); + result += mat4(-0.105735146, 0.30434787, -0.04748756, 0.13275737, 0.3215866, -0.097894445, 0.027429244, -0.2778113, 0.07703074, 0.0012649142, -0.54314685, 0.17256977, 0.16500366, -0.0060054287, 0.17721342, -0.37938938) * go_1(0.0, -1.0); + result += mat4(0.14780188, 0.2596772, 0.31135467, -0.02797583, -0.015622625, -0.006320702, -0.08333076, -0.018904723, 0.1389364, 0.19142458, 0.6817067, -0.054837633, 0.21896258, 0.036575202, -0.9033377, -0.25137353) * go_1(0.0, 0.0); + result += mat4(-0.12165315, 0.18358506, -0.1983472, 0.08618611, -0.1101336, -0.02491273, 0.36231366, 0.24619159, 0.07281212, 0.35466114, 0.32505757, 0.022900501, -0.25818315, -0.49635252, 0.2928282, 0.057359587) * go_1(0.0, 1.0); + result += mat4(-0.23839255, 0.1707951, 0.09135314, 0.1034047, -0.034727763, -0.1243241, 0.118879616, 0.06359015, -0.12569816, -0.116403826, 0.13372615, -0.04866488, -0.070711434, 0.21472852, 0.098126635, 0.16186984) * go_1(1.0, -1.0); + result += mat4(-0.0020077212, -0.1095719, -0.20081437, 0.028084867, -0.1479706, -0.028820625, -0.09085524, 0.118761584, -0.15923466, -0.32149267, -0.50690764, 0.040582787, 0.039979883, 0.026478326, -0.040531024, -0.13908122) * go_1(1.0, 0.0); + result += mat4(-0.085969776, 0.18301825, 0.11408605, 0.025418868, 0.11126661, -0.044224992, -0.061021794, -0.015779478, 0.10210226, -0.19080523, -0.14473902, 0.14097509, 0.14796504, 0.14814787, 0.11975678, -0.039735712) * go_1(1.0, 1.0); + result += mat4(0.27801284, 0.20288002, -1.2655782, 0.32888517, -0.02334678, 0.18978934, 0.23810555, 0.0074393786, 0.08552408, -0.1274367, -0.086998045, -0.024746515, 0.102745675, -0.086740054, -0.038129628, -0.0651254) * go_2(-1.0, -1.0); + result += mat4(-1.190979, -0.19575417, -0.569518, -0.17817745, -0.059261408, 0.09253248, -0.27272785, 0.17687175, 0.12146025, -0.07960662, 0.15846346, -0.14022483, 0.007532498, -0.096234165, 0.2769003, -0.14700246) * go_2(-1.0, 0.0); + result += mat4(-0.042687517, 0.022726525, -1.078912, -0.6248177, 0.11832816, -0.1086772, 0.1261872, 0.16775566, -0.05851938, -0.0732127, -0.01822243, -0.009363452, 0.015375079, 0.036912445, 0.11969059, -0.07526642) * go_2(-1.0, 1.0); + result += mat4(0.31373152, 0.0693334, -0.07900261, 0.0070532965, -0.13916558, -0.08116685, -0.85886157, 0.18724924, 0.023858327, -0.2971659, -0.2337722, -0.17136115, 0.034164, 0.09053483, 0.28138685, -0.050052963) * go_2(0.0, -1.0); + result += mat4(0.69782144, -0.17773196, -1.8466626, -1.029225, -0.010800972, -0.0059786057, 0.7224214, 0.45541716, 0.09066342, -0.13732997, 0.009828377, 0.115971304, 0.13013129, 0.35331696, -0.633545, 0.23484547) * go_2(0.0, 0.0); + result += mat4(-0.24049048, 0.16627774, -0.020105539, -0.117568016, -0.0043368824, -0.20639539, 0.10247316, -0.037546206, 0.18750127, 0.12931745, -0.14076929, -0.08036072, 0.045171227, 0.19917291, -0.068400174, 0.17796516) * go_2(0.0, 1.0); + result += mat4(0.09404375, 0.049048338, 0.24326289, 0.17646226, -0.11654813, 0.2592855, 0.32776543, 0.4599728, -0.19997491, 0.11202324, 0.18054682, -0.005742288, -0.036823884, -0.042750888, 0.22441903, 0.038635597) * go_2(1.0, -1.0); + result += mat4(0.036728445, 0.08352167, 0.08909888, -0.02035385, 0.090846755, -0.14406498, -0.025689734, 0.057863228, -0.04390429, -0.25868183, 0.29578558, 0.30690736, -0.05475277, -0.10149075, -0.034297444, 0.10515887) * go_2(1.0, 0.0); + result += mat4(-0.062532455, -0.12673786, 0.16426907, -0.25397223, 0.051807977, 0.112844475, -0.496193, -0.2551257, 0.025220035, 0.15157217, -0.08517411, 0.07161397, -0.06691877, -0.13205263, -0.117163956, 0.065052904) * go_2(1.0, 1.0); + result += mat4(0.07364788, -0.05812666, -0.05958767, -0.027094465, 0.26366132, 0.07415391, 0.040515613, 0.039676376, -0.006552745, -0.012837193, -0.17393842, 0.02813939, -0.121285915, 0.0030941493, 0.16669592, -0.0712934) * go_3(-1.0, -1.0); + result += mat4(0.03629398, -0.3745122, 0.3940434, -0.06701516, 0.083452255, 0.03055438, 0.15637632, 0.0019212369, 0.019995827, -0.21137866, 0.2645297, -0.09081918, 0.025669578, -0.1560248, -0.10008925, -0.07828463) * go_3(-1.0, 0.0); + result += mat4(-0.053625695, -0.10420973, -0.35323003, -0.022054465, -0.08156209, 0.008921794, -0.15391788, -0.03960033, 0.017107122, -0.13479686, 0.068978906, -0.12981713, 0.025973944, -0.09934198, -0.022112468, 0.020573085) * go_3(-1.0, 1.0); + result += mat4(0.0018295953, 0.13670065, 0.004993195, 0.059238344, -0.13972434, -0.13108826, 0.1942548, 0.18194143, -0.12335718, 0.024078835, -0.13328132, 0.06978434, -0.0107950205, 0.14398722, -0.022609226, -0.0041353432) * go_3(0.0, -1.0); + result += mat4(0.27635157, 0.15513352, -0.12534688, 0.15107392, 0.22048512, -0.044253547, -0.1429736, -0.39647785, 0.029876633, 0.1842563, -0.06762048, -0.06029809, 0.07537981, -0.035769306, -0.0261646, -0.110136114) * go_3(0.0, 0.0); + result += mat4(-0.12261548, 0.22167495, 0.18503761, 0.02638229, -0.094690226, 0.061862398, -0.081829205, 0.15912767, 0.006990079, -0.010121606, -0.12535281, 0.024284743, 0.18360399, 0.16907142, 0.25744098, 0.24359013) * go_3(0.0, 1.0); + result += mat4(-0.14717774, -0.09528236, 0.054552622, 0.0036530807, -0.5273358, -0.03762757, 0.21280535, 0.25522852, 0.20926028, -0.022236722, 0.0377064, -0.07160359, 0.06345197, -0.046687063, 0.021401843, -0.14337662) * go_3(1.0, -1.0); + result += mat4(0.17630331, 0.06953194, -0.26126865, 0.029734965, 0.13158317, -0.11239223, -0.2805452, 0.106054045, -0.053220887, 0.09541345, 0.26539528, 0.15052572, 0.042701412, -0.025114734, -0.22815101, 0.06797245) * go_3(1.0, 0.0); + result += mat4(-0.11562362, 0.037828114, 0.15033676, 0.006264337, -0.049709305, 0.13406959, 0.055033628, -0.11243884, -0.18540126, 0.04862983, -0.13387235, -0.13529298, -0.096242204, 0.16761206, -0.032110162, 0.24142851) * go_3(1.0, 1.0); + result += mat4(-0.21116647, 0.058380276, 0.080453075, -0.2679615, -0.28600135, 0.042669408, 0.17540424, -0.14219923, 0.017092299, 0.05328859, 0.0065248194, 0.02395608, 0.05216899, 0.12829328, -0.116384834, -0.2828383) * go_4(-1.0, -1.0); + result += mat4(0.009241691, 0.10957236, -0.22526564, 0.2957556, -0.025253482, -0.08254481, 0.09223265, -0.051697835, -0.071490794, 0.094247855, -0.32692534, -0.12678702, 0.052934665, -0.050429285, -0.18388982, -0.039230555) * go_4(-1.0, 0.0); + result += mat4(-0.16137493, -0.04317478, 0.11681715, 0.16198912, -0.048432272, -0.22682366, -0.01725331, -0.04194597, 0.03203572, -0.16799524, 0.4784258, 0.086616606, 0.0017708768, -0.049688417, 0.064586475, -0.057059586) * go_4(-1.0, 1.0); + result += mat4(-0.11059055, 0.0029538488, 0.038545247, 0.066895224, 0.011218007, -0.003137218, 0.021355668, -0.168016, -0.0026601932, -0.14172328, 0.51700294, -0.33690482, -0.18839404, 0.07191177, -0.05362303, 0.20618927) * go_4(0.0, -1.0); + result += mat4(-0.24159928, -0.1053597, -0.28113043, 0.007160803, -0.0974629, 0.020222154, 0.050444435, -0.11046227, 0.24656764, -0.24290104, -0.53290504, 0.07402318, -0.015612266, 0.123455755, 0.018084416, -0.019945476) * go_4(0.0, 0.0); + result += mat4(0.09311286, -0.1032696, 0.19615465, 0.04846074, 0.029715529, 0.012683276, -0.38939312, -0.15030165, 0.0103463745, -0.3906085, -0.5047903, -0.1061866, 0.20654117, 0.32689643, 0.0086037805, -0.0681904) * go_4(0.0, 1.0); + result += mat4(0.18691367, -0.046374205, -0.05107187, -0.017465474, 0.11804314, 0.090009406, -0.075490244, 0.0036797172, -0.09327475, 0.18428694, -0.17598015, -0.076990046, 0.03992913, -0.116993815, -0.24077141, -0.48880583) * go_4(1.0, -1.0); + result += mat4(-0.0056006587, 0.104048744, 0.19665402, 0.0032775581, 0.15130368, 0.04196182, 0.050959308, 0.02474336, 0.036360126, 0.2724413, 0.35197738, 0.04588593, -0.24590112, -0.08575977, 0.18552561, 0.16555585) * go_4(1.0, 0.0); + result += mat4(0.09420384, -0.113198765, -0.13239664, 0.019001532, -0.0027163615, 0.078038216, 0.09880948, 0.15455763, -0.028529879, 0.20345445, 0.27439958, -0.094165966, -0.10702775, -0.18507981, -0.10240351, -0.02831745) * go_4(1.0, 1.0); + result += mat4(-0.05168434, 0.20330708, 0.10572813, 0.26246095, 0.021435333, -0.10574623, -0.1401922, 0.42713496, -0.030233249, 0.043342397, 0.11101976, 0.032030135, -0.12287885, 0.006734168, 0.024990475, -0.05208304) * go_5(-1.0, -1.0); + result += mat4(0.15237613, -0.15887943, -0.12718262, -0.06986501, 0.03136358, -0.0035889314, 0.2054987, -0.14852847, -0.22284113, -0.3410994, -0.2125513, 0.04496407, 0.094411716, -0.16842332, -0.25714603, 0.08910682) * go_5(-1.0, 0.0); + result += mat4(-0.19709085, -0.10590203, 0.07929334, 0.09949157, -0.0808941, 0.17018095, -0.09984616, -0.03477169, 0.11511119, 0.016829535, 0.05470175, 0.000366129, -0.07609101, -0.10981034, -0.14416353, -0.012299061) * go_5(-1.0, 1.0); + result += mat4(-0.12151653, -0.017303294, 0.055218883, 0.048941534, 0.1476368, 0.31801772, 0.68790305, 0.13284543, 0.11992122, -0.2362068, 0.20126005, 0.14724149, 0.01645638, 0.05896895, -0.30263412, 0.12367781) * go_5(0.0, -1.0); + result += mat4(0.19272023, 0.09102746, 0.31454524, -0.27032062, 0.2674956, 0.040032856, -0.670905, -0.12510742, -0.02879305, 0.34733048, 0.055205155, -0.22118829, 0.18704127, -0.27267426, 0.59989405, -0.14810604) * go_5(0.0, 0.0); + result += mat4(0.025540218, -0.07248532, -0.15664534, -0.19372375, 0.03556883, 0.03597721, -0.14901096, 0.27721658, -0.010668913, -0.29144233, 0.11746931, -0.13459797, 0.005971381, -0.08445966, 0.14954261, -0.11475002) * go_5(0.0, 1.0); + result += mat4(0.08029168, -0.061888658, -0.14104845, -0.06396443, 0.15312983, -0.2487142, -0.26357505, -0.049171742, 0.11320337, -0.055089038, -0.145923, -0.44234648, 0.03747512, 0.09540022, -0.20250735, 0.03820108) * go_5(1.0, -1.0); + result += mat4(-0.0191974, -0.05480732, -0.1930927, 0.01147343, -0.15684529, 0.28367257, -0.15252224, 0.45261058, 0.13849851, 0.08685002, -0.33513635, -0.14976694, 0.07475008, 0.01998271, 0.066315226, -0.13143158) * go_5(1.0, 0.0); + result += mat4(0.07728802, 0.14218356, 0.0850198, 0.09061631, -0.27746883, -0.18180014, 0.52573866, 0.19462089, 0.015337635, -0.3014013, 0.13493168, -0.055304635, 0.07148734, 0.10548237, 0.034149908, -0.12699014) * go_5(1.0, 1.0); + result += vec4(-0.117853574, 0.036960166, -0.0057268855, -0.032133963); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!SAVE conv2d_1_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.04775777, 0.08222661, 0.061593954, 0.12055235, 0.008962983, -0.009267361, -0.53843796, 0.16952439, 0.016025536, 0.10542892, -0.042894494, 0.057321973, -0.055204723, -0.06992498, -0.00064485346, 0.007825405) * go_0(-1.0, -1.0); + result += mat4(-0.09411942, -0.23469426, 0.35026586, -0.22138432, 0.045611277, -0.20210607, -0.24638987, 0.22675677, -0.14620386, 0.04001241, 0.06581148, -0.18093623, 0.08063868, 0.16085242, -0.28524494, -0.04407303) * go_0(-1.0, 0.0); + result += mat4(0.016880078, 0.10823597, -0.0856685, 0.1394186, -0.035895467, 0.13400109, 0.08679763, 0.11814033, 0.06898399, 0.01606696, 0.01784015, 0.006547478, -0.042100497, 0.039176684, -0.09559512, -0.19490835) * go_0(-1.0, 1.0); + result += mat4(-0.10115389, -0.11022993, -0.004623271, 0.12206448, -0.040075306, 0.013587107, -0.059400085, 0.18945488, -0.009945642, -0.4523725, 0.20760842, -0.3546684, 0.10930277, 0.14101993, 0.17574343, 0.005993813) * go_0(0.0, -1.0); + result += mat4(-0.31806734, 0.31059268, 0.0034255723, -0.23206042, 0.26745492, 0.19362858, 0.12183108, 0.29931548, 0.09186783, 0.4084161, 0.04199913, -0.23650031, -0.14427313, -0.036473513, 0.11935153, 0.113769025) * go_0(0.0, 0.0); + result += mat4(0.20892154, -0.08097856, -0.20722318, -0.18344022, -0.05412969, 0.16550343, 0.12085539, 0.10199144, 0.112941146, 0.08606901, -0.036151443, -0.036627453, -0.12987532, -0.28756067, -0.06838574, -0.23512506) * go_0(0.0, 1.0); + result += mat4(-0.052661214, -0.104233526, -0.08693217, -0.1819736, -0.052437317, -0.15960887, 0.056683555, -0.040860362, -0.13381086, 0.13378991, -0.073331766, 0.047169458, -0.0479799, -0.0043481477, 0.0048899767, 0.019455308) * go_0(1.0, -1.0); + result += mat4(-0.13005687, 0.11126603, 0.09237425, 0.07877169, -0.042795215, -0.0542181, -0.056731407, 0.08586777, 0.08175868, -0.019688416, -0.104517676, 0.16199689, 0.0044128234, 0.0475487, 0.12852396, 0.024199896) * go_0(1.0, 0.0); + result += mat4(0.16616863, -0.16998464, -0.19154428, -0.09432494, -0.037008844, -0.12210065, 0.0055908067, 0.010815051, 0.17710204, -0.12695597, -0.110427454, 0.13080561, 0.09322074, -0.0012365612, 0.026606066, -0.10843771) * go_0(1.0, 1.0); + result += mat4(-0.47415322, -0.07343328, -0.041209448, 0.08565837, -0.17691295, -0.26137534, 0.2907085, 0.0946057, -0.10768325, -0.10086646, 0.13768727, -0.1253546, 0.12256107, 0.092663676, 0.006136057, 0.10492505) * go_1(-1.0, -1.0); + result += mat4(-0.36130214, 0.31970572, 0.01609707, 0.12488642, 0.09801414, 0.18358822, 0.08739752, 0.031744014, -0.07303357, -0.06802441, -0.05988708, -0.26767713, 0.08153729, 0.24952291, 0.12436414, -0.0748625) * go_1(-1.0, 0.0); + result += mat4(-0.09533404, -0.14277202, 0.0020947633, 0.1547468, -0.009082152, 0.025103271, 0.032984417, -0.120028794, -0.045810502, -0.2012922, -0.02991531, -0.13404511, 0.08140658, 0.064424135, 0.104641765, 0.067367226) * go_1(-1.0, 1.0); + result += mat4(0.053343832, -0.16905542, -0.05830104, -0.106561475, -0.078095205, -0.054910798, 0.061377183, 0.1524315, -0.16384287, -0.019450802, 0.13370255, -0.05160498, 0.15796599, 0.17254125, -0.12769255, 0.15248339) * go_1(0.0, -1.0); + result += mat4(-0.050160643, 0.005053776, -0.031104388, 0.09726363, -0.07693938, 0.102812484, -0.0756477, -0.048515156, 0.29591817, 0.35934618, 0.23326933, -0.23171274, -0.30232304, -0.43113515, -0.14196996, 0.28424993) * go_1(0.0, 0.0); + result += mat4(-0.10621949, -0.4280808, -0.08031358, -0.15168424, 0.26016018, 0.3142917, -0.11831494, -0.09303453, 0.10852745, -0.24068268, -0.037653822, -0.104800984, 0.0067478805, 0.14183025, -0.02230052, 0.2649731) * go_1(0.0, 1.0); + result += mat4(0.028874233, 0.12075906, 0.059678186, -9.616167e-05, -0.11149614, 0.122945406, -0.0767243, -0.040111836, 0.0735182, 0.21608177, 0.07806742, 0.0202061, -0.04776724, -0.11418923, -0.07523717, -0.12865649) * go_1(1.0, -1.0); + result += mat4(0.13507326, 0.06364227, 0.09873092, 0.038835276, 0.053677257, -0.036088385, -0.09081554, 0.02088773, 0.12252468, 0.15228558, 0.20928514, 0.09626035, -0.092850804, 0.12056272, -0.12500086, 0.14586885) * go_1(1.0, 0.0); + result += mat4(0.05855229, 0.11076543, 0.0058000707, -0.05286595, 0.06674972, -0.1913259, -0.04221818, 0.02681795, 0.18707529, -0.014904326, -0.1690741, 0.010544146, -0.07513052, -0.010648717, 0.15841635, 0.017503424) * go_1(1.0, 1.0); + result += mat4(0.09306208, -0.6048318, -0.16323692, -0.26322865, -0.064382344, 0.27984452, 0.0035378935, -0.0036242867, -0.08108908, 0.03801275, 0.09272382, 0.04653927, -0.09639203, 0.15146226, -0.022994163, -0.023005866) * go_2(-1.0, -1.0); + result += mat4(0.03692586, -0.1367785, -0.051587723, 0.35746527, -0.05847086, -0.28233027, -0.31080168, 0.08979567, -0.057873387, -0.11724922, 0.11995725, -0.076051556, 0.12823316, 0.20808434, -0.07491586, -0.04471266) * go_2(-1.0, 0.0); + result += mat4(0.17172146, -0.05962528, 0.10311508, -0.083008684, 0.017513666, 0.22941439, 0.08524968, -0.10340499, 0.047763754, 0.044772595, -0.087630406, -0.03647204, -0.043207247, -0.063256174, 0.14618406, 0.016736707) * go_2(-1.0, 1.0); + result += mat4(0.014591894, -0.16730154, 0.019834492, -0.2323314, 0.2671534, -0.14437476, -0.10937011, -0.10888569, -0.16981846, -0.02661075, 0.011989267, 0.06811342, 0.084967375, 0.22203213, 0.05655957, -0.047086637) * go_2(0.0, -1.0); + result += mat4(-0.5673005, -0.54090023, 0.03939861, 0.008678989, -0.06290456, 0.2747319, -0.09248065, -0.06692429, -0.029515319, 0.08507081, -0.06997918, 0.16636486, 0.04376864, -0.606549, -0.16454232, 0.0572748) * go_2(0.0, 0.0); + result += mat4(-0.048000906, 0.3200884, -0.23506963, 0.15561248, -0.06658933, 0.18984286, 0.018985203, -0.018811712, 0.107549496, -0.24059664, 0.112164706, -0.14813146, 0.08943945, 0.030038312, 0.01712719, -0.06440537) * go_2(0.0, 1.0); + result += mat4(-0.04633894, 0.06511225, -0.006903819, 0.3651269, -0.05099921, 0.13553265, -0.07041649, 0.051354278, -0.026775079, 0.071171924, -0.10163997, 0.056618143, 0.121235944, 0.04077609, -0.006905747, 0.055543922) * go_2(1.0, -1.0); + result += mat4(-0.1529992, -0.07230882, 0.020437848, -0.15099072, 0.091357104, 0.10063594, 0.048747428, -0.07472622, 0.35976312, 0.110254094, -0.23728304, 0.32811522, 0.05135238, -0.124221064, 0.05848079, 0.0090888655) * go_2(1.0, 0.0); + result += mat4(0.10010241, -0.1336736, -0.0735869, 0.09731084, -0.23581249, -0.13519719, 0.2017027, 0.0660746, 0.073186494, 0.0008078537, 0.052478943, 0.031610224, 0.094252445, 0.14641911, -0.0314029, -0.070713595) * go_2(1.0, 1.0); + result += mat4(-0.001959657, -0.090372644, -0.1899317, -0.18170601, -0.015885344, -0.016746698, -0.17908786, 0.12600435, 0.13394068, -0.45021582, -0.059900366, -0.045920644, 0.0831188, 0.07898813, -0.058199428, 0.010207674) * go_3(-1.0, -1.0); + result += mat4(0.10158406, 0.34609744, -0.4304491, -0.039079092, -0.053127635, 0.32419643, 0.16021784, -0.02009982, 0.22342832, 0.25363946, -0.10637694, 0.084691174, 0.1643795, -0.11600526, 0.048834067, 0.007816396) * go_3(-1.0, 0.0); + result += mat4(-0.030290471, -0.12146855, -0.098269686, -0.14657338, 0.024690658, -0.059267156, -0.04505794, -0.0884074, -0.048493493, -0.07872248, 0.024751894, 0.021942955, 0.026951233, -0.05689244, 0.1141836, 0.086177684) * go_3(-1.0, 1.0); + result += mat4(-0.024428055, 0.1539053, 0.035455618, -0.11955061, -0.32286185, -0.046298236, -0.29223973, 0.3565024, 0.19302315, -0.35743472, -0.108984865, -0.041046027, -0.0797479, -0.11923923, -0.11282003, 0.048069157) * go_3(0.0, -1.0); + result += mat4(-0.0021274649, -0.24638395, -0.051017568, 0.07722604, -0.13842508, -0.14636074, -0.09374905, 0.08258244, -0.09629832, 0.16782042, 0.036874052, -0.0015951502, 0.036216017, 0.09414314, -0.066247694, -0.051199514) * go_3(0.0, 0.0); + result += mat4(-0.20425437, -0.08040027, -0.1613387, 0.06440151, 0.029663296, -0.20683208, -0.058772508, -0.0026178176, -0.15718235, -0.14013653, 0.005723365, 0.09514025, 0.07905292, 0.188446, 0.16387165, 0.1911544) * go_3(0.0, 1.0); + result += mat4(0.07689394, 0.18216269, -0.02506441, 0.21607292, 0.14311059, 0.06318058, -0.081483, 0.28077206, 0.03948571, 0.17749293, 0.04567801, -0.07832511, 0.057806063, -0.0427108, 0.06306852, 0.0066801202) * go_3(1.0, -1.0); + result += mat4(0.04399039, -0.07077558, -0.0015600047, -0.118459396, 0.060310606, 0.13951941, 0.2013669, -0.021006014, -0.15264805, 0.26732397, 0.035647463, -0.002574387, -0.065619715, -0.05531379, -0.048837233, -0.059936836) * go_3(1.0, 0.0); + result += mat4(-0.05266133, 0.1071349, -0.053710256, -0.016416542, 0.022659063, -0.029553248, 0.09507555, 0.028677419, -0.20630527, 0.0651505, 0.077009074, -0.096268155, -0.14078818, 0.032669708, -0.01846629, 0.028775593) * go_3(1.0, 1.0); + result += mat4(-0.30971712, 0.19178517, 0.10254193, -0.12659942, 0.17826228, -0.26435316, -0.16852173, 0.04514394, 0.08112456, 0.11184146, -0.028571317, -0.030222327, 0.026687294, 0.17175198, 0.017020982, 0.0100025395) * go_4(-1.0, -1.0); + result += mat4(-0.1281852, -0.13685723, 0.046906084, -0.09659713, -0.02647301, 0.08286363, -0.19404687, -0.019731732, 0.12224579, -0.20480815, 0.08022694, 0.024619367, -0.040805798, -0.06307641, 0.07815454, 0.007009711) * go_4(-1.0, 0.0); + result += mat4(-0.036796696, 0.118744195, 0.020730056, -0.12533775, 0.018716114, 0.0073301513, 0.036968995, 0.009758767, 0.124895856, 0.105648, 0.1285451, 0.14944635, -0.22190575, -0.13435498, -0.07461175, -0.055744182) * go_4(-1.0, 1.0); + result += mat4(-0.41541776, 0.20976903, 0.089350834, 0.26153743, 0.050798908, 0.14616759, -0.06876315, -0.095800444, 0.21727456, -0.0044885483, -0.14532812, -0.03674323, -0.263549, 0.021403335, 0.090946734, 0.13801022) * go_4(0.0, -1.0); + result += mat4(-0.20373783, 0.23166335, 0.12597165, -0.041975934, -0.10023279, -0.08657454, 0.16618101, 0.079674155, 0.018388273, -0.5596407, -0.04870662, -0.23710895, 0.18640874, 0.57623607, -0.02575096, 0.28287143) * go_4(0.0, 0.0); + result += mat4(0.1625267, 0.343577, -0.04365838, 0.052335635, -0.2559281, -0.27649525, 0.13431759, 0.03831019, -0.03469164, 0.12000331, 0.073944256, -0.0061821216, 0.012677158, -0.1627391, 0.06749103, -0.20975526) * go_4(0.0, 1.0); + result += mat4(-0.05379292, -0.10857011, 0.008266894, -0.012603182, 0.04662801, -0.070871636, 0.084626876, 0.16364849, -0.06294956, -0.06461058, -0.063480906, -0.044693593, 0.1537702, 0.079038486, 0.10722227, 0.16421016) * go_4(1.0, -1.0); + result += mat4(-0.13676143, -0.117330894, -0.03341758, 0.052417997, -0.069416024, -0.005539735, 0.027587742, -0.01569091, 0.031894185, 0.019352077, -0.14948286, -0.09691313, -0.10240472, -0.06529738, 0.20694919, 0.04939535) * go_4(1.0, 0.0); + result += mat4(-0.046459045, -0.2141496, -0.0023247367, 0.05856765, 0.0020768675, 0.19858378, 0.03415911, -0.021161001, -0.09474892, 0.09751605, 0.24057122, -0.085236825, 0.17543921, -0.09822015, -0.15396087, 0.024678698) * go_4(1.0, 1.0); + result += mat4(0.040772438, -0.025752101, -0.03428472, 0.061078012, -0.1637086, 0.019983971, -0.018367078, -0.08065508, -0.025617149, -0.041705422, -0.02537782, 0.103540875, 0.13783963, -0.056066163, 0.028678486, -0.025464006) * go_5(-1.0, -1.0); + result += mat4(0.16858733, -0.4178858, -0.30253845, -0.11040479, 0.0029255438, 0.44697702, 0.03196007, -0.02552841, 0.126962, -0.009455916, -0.04901387, 0.04048729, -0.07694209, -0.21343406, 0.02947534, -0.11690606) * go_5(-1.0, 0.0); + result += mat4(-0.15951762, 0.34968317, 0.08819681, 0.15680845, -0.072727524, -0.26647118, -0.253673, 0.058939222, 0.05429744, 0.003959121, 0.051335268, -0.030295422, -0.0600908, 0.030300785, -0.13709414, -0.050647613) * go_5(-1.0, 1.0); + result += mat4(0.031981096, 0.056341853, 0.006849355, 0.10382841, -0.2824565, 0.4246147, -0.057729505, 0.058494158, 0.39074966, -0.017238816, -0.15450741, 0.087315544, -0.1110259, -0.1719534, -0.053078342, 0.009343979) * go_5(0.0, -1.0); + result += mat4(-0.041215084, 0.2654432, 0.1962931, 0.16274457, -0.08469727, -0.28789485, 0.05036308, -0.085442595, 0.12922712, -0.20311458, 0.38513032, -0.067850955, -0.025917724, 0.5953373, 0.12789808, 0.04950751) * go_5(0.0, 0.0); + result += mat4(-0.08700668, -0.2649261, -0.095573485, -0.07602774, 0.04200743, -0.23400396, -0.186786, -0.123978846, 0.022072228, 0.18627988, -0.0038654353, 0.18318067, 0.034251608, -0.008562812, -0.035015855, -0.043611784) * go_5(0.0, 1.0); + result += mat4(0.10827922, -0.03552119, 0.06193929, -0.18593708, 0.047373053, -0.2638056, 0.10326646, -0.040205717, 0.24228886, -0.0551458, 0.15253973, -0.215037, -0.07719752, -0.09540623, 0.028147982, -0.06663598) * go_5(1.0, -1.0); + result += mat4(0.033009805, -0.044830184, 0.050585333, 0.07272593, -0.057132445, -0.30405456, -0.14489187, 0.015766555, -0.096756496, -0.13879722, 0.16658057, -0.0430357, -0.06502151, 0.05498304, -0.10471709, 0.10994919) * go_5(1.0, 0.0); + result += mat4(-0.07091344, -0.01140124, -0.020643137, -0.067839414, -0.019193463, 0.07130566, -0.024614796, -0.09281402, -0.14832619, 0.18952662, 0.14351283, 0.11984917, 0.0012140581, -0.18912585, 0.07516603, -0.049291328) * go_5(1.0, 1.0); + result += vec4(0.06651301, -0.00047524707, 0.04855725, -0.15500803); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!SAVE conv2d_1_tf2 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.046912298, 0.12213301, -0.05918361, 0.052398715, 0.117780685, -0.19340032, -0.26262107, 0.09843582, 0.16532594, 0.034989428, 0.118674256, -0.01665863, 0.01827071, 0.04668548, 0.022670027, -0.06799) * go_0(-1.0, -1.0); + result += mat4(-0.40916896, 0.3377319, 0.029743252, 0.11290685, -0.07931422, -0.28883788, 0.3388208, -0.14807604, -0.33062622, 0.07752993, 0.049297906, -0.05600763, -0.14054057, 0.023377405, -0.0025995467, -0.14438824) * go_0(-1.0, 0.0); + result += mat4(0.07433483, -0.20579776, 0.03441041, -0.039957307, 0.04162799, 0.07110215, -0.0790704, 0.08862456, 0.01354682, 0.008087094, -0.07781531, -0.0068795225, -0.27620977, 0.09188319, -0.0017635573, -0.057698507) * go_0(-1.0, 1.0); + result += mat4(-0.18007079, 0.061591875, -0.06492421, 0.039863963, 0.09325244, -0.14426552, -0.13588732, 0.004743928, 0.12880403, 0.115125105, -0.01579009, -0.1262388, 0.23080756, 0.12070204, 0.11815605, -0.29426062) * go_0(0.0, -1.0); + result += mat4(0.1900564, 0.0071030534, 0.15973419, -0.30519736, -0.25476542, 0.0012610232, 0.09859447, -0.027793204, 0.11796082, 0.22148512, -0.02944728, -0.2323803, -0.072938465, 0.17895398, -0.2180017, 0.00051390607) * go_0(0.0, 0.0); + result += mat4(0.14343776, -0.18127762, -0.1516819, -0.18503034, 0.13295251, 0.16055906, 0.001688556, 0.15969595, 0.069709465, -0.096013926, -0.0023911218, -0.06369028, -0.0918679, 0.010184961, 0.32301244, -0.5343658) * go_0(0.0, 1.0); + result += mat4(-0.22987153, 0.013441173, -0.0016071151, 0.04102444, 0.23534702, 0.035319816, 0.0796226, 0.030342614, 0.111898474, 0.16501214, 0.06689771, 0.115711525, -0.12146473, 0.09451704, 0.019306619, 0.047459804) * go_0(1.0, -1.0); + result += mat4(0.09487664, -0.1618273, -0.008389976, -0.19419155, -0.26922193, -0.02975308, -0.0045531704, 0.05960872, -0.0601089, -0.14437221, 0.04238319, 0.15810688, -0.13148667, -0.15829994, -0.088278085, -0.21758209) * go_0(1.0, 0.0); + result += mat4(-0.14536136, -0.07484773, 0.037670642, 0.1888735, 0.0018068363, -0.059262045, -0.018976264, 0.027972398, -0.14075996, -0.109049946, -0.25289303, -0.016418003, -0.06421179, -0.15405136, -0.13614438, -0.20679462) * go_0(1.0, 1.0); + result += mat4(-0.24795865, -0.13466923, 0.1273892, 0.091988094, 0.22714299, 0.28389248, 0.10408641, -0.03565174, 0.10762112, 0.27623466, 0.025095293, -0.019155044, 0.022266177, -0.103916764, 0.02987535, -0.08026279) * go_1(-1.0, -1.0); + result += mat4(-0.10837975, -0.21041337, 0.38324556, 0.34692577, -0.049697887, 0.1109414, 0.015196173, -0.13062784, -0.110540874, 0.085793406, 0.12470218, -0.034204576, 0.15388155, -0.10489124, -0.014710256, -0.024052056) * go_1(-1.0, 0.0); + result += mat4(0.14277099, -0.08891012, 0.12166876, 0.005790089, 0.0022349167, -0.06719074, 0.0009688607, -0.06891284, -0.10870797, 0.031759914, 0.07620448, 0.025514454, 0.07622103, -0.017910544, -0.1925603, -0.020678718) * go_1(-1.0, 1.0); + result += mat4(0.3488881, -0.3531885, -0.02848998, -0.105604745, 0.13216074, 0.059472002, 0.00468112, -0.003199541, -0.13952927, 0.12537865, 0.059789866, 0.047229134, 0.062295817, -0.20364402, -0.10756547, 0.010344998) * go_1(0.0, -1.0); + result += mat4(0.054537307, 0.003383981, -0.14703383, 0.23609836, 0.071702175, -0.03523012, -0.15024048, -0.15333411, -0.006573282, -0.17805523, 0.027630433, -0.10086782, -0.038341325, 0.16954458, -0.06587281, 0.061757658) * go_1(0.0, 0.0); + result += mat4(-0.14850424, -0.039801933, 0.091273226, 0.01890946, -0.074723765, -0.19870473, -0.10696538, 0.075856574, 0.18456846, -0.0575884, -0.19248867, 0.23468357, -0.06493671, 0.24994756, 0.2669619, -0.09178425) * go_1(0.0, 1.0); + result += mat4(0.05370938, -0.17381185, -0.06286066, -0.1121635, -0.124206446, 0.08903896, 0.01332919, 0.033238333, 0.10354104, 0.05441239, 0.093867265, -0.09941308, -0.13401549, -0.051170647, -0.05475329, 0.18579331) * go_1(1.0, -1.0); + result += mat4(0.17690988, 0.09592665, 0.0041792435, -0.012296416, -0.043736733, -0.19874738, -0.039244816, 0.093517475, 0.19160083, 0.0072470056, 0.20383999, -0.1518599, -0.056091193, -0.08362639, -0.13275301, 0.27358964) * go_1(1.0, 0.0); + result += mat4(0.03788787, 0.0504576, 0.011746947, -0.050620113, -0.13353047, 0.027618041, -0.015241799, 0.07525403, -0.016854452, -0.15185213, -0.23187985, 0.07745663, 0.019076057, 0.10091556, 0.22063738, -0.19460426) * go_1(1.0, 1.0); + result += mat4(0.4485975, -0.036630977, 0.08908842, -0.041333213, -0.33832982, -0.013137168, -0.12192155, 0.084681444, 0.05839531, 0.13613869, 0.01453744, -0.0015414358, 0.0554445, -0.0350119, 0.06942154, -0.09860217) * go_2(-1.0, -1.0); + result += mat4(-0.6445962, -0.04228771, 0.018886134, 0.19037853, 0.18697917, 0.08801122, 0.023849122, 0.00056543655, -0.1744559, -0.039909426, -0.015196202, 0.09911629, -0.19838926, -0.20182554, 0.030066699, -0.061113726) * go_2(-1.0, 0.0); + result += mat4(-0.28461948, -0.08841962, -0.03426622, 0.22100773, 0.10822605, 0.097787164, -0.035841815, 0.05503456, -0.038095083, -0.033080425, 0.059760638, -0.04379428, 0.016105307, 0.0015185064, -0.021058328, 0.07868167) * go_2(-1.0, 1.0); + result += mat4(-0.09884352, 0.226838, 0.0069547887, -0.31872275, 0.051640913, -0.103925325, -0.033120554, -0.19772157, -0.33196652, 0.10513085, 0.008538118, -0.0693001, 0.3184994, -0.073985405, 0.0021704638, -0.20955746) * go_2(0.0, -1.0); + result += mat4(0.09394457, -0.37714124, -0.45972842, 0.11636775, 0.15764596, 0.14252996, -0.16795024, 0.04769986, 0.31756726, -0.0994127, 0.36237487, -0.12276988, 0.062678345, 0.11386392, -0.18050511, -0.029450653) * go_2(0.0, 0.0); + result += mat4(0.10891149, 0.23599482, 0.19260155, -0.01750993, -0.04561139, 0.040145233, 0.11951016, 0.008283346, -0.060648404, -0.1730897, -0.011636677, -0.2882733, 0.03563051, 0.15347542, -0.21334615, 0.17908043) * go_2(0.0, 1.0); + result += mat4(-0.04223735, -0.106301874, 0.101336, 0.047846835, -0.1828391, -0.1129037, -0.034007143, 0.106865816, 0.05654089, -0.02757468, -0.012872868, 0.07485427, 0.086521536, -0.009762037, 0.08281756, -0.015632132) * go_2(1.0, -1.0); + result += mat4(-0.2240338, 0.031013511, -0.09923691, -0.0038778447, -0.058668714, -0.01593757, 0.05261272, -0.016138611, -0.0143839605, 0.023330573, 0.024790224, 0.09925016, -0.08682536, 0.11822586, -0.055234805, -0.32288945) * go_2(1.0, 0.0); + result += mat4(0.27888787, -0.0025142857, -0.17712368, -0.067581266, 0.10133261, 0.1115825, 0.015883798, -0.24481313, -0.10126581, 0.06092374, -0.0786993, 0.16768995, 0.053283595, 0.08446579, -0.032040086, 0.046178747) * go_2(1.0, 1.0); + result += mat4(-0.04943332, -0.027568894, -0.017933179, -0.13208579, 0.16813855, -0.06046279, 0.03472982, 0.24612981, -0.03915912, -0.120075725, -0.08060205, 0.106469646, 0.103227176, 0.000895164, -0.028227922, -0.059619144) * go_3(-1.0, -1.0); + result += mat4(0.10014512, -0.11341153, 0.0827132, -0.10706114, 0.076696716, 0.383278, -0.08201294, 0.14486443, 0.036368996, -0.07771363, 0.008495598, 0.0022753903, -0.13788359, -0.038493663, -0.051340178, 0.06483918) * go_3(-1.0, 0.0); + result += mat4(0.12283316, 0.22500943, -0.20364822, 0.117888406, 0.052540295, -0.016513767, -0.008835836, -0.008336872, 0.008117048, -0.014924188, 0.070445575, -0.011796183, 0.120677724, -0.08490536, -0.040835287, 0.021124307) * go_3(-1.0, 1.0); + result += mat4(0.07237057, -0.07651541, -0.07781679, -0.046119276, -0.29511476, -0.15473935, 0.12942854, -0.037749447, 0.055873062, 0.081330314, -0.115750924, -0.1830763, -0.35462645, -0.11207306, -0.14393376, 0.18869524) * go_3(0.0, -1.0); + result += mat4(-0.05859993, 0.09575829, -0.10934191, 0.1593984, 0.014064624, 0.23580766, -0.12417294, -0.0774491, -0.23603149, -0.17111291, 0.20246223, 0.24380091, 0.3189054, -0.21762544, 0.053053148, -0.057418585) * go_3(0.0, 0.0); + result += mat4(0.056782614, 0.2491224, 0.15162024, 0.25830385, -0.045144927, -0.067923054, -0.12930688, -0.049425337, 0.0071653076, 0.046733644, -0.013108831, 0.09266598, 0.095575206, 0.08086839, -0.14152451, 0.26396653) * go_3(0.0, 1.0); + result += mat4(0.079944104, -0.05263471, 0.021151286, 0.017748618, -0.20886436, -0.06915706, -0.078341156, -0.034786303, 0.053623807, -0.0655836, -0.11273695, -0.15438432, 0.06902305, 0.01620085, -0.011239084, -0.12818597) * go_3(1.0, -1.0); + result += mat4(0.0032226495, 0.12590717, -0.0031638641, 0.14866307, 0.21612068, 0.07715579, -0.105438486, -0.17400137, 0.04665547, 0.18666393, -0.127797, -0.19163142, -0.03993708, 0.16110541, 0.05756885, 0.13376385) * go_3(1.0, 0.0); + result += mat4(0.1687002, 0.021816095, -0.038648866, -0.052668236, 0.01839634, 0.07918797, -0.002949174, -0.062981784, 0.10759527, 0.096810766, 0.26538077, 0.042877536, 0.030417666, 0.2126483, 0.090904295, 0.12819949) * go_3(1.0, 1.0); + result += mat4(0.2518047, -0.06681589, 0.04622388, -0.070787035, -0.15511023, -0.41387925, -0.1730613, 0.044104673, -0.07129825, -0.16490258, -0.008386942, 0.016624527, -0.08768237, -0.018135691, -0.010196062, -0.012061386) * go_4(-1.0, -1.0); + result += mat4(-0.001268586, 0.061798558, 0.21913844, -0.044886224, 0.05442666, -0.16555135, 0.11374653, 0.035642505, 0.18183587, 0.08264069, -0.12153259, 0.11140945, -0.23343492, -0.11151265, 0.0064260047, 0.098349355) * go_4(-1.0, 0.0); + result += mat4(-0.13696936, 0.03562409, -0.0101959305, 0.07757505, 0.0394099, 0.08446535, 0.005326397, 0.06953561, 0.26667434, 0.070835635, -0.013025369, -0.09135739, -0.19930726, -0.15466705, 0.068868525, 0.06432818) * go_4(-1.0, 1.0); + result += mat4(-0.03636396, 0.082273535, 0.14712979, 0.00055138784, -0.29863998, -0.1502358, -0.10165026, -0.031016732, 0.017641982, -0.18515474, -0.13060197, -0.037918076, 0.0948058, 0.12216852, 0.1061389, 0.0049280017) * go_4(0.0, -1.0); + result += mat4(0.0772463, -0.16946481, 0.43130034, -0.07500874, 0.11102152, -0.16219406, 0.095144905, 0.09938664, -0.103036284, 0.17237557, 0.03153515, 0.17011715, 0.04090995, -0.19434042, 0.034989282, -0.10372025) * go_4(0.0, 0.0); + result += mat4(0.17383884, 0.00505153, -0.112281226, -0.034794528, 0.067649566, 0.20247048, 0.11118917, -0.10395416, -0.21711119, 0.032752357, 0.41753212, -0.16500826, 0.2285505, -0.10731952, -0.33513266, 0.17423174) * go_4(0.0, 1.0); + result += mat4(0.13510819, 0.05318901, 0.06842423, 0.111380026, 0.032170407, -0.07004064, -0.004727209, -0.055246145, -0.041120853, -0.066667765, -0.12091067, 0.064465545, 0.30983046, 0.062509745, 0.13394639, -0.2320897) * go_4(1.0, -1.0); + result += mat4(-0.11820305, -0.13822947, 0.042539548, -0.033613026, -0.0246929, 0.22179885, -0.0126101235, -0.12915117, -0.13849965, 0.02132361, -0.08306424, 0.25891247, 0.18283567, 0.031577725, 0.09138907, -0.26405686) * go_4(1.0, 0.0); + result += mat4(-0.0025576213, -0.0058528413, -0.03972553, 0.016412497, 0.13415, 0.11366292, 0.06300578, -0.082534134, 0.035222337, 0.14385511, 0.34487328, -0.069680765, 0.06340447, -0.05378387, -0.27624515, 0.14444257) * go_4(1.0, 1.0); + result += mat4(0.015041839, -0.05496326, -0.077136815, 0.06463054, 0.3453119, 0.1475871, 0.0863952, -0.13123451, 0.13890652, -0.1339041, -0.070329, 0.0090441145, -0.10499933, -0.031464122, -0.087687746, 0.14039505) * go_5(-1.0, -1.0); + result += mat4(0.03533054, -0.17344387, 0.07036492, -0.14549953, -0.17900857, 0.13214236, -0.06371722, 0.08584117, 0.124349214, -0.05172205, 0.0056213615, 0.0025381348, -0.07292916, 0.15549947, -0.12606966, 0.008277057) * go_5(-1.0, 0.0); + result += mat4(0.088395566, 0.16676022, -0.014194714, 0.15820222, -0.12253527, 0.008114694, 0.04552204, -0.0402224, -0.044774655, 0.00047680718, -0.061174177, 0.004499639, 0.0028164221, 0.021954915, 0.007457284, -0.016612154) * go_5(-1.0, 1.0); + result += mat4(0.07245913, -0.12444683, 0.08628018, -0.013259242, -0.00566908, 0.23597822, 0.030804869, 0.1812487, -0.28520152, -0.12640676, -0.014197547, 0.17321649, -0.3233707, 0.015355323, -0.04023063, 0.134901) * go_5(0.0, -1.0); + result += mat4(-0.008877037, 0.11245896, 0.013970579, -0.010476636, 0.046391398, -0.040462412, 0.43888882, -0.0028177807, 0.11008175, 0.22642863, -0.1705455, 0.25688764, -0.00687498, -0.0091281, 0.29534963, -0.023319326) * go_5(0.0, 0.0); + result += mat4(-0.08283213, -0.2042435, -0.117713675, -0.11703066, -0.16029139, -0.26878926, -0.30223095, 0.052414846, 0.019514319, 0.16193534, 0.053438045, 0.13924578, 0.120410524, -0.07575857, 0.19710456, -0.103417814) * go_5(0.0, 1.0); + result += mat4(-0.07692482, 0.034123767, -0.039485577, -0.11130344, 0.18672933, 0.07824195, 0.084815666, -0.1272111, -0.02006524, 0.20917512, -0.01049663, -0.15457591, -0.008278168, 0.08425196, -0.028542537, 0.021139478) * go_5(1.0, -1.0); + result += mat4(0.1287116, 0.08821239, 0.016782869, -0.042757493, -0.06598697, 0.0057867267, 0.0031201676, -0.09951182, -0.17255504, 0.037690736, 0.22092989, -0.14002815, -0.021178395, -0.05137917, -0.0183439, 0.12713785) * go_5(1.0, 0.0); + result += mat4(-0.12517771, 0.001307841, 0.102680914, -0.076987654, -0.063097425, -0.0044313464, -0.15392491, 0.18540211, 0.037581213, 0.0076559735, 0.064688995, -0.09571449, -0.079910435, 0.02357281, 0.102179624, 0.0054658144) * go_5(1.0, 1.0); + result += vec4(-0.062370587, 0.08095664, -0.05361836, 0.18749565); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_1_tf2 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.06917031, -0.09608972, 0.012436778, -0.026526913, 0.06718373, 0.057737235, 0.05510206, -0.103320934, 0.032443568, 0.05391639, -0.051994696, -0.036722053, 0.07307222, 0.030999443, 0.28896815, 0.12696978) * go_0(-1.0, -1.0); + result += mat4(-0.1135206, -0.0036884204, -0.067575626, -0.183155, 0.06799192, -0.040569484, 0.013326, -0.09218988, 0.027661508, 0.026157893, 0.07750759, 0.022186747, 0.034232542, -0.0006357425, -0.22527017, 0.09684553) * go_0(-1.0, 0.0); + result += mat4(-0.02058118, -0.09091551, -0.020349659, 0.026089376, -0.0035277302, -0.025624726, 0.069313295, -0.0885836, 0.03267256, 0.0021243643, -0.02949528, -0.015609551, -0.014725211, -0.067495994, -0.013350565, -0.02226788) * go_0(-1.0, 1.0); + result += mat4(-0.037397973, 0.031443134, 0.13686793, 0.033780698, -0.037809733, 0.14600267, -0.08467033, -0.062086526, -0.0037683318, -0.0025683658, -0.018997764, -0.032396015, 0.0760254, -0.06528604, 0.19034758, 0.25288334) * go_0(0.0, -1.0); + result += mat4(-0.01004077, 0.16253367, 0.02167237, -0.15804967, -0.07540531, -0.49940315, -0.08783108, -0.014712835, -0.0036181745, -0.13094778, 0.00012775385, -0.07735516, 0.00239906, 0.09345624, -0.44146279, 0.079626575) * go_0(0.0, 0.0); + result += mat4(0.018002989, 0.024756921, 0.08182335, -0.083457224, 0.033952054, 0.049469676, 0.06050263, -0.069849506, 0.0052918023, 0.06281211, 0.029289972, -0.033092137, -0.036357265, -0.10439873, 0.0023779173, 0.07888209) * go_0(0.0, 1.0); + result += mat4(-0.01730506, -0.022740714, 0.021063361, 0.082628556, -0.024639448, 0.023705823, -0.092249826, -0.0768989, -0.014783317, 0.0063639064, 0.0041929237, -0.015559529, 0.020817379, 0.065355465, -0.002106009, 0.04489612) * go_0(1.0, -1.0); + result += mat4(0.15640244, -0.016673775, 0.14370853, 0.0632943, -0.38425842, 0.106750414, 0.024923261, -0.31814602, -0.06830921, 0.028625946, 0.13381885, -0.022478523, -0.045712356, -0.045846578, -0.18020678, 0.09754457) * go_0(1.0, 0.0); + result += mat4(-0.08042041, -0.0629804, 0.00179941, 0.031233454, -0.031198358, 0.07125946, 0.13403404, -0.14895652, -0.007848355, 0.0073721707, 0.09500398, 0.008454506, 0.13026032, -0.067450196, -0.005805801, 0.028892282) * go_0(1.0, 1.0); + result += mat4(-0.08412081, 0.014766277, -0.020149631, 0.118712135, -0.04914816, -0.05792105, 0.29227188, 0.026034147, 0.1120047, 0.095002666, 0.00085259863, -0.048058935, 0.059555218, 0.016806047, -0.040286265, -0.013871916) * go_1(-1.0, -1.0); + result += mat4(-0.029837646, -0.12694171, -0.091747016, 0.06701937, 0.03595908, -0.06499107, 0.07718667, 0.16839191, 0.060453057, -0.062339257, 0.06462464, -0.12997168, -0.012287718, 0.021051696, 0.036752645, -0.012775891) * go_1(-1.0, 0.0); + result += mat4(0.020795425, 0.05475492, -0.05951276, -0.089259975, -0.016781978, -0.018492289, 0.037464686, 0.022631813, 0.04591149, -0.028302602, 0.021350577, -0.0019535497, 0.05372676, 0.0542445, -0.12681359, -0.16613637) * go_1(-1.0, 1.0); + result += mat4(-0.06331373, 0.08271697, 0.0863126, -0.12388494, 0.032725193, -0.056309905, 0.23224412, 0.2616971, 0.09393073, 0.117842734, 0.24552049, 0.022186337, -0.100860044, 0.08032638, 0.08049447, -0.09940537) * go_1(0.0, -1.0); + result += mat4(0.3909181, -0.07477156, -0.36466175, -0.17175487, -0.055392284, 0.23718156, -0.34149098, -0.3924147, 0.07390285, -0.028201863, -0.2988869, -0.059178505, -0.035545774, -0.049048856, -0.18053558, -0.15981394) * go_1(0.0, 0.0); + result += mat4(0.12357816, 0.016537879, 0.08740827, -0.16022646, 0.03273305, -0.0133974645, -0.089761056, 0.044843633, -0.08129866, 0.06891703, 0.0075367647, -0.037070137, -0.12439461, -0.0033269753, -0.06834715, 0.08675626) * go_1(0.0, 1.0); + result += mat4(0.0064779734, 0.014426835, 0.035886277, 0.06754253, 0.02203813, -0.04712386, 0.023021698, 0.16410176, -0.0851561, 0.04949104, 0.23652297, -0.09268624, -0.04759872, 0.0015944376, 0.05121314, 0.03872179) * go_1(1.0, -1.0); + result += mat4(-0.03296315, -0.07756158, 0.011254165, 0.07215864, 0.05212682, -0.119309366, -0.10098557, 0.065113194, -0.6075043, 0.0944948, -0.0025391292, 0.07257945, -0.059234653, -0.02663308, -0.0056367065, 0.07748455) * go_1(1.0, 0.0); + result += mat4(0.1963255, -0.094376676, 0.077393346, -0.061023213, -0.023002017, 0.011871082, -0.035235405, -0.14450419, -0.010873058, -0.10108094, -0.026334947, -0.048716616, 0.15553881, -0.056554224, 0.07016727, 0.09666785) * go_1(1.0, 1.0); + result += mat4(-0.045733463, -0.07430657, 0.08238815, -0.123395115, -0.040635027, -0.059792377, 0.04978978, 0.14278086, -0.0541127, -0.10427179, -0.16961274, -0.1371796, -0.0011499986, 0.012152467, -0.0815682, -0.054046102) * go_2(-1.0, -1.0); + result += mat4(0.0727944, 0.052526925, 0.009230718, -0.1476749, -0.09698198, -0.025520593, 0.02144377, 0.16131893, 0.0781747, -0.11812555, -0.035372186, -0.08136449, 0.05059057, 0.038647998, -0.037999127, -0.0015969436) * go_2(-1.0, 0.0); + result += mat4(-0.018785287, 0.03944137, 0.11725696, -0.05008342, -0.10257986, 0.20005476, -0.06610143, 0.06656378, 0.006863046, -0.047056478, -0.093303435, 0.05993721, 0.020760732, 0.019373491, 0.062371906, -0.037439793) * go_2(-1.0, 1.0); + result += mat4(-0.09267274, -0.098096795, 0.13675432, -0.06826833, -0.070104465, 0.099336594, -0.056031886, -0.089224756, -0.024747698, -0.0409895, -0.12682493, -0.2713339, -0.03058857, 0.074631155, 0.10274793, 0.0003064175) * go_2(0.0, -1.0); + result += mat4(-0.22578365, 0.35256356, -0.03433281, -0.16781186, 0.21457422, -0.028583825, 0.1498506, -0.17183648, -0.08763252, 0.12665057, 0.11524475, -0.122246034, 0.253632, -0.4412073, 0.1340533, 0.18091358) * go_2(0.0, 0.0); + result += mat4(-0.021586075, -0.13002236, 0.051525775, 0.018828293, -0.02971698, 0.1655956, -0.03223926, 0.097215585, -0.056743864, -0.029945962, 0.02934507, 0.03346959, 0.0409185, -0.0018111896, 0.04084656, -0.033254143) * go_2(0.0, 1.0); + result += mat4(0.029116312, 0.03399277, 0.05797433, -0.005187739, 0.051238127, 0.00043336756, -0.13381082, -0.11246873, 0.0627832, -0.1257258, 0.14857215, 0.08276562, -0.060543623, 0.066337794, 0.17844212, -0.039553978) * go_2(1.0, -1.0); + result += mat4(0.2723402, -0.08208666, -0.095256135, 0.097162515, -0.14603227, 0.098899886, -0.0382611, -0.13691731, 0.15835975, -0.11403104, 0.12741292, -0.0561908, -0.10390587, 0.1448454, -0.12705886, -0.08887692) * go_2(1.0, 0.0); + result += mat4(-0.07991212, -0.0016143702, -0.12167386, 0.07029745, -0.10117478, 0.02916672, -0.1567343, 0.037017304, 0.051464945, 0.040837154, -0.057838146, -0.043935794, -0.076173924, -0.0036469682, -0.16645731, 0.0867253) * go_2(1.0, 1.0); + result += mat4(-0.11595775, 0.1284538, -0.05438797, 0.0022007078, -0.029448986, -0.07199994, 0.08756202, -0.07034043, -0.025051784, -0.033049546, 0.042392526, -0.06789869, -0.02947519, -0.045615688, -0.04309908, 0.08332548) * go_3(-1.0, -1.0); + result += mat4(0.004717529, -0.103543915, -0.1741877, -0.22649112, -0.11224518, 0.03693626, 0.033321906, -0.10395231, 0.0022406306, 0.0030015993, -0.086861975, -0.08997641, -0.101462744, 0.018904945, 0.30255163, 0.18846805) * go_3(-1.0, 0.0); + result += mat4(-0.025068762, 0.117842294, -0.019883728, -0.30935752, 0.054619815, -0.00034203878, 0.045184523, -0.05716641, -0.0042491746, -0.014026439, 0.032082856, -0.076196544, 0.022468993, -0.03835101, 0.048660267, 0.11286454) * go_3(-1.0, 1.0); + result += mat4(0.02735938, -0.014684669, -0.08023435, 0.026778111, -0.0005380734, -0.11492771, 0.33912078, -0.042256307, 0.014511671, -0.0021652458, -0.032238156, -0.031997375, 0.0039656083, -0.023291625, 0.004515741, -0.08897747) * go_3(0.0, -1.0); + result += mat4(0.19014491, -0.016315972, -0.042010665, 0.09270843, 0.023101632, 0.47071022, 0.17964542, -0.077132106, -0.0037992029, 0.10508138, 0.06516077, -0.062698394, -0.09827762, -0.08044165, 0.04393759, -0.09197626) * go_3(0.0, 0.0); + result += mat4(0.032177076, -0.013111677, 0.074961565, -0.11895858, -0.027409771, -0.0819813, 0.1690814, -0.10718659, -0.011605623, -0.03553455, 0.057705663, 0.015013183, 0.056808244, 0.0005760722, -0.112802945, -0.077581756) * go_3(0.0, 1.0); + result += mat4(-0.05866174, -0.007548838, 0.06423205, 0.1352578, 0.0021120945, 0.038740613, 0.17343003, -0.1917378, -0.0038229288, 0.0017887303, -0.007761856, -0.040798064, 0.014540869, -0.03441534, 0.04668393, 0.03392203) * go_3(1.0, -1.0); + result += mat4(0.108784005, -0.032867312, 0.0037662825, 0.11089765, 0.29503173, -0.08232824, -0.034738302, 0.06927913, 0.013991651, -0.025746813, -0.020098314, -0.06911749, 0.030166877, 0.0090379, 0.009309999, -0.10990043) * go_3(1.0, 0.0); + result += mat4(0.07052432, 0.0040574945, -0.051168878, 0.03484591, 0.07261664, -0.07470608, -0.024008736, -0.021155195, 0.020727258, -0.03774776, -0.07994904, 0.0009939631, -0.06001779, 0.09822139, 0.08215828, -0.20103115) * go_3(1.0, 1.0); + result += mat4(0.04484158, -0.09804021, 0.030515645, 0.14875132, 0.10324463, 0.024846723, -0.067153946, 0.21652295, 0.025289498, -0.02001657, -0.0704581, 0.03809796, 0.022647271, -0.005611969, -0.036561944, -0.113084584) * go_4(-1.0, -1.0); + result += mat4(-0.05300202, 0.021789892, 0.059347153, 0.31309023, -0.051712107, 0.12630393, -0.08832499, 0.051365335, 0.040092044, 0.05133063, 0.0385234, 0.12962072, 0.17568372, -0.0060678395, -0.1781195, -0.14315312) * go_4(-1.0, 0.0); + result += mat4(-0.023102503, -0.0285927, -0.10403815, 0.09859985, -0.02698703, 0.08473415, -0.104872644, 0.05867982, 0.017683612, -0.03389112, 0.0026875678, 0.12684359, -0.009682843, -0.06191043, 0.054384083, -0.06014585) * go_4(-1.0, 1.0); + result += mat4(-0.02089963, -0.052726943, 0.07328917, 0.09252698, -0.027794342, 0.096590534, -0.059459552, -0.016572969, -0.079190515, -0.101752184, -0.21771683, -0.08526713, -0.10136575, -0.19844209, -0.00960798, 0.18323036) * go_4(0.0, -1.0); + result += mat4(-0.12765591, -0.118523166, 0.2949308, 0.3062008, 0.006089219, -0.19795562, 0.10176345, 0.5433496, -0.13549669, 0.18662079, 0.34634838, 0.15632492, -0.3137212, 0.09296755, 0.40942043, 0.35158914) * go_4(0.0, 0.0); + result += mat4(-0.044083003, 0.046661552, -0.29044914, 0.18718201, 0.019889789, -0.038973954, -0.13862126, 0.019615972, 0.06718448, -0.078045554, -0.15514913, 0.20315526, 0.12544951, -0.059773993, 0.011969989, -0.13825978) * go_4(0.0, 1.0); + result += mat4(0.024059854, -0.036478736, -0.06911277, -0.06703136, 0.018607026, 0.03248238, -0.045660738, -0.020493727, 0.07143626, -0.057682987, -0.14735365, -0.050512917, 0.086959876, -0.09022049, 0.17235179, -0.12725815) * go_4(1.0, -1.0); + result += mat4(0.13649525, 0.12862304, -0.17249407, 0.068115726, -0.038493074, 0.05827213, -0.1687499, 0.065070905, 0.27157575, -0.07905134, -0.087201245, -0.08858087, 0.034717344, 0.044884644, 0.08977019, 0.13647328) * go_4(1.0, 0.0); + result += mat4(-0.119835004, -0.02438879, -0.18067439, 0.20293695, 0.015848989, -0.04166136, 0.071957104, 0.124382295, -0.072059005, 0.071483135, -0.13201202, 0.0012418783, -0.10581831, 0.058075972, -0.17210579, 0.004112411) * go_4(1.0, 1.0); + result += mat4(0.00090041093, 0.0011212958, 0.031937573, -0.054099638, -0.017531581, 0.04035068, 0.037017923, 0.0010776994, 0.12191318, -0.007862255, 0.36464828, 0.21806385, 0.049670342, -0.011668101, 0.022543898, -0.025934925) * go_5(-1.0, -1.0); + result += mat4(-0.02645012, 0.02542059, 0.061260298, -0.029378504, 0.086143106, 0.030658819, -0.102650695, -0.10079073, -0.13305493, 0.121691555, 0.17571746, 0.20150271, -0.0353368, 0.13240956, -0.11879112, -0.09438184) * go_5(-1.0, 0.0); + result += mat4(-0.030693492, 0.023771469, -0.058636706, -0.08192801, 0.04515666, -0.18397073, -0.012662945, 0.0027336187, -0.036037542, -0.0677095, -0.030037174, 0.09132202, -0.042739432, 0.0677498, -0.0044881506, -0.08441004) * go_5(-1.0, 1.0); + result += mat4(0.10048813, 0.009793138, -0.041463297, 0.044800177, 0.04865773, -0.013068343, 0.11084613, -0.021099264, -0.16284342, 0.059396107, 0.34094337, -0.00569898, -0.013943217, 0.0776132, -0.2202739, 0.08115887) * go_5(0.0, -1.0); + result += mat4(0.09100969, -0.30055302, 0.027439067, 0.14045873, -0.06795197, 0.02795258, -0.3790362, -0.0782406, -0.044285815, 0.060324147, -0.06306254, 0.048571646, -0.010744797, 0.09238931, -0.30406076, -0.034953397) * go_5(0.0, 0.0); + result += mat4(-0.08555992, 0.30496204, -0.10318121, -0.109611206, 0.009205826, -0.13284884, -0.034745734, 0.116899915, 0.020474067, 0.087303326, -0.15484655, 0.07619201, 0.048834864, 0.09276454, 0.21443385, -0.16547905) * go_5(0.0, 1.0); + result += mat4(0.029452972, -0.029714083, -0.034528464, 0.092740804, 0.059716754, -0.036405306, 0.054758668, 0.20863086, -0.09970437, 0.021823952, -0.057097975, -0.31107625, -0.014428003, -0.055435028, -0.079654545, -0.014873982) * go_5(1.0, -1.0); + result += mat4(-0.30689985, 0.18918608, 0.08052377, 0.013860911, 0.07167599, 0.012683613, 0.09667366, 0.23917674, -0.092894726, 0.12865026, -0.23075777, -0.08828766, -0.19403586, -0.0040206606, 0.25459036, -0.09281851) * go_5(1.0, 0.0); + result += mat4(0.038235266, -0.028659683, 0.009189875, 0.035079453, 0.066741906, -0.09272636, 0.15878148, 0.22836047, 0.024399906, -0.15650764, 0.030108603, -0.02879869, 0.06306548, 0.020737246, 0.17805946, -0.0968242) * go_5(1.0, 1.0); + result += vec4(-5.518393e-05, 0.0062874877, -0.02661609, 0.07653855); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_1_tf2 +//!SAVE conv2d_2_tf1 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.11049855, -0.018907964, 0.10167619, -0.07320527, 0.16380642, 0.042582814, 0.15773618, -0.11309016, 0.030760022, 0.013475277, 0.034111183, -0.10673562, -0.06446281, 0.03170585, 0.065783545, -0.08132259) * go_0(-1.0, -1.0); + result += mat4(-0.10073572, -0.038558394, -0.18257987, 0.09736078, 0.07116485, 0.10689451, 0.037241623, 0.06911952, 0.15752609, 0.025548095, 0.09447296, -0.16955513, 0.015093913, 0.026273884, 0.26519024, -0.3108458) * go_0(-1.0, 0.0); + result += mat4(-0.07013285, 0.012493501, -0.03444474, 0.10600023, 0.031901475, -0.07758261, -0.036816508, -0.008185776, 0.04998539, 0.026604375, 0.08036296, -0.18479921, -0.098254114, 0.009431431, -0.056532584, 0.02986586) * go_0(-1.0, 1.0); + result += mat4(-0.0944328, -0.016084116, 0.057588827, -0.03322943, -0.21524993, -0.0121686235, 0.14730252, -0.23106548, 0.038413823, 0.03569419, 0.14861591, -0.10776637, -0.052853543, -0.019915907, 0.11759964, 0.11250295) * go_0(0.0, -1.0); + result += mat4(0.06219863, 0.04539895, 0.04698554, -0.31864423, -0.012272204, 0.36264813, 0.068282306, 0.2822775, 0.012628343, 0.02692176, 0.09148334, -0.08816395, -0.16482702, -0.06446881, -0.18384305, -0.29771352) * go_0(0.0, 0.0); + result += mat4(0.100148946, -0.09134751, -0.063103884, 0.1403596, -0.016843816, -0.046195876, 0.030014044, -0.004548106, 0.048431028, -0.040574916, 0.014735356, -0.15846166, -0.2263108, 0.13999973, -0.0633166, 0.27665257) * go_0(0.0, 1.0); + result += mat4(-0.12594071, 0.0677989, -0.049229424, -0.15385626, -0.12750685, 0.020224968, 0.072655775, -0.37103048, -0.013367309, 0.017096536, 0.07398892, -0.16839914, 0.006098842, 0.018147936, 0.055607572, 0.0040595555) * go_0(1.0, -1.0); + result += mat4(0.12726252, -0.06711981, 0.11226904, -0.034675833, 0.13163973, 0.09057499, 0.15357189, -0.35910082, 0.0003699172, 0.01971659, -0.041180152, -0.12111229, 0.00043315487, -0.053538464, -0.076018356, 0.042511243) * go_0(1.0, 0.0); + result += mat4(0.14136468, 0.06641704, 0.046442796, -0.025372686, 0.100791246, 0.03306327, 0.07611193, -0.17730577, -0.027955538, -0.0078110253, 0.008712534, -0.087275945, 0.08230878, -0.0052679684, -0.103350714, 0.0865688) * go_0(1.0, 1.0); + result += mat4(0.13361642, -0.039004393, -0.023543444, 0.07136099, -0.12098764, -0.02865035, 0.092850566, -0.082029596, 0.036575377, 0.14037344, 0.09989788, -0.06525852, 0.10002514, -0.026618406, -0.12002266, 0.04573298) * go_1(-1.0, -1.0); + result += mat4(-0.28081807, -0.08057377, -0.06789116, 0.019678107, -0.027069533, -0.016614377, -0.01618704, 0.24995302, -0.052341353, -0.07172657, 0.12574856, 0.1313798, -0.15072265, -0.09125269, 0.16099194, -0.13485655) * go_1(-1.0, 0.0); + result += mat4(-0.19550133, -0.04183744, 0.024049545, -0.09530149, 0.100007616, -0.05702025, -0.013796386, 0.04444768, 0.1344129, 0.0993129, 0.10404407, 0.09173625, 0.012862574, 0.06720736, 0.06611082, -0.055998694) * go_1(-1.0, 1.0); + result += mat4(0.16142978, -0.03735292, -0.043507334, -0.110913426, 0.10257733, -0.041712806, -0.18747051, 0.13936411, 0.020649113, -0.02688488, 0.21794553, -0.0689589, 0.16157758, -0.031158462, 0.13341765, -0.097379625) * go_1(0.0, -1.0); + result += mat4(-0.14022216, 0.15108277, -0.12174897, 0.034505684, -0.28282407, -0.0030200025, 0.06294236, -0.44982272, 0.09119184, 0.02005879, -0.09758412, -0.13265614, -0.21872388, 0.039521, -0.087356746, -0.20212357) * go_1(0.0, 0.0); + result += mat4(0.12638997, 0.5495008, 0.17717126, -0.08970275, 0.018967377, 0.04660826, 0.059454307, 0.17593576, -0.23507589, 0.12473919, -0.08162357, -0.06400482, -0.02973915, 0.009761158, 0.005129572, 0.051037535) * go_1(0.0, 1.0); + result += mat4(0.021429846, -0.034670793, 0.08353943, 0.02352908, 0.05054778, -0.019557012, -0.09459167, 0.2277268, 0.05714867, 0.075109184, 0.060369328, -0.10815987, 0.039977793, -0.058211602, -0.070377484, -0.0347485) * go_1(1.0, -1.0); + result += mat4(0.017368738, -0.015973292, 0.07625957, -0.08961148, 0.047681917, 0.050915856, 0.0910593, -0.0091246255, 0.14573355, 0.052380197, 0.15116148, -0.068882786, -0.0140725635, 0.02823435, -0.1579844, 0.07299422) * go_1(1.0, 0.0); + result += mat4(0.061255533, 0.03280513, 0.060110033, -0.036644097, -0.037236962, -0.026364978, 0.052616216, -0.13499284, 0.05801061, -0.0673201, -0.14684524, 0.23741283, -0.025241269, -0.1356566, -0.05841229, 0.1051435) * go_1(1.0, 1.0); + result += mat4(0.00022173181, 0.0643927, 0.028364835, 0.03683199, -0.031283405, -0.09468918, -0.29093724, 0.15719903, -0.021024697, 0.043887176, 0.0935728, 0.03710646, -0.0015930429, 0.1128033, 0.035463266, -0.017833339) * go_2(-1.0, -1.0); + result += mat4(0.016239017, 0.033160247, -0.0012980856, 0.1643084, -0.068570554, -0.011817288, 0.07238526, 0.09016985, -0.037720326, 0.039096065, 0.18127714, 0.040145792, -0.072754, -0.010240024, 0.003931741, 0.1961971) * go_2(-1.0, 0.0); + result += mat4(0.1582716, 0.059197184, -0.07311528, 0.15047154, 0.11910138, -0.16538778, -0.05161302, -0.13114272, 0.06918401, 0.09988292, -0.009128961, 0.022979198, -0.05816623, -0.0010521389, 0.049138065, 0.025934359) * go_2(-1.0, 1.0); + result += mat4(0.005232625, 0.06572209, 0.08158597, -0.041485008, 0.10972084, -0.100233644, -0.08123889, 0.22106615, -0.15856642, -0.00089599646, -0.2508091, -0.18100697, 0.05062669, 0.015029212, 0.037986293, -0.042927373) * go_2(0.0, -1.0); + result += mat4(-0.059474643, 0.027163196, -0.2604915, -0.010336377, -0.12445887, 0.13566798, -0.30654848, -0.060082927, 0.23085387, -0.091465, 0.39375424, 0.042889137, -0.056025308, 0.032562573, -0.24045426, -0.066820875) * go_2(0.0, 0.0); + result += mat4(0.37940925, 0.059039116, -0.23255952, 0.13268405, 0.09298355, -0.3546018, 0.20099486, 0.110705115, 0.1028718, 0.15027377, -0.052708015, 0.077674516, -0.012042469, -0.24452698, -0.0897586, -0.05299548) * go_2(0.0, 1.0); + result += mat4(-0.08723447, -0.04039763, 0.06555755, -0.01244263, 0.0631391, -0.07041029, 0.09457601, -0.07120963, -0.006443017, 0.022470789, 0.083783925, -0.21022923, 0.09100827, 0.004317152, 0.14609122, -0.058026843) * go_2(1.0, -1.0); + result += mat4(-0.0845435, 0.117686994, -0.12543106, 0.12503773, -0.10377896, -0.0026920936, 0.1349612, -0.069376774, 0.084404066, 0.11193638, 0.09126277, -0.054743435, -0.0032069946, 0.06509136, 0.0048303395, 0.10628396) * go_2(1.0, 0.0); + result += mat4(-0.029292313, 0.007759757, 0.025865927, 0.056625884, -0.07793367, -0.04091509, -0.003351621, -0.033380255, 0.07060131, -0.036421955, 0.081770964, -0.043511044, 0.017399874, 0.043617025, 0.005139266, -0.021786831) * go_2(1.0, 1.0); + result += mat4(-0.022271145, 0.00039645372, 0.010613543, -0.11776198, -0.02635221, 0.11864236, -0.0024596716, 0.03923893, 0.0029042386, 0.005011855, 0.0018216589, 0.008130081, 0.011119617, 0.06787836, -0.066421315, 0.08031844) * go_3(-1.0, -1.0); + result += mat4(-0.09813517, 0.06568305, -0.13860098, -0.0010828839, 0.14380379, -0.13478349, -0.022100717, 0.17066574, -0.029020214, -0.022638777, -0.0070202127, 0.030224288, 0.16366352, -0.06265367, -0.18798734, 0.011478987) * go_3(-1.0, 0.0); + result += mat4(0.05996043, -0.053815104, 0.11500831, -0.08236374, 0.044013776, -0.041716296, 0.041496664, 0.14121005, 0.08279138, 0.009773295, -0.010372792, 0.025527438, 0.014913059, -0.066181764, -0.011920773, 0.10358109) * go_3(-1.0, 1.0); + result += mat4(0.05652108, -0.004097921, -0.062982805, 0.1622035, 0.16812254, 0.03779725, 0.09811821, -0.30795518, -0.03712885, 0.014134829, -0.07531538, -0.0353742, -0.014039425, -0.011970228, 0.036651116, -0.0004495905) * go_3(0.0, -1.0); + result += mat4(0.11922151, -0.17507777, -0.04528375, -0.07090318, 0.19573775, -0.11706877, 0.0641675, -0.3705396, 0.0054832795, -0.048944287, -0.09650737, 0.09810468, -0.18202507, -0.08735016, 0.082755096, -0.018619625) * go_3(0.0, 0.0); + result += mat4(-0.2286063, 0.06487897, 0.041627876, -0.112286136, 0.055056084, -0.024040936, -0.072515465, 0.095542595, 0.017591938, 0.037572965, 0.086499356, -0.044066917, 0.09246921, -0.14498484, 0.017450534, -0.0031692435) * go_3(0.0, 1.0); + result += mat4(0.120006956, 0.029871983, -0.04091446, 0.1845348, 0.07152837, 0.0031324874, 0.3271476, -0.3842661, 0.015676577, 0.007722651, -0.01355098, 0.03852728, -0.036933925, -0.055561922, -0.08608098, 0.016633974) * go_3(1.0, -1.0); + result += mat4(0.042973485, -0.016934913, -0.054753687, 0.0057244487, 0.080229886, 0.07153676, 0.121217705, -0.1422365, -0.022736007, -0.005441552, 0.059987642, -0.06661513, -0.008356551, 0.026571274, 0.014096615, -0.034175288) * go_3(1.0, 0.0); + result += mat4(-0.10869293, 0.020983249, 0.014934219, -0.048246913, -0.043031503, 0.014160269, 0.012524968, 9.1027774e-05, 0.06874907, 0.041440487, 0.04364499, -0.049117107, -0.11006862, -0.028361427, 0.0666895, -0.15525119) * go_3(1.0, 1.0); + result += mat4(-0.13360004, -0.040586635, -0.011065811, 0.07590281, -0.17862478, 0.03176052, -0.0060847234, 0.06482111, -0.10241082, -0.06991013, -0.04906971, 0.111663744, -0.20776138, -0.065589525, 0.16063885, -0.1169129) * go_4(-1.0, -1.0); + result += mat4(-0.08239939, -0.016491726, -0.17447554, -0.17412238, -0.023073941, 0.024335802, 0.009998651, -0.2594834, 0.09212794, -0.047131993, 0.0023678474, -0.13931216, -0.093529895, 0.14654796, 0.2062498, -0.0979242) * go_4(-1.0, 0.0); + result += mat4(0.037110724, 0.16630705, -0.07703024, -0.09271235, -0.065290235, 0.011327393, 0.01392625, -0.08141591, -0.2544335, 0.11532231, -0.0038528284, -0.14333782, 0.052138682, 0.11441084, -0.13260897, 0.16820511) * go_4(-1.0, 1.0); + result += mat4(-0.30918753, -0.024295764, -0.027942184, -0.0860215, -0.055746336, -0.016570807, 0.17202388, 0.035703283, -0.16252916, 0.058050476, -0.15769738, 0.15678713, -0.116991155, 0.043470733, -0.383855, 0.18544619) * go_4(0.0, -1.0); + result += mat4(0.110480964, -0.0018562422, 0.11564728, -0.15973495, 0.28632364, 0.07150075, -0.02442135, 0.09562533, -0.031401016, -0.04514724, 0.31314585, -0.09337406, 0.108728535, 0.017531324, -0.024494028, -0.093123734) * go_4(0.0, 0.0); + result += mat4(-0.0803049, -0.23596147, -0.1215564, -0.07627238, -0.06644555, -0.02015921, -0.1534082, -0.0035896646, 0.20785846, -0.07450932, 0.083064035, 0.06505109, -0.06643723, -0.05675558, -0.06931419, -0.07988197) * go_4(0.0, 1.0); + result += mat4(0.0042541623, 0.026418367, 0.06019002, -0.120204665, -0.041487366, 0.021887602, 0.060255744, -0.07371016, -0.12069726, -0.12678316, -0.049600363, -0.12936749, 0.23514399, 0.037363835, 0.014190557, 0.12650439) * go_4(1.0, -1.0); + result += mat4(-0.09167683, -0.04038391, -0.022526316, -0.009859018, 0.008543954, -0.021847846, -0.09823242, 0.100713, 0.090360984, 0.09792457, -0.20315544, -0.035371944, 0.1085808, -0.06695963, 0.02482221, 0.024650661) * go_4(1.0, 0.0); + result += mat4(-0.20332499, -0.07027695, -0.087853126, 0.18171547, -0.047613457, -0.024246145, -0.10522111, 0.23672101, 0.036521245, -0.08921485, -0.03288885, -0.031625647, -0.06543899, -0.069383, -0.00516059, -0.0017956651) * go_4(1.0, 1.0); + result += mat4(0.024934843, 0.03389753, -0.08901605, -0.037079386, -0.046384435, -0.02585016, 0.11197663, 0.00346106, -0.36492983, -0.093989864, -0.04062576, -0.026857732, -0.0070361346, -0.043496076, -0.015871098, 0.043276284) * go_5(-1.0, -1.0); + result += mat4(-0.03606492, 0.004693198, 0.06704513, -0.06954089, -0.06506014, -0.037918013, -0.08111133, -0.009501841, 0.068508595, 0.08327213, -0.019518502, -0.022806957, 0.2190603, 0.17022887, 0.14800793, -0.08281432) * go_5(-1.0, 0.0); + result += mat4(-0.064694725, -0.07497781, -0.04672195, 0.014982018, 0.043382764, 0.18891387, -0.038317963, 0.07969728, -0.063571155, 0.030154549, -0.08465413, 0.16925031, 0.12671013, -0.04915839, -0.096187495, -0.051536918) * go_5(-1.0, 1.0); + result += mat4(-0.009621753, -0.0195934, -0.045811757, 0.13657679, -0.064056486, 0.038231816, -0.054827668, -0.12231228, 0.26552272, 0.12414302, 0.18624337, -0.046787616, -0.022237374, -0.053084116, 0.14358921, -0.042177454) * go_5(0.0, -1.0); + result += mat4(-0.07842658, 0.013456938, 0.032272052, 0.28887707, -0.10770709, -0.21856956, 0.37743518, 0.23959023, 0.37210184, 0.9503002, -0.025512097, -0.03633097, 0.022222593, 0.071377136, -0.20658484, 0.52729785) * go_5(0.0, 0.0); + result += mat4(-0.099430755, -0.24070781, 0.065863, -0.07808372, -0.16720702, 0.2676829, -0.27154264, -0.049355835, 0.19279453, 0.06852905, 0.06272968, 0.13116297, 0.07394523, 0.12975569, 0.26263225, 0.15205261) * go_5(0.0, 1.0); + result += mat4(-0.014191022, 0.018638015, -0.08631605, 0.061950725, -0.13144706, 0.084606856, -0.024304552, 0.0024966071, 0.021148616, 0.020798182, 0.13002335, -0.049378537, 0.017035907, -0.0116185695, -0.20568894, 0.2350694) * go_5(1.0, -1.0); + result += mat4(-0.013792852, -0.05215396, 0.06764889, -0.012962138, -0.11838281, -0.015625363, -0.12466692, 0.12504981, 0.14459728, 0.034634247, 0.14713274, -0.118111566, 0.18801935, -0.14544547, 0.04915958, -0.14483985) * go_5(1.0, 0.0); + result += mat4(0.04480321, 0.029159583, -0.06726701, -0.065100566, 0.094168976, 0.012941809, -0.035608374, 0.086288646, 0.043504182, 0.057368, -0.054148387, 0.09442852, 0.07997, -0.050284415, 0.046459693, -0.11076571) * go_5(1.0, 1.0); + result += vec4(-0.020544212, -0.052849937, -0.027093843, 0.018372845); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_1_tf2 +//!SAVE conv2d_2_tf2 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.039423067, 0.078436814, -0.069983914, -0.038171016, 0.14237583, -0.02642111, -0.20049703, 0.100611456, -0.029072462, -0.5085375, -0.018193128, 0.059373964, -0.030980011, -0.11949504, -0.06939915, -0.0759268) * go_0(-1.0, -1.0); + result += mat4(0.059159596, 0.17550206, 0.05612233, 0.13204549, -0.0050658686, -0.21678181, 0.07797472, -0.09275905, -0.06803014, -0.65021074, -0.07766355, 0.018018546, -0.26769254, 0.16147457, -0.2786428, 0.117244564) * go_0(-1.0, 0.0); + result += mat4(0.08737985, -0.10133755, -0.026567303, -0.03721374, 0.03300279, 0.15863386, 0.14206086, 0.10378439, -0.024067098, -0.41554677, -0.096829094, 0.037365302, 0.047267284, -0.014426036, 0.08224506, -0.02312597) * go_0(-1.0, 1.0); + result += mat4(0.054744978, 0.0014223085, 0.107521415, 0.044979066, -0.039141048, 0.23803799, -0.19850029, 0.19078358, -0.053693853, -0.51473075, -0.026663598, -0.03709435, 0.068645775, -0.461768, 0.05462371, -0.034951005) * go_0(0.0, -1.0); + result += mat4(-0.29620552, -0.008875074, 0.07487369, -0.22165461, -0.19263655, 0.048992947, -0.19407378, -0.04266071, -0.0410519, -0.9824355, -0.04094819, 0.1591373, -0.003784664, -0.03243022, 0.18372828, -0.21720201) * go_0(0.0, 0.0); + result += mat4(0.009888709, 0.13686997, -0.094822176, 0.05202961, 0.07718702, -0.111160606, -0.008345299, -0.03728517, 0.08747702, -0.609868, -0.004057196, -0.044258054, 0.06356071, 0.25430042, 0.020177737, 0.0132764075) * go_0(0.0, 1.0); + result += mat4(0.11496065, 0.21552022, -0.04389089, -0.0086625945, 0.09537117, -0.13809446, 0.08995812, 0.112047695, 0.011121139, -0.5289336, -0.022189362, 0.038001932, -0.1164996, 0.23712026, 0.020787118, -0.0011653812) * go_0(1.0, -1.0); + result += mat4(-0.09048339, -0.39137346, 0.21572241, 0.051918186, 0.11814622, 0.3203632, 0.024965152, -0.04971828, 0.009413184, -0.27384368, -0.06055165, 0.011737885, 0.06622072, 0.004352992, -0.16232811, -0.04402811) * go_0(1.0, 0.0); + result += mat4(0.09248723, 0.0889905, 0.024224376, 0.030123342, 0.03877418, -0.08895352, -0.13702047, 0.108477026, 0.040580783, -0.38253292, -0.017656842, -0.02734635, -0.10592393, -0.078880526, 0.06576184, 0.08253187) * go_0(1.0, 1.0); + result += mat4(0.015141747, -0.1309331, -0.02695935, -0.17821482, 0.06992731, 0.008076907, 0.04242278, -0.041699618, -0.2879429, 0.19774953, 0.049024932, 0.2859851, 0.07940857, 0.119633004, -0.0559928, 0.030878706) * go_1(-1.0, -1.0); + result += mat4(-0.24421887, 0.13531625, 0.16485777, -0.16606078, 0.013032199, 0.22538358, -0.08584098, -0.09070285, 0.2687854, 0.16989781, -0.032257568, -0.017058974, -0.009155003, 0.24833599, -0.037294723, -0.030808553) * go_1(-1.0, 0.0); + result += mat4(0.02493932, 0.114831686, 0.033882387, 0.14481047, -0.01829352, 0.115675755, -0.03021338, -0.004733893, 0.015008595, -0.19344689, -0.12460783, 0.047182407, -0.1743983, -0.09997754, -0.27779073, 0.07800383) * go_1(-1.0, 1.0); + result += mat4(-0.043531906, 0.07293452, -0.071971625, -0.0019219422, -0.04766082, -0.1400812, 0.025305094, 0.05111917, 0.08387639, -0.31426215, -0.004437485, 0.15080883, 0.046185132, -0.34772637, 0.1205064, -0.073153645) * go_1(0.0, -1.0); + result += mat4(-0.18307851, 0.09229181, -0.17735274, 0.50427365, 0.034740254, -0.13563888, 0.027704779, -0.10706108, 0.32057324, 0.1820803, -0.28548205, -0.20837711, 0.026674472, 0.015941067, -0.07913227, 0.10543624) * go_1(0.0, 0.0); + result += mat4(-0.19075814, -0.07901908, -0.09471109, 0.38521093, -0.051173307, 0.22712201, -0.0057217837, -0.008397543, -0.094950974, -0.07692618, 0.08312472, -0.1183983, 0.042578284, 0.055876415, 0.0013518286, -0.024476144) * go_1(0.0, 1.0); + result += mat4(0.07312584, -0.14143293, 0.039240487, -0.04388676, -0.040030226, 0.23504035, 0.049412448, 0.047472715, 0.01382807, -0.2750679, 0.21508247, 0.053023193, 0.029611293, -0.0056723547, -0.01997564, 0.03959638) * go_1(1.0, -1.0); + result += mat4(-0.15638126, -0.19253428, 0.10116556, 0.08715779, -0.11614563, 0.098930575, 0.087547146, -0.028423786, 0.21491656, 0.13664484, -0.24975125, -0.08325575, 0.032616112, -0.18295531, 0.065003626, 0.021616168) * go_1(1.0, 0.0); + result += mat4(-0.007087224, 0.3169042, 0.14880657, -0.18242247, 0.0064674197, 0.06109478, -0.059897806, -0.0011404125, 0.18070918, -0.08458671, -0.12923287, -0.08353918, -0.01897949, 0.06979917, 0.09025345, -0.017417897) * go_1(1.0, 1.0); + result += mat4(0.05179286, -0.034726117, 0.21951278, 0.082072996, 0.07295873, -0.08012756, 0.014272455, -0.056287043, -0.017637976, -0.013951062, 0.054536913, 0.017742792, -0.009336327, -0.03538978, 0.011911002, -0.11776655) * go_2(-1.0, -1.0); + result += mat4(0.13707292, -0.023107344, -0.00069132133, -0.08294918, -0.23168655, -0.096478485, 0.08214384, -0.059408333, 0.18943588, -0.03707817, -0.08321206, -0.22239017, -0.15046118, 0.120259546, 0.07002098, -0.09866878) * go_2(-1.0, 0.0); + result += mat4(-0.012951499, -0.27445596, -0.14348228, 0.0447087, 0.046177246, 0.017482923, 0.05994589, 0.015270621, 0.06457534, -0.05479883, 0.013528706, -0.12819076, -0.06994984, 0.07996559, -0.06996563, 0.054592125) * go_2(-1.0, 1.0); + result += mat4(0.10614017, -0.053328507, 0.08286402, -0.10957647, -0.12656961, 0.040465187, 0.17095993, 0.051273175, 0.04530683, 0.18120332, -0.027397426, -0.08206453, 0.069643475, -0.12606093, -0.058229, 0.18432495) * go_2(0.0, -1.0); + result += mat4(0.17823172, 0.41447365, 0.11639968, -0.06486261, 0.19411229, -0.19174264, -0.038545858, -0.10247162, -0.019421054, -0.009120293, 0.13342139, 0.04569454, -0.11488296, 0.080402605, 0.13746685, 0.14873841) * go_2(0.0, 0.0); + result += mat4(-0.0829372, -0.30971724, 0.032577418, 0.07669426, 0.018960338, 0.1791047, -0.047290523, -0.008268177, -0.04843848, 0.06855169, -0.07592713, 0.04155206, 0.08097685, 0.051547952, 0.011747727, -0.033211578) * go_2(0.0, 1.0); + result += mat4(-0.1373094, 0.15334417, -0.06870011, -0.06123882, 0.00090525567, 0.1162759, -0.082836166, 0.11193168, -0.08798139, 0.035071023, 0.01123731, -0.05533123, -0.024120709, 0.050991498, -0.1336545, -0.043407314) * go_2(1.0, -1.0); + result += mat4(-0.06407508, -0.33745393, 0.23901443, 0.052661825, 0.10159286, 0.07630392, -0.15228964, -0.03295662, -0.0060571227, 0.0071413037, 0.17815827, -0.12300588, 0.1899591, -0.25670734, 0.0070533925, -0.043219138) * go_2(1.0, 0.0); + result += mat4(-0.1732961, 0.30729872, 0.2262359, -0.21156187, 0.06456767, 0.021306427, 0.05425214, -0.083489835, -0.044103798, 0.052490056, -0.0044859303, -0.02098116, -0.0504092, -0.00038908, 0.039689723, -0.07444564) * go_2(1.0, 1.0); + result += mat4(-0.033599377, -0.08571998, -0.10530651, -0.08143152, -0.12479356, -0.060760368, 0.121969484, 0.038539995, 0.013419648, -0.08396321, 0.05109183, 0.017426316, -0.07328041, 0.05684259, 0.070007846, 0.10744751) * go_3(-1.0, -1.0); + result += mat4(-0.274972, 0.4282744, 0.22896598, -0.10019718, 0.16731918, 0.030695973, 0.041302808, 0.067710035, 0.023648342, -0.07225423, -0.038274363, 0.05649214, 0.2907932, -0.42040724, -0.012518357, -0.017642522) * go_3(-1.0, 0.0); + result += mat4(0.13465816, 0.25740397, 0.15255588, 0.095492624, 0.043392237, 0.020608524, 0.028149592, -0.02565965, 0.06586847, 0.0011866485, -0.037156094, 0.055193666, -0.04400515, 0.08791553, 0.010484813, -0.15319423) * go_3(-1.0, 1.0); + result += mat4(0.040082783, -0.06577737, -0.07995138, -0.16504121, 0.09325564, -0.22239633, 0.1648208, 0.028321613, 0.015860023, -0.08520523, -0.051657148, 0.061537597, 0.073225826, -0.14896914, 0.1299073, -0.006399767) * go_3(0.0, -1.0); + result += mat4(-0.09663643, -0.53566885, 0.025700806, 0.55880916, 0.2808175, 0.05318815, 0.062414836, 0.10828044, 0.05490069, -0.081015244, 0.09650798, -0.12189763, -0.07257968, 0.26949814, -0.012583941, 0.0008959956) * go_3(0.0, 0.0); + result += mat4(-0.011190751, 0.35855585, 0.1862791, 0.14002089, 0.027401952, 0.0042707003, -0.022745244, 0.10868378, -0.09141326, -0.17373067, 0.028805451, 0.017749606, 0.040033735, -0.011070057, -0.025801158, -0.13208073) * go_3(0.0, 1.0); + result += mat4(0.024512364, 0.08858363, -0.18131207, -0.027412666, -0.04424581, 0.011799249, -0.082901396, 0.038419988, 0.024691217, 0.052292384, -0.009439586, -0.00092504063, 0.008878617, 0.025503607, 0.021490294, 0.056503642) * go_3(1.0, -1.0); + result += mat4(-0.12956679, -0.34502396, 0.2046284, 0.026422406, -0.051775485, -0.004565459, 0.033549815, 0.24834748, -0.014039569, -0.008843974, -0.024532126, -0.028356941, 0.086490355, 0.19347343, -0.06651103, 0.01359097) * go_3(1.0, 0.0); + result += mat4(0.026218938, -0.071594626, 0.058404952, -0.0064054746, 0.021394106, 0.003737053, 0.013854575, 0.11512703, 0.041950155, -0.12979212, 0.029137189, -0.035896428, -0.052289136, 0.14120553, -0.069520056, 0.083379924) * go_3(1.0, 1.0); + result += mat4(0.10193102, -0.011678638, -0.08350273, -0.1182253, -0.15432937, 0.20543317, -0.20413567, -0.080253944, 0.07646635, -0.020952104, -0.0104566, -0.10925271, 0.055971812, 0.032747865, 0.04048261, 0.08953569) * go_4(-1.0, -1.0); + result += mat4(-0.016132157, -0.08411032, -0.14439175, 0.056656662, -0.12841295, -0.051562544, -0.040920693, -0.027162159, -0.05479628, -0.13349691, -0.28604138, 0.053583436, 0.13565014, 0.11799203, -0.28183892, -0.14269474) * go_4(-1.0, 0.0); + result += mat4(-0.062003274, -0.048884556, -0.20334347, 0.22376512, -0.089073546, 0.11118097, -0.009234466, -0.07418679, -0.14703932, 0.16732392, -0.07114778, -0.06633442, 0.04149066, 0.061250567, 0.18997967, 4.3616074e-05) * go_4(-1.0, 1.0); + result += mat4(-0.013199228, 0.04439229, 0.022987943, 0.031648617, 0.028317936, -0.065302536, 0.12444893, -0.10333742, -0.055278953, 0.0026120062, 0.292226, -0.048765816, 0.094359584, 0.080392964, 0.04476662, -0.05632204) * go_4(0.0, -1.0); + result += mat4(0.30331823, -0.13950066, 0.046152875, -0.049017597, -0.030433452, -0.098067395, 0.05823237, 0.23484923, -0.052533124, -0.17569515, 0.043904085, 0.34406292, 0.09246567, 0.44028738, -0.1541278, 0.10462374) * go_4(0.0, 0.0); + result += mat4(-0.053813357, -0.06074867, -0.08128881, -0.015421247, 0.1122167, 0.06750029, -0.07663203, 0.06962623, 0.016814634, -0.018121587, -0.17165172, 0.06247406, -0.061192635, -0.21323347, -0.20642947, 0.024856035) * go_4(0.0, 1.0); + result += mat4(-0.017261975, 0.001956938, 0.03585212, -0.051244717, -0.012848608, 0.060172677, -0.110458344, -0.14227545, 0.074150845, 0.122560345, 0.0022584137, 0.124024406, -0.0020875141, -0.44394484, 0.21422713, -0.04319881) * go_4(1.0, -1.0); + result += mat4(-0.034175355, -0.010641907, -0.035431314, 0.009394309, 0.06870524, -0.020846654, 0.0075500663, -0.10564474, 0.031213112, 0.32362583, -0.01739634, -0.080315515, -0.026090765, -0.2125432, 0.17748094, 0.08196893) * go_4(1.0, 0.0); + result += mat4(0.023425572, 0.058883358, -0.08460052, -0.06000809, -0.07512468, 0.15626664, 0.007509836, 0.019525077, 0.054792758, -0.23570415, -0.05554373, -0.14720254, -0.022515034, 0.04687545, -0.09122355, -0.08824173) * go_4(1.0, 1.0); + result += mat4(0.03242358, 0.009580177, 0.020231772, 0.022309156, -0.12902056, 0.14806129, -0.027296314, 0.063802026, -0.039501395, -0.01489755, -0.19859995, -0.10364646, 0.09310042, -0.028172733, -0.08560778, -0.030869158) * go_5(-1.0, -1.0); + result += mat4(-0.101350136, 0.05526243, 0.0035860895, 0.09896092, 0.19400865, 0.2449927, -0.18022242, 0.09199169, -0.0077618533, -0.18838565, -0.45503637, 0.20625886, 0.041608825, -0.114395924, -0.0850152, 0.0733077) * go_5(-1.0, 0.0); + result += mat4(-0.08502301, 0.15609683, 0.017885443, -0.02539383, -0.026503822, -0.036420856, 0.0021276672, 0.06999657, -0.046073034, 0.16763787, -0.14055778, -0.0049013835, 0.009052177, -0.09790551, 0.117615454, 0.048404485) * go_5(-1.0, 1.0); + result += mat4(-0.028804805, 0.004398154, 0.02801529, -0.0806873, -0.03933947, 0.12910266, -0.1326506, 0.08548417, -0.5164903, 0.07406561, 0.22457983, 0.14813408, -0.05975599, -0.019444315, 0.07565449, -0.23129421) * go_5(0.0, -1.0); + result += mat4(-0.2850856, -0.12607557, 0.014540369, -0.08426361, -0.027262088, 0.20371006, -0.12156548, 0.17130668, -0.31521708, 0.049210936, -0.35247996, 0.18296543, 0.42723244, 0.2039884, -0.035021685, 1.1381091) * go_5(0.0, 0.0); + result += mat4(0.08956528, -0.00317981, -0.07248739, -0.055904776, -0.03996253, 0.025405107, 0.00059332704, -0.037291884, -0.09004787, -0.23186557, -0.16186874, 0.0020177872, 0.022994975, -0.20395516, -0.17148314, 0.14748491) * go_5(0.0, 1.0); + result += mat4(-0.0061345818, -0.16014275, 0.17222595, -0.07567761, -0.061348878, -0.1720377, 0.12391044, -0.1664243, 0.20054317, 0.053534795, 0.18869756, -0.15747075, 0.023294995, 0.19970472, 0.14656426, 0.033892497) * go_5(1.0, -1.0); + result += mat4(-0.0951606, 0.114271455, -0.035583224, -0.0395411, -0.324703, -0.3520329, 0.32128307, -0.05776112, -0.12950924, 0.10391318, -0.0319499, -0.050979655, -0.13066222, -0.25933158, 0.021341946, 0.09927698) * go_5(1.0, 0.0); + result += mat4(0.18134786, -0.057574477, -0.1466477, -0.046258144, -0.024677455, 0.04083935, 0.14517285, -0.25801346, 0.18157719, -0.090125926, -0.0036604172, -0.20966503, -0.00015470991, -0.016252374, -0.03844368, 0.06726928) * go_5(1.0, 1.0); + result += vec4(0.057122286, 0.012267435, -0.008509618, -0.033430006); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!SAVE conv2d_3_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.04442572, -0.021079494, 0.08133416, -0.14203873, -0.07575563, -0.036278915, -0.02581178, 0.074260384, 0.110657595, 0.022575535, 0.14307183, 0.009784463, 0.0019734183, -0.022827094, -0.10990385, 0.018472824) * go_0(-1.0, -1.0); + result += mat4(0.21470577, -0.102078706, -0.19685651, -0.10499778, -0.14538614, 0.12205785, -0.119196534, -0.12512656, -0.0157255, 0.06778767, 0.051144827, -0.061093763, -0.014912816, -0.10668368, 0.16782193, 0.04672345) * go_0(-1.0, 0.0); + result += mat4(0.23532265, -0.06437796, -0.1636927, 0.096415624, -0.14463958, 0.07062449, -0.009412339, -0.053424593, -0.020204574, 0.048089918, -0.036215715, -0.140922, -0.11925414, -0.05972305, 0.0024522278, 0.09344713) * go_0(-1.0, 1.0); + result += mat4(-0.007486091, -0.041294333, 0.03958969, 0.053319015, -0.0508917, -0.05159112, 0.11288304, 0.26939824, 0.024348699, 0.060014047, -0.034696687, 0.009803982, -0.019758658, -0.108922645, 0.14256927, -0.027265849) * go_0(0.0, -1.0); + result += mat4(0.08267747, 0.01354375, 0.33666995, 0.101669155, -0.110209286, 0.14248498, -0.16946654, -0.35839102, 0.20460105, 0.11426335, 0.11318654, -0.044304296, -0.076097116, 0.029738575, 0.15636109, -0.0552018) * go_0(0.0, 0.0); + result += mat4(0.14432563, 0.0046133446, -0.10694144, 0.022137064, -0.5636542, -0.13867012, -0.008164329, -0.12708999, 0.044234607, 0.115975946, -0.092227295, -0.07865807, 0.108110346, -0.017337924, 0.043074783, -0.041216116) * go_0(0.0, 1.0); + result += mat4(0.026432367, -0.06873426, 0.061831556, -0.00605308, -0.056780808, -0.07177329, -0.0057719476, 0.07050306, 0.027728474, 0.09348229, -0.09152759, -0.09133902, 0.024218138, 0.03562348, -0.018500235, 0.024786536) * go_0(1.0, -1.0); + result += mat4(-0.015634011, 0.00043256918, -0.08569041, 0.099786475, -0.13876541, 0.06958842, -0.21906306, 0.11165318, -0.09130837, 0.14580032, -0.102398746, 0.051243573, 0.059544906, 0.057559166, -0.033218343, 0.08339028) * go_0(1.0, 0.0); + result += mat4(0.006991434, -0.0743791, -0.088750206, -0.021417037, -0.29907656, 0.007902655, -0.036114752, -0.122924, -0.067659825, 0.029919846, 0.14793514, -0.097599104, 0.016503064, -0.1095046, -0.028360674, -0.058358364) * go_0(1.0, 1.0); + result += mat4(0.004909281, 0.071267895, 0.16850118, -0.054999575, -0.14304577, 0.02441106, 0.050973237, 0.009992714, -0.109278284, 0.07919291, 0.0077810627, 0.034462743, 0.047741413, 0.12163777, -0.12122584, 0.013382445) * go_1(-1.0, -1.0); + result += mat4(0.0005590338, -0.015862202, -0.046375863, -0.091307804, -0.20246892, -0.059480507, 0.11874404, 0.17396803, -0.17960979, -0.034825385, 0.004660247, 0.1359996, 0.0032430585, 0.07977283, 0.148807, -0.05778742) * go_1(-1.0, 0.0); + result += mat4(0.18160479, 0.043647032, -0.017925482, 0.017439943, 0.015033334, 0.011356719, 0.03396472, 0.004971239, -0.13910371, 0.044191893, -0.12855305, -0.056105338, 0.056831665, 0.133879, -0.063164115, 0.0071621994) * go_1(-1.0, 1.0); + result += mat4(-0.113280386, 0.0025519284, 0.18671317, 0.08804424, 0.20677073, -0.0804015, -0.08834917, 0.09533873, 0.083148256, -0.048961774, -0.07908736, -0.02688625, 0.035848085, 0.10695606, -0.22634004, -0.13171262) * go_1(0.0, -1.0); + result += mat4(0.1707226, 0.08533742, 0.21622618, -0.21757056, -0.1274536, 0.08398028, 0.3202134, 0.022998685, 0.04880864, -0.34749946, 0.13356782, 0.054071113, 0.27817082, 0.082054846, 0.1917598, -0.028963286) * go_1(0.0, 0.0); + result += mat4(0.017651493, 0.026090013, -0.15366435, 0.04745487, -0.083071895, 0.04845406, 0.05552361, 0.096130624, -0.010397022, 0.053183064, -0.07440269, -0.027566215, -0.1770849, -0.02905562, 0.07577059, 0.01106056) * go_1(0.0, 1.0); + result += mat4(-0.09079958, 0.07023978, 0.013599515, 0.03719188, -0.029139029, -0.12541416, -0.1298324, -0.089526765, 0.026374, -0.03675827, -0.0664432, -0.10954637, -0.03706898, 0.07195458, 0.2083045, -0.13173243) * go_1(1.0, -1.0); + result += mat4(0.119648434, 0.085478894, 0.1322845, -0.217921, -0.0493358, 0.016056411, -0.008486342, 0.121576615, -0.15643454, 0.03276933, 0.096999034, -0.04267362, -0.0680802, 0.19929416, -0.09860732, -0.20886037) * go_1(1.0, 0.0); + result += mat4(-0.03567257, 0.09823424, 0.097885884, -0.0057406626, -0.007873974, -0.103281036, -0.013342071, -0.052842017, -0.15585557, -0.127313, -0.08575327, 0.012302473, 0.14850815, 0.1284913, -0.11507875, -0.053595018) * go_1(1.0, 1.0); + result += mat4(-0.054356705, 0.029001048, 0.017115368, 0.03151991, 0.18608244, 0.13901179, 0.57566303, 0.06494094, 0.028459521, 0.14781436, 0.06256118, 0.030419847, 0.07467109, -0.06440686, 0.053834237, -0.0071851187) * go_2(-1.0, -1.0); + result += mat4(0.007199532, -0.121588215, 0.044833265, 0.27465758, 0.3438028, -0.023367146, 0.51061314, -0.238366, -0.2637815, 0.10414675, 0.23945883, 0.12390733, 0.23056524, -0.036144268, 0.029334458, -0.022119714) * go_2(-1.0, 0.0); + result += mat4(-0.05376701, -0.06664099, 0.059821654, -0.0018416446, 0.2638233, 0.043670908, 0.3815553, -0.13832693, -0.0050786, 0.09253983, 0.23859836, 0.07963589, 0.07718028, -0.079752676, 0.11433723, 0.011501202) * go_2(-1.0, 1.0); + result += mat4(0.1874364, -0.17093459, 0.010855328, 0.120664425, 0.111470625, 0.1484681, 0.5195336, -0.0069446685, 0.042319857, 0.05145161, -0.039009307, -0.01998825, -0.07303624, 0.09134541, 0.10079329, 0.030079208) * go_2(0.0, -1.0); + result += mat4(-0.2186243, -0.4428867, 0.092963874, 0.13073802, -0.019760692, 0.08763586, 0.34470505, -0.23975423, -0.49366876, 0.03650021, -0.26312304, -0.10178505, -0.19149905, 0.08961964, -0.03015555, -0.41838256) * go_2(0.0, 0.0); + result += mat4(-0.028188573, 0.031499006, -0.063600264, 0.24837458, 0.19443984, 0.058427423, 0.28769475, -0.08521067, -0.071029276, 0.14094949, 0.11166354, 0.049317956, -0.010624909, -0.06265303, 0.1114735, 0.02864904) * go_2(0.0, 1.0); + result += mat4(-0.052337993, -0.017547317, -0.03520667, 0.002673191, 0.1905491, 0.17264749, 0.32332307, 0.061626773, 0.136209, 0.19794804, 0.16509542, -0.04580146, 0.028514566, 0.041068107, 0.043710496, -0.13467996) * go_2(1.0, -1.0); + result += mat4(0.057524405, -0.0670017, 0.0016474138, 0.10262694, 0.036269784, 0.036402486, 0.44747186, 0.12797451, -0.047264162, 0.0766207, -0.23309897, -0.1266668, 0.074957475, 0.015929028, 0.2692563, 0.036415808) * go_2(1.0, 0.0); + result += mat4(0.17724822, -0.109371126, -0.0682871, 0.14675598, 0.054630626, 0.062969014, 0.36832303, -0.013787229, 0.024231227, 0.12613758, -0.055872746, -0.04053383, -0.006620505, 0.015584234, 0.035116877, 0.01693195) * go_2(1.0, 1.0); + result += mat4(0.19397566, 0.07098955, 0.18101004, 0.083367795, -0.070514366, -0.044412676, -0.062800385, 0.068795145, -0.19326128, -0.10733093, -0.1681797, 0.02347941, 0.09339788, 0.15950295, 0.057467394, 0.056237224) * go_3(-1.0, -1.0); + result += mat4(0.136637, -0.07271869, 0.26881287, 0.34395644, -0.04324773, 0.103202775, -0.16522674, -0.044781554, -0.086582124, 0.054414462, 0.065597564, 0.033376656, -0.111290336, -0.0014986617, -0.2212502, -0.25075877) * go_3(-1.0, 0.0); + result += mat4(-0.06789657, -0.18068478, 0.09911924, -0.23166406, -0.044929348, -0.031290393, 0.13361748, 0.03413577, -0.040923, 0.049681865, -0.07380375, 0.08915985, 0.07288317, 0.06554518, -0.1643758, 0.055818856) * go_3(-1.0, 1.0); + result += mat4(0.2203703, -0.037368517, 0.09785233, -0.06491308, -0.092911914, -0.031082682, -0.104810245, 0.034624774, -0.023380022, 0.0052404683, 0.06841838, -0.023614911, -0.03593765, -0.046437703, -0.1844866, -0.14166127) * go_3(0.0, -1.0); + result += mat4(0.05909365, -0.36332077, -0.2689632, 0.1739602, -0.45130134, 0.12989542, -0.005341447, -0.06824331, -0.15072067, -0.05676317, -0.13605535, -0.18169174, 0.07681412, 0.124912, -0.021684267, 0.0894891) * go_3(0.0, 0.0); + result += mat4(-0.035549298, -0.21778642, 0.097288795, -0.26111203, 0.10414918, 0.0061409012, -0.0556371, -0.032494467, 0.052588258, 0.06812076, -0.16265821, 0.118465446, -0.099786356, 0.0869041, -0.25942245, 0.009399633) * go_3(0.0, 1.0); + result += mat4(0.11580169, -0.024714155, 0.010325179, 0.013701658, -0.076200895, 0.10303264, -0.094055474, -0.029318763, 0.07376417, 0.049632907, 0.032555673, 0.10790659, -0.101094194, 0.071630724, -0.109847575, 0.0077851396) * go_3(1.0, -1.0); + result += mat4(0.1398949, -0.04883586, 0.23428173, -0.15378661, -0.100387186, 0.009293077, -0.008328632, -0.10520436, 0.035526622, 0.064958505, -0.1684589, -0.12430499, 0.13108692, 0.028732104, -0.0724291, -0.14364761) * go_3(1.0, 0.0); + result += mat4(0.13408709, 0.037318103, 0.030060692, -0.02245396, -0.11561478, -0.07266053, -0.14419918, -0.15680459, 0.104011424, 0.0289589, -0.05245363, 0.02856205, -0.0973203, -0.009120509, 0.08775658, -0.08062229) * go_3(1.0, 1.0); + result += mat4(0.115849026, 0.06085271, -0.015712146, -0.035179697, 0.14623754, -0.027535545, 0.105676346, 0.28401312, 0.00610444, -0.18113948, 0.003972312, 0.022277411, 0.030053148, -0.06660701, -0.007032331, -0.026460487) * go_4(-1.0, -1.0); + result += mat4(0.105825655, 0.031863045, -0.011142612, -0.023293436, 0.0680703, 0.12657744, -0.31427047, -0.045503054, 0.019428464, 0.055280883, 0.033349436, -0.0824765, 0.04048357, -0.039309558, -0.13541335, -0.0711577) * go_4(-1.0, 0.0); + result += mat4(0.00587736, 0.066619515, -0.1982745, -0.12112423, -0.001499343, -0.06931127, -0.17176788, 0.030141942, -0.10718468, 0.07443775, -0.12964384, 0.122857764, -0.06771741, -0.07971639, -0.044493467, -0.0075695426) * go_4(-1.0, 1.0); + result += mat4(0.023990182, 0.052072257, -0.07704469, -0.05818583, 0.2703359, -0.1253082, 0.3321394, 0.51275367, -0.20541172, 0.087123945, -0.21254195, -0.21670723, 0.00083692186, -0.04276457, 0.10195174, 0.03721505) * go_4(0.0, -1.0); + result += mat4(0.080449946, 0.18648995, -0.11595206, -0.15039912, -0.07889376, -0.31233358, -0.2996588, 0.551305, -0.20122233, 0.24880885, -0.04481761, -0.3973453, 0.10033973, 0.05511902, 0.029888729, 0.021694044) * go_4(0.0, 0.0); + result += mat4(0.03702065, -0.088798195, 0.06667468, 0.044227604, 0.07188657, -0.04998249, 0.2439061, -0.1476103, -0.064125344, 0.034045372, -0.13339408, 0.109842144, 0.19029056, -0.029507356, -0.08236508, 0.07658855) * go_4(0.0, 1.0); + result += mat4(0.028597932, -0.03854459, 0.047724374, 0.065792255, -0.09860975, -0.08000352, 0.10390718, 0.23593639, -0.11188388, 0.016842902, -0.11817977, 0.06368645, 0.055055078, 0.058349103, -0.08001618, -0.024517627) * go_4(1.0, -1.0); + result += mat4(-0.16921136, -0.04083932, -0.00835477, 0.2030543, -0.012638247, -0.27452287, 0.0956476, -0.04617994, 0.15653826, 0.06020273, -0.10202549, -0.06836085, 0.11841569, 0.048987422, -0.07977096, -0.012123196) * go_4(1.0, 0.0); + result += mat4(-0.0235341, -0.046976402, 0.032694343, -0.16520928, -0.017081633, -0.03708282, 0.07898976, -0.11212351, 0.11997062, 0.15722035, 0.06421537, 0.00097069755, 0.037570357, -0.040770754, -0.0743307, 0.0534563) * go_4(1.0, 1.0); + result += mat4(0.09699342, -0.09981163, -0.10912867, 0.10897145, -0.030223582, -0.014247349, -0.03482929, -0.01305651, -0.038396984, 0.009796579, -0.1132907, 0.077554524, 0.031296402, 0.014200385, 0.22940783, 0.13804206) * go_5(-1.0, -1.0); + result += mat4(0.1207108, -0.1887047, 0.15963583, 0.03816067, -0.017255, 0.008443818, -0.065400094, 0.044166937, 0.17263496, 0.14113733, 0.082817905, 0.082012236, 0.096803635, -0.06069386, -0.062445905, -0.04569513) * go_5(-1.0, 0.0); + result += mat4(-0.03677858, 0.027012087, -0.20495425, 0.16764086, -0.025615353, -0.0020314269, 0.007159334, -0.0044264444, -0.04242938, -0.04116411, -0.063763745, -0.016643412, -0.022430163, -0.09297498, 0.0027288082, 0.09743419) * go_5(-1.0, 1.0); + result += mat4(0.098948084, -0.13285282, 0.19235732, 0.2794696, 0.004499766, -0.015963264, -0.0557736, 0.0024319638, -0.048159864, 0.029840004, -0.32350582, -0.21436322, 0.11063215, -0.07647232, -0.061627094, -0.09123133) * go_5(0.0, -1.0); + result += mat4(0.13004114, -0.12624854, -0.1305723, -0.18789066, 0.041747153, 0.019262334, 0.17703997, 0.02054544, 0.16357894, 0.09787803, 0.07931654, 0.23711719, 0.07959038, -0.14655703, 0.19117653, 0.5182774) * go_5(0.0, 0.0); + result += mat4(-0.021226425, -0.15988874, -0.25700846, 0.08832854, 0.012499655, 0.011893902, 0.029938264, -0.0056565106, -0.047849346, -0.07041324, 0.1554268, -0.09428568, -0.057141136, 0.0027243465, 0.08234678, 0.028744241) * go_5(0.0, 1.0); + result += mat4(0.011884608, -0.14763886, -0.021171318, 0.14934142, -0.018248998, -0.024268437, -0.014130621, -0.0027485457, -0.0809039, 0.05827554, -0.14076029, -0.1408414, 0.033655114, -0.113111265, 0.007957397, 0.024406865) * go_5(1.0, -1.0); + result += mat4(-0.03952874, -0.10756346, -0.21955557, 0.07950554, -0.05224832, -0.0015799722, 0.019645864, 0.046215426, 0.025174068, 0.05614136, -0.02355428, 0.12604117, -0.05630602, -0.104844145, 0.0040577715, 0.20292816) * go_5(1.0, 0.0); + result += mat4(0.08337458, -0.04375854, 0.12814969, -0.0505745, -0.02162198, -0.022859862, -0.009827576, -0.06884463, -0.13378213, -0.024044786, -0.1587514, -0.09542159, -0.079674646, -0.118072495, -0.015328217, -0.034902822) * go_5(1.0, 1.0); + result += vec4(0.06617475, 0.031411394, -0.08600086, -0.12331019); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.104435995, 0.08523803, 0.13313451, 0.01485225, -0.067918435, 0.17933276, 0.021827344, 0.0296916, -0.07059249, 0.0037901546, 0.016877035, -0.029718481, 0.013821487, 0.0051245163, -0.009027754, -0.0703365) * go_0(-1.0, -1.0); + result += mat4(-0.13151535, 0.05132924, 0.2739186, 0.48619145, 0.13476053, 0.3685631, -0.027353717, -0.07500873, -0.05480841, -0.014034983, -0.085864894, 0.08971871, 0.07406436, -0.01183941, 0.16449541, -0.06773314) * go_0(-1.0, 0.0); + result += mat4(0.013538097, 0.1583598, -0.055277165, 0.07637614, 0.07473682, 0.22345996, 0.030919895, -0.06126728, 0.02978074, -0.10157281, -0.1264838, 0.00084818545, 0.10940815, -0.0269847, 0.063068226, -0.03479123) * go_0(-1.0, 1.0); + result += mat4(0.043592498, 0.18918565, 0.21017411, -0.023375075, -0.021484343, -0.06985366, 0.21826547, -0.00875028, 0.07610231, -0.08861247, 0.03791508, 0.0031226536, -0.028661136, 0.060399413, 0.0592066, -0.06264682) * go_0(0.0, -1.0); + result += mat4(0.21633635, 0.22528979, 0.47684777, -0.058535807, 0.08307837, -0.19632038, 0.12323838, -0.02472063, 0.056115244, 0.07563149, -0.083180495, -0.07311292, 0.03583403, -0.2776853, -0.20366116, -0.022084663) * go_0(0.0, 0.0); + result += mat4(0.057834644, 0.19703801, -0.047718063, 0.079801254, 0.12549312, 0.026414996, 0.023341564, 0.082731344, 0.14167784, 0.048134133, -0.04772942, 0.09571532, -0.097056195, 0.007009441, 0.06857669, 0.026794193) * go_0(0.0, 1.0); + result += mat4(0.041096892, 0.006188847, 0.11750499, -0.13447829, 0.0017394158, 0.01783059, 0.15956202, -0.03767544, 0.02673659, -0.05342451, -0.14283001, 0.004724371, -0.024063434, 0.023162393, 0.054349884, -0.10900122) * go_0(1.0, -1.0); + result += mat4(0.07189023, 0.014259161, -0.028867813, -0.045834795, 0.14308538, 0.17444627, 0.17258337, 0.022358263, -0.05739824, 0.07874781, 0.00055093376, -0.12329737, -0.063672766, 0.025692929, -0.052464493, 0.17745042) * go_0(1.0, 0.0); + result += mat4(0.026802428, 0.13577338, -0.06985617, 0.074659124, 0.1569288, 0.08905961, 0.012837567, -0.052218303, -0.025591483, 0.119624466, 0.024393069, 0.19790728, -0.037801497, 0.05334152, 0.019320685, -0.012112278) * go_0(1.0, 1.0); + result += mat4(0.05892214, -0.032721363, -0.045643594, -0.030719811, -0.104445435, -0.1574105, -0.06973961, 0.0880568, -0.015203705, -0.13851601, -0.01675903, -0.025943246, 0.05482791, -0.08070468, 0.0048817545, -0.2195491) * go_1(-1.0, -1.0); + result += mat4(0.21571757, -0.1806072, -0.010998025, 0.020393362, 0.021816706, -0.018158916, -0.11101471, 0.016325697, -0.12101562, -0.049236, -0.20187455, 0.1455995, 0.04611496, 0.08955074, -0.098323554, 0.009564463) * go_1(-1.0, 0.0); + result += mat4(0.005143037, 0.031717982, -0.050139457, -0.1109613, 0.03775848, 0.00954106, -0.06293631, 0.0890101, -0.00040289984, -0.03748492, -0.06439364, 0.07678777, 0.08420904, -0.019876583, -0.122263946, -0.06204237) * go_1(-1.0, 1.0); + result += mat4(-0.20215075, 0.050689973, -0.046013024, 0.0023596657, -0.15971628, -0.20731676, 0.12560777, 0.29917854, -0.111574054, -0.04077845, -0.11790463, 0.04522926, 0.18117487, -0.17887163, -0.09449106, -0.32954872) * go_1(0.0, -1.0); + result += mat4(-0.048394788, 0.0773854, 0.069474846, -0.15471548, -0.22533698, -0.03836189, 0.042107325, 0.07787484, -0.19023094, -0.31975862, 0.027023884, 0.22310641, -0.30156738, -0.18671185, 0.10680384, -0.17596984) * go_1(0.0, 0.0); + result += mat4(-0.049384125, -0.10053522, -0.02494229, 0.13089181, 0.12716612, -0.011930183, -0.055107582, -0.011396776, -0.037174955, -0.07332422, -0.037290994, -0.020584442, 0.12331001, -0.15849335, -0.11254808, -0.0070635113) * go_1(0.0, 1.0); + result += mat4(0.10335844, 0.014899349, -0.064154595, -0.0028669129, 0.034805696, -0.18495506, 0.005376811, 0.08496156, 0.013403576, -0.014818112, -0.01596864, -0.03724775, 0.07349724, -0.0763195, 0.0443468, -0.22289227) * go_1(1.0, -1.0); + result += mat4(0.121551886, 0.006529306, -0.013299677, -0.19693732, -0.0043474436, -0.19871178, -0.052884568, 0.074092165, -0.038850788, 0.033550348, -0.08163774, 0.06271596, 0.20859785, 0.0067883697, -0.046475146, -0.48063815) * go_1(1.0, 0.0); + result += mat4(0.083180554, 0.052318644, 0.03218632, 0.11313337, -0.031635284, -0.09441545, -0.004538136, 0.03766669, -0.15290408, 0.029063439, -0.08709602, 0.20032041, 0.10752559, -0.025936332, -0.16803461, -0.31867516) * go_1(1.0, 1.0); + result += mat4(-0.011112246, 0.05966688, 0.08825975, -0.06790863, -0.0754694, -0.19575286, 0.08554758, -0.18269138, -0.1280453, 0.18379766, -0.08955887, 0.17286651, -0.013172642, -0.0035751443, 0.055351105, -0.02254156) * go_2(-1.0, -1.0); + result += mat4(-0.11329527, 0.181477, -0.054028887, 0.037797876, -0.14424248, -0.15426451, -0.0749264, -0.15829895, -0.09827482, 0.13866791, 0.013977896, 0.3066159, 0.03892076, 0.0022721966, 0.088637464, -0.18673263) * go_2(-1.0, 0.0); + result += mat4(0.052434247, 0.1075718, 0.09951973, -0.026689908, -0.082213305, -0.068657055, -0.10954474, -0.36598998, 0.059983972, 0.071539626, 0.105706535, -0.014004922, -0.04493435, -0.00943364, 0.014306285, -0.086277805) * go_2(-1.0, 1.0); + result += mat4(-0.07653824, -0.05569481, 0.12022612, -0.02960086, -0.0827238, -0.12082348, 0.018902717, -0.17416616, -0.03121552, 0.008206833, -0.10166017, 0.0037599066, -0.009543466, 0.0020527479, 0.050042894, -0.10293714) * go_2(0.0, -1.0); + result += mat4(0.14261888, -0.1898871, -0.15847605, 0.028050601, -0.016525509, -0.03094436, -0.19239494, -0.18140908, 0.14230183, -0.33403888, -0.39611194, 0.13778488, 0.1988197, -0.06581933, 0.002683303, -0.108148) * go_2(0.0, 0.0); + result += mat4(-0.037351307, -0.09952294, 0.024785696, -0.0168355, -0.07218153, -0.1065052, -0.081961505, -0.15091445, 0.18406965, 0.13677996, -0.14867578, 0.089149386, -0.05840212, -0.059798297, -0.0201243, -0.029525604) * go_2(0.0, 1.0); + result += mat4(-0.009857878, -0.087470345, 0.011972532, -0.13542594, 0.0354294, -0.20797616, -0.024621738, -0.08760984, 0.072218195, -0.13620329, -0.050354343, -0.17628804, 0.0071922955, 0.0018819867, -0.03858231, 0.018087402) * go_2(1.0, -1.0); + result += mat4(-0.1553403, -0.03627257, 0.004989727, -0.0921159, -0.05149391, -0.21778369, -0.06126919, -0.072652444, 0.22329745, -0.11201775, -0.122997835, 0.05540077, -0.07249663, 0.0042517297, -0.05706445, 0.017356722) * go_2(1.0, 0.0); + result += mat4(-0.05847665, -0.015685597, 0.14335254, -0.007372796, -0.0077773617, -0.08556339, 0.06739385, -0.04068274, 0.15799382, 0.038163103, 0.05265575, -0.08238097, 0.040807348, -0.07065019, 0.028166778, -0.15436243) * go_2(1.0, 1.0); + result += mat4(-0.16044334, 0.283655, -0.022656776, 0.08448171, -0.038254652, -0.044832315, 0.08454063, 0.007472126, -0.009800128, 0.18591672, 0.10872203, -0.058036473, -0.098420285, 0.023155827, -0.04196021, 0.09891162) * go_3(-1.0, -1.0); + result += mat4(-0.17852576, 0.54625523, -0.081733584, 0.081366554, -0.069625385, -0.11218507, 0.028421586, 0.071588986, -0.014985082, -0.087979324, 0.3142317, -0.19760501, -0.16015647, 0.13895224, -0.2701074, 0.30648437) * go_3(-1.0, 0.0); + result += mat4(-0.014566373, 0.02057931, 0.10014358, 0.06578205, -0.15359782, -0.11839336, 0.13061163, 0.076945096, -0.01413561, -0.013397205, 0.015244041, -0.10279087, 0.09975661, -0.023128696, -0.016278943, 0.18001132) * go_3(-1.0, 1.0); + result += mat4(-0.06356644, 0.14646067, 0.016344864, -0.013904187, 0.064943634, -0.1281504, -0.06950529, -0.028252209, -0.011304186, 0.04061305, 0.09251525, -0.05251633, 0.09714447, -0.05430799, -0.17469239, 0.1850043) * go_3(0.0, -1.0); + result += mat4(-0.14378282, 0.22984904, 0.32252252, 0.26133427, 0.45289674, 0.14866802, -0.24101377, -0.18861331, -0.030501021, -0.1883431, -0.13604005, -0.15657176, 0.020317623, 0.23096721, 0.10420801, 0.15710264) * go_3(0.0, 0.0); + result += mat4(0.06454669, -0.04189079, 0.056962494, -0.04948231, -0.2148223, -0.039649688, -0.0113121355, 0.20814565, 0.111416936, -0.035151463, -0.056465276, -0.080573045, -0.07819258, 0.018179936, -0.2283728, 0.12155499) * go_3(0.0, 1.0); + result += mat4(-0.02560027, 0.070398115, -0.02989104, 0.028688442, 0.04278315, 0.013474358, -0.07253673, 0.02276444, 0.12581308, -0.03901054, 0.08311041, -0.08153711, 0.02564736, -0.043852035, -0.028089473, -0.044236403) * go_3(1.0, -1.0); + result += mat4(0.09625976, 0.005770156, 0.16631871, -0.1034893, -0.19147423, 0.004631949, -0.07540428, 0.015621006, 0.03929467, 0.04762953, -0.080173716, -0.10179307, 0.059833538, 0.05659006, -0.13382521, -0.0313998) * go_3(1.0, 0.0); + result += mat4(0.07715199, -0.03317866, -0.024203375, -0.1298324, -0.09655965, -0.026206894, 0.18922973, 0.07624604, -0.007847103, -0.058786727, -0.049493928, 0.019805223, -0.008090047, -0.019503202, -0.064513676, 0.10351463) * go_3(1.0, 1.0); + result += mat4(0.022054255, -0.07858889, -0.10127163, -0.06832876, -0.07584891, 0.04215273, -0.0029053919, 0.08290376, -0.03475005, 0.08332925, 0.009553486, 0.07245685, -0.017920833, 0.015080806, -0.0002565289, 0.006093501) * go_4(-1.0, -1.0); + result += mat4(0.09178481, 0.013873079, -0.02395207, -0.133258, -0.08877421, -0.21369275, -0.11754095, 0.17205496, 0.012909828, 0.10264451, 0.23808923, 0.055029023, 0.034399036, -0.046347205, 0.0067525543, 0.0777463) * go_4(-1.0, 0.0); + result += mat4(-0.02699122, 0.04746888, -0.113287434, -0.025223, -0.005920497, -0.21902934, -0.13731015, 0.014423957, 0.036004063, 0.05559045, -0.0655789, 0.13083544, -0.06181434, 0.042077873, 0.022695009, 0.043042142) * go_4(-1.0, 1.0); + result += mat4(0.05076442, -0.06772015, -0.044568565, -0.018430268, -0.046832457, 0.14489225, 0.118378006, 0.053310696, 0.117090195, 0.23086876, 0.058276806, -0.03198186, -0.026497893, 0.09645919, 0.08429416, -0.022437949) * go_4(0.0, -1.0); + result += mat4(0.06788362, -0.071499035, -0.03412108, -0.1442882, -0.061426826, 0.15115702, 0.20443979, 0.42235458, 0.34301203, 0.15906362, -0.4573595, -0.38218448, 0.074763715, 0.03956433, -0.2741876, -0.045825735) * go_4(0.0, 0.0); + result += mat4(0.042785604, 0.086842, 0.06526033, -0.26330376, -0.13392642, -0.09802622, -0.060285453, -0.04659627, 0.063904576, 0.030205727, -0.02990855, -0.03692373, 0.009259516, -0.033007562, -0.027945964, 0.12487634) * go_4(0.0, 1.0); + result += mat4(-0.04833785, 0.025812654, 0.09670586, -0.0398005, 0.084576905, 0.006827775, 0.21430464, -0.062337395, 0.01071662, 0.042277753, -0.07786652, 0.080589384, 0.050834, -0.018442666, -0.10043296, 0.0051965285) * go_4(1.0, -1.0); + result += mat4(-0.06940597, 0.0052362564, 0.11979121, 0.002420146, -0.014626038, -0.033247836, 0.07638099, 0.024731234, 0.13817027, -0.034607813, 0.069013715, -0.1591328, 0.017410269, 0.020814985, -0.071453065, 0.07467316) * go_4(1.0, 0.0); + result += mat4(-0.03586743, 0.0875829, 0.14604242, -0.08374493, -0.015870938, -0.037566822, -0.04257119, 0.013528102, 0.051471747, -0.00025074458, -0.043193746, -0.10538127, -0.0122199105, -0.0105835805, 0.096613646, -0.0008547738) * go_4(1.0, 1.0); + result += mat4(-0.09195929, -0.01251629, 0.1138194, -0.03152187, -0.027415436, 0.017695861, -0.05137721, -0.0006171527, 0.021749081, 0.070172004, 0.057883944, -0.031044329, -0.036268383, -0.17082807, -0.0331674, -0.03538632) * go_5(-1.0, -1.0); + result += mat4(-0.27754265, -0.029477704, 0.34336638, -0.0011287191, -0.025141917, 0.034894004, 0.048627432, 0.053214233, -0.053281713, 0.03867139, -0.028029127, 0.09459172, 0.008080466, -0.122576915, -0.020655254, -0.1817124) * go_5(-1.0, 0.0); + result += mat4(-0.1662597, -0.15292045, -0.0053951927, -0.067345075, 0.00020036062, -0.0026049272, -0.038856488, 0.00017393462, -0.03796784, -0.03248859, -0.024195418, 0.06486219, 0.09273242, -0.1581097, 0.03317699, -0.08153722) * go_5(-1.0, 1.0); + result += mat4(-0.11341117, 0.036644243, 0.20370142, -0.12600902, 0.02261616, -0.033919003, 0.028898139, 0.019782161, 0.20895214, -0.09579635, -0.08383094, -0.04259736, 0.0101915635, -0.034835722, 0.05754228, 0.027356239) * go_5(0.0, -1.0); + result += mat4(-0.104123175, 0.122171596, 0.2642155, -0.08453785, 0.019124847, -0.03925304, 0.08668516, -0.16025878, -0.17377967, 0.3448709, 0.024630664, -0.080416046, -0.41245192, 0.062051725, 0.0105510065, -0.19370769) * go_5(0.0, 0.0); + result += mat4(0.021447789, -0.06635468, 0.01480373, 0.04688862, 0.02536135, 0.031706117, 0.019310655, -0.045567643, -0.109611645, -0.11746073, 0.07113426, 0.16584454, 0.05936068, -0.027226295, 0.073482916, -0.12929685) * go_5(0.0, 1.0); + result += mat4(0.0190673, 0.0045874445, 0.09324168, -0.13466571, 0.010220709, 0.037733227, -0.0111948475, 0.006582617, -0.027675852, 0.103390485, -0.15095036, 0.1242396, 0.04393306, -0.0034322627, 0.12748775, -0.08938276) * go_5(1.0, -1.0); + result += mat4(0.05321518, 0.025193566, 0.17684115, -0.017202778, -0.019295435, -0.046254706, 0.055901498, 0.02723333, -0.1394657, 0.054581758, -0.0807223, -0.047655288, 0.048698746, -0.045940652, 0.19415994, 0.0033838819) * go_5(1.0, 0.0); + result += mat4(-0.017342623, 0.116635494, 0.012575626, 0.04339496, 0.0025065525, -0.004621888, -0.049964648, 0.0034235734, 0.04433295, 0.033285826, -0.11080989, 0.124883905, 0.06634157, -0.040422186, -0.04232008, 0.07501063) * go_5(1.0, 1.0); + result += vec4(-0.06898461, -0.06177714, -0.06478548, 0.022993876); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!SAVE conv2d_3_tf2 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.0349472, -0.09146782, -0.015455071, -0.02013195, -0.013576279, 0.1715199, -0.060827523, -0.060094133, -0.06020249, -0.02977466, -0.010053687, -0.0333128, 0.08293437, 0.08380394, -0.062162157, 0.09678952) * go_0(-1.0, -1.0); + result += mat4(0.09930308, -0.07924828, 0.013899443, -0.44464898, -0.03707883, -0.006584696, -0.05389371, -0.060199857, -0.019344926, -0.01931973, -0.09749517, -0.0686553, -0.07339165, -0.048708685, 0.01131454, 0.1376503) * go_0(-1.0, 0.0); + result += mat4(-0.26070634, 0.040811583, 0.116160385, 0.21038511, -0.27048224, 0.0031473516, 0.032511245, 0.121619865, 0.047579095, -0.114472836, 0.058695633, 0.019592037, -0.03866724, 0.15776725, -0.008668879, 0.05827778) * go_0(-1.0, 1.0); + result += mat4(0.121598184, 0.08180447, -0.03398555, -0.063269034, 0.20604548, 0.0030689642, -0.009161656, -0.10142109, -0.09195833, -0.12376092, -0.05792068, 0.071478724, 0.055384632, 0.0047193686, -0.037130035, -0.04934333) * go_0(0.0, -1.0); + result += mat4(0.12193808, 0.1254089, 0.4908329, -0.21140434, 0.12811103, -0.15737641, -0.23926133, 0.43005112, 0.15134192, -0.08466868, 0.12739879, 0.0066337097, 0.16472779, -0.105588906, -0.22597887, 0.14652383) * go_0(0.0, 0.0); + result += mat4(-0.16729999, -0.03391507, 0.07358867, 0.060984816, -0.12153663, 0.06727532, 0.18193701, 0.08977565, 0.11250762, -0.018742424, -0.15230577, -0.14556353, 0.16327548, 0.095403135, -0.13089553, 0.072550654) * go_0(0.0, 1.0); + result += mat4(0.13752456, 0.03894747, 0.031068675, 0.023082117, 0.17917861, 0.07080096, -0.011008945, -0.09391019, -0.006836284, -0.015607849, 0.046196267, 0.015853055, -0.12630671, -0.081082314, -0.086036764, 0.1590758) * go_0(1.0, -1.0); + result += mat4(0.012728998, -0.09810741, 0.14294422, -0.059659157, 0.03056563, -0.024036996, -0.015403818, -0.118189946, -0.051906176, -0.17971419, -0.0959625, 0.08985921, 0.10979987, 0.10597462, -0.043452974, 0.03186385) * go_0(1.0, 0.0); + result += mat4(0.020659165, 0.049573228, 0.051704157, 0.028366942, 0.022190692, -0.051479015, 0.054295983, -0.017384693, 0.0026946815, 0.010077197, -0.012801315, 0.0016714733, 0.08869389, 0.05164402, 0.03406929, -0.037191015) * go_0(1.0, 1.0); + result += mat4(-0.10028344, -0.16634189, 0.019711684, 0.020383958, -0.084915325, 0.11053288, -0.07768085, -0.01981037, 0.107243344, -0.012217411, -0.023985125, -0.08483301, -0.19850655, -0.06305865, 0.03655547, 0.06864395) * go_1(-1.0, -1.0); + result += mat4(0.20698719, -0.2885775, 0.059498087, -0.008909828, -0.08331985, 0.13849287, 0.032946825, 0.14271452, -0.104721665, 0.12004092, 0.14654724, -0.004502498, 0.006716589, -0.17328952, 0.014115839, -0.016801946) * go_1(-1.0, 0.0); + result += mat4(0.041014872, -0.080156274, -0.043762606, 0.0528254, -0.04514068, -0.073835544, 0.04116111, -0.0028962197, 0.06113734, -0.00660851, 0.04496306, -0.19104107, 0.10144654, -0.19428198, -0.04189575, -0.027004357) * go_1(-1.0, 1.0); + result += mat4(0.076202326, 0.031882156, -0.08089088, 0.02722187, -0.24690835, -0.035489604, 0.17377102, -0.046913855, 0.09538933, 0.13880032, 0.032495037, -0.053468306, 0.018272033, -0.13557187, -0.0016809801, 0.16564687) * go_1(0.0, -1.0); + result += mat4(-0.1318004, 0.0781202, 0.026608787, 0.2782413, -0.015252272, 0.06966941, 0.6830404, -0.21273687, 0.035827838, -0.013433616, -0.19725588, 0.115758345, 0.12179782, -0.1338549, -0.041967906, 0.3419551) * go_1(0.0, 0.0); + result += mat4(-0.06732849, -0.00047242, -0.09643446, -0.048419215, 0.030914927, -0.13920021, 0.08296221, 0.042942315, 0.18975921, 0.023672665, -0.08061805, -0.11823857, -0.055623423, -0.1345549, 0.1951731, 0.10466201) * go_1(0.0, 1.0); + result += mat4(-0.042122774, -0.14092919, 0.097806625, -0.16809812, -0.0017256415, 0.07320015, 0.02623979, 0.056631763, -0.059066445, 0.050315112, 0.022210397, 0.020917628, 0.07918204, -0.047513902, -0.022105288, 0.017238917) * go_1(1.0, -1.0); + result += mat4(-0.10645019, -0.2826466, 0.06739196, 0.09756199, 0.031106336, -0.08260654, -0.036933657, 0.050086416, 0.0987824, -0.033137392, 0.08894681, -0.23773453, 0.023050837, -0.23565383, -0.09519961, 0.09613443) * go_1(1.0, 0.0); + result += mat4(-0.05644008, -0.21541502, 0.11537729, -0.13721548, -0.020957267, 0.10175056, -0.052707233, 0.17628355, 0.028461214, 0.3014536, -0.038585383, -0.014727664, -0.044595238, -0.10416226, -0.04355546, 0.22365475) * go_1(1.0, 1.0); + result += mat4(-0.08733939, 0.08058479, -0.004023699, -0.025807053, -0.002117148, -0.23746334, 0.065963335, 0.020958645, -0.22460108, -0.009205423, -0.07651075, -0.15989082, 0.05807728, 0.023019457, -0.05400351, 0.075997986) * go_2(-1.0, -1.0); + result += mat4(-0.18092917, 0.29806077, 0.024918934, 0.114404745, 0.049839694, -0.18546863, 0.12478854, 0.13304788, -0.15392973, 0.051560715, -0.06856269, -0.3036006, 0.08124072, -0.05298596, -0.030516481, 0.12273301) * go_2(-1.0, 0.0); + result += mat4(-0.09820723, 0.08067553, 0.029639702, 0.03668786, -0.10049537, -0.19294576, 0.17826727, 0.1635976, -0.16384046, -0.1220917, 0.008744192, 0.012697882, -0.043205783, 0.10298051, 0.021135183, 0.15958472) * go_2(-1.0, 1.0); + result += mat4(0.021761253, 0.1893263, -0.0020750812, 0.14222866, -0.103759706, -0.13740262, 0.08272797, -0.059319258, 0.13402042, -0.07973959, 0.08683529, -0.15174694, -0.1330933, -0.036825962, -0.0028282823, 0.021407785) * go_2(0.0, -1.0); + result += mat4(0.12504603, 0.2479715, -0.35803804, -0.026018003, 0.022745723, -0.07542199, 0.23766859, -0.056435704, 0.033115927, 0.22251359, 0.09025703, -0.39158693, 0.28631303, -0.13876301, -0.4956844, 0.55813307) * go_2(0.0, 0.0); + result += mat4(0.16973238, 0.107451506, -0.10936354, 0.025205612, -0.0154478075, -0.22515228, 0.0618484, -0.053435117, -0.1634102, -0.2720532, 0.22150621, 0.0012615388, 0.045661222, 0.028745374, 0.043213993, 0.014749005) * go_2(0.0, 1.0); + result += mat4(0.08600755, 0.11467286, -0.030524427, 0.025168872, -0.10489299, -0.37458676, 0.07771989, -0.0042441254, -0.11694848, -0.35681316, 0.04747507, -0.0027261428, -0.025253184, -0.08753649, -0.006478329, -0.027177837) * go_2(1.0, -1.0); + result += mat4(-0.0007465437, 0.28975293, -0.18405293, 0.119266, -0.10667221, -0.1802464, 0.19241495, 0.02650873, 0.010430683, -0.23149595, -0.031080026, -0.0006125235, 0.037027247, -0.09754189, 0.04630445, -0.018924896) * go_2(1.0, 0.0); + result += mat4(0.019050436, 0.17480409, -0.13520603, 0.09094483, -0.02445997, -0.21114577, 0.050991118, -0.029637761, -0.16994584, -0.2239252, 0.11126132, -0.06577722, 0.056996938, 0.006512977, -0.049459394, 0.07697084) * go_2(1.0, 1.0); + result += mat4(0.16364041, -0.058814153, -0.07960281, -0.22106613, 0.051421925, 0.13432528, 0.03029435, -0.053310465, -0.043934733, 0.28936264, -0.07070681, -0.04899224, -0.11805805, -0.028338438, 0.100599535, -0.048358817) * go_3(-1.0, -1.0); + result += mat4(-0.14466347, 0.2542083, 0.114321895, 0.060320944, 1.432933e-05, -0.009625721, -0.037658967, -0.22428983, -0.0722048, 0.03882146, 0.17885631, 0.16377795, 0.112711646, -0.13564147, -0.022007236, -0.20185186) * go_3(-1.0, 0.0); + result += mat4(0.1199308, 0.065274626, 0.040273953, -0.029960137, 0.14304884, 0.059161276, -0.02586767, -0.19456553, -0.020681847, -0.03329421, 0.026978612, 0.06485361, 0.088268556, -0.0095202075, -0.1777034, -0.06573516) * go_3(-1.0, 1.0); + result += mat4(0.19750524, -0.124522515, 0.04549369, -0.14726287, -0.13690545, 0.06770214, 0.105929896, 0.10787474, 0.21234562, 0.15915224, 0.12821364, -0.10518945, -0.019162156, 0.060908437, 0.0070991656, -0.05853554) * go_3(0.0, -1.0); + result += mat4(-0.332194, -0.1090442, 0.11825454, 0.0843628, -0.03258615, 0.08459736, 0.11480732, -0.047636237, -0.095243596, 0.07337737, -0.11959047, 0.14512871, 0.034495726, -0.086968474, 0.19812642, -0.013120597) * go_3(0.0, 0.0); + result += mat4(0.038461242, 0.03316589, 0.09561463, 0.18557192, -0.010941443, 0.0907286, -0.016086651, -0.23144832, -0.044253506, -0.058702238, -0.0011041966, -0.045634367, -0.09162548, -0.045157652, -0.021990022, 0.13162635) * go_3(0.0, 1.0); + result += mat4(-0.02456783, -0.03417151, 0.053517457, 0.0039862576, -0.005629444, -0.027595684, -0.09233445, -0.05521366, -0.028361535, -0.10314045, 0.05208228, -0.01962492, -0.096213296, -0.024513567, -0.05102384, 0.13520533) * go_3(1.0, -1.0); + result += mat4(0.08790174, -0.1792104, 0.06702363, 0.036870077, -0.08648169, 0.2826172, -0.17046972, 0.019982012, -0.036582787, -0.055289216, -0.008255741, 0.004824183, 0.03871658, 0.032730278, -0.05807295, 0.06396422) * go_3(1.0, 0.0); + result += mat4(0.032679293, -0.15864716, 0.06863736, 0.038946554, -0.009387644, 0.2248399, -0.022594031, -0.18380828, 0.08792525, -0.053283963, -0.112759285, 0.027726877, -0.086085774, -0.12300368, 0.05827494, -0.17386718) * go_3(1.0, 1.0); + result += mat4(0.08048039, -0.1314228, -0.037761286, 0.047317382, -0.08880487, 0.06179501, 0.07499687, 0.05924045, -0.045838207, 0.18014897, -0.025729936, 0.16530922, 0.06670338, 0.048252247, -0.012380218, 0.02654277) * go_4(-1.0, -1.0); + result += mat4(0.090738244, -0.07097098, 0.02538609, 0.025717502, -0.031697266, -0.09336655, -0.018525556, -0.18561147, 0.036027636, -0.044611387, -0.06725372, -0.183522, 0.0788194, -0.02451563, 0.034200825, -0.032755863) * go_4(-1.0, 0.0); + result += mat4(0.06220659, -0.042783756, -0.021792164, -0.0828951, -0.060966644, 0.0074828877, 0.10836738, 0.12144929, -0.07855744, -0.022806635, 0.02449449, -0.08472964, -0.00337497, 0.14822102, -0.0063337362, -0.022158459) * go_4(-1.0, 1.0); + result += mat4(-0.015443758, -0.14636597, 0.092075996, -0.032396555, 0.57801515, -0.038087387, -0.002455976, -0.21212098, -0.25436863, -0.0014624707, -0.06944989, 0.041554075, 0.07314171, -0.031875722, -0.0898564, -0.009711315) * go_4(0.0, -1.0); + result += mat4(0.39667594, -0.19510192, -0.15319824, 0.09397803, 0.11162815, 0.08910584, -0.17241088, -0.32170787, 0.099810265, -0.24704264, 0.3502755, 0.076993406, -0.011241086, -0.027046101, 0.24804646, -0.03629868) * go_4(0.0, 0.0); + result += mat4(0.04532466, -0.025737574, 0.076878645, -0.022860521, -0.21166173, 0.0066573257, 0.11451736, 0.098494835, 0.054614626, 0.0324795, -0.07475363, -0.016862292, 0.12980871, -0.12060518, -0.078866445, -0.037514597) * go_4(0.0, 1.0); + result += mat4(-0.077329785, 0.20992881, -0.024529329, 0.032680444, 0.28252345, -0.053790633, 0.17370275, -0.14319752, -0.19114175, 0.012085368, 0.0410558, 0.08803704, -0.077949844, -0.15750417, 0.030377569, 0.0388851) * go_4(1.0, -1.0); + result += mat4(-0.063492425, 0.12690471, 0.008844376, -0.14553507, 0.17035894, 0.18411207, 0.21632117, -0.015488823, -0.02806988, -0.13371038, -0.12625034, 0.20475954, -0.059775293, -0.055161443, -0.05210265, 0.15280373) * go_4(1.0, 0.0); + result += mat4(-0.03649832, 0.09987268, 0.05120556, 0.025184184, -0.058899805, -0.07387821, 0.18710648, -0.10555811, -0.02759419, -0.19976474, -0.064043306, 0.030171674, 0.016179368, 0.04791283, -0.053911958, 0.050767425) * go_4(1.0, 1.0); + result += mat4(0.03843477, 0.25258064, 0.016070124, 0.028574495, -0.0068474114, 0.06865137, 0.022342455, -0.0075285095, -0.025927907, 0.029985406, 0.013440689, -0.012433278, 0.014569347, -0.11100144, 0.12033138, 0.010771042) * go_5(-1.0, -1.0); + result += mat4(-0.015851736, 0.3167264, -0.0836191, -0.005717406, -0.064080216, 0.070136465, -0.06756247, -0.023658438, 0.011184833, -0.17086872, -0.01512278, -0.13807635, -0.077147275, 0.06359306, 0.044558518, 0.17371671) * go_5(-1.0, 0.0); + result += mat4(0.016337229, 0.2540961, -0.1538914, 0.05068191, 0.027084729, 0.00067840813, -0.00576344, -0.00596408, -0.011028981, 0.036047217, 0.03535427, -0.0008666505, -0.01604948, -0.035426773, 0.09279044, 0.16961862) * go_5(-1.0, 1.0); + result += mat4(0.26191124, 0.17618547, -0.060725193, -0.10107231, 0.028958656, 0.0012716176, 0.0041506914, -0.0021748038, -0.35696867, -0.09372129, 0.12742971, 0.23923989, 0.09219072, 0.024196591, 0.003192825, -0.041768644) * go_5(0.0, -1.0); + result += mat4(-0.17835465, 0.8621154, 0.32936049, -0.058551144, -0.021967549, -0.15256044, 0.07056792, -0.010208738, -0.25470692, -0.31490391, -0.16554967, 0.08553254, -0.14494352, 0.077428155, 0.29464936, -0.25275782) * go_5(0.0, 0.0); + result += mat4(-0.06149193, 0.16008708, 0.08229276, 0.027298545, -0.043383293, -0.025251184, 0.035522345, 0.043242358, -0.016117992, 0.0016717165, -0.011271885, -0.08116671, -0.06230632, -0.0059490846, 0.06996346, 0.087275974) * go_5(0.0, 1.0); + result += mat4(0.2020623, 0.18089826, -0.052554823, 0.09357937, 0.007033659, 0.026354209, 0.013584589, -0.005457746, -0.22913294, 0.13770905, -0.056017175, 0.027802086, 0.18037985, 0.03405338, 0.006718533, 0.02469646) * go_5(1.0, -1.0); + result += mat4(0.028112786, 0.16723098, 0.0066787126, 0.07016463, 0.046073828, 0.044055372, -0.047022585, -0.060435526, -0.041117955, 0.03657766, 0.0816698, -0.15707959, 0.22355783, 0.020610418, 0.0853779, -0.12445744) * go_5(1.0, 0.0); + result += mat4(0.05012942, -0.045172162, 0.08681702, -0.06541369, -0.01762828, 0.011376011, 0.015611381, 0.027792938, 0.013394507, 0.034215946, 0.06960491, -0.064838886, 0.03150636, -0.038445942, 0.17026442, 0.023619778) * go_5(1.0, 1.0); + result += vec4(0.067609355, -0.057853002, -0.09608125, 0.087347224); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.0903666, 0.07326563, 0.12570351, -0.0861333, 0.08773195, 0.08107881, -0.23008522, 0.081658274, -0.080930784, 0.095189065, -0.09599475, -0.012844856, -0.057758823, -0.05387305, 0.035611577, 0.06831291) * go_0(-1.0, -1.0); + result += mat4(0.10193587, 0.24297304, 0.052464593, -0.23271905, -0.051271625, -0.04671388, -0.41551715, 0.096072406, -0.08061266, 0.15575954, -0.02978901, 0.02782589, -0.12731546, 0.100969315, -0.036334585, 0.04111131) * go_0(-1.0, 0.0); + result += mat4(-0.07986279, 0.06354848, 0.054493763, 0.02064465, 0.1899048, -0.23340854, -0.020978438, -0.11192701, 0.0894504, 0.10851951, 0.022597404, -0.093431845, 0.1323124, -0.037850555, -0.07144082, -0.11149757) * go_0(-1.0, 1.0); + result += mat4(0.20984441, 0.1316296, 0.028271135, -0.3395805, -0.060018715, 0.09772287, 0.023952218, 0.09067281, -0.024634736, 0.11768398, 0.12226884, 0.11482385, 0.09000994, 0.17652623, 0.16630758, -0.11148413) * go_0(0.0, -1.0); + result += mat4(0.16063517, 0.05484425, -0.013026712, 0.09420388, -0.07708702, -0.15001677, -0.17628206, -0.29337302, -0.12929626, 0.19321969, -0.19692437, 0.18910687, -0.5376053, 0.0024577375, 0.18347259, -0.036233984) * go_0(0.0, 0.0); + result += mat4(-0.06877196, 0.057344403, -0.18521468, -0.26043263, -0.027829815, -0.3474636, 0.074399404, 0.02000891, 0.10101197, 0.18005812, 0.018405264, 0.16208377, 0.2572691, -0.061031613, 0.12526059, 0.015687834) * go_0(0.0, 1.0); + result += mat4(0.12139206, 0.10150127, 0.12223164, -0.0033110923, 0.025267506, 0.0043354593, 0.04014963, 0.054613993, 0.0041964273, 0.18711057, 0.1130988, -0.010105996, -0.11398717, 0.15550865, 0.011355651, 0.0013034486) * go_0(1.0, -1.0); + result += mat4(0.018920925, -0.1981446, -0.0015773224, 0.17280231, -0.1158759, 0.034413345, 0.18601055, -0.058082208, -0.05751512, -0.014871481, 0.026116839, 0.22214632, -0.109278515, -0.07075786, 0.14865029, 0.06923859) * go_0(1.0, 0.0); + result += mat4(-0.04858135, 0.06361807, 0.03608349, -0.35027486, -0.22905546, 0.228983, -0.080485426, -0.12832811, -0.08297812, 0.27370456, -0.040313505, 0.12175736, -0.0088722585, -0.027337799, 0.082081, 0.036823895) * go_0(1.0, 1.0); + result += mat4(-0.09081754, -0.121576175, -0.004420886, 0.03107195, -0.009208461, 0.093130514, -0.100094385, 0.07485617, 0.10638224, 0.10978887, 0.033434544, -0.0109705, 0.051747587, -0.04629124, 0.022032369, -0.061933544) * go_1(-1.0, -1.0); + result += mat4(-0.026675375, 0.24803858, -0.3505403, 0.061843242, 0.22817075, -0.22713637, 0.030461052, -0.28470376, 0.021492813, 0.026554195, -0.014637818, 0.05059166, 0.26264945, 0.019178726, -0.084112, -0.11228049) * go_1(-1.0, 0.0); + result += mat4(0.24368168, -0.09750266, -0.08355252, -0.19701716, -0.07022316, -0.021431576, -0.041753594, 0.097228795, 0.05831718, 0.046489198, -0.013535228, -0.1277287, -0.028432956, 0.11263107, -0.038870994, 0.052972272) * go_1(-1.0, 1.0); + result += mat4(0.34507847, 0.16310076, 0.3261618, -0.08031221, -0.024778686, 0.030581996, -0.23252021, 0.07368026, -0.1457359, -0.05583193, -0.08619469, 0.025661029, 0.122622915, 0.107637696, 0.07717542, -0.0069369692) * go_1(0.0, -1.0); + result += mat4(-0.025063993, -0.32267594, 0.04222844, -0.6405562, 0.08737213, 0.05898279, -0.24921863, -0.37281784, 0.33026382, -0.037117995, -0.48083028, -0.1576151, 0.031603996, 0.13712752, 0.08525082, 0.13751547) * go_1(0.0, 0.0); + result += mat4(-0.1717367, 0.16379626, -0.080398574, 0.02730318, -0.08700865, 0.18012185, -0.039455075, 0.1875848, -0.058620475, 0.070274726, -0.07203947, -0.004408652, 0.11834384, -0.17019957, -0.1841911, -0.16539739) * go_1(0.0, 1.0); + result += mat4(-0.00306162, -0.009568686, 0.04615716, 0.29750574, -0.016171249, -0.22235759, -0.032884303, -0.09805467, -0.23468043, -0.03662323, -0.03754542, 0.031607516, 0.1192756, 0.037513345, 0.06270457, -0.010091852) * go_1(1.0, -1.0); + result += mat4(-0.03238403, 0.044085886, -0.15184736, -0.16677259, 0.21868308, 0.033742618, 0.12541051, -0.20726953, 0.21332125, 0.18820943, 0.11516147, -0.04046913, -0.099226944, 0.008198145, 0.0044930377, 0.10445432) * go_1(1.0, 0.0); + result += mat4(-0.04825399, -0.10125744, -0.016809255, -0.2170602, -0.008085673, -0.0055932486, -0.14474209, 0.12402969, -0.06304857, -0.058890864, -0.03977117, 0.08338651, 0.051681735, -0.046300244, -0.027098775, -0.07750968) * go_1(1.0, 1.0); + result += mat4(-0.110792324, -0.07082374, -0.07643967, 0.0007350921, 0.12548494, 0.027903408, 0.08646201, -0.060506143, -0.0042042546, -0.037406266, 0.13233368, -0.040573254, -0.011526989, 0.0017727965, -0.024684377, 0.023611743) * go_2(-1.0, -1.0); + result += mat4(0.10507391, -0.11524923, -0.045419905, -0.018232401, 0.11517856, -0.017063787, -0.06844106, 0.01649028, 0.042487442, -0.0018217458, -0.048760284, -0.027432851, 0.0701538, -0.07122821, -0.040997203, -0.044356424) * go_2(-1.0, 0.0); + result += mat4(-0.16667375, 0.08508152, -0.1130823, 0.10425934, 0.048882842, 0.0026840174, -0.03628384, 0.017808143, 0.06952142, 0.056811754, -0.06279424, -0.08361375, 0.02647836, 0.07310232, 0.077748105, -0.086376086) * go_2(-1.0, 1.0); + result += mat4(-0.057241924, -0.0933121, -0.071363084, 0.04463695, 0.082285576, 0.11622887, 0.18159458, -0.109704174, -0.13580221, 0.07275989, 0.01771122, 0.05640307, 0.07454414, 0.14722411, 0.111302465, 0.07975774) * go_2(0.0, -1.0); + result += mat4(-0.1331026, -0.054009046, 0.12211443, 0.083527334, -0.13672769, -0.015313354, 0.13764748, -0.086164065, 0.12795652, -0.03282714, 0.1579073, 0.048787095, 0.012054846, -0.01882002, 0.13269778, -0.2241914) * go_2(0.0, 0.0); + result += mat4(-0.14854619, 0.11223546, -0.07340829, 0.17087477, -0.035288546, 0.073113, 0.031149026, 0.08732851, 0.11652912, 0.11133054, -0.011138846, -0.04347902, 0.22826026, -0.06315385, -0.083217576, -0.16983536) * go_2(0.0, 1.0); + result += mat4(6.0946622e-05, -0.1391396, -0.029762868, -0.07732276, 0.08408844, -0.0067310245, 0.018747361, 0.10870239, -0.14702435, 0.04659678, 0.049279176, -0.089539565, 0.008640545, -0.12693758, -0.012340728, -0.0010518627) * go_2(1.0, -1.0); + result += mat4(-0.031445112, -0.059538055, -0.10110316, -0.009243974, 0.07312848, -0.045987524, -0.07739988, -0.18289267, 0.19408458, 0.049652096, 0.1430416, 0.007823552, 0.12752487, 0.1404086, 0.014550228, -0.2000237) * go_2(1.0, 0.0); + result += mat4(-0.02328158, -0.055340275, -0.00890452, 0.05107875, 0.04028763, -0.033579618, -0.14551812, -0.07084914, 0.031724613, -0.11050497, 0.030539952, 0.017960407, 0.013022372, 0.048110507, -0.059791975, -0.069656074) * go_2(1.0, 1.0); + result += mat4(-0.011159195, 0.061231583, 0.023733439, 0.08318157, 0.051980533, -0.081164956, -0.12936994, 0.031314097, 0.038792897, -0.19316009, 0.012015963, 0.1274062, 0.007457571, -0.053334422, -0.06087007, -0.07500442) * go_3(-1.0, -1.0); + result += mat4(-0.12612286, -0.059262786, 0.0013960898, 0.16076264, -0.02753848, -0.040280215, 0.11748305, -0.06767023, -0.08982183, -0.2259159, 0.021500308, -0.050233077, 0.0174376, 0.08059276, -0.011338266, -0.021669568) * go_3(-1.0, 0.0); + result += mat4(-0.09231125, 0.05039252, 0.06589666, 0.0699502, -0.016866742, 0.16463608, 0.008424828, -0.044754602, 0.08277166, -0.26685247, -0.054916486, 0.035318345, 0.017051857, 0.004787585, 0.07064183, 0.08143896) * go_3(-1.0, 1.0); + result += mat4(0.040472284, 0.02196483, 0.019647326, -0.0042990106, -0.0111499615, 0.064750694, -0.1685468, 0.1236021, -0.14509638, -0.23636436, -0.03507012, -0.05882796, -0.003939107, -0.03427979, -0.15588285, 0.14955762) * go_3(0.0, -1.0); + result += mat4(-0.29209736, -0.056658156, 0.12503433, 0.059094626, 0.33155647, -0.31607324, -0.17409548, 0.28301534, -0.07269221, 0.31217432, -0.032151274, 0.13320662, 0.0067921844, 0.12724863, -0.079603665, -0.20445012) * go_3(0.0, 0.0); + result += mat4(0.04944913, -0.24652547, 0.084156096, -0.044976614, 0.13094465, -0.041729383, -0.0043662624, -0.025976455, 0.10950043, -0.24576949, 0.07637044, -0.17560403, 0.03770707, -0.14604908, -0.13370425, -0.08169505) * go_3(0.0, 1.0); + result += mat4(0.06215933, 0.014817449, -0.17584182, -0.119785294, 0.025916845, -0.0045085796, 0.051403407, -0.13932867, -0.029478246, -0.23803446, 0.026629616, -0.04838478, -0.05731936, -0.15141651, -0.014330421, 0.03173533) * go_3(1.0, -1.0); + result += mat4(-0.18867792, 0.1690159, 0.0077506024, -0.08768171, 0.13987596, -0.10401963, -0.00020402495, 0.095776096, -0.059084885, -0.15369008, 0.121360734, 0.11111317, -0.06857354, -0.24787377, -0.07358934, 0.05282127) * go_3(1.0, 0.0); + result += mat4(-0.05825966, 0.15936251, -0.009718466, 0.026246214, -0.054192465, 0.11259584, 0.106545866, 0.0037204623, 0.015858173, -0.2466447, -0.006608056, -0.08228397, 0.014153731, -0.024114707, -0.14019284, -0.008368259) * go_3(1.0, 1.0); + result += mat4(-0.12620875, -0.035311706, -0.017309954, 0.038676415, 0.010007554, 0.103891194, 0.2074349, -0.067182384, 0.04545331, 0.04189184, 0.04593296, 0.01145646, 0.027835514, 0.16188826, 0.12302215, 0.005847866) * go_4(-1.0, -1.0); + result += mat4(-0.08673945, -0.03605757, 0.008751013, 0.006012169, -0.100793496, -0.06794951, 0.22445437, 0.16843331, -0.04668748, 0.15526527, 0.16405432, 0.08034733, 0.095660806, 0.13993011, 0.0714316, -0.2271875) * go_4(-1.0, 0.0); + result += mat4(-0.051425643, -0.060941234, 0.014853939, -0.04170188, -0.040981892, 0.014460391, 0.06914827, -0.092892915, 0.011654809, -0.07164335, 0.05665548, -0.021757752, -0.15187486, 0.25099215, 0.06707618, 0.0014576896) * go_4(-1.0, 1.0); + result += mat4(-0.21007836, -0.02975774, -0.17765106, 0.08210864, 0.04128445, -0.03473088, 0.13388512, -0.062689856, -0.024399463, 0.060575683, 0.016895741, 0.053625587, -0.16646849, 0.20665659, -0.097400986, -0.11676045) * go_4(0.0, -1.0); + result += mat4(-0.012981402, -0.0035834755, -0.19967668, -0.055962507, 0.05755364, 0.16290179, 0.16108987, 0.0443184, 0.022384012, -0.21550876, 0.1993019, 0.10249744, 0.027157044, -0.48223755, 0.14306773, -0.042821236) * go_4(0.0, 0.0); + result += mat4(-0.023187606, -0.0006282703, -0.030281521, -0.034422845, 0.1269488, -0.046393935, 0.056179423, -0.07986905, -0.08863301, 0.033617917, 0.28032312, -0.016831966, -0.09741306, 0.082168706, -0.07072508, 0.1714769) * go_4(0.0, 1.0); + result += mat4(-0.10699955, 0.004617793, -0.13971107, -0.08070923, -0.18738483, 0.37386385, 0.095100455, 0.057784997, -0.048351936, -0.19038375, -0.1161272, 0.088465944, 0.21603039, 0.14161706, -0.17377359, 0.053336773) * go_4(1.0, -1.0); + result += mat4(-0.1607158, 0.11756463, 0.050999135, -0.082914345, -0.13728271, -0.29792574, 0.28438056, 0.45129618, 0.024746796, 0.15315229, -0.117851384, 0.07257279, -0.108341694, 0.20533404, 0.026013765, -0.34590483) * go_4(1.0, 0.0); + result += mat4(-0.14288151, 0.040327024, -0.14112945, -0.08908226, 0.22330604, -0.015938131, 0.033910606, -0.16407411, -0.016470572, 0.09259821, 0.08344142, 0.014396606, -0.04143325, 0.10638457, 0.12549427, 0.016800882) * go_4(1.0, 1.0); + result += mat4(-0.07430705, -0.21602099, -0.02395794, 0.16806927, 0.18771775, 0.040755376, 0.2715868, -0.034169577, 0.00522744, -0.02654015, -0.020816373, 0.16446163, -0.087030225, 0.01551686, 0.0048509445, 0.022507116) * go_5(-1.0, -1.0); + result += mat4(-0.024786156, 0.09243609, 0.09324701, 0.08799725, -0.03968033, -0.14894229, 0.0776629, -0.21654569, -0.099934116, -0.06997516, 0.10485336, 0.040500306, -0.25174686, -0.20299411, 0.13843295, 0.25696677) * go_5(-1.0, 0.0); + result += mat4(0.092044, -0.07171784, 0.23683146, -0.009319925, -0.08805518, 0.12598065, 0.06375242, 0.02844835, -0.029605612, -0.12549727, 0.022440229, 0.006380783, 0.1313304, 0.15739907, 0.08373962, 0.08992246) * go_5(-1.0, 1.0); + result += mat4(-0.27224204, -0.26631516, -0.027027579, -0.030660763, 0.069010764, 0.00686249, -0.17444538, -0.05701314, -0.035538822, -0.26050144, -0.010451579, -0.061782375, 0.16745842, -0.108107746, 0.030468695, -0.16402762) * go_5(0.0, -1.0); + result += mat4(-0.07276476, -0.15297028, -0.25568548, 0.27668282, 0.09677458, 0.098981895, -0.0004217196, -0.00091525156, -0.3077419, 0.44434202, -0.09468051, -0.08462181, -0.26978543, 0.27369836, -0.03669818, 0.2912635) * go_5(0.0, 0.0); + result += mat4(-0.28734738, 0.14579459, 0.22083919, -0.2297294, 0.17505005, -0.04844878, 0.021834318, -0.16736999, 0.0016747294, -0.060896724, 0.028344678, -0.06341938, 0.43723574, -0.2615166, 0.05107712, -0.20119043) * go_5(0.0, 1.0); + result += mat4(0.0272994, 0.22280678, 0.17716415, -0.093996234, -0.11316552, 0.18234952, -0.0010922098, -0.12163143, 0.04821719, 0.0022455743, -0.036408488, 0.022185026, -0.03437743, 0.022541165, -0.11003119, 0.14187692) * go_5(1.0, -1.0); + result += mat4(0.00013664822, -0.34958616, 0.33965272, 0.4091369, 0.047315825, 0.18665253, -0.09821825, 0.070298485, -0.07052871, -0.2640913, -0.13192001, 0.017230166, -0.22303015, 0.0023083845, -0.1482968, 0.0031197562) * go_5(1.0, 0.0); + result += mat4(-0.053096205, -0.023291215, -0.038235445, -0.2354219, -0.012032332, 0.17776853, 0.03697497, -0.25305814, 0.043709055, -0.09948032, -0.08828663, -0.09534956, 0.036391728, 0.05996495, 0.038689792, 0.053753372) * go_5(1.0, 1.0); + result += vec4(0.07657865, -0.057940323, 0.09216576, 0.08710758); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf1 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.12020708, 0.030450096, -0.022563199, 0.13941783, 0.42781577, 0.07196431, 0.03032568, -0.24368697, -0.12174075, 0.18298386, 0.09977972, 0.06440271, -0.021667495, -0.09582143, -0.02372221, -0.012161217) * go_0(-1.0, -1.0); + result += mat4(-0.08614557, -0.16138618, 0.17409417, 0.06457713, 0.2130565, 0.3841125, -0.030690523, 0.014650334, -0.024490908, 0.09859328, -0.033240438, 0.21537182, -0.11260519, 0.3600062, -0.21786173, 0.29394957) * go_0(-1.0, 0.0); + result += mat4(-0.065436006, 0.18217164, -0.009773951, 0.29613763, 0.15861033, 0.19769754, 0.026605047, -0.13012406, 0.049954694, -0.21985927, -0.114034064, -0.19775811, 0.15509593, -0.0096983, 0.04010453, -0.14786181) * go_0(-1.0, 1.0); + result += mat4(-0.12755093, -0.15312608, -0.12672725, 0.14637707, -0.044712905, -0.018509148, 0.34769905, 0.094541386, 0.018899806, -0.068810396, 0.03567579, 0.010715141, 0.26642382, 0.021787789, -0.045413516, -0.0099886125) * go_0(0.0, -1.0); + result += mat4(0.09399624, -0.22073774, -0.03728268, -0.14593096, -0.14311165, 0.01572586, -0.043170083, 0.14196606, -0.0057723937, -0.22462656, 0.28189817, -0.27393398, -0.04240093, -0.22494912, 0.088402055, -0.15256752) * go_0(0.0, 0.0); + result += mat4(-0.054694295, 0.24343663, 0.042853344, 0.2742606, -0.16395031, 0.25720948, -0.12372541, 0.15020733, 0.07335946, 0.06307917, -0.0035989506, 0.045006167, 0.12430964, -0.20227802, 0.16280155, -0.060202613) * go_0(0.0, 1.0); + result += mat4(0.015143897, 0.21408756, -0.12505236, -0.21357507, -0.103595965, -0.074590206, 0.015860647, 0.16365165, 0.082501106, -0.015283817, -0.047005404, 0.048750408, 0.06636161, 0.2280071, 0.0033000826, 0.15148918) * go_0(1.0, -1.0); + result += mat4(0.051213, 0.121158004, -0.2882391, 0.048057787, -0.15921837, -0.04850743, -0.32060388, -0.11430066, 0.0148464935, -0.069417626, 0.11761673, -0.030637275, 0.0030618436, 0.2583576, -0.03774937, -0.23215541) * go_0(1.0, 0.0); + result += mat4(-0.06589957, -0.18402125, -0.1908057, -0.15999734, -0.20722501, -0.41220245, -0.08732743, -0.2800872, -0.11615179, 0.08338717, 0.070668146, 0.16140378, -0.07519341, 0.04610659, 0.025006918, 0.09886883) * go_0(1.0, 1.0); + result += mat4(-0.05963709, 0.021905743, 0.019461332, 0.30714118, 0.053338766, -0.0036449512, 0.051735114, 0.031359527, -0.055139918, -0.03070095, 0.035309043, 0.03333981, -0.028844094, 0.076006815, 0.05232068, -0.0012779629) * go_1(-1.0, -1.0); + result += mat4(0.14548303, 0.08283497, 0.08181831, 0.015030586, 0.0053907307, -0.014007569, 0.051146433, 0.04916237, 0.15514989, 0.07423488, -0.08177836, 0.07886526, 0.05780981, 0.06978046, -0.015533511, 0.11043233) * go_1(-1.0, 0.0); + result += mat4(0.2718494, -0.019822083, -0.0057829386, -0.22661845, -0.099374995, 0.009107718, -0.06340475, -0.0010754272, 0.028092189, -0.20054619, -0.051893793, -0.29571667, 0.093114756, 0.07853305, -0.100233726, -0.0047704247) * go_1(-1.0, 1.0); + result += mat4(0.14986612, 0.0022451372, -0.062067125, -0.17486928, -0.0863647, 0.043254074, 0.2403272, 0.008611301, 0.022587517, -0.11991351, 0.021465946, -0.0043859156, 0.016005747, 0.15905066, -0.07992088, 0.0744741) * go_1(0.0, -1.0); + result += mat4(-0.28244218, 0.1579932, -0.53319496, -0.17382297, -0.015739711, -0.1284182, 0.14516716, 0.29700696, 0.11660257, 0.023022393, 0.07765215, -0.17613792, -0.0067801042, 0.103040695, 0.1726775, -0.05101466) * go_1(0.0, 0.0); + result += mat4(-0.07244159, 0.12475429, -0.15444236, 0.040789705, -0.12216188, 0.025828373, -0.15603372, 0.05882803, 0.18985634, -0.16016626, -0.068549834, -0.39872447, -0.018761588, 0.06250271, 0.16675957, -0.064201385) * go_1(0.0, 1.0); + result += mat4(0.11573142, 0.3193422, -0.07796038, 0.076522775, -0.17158118, -0.078293145, 0.100592226, 0.059703935, 0.12754959, -0.08411796, -0.18692641, -0.18266907, 0.06325651, -0.07590812, 0.16482389, 0.11334052) * go_1(1.0, -1.0); + result += mat4(0.043070253, -0.097845815, -0.16063489, 0.06901578, -0.12220174, 0.07733114, -0.057676736, -0.16375609, 0.14565262, 0.13176636, -0.16553006, 0.05554225, -0.09373497, -0.057028443, -0.23270036, -0.1320336) * go_1(1.0, 0.0); + result += mat4(0.004274229, -0.08707873, -0.07182644, -0.2983437, -0.04152557, 0.04764718, 0.18148302, 0.25483704, -0.079726525, 0.042573344, -0.108663455, -0.11411879, 0.04527909, -0.01938232, -0.0720563, -0.033436943) * go_1(1.0, 1.0); + result += mat4(-0.05914969, 0.03217603, 0.05620841, 0.11179769, 0.008934773, 0.13958941, -0.049832776, 0.011027975, 0.065970905, -0.0034222854, 0.03403987, 0.0469571, 0.046986744, 0.02688478, 0.10363807, -0.07991329) * go_2(-1.0, -1.0); + result += mat4(-0.08938713, 0.10607981, -0.042589642, -0.15378094, 0.031732727, 0.066124596, 0.045595378, 0.0021127507, 0.054374907, 0.0107482, -0.10671928, 0.0074089314, 0.04903823, 0.09358932, -0.018505096, 0.07349409) * go_2(-1.0, 0.0); + result += mat4(-0.010238883, 0.21940914, 0.007697137, 0.21205641, 0.06893976, 0.12995858, 0.057945974, 0.0840761, 0.08816238, 0.071576215, -0.042484447, 0.08113807, 0.08687212, -0.055440724, -0.08699462, -0.09570027) * go_2(-1.0, 1.0); + result += mat4(-0.106894106, -0.2096638, 0.05298109, 0.010998865, -0.08867521, 0.12988189, 0.10647452, -0.097984925, 0.0915472, 0.20006137, 0.18479815, 0.16927278, 0.1631858, 0.008064966, 0.027587382, -0.03482675) * go_2(0.0, -1.0); + result += mat4(-0.19826272, -0.1342889, -0.26001906, 0.04669503, 0.010580549, 0.004505948, -0.01596666, 0.101886965, 0.51708573, 0.01397845, 0.26731327, 0.048002556, -0.41174927, 0.22574128, 0.117833406, -0.06960611) * go_2(0.0, 0.0); + result += mat4(-0.14917673, -0.13293903, -0.031218676, 0.049667537, -0.1060632, 0.10442213, -0.09595242, 0.12595569, -0.016390745, -0.14521241, -0.11187397, -0.09977547, 0.25035715, -0.16168214, 0.1920289, -0.15843187) * go_2(0.0, 1.0); + result += mat4(-0.02411851, -0.11056269, 0.055056043, 0.043598007, -0.0066189542, 0.04634859, 0.12737647, 0.06846502, 0.056652352, -0.10612263, 0.08477219, -0.13697919, -0.04940175, -0.04095268, -0.007203606, 0.16084097) * go_2(1.0, -1.0); + result += mat4(0.052976605, 0.04408607, 0.072765656, -0.08981313, -0.058496203, -0.13047524, 0.04112392, 0.10585218, -0.1758069, -0.015050289, 0.17501082, 0.042282905, -0.12833239, -0.16907021, 0.034734186, -0.117356636) * go_2(1.0, 0.0); + result += mat4(0.009886183, -0.1072079, 0.032444023, 0.008510553, -0.09062318, 0.087005824, 0.03727608, 0.009528718, -0.10054762, -0.10859511, -0.048893284, -0.07000767, 0.056854695, -0.10528974, 0.05492607, -0.07096842) * go_2(1.0, 1.0); + result += mat4(-0.17860578, -0.0105161, 0.029562278, 0.024690636, 0.33631963, -0.029712414, -0.005475538, -0.03374888, 0.11327619, -0.04078819, 0.0033871653, 0.02554949, -0.12539335, 0.043788597, -0.091408, 0.049923938) * go_3(-1.0, -1.0); + result += mat4(0.06232113, 0.12859604, -0.062801324, -0.054190084, 0.024198689, -0.03283934, -0.11320382, -0.17320402, -0.051317126, -0.05357262, 0.06503374, 0.010334861, 0.18220812, -0.23972702, 0.026034402, -0.094274506) * go_3(-1.0, 0.0); + result += mat4(0.0039012742, 0.03340159, 0.00041976577, -0.09593378, -0.08368581, -0.171641, -0.15441188, -0.05075565, 0.017398436, -0.15752153, 0.11208059, -0.07801636, -0.024276018, -0.14415129, 0.053215727, 0.05285977) * go_3(-1.0, 1.0); + result += mat4(-0.0033036366, -0.0017531791, -0.06987429, 0.14468694, 0.32040435, -0.115356, -0.114271276, 0.08943164, -0.10405339, -0.08873277, -0.12369199, 0.10631109, 0.072591804, 0.07545677, 0.007450515, -0.062508635) * go_3(0.0, -1.0); + result += mat4(-0.32389352, 0.36626276, -0.24318767, 0.1114559, -0.041673217, 0.0123305125, 0.08265207, -0.089765444, 0.04077425, -0.10462959, 0.008208994, -0.24475563, 0.21966444, 0.4274681, 0.02538749, -0.072384804) * go_3(0.0, 0.0); + result += mat4(-0.060664598, -0.07931745, -0.04031839, 0.032503996, 0.09535501, 0.060271315, 0.050842766, -0.017118635, 0.20283295, 0.21311453, 0.048262708, 0.13562958, 0.09995353, 0.24902335, 0.166433, 0.1362172) * go_3(0.0, 1.0); + result += mat4(0.09678776, -0.022411423, 0.031022416, 0.04797599, -0.038225997, -0.049748596, 0.0046548736, -0.1178436, -0.070659816, 0.11345608, -0.0496577, -0.04467185, -0.05449646, -0.13758712, 0.037184708, -0.050822448) * go_3(1.0, -1.0); + result += mat4(-0.14028446, -0.019469494, 0.065940395, -0.058915302, -0.044744235, 0.20379432, 0.19095756, 0.077816576, 0.17204207, 0.1072162, -0.1361738, 0.08552834, 0.18237999, 0.08205425, -0.040794145, 0.20306163) * go_3(1.0, 0.0); + result += mat4(0.10820412, -0.0103201205, 0.11818202, 0.05081286, -0.034519948, -0.022716366, 0.012558799, -0.061788525, -0.019103106, -0.024869766, -0.01484149, -0.0041896743, 0.10513332, 0.0644455, -0.0060386304, 0.119789764) * go_3(1.0, 1.0); + result += mat4(-0.12900162, -0.024052832, 0.091144815, 0.042586617, 0.023100799, -0.008685231, -0.18520203, 0.04126034, 0.22155929, -0.053283233, 0.010883973, -0.23124413, 0.015983205, -0.16272338, -0.047610354, 0.09509212) * go_4(-1.0, -1.0); + result += mat4(-0.043675106, -0.13593669, 0.15423402, 0.006204822, -0.20298089, -0.24486437, 0.0793193, -0.04431099, -0.10573373, 0.14105141, 0.008124834, 0.08031386, -0.02944676, -0.0324013, -0.21952143, -0.14495796) * go_4(-1.0, 0.0); + result += mat4(0.096100524, 0.0038778677, 0.08775855, -0.061556816, -0.18265049, 0.10941394, 0.054334268, 0.21996409, -0.050350484, -0.004098584, 0.04015653, -0.022499854, -0.14539535, 0.14758524, -0.34231094, 0.010245374) * go_4(-1.0, 1.0); + result += mat4(-0.23592138, 0.108827986, 0.011998022, 0.08459366, 0.0366679, 0.17635424, -0.09780912, -0.0835654, 0.118454255, 0.035510838, -0.05113816, -0.14397779, 0.07003334, -0.012582954, -0.08026196, -0.07726739) * go_4(0.0, -1.0); + result += mat4(-0.065133855, -0.1601996, 0.30335194, -0.07679822, 0.0087142885, 0.36574212, -0.5694481, -0.0020462046, -0.08609347, -0.020676374, -0.13731648, 0.0025803284, -0.07613569, 0.011341814, -0.238015, 0.17618194) * go_4(0.0, 0.0); + result += mat4(0.056766525, -0.13898206, 0.031484123, 0.037802573, -0.11768987, 0.043203767, -0.12557015, 0.21512888, -0.20422752, 0.0033964422, -0.1128001, 0.031649, -0.18963163, -0.06865018, -0.015203186, 0.017272811) * go_4(0.0, 1.0); + result += mat4(-0.22707051, -0.12006254, 0.047220945, 0.033206593, -0.11796534, 0.14222418, -0.17649753, -0.07965604, -0.08325816, -0.04103228, 0.122222394, 0.05513519, 0.03045633, -0.014383039, 0.2659631, -0.14282666) * go_4(1.0, -1.0); + result += mat4(0.050211295, 0.106638566, -0.12575938, 0.042698536, 0.4065789, 0.48643333, -0.40594426, 0.23580477, -0.09891945, -0.27204368, 0.38514468, -0.17403792, -0.00021442943, 0.036901742, -0.07350521, -0.1137957) * go_4(1.0, 0.0); + result += mat4(0.08275032, -0.10175439, 0.024990086, 0.09118366, 0.054295644, 0.07601656, -0.17207645, 0.071827434, -0.09406783, -0.29794717, 0.062402938, -0.19291654, 0.057635557, 0.10152742, -0.16145273, 0.078694634) * go_4(1.0, 1.0); + result += mat4(-0.14024283, -0.020712407, -0.0006742049, -0.07990848, -0.2780156, 0.01990348, -0.007274932, 0.01683584, 0.058766432, -0.011117602, -0.11561118, -0.085818544, -0.07759575, -0.06813459, -0.117720075, 0.117459066) * go_5(-1.0, -1.0); + result += mat4(-0.11406997, 0.00070567254, 0.0015214743, -0.13617793, -0.1844734, 0.10463744, 0.042494643, 0.09081247, -0.1682752, -0.12013825, 0.15428415, 0.003604667, -0.04138629, -0.37951693, 0.18619955, -0.12595965) * go_5(-1.0, 0.0); + result += mat4(-0.09695181, 0.29682228, 0.042676754, 0.16024598, -0.094654515, -0.10530867, 0.02741278, -0.054255832, -0.02117601, -0.03741268, 0.10694513, -0.04951851, -0.106426254, -0.33196932, -0.14139625, -0.13504466) * go_5(-1.0, 1.0); + result += mat4(-0.1909862, -0.25864232, -0.050149377, -0.01613201, -0.27878955, 0.15964217, -0.16596937, 0.061238922, -0.21866739, -0.15153229, -0.27351984, -0.052200224, -0.04497165, 0.12572336, -0.08926984, -0.13085754) * go_5(0.0, -1.0); + result += mat4(0.1186159, -0.44323534, 0.24520016, -0.17869183, 0.07235415, 0.2055049, -0.15923528, -0.012734702, -0.7115807, -0.0783967, -0.48488334, -0.06875676, 0.2530569, -0.036582347, 0.029272651, 0.16227534) * go_5(0.0, 0.0); + result += mat4(-0.20962486, 0.36621055, -0.2653163, -0.12183859, -0.05926225, 0.19594035, 0.17680155, 0.3601037, 0.08084663, 0.076976806, 0.06040379, 0.16425474, 0.033630535, 0.1259935, 0.15317655, 0.16241911) * go_5(0.0, 1.0); + result += mat4(0.05553488, 0.13082667, 0.07025236, -0.16599798, -0.0755003, -0.06938985, -0.038283534, 0.010487185, -0.0030434306, 0.101001985, -0.09891444, -0.057115134, -0.10988094, 0.13917845, -0.16996992, -0.06362086) * go_5(1.0, -1.0); + result += mat4(0.052476093, 0.2736097, -0.34467006, 0.08840096, -0.2191552, 0.19051385, 0.04366143, 0.084381446, 0.24772783, 0.24381915, -0.19055025, 0.06811196, -0.049013868, 0.0047574267, -0.17637779, 0.18330449) * go_5(1.0, 0.0); + result += mat4(0.061494384, 0.19728619, 0.05241455, -0.12846167, -0.035130713, 0.20945111, 0.08781453, 0.3240593, 0.16286173, 0.028478097, 0.11730352, -0.057671197, 0.04265479, 0.053791273, -0.017982712, 0.0750495) * go_5(1.0, 1.0); + result += vec4(0.050651863, 0.044697866, 0.016666446, -0.015238534); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf2 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.024237188, -0.10422616, 0.06723804, 0.1826598, 0.012947932, 0.45517665, -0.44863597, -0.23032583, -0.13114794, 0.09810647, 0.058437135, -0.08195182, 0.08179358, -0.039700896, -0.039574802, -0.14186196) * go_0(-1.0, -1.0); + result += mat4(0.1629186, -0.2774174, 0.06411593, 0.07094711, -0.3600775, 0.32915217, -0.32015067, -0.28613016, -0.1612731, 0.010733298, -0.05708089, -0.15946425, 0.082519636, 0.09780667, 0.056797463, -0.11305572) * go_0(-1.0, 0.0); + result += mat4(-0.04339018, -0.05268632, 0.012107386, -0.050289553, 0.055016138, 0.09554764, -0.088567086, 0.07149162, 0.040378995, 0.18996446, -0.07771632, 0.13777791, 0.135759, 0.00097233645, -0.05469941, -0.0403182) * go_0(-1.0, 1.0); + result += mat4(-0.0817291, 0.21801636, 0.21970823, 0.32005847, 0.064489774, 0.06965839, -0.30358747, -0.11341012, -0.14858796, 0.11928792, -0.021813538, 0.17499882, 0.12947294, -0.051210806, -0.058405858, -0.025849868) * go_0(0.0, -1.0); + result += mat4(-0.017480569, -0.07665342, 0.055402935, 0.024532886, -0.103406206, 0.052755862, -0.13945164, -0.023136819, -0.08034683, 0.0090520345, -0.10195203, -0.11921826, -0.23000433, 0.35529178, 0.043689124, -0.39272285) * go_0(0.0, 0.0); + result += mat4(0.18001455, -0.19694266, 0.041117262, -0.004510925, 0.23145959, -0.119057, -0.27721423, 0.24195382, -0.10873344, 0.120489694, 0.0634931, 0.010593836, 0.12439531, 0.024893748, -0.34153914, 0.117560826) * go_0(0.0, 1.0); + result += mat4(0.10838369, 0.09057026, 0.051982816, 0.16478422, 0.18629162, -0.103127524, -0.14309822, -0.033989307, 0.021934774, -0.008789755, -0.04308787, -0.06250701, 0.12962283, -0.16955297, -0.14072357, -0.1573379) * go_0(1.0, -1.0); + result += mat4(-0.05150477, 0.19018193, -0.0018513565, 0.049800653, -0.0072638886, -0.09453535, 0.086251326, 0.19729123, -0.0754909, 0.14370134, -0.053820826, -0.04315332, -0.028823897, 0.075814255, -0.06760011, 0.010474355) * go_0(1.0, 0.0); + result += mat4(0.13249592, -0.12863821, -0.098677255, -0.008903099, -0.00075161987, -0.1422283, 0.1321076, -0.016739735, -0.052078467, 0.10682752, 0.072102524, 0.044046365, 0.016139982, 0.06351777, -0.09472882, -0.017490232) * go_0(1.0, 1.0); + result += mat4(-0.024706522, 0.048243694, -0.013107904, -0.19985148, 0.14576256, 0.06643448, -0.063278124, -0.037488308, 0.096271195, -0.05229867, -0.012707279, 0.004028418, -0.06064612, 0.12454419, 0.035423573, 0.19192193) * go_1(-1.0, -1.0); + result += mat4(0.058306698, 0.4169323, -0.2137428, 0.39399233, -0.018209185, -0.047926553, 0.0047757244, 0.18491194, -0.047317795, 0.027071197, 0.065773524, -0.16662115, 0.1758542, 0.040357858, -0.16389023, -0.08795879) * go_1(-1.0, 0.0); + result += mat4(0.1123842, -0.030895762, -0.027667578, -0.07902935, -0.102031484, -0.0044085253, 0.13276444, 0.0027152307, 0.11011939, -0.022880847, 0.08871766, 0.11890982, -0.16875012, 0.0763821, -0.01840331, 0.02001359) * go_1(-1.0, 1.0); + result += mat4(-0.02286322, 0.024675928, 0.10812478, 0.3268884, 0.18656765, -0.089817695, -0.045856882, -0.048997983, 0.09179813, -0.14574316, -0.05584585, 0.04601508, -0.04663327, 0.13533741, -0.027007475, 0.13568604) * go_1(0.0, -1.0); + result += mat4(0.3305947, 0.003312709, 0.38421127, 0.29569045, 0.27463832, -0.15641807, 0.27655235, 0.02949218, -0.049430016, 0.09262954, -0.05639441, -0.0015801551, -0.0867195, 0.01903508, -0.18103446, -0.13115436) * go_1(0.0, 0.0); + result += mat4(0.032399632, 0.035522558, 0.02029329, -0.15271226, -0.22600263, 0.018570898, 0.2614411, -0.043230906, -0.16090661, -0.03576041, 0.1163746, -0.12655982, 0.14196678, 0.043999534, -0.003735901, 0.041733805) * go_1(0.0, 1.0); + result += mat4(-0.17129399, 0.035248592, 0.03326124, 0.05614414, 0.08734728, 0.00025759568, -0.017390147, -0.018484343, -0.18716696, -0.11577566, -0.09411038, -0.0005942758, 0.20385277, -0.1574145, -0.13516964, -0.011578805) * go_1(1.0, -1.0); + result += mat4(0.10666493, 0.04735373, -0.0013807884, 0.0704135, -0.09550784, 0.12478301, 0.13349667, 0.11381725, 0.10344638, 0.036749367, -0.07850732, 0.067993365, -0.27189222, 0.12209588, 0.039368622, -0.11650519) * go_1(1.0, 0.0); + result += mat4(-0.048749734, -0.015611218, -0.058593888, -0.11054869, 0.15889384, -0.027153673, -0.15524355, -0.14243808, -0.078478426, -0.0005193828, 0.12036652, -0.10402722, -0.02370969, 0.13715413, 0.06436259, 0.06815996) * go_1(1.0, 1.0); + result += mat4(-0.018909978, 0.18138056, -0.10334352, -0.021526821, 0.010916664, -0.048124075, 0.06859281, -0.076912865, 0.09164643, 0.057818342, -0.17802145, -0.090189666, 0.03645826, 0.10256138, -0.0069766566, 0.036947094) * go_2(-1.0, -1.0); + result += mat4(-0.20622449, 0.012804213, 0.015042242, 0.19055699, -0.08001165, 0.03541219, -0.12968656, -0.030422881, -0.14057401, 0.13156182, -0.13859963, 0.00040263348, 0.10254204, -0.014539082, -0.107229605, -0.17474675) * go_2(-1.0, 0.0); + result += mat4(-0.107353106, 0.0014355447, 0.028790096, -0.0302504, -0.10989408, 0.038959417, -0.110921286, 0.0625821, -0.05460621, 0.002502421, 0.000936639, 0.048315868, 0.011345627, 0.08441578, -0.048639838, 0.09363101) * go_2(-1.0, 1.0); + result += mat4(0.028981669, 0.099419065, -0.14213188, -0.022163093, -0.05122637, -0.0046859765, 0.09862167, 0.049731493, 0.07676605, 0.003952691, -0.04136734, -0.24915272, 0.008263169, -0.22285973, -0.0962458, 0.172863) * go_2(0.0, -1.0); + result += mat4(-0.37248972, 0.11385456, 0.2061119, 0.022263438, 0.019234778, 0.00025653432, -0.050672278, 0.055690683, -0.123369195, 0.23665325, -0.071705356, 0.28199664, 0.22527444, -0.2209345, 0.109758556, -0.09677416) * go_2(0.0, 0.0); + result += mat4(-0.040162217, -0.076559134, -0.16174191, 0.04257142, -0.06335363, -0.014538781, 0.031642947, 0.07644203, 0.0073738038, 0.035876762, -0.025717935, 0.07372835, 0.07390335, 0.021775434, -0.0935753, 0.17936146) * go_2(0.0, 1.0); + result += mat4(0.038021766, 0.02849221, -0.04236583, -0.013963447, 0.019651154, 0.05580235, -0.13790283, -0.060389396, 0.021969974, 0.0056073754, -0.018980214, -0.025460985, -0.045908038, -0.010549833, -0.09338662, -0.057856735) * go_2(1.0, -1.0); + result += mat4(-0.08452829, 0.042145252, -0.0141162975, -0.07190146, 0.15463473, -0.063039616, 0.008285841, 0.0198927, 0.15278462, 0.023722362, -0.035441626, 0.09403419, 0.07525972, -0.044377264, -0.041365236, 0.043310255) * go_2(1.0, 0.0); + result += mat4(-0.0011264209, -0.06592647, 0.0049777217, -0.0060350257, 0.07328435, -0.18793981, -0.08557498, -0.04078665, 0.03258842, 0.07107648, 0.041932624, 0.037395928, 0.13042633, -0.032260742, -0.012588843, 0.023788324) * go_2(1.0, 1.0); + result += mat4(0.07511876, 0.019309277, -0.02078693, -0.14132647, 0.070082344, 0.04199505, -0.15632215, -0.032079816, 0.118265875, -0.08141349, -0.050177153, 0.11479062, 0.013268761, 0.1936229, -0.055244733, 0.020521875) * go_3(-1.0, -1.0); + result += mat4(-0.07828548, 0.018267812, 0.0028122417, 0.08941742, -0.019510742, -0.0045468058, 0.07431564, 0.24580373, 0.03412491, -0.21398748, 0.13018401, -0.01707844, 0.029651346, 0.020107506, -0.032851487, -0.10630331) * go_3(-1.0, 0.0); + result += mat4(0.049285315, -0.036977254, 0.15186474, -0.041290153, 0.036063142, -0.045490168, 0.046358738, -0.09886548, 0.08557266, -0.0694686, -0.068183534, 0.020261671, -0.026039243, -0.033528827, -0.07751181, -0.019434886) * go_3(-1.0, 1.0); + result += mat4(0.07950834, -0.0741639, 0.061423566, -0.15268423, 0.06533783, -0.03808615, -0.013910495, 0.020066373, -0.017489634, 0.050359994, 0.00039101843, 0.019134337, 0.16694714, -0.024450665, -0.065044865, -0.10637288) * go_3(0.0, -1.0); + result += mat4(0.24476409, -0.2805558, 0.10909579, 0.13605182, -0.01699378, 0.0065869414, -0.14624152, 0.1877048, -0.067427725, 0.21585129, 0.0055718115, -0.14159104, 0.31355727, -0.30447352, -0.13559367, -0.03584342) * go_3(0.0, 0.0); + result += mat4(0.01840529, 0.03616268, -0.062101822, -0.03462444, -0.09809899, 0.05688681, -0.06383556, 0.054451026, 0.046791434, -0.046537004, 0.0062966137, 0.036369126, 0.091391616, -0.06889375, -0.034196682, -0.09181384) * go_3(0.0, 1.0); + result += mat4(0.08672015, -0.15510495, 0.04554155, -0.05996463, -0.00072026957, -0.09829958, 0.15477605, 0.01794818, -0.012825052, 0.11114408, -0.040433116, -0.00646929, -0.043805078, 0.012829818, -0.008625017, -0.021682253) * go_3(1.0, -1.0); + result += mat4(-0.053777024, -0.12807386, 0.20205054, -0.05613513, 0.08030871, 0.12273628, -0.19011892, -0.007974216, -0.111842796, 0.09764242, 0.072857365, 0.049412534, -0.1310995, 0.12386843, -0.16210727, -0.001777189) * go_3(1.0, 0.0); + result += mat4(0.0018172731, 0.046203706, 0.16447084, -0.09419196, 0.0027008723, 0.037259165, 0.018473836, -0.007634073, -0.0017314702, -0.013679133, -0.061678763, 0.033567235, -0.073024705, 0.1608741, -0.093601726, 0.05785441) * go_3(1.0, 1.0); + result += mat4(-0.05863952, 0.07315827, 0.022440575, 0.035979047, 0.016238341, -0.24431372, 0.041630965, -0.0057747364, -0.10777149, -0.13047433, 0.070022196, 0.044547863, 0.13226376, -0.28246558, 0.062450863, -0.004404347) * go_4(-1.0, -1.0); + result += mat4(0.011212715, 0.05243611, -0.037797686, -0.15245487, 0.27008712, -0.40122086, 0.0011378871, 0.05367511, 0.07193383, -0.14046453, 0.12873498, 0.07182839, 0.1820151, 0.04283299, 0.11596543, 0.15673809) * go_4(-1.0, 0.0); + result += mat4(-0.07652156, 0.02990215, -0.038398147, 0.04733479, -0.05695788, -0.04636123, -0.05849599, -0.05204433, 0.057833705, -0.18150161, -0.030429238, -0.06927262, -0.14094613, 0.046653654, 0.1901663, -0.12395862) * go_4(-1.0, 1.0); + result += mat4(0.14467525, -0.1326973, 0.10119535, -0.019431135, -0.06226663, -0.0053785043, 0.08981591, 0.07009579, -0.17320351, 0.023860384, 0.062086526, 0.053025734, 0.18955843, -0.22512685, 0.05108636, 0.022267245) * go_4(0.0, -1.0); + result += mat4(0.10990955, 0.01449569, -0.17729793, -0.22559568, 0.011237511, -0.25115016, -0.24866548, -0.13571861, 0.072065, -0.10518834, 0.16031964, 0.33091673, 0.30525, -0.054976556, -0.051654782, 0.05343294) * go_4(0.0, 0.0); + result += mat4(-0.022414321, -0.03275696, 0.06263573, 0.0031694071, 0.08556633, -0.12222284, -0.01304348, -0.120147005, -0.04688651, -0.037210416, -0.072757326, 0.0537857, 0.08831744, -0.16069758, 0.07254542, -0.10207554) * go_4(0.0, 1.0); + result += mat4(-0.0033381188, -0.013647447, 0.05272343, 0.020168653, 0.064766616, 0.006531628, 0.08387307, 0.005267065, -0.1460191, 0.021020414, -0.012950353, -0.08051581, 0.11163487, -0.32247993, 0.04997282, 0.10706656) * go_4(1.0, -1.0); + result += mat4(0.1307456, -0.044469688, 0.0073461267, 0.037865613, -0.37522125, 0.29075947, -0.14347716, -0.037057046, 0.08405833, -0.22944225, 0.048562963, 0.016957987, 0.3850271, -0.2642814, 0.24302341, -0.009866295) * go_4(1.0, 0.0); + result += mat4(0.07751665, -0.07116216, -0.018697955, 0.013728456, 0.114070326, 0.082404934, -0.06866586, 0.0653056, -0.048189763, -0.094798714, 0.073528245, -0.09311469, 0.08910833, -0.0861494, -0.13601573, -0.03716929) * go_4(1.0, 1.0); + result += mat4(-0.3285286, -0.19887583, 0.22604318, -0.06683799, 0.07519015, -0.37451786, 0.341761, 0.47940642, -0.13582104, -0.0568941, 0.055691198, 0.077822134, -0.044976532, -0.16769643, 0.106551185, 0.06167237) * go_5(-1.0, -1.0); + result += mat4(0.2570433, -0.20537715, 0.057150505, 0.5306126, 0.23061736, -0.07200678, 0.23587582, -0.021194493, 0.0306967, -0.13228704, 0.05531426, 0.205256, -0.23213351, -0.32205653, 0.04496151, -0.114729114) * go_5(-1.0, 0.0); + result += mat4(0.08585821, -0.16611692, 0.19137008, 0.07955234, -0.07067079, -0.028957745, 0.116818264, 0.030655704, 0.044361178, 0.01137771, 0.13505548, -0.122196645, -0.120850466, 0.041478753, 0.1446364, 0.019547235) * go_5(-1.0, 1.0); + result += mat4(-0.39282933, 0.15466502, 0.21281202, -0.10871069, 0.09141795, -0.047807757, 0.13347113, -0.0070413537, -0.30001637, 0.1590897, 0.13185735, 0.26315352, 0.060256246, 0.013501628, 0.21543017, 0.18577099) * go_5(0.0, -1.0); + result += mat4(-0.104001306, -0.5267066, -0.4119273, 0.08457817, -0.077629924, 0.16720273, 0.12549257, -0.1173481, 0.36272144, -0.7772537, 0.17534287, -0.23318143, -0.15383753, 0.095170036, 0.2495684, -0.122358866) * go_5(0.0, 0.0); + result += mat4(0.12718932, -0.23085114, 0.44935048, -0.021294393, 0.005949905, 0.019026272, 0.075566776, 0.15591605, 0.115685046, -0.14728822, -0.05144243, 0.06136992, 0.13333684, -0.012480303, -0.088788785, 0.037873793) * go_5(0.0, 1.0); + result += mat4(0.07020059, -0.06063198, 0.1457899, 0.0056248507, -0.008290764, -0.06342888, 0.18459271, 0.015399551, -0.11359522, 0.17675807, 0.069318, -0.040129766, -0.07564287, -0.026339471, 0.14574161, 0.23760302) * go_5(1.0, -1.0); + result += mat4(-0.4500806, 0.37602243, 0.13479808, -0.003117945, 0.063341856, 0.061276495, 0.1102818, 0.19250661, -0.25082627, 0.22803108, 0.08279026, -0.07739116, -0.05543028, -0.1009643, 0.28930148, -0.08104323) * go_5(1.0, 0.0); + result += mat4(-0.009021877, 0.16090877, -0.03602814, 0.1261343, 0.034350336, -0.052137982, 0.21462724, -0.02009136, -0.070031494, 0.03347469, -0.052788753, -0.05233215, -0.16940826, -0.09597297, 0.12662534, 0.019423395) * go_5(1.0, 1.0); + result += vec4(-0.052461267, 0.15198341, -0.02276772, -0.03120894); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!SAVE conv2d_5_tf +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.091359325, -0.047575854, -0.0801013, 0.20167087, -0.09074628, 0.14914455, 0.06205747, 0.08365782, -0.07602618, 0.12077156, -0.14313725, -0.00097601005, 0.1820761, -0.24430461, 0.02867478, -0.115407124) * go_0(-1.0, -1.0); + result += mat4(-0.017759264, -0.17924258, -0.0345519, 0.08500409, -0.07076207, 0.080482826, 0.022080237, -0.007573794, 0.34499946, 0.008354738, 0.14645022, -0.3155209, 0.41903394, 0.008933743, -0.26766288, 0.12653211) * go_0(-1.0, 0.0); + result += mat4(-0.003709739, 0.027829988, 0.14320208, -0.011639459, -0.03870455, -0.06727105, -0.23741855, -0.04182651, 0.09618168, 0.06922006, -0.03409518, -0.038725164, -0.07008305, -0.09782443, 0.06599439, -0.055400725) * go_0(-1.0, 1.0); + result += mat4(0.12684472, 0.42739755, 0.05868158, 0.07929677, 0.062750086, 0.122842215, -0.2262321, -0.057169817, -0.10190911, 0.06661454, -0.2044338, -0.058569092, 0.06513055, -0.38419202, -0.2889477, 0.00075288495) * go_0(0.0, -1.0); + result += mat4(0.15597402, 0.050789982, 0.4612256, -0.1232455, 0.09143189, -0.056280397, 0.21547496, -0.043968584, -0.017269861, 0.1459616, -0.23092718, 0.27603424, 0.070095435, 0.42628354, 0.09857772, 0.023654036) * go_0(0.0, 0.0); + result += mat4(0.03566403, -0.089161746, -0.06622656, -0.043728504, 0.012655346, 0.07107657, 0.15460275, 0.09053651, -0.07001083, -0.09635171, 0.030271877, -0.010034998, 0.090245664, 0.11612592, -0.18119843, 0.115030274) * go_0(0.0, 1.0); + result += mat4(-0.055906393, 0.020972524, 0.04405409, -0.08206327, -0.030148225, 0.015709205, 0.056204747, -0.104014955, 0.044074293, -0.3603162, 0.009822444, -0.12735473, 0.0067433324, 0.21345942, -0.16173074, 0.062634476) * go_0(1.0, -1.0); + result += mat4(-0.048287738, 0.04504366, -0.16253331, -0.06976707, -0.13551746, -0.0069742347, -0.11613854, 0.13235438, 0.07955257, 0.14578325, -0.3022118, 0.02631827, 0.3573758, 0.12363717, -0.039339956, -0.21598001) * go_0(1.0, 0.0); + result += mat4(-0.075250365, -0.023891231, 0.13229692, -0.022614656, 0.08825453, 0.061776746, -0.0993127, -0.10578799, -0.1690626, 0.03054397, -0.07695639, -0.079353474, 0.0615981, 0.0034620631, 0.08599167, -0.085487425) * go_0(1.0, 1.0); + result += mat4(-0.13306135, 0.070102595, 0.0018800788, -0.09813606, -0.03170419, 0.01839398, -0.05142857, -0.010052865, -0.11429524, -0.07586167, -0.060972217, -0.022728505, -0.037173454, -0.01240384, 0.1636404, -0.1259204) * go_1(-1.0, -1.0); + result += mat4(0.21663728, -0.0165655, -0.19682632, 0.13902938, -0.081392035, 0.02523787, 0.1569057, -0.016838314, -0.20710535, 0.10089684, 0.2759473, -0.06408284, -0.17343125, -0.050983876, -0.09340315, 0.042417858) * go_1(-1.0, 0.0); + result += mat4(-0.44453263, -0.10516173, -0.056139067, 0.24120103, 0.14092721, 0.09527867, -0.10289124, 0.07447457, -0.07255724, -0.07065093, -0.19831358, -0.03145072, 0.062462587, -0.13137348, 0.1398097, -0.08052687) * go_1(-1.0, 1.0); + result += mat4(-0.20226036, -0.089287, -0.20396022, 0.16342834, -0.0715875, 0.030659283, -0.09019761, -0.050632484, -0.087833114, -0.4390073, 0.19481303, 0.03432329, 0.22792237, 0.023274168, 0.029200593, -0.018187294) * go_1(0.0, -1.0); + result += mat4(0.46787158, 0.17991507, 0.0023480568, -0.031941783, -0.060549572, -0.09330203, 0.055897802, 0.12673432, 0.4230312, -0.4516835, -0.00064001186, 0.109839454, 0.2836279, 0.07375687, 0.17711547, -0.34547985) * go_1(0.0, 0.0); + result += mat4(0.06408312, 0.009809225, 0.12017534, 0.12778811, 0.01949525, 0.00639294, -0.022816632, -0.20515566, -0.026015112, -0.088214, 0.09398295, 0.14219733, 0.021610592, -0.0133708725, 0.15716344, 0.15374821) * go_1(0.0, 1.0); + result += mat4(-0.38632336, 0.1055968, -0.16746776, 0.031227939, 0.048837874, 0.08812276, 0.08459655, 0.037026476, -0.012736664, -0.032292336, -0.043989874, 0.030728273, -0.117319904, 0.13062797, -0.17748901, 0.20819202) * go_1(1.0, -1.0); + result += mat4(0.02485017, -0.08059275, -0.14782152, 0.16193154, 0.038559932, 0.16653356, -0.01829594, -0.32613558, 0.09611959, -0.14201616, 0.19360055, -0.16462325, 0.110373735, -0.013233708, 0.06437815, 0.05023126) * go_1(1.0, 0.0); + result += mat4(-0.0939555, 0.08396099, -0.19401367, -0.072351895, 0.0011377602, -0.08304909, 0.18247987, -0.06868134, -0.13975257, -0.072047986, 0.13241461, -0.027208991, -0.13384572, -0.04257672, -0.19476503, 0.1448576) * go_1(1.0, 1.0); + result += mat4(-0.014496433, -0.08627452, 0.013479882, 0.08189796, -0.39928418, -0.23446554, 0.033236828, -0.073348634, 0.20772837, -0.12541759, 0.12547676, 0.15118147, 0.06343077, 0.13170359, 0.07456327, 0.037460607) * go_2(-1.0, -1.0); + result += mat4(0.22783525, -0.062255867, -0.015669081, 0.18545356, -0.14074744, -0.0977361, -0.15016074, 0.12626553, 0.025569597, 0.05259659, -0.1401111, 0.07791122, -0.25046918, 0.14517197, 0.051306423, 0.10093671) * go_2(-1.0, 0.0); + result += mat4(0.10963008, 0.10075975, -0.09315192, 0.03928484, -0.05507595, -0.027855752, -0.17043641, 0.013336898, -0.14907023, -0.098712295, -0.055508208, -0.017730046, -0.11934544, -0.10822632, -0.07726361, 0.070103206) * go_2(-1.0, 1.0); + result += mat4(-0.1622651, -0.12376016, -0.048875168, 0.030344466, -0.104258224, -0.30643496, 0.0542774, -0.21803202, -0.14617568, 0.3079984, -0.3006482, -0.116233975, -0.034087032, -0.21282312, -0.08974353, -0.21706651) * go_2(0.0, -1.0); + result += mat4(-0.17512108, -0.015798012, -0.2049979, 0.16415326, -0.037209652, -0.148847, 0.6209044, 0.35860595, 0.18044792, -0.030519703, 0.053781435, -0.4150754, 0.025012434, -0.049011238, -0.09130766, -0.12138916) * go_2(0.0, 0.0); + result += mat4(-0.044045687, 0.025672063, -0.021289285, -0.12346778, -0.12262819, -0.11085004, 0.15677044, -0.18353437, 0.35993704, -0.060050707, 0.36173448, 0.12406324, -0.006029473, -0.038038015, 0.10273825, 0.004656042) * go_2(0.0, 1.0); + result += mat4(0.08824971, 0.055099364, -0.029784897, -0.14293, 0.21541874, -0.3471079, 0.19006546, -0.25032708, 0.17953677, 0.07634346, 0.0943904, -0.14774932, -0.038256116, -0.043757852, -0.18224706, -0.0767931) * go_2(1.0, -1.0); + result += mat4(-0.14115013, -0.027943728, 0.043077346, 0.16837053, -0.30298868, -0.0012479749, -0.21017027, 0.08538537, -0.18856743, -0.1644689, 0.106126145, -0.05934489, -0.23814213, 0.089396715, -0.042591337, 0.07807625) * go_2(1.0, 0.0); + result += mat4(0.1340491, 0.052864898, 0.030508095, -0.053534534, 0.0763844, -0.083921455, -0.007467296, 0.10813974, -0.13826096, 0.07286494, 0.017945437, 0.12293839, -0.14042178, -0.02947513, -0.031838633, 0.12082989) * go_2(1.0, 1.0); + result += mat4(0.1102285, 0.19918683, 0.040284276, -0.0514123, -0.047394637, -0.021792434, 0.012939052, -0.0023403286, 0.23044759, 0.21366574, -0.1535014, 0.15519466, -0.006563226, 0.07491919, 0.122444265, -0.093628265) * go_3(-1.0, -1.0); + result += mat4(-0.23274226, 0.104155675, 0.1884381, 0.02142028, 0.11323431, 0.1554841, 0.123437695, -0.03776226, -0.45464247, -0.25061348, -0.032978028, -0.018654265, -0.024727726, 0.06470798, -0.122398995, -0.21492854) * go_3(-1.0, 0.0); + result += mat4(0.14285532, 0.0013011715, -0.06574208, 0.086654305, -0.048436016, -0.16197361, 0.008795141, -0.018098531, 0.3623435, 0.12052228, 0.21655083, -0.057346217, -0.08660433, 0.20646246, -0.145056, 0.009912266) * go_3(-1.0, 1.0); + result += mat4(-0.120041594, -0.25241104, -0.6336183, -0.12418686, 0.008573801, -0.06827598, -0.09228199, -0.07655123, 0.07855638, 0.089592285, 0.15033577, -0.2273755, 0.06294413, -0.011506087, -0.2499483, -0.35493052) * go_3(0.0, -1.0); + result += mat4(-0.06940104, -0.06756523, -0.53161937, 0.12494837, -0.06503322, 0.11604297, -0.34153852, 0.04156643, -0.45669356, -0.044081815, 0.004695825, -0.072227545, -0.02530914, -0.17312789, -0.09068418, -0.09982657) * go_3(0.0, 0.0); + result += mat4(-0.29282403, -0.010049017, -0.024964066, 0.017599167, 0.078072265, -0.02860973, 0.19687887, 0.19570877, 0.0462925, 0.09549612, -0.1492184, -0.23970652, 0.1505322, 0.019254023, -0.042950142, -0.015978891) * go_3(0.0, 1.0); + result += mat4(-0.03936397, -0.16615695, 0.031633284, -0.15845262, 0.07402319, -0.10969973, 0.1627256, -0.082409754, 0.25605643, 0.12996247, 0.0026216798, 0.09912746, 0.05241615, -0.19865209, 0.16946888, 0.05068021) * go_3(1.0, -1.0); + result += mat4(0.01114184, 0.084049165, 0.21976121, 0.2706964, -0.1294367, -0.06303496, -0.023219386, 0.077690855, 0.27775633, 0.00947329, -0.15350725, -0.33890706, -0.11828109, 0.09787361, -0.016221395, 0.016552113) * go_3(1.0, 0.0); + result += mat4(0.06600668, -0.038050972, 0.05673705, -0.074460626, -0.033874847, 0.04394138, -0.09962254, 0.024659669, 0.22614685, 0.0010322065, 0.09654571, -0.06633969, -0.10417394, -0.026023693, -0.022211308, 0.07900881) * go_3(1.0, 1.0); + result += mat4(0.036456246, -0.2124808, -0.012558569, -0.005300579, -0.00047140988, 0.35318285, -0.06906561, 0.17434907, 0.062296104, 0.07322263, 0.07417871, 0.018067235, -0.08858221, -0.14630227, 0.029234141, -0.15545718) * go_4(-1.0, -1.0); + result += mat4(0.0863986, -0.040072814, -0.06980794, 0.2665523, -0.16316326, 0.110833816, 0.095236875, -0.2692474, 0.04447339, 0.06251346, 0.22095545, -0.041103855, 0.06609487, -0.019505464, -0.05033705, 0.22964026) * go_4(-1.0, 0.0); + result += mat4(0.29361203, 0.13948435, -0.04883785, -0.055638783, -0.21016635, 0.06452464, 0.2573405, 0.015132235, -0.20484985, -0.21653354, 0.21269105, 0.0118991295, -0.081802815, 0.105966985, -0.3921394, 0.20990291) * go_4(-1.0, 1.0); + result += mat4(-0.08627829, 0.03343112, 0.31935173, 0.20275539, 0.069561645, 0.44631377, -0.16738373, -0.35273424, 0.1321877, 0.41263857, 0.15853775, 0.1095465, -0.14425585, 0.046967953, 0.052787095, 0.20420372) * go_4(0.0, -1.0); + result += mat4(-0.6400273, -0.02383611, 0.002919604, 0.20062971, 0.22101505, 0.13407028, -0.3607917, 0.097198665, -0.009687387, 0.20925479, -0.22717565, -0.077685565, -0.10238261, -0.30386773, -0.07093403, 0.3789904) * go_4(0.0, 0.0); + result += mat4(0.19998863, 0.11971228, -0.12407401, -0.020293633, 0.17083226, 0.07682446, 0.017597012, 0.16630399, -0.044776015, 0.038629167, 0.09155888, 0.2775535, 0.17645419, 0.05448149, 0.26603785, -0.23594949) * go_4(0.0, 1.0); + result += mat4(0.13560197, -0.12419031, -0.001434453, 0.096761554, -0.025025826, 0.23237492, -0.22578233, 0.39105797, -0.1521174, 0.012731402, -0.12703973, 0.17032094, -0.23923986, 0.15013756, -0.079769395, 0.21047747) * go_4(1.0, -1.0); + result += mat4(0.023834813, 0.042676624, -0.043734103, -0.0489564, 0.2968653, 0.12845509, 0.26865506, -0.1339746, 0.1031858, 0.06713386, 0.035661936, -0.008399658, -0.023008743, 0.14043713, -0.10849628, -0.29047936) * go_4(1.0, 0.0); + result += mat4(-0.15448047, 0.018301843, -0.11298581, 0.0643367, 0.19861038, 0.054608114, 0.053602763, -0.12229704, 0.1838333, 0.060085677, -0.054444484, -0.03963665, -0.09128162, -0.002571187, -0.011031746, 0.013937809) * go_4(1.0, 1.0); + result += mat4(-0.19042498, -0.10742417, -0.009482582, -0.13710654, 0.07004467, 0.054024436, -0.079347484, -0.069204524, -0.066065274, 0.029851453, 0.057536937, -0.10738562, -0.0019049636, -0.05961882, 0.015954375, -0.046048168) * go_5(-1.0, -1.0); + result += mat4(-0.30546746, 0.026462605, -0.16525201, -0.14865883, -0.22890806, -0.064678855, -0.07405687, -0.060555395, 0.19689551, -0.10453069, -0.13507089, 0.044260368, 0.3549059, -0.2059544, -0.017047137, -0.085279755) * go_5(-1.0, 0.0); + result += mat4(0.15902059, 0.27806246, -0.02470931, -0.071123265, -0.10959986, -0.061866783, 0.18073395, 0.027781103, 0.01899935, 0.0068895225, 0.09553635, 0.014020304, 0.48340565, 0.1568511, 0.18551165, -0.03941332) * go_5(-1.0, 1.0); + result += mat4(0.18007858, -0.18097854, -0.032877125, -0.13505274, 0.12229551, -0.19246832, 0.07324526, 0.16423881, -0.07985383, 0.102822796, 0.022348268, 0.20718963, 0.1657745, 0.09994554, -0.044875868, -0.04791159) * go_5(0.0, -1.0); + result += mat4(-0.1522259, -0.15503414, 0.5213648, 0.048220746, -0.03673415, -0.048296932, -0.0035913677, -0.33058712, -0.37347135, -0.107429914, -0.27443045, 0.1444104, -0.12858333, -0.0898987, 0.18059024, 0.2385074) * go_5(0.0, 0.0); + result += mat4(-0.17812404, 0.027946725, -0.15453176, -0.16888796, -0.1454275, -0.08521876, -0.09842795, 0.017285218, -0.15038043, 0.12944756, -0.0074227825, 0.049601924, -0.2942431, 0.3029513, 0.2346801, -0.010824461) * go_5(0.0, 1.0); + result += mat4(-0.13489157, -0.19739941, 0.19581558, -0.08267463, -0.16068561, 0.019075824, 0.0042642844, 0.1025828, 0.009590443, -0.042244606, 0.0069560697, 0.18787669, 0.08875559, 0.12666185, 0.27844438, -0.014087231) * go_5(1.0, -1.0); + result += mat4(-0.15345146, -0.088549316, -0.2007104, 0.08694364, 0.097901054, -0.09112625, 0.17398718, -0.08376772, 0.13471653, -0.11526493, 0.09551537, 0.000994288, 0.10547293, 0.027825898, 0.13316914, 0.27184469) * go_5(1.0, 0.0); + result += mat4(-0.2831289, -0.1077123, -0.015594004, -0.15530941, 0.030916838, -0.007725551, -0.0013768732, -0.0542834, 0.14217895, -0.019043038, -0.121255994, 0.1774951, -0.02571608, 0.08931403, -0.05238016, 0.49422094) * go_5(1.0, 1.0); + result += vec4(-0.05178692, 0.012992142, -0.09760262, -0.088807374); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!SAVE conv2d_5_tf1 +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.06822733, 0.047476072, 0.010553384, -0.06512182, -0.014951614, -0.023422068, 0.12602834, -0.06063965, 0.11658996, -0.0075021465, -0.015290296, -0.18518211, 0.06179118, 0.06263638, 0.2701791, 0.03897366) * go_0(-1.0, -1.0); + result += mat4(-0.005936342, 0.0046865293, 0.1009514, 0.113875, -0.22882754, 0.06882264, 0.044918634, -0.15084246, 0.27190965, -0.09802474, -0.17399205, -0.28109655, 0.115927316, 0.065323986, -0.07905437, 0.31301168) * go_0(-1.0, 0.0); + result += mat4(-0.058077507, 0.060739186, -0.047071032, 0.08625859, 0.18279932, -0.062378623, -0.020198788, -0.020209447, -0.03725052, -0.17194895, -0.009185631, -0.061395645, -0.10394699, 0.13250858, -0.02054919, 0.17315096) * go_0(-1.0, 1.0); + result += mat4(0.14755291, -0.15426354, -0.038297612, -0.002863782, 0.014281958, -0.1430333, -0.15214095, -0.25977355, 0.055283524, -0.020698514, -0.031711206, 0.043652818, -0.011913896, -0.15935701, 0.30120242, -0.07141416) * go_0(0.0, -1.0); + result += mat4(-0.07511256, 0.097857445, 0.1280642, -0.23440666, 0.07341128, 0.025019338, 0.2676868, -0.6392872, -0.018604822, -0.41209763, 0.036267836, 0.048222575, -0.049899656, 0.12035686, -0.415035, 0.111109026) * go_0(0.0, 0.0); + result += mat4(0.06660235, 0.10465846, 0.03231821, -0.057176817, -0.33603838, -0.117789224, -0.08611003, -0.14391285, -0.07540102, -0.049893077, 0.06534853, 0.014703251, 0.1686735, 0.21635768, -0.0004174196, -0.06970894) * go_0(0.0, 1.0); + result += mat4(-0.09123483, -0.02650008, -0.26045164, 0.008752753, -0.038899194, 0.056095514, -0.15680234, -0.21681328, -0.1807998, -0.08361851, -0.20086065, 0.13148476, 0.009767108, -0.0006198602, 0.15239619, -0.07983563) * go_0(1.0, -1.0); + result += mat4(0.07919758, -0.10799586, -0.11674191, 0.07721418, -0.02489812, 0.013862152, 0.14324659, -0.19167677, 0.47860634, 0.016703675, -0.025147682, -0.13012366, 0.021707488, -0.049213693, -0.049455807, -0.122704044) * go_0(1.0, 0.0); + result += mat4(-0.1036183, -0.0016137742, -0.010286528, 0.03161724, 0.111006066, -0.010090895, -0.13061818, -0.12827039, -0.06817742, -0.08191259, -0.010029781, 0.0756146, -0.024297824, 0.08189767, 0.0012347228, -0.061834745) * go_0(1.0, 1.0); + result += mat4(0.074035384, -0.0054270145, -0.054232355, 0.052020255, 0.039064236, 0.07612554, -0.07112709, -0.041343223, -0.04877365, -0.081693694, -0.19036053, -0.07976283, -0.019394593, 0.11878604, -0.17398894, 0.066551484) * go_1(-1.0, -1.0); + result += mat4(0.021499138, 0.11031255, 0.07942792, 0.19678888, -0.1660272, 0.12142711, 0.053864148, -0.09273723, -0.04266638, -0.092488594, 0.052425362, -0.13612169, 0.055963192, -0.08253813, -0.03933135, 0.01831182) * go_1(-1.0, 0.0); + result += mat4(-0.009105146, 0.25351846, 0.021370875, 0.07980244, 0.08131595, 0.0045822896, 0.024319764, 0.13540691, 0.10949155, -0.036669955, -0.0440662, 0.031805526, 0.0076850317, 0.0050480044, 0.010493236, -0.20307945) * go_1(-1.0, 1.0); + result += mat4(0.035208475, -0.016913606, 0.06748526, 0.28376573, -0.09829214, 0.03491954, -0.048616122, -0.022004133, 0.033356942, 0.041457683, -0.1141923, 0.053526472, 0.1301348, 0.032898832, 0.14776024, 0.11034088) * go_1(0.0, -1.0); + result += mat4(0.25044763, 0.1022549, 0.13824631, 0.15358314, -0.01792875, -0.023492826, -0.16425751, -0.04925489, -0.5415385, 0.22712392, 0.32446757, 0.061109796, -0.016136007, 0.09170503, -0.020712415, 0.22309552) * go_1(0.0, 0.0); + result += mat4(-0.16366409, -0.017794464, -0.12714142, -0.021118859, 0.03178183, 0.067133196, 0.105975136, 0.009305183, 0.08399536, 0.15291104, -0.029605338, 0.0134068895, -0.09861506, -0.059872147, -0.03844756, -0.12674972) * go_1(0.0, 1.0); + result += mat4(-0.07806115, 0.043562375, -0.009290437, 0.04422061, 0.044749737, 0.06424069, 0.026669348, 0.03424551, 0.024359688, -0.07599093, -0.037592914, 0.054648582, 0.06240557, 0.061408926, 0.030988218, 0.08729672) * go_1(1.0, -1.0); + result += mat4(-0.010351677, 0.028773759, 0.12303081, -0.046040278, -0.06785082, -0.24544333, -0.14512034, 0.028818216, -0.030756637, -0.070427775, 0.029058386, 0.11266564, -0.0126586575, -0.099691354, 0.23675011, 0.021924842) * go_1(1.0, 0.0); + result += mat4(0.29327697, 0.04030911, -0.10077885, -0.048846, -0.16350128, -0.054487552, 0.070820816, 0.047305796, -0.12812468, 0.007919711, -0.09975894, 0.06570609, 0.041386835, -0.027804038, 0.054338817, -0.09551541) * go_1(1.0, 1.0); + result += mat4(-0.08264294, 0.0022153752, 0.17625731, 0.108203925, -0.1994716, 0.13532871, 0.004684368, -0.068710595, 0.118159816, -0.07109689, 0.0926224, -0.24703208, -0.01173713, 0.033426084, -0.016495464, 0.12449714) * go_2(-1.0, -1.0); + result += mat4(-0.0937873, -0.065207124, 0.1289635, 0.17735708, -0.07141622, -0.116392545, -0.012032065, 0.2256439, -0.16182312, -0.12979633, 0.13266288, -0.029406255, -0.11667275, 0.010681019, -0.03679369, 0.12324768) * go_2(-1.0, 0.0); + result += mat4(-0.08298939, -0.04220063, 0.03483479, 0.13134407, 0.21608235, -0.034893714, -0.12628594, 0.16904697, 0.021075964, 0.1242292, 0.049865, 0.0012191305, 0.02183184, 0.106443465, -0.097153716, 0.10045028) * go_2(-1.0, 1.0); + result += mat4(-0.15327847, -0.03231816, 0.048716772, 0.04888897, 0.042859055, 0.15434006, -0.20086974, -0.05871333, -0.06012798, -0.16594929, -0.41956443, 0.02897127, 0.10374121, 0.0979167, -0.06796184, -0.16530903) * go_2(0.0, -1.0); + result += mat4(0.4286096, -0.29660472, -0.16605186, 0.27494267, 0.026896525, 0.28659457, -0.03428165, 0.2044704, 0.48915815, -0.33265522, 0.21135275, 0.33785677, 0.18982616, 0.10604258, -0.064662024, 0.096615575) * go_2(0.0, 0.0); + result += mat4(0.016727265, 0.17198113, -0.05871693, 0.054799933, -0.02786635, 0.15011124, -0.23983961, 0.033867355, -0.19206874, -0.13592441, 0.07261021, -0.043166462, -0.12164969, -0.07333818, 0.037067372, 0.08996417) * go_2(0.0, 1.0); + result += mat4(-0.070286445, -0.10659555, -0.04422945, -0.053230558, 0.0013350527, -0.017993074, -0.049735866, 0.11409308, 0.04892686, -0.06817943, -0.12813167, 0.039810136, 0.05252391, -0.06560004, -0.063294955, -0.07105003) * go_2(1.0, -1.0); + result += mat4(-0.13546339, 0.14185336, 0.006366223, -0.28422508, -0.21820036, 0.039592113, -0.07649182, -0.27793187, -0.2901769, -0.046293516, 0.25072086, -0.1427351, -0.0032531293, 0.03191745, -0.029102972, 0.050067473) * go_2(1.0, 0.0); + result += mat4(0.07247183, -0.0060611004, -0.04357295, -0.10875274, 0.12985152, 0.08760643, -0.19915642, -0.014556378, 0.1215484, 0.25098228, -0.21922487, 0.021113032, 0.0839372, 0.055542022, 0.13710897, -0.027615722) * go_2(1.0, 1.0); + result += mat4(0.19114621, 0.099159814, 0.011108828, 0.029784255, 0.08460498, 0.015443031, -0.044587217, 0.09834142, 0.10807179, -0.05328408, 0.13301793, 0.11193144, 0.18251152, 0.083096996, -0.08564835, -0.15828381) * go_3(-1.0, -1.0); + result += mat4(-0.28161234, 0.1756162, 0.17534174, -0.15757571, -0.08024952, 0.05677887, -0.1527151, -0.035949282, -0.16559522, -0.03176932, -0.15242305, 0.026554676, 0.07632302, -0.07731726, -0.17139448, -0.3687111) * go_3(-1.0, 0.0); + result += mat4(0.08050096, -0.0065235267, 0.064694345, -0.014644451, -0.079178736, 0.042656552, 0.09551645, 0.036842708, -0.03371497, -0.088755935, 0.07605894, -0.10299958, 0.08336513, -0.1338214, -0.051605105, -0.19725145) * go_3(-1.0, 1.0); + result += mat4(0.051400978, -0.02814356, -0.5582187, 0.05216139, -0.12328604, 0.07732251, -0.16055895, 0.14309604, 0.017186563, 0.08711397, -0.17381294, -0.011499491, -0.0481547, -0.04854952, -0.46566048, -0.3058923) * go_3(0.0, -1.0); + result += mat4(0.5119618, -0.38263124, 0.15986086, 0.010742568, 0.38711935, -0.336849, 0.040117126, 0.4004001, 0.19877116, 0.47289473, 0.021661036, -0.015238145, 0.09152666, 0.038322717, 0.06817698, 0.049476456) * go_3(0.0, 0.0); + result += mat4(-0.10441812, 0.21133856, -0.057014488, 0.23972808, -0.24930222, -0.050501857, 0.032259904, 0.12751378, 0.27306128, 0.30964115, -0.11031131, 0.12801209, 0.178222, -0.062289014, 0.022079576, -0.11246125) * go_3(0.0, 1.0); + result += mat4(-0.03134103, -0.22539799, 0.06857922, -0.10189109, -0.05753412, -0.024686527, 0.013851189, 0.1957986, -0.020091414, 0.14719157, 0.11946867, -0.09724786, 0.0028783937, 0.060009662, 0.013492387, 0.11172315) * go_3(1.0, -1.0); + result += mat4(0.025690198, 0.23751663, 0.12185973, -0.019141376, -0.084277906, 0.11608392, 0.16283877, 0.042005546, 0.072981484, -0.2306133, -0.071143106, -0.18201771, -0.031751275, -0.020903533, 0.12043939, 0.20526986) * go_3(1.0, 0.0); + result += mat4(-0.033504594, -0.09981515, 0.19222768, -0.00037204215, 0.07057902, 0.10403715, -0.03022699, 0.098804235, 0.18592818, 0.024603445, 0.11061402, -0.11533017, -0.12443965, 0.011813011, 0.07349946, 0.038668673) * go_3(1.0, 1.0); + result += mat4(-0.23181002, -0.17350966, 0.048837297, -0.08551675, 0.18603337, 0.058313303, 0.04316692, 0.058691278, -0.004881664, 0.0729517, -0.03626247, 0.15820287, -0.02682429, -0.0048006307, -0.094057836, -0.14746818) * go_4(-1.0, -1.0); + result += mat4(0.1383817, -0.1420967, 0.1424335, 0.22556119, -0.00086617674, 0.16489741, -0.26023895, -0.20425053, -0.034436412, 0.2758035, -0.059897684, -0.13402066, -0.16843258, -0.121999204, 0.3507855, 0.12512234) * go_4(-1.0, 0.0); + result += mat4(0.0632651, -0.025671296, -0.07224494, -0.037086867, -0.09273154, 0.0072819768, -0.049275056, -0.1953304, -0.17975083, 0.082679234, 0.053353265, -0.006074758, 0.20823684, 0.062092874, 0.11811291, 0.1815561) * go_4(-1.0, 1.0); + result += mat4(0.078111276, 0.25469536, 0.29218477, 0.004212939, -0.1232599, 0.021684207, -0.66154927, -0.343972, 0.010710011, -0.08535829, 0.18138462, 0.09095369, -0.103921935, 0.057450265, 0.25861067, -0.15153539) * go_4(0.0, -1.0); + result += mat4(-0.10782405, 0.18735452, -0.19443172, -0.15904504, 0.18990147, 0.48975512, 0.4310995, 0.1340281, 0.3089527, -0.10327674, -0.09608584, -0.123780966, -0.08807219, 0.14264533, -0.3084031, 0.02124611) * go_4(0.0, 0.0); + result += mat4(0.15577073, -0.06495954, 0.060370963, -0.114554875, 0.0047810473, 0.3622068, -0.3659395, 0.15643036, -0.07608074, 0.04065042, -0.039538994, -0.02360629, -0.02197194, 0.0048276316, 0.110902175, -0.16704206) * go_4(0.0, 1.0); + result += mat4(-0.0020525095, -0.012990091, 0.094804876, -0.02951601, 0.24626282, 0.124219425, 0.0463335, 0.094997995, -0.048861977, -0.005314135, 0.0059577175, -0.105576694, 0.048093226, 0.09738743, 0.21545859, 0.054231316) * go_4(1.0, -1.0); + result += mat4(0.07456489, 0.02194597, -0.20656359, -0.15409991, -0.04743203, -0.15427557, -0.24320696, 0.23521787, 0.016238466, -0.012914946, -0.05602358, 0.06522049, 0.102704614, -0.23755711, -0.08094957, 0.008219577) * go_4(1.0, 0.0); + result += mat4(0.035681196, -0.033441707, -0.11075713, 0.055746105, 0.019134156, -0.049570475, 0.06607101, -0.0073855054, 0.07943337, -0.11261986, 0.0008748123, -0.10753691, -0.10877436, -0.0108197965, -0.04098305, 0.020095402) * go_4(1.0, 1.0); + result += mat4(0.027692698, -0.023028603, -0.100124516, -0.103564754, 0.039096612, -0.010974292, -0.02888593, 0.08225068, -0.022655668, -0.023619713, -0.04132294, 0.06264889, 0.11349463, 0.074886896, -0.026237458, -0.13935888) * go_5(-1.0, -1.0); + result += mat4(-0.07625777, -0.02026929, -0.16509674, -0.07015678, 0.12159663, 0.11826456, -0.16222349, 0.02991282, 0.31014135, -0.18721381, 0.015715228, 0.013268594, -0.0226595, -0.086094275, 0.24472123, -0.10165225) * go_5(-1.0, 0.0); + result += mat4(-0.0046345745, -0.08258393, -0.0949934, -0.18188646, -0.082375005, 0.07654353, 0.023176871, -0.020692138, 0.024534898, -0.115623355, -0.012813735, 0.06324557, 0.10770564, -0.08825215, 0.049195863, -0.076814786) * go_5(-1.0, 1.0); + result += mat4(-0.038878765, -0.10554748, -0.03482947, -0.2024768, -0.09590611, -0.05518289, 0.17108603, 0.10745178, 0.14090835, 0.04451474, 0.33331943, -0.09338132, -0.13840568, -0.06591041, -0.13315365, 0.14895599) * go_5(0.0, -1.0); + result += mat4(-0.7184948, 0.20635058, -0.01087146, -0.25665486, 0.0694774, -0.08051657, -0.20419565, -0.29972658, -0.31587854, 0.26213837, -0.14282377, -0.14769338, -0.29376042, -0.24546684, 0.37429252, -0.01691138) * go_5(0.0, 0.0); + result += mat4(0.010284815, -0.29481632, 0.18720046, 0.028168285, -0.025520338, -0.031638097, 0.07629401, 0.23760115, -0.06497784, -0.09899808, -0.025247818, -0.141932, 0.30421942, 0.0839128, 0.15210237, -0.2547937) * go_5(0.0, 1.0); + result += mat4(-0.11730973, 0.08676562, -0.12592962, 0.059735335, 0.036849916, 0.01789285, -0.02247672, 0.034570415, 0.069350585, -0.047193673, 0.06288105, -0.016742256, -0.06302216, 0.00919547, 0.12617198, -0.001655632) * go_5(1.0, -1.0); + result += mat4(0.13489273, -0.05945722, 0.15636152, 0.10246266, -0.0492767, 0.13209876, -0.022542313, 0.1869006, 0.18273778, -0.009863488, 0.1475087, 0.009797511, 0.18775922, -0.08949364, 0.031399027, 0.16898693) * go_5(1.0, 0.0); + result += mat4(-0.17234778, -0.113925606, 0.0285368, 0.093877554, -0.010534175, 0.002686299, 0.033060588, -0.019788781, 0.12574218, 0.03520547, 0.0032812972, 0.04480523, 0.06951987, -0.25137702, 0.01562915, -0.02552195) * go_5(1.0, 1.0); + result += vec4(0.06121498, 0.024510587, -0.012219787, 0.074479066); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!SAVE conv2d_5_tf2 +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.06058286, 0.2195084, 0.19780184, -0.05155375, 0.09216426, 0.03457752, -0.096646644, -0.015035897, -0.13803566, 0.025244685, 0.13735959, -0.009401512, -0.16166702, -0.1815502, 0.007993552, 0.0069571338) * go_0(-1.0, -1.0); + result += mat4(0.047445912, 0.11488218, -0.17851587, -0.1392721, -0.038011838, 0.17368795, 0.106928326, -0.13197932, -0.2733485, -0.087136164, 0.07961574, 0.020573204, 0.029977003, -0.1667677, -0.17820576, 0.0118401665) * go_0(-1.0, 0.0); + result += mat4(0.07106099, -0.00185452, -0.027270012, -0.09875212, 0.06354194, -0.16046102, -0.034993082, -0.053045254, 0.068700135, 0.09387552, -0.09717345, -0.06485704, 0.050274733, -0.015956623, -0.14531186, -0.023925254) * go_0(-1.0, 1.0); + result += mat4(-0.020267177, 0.09845256, -0.22237779, -0.0704043, -0.03563008, 0.0058337585, -0.053230047, -0.0151015995, -0.004355268, -0.16663343, -0.022371203, 0.17783938, 0.27934113, 0.038911168, 0.053898126, 0.067584395) * go_0(0.0, -1.0); + result += mat4(-0.35373348, -0.04811985, -0.003069958, 0.22371289, 0.039519783, 0.08697823, 0.12242937, -0.05692152, 0.34154105, -0.30326834, -0.23093781, 0.060490705, -0.3779121, -0.12894416, 0.03531685, 0.27401015) * go_0(0.0, 0.0); + result += mat4(-0.27760014, 0.024816839, 0.16137716, 0.060659613, -0.0962453, -0.023302421, -0.0679713, 0.08072911, 0.10419372, -0.1286133, -0.06336595, -0.13529508, -0.033300906, 0.077698715, 0.13658288, -0.046092913) * go_0(0.0, 1.0); + result += mat4(0.004510119, -0.018816976, -0.023925988, -0.056694455, 0.021134097, 0.15678076, -0.034855466, -0.052143726, 0.11061209, -0.03679294, -0.15515395, 0.22478753, 0.030984117, 0.01664375, -0.010612448, -0.01799207) * go_0(1.0, -1.0); + result += mat4(0.18006827, 0.168574, 0.15232614, -0.1295002, -0.05264042, -0.12097018, -0.08624036, -0.20883065, 0.22397974, 0.041060217, -0.23898268, 0.09747489, 0.0005401559, -0.17116228, 0.03260164, 0.2373106) * go_0(1.0, 0.0); + result += mat4(0.0005155169, -0.10857663, -0.014398447, 0.004808808, -0.05587811, 0.1242163, 0.14578046, -0.09588132, 0.14351574, -0.10559421, -0.041078355, 0.0059864363, -0.061656762, -0.07678676, -0.10182491, -0.10634101) * go_0(1.0, 1.0); + result += mat4(-0.04443192, 0.13661186, -0.076222196, -0.081149, -0.041719135, -0.12614048, 0.018182557, 0.03125801, 0.06955725, 0.09229393, -0.0070879795, 0.038897008, 0.0052797156, 0.13088952, -0.073197, -0.11281815) * go_1(-1.0, -1.0); + result += mat4(0.19961423, 0.13726334, 0.27169493, 0.05927113, 0.0028651909, -0.1287458, 0.026732842, -0.095184654, 0.016316563, -0.11783113, 0.2360606, -0.30774674, 0.108432285, 0.23025006, -0.085001394, 0.08807084) * go_1(-1.0, 0.0); + result += mat4(-0.060046196, 0.15679826, 0.2430814, -0.13272808, 0.019943269, 0.015503196, -0.030504405, 0.06340887, 0.1670832, -0.13615952, -0.13015799, 0.042683575, -0.06566812, -0.062855676, 0.056155447, -0.13632087) * go_1(-1.0, 1.0); + result += mat4(-0.04923022, 0.053739548, 0.23691703, 0.045897946, 0.08574055, 0.015698176, 0.30700058, 0.03893632, -0.09240451, 0.13776198, -0.01634878, 0.1086944, -0.10443478, -0.038250007, -0.16425894, 0.069837235) * go_1(0.0, -1.0); + result += mat4(-0.4527755, -0.16416265, 0.45300293, 0.11527787, 0.06872868, 0.03514386, -0.02678375, 0.04558898, -0.21735664, -0.38876057, 0.15125597, 0.20117617, -0.15160187, -0.2531804, 0.15049757, -0.018326014) * go_1(0.0, 0.0); + result += mat4(0.013021216, 0.07807231, -0.025769137, 0.13387477, -0.16259682, -0.054581523, 0.17289965, -0.08043052, 0.0063357623, 0.11866516, -0.13520378, 0.0152135575, 0.061740812, 0.052589882, -0.16574025, 0.024117855) * go_1(0.0, 1.0); + result += mat4(0.04268464, 0.06037914, 0.06682348, 0.054433875, -0.14284062, 0.007709387, 0.05249287, -0.008818238, 0.02744223, 0.026029283, -0.068422645, 0.104170494, 0.011463976, 0.10870952, 0.11592658, 0.07393047) * go_1(1.0, -1.0); + result += mat4(-0.03750191, 0.0014403146, 0.1580456, 0.1137993, 0.08569837, 0.0005632574, 0.08939288, -0.004063193, 0.03108807, -0.1707586, 0.06543877, -0.02108999, -0.044783764, -0.09259009, 0.0018684827, 0.10293258) * go_1(1.0, 0.0); + result += mat4(-0.072144635, 0.13235292, 0.13174231, 0.06512337, 0.061325137, -0.1140173, -0.10778849, -0.0933897, -0.0026419833, 0.031816084, -0.05882651, -0.05534951, 0.05234496, -0.03341018, -0.028817033, -0.034064483) * go_1(1.0, 1.0); + result += mat4(0.06916357, -0.11582247, -0.06554703, 0.09624395, 0.11644621, 0.019876527, -0.08696374, 0.017086076, -0.054255698, 0.28372917, -0.000972655, -0.06400794, 0.030290179, -0.08620439, -0.08410291, -0.012277875) * go_2(-1.0, -1.0); + result += mat4(0.06226754, -0.040624045, -0.11270401, 0.10805481, 0.18899143, -0.1973884, -0.034787323, 0.05666152, -0.087144844, 0.032518808, -0.12266705, -0.12644689, 0.035625648, 0.13503525, 0.10947289, -0.02394309) * go_2(-1.0, 0.0); + result += mat4(-0.022302793, 0.10360904, 0.016256806, -0.021677233, 0.12430526, 0.042963423, -0.18037538, -0.14628161, 0.016152794, -0.11254728, 0.06434654, -0.005073352, 0.016403137, -0.035858087, -0.06591741, 0.08597588) * go_2(-1.0, 1.0); + result += mat4(0.004012092, -0.050453838, 0.07977573, 0.15305792, -0.05928047, -0.09349286, -0.14555392, 0.12337536, 0.16214384, -0.109313816, -0.044248413, -0.2963013, -0.14371789, -0.13369437, 0.07077758, 0.10006308) * go_2(0.0, -1.0); + result += mat4(0.06548829, -0.13058634, -0.26494655, -0.28315514, -0.45161557, -0.07177602, 0.10558368, 0.21007149, 0.45134485, 0.53428864, -0.24526665, -0.51175225, -0.16881745, 0.39553252, -0.059874248, -0.15100208) * go_2(0.0, 0.0); + result += mat4(-0.034883123, 0.09653819, 0.16275059, -0.10605186, -0.16961089, 0.15750273, -0.28543097, -0.12217311, 0.19074517, 0.00074714713, -0.07579063, 0.14993025, -0.013494211, 0.19434276, -0.038070716, 0.041972294) * go_2(0.0, 1.0); + result += mat4(0.077254616, 0.013449401, -0.068184, 0.10592368, 0.024376335, 0.0051301597, -0.13352032, 0.17067592, -0.07192257, 0.055784814, -0.12246667, 0.01487913, 0.116122164, 0.10971574, 0.026872944, -0.026666151) * go_2(1.0, -1.0); + result += mat4(0.05711798, -0.0010387006, -0.11265493, 0.27974793, 0.091452494, -0.20599814, -0.15438712, 0.32230932, -0.105436936, -0.35339028, -0.08469404, -0.03431861, -0.0006499669, -0.2701855, -0.011796139, -0.04423021) * go_2(1.0, 0.0); + result += mat4(-0.0829698, 0.06493657, -0.036546737, 0.024583373, 0.048521917, 0.1649191, -0.056993846, 0.08988572, -0.12735078, 0.3074979, 0.08563853, 0.119320676, 0.18576288, 0.14356904, -0.026636694, 0.05132804) * go_2(1.0, 1.0); + result += mat4(-0.0991048, -0.10884221, -0.12869547, 0.034603372, -0.06870907, -0.18230984, -0.021502903, 0.11301028, 0.18878941, -0.110253036, 0.040812176, -0.06389069, -0.15005918, 0.0037244866, 0.2132717, -0.013256287) * go_3(-1.0, -1.0); + result += mat4(-0.08388061, -0.112235, 0.065214306, -0.13957025, -0.19478679, 0.11254506, 0.054630954, 0.053645436, -0.2522801, 0.15058047, -0.07061216, -0.096459135, -0.11855631, -0.056933407, 0.035139047, 0.068258055) * go_3(-1.0, 0.0); + result += mat4(-0.06917721, 0.094096094, 0.07469013, 0.16470721, -0.11484115, -0.18424381, 0.016549148, 0.08468404, 0.04055001, -0.33645272, -0.0059957053, 0.08970189, 0.09028248, 0.04077987, -0.06547463, -0.006269863) * go_3(-1.0, 1.0); + result += mat4(0.21908568, 0.08401723, 0.0843042, 0.06545498, -0.08450129, -0.028926728, 0.19440761, 0.09694871, 0.07596912, 0.045503646, -0.006316475, -0.27986103, 0.06910375, -0.43196592, 0.03879253, 0.1638245) * go_3(0.0, -1.0); + result += mat4(0.8879269, -0.02551214, -0.030510996, -0.36941388, 0.3126625, 0.21035604, -0.15371346, -0.2780625, 0.06461355, 0.18609639, -0.149495, -0.23149131, 0.46026996, 0.035948373, 0.18278143, -0.20113651) * go_3(0.0, 0.0); + result += mat4(0.055903055, 0.08408526, 0.054170065, -0.2976025, 0.18558906, 0.029338092, -0.09893593, 0.059603147, -0.19218643, -0.008077081, 0.09550512, 0.051217057, -0.0276843, 0.33184877, -0.018644275, -0.11763111) * go_3(0.0, 1.0); + result += mat4(0.23338239, 0.011580942, -0.0787839, 0.09754503, 0.009759483, -0.075707465, -0.10206689, 0.08720839, -0.3039172, -0.2001228, 0.30864987, -0.16379629, -0.03914539, -0.06503792, -0.03883409, -0.065077074) * go_3(1.0, -1.0); + result += mat4(-0.1440983, 0.2827839, -0.07015957, 0.11515792, -0.1266345, -0.06969393, -0.009006173, 0.12875685, 0.031837627, 0.09990079, -0.1656627, 0.13870959, -0.08637978, 0.024281958, 0.12342855, -0.08816514) * go_3(1.0, 0.0); + result += mat4(-0.015464915, -0.19240353, -0.01967364, -0.11796279, -0.06462456, 0.154628, 0.076811045, 0.098927125, -0.20375597, 0.023598116, -0.10710138, 0.08929812, 0.07584669, -0.11928781, 0.049687184, -0.06122156) * go_3(1.0, 1.0); + result += mat4(0.16479358, 0.19148158, 0.098467164, 0.0618447, 0.0751567, 0.010100359, 0.05155746, -0.0778876, 0.0011591897, -0.056076154, -0.041074045, 0.024008576, -0.017050695, -0.18685716, -0.08527556, 0.0037657958) * go_4(-1.0, -1.0); + result += mat4(0.16866666, -0.29083413, -0.18637179, 0.0018769886, -0.2018132, 0.46180528, 0.13246574, -0.23898588, -0.12212059, 0.3341523, 0.1091505, 0.08251535, 0.19041067, -0.16169062, 0.07583192, 0.050573617) * go_4(-1.0, 0.0); + result += mat4(0.0129842255, -0.008741855, -0.053530104, -0.03131398, -0.0020409364, -0.07680617, 0.33556506, -0.011717628, -0.13952619, -0.05453907, 0.10336836, -0.027125375, 0.1751553, -0.030947112, -0.025735123, 0.041072566) * go_4(-1.0, 1.0); + result += mat4(-0.036542114, 0.10128076, -0.1880457, -0.17261198, 0.1431477, -0.18661828, 0.32769415, 0.0663247, 0.03365178, 0.19796737, -0.09132497, -0.21413301, 0.043885235, 0.20412171, 0.14644071, -0.06985309) * go_4(0.0, -1.0); + result += mat4(-0.2735308, 0.19792703, -0.21177524, 0.21988408, 0.32919964, 0.11183913, 0.2913821, 0.06404769, -0.004921694, 0.22249468, -0.010577357, -0.09632516, -0.15458032, -0.2982006, -0.041645106, 0.087833084) * go_4(0.0, 0.0); + result += mat4(-0.07113276, 0.07723143, -0.058266032, 0.08239994, -0.18380593, -0.09771933, 0.12499344, 0.031730324, 0.042094275, -0.010583603, 0.009981995, 0.107384935, -0.20355527, 0.017341057, 0.018268948, -0.15857501) * go_4(0.0, 1.0); + result += mat4(0.0013823194, -0.044928502, 0.025921093, 0.0012451003, -0.30528855, 0.3374342, 0.34150144, -0.09229386, -0.08328619, -0.10615052, 0.16300991, -0.19953482, -0.10911166, -0.036731765, 0.098331414, -0.06403792) * go_4(1.0, -1.0); + result += mat4(-0.023653124, 0.04610296, -0.03044758, -0.025650993, -0.32529983, 0.062136825, 0.24734603, -0.019307928, 0.03787457, 0.34381005, 0.113464035, -0.02037722, 0.32398093, 0.05488551, 0.055344287, 0.017325766) * go_4(1.0, 0.0); + result += mat4(0.0385026, 0.079174675, 0.059799727, -0.00725753, -0.0573653, -0.0420986, 0.16784842, 0.14938053, -0.009344561, -0.0778813, -0.017263457, -0.01132742, 0.077959225, -0.14751856, -0.20435876, -0.010041575) * go_4(1.0, 1.0); + result += mat4(-0.05931535, -0.08731735, 0.11970444, -0.09924397, 0.033911336, -0.0016364546, 0.0087679215, -0.076540634, 0.0077172252, 0.14911291, 0.11776904, -0.017065775, -0.059564207, 0.017132213, 0.06148217, -0.07582431) * go_5(-1.0, -1.0); + result += mat4(0.071270525, -0.24058339, -0.20233437, 0.001615171, 0.021383315, 0.09934347, -0.0011403296, -0.04854113, 0.12778723, 0.061408937, -0.071042776, 0.26612863, -0.10339047, -0.08749296, -0.04532682, -0.0615132) * go_5(-1.0, 0.0); + result += mat4(0.06391922, -0.016149543, -0.002464466, -0.00664347, -0.06338617, 0.04004229, 0.034720086, 0.054125533, 0.121965334, 0.2502773, -0.12270718, 0.011068944, -0.00047330794, 0.06449109, 0.17593135, 0.0040256707) * go_5(-1.0, 1.0); + result += mat4(0.03477346, -0.31120908, 0.28306037, 0.22833072, -0.017806482, -0.056919, 0.055360638, 0.020397838, -0.060393255, 0.02178207, -0.20644443, 0.088335134, 0.030195525, -0.19925289, -0.016580708, -0.007094466) * go_5(0.0, -1.0); + result += mat4(0.028902626, 0.12521821, 0.29966938, 0.20124513, 0.11820484, 0.23270105, -0.27059364, 0.0034185604, -0.0808993, -0.21187486, 0.14866447, 0.2362522, 0.2997781, 0.25243583, -0.010675219, -0.21490887) * go_5(0.0, 0.0); + result += mat4(0.017603166, -0.1354112, 0.07734325, -0.10108977, 0.095413536, -0.27478248, 0.15811092, 0.08514367, -0.0648521, -0.23040737, -0.015424236, -0.102597706, 0.018168293, 0.049426224, 0.24017967, -0.0076911957) * go_5(0.0, 1.0); + result += mat4(0.040054902, 0.10045824, -0.00088240346, 0.10863258, 0.004609783, 0.08008685, 0.0008943593, 0.04380173, 0.04113014, 0.17802699, 0.19284193, -0.09775915, -0.082003035, -0.04828276, -0.2212439, -0.08810767) * go_5(1.0, -1.0); + result += mat4(0.110144354, -0.17653003, -0.18453437, -0.13516864, -0.12592733, -0.031436298, 0.10997709, -0.26131755, 0.13670647, 0.33671942, 0.06641791, 0.022009498, -0.0843429, 0.2000657, 0.1431977, 0.23156545) * go_5(1.0, 0.0); + result += mat4(0.18203191, -0.30493334, 0.0012451819, 0.040420715, -0.09400875, -0.058327, -0.092143685, 0.08411573, 0.06618551, 0.066164635, -0.08439327, 0.07001009, 0.22673227, -0.1294288, -0.46530777, 0.2499909) * go_5(1.0, 1.0); + result += vec4(0.06602671, 0.113320544, -0.04297089, 0.007400785); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!SAVE conv2d_6_tf +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.19466089, -0.10927993, 0.09179887, 0.15121523, -0.037340622, 0.06053471, 0.038131684, -0.008113673, -0.18904036, -0.09559259, -0.17113, 0.03717301, -0.043611653, -0.16189677, 6.720818e-05, 0.087884724) * go_0(-1.0, -1.0); + result += mat4(-0.2376871, 0.07507205, 0.08144118, 0.266135, -0.0016601613, -0.075726755, 0.1405083, 0.05794102, 0.082300104, 0.42289656, -0.21715559, 0.066831395, 0.31216174, -0.14317952, 0.1725695, -0.17751537) * go_0(-1.0, 0.0); + result += mat4(0.037299458, -0.11762432, -0.011837041, 0.1465751, 0.039899126, -0.049513657, -0.0037649425, -0.17213967, 0.13214532, -0.035151232, 0.098905504, 0.25259635, -0.034471225, 0.22866723, 0.056768697, 0.04517098) * go_0(-1.0, 1.0); + result += mat4(-0.032002304, 0.0033130902, -0.11396168, -0.24947542, -0.01432499, 0.059397, 0.011829774, -0.039037425, 0.2855777, 0.38178965, 0.061862387, -0.3191097, 0.0013762182, 0.10873268, 0.13221635, 0.11438935) * go_0(0.0, -1.0); + result += mat4(-0.444183, 0.07429998, -0.24415193, 0.20763457, 0.005403234, -0.09182405, -0.33746308, 0.23260857, 0.80383587, 0.42822048, 0.15259221, 0.08751457, -0.18719546, 0.3931829, -0.3559663, 0.1288945) * go_0(0.0, 0.0); + result += mat4(0.038999066, 0.20546576, 0.17918825, 0.06601807, -0.09185307, 0.08308848, 0.3533222, 0.20337574, 0.2909968, -0.25924757, -0.18089646, -0.0856463, 0.1436575, -0.20405407, 0.08083093, -0.13420194) * go_0(0.0, 1.0); + result += mat4(-0.08427221, 0.029255591, 0.016859733, -0.011943696, 0.13574867, 0.040940672, 0.013232511, 0.026956066, 0.071955554, -0.06337127, -0.15357494, -0.026208352, -0.04108415, -0.06945617, 0.018760698, -0.023912333) * go_0(1.0, -1.0); + result += mat4(0.07994412, -0.00968056, 0.08030741, 0.16342168, 0.04104326, 0.073546335, 0.10782922, -0.27047744, -0.027339334, 0.012742752, 0.07632864, 0.3130092, -0.026107019, 0.14022668, 0.0019065946, 0.050307225) * go_0(1.0, 0.0); + result += mat4(-0.064752, -0.114935696, -0.101320885, -0.13594441, -0.0035874723, -0.21959865, -0.20514846, 0.06435263, -0.07910371, 0.22121632, -0.027385276, 0.11370377, -0.087538995, 0.02242176, 0.05138211, -0.055027794) * go_0(1.0, 1.0); + result += mat4(-0.07418348, -0.013085453, -0.23711763, 0.13872914, 0.10102951, 0.034057204, 0.09149018, 0.060473535, -0.00067378976, 0.05151344, -0.038349435, 0.05791031, 0.0049775504, -0.0063300184, 0.11502679, 0.11189162) * go_1(-1.0, -1.0); + result += mat4(-0.17575283, -0.026091507, -0.012820658, 0.02245792, 0.15239143, -0.12657113, 0.062418584, -0.12840585, 0.07613884, 0.12033655, -0.05695382, 0.03669604, -0.17113449, -0.15366605, 0.17787598, 0.06278569) * go_1(-1.0, 0.0); + result += mat4(0.015337286, -0.050423414, -0.08879978, 0.04760555, 0.12424041, -0.03367427, -0.0459138, 0.22050953, 0.12919267, 0.26828563, -0.1061058, -0.10099044, -0.04658635, -0.016307753, 0.14689955, -0.14597629) * go_1(-1.0, 1.0); + result += mat4(-0.01102339, 0.014672111, 0.13931917, -0.1345445, 0.031524513, -0.32458848, -0.056687858, 0.22222418, -0.056350503, 0.035747256, -0.10304222, -0.21285744, 0.25462946, 0.09982579, 0.09516444, -0.016217945) * go_1(0.0, -1.0); + result += mat4(-0.076081604, -0.23594818, 0.15077876, -0.21414931, 0.2282169, 0.59579784, -0.12744917, 0.35256362, -0.074862994, 0.16357085, 0.19566183, -0.05933472, 0.6046422, 0.17888334, -0.015507464, -0.08096589) * go_1(0.0, 0.0); + result += mat4(-0.07068054, -0.0079010865, 0.036364477, 0.14502864, -0.021085994, -0.07906985, 0.09793876, 0.07399657, 0.12093952, -0.18547052, -0.110405356, -0.10768624, 0.016976682, -0.030136436, 0.3050347, 0.25278243) * go_1(0.0, 1.0); + result += mat4(-0.010475713, -0.10232612, -0.108958706, -0.011528059, 0.11610843, -0.0014788646, 0.17262968, 0.031911, 0.08343287, -0.0021717772, -0.021841958, 0.0973525, -0.046819497, -0.05605018, 0.1291599, 0.09826176) * go_1(1.0, -1.0); + result += mat4(0.04663343, 0.04400759, -0.035258498, 0.00895981, -0.23123324, -0.055122357, 0.089720264, 0.09339213, 0.16230758, 0.01740431, 0.0010832906, 0.019101601, -0.28437567, -0.017914291, 0.06484634, -0.00661367) * go_1(1.0, 0.0); + result += mat4(0.08788325, 0.017547041, -0.12180048, -0.01287628, 0.014391497, 0.0098254625, -0.1297012, -0.08183671, 0.018999657, 0.09840126, 0.047082353, 0.24155243, 0.12269502, -0.08142539, 0.10323659, -0.033276822) * go_1(1.0, 1.0); + result += mat4(-0.14859885, -0.03888739, -0.15384491, -0.17175777, 0.04767615, 0.042373076, 0.013757687, -0.13237329, -0.04965534, 0.020163631, -0.11415436, -0.056286413, -0.16989873, 0.024179472, 0.037168648, -0.12176204) * go_2(-1.0, -1.0); + result += mat4(-0.05709518, -0.09206574, 0.04486005, -0.033150986, -0.017180622, 0.06052779, 0.16889273, -0.15518297, -0.24440864, 0.12658344, -0.139649, 0.037917744, -0.14727007, 0.038368758, -0.05098604, 0.09547945) * go_2(-1.0, 0.0); + result += mat4(-0.08096385, -0.010406064, -0.057036124, 0.13355646, -0.00612782, -0.0033356852, -0.06850302, 0.029461807, -0.17608377, -0.10943067, 0.030028753, 0.08070524, 0.022253908, -0.005548474, -0.045125946, 0.02093025) * go_2(-1.0, 1.0); + result += mat4(0.10988742, 0.27972367, -0.04232453, -0.43071312, -0.08219865, -0.12530999, -0.0016445538, 0.05443371, -0.014415479, -0.08840511, 0.066499956, -0.01336885, -0.15110426, 0.062335182, 0.052890446, 0.1044874) * go_2(0.0, -1.0); + result += mat4(0.33606815, -0.17963116, 0.34632006, 0.3946198, -0.10691484, -0.1038113, -0.019460114, 0.06895735, 0.59190637, -0.10203456, 0.008359275, 0.06353352, -0.32418385, -0.12430192, 0.24380416, -0.23094086) * go_2(0.0, 0.0); + result += mat4(-0.020480068, -0.01640171, -0.09763355, -0.02580198, -0.041970506, -0.042252183, -0.09769974, -0.045537427, 0.14187063, 0.06059797, 0.033730645, 0.020378796, -0.033819746, 0.09553117, -0.05334098, -0.09202247) * go_2(0.0, 1.0); + result += mat4(0.0246489, -0.086129375, 0.05148198, 0.16396165, -0.042565763, 0.047137372, 0.08882997, -0.0076635084, 0.020555299, -0.0018504986, -0.093162216, -0.002001032, -0.09805734, -0.09600409, -0.0027830484, -0.12433019) * go_2(1.0, -1.0); + result += mat4(-0.016701702, 0.19712164, -0.13269165, -0.10036325, -0.008542912, -0.006157372, -0.09184331, -0.097038, -0.11304494, 0.27655166, 0.060221743, 0.096516214, -0.043898825, 0.010273238, -0.07468758, -0.21701947) * go_2(1.0, 0.0); + result += mat4(-0.11392737, -0.15646808, -0.16859137, -0.1773589, 0.062430523, 0.0633658, 0.1578782, -0.02552433, -0.09023146, -0.03037661, -0.050063506, -0.018076949, 0.021033524, -0.06344241, 0.08951326, 0.06231262) * go_2(1.0, 1.0); + result += mat4(-0.094271734, 0.0114940265, -0.04097972, -0.06457978, 0.20086573, 0.035297886, -0.03792428, -0.15497704, 0.12542814, 0.006359964, 0.049963623, 0.06472255, -0.14664528, 0.10833471, 0.03922276, -0.1675095) * go_3(-1.0, -1.0); + result += mat4(-0.18032873, 0.011285189, -0.061522707, 0.008256017, 0.13692558, 0.15130165, 0.13422745, -0.22135267, 0.19946684, 0.24516532, 0.10290738, -0.2294601, -0.052056555, -0.13473587, 0.23919931, -0.042362213) * go_3(-1.0, 0.0); + result += mat4(-0.025423648, 0.026715705, 0.0060757576, -0.06410553, -0.04461674, -0.3029843, 0.092734374, 0.04524039, 0.033247333, -0.02790855, 0.056930248, -0.15256552, 0.02607904, 0.09423549, -0.18153918, 0.13832009) * go_3(-1.0, 1.0); + result += mat4(-0.049555343, 0.017360087, 0.057959676, 0.07956772, -0.075296454, -0.1470046, 0.021892669, 0.10043102, -0.024857812, -0.10644472, 0.09769508, 0.1249294, 0.007206734, -0.028977863, 0.10593961, 0.26716354) * go_3(0.0, -1.0); + result += mat4(-0.029734008, -0.3227415, 0.23771009, -0.19591968, -0.51607347, -0.25314853, -0.056235682, -0.07140848, 0.111049965, -0.06368735, -0.2866811, 0.013670416, 0.06847308, 0.30838242, -0.12282098, 0.0034061049) * go_3(0.0, 0.0); + result += mat4(-0.12762555, -0.04628489, -0.12804574, -0.040225446, 0.20549247, 0.40988892, 0.046733934, 0.0011979616, 0.060588628, 0.15362865, -0.022557247, -0.09853034, 0.06939786, -0.08854213, 0.0033144224, -0.20143713) * go_3(0.0, 1.0); + result += mat4(0.05962723, 0.05745424, -0.094456606, -0.20003895, -0.070974536, 0.026771205, 0.02564145, -0.02845018, -0.035351314, -0.0117768, 0.113437235, 0.08942642, 0.058360267, 0.024181651, 0.024502836, -0.073039465) * go_3(1.0, -1.0); + result += mat4(0.12510774, 0.045879837, -0.010349814, -0.019377183, -0.008772124, -0.16534139, -0.13212264, -0.21540141, 0.036527056, -0.10918482, 0.0049819928, -0.019343467, 0.13203917, -0.08569981, -0.061810624, -0.05108862) * go_3(1.0, 0.0); + result += mat4(0.04002694, -0.055285487, 0.053127788, 0.10067933, -0.027899982, -0.0050923983, -0.039490424, -0.121817835, -0.09340064, -0.0429694, 0.18118261, 0.049474712, 0.038677018, 0.14249925, 0.09504422, 0.122608855) * go_3(1.0, 1.0); + result += mat4(-0.14135127, 0.09016643, 0.025633719, 0.000614705, 0.070762664, -0.030985976, 0.042064067, 0.057410795, 0.0660935, -0.05050625, -0.10755477, 0.039620418, -0.10203836, -0.07814099, -0.014446629, 0.18048128) * go_4(-1.0, -1.0); + result += mat4(0.43030277, 0.18589582, 0.256173, -0.2844, 0.13945708, 0.14931135, 0.22740678, -0.3956166, -0.0724625, -0.08001986, 0.081810005, 0.025289046, 0.06736611, -0.07330548, -0.29192784, 0.21637453) * go_4(-1.0, 0.0); + result += mat4(-0.08737932, -0.1372706, 0.03159939, -0.21679185, -0.09027622, -0.041193455, 0.11512235, -0.24278319, -0.08837681, -0.018710367, 0.041880753, -0.014190375, 0.033047616, 0.06708754, -0.03391409, -0.07711031) * go_4(-1.0, 1.0); + result += mat4(0.12588775, 0.4317977, 0.077132806, -0.42811748, 0.031082593, 0.23937033, 0.08018833, -0.22718322, 0.060632102, 0.08067565, -0.042863563, -0.091845684, -0.04759955, 0.009588551, -0.17780636, -0.22400473) * go_4(0.0, -1.0); + result += mat4(-0.06745702, -0.0795159, -0.4350959, 0.35561585, -0.13962667, -0.5940183, -0.54777396, -0.68051004, -0.16509765, -0.34696493, 0.038297307, 0.13719557, -0.040833995, 0.031406473, -0.5174053, -0.08789825) * go_4(0.0, 0.0); + result += mat4(-0.12779349, 0.2936602, 0.13704172, 0.13110651, 0.10102365, 0.24163464, -0.069620885, -0.16209678, -0.07489114, -0.019360917, -0.070400774, -0.023681173, -0.1102226, -0.09275758, -0.31730032, 0.03576276) * go_4(0.0, 1.0); + result += mat4(-0.0986982, -0.14386573, 0.06295539, 0.2667051, 0.029192172, 0.028653674, -0.13940518, -0.022916485, -0.091007926, -0.062984526, 0.026765045, 0.058111303, 0.028423572, -0.016102828, -0.09699887, 0.118749924) * go_4(1.0, -1.0); + result += mat4(-0.40428874, 0.45658726, 0.20199502, 0.020573912, -0.08588765, 0.15927678, 0.29527012, 0.40756142, -0.15820621, 0.009576386, -0.009194596, -0.08242508, 0.0012625816, -0.03771835, -0.22807057, 0.035798464) * go_4(1.0, 0.0); + result += mat4(0.13749583, -0.04876742, -0.0065646684, -0.28335539, 0.117720984, 0.087982565, 0.16954121, 0.2363482, -0.17796999, -0.106926255, 0.0060180747, -0.11523375, 0.038097225, 0.09647209, -0.06873753, -0.056800433) * go_4(1.0, 1.0); + result += mat4(0.1768557, 0.13145363, 0.12556404, 0.03251624, -0.02287178, 0.12941027, -0.2394559, -0.37159434, 0.14269918, 0.08204633, 0.20483865, 0.05722901, 0.06699899, -0.04848409, 0.12399497, 0.124153495) * go_5(-1.0, -1.0); + result += mat4(0.14586149, 0.09655288, 0.03812125, 0.052801564, 0.065902874, -0.043486778, 0.0657983, 0.14589024, 0.011490019, -0.0021060712, -0.18636304, 0.24038431, 0.2249946, 0.14451164, -0.13322833, 0.109084174) * go_5(-1.0, 0.0); + result += mat4(-0.03467399, 0.076331206, -0.047301926, -0.10028459, -0.069450885, 0.103480145, -0.08315761, -0.00030933326, 0.04021727, 0.06693238, -0.02885415, 0.12737286, -0.042063054, -0.075277805, 0.21915779, 0.14529525) * go_5(-1.0, 1.0); + result += mat4(-0.21753858, 0.13885236, -0.03733484, 0.070192896, -0.42111662, 0.2257056, -0.0020320695, -0.4404435, -0.011731456, -0.031235369, -0.17156643, -0.00023724366, 0.16697505, 0.19261077, 0.054627284, -0.2635247) * go_5(0.0, -1.0); + result += mat4(0.4114966, -0.21771282, -0.30367702, -0.24675573, -0.41803458, 0.31936127, 0.13296337, 0.2682109, -0.035749484, 0.22223838, 0.012987173, -0.20490278, 0.013631246, -0.34068218, -0.60729563, -0.13018902) * go_5(0.0, 0.0); + result += mat4(-0.011740597, 0.07837384, 0.12748203, -0.013336406, -0.07607798, -0.39041027, 0.1939761, -0.08242594, -0.008299102, -0.23057082, 0.13972911, -0.21057422, 0.18126678, 0.004605364, 0.27230838, 0.04088039) * go_5(0.0, 1.0); + result += mat4(-0.0761628, 0.08201472, 0.00067113456, -0.000108762404, 0.119982824, 0.0067928904, -0.048988946, -0.007609898, 0.049381327, 0.010086041, 0.025384359, 0.002726633, -0.009928298, 0.05588474, 0.050830763, 0.17467195) * go_5(1.0, -1.0); + result += mat4(0.074037455, -0.16637659, -0.017491426, 0.013344787, 0.054212473, -0.29519126, -0.2467157, -0.17357266, -0.13876535, -0.04991683, 0.1392161, 0.05660303, 0.03868982, 0.10992501, 0.13167763, 0.060129613) * go_5(1.0, 0.0); + result += mat4(0.027297564, 0.069763646, 0.15132809, 0.11143169, -0.08621777, 0.23928702, 0.00017447853, 0.115308166, -0.061112467, 0.044474706, -0.02718813, 0.19822854, -0.057888303, 0.06540743, -0.051538624, -0.002416074) * go_5(1.0, 1.0); + result += vec4(-0.06036478, 0.0356493, -0.059101366, 0.0024990432); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!SAVE conv2d_6_tf1 +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.0023940788, -0.2570281, 0.021624887, -0.14413927, -0.042929508, 0.024798246, 0.06039514, -0.0385923, 0.18157732, -0.18974024, 0.3197193, -0.086097986, -0.23871095, -0.085877284, -0.15280978, 0.054582383) * go_0(-1.0, -1.0); + result += mat4(-0.2892671, -0.35989672, 0.14361507, 0.10109185, -0.008244152, -0.07610182, 0.016237438, 0.109711155, -0.03325961, 0.056557924, 0.093826056, 0.16487189, 0.12098654, 0.26959404, -0.32664284, -0.33652756) * go_0(-1.0, 0.0); + result += mat4(0.20426908, 0.00921726, -0.131825, -0.30112436, -0.29350808, -0.0059835073, -0.20881179, -0.15929249, 0.14798939, -0.039377835, 0.0022686112, -0.31745487, 0.1383128, 0.095711716, 0.24649502, 0.3734734) * go_0(-1.0, 1.0); + result += mat4(0.08007145, 0.059220374, -0.11955456, 0.02726716, -0.012340195, -3.9396626e-05, 0.23562932, 0.02603672, 0.0024148317, 0.48585725, -0.25960997, 0.12831855, 0.034503214, 0.26429248, 0.19966535, 0.34653723) * go_0(0.0, -1.0); + result += mat4(0.16401817, 0.05824359, 0.23210622, -0.4564646, 0.09790885, 0.0017682983, 0.12023501, -0.34214047, -0.3808189, -0.59095186, 0.3224012, 0.054841924, -0.14028488, -0.35759392, -0.012464827, -0.42101544) * go_0(0.0, 0.0); + result += mat4(0.18710142, -0.022806095, -0.03905798, 0.050422203, 0.21642984, -0.071577035, 0.165218, 0.10126085, 0.18105839, -0.09810516, -0.43905553, 0.5793889, -0.16706131, 0.13636151, 0.029069345, 0.28394657) * go_0(0.0, 1.0); + result += mat4(0.03242417, 0.03540981, 0.06596982, -0.11404851, -0.043041103, 0.118582286, -0.16384825, -0.021553654, -0.12775607, -0.055402167, -0.016003367, -0.06356131, -0.063166484, -0.09225374, 0.21487807, 0.18778628) * go_0(1.0, -1.0); + result += mat4(-0.29311153, -0.09822076, 0.1706967, -0.30188912, -0.11062667, -0.08119463, -0.13738254, -0.24389322, 0.2796491, 0.21054858, -0.08765812, 0.3177179, 0.10164016, 0.14627174, 0.15129958, -0.13566513) * go_0(1.0, 0.0); + result += mat4(-0.12295195, -0.12036253, -0.040527046, 0.10602722, -0.19854495, -0.05223541, -0.032363445, 0.122390084, 0.27342895, 0.09667149, 0.0423871, -0.17246284, -0.031107228, -0.005470437, 0.051434256, 0.07954733) * go_0(1.0, 1.0); + result += mat4(0.17945234, 0.051398605, 0.3032336, -0.36277965, -0.015693031, 0.0847029, -0.1128904, 0.04994005, 0.08276063, 0.07031328, 0.06770377, -0.1687264, -0.17490897, -0.09989766, -0.07715023, -0.010953815) * go_1(-1.0, -1.0); + result += mat4(0.014114998, -0.06209966, 0.057450738, 0.21318321, -0.093205266, -0.15646473, -0.22241333, -0.08228401, -0.4973326, -0.12547962, -0.07989991, -0.06822309, -0.106437586, -0.19071254, 0.14178663, 0.10448926) * go_1(-1.0, 0.0); + result += mat4(-0.005078645, -0.028730195, -0.04966596, -0.024377774, 0.0039325077, 0.10179092, -0.105298065, -0.1688019, -0.23554938, 0.058782354, 0.19999442, -0.027954772, -0.10502022, 0.016704066, -0.033541992, 0.1382609) * go_1(-1.0, 1.0); + result += mat4(-0.30713797, -0.0631538, -0.17524256, 0.12141287, 0.18175098, -0.13446523, -0.15921354, -0.0050512427, -0.00880753, -0.24464725, 0.10351903, -0.122694805, 0.2637432, 0.10111337, -0.05550657, -0.024864933) * go_1(0.0, -1.0); + result += mat4(-0.4845733, -0.13332175, 0.007910284, 0.5203373, 0.72870463, 0.15518989, -0.12580696, 0.04916096, 0.6244038, 0.3593719, 0.16328047, -0.14490198, 0.07803236, 0.26987454, -0.02258877, -0.21130653) * go_1(0.0, 0.0); + result += mat4(0.20343359, -0.048075967, 0.17489576, -0.18971623, -0.14069648, -0.029665243, -0.24902415, 0.07167198, -0.6412736, -0.041664686, 0.58569616, 0.02399211, 0.12831652, -0.058278285, -0.07922422, -0.108734205) * go_1(0.0, 1.0); + result += mat4(-0.004269588, -0.11554386, -0.0022618338, 0.12235181, 0.07379002, 0.0548718, -0.040107626, -0.040337294, -0.060385335, 0.119979575, -0.27628905, -0.023228448, -0.04064614, 0.0047100694, 0.048138026, 0.0057798214) * go_1(1.0, -1.0); + result += mat4(0.15257028, -0.005850462, -0.1434922, 0.07164339, -0.062233947, -0.0156128965, -0.019673312, -0.0002651659, -0.19478518, 0.11921539, -0.2361836, -0.09110679, 0.02719977, 0.0033712897, 0.17245373, 0.2532936) * go_1(1.0, 0.0); + result += mat4(0.0030309292, 0.10147757, -0.31425565, -0.10256, -0.05862195, -0.08736711, 0.084856585, 0.016700774, 0.06286386, -0.07443701, 0.08754631, -0.18171762, 0.06868201, -0.09278428, -0.053383432, 0.03826822) * go_1(1.0, 1.0); + result += mat4(-0.10183099, 0.06891697, 0.056318853, 0.13647571, -0.03353045, 0.016239524, 0.005603497, 0.035521563, 0.18905343, 0.041940115, 0.10048305, -0.04986043, 0.04298795, 0.050817303, 0.17744416, -0.010589751) * go_2(-1.0, -1.0); + result += mat4(-0.31862193, -0.13207828, -0.1375938, -0.23549932, -0.06217893, 0.0019514537, -0.005417935, 0.13736913, -0.10263318, -0.18941346, 0.15843, 0.27492487, 0.058868844, -0.1804736, 0.24544486, 0.10051148) * go_2(-1.0, 0.0); + result += mat4(0.15876879, 0.07879244, 0.0513651, 0.07673734, 0.015635801, 0.048305415, 0.019661602, -0.0479435, 0.027511599, -0.065881185, 0.21485852, -0.010372607, -0.19896457, -0.05555933, -0.054646876, -0.09143982) * go_2(-1.0, 1.0); + result += mat4(0.21596268, 0.21091351, 0.234315, -0.0006641688, 0.03455969, -0.12185912, -0.03052869, 0.15622592, -0.18506715, -0.24213594, -0.19364369, -0.07659142, 0.0379824, 0.0091246925, 0.1708395, 0.036304265) * go_2(0.0, -1.0); + result += mat4(-0.2730932, -0.23328209, 0.6977438, -0.2445981, 0.031650152, -0.004327604, -0.050584223, -0.07061773, -0.10755705, 0.30620542, -0.15688588, 0.16850896, -0.088513345, 0.2162286, -0.4329111, -0.52770174) * go_2(0.0, 0.0); + result += mat4(-0.068270594, 0.039348822, -0.08555022, 0.23533496, -0.062174525, 0.0193457, -0.13714077, 0.060169753, -0.06355557, -0.010862508, -0.17664193, -0.24809086, 0.032538615, 0.08074848, 0.20644335, 0.085532546) * go_2(0.0, 1.0); + result += mat4(-0.07677775, 0.0007320281, 0.0139939515, 0.19423772, 0.02928719, 0.05200053, 0.012181974, -0.005785729, 0.08011629, 0.03698694, 0.15808755, 0.04080324, -0.21732025, -0.10937562, -0.050028726, 0.088937156) * go_2(1.0, -1.0); + result += mat4(-0.06772194, 0.09471782, -0.0830642, -0.13875008, 0.003456362, 0.010889541, 0.08989434, 0.03261672, 0.19459227, 0.18803298, 0.16107602, 0.1490853, -0.22943772, 0.0005637327, 0.052380536, -0.06956663) * go_2(1.0, 0.0); + result += mat4(-0.15136889, -0.2523378, -0.037718855, 0.1728913, 0.067127876, -0.038833655, 0.14237632, -0.07256634, 0.0052903728, -0.11813482, -0.06309155, -0.015444354, 0.044696916, 0.0011587966, -0.008295438, 0.045684442) * go_2(1.0, 1.0); + result += mat4(0.029596262, 0.013380705, 0.19451803, -0.0217206, -0.03430266, 0.066089645, -0.22101538, 0.016455501, 0.122556984, -0.018319963, -0.06570934, -0.05489828, -0.13112561, 0.10740249, -0.07405227, 0.23262945) * go_3(-1.0, -1.0); + result += mat4(0.039601505, -0.0795478, 0.1524426, 0.22525507, -0.18371256, 0.009809418, -0.09180862, 0.03985826, -0.17215611, 0.104956195, -0.012817112, 0.12702619, -0.119846344, -0.1763627, -0.010298178, 0.059241127) * go_3(-1.0, 0.0); + result += mat4(-0.0823085, -0.07456769, 0.054212615, 0.009188054, 0.0017495407, -0.07561583, -0.17030309, 0.007888594, -0.11013637, -0.08417068, 0.061450012, -0.081912406, 0.11603573, 0.0490229, 0.119570516, -0.111465424) * go_3(-1.0, 1.0); + result += mat4(-0.21657833, -0.1643494, 0.19958968, -0.042039983, -0.0037797047, -0.13965121, -0.019386362, -0.024111586, 0.06518915, -0.15928997, -0.08175624, 0.050481785, 0.37915838, -0.09272705, 0.4887356, -0.13048859) * go_3(0.0, -1.0); + result += mat4(-0.3364342, -0.08892259, 0.2356529, 0.22063124, 0.31071013, 0.101701945, 0.25302443, 0.25084528, 0.22127245, 0.23771746, 0.35111645, -0.14120491, 0.09563979, 0.2781042, -0.17586009, -0.09176989) * go_3(0.0, 0.0); + result += mat4(-0.11986394, -0.093885854, 0.11733581, 0.05637956, 0.23623823, -0.007359601, 0.28527632, -0.16477823, 0.0035151376, 0.042055942, -0.0062996866, 0.021584665, -0.28436866, 0.1456055, -0.25843173, -0.07554441) * go_3(0.0, 1.0); + result += mat4(-0.03815117, 0.07561848, -0.07897604, -0.012987363, 0.02319023, 0.04150643, -0.019950474, 0.041954774, -0.07800387, -0.011202695, -0.11299979, -0.00864291, -0.114811376, 0.124991566, -0.46519995, 0.060762767) * go_3(1.0, -1.0); + result += mat4(-0.048102316, -0.04349749, -0.045696992, -0.06968446, -0.10201568, -0.10664441, -0.1271327, 0.014041653, -0.06944334, -0.024820644, 0.06449197, -0.118919216, -0.100525826, -0.081692286, -0.0036934754, -0.0950572) * go_3(1.0, 0.0); + result += mat4(0.028598474, 0.101999335, -0.10409241, -0.0008725121, -0.24365604, 0.09376613, -0.10155709, -0.019243455, -0.08370451, -0.08886542, 0.15643747, 0.094012596, 0.0989398, -0.003263144, 0.24052359, -0.05086219) * go_3(1.0, 1.0); + result += mat4(0.22825857, -0.041577056, 0.3575971, -0.019246848, 0.09680159, 0.05570423, -0.20628895, -0.02993351, 0.05210484, -0.049776137, 0.005964223, -0.22305849, 0.030647328, -0.088792734, 0.0043907063, 0.08531383) * go_4(-1.0, -1.0); + result += mat4(-0.30464846, -0.12842661, -0.3743522, 0.13156073, -0.32281575, 0.030088687, -0.09418602, 0.13464968, -0.0695602, 0.0936232, -0.038296524, 0.33601308, 0.17701761, 0.14289881, -0.047556065, -0.3338849) * go_4(-1.0, 0.0); + result += mat4(-0.005924107, 0.043742385, -0.064937405, 0.15786234, -0.09955057, -0.082465865, -0.03392436, 0.21772122, 0.15173042, 0.10373368, 0.051570628, 0.11137272, 0.15423453, 0.09124828, -0.014710869, 0.030298932) * go_4(-1.0, 1.0); + result += mat4(0.043112267, 0.5992106, -0.32294464, 0.31510955, -0.25169763, 0.04839851, 0.16124408, -0.14096124, -0.097060055, 0.06045283, -0.27082244, -0.12048959, 0.009364686, 0.11915612, 0.008150039, 0.08678112) * go_4(0.0, -1.0); + result += mat4(0.47620735, 0.6078475, -0.018170241, -0.50504035, -0.30020222, -0.24147978, 0.33480522, 0.43817788, -0.15983123, -0.19762735, 0.1549511, 0.292026, -0.31289634, -0.15204595, 0.3059814, 0.30576986) * go_4(0.0, 0.0); + result += mat4(0.13746189, -0.039151277, 0.62028766, -0.19905351, 0.13143681, 0.1407726, 0.18850237, -0.057907805, 0.086882025, 0.107989915, -0.0065579475, 0.31578153, -0.15049165, -0.20889415, -0.13337761, -0.035084542) * go_4(0.0, 1.0); + result += mat4(-0.071805745, -0.18944815, 0.25147218, -0.03606807, 0.23967369, 0.02687493, 0.0513247, -0.18633473, 0.063457586, -0.08531119, 0.21456662, 0.07793248, -0.08192292, -0.11563025, -0.020568466, -0.15659434) * go_4(1.0, -1.0); + result += mat4(0.17281517, 0.4232067, 0.32460606, -0.3712845, 0.41458213, 0.06034276, 0.2704778, 0.17323148, -0.06306892, -0.10192465, 0.17620242, -0.009122019, 0.1198333, 0.11001577, -0.3855991, 0.08933198) * go_4(1.0, 0.0); + result += mat4(-0.28324863, -0.041409206, 0.03248429, 0.24548076, 0.26409158, 0.24419361, -0.012711284, -0.30516157, -0.20289323, -0.13157755, 0.028014898, 0.16276212, 0.007050667, 0.08335203, 0.102254696, -0.11343822) * go_4(1.0, 1.0); + result += mat4(0.043687776, -0.004411872, -0.098016165, -0.055542797, 0.22615008, 0.13183828, 0.7488022, -0.33078304, 0.11318944, -0.047168892, 0.38564375, -0.030084245, 0.09062325, -0.16808534, -0.07371455, 0.20058438) * go_5(-1.0, -1.0); + result += mat4(0.19956557, -0.08747039, -0.029969914, 0.13122557, 0.049196698, -0.13465631, -0.22565748, -0.08703051, 0.26813537, 0.00821654, 0.032616418, -0.18458223, 0.17407443, 0.28091452, -0.16240835, -0.27060813) * go_5(-1.0, 0.0); + result += mat4(0.04535802, 0.037094936, 0.11686145, -0.002455908, 0.16012727, 0.14261092, -0.08348427, 0.18832053, 0.029025842, 0.054300968, 0.018998424, 0.014601349, 0.07728862, -0.034569506, 0.09937842, -0.076810405) * go_5(-1.0, 1.0); + result += mat4(-0.42146468, -0.10226207, -0.03932444, -0.17184897, -0.21222934, 0.050341085, 0.19828026, -0.07519326, -0.016190661, 0.08705493, -0.14219207, -0.08652689, -0.095818594, 0.18254876, -0.29907924, 0.049119983) * go_5(0.0, -1.0); + result += mat4(0.015439721, 0.24500765, -0.01930081, 0.24527666, -0.13847429, 0.5195186, 0.13352336, 0.12092768, -0.10859864, 0.043220174, -0.37466663, -0.0432489, -0.38647306, -0.33819455, 0.24641274, 0.6657115) * go_5(0.0, 0.0); + result += mat4(0.15343782, -0.004420619, -0.047215153, -0.16960907, -0.0707756, -0.29501325, -0.09699802, -0.15991725, -0.19104993, -0.115666404, -0.3558544, -0.0149508845, -0.1138187, -0.07019453, -0.16961712, -0.1560539) * go_5(0.0, 1.0); + result += mat4(-0.0016192662, 0.041725244, 0.003358041, -0.027749699, -0.001091161, 0.06779037, -0.15775087, -0.04927482, 0.016525732, -0.061703153, -0.011079543, -0.04828491, 0.19724323, 0.11623055, 0.11814769, -0.08236815) * go_5(1.0, -1.0); + result += mat4(-0.009845684, -0.18635233, -0.09976992, 0.12431404, -0.34134167, -0.34342697, -0.026243573, 0.088327765, 0.056699544, 0.07774804, 0.062026564, 0.09743545, 0.14937103, 0.11164576, 0.11233316, -0.071940914) * go_5(1.0, 0.0); + result += mat4(0.093613006, 0.08761063, 0.11849382, -0.06467931, 0.13939771, -0.05646352, -0.08747582, -0.3780521, 0.2270502, -0.042743817, 0.34419978, -0.11905452, 0.18841426, 0.044176128, 0.08761558, -0.0007557414) * go_5(1.0, 1.0); + result += vec4(0.07303222, -0.017307714, -0.017054217, -0.004928735); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!SAVE conv2d_6_tf2 +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.07753503, 0.18257454, 0.16630161, 0.018181466, 0.032217313, -0.029755782, -0.09729085, 0.090185136, 0.036025215, -0.07385567, -0.11479112, -0.009775693, -0.09510068, 0.099653766, 0.12464123, 0.11700322) * go_0(-1.0, -1.0); + result += mat4(0.63560385, 0.086338535, -0.13764763, 0.47561046, -0.124727264, 0.12672219, 0.070208505, -0.19783491, -0.17025535, -0.06808678, -0.020102726, -0.04832835, 0.036826584, -0.42171007, -0.06695269, 0.110764995) * go_0(-1.0, 0.0); + result += mat4(-0.21227197, 0.007874801, 0.23701921, 0.1677161, -0.09035146, -0.078691766, -0.14215821, 0.124355234, 0.22710884, 0.033057146, -0.056999616, -0.23319073, 0.22966021, -0.06883101, 0.16328879, -0.06578935) * go_0(-1.0, 1.0); + result += mat4(-0.054363396, -0.02026726, -0.3616366, 0.06780306, -0.04632169, 0.10096817, 0.0533077, -0.083695725, 0.23162244, 0.16473895, 0.19103514, 0.0071199746, 0.2165012, 0.04725686, 0.035206214, 0.022603447) * go_0(0.0, -1.0); + result += mat4(0.6271094, -0.09669194, 0.07382753, -0.30720463, 0.15260984, -0.36707088, -0.031697996, 0.01600927, -0.39879522, 0.101928055, -0.6943482, 0.14665292, -0.3587046, 0.021466898, -0.047919527, 0.2560715) * go_0(0.0, 0.0); + result += mat4(0.019088794, -0.0771604, -0.028177094, 0.088726945, -0.057697777, 0.2596943, 0.17144933, 0.058258526, 0.08891237, 0.106383145, 0.396072, 0.29374352, 0.06596987, -0.105576634, 0.055430118, -0.12292237) * go_0(0.0, 1.0); + result += mat4(-0.17208415, 0.12158739, 0.04662299, 0.21695717, 0.11738881, -0.067407556, -0.039283432, -0.1076609, 0.107738726, -0.121356055, -0.062349405, 0.048801728, 0.09052609, -0.11955365, 0.006165453, 0.06702327) * go_0(1.0, -1.0); + result += mat4(0.23194505, -0.2278423, -0.4579323, -0.4102899, -0.33038944, 0.10686308, 0.12578374, 0.14304528, -0.03290542, -0.22190952, -0.15582415, 0.10534921, 0.0939146, -0.04590803, -0.03591444, -0.030313203) * go_0(1.0, 0.0); + result += mat4(0.013647308, 0.16051029, 0.024319794, -0.10505089, 0.054013297, -0.06920784, -0.020672748, -0.08262819, 0.14681742, -0.07409691, -0.063802995, 0.05206, -0.041670747, -0.022410793, -0.034180272, 0.0044075833) * go_0(1.0, 1.0); + result += mat4(-0.16723743, -0.062276114, -0.06804346, -0.06663604, 0.14639418, -0.0013829652, 0.14537166, 0.08992991, 0.00034609268, -0.11339855, -0.24834645, -0.18017055, 0.08099037, -0.22302043, -0.1160269, 0.23041926) * go_1(-1.0, -1.0); + result += mat4(0.19984062, 0.11262733, -0.021448923, 0.005645689, -0.22319363, 0.025013078, 0.050730385, 0.04427755, 0.10756255, 0.65996444, 0.17024773, -0.16237848, -0.032943483, 0.3259415, -0.08211643, -0.17815286) * go_1(-1.0, 0.0); + result += mat4(0.022923036, 0.00817696, -0.024639564, -0.017746205, 0.08000752, -0.09480044, 0.049720343, -0.039725818, -0.07954878, -0.26012203, -0.053556137, 0.28696015, -0.145685, -0.12854065, -0.030942779, 0.15013586) * go_1(-1.0, 1.0); + result += mat4(0.050982554, 0.067020066, -0.041660026, 0.07976747, -0.31219116, -0.1589965, -0.14711075, -0.2931567, -0.12886077, 0.108178794, 0.112790324, 0.18239829, 0.028661542, 0.066967815, 0.36810458, 0.07042916) * go_1(0.0, -1.0); + result += mat4(0.019871455, 0.13281262, -0.24303706, -0.053014435, 0.056483634, 0.2225138, 0.32238156, 0.09232671, 0.19425367, -0.96300596, 0.25233442, 0.34456885, 0.2688357, -0.14355205, 0.04201295, -0.09642235) * go_1(0.0, 0.0); + result += mat4(0.0021202683, 0.010281568, -0.009938761, 0.074630536, -0.23044111, 0.005154135, -0.04620688, -0.10301254, -0.17195332, -0.04863239, 0.07042225, -0.20654899, 0.029428456, 0.0045313304, 0.0051823566, 0.046590757) * go_1(0.0, 1.0); + result += mat4(0.061882593, -0.005337726, 0.10121195, 0.01023931, -0.1310065, 0.10085874, 0.13651021, -0.09158545, 0.09086723, -0.031106705, 0.03951561, 0.03958167, 0.00533062, -0.058091614, -0.11571378, -0.18051541) * go_1(1.0, -1.0); + result += mat4(0.012350476, 0.020112693, 0.0865518, 0.025516901, -0.2874268, 0.00638599, -0.3849406, 0.043449268, 0.27883583, -0.06104393, 0.17362429, 0.3229962, -0.18683271, -0.051683012, -0.14111629, 0.20863265) * go_1(1.0, 0.0); + result += mat4(0.06548792, -0.031812105, 0.032238998, 0.070259914, -0.0037810719, 0.106959336, 0.030661082, -0.11430295, 0.075470194, -0.035097398, -0.08884117, 0.15083537, -0.048511047, 0.09958945, 0.2043977, -0.14497246) * go_1(1.0, 1.0); + result += mat4(-0.025868082, 0.06237453, -0.034789152, -0.035199117, -0.021047676, -0.04558201, -0.0013141828, 0.033968918, -0.068529084, -0.06589172, -0.035473417, -0.03182408, 0.016299484, 0.07821524, -0.19162482, -0.06681627) * go_2(-1.0, -1.0); + result += mat4(0.0052780746, 0.043558404, -0.24577554, 0.11166642, 0.016039649, 0.020174565, 0.0054034027, 0.023591455, 0.24817981, 0.08734375, -0.1477572, 0.1215117, -0.017666219, -0.012353692, -0.049153887, 0.0784066) * go_2(-1.0, 0.0); + result += mat4(0.06988246, 0.06763118, 0.09934897, -0.042905882, -0.09801134, -0.033267114, 0.01741649, 0.059379116, -0.08127772, 0.010377487, -0.012631491, -0.077160686, -0.08947271, -0.067014046, -0.14255494, -0.03131322) * go_2(-1.0, 1.0); + result += mat4(0.0059068906, 0.32045186, 0.3258453, 0.0071538044, -0.027888278, 0.0068888674, -0.0015216616, -0.050514743, -0.11685065, 0.02886966, -0.008737784, -0.09290019, -0.04111259, 0.0329059, -0.2584297, -0.07026411) * go_2(0.0, -1.0); + result += mat4(-0.25162768, -0.093273714, -0.029060591, 0.050672933, -0.025395831, 0.029609011, -0.13621128, -0.08097387, 0.39335665, -0.18867645, 0.8212168, 0.12602827, 0.5734114, 0.38603428, 0.23521046, 0.21041085) * go_2(0.0, 0.0); + result += mat4(0.020245805, -0.054311104, -0.0021298525, -0.08635577, 0.04203476, 0.054419816, 0.0032106396, 0.082799725, -0.03885507, -0.12756048, -0.19565445, -0.022734454, 0.10178226, 0.08269887, -0.0018781893, 0.11515606) * go_2(0.0, 1.0); + result += mat4(0.08051269, -0.25091916, -0.08014612, -0.29471904, -0.08183992, 0.02096263, -0.04595293, 0.053499684, -0.10576831, -0.01105415, 0.054239217, 0.05486181, -0.18503998, 0.06235187, -0.046460405, -0.072068095) * go_2(1.0, -1.0); + result += mat4(-0.14105208, 0.06913383, -0.129492, 0.18553926, 0.03405444, 0.0772168, 0.10576763, -0.04969428, 0.17356592, -0.10986026, -0.33151895, -0.11582152, -0.0016404261, -0.003514874, -0.2096539, 0.03649547) * go_2(1.0, 0.0); + result += mat4(0.020758089, 0.17374831, 0.039282177, -0.039052464, 0.050139774, -0.0005518581, -0.025435442, 0.023258803, -0.1458097, 0.090529695, 0.025673594, -0.026266405, 0.072392054, -0.055323754, 0.03383548, -0.033020195) * go_2(1.0, 1.0); + result += mat4(-0.09315446, -0.036772106, -0.09159718, -0.12479503, -0.018140549, -0.022523982, 0.047108658, -0.04837651, 0.007124631, -0.009751111, 0.055076525, -0.0057495553, 0.07268171, -0.054520987, -0.079869404, 0.28962412) * go_3(-1.0, -1.0); + result += mat4(0.040367916, 0.041719466, -0.07215196, -0.026521962, 0.23269388, 0.08115016, 0.10487475, 0.05837459, 0.09574069, 0.03150842, 0.12011107, 0.104198076, -0.25915185, 0.31970975, -0.053038772, -0.23452167) * go_3(-1.0, 0.0); + result += mat4(-0.089933544, 0.00026363076, -0.037807353, -0.0067500956, -0.13427527, 0.11757816, 0.020407641, -0.15267986, -0.13672389, -0.07098531, -0.050623354, -0.04904697, 0.05156428, -0.07822598, 0.07232775, 0.12266631) * go_3(-1.0, 1.0); + result += mat4(-0.050988704, -0.11840922, -0.06057243, -0.023974465, -0.047475163, -0.1388251, -0.052473098, 0.06360512, -0.016356083, -0.12530154, -0.044482324, -0.035020005, -0.02834032, -0.031647444, 0.07049413, -0.08899642) * go_3(0.0, -1.0); + result += mat4(-0.060299333, 0.2991397, 0.0035407627, -0.12897336, -0.39282677, 0.42156345, -0.22449674, -0.11054013, 0.04733773, -0.094842866, -0.11086912, 0.10083519, 0.13186517, 0.1557214, 0.11726571, -0.23863392) * go_3(0.0, 0.0); + result += mat4(-0.03155107, -0.002008898, -0.037107117, 0.04468562, 0.037719093, -0.10104318, -0.0021850376, -0.033998992, -0.033299964, -0.026892597, 0.012233978, -0.09816237, -0.15987061, -0.11821871, -0.11293413, 0.041385822) * go_3(0.0, 1.0); + result += mat4(-0.03189814, 0.028700352, 0.030834107, 0.008420813, -0.029382093, 0.10250884, 0.032190785, 0.042566366, -0.0066131293, 0.019135946, -0.06836444, -0.082475856, 0.0020301298, 0.06428329, 0.05401348, 0.10219137) * go_3(1.0, -1.0); + result += mat4(0.09569376, -0.104563974, 0.04412079, 0.046004657, -0.179229, 0.07610759, 0.21264501, -0.03126616, -0.08888636, 0.049238402, 0.09623378, 0.08347852, 0.034179587, 0.04112591, 0.020796875, 0.016594669) * go_3(1.0, 0.0); + result += mat4(-0.022230666, -0.06919777, 0.0070929914, -0.040181976, 0.04288458, -0.057510544, -0.15865, -0.046124704, -0.06199105, -0.033739343, -0.12126394, -0.053888205, 0.003457772, -0.05709056, 0.009589608, 0.061582502) * go_3(1.0, 1.0); + result += mat4(-0.2261687, -0.010483538, 0.070508964, 0.16609758, -0.07575776, 0.07133805, 0.108534805, 0.016434515, -0.06777619, -0.053581562, -0.009408219, -0.0219316, -0.009917843, -0.056226153, 0.09495687, 0.103568204) * go_4(-1.0, -1.0); + result += mat4(0.26707995, 0.038988136, 0.15722616, -0.15202025, 0.011516332, -0.22326125, -0.21010138, 0.021120701, 0.052979603, -0.052226435, 0.03128543, -0.02211858, 0.16997981, 0.060853012, 0.17988598, -0.042057697) * go_4(-1.0, 0.0); + result += mat4(-0.19020362, -0.0019182847, 0.11082178, 0.18037713, -0.086572066, 0.072597384, -0.08759872, -0.064898625, 0.0427911, 0.101790726, 0.035692267, -0.17279546, 0.049133815, 0.08832157, 0.03645548, 0.011682866) * go_4(-1.0, 1.0); + result += mat4(0.27870035, 0.06836818, 0.36847374, -0.38926098, 0.05053419, -0.2971805, -0.22622849, 0.1165501, 0.037631556, 0.1250731, 0.059861004, 0.1194484, -0.002153221, 0.28717375, 0.071283594, 0.0974051) * go_4(0.0, -1.0); + result += mat4(-0.040311184, 0.21025413, 0.32822168, -0.031298842, -0.06347585, 0.1510298, 0.00070645136, -0.34678075, -0.21172246, 0.05277019, -0.15126394, -0.33598784, -0.36668247, -0.36057234, -0.2734601, -0.2903695) * go_4(0.0, 0.0); + result += mat4(-0.28878236, 0.100743115, -0.012016584, -0.15287946, 0.1262014, 0.015991366, 0.07392021, 0.06277959, 0.07709602, 0.060382154, 0.013840257, -0.1493553, 0.12138542, -0.032591913, -0.002609394, 0.13922709) * go_4(0.0, 1.0); + result += mat4(0.13982488, -0.034557592, -0.35006866, -0.2928353, 0.11529845, 0.23494898, 0.0991676, 0.32742763, -0.03035729, 0.016935157, -0.04650478, -0.039851867, 0.16783717, -0.065768905, -0.102848, -0.03003262) * go_4(1.0, -1.0); + result += mat4(-0.53978115, 0.026080003, 0.018700078, 0.077284, 0.2975522, -0.11212302, 0.118295476, 0.088821776, -0.22738294, 0.030945897, -0.1766137, -0.098558865, 0.039936017, 0.046374835, 0.19131522, 0.19770078) * go_4(1.0, 0.0); + result += mat4(0.16857389, -0.020288788, 0.04038437, -0.25337628, -0.034605104, -0.094041236, -0.0049146856, -0.10170456, -0.14423485, 0.021705322, -0.09162893, -0.15423405, 0.08731724, 0.114831835, -0.028548159, -0.09497847) * go_4(1.0, 1.0); + result += mat4(-0.019900214, 0.17017384, -0.0002794323, -0.021626309, -0.5123191, -0.23828037, -0.10549822, -0.48781806, -0.12835194, -0.049513552, 0.08051828, -0.3390981, 0.21935092, 0.012243462, 0.13521184, 0.09005778) * go_5(-1.0, -1.0); + result += mat4(0.090306774, -0.31387252, -0.1616645, -0.063887075, 0.3674563, 0.19566801, 0.042223614, -0.38199827, -0.08814569, -0.14486119, 0.087531656, 0.18280624, -0.041397072, -0.025872236, -0.02853888, -0.047817115) * go_5(-1.0, 0.0); + result += mat4(-0.07662397, 0.10808078, 0.08065922, 0.033938166, 0.09167725, 0.09102921, 0.10393655, 0.09121259, 0.15521088, 0.026846137, 0.033644184, -0.006811738, -0.110427104, 0.0722537, 0.014346524, 0.019231822) * go_5(-1.0, 1.0); + result += mat4(-0.14094852, -0.21157825, 0.2149605, 0.28070143, -0.24665649, -0.16250402, -0.0730695, -0.1935525, 0.02327017, -0.13742846, -0.20341669, -0.19092573, 0.3781883, -0.14726567, 0.0033765805, -0.026217941) * go_5(0.0, -1.0); + result += mat4(0.23381747, -0.21297243, -0.16462179, -0.4404414, 0.2630713, -0.06808036, 0.5769483, 0.13606368, -0.14412731, 0.17307961, 0.15431021, -0.06048075, -0.93423635, 0.2661323, -0.27400798, -0.71388435) * go_5(0.0, 0.0); + result += mat4(-0.057459023, -0.044256542, -0.14173234, 0.17559054, 0.009228982, -0.20965119, -0.23656605, 0.0805913, -0.18358104, 0.04514636, -0.09859629, -0.00032626695, -0.10969266, -0.171687, -0.085197695, 0.067852624) * go_5(0.0, 1.0); + result += mat4(0.0783408, 0.0022921865, -0.20093176, -0.094298504, -0.031999376, 0.03923688, 0.088507205, 0.1756585, 0.0325784, 0.09271384, 0.08411006, -0.011803396, 0.060698293, -0.0653917, -0.02558477, -0.02075619) * go_5(1.0, -1.0); + result += mat4(-0.10503856, -0.058553405, 0.38081455, 0.13121964, 0.5770783, -0.10269853, -0.4627, -0.4232826, 0.11166562, -0.058157276, -0.15944225, 0.048007622, 0.06506096, -0.0067857644, -0.03218101, 0.08807966) * go_5(1.0, 0.0); + result += mat4(0.032330092, -0.07843012, -0.037207145, 0.06599961, -0.28124368, 0.14263964, -0.0070453, 0.14530747, -0.05910883, 0.16203453, 0.064827256, -0.0043987543, -0.03808922, 0.102124214, 0.06162945, 0.103994325) * go_5(1.0, 1.0); + result += vec4(-0.003073506, -0.033630643, 0.028479056, -0.025402397); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x1x1x120 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!SAVE conv2d_last_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_1 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_7 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_8 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_10 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_11 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_14 (max((conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) +#define g_15 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_16 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) +#define g_18 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_19 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_20 (max((conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) +#define g_21 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_22 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_23 (max(-(conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) +#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_26 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_27 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_28 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_29 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.06761509, 0.0010596798, 0.118115634, 0.14935187, -0.05466623, 0.091785856, -0.03665047, 0.076207176, -0.15206745, -0.074811794, -0.041557387, 0.020541618, -0.037649132, -0.07627772, -0.10156735, -0.07498991) * g_0; + result += mat4(-0.0541389, 0.007155582, -0.06095953, -0.016313383, -0.13457695, -0.03827954, -0.034835886, 0.04974308, 0.008285558, -0.06611796, -0.067563675, -0.11533022, -0.08719109, 0.042913426, -0.083873115, 0.027492668) * g_1; + result += mat4(0.17322378, -0.07721062, 0.076297946, -0.1325289, 0.00692486, 0.019282155, 0.038707003, 0.056305885, -0.037604675, -0.17109787, 0.052209407, -0.11086336, 0.0052244705, 0.056766637, -0.017374612, 0.06740667) * g_2; + result += mat4(0.053550255, 0.07344529, -0.10690144, -0.08243465, 0.028142922, -0.07358604, 0.070248306, 0.0053416835, 0.009705257, 0.09426246, 0.05850371, 0.08341002, 0.06166079, 0.102394834, 0.058707405, 0.19911417) * g_3; + result += mat4(-0.009806288, 0.061949313, 0.011325549, 0.031676874, 0.113277406, 0.07123387, -0.0022331094, -0.05520811, -0.021068804, 0.0073448666, 0.031778157, 0.06381251, -0.022977686, -0.0044090333, -0.028826792, -0.005600321) * g_4; + result += mat4(-0.13628425, -0.107186474, 0.010461016, 0.045646533, 0.010563035, 0.0005640543, 0.002957052, -0.01454462, 0.106655054, 0.13992403, -0.01641908, 0.0264948, 0.014378123, 0.024764376, -0.06435794, -0.076860085) * g_5; + result += mat4(0.031931117, 0.062713124, -0.049225837, -0.02620178, 0.20593183, 0.03311921, -0.02824421, -0.19422682, -0.017965427, 0.05093508, -0.07729694, -0.013976707, -0.054889455, -0.008431357, -0.00865999, 0.05323866) * g_6; + result += mat4(-0.07898102, 0.13033123, -0.24963257, -0.046712235, -0.017762529, -0.07267942, 0.039491024, -0.034781307, 0.02270499, -0.12520099, -0.02714401, -0.13284011, 0.014340563, -0.007257448, -0.07413879, -0.12837824) * g_7; + result += mat4(0.09598721, -0.006008832, 0.051995635, -0.07847789, 0.109905876, 0.18126504, -0.086034976, -0.0360382, 0.19074084, 0.054656357, 0.06871617, -0.041497722, 0.064660124, -0.10478427, 0.052080367, -0.1518587) * g_8; + result += mat4(-0.044614766, -0.08404386, 0.06729217, 0.03758003, -0.23567544, -0.0450765, 0.014905518, 0.19749434, 0.0070031853, -0.068472505, 0.04280405, -0.009026482, 0.03368337, 0.037044305, 0.014582284, -0.015817456) * g_9; + result += mat4(0.05070276, -0.13125883, 0.24694905, 0.049511425, 0.021699967, 0.080548055, -0.03720478, 0.032441437, -0.01215519, 0.09360713, 0.024676912, 0.11170701, -0.024200387, 0.0021200276, 0.06300166, 0.10979445) * g_10; + result += mat4(-0.1055991, 0.007073368, -0.07666124, 0.06573558, -0.10762247, -0.16527167, 0.09825201, 0.051373113, -0.1926851, -0.046607103, -0.07601954, 0.05199459, -0.06756806, 0.092222616, -0.026166819, 0.1535803) * g_11; + result += mat4(0.0067429054, 0.014872415, -0.019792963, 0.0014269215, 0.041500363, 0.018643422, 0.04487991, 0.031431414, -0.0278133, -0.028131608, -0.019798402, -0.041768856, -0.0063227355, 0.007656633, 0.0019235855, 0.00076331315) * g_12; + result += mat4(0.025489544, 0.023983652, 0.029175067, 0.0075372118, -0.010194142, -0.014977182, 0.011589661, 0.00036903258, -0.012841702, -0.010945794, -0.012143497, -0.0069256728, 0.007313037, 0.007576904, -0.016960602, 0.009170305) * g_13; + result += mat4(0.004188971, 0.017998729, -0.0046976185, -0.0034182668, 0.021841675, 0.012860078, 0.009202975, -0.0071324864, -0.0037808695, 0.01139587, -0.016267903, 0.007991299, 0.008879691, 0.007677154, 0.016209174, 0.011406443) * g_14; + result += mat4(-0.008698401, -0.017972758, 0.026514322, -0.0024080887, 0.00012845756, 0.021530064, 0.0014967524, 0.0060274163, 0.017589558, 0.031043446, 0.014386793, 0.051733218, -0.013435874, -0.020567564, 0.011874828, 0.0030195254) * g_15; + result += mat4(0.008565417, 0.0073839244, -0.012248247, -0.019089373, -0.04383907, 0.01000193, -0.003246391, 0.0502051, 0.012343873, 0.027492827, -0.011591099, 0.010474208, -0.009317595, -0.009244615, -0.00889853, -0.015167559) * g_16; + result += mat4(-0.0149119655, -0.05737016, 0.027463723, 0.0013402153, 0.0012228708, 4.653676e-05, 5.3374144e-05, 0.010701133, 0.011828213, -0.012499855, -0.009720743, -0.035716657, -0.06976149, -0.05596556, 0.0028440042, 0.013388718) * g_17; + result += mat4(-0.010236228, 0.08551208, -0.060067203, 0.012999882, -0.0060008806, 0.003534564, 0.009385839, 0.010742909, 0.02672157, -0.17606625, 0.13504161, -0.035290483, -0.014812689, -0.0236554, 0.031493064, 0.01800991) * g_18; + result += mat4(0.0005283657, -0.032297328, 0.023884023, 0.024165852, 0.0017424148, -0.015371204, 0.0058860597, -0.04624227, 0.04947679, 0.09081732, -0.04592456, -0.03128466, 0.00023743653, -0.032846384, -0.0013158394, 0.0037953698) * g_19; + result += mat4(0.0034766623, -0.006661828, 0.027227342, 0.033958994, -0.007990619, 0.0025515554, -0.016197672, -0.0010064896, 0.022598108, 0.014734878, 0.021482255, -0.0059315437, -0.038538814, 0.03478085, -0.05926627, 0.012918195) * g_20; + result += mat4(-0.023291608, -0.013129155, 0.0032865414, 0.026531553, -0.004495095, 0.0043812403, -0.027177097, -0.009125319, -0.006041235, -0.0031154896, -0.030664662, 0.005782464, -0.008880747, 0.015690446, -0.0108247, -0.022403536) * g_21; + result += mat4(-0.07639219, 0.05440532, 0.016447276, -0.055569574, 0.0014948049, -0.03464865, -0.006925237, 0.024131197, 0.009468209, -0.011771851, 0.013548103, 0.004704814, 0.063868396, 0.04857746, 0.08745972, 0.0690927) * g_22; + result += mat4(0.021505289, -0.06289818, 0.031038022, -0.047952045, 0.014759762, 0.10819852, -0.044093642, -0.020913709, -0.017672667, 0.007322798, -0.0030338434, -0.015471056, 0.017840479, -0.052742675, 0.044256743, -0.014589662) * g_23; + result += mat4(0.037849434, 0.04017271, 0.01840757, -0.05590355, 0.041468013, -0.015397055, -0.059170194, 0.08708615, 0.021914955, -0.0045240326, 0.03308673, 0.0141805615, -0.045770008, 0.048188016, -0.08913234, 0.046581928) * g_24; + result += mat4(-0.09374169, 0.07681035, -0.032266654, 0.066911325, 0.0071584303, 0.06599442, -0.0031403983, -0.062489454, 0.013248783, 0.018261025, -0.00095267413, -0.026741864, -0.0059258267, 0.03542517, -0.033440042, -0.0007421821) * g_25; + result += mat4(0.06491965, 0.0354909, -0.035559855, -0.07943817, 0.028543673, 0.026842002, -0.0029009457, -0.0022229373, 0.045988, -0.08896797, -0.04740724, 0.002011393, -0.067833476, -0.048432026, 0.025755037, 0.042066928) * g_26; + result += mat4(-0.0011515832, -0.067060925, 0.02632549, 0.019017957, -0.0021755556, 0.004405696, 0.03028079, -0.043944478, -0.06373467, -0.032911435, -0.07619137, -0.055402283, -0.014293524, -0.009286333, 0.032950103, 0.0020192636) * g_27; + result += mat4(0.033251163, -0.012636667, -0.019736348, -0.02221555, -0.035174683, -0.0024467881, -0.0020635366, 0.021488743, 0.054788366, -0.085087426, 0.06572526, -0.037050918, -0.06467607, -0.1047945, 0.10937466, 0.058931317) * g_28; + result += mat4(-0.0015108787, 0.016789518, -0.02054971, 0.014368727, -0.083879344, -0.0024550394, 0.047329154, 0.018185811, -0.008528356, 0.04782707, 0.0019893225, 0.0095295245, -0.0024202724, -0.022640519, 0.0033455987, 0.010862984) * g_29; + result += vec4(-0.00339168, 0.022745693, -0.021186745, 0.007273877); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x1x1x120 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!SAVE conv2d_last_tf1 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_1 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_7 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_8 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_10 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_11 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_14 (max((conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) +#define g_15 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_16 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) +#define g_18 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_19 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_20 (max((conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) +#define g_21 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_22 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_23 (max(-(conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) +#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_26 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_27 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_28 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_29 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.016521078, 0.02344092, -0.04535869, -0.02916889, -0.06936641, -0.1118498, -0.07784149, -0.10769916, 0.042465053, 0.023522044, 0.0057797814, -0.00933453, 0.0013065349, 0.006887965, 0.019049056, 0.00018660461) * g_0; + result += mat4(0.047062866, 0.030671, 0.018363738, 0.015970303, 0.03619224, 0.0009964193, 0.027005734, -0.010791107, -0.027404316, -0.017589977, 0.0027660786, 0.0064380392, 0.003131181, -0.03881711, 0.017278498, -0.026646316) * g_1; + result += mat4(-0.09417044, -0.030767195, -0.07023792, -0.015087274, -0.0007041566, -0.007214834, -0.010352469, -0.0208777, -0.006043107, 0.041942447, -0.027989924, 0.02058792, -0.004574836, -0.030063841, 0.0009874715, -0.030957421) * g_2; + result += mat4(0.008398759, -0.014724292, 0.05661028, 0.03329433, 0.06970151, 0.09905173, 0.045296658, 0.06785315, -0.0044002533, -0.033776686, -0.018678186, -0.029671727, -0.019401457, -0.018823013, -0.015008842, -0.06645454) * g_3; + result += mat4(-0.012770869, -0.039806906, -0.020173356, -0.033546574, -0.01800492, 0.005292071, -0.0040793624, 0.028466543, -0.0059105135, -0.01909232, -0.008970177, -0.023610232, 0.015667727, 0.021344513, 0.008805983, 0.012206504) * g_4; + result += mat4(0.09997275, 0.08955608, 0.035512842, 0.028650196, -0.0030424239, -0.0024058563, 0.0016431157, 0.006236751, -0.036105607, -0.04603557, 0.009145427, -0.0048202197, -0.020911733, -0.02017906, 0.016494693, 0.026199821) * g_5; + result += mat4(-0.038404938, -0.060263526, -6.756075e-05, -0.027351642, -0.088377364, -0.018328555, 0.0054546758, 0.080624446, 0.011837796, -0.020218652, 0.018197412, 0.0060563446, 0.025623528, 0.048627276, 0.023259064, 0.040498782) * g_6; + result += mat4(0.001184946, -0.010515342, 0.07386562, 0.059235208, 0.05555331, 0.062187005, 0.05260689, 0.053744275, -0.05839836, -0.037090734, -0.039248314, -0.020784492, -0.028018624, -0.019818485, 0.0076861596, 0.02911364) * g_7; + result += mat4(-0.00855134, 0.026217, 0.008748317, 0.044626243, -0.031007087, -0.040997487, 0.05034173, 0.048289847, -0.055651344, -0.0043054484, -0.022927478, 0.035169583, -0.008501671, 0.04446119, 0.011305084, 0.07596592) * g_8; + result += mat4(0.02517117, 0.04711998, 0.013574831, 0.035244223, 0.075724855, -0.0018857572, -0.01328286, -0.08398966, -0.018110974, 0.010837328, -0.040522598, -0.018411685, -0.059188075, -0.04547794, -0.029902466, -0.016604925) * g_9; + result += mat4(-0.035855412, 0.046150643, -0.10446721, -0.026326178, -0.04509233, -0.059326984, -0.035487395, -0.047976315, 0.07541923, 0.014728924, 0.046932008, 0.015592031, 0.017363356, 0.009260565, -0.014755931, -0.04052638) * g_10; + result += mat4(0.021554522, -0.011627397, -0.01343262, -0.04844844, 0.027149484, 0.05269421, -0.038861327, -0.034239817, 0.045947555, 0.0040015248, 0.007324502, -0.033051178, 0.0059830896, -0.069709964, 0.0073222807, -0.07108966) * g_11; + result += mat4(-0.009433482, 0.014257062, -0.034876116, -0.006570796, 0.01594308, 0.006663722, 0.025571914, 0.017348047, -0.00696648, 0.0012649806, -0.009151321, -0.016255042, -0.009809473, -0.0066239014, 0.013773972, 0.0009501933) * g_12; + result += mat4(0.026438858, 0.021545267, 0.028909115, -0.00084199436, -0.011350823, -0.010261177, 0.0064784726, 0.0028340816, 4.6254245e-05, 0.0022755957, 0.008798779, 0.010278017, -0.0011969887, 0.0035411653, -0.018417642, 0.0038709878) * g_13; + result += mat4(0.013238081, 6.1892446e-05, 0.002711564, -0.009014244, 0.03579594, 0.0009713739, 0.018199503, -0.010510502, -0.0019577555, -0.0035989769, -0.027621416, -0.000649344, 0.012450313, 0.005054388, 0.028295556, 0.016118951) * g_14; + result += mat4(0.0014749946, -0.023122363, 0.03635473, 0.0058698757, -0.001502294, 0.0056668227, -0.00653508, -0.0045331884, 0.0019510906, -0.0004722523, 0.0015459604, 0.02002365, -0.012883676, -0.02313574, 0.0055781654, 0.00042050896) * g_15; + result += mat4(0.010353148, 0.0061610388, -0.01620723, -0.025678562, -0.050585296, 0.0015720357, 0.006579174, 0.04645622, 0.0034451822, 0.01640892, -0.019171385, -0.002445667, 0.002142384, -0.00157746, -0.007453497, -0.012107003) * g_16; + result += mat4(-0.023626367, -0.03362931, 0.02775251, 0.00854008, -0.00731221, 0.0058875666, -0.0042465483, 0.011091973, 0.01608576, 0.008776418, -0.005520655, -0.02189608, -0.07337467, -0.04255072, 0.008632718, 0.024232844) * g_17; + result += mat4(-0.012279061, 0.09683549, -0.058048066, 0.009577618, -0.007927522, 0.0030408904, 0.0026037316, 0.0097128665, 0.039862663, -0.18592681, 0.15766914, -0.02878756, -0.015735846, -0.025808172, 0.035324212, 0.025404148) * g_18; + result += mat4(0.006978013, -0.023965824, 0.04186123, 0.035988815, 0.009321329, -0.015712317, 0.0018002216, -0.052822754, 0.05654876, 0.111119345, -0.041984286, -0.029346094, -0.007712756, -0.034608763, -0.0036700158, 0.0038703915) * g_19; + result += mat4(0.010860362, 0.006824253, 0.03891404, 0.049122907, -0.008826647, -0.0010997625, -0.021827312, -0.007863293, 0.033063967, 0.022403365, 0.032778744, 0.007655028, -0.04496311, 0.041045222, -0.07040422, 0.004163393) * g_20; + result += mat4(-0.024705354, -0.015902927, 0.0062216455, 0.032576248, -0.0073882695, 0.00312872, -0.034358293, -0.0108961025, -0.013837597, -0.01177598, -0.04495569, -0.0055595962, -0.01059331, 0.012361757, -0.014834784, -0.033682585) * g_21; + result += mat4(-0.09480182, 0.03846278, -0.0028056598, -0.07323092, -0.005995085, -0.043553468, -0.005056617, 0.024003377, 0.004277762, -0.012972639, 0.012475677, 0.008617157, 0.10223809, 0.07649263, 0.12168736, 0.097682655) * g_22; + result += mat4(0.015393864, -0.07291429, 0.02954706, -0.05294187, 0.013404429, 0.120944545, -0.042298347, -0.01288604, -0.019713184, 0.0020540208, -0.011201426, -0.02414191, 0.007575817, -0.07666445, 0.0432983, -0.026015261) * g_23; + result += mat4(0.03819905, 0.04372597, 0.01904637, -0.061578088, 0.040888324, -0.016588384, -0.064523876, 0.09287848, 0.01574791, -0.014614555, 0.02938285, 0.0042374404, -0.046039872, 0.056844704, -0.08844019, 0.052806962) * g_24; + result += mat4(-0.096315265, 0.07987954, -0.031859763, 0.072237074, 0.015652604, 0.07566605, -0.00032600394, -0.05746408, 0.014229001, 0.017113304, -0.0023968874, -0.03106284, -0.0069599864, 0.03968875, -0.038528994, -0.003121002) * g_25; + result += mat4(0.07314791, 0.03615158, -0.03678017, -0.0791755, 0.03634212, 0.039138626, 0.0035000257, 0.00436604, 0.044376615, -0.09974018, -0.051570408, -0.002901859, -0.06796205, -0.05585607, 0.02609314, 0.04431718) * g_26; + result += mat4(0.0026970597, -0.07160132, 0.03102004, 0.022031954, 0.000259048, 0.004125086, 0.033309445, -0.04846637, -0.06566389, -0.029620873, -0.07882971, -0.053104673, -0.013712152, -0.015054757, 0.033180926, 0.00034900242) * g_27; + result += mat4(0.034628514, -0.01001147, -0.021473913, -0.022840675, -0.045706123, -0.010280426, -0.0069577876, 0.01667532, 0.055181097, -0.087735586, 0.06744914, -0.034818206, -0.066513196, -0.10804274, 0.11681918, 0.06460058) * g_28; + result += mat4(-0.005054911, 0.01865763, -0.021856284, 0.010207481, -0.090607546, -0.014940299, 0.04399175, 0.013478195, -0.0072319377, 0.057889264, 0.0061306353, 0.021376813, -0.00018109869, -0.022432365, 0.004136804, 0.011778294) * g_29; + result += vec4(0.015986905, 0.006547183, 0.017682848, 0.0020978956); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Conv-4x1x1x120 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!SAVE conv2d_last_tf2 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_1 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_7 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_8 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_10 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_11 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_14 (max((conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) +#define g_15 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_16 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) +#define g_18 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_19 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_20 (max((conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) +#define g_21 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_22 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_23 (max(-(conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) +#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_26 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_27 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_28 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_29 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.17312507, 0.18378204, 0.07926516, 0.1067288, 0.21052518, 0.13378853, 0.19536258, 0.14002354, 0.11711924, 0.08335183, 0.056983225, 0.028226014, 0.03449669, 0.044664416, 0.06761993, 0.044069722) * g_0; + result += mat4(0.049151406, 0.027747469, 0.013829845, 0.010793505, 0.16125697, 0.10510845, 0.13865222, 0.08505211, -0.20990449, -0.19430009, -0.15810025, -0.15454805, -0.035844944, -0.11059333, -0.018675208, -0.09188628) * g_1; + result += mat4(0.006685408, 0.11628241, 0.039672334, 0.1436817, 0.015559294, 0.009202889, 0.004621052, -0.006609141, 0.007991005, 0.08041883, -0.014427849, 0.057766948, -0.067192554, -0.10489045, -0.058118373, -0.10879217) * g_2; + result += mat4(-0.13102308, -0.16938946, -0.049558997, -0.08738032, -0.15949999, -0.098247744, -0.21387893, -0.16764748, -0.036459852, -0.08977845, -0.063770026, -0.085683785, -0.04874994, -0.050357077, -0.040709995, -0.12104794) * g_3; + result += mat4(-0.0016424131, -0.04231474, -0.008843509, -0.026220948, -0.13888876, -0.10844901, -0.10787409, -0.067019746, 0.1705322, 0.16687205, 0.16005264, 0.15010779, 0.084698394, 0.092028156, 0.07699169, 0.079460666) * g_4; + result += mat4(0.0075197075, -0.020141402, -0.1006905, -0.11359611, -0.0085215755, -0.005612361, -0.0018493677, 0.007426326, -0.06751104, -0.08159549, 0.0120629985, -0.012342098, 0.03995728, 0.036384724, 0.09553051, 0.09851564) * g_5; + result += mat4(-0.029465627, -0.054333087, 0.02729686, -0.0045043076, -0.13339953, -0.032064863, 0.0070489575, 0.1158326, -0.0006455828, -0.05559491, 0.016300855, -0.016093824, 0.0035336027, 0.025718046, -0.002194457, 0.009156581) * g_6; + result += mat4(-0.03060067, -0.088183194, 0.08511207, 0.023555957, 0.030279126, 0.037585177, 0.016086163, 0.017970216, -0.05365472, 0.008709411, -0.022766082, 0.026308894, -0.026761275, -0.012835554, 0.02677239, 0.06120358) * g_7; + result += mat4(-0.030154163, 0.016827311, -0.0070917453, 0.049568735, -0.06463202, -0.095433265, 0.059520688, 0.039794426, -0.11667492, -0.040507805, -0.05257038, 0.025766404, -0.04885214, 0.042495333, -0.022887079, 0.08385772) * g_8; + result += mat4(0.024346549, 0.054313555, -0.005122175, 0.019812366, 0.13365328, 0.014708698, -0.010476813, -0.1185288, 0.0023148789, 0.052297566, -0.03189476, 0.005272433, -0.03835005, -0.026765257, -0.0094220815, 0.0047409064) * g_9; + result += mat4(-0.007440264, 0.12066173, -0.12320844, 0.0016777752, -0.011408617, -0.029569637, 0.008827655, -0.007016294, 0.06650651, -0.031428255, 0.034667335, -0.023670185, 0.007218744, -0.004491109, -0.035605032, -0.07145819) * g_10; + result += mat4(0.049787126, -0.0017957676, -0.006283968, -0.058967303, 0.05774073, 0.09960317, -0.059987612, -0.036502153, 0.07282059, 0.005348924, 0.013446346, -0.04757274, 0.045422055, -0.0634229, 0.024715338, -0.08555914) * g_11; + result += mat4(-0.005835691, 0.016965812, -0.028456861, -0.0033920892, 0.009836867, 0.0006767609, 0.01886044, 0.012588657, -0.00884555, -0.0037418597, -0.009430517, -0.019091168, -0.002798804, 0.0039561144, 0.017126411, 0.004825749) * g_12; + result += mat4(0.028191822, 0.029202491, 0.032901034, 0.011502915, -0.010819439, -0.0069572316, 0.006472295, 0.0053685335, 0.00079939753, 0.0037769184, 0.011775226, 0.01399779, 0.0033956952, 0.0052899374, -0.010259701, 0.0077763535) * g_13; + result += mat4(0.008361512, -0.0117131, -0.0049652294, -0.01998969, 0.022627737, -0.008692346, 0.0019018264, -0.023467707, -0.008756792, -0.017017934, -0.031440705, -0.008512948, 0.0054877545, -0.00070786494, 0.019616788, 0.00793716) * g_14; + result += mat4(-0.013002159, -0.03813209, 0.026482832, -0.00023578315, -0.004977621, 0.0014138863, -0.0057627726, -0.0042974507, -0.007416917, -0.008726386, -0.011688116, 0.010687058, -0.011166254, -0.020983206, 0.0066195372, 0.003834876) * g_15; + result += mat4(0.0048169903, 0.0076203775, -0.015507004, -0.023508213, -0.052957263, -0.0069484734, -0.0011737008, 0.03410549, 0.0030833874, 0.012800496, -0.019242208, -0.005873537, -0.005420416, -0.009030759, -0.01785444, -0.01966881) * g_16; + result += mat4(-0.012387838, -0.014545728, 0.035943765, 0.024116462, 0.0008325086, 0.017050253, 0.0024911535, 0.019210132, 0.02221826, 0.020303903, 0.004521489, -0.009177796, -0.07020659, -0.040271588, 0.013064882, 0.028324096) * g_17; + result += mat4(-0.0069806273, 0.09828906, -0.049242873, 0.014799003, -0.008970328, 0.003844374, 0.0010211956, 0.008877965, 0.039977968, -0.17025097, 0.14956547, -0.02214056, -0.00973778, -0.018551195, 0.034893923, 0.027594449) * g_18; + result += mat4(0.011814281, -0.015895301, 0.04550156, 0.04049697, 0.0076704635, -0.018837227, 0.005477875, -0.04887477, 0.05526271, 0.11000575, -0.03529281, -0.023258513, -0.0022530397, -0.026560089, -0.0021712275, 0.0056000547) * g_19; + result += mat4(0.013357528, 0.014710138, 0.043349367, 0.053752452, -0.010020186, -0.0048438436, -0.023880936, -0.011357083, 0.033450976, 0.022771686, 0.0326334, 0.0068722614, -0.0512848, 0.026570365, -0.07270785, -0.006190101) * g_20; + result += mat4(-0.025186045, -0.01740991, 0.003838567, 0.027091907, -0.0071685803, -0.00027341367, -0.02992052, -0.008542527, -0.013445479, -0.015780428, -0.042524435, -0.00881602, -0.011120149, 0.009015556, -0.013422532, -0.032560103) * g_21; + result += mat4(-0.09606898, 0.025490688, -0.008527585, -0.075416856, -0.0028138838, -0.035580438, -0.006531162, 0.023687562, 0.0055310167, -0.010112962, 0.014539237, 0.01172912, 0.09965159, 0.075306684, 0.11886721, 0.095253) * g_22; + result += mat4(0.011965668, -0.072057776, 0.024608271, -0.054251578, 0.012394993, 0.114785306, -0.0419942, -0.011279603, -0.021266261, -0.0042840955, -0.015289745, -0.029362924, 0.0103631085, -0.06942332, 0.042722963, -0.021691492) * g_23; + result += mat4(0.033176757, 0.04084371, 0.015103838, -0.057419725, 0.037109293, -0.016537853, -0.059167393, 0.08598897, 0.015969522, -0.010902342, 0.03118472, 0.008363948, -0.041729625, 0.057053857, -0.08161458, 0.052837733) * g_24; + result += mat4(-0.092430755, 0.07110693, -0.034382034, 0.062702626, 0.014907711, 0.07141848, -0.0019698131, -0.054372307, 0.0128283445, 0.013943152, -0.0034115645, -0.030608373, -0.005405216, 0.03866557, -0.034109335, -0.0013265307) * g_25; + result += mat4(0.06594738, 0.029660825, -0.037681, -0.07724883, 0.03563272, 0.041913237, 0.0042468007, 0.0069140824, 0.039035708, -0.09520566, -0.04894546, -0.0034723799, -0.06357319, -0.052821137, 0.022598358, 0.041650392) * g_26; + result += mat4(0.004992455, -0.06508938, 0.030750059, 0.022826253, 0.002092941, 0.0037119875, 0.030300831, -0.0454966, -0.05877186, -0.024108075, -0.07177208, -0.047089674, -0.014241358, -0.015470063, 0.029174741, -0.0012050892) * g_27; + result += mat4(0.033182934, -0.0073093693, -0.017909355, -0.018535342, -0.0415075, -0.010425076, -0.0039859596, 0.015540642, 0.05229552, -0.08504954, 0.06377993, -0.035305116, -0.06266023, -0.102613874, 0.10803333, 0.06006112) * g_28; + result += mat4(-0.0026692066, 0.020269373, -0.018895708, 0.010902005, -0.084507205, -0.018323625, 0.03897616, 0.008709061, -0.005905961, 0.05540135, 0.0050392286, 0.019433267, -0.0011370446, -0.02185742, 0.004525434, 0.010520601) * g_29; + result += vec4(0.00428531, -0.011541925, 0.00898425, -0.01374321); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(UL)-Depth-to-Space +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_last_tf +//!BIND conv2d_last_tf1 +//!BIND conv2d_last_tf2 +//!SAVE MAIN +//!WIDTH conv2d_last_tf.w 2 * +//!HEIGHT conv2d_last_tf.h 2 * +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +vec4 hook() { + vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); + ivec2 i0 = ivec2(f0 * vec2(2.0)); + float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; + vec2 f1 = fract(conv2d_last_tf1_pos * conv2d_last_tf1_size); + ivec2 i1 = ivec2(f1 * vec2(2.0)); + float c1 = conv2d_last_tf1_tex((vec2(0.5) - f1) * conv2d_last_tf1_pt + conv2d_last_tf1_pos)[i1.y * 2 + i1.x]; + vec2 f2 = fract(conv2d_last_tf2_pos * conv2d_last_tf2_size); + ivec2 i2 = ivec2(f2 * vec2(2.0)); + float c2 = conv2d_last_tf2_tex((vec2(0.5) - f2) * conv2d_last_tf2_pt + conv2d_last_tf2_pos)[i2.y * 2 + i2.x]; + float c3 = c2; + return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl b/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl new file mode 100644 index 0000000..73c4881 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale+Denoise/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl @@ -0,0 +1,969 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.28296316, -0.020139743, 0.1038232, 0.09352482, -0.16964972, 0.07910997, -0.049914766, -0.10661066, -0.121037185, -0.029087039, -0.02511847, -0.078911744, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.3927183, 0.01805193, -0.031168332, -0.13300525, 0.20814548, 0.118818566, 0.1655351, 0.095023684, 0.17600809, -0.03928444, -0.014350658, 0.08458312, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.079089314, -0.0421829, 0.05452305, -0.22055493, 0.013279097, -0.12875281, 0.02452735, -0.101503745, -0.085946664, 0.05539176, 0.022408713, 0.14837204, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.102643915, -0.011254746, 0.1478563, 0.1030208, 0.12396588, 0.0016621432, 0.2551224, -0.10399001, -0.01068436, 0.07155532, -0.104522154, 0.026937222, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.8789423, 0.35707328, -0.29964274, -0.064913996, 0.4962815, 0.26001287, -0.9511284, 0.49574667, 0.39539725, 0.16308042, 0.119878456, -0.30259115, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.08852938, -0.32612664, -0.006712046, 0.28693515, 0.06320871, -0.3322611, 0.04651086, -0.11020996, 0.01821082, -0.22851005, -0.07803438, 0.021527015, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.12295851, -0.011285535, 0.015859747, 0.04005441, -0.018136669, 0.03171969, -0.0406123, -0.10731229, -0.12117574, 0.005033036, 0.047838476, 0.026843475, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.4655988, 0.05519082, 0.039515793, 0.28410903, -0.36144528, 0.13039446, 0.11338478, -0.2141387, -0.10026682, -0.07903024, -0.09410254, 0.043833878, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.110124744, -0.024725702, 0.028102143, -0.09493807, -0.06455328, -0.15164614, 0.04425987, 0.15483347, -0.045039337, 0.07210396, -0.005390788, -0.03832707, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.007907974, -0.035503313, 0.057224784, -0.19763541); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.012326053, 0.050769784, 0.1278702, -0.100782245, 0.14329414, -0.054558773, 0.023473471, 0.056829426, 0.048292916, 0.0046510273, -0.11478287, 0.0011030561, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.29542983, -0.55061895, -0.068554066, 0.1433222, -0.072878316, 0.30201668, -0.2223378, -0.06704077, 0.16955832, 0.3279914, 0.17619601, -0.1276919, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.09623417, 0.30559412, 0.094622105, -0.076706685, 0.07943858, -0.084815115, 0.12472551, 0.079850115, -0.13044213, -0.21300878, -0.095747225, 0.13412355, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.21291664, 0.17195296, -0.20080926, 0.1064855, 0.10228669, -0.09580175, -0.11217631, -0.09740562, -0.0033135475, -0.053094357, 0.2983595, 0.035281878, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.08955812, -0.45707774, -0.4606922, -0.5754473, -0.11395895, 0.33530128, 0.29705846, -0.18877256, -0.43502945, 0.114171304, -0.3750776, -0.081597246, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.26109028, 0.02662961, -0.10441071, 0.11199392, -0.12038989, -0.09642296, -0.061320662, -0.33058178, 0.20212512, 0.00840794, 0.14357455, -0.038080238, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.09533881, -0.13644339, 0.068756215, 0.079305276, -0.053370547, 0.19572955, 0.0682981, 0.14469264, 0.15582883, -0.057183057, -0.13919263, -0.016394936, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.041189935, 0.39878023, 0.028704925, 0.30194348, -0.04486593, -0.33899093, -0.103968106, 0.21802065, -0.077099144, -0.07389541, 0.18069103, 0.18894517, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.12399862, 0.19246885, 0.034825478, -0.0044787163, 0.13121822, -0.13573012, -0.030162754, 0.1899518, 0.102326415, -0.061512686, -0.005647928, -0.0937634, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.019286277, -0.033644073, 0.08196311, 0.0054393094); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.04088509, -0.06585775, -0.3094732, 0.12059048, 0.041417453, -0.06144871, -0.06655134, 0.03308842, 0.09287731, 0.010969216, 0.10343026, -0.11185897, 0.05685865, -0.09490512, 0.040908635, 0.03501189) * go_0(-1.0, -1.0); + result += mat4(-0.04854754, -0.098667145, 0.67147833, -0.11299351, -0.022114437, -0.029202767, 0.014179382, 0.26027945, 0.22076549, -0.16490546, -0.0010764733, 0.08405975, 0.11849154, -0.19072372, -0.35719597, -0.059621073) * go_0(-1.0, 0.0); + result += mat4(0.079224996, 0.0669873, -0.1718969, -0.05002573, 0.044926763, -0.02904369, 0.017489236, 0.01144465, 0.059109706, 0.064998455, 0.14725484, -0.23879208, 0.039234288, -0.027365638, 0.26172164, -0.094598554) * go_0(-1.0, 1.0); + result += mat4(-0.07159218, -0.03181544, 0.113837324, -0.053089984, -0.098298974, -0.29500297, 0.1608509, -0.044355504, 0.050882854, -0.19417204, -0.080487266, -0.00879743, 0.0007914453, 0.16640955, 0.21786706, 0.16398212) * go_0(0.0, -1.0); + result += mat4(0.16324541, 0.19753313, -0.46597233, -0.2593132, -0.2781038, -0.21973547, -0.024623038, -0.16348499, 0.3628299, 0.044888914, 0.04054647, -0.63605887, 0.02099492, 0.060544077, -0.49359834, 0.36336297) * go_0(0.0, 0.0); + result += mat4(-0.16885692, 0.31907207, 0.020906802, 0.13290039, -0.037330728, -0.022859452, -0.020451576, -0.113437995, -0.085683934, 0.054102756, -0.044824492, 0.061346747, -0.038684413, 0.098444365, -0.06734984, -0.17084897) * go_0(0.0, 1.0); + result += mat4(-0.015821548, -0.119599186, 0.1614827, 0.08383641, -0.07933593, 0.12528986, -0.06300182, 0.09286327, -0.10199266, 0.02419403, 0.0028411683, -0.09028338, 0.07962534, -0.08676035, -0.19237737, -0.115502626) * go_0(1.0, -1.0); + result += mat4(0.09471972, 0.21153462, -0.14393018, 0.055180002, 0.1817461, 0.016607309, -0.0771979, 0.11181317, -0.5491086, -0.102757886, -0.20952754, 0.022466583, -0.075119644, -0.14725658, 0.38451517, 0.12920731) * go_0(1.0, 0.0); + result += mat4(0.0867803, 0.114654355, 0.21199988, -0.15367955, -0.01803536, 0.056378633, 0.0018388306, 0.024613786, -0.13306658, 0.017211098, 0.073351346, -0.12064064, -0.10484361, -0.067748636, 0.033206712, -0.13061953) * go_0(1.0, 1.0); + result += mat4(-0.002236411, -0.022144757, -0.04586377, 0.101181075, -0.03511624, 0.08440529, 0.18544284, -0.22786349, -0.042184375, 0.015734851, -0.038622506, 0.038529944, -0.09170703, 0.034527462, -0.07817406, 0.10547265) * go_1(-1.0, -1.0); + result += mat4(-0.12135524, -0.07412039, -0.04979351, -0.082267545, 0.13343571, 0.29196215, -0.4364121, -0.10226428, 0.060835477, -0.23307934, -0.018231759, 0.15550235, 0.09095689, 0.18164484, 0.1322021, -0.022567045) * go_1(-1.0, 0.0); + result += mat4(-0.0054531163, -0.039762255, -0.030490747, 0.04779882, -0.15290286, 0.056712102, -0.0776974, 0.04114215, 0.15946816, -0.03882117, 0.16770308, -0.026126247, -0.027203865, -0.064107865, -0.13670811, 0.1556276) * go_1(-1.0, 1.0); + result += mat4(-0.092548385, -0.027285473, 0.084179096, 0.014961629, 0.2564254, 0.07626849, 0.28534448, 0.2588713, -0.018600503, -0.2433456, 0.041392803, -0.045712482, 0.26388907, -0.053502295, 0.14522223, 0.032808404) * go_1(0.0, -1.0); + result += mat4(-0.0013780193, 0.3482449, 0.071003586, -0.30707207, -0.05122194, -0.2833618, 0.07910779, 0.051078696, 0.021535402, 0.13021478, 0.022049015, -0.533547, 0.57265025, -0.12843914, -0.14913581, -0.1433724) * go_1(0.0, 0.0); + result += mat4(0.07382619, -0.12152924, 0.13364957, 0.181974, 0.15804219, -0.10126773, 0.3029618, -0.12874149, 0.13743348, -0.23245592, -0.20119278, 0.029547188, 0.042436857, 0.04213892, -0.07975374, 0.023821082) * go_1(0.0, 1.0); + result += mat4(0.022782229, -0.08359311, -0.060623147, 0.06565042, 0.09828792, 0.044808697, -0.28872305, -0.00092168007, 0.021737702, -0.08698349, 0.1950025, 0.07931995, 0.040952396, -0.07443172, -0.021157127, 0.0056698937) * go_1(1.0, -1.0); + result += mat4(-0.09995892, -0.2047294, 0.1414849, 0.062335726, -0.22492298, 0.05269799, -0.029233055, -0.050517935, -0.12534393, -0.12194023, -0.07035469, -0.070764475, 0.18903446, 0.07691209, 0.06153371, 0.011280912) * go_1(1.0, 0.0); + result += mat4(-0.036189888, -0.07586571, -0.05888163, 0.010425367, -0.028375402, -0.18870986, -0.19146784, 0.19274063, -0.18856238, 0.0064240266, -0.14537223, -0.06971656, 0.0852742, -0.04866623, -0.031686075, 0.031702038) * go_1(1.0, 1.0); + result += mat4(0.0618941, 0.100858234, 0.2628019, -0.048507668, -0.051001363, -0.03195978, 0.035452217, -0.001991919, -0.09649028, -0.047445696, -0.09221298, 0.07602656, -0.02382384, -0.119645916, 0.085616075, -0.07076033) * go_2(-1.0, -1.0); + result += mat4(0.019222878, -0.0491929, -0.4902266, 0.18501294, 0.014529614, -0.077125326, 0.011563931, -0.20236616, -0.101982154, -0.021150962, -0.07537948, -0.1540349, 0.028949164, -0.06827332, 0.0067634755, 0.09582376) * go_2(-1.0, 0.0); + result += mat4(-0.05995539, -0.031138182, 0.01334257, 0.06827176, -0.030762246, 0.006615233, -0.03562788, 0.016249394, -0.14797118, 0.014671043, -0.09325859, 0.25653747, -0.11474991, 0.05436232, 0.031051394, 0.04179694) * go_2(-1.0, 1.0); + result += mat4(0.032279838, -0.030521005, 0.0029688699, 0.005165139, 0.15907808, -0.20421815, -0.07713175, 0.067530625, -0.08619395, 0.026114263, 0.08821273, 0.011591694, 0.018677557, 0.057708874, -0.25859246, -0.18693781) * go_2(0.0, -1.0); + result += mat4(0.10823143, -0.31875235, -0.24394153, -0.0025489891, 0.016761065, -0.19857498, -0.07858479, -0.07811158, -0.38551694, -0.049090322, -0.050053325, 0.23398961, 0.014974165, 0.17498055, 0.29105362, -0.353647) * go_2(0.0, 0.0); + result += mat4(0.05621677, -0.19492444, 0.460332, 0.055917628, -0.06404381, -0.06684098, 0.053624872, 0.057300456, -0.019248677, -0.15110065, 0.032379635, -0.12673225, 0.0068658157, -0.13001235, -0.017716292, 0.064182095) * go_2(0.0, 1.0); + result += mat4(-0.06764552, 0.004707433, -0.13827331, -0.21957871, -0.03789028, -0.04962028, 0.022955444, -0.058468018, 0.13735814, -0.031270552, -0.018490225, 0.0063876202, -0.052979283, -0.030049473, -0.004811771, -0.0044099926) * go_2(1.0, -1.0); + result += mat4(-0.028652798, -0.027029367, 0.62600744, 0.0900562, 0.03869923, -0.20111556, 0.095930666, -0.13164565, 0.5562579, 0.011937122, 0.22882107, 0.030288015, 0.09856272, 0.04736032, -0.077492185, -0.10207275) * go_2(1.0, 0.0); + result += mat4(-0.10581002, -0.16504957, -0.5688921, 0.0414545, 0.04749444, -0.052849945, -0.011017121, -0.025284614, 0.14316759, -0.08547362, -0.09654446, 0.08682504, 0.050776027, 0.0678741, -0.04913651, 0.07527552) * go_2(1.0, 1.0); + result += mat4(0.04126091, 0.0048704315, 0.041699376, -0.05820725, -0.09664279, 0.07648305, -0.17979898, 0.11698985, -0.025436765, 0.023232851, 0.010656572, 0.08157569, 0.19584864, -0.022928072, 0.053339157, 0.0039929505) * go_3(-1.0, -1.0); + result += mat4(0.040733483, 0.12260473, 0.08071146, 0.07257762, -0.016945919, -0.31637576, -0.24281953, -0.0038469466, -0.10203634, 0.13631973, 0.06505259, -0.13119389, -0.09723076, -0.139551, -0.07504509, 0.08645985) * go_3(-1.0, 0.0); + result += mat4(0.017005404, 0.049066268, -0.007544932, -0.04884536, 0.09984347, -0.04447364, 0.4902235, -0.062780835, -0.18389583, 0.07305648, -0.22014385, 0.08004685, 0.0992568, -0.08569604, 0.093966395, -0.07047139) * go_3(-1.0, 1.0); + result += mat4(0.0017705248, 0.020553982, -0.09167042, 0.0036356782, -0.11867446, -0.07055574, 0.40252638, 0.09657129, 0.0888632, 0.1031708, -0.022127641, -0.023769693, -0.0861388, 0.13420185, -0.11774454, 0.038774434) * go_3(0.0, -1.0); + result += mat4(-0.15173717, -0.13590458, -0.0891863, 0.12289548, 0.13942605, 0.22152588, -0.19292432, 0.14169839, 0.010543665, 0.07648361, -0.057333756, 0.09535759, -0.053601623, -0.026824495, 0.09365424, 0.17476946) * go_3(0.0, 0.0); + result += mat4(-0.070416056, -0.061970036, -0.039723337, -0.18874651, -0.07098426, -0.019835865, -0.5612458, 0.060437083, -0.03774378, 0.18536821, 0.28587544, 0.035555754, 0.15771326, -0.13527197, 0.13342534, -0.06564073) * go_3(0.0, 1.0); + result += mat4(-0.10967661, 0.025388904, 0.09003177, -0.04087592, 0.09531671, -0.11809294, -0.41613623, 0.038198076, 0.01019813, -0.018864965, -0.18400626, -0.038704176, 0.0105671035, 0.024449013, -0.008989595, -0.027171193) * go_3(1.0, -1.0); + result += mat4(0.16193569, -0.21445285, -0.20130903, -0.13498883, -0.008031679, 0.050757203, 0.78938776, -0.03749514, 0.11998137, 0.19368882, 0.12328945, 0.0058578993, -0.13852382, -0.033867255, -0.018267661, 0.036348555) * go_3(1.0, 0.0); + result += mat4(-0.06254118, 0.087295115, 0.031116437, 0.0416281, 0.061828617, 0.34479564, -0.15537797, -0.17144552, 0.13989387, -0.13792284, 0.056215156, 0.12714528, -0.0198865, 0.04927947, 0.013614583, -0.041810013) * go_3(1.0, 1.0); + result += vec4(-0.044073943, 0.12072677, -0.0022342638, -0.24414532); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.07115729, 0.01065505, 0.19167988, -0.02504489, -0.15064801, 0.079008736, 0.05437936, 0.027479589, -0.021383656, 0.032731537, -0.06657876, 0.022649521, -0.06501893, -0.02335689, 0.010445489, -0.05430297) * go_0(-1.0, -1.0); + result += mat4(-0.1178601, 0.07425715, 0.063272275, -0.18308601, -0.13955134, 0.005166404, -0.022591779, -0.016827974, -0.024990188, -0.13372071, -0.056342285, 0.12489847, 0.081861794, -0.07083351, 0.021897513, 0.0629395) * go_0(-1.0, 0.0); + result += mat4(0.051357627, -0.13874975, -0.09887168, -0.011908862, 0.03639772, -0.13195883, -0.05321156, 0.03913229, -0.08160194, -0.07128151, 0.043625016, 0.11966009, 0.03162217, 0.018834392, -0.0625129, 0.10726711) * go_0(-1.0, 1.0); + result += mat4(-0.15922394, -0.043482754, -0.22571066, 0.009280428, -0.3882705, 0.08418719, 0.15329506, -0.028419001, -0.011272379, 0.15897545, 0.041217074, -0.0143014155, 0.09451862, -0.056342427, -0.14568482, 0.05556279) * go_0(0.0, -1.0); + result += mat4(0.13879324, -0.23339099, -0.24573983, -0.09575104, 0.03823306, 0.4752516, -0.1696623, -0.18472373, -0.1510259, 0.23040254, 0.4196143, 0.3462817, 0.035172507, 0.18228662, 0.22475636, -0.19945027) * go_0(0.0, 0.0); + result += mat4(-0.08876766, 0.19567333, 0.25174314, -0.09637879, -0.007957943, 0.13510521, 0.030193076, -0.0018362573, -0.006884444, -0.41804117, -0.1026309, -0.053339038, -0.1283198, -0.03033918, 0.055674326, 0.094377995) * go_0(0.0, 1.0); + result += mat4(0.06780768, -0.07774435, -0.0616546, -0.046531744, -0.11723141, 0.10792474, 0.013314576, -0.031451598, -0.009870351, 0.10215877, -0.13101454, -0.19878799, -0.09712651, 0.10423937, 0.14170039, -0.03359521) * go_0(1.0, -1.0); + result += mat4(-0.020114673, -0.015194169, 0.03657608, 0.17162928, 0.070458665, -0.08041664, 0.14067306, 0.19699603, -0.28763783, -0.033556152, -0.6588468, -0.48221052, -0.123711474, -0.080758795, -0.3187303, 0.121004865) * go_0(1.0, 0.0); + result += mat4(-0.074900605, 0.09297913, -0.08621144, 0.116730206, -0.034766622, -0.10381484, 0.060793545, -0.014790814, -0.123858415, -0.0010626495, 0.20547503, -0.07206306, -0.17324795, 0.023932874, 0.017495958, -0.09924652) * go_0(1.0, 1.0); + result += mat4(-0.015568068, 0.005394868, 0.15463537, 0.06416607, -0.045670815, -0.013540727, -0.12960619, 0.0006581649, 0.09432853, 0.05575682, -0.022219105, 0.022416297, 0.0148129435, -0.067619696, 0.022989385, -0.09695771) * go_1(-1.0, -1.0); + result += mat4(-0.107209, 0.07072438, -0.10235772, -0.12078849, -0.02751833, -0.043195058, -0.17197154, 0.120612316, -0.17310137, -0.09429793, 0.06511165, 0.18072544, -0.21168593, 0.16383737, 0.25012484, -0.089589044) * go_1(-1.0, 0.0); + result += mat4(0.005439779, 0.0028433986, -0.09885586, -0.06572956, -0.0061691296, 0.15485546, -0.23724958, 0.004232802, 0.07794742, -0.012552598, 0.07554404, 0.10843201, -0.013223918, -0.08705092, -0.23228747, 0.03599732) * go_1(-1.0, 1.0); + result += mat4(-0.043396916, -0.10680695, -0.019935586, -0.06703658, -0.30075943, -0.010179525, 0.30197874, 0.04888297, 0.00779067, 0.22583807, 0.2039884, -0.0074303118, -0.19240093, -0.024718538, 0.057117213, 0.19431825) * go_1(0.0, -1.0); + result += mat4(-0.37633005, 0.043971814, -0.21423087, 0.118503235, -0.15058799, 0.115756795, -0.13719647, 0.020510519, 0.1123193, 0.14797291, 0.05467349, 0.2039607, -0.31973588, 0.1667847, -0.017739004, -0.11280262) * go_1(0.0, 0.0); + result += mat4(-0.0084394775, -0.1281101, -0.20841378, 0.01986435, -0.04122467, -0.21089631, -0.08062371, 0.11315133, 0.05693114, -0.23773515, 0.03792205, -0.008872407, 0.04554895, -0.10683658, 0.10683206, 0.06875721) * go_1(0.0, 1.0); + result += mat4(-0.103948504, -0.007483217, -0.12571928, 0.054868475, -0.030646881, -0.010098222, 0.019018777, -0.07072212, -0.10689893, 0.16498323, 0.048089568, -0.10912806, -0.027318537, -0.025491163, 0.012588013, 0.072701246) * go_1(1.0, -1.0); + result += mat4(0.14094622, -0.028118243, 0.016804086, -0.18000692, 0.33351874, 0.14980756, -0.07135749, -0.16573106, -0.17243773, 0.054617904, -0.2933543, -0.12602285, 0.08480712, -0.05704333, 0.22336398, 0.026583148) * go_1(1.0, 0.0); + result += mat4(0.046759557, -0.03100408, 0.40000245, -0.08521555, 0.19592628, -0.15150753, 0.25288078, -0.061794683, -0.047818147, -0.12249124, 0.020410215, -0.11503924, 0.046108168, 0.030459814, -0.14096366, 0.09120256) * go_1(1.0, 1.0); + result += mat4(-0.087491795, -0.024289595, -0.09060237, 0.020922959, 0.09557061, -0.08556962, -0.0503455, -0.010846053, 0.0030694185, -0.008256591, 0.08290225, -0.034981687, 0.07342003, -0.021816112, -0.13905519, -0.06265962) * go_2(-1.0, -1.0); + result += mat4(-0.08126147, -0.05866924, -0.015698025, 0.093630895, -0.02379264, 0.115918085, 0.19431724, 0.041815966, -0.051647816, 0.15277039, -0.03721037, -0.085520886, 0.041766718, 0.104392216, 0.0559556, 0.0049254233) * go_2(-1.0, 0.0); + result += mat4(-0.11176419, 0.112272635, 0.1367475, -0.010482275, -0.06719008, 0.064003386, -0.08132314, 0.015465676, 0.052741583, 0.06779717, 0.038533892, -0.16428822, 0.040990274, 0.002559234, 0.097567044, -0.058192518) * go_2(-1.0, 1.0); + result += mat4(0.17228632, 0.008296625, 0.009418271, 0.037103783, -0.0601486, 0.04531715, 0.19613501, 0.112170085, -0.02256726, -0.093685195, -0.1341531, -0.038480807, 0.109840475, 0.062418167, 0.15140085, 0.050787117) * go_2(0.0, -1.0); + result += mat4(0.15433665, 0.2104034, 0.12395812, 0.13799714, 0.14945604, 0.67457545, 0.27575177, -0.047493283, 0.24992993, -0.5305435, 0.0131732905, -0.36911693, 0.14442082, -0.18583177, -0.2861722, 0.19419897) * go_2(0.0, 0.0); + result += mat4(0.040242445, -0.13234852, 0.10056324, 0.055854917, 0.07447713, -0.023067042, 0.00021051937, -0.0495407, -0.22037992, 0.68047297, 0.05774606, -0.012461005, 0.104557075, 0.04832623, 0.010292581, -0.050617047) * go_2(0.0, 1.0); + result += mat4(-0.060079176, 0.086553656, 0.0060872175, -0.012576339, 0.025149338, -0.07379716, -0.18048704, -0.007130346, 0.007826557, -0.095655076, -0.0032888134, 0.21027069, -0.09868755, -0.1180311, 0.0081250835, -0.05078016) * go_2(1.0, -1.0); + result += mat4(0.19124818, -0.05949092, -0.36762074, -0.08203597, -0.10276991, 0.111005515, -0.2845309, 0.113985784, 0.07206471, -0.026585411, 0.20032002, 0.5691625, -0.0460136, 0.03874166, 0.09858682, -0.15913802) * go_2(1.0, 0.0); + result += mat4(-0.00397842, -0.014763085, 0.080231026, -0.09142265, 0.03637215, 0.064106315, -0.030963007, 0.0557953, 0.04173885, -0.024534896, -0.2092259, 0.06913638, 0.08103145, -0.0033994897, -0.10903093, 0.062850125) * go_2(1.0, 1.0); + result += mat4(0.01206918, 0.024855271, -0.051995132, 0.013999821, -0.021517826, 0.06216198, -0.050853133, -0.064136736, -0.047408275, -0.07858566, 0.074464396, -0.038218755, -0.13216262, 0.008905726, 0.10333, 0.03049554) * go_3(-1.0, -1.0); + result += mat4(-0.027152343, -0.069046065, -0.013017797, 0.0763, -0.08611993, -0.020867927, 0.012807627, -0.11971997, 0.025972975, 0.095127404, -0.070044935, -0.21399231, -0.22536097, -0.028828809, 0.123399965, -0.15967365) * go_3(-1.0, 0.0); + result += mat4(0.038314234, -0.014114242, 0.012115026, 0.05505015, 0.11785298, -0.08772618, 0.034408223, 0.09134674, -0.04727011, 0.020709611, -0.01780165, -0.14374214, -0.30412516, -0.011123043, -0.024216317, -0.007538433) * go_3(-1.0, 1.0); + result += mat4(-0.17673545, 0.077738725, 0.056153737, 0.028693894, 0.05688375, 0.021928595, 0.014585902, 0.019364892, 0.029056642, -0.2072201, -0.17548367, 0.085471265, 0.16439342, -0.0052957633, 0.22321554, -0.19246858) * go_3(0.0, -1.0); + result += mat4(0.1914782, -0.15620962, -0.16686897, -0.04141303, 0.07696967, -0.013115313, -0.057627093, -0.13849305, 0.08699377, -0.07339016, -0.053074118, -0.059418138, 0.19988623, -0.23852244, -0.12574267, -0.29139704) * go_3(0.0, 0.0); + result += mat4(-0.017691063, 0.18901291, 0.16250716, -0.11039392, 0.056900974, 0.036662772, -0.13399602, -0.11378214, -0.10924602, 0.2130181, -0.042094063, -0.012445028, 0.013168919, 0.119448364, -0.014406005, 0.0054324497) * go_3(0.0, 1.0); + result += mat4(0.11552786, 0.090796515, -0.11559005, -0.035706047, -0.044022456, -0.027642358, 0.08824298, 0.035067793, 0.18125483, -0.15502097, 0.094219126, 0.07493505, 0.022493582, 0.038250685, -0.076567575, -0.059311453) * go_3(1.0, -1.0); + result += mat4(-0.08612596, 0.016376335, -0.0023271537, 0.32511148, 0.03789289, 0.13106889, 0.22370385, 0.21145949, 0.1844514, -0.0766592, 0.093758754, 0.13821359, -0.062405586, 0.0028724174, -0.13588348, 0.00024406122) * go_3(1.0, 0.0); + result += mat4(-0.08991004, 0.074423954, -0.020964831, -0.070288494, -0.1192369, -0.015506713, -0.28136373, 0.042911243, 0.08215164, 0.11065419, -0.006201638, 0.057742044, 0.0014476188, -0.01443158, 0.22631277, -0.06787264) * go_3(1.0, 1.0); + result += vec4(-0.07235962, -0.019149294, 0.05072898, 0.03962245); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.14315613, -0.031299837, -0.011195234, 0.0073360316, 0.07264984, -0.110979274, 0.06560588, -0.040463638, 0.28964168, -0.05644335, -0.060729366, -0.15811591, 0.028339373, 0.027486937, 0.0360574, 0.05856459) * go_0(-1.0, -1.0); + result += mat4(0.16211128, 0.20672597, -0.30374205, -0.056202736, -0.10893948, 0.053066984, -0.18297112, 0.028844962, 0.22754766, -0.07141921, 0.07142953, -0.1357581, 0.008053467, 0.04668908, 0.17258649, 0.22506891) * go_0(-1.0, 0.0); + result += mat4(0.07014762, 0.032112304, 0.028849715, 0.09427007, 0.008323501, -0.085777245, 0.083501115, -0.16150802, 0.24127382, -0.1305689, -0.027557204, -0.15057805, 0.09748757, 0.08182083, -0.107643455, 0.020552907) * go_0(-1.0, 1.0); + result += mat4(-0.04630706, -0.056070503, 0.058440026, -0.005662525, 0.08736355, 0.08821088, -0.049539115, 0.08171937, 0.28466523, -0.025859421, -0.0026971614, -0.15181617, -0.022231927, 0.3566104, -0.024887348, 0.12051598) * go_0(0.0, -1.0); + result += mat4(-0.20976813, -0.23778942, 0.28854275, -0.27583683, -0.27604774, -0.15861328, 0.09581984, 0.06572128, 0.092306405, -0.06962751, -0.042226445, 0.035234913, 0.084891975, -0.03846841, -0.1473667, 0.2810354) * go_0(0.0, 0.0); + result += mat4(0.028011162, 0.08945262, 0.15859836, 0.18426442, 0.10649845, -0.0918649, -0.12257575, -0.00914911, 0.23701023, -0.030067213, -0.01938559, -0.11026175, -0.5953985, 0.28875506, -0.035278864, -0.05043055) * go_0(0.0, 1.0); + result += mat4(-0.14445779, -0.06907616, 0.13078876, -0.0089114, -0.110637166, -0.123719245, -0.094949, 0.046267383, 0.4727523, 0.0073195575, -0.014788787, -0.14922102, -0.021974785, -0.10706751, 0.00049029186, 0.09215345) * go_0(1.0, -1.0); + result += mat4(-0.20936993, -0.22377276, -0.07697398, 0.039161056, 0.044213686, 0.037542075, -0.06600642, 0.017124292, 0.3406197, 0.011907687, 0.019732054, -0.22745137, -0.22178015, 0.49051985, -0.03707166, 0.14849792) * go_0(1.0, 0.0); + result += mat4(0.07833466, 0.10888627, 0.16015877, -0.049263358, 0.29002127, -0.010949114, 0.013081097, -0.071674205, 0.3532135, 0.013165473, -0.05282189, -0.16688257, 0.009552089, -0.2740816, 0.04927233, -0.37047002) * go_0(1.0, 1.0); + result += mat4(0.23682123, -0.027914839, 0.02372468, -0.07127212, 0.053436097, 0.057737537, -0.008556659, -0.025973454, 0.06468388, 0.18805866, -0.08180048, 0.058999106, -0.3058321, -0.06642967, -0.092997625, 0.10527466) * go_1(-1.0, -1.0); + result += mat4(-0.1353085, -0.016593851, 0.21518163, -0.10272456, 0.14382689, 0.05056661, -0.27799338, 0.11351653, 0.05838342, 0.28104934, -0.03777824, 0.003435516, 0.057915565, -0.17574134, -0.24437475, 0.13420977) * go_1(-1.0, 0.0); + result += mat4(0.13400255, -0.056437124, 0.11310834, 0.040429913, 0.098928474, -0.020769242, -0.079605736, 0.0494632, 0.0660877, 0.098982334, -0.055884495, -0.046533633, 0.17815505, 0.027310565, -0.24176653, -0.025550256) * go_1(-1.0, 1.0); + result += mat4(0.03637618, -0.012618673, 0.11865397, 0.19804053, -0.03522831, 0.24310908, -0.056454524, -0.44885796, 0.02212509, -0.20253624, 0.038810212, -0.17396528, 0.08970355, 0.005103078, 0.061075203, 0.44292897) * go_1(0.0, -1.0); + result += mat4(-0.25074747, -0.0015575301, -0.685015, 0.07345307, -0.08419402, 0.06640714, 0.43799296, -0.17571151, 0.0049855476, 0.09024738, 0.055744022, 0.018739637, 0.34734032, 0.114896655, 0.0404696, -0.11327049) * go_1(0.0, 0.0); + result += mat4(-0.12284062, -0.31131, -0.14712588, -0.18645866, 0.17581487, 0.1357234, 0.09913364, 0.005298711, -0.056155153, 0.042429443, 0.039454732, -0.04111384, 0.2623163, 0.09701166, 0.022825675, 0.050480727) * go_1(0.0, 1.0); + result += mat4(0.058734808, 0.038528245, -0.042670116, -0.15190329, -0.028179986, -0.05362995, 0.017090468, -0.24449602, -0.08240927, -0.033122182, 0.009938243, -0.0052937623, 0.2171439, 0.06879817, -0.10361997, 0.018995138) * go_1(1.0, -1.0); + result += mat4(0.027555468, 0.016337285, 0.19074728, 0.26690376, -0.088713005, -0.0021182299, -0.23062791, -0.32101163, -0.0040022335, 0.16835448, 0.05424022, -0.02156396, 0.24163729, 0.10243619, -0.04331782, -0.014350939) * go_1(1.0, 0.0); + result += mat4(-0.13836963, 0.053369813, 0.036432605, 0.062288612, -0.06264361, -0.049093347, -0.0315955, -0.11237456, -0.064744405, -0.0151798045, 0.044210885, 0.010166375, -0.038355727, -0.05203739, -0.075036794, 0.1664177) * go_1(1.0, 1.0); + result += mat4(-0.08583114, 0.08268218, -0.05771351, 0.10195048, -0.10128163, 0.10874855, -0.02580701, 0.028834302, 0.1950179, -0.0130183315, 0.0092119705, -0.060479227, 0.117747106, 0.061403573, -0.0028475628, -0.032362986) * go_2(-1.0, -1.0); + result += mat4(-0.05310153, -0.061091065, 0.19438389, -0.10475873, 0.00045120303, -0.24876194, 0.017168125, -0.050173752, 0.012073283, 0.035660096, -0.017562328, -0.110271364, -0.015546384, 0.17965329, 0.10068208, -0.014481325) * go_2(-1.0, 0.0); + result += mat4(0.085558474, -0.0007109211, 0.20868625, 0.150163, -0.19283043, 0.025976779, 0.08384698, 0.031011146, 0.17268184, 0.008871077, -0.04097794, -0.12868725, 0.01336166, -0.038823843, 0.1703644, -0.067780636) * go_2(-1.0, 1.0); + result += mat4(0.06480841, -0.44256654, -0.19949587, -0.030677497, -0.27930573, -0.041867044, -0.15648738, 0.11573067, 0.28664824, 0.009770385, -0.058617204, -0.06607673, -0.038160402, 0.009497089, 0.03303058, -0.079379834) * go_2(0.0, -1.0); + result += mat4(0.17752203, 0.10979527, -0.058749028, -0.30194217, 0.30484176, -0.20980492, -0.05234784, -0.2590473, 0.23003183, 0.21903595, -0.024891363, -0.14337292, -0.02971356, -0.29613075, -0.045642294, 0.23826689) * go_2(0.0, 0.0); + result += mat4(0.018211683, -0.005840598, -0.19021381, -0.096696235, 0.39998052, -0.34746838, -0.039627917, 0.087701194, 0.15526368, -0.008095372, -0.044220537, -0.08634815, -0.121496454, -0.06792033, -0.14959472, 0.078917444) * go_2(0.0, 1.0); + result += mat4(0.33109078, 0.012287281, -0.034155898, -0.04840956, 0.068748444, 0.006142039, 0.06598935, 0.024775596, 0.22379673, 0.056089353, -0.006119644, -0.018509025, 0.10084137, 0.15556572, -0.041211523, -0.21550669) * go_2(1.0, -1.0); + result += mat4(-0.058160853, 0.08899222, -0.17401625, -0.1449813, -0.015872562, -0.03780256, 0.15702572, 0.34013954, 0.1580772, 0.074823864, 0.035488904, -0.01627819, -0.15551315, -0.3638866, -0.09833458, 0.15037175) * go_2(1.0, 0.0); + result += mat4(-0.12707977, -0.19947061, -0.11524648, 0.09216174, -0.07161296, 0.05675567, 0.06843247, 0.2803306, 0.25222927, -0.044076066, 0.053775772, -0.09939824, 0.16903089, 0.11475717, -0.07015584, -0.036021322) * go_2(1.0, 1.0); + result += mat4(-0.12290332, -0.05469477, 0.02696626, 0.051133692, -0.05541504, -0.2811521, -0.13008943, 0.031793896, -0.32529324, -0.01663752, -0.0658181, 0.17300756, 0.22281154, -0.11001508, 0.09578194, -0.055437982) * go_3(-1.0, -1.0); + result += mat4(0.083753526, -0.048933715, -0.13912897, 0.10929772, -0.1789828, -0.1586524, -0.10964165, -0.08210391, -0.11568187, -0.04813496, -0.2417861, 0.24446528, 0.13570863, -0.26869404, 0.3013413, 0.11678686) * go_3(-1.0, 0.0); + result += mat4(0.21105368, 0.15749952, -0.18983693, -0.023642758, -0.1633653, 0.10107988, 0.052329395, -0.080253236, 0.15375629, -0.045091413, 0.05070866, 0.12416106, 0.16600485, -0.10412354, 0.061849747, -0.084013924) * go_3(-1.0, 1.0); + result += mat4(0.03863923, 0.03690167, -0.053106382, -0.07523278, -0.04214836, 0.53898096, 0.15308584, 0.22835171, -0.24771535, 0.1402687, 0.1000896, -0.08719167, 0.0886567, 0.15255097, 0.14695966, -0.06659865) * go_3(0.0, -1.0); + result += mat4(0.110334344, -0.12696493, 0.24256139, 0.02536166, 0.08322421, 0.022147777, -0.35030407, 0.13734557, 0.053133942, 0.43650532, -0.30170345, 0.08751837, 0.012917502, 0.27496436, 0.11422729, 0.15508565) * go_3(0.0, 0.0); + result += mat4(0.16684863, 0.26743406, 0.15951683, 0.033597723, -0.044719726, 0.1127182, 0.007923161, 0.06415458, -0.07269362, -0.07828715, 0.09216738, 0.11528897, -0.13371283, -0.124177165, 0.14804523, 0.14156726) * go_3(0.0, 1.0); + result += mat4(-0.041141883, 0.023617791, 0.11484465, 0.13131519, -0.14753738, 0.17067687, -0.017538434, 0.24042644, -0.058103643, 0.3143255, 0.02476919, -0.0024666793, -0.26759955, -0.06099211, 0.006415725, 0.10394301) * go_3(1.0, -1.0); + result += mat4(-0.04198037, 0.03277123, -0.25069895, -0.21043587, -0.27417016, 0.08047665, 0.29731026, 0.07629813, -0.15695353, -0.14299184, 0.026618432, 0.13265325, 0.07727133, 0.12872085, 0.13887435, 0.1347057) * go_3(1.0, 0.0); + result += mat4(0.039232086, 0.117847264, -0.071643315, -0.040677182, -0.029160816, -0.06968689, 0.12880929, 0.037579957, -0.036671028, -0.022678757, -0.069731854, 0.10590314, 0.028034678, -0.015759282, 0.047180142, -0.16366881) * go_3(1.0, 1.0); + result += vec4(-0.079253934, 0.001511763, 0.100159355, 0.01585197); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!SAVE conv2d_2_tf1 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.024126908, 0.01737047, 0.04563732, 0.08303721, -0.21339902, 0.00025652428, -0.09666459, -0.07654246, -0.01201168, 0.14373912, 0.22268519, 0.049181588, -0.0751725, 0.006847365, -0.025867194, 0.19233267) * go_0(-1.0, -1.0); + result += mat4(-0.25251204, -0.34213448, -0.0022676045, 0.29270738, 0.08876456, 0.067294724, 0.2865476, -0.009144941, -0.074606106, 0.14566834, 0.14162645, 0.10980335, -0.7958991, -0.15410729, 0.038512416, -0.17033637) * go_0(-1.0, 0.0); + result += mat4(-0.115404196, -0.11004134, 0.13174473, -0.0006875606, 0.0051814034, 0.058522645, -0.0795437, 0.0011465811, -0.019500278, 0.12752724, 0.16985136, -0.054932587, 0.16734739, -0.04686017, -0.072241016, 0.054562975) * go_0(-1.0, 1.0); + result += mat4(-0.07528159, -0.113516726, 0.2081102, 0.009942251, 0.08256535, 0.050133914, 0.012745932, 0.13902397, 0.009369715, 0.083261885, 0.17366019, 0.069754004, 0.030654406, -0.045856245, -0.055254143, 0.16265897) * go_0(0.0, -1.0); + result += mat4(-0.14366727, 0.24948351, 0.12160293, 0.10929859, -0.116071545, -0.11725494, -0.13926856, -0.026759636, 0.12723772, 0.1938045, -0.02745115, -0.0644584, -0.23854719, 0.059308372, -0.446269, -0.06978486) * go_0(0.0, 0.0); + result += mat4(0.21108554, -0.1717225, 0.066633105, 0.15418948, -0.08902029, 0.047925282, 0.15817304, -0.080941506, 0.007364865, 0.10506626, 0.20205018, -0.078695655, 0.14004812, -0.3195092, 0.19157887, -0.12697977) * go_0(0.0, 1.0); + result += mat4(-0.08145032, -0.14292753, 0.066565305, -0.061348185, -0.08738346, 0.011608093, -0.0024047727, -0.024741996, -0.11547277, 0.10013328, 0.21730538, 0.05598899, -0.17741105, 0.075944185, 0.027434295, -0.2550598) * go_0(1.0, -1.0); + result += mat4(-0.026223006, 0.11214396, -0.133987, 0.1303522, 9.32011e-05, -0.14755996, -0.14002979, -0.039624512, 0.045111652, 0.17618611, 0.17764348, 0.104528464, 0.20592515, 0.07240335, -0.27604735, 0.038880046) * go_0(1.0, 0.0); + result += mat4(0.17734227, -0.002935363, 0.07505682, -0.029969893, -0.024536638, 0.11236127, 0.119374484, 0.08002781, -0.003541722, 0.1428466, 0.1729824, 0.055412393, -0.04790376, 0.18020035, 0.05376964, -0.1520942) * go_0(1.0, 1.0); + result += mat4(-0.11352182, -0.019249126, 0.10782615, 0.03079928, 0.020381734, -0.08998433, -0.09211494, -0.054406203, 0.1828849, -0.07692097, 0.004733955, -0.026685018, -0.08044814, -0.071961075, 0.029184176, -0.22562811) * go_1(-1.0, -1.0); + result += mat4(-0.34489468, -0.07447471, 0.026422959, 0.33550653, 0.22130035, 0.059709545, -0.07646962, -0.18386386, 0.33911958, -0.07534871, 0.040870134, 0.051136248, 0.32681262, 0.20612194, -0.1609581, -0.70460784) * go_1(-1.0, 0.0); + result += mat4(0.27617922, 0.09758603, 0.05103887, -0.09281693, -0.007143339, 0.006635712, -0.055270564, -0.022629099, -0.13023081, -0.013819027, -0.038695697, 0.047280338, -0.13964762, 0.09852924, -0.10056262, -0.084967695) * go_1(-1.0, 1.0); + result += mat4(0.1370323, 0.030904075, -0.033860117, 0.08926374, -0.14616281, -0.29926816, -0.23738252, -0.21374625, -0.14039646, 0.11503669, 0.082101606, -0.061717354, 0.021357644, -0.10676707, 0.03214661, 0.029967157) * go_1(0.0, -1.0); + result += mat4(-0.29881296, -0.22195289, -0.3512607, -0.2277441, 0.033705913, -0.23267402, -0.119738854, -0.18925253, 0.068823405, -0.15160555, 0.2585695, 0.10484223, -0.012574211, 0.38808516, 0.2599094, -0.4991424) * go_1(0.0, 0.0); + result += mat4(-0.07474731, 0.22742131, 0.014462262, 0.08409484, 0.09579643, -0.0519534, 0.0007793075, -0.044820115, -0.010144471, -0.040506937, 0.0056340825, 0.057767954, -0.14988829, -0.05099549, 0.007204364, -0.07094934) * go_1(0.0, 1.0); + result += mat4(-0.05736621, 0.12072876, -0.02037183, 0.05012334, -0.1173538, -0.10062993, -0.0033958228, 0.0142556345, -0.011005385, -0.0066177617, -0.058390465, 0.048240293, 0.09835053, 0.17917523, -0.06466951, 0.017518612) * go_1(1.0, -1.0); + result += mat4(0.1413101, -0.30268928, -0.17851736, -0.10797371, -0.01964573, 0.14356858, -0.06759965, 0.17416531, 0.13905385, -0.017476829, 0.06541924, -0.044690568, -0.080723755, -0.08610206, 0.095347285, -0.09233214) * go_1(1.0, 0.0); + result += mat4(-0.07254187, -0.091158785, 0.018472971, 0.03514051, 0.018888336, 0.107934274, -0.018830854, 0.10007211, -0.053966418, -0.035646267, -0.031214178, -0.05980228, -0.13045661, -0.011743741, -0.03325275, 0.071065165) * go_1(1.0, 1.0); + result += mat4(-0.037697386, 0.054388218, -0.010934479, 0.2266702, 0.049999133, 0.017648092, -0.044225454, 0.21611899, -0.03805845, 0.054236397, -0.018563407, -0.060588073, -0.031215845, 0.075081706, 0.07333242, -0.09651128) * go_2(-1.0, -1.0); + result += mat4(-0.32236508, -0.0026381002, -0.30787975, 0.2963127, -0.13276175, 0.1058753, -0.12744896, 0.09749292, -0.02683677, -0.0041124597, 0.006103888, -0.09997201, 0.092101686, -0.08375288, 0.09641652, 0.053333007) * go_2(-1.0, 0.0); + result += mat4(0.027999232, -0.060004722, -0.009207874, -0.0952888, -0.038418446, -0.13316345, 0.099323496, 0.048450433, 0.0443969, 0.056023613, 0.1156147, 0.018980766, 0.040020484, 0.07555044, 0.0039174426, -0.044098593) * go_2(-1.0, 1.0); + result += mat4(-0.101029314, 0.33333415, -0.22052327, -0.035329416, 0.17229559, 0.12564908, -0.07879576, -0.09248896, -0.03239869, 0.022611454, 0.05610472, -0.02181683, -0.06347532, -0.077292696, 0.02005389, -0.078899406) * go_2(0.0, -1.0); + result += mat4(-0.028139396, -0.04349171, -0.019393284, 0.42110333, 0.37065667, 0.5282552, 0.43816927, 0.19155908, 0.051832534, 0.02050813, 0.030795977, 0.023960136, -0.27617985, 0.19165507, -0.005492024, -0.13349663) * go_2(0.0, 0.0); + result += mat4(5.0700226e-05, 0.21293098, -0.39902148, -0.058406413, -0.06766975, 0.1129277, -0.012398328, 0.025031524, 0.03519656, 0.06486415, 0.15710293, 0.014098051, 0.057754945, 0.116186336, -0.14429826, 0.051864166) * go_2(0.0, 1.0); + result += mat4(-0.012280755, 0.043744788, -0.06420968, 0.012739398, 0.043073926, 0.031230433, 0.00036492705, -0.039208546, -0.09329152, 0.06928111, 0.11622664, -0.009106846, 0.111528054, -0.020315262, 0.036427997, 0.15881014) * go_2(1.0, -1.0); + result += mat4(-0.066635534, 0.13901882, 0.0885122, 0.1030835, 0.08539728, -0.015466482, 0.0706688, -0.1611047, 0.02179479, -0.00048529037, 0.08708685, -0.00894464, -0.13046473, -0.21456988, -0.20666413, 0.049039323) * go_2(1.0, 0.0); + result += mat4(-0.100800075, -0.03772198, -0.095183305, -0.15150243, -0.08743059, -0.24299338, -0.019315414, -0.1574107, -0.013610722, 0.064871654, 0.058439128, 0.008972897, 0.10339555, -0.027356634, 0.07666196, 0.048524544) * go_2(1.0, 1.0); + result += mat4(0.046309173, -0.03858991, -0.13260359, 0.0017626585, 0.1453724, 0.1402359, -0.079240486, 0.13017912, 0.0629575, -0.15448172, -0.1856442, -0.044694453, -0.17226808, -0.08065212, -0.008038736, -0.15994963) * go_3(-1.0, -1.0); + result += mat4(0.18369722, 0.03849556, -0.035185467, -0.20205377, 0.03879293, 0.02712859, -0.051278092, 0.14862835, 0.10261192, 0.18085574, -0.025982017, -0.029160796, 0.5301373, 0.09614058, 0.35518438, -0.014906588) * go_3(-1.0, 0.0); + result += mat4(-0.31154996, -0.06868871, -0.012681131, 0.028093819, -0.37321633, -0.14738804, 0.06060776, 0.050054748, 0.013779029, -0.020390315, -0.12487434, -0.0029474346, -0.274524, -0.09142805, 0.0132142445, 0.1577639) * go_3(-1.0, 1.0); + result += mat4(-0.02177336, -0.020817943, -0.0111796055, -0.0046033757, 0.45033064, 0.3573757, 0.55279994, 0.602122, -0.05536106, -0.33642644, -0.1851379, -0.052192084, 0.03683446, 0.13613251, 0.20098919, -0.090587094) * go_3(0.0, -1.0); + result += mat4(0.1520822, 0.37173554, -0.061298244, 0.0019386727, 0.44656134, 0.13406622, 0.39018136, 0.5722051, -0.13074401, 0.012778576, -0.2837446, 0.16098566, 0.100189455, -0.40386122, 0.17464107, -0.17862785) * go_3(0.0, 0.0); + result += mat4(-0.01217905, -0.24295084, 0.08192982, -0.14160301, -0.05936872, -0.003312342, -0.07542139, 0.13488367, -0.21560493, -0.14342502, -0.19195864, -0.09448305, -0.1038431, -0.075766176, 0.03226791, 0.06455397) * go_3(0.0, 1.0); + result += mat4(-0.076916575, -0.10891301, 0.032635316, 0.03848802, 0.15750243, 0.48169684, 0.5410635, 0.017279895, 0.012730932, -0.0059071835, 0.030766146, -0.0225503, -0.030178519, -0.05866621, 0.033593398, -0.00033098995) * go_3(1.0, -1.0); + result += mat4(-0.10757409, 0.2644168, -0.025696747, -0.0077012815, 0.31728277, 0.29771668, 0.2443613, -0.047722775, -0.083712585, -0.12742844, -0.3138776, -0.059888497, 0.12291351, -0.14435866, 0.051414594, -0.11889901) * go_3(1.0, 0.0); + result += mat4(-0.063888945, 0.002844068, -0.06129518, 0.03381495, 0.10176077, -0.11625004, -0.10745763, -0.20636752, -0.03820934, 0.01926402, -0.20310643, 0.09767577, -0.00776684, 0.13453315, -0.036967937, 0.09780335) * go_3(1.0, 1.0); + result += vec4(0.019374544, -0.050425697, -0.005817216, -0.0059976326); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.028328063, 0.038015317, 0.14893384, 0.10103896, 0.028176744, -0.02067147, -0.10970998, 0.015726602, -0.07402682, -0.075281784, -0.012586929, 0.053476278, 0.14823362, 0.20312984, 0.24213, 0.039118115) * go_0(-1.0, -1.0); + result += mat4(0.009731573, -0.019011121, 0.016360838, -0.0073153526, 0.14594506, -0.0427664, -0.094225354, -0.013891855, -0.037061375, 0.024959227, -0.12289382, -0.21792257, -0.33579424, 0.052678566, 0.04346115, 0.07943186) * go_0(-1.0, 0.0); + result += mat4(0.0022269129, 0.013298362, -0.045071404, -0.007918287, 0.010860651, -0.073057, -0.0042394064, 0.03340809, 0.04938919, -0.024218693, -0.008147567, 0.08848061, -0.06840333, 0.10077341, -0.272586, -0.06542769) * go_0(-1.0, 1.0); + result += mat4(0.15929016, -0.1415167, 0.057084452, 0.06830724, 0.0046992986, 0.068573505, 0.22142749, -0.18493174, -0.1006019, -0.11373546, 0.17520057, -0.12888812, 0.05176946, -0.14703397, -0.20610721, 0.16611591) * go_0(0.0, -1.0); + result += mat4(-0.0069309813, 0.22358349, -0.18569049, 0.13456121, -0.21528137, 0.04618922, -0.47261322, -0.09682613, 0.5402922, 0.15818685, 0.05288464, -0.09949312, 0.21833964, 0.06652228, -0.2694682, 0.58216536) * go_0(0.0, 0.0); + result += mat4(0.040808782, 0.023110595, 0.12678777, -0.09057271, 0.03159572, 0.044006016, -0.10090222, 0.09940838, -0.08454473, -0.118349984, -0.053009644, 0.24352531, -0.103818566, 0.12536442, -0.17832974, 0.25161982) * go_0(0.0, 1.0); + result += mat4(-0.026323501, -0.14911288, -0.0073903934, 0.06902844, 0.07188603, -0.05006621, 0.06539817, -0.048083752, -0.08032579, -0.07449341, -0.015944218, 0.032426495, 0.069349505, -0.07441237, 0.055614363, 0.065174624) * go_0(1.0, -1.0); + result += mat4(-0.046432327, -0.051616143, 0.017791865, -0.047294978, 0.025944458, -0.0020909954, 0.083794415, -0.055740435, -0.3720184, 0.06654654, 0.1944378, 0.07806658, 0.00870193, 0.005404396, -0.059417505, -0.06270168) * go_0(1.0, 0.0); + result += mat4(-0.011699918, -0.03260685, 0.016413182, -0.02199741, -0.042898953, -0.018734168, -0.12387174, 0.06405199, -0.050764065, 0.07050078, 0.006969675, 0.05508108, -0.079687595, 0.12154926, 0.071177684, 0.046873443) * go_0(1.0, 1.0); + result += mat4(-0.2158498, 0.03612371, -0.05268691, -0.065594874, 0.06997431, -0.07327132, -0.03323361, -0.23306306, -0.00011140713, -0.1891967, -0.017328357, 0.15796778, -0.061359044, 0.008202449, -0.031317197, -0.020873578) * go_1(-1.0, -1.0); + result += mat4(-0.022816254, -0.014594548, 0.0064240466, 0.07976367, -0.0070318123, -0.07651652, -0.111756384, -0.2788498, 0.16634429, -0.1583179, -0.10245271, 0.10480152, 0.345051, -0.07809675, 0.046080578, -0.32139245) * go_1(-1.0, 0.0); + result += mat4(0.020630263, 0.032152038, 0.0019161701, 0.05435833, 0.078139454, -0.10090956, 0.14244889, 0.017286595, 0.0039871824, -0.026395446, 0.14158171, 0.0010112645, 0.17055373, -0.08093189, -0.049234428, -0.33473247) * go_1(-1.0, 1.0); + result += mat4(-0.10982378, 0.029386539, -0.15483, -0.04345961, -0.16869037, -0.30862433, 0.060743757, -0.032285906, 0.017884266, -0.09846199, -0.090971105, -0.1693697, -0.063690096, -0.08489718, 0.18247683, -0.19921213) * go_1(0.0, -1.0); + result += mat4(0.1898742, 0.22187345, -0.28495324, -0.42578775, 0.12833633, -0.2251503, -0.025917793, 0.6011678, -0.36586264, 0.23302059, -0.072634645, 0.0064221635, 0.56792957, -0.4684677, 0.05015159, 0.30121225) * go_1(0.0, 0.0); + result += mat4(0.10837159, 0.14743729, -0.03639783, -0.34797576, -0.18306817, -0.07957882, -0.111433275, 0.30104128, -0.102763996, -0.01020151, 0.016333267, -0.012390819, 0.11835027, -0.12597388, -0.006298998, 0.0513052) * go_1(0.0, 1.0); + result += mat4(-0.23662986, 0.23325302, -0.046104953, 0.36488137, 0.06990537, -0.06887873, -0.012611426, -0.02618366, -0.05296669, 0.195254, 0.016366778, 0.01693462, -0.08488424, -0.24656284, -0.035283253, -0.15318634) * go_1(1.0, -1.0); + result += mat4(0.061704446, -0.26930714, -0.24598889, 0.27657726, 0.05046488, -0.341884, 0.10704377, -0.15971762, 0.072999336, -0.2005826, -0.05874223, -0.053938035, -0.08284583, -0.22792995, 0.1027033, -0.012932447) * go_1(1.0, 0.0); + result += mat4(-0.029079054, 0.14774945, 0.026151389, 0.12380946, 0.08926635, -0.08387116, -0.17018612, -0.09304499, 0.086990625, -0.27579373, 0.003823722, -0.024723161, 0.08762848, -0.10080674, -0.012214886, -0.30239874) * go_1(1.0, 1.0); + result += mat4(-0.25756493, 0.2537789, 0.21723714, 0.0017929028, -0.014724892, 0.086692676, 0.11934202, -0.025869334, 0.008618976, -0.0046638376, -0.06863114, -0.07598151, -0.17309345, 0.009138105, -0.099874064, 0.07377463) * go_2(-1.0, -1.0); + result += mat4(-0.39971545, 0.16774859, 0.13102596, 0.30735064, -0.060374007, -0.036933452, 0.14408773, 0.06479284, 0.03806265, 0.045560133, 0.043136165, -0.019244662, 0.17573427, -0.11398941, -0.0751098, 0.041702736) * go_2(-1.0, 0.0); + result += mat4(-0.074492976, 0.18349282, -0.009050458, 0.0869807, -0.23123743, -0.015426683, -0.14346392, 0.005445149, -0.05322614, 0.10287576, 0.16083732, -0.09557319, -0.13891783, -0.13752605, -0.023572346, 0.13608918) * go_2(-1.0, 1.0); + result += mat4(-0.31140685, 0.40130782, 0.07704675, 0.27509958, 0.09711739, -0.18293281, -0.14500841, -0.15334702, 0.098314695, 0.22749798, 0.006017282, -0.013669673, 0.07147038, 0.022289474, -0.036797456, -0.0013958871) * go_2(0.0, -1.0); + result += mat4(0.0547557, -0.03036202, 0.65113044, 0.10668893, 0.304707, -0.1456157, 0.27668485, 0.2279428, -0.42439902, -0.0073047588, 0.045635667, 0.271637, -0.19595222, -0.28107607, 0.3905438, -0.29898256) * go_2(0.0, 0.0); + result += mat4(0.076843366, 0.037181348, 0.08652873, 0.1756985, 0.03728033, -0.22783624, 0.16810594, -0.022009399, 0.16058537, 0.24559903, 0.05266939, -0.13929726, 0.15964857, 0.0013167082, 0.015017631, 0.101646364) * go_2(0.0, 1.0); + result += mat4(-0.3022452, 0.20052882, 0.13433233, 0.04250016, -0.15248592, 0.014216527, -0.23489903, 0.13919333, 0.22891816, -0.0053335144, -0.05567782, -0.12769286, -0.05337762, -0.11429989, -0.00882089, -0.030790573) * go_2(1.0, -1.0); + result += mat4(-0.11763547, 0.1073185, 0.15810886, 0.013149736, -0.028268294, -0.24712053, 0.08592036, 0.075742744, 0.19626461, -0.10880887, -0.22599675, -0.37207767, -0.032548983, -0.011045266, -0.035218395, 0.099996395) * go_2(1.0, 0.0); + result += mat4(0.05631665, 0.029538663, 0.043909863, 0.13720988, 0.10980592, -0.047748722, 0.080308706, -0.06828442, 0.1144396, -0.12510885, -0.067976676, 0.030742755, 0.07134681, -0.06652312, -0.0642328, -0.034490924) * go_2(1.0, 1.0); + result += mat4(0.019588284, -0.15197967, -0.16797094, -0.026324488, 0.014429439, -0.028491383, 0.059453625, 0.23443304, 0.02504347, 0.08872467, 0.032782357, -0.085310735, 0.013040259, -0.09837991, 0.073533125, -0.03544458) * go_3(-1.0, -1.0); + result += mat4(0.02198588, -0.09614766, 0.024655875, 0.025384603, 0.012162857, 0.065071434, 0.018112874, 0.19828922, -0.33289856, 0.011323505, 0.13696423, 0.31772846, -0.06587399, -0.05569957, -0.16469179, -0.22545892) * go_3(-1.0, 0.0); + result += mat4(-0.009093827, 0.086783886, 0.060070645, 0.049957857, 0.041628215, 0.082412794, 0.117729135, -0.178277, 0.08326062, -0.07120824, 0.1788718, 0.050748438, -0.08952197, -0.14609487, 0.05515471, 0.14784457) * go_3(-1.0, 1.0); + result += mat4(-0.10823147, -0.05108019, 0.092807196, -0.13899301, 0.19123949, -0.044189975, 0.0030145745, 0.08935499, -0.10338727, 0.01996205, 0.15671325, -0.08229972, 0.05603653, 0.043324884, 0.13562247, -0.11487494) * go_3(0.0, -1.0); + result += mat4(-0.18872134, -0.07302765, 0.030137405, 0.30928415, -0.07689583, 0.045998566, 0.45554903, -0.1653404, 0.14705873, -0.10649596, 0.46833125, 0.17608039, -0.43967086, 0.056812476, -0.17908083, -0.40455228) * go_3(0.0, 0.0); + result += mat4(-0.08093384, 0.032636635, 0.124594346, 0.13655491, 0.16780408, -1.4671803e-05, 0.13044862, -0.397665, -0.013273644, 0.08253894, 0.16302188, -0.052874118, 0.04073075, -0.18063635, -0.00838661, -0.31084144) * go_3(0.0, 1.0); + result += mat4(0.06804371, -0.14755388, -0.12055216, -0.00437858, -0.044694718, 0.22744909, 0.012434794, 0.06245207, 0.00560859, -0.15815294, -0.19711316, 0.07711764, 0.03078979, -0.09560189, 0.10509056, 0.010651465) * go_3(1.0, -1.0); + result += mat4(-0.026342146, 0.13919179, -0.0030414977, 0.06607403, 0.071292974, 0.065464914, -0.027091878, 0.10620255, -0.052090824, 0.06840278, -0.08457357, 0.08867469, 0.2976581, -0.6702739, -0.15472057, -0.3066263) * go_3(1.0, 0.0); + result += mat4(-0.00072869845, 0.046573937, -0.08363707, 0.07867379, 0.038065, 0.01228845, 0.031746328, -0.024448024, -0.065555945, 0.1220454, 0.032151606, -0.022336006, -0.0010816467, -0.026455112, 0.112422734, -0.10285581) * go_3(1.0, 1.0); + result += vec4(0.052450567, 0.10404023, -0.059578225, 0.009724121); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.037506457, -0.06573841, -0.087879084, -0.06359248, -0.0017873603, -0.009097742, 0.010108622, 0.026364084, 0.012306545, 0.12607974, -0.088268295, 0.14034338, 0.24951904, 0.0983314, 0.03635719, -0.047059253) * go_0(-1.0, -1.0); + result += mat4(-0.05570699, 0.11044774, 0.04827364, -0.03185735, -0.032498132, -0.062959515, 0.2933071, 0.22244357, 0.061075654, 0.0064111133, 0.011452209, 0.11576761, 0.13969804, 0.20502032, 0.1114938, 0.022496287) * go_0(-1.0, 0.0); + result += mat4(-0.054194342, 0.000389916, -0.039589155, -0.018707246, -0.036095835, -0.06873059, -0.077109694, 0.028726012, -0.08820959, -0.109247595, -0.05745309, 0.043230128, 0.033671502, 0.16398554, 0.030398889, -0.17000203) * go_0(-1.0, 1.0); + result += mat4(-0.09218165, -0.12813722, -0.040984686, -0.016605416, 0.054269493, 0.12971285, -0.013961638, -0.17803082, -0.014683587, 0.2502267, -0.14249405, -0.025687713, -0.097426265, -0.30111355, -0.21776466, 0.008809217) * go_0(0.0, -1.0); + result += mat4(0.21033873, 0.15221386, 0.18138756, -0.08248389, -0.10091519, -0.06940753, -0.014009188, -0.3009861, -0.02452202, -0.08800422, -0.36376888, 0.18485394, 0.35076657, -0.13293292, 0.24624826, 0.39373755) * go_0(0.0, 0.0); + result += mat4(0.014170062, -0.029623963, 0.057001226, 0.09269898, -0.14630881, -0.16557585, 0.06735037, -0.015008042, -0.27238864, 0.081130914, -0.07869508, 0.098087415, 0.11217335, 0.48223323, 0.18613088, -0.035602476) * go_0(0.0, 1.0); + result += mat4(-0.21623239, -0.1125095, -0.09964635, 0.101452544, 0.11877652, 0.13471957, -0.10402355, 0.0077938605, 0.030518647, 0.22309083, -0.2115206, 0.017967062, -0.042780407, 0.099759325, -0.10465051, -0.033807248) * go_0(1.0, -1.0); + result += mat4(-0.059608232, 0.06684556, 0.00039066386, 0.08542961, 0.097183906, -0.1868667, 0.07778909, -0.06172202, 0.0021662437, -0.05387577, -0.4077133, -0.028940776, 0.110816136, -0.04154161, 0.030078325, 0.072834246) * go_0(1.0, 0.0); + result += mat4(-0.01881586, -0.06384429, -0.054874837, -0.016731417, -0.06570834, -0.13579571, 0.0033891131, -0.059161015, -0.11559389, 0.02149361, -0.08791608, -0.008113861, 0.08313892, -0.07327947, -0.013473171, 0.13254371) * go_0(1.0, 1.0); + result += mat4(-0.11458958, -0.08827364, -0.025030116, 0.12626298, 0.0070429775, 0.0337767, 0.051719055, -0.09654129, -0.04867615, -0.03609001, -0.06522421, -0.044131942, -0.048825134, 0.10652733, -0.015310965, -0.07341175) * go_1(-1.0, -1.0); + result += mat4(0.05782829, 0.014247012, 0.12126171, 0.100055166, 0.24079333, -0.20155986, 0.1640186, -0.12158374, -0.153708, -0.24445893, -0.10536192, 0.12758626, -0.19430119, -0.019024884, -0.080120996, -0.29866305) * go_1(-1.0, 0.0); + result += mat4(-0.017357074, 0.04390695, 0.12889594, 0.11451521, 0.03333342, -0.16417275, 0.10196121, 0.13059081, 0.09948873, 0.15007107, 0.22664218, 0.35449567, -0.089776486, 0.025239054, 0.12463201, -0.13109131) * go_1(-1.0, 1.0); + result += mat4(0.064875744, 0.40551752, 0.11903257, 0.14822967, 0.14993542, -0.12758526, 0.23159283, -0.06080246, -0.084577255, 0.14307548, -0.02186462, 0.05793564, -0.050965074, 0.23895216, -0.07796932, -0.1624384) * go_1(0.0, -1.0); + result += mat4(-0.15942748, 0.07191155, 0.42204422, 0.35219797, 0.23286703, -0.283381, -0.2749432, 0.25922084, 0.10494953, 0.14575887, -0.19649154, -0.14563714, -0.03709703, 0.023375817, -0.05610175, -0.32548484) * go_1(0.0, 0.0); + result += mat4(-0.04872624, -0.3592348, -0.027413938, 0.0836858, 0.046842758, -0.35193914, 0.06154142, 0.05559191, -0.22538327, -0.097689696, -0.21317257, -0.033945527, -0.23628096, -0.016477302, 0.027297588, -0.04105733) * go_1(0.0, 1.0); + result += mat4(0.11543502, -0.043297376, 0.118703, 0.15013209, 0.03191795, 0.014122794, 0.05156918, 0.023102578, 0.0808462, -0.06445798, 0.15860644, -0.062393136, -0.018691704, -0.00032888897, 0.01196705, -0.025045555) * go_1(1.0, -1.0); + result += mat4(0.08301664, 0.12298539, 0.20151077, 0.2993159, 0.16968682, -0.18196446, -0.13322797, -0.13693243, -0.0048389523, -0.057406515, 0.21409932, -0.060822334, -0.08554752, -0.19363636, -0.35241908, -0.32256603) * go_1(1.0, 0.0); + result += mat4(-0.0523748, 0.17082025, 0.08556144, 0.19181536, -0.2445756, -0.3616732, -0.01641404, -0.078599006, 0.23907976, 0.025989126, 0.07574993, -0.06859337, -0.06667767, -0.022847861, -0.037942342, -0.21112117) * go_1(1.0, 1.0); + result += mat4(0.15098672, 0.024212115, -0.19068481, -0.22606348, -0.15221487, -0.032165635, -0.06244531, -0.043535717, -0.07398802, -0.06088507, -0.013834592, -0.10145823, 0.06901983, -0.0862135, -0.05545454, 0.15514566) * go_2(-1.0, -1.0); + result += mat4(0.044767097, -0.07583697, -0.17739761, -0.25538698, 0.0966659, -0.0013492911, -0.23315248, -0.21652249, -0.14381947, 0.017784966, -0.15960035, -0.13297895, 0.009810349, -0.041348267, 0.05443229, 0.17781278) * go_2(-1.0, 0.0); + result += mat4(-0.0052824756, 0.087268956, -0.022167318, -0.09450279, 0.1254372, 0.075806946, 0.028893303, -0.09019378, 0.03488572, 0.046265777, 0.026162563, 0.003914548, -0.0632334, -0.19494742, -0.03602023, 0.113897055) * go_2(-1.0, 1.0); + result += mat4(-0.11311528, 0.2616239, 0.12303548, 0.13427438, -0.26537886, 0.015112677, -0.03641703, -0.014114427, -0.023280613, 0.03626403, 0.12833157, 0.19168468, 0.2119137, -0.02374797, 0.117919676, 0.07794395) * go_2(0.0, -1.0); + result += mat4(-0.13746078, 0.25739196, 0.008431936, -0.053867325, -0.13228695, -0.20661803, 0.026474724, 0.3205188, -0.41819036, 0.42812085, 0.17249924, -0.15810613, 0.39602605, -0.10873597, 0.1457145, -0.060503867) * go_2(0.0, 0.0); + result += mat4(0.03706167, -0.036211733, 0.06519942, -0.2123978, 0.019934088, 0.17494182, -0.017252771, -0.067341134, -0.15416612, -0.114118524, -0.00028491023, -0.08172238, -0.11722721, -0.2647645, 0.13316637, 0.13562322) * go_2(0.0, 1.0); + result += mat4(0.11832847, 0.22822993, 0.020318847, 0.0734738, -0.025950216, -0.072782144, 0.11133989, 0.18845533, -0.004584898, -0.10486471, 0.054522812, -0.14136603, 0.01940983, -0.039433163, 0.008390286, 0.013686628) * go_2(1.0, -1.0); + result += mat4(-0.042335663, 0.0035399816, -0.1813205, -0.25639042, 0.1042524, 0.07707001, -0.04922454, 0.18140413, -0.22322963, 0.030809738, -0.11041754, -0.040288754, 0.09431559, -0.08017892, -0.18317147, -0.019331435) * go_2(1.0, 0.0); + result += mat4(-0.061776266, 0.0069793356, 0.019964112, -0.14504445, -0.00070097746, -0.027107855, 0.030182542, -0.05625612, -0.04958449, 0.123165295, 0.0013953283, 0.017912487, 0.031161329, -0.31798717, 0.018331604, 0.030411277) * go_2(1.0, 1.0); + result += mat4(-0.0530594, -0.07933117, 0.024755973, 0.004785411, 0.045512546, 0.12833083, 0.023195961, -0.018028054, 0.014223835, 0.102213494, 0.052169293, -0.020509718, 0.017905682, 0.021354724, -0.0410789, -0.066523656) * go_3(-1.0, -1.0); + result += mat4(0.017061293, -0.08770806, -0.04889939, 0.01825556, -0.03228951, -0.06838898, -0.09249373, 0.18103507, 0.087000825, 0.04175679, -0.09305919, -0.2792485, 0.03405797, 0.062147446, -0.04757652, -0.021603985) * go_3(-1.0, 0.0); + result += mat4(-0.04115162, 0.02547615, 0.07033616, 0.09814065, 0.2597489, -0.0335038, 0.14097647, 0.047022782, 0.1374654, -0.27390274, 0.02080897, -0.15251215, -0.025431091, 0.08871465, -0.22243279, -0.07792812) * go_3(-1.0, 1.0); + result += mat4(-0.061674852, -0.051326606, -0.04885301, 0.08548189, -0.07100394, 0.044875987, -0.19810183, -0.09841128, -0.06628199, -0.041564234, 0.1111919, -0.044448826, 0.06980301, 0.00046094303, -0.045978926, -0.20736355) * go_3(0.0, -1.0); + result += mat4(-0.18405268, -0.28115878, -0.33536536, 0.0753763, 0.028309148, 0.0014874876, 0.28369543, -0.2133985, 0.16520546, 0.29562506, 0.109781906, 0.028433772, -0.02691105, -0.39038795, -0.12942268, -0.080103286) * go_3(0.0, 0.0); + result += mat4(-0.05387814, -0.04672615, 0.046064686, 0.2791977, 0.11359623, -0.204098, -0.018091407, 0.13550591, 0.04216003, -0.1631328, -0.043013666, -0.045698896, 0.032403514, 0.010206319, -0.25789943, -0.36328712) * go_3(0.0, 1.0); + result += mat4(0.11280466, 0.11671405, -0.02122692, 0.021664057, -0.07836575, 0.014747725, 0.030007286, -0.10128616, -0.13695373, -0.10353946, -0.043571353, 0.05922437, -0.11293257, 0.0828006, -0.07322761, -0.08197273) * go_3(1.0, -1.0); + result += mat4(-0.0010509897, -0.1674067, 0.08191839, 0.056608744, 0.061343428, 0.19574693, 0.05302967, -0.006813754, -0.016064182, 0.22949885, -0.06631832, 0.034382205, 0.12674272, 0.06583508, 0.19319807, 0.011400221) * go_3(1.0, 0.0); + result += mat4(-0.032175347, -0.021227444, -0.027698517, 0.067299634, 0.23929007, 0.20669897, 0.004856941, 0.0009404045, 0.04919408, 0.020296812, 0.012571405, -0.16185577, -0.012276781, 0.16609742, -0.15718406, -0.20344186) * go_3(1.0, 1.0); + result += vec4(0.022815697, 0.012251767, 0.045309987, -0.0879881); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.010501252, -0.046741538, -0.0017120431, -0.04840009, 0.20547974, 0.3366821, -0.10182207, 0.17451541, -0.03404171, -0.15138055, 0.16771653, -0.07168161, 0.102572344, 0.08266354, 0.20205829, 0.13429944) * go_0(-1.0, -1.0); + result += mat4(0.05584234, 0.06844309, 0.025430907, 0.124140054, 0.36385667, 0.12099467, -0.41671994, 0.085477844, 0.19748127, -0.21473993, 0.005037813, -0.3973761, 0.04669592, -0.100342326, -0.09403772, -0.034248166) * go_0(-1.0, 0.0); + result += mat4(-0.17654696, 0.009085064, 0.028360577, 0.033909567, 0.09377573, 0.27896938, 0.103994116, 0.0008595595, 0.064523555, 0.040994007, -0.06337235, 0.05662917, 0.0037455747, 0.017608117, -0.14610702, 1.2175746e-05) * go_0(-1.0, 1.0); + result += mat4(-0.04631749, -0.14251712, -0.16420849, -0.16259338, 0.46187812, 0.17576592, 0.00049142196, 0.029193122, -0.003925961, -0.11218227, 0.007026237, -0.20583045, -0.0010964901, 0.19355829, 0.2221649, 0.1187224) * go_0(0.0, -1.0); + result += mat4(-0.041567978, -0.31510913, 0.01618704, 0.04979329, 0.101294376, 0.16356954, 0.21361789, 0.20735294, 0.1900854, -0.4151726, -0.30471593, -0.59483325, 0.033624128, 0.11495109, -0.15194787, 0.4920959) * go_0(0.0, 0.0); + result += mat4(-0.18910064, -0.06516878, -0.20508374, -0.063928686, 0.7289614, 0.26674315, 0.2929481, 0.4026098, -0.033123735, -0.090371035, -0.029094126, -0.15197921, -0.08723726, -0.060160585, -0.07908409, -0.08826931) * go_0(0.0, 1.0); + result += mat4(-0.08321312, -0.09749648, -0.08783197, -0.23072585, 0.24343425, 0.10888949, 0.17419606, 0.04136083, 0.0066000987, -0.06112787, -0.12176007, -0.20907228, -0.0008522778, -0.054704696, -0.07197735, -0.0877179) * go_0(1.0, -1.0); + result += mat4(-0.40559706, -0.3801705, 0.05970925, -0.6157092, 0.28944594, 0.1252121, 0.403247, -0.122819394, -0.096336536, -0.2324694, 0.05980106, -0.19970767, -0.16646989, -0.10164633, -0.09282806, -0.08897996) * go_0(1.0, 0.0); + result += mat4(-0.14336498, -0.12967408, -0.016268672, -0.021431219, -0.0850116, 0.37105832, -0.04093888, 0.08540873, 0.035717323, -0.07282701, -0.009123291, -0.0036565473, -0.02508944, -0.087611906, 0.03604423, -0.00089080486) * go_0(1.0, 1.0); + result += mat4(0.1373875, 0.05283984, -0.11992707, 0.102294855, 0.3305128, 0.044920854, 0.31622922, -0.04711731, 0.001336024, 0.022799017, -0.062343203, 0.017140022, -0.07556853, -0.12864219, -0.25721326, -0.20741239) * go_1(-1.0, -1.0); + result += mat4(0.22062224, 0.09266222, 0.22466063, 0.18527372, -0.06940306, 0.1317168, 0.019784274, -0.07422301, 0.04061616, 0.0022494853, 0.21723995, 0.24732308, 0.14088804, 0.0116154915, 0.102064446, 0.020701224) * go_1(-1.0, 0.0); + result += mat4(-0.025154127, 0.045180723, -0.05877639, -0.099235624, 0.13630918, 0.24653725, -0.05723323, -0.022995364, -0.10826078, 0.049667366, 0.12618053, 0.1557369, 0.037487056, -0.22215757, 0.005912914, -0.20549043) * go_1(-1.0, 1.0); + result += mat4(0.09641055, 0.098845296, -0.08192096, -0.03691394, -0.18450394, 0.29955688, -0.082493715, -0.06268039, -0.0754319, 0.21018648, -0.016580105, -0.1810546, 0.13857666, -0.0327626, 0.03161804, -0.32589525) * go_1(0.0, -1.0); + result += mat4(-0.18272439, -0.17595461, 0.047229152, 0.14596708, 0.40453747, 0.5658558, -0.17969102, 0.21557859, -0.34232348, 0.40355968, 0.53874254, 0.0012561383, 0.28154096, -0.06745097, -0.13049632, 0.42997465) * go_1(0.0, 0.0); + result += mat4(0.081179485, -0.0041369614, -0.12001932, -0.102107175, -0.050293338, 0.29165673, 0.08062538, 0.22925815, 0.19389379, 0.28463286, -0.057207666, 0.23133168, -0.07545728, 0.06729763, -0.103593476, 0.014468794) * go_1(0.0, 1.0); + result += mat4(0.069821335, -0.010299579, 0.069458775, 0.03894593, -0.054688405, 0.32758355, 0.13935772, 0.37506017, 0.24083133, -0.06105339, 0.25636867, 0.09627044, 0.08939188, 0.006728639, 0.10629504, 0.07887502) * go_1(1.0, -1.0); + result += mat4(0.10563019, 0.077379815, 0.045456886, 0.09303406, 0.11326298, 0.28762257, -0.35142374, 0.10285745, 0.28762287, 0.3592446, 0.23816557, 0.22676824, 0.030372012, -0.028023086, -0.30956736, -0.27588373) * go_1(1.0, 0.0); + result += mat4(0.110499, 0.009828844, 0.086689755, 0.1839749, 0.16656482, 0.083707325, 0.19506347, -0.01547141, 0.13804145, 0.2206598, -0.16484791, -0.0021595939, -0.06844408, -0.07861768, 0.040771082, -0.13347322) * go_1(1.0, 1.0); + result += mat4(0.02667995, 0.019265587, -0.18211095, -0.102116466, -0.042541366, -0.07700912, -0.020587347, -0.03532171, 0.14816427, -0.1672272, -0.17522137, -0.04657808, 0.013430233, -0.0021270285, 0.109880306, 0.004838907) * go_2(-1.0, -1.0); + result += mat4(0.14285165, -0.1364756, 0.017568532, -0.27690783, -0.015461915, 0.045437083, 0.018187419, 0.12473493, 0.17991658, -0.15642665, 0.10009151, -0.19040193, 0.1734127, -0.13817501, 0.0710856, -0.12921426) * go_2(-1.0, 0.0); + result += mat4(-0.14114712, -0.18893671, 0.16121174, 0.035988737, 0.17872387, -0.106395856, -0.23183517, 0.012380416, 0.043066982, -0.28539032, -0.049011275, -0.21125022, -0.11976977, -0.015564958, 0.18880925, -0.0034812456) * go_2(-1.0, 1.0); + result += mat4(-0.05894521, 0.17266215, -0.0458901, 0.08049924, 0.0156061025, -0.0047465423, 0.09714626, 0.045990974, -0.08786066, -0.37803304, -0.19629405, -0.08546443, 0.014874948, 0.16931784, 0.24799919, 0.06316819) * go_2(0.0, -1.0); + result += mat4(-0.28352743, 0.29973608, -0.014540065, 0.2865005, 0.048086923, 0.18976144, 0.22969759, 0.1643124, -0.11259408, -0.107592925, 0.184308, 0.30998367, -1.0860825, -0.29118305, -0.51242536, -0.38492215) * go_2(0.0, 0.0); + result += mat4(-0.17199941, -0.14274743, -0.14213641, -0.1691383, -0.17294803, -0.013992068, -0.12135059, 0.082377024, -0.11255549, -0.124990575, -0.32526177, -0.08199375, -0.25591666, 0.1882329, 0.07895415, 0.22012262) * go_2(0.0, 1.0); + result += mat4(0.026025832, -0.07267515, 0.09738688, 0.074536435, -0.060470507, -0.037861936, 0.0507819, -0.054857653, 0.0043173633, -0.18107842, -0.02996759, 0.04072402, -0.012617744, 0.061665237, 0.0013981885, 0.08679919) * go_2(1.0, -1.0); + result += mat4(0.27913737, 0.39656082, 0.1579819, 0.2774727, -0.007996453, 0.08704765, -0.016933938, 0.07066135, 0.12361742, -0.20802726, -0.13705719, -0.18794124, 0.037409827, -0.03351758, -0.2970392, -0.11001984) * go_2(1.0, 0.0); + result += mat4(-0.027419567, 0.043236237, -0.19843115, -0.056489736, -0.017010912, 0.070949584, -0.14881176, -0.0780235, 0.0039477753, -0.16772608, -0.009547604, -0.14060417, 0.0103197545, 0.07129672, 0.034949142, 0.014112084) * go_2(1.0, 1.0); + result += mat4(-0.06467971, 0.084101565, 0.26296136, 0.08878442, -0.11232121, -0.054373942, -0.17263442, 0.046408508, 0.032239515, 0.042490713, 0.036938053, -0.034339923, -0.07139367, 0.032505415, 0.0045828503, 0.24428385) * go_3(-1.0, -1.0); + result += mat4(0.053585388, -0.08175568, -0.04787236, 0.06061965, -0.0740297, 0.11113596, -0.12467945, 0.08229154, -0.01941305, 0.12903687, 0.09095716, -0.13062255, -0.0102068605, 0.107291475, 0.030279635, 0.07464777) * go_3(-1.0, 0.0); + result += mat4(0.11041978, -0.0123585425, 0.11147018, 0.07380536, 0.06632908, 0.011784447, 0.029638765, -0.01566135, 0.009105331, 0.05252663, -0.17972581, 0.01210126, -0.10749957, -0.028144639, -0.105761215, 0.083784826) * go_3(-1.0, 1.0); + result += mat4(-0.058018316, 0.15083058, 0.2725673, 0.024263225, -0.067711554, 0.051117413, -0.31144425, -0.15761986, 0.017503206, -0.14361219, -0.38261738, -0.20354146, -0.04211545, 0.12921454, -0.01319619, 0.35809723) * go_3(0.0, -1.0); + result += mat4(-0.107978396, 0.3230084, -0.13806303, 0.12903036, 0.039864987, -0.006241628, 0.18701774, -0.10785807, 0.30056882, -0.3092082, -0.4273322, 0.3784662, -0.026107281, 0.23165871, 0.35258314, -0.06654702) * go_3(0.0, 0.0); + result += mat4(-0.15840323, 0.15210885, 0.04086692, 0.19169305, 0.11847602, 0.0009038581, 0.095951624, 0.043941673, 0.1512248, 0.0749449, -0.027045414, -0.19729601, 0.08265063, -0.045218006, -0.10732461, 0.05197371) * go_3(0.0, 1.0); + result += mat4(0.13637526, 0.28841978, 0.10298119, -0.005948496, 0.020897362, -0.02186902, -0.16207378, -0.021084815, 0.029192554, 0.07076991, -0.07210881, -0.06752328, 0.0006557475, 0.08986717, -0.29430988, 0.21411087) * go_3(1.0, -1.0); + result += mat4(0.18667863, 0.3117322, -0.0859705, -0.038189936, 0.10214859, -0.11244034, 0.2680223, -0.072901204, -0.07434324, -0.17855306, 0.23134363, -0.055360887, -0.020968167, 0.0858459, 0.078975916, 0.13254759) * go_3(1.0, 0.0); + result += mat4(-0.15676941, 0.03476677, -0.09922334, -0.15847856, -0.0033982224, 0.020932984, 0.12874377, 0.048792202, 0.06521213, 0.12456798, 0.15958112, 0.15981804, 0.07657683, 0.1759313, 0.012727211, 0.120304115) * go_3(1.0, 1.0); + result += vec4(0.08911729, -0.027969634, -0.010653148, -0.08001697); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!SAVE conv2d_4_tf1 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.003206617, 0.04896987, 0.049652386, 0.10869342, 0.36313584, -0.070666805, 0.93581825, -0.52484274, -0.14278883, 0.064016834, -0.05534331, 0.02961736, -0.1319316, 0.05740655, 0.2405951, -0.12313382) * go_0(-1.0, -1.0); + result += mat4(0.014092832, 0.07058761, -0.07887866, -0.27478936, -0.31456405, -0.31036922, -0.18380909, -0.11277979, -0.034889866, -0.37914017, -0.056245584, 0.24008954, -0.03414483, -0.023189066, -0.010568316, -0.004604883) * go_0(-1.0, 0.0); + result += mat4(0.15443979, -0.050161768, -0.012300917, -0.08834887, 0.082193285, 0.06878423, 0.1478042, -0.3774468, -0.18659878, 0.14238152, 0.033605397, 0.13560006, -0.032682173, -0.024561955, 0.05656941, -0.034246165) * go_0(-1.0, 1.0); + result += mat4(0.04691462, 0.064624496, -0.15950382, 0.16081297, -0.1417951, -0.109690994, -0.021205869, 0.19361454, -0.006306647, 0.3401972, -0.00014070333, 0.11619607, -0.13437814, 0.05464789, 0.37712076, -0.12470751) * go_0(0.0, -1.0); + result += mat4(-0.40016884, 0.010666597, -0.005395378, 0.51084363, -0.009875391, 0.3969395, 0.47768033, -0.3392299, -0.1509509, -0.057620626, -0.1834601, -0.09998148, 0.10095897, -0.2213528, 0.02546703, -0.28506726) * go_0(0.0, 0.0); + result += mat4(0.26652217, -0.106772706, -0.12609608, -0.0949661, -0.10869194, -0.55331933, -0.011515521, -0.27978876, -0.2124893, 0.03954004, 0.1691768, 0.05590268, 0.1539662, 0.10703386, -0.027286088, 0.2168544) * go_0(0.0, 1.0); + result += mat4(-0.04862511, 0.06919758, -0.12962708, 0.016036907, -0.030030789, -0.20159967, 0.0013158675, -0.07799172, -0.032236706, -0.0035921712, -0.085437834, -0.025374755, -0.06251374, -0.009269627, -0.07519051, -0.01884611) * go_0(1.0, -1.0); + result += mat4(0.23940067, -0.19496065, -0.05494683, 0.11601073, -0.074225076, 0.24976431, 0.41665986, 0.12029472, 0.16815041, -0.115868434, 0.06333614, 0.032145746, 0.15990137, -0.14886795, 0.034102913, -0.07727595) * go_0(1.0, 0.0); + result += mat4(0.14702639, -0.013711502, 0.011437429, -0.11201445, -0.2582659, 0.34539905, 0.058082145, -0.18346462, 0.0027891365, 0.072565466, 0.12716974, 0.050636146, 0.092657596, 0.08541754, -0.1266164, 0.027881607) * go_0(1.0, 1.0); + result += mat4(0.043362036, 0.020758621, 0.09906072, -0.22401148, -0.19104514, -0.25774476, 0.074128486, 0.08558291, -0.075419895, 0.20380639, 0.06398196, 0.015925938, 0.089786015, -0.100721814, -0.1374862, 0.26110905) * go_1(-1.0, -1.0); + result += mat4(-0.12547149, 0.08151811, -0.15953775, -0.33995447, -0.50784314, 0.46155545, 0.24986996, 0.03404644, -0.047789436, -0.12438347, -0.14143273, -0.17951359, -0.08057819, 0.023863006, -0.008539273, -0.06775414) * go_1(-1.0, 0.0); + result += mat4(0.1430169, 0.056971863, -0.021576611, -0.045342956, -0.22356391, -0.15344621, -0.0467977, -0.22970036, -0.0125351725, 0.16957329, -0.0069183917, -0.013949834, -0.048609708, 0.05261722, 0.023262242, 0.2123519) * go_1(-1.0, 1.0); + result += mat4(-0.019523792, 0.008228363, -0.04616012, -0.14341992, -0.19307113, 0.005937241, 0.24048887, -0.04279845, 0.022574252, 0.15558265, -0.035000063, 0.18318397, -0.05392528, -0.26044658, -0.13493988, 0.056433514) * go_1(0.0, -1.0); + result += mat4(-0.28926027, -0.17381874, 0.07685766, -0.0061521684, -0.47455552, -0.49213487, 0.36924496, 0.29042044, 0.201094, -0.14280887, -0.4531411, -0.52902204, -0.28123, 0.1401882, 0.32054895, -0.11357518) * go_1(0.0, 0.0); + result += mat4(0.14173324, -0.12069898, -0.07242415, 0.105665006, 0.017373435, -0.056042343, 0.07270201, 0.022111928, -0.01106541, 0.01666006, 0.013564169, -0.36628693, -0.25450787, -0.28179473, -0.04721874, -0.21912882) * go_1(0.0, 1.0); + result += mat4(-0.09464695, -0.027919646, 0.13088459, 0.17504032, -0.101641014, 0.29687008, 0.08832321, 0.020538324, -0.15108941, -0.21930224, -0.026915176, -0.07078217, 0.10723033, 0.034364715, 0.18183397, -0.119012214) * go_1(1.0, -1.0); + result += mat4(-0.21713468, -0.0846604, 0.046551514, -0.14989382, 0.08672032, -0.07933831, 0.08093595, -0.064147756, -0.15980323, 0.50000644, -0.091568656, 0.03201994, -0.1848647, -0.0646309, 0.03288009, 0.046442386) * go_1(1.0, 0.0); + result += mat4(0.053532355, -0.054523747, -0.040242642, -0.31438905, 0.06452703, -0.18785381, -0.14987698, -0.067642935, -0.19892459, -0.057256676, 0.05943023, -0.17331842, 0.02588534, 0.13134238, -0.07121775, 0.23446162) * go_1(1.0, 1.0); + result += mat4(0.20633182, 0.01686198, 0.17934167, -0.02063493, 0.042606052, -0.05289458, 0.031508356, 0.00082803797, 0.0756423, -0.047548845, 0.01456339, 0.15910533, -0.20119642, 0.029213727, 0.111036316, -0.047010012) * go_2(-1.0, -1.0); + result += mat4(0.09258436, -0.27904224, -0.086695746, 0.33095327, -0.20126075, -0.050745636, -0.048944805, -0.10536587, -0.012995092, 0.07926994, 0.15071853, -0.13644052, -0.05188447, -0.06750699, -0.14227037, 0.028751127) * go_2(-1.0, 0.0); + result += mat4(-0.18562223, 0.10250865, -0.17573993, 0.20434102, -0.05187468, -0.06441594, -0.052127104, -0.01925564, 0.02927959, -0.12711872, 0.059629507, 0.15696885, -0.010168965, 0.09971862, -0.03177664, -0.022744441) * go_2(-1.0, 1.0); + result += mat4(0.21474063, -0.15679085, 0.09609374, 0.109079376, -0.049934637, -0.07393633, 0.16688468, -0.018888129, 0.04240162, -0.31895876, -0.106516436, 0.20008606, -0.054410245, 0.028970616, -0.18008347, -0.013362003) * go_2(0.0, -1.0); + result += mat4(0.37891293, 0.042730846, -0.24735828, -0.5234527, -0.3681344, -0.06609157, -0.14993733, -0.020316398, 0.123008475, 0.29632482, 0.32149333, 0.35999274, -0.18967044, 0.46154186, -0.016041815, 0.097378336) * go_2(0.0, 0.0); + result += mat4(-0.14873263, 0.07600569, -0.051758345, 0.1803135, -0.23121934, 0.13574593, 0.043973465, -0.13992754, -0.061972607, -0.124083005, -0.049196843, -0.07700431, 0.21572952, -0.25241727, 0.1218322, -0.07773728) * go_2(0.0, 1.0); + result += mat4(0.040287063, 0.024240922, 0.021917762, -0.050616946, -0.023174169, 0.05977014, 0.018892275, 0.04014965, 0.11715485, 0.062129, 0.024620812, 0.013617107, 0.075699426, 0.1858111, -0.11769179, -0.08085602) * go_2(1.0, -1.0); + result += mat4(-0.3194255, 0.08695645, -0.09453595, 0.2564516, 0.02192303, 0.08167247, -0.06257352, 0.043801844, 0.04392246, 0.2020571, 0.045180902, 0.18857521, 0.1835961, -0.043788187, -0.08768916, -0.14755538) * go_2(1.0, 0.0); + result += mat4(-0.22074097, 0.13768476, -0.16183749, 0.059949517, -0.011375954, 0.08581876, 0.004800447, 0.019403988, 0.014646056, 0.07363176, -0.058036458, 0.0706421, 0.08082624, 0.17740329, -0.05484784, 0.050796065) * go_2(1.0, 1.0); + result += mat4(-0.032330472, -0.067666024, 0.18980837, -0.19077848, 0.1111905, 0.03855666, -0.11272314, -0.00577739, 0.17697452, -0.053044144, -0.07510145, 0.061853852, -0.024240626, 0.14846492, 0.14804313, -0.20275854) * go_3(-1.0, -1.0); + result += mat4(0.17133904, -0.16356844, 0.1978664, 0.13877816, 0.28208038, 0.031539194, 0.11313891, -0.0014802719, 0.0033749861, 0.046372313, 0.054808807, -0.0024151779, 0.0068782056, -0.16414621, -0.07545907, -0.2521294) * go_3(-1.0, 0.0); + result += mat4(-0.1746992, -0.037628956, -0.0044012754, -0.004390821, 0.0050341445, -0.112742625, 0.051241755, 0.01984483, 0.0003531837, 0.043500375, 0.030881992, 0.003503799, 0.13611782, -0.02509031, -0.007503557, -0.009321301) * go_3(-1.0, 1.0); + result += mat4(0.087250136, 0.12374122, 0.2959519, 0.11314702, 0.22080182, 0.106726184, -0.29768205, 0.14931595, 0.23356548, -0.008709153, -0.0797829, 0.046940215, -0.07027616, 0.20533602, 0.0723021, -0.1963585) * go_3(0.0, -1.0); + result += mat4(0.00609982, 0.35277408, -0.22781096, -0.28912535, 0.42393112, -0.07654207, 0.12636793, 0.049337976, -0.0967726, -0.19349189, 0.36800626, 0.09745645, 0.47663373, 0.03876107, -0.042987954, 0.016161885) * go_3(0.0, 0.0); + result += mat4(-0.047490966, -0.05823166, 0.036158644, 0.025337253, -0.046618905, 0.108276576, -0.024148034, 0.0026794411, 0.1497962, -0.09328474, -0.03160641, 0.24351281, -0.05198027, 0.030720685, 0.00014528916, -0.2224931) * go_3(0.0, 1.0); + result += mat4(-0.007338369, 0.18710312, 0.14617369, -0.0070655346, 0.10464997, -0.029674934, -0.11842202, -0.09114357, 0.08524458, -0.08082762, 0.06479597, -0.023760766, 0.07523641, 0.0067315935, 0.101266846, -0.2780903) * go_3(1.0, -1.0); + result += mat4(0.14181875, -0.19523518, 0.1068169, -0.10284853, 0.11634046, -0.117397435, 0.09113022, 0.009371062, -0.022120507, -0.1127032, 0.092574745, -0.021989716, -0.088107705, -0.13541982, 0.08130504, -0.0678927) * go_3(1.0, 0.0); + result += mat4(0.09948295, 0.23699793, -0.042369924, 0.16744529, -0.10045506, -0.045623623, 0.04871897, -0.0023967526, 0.02602692, -0.089873284, -0.050681606, -0.09332558, -0.09596149, -0.06988313, 0.0007193808, -0.11936899) * go_3(1.0, 1.0); + result += vec4(-0.04928105, -0.003357327, -0.03886671, 0.076106146); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!SAVE conv2d_5_tf +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.13425097, -0.23487093, 0.2480183, -0.2806276, -0.041303713, 0.100773126, -0.110890545, 0.036205858, -0.331331, -0.12929262, 0.16300063, 0.3776673, -0.20316373, -0.011239426, 0.10650887, -0.027857736) * go_0(-1.0, -1.0); + result += mat4(0.09517376, -0.3004956, 0.05033304, -0.07464521, 0.009204248, -0.23034886, 0.30492118, -0.1215848, 0.15728685, -0.10430078, 0.04038878, 0.08034804, 0.04320418, -0.2929594, -0.018968396, 0.02542387) * go_0(-1.0, 0.0); + result += mat4(-0.10651935, -0.2736715, 0.19267319, -0.033337504, -0.06697293, 0.028424729, 0.047814637, 0.44929537, 0.02565344, -0.253426, -0.040931404, -0.05018104, 0.032979824, -0.035349697, -0.039578713, -0.3116414) * go_0(-1.0, 1.0); + result += mat4(0.09176126, 0.031713437, 0.24861507, 0.31351718, 0.36284143, 0.3622709, 0.16165464, 0.07319267, -0.6303202, -0.21209712, -0.02169929, 0.037275597, -0.1295319, 0.033090707, -0.029330662, 0.054679472) * go_0(0.0, -1.0); + result += mat4(0.15021572, -0.15177831, 0.1318225, 0.46864823, 0.059443284, 0.07404233, 0.22612074, 0.21105285, 0.319694, 0.09397257, 0.14277866, -0.0235649, -0.037205156, -0.40715128, -0.18572816, 0.058741573) * go_0(0.0, 0.0); + result += mat4(-0.122751735, -0.20926422, 0.2099333, -0.11627138, 0.04171681, 0.0669586, -0.03831368, 0.27334675, 0.0492008, 0.12854317, 0.03308622, 0.45236585, 0.03122829, 0.13853219, 0.05084764, -0.3965012) * go_0(0.0, 1.0); + result += mat4(-0.0019293908, -0.15562099, 0.12418126, 0.0045440597, 0.05442391, -0.15613738, 0.14828286, -0.17687118, -0.053517755, -0.33350968, -0.062314924, -0.31358472, -0.09670371, 0.043190923, 0.008150662, 0.09928506) * go_0(1.0, -1.0); + result += mat4(-0.06698031, -0.099411525, 0.24259582, -0.1073659, 0.06762824, 0.059605874, -0.20944163, -0.1598055, 0.32746908, -0.17759447, 0.2859796, -0.1274256, 0.30796206, -0.00791448, 0.114059694, 0.14775705) * go_0(1.0, 0.0); + result += mat4(0.16291203, -0.14958477, 0.14716864, 0.2056065, -0.019337546, 0.032286238, 0.0030445335, -0.08208513, -0.14208078, 0.13601872, -0.23367858, -0.19092909, -0.20207883, -0.016950991, 0.009309007, 0.1376546) * go_0(1.0, 1.0); + result += mat4(-0.11093091, -0.32362202, -0.041845415, 0.029758021, -0.07261404, -0.048653398, 0.19167832, 0.09343212, 0.030472826, -0.15078579, -0.0056376588, 0.0045257527, -0.24521805, -0.10473077, 0.11163019, -0.1724187) * go_1(-1.0, -1.0); + result += mat4(-0.08601668, 0.16612485, -0.07751539, 0.07261594, -0.19028407, 0.23896623, -0.10416726, 0.23500614, 0.1955228, 0.08699591, -0.049277775, 0.13447775, 0.19434914, -0.11481196, 0.088043146, 0.13352895) * go_1(-1.0, 0.0); + result += mat4(-0.013221233, 0.07521129, 0.042819552, -0.11163175, 0.066080205, -0.25043094, -0.010348969, -0.013258202, 0.09444396, 0.29623637, 0.025016114, 0.050744686, -0.12219596, -0.0735393, -0.024817836, -0.06897588) * go_1(-1.0, 1.0); + result += mat4(-0.25720942, 0.19861753, -0.18535058, 0.12190362, -0.33756095, -0.0038898317, 0.09739055, 0.41227046, -0.10030796, 0.025445882, -0.23542109, 0.08677691, 0.08140194, -0.22716106, 0.14016968, -0.0927231) * go_1(0.0, -1.0); + result += mat4(0.58745646, -0.12533307, 0.30129984, 0.08898194, -0.07972344, -0.37581098, 0.06863413, -0.13185541, 0.21801205, 0.31779078, -0.3804784, -0.3200699, 0.14534226, 0.05912262, 0.07938948, -0.34869507) * go_1(0.0, 0.0); + result += mat4(0.024675166, -0.067802526, 0.030065436, 0.06509131, 0.14367498, 0.022554757, 0.014991865, -0.029914752, 0.5123549, -0.012557206, -0.13014166, -0.34184244, -0.09080884, 0.13782553, -0.018931886, -0.35642785) * go_1(0.0, 1.0); + result += mat4(-0.37336427, -0.02705006, 0.14392053, 0.024049882, -0.024705589, 0.14556128, -0.12120506, -0.06275598, -0.1284325, 0.11409197, -0.08397436, -0.075944416, 0.056465942, 0.04016099, 0.096723564, -0.08359723) * go_1(1.0, -1.0); + result += mat4(0.20243345, -0.09287934, -0.11676041, 0.005206654, -0.2879361, 0.41677123, -0.16924824, 0.22429213, 0.082279116, -0.1780833, 0.20209241, 0.12970525, -0.030272234, -0.19200714, 0.0015769673, -0.1389732) * go_1(1.0, 0.0); + result += mat4(0.04211243, 0.07331798, -0.055724114, 0.04086206, -0.04635456, 0.027212424, 0.021861525, 0.12424812, 0.43009162, 0.021664696, 0.20828371, 0.11859106, 0.07390811, -0.1861182, 0.034559406, 0.18561925) * go_1(1.0, 1.0); + result += mat4(0.22596797, 0.025346763, -0.056839246, 0.09137385, 0.07363095, -0.12382036, 0.08911783, -0.012355983, -0.07869761, 0.051298574, 0.00816572, -0.044984274, 0.07962154, -0.2254524, -0.007821531, -0.04936664) * go_2(-1.0, -1.0); + result += mat4(0.06265961, -0.17783198, 0.11678783, -0.12965304, 0.014506855, -0.17513473, -0.23593299, 0.14054537, 0.1580306, 0.31872272, -0.0042505316, -0.070422255, -0.01316396, 0.0058355615, 0.062464185, -0.06086727) * go_2(-1.0, 0.0); + result += mat4(-0.079526044, 0.23932967, -0.1139716, 0.15888569, 0.06526993, -0.06958436, -0.04070066, -0.12081254, 0.026716579, 0.014887845, 0.0061467467, 0.127956, 0.040913627, -0.0032820841, 0.086145625, 0.22520025) * go_2(-1.0, 1.0); + result += mat4(0.25577608, 0.02553098, -0.14822578, -0.11907723, -0.09787419, -0.03544863, -0.08098151, -0.01305555, 0.20404844, 0.11294246, 0.10096346, 0.15795162, 0.2554626, 0.09361069, 0.001985862, -0.0051444587) * go_2(0.0, -1.0); + result += mat4(-0.24454486, -0.014714279, -0.2954907, -0.39995646, -0.15907967, 0.30107877, -0.34781745, 0.095281735, -0.12492393, -0.28375402, -0.16872306, 0.2531788, -0.52085644, 0.35986066, 0.07716912, 0.09565738) * go_2(0.0, 0.0); + result += mat4(0.2493129, 0.06395661, -0.09491958, 0.19702488, 0.109871864, -0.051376317, 0.15404263, -0.21282886, 0.1188967, 0.07824094, -0.016752928, -0.14027214, 0.10949832, -0.27629098, 0.081909016, 0.1354018) * go_2(0.0, 1.0); + result += mat4(0.18950915, -0.034574565, -0.10378051, -0.15800652, -0.06835184, -0.06987467, 0.035007782, 0.04686656, 0.054061133, 0.014833506, -0.0035361175, 0.016156103, 0.120767444, -0.10196722, 0.10668838, -0.09058739) * go_2(1.0, -1.0); + result += mat4(-0.032248627, 0.056413256, 0.042716432, 0.06681831, 0.047605485, -0.07629479, 0.14311917, -0.06909803, 0.10640394, 0.10701861, -0.0051839007, -0.15133362, -0.32146424, -0.039978918, -0.12280021, 0.0048507582) * go_2(1.0, 0.0); + result += mat4(-0.1954503, -0.09257865, 0.11023244, -0.01817947, -0.0035485283, -0.015536726, 0.0071826433, 0.042538714, -0.015454641, 0.079593316, -0.07242554, 0.031178504, 0.2319168, -0.10519467, 0.013837495, -0.040088437) * go_2(1.0, 1.0); + result += mat4(0.12625901, 0.04531166, 0.038758352, -0.05790713, -0.10029771, -0.118265375, -0.23944628, 0.11955388, 0.070732996, 0.19404806, -0.019913414, 0.04609079, 0.06262817, 0.022330387, -0.029681094, 0.03719176) * go_3(-1.0, -1.0); + result += mat4(-0.07737922, 0.0024623116, -0.037666153, -0.19271135, -0.015002153, -0.0059966356, 0.0024538909, -0.0401021, -0.18540399, -0.11140236, -0.11102473, -0.06390247, 0.016754225, 0.35000673, -0.19139731, 0.07363001) * go_3(-1.0, 0.0); + result += mat4(0.02150171, -0.2311761, -0.025124706, 0.16819553, -0.0013348719, 0.32091036, -0.061826598, 0.12579474, -0.036611024, -0.018266583, -0.11280143, 0.11073158, 0.050171874, -0.14706045, 0.029553955, 0.0052631944) * go_3(-1.0, 1.0); + result += mat4(0.19249865, -0.22854832, 0.09472751, 0.014705341, 0.059496958, 0.13427268, -0.06309558, -0.07153743, -0.31890163, -0.0657967, -0.040345218, 0.09544393, 0.07359761, 0.11245483, 0.00033233972, 0.031550154) * go_3(0.0, -1.0); + result += mat4(-0.24668917, -0.37181908, -0.50614715, -0.101197146, -0.1569055, 0.27734125, 0.17144768, -0.04336267, 0.03658949, 0.06747124, 0.30720958, 0.56301194, -0.11314631, -0.29258573, 0.16256689, 0.5221001) * go_3(0.0, 0.0); + result += mat4(-0.022761503, 0.13063031, 0.002526217, -0.03466151, -0.15225072, 0.40217137, -0.089131154, 0.19195192, -0.1379853, -0.04640692, 0.104670234, 0.12268618, -0.012009209, -0.20534724, 0.028777445, 0.22195113) * go_3(0.0, 1.0); + result += mat4(0.23697586, 0.08793654, -0.10565018, 0.013993297, -0.025932996, -0.13859354, 0.14333159, -0.099132575, -0.049601994, -0.0917448, -0.0021633878, -0.009032609, -0.034750953, -0.30761167, 0.058994945, -0.19427797) * go_3(1.0, -1.0); + result += mat4(-0.26944515, 0.30523893, -0.17787015, 0.10827742, 0.06457236, -0.12202401, 0.15371302, 0.011699893, -0.06253491, -0.10976804, -0.37283847, -0.23996784, -0.2750512, -0.024101513, -0.094127975, -0.17462716) * go_3(1.0, 0.0); + result += mat4(-0.026286924, 0.06250577, 0.095423855, -0.02849258, -0.12916361, -0.10954709, -0.05825132, -0.102924265, -0.19550376, -0.11730307, 0.032346163, -0.17682706, 0.16651174, 0.031927045, -0.004800601, -0.06323844) * go_3(1.0, 1.0); + result += vec4(0.0095873345, 0.04959374, -0.15246227, 0.0044831373); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!SAVE conv2d_5_tf1 +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.021453971, -0.108874515, 0.0005208881, -0.09774453, -0.0053757126, 0.20114918, 0.24454592, 0.04932251, -0.0037210248, -0.0240578, -0.07736935, 0.27604944, -0.12430849, -0.13093218, -0.014840212, 0.13450128) * go_0(-1.0, -1.0); + result += mat4(-0.19143668, -0.23023333, -0.10232715, 0.24396868, 0.056112397, 0.14535592, -0.25882182, -0.26274678, -0.23119931, 0.07735849, -0.14785223, -0.21026523, -0.2064457, -0.34512606, -0.17808662, 0.30146623) * go_0(-1.0, 0.0); + result += mat4(0.0072161015, -0.013303738, 0.07591899, 0.027883789, 0.210858, 0.1422139, -0.027882019, 0.2618474, -0.048504543, 0.07377317, -0.05427271, -0.10014041, -0.12974857, -0.13140713, -0.02249253, 0.08203184) * go_0(-1.0, 1.0); + result += mat4(0.07855138, -0.13984342, 0.10037151, -0.056781758, 0.24686107, -0.0048190085, -0.2693424, 0.31722167, -0.28716075, -0.06422215, -0.06738793, -0.06723655, -0.08194382, -0.007975044, 0.20108353, -0.13338897) * go_0(0.0, -1.0); + result += mat4(0.35129568, 0.27930936, 0.024239251, -0.10712293, 0.48684034, -0.04380574, -0.0064479653, 0.03754327, -0.13139078, -0.44939983, -1.0460628, -0.016004754, -0.14476573, -0.07113434, 0.515311, -0.400374) * go_0(0.0, 0.0); + result += mat4(0.13104302, -0.23410062, 0.091530964, -0.003652217, 0.16696814, 0.16406855, -0.08138474, 0.047526445, 0.25358474, 0.37850454, 0.0362802, -0.046476766, -0.093869686, -0.4143772, 0.08641024, 0.115896136) * go_0(0.0, 1.0); + result += mat4(-0.04416574, -0.052188106, 0.05141859, -0.008132604, -0.013658864, 0.1021097, 0.19391364, -0.09257973, 0.15225394, -0.16920799, -0.16172324, 0.41466942, -0.07087308, 0.08632938, -0.07496043, -0.023530172) * go_0(1.0, -1.0); + result += mat4(0.09337352, 0.062108494, -0.219173, -0.046151914, 0.22507025, -0.08966131, -0.123690315, 0.08666376, -0.10731867, -0.08518657, 0.024199447, 0.17898631, 0.120247275, 0.089923285, -0.08756211, 0.1775775) * go_0(1.0, 0.0); + result += mat4(0.20326594, -0.060535498, -0.061659336, 0.113954924, -0.073462196, 0.15917051, 0.11728326, -0.072256014, -0.0752342, 0.06265616, -0.19494365, -0.25413772, -0.06641352, -0.015642308, 0.16825356, 0.0027654327) * go_0(1.0, 1.0); + result += mat4(-0.17029639, -0.05388927, -0.13159063, 0.0795609, 0.00501164, -0.0703107, -0.08229201, 0.07546247, 0.092942156, 0.059050936, -0.07987315, 0.010874322, 0.037708692, -0.0017377702, -0.030414931, 0.28946167) * go_1(-1.0, -1.0); + result += mat4(-0.2692667, 0.2258295, 0.062060453, 0.1934921, -0.023051793, -0.038611185, 0.21473692, 0.33520013, 0.029885106, 0.103782356, 0.05217351, -0.13349791, -0.034186684, -0.3015818, 0.033423528, 0.21218027) * go_1(-1.0, 0.0); + result += mat4(-0.013587494, 0.021273775, -0.022650799, -0.011939531, -0.11202949, 0.09365859, -0.042938907, -0.009910716, 0.27254924, 0.07752608, 0.029586637, 0.024899973, 0.04375618, 0.31453863, -0.006775175, 0.008228053) * go_1(-1.0, 1.0); + result += mat4(-0.49562672, -0.12472124, -0.13618441, 0.09660054, -0.2275429, -0.0902811, 0.18311924, 0.11677185, -0.13325182, -0.061613016, -0.011462703, -0.12538978, 0.054934092, 0.06742866, 0.25515345, 0.35692096) * go_1(0.0, -1.0); + result += mat4(0.5266911, -0.09655596, -0.41069564, -0.3174325, 0.1431904, -0.17732115, -0.36320353, 0.37975433, -0.5158582, -0.21019879, 0.06852925, -0.06648648, -0.18956456, -0.018139647, 0.35707653, 0.07378416) * go_1(0.0, 0.0); + result += mat4(0.04151976, -0.037361674, 0.06936584, -0.10462262, -0.22264048, -0.043842267, -0.12742832, -0.21778631, 0.0715335, -0.17921853, -0.3856251, -0.16335362, 0.21045755, -0.5026229, 0.14405337, 0.23096423) * go_1(0.0, 1.0); + result += mat4(-0.32437655, 0.07860345, -0.0021187086, 0.123870686, -0.16616751, 0.11004699, 0.04754715, -0.0075211064, -0.08026408, 0.04284957, -0.018143758, 0.032623176, 0.06614686, -0.035856936, 0.13667971, -0.15696613) * go_1(1.0, -1.0); + result += mat4(0.11260625, 0.03274457, -0.033769324, -0.11558525, -0.35377702, 0.0019119612, 0.24906515, -0.06853208, 0.0009843144, -0.0050376705, 0.063123666, 0.009872904, 0.19592324, 0.0028321196, -0.114693984, 0.16404222) * go_1(1.0, 0.0); + result += mat4(-0.03699667, 0.011842293, -0.12273219, 0.04081692, 0.008484447, -0.052331816, 0.07151068, 0.018538639, 0.077749036, 0.07189092, 0.22443593, -0.2436085, 0.023654116, -0.05127411, 0.27350748, 0.12180999) * go_1(1.0, 1.0); + result += mat4(0.16090482, 0.059198547, 0.04856637, -0.19173436, 0.12747662, -0.079715036, -0.20203276, -0.13818277, -0.123076215, -0.07168488, 0.0644838, 0.03524764, 0.0005124138, -0.06789178, 0.048645556, -0.098922126) * go_2(-1.0, -1.0); + result += mat4(0.29220074, 0.25197285, 0.09825887, 0.030363245, -0.033246458, -0.08370418, -0.12231589, -0.023000835, 0.082732, -0.16907515, -0.052518822, 0.07991363, 0.06222654, -0.06747275, -0.18931144, -0.42009747) * go_2(-1.0, 0.0); + result += mat4(0.02667354, 0.03842717, -0.012755562, 0.061840586, 0.01060547, -0.29081437, 0.010907111, 0.07930905, 0.12273201, 0.017574295, 0.051024225, 0.019036688, 0.07671181, 0.049130872, -0.09734168, -0.070569195) * go_2(-1.0, 1.0); + result += mat4(0.08517651, 0.0767222, -0.15657257, 0.18501835, -0.13749431, -0.2833894, 0.109219365, 0.033763003, 0.18988928, 0.13461404, -0.036578514, -0.13256857, -0.097819485, -0.17316358, -0.06512401, 0.1937444) * go_2(0.0, -1.0); + result += mat4(-0.32173568, -0.072075866, 0.13004705, -0.15507852, -0.23741087, -0.29364398, 0.10723945, -0.11976219, 0.20620506, 0.17970093, 0.24463713, -0.12555319, -0.021192182, -0.1374317, 0.5359718, 0.59974134) * go_2(0.0, 0.0); + result += mat4(-0.01101575, 0.040466793, -0.009630791, 0.13422947, -0.13290837, -0.24789505, -0.061713737, -0.07838521, 0.05379315, -0.14643523, -0.09155805, -0.049997047, 0.06696885, 0.20043123, -0.07542329, -0.08041673) * go_2(0.0, 1.0); + result += mat4(0.022160506, 0.01611432, -0.10189221, -0.022767285, -0.06682965, 0.047138248, 0.06860934, -0.012574086, 0.04010214, -0.041280016, -0.034621384, -0.018262599, 0.09731754, -0.059062295, 0.14786182, -0.15185094) * go_2(1.0, -1.0); + result += mat4(-0.052484483, 0.06899427, 0.18380043, -0.058414727, 0.07685985, -0.07206598, -0.101362616, -0.012002652, 0.008517392, 0.079471916, -0.30394664, 0.028600946, -0.03270232, -0.23564856, 0.045065008, -0.0034684737) * go_2(1.0, 0.0); + result += mat4(-0.049757, 0.07614825, 0.16394803, 0.027053174, 0.0451278, -0.09351286, -0.0042182617, 0.12332257, -0.025281021, -0.03843008, 0.12857373, -0.07611989, -0.0062898803, 0.022618141, -0.13122174, -0.03328411) * go_2(1.0, 1.0); + result += mat4(0.12251631, 0.047008447, 0.027589995, -0.12207328, -0.1510795, 0.06724553, 0.17066906, 0.16992114, -0.0026905634, -0.035480864, 0.033738773, 0.018674552, 0.028614907, -0.019945908, -0.0156899, -0.09562145) * go_3(-1.0, -1.0); + result += mat4(0.116588935, 0.14205505, 0.099545434, -0.045527786, -0.049273346, 0.20760757, 0.053965498, -0.12198069, -0.14654607, 0.041820496, 0.038068503, 0.24565905, 0.09786504, 0.18309233, 0.23802327, -0.085740186) * go_3(-1.0, 0.0); + result += mat4(-0.1262052, -0.011846116, -0.058820397, -0.019373653, -0.09569547, -0.08265971, -0.05178388, -0.020502446, -0.17525336, -0.22874829, 0.0075891856, -0.189923, 0.09809122, 0.109637566, -0.0005973885, -0.06477921) * go_3(-1.0, 1.0); + result += mat4(0.28209856, 0.11276813, 0.054377034, -0.00891202, -0.095922634, 0.071109876, -0.039932176, -0.047409832, -0.06504704, 0.11923986, 0.0013364811, -0.122095086, -0.20282102, -0.022717483, -0.115474045, 0.020858249) * go_3(0.0, -1.0); + result += mat4(-0.16130303, 0.072821185, -0.021358958, -0.11687897, -0.15543966, 0.05783285, 0.10317231, -0.12240756, 0.053357504, -0.090291016, -0.21943556, 0.46947235, 0.19072579, 0.017349033, -0.55443907, -0.10510661) * go_3(0.0, 0.0); + result += mat4(-0.4155687, 0.019206723, -0.20055711, 0.028732464, -0.1981807, 0.20637372, 0.03305817, -0.17949893, -0.21051097, 0.21483344, 0.0061496794, -0.48980987, -0.26750582, 0.09230394, -0.117223755, -0.07636286) * go_3(0.0, 1.0); + result += mat4(0.20611528, -0.00095511036, -0.21555157, -0.07065484, 0.06880411, 0.068082534, -0.10104979, 0.16050354, -0.07437897, -0.13145325, -0.017651044, 0.055096775, -0.05443345, -0.018634815, -0.011232755, -0.10835) * go_3(1.0, -1.0); + result += mat4(-0.2637829, 0.07681072, 0.015995527, 0.004554211, 0.07495561, 0.18873464, -0.14303622, 0.25786543, -0.14117226, -0.008715274, -0.17176823, -0.0006595096, -0.06566383, -0.19184378, -0.18945406, 0.20968987) * go_3(1.0, 0.0); + result += mat4(-0.03293623, 0.003399063, 0.08051177, -0.0072856937, -0.07375858, 0.075319655, -0.10791501, -0.002204552, -0.093564905, -0.122712255, -0.10658267, -0.015067637, -0.033247817, 0.09952069, -0.13724248, 0.068189256) * go_3(1.0, 1.0); + result += vec4(-0.001935585, 0.05018077, -0.0154469935, -0.034524206); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!SAVE conv2d_6_tf +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.0053346683, 0.010174534, -0.050979972, -0.06134544, -0.007238652, -0.012790015, 0.036398683, -0.09181499, 0.11328388, -0.14236617, -0.17519625, -0.34661606, 0.008069393, -0.028871074, -0.02980949, -0.0853359) * go_0(-1.0, -1.0); + result += mat4(-0.05187267, -0.09381704, 0.035209883, 0.29482442, -0.0018002815, -0.029504262, 0.2609028, -0.09480671, -0.0737553, -0.070559524, 0.081991084, 0.1513024, 0.048344653, -0.09336617, 0.0034569732, 0.10530542) * go_0(-1.0, 0.0); + result += mat4(-0.06749591, 0.0065624053, 0.013237342, 0.14225115, 0.27183163, -0.15656447, 0.031672053, 0.009592649, -0.0202286, 0.26220062, 0.19387855, -0.18505628, 0.040554795, 0.07295961, -0.13291295, -0.12600344) * go_0(-1.0, 1.0); + result += mat4(0.039192002, 0.0846215, -0.06593224, 0.28147796, 0.06301313, 0.26323164, -0.16742979, 0.22004774, -0.17470881, 0.060716614, 0.15430811, 0.18970133, 0.08858931, -0.027321626, -0.037833836, 0.07344837) * go_0(0.0, -1.0); + result += mat4(0.0633813, 0.35046157, -0.101075254, 0.015974075, 0.19010352, -0.7135035, -0.24324696, -0.42072615, 0.06825536, -0.052808974, 0.28965715, -0.0015640302, -0.27062586, 0.4279925, 0.035623744, 0.46321228) * go_0(0.0, 0.0); + result += mat4(0.02639867, 0.26469797, -0.09086266, 0.07440796, -0.192054, 0.1010368, -0.04398074, 0.056824226, -0.27057743, -0.20455118, 0.19338831, -0.21843775, 0.20736177, -0.26259273, -0.07667085, -0.19504389) * go_0(0.0, 1.0); + result += mat4(-0.007056104, 0.04284205, 0.01933733, 0.07267832, 0.0012616975, -0.30140647, -0.019223223, -0.046687007, -0.037844718, -0.014929125, 0.022630794, 0.046716493, 0.057279173, -0.08055539, -0.027891241, 0.019557232) * go_0(1.0, -1.0); + result += mat4(0.035518404, -0.10087327, 0.0011048123, -0.123707846, 0.37190285, 0.43751532, -0.022599256, -0.041709043, 0.11357196, -0.029839104, -0.056960747, -0.17228557, 0.08558022, 0.046361133, 0.021548864, 0.24297418) * go_0(1.0, 0.0); + result += mat4(-0.043598346, -0.09812348, 0.056599542, -0.09833163, -0.07193007, 0.015760094, -0.053177495, -0.015448543, 0.035163186, -0.03889347, 0.121799015, 0.15738566, -0.115644835, 0.043310717, 0.060173217, -0.059635755) * go_0(1.0, 1.0); + result += mat4(-0.111604795, 0.1678389, 0.049967546, 0.045353863, -0.013896185, 0.035128903, 0.040686198, -0.16442506, 0.1149577, -0.14343217, -0.08858, 0.02656137, 0.059526477, -0.13914491, 0.12757027, 0.034920372) * go_1(-1.0, -1.0); + result += mat4(0.15849945, 0.12067003, -0.1579611, 0.30790725, -0.041249942, 0.03948043, -0.12535375, -0.02566875, 0.3150059, 0.027081972, -0.026308673, -0.25326517, 0.016824603, -0.13551097, 0.1412756, 0.037750524) * go_1(-1.0, 0.0); + result += mat4(0.1562541, -0.041948073, -0.14951487, 0.119380556, -0.21773878, -0.019281754, 0.08185942, 0.09982689, 0.017187534, -0.18181366, -0.09270861, 0.08527679, 0.051988564, 0.08686172, -0.12665209, -0.07205808) * go_1(-1.0, 1.0); + result += mat4(0.08860466, -0.17931758, 0.10191625, -0.47623265, 0.1562338, -0.2960855, 0.013664795, 0.29452285, 0.1463958, 0.17562817, -0.41623253, -0.196999, -0.049113005, 0.0556021, 0.054452494, 0.14073615) * go_1(0.0, -1.0); + result += mat4(-0.5345973, -0.069205046, 0.37001884, 0.6955835, 0.22635284, -0.09021557, -0.04693607, -0.4458824, 0.25049326, -0.06503396, 0.07584689, 0.5394811, 0.33387923, -0.010540017, 0.038980547, -0.13371105) * go_1(0.0, 0.0); + result += mat4(-0.04414677, -0.22056313, 0.05580458, 0.11914465, 0.19864987, -0.1025625, -0.010050287, 0.15919746, -0.40589634, 0.4966349, -0.47632688, -0.022637444, 0.17247641, -0.51093113, 0.21157944, -0.2890017) * go_1(0.0, 1.0); + result += mat4(-0.034673482, -0.0075900992, -0.061077584, -0.03859898, 0.32444152, -0.14619137, -0.1375446, -0.030322462, 0.029679669, 0.079344586, -0.03862258, -0.05766807, 0.104488336, 0.006179548, -0.1168102, 0.069729604) * go_1(1.0, -1.0); + result += mat4(0.08504003, 0.042162962, -0.17509954, -0.06258286, -0.45796555, -0.061748773, 0.25438437, -0.02988987, -0.06897794, 0.105180845, -0.08879189, -0.120605074, -0.1478659, -0.13201937, -0.01755498, 0.020606143) * go_1(1.0, 0.0); + result += mat4(0.08932581, 0.1453785, -0.12802933, 0.049442187, 0.045360584, 0.16079827, -0.14142223, 0.10168491, 0.20244479, -0.17981426, 0.19759466, 0.05217847, 0.04889828, 0.06941533, -0.111836776, -0.08046399) * go_1(1.0, 1.0); + result += mat4(-0.011953735, 0.11362504, -0.122588776, -0.10408559, 0.051712614, -0.05161036, -0.068698496, -0.015663281, -0.06346889, 0.06561636, 0.03783044, 0.02756004, -0.036310352, -0.16962235, -0.062494226, 0.0069608325) * go_2(-1.0, -1.0); + result += mat4(-0.16857432, -0.17322211, 0.15971284, 0.19980437, -0.007965961, -0.015480705, 0.036090557, 0.07414387, -0.2941106, -0.24430539, 0.01070864, 0.22401866, -0.34321144, 0.09537491, -0.08020218, 0.45404655) * go_2(-1.0, 0.0); + result += mat4(-0.021609096, -0.11348408, -0.01450652, -0.063170746, 0.06990935, -0.035983834, -0.038010992, -0.10578655, 0.29232737, 0.048835874, 0.054028947, -0.12924139, -0.03058583, 0.028469706, 0.09563202, 0.085674495) * go_2(-1.0, 1.0); + result += mat4(-0.01894022, 0.037628658, -0.102314636, -0.28041583, 0.07495663, -0.058895253, 0.16422969, -0.07163792, 0.039416216, -0.13800906, -0.039811566, -0.10612402, -0.047593113, -0.28491783, 0.41632858, 0.15253194) * go_2(0.0, -1.0); + result += mat4(0.26240867, -0.05335849, -0.014135048, 0.055749495, -0.020126658, 0.2952794, -0.015241771, 0.36143306, 0.43075684, 0.1921996, -0.4329065, 0.5114495, 0.7326109, -0.054901246, -0.076693356, -0.26104695) * go_2(0.0, 0.0); + result += mat4(0.14548428, 0.14578429, 0.17193514, -0.07973242, 0.011952286, -0.047767498, 0.025101405, 0.0016503566, -0.26948047, -0.16503395, -0.061791085, 0.030557185, 0.15400517, -0.054951698, -0.14611247, 0.3550633) * go_2(0.0, 1.0); + result += mat4(-0.05926111, -0.083442695, 0.046579204, -0.017723244, 0.12846185, 0.018434443, -0.17914511, -0.077696435, 0.060048338, 0.02956987, -0.11914462, 0.057770032, -0.054673657, -0.005353606, -0.39014184, 0.08306877) * go_2(1.0, -1.0); + result += mat4(0.07357362, 0.23051825, -0.22640751, 0.080715515, -0.14467078, 0.009734264, 0.054320686, 0.24534328, -0.16038458, 0.06575425, 0.058553413, 0.17755087, 0.08184439, 0.17078212, 0.148369, -0.09309279) * go_2(1.0, 0.0); + result += mat4(-0.11160211, -0.07590204, -0.01676188, -0.062253337, 0.016433533, 0.0146132, -0.040350936, 0.06749202, -0.031521842, 0.1441664, -0.09916073, 0.050578352, -0.06560962, -0.31174552, 0.056873083, -0.077912) * go_2(1.0, 1.0); + result += mat4(0.09344025, 0.075936995, -0.1627903, -0.04781558, -0.01878236, 0.045879602, -0.11507387, -0.025356822, -0.09113391, 0.07263937, 0.08232447, 0.08727616, -0.024921807, 0.051639438, 0.006532631, -0.018751068) * go_3(-1.0, -1.0); + result += mat4(0.022455849, -0.12924309, 0.26318657, -0.32464805, -0.09627585, 0.04496843, -0.09630052, -0.025761643, -0.090804085, 0.24410398, -0.03162944, -0.1961483, 0.14065808, -0.064709485, -0.0040163463, 0.05445074) * go_3(-1.0, 0.0); + result += mat4(-0.020935195, -0.1028065, 0.0012804621, 0.02302866, -0.00924972, -0.0041193594, 0.0060590385, -0.003394384, -0.23241943, -0.023235107, 0.08077456, 0.15720141, 0.06568382, -0.09971436, 0.09056065, 0.04271102) * go_3(-1.0, 1.0); + result += mat4(-0.20997737, -0.12892777, 0.4658528, 0.13622813, -0.2867294, -0.09359254, 0.18821026, 0.25550604, -0.18562363, 0.080713026, 0.13463654, 0.045504905, -0.013133853, -0.1316404, 0.08379897, -0.00047142128) * go_3(0.0, -1.0); + result += mat4(0.3276134, 0.21952826, -0.80777377, -0.69810224, 0.34190908, -0.09293263, 0.33313555, -0.27255502, -0.24287084, -0.07741488, 0.06090265, -0.10161252, -0.37684909, 0.4678029, 0.13506591, 0.42470258) * go_3(0.0, 0.0); + result += mat4(0.080790855, -0.09707547, -0.05506975, 0.027011644, -0.1434346, 0.01363872, 0.12616752, 0.16789167, 0.1656414, -0.11586835, 0.059612263, -0.074029386, -0.19813071, 0.46032718, -0.03935981, 0.0067143585) * go_3(0.0, 1.0); + result += mat4(0.10322512, 0.0822636, -0.16766444, 0.041008063, -0.027768405, 0.23103505, 0.06737122, 0.15258405, 0.04557388, -0.18179403, 0.12489025, -0.09759324, -0.05925805, 0.04869987, 0.07329833, -0.09738542) * go_3(1.0, -1.0); + result += mat4(-0.10823879, -0.403376, 0.3264802, -0.16503738, -0.057512645, -0.20902547, -0.14862378, -0.3192005, -0.046263676, 0.12744917, -0.019174274, -0.02318789, -0.085088454, -0.05723332, 0.0039772973, 0.07991316) * go_3(1.0, 0.0); + result += mat4(0.10313916, 0.04410904, 0.03286652, 0.059946325, 0.019948404, 0.070217304, -0.017572487, 0.20332281, 0.06776308, 0.029285522, -0.14116238, -0.05864782, -0.18382367, -0.06568212, 0.11855615, 0.101256005) * go_3(1.0, 1.0); + result += vec4(-0.036374483, 0.029420665, 0.04437756, -0.04474691); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!SAVE conv2d_6_tf1 +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.059325468, 0.10884231, 0.018158086, 0.031802185, 0.10368743, -0.06776637, 0.048326045, -0.06312353, -0.0025675546, 0.09309577, -0.025533969, 0.029684044, 0.017237723, 0.062099144, 0.047039766, 0.050348036) * go_0(-1.0, -1.0); + result += mat4(-0.04767078, -0.06409279, 0.112965874, 0.04621161, -0.28172916, -0.13897015, -0.022806352, 0.26966885, 0.02019569, -0.10707113, -0.43058416, -0.14103983, -0.13225646, -0.020053176, -0.17319782, -0.009653082) * go_0(-1.0, 0.0); + result += mat4(0.0031349238, -0.060933832, 0.107986666, -0.019791966, -0.23946726, -0.18045186, 0.18286318, -0.05431065, 0.11742379, -0.019123906, 0.33327517, 0.07455424, -0.035427105, 0.18659347, -0.050884776, 0.019193258) * go_0(-1.0, 1.0); + result += mat4(-0.22954239, 0.011265787, -0.026520751, -0.12629737, -0.07009803, 0.44925988, -0.15938939, 0.11956771, 0.11535644, -0.1302371, 0.1235775, 0.16483483, 0.022965495, 0.110546246, 0.00064579415, -0.12753843) * go_0(0.0, -1.0); + result += mat4(0.047553673, 0.16213869, 0.7510964, 0.21228868, 0.40994287, 0.61919236, 0.3982374, -0.016163021, 0.3291035, 0.1134356, 0.12384387, -0.31114763, 0.21338554, -0.04721641, 0.122114286, 0.2717476) * go_0(0.0, 0.0); + result += mat4(-0.06529201, -0.08936482, 0.031857736, -0.02372691, 0.0416097, 0.28484538, -0.38181338, -0.05129518, 0.40150553, -0.01970737, 0.1043854, 0.11986372, -0.2267319, 0.0014845231, -0.035269983, 0.11712099) * go_0(0.0, 1.0); + result += mat4(0.079867415, -0.09982735, 0.10313241, 0.055490237, -0.42685422, -0.3431141, -0.06037366, 0.17539841, -0.010511819, -0.09743252, 0.050748866, 0.11064108, -0.09785722, -0.10230299, -0.04106169, -0.016831731) * go_0(1.0, -1.0); + result += mat4(-0.06847075, -0.026447225, -0.123430386, 0.063637204, -0.37617612, -0.09615662, -0.26226708, -0.008175561, -0.08101131, 0.11093525, -0.13149206, -0.06363292, -0.0482858, -0.2771799, 0.10528571, 0.119109035) * go_0(1.0, 0.0); + result += mat4(0.09151277, 0.029019276, 0.041349206, -0.011239478, 0.035083957, 0.05281079, -0.0742173, -0.018509442, -0.17175299, -0.4226507, -0.118186444, -0.0771296, 0.107038856, 0.0819975, 0.12445646, 0.07091557) * go_0(1.0, 1.0); + result += mat4(0.1275357, -0.097659886, -0.0114354445, 0.023900568, -0.02511702, 0.005830569, -0.010882143, -0.04046068, -0.08638482, 0.08664022, -0.15654318, 0.03333846, -0.12521335, -0.11987078, 0.028556254, -0.020760164) * go_1(-1.0, -1.0); + result += mat4(-0.38474286, -0.15288061, 0.04925842, 0.050009686, 0.23555282, 0.054784663, -0.0971203, 0.017791113, -0.35539824, -0.08806168, 0.08992579, 0.22714761, -0.047685623, -0.17510797, 0.1137738, -0.069451034) * go_1(-1.0, 0.0); + result += mat4(-0.16623408, -0.08202571, -0.03291826, 0.0016267949, 0.20682698, 0.08788948, 0.10241089, 0.019209227, -0.14802241, 0.091788374, -0.238735, -0.06633396, 0.02360112, 0.1521805, -0.022510838, -0.08931379) * go_1(-1.0, 1.0); + result += mat4(0.034280665, -0.12431295, 0.092791, 0.15279225, -0.43373865, 0.20077267, -0.15919733, -0.27969292, -0.26948065, 0.19652127, -0.27456176, 0.04137772, 0.006545539, 0.0031402514, 0.03849979, -0.10978278) * go_1(0.0, -1.0); + result += mat4(0.62025917, -0.32462567, 0.2817292, -0.18380783, -0.3338593, -0.49056754, 0.32645953, 0.4146035, 0.3773462, 0.54346967, -0.032203436, -0.14506778, -0.30044907, 0.40134314, 0.24155408, 0.24397472) * go_1(0.0, 0.0); + result += mat4(0.089335114, -0.05529855, -0.18364899, -0.153323, -0.18347202, -0.060125064, -0.29216367, -0.2717291, 0.10592963, 0.38889876, 0.25363386, 0.33723134, -0.103703365, 0.14922962, -0.21206948, -0.20289616) * go_1(0.0, 1.0); + result += mat4(-0.035760924, 0.18820894, -0.12723185, -0.018780319, 0.124459654, 0.28909087, -0.2763883, -0.45110545, 0.098143585, 0.16052029, -0.055098705, -0.14840914, -0.0019514654, 0.07090622, -0.055036955, -0.0035953245) * go_1(1.0, -1.0); + result += mat4(-0.124669634, 0.23131305, -0.05750295, -0.056296032, 0.35691026, 0.2640789, 0.49912274, 0.26795143, -0.26460487, -0.026896512, -0.07179325, 0.17373477, -0.13186656, 0.0021319336, -0.016407885, 0.3014283) * go_1(1.0, 0.0); + result += mat4(-0.09491939, 0.11503968, -0.14077829, -0.043197304, -0.061866064, -0.1574549, 0.0054375776, 0.066160634, -0.17686372, -0.26767558, -0.038844116, 0.122724466, -0.05043839, 0.063884266, 0.0064002997, -0.13583377) * go_1(1.0, 1.0); + result += mat4(0.031301867, -0.02947819, -0.0016769855, 0.12952408, -0.025022922, 0.065425046, -0.072289295, -0.071249105, 0.14579567, -0.09058119, 0.12663712, 0.1515388, 0.44767743, 0.02971349, 0.015892735, -0.08058422) * go_2(-1.0, -1.0); + result += mat4(-0.2868111, -0.10812653, -0.29182926, -0.38444322, -0.0875354, -0.07220258, 0.05978065, 0.093328245, 0.058548283, -0.013913258, -0.20954674, -0.16400063, 0.3185215, 0.068897314, 0.15869021, 0.022877626) * go_2(-1.0, 0.0); + result += mat4(0.116845705, -0.12729645, 0.056697316, -0.21263942, -0.07000074, 0.073977455, -0.09006404, -0.029770354, -0.20823102, -0.20088868, 0.15658094, 0.24306639, -0.0453592, -0.16011035, 0.08521533, -0.032264974) * go_2(-1.0, 1.0); + result += mat4(0.1114789, -0.1083731, 0.10465276, -0.08903837, -0.06455987, 0.040030345, -0.07937248, -0.20654759, -0.26873547, -0.19390975, -0.039021965, -0.025602374, -0.5575801, -0.08876011, -0.19116728, -0.2401055) * go_2(0.0, -1.0); + result += mat4(0.37626424, -0.0912155, -0.6153361, -0.71465075, 0.018208932, -0.14997734, 0.23627761, 0.20832567, 0.07427123, -0.37869486, -0.26574427, 0.187582, -0.37201726, 0.17809474, -0.02568795, 0.23900814) * go_2(0.0, 0.0); + result += mat4(-0.085337594, -0.50634587, 0.30636734, -0.2760558, 0.01893911, -0.08425695, -0.023656169, 0.021421626, 0.16813251, -0.039550815, 0.21165498, -0.027628547, -0.123874225, 0.013802332, -0.2732087, -0.09419671) * go_2(0.0, 1.0); + result += mat4(-0.07190724, -0.019237598, 0.020249542, 0.07541295, -0.03817686, 0.09266451, -0.12214172, -0.01344174, 0.03281797, 0.057655178, -0.059896503, 0.014948791, -0.13952477, 0.18810949, -0.19016883, 0.06842416) * go_2(1.0, -1.0); + result += mat4(-0.13111524, 0.14539744, -0.10212538, -0.2169032, 0.13810973, -0.12576458, 0.124372825, 0.04992259, 0.21758182, -0.22160134, 0.24321079, 0.017698256, 0.39995426, 0.074034885, 0.120019354, -0.15522505) * go_2(1.0, 0.0); + result += mat4(0.023914235, 0.1424257, 0.010302871, 0.15150794, -0.040021677, 0.015862139, 0.14459212, 0.08632827, 0.04257336, 0.055059638, 0.0030461506, 0.011985334, -0.049230937, 0.07851301, -0.05119983, -0.111701734) * go_2(1.0, 1.0); + result += mat4(0.04485158, 0.116597414, 0.00014909732, -0.012128512, 0.15801767, 0.18273115, -0.033926453, 0.05170487, -0.040683754, -0.18606974, 0.08324687, 0.069539666, 0.07098698, -0.014132968, 0.029499048, -0.07263477) * go_3(-1.0, -1.0); + result += mat4(0.04309544, 0.089722805, -0.018306322, 0.29061043, 0.15191254, 0.15917647, 0.0073858183, 0.039199475, 0.42514518, -0.053955313, 0.10820046, -0.09134685, -0.3087313, -0.16339037, -0.05226669, 0.044995327) * go_3(-1.0, 0.0); + result += mat4(0.008636428, 0.029086163, -0.09151674, -0.36466715, -0.0128008155, 0.018820466, -0.02700147, -0.0064047636, 0.28287655, 0.02709404, -0.05233492, -0.08967187, -0.042183813, -0.13990502, -0.005085154, -0.028511493) * go_3(-1.0, 1.0); + result += mat4(0.00022532263, -0.09108507, 0.0089569865, 0.052016005, -0.19314727, -0.355347, 0.08082937, 0.2134498, 0.21036889, -0.10165983, 0.20334485, 0.14575538, 0.017676214, -0.13149881, -0.018741794, -0.019599862) * go_3(0.0, -1.0); + result += mat4(-0.20513605, 0.47578803, -0.18631598, 0.2535432, -0.049522053, -0.37224755, 0.11227206, -0.37000927, 0.19969453, -0.47287735, -0.07506754, -0.0957071, 0.82927394, -0.54057014, 0.5800732, 0.08937558) * go_3(0.0, 0.0); + result += mat4(-0.022189412, 0.14622113, -0.4772564, -0.31178755, 0.10667427, -0.07335338, 0.06144331, 0.00056827103, -0.08263861, -0.009126272, -0.22802618, -0.20760304, 0.12688845, -0.061324466, 0.33361357, 0.38350767) * go_3(0.0, 1.0); + result += mat4(0.021188622, 0.1151918, -0.10654739, -0.03341855, 0.24870358, -0.06689332, 0.11881217, -0.0045951125, -0.039464932, -0.030190004, 0.014174111, -0.025356272, 0.07469406, -0.0059695644, 0.008267219, -0.0991054) * go_3(1.0, -1.0); + result += mat4(-0.009981438, -0.36484948, 0.04801225, 0.22368562, -0.055985868, 0.229039, -0.10823553, 0.1477355, -0.0091677625, 0.06279847, 0.034393013, 0.031901076, 0.28783056, 0.086422645, 0.20860936, 0.054018307) * go_3(1.0, 0.0); + result += mat4(-0.08720452, -0.07756267, 0.018853918, -0.014108689, -0.019337144, 0.021249043, -0.05633926, -0.109904505, -0.088990815, 0.16876367, -0.13149975, -0.054357648, 0.08588134, -0.10262266, 0.12052009, 0.05154292) * go_3(1.0, 1.0); + result += vec4(-0.010602045, 0.053976092, 0.008913503, 0.0011945717); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x1x1x112 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!SAVE conv2d_last_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_5 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) +#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_9 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_10 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_12 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_13 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_14 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_18 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_20 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_21 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_22 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_26 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.105475314, -0.07022547, -0.16326137, -0.12503424, -0.004623021, -0.0143323885, 0.042996034, 0.03422294, -0.38310882, -0.4431925, -0.28772846, -0.3213578, -0.018014904, 0.02429277, -0.07177951, -0.04458822) * g_0; + result += mat4(-0.0973233, -0.032439478, -0.08420249, -0.054693196, 0.012960555, 0.06929602, 0.004247494, 0.061315402, -0.09607745, -0.16862066, 0.01537482, -0.038459156, 0.019662246, 0.059920583, -0.1071646, -0.06478967) * g_1; + result += mat4(0.15711947, 0.0754732, 0.17891979, 0.098270796, 0.14122486, 0.14893766, 0.12408279, 0.14845194, 0.16199848, 0.14090912, 0.13496809, 0.1119815, 0.03974558, -0.057513904, 0.09213575, -0.0012252429) * g_2; + result += mat4(-0.011343602, -0.02488338, 0.07799659, 0.06503721, 0.06380687, 0.048929837, -0.05555838, -0.050519127, 0.14673206, 0.18085165, 0.07261422, 0.09738158, 0.07395791, 0.005573146, -0.05454926, -0.13565786) * g_3; + result += mat4(-0.08591514, -0.05664865, 0.23980616, 0.24876402, 0.19052829, 0.011938714, 0.21487322, 0.058656186, 0.036630988, 0.14918756, 0.013127693, 0.13092093, -0.37889576, -0.4068804, -0.27258882, -0.30605716) * g_4; + result += mat4(-0.25149816, -0.21979512, -0.24949454, -0.20483162, -0.10972783, -0.17315808, -0.08562763, -0.16086778, 0.044681527, 0.050807394, -0.019424994, -0.022418005, 0.10039492, -0.013666552, -0.22373566, -0.34493732) * g_5; + result += mat4(0.1419155, 0.081392206, -0.18103191, -0.2122926, -0.1445937, -0.015969204, -0.12368782, -0.0044421684, -0.09534078, -0.14815839, -0.1052107, -0.16341865, 0.3050403, 0.34488317, 0.16171226, 0.18700944) * g_6; + result += mat4(0.12444696, 0.08712589, 0.06266247, 0.031022022, 0.17707655, 0.24904409, 0.20961654, 0.2610619, -0.099262595, -0.06900819, -0.034567446, -0.020191457, -0.1468561, -0.04683958, 0.14910224, 0.244686) * g_7; + result += mat4(-0.002428158, -0.012889509, 0.0006541127, -0.0058380975, 0.096147396, 0.07791617, 0.119144954, 0.11699654, -0.024602454, -0.07894611, -0.00021709128, -0.03979557, 0.0028512406, -0.015790012, 0.0082511455, 0.029357092) * g_8; + result += mat4(-0.01410329, -0.004162405, -0.09005045, -0.07753674, 0.004509965, -0.024188736, 0.13799691, 0.10589621, -0.023018798, 0.0064198375, -0.103344224, -0.07463909, -0.060048997, -0.071094714, -0.13042289, -0.14482167) * g_9; + result += mat4(-0.009015246, 0.01581748, -0.035448726, -0.012348933, -0.101627484, -0.05530413, -0.14063041, -0.121775225, 0.074719116, 0.033839386, 0.045573987, -0.006698053, 0.0015141299, 0.003634417, 0.017102007, 0.0074890694) * g_10; + result += mat4(0.0042357175, 0.018735386, 0.058959343, 0.057424515, -0.021633089, -0.037194982, -0.14109972, -0.1506368, 0.004357002, -0.006871023, 0.05337361, 0.039684236, 0.087463334, 0.07772685, 0.12278512, 0.1224218) * g_11; + result += mat4(0.018359886, 0.046934873, -0.008225237, 0.020650858, -0.03961538, -0.014779162, -0.04161338, -0.00953579, 0.0017313146, 0.0068857935, -0.0024282748, 0.0047545764, 0.02635904, 0.027336216, 0.02701322, 0.029939381) * g_12; + result += mat4(-0.00067966996, 0.024480496, -0.015218739, -0.010472019, -0.03994461, -0.052318517, -0.04450191, -0.043226667, -0.03166469, -0.03799331, 0.015428865, -0.018422252, 0.00040845043, 0.03558268, -0.0099401595, -0.00054432114) * g_13; + result += mat4(-0.0032104475, 0.019604867, -0.02486679, 0.002134673, 0.014368818, -0.0013395248, 0.017318068, 0.0021403218, -0.02198377, 0.010297547, -0.041619625, -0.02740482, -0.067249276, -0.03040953, -0.021304253, -0.009557115) * g_14; + result += mat4(-0.019099236, -0.037010793, 0.013720462, 0.023708181, 0.016356282, -0.00028589502, -0.010570909, -0.009186907, 0.03493662, 0.055599142, -0.017043956, 0.004204044, -0.013573257, -0.013537684, 0.008151195, 0.0074913655) * g_15; + result += mat4(0.009309031, -0.0014795153, 0.025114728, -0.0066442797, -0.012085473, -0.0030560147, 0.002144206, 0.0009732741, 0.022301642, -0.0091133695, 0.0011837826, -0.020275833, -0.021349607, -0.011693419, -0.018912962, -0.022418445) * g_16; + result += mat4(-0.0045772395, 0.031085191, 0.01215795, 0.023887333, 0.023408212, 0.0005998807, 0.011254428, -0.004634461, 0.016601006, 0.046663348, 0.031117432, 0.04910873, -0.113230005, -0.035702843, -0.058746565, -0.053893737) * g_17; + result += mat4(-0.020218112, 0.056803435, -0.0037077996, 0.05123925, -0.016713811, -0.05551032, -0.005916611, -0.037839632, -0.007671626, -0.009099201, -0.0010055836, 0.003332688, 0.020744357, 0.01957675, 0.057906736, 0.041446246) * g_18; + result += mat4(0.022438819, 0.04616756, 0.035925094, 0.0639705, 0.0009332198, 0.020964272, -0.010805394, 0.031757344, 0.051255573, 0.032838948, 0.00055445684, -0.03195623, 0.04753827, 0.016436901, 0.04788274, 0.022093765) * g_19; + result += mat4(0.03479086, 0.035946105, 0.04343359, 0.04015664, 0.06081792, 0.061758887, 0.10128842, 0.007471392, -0.027261607, -0.01290544, -0.029938918, -0.050834358, -0.015550162, 0.0072828676, -0.04580556, -0.029642029) * g_20; + result += mat4(0.011150116, 0.029789668, -0.00354488, 0.045047592, -0.018265083, -0.020843878, 0.015457328, 0.0053232997, 0.0791804, -0.028661052, 0.079342775, -0.039631505, 0.14613943, 0.08323415, 0.049641483, 0.047863442) * g_21; + result += mat4(-0.103034586, -0.107580125, 0.00044325445, 0.007830247, -0.017059505, 0.010152936, -0.02845979, -0.01841766, -0.10722863, -0.025262646, -0.07402096, -0.025055556, 0.0013303137, 0.12574737, -0.0161103, 0.06077798) * g_22; + result += mat4(-0.0420636, -0.062703885, -0.06476972, -0.10516001, 0.018120673, 0.024305122, -0.013997766, 0.015815413, -0.06317691, -0.03968166, -0.054052643, -0.016300509, -0.08255892, -0.01612941, -0.04194852, -0.012637189) * g_23; + result += mat4(0.042659573, -0.10762496, -0.077143244, 0.12583935, -0.022020226, -0.0042312425, -0.016734738, 0.027007964, -0.06609771, -0.056038737, -0.0058528963, 0.035508137, -0.019722374, -0.055094264, 0.010977759, -0.009833099) * g_24; + result += mat4(0.063830875, -0.019885639, 0.055574782, 0.039456647, 0.01576898, -0.1389799, 0.063411795, -0.11600623, -0.013968303, -0.03318867, -0.06806915, -0.09373464, -0.022723546, -0.03329239, 0.014282872, 0.027576538) * g_25; + result += mat4(-0.018100513, 0.06204485, 0.010761461, -0.045085587, 0.009286288, 0.02310671, 0.10633246, -0.090849996, 0.13112675, -0.01639808, 0.0022725316, -0.076779045, 0.11831251, 0.1460306, -0.10849466, -0.07749171) * g_26; + result += mat4(-0.15850247, 0.118011266, -0.10121594, -0.007109052, 0.071873754, 0.06954878, 0.0377852, 0.044174008, -0.062925555, -0.01758927, 0.1416964, 0.17206357, -0.035632525, -0.04652215, 0.061932907, 0.034339) * g_27; + result += vec4(-0.11952045, -0.10779418, -0.0626279, -0.042614873); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x1x1x112 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!SAVE conv2d_last_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_5 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) +#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_9 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_10 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_12 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_13 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_14 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_18 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_20 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_21 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_22 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_26 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.009000901, -0.018048609, 0.013095594, 0.002321373, 0.0004716619, 0.00504148, -0.016826658, -0.014922383, 0.15059204, 0.16593806, 0.115392484, 0.12520894, 0.05049829, 0.060210057, 0.086421266, 0.07242362) * g_0; + result += mat4(0.06268658, 0.030466434, 0.07876877, 0.04129863, 0.04142328, 0.009963961, 0.051785357, 0.012811113, 0.1295883, 0.139931, 0.07733839, 0.08014211, 0.07156476, 0.0342396, 0.051614303, 0.043559864) * g_1; + result += mat4(0.00041542648, 0.016051646, -0.011512418, 0.013076814, 0.03734479, 0.02791584, 0.012426691, 0.022044811, -0.034128398, -0.027107332, -0.021998279, -0.012139807, -0.033177473, -0.016310865, -0.078221664, -0.041203145) * g_2; + result += mat4(-0.008398536, -0.010332053, -0.050231732, -0.039691273, -0.042082537, -0.030281143, -0.014039778, -0.0020190612, -0.11956351, -0.13638765, -0.09794402, -0.10228069, -0.08344795, -0.07944541, -0.004189214, -0.028206991) * g_3; + result += mat4(0.0002908945, -0.00831185, -0.06870294, -0.083311856, -0.024992501, 0.0038247898, -0.049389005, -0.020098582, -0.0135326125, -0.040408995, -0.012083491, -0.042174604, 0.16112538, 0.13720983, 0.13937058, 0.10870099) * g_4; + result += mat4(0.078961425, 0.082619205, 0.06910667, 0.06579004, -0.0077012256, -0.00038692637, 0.00015553503, -0.012561662, 0.00053048285, -0.01461681, 0.02600344, 0.024862211, -0.06958201, -0.048246548, 0.058762506, 0.036662634) * g_5; + result += mat4(-0.023527982, -0.0028001352, 0.047800142, 0.09616409, 0.049143843, 0.030836122, 0.057244994, 0.025672587, 0.027565151, 0.039868724, 0.045296676, 0.04623187, -0.124759234, -0.14106254, -0.06337279, -0.076839216) * g_6; + result += mat4(-0.0911771, -0.064436875, -0.05308137, -0.022082496, -0.0040269364, 0.0014464161, -0.0029555515, 0.016098293, -0.026650434, -0.014081368, -0.06747348, -0.05481826, 0.097423114, 0.08620988, -0.01607732, -0.015440677) * g_7; + result += mat4(-0.014001735, -0.015001655, -0.013250577, -0.009930805, 0.04885879, 0.07092224, 0.025783395, 0.03792237, -0.04332465, -0.06244993, -0.046748653, -0.07132349, -0.0053951666, -0.016514057, 0.023807624, 0.044013456) * g_8; + result += mat4(-0.009097996, -0.016898679, -0.05043909, -0.063178614, -0.016210863, -0.02157998, -0.02654472, -0.042961173, 0.012103852, 0.019015301, 0.02492281, 0.03389976, 0.015276502, 0.009577683, 0.04132527, -0.00070621347) * g_9; + result += mat4(-0.0057500796, 0.00728164, -0.003422421, 0.0038979584, -0.03127353, -0.019125199, -0.012988815, -0.031890683, 0.09352588, 0.019210607, 0.09824038, 0.016637104, 0.010692808, 0.022393884, 0.008312123, 0.014120716) * g_10; + result += mat4(0.013895599, 0.023097904, 0.009370535, 0.014099512, 0.0124661345, -0.015076684, 0.03287286, 0.005912471, -0.03944815, -0.020340785, -0.06822037, -0.059383288, 0.03634978, 0.007832939, -0.007142306, -0.0061968984) * g_11; + result += mat4(0.033002097, 0.0516016, -0.021056438, 0.005715988, -0.02223013, -0.007962324, -0.024417123, -0.0014790733, 0.002167189, 0.00043749413, -0.007284963, -0.0027283782, 0.026238248, 0.01756047, 0.008969755, 0.014201024) * g_12; + result += mat4(0.011576685, 0.02087598, 0.0026766327, -0.0041780816, -0.05277701, -0.05412841, -0.05958835, -0.050426245, -0.00662945, -0.021645393, 0.03423904, -0.0064581474, -0.030403355, 0.018391011, -0.026089542, -0.0051510665) * g_13; + result += mat4(-0.046202097, -0.0066081425, -0.03698851, 0.0034165455, -0.011859245, -0.020945566, -0.0028196946, -0.010053285, -0.011400397, 0.030595876, -0.018915813, 0.006780077, -0.060040582, -0.009586898, -0.004477886, 0.011279908) * g_14; + result += mat4(-0.028692413, -0.032535568, 0.0017473884, 0.02207169, 0.0192618, 0.008956797, -0.0033381556, 0.006326402, 0.0169569, 0.041449737, -0.02611751, 0.0006410355, 0.006233776, 0.0008467914, 0.011884985, 0.009222136) * g_15; + result += mat4(0.017076496, -0.0045380928, 0.03444613, -0.009804047, -0.004829834, -0.004889702, 0.0057807956, 0.0015014127, 0.03458368, -0.0035773432, -0.007769679, -0.032449644, -0.021396799, -0.017612215, -0.012764735, -0.025224172) * g_16; + result += mat4(-0.011824532, 0.02335273, 0.00764845, 0.019215155, 0.022186808, 0.0066053392, 0.0071694753, -0.0036117272, 0.032144524, 0.05025988, 0.03982363, 0.052400436, -0.10555114, -0.03809396, -0.05334183, -0.05524487) * g_17; + result += mat4(-0.024599254, 0.058805298, 0.00069874676, 0.06263439, -0.018460508, -0.053566024, -0.0022889362, -0.035818785, -0.0135854995, -0.015712813, 0.0012080368, 0.005957637, 0.009450094, 0.03186346, 0.059969924, 0.057706963) * g_18; + result += mat4(0.026783831, 0.05475865, 0.027565574, 0.06032707, -0.0015639095, 0.024381682, -0.010199071, 0.037544634, 0.039889377, 0.03318851, -0.016529158, -0.0343188, 0.045666486, 0.021665907, 0.042189375, 0.02444145) * g_19; + result += mat4(0.03791853, 0.043746054, 0.056224477, 0.05098111, 0.075256795, 0.074653305, 0.116220035, 0.01853866, -0.04133627, -0.009134169, -0.0420953, -0.05210053, -0.021748418, 0.004422131, -0.05422814, -0.035721727) * g_20; + result += mat4(0.013814317, 0.03149986, -0.004971173, 0.04782029, -0.01693027, -0.017984565, 0.019328078, 0.008521426, 0.0845641, -0.027555496, 0.08150416, -0.04623306, 0.16494128, 0.09300831, 0.074097835, 0.0627848) * g_21; + result += mat4(-0.10307174, -0.112654425, -0.005589254, -0.0062108496, -0.012491583, 0.011512013, -0.03142282, -0.023683488, -0.099848576, -0.031290524, -0.07236223, -0.037460987, 0.008760208, 0.1473594, -0.009216949, 0.07251379) * g_22; + result += mat4(-0.04915367, -0.07121096, -0.06572174, -0.10967046, 0.019548079, 0.023992533, -0.019842865, 0.012366459, -0.07207817, -0.04237792, -0.054463565, -0.015374731, -0.092071235, -0.020860313, -0.054475963, -0.02303954) * g_23; + result += mat4(0.04160816, -0.118427366, -0.08661791, 0.12787233, -0.01990174, 0.0012960634, -0.016121056, 0.031429946, -0.06830865, -0.057132352, -0.0022302791, 0.03845933, -0.026981276, -0.063532256, 0.011805961, -0.009616678) * g_24; + result += mat4(0.07094465, -0.022284096, 0.060676746, 0.042626668, 0.011207256, -0.14960343, 0.05866539, -0.12742221, -0.021092903, -0.039463162, -0.07879986, -0.10232898, -0.026127055, -0.038111385, 0.019167708, 0.032637425) * g_25; + result += mat4(-0.014270794, 0.07157703, 0.013714203, -0.047801998, 0.0060221693, 0.022788104, 0.10630103, -0.09606649, 0.12690987, -0.017079826, -0.0077072172, -0.082584485, 0.13256006, 0.16012523, -0.10966099, -0.07927409) * g_26; + result += mat4(-0.17171615, 0.12114435, -0.10746857, -0.0074188868, 0.07854815, 0.07759372, 0.04310874, 0.051465522, -0.05963588, -0.014506484, 0.15522978, 0.18746643, -0.03845241, -0.0489534, 0.05837339, 0.032978524) * g_27; + result += vec4(0.05825913, 0.051491056, 0.038389463, 0.03321517); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Conv-4x1x1x112 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!SAVE conv2d_last_tf2 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_5 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) +#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_9 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_10 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_12 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_13 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_14 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_18 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_20 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_21 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_22 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_26 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.2006987, 0.17832398, 0.26342955, 0.23500517, -0.012297829, -0.009008417, -0.039950736, -0.039973143, 0.34800097, 0.32196492, 0.30505183, 0.29214156, -0.21410535, -0.21166423, -0.16437815, -0.19172792) * g_0; + result += mat4(-0.008804151, -0.07085123, 0.013577994, -0.05192605, -0.08981402, -0.14702585, -0.09145975, -0.14835288, -0.15882517, -0.14785844, -0.2381482, -0.22867912, 0.010898514, 0.031957507, 0.040597558, 0.078252345) * g_1; + result += mat4(-0.21658613, -0.1803885, -0.25954962, -0.20839214, -0.09597461, -0.09222647, -0.03909875, -0.03456191, -0.19723509, -0.16976605, -0.2041716, -0.1751425, 0.22901416, 0.24922715, 0.1800083, 0.23346905) * g_2; + result += mat4(0.110020064, 0.103858806, 0.052446555, 0.061105963, 0.032901537, 0.07140097, 0.11518793, 0.13860466, 0.13930707, 0.12712196, 0.19071707, 0.18399614, -0.08036458, -0.07349171, 0.021504594, 0.0024937368) * g_3; + result += mat4(0.059065036, 0.00698257, -0.099622436, -0.15676253, -0.10942482, -0.04869624, -0.13654554, -0.07341863, -0.014169851, -0.06390744, 0.016093008, -0.04540248, 0.29041344, 0.24451919, 0.26292154, 0.22136512) * g_4; + result += mat4(0.107946776, 0.097849295, 0.10266876, 0.09360328, 0.08931344, 0.08896482, 0.046495322, 0.044040844, -0.020361643, -0.030911373, 0.026598722, 0.019815676, -0.072677925, -0.042410247, 0.14127749, 0.13434973) * g_5; + result += mat4(-0.08809133, -0.03476601, 0.06420393, 0.14691353, 0.09296839, 0.06162562, 0.10992992, 0.0615685, 0.0168736, 0.06520281, 0.020010693, 0.046929173, -0.2219495, -0.21249783, -0.14622301, -0.14599061) * g_6; + result += mat4(-0.13251069, -0.08977477, -0.08930347, -0.045490693, -0.10980218, -0.09510885, -0.07299872, -0.064053826, 0.011365247, 0.014091111, -0.054976214, -0.056936122, 0.10148144, 0.07451642, -0.08138598, -0.10161657) * g_7; + result += mat4(-0.0075518745, -0.005738622, -0.007577811, -0.00032088626, 0.032614008, 0.04858922, 0.00054855715, 0.011565026, -0.022675224, -0.034442738, -0.03580643, -0.05069376, -0.0020376542, -0.01505518, 0.019388825, 0.03746554) * g_8; + result += mat4(-0.011413172, -0.016877454, -0.048923567, -0.055012885, -0.007709447, -0.016109072, -0.047132388, -0.07146396, 0.002604099, 0.00014681708, 0.03429465, 0.043265607, 0.029014807, 0.03337814, 0.07582056, 0.041660666) * g_9; + result += mat4(-0.020768544, -0.014378527, -0.01999972, -0.01385916, -0.012264676, -0.009959511, 0.0119015165, -0.016787319, 0.07266734, -0.0029914333, 0.08549183, 0.004367342, 0.008236065, 0.020370748, 0.0043428927, 0.007301017) * g_10; + result += mat4(0.011654731, 0.025318999, -0.0029306612, 0.007426217, -0.00010868774, -0.020845588, 0.041991003, 0.024147986, -0.030741083, -0.012328637, -0.06617428, -0.06103115, 0.010491518, -0.013338451, -0.04666634, -0.046481613) * g_11; + result += mat4(0.0268538, 0.043785956, -0.01799385, 0.008743307, -0.013197458, -0.015049436, -0.017189734, -0.0047999253, -0.00059730676, -0.0008936153, -0.016006093, -0.0073406673, 0.014875853, 0.011491735, 9.819833e-05, 0.0073417514) * g_12; + result += mat4(0.019930955, 0.027112626, 0.01307941, 0.005268897, -0.060213763, -0.050415818, -0.069006495, -0.051405095, 0.0036414433, -0.008606397, 0.037427194, -0.0018103109, -0.037434716, 0.010187546, -0.026227329, -0.0033639795) * g_13; + result += mat4(-0.03634798, 0.0007093891, -0.026819145, 0.009025687, -0.01750318, -0.020098133, -0.0063864207, -0.006606755, 0.0008565766, 0.028647956, -0.0024974607, 0.015250743, -0.048884176, -0.004310685, -0.0010757383, 0.00974984) * g_14; + result += mat4(-0.031253602, -0.031743724, -0.009083253, 0.0145388115, 0.02048611, 0.0058071036, -0.0038228377, 0.00049654936, 0.0059105973, 0.03437731, -0.025785418, 0.004187733, 0.009980489, -4.08268e-05, 0.009384428, 0.0019492983) * g_15; + result += mat4(0.012587245, -0.0032654977, 0.029739188, -0.009440694, -0.0018237908, -0.0080032, 0.010499013, 0.0012466761, 0.03461923, -0.0060207327, -0.008771263, -0.034545746, -0.015023473, -0.008901684, -0.011490296, -0.01976464) * g_16; + result += mat4(-0.009444331, 0.020809013, 0.009985801, 0.020350901, 0.013234775, 0.004382635, -0.0007761826, -0.005247294, 0.034115106, 0.05190378, 0.039124765, 0.050993033, -0.0898732, -0.030428126, -0.044204578, -0.052484997) * g_17; + result += mat4(-0.020434443, 0.053520404, 0.0007571144, 0.05895061, -0.018991265, -0.043982152, -0.004035192, -0.025452444, -0.012197152, -0.013770753, 0.0012919102, 0.003996682, 0.0056104586, 0.025686186, 0.05128293, 0.05105745) * g_18; + result += mat4(0.030201769, 0.052521482, 0.029641917, 0.05559941, 0.0018870027, 0.020112835, -0.0043867202, 0.035877172, 0.02961142, 0.02163634, -0.027972858, -0.040669747, 0.03393723, 0.013455979, 0.03313782, 0.01968004) * g_19; + result += mat4(0.034817442, 0.04045217, 0.054816365, 0.05092461, 0.06600807, 0.062576495, 0.09923777, 0.006663677, -0.039958935, -0.010009866, -0.041522443, -0.04959681, -0.020962957, 0.003845031, -0.04910384, -0.03233655) * g_20; + result += mat4(0.015433112, 0.028965838, -0.0055138534, 0.042267464, -0.012690953, -0.009424165, 0.017896382, 0.01186686, 0.07231686, -0.038834292, 0.07033086, -0.052548733, 0.15721905, 0.09334892, 0.07676042, 0.06701375) * g_21; + result += mat4(-0.09797534, -0.11201098, -0.0037222446, -0.008105951, -0.01152357, 0.012165641, -0.029051905, -0.021293389, -0.09600697, -0.028819272, -0.069084235, -0.035421908, 0.0054322914, 0.14168966, -0.0200274, 0.06505187) * g_22; + result += mat4(-0.05034882, -0.06622497, -0.062471002, -0.100628324, 0.018115615, 0.019867867, -0.018836644, 0.007562053, -0.06317378, -0.034458403, -0.047243826, -0.009989589, -0.08270121, -0.018645251, -0.05160367, -0.023690399) * g_23; + result += mat4(0.03897899, -0.10862529, -0.081805214, 0.1202324, -0.021866674, -0.00041882638, -0.018235246, 0.027227063, -0.0656312, -0.053432237, -0.0029235696, 0.03549672, -0.022848906, -0.057047505, 0.013400545, -0.0072439364) * g_24; + result += mat4(0.06879516, -0.018637763, 0.058062725, 0.041045032, 0.011702424, -0.13693465, 0.05674195, -0.11679955, -0.022940686, -0.03856922, -0.07531371, -0.09692582, -0.019870926, -0.032572743, 0.026138868, 0.037639033) * g_25; + result += mat4(-0.015270301, 0.06478719, 0.011016518, -0.04533957, 0.00688319, 0.024815995, 0.10159924, -0.08467507, 0.11939162, -0.01939453, -0.0058689644, -0.077881604, 0.118726775, 0.14489114, -0.10831982, -0.07972515) * g_26; + result += mat4(-0.16734359, 0.10685446, -0.102714166, -0.010225307, 0.07306756, 0.07014447, 0.040464073, 0.04688462, -0.05489714, -0.01525318, 0.14690581, 0.17514132, -0.03250648, -0.03688211, 0.05047889, 0.03078089) * g_27; + result += vec4(0.06614842, 0.045779686, 0.032838725, 0.017085627); + return result; +} +//!DESC Anime4K-v3.2-Upscale-Denoise-CNN-x2-(VL)-Depth-to-Space +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_last_tf +//!BIND conv2d_last_tf1 +//!BIND conv2d_last_tf2 +//!SAVE MAIN +//!WIDTH conv2d_last_tf.w 2 * +//!HEIGHT conv2d_last_tf.h 2 * +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +vec4 hook() { + vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); + ivec2 i0 = ivec2(f0 * vec2(2.0)); + float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; + vec2 f1 = fract(conv2d_last_tf1_pos * conv2d_last_tf1_size); + ivec2 i1 = ivec2(f1 * vec2(2.0)); + float c1 = conv2d_last_tf1_tex((vec2(0.5) - f1) * conv2d_last_tf1_pt + conv2d_last_tf1_pos)[i1.y * 2 + i1.x]; + vec2 f2 = fract(conv2d_last_tf2_pos * conv2d_last_tf2_size); + ivec2 i2 = ivec2(f2 * vec2(2.0)); + float c2 = conv2d_last_tf2_tex((vec2(0.5) - f2) * conv2d_last_tf2_pt + conv2d_last_tf2_pos)[i2.y * 2 + i2.x]; + float c3 = c2; + return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_3DGraphics_AA_Upscale_x2_US.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_3DGraphics_AA_Upscale_x2_US.glsl new file mode 100644 index 0000000..ab5e6dd --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_3DGraphics_AA_Upscale_x2_US.glsl @@ -0,0 +1,112 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.0-3D-AA-Upscale-CNN-x2-(US)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.10005958, 0.30363804, -0.24045889, -0.003466652, 0.25860623, 0.47408342, -0.58965975, 0.058167808, 0.17228158, 0.43657768, -0.3982826, -0.022539442, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.23593923, 0.4692322, 0.04355681, 0.009586428, -0.37485301, 0.5885971, 0.3236714, -0.08301241, -0.3188667, 0.5608897, 0.3396368, 0.059106056, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.15485556, -0.11745722, 0.042440087, 0.5313071, -0.24682014, 0.00033858762, -0.08202063, 0.84100145, -0.15803772, -0.11368423, -0.09765383, 0.6991758, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.21323937, 0.07442176, -0.10949712, -0.05313448, 0.44871446, 0.16815953, 0.07202329, -0.05763504, 0.12998791, 0.06934043, 0.044557367, -0.00978054, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.40295616, -0.7156766, 0.7321813, -0.54544497, 0.44781828, -1.1244348, 0.7786728, -0.91297877, 0.52567977, -0.81486106, 0.56867415, -0.68681335, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.020084642, -0.072761856, -0.13040084, 0.063976064, 0.18822637, -0.096821584, -0.06842927, 0.18078656, 0.05295053, -0.18540566, -0.1239999, 0.0156137515, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.6254935, 0.0074730455, 0.21930416, 0.028796878, -0.82789946, 0.051125027, 0.25597844, 0.049207535, -0.68400925, -0.015768895, 0.233402, 0.021760475, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.21823564, -0.15992375, -0.14845636, -0.031485636, 0.13821888, -0.27466524, -0.094343, -0.07067512, 0.20875643, -0.20346795, -0.12910774, -0.052383807, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.001368614, 0.17603171, -0.36661625, -0.0043979343, 0.1381601, 0.27952382, -0.6743216, 0.0067374213, -0.023204552, 0.21662682, -0.3795221, -0.025739884, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.025272772, 0.014345055, -0.009859513, 0.000597734); + return result; +} +//!DESC Anime4K-v4.0-3D-AA-Upscale-CNN-x2-(US)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_tf +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.08796357, 0.028130328, 0.073414765, -0.029320398, -0.07826724, 0.012752971, 0.06304871, 0.082551956, -0.052348416, 0.010077275, 0.0803755, 0.16395038, -0.08238233, -0.0012038432, -0.1297045, -0.1087021) * go_0(-1.0, -1.0); + result += mat4(0.044162463, -0.019727755, -0.05845153, -0.23984948, 0.08363732, -0.06774037, 0.0234879, 0.02139741, 0.0028723166, -0.07549135, 0.0744662, 0.109019615, 0.03763121, -0.060664024, -0.03823593, -0.015655363) * go_0(-1.0, 0.0); + result += mat4(-0.026882887, 0.124355234, -0.005225512, 0.053853527, -0.004761375, 0.07739831, 0.007993726, -0.024238527, -0.035357814, 0.022114292, -0.026158875, 0.047122046, -0.021067293, 0.041959677, 0.008588816, -0.006613815) * go_0(-1.0, 1.0); + result += mat4(-0.037601672, 0.010898833, 0.05053419, -0.0118405875, 0.052177202, 0.013291429, -0.20246609, -0.07192325, -0.05164381, -0.011278074, -0.12394048, -0.037769064, 0.24392918, 0.03289724, 0.018663784, 0.04071627) * go_0(0.0, -1.0); + result += mat4(-0.17768572, -0.003431817, 0.024597375, -0.067222916, -0.15119793, -0.049984362, 0.0588867, 0.20031504, -0.028296817, -0.17337173, 0.02136566, 0.07842319, -0.10203611, 0.02128208, 0.20057699, 0.026265312) * go_0(0.0, 0.0); + result += mat4(-0.018206367, -0.36731398, -0.07842714, -0.08946319, 0.05601789, -0.13398123, -0.09766525, 0.0051633804, -0.004821273, -0.060362365, -0.08751827, -0.01924666, -0.01642196, -0.084792316, -0.021546558, -0.01531331) * go_0(0.0, 1.0); + result += mat4(-0.003315341, 0.003464535, 0.023609636, -0.029517155, 0.023121882, -0.033598952, 0.032658506, 0.072380014, 0.038630765, -0.020992903, -0.09003304, 0.048244834, 0.17752261, -0.023978172, 0.7178278, 0.09461632) * go_0(1.0, -1.0); + result += mat4(0.010277829, -0.0462686, -0.024897251, -0.02214524, 0.1262903, -0.15583614, -0.50100106, -0.04074772, 0.0612536, -0.17066137, -0.15715116, -0.020877155, -0.062031068, 0.4314311, -0.008700501, -0.030722365) * go_0(1.0, 0.0); + result += mat4(-0.12062004, 0.055291675, 0.041176047, -0.034254536, -0.04062085, 0.14750236, 0.100433215, 0.024384778, -0.02506444, -0.0012329774, 0.06715311, 0.013158619, -0.07343181, 0.08929479, 0.015891392, 0.0014893904) * go_0(1.0, 1.0); + result += mat4(-0.00028356185, 0.008408778, 0.046833538, -0.110735945, 0.050230157, -0.023995856, -0.06471944, -0.12666705, 0.121487044, -0.040447604, -0.13425831, -0.035763647, 0.06327994, 0.04542948, 0.12984566, 0.041735172) * go_1(-1.0, -1.0); + result += mat4(-0.09654193, 0.055733874, 0.14149562, 0.20103204, -0.04256184, 0.041129943, -0.0997907, 0.030775042, 0.017492702, 0.053436417, -0.13472094, -0.037674613, -0.09461306, 0.07363193, 0.025130237, -0.020962669) * go_1(-1.0, 0.0); + result += mat4(0.003966979, -0.077911004, -0.025530541, -0.08657802, 0.047928706, -0.12820454, -0.034780253, 0.070523396, 0.0991259, -0.07432318, -0.035848588, 0.026542934, -0.005886989, -0.048655648, 0.014799456, -0.033676937) * go_1(-1.0, 1.0); + result += mat4(0.0040423325, 0.011639387, 0.014709128, -0.100935176, -0.03094238, -0.0058094636, 0.1256023, 0.086693585, -0.00840243, -0.02635784, -0.2395783, 0.0055595445, -0.104565054, 0.05285065, 0.092289336, 0.12696597) * go_1(0.0, -1.0); + result += mat4(-0.097862415, 0.035469674, -0.12026435, -0.25865972, 0.12508512, -0.00648921, -0.1848096, -0.24143967, -0.009432349, -0.035211377, -0.05589267, -0.11565712, 0.015937572, 0.02717122, -0.09954979, -0.081140056) * go_1(0.0, 0.0); + result += mat4(-0.09073428, 0.31426015, 0.087145604, -0.00073830306, 0.013578701, 0.032616604, 0.038264107, 0.07236385, -0.012257218, 0.040580798, 0.08520396, 0.004167174, 0.02280993, 0.113494344, 0.027510444, 0.029490784) * go_1(0.0, 1.0); + result += mat4(-0.02391937, 0.0039571812, -0.026116686, -0.025334306, 0.06904104, 0.011511556, -0.14147542, 0.01224604, 0.03788813, -0.041387778, -0.1523622, 0.03650455, 0.04693732, 0.03091366, 0.2839756, 0.1779714) * go_1(1.0, -1.0); + result += mat4(-0.026292996, 0.020397607, 0.09354275, 0.00044126343, -0.047845, 0.11368384, 0.18426466, 0.12002076, -0.034070846, 0.042704806, -0.041553736, 0.04446022, -0.006331844, 0.16227855, 0.07832003, -0.07068554) * go_1(1.0, 0.0); + result += mat4(-0.026658786, -0.0079359505, -0.04125044, -0.10622727, 0.06254047, -0.36537018, -0.10755624, 0.011665703, 0.025558028, -0.087151, -0.06987865, 0.00023839885, 0.03247968, -0.053188834, -0.004876301, -0.06005079) * go_1(1.0, 1.0); + result += vec4(-0.012601902, -0.0121468, -0.027073797, -0.0223602); + return result; +} +//!DESC Anime4K-v4.0-3D-AA-Upscale-CNN-x2-(US)-Conv-4x3x3x4 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!SAVE conv2d_last_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.00055252935, 0.0011350953, -0.0016148019, 0.0014946404, -0.30635214, -0.017596753, -0.0036547943, 0.016236471, 0.005174489, 0.0030302007, 0.00019672248, 0.0006430973, 0.0007490077, -0.0031795658, -6.158733e-05, 0.0006820584) * go_0(-1.0, -1.0); + result += mat4(0.15602079, 0.011071071, -0.0027609533, -0.0034318874, -0.0039016667, 0.016504101, -0.27816474, -0.008282344, 0.19063498, 0.012465078, 0.010091085, -0.004841106, -0.11758087, -0.012808949, 0.0067606894, 0.005216566) * go_0(-1.0, 0.0); + result += mat4(0.013258877, -0.014989483, 0.22402754, 0.013204027, 0.00016207264, -0.00042593342, -0.00333761, -0.0012207513, 0.0033727325, -0.007841196, 0.16044731, 0.00594871, -0.0028581345, 0.012616562, -0.15928285, -0.011812331) * go_0(-1.0, 1.0); + result += mat4(-0.0048872055, -0.0011780986, -0.0029523429, 0.00082424335, -0.0024385185, -0.26525813, 0.013532772, -0.0008381766, 0.0024996721, 0.0022899017, -0.0017697349, -0.0010618394, 0.0024938583, 0.005421073, 0.0028740794, -0.007808829) * go_0(0.0, -1.0); + result += mat4(-0.08293415, 0.2659366, -0.010839574, 0.023423964, 0.01725351, -0.009252893, -0.011632222, -0.308242, 0.0001496815, 0.16104282, -0.0069378703, 0.00842848, 0.085917845, -0.18407243, -0.006601597, -0.027134055) * go_0(0.0, 0.0); + result += mat4(-0.033873428, -0.011743531, -0.230377, 0.116242796, -0.0018527015, -0.00853698, 0.0059901997, -0.006155517, -0.009841329, 0.006163952, 0.014816026, 0.18667653, 0.016977048, -0.0017093032, 0.19695279, -0.061764043) * go_0(0.0, 1.0); + result += mat4(-0.0003514533, -0.0069080726, 0.0052108583, -0.0016346197, -0.0016860099, 0.006002445, -0.0022835485, -0.0028219873, 0.0005367275, 0.0005437954, 0.00059865275, -0.00014915364, -0.0032214937, -0.00052043283, -0.0031621973, 0.0055843857) * go_0(1.0, -1.0); + result += mat4(-0.006905302, -0.20389622, 0.01891904, -0.018114902, 0.00724176, 0.011335843, -0.0028616642, 0.016452003, -0.00013852821, -0.00039706306, 0.0011838446, 0.0028873065, 0.012857878, 0.16889338, -0.014114007, 0.009388666) * go_0(1.0, 0.0); + result += mat4(0.0040798862, 0.002933288, -0.016012201, -0.14650294, -0.0017411204, 0.0017980475, 0.00056705566, -0.0003218331, -0.0014291195, -0.0062614805, 0.00082543516, -0.00397049, -0.004496662, 0.0008032309, 0.0049529593, 0.117166765) * go_0(1.0, 1.0); + result += vec4(-3.1127936e-05, 3.3726166e-05, 4.8580805e-05, -9.541029e-06); + return result; +} +//!DESC Anime4K-v4.0-3D-AA-Upscale-CNN-x2-(US)-Depth-to-Space +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_last_tf +//!SAVE MAIN +//!WIDTH conv2d_last_tf.w 2 * +//!HEIGHT conv2d_last_tf.h 2 * +vec4 hook() { + vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); + ivec2 i0 = ivec2(f0 * vec2(2.0)); + float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; + float c1 = c0; + float c2 = c1; + float c3 = c2; + return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); +} diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_3DGraphics_Upscale_x2_US.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_3DGraphics_Upscale_x2_US.glsl new file mode 100644 index 0000000..ff318b8 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_3DGraphics_Upscale_x2_US.glsl @@ -0,0 +1,112 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.0-3D-Upscale-CNN-x2-(US)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.020295616, 0.26657984, -0.28531083, 0.041052748, 0.11729335, 0.4042445, -0.5860672, 0.098661005, 0.07756054, 0.32493782, -0.38677853, 0.029859459, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.28257942, 0.46859467, 0.07703674, -0.05280326, -0.46674755, 0.6592401, 0.28513643, -0.059969574, -0.37685588, 0.54568315, 0.1845521, -0.002367634, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.14898707, -0.088150576, -0.09723321, 0.48359355, -0.27636692, -0.09316871, -0.15453896, 0.68637407, -0.19012338, -0.13310172, -0.13367014, 0.61284137, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.36225644, 0.14732021, -0.17000826, -0.039856624, 0.50175637, 0.11733988, -0.080232985, -0.059622094, 0.3199943, 0.14199091, -0.08377198, -0.058804136, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.42444956, -0.7508643, 0.77660984, -0.5920436, 0.6205736, -1.1258985, 0.91925675, -0.854362, 0.5576168, -0.84702957, 0.6147012, -0.7004013, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.047896724, -0.018435799, -0.07901341, 0.14234425, 0.12161554, -0.03132901, -0.049536135, 0.16390118, 0.054683182, -0.054823015, -0.019946543, 0.058345634, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.60845935, -0.0062592463, 0.17769416, 0.00643066, -0.8315386, 0.010405371, 0.227901, 0.054893702, -0.63039875, -0.02128892, 0.20843753, 0.054094747, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.24499738, -0.11924165, -0.16513842, -0.012650152, 0.21676576, -0.14322694, -0.08526706, -0.0122355, 0.26050088, -0.115822464, -0.11147918, -0.018665116, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.06054074, 0.094478205, -0.23038268, 0.008782032, -0.028404612, 0.22320247, -0.4821615, -0.0055871494, -0.047503285, 0.15098651, -0.26161456, 0.029869653, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.0033260486, 0.0027453774, 0.002706769, -0.0022023292); + return result; +} +//!DESC Anime4K-v4.0-3D-Upscale-CNN-x2-(US)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_tf +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.26565167, 0.03297807, 0.08926044, 0.029984077, -0.20809028, 0.00351991, 0.15452495, 0.09963063, -0.13773972, 0.01029457, 0.045066427, 0.1247363, -0.12714206, 0.010659472, -0.06463583, -0.0154152885) * go_0(-1.0, -1.0); + result += mat4(0.0030874603, -0.04652791, -0.23016497, -0.46789864, 0.16454394, -0.12389561, -0.026154622, -0.008619661, -0.10648254, -0.10581639, 0.038306713, -0.038339432, 0.09716571, -0.037978917, -0.075691506, -0.0712344) * go_0(-1.0, 0.0); + result += mat4(-0.22059305, 0.18160829, 0.027175324, -0.09482166, -0.07888123, 0.12431242, 0.02432025, -0.121108614, -0.0720631, -0.0138989305, -0.02100737, -0.027440425, -0.06610268, 0.115165174, 0.02048676, -0.0409675) * go_0(-1.0, 1.0); + result += mat4(-0.043652806, 0.0134993605, 0.0030924282, -0.03314738, 0.27716368, 0.05542831, -0.28217152, -0.017624432, -0.11218036, 0.009025405, -0.13453043, -0.05897923, 0.32378325, -0.0070016393, -0.04415195, 0.10701437) * go_0(0.0, -1.0); + result += mat4(-0.23568924, 0.028462708, 0.11686719, 0.025355088, -0.088295944, 0.033592343, 0.22703041, 0.45683298, -0.0860751, -0.17487867, -0.048110463, 0.0030137985, -0.031168368, 0.075628504, 0.24791549, 0.13066974) * go_0(0.0, 0.0); + result += mat4(0.04647855, -0.42392284, -0.19600202, -0.07964123, 0.059082046, -0.16060755, -0.12607971, 0.011384242, 0.021775302, -0.10103477, -0.09646511, -0.0333935, 0.017039102, -0.14098461, -0.0981411, -0.0023695084) * go_0(0.0, 1.0); + result += mat4(-0.016526148, -0.0006880693, 0.030872462, -0.018204063, -0.025757499, -0.01037187, 0.21834393, 0.09965417, -0.057800297, -0.029975737, -0.00684766, 0.05800057, 0.1683585, -0.057496388, 0.7087625, 0.2665085) * go_0(1.0, -1.0); + result += mat4(0.059480842, -0.05298332, -0.06537449, -0.06439374, 0.09735456, -0.19591855, -0.42987427, -0.012228564, 0.03898561, -0.22284365, -0.24668825, -0.06651606, -0.087776355, 0.3200755, -0.050433923, -0.100411855) * go_0(1.0, 0.0); + result += mat4(-0.053572096, 0.16021295, 0.071161, -0.06335539, 0.015909042, 0.20072727, 0.08304887, 0.05335472, -0.03467755, -0.02854195, 0.044690188, 0.0045897495, -0.02924389, 0.16038977, 0.06578487, 0.027916174) * go_0(1.0, 1.0); + result += mat4(0.11840388, -0.011793132, -0.004042257, -0.116042845, 0.17388786, -0.031351876, -0.1152781, -0.13333467, 0.2354002, -0.045496088, -0.16311322, -0.06960798, 0.11317423, 0.005508318, 0.15634489, 0.061211936) * go_1(-1.0, -1.0); + result += mat4(0.009622364, 0.03682801, 0.20317583, 0.41673073, 0.00662247, 0.11070694, -0.020392824, 0.13875432, 0.036129113, 0.073727116, -0.114370294, 0.042431634, -0.0446233, 0.0734258, 0.09814352, 0.09335129) * go_1(-1.0, 0.0); + result += mat4(0.057668976, -0.21368256, -0.029979514, 0.039450984, 0.16685131, -0.15085255, -0.042412136, 0.15757313, 0.110782996, -0.07277766, -0.035268076, 0.06094599, 0.088834405, -0.07145625, 0.0009840949, 0.04932651) * go_1(-1.0, 1.0); + result += mat4(-0.00010679438, 0.0036139274, -0.001123274, -0.10001404, -0.035231482, -0.008196208, 0.24442215, 0.13503289, -0.082656465, -0.061868448, -0.34716147, -0.22398905, -0.00626325, 0.063109376, 0.10340223, 0.030913284) * go_1(0.0, -1.0); + result += mat4(-0.11526892, -0.01739956, -0.1781953, -0.27035302, 0.13689406, -0.04320452, -0.19705579, -0.16808036, -0.20343314, -0.13549826, -0.08057608, -0.16109829, 0.16905797, 0.00077912246, -0.14143418, 2.5004636e-05) * go_1(0.0, 0.0); + result += mat4(-0.110721245, 0.33579257, 0.14410733, -0.06675498, 0.002022071, 0.18419205, 0.09936456, 0.07311257, 0.0064584822, -0.031634383, 0.095907465, 0.031282485, 0.0051860735, 0.25176755, 0.089756206, 0.052209254) * go_1(0.0, 1.0); + result += mat4(-0.06346731, 0.009824449, -0.02733463, -0.06341941, 0.17385058, 0.0067438814, -0.15083039, -0.09102664, 0.065680414, -0.06668183, -0.18805085, -0.02785943, 0.06386912, 0.09340653, 0.0032584765, 0.060902752) * go_1(1.0, -1.0); + result += mat4(-0.061221372, -0.0020573896, 0.063335806, 0.046898697, -0.030530764, 0.27301106, 0.23682626, 0.14863367, -0.034555666, 0.024279105, -0.176423, 0.018163674, -0.00015057978, 0.1575829, 0.25034854, 0.054726984) * go_1(1.0, 0.0); + result += mat4(-0.03807849, -0.0440673, 0.038429137, -0.029738983, 0.035449427, -0.44138825, -0.16462126, -0.015045709, 0.010627751, -0.12178318, -0.07076098, -0.059846148, 0.0009871369, -0.07265447, -0.01998304, -0.018729536) * go_1(1.0, 1.0); + result += vec4(-0.0016514715, -0.0038319482, -0.0073834592, -0.0059920377); + return result; +} +//!DESC Anime4K-v4.0-3D-Upscale-CNN-x2-(US)-Conv-4x3x3x4 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!SAVE conv2d_last_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.010651157, 0.0018537974, 0.0051580826, 0.0020901994, -0.41468114, -0.08517094, -0.04803197, 0.008413933, 0.014026587, 0.012820705, 0.01553548, 0.01283508, -0.040812977, -0.015933262, -0.01949977, -0.011502392) * go_0(-1.0, -1.0); + result += mat4(0.2278103, 0.06374709, 0.062103115, 0.02010158, -0.01932597, 0.01159983, -0.35690293, -0.062822886, 0.29807624, 0.036038283, 0.028565003, -0.025969796, -0.24225195, -0.06635989, -0.06890857, -0.010140013) * go_0(-1.0, 0.0); + result += mat4(-0.009164529, -0.0036277112, 0.19577485, 0.05511193, 0.025875263, 0.020616682, 0.02919653, 0.030669902, 0.00751339, -0.00551052, 0.2690018, 0.035395138, -0.013392302, -0.03666098, -0.23751089, -0.11222924) * go_0(-1.0, 1.0); + result += mat4(0.017815048, 0.011143683, -0.002918766, -0.0042153858, -0.01929562, -0.3405707, 0.039267153, 0.0041966257, 0.0026771557, 0.009982735, 0.00087975257, 0.003984122, 0.0062404936, -0.04230462, 0.001981855, -0.0145921325) * go_0(0.0, -1.0); + result += mat4(-0.02615864, 0.2872578, 0.08103852, 0.11812216, -0.031988684, -0.08532163, -0.094653316, -0.42660478, 0.00077043264, 0.284553, -0.015517693, 0.036667597, 0.14234932, -0.20201443, -0.017204845, -0.111502305) * go_0(0.0, 0.0); + result += mat4(-0.11529456, -0.09024149, -0.2545015, 0.08581955, -0.020051582, -0.031601675, -0.031320736, -0.051691536, -0.019313173, 0.028963564, 0.017521648, 0.3159018, 0.179573, 0.19400181, 0.382411, 0.076367974) * go_0(0.0, 1.0); + result += mat4(-0.016741822, -0.001993879, -0.01517403, -0.010949569, 0.01859244, 0.042316843, 0.00025326485, -0.007079785, 0.001070783, 0.000911405, -0.0024269924, -0.0014501393, -0.01206317, 0.007300575, -0.0062582446, -0.0016001783) * go_0(1.0, -1.0); + result += mat4(-0.06300321, -0.20786348, 0.019603852, 0.020122321, 0.022107193, 0.036766138, 0.013046632, 0.02677947, -0.0006842017, -0.044024136, 0.0109439045, 0.0040129004, 0.009831765, 0.15807834, -0.05166107, -0.014462446) * go_0(1.0, 0.0); + result += mat4(-0.023205867, -0.049788095, -0.08251341, -0.26488927, 0.0029636251, 0.021618038, -0.0057556895, 0.018444102, 0.0064643323, -0.027886944, 0.010029941, -0.041902024, -0.021232832, -0.0072857663, 0.02056806, 0.18491453) * go_0(1.0, 1.0); + result += vec4(-0.00016697648, -0.00015957489, 0.00017437353, -0.00019393339); + return result; +} +//!DESC Anime4K-v4.0-3D-Upscale-CNN-x2-(US)-Depth-to-Space +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_last_tf +//!SAVE MAIN +//!WIDTH conv2d_last_tf.w 2 * +//!HEIGHT conv2d_last_tf.h 2 * +vec4 hook() { + vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); + ivec2 i0 = ivec2(f0 * vec2(2.0)); + float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; + float c1 = c0; + float c2 = c1; + float c3 = c2; + return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_AutoDownscalePre_x2.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_AutoDownscalePre_x2.glsl new file mode 100644 index 0000000..e736831 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_AutoDownscalePre_x2.glsl @@ -0,0 +1,36 @@ +// This is free and unencumbered software released into the public domain. + +// Anyone is free to copy, modify, publish, use, compile, sell, or +// distribute this software, either in source code form or as a compiled +// binary, for any purpose, commercial or non-commercial, and by any +// means. + +// In jurisdictions that recognize copyright laws, the author or authors +// of this software dedicate any and all copyright interest in the +// software to the public domain. We make this dedication for the benefit +// of the public at large and to the detriment of our heirs and +// successors. We intend this dedication to be an overt act of +// relinquishment in perpetuity of all present and future rights to this +// software under copyright law. + +// 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 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. + +// For more information, please refer to + +//!DESC Anime4K-v4.0-AutoDownscalePre-x2 +//!HOOK MAIN +//!BIND HOOKED +//!BIND NATIVE +//!WHEN OUTPUT.w NATIVE.w / 2.0 < OUTPUT.h NATIVE.h / 2.0 < * OUTPUT.w NATIVE.w / 1.2 > OUTPUT.h NATIVE.h / 1.2 > * * +//!WIDTH OUTPUT.w +//!HEIGHT OUTPUT.h + +vec4 hook() { + return HOOKED_tex(HOOKED_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_AutoDownscalePre_x4.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_AutoDownscalePre_x4.glsl new file mode 100644 index 0000000..572510b --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_AutoDownscalePre_x4.glsl @@ -0,0 +1,36 @@ +// This is free and unencumbered software released into the public domain. + +// Anyone is free to copy, modify, publish, use, compile, sell, or +// distribute this software, either in source code form or as a compiled +// binary, for any purpose, commercial or non-commercial, and by any +// means. + +// In jurisdictions that recognize copyright laws, the author or authors +// of this software dedicate any and all copyright interest in the +// software to the public domain. We make this dedication for the benefit +// of the public at large and to the detriment of our heirs and +// successors. We intend this dedication to be an overt act of +// relinquishment in perpetuity of all present and future rights to this +// software under copyright law. + +// 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 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. + +// For more information, please refer to + +//!DESC Anime4K-v3.2-AutoDownscalePre-x4 +//!HOOK MAIN +//!BIND HOOKED +//!BIND NATIVE +//!WHEN OUTPUT.w NATIVE.w / 4.0 < OUTPUT.h NATIVE.h / 4.0 < * OUTPUT.w NATIVE.w / 2.4 > OUTPUT.h NATIVE.h / 2.4 > * * +//!WIDTH OUTPUT.w 2 / +//!HEIGHT OUTPUT.h 2 / + +vec4 hook() { + return HOOKED_tex(HOOKED_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_L.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_L.glsl new file mode 100644 index 0000000..82283f1 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_L.glsl @@ -0,0 +1,461 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.01802505, -0.06508559, 0.0017542128, -0.25521114, -0.024155967, 0.07601142, 0.07508073, -0.69212615, 0.06438325, 0.07916419, -0.07266247, -0.17089996, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.18881685, 0.063188724, 0.08637344, -0.20066689, -0.22774473, -0.10913083, -0.048009537, -0.27475306, -0.15950447, -0.027433012, 0.030303264, 0.018863251, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.19171959, 0.028070524, -0.09780952, 0.057611514, 0.26147488, 0.07180017, 0.09667393, 0.008605127, 0.011190245, 0.040944707, -0.025871381, -0.011468774, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.08601777, 0.2180965, -0.052060187, -0.08091977, 0.3995336, 0.21213862, 0.105202965, 0.010929526, -0.080743685, -0.040439352, -0.07998862, 0.08096829, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.08608087, -0.10902571, 0.5245411, 0.53331816, -0.5507893, 0.6141555, 0.9744618, 0.89056116, 0.081408836, 0.28096125, 0.13647869, 0.026274862, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.13985278, -0.29691598, -0.26792645, -0.042485088, 0.27941233, -0.65306807, -0.360506, 0.03810829, 0.09663724, -0.26655033, 0.04372338, 0.063264176, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.18246013, -0.070464276, 0.04686214, 0.059332885, 0.16861221, 0.022623831, -0.09161491, 0.07130491, 0.15691474, 0.095743366, 0.059467375, -0.009469478, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.07830576, 0.17082681, -0.013175545, -0.035535168, 0.1573564, -0.16532823, -0.49614525, -0.050994795, 0.027053844, -0.20359018, 0.08111269, 0.018715343, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.060515754, 0.13169582, -0.15245132, -0.045724656, -0.50778043, -0.11690067, -0.08320143, 0.01093529, -0.1954136, 0.07388989, -0.1360143, -0.023233788, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.0054077627, -0.15644358, 0.06612042, 0.014728144); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.12039797, 0.04008252, 0.073074624, -0.11763173, 0.091902, -0.040129073, 0.009170759, -0.10760076, -0.032387916, 0.07807673, -6.477932e-05, 0.040181372, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.11585734, -0.0078019407, 0.063107856, 0.09835168, -0.029397847, 0.12520139, 0.078661725, -0.12675259, 0.05563671, -0.058422342, 0.01478436, -0.08239175, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.14991632, -0.0134848505, -0.38663143, -0.10859369, -0.012961176, -0.09099144, -0.19593886, -0.08396245, -0.02676463, -0.0066295485, 0.026225863, -0.014788537, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.20830092, -0.07655779, 0.04518565, 0.16015635, 0.5536684, 0.09759215, -0.101477005, -0.5042874, 0.35608026, -0.15335238, 0.0796228, -0.05107349, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.3968312, 0.091579735, -0.085623756, -0.16367513, -0.48967922, -0.08557767, 0.34444988, 1.0766053, -0.2158915, 0.22244956, -0.033804208, 0.25898156, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.026278365, 0.1678205, -0.38981274, 0.16932413, -0.0146527905, 0.65131354, -0.08886725, 0.07017853, 0.012986331, 0.029087646, -0.034898676, 0.040925268, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.07614263, 0.015624113, -0.054716587, -0.04951801, 0.016731577, -0.08749623, 0.07815944, -0.015630174, -0.08723511, 0.077201165, -0.12674089, -0.08418575, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.07938198, -0.4056014, 0.26949093, 0.067213245, -0.47538033, -0.7786735, -0.25821188, 0.029314762, -0.1799233, -0.31132734, 0.17210929, -0.018579468, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.06732179, 0.18373649, -0.00039802346, 0.006567155, 0.36993378, 0.20254396, 0.12314272, -0.07356931, 0.12402926, 0.122744165, -0.07482636, 0.011531308, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.001029383, 0.0058537456, 0.38202196, -0.028818231); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.29632062, 0.029882489, -0.14098296, -0.18291497, 0.2815667, -0.053558454, 0.10369031, -0.080831036, 0.06955536, -0.020830285, -0.2950748, -0.12086926, -0.023612294, -0.08531449, 0.0390424, 0.011767062) * go_0(-1.0, -1.0); + result += mat4(0.094862625, 0.10448947, -0.11741873, 0.18871774, 0.15733057, 0.029140847, 0.16012338, 0.24601823, -0.2918398, 0.09956984, 0.04739516, 0.24494317, -0.021442452, 0.014309354, -0.04935703, 0.13617574) * go_0(-1.0, 0.0); + result += mat4(0.1303212, -0.06284708, -0.23948738, -0.05782472, -0.024363542, -0.11251477, -0.07354371, -0.023819327, 0.13228065, 0.05485702, -0.068491034, 0.1938021, -0.046649717, -0.07752723, 0.031408865, 0.026424367) * go_0(-1.0, 1.0); + result += mat4(0.4484274, 0.10068111, -0.122855306, -0.0649749, 0.09444103, 0.119198084, -0.22159275, 0.08555494, -0.18764949, -0.16276829, 0.20377621, 0.13764401, -0.027324807, 0.1294057, 0.035147414, 0.010751216) * go_0(0.0, -1.0); + result += mat4(-0.23321865, -0.029401073, 0.064655, 0.28420436, 0.051707894, -0.27915454, 0.0037779005, -0.18335588, 0.2275033, -0.25828046, -0.005339017, -0.4358691, 0.30487007, -0.044198595, 0.08767978, -0.04610031) * go_0(0.0, 0.0); + result += mat4(-0.044556934, -0.06692216, -0.21124081, -0.1394273, -0.24693833, -0.11292927, -0.026020816, 0.08460799, -0.11183761, -0.020012703, 0.29486617, 0.3726646, -0.054298244, 0.0045891847, -0.23693855, -0.02848257) * go_0(0.0, 1.0); + result += mat4(0.04877764, -0.011964396, -0.08024895, -0.12175299, -0.015131821, -0.048996765, 0.10887477, -0.053192, 0.09514728, 0.00918332, -0.08621957, -0.04674572, -0.06000914, -0.060330987, 0.20702218, -0.015094036) * go_0(1.0, -1.0); + result += mat4(-0.1651207, -0.024862131, 0.37494823, 0.10404018, -0.2891288, -0.38082635, 0.3194514, -0.055852838, -0.073994, -0.1566444, 0.08473525, 0.15672058, -0.08205729, 0.33623922, 0.2524126, 0.022668727) * go_0(1.0, 0.0); + result += mat4(0.083043605, -0.2989435, -0.14887308, 0.008989406, 0.01214123, -0.29387334, 0.015363028, -0.027485376, 0.13046521, 0.12814927, -0.05615426, -0.08612421, -0.3833321, 0.30930206, 0.3397905, 0.095533006) * go_0(1.0, 1.0); + result += mat4(-0.24895187, 0.033672538, 0.024642626, 0.049984645, 0.09217451, 0.14135426, -0.36297384, 0.10239864, 0.14611131, -0.022452299, 0.009058074, -0.18909958, -0.0049156225, 0.10530887, -0.06942197, -0.06450979) * go_1(-1.0, -1.0); + result += mat4(0.14025575, 0.030043123, 0.07131405, -0.0675702, 0.17274232, 0.17896765, -0.4741036, 0.35670453, 0.03911085, 0.079387054, 0.04420335, -0.040182803, 0.078871965, 0.16641952, -0.101532914, -0.07683543) * go_1(-1.0, 0.0); + result += mat4(0.09527535, -0.014889733, 0.003928801, -0.0144131305, 0.16238941, -0.073573746, -0.18349837, 0.057071213, -0.056580186, -0.048254594, -0.02551881, 0.13056543, 0.15681924, 0.11329136, 0.026496707, -0.15252273) * go_1(-1.0, 1.0); + result += mat4(-0.20110673, -0.17727304, 0.16747122, -0.060028642, -0.03426759, 0.34928, -0.16542526, -0.03665969, -0.11838656, 0.050624777, -0.11309917, 0.17241085, 0.07320429, -0.19349192, 0.36426768, -0.09952723) * go_1(0.0, -1.0); + result += mat4(-0.44797856, 0.13166381, 0.19358242, -0.17328072, 0.277866, 0.2704677, -0.3897292, -0.09388379, -0.11871803, 0.059352446, 0.02593061, 0.1112078, -0.44574997, -0.20000082, -0.06038736, 0.11825317) * go_1(0.0, 0.0); + result += mat4(0.035831098, 0.03203473, 0.007270905, -0.2803515, -0.07803025, -0.044999845, 0.05503914, 0.02849373, -0.019534718, 0.109557584, -0.057618562, -0.22376212, 0.037630744, 0.07285683, -0.10327242, 0.15022281) * go_1(0.0, 1.0); + result += mat4(-0.22891119, -0.07055901, -0.06924297, 0.091851085, 0.079149276, 0.072282575, 0.1054971, -0.055115294, 0.15652373, -0.18508117, -0.044487055, -0.09513059, -0.007512581, 0.04595113, -0.16729085, -0.038352273) * go_1(1.0, -1.0); + result += mat4(-0.33190495, 0.024579005, 0.3356564, -0.24311046, -0.12634008, 0.08820384, -0.028739989, 0.0871991, -0.011547642, 0.07184339, 0.098442815, 0.13700496, -0.0665544, 0.18513693, 0.0956979, -0.15374076) * go_1(1.0, 0.0); + result += mat4(0.18756114, -0.21920492, 0.06407122, -0.24816798, -0.061943263, -0.054488074, -0.081633896, 0.0920547, -0.08880129, -0.18094197, 0.006789256, 0.094598, 0.17799775, -0.26764068, -0.02588948, 0.17095666) * go_1(1.0, 1.0); + result += mat4(-0.17086025, -0.035769157, -0.11523461, 0.20404252, -0.0398533, -0.19902702, 0.0072308285, -0.099984154, -0.1378846, -0.14236672, 0.40502122, 0.13498029, 0.057273205, -0.06250679, 0.035283897, 0.01703995) * go_2(-1.0, -1.0); + result += mat4(0.12786144, -0.23442458, -0.047862124, -0.12505807, -0.23584808, -0.064344, 0.07848756, 0.08764069, 0.34468293, -0.29927257, -0.18664125, -0.20938, 0.07196786, -0.0116679, 0.16299239, -0.076479614) * go_2(-1.0, 0.0); + result += mat4(0.08299449, -0.065809734, 0.12079292, -0.14469329, -0.0102624465, 0.04364353, 0.080220595, -0.025435027, 0.010015513, -0.03863331, 0.28750968, -0.07637218, 0.049731467, -0.062238537, 0.04295189, -0.028037619) * go_2(-1.0, 1.0); + result += mat4(-0.3443906, -0.04198392, -0.1612832, 0.2218389, -0.01519015, 0.093942635, -0.15996122, -0.00093763386, 0.024008257, 0.035953972, -0.15771267, -0.07148778, 0.044501238, -0.14950006, 0.087219894, -0.05831199) * go_2(0.0, -1.0); + result += mat4(0.22099696, 0.117263354, -0.09403858, -0.20318906, 0.18389364, 0.13026148, 0.08169665, -0.014347075, -0.16660765, 0.026503418, 0.058967166, 0.26847002, -0.39771244, 0.36704144, 0.18202503, 0.15385705) * go_2(0.0, 0.0); + result += mat4(-0.015089774, 0.120200686, 0.114723265, 0.12578037, 0.16593805, 0.040399004, 0.11654924, 0.0025250788, -0.2342627, 0.05865, -0.16680475, -0.06301523, 0.07027856, 0.18853764, 0.5213158, -0.3325365) * go_2(0.0, 1.0); + result += mat4(-0.046818264, 0.04336355, 0.020795586, 0.09917639, -0.028305013, -0.14843199, 0.16168857, -0.18567303, 0.010514865, 0.06331522, 0.064430796, 0.034681283, 0.041065965, 0.06522019, 0.055882502, -0.015027999) * go_2(1.0, -1.0); + result += mat4(0.18064371, -0.17903666, -0.24589087, 0.072444126, 0.13745096, -0.011904026, -0.19597653, 0.023044739, 0.01585197, -0.1759934, 0.2287553, -0.20533411, -0.2898527, 0.42946577, -0.07443011, 0.052736074) * go_2(1.0, 0.0); + result += mat4(0.043961097, 0.10761276, -0.0034299751, 0.10491056, 0.004527805, 0.077598244, 0.077725716, 0.030323742, -0.20945124, -0.2235839, 0.05397613, 0.2072019, 0.008769854, 0.30513015, -0.104206346, -0.20982127) * go_2(1.0, 1.0); + result += mat4(0.0858221, -0.013858144, 0.11189161, -0.005996965, 0.13058044, 0.23954146, -0.29756296, 0.1801562, -0.034966737, 0.16073282, -0.06920962, 0.16596314, -0.06746436, 0.18948093, -0.17374122, 0.035474796) * go_3(-1.0, -1.0); + result += mat4(-0.23172139, -0.062111232, 0.028210253, -0.022090558, 0.2854972, 0.015097004, -0.2057132, -0.19835956, 0.14960685, 0.09755452, -0.17077617, -0.10259408, -0.11695073, 0.071428165, 0.18146773, 0.22237262) * go_3(-1.0, 0.0); + result += mat4(-0.008571818, 0.2160462, 0.20442474, 0.008256999, -0.0054347264, -0.036963176, -0.023052184, -0.27406418, 0.0155730015, 0.13230084, 0.028925262, -0.22739749, -0.07608481, -0.059095357, -0.17677523, 0.020464322) * go_3(-1.0, 1.0); + result += mat4(0.09186881, 0.10612606, -0.29759738, 0.04590405, 0.042567376, 0.77174157, -0.3156031, 0.22815126, -0.0745266, -0.08352131, -0.03825007, -0.14752272, 0.14866033, -0.07303083, 0.01180863, 0.12170875) * go_3(0.0, -1.0); + result += mat4(-0.033268124, -0.08281718, 0.040441882, -0.05514993, 0.07650108, 0.5294327, -0.22229794, 0.049523506, 0.021545604, 0.03359928, 0.032059934, -0.0082821995, 0.036441952, -0.5097175, 0.38215104, 0.33496317) * go_3(0.0, 0.0); + result += mat4(-0.18900043, 0.3539563, 0.25134736, 0.21487151, 0.22043267, 0.13304482, -0.17353508, -0.15632114, -0.067851126, -0.08173108, 0.0035601144, 0.16791934, -0.07563204, -0.07128694, 0.10757592, 0.26915342) * go_3(0.0, 1.0); + result += mat4(0.1761959, 0.025833737, 0.09164757, -0.030622564, -0.22870748, 0.11929823, -0.24930833, 0.07446655, -0.17372188, -0.66051316, 0.15344264, 0.20571554, 0.0620721, 0.08122408, -0.0952373, 0.04144613) * go_3(1.0, -1.0); + result += mat4(-0.053072393, -0.15877937, -0.065579735, 0.09932804, 0.06803561, 0.11719737, -0.0639249, -0.14433555, 0.1210262, 0.057197437, -0.19896421, 0.2387559, 0.35206345, -0.36237878, -0.12187686, 0.24411117) * go_3(1.0, 0.0); + result += mat4(-0.44384086, -0.063816145, 0.14313193, 0.042119484, 0.13939157, 0.02742546, -0.010837158, -0.11953808, 0.083049394, 0.22100104, 0.12818006, -0.27883413, -0.22672728, 0.28484213, 0.053133663, -0.2364556) * go_3(1.0, 1.0); + result += vec4(-0.021096209, -0.016017085, 0.009604813, -0.023907887); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.0028523596, -0.03346185, 0.30194005, 0.26316985, -0.108354695, 0.19872186, -0.14200853, 0.28833616, 0.009908957, 0.049258288, 0.18224198, -0.10260487, -0.011250263, -0.027236924, -0.03667901, 0.035038423) * go_0(-1.0, -1.0); + result += mat4(-0.10311966, -0.07219459, 0.13850203, -0.07606934, 0.16186213, 0.20828444, -0.113131486, 0.21757083, -0.14668499, -0.015719058, -0.24257174, 0.33343476, 0.042950086, 0.014013289, -0.095338345, -0.10305408) * go_0(-1.0, 0.0); + result += mat4(-0.054802764, -0.03977167, 0.058000274, 0.06520257, -0.06657145, 0.09240672, 0.18538313, -0.057592865, 0.11657067, 0.1435708, -0.10273095, -0.12743765, 0.031955425, -0.032504886, -0.043181136, -0.033146795) * go_0(-1.0, 1.0); + result += mat4(0.17017461, 0.023741657, 0.12772968, 0.054186005, -0.06654799, 0.13280976, -0.08608028, -0.18274061, -0.14409089, -0.07336282, -0.21611233, 0.3030394, -0.22331606, -0.04621103, 0.008330136, 0.13817237) * go_0(0.0, -1.0); + result += mat4(0.12490482, -0.15037048, -0.308773, 0.015911192, -0.23533738, -0.3296806, -0.16643348, -0.18637176, 0.3725922, 0.22720487, 0.101118185, -0.1130553, 0.14583476, 0.25240546, 0.07148758, -0.023047412) * go_0(0.0, 0.0); + result += mat4(-0.21086755, 0.10873368, 0.23762812, -0.12715688, 0.07081291, -0.13914634, 0.23084821, -0.027778924, -0.011987815, -0.27076182, -0.037216157, -0.028230239, -0.055693954, -0.1835301, -0.19994727, -0.05208119) * go_0(0.0, 1.0); + result += mat4(0.0063535348, -0.047104187, 0.16425404, -0.003719743, -0.048529398, -0.17317753, -0.048431315, 0.12659106, -0.10488035, 0.14231968, -0.042716738, -0.20889871, -0.17258343, -0.1703121, -0.08134935, -0.08982632) * go_0(1.0, -1.0); + result += mat4(-0.047956906, 0.02809404, -0.23035078, 0.017211597, 0.056016855, -0.16766964, 0.024528379, 0.15064329, -0.20351112, -0.16514936, -0.013601919, 0.056769293, -0.4962774, -0.315249, -0.11879433, 0.24711494) * go_0(1.0, 0.0); + result += mat4(0.11659998, 0.23360188, -0.037019785, 0.01478414, -0.0056206854, -0.058505666, 0.05248197, 0.048921894, 0.014286839, -0.05282425, 0.12870628, 0.12335835, -0.2298834, -0.34117943, 0.07997886, 0.026714392) * go_0(1.0, 1.0); + result += mat4(-0.061862264, -0.024006715, 0.1239327, -0.06400159, -0.1736359, -0.13043079, -0.047287256, 0.092979684, -0.052144498, 0.046599787, 0.03391796, 0.10504723, 0.12802011, 0.05123276, 0.15974, 0.052002482) * go_1(-1.0, -1.0); + result += mat4(0.22270438, -0.15555483, 0.10334453, -0.033303298, -0.13101499, 0.37030843, -0.6013731, 0.22835553, 0.17596579, -0.0012125646, 0.000731955, -0.03726906, -0.033959538, 0.10808315, 0.043731548, 0.12308547) * go_1(-1.0, 0.0); + result += mat4(-0.02969512, 0.029882276, -0.04630252, -0.029674841, 0.15309821, 0.35859957, -0.15453109, 0.12228518, -0.062312573, -0.030289005, 0.10737798, 0.01659783, -0.07855408, 0.090425, -0.07134876, 0.10678761) * go_1(-1.0, 1.0); + result += mat4(0.068100914, -0.16862309, 0.2094642, -0.02229975, -0.1045019, -0.043305863, 0.18030378, -0.085608065, -0.13514027, 0.11298315, -0.009570404, -0.03180812, 0.19233464, -0.058786966, -0.06211013, 0.1411384) * go_1(0.0, -1.0); + result += mat4(0.025985425, 0.08034115, 0.14352584, 0.039992746, -0.034363434, 0.27888498, -0.21407174, -0.15813926, -0.10999899, -0.15183197, -0.23127002, 0.10193841, 0.029217485, 0.069463246, 0.093416885, -0.17118438) * go_1(0.0, 0.0); + result += mat4(-0.34840858, 0.18985972, 0.1336286, 0.11525281, -0.12827359, -0.14426456, 0.13312757, -0.06653705, 0.050836112, 0.06430556, 0.14759327, 0.043341596, 0.17556888, -0.14065917, 0.046736937, -0.01075016) * go_1(0.0, 1.0); + result += mat4(0.13843128, -0.07928894, 0.09180436, -0.17497942, -0.0075141867, -0.13388832, 0.07851216, 0.16109377, 0.190535, -0.05877419, -0.010671232, 0.056779247, 0.005048462, 0.084110186, 0.053035934, -0.18244119) * go_1(1.0, -1.0); + result += mat4(0.2849969, -0.045472432, -0.007433944, 0.1180168, 0.060636494, 0.13299662, -0.14055575, 0.045158602, -0.08960926, 0.013875276, -0.01840017, -0.06518111, -0.062131494, 0.13034189, -0.086812675, -0.302895) * go_1(1.0, 0.0); + result += mat4(0.116545, 0.19018339, 0.015378095, 0.11349383, 0.097009905, 0.08176944, 0.033653412, -0.08137759, 0.03190533, 0.0014444767, -0.110253245, -0.075649016, -0.19349468, -0.22105742, -0.026897507, 0.11604942) * go_1(1.0, 1.0); + result += mat4(-0.1504224, -0.17498577, -0.111215115, -0.18127528, 0.01749777, 0.02000031, 0.10482995, 0.0281041, 0.14524435, 0.032341465, -0.1431526, 0.035199255, 0.07964384, 0.12253888, -0.04288506, 0.08354433) * go_2(-1.0, -1.0); + result += mat4(0.12756018, -0.09853538, -0.14765038, -0.14513035, -0.1674001, 0.041217312, 0.1293034, -0.14122911, 0.22340834, 0.026480576, 0.30324772, -0.14868121, -0.007565819, -0.118748344, 0.13285564, 0.00254272) * go_2(-1.0, 0.0); + result += mat4(0.049038395, -0.053402808, -0.20165808, -0.023086373, 0.11763773, -0.06335101, -0.033782937, 0.04164607, -0.18420623, -0.19549052, 0.046879902, 0.009774202, 0.01943834, 0.0056786705, -0.076153725, 0.02122122) * go_2(-1.0, 1.0); + result += mat4(-0.26325268, -0.031591017, -0.009897877, 0.1264021, 0.17001875, -0.0703141, 0.09623203, -0.3370359, 0.18430787, 0.27577603, 0.24643779, -0.0070356624, 0.14593714, -0.0370321, -0.09890827, -0.2308416) * go_2(0.0, -1.0); + result += mat4(-0.07015072, 0.096860155, 0.237449, 0.02297801, 0.055075265, 0.27420217, 0.020077437, 0.18272734, -0.33312458, 0.10344985, -0.2324171, 0.065973476, -0.20755117, -0.27599007, -0.5285744, -0.4155286) * go_2(0.0, 0.0); + result += mat4(0.07746828, -0.05007699, -0.0768586, 0.20854229, -0.03390625, 0.030966418, -0.019005757, -0.044068232, 0.107805826, 0.27990255, 0.20861949, -0.13380727, 0.11099171, -0.24434194, -0.44939178, 0.09977314) * go_2(0.0, 1.0); + result += mat4(-0.025078122, 0.1578438, -0.087854326, 0.20194288, 0.09858984, 0.05664248, 0.007542862, -0.08403176, 0.1984592, -0.18137619, 0.008725761, 0.1726853, -0.05140944, 0.011235891, -0.043068934, 0.0055390405) * go_2(1.0, -1.0); + result += mat4(0.11204605, 0.12672849, 0.21329713, 0.022434214, 0.18346484, 0.15253071, -0.07683229, -0.023870528, 0.15187134, 0.16080903, -0.20011483, -0.055256322, 0.2351501, -0.10940274, 0.3296904, -0.08561938) * go_2(1.0, 0.0); + result += mat4(-0.116775244, -0.034662195, 0.09385859, 0.015938438, 0.04321025, 0.07417467, -0.020254206, -0.021971289, 0.082221195, -0.17118677, -0.0803086, -0.04383127, -0.040375095, 0.19555633, -0.02246454, -0.039880734) * go_2(1.0, 1.0); + result += mat4(0.091371894, 0.07079164, -0.061235007, -0.074043915, -0.07527448, 0.20644194, -0.025892835, 0.288527, -0.0681896, -0.18799694, -0.02397431, -0.20931835, -0.23740639, -0.21364078, -0.066721395, 0.046312522) * go_3(-1.0, -1.0); + result += mat4(0.028192231, -0.076668344, -0.048378978, 0.08975191, 0.11627764, 0.1206538, 0.13604914, -0.32365093, -0.3457084, 0.038705852, -0.11968679, -0.03261415, -0.08069945, 0.06448551, -0.04925646, -0.112106614) * go_3(-1.0, 0.0); + result += mat4(0.02704155, -0.38007632, -0.12648691, 0.0065948786, -0.107972704, -0.07776103, -0.09248745, -0.034419768, 0.08890347, 0.005535876, -0.17764446, 0.01000324, 0.09786164, 0.0046856827, 0.071132, -0.07665281) * go_3(-1.0, 1.0); + result += mat4(0.084308736, 0.12159227, 0.09618809, -0.095442675, -0.19964129, 0.12708808, 0.13591234, -0.08824806, 0.13553478, 0.116799936, 0.2792844, 0.3961157, -0.21412137, 0.35075518, -0.4579121, 0.13404456) * go_3(0.0, -1.0); + result += mat4(0.14321525, -0.2190369, -0.0017736118, 0.04966717, -0.21058443, 0.03795149, 0.024490742, 0.16852312, 0.23549259, 0.098397486, 0.39796385, -0.17331013, 0.57935876, 0.14168213, 0.10026468, 0.12272344) * go_3(0.0, 0.0); + result += mat4(0.23204985, -0.13793765, -0.09148106, -0.24824184, 0.03669933, 0.40166143, -0.26450562, 0.1297136, -0.0033718192, -0.14882618, -0.027010696, 0.15510502, -0.13116877, 0.13243876, 0.29493085, -0.159246) * go_3(0.0, 1.0); + result += mat4(0.14412704, -0.043252222, 0.038036022, 0.21720204, 0.16157351, 0.25108346, 0.05750981, -0.11665398, 0.15858066, 0.13024889, -0.30726764, -0.017599456, -0.13654993, 0.16810633, -0.22028227, 0.054728623) * go_3(1.0, -1.0); + result += mat4(0.04761309, -0.1425047, 0.121673144, -0.0067104516, 0.13617267, 0.11343255, 0.14773287, -0.111807466, 0.29447448, 0.043634728, 0.040583152, -0.22446026, -0.17453341, -0.1746306, -0.27435815, 0.1823859) * go_3(1.0, 0.0); + result += mat4(0.0914674, -0.1296898, 0.081237026, -0.03182429, -0.082685776, 0.08469174, -0.014075701, 0.043630067, -0.02028655, 0.043165345, 0.14293486, 0.03086512, 0.16910627, 0.32537475, -0.022409504, -0.15651123) * go_3(1.0, 1.0); + result += vec4(-0.010434646, -0.007589305, 0.03614506, 0.017320616); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.13837793, -0.05485083, -0.11455316, -0.23340753, -0.0019060506, 0.014073009, -0.006939684, 0.013028122, 0.0070730825, 0.07576272, -0.046580516, -0.10440529, -0.14514132, 0.118322305, 0.15771718, -0.10368211) * go_0(-1.0, -1.0); + result += mat4(0.0033887655, 0.105515614, -0.022994144, 0.20720185, 0.014884114, 0.04068789, 0.14153919, -0.20556916, -0.106429465, 0.15578473, 0.17493904, 0.27673894, 0.068228535, -0.17600566, 0.117449455, 0.1464803) * go_0(-1.0, 0.0); + result += mat4(-0.13132714, 0.057890475, -0.15540479, -0.05904855, 0.10353088, -0.014439668, 0.10086415, -0.035871122, 0.15052663, -0.017041713, 0.039761867, -0.20937371, 0.034573525, -0.10553617, 0.054362305, -0.1131222) * go_0(-1.0, 1.0); + result += mat4(0.043574177, -0.12957309, 0.06257102, 0.059841774, 0.025344899, -0.08974694, -0.02106646, -0.083086155, 0.044729084, 0.07391884, 0.026620472, 0.029281206, 0.0439835, -0.040075477, 0.20127645, 0.08995277) * go_0(0.0, -1.0); + result += mat4(0.4999535, -0.16519144, -0.082569085, 0.08618579, 0.20361039, -0.16703975, 0.013153, 0.19670624, 0.2853662, -0.11533776, -0.109247334, 0.06345074, 0.0635587, 0.104548655, 0.31481677, 0.2264137) * go_0(0.0, 0.0); + result += mat4(0.029020509, 0.24992752, 0.5356852, 0.16753946, -0.057788625, 0.02481026, 0.2059601, 0.16616577, -0.078577444, 0.307072, -0.08813778, 0.09565001, 0.02336261, -0.1928066, -0.0876608, -0.15015014) * go_0(0.0, 1.0); + result += mat4(0.079325944, 0.062302455, -0.10960886, -0.0025239969, 0.02924214, 0.026142644, 0.0821952, 0.008034841, 0.121127814, 0.109858714, -0.053383715, 0.22161359, 0.03572371, 0.013655175, -0.27442926, 0.038870957) * go_0(1.0, -1.0); + result += mat4(-0.057337154, 0.03110442, 0.07781571, 0.17697155, 0.10287903, 0.10192227, -0.036485553, -0.07374302, 0.081604324, 0.1566476, 0.23592737, 0.09747013, -0.095862515, -0.1456753, 0.057745866, -0.17291927) * go_0(1.0, 0.0); + result += mat4(-0.070838295, 0.15307118, -0.16363588, 0.08716062, -0.012117197, 0.09717453, -0.057428412, 0.019387208, -0.011734471, 0.28442237, -0.0138647, 0.1619097, 0.046210334, -0.06327717, 0.035489302, -0.055681925) * go_0(1.0, 1.0); + result += mat4(0.03013589, -0.16602181, 0.00417107, -0.022452664, 0.03615902, 0.09972378, -0.043409757, -0.028448848, -0.055032104, 0.08841848, -0.12667881, -0.06865927, -0.020555131, -0.09292043, 0.03676055, 0.1469838) * go_1(-1.0, -1.0); + result += mat4(-0.03413294, 0.1853497, -0.21196875, -0.2122292, -0.046451584, 0.33640862, 0.11074589, 0.0038315703, -0.32845765, -0.018679257, -0.24653831, 0.15887207, 0.018353334, -0.32828686, 0.070055164, 0.22649562) * go_1(-1.0, 0.0); + result += mat4(-0.11916958, -0.11415976, 0.10442459, 0.026471134, 0.15098315, 0.030927312, 0.08758737, 0.04333666, -0.40113255, -0.22881064, -0.18026584, 0.010727328, 0.04185913, -0.033592816, 0.019705769, -0.09931264) * go_1(-1.0, 1.0); + result += mat4(-0.024548884, 0.070657834, 0.04315053, -0.09292352, -0.023722034, -0.06946775, -0.017095754, 0.14835307, -0.030104019, 0.13317905, 0.052319784, 0.18717423, 0.024163181, 0.04198584, 0.024550296, 0.09124823) * go_1(0.0, -1.0); + result += mat4(0.36571705, 0.28200173, -0.031241365, 0.32836193, 0.15685938, 0.14499408, -0.03710283, -0.105348445, 0.2111411, -0.14371765, 0.22234774, 0.12241296, 0.12288187, -0.29133305, -0.23992771, 0.102442585) * go_1(0.0, 0.0); + result += mat4(-0.30764952, -0.38244587, -0.021552043, 0.02371933, -0.043024007, -0.09969857, -0.08754052, -0.05584622, 0.32374346, 0.21340463, 0.110945925, -0.19904156, -0.1425847, -0.16605812, -0.14231746, -0.14958249) * go_1(0.0, 1.0); + result += mat4(0.07996341, 0.036993798, 0.013508032, 0.015037227, -0.05188829, -0.08953449, 0.024801137, 0.20462893, -0.013199976, -0.19138044, -0.056084607, 0.14518543, -0.029846137, 0.033994604, 0.006321045, -0.19919403) * go_1(1.0, -1.0); + result += mat4(0.09230355, 0.17356168, -0.057000663, -0.10861382, 0.038658872, 0.01218888, 0.19109936, 0.021123217, 0.042241503, 0.008514072, 0.031998653, 0.014464009, -0.036506813, 0.27310863, -0.052563597, -0.21396813) * go_1(1.0, 0.0); + result += mat4(-0.036255296, -0.11269877, -0.07659167, -0.09690911, -0.027218975, 0.105712906, 0.05750272, 0.14222133, 0.016676722, 0.0962918, 0.05514509, -0.023851087, -0.07117767, -0.020666543, -0.23072378, -0.043072045) * go_1(1.0, 1.0); + result += mat4(0.1542571, -0.13077767, -0.0881844, -0.00536349, 0.019526271, -0.1529528, -0.11660246, -0.1698449, 0.019345785, -0.039716557, 0.14421196, 0.08003151, 0.15334103, -0.16667187, 0.006088769, 0.13378714) * go_2(-1.0, -1.0); + result += mat4(-0.08746076, 0.060209457, 0.051582757, 0.02863364, 0.1454257, 0.42194176, 0.09892967, 0.26043537, -0.06934357, -0.1020657, 0.23833197, 0.15991127, 0.09294198, 0.017690487, 0.11748737, -0.2849694) * go_2(-1.0, 0.0); + result += mat4(0.12285264, 0.073884204, -0.027040116, 0.03438263, -0.060739577, 0.17927702, 0.16900496, 0.3545027, 0.1545223, -0.09951323, 0.42339948, 0.14226453, 0.10644413, 0.15645456, -0.03346077, -0.009488195) * go_2(-1.0, 1.0); + result += mat4(-0.080912456, 0.16929491, 0.027275667, -0.020797532, 0.05746718, -0.071174294, 0.3193612, 0.055932105, 0.031726856, -0.03390961, 0.13757136, -0.017296424, -0.041106436, 0.02487556, -0.29788992, -0.29300368) * go_2(0.0, -1.0); + result += mat4(-0.32740706, 0.4221705, 0.35447162, 0.13970987, 0.07307587, 0.65598255, 0.7267268, 0.35669217, -0.24410655, 0.30564576, -0.033510603, 0.20394838, -0.012135275, -0.12212605, 0.00741055, -0.12938774) * go_2(0.0, 0.0); + result += mat4(0.17577599, -0.075835876, -0.06821395, -0.19289997, 0.048764437, 0.11093425, 0.15844633, 0.21540429, -0.14261006, -0.12678951, -0.05380409, 0.21502183, -0.053737447, -0.23268248, 0.077271536, -0.11794149) * go_2(0.0, 1.0); + result += mat4(-0.06283879, -0.11581014, -0.0077474653, -0.051150266, 0.017263902, -0.12403667, 0.13689952, -0.13955206, -0.036969677, 0.04593233, 0.31484202, -0.021023672, 0.006109164, -0.022175733, 0.32699695, -0.26805824) * go_2(1.0, -1.0); + result += mat4(0.07529928, -0.020912366, -0.14532542, -0.13928838, 0.07875855, -0.18651104, 0.47042093, 0.342289, -0.06575549, -0.13776249, 0.21936299, 0.124723375, 0.05280059, -0.07600857, 0.0027616988, 0.11619774) * go_2(1.0, 0.0); + result += mat4(0.06760704, -0.11735106, 0.07262433, -0.040624633, 0.35947633, 0.29390943, 0.025136888, -0.12812558, 0.17102966, -0.15462054, 0.37353945, 0.030337518, -0.01959842, -0.07917661, 0.036980435, -0.008516924) * go_2(1.0, 1.0); + result += mat4(-0.07072042, 0.19770962, -0.039348952, 0.06489617, -0.03382829, -0.11054973, -0.035438936, 0.011020459, -0.050599303, -0.07308136, -0.029521624, 0.0694216, 0.021597218, 0.07275136, 0.1196986, -0.021191286) * go_3(-1.0, -1.0); + result += mat4(0.027155813, -0.024280313, -0.1322834, 0.219577, 0.013412778, 0.027934693, -0.10113296, 0.16649272, 0.029343246, 0.08333487, -0.09067474, -0.06318277, 0.016611677, 0.22737436, 0.11019619, -0.11105013) * go_3(-1.0, 0.0); + result += mat4(-0.10233781, 0.04936236, -0.12536384, 0.1270058, -0.07842266, 0.0018531404, 0.021235077, -0.13014361, -0.06192502, -0.07054751, -0.05475905, 0.053059015, 0.15269022, 0.11485296, -0.09188326, -0.13495958) * go_3(-1.0, 1.0); + result += mat4(-0.038748156, 0.17470013, 0.008070423, 0.47245374, 0.14041074, 0.0029743444, 0.09280988, -0.16300924, 0.025588343, 0.042092193, 0.021749513, -0.07912978, -0.08887605, -0.06223286, -0.017056612, 0.11412155) * go_3(0.0, -1.0); + result += mat4(-0.62907135, -0.054125126, -0.3091851, -0.2599738, 0.24917828, 0.36420155, 0.07772076, 0.039711658, -0.25157338, -0.023638945, -0.054642107, 0.25950512, -0.26855794, 0.16737756, -0.011335203, -0.383141) * go_3(0.0, 0.0); + result += mat4(0.019852921, 0.2599611, -0.17794183, 0.086149536, 0.27634904, 0.21865687, -0.047085866, -0.08818839, 0.013813605, 0.21364933, -0.22009525, -0.030338509, -0.1512191, 0.042633552, -0.17577383, 0.0662118) * go_3(0.0, 1.0); + result += mat4(-0.15513746, -0.07846239, -0.13220623, 0.106471166, 0.05573645, 0.16334842, -0.07945537, -0.19104981, -0.013032576, 0.08952008, 0.055789266, -0.035824023, -0.017594192, -0.04652965, -0.30483812, 0.054347165) * go_3(1.0, -1.0); + result += mat4(0.054959666, -0.055990525, 0.142193, 0.09890494, 0.047798425, 0.15105279, -0.16933344, -0.08214855, -0.11551477, 0.06605292, -0.20606443, -0.04266445, 0.01709317, -0.097884715, -0.21919689, 0.024738865) * go_3(1.0, 0.0); + result += mat4(0.009435747, -0.0011143036, 0.08239794, 0.06413721, -0.09412612, -0.07816752, 0.0070877066, -0.054295234, -0.02152047, -0.057394918, -0.02919309, 0.020081067, -0.03086805, -0.056924064, 0.026491363, 0.015115628) * go_3(1.0, 1.0); + result += vec4(0.0012513401, 0.026057906, 0.010539876, 0.009830541); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!SAVE conv2d_2_tf1 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.057580933, 0.01911187, -0.008719538, -0.017969212, -0.24201718, -0.058988657, -0.0025294814, -0.011815471, -0.10723921, -0.19644037, 0.020027963, 0.035667516, 0.08559372, 0.27885816, 0.064953476, -0.05350714) * go_0(-1.0, -1.0); + result += mat4(0.045166798, -0.10751055, 0.053228382, 0.12519331, 0.25117958, 0.06537292, -0.15587787, -0.07206778, 0.06837826, -0.043205425, -0.12318706, -0.15438488, 0.03246428, 0.074852064, 0.062248066, -0.009753593) * go_0(-1.0, 0.0); + result += mat4(0.09432274, 0.011490796, -0.04061421, -0.16661306, 0.05983951, -0.020288106, 0.029864697, 0.013547436, 0.021477815, -0.07964464, 0.045970913, 0.16307391, -0.04462305, 0.046968628, 0.029862186, 0.11649774) * go_0(-1.0, 1.0); + result += mat4(-0.14416671, 0.12803924, -0.18187119, -0.15840115, -0.10262368, 0.043705128, -0.10072281, -0.06468493, -0.043781534, -0.015372785, -0.16681372, 0.05544772, 0.03745967, -0.30812827, 0.007939141, -0.14296778) * go_0(0.0, -1.0); + result += mat4(-0.10959357, -0.23731256, 0.17797269, 0.1566764, -0.04658083, -0.08226227, 0.065335095, 0.12799698, -0.04347693, 0.07439239, 0.124068074, -0.12433461, 0.39953944, -0.4547675, -0.15020098, 0.029323136) * go_0(0.0, 0.0); + result += mat4(0.008521254, -0.42012635, -0.103437595, -0.14140712, -0.13161388, -0.04296955, -0.03418078, -0.11619488, -0.113280736, -0.04337926, -0.15152383, -0.025833655, -0.037376937, 0.028724195, 0.035038933, 0.07584188) * go_0(0.0, 1.0); + result += mat4(-0.0015208189, 0.02739281, 0.07880385, -0.05264596, 0.0006570586, -0.053559244, -0.060818747, 0.0014127572, -0.12706065, -0.22151639, 0.0050813453, 0.03868026, 0.017800469, 0.08653453, 0.12580872, 0.10975057) * go_0(1.0, -1.0); + result += mat4(-0.016247116, 0.060199317, 0.08806292, -0.0053588278, -0.036467995, 0.14757904, 0.010754306, 0.060899615, -0.1110678, -0.050623085, -0.021320427, -0.1970179, 0.1138183, 0.02913883, 0.011708719, -0.0031000238) * go_0(1.0, 0.0); + result += mat4(-0.07490824, 0.26012638, 0.023562372, -0.04637545, 0.015996248, -0.02646302, 0.0035619289, 0.009863964, 0.004463742, -0.13282667, 0.04664953, -0.07782132, 0.026051573, -0.13182716, -0.03470513, 0.082064465) * go_0(1.0, 1.0); + result += mat4(-0.04953172, 0.055778302, -0.007956572, 0.06453463, -0.112365015, 0.031204617, -0.031123973, 0.13237885, -0.08588153, -0.15947914, 0.25160727, -0.0101198545, -0.09021632, 0.0047894586, -0.008986191, -0.11622616) * go_1(-1.0, -1.0); + result += mat4(-0.07868324, -0.03463213, 0.011006695, 0.0033356217, 0.032993857, -0.10459223, -0.11331984, -0.17686851, -0.13263261, -0.22213052, 0.10728409, -0.1332059, -0.0019830016, -0.062202223, -0.12468388, -0.102955) * go_1(-1.0, 0.0); + result += mat4(0.06774758, -0.019607622, -0.054707706, -0.032572657, -0.056999106, 0.0063034142, -0.0040720105, 0.04574635, 0.21903323, 0.13402393, -0.07107346, -0.08973124, 0.020255536, -0.021238161, -0.104306765, -0.009237116) * go_1(-1.0, 1.0); + result += mat4(0.10643413, -0.116414584, -0.097003944, -0.07626372, -0.28920346, 0.023803055, 0.07691808, 0.015008518, -0.1373578, 0.01935071, -0.07574301, 0.052712873, 0.09657614, -0.02497193, -0.0043158466, -0.09333523) * go_1(0.0, -1.0); + result += mat4(-0.25414145, -0.26243624, 0.12937985, -0.17944777, 0.3664257, -0.06487048, -0.10509681, -0.10630014, 0.075283855, 0.4662916, -0.0014712083, -0.29535007, -0.13022043, 0.25766194, 0.14769283, 0.10512634) * go_1(0.0, 0.0); + result += mat4(0.0689302, 0.022661772, -0.043984957, 0.13596754, -0.06885858, 0.059424106, 0.017230453, 0.08873089, 0.32940426, -0.12071059, -0.08323642, 0.23238598, -0.06291085, 0.09859973, -0.00700876, 0.12986307) * go_1(0.0, 1.0); + result += mat4(-0.060717613, 0.030503884, -0.06323549, 0.0059739, 0.08190414, 0.047006775, -0.0023143853, -0.027005509, -0.17168896, 0.20450558, 0.047933526, -0.03124133, 0.14688456, 0.044616744, -0.07474459, 0.13730273) * go_1(1.0, -1.0); + result += mat4(0.16486372, 0.13952915, 0.1093748, -0.031850196, -0.14090009, -0.120079, 0.023628023, -0.077027865, 0.09811187, -0.033171307, -0.03331771, -0.038893215, 0.011286584, -0.15111947, -0.017341943, 0.0015878569) * go_1(1.0, 0.0); + result += mat4(-0.09481133, 0.107053526, 0.047643233, 0.16805217, -0.0678524, -0.07519125, -0.02258995, -0.13705339, 0.16563395, -0.16972524, 0.04326224, 0.024816778, 0.010601283, -0.041156873, 0.062542215, 0.047571044) * go_1(1.0, 1.0); + result += mat4(0.12500185, -0.006936863, 0.024489427, 0.1740798, -0.036525737, -0.12511401, 0.07990025, 0.02839474, -0.12753619, -0.06010621, 0.08279232, -0.081194244, -0.09039855, -0.18112564, -0.26476932, -0.031485114) * go_2(-1.0, -1.0); + result += mat4(-0.100102335, 0.22857793, 0.14938287, -0.014803003, -0.17217094, -0.62685734, 0.095959224, 0.17851897, 0.06559054, 0.10896349, 0.0067452556, -0.07877991, 0.15820199, -0.19860643, -0.23554341, 0.108216554) * go_2(-1.0, 0.0); + result += mat4(-0.06440183, -0.086768515, 0.06501931, -0.013325654, 0.048092242, -0.2516782, -0.07378936, -0.5093634, -0.21180914, 0.028729467, 0.097722694, -0.10443471, 0.087278105, -0.13554108, -0.07925715, 0.025918096) * go_2(-1.0, 1.0); + result += mat4(0.101379745, -0.098901495, 0.088425554, 0.10312074, -0.06832467, -0.14247051, -0.06577163, 0.038505282, -0.058837283, -0.041290045, 0.024700344, -0.03952513, 0.050091445, 0.20111398, -0.12729187, 0.17162229) * go_2(0.0, -1.0); + result += mat4(-0.14357474, -0.52516335, -0.28848764, -0.25948864, -0.6469683, -0.25461218, -0.12740892, -0.23631012, -0.14096075, -0.28670883, 0.12026559, -0.17575467, 0.40593022, 0.09236864, 0.11895183, -0.21580887) * go_2(0.0, 0.0); + result += mat4(-0.027686533, -0.014736693, 0.11776454, 0.104835264, -0.1122669, -0.10067572, 0.054669123, -0.3256272, -0.1618158, 0.24705333, 0.07530265, -0.16693603, 0.11981224, -0.01764311, 0.035309367, 0.18991415) * go_2(0.0, 1.0); + result += mat4(0.075753845, 0.030512655, -0.033218108, -0.0020751022, -0.059813447, 0.13577273, -0.17669228, -0.015658198, -0.03524086, -0.027248759, 0.011696296, -0.13176118, 0.13976848, -0.11381985, -0.069327734, -0.04551793) * go_2(1.0, -1.0); + result += mat4(0.025345126, -0.017192554, -0.10062235, 0.19348828, -0.1404843, 0.19161314, -0.266943, -0.30460906, -0.25685784, 0.023311002, -0.21997964, -0.04452797, 0.039271735, -0.0077815196, 0.05758964, 0.08804478) * go_2(1.0, 0.0); + result += mat4(0.04886391, -0.017406208, -0.038027596, 0.012643386, 0.14007851, 0.0012767792, -0.115759425, 0.097489856, 0.17599659, -0.050711423, -0.084151536, -0.15770845, -0.08287477, 0.120081306, 0.015947923, -0.06668065) * go_2(1.0, 1.0); + result += mat4(-0.10980535, 0.12270783, 0.063907675, -0.07847296, 0.10355225, -0.31747913, -0.10403689, 0.005290646, 0.07667107, -0.10277437, -0.08069292, -0.02559804, -0.047999926, 0.29834297, -0.036717292, -0.05650061) * go_3(-1.0, -1.0); + result += mat4(-0.103821196, -0.009593053, 0.066295676, -0.38370672, -0.037927628, -0.2711836, 0.1377398, -0.08418159, -0.0737972, -0.039782777, 0.13933297, 0.04516865, -0.06268818, 0.337236, -0.121655226, -0.008400626) * go_3(-1.0, 0.0); + result += mat4(-0.15113829, 0.0017028727, -0.02523152, 0.020020628, 0.14301538, -0.20421621, -0.07266804, 0.04835691, -0.03385325, 0.06579219, -0.026479365, -0.037032843, 0.038153037, 0.014210751, -0.03542229, 0.0710242) * go_3(-1.0, 1.0); + result += mat4(0.0054667736, 0.01744876, 0.3065127, 0.049586684, 0.18856415, 0.2730343, -0.2333077, 0.0068653813, 0.3263104, 0.1581569, -0.067741506, -0.10893117, -0.23163976, 0.0029724934, 0.21427019, -0.05729933) * go_3(0.0, -1.0); + result += mat4(0.2783585, 0.17852917, -0.1389073, 0.1369532, -0.10491301, 0.3753245, -0.2739856, 0.18703647, -0.64889586, 0.06298504, -0.29364008, 0.17944366, 0.09733316, -0.21755181, 0.090409346, -0.022404745) * go_3(0.0, 0.0); + result += mat4(-0.08643692, 0.043516237, 0.07125337, -0.23520306, 0.042653214, 0.058355685, -0.13027787, -0.0015239809, 0.06168663, 0.04952333, 0.03217504, -0.094814256, 0.25104445, 0.06959146, -0.14522897, -0.034003105) * go_3(0.0, 1.0); + result += mat4(0.10193368, 0.109207876, 0.06922978, -0.035177775, 0.08234648, -0.24269609, 0.05216447, 0.07194904, 0.08424774, -0.023948545, 0.1292036, -0.16073976, -0.11004149, -0.14011864, 0.05699544, 0.08603814) * go_3(1.0, -1.0); + result += mat4(-0.159505, 0.011439578, 0.031358175, -0.074699186, 0.16425711, -0.29734048, 0.06415531, 0.09782104, -0.047154855, -0.053923853, 0.13791925, 0.01920221, 0.2510621, 0.011180524, -0.02389365, 0.22188987) * go_3(1.0, 0.0); + result += mat4(-0.052833233, -0.0011790307, 0.01832988, -0.087143995, 0.16383314, -0.018386772, 0.018473852, 0.022136362, 0.00095872144, 0.059976995, 0.00461632, 0.006194564, -0.05576084, 0.19239509, 0.07017777, -0.0542914) * go_3(1.0, 1.0); + result += vec4(-0.03782637, -0.0035752894, -0.010155095, -0.025359483); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_last_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.02066797, -0.013601862, -0.007048889, -0.010436224, -0.013475746, 0.017484829, 0.003569871, 0.010704422, -0.013622159, 0.0051929723, -0.01672668, -0.011980923, 0.03233822, -0.008870257, 0.024951939, 0.011703474) * go_0(-1.0, -1.0); + result += mat4(0.09294306, 0.0014346406, 0.08119577, -0.008968148, -0.003100696, 0.026659792, -0.012744048, 0.02888033, -0.032950055, 0.016204342, -0.017369213, 0.022491494, 0.049124617, -0.027378289, 0.02111168, -0.037705775) * go_0(-1.0, 0.0); + result += mat4(-0.008216952, -0.021160914, 0.040945128, -0.010472813, -0.005768232, 0.0016923469, -0.0061864546, 0.0007168136, -0.014967856, -0.0013775446, -0.03696006, -0.0011331941, 0.006405253, 0.0030893548, 0.052975312, -0.0077081146) * go_0(-1.0, 1.0); + result += mat4(0.1026977, 0.06607977, -0.025372373, -0.03354179, -0.034359697, -0.046674587, -0.012842571, 0.0041260347, 0.0189941, -0.029389031, 0.028211223, 0.010089593, -0.0057367194, 0.053311557, -0.037211698, 0.0035831304) * go_0(0.0, -1.0); + result += mat4(0.21819879, 0.24159485, 0.25479653, 0.22689046, -0.14693534, -0.101709016, -0.12968269, -0.11193918, -0.17564386, -0.09321151, -0.1088182, -0.098540194, 0.016255755, 0.11983511, 0.07260058, 0.11377339) * go_0(0.0, 0.0); + result += mat4(-0.0065045636, -0.014916138, 0.08657154, 0.08976987, -0.013105138, -0.014341284, -0.07822386, -0.05141758, -0.008127414, -0.023220202, -0.07729052, -0.05847569, -0.014462153, -0.008247349, -0.029479884, 0.053986717) * go_0(0.0, 1.0); + result += mat4(-0.05111642, 0.013267287, -0.010962933, -0.0062592067, 0.031603336, 0.017792836, 0.040512457, 0.021096494, 0.025952626, 0.03858803, 0.009819873, 0.014087486, -0.016874991, -0.021088999, 0.0048008533, -0.014261808) * go_0(1.0, -1.0); + result += mat4(-0.054689944, 0.019172559, -0.10202758, 0.01563535, 0.024953881, -0.042438734, 0.03068713, -0.019600231, 0.0026854384, -0.08990359, 0.038635172, -0.0014791996, -0.045267813, -0.06297795, -0.050205074, -0.036708377) * go_0(1.0, 0.0); + result += mat4(-0.009820029, -0.007953665, -0.0030171487, 0.025994476, 0.0055633057, 0.0023106632, -0.0011157666, -0.032652337, 0.02231576, 0.0150678335, -0.00035031908, -0.049004823, -0.0048957765, -0.007189859, -0.022652647, -0.039600767) * go_0(1.0, 1.0); + result += mat4(-0.025157524, 0.005564745, 0.0077270563, -0.007929144, 0.07835409, -0.03961485, 0.0042581395, -0.012796515, 0.018968092, 0.0065416014, -0.018439304, -0.031132344, -0.008802365, -0.019820224, -0.053818177, 0.019140625) * go_1(-1.0, -1.0); + result += mat4(0.024769353, -0.016378574, 0.11481205, -0.026075391, -0.028652724, -0.008835214, 0.06427986, -0.04859151, -0.014552956, -0.028410029, 0.111585446, 0.009804185, -0.042241797, 0.0019805022, 0.03361954, -0.017370641) * go_1(-1.0, 0.0); + result += mat4(0.034053475, 0.038674638, -0.04696516, -0.0045251776, -0.0039383816, -0.0021523088, -0.021408198, -0.0003014931, -0.023644248, 0.020932276, -0.108067356, 0.030942762, -0.026552102, -0.0056460355, 0.008178258, -0.0009253607) * go_1(-1.0, 1.0); + result += mat4(0.078304745, 0.011302627, -0.036976036, -0.013908656, -0.10690595, 0.016818136, 0.015758326, -0.016121918, -0.037873853, 0.00037048876, -0.009456388, -0.016097274, 0.057774395, 0.15647416, 0.00012419945, -0.085859895) * go_1(0.0, -1.0); + result += mat4(-0.2873381, -0.16951321, 0.14959157, 0.36375824, -0.16162755, 0.30172205, -0.28958184, 0.2487593, -0.10533105, 0.42946494, -0.20263031, 0.23740861, 0.023840647, -0.06442918, -0.29647085, -0.12943329) * go_1(0.0, 0.0); + result += mat4(0.0029997546, 0.023317888, -0.023340696, -0.09114311, -0.05119816, -0.08453361, -0.041490365, 0.006037165, 0.016185664, -0.08495001, 0.08690409, 0.10635855, -0.0121372985, -0.0061607, -0.03049874, 0.03893408) * go_1(0.0, 1.0); + result += mat4(-0.010922993, 0.03413124, -0.011615248, -0.016528865, 0.015621528, 0.08856427, 0.01220382, 0.0052098404, 0.04833281, 0.037831176, 0.026502393, 0.0107578635, 0.029293455, -0.0051649977, 0.007572071, 0.010101437) * go_1(1.0, -1.0); + result += mat4(0.0016892543, -0.086751014, -0.0041350387, -0.06005637, 0.041606825, -0.19200447, 0.028292444, -0.017876074, 0.0101423515, -0.08625792, 0.09077659, 0.024676733, -0.046471898, -0.021680003, 0.007921834, -0.079603985) * go_1(1.0, 0.0); + result += mat4(0.017057033, -0.008013634, -0.018102577, -0.01345755, 0.0620006, -0.025968201, 0.07138734, -0.09975251, -0.005465781, -0.011184834, -0.0651285, -0.079556055, -0.00055764546, -0.007492052, -0.029603545, -0.07078825) * go_1(1.0, 1.0); + result += mat4(-0.10589389, 0.021210285, -0.028930133, 0.016055413, -0.18338472, -0.051082015, 0.1020663, 0.014365114, 0.11688869, -0.039388333, 0.009866559, -0.03795289, 0.013310502, 0.023231732, 0.007659133, -0.0027602138) * go_2(-1.0, -1.0); + result += mat4(0.0025395593, 0.0073232944, -0.04352944, 0.019918712, 0.020041449, -0.073162615, 0.096950345, 0.021914015, -0.17350666, 0.12829295, 0.07900105, 0.03115375, -0.012729986, 0.025017815, -0.19016227, 0.03532046) * go_2(-1.0, 0.0); + result += mat4(-0.004561337, 0.018127436, -0.03147566, 0.014196702, 0.016791651, -0.0021540376, -0.021546744, -0.006671925, -0.008601794, 0.0384946, -0.16477007, 0.122372, -0.03592093, -0.016040638, 0.025269061, 0.023783052) * go_2(-1.0, 1.0); + result += mat4(0.17777547, -0.29313773, 0.15184408, -0.026345825, 0.046505112, -0.2121665, 0.08373203, 0.1717021, -0.028687157, -0.07293457, -0.062076677, 0.056581914, -0.19576493, -0.1566389, 0.11269683, 0.12300568) * go_2(0.0, -1.0); + result += mat4(-0.2722888, -0.23436427, -0.1575821, -0.48185775, 0.38314724, 0.34028763, -0.22216766, 0.007053101, 0.43936196, -0.106232345, 0.3447898, -0.23145236, 0.17801034, 0.107395455, -0.10301275, -0.37671486) * go_2(0.0, 0.0); + result += mat4(0.027849002, 0.005493108, -0.07151169, -0.037706394, -0.030193258, 0.010484296, 0.12785462, 0.013065869, -0.02244137, 0.07738321, 0.1428445, 0.113706514, -0.016278854, -0.042375315, -0.014864632, 0.009536567) * go_2(0.0, 1.0); + result += mat4(0.016663784, 0.05133444, -0.036621124, -0.008492059, 0.006291255, 0.11044035, -0.06309081, -0.069970004, -0.080658376, 0.09237095, -0.034645274, 0.008006193, 0.0027648888, -0.055031255, 0.03726407, 0.04109432) * go_2(1.0, -1.0); + result += mat4(0.020757113, -0.037167564, 0.10940448, 0.10017512, -0.0557746, 0.068767264, 0.004170172, -0.13714421, -0.03749213, 0.06711421, -0.106826246, 0.11498757, 0.04753172, 0.10241908, 0.029435748, 0.07990668) * go_2(1.0, 0.0); + result += mat4(0.006560853, 0.023810847, -0.024475241, -0.058117945, -0.035195846, -0.04271988, 0.049571864, 0.15042038, -0.007620832, -0.025544636, 0.008050735, 0.01056782, 0.003100258, 0.004679245, 0.006587324, 0.018110644) * go_2(1.0, 1.0); + result += mat4(-0.02249566, 0.007422409, 0.012279647, 0.010022545, 0.009818794, -0.0038862806, 0.0011564652, -0.0012341562, 0.025019286, -0.0007220492, 0.0124062635, -0.0023235283, 0.007858289, 0.005228454, -0.012827192, -0.007885503) * go_3(-1.0, -1.0); + result += mat4(-0.006161589, -0.00088863634, -0.023869669, 0.0018966346, -0.029431801, -0.02086368, -0.0028806294, -0.018974712, -0.061033156, 0.0062700063, -0.013323617, -0.002422788, 0.006092313, 0.023675537, 0.024895974, 0.028143935) * go_3(-1.0, 0.0); + result += mat4(-0.01571405, -0.011126691, -0.023274293, -0.011942278, 0.008145339, 0.002989056, -0.009912996, 0.003355017, 0.027048714, -0.0027421801, -0.017191814, 0.011846277, -0.0014130942, -0.007118815, -0.006929838, 0.0016808703) * go_3(-1.0, 1.0); + result += mat4(-0.008867632, -0.054621387, 0.00521757, -0.001299046, -0.011991457, 0.01253288, 0.007283377, 0.008240456, -0.0328741, 0.030364394, 0.020916186, 0.046377357, -0.0025963385, 0.01801948, 0.017200526, 0.00594781) * go_3(0.0, -1.0); + result += mat4(0.049747035, -0.019024936, -0.037307423, -0.08635432, 0.06362242, -0.031690367, 0.0065028532, -0.008046128, -0.05511954, -0.10017574, -0.105036125, -0.07040073, 0.17360815, 0.01423494, 0.08344793, 0.034444667) * go_3(0.0, 0.0); + result += mat4(0.017059349, 0.018542623, 0.08186985, 0.032335408, 0.025869634, 0.05591529, 0.06690499, 0.03575357, -0.012014303, 0.0105476575, 5.6129655e-05, -0.048691276, 0.018272987, 0.006864036, 0.07919666, 0.011271695) * go_3(0.0, 1.0); + result += mat4(0.0083691375, 0.019432282, -0.0020216214, 0.010078488, -0.010552234, -0.018613037, -0.01894401, -0.019692581, -0.018510802, -0.05016945, -0.019306058, -0.026060628, -0.022509305, -0.026064832, -0.022758938, -0.0126465075) * go_3(1.0, -1.0); + result += mat4(0.014892795, 0.05182727, 0.029640755, 0.042491425, 0.002331018, 0.049497634, 0.023474293, 0.03618418, 0.042020023, 0.022141129, -0.01769678, -0.05579617, 0.01911445, 0.12306055, -0.01590528, 0.034323514) * go_3(1.0, 0.0); + result += mat4(0.006270243, 0.007303163, 0.00036148846, 0.03448912, -0.012123668, -0.009662251, -0.024768578, 0.011880113, 0.022290664, 0.020946119, 0.080712624, 0.07576267, -0.019421795, -0.0020419061, 0.018644858, 0.06175357) * go_3(1.0, 1.0); + result += vec4(-0.0010649486, -0.00016483334, -0.0012494534, -0.00068970193); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_last_tf1 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.0035857174, 0.0015660138, 0.020620639, 0.005492695, 0.001423522, -0.0054458505, 0.012705879, -0.0034037326, 0.0149765, 0.013593896, -0.010144564, -0.0033618324, -0.025044372, -0.015873099, 0.004778018, 0.0032093422) * go_0(-1.0, -1.0); + result += mat4(-0.048154887, 0.0020999224, -0.025491469, 0.006954485, 0.033840816, -0.004235974, -0.0017972046, -0.016532846, 0.021911, -0.019167153, 0.028508998, -0.009081471, -0.007042987, 0.01162185, -0.04339448, 0.0007982697) * go_0(-1.0, 0.0); + result += mat4(0.00692694, 0.0055899867, -0.023532946, -0.005534464, 0.0065109115, -0.0013627014, 0.030455293, -0.0042733895, 0.003067062, -0.0019513131, 0.006832627, -0.009393006, -0.000787669, 0.0077676126, 0.017214414, 0.0005746928) * go_0(-1.0, 1.0); + result += mat4(0.04131343, 0.0061334246, 0.04663622, 0.034750223, 0.08184925, 0.054405987, 0.024695259, 0.049768113, 0.018208977, -0.008268458, -0.0025095541, -0.008479898, -0.024029268, -0.010577515, -0.005219355, 0.018835438) * go_0(0.0, -1.0); + result += mat4(-0.06885562, -0.093354285, -0.048095718, -0.09125787, 0.010425496, 0.05662435, 0.063850805, 0.052370857, 0.005560605, 0.10203871, 0.011031155, 0.0477262, -0.18752532, -0.11192383, -0.101294495, -0.109485805) * go_0(0.0, 0.0); + result += mat4(0.036398027, 0.014735432, 0.016239874, -0.01584611, -0.01778564, -0.004402638, -0.023574408, 0.02128348, -0.0046439893, -0.009485744, 0.0150541775, 0.042738233, 0.002258786, -0.0077040903, -0.10126805, -0.032423664) * go_0(0.0, 1.0); + result += mat4(-0.017738108, -0.005236546, 0.017476387, 0.024146654, -0.008857861, 0.030536365, 0.00078645826, -0.0040980624, 0.011337365, 0.02425144, 0.00035175736, -0.006825428, 0.0052930177, -0.0023696972, 0.005261922, -0.005584412) * go_0(1.0, -1.0); + result += mat4(9.1015834e-05, -0.025756188, -0.03374904, -0.04208741, -0.0063595036, -0.013884236, -0.01298973, 0.017781528, 0.00026187245, -0.03274113, 0.02486941, 0.028255679, 0.035963513, -0.0581295, 0.035199746, -0.0104088895) * go_0(1.0, 0.0); + result += mat4(-0.01260853, 0.0062392578, -0.003071281, 0.01035934, 0.0057190065, -0.0017513676, -0.0026357982, -0.017834812, 0.00678827, 0.008202837, -0.009278475, -0.020972013, 0.010203599, 0.001279875, 0.011321498, -0.041021187) * go_0(1.0, 1.0); + result += mat4(-0.016318664, 0.010274144, 0.0058704168, -0.0003722195, 0.08622261, -0.056748323, 0.012796814, -0.015498583, -0.014841128, -0.013023518, -0.017376468, -0.011344732, -0.0011321327, -0.004839438, -0.065831445, 0.0170905) * go_1(-1.0, -1.0); + result += mat4(0.029771782, -0.029376734, 0.12636128, -0.041424155, -0.037272833, -0.028138392, 0.05147389, -0.071253724, -0.058589596, -0.0038131222, 0.07219576, -0.018886834, -0.03175935, 0.022464748, 0.04460918, 0.007712493) * go_1(-1.0, 0.0); + result += mat4(0.031791184, 0.03750064, -0.04815924, -0.0037787687, 0.027883058, 0.0017699281, 0.00868531, -0.00061983714, 0.014328159, 0.011008469, -0.1027948, 0.061321545, -0.0232413, -0.0036074712, 0.013003957, 0.005047646) * go_1(-1.0, 1.0); + result += mat4(0.061875354, 0.013966958, -0.057976823, -0.027396917, -0.07729206, 0.037510768, 0.05148819, 0.013505393, -0.009836167, 0.017979803, 0.014434765, 0.011236566, 0.038901612, 0.14647634, 0.023550952, -0.05943926) * go_1(0.0, -1.0); + result += mat4(-0.2863236, -0.16270663, 0.13858683, 0.38562158, -0.18246396, 0.30728486, -0.30314833, 0.23621106, -0.09020211, 0.39363787, -0.14761628, 0.27088004, 0.023005886, -0.10956146, -0.33344752, -0.20269877) * go_1(0.0, 0.0); + result += mat4(0.032677263, 0.04735152, 0.013321085, -0.07145408, -0.0017462671, -0.02075628, -0.005706266, 0.07966981, 0.003467664, -0.07971056, 0.053607278, 0.04101255, -0.035280924, -0.01813141, -0.044000223, 0.025542235) * go_1(0.0, 1.0); + result += mat4(-0.008210569, 0.019704876, -0.015133452, -0.03008762, 0.0049174884, 0.08061308, 0.0038117717, -0.002029503, 0.042190753, 0.032804105, 0.014783755, -0.002336826, 0.054137956, 0.005509952, 0.008481185, 0.009885271) * go_1(1.0, -1.0); + result += mat4(0.013837548, -0.07767153, 0.022879202, -0.056488827, 0.065868095, -0.18863344, 0.03467011, -0.010413688, 0.021961903, -0.081908144, 0.088906504, 0.03597804, -0.00019099779, 0.031379074, 0.058308717, -0.026305178) * go_1(1.0, 0.0); + result += mat4(0.0014572622, -0.011619552, -0.026434032, -0.0043500545, 0.047792483, -0.024726411, 0.06545127, -0.11275325, 0.013236977, -0.00022499474, -0.029280944, -0.06866851, 0.006890194, -0.011312297, 0.0012165548, -0.04664351) * go_1(1.0, 1.0); + result += mat4(-0.047752246, 0.0029728701, -0.05373465, -0.005998469, -0.22396794, -0.029485608, 0.09026242, 0.02158353, 0.109403, -0.05481592, 0.010041409, -0.04743197, 0.055757776, 0.02585569, 0.02746905, -0.0030442658) * go_2(-1.0, -1.0); + result += mat4(0.099528484, -0.015010706, 0.100571565, -0.0034939381, 0.012570407, -0.043869816, 0.086886376, 0.05987024, -0.22607432, 0.16655043, 0.061426442, 0.05697152, 0.064990446, -0.005531908, -0.14511855, 0.0076572066) * go_2(-1.0, 0.0); + result += mat4(-0.012711154, -0.003635479, -0.0075224554, -0.0052927425, 0.0028822776, 0.0072370963, -0.056621686, 0.0026998962, -0.03712505, 0.042426053, -0.22980946, 0.14261132, -0.03626141, -0.039392795, 0.085727766, 0.012577211) * go_2(-1.0, 1.0); + result += mat4(0.2062136, -0.19833934, 0.07369608, -0.09740325, -0.034611486, -0.32579082, 0.07641666, 0.15784128, -0.039162353, -0.07734512, -0.033959284, 0.084764875, -0.1607926, -0.11135721, 0.10387057, 0.1112244) * go_2(0.0, -1.0); + result += mat4(0.042789772, 0.07384808, 0.13794817, -0.10090421, 0.22263366, 0.2233975, -0.42347354, -0.17161362, 0.277786, -0.30926275, 0.22161394, -0.37332773, 0.3831451, 0.37317204, 0.079320274, -0.17581266) * go_2(0.0, 0.0); + result += mat4(-0.008462805, -0.017743077, 0.006631768, 0.02413771, -0.03139262, -0.016224122, 0.08141759, -0.057388183, -0.031753678, 0.048525933, 0.058724694, -0.0065176883, -0.022200955, -0.042803597, 0.038398843, 0.10740149) * go_2(0.0, 1.0); + result += mat4(-0.02273882, 0.02042988, -0.04352726, -0.04365105, 0.031618606, 0.12397989, -0.0446275, -0.047745094, -0.07272708, 0.087981805, -0.022883464, 0.021518158, -0.033805974, -0.061570108, 0.029978301, 0.047310177) * go_2(1.0, -1.0); + result += mat4(-0.024014544, 0.03312975, 0.013067503, 0.11282178, -0.024482794, 0.008091268, 0.06432778, -0.15766713, -0.048687667, 0.0051038596, -0.10650007, 0.074438654, -0.031920508, 0.07880885, -0.063074075, 0.053531222) * go_2(1.0, 0.0); + result += mat4(-0.007602651, 0.003247358, -0.010531292, -0.014522784, -0.045127477, -0.04641428, 0.034592852, 0.11708857, 0.016080456, -0.010862374, 0.012204836, -0.019624028, -0.005596978, 0.002570303, -0.01718452, 0.007036096) * go_2(1.0, 1.0); + result += mat4(-0.03400744, 0.0074553913, 0.0043038665, 7.957602e-05, 0.014352309, -0.003674803, -0.014835324, -0.0055977562, 0.033462152, 0.0068732416, 0.0065420493, -0.0026703794, 0.011938421, 0.001983706, -0.0049862997, 0.00021165576) * go_3(-1.0, -1.0); + result += mat4(-0.0033091118, 0.018994803, -0.026634768, 0.020428555, -0.020792423, 0.009742637, 0.032050136, 0.0071278135, -0.052302815, 0.013190179, -0.004127084, 0.009925822, -0.009661492, -0.0073792427, 0.019004244, 0.00037218904) * go_3(-1.0, 0.0); + result += mat4(-0.009932352, -0.00995933, -0.02146786, -0.0038179306, -0.016922737, -0.000982855, -0.03880165, 0.0100428425, 0.018592497, -0.011936452, -0.00839573, 0.012914954, -0.0023291495, 0.0014392055, -0.013602821, -0.00075313775) * go_3(-1.0, 1.0); + result += mat4(0.005934442, -0.067556374, 0.022733796, -0.00048716593, -0.03944287, -0.0031405275, -0.021329157, -0.023225859, -0.048807576, 0.013591428, -0.0012470218, 0.012172492, -0.01362018, 0.01908229, -0.009989492, -0.013456593) * go_3(0.0, -1.0); + result += mat4(0.0331533, -0.038016763, -0.024796762, -0.097570956, 0.040756926, -0.038999844, 0.004969716, 0.02203622, -0.07773537, -0.095957406, -0.13685504, -0.08225932, 0.21070166, 0.06672545, 0.12035284, 0.0874353) * go_3(0.0, 0.0); + result += mat4(-0.011405352, 0.008514039, 0.04049351, 0.003270972, -0.01190376, -0.00082049094, 0.011982737, -0.03732464, -0.008393462, 0.019479843, -0.0030869786, -0.028394854, 0.008670484, 0.0026366632, 0.07985739, 0.020958235) * go_3(0.0, 1.0); + result += mat4(0.009845008, 0.039659, -0.0024999548, 0.025727686, -0.008037673, -0.020821366, -0.016814344, -0.023053886, -0.0108242845, -0.03981645, -0.0041943905, -0.0074299327, -0.040454514, -0.05054933, -0.0098485295, -0.015317222) * go_3(1.0, -1.0); + result += mat4(0.0010468375, 0.035403077, 0.008057769, 0.041717537, 0.01396972, 0.04731576, 0.025122687, 0.038469587, 0.0198318, -0.012237324, -0.030784154, -0.08214199, -0.0328875, 0.080247246, -0.06950492, -0.015201896) * go_3(1.0, 0.0); + result += mat4(0.011373379, 0.00011919624, 0.0068450207, 0.0220856, 0.0008673803, -0.011897817, -0.0020893042, 0.0056429924, 0.021536274, 0.017342292, 0.06635433, 0.056875907, -0.03351322, -0.008332283, -0.015365816, 0.037228417) * go_3(1.0, 1.0); + result += vec4(-0.0009943815, -0.0009860148, -0.0010532598, -0.0012024855); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_last_tf2 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.009554673, -0.0051532127, 0.016102737, 0.0012649148, 0.0077584987, -0.0057105157, 0.014400071, -0.003925339, 0.017135408, 0.013764417, -0.009086141, -0.0025339578, -0.03264511, -0.016280945, 0.00085838477, 0.0019880894) * go_0(-1.0, -1.0); + result += mat4(-0.076804005, -0.0037365195, -0.050517682, 0.0020104242, 0.043787587, -0.0023654283, 0.008199321, -0.016990408, 0.042490408, -0.010710564, 0.040960148, -0.0044487948, -0.019470902, 0.010283459, -0.05382899, 0.0012054538) * go_0(-1.0, 0.0); + result += mat4(0.005319574, 0.008546302, -0.037447132, -0.006825204, 0.012196145, 0.0007432002, 0.03959715, -0.00010419698, 0.010211025, -0.00066449976, 0.023840206, -0.0033524157, -0.003079352, 0.010155542, 0.008363695, 0.00091413554) * go_0(-1.0, 1.0); + result += mat4(0.020189503, -0.01584555, 0.048491407, 0.03190471, 0.09146135, 0.066083826, 0.026668968, 0.0508916, 0.025873413, 9.346497e-05, -0.0008600848, -0.0056697717, -0.02856373, -0.023208767, -0.0029442043, 0.015996031) * go_0(0.0, -1.0); + result += mat4(-0.1150775, -0.14330095, -0.09502353, -0.13884564, 0.03178533, 0.07732762, 0.08540057, 0.07563651, 0.024709824, 0.122676425, 0.025598785, 0.062055748, -0.19433355, -0.13121647, -0.1121546, -0.12868516) * go_0(0.0, 0.0); + result += mat4(0.029061472, 0.0073350146, -0.009606754, -0.043715715, -0.018559197, -0.0032290102, -0.01473082, 0.030312086, 0.0055792383, 0.0023610878, 0.03392709, 0.0651179, -0.004296543, -0.016898727, -0.1092547, -0.05084782) * go_0(0.0, 1.0); + result += mat4(-0.016137538, -0.012792734, 0.017391363, 0.026128957, -0.010817838, 0.032218445, -0.0013944196, -0.004525187, 0.009840227, 0.027271513, -0.0024920607, -0.007501888, 0.009476934, 0.00032995836, 0.0041257427, -0.005625152) * go_0(1.0, -1.0); + result += mat4(0.0126353195, -0.03399586, -0.016907396, -0.04899062, -0.007695538, -0.00612431, -0.017332746, 0.021991903, -0.00045945324, -0.02436651, 0.022777557, 0.032261726, 0.050632916, -0.04296159, 0.049930036, 0.0025758578) * go_0(1.0, 0.0); + result += mat4(-0.017934766, 0.0015081838, -0.007909493, -0.00010294505, 0.014974485, 0.0058351695, 0.0057603214, -0.0069939885, 0.00735945, 0.011284126, -0.008253157, -0.013189189, 0.011712553, 0.004176325, 0.019821197, -0.031529877) * go_0(1.0, 1.0); + result += mat4(-0.01832641, 0.011409, 0.0062228036, 0.0012198171, 0.087020114, -0.048004452, 0.019594414, -0.008977235, -0.021853259, -0.025875412, -0.015291018, -0.017832348, -0.0019894738, -0.003139117, -0.05734562, 0.019568626) * go_1(-1.0, -1.0); + result += mat4(0.019767432, -0.032121878, 0.10731837, -0.04160946, -0.038930662, -0.023509357, 0.04353874, -0.06393884, -0.07079979, -0.011297704, 0.055680044, -0.031674873, -0.02432217, 0.022975061, 0.044791207, 0.008831304) * go_1(-1.0, 0.0); + result += mat4(0.026333796, 0.027133184, -0.05641698, -0.015003387, 0.036531202, 0.001104644, 0.017913498, 0.00035784056, 0.010045828, 0.009374881, -0.112320945, 0.055523388, -0.017043058, -0.0012098805, 0.01718199, 0.0069912164) * go_1(-1.0, 1.0); + result += mat4(0.05305516, 0.0041708737, -0.05804445, -0.028278397, -0.07342492, 0.038176447, 0.045486677, 0.014904428, -0.0017618206, 0.02097501, 0.019868117, 0.019373845, 0.052739795, 0.14912929, 0.037314087, -0.041035987) * go_1(0.0, -1.0); + result += mat4(-0.2646953, -0.15668106, 0.12151133, 0.34568876, -0.16625103, 0.28626326, -0.2804781, 0.22248842, -0.09251715, 0.35097396, -0.13397448, 0.244039, 0.02513416, -0.09538499, -0.29833388, -0.17769372) * go_1(0.0, 0.0); + result += mat4(0.04070677, 0.052483205, 0.024028141, -0.06267387, 0.010479897, -0.006137579, 0.005726815, 0.084615536, 0.0029081039, -0.08204673, 0.040788963, 0.018049795, -0.031891953, -0.019043325, -0.041718785, 0.021308724) * go_1(0.0, 1.0); + result += mat4(-0.001575907, 0.022952983, -0.012997063, -0.02844319, 0.0009266049, 0.06976445, -0.0020330409, -0.008372886, 0.028383447, 0.028487694, 0.0039281887, -0.0070809238, 0.041292112, 0.0025322342, -0.002103223, 0.0054210713) * go_1(1.0, -1.0); + result += mat4(0.024716897, -0.05894056, 0.033999596, -0.044356048, 0.063092224, -0.18046258, 0.033589583, -0.014151911, 0.015899418, -0.07901728, 0.073378325, 0.03326658, 0.0032687644, 0.035330176, 0.05457883, -0.017820554) * go_1(1.0, 0.0); + result += mat4(0.001996882, -0.004963775, -0.020151457, 0.0057843816, 0.040995013, -0.019961083, 0.05682041, -0.10547617, 0.02503235, 0.0036294905, -0.013947642, -0.060715917, 0.01876786, 0.0032777768, 0.01927007, -0.025088508) * go_1(1.0, 1.0); + result += mat4(-0.029518202, 0.0065702717, -0.04704605, -0.0048227045, -0.22110744, -0.029372428, 0.08053116, 0.018663822, 0.105733156, -0.04344413, 0.012286602, -0.038484503, 0.060564645, 0.02851022, 0.032352086, -0.001444222) * go_2(-1.0, -1.0); + result += mat4(0.11888213, -0.007396298, 0.12236374, 0.0014036719, 0.006478195, -0.039041974, 0.07476124, 0.05907462, -0.2318871, 0.15429306, 0.048975263, 0.058071293, 0.07446568, -0.0038836622, -0.12506978, 0.006849885) * go_2(-1.0, 0.0); + result += mat4(-0.007815376, -0.0046987617, 0.0045718704, -0.00088239316, -0.006927552, -0.0014817615, -0.060644537, -0.001377785, -0.052053373, 0.030922025, -0.24218674, 0.121679045, -0.025974795, -0.033550926, 0.09225413, 0.015534639) * go_2(-1.0, 1.0); + result += mat4(0.21073256, -0.14790624, 0.06557328, -0.07896083, -0.048564, -0.32713607, 0.070434004, 0.1443138, -0.046067085, -0.08069691, -0.030934528, 0.0787659, -0.1532774, -0.10070167, 0.088510044, 0.10279543) * go_2(0.0, -1.0); + result += mat4(0.08564646, 0.11520261, 0.17513204, -0.039576255, 0.17702763, 0.18044637, -0.434279, -0.1977341, 0.22995597, -0.3259109, 0.17992231, -0.37692067, 0.376483, 0.3755724, 0.09422753, -0.13918276) * go_2(0.0, 0.0); + result += mat4(-0.0013641209, -0.0061978037, 0.030735753, 0.04674489, -0.01888518, -0.0114997085, 0.072051995, -0.059909277, -0.029514287, 0.037226655, 0.03950886, -0.030156244, -0.017026234, -0.029231733, 0.049310546, 0.12158501) * go_2(0.0, 1.0); + result += mat4(-0.01796674, 0.021739075, -0.035811454, -0.04138176, 0.032448296, 0.11651916, -0.03788447, -0.03756297, -0.06638623, 0.07866896, -0.020593246, 0.021115394, -0.03838543, -0.065531924, 0.024438148, 0.038348224) * go_2(1.0, -1.0); + result += mat4(-0.032326736, 0.041176587, -0.0014080614, 0.110470615, -0.030802252, -0.012258527, 0.059453994, -0.16016562, -0.03715787, -0.0005157213, -0.08924785, 0.06535089, -0.043620374, 0.06014967, -0.07529656, 0.03737166) * go_2(1.0, 0.0); + result += mat4(-0.005197623, 0.0025410433, -0.0057371682, -0.005702406, -0.047433604, -0.045016363, 0.022881668, 0.097284265, 0.0050103525, -0.017835459, 0.002082661, -0.031085419, -0.0127113415, -0.010034892, -0.029547364, -0.008159356) * go_2(1.0, 1.0); + result += mat4(-0.030834803, 0.0057913456, 0.0045642396, -0.0023247486, 0.013091116, -0.0019978182, -0.016291631, -0.0063495245, 0.03679821, 0.0111187175, 0.006293907, -0.00159841, 0.008976987, 0.0016699543, -0.002045872, 0.0021225133) * go_3(-1.0, -1.0); + result += mat4(-0.0015449662, 0.018941572, -0.0231217, 0.019913983, -0.02159856, 0.011715352, 0.03145841, 0.011557888, -0.04381463, 0.016269097, 0.003801907, 0.017497942, -0.01846834, -0.011969666, 0.0077923136, -0.00425442) * go_3(-1.0, 0.0); + result += mat4(-0.006369402, -0.0054975, -0.016373185, 0.0015303852, -0.018976817, -0.0020408076, -0.04186448, 0.00862744, 0.013957444, -0.016489068, -0.00876064, 0.0072258003, -0.0065470496, -0.002731135, -0.01953136, -0.0069286725) * go_3(-1.0, 1.0); + result += mat4(0.01150196, -0.057684112, 0.025627816, 0.0045186444, -0.043896675, -0.0073078806, -0.024036214, -0.025075085, -0.041793358, 0.014898103, -0.0012467141, 0.009073226, -0.025522837, 0.0077871215, -0.016588857, -0.016728807) * go_3(0.0, -1.0); + result += mat4(0.03427146, -0.03154995, -0.014622754, -0.083448716, 0.037077904, -0.042196143, 0.0002654827, 0.016835919, -0.05883882, -0.07723022, -0.12151369, -0.06892644, 0.18169776, 0.04656827, 0.09332061, 0.06265968) * go_3(0.0, 0.0); + result += mat4(-0.020037629, 0.0017381558, 0.028106472, -0.0037192027, -0.015639286, -0.0048114993, 0.006957652, -0.04234011, -0.0035926187, 0.02475383, 0.009671758, -0.013367782, 0.009844827, 0.004127156, 0.072107606, 0.018165117) * go_3(0.0, 1.0); + result += mat4(0.0024197982, 0.034167156, -0.00615297, 0.022378683, -0.005956443, -0.0206202, -0.014193571, -0.0220195, -0.004417834, -0.030854845, 0.0032532495, -0.0012370368, -0.031531993, -0.049196836, -0.0011905541, -0.011573349) * go_3(1.0, -1.0); + result += mat4(-0.012435409, 0.023669207, -0.007541224, 0.030453008, 0.009036608, 0.04195238, 0.019962423, 0.033735633, 0.017467575, -0.008318013, -0.0268461, -0.07455821, -0.035670403, 0.06528855, -0.064557284, -0.022101114) * go_3(1.0, 0.0); + result += mat4(0.011575822, -0.0029453707, 0.0029919853, 0.014933897, -0.00034664775, -0.015719024, -0.002594161, 0.0012937526, 0.006969654, 0.008678383, 0.04876611, 0.049061276, -0.037455864, -0.013019295, -0.02504076, 0.024031559) * go_3(1.0, 1.0); + result += vec4(-0.00052569207, -0.0009582512, -0.00071018364, -0.0011515211); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(L)-Depth-to-Space +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_last_tf +//!BIND conv2d_last_tf1 +//!BIND conv2d_last_tf2 +//!SAVE MAIN +//!WIDTH conv2d_last_tf.w 2 * +//!HEIGHT conv2d_last_tf.h 2 * +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +vec4 hook() { + vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); + ivec2 i0 = ivec2(f0 * vec2(2.0)); + float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; + vec2 f1 = fract(conv2d_last_tf1_pos * conv2d_last_tf1_size); + ivec2 i1 = ivec2(f1 * vec2(2.0)); + float c1 = conv2d_last_tf1_tex((vec2(0.5) - f1) * conv2d_last_tf1_pt + conv2d_last_tf1_pos)[i1.y * 2 + i1.x]; + vec2 f2 = fract(conv2d_last_tf2_pos * conv2d_last_tf2_size); + ivec2 i2 = ivec2(f2 * vec2(2.0)); + float c2 = conv2d_last_tf2_tex((vec2(0.5) - f2) * conv2d_last_tf2_pt + conv2d_last_tf2_pos)[i2.y * 2 + i2.x]; + float c3 = c2; + return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_M.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_M.glsl new file mode 100644 index 0000000..9877bbc --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_M.glsl @@ -0,0 +1,300 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.010995803, 0.077095956, -0.043992598, 0.06048717, 0.1164834, -0.11689607, 0.072985925, -0.078805886, 0.01182932, 0.054985743, -0.09018186, 0.044907484, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.1813623, -0.14752422, 0.025720436, -0.17639883, 0.15697388, 0.10445984, -0.1843076, 0.5264643, 0.047516696, -0.097305484, 0.09740847, -0.29619336, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.014534763, 0.09486465, 0.046173926, 0.039391946, 0.09609376, -0.060574662, 0.042200956, -0.3269777, 0.051006425, 0.059818447, 0.04366627, 0.17699827, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.04268535, -0.08152529, 0.10577459, -0.036936995, -0.051562306, 0.054872766, 0.09194519, 0.0025066638, -0.01073954, 0.00064474024, 0.10038221, 0.02131141, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.51751363, -0.40028602, 0.3469574, 0.5933738, -0.91357684, -0.67692596, 0.57815677, 0.39809322, -0.16341521, -0.27169713, 0.12232366, 0.4318641, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.12601124, -0.06263236, -0.45907676, -0.41514075, 0.3330334, -0.1929565, -0.6333532, -0.6552794, -0.045809917, 0.046351526, -0.26173338, -0.30252662, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.0030332592, 0.012103107, 0.010537323, -0.02038607, 0.095558085, 0.097704545, 0.083433494, 0.026790185, 0.01943357, -0.061712462, -0.00015703632, -0.032268334, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.016870102, 0.5215812, -0.11525501, 0.027527615, -0.09045733, 0.61310345, -0.1575268, 0.1905386, 0.020172214, 0.3503187, -0.08209157, -0.051328037, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.005494087, -0.010656317, 0.07682753, -0.08116042, -0.03934524, 0.16589017, 0.101483546, -0.066603065, 0.03494657, -0.07885597, 0.074227594, 0.0016264897, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.014463938, -0.0031906287, 0.007015422, -0.003888468); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_tf +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.08532478, -0.14302494, -0.017921071, -0.0032664281, -0.09841952, 0.024187077, 0.10701477, 0.14110753, -0.05714981, -0.10897174, 0.073803626, 0.103992954, 0.07914382, 0.032193683, -0.18346278, -0.09723936) * go_0(-1.0, -1.0); + result += mat4(-0.034482613, -0.10742312, -0.047286414, -0.08641124, -0.33896688, -0.036533825, -0.48337597, 0.034040943, -0.13598205, -0.080917805, 0.08540263, -0.012667689, -0.009171425, -0.120026454, -0.20536867, -0.032149274) * go_0(-1.0, 0.0); + result += mat4(0.18687321, 0.066278316, 0.024327392, 0.08816582, -0.08017908, 0.09488853, 0.26018232, -0.101504356, 0.17487666, 0.31057635, 0.14785016, -0.09622089, -0.07537452, -0.13844088, -0.05810814, 0.09907489) * go_0(-1.0, 1.0); + result += mat4(-0.04183032, 0.15207712, 0.005002397, 0.32277516, -0.16169126, -0.119836345, -0.04068436, -0.096728764, 0.11943901, 0.1789597, -0.20412198, 0.19009817, 0.36630696, 0.06946421, -0.5254373, -0.11896399) * go_0(0.0, -1.0); + result += mat4(-0.31916487, -0.98911583, 1.0728644, -0.39280394, 0.33458877, -0.17325239, -0.645045, -0.28524077, -0.14512783, 0.24996442, -0.09837877, 0.05468934, 0.31559715, -0.020504637, -0.026724018, 0.24507573) * go_0(0.0, 0.0); + result += mat4(-0.23759829, -0.08530173, -0.16665787, -0.22463752, 0.109896734, 0.13446991, -0.049552456, -0.02385489, -0.01245375, 0.3833208, 0.05758832, 0.1528937, 0.0501858, -0.19651426, 0.0076587177, -0.03297025) * go_0(0.0, 1.0); + result += mat4(0.14554465, -0.01826686, 0.10284085, -0.19152659, -0.017585073, -0.05511482, 0.06362406, 0.023924058, -0.0018977845, -0.103172876, 0.03287086, -0.20085956, 0.36062446, 0.10749464, -0.20984372, 0.018256644) * go_0(1.0, -1.0); + result += mat4(-0.005534592, 0.3709197, -0.18287498, 0.1720451, 0.030155553, -0.023265475, 0.0058617783, -0.031765483, 0.037328955, -0.2730994, 0.35090837, -0.3269043, -0.028477207, 0.32756507, -0.15989502, 0.12158258) * go_0(1.0, 0.0); + result += mat4(0.10873739, 0.19583772, 0.060394943, 0.09410379, -0.04739245, 0.026561242, 0.022990001, 0.1093272, -0.01071349, -0.022938967, -0.046423864, 0.2385325, -0.0319821, 0.046962265, 0.09081178, -0.11001857) * go_0(1.0, 1.0); + result += mat4(0.13012704, 0.112289295, 0.030790284, -0.050499484, 0.11784853, 0.08107028, -0.07556717, -0.15643, 0.015249331, 0.015299608, 0.07748125, 0.054485757, 0.044857923, 0.12161275, -0.048292994, -0.033995003) * go_1(-1.0, -1.0); + result += mat4(0.12931514, 0.15114146, 0.070513315, 0.11246343, 0.4142387, 0.213479, -0.5439916, 0.07776645, 0.13109331, 0.2021147, 0.25932786, -0.22157331, 0.02377734, -0.014970623, -0.1943276, 0.18440372) * go_1(-1.0, 0.0); + result += mat4(-0.22365458, -0.19829084, -0.06881161, -0.06468993, 0.17202774, 0.0048758537, -0.09235021, 0.18941896, 0.064125344, -0.09067088, 0.09748182, 0.13561936, -0.05876288, -0.0122420965, -0.054380875, -0.17743628) * go_1(-1.0, 1.0); + result += mat4(0.18582906, -0.09263032, -0.08210888, -0.20515606, 0.11484005, 0.08557595, 0.0009253741, -0.051202174, -0.18535301, -0.1529345, -0.13092944, 0.03770747, -0.020947013, 0.19187425, -0.15494856, -0.048979875) * go_1(0.0, -1.0); + result += mat4(-0.38131633, 0.4278787, 0.19763695, 0.27655518, -0.08711912, 0.07374453, -0.064803004, 0.5983854, 0.2361923, -0.057221692, -0.37138999, -0.24259573, 0.13890724, 0.25706333, -0.54021406, 0.08095518) * go_1(0.0, 0.0); + result += mat4(0.0991328, -0.022651536, -0.029148921, -0.009812537, -0.09523686, -0.15704902, 0.052389514, 0.21561539, 0.1950314, -0.08572602, 0.0016523858, 0.14125621, -0.030999828, 0.12009709, 0.0373512, -0.105043754) * go_1(0.0, 1.0); + result += mat4(-0.11251988, 0.12106985, 0.011923068, 0.3662747, 0.004800994, 0.017972551, 0.004761366, -0.07934206, -0.13755941, -0.022852683, 0.1502225, 0.009758547, -0.16964264, 0.00984782, 0.07855833, 0.035730787) * go_1(1.0, -1.0); + result += mat4(0.01964957, -0.27226487, 0.033933397, -0.117632054, -0.009058229, 0.047830686, -0.01125145, 0.136628, 0.0056388285, 0.3028781, -0.12286517, 0.23498532, -0.009319075, -0.444048, 0.16174883, -0.06367683) * go_1(1.0, 0.0); + result += mat4(0.02343933, -0.010915871, -0.058680378, -0.21886891, -0.010750894, -0.06671997, 0.0602906, -0.07903071, 0.066891186, 0.06650588, 0.14362891, -0.101870626, 0.02264628, -0.06940821, -0.077616625, 0.110911585) * go_1(1.0, 1.0); + result += vec4(0.032014452, -0.020821465, 0.0826416, -0.002838458); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.06963679, -0.07560548, -0.069522075, 0.0038078027, -0.08002613, 0.13671301, 0.084461786, -0.039376218, 0.19136548, -0.123174496, 0.26566333, -0.16583005, -0.18664864, -0.023539122, -0.21928434, -0.026818147) * go_0(-1.0, -1.0); + result += mat4(0.16660932, -0.18558703, 0.37230486, 0.118128106, -0.14098641, 0.14659132, -0.22217897, 0.12952235, -0.4139033, -0.04308319, 0.12885277, -0.17986743, -0.23556231, -0.08351981, -0.43240538, 0.019033253) * go_0(-1.0, 0.0); + result += mat4(-0.18008037, -0.04448665, 0.011906908, -0.023056917, 0.18136618, -0.04723555, -0.0050158803, -0.14823224, -0.2105281, 0.023047728, -0.14040631, -0.03178526, -0.13477588, -0.01820428, 0.058358394, 0.23792502) * go_0(-1.0, 1.0); + result += mat4(0.07363309, -0.061728477, 0.03573137, -0.0050971056, -0.012813505, -0.17236637, 0.1697835, 0.055788577, -0.22263195, 0.10324512, 0.58971673, -0.4872246, -0.1555681, 0.032747746, -0.096495196, 0.070196226) * go_0(0.0, -1.0); + result += mat4(0.14174286, 0.099460006, -0.088765986, 0.58350676, -0.025177564, -0.46004987, 0.37007022, -0.11437029, -0.5164534, -0.60465246, 0.38859612, -0.32846406, 0.050266482, -0.20334712, 0.18316261, -0.19327633) * go_0(0.0, 0.0); + result += mat4(-0.09377763, -0.0012762006, -0.028991895, -0.26523829, 0.20173682, 0.037923716, -0.03174243, 0.07103378, -0.10764164, -0.30752546, 0.20556998, -0.1892279, 0.08115748, -0.023550175, -0.07627362, 0.11746628) * go_0(0.0, 1.0); + result += mat4(-0.06998859, -0.017997518, 0.069938794, -0.14943017, -0.14179112, 0.16643842, -0.110231474, 0.08895815, -0.24074875, 0.3277253, -0.07435203, -0.23452802, 0.039962552, -0.07145652, -0.022511544, -0.04571222) * go_0(1.0, -1.0); + result += mat4(-0.059785757, -0.23771374, -0.030571314, 0.25222278, 0.106601834, 0.34398326, 0.14511436, -0.03867526, -0.38982397, -0.11944689, 0.12997924, -0.13079585, 0.005729482, 0.012653905, -0.063693404, 0.09632285) * go_0(1.0, 0.0); + result += mat4(-0.04933823, 0.0547175, 0.050636575, -0.10060694, 0.1344485, 0.19752938, -0.100068115, -0.028829506, -0.14096203, -0.079092234, 0.092109434, 0.011606209, -0.04052607, -0.008347507, 0.06956573, -0.028109524) * go_0(1.0, 1.0); + result += mat4(0.21918017, -0.11115073, 0.2262453, -0.06889667, -0.11256312, -0.07438075, -0.088454485, 0.13672407, -0.06905764, 0.08128395, 0.016103368, 0.050190717, 0.09691516, 0.05845721, 0.4886816, 0.041121427) * go_1(-1.0, -1.0); + result += mat4(-0.3449472, 0.09711974, -0.13881907, -0.018265123, 0.27855873, -0.07030004, 0.29545054, 0.37216932, 0.08657718, 0.099066615, -0.10574013, -0.17667885, -0.14855732, -0.11351448, 0.66945946, 0.11312157) * go_1(-1.0, 0.0); + result += mat4(0.2526151, -0.04594331, -0.06606611, 0.09104881, 0.06857995, -0.075284235, -0.17664689, 0.21578754, 0.0696524, 0.09142951, 0.080997564, -0.0682772, -0.0011445724, -0.11736295, 0.2519232, -0.101926275) * go_1(-1.0, 1.0); + result += mat4(-0.12913518, 0.058357026, 0.195421, -0.15651494, 0.2877076, 0.0033844314, -0.07831594, 0.052855384, -0.031295884, 0.03301088, -0.18408822, 0.06732994, 0.23742151, -0.12568143, 0.22810535, -0.11545694) * go_1(0.0, -1.0); + result += mat4(-0.49203303, -0.22656603, 0.1723193, -0.51250046, -0.09742038, 0.758559, -0.3387505, -0.6193586, 0.14136684, 0.27679884, -0.050113205, 0.31041816, -0.36475047, -0.48746544, 0.3233227, 0.4579754) * go_1(0.0, 0.0); + result += mat4(0.46636763, 0.1507748, -0.2581362, 0.15413165, -0.17160143, 0.14256273, -0.074575804, -0.099299066, -0.0017214464, 0.13778336, -0.07378213, -0.15489665, -0.10533715, -0.0011083825, 0.39584312, 0.0023906573) * go_1(0.0, 1.0); + result += mat4(0.026959421, -0.06391859, 0.0034752619, 0.14521928, -0.0010877338, -0.032619733, 0.005375293, -0.018952755, 0.03381545, -0.007652831, 0.034141563, 0.046016496, 0.11219674, 0.030913852, 0.077403754, 0.17192438) * go_1(1.0, -1.0); + result += mat4(0.040326044, 0.17290725, -0.1220239, -0.09594783, -0.025229257, 0.17913155, -0.26623353, -0.033396784, -0.03075146, 0.009143897, -0.0136083895, -0.13886899, 0.075683735, -0.11584183, 0.22182357, 0.19350322) * go_1(1.0, 0.0); + result += mat4(0.15726025, -0.10215694, -0.060057458, 0.26487043, -0.04075552, -0.016496127, 0.0015382086, 0.108562306, 0.026795091, 0.0441233, -0.08754318, -0.0460157, 0.048422016, 0.14107347, 0.07986661, 0.1047697) * go_1(1.0, 1.0); + result += vec4(0.0766796, 0.08115133, -0.05703058, 0.14025708); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!SAVE conv2d_3_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.18038331, 0.21830973, -0.10019419, -0.022745568, -0.14944611, -0.15669158, 0.46361133, -0.07289843, 0.02976627, -0.09000817, 0.113060996, 0.05635241, 0.012762965, -0.022688959, 0.01629751, 0.061114635) * go_0(-1.0, -1.0); + result += mat4(0.024338024, -0.10004009, -0.13709056, -0.0851965, 0.23927099, -0.024349794, -0.16574804, 0.084686354, -0.047885604, 0.09688507, -0.12733915, 0.06980246, 0.11480734, 0.014669346, -0.07505829, 0.04676309) * go_0(-1.0, 0.0); + result += mat4(0.054203495, 0.011881634, -0.036115017, -0.0686298, -0.13682245, -0.15678032, 0.057050128, -0.03368558, 0.13011025, 0.033391044, -0.09841339, -0.027057761, -0.18701133, 0.20852546, -0.13660902, 0.0005817616) * go_0(-1.0, 1.0); + result += mat4(-0.08077834, 0.35952288, -0.07647382, -0.0033230998, 0.13929126, -0.09155619, 0.14128102, 0.16005981, 0.18161216, -0.09485738, 0.0029118075, 0.052682754, 0.03242074, 0.08299826, 0.073796146, -0.06446532) * go_0(0.0, -1.0); + result += mat4(-0.36655015, 0.4606936, 0.19073649, 0.31655258, -0.006838053, -0.579939, 0.089126326, -0.14021218, -0.3437716, 0.16714323, 0.17705944, -0.22418492, -0.3883696, -0.2302651, 0.2581861, 0.21983066) * go_0(0.0, 0.0); + result += mat4(0.0992383, -0.014257871, -0.023896435, 0.19868234, 0.0408007, 0.07995299, 0.16102871, -0.11668251, 0.22458278, -0.05587917, 0.19373615, -0.016202094, -0.25106144, 0.15634494, 0.11624891, -0.2930768) * go_0(0.0, 1.0); + result += mat4(0.024616942, 0.36248252, -0.14779098, -0.019894283, -0.007111256, 0.010641561, -0.09541178, 0.21236233, 0.009501827, 0.08132797, -0.13983901, 0.027207611, 0.038444366, -0.013995817, -0.16242191, 0.03294123) * go_0(1.0, -1.0); + result += mat4(0.0131698875, -0.18124102, -0.13503514, -0.06099072, 0.07422735, -0.20906176, -0.049005672, 0.08739405, -0.031758767, -0.1978915, 0.23094437, 0.54512614, 0.21338555, -0.011205669, -0.23727885, -0.29533875) * go_0(1.0, 0.0); + result += mat4(-0.0010255767, -0.07168225, -0.033568826, 0.22161655, -0.087293416, 0.11350447, 0.13653576, 0.061226424, -0.13074352, 0.058425818, 0.038460605, 0.2749964, -0.012814839, 0.085885845, -0.038151987, -0.17960808) * go_0(1.0, 1.0); + result += mat4(0.19728905, -0.040724937, -0.18270236, 0.046735186, 0.03507326, 0.119867206, -0.12691991, 0.18119748, -0.052895024, 0.11348764, -0.043787055, 0.004703516, 0.006752757, -0.06939761, -0.009801806, -0.075640485) * go_1(-1.0, -1.0); + result += mat4(0.051735226, 0.1732299, -0.10672899, 0.0320877, -0.4913656, 0.2102274, 0.43920282, 0.059108034, 0.08349019, -0.16517872, 0.15436842, -0.1075667, 0.022741623, -0.26693836, 0.3645307, 0.017874828) * go_1(-1.0, 0.0); + result += mat4(0.034464058, 0.014929155, 0.054227423, 0.14167373, -0.0023630706, -0.08904212, 0.11918041, -0.034539603, 0.06048089, -0.06807333, 0.14447778, 0.035260547, 0.09979546, -0.1924939, 0.14596114, -0.12069667) * go_1(-1.0, 1.0); + result += mat4(-0.04427228, -0.23673469, 0.010357103, -0.2907043, -0.06845721, -0.078984015, 0.06867713, -0.058163825, -0.12154615, 0.08430951, 0.1922373, 0.030108064, -0.43081748, -0.38715646, -0.022240646, -0.15403675) * go_1(0.0, -1.0); + result += mat4(0.46885306, -0.33421394, -0.6695223, -0.41841158, 0.30317923, 0.24244753, -0.1047785, -0.18656285, 0.06261881, -0.4405616, 0.24233986, 0.40070608, 0.81440526, 0.11305212, -0.8826317, -0.023478031) * go_1(0.0, 0.0); + result += mat4(-0.07879348, -0.024378026, -0.041883785, -0.17030984, 0.23229122, -0.011237109, 0.12058088, 0.20766267, -0.36519575, 0.09599417, -0.1271098, 0.06990154, 0.21161246, 0.041002538, -0.36046275, 0.007304667) * go_1(0.0, 1.0); + result += mat4(0.10873893, 0.003872542, -0.13476561, -0.036068805, -0.054637462, 0.02304618, 0.04707738, -0.2856381, 0.07124422, 0.010866545, 0.20484549, -0.008342406, -0.43660247, -0.041055538, 0.33536008, -0.060022205) * go_1(1.0, -1.0); + result += mat4(0.1966458, 0.0016302796, -0.25712642, -0.09639119, -0.006955351, 0.10882133, 0.1107341, 0.062697805, -0.1074494, 0.17361663, 0.6429869, -0.39846307, -0.26302996, 0.048710946, 0.40387508, 0.4299715) * go_1(1.0, 0.0); + result += mat4(0.18948616, 0.24086732, -0.064474985, -0.11069709, 0.1279659, -0.13438123, -0.028438117, 0.125883, 0.018153818, -0.21942288, 0.020390838, -0.22797634, -0.10821287, -0.17175092, 0.122016855, 0.20699544) * go_1(1.0, 1.0); + result += vec4(-0.05101961, -0.060740646, -0.024465766, 0.058471628); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.14533128, 0.07266841, 0.13238011, -0.23328504, 0.031516243, 0.058471266, -0.06394412, 0.090752736, -0.0042359144, 0.12357294, -0.04377495, 0.0011743477, 0.05412243, -0.08146249, 0.04002749, -0.032876283) * go_0(-1.0, -1.0); + result += mat4(-0.036972385, -0.15238069, -0.3453321, -0.36025128, 0.07597202, -0.02368151, -0.3889606, 0.34607083, 0.3133179, -0.21712309, -0.4210954, 0.21450534, 0.15226828, 0.25326282, 0.45327064, -0.3350824) * go_0(-1.0, 0.0); + result += mat4(0.019018406, -0.33060563, -0.092601225, 0.14970545, 0.1441509, -0.19228427, -0.032771986, 0.26331595, 0.052981265, -0.06627376, -0.08634131, 0.038706224, 0.13403937, -4.4842476e-05, 0.049002815, -0.12719193) * go_0(-1.0, 1.0); + result += mat4(0.17527401, -0.0035254909, -0.047959115, -0.4526988, -0.07510284, 0.0013256798, -0.07539148, 0.24220634, -0.08708839, -0.14494033, -0.17085724, -0.099797316, 0.0068515535, -0.08918779, 0.27164719, -0.1702649) * go_0(0.0, -1.0); + result += mat4(0.31848368, 0.48983255, -0.44140294, -0.65174145, -0.004199057, 0.19494705, 0.5196497, -0.027118586, 0.032509074, -0.23900363, -0.14489244, 0.36314297, -0.23168536, -0.20960593, 0.61471456, 0.12401275) * go_0(0.0, 0.0); + result += mat4(-0.24317405, 0.21560913, 0.15564032, 0.11606844, -0.15039803, -0.59578896, 0.14100945, -0.026194477, 0.37237462, -0.49472088, -0.15215331, -0.38820064, -0.25089455, -0.29643852, -0.09513793, 0.019779462) * go_0(0.0, 1.0); + result += mat4(0.12498539, 0.0710632, -0.25012368, -0.2272255, -0.08647026, 0.12277892, 0.011025097, -0.12168395, -0.13489573, 0.016708186, -0.15583871, -0.057124946, 0.1216943, 0.019803725, 0.06952334, -0.032985855) * go_0(1.0, -1.0); + result += mat4(0.28794885, 0.33783793, -0.14469545, -0.081780486, -0.50320613, -0.067601606, -0.06847453, -0.021648854, -0.34295765, 0.15071863, -0.06619896, -0.084465064, 0.31909832, 0.015414661, 0.14930317, -0.11295768) * go_0(1.0, 0.0); + result += mat4(0.24530606, 0.25526014, 0.09971985, -0.07749641, -0.2361951, -0.07997673, 0.03617294, 0.02959561, -0.4498983, -0.014073485, -0.20587012, 0.06396779, 0.1262825, 0.027433183, 0.14469334, 0.011538011) * go_0(1.0, 1.0); + result += mat4(-0.038572453, -0.023108613, -0.039481267, -0.012160024, -0.004521989, -0.028665857, 0.04295255, 0.10580258, 0.05439479, -0.072261885, 0.11030243, 0.08934696, 0.09133867, 0.017547369, 0.097613186, 0.05491059) * go_1(-1.0, -1.0); + result += mat4(-0.09972817, 0.057730395, 0.12665828, 0.32861367, -0.16186063, 0.0745509, 0.2394045, -0.08687853, -0.034404907, -0.05843572, 0.0684561, -0.1355754, 0.19248672, -0.60372186, 0.12583947, 0.4388962) * go_1(-1.0, 0.0); + result += mat4(0.10341107, 0.061113223, 0.08773817, -0.082504354, -0.16612078, 0.2681751, 0.019737698, -0.17122322, -0.135949, 0.3048101, 0.087803006, 0.11373851, 0.013192192, -0.27022064, 0.35529897, -0.15321451) * go_1(-1.0, 1.0); + result += mat4(-0.032835662, 0.11123062, -0.11322452, -0.17300649, 0.04680824, 0.12849288, 0.17269878, -0.048671383, 0.05189037, -0.009078046, 0.22105052, 0.013008137, -0.009738674, 0.15391739, 0.20969556, 0.14189166) * go_1(0.0, -1.0); + result += mat4(-0.47377753, 0.3038031, 0.18604809, 0.1931698, -0.2964668, -0.12287907, -0.7107761, 0.26619422, -0.33923018, 0.19200724, 0.013786281, -0.17496964, 0.079325035, -0.3694445, 0.0054486147, -0.33018264) * go_1(0.0, 0.0); + result += mat4(0.14903802, -0.028043179, 1.5238678e-05, 0.021232028, 0.16025065, 0.14746875, -0.22831628, -0.12177345, 0.038778774, 0.32188168, -0.042017702, 0.27155936, 0.17920609, 0.04099755, 0.28527525, 0.074623376) * go_1(0.0, 1.0); + result += mat4(0.057019282, -0.112741895, 0.030361209, 0.14567861, 0.056265317, -0.01573537, -0.06707608, 0.016657263, 0.09829025, -0.026795063, 0.023042196, 0.09438241, -0.025483066, -0.052787006, 0.19730279, 0.021218104) * go_1(1.0, -1.0); + result += mat4(0.19868211, -0.01531125, 0.108596824, -0.035456363, 0.0033609823, 0.057961613, -0.013726211, 0.101742364, 0.33357215, 0.14468077, 0.29711527, -0.24662566, -0.119014986, -0.1899639, 0.11246697, -0.0035374009) * go_1(1.0, 0.0); + result += mat4(-0.05602109, -0.15539522, 0.010730943, 0.057116497, -0.02037749, 0.084210664, -0.028235348, 0.10574697, 0.056925274, 0.07922333, -0.090088, 0.1615985, -0.0044301567, -0.089945644, 0.024176618, -0.041844133) * go_1(1.0, 1.0); + result += vec4(0.0015292584, -0.043625206, -0.09429898, -0.06280405); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!SAVE conv2d_5_tf +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.06051604, -0.028152643, -0.21418124, 0.13032125, 0.42565975, -0.09571944, -0.34494513, 0.30004, -0.073245734, -0.028659137, 0.0032105136, -0.05009555, -0.048971225, 0.04814533, 0.002843805, -0.046224426) * go_0(-1.0, -1.0); + result += mat4(-0.07495975, 0.018714864, 0.21229684, -0.13614887, 0.79988647, -0.0697328, 0.38232988, 0.24165109, 0.25947478, -0.0009418982, -0.17369923, 0.10007766, 0.024117598, 0.028611807, 0.15090801, -0.06344829) * go_0(-1.0, 0.0); + result += mat4(-0.07982219, 0.0900347, 0.007609254, -0.0034791247, 0.013611781, -0.13560618, 0.09685799, 0.06276075, 0.134693, -0.14370437, -0.25175703, -0.0016138123, -0.0075672898, -0.13325731, -0.061100446, 0.0059743375) * go_0(-1.0, 1.0); + result += mat4(-0.039018434, -0.19668463, -0.43018532, 0.31886247, 0.4965479, 0.114569925, 0.19110382, 0.27343535, 0.0707728, -0.11877004, -0.25827697, 0.37012872, 0.1474777, 0.07056952, -0.14965728, 0.061595406) * go_0(0.0, -1.0); + result += mat4(0.506543, -0.16268773, 0.455319, -0.0702646, 0.70102173, -0.14041683, 0.70184857, 0.4817842, -0.3389246, -0.14463086, 0.13763213, -1.1259074, 0.47722015, 0.38352612, -0.04293366, -0.5604627) * go_0(0.0, 0.0); + result += mat4(0.17606944, 0.15897374, 0.13499324, 0.29241478, -0.032824475, 0.11128662, -0.22204424, -0.051803727, 0.013195331, -0.42040786, -0.3950585, 0.70745844, 0.38646924, -0.19080774, -0.15171832, -0.10742828) * go_0(0.0, 1.0); + result += mat4(-0.039278325, 0.18421806, -0.044948544, 0.07902063, -0.2149251, 0.09913459, -0.09743655, -0.26899317, -0.002695496, -0.07554527, -0.22373366, 0.17830558, -0.047994815, -0.06789183, -0.06755918, -0.104452066) * go_0(1.0, -1.0); + result += mat4(-0.0493473, -0.30411786, -0.056439694, -0.06582185, -0.21309847, 0.100670904, -0.22966193, -0.045954112, 0.12728062, -0.25081897, -0.094699375, -0.4036555, 0.060854495, -0.64373237, -0.21522263, -0.6683476) * go_0(1.0, 0.0); + result += mat4(0.063481025, 0.11744312, -0.043330096, 0.33817932, -0.06679828, -0.23207302, -0.10188898, -0.10590511, 0.058780864, 0.047292337, -0.11834696, 0.10076128, -0.036641665, 0.30200714, -0.0002892557, -0.10303763) * go_0(1.0, 1.0); + result += mat4(-0.10842604, 0.042055763, 0.29702973, -0.07409644, -0.030164458, -0.012098744, -0.06396587, -0.08787527, 0.051854923, 0.12997511, 0.11468497, 0.15022379, 0.007814715, 0.014517445, 0.025484756, 0.01078619) * go_1(-1.0, -1.0); + result += mat4(-0.29229385, 0.040265664, -0.15376821, 0.075579196, -0.05593569, -0.045405343, 0.12099204, 0.1571252, 0.17841713, 0.04673325, 0.14550509, 0.08603346, -0.049786013, 0.06121843, -0.16273825, -0.13857752) * go_1(-1.0, 0.0); + result += mat4(0.06903744, 0.2628764, -0.13582836, -0.35678583, -0.13821034, -0.019381443, -0.19570538, -0.09298511, 0.08965436, 0.09745909, 0.20055099, 0.024967568, 0.08144204, 0.004633625, 0.12809834, -0.009431525) * go_1(-1.0, 1.0); + result += mat4(0.09784006, 0.010729353, 0.046643205, -0.110926524, -0.21556224, 0.00016300633, 0.122175336, 0.15004392, 0.013864355, 0.24767809, 0.13865592, 0.0155424485, -0.1450483, -0.15688781, -0.06195043, -0.13745981) * go_1(0.0, -1.0); + result += mat4(0.018991318, 0.55401963, 0.11709872, -0.028442185, -0.46035343, -0.10215539, -0.60193926, 0.47882316, -0.23346989, 0.037200127, 0.22814943, -0.08231696, -0.36430013, -0.011152757, 0.48752213, 0.29796222) * go_1(0.0, 0.0); + result += mat4(-0.07258066, -0.023222538, 0.23230423, -0.30317304, 0.03942911, -0.06899803, 0.23778579, 0.07418621, -0.17443737, 0.33387753, 0.007354842, -0.123447575, -0.1745315, 0.11071779, -0.11949625, -0.22832453) * go_1(0.0, 1.0); + result += mat4(-0.024909232, -0.0308135, 0.12170621, -0.13298757, 0.045828197, -0.1532345, -0.06633672, 0.23591088, 0.04964077, 0.14091493, 0.038343724, -0.029780807, 0.05762822, -0.048930667, -0.02434709, 0.07109019) * go_1(1.0, -1.0); + result += mat4(-0.16039175, 0.3004474, -0.17278233, 0.13677922, 0.18838613, 0.15054552, 0.32901475, -0.1288333, 0.26378244, -0.05119892, 0.34533516, 0.25180495, 0.19452183, 0.0843233, -0.08029368, 0.39877903) * go_1(1.0, 0.0); + result += mat4(-0.07097129, -0.26492423, -0.055032317, -0.093516104, -0.11795062, 0.04086253, -0.07989471, 0.059686553, 0.09378249, 0.45851848, 0.2510942, 0.19599153, 0.019765077, -0.02920918, -0.04125142, -0.13859107) * go_1(1.0, 1.0); + result += vec4(0.04400571, -0.04015565, 0.0140529545, 0.05474095); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!SAVE conv2d_6_tf +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.014236042, -0.0031431736, -0.1551387, 0.12515116, -0.28528872, 0.36161992, 0.15750743, -0.17111474, 0.13792591, -0.0657419, -0.17471549, 0.14650472, 0.034169197, -0.019157575, 0.23520657, -0.20358163) * go_0(-1.0, -1.0); + result += mat4(0.02015035, 0.12993371, 0.11199667, -0.09854378, 0.5001741, 0.03462961, 0.24919736, 0.08505297, -0.20902094, -0.24141377, -0.15360375, 0.049974803, -0.037157424, -0.048510186, 0.20106035, -0.118480384) * go_0(-1.0, 0.0); + result += mat4(0.086798504, -0.009607818, 0.034812123, -0.005187592, 0.0351509, 0.021755, -0.04996161, -0.041231696, 0.0020545553, 0.015730752, -0.07507172, 0.018597523, -0.02393343, 0.07624775, 0.03892451, -0.0025574185) * go_0(-1.0, 1.0); + result += mat4(0.035725456, 0.06809103, 0.51926994, -0.39983147, -0.16402833, -0.1243394, -0.25922915, 0.28285915, 0.15959994, -0.2351732, 0.2650535, -0.30193794, -0.11468332, 0.050777763, -0.51894253, 0.4408367) * go_0(0.0, -1.0); + result += mat4(-0.27042082, 0.22243942, 0.14902467, 0.38428563, 0.46612173, 0.5169912, -0.22330502, -0.11300288, -0.36141354, 0.0668681, 0.2984152, 0.1275798, -0.24121419, 0.2952039, -0.45109174, -0.3822957) * go_0(0.0, 0.0); + result += mat4(0.26543504, -0.05742226, -0.052103903, -0.013124308, -0.14358385, -0.04024543, 0.07665455, -0.012301872, -0.18752757, -0.03913891, 0.038205814, -0.006583095, -0.25550908, -0.25725332, -0.12454206, -0.0058936924) * go_0(0.0, 1.0); + result += mat4(-0.0018946569, 0.019746022, -0.13080788, 0.11450627, -0.013743845, -0.027179785, -0.14425103, 0.07109661, 0.023703793, 0.086905524, 0.03151253, 0.0132474145, 0.041018624, 0.04548913, 0.2718715, -0.20008296) * go_0(1.0, -1.0); + result += mat4(-0.076830454, 0.11652955, 0.5068201, -0.3082819, 0.058615055, -0.006765798, -0.057522714, 0.049981344, -0.006897243, -0.21763432, 0.16896053, -0.21176189, -0.061227098, 0.03566485, 0.08901554, -0.050980624) * go_0(1.0, 0.0); + result += mat4(0.02327798, 0.07662976, 0.034811985, -0.03238033, -0.0021881019, -0.030997375, -0.069672935, 0.04040273, -0.1217442, 0.104173124, 0.09862539, 0.020557549, -0.022286594, 0.10287763, -0.021694934, 0.07542515) * go_0(1.0, 1.0); + result += mat4(0.124069154, -0.08579466, -0.07816314, 0.11332851, -0.034682628, -0.11038275, 0.04750615, -0.096100725, 0.039588403, -0.15149672, -0.05529172, 0.034304325, -0.022520235, -0.05023852, -0.2674731, 0.21886522) * go_1(-1.0, -1.0); + result += mat4(-0.1948599, -0.14946899, -0.39548838, 0.18042913, -0.007919619, 0.19826505, 0.23789087, 0.009140256, 0.11857748, 0.18215668, 0.13606293, -0.09209675, -0.080678545, -0.020431137, -0.07728839, -0.051353537) * go_1(-1.0, 0.0); + result += mat4(-0.07616472, -0.0032800382, -0.045657665, -0.039144326, -0.37786487, -0.08877774, 0.053579114, -0.070886396, 0.011311804, 0.107276045, 0.013236154, 0.009832061, 0.08292063, 0.12258811, 0.0005569043, -0.009806432) * go_1(-1.0, 1.0); + result += mat4(-0.28062925, 0.15946878, -0.1021801, -0.06471589, -0.26999477, 0.21230288, -0.14243907, 0.2555922, -0.09608517, 0.26339412, 0.20891234, -0.23538485, 0.33958244, -0.12569186, 0.43289876, -0.33462036) * go_1(0.0, -1.0); + result += mat4(0.16265294, 0.2625464, -0.34452894, 0.2233622, 0.13850005, -0.42999864, -0.5385177, -0.11035979, 0.51662, -0.78238726, -0.09422375, 0.83759475, 0.44468537, 0.14301361, 0.108906105, 1.1596143) * go_1(0.0, 0.0); + result += mat4(-0.73757625, -0.12369605, 0.23523071, 0.006587637, -0.15445381, 0.22757277, 0.052819528, 0.10183905, -0.07912228, -0.16998893, -0.13360223, 0.014348178, -0.17778571, -0.41047302, 0.10241381, -0.08526306) * go_1(0.0, 1.0); + result += mat4(0.14712952, 0.048995696, 0.05299946, -0.06817572, 0.1498064, -0.079825334, 0.40354064, -0.31789717, -0.1998377, 0.00955295, -0.32318407, 0.30898204, -0.039571725, -0.026203401, -0.16292085, 0.08574385) * go_1(1.0, -1.0); + result += mat4(-0.6353329, -0.56000775, -0.17279743, 0.18198174, -0.19555812, 0.056538377, 0.34365895, -0.07799055, 0.19011354, -0.13952748, 0.029196098, -0.19596763, -0.069196045, -0.17402656, 0.07948411, -0.016226962) * go_1(1.0, 0.0); + result += mat4(0.25592864, 0.083498634, -0.28515807, 0.10789751, 0.0043962947, 0.07085363, 0.048724182, -0.025131436, -0.0049440865, -0.033094388, -0.032935806, 0.04266025, 0.20026933, 0.0927841, -0.006839351, -0.013012285) * go_1(1.0, 1.0); + result += vec4(0.02021373, 0.0014037411, 0.0012718709, 0.017278494); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Conv-4x1x1x56 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_1_tf +//!BIND conv2d_2_tf +//!BIND conv2d_3_tf +//!BIND conv2d_4_tf +//!BIND conv2d_5_tf +//!BIND conv2d_6_tf +//!SAVE conv2d_last_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_2 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_4 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_10 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_12 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.0067711817, 0.08160003, 0.0247279, 0.03084815, -0.026977416, -0.02120602, -0.025078611, -0.029852165, -0.011627478, -0.012742972, 0.022736797, -0.0028815821, -0.007515677, 0.0172887, -0.023259213, 0.009608947) * g_0; + result += mat4(-0.028660107, -0.014015208, -0.027838672, -0.013171922, 0.0029435428, 0.027047642, -0.017478354, 0.022834882, -0.037572853, -0.0034044068, -0.0149029335, -0.013362301, 0.009827443, -0.015742151, -0.0074795415, -0.0022266617) * g_1; + result += mat4(-0.07579662, -0.039754186, -0.066026606, -0.046816852, 0.1099032, 0.043956704, 0.073109835, 0.04680284, -0.06896613, -0.008838632, -0.044584926, -0.01319039, -0.0021152915, -0.04503326, 0.027061926, -0.028334105) * g_2; + result += mat4(0.15458213, 0.059769996, 0.09327123, -0.028782733, 0.023459995, -0.15390377, -0.13432898, -0.1127775, 0.072764635, -0.0020463336, 0.034736466, -0.0012086042, -0.05847183, -0.029952323, 0.052969377, 0.09590908) * g_3; + result += mat4(-0.07476772, -0.016574614, 0.04131183, 0.017335678, 0.009654406, 0.072183535, -0.002266456, 0.086873695, 9.310129e-05, 0.0056416965, -0.004188391, 0.023132093, -0.05183336, -0.025825873, -0.03684392, -0.0075729224) * g_4; + result += mat4(0.00878842, 0.03869637, -0.035759524, 0.003345386, -0.064184256, -0.034568302, -0.06672922, -0.0686381, -0.06794392, -0.10685906, 0.04679947, -0.012535639, 0.006932529, -0.007783515, 0.109123886, 0.13804391) * g_5; + result += mat4(-0.03160699, 0.050473, -0.09030729, 0.0649397, 0.11466501, 0.17912874, -0.0081851315, 0.052244574, 0.051632743, 0.061941486, 0.06546816, 0.12174249, -0.05104755, -0.018193979, -0.032196652, -0.035292786) * g_6; + result += mat4(0.013612735, -0.0024100312, -0.068611205, -0.07369285, -0.019647537, -0.066944756, -0.010012875, -0.06785739, -0.062246565, -0.087313406, -0.044278186, -0.09368995, 0.052555013, 0.13604961, 0.05645059, 0.08763303) * g_7; + result += mat4(0.04218486, -0.05028401, 0.059086576, -0.03545452, 0.027737848, 0.0043074046, 0.0011001764, -0.073026665, -0.04094988, 0.044061556, -0.009812515, 0.06841999, -0.06612581, 0.037223976, -0.07759491, -0.04356598) * g_8; + result += mat4(-0.027558247, 0.014248466, -0.019813016, -0.058107473, -0.016717663, -0.020424338, 0.0053625097, -0.009917319, 0.013678771, 0.0113340765, 0.0061787106, -0.036083996, -0.020179711, -0.011310535, 0.054827053, -0.0008278952) * g_9; + result += mat4(0.028690035, -0.012079616, 0.11931408, -0.048533775, 0.069336995, 0.0049852817, 0.013774468, 0.035233382, -0.07384821, 0.0003354423, -0.0059171803, -0.04503906, 0.08727279, 0.005138857, -0.17724465, 0.055782065) * g_10; + result += mat4(-0.20744391, 0.24348328, -0.3145766, 0.17026486, -0.022870807, -0.01648648, -0.05912279, -0.012555373, -0.066004686, 0.03182394, 0.16285324, -0.1221846, -0.31816196, 0.007928748, 0.43180224, -0.015949022) * g_11; + result += mat4(0.16363169, 0.14781676, -0.2377973, -0.1571377, -0.09038187, 0.0046504294, 0.033955004, -0.051421452, 0.046735536, 0.006827522, -0.121338, 0.12671822, 0.15833299, -0.1858712, -0.1942371, 0.17336044) * g_12; + result += mat4(-0.018145572, -0.015550516, 0.044410378, 0.046016492, 0.084021375, 0.05327457, -0.008270992, -0.045435544, 0.07185879, -0.131923, 0.26721445, -0.26745328, -0.07093472, 0.042701527, 0.13793674, -0.095621444) * g_13; + result += vec4(0.016836504, 0.010161949, 0.021351453, 0.01278978); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(M)-Depth-to-Space +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_last_tf +//!SAVE MAIN +//!WIDTH conv2d_last_tf.w 2 * +//!HEIGHT conv2d_last_tf.h 2 * +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +vec4 hook() { + vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); + ivec2 i0 = ivec2(f0 * vec2(2.0)); + float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; + float c1 = c0; + float c2 = c1; + float c3 = c2; + return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_S.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_S.glsl new file mode 100644 index 0000000..ac75c15 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_S.glsl @@ -0,0 +1,158 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(S)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.0057322932, 0.12928207, -0.056848746, 0.18680117, -0.0306273, 0.25602463, 0.053723164, 0.20419341, 0.0018709862, 0.022848232, -0.04105527, 0.10169034, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.009471417, -0.12957802, 0.096014425, 0.21836184, 0.00021601951, -0.22997683, 0.23666254, 0.41192335, 0.021762101, 0.0047863554, 0.008233427, 0.108514786, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.01156376, -0.18988979, 0.04614705, -0.044767227, 0.01050636, -0.26426336, 0.23741047, 0.0027636609, -0.027718676, -0.14202335, -0.016650287, -0.06637125, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.057809234, -0.11033858, 0.056533534, -0.06292466, 0.13880666, -0.18710336, 0.2441031, -0.25326246, 0.0032683122, -0.026437074, 0.0023248852, 7.640766e-05, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.49110603, 0.4429004, -0.44015464, -0.41174838, -0.87738293, 0.7808468, -1.0929365, -0.59699076, -0.18409836, 0.185138, -0.11773224, -0.17097276, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.10580959, -0.055947904, -0.03431237, -0.080236495, 0.14862584, -0.15393938, -0.18872876, -0.3170681, 0.03559387, -0.003990826, 0.021298569, 0.012844483, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.040715586, -0.25781113, 0.08896714, -0.1225879, -0.15790503, -0.54010904, 0.29588607, 0.10401059, 0.003413123, -0.108357325, 0.0112870345, -0.11888622, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.0049315444, 0.02376202, -0.08224771, 0.121118225, -0.041512914, -0.027994309, -0.585988, -0.069672115, -0.017247835, 0.0056576864, 0.04319012, 0.055003505, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.37521392, 0.15916082, 0.059708964, 0.19046007, 0.8120325, 0.38343868, 0.3436578, 0.5287958, 0.16570656, 0.06957687, 0.014022592, 0.074799836, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.01050964, -0.00939481, 0.17684458, 0.027366742); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_tf +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.011029496, 0.05866063, -0.09460646, -0.017664742, -0.022488879, 0.18384217, -0.00397663, -0.064733066, 0.08466802, 0.10667488, 8.0212536e-05, 0.0908869, 0.13580276, 0.00097438256, 0.12176522, -0.08218466) * go_0(-1.0, -1.0); + result += mat4(0.16062798, -0.10190268, 0.03280682, 0.05621916, -0.009684231, -0.08464307, 0.17058301, -0.096469186, 0.1967505, -0.1450099, 0.093607284, -0.28240147, -0.21377413, 0.10079291, -0.1741522, 0.17330575) * go_0(-1.0, 0.0); + result += mat4(-0.060160473, 0.06316997, 0.0046929033, -0.049405966, 0.13851729, 0.06830702, -0.0586872, -0.040827133, 0.007052838, -0.03576886, -0.111261636, 0.039155316, -0.07380389, -0.09369825, 0.04471156, 0.09678487) * go_0(-1.0, 1.0); + result += mat4(-0.36683616, -0.035950605, -0.24414362, -0.009159744, 0.19335322, -0.099253505, 0.075083904, -0.00076695543, 0.65291303, -0.25599423, 0.19827642, 0.065899536, -0.07423247, -0.068967685, 0.0050554527, -0.060272824) * go_0(0.0, -1.0); + result += mat4(-0.020688485, -0.83178276, 0.11104878, 0.26454413, 0.13655476, 0.37675047, -0.22219229, -0.01751935, 0.44552696, 0.92510307, 0.16063261, -0.62011045, 0.19366647, -0.06996067, -0.2504841, 0.00803723) * go_0(0.0, 0.0); + result += mat4(0.0051537007, -0.057168536, -0.16110587, 0.25232598, -0.04447099, 0.11997351, 0.14808103, -0.34443566, -0.26212573, -0.21970181, 0.2724405, 0.21050811, -0.07949061, -0.064808235, -0.21208277, -0.0042361654) * go_0(0.0, 1.0); + result += mat4(-0.0888952, -0.20169449, 0.19144905, -0.016882861, -0.013283103, 0.07552998, -0.24686803, 0.012453213, -0.065454446, -0.016123284, -0.47316182, 0.070926026, 0.09219782, 0.13118166, 0.074736096, 0.0077910526) * go_0(1.0, -1.0); + result += mat4(0.5832154, 0.1138069, -0.039765622, 0.3182784, -0.25497997, 0.0013993139, 0.39285088, -0.48511526, -0.39891505, -0.19094779, -0.082146175, -0.20826934, 0.020590555, -0.0012490178, -0.4398621, 0.14377014) * go_0(1.0, 0.0); + result += mat4(0.21917395, 3.4314657e-05, 0.25734863, -0.3433305, 0.015720673, 0.2676127, -0.06807297, 0.15040149, -0.23638041, -0.0050233034, -0.13666134, 0.4542111, -0.033572577, -0.08450588, -0.23341487, 0.053490847) * go_0(1.0, 1.0); + result += mat4(-0.17482175, 0.057647135, 0.33135444, 0.0850751, -0.1718849, -0.0854123, 0.036795795, -0.13874969, -0.10903869, -0.19007301, -0.06064334, -0.03786032, -0.036696054, 0.07844446, 0.012523185, -0.01562906) * go_1(-1.0, -1.0); + result += mat4(-0.04411997, -0.10331819, 0.10050193, 0.12406485, 0.07431592, 0.30109692, -0.17511666, -0.13263564, -0.10192587, 0.07821255, -0.22415096, 0.25552443, 0.17881326, -0.13914281, 0.109979235, -0.0016463579) * go_1(-1.0, 0.0); + result += mat4(-0.01911644, -0.15412527, 0.028903123, 0.20831817, 0.00375175, 0.08110953, 0.074919395, -0.17581624, -0.015677985, 0.06504228, 0.08817818, -0.12518327, -0.09537373, 0.028905088, -0.051288474, 0.054334078) * go_1(-1.0, 1.0); + result += mat4(0.2852779, -0.28924024, 0.36805123, 0.21079305, -0.28336474, 0.1679663, -0.08641141, -0.10699407, -0.16090055, 0.1287612, -0.15910125, 0.05734755, 0.15883245, 0.0053026294, 0.080674745, 0.0505137) * go_1(0.0, -1.0); + result += mat4(0.17639062, 0.3790122, -0.19588692, -0.020314282, 0.26197383, 0.09014768, 0.19696823, -0.41025418, -0.08308115, -0.33279485, -0.22528782, 0.06172439, -0.1365661, -0.13094363, -0.005086559, 0.089024484) * go_1(0.0, 0.0); + result += mat4(0.05262993, 0.0006296959, 0.1657725, -0.32591924, 0.12126701, 0.061543245, -0.10526848, 0.041583937, 0.094976954, 0.09416157, -0.22019257, -0.058390073, -0.2073888, 0.057273377, 0.19558284, 0.004208022) * go_1(0.0, 1.0); + result += mat4(0.30005738, 0.18478931, -0.23342943, 0.22455733, -0.016488122, 0.099634305, 0.31620836, -0.15731157, 0.09595808, 0.0013774688, 0.48273298, -0.07027936, -0.18764344, -0.26194447, -0.11794225, -0.012173601) * go_1(1.0, -1.0); + result += mat4(0.117986746, -0.13846518, -0.019614812, -0.3011192, 0.5501164, 0.3408611, -0.40090847, 0.15706886, 0.13050972, 0.051776595, 0.20792943, 0.23389706, -0.22965533, -0.053367328, 0.3911586, -0.032988597) * go_1(1.0, 0.0); + result += mat4(0.054753624, -0.008485731, -0.2451672, 0.17528129, 0.13657846, 0.010480436, 0.07651423, -0.43316832, 0.12736236, 0.13804524, 0.12529011, -0.30946237, -0.14423579, 0.08403089, 0.24335162, 0.057288036) * go_1(1.0, 1.0); + result += vec4(0.012077211, 0.013045883, 0.0380778, -0.02908858); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.036115196, -0.06971895, -0.07508942, 0.016036168, 0.12120111, 0.24536026, 0.044755507, -0.20663576, 0.029635755, -0.15427187, 0.027148994, -0.20795093, 0.10170582, 0.077919215, 0.66063017, -0.4632968) * go_0(-1.0, -1.0); + result += mat4(-0.0052889925, -0.019060908, -0.08660142, -0.022095207, -0.08097976, -0.015142803, -0.18552722, -0.078493506, -0.16293915, -0.20099808, -0.08370822, 0.3701389, 0.09094984, 0.2487225, 0.24338846, 0.044003833) * go_0(-1.0, 0.0); + result += mat4(-0.061406493, -0.017232792, -0.10917424, 0.11203319, 0.040699825, -0.019294346, 0.084953666, -0.018133596, 0.07209552, 0.016069936, 0.17805555, -0.089537814, 0.15809004, 0.1027023, 0.15044671, -0.15530108) * go_0(-1.0, 1.0); + result += mat4(0.0948676, -0.040305693, -0.005591629, -0.048048403, -0.07547777, 0.056606572, 0.021390207, 0.32600567, -0.20805131, -0.099587254, 0.029613169, 0.0092129605, -0.29429698, -0.09898621, 0.44470885, -0.89487344) * go_0(0.0, -1.0); + result += mat4(-0.122259885, 0.11445877, 0.06666907, 0.1869428, -0.1553992, -0.1658741, 0.2988138, -0.57746625, -0.34609964, 0.11169158, -0.41877756, 0.38075635, 0.21293911, 0.09640372, -0.12754214, -0.08026104) * go_0(0.0, 0.0); + result += mat4(0.15128808, 0.050087795, 0.09219755, -0.18080945, 0.0044571217, -0.046019405, -0.1289922, 0.20305426, 0.19601224, 0.04667917, 0.17465587, 0.027672665, 0.18441725, 0.06845396, 0.11288585, -0.23283863) * go_0(0.0, 1.0); + result += mat4(-0.072962, -0.06639447, 0.049347494, -0.1386401, 0.10396071, 0.08187777, -0.04280746, 0.07390891, 0.06628344, 0.037797406, 0.021885803, -0.013147403, 0.22376558, 0.36243078, 0.12874891, -0.0023783944) * go_0(1.0, -1.0); + result += mat4(0.074945286, 0.16045591, -0.11798349, 0.12910712, 0.054760084, -0.095626175, -0.047832094, 0.03493912, 0.11817307, 0.037452437, -0.14301221, -0.027356789, -0.052390423, 0.11373512, 0.07686775, 0.010008694) * go_0(1.0, 0.0); + result += mat4(-0.023999173, -0.091900624, 0.02388157, 0.03173873, 0.0065633506, -0.033716757, -0.1198324, 0.12057766, 0.026465805, -0.07517131, -0.07760598, 0.060463097, 0.07345541, 0.046037503, 0.21101558, -0.26785463) * go_0(1.0, 1.0); + result += mat4(0.15544604, -0.03902825, 0.04630384, -0.25173616, -0.0691359, 0.07476507, 0.009071253, 0.089964196, -0.26539803, -0.3958477, -0.22155671, 0.20735882, -0.105860494, -0.003996804, -0.044815883, 0.39544627) * go_1(-1.0, -1.0); + result += mat4(0.6169709, 0.23717614, -0.37884676, -0.7484867, 0.020169826, -0.30718836, 1.0965588, -0.20711036, -0.39149985, -0.06843563, -0.06522909, 0.103805855, 0.03265825, -0.15137726, 0.12837899, -0.01294922) * go_1(-1.0, 0.0); + result += mat4(-0.23638196, -0.4560866, -0.11948684, -0.1464144, 0.10690008, 0.007835961, 0.11864342, -0.13101323, -0.16509797, 0.075027354, 0.08122998, 0.13451207, 0.0011890623, 0.052157886, 0.08372405, -0.07085038) * go_1(-1.0, 1.0); + result += mat4(-0.21997726, -0.16488647, -0.0291317, 0.17997476, 0.1493211, 0.027494298, 0.0034613227, -0.3207727, 0.18699001, 0.14728633, -0.042895135, -0.07612043, 0.125076, -0.14714554, -0.03480009, -0.22753975) * go_1(0.0, -1.0); + result += mat4(-0.5342686, -0.7426105, -0.38294584, 0.42549992, 0.46053204, 0.7867879, 0.106234804, -0.041163098, 0.5198579, -0.5219404, 0.14809476, -0.41802374, 0.06810794, -0.15122683, -0.047409, 0.13178343) * go_1(0.0, 0.0); + result += mat4(-0.50428164, 0.18220626, 0.35510704, -0.081787474, 0.03155813, 0.019284263, 0.0032388573, -0.20513348, -0.05385551, 0.17803182, -0.26206362, 0.2870375, 0.008557827, 0.08401449, -0.027598893, -0.010791235) * go_1(0.0, 1.0); + result += mat4(0.16657415, 0.067647465, 0.093076974, -0.14438486, -0.10017002, 0.0022367141, 0.03250936, -0.052794546, -0.009178676, -0.019673595, -0.0016697067, -0.15424626, -0.112123474, -0.11079971, 0.011987111, -0.11747758) * go_1(1.0, -1.0); + result += mat4(-0.023021797, -0.058703423, -0.037978355, -0.062433913, -0.13130441, 0.048656322, 0.056839373, 0.109036915, -0.07823158, 0.14785293, 0.058555078, -0.11679035, -0.14002073, 0.07395252, 0.098268874, -0.06710464) * go_1(1.0, 0.0); + result += mat4(0.14906375, 0.030001195, -0.10338215, 0.0662968, -0.161953, -0.13682815, 0.09563142, 0.009514228, -0.009491218, 0.06737101, -0.1393389, 0.15231515, -0.073147796, 0.00767062, 0.028675212, 0.014213088) * go_1(1.0, 1.0); + result += vec4(0.018736731, -0.0026039074, 0.050130025, -0.055364225); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!SAVE conv2d_last_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.019100675, -0.014241565, 0.004667036, -0.03865062, 0.106731094, 0.026099661, 0.014594411, -0.011881356, 0.0040967264, -0.004626336, 0.006469508, 0.010875305, -0.033909045, -0.085905954, 0.07861378, 0.019452631) * go_0(-1.0, -1.0); + result += mat4(0.20777655, -0.060354974, 0.0023840065, -0.064121604, -0.17397617, 0.019293457, -0.09707183, 0.080641985, 0.01025124, -0.017382381, 0.008661793, -0.010995665, 0.21943407, -0.115574986, 0.14471593, -0.068836235) * go_0(-1.0, 0.0); + result += mat4(0.057942886, -0.06311754, 0.2253396, -0.04159292, -0.020731755, 0.007877151, 0.041525815, 0.025278691, 0.03041967, -0.025137542, 0.024364179, -0.024543528, 0.029438615, -0.015506873, 0.081686, -0.07812221) * go_0(-1.0, 1.0); + result += mat4(0.054237515, 0.0676094, -0.0047708177, 0.0043467237, -0.10032304, -0.020498628, 0.04240586, 0.07272254, 0.0784221, 0.017945962, -0.022310399, -0.013134622, 0.015638694, -0.10001543, 0.1043031, 0.05898838) * go_0(0.0, -1.0); + result += mat4(-0.021652509, 0.35796642, 0.059497777, 0.23948468, 0.15454951, -0.10017235, -0.19072174, -0.44812536, -0.03974552, 0.04529369, 0.22207436, 0.026222564, -0.09705454, 0.5623026, -0.3354105, -0.017278556) * go_0(0.0, 0.0); + result += mat4(-0.053682446, -0.03411237, -0.09399936, 0.15128824, -0.07463, -0.042020727, 0.0031783928, 0.13481957, -0.07731454, 0.044114403, -0.23085599, 0.060444202, -0.15015422, 0.0018040676, -0.18684982, 0.2812511) * go_0(0.0, 1.0); + result += mat4(0.0029329916, 0.001596018, 0.0007512241, 0.016544111, -0.04876942, -0.05272409, 0.037884697, 0.049948208, 0.015518177, 0.11368592, -0.03815777, -0.013149978, -0.027638039, 0.107719295, -0.04115787, 0.02745414) * go_0(1.0, -1.0); + result += mat4(0.016691081, 0.010204119, 0.04078854, 0.01613337, 0.03325829, 0.0114824055, -0.017286912, -0.07284126, -0.110984206, -0.21041764, 0.0089543555, 0.18986733, 0.01537506, -0.2059135, 0.029074017, 0.013117443) * go_0(1.0, 0.0); + result += mat4(0.013965926, 0.029871881, 0.0034499036, -0.011343668, 0.022120327, -0.0068748263, 0.009324342, -0.039081004, 0.08032371, 0.050809264, 0.035050742, -0.2032847, 0.06305391, -0.021958945, 0.038569167, -0.22465245) * go_0(1.0, 1.0); + result += mat4(0.046307724, -0.012419472, 0.007673863, -0.042344846, 0.011042414, 0.016994251, -0.018166406, -0.016955731, -0.13240299, 0.01768431, -0.027607648, 0.0699927, -0.02840628, 0.004414203, 0.0049618417, 0.011084679) * go_1(-1.0, -1.0); + result += mat4(-0.119954154, -0.007455482, -0.031108133, -0.009946449, 0.0077065965, 0.01660345, 0.032943666, 0.016376585, 0.10273124, 0.1556573, -0.24643841, 0.107307844, -0.068235755, 0.0561896, -0.0104672015, 0.042693343) * go_1(-1.0, 0.0); + result += mat4(-0.01634601, 0.04195375, -0.10401894, 0.047641944, -0.034602515, -0.0034419263, -0.010457858, 0.015194475, -0.03962551, -0.030031368, 0.16036317, 0.019283568, -0.05877721, 0.016504882, -0.15523468, 0.018161612) * go_1(-1.0, 1.0); + result += mat4(-0.08083991, 0.0024665035, -0.049373373, 0.030371357, 0.0113322195, -0.014676956, 0.011646689, -0.01142667, 0.124930486, 0.06625774, -0.045840867, -0.009693036, -0.012649251, -0.07388084, 0.008790075, 0.0013844534) * go_1(0.0, -1.0); + result += mat4(-0.33941835, -0.2763476, -0.118311435, -0.063535266, 0.20936015, 0.13731301, 0.13443594, 0.07464433, 0.059650812, -0.36973104, 0.16444235, -0.37082872, 0.06432777, -0.18283032, -0.044489607, -0.13895285) * go_1(0.0, 0.0); + result += mat4(0.13533665, 0.08268915, -0.03675727, -0.14348659, 0.0186255, -0.05051692, 0.056702953, 0.0061717895, 0.047663026, -0.088188455, 0.23254345, -0.014015464, 0.08400204, -0.0073777726, 0.2202068, -0.12366078) * go_1(0.0, 1.0); + result += mat4(0.04361004, 0.046543695, 0.0064863074, -0.03358146, -0.022602187, 0.018138997, -0.011071864, 0.010244091, -0.019814799, -0.17250171, 0.040823266, -0.040131986, 0.010125854, 0.020660749, 0.0020435036, -0.010819304) * go_1(1.0, -1.0); + result += mat4(-0.004810193, -0.11286074, 0.051985834, 0.04788631, -0.023950428, 0.036145125, -0.038203828, 0.052401308, 0.022986965, 0.26420745, -0.06076917, -0.09252999, 0.03164547, 0.15652153, -0.037934, -0.0035418556) * go_1(1.0, 0.0); + result += mat4(0.03358366, -0.005219482, 0.007060882, -0.06569114, -0.02941682, 0.00966056, -0.0153679885, 0.019905418, -0.107232265, -0.03405676, -0.044340115, 0.26892832, -0.04723829, -0.02589829, 0.004563232, 0.19318114) * go_1(1.0, 1.0); + result += vec4(-0.00346731, -0.0046263863, -0.004627155, -0.0057769152); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(S)-Depth-to-Space +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_last_tf +//!SAVE MAIN +//!WIDTH conv2d_last_tf.w 2 * +//!HEIGHT conv2d_last_tf.h 2 * +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +vec4 hook() { + vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); + ivec2 i0 = ivec2(f0 * vec2(2.0)); + float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; + float c1 = c0; + float c2 = c1; + float c3 = c2; + return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_UL.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_UL.glsl new file mode 100644 index 0000000..e051f5f --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_UL.glsl @@ -0,0 +1,1702 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.27576035, -0.07072761, -0.1630093, -0.11306897, 0.14765891, -0.039999995, 0.04671886, -0.06138944, 0.11445724, 0.10989976, 0.12772457, 0.19654717, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.076798744, -0.026944768, -0.24994318, 0.2515569, -0.16839856, 0.17563075, 0.30983326, -0.26057217, -0.07267306, -0.16690817, -0.028771983, -0.32779765, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.22670166, -0.08031973, 0.1576897, -0.09411961, 0.10889907, 0.09876773, -0.12708376, 0.20890583, 0.13792023, 0.046159253, 0.008415701, 0.028718324, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.123937644, -0.0040695923, 0.1577942, -0.25086892, -0.11906424, 0.024612824, 0.04019426, -0.20309904, -0.001790695, -0.022292957, -0.24705121, -0.020513516, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.12275696, 0.087533146, 0.22975677, 0.3249744, -0.46705425, 0.049937986, -0.3746097, 0.6908184, -0.02694045, 0.10467642, 0.24765752, 0.29053956, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.085650265, 0.06399875, 0.16803174, -0.000924935, -0.012419805, 0.3505107, -0.013437306, -0.37681264, -0.06174721, 0.3525594, -0.7133205, 0.16013019, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.2400495, 0.08462758, 0.025238732, -0.019882765, -0.09665332, -0.030001955, -0.10374011, -0.2661804, -0.1017717, -0.04910443, 0.102630705, -0.01290848, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.13510828, -0.09396734, -0.30896646, 0.13402982, 0.7047196, -0.09083812, 0.29420912, -0.30652946, 0.089854665, -0.04834406, 0.017005004, -0.22518355, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.28510967, 0.04660653, 0.24457681, -0.21047631, -0.12409636, -0.5526988, -0.1340479, 0.2336875, -0.048938934, -0.31569406, -0.021553513, -0.084858574, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.0357343, 0.024812812, 0.040654864, -0.002103711); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.058698863, -0.07291426, 0.04927266, 0.09258057, -0.048297565, 0.05610951, 0.07047442, -0.07120319, -0.03516866, 0.0076037147, 0.07701455, -0.059423756, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.0055849426, 0.26572028, -0.21616961, -0.042883366, 0.04323887, 0.04128688, -0.1975783, 0.15745145, 0.017314252, -0.26768935, 0.080519766, 0.021246549, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.045365453, 0.16887768, -0.21514243, -0.49443442, 0.016238604, -0.12318089, 0.21210986, 0.29339197, 0.008509125, -0.0120522, 0.14660002, 0.16444208, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.18049234, 0.27750164, 0.48953623, 0.32381085, 0.13180427, -0.19170003, -0.042992454, -0.24161138, 0.02187773, -0.052547548, -0.23762631, -0.17446616, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.10295366, -0.06758289, 0.3209139, -0.089126036, 0.045649666, 0.061549887, -0.22704688, 0.08373262, 0.062346827, -0.012463345, -0.2679532, -0.033193, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.028882261, -0.41653237, -0.55437064, -0.23836315, -0.10729088, 0.056782994, 0.2587744, 0.3095401, -0.057483524, 0.2876223, 0.21580297, 0.07463114, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.014345448, 0.05962805, -0.2022189, -0.08993287, 0.070023656, 0.08089038, 0.114226155, 0.0025734142, -0.010230871, -0.0990795, 0.17906278, 0.048965868, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.26569575, -0.20329566, 0.40301713, 0.5406432, 0.4320893, 0.09291447, -0.24186778, -0.40646008, 0.08337033, 0.114029825, -0.17575161, -0.21976136, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.23839538, -0.5789523, -0.0655242, -0.0007585647, -0.58420926, -0.0028022572, 0.040551513, -0.14223239, -0.08617295, 0.22481681, -0.015953997, 0.18862534, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.041260406, 0.20480168, -0.016556341, 0.021896001); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf2 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.07228457, 0.007666297, 0.0023270524, -0.13672906, -0.06545506, -0.049757745, 0.16956232, 0.048654493, 0.05838961, 0.02529347, -0.21557869, -0.12801598, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.14399123, 0.33404213, 0.30544546, -0.024566652, -0.07515048, -0.18194102, -0.3067775, -0.3386222, -0.06924871, 0.08277239, 0.30782035, 0.1812733, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.0034141026, 0.03465326, 0.13170029, 0.19363083, 0.07877697, 0.12887354, 0.31288412, 0.039260264, -0.14135145, -0.21657607, -0.08192631, -0.016260598, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.2796338, 0.3380564, -0.2591034, 0.053368755, 0.017104708, -0.18027966, -0.083344355, 0.29481766, -0.088741906, -0.03886714, 0.15531075, 0.34214082, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.35849893, 0.39669302, -0.4743166, -0.30070198, -0.04679741, 0.029014967, -0.11585943, 0.547813, 0.037943944, -0.3137137, -0.16505164, 0.1461349, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.19912307, -0.69915354, 0.12588218, -0.25780293, 0.06785873, -0.06666295, 0.21257555, -0.30608517, 0.22777, 0.47556394, 0.12453673, -0.23966943, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.066451795, 0.036735266, 0.0883064, 0.2535588, 0.111621, 0.026139118, 0.02632312, -0.37550557, -0.026438652, -0.042137396, 0.026273955, -0.24945815, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.550942, -0.4508381, 0.0018671635, 0.21252398, -0.10602345, 0.13596801, -0.0023862422, 0.029529708, -0.06045382, 0.22975087, -0.1594863, -0.33607775, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.0114465775, 0.011813566, 0.09969644, 0.055403743, 0.02460606, 0.13673273, -0.22494976, -0.24256726, 0.024602994, -0.1862818, 0.015388349, 0.39983493, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.32573584, 0.02118458, 0.06321103, 0.01701115); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.009462198, 0.067644134, 0.09776196, -0.06859017, -0.1816813, 0.053423163, -0.02265236, 0.06604943, 0.15899086, -0.15651219, 0.2919677, 0.00591133, 0.09306437, 0.047243804, -0.1389423, -0.0076663005) * go_0(-1.0, -1.0); + result += mat4(0.23136483, 0.20969442, -0.25250545, -0.038510673, 0.06916893, -0.19306515, -0.07070081, 0.016512204, 0.05914443, 0.31841832, -0.15109769, 0.058795422, 0.0418041, -0.13008581, 0.15338552, 0.037921127) * go_0(-1.0, 0.0); + result += mat4(0.023348259, 0.15947549, 0.16773324, 0.04159353, 0.113954544, -0.071491666, 0.12837915, -0.043326825, 0.058823302, 0.09453112, 0.017051624, 0.048308555, -0.10970718, -0.25019458, 0.074912935, -0.04076737) * go_0(-1.0, 1.0); + result += mat4(0.036305163, -0.22121401, 0.120393604, -0.05099148, -0.10198376, -0.04498367, -0.08815256, 0.024565894, -0.04884751, -0.036884382, -0.24040928, -0.112012394, 0.005314592, -0.14346673, 0.04090868, 0.040303618) * go_0(0.0, -1.0); + result += mat4(0.32364944, 0.2346947, 0.13479401, -0.071001865, -0.092296354, -0.13325988, 0.18273465, 0.16443633, -0.138694, -0.1538144, 0.0001256584, 0.23658273, -0.055330865, 0.18081205, -0.14958258, 0.18050644) * go_0(0.0, 0.0); + result += mat4(0.30818513, -0.10282234, -0.14460294, 0.11525818, 0.15799633, -0.038440127, 0.07736027, -0.113209635, -0.03558696, 0.0027641046, 0.09750022, -0.035741746, -0.06724116, -0.11298426, -0.23708679, -0.08182236) * go_0(0.0, 1.0); + result += mat4(0.16450825, 0.014239063, -0.15482663, 0.011389393, 0.121237025, -0.056966547, -0.23891398, -0.07385608, -0.0919129, 0.1384911, 0.10602064, -0.08549364, -0.117471084, 0.045140628, -0.055791426, 0.11584021) * go_0(1.0, -1.0); + result += mat4(0.053284578, 0.084236816, 0.16935693, -0.16279462, -0.060930096, 0.13849908, 0.16018802, -0.007871505, 0.12076791, -0.06930294, -0.16473438, 0.12876272, -0.039502293, -0.064467184, 0.13885021, -0.09353176) * go_0(1.0, 0.0); + result += mat4(0.04007251, -0.0423664, -0.20841573, 0.025270352, 0.051647697, -0.086622365, -0.108722195, 0.03807204, 0.059649065, -0.0070362207, 0.04048331, 0.06589983, -0.014079206, -0.10045001, 0.09532272, -0.12775785) * go_0(1.0, 1.0); + result += mat4(0.15776722, -0.1468444, -0.026526975, -0.038875956, -0.36817524, -0.09478588, -0.27826226, 0.016944334, 0.009886105, -0.061800323, 0.0800291, -0.081642725, 0.051763505, -0.14510322, -0.12901913, 0.06997819) * go_1(-1.0, -1.0); + result += mat4(-0.17539172, -0.29509535, 0.14361212, -0.09461951, 0.02858693, 0.1989715, 0.05904459, -0.09012477, 0.03901393, -0.09044802, 0.08358012, 0.052188553, -0.05505933, -0.048021372, 0.27836508, -0.035614084) * go_1(-1.0, 0.0); + result += mat4(0.034031298, -0.034978155, -0.038415093, -0.09294941, 0.049487505, 0.15056923, -0.010052316, 0.08712324, 0.07430246, 0.17897835, -0.060980003, -0.08634773, -0.07403975, -0.026423855, -0.18169394, 0.007463145) * go_1(-1.0, 1.0); + result += mat4(0.048213437, 0.16104779, 0.038785655, -0.033407986, 0.22063074, -0.053561423, 0.13353224, -0.26674026, 0.04884891, 0.030459542, -0.22288404, 0.06640239, 0.12854575, 0.029917246, 0.24786973, -0.1690474) * go_1(0.0, -1.0); + result += mat4(0.14981748, 0.17726701, 0.3075169, -0.0061602336, 0.070802234, 0.012225174, -0.11732834, -0.04439886, 0.062125243, 0.09351938, 0.4337808, -0.08277167, 0.25400677, -0.08523749, -0.3210451, -0.17889985) * go_1(0.0, 0.0); + result += mat4(-0.013666365, 0.09298701, -0.22515774, 0.06844796, -0.056414075, -0.04622639, 0.2661024, 0.16837521, -0.060347248, 0.42006207, 0.31325382, 0.040558435, -0.23408552, -0.3959543, 0.08528746, 0.04711839) * go_1(0.0, 1.0); + result += mat4(-0.21203883, 0.14807487, 0.10670431, 0.09823839, -0.0029566926, -0.14064936, -0.0062036305, 0.058999464, -0.119635604, -0.017831627, -0.024394974, -0.09484209, -0.05494034, 0.2234736, -0.18613186, 0.10272367) * go_1(1.0, -1.0); + result += mat4(-0.026449624, -0.07470873, -0.103021905, 0.036553413, -0.16811648, 0.010706488, -0.11658722, 0.16098383, -0.118867725, -0.30606326, -0.38222322, 0.08585665, 0.07455366, -0.083553374, 0.11151869, -0.19190635) * go_1(1.0, 0.0); + result += mat4(-0.113795616, 0.1331456, 0.114444636, 0.0071249725, 0.12230587, -0.017298486, -0.005261545, 0.01930602, 0.19144222, -0.0868461, -0.13227822, 0.18046889, 0.12061947, 0.107320294, -0.07637172, -0.034593552) * go_1(1.0, 1.0); + result += mat4(0.049325835, 0.020729464, -0.23382401, 0.15919043, -0.008479369, 0.15347077, 0.41359872, -0.061457418, 0.024845408, -0.15185645, -0.057010442, -0.09998088, 0.10153512, -0.09882405, 0.039735407, -0.077833496) * go_2(-1.0, -1.0); + result += mat4(-0.36701423, 0.12649989, 0.018880492, -0.23008151, -0.052118823, 0.15917695, -0.11396803, 0.21387778, 0.08706439, -0.0038190812, 0.12580395, -0.18743886, 0.005943777, -0.055926796, 0.22107217, -0.15519042) * go_2(-1.0, 0.0); + result += mat4(-0.117441535, 0.11953572, -0.15477178, -0.21330307, 0.033542704, -0.086117126, 0.040748667, 0.113893, -0.039779708, 0.06455176, -0.033797383, 0.045687508, 0.06263807, 0.040957358, -0.0007738094, -0.053097825) * go_2(-1.0, 1.0); + result += mat4(0.14710459, -0.06704273, -0.021150973, -0.15517733, -0.011780557, -0.123433016, -0.5554903, 0.07073845, 0.037211616, -0.14225942, -0.13862026, -0.12025682, 0.09802159, 0.045993954, 0.21416502, -0.12655829) * go_2(0.0, -1.0); + result += mat4(0.33932889, -0.10832225, -0.10277331, -0.043458294, -0.080375, 0.07122225, 0.5117161, 0.45102793, 0.08851493, -0.19836949, 0.1128087, 0.14412156, 0.15872803, 0.35519516, -0.36955422, 0.22665614) * go_2(0.0, 0.0); + result += mat4(-0.2083875, 0.005418101, 0.1154246, 0.16369523, 0.0066285534, -0.15079136, -0.0024386873, -0.006123944, 0.1329886, 0.007733818, -0.078484625, 0.0073881904, 0.045415893, 0.13548672, -0.04421294, 0.17557195) * go_2(0.0, 1.0); + result += mat4(-0.06733927, 0.061143715, 0.11623754, 0.035660855, -0.16833517, 0.25015733, 0.16666088, 0.3536397, -0.17156921, 0.14590204, 0.0319748, -0.022740254, -0.081528045, -0.029098801, 0.106823295, 0.05240602) * go_2(1.0, -1.0); + result += mat4(-0.030105693, 0.07486713, 0.07255324, 0.26833382, 0.13944457, -0.12094807, -0.119364485, 0.008746426, -0.0543321, -0.23814397, 0.21626633, 0.19788063, -0.060222488, 0.013993159, -0.044926863, 0.10624144) * go_2(1.0, 0.0); + result += mat4(0.04872421, -0.1731085, 0.120799415, -0.262767, -0.01584661, 0.066874966, -0.23661989, -0.18333362, 0.04360596, 0.16124529, -0.024604535, -0.02463142, -0.051435392, -0.015720569, -0.08187193, 0.048288688) * go_2(1.0, 1.0); + result += mat4(0.049077168, -0.07886619, -0.061759558, -0.04904181, 0.39755592, -0.030000389, 0.13741177, 0.035482008, -0.0356009, 0.031532627, -0.2654997, 0.022695553, -0.12488769, 0.015674936, 0.10053729, -0.016251108) * go_3(-1.0, -1.0); + result += mat4(0.034757115, -0.22141235, 0.34255457, -0.01785397, 0.13844466, -0.17758907, 0.06551371, -0.054463834, 0.03203843, -0.13669081, 0.13089286, -0.08061962, 0.015957424, -0.0024440098, -0.10206851, -0.089845166) * go_3(-1.0, 0.0); + result += mat4(-0.0511128, -0.10826102, -0.28195792, 0.0077595203, -0.1147427, -0.0022921658, -0.07577954, -0.02045415, -0.060518377, -0.11451084, 0.018158037, -0.0758857, -0.04422985, 0.012489414, -0.016101263, 0.061439708) * go_3(-1.0, 1.0); + result += mat4(-0.03760036, 0.13497229, -0.13668093, 0.07768455, -0.15663894, -0.015719853, 0.21031374, 0.1781295, -0.14109309, -0.03143449, -0.020708034, 0.082145125, 0.029068671, 0.16775839, -0.060003906, 0.071289144) * go_3(0.0, -1.0); + result += mat4(0.33949512, 0.11439767, -0.030989401, 0.048677433, 0.21668954, -0.09781232, -0.14430745, -0.34149325, 0.04961082, 0.13556859, -0.02967883, -0.019534707, 0.112177946, -0.0950136, 0.02612632, -0.1142915) * go_3(0.0, 0.0); + result += mat4(-0.16193709, 0.12953411, 0.12638013, 0.07118955, -0.09868655, 0.05682677, -0.03974761, 0.14830436, 0.016494498, 0.04290563, -0.107214145, -0.0006455558, 0.15607493, 0.22610466, 0.23997377, 0.21541154) * go_3(0.0, 1.0); + result += mat4(-0.13969646, -0.03359856, 0.12332616, 0.024957852, -0.264063, -0.027087519, 0.16026239, 0.18871038, 0.12738967, -0.070992924, 0.058890942, -0.055569854, 0.07901736, -0.10643202, 0.08499172, -0.07838089) * go_3(1.0, -1.0); + result += mat4(0.124158695, 0.04502674, -0.080311716, 0.013808018, 0.0370118, -0.16594483, -0.16791067, 0.05448626, -0.03551704, 0.006355477, 0.26084647, 0.12521335, -0.004537222, -0.017335514, -0.12183743, 0.021074474) * go_3(1.0, 0.0); + result += mat4(-0.022497809, 0.04964908, 0.14643028, -0.04685759, -0.06790267, 0.11746793, 0.12926494, -0.082243346, -0.053480923, 0.06610809, -0.04575657, -0.14319976, -0.09223617, 0.10878509, -0.05621081, 0.16550247) * go_3(1.0, 1.0); + result += mat4(-0.28332457, 0.05198234, 0.021976635, -0.1545899, -0.26678282, -0.047813956, -0.023821756, -0.101214804, 0.07505883, 0.05556278, 0.017566912, 0.00901856, -0.022323653, 0.1653073, 0.08053188, -0.18955535) * go_4(-1.0, -1.0); + result += mat4(0.084919475, 0.03962379, -0.13510302, 0.24873632, -0.06863436, 0.029294679, 0.016317705, -0.043712415, -0.028959788, 0.017755143, -0.05474792, -0.055838227, 0.08769533, -0.09412337, -0.023203408, -0.0640265) * go_4(-1.0, 0.0); + result += mat4(-0.110101126, -0.032489337, 0.02593033, 0.15959314, -0.044097103, -0.18824866, 0.08125642, -0.0077189617, -0.054190274, -0.14331457, 0.1452974, 0.07808066, 0.0021549438, -0.03174141, 0.017612346, -0.15539496) * go_4(-1.0, 1.0); + result += mat4(-0.088953294, -0.029799841, 0.11556197, 0.04862062, 0.066503406, -0.114064194, 0.09255826, -0.1833335, -0.01641819, -0.119497, 0.2961799, -0.2780695, -0.12567733, 0.0024600243, -0.11751205, 0.085669436) * go_4(0.0, -1.0); + result += mat4(-0.21532503, -0.06343075, -0.27015615, 0.068540476, -0.06858675, -0.062484156, 0.03682217, -0.1015083, 0.107420795, 0.012092155, -0.22166798, 0.028644597, -0.10172646, 0.19677241, 0.37931946, -0.11699309) * go_4(0.0, 0.0); + result += mat4(0.07044547, -0.03793531, 0.17182013, 0.008134154, 0.0050753267, 0.058524463, -0.29959077, -0.079782486, 0.06422465, -0.44226143, -0.27561387, -0.14839257, 0.24578299, 0.24039108, -0.07351824, 0.034930374) * go_4(0.0, 1.0); + result += mat4(0.1892026, -0.054502696, -0.05670299, -0.03181167, 0.035967033, 0.18241122, 0.00743329, 0.015681073, -0.056629453, 0.11829241, -0.07440575, -0.023615826, -0.009568993, -0.03544514, -0.05925388, -0.40062532) * go_4(1.0, -1.0); + result += mat4(-0.012591867, 0.069327325, 0.20525102, -0.0013599707, 0.20637867, 0.053142715, 0.08542395, 0.0015770206, 0.0006431645, 0.21245757, 0.16769366, -0.0030028354, -0.19049928, -0.07689201, -0.031236758, 0.22773638) * go_4(1.0, 0.0); + result += mat4(0.08173383, -0.095775105, -0.08555914, -6.735811e-05, -0.038772196, 0.021698473, 0.04046729, 0.07664872, -0.00024131182, 0.20962766, 0.18627205, -0.035633747, -0.13656121, -0.050837196, 0.07260766, -0.019978348) * go_4(1.0, 1.0); + result += mat4(-0.16073698, 0.14160293, 0.12324934, 0.20341478, -0.0019186502, -0.095708326, -0.2297202, 0.35728905, -0.09427626, 0.062210754, -0.012826292, 0.118804015, -0.08991538, 0.06391433, -0.023036718, -0.017481891) * go_5(-1.0, -1.0); + result += mat4(0.21371883, -0.16740565, -0.10288582, -0.061600383, 0.020964885, -0.023439301, 0.18262915, -0.31056783, -0.093428515, -0.30865392, -0.040038906, 0.069449544, 0.07479101, -0.07418401, -0.2324029, 0.1234252) * go_5(-1.0, 0.0); + result += mat4(-0.24855302, -0.12967765, 0.02631683, 0.08294003, -0.016402971, 0.14255002, 0.0048186355, -0.0011596545, 0.06271189, -0.026687965, 0.020020025, -0.05608053, -0.04504705, -0.10878176, 0.0013364048, 0.006674377) * go_5(-1.0, 1.0); + result += mat4(-0.05265867, 0.039263245, 0.08444624, 0.025635105, 0.080403246, 0.3593395, 0.3254258, 0.043744642, 0.049711503, -0.17298554, 0.076980025, 0.08564068, 0.055967227, -0.025387138, -0.12774122, 0.06460898) * go_5(0.0, -1.0); + result += mat4(0.10153962, 0.1773, 0.39640376, -0.19406912, 0.21126994, 0.082484245, -0.49809954, -0.026066823, -0.069782086, 0.24188274, -0.13548844, -0.29941857, 0.06539237, -0.2640235, 0.34804615, -0.12240826) * go_5(0.0, 0.0); + result += mat4(0.0077373167, -0.1192639, -0.11340615, -0.22332144, 0.024052242, 0.07247779, 0.01824934, 0.27204347, -0.12280574, -0.15037231, 0.095412664, -0.09667618, -0.045748595, -0.069017254, 0.04676958, -0.11994603) * go_5(0.0, 1.0); + result += mat4(0.11430846, -0.07280232, -0.12316846, -0.076348506, 0.14808905, -0.29144016, -0.24595666, 0.18917578, 0.12346525, 0.06044025, -0.2605574, -0.2944082, 0.029403422, 0.10978217, -0.14474128, 0.016708253) * go_5(1.0, -1.0); + result += mat4(0.05979043, -0.07152787, -0.19449393, 0.003888642, -0.07616637, 0.18699367, -0.028180948, 0.29517344, 0.09553033, 0.07179247, -0.30424592, -0.13225375, 0.028066052, 0.012709331, 0.006618433, -0.1427098) * go_5(1.0, 0.0); + result += mat4(0.041162595, 0.18586132, -0.009566293, 0.029985288, -0.13142577, -0.18026744, 0.20692593, -0.03168997, -0.032814153, -0.18140802, 0.10108317, -0.004236778, 0.035565984, 0.0060556303, -0.0098911915, -0.08988839) * go_5(1.0, 1.0); + result += vec4(-0.09062037, 0.013100331, -0.030562, -0.0064230394); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!SAVE conv2d_1_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.064515434, 0.07896172, 0.056155425, 0.044425253, 0.03319016, -0.054605387, -0.4591473, 0.15511878, 0.034813322, 0.0672562, 0.05701353, 0.040412407, -0.038797975, -0.111860834, 0.053084996, -0.09889108) * go_0(-1.0, -1.0); + result += mat4(-0.19500382, -0.38966596, 0.27081028, -0.20423058, -0.035951976, -0.22931336, -0.094351776, 0.07632106, -0.16903882, -0.09205736, -0.0133898435, -0.025871782, 0.026594864, 0.09540177, -0.19411358, -0.019835787) * go_0(-1.0, 0.0); + result += mat4(0.033789452, 0.070497066, -0.072486654, 0.15952013, 0.005707006, 0.099570274, 0.10225775, 0.14358646, 0.030362945, 0.04101203, 0.041384347, -0.07857492, 0.0101447, -0.13572751, -0.0014982093, -0.21828102) * go_0(-1.0, 1.0); + result += mat4(-0.06541299, -0.065143906, 0.070729114, 0.16001381, 0.03785971, 0.10330557, -0.12786262, 0.23345129, -0.079743266, -0.19548073, 0.06546381, -0.3466734, 0.052256253, 0.17547274, 0.08082544, -0.002740424) * go_0(0.0, -1.0); + result += mat4(-0.25474778, 0.3409222, -0.16752993, -0.2593963, 0.22428669, 0.12370032, 0.201332, 0.2880896, 0.05886888, 0.28148982, -0.078226954, -0.10041725, -0.046689507, 0.0326885, 0.10199703, 0.13900283) * go_0(0.0, 0.0); + result += mat4(0.13756008, -0.007290373, -0.3277049, -0.081920624, -0.13261138, 0.10012489, 0.16701259, 0.095596135, 0.11018003, 0.08671664, 0.007405438, -0.069064125, -0.06399627, -0.20199764, -0.14141648, -0.18114863) * go_0(0.0, 1.0); + result += mat4(-0.06398666, -0.14905818, -0.08662983, -0.14592336, -0.019165145, -0.16002633, 0.02595079, -0.032384723, -0.06226262, 0.11195063, -0.059623078, 0.08347643, -0.07747154, -0.05067411, -0.011761259, 0.04478109) * go_0(1.0, -1.0); + result += mat4(-0.110994905, 0.16579364, 0.05735814, 0.08335136, 0.0023429485, -0.035295088, -0.00767387, 0.039022036, 0.045022078, -0.14819291, -0.11657396, 0.114125244, -0.112737395, 0.03421371, 0.123605475, -0.094038226) * go_0(1.0, 0.0); + result += mat4(0.14619811, -0.13335696, -0.09799096, -0.015030551, -0.027455918, -0.052438136, -0.014773566, -0.06363389, 0.12765555, -0.060070448, -0.05204619, 0.20176068, 0.020521173, 0.0805951, 0.064473, -0.0071453564) * go_0(1.0, 1.0); + result += mat4(-0.5381485, 0.016816406, 0.03575291, 0.15307717, -0.18513149, -0.029921992, 0.2622421, 0.17963228, -0.002844402, -0.058329333, 0.072945744, -0.11042211, 0.006249197, 0.11601606, 0.058575515, 0.064850174) * go_1(-1.0, -1.0); + result += mat4(-0.42793107, 0.36473498, 0.11899247, 0.26988775, 0.11106695, 0.08952316, 0.014755224, -0.08844807, -0.08071252, -0.043227013, -0.043939825, -0.18867648, 0.051046275, 0.21520744, 0.005522403, -0.054136444) * go_1(-1.0, 0.0); + result += mat4(-0.09239439, -0.12671697, -0.02282582, 0.1047466, -0.043446694, 0.024044901, -0.0021552334, -0.15775962, 0.028607333, -0.097138464, -0.043680545, -0.07058451, 0.11537684, 0.113663144, 0.18539715, -0.02583076) * go_1(-1.0, 1.0); + result += mat4(0.06783846, -0.030368762, -0.032593627, -0.115257286, -0.14801481, -0.08790775, 0.15180242, 0.09927532, -0.13861379, 0.02403033, 0.07966528, -0.02592995, 0.18966958, 0.13048325, -0.07206841, 0.07954041) * go_1(0.0, -1.0); + result += mat4(0.01556961, -0.025707101, -0.035667323, 0.019550703, -0.06561516, 0.029371614, -0.04590116, 0.004590475, 0.3857005, 0.15660062, 0.2047054, -0.22268668, -0.15727302, -0.24878927, -0.13349286, 0.09746729) * go_1(0.0, 0.0); + result += mat4(-0.06613807, -0.35448387, -0.03103906, -0.14949797, 0.2575997, 0.24856186, -0.12529412, -0.096302986, 0.077257074, -0.24450381, 0.115296856, -0.15376714, 0.02283929, 0.020484464, -0.057252582, 0.07690077) * go_1(0.0, 1.0); + result += mat4(0.03167533, 0.14044689, 0.03394118, 0.02033927, -0.058176804, 0.09426579, -0.047503363, 0.050972216, 0.08332001, 0.13845564, 0.0054333988, 0.0060199215, -0.041817743, -0.055159353, -0.033139117, -0.06767) * go_1(1.0, -1.0); + result += mat4(0.13912874, 0.042053323, 0.14049628, -0.05678915, 0.096634954, -0.026468944, -0.05657413, -0.018260032, 0.2512966, 0.12660152, 0.11393381, 0.16540478, -0.1303705, 0.13751519, -0.069556914, 0.0981919) * go_1(1.0, 0.0); + result += mat4(0.02321638, 0.10667205, 0.027153758, 0.009282765, 0.07528545, -0.17536609, -0.030338852, 0.07694229, 0.058190364, -0.052485015, -0.16589753, 0.0053109983, -0.062089816, 0.016174713, 0.1266296, 0.16837646) * go_1(1.0, 1.0); + result += mat4(-0.065759346, 0.06169766, -0.00085500855, -0.008405182, -0.0017208391, 0.0891801, -0.002727633, -0.09190625, -0.055329803, -0.078719944, 0.13154171, 0.022970447, -0.032412775, 0.06774816, -0.08766216, 0.005649683) * go_2(-1.0, -1.0); + result += mat4(-0.05727856, 0.41547912, 0.09231337, 0.21398218, -0.04456715, -0.16443647, -0.33590144, 0.054098953, 0.0049725566, -0.1778281, 0.14938372, -0.13269553, 0.103052735, 0.09907562, -0.09025013, 0.071525946) * go_2(-1.0, 0.0); + result += mat4(0.06079739, -0.15564673, 0.017866762, -0.17732425, -0.01921053, 0.20981815, 0.07016076, 0.012785, 0.039263856, 0.071297675, -0.031223306, 0.0012242222, 0.008279209, -0.11378741, 0.14638698, 0.015245047) * go_2(-1.0, 1.0); + result += mat4(0.07295158, 0.14406429, -0.009283162, -0.08257508, 0.24989437, -0.101510875, -0.20831217, -0.14678863, -0.20545089, -0.03671918, -0.024620444, 0.0022859722, 0.16560118, 0.10648521, 0.01309449, -0.16882543) * go_2(0.0, -1.0); + result += mat4(-0.3688647, -0.06613055, -0.118553065, 0.066723585, -0.05839009, -0.05345417, -0.025808314, -0.051553134, 0.013860212, 0.1380767, -0.15950254, 0.039316524, 0.004648086, -0.49201876, -0.086399294, 0.067151815) * go_2(0.0, 0.0); + result += mat4(0.00816185, -0.094140545, -0.03045964, 0.005748951, -0.10508545, 0.06579157, -0.03133883, -0.036670756, 0.0965362, -0.059619486, 0.011463898, -0.13590227, -0.007581943, 0.014755039, 0.009631372, 0.05379326) * go_2(0.0, 1.0); + result += mat4(-0.16141598, 0.09554762, 0.033254117, 0.16967952, 0.035996404, -0.013887896, -0.06629002, 0.0038405391, 0.056517866, 0.024495421, -0.09365325, 0.08944311, 0.08264677, 0.05784231, -0.0544246, 0.034719754) * go_2(1.0, -1.0); + result += mat4(0.16916971, -0.04140406, -0.17009412, -0.057115063, -0.052563947, 0.12703355, 0.13672756, 0.055926114, 0.2646138, 0.08260617, -0.06438002, 0.34781212, 0.09432193, 0.002425348, 0.108481385, -0.011278688) * go_2(1.0, 0.0); + result += mat4(0.044969093, -0.048657022, 0.06174559, -0.00028727736, -0.20242731, -0.0149739245, 0.14471562, 0.06956492, -0.008388136, -0.059729554, 0.063841276, 0.04924184, 0.025793945, 0.06710163, -0.033776682, -0.035713058) * go_2(1.0, 1.0); + result += mat4(0.076875985, -0.101878025, -0.15802802, -0.124973774, -0.009670392, 0.013886556, -0.17401616, 0.13792926, 0.10774549, -0.30876774, -0.11229718, 0.010819886, 0.1175339, 0.08548831, -0.045388985, 0.05727834) * go_3(-1.0, -1.0); + result += mat4(0.11111217, 0.46312273, -0.4471567, 0.019250406, -0.040287044, 0.24528493, 0.21994363, -0.070748396, 0.20804761, 0.24140677, -0.07676276, 0.07941381, 0.1852395, -0.083701044, 0.04119184, -0.034684047) * go_3(-1.0, 0.0); + result += mat4(-0.11130858, -0.15563098, -0.16141221, -0.014236188, -0.0009617971, -0.11093832, -0.088078424, -0.1321414, -0.056676403, -0.09986668, -0.013136506, 0.064173006, -0.02908289, 0.028941281, 0.1568584, 0.13180308) * go_3(-1.0, 1.0); + result += mat4(-0.07680166, 0.147653, -0.029404428, -0.07403926, -0.3100197, 0.055024274, -0.1506152, 0.48132184, 0.11450713, -0.18744734, -0.092221424, -0.035802577, -0.060549777, -0.14425454, -0.08181204, 0.03446898) * go_3(0.0, -1.0); + result += mat4(0.102829054, -0.19427535, -0.038133133, -0.0026712175, -0.1435574, -0.15067317, 0.1119409, 0.1685437, -0.10200671, 0.13222018, 0.08152995, 0.0024931647, 0.0691679, 0.048254304, -0.17357215, -0.13524754) * go_3(0.0, 0.0); + result += mat4(-0.14587823, -0.15835984, -0.11198749, 0.0052520167, 0.1467123, -0.2707834, -0.072800644, -0.055191144, -0.10704317, -0.086199924, -0.014983923, 0.14019626, 0.017186088, 0.11358031, 0.15477349, 0.15759338) * go_3(0.0, 1.0); + result += mat4(0.083639115, 0.14501223, -0.0065951888, 0.13890846, 0.09335459, 0.042398855, -0.09189259, 0.24306288, 0.020636987, 0.04164843, 0.04502632, -0.13329937, 0.058893397, 0.049639706, 0.071825825, -0.049217906) * go_3(1.0, -1.0); + result += mat4(0.07009161, -0.03437479, -0.013031761, -0.093077734, 0.08663319, 0.085103504, 0.16337705, -0.027592715, -0.12227255, 0.14818181, 0.040996075, -0.055277664, -0.040362116, -0.030087778, -0.003645583, 0.056727875) * go_3(1.0, 0.0); + result += mat4(-0.11545688, 0.060049064, -0.093949065, 0.02338161, 0.026170302, 0.026379922, 0.069043785, 0.05519452, -0.16188988, 0.04973363, 0.06749572, -0.14809126, -0.14064413, -0.041582227, -0.023158424, -0.039642867) * go_3(1.0, 1.0); + result += mat4(-0.28626567, 0.29348546, 0.07102445, -0.050440844, 0.15740375, -0.17452855, -0.16708957, 0.06744935, 0.06025843, 0.06482132, -0.034723394, -0.017227422, 0.12390885, 0.04888057, 0.006409584, -0.010196381) * go_4(-1.0, -1.0); + result += mat4(-0.07097389, -0.15076311, 0.13472012, -0.13246837, -0.064360276, 0.16760628, -0.12776206, 0.015533123, 0.13487455, -0.20071363, 0.0923309, 0.08138427, -0.009274919, -0.15565452, 0.17644402, -0.024042914) * go_4(-1.0, 0.0); + result += mat4(-0.023358675, 0.10211017, -0.036640793, -0.108112216, 0.06913507, -0.09594437, 0.036107562, 0.05066462, 0.08739385, 0.0011691673, 0.09453315, -0.02394334, -0.14005467, -0.016525272, -0.0994038, 0.06565737) * go_4(-1.0, 1.0); + result += mat4(-0.371338, 0.19144624, 0.095799066, 0.093133144, 0.09130418, 0.03945617, -0.018656345, -0.12886268, 0.20124264, 0.029764706, -0.13751945, -0.026953662, -0.1874983, -0.040866558, 0.05003749, 0.17660773) * go_4(0.0, -1.0); + result += mat4(-0.051123757, 0.21025416, 0.0123157445, -0.069181696, -0.091609724, -0.079943225, 0.130711, 0.14694354, -0.12574539, -0.30329394, -0.10366516, -0.22330226, 0.24131827, 0.45112535, 0.07089889, 0.13600409) * go_4(0.0, 0.0); + result += mat4(0.15595976, 0.24464798, 0.002488955, 0.050141588, -0.29219496, -0.17198776, 0.123318285, 0.054613084, 0.0036146704, 0.1652407, 0.0265562, 0.093859114, -0.08342194, -0.18661366, 0.07525819, -0.13866663) * go_4(0.0, 1.0); + result += mat4(-0.12563816, -0.08927056, 0.025488816, -0.062464394, 0.038224597, -0.057591602, 0.016130082, 0.004603661, -0.105193645, -0.116210036, -0.0005738929, 0.03006333, 0.15265524, 0.157916, 0.009369363, 0.00011561189) * go_4(1.0, -1.0); + result += mat4(-0.1587168, -0.06610889, -0.11454969, 0.09324059, -0.073291466, 0.011250312, -0.0021259703, 0.03251535, -0.021842942, 0.031610303, -0.08053953, -0.17813778, -0.01840217, 0.019417001, 0.12612307, 0.0890873) * go_4(1.0, 0.0); + result += mat4(-0.0463806, -0.13481244, 0.022312263, -0.0063249297, -0.00767204, 0.1365426, 0.041454747, -0.077865794, 0.037678037, 0.09067563, 0.12991777, -0.03874696, 0.13317509, -0.019026265, -0.14676699, -0.13473623) * go_4(1.0, 1.0); + result += mat4(0.037564214, -0.0032738533, -0.03767511, 0.03820596, -0.14136639, 0.17992534, 0.058318965, -0.063095406, -0.006603518, 0.0120609235, -0.025056547, 0.032933716, 0.12113113, -0.10462842, 0.063647404, -0.04450857) * go_5(-1.0, -1.0); + result += mat4(0.24578053, -0.3156469, -0.35252848, -0.1055502, 0.036395214, 0.27580422, 0.036550306, -0.006894677, 0.10412757, 0.08568412, -0.022747902, -0.008680229, -0.05400555, -0.11050038, 0.051955782, -0.114774995) * go_5(-1.0, 0.0); + result += mat4(-0.15854524, 0.23624359, 0.07096151, 0.15719925, -0.0011587485, -0.30296972, -0.1931699, -0.08979758, 0.0246722, -0.028834311, 0.06220738, -0.01632116, -0.008921576, 0.033888046, -0.09395318, -0.011260361) * go_5(-1.0, 1.0); + result += mat4(0.018795056, -0.02822718, 0.009791691, 0.06166571, -0.20967379, 0.34762847, 0.077140674, 0.086514324, 0.28947103, -0.14330834, -0.078796394, 0.09474662, -0.092306405, -0.14832185, -0.050533596, 0.049030673) * go_5(0.0, -1.0); + result += mat4(-0.045679964, 0.23489015, 0.15668613, 0.1235559, -0.22028416, -0.13657422, -0.033590022, -0.15810567, 0.18728013, -0.18127815, 0.36396962, -0.053243574, -0.06456213, 0.49338925, 0.026941797, -0.009633453) * go_5(0.0, 0.0); + result += mat4(-0.16466625, -0.24371772, -0.03436447, -0.07062408, 0.059187494, -0.26871908, -0.12203007, -0.05496175, 0.057084855, 0.1304957, 0.08178971, 0.15224245, 0.023345131, -0.019234858, -0.034386877, 0.03538095) * go_5(0.0, 1.0); + result += mat4(0.114277564, -0.008035584, 0.023078745, -0.14307536, -0.038258925, -0.122582935, 0.0015441746, 0.030634085, 0.2552187, -0.11622358, 0.025188513, -0.30211052, -0.048941914, -0.060030323, 0.019205015, -0.056735426) * go_5(1.0, -1.0); + result += mat4(0.038009048, -0.025127387, 0.053799044, 0.09742052, -0.039442886, -0.2847006, -0.14175558, -0.06777446, -0.103426784, -0.18430014, 0.047908068, -0.11819306, -0.09634806, -0.020778535, -0.09947065, 0.057285) * go_5(1.0, 0.0); + result += mat4(-0.11968771, -0.02741084, -0.006469873, -0.028502962, 0.05344909, -0.0045341062, -0.06826778, -0.10911563, 0.004165804, 0.18168798, 0.06862181, 0.041413423, -0.015367704, -0.08168733, 0.031232912, -0.00019088654) * go_5(1.0, 1.0); + result += vec4(0.07955021, -0.009849892, 0.05029401, -0.12505546); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!SAVE conv2d_1_tf2 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.051907405, 0.16668987, -0.041336834, 0.05314295, 0.10121027, -0.14798506, -0.19019037, 0.043592982, 0.12040883, 0.09233267, 0.11772148, -0.041334935, -0.07539924, 0.09756673, 0.052319244, -0.10528184) * go_0(-1.0, -1.0); + result += mat4(-0.31250992, 0.30685386, -0.055270895, 0.06475109, -0.08800503, -0.26494658, 0.31591013, -0.11202835, -0.15133889, 0.10488629, 0.078151636, -0.043050244, -0.060199156, 0.044168193, -0.001986329, -0.1915024) * go_0(-1.0, 0.0); + result += mat4(0.068178676, -0.10042213, 0.010896375, -0.08526234, 0.091550335, 0.03174787, -0.098797485, 0.0638641, 0.0039022998, -0.078803785, -0.08426419, -0.06165455, -0.17049576, 0.056151845, 0.05997152, -0.117358774) * go_0(-1.0, 1.0); + result += mat4(-0.15624808, 0.1027479, -0.067923464, 0.0570026, 0.107332714, -0.14162563, -0.17560329, 0.063346066, 0.09616241, 0.15213029, 0.024794457, -0.16448957, 0.21509686, 0.084382094, 0.102330364, -0.21816911) * go_0(0.0, -1.0); + result += mat4(0.11183052, -0.00036459934, 0.09746083, -0.1979322, -0.32267392, -0.084034644, 0.051167414, -0.029009778, -0.03322436, 0.13016255, -0.048553534, -0.20068704, -0.16644834, 0.24280354, -0.14127132, -0.05889483) * go_0(0.0, 0.0); + result += mat4(0.116823174, -0.2189612, -0.18030761, -0.14347109, 0.09478377, 0.15303472, 0.020818545, 0.15843435, 0.17000113, -0.047443952, 0.023488792, -0.060115594, 0.04487726, 0.04284613, 0.28725752, -0.47257307) * go_0(0.0, 1.0); + result += mat4(-0.15223634, 0.060410198, 0.0061263107, 0.0069172834, 0.13158661, -0.0036422606, 0.051183105, 0.04613147, -0.00075578305, 0.08267924, -0.010239358, 0.12761061, -0.07420807, 0.073114, 0.0007402298, 0.1350364) * go_0(1.0, -1.0); + result += mat4(0.13506427, -0.10019588, 0.009954305, -0.177603, -0.2014582, 0.019459682, 0.05640779, 0.047030263, -0.05054245, -0.104332894, 0.0075405543, 0.1964969, -0.017293537, -0.19851471, -0.06654235, -0.20962352) * go_0(1.0, 0.0); + result += mat4(-0.038729187, -0.01076603, 0.004724392, 0.122694254, 0.04339784, -0.029253284, -0.014725128, -0.0014454263, -0.100780874, -0.14574462, -0.2107873, 0.042566143, 0.052845504, -0.12460765, -0.12877604, -0.165259) * go_0(1.0, 1.0); + result += mat4(-0.30916938, -0.21853267, 0.074507885, 0.06950878, 0.15405503, 0.19704042, 0.07762092, -0.0027483252, -0.047830105, 0.19999562, 0.06641897, -0.07683977, -0.04574573, -0.026720403, 0.06741639, -0.040291373) * go_1(-1.0, -1.0); + result += mat4(-0.1436382, -0.14481016, 0.3962691, 0.4429137, -0.14254951, 0.1000112, 0.044832285, -0.11440693, -0.05707115, 0.036592014, 0.16755657, -0.106351, 0.06614667, -0.022506362, -0.020292178, -0.057136156) * go_1(-1.0, 0.0); + result += mat4(0.073906116, -0.10937066, 0.086583436, 0.08275346, 0.02353698, -0.0046872413, -0.03486367, -0.08950485, -0.08803857, 0.056406617, 0.031082897, 0.06083862, 0.045077324, -0.061910506, -0.11063123, -0.01527173) * go_1(-1.0, 1.0); + result += mat4(0.2718467, -0.21935192, -0.062664755, -0.1255679, 0.10553025, -0.006460559, -0.027146982, -0.015253822, -0.07748728, 0.073824674, 0.06018315, 0.1002592, 0.08035026, -0.15977937, -0.055322386, -0.040088616) * go_1(0.0, -1.0); + result += mat4(0.028033856, -0.016236208, -0.12429306, 0.13901961, 0.04981061, -0.05739222, -0.13064933, -0.16948193, -0.008593147, -0.031754505, 0.10665931, -0.13934475, 0.01627173, 0.072957866, -0.087536804, 0.12674862) * go_1(0.0, 0.0); + result += mat4(-0.1523727, -0.00082214887, 0.14283441, -0.031603288, -0.045878753, -0.19672535, -0.05026138, 0.042562414, 0.14194039, 0.04421849, -0.20919429, 0.18679811, -0.10887334, -0.032573055, 0.22349553, -0.065408655) * go_1(0.0, 1.0); + result += mat4(0.027553588, -0.122095294, -0.046353463, -0.111806914, -0.08844832, 0.13921359, -0.0010978511, 0.008194451, 0.13961516, 0.046672624, 0.10129705, -0.09637145, -0.08699736, 0.0083460985, -0.044584583, 0.14229134) * go_1(1.0, -1.0); + result += mat4(0.07393346, 0.1147128, -0.02851608, 0.021714512, 0.025452064, -0.17753085, 0.0027432854, 0.040008847, 0.16259173, -0.08370451, 0.13976301, -0.07063936, -0.24262139, -0.07672828, -0.2021094, 0.29102072) * go_1(1.0, 0.0); + result += mat4(0.009530462, 0.04909453, 0.018228829, -0.005528198, -0.04922174, -0.024972908, -0.07065127, 0.04544319, -0.025519563, -0.13601463, -0.18582825, 0.035100814, -0.03548451, 0.061287835, 0.20247467, -0.15797156) * go_1(1.0, 1.0); + result += mat4(0.32211515, -0.080116086, 0.021152286, -0.08237667, -0.23303492, 0.008709412, -0.1473173, 0.07000086, 0.03955907, 0.14984958, -0.0121722715, -0.055429686, -0.016413981, -0.08430293, 0.025234051, -0.062006578) * go_2(-1.0, -1.0); + result += mat4(-0.42957792, 0.006551594, -0.022962485, 0.1400893, 0.28009745, 0.11802908, 0.015169489, 0.0024414742, -0.22848248, -0.020315299, -0.010993182, 0.0418814, -0.13582, -0.17743196, -0.018863266, -0.12331709) * go_2(-1.0, 0.0); + result += mat4(-0.08963217, -0.07752845, -0.019306721, 0.061603975, 0.112303145, 0.09211919, -0.08167867, 0.05052119, 0.020961992, -0.037811935, 0.016923647, -0.026790423, 0.10175015, -0.006385778, -0.063822776, 0.028055048) * go_2(-1.0, 1.0); + result += mat4(-0.10889496, 0.2475616, -0.023258686, -0.14437376, 0.049249854, -0.063944146, -0.0240011, -0.17432576, -0.18791446, 0.11263927, 0.0078009875, -0.080485724, 0.26911402, -0.12907211, -0.01755262, -0.16863008) * go_2(0.0, -1.0); + result += mat4(0.35460088, -0.17767274, -0.16858551, -0.23729539, 0.18419053, 0.20926027, -0.088426255, 0.023356354, 0.26511818, -0.0020759383, 0.2859238, -0.07675482, 0.12014907, 0.14443012, -0.12332029, -0.11205155) * go_2(0.0, 0.0); + result += mat4(0.19667232, 0.07352294, -0.014793962, 0.063952744, -0.01725952, 0.071818754, 0.064658605, -0.0009676536, -0.029578352, -0.18851563, -0.037685324, -0.26275456, -0.123520866, 0.12790628, -0.1469099, 0.12465433) * go_2(0.0, 1.0); + result += mat4(0.05387382, -0.030488258, 0.04638846, 0.20085673, -0.11875065, -0.029343707, -0.022595167, 0.06786304, 0.23092568, 0.018377172, -0.010349685, 0.14835137, -0.0047257696, -0.027649017, 0.0489728, -0.031893965) * go_2(1.0, -1.0); + result += mat4(-0.25763837, -0.075889885, 0.17264624, 0.035472356, -0.124957025, 0.00060394197, 0.022995198, 0.05463222, 0.0093447, 0.060911383, 0.07876506, 0.10564838, -0.05013418, 0.06583616, -0.025807798, -0.2883304) * go_2(1.0, 0.0); + result += mat4(0.043661144, -0.1159315, -0.1831051, 0.07473963, 0.07783108, 0.1876957, 0.01314648, -0.10861117, -0.088689655, 0.07296666, -0.026898766, 0.12702313, 0.032419875, 0.051234853, -0.06522966, 0.014740134) * go_2(1.0, 1.0); + result += mat4(-0.023981575, 0.0260433, 0.008456327, -0.041390125, 0.23708202, 0.027028535, 0.011300614, 0.25251132, -0.041091874, -0.113069616, -0.1017581, 0.12629594, 0.19936833, -0.044576302, -0.03986123, -0.045146126) * go_3(-1.0, -1.0); + result += mat4(0.04021637, -0.23936734, 0.089715995, -0.09695566, 0.05547677, 0.18304437, -0.07833711, 0.112606, 0.0744301, -0.121345356, -0.027121276, -0.039470885, -0.17090486, -0.08291478, -0.06501107, 0.06060779) * go_3(-1.0, 0.0); + result += mat4(0.06427166, 0.17954405, -0.24260868, 0.18583788, -0.03080801, 0.011544634, 0.021221055, -0.019622765, -0.022112694, 0.0568264, 0.117274575, 0.041028306, 0.093058385, -0.023635406, -0.04134845, 0.00012594834) * go_3(-1.0, 1.0); + result += mat4(0.01102109, -0.07289346, 0.0040596994, -0.07953831, -0.1976572, -0.11829853, 0.11517921, -0.051805526, 0.0055726753, 0.06592285, -0.16681968, -0.08300715, -0.28577968, -0.08173121, -0.13457035, 0.1885804) * go_3(0.0, -1.0); + result += mat4(-0.043770324, 0.048198868, -0.18608971, 0.17838612, -0.046778083, 0.19665273, -0.16118616, -0.057293214, -0.10633619, -0.09953019, 0.1862994, 0.18493782, 0.25938433, -0.149985, 0.04676386, -0.014036956) * go_3(0.0, 0.0); + result += mat4(-0.0003725085, 0.1989401, 0.16909252, 0.22780822, -0.015987061, -0.054565016, -0.05243573, -0.09775517, -0.120326936, 0.032995265, -0.0036331255, 0.13726561, 0.010277991, 0.06425755, -0.19020142, 0.23083436) * go_3(0.0, 1.0); + result += mat4(0.010936359, -0.02849875, 0.026482444, 0.047691442, -0.19206773, -0.044349756, -0.054649103, -0.07385235, 0.05956405, -0.053711556, -0.07337501, -0.119425744, 0.076072186, -0.049311332, 0.03184111, -0.17484605) * go_3(1.0, -1.0); + result += mat4(-0.04350626, 0.1328187, -0.003457409, 0.19061741, 0.09211707, 0.035870664, -0.09363488, -0.01568525, 0.05562321, 0.14633514, -0.04855048, -0.24370678, 0.0069594583, 0.14880905, 0.06160373, 0.1566208) * go_3(1.0, 0.0); + result += mat4(0.08560771, -0.031726982, 0.005994847, -0.115577385, -0.045169592, 0.034692086, 0.0039135055, -0.008828711, 0.08696738, 0.08552442, 0.21965103, 0.0065012877, -0.017958874, 0.15068494, 0.07910082, 0.09843224) * go_3(1.0, 1.0); + result += mat4(0.2618397, -0.113963105, 0.06466962, -0.09055511, 0.007243974, -0.37684396, -0.18955688, 0.100891486, 0.062019303, -0.06868768, 0.0066693923, 0.09453199, -0.11875178, -0.09406968, -0.009971733, -0.057884283) * go_4(-1.0, -1.0); + result += mat4(0.016240982, 0.045132026, 0.2496788, 0.0119000245, 0.019433737, -0.11958368, 0.07371615, -0.022081666, 0.23179133, 0.10534677, -0.13151011, 0.139116, -0.17987, -0.11249553, 0.097996086, 0.054070864) * go_4(-1.0, 0.0); + result += mat4(-0.057584394, 0.11625342, -0.06034331, 0.063899584, 0.0044478853, 0.048200164, 0.055355098, 0.10972887, 0.16012698, -0.006732891, 0.015804278, -0.14185822, -0.19013652, -0.062766224, 0.045399975, 0.14899541) * go_4(-1.0, 1.0); + result += mat4(-0.077381015, 0.11935363, 0.12262458, 0.018346768, -0.2634294, -0.2107294, -0.048516907, -0.09564381, -0.10719365, -0.115967, -0.13483748, -0.036267295, -0.012578293, 0.069732994, 0.017012898, 0.097437724) * go_4(0.0, -1.0); + result += mat4(0.081788, -0.11083114, 0.4005737, -0.055207055, 0.1418393, -0.06587734, 0.088737585, 0.08120421, -0.16296746, 0.17222044, 0.046313863, 0.10915246, 0.05388926, -0.19152795, 0.03076327, -0.14683272) * go_4(0.0, 0.0); + result += mat4(0.11940256, -0.033606835, -0.11385313, -0.012965868, 0.0049813213, 0.20263551, 0.029295778, 0.002276154, -0.1504537, 0.0381973, 0.3823588, -0.1798354, 0.17070186, 0.02357347, -0.2709012, 0.105102755) * go_4(0.0, 1.0); + result += mat4(0.041491576, 0.07074733, 0.029625034, 0.102119364, 0.023521155, -0.05969154, -0.00814052, 0.032964356, 0.055066362, -0.07298709, -0.121119626, 0.016125243, 0.2734818, -0.028699303, 0.09567124, -0.1437524) * go_4(1.0, -1.0); + result += mat4(-0.09484942, -0.15358907, 0.09471094, -0.114015654, -0.051614996, 0.19810407, -0.011734439, -0.057111017, -0.17113343, 0.06991598, -0.16437295, 0.2067726, 0.23162523, -0.036471117, 0.22033283, -0.29183832) * go_4(1.0, 0.0); + result += mat4(0.009506645, -0.041623287, -0.03679158, -0.010971644, 0.08336135, 0.11131871, 0.1109166, -0.08703141, 0.056035098, 0.124049544, 0.2795689, -0.019536458, 0.03888329, -0.0442052, -0.23853621, 0.13220637) * go_4(1.0, 1.0); + result += mat4(-0.14223816, -0.05481326, -0.106896244, 0.07581965, 0.26316708, 0.15500818, 0.14914538, -0.087868035, 0.15062201, -0.12426363, -0.04299309, 0.040522538, 0.04150885, 0.073053494, -0.041965067, 0.04128295) * go_5(-1.0, -1.0); + result += mat4(0.051048342, -0.21921599, 0.058443762, -0.055652432, -0.24098797, 0.092578836, -0.17062624, 0.09491869, 0.13260794, -0.024925478, 0.056296505, 0.019934958, 0.003565539, 0.09137244, -0.061169084, 0.04022485) * go_5(-1.0, 0.0); + result += mat4(0.115069486, 0.16206908, 0.004882299, 0.12614444, -0.03246297, -0.039095636, 0.09410652, -0.039889894, -0.08477494, 0.013032491, -0.055409547, -0.0090540685, -0.035735607, 0.057657916, 0.05354303, 0.0075290967) * go_5(-1.0, 1.0); + result += mat4(0.004056719, -0.15240185, 0.09084391, 0.037376285, -0.044079285, 0.31589335, 0.026515607, 0.14028117, -0.19225578, -0.002587953, 0.0090361675, 0.14138633, -0.38758466, 0.102398396, -0.07574637, 0.11732128) * go_5(0.0, -1.0); + result += mat4(-0.030521149, 0.09753763, 0.052158583, 0.048188724, 0.011470252, -0.110833496, 0.32450467, 0.04464802, -0.0646964, 0.045225292, -0.25168836, 0.20104809, -0.15454476, -0.083546594, 0.21034841, -0.0058077993) * go_5(0.0, 0.0); + result += mat4(-0.07213084, -0.17950292, -0.051891763, -0.067120604, -0.02192382, -0.11469988, -0.1409072, 0.006448966, -0.00049237284, 0.13916697, 0.0894537, 0.16725081, 0.18191423, -0.06112781, 0.19929808, -0.10002286) * go_5(0.0, 1.0); + result += mat4(-0.02475302, -0.010589183, -0.015627548, -0.16213211, 0.123653755, 0.0245485, 0.0997649, -0.09865162, -0.07168899, 0.15398216, -0.07207907, -0.07172799, 0.028756795, 0.07118634, -0.0511127, -0.0056653675) * go_5(1.0, -1.0); + result += mat4(0.21074565, 0.086340725, -0.06073654, -0.04343985, -0.02840264, -0.053368784, 0.037268292, -0.008291989, -0.045832828, 0.023931399, 0.1709933, -0.13587636, 0.051735718, -0.06827666, -0.051731657, 0.17399976) * go_5(1.0, 0.0); + result += mat4(-0.13356943, 0.086585164, 0.13944262, -0.026031096, -0.16735698, -0.08396402, -0.12688719, 0.12656367, 0.14114396, 0.018382069, 0.05972302, -0.08622411, -0.062958784, -0.056109, 0.045292944, -0.008465162) * go_5(1.0, 1.0); + result += vec4(-0.02066643, 0.05799956, -0.04733981, 0.08521742); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_1_tf2 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.037910778, -0.035500437, -0.021893462, 0.054371376, 0.09471609, -0.013197591, 0.07086438, -0.11686955, 0.022289908, 0.0025881499, 0.08467518, -0.057070434, 0.03195129, 0.06176325, 0.27392688, 0.10100888) * go_0(-1.0, -1.0); + result += mat4(-0.004817188, -0.11114106, -0.03836096, -0.16221185, 0.08728879, -0.05551734, 0.09426232, -0.08904898, -0.075777575, 0.0001265835, 0.25881302, 0.22047207, 0.026294703, -0.07252985, -0.056022674, 0.25379947) * go_0(-1.0, 0.0); + result += mat4(-0.0013540969, 0.013188547, 0.060211327, 0.041778293, 0.0012638031, 0.022573406, 0.015312594, -0.08047488, -0.029625304, -0.10852883, 0.108838476, 0.13623391, -0.0051957406, -0.034240637, -0.032037422, 0.0045633493) * go_0(-1.0, 1.0); + result += mat4(0.041612104, 0.027505638, 0.025826843, 0.04501326, -0.062472913, 0.1431332, -0.012212282, -0.07516733, -0.08864002, -0.07006836, 0.046692412, -0.124091975, 0.06427506, -0.051631026, 0.12263653, 0.27044338) * go_0(0.0, -1.0); + result += mat4(0.034103375, 0.08673059, 0.0459527, -0.23862843, -0.055772513, -0.41714105, -0.08171965, -0.14642227, 0.04656934, -0.18259554, -0.13177022, -0.28559983, 0.0552958, -0.016403524, -0.5513842, 0.0053697815) * go_0(0.0, 0.0); + result += mat4(-0.11872737, -0.028105678, 0.049640797, -0.037546065, -0.010099046, 0.008806696, 0.006435101, -0.10383732, -0.0073283147, 0.08962551, -0.07394422, 0.108856045, -0.014820589, 0.023872554, -0.08112636, 0.10347607) * go_0(0.0, 1.0); + result += mat4(0.0022989328, 0.046885073, 0.011864779, 0.10420016, -0.0077429335, 0.048106942, 0.032495916, -0.062273387, -0.016874082, -0.06954098, -0.10819509, -0.056219935, -0.020670906, 0.0021182857, -0.009832249, 0.18701169) * go_0(1.0, -1.0); + result += mat4(0.105950266, 0.040404048, 0.19594736, 0.06012987, -0.3698849, 0.10401502, 0.12703699, -0.23428011, 0.083823904, -0.03521832, -0.006525461, 0.009951793, -0.074361816, -0.035402164, -0.3206954, 0.110812664) * go_0(1.0, 0.0); + result += mat4(-0.12013042, -0.06367559, 0.021684205, 0.0130499415, 0.009942601, 0.047442563, 0.08855212, -0.10024017, 0.056777865, 0.0051039625, 0.048569407, -0.04560259, 0.19188851, -0.039756753, 0.042021576, -0.09870584) * go_0(1.0, 1.0); + result += mat4(-0.03247849, -0.02753363, 0.071279705, 0.09104136, -0.0641851, -0.01594897, 0.232652, 0.003967937, 0.0111541925, 0.07306814, -0.0010335519, -0.04429391, 0.031370234, -0.026928704, -0.07516576, -0.055082712) * go_1(-1.0, -1.0); + result += mat4(-0.006180861, -0.10843575, -0.10045209, 0.067148104, 0.057421815, -0.068374164, -0.025756257, 0.1257984, 0.013264953, -0.0018182937, 0.05816216, -0.053461242, -0.085824065, -0.090526566, 0.09129818, 0.01570347) * go_1(-1.0, 0.0); + result += mat4(-0.0017998819, 0.022640059, 0.023404252, 0.03338553, 0.044353716, -0.014139882, -0.07758573, 0.021012677, 0.005980595, 0.04550881, 0.029285448, 0.091678455, 0.053803694, 0.05237155, -0.10997527, -0.10318552) * go_1(-1.0, 1.0); + result += mat4(-0.061029036, 0.0993827, 0.06381772, -0.089550115, 0.03308348, -0.03782301, 0.24164158, 0.31569025, 0.113647655, 0.15545848, 0.11519764, 0.0094105825, -0.11816621, 0.0978243, 0.10073588, -0.1117752) * go_1(0.0, -1.0); + result += mat4(0.3734672, -0.11816779, -0.23627514, -0.14588231, -0.12371406, 0.2616982, -0.29942805, -0.31744456, 0.12686929, -0.10511419, -0.33209988, 0.0784947, -0.09980473, -0.08277972, -0.119013116, -0.1052021) * go_1(0.0, 0.0); + result += mat4(0.11694942, -0.009177821, 0.16751128, -0.058083236, -0.029300451, 0.0151769, -0.10590713, 0.006317685, -0.07721141, -0.037264653, -0.09573406, 0.082819514, -0.15364629, 0.07974328, 0.05129384, 0.021289254) * go_1(0.0, 1.0); + result += mat4(0.026528852, -0.018197816, 0.06862055, -0.025078347, 0.06341248, -0.022047924, 0.16852759, 0.20795865, -0.12899017, 0.11940279, 0.049954895, -0.106641375, 0.003286302, 0.04101139, -0.014838044, -0.038886186) * go_1(1.0, -1.0); + result += mat4(-0.043906186, -0.09395722, 0.15171658, -0.060511537, -0.012321243, -0.23226517, -0.06977063, 0.021510785, -0.5478768, 0.17448187, -0.05923425, -0.028172622, -0.051738627, 0.06815423, 0.029064734, 0.044883635) * go_1(1.0, 0.0); + result += mat4(0.17660363, -0.09060859, 0.05569762, -0.034592126, -0.068783976, -0.039074708, -0.04003811, -0.08994642, 0.00041321313, -0.032173786, 0.004815178, -0.044516895, 0.1984147, -0.056799933, 0.051942617, 0.0849639) * go_1(1.0, 1.0); + result += mat4(-0.029470835, 0.0010429046, 0.09949836, -0.057022177, -0.001196081, -0.017638477, 0.054664012, 0.06374254, 0.005238237, -0.17255385, -0.042707976, -0.0863512, 0.00061518815, 0.054800972, -0.05120795, -0.047205627) * go_2(-1.0, -1.0); + result += mat4(0.04392789, 0.046026394, 0.11252635, -0.124906264, -0.08496978, -0.03472233, -0.05066398, 0.08292728, 0.0370577, -0.15259257, 0.0023178253, -0.017130997, 0.052111663, 0.059383318, -0.0734842, -0.052565083) * go_2(-1.0, 0.0); + result += mat4(-0.0148467785, 0.025143752, 0.17002934, -0.019566009, -0.12469424, 0.111287884, 0.030433882, 0.045797966, 0.0013495206, -0.04792389, 0.01556216, 0.047324177, 0.05905737, -0.053480197, 0.033480287, -0.060852114) * go_2(-1.0, 1.0); + result += mat4(-0.09745605, 0.009108342, 0.058276523, -0.09670028, 0.008513788, 0.0774033, 0.038419556, -0.012280158, -0.027220225, -0.19755986, -0.10123508, -0.24532557, 0.002611559, 0.058633193, 0.08722474, 0.019499615) * go_2(0.0, -1.0); + result += mat4(-0.097140476, 0.36332083, -0.12693818, -0.26086056, 0.18138097, -0.063169576, 0.09627784, -0.29556775, -0.010828089, 0.016550604, 0.19736116, -0.14276053, 0.2359206, -0.308187, 0.17120488, 0.17035627) * go_2(0.0, 0.0); + result += mat4(0.06563522, -0.00202452, 0.08656298, -0.068018384, 0.01052145, 0.12411763, -0.027613457, 0.046576608, -0.028641906, 0.030090526, 0.014531246, 0.028142689, -0.019974183, -0.015619782, 0.0913814, -0.07086511) * go_2(0.0, 1.0); + result += mat4(-0.021320846, 0.0272274, -0.079895236, 0.00012995047, -0.0070819, -0.028833998, -0.022662425, -0.07660687, 0.046270683, -0.11193344, 0.09937696, -0.006931022, -0.03781205, 0.011890765, 0.07618696, -0.004474331) * go_2(1.0, -1.0); + result += mat4(0.2012585, 0.05607582, -0.13407731, -0.0008222547, -0.10648238, 0.13230269, -0.0038185061, -0.058967687, 0.21021713, -0.12308194, 0.18324743, -0.045672223, -0.07443494, 0.061296284, -0.10310777, -0.03480636) * go_2(1.0, 0.0); + result += mat4(-0.042971224, 0.03137188, -0.029815951, -0.035710253, -0.17403825, 0.040264893, -0.18175416, 0.13371879, 0.004413511, -0.0062794136, -0.020018531, -0.009863606, -0.08686421, -0.0011867149, -0.13477059, 0.09668236) * go_2(1.0, 1.0); + result += mat4(-0.08406905, 0.017502543, -0.13238557, -0.06540308, -0.030992452, -0.027247543, 0.1152638, -0.027957149, -0.020494465, -0.016736055, 0.011691886, -0.07697167, -0.031962387, 0.03275166, 0.009455422, 0.00013493745) * go_3(-1.0, -1.0); + result += mat4(-0.003264767, -0.006133971, -0.14870334, -0.22470197, -0.12281174, 0.0477529, -0.039383784, -0.16171986, 0.049935117, 0.040750828, -0.11027704, -0.18039477, -0.042500887, 0.021469388, 0.19601227, 0.061283164) * go_3(-1.0, 0.0); + result += mat4(-0.14063793, 0.12379436, -0.091903225, -0.19485305, 0.030889416, 0.023173934, 0.06269456, -0.017552888, 0.042706978, 0.008942839, 0.007431359, -0.08055777, -0.024079857, -0.050207764, 0.03883315, 0.054677337) * go_3(-1.0, 1.0); + result += mat4(0.043164276, -0.06845965, -0.022847408, 0.026803896, 0.077586755, -0.18144956, 0.24237816, -0.062269997, 0.03350464, 0.022612114, -0.20257936, -0.049737748, 0.0026508393, -0.04457029, 0.08698817, -0.0057848943) * go_3(0.0, -1.0); + result += mat4(0.19637893, -0.041842524, 0.08093373, 0.061292946, 0.025697658, 0.43139693, 0.12997067, -0.14218695, 0.06652134, 0.16816506, 0.1798584, 0.19504555, -0.18834472, 0.11258412, 0.07003108, -0.0691332) * go_3(0.0, 0.0); + result += mat4(0.0864983, -0.0044556237, 0.1519761, -0.13158719, 0.01852619, -0.045526046, 0.09956223, -0.11713047, -0.024078155, -0.060722336, -0.057925105, 0.073217146, 0.06373482, -0.024553156, -0.14688796, -0.13317719) * go_3(0.0, 1.0); + result += mat4(0.035958245, -0.04845082, 0.087631844, 0.040034134, -0.026027406, -0.036821436, 0.06533815, -0.080381244, 0.07234854, -0.001883384, -0.07122587, 0.08832016, 0.036729597, 0.021539502, 0.027530821, -0.010070853) * go_3(1.0, -1.0); + result += mat4(0.08983327, 0.01506289, 0.028762873, 0.13285533, 0.2895279, -0.06620886, -0.12341643, 0.005919442, -0.06404377, -0.030869035, -0.040210303, -0.13364644, 0.03067747, -0.0035035561, -0.0012897043, -0.120404474) * go_3(1.0, 0.0); + result += mat4(0.12848322, -0.016383486, -0.09702801, 0.056479152, 0.066560045, -0.048578385, -0.031433776, -0.024350693, -0.03682033, -0.07085884, -0.03814125, -0.0005977634, -0.119241685, 0.027776804, 0.07646508, -0.079195194) * go_3(1.0, 1.0); + result += mat4(0.024724264, 0.0015230086, -0.05821472, 0.10433403, 0.078276865, 0.0020044958, -0.07082553, 0.21335958, -0.0192252, -0.046226356, -0.02576458, -0.005851255, 0.0061004073, -0.011763933, 0.052182812, -0.0148038035) * go_4(-1.0, -1.0); + result += mat4(-0.090289906, 0.07818745, 0.005133399, 0.2921895, -0.028104218, 0.010640733, -0.16721979, 0.11722157, 0.026559753, 0.06893593, -0.05803866, 0.10257745, 0.16412877, 0.08355433, -0.16449857, -0.19565444) * go_4(-1.0, 0.0); + result += mat4(-0.01625647, 0.014653339, -0.19772816, 0.035248496, -0.06315719, 0.053839743, -0.19860831, 0.060684476, 0.036236748, -0.06486933, -0.00240829, 0.049791906, 0.012847281, -0.12640457, 0.03785943, -0.066897415) * go_4(-1.0, 1.0); + result += mat4(-0.04193157, -0.043217663, 0.028713515, 0.034761403, -0.08618379, 0.07707441, 0.051029418, 0.042290796, -0.020135805, -0.1441393, -0.17698085, 0.011781508, -0.047712356, -0.09853696, 0.044760805, 0.07639903) * go_4(0.0, -1.0); + result += mat4(-0.04970899, -0.06206872, 0.32036147, 0.38422447, 0.02741357, -0.14773113, 0.026606748, 0.42104495, -0.16836561, 0.2612918, 0.32872567, 0.23574458, -0.48027223, 0.19769326, 0.40519443, 0.28430668) * go_4(0.0, 0.0); + result += mat4(-0.119522125, 0.045909975, -0.32532844, 0.16027172, 0.05406689, -0.0002717805, -0.10895223, -0.06700742, 0.11265451, -0.009777009, -0.054376923, 0.15653811, 0.07952248, -0.07323665, -0.030681474, -0.14271308) * go_4(0.0, 1.0); + result += mat4(0.021888081, -0.015081948, -0.08500391, -0.0566363, -0.02412306, 0.024970217, -0.08783075, -0.144119, 0.15955818, -0.09113594, -0.09460523, -0.013640705, 0.048579562, -0.051078796, 0.12259883, -0.12369713) * go_4(1.0, -1.0); + result += mat4(0.061307143, 0.12150064, -0.16097173, 0.054234862, 0.038454264, 0.19086266, -0.20866115, 0.17528693, 0.23780084, -0.085481875, -0.09336333, -0.03828183, 0.08448641, -0.01021121, 0.108555876, 0.10073375) * go_4(1.0, 0.0); + result += mat4(-0.07457479, 0.03767845, -0.04527163, 0.10312832, 0.018638285, 0.012303309, 0.068570994, 0.10636223, -0.046746258, -0.019519145, -0.09643553, 0.08668433, -0.08180716, -0.020997278, -0.19613801, 0.01197474) * go_4(1.0, 1.0); + result += mat4(0.038627718, -0.037348352, -0.0016635836, -0.029068137, -0.0026173298, 0.04695015, 0.011762658, 0.06046751, 0.03098801, 0.111461185, 0.196085, 0.087878406, 0.075701654, -0.09116793, -0.017858198, 0.019194437) * go_5(-1.0, -1.0); + result += mat4(-0.033022836, 0.00017579814, -0.04213397, -0.003223962, 0.109210424, 0.047623046, 0.036035728, 0.017458893, -0.01845847, 0.024312373, 0.15710357, 0.05525064, -0.011054537, 0.02045055, -0.059532605, -0.007326871) * go_5(-1.0, 0.0); + result += mat4(-0.027690193, 0.06131419, -0.17661297, -0.13770969, 0.10287112, -0.07097745, 0.004205589, 0.028562127, -0.047289394, -0.04858619, -0.029686142, 0.025106741, 0.0023360238, 0.09964466, -0.061582137, 0.03198441) * go_5(-1.0, 1.0); + result += mat4(0.10689288, 0.008829629, 0.016441079, 0.036601987, -0.054011513, -0.009619861, -0.087633766, -0.0066380203, -0.12721415, 0.0904403, 0.33278695, -0.07447129, -0.03637649, 0.0784043, -0.20029514, 0.04795142) * go_5(0.0, -1.0); + result += mat4(0.073388234, -0.18476517, 0.06697527, 0.15738879, -0.11097766, 0.0031603684, -0.46672878, 0.055933684, -0.13741222, 0.10608221, -0.09634478, 0.12178066, 0.20948799, 0.32808498, -0.30967075, 0.002408044) * go_5(0.0, 0.0); + result += mat4(-0.1276311, 0.2165364, -0.20479621, -0.04220272, -0.11207731, -0.07808082, 0.024846211, 0.1822824, 0.055696778, 0.04820076, -0.09683677, 0.10400354, -0.017928122, 0.13301387, 0.18256992, -0.12553082) * go_5(0.0, 1.0); + result += mat4(0.043751966, -0.021505235, 0.07481632, 0.07004997, 0.09292071, -0.06297265, 0.010273411, 0.14864413, -0.06774047, -0.046168163, -0.007962312, -0.25100794, -0.037582185, 0.05529135, -0.028888226, -0.08730092) * go_5(1.0, -1.0); + result += mat4(-0.27975065, 0.06358462, 0.037314422, 0.008414804, 0.09947835, -0.05693826, 0.035390552, 0.16577837, -0.117649436, -0.035677984, -0.23139963, -0.11336497, -0.26102057, 0.16566856, 0.19760732, -0.1030265) * go_5(1.0, 0.0); + result += mat4(0.06606493, -0.004958344, 0.012705852, 0.003391442, 0.15169266, -0.087174624, 0.17418364, 0.114550345, 0.017576916, -0.076570995, 0.014861571, -0.056111492, 0.08879636, 0.05000804, 0.08393709, -0.05148531) * go_5(1.0, 1.0); + result += vec4(-0.0010391332, 0.00068204466, -0.030266605, 0.058793433); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_1_tf2 +//!SAVE conv2d_2_tf1 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.07575434, -0.040653445, 0.007225497, -0.043918904, 0.119574465, 0.011380923, 0.16722572, -0.013146596, 0.024970967, -0.028010864, 0.007539211, 0.009367542, 0.0053172954, 0.003149008, -0.06781401, 0.022353206) * go_0(-1.0, -1.0); + result += mat4(-0.24854389, -0.013649374, -0.17061508, 0.04292164, -0.005861008, 0.03951371, -0.0047152913, 0.015763909, 0.076025434, 0.0020614571, 0.035092413, -0.15013616, 0.07448282, -0.06402445, 0.2066371, -0.15285529) * go_0(-1.0, 0.0); + result += mat4(0.020919988, -0.023931077, -0.0026673493, 0.08726077, 0.08519901, 0.038367324, 0.012967744, -0.014597907, 0.03273228, 0.03425027, 0.11657879, -0.10561241, -0.10698567, 0.08750399, -0.029988581, 0.055827994) * go_0(-1.0, 1.0); + result += mat4(-0.05367477, -0.078411445, 0.107682705, -0.05179454, -0.101149, -0.016185397, 0.2755446, -0.2408976, 0.015464319, 0.042289484, 0.1908763, -0.15750426, -0.06516995, 0.072354965, 0.06715771, 0.26282984) * go_0(0.0, -1.0); + result += mat4(0.062333807, 0.06013844, -0.040104974, -0.33716065, 0.06652305, 0.3144661, -0.08150677, 0.17847258, 0.025293501, 0.085246235, 0.1500923, -0.028793348, -0.008922378, -0.023754073, -0.15999489, -0.10776248) * go_0(0.0, 0.0); + result += mat4(0.013679765, -0.0068315254, -0.0063317283, 0.04092541, -0.024292475, -0.08490433, 0.052840695, -0.056294404, 0.1751175, -0.03373209, 0.031306665, -0.14522974, -0.1688535, 0.09737534, -0.06616412, 0.2202574) * go_0(0.0, 1.0); + result += mat4(0.019336289, 0.054557003, -0.08372398, 0.013064762, 0.014936632, 0.031539556, 0.046100393, -0.14767817, -0.03333652, 0.020777406, 0.070448704, -0.009688919, -0.090416685, -0.025141802, 0.030440604, -0.11709335) * go_0(1.0, -1.0); + result += mat4(-0.019530639, -0.017071763, 0.16344751, -0.09003354, 0.049499974, 0.066197686, 0.17537111, -0.10965739, 0.027256027, -0.04720143, 0.03044248, -0.10484599, -0.051237702, 0.038487937, -0.072922744, 0.023582684) * go_0(1.0, 0.0); + result += mat4(0.06786746, 0.08613347, 0.058307048, -0.02357511, 0.14101249, 0.05510837, 0.082233034, -0.011995293, 0.022474831, 0.010892606, -0.01492494, -0.11511058, 0.055903982, 0.02207162, -0.098973624, 0.040012434) * go_0(1.0, 1.0); + result += mat4(-0.064766414, -0.051125515, 0.03402284, 0.057396293, -0.117072344, -0.019163232, 0.037863698, -0.052369513, -0.0061165625, 0.061819155, 0.028041245, -0.09490486, 0.1093347, -0.00664147, -0.08768312, 0.0070511065) * go_1(-1.0, -1.0); + result += mat4(-0.29905078, -0.09995567, -0.08120736, -0.03129106, -0.098326, 0.011130474, 0.036129285, 0.17871866, -0.084457494, -0.012659195, -0.02691152, 0.14104512, -0.21426772, -0.07243515, 0.11658849, -0.002852482) * go_1(-1.0, 0.0); + result += mat4(-0.17713405, 0.06941797, -0.062077515, -0.030658305, 0.08999236, -0.06921259, -0.095924884, 0.07375469, 0.11921843, 0.03554809, 0.058501836, 0.061609276, 0.21009676, 0.0685857, 0.04634768, -0.011610212) * go_1(-1.0, 1.0); + result += mat4(0.23054165, -0.039558277, -0.08045203, 0.06898775, -0.029158285, -0.037750367, -0.24264999, 0.05567059, 0.033564106, 0.03715445, 0.21824217, -0.043530416, 0.14731471, -0.07235384, 0.089611664, 0.026031008) * go_1(0.0, -1.0); + result += mat4(-0.098505996, 0.076161414, -0.09749997, 0.08872072, -0.12537481, 0.004141966, -0.067040585, -0.39046898, 0.055973317, 0.042723298, -0.13534929, -0.04335705, -0.09676344, -0.030532371, -0.07493259, -0.204519) * go_1(0.0, 0.0); + result += mat4(0.092057995, 0.56036115, 0.035873197, 0.057625197, -0.027210712, 0.06758173, 0.03869267, 0.058112122, -0.17431425, 0.06694562, -0.023299959, -0.036024995, -0.08311603, -0.13028675, 0.030961594, -0.09352405) * go_1(0.0, 1.0); + result += mat4(-0.04974338, -0.018803855, 0.10142671, -0.011776798, 0.06506589, -0.028476488, -0.019591449, -0.009582206, -0.039581254, 0.08912891, 0.15407297, -0.1111981, 0.018480325, -0.020779947, 0.031039927, -0.028463457) * go_1(1.0, -1.0); + result += mat4(0.03755804, -0.03275704, 0.05746246, -0.20568763, -0.043458223, 0.101914786, 0.09678074, 0.020130953, 0.14230555, -0.059717167, 0.16945612, -0.037695907, 0.005530407, 0.03836577, -0.13570379, 0.07553547) * go_1(1.0, 0.0); + result += mat4(0.1345541, -0.060120266, 0.053173084, -0.049932115, -0.064288326, -0.04958125, -0.0018103139, -0.006733389, 0.09001299, -0.04224858, -0.029498586, 0.18575308, -0.04561738, -0.07796082, -0.053623714, 0.10945586) * go_1(1.0, 1.0); + result += mat4(0.038186714, -0.012922114, -0.019606752, 0.10890265, -0.026697423, -0.031865556, -0.15932839, -0.026640827, -0.04705261, 0.037437834, 0.10179085, -0.0104858745, 0.07226553, 0.086646274, 0.101131245, -0.013259711) * go_2(-1.0, -1.0); + result += mat4(-0.023795605, -0.03550652, -0.107414104, 0.24193193, -0.14496972, -0.0053217285, 0.07148466, 0.12643136, -0.028414654, -0.022065196, 0.22527543, 0.03852106, -0.06697379, 0.022275146, -0.04764777, 0.120496206) * go_2(-1.0, 0.0); + result += mat4(0.23702599, 0.0025132557, -0.09258897, 0.19450943, 0.16891776, -0.13970126, -0.011847789, -0.11160886, -0.027799755, 0.044170912, -0.01895572, -0.031032356, 0.050352756, 0.021191083, 0.020041477, 0.043741606) * go_2(-1.0, 1.0); + result += mat4(-0.009787904, -0.0031327195, 0.13239524, -0.02248145, 0.017299512, -0.081802346, -0.026019929, 0.18054922, -0.14968066, 0.008379352, -0.13506816, -0.39034408, -0.01510947, 0.050189696, 0.037722163, -0.0402762) * go_2(0.0, -1.0); + result += mat4(-0.009644101, -0.07043924, -0.21935566, -0.12265316, -0.10996126, 0.106311634, -0.23956922, -0.015151155, 0.305456, -0.012311232, 0.3604329, 0.042090364, -0.07823785, 0.0045187594, -0.14659731, -0.13044918) * go_2(0.0, 0.0); + result += mat4(0.056163978, 0.08190758, -0.21001509, -0.033524346, 0.06273405, -0.2997634, 0.17979006, 0.056670144, 0.17271192, 0.18963227, 0.014150318, 0.06472095, 0.011062292, -0.18754636, -0.11784225, -0.03410013) * go_2(0.0, 1.0); + result += mat4(-0.0030782006, -0.039169632, -0.012148773, 0.007969146, 0.08711546, -0.037726182, 0.083651684, -0.08435948, -0.019397778, -0.0052067027, 0.08074589, -0.30207992, 0.047031336, 0.002789317, 0.15840194, -0.015054001) * go_2(1.0, -1.0); + result += mat4(-0.09078356, 0.12796444, -0.18432406, 0.16723672, -0.05772405, -0.030571923, 0.116594106, 0.06573904, 0.09887476, 0.09740928, 0.106751874, -0.00070329773, 0.010173095, -0.01197216, -0.06333568, 0.09718661) * go_2(1.0, 0.0); + result += mat4(-0.110290706, -0.005412752, 0.003918915, 0.0149365235, -0.12237922, -0.0941654, -0.034798037, 0.015760876, 0.04696292, -0.029291628, 0.045765277, -0.015127902, -0.09263057, 0.05402446, -0.0015908936, -0.033567302) * go_2(1.0, 1.0); + result += mat4(-0.1546162, -0.046554644, -0.0391521, -0.09454174, -0.0145587865, 0.07268975, -0.02036403, 0.015187209, 0.026502129, 0.032875117, 0.12548845, -0.19535835, 0.010370751, 0.030553613, -0.042921092, 0.11908) * go_3(-1.0, -1.0); + result += mat4(0.008709621, 0.12762955, 0.02271395, -0.031447556, 0.2041771, -0.029859964, -0.015839372, 0.10484876, 0.09285942, -0.020085273, 0.2329937, -0.29332286, 0.08294215, 0.011051319, -0.04993451, 0.042096935) * go_3(-1.0, 0.0); + result += mat4(0.18800123, -0.03135053, 0.039468758, -0.1393591, -0.055419687, -0.06350931, 0.017772222, 0.05357081, 0.10056033, 0.017571677, 0.05918185, -0.18371263, 0.0045149303, -0.077885784, -0.00043915678, -0.008647403) * go_3(-1.0, 1.0); + result += mat4(-0.011838485, 0.07350019, 0.0420831, 0.16229297, 0.009401042, 0.063198246, 0.060701136, -0.24234499, -0.098218255, 0.0034951624, -0.010836201, -0.07096872, -0.066027485, -0.008603827, -0.0023365172, 0.036595766) * go_3(0.0, -1.0); + result += mat4(-0.007935683, -0.26162764, 0.04059723, -0.059729014, 0.13929102, -0.09995081, 0.26922408, -0.29116368, -0.091238625, -0.07413519, -0.08951079, -0.030239927, -0.1368917, -0.11178951, -0.028913764, 0.15466857) * go_3(0.0, 0.0); + result += mat4(-0.1720602, 0.049961366, -0.035956968, 0.01072738, 0.093655944, -0.028308686, -0.07628571, 0.09549064, -0.002988198, 0.06946468, 0.17164339, -0.16626763, 0.11002801, -0.13791496, -0.05334689, 0.050957866) * go_3(0.0, 1.0); + result += mat4(0.067476556, 0.018401565, 0.02231447, 0.14312652, 0.14491569, 0.03304159, 0.2667232, -0.23096946, 0.011412218, -0.033295278, 0.006336338, 0.054895587, 0.031594772, -0.03772589, -0.08373306, 0.040909506) * go_3(1.0, -1.0); + result += mat4(0.03497658, -0.025716685, -0.16338083, 0.028354604, 0.13035797, 0.0010428666, 0.13506557, -0.23274136, 0.016426807, 0.005891126, -0.030560384, 0.054110117, 0.012959187, -0.033846233, 0.079321414, -0.08366125) * go_3(1.0, 0.0); + result += mat4(-0.17821713, 0.0037684473, 0.057483234, 0.038107146, -0.10401292, 0.020576356, -0.012016484, 0.010923387, 0.028446645, -0.027637433, 0.11687413, -0.07261914, -0.049263023, -0.06475644, -0.024119789, -0.029610662) * go_3(1.0, 1.0); + result += mat4(-0.022396808, -0.048420932, -0.02559588, 0.064104095, -0.2238012, -0.041249584, -0.09579613, 0.07697319, -0.058794957, -0.0134507725, -0.037161227, 0.08851301, -0.06766741, -0.036019377, 0.13610823, -0.063773625) * go_4(-1.0, -1.0); + result += mat4(-0.111936666, 0.0015700395, -0.18472138, -0.09797969, 0.010897245, 0.036488175, -0.08795422, -0.07408578, 0.1483729, -0.06495232, 0.080542035, -0.10570226, -0.01910507, 0.083303586, 0.15487678, 0.09761835) * go_4(-1.0, 0.0); + result += mat4(0.013546343, 0.12007825, -0.08906977, -0.032903753, -0.07735022, 0.074112795, 0.019404477, 0.012522555, -0.23720813, 0.03610346, -0.011151242, -0.09428033, -0.04208847, 0.08472888, -0.0941527, 0.1656356) * go_4(-1.0, 1.0); + result += mat4(-0.25968832, 0.023167782, -0.03399193, -0.025605416, 0.101124994, -0.03928416, 0.046708047, 0.0940108, -0.25001726, 0.06509968, -0.13399917, 0.14300269, 0.020019464, 0.09823798, -0.2859548, 0.15752983) * go_4(0.0, -1.0); + result += mat4(0.06779552, -0.048957087, 0.14341845, 0.008796376, 0.30520636, 0.085243754, 0.09708159, 0.120880716, -0.082815446, -0.10173312, 0.21042523, -0.0104252035, 0.012946593, 0.048153225, -0.023779962, -0.22626428) * go_4(0.0, 0.0); + result += mat4(-0.045614652, -0.1368418, -0.07421652, 0.010353576, 0.022773737, -0.034736004, -0.030603807, 0.0408453, 0.16829208, -0.028303532, 0.115394354, 0.0016284953, 0.06252144, 0.0025463477, -0.035674695, -0.09269994) * go_4(0.0, 1.0); + result += mat4(0.029739881, 0.010787098, 0.0037744232, -0.031569265, -0.040358283, 0.031814087, 0.018036583, -0.035894874, -0.063151926, -0.109803386, -0.07274231, 0.0032429527, 0.0074872132, 0.05725981, 0.060606975, 0.061117698) * go_4(1.0, -1.0); + result += mat4(-0.090809055, -0.03279648, -0.039354723, 0.14036313, -0.013013246, -0.07712587, -0.05239944, 0.03066829, 0.10737496, 0.076186314, -0.19699359, -0.036594667, 0.21938333, -0.04839966, 0.1286612, 0.013338615) * go_4(1.0, 0.0); + result += mat4(-0.1429745, -0.07955227, -0.115608715, 0.14228356, -0.05602207, 0.02558927, -0.11061171, 0.06673638, -0.049651172, -0.021392899, -0.06468659, 0.039141133, -0.039755132, -0.050199732, 0.011340825, -0.00960286) * go_4(1.0, 1.0); + result += mat4(-0.065777004, 0.025236372, -0.098756045, -0.0066504143, -0.0832726, -0.040675264, 0.04911827, 0.033635136, -0.28793526, -0.10226347, 0.068537354, -0.2860185, -0.0550898, -0.033459336, -0.04448749, 0.11041132) * go_5(-1.0, -1.0); + result += mat4(-0.00013023219, 0.007373967, 0.04127884, -0.04456252, 0.06467729, -0.023159763, -0.098877944, 0.015409203, 0.15005386, 0.17018975, -0.047596633, -0.08832008, 0.261034, 0.14298894, 0.10107278, 0.0667279) * go_5(-1.0, 0.0); + result += mat4(0.07939445, -0.08513146, -0.056983568, 0.040726192, 0.020092426, 0.18478346, 0.025876757, 0.030642727, -0.12265552, 0.002464858, -0.020372186, 0.070551656, -0.016353855, -0.11511243, -0.09484669, -0.08860525) * go_5(-1.0, 1.0); + result += mat4(-0.08422405, 0.022759112, -0.12475361, 0.15862978, 0.111085795, 0.07579316, -0.007671498, -0.2048156, 0.17000435, 0.05883048, 0.18549366, -0.228149, -0.14611648, -0.1293601, 0.12878643, -0.07917457) * go_5(0.0, -1.0); + result += mat4(-0.08697763, 0.0049046283, 0.06277697, 0.25657007, -0.037057158, -0.13358995, 0.2738289, 0.23121043, 0.32146227, 0.9468732, -0.09779261, -0.009769717, 0.0027131666, 0.118656114, 0.0898452, 0.22487496) * go_5(0.0, 0.0); + result += mat4(-0.009855616, -0.26240128, 0.0801256, 0.05871007, -0.21371177, 0.18926387, -0.23380044, -0.09474009, 0.06469363, -0.011632477, 0.025565358, 0.07108313, 0.10727917, -0.00026592708, 0.10903209, -0.03030383) * go_5(0.0, 1.0); + result += mat4(-0.0053380155, 0.033946496, -0.06860304, 0.0837713, -0.19269274, 0.08148278, -0.024386114, 0.022558022, -0.10444353, -0.042082686, 0.1903784, -0.077984534, -0.0065324833, 0.014674045, -0.18835127, 0.0013458942) * go_5(1.0, -1.0); + result += mat4(0.003491147, -0.0619422, 0.038574003, 0.059497047, -0.15528834, -0.007080539, -0.16295113, -0.044733614, -0.0067163864, 0.08186305, 0.11124116, -0.12240357, 0.12911586, -0.020327786, 0.084354304, 0.0617812) * go_5(1.0, 0.0); + result += mat4(0.07007616, 0.011843434, -0.029149607, -0.0033018868, 0.027770158, 0.13727912, -0.12729046, 0.2015703, 0.096229255, 0.013653448, 0.053937647, -0.029171295, 0.034246232, -0.09088042, 0.080427885, -0.114031985) * go_5(1.0, 1.0); + result += vec4(-0.031869058, -0.049291052, -0.05604242, 0.01975563); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_1_tf2 +//!SAVE conv2d_2_tf2 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_1_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.036752462, 0.029649748, -0.09748701, 0.059650358, 0.13616882, 0.013703124, -0.14998761, 0.009004554, 0.07992881, 0.022163173, -0.018146321, -0.08414139, -0.10911252, -0.016669272, 0.056696363, -0.08302073) * go_0(-1.0, -1.0); + result += mat4(0.12478577, 0.028158983, 0.07586349, 0.12842986, -0.006957239, -0.1160528, 0.023359532, -0.0074758576, -0.15942998, -0.06529529, -0.153319, -0.078501165, -0.18118988, 0.2001499, -0.31065115, -0.055492736) * go_0(-1.0, 0.0); + result += mat4(0.03806193, 0.00058707164, -0.06611409, -0.045297977, 0.024692483, 0.09514936, 0.12853955, 0.11280573, -0.023200573, -0.1503142, -0.19710632, -0.033298586, 0.00087093137, 0.061145596, -0.004629127, -0.014288893) * go_0(-1.0, 1.0); + result += mat4(0.01509754, 0.000975345, 0.043960508, 0.022261515, -0.07704468, 0.086596936, -0.13879523, 0.26205274, -0.014519523, -0.12089183, 0.0046606623, -0.028361473, 0.034736868, -0.12085262, -0.019312797, -0.1901168) * go_0(0.0, -1.0); + result += mat4(-0.22042033, -0.067241855, -0.0011751472, -0.3089443, -0.17684302, -0.07348887, -0.037950914, 0.07932659, -0.13587996, -0.19734861, 0.27510792, 0.15798965, 0.070934966, -0.24996722, 0.22142075, -0.1549704) * go_0(0.0, 0.0); + result += mat4(-0.06863547, 0.12449067, 0.00033030356, -0.07413546, 0.124544054, 0.049810465, 0.012467352, -0.040705148, 0.2043941, -0.1648197, 0.047376834, -0.072514415, 0.051701315, 0.22315136, 0.24103536, 0.042497516) * go_0(0.0, 1.0); + result += mat4(0.123373166, 0.16414459, -0.08505689, -0.052690018, 0.11099723, -0.008846635, 0.03483504, 0.03459058, 0.036431137, -0.022281377, -0.0747196, -0.06604844, 0.0034591674, 0.10690525, -0.01045302, -0.036992412) * go_0(1.0, -1.0); + result += mat4(-0.19597553, -0.32721582, 0.20590895, 0.07775533, 0.1393974, 0.10618747, 0.034401745, -0.0008929772, 0.014548279, -0.066054046, -0.051273774, 0.043616574, -0.10099313, 0.021435626, -0.021498548, -0.09212177) * go_0(1.0, 0.0); + result += mat4(0.15320238, 0.16471805, 0.032097213, 0.020770807, 0.025557829, -0.10821472, -0.13672188, 0.07703349, -0.013789304, 0.07158349, 0.07591088, 0.017019821, -0.14680074, -0.14204682, -0.0040901196, 0.04855082) * go_0(1.0, 1.0); + result += mat4(0.092040926, -0.1696223, 0.0035175297, -0.1266837, -0.017807435, -0.05324885, 0.052235745, 0.0053132256, -0.26360056, 0.044413272, -0.07820576, 0.09869417, 0.05975259, 0.058592863, -0.03391289, -0.0463601) * go_1(-1.0, -1.0); + result += mat4(-0.17156146, -0.06575004, 0.18721104, -0.028241588, 0.09805437, 0.15232502, -0.09398395, -0.14233524, 0.07775248, 0.14465685, 0.045949064, -0.03276368, -0.0028104451, 0.15150578, -0.04324162, -0.054190543) * go_1(-1.0, 0.0); + result += mat4(-0.025806474, 0.122085676, 0.06087487, 0.10123448, -0.021339104, -0.082396485, -0.049415596, 0.016665734, -0.01075966, -0.18270788, -0.21377993, 0.0107189575, -0.14957522, -0.23296382, -0.20353965, 0.12026796) * go_1(-1.0, 1.0); + result += mat4(-0.03165497, 0.20380338, 0.03153878, 0.08439275, 0.010899999, 0.031973626, 0.05603482, -0.050522227, -0.08342698, -0.23481508, -0.042175133, 0.008809877, 0.06622943, -0.08636996, 0.072220184, -0.06921989) * go_1(0.0, -1.0); + result += mat4(-0.07053526, 0.061910875, 0.0023930974, 0.28627953, 0.14615639, 0.058881626, -0.14786066, -0.06661333, 0.30343568, 0.3641429, -0.18411386, -0.16842756, 0.17510016, 0.05421069, -0.10123317, 0.06964223) * go_1(0.0, 0.0); + result += mat4(-0.21576017, -0.06363907, -0.18081437, 0.24664907, -0.09735165, 0.057592265, -0.083031796, 0.01964763, -0.031470213, -0.18838522, 0.05072108, -0.10001062, -0.008070019, -0.111055255, -0.07987868, -0.00753598) * go_1(0.0, 1.0); + result += mat4(0.061441302, -0.078763954, 0.005878039, 0.00055347115, -0.09499128, 0.09156834, 0.13328615, 0.043168213, -0.029688388, -0.36990175, 0.1696049, -0.034198307, -0.019164128, -0.09315934, -0.0028499612, 0.043170534) * go_1(1.0, -1.0); + result += mat4(-0.1382709, -0.24728169, 0.06712876, 0.08034291, -0.091681674, 0.007854249, 0.23301663, -0.055606913, 0.28568286, 0.2942446, -0.059362978, -0.074468486, 0.11220201, 0.1190768, -0.025883239, 0.05220736) * go_1(1.0, 0.0); + result += mat4(0.11531199, 0.3396637, 0.0085975, 0.013585601, 0.080540046, 0.049160656, -0.05710246, 0.005991695, 0.1438699, -0.3402577, -0.07053711, -0.16263331, -0.09119706, 0.0076426715, 0.08115436, -0.04297937) * go_1(1.0, 1.0); + result += mat4(0.052113753, 0.026635656, 0.10596492, 0.022013694, -0.010665535, -0.077066846, 0.06217549, -0.05517532, -0.056953914, -0.08185771, -0.020402161, -0.043208323, -0.012995452, -0.019643994, 0.006990098, -0.045173813) * go_2(-1.0, -1.0); + result += mat4(0.17718889, 0.0038756612, -0.11827346, -0.2329743, -0.1793552, -0.08469043, 0.13127111, 0.051736213, 0.2438145, -0.12342349, -0.11737657, -0.20728126, -0.1685289, 0.11266314, 0.076692104, -0.1616657) * go_2(-1.0, 0.0); + result += mat4(-0.020399734, -0.23063114, -0.21987145, -0.082217745, 0.116614126, 0.10273191, 0.101865344, 0.011308658, 0.056851316, -0.050016683, -0.009367647, -0.09125666, -0.07041454, 0.051433813, -0.006439021, 0.014740233) * go_2(-1.0, 1.0); + result += mat4(0.051031563, -0.03535238, -0.080701895, -0.055633444, -0.03865236, 0.04696362, -0.016610028, -0.031190962, -0.06230007, 0.11438899, 0.002950869, 0.056986533, 0.06503178, -0.07315137, -0.108793534, 0.1280907) * go_2(0.0, -1.0); + result += mat4(0.13356781, 0.0902099, 0.0018598923, 0.054726165, 0.13937949, -0.14195664, -0.09394637, -0.23538189, 0.15451878, 0.07872618, 0.12278696, 0.07883152, -0.079190545, 0.0060577407, 0.12348955, 0.1273284) * go_2(0.0, 0.0); + result += mat4(-0.2844292, -0.043685716, 0.16975491, -0.03931876, -0.045410622, -0.043887924, -0.06207469, -0.095141575, -0.01910207, 0.036241893, -0.099487804, 0.006061581, 0.058822997, -0.0017064888, 0.04472078, 0.10879998) * go_2(0.0, 1.0); + result += mat4(-0.0531857, 0.20407021, -0.048386984, 0.02700043, -0.024223981, -0.075209916, 0.022038897, 0.14877595, -0.13606672, -0.12767786, 0.06151931, -0.05388265, -0.013327909, 0.03979459, -0.065765746, -0.07282832) * go_2(1.0, -1.0); + result += mat4(-0.037340526, -0.21573111, 0.1269642, 0.04037458, 0.12398714, 0.2021396, -0.17674391, 0.0147291655, 0.058955196, -0.0015507584, 0.23541385, -0.145222, 0.20797801, -0.13098398, 0.003790887, -0.037615184) * go_2(1.0, 0.0); + result += mat4(-0.09600365, 0.22067653, 0.09930907, -0.07818997, 0.08789531, -0.011831723, -0.07886167, -0.020031728, 0.00084014103, 0.081453785, -0.007063985, -0.007725119, -0.054167047, 0.041189484, 0.007090602, -0.037227746) * go_2(1.0, 1.0); + result += mat4(-0.017512068, -0.22621062, -0.011807716, -0.064745784, -0.06731377, -0.05784807, 0.050968435, 0.0674237, -0.10051867, -0.08823096, 0.015287385, 0.057430997, -0.08142708, 0.06392106, 0.062179778, 0.02986153) * go_3(-1.0, -1.0); + result += mat4(-0.23300487, 0.0051065637, 0.23627552, 0.053352736, 0.15926725, 0.088776834, 0.06346916, 0.10811631, -0.05167443, -0.0029013795, -0.14792533, 0.0027736027, 0.31416926, -0.083981514, -0.051183276, -0.07321588) * go_3(-1.0, 0.0); + result += mat4(-0.008830604, 0.2482698, 0.14781001, 0.096101865, -0.021321455, 0.060337346, 0.015929816, -0.039313477, 0.09857251, -0.04800572, -0.101969965, 0.09313578, 0.048235282, 0.05253759, 0.04893083, -0.1115041) * go_3(-1.0, 1.0); + result += mat4(0.14629705, 0.10310787, 0.07421539, -0.2541191, 0.061346315, -0.12419151, 0.08524945, -0.029404115, 0.022251071, -0.12156319, -0.011553011, -0.012188503, 0.10256824, -0.010299354, 0.06765391, -0.08820727) * go_3(0.0, -1.0); + result += mat4(-0.21080357, -0.4021113, 0.035816908, 0.7000948, 0.21632199, 0.111284, -0.012059465, 0.023438603, 0.25428426, -0.15475942, 0.09260869, 0.14866553, -0.14576761, 0.22147575, 0.023831703, 0.074204154) * go_3(0.0, 0.0); + result += mat4(0.049143, 0.2896474, 0.18784785, 0.036332216, -0.019188514, -0.0049673393, -0.012528154, 0.13640659, -0.16241746, -0.09813068, 0.019516123, -0.0084478175, 0.058226462, -0.22123648, -0.14045192, -0.023666197) * go_3(0.0, 1.0); + result += mat4(0.05800501, 0.060431264, -0.04097961, 0.03453522, -0.06560738, -0.092472866, -0.06397347, 0.14444739, 0.025983555, -0.030899955, -0.042766206, -0.06060983, -0.01918705, -0.040768683, 0.052782744, 0.09638819) * go_3(1.0, -1.0); + result += mat4(-0.10073037, -0.22703889, -0.0010382081, 0.05074596, 0.03396179, -0.068848714, 0.0861629, 0.26089123, 0.022775311, -0.014949607, -0.094047025, -0.0027702095, 0.1917307, 0.11404618, -0.10283004, 0.025103435) * go_3(1.0, 0.0); + result += mat4(0.030860173, 0.13404387, 0.05976607, -0.093795955, 0.016835473, -0.020731337, 0.037207656, 0.126881, 0.0074429302, -0.10216514, -0.031499624, -0.083616905, -0.023030072, 0.014815519, -0.08937133, 0.11519909) * go_3(1.0, 1.0); + result += mat4(0.13568272, 0.122503586, -0.04963004, -0.0010412488, -0.10429815, 0.068515815, -0.2886607, -0.09816482, 0.051498115, 0.0017436935, -0.03835064, -0.13563691, 0.035978988, 0.06407808, 0.035696708, 0.10724592) * go_4(-1.0, -1.0); + result += mat4(-0.01266009, -0.0073259426, 0.006877496, 0.054289263, -0.07651681, -0.1118919, -0.012793396, -0.07368392, -0.01061065, -0.10134513, -0.1434462, 0.04688037, 0.19463971, 0.15506972, -0.23626265, 0.023359938) * go_4(-1.0, 0.0); + result += mat4(-0.09461492, -0.036462337, -0.16172805, 0.15837577, -0.08643621, 0.035166703, 0.061290734, -0.108064786, -0.12176273, 0.026083494, 0.06523428, -0.053249013, 0.12905678, -0.11907856, 0.015970876, -0.064191975) * go_4(-1.0, 1.0); + result += mat4(-0.042738717, -0.022231134, -0.03853537, -0.08111096, 0.040522724, 0.1349429, 0.1058772, -0.13941672, -0.04256023, -0.05742218, 0.19752051, -0.0942069, 0.0080565745, 0.06621899, -0.0018314277, -0.10499731) * go_4(0.0, -1.0); + result += mat4(0.30080974, -0.053357773, -0.054159783, -0.13733824, -0.22567864, 0.0092003625, 0.055152208, 0.1307246, -0.05244466, 0.041202605, 0.04831643, 0.33047366, 0.11396535, 0.42621002, 0.03459549, 0.0347411) * go_4(0.0, 0.0); + result += mat4(0.05305111, 0.076122396, -0.08781792, -0.0069180895, 0.050885174, -0.0042734225, -0.04444145, 0.012016987, 0.122985676, -0.048455186, -0.17231132, -0.013408545, -0.12154411, -0.39617026, -0.13028972, 0.075709775) * go_4(0.0, 1.0); + result += mat4(-0.0041923127, 0.027921822, 0.026247777, -0.020477489, 0.042308033, 0.01580411, -0.066128924, -0.058847815, 0.00095708045, 0.061050877, 0.042081635, 0.09856459, -0.038021386, -0.18332537, 0.12586181, -0.085686505) * go_4(1.0, -1.0); + result += mat4(0.02818681, 0.2021728, -0.059565738, -0.02425082, 0.12646812, -0.02011973, -0.0052335905, -0.13634421, -0.036117353, 0.102945946, -0.025090111, 0.06759408, 0.08294928, 0.06963724, 0.07145511, 0.061311223) * go_4(1.0, 0.0); + result += mat4(-0.04572639, -0.1857778, -0.020896941, -0.1320479, -0.08060074, 0.15807647, 0.08087496, 0.09661483, 0.068133175, -0.03192162, -0.059143748, -0.023069799, 0.06820739, -0.10254724, -0.08489362, -0.12950915) * go_4(1.0, 1.0); + result += mat4(-0.0701631, -0.06492232, 0.07158485, -0.0474961, -0.08277424, -0.0046874695, -0.036980134, 0.032411482, -0.040205367, -0.11806291, -0.12003579, 0.09404628, 0.13509527, -0.07151287, -0.17165148, -0.082828976) * go_5(-1.0, -1.0); + result += mat4(-0.23416395, -0.005059655, 0.03932381, 0.15610525, 0.1310776, 0.10495845, -0.23422901, -0.017912678, 0.010918836, -0.18813089, -0.287215, 0.21294762, 0.10265387, -0.06561, -0.11778113, 0.06950684) * go_5(-1.0, 0.0); + result += mat4(-0.0028815586, 0.07538225, -0.03291754, 0.047160495, -0.07666219, -0.15290219, -0.17513353, 0.04385531, 0.005002826, -0.01648364, -0.11297704, -0.03472268, -3.882572e-05, -0.16454723, -0.023212174, 0.15911958) * go_5(-1.0, 1.0); + result += mat4(-0.08348401, 0.029882649, 0.21708311, -0.05323357, -0.07704958, -0.016631678, -0.060494706, 0.10649385, -0.29307103, 0.052837957, 0.120730795, 0.034656238, -0.0004268264, 0.20290168, 0.10882499, -0.04060937) * go_5(0.0, -1.0); + result += mat4(-0.27893996, -0.18981667, 0.15798293, -0.030922053, -0.09654163, 0.27498308, -0.019050546, 0.16028336, -0.09720187, 0.10653666, -0.23317258, 0.20285597, 0.38110915, 0.022553165, 0.1321882, 1.1575677) * go_5(0.0, 0.0); + result += mat4(0.124580376, 0.067915864, -0.060147874, 0.053467464, -0.0038043377, 0.0289266, 0.118544504, -0.13358372, -0.076356836, -0.09143476, -0.0685938, -0.067568906, -0.0121121425, 0.040102568, -0.2717469, 0.16300786) * go_5(0.0, 1.0); + result += mat4(0.002691588, -0.12474235, 0.12467866, -0.09753572, -0.010205263, -0.0006359913, 0.015651824, -0.24048246, 0.1586161, 0.004588076, 0.04444844, -0.01231289, -0.06640105, -0.063054025, 0.102068566, 0.1259912) * go_5(1.0, -1.0); + result += mat4(0.0028770883, 0.16986279, 0.060900114, -0.08368565, -0.26938817, -0.24303895, 0.29375112, -0.059524175, -0.13170256, 0.11625376, -0.1326183, -0.0012333714, -0.13267988, -0.0071024853, -0.031031137, 0.07532496) * go_5(1.0, 0.0); + result += mat4(0.12214155, -0.041841783, -0.052751888, 0.062362764, -0.04766777, 0.0540806, 0.3322733, -0.3677417, 0.12217059, 0.05566961, -0.012429841, -0.10585391, -0.056920152, 0.14918473, -0.0054139746, 0.04940436) * go_5(1.0, 1.0); + result += vec4(0.016709281, 0.012619587, -0.017232165, -0.04396106); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!SAVE conv2d_3_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.060878627, -0.041988216, 0.104058675, -0.088971175, 0.037815195, -0.033195835, 0.014279358, 0.06304454, 0.02948025, 0.006056027, -0.02087268, -0.1090193, -0.0034371826, -0.03975976, -0.06009851, 0.12365947) * go_0(-1.0, -1.0); + result += mat4(0.079548575, -0.16905668, -0.13728581, -0.03805935, 0.050417993, 0.04001516, -0.045917254, 0.043337673, -0.07575137, 0.017724466, -0.023716906, 0.012353904, -0.0853222, -0.09868139, 0.044824444, -0.0141505785) * go_0(-1.0, 0.0); + result += mat4(0.09399756, -0.14398341, -0.2721442, 0.016207851, -0.10623493, 0.057902634, 0.10767521, 0.0003635082, 0.014634943, 0.09112885, 0.11872027, 0.036644384, -0.046260875, -0.0743102, -0.19018789, 0.036393598) * go_0(-1.0, 1.0); + result += mat4(0.09814595, 0.0044509294, 0.13141516, 0.091252774, -0.09662514, -0.033599697, 0.12196037, 0.21599433, 0.1194499, 0.04127431, 0.039627396, -0.031521305, -0.14756238, -0.09555712, -0.010698389, -0.09642848) * go_0(0.0, -1.0); + result += mat4(-0.008813449, 0.015096444, 0.23331937, 0.097849704, -0.0094626965, 0.09468486, -0.14536959, -0.48678625, 0.11508988, 0.13658337, 0.07481205, -0.14646451, -0.056061424, -0.013553051, 0.1893297, -0.07424693) * go_0(0.0, 0.0); + result += mat4(0.092239104, -0.079855025, -0.12919873, -0.006577375, -0.4529186, 0.08633541, -0.027304357, -0.21013555, -0.03914936, 0.074918106, -0.009362854, -0.015590051, 0.23523058, 0.075767435, -0.042212676, -0.0037648496) * go_0(0.0, 1.0); + result += mat4(0.06423107, -0.080711946, 0.014235396, 0.017949343, 0.048689805, -0.10082265, 0.04964177, 0.103560664, 0.056355603, 0.09673206, -0.062948905, -0.036618367, -0.07845171, -0.010790115, -0.13978757, -0.025738737) * go_0(1.0, -1.0); + result += mat4(0.064559884, -0.042264454, -0.110668264, 0.124921605, 0.0047526294, 0.044878427, -0.15133426, -0.050278753, 0.08540561, 0.10420466, -0.021862527, 0.06804833, 0.094847456, 0.14177199, 0.04205903, 0.027875852) * go_0(1.0, 0.0); + result += mat4(-0.025060967, -0.04341538, -0.005267881, -0.06606841, -0.06347963, 0.062125452, 0.024389729, -0.08982404, -0.0062638335, 0.11981404, 0.054283164, -0.084352404, 0.0069115954, -0.064623505, 0.028570656, -0.069944404) * go_0(1.0, 1.0); + result += mat4(-0.026635213, -0.031471547, 0.12941289, 0.014990064, -0.06946961, 0.034871764, -0.0023429494, 0.039788067, -0.014846336, 0.07696896, 0.009524336, 0.06702693, 0.06922799, 0.15218733, -0.108957425, 0.02397873) * go_1(-1.0, -1.0); + result += mat4(0.04425317, -0.019614218, 0.020195834, -0.06853279, -0.10681463, -0.038610324, 0.1985278, 0.1917614, -0.15072219, 0.019215003, -0.07190246, -0.0710555, 0.06319588, 0.123843595, 0.037890248, -0.10028418) * go_1(-1.0, 0.0); + result += mat4(0.059803672, 0.08516648, 0.03677657, -0.010275112, -0.047332514, 0.0123374835, 0.06696025, -0.016793806, -0.086841464, 0.016270785, -0.12735787, -0.12676108, 0.16822693, 0.15760474, -0.07559359, -0.07678976) * go_1(-1.0, 1.0); + result += mat4(-0.104641154, 0.07192061, 0.23210934, 0.11417999, 0.04492395, -0.118827716, -0.12041658, 0.19749922, 0.09203569, 0.019726515, -0.055105124, 0.05295804, -0.005788939, 0.056638427, 0.065282024, -0.09013673) * go_1(0.0, -1.0); + result += mat4(0.028824141, 0.27045545, 0.073205985, -0.082846776, -0.2143439, -0.026223134, 0.16712476, 0.07194315, -0.019990921, -0.28113925, 0.13138968, 0.053820554, 0.3113366, 0.20013627, 0.010963992, 0.07630061) * go_1(0.0, 0.0); + result += mat4(0.15658687, 0.07025806, -0.09104068, 0.07163445, -0.03478211, 0.015337765, 0.083114274, 0.010839639, -0.0542002, 0.0768983, 0.074233785, -0.10077115, -0.12870364, -0.08656189, -0.04770647, -0.025078414) * go_1(0.0, 1.0); + result += mat4(-0.08102263, -0.07714586, -0.042745892, 0.0374993, -0.09478303, -0.07571532, -0.062317267, -0.034587506, -0.01396296, -0.053482197, -0.04521547, -0.116828814, -0.07759964, 0.07154679, 0.06632562, -0.069989264) * go_1(1.0, -1.0); + result += mat4(0.0066547785, 0.13140622, 0.08087736, -0.25154832, -0.039879136, -0.010373583, -0.05184014, 0.012249648, -0.096870914, -0.020647451, 0.087357886, 0.042756695, 0.09706797, 0.16477491, 0.12650236, -0.0839691) * go_1(1.0, 0.0); + result += mat4(-0.010547578, -0.013264216, 0.07298194, -0.06801917, -0.020884428, -0.071191095, 0.0041795867, -0.03743981, -0.19142745, -0.023131248, 0.0381656, -0.014476577, 0.076137036, 0.08133924, -0.085573785, 0.01067451) * go_1(1.0, 1.0); + result += mat4(-0.15004109, -0.04713592, -0.05823828, -0.03564525, -0.18593709, 0.11510138, 0.10260254, 0.10952684, -0.056938007, 0.11468128, -0.07422465, 0.013310582, 0.03276255, -0.08601149, 0.074078046, 0.06268768) * go_2(-1.0, -1.0); + result += mat4(-0.03183145, -0.080839306, 0.0077147027, 0.2783979, -0.020172173, 0.11772608, 0.19941199, 0.089674905, -0.1645803, 0.09871185, 0.103870094, -0.02221705, 0.18880293, -0.02838061, 0.1329911, 0.110804334) * go_2(-1.0, 0.0); + result += mat4(-0.0727793, -0.15429437, 0.07309872, 0.052409347, 0.07621416, 0.014342246, 0.09742559, -0.006178975, -0.00049866503, 0.01627198, 0.1749332, -0.023455271, 0.084430106, -0.074995294, 0.024229486, 0.006074203) * go_2(-1.0, 1.0); + result += mat4(0.096733555, -0.04178045, -0.016891489, 0.06953366, 0.005025407, 0.13799861, 0.003864609, -0.0056246608, 0.04448754, 0.14127962, -0.08169796, 0.049868934, -0.07307801, 0.0970107, 0.042104065, 0.012651146) * go_2(0.0, -1.0); + result += mat4(-0.17528427, -0.42639711, 0.11246585, 0.26789048, -0.045942087, 0.23083447, 0.2616979, 0.0051987628, -0.3405826, -0.02898998, -0.12387437, -0.06811704, -0.13623591, 0.085379034, 0.1163564, -0.3684051) * go_2(0.0, 0.0); + result += mat4(0.105229065, -0.009456556, -0.09346365, 0.16764155, 0.053806845, 0.032471523, 0.22268786, -0.00045551482, -0.038868275, 0.09682891, -0.072218366, -0.15059048, -0.06828941, -0.08986867, 0.009097031, 0.1784724) * go_2(0.0, 1.0); + result += mat4(0.015004372, 0.0059916377, 0.06578616, -0.03323271, -0.016655194, -0.0037565026, -0.016965717, 0.123583436, 0.05276917, 0.07713196, -0.08393188, -0.06575901, -0.026482249, 0.07345747, -0.029773988, -0.098376736) * go_2(1.0, -1.0); + result += mat4(0.0015305893, -0.09495176, 0.038808357, 0.0035307724, -0.08659931, 0.12207447, 0.08526738, 0.19026709, 0.05297383, 0.02768884, -0.1678504, -0.30386385, 0.025181111, 0.03945659, 0.17099062, 0.029333467) * go_2(1.0, 0.0); + result += mat4(0.21933754, -0.10313659, -0.04901954, 0.10964564, -0.13104112, -0.020108605, 0.027046354, -0.07801803, 0.12369789, 0.1183686, -0.2176958, -0.041832034, 0.047641497, -0.04469799, -0.010872767, 0.046445683) * go_2(1.0, 1.0); + result += mat4(0.148908, 0.119546995, 0.09599242, 0.026430191, 0.004287343, -0.01410569, -0.026667995, -0.0033883103, -0.114997216, -0.117683105, -0.083241284, 0.0925183, 0.04929814, 0.1384929, 0.067604244, -0.010090262) * go_3(-1.0, -1.0); + result += mat4(0.17913392, -0.027995758, 0.25155705, 0.38675678, -0.0084490245, 0.11703253, -0.13717517, 0.024913544, -0.022265881, 0.029341036, -0.021509588, 0.021925684, -0.06447644, 0.055588942, -0.23970391, -0.24156545) * go_3(-1.0, 0.0); + result += mat4(-0.09896528, -0.17248964, 0.20294617, -0.16814777, 0.014902548, -0.032280933, 0.04340094, 0.016689163, -0.04480586, 0.04256907, -0.18132643, -0.0063551413, 0.061819937, 0.04628381, 0.006767698, 0.0061162747) * go_3(-1.0, 1.0); + result += mat4(0.15260129, -0.06680908, 0.032037478, -0.11269483, 0.02655564, -0.021874784, -0.06829202, -0.06577833, -0.009562943, 0.0015011907, 0.0124588655, 0.06603201, 0.011123314, 0.027462086, 0.057987396, -0.18905073) * go_3(0.0, -1.0); + result += mat4(0.16752581, -0.48974037, -0.23990577, 0.27223033, -0.3773399, 0.08863033, -0.008062138, -0.077350825, -0.35848886, -0.053652804, 0.028900446, -0.06633484, 0.08034644, 0.10832985, 0.11753572, 0.09361) * go_3(0.0, 0.0); + result += mat4(-0.070450164, -0.25812992, 0.11410226, -0.21115066, 0.21403445, 0.077668846, -0.11741976, 0.011133417, 0.120277226, -0.08427091, -0.057168204, 0.1925855, -0.11746336, 0.10269434, -0.07322618, -0.10409009) * go_3(0.0, 1.0); + result += mat4(0.03575297, 0.047510248, -0.007979737, 0.031025993, -0.03234521, 0.08676478, 0.0035725946, -0.057138126, 0.022418533, 0.0050477074, -0.07923602, 0.030552208, -0.006946033, 0.013259726, -0.066337876, -0.01595059) * go_3(1.0, -1.0); + result += mat4(0.022808606, -0.08600189, -0.0021296823, -0.12722832, -0.061637733, 0.03429111, 0.1716912, 0.012061466, -0.037751373, -0.043379158, 0.004443852, 0.006374207, 0.04551323, 0.13964722, 0.011221888, -0.058265697) * go_3(1.0, 0.0); + result += mat4(0.1531455, -0.030335607, -0.00045989535, 0.016067028, 0.0050904215, -0.088213325, -0.09847688, -0.061282493, 0.040786967, 0.049954005, -0.015633572, 0.020150138, -0.086479515, -0.04847328, 0.008594881, -0.06341954) * go_3(1.0, 1.0); + result += mat4(0.022407485, 0.051172994, -0.07005926, 0.0029726303, 0.11993554, -0.027608547, 0.06194104, 0.19056575, -0.04243877, -0.114722855, 0.06236797, -0.06036638, -0.089428924, -0.07503292, -0.0024683257, 0.060040735) * go_4(-1.0, -1.0); + result += mat4(0.06874307, 0.029475406, -0.05025358, -0.04228223, 0.08292351, 0.0686724, -0.4738799, -0.041531645, 0.0615269, 0.03603044, -0.009950976, -0.030149357, 0.06910009, -0.016899468, -0.16924357, -0.066745326) * go_4(-1.0, 0.0); + result += mat4(0.012021045, -0.0028476904, -0.23050983, -0.11764533, 0.033747047, -0.0668547, -0.17645846, 0.058430642, 0.025553009, 0.11809977, -0.34416163, 0.029323732, -0.054547835, -0.0160696, 0.03192446, -0.11135748) * go_4(-1.0, 1.0); + result += mat4(0.19059187, 0.11761485, 0.06828622, -0.071383595, 0.17573558, -0.07326583, 0.29549947, 0.5370607, -0.1592557, 0.012467725, -0.02284002, -0.15567715, -0.022485673, -0.075606614, 0.02638997, 0.06499531) * go_4(0.0, -1.0); + result += mat4(0.061065406, 0.034856595, 0.121818274, -0.28799838, -0.0054412605, -0.25181246, -0.3095022, 0.59951264, -0.14887947, 0.310832, 0.42532226, -0.50458944, 0.09077006, 0.0012851865, -0.049090795, -0.018807344) * go_4(0.0, 0.0); + result += mat4(0.08625662, -0.08079708, 0.03560689, 0.021092743, 0.03330426, -0.10841074, 0.03042436, -0.10980985, -0.056732696, -0.02562971, -0.1828409, 0.25399944, 0.2152503, -0.019375121, -0.073344804, 0.04161207) * go_4(0.0, 1.0); + result += mat4(-0.021478724, 0.015574761, 0.092981905, 0.04195265, -0.050123077, -0.13362321, 0.14641477, 0.22193475, -0.112343, 0.02624443, -0.13018239, 0.00833514, -0.0092335045, 0.015253402, -0.013441764, 0.028822897) * go_4(1.0, -1.0); + result += mat4(0.025862357, -0.021355819, 0.10295669, 0.0615911, -0.102607384, -0.21350992, -0.0051344573, 0.062845446, -0.068726346, 0.10714023, -0.016227763, -0.055759374, 0.10889699, 0.07502395, -0.09149433, -0.00020285786) * go_4(1.0, 0.0); + result += mat4(-0.0676785, -0.11517699, 0.012390956, -0.120551035, -0.1695143, -0.027560102, -0.04481715, -0.06955313, 0.03983824, 0.097748354, -0.02457515, -0.025119185, -0.003987165, -0.034221396, -0.004371428, 0.045199845) * go_4(1.0, 1.0); + result += mat4(0.1732521, -0.022186914, 0.023095943, 0.034811586, 0.05579798, 0.030366201, 0.050261993, 0.029239386, 0.012046298, 0.024326274, -0.06705734, -0.028883696, 0.019890117, 0.018180113, 0.15856597, 0.18605316) * go_5(-1.0, -1.0); + result += mat4(0.14001346, -0.21155912, -0.04503595, 0.053345755, -0.090209134, 0.023596361, 0.109940544, 0.04495405, 0.1154255, 0.08557325, 0.028999878, 0.06572874, -0.06701647, -0.059574578, -0.035772696, -0.25112775) * go_5(-1.0, 0.0); + result += mat4(0.06629787, 0.08039307, -0.13807642, 0.07134196, -0.04295903, -0.006060854, 0.08699088, 0.018854614, 0.024055403, 0.024039935, -0.08500348, -0.03041994, -0.12469508, -0.06752729, 0.023455527, 0.06100103) * go_5(-1.0, 1.0); + result += mat4(0.06566045, -0.19818264, 0.13119479, 0.25947747, -0.17939506, 0.005642733, 0.09516572, -0.015004266, -0.048418473, -0.0120703075, -0.18966949, -0.23252305, 0.04602659, -0.07620238, -0.08963158, -0.082796745) * go_5(0.0, -1.0); + result += mat4(-0.01332639, -0.20567879, -0.027533831, -0.055890594, -0.06562438, 0.05992528, 0.15381408, -0.015261545, 0.14442064, 0.100258596, -0.0497336, 0.00076529477, 0.08915382, -0.25916958, 0.11629673, 0.50717276) * go_5(0.0, 0.0); + result += mat4(-0.09708679, -0.17440423, -0.06424349, 0.024765793, -0.068865195, -0.030870711, -0.019785484, -0.09489355, 0.0029501836, -0.030186258, -0.059128, 0.02353537, -0.056624137, -0.03159645, -0.016295215, -0.07160536) * go_5(0.0, 1.0); + result += mat4(0.006727234, -0.21366745, -0.07577386, -0.007462938, -0.17185695, -0.034567107, 0.15243205, 0.033333488, -0.08533551, 0.10143909, 0.02578666, -0.09097233, 0.026171222, -0.18809001, -0.03344314, 0.075811416) * go_5(1.0, -1.0); + result += mat4(-0.007549739, -0.18698569, -0.12967056, 0.23008282, -0.21573843, -0.034550514, 0.13685697, -0.11938899, 0.14835912, 0.1284512, 0.034902997, 0.086076915, 0.016294781, -0.068496056, -0.01920739, 0.14567302) * go_5(1.0, 0.0); + result += mat4(-0.04698844, 0.011898311, 0.1046441, 0.01991676, -0.042640552, -0.0012635426, 0.019563822, -0.16339815, -0.15451749, 0.0122954445, -0.15720376, -0.047094855, -0.047507558, -0.021503676, -0.04172817, -0.040319066) * go_5(1.0, 1.0); + result += vec4(0.15373076, 0.023519197, -0.049319107, -0.08283358); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.051532425, 0.091096826, 0.14191705, 0.021257475, -0.043796312, 0.093881994, -0.005066956, -0.0023505734, -0.05945693, 0.009556036, -0.085642494, -0.0014123443, -0.0058722594, -0.024343085, 0.061728872, -0.0039950665) * go_0(-1.0, -1.0); + result += mat4(-0.26865405, 0.009443461, 0.16867341, 0.622584, 0.058818102, 0.35006693, -0.059381735, -0.06257525, 0.09936295, -0.00443078, -0.10469712, 0.028571106, -0.040493533, 0.064946294, 0.06706766, -0.09373991) * go_0(-1.0, 0.0); + result += mat4(0.06543985, 0.09986878, -0.19543362, 0.09373655, 0.0541375, 0.16537385, 0.026011372, -0.03605416, 0.019205978, -0.07212895, 0.024384554, -0.007675373, 0.12836097, -0.04166636, 0.055825308, -0.020801648) * go_0(-1.0, 1.0); + result += mat4(-0.0015450468, 0.13572882, 0.12091456, 0.1166015, -0.009230995, -0.02709468, 0.24357562, -0.041073736, 0.10431756, -0.09081733, 0.024183141, -0.12385413, 0.009050871, 0.04241893, -0.07000264, -0.045027476) * go_0(0.0, -1.0); + result += mat4(0.1844817, 0.26336753, 0.3737102, -0.06259004, 0.1617452, -0.25852692, 0.09539696, 0.077052556, -0.1127802, -0.04362702, -0.07532252, 0.01843211, 0.20906034, -0.22169475, -0.3050946, 0.005795682) * go_0(0.0, 0.0); + result += mat4(0.050782137, 0.09285482, 0.013463424, 0.09382983, 0.15679222, 0.097184785, -0.102737166, 0.010083802, 0.25101736, -0.057440706, -0.0068231933, 0.031670235, -0.15177655, 0.06184211, 0.035385065, 0.094532885) * go_0(0.0, 1.0); + result += mat4(-0.021981591, -0.010338387, 0.0173951, 0.011672829, -0.07322482, 0.026766973, 0.19942865, -0.054371774, -0.039344914, -0.031175368, -0.104145624, -0.033964705, 0.059924334, 0.10030723, 0.05287642, -0.011525114) * go_0(1.0, -1.0); + result += mat4(0.010477996, -0.027564188, -0.07299184, 0.0031628401, 0.053592954, 0.14721608, 0.050443165, 0.054701533, -0.05194661, 0.10187985, 0.0841449, -0.16591024, -0.120705724, 0.04835826, 0.022117713, 0.14320303) * go_0(1.0, 0.0); + result += mat4(0.05366802, 0.04450724, -0.07116873, 0.018092519, 0.12960574, 0.010524704, 0.021397214, -0.10124951, 0.021492062, 0.15726486, 0.018809538, 0.16718598, -0.079331905, 0.014389413, -0.043786433, -0.031617466) * go_0(1.0, 1.0); + result += mat4(0.061123163, -0.008527182, 0.056948926, -0.10627774, -0.051381204, -0.098056376, -0.07355251, 0.058251213, 0.03027771, -0.059726343, -0.004039657, -0.060454708, 0.03326807, -0.017245874, -0.018002514, -0.19221961) * go_1(-1.0, -1.0); + result += mat4(0.13269426, -0.14521386, 0.07024693, -0.044345845, 0.064260505, -0.08186043, -0.018553255, 0.013000457, -0.034331907, 0.0110434955, -0.15152079, 0.062666364, 0.0064793793, 0.03943717, -0.07121982, -0.0122420695) * go_1(-1.0, 0.0); + result += mat4(0.0022909308, -0.027821459, 0.007666231, -0.09402207, 0.06378703, 0.0025306912, -0.011908118, 0.052943528, 0.03777223, 0.015253876, -0.0911553, 0.020581577, 0.04024302, -0.059131015, -0.12878624, -0.14937729) * go_1(-1.0, 1.0); + result += mat4(-0.20060766, 0.10550035, 0.040319964, 0.02203861, -0.21334945, -0.09129617, 0.14950722, 0.27330917, -0.13043684, -0.011455554, -0.059163526, 0.061363168, 0.07198159, -0.14392267, -0.049279723, -0.16368888) * go_1(0.0, -1.0); + result += mat4(-0.005726934, 0.061809737, 0.26571175, -0.0508786, -0.13768773, 0.0084726615, 0.064867355, 0.24021354, -0.16612366, -0.32611376, -0.0056967433, 0.058649994, -0.14098184, -0.13195637, 0.17463897, -0.072706945) * go_1(0.0, 0.0); + result += mat4(-0.004255773, 0.050221432, 0.03511493, 0.13059683, 0.090276234, -0.014923911, -0.0297545, -0.047384452, -0.017452974, -0.014603175, -0.040555496, -0.040129393, 0.15767246, -0.12933423, -0.10411603, -0.059705585) * go_1(0.0, 1.0); + result += mat4(0.01499572, 0.038021356, -0.038655262, 0.10332636, 0.06107952, -0.124987125, 0.00839781, 0.026839726, 0.05667281, -0.06502034, -0.04158296, 0.020352334, 0.012855494, -0.16884436, 0.07456417, -0.27250993) * go_1(1.0, -1.0); + result += mat4(0.16625583, 0.111739345, -0.14115168, 0.07775498, 0.07964054, -0.19943264, -0.076579675, 0.114146315, -0.06924165, -0.008523757, -0.012369684, 0.084825546, 0.077360824, 0.015640896, -0.09014757, -0.2562427) * go_1(1.0, 0.0); + result += mat4(0.043598585, -1.7944143e-05, 0.020020347, 0.163202, -0.009320151, -0.060290903, -0.08029752, 0.00470786, -0.052253775, 0.0523158, -0.048120454, 0.027237004, 0.19543527, -0.053322367, -0.07795532, -0.26097637) * go_1(1.0, 1.0); + result += mat4(0.040829513, 0.027344912, 0.039350614, -0.018052671, 0.047116775, -0.21742846, 0.021800093, 0.04727935, 0.006476431, 0.109050065, -0.15855633, 0.06528196, 0.01749025, 0.0801408, 0.050908446, 0.025161307) * go_2(-1.0, -1.0); + result += mat4(0.0039109145, 0.20262106, 0.010640377, 0.00073508086, 0.035609048, -0.3178805, -0.114064306, -0.08717052, 0.041919455, 0.100822195, 0.052280337, 0.14264041, -0.019835107, -0.01742497, 0.069859706, -0.136094) * go_2(-1.0, 0.0); + result += mat4(-0.016050965, 0.0017023965, 0.07463478, 0.029397288, 0.012884667, -0.15340297, -0.12145311, -0.084504604, 0.031719554, 0.10176259, 0.17917578, -0.081466235, -0.070475176, -0.036569543, 0.030817369, 0.00093004206) * go_2(-1.0, 1.0); + result += mat4(0.005175143, 0.038541757, -0.04611391, 0.012687734, -0.08482585, -0.13420677, -0.022602718, -0.023248335, -0.009379305, -0.024914416, -0.1556873, 0.07716233, 0.040030897, 0.019588439, -0.00020326633, -0.035921823) * go_2(0.0, -1.0); + result += mat4(0.09277081, -0.14604849, -0.10315272, -0.10218238, -0.019299058, 0.039892927, -0.12305097, 0.08282308, 0.20785542, -0.25430942, -0.5786373, 0.08361619, 0.29766968, -0.13651149, 0.05433396, -0.002326487) * go_2(0.0, 0.0); + result += mat4(0.0022918757, -0.13288023, 0.03507073, -0.1270022, -0.08303009, -0.11835682, -0.043386355, -0.049939554, 0.17220426, 0.20690584, -0.12607607, 0.01630364, -0.12909384, -0.015639398, 0.008538845, 0.011814694) * go_2(0.0, 1.0); + result += mat4(-0.07323993, 0.0038193578, -0.04499547, -0.028330965, 0.09958232, -0.19099899, 0.11461582, 0.034137066, 0.11563113, -0.080109045, -0.046825726, -0.076518156, 0.02142076, 0.023689395, -0.06716457, 0.055380866) * go_2(1.0, -1.0); + result += mat4(-0.16992791, -0.11073775, 0.030314503, -0.040741265, 0.14471209, -0.08543357, 0.03936064, 0.08363683, 0.25784957, -0.013240934, -0.2611622, 0.058637217, -0.054403603, 0.07538569, -0.01460606, 0.0033586712) * go_2(1.0, 0.0); + result += mat4(-0.030334603, -0.06705014, 0.115312725, -0.088085726, 0.06702929, -0.0011495374, -0.034704637, 0.1343799, 0.09259208, -0.015164439, -0.07946157, -0.08280861, 0.05221832, -0.020103397, 0.07027518, -0.06577655) * go_2(1.0, 1.0); + result += mat4(-0.15953599, 0.19717984, -0.068774864, -0.013231801, -0.0049428963, 0.035260137, 0.06719697, 0.053744193, -0.0061586886, 0.12468824, 0.082771085, -0.06338266, -0.11161943, 0.020903619, -0.06662881, 0.106410764) * go_3(-1.0, -1.0); + result += mat4(-0.12648551, 0.59016633, -0.058449466, 0.05027184, -0.1268186, -0.16503315, 0.06283211, 0.15491466, -0.030275421, -0.017137839, 0.35572198, -0.20102905, -0.13933317, 0.064168975, -0.25148913, 0.19831786) * go_3(-1.0, 0.0); + result += mat4(-0.020623447, 0.10436603, 0.032505494, 0.10330747, -0.13537021, -0.12852004, 0.043470673, 0.15594596, -0.04079206, -0.006578484, 0.014639443, -0.1305668, 0.12742941, 0.035377916, -0.020666048, 0.12913902) * go_3(-1.0, 1.0); + result += mat4(-0.093957245, 0.14227086, -0.052876893, -0.017023886, 0.02895226, -0.049363572, -0.103803545, -0.020201692, -0.017122371, 0.020107223, 0.17466359, -0.045727585, 0.008829902, -0.090555556, -0.15374495, 0.038008567) * go_3(0.0, -1.0); + result += mat4(-0.12761056, 0.28135148, 0.27574867, 0.382931, 0.37396768, 0.16042046, -0.21978071, -0.09570819, -0.03657776, -0.14994064, -0.21335132, -0.14469749, -0.008334839, 0.076127745, 0.12596962, 0.044469625) * go_3(0.0, 0.0); + result += mat4(0.062693655, -0.0020995673, -0.03578003, -0.008693218, -0.20448913, -0.0012052114, -0.05517855, 0.07709973, 0.00019773244, -0.033441383, 0.10124644, -0.029133243, 0.011188245, 0.049480632, -0.15774047, 0.026462583) * go_3(0.0, 1.0); + result += mat4(0.07708541, 0.032094687, -0.06590399, -0.044917103, 0.030699087, 0.013791041, -0.027715903, 0.034989886, 0.12644286, -0.053212583, 0.030144867, 0.03191328, -0.0022030976, -0.03517952, -0.031239145, -0.011541516) * go_3(1.0, -1.0); + result += mat4(0.13605243, -0.0036643173, 0.054759923, -0.0874578, -0.095541336, -0.07717009, -0.0044404124, -0.07789377, 0.022223033, 0.042040557, 0.03963188, -0.06923746, 0.050515573, 0.021173706, -0.1588929, -0.016566718) * go_3(1.0, 0.0); + result += mat4(0.03642868, 0.0019571134, -0.06462001, -0.025783904, -0.092446275, 0.07034372, 0.13513735, 0.049418043, 0.0469767, -0.034647983, -0.028358156, 0.029821971, -0.0012547448, -0.0215142, -0.00575001, -0.015822617) * go_3(1.0, 1.0); + result += mat4(0.05991972, -0.07097606, -0.0021673026, -0.057737365, -0.07414523, 0.0848901, -0.010813947, 0.098590545, -0.053975012, -0.01418897, -0.003842304, -0.08890115, -0.036108535, -0.028888565, 0.083571434, 0.031539794) * go_4(-1.0, -1.0); + result += mat4(0.06793972, -0.04307121, -0.06749134, -0.2220419, -0.027158843, -0.12549289, -0.12074319, 0.15725835, 0.031145409, 0.029780883, 0.1666359, -0.19247383, 0.049615867, 0.007585922, 0.043383103, 0.059999026) * go_4(-1.0, 0.0); + result += mat4(0.049211416, 0.017562263, -0.16941698, 0.020431092, 0.03291002, -0.16847964, -0.13768122, 0.023552107, 0.066443734, 0.04457845, -0.06422816, 0.026246335, -0.068408854, -0.005691881, -0.016129443, -0.04373907) * go_4(-1.0, 1.0); + result += mat4(-0.05238576, 0.0040802117, -0.048386503, -0.091417626, -0.12426567, 0.057714116, 0.13877256, 0.07984798, 0.1273961, 0.053779654, 0.005539249, -0.15763973, 0.01229652, 0.028854318, 0.03565122, 0.008969873) * go_4(0.0, -1.0); + result += mat4(0.0557266, -0.08987834, 0.084733, -0.092816025, -0.11559604, 0.078937136, 0.2510453, 0.43310538, 0.25558868, 0.11473004, -0.38432416, -0.5493848, 0.11698362, 0.0031592897, -0.25226787, -0.16275169) * go_4(0.0, 0.0); + result += mat4(-0.057126086, 0.02864368, 0.03450892, -0.21388105, -0.09301064, -0.08352118, -0.03985245, 0.03851764, 0.052544933, -0.11187719, 0.1202711, -0.025741827, -0.049562898, 0.030661782, -0.13272884, 0.11825087) * go_4(0.0, 1.0); + result += mat4(0.00022974834, 0.009710421, 0.017583983, -0.033309694, -0.0051363627, -0.04150162, 0.14076383, -0.02493734, 0.03662216, 0.013816948, -0.093910635, -0.016845183, -0.005615691, 0.057093993, -0.04766084, 0.02399329) * go_4(1.0, -1.0); + result += mat4(-0.105166085, 0.043123998, -0.0127380835, 0.002625806, 0.015331415, -0.06932662, 0.12627512, -0.007400604, 0.0795737, -0.06656376, 0.10450256, -0.21649025, 0.018006608, 0.023881756, 0.017293494, 0.028394276) * go_4(1.0, 0.0); + result += mat4(-0.02119481, 0.08968183, 0.05052849, -0.12967895, -0.040222317, -0.05005715, -0.03269384, 0.12692185, -0.026795395, -0.010976929, 0.09932758, -0.10000184, -0.029375391, -0.0059517818, 0.11153912, -0.021110825) * go_4(1.0, 1.0); + result += mat4(-0.18823478, -0.07471848, 0.10086466, -0.0802164, -0.08827184, 0.120874256, -0.10013822, -0.041975964, 0.03392259, 0.02487604, 0.0055046408, -0.031607714, -0.046583664, -0.08023409, 0.01050265, 0.018952131) * go_5(-1.0, -1.0); + result += mat4(-0.27866688, 0.01744233, 0.22286561, -0.12082279, -0.09129484, 0.18733421, 0.13702172, 0.11011228, -0.102656946, 0.008688805, 0.017221048, 0.05698448, 0.047090173, -0.11221888, -0.011405661, -0.0803902) * go_5(-1.0, 0.0); + result += mat4(-0.015040312, -0.06936747, -0.051856115, -0.23413056, 0.038837086, -0.05748699, 0.008432868, 0.013003123, 0.015453204, -0.025663814, -0.14024237, 0.05792928, 0.16071676, -0.06444115, -0.025555203, -0.0329603) * go_5(-1.0, 1.0); + result += mat4(-0.17098702, -0.03307113, 0.39276683, -0.2675735, 0.11513026, 0.022623973, 0.09215052, -0.035489403, 0.15498714, -0.033512514, -0.12328384, 0.06450136, -0.0857012, -0.05533978, 0.084712565, 0.060517173) * go_5(0.0, -1.0); + result += mat4(-0.22476391, 0.043400906, 0.27170894, -0.08536195, 0.081583224, -0.12228048, 0.11090993, -0.17015494, -0.2305381, 0.3388885, 0.04737424, -0.039380115, -0.4384285, 0.108392686, -0.04265109, -0.076380804) * go_5(0.0, 0.0); + result += mat4(-0.005365885, 0.019079542, 0.101035826, 0.019317945, 0.090604626, 0.060402036, 0.03897374, -0.013627864, -0.06286203, -0.10721233, -0.04124434, 0.15492818, 0.08468363, 0.02096242, 0.16306227, -0.121712595) * go_5(0.0, 1.0); + result += mat4(0.076783404, -0.10820704, 0.1928273, -0.26549062, -0.019718567, 0.014522923, 0.03307578, 0.05146496, -0.037891667, 0.06871848, -0.040733065, -0.06625803, 0.044294454, -0.03430605, 0.17273937, -0.097373515) * go_5(1.0, -1.0); + result += mat4(-0.01684758, 0.11004352, 0.18195264, 0.021141363, -0.06384991, -0.046188932, 0.14583582, -0.042456772, -0.19739406, 0.0716079, -0.14497757, -0.11471601, -0.05790205, -0.031198889, 0.16930245, -0.050601408) * go_5(1.0, 0.0); + result += mat4(-0.0004969313, 0.052198816, 0.044516873, -0.0004902391, -0.01417575, 0.007150018, -0.058823355, -0.10758816, 0.11552376, -0.009542674, -0.02952017, 0.057716407, 0.036378585, -0.014639986, -0.102228165, 0.014733783) * go_5(1.0, 1.0); + result += vec4(-0.089817494, -0.046376515, -0.016165316, 0.0076574814); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!SAVE conv2d_3_tf2 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_2_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.030038383, -0.021750828, -0.05673787, -0.020782128, -0.09773039, 0.039174426, 0.06708796, -0.049333632, -0.04537355, 0.0038014427, 0.03591195, -0.044637557, 0.050968885, 0.09330693, -0.031212635, 0.07429358) * go_0(-1.0, -1.0); + result += mat4(0.12775251, 0.040986136, -0.04009791, -0.46938616, -0.019962156, 0.020210423, 0.006611632, -0.12218599, -0.034447394, -0.042804014, 0.03643364, 0.008767333, 0.011725782, 0.12548617, -0.04463093, -0.0003086673) * go_0(-1.0, 0.0); + result += mat4(-0.17495006, 0.09364223, 0.21191445, 0.3689361, -0.17039227, 0.046119362, 0.0004103469, 0.005220074, -0.030711368, -0.16689484, -0.0033276859, 0.0019133807, 0.039146427, 0.24162926, -0.06682649, 0.015280382) * go_0(-1.0, 1.0); + result += mat4(0.14416052, -0.04350349, -0.05997498, -0.033882197, 0.094997644, -0.074338906, -0.018996352, -0.11358834, -0.056317985, -0.09744033, -0.0649357, 0.13987495, -0.11759386, 0.04025934, 0.014363531, 0.04545393) * go_0(0.0, -1.0); + result += mat4(-0.025082601, 0.15925029, 0.26535234, -0.11123376, 0.2440576, -0.22252248, -0.33604595, 0.41823947, 0.041226815, -0.018212054, 0.029909294, -0.18397939, -0.008992709, -0.053265553, -0.33006796, 0.1679767) * go_0(0.0, 0.0); + result += mat4(-0.15396369, 0.047922403, 0.081095986, 0.113559745, -0.15644477, -0.053599257, 0.13369486, -0.042834673, 0.053572267, 0.008784489, -0.07328086, -0.09134024, 0.13616152, 0.07166517, -0.13828607, 0.03351486) * go_0(0.0, 1.0); + result += mat4(0.14226072, 0.03835179, 0.037692476, 0.028272923, 0.1739552, 0.060204353, 0.025946103, -0.11801499, -0.013297981, 0.017026937, 0.03560745, 0.013458226, -0.13805607, -0.0465596, -0.10789218, 0.05573865) * go_0(1.0, -1.0); + result += mat4(0.086809635, -0.079763696, 0.09985947, -0.005514354, 0.03096031, -0.11669026, -0.022280462, -0.13622472, -0.14020382, -0.19116089, -0.19539164, 0.19047521, 0.052646037, 0.16117837, -0.03884808, 0.00616069) * go_0(1.0, 0.0); + result += mat4(0.0559758, 0.034724902, 0.0734068, 0.05364228, 0.038033064, -0.17287946, 0.079264306, -0.108767435, 0.061889466, 0.008698587, -0.09496613, 0.005716793, 0.016187228, 0.029243872, 0.0018449439, -0.049501143) * go_0(1.0, 1.0); + result += mat4(-0.07022979, -0.048978336, -0.03554127, 0.059115365, -0.044639688, 0.09438233, -0.08497962, 0.0090867905, 0.10578026, -0.05330054, -0.096712135, -0.066838026, -0.14796714, -0.068573944, -0.062214892, -0.041214455) * go_1(-1.0, -1.0); + result += mat4(0.1073234, -0.18741827, -0.11151789, 0.015686441, -0.051570714, 0.11938432, -0.10913929, 0.19924664, 0.004670323, 0.12700799, 0.10854721, 0.011548006, 0.027806178, -0.056173198, -0.0735823, -0.032703802) * go_1(-1.0, 0.0); + result += mat4(0.021739235, -0.0762548, -0.07841973, -0.026117647, -0.020196462, -0.032511126, -0.013573442, -0.0064681806, -0.001557182, -0.025993003, 0.042057555, -0.07787966, -0.0032753355, -0.20890261, -0.11667297, 0.014360282) * go_1(-1.0, 1.0); + result += mat4(0.112155125, 0.08103959, -0.16235179, -0.044133063, -0.22261354, 0.08284279, 0.18919945, -0.12323681, 0.07951254, 0.07377466, 0.040439017, -0.085686415, -0.05438964, -0.0856376, -0.03426205, 0.16813913) * go_1(0.0, -1.0); + result += mat4(-0.07694995, -0.14575966, 0.16244434, 0.069700025, -0.09374663, 0.20785992, 0.6321536, -0.14662765, 0.049012557, -0.11849355, -0.17823172, 0.12648977, 0.23761982, -0.27029783, -0.25868917, 0.3413623) * go_1(0.0, 0.0); + result += mat4(-0.054794446, -0.07828729, -0.09556604, -0.07134157, 0.036704887, -0.10364276, 0.06125657, 0.09165867, 0.118566066, -0.049238298, -0.047849175, -0.111805685, -0.12598202, -0.059178207, 0.19201007, 0.23574536) * go_1(0.0, 1.0); + result += mat4(0.08980732, 0.02026105, 0.0129340505, -0.09411272, 0.050741844, 0.08491761, -0.0047545866, 0.08226705, -0.043336462, -0.031396918, 0.067547105, 0.062342398, -0.17352124, 0.023412999, -0.040013775, 0.1298339) * go_1(1.0, -1.0); + result += mat4(-0.14172035, -0.24607244, 0.047379315, 0.07706968, 0.021247461, -0.052120127, -0.059468146, 0.119869955, 0.053620726, 0.004084994, 0.13461955, -0.18420613, -0.08815453, -0.2254551, -0.12617877, 0.08785496) * go_1(1.0, 0.0); + result += mat4(-0.077065945, -0.2423904, 0.1552825, -0.03647555, 0.06480191, 0.1330156, -0.0269433, 0.15451622, 0.035751514, 0.20464808, -0.025265023, 0.020420134, 0.083485104, -0.21048307, 0.02272924, 0.08510558) * go_1(1.0, 1.0); + result += mat4(0.060760673, 0.09824782, -0.021633951, -0.01997114, -0.057572138, -0.09888247, 0.028583184, -0.07609289, -0.15944918, -0.068560906, 0.0012401744, -0.1439598, 0.062566355, 0.038748585, -0.049428593, 0.06488477) * go_2(-1.0, -1.0); + result += mat4(-0.14030106, 0.3072454, 0.06573317, 0.11125419, -0.056651082, -0.38036165, 0.14607264, 0.025300123, -0.21910849, 0.086184375, -0.07718454, -0.22798067, 0.06774617, -0.030094463, -0.061885186, 0.17065558) * go_2(-1.0, 0.0); + result += mat4(-0.010125824, 0.103072144, 0.1279997, 0.050760243, -0.044088285, -0.22203995, 0.14531416, 0.14237681, -0.09475585, -0.031036694, -0.06487942, -0.06685459, 0.044411752, 0.102043316, -0.02298463, 0.13894531) * go_2(-1.0, 1.0); + result += mat4(0.078136265, 0.09181613, -0.0738238, 0.11729893, -0.0353268, -0.045860678, 0.015761107, -0.2393765, 0.16983439, -0.19721702, -0.04424538, -0.19921613, -0.15987086, -0.053151198, -0.021123309, 0.017046373) * go_2(0.0, -1.0); + result += mat4(0.12818108, 0.110156946, -0.312964, -0.039435193, -0.013887782, 0.023616536, -0.10395611, -0.10312674, 0.16714245, -0.011764259, 0.013490144, -0.27647623, 0.2815708, -0.077260576, -0.48344976, 0.45566863) * go_2(0.0, 0.0); + result += mat4(0.13948695, 0.16520035, -0.10736998, 0.11894474, 0.04268327, -0.06891544, -0.12176657, -0.010123764, -0.12706108, -0.09380579, 0.20031494, 0.013033486, 0.045285974, 0.24856701, 0.017390171, 0.008171071) * go_2(0.0, 1.0); + result += mat4(0.10275033, 0.044178646, -0.07312131, 0.032645803, 0.06477659, -0.23516645, 0.067890026, -0.10182108, -0.06428725, -0.30921656, 0.0689789, -0.12003374, -0.0762646, -0.054030195, -0.032199256, -0.01721715) * go_2(1.0, -1.0); + result += mat4(0.030139906, 0.34553978, -0.10791494, 0.10865321, -0.027569076, -0.3618259, 0.08197652, -0.18512005, -0.052365016, -0.2031043, 0.022174975, 0.112072885, -0.010841792, -0.056213304, -0.01889174, -0.021815313) * go_2(1.0, 0.0); + result += mat4(0.07941464, 0.10613619, -0.17120236, 0.11736614, -0.067713745, -0.04955237, 0.07884793, 0.028317591, -0.08577812, -0.23818578, 0.028565563, -0.09763123, 0.021688502, -0.014520022, -0.0022332326, 0.06084232) * go_2(1.0, 1.0); + result += mat4(0.17416538, -0.055337753, -0.086784735, -0.19203298, -0.022859348, 0.052769832, 0.01801499, 0.021157248, -0.003430855, 0.28804642, -0.12915777, -0.007967927, -0.062051505, -0.035990898, 0.14486398, -0.045551952) * go_3(-1.0, -1.0); + result += mat4(-0.06697477, 0.21398899, 0.15626886, 0.09518566, -0.04784873, -0.043016933, 0.028028524, -0.2202801, 0.009475978, 0.023302117, 0.086636774, 0.08466187, 0.027134296, -0.12477319, -0.0066038263, -0.13377169) * go_3(-1.0, 0.0); + result += mat4(0.073002495, 0.019882409, 0.13465437, 0.095742665, 0.02877812, -0.07978304, 0.04799434, -0.08633761, 0.053829532, 0.028266488, 0.016496865, -0.017649772, 0.007504453, -0.08132136, -0.032084428, -0.06213031) * go_3(-1.0, 1.0); + result += mat4(0.22638816, 0.021791125, -0.05373062, -0.11881955, -0.16027248, 0.1248117, 0.09711232, 0.12850693, 0.1430744, 0.016074827, 0.28289175, -0.02841633, -0.071616, 0.123623274, 0.034697633, -0.04540337) * go_3(0.0, -1.0); + result += mat4(-0.32847854, 0.03362345, 0.1570183, -0.03396035, 0.010754796, 0.050622255, 0.1397359, -0.0694123, -0.08154277, 0.07327178, -0.19398023, 0.19549695, 0.016365696, -0.094511, 0.1962987, -0.1624034) * go_3(0.0, 0.0); + result += mat4(0.058889385, -7.546345e-05, 0.24408817, 0.2477949, -0.09436003, 0.012569106, -0.008978321, -0.24843621, -0.05341815, 0.042606987, -0.034251466, -0.032898013, 0.024249421, -0.13529354, -0.009598037, -0.010006772) * go_3(0.0, 1.0); + result += mat4(-0.008468843, -0.096458435, -0.03669067, 0.07894181, -0.05088269, -0.02165748, -0.092161335, 0.027510274, -0.063793465, -0.016722348, 0.04017869, -0.08391233, -0.02473415, -0.002307846, -0.050660677, 0.13024652) * go_3(1.0, -1.0); + result += mat4(0.106820665, -0.079599075, 0.119992964, 0.052486505, -0.13353048, 0.17465922, -0.06353679, 0.08188179, -0.06733727, -0.076294705, 0.06284326, 0.03576611, -0.07740004, -0.022198483, -0.02510401, 0.013377264) * go_3(1.0, 0.0); + result += mat4(0.05380906, -0.13063669, 0.0502729, 0.08910364, -0.063234136, 0.12828088, -0.018460963, -0.075440355, 0.009794487, -0.06512296, -0.06974687, 0.055644996, -0.06760934, -0.051190425, 0.015056534, -0.076578766) * go_3(1.0, 1.0); + result += mat4(0.11306755, -0.14152966, 0.017199567, -0.07927823, -0.07652898, 0.049704805, 0.08694966, 0.023250965, -0.0097414795, 0.18923178, -0.009095949, 0.19534774, 0.07291539, 0.08211279, -0.03250076, -0.004571515) * go_4(-1.0, -1.0); + result += mat4(0.054340266, -0.06225541, 0.079742216, 0.08922402, 0.038130082, 0.03440285, -0.09214123, -0.079534784, -0.056612004, -0.11120479, -0.022306368, -0.12771012, -0.03189213, -0.06106299, 0.07653171, -0.017988201) * go_4(-1.0, 0.0); + result += mat4(-0.01483085, -0.07492041, 0.09557763, 0.018514846, -0.063029274, -0.0042385045, 0.095838405, 0.25916252, 0.007743448, -0.03838592, -0.0017389939, -0.21538797, 0.030113945, 0.052143387, 0.042328425, -0.021920057) * go_4(-1.0, 1.0); + result += mat4(-0.054446265, -0.15103836, 0.0337641, -0.17766273, 0.59812796, 0.16621551, -0.1396398, -0.10765044, -0.20137207, -0.058399063, 0.015214646, 0.08948676, 0.10885861, -0.07048783, -0.036039792, -0.0139106875) * go_4(0.0, -1.0); + result += mat4(0.44016132, -0.15730812, -0.18961212, 0.054028135, 0.20437379, 0.22306874, -0.16968171, -0.3039991, 0.16289267, -0.13677506, 0.393345, 0.14750478, 0.030973857, -0.15711813, 0.29814583, -0.079453215) * go_4(0.0, 0.0); + result += mat4(0.111330524, 0.034477763, -0.035662375, 0.0040829857, -0.21120815, -0.0015638896, 0.16000211, 0.11780304, 0.117233016, 0.027888954, -0.11743133, -0.10117133, 0.09182776, -0.15051128, -0.050599564, -0.07859627) * go_4(0.0, 1.0); + result += mat4(-0.07528831, 0.07377095, -0.012035711, 0.14641845, 0.19885515, -0.027350847, 0.15891771, -0.032186788, -0.18568198, 0.08516914, 0.0194725, 0.113679186, -0.07321446, -0.006814611, 0.024363022, -0.041401975) * go_4(1.0, -1.0); + result += mat4(0.03670741, -0.05319249, 0.051785614, -0.16903248, 0.17325033, 0.1144905, 0.20689905, -0.018909017, 0.05619651, -0.01838476, -0.18826057, 0.04974103, -0.048423767, -0.038877293, -0.07345023, 0.112472065) * go_4(1.0, 0.0); + result += mat4(0.010864774, 0.16668274, 0.068780385, 0.08308156, -0.034339216, 0.011294274, 0.14058082, -0.13272302, -0.049348705, -0.043334674, -0.055829912, -0.08535909, 0.0064629056, 0.023997806, -0.016735112, -0.011942476) * go_4(1.0, 1.0); + result += mat4(0.086142346, 0.2292178, -0.010219403, 0.0593476, -0.083634034, 0.12259535, -0.07327748, 0.024673425, -0.045079265, -0.02530776, 0.02248951, 0.008393773, 0.077611506, -0.11509985, 0.059175193, -0.042087976) * go_5(-1.0, -1.0); + result += mat4(0.04044624, 0.26444176, 0.01946967, 0.11972864, -0.17220415, 0.2603537, -0.14230311, -0.12086888, -0.0016741497, -0.15089966, 0.024180984, -0.15758742, 0.008668386, 0.031713035, 0.005303394, 0.12022453) * go_5(-1.0, 0.0); + result += mat4(-0.010897276, 0.11987153, -0.13000685, 0.19799784, 0.078611284, -0.03090101, -0.053625334, -0.004184015, 0.010114269, -0.116182365, 0.0914601, 0.018809833, -0.06429345, -0.038116198, 0.07993482, 0.1780351) * go_5(-1.0, 1.0); + result += mat4(0.31573543, 0.27823564, -0.044864718, -0.06798315, -0.028597904, -0.12924606, 0.011233994, 0.014880406, -0.2519176, -0.013868341, 0.079987615, 0.24702698, 0.18798052, 0.12141515, -0.07526576, -0.09506396) * go_5(0.0, -1.0); + result += mat4(-0.11081675, 0.8964764, 0.23946989, 0.2148404, 0.021539357, -0.28177392, 0.11052179, -0.20627522, -0.17099018, -0.18601313, -0.14564027, -0.009660313, -0.074333444, 0.16385522, 0.2510857, -0.18929671) * go_5(0.0, 0.0); + result += mat4(-0.099951014, 0.15615578, 0.0872118, 0.085872896, -0.050993633, -0.034744546, 0.11654366, 0.099523395, -0.026343498, -0.06509954, -0.036859628, -0.064830914, -0.04815342, -0.045304768, 0.09685562, 0.034938518) * go_5(0.0, 1.0); + result += mat4(0.38825148, 0.22435588, -0.038768243, 0.12891662, -0.020507365, 0.02433332, 0.10165365, -0.06321467, -0.27405342, 0.21058224, -0.056151077, 0.0893715, 0.2074139, 0.075082846, 0.05353601, 0.07657649) * go_5(1.0, -1.0); + result += mat4(0.1015844, 0.17984828, 0.09339243, 0.03871665, 0.0317625, 0.09201323, 0.025318913, -0.14218892, -0.0707927, -0.08178308, 0.027679168, -0.0876631, 0.10087377, 0.120364726, 0.04277295, -0.045731667) * go_5(1.0, 0.0); + result += mat4(0.028319372, -0.071746595, 0.06251333, -0.01576269, -0.010277642, 0.0071051405, 0.05409803, -0.031315167, -0.029280229, 0.062258944, 0.011841519, -0.035734437, -0.04741583, -0.03989569, 0.09797028, 0.015404385) * go_5(1.0, 1.0); + result += vec4(0.05188569, -0.059999112, -0.083425395, 0.082997724); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.24241452, -0.100528784, 0.084611595, -0.08080715, -0.080256924, 0.32367775, -0.08305123, 0.14469719, -0.12750244, 0.011761777, -0.032910027, -0.09281193, -0.08873951, -0.048546325, 0.074183516, 0.045072023) * go_0(-1.0, -1.0); + result += mat4(0.010939742, 0.098544136, 0.049292147, -0.22430013, -0.08015333, -0.031508088, -0.36106005, 0.12460627, 6.643176e-05, 0.018857447, 0.031020487, 0.12757821, -0.19238578, 0.30933842, -0.0045448663, 0.06171628) * go_0(-1.0, 0.0); + result += mat4(-0.108574405, 0.09914063, -0.041833777, -0.039154854, 0.23846108, -0.1906441, -0.039134666, -0.25513512, -0.0050513004, 0.01407854, -0.022056133, -0.1184478, 0.066072665, 0.0785561, -0.020216426, -0.18292157) * go_0(-1.0, 1.0); + result += mat4(0.12959838, 0.026440006, -0.0011596913, -0.31726244, -0.07676252, 0.027959237, 0.05895619, 0.12172022, -0.024327997, 0.21279183, 0.13060385, 0.13505119, -0.031498447, 0.16705142, 0.09434212, -0.023264466) * go_0(0.0, -1.0); + result += mat4(0.03360758, 0.31829336, 0.097372435, 0.066172324, -0.0873371, -0.07164736, -0.116273776, -0.15921108, -0.024977256, -0.11765985, -0.049553525, -0.032468632, -0.44380078, -0.08507502, 0.0327261, 0.019686563) * go_0(0.0, 0.0); + result += mat4(-0.25682133, 0.22201401, -0.18396896, -0.2420858, -0.09842399, 0.055608753, 0.25748596, 0.23556975, 0.026250778, 0.040285446, -0.07382262, 0.046680715, 0.18008539, -0.09701798, 0.19753018, -0.1137251) * go_0(0.0, 1.0); + result += mat4(0.11319255, -0.03126501, 0.07208281, 0.07807037, 0.004573684, -0.06784475, 0.1179848, 0.020895153, -0.06185304, 0.14311057, 0.046281323, 0.008271052, 0.026759004, 0.08469016, 0.028041905, -0.03963556) * go_0(1.0, -1.0); + result += mat4(-0.07507896, -0.11879082, -0.10246563, 0.035149485, -0.06570499, 0.1419997, 0.12152748, -0.12301691, 0.1762615, -0.23543337, -0.02367177, 0.09385406, -0.09039412, -0.009186869, 0.14061865, 0.034911305) * go_0(1.0, 0.0); + result += mat4(-0.090208784, 0.032296423, -0.027498133, -0.20286347, -0.23917037, 0.121174216, -0.17504627, -0.07068821, -0.023061762, 0.19171213, 0.08966504, 0.026315464, -0.01362642, -0.06647785, 0.013971816, 0.0012104128) * go_0(1.0, 1.0); + result += mat4(-0.161861, 0.014416416, -0.15422133, -0.038345456, -0.01926263, 0.05678733, -0.08679306, 0.12459709, 0.09292243, 0.086677715, 0.02556416, 0.00951428, 0.044389777, -0.098340936, -0.0022571671, -0.11948745) * go_1(-1.0, -1.0); + result += mat4(-0.03355483, 0.18284513, -0.40516412, -0.08310888, 0.072258465, -0.031982094, -0.08194034, -0.20847136, 0.053745344, 0.14951777, -0.09529998, -0.02916081, 0.3393585, -0.05936077, -0.052002147, -0.09378778) * go_1(-1.0, 0.0); + result += mat4(0.022535978, -0.013279629, -0.18767136, -0.1950165, -0.08899123, 0.06262896, -0.03814574, 0.06236617, 0.020036899, 0.11593139, -0.07205022, -0.07774045, -0.03650935, 0.123902336, -0.013660339, 0.0100182695) * go_1(-1.0, 1.0); + result += mat4(0.41049683, -0.13173875, 0.30123588, -0.114987805, -0.032382715, 0.010663058, -0.160782, 0.080483064, -0.15371633, -0.13527736, -0.007258104, 0.038761474, 0.13176364, 0.03947656, 0.19999593, 0.017623467) * go_1(0.0, -1.0); + result += mat4(-0.36690325, -0.11513609, -0.07545344, -0.48683265, -0.06626628, -0.1879703, -0.26255432, -0.27202544, 0.23177272, 0.22095495, -0.48685974, -0.15628079, 0.034569174, 0.11856782, 0.09302504, 0.058153495) * go_1(0.0, 0.0); + result += mat4(-0.11159616, 0.3598168, -0.040168233, -0.017913736, 0.05656028, 0.080021836, -0.0057910853, 0.09907919, -0.018118931, 0.104529314, -0.06623353, -0.05187142, 0.042655, -0.06037208, -0.13814276, -0.13877125) * go_1(0.0, 1.0); + result += mat4(0.07689434, -0.02957611, 0.059183944, 0.18732947, -0.012570976, -0.050425645, -0.04667911, -0.01714018, -0.1811952, -0.10611838, -0.06517356, 0.042284686, 0.14040054, -0.0044124937, 0.088569656, -0.09631004) * go_1(1.0, -1.0); + result += mat4(-0.041964065, -0.03648969, -0.06585285, -0.14997002, 0.14896095, 0.10991836, 0.035850056, -0.20629084, 0.20721185, 0.009481607, 0.059676703, 0.029152349, 0.048996776, 0.013181292, 0.012264018, 0.11202655) * go_1(1.0, 0.0); + result += mat4(-0.0025412547, 0.17166725, -0.029921697, -0.095596656, -0.01471627, -0.073273055, -0.07374642, 0.12182166, -0.032026254, 0.026899092, 0.010827608, 0.025221692, -0.023959257, 0.029916659, -0.082857594, -0.08647804) * go_1(1.0, 1.0); + result += mat4(0.0033231457, 0.025150223, -0.03726759, 0.00018312124, 0.07642118, 0.014045985, 0.12287268, -0.004507867, 0.020656586, -0.047215212, 0.06898793, -0.07950119, -0.012468573, -0.048340544, -0.018446337, 0.027170202) * go_2(-1.0, -1.0); + result += mat4(0.10788957, -0.12736209, -0.013289646, -0.022522524, 0.021718934, 0.020739023, -0.036677744, -0.020026676, 0.02461253, -0.092075236, 0.020083528, 0.082641564, 0.075953014, -0.27012607, 0.008537513, -0.014810857) * go_2(-1.0, 0.0); + result += mat4(-0.08193019, 0.12357896, -0.06672417, -0.0010150888, 0.04195979, 0.0720302, -0.04809725, 0.055789728, 0.029061116, 0.10846966, -0.04579666, -0.01037483, 0.12933455, -0.053652834, 0.016493477, -0.0990554) * go_2(-1.0, 1.0); + result += mat4(-0.09004879, -0.07116469, -0.06171522, 0.03694901, 0.13067593, 0.014719711, 0.120604895, -0.16505042, -0.13472416, 0.21027507, -0.022027668, 0.07578348, 0.14807276, -0.08320662, 0.0676947, 0.015872132) * go_2(0.0, -1.0); + result += mat4(-0.013147318, -0.13990307, 0.1424338, 0.115681306, -0.096111625, -0.044169232, 0.11619919, -0.12927286, 0.2216329, -0.3785249, 0.11881006, 0.05548364, 0.042547792, 0.01991183, 0.18072614, -0.12253586) * go_2(0.0, 0.0); + result += mat4(0.00507553, 0.06520682, -0.046696853, 0.09873781, -0.007926131, -0.046024855, 0.007177778, 0.067222506, 0.061948813, -0.049535032, -0.12687485, -0.07812312, 0.10864703, -0.005380493, -0.015591806, -0.12866366) * go_2(0.0, 1.0); + result += mat4(0.019687995, -0.08136337, -0.023699999, -0.0323895, 0.12587894, 0.08024744, 0.08909513, -0.0005001073, -0.11161824, -0.016753444, 0.044748716, -0.11397051, 0.06295226, -0.0628124, 0.009678967, -0.1027119) * go_2(1.0, -1.0); + result += mat4(-0.032145683, -0.008628118, -0.06487987, -0.010637064, -0.09447084, -0.20124236, -0.122117415, -0.12410895, 0.10209157, 0.068115994, 0.19661677, 0.043781675, 0.11948784, 0.15049894, 0.021160888, -0.21148479) * go_2(1.0, 0.0); + result += mat4(-0.0033451298, 0.062234465, -0.03359657, 0.077990666, -0.011020787, 0.050606657, -0.11445393, -0.057500027, -0.10895705, -0.05061424, -0.0075792223, 0.0826572, 0.03529453, -0.04615097, -0.049622457, -0.02728514) * go_2(1.0, 1.0); + result += mat4(-0.047170192, -0.063528895, 0.02639375, 0.06133726, 0.07981049, 0.034422956, -0.13669443, -0.027895411, -0.010747354, -0.0295917, 0.023415035, 0.104463466, -0.011863274, 0.12199949, -0.056722328, -0.0074905828) * go_3(-1.0, -1.0); + result += mat4(-0.16876027, 0.042861532, -0.042729948, 0.13059488, -0.009925716, -0.16374534, 0.1027359, -0.0023175783, -0.08118241, -0.18233776, 0.003640569, -0.04086481, -0.07530675, 0.046155393, -0.09668895, -0.040498324) * go_3(-1.0, 0.0); + result += mat4(0.0208792, -0.041296285, 0.06495765, -0.014825306, -0.09760564, 0.143414, -0.013952, 0.012976426, 0.07446454, -0.069237985, -0.002300383, 0.039793592, 0.10446527, -0.15101886, 0.041385327, 0.045380514) * go_3(-1.0, 1.0); + result += mat4(-0.12573302, 0.26293075, 0.021182856, 0.02212639, -0.00491492, -0.09508161, -0.17054123, 0.0334656, -0.14494689, -0.13223654, -0.16647294, -0.20494382, 0.035838082, -0.02903287, -0.07826274, 0.10065476) * go_3(0.0, -1.0); + result += mat4(-0.19727297, -0.2761233, 0.052405518, 0.060891774, 0.35287574, -0.112983346, -0.1780347, 0.29627487, 0.15366785, -0.0058370745, -0.12529264, 0.290549, -0.0019844156, 0.10950049, -0.11683605, -0.31868842) * go_3(0.0, 0.0); + result += mat4(-0.065610245, 0.11033488, 0.0847139, 0.08285523, 0.12131332, 0.03140868, 0.019243333, -0.023314001, 0.12372892, -0.048462555, 0.07601431, -0.21340725, 0.094367005, -0.17915425, -0.16658746, -0.113485895) * go_3(0.0, 1.0); + result += mat4(0.033004273, -0.070222795, -0.22679015, -0.11107499, -0.02167688, 0.039476246, 0.023125345, -0.06782998, 0.039133113, -0.093893945, -0.0107462, 0.013814576, -0.050011426, 0.04277595, -0.011378756, 0.0350182) * go_3(1.0, -1.0); + result += mat4(-0.086395636, 0.2250359, 0.0071665626, -0.14477696, 0.08346748, -0.104350545, 0.066446565, 0.07878673, -0.09608493, 0.034221467, 0.056161933, 0.1631777, -0.04652218, -0.16019695, -0.14100033, 0.0012826526) * go_3(1.0, 0.0); + result += mat4(0.010050049, 0.069934174, -0.019675957, -0.08841736, -0.084199436, 0.038151644, 0.08524713, -0.010469705, 0.08203982, -0.16461739, 0.0085432455, -0.018949067, -0.03917674, -0.06079645, -0.08174396, -0.06611958) * go_3(1.0, 1.0); + result += mat4(-0.11630934, 0.06403295, -0.015545311, 0.04184985, -0.010742663, 0.09900252, 0.16177145, -0.08190314, 0.026068239, -0.11228535, 0.07040219, 0.026017435, 0.027691854, 0.05901074, 0.063722596, 0.061167255) * go_4(-1.0, -1.0); + result += mat4(-0.079639085, -0.073422454, 0.022079231, 0.099202864, -0.0395308, -0.22311744, 0.2558813, 0.1212435, 0.015039178, 0.22544971, 0.18809341, 0.023819689, 0.031049373, 0.14752339, 0.021717936, -0.07462568) * go_4(-1.0, 0.0); + result += mat4(-0.04292503, -0.049489103, 0.005655617, -0.072831966, -0.13834368, 0.096430235, 0.11431599, 0.034313705, -0.081960544, -0.05398357, 0.17004605, 0.018943321, -0.057367492, 0.109905675, 0.03622088, 0.10881282) * go_4(-1.0, 1.0); + result += mat4(-0.10108816, 0.022445837, -0.16971505, 0.15245505, -0.049302544, -0.038824387, 0.1386521, -0.02240345, 0.08463246, 0.03382031, 0.029146284, -0.022780763, -0.10378809, 0.12192778, -0.10930472, -0.13424326) * go_4(0.0, -1.0); + result += mat4(0.011400255, 0.1136756, -0.12854446, -0.02158332, 0.041146938, 0.23310283, 0.20242867, 0.13700607, 0.06842123, -0.2627286, 0.15257023, 0.109742284, -0.06880218, -0.12513116, 0.36323714, -0.08309059) * go_4(0.0, 0.0); + result += mat4(-0.06563699, -0.19518705, -0.16528322, 0.0077345036, 0.07426379, 0.01273623, -0.02538561, -0.13874102, -0.17633066, -0.011773621, 0.11594737, 0.036010545, -0.100552164, 0.17657241, 0.008071872, 0.15612179) * go_4(0.0, 1.0); + result += mat4(-0.092973836, 0.082076035, -0.10813946, 0.020986248, -0.0980453, 0.088257805, 0.12294689, 0.06353175, -0.0555235, -0.07203055, 0.0012230835, 0.031788144, 0.09232316, 0.07080032, -0.13878204, 0.1324983) * go_4(1.0, -1.0); + result += mat4(-0.09405708, 0.08027049, -0.029044298, 0.004413014, -0.031831603, -0.10639057, 0.22791572, 0.29128549, -0.019287571, -0.07344137, -0.06703681, 0.06482271, -0.16929443, 0.18714571, 0.0076980256, -0.3553443) * go_4(1.0, 0.0); + result += mat4(-0.08177233, -0.03985184, -0.05898491, -0.084218055, 0.13517176, -0.064535744, 0.023212295, -0.104104936, 0.06286191, -0.0183956, -0.014526215, 0.022721317, 0.13015802, -0.012955069, 0.04760935, -0.024741875) * go_4(1.0, 1.0); + result += mat4(-0.11811978, -0.258122, -0.0524529, 0.013679023, 0.3381383, -0.15303107, 0.15624695, -0.041717052, -0.09521123, -0.02555037, -0.055241242, 0.1292656, -0.053962484, 0.061827328, 0.007066458, -0.030455371) * go_5(-1.0, -1.0); + result += mat4(0.011406645, 0.03625852, 0.17662852, 0.22849263, 0.008301044, -0.06586813, 0.06535347, -0.1422378, -0.21197955, 0.09594126, -0.019065345, 0.07993183, -0.18870543, -0.100329205, 0.106410205, 0.19904357) * go_5(-1.0, 0.0); + result += mat4(-0.010716086, 0.019676654, 0.14609855, 0.023858106, -0.09101523, 0.04618942, 0.019114424, 0.063025944, 0.017177893, -0.17157322, 0.041316323, 0.008979556, -0.012944043, 0.00247818, 0.06370907, 0.21294525) * go_5(-1.0, 1.0); + result += mat4(-0.35886058, -0.21411636, -0.102139756, -0.091692075, 0.06896005, 0.031774938, -0.11289269, 0.018020328, -0.07621171, -0.20134668, -0.03170399, -0.15741387, 0.21397352, 0.020581603, 0.058037966, -0.060088705) * go_5(0.0, -1.0); + result += mat4(0.08237236, -0.40777692, -0.30334964, 0.17960687, 0.15861799, 0.38422614, 0.07123272, -0.14411296, -0.18338335, 0.20555314, -0.24229437, 0.11125418, -0.25821567, 0.21951115, -0.0689347, 0.30991623) * go_5(0.0, 0.0); + result += mat4(-0.1809837, 0.2020823, 0.18093042, -0.28097653, 0.04832372, 0.05197796, 0.0411827, -0.038122583, -0.12748396, 0.2147528, 0.03581702, -0.06162546, 0.35705167, -0.17073934, 0.05283743, -0.1553281) * go_5(0.0, 1.0); + result += mat4(0.049231995, 0.104612015, 0.13789916, 0.11476952, -0.08613189, 0.12533712, -0.11062187, -0.06180441, 0.0076576895, -0.07606035, -0.13825357, 0.05541409, -0.11110464, 0.027096856, -0.059329435, 0.07901976) * go_5(1.0, -1.0); + result += mat4(-0.07326118, -0.05398769, 0.3154168, 0.25846845, 0.20782405, 0.157769, -0.02310168, 0.017850745, -0.08339611, 0.14059362, -0.12403927, 0.023322403, -0.19284059, 0.0866216, -0.06948787, 0.019149296) * go_5(1.0, 0.0); + result += mat4(-0.035457414, -0.22270168, 0.16388698, -0.103444144, -0.18057363, 0.2918497, 0.10467282, -0.0905526, 0.13966475, -0.098633334, -0.01834713, -0.035242856, -0.05306878, 0.02205429, 0.07744791, 0.10596783) * go_5(1.0, 1.0); + result += vec4(0.059486926, -0.04431698, 0.13264082, 0.054302923); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf1 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.19755663, 0.0316557, -0.026239445, -0.02093631, 0.34920403, 0.089713775, 0.15791516, -0.07875456, -0.10947356, 0.0650924, -0.018307874, 0.10422799, -0.06709603, -0.11965746, 0.02718723, 0.011129028) * go_0(-1.0, -1.0); + result += mat4(-0.11617485, -0.031335115, 0.19744423, 0.10993791, 0.019927517, 0.3689939, -0.09384358, 0.15150148, -0.08009817, 0.0921147, -0.010306458, 0.10003431, -0.041360963, 0.29798675, -0.1715826, 0.19668113) * go_0(-1.0, 0.0); + result += mat4(-0.053691022, 0.18052101, -0.046081945, 0.19882767, 0.22020999, 0.34823263, 0.106327124, -0.022915896, 0.01570857, -0.007507703, -0.012257527, 0.036691625, 0.086023636, 0.050882597, -0.05192003, -0.05078049) * go_0(-1.0, 1.0); + result += mat4(-0.07258528, -0.19264953, 0.0077820197, 0.15891895, -0.02311384, -0.008074125, 0.3110597, 0.049998533, 0.02290246, 0.03217235, 0.15498875, -0.03103216, 0.24216467, 0.13539337, -0.051235467, -0.06826195) * go_0(0.0, -1.0); + result += mat4(-0.110576056, -0.3145707, -0.13334544, -0.005337209, -0.038422424, 0.13821185, -0.15107699, 0.14623423, -0.08636853, 0.107583255, 0.17422204, 0.18080167, 0.050008878, -0.12324271, 0.2247043, -0.27508256) * go_0(0.0, 0.0); + result += mat4(-0.05137364, 0.16223, -0.03729107, 0.31266937, -0.17589277, 0.21317652, -0.33287808, 0.21178558, -0.045284536, 0.07560065, 0.05269868, 0.14920329, 0.16866954, -0.1268599, 0.20590475, -0.011014125) * go_0(0.0, 1.0); + result += mat4(0.034846842, 0.2524156, 0.03403225, -0.11323429, -0.14184852, 0.017702477, -0.02463918, 0.10044771, 0.19502714, -0.0025532132, 0.053394504, 0.26317486, -0.027531786, 0.17660192, -0.0288518, 0.10305002) * go_0(1.0, -1.0); + result += mat4(0.0015593453, 0.080029555, -0.1503097, 0.18303742, -0.20101264, -0.21629538, -0.22573662, 0.083415814, -0.17538182, -0.14721964, 0.14281827, 0.059842914, 0.011950429, 0.24764334, -0.1454325, -0.30143398) * go_0(1.0, 0.0); + result += mat4(-0.035138246, -0.21716589, -0.16935606, -0.10491116, -0.2616234, -0.65694314, -0.055407632, -0.37251663, -0.15059815, -0.070271164, 0.041637342, 0.012102054, -0.1284768, -0.045593116, 0.053494472, -0.046751507) * go_0(1.0, 1.0); + result += mat4(-0.12646478, -0.119142495, 0.0041090506, 0.16849291, 0.00027152186, 0.0060362555, -0.055415455, -0.010880626, -0.017593162, -0.012767872, 0.017386466, -0.07673884, -0.12813187, -0.06382475, -0.017622227, -0.030992843) * go_1(-1.0, -1.0); + result += mat4(0.2330042, 0.23233213, -0.064918295, -0.028516663, 0.0043700417, -0.009412538, 0.020097204, 0.078027494, 0.22039704, 0.09681993, -0.1377131, 0.04463947, 0.053339735, -0.015651379, 0.013501266, 0.108578116) * go_1(-1.0, 0.0); + result += mat4(0.23399013, 0.055069428, 0.0113888625, 0.0061372546, -0.07836111, -0.034460228, 0.0017155824, -0.088409096, 0.03733338, -0.17709526, -0.09718914, -0.25720972, 0.0175349, 0.15622771, -0.1188024, 0.018442187) * go_1(-1.0, 1.0); + result += mat4(0.06318714, 0.061475955, 0.060729396, -0.2142427, -0.10224866, 0.034940694, 0.19492944, 0.018143132, 0.07064079, -0.22845416, 0.010652238, -0.0011233883, 0.029130183, 0.17482844, -0.009811812, 0.019755777) * go_1(0.0, -1.0); + result += mat4(-0.21866481, 0.21452273, -0.5259575, -0.039219536, 0.15874244, -0.057900973, 0.10559354, 0.23824032, 0.108966984, -0.098509155, 0.007014109, -0.19821534, -0.05215934, 0.10909223, 0.100663096, -0.06883611) * go_1(0.0, 0.0); + result += mat4(-0.12868437, 0.006826078, -0.21385023, 0.069496915, -0.06559356, 0.090547845, -0.07395987, -0.06983689, 0.06552238, -0.12867814, -0.08192026, -0.33435416, -0.051290937, -0.02937074, 0.090245195, -0.026612237) * go_1(0.0, 1.0); + result += mat4(0.23456517, 0.27903032, -0.039212193, -0.012552891, -0.19781788, -0.035103757, -0.009250316, 0.10727226, 0.19742231, -0.079642996, -0.2613758, -0.15201536, 0.102801695, -0.0107969325, 0.16421579, 0.12108303) * go_1(1.0, -1.0); + result += mat4(-0.081254065, -0.088084355, -0.091935016, 0.24067412, -0.020433908, -0.01316852, -0.06662833, -0.2533817, 0.14042647, -0.02623474, 0.05427906, 0.041403648, -0.13581693, -0.08902222, -0.15670143, 0.013441458) * go_1(1.0, 0.0); + result += mat4(-0.015764505, -0.113010205, -0.15281607, -0.077271774, 0.0904112, 0.09933737, 0.067184925, 0.2099568, -0.101301536, 0.06434189, -0.0758522, -0.12554163, 0.06781772, 0.007166253, -0.085833766, 0.06006488) * go_1(1.0, 1.0); + result += mat4(-0.0008048365, 0.0912284, -0.0055085155, 0.023269827, -0.022154478, 0.08539601, 0.035023473, -0.0037330675, 0.11452262, 0.047892746, 0.008300871, -0.01195116, 0.047538597, -0.10830887, 0.05510819, -0.08836116) * go_2(-1.0, -1.0); + result += mat4(-0.038602248, 0.023333155, 0.017770592, -0.1674776, 0.06629619, 0.083431914, 0.026809458, 0.08592056, 0.14014852, -0.14666164, 0.019641537, -0.0573306, -0.020499265, 0.007868977, -0.04190651, 0.020347582) * go_2(-1.0, 0.0); + result += mat4(-0.1610257, 0.21653429, 0.10658098, 0.15106596, 0.029077698, 0.16445225, 0.15524676, 0.09390834, 0.096011646, -0.032807898, -0.09418951, -0.0093525015, 0.06159448, -0.009395444, -0.10014662, -0.030301452) * go_2(-1.0, 1.0); + result += mat4(-0.022683617, -0.23651919, -0.031805664, 0.023116864, -0.07386424, 0.20458803, 0.08983447, -0.08244156, 0.08310062, 0.14591648, 0.17395934, 0.0062589166, 0.22174175, 0.14258352, -0.028493408, -0.115363955) * go_2(0.0, -1.0); + result += mat4(-0.08310355, -0.17647965, -0.19287375, 0.10848365, 0.120546475, -0.1464013, -0.038455628, 0.10530652, 0.49538115, 0.023421936, 0.3173384, 0.058539134, -0.27795956, 0.08117526, 0.033342082, -0.12135774) * go_2(0.0, 0.0); + result += mat4(-0.08346938, -0.034818605, 0.06265251, 0.09470142, -0.014027538, 0.013816392, -0.047068585, -0.007864913, -0.073640525, -0.1490151, -0.09421087, -0.07231172, 0.21453248, -0.053285554, 0.09661593, -0.07566676) * go_2(0.0, 1.0); + result += mat4(-0.08119892, -0.011698777, -0.0014542739, -0.0031197777, -0.093343884, 0.07836053, 0.14061041, 0.032417424, 0.032266736, -0.039402176, 0.0857551, -0.14606103, -0.106497854, -0.021479463, -0.036599685, 0.04007321) * go_2(1.0, -1.0); + result += mat4(0.011121453, -0.020399215, 0.016996361, 0.048273075, -0.07153608, -0.044302233, -0.0035937368, 0.16915803, -0.014105862, 0.1021961, 0.15072922, 0.015028268, -0.009132996, -0.06612329, -0.034465823, -0.142786) * go_2(1.0, 0.0); + result += mat4(-0.020469163, -0.117958315, 0.0012601769, 0.007204419, 0.009460007, -0.021850191, -0.014184652, 0.06922846, -0.1432164, -0.02172806, -0.0671699, -0.039830353, 0.011462847, -0.021253375, 0.084333375, 0.026236529) * go_2(1.0, 1.0); + result += mat4(-0.32116294, 0.022814747, 0.053154226, 0.08573102, 0.24082868, -0.11634813, -0.12103037, -0.072189964, 0.07916793, 0.005124598, -0.038430523, -0.020428248, -0.074155636, 0.0026447256, -0.12052403, -0.0008143328) * go_3(-1.0, -1.0); + result += mat4(0.15720156, 0.12637223, -0.014097743, -0.1463337, -0.11050782, -0.1272711, -0.14383449, -0.18176568, 0.016586874, -0.07671649, 0.061175086, -0.011885735, 0.16967547, -0.19338857, 0.033413097, -0.15828142) * go_3(-1.0, 0.0); + result += mat4(-0.04272862, 0.08448119, 0.03642693, 0.013086318, -0.18102542, -0.13177295, -0.12725672, 0.033150475, -0.022273265, -0.1913372, 0.12102487, -0.06349284, 0.02544458, -0.17942795, 0.13517797, -0.03200014) * go_3(-1.0, 1.0); + result += mat4(0.037924215, 0.18611626, -0.17951478, 0.13935459, 0.27325365, -0.083892785, -0.022289941, 0.14084025, -0.106356315, 0.046254314, -0.17703468, 0.116976924, -0.08896167, -0.0025314027, 0.010913456, -0.070031345) * go_3(0.0, -1.0); + result += mat4(-0.28527796, 0.19547825, -0.30854046, -0.033967514, 0.060653128, -0.019419098, -0.0060284995, -0.0987247, 0.07500941, -0.023585685, -0.03395071, -0.17988594, 0.21953014, 0.4072299, -0.031897858, -0.18284276) * go_3(0.0, 0.0); + result += mat4(0.06912873, -0.05407648, 0.008376532, 0.020522904, -0.026434029, 0.09916825, 0.030747496, 0.022514053, 0.25722584, 0.115966186, 0.08143656, 0.015693888, 0.1200375, 0.11970545, 0.19118182, 0.05830196) * go_3(0.0, 1.0); + result += mat4(-0.03685362, -0.12470895, -0.0010968394, 0.021243107, 0.054362122, 0.00057743577, -0.016307356, -0.124212846, -0.1504553, 0.18175974, -0.14346407, -0.1288348, 0.004379253, -0.09421467, 0.07276572, 0.01464248) * go_3(1.0, -1.0); + result += mat4(-0.0058593387, -0.009850785, 0.08837556, -0.13175677, -0.02959981, 0.22543302, 0.08877934, 0.10847382, 0.105746165, 0.07286193, -0.1591772, -0.07605538, 0.16931008, 0.12505956, -0.02318999, 0.3341336) * go_3(1.0, 0.0); + result += mat4(0.07958676, 0.019705648, 0.17511873, -0.027326066, -0.049889054, -0.08413224, -0.0232099, -0.16867599, 0.010381808, -0.015460935, 0.04096288, -0.013190291, 0.12450602, 0.065210946, 0.015979856, 0.15937561) * go_3(1.0, 1.0); + result += mat4(-0.10023914, -0.05083627, 0.09159179, 0.104829505, 0.08269442, 0.055139758, -0.060481716, -0.040459175, 0.16207811, -0.1342935, 0.0010139308, -0.13080461, 0.04637847, -0.111120075, -0.017309861, 0.021282183) * go_4(-1.0, -1.0); + result += mat4(-0.0018206073, -0.13991879, 0.08375063, -0.003037848, -0.17680502, -0.20550339, 0.16136415, -0.06376335, -0.0617298, 0.15906328, -0.057181396, -0.028893461, 0.04224926, -0.0398277, -0.19131757, -0.16473022) * go_4(-1.0, 0.0); + result += mat4(0.093972325, 0.0698625, 0.07116559, 0.014768529, -0.097781256, 0.15581349, 0.03573931, 0.22741152, -0.091118366, 0.028577322, -0.026862804, 0.0152023, -0.23760842, 0.14840253, -0.14937884, 0.042642627) * go_4(-1.0, 1.0); + result += mat4(-0.2281663, 0.22290257, 0.017739927, 0.12094125, 0.03124976, -0.00534154, -0.24323007, -0.088304035, 0.2465856, 0.16869143, -0.06888532, -0.09435835, 0.049901593, 0.12926158, 0.022874845, -0.02944982) * go_4(0.0, -1.0); + result += mat4(-0.066828735, -0.04649895, 0.28869498, -0.09773703, -0.056571167, 0.48939937, -0.56230384, -0.034113284, -0.13833, 0.039226096, -0.12087815, 0.032742836, 0.040849674, -0.017160047, -0.11052594, 0.246754) * go_4(0.0, 0.0); + result += mat4(0.04952853, -0.090852216, 0.034561165, 0.038246352, -0.19297872, 0.054810636, 0.019495303, 0.2522964, -0.19981322, -0.07192788, -0.12085502, -0.028823836, -0.19763254, -0.20398128, -0.14728573, -0.11571746) * go_4(0.0, 1.0); + result += mat4(-0.22692326, -0.050723083, 0.052394703, 0.061108653, 0.086359546, 0.25432214, -0.1922104, 0.07316734, -0.12277421, -0.0070557455, 0.021929247, 0.09811275, -0.10974717, -0.1871087, 0.1836082, -0.101442546) * go_4(1.0, -1.0); + result += mat4(0.12952654, 0.126504, -0.07590766, -0.022820955, 0.40705776, 0.6374981, -0.5181212, 0.38906044, -0.10114032, -0.24955663, 0.30309865, -0.13581154, 0.048173904, -0.061500076, 0.014717425, -0.13521792) * go_4(1.0, 0.0); + result += mat4(0.06257947, -0.06779901, 0.043823577, 0.13284041, 0.020754592, 0.042710133, -0.1584648, 0.049175818, 0.022709293, -0.1911205, 0.030108612, -0.15437542, 0.05411346, 0.12631242, -0.017832479, 0.0029719612) * go_4(1.0, 1.0); + result += mat4(-0.30879283, -0.13608143, 0.051477402, -0.0146274315, -0.17261262, 0.014548273, 0.013784603, -0.082064405, -0.054273766, 0.050572615, -0.08670705, 0.048421264, 0.0028941107, -0.049762383, -0.08087372, 0.03134621) * go_5(-1.0, -1.0); + result += mat4(-0.12345668, -0.0679132, -0.06099901, -0.09764733, -0.1938452, 0.007824728, 0.21290497, 0.07214579, -0.11728738, -0.01631362, 0.18290576, 0.11172875, 0.0070077768, -0.31685776, 0.20877774, -0.068262406) * go_5(-1.0, 0.0); + result += mat4(0.023581397, 0.21787596, 0.24790402, 0.1827894, -0.12552118, -0.15526615, -0.049397513, -0.09088568, 0.02361005, -0.1624447, 0.10663829, -0.08762141, -0.089876376, -0.23469001, -0.22833428, -0.08547564) * go_5(-1.0, 1.0); + result += mat4(-0.20836076, -0.38739493, -0.08088587, 0.056517366, -0.19016425, 0.18150248, -0.20127869, -0.0034698115, -0.12240914, -0.16373073, -0.23683731, 0.08775501, -0.115361534, 0.058962952, 0.03591275, -0.12650393) * go_5(0.0, -1.0); + result += mat4(-0.12940276, -0.20929182, 0.1972825, -0.09083828, -0.062463745, 0.18738677, -0.12602556, -0.102121696, -0.71687216, 0.005637694, -0.51085055, -0.182672, 0.21876547, 0.032868937, 0.12119801, -0.034960978) * go_5(0.0, 0.0); + result += mat4(-0.2834514, 0.5645042, -0.40262035, -0.050943233, -0.06192488, 0.27314487, 0.2216658, 0.241159, 0.19821955, 0.07347663, 0.12771457, 0.09401408, 0.0923556, 0.037260618, 0.14539954, 0.20723365) * go_5(0.0, 1.0); + result += mat4(0.17254238, 0.17086907, 0.1689637, -0.12215918, 0.019369515, -0.101492874, -0.0068981387, -0.052212972, -0.09072614, 0.06295019, -0.03507004, 0.020812936, 0.049310055, 0.041793864, -0.1676009, -0.020666601) * go_5(1.0, -1.0); + result += mat4(0.12045707, 0.34878096, -0.42983723, 0.00031615017, -0.1935727, 0.04406262, 0.14843978, -0.09603145, 0.27862465, 0.1575749, -0.19306137, 0.2065606, -0.09507491, -0.008450778, -0.18955202, 0.099690795) * go_5(1.0, 0.0); + result += mat4(0.039927684, 0.074257486, 0.034648035, -0.05261268, -0.09017409, 0.20786566, 0.06129257, 0.1432679, 0.13264295, -0.08895135, 0.09662802, -0.06903006, 0.12193372, 0.059526477, 0.059548043, -0.03190614) * go_5(1.0, 1.0); + result += vec4(0.045264397, 0.05760936, 0.027744984, -0.03773891); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf2 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.07583615, -0.048960842, 0.013508587, 0.2201662, 0.0375764, 0.27756596, -0.33754793, -0.38809955, -0.21281771, 0.15472671, 0.02073204, -0.050901294, 0.090472914, -0.047557913, -0.017766517, -0.20457055) * go_0(-1.0, -1.0); + result += mat4(0.17282517, -0.18378912, 0.13851488, 0.021213405, -0.36854526, 0.37494987, -0.22338714, -0.17190737, -0.13889556, 0.16321859, 0.009137597, -0.16061524, 0.10725205, 0.047671694, 0.00692477, -0.20811509) * go_0(-1.0, 0.0); + result += mat4(-0.15370452, 0.03701021, -0.055506952, -0.07852536, 0.09814061, 0.15283902, -0.048923336, 0.10439438, 0.05341204, -0.04028067, -0.050656542, 0.08114064, 0.1721227, -0.064678125, -0.07158856, 0.04002012) * go_0(-1.0, 1.0); + result += mat4(-0.02824745, 0.29039058, 0.25719696, 0.33553144, 0.07964746, -0.08963374, -0.26119536, -0.1704102, 0.114965275, 0.0677081, 0.027690304, 0.0298201, 0.10237492, -0.18169363, -0.12240578, -0.067747764) * go_0(0.0, -1.0); + result += mat4(-0.05635207, -0.013902026, 0.15410937, -0.07788553, 0.09099828, -0.018942324, 0.03290936, -0.0029388326, 0.018940244, 0.011952412, 0.011450913, -0.07999776, -0.21413402, 0.39397267, -0.09774473, -0.2009581) * go_0(0.0, 0.0); + result += mat4(0.10084101, -0.086656086, 0.13495307, -0.028954845, 0.05104348, -0.046465315, -0.037925158, 0.10368827, -0.14589089, 0.12413491, -0.007988239, -0.02158783, 0.10073373, -0.0029589783, -0.3387392, 0.19062865) * go_0(0.0, 1.0); + result += mat4(0.076070085, 0.12063033, -0.07693161, 0.13905032, -0.07355619, -0.23172334, 0.05373458, -0.06742532, 0.01403963, -0.021842232, 0.101363756, -0.0811199, 0.088289686, -0.10678228, -0.08785652, -0.08524422) * go_0(1.0, -1.0); + result += mat4(-0.063252464, 0.122554146, -0.08701854, -0.013642947, 0.25842702, -0.113629796, 0.18287642, 0.2543394, -0.008996402, 0.14150178, -0.018443773, -0.037387278, 0.01677981, 0.09373098, -0.03942739, 0.020894075) * go_0(1.0, 0.0); + result += mat4(0.06455971, -0.060106214, -0.07037024, -0.051795334, 0.033154495, -0.25538102, 0.20138124, -0.15417135, -0.11027817, 0.027104143, 0.075549774, 0.021436706, 0.04445013, 0.12956707, -0.13284694, 0.03516967) * go_0(1.0, 1.0); + result += mat4(0.009175639, 0.25271195, -0.0853253, -0.036355734, 0.10765164, 0.0524366, -0.038031954, -0.012370962, 0.038269047, -0.0074043465, -0.055629972, -0.028956192, -0.10555365, 0.053293, 0.04761788, 0.19511466) * go_1(-1.0, -1.0); + result += mat4(-0.026226144, 0.45355338, -0.2787842, 0.40786192, 0.0040905946, -0.01837184, -0.009942586, 0.2053553, -0.0030270698, 0.069373004, 0.07934941, -0.03093551, 0.16749686, 0.050042853, -0.11040056, -0.073083684) * go_1(-1.0, 0.0); + result += mat4(0.05996956, -0.016178278, 0.039540496, -0.027844483, -0.06289786, -0.046466228, 0.19139567, -0.073992915, 0.06776269, -0.019077418, 0.14830731, 0.095275655, -0.14347468, 0.1072097, 0.005600533, 0.04901071) * go_1(-1.0, 1.0); + result += mat4(-0.16952017, -0.032340128, 0.19480783, 0.2601324, 0.29126725, -0.0715444, -0.009702548, 0.0042752293, 0.024718119, -0.08628732, -0.064047016, -0.116904415, -0.06644218, 0.09953292, -0.033268385, 0.17125584) * go_1(0.0, -1.0); + result += mat4(0.3325542, -0.03779118, 0.33856392, 0.3304049, 0.104141004, -0.053430308, 0.31669936, 0.0130112395, 0.09034627, -0.02017166, -0.025744867, 0.026532227, 0.0200407, -0.08722534, -0.30203685, -0.14907038) * go_1(0.0, 0.0); + result += mat4(-0.01891194, 0.093512826, 0.026973069, -0.24845296, -0.072510146, 0.025618952, 0.19024812, -0.07557172, -0.027113652, -0.03626637, 0.2683275, -0.10471766, -0.008031393, 0.13384898, 0.00395866, 0.020902868) * go_1(0.0, 1.0); + result += mat4(-0.041550912, 0.08089579, 0.026400283, 0.017546514, 0.10747152, 0.07966492, 0.02695042, 0.014157312, -0.13807489, -0.12708282, -0.10057461, 0.014437817, 0.26250824, -0.16103023, -0.13342577, 0.05060978) * go_1(1.0, -1.0); + result += mat4(0.06584065, -0.035929736, 0.0042849337, -0.10942049, -0.16394515, 0.08045988, 0.13154416, -0.0028894013, 0.0023928252, 0.04469802, -0.10695226, 0.05558777, -0.25354344, 0.14010456, 0.05542217, -0.114946045) * go_1(1.0, 0.0); + result += mat4(0.050993685, 0.13932824, 0.0033797733, -0.035310924, 0.022385782, 0.017365059, -0.17256701, -0.07757648, -0.0912558, 0.01864556, 0.13062927, -0.07577928, -0.07418382, 0.19597183, 0.03150399, 0.023021322) * go_1(1.0, 1.0); + result += mat4(0.052010637, 0.050168213, -0.07215345, 0.05805453, -0.0041914587, 0.022057746, 0.12245675, -0.014609538, 0.05546434, 0.03802747, -0.10866313, 0.00012593597, 0.025002997, 0.03302225, -0.10627746, -0.022926291) * go_2(-1.0, -1.0); + result += mat4(-0.17316228, 0.0423441, 0.038386445, 0.15334567, -0.11682614, 0.04387397, -0.034430787, 0.05456901, -0.10287161, 0.09251676, -0.15516847, 0.01151086, 0.062166303, -0.06404339, -0.1341287, -0.11250874) * go_2(-1.0, 0.0); + result += mat4(0.0041548237, -0.05339408, 0.12976702, -0.091956094, -0.07106556, 0.1537892, -0.14351088, 0.049248494, 0.0017415709, -0.03980619, 0.022205863, 0.07874843, 0.0486586, 0.07449563, -0.07935637, 0.035376832) * go_2(-1.0, 1.0); + result += mat4(-0.032703526, 0.049651176, -0.14031135, -0.03314136, -0.05597869, 0.10001647, 0.134734, -0.050313897, 0.096650064, 0.06294751, -0.064859584, -0.1544743, 0.0041159303, -0.21177946, -0.08641454, 0.20853557) * go_2(0.0, -1.0); + result += mat4(-0.26784652, 0.045316227, 0.24048522, 0.0205891, -0.0044153836, -0.00084845145, -0.13039418, 0.008880892, -0.022925006, 0.25047663, -0.10610026, 0.26862314, 0.1495082, -0.30531225, 0.17336509, -0.095686845) * go_2(0.0, 0.0); + result += mat4(0.16892208, -0.04892237, -0.12343488, 0.076279886, -0.088687725, -0.031417985, 0.036753975, -0.02488052, -0.020715091, 0.037822228, 0.017967682, 0.09978998, 0.10307546, 0.021783398, -0.03838329, 0.16863413) * go_2(0.0, 1.0); + result += mat4(0.0030781403, 0.046299078, 0.021687783, 0.0070031965, 0.06806685, 0.08483792, -0.078655794, 0.046040457, 0.037727088, -0.07263033, -0.036312647, 0.055449635, -0.038422115, 0.0009298235, 0.024799686, 0.05429828) * go_2(1.0, -1.0); + result += mat4(-0.018482856, -0.035400447, 0.06548978, -0.116905235, 0.103153236, -0.020226527, -0.04428763, -0.0505854, 0.13939099, 0.06169983, 0.07293202, 0.1059522, 0.05596004, 0.022870086, 0.06962978, -0.024740675) * go_2(1.0, 0.0); + result += mat4(0.0098381555, -0.110539526, -0.0029312337, 0.051618274, -0.040557995, -0.11799748, -0.09392277, -0.04956917, -0.05159161, 0.030810604, 0.04230067, -0.04746804, 0.080403574, 0.012429489, -0.029210133, 0.05341304) * go_2(1.0, 1.0); + result += mat4(0.06609526, -0.18755382, -0.03701953, -0.1743458, 0.069703676, 0.0006303799, -0.15638213, 0.10318732, 0.08893642, -0.1195937, -0.055782318, -0.0185906, 0.012925918, 0.123628914, 0.04870321, 0.116520494) * go_3(-1.0, -1.0); + result += mat4(0.04936669, -0.14093854, 0.0012639028, 0.10475395, -0.096697986, 0.019948844, 0.05699649, 0.09687703, 0.016553551, -0.17477356, 0.0358826, 0.003379147, 0.0027950767, 0.061992507, -0.038799245, -0.029348955) * go_3(-1.0, 0.0); + result += mat4(-0.0073947236, -0.016064813, 0.17795284, -0.081998095, -0.07971293, -0.021884581, 0.07818178, -0.1183752, 0.041862104, -0.049028065, 0.06426883, 0.047562487, 0.03306496, 0.024669351, -0.102706164, 0.06250834) * go_3(-1.0, 1.0); + result += mat4(0.03841001, -0.121903636, 0.009876164, -0.20964918, 0.16115156, -0.03041022, 0.024465065, 0.06145637, -0.096132785, 0.073770344, 0.030677194, 0.012882628, 0.1854335, 0.051307946, -0.05652639, -0.017714364) * go_3(0.0, -1.0); + result += mat4(0.14671369, -0.21775708, 0.037446484, 0.19568916, -0.08120511, 0.009589117, -0.26862335, 0.10114162, -0.280923, 0.40576807, 0.07634094, -0.022802232, 0.26644167, -0.29799074, -0.07520144, -0.09298707) * go_3(0.0, 0.0); + result += mat4(0.12787306, -0.03597792, -0.0501856, 0.0003554054, -0.016662559, 0.01793402, 0.036731128, 0.057142165, 0.14208297, -0.07816983, -0.06547921, 0.12818106, 0.03593736, -0.15703554, -0.039033424, -0.0044069514) * go_3(0.0, 1.0); + result += mat4(0.058662556, -0.080323815, -0.02522527, -0.1580162, 0.034481227, -0.0857634, 0.040548056, 0.089334026, -0.3016336, 0.15299423, -0.04793492, 0.0012853529, 0.05151393, 0.03197434, 0.05723357, -0.06894418) * go_3(1.0, -1.0); + result += mat4(0.12040549, -0.2529116, 0.10356855, -0.04598697, 0.0062763286, 0.11428357, -0.16604745, -0.037279624, 0.018803852, 0.17792255, 0.059715357, -0.011601418, -0.17485033, 0.1352793, -0.09469166, -0.009272873) * go_3(1.0, 0.0); + result += mat4(0.07145802, -0.048490215, 0.14784634, -0.052574188, -0.023536265, -0.03715718, 0.02188599, -0.009487062, 0.095758304, -0.05260447, -0.04488383, -0.0022170001, -0.010753989, 0.1285623, -0.078049324, 0.07791392) * go_3(1.0, 1.0); + result += mat4(-0.08608365, 0.024032418, 0.03376676, -0.06672097, 0.14239122, -0.20172556, 0.059492715, 0.039168652, -0.05975819, -0.14009707, 0.06505314, 0.005366894, 0.023043798, -0.14035852, 0.06564292, -0.01975755) * go_4(-1.0, -1.0); + result += mat4(0.06098348, 0.020505348, -0.071457036, -0.088892065, 0.25814053, -0.4024066, 0.04613967, -0.009115204, 0.053136446, -0.10263362, 0.08311103, 0.010236834, 0.06737908, 0.13245155, 0.036181718, 0.21113388) * go_4(-1.0, 0.0); + result += mat4(-0.013562919, -0.008662602, -0.10824871, -0.005553834, -0.10970149, 0.013045041, -0.07641659, -0.06609716, 0.08249468, -0.21136107, -0.08410633, -0.020448437, -0.25199074, 0.0641994, 0.07502806, -0.19701128) * go_4(-1.0, 1.0); + result += mat4(0.18910834, -0.15423289, 0.023417983, 0.005038285, -0.059044287, 0.077326454, 0.042352542, 0.06904583, -0.118472, -0.025113037, 0.008691595, 0.04278817, 0.1968958, -0.23562303, 0.0124163935, -0.011455441) * go_4(0.0, -1.0); + result += mat4(0.033834323, -0.08521952, -0.164473, -0.18196565, 0.056635767, -0.22095878, -0.21966869, -0.24707489, 0.055047844, -0.0854704, 0.044351656, 0.31924927, 0.3393569, -0.09816152, -0.024666212, 0.12658896) * go_4(0.0, 0.0); + result += mat4(0.03546097, -0.084772296, -0.017927025, -0.03168567, 0.018861301, -0.19742817, -0.023542268, -0.11313523, 0.013870798, -0.057313353, -0.048428833, -0.011003569, 0.060736526, -0.16871192, 0.12989289, -0.13272311) * go_4(0.0, 1.0); + result += mat4(-0.067924276, 0.042576067, 0.08058409, -0.05704767, 0.047355015, -0.009834332, -0.021743877, -0.09313564, -0.23810904, 0.071954355, 0.026877925, -0.06419035, 0.11408852, -0.094918594, -0.015347595, 0.15758565) * go_4(1.0, -1.0); + result += mat4(0.016378017, 0.04923884, 0.042090666, -0.020616362, -0.3205589, 0.29866445, -0.09028968, 0.17835416, 0.069200985, -0.19676962, -0.038767412, 0.0066911504, 0.23217689, -0.32092544, 0.21888864, -0.031248417) * go_4(1.0, 0.0); + result += mat4(0.1240904, -0.057505004, 0.008518463, -0.0013766377, 0.13912258, 0.25812533, -0.10721238, 0.041414622, -0.014356129, -0.11711117, -0.07339878, -0.042370543, 0.030094689, -0.083110586, -0.15375537, 0.008313004) * go_4(1.0, 1.0); + result += mat4(-0.42602807, -0.14819323, 0.24997748, -0.07033313, 0.053972986, -0.2672035, 0.16919206, 0.5153194, -0.12283088, -0.007163936, 0.050310373, -0.005151009, -0.0050212573, -0.07570248, 0.12484032, 0.028931405) * go_5(-1.0, -1.0); + result += mat4(0.21234803, -0.17263128, 0.108827524, 0.36454353, 0.15589741, -0.09056867, 0.18670312, -0.0886985, 0.09418289, -0.1530667, 0.07014518, 0.05093901, -0.314724, -0.09647151, 0.10014826, -0.05449102) * go_5(-1.0, 0.0); + result += mat4(0.083997354, -0.19228217, 0.17081402, 0.07869603, -0.07707866, -0.1114649, 0.14544345, -0.04913886, 0.114071324, 0.039774146, 0.026449671, -0.0046011102, -0.26660243, 0.06624741, 0.04318286, 0.025324916) * go_5(-1.0, 1.0); + result += mat4(-0.34038183, 0.3126945, 0.25694248, -0.0694824, 0.09484312, -0.08968785, 0.07317779, 0.1351912, -0.3336016, 0.16971526, 0.09233206, 0.16124597, 0.01231051, -0.021199688, 0.1954184, 0.11741164) * go_5(0.0, -1.0); + result += mat4(0.07364691, -0.46501446, -0.3260576, 0.019369395, 0.12856261, 0.01518898, 0.18648395, -0.06153823, 0.1424968, -0.4844148, 0.06327706, -0.23134615, -0.21754341, 0.16389093, 0.1828624, -0.16564755) * go_5(0.0, 0.0); + result += mat4(0.13003388, -0.33331057, 0.5363979, -0.067382425, 0.0024128144, 0.10726199, 0.120562315, 0.027075078, 0.044253387, -0.22810216, -0.14027081, 0.05570364, -0.0012832935, 0.0066472166, -0.09584242, 0.038570657) * go_5(0.0, 1.0); + result += mat4(0.15075065, -0.14929996, 0.12013421, -0.053535018, -0.059225604, 0.04993067, 0.12190514, -0.07199992, -0.12612323, 0.08610025, 0.0055669006, -0.01092246, -0.12504235, 0.071841165, 0.04702684, 0.04890323) * go_5(1.0, -1.0); + result += mat4(-0.59378284, 0.28029972, 0.041228425, 0.088731185, 0.10143785, -0.0147893205, 0.043729015, 0.22425093, -0.27061638, 0.23045406, 0.025149027, -0.09266012, -0.10645805, -0.021057274, 0.20209946, -0.07459568) * go_5(1.0, 0.0); + result += mat4(-0.003925717, 0.19509377, -0.0011443064, -0.07948601, 0.0008185968, -0.072344884, 0.2925546, -0.14168583, -0.04355419, 0.048995577, -0.090038754, -0.020567076, -0.1507524, 0.0033320382, 0.11161536, 0.048364066) * go_5(1.0, 1.0); + result += vec4(-0.05222755, 0.09198729, -0.07302347, 0.0022074024); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!SAVE conv2d_5_tf +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.10303006, -0.024129005, -0.006376188, 0.08361518, -0.030736713, 0.059527945, -0.05874042, 0.04269124, -0.09319534, 0.09713511, -0.08360228, 0.022383748, 0.27456298, -0.10364148, 0.011523791, 0.0006774627) * go_0(-1.0, -1.0); + result += mat4(-0.05541989, -0.08698082, 0.055311147, 0.013819714, 0.10675169, -0.046272285, 0.0027710905, 0.097424075, 0.40062046, 0.012139614, 0.06539418, -0.26190186, 0.26748738, 0.010693152, -0.26337343, 0.1396046) * go_0(-1.0, 0.0); + result += mat4(-0.0038561742, 0.06331599, 0.07280889, 0.0049921786, 0.046265908, 0.1273493, -0.0657387, -0.039872307, 0.036709707, 0.040611606, 0.10370152, -0.07017421, -0.15158589, -0.0944041, 0.16055441, 0.026905995) * go_0(-1.0, 1.0); + result += mat4(0.13568372, 0.42744243, 0.03610402, 0.13057254, -0.15189639, 0.3270829, 0.07523759, -0.03377655, -0.11991776, 0.043995053, -0.04695395, 0.057843372, 0.123827286, -0.5117275, -0.27580252, -0.06490049) * go_0(0.0, -1.0); + result += mat4(0.20916292, 0.14519285, 0.29285586, -0.14002982, -0.02903087, 0.07725845, 0.42922875, 0.22422947, -0.006809662, 0.25789696, -0.23387176, 0.18227082, 0.1949605, 0.39381132, 0.13233, -0.03979206) * go_0(0.0, 0.0); + result += mat4(0.050690006, -0.016765494, -0.06890609, -0.06165983, -0.1547756, 0.030649774, -0.10065935, -0.123401724, -0.2001527, -0.14910932, -0.030470714, -0.036002573, 0.13485923, 0.09405768, -0.14694588, 0.12113117) * go_0(0.0, 1.0); + result += mat4(-0.09391889, 0.13889499, 0.0544932, -0.06221289, -0.13378021, 0.18230891, -0.04311924, 0.09056919, -0.00071865856, -0.1485109, -0.18140738, -0.22380811, -0.052037843, 0.07200541, -0.08552131, 0.039394405) * go_0(1.0, -1.0); + result += mat4(-0.1129644, -0.08789729, -0.20112263, -0.14140582, 0.13343073, 0.15928635, -0.0004416807, -0.08655255, 0.11923446, 0.14782757, -0.2526453, 0.06534483, 0.28670022, 0.08661807, -0.05939282, -0.1264073) * go_0(1.0, 0.0); + result += mat4(-0.069123454, -0.024052331, 0.08405668, 0.0024100337, -0.0091934, 0.06140827, 0.07263404, -0.09847185, -0.15793528, -0.043271005, -0.051817372, -0.060237445, -0.0066771735, 0.12329388, 0.061106086, 0.036974255) * go_0(1.0, 1.0); + result += mat4(-0.05637151, -0.10100362, 0.03314885, -0.10366338, 0.030021148, 0.03372163, -0.032138795, 0.01293222, -0.11080214, 0.010572153, -0.01362632, 0.010574912, -0.16158684, -0.08245153, 0.118470125, -0.13403644) * go_1(-1.0, -1.0); + result += mat4(0.1868926, -0.01747845, -0.18130527, 0.13928702, -0.05539085, 0.032680083, 0.074883655, 0.018892298, -0.17280246, -0.047390517, 0.27345997, -0.022709364, -0.08344301, -0.014933963, -0.09545577, -0.033305403) * go_1(-1.0, 0.0); + result += mat4(-0.30393317, -0.05171247, 0.00841183, 0.14072971, 0.08149488, 0.018601093, 0.021672362, 0.060667925, -0.0843176, -0.10364707, -0.21641973, -0.042780574, 0.08775126, -0.1777216, 0.13253935, -0.06866668) * go_1(-1.0, 1.0); + result += mat4(-0.09160829, -0.026550675, -0.2643876, 0.23035419, -0.092297986, -0.0631223, -0.094887145, -0.04810445, -0.17819802, -0.36207268, 0.21447507, -0.055772606, 0.15652925, -0.045815215, 0.026055578, -0.08619429) * go_1(0.0, -1.0); + result += mat4(0.31203738, 0.1421051, 0.047671713, 0.043899603, -0.0063436944, -0.05302037, 0.10466757, 0.055510703, 0.26608247, -0.5555844, 0.1569081, 0.06456405, 0.3684636, 0.25736332, 0.074449226, -0.44859105) * go_1(0.0, 0.0); + result += mat4(0.17698939, -0.022741819, 0.060476527, 0.25612378, 0.020842008, 0.06931272, -0.019117761, -0.087975, -0.13561797, -0.1362288, 0.29442817, 0.13402307, -0.039556194, -0.019829288, 0.17118609, 0.1278197) * go_1(0.0, 1.0); + result += mat4(-0.31739852, 0.14773282, -0.24623321, 0.108611636, 0.14553224, -0.011245446, 0.12459254, 0.010767416, -0.03386007, -0.21067396, -0.07546396, 0.04937681, -0.1519659, 0.012008841, -0.115991235, 0.10733518) * go_1(1.0, -1.0); + result += mat4(0.03970365, -0.024820864, -0.20029032, 0.29602152, 0.09690361, 0.08654618, -0.012617663, -0.12546124, 0.20103471, 0.00038131204, 0.1211002, -0.1292234, 0.11913651, -0.11322767, -0.01288022, -0.041910112) * go_1(1.0, 0.0); + result += mat4(-0.009281656, 0.1297087, -0.05293133, -0.1246988, -0.022248892, -0.034976568, 0.08893194, -0.11639006, -0.17021456, -0.069115035, 0.17411986, -0.0622714, -0.13591176, -0.052181553, -0.3032676, 0.19398004) * go_1(1.0, 1.0); + result += mat4(0.0135761835, -0.03810734, 0.046213724, 0.010946248, -0.21182157, -0.18424067, 0.0072398814, -0.06510514, 0.25013617, 0.021596389, 0.20208448, 0.06570989, 0.040997196, 0.11164517, 0.0758064, 0.055730976) * go_2(-1.0, -1.0); + result += mat4(0.27164775, -0.02738497, -0.07753674, 0.14808752, 0.035788253, -0.1008786, -0.21798207, 0.12514383, 0.12547313, -0.046524163, -0.069985755, -0.05973989, -0.12339831, 0.09729143, 0.062413983, 0.054448497) * go_2(-1.0, 0.0); + result += mat4(0.12982179, 0.121222205, -0.012715672, 0.026885295, 0.06398589, -0.050220918, 0.011918637, 0.02942106, -0.049117237, -0.091542035, -0.08816891, 0.014023178, -0.22852097, -0.06725802, -0.058409374, 0.0413034) * go_2(-1.0, 1.0); + result += mat4(-0.028438574, -0.17127529, -0.1611554, 0.020367429, -0.10448821, -0.44258052, 0.055850565, -0.1832564, -0.055781726, 0.1632947, -0.3766877, -0.14964445, -0.022300515, -0.15305346, -0.109381065, -0.115521505) * go_2(0.0, -1.0); + result += mat4(-0.26233345, 0.016659187, -0.16647589, 0.187565, 0.012088588, -0.07336387, 0.5486782, 0.3620359, 0.033402268, 0.009075903, -0.11902273, -0.37233996, -0.013799898, -0.008520962, -0.007579324, -0.018678436) * go_2(0.0, 0.0); + result += mat4(0.043346863, 0.10735683, -0.13174124, -0.121098995, -0.0044274325, -0.01888604, 0.12524483, -0.15453935, 0.10062332, -0.039168928, 0.34596562, 0.10575704, -0.04829014, -0.07308859, 0.17704462, 0.009876651) * go_2(0.0, 1.0); + result += mat4(0.16003962, -0.048122417, 0.04131919, -0.14133601, 0.11822638, -0.151548, 0.07274908, -0.253861, 0.11097183, -0.020288134, 0.06425395, -0.046268225, -0.07545768, -0.034767404, -0.111868136, 0.04605878) * go_2(1.0, -1.0); + result += mat4(-0.15711343, -0.04597314, -0.054248903, 0.10960686, -0.197342, 0.017807756, -0.17929378, 0.0669755, -0.14432156, -0.15553066, 0.1257169, -0.10205468, -0.11606485, 0.10992325, -0.026786113, 0.07244239) * go_2(1.0, 0.0); + result += mat4(0.24323255, 0.062938176, -0.10080858, 0.023388771, 0.08971783, -0.121303156, 0.030533563, 0.034501072, -0.070121005, -0.015707897, -0.008001506, 0.089416444, 0.08043049, 0.0414907, -0.051737808, 0.16745205) * go_2(1.0, 1.0); + result += mat4(0.045207355, 0.17343028, 0.038214743, 0.0124091925, 0.06772331, 0.16741976, -0.069976054, -0.09214925, 0.26161152, 0.21708632, -0.074641965, 0.10069592, -0.007335202, 0.0023308273, 0.102324076, -0.04463461) * go_3(-1.0, -1.0); + result += mat4(-0.029115323, 0.09462037, 0.12704706, -0.0028017738, -0.20877443, 0.14758751, 0.11664195, -0.14800303, -0.42558858, -0.18685985, 0.019180436, -0.14385854, 0.13955534, 0.04206586, -0.1564317, -0.14350334) * go_3(-1.0, 0.0); + result += mat4(0.18595266, -0.038219437, 0.04847514, 0.093401335, 0.01025365, -0.009859873, -0.068309866, -0.025273895, 0.38261253, 0.097571604, 0.15044056, 0.012236991, -0.050778836, 0.01948223, -0.09681198, -0.0725782) * go_3(-1.0, 1.0); + result += mat4(-0.15834534, -0.13884525, -0.41221318, -0.14256534, 0.14789878, -0.41153955, -0.10059337, -0.11296314, 0.067884445, 0.08605005, 0.05261639, -0.082988836, -0.121354714, 0.0412593, -0.22355177, -0.33940288) * go_3(0.0, -1.0); + result += mat4(-0.09894384, 0.011797632, -0.37582433, 0.13686092, -0.114456564, 0.10519318, -0.531876, 0.20149896, -0.40502954, -0.18473613, -0.027613513, -0.1229287, -0.15272947, -0.19752924, -0.009277203, -0.13704798) * go_3(0.0, 0.0); + result += mat4(-0.16676758, 0.06472998, -0.02979381, 0.028654594, 0.013178715, 0.0011208704, -0.14250684, 0.024595363, -0.0024331086, 0.15876009, -0.18146951, -0.21787827, -0.039896637, 0.022137187, 0.096943565, 0.1463433) * go_3(0.0, 1.0); + result += mat4(-0.020311443, -0.11862785, 0.024973717, -0.19604981, -0.07155344, -0.21432653, -0.032866854, -0.009850146, 0.20013084, 0.124072924, 0.09021492, 0.13809857, 0.21196319, -0.039707713, 0.18131028, 0.022565559) * go_3(1.0, -1.0); + result += mat4(0.015458234, 0.19860977, 0.25325814, 0.32606927, -0.10935829, -0.10354393, -0.069758624, 0.016730295, 0.13970691, -0.026566936, -0.055172898, -0.39109713, -0.15070316, 0.07282636, 0.059083372, 0.01492328) * go_3(1.0, 0.0); + result += mat4(0.016830033, -0.024868606, 0.05206643, -0.09652772, 0.0023192533, 0.008338291, -0.092116445, -0.05736829, 0.18136622, 0.046195503, 0.07144144, -0.0051190723, -0.0750335, -0.06531934, -0.011301411, 0.048583686) * go_3(1.0, 1.0); + result += mat4(0.04040649, -0.14777681, -0.0367592, 0.025550898, 0.0519472, 0.25573796, -0.041682925, 0.092338845, 0.025231685, 0.06609314, 0.020205751, 0.010512631, -0.12048031, -0.063682325, -0.017069822, 0.0103084585) * go_4(-1.0, -1.0); + result += mat4(0.09606588, 0.004819853, -0.010837633, 0.24923539, -0.1006792, 0.13619965, 0.15648063, -0.15472235, 0.074816, 0.061060935, 0.12031998, -0.07962363, -0.019762445, -0.08738595, 0.035822686, 0.19986363) * go_4(-1.0, 0.0); + result += mat4(0.25893176, 0.08258401, -0.08531076, -0.023176214, -0.13755056, 0.14691706, 0.17879073, -0.025577985, -0.28195706, -0.10409214, 0.06793316, -0.06837923, -0.122581184, 0.038157687, -0.265953, 0.19280349) * go_4(-1.0, 1.0); + result += mat4(-0.113429695, 0.057516146, 0.3503902, 0.2084302, 0.095209785, 0.4323637, 0.036503337, -0.37528926, 0.17068225, 0.28902432, 0.08930841, 0.11777051, -0.11170577, -0.030996192, -0.050521877, 0.18092346) * go_4(0.0, -1.0); + result += mat4(-0.36534205, 0.0657259, -0.036097083, 0.1666858, 0.16353793, -0.055323638, -0.2819786, -0.049529333, -0.06722856, 0.07748645, -0.34818858, -0.15242954, -0.11060249, -0.27319375, 0.15099055, 0.4111536) * go_4(0.0, 0.0); + result += mat4(0.19415127, 0.17859334, -0.043898348, -0.050272048, 0.16689122, 0.012172907, -0.15645516, 0.14623365, -0.0016135718, -0.0029198902, -0.07367009, 0.18115741, 0.095786035, 0.083239935, 0.12505479, -0.009228445) * go_4(0.0, 1.0); + result += mat4(0.04141629, -0.09798292, -0.02985331, 0.13288854, 0.0029625932, 0.29050517, -0.14383948, 0.33147556, -0.19490755, -0.08341335, -0.049894527, 0.110408075, -0.185923, 0.12881704, -0.04483314, 0.13530989) * go_4(1.0, -1.0); + result += mat4(-0.025660308, -0.04277649, -0.044980843, -0.057717774, 0.48945707, 0.16011417, 0.35871124, -0.39541483, -0.0025785516, -0.055724356, 0.119274266, 0.009319305, -0.055367954, 0.07492857, -0.078998685, -0.10131247) * go_4(1.0, 0.0); + result += mat4(-0.16801779, -0.04895317, -0.21586019, 0.04615353, 0.09740849, 0.030762976, 0.17467776, 0.0120422365, 0.19799858, 0.049733654, -0.024367984, -0.008110729, -0.14235103, 0.03514316, 0.041790742, -0.09109183) * go_4(1.0, 1.0); + result += mat4(-0.26878524, -0.19208838, 0.0124758, -0.13010885, -0.0144377565, -0.015653338, -0.11066211, -0.05679906, -0.114442214, -0.04127417, 0.036079098, -0.04462267, 0.05359463, 0.021078862, -0.017311526, -0.05955371) * go_5(-1.0, -1.0); + result += mat4(-0.42738852, 0.08011972, -0.120668575, -0.11827848, -0.16975085, -0.08911275, -0.076764226, -0.0891852, 0.19799769, -0.068180755, -0.109158665, 0.033777766, 0.23276065, -0.14431503, -0.011219252, -0.04819201) * go_5(-1.0, 0.0); + result += mat4(0.20798479, 0.20048247, -0.056686644, -0.12528493, -0.10292887, 0.008766131, 0.22832678, 0.009819724, 0.014666803, -0.032819923, 0.061416402, -0.052261874, 0.3986435, 0.2218756, 0.04587176, -0.056256443) * go_5(-1.0, 1.0); + result += mat4(0.006675663, -0.2561866, -0.013982697, -0.08625728, 0.12800391, -0.030867307, 0.104720816, 0.14650136, -0.100959726, 0.19566104, 0.057220545, 0.24033053, 0.08719554, 0.018098617, -0.07996598, -0.015701583) * go_5(0.0, -1.0); + result += mat4(-0.0354034, -0.06831094, 0.42055416, 0.11949096, -0.05344659, -0.1860165, -0.07301184, -0.30869538, -0.1953362, -0.13361058, -0.19827844, 0.078833625, -0.18285057, -0.116519555, 0.029914267, 0.21471292) * go_5(0.0, 0.0); + result += mat4(-0.12320904, -0.06025351, -0.12828222, -0.11336264, -0.15036534, -0.13378584, -0.18584451, 0.045040403, -0.0675013, 0.04541515, 0.028214835, 0.06800308, -0.21156439, 0.24866186, 0.21416123, -0.040026035) * go_5(0.0, 1.0); + result += mat4(0.0753877, -0.04430112, 0.15395011, -0.07991276, -0.08305846, 0.055565085, -0.031790998, 0.10893703, -0.057524715, 0.012498553, 0.010330039, 0.12658505, 0.09117975, -0.08158854, 0.26708308, -0.16074498) * go_5(1.0, -1.0); + result += mat4(-0.29645425, -0.039365437, -0.18364744, 0.16236888, 0.04460683, -0.12283852, 0.23568133, -0.08579463, 0.08793187, -0.057041798, 0.1710201, 0.07482411, -0.13072757, 0.0841477, 0.13957432, 0.1679739) * go_5(1.0, 0.0); + result += mat4(-0.29222, -0.12256286, 0.02170915, -0.21209532, 0.024504298, 0.02795105, 0.07216779, -0.032558184, 0.14820465, 0.025545621, -0.054377284, 0.071698785, 0.017161021, 0.07144609, 0.11378573, 0.3110773) * go_5(1.0, 1.0); + result += vec4(-0.08908616, -0.020727161, -0.10065884, -0.042632345); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!SAVE conv2d_5_tf1 +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.064056724, -0.07093631, 0.04779868, -0.02587647, -0.071125306, -0.074813634, -0.068414815, -0.08501005, 0.063606724, 0.034935262, -0.03552888, -0.24985667, 0.11153104, 0.0071351845, 0.19171661, -0.029433867) * go_0(-1.0, -1.0); + result += mat4(-0.09995801, -0.09326525, 0.06775157, -0.038214244, -0.10054348, -0.16220573, 0.102754906, 0.071962886, 0.23763078, 0.013961893, 0.015597981, -0.2632074, 0.22045082, 0.071685486, -0.08206874, 0.13892207) * go_0(-1.0, 0.0); + result += mat4(-0.01934266, -0.006904077, -0.10715261, 0.17485306, 0.013713242, -0.12410888, -0.007832815, -0.03868287, -0.15776807, -0.2635318, 0.003962659, -0.18496422, -0.11876284, -0.039445885, 0.06629498, 0.22338709) * go_0(-1.0, 1.0); + result += mat4(-0.034078594, -0.1805506, -0.025518876, 0.014371885, 0.030084224, -0.014354998, -0.0109806815, -0.20827125, 0.042328708, -0.018653959, 0.059650034, 0.029813247, 0.19455545, -0.113774136, 0.26678622, 0.11695122) * go_0(0.0, -1.0); + result += mat4(-0.023987826, -0.023700913, 0.08644919, -0.1750627, -0.26300937, 0.29743475, 0.1503612, -0.42041445, -0.011562484, -0.3249365, 0.01101664, -0.09328339, -0.09930711, 0.14022289, -0.32576883, 0.026680376) * go_0(0.0, 0.0); + result += mat4(0.06988121, 0.109367564, 0.03402709, -0.17185646, -0.058330853, 0.04632417, -0.010930606, -0.107686765, 0.022882087, -0.08536933, 0.10469813, -0.0737954, 0.16710569, 0.18354355, -0.06688489, -0.019448377) * go_0(0.0, 1.0); + result += mat4(0.019293351, 0.0123047, -0.15684208, 0.054855164, -0.09483187, 0.007899257, -0.07996407, 0.06905782, -0.014882362, -0.17087294, -0.17222148, -0.018799115, 0.042367876, 0.15077937, 0.08865754, -0.10869854) * go_0(1.0, -1.0); + result += mat4(-0.002714694, -0.1375695, -0.1394463, 0.035844512, 0.0085730525, -0.14237584, 0.10053908, 0.07594752, 0.26822913, -0.07813585, 0.10951651, 0.036110748, -0.008980184, -0.018826121, -0.027037399, -0.010021858) * go_0(1.0, 0.0); + result += mat4(-0.028075742, 0.069354035, -0.00936207, -0.07844518, -0.022958742, -0.014102934, 0.031117663, -0.009953486, -0.078456596, -0.0880605, 0.063174024, 0.018579911, -0.0015331954, 0.15179089, 0.003745209, -0.029687254) * go_0(1.0, 1.0); + result += mat4(0.018290054, -0.014245797, -0.17358118, -0.056127924, 0.07084526, 0.03571643, 0.02986269, -0.106873244, -0.048314985, 0.025376959, -0.09932602, 0.011822442, -0.038084786, 0.018717794, -0.18553552, 0.025297863) * go_1(-1.0, -1.0); + result += mat4(0.07225246, -0.029364137, 0.011361293, 0.093667194, -0.10645156, 0.0865526, -0.008865539, -0.011799614, -0.21514468, -0.06500061, 0.08485134, 0.23484601, 0.18280883, 0.0598522, -0.13781232, -0.03465513) * go_1(-1.0, 0.0); + result += mat4(0.060355596, 0.22477956, 0.01595966, 0.094911985, 0.047214787, 0.042830862, 0.029644348, 0.08143906, 0.02341161, -0.053311694, 0.005260219, 0.04425682, -0.04813383, -0.062679216, 0.019290956, -0.05866764) * go_1(-1.0, 1.0); + result += mat4(0.09550533, -0.0281284, 0.18278416, 0.15003324, -0.06580779, 0.041769683, -0.08509133, 0.11734207, 0.049989708, 0.08702604, -0.06486799, 0.063569345, 0.11966632, -0.026014533, 0.03127322, -0.12456593) * go_1(0.0, -1.0); + result += mat4(0.31493753, 0.21239288, 0.23353736, 0.023554513, -0.052986618, -0.0902623, -0.2293566, 0.021443173, -0.5114285, 0.19488071, 0.27000505, -0.1988818, 0.065105505, 0.04904789, -0.0014040003, -0.057719957) * go_1(0.0, 0.0); + result += mat4(-0.1556567, 0.03353479, -0.13394126, -0.017714672, 0.057949618, 0.013137359, 0.058261257, -0.07417554, -0.115135044, 0.17160247, -0.006379533, 0.1885825, -0.22129406, -0.043042038, 0.024051858, 0.17637861) * go_1(0.0, 1.0); + result += mat4(-0.035570182, 0.06328232, 0.016843708, -0.06668748, -0.0056720893, 0.08904317, 0.052788604, -0.0017134451, -0.018143848, 0.040248383, 0.015489914, -0.028669124, 0.008654496, 0.046033252, 0.1050059, 0.0273359) * go_1(1.0, -1.0); + result += mat4(0.022325872, 0.019782262, 0.13855061, -0.095333435, -0.017554015, -0.2036992, -0.17955759, 0.051069602, 0.06197425, -0.1524745, 0.06332084, 0.16367467, 0.012856071, -0.067313105, 0.26188868, 0.014297151) * go_1(1.0, 0.0); + result += mat4(0.24847886, 0.037001565, 0.02012791, -0.08560085, -0.07295144, -0.09001876, 0.09916956, -0.056165274, -0.13455103, 0.025426334, -0.040519975, 0.10362695, 0.1720182, -0.003640278, 0.0108676655, -0.006747253) * go_1(1.0, 1.0); + result += mat4(0.035146076, 0.0751456, 0.074510865, -0.009687164, -0.059647426, 0.11068295, 0.005034347, -0.0094476575, 0.15726817, 0.06547935, -0.003077329, -0.095212325, -0.033507027, 0.044296283, -0.053546224, 0.0667459) * go_2(-1.0, -1.0); + result += mat4(0.026525194, -0.10907353, 0.17279102, -0.057787284, 0.0054999366, -0.104058325, 0.04222895, 0.2964297, -0.123814896, -0.12381756, 0.08017246, -0.41211042, -0.09396297, 0.006370269, -0.051667687, 0.1595841) * go_2(-1.0, 0.0); + result += mat4(-0.057249974, -0.11224924, 0.04510644, 0.031252895, 0.13152118, -0.061255917, -0.1275758, 0.24736635, 0.15261558, -0.02695863, -0.04368786, 0.077176146, -0.07857015, 0.10112319, -0.09226026, 0.096964024) * go_2(-1.0, 1.0); + result += mat4(-0.17078993, 0.007348804, -0.005015552, 0.05306818, 0.055224724, 0.11567237, -0.20675188, -0.003248449, -0.112982295, -0.1578056, -0.46721724, 0.10590234, 0.20476797, 0.10101496, -0.04983351, -0.2430514) * go_2(0.0, -1.0); + result += mat4(0.41511732, -0.14909638, -0.20466527, 0.32993126, 0.034264483, 0.35299808, 0.047212206, 0.22853905, 0.44917694, -0.26854274, 0.28782642, 0.28775322, 0.10682206, -0.036426, -0.05926136, -0.09808791) * go_2(0.0, 0.0); + result += mat4(0.1623692, 0.04208961, -0.12735078, 0.119587936, -0.018460283, 0.01926331, -0.16922039, -0.020692306, -0.23654786, -0.09682156, 0.02356279, 0.292154, -0.12550685, -0.039114326, -0.010045899, 0.009884463) * go_2(0.0, 1.0); + result += mat4(-0.024572646, -0.04915667, -0.0891658, -0.101300426, 0.09721007, -0.027222471, -0.08186617, -0.08800145, 0.16128908, 0.017369738, -0.17755122, 0.030553974, -0.04786194, -0.033306226, -0.11137265, 0.097252734) * go_2(1.0, -1.0); + result += mat4(-0.13219555, 0.14680044, -0.020835813, -0.19928418, -0.17540939, 0.08884416, -0.16007939, -0.2782367, -0.26362786, -0.053185944, 0.21527831, -0.12771867, 0.09537403, 0.06372314, 0.07092338, 0.016300872) * go_2(1.0, 0.0); + result += mat4(0.06020855, -0.027582346, -0.060386427, -0.16418251, 0.13412488, 0.0635046, -0.16844325, -0.031885087, 0.19441758, 0.21037033, -0.21288314, 0.0033019097, 0.07076219, 0.1341822, 0.07913143, 0.025000073) * go_2(1.0, 1.0); + result += mat4(0.1165525, 0.1224346, -0.049421676, -0.09238292, -0.009945548, 0.095751256, -0.09618111, -0.031556837, 0.08579153, -0.11566272, 0.1746714, 0.2033271, 0.21790707, 0.11779413, -0.024555488, -0.06705437) * go_3(-1.0, -1.0); + result += mat4(-0.17143509, 0.076514326, 0.18922825, -0.2367472, -0.0980002, 0.28013328, -0.12218669, -0.043787587, 0.0058879694, -0.024139067, -0.26422662, -0.11571965, 0.14444259, 0.017443683, -0.08909287, -0.2847621) * go_3(-1.0, 0.0); + result += mat4(0.025492875, -0.079289034, 0.08755382, 0.032952707, 0.066548645, 0.047626834, -0.022007272, -0.053937066, -0.005625632, -0.20218278, 0.081909254, 0.10763452, 0.025432698, -0.008357586, 0.052571986, -0.13281691) * go_3(-1.0, 1.0); + result += mat4(0.19026323, -0.03131676, -0.6082668, 0.18015681, -0.08726318, -0.10005449, -0.12227455, 0.09603944, -0.10222641, -0.04765289, -0.25651884, 0.09121576, -0.13599087, 0.004900871, -0.37133986, -0.17672789) * go_3(0.0, -1.0); + result += mat4(0.45967895, -0.39018512, 0.050611064, 0.03249431, 0.30238965, -0.3105947, 0.06669453, 0.32732725, 0.066052265, 0.49977377, -0.050907653, -0.03348076, 0.029122408, 0.0600764, -0.07822951, 0.20902982) * go_3(0.0, 0.0); + result += mat4(-0.08013542, 0.10021573, -0.11628576, 0.14346479, 0.057000324, -0.108649634, 0.019887695, 0.103890195, 0.1409188, 0.20089024, -0.102009736, 0.1325033, 0.044806838, -0.05788581, 0.048131753, -0.06652887) * go_3(0.0, 1.0); + result += mat4(-0.16966644, -0.24639672, 0.019028572, -0.06812002, 0.03262217, 0.09131447, 0.013230795, -0.11368682, -0.06550434, 0.13262247, 0.08878271, -0.08202508, 0.015975898, -0.060910717, 0.06115912, 0.15341121) * go_3(1.0, -1.0); + result += mat4(0.15634352, 0.17069998, 0.14901571, 0.009626357, -0.06694675, 0.17337729, -0.19245732, -0.053627927, 0.1267725, -0.21431756, -0.07327218, -0.05756576, -0.032537382, -0.02760317, 0.13781238, 0.13548511) * go_3(1.0, 0.0); + result += mat4(-0.028399123, -0.1360119, 0.2317893, -0.025993945, 0.03924595, -0.042272273, -0.116523296, -0.09528808, 0.1524186, 0.055862464, 0.03739477, -0.09871636, -0.07834257, -0.041219592, 0.04540839, 0.1291419) * go_3(1.0, 1.0); + result += mat4(-0.19614807, -0.09363595, 0.056008626, 0.005871811, 0.16565295, -0.0842474, 0.11023916, 0.13774084, -0.042277314, -0.021777004, -0.03129473, 0.1514441, -0.039998986, 0.071076415, 0.01945138, -0.12146891) * go_4(-1.0, -1.0); + result += mat4(0.06687245, -0.1199503, 0.21189997, 0.35098252, 0.033946924, 0.3198622, -0.22240919, -0.1667172, -0.036933, 0.229118, -0.11569919, -0.16484495, -0.11610055, 0.015235093, 0.3831026, 0.1465072) * go_4(-1.0, 0.0); + result += mat4(0.03791039, 0.018180382, -0.042332668, 0.013624834, -0.18835816, -0.0509036, -0.021141365, -0.004950831, -0.08342777, 0.1390103, 0.015515743, -0.19880094, 0.11614853, 0.06523873, 0.13055101, 0.1372081) * go_4(-1.0, 1.0); + result += mat4(-0.0018500675, 0.18703233, 0.30595052, -0.016893126, -0.22149622, 0.15263912, -0.66434824, -0.02816733, -0.046903886, -0.111711785, 0.24890791, 0.045937214, -0.17543675, 0.0062527983, 0.19804789, 0.017593222) * go_4(0.0, -1.0); + result += mat4(-0.04760463, 0.05421001, -0.28332436, -0.025446368, 0.21688665, 0.5815682, 0.46906602, -0.05001719, 0.23411441, -0.07280948, -0.13070935, -0.015438214, -0.13005666, 0.1889405, -0.2580563, -0.15314907) * go_4(0.0, 0.0); + result += mat4(0.12959057, -0.0948774, 0.06675651, -0.17425562, 0.10021383, 0.33856025, -0.31008336, -0.025042048, -0.052502744, 0.029178401, -0.0048839073, 0.038400315, -0.018125525, -0.0767934, 0.094993874, -0.18367463) * go_4(0.0, 1.0); + result += mat4(-0.022678657, -0.0065315845, 0.06314526, -0.054645326, 0.13771887, 0.046705935, -0.04636017, 0.14018759, -0.04231133, -0.021541214, 0.017565796, 0.003035773, 0.08540473, 0.08129922, 0.11075298, 0.013874024) * go_4(1.0, -1.0); + result += mat4(0.08197226, -0.0058128256, -0.18930762, -0.036673985, 0.02281235, -0.08467056, -0.2223147, 0.2896992, 0.05395775, 0.11151909, -0.06499754, 0.1251099, -0.03142789, -0.030318923, -0.007785477, -0.04529621) * go_4(1.0, 0.0); + result += mat4(0.080762245, -0.018930724, -0.20362908, 0.056379218, -0.11373313, -0.12011991, 0.16567366, 0.08657685, 0.044468362, -0.08876271, -0.029667072, 0.035950437, -0.14428492, 0.029389331, 0.05124434, 0.0045285597) * go_4(1.0, 1.0); + result += mat4(-0.02969669, -0.008931901, -0.100618705, -0.052917536, 0.020904265, -0.13654597, -0.06518564, 0.10012143, -0.02225236, -0.0429339, -0.048810348, -0.05469844, 0.08333708, 0.030906782, -0.018940724, -0.026514838) * go_5(-1.0, -1.0); + result += mat4(-0.08655406, 0.114238694, -0.16437472, -0.08736896, 0.127443, 0.06291038, -0.2604087, 0.12457613, 0.24516857, -0.13755949, -0.0030577497, 0.10744015, 0.04641038, 0.05981727, 0.31352815, -0.18235594) * go_5(-1.0, 0.0); + result += mat4(0.008475862, 0.017425679, -0.08991029, -0.12069009, -0.08269583, 0.10742468, -0.014932612, -0.02626661, -0.016236676, -0.005973882, -0.027453009, -0.11351438, 0.047109496, -0.145119, 0.07747088, -0.07215372) * go_5(-1.0, 1.0); + result += mat4(-0.034174602, -0.060812023, -0.0006432491, -0.20983042, 0.046102066, 0.008952892, 0.15442203, -0.10698656, 0.17119479, -0.004389315, 0.3144101, -0.110222265, -0.14246719, 0.045711346, -0.13565831, 0.26117173) * go_5(0.0, -1.0); + result += mat4(-0.6470008, 0.04084706, -0.051462423, -0.06546568, -0.014792661, -0.15924191, -0.18878494, -0.23083107, -0.24585818, 0.2259637, -0.10123358, -0.19765808, -0.20856747, -0.228083, 0.37406453, 0.08601305) * go_5(0.0, 0.0); + result += mat4(-0.064584635, -0.21230863, 0.14970647, -0.11542264, 0.036966026, 0.029235318, 0.10329525, 0.044501476, -0.0177942, -0.109035276, 0.043533962, 0.028927831, 0.1558056, 0.10556724, 0.10270152, -0.14039369) * go_5(0.0, 1.0); + result += mat4(-0.066995785, 0.06306309, -0.13572344, 0.11198968, -0.0037865653, 0.015525267, 0.03302228, 0.11591493, -0.0528039, -0.059212606, 0.082170166, 0.0794709, -0.03251824, -0.026491115, 0.0763021, -0.13832395) * go_5(1.0, -1.0); + result += mat4(0.006861719, -0.07674664, 0.19552138, 0.041278, -0.04972735, 0.028953623, -0.05129196, 0.102604896, 0.09264856, 0.08714556, 0.14463316, 0.016883003, 0.26475173, -0.089217745, -0.10327653, 0.23053643) * go_5(1.0, 0.0); + result += mat4(-0.13946633, -0.07468852, 0.00806054, 0.075793736, 0.0094534205, 0.053835806, 0.053700656, -0.09649038, 0.011497834, -0.004986816, -0.019868635, 0.065568306, -0.026551232, -0.35115397, 0.015588715, 0.0713471) * go_5(1.0, 1.0); + result += vec4(0.046015948, 0.05442024, -0.016241902, 0.020935621); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!SAVE conv2d_5_tf2 +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_4_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.06520908, 0.11980297, 0.017079262, -0.0644185, 0.058950376, 0.31555367, -0.026817605, -0.07509471, -0.12542972, 0.17405558, 0.03727982, -0.116224065, -0.062435534, -0.19364153, -0.026986435, -0.03134909) * go_0(-1.0, -1.0); + result += mat4(0.038656387, 0.13447802, -0.16709015, -0.14351036, 0.103892356, 0.016569376, -0.07983408, -0.16095364, -0.11789444, -0.03072205, 0.123185664, -0.10082752, 0.21694018, -0.1617907, -0.011660872, 0.13927431) * go_0(-1.0, 0.0); + result += mat4(0.008439822, 0.122972764, -0.016326487, -0.078567974, 0.059017945, 0.06353737, 0.082813956, -0.0949065, -0.08315884, 0.021347238, -0.08931161, -0.16035163, 0.037683185, 0.06533404, -0.028883474, -0.09627357) * go_0(-1.0, 1.0); + result += mat4(0.08366899, 0.21790943, -0.22688796, -0.12604184, -0.043983214, 0.1403515, -0.36661214, -0.06573482, -0.0013522038, -0.06833309, -0.01641999, 0.069110356, 0.37018904, 0.10410086, 0.061855968, -0.1666379) * go_0(0.0, -1.0); + result += mat4(-0.2989202, -0.117328055, -0.050487056, -0.061127234, 0.1033415, 0.16767837, 0.18385236, 0.02724901, 0.35696694, -0.25828066, -0.074384004, -0.042253643, -0.41383776, -0.050653316, 0.14413886, 0.32937947) * go_0(0.0, 0.0); + result += mat4(-0.15808704, -0.106030256, 0.28908083, 0.008596225, -0.110294454, -0.08877176, 0.08842803, -0.039414957, 0.20766397, -0.17327146, -0.19335231, -0.061150387, -0.000814753, 0.1034041, -0.009765378, -0.07323427) * go_0(0.0, 1.0); + result += mat4(-0.01879742, -0.044466518, -0.09159235, -0.1501768, -0.0056229457, 0.18997125, 0.08428035, -0.13449019, 0.18263818, -0.10028305, -0.09866498, 0.117869616, -0.012634524, -0.029524704, -0.07730064, 0.00546821) * go_0(1.0, -1.0); + result += mat4(0.15762568, 0.105768956, 0.13892855, 0.00044988963, 0.12257598, -0.01147673, 0.006341714, -0.26212972, 0.40007222, 0.08705139, -0.2118067, 0.026638128, 0.03797633, -0.11589773, 0.0049106814, 0.12900658) * go_0(1.0, 0.0); + result += mat4(-0.121532075, -0.10590698, -0.03897105, -0.0071686152, 0.0033759288, -0.1396647, -0.028675696, -0.015227962, 0.18511333, -0.102051884, -0.016090686, 0.059021857, -0.11331271, -0.11874948, 0.018710922, 0.017408015) * go_0(1.0, 1.0); + result += mat4(-0.12550953, 0.16510391, 0.10619754, -0.016266964, -0.019227408, -0.18954511, -0.109888494, 0.016605422, -0.0005352285, 0.044191238, -0.088420294, 0.009006945, -0.022495952, 0.048431057, -0.020784441, 0.010173064) * go_1(-1.0, -1.0); + result += mat4(0.16963533, 0.18744309, 0.21297795, 0.08332983, -0.023056686, -0.07087108, -0.036333352, -0.015268741, -0.07492767, -0.045910314, 0.21631542, -0.16564575, 0.02388003, 0.13383305, -0.039016947, 0.0631532) * go_1(-1.0, 0.0); + result += mat4(0.02557174, 0.08842321, 0.16087292, -0.023776071, 0.031170124, 0.066140614, 0.05342162, -0.013030745, 0.124961995, -0.22359067, -0.036988057, 0.13611913, -0.1263602, -0.16664241, 0.01858248, 0.0013771311) * go_1(-1.0, 1.0); + result += mat4(0.015695665, 0.015101046, 0.17278792, -0.03986969, 0.14098491, -0.024497505, 0.21574442, 0.04450794, -0.10986037, 0.16416681, -0.09933916, 0.14197138, 0.0015567777, -0.0047904793, -0.21008217, 0.14554296) * go_1(0.0, -1.0); + result += mat4(-0.31723288, -0.11801757, 0.54204303, 0.21924974, -0.063086554, 0.031983662, -0.044489764, -0.044983335, -0.19877149, -0.34737584, 0.14496867, 0.24102491, -0.12645286, -0.12267188, 0.108755745, -0.042033415) * go_1(0.0, 0.0); + result += mat4(-0.12381552, 0.21796867, 0.047182925, 0.13479555, -0.07008901, 0.030664185, 0.10611406, -0.109855235, -0.035448074, 0.11677155, -0.21266608, 0.13169904, 0.031983715, 0.023444392, -0.17469533, 0.17422527) * go_1(0.0, 1.0); + result += mat4(0.022972934, -0.00795407, 0.05136999, 0.035493083, -0.17333633, -0.027870687, 0.02908348, 0.053750556, -0.014127204, 0.03970615, 0.04342455, 0.124589466, 0.16470553, 0.06732464, 0.043155663, -0.03983377) * go_1(1.0, -1.0); + result += mat4(-0.032124814, 0.032697737, 0.14967397, 0.0065929573, 0.1047251, 0.039273106, 0.08134817, -0.003973153, 0.040370148, -0.18200004, 0.089256786, -0.09854591, -0.0060806563, -0.1029578, -0.091431744, 0.10011842) * go_1(1.0, 0.0); + result += mat4(-0.037540972, 0.02491563, 0.18000527, -0.05821429, 0.05302547, -0.104025975, -0.10679022, -0.030143606, 0.0072812764, 0.06054551, -0.1211288, 0.04456214, 0.023387795, -0.003822218, 0.0058639925, -0.022066886) * go_1(1.0, 1.0); + result += mat4(0.06184228, -0.056854323, -0.040505715, 0.06577085, 0.09438042, 0.08642222, -0.070353776, 0.053747497, -0.1001193, 0.1620346, 0.0022546488, -0.084673025, -0.063821726, -0.06516542, 0.021665785, -0.01931425) * go_2(-1.0, -1.0); + result += mat4(0.07393532, -0.030919692, -0.05093964, 0.041760188, 0.20542595, -0.14245859, -0.08730749, 0.066625066, -0.030148488, 0.04094324, -0.17595454, -0.16575092, -0.015094979, 0.08206526, 0.1878202, 0.030275505) * go_2(-1.0, 0.0); + result += mat4(0.04596692, 0.24388434, 0.075821444, -0.11463937, 0.04743361, 0.073697835, -0.12414068, -0.13001998, -0.016750317, -0.115090236, 0.029251577, -0.00256914, 0.01848034, 0.020216811, -0.050685663, 0.15878099) * go_2(-1.0, 1.0); + result += mat4(-0.07033339, -0.10033772, 0.13496423, 0.05642528, -0.035572313, -0.17283621, -0.116152726, 0.05493664, 0.09753486, -0.03360219, -0.0357413, -0.18149517, -0.121751696, -0.07030741, 0.013601298, 0.033133104) * go_2(0.0, -1.0); + result += mat4(0.09432236, -0.09759138, -0.119828485, -0.14183357, -0.5797675, -0.07471831, 0.04211549, 0.26251101, 0.5751412, 0.5531362, -0.20901033, -0.44464877, -0.1050692, 0.35440886, -0.06443669, -0.27186042) * go_2(0.0, 0.0); + result += mat4(-0.069436476, 0.10357919, 0.09300722, -0.0992018, -0.15164262, 0.12421031, -0.20876148, -0.18715572, 0.020070476, -0.06525974, 0.0032806133, -0.007204605, -0.047449, 0.23941353, 0.074678384, 0.059585877) * go_2(0.0, 1.0); + result += mat4(0.01769955, -0.010905215, -0.048443984, 0.07100768, 0.037357494, -0.014723261, -0.15591852, 0.10612296, -0.13143727, -0.029275576, 0.021462034, 0.011848447, 0.08220801, 0.15958358, -0.022226475, -0.06178906) * go_2(1.0, -1.0); + result += mat4(-0.043331016, -0.060601693, -0.13266426, 0.2410773, -0.09411715, -0.054481134, -0.010012133, 0.07868362, -0.03723713, -0.32002482, -0.19103771, 0.024575114, 0.12048997, -0.33372483, -0.13358098, -0.11907925) * go_2(1.0, 0.0); + result += mat4(-0.06852358, -0.025769785, 0.16419932, 0.028622756, 0.07738885, 0.19097409, 0.030017732, 0.08942453, -0.103945315, 0.27710587, 0.07438472, 0.04317445, 0.07197963, 0.23000222, -0.025056513, 0.09491253) * go_2(1.0, 1.0); + result += mat4(-0.14467122, -0.010201622, 0.0076316656, -0.07795532, -0.062397595, -0.20432428, -0.008252111, 0.0849895, 0.16180839, -0.12278075, -0.011521546, 0.03288935, -0.14986265, 0.06768003, 0.18093173, 0.036510453) * go_3(-1.0, -1.0); + result += mat4(-0.13757493, -0.022130862, -0.14063741, -0.15224035, -0.16418923, 0.02701367, 0.034051962, -0.02580273, -0.21267697, 0.1778992, -0.11384793, -0.14056513, -0.12628116, -0.119479865, -0.08586524, -0.042770755) * go_3(-1.0, 0.0); + result += mat4(0.034048863, 0.043504484, 0.14368454, 0.0682472, -0.1318885, -0.09097908, -0.022142543, 0.045874257, -0.00010490822, -0.35216293, 0.04821174, 0.1037435, 0.11491783, -0.03074008, -0.15504418, 0.002481289) * go_3(-1.0, 1.0); + result += mat4(0.15464644, 0.13155764, -0.025967255, -0.122360244, 0.0050367275, -0.030188441, 0.26694667, 0.09298438, 0.12436595, 0.1894544, 0.097955175, -0.1976165, 0.17701727, -0.39169946, 0.07254687, 0.18344238) * go_3(0.0, -1.0); + result += mat4(0.7450363, -0.021375138, 0.1908325, -0.43873882, 0.32581338, 0.06003156, -0.16481178, -0.097786136, 0.07664747, 0.083530955, -0.19303781, -0.2208752, 0.2954345, -0.020337705, 0.14045238, -0.19992891) * go_3(0.0, 0.0); + result += mat4(-0.13618276, 0.1301855, 0.07342773, -0.28985927, 0.1162901, -0.20089008, -0.036014035, 0.13122658, -0.121863954, 0.012138018, 0.17843567, 0.03828356, 0.048146408, 0.2968513, 0.069999285, -0.130018) * go_3(0.0, 1.0); + result += mat4(0.21915652, 0.05540849, 0.10738131, 0.07626957, -0.13932791, -0.26324788, -0.024981115, 0.100521, -0.3060648, -0.21207786, 0.1482194, -0.114556216, -0.09286606, 0.01816721, 0.018395979, -0.03223082) * go_3(1.0, -1.0); + result += mat4(0.007953473, 0.41586113, -0.12301476, -0.0714516, -0.18429835, 0.05822646, 0.003684946, 0.18452546, 0.07199102, -0.038058747, -0.11968186, 0.057275392, 0.018090919, 0.15575454, 0.14568369, -0.008162466) * go_3(1.0, 0.0); + result += mat4(0.0046069925, -0.14948042, -0.06077474, -0.18606511, -0.046001855, 0.072694264, 0.0853064, -0.07509439, -0.16638888, 0.008207148, -0.06407435, 0.0832239, 0.11806991, 0.08564391, -0.09793387, -0.009962631) * go_3(1.0, 1.0); + result += mat4(0.17163257, 0.17926122, 0.08094341, 0.01562118, 0.08006863, 0.16360049, 0.061501157, 0.015167974, 0.038785663, -0.024147237, 0.04187129, 0.020464495, 0.0043754554, -0.12979902, -0.116078086, 0.02519678) * go_4(-1.0, -1.0); + result += mat4(0.1390449, -0.31678367, -0.05487266, 0.028750261, -0.2432485, 0.4501461, 0.16770184, -0.21504217, -0.113885716, 0.24819264, 0.10844277, 0.16599967, 0.07485992, -0.15028708, -0.050178476, 0.058082305) * go_4(-1.0, 0.0); + result += mat4(0.025873372, 0.0873282, -0.00070206827, 0.038967356, -0.12720318, -0.036212232, 0.37016478, 0.08430346, -0.18743254, -0.075341664, -0.027113464, 0.0478065, 0.30386332, 0.03854462, -0.08687961, 0.043612193) * go_4(-1.0, 1.0); + result += mat4(-0.1514979, 0.20321548, -0.12928946, -0.08803361, 0.062216565, -0.26570085, 0.26420683, -0.0777953, 0.008385508, 0.112346895, -0.09958432, -0.1247562, 0.114825696, 0.12035607, 0.06491033, -0.036797147) * go_4(0.0, -1.0); + result += mat4(-0.24817157, 0.12276732, -0.21231028, 0.23803027, 0.43308944, 0.39496094, 0.15699469, 0.12618075, -0.037870817, 0.13224195, 0.007822175, -0.13612692, -0.07763684, -0.33213237, -0.0121766785, 0.16685596) * go_4(0.0, 0.0); + result += mat4(0.038585283, 0.04452951, 0.050363973, 0.027282275, -0.08253728, -0.06062145, 0.25581127, 0.04032097, 0.05333845, 0.023140023, -0.009572385, 0.16059966, -0.11572228, 0.044278048, 0.09749187, -0.15032573) * go_4(0.0, 1.0); + result += mat4(-0.03934602, -0.02766789, 0.026940307, 0.012599063, -0.31656685, 0.23716804, 0.44959545, -0.22446568, -0.054772135, -0.12735057, 0.057908695, -0.13251308, -0.08269784, 0.11659682, 0.098460965, 0.026333362) * go_4(1.0, -1.0); + result += mat4(-0.034531243, -0.034659956, 0.05089446, -0.039471556, -0.30950317, 0.10350312, 0.11603813, 0.08672152, -0.07706643, 0.29062438, 0.16422673, 0.074333824, 0.15247595, 0.068041846, -0.05291157, -0.15924777) * go_4(1.0, 0.0); + result += mat4(-0.008430657, 0.1884767, 0.15917906, 0.0063428413, -0.07987644, -0.04325211, -0.011584678, -0.010605869, -0.061187085, -0.09864619, -0.003040298, -0.08468758, 0.07886262, -0.14624445, -0.16320829, -0.01452985) * go_4(1.0, 1.0); + result += mat4(-0.08527653, -0.23416738, 0.06975244, 0.05253521, 0.061039444, -0.00083986257, 0.030380005, -0.023494298, -0.043048684, 0.14088461, 0.2651013, -0.069660574, -0.016013842, -0.051780187, -0.012583422, -0.033116736) * go_5(-1.0, -1.0); + result += mat4(-0.0006501486, -0.30294704, -0.22532716, 0.05011193, 0.065113634, 0.016704703, -0.045390636, 0.04377115, 0.11699081, 0.08135687, 0.020165889, 0.19826801, -0.018285288, -0.08564773, -0.26595154, -0.038110998) * go_5(-1.0, 0.0); + result += mat4(0.039095376, -0.0013404419, 0.012190645, 0.09428582, -0.11419318, 0.06917013, 0.034134097, 0.06616537, 0.03412512, 0.19301844, -0.055202305, 0.04042837, 0.04970565, -0.038846236, 0.13749482, -0.10204081) * go_5(-1.0, 1.0); + result += mat4(0.11721501, -0.12578778, 0.3620872, 0.21225488, -0.016926143, 0.006788099, -0.098553024, 0.07850037, 0.011090844, 0.029607147, -0.10133182, 0.09209217, -0.022987554, -0.20880799, 0.11736945, 0.051316652) * go_5(0.0, -1.0); + result += mat4(0.07336128, 0.12248782, 0.15166189, 0.19264354, 0.04438999, 0.14751169, -0.20144647, -0.13824841, -0.007747583, -0.16739956, 0.06877802, 0.35830194, 0.26836118, 0.16978757, 0.020257233, -0.13465263) * go_5(0.0, 0.0); + result += mat4(0.13214944, -0.06876062, 0.23750784, -0.021269983, 0.024918383, -0.26376384, 0.045127794, 0.13623215, 0.006213376, -0.08169226, -0.073229134, -0.007930807, -0.044477753, -0.0316362, 0.18907334, 0.11666457) * go_5(0.0, 1.0); + result += mat4(-0.043125346, 0.11734928, -0.075487934, 0.045608267, 0.0019688043, 0.050239112, 0.04037272, -0.05889949, 0.06669761, 0.12751873, 0.05863783, 0.0125279, -0.089946836, -0.12018046, -0.18921909, 0.023329671) * go_5(1.0, -1.0); + result += mat4(0.2132003, -0.31702018, -0.13358426, -0.08583953, 0.0059259925, -0.094208315, -0.11922049, -0.099796474, 0.09348341, 0.32579756, 0.1124768, -0.049808096, -0.23310517, 0.26437998, 0.11376541, 0.13568696) * go_5(1.0, 0.0); + result += mat4(0.20872836, -0.18229747, -0.24334186, 0.055828214, -0.05096774, -0.038215697, -0.15330918, 0.010210672, 0.018509107, 0.06662855, 0.029773839, 0.050827213, 0.18775174, -0.24382128, -0.28635338, 0.019148426) * go_5(1.0, 1.0); + result += vec4(0.0016613394, 0.059301294, -0.038810123, 0.10673296); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!SAVE conv2d_6_tf +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.063551076, -0.16613434, 0.12519288, 0.2613413, 0.026815815, 0.07070773, -0.021043811, -0.0669755, -0.19316983, -0.19476847, -0.15389214, -0.009875319, -0.0604898, -0.114369385, 0.027538, 0.13774374) * go_0(-1.0, -1.0); + result += mat4(-0.37544233, 0.12914102, 0.1366593, 0.31378758, 0.013987432, -0.06746779, -0.0083432635, 0.18277366, 0.09763598, 0.37610903, -0.04690116, -0.012697733, 0.26701328, -0.28395116, 0.20111044, -0.14729187) * go_0(-1.0, 0.0); + result += mat4(-0.11672882, -0.07698176, 0.128088, 0.04008766, 0.10915507, -0.06849285, 0.10052956, -0.043884028, 0.07211199, -0.10226781, -0.022282045, 0.23409745, -0.12000992, 0.24038276, -0.09234301, 0.0005270855) * go_0(-1.0, 1.0); + result += mat4(-0.09490642, -0.015582241, -0.19492888, -0.32142976, -0.08206514, -0.015905589, -0.058852483, 0.07062659, 0.26403823, 0.3431253, -0.026066927, -0.3181394, 0.08491617, 0.119145595, -0.13182211, 0.11299775) * go_0(0.0, -1.0); + result += mat4(-0.46511695, 0.041131947, -0.033913054, -0.02365193, -0.05553107, -0.07035273, -0.054731946, 0.14872038, 0.6574225, 0.43335545, -0.104082294, 0.07509184, -0.17075175, 0.45012367, -0.23016582, 0.11691375) * go_0(0.0, 0.0); + result += mat4(-0.11270771, 0.16805078, 0.06826135, 0.0033254998, -0.024538545, 0.09819631, 0.1497868, 0.07361046, 0.44126564, -0.08262802, -0.093892835, -0.017575772, 0.201439, -0.16137156, 0.020603918, -0.11584951) * go_0(0.0, 1.0); + result += mat4(-0.05802347, -0.008502925, 0.040704407, -0.018153232, 0.13748057, -0.01657812, 0.051693555, 0.049377594, 0.055863917, 0.033657834, -0.07277932, -0.090057924, -0.020979507, 0.045863025, -0.07975761, -0.051979877) * go_0(1.0, -1.0); + result += mat4(0.04014975, -0.08892218, 0.010484573, 0.10302432, 0.15378693, 0.08408517, 0.2501461, -0.24654758, 0.098134525, 0.02121331, -0.12720452, 0.18055904, -0.095695384, 0.07188886, -0.06675107, 0.024970558) * go_0(1.0, 0.0); + result += mat4(0.0036642263, -0.06313773, -0.037577838, -0.08352694, 0.015351579, -0.26856104, 0.006624689, 0.13869932, -0.17476316, 0.18687174, -0.10394873, 0.13418272, -0.079220034, 0.022169832, -0.031236127, -0.0339237) * go_0(1.0, 1.0); + result += mat4(-0.08630612, -0.0337143, -0.23126788, 0.06343892, 0.033023622, -0.03573692, 0.038431164, 0.13653663, -0.038872983, 0.0037933413, -0.04555905, 0.08925922, -0.13711931, -0.09402758, -0.010433323, 0.063199304) * go_1(-1.0, -1.0); + result += mat4(-0.097609736, -0.078787506, -0.08567856, 0.013807229, 0.07355257, -0.06374568, 0.14115064, -0.044682432, 0.14670128, 0.18986551, -0.15207475, 0.06219552, 0.06450654, 0.124214396, 0.009615842, 0.10263959) * go_1(-1.0, 0.0); + result += mat4(0.055290207, -0.040181328, -0.04919303, 0.020920292, 0.012198339, -0.06364409, -0.07055407, 0.036359143, 0.05182031, 0.23724687, 0.08679922, -0.18439333, 0.033763815, -0.011830226, 0.032295715, -0.07224721) * go_1(-1.0, 1.0); + result += mat4(-0.018177355, 0.05537294, 0.09365121, -0.11162771, 0.032960154, -0.3631022, 0.020872682, 0.026997598, 0.008251562, 0.0121242, 0.08893235, -0.2972536, 0.31769535, 0.21222967, 0.26210263, -0.07804949) * go_1(0.0, -1.0); + result += mat4(-0.09234649, -0.2313192, 0.2007695, -0.16570407, 0.4998518, 0.5021211, -0.23046456, 0.4675977, -0.04418793, 0.15888585, 0.634594, 0.08088828, 0.72703683, -0.10338289, 0.39535734, 0.08798907) * go_1(0.0, 0.0); + result += mat4(-0.07732275, 0.03470451, -0.0053107208, 0.12719902, 0.059666194, -0.09585871, 0.1990709, 0.071376435, 0.3475797, -0.22143288, -0.20879894, -0.07166567, 0.12787548, -0.02100069, 0.19628522, 0.30982283) * go_1(0.0, 1.0); + result += mat4(-0.0066751963, -0.10570687, -0.040173814, -0.111826494, 0.12028746, -0.011818079, 0.100319766, 0.050529975, -0.031993337, -0.0011481771, 0.028475156, 0.035728168, -0.104264215, -0.1322591, -0.0906199, 0.18882063) * go_1(1.0, -1.0); + result += mat4(0.08835854, 0.07846953, -0.00819189, 0.016579857, -0.12914272, 0.07969864, -0.11249944, 0.09885958, 0.05813271, 0.034933876, -0.10564021, 0.039766613, -0.34965426, 0.22660616, -0.37486964, -0.12369291) * go_1(1.0, 0.0); + result += mat4(0.11392956, 0.030622995, -0.04730621, -0.015045563, 0.085018255, -0.007865196, -0.025682064, -0.133319, -0.054862365, 0.062044714, 0.05505255, 0.16293961, 0.016092334, -0.02829063, 0.022702925, -0.12809299) * go_1(1.0, 1.0); + result += mat4(0.02367039, -0.10482778, -0.08608669, -0.062093236, 0.011747762, 0.022175042, 0.0071996297, -0.11276182, 0.028712617, 0.04126311, -0.0038132998, -0.1115989, -0.083056234, -0.009934547, -0.040698178, -0.12683636) * go_2(-1.0, -1.0); + result += mat4(-0.03936176, 0.013684187, -0.010472024, -0.10460055, 0.023214165, -0.010684623, 0.1418631, -0.09054893, -0.12086315, 0.17628363, -0.09017983, 0.058750905, -0.017493812, -0.017450733, 0.026728105, 0.00935395) * go_2(-1.0, 0.0); + result += mat4(-0.027332857, 0.0099790655, -0.08163504, 0.17689545, 0.0068078213, -0.023418542, 0.008682474, 0.02548335, -0.094120994, -0.06916872, -0.010798773, 0.08256571, 0.054553654, -0.06724611, 0.10275257, -0.03569369) * go_2(-1.0, 1.0); + result += mat4(0.08478009, 0.24308196, -0.05788887, -0.30866814, -0.01677214, -0.13036685, 0.114544466, 0.13763347, -0.1287353, -0.106372125, 0.06294474, -0.017131003, -0.036178716, 0.042261317, -0.04916793, 0.22008154) * go_2(0.0, -1.0); + result += mat4(0.113098085, -0.16627797, 0.2243724, 0.39611307, -0.14763622, -0.08843169, -0.041247193, 0.02559566, 0.26896805, -0.05941676, 0.081289455, -0.03463428, -0.32648194, -0.01743883, 0.14692393, -0.1419451) * go_2(0.0, 0.0); + result += mat4(-0.08624417, 0.039859742, -0.1319016, -0.13784388, -0.037280608, 0.04094322, -0.09264864, -0.14406647, 0.08943151, -0.012913666, 0.07797073, -0.011788144, 0.00781559, 0.09687341, -0.075485185, 0.029234888) * go_2(0.0, 1.0); + result += mat4(-0.03461818, -0.0578239, -0.11940533, 0.19817612, -0.06190108, 0.009414874, 0.00055699307, -0.032922342, 0.09611396, 0.017270042, 0.031782333, 0.053475976, -0.06507406, -0.11098162, 0.021986434, -0.15281019) * go_2(1.0, -1.0); + result += mat4(0.03300026, 0.14729956, -0.11484497, -0.09993908, 0.049616348, -0.075125255, 0.0945234, -0.071549594, -0.12840901, 0.17766954, -0.19627832, 0.115563445, 0.021435678, -0.13213344, 0.106521055, -0.045743156) * go_2(1.0, 0.0); + result += mat4(-0.07923801, -0.10016722, -0.15136302, -0.09258758, 0.041234676, 0.03441316, 0.112843126, 0.06979639, -0.10960315, 0.024976972, -0.11591057, 0.0046735895, 0.043591797, -0.1226487, 0.06454461, 0.1111232) * go_2(1.0, 1.0); + result += mat4(-0.029166799, 0.024781128, -0.04604433, -0.17043193, 0.04155139, -0.024739308, -0.00026802288, -0.07082753, 0.0899422, 0.09071587, 0.06616202, 0.06050842, -0.05764436, 0.10596236, 0.02040071, -0.17497559) * go_3(-1.0, -1.0); + result += mat4(-0.09035089, 0.0659, -0.14361084, -0.021721302, 0.016794743, 0.09347604, 0.1380016, -0.25160387, 0.17140736, 0.29569083, 0.121337526, -0.26241425, 0.06574208, -0.08532672, 0.09675172, 0.061919414) * go_3(-1.0, 0.0); + result += mat4(0.0777134, 0.021917641, 0.08300268, 0.025749028, -0.109934434, -0.25188968, -0.0045595216, -0.05616794, 0.028348224, -0.020761484, 0.06998775, -0.21368878, 0.03502115, 0.084822185, -0.053608585, 0.0076402165) * go_3(-1.0, 1.0); + result += mat4(-0.019782236, -0.02927372, 0.08717013, 0.073102064, 0.00052576384, -0.015302635, 0.0621273, -0.00017607084, -0.029963085, -0.13835284, 0.11283739, 0.112313755, -0.01647687, -0.07729588, 0.04615463, 0.24352066) * go_3(0.0, -1.0); + result += mat4(0.021634975, -0.23471251, 0.2007633, -0.07243054, -0.34169427, -0.3459408, -0.49702102, 0.062072285, 0.29644236, 0.0050523616, -0.27118742, -0.06865384, 0.101680025, 0.38019192, 0.13146457, 0.027077101) * go_3(0.0, 0.0); + result += mat4(-0.013608211, -0.077774465, -0.045174483, -0.023265246, 0.1321979, 0.3753417, 0.16121203, 0.019047128, 0.064994924, 0.052409865, 0.10563419, -0.00085220096, 0.11251547, -0.10566402, 0.0028090205, -0.10063887) * go_3(0.0, 1.0); + result += mat4(0.046679504, 0.058594946, -0.06533285, -0.15811534, -0.07416471, 0.06988486, -0.04314425, 0.009497584, -0.009757547, -0.038767483, 0.17787239, 0.077745095, -0.0020354164, -0.058167685, 0.105233066, -0.06689146) * go_3(1.0, -1.0); + result += mat4(0.12626402, 0.039072312, 0.10418004, -0.07277218, -0.02922791, -0.19852047, 0.24927165, -0.18751998, -0.08083378, -0.14444499, -0.058351975, -0.02419644, 0.12217534, -0.048507757, -0.08333956, 0.00162865) * go_3(1.0, 0.0); + result += mat4(-0.029149413, -0.023871707, 0.022741226, 0.10378588, -0.0073062726, 0.036854163, -0.1929113, -0.12620242, -0.03716381, -0.018090466, 0.10779782, -0.019924738, 0.068666615, 0.07481716, 0.10826988, 0.14435701) * go_3(1.0, 1.0); + result += mat4(-0.107568674, 0.12906614, -0.11304603, -0.07186676, 0.12917557, 0.04622498, 0.052623924, 0.027181726, 0.03726036, -0.05536048, -0.056134712, 0.0692713, -0.0931205, -0.013530341, -0.079496436, 0.07122584) * go_4(-1.0, -1.0); + result += mat4(0.21643913, 0.008973324, 0.2473282, -0.22151545, 0.10534174, 0.014311179, 0.12648374, -0.33117563, -0.115273096, -0.07306515, -0.019514188, 0.03442445, 0.02174929, 0.15782723, -0.15441503, -0.024714287) * go_4(-1.0, 0.0); + result += mat4(-0.09689197, 0.019095143, -0.034944948, -0.20796263, 0.06224929, -0.0023227853, 0.07867864, -0.046337705, -0.097502016, -0.0011326018, -0.047669414, 0.07279011, -0.04423047, 0.014121719, -0.026950205, 0.14154369) * go_4(-1.0, 1.0); + result += mat4(0.11617495, 0.46741408, 0.07166562, -0.3171231, -0.06699714, 0.12959749, 0.10611542, -0.08962664, -0.055559576, 0.08383856, -0.07885361, -0.076587684, -0.0048291516, -0.04309975, 0.045905527, 0.036698442) * go_4(0.0, -1.0); + result += mat4(0.0036613978, -0.03133137, -0.09741661, 0.4476952, -0.05623356, -0.5347433, -0.15121926, -0.62327516, -0.34650013, -0.3848976, -0.1020635, 0.12372888, -0.17733924, -0.3116026, -0.26149738, -0.12756832) * go_4(0.0, 0.0); + result += mat4(-0.18341129, 0.27638572, 0.18640736, 0.07301684, 0.0031105333, 0.10374691, -0.118262894, -0.12854561, -0.07307097, -0.0043694526, -0.103828765, 0.0033327888, -0.11450939, -0.036062073, -0.08388783, -0.18569045) * go_4(0.0, 1.0); + result += mat4(-0.06513565, -0.0906451, -0.07992863, 0.1555351, 0.053517826, 0.059623975, -0.04589495, -0.06759139, 0.041854616, -0.022462321, -0.03875089, 0.099266365, -0.04334954, -0.011625454, -0.03120097, -0.028311051) * go_4(1.0, -1.0); + result += mat4(-0.2698161, 0.4855855, 0.29649052, 0.08579708, -0.17665233, 0.11236429, 0.17814405, 0.2936427, 0.0014580752, -0.01460852, 0.12992013, -0.06554696, 0.08688421, 0.016707266, -0.035805132, -0.21390212) * go_4(1.0, 0.0); + result += mat4(0.087546945, -0.08082606, 0.026020724, -0.22158769, 0.079808585, 0.008027633, 0.17506911, 0.24715161, -0.089454755, -0.12723146, -0.014873311, -0.080931105, -0.037702024, 0.069683395, 0.03398877, 0.050660603) * go_4(1.0, 1.0); + result += mat4(0.18083133, 0.072747, 0.026843961, 0.060125593, -0.0028814252, 0.055027924, -0.23592432, -0.3128924, 0.07353004, -0.040734287, 0.063891344, 0.12827826, 0.035035152, -0.07543958, 0.084599234, 0.13021721) * go_5(-1.0, -1.0); + result += mat4(0.063158885, 0.08223479, 0.069820456, 0.021643702, 0.07788084, -0.078388534, 0.13722488, 0.25833505, -0.10396639, 0.0041446807, 0.023278937, 0.22537926, 0.17745169, 0.22081025, -0.09535902, -0.12220001) * go_5(-1.0, 0.0); + result += mat4(-0.05432123, 0.087425314, 0.018276695, -0.124169916, -0.00543602, 0.12574154, -0.06011572, 0.04701218, -0.10479224, 0.032153737, -0.06034692, 0.16422245, -0.13862014, -0.06484846, -0.064395554, 0.20665741) * go_5(-1.0, 1.0); + result += mat4(-0.11319914, 0.18695734, 0.3806953, -0.069110036, -0.24979821, 0.26608357, 0.45578855, -0.37055442, 0.08747221, 0.11386838, -0.09471413, -0.17466134, 0.20953615, 0.20999484, 0.12287149, -0.41018328) * go_5(0.0, -1.0); + result += mat4(0.5564517, -0.2048937, -0.3816632, -0.06279082, -0.38774204, 0.21217284, -0.18890436, 0.14043479, 0.024926476, 0.17045365, 0.048644193, -0.17100555, -0.15697347, -0.35342333, 0.068213716, -0.41174227) * go_5(0.0, 0.0); + result += mat4(0.045869917, -0.0015854153, 0.08683202, 0.09068768, -0.083463475, -0.31756514, 0.1342369, -0.088171095, 0.056276016, -0.23685989, 0.014580776, -0.2547697, 0.0940006, -0.043395106, 0.2034087, -0.022825241) * go_5(0.0, 1.0); + result += mat4(-0.103751905, 0.069453366, -0.109700166, 0.042392224, 0.080248766, 0.094016075, -0.17143534, 0.05994925, -0.018760482, -0.04515021, 0.014608747, 0.06235974, -0.04300025, 0.093254045, -0.048682634, 0.28064325) * go_5(1.0, -1.0); + result += mat4(-0.014232481, -0.08903044, 0.019999523, -0.020324621, -0.24016748, -0.2474486, -0.40321103, -0.15829015, -0.13566887, -0.041250605, -0.04751285, 0.057329945, 0.10219304, 0.05605011, -0.025595296, -0.01614233) * go_5(1.0, 0.0); + result += mat4(0.025537677, 0.12660079, 0.051864993, 0.075601384, -0.021362955, 0.19969231, 0.123610884, 0.07575372, -0.061927922, 0.06550312, -0.05508335, 0.11704227, -0.13762979, 0.1817394, -0.18983638, -0.049257904) * go_5(1.0, 1.0); + result += vec4(-0.12422661, 0.036567487, -0.031888038, -0.011536189); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!SAVE conv2d_6_tf1 +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.031695515, -0.31290495, 0.17557557, -0.10072623, 0.037879907, 0.07773684, 0.015941558, -0.1166975, 0.19065462, -0.18290205, 0.233234, 0.028230593, -0.16707195, -0.10103979, -0.1561307, 0.09858236) * go_0(-1.0, -1.0); + result += mat4(-0.37433225, -0.37697765, 0.15590142, 0.3016965, 0.014981114, -0.07988245, 0.014191019, -0.0011213939, -0.11375956, -0.052503657, -0.013733191, 0.15110013, 0.009139605, 0.1890766, -0.29809618, -0.31938305) * go_0(-1.0, 0.0); + result += mat4(0.043140218, -0.1566104, -0.002536191, -0.16493355, -0.211366, -0.021915436, -0.28728947, -0.14439434, 0.095511094, 0.056860972, -0.08280981, -0.21611294, 0.13561454, 0.0033129812, 0.14235094, 0.3003919) * go_0(-1.0, 1.0); + result += mat4(0.010960085, 0.00600542, -0.2367317, 0.021453537, -0.03856116, -0.034778543, 0.164726, 0.13019681, -0.07757383, 0.33985314, -0.23832978, 0.095343575, 0.022204291, 0.20711215, 0.15877703, 0.2751253) * go_0(0.0, -1.0); + result += mat4(0.19641247, 0.032707132, 0.04379372, -0.21997298, -0.035852924, 0.06185132, 0.1484587, -0.36117685, -0.46992078, -0.41587535, 0.37467077, 0.09044606, -0.06615961, -0.4794214, 0.039470922, -0.3396352) * go_0(0.0, 0.0); + result += mat4(0.16657054, -0.039237928, 0.03857829, 0.049146365, 0.0401756, -0.03342998, 0.20032202, 0.05834436, 0.088986784, -0.16494772, -0.33883873, 0.18655993, -0.15986481, 0.091252044, 0.041209027, 0.15528268) * go_0(0.0, 1.0); + result += mat4(0.048688952, -0.009118804, 0.02290845, -0.17133589, -0.17210291, -0.027337966, -0.13893692, -0.07628787, -0.011510589, -0.04428704, 0.0015265835, -0.1197242, -0.011102018, -0.012120708, 0.06624063, 0.009720241) * go_0(1.0, -1.0); + result += mat4(-0.27416044, -0.120502286, 0.17721373, -0.16811286, -0.014482372, 0.02126685, -0.091303095, -0.16043608, 0.27898774, 0.17883328, -0.2844939, 0.21557346, 0.090356916, 0.10218719, 0.011249428, -0.10255321) * go_0(1.0, 0.0); + result += mat4(-0.12067477, -0.07217142, -0.04221149, 0.019745756, -0.26648012, -0.19199371, 0.029601155, 0.13147698, 0.23245896, 0.11450761, 0.1694102, -0.2318312, 0.0016206031, -0.0178794, 0.11511889, 0.04575681) * go_0(1.0, 1.0); + result += mat4(0.18695508, 0.045567334, 0.17440668, -0.42288253, -0.02287028, 0.05679073, -0.05641905, 0.12937486, 0.08140183, 0.013775387, 0.085393906, -0.124689564, 0.02426034, -0.08368493, -0.03149937, 0.12990832) * go_1(-1.0, -1.0); + result += mat4(-0.10630359, -0.05139905, -0.14252634, 0.12539144, -0.07805999, -0.16011941, -0.12794735, 0.0023225932, -0.29767594, -0.0324489, -0.08008453, -0.10285779, 0.10714244, 0.07701981, 0.0861595, 0.032702547) * go_1(-1.0, 0.0); + result += mat4(-0.011266752, 0.032032244, -0.16621222, 0.025718216, -0.13606001, 0.049900856, -0.12395804, -0.023709433, -0.019833436, 0.05525729, 0.043920193, 0.07480689, -0.06805129, -0.050729908, 0.015684852, -0.07608439) * go_1(-1.0, 1.0); + result += mat4(-0.2432357, -0.08149558, -0.0954787, 0.13050736, 0.0658002, -0.15775995, -0.26192164, 0.07967364, -0.050966308, -0.15967421, -0.09035987, -0.19794956, 0.040908057, 0.1914722, -0.1416288, 0.20905873) * go_1(0.0, -1.0); + result += mat4(-0.31780317, -0.0037020883, 0.057150707, 0.4200519, 0.5618687, -0.047172155, -0.12254693, -0.014847399, 0.37398118, 0.3375763, 0.16677848, -0.06745357, 0.17024885, -0.22058573, -0.30246857, -0.5453735) * go_1(0.0, 0.0); + result += mat4(0.30349696, 0.009769963, 0.28675693, -0.118276045, 0.0057877507, 0.10974996, -0.072690375, 0.030470189, -0.6150014, 0.17645302, 0.2928011, 0.07855985, 0.17192386, 0.12024906, -0.07183019, 0.10537094) * go_1(0.0, 1.0); + result += mat4(-0.088262424, -0.14806455, 0.08148428, 0.10594823, 0.049873143, -0.013990187, 0.07425902, -0.030937834, 0.016817184, 0.08583546, -0.111037634, 0.09831576, 0.052983984, 0.024797885, 0.15503147, -0.052295715) * go_1(1.0, -1.0); + result += mat4(0.09108395, 0.025693672, -0.17206948, -0.02877885, 0.008410392, -0.08324596, -0.05451186, 0.10528576, -0.09902025, 0.20654637, -0.15849939, -0.022103371, 0.06444531, -0.12143805, 0.20113671, 0.14274625) * go_1(1.0, 0.0); + result += mat4(0.005467573, 0.16239832, -0.28808126, -0.21795005, -0.06378709, -0.0672865, -0.052615914, -0.08036216, 0.10728027, -0.09125139, -0.0835933, -0.08187764, 0.05370785, -0.019258037, -0.23184206, 0.2632737) * go_1(1.0, 1.0); + result += mat4(-0.05926071, 0.07018913, -0.021344975, 0.054756, -0.052149706, 0.0037597087, 0.0025042086, -0.04395278, 0.12245118, 0.04250789, 0.082335964, -0.014749995, -0.08621224, -0.023798082, 0.06332712, -0.11675374) * go_2(-1.0, -1.0); + result += mat4(-0.32227162, -0.14337637, -0.23739144, -0.19812642, -0.09722166, 0.009280866, 0.04054724, 0.15704393, 0.07489584, -0.11492752, 0.09819001, 0.15120374, -0.14586051, -0.16354702, 0.23314816, -0.0022859343) * go_2(-1.0, 0.0); + result += mat4(0.16142578, 0.075490505, -0.021885784, 0.06261672, 0.041199893, 0.03871687, 0.023842737, -0.011376236, 0.0767961, -0.045730814, 0.22563088, -0.09038255, -0.18399398, -0.04494118, -0.095894225, 0.030498588) * go_2(-1.0, 1.0); + result += mat4(0.12479204, 0.101474956, 0.36386368, -0.050215095, 0.07824311, -0.10407957, -0.04313255, 0.32900745, -0.192804, -0.19723284, -0.06199248, 0.024969265, 0.22347516, 0.0065552266, 0.16316769, -0.03117915) * go_2(0.0, -1.0); + result += mat4(-0.41610017, -0.26189142, 0.9749233, -0.2030862, -0.018032711, 0.010767388, 0.021800261, -0.0042601344, -0.23240276, 0.3338158, -0.17494468, 0.17937262, 0.07974937, 0.33006057, -0.1869896, -0.37869284) * go_2(0.0, 0.0); + result += mat4(-0.071573325, 0.007554784, -0.102258176, 0.10642047, -0.09556476, -0.017912954, -0.14906247, 0.026633078, -0.08621331, 0.0017594047, -0.19624764, -0.115420476, 0.080624446, 0.05765888, 0.13215272, -0.035700615) * go_2(0.0, 1.0); + result += mat4(-0.0699439, -0.031065576, -0.1347926, 0.04561651, 0.026325148, 0.04517171, 0.027460657, 0.07887253, 0.09662138, -0.032300167, 0.18762928, 0.017682185, -0.21272552, -0.120953396, 0.07463968, 0.16759431) * go_2(1.0, -1.0); + result += mat4(0.031983048, 0.091939285, -0.29471913, -0.17392102, -0.029960087, -0.045441393, 0.11517783, 0.043017738, 0.19772391, 0.18100426, -0.023260262, 0.047123328, -0.34043354, -0.14247705, 0.2169891, -0.022246636) * go_2(1.0, 0.0); + result += mat4(-0.17198563, -0.23428284, 0.004200898, -0.024755895, 0.08732965, -0.0014298835, 0.14354117, -0.04866547, 0.040317383, -0.06782393, -0.098272204, 0.0007879826, -0.09150929, -0.013316801, 0.001446828, 0.017795574) * go_2(1.0, 1.0); + result += mat4(0.047712177, 0.050632354, 0.16054401, 0.043701835, -0.0639787, -0.027759142, -0.1216413, 0.06168221, 0.09751688, -0.0066430112, -0.06975059, -0.10249115, -0.12326384, -0.0046392973, -0.03523632, 0.11676963) * go_3(-1.0, -1.0); + result += mat4(0.0820976, -0.011279764, 0.06630965, 0.09390872, -0.24890396, -9.822562e-05, -0.114006236, 0.16826034, -0.082640596, 0.019303065, 0.14685081, 0.07503404, -0.17926271, -0.07983414, -0.04422908, 0.11301981) * go_3(-1.0, 0.0); + result += mat4(0.03553145, 0.0047965297, 0.08901363, 0.004263101, -0.15945294, -0.114194945, -0.059667293, 0.049415316, -0.09466441, -0.05142749, 0.15767507, -0.11340187, 0.10369652, 0.085223176, -0.06318044, -0.11618208) * go_3(-1.0, 1.0); + result += mat4(-0.17031148, -0.11489388, 0.24808751, 0.030365555, 0.054884836, -0.041506488, 0.038115, -0.064155854, 0.120106734, -0.100374915, -0.2048057, 0.09855774, 0.34214836, 0.01592769, 0.3974824, -0.009733501) * go_3(0.0, -1.0); + result += mat4(-0.37295908, 0.05345721, 0.24855454, 0.18375815, 0.41732857, 0.059994586, 0.14148045, 0.15674202, 0.2914617, 0.28635538, 0.21487242, -0.16498509, 0.26191583, 0.34904888, -0.001136933, -0.047465373) * go_3(0.0, 0.0); + result += mat4(-0.12775165, -0.13414834, 0.035279494, 0.0065703453, 0.21533409, -0.025021361, 0.3468732, -0.08434002, -0.0125741605, 0.0472579, -0.006702024, 0.03674878, -0.1543125, 0.12252382, -0.15259196, -0.10377763) * go_3(0.0, 1.0); + result += mat4(-0.05423773, 0.076934956, -0.03817735, -0.0006111581, 0.017648958, 0.061248343, -0.01635863, 0.015901048, -0.14749493, -0.041009318, 0.030646784, 0.021186778, -0.15973417, 0.032205433, -0.36817935, 0.17054902) * go_3(1.0, -1.0); + result += mat4(0.009821799, 0.023463782, -0.04574981, -0.03205052, -0.11479379, -0.1499543, -0.10254226, 0.14878044, -0.18908015, -0.057776958, 0.22117394, -0.008997101, -0.10566478, 0.029807804, 0.06296724, -0.09863535) * go_3(1.0, 0.0); + result += mat4(0.012764414, 0.08003188, -0.079312325, 0.10915366, -0.14269702, 0.15378389, -0.11343741, -0.07815755, -0.028972412, -0.07575102, 0.104069054, 0.16929798, 0.08356986, -0.008557804, 0.1077067, -0.104730316) * go_3(1.0, 1.0); + result += mat4(0.14354274, 0.027146077, 0.06354999, -0.15823694, 0.11064279, 0.05926018, -0.09556645, -0.13623793, 0.064755484, -0.009504007, -0.04298976, -0.22026266, 0.19957776, -0.009840124, 0.08703728, 0.07162153) * go_4(-1.0, -1.0); + result += mat4(-0.2091648, -0.0857283, -0.30748418, 0.21271354, -0.18100224, -0.0055695246, -0.06332844, 0.17306994, 0.0077473186, 0.037243642, 0.012746569, 0.37735906, 0.23314455, 0.19154081, 0.05688001, -0.23929437) * go_4(-1.0, 0.0); + result += mat4(0.063928135, 0.058101837, -0.07964053, 0.09656037, 0.06193066, 0.052388765, 0.019220868, 0.09141577, 0.07279361, 0.03293571, 0.04207099, 0.100502975, 0.07098165, -0.03792573, 0.029752802, 0.00073165854) * go_4(-1.0, 1.0); + result += mat4(-0.061411377, 0.44493172, -0.2499116, 0.16028905, -0.24095571, -0.09098111, 0.2505775, -0.20317478, -0.046060897, 0.026942013, -0.1443618, -0.09946402, -0.2845509, 0.02574587, -0.10171842, 0.32726362) * go_4(0.0, -1.0); + result += mat4(0.41548893, 0.55772763, 0.21224521, -0.2974941, -0.1518538, -0.096886665, 0.25241733, 0.48857507, -0.23768853, -0.24405806, 0.04989141, 0.18301181, -0.39112365, -0.29253578, 0.059537925, -0.01779737) * go_4(0.0, 0.0); + result += mat4(0.038118728, 0.02858742, 0.6223735, -0.2673519, -0.0107285725, -0.05190993, 0.009639665, -0.01759551, 0.056182634, 0.0017370619, 0.015566999, 0.37397447, -0.18057133, -0.16243981, -0.06748175, 0.057786137) * go_4(0.0, 1.0); + result += mat4(-0.011669291, -0.110343516, 0.28674936, -0.04969038, 0.32003263, 0.064857155, 0.013674471, -0.039692417, 0.040436286, -0.06889466, 0.037186123, -0.05564364, -0.025551032, -0.11479799, -0.12857372, -0.052941844) * go_4(1.0, -1.0); + result += mat4(0.28328392, 0.39322296, 0.36961278, -0.3133618, 0.4632272, 0.11075263, 0.14776857, 0.29629925, -0.106794536, -0.17243811, 0.06743955, -0.06816463, 0.19705069, 0.16638671, -0.47120842, 0.15028188) * go_4(1.0, 0.0); + result += mat4(-0.24694128, -0.13387236, 0.013511744, 0.23480985, 0.15844229, 0.15348844, 0.08692795, -0.026089827, -0.18550861, -0.105919205, 0.13584319, 0.14189197, 0.098633386, 0.03923177, 0.17303325, 0.0035986274) * go_4(1.0, 1.0); + result += mat4(0.07525532, -0.049425937, -0.045742936, -0.34401855, 0.23614922, 0.1365458, 0.5367143, -0.34322664, 0.08580669, -0.021081364, 0.32258797, 0.054717902, 0.011307636, -0.13174307, 0.10635861, 0.15759683) * go_5(-1.0, -1.0); + result += mat4(0.2053648, 0.11536576, 0.06543424, 0.273532, 0.004836322, -0.1135091, -0.13175261, -0.010553481, 0.26788777, 0.0052754665, 0.21684328, -0.038834624, 0.15681003, 0.2551737, -0.08061695, -0.2621798) * go_5(-1.0, 0.0); + result += mat4(-0.0026197245, -0.04237014, 0.15965913, 0.011015912, 0.13959743, 0.0613557, -0.057478882, 0.04333705, 0.02150156, 0.02613718, 0.029849462, 0.04144389, 0.060642015, -0.055863846, 0.07513707, -0.030098947) * go_5(-1.0, 1.0); + result += mat4(-0.25804156, 0.07992937, -0.2194363, -0.07638968, -0.31182626, 0.06877212, 0.26326504, -0.07852368, 0.005371965, 0.13532336, -0.27899355, -0.21762428, -0.11019938, 0.3272873, -0.18966602, 0.13429517) * go_5(0.0, -1.0); + result += mat4(0.13235348, 0.19412184, -0.14834474, 0.045169294, -0.12562896, 0.42018193, -0.111528605, 0.14010738, -0.19459967, 0.013526394, -0.41562226, 0.0028783067, -0.62609005, -0.3033415, 0.4712338, 0.8222809) * go_5(0.0, 0.0); + result += mat4(0.09286205, 0.09806087, -0.07340961, -0.17533489, 0.027318375, -0.10870942, -0.038293675, -0.16472916, -0.1825589, -0.052559845, -0.30276018, -0.14359148, -0.21606436, -0.110118784, 0.016834917, -0.17742018) * go_5(0.0, 1.0); + result += mat4(-0.020260928, 0.087848864, 0.047859445, -0.047904506, 0.048111416, 0.1583765, -0.20442098, -0.100690275, -0.0013411752, -0.07799378, 0.15336171, -0.10123076, 0.17678842, 0.17897983, -0.09674411, -0.011004586) * go_5(1.0, -1.0); + result += mat4(-0.018577576, -0.06431042, 0.09155964, 0.015572989, -0.2997381, -0.27266306, -0.038626052, 0.049783256, -0.0104627805, -0.00770176, 0.11773571, 0.1784294, 0.09392711, 0.034571096, 0.11028318, -0.09109526) * go_5(1.0, 0.0); + result += mat4(0.16055113, 0.090300724, -0.03638531, -0.04085534, 0.08429917, 0.020470984, -0.19414762, -0.3244146, 0.14926222, -0.04275537, 0.3243775, -0.27660474, 0.21811403, 0.00095158996, -0.029139725, -0.14773428) * go_5(1.0, 1.0); + result += vec4(0.07794292, -0.028107546, -0.059174247, 0.018621715); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!SAVE conv2d_6_tf2 +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_5_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.24537118, 0.17905983, 0.07789307, 0.016952513, 0.0141091775, -0.011334478, -0.031922385, -0.002754333, -0.09490796, 0.056371696, -0.011801579, -0.13965698, -0.035000853, -0.004262493, 0.07772451, 0.08179461) * go_0(-1.0, -1.0); + result += mat4(0.49467468, 0.0060151266, -0.16210476, 0.44510034, 0.032212194, 0.028270312, -0.002976181, -0.0750645, -0.120187126, -0.3223084, -0.036695287, -0.27901456, 0.026024181, -0.38380507, -0.107403666, 0.106261775) * go_0(-1.0, 0.0); + result += mat4(-0.27276495, 0.07816642, 0.16584107, 0.3256445, -0.003785352, -0.05884198, -0.028097598, 0.09085398, 0.18065354, 0.12995216, -0.012668798, -0.18628691, 0.14217433, 0.060047373, 0.13106324, 0.002042596) * go_0(-1.0, 1.0); + result += mat4(-0.086455494, -0.14862305, -0.525558, 0.16174366, -0.07319531, 0.15502526, -0.010380826, -0.07271152, 0.19700976, 0.046370283, 0.11651438, 0.081478894, 0.19148621, 0.03100971, 0.1023476, 0.07874108) * go_0(0.0, -1.0); + result += mat4(0.6140143, -0.027726987, -0.009253838, -0.2904735, -0.0004950705, -0.17041264, -0.16776061, 0.0082762465, -0.3594797, 0.2532505, -0.6598625, 0.19527398, -0.2580451, -0.047699004, -0.19487855, 0.26656064) * go_0(0.0, 0.0); + result += mat4(-0.05993486, 0.05261301, -0.11092236, -0.07093469, -0.12740676, 0.28895375, -0.024522636, 0.10566457, 0.25105092, -0.19367103, 0.31918752, -0.08284367, 0.010306112, -0.16058734, 0.025336768, -0.1421889) * go_0(0.0, 1.0); + result += mat4(-0.30034626, 0.20041251, 0.038978297, 0.24891369, 0.16952564, -0.08357092, 0.0041356883, -0.11644513, 0.09228839, -0.112779655, 0.026311902, 0.06545678, 0.0698254, -0.112796366, 0.0029497906, 0.03857845) * go_0(1.0, -1.0); + result += mat4(0.16609864, -0.22584435, -0.24474208, -0.27484784, -0.31675163, 0.07935485, 0.18763326, 0.13037825, 0.11668147, -0.2776588, -0.11885876, -0.051946215, 0.0821847, 0.012703901, -0.0351841, -0.10732197) * go_0(1.0, 0.0); + result += mat4(0.14786936, 0.04071705, 0.030221082, -0.120953605, -0.013662891, -0.14799207, -0.028566806, -0.13245614, 0.09371325, 0.0018758543, -0.075789824, 0.021227634, -0.0687209, 0.04126068, 0.01861056, 0.00038673988) * go_0(1.0, 1.0); + result += mat4(-0.2150947, 0.019924847, -0.057041053, -0.055024747, 0.04864997, -0.010266812, 0.12674728, 0.0916339, 0.02709077, -0.042510916, -0.15185884, -0.1128658, 0.054390796, -0.12276366, -0.07853503, 0.16050841) * go_1(-1.0, -1.0); + result += mat4(0.14254624, 0.09403803, -0.077061795, -0.040265787, -0.1851944, 0.03568108, -0.064231634, 0.057467405, 0.10839864, 0.67165095, 0.31980324, -0.22381754, -0.094957665, 0.081498906, 0.061563525, -0.061372254) * go_1(-1.0, 0.0); + result += mat4(-0.026212232, -0.016600188, -0.032421675, -0.018441828, -0.0039220974, -0.092276715, -0.05251956, -0.0014283194, -0.07582186, -0.34406552, 0.012223887, 0.16421928, 0.067920506, -0.04867461, -0.025583208, -0.02245058) * go_1(-1.0, 1.0); + result += mat4(0.06561416, 0.08525047, -0.06454739, 0.03325223, -0.2756252, -0.07606139, -0.16622546, -0.19015047, -0.0942788, 0.055729307, 0.08911129, 0.036073096, 0.2819285, 0.27803645, 0.41541302, -0.46012112) * go_1(0.0, -1.0); + result += mat4(0.116886355, 0.25485554, -0.08467562, 0.015698416, 0.120505005, 0.14997847, 0.35307086, 0.06391821, 0.2480685, -0.91017604, 0.30765083, 0.41334546, -0.2484761, 0.0036243596, -0.17822865, -0.0688765) * go_1(0.0, 0.0); + result += mat4(-0.018610235, 0.10026272, 0.09050735, 0.09349237, -0.32725444, -0.04461541, -0.08524241, -0.07169624, -0.17375232, -0.04668291, 0.1105147, -0.21981657, 0.14551818, -0.09236485, 0.22311887, 0.22838955) * go_1(0.0, 1.0); + result += mat4(-0.046239845, 0.092623316, 0.06968011, -0.07118946, -0.112399414, 0.12900421, 0.1622531, -0.06568552, -0.0046933675, -0.015529387, -0.035191614, 0.01626195, -0.081475765, -0.05045334, -0.087063916, -0.2726226) * go_1(1.0, -1.0); + result += mat4(0.20086902, -0.105082855, 0.064632416, 0.032850675, -0.14514364, -0.08420714, -0.49481058, 0.20139864, 0.17293651, -0.013185847, 0.061619177, 0.3313921, -0.3385868, 0.23518777, -0.33251905, 0.17975967) * go_1(1.0, 0.0); + result += mat4(0.06966267, -0.06778524, -0.013489221, 0.08452447, -0.06677413, 0.024880748, 0.0966029, -0.14441288, 0.117813595, -0.021073775, -0.10008402, 0.16905701, 0.1681992, 0.023752017, 0.10749209, 0.12432793) * go_1(1.0, 1.0); + result += mat4(-0.1513078, -0.093761355, -0.0030828249, -0.110072024, -0.055719357, -0.009922474, -0.043953415, 0.050671145, -0.060472284, 0.028386949, -0.013459928, -0.081548885, -0.0835807, 0.02647864, -0.20652756, -0.0060736574) * go_2(-1.0, -1.0); + result += mat4(0.028220167, -0.028944401, -0.19519375, 0.13515931, -0.00042262973, 0.08360426, 0.010636624, -0.030487528, 0.27422678, -0.045074224, 0.07301797, 0.006780949, -0.08468292, -0.04887693, -0.09148827, 0.018867895) * go_2(-1.0, 0.0); + result += mat4(0.1262579, 0.018898701, 0.13322218, 0.035301305, -0.07070634, -0.0078546405, 0.027999826, 0.048316766, -0.15131034, 0.0023264016, 0.013600765, -0.034428634, -0.07507105, -0.08255354, -0.08881507, -0.071658276) * go_2(-1.0, 1.0); + result += mat4(-0.02041055, 0.22154346, 0.26627985, 0.0605345, -0.058928274, -0.06632422, 0.009541804, 0.030693937, -0.11625062, 0.050398614, -0.08913635, -0.048804708, 0.05243602, 0.07607664, -0.11982216, -0.030418042) * go_2(0.0, -1.0); + result += mat4(-0.17171955, -0.1251785, -0.03278011, -0.027012454, -0.14810622, 0.011841085, -0.17640975, -0.15179725, 0.28515115, -0.14059372, 0.7398977, 0.016162258, 0.39136347, 0.39292285, 0.1379987, 0.3367675) * go_2(0.0, 0.0); + result += mat4(-0.010929663, -0.06879933, -0.08348263, 0.03733299, 0.062476087, 0.01568991, -0.05271144, 0.04062246, 0.032427862, -0.113407016, -0.12636085, -0.016191803, 0.17277598, 0.08344308, 0.038378276, 0.073893026) * go_2(0.0, 1.0); + result += mat4(0.17167374, -0.121874295, -0.088408865, -0.235186, -0.13921842, 0.07555293, -0.041501705, 0.050021265, -0.087886505, -0.08035099, 0.09180792, 0.05183994, -0.26203418, 0.04711709, -0.10731481, -0.14843997) * go_2(1.0, -1.0); + result += mat4(-0.036347087, 0.01029584, -0.056132622, 0.0878486, -0.064945646, 0.07907602, 0.12751542, 0.02885936, 0.23358488, -0.029665042, -0.29615182, -0.10431463, 0.023203064, 0.069443814, -0.1002703, -0.096389264) * go_2(1.0, 0.0); + result += mat4(0.035990857, 0.10344318, 0.022896135, -0.07152821, 0.05887347, -0.015482111, -0.014297709, 0.055369038, -0.02750558, 0.08424956, 0.04510472, 0.017769516, 0.04108422, -0.07342653, -0.08320298, 0.066610456) * go_2(1.0, 1.0); + result += mat4(-0.066317484, 0.04255107, -0.07966337, -0.124135956, -0.018745063, -0.010161496, -0.011399174, 0.039982356, 0.15349951, 0.062997095, 0.045578636, 0.107150234, -0.032815512, -0.13440657, -0.040952615, 0.18263227) * go_3(-1.0, -1.0); + result += mat4(0.10633369, -0.018656015, -0.016764622, -0.04388912, 0.08758304, 0.19932802, 0.046600826, 0.016901758, 0.21165867, -0.025475888, 0.07850137, 0.06617148, -0.16846764, 0.40805286, -0.06401491, -0.080602095) * go_3(-1.0, 0.0); + result += mat4(-0.123656854, -0.014010881, 0.028575048, -0.069250524, -0.15018106, 0.103246264, -0.11777147, -0.05850124, -0.1353436, -0.0013566307, -0.015963338, -0.023948817, 0.095956124, -0.039555125, 0.076399274, 0.07427479) * go_3(-1.0, 1.0); + result += mat4(-0.015483045, -0.12661438, 0.04873668, -0.08844129, -0.011324154, -0.109799534, -0.023892801, 0.05610018, -0.05156818, -0.046244036, -0.119778745, -0.072065085, -0.106656425, 0.088378794, 0.011626502, -0.11913755) * go_3(0.0, -1.0); + result += mat4(-0.04775599, 0.16536692, 0.07654365, -0.180473, -0.2773871, 0.16781096, -0.15096998, -0.15038413, 0.09663952, -0.12574138, -0.079353325, 0.15394118, 0.19871943, 0.1274317, -0.015473073, -0.13977093) * go_3(0.0, 0.0); + result += mat4(0.046030425, -0.0035080586, 0.00019108523, -0.061198276, 0.10959022, -0.08084982, 0.17658228, -0.077856205, -0.06706116, -0.021110784, -0.014351807, -0.13647127, -0.15924501, -0.045259945, -0.08266116, 0.18638277) * go_3(0.0, 1.0); + result += mat4(-0.016468504, -0.0060328534, -0.027133752, -0.011417157, -0.0060868333, 0.14410168, -0.02163876, 0.02426387, -0.045196433, -0.050631806, -0.03250163, -0.05960187, -0.032833368, 0.07025108, -0.008574312, 0.04666302) * go_3(1.0, -1.0); + result += mat4(0.16550453, -0.12357287, 0.10894651, 0.061207913, -0.26402593, 0.05317881, 0.17066815, 0.035360787, -0.2500221, 0.0465414, -0.07445082, 0.08822553, 0.09093388, 0.026007025, 0.02103897, -0.008406647) * go_3(1.0, 0.0); + result += mat4(0.008951011, -0.011805461, -0.041415952, -0.004712088, 0.107074626, -0.040568706, -0.09944574, -0.06400702, -0.033343032, 0.013737211, -0.0889104, -0.013806611, -0.0331564, 0.0051299958, 0.015190706, 0.02362979) * go_3(1.0, 1.0); + result += mat4(-0.122751765, 0.1503006, -0.08277906, 0.18938261, 0.004363168, 0.07933008, 0.07121668, -0.0833466, -0.014839421, -0.066141434, 0.015289756, -0.040877122, -0.028999893, 0.1169574, 0.043211922, -0.05808607) * go_4(-1.0, -1.0); + result += mat4(0.18331528, 0.39588076, 0.20556965, -0.10883933, -0.0004949832, -0.15585636, -0.040524032, -0.057982635, -0.028523464, -0.06929509, -0.058184557, 0.025949743, 0.027700417, -0.22790357, 0.06694592, -0.020108582) * go_4(-1.0, 0.0); + result += mat4(-0.11836253, -0.04298726, 0.032929875, 0.2242861, -0.11389548, 0.068775766, 0.019789936, -0.03006107, 0.08794808, 0.12770821, 0.0149423, -0.091368824, 0.015293162, 0.019910589, 0.035969447, 0.04707816) * go_4(-1.0, 1.0); + result += mat4(0.26466385, 0.136147, 0.21548775, -0.3231222, 0.004888472, -0.3866182, -0.20606667, 0.15087834, 0.02862634, 0.0817037, 6.5014992e-06, 0.2008316, 0.09526983, 0.042665128, -0.040663883, 0.003764197) * go_4(0.0, -1.0); + result += mat4(-0.2112101, 0.088516004, 0.558493, 0.06698759, -0.10676672, 0.15699397, -0.043309934, -0.52478033, -0.17806827, 0.017635964, -0.082869515, -0.5656354, -0.18426882, -0.12042118, -0.01596299, -0.06495108) * go_4(0.0, 0.0); + result += mat4(-0.21135955, 0.05781414, -0.09844541, 0.022916462, 0.14397569, 0.022936279, 0.097970665, 0.042522192, -0.00126595, 0.0038257148, 0.07008256, -0.1824468, 0.048791062, -0.07465642, -0.046671294, 0.03230469) * go_4(0.0, 1.0); + result += mat4(0.19789836, -0.116786405, -0.1616968, -0.22459605, -0.024078539, 0.17570955, 0.16125445, 0.3992117, 0.052064337, 0.036609706, 0.05254302, -0.050398353, 0.036562983, 0.049556475, 0.08297576, 0.2054982) * go_4(1.0, -1.0); + result += mat4(-0.5742053, 0.098297775, 0.0633016, 0.14853445, 0.16893868, 0.11639841, 0.07855964, 0.15836205, -0.16521858, -0.09322673, -0.005118043, -0.05021679, 0.22580391, 0.07365953, 0.1695237, 0.031488914) * go_4(1.0, 0.0); + result += mat4(0.16460675, -0.03634353, 0.073270105, -0.19762266, 0.0013135028, -0.096437894, 0.06374399, -0.024057448, -0.16969606, 0.036301896, -0.06406477, -0.16757035, -0.038686167, -0.024916979, 0.03403845, -0.05160279) * go_4(1.0, 1.0); + result += mat4(0.050821684, 0.105403356, -0.022229152, 0.023213169, -0.46897453, -0.16244169, -0.082473665, -0.27779078, -0.033359285, 0.12679179, 0.12876998, -0.24077201, 0.10091285, 0.02276067, 0.25290954, 0.010847028) * go_5(-1.0, -1.0); + result += mat4(0.112502374, -0.3518416, -0.079604715, -0.039383356, 0.312556, 0.25550213, 0.13873889, -0.37628496, -0.14580576, -0.1397425, -0.02574422, 0.12305562, 0.1102169, -0.052005965, -0.1393713, -0.037981503) * go_5(-1.0, 0.0); + result += mat4(-0.084098294, 0.14593758, 0.011593753, -0.07939934, 0.10820567, -0.036130577, 0.114290334, 0.083149664, 0.036933735, 0.08104934, -0.05769655, 0.027683796, 0.05024431, 0.07313829, -0.010789726, 0.12981457) * go_5(-1.0, 1.0); + result += mat4(-0.11338103, -0.150482, 0.20733237, 0.29369837, -0.102634065, -0.15092887, -0.014666432, -0.091397986, 0.0947413, -0.12863293, -0.027620759, 0.005695903, 0.31916696, 0.035850845, -0.031173147, -0.022860976) * go_5(0.0, -1.0); + result += mat4(0.23157911, -0.2946123, -0.16097677, -0.45535967, 0.36959732, -0.026627757, 0.6321515, 0.105474636, -0.053087663, 0.096396655, 0.12052069, -0.06778611, -1.0060586, 0.3678515, -0.17115732, -0.581296) * go_5(0.0, 0.0); + result += mat4(-0.08702807, 0.0025244744, -0.057799466, 0.045048367, -0.068116546, -0.08659905, -0.13093567, 0.16046713, -0.29240185, 0.2164886, -0.20268321, 0.018693617, -0.15281823, -0.17188364, -0.25272366, 0.026025953) * go_5(0.0, 1.0); + result += mat4(0.15970327, -0.011031381, -0.20033363, -0.04695719, 0.048352227, -0.0016179485, -0.057843156, 0.08184532, 0.029011851, 0.12288869, -0.0007196704, -0.12196297, 0.25427872, -0.09587006, -0.07603035, 0.0067141145) * go_5(1.0, -1.0); + result += mat4(-0.18811099, -0.0076463297, 0.17162384, 0.001552174, 0.5296002, 0.012637236, -0.4305403, -0.44700608, 0.024435172, -0.023834689, -0.17837442, 0.030023761, 0.025391584, -0.10389408, 0.028054329, -0.069815405) * go_5(1.0, 0.0); + result += mat4(0.10198799, -0.017247394, -0.102331705, 0.13685812, -0.27715954, 0.10640225, 0.033743538, 0.045423724, -0.13994834, 0.055460025, -0.009399727, 0.015256073, 0.05103997, 0.120834984, 0.0033520947, 0.053223636) * go_5(1.0, 1.0); + result += vec4(-0.024488186, -0.041086167, 0.026466459, -0.025512012); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x1x1x120 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!SAVE conv2d_last_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_1 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_7 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_8 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_10 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_11 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_14 (max((conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) +#define g_15 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_16 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) +#define g_18 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_19 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_20 (max((conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) +#define g_21 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_22 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_23 (max(-(conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) +#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_26 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_27 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_28 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_29 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.01801902, 0.016983684, 0.14704974, 0.13775583, -0.06568407, 0.031903602, -0.057818945, 0.03639395, -0.16158727, -0.11652214, -0.0512031, -0.017740106, 0.0073386175, -0.12396601, -0.08410588, -0.13822778) * g_0; + result += mat4(-0.14072196, 0.013641312, -0.110022426, 0.022624938, -0.053968057, -0.07968724, 0.036026128, 0.034548678, -0.006345876, -0.04177406, -0.10516601, -0.14248538, -0.10635475, 0.032888547, -0.07574279, 0.037366178) * g_1; + result += mat4(0.20902354, -0.03131852, 0.053658944, -0.13953559, -0.0022027926, 0.022661211, 0.02766268, 0.051950134, 0.022593375, -0.16854303, -0.00068382383, -0.15171093, -0.0011307014, 0.03237067, 0.0022356252, 0.05513321) * g_2; + result += mat4(0.057087313, 0.030007327, -0.04517254, -0.10142689, 0.049131192, -0.009568129, 0.07815266, 0.07463051, 0.061763447, 0.15247895, 0.06213266, 0.08260832, 0.08928647, 0.08173359, 0.078985415, 0.20306781) * g_3; + result += mat4(0.024888368, 0.050323978, 0.019135669, 0.042805452, 0.021970041, 0.06761805, -0.021047724, -0.029622229, -0.024018591, -0.013619991, 0.050196014, 0.094873905, 6.3763815e-05, 0.022800315, -0.038917273, -0.023665745) * g_4; + result += mat4(-0.10751045, -0.08052679, 0.0021425171, 0.018060567, 0.0002820803, -0.042460952, -0.0037310636, -0.048854582, 0.07688915, 0.1803434, -0.021755088, 0.076342724, 0.006899015, 0.010482747, -0.04608032, -0.07149793) * g_5; + result += mat4(0.017074876, 0.080092184, -0.096824504, -0.030697478, 0.19260724, 0.031606834, -0.001376051, -0.19222017, -0.029233975, 0.07513273, -0.061539974, 0.004413319, -0.011706104, 0.037078228, 0.0053027975, 0.079575956) * g_6; + result += mat4(-0.08378676, 0.1326312, -0.2575891, -0.055032767, -0.0205247, -0.11107971, 0.048341025, -0.048915315, 0.059188437, -0.111718066, -0.039619286, -0.165657, 0.018990505, 0.0017499351, -0.038804792, -0.086953335) * g_7; + result += mat4(0.08722738, -0.005039459, 0.07542034, -0.061049137, 0.025591044, 0.16946335, -0.114563115, -0.034830607, 0.17842476, 0.11199776, 0.008686021, -0.04142143, 0.09293036, -0.08505899, 0.087229416, -0.102381825) * g_8; + result += mat4(-0.05071452, -0.11384357, 0.11169348, 0.05153077, -0.24056591, -0.056497227, -0.022856226, 0.19383447, 0.02966522, -0.08128601, 0.07467419, -0.019276833, 0.0020969608, 0.029036064, -0.018299947, -0.043434255) * g_9; + result += mat4(0.043311678, -0.102582484, 0.24798667, 0.06873956, 0.0067927428, 0.098214865, -0.04124763, 0.04490437, -0.06492586, 0.07359665, 0.033324532, 0.120802104, -0.02277019, 0.0021284765, 0.028036185, 0.0687184) * g_10; + result += mat4(-0.090083234, -0.0073258677, -0.089089446, 0.04679012, -0.025320487, -0.14760749, 0.13109742, 0.039976012, -0.19494978, -0.10603485, -0.02347976, 0.050328556, -0.098470725, 0.05546942, -0.0589479, 0.09333735) * g_11; + result += mat4(0.011967837, 0.043009043, -0.031999476, 0.022178393, -0.0044910796, -0.023010693, -0.0062060836, -0.031039031, -0.06364646, -0.06365887, -0.029040523, -0.06675782, 0.042098384, 0.032490075, 0.014491912, -0.0011224645) * g_12; + result += mat4(0.018761864, 0.040258046, 0.015349441, 0.018706307, 0.00089981244, -0.02443291, 0.015173669, -0.008663882, -0.028121095, -0.026123954, -0.011663427, 0.007668493, 0.014926302, 0.03380763, -0.031567805, 0.018132508) * g_13; + result += mat4(0.011394552, 0.0090883775, 0.011154194, -0.0044680317, 0.0067254594, -0.013079778, 0.019036228, -0.0028701108, -0.014439092, 0.009564524, -0.0135836145, 0.038879603, 0.009461635, -0.014671546, 0.019386383, -0.007752184) * g_14; + result += mat4(-0.025151528, -0.044746082, 0.030572962, -0.02323665, 0.00077518023, 0.01415367, 0.0053574373, 0.022526693, 0.013129106, 0.03534322, 0.004773132, 0.077551566, -0.04895647, -0.03762353, -5.172888e-05, 0.012251733) * g_15; + result += mat4(0.03152615, 0.018333036, -1.679869e-05, -0.021737477, -0.076627344, 0.014928358, -0.010456622, 0.07781939, 0.027225398, 0.04659384, -0.0070413146, 0.026454208, -0.017691148, -0.045554973, 0.006093557, -0.03178835) * g_16; + result += mat4(-0.018481147, -0.05547381, 0.013941934, -0.024416983, 0.027262108, 0.024724096, 0.0063773487, 0.017461762, 0.027166976, -0.02301659, -0.0051281936, -0.0556913, -0.08051738, -0.04638631, 0.015620527, 0.05266176) * g_17; + result += mat4(0.009157959, 0.08455516, -0.0602788, -0.002439282, -0.02327793, -0.021213762, 0.005698031, 0.002378188, 0.005837403, -0.17286417, 0.13316536, -0.03154805, -0.022410449, -0.047884528, 0.043882124, 0.047745265) * g_18; + result += mat4(-0.008956661, -0.010137066, -0.007736993, 0.012567491, 0.017111477, -0.050893363, 0.001874233, -0.059543177, 0.043244537, 0.07476611, -0.045336626, -0.05902348, 0.006996905, -0.0718768, -0.004126288, -0.0642003) * g_19; + result += mat4(0.015879916, 0.040725194, 0.013168297, 0.045075603, -0.01297648, -0.0059797773, -0.015060089, -0.010935342, 0.02049647, 0.034105264, 0.014809084, 0.008366516, -0.051084228, 0.008029285, -0.04545378, 0.023945345) * g_20; + result += mat4(-0.019541753, 0.0043494124, -0.0001693803, 0.025214057, 0.018182391, 0.027842158, -0.024553766, 0.006766178, -0.029599829, -0.040605135, -0.048153292, -0.018185124, -0.011694039, -0.01453888, -0.022709226, -0.057430573) * g_21; + result += mat4(-0.08764812, 0.075131916, 0.020414736, -0.050893847, -0.004293497, -0.021197274, -0.0018027405, 0.038802553, 0.021213993, 0.04283625, 0.016089795, 0.03304562, 0.028084677, 0.029016564, 0.03612216, 0.057901673) * g_22; + result += mat4(0.0057912855, -0.098451905, 0.036739763, -0.06572119, 0.033765186, 0.12279821, -0.025154155, 0.013806011, -0.024162477, -0.009859432, -0.0021075422, -0.02089062, -0.0021298097, 0.0015791449, -0.020502191, -0.033028405) * g_23; + result += mat4(0.056495182, 0.054205123, 0.032467738, -0.038979713, 0.051377665, -0.0017128112, -0.08553907, 0.08154442, 0.005708859, -0.030467357, 0.056872, 0.033040885, -0.044282306, 0.06320046, -0.077476226, 0.057799205) * g_24; + result += mat4(-0.10876674, 0.08259616, -0.051354583, 0.08138756, 0.012491528, 0.05439006, 0.030529, -0.058732726, 0.018389955, 0.008327744, 0.013216314, -0.017489955, 0.004981595, 0.023339638, -0.019406691, -0.0027005207) * g_25; + result += mat4(0.070612185, 0.053251043, -0.045872025, -0.08984753, 0.02582859, 0.011240578, 0.019407703, 0.006788904, 0.036534656, -0.07338343, -0.06434088, -0.023382546, -0.052568957, -0.065474, 0.047638886, 0.050624263) * g_26; + result += mat4(-0.018035047, -0.078713804, 0.01140521, 0.00012953136, -0.014339465, -0.018948816, 0.04643105, -0.04246953, -0.026791897, 0.02513823, -0.045333434, -0.06504635, -0.024868866, -0.017653162, 0.01686154, -0.007936053) * g_27; + result += mat4(0.042380203, -0.007992952, -0.012940898, -0.018271092, -0.036340363, 0.02297692, -0.0260716, 0.011647489, 0.055189207, -0.089658745, 0.05829902, -0.05787894, -0.08049513, -0.091856234, 0.09487785, 0.060702115) * g_28; + result += mat4(0.0022311446, 0.0078554, -0.021208685, 0.009572731, -0.09023339, 0.016889412, 0.029632647, -0.0034283176, 0.00453538, 0.040616557, 0.023657676, 0.03687379, -0.021128353, -0.020249786, -0.006316465, 0.017151888) * g_29; + result += vec4(0.00032424182, 0.027523492, -0.021710647, 0.0054222327); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x1x1x120 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!SAVE conv2d_last_tf1 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_1 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_7 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_8 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_10 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_11 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_14 (max((conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) +#define g_15 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_16 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) +#define g_18 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_19 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_20 (max((conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) +#define g_21 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_22 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_23 (max(-(conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) +#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_26 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_27 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_28 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_29 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.016576298, -0.013039568, -0.07158028, -0.056509558, -0.06965122, -0.1272158, -0.07288651, -0.10423224, 0.048223313, 0.03172697, 0.014178331, 0.002855858, 0.004538786, 0.034928907, 0.03173054, 0.03412037) * g_0; + result += mat4(0.09168274, 0.056355372, 0.023804985, 0.009515965, 0.024203284, 0.01641063, 0.016683895, -0.012702561, -0.038824845, -0.037673414, -0.010391583, -0.014636746, 0.03192526, -0.02340906, 0.027524544, -0.015568387) * g_1; + result += mat4(-0.0966996, -0.041418746, -0.055650715, 0.002117608, 0.00031688716, -0.008733063, -0.024573568, -0.03425321, -0.036262326, 0.04404278, -0.014729649, 0.05618371, 0.008530102, -0.015607405, 0.015309457, -0.013621667) * g_2; + result += mat4(0.0361472, 0.025806008, 0.0583716, 0.06861344, 0.06315231, 0.10136267, 0.050169814, 0.07334672, -0.029601635, -0.06431154, -0.030672554, -0.042512666, -0.051434014, -0.039382752, -0.050772913, -0.08629934) * g_3; + result += mat4(-0.02201249, -0.03920109, -0.030633967, -0.0530296, -0.016168922, 0.0019067918, -0.014961821, 0.017761061, 0.012465623, 0.01857369, 0.009440995, -0.014336409, 0.0056113736, 0.012547043, 0.019320931, 0.025894852) * g_4; + result += mat4(0.079413086, 0.055332463, 0.023716403, 0.005429431, 0.0043804864, 0.026764238, 0.011610661, 0.03245363, -0.032408644, -0.056873523, -0.0019144824, -0.026196169, -0.03347332, -0.0174185, -0.00020654689, 0.023554688) * g_5; + result += mat4(-0.055310458, -0.079070315, 0.0066684894, -0.034588877, -0.07334732, -0.000985991, -0.011984627, 0.08308032, 0.011794159, -0.0144758625, 0.03586815, 0.009038553, -0.0016798767, 0.045218308, 0.016524237, 0.045677744) * g_6; + result += mat4(0.0083010085, 0.028407311, 0.06600332, 0.07460616, 0.071611166, 0.09643883, 0.034676284, 0.05824412, -0.07973774, -0.030707551, -0.03709346, 0.012161441, -0.02977386, -0.018077906, 0.0017052453, 0.012292145) * g_7; + result += mat4(0.01893072, 0.032129273, 0.010857875, 0.037224095, -0.01413747, -0.047471486, 0.05192984, 0.03202811, -0.05082615, -0.027038824, -0.008331923, 0.03062506, -0.01725524, 0.039917417, -0.010607958, 0.04724454) * g_8; + result += mat4(0.03497211, 0.07911703, 0.016746478, 0.057458322, 0.06088827, -0.0053583174, -0.013933355, -0.10673472, -0.005456845, 0.020259444, -0.03139623, -0.008973998, -0.054345034, -0.035464175, -0.025964592, -0.0021018258) * g_9; + result += mat4(-0.047960743, 0.021779433, -0.11492737, -0.033511925, -0.067273304, -0.07730279, -0.04037016, -0.045080706, 0.09207083, 0.009399112, 0.03178142, -0.011313022, 0.021366931, 0.0051248465, -0.008097426, -0.018301165) * g_10; + result += mat4(0.014282785, -0.01572224, -0.027472818, -0.050844453, 0.0054380163, 0.052591007, -0.04270195, -0.02309884, 0.05152891, 0.03629938, -0.004667278, -0.024925238, 0.010567401, -0.07481508, 0.037315298, -0.04241005) * g_11; + result += mat4(-0.0013873621, 0.028364213, -0.031026626, 0.015620681, 0.004142558, -0.004863661, -0.013809934, -0.021330781, -0.0016021075, -0.002762517, -0.024034528, -0.03442779, -0.0013054899, -0.0042632925, 0.020974873, -0.0022553254) * g_12; + result += mat4(0.018562179, 0.034197688, 0.015277717, -0.01111744, -0.0032272537, -0.013426753, 0.017978273, -0.0015077988, -0.0051653306, 0.012690824, 0.001157489, 0.021362923, -0.01262595, 0.0054670637, -0.03031384, 0.012800636) * g_13; + result += mat4(0.012069964, -0.016048005, 0.01373877, -0.013298124, 0.03194061, -0.013332437, 0.016943898, -0.0058277305, -0.009428097, -0.023061408, -0.013659186, 0.015731167, -0.001986914, -0.019521309, 0.014714155, -0.00522106) * g_14; + result += mat4(0.0007342483, -0.026249036, 0.030117435, -0.015873922, -0.008929299, -0.0023522351, 0.0164302, 0.023790896, -0.03889036, -0.024644645, 0.006634364, 0.046513416, -0.013473101, -0.0140229, 0.0019859916, 0.011869367) * g_15; + result += mat4(0.02573362, 0.02375676, 0.00059617084, -0.016921667, -0.0671785, 0.008825013, -0.0013130646, 0.07261784, 0.010327604, 0.019814448, -0.008936156, 0.013669365, 0.020260049, -0.013921513, 0.018746642, -0.02843792) * g_16; + result += mat4(-0.023912461, -0.02845122, 0.017157353, -0.0075884, 0.00036027908, 0.012657872, 0.0061078435, 0.014107368, 0.032003447, 0.020891502, -0.0067286897, -0.030822601, -0.06574523, -0.028198881, 0.032242246, 0.061325297) * g_17; + result += mat4(0.0074854135, 0.085437536, -0.06426021, -0.011461227, -0.023055596, -0.025802588, 0.005154878, 0.0056105317, 0.0058093905, -0.1922738, 0.14643134, -0.035682995, -0.026076004, -0.053763065, 0.04269994, 0.05141156) * g_18; + result += mat4(-0.011764035, -0.011518187, -0.010223651, 0.015880484, 0.023317069, -0.05618372, 0.0059863995, -0.059199195, 0.04408538, 0.084830545, -0.042056326, -0.057687927, 0.0037303802, -0.082143255, -0.0018375175, -0.071053974) * g_19; + result += mat4(0.0044008377, 0.03906328, 0.010832349, 0.046560295, -0.011535675, -0.004254791, -0.011572009, -0.008665021, 0.021482797, 0.0338495, 0.019407712, 0.010986841, -0.05098764, 0.009778762, -0.05300968, 0.021800417) * g_20; + result += mat4(-0.021229895, 0.003305197, 0.0024396733, 0.02508984, 0.012702334, 0.033208802, -0.03008867, 0.0046940153, -0.030033346, -0.03792949, -0.05176272, -0.022788247, -0.012390274, -0.0135713285, -0.021557398, -0.06371822) * g_21; + result += mat4(-0.08850463, 0.0793453, 0.020550407, -0.05461798, -0.009402199, -0.027972376, -0.005156784, 0.02965216, 0.017268548, 0.04429356, 0.009809255, 0.031682562, 0.031172305, 0.03379402, 0.04395453, 0.062268186) * g_22; + result += mat4(0.01247631, -0.100407876, 0.042796645, -0.06502109, 0.032900713, 0.13428093, -0.033733122, 0.016222714, -0.0178732, -0.002501202, 0.0035485916, -0.015802957, -0.012150594, -0.0022097295, -0.023347225, -0.038795106) * g_23; + result += mat4(0.05938152, 0.059704512, 0.030237982, -0.04353414, 0.055702258, -0.0029182534, -0.09416582, 0.08440017, 0.008828504, -0.03065552, 0.0646233, 0.03629834, -0.04788823, 0.071730554, -0.084519096, 0.05947715) * g_24; + result += mat4(-0.109025195, 0.08866299, -0.047770992, 0.08894294, 0.014965939, 0.059702646, 0.032068793, -0.053778123, 0.019529643, 0.008203253, 0.014628202, -0.017464165, 0.0060448833, 0.027196955, -0.018907491, -0.0026503608) * g_25; + result += mat4(0.081304245, 0.06199502, -0.045204166, -0.08596196, 0.028582547, 0.011568329, 0.024607504, 0.007910688, 0.035362624, -0.08241612, -0.06848065, -0.026512494, -0.04969066, -0.065509185, 0.050000466, 0.05400427) * g_26; + result += mat4(-0.015837632, -0.087357126, 0.015269297, 0.00058823347, -0.01621553, -0.020170743, 0.049107697, -0.043301217, -0.025253763, 0.021026319, -0.047297694, -0.06751796, -0.020940255, -0.019703854, 0.020391362, -0.0049682967) * g_27; + result += mat4(0.042480465, -0.010125742, -0.016281988, -0.023186147, -0.040653005, 0.022371864, -0.028837234, 0.009938319, 0.0576169, -0.09105783, 0.06033278, -0.057518024, -0.08265035, -0.094854854, 0.10116602, 0.06394465) * g_28; + result += mat4(-0.0027242866, 0.007224464, -0.026375424, 0.0052841473, -0.09330453, 0.010634226, 0.024063759, -0.005130613, 0.0070950384, 0.048039638, 0.029983977, 0.042704105, -0.018214077, -0.020184115, -0.0073092347, 0.01891303) * g_29; + result += vec4(0.026287671, 0.015689341, 0.021467328, 0.0052872337); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Conv-4x1x1x120 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_2_tf2 +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_4_tf2 +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_5_tf2 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!SAVE conv2d_last_tf2 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_1 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_2_tf2_tex(conv2d_2_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_7 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_8 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_10 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_11 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_14 (max((conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) +#define g_15 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_16 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf2_tex(conv2d_4_tf2_pos)), 0.0)) +#define g_18 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_19 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_20 (max((conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) +#define g_21 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_22 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_23 (max(-(conv2d_5_tf2_tex(conv2d_5_tf2_pos)), 0.0)) +#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_26 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_27 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_28 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_29 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.20584391, 0.22176251, 0.12817344, 0.16349226, 0.24339934, 0.17479841, 0.23518398, 0.19196586, 0.10900553, 0.080384456, 0.049235467, 0.027794728, -0.05141681, 0.0007015638, -0.010815038, 0.0042753317) * g_0; + result += mat4(0.0714463, 0.026722606, -0.01580307, -0.036710627, 0.13722661, 0.1325067, 0.12155393, 0.092651665, -0.21974826, -0.22233371, -0.16056158, -0.16607761, -0.10291634, -0.19475317, -0.117747545, -0.18824245) * g_1; + result += mat4(0.0385657, 0.12090414, 0.09484494, 0.18811698, 0.015320313, 0.0051719607, -0.016927784, -0.03450855, -0.06506198, 0.05625437, -0.02982918, 0.06270707, -0.13614634, -0.16412087, -0.1319045, -0.1733402) * g_2; + result += mat4(-0.2033194, -0.2067332, -0.16234529, -0.13661149, -0.22975448, -0.1841141, -0.26185742, -0.23617432, -0.058616254, -0.11470092, -0.064833924, -0.082624085, 0.0018012474, 0.010971402, -0.0015926235, -0.056720145) * g_3; + result += mat4(0.012773226, -0.013976976, 0.007706423, -0.022663448, -0.13764867, -0.121803656, -0.12158649, -0.090470046, 0.22548035, 0.22929274, 0.19819829, 0.16713546, 0.15709636, 0.16574621, 0.17671035, 0.18283793) * g_4; + result += mat4(-0.042175665, -0.07863977, -0.1209475, -0.14067635, 0.0041970555, 0.03598768, 0.009632853, 0.040009186, -0.014479617, -0.060088724, 0.041292075, -0.004627034, 0.09958161, 0.120460846, 0.15672928, 0.18279101) * g_5; + result += mat4(-0.03370265, -0.07010845, 0.04648067, -0.007877368, -0.11963536, -0.014810524, -0.01556151, 0.11850641, -0.0021221144, -0.050126694, 0.03193186, -0.012815193, -0.019450104, 0.017504638, -0.007544723, 0.0028710878) * g_6; + result += mat4(-0.018643383, -0.04445287, 0.07541755, 0.043240048, 0.027209729, 0.06499946, -0.018240616, 0.014570308, -0.058010563, 0.019799259, 0.0030194358, 0.06929909, -0.0056114118, 0.009093819, 0.03223382, 0.053046633) * g_7; + result += mat4(-0.0133113945, 0.019222038, -0.019711712, 0.03676041, -0.040668692, -0.09569124, 0.053240422, 0.02388429, -0.12218938, -0.08086858, -0.043406986, 0.009516919, -0.04289723, 0.056066234, -0.035658766, 0.061961327) * g_8; + result += mat4(0.023964832, 0.07624368, -0.020873679, 0.0256053, 0.12444348, 0.017517762, 0.0049669463, -0.13534403, 0.0061981925, 0.052108612, -0.02908856, 0.0135363275, -0.030678025, -0.015180554, -0.003328521, 0.021289025) * g_9; + result += mat4(-0.02231607, 0.09188703, -0.13311718, -0.009214322, -0.021628553, -0.047853045, 0.014602204, 0.00086198986, 0.06729613, -0.04228859, -0.0030271288, -0.066696614, -0.0071333526, -0.019973027, -0.036203787, -0.056756962) * g_10; + result += mat4(0.05850421, -0.0047896104, -0.0036014696, -0.05261781, 0.020924669, 0.093680315, -0.061118666, -0.020405825, 0.100053616, 0.061513033, 0.018219335, -0.02082051, 0.039510462, -0.08404035, 0.050883695, -0.052642383) * g_11; + result += mat4(0.0018722751, 0.020684525, -0.02356179, 0.009360695, 0.0036660347, -0.006931955, -0.015446396, -0.02027952, 0.006836204, 0.00341897, -0.020235445, -0.029695021, -0.0053638928, -0.003108307, 0.016338514, -0.0058539147) * g_12; + result += mat4(0.021255454, 0.036906153, 0.019704418, -0.009486708, -0.009084271, -0.012694315, 0.012314602, -0.002121502, -0.0047310013, 0.0051953527, 0.005284111, 0.019026738, -0.0082058, 0.0032704875, -0.02295881, 0.009902225) * g_13; + result += mat4(0.01866446, -0.012482591, 0.011301323, -0.011294572, 0.035305023, -0.002237504, 0.010679519, -0.000508338, 8.54808e-05, -0.02033275, -0.008063064, 0.013109392, 0.0002144853, -0.007573196, 0.015446864, 0.0023629267) * g_14; + result += mat4(-0.00978586, -0.025148384, 0.024103062, -0.009535831, -0.002879648, 0.0012579657, 0.018271701, 0.02113783, -0.03735869, -0.02581921, 0.005823926, 0.04087479, -0.0077521144, -0.012728182, 0.0067631016, 0.012669306) * g_15; + result += mat4(0.018013993, 0.026847519, 0.0021338093, -0.010125906, -0.07225123, -0.0025745684, -0.012799456, 0.056836564, 0.011377961, 0.017062144, -0.007494936, 0.010489539, 0.012431433, -0.019703059, 0.007082196, -0.031403106) * g_16; + result += mat4(-0.027560756, -0.030534893, 0.019047359, -0.0068690516, -0.0069791237, 0.0081298705, 0.0028945836, 0.009644792, 0.023117492, 0.020431874, -0.0056545194, -0.02480413, -0.07047867, -0.037890248, 0.025276575, 0.049277883) * g_17; + result += mat4(0.015748044, 0.086017504, -0.051286206, -0.003599236, -0.023193073, -0.023733998, 0.002799065, 0.005258185, 0.010922322, -0.17615142, 0.14165695, -0.029909663, -0.017889502, -0.046552524, 0.03964598, 0.049426638) * g_18; + result += mat4(-0.0073433192, -0.011656557, -0.0068763834, 0.014078096, 0.018000547, -0.053453963, 0.00786442, -0.050999343, 0.04133596, 0.079854034, -0.038685665, -0.053702615, -0.0019746814, -0.07859513, -0.0076702842, -0.067455895) * g_19; + result += mat4(0.009444058, 0.043747634, 0.018948376, 0.05009854, -0.011580162, -0.0065071583, -0.013997229, -0.011439345, 0.023656886, 0.030394329, 0.02134696, 0.009440647, -0.048070773, 0.007841886, -0.05323206, 0.013742174) * g_20; + result += mat4(-0.019898156, 0.000818382, 0.0010332671, 0.01928002, 0.013191405, 0.029638033, -0.02320344, 0.007421591, -0.02833562, -0.033782348, -0.04978492, -0.020176657, -0.0138621945, -0.013926801, -0.021230116, -0.058447562) * g_21; + result += mat4(-0.08644919, 0.073316105, 0.017838318, -0.049475558, -0.007295481, -0.025924034, -0.0068463665, 0.024905838, 0.016891189, 0.041490942, 0.011466327, 0.029829478, 0.034047317, 0.036229853, 0.04733451, 0.062059373) * g_22; + result += mat4(0.008540078, -0.09782984, 0.037032314, -0.063398704, 0.028395759, 0.12369336, -0.03458798, 0.012534729, -0.02110072, -0.007954169, -0.002136603, -0.019739889, -0.01087704, -0.004243762, -0.019832188, -0.03347458) * g_23; + result += mat4(0.054272063, 0.053247515, 0.025393743, -0.043571323, 0.05035569, -0.0042993715, -0.08645438, 0.07723826, 0.009475109, -0.026420964, 0.06111581, 0.03551816, -0.040812302, 0.07295332, -0.07636345, 0.059867676) * g_24; + result += mat4(-0.103165455, 0.07943813, -0.04935193, 0.0776962, 0.0149123045, 0.056066703, 0.028792242, -0.051936194, 0.015754307, 0.004817783, 0.011213326, -0.018288456, 0.004715879, 0.02536934, -0.015915168, -0.0008426239) * g_25; + result += mat4(0.0723322, 0.054040924, -0.0476729, -0.08399067, 0.024805048, 0.0118207345, 0.022066418, 0.006886721, 0.031156952, -0.07442044, -0.06636254, -0.023382878, -0.051537152, -0.06360144, 0.045075376, 0.050795015) * g_26; + result += mat4(-0.013090917, -0.0783513, 0.014832963, 0.0033018794, -0.014636453, -0.020164138, 0.043610837, -0.04028102, -0.024922965, 0.017962486, -0.045353472, -0.065985985, -0.020156763, -0.019561546, 0.01627726, -0.0065625296) * g_27; + result += mat4(0.038890418, -0.007016582, -0.01374995, -0.01861392, -0.03940205, 0.019309007, -0.026372327, 0.0079260105, 0.05348645, -0.087648585, 0.057326347, -0.055338904, -0.07803935, -0.09048593, 0.09173596, 0.05747143) * g_28; + result += mat4(0.001742558, 0.010703091, -0.021057613, 0.006859906, -0.086059436, 0.008977797, 0.021366948, -0.0043655075, 0.005885378, 0.042646274, 0.028150525, 0.037941158, -0.014817959, -0.016695084, -0.0056764153, 0.019049013) * g_29; + result += vec4(0.0113136405, -0.0063769994, 0.010973808, -0.011560247); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(UL)-Depth-to-Space +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_last_tf +//!BIND conv2d_last_tf1 +//!BIND conv2d_last_tf2 +//!SAVE MAIN +//!WIDTH conv2d_last_tf.w 2 * +//!HEIGHT conv2d_last_tf.h 2 * +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +vec4 hook() { + vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); + ivec2 i0 = ivec2(f0 * vec2(2.0)); + float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; + vec2 f1 = fract(conv2d_last_tf1_pos * conv2d_last_tf1_size); + ivec2 i1 = ivec2(f1 * vec2(2.0)); + float c1 = conv2d_last_tf1_tex((vec2(0.5) - f1) * conv2d_last_tf1_pt + conv2d_last_tf1_pos)[i1.y * 2 + i1.x]; + vec2 f2 = fract(conv2d_last_tf2_pos * conv2d_last_tf2_size); + ivec2 i2 = ivec2(f2 * vec2(2.0)); + float c2 = conv2d_last_tf2_tex((vec2(0.5) - f2) * conv2d_last_tf2_pt + conv2d_last_tf2_pos)[i2.y * 2 + i2.x]; + float c3 = c2; + return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_VL.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_VL.glsl new file mode 100644 index 0000000..7700a24 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_VL.glsl @@ -0,0 +1,969 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.3053028, -0.037464816, 0.113983095, 0.12537485, -0.18630321, 0.084269725, -0.01351514, -0.20190673, -0.12298384, -0.037622184, -0.070214555, -0.19367279, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.41849324, 0.099702746, -0.04276645, -0.047299717, 0.20074473, 0.14217933, 0.15571699, 0.19553481, 0.21868695, -0.053848714, 0.016413521, 0.14117444, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.030540446, -0.052293833, 0.0715466, -0.31160545, 0.07808315, -0.16860045, 0.032828577, -0.2955024, -0.110374965, 0.04043687, -0.014024628, 0.058699366, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.10727635, 0.054200135, 0.20853694, 0.21086875, 0.122690216, -0.091823794, 0.310609, -0.01738923, -0.0013488946, 0.10835534, -0.077265196, 0.086751856, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.77150255, 0.40530515, -0.41257596, -0.14367618, 0.46888494, 0.2650122, -0.934199, 0.40476102, 0.32293493, 0.20251967, 0.19891106, -0.29698747, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.12505147, -0.41904053, -0.065798186, 0.34075752, 0.026240354, -0.2977496, 0.032647505, -0.003566783, 0.10290523, -0.23417123, -0.06014203, 0.094735645, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.11207838, -0.04062474, 0.023897955, 0.08605987, -0.020888371, 0.045541205, -0.07231824, -0.25884083, -0.11796847, -0.002691391, 0.0050435597, 0.02756291, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.4615728, 0.041790638, 0.08971143, 0.20213957, -0.38537467, 0.19938901, 0.08594364, -0.08621994, -0.08163473, -0.133266, -0.09561729, -0.014209637, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.0787417, -0.0483673, 0.07621572, -0.060169693, -0.013465177, -0.17152289, 0.02515561, 0.17675288, -0.05173998, 0.10768042, -0.029858522, -0.013957215, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.0072128535, -0.05658625, 0.052939568, -0.1760861); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.112743355, 0.0422517, 0.21350034, -0.0967133, 0.16265953, 0.0022497, 0.015078242, 0.08204187, 0.035236806, -0.0468228, -0.09464228, -0.001864949, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.25631642, -0.41485596, -0.16662048, 0.13201024, 0.057921384, 0.2240005, -0.30038536, -0.08305622, 0.2228756, 0.32263795, 0.10608189, -0.18616734, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.08997524, 0.11516871, 0.19212262, -0.035154644, 0.11612274, -0.04056247, 0.14974374, 0.029173585, -0.07629641, -0.14353512, 0.041081246, 0.20230265, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.2262286, 0.055954933, -0.14499907, 0.17314723, 0.16590612, -0.06688698, -0.11118816, -0.012938116, -0.043101817, 0.026133137, 0.2958395, 0.06543993, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.07311521, -0.3041244, -0.47978505, -0.6350967, -0.17432262, 0.34965977, 0.25399777, -0.16590433, -0.49957857, 0.0549526, -0.40869385, -0.08780993, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.3014447, -0.00021343959, -0.14953177, 0.028001398, -0.14931908, -0.14910097, -0.13287953, -0.45026535, 0.17378895, 0.024704922, -0.027308129, -0.10292025, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.06732655, -0.13119644, 0.066014715, 0.081011154, -0.15154321, 0.2407805, 0.07733481, 0.12312706, 0.1741804, 0.008495716, -0.14125362, -0.043644864, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.11465958, 0.42001364, 0.011069392, 0.3203028, -0.058801666, -0.37830314, -0.030540617, 0.2245139, -0.11310525, -0.14845212, 0.19957744, 0.25789997, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.16037206, 0.21326372, 0.020099448, 0.018666709, 0.122083254, -0.16033986, -0.10725163, 0.2556128, 0.1650688, -0.10475823, 0.048623525, -0.103755645, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.007717166, -0.027800834, 0.0795002, 0.0053199283); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.0056740534, -0.21186607, -0.18014967, 0.118979976, -0.0015611284, -0.07708486, 0.060131397, 0.11653345, 0.027150517, 0.10837246, 0.08583816, -0.14032431, 0.017552888, 0.0035846964, 0.03980114, 0.064649396) * go_0(-1.0, -1.0); + result += mat4(-0.03289318, -0.12004539, 0.26514888, -0.15079662, 0.04214227, -0.027273783, -0.027950313, 0.19614808, 0.18510003, -0.10346252, -0.029836183, 0.09174428, -0.0088710375, -0.18273513, 0.06601674, 0.009983851) * go_0(-1.0, 0.0); + result += mat4(0.08476211, 0.043996535, 0.056711517, 0.009976895, 0.07039107, -0.024862664, -0.059921104, 0.046850603, 0.04983447, 0.04863198, 0.21777405, -0.0576961, 0.045321796, -0.0060038245, 0.096396215, -0.10842004) * go_0(-1.0, 1.0); + result += mat4(-0.15746164, 0.041757874, 0.035169285, -0.1734288, -0.24219254, -0.13318908, 0.2272079, -0.02902605, 0.07750601, -0.1467191, -0.12296749, -0.07533314, -0.07073083, 0.17909113, 0.04789308, 0.17245363) * go_0(0.0, -1.0); + result += mat4(0.057547905, 0.1464685, -0.33115456, -0.26956198, -0.26298407, -0.059824817, 0.022509675, -0.09251868, 0.36277944, -0.2072429, 0.21095088, -0.45492023, 0.07428653, 0.1593302, -0.2945834, 0.12825087) * go_0(0.0, 0.0); + result += mat4(-0.1318458, 0.27804148, 0.037600737, 0.12047866, 0.0065036337, 0.0017241207, 0.060497303, -0.14786585, -0.15149063, 0.02731698, 0.048886403, -0.0025970868, -0.026979815, 0.07348884, 0.015636757, -0.107966796) * go_0(0.0, 1.0); + result += mat4(-0.079988025, -0.01626299, 0.06517438, 0.086406484, -0.1484504, 0.070595, 0.20620634, 0.09713373, -0.13620836, 0.012067949, -0.00068703433, -0.038030174, 0.22300471, -0.0012400965, -0.014827909, -0.08927486) * go_0(1.0, -1.0); + result += mat4(0.15634936, 0.052028038, 0.038081627, 0.12720168, 0.07342066, -0.04318368, -0.0065998454, 0.12109317, -0.45398173, 0.03666754, -0.17773737, 0.038516667, -0.13009632, -0.007457001, -0.013938809, 0.09776142) * go_0(1.0, 0.0); + result += mat4(0.029636936, 0.12864171, 0.11347291, -0.11812842, -0.0870342, 0.035678383, 0.050338242, 0.045754932, -0.07072752, 0.010447726, 0.039642975, -0.08795004, -0.1191525, 0.00967509, 0.13485421, -0.053204738) * go_0(1.0, 1.0); + result += mat4(-0.011072695, -0.09613245, -0.09094804, 0.028029291, -0.04031162, 0.15690295, 0.25094184, -0.21776834, 0.06524669, 0.06412185, -0.052852992, -0.08097702, -0.039127756, 0.036357917, 0.104585476, 0.25095442) * go_1(-1.0, -1.0); + result += mat4(-0.08328618, -0.006246033, 0.099708706, -0.014916097, 0.17727195, 0.4369228, 0.14760216, 0.06707674, 0.025167737, -0.022487842, -0.038962565, 0.15380669, 0.08125089, 0.09844594, 0.33538374, -0.003161368) * go_1(-1.0, 0.0); + result += mat4(-0.0128195705, -0.05475118, -0.037705053, -0.0012077648, -0.17425515, 0.091487505, -0.12909423, 0.0074876705, 0.13438368, 5.778033e-05, 0.04563314, -0.12185897, -0.053612474, -0.049824294, -0.12851205, 0.12856449) * go_1(-1.0, 1.0); + result += mat4(-0.025741795, 0.01867236, -0.00027440622, 0.10502768, 0.27042285, -0.14947751, 0.11143123, 0.2575913, -0.07414089, -0.33919522, -0.13194235, -0.20088726, 0.23121537, -0.08197353, 0.06693911, 0.015411386) * go_1(0.0, -1.0); + result += mat4(0.09143717, 0.22842278, 0.06501074, -0.20009698, -0.042117566, -0.23452093, -0.074082755, -0.10612558, 0.077631965, 0.08343657, -0.07657599, -0.43297377, 0.7092466, -0.16272525, 0.17222248, -0.056038965) * go_1(0.0, 0.0); + result += mat4(0.081200436, 0.046752565, 0.028254949, 0.18820632, 0.096592255, 0.05896745, 0.14845169, 0.034777895, 0.07195204, -0.1908046, -0.015341971, 0.02606145, -0.010377239, 0.0755547, -0.15285216, 0.047916733) * go_1(0.0, 1.0); + result += mat4(-0.06825636, -0.049540907, -0.024328846, 0.03506251, 0.2060094, 0.054119263, -0.06671269, 0.052428722, 0.055792283, -0.14336903, -0.03180757, 0.013760968, -0.037398104, -0.06880077, -0.023608573, 0.0360965) * go_1(1.0, -1.0); + result += mat4(-0.16937497, -0.30156836, 0.0021435453, 0.025772978, -0.17990975, 0.046133514, -0.32447076, -0.083382785, -0.081322014, -0.022132374, -0.05319431, 0.11794733, 0.08943906, 0.12927428, 0.105764806, -0.051034793) * go_1(1.0, 0.0); + result += mat4(-0.011012306, 0.047636557, 0.050260928, 0.051847618, 0.010985655, -0.13752967, 0.023869954, 0.07011459, -0.18244945, 0.07239806, -0.013638856, -0.026982805, 0.11395993, -0.031304818, -0.08714153, 0.077115685) * go_1(1.0, 1.0); + result += mat4(0.08707592, 0.2265186, 0.13363098, -0.039588258, -0.029561255, 0.019238092, 0.024606103, -0.0019022018, -0.062285982, -0.0629511, -0.03753033, 0.109805316, 0.016018672, -0.08284564, -0.04092752, -0.030386891) * go_2(-1.0, -1.0); + result += mat4(0.0016500859, 0.01616536, -0.099148355, 0.24161765, 0.028064307, -0.028680569, 0.054400917, -0.1978921, -0.08584302, -0.096797146, -0.06546965, -0.09342837, 0.030265866, 0.07057579, -0.02080932, 0.053178705) * go_2(-1.0, 0.0); + result += mat4(-0.030304352, 0.047440585, -0.04248429, 0.08568772, -0.051317703, 0.036739342, 0.00865767, -0.018183297, -0.07335176, 0.025001721, -0.068509035, 0.1814819, -0.09756565, -0.024179723, -0.05959287, 0.0352454) * go_2(-1.0, 1.0); + result += mat4(0.023015196, -0.022870664, -0.12028372, -0.111095205, 0.11065281, -0.19900022, -0.24012049, -0.017028643, -0.13484617, 0.050107025, 0.10741765, 0.037951697, 0.013090438, -0.0010045726, -0.029447839, -0.1859787) * go_2(0.0, -1.0); + result += mat4(0.17922719, -0.24138594, -0.44595388, -0.032014426, 0.06897096, 0.07125395, 0.1944457, -0.035794795, -0.24022278, -0.13230884, -0.1277025, 0.21229011, -0.12249393, 0.06141907, 0.2687936, -0.26896995) * go_2(0.0, 0.0); + result += mat4(0.0397242, -0.30710965, 0.28815824, -0.06642567, -0.07588877, -0.019552408, 0.0057806037, 0.11465521, 0.03560534, -0.10640553, 0.023589289, -0.16667193, 0.02066607, -0.01026633, -0.02655378, 0.082493655) * go_2(0.0, 1.0); + result += mat4(-0.007902949, -0.08501038, -0.029395591, -0.07072227, -0.01800967, -0.14564751, -0.08372804, -0.049974415, 0.1756957, -0.02042449, -0.04413007, -0.016873527, -0.2385717, -0.001741017, 0.08298281, -0.019873247) * go_2(1.0, -1.0); + result += mat4(-0.01803727, 0.0642893, 0.21513617, 0.066888265, -0.042107955, -0.123470366, 0.045296013, -0.11958806, 0.48208967, -0.027188249, 0.12136116, 0.05246265, 0.13522038, -0.016297493, 0.028486907, -0.059840377) * go_2(1.0, 0.0); + result += mat4(-0.1373251, -0.11281026, -0.06418318, 0.08444032, 0.062874556, -0.009133875, -0.049571835, -0.042995855, 0.12483249, -0.025967957, -0.11202483, 0.09862257, 0.099986054, 0.009230306, -0.09042664, 0.046612263) * go_2(1.0, 1.0); + result += mat4(0.03203309, 0.106030256, 0.045741174, -0.020529225, -0.028610658, -0.055219248, -0.21404657, 0.07746393, -0.059359375, 0.0033258004, -0.0054513607, 0.06856653, 0.18043655, -0.119936846, -0.05639265, -0.10240379) * go_3(-1.0, -1.0); + result += mat4(-0.0004331875, 0.10426754, -0.008130048, 0.012795991, -0.14372933, -0.40797862, 0.105197415, -0.0041354536, -0.079792455, 0.0914027, 0.012418237, -0.11449173, 0.020261409, -0.14681602, -0.13355242, 0.18290488) * go_3(-1.0, 0.0); + result += mat4(0.052306626, 0.010864275, -0.072627716, -0.009773121, 0.09484167, -0.09631301, 0.14896165, -0.21220942, -0.11994051, -0.002957136, -0.118194886, 0.08661347, 0.10005298, -0.029620873, 0.101668894, 0.0242806) * go_3(-1.0, 1.0); + result += mat4(-0.055188183, -0.06322889, 0.12994595, 0.03140751, -0.092755616, 0.04239107, 0.18460171, 0.08471877, 0.014203371, 0.13608724, 0.035351243, -0.07883493, -0.10067456, 0.14417742, 0.0054235114, 0.100745104) * go_3(0.0, -1.0); + result += mat4(-0.043811034, -0.16055201, -0.11927185, 0.20517266, 0.16734722, 0.27720267, 0.1205665, 0.045803893, -0.07874647, 0.06764307, -0.11157022, 0.080770165, -0.044105835, -0.03276538, -0.10945451, 0.100562036) * go_3(0.0, 0.0); + result += mat4(-0.044731796, -0.12854387, -0.061937924, -0.21604767, -0.036132332, -0.024353411, -0.16718283, 0.14903957, -0.11620588, 0.14563644, 0.23363836, 0.08400659, 0.15248756, -0.1424437, 0.112882614, -0.04096889) * go_3(0.0, 1.0); + result += mat4(-0.0486021, -0.05714939, 0.042517707, -0.06106919, -0.12970918, -0.071898215, -0.044727243, -0.026308542, 0.05687118, -0.0394057, -0.109454155, -0.0021216893, 0.018588595, 0.08061093, 0.0500373, -0.0034918839) * go_3(1.0, -1.0); + result += mat4(0.11269324, -0.17924047, -0.12965205, -0.07287767, -0.015830642, -0.044497102, 0.20014328, -0.14054494, 0.1232692, 0.2395109, 0.14093149, 0.03518561, -0.14088139, -0.09045081, -0.07283352, 0.053434785) * go_3(1.0, 0.0); + result += mat4(0.020512339, 0.026349569, -0.06666101, 0.05554806, -0.03044066, 0.26656216, 0.019155584, -0.12118906, 0.087923005, -0.1716557, 0.050843164, 0.037432503, -0.030232614, 0.030457936, 0.04232163, -0.066400655) * go_3(1.0, 1.0); + result += vec4(-0.0216415, 0.09015036, -0.030761974, -0.26541537); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.04688368, 0.13853125, 0.1714716, -0.03034447, -0.08090605, 0.1225867, 0.17535992, 0.012508419, -0.0010665918, -0.07481546, -0.15541986, 0.0671128, -0.029307734, -0.076674186, 0.03925896, -0.07140553) * go_0(-1.0, -1.0); + result += mat4(-0.13273083, 0.062933214, 0.04200143, -0.0080243945, -0.120439716, -0.090192355, -0.022639645, 0.00020024918, -0.11211478, -0.12949537, 0.025783822, 0.009155746, 0.01004339, -0.0661901, 0.10630156, 0.053137038) * go_0(-1.0, 0.0); + result += mat4(0.07113487, -0.16011865, -0.10838903, -0.0034704183, 0.110606894, -0.14915739, 0.036511585, -0.003103608, -0.0551775, -0.13140677, 0.05270299, 0.12139221, 0.02226174, 0.008415268, -0.06647426, 0.118130066) * go_0(-1.0, 1.0); + result += mat4(-0.045172617, -0.0020388453, -0.27287582, 0.002428232, -0.2833772, 0.13788106, 0.073339015, 0.10666715, 0.08455194, 0.16499293, 0.089058325, 0.008815447, 0.034657538, -0.109856166, -0.11499077, -0.02918854) * go_0(0.0, -1.0); + result += mat4(0.07910854, -0.26334837, -0.3246593, -0.08246522, 0.09211476, 0.40793833, -0.09658794, -0.14430091, -0.50632644, 0.087234974, 0.26298127, 0.3687086, 0.06492316, 0.23082961, 0.18233871, -0.09283792) * go_0(0.0, 0.0); + result += mat4(-0.022744032, 0.21690565, 0.2694824, -0.12230013, -0.07969618, 0.21595429, -0.034979805, 0.008938489, 0.21289209, -0.446482, -0.042927746, -0.13587558, -0.032581557, -0.07182814, -0.054092336, -0.009542036) * go_0(0.0, 1.0); + result += mat4(-0.0034912943, -0.080354184, -0.08577375, -0.1521193, 0.09809233, 0.034529503, -0.100664355, 0.008191219, -0.014303411, -0.02862216, -0.18669915, -0.12384598, 0.046499267, 0.093707144, 0.10661308, 0.15079576) * go_0(1.0, -1.0); + result += mat4(-0.031025652, -0.0384342, 0.14258307, 0.25531343, 0.0075049917, -0.03966595, 0.062381975, 0.19593526, -0.2868182, 0.03162008, -0.4391041, -0.524017, -0.034463473, -0.0066741486, -0.24586639, 0.10521736) * go_0(1.0, 0.0); + result += mat4(-0.07452321, -0.0227877, -0.025402244, 0.115727395, -0.039511252, -0.07785703, -0.013689458, 0.0066024344, -0.052957747, 0.011206241, -0.0021671024, 0.077190824, -0.11709912, 0.046635598, 0.123751156, -0.03712064) * go_0(1.0, 1.0); + result += mat4(0.055411004, -0.0020031065, 0.06685547, -0.018829947, -0.06378933, -0.18389674, -0.0023551763, 0.0670314, 0.13038594, 0.0601923, -0.03035789, -0.019537423, -0.014483204, -0.056800704, 0.08663347, -0.106859975) * go_1(-1.0, -1.0); + result += mat4(-0.06603686, 0.07360526, -0.0072026253, -0.06778907, -0.039178446, 0.012397263, -0.13482279, 0.05745685, -0.055182382, -0.10545766, 0.003857615, 0.041947857, -0.15239377, 0.041826613, 0.058879383, -0.0042669442) * go_1(-1.0, 0.0); + result += mat4(-0.0697229, -0.010702144, -0.032265816, 0.013317131, 0.105028264, 0.21032134, 0.06845646, -0.018358687, 0.064568676, 0.08437135, -0.000723181, 0.1324007, 0.05527932, -0.049871888, -0.10125047, -0.005040889) * go_1(-1.0, 1.0); + result += mat4(-0.006467578, -0.05120533, -0.011780779, -0.011742203, -0.34242442, -0.020819988, 0.17381702, -0.059836414, -0.028882682, 0.23210457, 0.16579404, -0.03708216, -0.23541835, -0.03290251, 0.029319672, 0.26189178) * go_1(0.0, -1.0); + result += mat4(-0.30955994, -0.06408282, -0.16872866, 0.10767772, -0.041430887, 0.051697977, 0.12523535, -0.060389146, 0.026289431, 0.06359533, 0.13526368, 0.2479901, -0.3263977, 0.10216362, -0.0030894123, 0.046437826) * go_1(0.0, 0.0); + result += mat4(0.10061438, -0.17047118, -0.21593021, -0.023389054, -0.17507865, -0.30822313, -0.22044766, 0.16078933, 0.07099252, -0.11573018, 0.24712858, -0.0659458, -0.037504572, -0.12297423, 0.03342632, -0.058119852) * go_1(0.0, 1.0); + result += mat4(-0.020957774, -0.0224927, 0.04069268, -0.07911167, 0.074009344, 0.065916434, 0.008222278, 0.11625076, -0.25299504, 0.03357169, -0.021988, 0.015821831, -0.0021187372, -0.030700417, -0.004374924, 0.027358979) * go_1(1.0, -1.0); + result += mat4(0.06549052, -0.048067164, 0.05489091, -0.28851983, 0.13378961, 0.026875904, -0.09877994, -0.19947459, -0.1274035, -0.022928834, -0.26344195, -0.025870804, 0.022505255, 0.0070861108, 0.121051334, -0.025964163) * go_1(1.0, 0.0); + result += mat4(0.059426542, -0.0327433, 0.2313695, -0.07046268, 0.20479666, 0.027021704, 0.2564928, -0.11689885, -0.07407976, -0.019611249, 0.093463086, -0.121553615, 0.035009407, -0.008135333, -0.075931996, 0.047803063) * go_1(1.0, 1.0); + result += mat4(-0.059434246, -0.1652242, -0.124611154, 0.04743711, 0.10530296, -0.13869187, -0.036534663, -0.035206333, 0.06067593, 0.06126907, 0.120151915, -0.06722673, 0.008103894, 0.037225723, -0.007520425, 0.065720856) * go_2(-1.0, -1.0); + result += mat4(-3.6759695e-05, -0.036789574, 0.013370567, -0.037871476, -0.013454664, 0.15086569, 0.10164699, 0.057703357, -0.12871023, 0.12827681, -0.055057358, -0.040753044, -0.0142621, 0.08563361, -0.04615499, -0.03130452) * go_2(-1.0, 0.0); + result += mat4(-0.117965914, 0.09056485, 0.07272314, 0.009695964, -0.11331058, 0.07467256, -0.08291521, 0.00937355, -0.04097737, 0.07752905, -0.017335521, -0.12539999, 0.039462104, -0.0007037007, 0.06034812, -0.09497377) * go_2(-1.0, 1.0); + result += mat4(0.20828065, 0.0400099, 0.047638226, -0.046423353, -0.026133502, 0.098207295, 0.056742374, 0.017029466, -0.058164768, -0.046973787, -0.17328712, -0.0012984811, 0.050085854, 0.11296557, 0.12639083, 0.058543045) * go_2(0.0, -1.0); + result += mat4(-0.098907426, 0.22031747, 0.101559944, 0.06616554, 0.026110496, 0.56487054, 0.23754556, -0.07540935, 0.31768414, -0.47653618, 0.015073956, -0.33731326, 0.087285936, -0.24593173, -0.26141426, 0.15003823) * go_2(0.0, 0.0); + result += mat4(0.046026446, -0.13767281, 0.064847544, 0.07717139, 0.08544123, -0.11092969, 0.072325274, 0.010849038, -0.3055905, 0.66436774, 0.1434729, 0.0494463, 0.07115603, 0.083811216, 0.020431712, 0.06537088) * go_2(0.0, 1.0); + result += mat4(-0.15532711, 0.030139687, 0.040853374, 0.11089222, -0.08150315, -0.015851755, -0.06787692, 0.096075505, -0.011956207, -0.0017758606, 0.1277494, 0.16156575, -0.038588695, -0.0626418, -0.041797023, -0.19467135) * go_2(1.0, -1.0); + result += mat4(0.12917455, 0.017410474, -0.20125067, -0.08040003, -0.13494664, 0.17789102, -0.19909395, 0.08441434, 0.078570575, -0.06330619, 0.23767303, 0.5442659, -0.009227878, -0.021818208, 0.14318731, -0.09042824) * go_2(1.0, 0.0); + result += mat4(0.097801, 0.09345441, 0.17846581, -0.14773296, 0.06536365, 0.07642184, -0.011880635, 0.02086135, 0.013336972, -0.053295113, -0.13410404, 0.027241753, 0.087728985, -0.044033397, -0.13098569, 0.009423933) * go_2(1.0, 1.0); + result += mat4(-0.02488427, 0.0134966355, -0.0075000813, 0.07272353, 0.015842725, 0.13765687, 0.028079558, -0.08384948, -0.06666623, -0.023220664, 0.025091043, -0.055167805, -0.18826278, 0.04423603, 0.13499942, 0.059128854) * go_3(-1.0, -1.0); + result += mat4(0.01935146, -0.030980906, -0.031569187, -0.0036869382, 0.036753897, 0.118464164, 0.15871695, -0.09842428, 0.023324292, 0.071796335, -0.07869346, -0.10751301, -0.2588698, 0.064011686, 0.17386378, -0.039197855) * go_3(-1.0, 0.0); + result += mat4(0.08590827, 0.005497696, -0.026512025, 0.015661815, 0.1102415, -0.08268483, -0.0032903247, 0.10049029, -0.008157236, -0.035823178, -0.017570151, -0.081716835, -0.3531045, 0.010005245, 0.017141227, -0.016376914) * go_3(-1.0, 1.0); + result += mat4(-0.16617337, -0.007689783, 0.00954665, 0.07117733, -0.001669262, -0.012331606, 0.051613946, 0.062780835, 0.06123557, -0.20243123, -0.19181818, 0.032895602, 0.19760677, 0.004464939, 0.12754539, -0.27360034) * go_3(0.0, -1.0); + result += mat4(0.15006685, -0.083587274, -0.03215495, -0.16992462, -0.011944293, 0.058361508, -0.088097006, 0.023880545, -0.04168166, -0.06960282, -0.092672385, -0.057278465, 0.23540072, -0.1721208, -0.018213503, -0.23494521) * go_3(0.0, 0.0); + result += mat4(-0.124885194, 0.1905868, 0.11108704, 0.03163991, 0.11383064, 0.101223364, 0.069428995, -0.14298953, -0.07609092, 0.13704266, -0.07749446, -0.0005389336, -0.04617235, 0.18011934, 0.08350316, 0.09416366) * go_3(0.0, 1.0); + result += mat4(0.073356606, 0.067966126, -0.21285574, 0.0782625, -0.0034364646, -0.032581426, -0.05538558, -0.1317288, 0.14552782, -0.1132393, 0.13063973, -0.00833602, 0.0026844777, 0.028135289, -0.02536825, -0.028372496) * go_3(1.0, -1.0); + result += mat4(-0.318728, 0.07862527, -0.12176221, 0.35010242, -0.029198067, 0.016302662, 0.17667587, 0.12605923, 0.1556697, -0.06061443, 0.05843511, 0.10891248, 0.01267106, -0.018492714, -0.15945031, -0.050723754) * go_3(1.0, 0.0); + result += mat4(-0.21555941, -0.016813517, -0.084676236, -0.07545412, -0.14518794, -0.014592766, -0.2446481, 0.0530632, 0.0847341, 0.12342537, -0.028644923, 0.083479315, -0.04179012, 0.0025225023, 0.16006976, -0.026940256) * go_3(1.0, 1.0); + result += vec4(-0.060742114, -0.037577342, 0.055704296, 0.03134311); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.13129333, -0.022117995, -0.009753253, 0.020439912, 0.044090994, -0.0916335, 0.0036765633, -0.11719207, -0.06413809, 0.04079378, -0.00085516454, -0.06306388, -0.12660664, -0.054126263, -0.005513979, 0.06364538) * go_0(-1.0, -1.0); + result += mat4(-0.028422508, 0.23270117, -0.28674677, -0.10820166, 0.024321957, -0.0811145, -0.07290707, -0.02125165, -0.064260505, 0.052076746, -0.009654081, 0.08363882, -0.02037171, 0.15006389, 0.121593125, -0.011237004) * go_0(-1.0, 0.0); + result += mat4(-0.14672333, 0.015381624, 0.1028172, -0.041823238, 0.0072677187, -0.042953942, 0.06426537, -0.0938381, -0.05990813, -0.04599802, -0.11264726, -0.027826328, -0.058160868, 0.10747306, -0.07327458, 0.07998872) * go_0(-1.0, 1.0); + result += mat4(-0.08702181, -0.03750975, -0.045659006, 0.04488332, 0.09102003, 0.066556975, -0.04353586, 0.08994567, -0.13561495, -0.10653702, 0.006989605, 0.028230097, 0.07177144, 0.2938447, -0.00943923, 0.022120917) * go_0(0.0, -1.0); + result += mat4(-0.1801194, -0.11119162, 0.1977298, -0.247902, -0.16654298, -0.07423158, 0.114130594, 0.0014401592, 0.006954727, -0.09810646, -0.051310766, 0.19487657, 0.2545855, -0.06328558, -0.04617056, 0.09444692) * go_0(0.0, 0.0); + result += mat4(0.011378825, 0.16044368, 0.017211074, 0.14472178, 0.032992378, -0.008925819, 0.035120245, -0.012409223, 0.074333005, 0.1178002, -0.128956, -0.13624239, -0.2791275, 0.21457297, -0.1476131, 0.04874687) * go_0(0.0, 1.0); + result += mat4(-0.03491764, -0.061763793, 0.05779039, 0.0054837577, -0.023937583, 0.08281698, 0.032306053, -0.014566218, 0.12738499, -0.0132100545, -0.051833414, 0.0057818824, 0.012158851, -0.20231532, -0.0043795826, 0.10285843) * go_0(1.0, -1.0); + result += mat4(-0.22269921, -0.15135509, -0.039143335, 0.033390045, 0.06770212, -0.14538582, -0.08011057, 0.03796648, -0.025913516, 0.13925864, 0.18309896, 0.012709204, -0.24912506, 0.3217706, 0.0394195, 0.017977878) * go_0(1.0, 0.0); + result += mat4(0.00080196525, 0.059145816, 0.05720508, 0.0056548906, 0.005168018, 0.09938438, 0.0200503, -0.05516137, 0.061309986, -0.019621318, -0.1541441, 0.019540716, 0.030571707, -0.09054893, 0.032851614, -0.27210873) * go_0(1.0, 1.0); + result += mat4(0.27061436, -0.114008114, -0.0020118617, -0.1656827, 0.09770587, 0.029897455, -0.03307522, -0.04661818, 0.033011347, 0.18498488, -0.05162084, 0.087471776, -0.24665618, -0.12538423, -0.08123797, -0.010210389) * go_1(-1.0, -1.0); + result += mat4(0.075188264, 0.0020608555, 0.18558815, 0.041179713, 0.11232638, 0.05507779, -0.19599183, 0.027942855, 0.06199144, 0.22141005, -0.06121163, 0.014993597, 0.24105869, -0.019737717, -0.112485714, 0.0157406) * go_1(-1.0, 0.0); + result += mat4(0.09425698, 0.0207658, 0.12074599, 0.009430481, 0.11889248, -0.025782838, 0.0034711843, 0.05113582, 0.012531833, -0.0018606635, -0.09137569, 0.018120576, 0.4051155, 0.02222076, -0.16001017, 0.10981527) * go_1(-1.0, 1.0); + result += mat4(-0.03582557, 0.014994796, -6.4688604e-05, 0.24618183, -0.11697727, 0.24388117, 0.038502026, -0.3511993, 0.101741396, -0.10748137, 0.035059888, -0.017535849, 0.09450039, 0.06541661, 0.12149035, 0.28798738) * go_1(0.0, -1.0); + result += mat4(-0.27143848, 0.017990451, -0.69144464, 0.037944376, -0.04551905, 0.09263134, 0.4259611, -0.14107811, -0.10641847, 0.23065196, 0.040813655, -0.07789163, 0.3087666, 0.08190437, 0.16409059, -0.06455426) * go_1(0.0, 0.0); + result += mat4(-0.08290655, -0.35286915, -0.18082355, -0.32229406, 0.1608227, 0.030915622, 0.09207708, 0.02655054, 0.039464593, 0.026095424, 0.052584656, 0.033881903, -0.01751319, -0.0011676399, 0.04002607, 0.1630013) * go_1(0.0, 1.0); + result += mat4(-0.012021132, 0.12163766, -0.07410629, -0.06879096, 0.017859738, -0.039261997, -0.028677614, -0.23610398, -0.15963873, -0.0006119958, 0.11275506, 0.0082659265, 0.05677582, 0.08676638, -0.08669759, -0.10475464) * go_1(1.0, -1.0); + result += mat4(0.12792721, 0.06888765, 0.31803077, 0.26002547, -0.067599155, -0.011822328, -0.2589909, -0.30024147, 0.11076704, 0.15200609, -0.018180368, -0.19146141, 0.22298847, 0.059484895, 0.034478076, 0.15610938) * go_1(1.0, 0.0); + result += mat4(0.0870121, -0.016420847, -0.011579898, 0.097182855, -0.120095566, -0.06843338, -0.043460473, -0.060684606, -0.027540063, -0.008499213, 0.033570655, -0.06866259, 0.01429712, -0.07424434, 0.0009466247, 0.09142678) * go_1(1.0, 1.0); + result += mat4(-0.03781424, 0.04587032, 0.03744051, 0.02712279, -0.051038064, 0.0669144, -0.02640278, 0.12384894, -0.0022533627, -0.010022036, 0.07536463, -0.030489929, 0.09418577, 0.155089, -0.011290433, -0.02102941) * go_2(-1.0, -1.0); + result += mat4(-0.0053278613, -0.07160643, 0.039028414, 0.04123311, -0.10693177, -0.1170874, 0.07230816, -0.033255517, -0.119176835, 0.0786526, -0.11880206, -0.11354601, -0.037539184, 0.14404313, 0.069760695, 0.024738638) * go_2(-1.0, 0.0); + result += mat4(0.03413808, -0.006487654, 0.10006853, 0.22228058, -0.13796462, -0.14042488, 0.04017443, -0.031790894, -0.06673143, 0.009888688, 0.08831443, -0.0045771743, -0.028375361, -0.04704813, 0.07128581, -0.07012518) * go_2(-1.0, 1.0); + result += mat4(-0.06954315, -0.23728988, -0.14192343, -0.08236467, -0.2552115, 0.04102959, -0.06355397, -0.08340241, 0.17617856, 0.20281969, -0.16249381, 0.10843737, -0.04392261, -0.08587206, 0.053069845, -0.15482199) * go_2(0.0, -1.0); + result += mat4(0.124981806, 0.12828638, -0.061472785, -0.20108232, -0.14905351, -0.40766275, -0.35427195, -0.13183996, 0.09307428, -0.07697028, 0.06702549, -0.22656697, 0.019868268, -0.19361132, 0.08784669, 0.20249842) * go_2(0.0, 0.0); + result += mat4(-0.004661343, -0.09333453, -0.24876262, -0.07906779, 0.110697776, -0.37069768, -0.042212646, -0.0046135853, -0.2254257, -0.023392014, 0.031476703, -0.045574382, -0.12675518, -0.076056994, -0.08228006, -0.040303517) * go_2(0.0, 1.0); + result += mat4(0.16182694, 0.0512523, 0.051189836, 0.048962783, -0.05156489, -0.17987493, -0.012037288, 0.06953726, -0.09458492, 0.1610021, -0.004063283, -0.032922342, 0.08995396, 0.1939926, -0.018710036, -0.08153231) * go_2(1.0, -1.0); + result += mat4(-0.064830944, 0.06121252, -0.18886387, -0.12976822, -0.031117212, 0.12219633, 0.19070715, 0.12495262, -0.11994464, -0.24687837, -0.08425294, -0.016920334, -0.13286817, -0.3260188, -0.11776061, 0.1651019) * go_2(1.0, 0.0); + result += mat4(-0.17652592, 0.002499805, -0.030541016, -0.01393431, 0.031418208, 0.08209422, 0.12430871, 0.4387016, -0.108871914, -0.09041422, 0.031226631, -0.1638517, 0.20756467, 0.014476537, -0.012701195, -0.03440563) * go_2(1.0, 1.0); + result += mat4(0.005320072, -0.0032291536, -0.017209187, 0.031944863, -0.2479921, -0.24433962, -0.13832912, 0.07835928, -0.17707248, 0.028202811, -0.19121435, 0.164587, 0.123152815, 0.0050288937, 0.084104605, -0.0380019) * go_3(-1.0, -1.0); + result += mat4(0.16008669, -0.018608516, -0.013778938, 0.033447385, -0.01242472, -0.070916265, 0.026909694, -0.07318777, 0.15158044, 0.12047607, -0.1709358, 0.2031767, 0.0025611701, -0.21457459, 0.2791286, 0.10159932) * go_3(-1.0, 0.0); + result += mat4(0.14320926, 0.020023825, -0.0484187, 0.011563084, -0.2640472, -0.013056275, 0.004234292, -0.095376395, 0.28363484, -0.0058227647, -0.0777649, 0.05238444, 0.41757923, -0.07081097, 0.012567031, -0.13029522) * go_3(-1.0, 1.0); + result += mat4(0.07266207, 0.042793367, -0.08212271, -0.23401663, -0.19457819, 0.4191269, -0.03095442, 0.15339781, -0.28451788, 0.09316364, 0.10231693, -0.22844811, 0.111623526, 0.120017685, 0.18777381, 0.014420896) * go_3(0.0, -1.0); + result += mat4(0.15037206, -0.29763284, 0.2601235, 0.0193363, 0.13686465, 0.009907918, -0.37781665, 0.04916627, 0.14114739, 0.5043813, 0.0447959, -0.029427614, 0.041768756, 0.27211213, 0.14163221, 0.086162075) * go_3(0.0, 0.0); + result += mat4(0.19159287, 0.21363218, 0.15053211, 0.08992885, 0.100828275, 0.09379921, 0.030783929, 0.11664482, -0.059145752, -0.19400764, -0.09351283, -0.016430443, -0.12910964, -0.067078374, 0.11760082, 0.121194765) * go_3(0.0, 1.0); + result += mat4(-0.055059325, 0.09299572, 0.06848913, 0.06334532, -0.1476285, 0.111801244, -0.033960916, 0.06474366, -0.04952303, 0.27885208, -0.052447475, 0.09226763, -0.15024844, -0.0033919013, 0.013498364, 0.09135676) * go_3(1.0, -1.0); + result += mat4(-0.017010042, -0.122343406, -0.19097193, -0.27957183, -0.18206005, 0.102321096, 0.22794476, 0.0439245, -0.23710132, -0.08070259, 0.17377135, 0.23811814, 0.17799385, 0.049567625, 0.1470908, 0.07329385) * go_3(1.0, 0.0); + result += mat4(0.0038071256, 0.19454515, -0.01222965, -0.07390379, -0.0532754, 0.03942833, 0.123840906, 0.023459576, -0.0658742, -0.023957543, -0.14682837, 0.1221027, -0.010986398, -0.066184506, 0.03026491, -0.0638446) * go_3(1.0, 1.0); + result += vec4(-0.06427697, -0.00039365015, 0.011889719, 0.060232002); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!SAVE conv2d_2_tf1 +//!WIDTH conv2d_1_tf.w +//!HEIGHT conv2d_1_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_1_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_1_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.012110923, 0.07818654, 0.07964548, 0.11885079, -0.07694473, -0.01378252, 0.006632789, -0.12876098, 0.0069211307, 0.022278586, 0.069553085, 0.16569804, -0.11123615, 0.06125189, -0.11232848, 0.1559266) * go_0(-1.0, -1.0); + result += mat4(-0.3261174, -0.25586754, 0.21129315, 0.3135101, 0.1509055, 0.0044283345, 0.024674175, -0.08000473, 0.01213029, 0.09093019, 0.04942677, 0.09806723, -0.16454464, -0.14433062, -0.058094524, -0.060819894) * go_0(-1.0, 0.0); + result += mat4(0.023174008, 0.02858724, 0.07685972, 0.036857616, -0.10415571, 0.10241035, -0.01893166, 0.02065923, 0.058356714, 0.096426114, -0.03772327, -0.1529002, 0.13740575, -0.048291504, -0.06152548, -0.15199897) * go_0(-1.0, 1.0); + result += mat4(0.029300174, -0.13222043, 0.0139825605, -0.02274408, 0.062944874, 0.028447356, 0.05960515, 0.034447193, 0.03133432, -0.019283533, -0.024591971, -0.0043914663, 0.15245225, 0.006851478, -0.051783554, 0.17453748) * go_0(0.0, -1.0); + result += mat4(-0.09125915, 0.081739366, 0.01196335, 0.23130219, -0.22557035, -0.13537665, 0.0022028848, -0.043430023, 0.22759882, 0.07920754, -0.027986467, -0.14051494, -0.19557038, -0.03585936, -0.4258294, -0.03856216) * go_0(0.0, 0.0); + result += mat4(0.18511422, -0.09368415, 0.1551229, 0.04322566, -0.023400841, -0.02261204, 0.15129441, -0.007954805, -0.10739125, 0.019459398, 0.013128325, 0.018073296, 0.20886365, -0.20662378, -0.03814699, -0.09272838) * go_0(0.0, 1.0); + result += mat4(-0.027352437, -0.039882626, 0.12598103, -0.093930446, 0.030846786, -0.09325075, -0.009084744, -0.024584265, 0.07159868, 0.14162529, 0.19019091, 0.058855128, -0.09880401, -0.01843218, 0.14753596, -0.2449532) * go_0(1.0, -1.0); + result += mat4(0.06565521, 0.09150168, -0.08654865, 0.0829788, -0.07596146, -0.01815166, -0.08786775, -0.03477514, 0.20538878, -0.012766377, 0.020719538, 0.088188395, -0.034300096, 0.29972988, -0.20005241, 0.018425167) * go_0(1.0, 0.0); + result += mat4(0.11713916, 0.024167519, 0.05167596, -0.0027117804, -0.016994188, 0.048177514, -0.012556207, 0.010979094, 0.09098878, 0.028514355, 0.06063336, -0.06624107, 0.012754856, 0.013208708, -0.061374772, -0.0025992664) * go_0(1.0, 1.0); + result += mat4(-0.09053513, 0.03183455, 0.017340872, 0.12934409, -0.022161964, -0.0015361432, -0.049972344, -0.12763855, 0.12779881, -0.04697911, 0.018968226, -0.119873665, 0.05462772, -0.13919477, -0.10226718, -0.2540179) * go_1(-1.0, -1.0); + result += mat4(-0.29912186, -0.09291771, 0.050926663, 0.49361777, 0.21372582, 0.076717265, -0.058968987, -0.1572678, 0.3194591, -0.120582424, 0.03942037, 0.023128232, 0.24321598, 0.07046334, -0.21204855, -0.648296) * go_1(-1.0, 0.0); + result += mat4(0.05366883, -0.020366706, 0.020979457, -0.06893884, 0.04837168, 0.017253762, 0.008874203, -0.020785445, -0.20425391, 0.060179923, 0.046167206, 0.09863377, -0.14381303, 0.038928367, -0.06590863, -0.18408588) * go_1(-1.0, 1.0); + result += mat4(0.07099762, 0.2029403, -0.033945918, 0.15202214, 0.0901113, -0.27336198, -0.17693861, -0.16206753, -0.17642029, 0.09400492, -0.11165698, -0.07863893, -0.16306102, -0.056210615, 0.22173557, 0.013508989) * go_1(0.0, -1.0); + result += mat4(0.08541511, -0.27093616, -0.35273993, -0.48919773, 0.038383547, -0.16013749, 0.012996215, -0.03434873, 0.07024113, -0.28971404, 0.10623425, -0.0019642068, -0.062374946, 0.3291145, 0.22468035, -0.42971882) * go_1(0.0, 0.0); + result += mat4(0.020427933, 0.15062793, 0.08308975, -0.025095072, 0.030093266, -0.09649862, -0.03382388, -0.0016017791, 0.105402954, 0.020693144, -0.051065, 0.07704679, 0.02864139, -0.00135146, 0.03762216, 0.029277142) * go_1(0.0, 1.0); + result += mat4(0.01700994, 0.12214317, 0.06749582, 0.07354159, -0.093085855, -0.065021954, 0.010773045, -0.00095128635, -0.045384295, -0.072611265, -0.043900184, 0.049471326, 0.029131187, 0.03180158, -0.13313527, 0.05280797) * go_1(1.0, -1.0); + result += mat4(0.14751251, -0.15087761, 0.09932281, -0.099232934, -0.062390897, 0.112391844, -0.09159478, 0.15856399, 0.034708973, 0.01819943, -0.02730164, -0.13562973, -0.05687333, -0.0114601655, 0.07025971, 0.02496533) * go_1(1.0, 0.0); + result += mat4(-0.0117268525, -0.026162883, 0.07481553, 0.13420302, 0.029870516, 0.07405776, -0.06379041, 0.09631234, -0.07754842, 0.035888605, 0.0034764851, -0.040771756, -0.092022054, -0.034230903, -0.02281844, -0.0028173258) * go_1(1.0, 1.0); + result += mat4(-0.059846643, 0.016772347, -0.02287152, 0.07036337, -0.024946844, 0.09826078, -0.068491876, 0.20852126, 0.073890835, -0.058288682, 0.013093785, -0.05776076, 0.0516503, 0.052794468, 0.10837015, 0.038539834) * go_2(-1.0, -1.0); + result += mat4(-0.16391893, -0.008062687, -0.35022175, 0.2510062, -0.15820411, 0.048403125, 0.024878092, 0.037888516, -0.035924178, -0.068953894, -0.025386479, 0.24405715, -0.018495679, -0.051277515, 0.14754932, -0.031538483) * go_2(-1.0, 0.0); + result += mat4(-0.038429607, -0.047140498, -0.018157095, -0.029318782, -0.04094171, -0.11870087, 0.11214255, 0.07142628, 0.021007229, -0.005681072, 0.1662777, 0.10829575, 0.112268396, 0.03567479, -0.06738845, 0.0032037434) * go_2(-1.0, 1.0); + result += mat4(-0.032217573, 0.2102397, -0.20617546, -0.07920811, 0.12918773, 0.054486286, -0.13656865, 0.05806265, 0.01963165, 0.049910642, 0.15538268, 0.10724465, -0.09697837, -0.03070673, -0.0071386313, -0.11899626) * go_2(0.0, -1.0); + result += mat4(0.130827, 0.0051715383, -0.07212691, 0.45726067, 0.2773031, 0.2973666, 0.3951691, 0.01333662, -0.14561643, 0.04508669, 0.121690124, 0.13326228, -0.22579186, 0.058161184, 0.09281702, -0.00079749606) * go_2(0.0, 0.0); + result += mat4(-0.00771113, 0.09912341, -0.41895548, -0.06705759, 0.029148718, 0.052991726, 0.18665347, -0.031787418, 0.23053595, 0.09444956, 0.10691037, -0.06325714, -0.05335701, 0.1917427, -0.0065284846, 0.032622546) * go_2(0.0, 1.0); + result += mat4(-0.056801565, -0.019131258, -0.0939022, -0.08130343, -0.11051993, 0.0035269214, -0.047361933, -0.0543875, 0.10854369, 0.06445185, 0.016828364, -0.022595318, 0.1450623, 0.033027507, -0.020425137, 0.16169788) * go_2(1.0, -1.0); + result += mat4(-0.08747717, 0.07770065, 0.018155783, 0.07160794, 0.09860347, -0.04329888, -0.0043579484, -0.2014418, -0.060260013, 0.0036374568, -0.17566042, -0.2268221, 0.001273691, -0.2609373, -0.19417606, -0.04102927) * go_2(1.0, 0.0); + result += mat4(-0.086845055, -0.114253804, -0.13433142, -0.025941795, -0.0155711295, -0.13578776, 0.12059696, -0.08760523, -0.0057348222, 0.12164273, 0.07270617, -0.06352636, 0.08894258, 0.04140841, 0.1230304, -0.030357126) * go_2(1.0, 1.0); + result += mat4(0.03320213, 0.015911903, -0.06288296, -0.121976145, 0.2713457, 0.13913193, -0.092420585, 0.105714336, 0.10294281, -0.04591945, -0.11767934, 0.032249406, -0.06506192, -0.04639334, 0.08137017, -0.031746846) * go_3(-1.0, -1.0); + result += mat4(0.13717805, 0.0071242675, -0.077256985, -0.14974317, -0.08467893, -0.20126395, -0.06240603, 0.09554399, -0.075844854, 0.28380412, 0.046030026, 0.053188596, 0.50943077, 0.1179795, 0.32203588, -0.06712207) * go_3(-1.0, 0.0); + result += mat4(-0.18528835, 0.0016975187, -0.0041140947, 0.11234392, -0.34049067, -0.056880493, -0.04325441, 0.09905571, 0.10978758, 0.009608353, -0.10801905, -0.04071131, -0.09096832, -0.12350487, 0.011801418, 0.22521795) * go_3(-1.0, 1.0); + result += mat4(0.040283076, -0.034117915, -0.026142653, -0.06058959, 0.12511659, 0.4131219, 0.59190845, 0.39758852, 0.16032091, -0.5975032, -0.14516282, 0.115154505, 0.03874097, 0.18462797, 0.22934213, 0.05285643) * go_3(0.0, -1.0); + result += mat4(-0.17804009, 0.33769128, -0.14572927, -0.029545018, 0.3897, -0.055615567, 0.15232995, 0.48788264, -0.21422523, 0.03397293, 0.0337794, -0.19830915, -0.022457365, -0.35096076, 0.42616987, -0.19268763) * go_3(0.0, 0.0); + result += mat4(-0.13191561, -0.18337126, 0.017879983, -0.070472844, -0.09409196, -0.025770849, -0.060219247, 0.10869267, -0.17341033, -0.09199785, -0.0667796, -0.093538545, -0.21300837, 0.030474098, -0.04540468, 0.041321553) * go_3(0.0, 1.0); + result += mat4(-0.0998177, -0.08669185, -0.0090886615, 0.0021083376, 0.08900095, 0.5062186, 0.45537788, 0.029077586, -0.1001008, -0.0077697043, -0.0096318, 0.11706454, 0.07401959, -0.00650215, 0.06092762, 0.037442297) * go_3(1.0, -1.0); + result += mat4(-0.18500404, 0.0024998419, -0.11761331, -0.026825588, 0.27255726, 0.093010515, 0.3281413, -0.051473666, -0.050259475, -0.17258662, -0.23394547, 0.104795866, 0.035074063, -0.061560635, 0.05975411, -0.094255395) * go_3(1.0, 0.0); + result += mat4(-0.023440497, -0.021479638, 0.0036277648, 0.004972212, 0.02416659, -0.09856867, -0.03971455, -0.27094853, 0.026615402, -0.0047890246, -0.13755885, 0.16591635, -0.0016293586, 0.133207, 0.047790572, 0.029041538) * go_3(1.0, 1.0); + result += vec4(-0.0063728676, -0.029053684, -0.052831043, 0.006475641); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.0431447, 0.047972627, 0.09522898, 0.19048582, 0.0015511789, 0.1182684, -0.065335006, 0.061233886, -0.02451869, 0.065670215, -0.015341636, 0.06836347, 0.10215459, 0.17516296, 0.0857072, 0.072732896) * go_0(-1.0, -1.0); + result += mat4(0.10117189, 0.049022958, -0.016017418, -0.12119866, 0.089112304, 0.016286526, -0.025251161, 0.03239003, -0.0783818, -0.086096615, -0.13673106, -0.15934734, -0.51308054, -0.061430074, -0.16208844, 0.2227776) * go_0(-1.0, 0.0); + result += mat4(-0.011567444, 0.025550444, -0.018439503, -0.015003767, 0.11606929, -0.11613111, -0.040906087, -0.015202219, 0.03932618, -0.1106059, 0.03703376, 0.018548314, -0.12761284, -0.038109995, -0.23577367, 0.20272344) * go_0(-1.0, 1.0); + result += mat4(0.025444161, -0.075270735, 0.10999789, 0.16305386, 0.016178958, -0.074034974, 0.1177035, -0.077481024, -0.047774278, -0.029782977, 0.23137823, -0.2389453, 0.033015423, -0.10381626, -0.16437943, 0.20906886) * go_0(0.0, -1.0); + result += mat4(-0.098473966, 0.11013442, -0.18486807, 0.1907086, -0.17564997, -0.08509439, -0.42472756, -0.17446618, 0.3440862, 0.12719585, -0.12213955, -0.02246555, 0.18982963, 0.20809166, -0.36067408, 0.51116616) * go_0(0.0, 0.0); + result += mat4(-0.019805575, 0.07812505, 0.061653323, -0.08379226, 0.026396899, 0.009063019, -0.10845824, 0.0827647, 0.045301896, -0.07748021, -0.07435832, 0.14860612, -0.077515624, 0.010588131, -0.22704287, 0.26849246) * go_0(0.0, 1.0); + result += mat4(-0.02884339, -0.09512523, -0.038564682, 0.08862835, 0.041666254, -0.10532901, 0.040582962, -0.10063983, -0.15736029, -0.03644334, -0.005061672, 0.04302295, -0.046482194, -0.05262547, 0.05110866, 0.03204655) * go_0(1.0, -1.0); + result += mat4(-0.005932702, 0.033263832, 0.0044865874, -0.02328917, 0.056534443, -0.14084046, 0.022353357, 0.015087431, -0.2734596, -0.026544483, 0.06297078, 0.11277746, 0.06127936, 0.02466357, -0.04970561, 0.02098484) * go_0(1.0, 0.0); + result += mat4(0.013603583, 0.036264602, 0.10985147, 0.01532773, -0.09012781, 0.1132652, -0.17016481, 0.025332611, -0.077462606, 0.02990799, -0.10627784, -0.006231141, -0.089164406, -0.051507175, -0.043900985, 0.09049239) * go_0(1.0, 1.0); + result += mat4(-0.15391691, 0.1915742, 0.014101639, -0.022153432, 0.06291936, -0.017871676, -0.016763045, -0.14741553, -0.011252563, -0.20720159, -0.030648025, -0.0142307645, 0.010291614, -0.09243969, -0.052940153, 0.0061574522) * go_1(-1.0, -1.0); + result += mat4(0.032283742, 0.030768922, 0.1070225, -0.027818602, 0.10032608, 0.0061178426, -0.03561339, -0.26687133, 0.14369439, -0.11362691, -0.08980895, 0.066520914, 0.33414948, 0.006998835, 0.09193012, -0.2857383) * go_1(-1.0, 0.0); + result += mat4(-0.059588976, -0.02046844, -0.042585023, 0.031939838, 0.12796514, -0.06155685, 0.03540324, 0.009929082, -0.0039611827, 0.10790477, 0.049435645, -0.083034374, 0.23874004, -0.07460337, -0.020173345, -0.2006587) * go_1(-1.0, 1.0); + result += mat4(-0.13217632, 0.052319963, -0.026713084, -0.0051368694, -0.10380872, -0.28659084, 0.0044393227, 0.005174543, -0.05092618, -0.07092548, -0.027397033, -0.01609789, 0.13699281, -0.14706929, 0.17737861, -0.23746766) * go_1(0.0, -1.0); + result += mat4(0.19268502, 0.14133929, -0.1305119, -0.4034132, 0.057504695, -0.24550998, -0.081932545, 0.45489246, -0.29331785, 0.19625074, 0.063166246, 0.15158689, 0.6715147, -0.4610189, 0.08921431, 0.17761138) * go_1(0.0, 0.0); + result += mat4(0.044718128, -0.011809122, 0.024131307, -0.30093196, -0.05607289, 0.047759805, 0.004210022, 0.098192796, 0.030430846, 0.008207501, 0.12266905, -0.10549182, 0.11584339, -0.091016166, -0.08635591, -0.13889709) * go_1(0.0, 1.0); + result += mat4(-0.19226642, 0.07147627, -0.14759602, 0.4041079, 0.0744628, -0.19612685, 0.1498252, -0.06273549, 0.017959936, 0.10858338, -0.14985329, 0.062042814, -0.13240446, -0.24362786, 0.113626175, -0.15332204) * go_1(1.0, -1.0); + result += mat4(0.08383099, -0.13935047, -0.25981048, 0.16491203, 0.07513876, -0.28346774, 0.19722275, -0.044425573, 0.020889329, -0.22140723, 0.025403097, -0.09183192, 0.014202567, -0.18666178, 0.062913105, -0.047674105) * go_1(1.0, 0.0); + result += mat4(-0.1862771, 0.25878942, -0.043018065, 0.22144824, 0.016088247, 0.12113542, -0.11965952, -0.01587184, 0.07830932, -0.16069177, 0.13421321, 0.018718706, 0.09548377, 0.018543294, 0.013614677, -0.1054485) * go_1(1.0, 1.0); + result += mat4(-0.2121733, -0.015635416, 0.027564054, -0.085904464, 0.064805664, -0.070543915, 0.08966146, -0.06359783, 0.01131311, 0.046913184, -0.09809833, -0.092063695, -0.087217696, 0.012411829, 0.0045399712, 0.027389864) * go_2(-1.0, -1.0); + result += mat4(-0.19307798, 0.09449126, 0.084036835, 0.30262446, 0.011706106, 0.029800637, 0.04612629, 0.006186647, 0.11228541, 0.055147965, 0.17659879, -0.023410015, 0.19965266, -0.06684007, -0.081968054, -0.052410994) * go_2(-1.0, 0.0); + result += mat4(-0.058564443, 0.08252549, 0.058217794, 0.0864448, -0.25663558, 0.080260284, -0.0010294432, 0.05830051, -0.07684524, 0.1820709, 0.04438993, 0.019178499, -0.12425012, -0.04596089, -0.010032888, -0.0012803525) * go_2(-1.0, 1.0); + result += mat4(-0.43352658, 0.15262963, 0.25620222, 0.22428556, 0.09667152, 0.0037820593, -0.07951691, -0.11553085, 0.12982155, 0.17988266, -0.14283511, 0.074744284, 0.03604327, 0.00452661, -0.12865154, -0.020020623) * go_2(0.0, -1.0); + result += mat4(0.06850602, -0.18057181, 0.2093389, -0.07333886, 0.28406742, -0.048766967, 0.18114483, 0.47292945, -0.2340266, -0.06862712, 0.28263155, 0.3150323, -0.054724697, -0.16958356, 0.27928987, -0.19666018) * go_2(0.0, 0.0); + result += mat4(0.03281329, 0.0038649621, -0.07108877, 0.10791149, 0.15235375, -0.3083721, 0.168294, 0.10379698, 0.029038485, 0.16282903, 0.04483725, -0.018684763, 0.108186625, 0.027885616, -0.019351846, 0.1623065) * go_2(0.0, 1.0); + result += mat4(-0.110499054, 0.31347123, 0.030852, 0.01631416, -0.1466389, 0.080429435, -0.18689284, 0.10667815, 0.20645237, -0.18004708, -0.10570413, -0.15435064, -0.019000605, -3.126077e-06, 0.037761535, -0.015040956) * go_2(1.0, -1.0); + result += mat4(-0.023364332, -0.023399066, 0.2712722, 0.049637552, -0.10222765, -0.2698945, 0.20991959, 0.04921932, 0.21510898, -0.0751939, -0.19781734, -0.28162366, -0.041881047, 0.0065111094, -0.04102195, 0.0982682) * go_2(1.0, 0.0); + result += mat4(-0.032176614, 0.019144032, -0.08985387, 0.091637276, 0.1012352, 0.0003583357, 0.07897295, -0.09531175, -0.001155058, 0.074372366, -0.026186578, 0.07283374, 0.06052053, 0.009307753, -0.03874333, -0.06228009) * go_2(1.0, 1.0); + result += mat4(-0.022224072, -0.15717922, -0.1406057, -0.05941157, -0.028769474, -0.21226564, -0.036570027, 0.22266355, 0.14120889, 0.014577123, 0.10216447, 0.018429281, 0.056729726, -0.055834044, 0.058146577, -0.11999068) * go_3(-1.0, -1.0); + result += mat4(0.009995364, -0.020045493, -0.0057422677, 0.0643022, 0.016475432, -0.030856136, 0.042140726, 0.15077904, -0.32955253, 0.0694449, 0.17931722, 0.3439302, -0.12484157, -0.10958869, -0.15755124, -0.09755644) * go_3(-1.0, 0.0); + result += mat4(-0.008314924, 0.07704758, 0.043228816, -0.08110893, 0.099286236, -0.053224478, 0.22877018, -0.189486, -0.00798416, 0.018341504, 0.10734141, 0.0752633, -0.042524844, -0.086395286, 0.14299925, 0.026488977) * go_3(-1.0, 1.0); + result += mat4(-0.052531082, 0.19139186, 0.12205995, -0.2573172, 0.15157184, 0.0073150825, 0.089774385, 0.06604469, -0.16528498, -0.002511137, 0.14287429, -0.07819732, 0.025014274, 0.15338829, 0.0761692, -0.02803716) * go_3(0.0, -1.0); + result += mat4(-0.21000335, 0.15277153, 0.08546171, 0.2816124, -0.16559112, -0.11068559, 0.47053605, -0.009787771, -0.0013089112, -0.06985127, 0.44743782, 0.25142467, -0.32670796, 0.044035822, -0.12545367, -0.2996084) * go_3(0.0, 0.0); + result += mat4(-0.11526387, 0.15654811, 0.099616654, 0.15473685, 0.21278231, 0.046207245, 0.117993094, -0.26825273, -0.12539764, 0.14013724, 0.17357737, -0.05387817, 0.076738276, -0.13339446, 0.15005626, -0.2108176) * go_3(0.0, 1.0); + result += mat4(-0.0008846504, -0.05998622, -0.028892396, 0.04784136, 0.0104263965, 0.10899508, -0.073364735, 0.077516064, -0.074248806, -0.21749993, -0.26203, 0.041161157, 0.09366407, -0.026498007, 0.0122177545, 0.03892727) * go_3(1.0, -1.0); + result += mat4(0.04349908, 0.13671173, 0.2242545, -0.028021423, -0.03802222, 0.0052366396, -0.010709643, 0.031290106, 0.06291333, -0.024909683, -0.15439379, -0.04502091, 0.2062182, -0.5983536, -0.09670497, -0.38446042) * go_3(1.0, 0.0); + result += mat4(-0.008962513, 0.13044207, 0.04964221, 0.012250417, 0.012129821, 0.019985713, -0.06421885, 0.009168735, -0.044516414, 0.071368866, -0.006634213, 0.06497366, 0.08578495, -0.10586125, 0.06628038, -0.14006054) * go_3(1.0, 1.0); + result += vec4(0.056541316, 0.041788545, -0.036094554, -0.021763096); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_2_tf.w +//!HEIGHT conv2d_2_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_2_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_2_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.0647927, 0.053666476, -0.14723225, 0.027874574, -0.0003166473, 0.07337155, -0.061972085, -0.012667777, -0.17071614, 0.091927536, -0.051160213, 0.21336353, 0.13854574, 0.09582817, 0.032316446, 0.13838023) * go_0(-1.0, -1.0); + result += mat4(-0.0398984, 0.108049214, 0.093780346, -0.022015186, -0.15188989, -0.1381083, 0.2998843, 0.21623154, -0.08862326, 0.025862623, 0.06895634, 0.13529755, 0.06957801, -0.0011681129, 0.105972745, -0.04722446) * go_0(-1.0, 0.0); + result += mat4(-0.026321493, -0.04828038, -0.012545767, -0.005490858, -0.054038163, 0.075943105, -0.11526662, 0.022242405, -0.03543104, -0.12451852, -0.14911178, 0.013503498, 0.08773292, 0.09695139, -0.013498657, -0.27424073) * go_0(-1.0, 1.0); + result += mat4(0.018575635, -0.11321618, -0.07853153, 0.04104883, 0.0018416744, 0.11579002, 0.03685964, -0.031546146, -0.1755398, 0.23517849, -0.08095411, 0.031999595, -0.18542038, -0.26171613, -0.20567231, -0.05683613) * go_0(0.0, -1.0); + result += mat4(0.1538556, 0.21723682, 0.12131733, -0.15308167, 0.103326, -0.006956118, 0.043583486, -0.23811384, -0.103285454, 0.05543916, -0.37894246, 0.32072112, 0.22651967, 0.03516268, 0.34612176, 0.23688535) * go_0(0.0, 0.0); + result += mat4(0.040021293, 0.0029912095, 0.04885362, 0.061496444, 0.016926387, -0.118446946, 0.038948335, -0.0934512, -0.25194243, -0.054018084, -0.07149527, 0.017903058, 0.0845516, 0.33802906, 0.11953944, -0.081294954) * go_0(0.0, 1.0); + result += mat4(-0.09558082, -0.36974236, -0.07524102, 0.11131445, 0.047626104, 0.12854609, -0.10264962, -0.044669047, -0.05572307, 0.34475142, -0.16806377, -0.0037204176, 0.03400533, -0.04047774, 0.024379745, 0.09056291) * go_0(1.0, -1.0); + result += mat4(-0.039392482, 0.2553437, 0.11705501, 0.03219211, 0.073977776, -0.16610906, -0.032796364, -0.054669864, -0.07123178, 0.00079619256, -0.36920992, -0.029054813, 0.12830003, 0.004987549, 0.08724278, -0.029499404) * go_0(1.0, 0.0); + result += mat4(0.021272454, -0.063295126, 0.011779576, 0.103093, -0.011095461, 0.027948728, -0.014605259, -0.04723974, -0.05334346, -0.044831257, -0.07296399, -0.03314197, -0.01687865, -0.09261895, -0.06128567, 0.092708185) * go_0(1.0, 1.0); + result += mat4(0.0077418387, 0.00871427, 0.060824487, 0.1093608, -0.021077013, -0.057341542, -0.04769576, -0.08144089, 0.0212823, -0.06731425, -0.04134463, -0.0016761447, -0.03402026, 0.036424547, 0.11689576, -0.14946719) * go_1(-1.0, -1.0); + result += mat4(0.18536687, 0.020073935, 0.17041959, 0.024790209, 0.08397728, -0.13884324, 0.013950321, -0.055075396, -0.09317963, -0.05723721, -0.060491834, 0.0017911601, -0.109154835, 0.010338362, -0.1982491, -0.21752335) * go_1(-1.0, 0.0); + result += mat4(0.031852514, 0.031424347, 0.07817056, 0.07770759, 0.019805199, -0.091223724, 0.11914662, 0.1673029, -0.018734453, 0.16275099, 0.23245652, 0.36139074, -0.1396047, -0.14774057, 0.13756078, -0.123794965) * go_1(-1.0, 1.0); + result += mat4(-0.034937833, 0.20777488, 0.10104809, -0.035140667, 0.2536575, 0.010970045, 0.16896339, -0.081219964, -0.062478427, -0.0010431948, -0.027980985, 0.11446318, -0.127309, 0.21002083, 0.044436257, -0.16986957) * go_1(0.0, -1.0); + result += mat4(0.06309646, -0.042341243, 0.36642808, 0.18653205, 0.06973023, 0.06315932, -0.323688, 0.25672218, 0.042820994, 0.13792914, -0.12892757, -0.09220378, -0.18939693, 0.03862022, -0.17376114, -0.24673308) * go_1(0.0, 0.0); + result += mat4(-0.02130602, -0.35428852, -0.011634983, -3.9823462e-05, 0.110818714, -0.2981158, 0.060209107, 0.012538829, -0.0744833, -0.050204318, -0.12676497, -0.031484153, -0.28799182, 0.22338839, -0.070876874, -0.02102363) * go_1(0.0, 1.0); + result += mat4(-0.07929991, 0.014598492, 0.23034762, 0.024872296, 0.07480494, -0.17139243, -0.014421178, 0.056448363, -0.028626937, -0.022152562, 0.044871796, -0.048653606, 0.009350802, 0.019022083, -0.08554845, -0.0922645) * go_1(1.0, -1.0); + result += mat4(-0.027405115, 0.1831188, 0.28516722, 0.19882526, 0.27299204, -0.06910511, 0.03244419, -0.0031333128, 0.061055277, -0.114398144, 0.03729459, -0.07840815, -0.37776002, -0.24129418, -0.54815483, -0.2702045) * go_1(1.0, 0.0); + result += mat4(0.053723935, 0.13472083, 0.09563273, 0.19009806, -0.18722993, -0.25939655, -0.016197463, -0.067061596, 0.1647598, 0.061905228, 0.06191816, -0.018582113, -0.07218153, 0.11278394, 0.05478068, -0.104871586) * go_1(1.0, 1.0); + result += mat4(0.0036616288, -0.045782693, -0.226954, -0.05043515, -0.078096785, -0.036197383, 0.09269631, 0.016823346, -0.0060579977, -0.041455746, 0.09032774, -0.09217121, 0.058089796, 0.060311552, 0.033079024, 0.022586476) * go_2(-1.0, -1.0); + result += mat4(0.0436363, -0.079482526, 0.0027447809, 0.039558932, 0.13275702, 6.898711e-05, -0.21961488, -0.11315821, 0.0076181027, -0.025279062, -0.15829584, -0.063141204, 0.062049046, 0.13117202, -0.02435016, 0.109555416) * go_2(-1.0, 0.0); + result += mat4(-0.010148116, 0.056620967, -0.015910713, -0.07370375, 0.1529919, 0.005792597, 0.02771225, -0.17027487, 0.096740395, 0.063347995, 0.17823112, 0.054105148, 0.04995114, -0.28613812, 0.06369567, 0.15978208) * go_2(-1.0, 1.0); + result += mat4(-0.13688345, 0.16967694, -0.061759472, 0.013682004, -0.1290496, 0.07167547, -0.065592445, -0.17897636, 0.057080988, 0.035630587, 0.09140394, -0.08695068, 0.16807681, 0.014749346, 0.07875138, 0.034913708) * go_2(0.0, -1.0); + result += mat4(-0.098915346, -0.31459075, -0.10892429, 0.1557498, -0.19764107, -0.26881596, -0.03589311, 0.45288458, -0.34171388, 0.12675741, 0.18415868, -0.19770056, 0.29025507, -0.15812592, 0.09685835, 0.0027761247) * go_2(0.0, 0.0); + result += mat4(0.06425249, -0.01169722, 0.06379363, 0.053835012, -0.07356561, -0.06367294, 0.108630784, -0.14137438, 0.08536725, -0.03209748, 0.07250959, -0.014214082, 0.07170588, -0.25647813, 0.1092683, 0.18791042) * go_2(0.0, 1.0); + result += mat4(-0.023783233, 0.14261739, 0.102011986, -0.03633555, -0.05032627, 0.09378387, 0.11764051, 0.1353335, 0.032817088, -0.1352964, -0.00667997, -0.13388929, 0.022861317, 0.0037358075, 0.018605746, -0.0009892831) * go_2(1.0, -1.0); + result += mat4(0.22419162, -0.23105696, -0.09900454, -0.15831396, 0.12398773, 0.097933106, -0.13189293, 0.1330756, -0.19673057, -0.037342317, -0.13462654, -0.08974021, 0.030326528, -0.0815862, -0.118352115, 0.009187904) * go_2(1.0, 0.0); + result += mat4(-0.012130391, -0.06408448, 0.13710785, -0.06678414, -0.09970725, -0.14895032, -0.02366641, 0.029581001, -0.07101809, 0.09414698, 0.018300869, 0.009139046, -0.0027311493, -0.2359952, -0.011602826, -0.007582444) * go_2(1.0, 1.0); + result += mat4(-0.15473361, -0.06868751, -0.030721204, -0.08650113, 0.071349874, -0.08177769, 0.1611948, 0.18305337, -0.0144878505, 0.10975452, -0.026968453, -0.04909913, -0.059665974, 0.056036238, -0.11623168, -0.10584912) * go_3(-1.0, -1.0); + result += mat4(-0.096973225, 0.054132458, -0.010600018, 0.089397885, -0.0031138035, 0.037452973, 0.041115325, 0.1924831, 0.14759748, 0.032560788, -0.082884625, 0.0324635, -0.083511285, -0.050381303, 0.025589975, -0.0981257) * go_3(-1.0, 0.0); + result += mat4(-0.09183111, 0.034952193, -0.048511654, 0.020719057, 0.1863456, 0.01902738, 0.14455654, -0.008500172, 0.16385981, -0.07806569, -0.031216217, -0.17002788, -0.08882952, 0.07335293, -0.2223089, 0.01706056) * go_3(-1.0, 1.0); + result += mat4(-0.08361569, 0.046698716, -0.016646344, 0.09351987, 0.0054158634, -0.13641126, -0.12396605, 0.011380122, 0.040951792, -0.11222528, -0.0031548145, -0.0022303525, 0.0350846, -0.03280425, -0.09972476, -0.113325305) * go_3(0.0, -1.0); + result += mat4(-0.19961461, -0.27561286, -0.12783135, -0.062596925, 0.005870981, -0.24796526, 0.18717633, -0.16945636, -0.076396205, -0.08411448, 0.13751988, 0.21014418, -0.008655945, -0.09848541, -0.14536901, -0.2132181) * go_3(0.0, 0.0); + result += mat4(0.14118621, 0.20831147, -0.020545695, 0.008340737, 0.016840864, -0.16912372, -0.121718146, 0.15108089, -0.19803092, -0.07827729, -0.047639225, -0.12277847, 0.04974115, -0.09349339, -0.2756667, -0.19581003) * go_3(0.0, 1.0); + result += mat4(-0.0036992705, 0.16539848, 0.022026122, 0.07740234, -0.035687633, -0.004568715, 0.017408118, -0.09757294, -0.094941914, -0.3381112, -0.12724453, 0.025583982, -0.18571027, 0.047607586, -0.0704089, -0.055323426) * go_3(1.0, -1.0); + result += mat4(0.13821335, 0.028168043, 0.09990671, -0.032266147, -0.067236245, 0.11512147, -0.112986445, -0.10818019, -0.10062181, 0.21276556, 0.01681818, 0.069806606, 0.09628121, 0.06456379, 0.10394843, -0.02343886) * go_3(1.0, 0.0); + result += mat4(0.041937463, 0.072631165, 0.045366894, -0.0046993676, 0.03946691, 0.121010706, -0.030089365, -0.007266469, 0.0092267515, 0.14853416, -0.033248078, -0.027284347, -0.10031526, 0.15864117, -0.16782752, -0.18466589) * go_3(1.0, 1.0); + result += vec4(0.07722432, -0.025165567, 0.034291282, -0.09902708); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.004729794, -0.0124398535, -0.08538641, -0.058604605, 0.008671952, 0.25604513, 0.020800482, 0.24144122, -0.028920606, -0.04705229, 0.030192787, 0.0010597534, 0.017666103, 0.0041322373, 0.20027764, 0.08919112) * go_0(-1.0, -1.0); + result += mat4(0.0001626656, 0.05816014, -0.0060765734, 0.08811165, 0.35835367, -0.016291425, -0.56892496, 0.083845764, 0.15026698, -0.15916558, 0.08069463, -0.3931291, -0.0123534845, -0.111639686, -0.14637001, -0.08171439) * go_0(-1.0, 0.0); + result += mat4(-0.114976816, 0.023376396, 0.13855027, 0.07438716, -0.069991484, 0.20377779, 0.23929878, -0.040769435, 0.018832395, 0.005638609, -0.091848075, 0.027843866, 0.023744943, -0.06620523, -0.11678267, 0.0844119) * go_0(-1.0, 1.0); + result += mat4(0.0035854098, -0.08432094, -0.17799544, -0.10041983, 0.25605857, 0.021009786, 0.030499447, -0.09928291, 0.052178737, -0.08286175, -0.057888374, 0.024606042, 0.046342995, 0.13875343, 0.11279266, 0.19826262) * go_0(0.0, -1.0); + result += mat4(-0.016232021, -0.21539623, 0.0936961, 0.021143785, 0.094262615, 0.049040064, 0.40978724, 0.15347758, 0.08884813, -0.24887115, -0.14756748, -0.5020875, 0.112477, 0.1466549, -0.33418837, 0.5769466) * go_0(0.0, 0.0); + result += mat4(-0.16832942, -0.07354198, -0.12081261, -0.055348314, 0.39716053, 0.25583258, 0.09870877, 0.2151021, -0.025700683, -0.1801462, -0.04616654, -0.02782245, -0.054461803, -0.00042802413, -0.00163228, -0.004240747) * go_0(0.0, 1.0); + result += mat4(-0.05193433, -0.0018198475, -0.17647028, -0.19462106, 0.1538165, 0.054894235, 0.12183955, 0.07340974, -0.0019901982, 0.0357373, -0.07597063, -0.06681543, -0.00090057997, -0.053894397, -0.010301875, -0.16553953) * go_0(1.0, -1.0); + result += mat4(-0.30873474, -0.2836045, 0.057037193, -0.5016378, 0.11952749, 0.102353275, 0.2351629, -0.14635189, -0.019398788, -0.08776502, 0.021669978, -0.089918956, -0.2187901, -0.1180891, -0.049789533, -0.16109149) * go_0(1.0, 0.0); + result += mat4(-0.078335494, -0.08867304, 0.03349591, -0.1000293, -0.20235832, 0.22917585, -0.09905303, 0.08381748, 0.014350217, -0.14478815, -0.027479894, -0.026432173, -0.10309177, -0.09860884, -0.019177807, -0.06963025) * go_0(1.0, 1.0); + result += mat4(0.008169383, 0.12532842, -0.23369955, 0.077973194, 0.09076616, -0.021277165, 0.1721421, -0.26914293, -0.014729218, -0.023279984, -0.057670787, 0.003598546, -0.015225789, -0.0115396585, -0.26196182, -0.10724508) * go_1(-1.0, -1.0); + result += mat4(0.16542235, 0.06589374, 0.07410237, 0.26753154, -0.3356288, 0.3096256, 0.07112498, -0.0992165, 0.15020338, -0.11021673, 0.18803611, 0.12918204, 0.109007336, -0.031968266, 0.057093572, 0.035949256) * go_1(-1.0, 0.0); + result += mat4(0.065006174, 0.031055925, 0.0390232, -0.01678507, -0.21553491, 0.14171642, -0.19541772, -0.033691674, -0.06241631, 0.07497651, 0.024557155, 0.056778047, -0.060191352, -0.0261998, 0.07493729, -0.0699132) * go_1(-1.0, 1.0); + result += mat4(-0.008541382, 0.020270415, -0.027760057, -0.040962905, -0.26732433, 0.34379438, -0.23012447, 0.0051356517, -0.04059567, 0.0972959, 0.039965224, -0.14796777, -0.0016924662, -0.116963714, -0.026353523, -0.29799464) * go_1(0.0, -1.0); + result += mat4(0.03329303, -0.12663862, -0.0004959157, -0.11162377, 0.26238343, 0.43260252, -0.16504994, 0.10727678, -0.22505566, 0.43474057, 0.43304008, 0.05143919, 0.40494493, 0.08689636, -0.035733614, 0.25727916) * go_1(0.0, 0.0); + result += mat4(0.12175736, -0.014467151, -0.17461288, -0.18480565, -0.26439998, 0.307935, -0.058916792, -0.014292711, -0.0569471, 0.10751278, -0.04134206, 0.1847734, -0.07519831, -0.033909313, -0.05001451, -0.136606) * go_1(0.0, 1.0); + result += mat4(0.1424893, -0.026820501, 0.19645774, -0.0011315406, -0.14680974, 0.07662838, 0.21108222, 0.13260938, 0.17923595, -0.085527614, 0.08217639, 0.06579479, 0.05985784, -0.09016323, 0.11172888, 0.111903176) * go_1(1.0, -1.0); + result += mat4(0.19842595, 0.0093640275, 0.10433465, 0.13341904, -0.082806975, 0.22555825, -0.1315717, 0.11907785, 0.24012424, 0.47776055, 0.1835734, 0.17483878, 0.079803735, 0.01155073, -0.21146573, -0.16484722) * go_1(1.0, 0.0); + result += mat4(0.15064004, 0.021381427, 0.18301587, 0.21225913, 0.054995645, 0.03212186, 0.052798916, -0.048424408, 0.03609021, 0.0964704, -0.059469886, -0.05133066, -0.08157349, 0.051145166, -0.09107608, -0.1362262) * go_1(1.0, 1.0); + result += mat4(0.090521574, -0.014747857, -0.081675015, -0.118686825, 0.04848682, -0.033071827, 0.008534588, 0.023765508, 0.16849907, -0.21797262, -0.17049783, -0.07824179, -0.033794608, 0.052612655, 0.095820345, -0.07262317) * go_2(-1.0, -1.0); + result += mat4(0.22816367, -0.13772108, -0.036353834, -0.47638395, -0.0530902, 0.14089061, 0.076203234, 0.18006112, 0.121814854, -0.20750527, 0.08266107, -0.28634354, 0.14301859, -0.13458411, 0.00501663, -0.039783802) * go_2(-1.0, 0.0); + result += mat4(-0.103384845, -0.14389835, 0.08275834, -0.068423435, 0.22643796, -0.02966374, -0.2847584, 0.037081387, 0.02349005, -0.19353923, -0.00095957273, -0.13623689, -0.073120415, 0.03941467, 0.21864155, -0.014019576) * go_2(-1.0, 1.0); + result += mat4(-0.082576886, 0.17085212, 0.08971252, -0.04213377, -0.032548156, 0.022137715, 0.08399252, -0.0011743539, -0.09410863, -0.41728264, -0.20709297, -0.18933547, 0.027059928, 0.09743364, 0.2504647, -0.041173562) * go_2(0.0, -1.0); + result += mat4(-0.20924084, 0.291118, 0.029851688, 0.16953468, 0.02936709, 0.12213576, 0.22944322, 0.108747594, 0.0001881129, -0.27398208, -0.009702691, 0.15449248, -0.9472944, -0.26114875, -0.28161275, -0.3495961) * go_2(0.0, 0.0); + result += mat4(-0.12994622, -0.2758638, -0.1091727, -0.0968308, -0.14323105, 0.035175014, -0.08023811, 0.006023802, -0.031529594, -0.1486306, -0.3398172, -0.23240276, -0.29163983, 0.173475, 0.18809283, 0.22197202) * go_2(0.0, 1.0); + result += mat4(0.048254848, -0.083444916, -0.014334202, 0.060992356, -0.023099286, -0.09492961, 0.05592045, 0.0026059286, 0.08998117, -0.108810075, -0.053304546, 0.045926623, 0.068255246, 0.099023566, 0.01595483, 0.1336309) * go_2(1.0, -1.0); + result += mat4(0.21916585, 0.2837387, 0.14624594, 0.18843961, -0.06747584, 0.054924384, -0.082568415, 0.05011459, 0.014297759, -0.3884833, -0.054417178, -0.18970548, 0.088336475, -0.030646667, -0.2980552, -0.030035203) * go_2(1.0, 0.0); + result += mat4(-0.02748568, -0.011897529, -0.2370837, -0.016740574, -0.0282112, 0.050353892, -0.10761107, -0.00036999505, 0.037646662, -0.17742962, 0.06489219, -0.158852, -0.08016933, 0.07808515, -0.105895035, 0.079869986) * go_2(1.0, 1.0); + result += mat4(-0.0058994526, -0.037170693, 0.2574696, 0.06199102, -0.04497728, -0.10667442, -0.15183865, 0.0212881, -0.030842574, 0.073473394, 0.010764398, -0.00084518327, -0.03893014, -0.009649613, 0.07443129, 0.15108284) * go_3(-1.0, -1.0); + result += mat4(0.11325495, -0.096435815, -0.097331434, -0.049700152, -0.17231967, 0.047090057, -0.019111065, 0.104790315, -0.15004838, 0.13950798, 0.055996202, -0.070548095, 0.047154237, -0.007650949, -0.053611025, -0.012242293) * go_3(-1.0, 0.0); + result += mat4(0.12787002, -0.04958212, 0.053988468, 0.0017896162, 0.049493514, -0.009475431, -0.0022641935, 0.03933694, -0.005174597, 0.043754533, -0.1432976, 0.037084177, -0.04601288, -0.032077815, -0.059897035, 0.12584484) * go_3(-1.0, 1.0); + result += mat4(0.019409029, 0.10492923, 0.268368, 0.12597778, -0.17733063, -0.0085961, -0.27136415, -0.049664587, 0.012515404, -0.21444482, -0.39275557, -0.12297177, 0.06800057, 0.19228315, 0.06245887, 0.35772634) * go_3(0.0, -1.0); + result += mat4(-0.16317715, 0.2288402, -0.23235172, 0.22230752, -0.1646375, 0.13366091, 0.16681044, -0.17399235, 0.33997267, -0.3179832, -0.34756508, 0.39843196, -0.10748536, 0.322923, 0.23339489, 0.08684083) * go_3(0.0, 0.0); + result += mat4(0.02835275, 0.12314228, 0.24030593, 0.30856124, 0.055735108, -0.044914473, 0.0031432225, 0.07469899, 0.1778018, 0.107083894, -0.023706734, -0.15501897, 0.0943098, -0.034707237, -0.18622099, 0.05257965) * go_3(0.0, 1.0); + result += mat4(0.042839274, 0.12597966, 0.08979042, -0.0647561, -0.050434645, 0.049438696, -0.20008127, -0.05572608, 0.046238814, 0.12622325, -0.019017145, -0.13960391, -0.040050175, 0.14298008, -0.20270552, 0.13391526) * go_3(1.0, -1.0); + result += mat4(-0.0073277587, 0.10606624, -0.08940439, -0.09656414, 0.12387374, -0.0013147948, 0.23607181, -0.00037969893, 0.050353236, -0.17266603, 0.27796733, -0.09877832, 0.02711225, 0.096394345, 0.07457944, 0.21541388) * go_3(1.0, 0.0); + result += mat4(-0.18612787, -0.00027517386, -0.17136407, -0.06413671, 0.025629476, -0.04570916, 0.0008431566, -0.03419168, 0.08123608, 0.09465922, 0.11975521, 0.1269741, 0.08413221, 0.12125001, 0.04727287, 0.072378494) * go_3(1.0, 1.0); + result += vec4(0.04244928, -0.014280219, 0.017129054, -0.08807801); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!SAVE conv2d_4_tf1 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.01973856, -0.05053795, 0.015545361, 0.10867395, 0.33441806, 0.14731607, 0.6793983, -0.21394718, -0.00846322, 0.09146322, -0.07427475, -0.078477465, -0.090998545, 0.133366, 0.105515696, -0.13784988) * go_0(-1.0, -1.0); + result += mat4(-0.05404873, 0.09784018, -0.1337389, -0.18082313, 0.13461179, -0.3816801, 0.12209786, 0.08176651, 0.10461896, -0.43315184, 0.017470734, 0.20423968, -0.03941875, -0.101959296, -0.09440259, 0.09154717) * go_0(-1.0, 0.0); + result += mat4(0.17229515, -0.06907825, -0.008382803, -0.16671611, -0.01576541, 0.03985307, 0.08209482, -0.11707446, -0.11793074, 0.13702396, -0.02013158, 0.07302033, -0.022301994, -0.11464677, 0.036753565, -0.093276784) * go_0(-1.0, 1.0); + result += mat4(-0.017650167, 0.009475923, -0.17856382, 0.15925962, 0.06434641, -0.15568036, 0.038135886, 0.18855911, -0.04427734, 0.1878215, 0.10856261, 0.0041275816, -0.12046199, 0.13610138, 0.3741596, -0.12934728) * go_0(0.0, -1.0); + result += mat4(-0.24631616, 0.0169485, -0.035534818, 0.37795424, -0.08546174, 0.07817259, 0.42897213, -0.47965595, -0.0146556785, -0.20510523, -0.18889453, 0.06476019, 0.1021008, -0.35398817, -0.031071864, -0.21416448) * go_0(0.0, 0.0); + result += mat4(0.32810766, 0.050585747, -0.17658374, -0.13881154, 0.16417882, -0.21286008, -0.106835455, -0.1722344, -0.14151084, 0.08962986, 0.057395387, -0.01623662, 0.02570415, 0.15626897, -0.12687978, 0.080729105) * go_0(0.0, 1.0); + result += mat4(-0.050597478, -0.018753758, -0.036346875, -0.017908493, 0.058593344, 0.008303028, 0.05254987, -0.06635018, -0.022532012, 0.029511122, 0.026682215, -0.054647952, 0.069466785, -0.08892492, 0.025351115, -0.023130694) * go_0(1.0, -1.0); + result += mat4(0.2412473, -0.16138165, -0.15117447, 0.11851003, -0.096868426, 0.082690425, 0.27923304, 0.11590443, 0.19363573, -0.15770023, -0.066793665, 0.011681678, 0.14037277, -0.112065665, -0.048159517, 0.009453693) * go_0(1.0, 0.0); + result += mat4(0.1580054, -0.0060506654, 0.05267837, -0.09178131, -0.09107123, 0.23191126, 0.21108283, -0.070422985, 0.024321035, 0.06131459, 0.066626504, 0.032481454, 0.044402298, 0.1390604, -0.14432502, 0.040869843) * go_0(1.0, 1.0); + result += mat4(0.10264861, 0.013504324, 0.012482852, -0.1781206, -0.12799414, -0.27026084, -0.123830505, 0.098105, -0.039127555, 0.09367889, 0.122323096, 0.1416734, 0.044763107, -0.21801683, -0.14018978, 0.17646866) * go_1(-1.0, -1.0); + result += mat4(0.017453065, 0.11498537, -0.10998983, -0.3116098, -0.3099762, 0.5024706, 0.051817298, 0.03170681, -0.18937826, 0.07946567, -0.11978771, -0.09523745, -0.0033551592, -0.11768945, 0.08932359, -0.06689581) * go_1(-1.0, 0.0); + result += mat4(0.1507582, -0.013266159, -0.073085934, -0.07252967, -0.06301927, -0.13218755, 0.12984878, -0.13678701, 0.023422396, 0.082123175, 0.006906731, -0.004018426, -0.15813835, 0.13711788, 0.016018609, 0.13443229) * go_1(-1.0, 1.0); + result += mat4(-0.06960673, 0.16156524, -0.1374069, -0.05803206, -0.077960715, -0.10676749, 0.26282015, 0.03521529, 0.058099385, -0.014738148, 0.0011174522, 0.24279532, -0.023991548, -0.108812414, -0.08886019, 0.20584475) * go_1(0.0, -1.0); + result += mat4(-0.08043308, 0.063343, 0.055290066, -0.15991378, -0.08096304, -0.23888679, 0.019161629, 0.38381267, 0.3672934, -0.119608454, -0.43623593, -0.46014485, -0.5323366, 0.1318621, 0.087373205, -0.05535459) * go_1(0.0, 0.0); + result += mat4(0.20640239, -0.1369444, -0.21677823, 0.08202178, 0.10515278, 0.06810837, 0.073207974, 0.23623931, 0.102422275, -0.05016664, -0.0039228587, -0.1810343, -0.2235563, -0.1246854, 0.1428113, -0.10609135) * go_1(0.0, 1.0); + result += mat4(-0.031941894, -0.08905056, 0.21501167, 0.11244667, -0.011811734, 0.21630247, 0.07589472, -0.040489636, -0.11824066, -0.11520391, -0.10075633, -0.035642453, 0.062144946, 0.0073282206, 0.14119269, -0.060479023) * go_1(1.0, -1.0); + result += mat4(-0.29382935, -0.056808118, 0.051812876, -0.061358813, -0.08344258, 0.124203674, 0.037964176, -0.01961274, -0.000951725, 0.50005037, -0.24176972, 0.06487161, -0.15469861, 0.04336187, 0.17826353, 0.040010225) * go_1(1.0, 0.0); + result += mat4(0.02044482, -0.0879271, -0.01053958, -0.31148303, 0.07497373, -0.11548258, -0.1666126, 0.02369657, -0.058044076, 0.010801491, -0.005933901, -0.08910467, 0.007953008, 0.03761974, -0.029501524, 0.16816042) * go_1(1.0, 1.0); + result += mat4(0.1779597, -0.10213089, 0.29942423, -0.016642543, -0.015537001, -0.04676146, 0.09585872, -0.0055750017, -0.014361908, -0.20667697, -0.11348746, 0.13081487, -0.10437329, 0.14328459, 0.11648822, -0.09163837) * go_2(-1.0, -1.0); + result += mat4(0.019033967, -0.12420627, -0.07748253, 0.43203858, -0.109799065, 0.07605535, 0.060791396, -0.24517195, -0.15674245, 0.21267459, 0.10665515, -0.073150024, -0.1358355, 0.0054066703, -0.16434059, -0.06031853) * go_2(-1.0, 0.0); + result += mat4(-0.18834068, 0.26840356, -0.12937617, 0.16103932, -0.0062331813, -0.13630053, -0.013911821, 0.022389365, -0.044232946, -0.056454606, 0.022426741, 0.18010215, 0.041900013, 0.03375041, -0.11376866, -0.010313381) * go_2(-1.0, 1.0); + result += mat4(0.12497669, -0.31161824, 0.097568035, 0.19443443, -0.05056519, -0.0031457904, 0.1055554, -0.083650924, 0.07630523, -0.34177595, -0.093093194, 0.20701368, -0.030962149, -0.054470222, -0.23853977, 0.004326528) * go_2(0.0, -1.0); + result += mat4(0.34370202, 0.085750066, -0.16071722, -0.54335934, -0.35595295, -0.050744478, -0.17405547, 0.008628697, -0.007086256, 0.23164117, 0.340156, 0.5475976, -0.15292351, 0.28019544, 0.038059216, 0.0044727) * go_2(0.0, 0.0); + result += mat4(-0.08231968, -0.0052294536, 0.07451547, 0.22278999, -0.3305531, 0.0017458396, 0.10818422, -0.21325395, -0.08807993, -0.110342845, 0.10082142, -0.051594347, 0.24192205, -0.18042035, -0.0095462985, -0.08757798) * go_2(0.0, 1.0); + result += mat4(0.096379586, 0.021887815, -0.05097233, -0.06797989, -0.026171045, 0.022944937, -0.015915364, 0.037667938, 0.17216732, -0.014889412, 0.07343887, 0.028236505, 0.0015047621, 0.1355103, -0.09918284, -0.07673695) * go_2(1.0, -1.0); + result += mat4(-0.25385055, 0.15163356, 0.0030003798, 0.18464413, 0.05611221, 0.099498056, -0.07128191, 0.042955168, 0.027493173, 0.07440157, 0.07814497, 0.096160784, 0.13571084, 0.056412842, -0.031997006, -0.16073681) * go_2(1.0, 0.0); + result += mat4(-0.21634746, 0.025153082, -0.064477116, 0.0005679147, -0.0029436245, 0.12794618, 0.024849026, 0.03018052, 0.11723976, 0.059955597, -0.013594654, 0.09091745, 0.04775348, 0.21260159, -0.07463213, -0.06727042) * go_2(1.0, 1.0); + result += mat4(-0.12166018, 0.024545137, 0.08611618, -0.17627168, 0.09042604, -0.14157623, -0.22147785, 0.09100581, 0.11078359, 0.031410985, -0.17170976, 0.09532806, -0.059569277, 0.09392676, 0.11784347, -0.21471368) * go_3(-1.0, -1.0); + result += mat4(0.1483187, -0.2217563, 0.12032977, 0.14932398, 0.27428308, -0.04568031, 0.12670338, 0.09586169, 0.06700745, 0.005126449, 0.0027694793, -0.033667028, 0.06447861, -0.08585174, -0.05509812, -0.11358761) * go_3(-1.0, 0.0); + result += mat4(-0.22750492, 0.032906335, -0.029479047, 0.11580199, -0.05812372, -0.032269973, 0.05219915, 0.041658226, 0.010897959, 0.065550454, 0.0076911976, -0.045743827, 0.11614996, -0.10393113, -0.0012606392, -0.034367524) * go_3(-1.0, 1.0); + result += mat4(0.09350742, 0.09561609, 0.3735968, 0.031685118, -0.042026598, 0.17006761, -0.3910107, 0.16984761, 0.25679177, 0.036610503, -0.13772772, 0.11101589, -0.1137049, 0.07211461, 0.18065079, -0.12324793) * go_3(0.0, -1.0); + result += mat4(-0.020749722, 0.14413361, -0.061903823, -0.21550268, 0.31306142, -0.11532895, 0.029482557, 0.03282164, -0.09800627, -0.20765196, 0.33030233, 0.075725295, 0.49252015, 0.042455837, -0.07264194, -0.10401895) * go_3(0.0, 0.0); + result += mat4(-0.22697076, -0.15738785, 0.09740376, -0.072098814, -0.06638972, 0.12336611, 0.0073687397, 0.048267826, 0.06717852, -0.027047804, -0.123397194, 0.17829034, 0.04215185, 0.066311836, -0.061742183, -0.046373066) * go_3(0.0, 1.0); + result += mat4(0.041311592, 0.2813485, 0.055084586, -0.01823069, 0.08105147, -0.087944716, -0.10135052, -0.02653456, 0.063169874, -0.1351186, 0.06722432, -0.016406318, 0.08666922, 0.0555909, 0.12086502, -0.17224412) * go_3(1.0, -1.0); + result += mat4(0.26026788, -0.18303715, 0.029279215, -0.12858874, 0.027197823, 0.0919464, 0.00849638, 0.10547888, -0.12952055, -0.14414985, 0.1903315, 0.05004528, -0.12657289, 0.038008716, -0.036606666, -0.054025438) * go_3(1.0, 0.0); + result += mat4(0.069167465, 0.2699947, -0.11137602, -0.05888806, -0.107324794, -0.07598601, 0.06042177, 0.0064530694, -0.039780665, -0.076666445, -0.00846108, -0.06165907, -0.06978219, -0.19108103, -0.040026028, -0.120319635) * go_3(1.0, 1.0); + result += vec4(-0.14375664, -0.0056876075, 0.052177623, 0.07152566); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!SAVE conv2d_5_tf +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.15667982, -0.31441393, 0.29112124, -0.15737213, 0.022372838, 0.10690639, -0.12019085, -0.051941186, -0.30367845, 0.02612279, 0.2372532, 0.2021648, -0.20481086, -0.003770439, 0.14981231, 0.066780254) * go_0(-1.0, -1.0); + result += mat4(0.03270688, -0.42270073, 0.044317324, 0.15907793, 0.14681059, -0.2934784, 0.24933252, -0.067273855, 0.07752533, -0.23194817, 0.0686707, 0.08999225, 0.121678345, -0.12916678, 0.012397381, 0.012315053) * go_0(-1.0, 0.0); + result += mat4(-0.10090412, -0.20792678, 0.11076032, -0.02938975, -0.1944187, -0.2003259, 0.04438032, 0.36946484, -0.019868722, -0.15830222, 0.042811528, 0.015641417, 0.113098525, 0.080257006, 0.011135628, -0.2877629) * go_0(-1.0, 1.0); + result += mat4(0.15482685, 0.06579119, 0.28301102, 0.23729764, 0.15990537, 0.4529694, 0.107880585, 0.10668121, -0.42430598, -0.2631025, 0.10513542, -0.036242936, -0.09827965, -0.0069260495, -0.11689201, -0.041436482) * go_0(0.0, -1.0); + result += mat4(0.08472191, -0.13051608, 0.047930017, 0.36831668, 0.1164478, 0.21384816, 0.22062506, 0.2094167, 0.48668453, 0.32302913, 0.36268055, -0.091801375, -0.079141125, -0.26613805, -0.16608004, 0.03810683) * go_0(0.0, 0.0); + result += mat4(-0.13474251, -0.04824603, 0.23303726, -0.116136365, 0.0056330245, 0.15829784, 0.0012259148, 0.12648389, 0.038680512, 0.05131116, 0.024099711, 0.4555406, 0.0035716395, 0.11633299, 0.094744846, -0.2457627) * go_0(0.0, 1.0); + result += mat4(-0.0576871, -0.04037522, 0.16857862, 0.0031084458, -0.027274646, -0.18154246, 0.13337846, 0.035422433, -0.0030749738, -0.17288287, 0.019983152, -0.31871706, -0.03280405, 0.06825421, -0.1563798, 0.05031885) * go_0(1.0, -1.0); + result += mat4(-0.066631876, 0.012560506, 0.1690693, -0.018248236, 0.0450104, 0.016296914, -0.14910112, -0.16191053, 0.5078224, -0.017615631, 0.15226597, -0.13373777, 0.20148668, 0.060258996, 0.13215344, 0.18430072) * go_0(1.0, 0.0); + result += mat4(0.12976126, -0.072738245, 0.053067926, 0.09752956, -0.04716214, 0.04136464, 0.014162617, -0.06621296, -0.09617736, 0.057469178, 0.01280261, -0.042976785, -0.12570308, 0.006027807, 0.031038594, 0.06569918) * go_0(1.0, 1.0); + result += mat4(-0.12655424, -0.41563693, -0.030971345, -0.06357555, -0.14121394, -0.15667427, 0.14398985, 0.05995984, 0.0821605, 0.12462943, 0.007492498, -0.0030187522, -0.22804567, -0.10487421, 0.13180672, -0.13978589) * go_1(-1.0, -1.0); + result += mat4(-0.075991526, 0.12352044, -0.17844258, 0.010614991, -0.18293494, 0.25009897, -0.080779895, 0.21548378, 0.22215544, 0.048670914, -0.057372037, 0.078176, 0.17490411, 0.004919551, 0.059619516, 0.12660357) * go_1(-1.0, 0.0); + result += mat4(-0.06282951, 0.10929357, 0.026720649, -0.15939257, 0.17107709, -0.04334904, -0.03047162, -0.101681694, 0.03118431, 0.19994627, 0.025729552, 0.035035726, -0.0012207883, -0.08618888, 0.061205562, 0.009940555) * go_1(-1.0, 1.0); + result += mat4(-0.23581573, 0.08002133, -0.15170844, 0.08872338, -0.25767094, -0.09273545, 0.18153891, 0.2544269, -0.084598936, -0.089766875, -0.14610913, 0.002247754, 0.1802837, -0.019625561, 0.30239686, -0.032793984) * go_1(0.0, -1.0); + result += mat4(0.5223286, 0.10347663, 0.4000593, 0.25440502, -0.07646958, -0.31940606, 0.053407036, -0.09356492, 0.2738851, 0.23945184, -0.2907089, -0.45822915, 0.13415676, 0.17187089, 0.08731114, -0.27670014) * go_1(0.0, 0.0); + result += mat4(0.059273496, -0.107137166, 0.12087539, 0.179237, -0.021209063, -0.02548005, 0.061256204, 0.033822674, 0.54491127, -0.2475085, 0.08055858, -0.4071213, -0.045093834, 0.07161349, 0.08219979, -0.31735933) * go_1(0.0, 1.0); + result += mat4(-0.29527053, 0.021469543, 0.07202354, -0.07103959, 0.03990857, 0.2490762, -0.19419849, -0.13916986, -0.05325315, 0.12922864, -0.041463424, -0.031249814, 0.073991664, -0.09723187, 0.35132217, 0.024760868) * go_1(1.0, -1.0); + result += mat4(0.09606787, -0.0951808, -0.0059865676, -0.052033573, -0.3118038, 0.4432636, -0.12943317, 0.09484738, 0.10621756, -0.10550469, 0.11264014, 0.1402276, -0.012679125, -0.08809835, 0.029994955, -0.15121669) * go_1(1.0, 0.0); + result += mat4(0.123397775, 0.048338536, -0.00975707, -0.103767075, -0.041053303, -0.07228534, 0.046792876, 0.0668788, 0.29554394, 0.012451002, 0.19568972, 0.112091154, 0.10882395, -0.0995439, 0.051324263, 0.24967718) * go_1(1.0, 1.0); + result += mat4(0.2699648, 0.17300771, -0.16056584, 0.1099392, 0.11674778, -0.19811755, 0.111880325, -0.06075038, -0.095849104, -0.04510651, -0.04180761, -0.0052786698, 0.11037549, -0.24115366, 0.018509468, -0.07819484) * go_2(-1.0, -1.0); + result += mat4(0.10981622, 0.044488225, 0.050722387, -0.3146652, -0.0013019707, -0.24084032, -0.10475088, 0.026944289, 0.1592903, 0.33087498, 0.061839584, -0.043863457, -0.06904603, -0.08635262, 0.088630445, -0.15485142) * go_2(-1.0, 0.0); + result += mat4(-0.06810522, 0.19927117, -0.08130387, 0.11612667, -0.015104349, -7.738651e-05, -0.06419643, -0.14813533, 0.026650215, 0.015038833, 0.08161237, 0.058321163, 0.015005185, -0.16189656, 0.024501886, 0.1927279) * go_2(-1.0, 1.0); + result += mat4(0.31858218, 0.11962043, -0.20560326, -0.13190113, 0.02138715, -0.057066392, -0.085771754, -0.124566585, 0.044749223, 0.13687828, 0.1195792, 0.14021616, 0.26204133, 0.05119197, -0.13980037, 0.050747477) * go_2(0.0, -1.0); + result += mat4(-0.21238558, -0.0734057, -0.2036023, -0.34308743, -0.29370925, 0.2393742, -0.37877437, 0.036869828, -0.17053255, -0.26900926, -0.23330869, 0.32902205, -0.4882585, 0.27430108, -0.033711653, 0.15501487) * go_2(0.0, 0.0); + result += mat4(0.23487025, 0.085289046, -0.14281847, 0.12543266, 0.15871634, -0.13858907, 0.14810285, -0.0239261, 0.1286852, 0.07754033, 0.01072327, -0.14313328, 0.05480442, -0.12195059, 0.11341822, 0.08224607) * go_2(0.0, 1.0); + result += mat4(0.19490337, 0.023521842, -0.24548791, 0.0035114093, -0.07937166, -0.07674376, 0.08365873, -0.003286068, 0.023862893, 0.009626835, 0.032829892, 0.0078141205, 0.053484406, -0.08297165, 0.09303188, 0.004273738) * go_2(1.0, -1.0); + result += mat4(-0.0032906602, 0.13636959, 0.027821168, 0.06270053, 0.024775786, -0.077529594, 0.03799126, 0.030000908, 0.031749167, 0.04360487, 0.004448846, -0.17835903, -0.30834544, 0.013150946, -0.13758293, -0.03296242) * go_2(1.0, 0.0); + result += mat4(-0.14166978, 0.034131095, 0.049779188, 0.09453289, -0.011406557, -0.07020709, -0.0031981543, -0.03443845, -0.00010218944, 0.0855161, -0.10951453, 0.042758763, 0.1718446, -0.1577923, 0.0410027, -0.04992991) * go_2(1.0, 1.0); + result += mat4(0.1219178, 0.105126485, -0.041097324, -0.08110963, -0.04857337, -0.11544925, -0.14572923, 0.092435546, 0.091857366, 0.15425235, -0.020324683, -0.05764375, -0.020458939, -0.10527823, -0.085554086, 0.16358297) * go_3(-1.0, -1.0); + result += mat4(-0.12372687, -0.009976829, 0.14252265, -0.1321053, -0.05965866, -0.1393898, -0.017603246, -0.02714342, -0.16824952, -0.23083204, -0.012299022, -0.06689838, -0.015830487, 0.21299921, -0.11637202, 0.0074968333) * go_3(-1.0, 0.0); + result += mat4(-0.01979935, -0.182785, -0.015397454, 0.14175794, -0.011465284, 0.11285164, -0.036115747, 0.07150463, -0.083641894, -0.10221778, -0.13871445, 0.099696055, 0.04603662, -0.06463785, -0.007984529, -0.0032940735) * go_3(-1.0, 1.0); + result += mat4(0.072830334, -0.057334073, 0.09086239, 0.13039105, 0.06350303, 0.17130788, -0.2181585, -0.09137403, -0.31397742, -0.019071499, -0.017274613, 0.13762084, 0.10195637, -0.021455176, 0.04011394, -0.08029658) * go_3(0.0, -1.0); + result += mat4(-0.26982597, -0.40265098, -0.4151411, 0.038557775, -0.095602125, 0.3503172, -0.029988842, -0.03484708, 0.095536314, -0.0030311556, 0.31589827, 0.52763534, -0.12629713, -0.24356791, 0.0059487303, 0.42298427) * go_3(0.0, 0.0); + result += mat4(0.054166105, 0.18827972, -0.081673265, -0.06720384, 0.09375001, 0.22173035, -0.14050071, 0.108400136, -0.15553835, -0.08716729, -0.037366748, 0.10971073, -0.02560103, -0.26702073, -0.05201882, 0.2432563) * go_3(0.0, 1.0); + result += mat4(0.16196893, 0.0889265, -0.09887943, -0.042956755, -0.054403376, -0.123823255, 0.045847844, 0.017027669, 0.00539936, -0.112265736, 0.050549984, -0.104931094, -0.06883012, -0.25745714, 0.11155538, -0.15363649) * go_3(1.0, -1.0); + result += mat4(-0.22157209, 0.18200903, -0.13290548, 0.026721261, -0.06066069, -0.18150693, 0.08768983, 0.037362453, -0.1073367, -0.070236765, -0.41223463, -0.168915, -0.15517351, -0.13949952, -0.13307643, -0.15935421) * go_3(1.0, 0.0); + result += mat4(-0.026589906, 0.0930502, 0.05195435, 0.06301585, -0.01107014, -0.019382332, 0.027223695, -0.004045145, -0.15238355, -0.0345132, 0.06355168, 0.0011230056, 0.16690113, 0.0017829507, -0.0023939044, -0.09471834) * go_3(1.0, 1.0); + result += vec4(0.024455175, 0.01669877, -0.066231176, 0.036848705); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!SAVE conv2d_5_tf1 +//!WIDTH conv2d_4_tf.w +//!HEIGHT conv2d_4_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_4_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_4_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.01763509, -0.17156707, -0.06841296, -0.026132878, -0.10600523, 0.11245994, 0.121395074, -0.09331501, 0.12764473, 0.0428028, -0.11837395, 0.2092563, -0.04357652, -0.0490096, 0.024701532, 0.10518723) * go_0(-1.0, -1.0); + result += mat4(-0.17130826, -0.31987694, -0.07639005, 0.21362033, 0.058639023, 0.066175915, -0.25344703, -0.07923442, -0.14766373, 0.040518284, -0.031103026, -0.040075514, -0.051108997, -0.28214613, -0.18504949, 0.27544948) * go_0(-1.0, 0.0); + result += mat4(0.030991005, -0.011353306, 0.15237464, 0.15458584, 0.1250524, 0.19959912, 0.14049476, 0.38410887, 0.07378578, -0.017728366, 0.0963528, -0.043756213, -0.039577194, -0.11800575, -0.08392266, -0.07599512) * go_0(-1.0, 1.0); + result += mat4(0.022089608, -0.027317125, 0.051330008, -0.0075439885, 0.021650828, -0.0009390209, -0.12043464, 0.049332134, -0.055557396, -0.053297505, -0.0918705, -0.13089466, -0.10994107, 0.072746456, 0.11496739, -0.05225977) * go_0(0.0, -1.0); + result += mat4(0.29730305, 0.26317745, 0.052159555, -0.32006654, 0.48288685, -0.049926184, -0.08091092, -0.13825637, -0.1485706, -0.288657, -0.41443697, 0.06856032, -0.23809211, -0.12953928, 0.4783034, -0.47557938) * go_0(0.0, 0.0); + result += mat4(0.026139118, -0.23031352, 0.04861487, 0.033556074, 0.2702056, 0.22802536, -0.15385233, 0.1664119, 0.18749923, 0.36927548, -0.011473684, -0.11771165, -0.16859052, -0.4513202, 0.12863952, 0.02482837) * go_0(0.0, 1.0); + result += mat4(0.0073229345, -0.061915245, 0.06710329, 0.0062416573, -0.00555983, 0.14592186, 0.11201052, -0.123630054, 0.32611257, -0.11279885, -0.059449438, 0.2891043, -0.10519016, 0.040108994, -0.012468261, 0.02083298) * go_0(1.0, -1.0); + result += mat4(-0.057483062, 0.08454755, -0.15529329, -0.12572923, 0.2600099, -0.02319978, -0.04037675, 0.11496361, 0.07728194, -0.12908956, -0.025529336, 0.112581626, 0.02971823, 0.11659056, -0.01298622, 0.017061908) * go_0(1.0, 0.0); + result += mat4(0.22417091, -0.00222947, 0.04980858, 0.12260437, -0.025507605, 0.042577885, 0.120813504, -0.048522256, -0.038494784, -0.0072195013, -0.23012944, -0.020850847, -0.078296244, -0.014830018, 0.19759563, -0.10000253) * go_0(1.0, 1.0); + result += mat4(-0.032090195, 0.023757193, -0.08989734, 0.14419042, 0.0112194475, -0.093776144, -0.020197887, 0.29295877, 0.06872183, 0.09511462, -0.03245769, -0.06504889, 0.05132126, 0.00399527, 0.075911656, 0.250893) * go_1(-1.0, -1.0); + result += mat4(-0.3418496, 0.25525784, 0.0018161442, 0.028484365, -0.17573346, -0.12457501, 0.18466166, 0.20209278, 0.10282706, 0.16353399, 0.025052028, -0.059714165, -0.055806916, -0.28651386, 0.112798095, 0.11624314) * go_1(-1.0, 0.0); + result += mat4(-0.018793896, 0.07500149, -0.01728254, -0.1726998, -0.13333, 0.09590344, -0.036537904, -0.11522523, 0.19445558, 0.22680458, 0.12061006, -0.06225618, 0.1127748, 0.28380096, -0.07099846, -0.007440302) * go_1(-1.0, 1.0); + result += mat4(-0.43887648, -0.10018577, -0.29267642, 0.12149727, -0.14333835, 0.04161915, 0.19442867, 0.16506511, 0.09655387, -0.0014398015, 0.13189743, -0.14068556, 0.049408, 0.0829072, 0.2950336, 0.36965907) * go_1(0.0, -1.0); + result += mat4(0.41486958, -0.023498302, -0.37900022, -0.31752598, 0.13758768, -0.18782206, -0.31358528, 0.3330786, -0.4039293, -0.06539036, 0.032599606, 0.10663507, -0.26369813, -0.17365438, 0.20723309, 0.1801556) * go_1(0.0, 0.0); + result += mat4(0.004117444, -0.14894462, 0.14915143, -0.047375835, -0.2609916, -0.10172324, -0.14925237, -0.33830285, 0.12131607, -0.18156646, -0.42382464, -0.052582145, 0.2329045, -0.4576963, 0.13756892, 0.055571318) * go_1(0.0, 1.0); + result += mat4(-0.31689477, 0.017058033, -0.01904924, -0.016893756, -0.011479519, 0.07316262, -0.07086077, 0.08923511, -0.08190091, -0.025866933, -0.06909204, -0.028601022, 0.023224542, 0.03082087, 0.2230426, -0.16713654) * go_1(1.0, -1.0); + result += mat4(0.13457374, 0.110913865, -0.1130815, -0.031438913, -0.55201167, 0.04831016, 0.25107765, -0.014003224, 0.19532952, 0.02062346, 0.04839241, 0.088673405, 0.30325848, -0.20222804, -0.085780576, 0.22512968) * go_1(1.0, 0.0); + result += mat4(0.076354, 0.021940092, -0.16170324, 0.0025543426, -0.0032400405, -0.0046705627, 0.06241069, -0.031247333, 0.098353796, 0.03723474, 0.22971998, -0.017877292, 0.119858086, 0.008041448, 0.2140585, 0.10343376) * go_1(1.0, 1.0); + result += mat4(0.08627595, 0.04532834, 0.027579082, -0.16222088, 0.15583228, -0.14371829, -0.07243855, -0.111895435, -0.14438897, -0.10250594, 0.0034202964, -0.066547595, -0.034390844, -0.021545287, 0.014540157, -0.10215731) * go_2(-1.0, -1.0); + result += mat4(0.19720152, 0.21534947, 0.1130938, -0.011730973, 0.013247983, -0.10344174, -0.1906514, -0.015767017, -0.020093633, -0.26487067, -0.005960781, -0.057149183, 0.030110173, 0.047692046, -0.19308545, -0.25292158) * go_2(-1.0, 0.0); + result += mat4(0.039498243, 0.053682897, -0.01844695, -0.017540915, 0.039454967, -0.27696076, 0.09503274, -0.038958035, 0.17321438, -0.036311295, 0.03123055, 0.02310311, 0.040591653, 0.0054627894, -0.03520426, -0.026101988) * go_2(-1.0, 1.0); + result += mat4(0.055991564, 0.06512919, -0.12532505, 0.024075158, -0.04926237, -0.11701171, 0.026792146, 0.013033238, -0.052847516, -0.01550091, -0.008442071, -0.077945165, -0.033220004, -0.13678443, -0.07040586, 0.121846326) * go_2(0.0, -1.0); + result += mat4(-0.19537796, -0.016634773, 0.10707109, -0.024361614, -0.16002733, -0.44066608, 0.16488662, 0.013152995, 0.22407806, 0.12854017, 0.19028598, -0.08379244, -0.05594235, -0.15909895, 0.511962, 0.39027596) * go_2(0.0, 0.0); + result += mat4(-0.032652248, 0.06004893, 0.011166194, 0.102761306, -0.035113614, -0.29961765, -0.013817978, 0.20938557, 0.08488225, -0.1118558, -0.0375328, -0.035511103, 0.0046933405, 0.20203683, -0.13552529, -0.12685429) * go_2(0.0, 1.0); + result += mat4(0.03054923, 0.08224908, -0.059128158, -0.02583655, -0.02133876, 0.0048713544, 0.10848829, 0.06324404, 0.028332822, -0.011002306, -0.027557913, -0.06072362, 0.1019048, -0.02587316, 0.08563405, -0.08119947) * go_2(1.0, -1.0); + result += mat4(-0.10568117, 0.1075248, 0.19379964, -0.14337265, 0.019374132, -0.0907804, -0.13827625, -0.03628561, 0.014735499, -0.026882607, -0.25948793, 0.034926686, -0.05988073, -0.22735636, 0.053511668, 0.04765336) * go_2(1.0, 0.0); + result += mat4(-0.029848114, 0.09183966, 0.084713496, 0.09422864, 0.069713995, -0.10584984, -0.020899031, 0.059645247, -0.075805016, -0.01828552, 0.06689195, -0.13804196, -0.023465823, -0.034038994, -0.12946706, 0.058709413) * go_2(1.0, 1.0); + result += mat4(0.061918218, 0.038984764, 0.013660938, -0.19340219, -0.014949839, 0.12946278, 0.12725051, 0.13429146, 0.05993008, -0.015394284, 0.011232483, 0.0344157, 0.022161875, -0.023923954, 0.061736204, 0.025963215) * go_3(-1.0, -1.0); + result += mat4(0.048136763, 0.03162042, -0.01967249, 0.06374493, 0.034645267, 0.22403605, 0.036197048, -0.06903216, -0.1024706, -0.0005459356, 0.049185563, 0.16309108, 0.07394778, 0.10351343, 0.28430694, -0.13531347) * go_3(-1.0, 0.0); + result += mat4(-0.14705071, -0.09458433, 0.03063114, 0.07901115, -0.11911086, -0.06428132, -0.013549552, -0.041342866, -0.20770676, -0.15104479, 0.054365363, -0.11652907, 0.05639815, 0.070518605, 0.0017846811, -0.00056205114) * go_3(-1.0, 1.0); + result += mat4(0.27148908, 0.07358356, 0.13644488, -0.13824654, 0.0112991175, -0.021521023, -0.10197379, 0.007816017, -0.13314332, 0.12318473, -0.043214846, -0.15759036, -0.19744353, -0.10267182, -0.28249928, 0.11233295) * go_3(0.0, -1.0); + result += mat4(-0.096474804, 0.17893109, 0.014679829, -0.21218887, -0.24170275, 0.10603527, 0.05375366, -0.059315052, 0.17087384, 0.13633691, -0.37958893, 0.43264794, 0.17829923, 0.06485103, -0.37551817, -0.22082718) * go_3(0.0, 0.0); + result += mat4(-0.30536333, -0.033212308, -0.25232, 0.11730442, -0.11176368, 0.26223183, -0.049025323, -0.01375941, -0.29028055, 0.16842811, -0.035684332, -0.4180911, -0.1611732, 0.07683385, -0.14263596, 0.17508087) * go_3(0.0, 1.0); + result += mat4(0.23580009, 0.025621435, -0.15757325, 0.008123166, -0.021905439, -0.02162503, -0.059497356, -0.01636353, 0.047654126, -0.084423855, -0.033733923, 0.0127116265, -0.059593942, -0.053935718, -0.050729543, 0.013887048) * go_3(1.0, -1.0); + result += mat4(-0.19232626, 0.07915767, -0.05909752, 0.007695347, 0.058876406, 0.057521783, -0.080253534, 0.2011056, -0.27965516, -0.08033169, -0.13025513, 0.12854645, 0.053400308, -0.18445957, -0.18463044, 0.27920377) * go_3(1.0, 0.0); + result += mat4(-0.061806213, -0.020037206, 0.003183183, -0.029844081, -0.039553937, 0.028905323, -0.11367984, -0.097321615, -0.10112643, 0.0039709485, -0.06020118, -0.23871279, -0.077974856, 0.05806996, -0.21440302, 0.11898043) * go_3(1.0, 1.0); + result += vec4(-0.023832673, 0.03702965, -0.04749135, -0.10982549); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!SAVE conv2d_6_tf +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.030931145, 0.013683292, -0.0650242, -0.028732346, 0.120067924, -0.029404473, 0.0038229884, -0.14631765, 0.041900825, -0.076596744, -0.11096378, -0.27100095, 0.0052598766, -0.05929686, -0.06816563, -0.086864315) * go_0(-1.0, -1.0); + result += mat4(-0.043620087, -0.16360405, 0.006527374, 0.15706524, 0.08338088, -0.19027525, 0.22595987, -0.054963548, 0.01825031, -0.03149212, 0.025471251, 0.06429379, -0.011633275, -0.079389006, -0.0030728737, 0.17345747) * go_0(-1.0, 0.0); + result += mat4(-0.011275288, -0.10668036, 0.05718997, 0.010336089, 0.33393976, -0.2029354, 0.075444475, -0.092244044, 0.07605498, 0.20125951, 0.10493973, -0.12306946, 0.03658231, 0.08233366, -0.12205888, -0.116969004) * go_0(-1.0, 1.0); + result += mat4(-0.0070305974, 0.105127215, 0.006041873, 0.26743913, 0.028119443, 0.14823505, -0.28344348, 0.12362866, -0.1215781, 0.08104382, 0.102011785, 0.085380934, 0.061244503, -0.06230063, -0.05353345, 0.1166729) * go_0(0.0, -1.0); + result += mat4(0.08945733, 0.4101902, -0.06404005, 0.040728435, 0.13076581, -0.20805469, -0.10897316, -0.14924604, 0.10090762, 0.015475414, 0.26346552, 0.12096677, -0.20199244, 0.2780031, 0.18515368, 0.35105625) * go_0(0.0, 0.0); + result += mat4(0.07463155, 0.26932517, -0.06768551, 0.10470878, -0.1423996, 0.013550665, -0.06167201, -0.1022994, -0.3107166, -0.15609552, 0.1695213, -0.1277181, 0.12582655, -0.1596128, 0.015612055, -0.19826376) * go_0(0.0, 1.0); + result += mat4(0.011745468, 0.006471601, 0.008110513, 0.025831396, 0.1272883, -0.221959, 0.11993834, -0.007903633, 0.009993582, -0.10170755, 0.026594637, -0.027883623, 0.030666083, -0.036415886, 0.007469573, 0.0674783) * go_0(1.0, -1.0); + result += mat4(-0.022760388, -0.10911659, -0.012589904, -0.046462692, 0.36987287, 0.71668935, -0.04466556, 0.12082762, 0.0026539841, 0.07070946, -0.00020439121, -0.13925348, 0.08672072, 0.20075354, -0.066352285, 0.14655356) * go_0(1.0, 0.0); + result += mat4(-0.081081845, -0.21956222, 0.06781787, -0.106362104, -0.03016425, -0.010460211, -0.009725996, -0.009805538, 0.07037355, 0.19254607, 0.038890257, 0.29580075, -0.10355764, 0.12613009, 0.02485986, -0.031927988) * go_0(1.0, 1.0); + result += mat4(-0.13882205, 0.21770848, 0.015392157, 0.010310204, 0.008225721, 0.07457836, 0.09984027, -0.25452816, 0.2193511, -0.22262146, -0.12950355, 0.026151875, 0.022114651, -0.030566849, 0.034688126, 0.03047327) * go_1(-1.0, -1.0); + result += mat4(0.0363441, 0.19290726, -0.1143055, 0.30871987, -0.05780708, 0.082128406, -0.115280904, 0.07636388, 0.48947453, -0.29715258, 0.146737, -0.3275992, -0.055972476, -0.09991753, 0.17435446, 0.10917291) * go_1(-1.0, 0.0); + result += mat4(0.026389305, 0.054523308, -0.028950177, 0.06913328, -0.18626037, 0.08829993, 0.10407121, 0.001246911, 0.103938825, -0.3117343, -0.045564886, 0.07316613, 0.0027089121, 0.099437356, -0.046500806, -0.0927284) * go_1(-1.0, 1.0); + result += mat4(0.051037624, -0.2068234, 0.061572235, -0.3345198, 0.16960172, -0.30289862, -0.002583443, 0.39312238, 0.08246557, 0.16374862, -0.31902805, -0.13205275, -0.032050006, 0.01670186, 0.13852347, 0.120012194) * go_1(0.0, -1.0); + result += mat4(-0.67096996, -0.06274476, 0.18575665, 0.80282855, 0.23201196, -0.0054729837, 0.050396994, -0.42014772, 0.34904522, 0.26281372, 0.24697208, 0.55475426, 0.49850988, -0.06581312, -0.0068906257, -0.15741143) * go_1(0.0, 0.0); + result += mat4(-0.04252036, -0.28224963, 0.009723064, 0.116357096, 0.2992567, -0.26702902, -0.05648925, 0.12729199, -0.37574205, 0.54211813, -0.25248805, -0.13023548, 0.18903324, -0.5182459, 0.0141203115, -0.19444294) * go_1(0.0, 1.0); + result += mat4(-0.0017735233, -0.010132458, -0.040924776, -0.13767008, 0.20757031, -0.06509882, -0.09756446, 0.018974079, 0.090851985, -0.010158765, -0.03999607, -0.12055641, 0.03629025, -0.018645551, -0.05506811, -0.014202848) * go_1(1.0, -1.0); + result += mat4(0.16203491, 0.011118734, -0.18486023, -0.024290733, -0.3673846, -0.20295864, 0.23055002, -0.1555852, -0.02706522, 0.03262891, 0.008724611, -0.03760652, -0.20946771, -0.01951837, 0.16955496, 0.11690098) * go_1(1.0, 0.0); + result += mat4(0.0783421, 0.22656651, -0.15715368, -0.024174158, 0.020260733, 0.032390315, -0.029133298, 0.086601086, 0.13871798, -0.12525433, 0.16097449, 0.058946393, 0.029865682, 0.08508385, 0.040569812, -0.09402932) * go_1(1.0, 1.0); + result += mat4(-0.05063873, 0.11269313, -0.057484943, -0.13579641, 0.047973365, -0.07103839, -0.07838756, -0.0028928046, -0.019466015, 0.018428024, 0.010016324, -0.057396665, -0.19495595, 0.034307264, -0.022888038, 0.08112259) * go_2(-1.0, -1.0); + result += mat4(-0.09790086, 0.10613111, 0.06611674, 0.19356097, -0.00073371036, -0.019078335, 0.076719105, -0.016212497, -0.3283475, -0.07547389, -0.08140701, 0.3185625, -0.25060275, 0.16820994, -0.123497784, 0.43272668) * go_2(-1.0, 0.0); + result += mat4(-0.06365342, 0.11186735, -0.17493224, -0.04207358, 0.0003117533, 0.034089327, -3.067692e-05, -0.03422754, 0.16267666, 0.054771993, 0.048384454, -0.041866794, 0.0036008756, 0.0021496525, 0.20258942, -0.06297619) * go_2(-1.0, 1.0); + result += mat4(0.03578836, 0.08763908, -0.22370125, -0.32465744, 0.019142643, 0.011316954, 0.17920344, 0.031633645, 0.03766343, -0.116487674, -0.05281752, -0.018965483, 0.049297336, -0.34511214, 0.42598158, 0.051361635) * go_2(0.0, -1.0); + result += mat4(0.26638633, -0.33628765, 0.04437907, 0.09616201, -0.020049393, 0.2560829, -0.027108455, 0.255752, 0.3666511, 0.052277412, -0.46667686, 0.48482272, 0.51302284, -0.06941614, -0.17967525, -0.07889891) * go_2(0.0, 0.0); + result += mat4(0.18503937, 0.088710256, 0.2083147, -0.20758459, -0.036416974, 0.018303726, 0.03729963, -0.035969947, -0.2685231, -0.42169708, -0.039593916, -0.02642618, 0.29050872, -0.25723743, -0.111259766, 0.15001127) * go_2(0.0, 1.0); + result += mat4(-0.026473878, -0.07241443, 0.022400148, -0.03214132, 0.0859297, -0.0036677981, -0.07039137, 0.03703108, 0.042322673, -0.01222808, -0.08151938, 0.033109214, -0.048737407, 0.25929528, -0.40535828, -0.123594694) * go_2(1.0, -1.0); + result += mat4(0.10233285, 0.22455986, -0.13368733, 0.033236265, -0.052114893, -0.11709317, 0.009709581, 0.19201641, -0.02973698, 0.032114245, -0.09771862, 0.085680574, 0.15827927, -0.15042172, 0.21833214, -0.13262676) * go_2(1.0, 0.0); + result += mat4(-0.08460587, -0.09473209, 0.019323658, -0.057233352, 0.0019434267, -0.14437936, 0.034232683, 0.0030602294, -0.023598112, 0.10692026, -0.09960999, 0.005887181, 0.014738836, -0.32473162, -0.10886747, -0.08365826) * go_2(1.0, 1.0); + result += mat4(0.10900178, 0.00080280803, -0.14009437, -0.053074867, -0.07811151, -0.03456029, -0.104943685, 0.016918905, -0.11335709, 0.079421654, 0.13481963, 0.037818357, -0.027339859, 0.05856774, -0.044562265, 0.03908084) * go_3(-1.0, -1.0); + result += mat4(0.07628258, -0.23815769, 0.2840278, -0.3541637, -0.044292126, -0.09310441, -0.1335055, -0.031899665, -0.11981227, 0.24012394, -0.041896038, -0.10168982, 0.20248915, -0.10036763, -0.044115108, 0.08520525) * go_3(-1.0, 0.0); + result += mat4(0.07234102, -0.119480744, -0.01401321, -0.025182616, -0.031284854, -0.050089385, 0.014808948, 0.038662236, -0.18539418, 0.017342187, 0.023812262, 0.13428104, 0.020824855, -0.07433546, 0.054307282, 0.08511016) * go_3(-1.0, 1.0); + result += mat4(-0.11046813, -0.04663274, 0.33497185, 0.023273284, -0.24681108, 0.116665915, 0.12045893, 0.13306482, -0.039098527, 0.04747061, 0.042796664, 0.053514794, 0.011861975, -0.048702, 0.008408589, -0.09497112) * go_3(0.0, -1.0); + result += mat4(0.34634927, 0.37973458, -0.79267627, -0.7362719, 0.35489878, -0.07635863, 0.24082923, -0.27480397, -0.3236968, -0.25523046, 0.05118527, -0.040529836, -0.6000509, 0.39020586, 0.27632973, 0.5141453) * go_3(0.0, 0.0); + result += mat4(0.16761221, -0.033125393, 0.00561569, 0.083019435, -0.101278506, 0.07810264, 0.12060661, 0.16048536, 0.14257826, -0.15996903, 0.018831912, -0.094429865, -0.22227801, 0.426937, -0.054677445, 0.05067348) * go_3(0.0, 1.0); + result += mat4(0.02233958, 0.02608942, -0.045318656, 0.06509929, 0.035911568, 0.025316885, 0.0840986, 0.08326237, 0.048455603, -0.13630742, 0.07230253, -0.047261715, -0.092630014, 0.04786565, 0.10354939, -0.07094341) * go_3(1.0, -1.0); + result += mat4(-0.1463382, -0.14900577, 0.2835977, -0.106733374, -0.11554754, -0.168429, -0.1411373, -0.20654152, -0.06388508, 0.039648015, 0.08543832, -0.13253337, 0.017264463, -0.06346233, -0.10823598, 0.067361064) * go_3(1.0, 0.0); + result += mat4(0.04419582, 0.039152585, 0.06222691, 0.05757103, 0.012084537, 0.051425997, -0.061130576, 0.16752882, 0.07497411, 0.13495837, -0.15585983, -0.02050144, -0.08555421, -0.09147339, 0.025115604, 0.05948922) * go_3(1.0, 1.0); + result += vec4(0.00590038, 0.03082865, 0.002111702, -0.03330112); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!SAVE conv2d_6_tf1 +//!WIDTH conv2d_5_tf.w +//!HEIGHT conv2d_5_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_5_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_5_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.009029573, 0.029218858, 0.029705316, -0.019268971, -0.0023235187, -0.072589695, 0.1424836, 0.09049359, 0.04342995, 0.18134294, 0.018145641, 0.14789368, 0.050923645, 0.06524081, 0.036812488, 0.11108108) * go_0(-1.0, -1.0); + result += mat4(-0.026506428, 0.016968496, 0.015961196, 0.010030791, -0.3141888, -0.06769598, -0.23920257, -0.031002127, -0.07351358, -0.19290134, -0.24282931, -0.18831016, -0.0928966, 0.075177215, -0.19699521, -0.05810917) * go_0(-1.0, 0.0); + result += mat4(-0.017991852, -0.079427645, 0.035970494, -0.017095685, -0.27197137, -0.20046075, 0.2616644, 0.021876303, -0.077394076, -0.04978692, 0.20363241, -0.013741705, -0.032103598, 0.14403099, 0.01442474, 0.048115995) * go_0(-1.0, 1.0); + result += mat4(-0.16939245, -0.001777, 0.026244136, -0.14122388, -0.056853324, 0.54357284, -0.19769607, -0.03187079, 0.04559263, -0.16048127, 0.12830622, 0.1442168, 0.006611398, -0.01618195, 0.012860053, -0.16539487) * go_0(0.0, -1.0); + result += mat4(0.13116026, -0.006161343, 0.7209969, 0.18338475, 0.3099777, 0.6500026, 0.3883795, -0.021434233, 0.31667513, 0.008917659, 0.14124091, -0.22335114, 0.12198921, -0.16449445, 0.08773425, 0.30054978) * go_0(0.0, 0.0); + result += mat4(-0.10413989, -0.10316161, 0.04342709, -0.021252686, 0.120892406, 0.37798002, -0.35963747, 0.021069285, 0.37587845, -0.08159587, 0.011139747, 0.2501104, -0.094568014, 0.037900843, -0.025109999, -0.030106556) * go_0(0.0, 1.0); + result += mat4(0.09680291, -0.040868275, 0.051731605, 0.089064725, -0.56098557, -0.38148618, -0.017037416, 0.08508287, -0.019247344, 0.019857002, -0.03512887, 0.031057188, -0.09648583, -0.04474188, 0.028748507, -0.11880965) * go_0(1.0, -1.0); + result += mat4(-0.010236943, 0.04257042, -0.08202597, -0.004203426, -0.26801527, -0.11716526, -0.017402772, -0.05819106, -0.13394608, 0.0234606, -0.15404865, -0.06801164, -0.0047627664, -0.1975249, 0.09420144, 0.23249897) * go_0(1.0, 0.0); + result += mat4(0.107361935, 0.07373787, 0.06242962, 0.05236332, -0.028867323, 0.025924044, -0.042526353, -0.0015729597, -0.1323144, -0.4040712, 0.023919407, -0.09535502, 0.049100045, 0.081110805, 0.08946112, 0.058505684) * go_0(1.0, 1.0); + result += mat4(0.13236825, -0.04468476, -0.04426802, 0.031087106, -0.09093992, -0.07470971, -0.01591504, 0.05924266, -0.21910913, 0.065537, -0.18358919, -0.02533145, -0.1512009, -0.04953928, 0.015540006, -0.0043442883) * go_1(-1.0, -1.0); + result += mat4(-0.14016777, -0.1086958, 0.16316028, 0.050777458, 0.23148167, 0.04944809, -0.10599886, -0.10447021, -0.40729257, -0.10926556, 0.069055155, 0.110635415, 0.108922414, -0.1716362, 0.10743909, -0.102534756) * go_1(-1.0, 0.0); + result += mat4(0.017795928, -0.066930935, 0.09396082, 0.092585504, 0.14223933, 0.059458215, 0.072033696, -0.04507726, -0.19956456, 0.1251282, -0.31733638, -0.10465904, 0.08546377, 0.048638333, 0.031372465, -0.08720661) * go_1(-1.0, 1.0); + result += mat4(0.108719654, -0.092161916, -0.014724377, 0.20068261, -0.24350016, 0.2113636, -0.07483714, -0.45665312, -0.25134233, 0.2753893, -0.11324696, -0.04472, 0.1576102, -0.045395147, 0.06013951, -0.12507361) * go_1(0.0, -1.0); + result += mat4(0.546225, -0.281897, 0.19477816, -0.116612464, -0.3145171, -0.41660902, 0.333625, 0.35902345, 0.48333502, 0.4662005, 0.10222491, -0.15314859, -0.3036888, 0.22849742, 0.20740797, 0.41399437) * go_1(0.0, 0.0); + result += mat4(0.007284074, 0.0393942, -0.31192186, -0.15687793, -0.289214, -0.015956698, -0.24718472, -0.1637855, -0.00765037, 0.26677555, 0.20215511, 0.37790874, -0.22096673, 0.25287116, -0.2446764, -0.13610223) * go_1(0.0, 1.0); + result += mat4(-0.16734968, 0.16721225, -0.053508647, -0.041097626, 0.062356673, 0.07812319, -0.263546, -0.39739034, 0.003389846, 0.12676363, -0.13175991, -0.19019242, -0.011847587, -0.007580052, -0.023946386, 0.046034034) * go_1(1.0, -1.0); + result += mat4(-0.17047611, 0.13298693, -0.07506747, -0.045542978, 0.33571973, 0.20192616, 0.30674616, 0.25668672, -0.24134545, 0.031693842, -0.009647641, 0.040534843, 0.03159419, -0.1100516, 0.11371316, 0.06098735) * go_1(1.0, 0.0); + result += mat4(-0.05518961, 0.19402988, -0.09646874, -0.059196774, -0.0073436056, -0.1381309, 0.06868669, 0.061328378, -0.1480867, -0.15774113, -0.022572191, 0.122521356, -0.04067007, -0.10145177, 0.13006335, -0.099452734) * go_1(1.0, 1.0); + result += mat4(0.06962972, 0.07768411, 0.021085173, 0.108355984, -0.03132525, 0.10220273, -0.11626593, -0.14104277, 0.018778645, -0.024237925, 0.048783034, 0.09074447, 0.4120426, -0.01948466, 0.073218934, 0.055681944) * go_2(-1.0, -1.0); + result += mat4(-0.22553118, -0.12923603, -0.22068842, -0.35037905, 0.005709937, -0.09528472, 0.08718399, 0.13200706, 0.17220478, 0.096844435, -0.30439013, -0.14122063, 0.15733318, -0.1014675, 0.33836862, 0.042193163) * go_2(-1.0, 0.0); + result += mat4(0.15826897, -0.034870047, 0.09295099, -0.17674965, -0.042326324, 0.06680338, -0.074267656, -0.0631393, -0.11267909, -0.19795708, 0.22005288, 0.35703793, 0.033995766, -0.12663686, -0.02449896, -0.123250045) * go_2(-1.0, 1.0); + result += mat4(0.021434195, 0.058398597, 0.04828315, -0.0016824572, -0.04291545, -0.0744907, -0.07698706, -0.15937585, -0.18852457, -0.17966963, 0.023800725, 0.025979731, -0.51412296, -0.018316887, -0.23076254, -0.12298674) * go_2(0.0, -1.0); + result += mat4(0.16054317, -0.0002730893, -0.54173076, -0.62443435, 0.04300197, -0.08529622, 0.15392275, 0.15742144, 0.025834514, -0.2800517, -0.17600477, 0.0020806703, -0.3010582, 0.45233512, 0.25595665, 0.103661336) * go_2(0.0, 0.0); + result += mat4(-0.024034392, -0.43800178, 0.28606912, -0.20908915, 0.078471914, -0.030501373, -0.059055753, 0.050494444, 0.063274644, -0.025071034, 0.17561312, -0.100698635, -0.25631955, 0.039981876, -0.18506624, 0.08366402) * go_2(0.0, 1.0); + result += mat4(-0.1413656, 0.03589635, -0.020917566, 0.017598262, 0.020156413, -0.018854238, 0.027228508, -0.03806087, -0.021715842, 0.071974196, -0.040065665, 0.08459291, -0.23530225, 0.16599682, -0.2772327, 0.10041177) * go_2(1.0, -1.0); + result += mat4(-0.055056706, 0.1286236, -0.11890451, -0.1790546, 0.16517544, -0.040448934, 0.12548013, 0.017075695, 0.07185459, -0.13236302, 0.19354409, 0.12767012, 0.31120765, 0.16378082, -0.036915366, -0.19724306) * go_2(1.0, 0.0); + result += mat4(-0.02225051, 0.033263147, 0.003279449, 0.08826271, -0.047833472, 6.574577e-05, 0.13721916, 0.04801998, -0.014958419, 0.08791209, -0.08076282, 0.024002168, -0.18028922, 0.23835851, -0.23309888, -0.119310364) * go_2(1.0, 1.0); + result += mat4(0.044960875, 0.18821983, 0.027640678, 0.013462449, 0.19011214, 0.21559924, -0.03329638, 0.07234414, 0.030880248, -0.11273214, 0.102028474, 0.12203351, 0.035855662, 0.008828778, 0.007218363, -0.012421797) * go_3(-1.0, -1.0); + result += mat4(-0.09450626, 0.025191775, -0.10738468, 0.16237053, 0.073676676, 0.12488881, -0.048748355, 0.007877263, 0.3572506, -0.07911043, 0.14684045, 0.0015310893, -0.33411503, -0.1151223, 0.004201752, 0.017775744) * go_3(-1.0, 0.0); + result += mat4(-0.10607509, -0.008143826, -0.08448629, -0.27557802, 0.0046665915, 0.008158659, 0.030826218, 0.020516023, 0.2333065, -0.017463414, -0.041772116, -0.03027809, -0.028166672, -0.080471426, 0.048199337, 0.08341059) * go_3(-1.0, 1.0); + result += mat4(-0.14640257, -0.18334304, -0.061674733, 0.0008892598, -0.2374775, -0.2721524, -0.040371176, 0.26362613, 0.19872928, -0.11246391, 0.0842288, 0.11188515, 0.0045209546, -0.04250933, -0.0738212, -0.069005966) * go_3(0.0, -1.0); + result += mat4(-0.08760266, 0.4816288, -0.21241407, 0.22734411, -0.1783721, -0.26842996, 0.099888, -0.2867675, 0.085521065, -0.3780281, -0.018543908, -0.039699722, 0.75688565, -0.5333645, 0.47567275, 0.09518891) * go_3(0.0, 0.0); + result += mat4(-0.04072665, 0.05998423, -0.48314768, -0.29495844, 0.10358383, -0.09816629, 0.028586809, -0.047708735, 0.008320228, 0.04089551, -0.18359782, -0.27615002, 0.12414414, -0.072417594, 0.25932562, 0.30268723) * go_3(0.0, 1.0); + result += mat4(0.14481631, 0.06484443, -0.09898657, -0.06553556, 0.25750044, -0.07265585, 0.12903488, -0.022347894, -0.04693863, -0.000107379274, 0.030295763, -0.0325354, 0.086214684, -0.021326948, 0.039682828, -0.034843277) * go_3(1.0, -1.0); + result += mat4(-0.031971477, -0.25145087, 0.03931631, 0.14262606, -0.06044626, 0.22820354, -0.10506207, 0.18064679, 0.0069641788, 0.01477993, -0.003626875, 0.118767865, 0.109416224, -0.002998205, 0.035680585, 0.07843882) * go_3(1.0, 0.0); + result += mat4(0.03375426, -0.059815384, 0.11632834, -0.12411481, 0.022583738, 0.02544465, -0.054889992, -0.07031964, -0.10140042, 0.16750422, -0.1448294, -0.09316004, 0.035582513, -0.026138382, -0.031955894, 0.040148776) * go_3(1.0, 1.0); + result += vec4(-0.03573331, 0.032919675, 0.011109369, 0.008329268); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x1x1x112 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!SAVE conv2d_last_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_5 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) +#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_9 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_10 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_12 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_13 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_14 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_18 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_20 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_21 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_22 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_26 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.11498094, -0.053904895, -0.11520678, -0.05479549, 0.028396055, 0.032767884, 0.052479446, 0.05257866, -0.25706592, -0.3454966, -0.24713765, -0.2854201, -0.10287636, 0.0023146886, -0.09190338, -0.011193905) * g_0; + result += mat4(-0.05461422, 0.008780496, -0.07738697, -0.032230727, -0.047554165, -0.025061952, -0.051897213, -0.009545297, -0.14548294, -0.15184018, -0.01313442, -0.015299784, -0.0007883845, -0.12866738, -0.15260352, -0.27081275) * g_1; + result += mat4(0.11007706, 0.035344437, 0.11020841, 0.0425353, 0.1613199, 0.18417408, 0.09274313, 0.11943135, 0.106862, 0.079875536, 0.0937752, 0.068030775, 0.029093558, -0.06441164, 0.06467169, -0.021989612) * g_2; + result += mat4(0.049548414, -0.012455486, 0.07185561, 0.021865537, 0.020969186, -0.03374196, -0.024260623, -0.07739141, 0.07164591, 0.12741035, 0.0379913, 0.076403245, 0.07049977, 0.0744538, 0.0062989634, 0.01818882) * g_3; + result += mat4(-0.12511204, -0.010836819, 0.13709816, 0.22472954, 0.21280868, -0.006484726, 0.17554289, -0.009977173, 0.078398876, 0.20698707, 0.13432744, 0.29740283, -0.24750128, -0.32757792, -0.19807857, -0.2537023) * g_4; + result += mat4(-0.27207088, -0.1385644, -0.2166476, -0.07687419, -0.20300622, -0.29678395, -0.13135734, -0.20851587, 0.0361364, 0.011243289, -0.06845459, -0.11796941, 0.11575868, 0.070215136, -0.10295678, -0.12281369) * g_5; + result += mat4(0.13619795, -0.0019436983, -0.12701888, -0.25933513, -0.20134166, 0.00062823144, -0.076756015, 0.11002947, 0.0059049693, -0.18756741, -0.0718802, -0.2589954, 0.23413423, 0.30107784, 0.14445266, 0.18920745) * g_6; + result += mat4(0.1494216, 0.0587532, 0.05478662, -0.039123338, 0.23322394, 0.29950607, 0.24384268, 0.27843767, -0.16094431, -0.04705998, -0.016345032, 0.028868208, -0.102872886, -0.04659664, 0.104105346, 0.14305067) * g_7; + result += mat4(-0.001037014, 0.010001526, -0.0052278573, 0.024779709, 0.06857274, 0.067640975, 0.085439384, 0.09242789, -0.066597246, -0.055928994, 0.0015658981, 0.016131008, -0.03524695, -0.018364554, -0.047754433, -0.014295886) * g_8; + result += mat4(-0.042207, 0.02835915, -0.1404656, -0.08563323, -0.030979915, -0.0673764, 0.10733943, 0.057902794, 0.00022424995, -0.0023634837, -0.10778953, -0.10202357, -0.020368295, -0.019088887, -0.06875738, -0.08504131) * g_9; + result += mat4(-0.00043458896, 0.00045652856, -0.02016843, -0.020062413, -0.08740103, -0.042085808, -0.10644177, -0.09226477, 0.11212161, -0.00048174805, 0.021872435, -0.05868698, 0.0333954, 0.058184672, 0.05532576, 0.07621587) * g_10; + result += mat4(0.054245148, 0.001020329, 0.09106849, 0.05303779, 0.009889632, 0.01309413, -0.09187347, -0.08618193, -0.011621187, 0.016222361, 0.061095525, 0.060885344, 0.078050986, 0.0111776795, 0.08829944, 0.032022282) * g_11; + result += mat4(0.01643529, 0.02285545, -0.03498564, 0.00769657, -0.0042474116, 0.015836312, -0.025771018, -0.0016368, -0.008897948, -0.012588166, -0.01416411, -0.003578984, 0.025991246, 0.021237152, 0.017450012, 0.025172485) * g_12; + result += mat4(0.014568868, 0.017796224, -0.036679734, -0.03138748, 0.019457601, -0.027607411, -0.004529679, -0.038048342, -0.054055385, -0.03876025, 0.041948095, 0.005869784, 0.02439633, 0.05177997, 0.016000897, 0.0057169925) * g_13; + result += mat4(-0.03021866, 0.017678728, -0.01371109, 0.013548159, -0.0038099394, -0.014066414, 0.028093752, 0.0027308422, -0.010615999, 0.012673458, -0.03028171, -0.016818244, -0.06530097, -0.018845048, -0.0072947564, -0.0038243714) * g_14; + result += mat4(-0.019006258, -0.007847591, 0.03690709, 0.06714211, 0.0073993434, -0.009766907, -0.0021441753, -0.01308625, 0.06658726, 0.06701995, -0.027305668, -0.016032105, -0.028976806, -0.0036668575, -0.0027825525, 0.0105632655) * g_15; + result += mat4(0.028945107, -0.0014701135, 0.048950657, -0.01923516, -0.0014054152, 0.002650635, -0.005300331, 0.004860559, 0.011158468, 0.005940625, -0.012095051, 0.0041518128, -0.020433836, -0.025870577, -0.0007547932, -0.026509356) * g_16; + result += mat4(-0.004545374, 0.04264545, 0.021741537, 0.029115127, 0.04225599, -0.0055392785, 0.026570829, -0.031795148, -0.008307126, 0.020176455, 0.010904648, 0.017765503, -0.10806103, -0.01776947, 0.00070428237, -0.06356262) * g_17; + result += mat4(-0.05663172, 0.05908046, -0.03837452, 0.06636983, -0.007960516, -0.06384041, 0.023125881, -0.030108837, 0.0038054318, -0.023263922, 0.020264054, -0.0062937695, 0.031630237, 0.020909082, 0.03594235, 0.035879835) * g_18; + result += mat4(-0.0050448794, 0.033650696, -0.002830413, 0.035174295, -0.024521282, 0.013054315, -0.020833842, 0.037953895, 0.08249671, 0.024239466, -0.012758333, -0.027316988, 0.051040914, 0.0005025873, 0.039778862, 0.0024668393) * g_19; + result += mat4(0.017232442, 0.022482058, 0.020233413, 0.024337437, 0.07986929, 0.06234036, 0.12662584, -0.05271183, -0.009718745, -0.0046989853, -0.0030333172, -0.04034237, -0.0113442, 0.022746231, -0.035293855, -0.009433693) * g_20; + result += mat4(0.015766997, 0.013647276, -0.029327558, 0.039106004, -0.010398323, -0.032851525, 0.02908329, -0.003789618, 0.12963496, 0.010851003, 0.1126276, -0.049255487, 0.06867432, 0.07970792, 0.017840397, -0.026481882) * g_21; + result += mat4(-0.058729574, -0.07886952, 0.033267397, 0.02755372, -0.0172006, 0.012404398, -0.0230168, -0.015059758, -0.09239916, -0.029533267, -0.043251917, 0.0035152994, 0.022931995, 0.101714484, -0.044946067, 0.094993) * g_22; + result += mat4(-0.04708704, -0.032475296, -0.03228093, -0.08810475, 0.013745045, 0.027828002, -0.031922746, 0.022986397, -0.061620213, -0.03694645, -0.055026993, 0.0031291894, -0.028799903, -0.0025357977, -0.03441407, 0.0028600092) * g_23; + result += mat4(0.058981724, -0.10447273, -0.088705614, 0.16546178, -0.023549391, -0.008831522, -0.018411588, 0.029640056, -0.068086684, -0.05414636, -0.029401174, 0.036180343, -0.031988926, -0.047249753, 0.008162177, 0.00548062) * g_24; + result += mat4(0.05287462, -0.030657746, 0.02821435, 0.037005343, 0.03534311, -0.15614955, 0.07085459, -0.11997641, -0.009156166, -0.021968868, -0.054147746, -0.07307657, -0.006428544, -0.017528288, 0.012614676, 0.037840024) * g_25; + result += mat4(-0.021977803, 0.047799855, 0.02660416, -0.07292106, 0.045195807, -0.0056674764, 0.10824326, -0.112114795, 0.1447127, -0.0119616175, 0.0011661504, -0.04553905, 0.13048342, 0.14574122, -0.105522245, -0.102792375) * g_26; + result += mat4(-0.16397473, 0.15785863, -0.06666504, -0.01682913, 0.06070918, 0.070222184, 0.037701584, 0.026657054, -0.0835267, -0.009457008, 0.13232987, 0.13508691, -0.056414206, -0.06818828, 0.079076104, 0.032249212) * g_27; + result += vec4(-0.10795144, -0.09953324, -0.055413827, -0.03875493); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x1x1x112 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!SAVE conv2d_last_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_5 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) +#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_9 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_10 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_12 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_13 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_14 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_18 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_20 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_21 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_22 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_26 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.024905335, -0.0020974763, 0.02695263, 0.00016802056, -0.024053082, -0.02133723, -0.031614035, -0.031826317, 0.120421864, 0.10555479, 0.08609448, 0.116875134, 0.046175968, 0.04224941, 0.059216674, 0.035143953) * g_0; + result += mat4(0.059397914, 0.016519934, 0.07189327, 0.047407165, 0.04808963, 0.02792908, 0.057017103, 0.034324065, 0.14228246, 0.11275426, 0.088058695, 0.059600517, 0.02063494, 0.052596953, 0.047207687, 0.08789091) * g_1; + result += mat4(-0.013453174, 0.008474715, -0.017593835, 0.009218917, 0.070580654, 0.040542338, 0.08812338, 0.074653216, -0.016356857, 0.015809007, -0.008739107, 0.0097674895, -0.018381525, -0.007775341, -0.040571664, -0.011188163) * g_2; + result += mat4(-0.026196122, -0.034825727, -0.042998232, -0.033436514, -0.01678153, -0.004592797, -0.010311677, 0.0008815291, -0.08899181, -0.10274026, -0.066960976, -0.082430154, -0.057137426, -0.07554528, -0.030993424, -0.050372377) * g_3; + result += mat4(0.022921838, -0.010479244, -0.050794605, -0.073633075, -0.053708922, 0.009594084, -0.071259, -0.01054356, 0.005165821, -0.08024963, -0.049251772, -0.09581235, 0.17995799, 0.09743011, 0.13533138, 0.11643848) * g_4; + result += mat4(0.09727046, 0.07292666, 0.06820908, 0.041535784, -0.0049705, 0.0048759184, -0.035702795, -0.015944308, -0.010730028, 0.018847652, 0.06466244, 0.086318985, -0.05661574, -0.040698618, 0.010839972, 0.0027009705) * g_5; + result += mat4(-0.04628466, 0.010060396, 0.02609333, 0.08664702, 0.057045907, 0.033591177, 0.02186063, -0.024303377, 0.006569828, 0.08025825, 0.016128821, 0.10180713, -0.12228169, -0.112990454, -0.078443415, -0.09126021) * g_6; + result += mat4(-0.12733299, -0.087755, -0.07374111, -0.044979006, -0.025347412, -0.004083168, 0.023782173, 0.02900392, -0.017815407, -0.041119996, -0.057978686, -0.13521095, 0.08364004, 0.06950181, 0.023554614, 0.008043734) * g_7; + result += mat4(0.009062775, -0.003570175, -0.007378757, -0.0018487388, 0.01145638, 0.05217187, -0.008250244, 0.008433307, -0.056756936, -0.044681005, -0.08096105, -0.08033185, -0.023784965, -0.01859799, 0.013042476, 0.021188647) * g_8; + result += mat4(-0.0071619656, -0.012498299, -0.05144986, -0.078112476, -0.034992415, -0.017038302, -0.04464615, -0.044504963, 0.024249, -0.004297534, 0.03674578, 0.03090718, 0.04698553, 0.008344952, 0.057619847, -0.0338724) * g_9; + result += mat4(-0.011845145, -0.0045043705, -1.6646482e-06, -0.0038495932, -0.01992515, 0.004827126, 0.019493148, 0.00862289, 0.10151322, 0.0021909082, 0.09940764, 0.03728846, 0.027824005, 0.04358071, 0.014909185, 0.036326095) * g_10; + result += mat4(0.022513246, 0.028257169, 0.0102195935, 0.03301329, 0.052253865, -0.0021944977, 0.08247392, 0.03256867, -0.040685873, -0.0052207555, -0.0451257, -0.054165114, 0.01647699, 0.0028809097, -0.015233776, -0.0008741886) * g_11; + result += mat4(0.017371105, 0.01597189, -0.052552313, -0.008554715, -0.0023150423, 0.006076517, -0.012868931, 0.0039361073, -0.007524978, -0.004284313, -0.021520883, -0.010327569, 0.02543678, 0.008725823, -0.0073885336, 0.005528395) * g_12; + result += mat4(0.019192757, 0.016561812, 0.0027538154, 0.0013078215, 0.007916496, -0.042525183, -0.013173432, -0.05265476, -0.062195376, -0.011255499, 0.020898128, 0.021532273, -0.001524097, 0.034835674, -0.004051403, -0.0292426) * g_13; + result += mat4(-0.049191684, -9.43322e-06, -0.009106849, 0.012845289, -0.019482708, -0.011163468, 0.0034011535, -0.007062845, -0.006469714, 0.03177786, -0.033006195, -0.0006813464, -0.053963087, 0.00085209147, 0.02734121, 0.034086403) * g_14; + result += mat4(-0.03232248, -0.004037002, -0.010319106, 0.030889064, 0.019604538, 0.0020888883, 0.010277864, 0.000661223, 0.057915937, 0.030683514, 0.00042533095, -0.013019287, -0.015896408, 0.0038484468, -0.0042103594, 0.02174542) * g_15; + result += mat4(0.032975145, 0.0011456647, 0.04913679, -0.017063798, 0.0117176045, 0.007440557, 0.0020480808, 0.009415731, 0.027573857, 0.015140836, -0.01679426, -0.006124731, -0.03206279, -0.029842237, -0.010428016, -0.028513178) * g_16; + result += mat4(-0.00506859, 0.055869613, 0.010164368, 0.027031485, 0.042289548, -0.0054258504, 0.032214936, -0.029970925, -0.0058315448, 0.022889478, 0.01681123, 0.02985076, -0.111186065, -0.02202099, 0.0030994313, -0.062343158) * g_17; + result += mat4(-0.060951103, 0.06079555, -0.0396464, 0.070911355, -0.011480358, -0.06803282, 0.01637355, -0.043100975, -0.00423709, -0.028337711, 0.021635853, 0.0014857082, 0.030084312, 0.018155476, 0.043694943, 0.038795974) * g_18; + result += mat4(-0.0060662925, 0.029721662, -0.008117774, 0.034551267, -0.024477571, 0.018841071, -0.027095588, 0.034495078, 0.082398005, 0.008998768, -0.016399248, -0.043801688, 0.05936684, 0.006066549, 0.045399766, 3.5319943e-05) * g_19; + result += mat4(0.019259382, 0.02494012, 0.029301709, 0.028329274, 0.09122267, 0.06900443, 0.1412115, -0.043169618, -0.01627418, -0.004989528, -0.0042651827, -0.04556752, -0.023623291, 0.013007996, -0.04483056, -0.015727345) * g_20; + result += mat4(0.016332543, 0.016384754, -0.030676385, 0.045312885, -0.0100853555, -0.032632045, 0.031514473, -0.0070776115, 0.13642761, 0.0023589598, 0.12214136, -0.062155515, 0.08240989, 0.08894205, 0.03325406, -0.016589595) * g_21; + result += mat4(-0.06494277, -0.08158925, 0.030425413, 0.019835634, -0.012624623, 0.013942616, -0.030527417, -0.021668324, -0.09444672, -0.033064254, -0.044167448, 0.0011024752, 0.03210801, 0.12662941, -0.03912534, 0.1112649) * g_22; + result += mat4(-0.04716062, -0.03751481, -0.031030515, -0.09067383, 0.0077815712, 0.02169541, -0.035285182, 0.02290573, -0.0704085, -0.03916127, -0.058103334, 0.004915147, -0.0333844, -0.011548617, -0.031151932, -0.00043817286) * g_23; + result += mat4(0.05976319, -0.107285, -0.097245865, 0.17706421, -0.021453341, -0.0047738464, -0.017621001, 0.033400454, -0.07225561, -0.05599672, -0.027600193, 0.038664024, -0.03762786, -0.052429967, 0.0104017975, 0.007116869) * g_24; + result += mat4(0.06014114, -0.029824806, 0.03209269, 0.04392036, 0.031300627, -0.16249833, 0.06878509, -0.12658615, -0.012383169, -0.025043553, -0.06527381, -0.08149099, -0.014006842, -0.018669648, 0.014510818, 0.042045828) * g_25; + result += mat4(-0.023342922, 0.047104675, 0.029629575, -0.082307704, 0.04035797, -0.0013049254, 0.11085582, -0.11031226, 0.14778149, -0.016699014, -0.00634342, -0.055320874, 0.14306462, 0.15896587, -0.110229075, -0.1069649) * g_26; + result += mat4(-0.17449625, 0.15787153, -0.06711028, -0.023110518, 0.06862914, 0.074063435, 0.042682912, 0.029800726, -0.08768606, -0.009814701, 0.14180017, 0.14780663, -0.05672417, -0.074305914, 0.07873489, 0.028458012) * g_27; + result += vec4(0.06026231, 0.040204916, 0.037672628, 0.023496555); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Conv-4x1x1x112 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_1_tf +//!BIND conv2d_1_tf1 +//!BIND conv2d_2_tf +//!BIND conv2d_2_tf1 +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_4_tf +//!BIND conv2d_4_tf1 +//!BIND conv2d_5_tf +//!BIND conv2d_5_tf1 +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!SAVE conv2d_last_tf2 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_5 (max((conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf1_tex(conv2d_1_tf1_pos)), 0.0)) +#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_9 (max((conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_10 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_2_tf1_tex(conv2d_2_tf1_pos)), 0.0)) +#define g_12 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_13 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_14 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max((conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_18 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_4_tf1_tex(conv2d_4_tf1_pos)), 0.0)) +#define g_20 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_21 (max((conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_22 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_5_tf1_tex(conv2d_5_tf1_pos)), 0.0)) +#define g_24 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_25 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_26 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.1765669, 0.14268716, 0.19186598, 0.15799578, 0.016374417, 0.018578433, 0.0039475, 0.0046772263, 0.39840183, 0.36909792, 0.35409746, 0.37422222, -0.108508386, -0.1331279, -0.10336035, -0.14776541) * g_0; + result += mat4(-0.057757027, -0.14071062, -0.025283009, -0.09397916, -0.09031894, -0.14219165, -0.08299535, -0.13970287, -0.12259208, -0.14382727, -0.22002274, -0.25016093, -0.048906635, 0.06620249, 0.016965045, 0.1295978) * g_1; + result += mat4(-0.16748372, -0.13718611, -0.18565705, -0.15029612, -0.080749065, -0.09955825, 0.032431383, 0.023855643, -0.2748885, -0.23232168, -0.29121292, -0.26405892, 0.16556135, 0.18657646, 0.1424068, 0.18855052) * g_2; + result += mat4(0.10960496, 0.10851629, 0.095003806, 0.11053746, 0.09885307, 0.14437789, 0.13191165, 0.17365928, 0.16558935, 0.15473324, 0.21136154, 0.19976667, -0.07267957, -0.11469687, -0.029134216, -0.06817615) * g_3; + result += mat4(0.10202856, 0.04216857, -0.03959349, -0.09849683, -0.1576996, -0.049997438, -0.1579918, -0.058789205, 0.029792828, -0.07311781, -0.045432188, -0.11312683, 0.24257647, 0.16204113, 0.17869382, 0.16024388) * g_4; + result += mat4(0.17193612, 0.12692013, 0.13177487, 0.0796725, 0.0797928, 0.08952722, -0.012468046, 0.011071511, -0.068559825, -0.024852324, 0.0526428, 0.07917346, -0.085534215, -0.09591339, 0.04615827, 0.024577664) * g_5; + result += mat4(-0.14653449, -0.067267366, -0.002524394, 0.086243175, 0.13660401, 0.08039592, 0.09179008, 0.022573143, -0.024744196, 0.09120211, 0.017654825, 0.14114714, -0.16093308, -0.14538004, -0.09950235, -0.111152865) * g_6; + result += mat4(-0.188637, -0.12968326, -0.1200479, -0.06537649, -0.12589337, -0.106242515, -0.02788782, -0.025949068, 0.04948153, 0.02222735, -0.025291357, -0.12379292, 0.11074645, 0.11902375, -0.00056989543, -0.0024386419) * g_7; + result += mat4(0.018286629, 0.0072215167, 0.00037828335, 0.0047001047, 0.011478272, 0.041745186, -0.015742473, -0.002282524, -0.03440817, -0.02196847, -0.07838253, -0.07993771, -0.010155526, -0.017590692, 0.027141469, 0.029741213) * g_8; + result += mat4(0.016512005, 0.004950637, -0.0238836, -0.05587327, -0.03164328, -0.009499985, -0.059880238, -0.061794154, 0.023154303, -0.013266373, 0.04701534, 0.0415862, 0.06357814, 0.033057794, 0.08389772, 0.00035060212) * g_9; + result += mat4(-0.016403968, -0.012538788, -0.0015746636, -0.004771009, -0.021361275, -0.009695242, 0.020548422, -0.0024130535, 0.07796766, -0.01516671, 0.09961382, 0.042754963, 0.017363647, 0.03729065, -0.004795824, 0.01550197) * g_10; + result += mat4(-0.0028093113, 0.011869523, -0.02216933, 0.011177349, 0.033342455, -0.021146454, 0.07830085, 0.032490104, -0.03281833, 0.0060484232, -0.04081057, -0.04945058, -0.0056189033, -0.010636801, -0.041949317, -0.025739705) * g_11; + result += mat4(0.012979897, 0.016758928, -0.049062215, -0.0035748442, 0.0085972, 0.0036381132, -0.0055621094, 0.0041307937, -0.0008907763, -0.0034079372, -0.025680453, -0.015531803, 0.012816766, 0.009977763, -0.016416566, 0.0034859509) * g_12; + result += mat4(0.021753248, 0.016452711, 0.009833835, 0.0065052663, 0.0014061348, -0.046160888, -0.0132271005, -0.05051269, -0.05746351, -0.0012690664, 0.017191738, 0.018192926, -0.008879476, 0.026354216, -0.012801991, -0.029587373) * g_13; + result += mat4(-0.04220692, -0.0015560482, -0.0019648245, 0.013402305, -0.018259782, -0.0036008905, 0.0035650074, -0.0019178417, 0.00051580026, 0.027355857, -0.017914988, 0.004937948, -0.046335887, 0.00013612259, 0.030293299, 0.030688645) * g_14; + result += mat4(-0.036683388, -0.0031274238, -0.026074665, 0.021684237, 0.022639066, 0.0022493738, 0.011508554, -0.0006385944, 0.04890418, 0.020119468, 0.004167364, -0.008356099, -0.008598796, 0.0089028, -0.0029575853, 0.016687104) * g_15; + result += mat4(0.027207986, 0.0011099194, 0.042383645, -0.015179333, 0.014744431, 0.006148344, 0.005165422, 0.0070196544, 0.030286826, 0.016620956, -0.01611366, -0.00667594, -0.029524863, -0.024751091, -0.013321004, -0.025199674) * g_16; + result += mat4(0.0027477827, 0.054622147, 0.010154094, 0.025437292, 0.031773083, -0.01055473, 0.022864206, -0.029010754, -0.0029999653, 0.025018329, 0.015316208, 0.027188798, -0.10096525, -0.017268656, 0.0012529213, -0.062078856) * g_17; + result += mat4(-0.053670805, 0.057336535, -0.037418038, 0.06443577, -0.016027879, -0.058168363, 0.007034215, -0.03390141, -0.0019346164, -0.027947908, 0.021723913, -0.0018286633, 0.030507812, 0.018293543, 0.042917266, 0.033528328) * g_18; + result += mat4(-0.004559579, 0.029667616, -0.001870353, 0.0378995, -0.017147437, 0.020192018, -0.021574946, 0.031568103, 0.07487145, 0.0032376775, -0.018893708, -0.041981626, 0.054478757, 0.0061423797, 0.041280247, 0.000878061) * g_19; + result += mat4(0.017076394, 0.023647636, 0.029403262, 0.029923365, 0.08866472, 0.060613394, 0.1314274, -0.04490231, -0.016304834, -0.0062647443, -0.0031828512, -0.03989252, -0.024330825, 0.00741213, -0.04075287, -0.01615817) * g_20; + result += mat4(0.017866978, 0.017720113, -0.02846163, 0.040761847, -0.0063438355, -0.02347501, 0.029564403, -0.0029562064, 0.12505588, -0.0073986333, 0.11250363, -0.06179967, 0.07854423, 0.08546533, 0.034743227, -0.010757377) * g_21; + result += mat4(-0.06416677, -0.08344284, 0.030138884, 0.017635904, -0.012087523, 0.014205202, -0.03221233, -0.023834767, -0.091186255, -0.028958676, -0.04724334, 0.00013161585, 0.027391518, 0.1249978, -0.045047652, 0.10737729) * g_22; + result += mat4(-0.04326348, -0.03543181, -0.029558217, -0.08582413, 0.007812453, 0.014296562, -0.028779754, 0.018517692, -0.063755795, -0.036619596, -0.050809663, 0.005431336, -0.029205568, -0.011827915, -0.031110523, -0.005648626) * g_23; + result += mat4(0.05499293, -0.10000709, -0.0943537, 0.16143042, -0.019952895, -0.0039807972, -0.014841254, 0.0320363, -0.065173544, -0.049425576, -0.023904482, 0.03759679, -0.03207411, -0.047782745, 0.01352581, 0.008140566) * g_24; + result += mat4(0.055923894, -0.025134467, 0.029583648, 0.04096879, 0.027551858, -0.14995384, 0.06467113, -0.11633077, -0.01563784, -0.026909819, -0.06292879, -0.078409635, -0.009081105, -0.015533088, 0.019585673, 0.04334208) * g_25; + result += mat4(-0.021717606, 0.042464726, 0.02743202, -0.07388838, 0.03460472, 0.0038285658, 0.099842004, -0.098247, 0.13276267, -0.020793032, -0.008603039, -0.051913783, 0.12959045, 0.14735717, -0.10888226, -0.10263746) * g_26; + result += mat4(-0.16819532, 0.141579, -0.062480718, -0.021918943, 0.06348125, 0.06849444, 0.03888676, 0.027375204, -0.08194279, -0.012574497, 0.13523251, 0.13739482, -0.047547445, -0.058767617, 0.07009549, 0.028136581) * g_27; + result += vec4(0.069033325, 0.040207114, 0.027286075, 0.0065334598); + return result; +} +//!DESC Anime4K-v3.2-Upscale-CNN-x2-(VL)-Depth-to-Space +//!HOOK MAIN +//!BIND MAIN +//!BIND conv2d_last_tf +//!BIND conv2d_last_tf1 +//!BIND conv2d_last_tf2 +//!SAVE MAIN +//!WIDTH conv2d_last_tf.w 2 * +//!HEIGHT conv2d_last_tf.h 2 * +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +vec4 hook() { + vec2 f0 = fract(conv2d_last_tf_pos * conv2d_last_tf_size); + ivec2 i0 = ivec2(f0 * vec2(2.0)); + float c0 = conv2d_last_tf_tex((vec2(0.5) - f0) * conv2d_last_tf_pt + conv2d_last_tf_pos)[i0.y * 2 + i0.x]; + vec2 f1 = fract(conv2d_last_tf1_pos * conv2d_last_tf1_size); + ivec2 i1 = ivec2(f1 * vec2(2.0)); + float c1 = conv2d_last_tf1_tex((vec2(0.5) - f1) * conv2d_last_tf1_pt + conv2d_last_tf1_pos)[i1.y * 2 + i1.x]; + vec2 f2 = fract(conv2d_last_tf2_pos * conv2d_last_tf2_size); + ivec2 i2 = ivec2(f2 * vec2(2.0)); + float c2 = conv2d_last_tf2_tex((vec2(0.5) - f2) * conv2d_last_tf2_pt + conv2d_last_tf2_pos)[i2.y * 2 + i2.x]; + float c3 = c2; + return vec4(c0, c1, c2, c3) + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_DTD_x2.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_DTD_x2.glsl new file mode 100644 index 0000000..c319f60 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_DTD_x2.glsl @@ -0,0 +1,612 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Upscale-DTD-x2-Luma +//!HOOK MAIN +//!BIND HOOKED +//!SAVE LINELUMA +//!COMPONENTS 1 + +float get_luma(vec4 rgba) { + return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); +} + +vec4 hook() { + return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); +} + +//!DESC Anime4K-v3.2-Upscale-DTD-x2-Kernel-X +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND LINELUMA +//!SAVE MMKERNEL +//!COMPONENTS 1 + +#define L_tex LINELUMA_tex + +#define SIGMA 1.0 + +float gaussian(float x, float s, float m) { + return (1.0 / (s * sqrt(2.0 * 3.14159))) * exp(-0.5 * pow(abs(x - m) / s, 2.0)); +} + +float lumGaussian(vec2 pos, vec2 d) { + float s = SIGMA * HOOKED_size.y / 1080.0; + float kernel_size = s * 2.0 + 1.0; + + float g = (L_tex(pos).x) * gaussian(0.0, s, 0.0); + float gn = gaussian(0.0, s, 0.0); + + g += (L_tex(pos - d).x + L_tex(pos + d).x) * gaussian(1.0, s, 0.0); + gn += gaussian(1.0, s, 0.0) * 2.0; + + for (int i=2; float(i) OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND LINELUMA +//!BIND MMKERNEL +//!SAVE MMKERNEL +//!COMPONENTS 1 + +#define L_tex MMKERNEL_tex + +#define SIGMA 1.0 + +float gaussian(float x, float s, float m) { + return (1.0 / (s * sqrt(2.0 * 3.14159))) * exp(-0.5 * pow(abs(x - m) / s, 2.0)); +} + +float lumGaussian(vec2 pos, vec2 d) { + float s = SIGMA * HOOKED_size.y / 1080.0; + float kernel_size = s * 2.0 + 1.0; + + float g = (L_tex(pos).x) * gaussian(0.0, s, 0.0); + float gn = gaussian(0.0, s, 0.0); + + g += (L_tex(pos - d).x + L_tex(pos + d).x) * gaussian(1.0, s, 0.0); + gn += gaussian(1.0, s, 0.0) * 2.0; + + for (int i=2; float(i) OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND MMKERNEL +//!SAVE MMKERNEL +//!COMPONENTS 1 + +#define L_tex MMKERNEL_tex + +#define SIGMA 0.4 + +float gaussian(float x, float s, float m) { + return (1.0 / (s * sqrt(2.0 * 3.14159))) * exp(-0.5 * pow(abs(x - m) / s, 2.0)); +} + +float lumGaussian(vec2 pos, vec2 d) { + float s = SIGMA * HOOKED_size.y / 1080.0; + float kernel_size = s * 2.0 + 1.0; + + float g = (L_tex(pos).x) * gaussian(0.0, s, 0.0); + float gn = gaussian(0.0, s, 0.0); + + g += (L_tex(pos - d).x + L_tex(pos + d).x) * gaussian(1.0, s, 0.0); + gn += gaussian(1.0, s, 0.0) * 2.0; + + for (int i=2; float(i) OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND MMKERNEL +//!SAVE MMKERNEL +//!COMPONENTS 1 + +#define L_tex MMKERNEL_tex + +#define SIGMA 0.4 + +float gaussian(float x, float s, float m) { + return (1.0 / (s * sqrt(2.0 * 3.14159))) * exp(-0.5 * pow(abs(x - m) / s, 2.0)); +} + +float lumGaussian(vec2 pos, vec2 d) { + float s = SIGMA * HOOKED_size.y / 1080.0; + float kernel_size = s * 2.0 + 1.0; + + float g = (L_tex(pos).x) * gaussian(0.0, s, 0.0); + float gn = gaussian(0.0, s, 0.0); + + g += (L_tex(pos - d).x + L_tex(pos + d).x) * gaussian(1.0, s, 0.0); + gn += gaussian(1.0, s, 0.0) * 2.0; + + for (int i=2; float(i) OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND MMKERNEL + +#define STRENGTH 1.8 //Line darken proportional strength, higher is darker. + +vec4 hook() { + float c = (MMKERNEL_tex(HOOKED_pos).x) * STRENGTH; + //This trick is only possible if the inverse Y->RGB matrix has 1 for every row... (which is the case for BT.709) + //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. + return HOOKED_tex(HOOKED_pos) + c; +} + +//!DESC Anime4K-v3.2-Upscale-DTD-x2-Luma +//!HOOK MAIN +//!BIND HOOKED +//!SAVE LINELUMA +//!COMPONENTS 1 + +float get_luma(vec4 rgba) { + return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); +} + +vec4 hook() { + return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); +} + +//!DESC Anime4K-v3.2-Upscale-DTD-x2-Kernel-X +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND LINELUMA +//!SAVE LUMAD +//!COMPONENTS 2 + +#define L_tex LINELUMA_tex + +vec4 hook() { + vec2 d = HOOKED_pt; + + //[tl t tr] + //[ l c r] + //[bl b br] + float l = L_tex(HOOKED_pos + vec2(-d.x, 0)).x; + float c = L_tex(HOOKED_pos).x; + float r = L_tex(HOOKED_pos + vec2(d.x, 0)).x; + + + //Horizontal Gradient + //[-1 0 1] + //[-2 0 2] + //[-1 0 1] + float xgrad = (-l + r); + + //Vertical Gradient + //[-1 -2 -1] + //[ 0 0 0] + //[ 1 2 1] + float ygrad = (l + c + c + r); + + //Computes the luminance's gradient + return vec4(xgrad, ygrad, 0, 0); +} + + +//!DESC Anime4K-v3.2-Upscale-DTD-x2-Kernel-Y +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!SAVE LUMAD +//!COMPONENTS 1 + +vec4 hook() { + vec2 d = HOOKED_pt; + + //[tl t tr] + //[ l cc r] + //[bl b br] + float tx = LUMAD_tex(HOOKED_pos + vec2(0, -d.y)).x; + float cx = LUMAD_tex(HOOKED_pos).x; + float bx = LUMAD_tex(HOOKED_pos + vec2(0, d.y)).x; + + + float ty = LUMAD_tex(HOOKED_pos + vec2(0, -d.y)).y; + //float cy = LUMAD_tex(HOOKED_pos).y; + float by = LUMAD_tex(HOOKED_pos + vec2(0, d.y)).y; + + + //Horizontal Gradient + //[-1 0 1] + //[-2 0 2] + //[-1 0 1] + float xgrad = (tx + cx + cx + bx) / 8.0; + + //Vertical Gradient + //[-1 -2 -1] + //[ 0 0 0] + //[ 1 2 1] + float ygrad = (-ty + by) / 8.0; + + //Computes the luminance's gradient + float norm = sqrt(xgrad * xgrad + ygrad * ygrad); + return vec4(pow(norm, 0.7)); +} + + +//!DESC Anime4K-v3.2-Upscale-DTD-x2-Kernel-X +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!SAVE LUMADG +//!COMPONENTS 1 + +#define L_tex LUMAD_tex + +#define SIGMA (HOOKED_size.y / 1080.0) * 2.0 +#define KERNELSIZE (SIGMA * 2.0 + 1.0) + +float gaussian(float x, float s, float m) { + return (1.0 / (s * sqrt(2.0 * 3.14159))) * exp(-0.5 * pow(abs(x - m) / s, 2.0)); +} + +float lumGaussian(vec2 pos, vec2 d) { + float g = (L_tex(pos).x) * gaussian(0.0, SIGMA, 0.0); + g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * gaussian(1.0, SIGMA, 0.0); + for (int i=2; float(i) OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!BIND LUMADG +//!SAVE LUMAD +//!COMPONENTS 1 + +#define L_tex LUMADG_tex + +#define SIGMA (HOOKED_size.y / 1080.0) * 2.0 +#define KERNELSIZE (SIGMA * 2.0 + 1.0) + +float gaussian(float x, float s, float m) { + return (1.0 / (s * sqrt(2.0 * 3.14159))) * exp(-0.5 * pow(abs(x - m) / s, 2.0)); +} + +float lumGaussian(vec2 pos, vec2 d) { + float g = (L_tex(pos).x) * gaussian(0.0, SIGMA, 0.0); + g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * gaussian(1.0, SIGMA, 0.0); + for (int i=2; float(i) OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!SAVE LUMAD2 +//!COMPONENTS 2 + +vec4 hook() { + vec2 d = HOOKED_pt; + + //[tl t tr] + //[ l c r] + //[bl b br] + float l = LUMAD_tex(HOOKED_pos + vec2(-d.x, 0)).x; + float c = LUMAD_tex(HOOKED_pos).x; + float r = LUMAD_tex(HOOKED_pos + vec2(d.x, 0)).x; + + + //Horizontal Gradient + //[-1 0 1] + //[-2 0 2] + //[-1 0 1] + float xgrad = (-l + r); + + //Vertical Gradient + //[-1 -2 -1] + //[ 0 0 0] + //[ 1 2 1] + float ygrad = (l + c + c + r); + + //Computes the luminance's gradient + return vec4(xgrad, ygrad, 0, 0); +} + + +//!DESC Anime4K-v3.2-Upscale-DTD-x2-Kernel-Y +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD2 +//!SAVE LUMAD2 +//!COMPONENTS 2 + +vec4 hook() { + vec2 d = HOOKED_pt; + + //[tl t tr] + //[ l cc r] + //[bl b br] + float tx = LUMAD2_tex(HOOKED_pos + vec2(0, -d.y)).x; + float cx = LUMAD2_tex(HOOKED_pos).x; + float bx = LUMAD2_tex(HOOKED_pos + vec2(0, d.y)).x; + + + float ty = LUMAD2_tex(HOOKED_pos + vec2(0, -d.y)).y; + //float cy = LUMAD2_tex(HOOKED_pos).y; + float by = LUMAD2_tex(HOOKED_pos + vec2(0, d.y)).y; + + + //Horizontal Gradient + //[-1 0 1] + //[-2 0 2] + //[-1 0 1] + float xgrad = (tx + cx + cx + bx) / 8.0; + + //Vertical Gradient + //[-1 -2 -1] + //[ 0 0 0] + //[ 1 2 1] + float ygrad = (-ty + by) / 8.0; + + //Computes the luminance's gradient + return vec4(xgrad, ygrad, 0, 0); +} + +//!DESC Anime4K-v3.2-Upscale-DTD-x2 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!BIND LUMAD2 +//!SAVE MAINTEMPTHIN +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * + +#define STRENGTH 0.4 //Strength of warping for each iteration +#define ITERATIONS 1 //Number of iterations for the forwards solver, decreasing strength and increasing iterations improves quality at the cost of speed. + +#define L_tex HOOKED_tex + +vec4 hook() { + vec2 d = HOOKED_pt; + + float relstr = HOOKED_size.y / 1080.0 * STRENGTH; + + vec2 pos = HOOKED_pos; + for (int i=0; i OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND MAINTEMP +//!SAVE MMKERNEL +//!COMPONENTS 3 + +#define L_tex MAINTEMP_tex + +float max3v(float a, float b, float c) { + return max(max(a, b), c); +} +float min3v(float a, float b, float c) { + return min(min(a, b), c); +} + +vec2 minmax3(vec2 pos, vec2 d) { + float a = L_tex(pos - d).x; + float b = L_tex(pos).x; + float c = L_tex(pos + d).x; + + return vec2(min3v(a, b, c), max3v(a, b, c)); +} + +float lumGaussian7(vec2 pos, vec2 d) { + float g = (L_tex(pos - (d + d)).x + L_tex(pos + (d + d)).x) * 0.06136; + g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * 0.24477; + g = g + (L_tex(pos).x) * 0.38774; + + return g; +} + + +vec4 hook() { + return vec4(lumGaussian7(HOOKED_pos, vec2(HOOKED_pt.x, 0)), minmax3(HOOKED_pos, vec2(HOOKED_pt.x, 0)), 0); +} + + +//!DESC Anime4K-v3.2-Upscale-DTD-x2-Kernel-Y +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND MMKERNEL +//!SAVE MMKERNEL +//!COMPONENTS 3 + +#define L_tex MMKERNEL_tex + +float max3v(float a, float b, float c) { + return max(max(a, b), c); +} +float min3v(float a, float b, float c) { + return min(min(a, b), c); +} + +vec2 minmax3(vec2 pos, vec2 d) { + float a0 = L_tex(pos - d).y; + float b0 = L_tex(pos).y; + float c0 = L_tex(pos + d).y; + + float a1 = L_tex(pos - d).z; + float b1 = L_tex(pos).z; + float c1 = L_tex(pos + d).z; + + return vec2(min3v(a0, b0, c0), max3v(a1, b1, c1)); +} + +float lumGaussian7(vec2 pos, vec2 d) { + float g = (L_tex(pos - (d + d)).x + L_tex(pos + (d + d)).x) * 0.06136; + g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * 0.24477; + g = g + (L_tex(pos).x) * 0.38774; + + return g; +} + + +vec4 hook() { + return vec4(lumGaussian7(HOOKED_pos, vec2(0, HOOKED_pt.y)), minmax3(HOOKED_pos, vec2(0, HOOKED_pt.y)), 0); +} + +//!DESC Anime4K-v3.2-Upscale-DTD-x2 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND MAINTEMPTHIN +//!BIND MAINTEMP +//!BIND MMKERNEL +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * + +#define STRENGTH 0.5 //De-blur proportional strength, higher is sharper. However, it is better to tweak BLUR_CURVE instead to avoid ringing. +#define BLUR_CURVE 0.8 //De-blur power curve, lower is sharper. Good values are between 0.3 - 1. Values greater than 1 softens the image; +#define BLUR_THRESHOLD 0.1 //Value where curve kicks in, used to not de-blur already sharp edges. Only de-blur values that fall below this threshold. +#define NOISE_THRESHOLD 0.004 //Value where curve stops, used to not sharpen noise. Only de-blur values that fall above this threshold. + +#define L_tex MAINTEMP_tex + +vec4 hook() { + float c = (L_tex(HOOKED_pos).x - MMKERNEL_tex(HOOKED_pos).x) * STRENGTH; + + float t_range = BLUR_THRESHOLD - NOISE_THRESHOLD; + + float c_t = abs(c); + if (c_t > NOISE_THRESHOLD) { + c_t = (c_t - NOISE_THRESHOLD) / t_range; + c_t = pow(c_t, BLUR_CURVE); + c_t = c_t * t_range + NOISE_THRESHOLD; + c_t = c_t * sign(c); + } else { + c_t = c; + } + + float cc = clamp(c_t + L_tex(HOOKED_pos).x, MMKERNEL_tex(HOOKED_pos).y, MMKERNEL_tex(HOOKED_pos).z) - L_tex(HOOKED_pos).x; + + //This trick is only possible if the inverse Y->RGB matrix has 1 for every row... (which is the case for BT.709) + //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. + return MAINTEMPTHIN_tex(HOOKED_pos) + cc; +} + + diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Deblur_DoG_x2.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Deblur_DoG_x2.glsl new file mode 100644 index 0000000..a23ff4a --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Deblur_DoG_x2.glsl @@ -0,0 +1,157 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Upscale-Deblur-DoG-x2-Luma +//!HOOK MAIN +//!BIND HOOKED +//!SAVE LINELUMA +//!COMPONENTS 1 + +float get_luma(vec4 rgba) { + return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); +} + +vec4 hook() { + return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); +} + +//!DESC Anime4K-v3.2-Upscale-Deblur-DoG-x2-Kernel-X +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND LINELUMA +//!SAVE GAUSS_X2 +//!COMPONENTS 3 + +#define L_tex LINELUMA_tex + +float max3v(float a, float b, float c) { + return max(max(a, b), c); +} +float min3v(float a, float b, float c) { + return min(min(a, b), c); +} + +vec2 minmax3(vec2 pos, vec2 d) { + float a = L_tex(pos - d).x; + float b = L_tex(pos).x; + float c = L_tex(pos + d).x; + + return vec2(min3v(a, b, c), max3v(a, b, c)); +} + +float lumGaussian7(vec2 pos, vec2 d) { + float g = (L_tex(pos - (d + d)).x + L_tex(pos + (d + d)).x) * 0.06136; + g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * 0.24477; + g = g + (L_tex(pos).x) * 0.38774; + + return g; +} + + +vec4 hook() { + return vec4(lumGaussian7(HOOKED_pos, vec2(HOOKED_pt.x, 0)), minmax3(HOOKED_pos, vec2(HOOKED_pt.x, 0)), 0); +} + + +//!DESC Anime4K-v3.2-Upscale-Deblur-DoG-x2-Kernel-Y +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND GAUSS_X2 +//!SAVE GAUSS_X2 +//!COMPONENTS 3 + +#define L_tex GAUSS_X2_tex + +float max3v(float a, float b, float c) { + return max(max(a, b), c); +} +float min3v(float a, float b, float c) { + return min(min(a, b), c); +} + +vec2 minmax3(vec2 pos, vec2 d) { + float a0 = L_tex(pos - d).y; + float b0 = L_tex(pos).y; + float c0 = L_tex(pos + d).y; + + float a1 = L_tex(pos - d).z; + float b1 = L_tex(pos).z; + float c1 = L_tex(pos + d).z; + + return vec2(min3v(a0, b0, c0), max3v(a1, b1, c1)); +} + +float lumGaussian7(vec2 pos, vec2 d) { + float g = (L_tex(pos - (d + d)).x + L_tex(pos + (d + d)).x) * 0.06136; + g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * 0.24477; + g = g + (L_tex(pos).x) * 0.38774; + + return g; +} + + +vec4 hook() { + return vec4(lumGaussian7(HOOKED_pos, vec2(0, HOOKED_pt.y)), minmax3(HOOKED_pos, vec2(0, HOOKED_pt.y)), 0); +} + +//!DESC Anime4K-v3.2-Upscale-Deblur-DoG-x2-Apply +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND LINELUMA +//!BIND GAUSS_X2 +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * + +#define STRENGTH 0.6 //De-blur proportional strength, higher is sharper. However, it is better to tweak BLUR_CURVE instead to avoid ringing. +#define BLUR_CURVE 0.6 //De-blur power curve, lower is sharper. Good values are between 0.3 - 1. Values greater than 1 softens the image; +#define BLUR_THRESHOLD 0.1 //Value where curve kicks in, used to not de-blur already sharp edges. Only de-blur values that fall below this threshold. +#define NOISE_THRESHOLD 0.001 //Value where curve stops, used to not sharpen noise. Only de-blur values that fall above this threshold. + +#define L_tex LINELUMA_tex + +vec4 hook() { + float c = (L_tex(HOOKED_pos).x - GAUSS_X2_tex(HOOKED_pos).x) * STRENGTH; + + float t_range = BLUR_THRESHOLD - NOISE_THRESHOLD; + + float c_t = abs(c); + if (c_t > NOISE_THRESHOLD && c_t < BLUR_THRESHOLD) { + c_t = (c_t - NOISE_THRESHOLD) / t_range; + c_t = pow(c_t, BLUR_CURVE); + c_t = c_t * t_range + NOISE_THRESHOLD; + c_t = c_t * sign(c); + } else { + c_t = c; + } + + float cc = clamp(c_t + L_tex(HOOKED_pos).x, GAUSS_X2_tex(HOOKED_pos).y, GAUSS_X2_tex(HOOKED_pos).z) - L_tex(HOOKED_pos).x; + + //This trick is only possible if the inverse Y->RGB matrix has 1 for every row... (which is the case for BT.709) + //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. + return HOOKED_tex(HOOKED_pos) + cc; +} + + diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Deblur_Original_x2.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Deblur_Original_x2.glsl new file mode 100644 index 0000000..8b35655 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Deblur_Original_x2.glsl @@ -0,0 +1,277 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Upscale-Deblur-Original-x2-Luma +//!HOOK MAIN +//!BIND HOOKED +//!SAVE LINELUMA +//!COMPONENTS 1 + +float get_luma(vec4 rgba) { + return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); +} + +vec4 hook() { + return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); +} + +//!DESC Anime4K-v3.2-Upscale-Deblur-Original-x2-Kernel-X +//!HOOK MAIN +//!BIND HOOKED +//!BIND LINELUMA +//!SAVE LUMAD +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * +//!COMPONENTS 2 + +vec4 hook() { + vec2 d = HOOKED_pt; + + //[tl t tr] + //[ l c r] + //[bl b br] + float l = LINELUMA_tex(HOOKED_pos + vec2(-d.x, 0.0)).x; + float c = LINELUMA_tex(HOOKED_pos).x; + float r = LINELUMA_tex(HOOKED_pos + vec2(d.x, 0.0)).x; + + + //Horizontal Gradient + //[-1 0 1] + //[-2 0 2] + //[-1 0 1] + float xgrad = (-l + r); + + //Vertical Gradient + //[-1 -2 -1] + //[ 0 0 0] + //[ 1 2 1] + float ygrad = (l + c + c + r); + + //Computes the luminance's gradient + return vec4(xgrad, ygrad, 0.0, 0.0); +} + + +//!DESC Anime4K-v3.2-Upscale-Deblur-Original-x2-Kernel-Y +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!SAVE LUMAD +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * +//!COMPONENTS 2 + + +/* --------------------- SETTINGS --------------------- */ + +//Strength of edge refinement, good values are between 0.2 and 4 +#define REFINE_STRENGTH 1.0 + + +/* --- MODIFY THESE SETTINGS BELOW AT YOUR OWN RISK --- */ + +//Bias of the refinement function, good values are between 0 and 1 +#define REFINE_BIAS 0.0 + +//Polynomial fit obtained by minimizing MSE error on image +#define P5 ( 11.68129591) +#define P4 (-42.46906057) +#define P3 ( 60.28286266) +#define P2 (-41.84451327) +#define P1 ( 14.05517353) +#define P0 (-1.081521930) + +/* ----------------- END OF SETTINGS ----------------- */ + +float power_function(float x) { + float x2 = x * x; + float x3 = x2 * x; + float x4 = x2 * x2; + float x5 = x2 * x3; + + return P5*x5 + P4*x4 + P3*x3 + P2*x2 + P1*x + P0; +} + +vec4 hook() { + vec2 d = HOOKED_pt; + + //[tl t tr] + //[ l cc r] + //[bl b br] + float tx = LUMAD_tex(HOOKED_pos + vec2(0.0, -d.y)).x; + float cx = LUMAD_tex(HOOKED_pos).x; + float bx = LUMAD_tex(HOOKED_pos + vec2(0.0, d.y)).x; + + + float ty = LUMAD_tex(HOOKED_pos + vec2(0.0, -d.y)).y; + //float cy = LUMAD_tex(HOOKED_pos).y; + float by = LUMAD_tex(HOOKED_pos + vec2(0.0, d.y)).y; + + + //Horizontal Gradient + //[-1 0 1] + //[-2 0 2] + //[-1 0 1] + float xgrad = (tx + cx + cx + bx); + + //Vertical Gradient + //[-1 -2 -1] + //[ 0 0 0] + //[ 1 2 1] + float ygrad = (-ty + by); + + //Computes the luminance's gradient + float sobel_norm = clamp(sqrt(xgrad * xgrad + ygrad * ygrad), 0.0, 1.0); + + float dval = clamp(power_function(clamp(sobel_norm, 0.0, 1.0)) * REFINE_STRENGTH + REFINE_BIAS, 0.0, 1.0); + + return vec4(sobel_norm, dval, 0.0, 0.0); +} + +//!DESC Anime4K-v3.2-Upscale-Deblur-Original-x2-Kernel-X +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!SAVE LUMAMM +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * +//!COMPONENTS 2 + + +vec4 hook() { + vec2 d = HOOKED_pt; + + if (LUMAD_tex(HOOKED_pos).y < 0.1) { + return vec4(0.0); + } + + //[tl t tr] + //[ l c r] + //[bl b br] + float l = LUMAD_tex(HOOKED_pos + vec2(-d.x, 0.0)).x; + float c = LUMAD_tex(HOOKED_pos).x; + float r = LUMAD_tex(HOOKED_pos + vec2(d.x, 0.0)).x; + + //Horizontal Gradient + //[-1 0 1] + //[-2 0 2] + //[-1 0 1] + float xgrad = (-l + r); + + //Vertical Gradient + //[-1 -2 -1] + //[ 0 0 0] + //[ 1 2 1] + float ygrad = (l + c + c + r); + + + return vec4(xgrad, ygrad, 0.0, 0.0); +} + + +//!DESC Anime4K-v3.2-Upscale-Deblur-Original-x2-Kernel-Y +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!BIND LUMAMM +//!SAVE LUMAMM +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * +//!COMPONENTS 2 + +vec4 hook() { + vec2 d = HOOKED_pt; + + if (LUMAD_tex(HOOKED_pos).y < 0.1) { + return vec4(0.0); + } + + //[tl t tr] + //[ l cc r] + //[bl b br] + float tx = LUMAMM_tex(HOOKED_pos + vec2(0.0, -d.y)).x; + float cx = LUMAMM_tex(HOOKED_pos).x; + float bx = LUMAMM_tex(HOOKED_pos + vec2(0.0, d.y)).x; + + float ty = LUMAMM_tex(HOOKED_pos + vec2(0.0, -d.y)).y; + //float cy = LUMAMM_tex(HOOKED_pos).y; + float by = LUMAMM_tex(HOOKED_pos + vec2(0.0, d.y)).y; + + //Horizontal Gradient + //[-1 0 1] + //[-2 0 2] + //[-1 0 1] + float xgrad = (tx + cx + cx + bx); + + //Vertical Gradient + //[-1 -2 -1] + //[ 0 0 0] + //[ 1 2 1] + float ygrad = (-ty + by); + + float norm = sqrt(xgrad * xgrad + ygrad * ygrad); + if (norm <= 0.001) { + xgrad = 0.0; + ygrad = 0.0; + norm = 1.0; + } + + return vec4(xgrad/norm, ygrad/norm, 0.0, 0.0); +} + + +//!DESC Anime4K-v3.2-Upscale-Deblur-Original-x2-Apply +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!BIND LUMAMM +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * + + +vec4 hook() { + vec2 d = HOOKED_pt; + + float dval = LUMAD_tex(HOOKED_pos).y; + if (dval < 0.1) { + return HOOKED_tex(HOOKED_pos); + } + + vec4 dc = LUMAMM_tex(HOOKED_pos); + if (abs(dc.x + dc.y) <= 0.0001) { + return HOOKED_tex(HOOKED_pos); + } + + float xpos = -sign(dc.x); + float ypos = -sign(dc.y); + + vec4 xval = HOOKED_tex(HOOKED_pos + vec2(d.x * xpos, 0.0)); + vec4 yval = HOOKED_tex(HOOKED_pos + vec2(0.0, d.y * ypos)); + + float xyratio = abs(dc.x) / (abs(dc.x) + abs(dc.y)); + + vec4 avg = xyratio * xval + (1.0 - xyratio) * yval; + + return avg * dval + HOOKED_tex(HOOKED_pos) * (1.0 - dval); + +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_DoG_x2.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_DoG_x2.glsl new file mode 100644 index 0000000..6c13435 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_DoG_x2.glsl @@ -0,0 +1,142 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Upscale-DoG-x2-Luma +//!HOOK MAIN +//!BIND HOOKED +//!SAVE LINELUMA +//!COMPONENTS 1 + +float get_luma(vec4 rgba) { + return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); +} + +vec4 hook() { + return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); +} + +//!DESC Anime4K-v3.2-Upscale-DoG-x2-Kernel-X +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND LINELUMA +//!SAVE GAUSS_X2 +//!COMPONENTS 3 + +#define L_tex LINELUMA_tex + +float max3v(float a, float b, float c) { + return max(max(a, b), c); +} +float min3v(float a, float b, float c) { + return min(min(a, b), c); +} + +vec2 minmax3(vec2 pos, vec2 d) { + float a = L_tex(pos - d).x; + float b = L_tex(pos).x; + float c = L_tex(pos + d).x; + + return vec2(min3v(a, b, c), max3v(a, b, c)); +} + +float lumGaussian7(vec2 pos, vec2 d) { + float g = (L_tex(pos - (d + d)).x + L_tex(pos + (d + d)).x) * 0.06136; + g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * 0.24477; + g = g + (L_tex(pos).x) * 0.38774; + + return g; +} + + +vec4 hook() { + return vec4(lumGaussian7(HOOKED_pos, vec2(HOOKED_pt.x, 0)), minmax3(HOOKED_pos, vec2(HOOKED_pt.x, 0)), 0); +} + + +//!DESC Anime4K-v3.2-Upscale-DoG-x2-Kernel-Y +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND GAUSS_X2 +//!SAVE GAUSS_X2 +//!COMPONENTS 3 + +#define L_tex GAUSS_X2_tex + +float max3v(float a, float b, float c) { + return max(max(a, b), c); +} +float min3v(float a, float b, float c) { + return min(min(a, b), c); +} + +vec2 minmax3(vec2 pos, vec2 d) { + float a0 = L_tex(pos - d).y; + float b0 = L_tex(pos).y; + float c0 = L_tex(pos + d).y; + + float a1 = L_tex(pos - d).z; + float b1 = L_tex(pos).z; + float c1 = L_tex(pos + d).z; + + return vec2(min3v(a0, b0, c0), max3v(a1, b1, c1)); +} + +float lumGaussian7(vec2 pos, vec2 d) { + float g = (L_tex(pos - (d + d)).x + L_tex(pos + (d + d)).x) * 0.06136; + g = g + (L_tex(pos - d).x + L_tex(pos + d).x) * 0.24477; + g = g + (L_tex(pos).x) * 0.38774; + + return g; +} + + +vec4 hook() { + return vec4(lumGaussian7(HOOKED_pos, vec2(0, HOOKED_pt.y)), minmax3(HOOKED_pos, vec2(0, HOOKED_pt.y)), 0); +} + +//!DESC Anime4K-v3.2-Upscale-DoG-x2-Apply +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +//!HOOK MAIN +//!BIND HOOKED +//!BIND LINELUMA +//!BIND GAUSS_X2 +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * + +#define STRENGTH 0.8 //De-blur proportional strength, higher is sharper. + +#define L_tex LINELUMA_tex + +vec4 hook() { + + float c = (L_tex(HOOKED_pos).x - GAUSS_X2_tex(HOOKED_pos).x) * STRENGTH; + float cc = clamp(c + L_tex(HOOKED_pos).x, GAUSS_X2_tex(HOOKED_pos).y, GAUSS_X2_tex(HOOKED_pos).z) - L_tex(HOOKED_pos).x; + + //This trick is only possible if the inverse Y->RGB matrix has 1 for every row... (which is the case for BT.709) + //Otherwise we would need to convert RGB to YUV, modify Y then convert back to RGB. + return HOOKED_tex(HOOKED_pos) + cc; +} + + diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x2_M.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x2_M.glsl new file mode 100644 index 0000000..944ee4c --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x2_M.glsl @@ -0,0 +1,1079 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.17498326, -0.14677401, -0.43065637, 0.10841958, 0.24096319, -0.008683959, -0.29844064, 0.3567803, 0.43360776, 0.11304715, -0.0802437, 0.190904, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.24688073, 0.086462855, 0.05716678, -0.1739644, 0.3236298, 0.23382919, 0.20481811, -0.022618154, -0.336325, -0.21624258, -0.18736486, -0.14936537, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.38230455, 0.410552, 0.34809712, 0.2510045, 0.30689523, 0.09889703, -0.26991332, 0.1108426, 0.5083409, 0.2854462, -0.1912902, 0.40354714, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.46870667, -0.03530456, 0.13705169, -0.11884997, -0.0772201, 0.17073877, 0.03287621, -0.14975251, -0.18155691, 0.14545092, -0.1584816, 0.051269397, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.5830986, -0.009166566, 0.54358304, -0.4545001, -0.27541155, 0.6697277, -0.29205534, -0.61038095, -0.64781004, 0.32052672, 0.14704794, -0.6479083, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.04402336, 0.05461938, -0.18035333, 0.5464947, 0.21475682, -0.6899343, 0.49390903, 0.62440956, 0.75365967, -0.26500008, 0.59187347, 0.10037025, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.25319895, -0.1764162, -0.22574338, 0.03075524, -0.29618785, -0.491323, 0.008427114, -0.363144, -0.17214127, -0.11891048, -0.19321653, -0.13424487, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.17425235, 0.07049646, -0.1759216, 0.05697634, -0.39496303, 0.35450256, -0.09984144, 0.15470548, -0.03375828, 0.06442114, 0.14598753, 0.46114844, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.19262458, -0.17141157, -0.11393742, -0.07778959, -0.006366565, -0.16713034, 0.2135569, 0.23494779, -0.37996295, -0.2767951, -0.1515432, -0.110363424, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.010385515, 0.011541315, -0.002942497, -0.00020902864); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.8031736, -0.1500194, -0.23398483, -0.060760673, 0.5049785, -0.099199474, -0.035531044, 0.0310586, -0.0310334, 0.15932913, 0.08973915, 0.08766925, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.2187303, 0.20974335, 0.016500302, 0.15386087, 0.2381243, -0.176845, -0.003643712, 0.08195259, 0.18417378, -0.18228108, 0.19170114, -0.3758241, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.4429508, -0.025832538, -0.021855514, 0.11322045, -0.08459551, -0.17815724, -0.19924322, -0.03736318, -0.22390507, -0.50430673, -0.13770194, 0.03014482, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.15976174, 0.31052437, 0.2498092, -0.29137832, -0.10121105, 0.35164458, 0.4901633, -0.35297948, -0.2569739, -0.14258477, 0.12585007, -0.2552164, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.5260107, -0.8547037, 0.92173797, 0.37817466, -0.4162576, 0.10989847, 0.26875922, 0.8614761, 0.069195434, 0.045593478, 0.03790176, 0.7332446, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.14287843, -0.283008, -0.28487602, -0.13313514, -0.019538656, -0.02361782, 0.28037757, -0.10543745, 0.1586713, 0.12037641, 0.24249536, 0.2524637, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.037178896, 0.23858358, -0.18704462, -0.13747689, 0.07629898, 0.2710832, -0.71619016, -0.09074896, 0.30446374, -0.0052702115, -0.27990812, -0.1392364, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.086045384, 0.695562, -0.23519892, -0.23438415, 0.16208446, 0.2172693, -0.16647956, -0.3718635, 0.024940055, 0.5650778, 0.20409326, -0.13530363, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.19389555, -0.028506106, -0.35060602, 0.22244014, 0.055054635, -0.17651209, -0.19871834, -0.02667603, -0.1402023, -0.02455308, -0.57856905, -0.2174221, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.02648044, -0.0017647704, -0.016136197, 0.0011179475); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.14656883, -0.044076134, -0.40314636, -0.08023388, 0.12564746, -0.21633625, -0.0210282, -0.19231434, -0.019945038, 0.020343186, -0.007134301, 0.013607319, 0.07334655, -0.050848506, 0.0011201366, 0.26975143) * go_0(-1.0, -1.0); + result += mat4(-0.043205153, -0.13764456, -0.5368405, -0.04096279, 0.009450832, 0.23953767, -0.022408254, -0.124040656, 0.53450584, 0.02690831, 0.39857075, 0.42423433, 0.014167992, 0.055189077, -0.038074926, 0.12800713) * go_0(-1.0, 0.0); + result += mat4(-0.05354771, -0.06626498, 0.0092389295, 0.100637995, 0.05051714, -0.0033487207, -0.0076860636, 0.013058279, 0.10727092, -0.31131467, 0.058990292, 0.46365786, 0.08736531, 0.038865663, -0.008022449, -0.067517675) * go_0(-1.0, 1.0); + result += mat4(-0.25327486, -0.0041089035, 0.04877498, -0.36375836, 0.0003920389, -0.09273049, 0.016388323, 0.11530572, -0.14216854, 0.07370458, -0.27584067, -0.34536567, 0.0848517, -0.1954229, -0.22656868, -0.13531597) * go_0(0.0, -1.0); + result += mat4(0.7035245, 0.1131446, 0.1833189, 0.63726306, -0.20649737, 0.14149575, -0.084267326, 0.020898562, -0.026810758, -0.17932594, -0.08032681, 0.07790513, -0.01148237, -0.19930641, 0.33902612, -0.013703277) * go_0(0.0, 0.0); + result += mat4(-0.2862842, 0.01491211, -0.30474076, 0.19604082, 0.21565811, 0.29193363, 0.024934597, -0.17113955, 0.26136434, -0.12819171, 0.3874644, -0.30533502, 0.004006889, -0.07340657, -0.04817435, -0.013651047) * go_0(0.0, 1.0); + result += mat4(-0.14331155, -0.09605764, -0.06941299, -0.09740676, 0.0059936745, -0.27215815, -0.31393203, 0.17594862, 0.045626156, 0.060231503, 0.10607796, -0.030635068, 0.15021041, -0.19662435, -0.14648037, 0.028361326) * go_0(1.0, -1.0); + result += mat4(0.25090003, -0.2845429, -0.30109838, -0.070956856, -0.08051349, -0.07526823, 0.13524723, 0.14151429, -0.1232367, 0.08824123, 0.28804728, 0.31701297, 0.014839836, -0.09193038, 0.30188346, -0.07903937) * go_0(1.0, 0.0); + result += mat4(0.21150468, 0.13863595, -0.2624825, 0.1652623, -0.026336774, -0.45599234, 0.015901498, 0.23009071, 0.19700526, -0.11013044, 0.19850798, -0.19702299, 0.060643747, -0.03162518, -0.18272553, 0.24863112) * go_0(1.0, 1.0); + result += mat4(0.16361383, 0.0028921412, 0.18107067, 0.0720563, 0.06378758, -0.09442821, -0.3054202, 0.06843394, 0.20913927, -0.17700543, 0.14682317, 0.21683829, 0.02948067, -0.34866366, -0.04474257, -0.011365872) * go_1(-1.0, -1.0); + result += mat4(0.008512374, 0.19717449, 0.4456541, -0.15356806, -0.24209222, 0.12543896, -0.18232138, 0.012759448, 0.052473016, 0.17268041, 0.25826934, -0.16848944, 0.10150518, -0.30244592, 0.38495708, -0.2090818) * go_1(-1.0, 0.0); + result += mat4(-0.07227807, -0.10066125, -0.1090768, 0.13579647, 0.023154313, 0.079166815, -0.20014893, -0.21884407, 0.09634875, -0.22551452, 0.20771019, 0.16381831, -0.23455033, 0.12578821, -0.43342614, -0.23609087) * go_1(-1.0, 1.0); + result += mat4(-0.11084086, -0.03875876, -0.17912252, -0.24158017, 0.070904315, 0.21862641, 0.02659038, -0.36572614, 0.06265698, 0.32029516, 0.12044166, 0.18424052, 0.050192874, 0.15095103, 0.13794746, -0.111053675) * go_1(0.0, -1.0); + result += mat4(-0.11362966, 0.5249116, 0.27814335, -0.023295242, 0.022581467, 0.3195408, -0.06865207, -0.13818301, 0.18826036, 0.21182717, -0.30241874, 0.02916674, -0.19999875, 0.8222055, -0.2981789, -0.31122693) * go_1(0.0, 0.0); + result += mat4(0.058648925, -0.39456168, -0.36158726, 0.4050607, 0.0609484, 0.01624418, -0.2699451, 0.25976416, 0.31131884, 0.18382475, 0.12856431, 0.3285595, 0.4798488, -0.26074353, 0.78901637, -0.071622506) * go_1(0.0, 1.0); + result += mat4(-0.038631868, -0.20723929, 0.045573164, 0.10398485, 0.20236868, 0.14958549, 0.18842755, -0.23352885, 0.18624173, 0.2800279, 0.23280786, -0.12909916, -0.037398554, 0.1557195, -0.04866289, -0.13633357) * go_1(1.0, -1.0); + result += mat4(-0.15441336, 0.0968205, -0.32649723, -0.021546176, -0.10667603, 0.18065608, 0.017242601, 0.027690934, -0.23079967, 0.093206555, -0.11170116, 0.19002458, -0.352287, 0.008375842, 0.2459501, -0.09389683) * go_1(1.0, 0.0); + result += mat4(0.2130623, -0.4781421, -0.53600657, 0.44947717, -0.018234696, -0.17257519, -0.063182175, 0.22729957, -0.037309792, 0.13939567, -0.013829814, -0.20586358, 0.052985236, -0.04452726, 0.1880475, 0.096934296) * go_1(1.0, 1.0); + result += mat4(0.026266143, -0.03171053, 0.2277772, 0.01093641, -0.007701242, 0.115488306, 0.029304042, 0.33619022, 0.14467055, 0.075788446, -0.076583475, -0.051929206, 0.02211152, 0.031270072, -0.075583085, -0.20198274) * go_2(-1.0, -1.0); + result += mat4(-0.010648877, 0.21413183, 0.24339998, -0.22960022, -0.16156821, -0.45364898, -0.105244495, -0.07713787, -0.31945667, -0.097204186, -0.2457385, 0.04241939, -0.16228637, 0.13461526, 0.009693403, -0.13537757) * go_2(-1.0, 0.0); + result += mat4(0.058250688, 0.007912516, -0.071061306, 0.01889538, -0.14592043, -0.10374761, 0.07840785, 0.008756123, -0.045008816, 0.05261628, -0.2615482, -0.01929421, -0.23048545, 0.010220507, -0.16385053, 0.031251106) * go_2(-1.0, 1.0); + result += mat4(-0.03350765, 0.0737811, -0.09780837, -0.031780828, -0.1919008, 0.36382285, 0.19377235, -0.2797014, -0.12267188, 0.023496462, 0.38848102, -0.010005188, -0.09733866, 0.51535326, 0.47232744, 0.0073942994) * go_2(0.0, -1.0); + result += mat4(-0.27284998, 0.14916854, -0.25612846, -0.029941292, 0.18539569, -0.43832946, -0.119871736, 0.044226155, -0.106426276, 0.05740293, -0.046056107, -0.17616963, -0.52316684, 0.33400205, -0.08133327, 0.0948221) * go_2(0.0, 0.0); + result += mat4(0.32683802, -0.26026967, 0.19948171, -0.011760837, -0.30256173, -0.45944482, 0.051236197, 0.84710604, -0.08078167, 0.2675028, -0.27241448, 0.27764642, 0.13335843, 0.068502, -0.033614077, 0.19930291) * go_2(0.0, 1.0); + result += mat4(0.07075588, 0.029963106, 0.055358, 0.042518128, -0.1441339, 0.42236832, 0.1387107, -0.40421516, 0.02318193, -0.36765453, -0.21558793, 0.21393713, 0.31122518, -0.3358225, -0.4967671, 0.46344024) * go_2(1.0, -1.0); + result += mat4(-0.28364134, 0.19475235, 0.42310834, 0.060645495, -0.14013693, -0.049322303, -0.09870014, 0.23229486, -0.033104394, -0.37716264, -0.18488638, 0.17441164, -0.24427529, -0.26787207, -0.16721556, -0.10374529) * go_2(1.0, 0.0); + result += mat4(-0.3376618, -0.09682554, 0.3423445, 0.047880173, 0.3354013, -0.21854481, -0.40352795, 0.1841921, 0.008460585, -0.03459756, -0.22880521, 0.35112804, -0.01764322, -0.16448145, 0.107058726, -0.28482538) * go_2(1.0, 1.0); + result += mat4(-0.032480888, 0.0034003556, -0.032999255, 0.16414961, 0.098690405, 0.0887987, 0.32215804, -0.002440519, -0.16814353, 0.0029867117, -0.28380692, 0.060728613, 0.15944195, 0.16642234, 0.110365815, 0.22413619) * go_3(-1.0, -1.0); + result += mat4(-0.088509634, 0.047311794, -0.30038288, -0.27227867, 0.41235012, 0.23889793, 0.7280631, 0.13555974, -0.08230139, 0.09955461, -0.13654864, 0.0314745, -0.275061, -0.10253638, -0.34706068, 0.03781376) * go_3(-1.0, 0.0); + result += mat4(0.09819424, -0.017704371, -0.031446967, 0.061441656, -0.110502265, -0.19236599, 0.2783733, 0.12798637, -0.047672354, -0.018956421, -0.17555775, -0.018790504, 0.43967727, -0.62039405, 0.08790998, 0.4353703) * go_3(-1.0, 1.0); + result += mat4(-0.019217307, 0.14623284, 0.015177701, 0.15983194, -0.106374666, -0.0131188845, 0.033161264, 0.41326195, 0.052029386, -0.11639186, -0.026856689, -0.020853983, -0.024652582, -0.12368135, -0.39344305, 0.17345576) * go_3(0.0, -1.0); + result += mat4(-0.047131967, -0.28568837, 0.4201909, -0.28901812, -0.13973507, 0.03312194, -0.16265458, -0.10710893, 0.21189946, -0.32837728, 0.12424836, -0.30587387, 0.036961686, -0.8623908, 0.3661179, -0.1692949) * go_3(0.0, 0.0); + result += mat4(0.1143412, 0.07707313, 0.3981437, -0.17059685, -0.094056316, -0.27234176, 0.12281097, -0.16966031, -0.1512859, -0.0524175, 0.1654043, 0.13700214, -0.3156236, -0.27636334, -0.52670264, 0.9250529) * go_3(0.0, 1.0); + result += mat4(0.16162306, -0.15842794, -0.06699449, 0.059618954, 0.06798694, -0.060685594, -0.14878511, 0.17194197, -0.05110082, -0.12152871, -0.2020905, 0.09337634, 0.0602552, -0.07327089, 0.07043988, 0.15926042) * go_3(1.0, -1.0); + result += mat4(-0.10312201, -0.13890414, -0.07694594, -0.29262447, 0.0597966, -0.228, -0.00046558332, 0.09373052, 0.2520174, -0.2992283, -0.01796473, -0.052195024, 0.09554047, -0.25678295, -0.38657847, 0.16130428) * go_3(1.0, 0.0); + result += mat4(0.21114396, -0.64854, -0.52819866, -0.67061704, 0.05760163, -0.121914886, 0.05448798, -0.1352843, 0.007051261, 0.065677196, -0.09763541, 0.032613076, -0.17908493, -0.7194699, -0.6342276, 0.031814635) * go_3(1.0, 1.0); + result += vec4(0.051319666, 0.019196881, 0.0759832, 0.050857317); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.10187621, 0.11053595, 0.14810364, -0.18582201, 0.16617906, -0.011798966, 0.09280227, 0.13307849, -0.044728525, 0.10914104, 0.075626835, -0.10416733, -0.094498746, -0.06870642, -0.07571491, 0.04897303) * go_0(-1.0, -1.0); + result += mat4(0.33485547, 0.03678466, -0.29866266, -0.048795477, -0.010474432, -0.10252797, 0.036609326, -0.013254512, -0.14475596, 0.011886287, 0.11828754, -0.13557065, -0.28870094, -0.17330378, 0.044048756, -0.019826433) * go_0(-1.0, 0.0); + result += mat4(0.105582856, -0.039765045, 0.0818729, 0.09955303, 0.023201315, 0.09243788, 0.07389467, -0.012808492, 0.0492865, 0.19755632, -0.06548781, 0.08533675, -0.013952, 0.017339202, -0.20518751, -0.054678205) * go_0(-1.0, 1.0); + result += mat4(-0.26653445, 0.04810761, -0.23108084, -0.19818014, 0.23671885, 0.016349426, 0.0045669116, 0.077428445, -0.140711, 0.11972277, 0.101062275, -0.18716832, -0.190941, -0.34035257, -0.09143259, 0.04359683) * go_0(0.0, -1.0); + result += mat4(-0.14573975, 0.23356283, -0.3772715, -0.22460096, -0.053278442, 0.069576025, 0.05169695, 0.17249753, 0.028048603, -0.25471392, -0.09931249, 0.2095619, 0.22173007, 0.38787642, -0.30738685, 0.01936576) * go_0(0.0, 0.0); + result += mat4(0.081078954, -0.16813248, 0.1542311, 0.17158946, -0.15383756, 0.025605323, 0.2360881, -0.14753577, -0.016537111, 0.048651446, -0.35849985, 0.01651406, 0.17044473, 0.13180882, 0.324054, -0.18812656) * go_0(0.0, 1.0); + result += mat4(-0.15537027, -0.08164218, 0.049979087, -0.31885874, -0.15126401, -0.14352658, 0.18948728, 0.020951044, 0.054829888, -0.18936221, -0.22699763, 0.14384085, 0.055476833, -0.011031805, -0.23653851, 0.02768591) * go_0(1.0, -1.0); + result += mat4(-0.34108123, -0.28492066, 0.50347435, 0.0034134283, 0.041766707, 0.12375689, -0.08600751, 0.22726676, 0.10521852, 0.16621545, 0.038216297, 0.029870255, 0.07065742, -0.03542451, 0.38924676, -0.117774665) * go_0(1.0, 0.0); + result += mat4(-0.19437145, -0.01827461, 0.15408134, -0.14991991, 0.13832837, 0.0668659, 0.092678316, 0.05341174, 0.21633142, 0.09575402, -0.111060366, -0.00874764, -0.21256353, -0.052944425, 0.16459747, 0.07091838) * go_0(1.0, 1.0); + result += mat4(0.022236984, 0.19067548, 0.049743406, 0.05148808, 0.23003219, 0.08688227, 0.030773275, -0.059972208, -0.039038613, 0.21701579, -0.11092254, -0.10850967, -0.17777155, -0.20399293, -0.006843039, 0.24139926) * go_1(-1.0, -1.0); + result += mat4(-0.07928885, -0.011657496, -0.03982505, -0.031084592, -0.09403157, -0.13860224, 0.15166754, 0.1279725, -0.084909394, 0.18945958, 0.055481352, -0.24365151, -0.04130202, 0.105171725, -0.47306657, -0.2218246) * go_1(-1.0, 0.0); + result += mat4(-0.06171395, 0.0029490888, 0.055825688, -0.01362009, 0.045571987, -0.04197536, -0.024671398, -0.11600467, 0.02611751, -0.06675449, 0.38841903, 0.109969236, 0.1846224, -0.22673915, -0.11488994, -0.18271959) * go_1(-1.0, 1.0); + result += mat4(-0.08073766, -0.1512685, 0.09596278, 0.061552938, -0.23016383, 0.044725727, -0.1058148, -0.09081257, 0.25391936, 0.13075152, 0.1153331, 0.035533328, 0.14628118, 0.053434838, -0.061957166, -0.11092296) * go_1(0.0, -1.0); + result += mat4(0.004972408, 0.26720062, -0.0014180156, -0.15569477, 0.08964792, 0.39218047, -0.113748655, -0.20653862, -0.0182982, -0.009456181, 0.096566215, 0.19871894, -0.45192167, -0.19494532, 0.5282211, -0.033234302) * go_1(0.0, 0.0); + result += mat4(0.11633487, 0.055492207, -0.09550419, 0.019721292, 0.05191187, 0.110391244, 0.13541168, 0.108687185, -0.3231262, -0.071254596, 0.12103068, -0.063508354, 0.16086432, 0.22202429, -0.2793211, -0.059888415) * go_1(0.0, 1.0); + result += mat4(0.09845572, -0.11364447, -0.06817361, 0.20479278, 0.008171668, -0.10222864, -0.12512983, 0.11285637, 0.2092848, 0.12593135, -0.054839488, 0.1560058, 0.109415986, -0.04229047, -0.21525817, 0.10153635) * go_1(1.0, -1.0); + result += mat4(-0.26443723, 0.18267378, 0.2874903, -0.15007962, 0.23901714, -0.039331976, -0.4055973, 0.18869716, 0.060133275, -0.030050457, -0.16689767, -0.024223989, 0.43243858, -0.004281818, -0.5925553, 0.08473984) * go_1(1.0, 0.0); + result += mat4(-0.11769163, -0.6005158, -0.0700652, 0.0062212353, -0.022391787, 0.08070833, 0.10332995, 0.100591965, 0.1680161, 0.1209537, -0.11606606, -0.0032385625, -0.30508906, -0.11541758, 0.27825746, 0.18774803) * go_1(1.0, 1.0); + result += mat4(-0.06629365, -0.14032914, -0.2580204, 0.18303558, -0.1916567, 0.029803488, -0.12213443, -0.07165115, 0.012936617, -0.11358297, -0.19138688, 0.10422416, 0.18062063, 0.14369549, 0.10535131, -0.036331207) * go_2(-1.0, -1.0); + result += mat4(-0.23739359, -0.14102252, 0.16535138, -0.055494435, 0.11510639, -0.02530117, 0.13571805, -0.11962709, 0.14311576, -0.11346015, -0.053082045, 0.23039193, 0.2412315, 0.34595123, -0.057626486, 0.1273758) * go_2(-1.0, 0.0); + result += mat4(-0.031894613, 0.04056866, -0.14806709, -0.061261263, -0.05113628, -0.150074, -0.05885426, 0.025318084, -0.028839143, -0.14976048, -0.061418023, -0.10849576, 0.10669465, 0.025044547, 0.13002798, 0.033596892) * go_2(-1.0, 1.0); + result += mat4(0.31830126, -0.109857574, 0.022382054, 0.19084917, -0.21992075, -0.06509279, 0.04586319, -0.10979886, 0.07565896, 0.008375114, -0.025531407, 0.112079956, 0.32532254, 0.39258766, 0.15983114, -0.047324624) * go_2(0.0, -1.0); + result += mat4(0.06333816, -0.43997836, 0.28480944, -0.037927028, -0.16247569, 0.14209846, -0.5309942, -0.23058164, -0.18387268, 0.3324917, 0.010288075, -0.2516956, -0.42476243, -0.19866063, 0.32058033, 0.052254338) * go_2(0.0, 0.0); + result += mat4(-0.019851776, 0.17185202, -0.14713249, -0.1373522, 0.23155597, -0.009191596, -0.15395427, 0.24423079, -0.11106813, -0.034888845, 0.17169674, -0.08786573, -0.08697707, -0.28842747, -0.25445274, 0.13578549) * go_2(0.0, 1.0); + result += mat4(0.2099323, 0.09262897, -0.08977398, 0.30791095, 0.12376861, 0.24654338, -0.097672515, 0.008614657, 0.006388779, 0.076170854, 0.25119394, -0.12392118, 0.3138793, -0.015998395, 0.15131904, -0.3009305) * go_2(1.0, -1.0); + result += mat4(0.33982292, 0.26557416, -0.3754559, -0.110353656, 0.08402225, -0.053171434, 0.051136248, -0.2696132, -0.14568366, -0.048726343, 0.06216166, 0.018804165, -0.084439, 0.15103953, -0.020082679, 0.15082058) * go_2(1.0, 0.0); + result += mat4(0.14522389, -0.0462971, -0.10824406, 0.14163211, -0.08392773, -0.22920173, -0.23795773, -0.2580316, -0.22207144, -0.15956368, 0.12665017, -0.08286834, 0.09581649, 0.12603259, -0.15513468, -0.010735423) * go_2(1.0, 1.0); + result += mat4(0.00818024, -0.15539199, -0.011369519, 0.05717366, -0.25330603, -0.018393422, 0.027386196, 0.121692196, 0.059138533, -0.1631142, 0.10282322, 0.08011751, 0.10027271, 0.255391, 0.010682224, -0.3095357) * go_3(-1.0, -1.0); + result += mat4(0.117767766, 0.120644994, 0.09232613, -0.018057318, -0.038398392, 0.14537762, -0.016560853, -0.08958423, 0.06743331, -0.23562634, -0.123906426, 0.028323429, -0.09386831, -0.16833909, 0.019829117, -0.08108203) * go_3(-1.0, 0.0); + result += mat4(0.05462869, -0.031615634, -0.121678494, 0.05315917, -0.012636353, -0.13374922, 0.18577711, 0.0005971412, -0.099537544, -0.060773082, -0.28754288, -0.20077203, -0.15873533, -0.11387871, -0.17841183, -0.120239034) * go_3(-1.0, 1.0); + result += mat4(0.13845754, 0.223389, -0.20315485, -0.03479761, 0.1806296, 0.057029717, 0.010771242, 0.15245064, -0.0040082, 0.015283898, -0.34807077, 0.078581005, 0.026417086, -0.058825746, 0.07728649, 0.066044815) * go_3(0.0, -1.0); + result += mat4(-0.13820273, -0.050027788, 0.061389934, 0.11189863, 0.008062022, -0.17326912, 0.18159898, 0.08510656, 0.22065656, 0.3918094, -0.05124615, -0.22959533, 0.85480285, 0.5621734, -0.817405, 0.065126896) * go_3(0.0, 0.0); + result += mat4(-0.15309735, 0.1396192, 0.16662036, -0.10952867, -0.03473452, -0.08712044, -0.2422528, -0.19236326, 0.49887487, 0.2615184, -0.076631024, 0.16010238, -0.09836315, -0.27126545, 0.17968613, -0.21053861) * go_3(0.0, 1.0); + result += mat4(-0.18809205, 0.050410215, 0.1418759, -0.2876976, -0.13414268, 0.07458343, 0.096421175, -0.060676426, -0.17345451, -0.13678914, -0.06512698, -0.102106765, -0.12989639, 0.09089589, 0.07377932, -0.07263102) * go_3(1.0, -1.0); + result += mat4(0.45035192, 0.2393797, -0.045452517, -0.04553052, -0.26037264, -0.021321824, 0.24618645, -0.108074926, -0.030116243, 0.04612789, 0.2273845, -0.07468269, -0.48789972, 0.12628402, 1.0130231, -0.14672706) * go_3(1.0, 0.0); + result += mat4(0.5591947, -0.0326075, 0.12768768, -0.7916967, 0.023168698, -0.042015456, -0.12410894, -0.033611402, -0.14815444, -0.124497496, 0.08198418, -0.014488041, 0.4252749, -0.20253694, 0.042329047, -0.50953263) * go_3(1.0, 1.0); + result += vec4(-0.048558664, 0.11006767, -0.074099846, -0.016021004); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x32 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.26519376, -0.45442572, -0.24128473, 0.56122154, 0.45048368, 0.32492852, -0.14123245, -0.027976234, -0.11764467, -0.47563952, -0.09401533, 0.024141679, -0.19278349, -0.5169275, -0.26203018, 0.04326379) * g_0; + result += mat4(-0.14198317, 0.18704857, -0.20165806, 0.3868074, 0.26532957, 0.13556235, -0.5872983, 0.13357028, 0.48151335, -0.3750496, 0.020972235, -0.32213062, -0.46967435, 0.10506199, 0.24039303, -0.3906582) * g_1; + result += mat4(0.10981934, -0.0040414287, -0.0025180888, -0.23061854, -0.6781062, -0.27331296, -0.1538456, 0.31020573, -0.05341261, 0.45214307, 0.23456645, 0.3261386, -0.020520406, 0.46579385, 0.57791334, 0.441774) * g_2; + result += mat4(0.11475315, 0.18062253, 0.21255025, -0.1963313, -0.22190428, -0.19369084, 0.5878038, -0.051808596, -0.39728877, -0.044071846, 0.0066692936, -0.0066007506, 0.03501876, 0.27602142, 0.11396466, 0.81461775) * g_3; + result += mat4(-0.44411597, -0.11377309, 0.16160126, 0.47119814, 0.22932883, -0.43011594, 0.01986201, 0.01446102, -0.2783236, -0.07647468, -0.5016725, 0.4227215, 0.31808656, 0.23829709, -0.12855907, -0.15950239) * g_4; + result += mat4(-0.4784548, -0.042179376, -0.4882858, -0.046462137, -0.21421364, -0.35029694, -0.15496174, 0.11386904, 0.22592051, 0.1590684, 0.49690887, -0.37077406, -0.48519966, -0.14407466, 0.24836525, 0.38462397) * g_5; + result += mat4(-0.043213595, -0.004892144, 0.29046863, 0.57064444, 0.37136674, -0.5603234, -0.30733815, 0.26740906, 0.016959883, -0.26567596, 0.101653986, 0.34387913, -0.13222592, -0.34239995, 0.32046688, 0.023962379) * g_6; + result += mat4(-0.2955613, 0.44671535, 0.056253802, -0.6011664, -0.30715483, 0.16890973, 0.041257784, -0.1544008, 0.4653661, -0.22183, -0.23155628, -0.063779, 0.10350268, 0.02045104, -0.22509801, 0.14633855) * g_7; + result += vec4(-0.00089101185, -0.038285345, 0.023986168, -0.122330956); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x32 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.6336626, -0.23328744, 0.054100014, -0.6572063, 0.22899812, 0.47125596, 0.087406546, 0.5788615, -0.24324284, -0.17465535, 0.23223022, -0.4417298, -0.1195797, -0.14119461, -0.2301777, -0.1748931) * g_0; + result += mat4(0.2554768, -0.0835268, 0.13054265, 0.033940453, -0.22754695, 0.053536188, -0.10300488, -0.10146903, 0.3104604, -0.5024146, 0.089460805, -0.20216464, 0.6033507, 0.12908716, -0.29953086, 0.292064) * g_1; + result += mat4(0.09586759, -0.037499018, -0.23253569, 0.63889295, 0.18920106, -0.6646685, 0.07218118, -0.61459464, -0.16397415, 0.3131906, -0.39399612, 0.36777702, 0.39545253, 0.030677503, 0.29420745, -0.02527333) * g_2; + result += mat4(-0.2464485, -0.117239855, -0.13390337, 0.43170166, 0.10044111, -0.13811369, -0.007668335, 0.06387773, -0.11786689, 0.23223364, 0.12805769, 0.06410502, -0.2818576, 0.21286973, 0.17026524, -0.22247931) * g_3; + result += mat4(0.12590794, 0.25101408, -0.014941272, -0.06091461, -0.106272854, -0.23196393, 0.64016813, 0.0025616125, 0.16706267, 0.008579063, 0.04476896, -0.5403641, -0.011274305, -0.014704461, -0.068788156, 0.47190762) * g_4; + result += mat4(0.10427173, -0.11386145, -0.6048206, -0.20245847, -0.011730377, -0.0119483, 0.06255473, -0.5017671, -0.07181296, -0.08626898, -0.035322662, 0.42718327, 0.041101683, 0.017210655, -0.07089471, -0.6541289) * g_5; + result += mat4(-0.43911383, -0.099413894, -0.22120018, -0.3121928, -0.32394376, 0.1159015, 0.04434728, 0.014404674, 0.040322874, 0.06727233, -0.046662346, -0.066591434, -0.004613069, -0.6566657, -0.13442427, -0.081967555) * g_6; + result += mat4(0.7393613, 0.059159152, 0.21900342, 0.26184326, 0.15656939, -0.05151207, -0.02730003, -0.055701576, -0.50296444, 0.09566756, -0.10248052, -0.39747316, 0.5877897, 0.83397114, -0.07968032, -0.3097048) * g_7; + result += vec4(-0.010642331, -0.050244823, -0.009665539, 0.26457447); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!SAVE conv2d_5_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.11527973, 0.18487021, 0.0010509634, -0.3687562, -0.012861112, -0.37319645, -0.31061935, -0.051598914, 0.061436053, -0.2643697, -0.032551475, 0.59398615, 0.17265628, 0.1634019, 0.026527049, -0.0040123775) * go_0(-1.0, -1.0); + result += mat4(-0.19826698, -0.29437867, 0.15727736, 0.44590214, 0.27655315, 0.28220633, 0.12990361, -0.09000104, -0.26396993, -0.53520125, 0.40639028, 0.7958488, 0.043264065, -0.08110669, -0.28618547, 0.12722827) * go_0(-1.0, 0.0); + result += mat4(0.26455724, -0.36315665, -0.22116943, 0.049996275, 0.28526706, -0.0045478707, -0.20538875, 0.03192557, 0.04443011, -0.48084733, -0.32755423, 0.0075373487, 0.34481105, 0.04272154, -0.11092845, -0.07401724) * go_0(-1.0, 1.0); + result += mat4(0.28374255, 0.13204694, 0.041846596, -0.57726663, 1.0038753, 0.42640173, -0.045806255, 0.3795911, 0.52897507, -0.2522673, 0.37759414, 0.158503, 0.111165345, -0.033814687, -0.37906894, 0.14007671) * go_0(0.0, -1.0); + result += mat4(0.30553007, -0.032092307, 0.6779135, -0.32720757, 0.29837027, 0.13522549, 0.21653146, 0.4553826, -0.22200927, -0.20921928, 0.36475468, 0.27989116, 0.6222863, -0.37027213, 0.06746388, 0.16675332) * go_0(0.0, 0.0); + result += mat4(0.31677073, -0.37482786, 0.4029838, 0.43627468, 0.32849845, -0.3442297, 0.1752726, 0.37502408, -0.1561963, -0.17489041, 0.7141825, -0.13179696, 0.17682795, 0.052273672, 0.07300372, 0.20322469) * go_0(0.0, 1.0); + result += mat4(0.07722791, 0.51997215, 0.2052519, -0.6162976, 0.07318059, -0.16653596, -0.0609372, -0.13199529, -0.011298448, -0.066250905, 0.11658636, -0.07317175, -0.068134755, 0.032443475, -0.27242857, 0.26479205) * go_0(1.0, -1.0); + result += mat4(-0.46400046, 0.34256476, -0.074927844, -0.082626544, 0.38616362, 0.10320202, 0.7306549, -0.41960227, -0.33295953, -0.35537082, 0.040369444, 0.18173583, 0.36835003, -0.078561984, -0.13071333, -0.06847678) * go_0(1.0, 0.0); + result += mat4(0.0951899, -0.21144655, 0.12174552, 0.09496668, -0.17025085, -0.36465582, 0.20724316, 0.07027979, 0.17988989, -0.16671456, -0.15068638, 0.26715076, 0.022114933, 0.14284599, -0.06316286, 0.017598677) * go_0(1.0, 1.0); + result += mat4(0.22179046, -0.19104601, 0.10500515, 0.22017653, -0.065115064, -0.027006533, -0.21086605, 0.00932852, -0.6196575, 0.04396425, 0.52487534, 0.61164427, 0.15172893, 0.219877, 0.103516005, -0.103571504) * go_1(-1.0, -1.0); + result += mat4(0.122733794, 0.19491453, 0.22410785, -0.17341182, -0.18816754, 0.22092234, -0.055087283, -0.14617631, 0.4338981, -0.45366564, -1.4062341, 0.19594707, 0.2178627, 0.016837195, -0.2226328, 0.079190396) * go_1(-1.0, 0.0); + result += mat4(0.16418308, 0.14917587, 0.35162288, 0.04064204, -0.037038237, 0.06579139, -0.08464511, -0.2156906, 0.22791082, -1.1695892, 0.53665465, -0.77753544, 0.0065266103, 0.15857838, 0.010236925, 0.14953533) * go_1(-1.0, 1.0); + result += mat4(0.64548135, -0.02291521, -0.14370848, 0.049308565, 0.13637903, 0.14568083, -0.1488358, -0.0038734428, 0.0809154, -0.15466721, -0.06614126, -0.047732286, 0.311668, 0.22075401, 0.26094854, -0.27763176) * go_1(0.0, -1.0); + result += mat4(0.12075334, -0.23920162, 0.19115442, -0.33920774, 0.15199614, 0.27974042, -0.05022236, -0.15280685, 0.37271795, -0.76389724, -0.56503266, 1.4975219, 0.24002175, -0.12661129, 0.045953903, 0.2102559) * go_1(0.0, 0.0); + result += mat4(-0.02855315, -0.16729961, -0.27380818, -0.08810453, 0.061245166, 0.27268958, 0.2282609, 0.072155826, -0.65736717, -0.46307757, -0.5473049, 0.50772667, -0.1581774, 0.28763455, -0.1870661, -0.16523343) * go_1(0.0, 1.0); + result += mat4(0.23464368, 0.25850806, -0.054024473, -0.13788947, -0.24835043, -0.028147692, -0.23022775, 0.11494646, 0.31069988, -0.21450949, 0.40749013, -0.073832974, -0.16241223, 0.15673774, 0.23648019, -0.34203738) * go_1(1.0, -1.0); + result += mat4(-0.10198349, -0.052500926, 0.02638934, 0.19718044, -0.09078705, 0.07717591, 0.44648582, -0.30146563, -0.10124157, 0.12145466, -0.2133955, 0.16855773, -0.12310728, 0.35327804, -0.44273457, 0.20639896) * go_1(1.0, 0.0); + result += mat4(0.08033835, 0.0977811, 0.007069267, -0.110171854, -0.008568571, -0.10922981, 0.12048108, -0.0835261, 0.019930357, -0.12652875, 0.02870121, 0.12214532, -0.024486745, 0.3588685, -0.16501926, 0.11914434) * go_1(1.0, 1.0); + result += mat4(0.24003507, -0.040643565, -0.4267142, 0.34356147, -0.2618635, -0.1550601, -0.18566506, 0.33267352, -0.17584917, -0.24971883, 0.167064, -0.20808934, 0.3197215, 0.19626021, -0.16993162, -0.16976681) * go_2(-1.0, -1.0); + result += mat4(0.159248, -0.33713767, -0.37823528, 0.25286102, -0.6171255, 0.01159639, 0.08387377, -0.0796005, -0.18405017, -0.11881008, -0.03026552, 0.030733835, 0.17692643, 0.17118043, 0.23938146, -0.40504465) * go_2(-1.0, 0.0); + result += mat4(0.11274836, -0.023647472, 0.083114825, 0.5222033, -0.07415273, -0.3251913, -0.034298245, -0.07125199, 0.09593269, -0.23062208, -0.3168607, -0.13040248, -0.41249517, 0.39030293, 0.47400078, -0.109306306) * go_2(-1.0, 1.0); + result += mat4(-0.49999082, 0.012254524, -0.035179958, 0.212335, -0.10354367, -0.19730526, 0.092015326, -0.07317916, -0.21900047, -0.13948579, -0.3228226, -0.22363624, -0.06421761, 0.16125691, 0.38075948, -0.31371582) * go_2(0.0, -1.0); + result += mat4(-1.0006356, -0.13763155, -0.8414047, -0.051852856, -0.44105098, 0.526086, 0.23091859, -0.6621191, -0.015348964, 0.37972412, -0.24986422, 0.13964157, -0.03184678, 0.25394693, -0.051659737, -0.34171197) * go_2(0.0, 0.0); + result += mat4(0.14520285, 0.1346628, 0.047271203, 0.64346415, -0.25639483, 0.052174076, 0.28681588, -0.32156095, 0.014350296, 0.028580237, 0.33776954, 0.06681965, -0.27312553, 0.44097883, -0.16519593, -0.7293824) * go_2(0.0, 1.0); + result += mat4(-0.65626615, -0.20801732, -0.18783297, 0.27998376, -0.51550066, -0.23272751, -0.3744558, 0.11267917, -0.1879591, 0.043539204, -0.17665562, 0.28546363, -0.20627682, 0.33176526, 0.34412766, -0.4310386) * go_2(1.0, -1.0); + result += mat4(0.51410156, -0.08615402, -0.2396778, -0.027256064, 0.11491742, -0.20842157, 0.3855824, -0.19823207, 0.0062098945, -0.2629099, 0.13158852, -0.08746773, -0.46980307, 0.57169086, -0.13392213, 0.13375558) * go_2(1.0, 0.0); + result += mat4(0.09988252, 0.19396676, -0.011215926, 0.2714918, 0.07985461, 0.30587563, 0.21915142, -0.14004244, -0.336268, 0.023702772, 0.15740578, -0.06307948, 0.06453276, 0.26978606, 0.45891464, -0.35511568) * go_2(1.0, 1.0); + result += mat4(-0.33263445, -0.13086738, -0.30128893, 0.03720744, 0.46366304, -0.13430476, -0.26493385, 0.14521147, -0.025578065, -0.043376725, 0.055235144, -0.08467402, 0.12879072, 0.2621278, -0.030150373, -0.079033755) * go_3(-1.0, -1.0); + result += mat4(-0.15686864, 0.06962337, -0.24032803, 0.05093969, 0.12118379, 0.2144539, 0.21314697, -0.15564163, -0.15193312, -0.15797225, 0.061610706, 0.06689548, 0.42354256, 0.24339569, 0.14413804, -0.08890708) * go_3(-1.0, 0.0); + result += mat4(0.021830576, -0.0682399, -0.25052184, 0.035374403, -0.0022370394, 0.23796171, 0.40747103, -0.14309348, -0.22325014, 0.12337428, -0.0727028, 0.12374459, -0.24148722, 0.34091887, 0.5052561, -0.13712624) * go_3(-1.0, 1.0); + result += mat4(-0.583754, -0.10253819, -0.26736188, -0.084894784, 0.7130811, 0.5888696, 0.24837445, 0.20670207, 0.08242887, -0.03090308, 0.24002716, -0.04146999, 0.33550006, -0.006085788, -0.2078999, 0.016955601) * go_3(0.0, -1.0); + result += mat4(-0.23921615, 1.0534316, -0.29723012, -0.06626253, 0.022887046, -0.6139072, 0.22857629, 0.4203786, -0.02951169, 0.0501039, -0.054740574, -0.15496075, 0.9533812, 0.21038955, 0.33969748, 0.18853404) * go_3(0.0, 0.0); + result += mat4(-0.13571729, -0.045776337, 0.23663524, 0.1457326, -0.23159564, -0.44608104, -0.35497522, -0.14684997, 0.042379193, 0.16966693, 0.2560789, -0.07091574, 0.010749883, -0.26966086, -0.16322245, 0.095426805) * go_3(0.0, 1.0); + result += mat4(-0.027934154, -0.25037688, 0.19623838, 0.16128206, 0.21479255, 0.4066385, -0.06756232, -0.19681008, 0.09168842, 0.46935177, -0.059632402, -0.3419115, 0.2789002, 0.012714867, 0.15322958, 0.05255599) * go_3(1.0, -1.0); + result += mat4(0.2074098, -0.19564646, 0.21713807, -0.29207307, -0.08546043, 0.122562535, -0.5150736, 0.5190804, -0.116998374, 0.17080544, -0.29132518, 0.47585255, -0.14625762, -0.026589578, -0.13111407, 0.03473621) * go_3(1.0, 0.0); + result += mat4(-0.3399405, 0.063775875, -0.0121724615, 0.13809827, -0.1575877, 0.13529225, -0.28708464, -0.063552216, 0.08623843, 0.034867074, 0.25082812, -0.038863987, 0.08048017, -0.43998414, -0.05038377, -0.20123458) * go_3(1.0, 1.0); + result += vec4(0.19016464, 0.19431238, -0.073604904, 0.101166695); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.259803, 0.14121838, -0.3216694, 0.16912009, -0.24997918, -0.024859427, 0.07951931, -0.17898253, 0.14770418, -0.38608834, 0.7155576, -0.008749993, 0.106385805, -0.08190305, 0.06277034, 0.05247095) * go_0(-1.0, -1.0); + result += mat4(-0.10331291, 0.29847905, -0.20864278, -0.34607938, -0.0629403, 0.24202278, 0.15617771, 0.09471163, 0.29827452, -0.5237911, 0.8446165, -0.038001515, 0.085504964, -0.012998129, -0.12903701, -0.06808485) * go_0(-1.0, 0.0); + result += mat4(-0.028803846, 0.117718086, 0.11924323, -0.23554896, -0.31169716, 0.2164557, 0.054745417, -0.2886858, 0.34304592, -0.15872054, 0.21533915, 0.23624876, -0.02507208, 0.16001348, -0.14645866, -0.013143789) * go_0(-1.0, 1.0); + result += mat4(0.12311184, 0.16843726, -0.5478087, 0.036556758, -0.0024939126, -0.12264501, 0.090127975, -0.14638199, -0.33366996, 0.1817309, 0.018728942, -0.025097579, -0.00233696, 0.15182042, -0.072947, -0.15065937) * go_0(0.0, -1.0); + result += mat4(0.3238381, 0.19316678, 0.23307748, -0.10455285, -0.35405514, -0.06559013, 0.4206979, 0.08059919, -0.26130152, -0.23416454, -0.21285532, 0.07799376, 0.12372864, -0.3774056, 0.022239799, 0.22356819) * go_0(0.0, 0.0); + result += mat4(0.066345, 0.20370135, -0.01601085, 0.014701113, 0.27098605, 0.25511372, -0.048403386, -0.014162313, 0.11301996, -0.09638182, 0.12047054, -0.010323633, 0.21627729, 0.18377618, -0.12752205, -0.0668105) * go_0(0.0, 1.0); + result += mat4(0.18890683, -0.21100806, -0.38314816, 0.12188494, -0.09069559, 0.1785706, -0.19502263, -0.22853898, -0.096488185, 0.18105212, -0.0045291157, -0.018952737, 0.14934972, -0.17416078, 0.05363704, -0.17642738) * go_0(1.0, -1.0); + result += mat4(-0.15392087, 0.13997103, -0.12765433, -0.054465868, 0.0061383434, 0.03424787, -0.08585949, -0.10249745, -0.055375032, -0.047258787, -0.10105776, 0.09468892, 0.32030013, -0.14938186, 0.18287018, 0.007592655) * go_0(1.0, 0.0); + result += mat4(0.109669484, 0.02212132, 0.038995523, -0.0041161263, -0.12115841, -0.048061926, 0.06674463, -0.33846095, 0.04251217, -0.05917749, 0.17834029, 0.010219928, 0.2690458, 0.09282476, 0.077470005, -0.07310091) * go_0(1.0, 1.0); + result += mat4(0.4314233, 0.035379685, 0.27331847, 0.19597715, -0.09619968, -0.055907905, 0.07898602, 0.031254813, -0.09366987, -0.37436283, 0.061305135, -0.32644534, -0.16999187, 0.06906536, -0.1228417, -0.09826574) * go_1(-1.0, -1.0); + result += mat4(0.6059936, -0.10060162, -0.18080838, 0.26205355, 0.033052504, -0.10625297, -0.0038814575, 0.026052764, 0.19484659, -0.24242568, 0.8054419, -0.3437365, -0.010305425, -0.079504244, 0.11879563, -0.14375582) * go_1(-1.0, 0.0); + result += mat4(0.23313539, -0.026485069, 0.13332158, 0.28462213, -0.19786534, 0.048259735, 0.024113638, 0.23403068, -1.0330093, 0.0059400625, 0.23721488, -1.379481, 0.12166913, -0.07133997, 0.060898513, 0.092720084) * go_1(-1.0, 1.0); + result += mat4(0.16513251, 0.013819962, -0.009859532, -0.037474833, 0.25651336, -0.131653, 0.03145131, -0.27886832, 0.27808505, -0.099978246, -0.11189488, 0.053313572, 0.11455811, 0.10826371, 0.0017301271, -0.041959) * go_1(0.0, -1.0); + result += mat4(-0.037442397, 0.061722398, 0.099159, -0.18970016, -0.13042277, 0.16767356, -0.028342545, 0.18715699, 0.22246139, 0.3154743, -0.39717823, 0.26053482, -0.012097491, 0.1746896, 0.3899962, -0.13013846) * go_1(0.0, 0.0); + result += mat4(-0.14552362, -0.26800197, 0.09035887, 0.24266347, -0.14494316, 0.033814326, -0.06647855, -0.16609156, 0.30540654, 0.037082594, 0.14951941, 0.12753695, -0.045153987, -0.28476146, 0.37640104, -0.04667195) * go_1(0.0, 1.0); + result += mat4(0.2071077, -0.09297775, -0.04906301, -0.24280597, 0.15925987, -0.05631783, 0.08169953, -0.20124075, 0.23060048, -0.05786468, 0.23959383, 0.1620485, 0.14333409, -0.12757483, -0.1424963, 0.13118197) * go_1(1.0, -1.0); + result += mat4(-0.101942524, -0.02240319, 0.11718157, -0.13591368, 0.11223302, -0.042933583, -0.07766777, 0.01667011, 0.07462998, 0.020704709, -0.04329035, -0.01358702, 0.13569939, 0.015980164, -0.08001042, 0.13890027) * go_1(1.0, 0.0); + result += mat4(0.01755685, -0.047599614, 0.06456479, -0.08004052, 0.08108282, 0.06789228, -0.14048836, -0.020240005, 0.039701223, 0.023405846, 0.06305444, -0.046804685, 0.040620867, 0.013529182, -0.094961315, 0.02959053) * go_1(1.0, 1.0); + result += mat4(-0.053775985, -0.0060494044, 0.14724614, 0.07248909, -0.056616947, 0.0004714896, -0.18737504, -0.15240799, -0.030883765, -0.007487297, -0.0044565946, 0.15024893, -0.16870505, 0.09338804, -0.21873595, -0.14493267) * go_2(-1.0, -1.0); + result += mat4(-0.045113027, -0.2153715, 0.04520989, 0.26561612, -0.12634845, -0.10975088, -0.3677834, -0.4343602, -0.34146985, 0.29135808, 0.026339425, -0.0995021, 0.012693227, 0.07312179, 0.21671581, 0.11961088) * go_2(-1.0, 0.0); + result += mat4(0.19766524, -0.31538734, 0.35708517, 0.33092737, 0.027086282, 0.024219114, -0.15289012, -0.18128034, -0.16041638, 0.057314564, 0.079830885, -0.08828221, 0.11828446, -0.13336371, -0.078453206, 0.21232514) * go_2(-1.0, 1.0); + result += mat4(-0.13100033, -0.24849984, 0.3087074, 0.017271562, -0.17455627, -0.014364008, 0.077686995, -0.015820628, 0.18584616, -0.16705278, -0.3169503, 0.09107534, -0.04958684, -0.008202742, 0.024148908, -0.04654239) * go_2(0.0, -1.0); + result += mat4(-0.16020702, -0.18623418, -0.29434547, 0.5008317, 0.23796988, -0.11154579, -0.5167728, -0.14195764, 0.15495163, -0.028505204, -0.2105556, 0.22491512, -0.11658545, 0.31665426, 0.35085753, -0.40148884) * go_2(0.0, 0.0); + result += mat4(0.24866697, -0.3752738, 0.8472619, 0.16663249, -0.25808626, -0.037561346, -0.1440471, -0.107407264, 0.016663626, 0.1599037, -0.31926402, 0.15272903, -0.14700623, -0.05275371, 0.061130624, 0.084672675) * go_2(0.0, 1.0); + result += mat4(-0.24184473, -0.016008917, 0.040023588, 0.1517675, -0.1339458, 0.009985992, 0.15634708, -0.07649679, 0.0021696684, -0.07027257, -0.07509208, -0.27060902, -0.21299353, 0.12154156, -0.3159698, 0.2511261) * go_2(1.0, -1.0); + result += mat4(0.19845779, 0.023986215, -0.073409855, 0.0812208, 0.013382121, -0.049414996, -0.12990347, 0.052681953, -0.12787153, -0.100129806, -0.036296804, -0.13915883, -0.24022135, 0.167096, -0.15128131, 0.17779276) * go_2(1.0, 0.0); + result += mat4(-0.05787442, -0.19698323, 0.13090582, 0.1501304, -0.09954089, -0.008470983, -0.095334776, 0.114635326, -0.16330223, -0.046815667, -0.086304545, -0.15729928, -0.1982723, 0.10607274, -0.25540838, 0.09633669) * go_2(1.0, 1.0); + result += mat4(-0.25680968, -0.18444876, 0.053333476, 0.10470261, 0.17798793, -0.108659215, 0.1787569, -0.027407814, 0.12637395, -0.038193744, -0.16185284, 0.14068736, 0.092281684, 0.022276353, 0.013779975, 0.026369803) * go_3(-1.0, -1.0); + result += mat4(-0.17329752, 0.21632285, -0.036964342, 0.30856085, 0.015225849, 0.04158692, -0.010607313, 0.16295516, 0.18873654, 0.24728407, 0.09787, -0.14381099, -0.091119304, 0.12914585, -0.039659716, -0.10700463) * go_3(-1.0, 0.0); + result += mat4(-0.037163302, 0.05201725, -0.149489, -0.05682234, -0.022634465, -0.074764505, -0.010783339, 0.028970495, -0.045976285, -0.1923207, -0.037494432, -0.13024884, -0.1957353, 0.013454359, -0.30236122, -0.078870796) * go_3(-1.0, 1.0); + result += mat4(-0.17753989, -0.1549664, 0.08087595, 0.046868976, -0.09354348, 0.22648604, 0.002651186, 0.11890617, -0.0073132347, 0.05030891, -0.08128038, 0.14395374, -0.001108739, -0.030957213, -0.03568773, 0.055131156) * go_3(0.0, -1.0); + result += mat4(-0.029484594, -0.013036961, -0.31721568, 0.11611545, -0.24111903, -0.33007705, 0.5950326, -0.070911475, -0.04757172, -0.037676062, -0.14590797, 0.076822214, -0.1672743, -0.41848892, 0.39202756, -0.30958134) * go_3(0.0, 0.0); + result += mat4(0.17605461, 0.12216047, -0.02412872, -0.14132546, -0.052373543, 0.08169531, 0.18497281, 0.074685514, -0.055427983, 0.14018987, -0.11671619, 0.108945735, -0.032986425, 0.11385016, 0.05801377, -0.1457665) * go_3(0.0, 1.0); + result += mat4(-0.27222672, -0.0074164676, 0.35768685, 0.0074552484, 0.16729778, 0.14860032, -0.3657366, 0.24510175, -0.0621289, -0.0137252435, -0.26145887, 0.0556681, -0.07332952, 0.13122542, -0.020396946, 0.113705456) * go_3(1.0, -1.0); + result += mat4(0.08118381, -0.06442098, 0.00044297878, 0.13279027, -0.20708169, 0.11252618, -0.033728387, -0.0105973175, -0.2138218, 0.34612998, -0.15597765, 0.18179017, -0.007853463, -0.045547944, 0.22064093, 0.0548327) * go_3(1.0, 0.0); + result += mat4(-0.10656318, -0.014200068, 0.062040597, -0.037210476, -0.07271065, -0.027337732, -0.14988437, -0.14711551, -0.028843492, -0.0046596485, -0.15023676, 0.08530336, -0.016875269, -0.024734195, 0.055177588, 0.010381644) * go_3(1.0, 1.0); + result += vec4(-0.021330277, -0.09496422, -0.1339419, 0.012216251); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x40 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.4756803, -0.16041027, 0.30747655, 0.27719444, 0.33626345, -0.093426555, -0.08751585, -0.025898175, 0.12469858, 0.162526, 0.071950376, 0.36727026, -0.26165214, 0.17652564, -0.081568465, 0.17669047) * g_0; + result += mat4(0.10045615, -0.47277164, 0.13970673, -0.036603283, 0.10723418, -0.0733819, 0.07046736, 0.04479655, -0.5100679, 0.4051206, -0.3043826, 0.07709692, 0.25090587, -0.5827475, 0.27195984, 0.42297873) * g_1; + result += mat4(-0.34415862, -0.056642354, -0.32332316, 0.049897127, 0.08399151, 0.683046, -0.16349371, -0.4878456, -0.097749546, 0.7214421, -0.2821467, -0.16691755, 0.3712332, -0.71557045, 0.40365914, 0.37325174) * g_2; + result += mat4(-0.333854, 0.11971563, -0.26533902, -0.033346854, 0.09896302, -0.19311592, -0.006087015, -0.104003794, 0.05347405, -0.16057043, 0.15876219, 0.1538847, -0.07954591, 0.24062383, -0.025401022, -0.33599105) * g_3; + result += mat4(0.11794056, -0.0031797416, 0.08360105, 0.12222232, -0.16638078, 0.26014742, -0.047267277, -0.27900735, 0.17616066, -0.12788172, 0.22856903, -0.39034957, -0.36313176, 0.12272574, 0.2235959, -0.31102005) * g_4; + result += mat4(0.03297161, 0.19597028, -0.068131894, -0.059938233, 0.18935929, -0.12004069, 0.08705267, 0.26411813, -0.021374375, 0.24630849, -0.08980925, 0.15982057, 0.3533297, -0.15414584, -0.19008748, 0.11310849) * g_5; + result += mat4(-0.4622819, 0.31923467, -0.38989246, 0.5539857, -0.035433546, -0.12729715, -0.0669769, -0.048216928, -0.32078394, 0.26958883, 0.08897814, -0.31043166, 0.26743132, 0.38835636, -0.30535862, -0.22241123) * g_6; + result += mat4(0.47431698, -0.755935, -0.075302646, 0.27771655, 0.052087527, -0.17221431, 0.0008429987, 0.15527548, -0.04587466, -0.11802989, 0.39905685, -0.07758683, -0.11415051, 0.004637339, -0.19803126, 0.19956517) * g_7; + result += mat4(0.36277947, -0.13364364, 0.18459712, -0.1705512, -0.46083033, 0.43629453, 0.112646095, -0.18511245, 0.037818372, 0.1220617, -0.22268273, -0.11983507, -0.5432721, -0.2102279, -0.014456884, 0.16428374) * g_8; + result += mat4(0.22811654, 0.16262956, 0.18411161, 0.49102694, -0.15078211, -0.6144134, -0.11632199, 0.2740543, -0.11322067, -0.16751853, 0.18453367, 0.14305107, 0.36418238, -0.34248996, -0.055178564, 0.37168074) * g_9; + result += vec4(0.07878663, -0.045328207, -0.07142425, -0.006036755); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x40 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf1 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.35645446, -0.01804877, -0.53608185, 0.32968932, 0.13975728, -0.1716116, 0.09503091, -0.12088551, 0.30239868, 0.9217966, 0.016221086, -0.26894137, -0.0047026747, 0.54764843, -0.2826915, 0.0016894634) * g_0; + result += mat4(-0.15123259, 0.2014175, 0.05961645, -0.32386652, -0.25275725, 0.3658508, -0.104193784, -0.02756655, 0.2696138, 0.17608197, 0.17685752, 0.6808081, -0.40293297, 0.48387393, 0.25278264, 0.28291366) * g_1; + result += mat4(-0.18928573, -0.18908137, 0.47045723, 0.5454373, 0.31339395, -0.0064702537, -0.37307036, -0.37479213, 0.2235379, -0.370863, 0.02827034, 0.024350066, -0.32538193, -0.33686417, 0.8949382, 0.3324315) * g_2; + result += mat4(-0.17215039, -0.14995, -0.4451278, 0.30758965, 0.21607, 0.08995007, 0.09553425, -0.21233945, -0.14442022, 0.09295349, -0.29228872, -0.3875935, 0.11704046, -0.4206096, 0.35226774, -0.08189522) * g_3; + result += mat4(-0.12517966, 0.060051568, -0.38888076, 0.08354471, 0.17010468, -0.34286287, -0.06961373, 0.032387406, -0.025718998, -0.1661844, -0.075671494, 0.10289619, -0.28309906, -0.14461538, 0.22726184, 0.4752376) * g_4; + result += mat4(0.15411675, 0.17533994, 0.3406641, -0.0597274, -0.21072194, 0.1517182, 0.032032263, 0.18653658, 0.20970167, -0.10793765, -0.05335404, -0.095203936, 0.2917104, -0.1170929, -0.11652503, -0.46912733) * g_5; + result += mat4(-0.272871, 0.07467413, 0.16981912, 0.57318956, 0.35038894, -0.06679483, 0.3777534, -0.01522816, 0.2588504, -0.008976239, 0.31769443, 0.07070477, 0.059302222, 0.28855336, -0.14700443, -0.08605704) * g_6; + result += mat4(-0.27067363, -0.2191635, -0.2377148, -1.0028448, -0.25673935, 0.10997322, -0.39032057, 0.06524818, 0.5248202, 0.40049195, 0.6711809, 0.2878331, 0.19606547, -0.092196286, 0.27838528, 0.03120515) * g_7; + result += mat4(0.3029178, -0.027027214, 0.13855064, -0.16550988, 0.2354576, -0.1715326, 0.12981784, 0.5013446, 0.24411377, -0.13030572, -0.08595908, -0.104394995, 0.16794646, -0.044388745, 0.2807999, 0.39108425) * g_8; + result += mat4(-0.05535261, -0.15662162, 0.14935054, 0.10706811, 0.026958441, -0.15323113, -0.19261432, -0.24361719, -0.2607876, 0.038486157, -0.04509224, 0.18722118, -0.14478058, 0.03614682, -0.12608361, -0.5203596) * g_9; + result += vec4(-0.17363991, 0.071162574, -0.09289675, 0.013446863); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!SAVE conv2d_8_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.162897, -0.21250516, -0.11219427, 0.30969706, 0.078927204, -0.14922144, 0.5486932, 0.2884913, 0.07018745, 0.45946357, -0.23759702, -0.18914284, 0.19762751, 0.56881535, -0.2141465, 0.27216902) * go_0(-1.0, -1.0); + result += mat4(-0.17507325, -0.577772, -0.46351492, 0.09431303, 0.023881523, -0.068162896, -0.0029204858, -0.076631226, -0.07645065, 0.28997856, -0.0349899, 0.087704636, 0.29194608, 0.7767595, 0.17478088, -0.295144) * go_0(-1.0, 0.0); + result += mat4(0.23039296, -0.000184939, -0.032427344, 0.0926983, -0.4264918, -0.44138262, 0.39098918, -0.0102598835, 0.066287994, 0.15478721, -0.062338993, 0.15079321, 0.120016515, 0.7005824, -0.12260436, 0.090042405) * go_0(-1.0, 1.0); + result += mat4(0.014269367, 0.21645544, -0.4203915, 0.0077638677, -0.18618487, 0.30165052, 0.6985895, -0.014695781, -0.071353786, -0.49996287, -0.79902583, -0.06343025, 0.291085, 0.28801495, 0.46547806, 0.1311194) * go_0(0.0, -1.0); + result += mat4(0.17163453, 0.21760814, -0.67896426, 0.1487859, 0.05881719, -0.08391752, 0.44536906, 0.24853623, -0.7685656, 0.45705163, -1.0204223, 0.1884743, -0.3251896, -0.49221343, 0.38116506, -0.09428967) * go_0(0.0, 0.0); + result += mat4(0.2759429, 0.22141403, -0.13269989, 0.06833041, -0.29562923, -0.26589182, -0.34452415, 0.36388424, -0.3184807, 0.08254464, -0.15477169, 0.03237491, -0.34190834, -0.2777646, -0.15713428, -0.22231084) * go_0(0.0, 1.0); + result += mat4(-0.36887082, -0.34607458, 0.5719879, 0.09200919, 0.12724651, 0.20281908, 0.39280674, 0.09216231, 0.3126475, -0.0075341803, -0.046779484, 0.10883631, 0.20136468, 0.70330596, -0.024237871, -0.061087623) * go_0(1.0, -1.0); + result += mat4(-0.08114617, -0.02456657, 0.1287709, 0.5486885, -0.10143632, -0.39116892, 0.24008204, 5.8133483e-05, -0.36640543, -0.52113515, 0.3836287, 0.09541327, 0.01115865, -0.2044513, 0.07734024, -0.29509112) * go_0(1.0, 0.0); + result += mat4(0.25962162, -0.05327207, -0.28945914, 0.320823, 0.049143463, 0.011241379, 0.004193257, 0.3872085, -0.47137228, -0.44385332, -0.2591483, -0.20189615, 0.08729277, -0.14813553, -0.29911307, 0.0067013856) * go_0(1.0, 1.0); + result += mat4(0.13526323, 0.6637005, 0.09491454, -0.038491655, -0.5078187, -0.5782128, -1.0748478, 0.18678135, 0.16064858, 0.0795754, 0.116070546, 0.06408978, 0.085641995, -0.39126787, -0.16669247, -0.024058852) * go_1(-1.0, -1.0); + result += mat4(-0.30658495, -0.08933112, 0.38358685, -0.048228927, 0.050148476, -0.08750905, -0.5015779, 0.4012965, -0.068299964, 0.08993712, 0.03617703, -0.030809006, 0.05144756, -0.7659615, -0.33359128, 0.0054376507) * go_1(-1.0, 0.0); + result += mat4(-0.24894494, 0.08617524, -0.095747314, 0.14710969, -0.09528072, 0.19016005, 0.060339417, -0.059556015, 0.01127292, -0.021082405, 0.5204205, 0.23831797, -0.035384487, 0.001653611, -0.28902745, -0.0060615037) * go_1(-1.0, 1.0); + result += mat4(0.2978602, 0.2580722, 0.11472323, -0.06937241, -0.45087403, -0.35747236, -0.38835877, 0.22520676, 0.09162963, 0.50932664, -0.41183934, -0.08526183, -0.043625794, -0.27782285, -0.4119391, -0.339948) * go_1(0.0, -1.0); + result += mat4(-0.005034612, 0.010024151, 0.55194247, -0.16040643, 0.0072234212, -0.047230296, 0.011222393, -0.017184192, 0.2156304, 0.02429907, 0.41669923, -0.06159069, -0.39241523, 0.009254305, 0.35784644, -0.45379582) * go_1(0.0, 0.0); + result += mat4(-0.18008694, -0.35366225, 0.12110043, -0.102665015, 0.2763678, -0.61502653, 0.3051717, -0.23991431, 0.6076138, -1.142571, 1.2579885, 0.15013893, -0.13282573, -0.16185799, -0.26278257, 0.044563264) * go_1(0.0, 1.0); + result += mat4(-0.043284204, -0.1374118, -0.6523209, -0.1682561, -0.002918912, 0.2768846, 0.045174655, -0.046218265, 0.10686049, -0.004872297, 0.04118156, -0.07015327, -0.3329307, 0.19972506, -0.38307762, 0.11627049) * go_1(1.0, -1.0); + result += mat4(0.09306764, -0.5036807, -0.25358048, -0.033543527, 0.07199686, -0.28982875, -0.022885432, -0.078454, -0.0836088, -0.08261633, 0.38759607, 0.021209864, 0.09516953, -0.1896164, -0.12284774, 0.16532375) * go_1(1.0, 0.0); + result += mat4(0.27196047, -0.6199637, 0.12209493, -0.0055379267, -0.08997175, -0.0025996822, -0.20710677, 0.15223576, -0.07073166, -0.20732503, -0.044538528, 0.35751408, 0.33849528, -0.14603287, 0.19472563, 0.20992133) * go_1(1.0, 1.0); + result += mat4(0.018979501, 0.030001618, 0.09530055, -0.22441792, -0.11513775, -0.05383842, 0.042144198, -0.2824055, 0.20338169, 0.9622458, -0.20780474, 0.5217952, 0.11518432, 0.24126045, -0.046675194, -0.07326568) * go_2(-1.0, -1.0); + result += mat4(-0.13768856, 0.17157272, -0.32123035, -0.08968111, 0.011915078, -0.08129057, -0.71480066, 0.24239756, 0.5093838, 0.29058817, -0.07181868, -0.22533971, 0.24244072, -0.2716092, 0.03331018, 0.008624937) * go_2(-1.0, 0.0); + result += mat4(0.21304299, 0.5180637, 0.40324917, -0.078679435, 0.17033757, -0.4813804, -0.47702515, -0.017285354, -0.054009005, -0.5853617, -0.5427995, 0.13533083, 0.12440328, -0.6455633, 0.0012186684, 0.031838413) * go_2(-1.0, 1.0); + result += mat4(0.04057183, -0.27768528, -0.07563423, 0.13400203, -0.03429928, -0.32794374, -0.085426375, -0.3724642, -0.19195397, 0.1349262, -0.2909766, -0.43096116, 0.056601644, 0.5106557, -0.267059, -0.046354882) * go_2(0.0, -1.0); + result += mat4(0.14343774, -0.29267886, -0.2406526, -0.30307195, -0.10270894, 0.008828463, -1.5378821, 0.017785087, 0.48302534, -0.310974, 1.5381073, 0.08598342, 0.82111055, -0.0049781636, 0.4820726, 0.301231) * go_2(0.0, 0.0); + result += mat4(0.012052944, -0.090234, 0.52199095, -0.3329521, 0.110252894, 0.2897882, -0.37447298, 0.17326026, 0.18148576, -0.23976558, 0.1848407, 0.5042414, 0.33321953, 0.2712571, 0.18124644, 0.20849751) * go_2(0.0, 1.0); + result += mat4(0.066107936, 0.035174694, -0.1587501, -0.22672103, 0.012212267, -0.05451626, -0.6004301, 0.013387352, -0.04113352, 0.53583735, -0.15342614, -0.0018758774, 0.09947345, -0.18213694, 0.02965846, -0.044368513) * go_2(1.0, -1.0); + result += mat4(0.099831305, 0.2666737, -0.12301129, -0.113591194, 0.018106552, 0.290373, 0.1480011, 0.032558106, 0.0024403003, 0.11745559, 0.7669008, -0.18195944, 0.21291047, 0.49549788, -0.04361018, 0.6138144) * go_2(1.0, 0.0); + result += mat4(-0.24335642, -0.023037815, -0.22853605, -0.49450716, 0.04834612, 0.040727314, 0.36239302, -0.076259434, -0.08173315, 0.14689375, 0.3357786, 0.34003472, -0.11701219, -0.35594055, 0.55640507, 0.3573448) * go_2(1.0, 1.0); + result += mat4(0.039600838, -0.08580259, -0.25375724, -0.41294497, 0.052295998, 0.34286344, 0.23627926, 0.08080187, 0.0015981429, 0.37459275, -0.11763548, 0.027264152, 0.11372706, 0.34742436, 0.30963847, -0.2995273) * go_3(-1.0, -1.0); + result += mat4(-0.035936117, -0.42153218, -0.40176156, 0.20363232, 0.22382015, 0.48679677, 0.07365761, -0.20890754, 0.22791456, -0.28418672, -0.17189962, 0.0968373, -0.70834696, -0.41918173, -0.13482817, 0.037949625) * go_3(-1.0, 0.0); + result += mat4(0.11910686, 0.0473921, 0.37869528, 0.17928337, 0.17311068, 0.21572089, 0.34996882, -0.26002827, -0.014036688, -0.6574892, -0.14409806, -0.06467717, -0.33688435, -0.18185017, 0.04036214, 0.06086553) * go_3(-1.0, 1.0); + result += mat4(-0.15657301, -0.05661294, -0.36640826, -0.13215317, 0.060342815, 0.19098124, 0.18715985, -0.40765548, 0.090474375, -0.07720432, -0.016231487, 0.0885778, 0.0272616, 0.22065723, 0.1691866, -0.19491237) * go_3(0.0, -1.0); + result += mat4(-0.13054666, 0.3278881, -1.3170725, -0.4575742, -0.061401486, 0.15868792, 0.2789515, 0.13829961, 0.09607008, -0.7175924, 0.01804374, 0.41284522, 0.044577077, 0.04847126, -0.25607756, -0.02249741) * go_3(0.0, 0.0); + result += mat4(0.22145797, 0.8114419, -0.17527157, 0.09274125, -0.25224185, 0.2955128, -0.37553602, -0.17377761, -0.9684024, 0.42457148, -0.64265996, 0.10394252, -0.11231096, 0.064703405, 0.42858216, -0.21214609) * go_3(0.0, 1.0); + result += mat4(0.1910386, -0.0065560606, 0.18119961, -0.026436953, 0.07887997, 0.15127628, -0.11523928, -0.0679343, 0.031198656, 0.16947536, 0.05943052, 0.060350783, 0.32215032, -0.1347014, 0.017390233, -0.06527528) * go_3(1.0, -1.0); + result += mat4(-0.19811153, -0.033103824, 0.0053317053, 0.008003428, -0.020805335, 0.17872533, -0.3161484, -0.11559199, -0.24902378, -0.2596549, 0.034520704, -0.006125487, 0.13173361, -0.10967251, -0.7860965, -0.035326626) * go_3(1.0, 0.0); + result += mat4(-0.124631934, 0.21335506, 0.375809, -0.13598146, 0.047685858, 0.14553228, -0.068173625, -0.117949426, 0.07296198, 0.08935096, -0.26368606, 0.29653412, -0.27378097, 0.060699224, -0.09753418, -0.08484599) * go_3(1.0, 1.0); + result += vec4(-0.009278051, 0.62221414, 0.22868732, 0.14880095); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!SAVE conv2d_7_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.018128054, -0.14104486, -0.027475944, 0.22669935, -2.7264505e-05, 0.14775783, 0.13441783, 0.11450963, -0.09942102, 0.29735768, 0.04839269, -0.14066552, -0.024448555, 0.3104163, -0.03636913, 0.002947356) * go_0(-1.0, -1.0); + result += mat4(-0.20438337, 0.35419708, 0.037506625, 0.100693576, -0.074241616, -0.15304284, 0.0054191337, -0.12816934, 0.028913809, -0.098240785, 0.5653599, -0.38662913, 0.018716848, 0.0021957273, 0.061397206, -0.111899704) * go_0(-1.0, 0.0); + result += mat4(-0.18681246, -0.23609419, 0.21475013, 0.051762715, 0.04889926, -0.033886652, 0.26262638, -0.27322114, 0.049140245, 0.3380464, -0.13617653, -0.05796957, 0.080669545, 0.21348572, -0.10067047, -0.0016244814) * go_0(-1.0, 1.0); + result += mat4(0.025566151, -0.027286734, -0.10856872, 0.108885765, -0.07635088, 0.13037659, 0.2892404, -0.2160093, -0.30649704, 0.34650138, -0.021391464, 0.08717436, -0.02000013, 0.027722841, 0.43060175, -0.04844848) * go_0(0.0, -1.0); + result += mat4(0.09925131, -0.11167345, -0.14262813, -0.21267861, -0.15972298, -0.1823657, -0.073309824, 0.15542479, 0.005081145, -0.40594074, 0.24862696, 0.19943975, -0.36283687, -0.38990027, 0.4759463, 0.45561194) * go_0(0.0, 0.0); + result += mat4(-0.13126811, 0.24284562, 0.06109369, -0.15402594, 0.016967572, -0.08234942, -0.053873185, 0.026438333, 0.13412815, -0.10839792, -0.345438, 0.0720746, 0.21260333, -0.15989558, -0.012461376, 0.20363508) * go_0(0.0, 1.0); + result += mat4(0.09231617, 0.17787862, 0.22783166, 0.09095521, -0.0935426, -0.22921127, 0.2591894, -0.19451278, -0.0046325484, -0.60839254, 0.061737422, -0.024267042, -0.04048761, 0.2450175, 0.14390652, 0.07999217) * go_0(1.0, -1.0); + result += mat4(-0.09204067, -0.05434134, 0.32136026, -0.053413626, 0.044170942, 0.10284346, 0.10827547, -0.03207593, -0.036979157, -0.37019014, -0.07072617, 0.07745549, 0.026007036, 0.13402742, 0.22873925, -0.09879518) * go_0(1.0, 0.0); + result += mat4(-0.039409183, -0.15304323, 0.110744946, 0.04479048, 0.073402554, -0.31955537, 0.13518381, 0.09020946, 0.21437532, -0.08866372, 0.062359575, -0.08147204, -0.012339588, 0.038986444, -0.059496317, 0.04353628) * go_0(1.0, 1.0); + result += mat4(-0.029447578, 0.18052183, 0.026130654, -0.18024941, -0.2357611, 0.92272073, -0.40873498, 0.3829195, -0.049990416, -0.2626007, 0.07313907, -0.20231684, 0.23846717, 0.06304234, -0.072538964, 0.34895507) * go_1(-1.0, -1.0); + result += mat4(-0.21427542, 0.33398184, 0.19135003, -0.079177245, -0.047564022, 0.25006044, 0.19287021, -0.07119212, -0.0064072064, 0.14020945, -0.15136649, -0.04587045, -0.113710366, 0.05126853, -0.084781885, 0.1418395) * go_1(-1.0, 0.0); + result += mat4(0.04655672, -0.010115347, 0.18253572, 0.017085062, -0.04543099, 0.08404545, 0.07929449, 0.17069206, -0.045596916, 0.12133366, 0.12615037, -0.11942128, -0.07431312, -0.0975234, 0.17188828, -0.021951154) * go_1(-1.0, 1.0); + result += mat4(0.013333504, -0.22424631, -0.25461286, -0.09366057, -0.24168679, -0.1413706, -0.084172204, 0.1557298, 0.023721283, 0.18159337, -0.029377997, -0.12690134, -0.07779016, 0.49728185, 0.060146395, 0.17318316) * go_1(0.0, -1.0); + result += mat4(0.08302447, 0.86936367, -0.17584775, -0.2508983, 0.16770333, 0.106514744, 0.056097895, -0.1516464, -0.04237734, 0.3350473, 0.08797126, 0.053822745, 0.36157215, -0.04365805, -0.20060433, -0.23983552) * go_1(0.0, 0.0); + result += mat4(0.09215062, 0.0729301, 0.2564446, -0.09456067, -0.04279617, 0.009632537, -0.067693666, 0.07115211, -0.58410543, 0.7954688, -0.6856004, -0.0039867237, 0.05259691, -0.19899113, 0.34015554, -0.1301164) * go_1(0.0, 1.0); + result += mat4(-0.08229732, 0.22852908, -0.17944984, -0.053203765, 0.01401186, -0.01731911, -0.017196467, 0.017660033, -0.06473575, 0.11841842, -0.09651762, 0.08812678, 0.15789783, 0.41068667, -0.17433365, 0.112683386) * go_1(1.0, -1.0); + result += mat4(0.19192256, -0.048173536, -0.27452058, -0.086614236, 0.03459962, -0.076093, -0.13129567, 0.10529364, -0.003243667, -0.11558274, 0.15014142, -0.11415493, -0.058378108, -0.23308878, 0.016655494, -0.06092205) * go_1(1.0, 0.0); + result += mat4(0.053656723, -0.2520498, -0.06450468, 0.14063323, -0.07785553, 0.06996582, 0.043691944, -0.09447727, -0.19854756, 0.08710172, 0.103271045, -0.20072943, -0.10393605, -0.19852036, -0.01656043, 0.19936512) * go_1(1.0, 1.0); + result += mat4(-0.043692272, -0.15573448, -0.07609012, -0.25906095, 0.042468645, 0.06499704, 0.021691361, -0.14418614, 0.007778065, -0.04098781, 0.16854198, 0.1880123, -0.0024735837, -0.38171276, 0.29813913, -0.13975172) * go_2(-1.0, -1.0); + result += mat4(0.0786739, -0.13743922, -0.16762766, 0.0551441, -0.16237186, 0.47069517, -0.16434868, 0.38760075, 0.29262593, 0.21078295, 0.1564407, -0.19921672, -0.07819381, 0.045407712, 0.25388238, 0.12049804) * go_2(-1.0, 0.0); + result += mat4(0.13686253, 0.15139718, -0.14193471, -0.037212268, 0.017021572, -0.13029522, -0.07875422, 0.22883393, -0.117323294, -0.11999564, 0.074406326, 0.029792523, 0.071242705, 0.04940517, 0.27540857, 0.094216466) * go_2(-1.0, 1.0); + result += mat4(0.05651692, -0.09319446, -0.15223487, -0.16004439, 0.09602424, 0.114855476, 0.13851804, 0.11632249, -0.15697844, -0.03465572, -0.6334014, 0.0043645306, -0.13810518, -0.24692737, -0.13962403, -0.17288178) * go_2(0.0, -1.0); + result += mat4(-0.1125169, 0.2582768, 0.14571975, 0.3412717, 0.046649273, 0.053606547, -0.5402628, -0.14801335, -0.12299524, 0.79026186, -0.3587726, -0.040698707, 0.18239951, 0.18461016, -0.13213885, -0.6929199) * go_2(0.0, 0.0); + result += mat4(-0.009360833, 0.22758053, -0.334423, 0.35250792, 0.05025162, -0.1640276, 0.21909785, -0.12123492, -0.33830088, -0.26451996, 0.09280175, -0.18673559, -0.20446195, 0.13918248, 0.09164517, -0.20213476) * go_2(0.0, 1.0); + result += mat4(-0.03443797, -0.25032473, -0.0018426777, -0.065064386, 0.03455914, 0.022166712, -0.2954429, 0.012212829, -0.0223488, 0.1161553, -0.106024936, 0.028343895, 0.15230536, -0.5538007, -0.24089493, 0.06740007) * go_2(1.0, -1.0); + result += mat4(0.09501347, -0.0845406, -0.13952151, 0.031915456, 0.05118853, -0.25089842, -0.113984115, 0.08745874, 0.14493734, 0.17449388, 0.037183553, 0.060414817, 0.045083977, -0.50209135, -0.25451177, 0.23309624) * go_2(1.0, 0.0); + result += mat4(0.08991499, 0.14019197, -0.12056033, -0.05024532, -0.07585356, 0.073596515, 0.017992107, -0.0009288775, -0.17292187, 0.07525249, 0.14620323, -0.058494095, 0.09669742, -0.28342497, 0.10102461, 0.0075472025) * go_2(1.0, 1.0); + result += mat4(-0.059322756, 0.07296391, -0.22688308, 0.17183779, 0.0921908, -0.18311407, -0.10553935, -0.2998603, -0.05373476, -0.08882287, 0.009316159, -0.09303765, 0.08415284, -0.044707574, 0.07481887, 0.06931905) * go_3(-1.0, -1.0); + result += mat4(-0.26374707, 0.17429374, -0.54841083, 0.23039351, 0.1550329, -0.0991982, -0.07031106, -0.23306605, -0.076208115, 0.058818877, 0.48602778, -0.116065495, 0.13632986, 0.5399192, -0.088733315, -0.04031161) * go_3(-1.0, 0.0); + result += mat4(-0.118198454, -0.04607605, -0.10619185, 0.034395956, 0.0023600461, 0.1470174, -0.21100855, -0.024570175, -0.0016899678, 0.1612513, -0.03985272, 0.01355469, 0.30949214, -0.056687307, 0.1295898, 0.031099077) * go_3(-1.0, 1.0); + result += mat4(-0.37869355, 0.06961967, 0.2779311, 0.3090361, 0.23564096, -0.014765556, -0.097406775, -0.08233581, -0.05444356, -0.056364074, -0.13940345, -0.1710778, 0.053456437, -0.5668305, -0.21371025, -0.11354647) * go_3(0.0, -1.0); + result += mat4(-0.2009931, -0.46823156, 0.04674297, -0.33720648, -0.48212242, -0.022402052, 0.4083246, 0.3498801, -0.12801081, 0.080993176, 0.12559398, 0.30281347, -0.36876208, -0.19425368, 0.040795308, 0.4358033) * go_3(0.0, 0.0); + result += mat4(-0.008429336, -0.007929484, -0.21348138, 0.19799937, -0.0032136212, -0.037011284, 0.060586747, -0.012355498, 0.37488303, -0.626778, 0.45391387, -0.030982537, 0.26613617, -0.027296683, -0.094556324, 0.03054091) * go_3(0.0, 1.0); + result += mat4(-0.0032568173, -0.3056237, 0.0007252052, 0.052250773, -0.05099108, 0.23182255, -0.044636346, 0.08786388, -0.12470104, -0.16238213, 0.16018245, -0.11313074, -0.044513255, -0.2792024, 0.13793966, -0.20955163) * go_3(1.0, -1.0); + result += mat4(-0.14750522, -0.022307748, -0.15649515, 0.15537989, -0.061475005, 0.19822353, 0.0671258, -0.06628393, -0.04068137, 0.22010179, 0.12955783, -0.0517817, 0.02655539, 0.17269138, -0.1296634, 0.030146338) * go_3(1.0, 0.0); + result += mat4(0.061146796, 0.31339607, 0.034430694, 0.10376425, 0.03029668, -0.0401898, -0.1825413, 0.06257798, 0.08390942, -0.31551626, 0.010347497, -0.0031549276, 0.21435012, -0.13221692, -0.021980911, -0.1482502) * go_3(1.0, 1.0); + result += vec4(0.039428633, 0.032666046, 0.16482623, -0.016402772); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x48 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_10 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.13591515, 0.21395922, 0.040862843, 0.3054825, -0.088837944, -0.6928339, -0.15643471, 0.13081591, 0.07604966, 0.37446347, -0.34723157, -0.17870799, -0.2037286, -0.106576756, 0.25523958, -0.13762575) * g_0; + result += mat4(0.21503459, 0.0373132, -0.008046219, -0.18440363, -0.09729587, 0.043958187, 0.23459528, -0.044009138, 0.1686642, -0.1615934, -0.13173419, -0.079085656, -0.07647595, -0.37286422, -0.06148421, 0.015342882) * g_1; + result += mat4(-0.14785692, -0.2707874, -0.017647093, -0.2908642, 0.5612585, 0.4271698, -0.48191005, 0.11905855, -0.21741737, -0.2821245, 0.29278705, -0.20538986, 0.03150152, 0.03138199, 0.10423793, -0.045527548) * g_2; + result += mat4(0.31277063, 0.07915742, -0.34087706, 0.39680582, -0.022496004, -0.33672526, -0.111507386, 0.025953399, -0.15757395, 0.11465282, 0.28329894, 0.12420795, -0.36261007, 0.46334505, 0.30303243, -0.03249052) * g_3; + result += mat4(0.57927984, 0.06878386, -0.24236098, 0.31338137, 0.10464923, -0.07153124, 0.13588428, -0.02373762, -0.19124955, -0.1138502, 0.17388438, 0.01707623, -0.24228282, 0.04736911, 0.6398566, -0.32334659) * g_4; + result += mat4(-0.54402775, -0.24674532, 0.11212342, -0.09593871, -0.17339998, 0.1323692, -0.1680261, 0.025882099, -0.19121705, 0.1832492, -0.08548955, -0.14068407, 0.13255714, 0.10409962, -0.01394588, 0.22216345) * g_5; + result += mat4(0.2702694, -0.56255573, -0.5357781, 0.05541389, 0.070275396, -0.08012564, -0.13473864, -0.113696516, 0.06642909, 0.23810093, 0.0728827, -0.17656006, 0.48172018, -0.25749484, -0.1752313, 0.33768335) * g_6; + result += mat4(0.46950498, 0.059317388, -0.09860531, -0.006304164, -0.4128484, -0.049649406, 0.2954393, -0.190237, -0.20938443, 0.034176145, 0.063109055, 0.07802573, -0.20652357, -0.23180202, -0.11936575, 0.2589604) * g_7; + result += mat4(0.3843954, -0.08686217, 0.18839231, 0.01876761, -0.03335079, -0.12043262, -0.42323095, -0.02321388, -0.22252762, -0.049455926, 0.2268798, 0.082169, 0.2473631, 0.23347862, 0.002254042, 0.2757807) * g_8; + result += mat4(0.1020188, -0.037612554, -0.33062017, 0.1570476, 0.19851524, 0.35976177, -0.016449552, 0.22057539, 0.20401593, 0.07004227, -0.062413715, -0.10547836, 0.14671406, -0.3905135, -0.038352408, -0.28926837) * g_9; + result += mat4(0.4110517, 0.06280497, 0.16709873, -0.49500167, -0.10045096, -0.2238529, 0.012172345, 0.19666891, -0.16135901, 0.017100533, 0.35809904, 0.35188627, 0.20347194, -0.14602524, 0.71737736, 0.14195462) * g_10; + result += mat4(-0.5236819, 0.4352016, -0.4066126, -0.04252335, 0.1086945, 0.145471, 0.21984594, -0.24670586, -0.07109616, -0.2711473, -0.89353126, -0.3953869, 0.17096898, 0.12978637, -0.42527854, -0.019720567) * g_11; + result += vec4(-0.027689768, -0.16386859, -0.009289161, 0.09287236); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x48 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf1 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_10 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.19380243, 0.020101497, 0.021015864, 0.40521726, 0.038862754, -0.3473658, 0.22289194, -0.2075226, -0.15960178, 0.20686232, -0.19066268, -0.24524036, -0.19289994, -0.6356018, 0.040245753, -0.22887161) * g_0; + result += mat4(-0.06837712, -0.59243137, 0.08107887, -0.18099897, 0.08890105, -0.20113088, 0.0076543097, -0.28404838, -0.39403212, 0.124420464, 0.07661543, -0.16511264, 0.440653, 0.17841326, -0.40957427, -0.055862557) * g_1; + result += mat4(-0.052128255, -0.17906874, -0.0063690864, -0.3027001, -0.12118662, 0.5986499, -0.35075194, 0.11334461, -0.13089949, 0.48732534, 0.31238684, 0.0636065, 0.21470545, -0.12680373, 0.20702313, -0.14277203) * g_2; + result += mat4(-0.13521394, 0.5266374, -0.4765612, 0.32102558, -0.07704129, -0.26604977, 0.36475307, 0.27245706, 0.16729634, -0.04975267, 0.18763311, 0.07594951, -0.20137721, 0.07614109, -0.056586545, 0.35838535) * g_3; + result += mat4(0.22150421, -0.023909386, -0.30742592, 0.54860467, 0.038963366, -0.47929683, 0.001491465, -0.2016597, 0.14891255, -0.12298715, 0.12770613, 0.16882578, 0.52988553, -0.34417477, -0.11196754, 0.038432673) * g_4; + result += mat4(0.10892675, 0.15687913, 0.4061297, -0.2549851, -0.12231971, 0.7066191, -0.038577385, 0.1871752, -0.23520122, 0.6384404, -0.04857454, -0.23879313, -0.26810166, -0.08090798, 0.3287431, 0.15214305) * g_5; + result += mat4(0.16076286, 0.08942198, 0.79264593, -0.5107746, -0.10051664, -0.18325275, 0.31161344, 0.023725776, 0.09911152, 0.1552438, -0.22447744, -0.2995641, 0.27984253, -1.107023, 0.010454479, 0.6606262) * g_6; + result += mat4(0.041668475, 0.16935597, -0.11855577, 0.2013473, 0.2991738, -0.38238418, 0.17906274, -0.27559698, -0.4381387, 0.39814267, -0.40905684, 0.57992136, 0.2830281, 0.12482517, -0.30402762, 0.47808015) * g_7; + result += mat4(0.05201121, 0.3396993, -0.04965309, -0.25744373, -0.13495848, -0.120026626, 0.15645088, -0.20658544, 0.414069, -0.03110071, 0.070210315, 0.028046172, -0.17324251, 0.14329922, -0.14353131, 0.028436944) * g_8; + result += mat4(-0.15607943, 0.98266315, -0.15506491, 0.34884667, -0.16584046, 0.07532187, 0.0062847883, 0.8719761, -0.30521882, -0.34961814, -0.055313803, 0.041199762, 0.2634066, 0.31106153, 0.029962108, -0.017541675) * g_9; + result += mat4(0.1285044, 0.41011113, 0.16163284, -0.40202442, 0.33554438, -0.2626098, 0.18437132, 0.06627138, 0.26390168, -0.23918642, -0.17191365, -0.16348109, 0.30074367, -0.99079835, 0.60264456, 0.050881945) * g_10; + result += mat4(0.3971443, -0.034655187, 0.11870823, 0.39984652, -0.45068088, -0.054210827, -0.27554438, -0.16074227, -0.14983663, 0.35434055, 0.42479035, 0.07799301, -0.4260275, 0.66214204, -0.095251344, 0.09080398) * g_11; + result += vec4(-0.012729538, -0.13335368, 0.14840336, 0.025965473); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!SAVE conv2d_11_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.22341304, 0.26908797, 0.04134543, 0.06961319, 0.32176727, 0.07702703, 0.03751845, -0.13761088, -0.09979559, 0.06891045, -0.01716057, -0.031486046, -0.016294012, 0.0262252, 0.012725462, -0.054174248) * go_0(-1.0, -1.0); + result += mat4(0.0758998, 0.044578414, -0.058127478, -0.04941571, 0.1685694, 0.9547572, 0.3217995, 0.04913146, 0.08628588, -0.49687696, 0.05530926, -0.19010891, 0.0077229803, 0.3938303, 0.18076055, -0.048131783) * go_0(-1.0, 0.0); + result += mat4(0.03656385, 0.23112705, 0.13059878, 0.16223684, -0.2766845, 0.053392846, 0.06446786, 0.19696166, -0.14884388, -0.23103243, -0.07006061, -0.021727445, 0.026394684, -0.31138313, -0.0976933, -0.062459927) * go_0(-1.0, 1.0); + result += mat4(-0.36985022, -0.3396681, 0.035750575, 0.019713784, 0.10074354, -0.34114882, -0.01150834, -0.1436701, -0.36870074, -0.3272402, -0.03879516, -0.094077155, 0.016875539, 0.23895474, -0.14396004, -0.06785279) * go_0(0.0, -1.0); + result += mat4(0.057131216, -0.5966212, -0.13011967, -0.3684052, 0.6414469, 0.45823926, 0.043126952, -0.12702179, 0.029217511, 0.43957123, 0.06747733, 0.35508418, -0.13576074, 0.28117993, 0.1785782, 0.20060769) * go_0(0.0, 0.0); + result += mat4(0.112133466, 0.2773932, -0.047416527, -0.06561597, 0.093935706, 0.032524325, 0.02208551, 0.10400939, -0.0062363064, 0.20578235, 0.124429, 0.045867924, 0.024913216, -0.07508951, -0.1506746, -0.07368737) * go_0(0.0, 1.0); + result += mat4(0.029188056, 0.13675697, -0.10047892, -0.15162368, 0.11152231, 0.17758776, 0.04638467, -0.15375991, -0.08195171, -0.00092798605, -0.11137887, -0.20476487, -0.06701632, -0.38742077, 0.10833869, 0.07575963) * go_0(1.0, -1.0); + result += mat4(0.12579612, -0.13082299, 0.022704111, -0.049295194, 0.02813974, 0.06766161, 0.021488592, -0.22899324, -0.13967377, -0.42789128, -0.15561862, -0.13880157, -0.31957027, -0.051553562, -0.15501565, -0.17607704) * go_0(1.0, 0.0); + result += mat4(-0.014785312, -0.3358245, 0.09859993, 0.17852743, 0.06758491, 0.040827237, -0.014897847, -0.027630018, -0.041637477, -0.10967412, -0.10507281, 0.058183335, -0.01929858, 0.09047934, -0.19679205, -0.16896065) * go_0(1.0, 1.0); + result += mat4(-0.19059956, 0.059083544, -0.07367043, 0.10374235, -0.12928921, 0.16821185, 0.03542259, 0.07853399, -0.029948441, 0.045060057, 0.10522493, 0.15548709, 0.13417992, 0.12784965, 0.068737574, 0.024369959) * go_1(-1.0, -1.0); + result += mat4(-0.2539489, -0.15361321, -0.024794202, 0.23387837, -0.021986792, 0.035640705, -0.053465687, 0.041275553, -0.12349385, 0.11599216, -0.12158652, -0.0016647653, 0.03552641, 0.15126309, 0.10521408, 0.022221778) * go_1(-1.0, 0.0); + result += mat4(-0.09391041, 0.21640098, 0.06468435, 0.021124857, -0.017427467, 0.14731239, 0.0888631, 0.06669842, 0.16802992, -0.042000934, -0.007442969, -0.17762569, -0.106376246, -0.007006815, 0.048836768, 0.07634349) * go_1(-1.0, 1.0); + result += mat4(-0.08242374, -0.35055616, 0.11752318, 0.06287576, -0.08078838, 0.015269983, 0.07802465, 0.036515962, -0.047435157, -0.23535018, 0.10882656, 0.00760307, 0.20816213, 0.16291322, -0.17480974, -0.09656055) * go_1(0.0, -1.0); + result += mat4(0.3776239, 0.48836887, 0.046571143, -0.0005301381, 0.111404456, -0.2056147, 0.0976322, -0.07087254, -0.23208277, 0.64508325, 0.029519977, -0.32163903, 0.12203931, 1.2488136, 0.0713469, -0.12589021) * go_1(0.0, 0.0); + result += mat4(-0.1458724, -0.2927259, -0.11825573, 0.050236594, 0.005908592, 0.009147886, 0.014676971, -0.09960781, -0.031219782, 0.0008116867, -0.16999915, -0.08393424, -0.017762119, 0.15271363, 0.17894958, 0.104973435) * go_1(0.0, 1.0); + result += mat4(0.15102111, -0.017580042, -0.009878415, 0.09603493, -0.14158034, 0.01766169, 0.026301328, 0.14016923, 0.07513633, 0.12250821, 0.14139763, 0.119470306, 0.056335848, 0.011718554, -0.051952817, -0.1087701) * go_1(1.0, -1.0); + result += mat4(0.12267096, 0.22258927, -0.23374331, -0.336529, -0.03149633, -0.26095635, 0.00365308, 0.048830956, 0.035902984, -0.04686918, -0.08079191, -0.17013429, 0.0254567, -0.05592242, 0.0968047, 0.07426071) * go_1(1.0, 0.0); + result += mat4(-0.16953564, 0.074455656, 0.0029755495, 0.20576377, -0.050961535, 0.060958825, 0.014226229, 0.104992926, 0.06942283, 0.29077423, 0.040234245, 0.12337425, -0.012045997, -0.11109262, 0.020255094, 0.08945579) * go_1(1.0, 1.0); + result += mat4(0.2978639, -0.24613461, -0.083074145, -0.2367985, -0.13995647, -0.21201506, -0.16809967, -0.08163256, 0.22451796, -0.21319884, 0.097241744, 0.17276905, 0.059754357, -0.21800114, 0.016986718, 0.059852242) * go_2(-1.0, -1.0); + result += mat4(0.10399378, 0.016165858, 0.006949626, -0.00957426, -0.07206657, 0.85400176, -0.069736175, 0.11563255, -0.15550873, 0.21035826, -0.09730208, 0.21803263, -0.029731166, 0.07174115, -0.075019605, 0.06605764) * go_2(-1.0, 0.0); + result += mat4(0.008660154, -0.1689362, -0.13275097, -0.14157207, -0.06571528, 0.2641335, 0.17738026, 0.016201235, -0.058384545, -0.089386165, -0.10691102, 0.03380599, 0.07696467, 0.010921241, -0.05858657, 0.044599395) * go_2(-1.0, 1.0); + result += mat4(0.29438433, 0.39757052, -0.12448894, -0.14726874, 0.054101802, 0.19893955, 0.0081761405, -0.030686913, -0.09465847, -0.09517581, 0.0046200817, 0.2743172, 0.18768987, 0.2577441, 0.3185588, -0.0043636197) * go_2(0.0, -1.0); + result += mat4(0.30364004, 0.45719072, -0.002478791, -0.25550374, 0.044718135, 0.9974692, 0.27661783, 0.38724384, 0.20643012, -0.36335453, 0.04044719, -0.15773767, 0.019318745, -0.015368104, -0.13033883, -0.21446472) * go_2(0.0, 0.0); + result += mat4(0.17225221, -0.2870429, -0.11031537, -0.20985241, -0.1813215, 0.47034717, 0.19177493, 0.1565604, -0.22090979, -0.1778559, -0.15998572, 0.20591277, -0.27751637, -0.17734572, -0.22385214, 0.2001247) * go_2(0.0, 1.0); + result += mat4(0.09103924, 0.012440279, -0.11811386, -0.28955194, -0.024203198, -0.014690502, -0.041423846, 0.0062359073, 0.06732812, -0.040848043, -0.0807372, -0.06598595, -0.020464217, 0.35617942, 0.054869782, -0.06990699) * go_2(1.0, -1.0); + result += mat4(-0.22022852, -0.30250633, -0.008539953, -0.17535509, 0.048545327, -0.06961757, 0.1520779, 0.15551318, 0.145789, 0.41386685, 0.19608185, 0.02285933, 0.19650589, 0.1140758, 0.058065582, 0.06438903) * go_2(1.0, 0.0); + result += mat4(0.17500387, 0.009752107, -0.08735754, -0.40322778, -0.04718948, -0.1520063, 0.015334469, 0.055586398, -0.06315823, 0.01381341, 0.06333497, 0.20780154, -0.14789844, 0.008873181, 0.20424104, 0.18570045) * go_2(1.0, 1.0); + result += mat4(0.17809622, -0.054737452, 0.045792647, -0.05761767, 0.1530876, -0.058534857, -0.008100565, 0.036446143, 0.27693272, 0.3004126, -0.1283306, -0.50103384, -0.3350802, 0.09919993, -0.10481551, 0.059236333) * go_3(-1.0, -1.0); + result += mat4(0.08178473, 0.01796507, 0.045470674, -0.1395204, -0.07053285, -0.15308544, -0.016434597, 0.09957456, 0.07303232, 0.5558379, 0.1058254, -0.12340164, -0.37540868, 0.20688659, 0.11254531, 0.08988308) * go_3(-1.0, 0.0); + result += mat4(-0.115479395, -0.04145597, -0.02444945, -0.0012505532, -0.016777854, -0.21254961, -0.11969028, -0.10986302, 0.34061527, 0.35168666, 0.19457188, -0.25304377, 0.089430355, -0.13593785, -0.03715568, -0.07161111) * go_3(-1.0, 1.0); + result += mat4(0.135465, 0.16024914, -0.16819438, -0.076060556, 0.14722055, -0.12402309, -0.091675736, -0.11345004, 0.3370019, 0.21161243, 0.08165217, 0.26650387, 0.11799823, 1.1248134, 0.031586587, 0.40626523) * go_3(0.0, -1.0); + result += mat4(-0.3881156, 0.075572714, -0.2955678, -0.04820779, -0.14431494, 0.17108414, -0.031334974, 0.14272547, 0.10431918, -0.92185026, -0.550305, -0.09849551, -0.19279402, 0.47034186, 0.38574138, 0.5469418) * go_3(0.0, 0.0); + result += mat4(0.07301299, -0.1655295, 0.0851716, 0.0349889, 0.037978686, -0.34476924, -0.09894407, -0.09279173, -0.017504893, 0.16626996, 0.23299451, -0.29538614, -0.035250418, 0.102075204, 0.014679606, 0.05283856) * go_3(0.0, 1.0); + result += mat4(0.082496785, -0.047353677, -0.1036778, -0.014507561, 0.091381975, -0.07229443, -0.03069601, -0.07463806, 0.2173226, 0.061551273, 0.01672064, 0.065622196, 0.1645865, 0.08651663, 0.18979368, 0.2012662) * go_3(1.0, -1.0); + result += mat4(-0.2116467, -0.26988897, -0.049475558, 0.18609211, -0.08837133, -0.219245, 0.05900789, -0.007832284, -0.028579885, 0.20587349, -0.07297767, -0.19551088, 0.052455146, -0.24630548, 0.12438646, -0.017073039) * go_3(1.0, 0.0); + result += mat4(0.15815273, -0.13286865, -0.036927793, -0.118895106, 0.06876401, -0.08193885, -0.073907554, -0.17851423, 0.025570622, -0.05206693, 0.0054880823, -0.14550385, 0.031355973, -0.0617539, -0.09522895, 0.007602468) * go_3(1.0, 1.0); + result += vec4(0.10656278, 0.12657918, 0.16990805, -0.12699938); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!SAVE conv2d_10_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.07384766, -0.027958225, 0.37361667, -0.082532816, 0.14156812, 0.02939518, 0.22737388, 0.19935979, -0.090212055, 0.04403584, 0.18456662, -0.026585983, 0.22868252, 0.09938934, -0.08726494, -0.115827106) * go_0(-1.0, -1.0); + result += mat4(-0.09788985, -0.3116416, 0.35298944, -0.08990593, 0.16181462, -0.22193117, -0.5422943, 0.23932208, 0.15739329, -0.06103239, 0.7953177, -0.047183976, 0.21341586, 0.19858226, 0.0016054768, 0.054749873) * go_0(-1.0, 0.0); + result += mat4(-0.026696216, 0.061291914, -0.35742328, 0.00082715444, 0.10632543, -0.09428293, -0.12645036, -0.043706786, 0.09915236, 0.13788143, 0.15950204, -0.089837976, 0.04461279, -0.054954246, 0.04740199, 0.07014664) * go_0(-1.0, 1.0); + result += mat4(-0.12016896, 0.16669498, 0.26552972, -0.35876223, 0.045097463, -0.15016092, -0.0988156, -0.416339, -0.0101760905, 0.26459762, 0.31927487, -0.16307381, 0.12096833, -0.06770049, -0.017283063, 0.013299284) * go_0(0.0, -1.0); + result += mat4(0.15951112, 0.14506923, 0.6747884, -0.24716964, -0.3413045, -0.2017185, -0.9612693, 0.5421329, -0.16023788, 0.32216108, 0.062496744, 0.21633703, 0.004581572, 0.2359334, -0.35295007, 0.09726352) * go_0(0.0, 0.0); + result += mat4(0.13874753, -0.0063067, -0.14469895, 0.11554976, -0.019183924, -0.04544159, -0.29430693, -0.10431769, 0.15769906, 0.00601582, -0.454376, -0.11790236, 0.16000259, 0.29670846, -0.9759625, 0.31053123) * go_0(0.0, 1.0); + result += mat4(0.014491841, 0.0074491766, -0.09696308, -0.09127842, -0.03579932, -0.20163259, -0.21284793, -0.261139, 0.24359487, 0.14113441, 0.23983651, -0.16634561, -0.09547295, 0.10859189, 0.13468629, 0.33521304) * go_0(1.0, -1.0); + result += mat4(0.008276171, 0.12959969, 0.5093179, 0.002464717, 0.016199486, -0.03156574, -0.4428472, -0.10885838, -0.049632378, 0.2476587, 0.07033375, -0.20044556, 0.04982328, 0.19631135, -0.33776414, -0.6421577) * go_0(1.0, 0.0); + result += mat4(-0.04192616, 0.06393284, 0.07120974, 0.076716706, -0.09867013, -0.13239172, 0.012114291, -0.038557116, 0.029985918, 0.022090917, 0.07777519, 0.008410333, 0.0034299784, 0.062100925, -0.38884223, -0.01593217) * go_0(1.0, 1.0); + result += mat4(-0.013629574, -0.06545711, 0.14423661, -0.03981215, -0.052800525, -0.058425374, -0.05814048, -0.11337634, 0.05479856, -0.010584571, -0.22650285, 0.056241333, -0.1396656, -0.0010838923, -0.30166936, 0.040658727) * go_1(-1.0, -1.0); + result += mat4(0.045267094, -0.086306006, -0.05226326, 0.1539859, -0.02723665, -0.13326567, 0.22143897, -0.018399606, 0.12181383, 0.1452545, -0.3973738, -0.10285705, -0.15147118, -0.28072536, 0.4379245, -0.06340889) * go_1(-1.0, 0.0); + result += mat4(0.14590915, 0.034363795, -0.02217679, 0.15465777, -0.020056443, 0.06256286, 0.00068213895, -0.004845135, 0.10313473, 0.13895464, -0.0957288, 0.10452721, -0.06313026, -0.06739777, 0.16052145, -0.115432285) * go_1(-1.0, 1.0); + result += mat4(-0.083468825, 0.15143521, 0.19880214, -0.0054416056, -0.1074472, 0.027439727, -0.16624895, -0.026701076, -0.046576414, -0.061388403, 0.34304553, -0.08921803, 0.09399348, -0.043658186, -1.3050584, -0.07285428) * go_1(0.0, -1.0); + result += mat4(-0.2544287, -0.38059148, 0.7181705, -0.44567156, 0.10387618, 0.06472145, 0.08178852, -0.016514499, -0.1630076, -0.16066378, -0.19193888, -0.24423774, -0.14821364, -0.28755048, -0.1322022, 0.25716448) * go_1(0.0, 0.0); + result += mat4(0.13228743, 0.24624044, 0.10462062, 0.26341802, 0.035913363, 0.09206641, 0.044785645, 0.010443224, 0.05206244, 0.008345797, -0.32408288, -0.2484674, -0.027154556, 0.0006338974, 0.09008037, 0.027416239) * go_1(0.0, 1.0); + result += mat4(-0.061936356, -0.07008738, -0.22344092, 0.20339371, 0.03216865, 0.103117235, 0.10232644, 0.10809929, 0.08320763, 0.058004253, -0.06520991, 0.038012277, -0.12916973, -0.1150849, -0.03713365, -0.0886423) * go_1(1.0, -1.0); + result += mat4(0.3213531, 0.1826207, 0.022152286, 0.025484305, -0.054090437, 0.08160166, 0.13491987, -0.06896833, 0.10781034, 0.08944192, -0.34036443, -0.018937334, -0.18917687, -0.13239872, 0.11581373, -0.038915917) * go_1(1.0, 0.0); + result += mat4(-0.20916902, 0.08310064, 0.19347866, 0.29880634, -0.007023385, 0.005319598, -0.06649972, 0.03248317, -0.04066817, -0.06176127, -0.41747397, 0.14132817, -0.021392342, -0.021360394, 0.101215124, -0.05375729) * go_1(1.0, 1.0); + result += mat4(-0.008702178, -0.03840238, 0.13321695, 0.065163925, -0.062342774, -0.030948557, 0.0069512874, -0.2634128, -0.09415655, 0.02985776, 0.021763485, 0.27137864, -0.21608604, -0.19126832, -0.37335086, -0.16941321) * go_2(-1.0, -1.0); + result += mat4(0.04631249, 0.33492458, -0.6266605, 0.20180638, 0.039800193, -0.14341171, -0.8203481, 0.04878081, 0.008235832, 0.15065777, -0.32971388, 0.1828355, -0.1510293, -0.17637968, 0.125366, -0.06719769) * go_2(-1.0, 0.0); + result += mat4(-0.014685718, -0.04156494, 0.2728874, -0.106735535, -0.1312142, -0.05991217, 0.15173748, -0.09276527, 0.027946949, 0.12980466, 0.017537035, 0.058945708, -0.11254791, -0.06708247, -0.28308856, -0.058375884) * go_2(-1.0, 1.0); + result += mat4(0.2220684, -0.19030218, -0.1259754, 0.09647918, -0.20530927, -0.16737363, -0.055208467, -0.067288965, 0.1428622, 0.08903465, 0.494294, 0.28669015, -0.17464463, -0.2190753, 0.13515279, 0.24887499) * go_2(0.0, -1.0); + result += mat4(-0.24211104, -0.11129136, 0.03340221, 0.49835417, -0.11755811, -0.732711, -0.3876752, 0.6178176, 0.1437329, -0.05131951, -0.16705558, -0.3823752, -0.23198022, -0.27967533, 0.7223488, -0.5565778) * go_2(0.0, 0.0); + result += mat4(-0.04738433, -0.14606567, 0.22317784, 0.0055712103, -0.064653076, -0.16446865, -0.10802961, -0.10179589, 0.060855757, 0.22762765, -0.037358448, 0.24772792, -0.15458576, -0.0770241, 0.43480682, 0.008342627) * go_2(0.0, 1.0); + result += mat4(0.117756896, -0.06760757, 0.12629354, -0.13241243, -0.05329636, 0.031004142, 0.19809054, 0.1504123, -0.024029436, -0.011011192, -0.014698134, 0.12855798, 0.027526522, -0.102618076, -0.2597635, -0.23887417) * go_2(1.0, -1.0); + result += mat4(-0.012681944, 0.088339254, 0.58977854, 0.020116867, -0.30643263, -0.11593101, 0.2829653, -0.060883448, 0.027514484, -0.19997032, -0.12530403, 0.3302542, -0.10344085, -0.0644199, -0.11374762, 0.38778695) * go_2(1.0, 0.0); + result += mat4(0.073869206, -0.059440095, -0.016326021, -0.08571949, -0.04171866, 0.042949438, 0.13984677, -0.15829174, -0.025245706, 0.0059198164, -0.0432442, 0.20765327, -0.058762096, 0.11539401, 0.036120266, 0.24331446) * go_2(1.0, 1.0); + result += mat4(0.012567978, 0.07251118, -0.12190053, 0.10283353, 0.088345066, 0.0017397653, -0.2381744, 0.101314925, 0.022791719, -0.043069735, -0.15024713, -0.072577685, 0.19976862, -0.059844784, 0.38824072, 0.0020866133) * go_3(-1.0, -1.0); + result += mat4(0.27314463, 0.0739519, 0.08960633, 0.03709254, 0.032681584, 0.22859, -0.41635752, -0.07382896, 0.13144481, -0.24017848, 0.07981319, 0.15370876, 0.059314378, 0.29214182, -0.39464346, -0.13867916) * go_3(-1.0, 0.0); + result += mat4(-0.005685388, -0.039528795, -0.055917054, -0.06578973, 0.020702876, -0.00709528, 0.08486715, -0.0075865295, 0.05714374, -0.27417144, 0.4555885, 0.013780273, 0.05096835, 0.159233, -0.05228782, 0.15794256) * go_3(-1.0, 1.0); + result += mat4(-0.0010807351, -0.022064442, 0.13078515, 0.11357431, 0.11269685, 0.029679844, 0.14385091, 0.10241993, 0.030162932, -0.016101424, 0.20761637, 0.4683215, 0.03091817, -0.58406824, -0.3438075, 0.3653469) * go_3(0.0, -1.0); + result += mat4(-0.016927537, 0.13944507, -0.38772225, -0.11645372, -0.1683389, -0.081295304, 0.271328, 0.14980802, 0.47266555, 0.04091753, 0.006903156, -0.00832747, -0.056511678, 0.06924621, -1.0780094, 0.1268596) * go_3(0.0, 0.0); + result += mat4(-0.21017683, -0.077091806, 0.28906518, 0.022843512, -0.062092084, -0.017447937, 0.25115407, -0.1367289, 0.0021664056, 0.0034106125, 0.5305142, -0.029012429, -0.014483031, 0.05575314, -0.35784876, -0.09252365) * go_3(0.0, 1.0); + result += mat4(0.008859689, 0.06481962, 0.09483335, 0.18473764, 0.0015982646, -0.06144117, 0.054042596, -0.19934553, -0.20250106, 0.096015476, 0.21697922, 0.6265738, -0.16049659, -0.33120447, 0.27775142, 0.14459921) * go_3(1.0, -1.0); + result += mat4(-0.11195867, 0.21663944, 0.5021048, 0.04712746, 0.08637696, 0.07792573, 0.23626573, -0.075164914, 0.06574307, -0.16795279, 0.06829719, -0.027584063, -0.015064924, -0.057976205, 0.14589287, -0.15683101) * go_3(1.0, 0.0); + result += mat4(0.07626267, -0.03523683, 0.106941625, -0.15825523, 0.032598946, 0.038718563, -0.016688785, -0.054390162, 0.05544311, 0.13933052, 0.078817375, -0.10183935, 0.041770034, 0.032732744, 0.062236354, 0.0068387473) * go_3(1.0, 1.0); + result += vec4(-0.11589812, -0.123082116, -0.003926807, -0.15363532); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x56 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_10 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_12 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.25229862, 0.22394362, 0.0050771693, -0.07544911, -0.11078993, -0.14940143, 0.009394699, 0.0110528935, 0.044721916, 0.26324025, -0.046336185, 0.38099283, 0.053437576, -0.07238376, -0.090147175, 0.5568665) * g_0; + result += mat4(0.036739275, -0.2334262, 0.032853063, 0.24364692, -0.122930475, 0.1975849, -0.01315444, -0.13528247, -0.014283123, 0.057573725, 0.058717266, 0.16260214, 0.03097313, -0.11750414, -0.18610783, -0.23006414) * g_1; + result += mat4(0.37318927, -0.26915783, 0.035015646, 0.2676218, 0.1748369, 0.094052985, -0.11020892, -0.14514406, 0.004877109, -0.26225975, 0.13958913, -0.16787122, 0.06908459, -0.10446216, -0.028498875, -0.28281447) * g_2; + result += mat4(0.1980342, 0.021963626, -0.03271427, 0.28889674, 0.043385092, -0.16916741, -0.008713317, 0.00013464666, 0.0819348, 0.0152427135, -0.14862345, -0.15659885, -0.050634, 0.04153691, 0.042288564, 0.00585241) * g_3; + result += mat4(-0.17560056, 0.3521319, 0.20137301, -0.25535235, 0.030570813, 0.2411823, 0.053508975, -0.34454364, 0.22279017, -0.41471666, -0.15029109, 0.22158626, -0.08751699, -0.09357398, 0.20704596, -0.20073438) * g_4; + result += mat4(0.15419295, 0.31318265, 0.004593545, 0.78029615, -0.16751337, -0.32214537, -0.44051525, 0.22405408, -0.0064655836, 0.36599794, -0.26032063, 0.1850997, 0.13661511, -0.49070612, -0.34533858, 0.16373816) * g_5; + result += mat4(0.09806042, 0.36764845, 0.11531638, 0.073847674, -0.16854957, -0.19408809, -0.16800502, -0.12827317, -0.5168489, 0.030958507, -0.03509507, 0.086487584, 0.01842899, -0.10123225, -0.17940263, -0.028054722) * g_6; + result += mat4(0.21619087, -0.05322262, -0.31423846, 0.37783054, 0.20402598, 0.53124064, -0.012658878, 0.20003271, -0.17958061, -0.37326333, -0.24583863, 0.057008818, -0.13031931, -0.031875104, -0.2130229, 0.44612458) * g_7; + result += mat4(0.25865164, -0.28258085, 0.09512834, 0.054259088, 0.25939894, 0.38799945, -0.33007956, 0.6692063, -0.22719514, 0.16910313, 0.056874167, 0.016987909, -0.19956954, -0.20683451, -0.19937307, -0.41771019) * g_8; + result += mat4(0.23592101, -0.15792374, -0.06965535, 0.30855724, -0.22757038, 0.12033792, 0.3199687, 0.2674324, 0.112318985, -0.14153072, -0.13629095, 0.13337436, 0.09185144, 0.24124412, 0.028630963, 0.22709718) * g_9; + result += mat4(0.44043523, 0.32490492, -0.117098905, 0.38431495, 0.07962198, 0.1517891, 0.22628377, 0.13990402, 0.38505656, -0.014830039, 0.20684186, 0.065970615, -0.054330014, -0.046108313, 0.49422976, 0.13082288) * g_10; + result += mat4(-0.08174229, -0.013488396, -0.09494761, 0.31210786, -0.14530393, -0.22510533, -0.30971226, -0.17040919, -0.64233893, -0.07164386, -0.20537859, -0.17981663, -0.0060102916, -0.10167985, -0.24380594, 0.36305648) * g_11; + result += mat4(-0.23301682, -0.19649999, -0.0016176507, 0.7897105, -0.68460715, -0.06446943, -0.5841334, -0.17928797, 0.021772655, 0.46175778, 0.36450028, 0.27175686, -0.03546283, -0.19889158, -0.24603742, -0.090037055) * g_12; + result += mat4(0.1085313, 0.04249687, 0.13247591, 0.09551512, -0.37197208, 0.3261908, -0.13848339, -0.13538006, 0.13875476, -0.3748712, -0.21430004, 0.09772982, -0.35635203, 0.13196826, -0.09840773, -0.21841893) * g_13; + result += vec4(0.062238827, 0.069814906, -0.107347876, 0.64385885); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x56 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf1 +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_10 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_12 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.22607668, 0.021170171, -0.06774968, -0.019062893, -0.029051676, 0.029224426, 0.097410545, 0.07505055, 0.17470665, -0.025774082, -0.041022647, 0.07615996, 0.031361237, -0.18075092, -0.01981288, 0.30251572) * g_0; + result += mat4(-0.2228827, -0.18372375, 0.17952546, 0.031262513, 0.10978829, 0.095414534, -0.11202218, -0.017824037, 0.13419671, -0.056704585, 0.086960495, 0.089463, 0.0436869, 0.1987542, -0.24825421, -0.14668585) * g_1; + result += mat4(-0.2848745, -0.09242928, 0.24002336, -0.06059541, -0.0066300016, 0.050746392, -0.26092768, -0.060129635, -0.2699064, -0.13927452, 0.3134039, -0.21668927, 0.0028670141, 0.044556674, 0.040246494, -0.26040232) * g_2; + result += mat4(0.08408219, -0.038882803, -0.08522774, 0.1714629, -0.03067602, -0.10863579, 0.072058044, -0.012343554, -0.0076697394, 0.17840211, -0.2823912, 0.11976201, -0.05657313, 0.092938855, -0.060931504, 0.06991858) * g_3; + result += mat4(0.09868284, 0.054261737, 0.13327791, -0.14897001, -0.06348394, 0.11385057, 0.09684055, -0.084950894, -0.3038146, -0.08645148, 0.035114545, -0.07148952, -0.15862693, 0.26620075, -0.018059343, 0.35772058) * g_4; + result += mat4(-0.4964452, -0.32340884, 0.5129584, -0.090460144, 0.28658384, -0.117274396, 0.25311428, 0.119918026, 0.27442876, -0.19332558, -0.40261742, -0.0627285, -0.36318043, -0.07865861, -0.11114984, -0.1290027) * g_5; + result += mat4(0.42158237, -0.032889403, 0.034080755, 0.25719455, -0.18799819, 0.0981468, 0.22785765, -0.07262642, 0.22532979, -0.09519116, -0.1005627, 0.1767603, -0.100850165, -0.06818755, 0.0059797456, -0.0718568) * g_6; + result += mat4(0.12787001, -0.20670003, 0.0034799385, -0.024907416, 0.04423561, -0.13276835, -0.102332935, 0.14673741, 0.08700579, 0.08124997, -0.009865786, 0.041748982, -0.076119795, 0.09744985, 0.13542135, 0.12240728) * g_7; + result += mat4(-0.1702021, 0.18497302, 0.06786661, -0.09040049, 0.15212716, 0.055503774, 0.020584844, 0.24927403, 0.23556694, -0.1571619, -0.02012801, 0.08423509, -0.114376806, -0.04171382, 0.040876187, -0.116261706) * g_8; + result += mat4(-0.0854133, -0.023111762, 0.3320211, -0.21760856, -0.169973, 0.22671382, 0.4513697, 0.35962802, -0.1499719, 0.24696982, -0.29979527, 0.006662296, 0.20241787, -0.2276791, 0.059445832, 0.18853071) * g_9; + result += mat4(-0.026398154, 0.124663144, 0.20381314, 0.2053697, 0.010302614, -0.050437275, 0.033807695, 0.014369258, -0.20720173, 0.05919782, 0.008449617, -0.31949872, 0.011598942, -0.0432789, 0.12732887, 0.049919438) * g_10; + result += mat4(-0.06617085, 0.023928246, 0.1698239, 0.19584818, 0.022199618, -0.0040151025, -0.14364237, -0.06734091, 0.49634683, 0.40206975, -0.023004102, 0.16953272, 0.13243976, -0.47359994, 0.18358715, -0.15007599) * g_11; + result += mat4(0.03754883, -0.84370553, -0.0057923268, -0.06449944, 0.09488198, -0.09577232, 0.31362334, -0.09768442, 0.15369056, -0.16346063, 0.41194627, 0.10364933, -0.2073915, -0.15944852, -0.57649344, 0.1580545) * g_12; + result += mat4(-0.3224099, -0.17332473, 0.12429976, -0.12284861, 0.32270268, 0.2888736, -0.20192772, 0.15415959, -0.10240418, 0.09524166, -0.14117688, -0.1239787, 0.0015336396, 0.10390812, 0.20461708, -0.12672688) * g_13; + result += vec4(0.01866206, -0.01430976, -0.04231479, 0.06331023); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x3x3x16 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!SAVE conv2d_13_tf +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.09638616, 0.041973136, 0.032690834, 0.0017506832, 0.035889357, 0.046528358, 0.06497702, 0.06353481, -0.07129311, -0.027845494, 0.003971696, 0.015161773, -0.016153565, -0.02228567, -0.011083082, 0.037676543) * go_0(-1.0, -1.0); + result += mat4(0.2134379, 0.26289365, 0.1335757, 0.13036838, -0.08787389, -0.106764, -0.048054244, 0.17788094, -0.15528837, -0.11408854, -0.06642222, -0.07838564, -0.09646518, -0.116988175, -0.22729287, -0.11145718) * go_0(-1.0, 0.0); + result += mat4(0.09568265, 0.006643416, 0.11656759, -0.049414653, 0.14153476, -0.04269765, 0.09150523, 0.26861703, 0.16641477, -0.1080059, 0.22390138, -0.08730618, -0.01928994, -0.06351, -0.0022028533, 0.04301657) * go_0(-1.0, 1.0); + result += mat4(-0.11731019, -0.040432923, -0.1977298, -0.17696093, -0.09182833, 0.071209684, -0.120773874, 0.021507429, -0.016429326, 0.04448132, 0.0681032, 0.044070866, -0.14647268, 0.008662263, -0.06507026, -0.075289875) * go_0(0.0, -1.0); + result += mat4(0.5694518, -0.6138523, 0.28939885, -0.06047394, 0.11681902, -0.7026379, 0.20342608, 0.07128985, 0.06697409, 0.2678358, 1.1430641, 0.20436136, -1.6117494, 0.2799715, -0.01652429, -0.16711035) * go_0(0.0, 0.0); + result += mat4(0.15830286, 0.16772346, -0.03232187, 0.029600514, -0.18494213, -0.25623813, 0.15487063, 0.06255487, -0.058094956, 0.19903323, 0.4756497, 0.6381142, -0.036022857, -0.09470495, 0.046093524, 0.031300675) * go_0(0.0, 1.0); + result += mat4(-0.38466138, 0.16052443, -0.13819315, -0.059899956, 0.14069949, -0.1297194, 0.105595976, 0.13371274, 0.06298681, -0.038837492, 0.08675327, 0.1501906, 0.031129224, 0.029751344, -0.06775066, -0.047534525) * go_0(1.0, -1.0); + result += mat4(0.097809926, -0.14269543, -0.14661346, -0.1819761, -0.023082452, 0.19019675, -0.15678905, -0.07669464, -0.07322769, -0.30472377, 0.33603573, 0.22620338, 0.05328552, 0.030486144, -0.037603505, -0.081246674) * go_0(1.0, 0.0); + result += mat4(-0.15090303, -0.0650902, 0.11741429, -0.003369476, 0.043803368, 0.13717425, -0.038966697, -0.05230889, -0.0042353314, -0.017051768, 0.102879845, 0.044044945, -0.012893164, 0.0152335, 0.015073082, 0.08049258) * go_0(1.0, 1.0); + result += mat4(-0.07802851, -0.07544602, -0.0039040581, -0.03915584, 0.115673676, -0.024907975, -0.011459969, 0.026098263, 0.043594692, 0.10627707, 0.027093858, 0.051561285, 0.071452856, -0.1758179, 0.28485832, 0.28952092) * go_1(-1.0, -1.0); + result += mat4(-0.052147392, 0.18546684, 0.19015399, -0.053752594, -0.29468048, 0.010600442, -0.09287294, -0.09246605, 0.17687573, -0.04858957, 0.06478161, -0.0035372626, 0.5927226, 0.38359696, 0.33155236, 0.13010578) * go_1(-1.0, 0.0); + result += mat4(0.04136322, 0.11806175, 0.19966072, 0.07308716, -0.09563447, -0.064514905, -0.0077517326, 0.11964638, -0.1460613, 0.02240298, 0.014256963, -0.0123070385, 0.1897282, -0.0058207656, 0.040057864, -0.49406672) * go_1(-1.0, 1.0); + result += mat4(-0.43775788, -0.25118434, -0.3468631, -0.30180287, -0.27033472, -0.0023914252, 0.053275872, -0.021835659, 0.02879347, 0.036559265, 0.044093054, 0.12771723, 0.2702892, -0.2581491, -0.059361164, -0.046974897) * go_1(0.0, -1.0); + result += mat4(-0.03310008, -0.5622936, 0.5419483, -0.3599514, 0.2634039, 0.3500813, 0.4152074, 0.24876466, -0.2629078, -0.18554081, -0.76194984, -0.54471385, 0.72921526, 0.3316481, -0.20936906, -0.16736485) * go_1(0.0, 0.0); + result += mat4(0.07884802, 0.16494922, 0.2734585, -0.09396988, -0.14178166, -0.105561115, 0.006780099, 0.063054875, 0.12384575, -0.163967, -0.19682601, -0.1647527, 0.59927565, 0.24755491, -0.29760644, -0.074884824) * go_1(0.0, 1.0); + result += mat4(-0.186745, 0.21136905, 0.027726538, 0.08498169, 0.009122279, 0.01566938, -0.051473126, 0.014151464, 0.04580383, 0.02071651, 0.14929157, 0.17253524, -0.034080226, 0.07048439, -0.11602547, -0.12655921) * go_1(1.0, -1.0); + result += mat4(-0.2831727, -0.21816732, -0.37266397, -0.26041594, -0.18912914, -0.13482115, -0.10902061, -0.110694066, -0.20758803, -0.07158453, 0.14401175, 0.1590672, 0.27700564, -0.3202948, -0.23177631, 0.060082316) * go_1(1.0, 0.0); + result += mat4(0.16861005, -0.13237478, -0.12109852, -0.16306286, 0.032467425, 0.009778175, -0.05084063, 0.02528882, -0.028993038, -0.06119019, 0.0124081755, -0.0819979, -0.2308113, -0.23910572, 0.3170529, 0.22742116) * go_1(1.0, 1.0); + result += mat4(-0.19654512, 0.037653327, -0.015190324, 0.038381096, 0.034783594, -0.16242851, 0.07052334, 0.0019672879, 0.08069976, 0.090035714, 0.12597767, -0.00065050717, -0.10528094, 0.015088367, -0.045706235, -0.14849594) * go_2(-1.0, -1.0); + result += mat4(-0.0981129, -0.0044483114, 0.00918156, 0.28903985, 0.23872024, 0.11113565, 0.23359483, 0.21115206, 0.2144387, 0.106830046, 0.03875094, -0.14864162, 0.19366172, 0.21310017, 0.06280982, -0.0581721) * go_2(-1.0, 0.0); + result += mat4(-0.22814496, -0.08812413, -0.25392863, -0.02752917, 0.05930787, 0.08304853, -0.04027662, -0.010756739, 0.034590207, 0.070662424, 0.15285444, 0.058270697, -0.022838322, 0.024096202, 0.01309858, -0.10489201) * go_2(-1.0, 1.0); + result += mat4(0.17219496, -0.0066256993, 0.1442649, -0.07291206, 0.34312358, -0.24952441, 0.040031537, 0.18302973, 0.0015231773, 0.24825755, -0.01807878, -0.037405558, 0.21687117, 0.02481246, -0.08312088, -0.14397743) * go_2(0.0, -1.0); + result += mat4(0.2859165, 0.6145777, 0.060804237, 0.22117847, -0.25534254, 0.3753605, 0.4193899, 0.06387241, -0.13308842, 0.0012660836, -0.055252563, -0.2552111, 0.8831952, -0.16249466, 0.76958305, 0.3658401) * go_2(0.0, 0.0); + result += mat4(-0.14865848, -0.13086087, 0.17719927, 0.2801542, 0.3776111, 0.20903045, 0.1710449, 0.25524843, 0.11910105, 0.034738105, -0.12101939, -0.22116004, 0.11605619, 0.16838482, -0.07223086, -0.15225673) * go_2(0.0, 1.0); + result += mat4(0.101802975, -0.12683764, -0.21380596, -0.19243564, 0.017763488, 0.0076850834, -0.0107422285, 0.058099743, 0.03071978, 0.02958345, 0.09209252, -0.012379192, -0.058930825, -0.07321041, -0.09178575, -0.09764888) * go_2(1.0, -1.0); + result += mat4(0.2205578, -0.053928245, -0.14290524, -0.18790527, 0.002521159, -0.23389481, 0.11274272, 0.17174199, 0.2128134, 0.14586388, 0.08666812, 0.052028902, 0.024853414, -0.027658377, 0.033780072, -0.0045349374) * go_2(1.0, 0.0); + result += mat4(-0.053073518, 0.12716359, 0.008456044, 0.014315154, 0.01918925, -0.13495505, 0.08007481, 0.08627198, 0.024612406, 0.0021514448, 0.04478567, -0.034171678, 0.0027070146, 0.0149149615, -0.15999815, -0.1866448) * go_2(1.0, 1.0); + result += mat4(0.040357295, -0.12759757, 0.03543834, -0.029329961, -0.078925595, 0.07807751, 0.08971355, -0.05469623, -0.08630596, -0.11219292, -0.08082983, -0.020131797, -0.04191703, 0.22003745, -0.28878415, -0.132956) * go_3(-1.0, -1.0); + result += mat4(0.021098461, 0.048261415, -0.121181525, -0.24724431, 0.32716268, 0.03046708, -0.28138334, -0.22871564, -0.15983087, 0.10721642, -0.14833531, -0.115366876, -0.393837, -0.62930757, -0.29534766, 0.02588463) * go_3(-1.0, 0.0); + result += mat4(-0.03972534, -0.051577512, -0.04452277, -0.12650263, 0.15491997, -0.026459083, 0.009715449, -0.20551588, -0.042652152, 0.119186826, -0.13313279, -0.13183416, -0.20730016, 0.003008999, -0.19962612, 0.1760052) * go_3(-1.0, 1.0); + result += mat4(0.1724579, -0.3179752, 0.18908302, 0.40730157, 0.44569418, -0.038390577, -0.13144472, -0.18369946, -0.1654486, -0.2106428, -0.084723935, 0.10262653, -0.26097777, 0.15257284, -0.36599034, -0.30871773) * go_3(0.0, -1.0); + result += mat4(-0.21338613, 0.680362, 0.079820015, 0.6081361, -0.9754953, -0.33735132, -1.2323227, -0.17950675, -0.31327835, 0.4732144, 0.22757599, 0.23051551, -0.8099572, -0.49106973, 0.96547806, 0.30975753) * go_3(0.0, 0.0); + result += mat4(0.16933723, 0.17994887, -0.38310486, -0.4208871, 0.373761, 0.20749316, -0.080664486, -0.26229286, -0.04797456, 0.28605196, -0.040223103, -0.034632236, -0.5650002, -0.38834664, 0.14565933, 0.1488285) * go_3(0.0, 1.0); + result += mat4(0.32558438, -0.18572666, 0.049500592, 0.2319145, -0.23547912, 0.2740939, 0.027905073, -0.022077003, 0.10860379, -0.15617043, -0.097419575, -0.11391895, -0.4266203, 0.060962453, -0.12154808, -0.19734453) * go_3(1.0, -1.0); + result += mat4(-0.07880791, -0.2247225, 0.445858, 0.3889803, 0.14111102, 0.378859, 0.040187526, -0.021096235, 0.04169405, -0.075737596, 0.046068836, 0.11624106, 0.08169536, 0.3022304, -0.24427707, -0.34422734) * go_3(1.0, 0.0); + result += mat4(0.13501012, -0.07389663, -0.010668981, -0.069029465, 0.06960202, -0.067375034, 0.08431378, 0.04207825, -0.121635035, -0.051126126, -0.1546829, 0.00073073455, -0.20674464, 0.27346626, -0.15771666, -0.024096) * go_3(1.0, 1.0); + result += vec4(-0.17614856, -0.14261112, 0.14600825, 0.20389698); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv0ups +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_10 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_12 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_14 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.3378193, 0.013861057, 0.19208853, -0.05050854, 0.08691835, 0.16724123, 0.10351982, -0.40157926, -0.055889476, -0.040115904, -0.13351472, -0.7937818, 0.18700145, 0.109559685, -0.119053595, -0.12651901) * g_0; + result += mat4(0.05863214, -0.011048432, 0.22007701, -0.21624403, -0.06139813, -0.06766812, 0.022506371, 0.17585056, -0.37994936, -0.018394569, 0.5127985, -0.19700864, -0.07880973, 0.15687309, -0.12574019, -0.19570859) * g_1; + result += mat4(0.5059051, -0.010676642, -0.47922808, -0.017590942, -0.20583269, -0.10777252, -0.33185184, -0.0025075034, -0.1518394, 0.14268444, 0.005011664, 0.09016961, -0.46011007, -0.09428751, 0.34915137, 0.13334215) * g_2; + result += mat4(-0.15615676, 0.09427065, 0.006016912, -0.0003997069, 0.16170138, 0.09666374, 0.14158808, -0.23772424, 0.39373854, 0.004074768, -0.28073287, 0.0032489141, 0.23473479, -0.12678933, -0.24589436, -0.21988034) * g_3; + result += mat4(-0.12682347, 0.033012364, 0.18928578, 0.12523666, 0.12809147, 0.008567846, -0.10653368, -0.03712133, 0.075765386, -0.042196997, 0.039182812, 0.17273012, 0.21258987, 0.039698593, -0.0018848967, -0.07930902) * g_4; + result += mat4(0.013454855, -0.18023406, -0.49323913, -0.032017395, 0.11903338, -0.043025218, -0.46579728, 0.21894619, -0.21387324, -0.13455649, 0.30638975, 0.3472243, 0.09305909, -0.015791988, 0.071368046, -0.038680866) * g_5; + result += mat4(0.012506262, 0.09754124, -0.092920735, 0.23061672, 0.08051618, -0.38472125, 0.17626029, 0.009075537, -0.18316247, -0.1338181, 0.2650675, 0.0516641, 0.080453254, 0.22033659, -0.13004474, -0.07781194) * g_6; + result += mat4(-0.12412428, -0.11978811, 0.06780084, -0.1710261, -0.09355731, 0.31283846, -0.022725523, -0.16437142, -0.11865966, 0.10907317, 0.22463441, 0.017325362, 0.02512185, -0.49577957, 0.2016018, 0.14196795) * g_7; + result += mat4(0.02570746, 0.22231244, -0.10168496, -0.21518417, -0.0054759895, -0.32655567, -0.34048972, 0.11826245, -0.002854444, -0.11257602, -0.09318273, -0.10332744, 0.078923725, -0.11612356, -0.030546617, -0.12474622) * g_8; + result += mat4(-0.11420135, -0.24489257, 0.15446539, 0.12646616, -0.07092042, 0.110105604, 0.054362826, 0.07867222, -0.15557991, 0.071640015, 0.21894808, 0.24164975, 0.0062167975, 0.10681122, -0.32373384, 0.06931269) * g_9; + result += mat4(0.0769479, -0.09528171, -0.38724712, 0.010703831, -0.016925508, -0.018486671, 0.035855293, -0.17932071, -0.078450575, -0.036463127, 0.20942347, 0.060895607, -0.16549253, -0.008952913, 0.20420915, -0.009001661) * g_10; + result += mat4(0.074243605, 0.015648128, -0.05003613, 0.10121142, -0.0218682, 0.006933849, 0.101385176, 0.16132122, 0.0013466089, 0.14042993, -0.25816667, -0.040413387, -0.19570185, -0.08637437, 0.17934911, 0.24961887) * g_11; + result += mat4(-0.40401492, -0.16131033, 0.454142, 0.56882274, -0.013024656, -0.04423676, -0.023137214, 0.36117804, -0.0901519, -0.03237353, 0.010538879, -0.033432953, 0.105834074, -0.0549062, 0.05576519, -0.092626475) * g_12; + result += mat4(-0.0017419134, -0.022569131, 0.027351622, -0.1289159, -0.0823291, -0.020735232, -0.28244564, -0.21001048, -0.048950948, 0.022033915, 0.14678808, -0.010097721, -0.06839686, 0.031720705, 0.11333891, 0.05049834) * g_13; + result += mat4(-0.2191025, -0.005935159, 0.24627906, 0.058490098, -0.011270337, -0.019233467, -0.17698613, -0.0052346545, 0.2288101, -2.5289672e-05, 0.267102, -0.026019678, -0.17386179, -0.017672652, -0.35420522, 0.2836498) * g_14; + result += mat4(0.19294678, 0.011570707, -0.34666267, -0.09040537, 0.18127288, 0.10182209, 0.08549184, -0.48737645, -0.040560674, 0.20645715, -0.68665904, -1.3146902, 0.18629448, 0.09806124, 0.09953519, -0.5450951) * g_15; + result += vec4(-0.24792486, -0.09899526, 0.3761066, 0.022595163); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv0ups1 +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_10 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_12 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_14 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.15938057, -0.23559119, -0.28445953, 0.05912659, 0.5229142, -0.02843545, -0.004113748, -0.056947608, 0.1367782, -0.026573306, -0.0056468234, 0.2564603, 0.25593445, 0.08957574, 0.26139608, -0.053708326) * g_0; + result += mat4(0.1382045, -0.103480555, 0.05831098, 0.000735441, 0.20176832, -0.087079, -0.07839967, -0.0750771, -0.31373122, -0.27509713, -0.23071732, -0.2560584, 0.110963896, -0.052200988, 0.0015331429, -0.30707568) * g_1; + result += mat4(-0.056460302, 0.2147989, 0.40628514, -0.058157466, -0.17940372, -0.033689886, -0.022241283, -0.0018471872, 0.26578268, -0.098452985, -0.01501511, -0.35676336, -0.07152056, -0.07245194, -0.32194778, 0.03888747) * g_2; + result += mat4(0.09541087, 0.24680884, -0.045627397, -0.08557985, 0.08790337, 0.10179883, 0.3007415, 0.044102084, 0.1064372, 0.2994135, 0.15280741, 0.2683849, 0.24750276, -0.021364288, -0.004039902, 0.28266376) * g_3; + result += mat4(-0.26525706, -0.08389754, -0.10918147, -0.06878537, -0.080960914, 0.03737948, 0.107663736, -0.0025957434, -0.10748625, 0.03004828, 0.03505711, 0.075969726, 0.06360464, -0.02740913, 0.025467616, 0.017698402) * g_4; + result += mat4(-0.2370006, -0.07687027, 0.015225365, 0.17986605, 0.37507248, 0.2088343, 0.17946883, 0.2379337, -0.25194344, 0.035336476, -0.15362923, -0.008527836, 0.045963865, 0.025127884, 0.06973296, 0.063168526) * g_5; + result += mat4(0.09583503, 0.15350054, -0.15248272, 0.045916792, -0.18339546, -0.29747355, 0.027330166, -0.39461568, 0.095963046, -0.1775004, -0.19221638, -0.15368307, 0.056089737, 0.18232727, 0.03182419, 0.30851522) * g_6; + result += mat4(-0.053062204, -0.0018095247, -0.04514637, 0.05689337, 0.07561519, 0.17035827, -0.0048587993, 0.38348997, -0.063476466, 0.09454219, 0.03969728, 0.11693653, -0.0012066896, -0.25955358, -0.14428577, -0.19967856) * g_7; + result += mat4(0.034378257, 0.16030714, 0.05160261, 0.21927983, -0.14469208, 0.041181874, 0.034202367, 0.07983977, 0.22149332, -0.08595994, -0.102985874, -0.07265774, -0.123233125, -0.12819915, 0.08662329, -0.12866889) * g_8; + result += mat4(-0.1511104, -0.056531575, -0.023363205, -0.1909304, -0.15387732, 0.0671428, -0.15435332, 0.32735124, -0.3293996, 0.055349957, -0.043602336, 0.08102016, 0.200238, 0.13393362, 0.0044564987, 0.16932343) * g_9; + result += mat4(-0.09768015, 0.09503259, 0.12768175, 0.109941825, 0.006567291, -0.102840215, -0.05611706, -0.06865725, -0.2605998, 0.00585688, -0.035119556, -0.06810342, -0.090756536, -0.079376444, -0.22370447, -0.05727839) * g_10; + result += mat4(-0.101120085, 0.028628688, 0.07296149, 0.15868604, 0.047761433, 0.07732842, -0.016735386, 0.049528413, 0.45619023, 0.062347047, -0.026208224, 0.046785966, -0.05715451, 0.04459997, -0.13676195, 0.07778552) * g_11; + result += mat4(-0.051393595, -0.12524572, -0.36763692, 0.039426118, 0.0349489, 0.07154008, -0.12969223, 0.30249006, -0.15237582, -0.06685149, -0.042049125, -0.0065471376, 0.017375907, -0.07143284, -0.018227521, -0.02778629) * g_12; + result += mat4(-0.048270147, -0.07275859, 0.05502608, -0.034233145, 0.12822276, -0.02580663, -0.035358194, 0.05195595, 0.044340245, 0.04435722, 0.017985033, 0.007126749, -0.052825354, -0.059360538, -0.09412195, 0.060212586) * g_13; + result += mat4(-0.18645881, -0.04506676, -0.035483524, 0.0063163475, -0.13747677, -0.046985928, 0.0015511635, 0.019160518, -0.4315584, -0.06979354, -0.001936674, 0.0034739177, 0.3490474, 0.15375568, -0.0085117165, 0.017511753) * g_14; + result += mat4(0.20412005, 0.017221482, 0.08719384, -0.016668927, 0.10308073, -0.1013255, 0.087567665, -0.1004404, 0.9800944, -0.25387812, 0.36526182, -0.21970014, 0.36388537, -0.111629054, 0.21855496, -0.10375334) * g_15; + result += vec4(-0.14657217, -0.04252579, -0.24773599, 0.13271233); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv0ups2 +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_4 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_6 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_8 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_10 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_12 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_14 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.22553514, -0.086349756, -0.07735866, 0.48776403, -0.33010843, 0.28214008, -0.2242988, -0.11439686, -0.14720698, 0.2391116, 0.017813087, 0.4352493, -0.16412133, -0.12791261, -0.019643517, 0.19420698) * g_0; + result += mat4(-0.9178235, -0.6335296, 0.11146894, -0.0759723, -0.4519685, -0.3007054, 0.014501872, 0.49081457, 0.10673664, 0.035011876, 0.10259641, 0.106546804, 0.5186602, 0.44900152, 0.20597687, -0.39562696) * g_1; + result += mat4(-0.11399027, -0.19542706, 0.087422565, -0.70140034, -0.41029623, -0.049330976, 0.19682989, 0.22516033, -0.22858454, -0.12200487, -0.14852463, -0.40852943, -0.035900578, 0.1886829, 0.019452838, -0.16703403) * g_2; + result += mat4(0.077843145, 0.7323388, -0.022324003, 0.09445821, 0.026166735, -0.1790519, 0.086004496, -0.40011314, 0.01210975, -0.053515363, -0.2501869, 0.06671936, -0.71530163, -0.57196116, -0.38604704, 0.5024949) * g_3; + result += mat4(0.30748057, 0.12223383, 0.059069566, 0.18568543, 0.008148904, 0.009438993, 0.053996127, -0.19665428, 0.38345802, 0.20945628, 0.01368962, -0.2834185, -0.15974379, -0.4628119, -0.18307796, 0.22361058) * g_4; + result += mat4(0.00833237, -0.10446639, -0.028896136, -0.18917766, -0.24016596, -0.034934085, -0.013062447, 0.079293504, -0.16635038, -0.11056953, 0.2618598, 0.07227063, 0.057050053, 0.013885738, 0.09385356, -0.27068567) * g_5; + result += mat4(-0.5675842, 0.13328329, -0.0252242, 0.34746942, 0.34712863, 0.13635597, 0.02356317, -0.1617803, -0.16861948, -0.018621348, 0.02680753, 0.30408886, -0.034069773, 0.08948961, -0.057724215, 0.111602895) * g_6; + result += mat4(-0.03835732, -0.11742271, 0.025922403, 0.24378933, -0.36450952, -0.15091905, 0.1214089, 0.21004228, 0.28717628, 0.17053549, 0.10836553, -0.08449643, 0.17507422, -0.03195037, -0.03947606, 0.050725944) * g_7; + result += mat4(-0.21257977, -0.0043600267, -0.12929972, -0.233982, -0.26728988, -0.21511734, 0.07835361, -0.24275993, -0.359975, -0.23956355, -0.07852281, 0.40282407, 0.17184453, 0.11672362, 0.0433819, -0.032416925) * g_8; + result += mat4(0.20235331, 0.16114245, 0.015931258, -0.17612378, 0.2449233, 0.0031623375, -0.2784109, 0.3347522, 0.46005112, 0.20291579, 0.13030154, -0.23390344, -0.39526668, -0.09738018, 0.013237711, 0.15512206) * g_9; + result += mat4(-0.1434995, -0.12447443, 0.095140964, -0.08841888, -0.05424789, -0.11747197, -0.097216785, 0.12958516, 0.34194428, 0.111434594, -0.02794559, -0.22843723, -0.043816507, -0.16116165, -0.29044297, 0.33768278) * g_10; + result += mat4(0.39615574, 0.05410518, -0.07885892, -0.22024721, 0.011598219, 0.1446308, 0.11650995, -0.020602686, -0.51892537, 0.14221898, -0.01697185, 0.05188913, 0.07683384, 0.122416414, 0.02296055, 0.2932525) * g_11; + result += mat4(-0.058334768, -0.12389275, -0.02024463, 0.46323973, 0.17553197, 0.35435143, 0.19796194, 0.06836581, 0.15947883, -0.056819815, -0.091066726, 0.22499265, -0.21629064, -0.22203816, 0.053594038, 0.09816408) * g_12; + result += mat4(-0.016514458, -0.14323495, 0.017527288, -0.19750872, -0.47891942, -0.073656894, -0.086305656, 0.38173944, 0.1016976, 0.15224999, 0.048396923, -0.19529565, 0.13985658, 0.07292602, 0.06549534, 0.210662) * g_13; + result += mat4(0.3459035, 0.0071707424, -0.019186711, 0.2527976, 0.29675815, 0.35949966, -0.06114439, -0.02610484, 0.5475115, -0.13828747, 0.019238133, 0.101953685, -0.52718824, 0.017254699, 0.08887026, -0.19507161) * g_14; + result += mat4(-0.3064509, -0.031613164, 0.040971015, -0.24252266, -0.21725285, -0.35069898, 0.0951283, -0.065222666, -0.98867434, 0.08824426, 0.06094605, -0.21000125, -0.72066385, -0.34141323, 0.049487203, 0.0690126) * g_15; + result += vec4(0.25545248, -0.112931795, -0.073284395, 0.29349956); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(M)-Conv-3x3x3x24 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv0ups +//!BIND conv0ups1 +//!BIND conv0ups2 +//!SAVE MAIN +//!WIDTH conv0ups.w 2 * +//!HEIGHT conv0ups.h 2 * +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_3(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_4(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_5(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.009331738, 0.018572107, 0.022010602, 0.0, 0.0039357482, -0.016444422, -0.02944063, 0.0, -0.03631314, -0.056094132, -0.050672945, 0.0, 0.0077923858, -0.023002634, 0.021950275, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.015352033, -0.018134398, -0.031076321, 0.0, 0.09254242, 0.07433854, 0.094745025, 0.0, 0.09154548, 0.10833595, 0.084574744, 0.0, -0.06755486, 0.022037052, -0.09424632, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.019884977, 0.021337362, 0.026944455, 0.0, 0.11712925, 0.021360623, -0.017487818, 0.0, -0.14924358, -0.1149652, -0.12671575, 0.0, 0.012104617, -0.039750118, -0.002691512, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.00344861, -0.0071971808, -0.011530234, 0.0, 0.039175995, 0.12297611, 0.15838134, 0.0, 0.033669177, 0.018021118, -0.010552058, 0.0, -0.048705686, 0.03920792, -0.00043378037, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.09026871, -0.09393277, -0.0849584, 0.0, -0.16249315, -0.15300421, -0.1383744, 0.0, -0.10384136, -0.04767781, 0.022754611, 0.0, 0.14949107, 0.06619118, 0.016498014, 0.0) * go_0(0.0, 0.0); + result += mat4(0.0138111375, 0.0033931104, 0.010171692, 0.0, -0.037168514, -0.029690385, -0.045251988, 0.0, 0.074186325, 0.056937214, 0.06968052, 0.0, -0.057218343, -0.060974367, -0.030270662, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.0028436058, 0.010812401, 0.012844112, 0.0, 0.050941236, -0.035253663, -0.061899442, 0.0, -0.01614737, 0.01752726, -0.023620276, 0.0, -0.04961744, -0.06673698, 0.039417736, 0.0) * go_0(1.0, -1.0); + result += mat4(0.042587858, 0.03904053, 0.028782798, 0.0, -0.09807107, -0.01929461, -0.034585416, 0.0, 0.029584344, -0.053522006, 0.0068953806, 0.0, -0.04451219, 0.018451538, -0.029895604, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.0041629653, 0.0070575047, 0.004515914, 0.0, 0.043267716, 0.0020689464, 0.010954458, 0.0, -0.0013374113, 0.009222025, -0.0272451, 0.0, 0.00645634, -0.037133303, -0.03209227, 0.0) * go_0(1.0, 1.0); + result += mat4(-0.010575585, -0.00065620174, -0.009598815, 0.0, -0.068592854, -0.06461729, -0.05058234, 0.0, 0.03790364, 0.044340994, 0.049410254, 0.0, -0.009466368, 0.081484325, 0.07265021, 0.0) * go_1(-1.0, -1.0); + result += mat4(-0.01598744, -0.025267042, -0.010857686, 0.0, 0.0771284, 0.081469566, 0.07138724, 0.0, -0.00555409, -0.006099002, -0.02123016, 0.0, -0.29761449, -0.10614364, -0.1027762, 0.0) * go_1(-1.0, 0.0); + result += mat4(0.02664693, 0.027294884, 0.019080907, 0.0, 0.010511018, 0.01179118, 0.02403106, 0.0, 0.05436632, 0.07234358, 0.08310484, 0.0, 0.03146414, -0.02122628, -0.021377526, 0.0) * go_1(-1.0, 1.0); + result += mat4(0.027889153, 0.018621879, 0.025370836, 0.0, -0.14017807, -0.14772555, -0.14436993, 0.0, -0.017539013, -0.028932836, -0.06139342, 0.0, 0.0007456944, -0.00086823467, -0.05282406, 0.0) * go_1(0.0, -1.0); + result += mat4(-0.0017060362, 0.00777287, 0.003343087, 0.0, 0.20926197, 0.21706305, 0.23307496, 0.0, -0.16601992, -0.183019, -0.139133, 0.0, 0.13933188, -0.013340946, -0.021960167, 0.0) * go_1(0.0, 0.0); + result += mat4(-0.018459205, -0.023415336, -0.0173199, 0.0, 0.08558963, 0.10207333, 0.06444232, 0.0, -2.5721886e-06, -0.015806457, -0.036833573, 0.0, -0.20488425, -0.009690944, 0.020323949, 0.0) * go_1(0.0, 1.0); + result += mat4(0.010601256, 0.007344732, 0.0056538777, 0.0, 0.021578439, 0.017345639, 0.0032158173, 0.0, 0.031785835, 0.04436094, 0.05920955, 0.0, 0.23948166, -0.06085234, -0.14597872, 0.0) * go_1(1.0, -1.0); + result += mat4(0.00777581, 0.012557825, 0.0123206265, 0.0, -0.0691877, -0.0861206, -0.077578135, 0.0, -0.018104369, -0.024902673, -0.036656447, 0.0, 0.10611258, 0.09515675, 0.118361965, 0.0) * go_1(1.0, 0.0); + result += mat4(0.0021278602, 0.003906813, 0.0016891633, 0.0, -0.06379228, -0.060215514, -0.051921096, 0.0, 0.039505195, 0.052035928, 0.05059492, 0.0, -0.047328927, -0.0066980706, 0.09447027, 0.0) * go_1(1.0, 1.0); + result += mat4(0.18920127, -0.045531996, -0.044905778, 0.0, 0.013732142, 0.019208554, 0.011500921, 0.0, -0.0040531917, -0.02001873, -0.0023935249, 0.0, -0.033091005, -0.017751431, -0.009764133, 0.0) * go_2(-1.0, -1.0); + result += mat4(0.15241088, -0.13676398, -0.01825122, 0.0, -0.003517022, -0.004041717, 0.003177141, 0.0, 0.011362495, 0.03685609, 0.008397426, 0.0, -0.08597375, -0.111830845, -0.110682696, 0.0) * go_2(-1.0, 0.0); + result += mat4(-0.046171717, 0.23827009, -0.119844295, 0.0, 0.005446854, 0.00826863, 0.002206898, 0.0, -0.11165099, -0.14702465, -0.1203897, 0.0, 0.12169146, 0.11585612, 0.10473949, 0.0) * go_2(-1.0, 1.0); + result += mat4(-0.18456058, 0.13293917, 0.06901046, 0.0, 0.010084839, -0.0006403412, -0.011852079, 0.0, -0.062180433, -0.06781299, -0.08111614, 0.0, -0.02218764, -0.015271581, -0.019768957, 0.0) * go_2(0.0, -1.0); + result += mat4(0.034135204, -0.20479187, 0.27587336, 0.0, -0.058966126, -0.065613195, -0.056132246, 0.0, 0.07697151, 0.0706985, 0.098771244, 0.0, 0.06747748, 0.10971204, 0.13186967, 0.0) * go_2(0.0, 0.0); + result += mat4(0.017322296, -0.06730298, 0.07034802, 0.0, 0.013449086, 0.007968637, 0.012679429, 0.0, 0.0902275, 0.11269024, 0.08805874, 0.0, -0.06179092, -0.06705483, -0.13040404, 0.0) * go_2(0.0, 1.0); + result += mat4(-0.052505482, -0.018989135, 0.03388015, 0.0, -0.068704374, -0.05350174, -0.057223134, 0.0, 0.011537428, 0.017847707, 0.0270268, 0.0, -0.008713432, -0.02698126, -0.017463546, 0.0) * go_2(1.0, -1.0); + result += mat4(0.15220639, -0.05387876, -0.08352881, 0.0, 0.026893694, 0.027608246, 0.025959803, 0.0, 0.035518423, 0.035180617, 0.01858579, 0.0, -0.021064412, -0.014214504, -0.0051168953, 0.0) * go_2(1.0, 0.0); + result += mat4(-0.11906418, 0.13103563, -0.06997703, 0.0, 0.005664134, 0.0075536724, 0.009519002, 0.0, -0.025366528, -0.013528652, -0.015087253, 0.0, 0.0071858848, -0.027586544, 0.016723866, 0.0) * go_2(1.0, 1.0); + result += mat4(0.015307254, 0.02070064, 0.012568325, 0.0, 0.06845904, -0.033312738, -0.0058661965, 0.0, -0.016281582, -0.01631146, -0.021667928, 0.0, -0.012522515, -0.020992521, -0.015833912, 0.0) * go_3(-1.0, -1.0); + result += mat4(0.04937768, 0.0405066, 0.041023023, 0.0, 0.05503905, -0.13230717, -0.14439866, 0.0, 0.01618014, 0.0122084245, 0.016226485, 0.0, 0.0014116488, 0.011495032, 0.002382562, 0.0) * go_3(-1.0, 0.0); + result += mat4(-0.04847043, -0.050508745, -0.041216835, 0.0, -0.067119725, -0.0448592, -0.011477939, 0.0, -0.035635237, -0.037191708, -0.034170575, 0.0, -0.016549444, -0.027191242, -0.017883684, 0.0) * go_3(-1.0, 1.0); + result += mat4(0.034498286, 0.026938718, 0.052970096, 0.0, -0.10511612, -0.13200648, -0.09493861, 0.0, -0.0018118658, -0.0072637545, 0.0043198126, 0.0, -0.038338073, -0.031448375, -0.035546694, 0.0) * go_3(0.0, -1.0); + result += mat4(0.048043568, 0.057704087, 0.06386534, 0.0, 0.04542113, 0.20604704, 0.2598609, 0.0, 0.049180254, 0.064697154, 0.05789202, 0.0, 0.08370016, 0.08105142, 0.08807082, 0.0) * go_3(0.0, 0.0); + result += mat4(-0.018156562, 0.008306473, -0.014604633, 0.0, 0.18912326, 0.024388695, -0.08006485, 0.0, 0.009333483, 0.011596536, 0.0056475243, 0.0, 0.027749287, 0.039271932, 0.02655462, 0.0) * go_3(0.0, 1.0); + result += mat4(-0.030157864, -0.035259083, -0.05771176, 0.0, -0.22293729, 0.0768592, 0.14670776, 0.0, -0.013287718, -0.011300663, -0.01670879, 0.0, -0.009928094, -0.016364388, -0.013879692, 0.0) * go_3(1.0, -1.0); + result += mat4(-0.013415757, -0.013257486, -0.01940959, 0.0, 0.014077903, 0.05088362, 0.04006286, 0.0, -0.0033998038, -0.0062313867, -0.00833104, 0.0, 0.015246904, 0.017004015, 0.01802002, 0.0) * go_3(1.0, 0.0); + result += mat4(-0.0016801689, -0.022088053, 0.0031654288, 0.0, 0.027371893, -0.007083684, -0.10904292, 0.0, -0.015408179, -0.01793058, -0.010933266, 0.0, -0.023707654, -0.026440954, -0.025527867, 0.0) * go_3(1.0, 1.0); + result += mat4(0.009003153, 0.0078040734, 0.037757806, 0.0, 0.054483943, 0.058831017, 0.060899608, 0.0, -0.011133613, -0.01601666, -0.007977876, 0.0, -0.07686641, -0.049250316, -0.045481566, 0.0) * go_4(-1.0, -1.0); + result += mat4(0.04344093, 0.07054628, 0.037604738, 0.0, -0.0914579, -0.105631486, -0.108511426, 0.0, 0.04426105, 0.0492282, 0.048829302, 0.0, 0.14961997, 0.16839094, 0.16053638, 0.0) * go_4(-1.0, 0.0); + result += mat4(-0.0032967671, -0.019857304, -0.014145445, 0.0, -0.013525817, 0.001614058, -0.009782301, 0.0, -0.044629153, -0.07325184, -0.07655591, 0.0, -0.08667146, 0.024955297, 0.04591592, 0.0) * go_4(-1.0, 1.0); + result += mat4(0.04816059, 0.030722216, 0.032487474, 0.0, 0.09684092, 0.10024655, 0.101904154, 0.0, 0.08137448, 0.092595905, 0.1118598, 0.0, 0.0796932, 0.009548236, 0.0013610915, 0.0) * go_4(0.0, -1.0); + result += mat4(-0.17208904, -0.19137467, -0.17717223, 0.0, -0.10827683, -0.11960323, -0.1204814, 0.0, -0.030430049, -0.019306151, -0.05230355, 0.0, -0.021787236, -0.015395303, -0.093210146, 0.0) * go_4(0.0, 0.0); + result += mat4(0.04527227, 0.057978027, 0.10569097, 0.0, -0.1015645, -0.12595437, -0.097537845, 0.0, 0.060087565, 0.09157804, 0.060251515, 0.0, 0.05170573, 0.042533275, 0.08233745, 0.0) * go_4(0.0, 1.0); + result += mat4(-0.01908824, 0.0039797956, -0.015060464, 0.0, 0.008187719, 0.013936167, 0.008152853, 0.0, -0.02618239, -0.056918032, -0.0504624, 0.0, -0.083657, 0.02122987, 0.022906482, 0.0) * go_4(1.0, -1.0); + result += mat4(0.058020473, 0.08750743, 0.032107625, 0.0, 0.021999976, 0.030119067, 0.03513493, 0.0, 0.06583862, 0.08137626, 0.09867312, 0.0, -0.0021064964, -0.1227668, -0.0912879, 0.0) * go_4(1.0, 0.0); + result += mat4(0.022279112, -0.012710205, -0.0011416139, 0.0, 0.05606448, 0.066590145, 0.061043978, 0.0, -0.008292685, -0.019583363, -0.006212003, 0.0, -0.053282585, -0.029954918, -0.021437356, 0.0) * go_4(1.0, 1.0); + result += mat4(0.019198919, 0.020138288, 0.02048463, 0.0, -0.012281223, -0.01964347, -0.010557296, 0.0, 0.00830553, 0.02714052, 0.016606145, 0.0, -0.0047117253, -0.0060619717, 0.0015284229, 0.0) * go_5(-1.0, -1.0); + result += mat4(-0.01620369, -0.018634152, -0.018486649, 0.0, -0.0037721654, -0.005256878, -0.0032221128, 0.0, 0.048627518, 0.033200823, 0.05459796, 0.0, 0.0064762663, 0.005607537, 0.0014544157, 0.0) * go_5(-1.0, 0.0); + result += mat4(-0.0049319286, -0.003757374, -0.008033526, 0.0, -0.009529666, -0.01023788, -0.011724289, 0.0, 0.08779079, 0.11368912, 0.10699827, 0.0, 0.014564745, 0.017019482, 0.018130492, 0.0) * go_5(-1.0, 1.0); + result += mat4(-0.018128838, -0.020529313, -0.021291668, 0.0, 0.022232227, 0.032956265, 0.030233478, 0.0, 0.057042982, 0.052126013, 0.039634123, 0.0, 0.04395578, 0.042147905, 0.047779605, 0.0) * go_5(0.0, -1.0); + result += mat4(-0.008916549, -0.011398656, -0.006473247, 0.0, 0.07594334, 0.07910866, 0.0726948, 0.0, -0.1670962, -0.17030263, -0.18856722, 0.0, 0.0067814733, 0.01550948, 0.002108076, 0.0) * go_5(0.0, 0.0); + result += mat4(-0.0020052418, -0.0015789939, 0.0024248413, 0.0, -0.018381692, -0.012541983, -0.016114611, 0.0, -0.054943718, -0.08546223, -0.045788202, 0.0, -0.02116913, -0.02479526, -0.02281286, 0.0) * go_5(0.0, 1.0); + result += mat4(0.004089441, 0.004577225, 0.009165186, 0.0, -0.023352642, -0.03344756, -0.03359231, 0.0, 0.051127084, 0.055484984, 0.06788994, 0.0, -0.009284511, -0.0026670755, -0.011205212, 0.0) * go_5(1.0, -1.0); + result += mat4(-0.008048874, -0.003658728, -0.011127851, 0.0, 0.0034879802, 0.014905489, 0.016252292, 0.0, -0.07353042, -0.0754597, -0.09509333, 0.0, 0.009990113, -0.0003871956, 0.0049740863, 0.0) * go_5(1.0, 0.0); + result += mat4(0.009073377, 0.006138898, 0.006741848, 0.0, -0.009877169, -0.019738095, -0.015525384, 0.0, 0.057441086, 0.06538757, 0.053950094, 0.0, -0.0011834118, 0.0010558038, 0.004649949, 0.0) * go_5(1.0, 1.0); + result += vec4(-0.008654677, -0.008960475, -0.009207461, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x2_S.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x2_S.glsl new file mode 100644 index 0000000..d772af8 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x2_S.glsl @@ -0,0 +1,612 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.21797048, -0.212819, 0.04459435, -0.04423212, 0.33138385, -0.17247623, -0.120917134, 0.23732775, 0.19597639, -0.33451796, -0.021611832, -0.017377583, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.12904494, -0.01359655, -0.40096298, 0.32336384, 0.25585845, 0.23335338, -0.4461792, 0.6704216, -0.13310009, 0.05402756, -0.5437191, 0.32286412, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.062060427, 0.07804567, -0.016457668, 0.25662076, -0.1567372, -0.04152728, 0.15387323, -0.12621297, 0.097600766, 0.023655256, 0.052513056, 0.30542207, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.18701962, -0.4233291, -0.086120665, -0.16739355, -0.63525766, -0.6932253, -0.1777197, -0.5140771, -0.19856504, -0.4475936, 0.12013144, -0.11179723, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.21761869, 0.65340257, 0.25189772, -0.20664653, 0.05614669, 0.81569123, 0.26439375, -0.22282092, -0.20241423, 0.71137106, 0.041106064, -0.558707, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.014729233, -0.09996152, 0.22300848, -0.04927536, -0.08988005, -0.12005097, -0.04899431, -0.18048033, -0.17237821, -0.03483246, 0.33783346, 0.22711775, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.010091276, -0.11388358, 0.15959989, 0.16021152, 0.353214, -0.3420636, 0.39659426, 0.14725044, 0.048077144, -0.06667417, 0.047712438, 0.1991372, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.17764397, 0.014430492, -0.009073561, 0.052957222, -0.26687172, 0.21589288, 0.29830712, 0.15975259, -0.3100123, -0.03535766, 0.18167259, 0.07284526, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.22984034, 0.11556983, -0.26964244, -0.31616172, 0.059412085, 0.10849835, -0.3704685, -0.16312528, 0.3656624, 0.11611945, -0.3790553, -0.4223729, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.035786826, -3.2876174e-05, -0.029245647, 0.0141837); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_tf +//!SAVE conv2d_2_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.02899383, 0.12331602, 0.1755303, 0.14228395, -0.23719487, 0.28783783, -0.15755224, 0.16501419, 0.09971766, -0.112085044, 0.15989542, 0.013457646, -0.21386063, -0.10184436, 0.2920392, 0.11544854) * go_0(-1.0, -1.0); + result += mat4(-0.09577094, 0.052495796, 0.5072853, -0.16720837, -0.030821526, -0.13200149, 0.061197, 0.09785798, 0.097248554, -0.056709435, -0.12684566, 0.25153175, 0.12550084, 0.5723225, -0.061046973, 0.2737185) * go_0(-1.0, 0.0); + result += mat4(0.14275773, 0.3116807, 0.020866666, -0.029567914, 0.054051064, -0.018836629, 0.16237853, 0.23302408, 0.23014219, -0.20245266, -0.040263597, 0.10550008, -0.1419676, -0.07544839, -0.04724355, 0.06713984) * go_0(-1.0, 1.0); + result += mat4(-0.36056906, 0.21647012, -0.21559654, -0.1321654, 0.26311335, -0.35098836, 0.08977303, -0.2912846, -0.03221502, -0.33539286, 0.55078757, 0.14826211, 0.12334663, 0.031169238, 0.0626983, 0.13543329) * go_0(0.0, -1.0); + result += mat4(0.032711882, 0.53162986, 0.1736962, 0.22126123, 0.13229683, 0.12998195, -0.08843839, 0.3830243, -0.29015037, -0.13158421, 0.2987182, 0.0039998284, -0.4924434, -0.34931743, 0.3501415, -0.015819922) * go_0(0.0, 0.0); + result += mat4(0.039777573, -0.039639533, -0.27015024, -0.33144557, -0.11338446, -0.19242573, 0.48813564, -0.24602202, 0.120988116, -0.12362437, 0.23984735, -0.33717445, 0.14359151, -0.09583342, -0.015998919, -0.19725454) * go_0(0.0, 1.0); + result += mat4(0.17751572, -0.14914338, -0.24518701, 0.22713365, 0.10613938, 0.12027283, 0.1582502, 0.011725502, -0.02418084, 0.106176965, 0.10111444, 0.07009088, 0.017611375, 0.369643, -0.21788761, -0.15093188) * go_0(1.0, -1.0); + result += mat4(0.0863035, -0.43148708, 0.0994751, 0.17801163, -0.42566994, -0.2744198, -0.028655952, -0.2481176, -0.26144302, -0.26753834, 0.11043684, -0.48341632, 0.41320416, 0.25118062, -0.31461874, 0.36563694) * go_0(1.0, 0.0); + result += mat4(-0.04845539, -0.2790916, -0.1626853, 0.18036526, 0.2368911, -0.5688802, 0.05240968, -0.034105603, -0.14011742, -0.37861058, -0.096871816, -0.27824572, 0.41195226, 0.23514003, 0.12282304, 0.28447765) * go_0(1.0, 1.0); + result += mat4(-0.13261828, -0.13148594, 0.05470859, -0.114724025, 0.17642413, -0.05585294, 0.44086194, -0.10915775, -0.23456413, -0.18385538, -0.4193869, 0.2708079, 0.03720121, 0.15744475, 0.092449814, -0.0922205) * go_1(-1.0, -1.0); + result += mat4(-0.14146912, 0.386554, -0.15197717, 0.1682067, -0.33229175, 0.18661757, 0.142476, -0.05811066, -0.12433686, 0.20817612, 0.17710523, 0.24227881, -0.3699883, -0.14644128, -0.066485085, -0.010829679) * go_1(-1.0, 0.0); + result += mat4(0.02267665, -0.21349631, 0.05916224, 0.07111888, -0.3317847, -0.044436328, -0.08067249, -0.13602455, -0.2652356, -0.13666181, 0.022768881, -0.21616152, 0.10042784, 0.13159652, -0.062913835, -0.12882891) * go_1(-1.0, 1.0); + result += mat4(-0.21270499, 0.14776433, 0.26771793, 0.41242316, -0.22445452, 0.3885536, -0.36809587, 0.09838256, 0.030300573, -0.016225152, -0.41985163, -0.32797396, 0.3021247, -0.2566993, 0.24282119, 0.071926266) * go_1(0.0, -1.0); + result += mat4(-0.14173156, 0.10360139, 0.03603846, 0.23004, -0.37078354, -0.7556456, 0.43359467, -0.42839774, -0.08143208, -0.061868757, -0.017048405, -0.1806454, 0.07700074, -0.028751602, -0.49057922, -0.07150736) * go_1(0.0, 0.0); + result += mat4(-0.21411006, -0.039522924, -0.11006789, 0.30172586, -0.019509817, 0.34646508, 0.03348711, 0.3949624, 0.09367525, 0.11841692, 0.064099714, 0.30587056, 0.00071666663, 0.09569139, 0.07905173, -0.043038815) * go_1(0.0, 1.0); + result += mat4(-0.1082019, -0.081530154, 0.1997084, 0.0064345463, -0.002075576, 0.0122295255, -0.21594198, -0.20039533, 0.023058774, 0.061136324, -0.043233447, 0.018114857, -0.12538326, -0.008044748, 0.08879177, 0.29855737) * go_1(1.0, -1.0); + result += mat4(0.06425974, -0.162355, -0.07716668, -0.1783711, 0.08560717, 0.42500424, 0.15796345, 0.25115898, 0.39673963, 0.24484198, -0.16364126, 0.45589596, -0.54474986, -0.41130677, 0.15731613, -0.13945425) * go_1(1.0, 0.0); + result += mat4(-0.4015527, -0.22220162, 0.088239804, -0.16343592, -0.05973259, -0.053600565, -0.11719207, 0.340347, 0.07810557, 0.06943392, 0.07088433, 0.36863637, -0.16925047, -0.09059371, -0.086145744, -0.26417965) * go_1(1.0, 1.0); + result += vec4(-0.041068032, 0.02181786, -0.02366552, 0.07215206); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_tf +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.016554115, 0.41586095, -0.11134646, 0.041401796, -0.032285847, 0.07744446, 0.012422875, 0.08027069, -0.11944374, -0.4644861, -0.1625419, 0.09757052, 0.08459575, -0.32677624, -0.15526624, 0.13285875) * go_0(-1.0, -1.0); + result += mat4(-0.05147117, -0.31841335, -0.07968151, -0.037866592, -0.1438723, 0.21164599, 0.042448167, 0.1660907, -0.03240849, 0.2866945, -0.123190455, -0.2005157, -0.100519955, -0.04109891, -0.14908177, -0.20055951) * go_0(-1.0, 0.0); + result += mat4(-0.33594802, 0.17970876, -0.08458461, 0.22198248, 0.041744266, 0.053618595, -0.64927346, 0.43071616, -0.042823542, 0.36384553, 0.13817975, -0.23117469, -0.009722301, 0.043797005, -0.006320899, -0.056160737) * go_0(-1.0, 1.0); + result += mat4(0.020939048, 0.15744017, -0.18557346, 0.2221421, 0.13683408, -0.17577636, -0.1028824, -0.05909411, -0.11116942, -0.23898265, 0.013275228, -0.10834194, -0.23541391, -0.045599524, 0.13663499, -0.061863456) * go_0(0.0, -1.0); + result += mat4(-0.9347821, -1.0879762, 0.029261602, 0.0058627487, 0.37568024, 0.07800278, 0.22918043, -0.22581682, -0.24621771, 0.0565432, -0.01175261, 0.20289935, -0.18791674, -0.34127015, -0.20261073, 0.24382167) * go_0(0.0, 0.0); + result += mat4(-0.42576772, -0.9465751, 0.36503372, 0.047452617, -0.03021601, 0.19896118, -0.9916106, 0.68441176, -0.097055614, -0.039465737, -0.3072724, 0.3834049, 0.044579748, 0.10185175, -0.07127564, 0.053964186) * go_0(0.0, 1.0); + result += mat4(-0.12718496, -0.20010719, -0.13560185, -0.28841987, -0.18198563, 0.06924996, 0.15375975, 0.007953754, -0.03143177, 0.24778824, -0.41971257, -0.15984616, 0.06914517, -0.15320878, -0.058414314, -0.1829401) * go_0(1.0, -1.0); + result += mat4(-0.05676951, -0.39852038, -0.0008664457, 0.073233515, -0.110736564, -0.12950265, -0.32641715, 0.05254214, -0.0013476483, 0.04590487, -0.6886247, -0.029103741, 0.13570555, -0.06356145, 0.26564398, 0.16304392) * go_0(1.0, 0.0); + result += mat4(-0.14373688, 0.2627747, 0.19523594, -0.04094942, -0.027800431, 0.080428846, -0.21676755, 0.22764, -0.08686052, -0.14352795, 0.012905041, 0.12002593, 0.096998215, -0.0822731, 0.25796455, 0.3244333) * go_0(1.0, 1.0); + result += mat4(0.13717347, -0.2534293, -0.08265135, 0.02238695, 0.061414074, -0.12315743, -0.105848454, -0.0324352, -0.019163579, 0.5106144, 0.111571215, -0.17051223, 0.14541212, 0.26512033, 0.17036803, -0.05180038) * go_1(-1.0, -1.0); + result += mat4(0.10731618, -0.011980742, -0.06125307, -0.043496255, 0.06382452, -0.53873694, -0.21860467, 0.076045096, 0.014617647, -0.12188417, -0.23983037, 0.20181973, -0.03130421, -0.23090406, 0.07917799, 0.11006313) * go_1(-1.0, 0.0); + result += mat4(-0.07749841, -0.17617406, -0.2105074, 0.20204528, 0.31133667, 0.045247886, 0.38000366, -0.23678038, 0.14622565, -0.077519946, 0.04709938, 0.28799757, -0.02295692, 0.021911716, 0.037108235, -0.050266817) * go_1(-1.0, 1.0); + result += mat4(-0.04620016, -0.053893, 0.07671593, -0.08702991, -0.31122503, 0.08491399, 0.39734617, 0.10588835, 0.1706988, -0.0030106953, -0.23740743, 0.119870976, 0.04136371, -0.08475979, -0.26021543, -0.26772037) * go_1(0.0, -1.0); + result += mat4(0.013240527, 0.27298495, 0.061895885, -0.1766251, -0.35479823, -0.5952594, -0.2486822, 0.40527418, 0.017724868, -0.64586586, -0.056991536, -0.22597985, 0.1953091, -0.09300436, 0.28394333, -0.17164071) * go_1(0.0, 0.0); + result += mat4(-0.0437722, 0.20237646, 0.1734046, 0.12661959, 0.3563361, 0.20119205, 0.49104276, -0.62781703, 0.10580526, 0.09021795, 0.2986983, 0.05439145, -0.030656314, -0.06551242, 0.06034035, 0.24646781) * go_1(0.0, 1.0); + result += mat4(0.07150872, 0.2634299, -0.15512806, 0.032365914, -0.04214553, -0.32488832, -0.029638838, -0.11298656, 0.016363487, -0.20394005, 0.13789146, -0.1160082, -0.29543686, 0.056006238, 0.022565948, -0.0209169) * go_1(1.0, -1.0); + result += mat4(-0.08222271, 0.1397535, 0.18386504, -0.029725704, 0.19525485, -0.26657727, 0.3193575, 0.39357802, 0.13274485, 0.063030235, 0.5509124, 0.076320685, -0.24871972, -0.23029849, -0.29287627, 0.0009975942) * go_1(1.0, 0.0); + result += mat4(-0.11978757, -0.115064315, -0.32878634, -0.091591395, 0.011527068, -0.07584138, 0.20703748, -0.16326526, -0.07295838, -0.088844456, 0.0057264403, 0.08162376, -0.17551814, 0.10645812, -0.1522622, -0.18409562) * go_1(1.0, 1.0); + result += vec4(0.022193057, 0.0031918385, 0.04232464, -0.0056721596); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x1x1x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_2 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.5713254, 0.59251165, -0.14328027, 0.3463698, -0.6896771, -0.14296922, -0.3860265, 0.4501756, -0.39508528, 0.40213254, -0.16835114, -0.0029681697, 0.06473641, 0.18837942, 0.18787977, -0.14020114) * g_0; + result += mat4(0.08934268, -0.28500432, 0.45083842, 0.16448207, 0.10745752, -0.07937402, 0.17439699, -0.4361477, 0.35800517, -0.16299683, -0.112771064, 0.46456474, -0.016184373, -0.2676676, -0.09250065, 0.30093423) * g_1; + result += mat4(-0.23437534, 0.30892932, -0.3382499, -0.11436098, -0.09584061, 0.010766669, -0.6745943, 0.19373886, 0.19484869, 0.0063928245, 0.20636424, -0.6427624, 0.22710505, 0.580292, -0.56174964, -0.15055792) * g_2; + result += mat4(-0.4264334, -0.43369257, 0.29302827, -0.2763896, 0.20638986, 0.066474296, 0.18825729, 0.14629841, -0.70805573, 0.3601201, -0.49326342, 0.4604217, -0.3331877, -0.30442527, 0.33416224, 0.08233912) * g_3; + result += mat4(-0.043108743, 0.32130125, -0.13206981, 0.56653565, -0.069573626, -0.32312635, 0.17708589, 0.12717012, -0.39452434, 0.7504042, -0.563233, -0.38678297, -0.20246895, 0.399379, -0.1829332, -0.4856879) * g_4; + result += mat4(0.46322855, -0.14412759, 0.26863632, -0.37377957, 0.18703142, 0.12013766, -0.010468053, 0.36067548, 0.29069972, -0.5482968, 0.1952737, 0.42751312, 0.47847852, -0.13346007, 0.35286024, 0.23347002) * g_5; + result += vec4(0.08279582, -0.12997188, 0.08899629, 0.018068794); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!SAVE conv2d_5_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.014682038, -0.12901896, -0.16721351, -0.14512789, 0.1975804, 0.31713018, -0.13655594, -0.07817547, -0.1379136, 0.012892589, 0.23835693, 0.18214643, 0.15153849, -0.16835038, 0.2145134, -0.10536737) * go_0(-1.0, -1.0); + result += mat4(0.020937767, 0.19783083, -0.54175997, 0.037820112, 0.2667656, 0.22040194, 0.37909588, 0.18100308, 0.020120522, -0.60052997, -0.043528315, -0.25213948, -0.15584327, 0.27506578, -0.092381746, 0.32063565) * go_0(-1.0, 0.0); + result += mat4(0.122979, -0.16768639, -0.31459492, -0.0615338, 0.2467096, 0.39879864, 0.30217072, 0.05501944, -0.036550965, 0.30801496, -0.21168339, -0.13092734, -0.10309731, 0.02561574, -0.28071794, 0.111772805) * go_0(-1.0, 1.0); + result += mat4(0.30419037, -0.27610013, -0.20951773, -0.4682423, 0.013910727, 0.45360255, 0.26947716, -0.28788614, -0.3465049, -0.027093071, 0.19358, -0.0759516, 0.05402844, 0.23829742, 0.14955573, 0.10131891) * go_0(0.0, -1.0); + result += mat4(-0.18213613, 0.1460758, -0.13212326, -0.33431244, -0.038493834, -0.399577, 0.29018825, 0.046454914, 0.5486579, -0.37918556, -0.09230001, -0.06452045, -0.27307686, 0.16817085, -0.3927623, 0.4070809) * go_0(0.0, 0.0); + result += mat4(0.3655112, 0.42978507, -0.20408633, -0.17724891, 0.018163562, 0.16742137, -0.20677765, -0.18758915, 0.08664044, 0.15635273, 0.04482592, -0.10135638, -0.042055663, 0.0120497495, -0.061840538, -0.23626032) * go_0(0.0, 1.0); + result += mat4(0.29038852, -0.14159334, -0.07436412, -0.13352816, -0.3326411, 0.31299374, 0.2287002, 0.2508818, 0.26760912, -0.0037750339, 0.0058190194, -0.024687344, -0.1777058, -0.015039313, -0.07848877, -0.2052551) * go_0(1.0, -1.0); + result += mat4(0.33255517, 0.45893422, 0.20505154, -0.11818784, -0.0353625, -0.2725971, 0.15468855, 0.14384854, -0.01441209, 0.12198328, -0.07893593, 0.0810518, 0.323934, -0.29967225, -0.24283892, -0.11573156) * go_0(1.0, 0.0); + result += mat4(0.17880976, -0.20802346, 0.028815132, 0.22950941, 0.22764732, 0.32852155, -0.16896188, -0.22661959, 0.06486004, 0.00723564, -0.022966828, -0.05319699, 0.03109079, -0.00031444168, -0.16299056, -0.120937996) * go_0(1.0, 1.0); + result += mat4(0.023376284, 0.029397544, -0.23599954, 0.15093243, -0.058068898, -0.022674788, 0.016787661, -0.100131355, -0.06670702, -0.0654595, 0.060609553, -0.24878198, 0.1184957, 0.12865701, -0.110585764, 0.027937055) * go_1(-1.0, -1.0); + result += mat4(-0.21986784, -0.044010285, 0.07705757, -0.06578579, -0.34479773, -0.27297345, 0.07099886, 0.043877546, -0.3284597, 0.60647607, -0.13495111, 0.39562428, 0.12766926, -0.26691958, -0.13183068, 0.19720052) * go_1(-1.0, 0.0); + result += mat4(-0.15688242, 0.02787055, 0.11245185, 0.010610981, 0.31926978, 0.6880586, -0.08503132, 0.2515481, -0.24620119, -0.3889153, 0.07599151, -0.04537119, -0.55283034, -0.170027, -0.14118128, -0.30742723) * go_1(-1.0, 1.0); + result += mat4(0.037949517, 0.0026801233, 0.013419875, -0.07403992, -0.17499912, 0.012353954, 0.15956756, -0.14248073, -0.0017226954, 0.052071165, -0.19224213, 0.00033604537, -0.1924897, -0.21002872, -0.23516886, -0.09922695) * go_1(0.0, -1.0); + result += mat4(-0.21850063, -0.22287996, -0.046637002, -0.28330007, -0.106190234, 0.027529838, 0.5553775, 0.3273539, 0.0110251075, 0.0067749587, 0.18001638, 0.18281236, 0.19831169, -0.03785556, 0.06003045, -0.12625378) * go_1(0.0, 0.0); + result += mat4(-0.44703564, -0.2896555, 0.72527117, 0.29206118, -0.004199225, 0.46381885, 0.049183566, 0.14319502, -0.3226642, -0.39931563, 0.23164241, 0.10428929, -0.598285, -0.21007223, -0.36386037, 0.09704366) * go_1(0.0, 1.0); + result += mat4(0.0462183, -0.063166276, 0.14364852, 0.212176, 0.17403619, -0.09878261, 0.0017970221, -0.31676117, -0.1104441, -0.073732674, -0.12653485, -0.20641124, 0.024175802, 0.005339486, -0.08178427, -0.2761102) * go_1(1.0, -1.0); + result += mat4(-0.19256714, -0.246452, 0.3358081, -0.16956173, -0.2549593, 0.21122634, -0.06487135, -0.051329695, 0.110607915, -0.09860077, 0.1355533, -0.1489809, 0.023808947, 0.29945812, -0.056281622, 0.0020249223) * go_1(1.0, 0.0); + result += mat4(-0.34458768, -0.074856885, -0.01856148, 0.06707525, -0.3314005, -0.16196185, 0.33313355, 0.20943385, -0.266928, -0.27552158, 0.018665945, 0.013205852, -0.33579, -0.16876023, -0.031895302, -0.13143763) * go_1(1.0, 1.0); + result += vec4(-0.0375635, -0.08823075, 0.0025748173, 0.014370204); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.23653865, 0.034179572, 0.2680533, 0.03070888, -0.34707117, 0.05323393, 0.20052955, -0.09135351, 0.031460114, -0.23158966, 0.08698448, -0.120006196, -0.11532645, -0.08093671, 0.0037868635, 0.10042472) * go_0(-1.0, -1.0); + result += mat4(-0.018171439, -0.12269748, 0.09214298, 0.07735124, -0.38116398, 0.2625897, 0.045807257, 0.06052568, 0.15468815, -0.40968472, 0.37565818, 0.032876365, 0.058758568, 0.17787455, 0.11352259, 0.23624317) * go_0(-1.0, 0.0); + result += mat4(-0.094512895, 0.15499377, -0.15345438, -0.18841587, -0.07849487, 0.037030153, -0.17632313, 0.10438565, -0.18453433, -0.079957336, 0.10274841, 0.07198532, -0.04770108, 0.16846456, 0.31273615, -0.13635644) * go_0(-1.0, 1.0); + result += mat4(0.13088372, -0.008759914, 0.1716414, 0.082108594, -0.51469034, 0.18175006, -0.16164891, 0.1918173, 0.21287642, -0.094005, 0.20578988, 0.13113159, 0.07577773, 0.09737444, -0.08676422, -0.059179075) * go_0(0.0, -1.0); + result += mat4(-0.28462783, 0.42669204, 0.3224737, -0.29510942, -0.12424295, -0.16050552, -0.12770653, 0.0930919, -0.22179118, 0.33128613, -0.42117682, -0.14691186, 0.41048542, -0.040950067, -0.13896315, -0.24155742) * go_0(0.0, 0.0); + result += mat4(0.15060697, -0.088174045, 0.27417374, 0.0397946, 0.0078119785, 0.091031335, 0.008468849, -0.04850853, 0.03755719, -0.005380725, 0.13488528, -0.21345685, 0.12456556, 0.17801593, -0.21285392, -0.2111536) * go_0(0.0, 1.0); + result += mat4(0.13265789, 0.0058933417, -0.35399312, -0.10547572, 0.014682838, 0.03247095, -0.046823166, -0.086899005, 0.022227641, -0.10579067, 0.13096501, -0.020894872, 0.08426519, 0.068370126, -0.051551163, -0.02995364) * go_0(1.0, -1.0); + result += mat4(-0.19551872, 0.16199462, 0.31150326, 0.082667254, 0.20023693, -0.22914512, -0.29721177, -0.2741043, 0.08894789, -0.06843645, -0.019058365, -0.06370645, 0.11551113, 0.011740334, -0.17567629, -0.05505456) * go_0(1.0, 0.0); + result += mat4(0.043439314, 0.19573408, -0.17608817, 0.043509595, 0.22829561, 0.059223037, 0.05529666, -0.16555707, 0.2754871, 0.042527672, 0.09646824, 0.07046857, 0.10173791, 0.04030276, -0.0544029, -0.26882443) * go_0(1.0, 1.0); + result += mat4(0.022059897, -0.04408266, -0.18699357, -0.09142074, 0.044572234, -0.14162005, 0.108728774, -0.08984615, -0.14737117, 0.12838708, -0.0019777226, 0.21070306, -0.111902215, 0.23080471, 0.0134878885, 0.07111553) * go_1(-1.0, -1.0); + result += mat4(0.12182694, 0.063630685, 0.110018775, -0.03879438, 0.333222, -0.45207745, 0.3209222, 0.123050354, -0.40609705, 0.48236838, 0.14323111, -0.12578699, 0.0015041681, -0.019454073, 0.07013497, 0.093687624) * go_1(-1.0, 0.0); + result += mat4(0.07142873, -0.32094324, 0.3302099, -0.3693182, 0.15444939, -0.14791024, 0.07907135, -0.111387216, 0.045319714, -0.12518585, 0.13145387, 0.09406553, 0.038564056, -0.3085204, 0.39396307, 0.12083835) * go_1(-1.0, 1.0); + result += mat4(0.16042647, -0.16409212, 0.105187505, 0.14153793, 0.269689, -0.14337258, 0.0915773, -0.26669213, -0.059172913, 0.1121628, -0.06627627, -0.29320538, -0.038348313, 0.060661227, -0.09798249, -0.027975965) * go_1(0.0, -1.0); + result += mat4(-0.4110324, -0.06847458, -0.22187959, -0.17196147, -0.2673298, 0.15388274, -0.20157869, 0.45323396, 0.419686, -0.15836199, -0.08358049, 0.2121381, -0.33858112, 0.06060976, -0.0400928, 0.047277283) * go_1(0.0, 0.0); + result += mat4(0.040201366, 0.12845124, 0.6901938, -0.009195482, 0.014911491, -0.06885409, -0.08029354, 0.1280681, 0.13877457, 0.0048243836, -0.13357066, 0.02874182, -0.07086705, -0.08369575, 0.070227675, 0.1674778) * go_1(0.0, 1.0); + result += mat4(-0.009859274, -0.06701725, 0.25491804, -0.035013054, 0.15333284, -0.055876795, -0.22912641, -0.30044466, 0.05092424, 0.15086575, -0.062285095, 0.05064704, 0.02725196, 0.0008295126, -0.24010411, -0.0076930025) * go_1(1.0, -1.0); + result += mat4(-0.033275966, -0.25090593, 0.2981365, 0.12117296, -0.04844607, 0.12529893, 0.041575357, -0.10317985, 0.048691675, 0.13610789, -0.15120777, -0.21308705, -0.019387634, 0.20519307, -0.09056782, -0.04757386) * go_1(1.0, 0.0); + result += mat4(-0.010075166, -0.08621876, -0.19569752, 0.1553574, -0.115346536, -0.009765705, -0.37459797, -0.017294222, -0.18065308, 0.052127127, 0.045157496, 0.11466202, 0.036598917, 0.1750653, -0.18558112, 0.13441156) * go_1(1.0, 1.0); + result += vec4(0.09810561, 0.044599928, -0.0019709724, 0.064204566); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x1x1x32 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_2 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_6 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.16594207, 0.47900248, 0.15186168, -0.38448718, -0.33396608, -0.12204449, -0.21397614, 0.22567725, 0.2399077, 0.16945037, 0.072409995, -0.015192162, -0.5004075, -0.10852234, 0.14456534, 0.36797065) * g_0; + result += mat4(-0.03527082, -0.13062008, 0.2529196, 0.16799021, 0.2743078, 0.22924475, 0.4391596, -0.34473032, -0.08008852, 0.14463465, -0.30243787, 0.0352092, 0.49160767, 0.18479864, -0.13473135, -0.40414095) * g_1; + result += mat4(0.14367065, 0.058683306, 0.091011606, 0.15336677, -0.119622074, 0.04199915, -0.19148684, -0.103310175, 0.116265774, -0.105254985, 0.6245667, -0.26108894, 0.18143174, -0.1839799, 0.048575178, -0.55331755) * g_2; + result += mat4(0.35027766, 0.03997352, -0.023643266, -0.3330187, -0.10459313, -0.4023968, 0.07325048, -0.09424643, 0.06866858, 0.53465986, -0.44508684, 0.18428375, -0.23138772, 0.027757954, 0.17421234, 0.026670102) * g_3; + result += mat4(-0.4365351, 0.22217907, -0.6871689, 0.045348447, 0.15043557, -0.48645085, -0.29547492, 0.057184387, -0.03682008, 0.3751258, -0.3201267, -0.17569698, 0.3118066, -0.3671979, 0.41987854, -0.122571744) * g_4; + result += mat4(0.44111615, -0.40698248, 0.0016049108, -0.25277275, -0.28967234, 0.016609022, 0.5386827, 0.069790244, -0.51845384, 0.024502689, -0.026591584, 0.17351557, 0.12391694, 0.08250939, -0.08813545, 0.43510008) * g_5; + result += mat4(-0.15770161, -0.27004284, -0.56035084, 0.15914616, 0.22454856, 0.3096621, 0.45845222, -0.008859915, 0.10483775, 0.14181131, 0.026368458, -0.0063670245, 0.24472655, -0.038785648, -0.14339298, -0.10899222) * g_6; + result += mat4(-0.034405068, -0.2823658, 0.050728954, -0.08360402, -0.11867297, -0.20057304, -0.011291816, 0.08128843, 0.07198962, 0.41366118, -0.40760013, -0.05193347, -0.31802976, 0.11970909, 0.09838232, -0.08124989) * g_7; + result += vec4(-0.04242169, -0.0033301958, -0.016717333, -0.0006306486); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!SAVE conv2d_8_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.43036512, 0.052133385, 0.1917228, -0.0080327755, -0.13650647, 0.23129214, -0.03926996, -0.07268268, -0.039649602, -0.04959827, 0.04222682, 0.00578327, -0.6177682, -0.5984116, -0.055091057, -0.41249448) * go_0(-1.0, -1.0); + result += mat4(-0.41248822, 0.42497736, 0.3476831, 0.11943562, 0.071097784, 0.1390214, 0.05519766, -0.13476476, -0.36376685, 0.058813993, -0.05142066, 0.059006505, -0.17129485, 0.18402734, 0.412061, -0.38983205) * go_0(-1.0, 0.0); + result += mat4(-0.19183454, -0.11911039, 0.20892574, 0.1218832, -0.23423564, 0.10342528, 0.09782025, 0.027760351, -0.08676245, 0.07389133, 0.009934853, 0.015378812, 0.28361297, -0.23730409, -0.10037592, -0.24095006) * go_0(-1.0, 1.0); + result += mat4(0.035607535, -0.3156877, -0.013944192, 0.22095163, 0.20762561, -0.26094976, 0.049627785, -0.20424393, 0.07220507, 0.14855692, -0.04763761, 0.09102831, -0.6707187, 0.044909656, 0.73606086, 0.3112647) * go_0(0.0, -1.0); + result += mat4(0.28717026, -0.027964758, 0.19860156, -0.18898363, -0.10064204, 0.05297523, 0.014720102, -0.10856063, -0.517343, -0.17088185, 0.21192405, 0.040609106, 0.07515164, -0.22581428, 0.54721195, 0.40544033) * go_0(0.0, 0.0); + result += mat4(-0.021332845, -0.28534392, -0.053418603, -0.5890941, 0.3246433, 0.255651, 0.07088422, -0.10737213, -0.116894506, 0.13120323, 0.09616092, -0.0067616547, 0.085571416, 0.14623387, -0.26895332, -0.12028506) * go_0(0.0, 1.0); + result += mat4(-0.052351072, -0.73936135, -0.07819111, -0.35983723, 0.13252614, -0.3479261, -0.07381629, 0.008948218, 0.0053645126, -0.039163757, -0.061387096, 0.0041966103, -0.22976315, -0.10269704, 0.5676015, -0.2502383) * go_0(1.0, -1.0); + result += mat4(0.09443165, 0.13924311, 0.15899155, -0.029454758, 0.002642519, 0.4178081, -0.19227526, 0.25177202, -0.26731998, -0.14999937, -0.15141752, -0.16183105, -0.4617529, -0.43337283, 0.2787283, -0.72364557) * go_0(1.0, 0.0); + result += mat4(0.18768649, -0.33622888, 0.10795176, -0.3965141, -0.1887279, 0.2281405, -0.45963305, -0.16073631, -0.015594818, 0.07035953, -0.16940016, -0.28909472, -0.017725285, -0.35240498, 0.30173686, 0.20117418) * go_0(1.0, 1.0); + result += mat4(0.03129677, -0.04133618, -0.011259672, 0.03561297, 0.0852418, 0.04584553, 0.19103919, 0.09809102, -0.14594959, -0.4438363, 0.16297287, -0.20317835, 0.115456745, -0.06761671, 0.15409957, 0.04450018) * go_1(-1.0, -1.0); + result += mat4(0.039826628, -0.45614466, 0.0642495, 0.05919764, -0.44811794, 0.30939403, -0.09915154, 0.1356114, 0.24242148, -0.5744648, 0.051002555, 0.2401494, -0.24656531, -0.025525048, 0.0022000005, 0.16019441) * go_1(-1.0, 0.0); + result += mat4(-0.30609047, -0.44622147, -0.1323853, 0.27586594, 0.28131932, -0.1788347, -0.13601942, -0.056978267, 0.1390773, 0.023616405, 0.23695482, 0.014369665, 0.1065836, 0.2862605, 0.12936947, -0.08392774) * go_1(-1.0, 1.0); + result += mat4(-0.21285766, -0.19791842, -0.08064578, -0.15698087, -0.6196114, -0.30824217, -0.048959345, 0.30395007, -0.41899, -0.3358852, -0.097170554, 0.28982377, 0.087944746, 0.15887393, 0.12179637, -0.33221152) * go_1(0.0, -1.0); + result += mat4(-0.13241346, 0.035703655, -0.4474765, 0.110112734, -0.27055773, 0.41301596, -0.6500781, -0.15217184, -0.2048386, 0.011350564, -0.45242086, 0.4019483, -0.13381444, -0.34816414, -0.5594909, 0.06767518) * go_1(0.0, 0.0); + result += mat4(-0.16038893, 0.035530727, -0.029575568, 0.4231352, 0.024787677, 0.63239074, -0.039876997, -0.025136393, -0.51243687, 0.05607693, -0.26631242, 0.089419514, -0.051774174, 0.08727033, -0.055868924, -0.0934304) * go_1(0.0, 1.0); + result += mat4(0.08607903, 0.10347359, -0.08568057, -0.04361689, -0.09244961, 0.032459106, 0.07126668, 0.40926656, -0.17473985, -0.2854381, -0.07475363, -0.16183083, 0.22286943, 0.068349905, -0.07890174, -0.18732166) * go_1(1.0, -1.0); + result += mat4(0.17825048, -0.31030193, -0.21215369, 0.015413245, -0.0980228, -0.3963089, -0.09465454, -0.39197174, 0.22134416, -0.10105557, 0.3249675, -0.027290137, -0.10875647, -0.2393993, -0.015305307, 0.21288091) * go_1(1.0, 0.0); + result += mat4(0.26367134, -0.11709682, 0.10634492, -0.13768406, 0.5535611, 0.6967819, -0.31092402, -0.5262172, 0.14721805, -0.05149995, 0.22435789, -0.21493623, 0.27388602, -0.14029293, -0.1060113, 0.083680965) * go_1(1.0, 1.0); + result += vec4(0.017177593, -0.03303642, 0.018293152, -0.0153594585); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!SAVE conv2d_7_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.43671334, -0.16534646, -0.13688485, -0.008512402, -0.10336664, -0.08822921, -0.116312236, -0.038849946, -0.035221335, 0.019403309, 0.060067646, -0.025432155, 0.090118125, -0.117073216, 0.16502255, 0.034231257) * go_0(-1.0, -1.0); + result += mat4(0.17112842, -0.023511292, -0.2592198, -0.07303919, 0.048081987, -0.054403186, -0.060226068, -0.2663483, 0.16908844, -0.11529753, -0.036192283, 0.05631556, -0.12996213, 0.32429552, -0.17090482, 0.37093237) * go_0(-1.0, 0.0); + result += mat4(-0.0398796, -0.21753207, -0.014232783, 0.04652695, 0.06361906, 0.11714849, -0.116917215, -0.0088206185, -0.15661797, 0.11036933, 0.043800946, 0.0088503305, 0.15252474, -0.21677117, -0.26665527, 0.11332868) * go_0(-1.0, 1.0); + result += mat4(0.14935064, 0.03734691, 0.08192101, -0.28615516, 0.19225292, 0.09485945, -0.018961852, -0.04503368, -0.14962928, 0.14281853, 0.015293623, -0.0051231394, 0.31510183, 0.28869596, 0.1890055, -0.07833456) * go_0(0.0, -1.0); + result += mat4(0.2734724, 0.37409434, -0.2611236, 0.06528365, -0.1886752, 0.045421556, 0.25771844, 0.14760634, -0.02859129, -0.071093805, -0.1635561, 0.06800318, 0.44370538, 0.43510497, 0.15145455, -0.029246451) * go_0(0.0, 0.0); + result += mat4(0.17102292, 0.33519942, 0.2755555, -0.24724208, 0.042192735, -0.6907692, -0.10582406, 0.2008313, 0.04859614, -0.24115612, 0.015256011, -0.029317714, -0.057466604, -0.1004556, 0.24814546, -0.22135083) * go_0(0.0, 1.0); + result += mat4(0.20959556, 0.113371, -0.021680012, -0.054057337, -0.017139604, -0.082443535, -0.03216185, 0.13644056, -0.105473205, -0.033690784, 0.030838218, 0.013347346, 0.49752173, -0.14028637, -0.23801191, 0.059374087) * go_0(1.0, -1.0); + result += mat4(0.054281052, 0.04908332, 0.065993994, -0.09818599, 0.17124225, -0.22669722, -0.090717405, 0.20086871, 0.05861675, 0.09584638, 0.18013628, 0.026234226, 0.32684898, 0.28582916, -0.03517119, -0.21534745) * go_0(1.0, 0.0); + result += mat4(0.2143339, -0.009243758, -0.043321237, -0.18695052, 0.0707111, -0.052678097, 0.04782485, 0.06970353, -0.029827276, 0.10827879, 0.049044352, -0.09452859, -0.08516196, 0.11786405, -0.18170272, -0.117841594) * go_0(1.0, 1.0); + result += mat4(-0.23180094, 0.079831, -0.17606014, -0.06691572, 0.13079396, -0.054930445, 0.025274629, 0.059386294, 0.18818773, 0.071563244, -0.19136675, 0.031156426, 0.12569802, 0.057418842, -0.022066243, 0.09572557) * go_1(-1.0, -1.0); + result += mat4(0.13405065, -0.038109858, 0.19447789, -0.121862344, -0.5014013, 0.030394621, -0.11468341, 0.24658446, -0.2861801, 0.11453208, 0.17080295, 0.32403797, 0.01776269, 0.21879151, -0.1487332, -0.13659461) * go_1(-1.0, 0.0); + result += mat4(-0.16852567, 0.37488598, 0.103131816, 0.15805401, -0.5529941, -0.0106922565, 0.14309406, 0.018851891, 0.18253598, -0.18453355, -0.14344332, 0.14581451, 0.00017439971, -0.22823274, -0.02480218, -0.28830686) * go_1(-1.0, 1.0); + result += mat4(-0.036933262, -0.105577976, 0.02778643, 0.21757011, -0.0051288083, 0.036500473, 0.12934865, -0.18750058, 0.05384686, -0.14823805, 0.12996665, -0.0717687, 0.15035072, 0.00028661545, -0.4272515, 0.102082215) * go_1(0.0, -1.0); + result += mat4(0.3707243, -0.34236187, -0.037726954, 0.19196671, 0.101593964, 0.3211922, -0.30584693, -0.09473774, -0.012873282, -0.26314828, -0.3015266, -0.05155332, -0.23810461, -0.17289765, 0.16493215, 0.07951415) * go_1(0.0, 0.0); + result += mat4(-0.054548983, 0.20742553, -0.17368966, -0.11417929, -0.14998713, 0.14250377, 0.08688373, -0.39742398, -0.29795423, 0.3917638, -0.24611169, -0.007993072, -0.052766692, -0.05993209, -0.017495412, 0.2881331) * go_1(0.0, 1.0); + result += mat4(-0.05283335, 0.081839375, 0.013510656, -0.097930856, -0.09817993, -0.10169309, -0.024573473, -0.061191153, 0.14742163, 0.12549889, 0.21033141, -0.11116201, -0.046900082, 0.052657153, -0.10784069, 0.0005640972) * go_1(1.0, -1.0); + result += mat4(0.036850937, -0.004740191, -0.105057694, 0.16894996, -0.39845806, -0.11454543, 0.044997875, 0.10780206, -0.15164936, -0.030377366, -0.015979659, -0.16242398, -0.045865484, 0.04037505, -0.03663904, 0.24529697) * go_1(1.0, 0.0); + result += mat4(0.0041185757, 0.0843081, 0.07231875, 0.100667596, -0.31684703, -0.2574812, -0.03461963, 0.11267055, -0.22542828, -0.104221806, -0.095156625, -0.08219916, 0.18497708, -0.08431334, -0.074380755, 0.07518058) * go_1(1.0, 1.0); + result += vec4(0.034884464, 0.055267137, 0.03452981, 0.012002485); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x1x1x40 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_2 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_6 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_8 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.09644354, -0.12061228, -0.15139145, 0.010084075, 0.19283041, -0.15289722, 0.0028078665, 0.15971705, -0.03884288, -0.06906346, -0.04772131, 0.32280502, -0.42069855, 0.21643022, -0.8389786, -0.50325495) * g_0; + result += mat4(0.18034904, 0.037142154, 0.41413367, 0.08413125, -0.14397736, -0.4820656, 0.32794252, 0.2589487, 0.46948192, 0.26964813, -0.07420985, -0.16767345, 0.086358115, -0.10306444, 0.36070088, 0.1681583) * g_1; + result += mat4(0.35362276, 0.012461055, -0.77784586, 0.09078976, 0.19976044, 0.17758635, -0.37238386, -0.03503108, 0.13998942, -0.37809366, 0.016560063, 0.3934089, -0.25227416, -0.123653956, -0.05106222, 0.005900442) * g_2; + result += mat4(0.057956465, -0.049570814, 0.0606723, -0.20321843, -0.26415482, -0.27723017, 0.116116256, 0.091267794, -0.14814565, 0.25946814, 0.17341542, 0.14638402, 0.2880723, 0.10809813, 0.025261842, -0.34984475) * g_3; + result += mat4(0.05510083, 0.17530598, -0.20630372, -0.027601322, 0.017287979, 0.1857018, -0.41756013, -0.14747128, 0.36301833, 0.13361412, 0.021245379, 0.08700895, -0.15968269, -0.32113054, 0.019964505, -0.15953153) * g_4; + result += mat4(-0.12913038, -0.21853726, -0.14845535, -0.2878481, 0.060428645, -0.12468173, -0.0068141054, 0.044517014, -0.3603185, -0.21329117, -0.029232644, 0.033500195, 0.4367195, -0.048263986, 0.36913735, -0.015526651) * g_5; + result += mat4(0.15424874, 0.09803074, -0.4081566, -0.24807191, -0.21617292, -0.26116055, -0.19488858, 0.13665622, -0.23223704, 0.13516016, -0.19990326, -0.09589857, 0.2877168, -0.18335378, -0.12726076, -0.01706245) * g_6; + result += mat4(0.17850566, 0.11283147, 0.0941847, 0.07064274, 0.23485339, 0.053585358, 0.038221374, -0.052291602, -0.085393615, -0.43200582, -0.3899717, -3.6526293e-05, -0.1805902, 0.15160961, -0.25388122, -0.10506431) * g_7; + result += mat4(0.10518986, 0.4441116, -0.16333202, -0.15620118, -0.025791602, -0.2971725, 0.27621722, 0.15761738, 0.008179799, 0.4354704, 0.8792617, 0.98227674, 0.27862114, -0.28962052, 0.08527341, 0.06820025) * g_8; + result += mat4(-0.002976883, -0.220515, -0.2764896, 0.03840775, 0.09852327, 0.09890841, 0.6333531, 0.05949176, -0.12757486, 0.12711844, -0.103355624, -0.2612116, -0.92972547, 0.20546664, 0.43557793, 0.14573197) * g_9; + result += vec4(-0.048349448, -0.027946962, -0.014499015, -0.017825816); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!SAVE conv2d_11_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.099030726, -0.06836123, 0.08793171, -0.08440806, 0.1367897, -0.18130925, -0.061028607, -0.0036578078, -0.2664728, 0.11683366, -0.106817886, 0.054352235, -0.037010342, -0.04099114, -0.024939198, 0.17543977) * go_0(-1.0, -1.0); + result += mat4(-0.005120602, 0.033574037, 0.15293613, 0.14662915, 0.16131143, 0.14048538, -0.07979977, -0.09974233, 0.12065904, -0.027316207, 0.05308134, -0.39921048, -0.11916608, 0.05068417, -0.064156584, 0.0906338) * go_0(-1.0, 0.0); + result += mat4(0.19719984, 0.031454016, 0.057130553, -0.08133089, -0.48387995, -0.20429122, -0.2968695, 0.17029694, 0.2686546, -0.32400158, 0.23564363, -0.12357238, -0.039444853, -0.25260264, -0.045210194, 0.009996893) * go_0(-1.0, 1.0); + result += mat4(0.24888185, -0.16971394, 0.23991539, -0.20469886, -0.05449719, -0.22697294, -0.19475369, -0.14052935, 0.15595771, 0.09519395, -0.18674417, -0.19258659, -0.18656066, -0.07679601, 0.04305061, -0.052698307) * go_0(0.0, -1.0); + result += mat4(0.26016366, 0.37886587, 0.29538265, 0.13591415, 0.08657945, 0.2248858, 0.13191143, -0.27878642, 0.38287383, -0.24528888, 0.16275367, -0.4445379, -0.15009366, 0.21030647, 0.04707718, -0.36865705) * go_0(0.0, 0.0); + result += mat4(0.00060599507, -0.063061595, 0.09708327, 0.18096425, -0.18803552, -0.15204777, -0.21307996, 0.25915486, 0.180343, 0.15965502, 0.4193544, 0.11587751, -0.01724538, -0.0003311443, 0.118263096, 0.3388005) * go_0(0.0, 1.0); + result += mat4(-0.11013732, -0.24454343, 0.11523979, 0.16267157, 0.037852544, -0.018723588, -0.044225607, 0.010824283, -0.09449054, -0.43009904, 0.17163227, 0.058022983, 0.3704038, -0.124312826, -0.04090871, -0.41738933) * go_0(1.0, -1.0); + result += mat4(-0.08466185, -0.032986447, -0.12251885, -0.061746452, -0.28120902, -0.03351265, -0.07977477, 0.035497896, -0.40911916, -0.265343, 0.18400514, 0.18039864, 0.2885377, 0.17138512, -0.2672905, -0.17658347) * go_0(1.0, 0.0); + result += mat4(0.14892288, 0.054083705, 0.074718416, 0.011234817, -0.1644216, 0.10958687, 0.016626561, 0.13260235, 0.15622494, 0.028492622, 0.16308293, 0.0817191, 0.004302441, -0.03425889, 0.019733155, 0.20729025) * go_0(1.0, 1.0); + result += mat4(-0.10912273, 0.18627015, -0.12923245, -0.007432667, -0.15062776, 0.1132029, -0.039932206, -0.048926212, -0.19350322, -0.052288085, -0.062460408, 0.06341913, -0.22352171, 0.12735958, -0.030772611, 0.10314876) * go_1(-1.0, -1.0); + result += mat4(0.055571638, -0.29345444, -0.05150461, 0.038981512, -0.20368473, -0.1620652, 0.2212063, 0.16812243, -0.25869122, -0.055914585, 0.1699279, 0.09515419, -0.051229157, 0.029384349, 0.2958992, 0.33411613) * go_1(-1.0, 0.0); + result += mat4(-0.16893966, -0.11777383, -0.1890183, 0.3100362, 0.32964075, 0.1503138, 0.23687156, -0.1966872, -0.34989685, 0.018697567, -0.054476835, 0.2467992, 0.1404086, 0.042806204, 0.22713056, -0.07194008) * go_1(-1.0, 1.0); + result += mat4(0.1294499, 0.08734431, -0.27748963, -0.30450672, 0.347131, 0.10832939, 0.094416045, -0.021583052, -0.03705905, 0.13216147, 0.060019907, 0.17617045, -0.31731188, 0.055844136, -0.32436728, 0.09127553) * go_1(0.0, -1.0); + result += mat4(-0.37301856, -0.59706587, 0.14188358, -0.11759082, -0.123990245, 0.17104799, -0.22897844, 0.044174567, 0.08194783, 0.5041956, 0.080176726, 0.30695775, 0.14737315, 0.06887362, -0.14944588, 0.041438155) * go_1(0.0, 0.0); + result += mat4(0.028311472, -0.12458831, 0.09180698, 0.21692544, 0.26750755, -0.095768556, 0.37605208, -0.09700436, -0.43799365, -0.2001086, -0.22588708, 0.21119161, 0.017415013, 0.15119827, -0.015756091, -0.097044095) * go_1(0.0, 1.0); + result += mat4(0.07018085, 0.07628864, 0.03961951, 0.032012466, 0.09119677, -0.11489552, 0.086640276, -0.10799725, -0.09006475, 0.18994014, 0.015971951, 0.025477583, 0.034011904, -0.07448855, -0.090691224, -0.08970111) * go_1(1.0, -1.0); + result += mat4(-0.036299143, 0.14122474, -0.1863209, 0.1802412, 0.25498003, 0.12084085, -0.15148233, -0.15718026, 0.00034174722, 0.13090368, -0.17938401, -0.064941354, -0.42650834, -0.24431564, 0.1735792, -0.08763975) * go_1(1.0, 0.0); + result += mat4(-0.018800588, -0.09828807, 0.022626605, 0.19307971, 0.2295834, 0.021806285, 0.17869954, -0.089709155, 0.039047185, 0.1444108, -0.058205944, -0.0141449645, 0.10705844, 0.17592433, -0.017586943, 0.100735694) * go_1(1.0, 1.0); + result += vec4(-0.10319947, 0.010868113, 0.0143356435, -0.007343647); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!SAVE conv2d_10_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.034931988, -0.10314893, 0.050731838, 0.008667428, 0.093605734, 0.18763398, 0.1329972, 0.32109565, 0.018679736, 0.16050446, -0.21393016, -0.5850818, -0.03595686, -0.06816087, 0.058053996, 0.14945738) * go_0(-1.0, -1.0); + result += mat4(0.13086358, 0.1037956, 0.024482725, 0.28596595, 0.03427747, 0.03360277, -0.08412939, -0.09863662, -0.14649919, 0.049508557, -0.040583454, -0.3193693, 0.09898459, -0.055807225, -0.13826977, -0.24508655) * go_0(-1.0, 0.0); + result += mat4(0.022690594, -0.049172435, -0.043048073, 0.28297383, -0.12327597, 0.12841734, 0.19118458, -0.14444864, 0.25481266, -0.1530131, -0.32560238, 0.28813502, 0.07987849, -0.081693284, 0.023993304, 0.051493756) * go_0(-1.0, 1.0); + result += mat4(-0.21383128, 0.10948106, 0.29768178, 0.5630563, -0.097254336, 0.3000293, 0.27545682, -0.10354583, 0.064267136, -0.0722382, 0.16716443, -0.29272497, 0.124174535, -0.09405645, -0.07759505, -0.63239044) * go_0(0.0, -1.0); + result += mat4(-0.049770556, -0.2611922, -0.11767422, -0.056895554, -0.10655438, 0.15822971, -0.15873717, -0.034663625, -0.22618848, -0.037567407, 0.8648974, 0.15630767, 0.24981938, 0.15488663, -0.01769864, -0.05102535) * go_0(0.0, 0.0); + result += mat4(0.021745246, -0.019828277, -0.2533036, 0.08191131, 0.21484213, 0.07265768, 0.13022637, 0.12640825, 0.3097948, 0.1656624, 0.29834095, 0.26926345, 0.1445516, -0.096134044, 0.23720652, 0.104119554) * go_0(0.0, 1.0); + result += mat4(-0.0026226363, -0.11969785, -0.07630252, 0.48163646, 0.020707106, 0.098053664, 0.15194124, -0.067455925, -0.0072260266, -0.063311785, -0.13165388, -0.2720021, 0.056918275, -0.46139827, 0.062053606, -0.2062505) * go_0(1.0, -1.0); + result += mat4(0.18370466, -0.21412961, -0.08481129, 0.012198226, -0.08129054, 0.5550795, 0.047955874, 0.2502166, -0.07373375, 0.28914857, -0.0046189106, -0.014052611, -0.1366542, -0.4555943, -0.053266894, 0.4447608) * go_0(1.0, 0.0); + result += mat4(-0.028673984, -0.05453405, -0.118545935, -0.069395766, 0.17180833, 0.17611517, 0.13780451, 0.28597325, -0.07254466, 0.05339366, 0.0095731495, 0.17107281, 0.08671597, -0.06200009, -0.06297748, 0.08674916) * go_0(1.0, 1.0); + result += mat4(-0.040299665, 0.095958404, 0.052906267, -0.48397818, -0.1331588, -0.0012678325, -0.042020816, -0.33833674, -0.012395556, 0.07671447, -0.15005252, -0.083733305, 0.12279073, 0.13883469, -0.10359484, -0.31333458) * go_1(-1.0, -1.0); + result += mat4(0.14495945, -0.12174993, -0.11281622, -0.018538697, -0.14329918, 0.12817283, -0.046540275, -0.1030246, -0.1832771, -0.30401602, -0.33390167, -0.052471336, 0.12632851, 0.23514742, 0.0011784412, -0.49560672) * go_1(-1.0, 0.0); + result += mat4(0.08295849, 0.044828687, 0.27639604, 0.039427668, 0.02818349, -0.06210292, -0.27352595, 0.19817229, -0.18440844, -0.06898423, 0.0017214341, -0.18130824, -0.0071537187, 0.03517007, -0.2113949, 0.025240164) * go_1(-1.0, 1.0); + result += mat4(-0.2006673, -0.041704424, 0.16268894, -0.25376207, 0.07905478, -0.17365594, 0.10044552, -0.20418073, 0.085226685, -0.16344517, -0.11064805, -0.2824042, 0.00095205643, 0.31177342, -0.3084233, -0.0908839) * go_1(0.0, -1.0); + result += mat4(0.26129997, 0.3127755, 0.06982181, 0.23317924, -0.05344337, 0.008762884, 0.20765801, 0.13311344, -0.021598162, 0.0038430444, -0.40633947, 0.09444498, -0.097569115, 0.1161639, 0.051482536, -0.13007577) * go_1(0.0, 0.0); + result += mat4(0.1168701, 0.10319956, -0.26231092, 0.13755418, -0.31545812, 0.21018027, -0.2570223, 0.11072984, 0.169098, -0.092338, 0.19418359, -0.24841106, 0.2179265, 0.26306525, -0.030364338, 0.011455713) * go_1(0.0, 1.0); + result += mat4(0.013165953, -0.027480505, 0.019355817, -0.22797722, 0.10252238, -0.13104701, 0.043106645, -0.113860615, 0.077017605, 0.16079858, -0.13723075, 0.08403468, 0.07229952, -0.07288171, 0.153157, -0.30485252) * go_1(1.0, -1.0); + result += mat4(-0.18590495, -0.02694476, 0.14553905, 0.135362, 0.033088487, -0.49798432, -0.11869643, 0.15896079, 0.09456545, -0.14991766, -0.15788183, -0.13954063, -0.1400199, 0.47176227, 0.1710854, 0.24664737) * go_1(1.0, 0.0); + result += mat4(0.15082799, -0.1990422, -0.07347236, 0.106623515, -0.054368034, -0.10389193, -0.0711653, -0.022524087, -0.056636613, -0.07881972, 0.09727487, -0.16494693, 0.13156064, 0.176482, 0.11008391, 0.16038191) * go_1(1.0, 1.0); + result += vec4(-0.0891901, 0.05071113, -0.026449949, -0.0051819966); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x1x1x48 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_2 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_6 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_8 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_10 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.2967133, -0.18581349, -0.03749059, 0.30880052, -0.11064016, -0.23309472, 0.05572459, 0.04502667, -0.12098995, 0.1875494, 0.17095889, 0.008563628, -0.16092524, 0.03845401, 0.1908294, 0.10556762) * g_0; + result += mat4(0.23697758, 0.11629349, 0.19466121, -0.41413772, -0.20402254, 0.0062864223, -0.13700421, -0.10543815, -0.03498975, 0.02710536, -0.32383642, 0.12299909, -0.06849518, -0.005379719, 0.15714374, -0.15514039) * g_1; + result += mat4(-0.17502604, -0.24644612, -0.13557185, -0.16728596, -0.024457034, -0.28457522, 0.13460088, -0.21639405, 0.057475664, 0.1473123, 0.19220911, -0.12668033, 0.67518485, -0.36505973, -0.16904399, -0.010216019) * g_2; + result += mat4(-0.15164074, 0.2532923, -0.13278177, -0.11557631, -0.23019886, 0.115244605, 0.010407434, 0.044481948, -0.36745974, 0.6252675, -0.7489445, 0.31991, 0.04725299, 0.32507753, 0.3035176, -0.18355042) * g_3; + result += mat4(0.11328097, -0.09094802, -0.03745151, 0.12965176, 0.0051720524, 0.028558291, -0.047848992, 0.23055501, 0.18047509, -0.07151716, 0.05670166, -0.008592144, -0.092078224, -0.013172229, -0.017855234, -0.07338865) * g_4; + result += mat4(0.123723745, -0.06312486, 0.0427355, -0.11981472, 0.028110307, 0.2275076, -0.019800344, -0.10352946, -0.23628815, 0.24896589, -0.07624697, -0.21491022, -0.13148311, 0.27282125, -0.053250857, -0.15992334) * g_5; + result += mat4(-0.23408101, 0.20139061, 0.0035646914, 0.16009186, -0.1912387, -0.0066828816, -0.13681525, -0.22325766, -0.056139376, -0.0638933, 0.0681208, 0.041838214, -0.016192758, 0.19360517, -0.21080317, 0.113634475) * g_6; + result += mat4(0.1369719, 0.18950021, 0.019468868, -0.08180063, -0.31615034, 0.028354429, -0.1489749, -0.096815735, 0.22448029, 0.16501611, -0.11709639, -0.047612794, 0.10514418, -0.07882259, 0.2664075, 0.19011621) * g_7; + result += mat4(0.13804765, 0.01748137, 0.18502045, 0.058146507, -0.5661739, 0.14128609, -0.25875592, -0.6150388, -0.031642724, 0.3204696, -0.021026978, -0.3983191, 0.08609409, 0.0042772954, -0.3754959, -0.19454613) * g_8; + result += mat4(0.09550674, 0.26413566, -0.15292425, -0.13285659, 0.14078279, 0.08191184, 0.066060774, -0.02605145, -0.08946464, 0.11715431, 0.05521046, -0.03218011, -0.31606913, -0.011917866, 0.11926112, 0.145299) * g_9; + result += mat4(0.71071726, -0.8614542, -0.050295915, 0.41341305, -0.38318273, 0.1269644, 0.46467987, -0.15950991, -0.75483114, 0.6358254, -0.19257315, -0.5991311, 0.10807353, 0.083646335, 0.032484207, -0.20280145) * g_10; + result += mat4(-0.21395132, 0.37320906, 0.30284703, 0.054482624, 0.10859697, 0.21301107, -0.09715497, -0.047609363, 0.40013343, -0.22015318, 0.09944949, 0.4283713, 0.1767619, 0.15653327, -0.01787549, 0.22862214) * g_11; + result += vec4(0.06043013, -0.057747327, -0.0260778, 0.034383494); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x3x3x8 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!SAVE conv2d_13_tf +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.122954965, 0.18889557, -0.050585095, -0.09285047, 0.041825704, -0.10147826, -0.0524878, 0.042394586, 0.26654795, -0.052367304, 0.32582784, 0.23248254, -0.18429202, -0.036516707, 0.034441825, 0.13747402) * go_0(-1.0, -1.0); + result += mat4(0.39325443, 0.12691088, -0.14018032, 0.2601387, -0.0128762275, 0.09533191, -0.15545139, -0.064879976, 0.4752176, -0.46358192, -0.048625924, 0.07356933, -0.030162415, -0.09837143, -0.34081137, 0.09620003) * go_0(-1.0, 0.0); + result += mat4(0.11647179, 0.020975508, -0.06064534, -0.1789612, 0.057696175, 0.11116113, -0.015037568, -0.024370348, -0.03656938, -0.2899815, -0.10285936, 0.055147626, 0.19246738, 0.30268162, -0.4149779, -0.0402745) * go_0(-1.0, 1.0); + result += mat4(-0.009147066, -0.17453548, 0.23320405, -0.009745345, 0.080975994, 0.07396582, -0.13413322, 0.17224005, -0.19477916, 0.16737588, 0.5310824, -0.48741058, 0.3713329, -0.061815146, -0.19980642, 0.25318542) * go_0(0.0, -1.0); + result += mat4(0.34857947, 0.09298978, 0.20253287, 1.0750674, 0.074417695, 0.15859176, 0.17113946, 0.3587233, -0.3720992, 0.5499863, -0.3334931, -0.7303378, 0.28977355, -0.40827954, -0.15625797, 0.44504634) * go_0(0.0, 0.0); + result += mat4(0.00963027, -0.103650935, -0.15111534, -0.054710496, 0.068436116, -0.04733752, -0.014022155, -0.06435892, 0.46522453, 0.06746723, -0.13256127, -0.354952, 0.036626723, -0.2881872, -0.20110025, 0.18387023) * go_0(0.0, 1.0); + result += mat4(-0.042692482, -0.08184722, 0.29142103, 0.10918554, 0.022569105, -0.03967552, -0.029662814, 0.16549924, -0.06727612, 0.49291298, 0.12881728, -0.02918886, -0.01579875, -0.12708642, -0.21163678, -0.24313599) * go_0(1.0, -1.0); + result += mat4(-0.044082023, -0.047357306, -0.044077095, 0.20591871, -0.015887344, 0.05115381, -0.19811073, -0.035676513, 0.019275555, 0.4578326, 0.5141636, 0.0702626, 0.13119744, -0.17745942, -0.1892288, -0.062224492) * go_0(1.0, 0.0); + result += mat4(0.06651709, -0.016656881, -0.0052546742, 0.014599082, -0.032204926, 0.09341175, -0.010483702, -0.04786155, 0.23358113, 0.13316281, 0.21748747, 0.04741849, -0.11040673, 0.06230487, 0.16795471, -0.104242735) * go_0(1.0, 1.0); + result += mat4(-0.06844235, -0.01974277, 0.03758873, 0.0437811, -0.057502225, -0.076013766, 0.05226354, 0.16626364, -0.15094693, -0.06513261, -0.07178063, -0.25390542, -0.046331745, 0.048600584, -0.09498597, -0.029823082) * go_1(-1.0, -1.0); + result += mat4(0.055906143, -0.09671702, -0.022703249, -0.074096285, -0.18490121, -0.14549334, 0.42093202, 0.087242134, -0.29526195, 0.31182536, 0.044069793, -0.17393354, -0.17096926, -0.15162584, 0.25237793, 0.047123164) * go_1(-1.0, 0.0); + result += mat4(-0.0007076463, 0.0037513115, -0.044519257, 0.05986656, -0.12090617, 0.17659539, -0.07153321, 0.043799683, -0.050228495, -0.04225425, 0.24785443, 0.19911547, -0.05966556, -0.19790268, 0.20703633, 0.0048266468) * go_1(-1.0, 1.0); + result += mat4(0.21739465, -0.046017647, -0.17681813, 0.21452186, 0.230653, -0.47062522, -0.23921433, 0.39329913, -0.036690675, 0.3303968, -0.47879925, -0.16289225, -0.1494594, 0.27207994, 0.1856394, -0.47609702) * go_1(0.0, -1.0); + result += mat4(0.3214577, -0.023753606, 0.21297608, -0.7130707, 0.050221473, 0.9629573, 0.5004743, 0.10413513, 0.10723351, -0.07022509, 0.23218232, -0.5185978, -0.6921137, 0.0619471, 0.16877905, -0.60311705) * go_1(0.0, 0.0); + result += mat4(0.0079998905, -0.066334635, 0.24110058, 0.06277327, -0.099571265, 0.28088686, 0.089555554, 0.049777288, -0.12143259, 0.19382764, 0.028673613, 0.14329565, -0.10053404, -0.07129261, -0.06196109, -0.54130787) * go_1(0.0, 1.0); + result += mat4(0.0602462, -0.21520244, -0.17295553, 0.01296868, 0.09711833, 0.051904213, -0.20535164, -0.17658444, 0.27075645, 0.0784139, 0.13146368, -1.7129825e-05, -0.06117924, 0.24631894, -0.01026257, 0.0030612787) * go_1(1.0, -1.0); + result += mat4(0.19062799, 0.122910775, 0.09640838, 0.06539721, 0.057701044, -0.20118104, -0.06261069, 0.107874714, 0.0973878, -0.20830666, -0.108459, -0.10059624, -0.08533175, -0.025608283, -0.07584223, -0.26741856) * go_1(1.0, 0.0); + result += mat4(-0.1459836, -0.092159286, 0.05037609, 0.07709965, -0.18563168, -0.017586546, -0.16244653, -0.017426869, -0.20880185, -0.26068223, 0.037480514, 0.056800563, 0.14884543, 0.13592677, -0.1492276, 0.023280073) * go_1(1.0, 1.0); + result += vec4(-0.03207076, 0.045260444, 0.040100798, -0.014172305); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x1x1x56 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv0ups +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_2 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_6 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_8 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_10 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_12 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.06499131, -0.18188648, -0.3129073, 0.46508536, 0.12730247, -0.0048228996, -0.29037076, -0.040671512, -0.37960687, -0.014975028, 0.051478356, -0.17510629, 0.24467152, -0.3726265, -0.05205153, 0.29063764) * g_0; + result += mat4(-0.036466975, -0.021365412, 0.19166216, 0.2391551, 0.38419026, 0.16602032, 0.06468244, 0.7733659, 0.004007756, 0.03079535, -0.0030497843, -0.2033753, -0.3095698, 0.40909737, 0.067926906, -0.16948561) * g_1; + result += mat4(-0.07662823, 0.021806711, 0.05107831, 0.09089961, -0.051882017, -0.00308805, -0.08946813, -0.085923605, 0.13135786, -0.040860962, -0.12652986, -0.17011258, -0.23838595, 0.16027555, -0.27720237, 0.3512776) * g_2; + result += mat4(0.054664467, -0.012412156, -0.11934643, -0.20614244, 0.005247195, -0.07548066, 0.1898925, -0.08086777, -0.27888495, 0.08055913, 0.2733805, 0.05444851, 0.22015096, -0.15712278, 0.070828624, -0.12955543) * g_3; + result += mat4(-0.19064794, 0.10234088, -0.07635815, 0.15928909, 0.25309163, -0.0055202493, -0.04807871, 0.1251584, -0.19122045, 0.050241888, 0.020203145, 0.12914757, 0.20982412, -0.042472344, 0.12709813, -0.10014193) * g_4; + result += mat4(-0.025030518, -0.077239156, 0.12003885, -0.07962912, -0.17808792, -0.027223784, 0.13286914, -0.026946044, 0.044607714, -0.045288526, 0.12821364, -0.19116278, 0.053770527, -0.05832497, -0.14832996, -0.08657012) * g_5; + result += mat4(0.17286317, -0.029046731, -0.06853154, -0.080361344, -0.14082976, -0.076902896, 0.08296736, -0.17621617, 0.10048785, -0.01766402, -0.06414528, -0.012933831, 0.13066664, -0.05233094, 0.09176876, 0.0053013414) * g_6; + result += mat4(0.09860572, 0.0578288, 0.05035504, 0.017596964, 0.055266783, -0.084020205, 0.1214565, -0.04180339, -0.16650584, 0.02645373, 0.08516016, 0.123672284, -0.11207144, 0.03805417, 0.017909998, 0.08631275) * g_7; + result += mat4(0.08567236, 0.11860556, -0.2603184, 0.04399533, -0.13169551, -0.14144541, 0.11864987, -0.19813964, -0.14435594, 0.0943669, 0.318387, -0.039731313, -0.05394642, 0.018096905, 0.11445131, -0.07224858) * g_8; + result += mat4(-0.066673055, -0.0079072425, 0.15320915, 0.1241549, -0.03786454, 0.02686796, 0.062339537, 0.0921351, 0.24909046, -0.13677734, -0.08606315, -0.1311618, -0.11268947, 0.017006561, -0.010060483, -0.016905207) * g_9; + result += mat4(0.11682704, -0.06385352, 0.048959445, 0.2103904, -0.24271931, -0.114691064, 0.106675364, -0.16527846, 0.20034032, -0.19069487, 0.13964948, -0.2999216, -0.05324707, 0.03835898, 0.002079623, -0.042824514) * g_10; + result += mat4(0.021089941, 0.058709584, -0.026687654, 0.061108842, 0.13278545, 0.0154480925, -0.1858288, 0.07775379, -0.013820952, 0.04138522, 0.040989578, 0.19044249, -0.05938495, 0.049729984, 0.022488212, 0.13883443) * g_11; + result += mat4(-0.12241166, 0.24528268, -0.5302565, 0.045535725, -0.054705787, -0.038350295, -0.0833044, 0.18413262, -0.16520579, 0.087780885, -0.42400438, 0.30506396, -0.05254002, 0.0068022306, -0.6969388, 1.901328) * g_12; + result += mat4(-0.12879479, -0.13513997, -0.068150125, 0.34132335, 0.08568371, 0.086309135, -0.10726202, 0.053040955, -0.007894386, 0.0694188, 0.13861355, -0.06504751, 0.1669743, -0.06529014, -0.048758753, -0.10337064) * g_13; + result += vec4(-0.022439916, 0.020257013, 0.041364692, 0.0141367195); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-4x1x1x56 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv0ups1 +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_2 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_3 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_4 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_6 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_8 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_10 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_12 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.10813235, 0.05466766, -0.20426773, 0.03014769, -0.23742639, -0.18808678, -0.08507936, 0.11070251, -0.24421449, -0.047370236, -0.034263644, -0.36471045, 0.022079159, -0.13425855, -0.43840396, 0.14318791) * g_0; + result += mat4(0.006743051, 0.07216438, 0.14125177, 0.06620228, 0.42031923, 0.2496421, -0.07731219, -0.013831615, 0.15525927, 0.090886295, 0.019504324, -0.048566148, -0.21346657, 0.022109412, 0.26717573, -0.11774596) * g_1; + result += mat4(-0.28528357, -0.17186452, -0.20616518, 0.034786828, -0.10506841, -0.12335915, 0.07619831, -0.23998813, 0.19965814, 0.103892386, 0.04367025, -0.19183081, -0.16918147, -0.056264214, 0.20310691, 0.3341895) * g_2; + result += mat4(0.20581162, 0.02040467, 0.35530564, -0.15494272, -0.010262163, 0.07301455, -0.074129246, 0.17339204, -0.00919498, -0.11473048, 0.042003002, -0.050515488, 0.24150477, 0.14734265, -0.102072336, -0.03404688) * g_3; + result += mat4(-0.022791447, -0.005725081, 0.057149626, 0.013613261, 0.017012713, 0.0022030922, 0.06826359, -0.1473429, -0.055662345, 0.015804563, 0.07033723, 0.0380571, -0.030761583, -0.06867299, -0.0004780991, -0.10686876) * g_4; + result += mat4(0.11448204, 0.08165584, 0.56496936, 0.2275344, 0.050801918, 0.115319155, 0.11518415, 0.05895198, 0.06831797, 0.08119943, 0.34825838, -0.048232127, 0.028284775, -0.03452888, 0.1979006, -0.041894354) * g_5; + result += mat4(0.11946663, 0.03388757, -0.13882776, -0.14631757, -0.07182763, -0.08768853, 0.14146432, 0.10330784, -0.012143934, -0.022009725, -0.15579993, -0.050503176, -0.016312446, -0.054338187, -0.07755307, -0.07889432) * g_6; + result += mat4(-0.02631465, 0.05617023, 0.13298586, 0.045326687, -0.11627329, -0.087329924, -0.05144727, -0.13488398, 0.06281482, 0.054220017, 0.25243595, 0.002556835, -0.03581036, 0.10341262, 0.10574532, 0.15461436) * g_7; + result += mat4(0.07718563, 0.038919166, -0.06910819, -0.059710544, -0.09481636, -0.1109951, 0.5187051, 0.045543563, -0.048131686, 0.072409846, 0.4892963, -0.086976275, -0.07343929, -0.12501429, 0.26566443, 0.08579102) * g_8; + result += mat4(0.005692247, 0.042074066, 0.13430944, 0.10093059, 0.023651319, 0.019474167, -0.13077211, -0.07782639, 0.072300054, 0.011820138, -0.1379879, -0.033925157, 0.012152839, 0.005247593, 0.15555158, -0.10433893) * g_9; + result += mat4(-0.14903626, -0.0649052, 0.103872776, 0.18057188, 0.02891697, 0.13026263, 0.45847327, 0.09324349, -0.039312128, -0.05299939, 0.4332103, -0.25727344, 0.006733611, 0.05955007, 0.24531682, 0.053989712) * g_10; + result += mat4(0.111072116, 0.11529407, -0.26600304, -0.032266896, 0.09633932, 0.0094333775, 0.060893714, -0.08118885, -0.03830528, 0.0037902966, -0.11128639, 0.13511918, 0.06553124, 0.054722965, 0.08178846, 0.06025588) * g_11; + result += mat4(0.095904954, 0.0008960944, 0.35145932, 0.28108585, -0.011538731, -0.09239871, -0.21972048, -0.0820484, 0.112448506, -0.10381135, 0.09701949, 0.023723679, 0.04458077, 0.04700858, -0.056815177, 0.33785793) * g_12; + result += mat4(0.08533725, 0.05978557, -0.40020186, -0.13684823, -0.0074113654, 0.1310689, 0.12906975, 0.11596462, 0.007170312, 0.13460107, 0.08450185, -0.019635776, 0.0966497, 0.021586724, -0.06784809, 0.12102399) * g_13; + result += vec4(-0.032370187, 0.008661155, 0.020123083, 0.04574251); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x2-(S)-Conv-3x3x3x16 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv0ups +//!BIND conv0ups1 +//!SAVE MAIN +//!WIDTH conv0ups.w 2 * +//!HEIGHT conv0ups.h 2 * +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_2(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_3(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.03277269, -0.005261106, 0.017171703, 0.0, 0.07399743, 0.06816794, 0.09821277, 0.0, -0.013628815, -0.09454006, -0.2801339, 0.0, -0.020518344, -0.008617738, -0.010507532, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.0728787, -0.05837346, -0.06754399, 0.0, -0.14260155, -0.11570593, -0.156841, 0.0, -0.0050546993, 0.22888114, 0.21504444, 0.0, 9.040898e-05, -0.023274591, -0.013553191, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.051917054, 0.05906303, 0.06952429, 0.0, 0.0525386, 0.088182524, 0.058972485, 0.0, -0.089566976, -0.11995993, -0.060805317, 0.0, -0.0016516607, 0.014582383, 0.0018667864, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.010195044, -0.0016970673, -0.007473783, 0.0, 0.0048292056, 0.00090277405, -0.018349117, 0.0, 0.33494812, 0.21826924, 0.07975424, 0.0, 0.0313906, 0.023605483, 0.019729096, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.04102709, -0.057343815, -0.053828835, 0.0, -0.20089269, -0.14614193, -0.16869506, 0.0, -0.48148197, -0.112935685, 0.15368614, 0.0, 0.013808743, 0.019406663, 0.016180169, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.06643282, -0.06502517, -0.07856252, 0.0, 0.018638078, -0.022319186, -0.0067943106, 0.0, 0.036783714, -0.05270904, -0.0070206574, 0.0, 0.016395729, -0.004902533, 0.008296518, 0.0) * go_0(0.0, 1.0); + result += mat4(0.12068605, 0.15490896, 0.16064006, 0.0, 0.065336704, 0.053270113, 0.041463483, 0.0, -0.070910245, -0.16710983, -0.100286275, 0.0, -0.00765049, 0.002855491, 0.005510328, 0.0) * go_0(1.0, -1.0); + result += mat4(0.020581165, 0.009990014, 0.020439452, 0.0, 0.053358912, 0.019578407, 0.07360501, 0.0, -0.01833616, 0.024298528, 0.09730532, 0.0, 0.007911377, -0.0008312725, 0.0012658008, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.029880082, -0.048992317, -0.06480165, 0.0, 0.057186406, 0.02767247, 0.02632289, 0.0, 0.3017522, 0.107764654, -0.082682736, 0.0, -0.018429814, -0.0037222179, -0.008986925, 0.0) * go_0(1.0, 1.0); + result += mat4(0.05568391, 0.07143306, 0.11425685, 0.0, 0.09023551, 0.07943949, 0.09341015, 0.0, -0.006964977, 0.005051686, -0.0066025057, 0.0, 0.016425984, 0.016140617, 0.017426701, 0.0) * go_1(-1.0, -1.0); + result += mat4(-0.05428328, -0.05257552, -0.055414293, 0.0, 0.07355084, 0.02099847, 0.02532324, 0.0, -0.0059588687, 0.0026828237, 0.012020099, 0.0, -0.02094392, -0.008076426, -0.004007557, 0.0) * go_1(-1.0, 0.0); + result += mat4(0.078949526, 0.060797416, 0.06175456, 0.0, 0.038563624, 0.1133258, 0.097543724, 0.0, 0.009481104, 0.010644464, 0.017376821, 0.0, -0.025299812, -0.034176692, -0.024242869, 0.0) * go_1(-1.0, 1.0); + result += mat4(0.097633384, 0.08206449, 0.07688493, 0.0, -0.13658656, -0.07185774, -0.046447344, 0.0, 0.023979248, 0.007561647, 0.013846933, 0.0, -0.05918984, -0.061709706, -0.05624362, 0.0) * go_1(0.0, -1.0); + result += mat4(-0.06739334, -0.08787811, -0.11320143, 0.0, -0.21294294, -0.20553987, -0.212303, 0.0, 0.03569362, 0.005086715, -0.008558981, 0.0, -0.029743299, -0.01592082, -0.023579126, 0.0) * go_1(0.0, 0.0); + result += mat4(-0.06479095, -0.07233743, -0.0707415, 0.0, 0.042067222, 0.020530105, -0.013605897, 0.0, -0.024686582, -0.019044759, -0.028663088, 0.0, -0.02459999, -0.022106387, -0.037910707, 0.0) * go_1(0.0, 1.0); + result += mat4(0.00047730867, 0.0074251383, -0.019326044, 0.0, -0.0079797115, -0.028213829, -0.04960014, 0.0, -0.007960453, 0.006997611, 0.008396939, 0.0, 0.06343004, 0.049828995, 0.03993323, 0.0) * go_1(1.0, -1.0); + result += mat4(0.041342042, 0.04802731, 0.05910926, 0.0, -0.06663181, -0.017722478, -0.063366435, 0.0, -0.0066454113, -0.007623568, -0.0052808253, 0.0, 0.019400312, 0.023122162, 0.014149712, 0.0) * go_1(1.0, 0.0); + result += mat4(-0.02667231, 0.00326689, 0.028842116, 0.0, 0.1206443, 0.059932612, 0.11402581, 0.0, -0.019962605, -0.012744165, -0.0043374747, 0.0, 0.0076787886, -0.0029834688, 0.016930124, 0.0) * go_1(1.0, 1.0); + result += mat4(-0.048204165, -0.040773313, -0.048701975, 0.0, -0.10603768, -0.0444273, -0.05195404, 0.0, 0.0075067757, -0.018593295, -0.021308444, 0.0, -0.03957737, -0.009982081, 0.010517069, 0.0) * go_2(-1.0, -1.0); + result += mat4(0.04416329, 0.0061665634, 0.006213014, 0.0, 0.08318984, 0.10827006, 0.066440694, 0.0, 0.020778455, 0.039835304, 0.043959253, 0.0, 0.21019539, 0.20858723, 0.17247656, 0.0) * go_2(-1.0, 0.0); + result += mat4(-0.023037061, -0.040597446, -0.03936031, 0.0, 0.038322993, -0.006460271, 0.008364464, 0.0, 0.0013878595, -0.017040763, -0.008046535, 0.0, 0.04411088, 0.0034189504, -0.00865711, 0.0) * go_2(-1.0, 1.0); + result += mat4(-0.04620107, -0.010026264, -0.018166702, 0.0, -0.13721117, -0.13748127, -0.15809298, 0.0, -0.015785996, -0.005124028, -0.02296112, 0.0, 0.14735141, 0.17641969, 0.18629177, 0.0) * go_2(0.0, -1.0); + result += mat4(0.06815282, 0.12910986, 0.1348522, 0.0, 0.3159465, 0.39939725, 0.35339746, 0.0, -0.003487101, 0.01400649, 0.03802699, 0.0, -0.61086726, -0.60257083, -0.57637924, 0.0) * go_2(0.0, 0.0); + result += mat4(0.051779903, 0.040781803, 0.057703253, 0.0, 0.08762279, 0.058650948, 0.14592434, 0.0, -0.0027639035, 0.019435523, 0.007374421, 0.0, 0.14841707, 0.15387256, 0.18617661, 0.0) * go_2(0.0, 1.0); + result += mat4(0.0061518056, -0.036338966, -0.01811052, 0.0, -0.0409911, -0.10952732, -0.06394289, 0.0, -0.03781909, -0.036061246, -0.017401218, 0.0, 0.036531474, -0.009453272, -0.0205337, 0.0) * go_2(1.0, -1.0); + result += mat4(0.011860616, -0.01409049, -0.0038651319, 0.0, -0.026641136, 0.052935697, 0.024065036, 0.0, -0.00801134, -0.021182325, -0.03668359, 0.0, 0.17521855, 0.1884243, 0.21842308, 0.0) * go_2(1.0, 0.0); + result += mat4(-0.04098353, -0.010698699, -0.042900108, 0.0, -0.3209868, -0.37843677, -0.40212557, 0.0, 0.016307857, 0.010040624, 0.0025999267, 0.0, -0.008670373, 0.0011820213, -0.021262378, 0.0) * go_2(1.0, 1.0); + result += mat4(0.109322615, 0.072824165, 0.111781776, 0.0, 0.056546386, -0.00393398, 0.004904314, 0.0, 0.18162459, 0.1963156, 0.18083604, 0.0, -0.11325025, 0.03739349, -0.034167226, 0.0) * go_3(-1.0, -1.0); + result += mat4(-0.16535625, -0.19053574, -0.19740228, 0.0, -0.09285224, -0.18288574, -0.16264571, 0.0, -0.15362014, -0.11303279, 0.023057505, 0.0, -0.019013347, 0.025035419, 0.046823245, 0.0) * go_3(-1.0, 0.0); + result += mat4(0.051271398, 0.06677435, 0.071102865, 0.0, -0.24909541, -0.24379867, -0.26372898, 0.0, -0.051355038, 0.16958164, 0.12556365, 0.0, -0.078110464, -0.09428601, -0.12403035, 0.0) * go_3(-1.0, 1.0); + result += mat4(-0.20382409, -0.21728146, -0.25310788, 0.0, 0.0863418, 0.16670556, 0.13722113, 0.0, 0.09728048, -0.05204764, -0.13571848, 0.0, 0.011384012, -0.12616627, -0.121069506, 0.0) * go_3(0.0, -1.0); + result += mat4(0.048272748, 0.056282464, 0.053991128, 0.0, 0.24383838, 0.30037045, 0.2993122, 0.0, -0.10345337, -0.28334868, -0.36417452, 0.0, 0.289455, 0.26967737, 0.30849114, 0.0) * go_3(0.0, 0.0); + result += mat4(0.08048932, 0.10012804, 0.13864101, 0.0, 0.028471693, -0.10722793, -0.110060275, 0.0, -0.09971538, -0.011243501, 0.17263469, 0.0, 0.0536668, 0.08396721, 0.058851402, 0.0) * go_3(0.0, 1.0); + result += mat4(-0.02470257, -0.0099621, 0.0018576515, 0.0, -0.07751234, -0.0431258, -0.03958112, 0.0, 0.07120911, 0.05517916, 0.18740316, 0.0, -0.043790314, -0.0959628, -0.070550814, 0.0) * go_3(1.0, -1.0); + result += mat4(0.10409344, 0.08135716, 0.04320299, 0.0, 0.09303134, 0.073921256, 0.07716563, 0.0, 0.09312593, 0.03623192, 0.06660019, 0.0, -0.12193945, -0.16342056, -0.15565647, 0.0) * go_3(1.0, 0.0); + result += mat4(0.068098865, 0.07742245, 0.04117883, 0.0, -0.07239023, -0.0048315763, -0.0029638975, 0.0, -0.053049978, 0.121163346, 0.048760712, 0.0, -0.033619802, -0.010043663, -0.012648383, 0.0) * go_3(1.0, 1.0); + result += vec4(0.00016753975, -0.00019302216, -0.0001663917, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x3_L.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x3_L.glsl new file mode 100644 index 0000000..1010896 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x3_L.glsl @@ -0,0 +1,1646 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.26345107, 0.18636681, 0.068192646, 0.06335259, -0.5026903, -0.39884016, -0.14562744, -0.24653248, -0.44533378, 0.52169526, -0.35453957, 0.25303423, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.22396083, 0.1324318, 0.47152156, -0.3061965, -0.06026671, -0.26795772, 0.0081171375, -0.32897332, -0.16401465, -0.1018444, 0.48241594, -0.09054633, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.25090155, -0.15917313, 0.028407926, -0.24014995, 0.4114972, -0.45535553, 0.08742311, 0.16796699, 0.0995656, -0.4009339, 0.21471445, 0.2708967, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.16269766, 0.16389379, -0.12857921, -0.1602467, -0.16460834, 0.15754342, 0.46217716, 0.20442651, 0.0548621, -0.018400457, 0.38643107, -0.29171357, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.24035631, -0.33344224, -0.3904698, -0.4168555, -0.42237657, 0.36649242, 0.41396108, -0.38945103, -0.5806718, 0.035621256, 0.09171773, -0.54301006, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.15957133, -0.035278857, 0.1318051, 0.6896821, 0.18556473, 0.16378926, 0.32670698, 0.2675555, 0.08802092, 0.41140598, 0.05322177, 0.5030955, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.082798496, 0.24381381, -0.30908522, 0.04553323, 0.25664318, 0.4123797, -0.29377607, 0.15920162, 0.13717672, 0.027625162, 0.25476956, 0.21843456, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.14534818, -0.239681, 0.22961527, 0.3814783, 0.1233398, 0.2449555, 0.015051085, 0.1661234, -0.27740797, -0.29109767, -0.19438179, -0.027439274, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.0011904882, -0.01287622, -0.1573707, -0.13167281, -0.12803882, -0.079415865, -0.04034391, -0.09625339, 0.23190106, -0.26743674, -0.48981485, -0.2063946, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.034235504, 0.039522275, -0.032817896, -0.0031068379); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.17155029, -0.084075995, 0.2281505, 0.38326037, 0.18672232, -0.2562305, 0.30811027, 0.30188802, -0.24588907, 0.088734694, 0.14092724, -0.18793459, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.47514066, 0.51882815, 0.1561294, -0.043147214, -0.19554369, 0.19514531, -0.14636773, 0.11425865, -0.2772368, 0.5388449, 0.54875004, -0.4526634, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.11270131, 0.44642356, -0.066219814, 0.15781905, 0.056682296, 0.026522577, 0.05600635, -0.13799536, 0.15637676, -0.15661198, 0.53794587, 0.09693692, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.23679815, 0.16397353, 0.37343305, 0.07477207, -0.36061585, 0.24027273, 0.3222875, 0.05577238, -0.17547923, 0.11737104, 0.10193468, -0.056727592, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.2335428, -0.5571976, 0.13586389, -0.3443148, 0.4537042, -0.59349614, -0.24114902, 0.08669349, 0.2881981, -0.29106617, -0.47775048, 0.22723311, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.006350133, -0.28196353, 0.22710627, 0.30080464, -0.3500525, 0.09254133, -0.48047104, -0.30452347, -0.077637784, -0.11856046, 0.07377078, 0.44280833, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.2200762, 0.3665277, 0.043291833, 0.21484855, 0.15553318, -0.035003938, 0.14891839, -0.29007155, 0.23154758, -0.2348225, 0.48130423, 0.00733271, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.28228128, 0.054867495, 0.08010268, -0.2980908, 0.15146615, -0.058449056, -0.43990552, -0.5963296, 0.09321943, 0.20146254, -0.08043876, 0.017381484, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.076894, 0.16354772, 0.25471574, 0.24382424, -0.15274979, -0.19706573, -0.30667382, 0.523845, 0.023073493, 0.34462887, -0.3384359, 0.18867111, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.014904483, -0.009271063, 0.04884906, 0.0106121525); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf2 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.34360278, -0.28731042, -0.017787619, 0.36802426, 0.33655256, -0.24784079, 0.29148427, 0.28857, -0.3111454, 0.0030706236, -0.25914, 0.5528963, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.12459981, -0.17094392, -0.18776429, 0.37819883, 0.1320519, 0.21927781, -0.16188109, 0.050895408, -0.06871313, 0.16754176, 0.29934305, 0.052247107, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.016753385, -0.0935026, -0.3025131, 0.029084548, -0.17713268, 0.23525053, 0.015773006, 0.5464473, 0.49457568, 0.03073306, 0.18685353, 0.28700578, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.135332, 0.07585244, 0.05262212, -0.15484884, -0.13468477, 0.5161883, 0.10347934, -0.37127933, 0.12426171, 0.48973167, 0.19040361, -0.24403319, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.54557467, 0.07250278, 0.37912187, 0.0044768555, -0.47080016, -0.4050018, 0.64416456, -0.58235925, -0.28048036, -0.32962233, -0.28131053, 0.022653949, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.17059836, 0.016603703, 0.34638256, 0.028987328, 0.43271738, -0.15030707, 0.072848, 0.1422675, -0.23391044, -0.12179815, 0.37569857, -0.056668952, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.0428437, 0.15237094, -0.26750615, 0.053740855, -0.04772152, -0.13561963, -0.20043467, -0.018060924, 0.29031327, -0.17592178, -0.5016104, -0.36639994, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.39091983, -0.257284, -0.39293087, -0.1182859, -0.46328986, -0.1585645, -0.32158652, 0.41519204, 0.21179573, -0.3613411, -0.032484483, -0.03755994, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.42772895, 0.11436431, -0.115817815, -0.29173127, 0.57807744, -0.21997264, -0.49362126, 0.021626333, 0.1258072, -0.062251803, -0.16541855, 0.061321106, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.017981518, -0.012223751, -0.0033700857, 0.013441364); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.1881249, -0.14544061, -0.022969106, 0.088232316, 0.0058642747, -0.049336948, -0.039974928, 0.06410949, -0.09211665, -0.034005307, -0.1095955, 0.10930763, -0.26397142, 0.1384094, 0.017342392, -0.21376696) * go_0(-1.0, -1.0); + result += mat4(-0.14526816, -0.0639951, 0.11742242, -0.006982521, -0.05208895, 0.089485295, -0.19564004, -0.08121572, -0.11621622, 0.15375662, -0.15378582, 0.0596373, 0.14132364, -0.06385903, 0.05449634, -0.047440365) * go_0(-1.0, 0.0); + result += mat4(-0.082622305, -0.23856479, 0.06367865, -0.019509695, 0.094882965, -0.04511791, 0.16706854, 0.20536391, 0.1409632, -0.10635743, 0.038904104, -0.0039008786, 0.16198882, -0.17409256, 0.13213669, 0.08329318) * go_0(-1.0, 1.0); + result += mat4(-0.1186756, 0.2009846, -0.086417995, 0.20491274, -0.13763973, -0.0800847, 0.16069777, 0.10931271, 0.14152408, 0.047218926, 0.041168302, -0.054257084, -0.08315953, -0.1573787, 0.20787828, 0.118524544) * go_0(0.0, -1.0); + result += mat4(-0.19046788, 0.10213364, -0.112078644, -0.16287695, 0.011410189, -0.016858546, -0.09383451, -0.063516155, -0.17561492, -0.15199865, -0.112707786, -0.18099716, 0.19017689, -0.20048961, -0.5382596, -0.24332014) * go_0(0.0, 0.0); + result += mat4(-0.1465597, 0.044423096, 0.04632811, -0.015121401, -0.051081203, -0.09574356, -0.10018257, -0.019390205, -0.1562855, 0.041693382, -0.012624074, 0.057703923, 0.09825134, 0.1544577, 0.1683734, 0.018580355) * go_0(0.0, 1.0); + result += mat4(-0.22240564, -0.051839057, 0.12950379, 0.0048653902, 0.0144696245, -0.10698864, -0.08654499, -0.131132, 0.15429983, 0.025204081, -0.09136411, -0.053068906, -0.005858075, -0.02560129, 0.0469077, 0.018962694) * go_0(1.0, -1.0); + result += mat4(-0.4698737, -0.053354982, 0.27541625, -0.020424731, 0.06935965, 0.008045162, -0.11538889, -0.038876567, -0.049084928, 0.1629101, -0.012742019, 0.12038333, -0.0705842, 0.12735052, 0.17640172, 0.050716672) * go_0(1.0, 0.0); + result += mat4(-0.10064598, 0.016594354, -0.14633141, -0.09175336, -0.12889755, -0.1671076, 0.22031903, 0.0759859, 0.102435045, -0.072596334, -0.17714, 0.03531571, -0.022843607, 0.047148425, 0.105391234, 0.05260699) * go_0(1.0, 1.0); + result += mat4(-0.1057386, 0.020954097, -0.022159133, 0.064248964, -0.031145383, -0.008180922, -0.023611609, 0.05197287, -0.017418958, 0.02461813, 0.0584847, -0.10087345, -0.16315617, 0.15651843, 0.10478647, 0.08347392) * go_1(-1.0, -1.0); + result += mat4(-0.01323452, 0.044956483, -0.007983463, 0.10643116, -0.030048033, -0.11766427, -0.101889476, 0.015120098, 0.031690307, 0.014470776, -0.10197176, -0.10045749, -0.065616645, -0.15230782, -0.26183948, -0.071056716) * go_1(-1.0, 0.0); + result += mat4(0.026220636, -0.044518135, 0.17167594, 0.3016424, 0.12054841, 0.042369425, 0.04208856, 0.14938886, -0.07018442, -0.008244587, 0.14260693, -0.094418734, -0.032693435, 0.042990524, -0.053002246, -0.003936231) * go_1(-1.0, 1.0); + result += mat4(-0.10141095, 0.17178011, -0.10951717, -0.28119737, 0.008288983, 0.14197187, 0.10903869, 0.017220182, 0.041842293, -0.03106527, -0.05892881, 0.02668739, 0.072505936, -0.060759444, 0.00032896115, -0.03440771) * go_1(0.0, -1.0); + result += mat4(0.13831837, -0.13864368, 0.15232176, 0.31198958, 0.033965178, 0.053397447, -0.30352455, -0.17199865, -0.06429645, 0.013913047, 0.10764071, -0.12238359, -0.04544379, 0.17074125, 0.024108075, -0.14521888) * go_1(0.0, 0.0); + result += mat4(-0.11011318, -0.0102100335, -0.37701187, -0.36465186, 0.16052358, -0.06683314, 0.16916892, 0.23348652, -0.17332914, 0.007918098, -0.055450343, 0.12134491, 0.002598775, 0.050541576, 0.16586582, -0.08609246) * go_1(0.0, 1.0); + result += mat4(0.055008903, -0.038048673, 0.12065314, -0.034293417, 0.026340824, 0.0635937, 0.0072025824, 0.1099919, -0.022833373, 0.06988719, 0.098066956, 0.09838032, 0.027212605, -0.10769643, 0.025036965, 0.07822364) * go_1(1.0, -1.0); + result += mat4(0.12550583, -0.015590264, -0.20009072, -0.2595937, -0.040573828, -0.07032441, 0.13428123, 0.0024277875, -0.103335135, -0.08461066, 0.05634581, -0.113169014, 0.05591198, -0.16420694, -0.06915715, -0.19497992) * go_1(1.0, 0.0); + result += mat4(0.088232726, -0.05118527, 0.119473234, 0.23262945, 0.06746001, 0.14686997, -0.25685823, 0.08349066, 0.120035954, 0.11132579, 0.1024914, 0.008478224, -0.054700002, -0.029634893, 0.050064556, -0.08939752) * go_1(1.0, 1.0); + result += mat4(0.022236016, -0.14602192, -0.011037687, 0.09127931, 0.14263593, 0.2303995, -0.07378528, 0.07426219, -0.25500375, 0.18845809, -0.065374866, 0.016772734, 0.02813176, 0.15021992, -0.032982655, 0.0046127643) * go_2(-1.0, -1.0); + result += mat4(0.110158965, 0.02073459, 0.1380525, 0.017634321, -0.3546499, -0.099760525, -0.1195462, 0.057210118, -0.53130746, 0.23352407, -0.18252264, -0.19651698, -0.10013627, -0.006907238, -0.022171183, 0.023419948) * go_2(-1.0, 0.0); + result += mat4(-0.009217382, 0.00943576, 0.005295363, 0.010542551, -0.21079898, -0.14469005, -0.19105618, 0.2098414, 0.18261504, 0.19765937, 0.044775106, -0.25939676, 0.072466746, -0.08828442, 0.066161856, 0.05692894) * go_2(-1.0, 1.0); + result += mat4(-0.051633067, 0.019243274, 0.28932014, -0.029704608, -0.06255436, -0.4573925, -0.10963281, 0.121834375, 0.10874706, -0.093909726, 0.06983889, 0.048236616, -0.15379356, -0.06354611, -0.10668147, -0.02901699) * go_2(0.0, -1.0); + result += mat4(-0.044167574, 0.022249546, -0.3618917, -0.054136246, -0.105739385, -0.22325896, -0.070169605, -0.19650152, 0.07689512, -0.17047665, -0.07742679, 0.031095566, -0.01903123, -0.033752028, -0.2286711, 0.044381924) * go_2(0.0, 0.0); + result += mat4(-0.05709193, 0.15251294, -0.16776492, 0.09025173, 0.18235344, 0.3685535, -0.053927444, 0.10351524, -0.0938133, -0.26824594, -0.036424845, -0.106756285, -0.13051414, -0.07613318, -0.10721611, -0.13445549) * go_2(0.0, 1.0); + result += mat4(-0.0268394, 0.017245602, 0.1185864, 0.031915247, -0.037321728, 0.037805032, 0.13701047, 0.025731707, 0.03791209, -0.16549957, 0.08953334, -0.13901101, -0.1287722, 0.072961085, 0.06859001, 0.18934746) * go_2(1.0, -1.0); + result += mat4(-0.11152981, 0.13712928, -0.05714947, 0.05542204, -0.32208005, -0.015176284, 0.10014709, -0.030125491, -0.04422843, 0.12897238, 0.108573034, -0.025267191, 0.02247499, -0.058167085, -0.15205052, 0.043249656) * go_2(1.0, 0.0); + result += mat4(-0.12951276, -0.14417744, 0.012708804, -0.0040302873, 0.09192804, -0.092346616, -0.09659876, -0.13512622, -0.0737095, 0.002481852, 0.048459593, 0.05455724, -0.14035852, 0.07777282, 0.07471883, 0.107781895) * go_2(1.0, 1.0); + result += mat4(0.028793033, -0.039604917, -0.0045903274, -0.05023892, 0.04976248, -0.026074547, 0.1733191, -0.06694405, -0.12434122, 0.12477937, -0.105804294, 0.06170465, 0.33725888, -0.15944988, 0.09790923, 0.030690596) * go_3(-1.0, -1.0); + result += mat4(0.005191585, 0.08373177, -0.018288689, 0.020527333, -0.055718876, -0.12754384, 0.17755422, 0.1597085, 0.17601304, -0.0258804, 0.16454586, 0.106551126, -0.20891763, -0.05360957, -0.24229631, -0.15886526) * go_3(-1.0, 0.0); + result += mat4(0.03740399, -0.0043318006, -0.010840595, -0.01674406, -0.17876416, 0.09188681, -0.12203759, -0.09808559, 0.1243873, -0.184597, 0.07484877, 0.14448164, -0.15161137, 0.033237204, -0.054772068, -0.085399576) * go_3(-1.0, 1.0); + result += mat4(0.071139924, 0.025827989, 0.021663137, -0.12484576, -0.07799051, 0.20053016, 0.014714873, -0.041652568, 0.046397317, -0.07650734, 0.06753141, 0.080667324, 0.4557549, -0.029605106, -0.25674006, -0.27842438) * go_3(0.0, -1.0); + result += mat4(0.16805562, -0.03722638, 0.021958483, -0.04969856, -0.15340807, -0.22158863, -0.25280216, -0.024268134, 0.085401855, 0.22427009, -0.04698029, -0.071075134, -0.10739174, 0.030285811, 0.31068414, 0.2882289) * go_3(0.0, 0.0); + result += mat4(-0.010069354, -0.045132317, -0.08054911, 0.19212297, -0.11246117, 0.203382, 0.10145021, 0.1476792, -0.022835081, 0.16916804, -0.018178321, 0.076025024, -0.29570428, -0.007177177, -0.1047155, -0.0178633) * go_3(0.0, 1.0); + result += mat4(0.076137505, 0.117270656, -0.077183075, -0.052782975, -0.08236995, 0.053947527, 0.13501388, 0.17139077, -0.2424162, -0.15007298, 0.123724684, 0.09327283, 0.19777925, 0.07314544, -0.18668725, -0.010371631) * go_3(1.0, -1.0); + result += mat4(0.15866037, 0.053233996, -0.026709981, -0.1574147, -0.012303242, 0.06893102, 0.031804018, 0.10116885, -0.016902728, -0.082480945, 0.05133729, -0.20160739, -0.012635841, 0.032104325, 0.00968726, -0.018941477) * go_3(1.0, 0.0); + result += mat4(-0.02683365, 0.14024723, 0.0020279875, 0.035137076, -0.019948762, 0.3120297, -0.018649966, -0.17814124, -0.14863688, -0.12977526, -0.09194036, 0.19637106, 0.12040974, 0.09383599, 0.10559805, -0.0319509) * go_3(1.0, 1.0); + result += mat4(-0.07015076, -0.07818044, 0.12413185, -0.0018199648, -0.015275738, -0.21548629, 0.046161238, -0.10475311, 0.082367115, 0.0053079966, 0.09559984, 0.039583992, -0.1681236, -0.23862287, -0.09229484, -0.12317666) * go_4(-1.0, -1.0); + result += mat4(-0.17587087, -0.097817905, 0.08857801, 0.14012139, -0.20023742, 0.029083535, 0.056073546, -0.06810832, 0.08625035, 0.023427716, 0.1797412, 0.048568305, -0.09278378, -0.09250215, -0.12440772, 0.2587798) * go_4(-1.0, 0.0); + result += mat4(-0.24181388, -0.016290328, -0.026988767, -0.005399553, -0.061761368, -0.0013004051, -0.1990831, -0.07799404, 0.03282008, 0.079514205, -0.07474829, -0.36701006, 0.078521594, -0.156468, 0.09041213, 0.1292482) * go_4(-1.0, 1.0); + result += mat4(-0.21960634, 0.041841425, 0.122728646, 0.06800145, 0.07355482, 0.26123464, -0.13518283, -0.05085496, -0.099832244, 0.04960356, 0.066544525, 0.09741243, -0.10965899, -0.16163626, 0.09816793, -0.014595947) * go_4(0.0, -1.0); + result += mat4(0.07614604, -0.062298786, -0.07941662, -0.22525579, -0.29955792, 0.11145522, 0.123146005, 0.13863817, 0.15309983, 0.025902487, -0.08610474, -0.07598799, -0.26134565, -0.2818921, 0.0046356185, 0.007307074) * go_4(0.0, 0.0); + result += mat4(-0.15936229, -0.10145381, 0.058567517, 0.21258314, -0.18010478, -0.22477242, -0.039975245, -0.34447697, -0.21647838, 0.31467855, -0.0674453, -0.5146147, 0.05382176, -0.026282668, -0.24090777, 0.10222359) * go_4(0.0, 1.0); + result += mat4(-0.1045028, -0.027515164, 0.013251722, 0.108239084, 0.03163253, -0.030052185, 0.10836872, 0.15349132, 0.09593661, 0.0062710177, -0.19837233, -0.098303355, -0.23947543, -0.04082913, 0.16908304, -0.031784274) * go_4(1.0, -1.0); + result += mat4(-0.07773699, 0.30408737, 0.10054892, 0.36721498, 0.51369953, -0.11931886, -0.17019019, -0.3288588, 0.11095048, -0.29225063, -0.075574756, -0.18392691, -0.10289336, 0.06882282, 0.20403436, 0.12073833) * go_4(1.0, 0.0); + result += mat4(0.024539007, 0.053005982, -0.099204265, -0.084534295, -0.2587164, -0.31929657, 0.07193254, 0.18271501, -0.043669797, 0.062497724, -0.055462, 0.057130013, -0.015285072, -0.030743862, -0.07051513, -0.13783172) * go_4(1.0, 1.0); + result += mat4(-0.4343681, 0.35928357, -0.004770178, -0.079942055, 0.014088603, -0.20866469, -0.1378781, -0.06831558, 0.21436058, -0.08427488, 0.2455502, -0.065596916, -0.06559933, -0.027101375, 0.023555819, -0.20939256) * go_5(-1.0, -1.0); + result += mat4(-0.37720296, -0.111260146, -0.25392932, -0.33377793, -0.17806955, -0.008747484, 0.17404033, 0.058826912, 0.0039355545, -0.18436235, 0.15803719, 0.15143508, 0.11155828, 0.09333553, -0.17960371, -0.036842924) * go_5(-1.0, 0.0); + result += mat4(-0.087490946, 0.0959697, -0.08301798, -0.19364063, -0.00996324, 0.014655412, 0.021732382, 0.07269497, 0.012744119, 0.01542146, 0.109438084, 0.18674947, -0.05728511, 0.017406877, 0.036412247, -0.044986803) * go_5(-1.0, 1.0); + result += mat4(0.30902067, 0.25019556, -0.079495244, -0.26099077, 0.08450634, -0.08346094, 0.004498276, -0.119334444, -0.08587327, -0.019446453, -0.1811446, -0.16136086, 0.006683898, 0.0005228834, -0.11937812, -0.2045503) * go_5(0.0, -1.0); + result += mat4(0.19326456, -0.052496854, 0.12926556, 0.10167019, 0.090374604, 0.07595169, -0.0048561483, 0.12414255, 0.19320521, -0.027459998, 0.08993327, -0.035830285, 0.006461366, 0.023297347, 0.0691706, -0.00831113) * go_5(0.0, 0.0); + result += mat4(0.13971736, 0.0788502, 0.12267767, 0.004433991, -0.053574555, -0.08087108, -0.26019198, -0.04175351, -0.13934188, 0.04144695, -0.070562504, -0.068388134, -0.1347503, -0.02173245, -0.1099242, -0.020897312) * go_5(0.0, 1.0); + result += mat4(0.07843604, 0.04441641, -0.016214373, -0.15351163, -0.021339556, 0.023823377, -0.01442564, -0.09113205, -0.02552644, 0.14885889, -0.16178642, 0.14472331, 0.14082494, 0.05760455, -0.11503234, -0.16907685) * go_5(1.0, -1.0); + result += mat4(-0.042953692, -0.3268466, 0.13181087, -0.06399399, 0.17543526, 0.111214496, 0.07369484, -0.003378238, 0.040965978, -0.0073295045, 0.07711077, -0.033094298, -0.08758825, -0.01715938, 0.056862406, -0.010732023) * go_5(1.0, 0.0); + result += mat4(-0.039256442, -0.07153648, 0.10314899, -0.1192048, -0.033410206, 0.13077301, 0.19343375, -0.07479033, 0.10759806, -0.037313893, 0.06156247, 0.021744521, -0.18148352, -0.15683053, 0.017884498, -0.11338723) * go_5(1.0, 1.0); + result += vec4(-0.077597156, 0.024995416, 0.0048880246, -0.06210122); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.10368956, 0.09174666, 0.07265347, 0.009965846, 0.04307676, 0.018726716, 0.064217605, -0.024381645, 0.013237381, 0.039251406, 0.13164084, -0.05265028, -0.08619517, 0.015469731, 0.10171868, -0.11194108) * go_0(-1.0, -1.0); + result += mat4(-0.055484463, 0.1386706, -0.22939423, -0.2222723, 0.04815343, 0.05425625, 0.08234074, 0.12962975, 0.030559294, -0.07823733, 0.12347866, -0.13917705, -0.031347297, 0.010592373, -0.38942683, -0.302033) * go_0(-1.0, 0.0); + result += mat4(0.06968848, -0.03574659, 0.11817242, 0.044270225, 0.0481696, 0.045347195, -0.14479072, 0.06971279, 0.012434736, 0.03927546, 0.13076504, 0.032268204, 0.040274065, 0.053418823, -0.05195065, 0.1341056) * go_0(-1.0, 1.0); + result += mat4(0.1314648, 0.08953099, -0.058160458, -0.098807305, -0.08652445, -0.19136623, -0.012327089, 0.14297265, 0.11436408, 0.031837817, -0.0038611747, 0.08295747, 0.19534546, -0.033664998, -0.51042134, -0.21606028) * go_0(0.0, -1.0); + result += mat4(-0.332711, -0.2260786, 0.35732532, 0.026584813, 0.16421017, 0.21153966, -0.112725854, -0.048803244, 0.059562314, -0.010458478, 0.0063304375, -0.007279937, -0.41918445, 0.10137393, -0.0989079, -0.17768846) * go_0(0.0, 0.0); + result += mat4(-0.22947264, 0.008074958, -0.03876367, 0.28019628, -0.18640186, 0.072562195, -0.001338717, 0.17349707, 0.13131878, 0.05085823, -0.11547487, -0.084437385, -0.18131672, 0.026830718, 0.0960529, -0.014084568) * go_0(0.0, 1.0); + result += mat4(0.13153158, 0.079937235, -0.14291838, -0.062477887, -0.0690248, 0.15090927, 0.060723048, -0.044703092, 0.005483621, -0.113471694, 0.048640195, -0.024538955, -0.01751092, 0.19206041, -0.1859277, -0.22007878) * go_0(1.0, -1.0); + result += mat4(-0.04971548, -0.38541326, -0.080354154, -0.1132633, -0.13348146, 0.11406493, 0.05543971, 0.022810424, -0.09030199, -0.053045455, -0.084034644, 0.0014670533, 0.0007018557, -0.24078067, 0.047226585, 0.08619653) * go_0(1.0, 0.0); + result += mat4(-0.08993396, -0.09246378, 0.11467184, 0.060891952, -0.022887891, -0.008537377, 0.13542707, 0.08030356, -0.06174077, -0.07314582, -0.111782126, -0.08939319, -0.09756803, -0.15771574, 0.073002145, 0.035939205) * go_0(1.0, 1.0); + result += mat4(-0.09398606, -0.118093155, 0.024832802, 0.049131367, 0.06665196, -0.039545495, -0.107865654, -0.043897964, -0.03278348, -0.111089505, 0.12056342, -0.10977613, -0.05880801, -0.08684503, -0.15480064, -0.09669209) * go_1(-1.0, -1.0); + result += mat4(-0.12028866, -0.0130571015, 0.010480521, 0.28919983, 0.050575808, -0.07968808, -0.15499628, -0.13613448, 0.030993043, 0.13226634, -0.12666325, -0.010337325, -0.025353834, 0.017561335, -0.08171704, -0.17280379) * go_1(-1.0, 0.0); + result += mat4(-0.0008190666, 0.017923795, -0.13926646, -0.00083633314, -0.14120303, 0.109396234, 0.026602108, 0.2108425, 0.15093753, -0.0016773659, 0.028220268, 0.09914804, -0.045055833, 0.040082425, 0.007756443, -0.04522211) * go_1(-1.0, 1.0); + result += mat4(0.059589684, 0.04780217, 0.30785602, 0.25626636, 0.08686253, 0.11348654, 0.042249523, -0.2264382, -0.058502045, 0.05044742, 0.0031711252, -0.021721566, -0.011926813, 0.042892855, -0.08586602, -0.029168598) * go_1(0.0, -1.0); + result += mat4(0.09367661, -0.019030625, -0.34638473, -0.10968469, -0.16300671, 0.21311292, 0.11657136, -0.044009518, 0.10225506, -0.044505168, 0.20920436, -0.018161744, -0.018144146, 0.026626088, -0.056913715, 0.15370414) * go_1(0.0, 0.0); + result += mat4(-0.28757727, 0.14743091, -0.021321807, -0.048045393, -0.109708, -0.14760888, 0.15246773, -0.028329216, 0.009206364, -0.06396112, 0.12593451, 0.052947026, 0.066429235, -0.08044728, 0.0070432564, -0.057647638) * go_1(0.0, 1.0); + result += mat4(-0.023919886, -0.20876022, 0.05590491, 0.12671952, -0.07277091, 0.024939056, 0.03633482, -0.10239475, -0.12012349, -0.17192347, 0.014865882, 0.1858935, -0.013352806, -0.04451544, 0.0032296637, 0.09310079) * go_1(1.0, -1.0); + result += mat4(-0.29340369, 0.1377685, -0.018134177, -0.0819466, 0.2541578, -0.1270915, -0.12300359, 0.114513785, 0.21511158, -0.060876742, 0.07682154, 0.09775888, -0.09133818, 0.04477866, 0.058042303, -0.027626123) * go_1(1.0, 0.0); + result += mat4(-0.098641984, -0.09568759, 0.27307647, 0.044102278, -0.03640084, -0.10440432, -0.011212675, -0.22568303, -0.008232321, 0.14870772, -0.17107275, -0.023316732, 0.03395947, 0.14223643, -0.08063479, 0.14301774) * go_1(1.0, 1.0); + result += mat4(-0.08714423, -0.12230681, -0.22175795, -0.10298021, 0.0009175108, 0.19820437, 0.04215484, 0.2772454, 0.046766162, 0.023245906, 0.36313313, -0.29657102, 0.0010776661, 0.047935788, 0.113361314, -0.05614472) * go_2(-1.0, -1.0); + result += mat4(0.15069975, 0.06458973, 0.08984772, -0.08219822, -0.37328726, -0.03008995, 0.31162828, 0.07075847, -0.13914284, -0.10216768, 0.22251949, -0.30631062, 0.17172062, 0.058428258, -0.11345689, 0.08461611) * go_2(-1.0, 0.0); + result += mat4(0.007734305, 0.042484675, -0.15685312, -0.048171967, 0.10970874, 0.061090663, -0.08464978, 0.08347133, -0.17933917, 0.2308347, -0.053314723, 0.09323812, -0.04228206, 0.055042125, -0.046495847, -0.032692812) * go_2(-1.0, 1.0); + result += mat4(-0.09439761, 0.03567186, -0.17220385, -0.103939146, -0.064900115, -0.16004047, 0.004621011, -0.014501001, -0.14071538, -0.05238438, -0.04519603, 0.21972013, -0.007383857, -0.07692677, -0.14034486, 0.08030412) * go_2(0.0, -1.0); + result += mat4(-0.22748968, 0.12067121, -0.05225513, 0.04308743, -0.081648685, 0.28658885, 0.37694585, -0.018508147, -0.019247225, 0.095557846, 0.015747357, 0.12365868, -0.076417744, -0.03912286, 0.18391648, -0.09244896) * go_2(0.0, 0.0); + result += mat4(-0.00221828, -0.0894836, 0.038467363, -0.019945016, 0.13546647, 0.17713489, -0.17275713, 0.08575425, -0.019129591, 0.16340882, -0.16357088, -0.0033604207, -0.06446814, -0.15712759, 0.18558913, -0.115558594) * go_2(0.0, 1.0); + result += mat4(-0.09995351, 0.18885328, -0.057601925, 0.01172547, -0.031203317, -0.1181948, 0.006120215, 0.25098777, -0.06316651, 0.047607217, -0.056073133, -0.029685916, 0.12195799, -0.056664392, -0.054523658, 0.03753435) * go_2(1.0, -1.0); + result += mat4(0.007936505, -0.021070726, 0.040594626, 0.061293513, -0.074233375, 0.10112329, -0.19424592, -0.14433385, -0.04661142, -0.09192385, 0.034151867, -0.11941847, 0.046759605, -0.15323174, 0.09908571, 0.18290807) * go_2(1.0, 0.0); + result += mat4(-0.012291647, 0.114136524, 0.10576901, -0.012061901, 0.2356885, 0.048024837, 0.18102467, -0.034004245, -0.06746709, 0.09405117, 0.12362687, 0.0254422, 0.22654915, 0.04224264, -0.049588405, 0.11478716) * go_2(1.0, 1.0); + result += mat4(-0.021690933, 0.13663062, -0.161411, 0.06806553, -0.1773275, -0.0940566, -0.18002738, 0.047475196, 0.0072157113, -0.008688586, -0.15493456, 0.022294179, 0.041401867, -0.10311516, -0.006603416, 0.059536614) * go_3(-1.0, -1.0); + result += mat4(-0.13541889, 0.047185, -0.027699882, 0.060225613, -0.035152074, 0.05752177, -0.026204573, 0.11251955, -0.0049166707, 0.17533402, -0.15755837, 0.16124752, 0.04805776, -0.10309488, 0.15945134, 0.025226792) * go_3(-1.0, 0.0); + result += mat4(-0.015074193, -0.094979845, 0.027753184, -0.071142055, -0.17082961, -0.06833402, 0.13620014, -0.24564765, 0.036582932, 0.13075556, 0.036705326, 0.03863992, -0.018921472, -0.0016482361, 0.13597268, -0.038188133) * go_3(-1.0, 1.0); + result += mat4(-0.14212462, -0.1483275, 0.05649678, 0.05684924, -0.11407954, 0.13978885, 0.070467845, -0.07458527, -0.19702937, 0.23950967, -0.15242746, -0.26435548, -0.14437793, 0.21487178, 0.4991241, 0.18331984) * go_3(0.0, -1.0); + result += mat4(0.20045248, 0.066468574, -0.015601024, 0.012849705, -0.14952832, -0.06828453, 0.16009094, -0.09515789, -0.1071139, -0.021629127, -0.012993768, -0.022518635, 0.19255438, -0.09875012, 0.07555782, 0.0780372) * go_3(0.0, 0.0); + result += mat4(-0.028311213, -0.025465565, 0.020059558, -0.116105095, -0.042490575, 0.020179577, 0.010893176, -0.11184776, -0.1702318, -0.025035636, 0.008381181, 0.0586714, 0.03539251, -0.0448198, -0.056921933, -0.029987138) * go_3(0.0, 1.0); + result += mat4(0.049813945, 0.08434948, 0.09337763, 0.06701621, -0.061224304, -0.24754077, -0.017353527, -0.042758185, 0.013161995, -0.22947139, 0.019135898, 0.11039477, 0.16954716, -0.25619635, 0.18368678, 0.03542052) * go_3(1.0, -1.0); + result += mat4(-0.15430786, 0.07348774, 0.15545642, 0.20969617, 0.1067826, 0.15255202, 0.020220853, 0.09658389, -0.088782035, -0.19119574, 0.13885954, 0.15108526, -0.07552868, -0.11574438, -0.034102093, -0.031383175) * go_3(1.0, 0.0); + result += mat4(0.061409608, -0.00082869077, -0.08336049, -0.01866603, 0.07322213, -0.1152386, -0.004205211, -0.18793713, 0.091782115, 0.05387527, 0.069104694, 0.25387684, -0.101916246, 0.065856785, -0.020407397, 0.035098225) * go_3(1.0, 1.0); + result += mat4(0.06225989, -0.039721318, 0.19908188, 0.08382035, -0.024357362, 0.014932128, -0.060558856, -0.049815435, -0.03166011, 0.0339055, -0.12810327, 0.008812703, 0.06120202, 0.085533425, 0.21571258, -0.20605975) * go_4(-1.0, -1.0); + result += mat4(-0.045329664, 0.02261115, -0.0335033, -0.058562186, -0.0099387, 0.0046313554, 0.21475597, 0.04558062, 0.17891279, 0.005057579, 0.22518916, 0.1998231, 0.09627137, -0.2318303, -0.08868813, -0.27863982) * go_4(-1.0, 0.0); + result += mat4(-0.15865076, 0.077262044, 0.036153752, 0.07885703, 0.13166751, -0.12820594, -0.05823962, -0.2583444, -0.2245552, -0.04434666, -0.13453422, -0.27865237, 0.014107271, 0.045582164, 0.0064884513, -0.019007552) * go_4(-1.0, 1.0); + result += mat4(0.0643133, 0.06440001, -0.14517003, -0.101694606, 0.058990445, 0.11955667, 0.45094532, 0.20261864, 0.07944409, -0.061399437, 0.022036074, 0.046660237, -0.17064287, -0.076766625, 0.25972953, 0.29821205) * go_4(0.0, -1.0); + result += mat4(-0.11031386, -0.05850727, 0.055557184, 0.11549242, 0.12120408, -0.33330265, 0.095613986, 0.09242419, -0.011835885, -0.19384164, -0.01893125, 0.27290896, -0.18104021, 0.044360142, 0.06759539, -0.0027218745) * go_4(0.0, 0.0); + result += mat4(0.19390257, -0.13378039, 0.07428329, 0.016053686, -0.18574655, 0.055462763, -0.2527128, -0.47279125, -0.17490762, 0.21626428, -0.1473371, -0.35594228, 0.054865763, -0.04086486, -0.061911695, 0.051812805) * go_4(0.0, 1.0); + result += mat4(-0.029701848, 0.24927482, 0.00581731, -0.10748679, -0.07500632, 0.033424605, 0.14734372, -0.18966366, 0.031880617, 0.17622112, -0.031867832, -0.10119831, -0.15391265, -0.14308685, 0.093484215, 0.18867014) * go_4(1.0, -1.0); + result += mat4(0.19035357, -0.19525306, -0.025621792, 0.09154427, -0.07798503, -0.22271548, 0.11034287, -0.04197031, -0.24772005, 0.43681505, -0.19703668, -0.2614237, 0.05807699, -0.2631317, -0.020604266, -0.048005704) * go_4(1.0, 0.0); + result += mat4(-0.08587588, 0.13374045, -0.09263761, -0.13216262, -0.11242246, -0.12541875, -0.09835177, 0.1586739, -0.21013282, 0.087373346, 0.107112356, 0.47657737, 0.0459955, -0.07181196, 0.07818155, -0.10435423) * go_4(1.0, 1.0); + result += mat4(-0.091803394, -0.32280564, 0.28972253, 0.12908047, 0.06683764, -0.039376236, 0.024078066, 0.18940936, -0.055246543, 0.12222864, -0.0177199, 0.09346665, 0.07164098, 0.065791056, -0.08516637, -0.10187257) * go_5(-1.0, -1.0); + result += mat4(-0.12561126, -0.28730518, 0.190799, -0.17922764, 0.04376582, -0.08152354, -0.0690038, -0.10861494, -0.03100546, 0.10962334, -0.20492296, 0.12868984, 0.06536495, 0.08559974, 0.033028, -0.07235402) * go_5(-1.0, 0.0); + result += mat4(-0.012734173, -0.12211726, 0.057524282, 0.015053666, -0.052275516, 0.11774483, 0.08221696, -0.024205929, 0.122006595, 0.054565493, -0.049608365, 0.02801238, 0.07593017, 0.074450806, 0.097137615, -0.008985974) * go_5(-1.0, 1.0); + result += mat4(-0.32826158, -0.022971062, 0.37642807, 0.38614145, -0.06932448, 0.0641898, -0.09011684, -0.019884817, -0.004897904, 0.07661578, -0.050405186, -0.24849766, 0.04642452, 0.09120379, 0.26060387, -0.2533109) * go_5(0.0, -1.0); + result += mat4(0.09669597, -0.045555357, -0.24132517, -0.28401875, 0.11226361, 0.08378312, -0.07415474, -0.036874313, -0.001286788, 0.14013582, 0.14750466, -0.048925027, 0.13374946, 0.10844033, 0.123459235, -0.10933974) * go_5(0.0, 0.0); + result += mat4(-0.03275827, 0.27429518, -0.0983686, -0.010947437, -0.18409865, 0.12616666, -0.05766888, 0.07149005, -0.13777009, 0.022123039, 0.084938325, 0.015972659, 0.20145003, -0.09534558, -0.0082679195, -0.1515079) * go_5(0.0, 1.0); + result += mat4(0.13148536, -0.3421452, 0.08851102, 0.012056574, -0.1525749, 0.09364548, -0.02235517, -0.1775178, 0.18052714, -0.14639667, 0.07453223, 0.03912742, -0.284782, 0.023833552, 0.09671063, -0.168578) * go_5(1.0, -1.0); + result += mat4(-0.24303597, -0.05585747, -0.21645154, -0.084838174, -0.15413773, -0.15403214, -0.021544017, 0.15751824, -0.027032627, -0.18457665, -0.02174098, -0.0070916233, -0.1609649, -0.32226282, -0.18423033, -0.29629233) * go_5(1.0, 0.0); + result += mat4(0.1602529, 0.026087781, 0.01551678, 0.07093837, -0.007075046, -0.0061597642, -0.0057887356, -0.08935906, 0.0028665168, -0.1038671, -0.093715765, -0.035213456, -0.041290607, -0.15825188, 0.11327359, -0.20286629) * go_5(1.0, 1.0); + result += vec4(-0.062293675, 0.09216847, 0.010529031, 0.03100192); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x40 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.02357968, 0.13800439, 0.054744735, -0.32328397, -0.2263118, -0.3222542, -0.15286992, -0.3053175, -0.20046607, 0.025345843, 0.032755207, 0.40165102, 0.03166696, 0.29110438, 0.28861988, 0.05585125) * g_0; + result += mat4(0.11055126, -0.33034575, 0.039494887, -0.17843343, 0.35742196, 0.00032650787, 0.21049741, 0.18823248, -0.1741954, 0.27586365, -0.043366615, 0.02092058, -0.082515135, -0.15504313, 0.13261497, 0.14650741) * g_1; + result += mat4(0.39276633, -0.031067554, -0.08830738, -0.23975314, -0.20294978, 0.030291535, 0.4623106, 0.06494191, 0.042467684, -0.28105733, -0.053258326, -0.17269841, 0.09479501, 0.11930515, 0.1258843, 0.11058792) * g_2; + result += mat4(-0.18343425, -0.4381688, -0.08248827, -0.42846557, -0.08277779, 0.45192116, 0.21961756, 0.23076119, -0.2093829, -0.29050866, 0.26212537, -0.25469857, -0.4832557, -0.45126852, -0.35072148, -0.18368497) * g_3; + result += mat4(0.10529696, 0.5964488, 0.13258573, -0.07494986, -0.3341919, 0.19418421, -0.18307082, 0.34982273, -0.0430461, 0.21097268, 0.03212202, -0.015623122, 0.43791813, 0.16207397, 0.123477034, -0.087993294) * g_4; + result += mat4(-0.01878982, 0.007308694, 0.25769314, 0.18407181, 0.00095180905, -0.2600526, -0.31043288, -0.24622385, 0.07832029, 0.05502411, 0.37793204, -0.07329948, -0.28405467, -0.15038961, 0.19259417, 0.105486296) * g_5; + result += mat4(0.047820415, 0.3303589, 0.035807017, -0.41168606, -0.2118325, -0.045765184, -0.15234827, 0.28021428, -0.2084036, -0.40200952, -0.3261011, -0.13480914, -0.06876906, -0.19167677, -0.20444186, -0.44851676) * g_6; + result += mat4(-0.24726203, -0.0097923195, -0.23193192, 0.31947026, 0.4274281, -0.36929542, 0.10095328, -0.19663717, 0.3244895, 0.49458218, 0.24745567, 0.15722558, 0.43052208, 0.377559, 0.22543637, 0.13009055) * g_7; + result += mat4(0.01817998, 0.111477636, -0.12727399, 0.27395004, 0.19770023, -0.1636959, 0.25407487, -0.24871433, -0.08552937, 0.3223687, 0.30668882, 0.40221208, -0.20192504, 0.14656074, 0.5100356, -0.0948956) * g_8; + result += mat4(0.40383592, -0.043663148, 0.4813348, 0.10317451, -0.049076255, -0.022925228, 0.0872564, 0.21741754, 0.23656987, -0.22309794, -0.2260013, 0.20823886, -0.055542476, 0.016604664, -0.1964831, 0.11962174) * g_9; + result += vec4(-0.049604952, -0.039514415, -0.06137416, -0.0015509313); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x40 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.029635962, 0.08045753, 0.03622311, 0.06677362, 0.14780864, -0.087087184, 0.22309896, -0.1772139, -0.08716722, 0.1075154, 0.044472143, 0.021324798, 0.10346262, -0.24718447, -0.2489118, 0.4517737) * g_0; + result += mat4(0.20637918, -0.11695054, 0.27656725, 0.009858572, -0.62555677, 0.12796827, -0.057749186, -0.02636826, 0.11764726, -0.034879886, -0.062285252, -0.048256125, 0.37146622, -0.17392562, 0.24782267, 0.3184173) * g_1; + result += mat4(0.2624149, 0.007052751, 0.1595428, 0.26269603, -0.33775207, -0.66331345, 0.18036188, -0.25012106, -0.15003558, 0.12337829, -0.3230818, 0.06187628, 0.096601635, 0.24300486, -0.13784438, 0.27110842) * g_2; + result += mat4(-0.180413, 0.039972585, 0.48966697, -0.4130023, -0.03654654, -0.27514896, -0.025462124, 0.06652415, 0.28900522, 0.035381883, 0.20655172, 0.0073647103, -0.5028713, -0.0061578755, -0.09185675, -0.52771837) * g_3; + result += mat4(-0.3205473, -0.23172325, -0.20749244, 0.058195353, 0.20280065, -0.106998004, 0.08968707, 0.10981961, -0.13291806, 0.0028465164, 0.11793527, 0.11942547, 0.100123264, -0.14852245, -0.032194547, -0.118260525) * g_4; + result += mat4(0.004620961, -0.13271236, 0.110130526, -0.075169735, 0.35998157, -0.046072174, 0.02044828, -0.1019322, -0.038753018, -0.12328749, -0.28227237, 0.18373057, -0.23704045, 0.20384738, 0.097455874, -0.23102747) * g_5; + result += mat4(0.30397, -0.007688397, -0.2519374, -0.14401323, -0.031671453, 0.10171321, -0.18295656, -0.029794114, 0.19171898, 0.23662621, 0.09319509, -0.3479054, 0.036986895, 0.13572362, 0.1142681, -0.17851138) * g_6; + result += mat4(-0.19525734, 0.36855492, 0.05751295, -0.12524441, 0.06309533, 0.20228319, -0.07533531, 0.26733333, -0.21407285, -0.2900094, -0.28743416, 0.18039729, -0.27968687, -0.23786859, -0.21049118, -0.006130187) * g_7; + result += mat4(0.34406897, -0.14967814, 0.56049985, -0.18166065, -0.061995413, 0.117799215, 0.3054206, 0.4034068, -0.2116504, -0.6017806, 0.004660423, 0.051566444, 0.4380975, -0.3172436, -0.09930328, -0.16182126) * g_8; + result += mat4(-0.09316841, 0.036305115, -0.30209473, 0.098138526, -0.012532953, -0.050068337, -0.22571203, -0.30636647, -0.124337815, 0.07323685, -0.15504828, 0.19263308, -0.017216058, 0.34484297, -0.1460544, -0.24951003) * g_9; + result += vec4(0.10388342, 0.00828351, 0.14884935, 0.034392886); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x40 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf2 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.15275823, 0.31693572, 0.03429309, -0.06982273, 0.08535909, 0.019838037, -0.03189405, 0.3190016, 0.16633914, 0.48730284, -0.27923077, 0.31791112, 0.43154097, 0.005003616, -0.26277873, -0.009333685) * g_0; + result += mat4(0.23504019, -0.12419379, 0.07217815, -0.090434305, -0.0380588, -0.14686479, -0.33812302, -0.20242776, -0.20776805, 0.24741934, -0.16489775, 0.07052134, -0.08030772, 0.23784883, -0.28709608, -0.17689173) * g_1; + result += mat4(-0.05109775, -0.40860242, -0.003464472, -0.19893257, 0.23186824, -0.12760048, -0.22718583, 0.02299852, 0.27083093, 0.073904194, -0.056870755, -0.35324985, -0.023004858, -0.29591596, -0.020298446, -0.05753052) * g_2; + result += mat4(0.0035456547, -0.37682405, 0.047876693, 0.1168026, 0.015805494, -0.04388269, 0.12970346, 0.2497829, -0.009891778, 0.116980106, 0.13058232, 0.22570355, 0.13866597, 0.036246244, 0.10916998, -0.040503114) * g_3; + result += mat4(-0.25300103, -0.065156855, 0.063345924, 0.11406543, -0.1902478, 0.16440767, 0.043949526, 0.43318078, -0.03932035, -0.08510957, 0.19621156, -0.045045726, -0.08339006, -0.04335483, 0.37129655, -0.22328225) * g_4; + result += mat4(0.16169593, 0.2758587, 0.38249364, 0.12606645, 0.4582731, 0.09374545, -0.10988087, -0.21678255, -0.004099455, -0.09436347, 0.33964127, 0.20880581, -0.06742301, -0.025149476, 0.12146305, 0.5012377) * g_5; + result += mat4(0.11523535, 0.31662583, -0.0709322, -0.066175185, 0.08868106, -0.042457394, 0.32469732, -0.1987238, 0.41399983, 0.015568244, 0.14037918, 0.2879998, -0.32157704, 0.22491854, -0.07769691, 0.2052648) * g_6; + result += mat4(-0.299831, -0.247278, -0.2011737, -0.3759366, -0.14935663, -0.095033385, 0.06259881, -0.23891686, -0.4340098, 0.07340212, -0.0012697511, -0.16527005, 0.0814454, -0.43962866, -0.3040046, 0.06242604) * g_7; + result += mat4(0.11802704, 0.2323739, 0.13466287, -0.25053164, -0.08020803, 0.1628004, -0.030645542, -0.40872335, -0.24624921, 0.15931502, 0.40752286, -0.07906199, 0.4286516, -0.1651973, -0.07021073, 0.0867332) * g_8; + result += mat4(-0.23617363, 0.053548977, -0.14130518, -0.37744048, -0.11805406, -0.13757266, -0.026939899, 0.028020354, 0.24626125, -0.06998214, -0.02793638, 0.10509643, 0.06577935, -0.17211749, -0.12747282, -0.16999653) * g_9; + result += vec4(-0.022106458, -0.012578552, 0.016203664, 0.026009269); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_5_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.001049049, 0.017747996, -0.067229465, -0.020442853, -0.04868684, 0.09733606, -0.07313501, 0.02070675, 0.01012683, -0.034293324, -0.026002094, 0.008298949, -0.045532364, -0.069049254, 0.109774776, -0.092840426) * go_0(-1.0, -1.0); + result += mat4(0.3071666, 0.108723, -0.018787129, 0.17321438, -0.07934712, 0.11855833, -0.032467257, -0.048425578, -0.091413595, -0.08235019, -0.050003942, -0.007800964, -0.07821158, 0.120108165, -0.15341766, -0.04518874) * go_0(-1.0, 0.0); + result += mat4(-0.0038995466, 0.059817232, -0.13333397, 0.022390908, -0.054531172, -0.12521502, 0.061349645, 0.08832908, 0.015541151, -0.005833245, -0.103023596, -0.031728514, -0.1393958, 0.12932369, -0.024058655, -0.02949061) * go_0(-1.0, 1.0); + result += mat4(0.10676212, -0.0919305, -0.045313094, 0.036725752, -0.2360789, 0.08090541, 0.08044168, -0.088691026, 0.05462964, -0.047420587, 0.011766264, -0.044065233, -0.09330811, -0.04302891, -0.09276843, 0.01615573) * go_0(0.0, -1.0); + result += mat4(0.14728056, 0.014297587, 0.20523176, -0.016391741, -0.25267518, -0.09126818, 0.14681858, 0.0720258, -0.034471154, -0.103409246, 0.029827712, 0.09607032, -0.12944661, -0.09812552, 0.19399726, 0.18891408) * go_0(0.0, 0.0); + result += mat4(0.0793041, -0.18886381, -0.08229493, -0.13476922, -0.034637094, -0.06667868, 0.09988945, -0.08209682, -0.07416632, 0.10529841, -0.14161663, -0.088301264, 0.0029876695, 0.11381751, 0.083498895, 0.15414985) * go_0(0.0, 1.0); + result += mat4(0.20285544, -0.16456522, 0.06494461, -0.013555718, -0.07797077, -0.13418226, -0.0014035929, 0.056061633, -0.024789125, -0.053674392, 0.048963223, 0.121051155, 0.064334966, -0.0482476, 0.068401285, -0.07039275) * go_0(1.0, -1.0); + result += mat4(0.098433256, -0.3636959, 0.2678772, -0.046356395, -0.1771877, -0.017444499, -0.06527938, 0.073921666, -0.1880833, 0.1873346, 0.10331725, -0.05711381, 0.049431477, -0.047258172, 0.13095368, -0.35352108) * go_0(1.0, 0.0); + result += mat4(0.10444254, -0.16424808, -0.00615067, 0.1023235, -0.122729294, -0.2563471, 0.00030699265, 0.09230543, 0.07732433, -0.03397466, -0.03141724, 0.2431111, 0.009742008, -0.07286298, -0.015188814, 0.025636861) * go_0(1.0, 1.0); + result += mat4(-0.06326144, -0.045018848, -0.130233, -0.015639791, -0.015171213, -0.009451374, 0.06830251, 0.07718799, 0.009820809, -0.10778585, 0.011396909, -0.067577444, 0.16482629, 0.099055305, 0.0517957, 0.008594935) * go_1(-1.0, -1.0); + result += mat4(-0.037354734, 0.09272911, -0.11168438, 0.1708543, -0.12653585, -0.042765, 0.008014873, 0.22469266, 0.019282004, 0.0041092015, -0.029787902, 0.025127187, -0.05086034, 0.0077483514, 0.010261478, 0.07023893) * go_1(-1.0, 0.0); + result += mat4(0.055195954, 0.004654069, -0.02118881, -0.05352797, -0.021830624, -0.010750989, -0.032053873, 0.18029462, -0.0703946, 0.06940036, 0.011578795, 0.049051903, 0.12236165, 0.1469314, -0.04752202, -0.02873477) * go_1(-1.0, 1.0); + result += mat4(0.11799468, -0.022473548, 0.0045530205, 0.0870364, 0.1895775, -0.041058388, 0.079169616, -0.08769193, -0.012526104, 0.03904729, 0.016011083, -0.010498281, 0.08499936, -0.050380737, 0.14939919, 0.009984251) * go_1(0.0, -1.0); + result += mat4(0.10477428, 0.16810521, -0.1314053, 0.084377944, 0.17922944, -0.304226, 0.25293878, -0.15422472, 0.20214307, 0.10322054, -0.13431601, 0.04898287, 0.09717359, -0.07664543, 0.14711176, 0.15777126) * go_1(0.0, 0.0); + result += mat4(-0.027849296, -0.107415505, -0.048003152, -0.14503942, 0.16935585, -0.11120448, 0.19879252, 0.25992575, 0.10300595, 0.044460453, 0.095423825, -0.0006854256, 0.04321415, -0.042708825, 0.02633511, -0.06220348) * go_1(0.0, 1.0); + result += mat4(-0.004024937, 0.05021026, -0.00765448, 0.18315202, -0.078596614, -0.022813313, 0.09930163, 0.08525698, -0.0024254897, -0.06150155, 0.12159309, 0.056743085, -0.19437842, 0.02563038, -0.14668292, -0.0805431) * go_1(1.0, -1.0); + result += mat4(0.037370156, -0.13586049, -0.11521326, -0.07453397, -0.025900846, -0.0823091, -0.14436729, 0.14114335, 0.055820756, 0.05531836, -0.1474026, 0.10203739, 0.053665128, 0.00896543, 0.13431323, -0.12663968) * go_1(1.0, 0.0); + result += mat4(-0.20144333, 0.05849729, 0.06303023, -0.17678042, 0.03238696, -0.19829398, 0.12956308, -0.20013878, -0.1353999, -0.001031907, 0.10556917, -0.14760506, 0.03315909, -0.10838441, 0.16175537, -0.001477876) * go_1(1.0, 1.0); + result += mat4(0.087629505, -0.05908092, 0.16011593, -0.11285914, -0.4358247, 0.18938082, -0.31105244, -0.3638732, -0.0069619874, 0.029419519, -0.2156866, -0.13693112, -0.113110565, -0.09906378, -0.11164287, -0.084068194) * go_2(-1.0, -1.0); + result += mat4(0.072181284, 0.035425037, 0.028820323, 0.12786204, 0.37121117, -0.076626934, 0.058864776, -0.20865935, -0.0014984896, 0.05978116, 0.117927864, 0.013273026, 0.088378325, 0.13492325, 0.018144222, 0.22580223) * go_2(-1.0, 0.0); + result += mat4(0.045780275, 0.13346507, 0.056960598, -0.0019664192, -0.24231891, -0.13189796, 0.11114239, -0.07587297, 0.03099761, 0.10284658, 0.094186746, 0.04669001, -0.20374449, -0.12047404, -0.10640337, -0.03541381) * go_2(-1.0, 1.0); + result += mat4(0.14384045, 0.12343541, -0.029074568, 0.13204664, 0.18878254, 0.115503244, -0.20217639, 0.16410889, -0.79949176, 0.5460196, -0.09889672, 0.27109572, 0.10628155, 0.13510233, -0.20859608, -0.07706875) * go_2(0.0, -1.0); + result += mat4(-0.11215904, 0.08981538, -0.10094039, -0.054024383, 0.2652237, -0.2002571, -0.15960355, 0.032049023, 0.007806114, 0.10592316, -0.3487021, 0.048408728, 0.10263737, -0.026020324, 0.072276175, -0.11909672) * go_2(0.0, 0.0); + result += mat4(-0.03184955, -0.00798831, -0.028087616, -0.010780139, -0.05444991, 0.09402867, 0.30834422, 0.14518146, -0.010965188, 0.14643683, -0.02568113, 0.068982124, 0.044459574, -0.05092265, -0.0028792082, 0.17158687) * go_2(0.0, 1.0); + result += mat4(0.0869746, 0.15908171, -0.0033584125, 0.049515188, -0.15995023, 0.20953654, -0.16041277, -0.08435643, 0.42034048, 0.096904315, -0.1927207, -0.0792477, 0.078221194, -0.10053459, -0.17969237, 0.08374661) * go_2(1.0, -1.0); + result += mat4(0.10612468, -0.23303585, -0.08996894, 0.10191982, 0.10724305, 0.1258089, -0.08111434, 0.103680536, 0.00824538, 0.2173516, -0.601468, -0.17365147, -0.09311857, -0.045947216, 0.20118287, 0.00016345571) * go_2(1.0, 0.0); + result += mat4(-0.07453406, 0.02476293, -0.089717, -0.14455949, -0.1427004, -0.21921235, 0.1878364, -0.023677701, -0.29442346, 0.13739492, -0.10435927, -0.35067815, 0.00956389, 0.049088918, -0.055482347, 0.1527778) * go_2(1.0, 1.0); + result += mat4(-0.20727113, 0.23718962, 0.17435564, -0.017858913, -0.042935595, 0.1996666, -0.059547734, 0.09735509, 0.019539079, -0.012399102, 0.057370137, 0.027493393, -0.10042333, -0.07915818, 0.07218426, 0.1309558) * go_3(-1.0, -1.0); + result += mat4(-0.032295313, 0.07833535, 0.22808518, 0.012292011, 0.09856554, -0.01996994, -0.028461069, 0.029348027, -0.25023523, 0.21794361, 0.14906348, 0.039845698, -0.004544177, -0.031246802, 0.019103816, 0.07738693) * go_3(-1.0, 0.0); + result += mat4(-0.15647748, -0.048666175, -0.03838509, 0.22003315, 0.048363995, -0.077338494, 0.109276325, -0.000109877525, -0.10441263, 0.18494262, -0.08754767, 0.12850273, 0.03408794, 0.15086798, -0.19896401, 0.048397515) * go_3(-1.0, 1.0); + result += mat4(0.011858143, -0.121841036, 0.0048841173, -0.062427614, 0.14153655, 0.011297287, 0.12778129, 0.004588582, 0.021572713, 0.15850346, 0.06464319, 0.06260356, 0.0838926, 0.04272777, 0.0733926, -0.08732838) * go_3(0.0, -1.0); + result += mat4(0.20364462, 0.15701732, 0.053049877, -0.46085536, -0.037331745, -0.05813282, 0.036300424, 0.05660442, 0.14007641, 0.12849629, 0.08266283, -0.07872285, 0.07497584, -0.102409676, -0.12487048, -0.06305082) * go_3(0.0, 0.0); + result += mat4(0.26158065, -0.090300985, 0.3522249, 0.18087223, -0.06095069, -0.10725335, 0.285748, 0.15195337, -0.19382374, -0.11163994, -0.10937165, -0.05908017, 0.0042464877, -0.14594594, -0.16316739, -0.17099144) * go_3(0.0, 1.0); + result += mat4(-0.10028552, -0.18077525, 0.29705408, 0.12354066, 0.0198171, -0.08987044, 0.26377577, 0.075702764, 0.06952089, 0.0049671913, -0.3116211, 0.017268507, 0.37579817, -0.037516277, -0.09738986, 0.0917646) * go_3(1.0, -1.0); + result += mat4(0.17661515, -0.17850937, -0.0018308868, 0.18318558, -0.0013081668, -0.113424055, -0.22193146, 0.15262845, -0.13412614, -0.13704826, -0.22099695, 0.24989522, 0.0740908, -0.3789193, -0.05141985, 0.14818457) * go_3(1.0, 0.0); + result += mat4(0.31471825, 0.16524819, 0.03326876, -0.14611365, -0.1191457, -0.06510173, -0.13893965, -0.33106923, 0.13048746, -0.527816, 0.01877066, 0.26005507, -0.06294366, -0.24761125, -0.102864824, 0.094261676) * go_3(1.0, 1.0); + result += mat4(0.023637002, -0.07186282, 0.0946568, 0.13016573, 0.27244806, -0.08329611, 0.049762517, 0.14729369, 0.15868294, 0.07715838, -0.039478883, -0.06753388, 0.13460182, -0.092146814, -0.11814287, 0.12007007) * go_4(-1.0, -1.0); + result += mat4(0.06190745, -0.023566067, 0.239366, -0.0068376404, -0.15343493, 0.043685004, -0.047154866, 0.06527902, 0.11998191, -0.2565534, -0.091910206, -0.24104144, -0.12814765, 0.18195467, 0.11766466, 0.06181653) * go_4(-1.0, 0.0); + result += mat4(-0.06866098, 0.11969287, 0.00997188, 0.09261804, -0.14177154, -0.0052282973, 0.008734555, -0.20822202, 0.0068409014, -0.00470473, 0.031823143, -0.0601048, 0.05632819, 0.01690721, 0.01305342, -0.05824624) * go_4(-1.0, 1.0); + result += mat4(0.20557542, -0.10924632, 0.012821291, -0.11472336, -0.012862975, -0.09720539, 0.016499901, 0.053605244, 0.2183789, -0.014083709, -0.052786104, -0.075659566, -0.15531872, -0.1454758, 0.032142643, 0.28776056) * go_4(0.0, -1.0); + result += mat4(-0.09832725, 0.3388722, -0.092447765, -0.16408351, -0.2557467, 0.031259898, 0.12057204, -0.018744074, -0.46363798, 0.042668946, 0.06506717, -0.25751963, 0.043604825, 0.11740889, 0.07365291, -0.027296776) * go_4(0.0, 0.0); + result += mat4(-0.060943104, -0.00371101, 0.13572243, 0.013030143, 0.01196217, -0.14187267, -0.016784329, -0.048273906, 0.2050283, -0.02000498, -0.069050424, -0.09851947, 0.028769497, 0.1289265, -0.0022706073, -0.00296877) * go_4(0.0, 1.0); + result += mat4(-0.015049836, 0.01153945, -0.006021933, -0.022156725, -0.030286482, 0.24230544, 0.040056467, -0.021735856, 0.20740065, -0.08999259, 0.006861033, -0.104062624, 0.26829463, 0.051726963, -0.12235904, 0.19572715) * go_4(1.0, -1.0); + result += mat4(0.12676726, 0.17367609, -0.03689342, -0.034580305, -0.006836569, -0.06386566, 0.30929026, 0.09361281, -0.06405332, 0.26401913, -0.33314535, -0.06335476, -0.10960964, 0.13062708, 0.058030583, -0.1269144) * go_4(1.0, 0.0); + result += mat4(0.03625719, 0.07449099, 0.021113826, 0.008309737, -0.09200202, -0.13108951, -0.0054502958, 0.19819209, -0.24836262, 0.22340319, -0.06844758, -0.22940424, -0.03410828, 0.03854127, -0.050844472, 0.019776637) * go_4(1.0, 1.0); + result += mat4(0.014228765, -0.013087027, -0.18055649, 0.001141047, 0.14329694, -0.008534367, 0.006927009, -0.058499523, -0.030727612, -0.07256724, 0.0025644915, 0.007111054, 0.036673337, -0.026148604, 0.120233335, 0.110904366) * go_5(-1.0, -1.0); + result += mat4(-0.008129229, 0.047908727, -0.1769762, 0.013220415, 0.066762984, 0.06523022, -0.016525066, -0.014394631, -0.008272182, -0.029847749, -0.10351308, 0.036801845, 0.11523106, -0.055156656, 0.11873017, -0.128935) * go_5(-1.0, 0.0); + result += mat4(0.21848068, -0.002019241, -0.06304477, 0.026670042, 0.039536465, -0.14145948, -0.06304873, 0.023532849, -0.122648045, 0.036414735, -0.037745856, -7.688992e-06, 0.059370764, -0.015019475, -0.029084614, 0.015826277) * go_5(-1.0, 1.0); + result += mat4(-0.09427522, -0.001972529, -0.09509679, -0.104867265, 0.05705236, 0.00031401246, 0.096889675, 0.15868911, -0.033721585, 0.08299121, -0.095194876, -0.1062834, -0.029866459, -0.041780088, -0.023895228, -0.0026728562) * go_5(0.0, -1.0); + result += mat4(-0.27093527, -0.026471421, 0.09702481, 0.036061123, -0.1268649, 0.099340335, 0.15685195, -0.070615016, -0.13991052, -0.04212775, 0.096722156, 0.056507673, 0.02626438, 0.030435594, -0.00033173471, -0.024930432) * go_5(0.0, 0.0); + result += mat4(-0.21608484, 0.038410295, -0.10975598, 0.12944944, -0.034110125, 0.03908566, -0.030190451, 0.031670973, -0.018954927, 0.0726848, 0.023156218, 0.017966276, -0.09825987, 0.023912448, 0.07257811, -0.008502145) * go_5(0.0, 1.0); + result += mat4(0.044695053, -0.046481512, -0.098602146, -0.13273694, -0.09406325, -0.0062411693, 0.10242225, 0.025881069, 0.061662897, 0.019632077, -0.069696225, -0.14693011, 0.034227923, 0.037439592, -0.17188378, -0.19963826) * go_5(1.0, -1.0); + result += mat4(-0.25531536, -0.050288115, 0.11258405, -0.24783169, -0.034263797, 0.054084245, 0.119918555, -0.027509615, 0.10056127, -0.09610037, 0.16208062, 0.005269051, 0.08660796, 0.11050934, -0.012584769, -0.0040703616) * go_5(1.0, 0.0); + result += mat4(0.07649277, 0.13011539, -0.052341804, 0.07836859, 0.18562089, 0.07701519, -0.15669914, 0.007145429, 0.018427812, -0.12513049, -0.03395353, 0.14632194, -0.108091615, -0.01585824, 0.0602756, -0.11572579) * go_5(1.0, 1.0); + result += vec4(0.028852103, -0.003142654, 0.019121574, 0.026819304); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.032557677, 0.15826401, -0.11499422, -0.08640765, -0.09198991, -0.007192731, 0.010252954, 0.023780089, 0.15372203, -0.0009684923, 0.051660325, 0.011104123, 0.023871671, 0.005045307, 0.10722681, 0.065446004) * go_0(-1.0, -1.0); + result += mat4(0.04723326, 0.21495502, -0.4453857, -0.020825233, 0.021379868, 0.04798187, 0.11383445, 0.08597329, 0.05730255, -0.046370696, -0.105095126, -0.03220056, -0.10122536, 0.06955123, -0.023051325, -0.04296927) * go_0(-1.0, 0.0); + result += mat4(-0.02551809, 0.16179861, -0.15771814, -0.00045056897, 0.05842655, 0.11279471, 0.08018674, 0.05973765, 0.044070918, 0.08054599, -0.070336945, 0.05499731, -0.039118823, 0.003635353, -0.019759493, -0.040480837) * go_0(-1.0, 1.0); + result += mat4(-0.04707628, 0.040738698, -0.013698143, -0.047391538, 0.031729057, -0.01837267, -0.10985463, -0.0028168112, -0.03167109, 0.0007989082, 0.011234699, 0.06895626, -0.12226361, 0.016290974, -0.055669673, -0.17432979) * go_0(0.0, -1.0); + result += mat4(-0.05069543, 0.15450205, 0.06981913, -0.377529, -0.14111535, 0.124757245, 0.021858096, 0.044034548, -0.16741593, 0.09746289, -0.045757677, -0.11644043, -0.09906484, 0.19128124, 0.061969943, -0.14589702) * go_0(0.0, 0.0); + result += mat4(0.12177423, 0.077437244, 0.059054222, 0.14925033, 0.016682645, -0.004765056, -0.2194741, 0.11314126, 0.2384071, -0.12049565, 0.12753354, 0.19679058, 0.03558123, 0.018636368, -0.11018761, -0.027520377) * go_0(0.0, 1.0); + result += mat4(-0.03618456, -0.030103968, 0.02968891, -0.00393875, -0.07128213, 0.022181263, -0.08430743, -0.027601235, -0.09228556, 0.04661313, 0.054729965, 0.052708175, 0.050483003, -0.022951633, 0.099321984, -0.043519083) * go_0(1.0, -1.0); + result += mat4(0.034695346, 0.10380181, -0.043013666, 0.037639238, 0.118943654, 0.027931944, 0.07628075, -0.12427217, 0.14970858, -0.065848, 0.0030750742, 0.011039123, 0.27721024, -0.055808693, 0.25105593, -0.1825985) * go_0(1.0, 0.0); + result += mat4(0.03627934, -0.17293514, 0.09188732, 0.11569783, -0.035355445, -0.10536353, -0.0068529076, -0.0929389, 0.09053234, 0.05907859, 0.049182277, 0.15194432, -0.09835422, 0.00061943196, 0.066343345, -0.06307589) * go_0(1.0, 1.0); + result += mat4(0.10120336, -0.10855617, 0.13412404, -0.018874792, 0.037988223, 0.0957435, 0.015402347, -0.08589699, -0.07694196, -0.03258571, 0.064437136, -0.0495422, 0.24836332, -0.0041739377, 0.093993485, -0.0076778256) * go_1(-1.0, -1.0); + result += mat4(-0.20205948, 0.035698004, 0.0120531265, 0.03971649, 0.07550046, 0.047750015, -0.049045984, 0.04001014, -0.030263485, -0.0030697742, 0.05283423, -0.00014085052, -0.062447365, -0.0503476, -0.085151225, -0.04436882) * go_1(-1.0, 0.0); + result += mat4(0.1516312, -0.073820546, -0.01047401, 0.0002717457, -0.17057727, 0.20856272, -0.09357496, -0.17346743, -0.068092465, -0.023344085, -0.03279074, -0.077289, -0.09844614, -0.035491887, 0.048796505, -0.03633584) * go_1(-1.0, 1.0); + result += mat4(0.0073127835, 0.041834716, 0.015633723, -0.042742077, 0.08359733, -0.13898548, 0.1343008, 0.04692816, 0.051663343, -0.1277769, 0.029269615, 0.021745533, 0.09920264, 0.032076713, -0.05319438, 0.040574815) * go_1(0.0, -1.0); + result += mat4(0.052737534, -0.02136074, -0.18437223, 0.030766862, 0.23291707, -0.010449272, 0.032748792, 0.1304141, 0.27302903, 0.008562884, 0.13475919, 0.044446316, -0.17819557, 0.08270108, 0.06075267, -0.112788476) * go_1(0.0, 0.0); + result += mat4(-0.093748294, -0.004655885, -0.044859763, -0.11719146, -0.4701752, 0.09076277, -0.2283514, -0.34524822, -0.11999304, -0.010338027, 0.026785752, 0.029790966, -0.0635327, -0.024085084, -0.12074973, 0.080456585) * go_1(0.0, 1.0); + result += mat4(-0.023425102, -0.105786875, 0.1220016, 0.017974272, -0.12736784, -0.050550908, -0.1985566, 0.09139255, -0.18943925, -0.0067088404, -0.15007311, -0.015332959, 0.16430685, 0.006736225, -0.009263825, -0.08230126) * go_1(1.0, -1.0); + result += mat4(-0.15165123, 0.057155497, -0.09756418, 0.0475568, -0.14430566, 0.05169595, -0.24240975, 0.061147846, 0.0017831615, 0.028189357, -0.12519005, 0.03604646, -0.0460214, 0.05936097, -0.0213775, -0.28192145) * go_1(1.0, 0.0); + result += mat4(-0.019390648, 0.005514995, -0.0024649797, 0.056670878, -0.10385216, -0.05531206, 0.23233996, -0.16394126, 0.1718211, -0.08723329, 0.08580946, -0.028214762, -0.060853615, 0.0458013, 0.106201656, 0.031685878) * go_1(1.0, 1.0); + result += mat4(-0.105268896, 0.0106684705, -0.10355101, -0.07401398, 0.12425712, -0.21308881, 0.05200582, -0.024954682, -0.1120292, 0.07799603, -0.031506516, 0.0031533986, -0.05264893, -0.11141642, 0.107277475, 0.049987797) * go_2(-1.0, -1.0); + result += mat4(0.08439962, -0.14181082, -0.20358182, 0.09080642, -0.061622817, 0.24017061, -0.12030436, 0.17224449, -0.0220505, 0.20025904, 0.1032571, 0.032335218, -0.09232964, -0.06172056, -0.1011141, -0.07322099) * go_2(-1.0, 0.0); + result += mat4(-0.10896482, 0.06107763, -0.100641444, -0.018832406, 0.020139545, -0.0037260412, -0.10512619, -0.24599148, 0.014342631, 0.056689363, -0.06662091, 0.03999069, 0.00824376, 0.030449467, 0.027041748, -0.056902107) * go_2(-1.0, 1.0); + result += mat4(-0.18174766, 0.040627997, 0.1140224, -0.20088135, 0.07404639, 0.01215843, -0.050341435, -0.0011868333, -0.5206288, 0.53214884, -0.60289955, 0.25364086, -0.05814184, 0.21600877, 0.07475344, 0.0624221) * go_2(0.0, -1.0); + result += mat4(-0.07710521, 0.030054979, -0.28164682, -0.13994755, 0.028757188, 0.04356096, -0.14357159, 0.2761477, -0.5300268, 0.44994202, -0.15364286, -0.18580483, 0.084563375, -0.13093601, 0.08291044, 0.017790407) * go_2(0.0, 0.0); + result += mat4(0.013963807, 0.0032885068, 0.0069646467, 0.03777879, -0.30103573, -0.047965538, 0.057550967, -0.3402889, 0.0026557294, 0.2289777, 0.01937088, 0.18484715, 0.083694465, -0.056240357, -0.0023172104, -0.13328342) * go_2(0.0, 1.0); + result += mat4(-0.05847699, 0.06990862, -0.0076244893, 0.03992696, 0.088809974, -0.059422277, -0.10557949, 0.058280375, -0.37764055, -0.19777957, -0.86350954, -0.21546844, 0.21863134, -0.074350335, 0.039010234, -0.021216504) * go_2(1.0, -1.0); + result += mat4(-0.18698102, -0.024641648, -0.16558538, -0.06499548, 0.10435924, 0.0030438402, -0.021636335, 0.046050593, -0.22217542, -0.14033853, -0.21516539, -0.4834089, 0.061894827, -0.024107188, 0.045805957, 0.20019397) * go_2(1.0, 0.0); + result += mat4(-0.0657418, 0.074276686, -0.07074239, -0.0101531055, -0.17146541, -0.016556345, -0.16196094, -0.13551502, -0.017605018, 0.065230414, 0.10717515, 0.41153327, 0.07095331, -0.05611257, -0.09297768, -0.054604497) * go_2(1.0, 1.0); + result += mat4(-0.051999312, 0.28559515, -0.09147715, 0.04536181, 0.077552326, 0.052161235, 0.006652824, 0.12593806, -0.07654755, 0.056134425, 0.029163264, -0.05461885, 0.04772557, 0.14073811, 0.07795857, -0.0397234) * go_3(-1.0, -1.0); + result += mat4(-0.0698435, 0.17774913, -0.07301677, -0.14336437, -0.104051985, 0.14831689, 0.045199208, -0.1867252, 0.07530157, 0.12153924, 0.1397731, -0.026905237, 0.056165505, 0.21213025, 0.073159344, 0.03143804) * go_3(-1.0, 0.0); + result += mat4(0.029820994, -0.079599164, 0.12901585, 0.014192698, -0.0816397, 0.02425821, 0.10938256, 0.0077257096, -0.009784561, 0.20602871, -0.07226973, -0.16234052, 0.0064664064, -0.023469927, 0.0037447219, 0.015258041) * go_3(-1.0, 1.0); + result += mat4(-0.028296372, 0.23841251, 0.04076168, 0.061052933, -0.082375534, 0.11200519, 0.025308013, 0.1736187, 0.23024227, -0.004161287, 0.16408522, -0.0141539015, 0.01496407, -0.037708607, 0.15057993, 0.14573294) * go_3(0.0, -1.0); + result += mat4(0.22485349, -0.2217838, -0.011602474, 0.22668324, 0.2172098, -0.21826234, -0.09506227, -0.06592076, 0.14401191, 0.014868243, 0.41509256, 0.2799861, 0.04998898, -0.121938676, -0.29612163, 0.16926381) * go_3(0.0, 0.0); + result += mat4(0.009154201, -0.14300221, 0.0121250935, -0.049595118, -0.3256411, -0.07036471, -0.066481166, -0.32643607, 0.13287841, -0.096211806, -0.24969384, -0.36735064, -0.14625767, 0.07217462, 0.06205977, 0.13962744) * go_3(0.0, 1.0); + result += mat4(0.10122661, -0.042678952, 0.08920629, -0.022906423, -0.048781462, 0.008094098, 0.16410494, 0.01511925, 0.009355741, -0.034123767, 0.06522056, -0.04114966, 0.025140515, -0.046565775, 0.18292467, 0.009392873) * go_3(1.0, -1.0); + result += mat4(-0.06604219, -0.10034091, 0.10934946, 0.18707348, -0.19358878, 0.11417287, -0.024397675, 0.04772407, -0.10278711, -0.03847901, -0.025120566, 0.047323767, -0.26464674, 0.15394583, -0.042590924, -0.09511779) * go_3(1.0, 0.0); + result += mat4(-0.13339657, 0.13506593, 0.011463314, 0.077461444, -0.022262955, 0.06132727, -0.113292165, -0.1987806, 0.0027555283, -0.016475892, 0.14219329, -0.211625, 0.11405046, -0.12044097, -0.088240534, 0.17436995) * go_3(1.0, 1.0); + result += mat4(-0.08783496, 0.06564822, -0.10796846, -0.13460107, 0.10140343, 0.08105866, 0.0040176474, -0.045305755, -0.09299188, -0.18928377, -0.099694185, 0.11314726, -0.018881949, 0.04591721, 0.117965475, -0.00035760578) * go_4(-1.0, -1.0); + result += mat4(0.043456256, 0.10901491, 0.010485461, -0.061420415, -0.04018357, 0.1689085, 0.015425885, 0.061508525, 0.069377325, -0.18156749, 0.19194232, -0.25884745, -0.036184482, -0.0069973134, 0.021037813, -0.08046543) * go_4(-1.0, 0.0); + result += mat4(-0.044377886, 0.18098527, -0.07314578, -0.00287104, 0.038114406, -0.044841792, -0.063126855, 0.19896339, -0.09739791, -0.24212237, 0.19623765, -0.06326722, 0.062247403, 0.054567214, 0.10500492, 0.04231698) * go_4(-1.0, 1.0); + result += mat4(0.12399143, -0.09728722, 0.06730315, -0.011540306, -0.116925925, 0.0074092527, 0.21276267, 0.068349704, -0.05713399, 0.17656437, -0.10295556, -0.12709019, 0.102335855, 0.2679535, -0.06597912, -0.022839248) * go_4(0.0, -1.0); + result += mat4(0.1265364, 0.16177331, -0.075765, -0.06347739, -0.056721687, 0.18794554, 0.006572088, -0.00011200755, 0.05219661, 0.21530084, -0.101604566, 0.04750483, -0.09394214, -0.11256657, 0.11389309, -0.011598962) * go_4(0.0, 0.0); + result += mat4(0.015922887, -0.046698473, 0.0130271325, -0.052948795, 0.16426764, 0.09934194, -0.07745314, 0.038738497, -0.040967297, 0.06423774, 0.034312535, -0.013723525, -0.0030767843, 0.041221425, 0.041528914, 0.027097305) * go_4(0.0, 1.0); + result += mat4(-0.13077654, 0.046842843, 0.034140635, 0.10109363, 0.20840693, -0.012975956, -0.041564208, 0.009877259, -0.033334266, -0.106034294, 0.2507187, -0.01512933, -0.008589095, 0.1849223, -0.06436464, 0.087347835) * go_4(1.0, -1.0); + result += mat4(0.13326278, -0.035467118, 0.12698379, -0.034838732, 0.023856519, 0.05274121, -0.09120117, 0.070493534, -0.14804247, 0.08772896, -0.1343374, -0.058013596, -0.1194792, -0.07288297, 0.074856065, 0.021033823) * go_4(1.0, 0.0); + result += mat4(0.023594514, -0.018284807, -0.037060708, -0.06051526, 0.13681069, 0.09436225, -0.044987947, 0.21031074, -0.14567234, 0.04987286, -0.24576813, -0.091558464, 0.0040201824, -0.045261826, 0.050834723, 0.04080285) * go_4(1.0, 1.0); + result += mat4(-0.12843935, 0.11059404, 0.035774253, 0.016019672, 0.13419932, -0.082884714, 0.086934, -0.027470622, -0.0055711996, 0.14726739, 0.00025540774, -0.082832016, 0.015134819, -0.1869738, -0.15580305, 0.118347436) * go_5(-1.0, -1.0); + result += mat4(-0.03210018, -0.07439424, 0.09171389, 0.0061248797, -0.122092225, -0.0055175424, 0.060848907, 0.05447007, -0.1005626, -0.13843839, -0.11508479, 0.034595586, 0.16528612, 0.07630222, 0.10175574, -0.034656286) * go_5(-1.0, 0.0); + result += mat4(0.05687666, -0.1130296, -0.038044114, 0.1376985, 0.02434624, -0.21984427, -0.0038558878, -0.10872551, 0.00807944, 0.019718373, 0.07016335, 0.001672884, -0.051990695, -0.04958167, -0.036594924, -0.0008506928) * go_5(-1.0, 1.0); + result += mat4(-0.07842389, -0.0907049, 0.10945533, -0.14496571, 0.03524454, -0.12881151, -0.13281278, -0.023060825, -0.037150636, -0.0001619192, 0.07462792, 0.19251943, -0.048907887, -0.09152158, 0.077018015, -0.0076050037) * go_5(0.0, -1.0); + result += mat4(-0.06379491, 0.22390717, -0.044009656, -0.19816853, -0.14713046, 0.114638254, -0.008227305, -0.014490413, 0.04359834, 0.10032826, -0.17928778, -0.13981889, -0.07729277, 0.11685862, 0.21970165, -0.09117455) * go_5(0.0, 0.0); + result += mat4(0.21068226, 0.030921075, 0.109845765, 0.058498275, 0.015876649, -0.0067828237, -0.10064077, 0.13756661, 0.017506564, 0.041748323, 0.17195722, 0.012285508, -0.023290245, 0.07060226, 0.069730066, -0.018874977) * go_5(0.0, 1.0); + result += mat4(0.19153018, -0.07691863, -0.03687873, -0.069982305, -0.097453654, 0.060358603, -0.030159682, -0.048520114, 0.12498585, -0.07376571, -0.01039302, -0.099845245, 0.00042995642, 0.035783857, -0.12854497, -0.024975097) * go_5(1.0, -1.0); + result += mat4(0.11177764, -0.02895167, 0.09053559, -0.24130683, -0.09276382, 0.04739869, -0.005453787, 0.031923447, 0.089385964, -0.048109047, 0.061177306, 0.117845595, 0.014615613, 0.1153759, -0.0007218852, -0.10042441) * go_5(1.0, 0.0); + result += mat4(0.041179586, 0.00042151578, 0.07818137, 0.06354339, 0.0049364083, -0.055836283, -0.0073542926, 0.047470722, -0.15328479, 0.03497268, -0.17375292, 0.0006636334, -0.043640774, -0.007737031, 0.10040319, -0.09145891) * go_5(1.0, 1.0); + result += vec4(-0.0542914, -0.045369092, 0.029350873, -0.018128533); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x48 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.15610647, -0.15150696, -0.076018915, 0.030773202, -0.13935511, 0.17644633, 0.028819937, 0.30125114, 0.38625193, 0.35517895, 0.0975343, 0.114022225, 0.25494647, -0.23291643, 0.29096943, 0.15063812) * g_0; + result += mat4(-0.22949804, -0.1368772, -0.07729264, 0.08470473, -0.06426131, -0.0064847367, 0.08241476, -0.1476949, -0.13712044, -0.36110023, -0.081719294, 0.19409889, 0.05562042, 0.26609465, 0.020447321, 0.2567414) * g_1; + result += mat4(0.03337578, 0.2905731, 0.21772428, -0.074480034, 0.071880735, 0.27764675, -0.17273173, -0.0037474795, -0.1842544, 0.21896398, -0.30134472, 0.1711769, 0.23913746, -0.0435854, -0.12745531, -0.050227556) * g_2; + result += mat4(0.34923258, -0.5455803, -0.2904644, -0.5446842, -0.040965725, -0.055288248, -0.50672686, -0.10309429, 0.045286313, -0.04284262, -0.19785875, -0.16594213, -0.10000842, 0.47245356, -0.32767087, 0.32854807) * g_3; + result += mat4(0.05952625, -0.062991776, 0.3438396, -0.08141334, -0.2488028, -0.04746144, 0.06563561, 0.45020792, -0.19996788, 0.015523991, -0.19214569, -0.24849077, -0.022107737, 0.28190804, 0.13384444, -0.12800638) * g_4; + result += mat4(-0.37812218, 0.09970516, 0.015231938, 0.07226164, -0.33720142, -0.05899804, -0.0025790115, -0.17770731, 0.111127384, 0.008749534, -0.09077738, -0.060420215, -0.10196339, 0.09641038, 0.25222716, 0.12781976) * g_5; + result += mat4(0.24168618, 0.18625724, -0.012904225, -0.011732107, 0.085045695, -0.4754185, 0.10896487, 0.09179793, -0.31662637, -0.117563, 0.5133052, -0.09457646, -0.15872721, -0.09779008, 0.56810176, 0.3339073) * g_6; + result += mat4(-0.09105348, -0.17617023, -0.21897802, -0.14157395, 0.16165406, -0.46579927, 0.24905841, 0.11579037, 0.09073764, 0.36771873, -0.29340085, -0.04271419, -0.11684365, -0.17138094, 0.12188604, -0.14749436) * g_7; + result += mat4(0.10943254, -0.17193961, -0.07027378, -0.26047203, 0.04288517, 0.21311204, 0.03997142, -0.17006959, 0.16181368, 0.28361118, 0.26655135, -0.097007245, -0.15998597, -0.09568138, -0.27558687, -0.11706871) * g_8; + result += mat4(0.365517, 0.5422966, -0.0013869518, 0.3447622, -0.25885904, -0.098901175, -0.048043057, 0.15867509, -0.12303401, -0.15362008, 0.270228, -0.2756776, -0.44207478, -0.0419657, 0.09387863, -0.07240854) * g_9; + result += mat4(0.15073416, -0.032387026, -0.039117433, -0.50999755, 0.073477276, -0.14495571, 0.15120687, -0.3443857, -0.29039595, -0.16189122, 0.14190345, -0.10934344, -0.21965231, -0.45768484, 0.11907852, 0.5091087) * g_10; + result += mat4(0.23260471, 0.16441877, 0.16760987, 0.10740154, -0.21663232, -0.10124566, -0.20843595, 0.066555224, 0.24608357, 0.16345865, -0.11965141, 0.18451719, 0.41683537, -0.044497896, 0.39102596, -0.11944608) * g_11; + result += vec4(-0.02423156, 0.015124756, -0.02608139, 0.030428935); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x48 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf1 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.12407633, -0.027812717, 0.23094666, 0.060302667, -0.16624144, -0.0007371851, -0.28186718, 0.22369424, 0.022404855, 0.09096415, 0.0017822908, 0.336001, -0.09130467, 0.034111694, 0.19113103, -0.14513424) * g_0; + result += mat4(-0.014768806, -0.31290373, 0.015769936, -0.13507901, -0.010203078, 0.4945444, -0.01088852, -0.1582938, -0.14903755, -0.1840089, -0.009966903, -0.19425109, -0.21303283, 0.26285252, -0.046254523, -0.15465552) * g_1; + result += mat4(0.07533467, 0.26080438, 0.024856985, 0.34277654, -0.3129344, 0.30575162, 0.06931557, -0.044698272, 0.18042412, 0.45999247, -0.5192437, 0.022618707, -0.020097036, -0.27706465, -0.0050434433, -0.12770803) * g_2; + result += mat4(0.098648146, -0.21701503, 0.10266521, -0.085537605, 0.02402345, -0.28643832, 0.19378376, -0.12658586, 0.115897186, 0.01580828, 0.11827048, 0.29019687, -0.19341177, 0.09564265, 0.03476779, 0.11699004) * g_3; + result += mat4(0.058346223, 0.25530934, -0.026972264, 0.3190419, 0.12263199, 0.124316074, 0.04734691, 0.011293402, -0.17419139, -0.15893947, 0.093723476, 0.23282392, 0.19400646, -0.0533148, 0.026266033, 0.19663234) * g_4; + result += mat4(-0.06663804, 0.20435949, 0.044924624, -0.24982749, 0.20327586, 0.12442739, -0.3155765, -0.18541007, 0.18991531, -0.19276267, 0.21697456, 0.03178544, -0.3381796, -0.15325621, -0.25820518, -0.07297032) * g_5; + result += mat4(0.098007046, -0.17018083, 0.3390076, -0.2280134, 0.12989196, -0.044336785, -0.10702673, -0.37464848, 0.028437488, 0.24224928, -0.107826136, 0.0031239046, -0.34256136, -0.17936559, 0.091159485, -0.054418396) * g_6; + result += mat4(0.053965975, -0.17428857, -0.43524495, -0.15119378, -0.25487635, 0.16371927, 0.1467712, -0.08216164, -0.5624722, -0.11886804, -0.058240388, 0.17669299, -0.15173754, 0.13094892, 0.39045286, -0.017048221) * g_7; + result += mat4(-0.15798661, -0.36355045, 0.1957264, -0.05392931, 0.098283805, 0.14677107, 0.16887192, -0.11125151, -0.113571666, 0.15960959, -0.09331763, -0.032195523, 0.17286941, 0.33965907, 0.09051416, -0.25542957) * g_8; + result += mat4(0.16866244, 0.05636189, -0.100324616, 0.20495924, -0.102705345, -0.08387417, -0.09328024, 0.21541446, 0.1430065, 0.0308464, -0.0793588, -0.029477509, -0.28854427, -0.29555637, 0.33754608, -0.18144317) * g_9; + result += mat4(-0.11338383, 0.019528843, -0.24414338, -0.36290777, 0.54908705, -0.083018646, 0.007534378, -0.1406417, 0.37853354, 0.09911941, -0.047861155, -0.3186758, 0.2125856, -0.114667036, -0.07411896, 0.050717812) * g_10; + result += mat4(0.2961511, 0.28937215, -0.36593223, -0.16141813, -0.087650776, -0.47516292, 0.0052091824, 0.033959586, -0.06072628, -0.0012637508, -0.037578013, -0.35235298, 0.11726439, 0.6064031, 0.34058803, 0.45300734) * g_11; + result += vec4(-0.0038817346, -0.052502215, 0.008882693, -0.017785465); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x48 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf2 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.21563801, -0.12204513, 0.31932783, 0.28290224, -0.17011476, -0.06448831, 0.004365267, -0.07169507, 0.21165244, -0.07712424, 0.14979824, 0.2240992, 0.48357385, -0.015724417, -0.3836641, 0.07599027) * g_0; + result += mat4(-0.20743755, -0.119118474, 0.1009234, -0.2842955, -0.24531132, 0.062108602, 0.11733637, 0.06687575, -0.065953426, 0.15715389, 0.21475503, -0.1019138, 0.08085453, -0.24522887, -0.108375534, 0.29179853) * g_1; + result += mat4(0.16713834, 0.030504826, -0.2423963, -0.41885766, -0.20249867, -0.061683156, -0.14999944, 0.54505223, 0.16486095, -0.023248592, -0.17566164, 0.089543514, -0.1884646, 0.15263423, 0.14438081, -0.21730141) * g_2; + result += mat4(0.37399703, 0.2731133, 0.11279373, 0.004775496, -0.19443156, -0.071899086, 0.17512012, -0.11265631, 0.01926881, -0.31321192, -0.32160205, -0.23714963, 0.097321026, 0.13937393, -0.28038052, -0.046872586) * g_3; + result += mat4(0.124041334, 0.083966166, 0.13945055, 0.087915726, 0.11154068, -0.09223973, -0.012948238, 0.16114026, 0.13717382, 0.11968761, 0.076536775, -0.15866219, -0.19017774, -0.11172013, 0.024816172, 0.096302085) * g_4; + result += mat4(0.081017025, -0.1537902, 0.193927, 0.22226687, 0.441012, 0.18478638, 0.30040395, 0.032401927, -0.13839063, 0.017778423, -0.42750338, -0.19760555, -0.21953818, -0.2148397, -0.084683254, 0.20916465) * g_5; + result += mat4(-0.3921892, 0.2123992, 0.14027761, 0.10175143, -0.11134986, -0.16432697, -0.1097465, -0.21807413, -0.09732297, -0.11108596, -0.39636138, -0.06654249, 0.18766358, -0.0061503067, 0.1286225, 0.2418667) * g_6; + result += mat4(-0.0039234986, 0.17088562, 0.12906016, -0.13476452, -0.09124947, 0.3098052, 0.09895542, 0.18631962, -0.06776231, 0.19485205, 0.14722902, 0.32147923, -0.1811334, 0.15313488, 0.0796922, 0.0012897709) * g_7; + result += mat4(0.032229863, 0.025498863, 0.06695979, 0.019412167, -0.16543043, -0.12314033, 0.112201385, 0.16554663, 0.13644108, 0.3098045, 0.081390016, -0.006008416, -0.016406069, 0.22883923, 0.22282913, -0.13947442) * g_8; + result += mat4(0.010251363, 0.08210024, -0.33465254, -0.012109372, 0.027115503, 0.1481351, -0.081793204, -0.20716506, 0.0056828605, -0.30995828, 0.11498873, 0.15678942, -0.061227474, -0.14681229, 0.1498136, 0.11219651) * g_9; + result += mat4(0.21796124, -0.12195326, 0.44734144, -0.124715045, -0.05986958, -0.25252253, -0.13802508, 0.16756216, 0.28327593, 0.38355786, -0.27178785, -0.19969118, -0.26010805, -0.074593216, 0.10679648, 0.15610766) * g_10; + result += mat4(-0.07648412, -0.18866923, -0.2592641, 0.32486007, -0.6200149, 0.09312683, 0.42827863, -0.2703639, 0.08144911, -0.054994784, -0.24911343, 0.41974616, 0.036914464, -0.32325324, 0.012920313, -0.48379797) * g_11; + result += vec4(-0.013587518, 0.049618572, -0.065549955, -0.007242324); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!SAVE conv2d_8_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.11553467, -0.14921814, -0.085377395, 0.10231987, 0.08155549, 0.07075523, 0.012124212, 0.013545821, 0.103393115, -0.007523045, 0.060739517, -0.05890024, 0.21902815, 0.020522034, -0.1402768, 0.1280077) * go_0(-1.0, -1.0); + result += mat4(0.051253397, -0.040904667, 0.1898603, -0.11879134, 0.069219105, -0.04280286, -0.022459755, 0.14305754, -0.063906856, 0.21501009, 0.0023572869, 0.09840124, -0.072510734, 0.057598237, 0.06159614, -0.13078417) * go_0(-1.0, 0.0); + result += mat4(0.09612547, -0.11506342, -0.0017697238, 0.082210004, 0.14244868, -0.018724512, 0.12827, -0.011984352, 0.08484893, 0.0534688, 0.06480922, 0.14134778, 0.0876346, -0.010892883, 0.15595037, -0.040623467) * go_0(-1.0, 1.0); + result += mat4(-0.15201004, 0.0093916925, 0.25506935, 0.003084567, -0.06869725, -0.27494308, 0.12937209, -0.12043822, -0.1918611, -0.09398222, 0.045312967, -0.1111442, -0.1376949, 0.0053297062, -0.28389412, -0.1396928) * go_0(0.0, -1.0); + result += mat4(-0.12742004, -0.23415208, 0.12804613, -0.1406368, 0.09349193, -0.12212758, -0.05245734, -0.39274624, 0.23036338, 0.04170077, -0.12391477, -0.00871988, 0.012228075, 0.31633002, -0.17377669, -0.124939) * go_0(0.0, 0.0); + result += mat4(-0.01582657, 0.018224325, -0.01147676, -0.09984998, -0.026615107, -0.21468964, 0.21078119, 0.19190042, -0.096901044, -0.041285027, -0.014912263, 0.17798825, 0.06570931, 0.09232608, -0.1068993, 0.089612365) * go_0(0.0, 1.0); + result += mat4(0.051225413, -0.07643113, 0.058832865, 0.083958775, 0.11160564, -0.14167392, -0.021870648, 0.10238029, 0.047018003, 0.11449065, 0.08001371, -0.06804109, 0.033969186, 0.10051381, -0.0008517809, -0.07459736) * go_0(1.0, -1.0); + result += mat4(0.09263853, -0.09833199, 0.042132426, -0.13103375, -0.03731804, -0.039324153, 0.10190401, 0.024146391, 0.110644914, -0.12685625, -0.12852249, 0.021824492, 0.0784485, 0.11471671, -0.09116125, 0.010305502) * go_0(1.0, 0.0); + result += mat4(0.005317984, -0.055282168, 0.09082919, -0.10774655, 0.21394931, 0.0045357225, -0.06699662, 0.2507622, 0.15671767, 0.11952803, -0.06123182, 0.13399701, 0.046645127, 0.0026899239, 0.022635492, 0.07161002) * go_0(1.0, 1.0); + result += mat4(-0.017425103, 0.12552156, -0.093341894, -0.071356304, 0.15947455, 0.24979044, -0.03843421, 0.14001197, 0.15455416, -0.05550835, -0.011375887, -0.07661705, -0.12418336, 0.056913756, 0.16633298, 0.11513766) * go_1(-1.0, -1.0); + result += mat4(-0.08778774, 0.057353538, -0.092138395, 0.002837398, 0.22633068, 0.120333284, 0.09834124, 0.05738123, 0.059130516, 0.22035405, -0.024255643, 0.02477418, 0.04645929, 0.39426094, 0.276884, -0.01479481) * go_1(-1.0, 0.0); + result += mat4(0.18796739, 0.083501674, 0.07283311, 0.06415875, -0.024382524, 0.04679669, -0.15093789, -0.22831221, 0.058881074, 0.16446854, -0.028955745, 0.1956661, 0.0516941, 0.16135721, 0.11951658, 0.10451706) * go_1(-1.0, 1.0); + result += mat4(0.008279574, 0.23456147, -0.12539841, -0.17107405, 0.12736088, -0.028486755, -0.18606788, -0.15545112, -0.025036227, 0.028735701, 0.17332946, -0.1413287, 0.050435208, -0.07583189, 0.14276801, 0.08007638) * go_1(0.0, -1.0); + result += mat4(0.23048489, -0.045157567, -0.014840823, 0.041994587, -0.0002087858, -0.01711496, -0.08994919, -0.05393212, -0.048546836, 0.18694918, -0.014523763, -0.14133967, 0.02896907, 0.08478857, 0.020594146, -0.0013243662) * go_1(0.0, 0.0); + result += mat4(-0.1141037, -0.11394802, 0.11164606, 0.12330282, -0.044497687, -0.06207866, 0.08016056, 0.16055691, -0.062488995, 0.051081542, 0.086364634, 0.10802774, 0.16742289, -0.08850773, 0.26072827, -0.34441397) * go_1(0.0, 1.0); + result += mat4(0.06775539, -0.19385163, 0.12488108, 0.11025669, 0.028568348, 0.051090416, -0.15175076, -0.17447716, -0.14535129, -0.15599817, -0.10742375, 0.23767987, -0.071634814, -0.19241351, -0.052424364, 0.105806515) * go_1(1.0, -1.0); + result += mat4(-0.044398658, 0.0027700714, -0.22429284, 0.11238373, -0.081747256, -0.016608216, 0.012278578, 0.036800906, 0.015081323, 0.12504977, -0.05880422, -0.05670147, -0.051358018, 0.03139849, -0.0058919964, -0.029613987) * go_1(1.0, 0.0); + result += mat4(-0.05326926, -0.06667389, -0.15082167, 0.011100974, -0.17428419, 0.06436674, 0.12850241, 0.07432186, 0.08191501, 0.24600182, -0.085727975, -0.22370532, 0.15681425, -0.112885654, 0.10803866, 0.09235784) * go_1(1.0, 1.0); + result += mat4(-0.15705872, -0.1011224, 0.11024848, 0.100342564, -0.112648144, -0.18259776, -0.0134320175, -0.19909476, 0.09715426, 0.015931793, -0.13415024, -0.1476672, -0.07625902, 0.11680044, -0.02269237, 0.013758246) * go_2(-1.0, -1.0); + result += mat4(-0.24389952, 0.1949585, -0.08155146, -0.14432955, 0.061777957, 0.0053770593, 0.11755161, -0.053200334, -0.18301581, -0.015372121, -0.10212801, 0.27215135, 0.089837484, 0.011281987, -0.1765269, 0.060139008) * go_2(-1.0, 0.0); + result += mat4(0.1613523, -0.051561244, -0.08003759, -0.15677674, -0.010480271, -0.05442542, 0.03414788, -0.054194316, -0.087549254, 0.22978279, -0.0047125067, 0.16779551, 0.0654713, 0.055772237, -0.009877759, 0.04076752) * go_2(-1.0, 1.0); + result += mat4(-0.018052207, -0.07168355, -0.1447087, 0.2920458, 0.1345294, -0.0847823, 0.0014948811, -0.10205125, -0.044011697, -0.16249846, -0.052916005, -0.0181699, -0.08360677, -0.06418388, -0.036664434, -0.15985154) * go_2(0.0, -1.0); + result += mat4(-0.0043584667, 0.1973149, 0.07195116, 0.07608803, -0.10798404, 0.11076036, 0.23318382, -0.23839737, -0.29880977, -0.03647466, -0.13977784, -0.27129006, 0.14539374, 0.003516734, -0.17389128, -0.14548092) * go_2(0.0, 0.0); + result += mat4(-0.039712217, -0.14402422, 0.115726, 0.026172435, 0.088555016, 0.07606563, 0.047167692, -0.048009936, -0.19357018, 0.01590195, -0.08144182, 0.11633417, 0.044445038, -0.038849603, 0.02644488, 0.12953997) * go_2(0.0, 1.0); + result += mat4(-0.2535649, -0.09789916, -0.059466388, -0.17749946, -0.024909042, 0.07494422, -0.0817595, 0.20722246, 0.049061295, -0.26182574, 0.11551785, -0.11284367, -0.19183765, -0.075118415, 0.023913708, -0.13905819) * go_2(1.0, -1.0); + result += mat4(-0.009345336, 0.06655174, -0.002273717, -0.06538255, -0.015212964, 0.039716627, -0.08802585, -0.112940565, 0.018324325, 0.24168438, -0.2545027, 0.025853468, -0.11133557, -0.028638441, 0.026320668, -0.09357033) * go_2(1.0, 0.0); + result += mat4(-0.23745783, -0.032814, 0.2784286, -0.04626241, -0.02654139, -0.018567635, -0.0013748549, -0.064650096, 0.08974625, 0.04735343, -0.027304498, 0.14134395, 0.009515457, -0.0011779714, -0.001755572, 0.008599811) * go_2(1.0, 1.0); + result += mat4(-0.053202473, -0.17543721, 0.03065013, -0.11342283, 0.13609491, 0.15735649, 0.040357295, -0.062337715, 0.060803644, -0.0032487542, -0.13659185, -0.09013045, -0.058906827, -0.116660595, 0.03664988, 0.059270184) * go_3(-1.0, -1.0); + result += mat4(0.21752366, -0.06447607, -0.083456226, -0.06617954, -0.013684511, -0.1191609, -0.2506009, -0.08164425, 0.1306491, 0.19933657, 0.13410534, 0.09191758, -0.039843913, -0.06834293, 0.08471115, -0.09353382) * go_3(-1.0, 0.0); + result += mat4(-0.027393917, -0.08497713, 0.26017472, 0.2136785, -0.1488196, -0.07492567, 0.14468898, 0.16119008, 0.0121641755, 0.22242029, -0.06302512, 0.062499605, 0.06213177, -0.09802615, -0.30932772, 0.011748043) * go_3(-1.0, 1.0); + result += mat4(0.1187535, 0.04582557, -0.12194581, -0.039476555, 0.20283094, -0.10453671, 0.09578921, -0.22217935, 0.2739068, 0.09089512, -0.3268319, 0.17347647, -0.08915248, -0.13531092, 0.14857613, -0.07792796) * go_3(0.0, -1.0); + result += mat4(-0.082583435, 0.16037074, 0.034193352, -0.07133332, -0.0669728, -0.24518156, 0.11620159, -0.10171298, -0.03303509, -0.0028717325, 0.0760564, -0.07741538, 0.046745025, -0.25254723, -0.01662034, 0.055250034) * go_3(0.0, 0.0); + result += mat4(0.12526712, -0.0023898773, -0.3012884, -0.047304068, -0.09815741, 0.013686822, -0.050375015, 0.14987841, -0.038195454, 0.040165856, 0.014663741, 0.16414583, -0.15489048, 0.0926139, -0.21309514, -0.1200608) * go_3(0.0, 1.0); + result += mat4(-0.09133431, -0.16783749, -0.062135316, 0.018470682, 0.022288319, -0.02211177, 0.13391319, -0.18012549, 0.49915206, 0.13974468, -0.08988157, 0.12178317, 0.0401673, 0.053748768, 0.019889776, 0.03453906) * go_3(1.0, -1.0); + result += mat4(0.14379664, 0.08435809, 0.036211815, 0.07440852, -0.06631962, -0.12839338, 0.14946012, -0.21335278, 0.34956563, 0.5433695, -0.2727362, -0.086059555, 0.15091617, -0.1394221, 0.19740397, 0.14155756) * go_3(1.0, 0.0); + result += mat4(-0.020419724, 0.07860248, -0.25041556, 0.043661647, -0.018286234, -0.059268583, -0.018467212, 0.04894847, -0.06933085, 0.31178948, -0.11954371, -0.0636989, 0.07150373, -0.04530066, -0.0018285213, 0.019425247) * go_3(1.0, 1.0); + result += mat4(0.09962638, -0.17088315, -0.06602017, -0.06087763, -0.1418266, -0.13101861, -0.13441323, -0.246784, -0.11813881, -0.28987116, 0.0533919, 0.058272794, -0.005445841, 0.015091582, 0.20249642, -0.105762914) * go_4(-1.0, -1.0); + result += mat4(-0.21612363, -0.1450863, -0.23284402, 0.006895393, -0.017744822, -0.20156701, 0.012746878, 0.018686332, 0.07711055, -0.10632525, -0.12213612, 0.051344417, -0.0141962785, -0.08607468, -0.05173791, -0.012742015) * go_4(-1.0, 0.0); + result += mat4(-0.35659614, 0.06504701, 0.0072779786, 0.3384698, -0.14741105, -0.107767306, -0.14098823, 0.22308472, -0.08386747, 0.09358457, 0.052461777, 0.16237038, -0.0059022917, -0.088671595, 0.14027567, -0.04549793) * go_4(-1.0, 1.0); + result += mat4(-0.23274305, 0.087585405, -0.006931044, -0.23876844, 0.08388762, -0.3022666, -0.16896221, 0.06452799, 0.2715658, -0.10732195, -0.057401773, 0.11985068, -0.06397641, -0.04235397, -0.026778454, 0.21212392) * go_4(0.0, -1.0); + result += mat4(0.0082654, 0.28741485, -0.14546123, 0.20393674, -0.02755474, -0.120006405, 0.3581759, 0.12956442, 0.009266114, 0.012998164, 0.032407217, 0.06048391, 0.041528724, -0.13716324, 0.10482829, 0.084386185) * go_4(0.0, 0.0); + result += mat4(-0.11990044, 0.092382684, -0.27219963, 0.15899557, -0.001977273, 0.120091155, 0.046375066, -0.21674563, 0.055842437, 0.07407933, 0.123498544, -0.08587901, 0.06925744, -0.07803027, -0.18120557, -0.0013798468) * go_4(0.0, 1.0); + result += mat4(-0.025172636, 0.0014970741, -0.12216828, -0.07777998, -0.11570999, -0.2672482, -0.04927161, 0.047932815, 0.017598571, 0.06150582, -0.006943665, 0.06608355, 0.09816235, -0.02132959, 0.022629065, -0.11914383) * go_4(1.0, -1.0); + result += mat4(-0.03462315, 0.0662906, 0.043817297, -0.09336832, -0.02393236, 0.12857129, -0.08293834, -0.079446144, 0.07298153, -0.22665861, 0.19360217, -0.027094053, 0.067512356, 0.054872043, 0.07353051, -0.019753326) * go_4(1.0, 0.0); + result += mat4(0.052837294, 0.122079946, 0.10026166, -0.16611442, -0.20202795, 0.10773466, 0.016957153, -0.06257964, 0.065463126, -0.0070094382, 0.0057103466, 0.0263681, -0.083057486, 0.011921135, 0.18715331, -0.009138652) * go_4(1.0, 1.0); + result += mat4(-0.039395697, 0.047360536, 0.08876623, -0.051131938, 0.079491556, -0.062068135, -0.11143306, -0.1600982, 0.1182525, 0.0990501, 0.032290936, 0.16515383, 0.048210137, 0.27581617, 0.2143776, -0.26727012) * go_5(-1.0, -1.0); + result += mat4(0.009885355, -0.10188308, 0.014354376, -0.07466153, -0.09686006, 0.03712243, -0.07547052, -0.2513815, -0.1224751, 0.28383356, -0.11245158, -0.0022227417, 0.10997654, -0.12797359, -0.026750803, -0.15781246) * go_5(-1.0, 0.0); + result += mat4(-0.03825075, 0.0119200265, 0.13641061, 0.08023444, -0.05399191, -0.029703232, 0.11449091, 0.104263976, 0.13190906, 0.03559845, 0.00035285854, -0.24578363, -0.030404888, 0.03632663, 0.2665158, 0.287037) * go_5(-1.0, 1.0); + result += mat4(0.19444078, 0.04411847, 0.10453107, 0.16204067, -0.10203096, -0.1057438, -0.10478279, -0.10320498, 0.0060342676, 0.20314808, -0.080608025, -0.13728383, 0.23798111, 0.03982377, 0.0018392511, -0.17587116) * go_5(0.0, -1.0); + result += mat4(0.093861975, -0.037806403, -0.023811158, 0.08989214, 0.16903597, -0.11738837, 0.057141513, 0.03039443, 0.07186046, -0.16815007, 0.041725967, 0.023349155, -0.21743254, -0.054814734, 0.21988024, -0.19913116) * go_5(0.0, 0.0); + result += mat4(-0.098907694, 0.12669978, -0.022410035, -0.09411821, -0.037412155, 0.04395231, -0.15797623, -0.14484851, -0.036790654, -0.038002916, 0.16846262, 0.21878582, -0.053109415, -0.03769754, -0.24775061, -0.010048842) * go_5(0.0, 1.0); + result += mat4(-0.12894969, 0.0033566963, 0.030691003, 0.033040218, -0.08500356, -0.043196633, 0.06903723, -0.17297482, -0.102706455, 0.13380836, 0.20812829, -0.054975122, -0.058504406, -0.08924625, 0.0967954, -0.12462231) * go_5(1.0, -1.0); + result += mat4(-0.020506827, 0.040906876, 0.15277289, -0.11496513, 0.19803853, 0.011656168, 0.0041951393, 0.16394733, -0.052599292, -0.2028797, -0.012671829, 0.12447954, -0.042609632, 0.18015629, -0.047704864, -0.20819715) * go_5(1.0, 0.0); + result += mat4(-0.04611932, -0.04080319, 0.1732811, -0.16310379, -0.0759677, -0.012633483, -0.12658887, -0.10228954, 0.11699648, 0.020952728, -0.1922721, 0.079663426, -0.017287953, 0.050658427, -0.061943304, -0.26140955) * go_5(1.0, 1.0); + result += vec4(-0.020329567, 0.07771538, 0.06740593, -0.00038238944); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!SAVE conv2d_7_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.09670644, -0.04566203, -0.10664036, -0.11654977, 0.10353238, -0.026668113, -0.06772906, -0.058057647, -0.04721855, -0.019877478, -0.16225834, -0.18661498, -0.1137224, 0.01452415, 0.09002202, -0.07991262) * go_0(-1.0, -1.0); + result += mat4(0.12247382, 0.10237518, 0.04044118, -0.04867563, 0.106729075, 0.19503647, -0.01294371, 0.12316606, 0.08497549, -0.01606401, 0.031219587, 0.1474753, -0.14370713, -0.24351072, -0.17444824, 0.12567697) * go_0(-1.0, 0.0); + result += mat4(-0.05373204, -0.11406721, -0.04307548, -0.0011615923, 0.09172633, -0.034839034, 0.12179155, -0.032049768, -0.036665026, 0.02375685, 0.01977139, -0.115673535, -0.065757565, 0.12521514, 0.03739438, -0.012122441) * go_0(-1.0, 1.0); + result += mat4(0.0037090098, -0.09165263, -0.22216173, -0.09436383, -0.018459387, 0.15764487, 0.106846556, -0.15703869, -0.1056327, 0.100443825, 0.15728104, -0.07118126, -0.071113996, 0.07175751, 0.1066827, 0.015554562) * go_0(0.0, -1.0); + result += mat4(-0.08138076, -0.005017353, 0.0024575114, -0.0280491, -0.1689416, -0.24320668, -0.07413122, -0.026848925, -0.17659375, 0.095876895, 0.1875987, -0.0052445224, 0.0041429237, -0.13173698, -0.21236134, 0.14331093) * go_0(0.0, 0.0); + result += mat4(-0.023982342, -0.028810123, -0.1591679, -0.02026218, -0.16651444, 0.050990265, -0.1640659, -0.109770395, -0.06517823, 0.06647583, 0.09519326, -0.14313333, 0.061294477, 0.066543005, 0.12260083, -0.1436599) * go_0(0.0, 1.0); + result += mat4(0.07363797, -0.07069135, -0.01332299, -0.1166729, -0.17299873, 0.10319499, 0.17256232, -0.15059224, 0.12490272, 0.03816397, -0.07081764, -0.0005555199, 0.009463498, -0.080442056, 0.05372971, -0.01984048) * go_0(1.0, -1.0); + result += mat4(0.07747191, 0.038767997, -0.042611655, -0.025650622, -0.20976418, 0.11478602, 0.05521954, 0.03552756, 0.012396808, 0.10836491, 0.01147957, 0.17223893, -0.09354668, -0.061399113, 0.03731426, -0.095968515) * go_0(1.0, 0.0); + result += mat4(0.0029518164, -0.07522048, -0.30731654, 0.14996396, -0.09563301, -0.1635997, 0.16482228, -0.33490175, 0.034455117, -0.124511935, 0.003454064, -0.011791387, -0.08124914, -0.020552732, 0.14202276, -0.053646516) * go_0(1.0, 1.0); + result += mat4(0.029005067, -0.019747132, 0.041804817, 0.10725602, 0.09535564, 0.17670439, 0.18999198, 0.06499296, 0.09519827, -0.09794806, 0.10868586, -0.038871128, -0.092565574, -0.018548176, 0.028203959, -0.050549477) * go_1(-1.0, -1.0); + result += mat4(0.10629401, -0.01204608, -0.0766338, 0.112705976, -0.103695825, 0.10200874, 0.008448839, 0.017780313, -0.024469525, 0.1860687, 0.14225325, 0.15677285, -0.14190355, -0.22543404, 0.024092557, -0.2790124) * go_1(-1.0, 0.0); + result += mat4(0.08649951, 0.040031336, -0.010628009, -0.04257323, 0.052871518, 0.06654039, -0.07866483, 0.09136843, -0.10960993, -0.029104995, 0.18752916, 0.022354944, -0.15167497, -0.04915799, -0.03720373, 0.18194139) * go_1(-1.0, 1.0); + result += mat4(-0.029030664, 0.063362755, 0.010331715, 0.034228537, -0.010749333, 0.026652085, -0.06266523, -0.047827587, 0.19567958, -0.07156196, 0.080418445, 0.040099807, 0.06901692, -0.10262759, 0.10190994, 0.1662688) * go_1(0.0, -1.0); + result += mat4(-0.04938947, 0.20808902, -0.012551209, 0.13833791, -0.08467056, -0.06768094, -0.0035055066, 0.2141383, 0.011813273, -0.094283104, -0.11627318, 0.0035407832, -0.16360888, -0.04307167, 0.18481791, 0.07308102) * go_1(0.0, 0.0); + result += mat4(0.058353335, 0.09541393, 0.013101275, -0.081891365, 0.08742119, -0.005137093, 0.025961146, -0.037318625, -0.14933549, 0.06090928, 0.12738119, -0.10817076, -0.13165309, 0.16108744, -0.13503371, 0.15482368) * go_1(0.0, 1.0); + result += mat4(-0.034848627, -0.0430948, -0.048124265, -0.04486795, -0.035008915, 0.08321689, -0.04977505, 0.048597503, 0.020555262, -0.07508485, 0.20037362, 0.06753769, 0.058704067, -0.009009662, -0.05421176, 0.20524938) * go_1(1.0, -1.0); + result += mat4(-0.12115005, 0.045643892, 0.112293474, 0.022908293, 0.073470674, -0.067966096, -0.017103313, -0.13648018, -0.07021163, 0.031020392, -0.048876107, 0.10397969, -0.005251243, -0.2611716, -0.07903786, 0.3444416) * go_1(1.0, 0.0); + result += mat4(0.10680049, -0.09858707, -0.0010306702, 0.10842332, -0.09013634, 0.02091661, 0.22192872, -0.15876925, 0.035971455, -0.04786045, 0.009500665, 0.09247623, 0.013221849, 0.1912487, -0.12753724, -0.061068386) * go_1(1.0, 1.0); + result += mat4(-0.03980972, -0.1474463, 0.22852057, -0.030534718, 0.103116564, -0.024893943, 0.023735823, -0.19768827, -0.088497065, -0.20338957, -0.022078201, -0.058560856, 0.16291575, 0.014483492, -0.093514696, 0.14760342) * go_2(-1.0, -1.0); + result += mat4(-0.09319041, 0.08757541, 0.024344994, -0.004351115, 0.0023287807, 0.036806494, -0.02552934, -0.06227957, -0.1354203, 0.0283256, 0.2185213, -0.087060206, -0.022696337, -0.16076073, -0.20330715, 0.036380492) * go_2(-1.0, 0.0); + result += mat4(-0.041115735, -0.023528732, -0.10124798, 0.21328308, -0.009342506, 0.07328608, 0.009285847, -0.23402044, 0.13117228, 0.1009154, 0.18027642, 0.074597865, 0.09881346, -0.00081656995, -0.002189424, -0.105243) * go_2(-1.0, 1.0); + result += mat4(0.11213601, -0.23114498, 0.10217712, -0.083360896, 0.07913656, -0.039601568, 0.11367716, -0.034739245, -0.14472133, -0.035573903, -0.35375246, 0.040547356, -0.1504422, -0.15183373, -0.08146184, -0.015926573) * go_2(0.0, -1.0); + result += mat4(0.007678496, 0.045396518, 0.067442104, 0.357935, 0.1795549, -0.028398065, 0.26147032, -0.22306849, -0.028738718, -0.10074325, -0.08521542, -0.020190565, -0.175108, -0.26179528, -0.1149573, 0.05406529) * go_2(0.0, 0.0); + result += mat4(0.030697253, 0.06005289, 0.024412693, -0.013535843, 0.030500244, 0.14023077, -0.047582973, 0.07610684, 0.0571624, 0.19386198, 0.021660715, 0.03154867, -0.03788935, -0.08817162, 0.0053847465, -0.015165054) * go_2(0.0, 1.0); + result += mat4(-0.26646808, -0.2275448, -0.0619738, 0.104571655, 0.024079306, 0.033514917, 0.016844772, -0.14415953, -0.01694689, -0.0072623887, -0.12263149, 0.030444223, -0.03220662, 0.022894913, 0.03112325, -0.036533017) * go_2(1.0, -1.0); + result += mat4(-0.15611476, -0.19298914, -0.17546865, -0.080604054, 0.07597506, 0.097353615, 0.029924694, -0.078176685, -0.12268953, -0.05687716, -0.05294087, -0.18172315, -0.0773961, 0.084935166, -0.009803619, 0.040560953) * go_2(1.0, 0.0); + result += mat4(-0.10773278, -0.0012994999, 0.004722267, -0.057820093, -0.10506255, 0.029771779, 0.015667265, 0.14186347, -0.108355746, -0.11185942, 0.022062123, -0.123649485, -0.0666645, -0.0107138315, -0.0130763, -0.046252076) * go_2(1.0, 1.0); + result += mat4(-0.031815648, -0.0084208995, -0.072824255, -0.1508182, -0.064399414, 0.021369422, -0.18965991, 0.03649226, 0.15370539, -0.117377125, 0.15578026, 0.15059558, 0.1423233, 0.013444947, -0.16911474, -0.21899599) * go_3(-1.0, -1.0); + result += mat4(-0.050074972, 0.06591971, -0.20185336, -0.19894198, -0.045794237, -0.09582899, 0.019117232, 0.054774716, 0.00469303, 0.08466791, -0.10310348, 0.03430011, -0.05189703, 0.08612288, -0.09612641, 0.15337339) * go_3(-1.0, 0.0); + result += mat4(-0.058103696, -0.13447452, -0.06501768, -0.08269111, -0.043869898, 0.0398948, 0.033771295, -0.021524182, 0.0027115596, -0.030671224, 0.045388903, 0.04590158, -0.26087472, -0.16301683, 0.03324832, 0.024285218) * go_3(-1.0, 1.0); + result += mat4(-0.051421262, 0.15028518, 0.06384462, -0.08590671, 0.101886876, -0.012882116, -0.051741008, 0.11888618, -0.15590154, -0.38625813, 0.042900138, 0.22492291, -0.09111901, -0.005388837, 0.051056426, 0.043860577) * go_3(0.0, -1.0); + result += mat4(-0.079883516, 0.05735032, 0.10719803, 0.16519663, -0.11724404, 0.25990528, 0.012375103, -0.010302452, 0.49185735, 0.1696493, 0.060474537, 0.3722603, 0.014323083, -0.16412182, -0.059749532, -0.24289557) * go_3(0.0, 0.0); + result += mat4(-0.034733526, -0.084441185, -0.04596736, -0.0042962483, -0.0392975, -0.11149175, 0.14051792, 0.0702665, 0.117540844, -0.102869704, 0.27858627, 0.069043316, 0.04871729, -0.24745311, -0.058776632, -0.0017110928) * go_3(0.0, 1.0); + result += mat4(-0.06277427, 0.16004023, -0.11507597, 0.15097888, 0.027060283, 0.1953599, -0.0031669976, -0.0005737168, -0.19876455, -0.23691651, 0.17741823, -0.12453466, -0.040428206, -0.0018632353, 0.023173677, -0.076046385) * go_3(1.0, -1.0); + result += mat4(0.13513252, 0.0295901, -0.006554118, 0.06786791, 0.15473233, 0.012762339, 0.1927368, -0.06255987, -0.30587965, -0.44131213, -0.086936355, 0.011615333, 0.097696826, 0.02502633, 0.08837973, -0.07914361) * go_3(1.0, 0.0); + result += mat4(-0.013541286, -0.034861088, 0.052821327, 0.037984103, 0.04338181, -0.0133451065, 0.041617934, -0.034278907, -0.053211715, -0.16200064, 0.11068738, -0.0867221, 0.04498939, 0.045188803, -0.05908562, 0.081477076) * go_3(1.0, 1.0); + result += mat4(-0.15266198, 0.22576767, 0.030019565, -0.045541495, 0.04881405, 0.0142783765, -0.1529103, 0.18320109, -0.00480197, 0.094124764, -0.010995377, 0.01641767, -0.010706163, 0.100903675, 0.19038767, -0.18477328) * go_4(-1.0, -1.0); + result += mat4(0.008087569, 0.13434748, -0.32156894, 0.07736676, 0.10494717, -0.11782738, -0.0029439328, -0.09557844, 0.015514035, -0.089648925, -0.17554814, -0.14883392, -0.04063905, 0.050346915, -0.08932905, -0.010719376) * go_4(-1.0, 0.0); + result += mat4(-0.11777635, -0.33014166, 0.34624732, 0.11740032, 0.1543961, -0.019076902, -0.12216481, -0.017081184, -0.00078788324, 0.031078909, -0.028584918, -0.026835786, 0.091864, 0.05272115, -0.12571204, 0.008416047) * go_4(-1.0, 1.0); + result += mat4(-0.043549653, 0.1039711, -0.20336658, -0.010299696, -0.27827185, 0.019381372, -0.1632188, 0.077465065, 0.20229691, -0.069236994, 0.014810417, 0.22877559, 0.02143673, 0.17381601, 0.09082899, -0.053508762) * go_4(0.0, -1.0); + result += mat4(0.2391153, -0.19723871, -0.25610062, 0.07108974, -0.03182384, 0.2192639, -0.09241812, 0.048452295, -0.021405702, -0.2554734, -0.1965786, 0.20361422, -0.14465299, 0.058985952, -0.025833346, -0.10550291) * go_4(0.0, 0.0); + result += mat4(-0.39593056, -0.4537898, 0.023792682, 0.37393433, 0.041772638, -0.020854915, 0.050651625, 0.0766088, 0.23962118, -0.06411897, -0.106468715, 0.17854762, 0.03402648, 0.0236968, -0.033498786, -0.12094796) * go_4(0.0, 1.0); + result += mat4(-0.2517486, -0.011749091, -0.08157814, 0.1392019, 0.042420883, -0.23219018, 0.05053571, 0.13250825, -0.050171047, 0.15462638, -0.043420136, -0.014093825, 0.16176236, -0.14638837, -0.0071619265, -0.055462677) * go_4(1.0, -1.0); + result += mat4(-0.3264325, -0.30403548, -0.15088049, -0.010203428, -0.018360123, -0.060466267, -0.090672255, -0.13885537, -0.038393795, 0.20886149, -0.10593147, 0.017991208, 0.08373391, 0.20925963, 0.028997745, 0.06881825) * go_4(1.0, 0.0); + result += mat4(0.19107129, -0.16896184, -0.12929466, 0.07562441, 0.064231046, 0.0864716, -0.03966105, 0.09153016, -0.0628452, -0.015886426, -0.07048391, -0.24076262, 0.011216516, 0.07708032, -0.03814493, 0.13395755) * go_4(1.0, 1.0); + result += mat4(-0.05879415, -0.019550052, -0.023919582, -0.11289196, -0.0064408537, 0.07402445, 0.058795378, 0.15885338, -0.043667927, 0.10769252, 0.030309072, 0.048533317, -0.2524471, 0.059829284, 0.0797783, -0.019442867) * go_5(-1.0, -1.0); + result += mat4(-0.0038486274, -0.04580634, 0.07400007, -0.031162377, 0.10273923, 0.008071164, 0.11991736, 0.026728682, 0.026876984, -0.07799812, 0.1297364, 0.14695424, -0.06859438, -0.10330936, -0.07446633, 0.02616857) * go_5(-1.0, 0.0); + result += mat4(-0.16036308, 0.04957999, 0.01030331, -0.1962486, 0.103015296, -0.007340536, -0.049429756, 0.07165493, 0.008103339, 0.083655335, 0.098038, -0.1358248, -0.25885662, 0.029940864, -0.008321852, 0.2294651) * go_5(-1.0, 1.0); + result += mat4(-0.06087098, 0.00019651231, 0.03534409, 0.03318348, -0.0879954, 0.034764756, -0.30367124, -0.09713905, -0.026543869, -0.089636214, 0.12096616, -0.034594636, 0.054902434, -0.09290082, -0.07779638, -0.0821119) * go_5(0.0, -1.0); + result += mat4(0.13779263, 0.18896884, -0.076830864, -0.09442952, -0.23735744, -0.014474691, 0.009051341, 0.10342686, 0.041046456, -0.10701024, -0.18442988, 0.02789949, -0.00074035715, -0.025513707, -0.040514592, 0.036068246) * go_5(0.0, 0.0); + result += mat4(-0.048401676, 0.20745294, 0.0070508514, -0.0705337, -0.022934115, -0.043547787, 0.04628692, -0.07658743, -0.10154497, -0.13417569, -0.0013773212, 0.14263885, -0.07437275, -0.13121726, 0.12632057, 0.034687687) * go_5(0.0, 1.0); + result += mat4(-0.027830327, -0.030560987, 0.12718935, -0.102934904, -0.02562363, 0.008175067, -0.0028858446, -0.015783066, 0.15272577, 0.10772941, 0.043485314, 0.014232708, 0.08577555, -0.16121073, 0.026591625, -0.055126593) * go_5(1.0, -1.0); + result += mat4(-0.06485661, -0.11781964, -0.1421969, -0.16376711, 0.18121801, 0.123108625, -0.15428194, -0.06915854, 0.05089843, 0.08377868, 0.09607435, -0.02494757, -0.076740764, -0.19782536, -0.3470603, 0.037040427) * go_5(1.0, 0.0); + result += mat4(0.10614744, 0.09086957, -0.02948694, 0.017862784, 0.027194018, 0.069870904, -0.021802098, 0.21401364, 0.11846571, -0.056183722, -0.071595654, 0.029162262, -0.124404505, -0.072095454, 0.040073395, -0.02816261) * go_5(1.0, 1.0); + result += vec4(-0.034254678, 0.047492404, -0.00038721046, -0.00072104816); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x56 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.20878315, 0.073090814, 0.34913197, 0.04554434, -0.3036766, 0.04255219, 0.060676616, 0.24025755, -0.019680336, -0.15252031, -0.03416314, -0.072506554, 0.013241457, -0.10496547, 0.050562985, -0.033250205) * g_0; + result += mat4(-0.18049034, 0.09664636, 0.41482204, 0.23575203, -0.05704124, -0.044852983, 0.1783455, -0.017561441, -0.06852369, 0.014129533, -0.21115111, -0.22699773, 0.38242704, 0.01165174, 0.04190493, -0.2141891) * g_1; + result += mat4(-0.011946614, -0.16289592, 0.041371312, 0.40975794, 0.0041022287, -0.23657559, 0.10817027, -0.26924378, -0.12006245, 0.26678962, 0.072988346, -0.2085322, 0.0048250603, 0.12894252, 0.07966851, 0.24471562) * g_2; + result += mat4(0.18590502, 0.0845459, -0.12875262, 0.26096, 0.029233042, 0.36381075, 0.117661506, 0.006412487, 0.20946807, 0.07426911, 0.029169528, 0.0654646, 0.16450708, 0.12593012, -0.109644994, 0.14572893) * g_3; + result += mat4(0.1973355, -0.2275125, -0.28223652, 0.31719315, 0.3813502, 0.2693579, -0.037815563, -0.16148391, 0.12829015, -0.0030689894, 0.022164742, 0.035949815, -0.3378249, -0.13235879, 0.15883659, -0.17731927) * g_4; + result += mat4(-0.2885664, 0.14904943, -0.19845994, 0.23251331, -0.30293494, 0.02003626, 0.20378608, 0.27291408, -0.16427508, -0.1587996, -0.22501752, -0.04937006, -0.115756296, 0.09290222, -0.26140857, -0.014537909) * g_5; + result += mat4(-0.1513065, -0.31879196, -0.2727547, -0.4583672, 0.3103975, -0.09158548, 0.009788355, -0.09834531, 0.011489709, 0.042706747, 0.37254226, 0.15954055, 0.2172001, 0.09373807, 0.29088458, -0.35286763) * g_6; + result += mat4(0.23374696, 0.33407655, 0.23616461, -0.09521148, -0.14927168, 0.11939751, 0.42869845, -0.16612507, -0.2706815, 0.16172597, -0.5814591, -0.11577833, 0.065650895, -0.3334003, -0.41168052, 0.32357255) * g_7; + result += mat4(0.3248823, -0.27207342, -0.048840526, -0.217887, -0.018053366, -0.24292938, 0.1603505, 0.06505262, -0.010766065, 0.07076721, 0.22251016, -0.041497335, -0.09878612, 0.2061045, 0.080330074, -0.029014835) * g_8; + result += mat4(-0.26376098, -0.04971863, -0.03045489, 0.009807002, 0.11108562, 0.0693266, 0.15279642, -0.1372833, 0.18326105, -0.059612468, -0.005589879, 0.021735538, -0.027800532, -0.14984077, -0.116767704, -0.06531209) * g_9; + result += mat4(0.19206688, 0.21824414, 0.03791829, 0.22117318, 0.01257811, -0.044042267, 0.25616458, 0.082941554, -0.1181948, -0.17940602, -0.20808466, -0.06987383, 0.0019713745, -0.1609917, 0.153718, -0.32214788) * g_10; + result += mat4(-0.19472712, -0.007020553, -0.36049378, -0.24589752, -0.011828978, 0.38882232, -0.3257698, 0.08382738, -0.09556564, -0.20949766, -0.32732338, 0.08303877, -0.107999764, 0.2836336, -0.0661124, 0.24043255) * g_11; + result += mat4(-0.1972939, 0.12734106, -0.09953153, -0.45152718, -0.15855458, 0.08746372, 0.11452114, 0.030538268, 0.11946308, 0.17044471, -0.24375156, -0.10093911, 0.19120134, -0.14312318, -0.14860255, -0.1223525) * g_12; + result += mat4(0.14979935, -0.3136038, -0.25878516, 0.12995318, -0.075706124, -0.104598634, 0.1455947, -0.6167443, 0.06843719, -0.16347055, 0.04413483, 0.08870554, -0.29839858, 0.07214889, 0.049274225, -0.15555117) * g_13; + result += vec4(-0.004266169, -0.020547107, -0.0031655694, 0.0643683); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x56 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf1 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.06760422, 0.16268754, -0.14517367, -0.023386402, -0.23272006, 0.48739922, 0.06399116, -0.032946702, -0.17306012, 0.334446, 0.17779559, -0.2660973, -0.3468709, 0.51220256, -0.010311926, -0.040047005) * g_0; + result += mat4(-0.0538168, -0.048309397, 0.064760834, 0.09675621, 0.20269404, -0.2615111, -0.27282992, -0.12584937, 0.10904846, -0.15973651, -0.076846495, -0.09462694, 0.12722874, 0.21629119, -0.35314724, -0.086036965) * g_1; + result += mat4(-0.049174394, -0.05765949, 0.21250841, 0.17151582, 0.15764381, 0.040890984, 0.05118504, -0.14658877, 0.05469671, 0.13701054, 0.20377803, -0.39008877, -0.0016028697, 0.13317284, -0.11653242, 0.12591232) * g_2; + result += mat4(0.21234287, -0.3048995, -0.12653783, -0.109162085, -0.050768167, -0.17156011, 0.05592974, 0.27197394, -0.19419932, -0.046344608, -0.05445905, -0.13253787, 0.05778321, 0.16979085, -0.04466505, -0.06867837) * g_3; + result += mat4(-0.18974759, 0.22814974, -0.007522141, -0.10096491, -0.26759568, 0.32048568, 0.2660603, 0.112091035, 0.41875598, -0.1051111, 0.06525224, 0.27191457, 0.017352497, -0.31743342, 0.29108858, 0.26573792) * g_4; + result += mat4(0.031855166, -0.122523904, -0.28207538, 0.12833035, -0.025733596, 0.008542537, -0.1891138, 0.16361842, 0.058317598, -0.007289248, 0.03349703, -0.038986582, 0.18147361, -0.3912238, 0.024964351, 0.14339498) * g_5; + result += mat4(0.37369347, -0.012460246, -0.037854888, 0.067713045, -0.06288331, 0.26436228, -0.058873445, 0.04463945, -0.04286497, -0.04824939, 0.17835206, -0.036378298, 0.33058742, -0.14685723, 0.1025378, 0.051385757) * g_6; + result += mat4(-0.131484, -0.040644694, -0.14443769, 0.1950223, 0.09507341, 0.48859578, -0.26267928, 0.24538381, -0.063596986, -0.18749404, -0.031884808, -0.07132067, -0.04606875, 0.03708701, -0.26145473, 0.2371378) * g_7; + result += mat4(0.094301306, -0.08795415, -0.035933804, 0.21765485, -0.29858732, 0.11440603, 0.14095801, 0.18262209, -0.08135902, -0.45404965, 0.20399955, -0.06393024, 0.023793167, 0.16001467, -0.11817577, -0.16322103) * g_8; + result += mat4(0.07168084, 0.0879652, -0.083207026, -0.045181375, 0.07845201, -0.15828066, 0.05710845, 0.05699917, -0.061211787, 0.039662443, 0.036026876, 0.14224064, -0.23701179, 0.01259322, -0.091701694, 0.42408752) * g_9; + result += mat4(0.017442457, -0.1311232, -0.22520894, -0.049517628, -0.20945188, -0.035541452, -0.13055338, -0.04001523, -0.09402065, -0.19641486, -0.10066238, 0.115912616, -0.10684873, 0.02787531, 0.28450257, 0.02690632) * g_10; + result += mat4(-0.2659566, 0.43625832, -0.0695883, -0.2624756, -0.2827253, -0.22893822, 0.26025924, 0.24121284, 0.2272709, 0.2178127, -0.15199527, 0.32607552, 0.005909836, 0.056527212, 0.19446251, -0.010751997) * g_11; + result += mat4(0.1273358, -0.28996274, -0.19322409, 0.018734567, 0.48555133, -0.17389202, 0.13595583, 0.46163267, -0.08973322, -0.30239192, 0.49897516, 0.021815563, -0.2589829, 0.0039008032, 0.056682784, 0.048075546) * g_12; + result += mat4(0.415353, 0.112207405, 0.20997275, 0.033321556, -0.1327579, 0.12338585, 0.61820966, -0.3411527, 0.018252999, 0.05708125, -0.24571265, 0.11019793, 0.24145919, 0.20340635, -0.0693869, 0.16271423) * g_13; + result += vec4(-0.07107039, 0.0061239223, 0.0013546069, 0.02994767); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x56 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf2 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.0014731521, -0.15165007, 0.04889816, -0.23228844, 0.11362322, 0.07071926, -0.23770805, -0.04347728, -0.16787082, -0.008313435, -0.42370048, 0.08681679, 0.10611205, -0.012660734, 0.10022364, 0.027629996) * g_0; + result += mat4(-0.35393402, 0.018436229, 0.10629333, 0.029471794, -0.21129252, -0.301571, 0.0045201713, -0.15636055, 0.298371, 0.11426107, 0.018450111, -0.13657977, 0.22216578, 0.009629214, 0.5373198, 0.30699998) * g_1; + result += mat4(-0.1504586, -0.16447587, -0.2739809, -0.14074785, 0.39510623, -0.08384201, 0.14561974, -0.43195033, -0.055713434, 0.12800978, 0.2829296, -0.23494978, 0.14326042, -0.09509476, -0.3169162, 0.124649614) * g_2; + result += mat4(-0.23705968, 0.15959233, 0.11467344, 0.15141489, -0.096755706, 0.023953263, 0.13856179, 0.024189185, 0.13272291, 0.46271062, 0.55494446, -0.14286532, 0.1501738, 0.28827608, 0.058801714, 0.029045105) * g_3; + result += mat4(-0.002308931, 0.07281086, -0.5197955, 0.079986535, 0.38919175, 0.3164044, 0.35857818, 0.09364757, 0.17373051, -0.1447216, -0.05244769, 0.15533692, 0.046295535, -0.19459103, -0.33215967, -0.15369573) * g_4; + result += mat4(0.11478203, -0.29375935, -0.19501545, -0.081721894, -0.103483915, 0.041965716, 0.056954723, 0.19596405, -0.13819647, 0.010641367, -0.11124998, -0.08675409, 0.036859434, 0.23720297, 0.14129876, -0.044769786) * g_5; + result += mat4(0.08397742, -0.12651941, 0.17676216, -0.084249385, 0.36716628, 0.039452277, -0.27606088, -0.36796048, 0.31680533, 0.14186403, 0.4466997, 0.13315229, 0.011085958, -0.17513317, 0.13940759, 0.27495402) * g_6; + result += mat4(-0.1870658, 0.18817395, 0.010469263, -0.39973256, -0.57167524, -0.38714117, -0.26255277, 0.14361858, 0.018649995, 0.15935089, -0.21745402, -0.0056655053, -0.15408997, -0.03154883, -0.29631105, 0.27472818) * g_7; + result += mat4(-0.07735958, 0.042861674, 0.36729267, -0.2362879, -0.15516327, -0.009109079, 0.063800156, -0.253287, 0.4471074, 0.0944695, -0.26948866, -0.07759066, 0.045151226, -0.13749917, 0.14566323, -0.13593693) * g_8; + result += mat4(0.28955856, 0.09293573, 0.07423561, 0.1616493, 0.22285056, 0.01639275, 0.026332684, -0.14958683, -0.32087958, -0.3138252, -0.17335242, -0.38171476, -0.25562596, -0.022701526, 0.17425084, -0.042576227) * g_9; + result += mat4(0.24964347, -0.07078707, 0.18416835, -0.054758202, -0.061644293, -0.0964391, 0.14583856, -0.34874785, -0.3402768, 0.14743538, 0.36047265, 0.04471611, 0.015971184, 0.25227246, -0.011749087, -0.18359871) * g_10; + result += mat4(-0.059328917, -0.07904788, -0.23883855, -0.06956805, -0.040810965, 0.09536262, 0.0018617791, -0.1898438, 0.1794419, 0.11382087, -0.16192305, 0.22020166, 0.03995484, -0.19086155, -0.2970539, 0.14597812) * g_11; + result += mat4(-0.034995254, 0.060782332, -0.0519364, 0.41303346, -0.06989344, 0.21384521, 0.31474474, 0.12592849, 0.17633408, -0.2764535, 0.36884397, -0.015302021, 0.02951528, 0.094452016, 0.13392285, 0.14435606) * g_12; + result += mat4(0.13522784, 0.101011604, 0.04657966, -0.043399148, 0.008192044, 0.0027336285, 0.011269824, 0.09976881, -0.026473437, -0.124423906, -0.19602631, -0.09871594, -0.10603456, 0.057509303, -0.09007557, -0.14438893) * g_13; + result += vec4(-0.07283617, -0.09245546, -0.006695486, -0.013076421); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!SAVE conv2d_11_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.47819614, -0.0145807015, -0.14235033, -0.06459091, 0.051679384, -0.24727756, 0.16531977, 0.23668537, -0.044610042, -0.03163047, -0.024059737, 0.21251118, -0.02900184, -0.11218355, 0.085020125, -0.08413842) * go_0(-1.0, -1.0); + result += mat4(-0.083133794, 0.08406656, 0.20940667, 0.21155417, -0.12855776, -0.061865382, 0.2486309, 0.13191856, -0.028019775, 0.11366226, 0.13459402, 0.18391807, -0.09688631, 0.011591497, -0.2466206, -0.02237942) * go_0(-1.0, 0.0); + result += mat4(0.0037495645, 0.019915475, 0.07625364, 0.07119373, 0.18423386, 0.07686032, -0.013689673, -0.11513128, -0.12845139, 0.273121, 0.077030145, 0.13114497, 0.04543684, 0.09308563, 0.19357756, 0.24509594) * go_0(-1.0, 1.0); + result += mat4(0.03458686, -0.42040396, -0.104271114, 0.1918791, -0.25708342, 0.03583752, 0.2589993, -0.050576445, 0.0043004244, 0.19324894, 0.080590524, 0.14723596, 0.041485116, 0.13033897, 0.28028202, -0.058933) * go_0(0.0, -1.0); + result += mat4(-0.09480703, -0.13742156, -0.30406207, -0.03582789, 0.12367775, 0.064455606, -0.061555192, 0.06453598, 0.0917327, 0.04270991, 0.21958654, 0.13570474, -0.12048236, -0.024039079, 0.11226094, 0.050419748) * go_0(0.0, 0.0); + result += mat4(0.02062305, -0.10862912, 0.12883052, 0.18951532, -0.03850205, 0.11498875, 0.16137509, 0.009759631, -0.09211893, 0.0708826, 0.15651149, 0.19246778, 0.056577608, -0.0871854, 0.090261444, -0.019027064) * go_0(0.0, 1.0); + result += mat4(0.2780629, -0.054287303, -0.13351089, 0.021154758, -0.12753387, 0.031183334, 0.29430825, -0.06750467, -0.044209514, -0.042159047, -0.12532234, 0.006239919, -0.1961551, 0.099502094, 0.11470277, 0.10832906) * go_0(1.0, -1.0); + result += mat4(-0.2063426, -0.24898255, -0.28594568, 0.15958025, 0.03609107, 0.06394462, 0.022269696, -0.058725126, -0.104284525, 0.16744058, -0.14197277, -0.0051877275, -0.14164501, 0.021519974, -0.12835859, -0.12090698) * go_0(1.0, 0.0); + result += mat4(-0.45966595, 0.015630098, -0.3182287, 0.10282032, 0.14680836, -0.23460387, 0.15356645, 0.017346757, 0.05120857, -0.035891768, -0.092325106, 0.005394217, -0.09328155, -0.012819384, 0.14028293, 0.012717323) * go_0(1.0, 1.0); + result += mat4(0.06736054, -0.0044496846, -0.061849196, -0.04067691, -0.06897966, 0.12449442, -0.2508966, -0.090206414, -0.0938398, 0.013633642, 0.1409954, -0.08719504, -0.06788997, 0.098299906, 0.06095718, -0.071988545) * go_1(-1.0, -1.0); + result += mat4(-0.036788728, 0.0037640312, 0.0037646547, -0.021026969, 0.09899778, -0.054118365, 0.08308994, 0.10520542, -0.2592658, 0.113168575, -0.15985844, -0.15588784, -0.114530176, 0.0118468655, -0.08904175, -0.106764145) * go_1(-1.0, 0.0); + result += mat4(-0.027948795, 0.004584627, -0.03517112, -0.0007581547, -0.025537577, -0.035759352, 0.0973176, 0.03644148, -0.16327894, -0.12705119, -0.028998915, 0.123633325, -0.19453679, 0.113648765, 0.012692621, 0.057508085) * go_1(-1.0, 1.0); + result += mat4(-0.010877041, -0.03980561, 0.013339347, 0.061969575, 0.2810196, 0.058558464, -0.1776418, 0.16630451, 0.05817873, 0.07262613, -0.03700459, -0.04399585, -0.16587572, 0.08260915, -0.009857085, 0.04391152) * go_1(0.0, -1.0); + result += mat4(0.13224548, -0.074267186, 0.03054752, -0.07024831, 0.074185595, -0.02313642, 0.065747924, -0.004960654, 0.14500527, 0.04731656, -0.117002204, -0.08217113, -0.07336124, -0.084052, 0.12326484, 0.09011222) * go_1(0.0, 0.0); + result += mat4(-0.16047195, 0.076803066, -0.2786948, 0.1176941, -0.0131406775, 0.009936233, 0.1374073, -0.09565009, 0.10070214, 0.11528786, -0.0730813, -0.13431457, -0.21621323, -0.013119195, -0.18385343, -0.058667593) * go_1(0.0, 1.0); + result += mat4(0.0040132185, 0.134705, -0.011815555, -0.094924495, -0.05727005, 0.0950522, 0.04084158, 0.016365912, -0.02917897, -0.03862751, 0.012003192, 0.03835569, -0.096041076, 0.004406702, -0.10389978, -0.0009610953) * go_1(1.0, -1.0); + result += mat4(-0.10157398, -0.10319637, -0.012073916, -0.19039184, -0.02369365, -0.021698838, 0.015538155, -0.051231697, 0.041044284, -0.02691978, -0.1713024, -0.12904704, -0.03471921, 0.037977315, 0.064845525, 0.1264632) * go_1(1.0, 0.0); + result += mat4(-0.08406344, 0.044064984, 0.056877784, -0.13283873, -0.0058603142, 0.075482026, -0.09246969, -0.065718174, -0.025745329, 0.015633717, -0.06059284, 0.08149079, -0.022848418, 0.061127402, 0.047879003, 0.04544503) * go_1(1.0, 1.0); + result += mat4(-0.21875143, 0.053516608, 0.04243476, -0.08509983, 0.406294, -0.060116358, -0.13793904, -0.1559247, -0.017128536, 0.021633752, 0.08865264, -0.032922007, 0.08250139, -0.17353764, -0.16137601, 0.12943612) * go_2(-1.0, -1.0); + result += mat4(-0.27127337, -0.057137657, 0.005031509, 0.10027777, 0.20500132, 0.0073007634, -0.09760265, -0.2428409, -0.16160156, 0.32289484, -0.096351616, -0.15562637, -0.24892123, 0.13368145, 0.31498823, 0.09549184) * go_2(-1.0, 0.0); + result += mat4(0.01444343, 0.07115736, -0.17920075, -0.024846312, 0.057884447, 0.14358939, 0.043788955, -0.013016863, 0.087220736, -0.0060180086, 0.19609165, -0.025888423, -0.06294847, 0.03406598, -0.04250465, -0.04808649) * go_2(-1.0, 1.0); + result += mat4(-0.02662509, 0.24295834, -0.07612864, -0.20615683, 0.16377121, -0.05186765, -0.1750536, -0.04726876, 0.29443663, 0.0983683, -0.18610948, -0.1949004, -0.1446201, 0.11045659, 0.013536009, 0.18919495) * go_2(0.0, -1.0); + result += mat4(-0.080005094, -0.29404542, 0.14548069, 0.013500291, -0.011395713, -0.048017073, -0.053436857, -0.13627477, 0.041908856, -0.30820572, 0.17044339, 0.22999896, -0.32405153, 0.12114645, -0.080108374, -0.06520369) * go_2(0.0, 0.0); + result += mat4(0.062350888, 0.170049, 0.04211445, 0.12288375, 0.010835714, -0.17722476, -0.18930283, 0.11607083, -0.054421842, -0.004191082, 0.14655825, -0.1229237, -0.058039404, 0.09008831, -0.017603457, 0.027497675) * go_2(0.0, 1.0); + result += mat4(0.24208143, 0.04073837, -0.014191606, -0.069054805, 0.33024073, 0.25458166, -0.062864356, 0.028975246, 0.17692459, 0.22093695, -0.17666881, -0.03709188, -0.2001521, -0.06491504, 0.199202, 0.08666711) * go_2(1.0, -1.0); + result += mat4(0.053933676, -0.058177974, 0.006558046, -0.018798346, -0.05610966, 0.21288905, -0.06513558, -0.012686734, 0.11635233, -0.039428618, 0.21562201, -0.07206132, 0.065123, -0.056875434, 0.08877115, -0.10216625) * go_2(1.0, 0.0); + result += mat4(-0.03294463, 0.011720216, 0.056083966, -0.05530083, -0.16838011, -0.0026962461, -0.17402422, -0.009680605, -0.0064969915, 0.14410603, 0.090527765, 0.048180934, -0.06482277, -0.17573984, 0.36281663, 0.14240478) * go_2(1.0, 1.0); + result += mat4(0.026252843, 0.01621395, -0.03018171, 0.20843759, -0.05987382, -0.13891932, 0.008612968, -0.03674587, 0.055803657, -0.020272622, -0.12338887, -0.21429133, -0.026188683, -0.08283737, -0.07952566, 0.11333926) * go_3(-1.0, -1.0); + result += mat4(-0.03251504, -0.04554576, 0.012727539, 0.06115098, -0.23113467, -0.21784578, 0.10390341, -0.028863542, 0.1405748, -0.092941806, 0.04094931, 0.26037696, 0.014778488, -0.0012763811, 0.120576814, 0.017626097) * go_3(-1.0, 0.0); + result += mat4(-0.18005073, 0.08914073, -0.19792715, 0.07666369, -0.040389247, 0.06043132, -0.068735644, 0.006061951, -0.09742132, -0.015570641, -0.05810036, -0.06305046, 0.06286483, -0.1669205, -0.15426171, 0.046022687) * go_3(-1.0, 1.0); + result += mat4(-0.045976873, 0.028456753, 0.037186757, 0.05231241, -0.12909305, -0.16277504, -0.0035813665, -0.06294949, -0.04205357, -0.15816367, -0.021810539, -0.108161986, -0.08399507, -0.12965044, -0.00611913, -0.029711436) * go_3(0.0, -1.0); + result += mat4(0.2537032, -0.018604688, 0.16584206, -0.20883793, -0.10245589, -0.06570063, -0.16321684, 0.02899805, -0.1427425, 0.20915249, -0.1761724, -0.09594, -0.10995607, -0.11155546, 0.037878104, 0.028106442) * go_3(0.0, 0.0); + result += mat4(-0.1628865, -0.17466225, -0.14372015, 0.05667306, 0.10472602, -0.018716356, 0.087850116, -0.056246866, 0.083403885, -0.082255535, -0.10299376, -0.1840543, -0.35220358, -0.059505656, -0.21391232, 0.16591822) * go_3(0.0, 1.0); + result += mat4(0.040541083, -0.1146205, -0.021495365, -0.033008795, 0.007970957, 0.007984478, 0.02606323, 0.012668774, 0.12771203, -0.09947922, -0.14149466, -0.1890857, -0.14682727, 0.033072542, -0.11833484, -0.038956877) * go_3(1.0, -1.0); + result += mat4(-0.14274059, 0.08827524, 0.011712704, 0.10902492, 0.060481314, 0.003578728, 0.029129535, 0.08889746, -0.09685511, -0.095264345, -0.13920794, -0.11014531, -0.05436568, 0.060371455, 0.07251505, 0.20626338) * go_3(1.0, 0.0); + result += mat4(-0.07604635, -0.035359483, 0.010230144, 0.030468917, -0.008423673, 0.0273416, -0.10538517, 0.10806335, 0.03605524, -0.082360476, -0.06390322, -0.19094782, -0.10980772, 0.13070256, -0.009116851, 0.094997086) * go_3(1.0, 1.0); + result += mat4(0.06696349, 0.02884076, -0.21400648, 0.10645195, -0.15960447, 0.07844191, 0.09057932, -0.022310507, -0.20641366, -0.20897295, 0.05159085, -0.042257026, 0.16398512, -0.22846761, -0.033591952, 0.3359712) * go_4(-1.0, -1.0); + result += mat4(-0.024236226, -0.13937415, 0.29392216, 0.075087205, 0.07763272, 0.27571923, -0.28625518, -0.37574485, -0.0041614594, 0.051519327, -0.1727601, -0.002199689, -0.32436445, 0.059740037, 0.006543187, 0.11488307) * go_4(-1.0, 0.0); + result += mat4(-0.025740145, 0.10688955, 0.3432225, 0.04467087, 0.033870216, 0.16714002, 0.20819634, -0.11762629, 0.19059974, 0.0661928, 0.022394795, -0.14459209, -0.16684553, 0.08020461, -0.37147745, 0.04065124) * go_4(-1.0, 1.0); + result += mat4(-0.006134667, -0.0031798254, -0.101459935, 0.15463492, 0.039860703, 0.077067874, 0.17671694, -0.06597644, -0.12203232, -0.058787927, 0.008942991, 0.0570718, -0.043793175, -0.06388724, 0.0247615, -0.09814649) * go_4(0.0, -1.0); + result += mat4(0.009333359, -0.10666345, 0.19417302, -0.08021104, 0.071850464, 0.18651992, 0.1487532, 0.03132098, -0.21202543, 0.02972519, 0.028346745, 0.17178747, -0.24139602, -0.18386513, -0.03009887, -0.17363264) * go_4(0.0, 0.0); + result += mat4(0.006349671, -0.0199598, 0.14889078, -0.14921328, -0.08713048, 0.14722322, 0.041971955, -0.019181551, 0.07069949, -0.12362262, 0.08554868, 0.16224997, -0.11218193, 0.3132043, -0.18114331, -0.104602315) * go_4(0.0, 1.0); + result += mat4(0.047690846, -0.26872492, 0.2183612, 0.19340567, -0.06084255, 0.04798949, 0.19492827, 0.14699973, -0.07016259, 0.14654481, -0.06714773, 0.07936776, 0.073397264, -0.10646918, -0.13238135, 0.07208961) * go_4(1.0, -1.0); + result += mat4(0.07382223, -0.044347115, -0.032497067, -0.02002406, 0.18200569, -0.09839878, -0.0027670355, -0.032592446, -0.05297432, 0.11200702, -0.019955616, 0.112369545, -0.2748285, -0.139697, -0.26332188, -0.303972) * go_4(1.0, 0.0); + result += mat4(-0.23713836, -0.003925555, 0.16436225, 0.15221255, 0.1077621, -0.027760457, 0.0059113647, -0.11066059, -0.0980858, 0.011830199, 0.040253483, 0.06447465, -0.0827841, 0.04048125, 0.04551489, -0.12471252) * go_4(1.0, 1.0); + result += mat4(0.010833946, -0.058524415, -0.19618602, -0.11400699, -0.088038966, -0.08249501, 0.025192872, -0.04508469, -0.017629553, 0.10654934, 0.007814974, 0.041299284, 0.054442752, 0.14059617, 0.09760092, -0.060198124) * go_5(-1.0, -1.0); + result += mat4(-0.16173755, 0.14454803, -0.036523324, 0.016083395, -0.04597214, 0.019925527, 0.10551423, 0.07915449, -0.09191786, 0.040694106, 0.079085656, 0.04860138, -0.00920608, 0.015785221, 0.08149557, -0.070038155) * go_5(-1.0, 0.0); + result += mat4(0.09396598, -0.27780503, 0.057351794, 0.17856738, 0.06403465, -0.019479418, 0.13132542, 0.09766009, -0.13038878, 0.106342256, 0.19923963, -0.107940085, -0.11207263, 0.07427199, 0.122141175, -0.17083314) * go_5(-1.0, 1.0); + result += mat4(-0.0129763335, 0.029884486, -0.1591489, 0.05743726, -0.10154112, -0.05951815, 0.038755298, 0.31987077, 0.041023176, 0.15760195, 0.020455543, 0.117823385, 0.008611401, 0.10392111, -0.029049959, -0.00561999) * go_5(0.0, -1.0); + result += mat4(0.11115114, 0.13910228, -0.15370879, 0.14353245, -0.106912665, 0.16457058, -0.0007093892, -0.16065751, 0.12172275, -0.0071658283, -0.13790236, -0.05790294, 0.0258849, 0.047155324, 0.028826248, 0.077854194) * go_5(0.0, 0.0); + result += mat4(0.04222945, 0.016645031, -0.22052032, -0.108474314, -0.037527397, 0.1508435, 0.13960642, 0.051745985, 0.17182018, -0.0071819094, 0.13896792, 0.12522686, 0.1307583, 0.09315921, 0.031736225, -0.24318463) * go_5(0.0, 1.0); + result += mat4(0.12233872, 0.16193391, -0.045825243, -0.021991767, -0.06857775, 0.019997157, 0.26207915, 0.017674582, 0.14816906, -0.011254348, 0.11932189, -0.06385669, -0.08113471, 0.13287768, -0.008416972, -0.039866585) * go_5(1.0, -1.0); + result += mat4(0.15459004, -0.029546147, -0.20761466, -0.12011381, -0.09814943, -0.12983616, 0.0019625768, 0.086729765, 0.22380745, 0.112912305, -0.073421806, -0.061414655, -0.00015528004, -0.10514693, 0.0449276, 0.1197672) * go_5(1.0, 0.0); + result += mat4(0.031599533, -0.0699447, 0.10802751, -0.011152619, 0.08078543, 0.10828058, 0.10941837, -0.07911565, 0.16324246, -0.034676578, 0.04017893, 0.01809475, -0.0054880627, 0.027349245, -0.041267768, 0.041391887) * go_5(1.0, 1.0); + result += vec4(-0.022754392, 0.009821446, 0.06426939, -0.052443504); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!SAVE conv2d_10_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.31697825, -0.38101152, 0.26027805, 0.19195847, -0.15098146, 0.17915927, 0.263392, -0.108211316, 0.004631585, -0.06989657, 0.057514362, 0.013759571, -0.06416892, 0.033370133, -0.04808954, -0.1563251) * go_0(-1.0, -1.0); + result += mat4(0.15827416, -0.17950794, 0.16834997, 0.13073751, 0.030396005, 0.040662624, 0.16062944, 0.041357074, -0.13926722, -0.06929913, 0.10808029, -0.06798461, 0.10745701, -0.102971874, -0.06641405, 0.0885879) * go_0(-1.0, 0.0); + result += mat4(0.017569518, -0.074986644, -0.0381504, -0.108356364, -0.028105393, 0.107422166, 0.010693419, -0.03790183, -0.056355134, -0.17228265, 0.19153535, 0.014339309, -0.072250925, 0.25570604, 0.06766601, 0.10274542) * go_0(-1.0, 1.0); + result += mat4(0.11808023, 0.03209569, -0.047605, 0.10232121, -0.089450955, 0.22296266, -0.031239472, 0.12547736, -0.13355453, 0.09658202, 0.14639929, 0.1722445, -0.16578807, -0.01587181, -0.06775275, 0.106690586) * go_0(0.0, -1.0); + result += mat4(-0.08015724, -0.09917064, 0.17005561, -0.11093009, -0.033904083, -0.18723048, -0.42410555, -0.34870258, -0.024956835, -0.057636626, -0.17249386, 0.3452565, -0.0781917, 0.048283495, -0.1849922, 0.10712763) * go_0(0.0, 0.0); + result += mat4(-0.19845031, 0.018594265, 0.11669769, 0.04427017, -0.13347605, 0.14735079, -0.20751207, -0.08490434, -0.077883884, -0.17200643, 0.03127422, 0.11106135, -0.04682848, -0.04392586, 0.11629085, -0.03191463) * go_0(0.0, 1.0); + result += mat4(-0.035416074, 0.032688126, -0.034218192, -0.35819814, -0.07167647, -0.032766674, -0.09849224, 0.27033108, -0.040135793, 0.11793038, 0.024326177, 0.056732934, 0.0072507905, -0.15076852, -0.007368895, -0.07758195) * go_0(1.0, -1.0); + result += mat4(0.03677586, 0.088763975, 0.04954433, -0.047844727, -0.07487822, -0.06698103, 0.12568145, -0.22909173, 0.1671084, -0.17893419, 0.09722236, 0.20345661, 0.057767022, 0.044742733, 0.06905004, -0.010992711) * go_0(1.0, 0.0); + result += mat4(0.0028451576, -0.27325574, 0.14329389, -0.07025869, -0.09781529, 0.0151023185, 0.08696752, -0.056844577, -0.19665222, 0.09358589, 0.16416575, 0.06988374, 0.16515698, 0.09760437, 0.023626767, 0.16473217) * go_0(1.0, 1.0); + result += mat4(-0.01080354, 0.014449004, 0.11467091, -0.07119837, 0.18900962, -0.06401898, -0.025841001, 0.13663737, -0.04860565, 0.15505394, 0.11083383, -0.06831929, -0.12395706, 0.04564376, -0.132784, 0.095948376) * go_1(-1.0, -1.0); + result += mat4(-0.009644828, 0.05351468, -0.086626254, -0.07883177, 0.12082235, 0.16186416, 0.20026602, -0.12537873, -0.02765183, -0.19664048, -0.14943156, 0.17649364, -0.15099925, -0.16448402, 0.04770359, 0.08525748) * go_1(-1.0, 0.0); + result += mat4(-0.07529481, 0.057762332, 0.02256763, 0.0037007954, 0.052606575, 0.008619477, 0.035252705, -0.060551647, 0.03680644, 0.1457205, 0.0970469, 0.00867666, -0.0931654, -0.046189044, -0.118787736, 0.059376143) * go_1(-1.0, 1.0); + result += mat4(0.024567254, -0.07128407, -0.02618071, -0.16522972, 0.02537496, 0.09393943, -0.018046979, -0.12497053, 0.041589152, 0.028847594, 0.072174646, -0.12484334, -0.096903354, 0.07245438, -0.03219862, 0.037360255) * go_1(0.0, -1.0); + result += mat4(0.05599119, -0.0027604182, -0.004961665, -0.1297362, 0.10879746, 0.14088875, -0.031004267, -0.016735828, 0.07093551, 0.024946349, 0.16840066, -0.10094298, -0.04150052, 0.09933387, 0.09332617, -0.121228844) * go_1(0.0, 0.0); + result += mat4(0.099246845, -0.17000747, -0.17089754, 0.0021521626, 0.046584304, -0.037944607, 0.1009471, 0.110904016, 0.17920195, -0.00022254961, 0.07443117, 0.07490046, 0.1700909, -0.18371364, -0.15320961, -0.0344897) * go_1(0.0, 1.0); + result += mat4(0.10543544, 0.04469465, 0.14627467, -0.07649682, -0.082381524, 0.12919065, 0.090079635, -0.07820535, -0.06769879, -0.12625079, -0.06946243, -0.19333136, 0.02998107, 0.01594043, 0.12332583, 0.015775004) * go_1(1.0, -1.0); + result += mat4(0.025815854, 0.015107419, -0.045278236, 0.13242702, -0.059958965, 0.031560495, 0.047686167, 0.064922616, 0.09818797, -0.07938157, -0.08586279, 0.079509474, -0.031728156, 0.052335043, 0.046583798, 0.17072229) * go_1(1.0, 0.0); + result += mat4(-0.07827454, -0.033509843, 0.054832056, -0.011652403, -0.029872715, -0.13623856, 0.013034195, -0.009600983, -0.08374398, 0.0022505643, 0.042340405, 0.050227124, -0.072084844, -0.044353593, 0.06991293, -0.024949703) * go_1(1.0, 1.0); + result += mat4(0.08938938, -0.092218116, -0.016011834, 0.038319822, 0.12462916, 0.30430344, -0.2225195, 0.23016618, 0.16917962, -0.10025298, 0.03197825, -0.0028935818, -0.20949106, 0.16084236, 0.02389285, -0.07628905) * go_2(-1.0, -1.0); + result += mat4(0.008811933, -0.07407284, 0.06164061, -0.08511243, 0.23705618, -0.04852394, -0.09615244, -0.14999956, 0.14771207, -0.31061637, 0.053693004, 0.12648372, 0.13281338, -0.052495755, -0.10527891, 0.055210527) * go_2(-1.0, 0.0); + result += mat4(-0.002706158, -0.08600029, 0.067195736, 0.11638961, 0.22492133, 0.21856707, -0.07640264, -0.06916772, 0.06080084, 0.11333604, 0.06812178, -0.033994764, 0.18698989, -0.0062931813, -0.07839693, -0.19759217) * go_2(-1.0, 1.0); + result += mat4(0.016470285, -0.08823432, 0.22680223, 0.09997554, 0.23114151, 0.19813643, -0.35361916, 0.2194339, 0.11047473, 0.068083756, 0.067214124, 0.43412095, -0.012517998, 0.15817562, 0.041793827, -0.12873247) * go_2(0.0, -1.0); + result += mat4(0.072530076, 0.13730067, 0.2244758, -0.07199118, -0.052385315, 0.10464238, 0.26556495, -0.2717685, -0.11540168, -0.018752037, 0.025696546, -0.12900795, -0.010386023, -0.020768933, 0.24903738, -0.14111607) * go_2(0.0, 0.0); + result += mat4(-0.24632111, -0.015176092, -0.02656606, 0.009465184, -0.0051622107, 0.14365524, 0.110313326, 0.075529456, -0.041912608, -0.012926297, 0.099115536, -0.043660834, 0.14709431, 0.069978856, 0.19860862, 0.30215213) * go_2(0.0, 1.0); + result += mat4(0.003388868, 0.000683922, 0.025133248, 0.004995937, -0.06642034, 0.028584523, -0.14691937, -0.2014579, 0.15427552, -0.027058927, 0.04456965, 0.084938034, -0.24065961, -0.014348999, -0.093859546, -0.032467082) * go_2(1.0, -1.0); + result += mat4(-0.067999065, -0.061825316, -0.056987073, 0.0009880592, -0.014163033, -0.30605268, 0.22628185, 0.01192761, -0.08495571, 0.17559315, -0.17546391, -0.0027795131, -0.289151, -0.41655365, 0.11138813, -0.18327911) * go_2(1.0, 0.0); + result += mat4(-0.032702215, 0.072819114, -0.06573772, -0.023648093, -0.28138083, 0.0492584, 0.17402509, -0.04257587, 0.109756455, 0.086533375, -0.017961387, 0.02175586, -0.12014975, 0.0101643065, 0.34295502, -0.04737776) * go_2(1.0, 1.0); + result += mat4(-0.043654937, 0.030818325, 0.009349365, 0.0058960635, 0.075968295, 0.10992966, -0.056467474, -0.053309787, -0.020969287, 0.13869311, 0.118167736, 0.20124547, -0.071703844, 0.16065824, 0.0333816, 0.16069882) * go_3(-1.0, -1.0); + result += mat4(-0.00913058, 0.11581215, -0.08088577, 0.048499383, -0.002100561, 0.14013395, -0.021854091, 0.022357881, -0.007194664, 0.2258521, 0.28041685, 0.035750967, -0.17555529, -0.06302401, 0.006144002, 0.073763065) * go_3(-1.0, 0.0); + result += mat4(0.13105561, 0.033134516, -0.123544686, 0.036164157, 0.081316054, -0.09048299, -0.034898795, -0.04975392, -0.118228555, 0.0013148085, -0.024866905, -0.07593515, -0.058713235, 0.081549294, 0.09502267, -0.06489622) * go_3(-1.0, 1.0); + result += mat4(-0.013302538, 0.14520672, -0.041146558, 0.08169293, 0.1506187, 0.062507726, 0.19582897, 0.05240332, 0.015582799, 0.08783006, 0.016972601, -0.23824452, -0.056192238, -0.087197326, 0.0045260703, -0.012997719) * go_3(0.0, -1.0); + result += mat4(-0.074937195, -0.018988643, -0.07370074, 0.048774365, 0.07236563, 0.0904083, -0.10467449, 0.10507359, 0.12723474, -0.1263123, -0.17705469, -0.15779553, -0.23850663, -0.119912334, 0.21794695, 0.19370297) * go_3(0.0, 0.0); + result += mat4(-0.04097957, -0.0038975494, 0.11273524, -0.049562607, -0.041399803, 0.013795214, -0.07912852, 0.06913985, -0.039762158, 0.031136844, -0.22443683, -0.07978295, 0.15926225, -0.021239735, 0.02987538, 0.0073201153) * go_3(0.0, 1.0); + result += mat4(-0.00022499492, 0.07021377, 0.10080298, -0.049646243, 0.08742822, -0.05083212, 0.11067444, 0.0028296155, -0.06948983, -0.032108277, -0.17148562, 0.031176677, 0.028853005, 0.06482861, 0.0068417406, 0.20317557) * go_3(1.0, -1.0); + result += mat4(0.11648821, -0.17146581, 0.067954056, 0.08905258, -0.08075704, 0.019719714, -0.11522013, 0.07268729, 0.0639498, 0.19816676, 0.014075983, -0.032495353, -0.017302783, 0.001971279, -0.03852454, 0.13213885) * go_3(1.0, 0.0); + result += mat4(-0.043073803, 0.013491542, -0.0071037943, 0.104073495, 0.02311169, 0.058454588, -0.036697295, -0.048574958, -0.02161516, 0.10554709, 0.07252144, 0.013570617, -0.08058747, -0.050845098, 0.11659161, 0.12994757) * go_3(1.0, 1.0); + result += mat4(-0.065163076, 0.19974495, -0.4120684, 0.07145881, 0.113002166, 0.23591681, 0.09600776, -0.12980238, -0.032298863, -0.09617708, -0.09807077, -0.019956803, -0.0144692, -0.11556348, -0.080140986, -0.088292986) * go_4(-1.0, -1.0); + result += mat4(-0.012835261, -0.04646276, 0.072318554, -0.08490823, 0.1648558, -0.15578964, 0.07145768, 0.12143512, 0.007787767, 0.07922046, -0.10203864, -0.15637778, 0.17195338, -0.16184372, -0.01940918, -0.0037627215) * go_4(-1.0, 0.0); + result += mat4(-0.118128635, -0.06761304, 0.20045926, -0.11828058, 0.022446023, -0.09117082, 0.11077834, 0.12605691, -0.094919816, -0.016070768, -0.025274863, 0.13070245, 0.14234897, -0.080053166, -0.14352201, 0.24688406) * go_4(-1.0, 1.0); + result += mat4(-0.038446598, 0.06076558, 0.011793446, -0.027539631, 0.12532312, 0.12770405, 0.05115926, 0.07202868, 0.00048553053, -0.20094085, 0.14294891, 0.27486032, 0.09690127, -0.19488129, -0.010087613, -0.32277402) * go_4(0.0, -1.0); + result += mat4(-0.03640304, -0.03347442, -0.14699876, 0.084367014, -0.0931957, 0.0046109143, -0.10012045, -0.21788213, -0.22289619, -0.15080798, 0.053079627, 0.058909237, 0.0033036254, -0.266638, 0.15794982, 0.15606833) * go_4(0.0, 0.0); + result += mat4(-0.16570765, -0.19292961, -0.040884703, 0.0350054, 0.044223823, -0.05094823, -0.10369617, -0.026184212, -0.07026344, 0.08071905, -0.05532503, -0.105882615, 0.11906692, -0.12926123, 0.18500324, 0.09285109) * go_4(0.0, 1.0); + result += mat4(-0.30376035, -0.015966324, -0.080935225, -0.054857124, 0.008181847, -0.051866602, 0.086870745, -0.205586, -0.13184556, -0.03217006, 0.029946566, -0.10589564, 0.045322973, -0.1656244, -0.08579307, -0.121582575) * go_4(1.0, -1.0); + result += mat4(-0.06772616, -0.14879958, -0.17823575, 0.020676576, -0.04157187, -0.019993478, -0.026832247, -0.22187601, -0.12282354, -0.101527624, 0.10540906, -0.09816911, 0.01171376, -0.35307917, -0.21599512, -0.12673624) * go_4(1.0, 0.0); + result += mat4(0.13506149, -0.12476234, -0.23067783, 0.0016245812, 0.27068454, 0.085986294, 0.08674341, 0.07736311, 0.04183122, 0.09630597, 0.005955931, -0.033355173, -0.19212, -0.2707448, -0.18517534, -0.035879433) * go_4(1.0, 1.0); + result += mat4(-0.0151614295, 0.047397353, 0.0923022, 0.08485078, 0.15618569, -0.11042138, 0.12418296, -0.07967247, 0.053651772, 0.015027734, 0.048835948, 0.07711154, 0.020557769, 0.023958597, 0.04587901, -0.0014006038) * go_5(-1.0, -1.0); + result += mat4(0.038551513, -0.10045045, 0.06231501, 0.043190606, 0.011727592, 0.10791629, 0.022111481, -0.053163722, 0.11845128, -0.102105886, 0.08789077, -0.0027942352, -0.08893058, 0.008466707, 0.011015023, -0.047280762) * go_5(-1.0, 0.0); + result += mat4(0.013820725, 0.1256963, 0.041195784, -0.057415746, -0.07633132, -0.025274424, 0.029755162, -0.046797376, -0.037444938, -0.09385259, 0.14993298, 0.040402364, 0.057619866, 0.0044342144, 0.044209216, 0.13005155) * go_5(-1.0, 1.0); + result += mat4(0.07646884, 0.18639803, -0.021711063, 0.021434348, 0.11517055, 0.010340496, -0.0018932755, -0.3739696, 0.1309672, 0.08240308, 0.08870368, 0.09622062, -0.07567563, -0.08575518, 0.12712875, 0.16571298) * go_5(0.0, -1.0); + result += mat4(-0.028878238, -0.06821328, -0.048233025, 0.010556409, 0.08252249, 0.12659778, 0.10306397, 0.041443437, -0.008534995, -0.08196783, -0.13689299, 0.048229158, 0.12889823, 0.12517701, -0.06344265, 0.11288182) * go_5(0.0, 0.0); + result += mat4(0.20085302, 0.024324976, 0.012985146, 0.045487225, -0.14292689, 0.091915675, 0.030304266, -0.007919423, -0.09057523, -0.13942213, 0.22375956, -0.15821122, 0.13392857, 0.06950518, -0.009899817, -0.19455001) * go_5(0.0, 1.0); + result += mat4(-0.18937646, 0.13056205, -0.09389302, -0.06861626, 0.030355467, -0.07237441, 0.079272114, -0.018099891, -0.057733692, 0.14460595, -0.068894215, 0.073404275, -0.005731954, -0.16851021, 0.029365558, 0.04029561) * go_5(1.0, -1.0); + result += mat4(-0.11247864, -0.026352342, -0.26439467, 0.021711655, -0.17112786, 0.09201832, 0.058435153, -0.18282679, -0.058647767, -0.0882594, -0.09513095, 0.046603747, 0.118426494, -0.06860188, 0.14646193, -0.10118678) * go_5(1.0, 0.0); + result += mat4(-0.08203177, 0.049650684, 0.11541628, 0.07473622, -0.06572682, -0.018375592, -0.0739239, -0.08190655, -0.012673694, 0.0003337712, 0.041397918, -0.047579113, -0.13510825, 0.025625594, -0.035801806, -0.045355853) * go_5(1.0, 1.0); + result += vec4(0.03802586, 0.06033134, 0.0405485, 0.00039835402); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.2216899, -0.006199309, -0.14865121, 0.06256912, 0.082141966, 0.069441915, -0.064958416, -0.014999604, -0.017270254, 0.054063573, -0.30066323, 0.09460075, 0.17069338, -0.26000282, 0.026078973, -0.0024098607) * g_0; + result += mat4(0.22918217, 0.2753827, -0.2260137, 0.0074888375, 0.007864308, 0.01738929, 0.036404576, 0.15125586, 0.12692557, -0.1064573, -0.105954304, 0.17095445, -0.295937, 0.2284073, -0.28089303, 0.17836742) * g_1; + result += mat4(-0.23949356, -0.20830329, 0.043005105, 0.11848222, 0.26292896, 0.13052817, 0.14105777, -0.14028162, 0.033770017, -0.12098709, -0.19063175, -0.020637099, 0.032703582, -0.31454226, 0.07559202, 0.067997165) * g_2; + result += mat4(-0.26934767, 0.25418487, 0.2089665, -0.15689164, 0.068669625, -0.19087234, 0.034052055, -0.038685646, 0.037284948, 0.14673525, -0.001882231, 0.07179596, -0.054052413, 0.2954734, 0.108455196, 0.21742904) * g_3; + result += mat4(0.24180835, 0.012385412, -0.017178789, 0.032714315, -0.26524556, 0.024244266, -0.226589, -0.0358992, -0.2241718, 0.08004254, -0.017615836, -0.2492002, 0.09387765, 0.18154638, -0.034240507, 0.3605678) * g_4; + result += mat4(0.24151021, -0.014141217, -0.1259467, -0.19366209, -0.07166293, 0.08856931, -0.08999051, 0.31848234, -0.07388433, -0.16038652, 0.28902727, 0.2382835, -0.15296587, -0.12924191, 0.16233487, 0.05408346) * g_5; + result += mat4(-0.18532315, 0.116318375, -0.043276392, -0.20643523, -0.1317004, -0.025412546, -0.32449946, 0.08039049, -0.18457016, -0.015615943, -0.01645252, 0.21732457, 0.082662076, 0.1900878, -0.11705433, 0.14767131) * g_6; + result += mat4(0.052993804, -0.11595191, 0.32436988, -0.003765943, 0.2296748, 0.119828835, -0.019125028, -0.3126433, -0.039699726, -0.24760635, 0.08949547, -0.012501165, 0.33296522, -0.349697, -0.081094205, 0.061596226) * g_7; + result += mat4(-0.033869196, 0.12660468, 0.12152309, -0.18401411, 0.1442463, 0.18430543, 0.22487932, 0.29795903, 0.17951487, -0.24413475, -0.13472381, 0.3147198, -0.22021247, -0.15316834, 0.013162168, -0.20238425) * g_8; + result += mat4(-0.0015613904, -0.09523476, 0.024224702, -0.17930624, -0.061623972, 0.06495367, 0.3776854, -0.17299566, -0.36212873, 0.13202415, 0.07052771, -0.1219512, 0.29942214, -0.011110212, 0.36104754, 0.0010065075) * g_9; + result += mat4(0.16467105, 0.29388088, 0.13385788, 0.118168965, 0.15695275, -0.2269201, 0.097460486, -0.04286567, 0.020316202, -0.07753041, -0.18018067, -0.111885116, -0.17371373, 0.04722513, 0.2188871, 0.1295067) * g_10; + result += mat4(0.2567296, 0.0027146419, -0.18108767, -0.10636566, -0.04075492, 0.08977396, 0.27601838, 0.041642547, -0.29131287, -0.0026349663, 0.16847563, 0.29684088, 0.23944439, -0.12667872, -0.31902757, -0.023768846) * g_11; + result += mat4(-0.12111429, 0.046077378, 0.07920395, -0.3619861, 0.0030046673, -0.21324079, -0.14134064, 0.07692796, 0.2308601, 0.050601542, -0.20067136, 0.1312576, 0.078878105, -0.07905382, 0.04887801, 0.11589316) * g_12; + result += mat4(0.18035689, 0.022012187, -0.05441432, -0.13895841, 0.1792498, 0.06579118, -0.3518265, 0.19284686, -0.36724597, -0.19384578, 0.052024953, 0.069351286, -0.17106277, 0.01428955, -0.022695465, -0.03882866) * g_13; + result += mat4(0.12341931, 0.21374431, 0.14095145, 0.11081035, -0.1377048, 0.2957615, 0.2647214, -0.21324296, 0.18657272, -0.16867872, 0.13558641, -0.14022234, -0.00384067, -0.19601567, -0.20603377, 0.006892211) * g_14; + result += mat4(0.05891213, 0.17766091, -0.11099863, -0.10597074, 0.4759035, -0.20892517, -0.35479382, -0.057822235, -0.10161365, -0.11828349, -0.021581944, 0.057930104, -0.46801752, -0.25330284, 0.30126703, -0.31744412) * g_15; + result += vec4(0.011156243, 0.004168819, 0.082229175, 0.043994825); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf1 +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.137003, -0.06089221, -0.108805895, 0.27130327, -0.3015222, -0.26373127, 0.019133324, 0.035202216, 0.040255867, 0.09030984, -0.46218738, -0.3097094, -0.057662863, 0.123317555, 0.037645355, 0.010423522) * g_0; + result += mat4(0.29102653, -0.17060617, 0.31592718, -0.15487169, -0.09719322, 0.08212171, -0.24112037, -0.5323616, 0.050776903, 0.26745227, -0.0123307025, -0.0076298076, -0.044822518, -0.15961778, 0.26758936, 0.019300641) * g_1; + result += mat4(0.19517086, -0.2878986, 0.12765801, -0.12057966, 0.27521843, 0.028182628, 0.32267106, 0.035355434, -0.065272234, -0.015919037, 0.38220987, 0.14314096, 0.052418232, 0.07207548, -0.41493666, -0.03195114) * g_2; + result += mat4(0.18309553, -0.11183888, -0.052814357, -0.08971906, -0.14353213, -0.20144752, -0.20325397, -0.16143575, 0.028960846, -0.16557908, 0.266044, -0.2373641, 0.12750591, -0.11190832, 0.35028338, 0.17638433) * g_3; + result += mat4(0.058721025, 0.21000905, -0.2719825, -0.16923684, 0.2887994, 0.08877727, -0.1274528, 0.12557751, -0.09804875, -0.37839252, -0.1465434, -0.1059692, 0.07212408, -0.101579584, -0.16375211, -0.09519384) * g_4; + result += mat4(-0.145749, -0.15073515, -0.2661711, -0.21265043, -0.3345085, -0.16820145, 0.07732321, 0.13837157, 0.014605319, -0.14113256, -0.3269443, -0.100293055, 0.114504874, -0.4271041, -0.17389913, 0.0033216716) * g_5; + result += mat4(0.022264633, -0.19477129, 0.050657783, -0.08318149, -0.5125155, 0.030831251, 0.110084355, -0.25779435, 0.08368584, 0.48425493, -0.28335044, 0.23433922, 0.31263804, -0.12789254, -0.14072786, 0.10106589) * g_6; + result += mat4(0.007650675, -0.082783565, -0.1599306, 0.22329025, -0.01190027, 0.09498623, -0.06526687, -0.074669816, 0.13880949, -0.0060707824, -0.044009406, 0.15161307, -0.121638715, 0.012903123, 0.047266923, -0.41495043) * g_7; + result += mat4(0.1315474, 0.2878135, -0.03521026, 0.31479505, 0.4425801, 0.22921802, -0.19864602, -0.0049938424, -0.39346734, 0.09232505, 0.20387846, 0.08173493, -0.2582244, -0.23351125, 0.04481434, -0.105453715) * g_8; + result += mat4(-0.10668876, -0.026544912, 0.19446668, 0.0045490777, -0.024656052, -0.11874863, 0.21377616, 0.16957945, 0.36561254, -0.19234993, -0.16987774, 0.05442733, -0.13925838, -0.09912278, -0.06849117, 0.2862709) * g_9; + result += mat4(0.33045495, -0.13048914, -0.023560356, -0.21611182, 0.031752963, 0.14722162, -0.18900181, -0.214494, -0.014231522, 0.23605579, 0.04047805, 0.4060913, -0.13969432, -0.20286381, -0.29891747, -0.043839972) * g_10; + result += mat4(0.12433207, 0.20156589, -0.16986352, 0.07386095, -0.08681933, -0.055620465, -0.043641977, 0.25392216, -0.19010517, -0.018021587, -0.040169913, 0.3845108, -0.18094495, -0.07285529, 0.1848976, -0.24628341) * g_11; + result += mat4(-0.038218584, 0.1562106, -0.14935517, 0.14979756, -0.24085392, -0.32680586, -0.015209841, 0.31288582, 0.15819284, -0.084411524, -0.18117775, 0.16964395, 0.29338664, -0.020204993, 0.011733066, -0.03798886) * g_12; + result += mat4(-0.020065956, -0.043856975, 0.016091857, 0.19466555, 0.16528654, 0.049655683, -0.3676622, -0.14080617, -0.094320625, 0.27908608, -0.084430434, -0.07656003, 0.19461128, 0.11947404, -0.05046522, -0.12625407) * g_13; + result += mat4(-0.013265381, -0.015804514, -0.12068759, -0.06364535, -0.040848896, -0.07602193, -0.04744431, 0.29088646, 0.1358165, 0.010972456, -0.04270195, -0.091147564, -0.2690454, 0.23030208, -0.39135924, -0.22463588) * g_14; + result += mat4(0.20590256, 0.098045684, 0.3285928, 0.04094028, 0.12415101, 0.244203, 0.048238404, 0.17298737, 0.22513592, 0.048016686, -0.11171281, 0.12644528, -0.40468216, -0.02186692, -0.09637657, -0.20869099) * g_15; + result += vec4(-0.01212462, -0.018702446, -0.0063916473, -0.015887083); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf2 +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.06816948, 0.34817252, -0.046539452, 0.0051957658, -0.1393289, -0.123660676, -0.28295487, -0.09683893, -0.3166085, 0.112649016, 0.016630042, 0.12213537, 0.048850413, 0.10865108, 0.36645818, -0.1570077) * g_0; + result += mat4(0.16992034, 0.15695556, 0.23111318, -0.07952356, 0.008467285, -0.11592582, -0.18852152, 0.11257074, 0.24210866, 0.1062648, -0.101493195, 0.04611632, -0.13289067, -0.07632904, 0.012860103, -0.08678244) * g_1; + result += mat4(0.19332299, -0.06392618, -0.18013911, 0.23211008, -0.0025107847, 0.4468814, -0.15807462, -0.27148855, 0.24238719, 0.16024797, -0.22240195, 0.2425211, 0.008685379, -0.43995225, 0.28782377, -0.04508348) * g_2; + result += mat4(-0.038411126, -0.0034189979, -0.10616163, -0.22397435, 0.005768774, 0.13181472, 0.091235116, 0.07068676, 0.08932033, 0.025967117, -0.053367026, -0.22340903, -0.13413511, 0.24192514, -0.011392121, -0.09885669) * g_3; + result += mat4(-0.13691483, 0.058308467, 0.14866434, 0.005773672, -0.16254735, -0.03150588, 0.16304344, 0.31798756, -0.22399272, 0.033883456, -0.09658691, -0.12437203, -0.117079385, 0.21686973, -0.037619635, -0.085622996) * g_4; + result += mat4(-0.24666454, -0.06097481, -0.08042751, -0.09151835, -0.09213628, 0.06706758, -0.12596707, 0.05328458, 0.25016794, -0.21868211, 0.22890028, -0.16557315, 0.036212686, 0.13603954, -0.20226133, -0.22868301) * g_5; + result += mat4(0.022882584, -0.023618432, 0.08065757, 0.33173925, 0.07162631, -0.010860303, 0.15222527, -0.21064946, 0.023574507, 0.06347729, -0.2955436, 0.31633475, -0.3643237, -0.087610714, -0.089636534, 0.13809934) * g_6; + result += mat4(-0.22458415, -0.01961852, -0.014363966, -0.2820657, -0.20567393, 0.106780864, -0.43547606, 0.3259588, 0.42431846, -0.30789465, -0.053756483, 0.18392731, -0.43784657, 0.23359884, 0.25319567, -0.1464313) * g_7; + result += mat4(0.06667747, 0.011182004, 0.26176485, -0.15575507, -0.017922953, 0.0014675539, -0.13763407, -0.086996995, -0.00082739035, 0.03939667, -0.09286956, 0.29952076, 0.014103506, 0.10058367, 0.16165632, 0.23478027) * g_8; + result += mat4(-0.1966405, 0.11404606, -0.12005759, -0.22895505, -0.0848272, 0.021871557, 0.044186037, -0.111861885, -0.16986093, -0.24633476, 0.07282808, -0.26975635, 0.34241816, 0.030470898, -0.09903839, -0.22579415) * g_9; + result += mat4(0.10059369, 0.010142443, 0.061046213, 0.6807189, 0.005402132, -0.21700516, 0.16900781, -0.09973772, -0.025505878, 0.14216411, 0.14366129, -0.02743741, 0.09240224, 0.055595424, -0.22342968, 0.32391673) * g_10; + result += mat4(-0.24940865, -0.042881966, -0.19815244, -0.05011009, 0.32227826, 0.07563262, -0.22649106, 0.10700333, -0.14117172, 0.1359497, -0.14451554, 0.34859756, 0.060239617, 0.09917812, 0.13169186, 0.077682465) * g_11; + result += mat4(-0.0714192, 0.12607583, -0.3341241, 0.18375745, -0.18943295, 0.11634349, 0.06633747, -0.13485552, 0.045528308, 0.2432545, 0.26417813, 0.0074096527, 0.004411052, -0.5647283, 0.021793056, -0.1910634) * g_12; + result += mat4(0.04678379, 0.15781826, -0.14137928, -0.065010436, 0.1379615, -0.07252597, -0.05457498, 0.049137864, 0.054244712, -0.24069838, -0.11444052, 0.27642834, 0.19889133, 0.31845504, -0.102143094, 0.088378325) * g_13; + result += mat4(-0.1163185, 0.19226453, -0.1896929, -0.30681732, -0.013604632, -0.12468549, 0.018667353, 0.09807849, 0.030277459, 0.18578297, 0.14520812, 0.43598676, 0.24981564, 0.22188906, -0.12707953, 0.35956743) * g_14; + result += mat4(-0.1817424, 0.27081814, -0.16284765, 0.033412658, -0.29831278, -0.1345311, 0.27491164, 0.14552177, -0.054520354, -0.2996891, -0.1279112, -0.64904505, 0.049450837, -0.021562194, -0.6366078, 0.15545636) * g_15; + result += vec4(0.019361967, -0.009793055, 0.03647491, -0.010136049); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!SAVE conv2d_13_tf +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.18203236, 0.08024887, -0.036568414, 0.13316368, -0.04578262, -0.06611782, -0.006320991, 0.19218548, 0.21009454, -0.08195536, 0.02459481, 0.037244156, -0.09028578, 0.025431598, 0.118399516, -0.11004066) * go_0(-1.0, -1.0); + result += mat4(-0.057694096, 0.016725041, 0.09517554, -0.063389495, -0.15092854, -0.17499524, -0.023841592, -0.0021040211, -0.15481879, 0.058758404, -0.11097904, -0.026721174, 0.0025346193, 0.05679149, 0.0072498247, -0.13605994) * go_0(-1.0, 0.0); + result += mat4(-0.029078262, 0.009836967, 0.07132015, 0.06620542, -0.21533649, 0.13504961, -0.026253965, 0.15687846, -0.041120164, -0.11824143, -0.03505001, -0.069189556, -0.020444538, -0.040636882, 0.104192354, 0.02525567) * go_0(-1.0, 1.0); + result += mat4(-0.0033649271, 0.11870954, -0.29426005, 0.06678275, -0.21843383, -0.06478074, 0.055388454, 0.03360907, 0.15619075, 0.03552764, -0.004492958, -0.11098848, 0.0945473, -0.12231036, 0.060498584, -0.017200515) * go_0(0.0, -1.0); + result += mat4(0.11771511, 0.19074214, 0.2556847, -0.00011035888, -0.06266651, -0.18949944, -0.08458407, -0.4617736, 0.049839392, 0.0028800126, 0.112179466, -0.23129073, 0.07304365, 0.08169297, 0.010470617, -0.10990468) * go_0(0.0, 0.0); + result += mat4(0.2365061, -0.011560716, 0.040669534, 0.05682574, -0.108832434, 0.108204864, -0.016406072, -0.35809964, 0.19385669, 0.011194286, 0.022534747, -0.18770002, 0.040628985, -0.106064685, -0.12965748, -0.11940811) * go_0(0.0, 1.0); + result += mat4(-0.07578536, 0.055741407, -0.07985701, -0.08520933, -0.119309366, -0.001639899, -0.045735355, 0.060324576, -0.04602573, -0.067629695, -0.024497611, 0.11022731, 0.0866483, 0.023369456, 0.092412636, -0.15647933) * go_0(1.0, -1.0); + result += mat4(0.1151201, -0.06150153, -0.007215896, -0.027420595, -0.27713504, -0.30414173, -0.25002155, 0.04579516, 0.07746921, -0.039378557, -0.0007037489, 0.05171079, 0.04729991, -0.24362347, -0.03316277, -0.029248973) * go_0(1.0, 0.0); + result += mat4(0.08882578, -0.089215234, -0.027231896, 0.09565371, -0.040585488, -0.0666667, -0.10971792, -0.18664278, 0.08676577, 0.011609924, -0.11474831, -0.0032087977, -0.14733344, -0.013885521, -0.0600112, -0.028661741) * go_0(1.0, 1.0); + result += mat4(-0.16421804, 0.13640842, -0.053869005, -0.105430946, 0.33498198, -0.19186987, -0.044760693, 0.12338264, 0.04087762, 0.35624924, 0.16211961, -0.16837841, -0.21358813, 0.07136877, 0.09507147, 0.15890902) * go_1(-1.0, -1.0); + result += mat4(-0.3021354, -0.3319794, 0.070228204, 0.1157857, -0.23864768, -0.124694765, -0.035166927, -0.2196196, 0.11144565, 0.15449396, 0.31777796, 0.23201036, 0.36269313, 0.0791044, -0.14027423, -0.10298774) * go_1(-1.0, 0.0); + result += mat4(0.0045441133, 0.14908041, -0.04037237, 0.012396483, -0.41045487, -0.049013153, -0.25163352, -0.18674599, -0.020136787, -0.04309944, 0.16324212, 0.20724443, 0.0013537789, 0.10984782, -0.050586786, 0.07564281) * go_1(-1.0, 1.0); + result += mat4(-0.35524195, -0.08884062, -0.061092835, 0.0016606712, -0.18841584, -0.28330895, 0.110710636, -0.20210983, 0.01599891, -0.019640112, -0.06881855, -0.2822387, 0.16723692, 0.42387784, 0.17316435, 0.014779502) * go_1(0.0, -1.0); + result += mat4(-0.14352255, 0.2557878, 0.14022757, -0.09769558, -0.08192019, 0.4160667, 0.20182422, -0.29740554, -0.16924635, 0.044684824, -0.21592674, -0.04393559, -0.44846448, -0.2268265, -0.15033214, -0.1552571) * go_1(0.0, 0.0); + result += mat4(-0.46804324, -0.05876729, 0.0023225946, -0.1399195, -0.12917824, 0.12800436, 0.5672086, 0.42298177, -0.25502345, -0.15043756, -0.010454711, -0.16799574, 0.1695203, 0.31919575, 0.090758204, -0.03608345) * go_1(0.0, 1.0); + result += mat4(-0.20859653, -0.025662629, 0.11013811, 0.021071844, -0.21565554, -0.08014497, -0.041803278, 0.15999684, -0.09659372, -0.2930284, 0.22263159, -0.058361106, -0.06474458, -0.18948506, -0.22297342, 0.002085207) * go_1(1.0, -1.0); + result += mat4(-0.25466987, 0.07562997, -0.046997566, 0.01815494, 0.015587753, 0.19885786, 0.17028151, -0.20973559, -0.13089986, 0.056037027, -0.16056974, -0.09570157, 0.36515233, 0.2177508, -0.19389395, 0.042368103) * go_1(1.0, 0.0); + result += mat4(-0.09177028, 0.029719152, 0.035980605, -0.111842036, -0.14203559, -0.0016779151, -0.23984708, -0.24259119, -0.32218066, -0.16303101, -0.042665064, 0.018674236, 0.132396, -0.07117317, -0.11266681, -0.25140917) * go_1(1.0, 1.0); + result += mat4(-0.2254921, -0.089444794, -0.03250626, -0.002422312, -0.07599525, 0.06057337, 0.09297158, -0.13625564, -0.05718329, 0.1393445, -0.14238319, -0.035561938, 0.10357985, 0.14509755, -0.05125032, 0.071264446) * go_2(-1.0, -1.0); + result += mat4(0.14345558, -0.13649228, 0.07141237, -0.31665677, -0.106410414, -0.024022767, 0.022847228, -0.066274576, 0.27855787, 0.27377915, 0.100737795, 0.2585287, 0.065262236, 0.3338305, 0.013705893, 0.15107758) * go_2(-1.0, 0.0); + result += mat4(0.24887003, 0.27924842, 0.011750549, 0.02100809, -0.060978264, 0.09022114, 0.10060977, -0.117189266, -0.064989, 0.050291102, 0.02154075, 0.07428455, 0.0128874695, -0.0824151, -0.0955003, 0.1240542) * go_2(-1.0, 1.0); + result += mat4(0.09787086, -0.038460266, -0.012216873, 0.020269781, -0.14274825, -0.10365878, 0.107120685, 0.005830931, 0.18160833, -0.039512586, 0.054537058, -0.10175313, 0.2583083, 0.12110453, 0.11164319, -0.097267024) * go_2(0.0, -1.0); + result += mat4(0.04403219, -0.06616097, -0.1881836, -0.17728293, -0.30001318, 0.14179994, 0.077847786, 0.009201645, 0.2055038, 0.10847946, 0.034566265, 0.0823046, 0.016860636, -0.029249087, -0.16692844, 0.15714505) * go_2(0.0, 0.0); + result += mat4(0.01654197, -0.005030059, 0.15659711, 0.029457249, -0.10084003, -0.17541635, 0.20056525, 0.11890777, 0.041007854, -0.021843065, -0.047474306, 0.02461869, 0.09578964, -0.054728534, -0.022951778, 0.1384323) * go_2(0.0, 1.0); + result += mat4(-0.17401876, 0.0050307186, -0.14960738, -0.06744025, -0.026341015, -0.015185451, 0.097973764, 0.01230041, 0.043848213, -0.022325305, -0.01173514, -0.12744233, -0.1192904, -0.019170178, 0.16593695, -0.11961721) * go_2(1.0, -1.0); + result += mat4(0.16905174, -0.05465901, -0.10304148, 0.06422409, -0.06595216, 0.032311443, 0.06506821, 0.06866468, 0.12749052, 0.2812222, 0.10223055, -0.009964554, 0.10145132, 0.05452548, 0.21845295, 0.060436632) * go_2(1.0, 0.0); + result += mat4(0.009076048, -0.075771615, -0.010236168, -0.049228482, -0.009111011, 0.0032872239, 0.030809326, -0.021389242, -0.13207865, -0.20758687, 0.06795314, 0.16716966, 0.022448925, 0.005127875, 0.14822717, 0.1543517) * go_2(1.0, 1.0); + result += mat4(0.15177163, -0.059483033, -0.061815593, -0.048359588, 0.08666249, 0.01303385, -0.0797276, 0.00045918894, 0.044986565, -0.16032507, 0.001627205, -0.11240742, 0.36031052, 0.3453977, 0.20082399, -0.0872419) * go_3(-1.0, -1.0); + result += mat4(0.20732729, 0.29925603, -0.027490204, -0.07813189, -0.16492629, 0.13322815, 0.0031292376, 0.041497275, -0.08320837, 0.10200068, -0.17992872, -0.06903506, 0.12075557, 0.10240156, 0.17685287, -0.07302424) * go_3(-1.0, 0.0); + result += mat4(0.09832397, 0.072229534, -0.038651302, 0.23663157, -0.049382553, -0.11816951, -0.095177956, -0.0063895187, -0.22133054, 0.027618079, -0.010867105, 0.20221426, -0.055768233, 0.123813964, -0.04770652, 0.031318672) * go_3(-1.0, 1.0); + result += mat4(0.19019139, -0.0055707553, 0.26110023, 0.053353935, -0.09224678, 0.103274055, 0.054068115, -0.028470352, -0.050636273, 0.044128064, -0.1790452, -0.01937518, -0.22987902, 0.13224003, 0.06837358, -0.21524249) * go_3(0.0, -1.0); + result += mat4(-0.06441057, -0.14875272, 0.1966193, -0.19311902, 0.116319604, -0.015221862, 0.22331011, -0.12665007, 0.1492529, -0.060963593, -0.13987945, -0.00267954, 0.17791282, -0.017524656, 0.009128157, -0.19969128) * go_3(0.0, 0.0); + result += mat4(-0.15118724, -0.02174076, 0.18955654, 0.004134554, -0.074481554, -0.022116778, -0.23729491, -0.21471047, -0.17819612, 0.13824348, -0.0189012, 0.2410327, 0.122907236, 0.115833536, 0.07078602, 0.1497625) * go_3(0.0, 1.0); + result += mat4(-0.0030512493, -0.004724951, 0.13259876, 0.009409425, -0.09696517, -0.12920079, -0.13467522, -0.05229473, -0.03711706, -0.038291495, -0.1493357, 0.09193146, -0.11654958, -0.1384159, -0.0809269, 0.12138653) * go_3(1.0, -1.0); + result += mat4(-0.111716144, -0.033208963, 0.19639781, -0.28904846, 0.043729085, 0.016957026, -0.078926295, -0.19079417, 0.06363828, -0.019629745, 0.058766138, -0.120303996, -0.15203112, -0.16788657, -0.15019903, -0.20598294) * go_3(1.0, 0.0); + result += mat4(0.09737031, 0.19906493, 0.31577814, 0.09887659, -0.10737645, 0.03927124, 0.008865094, 0.030515334, -0.03767332, 0.19419806, 0.052343797, -0.12595782, 0.018560758, -0.004252203, 0.12685028, -0.19064935) * go_3(1.0, 1.0); + result += mat4(-0.107926846, 0.05654491, 0.039178263, -0.022938857, -0.055884767, 0.01403891, 0.040060706, -0.0876108, -0.08530536, 0.035486717, -0.1397322, -0.111439094, 0.3098693, 0.031957068, -0.1323169, 0.036736827) * go_4(-1.0, -1.0); + result += mat4(-0.042637993, -0.13947937, -0.06313642, -0.013281999, -0.07746704, -0.0033614477, 0.062081654, -0.028974544, -0.09252038, 0.23787987, -0.03051402, 0.08857487, -0.10345242, 0.08111023, 0.012858327, 0.025468932) * go_4(-1.0, 0.0); + result += mat4(-0.057991188, 0.06572571, -0.17195612, -0.18226011, 0.13167764, -0.029910656, 0.07416073, 0.011874738, 0.020921603, 0.1790944, -0.02713754, -0.04678265, 0.0025504003, -0.07831189, 0.0022889362, 0.17452945) * go_4(-1.0, 1.0); + result += mat4(-0.08273035, -0.06628758, 0.09288723, 0.17525311, -0.015099176, -0.02920585, 0.01664239, 0.16360165, -0.058821842, 0.023668878, 0.13803177, 0.05805197, -0.033553623, -0.020296576, -0.2126249, 0.054712847) * go_4(0.0, -1.0); + result += mat4(0.11607657, 0.09721635, 0.076664194, 0.107737765, -0.18090104, -0.09323497, 0.1018825, 0.025112988, -0.037965916, 0.07314205, 0.16523585, -0.16451308, 0.011332593, 0.05381852, 0.053742763, -0.051402804) * go_4(0.0, 0.0); + result += mat4(0.08998201, -0.09690652, -0.090980336, 0.21645999, -0.1421605, 0.017344419, -0.080088496, -0.1686495, 0.13406368, 0.004237983, 0.028970357, -0.015848784, -0.07229926, -0.08199748, 0.14972275, 0.11688227) * go_4(0.0, 1.0); + result += mat4(-0.10923993, -0.006186229, -0.0059918985, -0.056261536, 0.12305135, 0.07601222, 0.015556293, 0.039497726, 0.004694121, 0.03006972, -0.11686323, -0.1083031, -0.053210545, 0.06765771, 0.1847543, 0.12722884) * go_4(1.0, -1.0); + result += mat4(-0.15110816, -0.114151604, 0.06755774, 0.1535812, -0.0055134855, 0.124444366, 0.116650686, 0.015837835, -0.13255565, -0.023659749, 0.012672263, -0.014328633, -0.25721112, 0.03517644, 0.07895924, 0.017762167) * go_4(1.0, 0.0); + result += mat4(-0.0048434106, -0.15848884, 0.07007013, -0.0040173456, 0.12461628, -0.006840197, 0.054776177, 0.030113375, 0.011075732, -0.12137928, 0.039907288, 0.041261338, -0.03539033, -0.010571816, 0.17591824, 0.07626049) * go_4(1.0, 1.0); + result += mat4(-0.09215494, -0.047397707, 0.020372266, -0.03961589, -0.2969749, -0.23441714, 0.041512486, -0.23838238, 0.15105574, 0.030688843, 0.10364508, -0.037372112, 0.24514282, 0.11799978, -0.25672802, -0.05064504) * go_5(-1.0, -1.0); + result += mat4(-0.22321941, -0.22637981, 0.12784286, -0.15949993, -0.1747607, 0.019964136, -0.101212226, -0.14332725, -0.0040852833, 0.13991846, -0.121760346, -0.074741244, -0.14598946, 0.017030315, -0.21471639, 0.023562988) * go_5(-1.0, 0.0); + result += mat4(-0.025941253, -0.085331805, 0.006736805, 0.080889955, -0.06974209, -0.20366986, -0.2243817, -0.18153073, -0.0024152526, 0.047323234, 0.03407195, 0.016644841, -0.0060426793, -0.1146607, 0.11816627, -0.09477427) * go_5(-1.0, 1.0); + result += mat4(-0.11221949, -0.016993113, -0.028873868, 0.30510077, -0.10090775, -0.56358117, -0.2178131, -0.3253011, 0.05903533, 0.23069671, -0.040006876, -0.2242038, -0.10916342, -0.038909998, -0.081489064, 0.06539624) * go_5(0.0, -1.0); + result += mat4(-0.059550002, -0.07048971, 0.08075795, 0.07341893, 0.08720143, -0.08745607, -0.28628471, 0.004085622, -0.059510656, -0.07080941, -0.17805275, 0.010445313, 0.08262345, 0.14971328, 0.086313516, 0.4270992) * go_5(0.0, 0.0); + result += mat4(-0.25829327, -0.25821465, -0.025910528, -0.1256417, -0.32173184, -0.012251011, -0.31182033, -0.17723739, 0.05439974, -0.0018167618, 0.06974409, -0.024687098, 0.05163715, 0.011181801, 0.060559656, 0.18320788) * go_5(0.0, 1.0); + result += mat4(0.048055783, 0.030901788, 0.00014199098, -0.015663194, -0.27395675, -0.1374474, 0.055429243, 0.09942114, -0.037852254, -0.033255827, 0.022523645, 0.04666904, 0.16599222, -0.02004086, 0.21397619, -0.11373404) * go_5(1.0, -1.0); + result += mat4(-0.23445702, -0.06371413, -0.08418856, 0.06907252, 0.20780656, -0.13808912, 0.018577656, -0.0046262434, 0.09724245, -0.114031695, 0.022883652, 0.107561804, -0.010228, 0.0033352477, 0.12142382, -0.035946723) * go_5(1.0, 0.0); + result += mat4(0.058773417, -0.06617424, -0.13876313, -0.007238876, -0.17449926, 0.14130935, -0.17021981, 0.09241347, 0.018518088, 0.085447155, -0.14430992, 0.035074715, -0.02784563, 0.15934117, -0.00036379634, -0.040411446) * go_5(1.0, 1.0); + result += vec4(-0.0258258, -0.014007201, -0.0051976936, 0.023554644); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x72 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv0ups +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.13381699, 0.17966591, -0.0866034, -0.15282217, -0.2567282, -0.38080183, 0.10091161, 0.32172382, -0.064547606, -0.08161712, -0.033353675, -0.0019234467, 0.027740227, 0.2277078, 0.06759129, -0.22699283) * g_0; + result += mat4(-0.122093834, 0.20621717, -0.08142724, 0.16477586, 0.4863212, -0.24032472, 0.00055996195, 0.50562304, 0.028121283, 0.56215876, 0.014577866, 0.06960302, -0.15964645, 0.14526807, -0.026474794, -0.02554081) * g_1; + result += mat4(-0.101622745, 0.022395104, -0.14208415, 0.09508211, 0.20496333, 0.11371943, -0.024784304, 0.09519364, 0.09233463, 0.03117482, -0.15262024, -0.16956648, -0.2432608, -0.12877996, -0.13148616, 0.043081667) * g_2; + result += mat4(-0.28086182, -0.15846887, -0.058738094, -0.181707, -0.018847898, 0.05197007, 0.09753647, -0.19714034, -0.062462445, -0.17604835, 0.1268098, 0.15334699, 0.05568127, 0.16867611, -0.1686486, 0.28579247) * g_3; + result += mat4(0.20252296, -0.27393097, 0.06578763, -0.12628423, -0.10547165, 0.030740904, -0.19412865, -0.034658667, -0.09081653, -0.19958268, 0.16915733, 0.056093715, 0.10596871, -0.1742866, 0.004890009, 0.19515324) * g_4; + result += mat4(0.32077652, -0.004434404, -0.12717858, -0.13544025, -0.450333, 0.04072708, 0.04316467, -0.2578049, -0.011932833, 0.18828999, 0.12326536, -0.016795376, -0.0054118615, 0.061453808, 0.28015187, 0.13463841) * g_5; + result += mat4(0.08942177, -0.0021343376, 0.23693596, -0.15413974, -0.32839566, -0.010874302, 0.033822935, 0.038676813, 0.18920816, 0.019961799, -0.055697896, -0.042120066, 0.10387084, 0.047366753, 0.17899887, -0.071130194) * g_6; + result += mat4(0.0010777018, -0.071475126, -0.16156957, -0.08781234, -0.08701292, 0.29084647, -0.34587428, 0.06969663, 0.036580127, 0.106745, -0.1534462, 0.106189206, -0.22758242, 0.20691736, -0.018554503, -0.056773946) * g_7; + result += mat4(0.14826776, -0.03700497, 0.066144, 0.023859248, -0.16708666, -0.23908418, 0.062023632, -0.16278005, 0.06265635, -0.039846748, -0.13978398, -0.027952245, 0.099891245, 0.18235108, 0.00991435, 0.0423486) * g_8; + result += mat4(-0.17948383, -0.082759954, 0.10543674, -0.18660031, 0.0664088, -0.06837087, 0.04300318, 0.011699623, -0.017162412, -0.030628186, 0.07547453, 0.20060332, -0.19182351, 0.04914753, 0.040280227, -0.12417484) * g_9; + result += mat4(0.04074336, -0.041421015, -0.0372822, 0.1647266, -0.13993263, 0.0029407872, -0.39398977, -0.1778468, 0.21322449, 0.19134948, -0.02818874, 0.226251, 0.06352273, 0.12620094, 0.24221466, 0.20657893) * g_10; + result += mat4(-0.094572894, -0.046852108, 0.21210444, -0.14082888, -0.050984625, -0.13443558, 0.24309658, 0.1573335, 0.21941295, 0.11642813, 0.09684106, -0.08597462, 0.15502413, -0.018070435, 0.1292023, -0.1557655) * g_11; + result += mat4(0.025215387, 0.16676718, -0.068287216, 0.017648363, 0.2779579, 0.059142746, -0.096408874, 0.22609432, 0.20962398, 0.24879578, 0.023621194, -0.29692242, 0.02272032, -0.33367038, 0.15799981, -0.1699598) * g_12; + result += mat4(0.08816878, 0.076234445, -0.06670541, 0.024926793, -0.12045598, 0.07443171, 0.22081238, -0.044906516, -0.02448027, -0.22067828, -0.016471038, 0.21801811, 0.16276583, 0.34590468, -0.18487914, 0.0554853) * g_13; + result += mat4(-0.085593045, -0.002904318, 0.049969394, -0.06931361, -0.10722648, -0.08499641, -0.25997344, 0.22650665, 0.069008924, -0.23179024, 0.20058884, -0.20237185, -0.1606995, 0.0758858, -0.09946377, -0.21032207) * g_14; + result += mat4(0.11210572, 0.055658836, 0.041539114, 0.078087114, -0.060435783, 0.08331363, 0.07356019, 0.0842336, -0.38098484, 0.020591227, -0.45916042, 0.06386686, -0.19348675, 0.041925576, -0.23489946, -0.06711732) * g_15; + result += mat4(-0.13721304, 0.15404533, 0.102312036, -0.090253755, 0.08690545, 0.034154307, 0.07618604, -0.15844443, -0.10604342, 0.2646684, -0.08719668, 0.19331944, 0.10569642, -0.058054388, -0.0110980645, -0.08710107) * g_16; + result += mat4(0.15567884, -0.11589786, 0.031855986, 0.005064268, 0.37850487, 0.30044487, -0.2604449, 0.061879188, -0.015081224, -0.30759993, -0.07571204, -0.0077929585, -0.08748009, 0.22546281, -0.06377379, 0.435342) * g_17; + result += vec4(0.0053140894, -0.030208405, 0.04287835, -0.059097543); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x72 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv0ups1 +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.0029025443, 0.021165721, 0.0070854356, 0.065646365, 0.024636142, 0.20825955, -0.0917655, -0.1706138, -0.1827491, 0.13347003, 0.12910214, 0.06828513, -0.026193604, -0.11451178, 0.0356333, -0.08071165) * g_0; + result += mat4(-0.027241195, 0.032633994, -0.17490302, -0.5352789, -0.15734912, 0.24714436, 0.029301014, 0.212763, -0.051665317, -0.06783505, -0.040298667, 0.041179724, 0.49683514, -0.35600296, -0.2518442, -0.22965558) * g_1; + result += mat4(-0.061614696, -0.10463926, 0.1594845, 0.036565617, 0.09095015, -0.15100475, -0.09242749, 0.08335822, -0.027257469, 0.4156707, 0.03322028, 0.19685929, 0.07034635, 0.10204465, 0.03657313, 0.30920812) * g_2; + result += mat4(-0.20980133, -0.054115582, 0.031674277, -0.040077273, -0.21693806, 0.016596884, -0.029177245, -0.16924128, 0.121823296, -0.0004884774, 0.10644538, 0.068388954, 0.16517027, -0.12152921, -0.18299894, -0.17595083) * g_3; + result += mat4(-0.0006413291, -0.09444853, 0.15260176, 0.23014128, 0.09366626, 0.06947763, 0.04956597, -0.07001088, -0.075523324, 0.16111156, -0.11700089, 0.14528704, -0.096407495, 0.027310526, -0.03946532, 0.15302157) * g_4; + result += mat4(0.086061105, -0.0070365844, -0.25230658, 0.18741103, -0.36380208, -0.058444727, 0.25284684, -0.26617825, -0.08817363, -0.12209333, 0.011920746, -0.031505488, -0.21880315, 0.16762236, 0.14518112, 0.13803998) * g_5; + result += mat4(-0.17088315, -0.06812898, -0.085912764, 0.25550255, -0.26439053, 0.23305506, 0.18186118, -0.06186191, 0.0075220955, 0.10316868, 0.04271979, -0.008083033, -0.19474187, -0.06700431, 0.15485007, -0.11886802) * g_6; + result += mat4(0.06597312, -0.31435877, -0.08179224, -0.2568261, 0.29904976, 0.21664406, -0.15343861, -0.11589945, 0.12654455, -0.042093027, -0.17231914, -0.26832506, -0.12008876, 0.11483079, 0.10222754, 0.12562539) * g_7; + result += mat4(-0.09949413, 0.01479024, -0.16933955, 0.025359191, -0.2210058, -0.19663176, 0.19453603, -0.111461386, -0.12529027, 0.14243664, 0.122677036, -0.101476125, 0.011010597, -0.014422488, -0.048979994, 0.03657997) * g_8; + result += mat4(-0.06923051, -0.1223873, 0.021781938, 0.1323696, -0.11582021, -0.018292433, 0.07495496, 0.043008957, 0.0070410958, -0.14431225, -0.06380941, -0.17411429, 0.052226365, 0.021460915, 0.097367965, 0.37138346) * g_9; + result += mat4(0.16420697, 0.008790036, 0.17185563, -0.025144322, -0.108827055, -0.13030754, -0.14254087, 0.05208047, 0.03751449, 0.06774824, -0.07746288, 0.2250457, 0.039049506, 0.101244815, -0.18138403, -0.12212992) * g_10; + result += mat4(-0.05138809, 0.19150224, 0.05698308, 0.015970863, 0.23931703, -0.085039265, -0.18294281, 0.03647365, -0.041568805, -0.2920049, 0.013272974, -0.41181135, -0.08101046, 0.028989056, 0.2952233, 0.16312017) * g_11; + result += mat4(0.093839854, -0.038790308, -0.086285874, -0.17890124, -0.2598202, 0.069419555, -0.0065180454, 0.01453452, -0.090191156, 0.012278203, -0.13148692, -0.025104592, 0.09296121, -0.1833281, 0.074660525, -0.031280298) * g_12; + result += mat4(-0.05336347, 0.08608969, -0.074649446, 0.014608438, 0.22511393, 0.18610351, -0.0029040743, 0.096127085, -0.20254624, 0.14036441, -0.005226189, 0.055212848, 0.20482111, 0.06645607, -0.12018032, 0.062814355) * g_13; + result += mat4(0.13722958, -0.077169575, 0.07269382, 0.20902501, -0.103985704, -0.21184038, -0.12424109, -0.3059887, -0.185413, -0.1964241, -0.14370187, 0.07646031, -0.057924826, 0.28884047, -0.06701312, -0.14548934) * g_14; + result += mat4(0.14129579, 0.12990993, -0.08791828, 0.07986884, -0.006362554, 0.005971629, 0.016816271, 0.075642705, -0.060138028, 0.13658188, 0.0020529197, -0.38745758, -0.16191563, 0.20532359, 0.34441018, 0.0071060034) * g_15; + result += mat4(-0.03236983, -0.08242242, 0.065607354, -0.072457135, 0.024461512, 0.15522943, 0.120296456, 0.052112654, 0.21442589, 0.19565494, 0.06760742, 0.37604833, 0.097620994, -0.002347599, 0.09269131, -0.34238556) * g_16; + result += mat4(0.3276042, -0.17974046, -0.095954694, -0.123248585, 0.08306674, -0.3486506, -0.4620704, -0.40518835, -0.17438394, 0.24350463, 0.05616052, -0.14715664, 0.2078043, -0.007834002, -0.21199054, 0.026597755) * g_17; + result += vec4(-0.015380624, 0.018387195, 0.052286647, 0.055403516); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x1x1x72 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv0ups2 +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.029018598, -0.09923186, -0.1346201, -0.084818475, 0.013764684, 0.054601744, -0.023713779, -0.16826102, 0.038605224, -0.17664196, -0.16562279, 0.14602208, -0.046339583, 0.08062112, 0.20166601, -0.15399997) * g_0; + result += mat4(-0.022488657, 0.28881705, 0.22283012, -0.1935156, 0.22948948, -0.26604095, 0.12130448, 0.35176682, -0.044228308, -0.14734231, 0.07643742, -0.008511517, 0.04313213, -0.03179344, 0.048205808, -0.046295088) * g_1; + result += mat4(-0.2531207, 0.10446124, 0.12730333, -0.13316457, 0.2988587, 0.025091104, -0.00482534, 0.037484948, -0.04006528, 0.14588606, -0.2078635, -0.18636562, 0.112230495, 0.15386717, -0.11122423, 0.1115416) * g_2; + result += mat4(0.058421213, 0.086035125, -0.042249937, -0.22377387, -0.055913106, 0.020280339, 0.10572877, 0.124147646, -0.16199678, 0.25662583, 0.051422223, -0.11681551, 0.3789257, -0.21530285, -0.18586366, -0.2222266) * g_3; + result += mat4(-0.11123776, 0.056422785, -0.20566264, -0.07211227, -0.011873865, 0.30742383, 0.1306618, 0.06808572, 0.068643585, -0.045474447, -0.11596973, 0.0069175013, 0.0331586, -0.013221628, -0.089815594, -0.17750767) * g_4; + result += mat4(0.45630908, 0.11607409, -0.05464286, 0.013246808, -0.28643015, 0.025237702, -0.1445959, 0.05237954, -0.07100623, -0.34417382, 0.13903524, 0.21305767, -0.17371523, -0.13203263, -0.09479281, 0.018392125) * g_5; + result += mat4(-0.018931253, -0.14936836, -0.06770882, 0.10720343, -0.10476732, 0.1157603, -0.2245781, 0.23242487, -0.21631289, 0.12723672, 0.4190526, 0.38829032, -0.192142, 0.034754496, -0.1103798, -0.17207326) * g_6; + result += mat4(0.10311498, 0.08424212, -0.048713315, -0.2784966, 0.034522116, -0.13184515, -0.22852737, 0.003882436, 0.36972147, -0.21263883, -0.3308556, 0.10331102, 0.2462766, -0.12618823, -0.040451203, 0.03362719) * g_7; + result += mat4(-0.0150432745, 0.11757923, 0.23359092, -0.19003578, -0.22206408, 0.15738077, -0.14019541, -0.14201044, 0.19273758, -0.003298494, -0.16530107, 0.17979017, 0.24293105, -0.049160067, -0.14296743, -0.12812854) * g_8; + result += mat4(-0.0020534277, 0.016410163, -0.012038507, -0.0028629426, 0.016464395, 0.0755886, 0.20384903, -0.029324949, -0.13087441, 0.2138074, 0.03701677, -0.1671415, -0.10499825, -0.042930905, -0.007613907, -0.05984843) * g_9; + result += mat4(-0.07029106, 0.05386552, 0.101365924, -0.008048512, -0.090149835, 0.024272785, -0.16436198, 0.2721913, 0.17460534, 0.0034964401, -0.023265982, -0.0120567605, -0.10151709, 0.059922412, -0.13204409, -0.36116782) * g_10; + result += mat4(-0.12569033, 0.08523279, -0.047763485, -0.0025170774, -0.108375974, -0.032045245, 0.232404, -0.24801816, -0.09875204, -0.14990453, -0.10958757, -0.23116525, 0.015989894, -0.09210713, 0.19653663, 0.14138049) * g_11; + result += mat4(0.17831743, 0.04722249, 0.22804007, -0.29099363, 0.29851902, 0.2542661, 0.0067702304, 0.17606215, 0.25847578, -0.3118978, 0.122089565, -0.07010249, 0.014281751, 0.16585219, -0.1659864, -0.30643156) * g_12; + result += mat4(0.19042191, -0.028259574, -0.009187334, 0.21004388, -0.08070036, -0.07838277, -0.023598602, 0.13891627, -0.10481482, 0.05874796, -0.256131, 0.19640857, 0.19515458, -0.07920633, 0.020810237, 0.11040215) * g_13; + result += mat4(-0.093089096, -0.09344762, 0.24232084, 0.21563776, -0.23910145, 0.09092736, 0.12202717, 0.27240792, -0.008079913, 0.07417433, -0.11870247, -0.35385913, 0.107840456, 0.033915944, 0.16016287, 0.023731219) * g_14; + result += mat4(0.21967673, 0.09896617, 0.04236673, -0.20100762, 0.02077549, -0.075936705, 0.008608214, -0.09693712, 0.44249, -0.31763947, -0.027664369, 0.6166134, -0.43993565, -0.025720617, -0.3275949, 0.041507874) * g_15; + result += mat4(0.20305479, -0.06975863, -0.18130508, -0.11641104, 0.119906515, -0.27588886, -0.15420493, -0.1399163, 0.075970694, -0.16776691, 0.05045285, 0.44775927, -0.036058784, -0.28161573, 0.1877619, 0.10209392) * g_16; + result += mat4(-0.4250348, -0.007887921, 0.307136, -0.18842702, 0.30411714, 0.05816079, 0.26664746, -0.007951849, -0.18454021, 0.30914694, -0.34967366, -0.18838291, 0.06042888, 0.1902336, -0.062413342, 0.015706044) * g_17; + result += vec4(-0.0011628491, -0.0046341973, 0.0007886035, -0.04435556); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv0ups +//!BIND conv0ups1 +//!BIND conv0ups2 +//!SAVE conv1ups +//!WIDTH conv0ups.w 3 * +//!HEIGHT conv0ups.h 3 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_3(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_4(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_5(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.04461327, 0.026094772, -0.04326873, -0.022564206, 0.041758694, -0.13209347, -0.022546854, 0.004888482, 0.041229382, 0.078778535, -0.09928822, 0.045134705, 0.07555903, 0.095968306, 0.017260674, -0.16633268) * go_0(-1.0, -1.0); + result += mat4(0.074613005, -0.024822153, 0.006285665, 0.064223155, 0.08983999, -0.04401517, 0.0021585347, -0.05762909, -0.04529031, -0.081778474, -0.006732511, -0.11184791, 0.10299652, -0.23328288, 0.15988354, 0.100146465) * go_0(-1.0, 0.0); + result += mat4(0.035105877, -0.0018613822, -0.10513717, -0.033936206, -0.015839642, 0.036846053, 0.057443213, 0.0151035935, 0.073372714, -0.032272663, -0.10095864, 0.11976275, 0.019719468, -0.03309878, -0.09841568, 0.02204194) * go_0(-1.0, 1.0); + result += mat4(0.030945469, -0.17030734, -0.012849732, 0.015892556, 0.056250833, 0.24895169, -0.13764419, 0.16325791, -0.01160465, 0.006647464, -0.026491588, -0.17801395, -0.02435574, -0.2039599, -0.02686966, -0.026576484) * go_0(0.0, -1.0); + result += mat4(-0.037470777, 0.019415256, 0.09230313, 0.018368619, 0.12947397, 0.055918667, 0.03108532, -0.112716034, -0.18622373, 0.13083778, 0.11290179, 0.02457941, -0.055062827, 0.2621282, -0.47111708, 0.14229195) * go_0(0.0, 0.0); + result += mat4(-0.028525796, -0.044668507, 0.0581049, -0.05924212, -0.16126277, 0.02257456, -0.08723546, 0.0291216, 0.08648604, 0.1816661, -0.10166446, 0.054426763, -0.049978323, -0.014283805, 0.08187003, -0.33347195) * go_0(0.0, 1.0); + result += mat4(0.0660737, 0.07962152, -0.08272859, 0.06791631, -0.055610694, -0.04899803, 0.001302826, 0.034116816, 0.055754438, -0.090739936, -0.058503445, -0.21402411, 0.08279316, -0.017558504, -0.06069706, -0.009158945) * go_0(1.0, -1.0); + result += mat4(0.004801658, 0.19979613, -0.12919085, -0.08680655, -0.07869315, 0.13493058, 0.09466464, -0.06683993, 0.45278597, -0.031217117, -0.36346734, 0.007986247, -0.034918886, -0.06899428, -0.17898467, 0.048572816) * go_0(1.0, 0.0); + result += mat4(-0.058319356, -0.11041357, -0.038064227, 0.008961388, 0.059284043, -0.006377162, -0.08503998, 0.08246113, -0.042524133, -0.009021081, -0.06406861, -0.036977306, 0.015088326, 0.007376721, 0.045255665, -0.048585415) * go_0(1.0, 1.0); + result += mat4(-0.04103631, -0.041285936, 0.032812588, 0.0030869239, 0.04834749, -0.0023517366, 0.01230978, 0.09776701, 0.08415344, 0.20653047, -0.19338459, -0.04812796, -0.084704414, 0.038988277, 0.075450994, -0.08053876) * go_1(-1.0, -1.0); + result += mat4(0.13506958, -0.2392332, 0.07425533, -0.05262753, -0.06849319, -0.0686977, 0.09134643, 0.032770213, 0.0725978, -0.12106999, 0.068602145, 0.0030026592, -0.0808173, 0.06421806, -0.08257931, 0.21460927) * go_1(-1.0, 0.0); + result += mat4(-0.008367152, 0.0035576785, -0.012087096, -0.08389121, -0.01598755, 0.12065467, 0.099018045, -0.14851409, 0.030730573, 0.028257858, -0.08153201, -0.08644078, -0.114632666, -0.03989634, 0.005787138, -0.080551155) * go_1(-1.0, 1.0); + result += mat4(0.063049294, -0.13418451, -0.020768259, -0.12566003, -0.038050238, 0.024393935, 0.040856704, -0.10639481, -0.0021406382, 0.12272091, 0.039621927, 0.009142157, -0.12273027, 0.06595554, 0.03680899, -0.045653462) * go_1(0.0, -1.0); + result += mat4(0.14783141, 0.062921695, -0.2287169, 0.17810576, 0.12781417, -0.23455006, 0.08652726, -0.05671725, -0.0154688135, -0.0757278, 0.028468473, -0.055354204, 0.3387407, 0.06741395, -0.21965146, 0.28021505) * go_1(0.0, 0.0); + result += mat4(0.12927511, -0.083112024, -0.026347974, 0.11680802, -0.046030812, 0.04145888, 0.029390097, 0.07615963, 0.21023202, 0.015840504, -0.03812723, -0.03267151, -0.03871269, -0.009839764, 0.09856007, -0.07423972) * go_1(0.0, 1.0); + result += mat4(0.017651597, 0.020432748, 0.1884304, -0.004845205, 0.009974344, -0.022273665, 0.03930962, -0.035542846, 0.036834106, 0.14699532, -0.099249355, 0.10607033, -0.027745333, -0.0970868, 0.114169724, -0.023726419) * go_1(1.0, -1.0); + result += mat4(-0.028299367, -0.15123722, -0.00423565, 0.06813279, 0.00024022427, -0.025944803, 0.022504266, -0.08420193, -0.20596851, -0.1337249, 0.1062062, -0.01428787, 0.014752737, -0.012875446, 0.030165028, 0.035561644) * go_1(1.0, 0.0); + result += mat4(-0.09437882, 0.088986255, -0.019357264, -0.07609514, -0.11045937, -0.09335526, 0.0051609105, 0.046330493, -0.102482855, 0.16320266, -0.07661479, 0.033833966, -0.06805305, 0.051780142, -0.015298791, 0.010972507) * go_1(1.0, 1.0); + result += mat4(0.0022961323, 0.10782266, -0.06649802, -0.006361161, -0.13554603, 0.032311134, 0.01145253, -0.018523335, -0.051428523, -0.0073554716, -0.11821805, -0.0227195, -0.06375, 0.029970335, -0.038386237, -0.046592798) * go_2(-1.0, -1.0); + result += mat4(-0.0839258, -0.0200528, 0.004925492, -0.035113, 0.08860089, 0.052822098, -0.16518101, -0.052028593, 0.042811155, 0.13656183, 0.06579406, -0.26585788, -0.00531827, -0.12001242, -0.07681884, -0.021055153) * go_2(-1.0, 0.0); + result += mat4(0.0678669, 0.038901877, -0.096601896, -0.081621505, 0.0028282998, -0.04645044, 0.04284913, 0.015117329, 0.104568556, 0.006391826, -0.021010842, -0.036205173, 0.06698969, 0.08495347, 0.065073915, 0.07002784) * go_2(-1.0, 1.0); + result += mat4(-0.041274223, -0.065267585, 0.0070607257, -0.067357324, 0.056948107, 0.04808867, 0.07966329, -0.017361488, 0.030913807, -0.119355716, -0.004582609, 0.050158955, 0.03867934, -0.13543603, -0.0011923639, -0.06866172) * go_2(0.0, -1.0); + result += mat4(0.11586327, -0.047302328, 0.062475067, 0.018575871, 0.12420718, -0.03602303, 0.021922488, 0.16011192, -0.16549775, 0.123044305, 0.065160766, -0.30708137, 0.07341779, -0.12929793, 0.08692529, 0.0007729847) * go_2(0.0, 0.0); + result += mat4(-0.013340411, 0.058056828, -0.028747091, -0.0020311237, -0.1070798, 0.13726988, 0.017587787, -0.06898856, 0.03802266, 0.13165978, -0.035371024, 0.098588474, -0.036178526, -0.1068027, -0.03172579, 0.0816444) * go_2(0.0, 1.0); + result += mat4(0.025470722, -0.010980958, -0.08286821, -0.031260632, -0.0134636145, 0.041295316, -0.09980376, 0.07899825, 0.046056226, 0.17291167, -0.066611394, 0.03685817, -0.020917175, 0.11551815, -0.016370535, -0.003991822) * go_2(1.0, -1.0); + result += mat4(-0.039056864, 0.011015572, 0.014014594, -0.08614736, -0.08130745, 0.045282196, -0.04879853, -0.07139807, 0.09670427, -0.07834781, -0.022022815, 0.053423326, -0.055300128, 0.23542596, -0.11442394, -0.05190056) * go_2(1.0, 0.0); + result += mat4(0.12978806, -0.020104066, -0.032463916, -0.04754379, 0.05811374, 0.029061198, -0.013163837, 0.051058855, 0.04294865, -0.12551701, 0.17822845, -0.16549106, 0.12024249, -0.0790749, 0.035424378, 0.0062358896) * go_2(1.0, 1.0); + result += mat4(0.030824278, 0.06636776, -0.047206167, 0.02480193, 0.071935624, -0.18845995, -0.028480597, -0.10213147, -0.03973547, 0.025171004, 0.016600806, -0.10615915, -0.07395773, -0.050147526, -0.011541545, -0.027081985) * go_3(-1.0, -1.0); + result += mat4(-0.035749037, -0.052818663, -0.020621216, -0.023525307, -0.02461827, 0.3019646, -0.024478583, -0.1398278, 0.17499511, 0.22476715, -0.13090259, -0.05484457, -0.023759075, 0.002843161, 0.014099166, -0.011660793) * go_3(-1.0, 0.0); + result += mat4(-0.008461302, 0.14787683, 0.07476249, -0.035538696, 0.007945418, 0.04992842, -0.2388183, 0.0061813896, 0.016805701, 0.019992555, 0.034271393, -0.040170603, -0.039961495, 0.009210595, 0.07606321, 0.05323195) * go_3(-1.0, 1.0); + result += mat4(-0.017007355, -0.01304119, -0.011782462, 0.043480955, 0.041575707, 0.20513225, -0.16858323, 0.019438695, -0.02795952, -0.032667078, 0.08400571, 0.012488913, -0.025382128, 0.06756553, 0.14349163, -0.012960532) * go_3(0.0, -1.0); + result += mat4(-0.015847925, 0.035881996, 0.09946923, -0.2583748, -0.11036338, 0.02174868, 0.023047017, -0.023119839, 0.0014623358, -0.05400468, 0.1088209, 0.056070726, 0.09849772, 0.106276534, -0.2869582, 0.122843154) * go_3(0.0, 0.0); + result += mat4(0.120457835, 0.0030220735, 0.011593652, 0.04870485, 0.051817082, -0.12444271, -0.0030080245, 0.03186695, -0.119991936, -0.03661239, 0.0462927, 0.047734156, 0.035473768, -0.050326344, 0.048162602, 0.0044394233) * go_3(0.0, 1.0); + result += mat4(0.004526382, -0.040592365, 0.038592715, 0.06312635, -0.012543924, -0.03860053, 0.013131243, -0.11894808, -0.05983815, -0.09653036, 0.14409515, -0.022803063, 0.02864931, 0.014170389, 0.091406494, 0.08613508) * go_3(1.0, -1.0); + result += mat4(0.12344745, -0.034350697, 0.10549495, -0.11843059, -0.041916244, -0.035728436, -0.052881684, -0.07620879, 0.06760638, -0.039527662, -0.006650022, -0.05049626, 0.12109734, -0.005554175, 0.17754045, -0.098896034) * go_3(1.0, 0.0); + result += mat4(0.017840233, -0.0118570635, -0.080244206, -0.14309776, -0.03778345, 0.12812364, -0.011180574, -0.03749929, -0.013458457, 0.028993722, 0.03479446, -0.11635739, -0.01636896, -0.010422004, -0.022923285, 0.013722603) * go_3(1.0, 1.0); + result += mat4(0.0022784397, -0.026745517, 0.07457438, -0.023941608, -0.056146793, -0.012885049, 0.010106243, -0.13570426, -0.055139925, -0.0553148, 0.037558038, -0.015558114, 0.055840485, -0.08124391, -0.013017814, 0.18931141) * go_4(-1.0, -1.0); + result += mat4(0.10672792, 0.129464, 0.1233261, -0.062469885, -0.08835128, 0.17588028, -0.02560139, -0.07349341, -0.08052734, 0.03086464, 0.12930822, 0.107045054, 0.03136081, -0.11335949, 0.09541032, -0.015009924) * go_4(-1.0, 0.0); + result += mat4(0.023294786, -0.17904189, -0.036457974, -0.060965557, 0.088545635, 0.001061151, -0.016771115, 0.082081355, -0.0030623788, -0.05096391, 0.022067994, -0.078540295, -0.12912196, -0.045786213, 0.05568379, -0.16344398) * go_4(-1.0, 1.0); + result += mat4(0.043200932, 0.006267473, -0.081682056, 0.044593308, 0.03179784, 0.20806344, -0.038468197, 0.06644582, 0.01704569, -0.029287282, -0.0036700617, 0.018897371, -0.075105995, 0.09612947, -0.06442493, 0.012179776) * go_4(0.0, -1.0); + result += mat4(-0.21926114, 0.18097721, -0.037700515, 0.016763914, -0.057943042, -0.06129067, 0.04456528, -0.2304425, 0.013301696, 0.11028081, -0.18095498, 0.14712757, 0.2271199, -0.3185643, -0.19932592, -0.08554962) * go_4(0.0, 0.0); + result += mat4(0.0117652705, -0.041661818, 0.029219367, -0.046232816, 0.047820047, 0.068789035, -0.113418594, 0.1141295, -0.027060978, 0.07267708, 0.093252845, -0.049717877, -0.087836266, 0.14460698, 0.10277318, -0.04977497) * go_4(0.0, 1.0); + result += mat4(0.022564596, -0.037228584, -0.065915406, -0.011077084, 0.030235467, -0.04677627, -0.06419004, -0.018991074, 0.034164365, -0.019168181, 0.022525655, -0.029373096, -0.079060145, 0.13279332, -0.08545939, -0.045388315) * go_4(1.0, -1.0); + result += mat4(-0.14000517, -0.08309406, 0.13520917, -0.10369978, -0.016325317, 0.00970006, -0.048059512, 0.1412818, 0.040955327, 0.030759163, -0.108052924, 0.005294165, -0.10046129, 0.16592641, -0.035368618, -0.29051507) * go_4(1.0, 0.0); + result += mat4(-0.09455044, 0.0005962807, 0.0006215668, -0.038142636, -0.03929331, -0.01591621, 0.0056410446, -0.036902174, -0.056509133, -0.10841171, 0.07702632, -0.08160013, 0.040747657, -0.08348532, 0.019081287, 0.020851197) * go_4(1.0, 1.0); + result += mat4(-0.03399592, 0.10141488, -0.0077629937, -0.17129703, -0.025233645, 0.052428465, -0.019579021, -0.072962284, 0.022322712, -0.18443614, -0.00848578, 0.0376278, 0.055581484, 0.06439001, -0.026564457, 0.015072123) * go_5(-1.0, -1.0); + result += mat4(0.11295866, -0.1541795, 0.11074539, -0.12757398, -0.11353885, 0.12023232, -0.07913168, 0.25957996, -0.0064171744, 0.08077023, 0.09673833, 0.008732368, 0.03630595, 0.059769, 0.028521406, 0.029331883) * go_5(-1.0, 0.0); + result += mat4(-0.081345834, -0.06722959, -0.13713932, 0.03613845, -0.084334835, 0.046838246, -0.004890033, -0.08524675, 0.15460378, -0.09410546, -0.058240023, 0.11844812, 0.00092362246, 0.028734036, 0.0028451593, 0.03558664) * go_5(-1.0, 1.0); + result += mat4(0.067000724, 0.08689177, 0.003695697, 0.08341895, -0.08124141, -0.20499983, 0.09505712, -0.07436812, -0.028131844, 0.050506454, -0.107579716, 0.058785282, 0.031196257, 0.021408495, -0.100359544, 0.07999305) * go_5(0.0, -1.0); + result += mat4(-0.16514844, 0.117525734, 0.24123909, 0.09518423, 0.17757961, -0.28094006, 0.081966326, 0.0802129, 0.0011662474, 0.06366135, 0.07578068, -0.08616794, 0.19857462, -0.10196374, -0.13831666, -0.18653043) * go_5(0.0, 0.0); + result += mat4(-0.06649859, 0.0935902, -0.19097336, 0.16118656, 0.2938468, -0.10315292, 0.08256489, -0.06169784, -0.05889727, -0.018046174, -0.17596339, 0.20343648, -0.08962845, -0.027532624, 0.059598826, -0.14278376) * go_5(0.0, 1.0); + result += mat4(-0.0070921015, -0.07634683, -0.066166356, -0.06432544, 0.050059035, 0.20213397, -0.071587585, 0.031234715, 0.10629024, 0.044645656, -0.023101477, -0.022136679, 0.009119783, -0.10172394, 0.024746796, -0.1161207) * go_5(1.0, -1.0); + result += mat4(-0.046572298, -0.06981039, 0.08314394, 0.043344617, 0.1914716, 0.0046652057, -0.0683364, 0.086023554, 0.06213587, -0.0077511827, -0.03336288, 0.1474879, -0.032717533, 0.078666836, -0.001740435, 0.048321523) * go_5(1.0, 0.0); + result += mat4(0.18346673, -0.20763724, 0.05431475, -0.08291483, -0.0073792376, -0.053458065, 0.08561732, -0.103502, -0.06856406, 0.05193988, -0.009717332, 0.06446446, 0.050632656, 0.013681985, -0.02556495, 0.05056843) * go_5(1.0, 1.0); + result += vec4(-0.01824226, 0.05140684, 0.010533643, 0.017739987); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv0ups +//!BIND conv0ups1 +//!BIND conv0ups2 +//!SAVE conv1ups1 +//!WIDTH conv0ups.w 3 * +//!HEIGHT conv0ups.h 3 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_3(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_4(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_5(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.070670135, -0.026429666, 0.09446684, -0.04920855, -0.08720965, -0.022478819, -0.15962029, 0.29240617, -0.10499224, 0.10415364, 0.11922523, -0.08293139, 0.07846739, -0.15612845, -0.19753109, -0.033664245) * go_0(-1.0, -1.0); + result += mat4(-0.10003188, 0.088794544, -0.028137686, -0.1375475, 0.079632774, -0.012540568, -0.092962824, 0.10438857, -0.12865996, -0.040098958, -0.030862473, 0.009116932, -0.14513193, 0.13843827, -0.14862274, 0.27156416) * go_0(-1.0, 0.0); + result += mat4(0.03148634, -0.13966283, -0.022684515, 0.080294125, -0.013548243, -0.01112399, 0.021930493, -0.24562296, -0.029252343, -0.0053704586, 0.088651545, -0.10468119, 0.0077052945, 0.027455118, -0.008439029, -0.08633876) * go_0(-1.0, 1.0); + result += mat4(-0.073491044, 0.11097277, -0.02937573, 0.045977436, -0.015563786, 0.04763272, -0.17349051, 0.02479734, 0.12201058, -0.09606755, -0.064500526, -0.068423286, -0.10828311, 0.0025430934, 0.060595006, 0.10702606) * go_0(0.0, -1.0); + result += mat4(-0.10012673, -0.026187293, 0.039673958, 0.25377232, 0.16539277, 0.015475691, -0.017826023, -0.037547242, 0.27426562, 0.039105, -0.29495236, -0.20741108, 0.3893781, -0.00018520994, 0.18736628, 0.016120607) * go_0(0.0, 0.0); + result += mat4(-0.0902328, -0.035078812, 0.0423949, 0.10428684, -0.012309703, -0.0022217801, 0.12843162, 0.008824024, 0.10457806, -0.13958204, 0.042961385, -0.17798209, 0.13051195, -0.2078117, 0.014258071, 0.27743495) * go_0(0.0, 1.0); + result += mat4(0.0037268966, -0.002057136, -0.086700045, -0.04034686, -0.039582066, -0.05536445, -0.013854305, 0.13898304, 0.08383669, -0.1389377, 0.09724791, 0.27256468, 0.0012985421, 0.026786802, -0.09553305, -0.08505046) * go_0(1.0, -1.0); + result += mat4(0.047094945, -0.15165734, -0.16622189, 0.27696493, 0.04804586, 0.017589863, -0.048407666, -0.1423487, -0.18051605, -0.037678123, -0.083375834, 0.21356659, 0.056051373, 0.058305956, 0.020808164, 0.20114677) * go_0(1.0, 0.0); + result += mat4(-0.06873173, 0.056631878, -0.09389161, -0.026553899, -0.005246827, 0.011163956, 0.0807366, 0.018891184, 0.037806395, -0.08414753, -0.29572666, 0.12225136, 0.028108165, -0.12746434, -0.1242189, 0.06427617) * go_0(1.0, 1.0); + result += mat4(-0.054436807, 0.0463667, -0.3160585, -0.26496625, -0.0016307884, 0.0027304688, 0.13524249, 0.14023106, 0.15203272, -0.0055950717, -0.047067486, -0.1299749, -0.023347244, -0.011924935, 0.04708069, 0.14064) * go_1(-1.0, -1.0); + result += mat4(-0.15567084, -0.03462954, 0.014766895, 0.28104082, -0.015955932, 0.048590813, 0.14149605, 0.016979203, 0.15654798, -0.124170296, -0.000571697, 0.18732761, -0.15969957, 0.036891263, -0.08222836, 0.007162299) * go_1(-1.0, 0.0); + result += mat4(-0.027358167, -0.05515796, -0.21783291, -0.061588667, 0.14288566, 0.034540724, -0.0779948, -0.004935965, 0.087642424, -0.03457867, 0.26657468, -0.08798545, 0.06278833, 0.01650169, -0.15035287, 0.043133624) * go_1(-1.0, 1.0); + result += mat4(0.05577383, 0.058146708, 0.0057744626, -0.043521628, 0.14279243, -0.22507532, 0.0896487, -0.03373711, -0.29882178, 0.12674153, 0.21856095, -0.03654502, 0.09770278, 0.011492664, 0.01397184, 0.11037485) * go_1(0.0, -1.0); + result += mat4(0.14057921, -0.18916433, -0.10062621, -0.19464967, -0.19286343, -0.08279728, 0.0062218676, -0.15246014, 0.0960211, -0.3964747, -0.016336296, 0.028859172, -0.047788087, 0.032031618, 0.054299697, -0.11431765) * go_1(0.0, 0.0); + result += mat4(-0.15350376, 0.1362609, -0.011803502, 0.2660655, -0.037387744, 0.18536955, -0.0015025261, -0.011900626, -0.023042146, -0.15995252, 0.060023192, 0.08954088, 0.07074839, 0.059100557, -0.08593189, -0.045180846) * go_1(0.0, 1.0); + result += mat4(-0.031948235, 0.07176401, -0.007034352, -0.12552954, 0.049458012, -0.07971771, 0.0093457, -0.10731874, 0.07024961, 0.27386668, 0.07679444, -0.28798524, -0.06428793, -0.0057761013, 0.014161652, -0.0065095956) * go_1(1.0, -1.0); + result += mat4(-0.1427731, 0.0833077, 0.13927783, 0.016691789, -0.16832228, 0.10298729, 0.1446675, -0.2656778, 0.0788247, 0.13420862, 0.050337754, -0.08008961, 0.07605825, 0.04659439, -0.054331373, 0.074493684) * go_1(1.0, 0.0); + result += mat4(0.07614274, -0.050090652, -0.066727035, 0.055715825, -0.07636078, 0.08155946, -0.061731443, -0.022193443, 0.057011697, -0.009381379, 0.176684, -0.05981099, -0.04690691, 0.051825907, -0.019666756, 0.0017494732) * go_1(1.0, 1.0); + result += mat4(0.12878093, -0.091072194, 0.03426444, -0.0014821129, 0.04648442, -0.056241687, 0.12965083, -0.2177644, 0.03271057, 0.013664906, -0.27382636, 0.009116637, -0.020398485, 0.026515692, 0.0059792865, -0.10869647) * go_2(-1.0, -1.0); + result += mat4(0.017064014, 0.012380988, 0.015886486, 0.041969348, -0.056818817, 0.057386417, -0.19103225, 0.02042478, 0.022307403, -0.16955635, -0.25923833, -0.19144051, 0.044084065, 0.09931404, 0.08665806, -0.17140177) * go_2(-1.0, 0.0); + result += mat4(-0.034919903, -0.00735085, -0.0040107057, 0.013110185, 0.008756165, -0.11104751, -0.03863784, 0.20081028, 0.008359515, 0.056265604, 0.0035791632, 0.14127707, 0.008306366, -0.061028276, -0.01180833, 0.11239347) * go_2(-1.0, 1.0); + result += mat4(-0.055210557, -0.0047766017, -0.040911432, 0.04214669, 0.015301695, 0.035733294, -0.09534393, 0.3189227, -0.043539703, 0.10847848, 0.052175194, 0.25319937, -0.075755194, 0.07450996, -0.2392008, 0.17029741) * go_2(0.0, -1.0); + result += mat4(0.008697264, -0.062783785, 0.23503996, 0.06680282, -0.10700762, -0.05921618, 0.12575574, 0.12539467, 0.21779932, -0.27365687, -0.08419621, -0.23255387, -0.097952545, -0.33015022, -0.27839977, 0.54275817) * go_2(0.0, 0.0); + result += mat4(0.043178167, -0.07644931, -0.002126049, -0.0041748723, 0.12747553, 0.05624526, 0.08894693, 0.1273868, 0.13564228, -0.029284991, -0.1010155, 0.0144336475, -0.067769796, 0.12993337, 0.23458317, -0.1404509) * go_2(0.0, 1.0); + result += mat4(0.037086505, 0.04712714, 0.00080463936, 0.026554452, -0.032055024, -0.0346718, 0.14792679, 0.025423491, 0.045839246, 0.040022433, -0.010968567, -0.03638554, 0.03469138, -0.048995998, -0.080627054, -0.15703341) * go_2(1.0, -1.0); + result += mat4(0.0022719046, -0.11156194, -0.1660571, 0.07095863, 0.06325309, 0.03638195, 0.011129683, -0.16795434, 0.05859281, -0.050576515, 0.025492875, 0.14741158, 0.16042823, -0.021238782, -0.10693587, 0.062508605) * go_2(1.0, 0.0); + result += mat4(0.04699144, -0.06268154, -0.032550193, 0.1368816, -0.046266492, -0.09626834, 0.035877157, -0.017621659, -0.025884021, 0.016501589, -0.033517126, -0.16266182, 0.0063534426, -0.034565207, 0.107733876, -0.19080792) * go_2(1.0, 1.0); + result += mat4(-0.01089889, -0.046437796, -0.2864276, -0.059123863, 0.010273228, 0.035363402, -0.18365921, 0.002496715, 0.010531512, -0.044639286, -0.14159343, -0.04712995, 0.031355694, 0.041651487, 0.04172989, -0.072659165) * go_3(-1.0, -1.0); + result += mat4(-0.29903612, 0.016968794, 0.2026591, 0.14354537, 0.210121, -0.1271222, 0.11928214, 0.075612746, 0.07222206, -0.113600664, -0.031380497, -0.04970697, -0.040690526, -0.024844045, -0.14514743, 0.10170265) * go_3(-1.0, 0.0); + result += mat4(0.00901007, -0.0077540767, -0.16780637, -0.0772044, -0.08349278, 0.035623573, -0.0036132522, -0.1559422, 0.079474956, -0.024358552, 0.05147624, -0.095216155, -0.001963766, 0.026185913, 0.041633602, -0.068779185) * go_3(-1.0, 1.0); + result += mat4(0.11536367, 0.06698426, -0.019352471, -0.027348887, 0.12543406, -0.017715944, -0.22333942, -0.07524913, -0.023550004, 0.09020137, 0.15082505, -0.019156344, 0.014714152, -0.100751296, -0.10988814, 0.013269792) * go_3(0.0, -1.0); + result += mat4(0.23938964, -0.015321653, -0.085038215, -0.21858668, -0.15793826, -0.1725926, 0.16878416, -0.15579711, -0.21086636, -0.023652412, -0.10312092, 0.047774162, 0.11063097, 0.02804365, -0.049057744, -0.20330532) * go_3(0.0, 0.0); + result += mat4(0.058630574, 0.10365072, -0.112122595, -0.10462442, -0.04204145, 0.0060419035, -0.038622607, -0.22971797, -0.081746876, 0.110261, -0.03279762, 0.10083948, -0.07525642, 0.096350044, -0.15403591, 0.01831559) * go_3(0.0, 1.0); + result += mat4(-0.013126955, 0.11560779, 0.06401061, -0.014257845, -0.078378044, 0.07452937, 0.030035159, 0.07133207, -0.072352365, -0.049404953, -0.2006817, -0.04745451, -0.0645119, 0.0849615, 0.053003483, 0.07766129) * go_3(1.0, -1.0); + result += mat4(0.07683494, -0.47826648, 0.05708172, 0.12041683, 0.18084203, -0.08476069, 0.093064874, 0.016264802, 0.06801874, -0.01283242, -0.13347803, -0.035351828, -0.0011718989, -0.12699558, -0.0240836, -0.08060763) * go_3(1.0, 0.0); + result += mat4(0.0521042, -0.062541164, 0.05483789, 0.14211908, 0.08606814, 0.06433033, -0.23270494, 0.05307593, 0.09299324, 0.04586578, -0.1193637, 0.12056507, -0.06442679, 0.06762315, -0.010547303, 0.031680685) * go_3(1.0, 1.0); + result += mat4(-0.09215318, -0.115724616, -0.061507307, 0.08273653, 0.0265886, -0.092683844, -0.22037667, -0.023114366, 0.028223295, -0.029118685, -0.088996224, 0.1023557, -0.089898214, 0.15436162, 0.16985597, 0.1431367) * go_4(-1.0, -1.0); + result += mat4(0.10560199, 0.13460231, 0.024534458, 0.1370791, 0.16920403, 0.013769043, -0.004941373, -0.22188903, -0.1193022, 0.07823969, -0.097713776, 0.044269208, 0.036816355, -0.11568587, -0.07947363, 0.022213666) * go_4(-1.0, 0.0); + result += mat4(0.002128253, 0.014331295, 0.09004623, -0.12958615, 0.0048723617, -0.072075516, 0.024190098, 0.011900665, 0.038696863, 0.07110043, -0.10347002, 0.082676366, 0.017796163, 0.004747536, 0.11188511, -0.21652836) * go_4(-1.0, 1.0); + result += mat4(-0.051317807, 0.13453357, 0.05310306, -0.033790052, -0.06231268, 0.11130248, -0.075370945, 0.2774124, 0.04305133, -0.045057327, -0.04373203, -0.10055409, 0.042824138, -0.021799369, -0.08762204, -0.16729161) * go_4(0.0, -1.0); + result += mat4(0.08727262, -0.074025065, -0.113067836, -0.07882044, 0.04476854, -0.14519121, -0.0434838, -0.010525559, -0.0425304, 0.106957085, -0.28644025, -0.105096966, 0.12650728, -0.15108573, 0.013723224, 0.5163331) * go_4(0.0, 0.0); + result += mat4(-0.021519013, -0.05317946, 0.0036545463, 0.0003156711, 0.12984163, -0.11362556, 0.061670557, -0.030158816, 0.04674806, 0.16352096, -0.23135264, 0.074876174, 0.0047455966, -0.120593436, 0.032926966, -0.20865184) * go_4(0.0, 1.0); + result += mat4(-0.029197322, -0.09204084, -0.13026133, -0.020570219, 0.043402288, -0.016610064, 0.08961119, -0.09460752, -0.057213686, -0.14044005, 0.080606215, 0.12573113, 0.094055034, 0.06523493, -0.16264567, -0.0716556) * go_4(1.0, -1.0); + result += mat4(-0.020557933, 0.077145614, 0.04620034, 0.22271551, 0.114781894, 0.11590448, -0.03233266, 0.13224865, -0.054499403, -0.01435028, -0.09684464, 0.022300925, 0.16768926, -0.019053463, 0.08804071, -0.14398381) * go_4(1.0, 0.0); + result += mat4(0.0025323853, -0.016476262, 0.12608051, 0.016324151, -0.0035798363, 0.020308342, 0.06474364, -0.042083416, -0.08742628, 0.016960703, -0.120870225, 0.07373239, -0.06463355, -0.018745359, -0.02229239, -0.1039809) * go_4(1.0, 1.0); + result += mat4(-0.008440462, -0.15268475, -0.09420959, -0.07718843, 0.35601637, -0.0010803771, 0.050411247, -0.09859693, -0.008227993, 0.06407621, -0.19121973, -0.15547852, -0.033705134, 0.023920614, -0.12611681, 0.021967601) * go_5(-1.0, -1.0); + result += mat4(-0.24474435, 0.07716706, -0.24876165, -0.18184067, -0.020811914, 0.07414089, -0.21809489, 0.015727887, 0.12278457, -0.08471355, -0.06071567, -0.07017344, -0.064291485, -0.07627711, 0.076017715, 0.2072293) * go_5(-1.0, 0.0); + result += mat4(0.013676314, -0.04966636, 0.06895822, 0.15210962, 0.07330876, -0.034188077, -0.0173066, 0.11160374, -0.12326202, -0.002551885, 0.0015338673, 0.1079974, 0.03733164, 0.077835836, -0.07733004, -0.0058571417) * go_5(-1.0, 1.0); + result += mat4(-0.1854433, 0.02924247, -0.14843488, 0.18941449, -0.17652206, -0.13730201, -0.29041716, -0.12161381, -0.04599312, 0.16662349, 0.045855995, -0.005569671, -0.050993398, 0.019462017, -0.10552683, -0.19930908) * go_5(0.0, -1.0); + result += mat4(0.08246259, 0.2602547, 0.16599776, -0.12149122, -0.048151806, 0.12042248, -0.16163243, 0.00087805535, 0.0536958, 0.05350576, 0.08406917, -0.060227945, 0.19056156, -0.2276745, -0.13755281, 0.39423308) * go_5(0.0, 0.0); + result += mat4(-0.0775391, 0.105803244, 0.08474868, -0.019011196, 0.026801828, -0.036453005, -0.018443616, -0.03005072, -0.10748735, 0.080679856, 0.07718584, 0.07871323, 0.030023575, 0.022230582, -0.090973295, -0.1363233) * go_5(0.0, 1.0); + result += mat4(-0.14770739, -0.09530047, 0.10400556, -0.115337685, 0.14459239, 0.1432794, -0.070606485, -0.053847175, 0.09378594, -0.09445331, 0.088633865, 0.071158156, 0.04437499, -0.04694172, -0.059354205, -0.00041449978) * go_5(1.0, -1.0); + result += mat4(0.016041227, -0.2313572, -0.011389983, 0.030348316, 0.07260269, 0.009828401, -0.06116872, 0.026138552, -0.15607156, 0.042709354, 0.079162516, -0.16348995, -0.019872159, 0.13251646, 0.020712351, -0.16324571) * go_5(1.0, 0.0); + result += mat4(-0.08813695, 0.093021385, 0.019460218, 0.096429825, -0.010391231, 0.0216966, -0.1490125, -0.04100963, -0.024641959, 0.044109546, 0.08043847, -0.03676336, -0.026315603, 0.025947884, -0.10771212, 0.0010732685) * go_5(1.0, 1.0); + result += vec4(0.003290131, -0.0154397, 0.04528908, -0.04218369); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(L)-Conv-3x3x3x16 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv1ups +//!BIND conv1ups1 +//!SAVE MAIN +//!WIDTH conv1ups.w +//!HEIGHT conv1ups.h +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv1ups_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv1ups1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max(-(conv1ups_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv1ups1_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.009692998, -0.008524317, 0.0010432196, 0.0, 0.00057165127, -0.011818117, 0.0014487396, 0.0, 0.0049518407, -0.001888361, -0.013262905, 0.0, 0.05004511, 0.023134997, -0.016969386, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.008501838, -0.001176035, -0.0035942376, 0.0, 0.009015378, 0.011752493, 0.0061198603, 0.0, -0.056669727, -0.035067406, -0.040517025, 0.0, -0.039194923, 0.007251104, -0.0124227265, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.010942934, 0.0100984, 0.0133265015, 0.0, -0.019482462, -0.014820488, -0.021098822, 0.0, -0.02860967, -0.10633767, -0.03296336, 0.0, -0.011277147, -0.007915212, 0.008589044, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.004447993, -0.0019008318, 0.0054705385, 0.0, -0.008042658, -0.0007432871, -0.0091506895, 0.0, 0.010537624, 0.047716837, 0.01504048, 0.0, -0.108882375, -0.06776622, -0.04354868, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.0030183722, 0.007729766, -0.007144855, 0.0, 0.029383881, 0.024865916, 0.028182652, 0.0, 0.16122057, 0.16675095, 0.18204775, 0.0, 0.12284804, 0.031072017, 0.042543165, 0.0) * go_0(0.0, 0.0); + result += mat4(0.0012941018, -0.00043673834, 0.009252594, 0.0, 0.009156994, 0.0138289975, 0.015774839, 0.0, -0.051840767, -0.07687406, -0.069361895, 0.0, 0.017338578, 0.022834148, -0.0025963243, 0.0) * go_0(0.0, 1.0); + result += mat4(0.01646397, 0.0028061832, 0.007990534, 0.0, -0.0073729097, -0.011168949, -0.0024975399, 0.0, -0.0066431006, -0.014508122, -0.005740217, 0.0, -0.06746655, -0.02083968, -0.05371696, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.013606154, 0.0062064505, 0.008410423, 0.0, 0.0038487792, 0.012054022, 0.007878108, 0.0, 0.034913104, -0.008084116, 0.014990575, 0.0, -0.005912989, 0.021872269, 0.055241022, 0.0) * go_0(1.0, 0.0); + result += mat4(0.014251287, 0.0016604483, -0.006772879, 0.0, 0.0028646574, 0.0015996173, -0.002210879, 0.0, -0.0323296, 0.015729006, -0.017242312, 0.0, -0.03718726, -0.03889927, -0.041001298, 0.0) * go_0(1.0, 1.0); + result += mat4(0.007536155, 0.009848646, 0.007846354, 0.0, 0.019176869, 0.019928271, 0.031777207, 0.0, 0.026086887, 0.01971131, -0.017595863, 0.0, 0.012899679, 0.0026994154, 0.008934449, 0.0) * go_1(-1.0, -1.0); + result += mat4(0.017639438, 0.01536491, 0.011161806, 0.0, 0.034244597, 0.025257796, 0.031185368, 0.0, -0.18240982, 0.038758054, 0.13050976, 0.0, -0.0075258785, -0.0034674285, 0.008525112, 0.0) * go_1(-1.0, 0.0); + result += mat4(0.01788933, 0.017623115, 0.020215526, 0.0, 0.0045994874, -0.0031487814, 0.003752946, 0.0, -0.06494309, -0.07747321, 0.06544584, 0.0, -0.004555707, -0.001776991, -0.017493976, 0.0) * go_1(-1.0, 1.0); + result += mat4(0.01359033, 0.02045422, 0.008234278, 0.0, -0.008073938, -0.036093507, -0.0027978886, 0.0, -0.37033105, 0.009709281, 0.28951523, 0.0, 0.003258166, 0.0044517294, -0.003740991, 0.0) * go_1(0.0, -1.0); + result += mat4(-0.036449786, -0.03035285, -0.025356997, 0.0, 0.097153045, 0.10745537, 0.08421458, 0.0, 0.043944303, -0.004867672, -0.15142196, 0.0, 0.007044417, -0.00785739, 0.007504869, 0.0) * go_1(0.0, 0.0); + result += mat4(-0.007951127, -0.008863303, -0.012213915, 0.0, 0.007273406, 0.00944796, -0.002621692, 0.0, 0.2919848, 0.06830943, -0.16119143, 0.0, -0.0033908382, 0.007383878, 0.007847461, 0.0) * go_1(0.0, 1.0); + result += mat4(0.011670784, 0.00805604, 0.013980011, 0.0, -0.032067183, -0.045659855, -0.03957935, 0.0, 0.14678614, 0.014678316, -0.11203954, 0.0, -0.002894618, 0.008089503, 0.0056759617, 0.0) * go_1(1.0, -1.0); + result += mat4(0.008941132, -0.008732514, -0.004122878, 0.0, -0.01872218, 0.0058594598, -0.014218105, 0.0, 0.15922345, -0.00061763515, -0.10605325, 0.0, 0.0059564817, 0.0062196897, -0.0031137357, 0.0) * go_1(1.0, 0.0); + result += mat4(-0.027044835, -0.0113663385, -0.018061407, 0.0, -0.01064461, 0.0004394501, 0.0068360637, 0.0, 0.12218274, -0.025980305, 0.060082816, 0.0, 0.002298275, -0.005121948, -0.0018933173, 0.0) * go_1(1.0, 1.0); + result += mat4(-0.014044151, -0.0055593867, -0.0091519095, 0.0, 0.018282808, -0.054974634, -0.02104256, 0.0, 0.004737865, 0.009833153, 0.0050819647, 0.0, 0.009256364, 0.004517343, -0.0012567915, 0.0) * go_2(-1.0, -1.0); + result += mat4(0.035084303, 0.019331766, -0.006399992, 0.0, -0.08042094, -0.14020248, -0.13438301, 0.0, -0.0014871466, -0.0071605383, -0.0070841024, 0.0, 0.001705956, -0.010914731, -0.0022737188, 0.0) * go_2(-1.0, 0.0); + result += mat4(-0.024562238, -0.025555398, 0.00043982622, 0.0, 0.04687896, 0.062265635, 0.06194832, 0.0, 0.016357735, 0.0056735775, 0.01868422, 0.0, 0.0035063815, 0.0050708377, 0.009102912, 0.0) * go_2(-1.0, 1.0); + result += mat4(0.024276884, 0.031309772, 0.053946678, 0.0, 0.027081756, 0.023922514, 0.051302873, 0.0, -0.005081098, -0.013981954, -0.007141123, 0.0, -0.017242068, -0.00036468913, 0.0071311933, 0.0) * go_2(0.0, -1.0); + result += mat4(0.096000426, 0.12978247, 0.089689955, 0.0, 0.03013154, 0.09065384, 0.010782777, 0.0, -0.009774296, -0.010487119, -0.018002238, 0.0, 0.027585275, 0.018800229, 0.007482455, 0.0) * go_2(0.0, 0.0); + result += mat4(-0.031725004, -0.05638542, -0.06471826, 0.0, -0.038512804, -0.036520924, -0.026658544, 0.0, 0.0019714478, 0.004168433, 0.0036675548, 0.0, 0.009312959, -0.009726487, 0.003937418, 0.0) * go_2(0.0, 1.0); + result += mat4(0.008056586, -0.03609238, -0.0035044104, 0.0, -0.0052967947, 0.010446542, 0.010737699, 0.0, -0.00941154, -0.005599727, -0.0071648047, 0.0, 0.0028106347, 0.0063315486, 0.0005620387, 0.0) * go_2(1.0, -1.0); + result += mat4(-0.10104362, -0.06228799, -0.057575073, 0.0, -0.0008651546, -0.010849562, -0.0066441186, 0.0, -0.016244762, -0.0053532585, -0.012414173, 0.0, -0.012507298, 0.005470365, 0.0032063425, 0.0) * go_2(1.0, 0.0); + result += mat4(-0.019126823, -0.022827078, -0.01918732, 0.0, -0.0049576303, -0.010899637, -0.01990915, 0.0, 0.019013962, 0.007385637, 0.015615745, 0.0, 0.025586424, 0.02317941, 0.019631773, 0.0) * go_2(1.0, 1.0); + result += mat4(-0.011578009, -0.0037521352, -0.0044622095, 0.0, -0.0022668878, 0.0022691146, -0.00570573, 0.0, 0.0052153515, 0.005547525, 0.0033032992, 0.0, 0.009927488, -0.0061824876, -0.016856432, 0.0) * go_3(-1.0, -1.0); + result += mat4(-0.07627339, -0.0595728, -0.08247348, 0.0, -0.016201988, -0.019643232, -0.021891698, 0.0, -0.0033560628, 0.0056153075, 0.005510208, 0.0, -0.0061155884, 0.004726241, 0.03613314, 0.0) * go_3(-1.0, 0.0); + result += mat4(-0.026918657, -0.017315133, -0.021586075, 0.0, -0.021625597, -0.008547036, -0.011233614, 0.0, -0.0047514364, -0.0029167454, -0.00583421, 0.0, 0.012949899, 0.0035817428, -0.0045735473, 0.0) * go_3(-1.0, 1.0); + result += mat4(-0.08581085, -0.07063111, -0.06381294, 0.0, -0.0040735947, -0.012934923, -0.0057904166, 0.0, -0.0077691195, -0.00034605907, 0.0023017807, 0.0, -0.00029635165, -0.042357627, -0.057994146, 0.0) * go_3(0.0, -1.0); + result += mat4(0.05193261, 0.047533646, 0.071092665, 0.0, -0.015042884, -0.023481138, -0.020945435, 0.0, 0.008216166, 0.004034294, 0.0030410702, 0.0, 0.10532969, 0.13052966, 0.11042539, 0.0) * go_3(0.0, 0.0); + result += mat4(0.052652936, 0.045103617, 0.036393207, 0.0, 0.0018712351, -0.009865708, -0.00591473, 0.0, -0.0008652197, 7.966737e-05, -0.004292879, 0.0, -0.013765752, -0.0603564, 0.032057546, 0.0) * go_3(0.0, 1.0); + result += mat4(0.0020095943, -0.014555452, -0.008721001, 0.0, 0.00085926603, -0.0012287357, 0.007974135, 0.0, 0.004697991, -1.4738258e-05, -0.0048043244, 0.0, 0.047545042, 0.099660076, 0.09649951, 0.0) * go_3(1.0, -1.0); + result += mat4(0.024352267, 0.03303334, 0.02903438, 0.0, 0.0062978864, 0.014672455, 0.0043003284, 0.0, -0.0017531263, -0.0032476797, 0.001345206, 0.0, -0.20736417, -0.1745426, -0.32957983, 0.0) * go_3(1.0, 0.0); + result += mat4(0.027512033, 0.029760962, 0.033007182, 0.0, 9.0356014e-05, 0.0061743665, 0.0036443318, 0.0, -0.016802983, -0.019364875, -0.014311061, 0.0, 0.021530075, 0.059616566, 0.07120056, 0.0) * go_3(1.0, 1.0); + result += vec4(-0.0007544955, -0.0007692414, 0.00032997545, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x3_VL.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x3_VL.glsl new file mode 100644 index 0000000..d471cf3 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x3_VL.glsl @@ -0,0 +1,2913 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.40511844, 0.046312418, -0.086368635, -0.048218526, 0.038400844, -0.012609009, -0.114371404, 0.058320127, 0.24283059, 0.2988252, -0.06984102, -0.1513035, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.3179384, 0.041913282, 0.5829445, -0.03517926, -0.13997659, 0.1567064, -0.0067053097, 0.38155103, -0.12982988, -0.123628765, 0.43574196, 0.015274767, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.13568722, -0.3296706, 0.40355036, 0.35842642, 0.21866405, -0.53062886, -0.14227761, -0.35239148, 0.101097785, -0.4245473, -0.41358534, -0.08091162, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.2874018, -0.031556252, -0.024857419, -0.14545052, 0.16618997, -0.35254815, -0.09629704, 0.09261814, 0.43960592, 0.26783726, -0.16506493, 0.41094932, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.101475194, 0.28053576, 0.091671854, 0.3356529, 0.09083679, 0.5306931, -0.08974534, -0.23624173, 0.022175577, 0.41184658, 0.19520077, -0.24606428, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.20134552, 0.47637737, -0.3338613, -0.118361436, 0.32517588, -0.22253029, -0.17541096, 0.046637688, 0.10576379, -0.22217134, 0.055137604, 0.37349963, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.17969048, 0.13036613, -0.2836612, 0.072280586, -0.3434514, 0.020839306, 0.12709542, -0.22381261, 0.13942248, 0.07601297, 0.12292496, -0.20566194, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.2150475, -0.09399675, -0.09306267, 0.09580491, -0.47665623, -0.12324208, -0.100735016, -0.46395445, -0.6441451, -0.08280989, -0.09964624, 0.18735269, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.24261168, 0.034477316, 0.13518244, -0.095370695, -0.29263893, 0.12399886, 0.26543903, 0.40211576, -0.12688783, 0.055649832, 0.0039607235, 0.10855666, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.016524548, 0.015399874, 0.020695323, 0.023151765); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.22211748, 0.38811034, 0.19647819, 0.18025233, -0.44580257, 0.21301454, 0.19053668, 0.3906399, -0.019795267, -0.43621698, -0.2952626, -0.16969545, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.12376253, -0.3578144, 0.013765903, -0.33338618, 0.46931675, 0.47708502, -0.11742914, -0.5338616, 0.058727097, 0.014093682, 0.40444478, -0.45218801, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.02297299, 0.37956157, 0.46952614, -0.28906932, 0.5133133, -0.38923758, 0.17953868, 0.2855252, 0.5226521, 0.33031356, 0.14814378, 0.24011709, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.4501361, -0.10823865, -0.44304916, 0.24173234, -0.016219804, -0.08659096, -0.23562773, -0.50403744, -0.0012616274, -0.6338915, 0.22647057, -0.24775903, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.22717546, 0.03211701, 0.28084618, 0.23585059, -0.22632027, 0.66713566, 0.07553389, 0.17764805, 0.23207794, 0.36784792, -0.34729242, 0.5962821, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.24554719, -0.5789114, -0.5091369, -0.39601108, -0.38009188, 0.15842962, 0.07656582, -0.37681392, -0.3328269, 0.035487633, -0.28024784, -0.16454072, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.056824446, -0.04399919, 0.28328308, 0.02923404, 0.27003515, 0.12559497, -0.016995354, 0.06384516, -0.23244575, 0.1984168, 0.08605917, -0.34028816, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.124706075, -0.44753015, -0.22312124, 0.08141755, -0.25384662, -0.016393289, -0.050249767, -0.040201787, -0.014427871, -0.05602875, 0.13308121, 0.49805847, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.06863199, 0.062094662, -0.035574723, 0.10664285, -0.14436434, -0.082004026, -0.12680413, 0.02922838, 0.16316287, 0.01192676, -0.033308484, 0.18727374, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.0013743446, 0.04227666, 0.029018287, -0.0008426521); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf2 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.37304083, -0.06803611, -0.06411103, 0.27269405, 0.22606733, 0.2039522, 0.514901, 0.3786155, 0.28303707, 0.14000547, -0.3321655, 0.09701599, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.50415957, 0.3915719, -0.4958669, 0.04014105, 0.31802535, 0.31673974, -0.07615502, 0.054737855, -0.42327112, -0.18999626, -0.012522493, 0.102762744, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.10929559, -0.57894635, 0.013220997, -0.29191223, 0.17323004, -0.27566677, 0.25775912, 0.13022128, 0.0724283, -0.1331955, 0.17363146, 0.42716634, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.41452903, 0.34020692, 0.402998, 0.15659642, -0.30401403, -0.014533993, -0.1553566, -0.17143548, -0.288057, 0.14428918, 0.07728673, -0.21961251, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.12768714, -0.07468587, -0.5377452, 0.23702456, 0.18886316, -0.3257077, 0.20170376, -0.25545424, -0.123668954, 0.15017408, 0.0007419787, -0.13949947, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.2576978, -0.07398349, 0.109489314, -0.04158612, -0.32963014, -0.35029748, -0.3167505, -0.25848135, 0.18927233, 0.2081675, -0.2702585, -0.23698156, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.16577533, -0.20408662, -0.030388767, -0.081177086, -0.30532128, 0.114261985, 0.066367835, -0.33745348, -0.18518709, -0.059800602, 0.2227101, -0.16171436, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.1231469, 0.042956218, 0.3520311, -0.15215552, 0.18313944, 0.5157838, -0.09514994, 0.30884972, 0.60990155, -0.35512015, 0.102282114, 0.14265445, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.10444835, -0.008624628, 0.19587915, 0.036038317, 0.09758787, -0.27749214, 0.14781447, 0.11267787, 0.16691335, -0.077876076, -0.049209397, 0.12839536, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.015636094, -0.03486839, -0.0038059507, 0.054434214); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.124267854, 0.007962224, -0.17998387, -0.05789284, -0.041550074, -0.21627353, 0.02771375, 0.049279906, -0.07825293, -0.0658187, 0.08334699, 0.007819368, -0.053893518, 0.10146559, 0.07281707, -0.04693425) * go_0(-1.0, -1.0); + result += mat4(-0.18026589, 0.049227715, -0.23444916, 0.060488567, -0.09980516, 0.015112693, -0.035334926, -0.13345052, -0.13320714, -0.0054334872, -0.04049233, -0.1304189, -0.058878195, 0.16659525, -0.007633062, -0.068291016) * go_0(-1.0, 0.0); + result += mat4(-0.10559241, 0.054001573, 0.055762857, 0.12121601, 0.07811607, -0.0830653, 0.059485614, 0.06800382, -0.012978328, -0.0796546, -0.03803754, -0.05964419, -0.064093046, -0.07586195, -0.036742657, 0.18453833) * go_0(-1.0, 1.0); + result += mat4(0.022106081, 0.10947791, 0.0011338186, 0.031634837, -0.056927577, -0.26113212, 0.099681556, 0.23362195, -0.17860429, -0.1250903, -0.0037589697, 0.1655993, -0.020578198, -0.1636795, 0.027641099, 0.06818794) * go_0(0.0, -1.0); + result += mat4(-0.08456219, 0.0101076085, 0.06612835, 0.18828513, 0.19439413, -0.05441351, 0.09058546, -0.32268864, 0.030592322, -0.09876957, 0.034651507, -0.111315705, 0.08716488, -0.1507648, -0.018940862, -0.050834194) * go_0(0.0, 0.0); + result += mat4(0.16697238, -0.15836456, 0.077995785, 0.08068181, -0.03379854, 0.16519341, -0.15239498, 0.12806813, 0.03560932, -0.110684246, -0.13476025, 0.02535848, -0.06991292, 0.048514012, 0.0416729, 0.08717733) * go_0(0.0, 1.0); + result += mat4(-0.049313076, -0.03194871, -0.013847785, -0.029990746, -0.15915012, 0.03509808, -0.0011314545, -0.1249224, 0.0345892, -0.18697207, -0.038597755, -0.112618044, -0.17375281, -0.055883076, 0.078873746, -0.060458563) * go_0(1.0, -1.0); + result += mat4(0.06791889, 0.048250757, -0.14947584, 0.1464103, 0.034625027, 0.1614507, -0.18002516, -0.22499345, -0.009015057, -0.123403914, 0.08619851, -0.13664183, 0.010211879, -0.15708129, 0.15172581, -0.025576444) * go_0(1.0, 0.0); + result += mat4(0.03782436, 0.0033660422, -0.010088431, -0.07009061, -0.027529597, 0.0917739, 0.092501916, 0.022648554, 0.016138216, -0.099612005, -0.03275366, 0.093189664, -0.023807095, -0.032835755, -0.021751186, -0.05885268) * go_0(1.0, 1.0); + result += mat4(-0.093127936, -0.033109818, 0.044374205, -0.01257518, -0.13067031, -0.013695122, -0.07609673, -0.14678904, 0.0036491172, -0.057091113, 0.06302116, 0.2047689, 0.0011883582, 0.00797786, 0.23997992, 0.03556107) * go_1(-1.0, -1.0); + result += mat4(0.037627794, 0.041767746, -0.117952295, -0.0066822, -0.028435027, 0.13632965, -0.19027917, -0.0021361923, 0.13132729, -0.09695936, -0.16516533, -0.014830638, -0.05808993, 0.1846407, -0.13116007, -0.10605202) * go_1(-1.0, 0.0); + result += mat4(-0.081693485, -0.06264808, 0.08486454, -0.08549504, 0.029431969, -0.14323595, -0.00770528, 0.21860594, 0.022883533, -0.0017431816, 0.17224559, -0.09431063, -0.028515795, -0.18663938, -0.120865725, -0.030412016) * go_1(-1.0, 1.0); + result += mat4(0.1270607, 0.118347816, -0.09791751, 0.012986578, 0.07084144, -0.11682057, -0.16111587, -0.08451572, -0.03204753, -0.029091429, -0.35078618, 0.12681656, -0.04842526, -0.042448696, -0.14195885, 0.069431886) * go_1(0.0, -1.0); + result += mat4(0.056968357, 0.11958923, -0.00031470932, -0.056339122, 0.029859897, -0.0031493618, 0.056802884, 0.011899837, 0.0029990282, -0.29070294, 0.027124101, 0.059092462, 0.3420717, -0.14881286, 0.12467716, -0.04047155) * go_1(0.0, 0.0); + result += mat4(0.0073069474, -0.05794202, 0.13206123, 0.023608455, -0.028124921, -0.10441345, 0.13552763, 0.1370355, -0.15079997, -0.06640641, -0.14373657, 0.050939295, 0.009049148, -0.22194777, 0.04862541, 0.044264235) * go_1(0.0, 1.0); + result += mat4(-0.030503348, -0.16637012, -0.117389075, -0.08290776, -0.08976877, -0.20657647, -0.044662002, 0.060959864, 0.12712368, -0.027711328, -0.2472025, 0.14832148, -0.006349414, 0.031300485, 0.038396467, 0.11758095) * go_1(1.0, -1.0); + result += mat4(0.043296367, -0.021755742, 0.14833954, 0.00856861, 0.036826447, -0.100298785, 0.1346524, -0.03654323, 0.14104709, -0.08861984, -0.04175621, -0.15783565, -0.20554025, -0.014400845, 0.09758823, 0.3012222) * go_1(1.0, 0.0); + result += mat4(0.14976518, 0.24048904, 0.04738185, 0.14116864, -0.0028246883, 0.010856994, 0.11503183, -0.0048893443, 0.0037136774, -0.23222204, -0.07668595, 0.054136075, 0.13594438, -0.031319436, 0.081209205, 0.16445075) * go_1(1.0, 1.0); + result += mat4(0.1383282, 0.043678403, -0.048099563, 0.121575296, -0.15685752, 0.09750033, 0.11703441, -0.014284906, -0.03218536, -0.15594141, -0.005169852, 0.13170211, -0.0009216136, 0.025865545, 0.0034171424, 0.07353478) * go_2(-1.0, -1.0); + result += mat4(0.11446189, 0.028012149, 0.012852205, 0.071380325, -0.02581936, 0.07536672, 0.022615172, 0.08788225, 0.09794186, -0.03212243, -0.081240885, 0.11541121, 0.076030195, -0.19109531, -0.037465803, -0.12165481) * go_2(-1.0, 0.0); + result += mat4(-0.069133125, 0.16841024, 0.08477403, 0.010234146, -0.01394771, 0.041126106, 0.022037728, -0.16571328, 0.16482642, -0.046641283, -0.015524424, -0.10732406, -0.032337334, -0.039461985, 0.06941011, 0.10004811) * go_2(-1.0, 1.0); + result += mat4(-0.08091021, 0.014393868, 0.15919542, -0.011985569, -0.13209614, -0.17724971, -0.1117447, -0.064839125, 0.0141071305, -0.016549781, -0.01544038, 0.044058125, 0.099102214, 0.07104683, -0.0033692264, -0.011985269) * go_2(0.0, -1.0); + result += mat4(-0.13767815, 0.035504427, 0.15205923, 0.17755473, -0.14473997, 0.06277688, -0.2169439, 0.036964424, 0.006689342, 0.004628961, -0.16730706, 0.16391295, -0.10588813, 0.08151436, -0.14907128, 0.20650652) * go_2(0.0, 0.0); + result += mat4(0.07861154, -0.1794478, -0.059224397, 0.16803007, 0.05025362, -0.05318132, 0.1471211, 0.23034573, 0.05250695, 0.12226744, 0.06978067, -0.03607008, 0.010674573, 0.0439673, -0.03689282, -0.039029337) * go_2(0.0, 1.0); + result += mat4(0.07446787, -0.006577457, -0.17369395, 0.0025724266, -0.058095817, 0.07490038, -0.06943755, -0.3144659, 0.07828109, 0.17998894, 0.0067850347, 0.023616858, 0.08627146, 0.053720877, -0.00860585, -0.029439872) * go_2(1.0, -1.0); + result += mat4(0.059849985, -0.11140152, -0.09592929, 0.1342193, 0.16315992, -0.2805751, 0.05178338, -0.012509258, 0.017137745, -0.026671201, 0.025053594, -0.0842668, 0.17889084, 0.088548556, -0.16114505, -0.020796169) * go_2(1.0, 0.0); + result += mat4(-0.075472295, -0.14215264, -0.034432933, -0.042921875, 0.0077655553, 0.04552933, -0.05867107, 0.024829932, 0.16344814, -0.13642615, 0.06945403, 0.035145745, 0.06266624, 0.103483595, -0.14329065, 0.0077256123) * go_2(1.0, 1.0); + result += mat4(0.0027708034, 0.07329603, 0.14105049, 0.07991739, -0.0758546, 0.16391759, 0.059647884, -0.07759994, 0.06402703, 0.0895321, -0.13834727, -0.11177747, 0.019722346, 0.08034925, 0.07566546, 0.11848707) * go_3(-1.0, -1.0); + result += mat4(0.15146783, 0.027667522, 0.09773481, -0.13179557, 0.076958776, -0.15196155, 0.055114925, 0.021436427, 0.059093557, 0.0483428, 0.07084243, 0.019189285, -0.19074525, -0.05114326, -0.05597719, -0.17324033) * go_3(-1.0, 0.0); + result += mat4(0.16141704, -0.022847276, 0.14245096, -0.03828172, -0.03609397, 0.018458935, -0.1401393, -0.015835393, 0.1118651, 0.04606467, 0.06304064, 0.1130469, 0.13078345, -0.011042088, 0.074442014, 0.16744103) * go_3(-1.0, 1.0); + result += mat4(-0.03767718, -0.040626142, -0.059247386, -0.04379782, 0.053381473, 0.20256, 0.08586983, -0.15989254, 0.18586256, 0.057962753, -0.06999747, -0.020169148, -0.055688344, -0.016782917, -0.19943517, 0.15663329) * go_3(0.0, -1.0); + result += mat4(-0.21612807, 0.117120996, -0.075649984, -0.0053718905, -0.38303497, 0.1642169, -0.18583643, 0.4340738, 0.07149195, -0.13684754, 0.07903723, 0.19526604, -0.13151471, 0.08272994, 0.086297594, -0.26715723) * go_3(0.0, 0.0); + result += mat4(-0.26815438, 0.037067838, 0.0642267, 0.22131516, 0.21152607, -0.23873864, 0.09514264, -0.04713103, -0.12136601, 0.04901631, 0.14983785, -0.13058041, -0.19162782, 0.018775929, -0.05136697, 0.019918656) * go_3(0.0, 1.0); + result += mat4(0.12042426, 0.03766373, -0.055505633, 0.12783547, -0.008767006, -0.05963363, -0.034773044, -0.049163565, -0.101345144, -0.010673946, 0.11270166, 0.096191615, -0.111890845, 0.10288703, 0.19787256, -0.27500233) * go_3(1.0, -1.0); + result += mat4(0.062222097, 0.15603566, 0.12435635, -0.029093172, 0.017480267, -0.23054963, 0.25424153, 0.1090598, -0.04203737, -0.042807147, 0.14882293, -0.062273648, -0.44699055, 0.25321072, 0.023357471, 0.15106665) * go_3(1.0, 0.0); + result += mat4(-0.0072348677, -0.088096686, -0.055530813, -0.07064954, 0.023192292, -0.012916004, -0.0056745564, -0.06661922, 0.038913727, 0.026908718, 0.10206203, -0.013684264, 0.105047286, -0.11951532, -0.032914817, 0.016715799) * go_3(1.0, 1.0); + result += mat4(0.032328244, 0.00801627, -0.008064464, -0.26401424, 0.13007867, -0.105827704, 0.035832293, 0.2257254, -0.028368795, -0.055015713, -0.18554647, 0.019349419, -0.004947466, -0.1036783, -0.22648631, 0.023978733) * go_4(-1.0, -1.0); + result += mat4(-0.005028873, 0.008835479, -0.0014021931, 0.07877838, -0.0032623175, 0.04716802, 0.24331963, -0.0045369593, 0.039377805, 0.12054267, 0.06422673, 0.107488826, 0.030367622, -0.11523494, 0.081330195, -0.018546721) * go_4(-1.0, 0.0); + result += mat4(-0.04090765, -0.11046553, -0.020837778, 0.19295895, -0.022306796, 0.10222331, -0.022490164, -0.1311398, -0.16340409, -0.017105957, -0.18809643, 0.11630821, 0.052637395, 0.16867357, 0.042465545, 0.07917558) * go_4(-1.0, 1.0); + result += mat4(0.061382286, -0.10611119, 0.09613031, -0.0067030345, 0.006122337, -0.034826167, 0.16807398, 0.25538254, 0.074573494, 0.056307554, 0.16127278, 0.022633301, 0.06921917, -0.16517632, 0.035960235, -0.17444491) * go_4(0.0, -1.0); + result += mat4(-0.06053351, -0.07234707, -0.002200724, 0.0982265, -0.14494447, -0.025158525, -0.043029554, 0.308433, -0.00789706, -0.027372198, -0.2853412, 0.22422287, -0.072053656, -0.20027302, -0.2053341, -0.0016727111) * go_4(0.0, 0.0); + result += mat4(-0.06965102, -0.074341245, -0.10007991, 0.24454647, -0.046182215, -0.0013816428, -0.19355296, -0.10981621, 0.039524913, -0.17090714, 0.19306308, 0.0019166211, -0.09448512, 0.16326144, 0.016314002, -0.033384096) * go_4(0.0, 1.0); + result += mat4(-0.15294902, -0.035096806, 0.1510738, 0.11737981, 0.11224323, 0.24651042, -0.11259153, -0.10824828, -0.042136658, 0.080296464, 0.07308311, -0.13428898, 0.14472654, 0.06930686, -0.077960335, -0.096928984) * go_4(1.0, -1.0); + result += mat4(-0.15912153, 0.08187269, 0.09500771, -0.15272307, -0.018328117, 0.10363754, -0.14703858, -0.01663941, -0.09634521, -0.122812204, -0.21433884, -0.043322142, 0.25369784, 0.015099865, 0.0030191666, 0.02290927) * go_4(1.0, 0.0); + result += mat4(0.003294999, 0.098755814, -0.006246285, 0.095969744, 0.14606589, 0.051248513, -0.07943076, 0.13453922, -0.10009766, -0.0055656824, 0.16127767, 0.14185014, -0.12013776, -0.16176297, 0.04093573, -0.01890971) * go_4(1.0, 1.0); + result += mat4(-0.13407499, 0.065094054, -0.0198922, -0.08037597, 0.08964208, -0.07237802, -0.13825588, -0.17102, 0.09435665, 0.23435031, 0.10091611, -0.07304656, 0.16103323, -0.03848244, -0.0652565, 0.06148157) * go_5(-1.0, -1.0); + result += mat4(-0.018516695, 0.12308151, 0.04245688, -0.03875231, 0.08163367, -0.10843033, -0.05578245, 0.07653516, 0.021622866, 0.12920228, 0.113022245, -0.27590397, -0.015056695, 0.029378783, -0.082673244, -0.048056267) * go_5(-1.0, 0.0); + result += mat4(0.061482217, -0.09921845, -0.058533907, 0.008726932, 0.027324243, 0.03429762, -0.084271036, 0.19976673, 0.10966977, 0.20396575, -0.017694999, -0.06260422, 0.0165182, 0.10789034, 0.044916157, 0.13079369) * go_5(-1.0, 1.0); + result += mat4(-0.020889722, -0.06484487, -0.16382498, -0.014346998, 0.0026958885, -0.19189303, -0.073752694, -0.1306487, 0.014955386, -0.005341573, -0.13761184, -0.016867343, 0.03703825, -0.06157102, -0.25244838, 0.072198965) * go_5(0.0, -1.0); + result += mat4(0.19881305, -0.15711883, -0.1800523, -0.19283934, -0.07261505, 0.113396615, 0.11042607, 0.19410251, 0.01296784, 0.029375073, -0.16543335, -0.119331196, 0.061140418, 0.0061399927, -0.10372657, -0.19577163) * go_5(0.0, 0.0); + result += mat4(0.08964666, -0.041876756, 0.09050224, 0.017036483, 0.122133896, 0.04581788, 0.0022176318, -0.015053813, -0.31467614, 0.19168457, 0.035007093, 0.2650101, -0.2225773, 0.10270218, 0.09687861, 0.026796961) * go_5(0.0, 1.0); + result += mat4(-0.09435587, 0.10445669, 0.2891561, 0.05967551, -0.06361812, 0.123411134, 0.14559366, 0.0805817, 0.01505635, -0.08782298, -0.043380685, 0.05761991, -0.035663776, -0.08950526, 0.120702736, 0.088385746) * go_5(1.0, -1.0); + result += mat4(0.011555221, -0.06231264, 0.18430808, 0.15266152, -0.18028414, 0.06332757, 0.0026076022, 0.18165322, -0.14395583, 0.10982132, 0.043809865, 0.07797207, -0.2698022, -0.3847484, 0.02855024, 0.25076064) * go_5(1.0, 0.0); + result += mat4(0.062325176, -0.026178865, 0.020149486, 0.03210979, -0.00235475, 0.123468615, 0.09479156, 0.15856354, 0.0947007, 0.09911081, -0.053644318, 0.30245718, -0.103213266, -0.3296715, 0.051986407, -0.15058364) * go_5(1.0, 1.0); + result += vec4(0.011905882, -0.022616472, -0.008990545, 0.041167002); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.009393955, 0.18668935, -0.07360051, 0.08218289, -0.002853791, -0.13204256, -0.058228496, -0.08217602, -0.007055643, -0.18616575, 0.12484316, -0.13578129, -0.06971742, -0.15325688, -0.033852972, -0.10442544) * go_0(-1.0, -1.0); + result += mat4(0.1538062, 0.24085993, -0.1470754, 0.23293658, 0.061731886, -0.039425362, 0.10134175, 0.10920789, 0.027627349, -0.030328294, -0.084725365, 0.15722615, 0.13786708, 0.015676511, -0.21962847, -0.076992) * go_0(-1.0, 0.0); + result += mat4(-0.12253862, 0.0339962, 0.3136188, 0.13488305, -0.17547512, -0.030512001, -0.0021504841, -0.09592834, -0.09812029, 0.06814175, 0.19642949, -0.10195504, 0.06005127, 0.051589128, 0.106626906, 0.10529595) * go_0(-1.0, 1.0); + result += mat4(-0.09892863, -0.039184973, 0.14812575, -0.038699288, 0.06645616, 0.07355721, -0.02299443, -0.14151087, 0.04555764, 0.11501852, 0.19053902, -0.0006121733, 0.0035184557, -0.06275289, -0.07477681, 0.07316305) * go_0(0.0, -1.0); + result += mat4(0.115366966, 0.20077994, 0.16739497, 0.11740605, -0.122655675, -0.054410838, 0.031647306, 0.012119558, 0.02255513, -0.05844958, 0.20451924, -0.04342168, 0.14752789, -0.10555866, -0.027899336, 0.09995709) * go_0(0.0, 0.0); + result += mat4(-0.031201297, -0.06993867, 0.017682442, -0.17657831, 0.122878596, -0.03727984, -0.09484746, -0.034541856, 0.03405775, 0.03386156, -0.09452733, 0.12891679, -0.13651215, 0.020713195, 0.01856062, -0.042746462) * go_0(0.0, 1.0); + result += mat4(0.0035370777, -0.058793917, -0.10259198, 0.030393116, -0.03665171, -0.046703644, 0.12145823, 0.068402946, 0.0661803, -0.0949225, -0.015077753, 0.14383693, 0.018183192, -0.05789956, 0.09497322, -0.06279912) * go_0(1.0, -1.0); + result += mat4(0.023490345, 0.0027517239, 0.008101111, -0.059306182, 0.045240793, -0.17254223, -0.015886698, 0.1157877, -0.028337903, 0.09305384, -0.040983718, 0.02249241, -0.028840652, -0.026046747, 0.12575755, -0.13807413) * go_0(1.0, 0.0); + result += mat4(-0.10457153, 0.1589177, 0.13171448, 0.015238637, -0.034651496, 0.02995306, 0.09802121, -0.012463447, 0.08722377, 0.12351376, -0.12364867, 0.14351927, 0.053363666, -0.19996366, -0.0020677273, -0.057423726) * go_0(1.0, 1.0); + result += mat4(0.039858077, 0.0610137, -0.04036137, -0.007068759, 0.062540606, 0.13911818, -0.0908163, 0.039447706, -0.04391428, -0.113149054, -0.014116952, 0.032990754, 0.09261807, -0.03413283, -0.10447263, -0.08573098) * go_1(-1.0, -1.0); + result += mat4(-0.01761663, -0.09644662, -0.005088787, 0.027300932, 0.093963, -0.06828492, 0.0027474556, 0.2242565, -0.12908772, -0.12292567, 0.17184588, 0.13818002, 0.09503586, -0.086556494, 0.0645912, 0.19295183) * go_1(-1.0, 0.0); + result += mat4(0.07955219, 0.019469945, 0.080390416, -0.057485517, -0.058509156, 0.016411109, 0.054208927, -0.028299164, 0.0046880515, -0.1968574, -0.009469305, -0.13357851, -0.13951358, 0.031425167, -0.0552074, -0.019046936) * go_1(-1.0, 1.0); + result += mat4(0.06597837, 0.13813679, 0.13337553, 0.1392795, -0.02466031, -0.19004655, 0.1432966, -0.09052564, 0.008315369, -0.002750817, 0.075821064, 0.06519332, -0.040463336, 0.026104426, 0.07529671, -0.026330618) * go_1(0.0, -1.0); + result += mat4(-0.21183902, 0.0813405, -0.003430971, 0.03450728, -0.00248265, 0.020729724, -0.043258913, -0.032575425, -0.047916103, 0.050494414, 0.20180939, 0.027000068, -0.10179437, 0.06540524, 0.036855206, -0.07024677) * go_1(0.0, 0.0); + result += mat4(-0.108181454, 0.13226138, -0.18859217, -0.17786084, 0.10761393, 0.16454493, -0.101017565, -0.0042238235, -0.045681562, -0.1956961, -0.039326258, 0.12645185, 0.08209508, -0.17214166, -0.07509988, 0.041241605) * go_1(0.0, 1.0); + result += mat4(-0.07397336, -0.16591343, 0.0638351, 0.024531474, -0.04121428, 0.0191009, -0.016413592, -0.014064089, 0.090364136, -0.0143463425, 0.051297646, 0.101621516, -0.046925794, 0.069780506, -0.08860432, -0.014824734) * go_1(1.0, -1.0); + result += mat4(-0.08310045, 0.016958017, -0.014437904, -0.07725209, -0.026139945, -0.11588651, 0.033243302, 0.027774323, 0.035300322, 0.174936, -0.052526426, -0.02398468, 0.17885078, -0.08415918, 0.06867816, 0.023926245) * go_1(1.0, 0.0); + result += mat4(0.055511482, 0.10107289, -0.062379345, 0.109069504, -0.0040129554, -0.01752944, 0.18135491, -0.06211896, 0.15972757, 0.20113245, -0.06507126, 0.11302289, -0.14081402, 0.12730065, 0.11747296, -0.021355543) * go_1(1.0, 1.0); + result += mat4(-0.08841883, -0.016391667, 0.0037979118, -0.106796, 0.07619703, 0.16686298, 0.088635504, -0.048563465, -0.05394817, -0.15386207, 0.16047399, -0.09080504, -0.10668314, -0.15818065, 0.033115778, 0.031520538) * go_2(-1.0, -1.0); + result += mat4(0.01633188, -0.030394198, 0.0029725977, 0.10274382, 0.062238634, -0.100709766, 0.041572776, 0.0568741, 0.008856757, -0.14608574, -0.14852396, -0.10276379, 0.12703411, -0.015127757, -0.12575223, -0.13331042) * go_2(-1.0, 0.0); + result += mat4(-0.031342633, 0.14848311, -0.12904146, 0.034422506, 0.039357357, 0.050679002, 0.06503631, 0.063406065, -0.010346032, 0.16099697, 0.006769406, 0.09577785, -0.0018684114, 0.042848136, -0.002991604, 0.005587025) * go_2(-1.0, 1.0); + result += mat4(0.035801984, 0.12931241, -0.0022342594, 0.018307745, 0.07702747, -0.12185176, -0.07709063, 0.015125713, -0.0011960526, 0.1140818, 0.10893219, -0.048285935, 0.15146717, -0.093633525, -0.08690155, 0.0803985) * go_2(0.0, -1.0); + result += mat4(0.080852866, -0.032541778, 0.116364524, 0.07989729, 0.0067703715, -0.012177273, -0.07982764, -0.0045678024, -0.04779687, -0.10998693, -0.024055414, -0.085992925, -0.119937465, 0.3472314, 0.1565224, -0.02053834) * go_2(0.0, 0.0); + result += mat4(0.114916876, -0.04891269, 0.103173085, 0.14804299, -0.034878302, -0.06205778, 0.057469137, 0.06792636, 0.013155392, 0.24438615, 0.23875354, 0.029985022, 0.12540671, 0.1593171, -0.041406173, 0.13131626) * go_2(0.0, 1.0); + result += mat4(-0.055608317, -0.011724937, 0.12645641, -0.077291526, -0.031136168, 0.19885689, -0.07979561, 0.21854846, 0.012208913, -0.17984846, -0.06909352, 0.034138173, -0.040021844, -0.11747884, 0.024365483, -0.00078131305) * go_2(1.0, -1.0); + result += mat4(0.052407045, 0.14146121, -0.16186738, -0.14332147, 0.17796749, 0.2403311, -0.101434335, -0.11113733, -0.06573204, 0.13941497, -0.014392969, -0.0060202163, -0.22008768, 0.24818769, 0.25274605, -0.07692249) * go_2(1.0, 0.0); + result += mat4(0.010145611, 0.09386053, 0.093780175, 0.09353351, -0.025648097, -0.031589564, 0.0150197605, 0.03715231, -0.15479125, -0.03264438, 0.21176213, 0.019200986, 0.004911368, 0.19266897, 0.01935736, -0.04114218) * go_2(1.0, 1.0); + result += mat4(0.053129405, -0.15921484, 0.0003864309, 0.09827425, -0.054169323, 0.06976963, 0.05310063, 0.010317169, -0.0468072, 0.20395218, -0.16632959, 0.060554396, 0.24564919, 0.2189468, -0.12793644, -0.18483198) * go_3(-1.0, -1.0); + result += mat4(-0.082494386, -0.1433939, 0.050049685, -0.3635514, 0.08438997, 0.1438989, 0.028363084, -0.1784714, -0.20042121, -0.0059182104, 0.095135674, -0.20745192, -0.27230132, 0.10656265, 0.09331211, -0.09988007) * go_3(-1.0, 0.0); + result += mat4(0.11487431, -0.055160172, -0.17928086, 0.0103181815, 0.031005684, 0.054106805, -0.06011703, 0.15056583, -0.092787445, -0.031473074, -0.12840845, 0.13332976, -0.032842558, 0.16832976, -0.13352585, -0.2415442) * go_3(-1.0, 1.0); + result += mat4(0.0584145, 0.10595881, -0.10753989, -0.10199688, -0.017936673, 0.11947298, -0.021989146, 0.21017475, -0.0648711, -0.20729136, -0.13821706, -0.039291058, -0.011472392, -0.16857262, 0.16062364, -0.0720233) * go_3(0.0, -1.0); + result += mat4(-0.113283016, -0.030152159, -0.01753151, -0.0002958871, 0.043837037, 0.081768855, -0.1745709, 0.114827335, 0.08412931, -0.09157743, -0.18770902, 0.15422468, -0.0048349043, 0.03311079, 0.27095637, 0.014000513) * go_3(0.0, 0.0); + result += mat4(-0.10381905, 0.07169773, -0.19069736, 0.17213592, -0.024624163, -0.006234784, 0.08938769, -0.11516081, -0.063434005, -0.15721959, 0.15561773, -0.050912045, 0.11003226, -0.13991411, -0.1300524, 0.04862886) * go_3(0.0, 1.0); + result += mat4(-0.032974396, 0.063625805, 0.049537376, -0.022988167, -0.01843721, -0.101040475, -0.056562204, 0.014531577, 0.004539358, 0.17242074, 0.10726271, -0.074500956, -0.17708772, 0.027675934, -0.059681445, -0.2764947) * go_3(1.0, -1.0); + result += mat4(0.005475852, 0.022774579, 0.07243921, 0.034401163, 0.11421145, -0.01111065, 0.041709334, -0.005682442, 0.103502244, 0.1585634, 0.0822138, 0.10464134, -0.30551413, 0.044623576, 0.12529698, 0.19838129) * go_3(1.0, 0.0); + result += mat4(0.10738428, -0.08327003, -0.15896958, 0.055716608, 0.036630616, -0.095512174, 0.12127086, 0.017237328, 0.07521648, 0.02619509, 0.09315012, -0.091806784, -0.17385966, 0.39460838, 0.16974619, 0.118519105) * go_3(1.0, 1.0); + result += mat4(0.02155818, -0.037706323, -0.031167481, 0.17740026, -0.10216859, -0.03835498, 0.063458204, -0.068242945, -0.076139286, -0.00688632, 0.26133075, 0.02907029, -0.098043405, 0.043967254, 0.038398016, -0.004577523) * go_4(-1.0, -1.0); + result += mat4(-0.03310849, 0.032241113, 0.03790139, -0.1506091, -0.06757023, 0.085145615, 0.051285, -0.18566431, 0.12794217, 0.13021192, -0.32284498, 0.057858843, -0.06994142, -0.08634674, -0.046662483, -0.13749412) * go_4(-1.0, 0.0); + result += mat4(-0.028267909, 0.1641077, -0.19964945, 0.023037154, -0.030063655, -0.091514915, -0.07767639, -0.02312143, 0.11070785, 0.15357333, -0.03830176, 0.10832436, 0.0443796, -0.09758842, 0.015634436, -0.06254477) * go_4(-1.0, 1.0); + result += mat4(-0.09528219, -0.19769864, 0.06703834, 0.09207281, -0.032106426, 0.093832366, -0.11258022, 0.05922724, -0.16998139, -0.0017481655, 0.17522462, 0.24669507, 0.052276075, 0.05705078, -0.044763424, 0.053217035) * go_4(0.0, -1.0); + result += mat4(0.18400073, 0.031144079, 0.19051228, -0.07425283, 0.19960524, 0.10420792, 0.009194873, 0.05656284, 0.1877819, 0.08194684, -0.087940305, 0.12211445, 0.17500238, -0.13317922, 0.11282426, 0.1984043) * go_4(0.0, 0.0); + result += mat4(0.12576003, -0.0002440954, 0.032564614, 0.1245738, -0.1214486, -0.21279162, 0.16659847, -0.08634447, 0.13377175, 0.14048073, -0.10597221, 0.015309535, -0.082563356, 0.03762967, -0.01799735, -0.012296961) * go_4(0.0, 1.0); + result += mat4(0.31534046, 0.050005008, 0.010082459, 0.12638511, 0.029427648, 0.012857332, -0.0011064942, 0.021489955, -0.10499517, -0.008449794, -0.09070462, 0.16598962, 0.045353167, -0.04171796, 0.03455617, 0.038862403) * go_4(1.0, -1.0); + result += mat4(0.32602155, 0.25541407, -0.06687199, 0.13391781, 0.034061424, 0.15604642, -0.07522289, -0.011375775, -0.06472148, -0.19092827, 0.14646617, 0.06597225, -0.09730722, 0.08544787, -0.053395346, -0.0874809) * go_4(1.0, 0.0); + result += mat4(-0.21732031, -0.25536, 0.16840498, -0.30361295, -0.032152392, -0.021982064, -0.16944127, 0.07402161, -0.25390545, -0.095749676, 0.032905534, 0.018307336, 0.13753782, -0.15032212, -0.013642775, 0.0014004963) * go_4(1.0, 1.0); + result += mat4(0.10093556, 0.04637517, -0.09635432, -0.05565759, -0.01704443, -0.10422182, -0.010117417, 0.051819284, 0.023235573, 0.30288386, -0.20176506, 0.15881899, -0.0073640156, -0.021833172, -0.091416284, -0.019484103) * go_5(-1.0, -1.0); + result += mat4(0.059036765, 0.0028422088, -0.00083876523, 0.10131841, -0.037765842, 0.020626187, -0.1472255, 0.03169631, 0.047914416, 0.1507232, 0.1537407, 0.45889926, -0.08799094, 0.06833399, 0.21760616, 0.043725714) * go_5(-1.0, 0.0); + result += mat4(-0.037861925, -0.17365238, 0.09285812, -0.008444125, 0.060449697, -0.042576265, -0.13006234, -0.045280218, 0.07202426, -0.37961534, 0.29990852, 0.017368209, -0.040687993, -0.090216674, -0.03596889, -0.10287738) * go_5(-1.0, 1.0); + result += mat4(0.056114856, 0.03898295, 0.0726793, -0.13897386, -0.15011202, 0.06493792, 0.0006375224, -0.035154995, -0.1419182, -0.14487775, 0.010234703, 0.09966922, -0.21430752, 0.19036353, 0.1385904, -0.16709355) * go_5(0.0, -1.0); + result += mat4(0.13767402, -0.009218388, 0.34366035, -0.020337667, 0.104603715, 0.02890772, -0.21139692, -0.07398855, -0.047926538, -0.030577378, 0.18128897, 0.15607865, 0.035373166, -0.08518856, 0.03877098, 0.056739412) * go_5(0.0, 0.0); + result += mat4(-0.23528527, -0.06553831, -0.17654425, -0.042807654, -0.0023833162, -0.078174345, -0.06520886, 0.108480416, -0.07252387, 0.05465845, -0.43291152, -0.035231944, 0.13130796, -0.010083894, -0.15207918, 0.015428884) * go_5(0.0, 1.0); + result += mat4(-0.026347723, -0.065349065, -0.083640285, -0.0015784341, 0.036224395, -0.096346684, -0.065972336, -0.10886569, -0.19007617, 0.086069055, 0.08958893, -0.09020663, 0.12338649, 0.08924214, -0.050577816, 0.07367879) * go_5(1.0, -1.0); + result += mat4(-0.09333362, -0.2623413, 0.299135, 0.24848375, 0.037386406, -0.15902545, -0.22746527, -0.054786585, 0.08274337, -0.0357205, 0.05564374, 0.00689044, 0.40519455, -0.33158177, -0.18638985, -0.04642836) * go_5(1.0, 0.0); + result += mat4(0.17579286, 0.11385604, -0.0686301, -0.07236356, -0.16359027, 0.07976716, 0.05401284, -0.086946845, 0.131031, 0.09545254, -0.31800562, -0.008303773, -0.05069259, 0.07527546, -0.045465626, 0.1128337) * go_5(1.0, 1.0); + result += vec4(-0.04240877, 0.019321874, -0.0019326283, -0.09129558); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x40 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.09150374, 0.27307025, -0.29910362, -0.1348109, 0.22943531, -0.3949183, -0.5663888, 0.060001444, 0.10339246, -0.13657793, -0.07578187, 0.3050418, -0.06493081, 0.12776284, -0.38266462, 0.06579857) * g_0; + result += mat4(-0.07931592, -0.067593426, 0.3326977, 0.08658692, -0.15738702, -0.24143377, -0.24007297, 0.3272038, -0.23275268, -0.07847532, 0.3563628, 0.32067114, -0.23376603, 0.0073057627, -0.26839128, 0.009836977) * g_1; + result += mat4(-0.28198138, 0.32377273, 0.09081581, -0.086309046, -0.12054532, -0.462313, 0.0920237, 0.23586476, -0.021723233, 0.36585453, -0.00796165, -0.39974895, 0.29524347, -0.256584, -0.40205815, -0.19578406) * g_2; + result += mat4(-0.28249493, -0.11078143, -0.1662569, 0.2984389, -0.0067178444, 0.34377992, 0.32329297, -0.23714112, -0.18873024, 0.24639177, -0.18014365, -0.214034, 0.4113513, -0.30601293, 0.09141208, 0.047741897) * g_3; + result += mat4(-0.3642344, 0.4233032, -0.4503468, -0.11965398, -0.034085244, 0.18682572, 0.138233, -0.22629389, -0.08205921, 0.12951039, -0.07831761, 0.12225131, -0.08253673, -0.04149855, 0.1658926, -0.22672354) * g_4; + result += mat4(-0.19474551, -0.098459534, -0.026704386, 0.12555447, -0.14878166, -0.13216433, 0.106912896, -0.116285235, -0.102333605, -0.084978595, -0.1978574, 0.26760474, -0.16923113, 0.1709896, 0.324137, -0.0039849947) * g_5; + result += mat4(0.278326, -0.18800737, -0.4307119, 0.033457235, -0.36178744, -0.10627576, 0.108752854, -0.1976515, -0.03780597, -0.08123979, -0.12383117, 0.27845758, 0.17234688, 0.35611427, 0.20723963, -0.079292715) * g_6; + result += mat4(-0.5295802, 0.08056841, 0.1919099, -0.067211255, 0.41047558, 0.14845635, 0.29295865, 0.36605957, 0.1662992, 0.26510397, 0.2262399, 0.105923004, -0.42799288, -0.020592844, -0.09260191, 0.041266896) * g_7; + result += mat4(0.3346207, -0.1813917, 0.12152124, -0.10919295, 0.0510005, -0.03250092, 0.20248795, 0.05000007, 0.31189185, -0.5248881, 0.17411484, 0.50529236, -0.10991088, -0.055482015, 0.3692675, -0.08483728) * g_8; + result += mat4(-0.209644, -0.294786, -0.23882675, 0.15662841, 0.15820913, 0.090583235, 0.09068973, -0.038006596, -0.16551273, 0.056037854, 0.108854815, -0.46387982, 0.092163965, 0.053796794, -0.24753033, -0.022790147) * g_9; + result += vec4(-0.03865883, 0.02926021, -0.01725902, -0.013565478); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x40 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.0040288265, -0.015393535, -0.07260242, -0.15472066, -0.19534549, -0.39122432, 0.16078798, -0.5742789, 0.15768866, 0.2655791, 0.15935476, -0.047498103, 0.064498045, 0.076590106, -0.4061225, 0.37775257) * g_0; + result += mat4(0.2614361, 0.017933317, 0.1832562, 0.06045294, -0.4276279, -0.10364118, 0.25701275, -0.19153634, -0.07767676, -0.04028147, 0.48517522, 0.04272645, 0.15032586, -0.009070223, -0.077463955, -0.30442774) * g_1; + result += mat4(-0.28623474, -0.23038289, 0.24896185, -0.0850123, 0.2147713, -0.04781785, -0.53589386, 0.18313637, 0.14259681, 0.010933099, -0.15293483, -0.3547061, -0.041572977, 0.12857276, 0.07659088, 0.41463402) * g_2; + result += mat4(-0.23288313, -0.10809953, 0.03761914, 0.11731379, 0.2614991, 0.30079544, 0.09526279, 0.60236603, -0.27493668, -0.059467852, -0.11954311, -0.1494763, 0.1530606, -0.06316779, -0.16075373, -0.19744329) * g_3; + result += mat4(-0.23136528, 0.15367796, -0.114170656, -0.075603075, 0.115280285, 0.065568104, -0.2712825, 0.08988661, 0.07555022, 0.20744222, -0.17012368, -0.070289165, -0.13714345, 0.047158517, -0.0038408411, 0.42667535) * g_4; + result += mat4(-0.023408122, 0.21510267, 0.048198875, -0.034309026, -0.4022738, 0.27354932, -0.3187103, -0.08941432, -0.39407676, 0.040392227, 0.30848974, 0.0047349343, 0.074711114, -0.0855602, -0.10068395, -0.29605198) * g_5; + result += mat4(-0.17653674, 0.079635404, -0.26055837, 0.02086439, 0.09741846, -0.30796355, 0.024595756, 0.004988738, -0.03251247, 0.06604017, 0.21450306, -0.11361557, 0.13276732, 0.14402844, 0.10751112, 0.028939316) * g_6; + result += mat4(0.28167632, 0.08593957, 0.08560364, 0.09389072, 0.06070772, 0.1481636, -0.2830234, -0.08872352, 0.08137253, -0.17761461, 0.06556175, 0.38331816, -0.04286456, 0.18249401, -0.015249578, 0.1113206) * g_7; + result += mat4(0.03386872, -0.16347472, 0.046639867, 0.2082717, 0.05713075, 0.22504792, 0.33825234, -0.1434717, 0.14420202, -0.31768665, -0.028941685, 0.295254, 0.07706925, -0.19025062, 0.25294247, -0.08384886) * g_8; + result += mat4(0.14903983, 0.07136475, 0.15917307, -0.11220863, -0.061577477, -0.24206571, -0.033777636, 0.19905542, 0.25331694, 0.28196925, 0.17308664, -0.20262258, 0.19050619, 0.059853118, -0.29986638, -0.48297527) * g_9; + result += vec4(0.012018454, 0.019300776, -0.029552516, -0.007941907); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x40 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf2 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.100268096, 0.23665515, -0.09436204, -0.28319857, -0.12872986, 0.08509328, -0.18415087, -0.03999439, 0.2617383, -0.15970403, -0.22670083, -0.03881397, 0.13375872, 0.16361052, -0.182056, -0.05152662) * g_0; + result += mat4(0.06983459, 0.05918782, 0.0019706702, 0.19103576, 0.0012266171, 0.16021517, -0.28444147, -0.08221082, -0.22690836, -0.28738838, -0.30523723, -0.06292484, -0.45787656, -0.4256781, 0.15011774, 0.19713745) * g_1; + result += mat4(-0.108251706, -0.09575882, 0.14541572, -0.023061674, -0.09192183, 0.20073768, 0.09588695, -0.12282409, 0.49980986, 0.035110943, 0.05705307, 0.1849613, 0.3072823, -0.2778156, -0.122733004, 0.23415174) * g_2; + result += mat4(-0.16456233, -0.29974493, 0.28406498, 0.25605485, -0.011572488, -0.08334007, 0.07203565, -0.094384134, 0.22027689, -0.21240151, -0.4200112, 0.12086537, -0.2557046, -0.21156469, 0.19297566, -0.122556984) * g_3; + result += mat4(-0.0512366, -0.21540374, -0.42458904, -0.14916559, -0.006133572, -0.047171656, 0.19129787, 0.22396603, 0.33921507, 0.12842081, 0.09855959, 0.12153268, 0.29035586, 0.36441955, -0.1877515, -0.13069488) * g_4; + result += mat4(0.13884968, -0.18599026, -0.252318, 0.06907854, -0.06035006, 0.09183405, -0.28984216, 0.09260213, -0.37774235, -0.0048559248, 0.0033081435, -0.2721911, -0.10626775, -0.000512303, -0.049684875, -0.032722652) * g_5; + result += mat4(-0.2273582, 0.1474099, -0.059321042, -0.15232776, 0.0116628725, -0.08633413, 0.05804712, -0.07626975, -0.10478975, 0.21511218, 0.41905594, 0.06739017, 0.30586454, -0.18381259, 0.09150968, 0.052257504) * g_6; + result += mat4(0.11706192, -0.22794026, 0.0827107, 0.08569464, -0.21939716, 0.45023325, 0.37169182, 0.042208318, 0.11287388, 0.32384142, -0.413992, 0.05821689, -0.3391042, 0.15291925, -0.36155325, 0.0664715) * g_7; + result += mat4(-0.34493464, -0.15583536, -0.14152767, -0.12836038, -0.09319977, 0.25707567, 0.14277849, 0.40507147, -0.031562362, 0.23948264, 0.1699104, 0.27782723, 0.08283791, -0.26529413, -0.106602244, -0.07465849) * g_8; + result += mat4(0.1887244, 0.252802, 0.32356924, 0.016438756, -0.08394548, -0.15049113, 0.04155357, -0.16676176, -0.31628004, 0.15818349, 0.095658414, -0.19542241, 0.07927821, 0.066871084, 0.09443255, -0.07224674) * g_9; + result += vec4(-0.0043032477, 0.009764352, 0.005997259, -0.007073129); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_5_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.028464707, -0.0076998044, -0.098759785, -0.12704554, 0.140781, -0.08847565, 0.12551343, 0.054319832, 0.039179612, -0.12079395, 0.0840237, -0.04765479, -0.0787157, 0.027072273, 0.032441992, 0.092848614) * go_0(-1.0, -1.0); + result += mat4(0.016368933, 0.08495167, 0.045507867, -0.017810903, -0.13693541, 0.07793141, -0.0847867, -0.02674938, 0.03917831, 0.0583348, 0.14067759, 0.05404356, -0.056053232, -0.08153035, -0.016500872, -0.09246647) * go_0(-1.0, 0.0); + result += mat4(-0.2207446, 0.09187981, 0.26351583, -0.10837247, -0.16074996, 0.021806644, 0.064383596, -0.100479834, -0.15344208, 0.029999373, 0.054487687, 0.024963278, 0.027253391, 0.044593908, 0.0028602716, 0.0068189986) * go_0(-1.0, 1.0); + result += mat4(-0.012270755, 0.17872953, 0.064162925, -0.009187634, -0.07101044, -0.15244298, 0.07641365, 0.045359824, 0.047280394, -0.11816058, 0.04818328, -0.06783152, 0.03312469, 0.09022799, 0.1502202, -0.15722868) * go_0(0.0, -1.0); + result += mat4(0.046646576, 0.06868044, 0.02820867, 0.21969767, 0.1243955, 0.26142406, -0.23144223, -0.08796293, 0.0398647, -0.062436674, 0.027423117, 0.13905616, -0.10112542, 0.016614847, 0.09284281, 0.10616967) * go_0(0.0, 0.0); + result += mat4(-0.11414351, -0.17635559, 0.23484671, 0.06690661, -0.05780663, -0.09876118, -0.0064057475, 0.190833, -0.07758326, 0.09217876, 0.1301408, 0.05124073, -0.0033208567, 0.10413071, -0.10017004, -0.18671247) * go_0(0.0, 1.0); + result += mat4(0.076304704, 0.031909514, -0.16726097, -0.044897225, -0.09151517, -0.08688521, 0.10994057, 0.098014385, 0.11175995, -0.07900182, -0.07106507, 0.09704293, 0.036083866, 0.1263971, 0.016215103, -0.047700983) * go_0(1.0, -1.0); + result += mat4(-0.28958046, 0.050771553, -0.0023323307, 0.0675595, -0.04316364, 0.044133425, -0.18150502, -0.0850111, 0.006924408, -0.06393128, 0.10205554, 0.15342334, 0.054154534, 0.022624893, 0.010953078, 0.13673723) * go_0(1.0, 0.0); + result += mat4(-0.03409413, 0.028405178, -0.05127796, -0.034043357, -0.0270218, 0.09640163, 0.11765684, 0.09158879, 0.06125932, 0.0020331615, -0.071551085, -0.10743251, 0.045237638, 0.013760218, -0.11425174, -0.01588719) * go_0(1.0, 1.0); + result += mat4(0.058918588, 0.009444897, -0.047927774, 0.09019786, 0.043345723, -0.023809604, -0.038707208, 0.028489659, 0.06825553, 0.0654595, -0.054454252, 0.024170533, -0.0630477, 0.063538656, -0.17238533, 0.068992056) * go_1(-1.0, -1.0); + result += mat4(-0.106661834, 0.1729409, -0.017353304, 0.1547866, -0.077660635, -0.13269295, -0.009888048, -0.100246325, -0.07955747, -0.07415859, 0.13797416, 0.007907938, -0.17988227, -0.035715256, -0.1665264, 0.017300867) * go_1(-1.0, 0.0); + result += mat4(0.012326813, 0.081755504, 0.09083725, 0.14236847, -0.06723204, 0.16559705, -0.019120784, 0.031893797, -0.043700054, -0.0021675762, -0.20446324, -0.04587342, 0.112972125, 0.13510054, -0.056528084, -0.14940956) * go_1(-1.0, 1.0); + result += mat4(0.1754108, -0.087218195, -0.11325469, -0.16805157, -0.1142211, 0.17406312, -0.059973314, -0.10717304, 0.18472707, -0.012734006, -0.007386818, -0.02337229, 0.0022313017, -0.08310493, -0.144318, -0.040679064) * go_1(0.0, -1.0); + result += mat4(-0.11436214, -0.032701626, 0.10555086, 0.097844794, 0.042062867, -0.06411445, -0.22296551, -0.02218468, -0.12138648, -0.219672, -0.027106086, 0.16117609, 0.4029761, 0.2874066, -0.24300526, -0.13958555) * go_1(0.0, 0.0); + result += mat4(0.19136569, -0.16899914, 0.28855026, 0.01604013, 0.23858279, 0.017443515, 0.116519265, -0.14106062, 0.2628952, 0.04199648, -0.15968476, -0.13577467, -0.26726186, 0.16894239, 0.1161797, 0.22232126) * go_1(0.0, 1.0); + result += mat4(0.03433782, -0.4377368, 0.07592228, 0.050765358, 0.016779365, -0.2814908, -0.054651145, 0.14099401, 0.009071582, -0.077537715, 0.03849815, 0.10649713, 0.13704073, -0.0066545433, 0.021307606, -0.020097127) * go_1(1.0, -1.0); + result += mat4(-0.07976216, 0.23822626, -0.17063715, 0.20297636, 0.023039242, 0.06014194, -0.15967317, 0.08240807, 0.009169198, 0.07917161, -0.054458518, 0.040417165, -0.04217864, -0.30155832, 0.0045507564, 0.31573528) * go_1(1.0, 0.0); + result += mat4(0.2465092, -0.18369976, 0.21851197, 0.09743678, -0.011960415, -0.008661719, 0.016011793, -0.08833815, -0.07458915, 0.11310172, -0.067554794, -0.051886413, -0.05756129, -0.05044447, -0.049218442, -0.1251358) * go_1(1.0, 1.0); + result += mat4(-0.105254, -0.060052536, -0.068924, -0.032004643, 0.09716229, -0.0237528, 0.0020337559, -0.09548248, 0.015624795, 0.018132908, -0.083482854, 0.069631234, -0.12218026, -0.016112767, -0.121688485, 0.006671939) * go_2(-1.0, -1.0); + result += mat4(0.060343012, 0.07173265, 0.033514615, -0.035466213, 0.06612058, 0.045815025, 0.015730558, -0.0010985638, 0.0484444, 0.045952056, -0.16152261, 0.052448895, -0.06334492, 0.07493364, 0.047932435, -0.030090101) * go_2(-1.0, 0.0); + result += mat4(0.11831878, -0.10772223, 0.10751084, -0.046449114, -0.15613122, -0.104276486, 0.1560631, 0.097843975, 0.09562602, -0.021978563, -0.21964736, -0.041462947, 0.0047826758, -0.032129213, 0.0023565618, -0.07376749) * go_2(-1.0, 1.0); + result += mat4(-0.15722834, -0.02632728, -0.17637573, -0.016288143, 0.011352041, 0.17230697, -0.05609241, 0.009408289, -0.06377007, 0.047789995, -0.0070850886, 0.034160197, -0.06458776, 0.07284792, 0.015426501, -0.23143877) * go_2(0.0, -1.0); + result += mat4(0.16319363, -0.025108967, -0.11674793, -0.009718719, -0.24873121, -0.10892215, 0.028181374, 0.2013077, -0.28780007, 0.09197797, -0.19682473, 0.093545504, 0.16686925, -0.042942066, 0.028844355, -0.24561931) * go_2(0.0, 0.0); + result += mat4(0.02991238, -0.11548832, -0.10701962, -0.01710372, -0.12132859, -0.06009217, -0.023218688, 0.10426464, -0.028997114, 0.004257648, 0.15071645, 0.03490751, -0.085863, -0.09392611, 0.050106034, 0.07477858) * go_2(0.0, 1.0); + result += mat4(-0.052695, -0.027481645, -0.05693278, 0.13416721, -0.08503671, 0.10108925, 0.084225155, 0.046710003, 0.08953068, -0.019499833, -0.006807835, -0.06288796, -0.1796082, 0.07454893, 0.01883766, 0.19803225) * go_2(1.0, -1.0); + result += mat4(0.04731733, 0.019041717, 0.11986274, 0.04895554, 0.13460037, 0.09323725, -0.08101143, -0.1452532, -0.03448016, -0.014483966, 0.0044403495, 0.216204, 0.034118585, 0.07380492, -0.08073832, -0.043065764) * go_2(1.0, 0.0); + result += mat4(0.031919103, 0.09095364, 0.053522676, 0.016255917, -0.08083637, -0.04807174, 0.053042952, -0.05141583, 0.081504606, 0.042846117, 0.03303765, -0.1883798, -0.0036450704, -0.12002698, -0.1244, -0.080678105) * go_2(1.0, 1.0); + result += mat4(-0.16122584, -0.008212501, -0.05120157, -0.022778573, -0.053276125, -0.042286847, -0.17664416, -0.12954712, -0.0761379, 0.07720356, 0.121285215, 0.057230424, 0.12885493, 0.05540465, -0.10127235, -0.1046722) * go_3(-1.0, -1.0); + result += mat4(0.0059682084, 0.058793347, -0.06450121, 0.029610962, 0.07985826, -0.022933831, -0.08538027, -0.23693174, -0.18352564, -0.14361037, 0.14683245, -0.17059821, 0.24653074, -0.10358226, -0.18449867, 0.28826568) * go_3(-1.0, 0.0); + result += mat4(0.109402634, -0.17495593, 0.02872942, -0.26577842, -0.010520629, 0.0257475, -0.019649142, -0.0042494787, 0.0977922, -0.035693713, -0.16548857, -0.14473264, 0.10279481, -0.03761352, 0.08277982, -0.054506484) * go_3(-1.0, 1.0); + result += mat4(0.07834562, -0.13401975, -0.06554887, 0.0344188, -0.005033, -0.13738358, -0.08895871, -0.17375943, 0.008980332, 0.17845936, -0.031673137, -0.032780677, -0.17496772, -0.06567684, -0.0879067, -0.17833589) * go_3(0.0, -1.0); + result += mat4(0.08132115, 0.14785478, -0.058087964, -0.142158, -0.15369953, -0.15217854, -0.19941473, 0.034333754, -0.19056644, -0.09883329, 0.20173714, 0.07546254, -0.06873401, 0.024350522, -0.22705045, 0.09726326) * go_3(0.0, 0.0); + result += mat4(-0.061119404, 0.1498806, 0.18721437, 0.011330382, -0.015643744, 0.07533644, -0.022020899, -0.076170765, 0.07889519, -0.14315721, 0.04101124, -0.011181962, -0.19103004, -0.14469305, -0.02276792, 0.015672136) * go_3(0.0, 1.0); + result += mat4(-0.1616954, -0.14240324, 0.020345474, -0.028972428, 0.029273145, -0.06964966, -0.12913519, -0.050227784, 0.16789235, -0.013613857, 0.084663846, -0.15132128, 0.10895483, -0.20322122, -0.09307093, -0.0062330775) * go_3(1.0, -1.0); + result += mat4(-0.05225281, 0.066603184, 0.031096019, -0.09310155, 0.14514507, -0.009998913, 0.033743512, -0.13563685, -0.021589456, 0.32727543, 0.0035744726, -0.21270075, -0.017812472, -0.04773592, 0.052216113, 0.08413973) * go_3(1.0, 0.0); + result += mat4(-0.09710154, -0.07446958, -0.042560603, 0.010112269, 0.09633226, -0.12927702, 0.05526002, -0.009550226, -0.15989332, 0.09077396, 0.26300862, 0.13470653, -0.0029948365, -0.05834304, -0.085342124, 0.010376505) * go_3(1.0, 1.0); + result += mat4(-0.03393304, 0.03905722, 0.064385764, 0.026455093, 0.11423048, 0.1109991, 0.2512801, -0.00018190061, -0.119585566, 0.019256035, 0.17137274, -0.03141496, 0.10388094, 0.014761465, 0.01792128, -0.048041224) * go_4(-1.0, -1.0); + result += mat4(0.056538835, -0.044805653, 0.088352054, -0.040668774, 0.07658913, 0.25435007, -0.103390075, -0.16600297, 0.0570918, 0.10878821, -0.09427662, -0.020814264, 0.095397346, -0.022407921, 0.04603558, 0.08292191) * go_4(-1.0, 0.0); + result += mat4(-0.18320225, 0.014180938, 0.12366831, -0.037870515, -0.123277426, -0.104366444, -0.03690819, 0.055727687, -0.060254056, 0.105991386, 0.053059157, -0.05825196, -0.047167964, -0.05536192, -0.18967348, 0.07715401) * go_4(-1.0, 1.0); + result += mat4(-0.061500985, 0.023106435, 0.08949974, 0.05603795, -0.1613715, -0.11446802, 0.012662355, -0.15974553, -0.34093174, -0.13919024, 0.06844236, 0.12359827, 0.062890425, -0.04880532, 0.14354451, -0.13378207) * go_4(0.0, -1.0); + result += mat4(-0.057209305, 0.028597657, 0.12902237, 0.06997324, 0.22331005, 0.2792173, -0.052616224, -0.13297799, -0.033562534, 0.14029196, -0.1783528, -0.0053741536, -0.29229236, -0.06684428, -0.10517437, 0.21203697) * go_4(0.0, 0.0); + result += mat4(0.10947225, -0.06931686, -0.14889559, -0.085129574, 0.06926651, -0.10544586, 0.1296569, 0.09153423, -0.20934357, 0.122589186, -0.058906972, -0.07838707, 0.17665568, 0.2367453, -0.0015753311, -0.060034733) * go_4(0.0, 1.0); + result += mat4(-0.062648535, 0.16448666, 0.022529785, -0.098661594, -0.051497877, -0.019073786, -0.0044184057, -0.0136231575, -0.018079886, 0.021235423, -0.15162809, -0.24303406, -0.11024918, -0.014827531, 0.0070990776, -0.047530305) * go_4(1.0, -1.0); + result += mat4(-0.13215098, 0.04323701, -0.124653995, 0.031014644, 0.2403102, 0.054318085, -0.113241635, 0.03494056, 0.14895897, 0.22553281, -0.039462954, 0.0036292854, 0.10496238, 0.40768668, -0.17489201, -0.21029839) * go_4(1.0, 0.0); + result += mat4(-0.12505935, 0.033010297, -0.07171161, -0.13023305, 0.13043536, 0.07766028, 0.043315243, 0.00273432, 0.010559837, 0.2449146, 0.103413016, 0.061280526, 0.019433588, 0.09705379, 0.1413594, 0.21677981) * go_4(1.0, 1.0); + result += mat4(0.17339379, 0.07445689, 0.047527492, 0.04073989, 0.16571555, 0.094307356, 0.05570808, 0.050082114, 0.26008093, 0.0011750524, -0.056953136, 0.023889272, 0.07920375, -0.15462793, -0.10859703, 0.22225638) * go_5(-1.0, -1.0); + result += mat4(-0.14460795, -0.23120734, 0.09880609, 0.008740065, -0.08394352, -0.07484427, 0.15508145, 0.08163845, 0.0001757717, -0.035541482, -0.118501745, -0.018500883, 0.1785295, 0.24038094, -0.102198996, 0.2523893) * go_5(-1.0, 0.0); + result += mat4(-0.17098859, -0.07872716, 0.0038054434, 0.08042515, -0.117264174, -0.041794434, -0.13579053, -0.20424524, 0.059450265, 0.040410843, 0.16315247, 0.0324009, 0.114713356, 0.017386664, -0.14457619, -0.21004651) * go_5(-1.0, 1.0); + result += mat4(-0.066141926, 0.15882061, 0.13307483, 0.114355765, -0.07900095, -0.156907, -0.037288003, -0.14757472, -0.010197741, 0.052261543, -0.11223866, -0.0031431175, -0.07645977, 0.13810956, -0.13983661, 0.19276282) * go_5(0.0, -1.0); + result += mat4(-0.24525023, -0.2165669, -0.06156368, -0.020571185, 0.28487962, -0.13734438, -0.14961216, -0.26031163, -0.039832775, -0.14188278, 0.0017960059, -0.11811938, 0.049912933, 0.13938166, -0.1890474, -0.13010345) * go_5(0.0, 0.0); + result += mat4(0.086862795, 0.13455878, -0.06575038, 0.010967355, 0.31994078, 0.065179855, 0.09303991, -0.111216314, -0.023312982, -0.0056160437, 0.10833287, 0.123307824, 0.12041721, -0.016003655, -0.060148813, -0.21671617) * go_5(0.0, 1.0); + result += mat4(0.3597002, -0.13594855, -0.22724168, 0.08974383, -0.101636834, -0.046170574, -0.06452495, 0.0619337, -0.0379112, 0.05345647, -0.0062067215, -0.13294907, -0.039528616, -0.110734314, -0.09750029, 0.083113104) * go_5(1.0, -1.0); + result += mat4(0.103449695, 0.3424504, 0.045992997, -0.21983469, 0.06994479, 0.004806882, 0.019098198, -0.119197115, 0.08848508, -0.039956793, 0.23169635, 0.04660099, -0.06981954, -0.051656332, -0.24439722, 0.03596607) * go_5(1.0, 0.0); + result += mat4(-0.06712761, -0.00913006, -0.036801785, -0.03777065, 0.0730815, 0.09828279, -0.18643986, 0.027277572, -0.0159672, -0.0015596154, -0.23985957, -0.0040241885, -0.16967058, -0.058974106, -0.094192326, 0.1336856) * go_5(1.0, 1.0); + result += vec4(-0.076249816, 0.07466298, -0.051554482, -0.11264957); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.106834725, 0.18024336, -0.027624073, -0.06300384, 0.013369189, 0.10998351, 0.07253877, 0.0065344926, -0.008734026, 0.048019607, -0.003248937, -0.047845103, -0.07095922, 0.012949799, 0.030568307, 0.15588635) * go_0(-1.0, -1.0); + result += mat4(-0.049377117, 0.0033155335, -0.038582377, 0.013099166, -0.051002443, 0.07695772, 0.12755409, 0.06646013, 0.10287292, -0.008030997, 0.059517276, 0.118444875, -0.026919635, 0.09400291, -0.17555143, 0.016028926) * go_0(-1.0, 0.0); + result += mat4(0.03425934, 0.09273214, 0.014711443, -0.0694573, 0.04459762, 0.010852803, -0.098513305, -0.056785677, -0.13676372, -0.030752834, -0.007839484, -0.05978732, -0.061603706, 0.052086987, -0.072405905, -0.026566304) * go_0(-1.0, 1.0); + result += mat4(-0.058037378, 0.023209494, 0.07073123, 0.020005, -0.1177162, 0.13493189, 0.019038215, 0.06115233, -0.13919368, 0.12740569, -0.012965469, -0.07058033, 0.21871229, -0.068229064, -0.11406179, -0.12661217) * go_0(0.0, -1.0); + result += mat4(-0.097219005, -0.12651765, 0.21862286, 0.103037514, 0.11405085, 0.22731417, -0.1130025, -0.04877183, 0.1175796, 0.17782913, 0.057885252, -0.31179765, -0.17180386, 0.059727516, 0.17149255, -0.006370171) * go_0(0.0, 0.0); + result += mat4(0.060737263, 0.1149685, 0.1667211, -0.08434202, 0.018612696, 0.032902695, 0.038428612, -0.07943687, 0.11031175, 0.014294415, -0.11065108, 0.019858751, 0.04304977, 0.05111388, -0.10061939, -0.019913884) * go_0(0.0, 1.0); + result += mat4(0.022282364, 0.038233023, -0.002318897, 0.037901033, -0.114537284, 0.09081674, -0.07027963, -0.106004134, -0.13187332, 0.06433914, 0.06291799, 0.09183923, 0.026283145, -0.011141791, 0.13830143, -0.059647586) * go_0(1.0, -1.0); + result += mat4(0.026679164, -0.14001994, 0.071175724, -0.010935805, 0.02904883, -0.0839738, 0.10077412, -0.101220585, -0.16763939, -0.037594456, 0.07087901, 0.015410247, 0.08040373, -0.015504971, 0.14327593, 0.07826331) * go_0(1.0, 0.0); + result += mat4(-0.004693859, 0.17341207, -0.0952323, -0.12170305, -0.03480792, -0.01807752, -0.019611124, 0.17014018, 0.033898324, 0.08534683, 0.05537514, -0.093239665, 0.09018517, 0.117878705, 0.025285356, 0.10122994) * go_0(1.0, 1.0); + result += mat4(0.10368713, 0.027397113, -0.059444696, 0.08615468, -0.118322514, 0.20012859, -0.03950898, -0.039341822, -0.051778354, -0.07006863, 0.112342045, 0.06571937, -0.17064667, 0.08475915, -0.04536611, 0.08702029) * go_1(-1.0, -1.0); + result += mat4(-0.012360674, 0.07656913, 0.0848132, -0.2725906, -0.11390571, 0.03258462, -0.10729077, -0.16543134, 0.020651866, -0.030859482, -0.14126211, -0.10496892, -0.1099864, 0.0991522, 0.026140317, 0.13303608) * go_1(-1.0, 0.0); + result += mat4(0.08209687, -0.067372896, 0.13914725, 0.20619772, 0.019196827, 0.14682962, 0.0072439536, 0.024154488, 0.09306064, 0.09079697, -0.039169356, -0.12485728, 0.06439077, -0.020644344, -0.0035471297, 0.056672096) * go_1(-1.0, 1.0); + result += mat4(0.026242072, 0.18251725, -0.15819614, -0.1048932, -0.23641023, 0.1916822, -0.06100835, -0.1605201, 0.07151288, -0.08362524, 0.026452186, -0.08272424, -0.17491712, 0.16357106, -0.22656876, -0.0852402) * go_1(0.0, -1.0); + result += mat4(0.25432497, -0.3179174, -0.20754787, -0.19132249, -0.00055361754, 0.016532842, 0.12478896, -0.06314577, -0.083694994, 0.022240356, 0.08619687, -0.035636988, 0.32484248, -0.17462182, 0.024408465, -0.353279) * go_1(0.0, 0.0); + result += mat4(-0.16208933, -0.22242436, 0.13512996, 0.10687675, 0.03342475, -0.006337535, 0.094075486, 0.21253215, 0.022004139, 0.31110993, 0.08099112, -0.15806697, -0.054819234, -0.2751204, -0.12101108, 0.03239614) * go_1(0.0, 1.0); + result += mat4(0.022792386, -0.02752982, -0.30862072, 0.16691506, -0.11619298, 0.14244734, -0.062969424, -0.028059227, -0.012788347, 0.01715417, 0.0024341452, 0.023399662, -0.060552727, -0.036958337, -0.06770959, -0.01009437) * go_1(1.0, -1.0); + result += mat4(0.029661844, -0.050902784, -0.017142536, -0.15507418, -0.029210325, 0.011607694, -0.07789076, -0.22111364, -0.17677039, -0.019451384, 0.026977273, -0.10413249, -0.4368749, -0.25416267, -0.03914208, -0.051825944) * go_1(1.0, 0.0); + result += mat4(0.103459194, -0.18992494, -0.068039134, 0.25649327, -0.16803737, 0.019372506, -0.05886651, -0.06154365, -0.16578822, -0.056754623, -0.002147329, 0.07532936, 0.031057874, 0.050599203, 0.07240444, -0.1410561) * go_1(1.0, 1.0); + result += mat4(-0.0586574, 0.026906572, -0.011746404, 0.10076384, 0.13755976, -0.13861628, 0.029709747, -0.11754726, -0.17200297, 0.098927505, -0.024392992, 0.16481781, 0.037462868, 0.033325523, -0.07555307, 0.2181384) * go_2(-1.0, -1.0); + result += mat4(0.1581431, -0.10072426, 0.07533967, 0.039553873, 0.08723691, -0.12836275, 0.22338805, -0.11436044, 0.0024439641, 0.08847533, -0.12207052, 0.18953556, -0.10175764, 0.15430617, -0.03604781, -0.071290806) * go_2(-1.0, 0.0); + result += mat4(-0.057867028, -0.11391012, 0.07945617, 0.040399376, -0.014624698, -0.054960378, -0.0994919, -0.06482592, -0.06905486, 0.045492437, 0.0668309, 0.034522235, 0.060679086, -0.0356498, -0.0033573967, -0.054480232) * go_2(-1.0, 1.0); + result += mat4(0.03386215, 0.09717318, -0.14660215, -0.051792927, -0.07220533, -0.1254424, 0.26169837, 0.17314412, 0.17797379, -0.021019243, 0.026199821, -0.07956899, 0.16637664, -0.03227029, 0.052336816, -0.12380936) * go_2(0.0, -1.0); + result += mat4(0.15810388, -0.17028685, -0.08264267, 0.027713222, -0.09655758, -0.03233345, 0.09400583, 0.009685348, 0.06812867, 0.40837774, -0.08880642, 0.059928026, 0.101455815, -0.0036855226, -0.015825639, -0.013063323) * go_2(0.0, 0.0); + result += mat4(-0.17800288, -0.11709777, 0.035400074, -0.015935183, -0.12982886, -0.034546383, -0.0525387, 0.20225286, 0.14220522, 0.061377823, 0.00014960035, 0.13865508, -0.06169547, -0.21942186, 0.22486074, 0.18510453) * go_2(0.0, 1.0); + result += mat4(-0.06434197, -0.039698705, 0.1243853, 0.007825078, 0.18512134, -0.07974655, 0.0105988905, 0.012806189, -0.12235224, 0.07689711, -0.029549513, -0.026154809, -0.028524537, -0.031428084, -0.100929715, -0.0155503135) * go_2(1.0, -1.0); + result += mat4(-0.15794489, -0.079684526, -0.10408266, 0.07326438, -0.04324642, -0.025686411, 0.014985363, -0.02932256, 0.111112125, 0.009606888, 0.10593714, 0.030467978, 0.085972294, 0.09065103, -0.07246925, -0.056814115) * go_2(1.0, 0.0); + result += mat4(0.05297169, 0.15008958, -0.05353517, -0.127785, -0.08239153, -0.01947914, -0.053309202, 0.07587591, 0.04076727, -0.004745353, 0.051420934, 0.03044254, -0.12723267, -0.120072745, -0.012252604, -0.03744495) * go_2(1.0, 1.0); + result += mat4(0.06482235, -0.0017201633, -0.012050286, 0.04936528, 0.115742385, -0.054320365, -0.08183828, -0.023505857, -0.051401738, 0.0067414865, 0.009670556, 0.06426094, 0.03947468, -0.10321029, -0.08444622, 0.052993495) * go_3(-1.0, -1.0); + result += mat4(-0.07336029, -0.16233058, -0.1164956, 0.045084342, 0.0014198005, -0.17943895, -0.023768071, -0.1663619, -0.025011042, 0.026148485, 0.013759884, -0.098297365, 0.016210366, 0.007079621, 0.11841153, 0.1753525) * go_3(-1.0, 0.0); + result += mat4(-0.033714242, -0.06668379, -0.028439678, 0.1648063, -0.0045653633, -0.05041868, 0.041000497, 0.02003046, 0.068131685, 0.07523978, 0.11634907, -0.06306194, 0.025750818, -0.10319425, 0.047172576, -0.10844465) * go_3(-1.0, 1.0); + result += mat4(-0.03303053, 0.110286005, -0.042665612, -0.06289726, 0.14258501, -0.05801775, -0.008891718, 0.024476971, 0.20997447, -0.1037112, 0.12633593, 0.014187738, -0.1353714, -0.08789717, -0.13295253, 0.29773507) * go_3(0.0, -1.0); + result += mat4(0.10294873, -0.1851888, 0.040836353, -0.079780325, 0.009049964, 0.061067987, -0.037473653, -0.12858227, -0.00080504594, 0.0063723954, -0.19619246, 0.23210151, 0.13132347, -0.29248238, -0.012305572, 0.14175442) * go_3(0.0, 0.0); + result += mat4(0.077941544, 0.059704628, -0.026057182, 0.021592934, -0.046874024, 0.031435635, 0.027889056, 0.062328063, -0.086727776, -0.015051202, 0.012940123, -0.06695087, 0.0508335, 0.07990172, 0.031115033, -0.09544595) * go_3(0.0, 1.0); + result += mat4(-0.14133973, -0.05130327, -0.05639438, 0.028651359, 0.22145109, -0.21857488, -0.15814364, 0.114126325, 0.2408882, -0.02402865, 0.056457262, 0.0629091, 0.051337942, 0.032496497, -0.05894634, 0.254206) * go_3(1.0, -1.0); + result += mat4(0.0016876322, 0.07454677, 0.114835136, -0.049408637, -0.072120376, 0.1705347, -0.16119072, 0.045600023, 0.21098119, 0.24293563, -0.13509166, 0.012116296, -0.12684636, 0.0523889, -0.08996256, -0.0686311) * go_3(1.0, 0.0); + result += mat4(0.06702132, -0.026396574, 0.09228047, -0.0034695766, -0.021874752, -0.07655685, -0.024474055, -0.15055239, -0.054425523, -0.09083406, -0.06557004, 0.051595543, -0.03305109, 0.008586375, 0.017779024, -0.11461731) * go_3(1.0, 1.0); + result += mat4(-0.03307554, -0.06281204, -0.07496353, -0.13381115, 0.036915727, -0.17340642, 0.10644906, 0.00012516085, -0.060911283, 0.039559897, -0.1967895, -0.13985567, 0.14165276, -0.15532759, 0.06485333, -0.03891259) * go_4(-1.0, -1.0); + result += mat4(0.024623636, -0.10563493, -0.01394589, 0.0113245975, 0.054890133, -0.14683317, 0.0576108, 0.15072542, -0.038304873, -0.0022316955, 0.18873039, -0.060015254, 0.11154627, -0.02622966, 0.0042637973, 0.055653475) * go_4(-1.0, 0.0); + result += mat4(-0.093863666, 0.019430112, -0.038862027, -0.14432994, 0.02456244, -0.17731488, 0.04138056, 0.058279395, -0.06814862, -0.020570546, 0.00065091706, -0.025593719, -0.10529772, -0.038274746, -0.07037789, -0.017955577) * go_4(-1.0, 1.0); + result += mat4(-0.0851937, 0.030014474, 0.1698261, 0.020931602, 0.053171065, -0.068494216, 0.018686758, 0.089620255, -0.09194484, 0.1438787, 0.09940187, -0.076496385, 0.04232349, -0.030840885, 0.16399838, 0.020260496) * go_4(0.0, -1.0); + result += mat4(0.08122571, 0.08767448, -0.21170379, 0.19122678, 0.029970447, 0.07195186, -0.012424588, 0.19985774, 0.123004064, -0.13519633, 0.068968706, 0.06648504, -0.19634406, 0.023143137, -0.07472079, 0.28444788) * go_4(0.0, 0.0); + result += mat4(0.122882634, 0.122906245, -0.0851795, 0.010272538, -0.091251366, 0.09492852, 0.083030395, -0.08250826, -0.20424134, -0.19424644, -0.054201532, -0.038991813, 0.045982555, 0.3397998, -0.1204989, -0.24832137) * go_4(0.0, 1.0); + result += mat4(0.16821183, 0.011305718, 0.20207065, 0.095515184, 0.042116765, 0.20686843, 0.15248151, 0.021219853, 0.07469842, 0.09721156, 0.19753139, 0.07255913, 0.04181145, 0.09630732, 0.0036390945, -0.029491683) * go_4(1.0, -1.0); + result += mat4(0.03455011, -0.053190827, -0.08367929, -0.11187188, 0.05652753, -0.16741751, -0.09772033, -0.0954943, 0.06448563, 0.06716266, 0.04133831, 0.10973916, 0.5054512, 0.20122768, -0.14347143, 0.03383006) * go_4(1.0, 0.0); + result += mat4(-0.00027249692, 0.11114471, 0.033320926, -0.035830263, 0.04158059, 0.018917672, 0.07155404, -0.019937448, 0.1088646, 0.09364122, 0.06764142, -0.0248769, 0.007933269, -0.04785583, 0.016699005, 0.09242855) * go_4(1.0, 1.0); + result += mat4(0.123951405, -0.09898866, -0.12562813, -0.05182043, -0.1528828, 0.0051535643, 0.017996375, 0.105495945, 0.13044296, 0.019226039, 0.072746694, -0.16398475, 0.15856469, -0.047138795, 0.4050184, -0.3016584) * go_5(-1.0, -1.0); + result += mat4(-0.074630626, 0.012780617, -0.21393219, -0.06545489, -0.012734723, 0.060796153, -0.23992276, 0.23205769, 0.0564601, -0.13263687, 0.17939384, -0.22738916, 0.28362492, -0.26928297, 0.030191405, 0.15930773) * go_5(-1.0, 0.0); + result += mat4(0.037925556, -0.027558923, -0.038443957, 0.096311405, 0.130506, 0.025539404, 0.16404447, 0.10534218, 0.084355734, -0.060958024, 0.06566972, 0.050011195, -0.10619651, 0.12924303, -0.09983825, 0.013296667) * go_5(-1.0, 1.0); + result += mat4(-0.0900194, -0.03988999, -0.04922987, 0.057099067, 0.009509885, 0.13328543, -0.13821216, -0.096323445, -0.123524725, -0.08846302, 0.011430991, -0.0022311457, 0.21333455, 0.13512893, -0.14221409, 0.21651462) * go_5(0.0, -1.0); + result += mat4(-0.10510396, -0.03496734, 0.02728204, -0.023457753, 0.2211027, -0.114457466, -0.057317328, -0.033660043, -0.05826504, -0.3067388, 0.18658683, -0.2569707, 0.12728155, 0.21021031, 0.0016321868, -0.2241057) * go_5(0.0, 0.0); + result += mat4(0.11707437, 0.038405795, 0.115914926, -0.13734217, 0.1966143, 0.11888877, 0.14537278, -0.23218197, -0.07190851, -0.056910247, 0.08407676, -0.012281164, 0.15056735, 0.27459544, -0.15899052, -0.25952014) * go_5(0.0, 1.0); + result += mat4(0.1686332, -0.04361177, -0.14889196, -0.19178064, 0.0467949, 0.011791658, 0.09221666, 0.037405606, 0.015332817, 0.07552529, 0.11025044, 0.05628346, 0.18186994, 0.11332812, -0.018669184, 0.082112476) * go_5(1.0, -1.0); + result += mat4(0.18370725, 0.29005066, 0.017441573, 0.29143426, 0.08587358, 0.018103257, -0.10711215, 0.13872367, -0.14781004, 0.015936527, 0.053144645, -0.038545102, 0.030254137, 0.040837962, -0.034891758, 0.0966979) * go_5(1.0, 0.0); + result += mat4(0.024307111, -0.007671845, -0.043741602, 0.096127465, 0.15333822, 0.026735064, -0.04555884, -0.07535962, -0.10231854, -0.079852626, -0.08178878, -0.03838594, -0.03415992, 0.017432451, 0.118129976, -0.16443917) * go_5(1.0, 1.0); + result += vec4(-0.0041193813, 0.015008556, 0.06934586, 0.008602586); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x48 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.26761916, -0.24422711, 0.21467628, -0.14429939, -0.16867152, 0.019657448, 0.13460818, -0.20023769, -0.11340837, 0.08858731, -0.13437305, -0.35356593, -0.166875, -0.3335764, -0.30487195, -0.18249014) * g_0; + result += mat4(0.0103351595, 0.019523615, -0.085381895, 0.023507696, -0.06509177, -0.17890798, -0.106904104, 0.4792868, -0.16292045, 0.010498117, 0.119574495, -0.27299005, 0.03395923, 0.026821606, -0.41253936, -0.08301559) * g_1; + result += mat4(0.26279557, -0.2541165, -0.18392049, -0.21962899, -0.14001782, -0.23177835, -0.022218328, -0.1427412, 0.091821305, 0.10855345, 0.44959477, 0.058340758, -0.24799977, 0.3565854, 0.013265246, 0.055574704) * g_2; + result += mat4(-0.30022192, 0.09299804, -0.023125056, -0.123527065, 0.4004787, 0.08056971, -0.09605205, -0.121825874, 0.38889158, -0.1483759, 0.13983476, 0.29878005, -0.20108524, 0.1961977, -0.47242287, -0.06553211) * g_3; + result += mat4(0.17079045, 0.08361359, 0.009484214, 0.1707653, -0.087261476, -0.087097056, -0.012763265, 0.29483643, -0.28490525, -0.3195555, -0.08523994, 0.12864676, 0.06112412, 0.06797802, 0.40068462, 0.11056894) * g_4; + result += mat4(-0.13525724, 0.22686912, 0.28670293, 0.35410637, 0.25993523, -0.1638555, -0.17513171, 0.17038722, -0.044490904, 0.1274143, -0.025726566, -0.19816703, -0.29416955, -0.06961644, 0.030743139, 0.11367489) * g_5; + result += mat4(0.18545562, -0.06487542, 0.33482194, -0.24661279, -0.32046458, 0.3974365, 0.23327115, -0.20816243, -0.121703945, -0.13698983, 0.037402794, -0.3681139, 0.2559689, 0.0068038814, 0.15202744, 0.28728062) * g_6; + result += mat4(0.09979532, -0.014131657, -0.10398607, 0.2152131, -0.14150284, -0.05365564, -0.271173, -0.3405926, -0.11394731, -0.016010681, 0.25552076, 0.37970966, -0.2593704, 0.1591259, -0.25309658, -0.12218305) * g_7; + result += mat4(0.1692998, 0.067247115, 0.12935598, -0.12525293, 0.32433978, -0.34517387, -0.069578916, -0.23326226, -0.064913265, 0.2855713, 0.20725873, -0.0967844, 0.083778754, 0.12616636, 0.018192552, 0.12799433) * g_8; + result += mat4(-0.33400214, 0.22635528, -0.19802323, -0.047504075, 0.16644837, 0.04351617, 0.36790857, 0.08537014, -0.14359091, -0.1098514, 0.17290404, 0.15990348, -0.071987584, -0.05375565, 0.18347272, 0.08445061) * g_9; + result += mat4(-0.0017842463, 0.11356512, -0.23591736, -0.25712514, -0.006414402, 0.4143378, 0.1908977, 0.52574486, -0.11780233, -0.16473259, 0.060708508, -0.054775394, -0.09365787, 0.2175931, 0.2067786, 0.34738192) * g_10; + result += mat4(0.5713227, -0.43584484, 0.002311247, 0.35608718, -0.23530786, 0.031132858, 0.25841874, -0.1973695, -0.13229723, -0.1728666, 0.0757621, -0.29117447, -0.08741721, 0.13616516, -0.30073285, -0.18420693) * g_11; + result += vec4(-0.021890169, -0.026031738, -0.06421138, -0.055722203); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x48 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf1 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.38945672, -0.15583369, 0.39306244, -0.13897201, 0.11470281, 0.0070681917, -0.033763073, 0.15643148, 0.22714609, 0.024933932, -0.15510249, -0.080083966, -0.0042226757, -0.06603862, 0.23811841, -0.32394788) * g_0; + result += mat4(-0.06128401, 0.054259196, -0.08520396, -0.09865539, 0.34222758, 0.3883786, -0.30866903, -0.1013294, 0.1554453, -0.042319432, -0.088941224, 0.09722677, 0.13703698, 0.09614998, -0.085818544, 0.21931672) * g_1; + result += mat4(0.21811181, -0.14642404, 0.15328391, 0.27492282, 0.017405918, -0.064721376, -0.17901668, 0.18575072, -0.22293139, 0.071663104, 0.086893745, 0.13848016, -0.043508906, 0.05155524, 0.01965522, -0.23922569) * g_2; + result += mat4(0.20807248, -0.26891938, -0.15629172, -0.106703185, 0.38624528, 0.11624259, -0.01337477, -0.060828242, -0.40988693, -0.045406528, 0.24799256, -0.041767262, 0.0039274395, 0.10462824, 0.2424475, 0.329761) * g_3; + result += mat4(-0.2549953, 0.02627463, 0.16588904, -0.16302574, -0.05798094, -0.102065355, 0.051757824, 0.20152503, -0.18023098, -0.43803477, -0.11134416, 0.22741254, -0.10234647, 0.17433725, -0.2685737, -0.18413258) * g_4; + result += mat4(-0.27022618, 0.3230193, -0.30969992, -0.17705725, 0.13844849, 0.29754448, 0.10819534, -0.1418908, 0.10238312, 0.02931327, -0.2183156, -0.12163026, -0.13901141, -0.042728595, 0.04175075, -0.3803353) * g_5; + result += mat4(-0.16304304, -0.091977976, -0.24040937, -0.21812437, -0.12155577, -0.16794856, 0.29842067, 0.17197362, 0.11366187, 0.22641197, -0.0904384, 0.22736219, -0.18613777, -0.24540202, -0.101548284, -0.2319356) * g_6; + result += mat4(-0.06359172, 0.003388455, -0.06142785, -0.21898538, -0.13489254, 0.3798411, -0.11154017, -0.02557614, 0.38281298, -0.20294727, -0.09908404, 0.2206924, 0.18847103, -0.026022637, -0.021512525, 0.30209598) * g_7; + result += mat4(-0.14910938, 0.08331422, -0.07876587, 0.33450446, 0.18822157, -0.28672597, -0.21216297, 0.09774327, -0.15903074, -0.11264206, 0.15068948, 0.24262539, -0.0555986, 0.040748212, 0.1432122, 0.021155685) * g_8; + result += mat4(0.33370045, -0.21974795, -0.29980183, -0.13374488, 0.022646265, -0.13715576, 0.06832448, -0.02061188, 0.1425013, 0.027876817, 0.08250215, -0.064872354, -0.08560185, 0.2952806, 0.23416562, -0.03025477) * g_9; + result += mat4(-0.09395241, 0.017307205, 0.12121946, 0.04245705, 0.064785376, -0.041980207, 0.25907257, 0.07365294, 0.176773, -0.07988214, -0.23026212, 0.10206242, -0.13956478, -0.05496991, -0.41516188, -0.120178975) * g_10; + result += mat4(0.24655807, 0.28612685, -0.42955264, 0.047639456, -0.026326181, -0.051772635, 0.030225411, 0.0476083, -0.0844218, 0.27088377, 0.24819367, 0.023990134, -0.05364132, 0.01713283, -0.20104195, -0.030321445) * g_11; + result += vec4(0.0063284356, -0.007114507, 0.014496636, -0.0048167584); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x48 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf2 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.28125653, 0.25701848, 0.20101643, 0.5281567, 0.26044676, -0.0461423, 0.23783551, -0.24269718, -0.048285794, -0.14693165, 0.10931955, 0.055711113, -0.23280147, -0.01317713, -0.17544006, 0.21709861) * g_0; + result += mat4(-0.08328998, -0.031984776, -0.07394345, -0.30742306, 0.2663806, 0.18147124, 0.07257191, 0.120762065, 0.3541939, 0.26340798, -0.46390432, 0.018954063, 0.10409174, -0.10490177, 0.10593656, 0.0628627) * g_1; + result += mat4(-0.032924887, -0.15148862, 0.18510309, 0.16908437, 0.10370028, 0.022468375, -0.11225163, -0.09905774, 0.13124186, -0.10389915, 0.13148285, -0.07210047, -0.12430891, 0.15495282, -0.1387402, -0.1870354) * g_2; + result += mat4(-0.06593955, 0.08320663, 0.045904607, -0.19401237, -0.09821163, 0.1250965, -0.09813775, 0.06319873, 0.196712, 0.06502086, -0.18785718, -0.2192117, -0.2976963, 0.035152618, -0.011372132, 0.16548428) * g_3; + result += mat4(0.16684611, 0.30011636, 0.028905347, 0.05727758, -0.22959393, -0.244406, 0.1341724, -0.102163084, -0.12952183, 0.11940772, 0.50821495, -0.009484609, -0.06948309, 0.0072816983, -0.15294522, 0.2092066) * g_4; + result += mat4(0.022403454, -0.007886967, -0.06732929, -0.018902952, -0.0013836037, -0.29473454, -0.044799604, 0.072756514, -0.030483285, 0.26202264, 0.17527826, -0.008713192, 0.29756203, 0.13983198, 0.07839081, 0.019387554) * g_5; + result += mat4(-0.16632473, 0.114597425, -0.04930454, 0.21361813, -0.0512679, -0.24750078, 0.41110075, -0.06739092, 0.3819155, 0.27142018, 0.002062295, -0.21381181, -0.17034262, -0.5128788, 0.1978073, 0.052122597) * g_6; + result += mat4(-0.29126012, -0.1758868, -0.29398203, 0.19212133, 0.08524374, 0.06918904, -0.22941263, 0.090433136, -0.053510923, -0.17689814, 0.1758969, 0.009342475, 0.27690578, 0.25371844, 0.24096957, -0.22880019) * g_7; + result += mat4(0.068742655, 0.22967601, 0.29380092, -0.15837927, -0.16055553, 0.1671522, 0.117854536, 0.082386516, 0.273745, -0.46557623, 0.3121532, 0.026219485, 0.2669753, -0.29373366, -0.25829294, 0.07983141) * g_8; + result += mat4(-0.19932887, -0.14828281, -0.40875518, 0.04568025, 0.047040872, -0.01525455, 0.14397773, -0.11989029, 0.17056611, 0.1253716, 0.4775329, -0.10225481, -0.24495989, 0.04492594, -0.035991665, -0.08934401) * g_9; + result += mat4(0.06003682, -0.017648386, 0.20581077, -0.3805033, 0.15103109, 0.06460132, 0.16655886, -0.26180133, 0.06786087, -0.08443782, -0.26908222, -0.07582944, -0.117463715, -0.22386667, 0.061124742, -0.07322523) * g_10; + result += mat4(0.044447657, 0.44650033, -0.1944857, 0.21535386, 0.10800574, -0.035085898, -0.28545883, 0.15166284, 0.06842558, 0.057331495, 0.48083216, 0.19788021, 0.051137898, 0.14926943, 0.3127889, 0.106091596) * g_11; + result += vec4(0.026539318, -0.015506256, 0.0048546535, 0.0075091156); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!SAVE conv2d_8_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.049218107, 0.21571347, -0.20747061, -0.046645183, -0.09897469, -0.1449892, 0.099503465, -0.052779432, 0.056965314, -0.08023353, -0.09651464, -0.17625785, 0.07162338, 0.10608266, 0.09160291, 0.07648847) * go_0(-1.0, -1.0); + result += mat4(-0.23661679, 0.18498215, 0.2043574, 0.21552628, -0.012884588, -0.107940555, 0.007933281, 0.0043860893, 0.07565547, 0.043531492, 0.093431905, -0.19845657, 0.00040396213, 0.023531798, -0.0009222297, 0.064266875) * go_0(-1.0, 0.0); + result += mat4(-0.19092101, -0.024129303, 0.066313796, -0.21061827, -0.05613746, 0.012965115, -0.009586923, -0.016095884, 0.24103113, 0.020987242, 0.15000837, -0.021903152, -0.02680794, 0.028570198, 0.024247576, 0.1019393) * go_0(-1.0, 1.0); + result += mat4(0.042160884, -0.0044651097, -0.2256602, -0.176743, -0.07279961, -0.105894916, 0.07168919, 0.0006321205, -0.04146184, -0.0112911835, -0.071248055, -0.2660673, 0.07166489, -0.026766494, 0.0034254268, 0.04701791) * go_0(0.0, -1.0); + result += mat4(0.20525295, 0.15507427, -0.08623681, -0.26927975, 0.028362103, 0.15359573, -0.13348009, -0.16938299, -0.12509182, -0.07778249, -0.04977593, 0.032045715, 0.037650846, 0.06520867, -0.25672987, 0.2629358) * go_0(0.0, 0.0); + result += mat4(-0.023335787, -0.09518855, 0.027799817, -0.44717595, 0.23397295, 0.010497733, 0.10179942, 0.07204854, -0.1831238, 0.10368191, 0.3294273, 0.06342799, 0.054113593, 0.17175598, 0.1707106, 0.08511027) * go_0(0.0, 1.0); + result += mat4(-0.025395809, 0.09365036, -0.23646675, 0.013332688, -0.028793652, -0.038866017, 0.10540429, 0.04053974, 0.101766884, -0.13813715, 0.1600048, 0.021731319, 0.08449936, -0.08782831, -0.106220074, 0.043619707) * go_0(1.0, -1.0); + result += mat4(-0.15182768, -0.10297231, -0.11878062, -0.038845137, -0.06657844, 0.2066007, -0.06319056, -0.024855426, 0.18382673, 0.12823708, 0.13984297, -0.096126445, 0.122345746, -0.1759473, -0.009313853, 0.095966816) * go_0(1.0, 0.0); + result += mat4(0.031464245, -0.19461079, 0.048819106, -0.19147485, -0.052115634, -0.0155970575, 0.00013805297, 0.029049957, -0.13166162, 0.057452332, -0.015197536, -0.11639438, 0.2242504, 0.059061136, -0.023637049, 0.23885499) * go_0(1.0, 1.0); + result += mat4(0.024842229, -0.10465392, 0.06943146, -0.00818137, 0.056860775, 0.16985714, 0.09097189, -0.029029645, 0.05849454, 0.07871468, 0.033239707, 0.027326738, 0.111058675, 0.09381119, -0.07335888, 0.041564018) * go_1(-1.0, -1.0); + result += mat4(-0.007300108, 0.09271431, -0.19570993, -0.06381511, 0.46079087, 0.25655636, -0.13035136, 0.078621246, -0.105279505, -0.050981194, -0.0529136, -0.050811697, -0.06146227, 0.04253951, -0.05545308, 0.05428528) * go_1(-1.0, 0.0); + result += mat4(0.16456556, 0.035695724, 0.014487249, -0.106402226, 0.03566743, -0.029556349, 0.2289534, 0.05606082, 0.04852251, -0.010972709, 0.05955192, -0.15966137, 0.08570137, 0.03669939, -0.024999218, -0.15711255) * go_1(-1.0, 1.0); + result += mat4(0.21360773, -0.11888413, 0.0583506, 0.19075805, -0.28113702, -0.057118762, -0.004367254, -0.07354974, -0.1796346, 0.1766377, 0.17562068, -0.100257315, -0.035569966, 0.107963756, -0.051215094, -0.0003012416) * go_1(0.0, -1.0); + result += mat4(0.08122568, 0.014930808, -0.06346508, 0.15264218, -0.05649435, 0.17286912, -0.009749335, -0.03400423, 0.23480195, -0.084917344, -0.03132465, -0.0037818009, 0.057796076, -0.06677672, -0.09169403, -0.058564235) * go_1(0.0, 0.0); + result += mat4(-0.10126427, 0.095474, -0.08596902, -0.20968622, -0.21415718, -0.028516928, -0.1324924, 0.20407854, 0.14031075, 0.001870013, 0.14119156, -0.1081141, -0.048723757, -0.13898169, 0.16757831, -0.1458798) * go_1(0.0, 1.0); + result += mat4(-0.05895467, -0.038724378, 0.069064446, 0.07351524, -0.03146215, -0.14976442, -0.0067742947, 0.084257625, 0.13251713, 0.032124203, -0.09629541, -0.008124969, 0.11714539, -0.2075729, 0.11230295, -0.038847532) * go_1(1.0, -1.0); + result += mat4(0.051687717, 0.12874418, 0.040687148, 0.026630247, -0.099917404, 0.015043197, -0.06537639, -0.07367295, -0.1837623, 0.0032947634, 0.084966265, -0.1588208, -0.11085462, -0.010678835, 0.1320109, 0.02903416) * go_1(1.0, 0.0); + result += mat4(-0.018179895, -0.018795123, 0.022136271, -0.072535686, -0.15129031, -0.40279377, -0.4738214, -0.14301932, 0.17355858, -0.08900889, -0.13852054, 0.0029266933, -0.06405705, 0.10512791, -0.04545771, -0.022768306) * go_1(1.0, 1.0); + result += mat4(0.05890316, -0.0097671505, 0.008819437, -0.06735191, 0.1692309, -0.16308863, 0.051179815, 0.022224095, -0.11592126, -0.03521469, -0.10597873, 0.10710539, 0.09287522, 0.023924025, 0.1094987, -0.060973566) * go_2(-1.0, -1.0); + result += mat4(-0.15654168, -0.060176846, 0.05127042, -0.01175231, 0.01004742, 0.09534371, 0.06087681, -0.05916991, -0.16156313, 0.06890041, 0.0041081333, -0.04601112, 0.08350714, -0.059855513, 0.041949015, -0.102218084) * go_2(-1.0, 0.0); + result += mat4(0.12588786, 0.11099447, -0.03676623, 0.09382634, -0.32780543, 0.2795844, -0.013693273, -0.18082656, 0.035001528, -0.050821863, 0.11802977, 0.033280633, 0.09173907, -0.0975381, -0.1048247, 0.21049544) * go_2(-1.0, 1.0); + result += mat4(-0.16854918, 0.0060791024, 0.05617661, 0.13540803, 0.05019639, 0.14261602, 0.069251545, -0.03133105, -0.078448415, 0.034294523, -0.07293597, 0.061953712, 0.025966987, 0.095272854, -0.08162588, 0.12742776) * go_2(0.0, -1.0); + result += mat4(0.15725249, 0.0850755, -0.048879243, -0.08433363, 0.120938875, 0.18920094, 0.045355074, -0.20513709, 0.24906032, -0.057378586, 0.0027886129, -0.07625013, -0.13654117, 0.11630867, -0.037231505, -0.1258667) * go_2(0.0, 0.0); + result += mat4(-0.04206654, -0.13223913, 0.062100735, 0.016341403, 0.07262605, 0.055927046, 0.14203577, -0.27384079, -0.1310872, 0.078060225, 0.12965128, 0.09880112, 0.10105921, -0.068956226, 0.02915146, 0.09167745) * go_2(0.0, 1.0); + result += mat4(0.030989118, -0.1324286, 0.039388806, -0.04496022, 0.01103045, -0.02862437, 0.009588397, -0.11070328, 0.095212676, -0.026708405, -0.029291725, 0.016241662, 0.05099544, -0.08551894, -0.21421212, -0.11618562) * go_2(1.0, -1.0); + result += mat4(-0.14548837, -0.07418306, 0.10752083, 0.05893962, 0.06691821, 0.18748593, -0.03200274, -0.095863365, -0.08537329, -0.05680936, 0.14690125, 0.037230305, 0.18467005, -0.14947431, 0.040441494, 0.1115805) * go_2(1.0, 0.0); + result += mat4(0.012362502, 0.100413695, 0.13188395, 0.06938892, -0.15438221, 0.26723015, 0.07517162, 0.002462865, -0.0064732633, -0.0074519413, -0.02301528, -0.045849863, 0.1731649, 0.123034276, 0.008418865, 0.16150133) * go_2(1.0, 1.0); + result += mat4(-0.09139433, 0.03101976, 0.07230703, -0.018268613, 0.29291338, -0.17742766, 0.24951819, 0.02992008, 0.035090506, -0.07749761, 0.12614278, -0.14649536, 0.031021422, -0.069590874, 0.108438335, 0.037498187) * go_3(-1.0, -1.0); + result += mat4(-0.11135013, 0.052978516, -0.08497799, -0.12263544, 0.0105338385, 0.2741, -0.25600806, 0.20394602, 0.027556226, 0.016622975, 0.08704739, 0.030637782, -0.097799666, -0.016612433, -0.05045154, 0.11176543) * go_3(-1.0, 0.0); + result += mat4(0.010801793, 0.0052502053, -0.1051344, -0.057842556, -0.21781838, -0.00047800923, -0.029098546, 0.21897711, -0.20059437, -0.030504027, -0.006855385, -0.073302105, -0.052581076, 0.011763167, 0.024786351, -0.050292555) * go_3(-1.0, 1.0); + result += mat4(0.13015494, 0.19099645, 0.1472598, -0.06971811, -0.014347087, -0.2354183, -0.026683118, -0.027996749, 0.051564146, -0.103843935, 0.17843698, -0.024957573, -0.057987437, -0.102251455, -0.0013588106, -0.056634847) * go_3(0.0, -1.0); + result += mat4(-0.04080672, 0.050368823, 0.18306538, 0.011420936, -0.0054340125, 0.0053520515, 0.17026058, -0.12533283, 0.036576323, 0.08059071, 0.019835833, -0.09112062, 0.17440821, -0.031124828, -0.098159716, 0.085774906) * go_3(0.0, 0.0); + result += mat4(-0.12622732, -0.044002566, 0.104972295, 0.18105431, 0.11646133, 0.0556064, 0.18686971, -0.21561784, -0.26179832, -0.059187356, 0.01926984, -0.1556935, -0.005284094, 0.04988676, -0.0629271, 0.1452294) * go_3(0.0, 1.0); + result += mat4(-0.20367198, -0.120030105, -0.004469297, 0.09944967, 0.07725609, -0.01106622, -0.14055888, 0.07756645, -0.18688135, -0.20632182, 0.07429031, 0.008466472, 0.012098892, -0.05049147, 0.16095792, 0.046173103) * go_3(1.0, -1.0); + result += mat4(0.1069116, 0.21522258, -0.04627851, -0.10662425, 0.13135125, -0.019367998, -0.15181519, 0.00075394503, -0.17778645, 0.11365393, 0.03837777, 0.08822385, 0.1916156, -0.038483586, -0.07884607, 0.12424183) * go_3(1.0, 0.0); + result += mat4(0.036157437, -0.04766311, -0.16446854, -0.05413319, -0.021621274, -0.07148996, -0.23798911, -0.0102870315, -0.014351993, 0.12831448, 0.1465541, -0.047955733, 0.04010879, 0.0976389, -0.12589982, -0.08807606) * go_3(1.0, 1.0); + result += mat4(0.076902226, 0.041135173, -0.016657151, 0.15551728, 0.11514554, 0.0058602975, -0.10986514, 0.0057913526, -0.1272993, -0.1593194, 0.044218805, -0.21816722, -0.061424024, 0.018841606, -0.110449634, -0.015432476) * go_4(-1.0, -1.0); + result += mat4(0.03666373, -0.13814612, -0.3036115, -0.15636392, 0.008658232, 0.08611662, 0.118764065, -0.08591301, -0.007196824, -0.22025566, 0.051091295, -0.08086002, -0.044420715, 0.043799147, 0.09688278, 0.0033028289) * go_4(-1.0, 0.0); + result += mat4(-0.24362423, -0.015480109, -0.11101967, 0.002946213, 0.0139870765, -0.023274565, 0.07034788, 0.13248734, 0.16976975, 0.07903513, 0.06341636, 0.04284541, -0.084724866, -0.05004183, -0.0029502965, -0.037041545) * go_4(-1.0, 1.0); + result += mat4(-0.0799557, -0.16095099, -0.06494757, 0.07882963, 0.012505202, 0.15511416, -0.16304691, -0.03223617, -0.018280255, -0.039940648, 0.16492367, 0.15375112, 0.11556045, -0.11412647, -0.24070956, -0.007323342) * go_4(0.0, -1.0); + result += mat4(0.072875924, 0.05083539, -0.20316303, 0.1238304, 0.18388501, 0.15272665, 0.086819254, 0.06119871, -0.094395205, -0.15079162, -0.17838413, 0.07426012, 0.02943968, -0.2684771, -0.17700946, -0.12761052) * go_4(0.0, 0.0); + result += mat4(0.19377026, 0.07910225, -0.23724055, -0.029297635, 0.037870105, 0.017596528, 0.061586875, 0.0065010567, 0.1740132, -0.19399293, -0.14995612, 0.005692246, -0.100947365, -0.14350691, 0.2749315, -0.16770917) * go_4(0.0, 1.0); + result += mat4(-0.15966229, -0.27420762, -0.09293543, -0.43784875, 0.09451163, 0.10119892, -0.015471579, -0.10209148, 0.08677175, 0.039316505, 0.2867878, 0.0128137395, -0.07972439, 0.011502975, -0.11594199, 0.063877724) * go_4(1.0, -1.0); + result += mat4(-0.3150563, 0.12615044, -0.17988585, -0.20575309, 0.0015721973, 0.055084594, -0.020417834, -0.13822779, 0.098861374, 0.14822583, 0.06401616, -0.120404646, -0.10940291, -0.037352454, 0.050986577, 0.07125991) * go_4(1.0, 0.0); + result += mat4(-0.032551173, 0.18289012, -0.19881311, -0.053115983, -0.10287446, 0.05078748, 0.086117916, -0.059756823, -0.2239071, 0.11387785, 0.12868147, -0.059683386, -0.020321736, -0.04086171, 0.14172685, 0.22172149) * go_4(1.0, 1.0); + result += mat4(0.06446823, 0.075459056, 0.050193854, -0.02980531, 0.02292068, -0.033028316, 0.08196589, -0.12588814, -0.014617067, 0.01555044, -0.15231301, 0.06448395, 0.06427072, -0.03321984, 0.049012806, 0.05093153) * go_5(-1.0, -1.0); + result += mat4(-0.04891807, -0.21147443, 0.05428899, 0.009631384, -0.014800392, -0.18164946, -0.074545264, 0.06637659, 0.015836405, 0.4889151, 0.29796156, 0.09648605, -0.2459945, 0.070567675, -0.00771288, -0.017721044) * go_5(-1.0, 0.0); + result += mat4(-0.15505725, -0.033791173, -0.12304202, 0.023178311, 0.12188232, 0.008929309, 0.059975695, -0.20444167, -0.20709375, 0.2860054, 0.019463783, 0.23910974, -0.085151516, 0.0012467392, 0.08327042, 0.044345636) * go_5(-1.0, 1.0); + result += mat4(-0.16185635, -0.041044228, 0.12618378, -0.22602643, 0.09039422, 0.020435853, 0.04396089, -0.049082875, 0.2322086, 0.21155676, 0.037015025, -0.08251266, -0.07999464, 0.1929863, 0.068592645, -0.018473776) * go_5(0.0, -1.0); + result += mat4(-0.28692165, -0.0914045, 0.04016614, -0.08336684, -0.08470211, 0.18356666, 0.07795491, -0.14058343, -0.115438856, 0.23199056, -0.054525673, -0.06553437, 0.22845635, 0.062047824, -0.03899926, -0.14750813) * go_5(0.0, 0.0); + result += mat4(-0.024415843, 0.18983422, 0.026180256, 0.23359428, -0.24470708, 0.05299243, -0.093706526, 0.0048052925, 0.21845944, 0.13118659, 0.027822208, -0.01732684, 0.1341405, -0.037465993, -0.021005224, -0.13099) * go_5(0.0, 1.0); + result += mat4(-0.13074318, -0.10861964, 0.3356989, -0.040623795, 0.05751466, 0.0029064803, -0.06863499, 0.04052094, 0.2404304, 0.21308951, 0.15456675, -0.026032818, -0.03276546, 0.104598865, 0.087674595, -0.011225901) * go_5(1.0, -1.0); + result += mat4(-0.3885748, -0.021308744, 0.32658833, 0.2619194, 0.014868833, 0.23127414, 0.055906303, 0.1689359, 0.20716958, -0.015053713, 0.13501903, -0.017089305, 0.19915296, -0.24020925, -0.16395238, -0.066857845) * go_5(1.0, 0.0); + result += mat4(-0.0076508783, 0.08567069, 0.20940123, -0.19297238, -0.032869402, -0.076935954, -0.12706652, 0.118971825, 0.09577812, 0.13618003, 0.17755455, -0.08722123, 0.11171834, 0.041147415, -0.055555638, 0.17951354) * go_5(1.0, 1.0); + result += vec4(-0.05163745, -0.030525967, -0.034545384, 0.0011744314); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!SAVE conv2d_7_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.00874924, 0.06479505, -0.0029173514, 0.07453021, 0.064044245, 0.04816086, 0.13801545, -0.13147724, -0.032259457, 0.018466968, -0.012852061, 0.06363069, -0.021119684, -0.0524603, -0.031161075, -0.07618043) * go_0(-1.0, -1.0); + result += mat4(0.084529355, 0.23199025, -0.06747702, 0.07670476, 0.04783423, 0.053316955, -0.10305088, 0.07495804, -0.087933175, -0.065483205, -0.13657036, -0.07720879, 0.062599525, -0.049601298, -0.024424799, 0.022608709) * go_0(-1.0, 0.0); + result += mat4(-0.2586594, 0.039674412, -0.13742402, 0.09666874, -0.084477544, -0.027087416, -0.009601492, 0.053420864, 0.0625722, -0.1254515, 0.032742955, -0.024665914, -0.14905442, 0.044875436, 0.07266352, 0.07469416) * go_0(-1.0, 1.0); + result += mat4(0.021074846, 0.15970895, -0.3086228, -0.05164234, -0.18634024, 0.22643623, 0.08077387, -0.0161648, -0.03661073, 0.012908562, 0.0054539675, 0.015822269, 0.026296595, 0.01942134, 0.053928025, -0.10969176) * go_0(0.0, -1.0); + result += mat4(0.09353553, 0.018195553, -0.08585656, -0.15791856, 0.054085083, 0.22516748, 0.21730874, -0.025099568, 0.03159055, -0.11804406, -0.008568234, -0.014370778, -0.07749132, -0.06392929, 0.075509876, -0.019097406) * go_0(0.0, 0.0); + result += mat4(-0.057937216, 0.095248975, 0.059558928, 0.12786824, 0.23302162, 0.12629147, 0.06152512, 0.029230526, -0.09689983, 0.083217695, -0.021377616, -0.037923515, -0.35568753, 0.039865114, 0.14333424, 0.267966) * go_0(0.0, 1.0); + result += mat4(0.00011844775, -0.123274446, 0.05086709, 0.004256178, 0.012832609, -0.12187373, 0.004524905, -0.23390464, 0.12167624, -0.03674983, -0.087615184, 0.025935318, 0.007677731, 0.112577125, 0.026225066, 0.03445614) * go_0(1.0, -1.0); + result += mat4(-0.12753712, 0.00042057422, -0.047347613, -0.06912856, -0.13273059, 0.10787016, 0.043463085, 0.021454494, 0.056490768, 0.14493024, 0.058151938, 0.037335023, 0.02543131, 0.15424144, 0.055742744, -0.14856216) * go_0(1.0, 0.0); + result += mat4(-0.13659339, -0.013331863, 0.072243474, 0.0077176965, -0.15704288, 0.057892058, 0.08888919, -0.026248623, -0.12832907, 0.05004356, -0.008601374, -0.09371729, 0.10063523, 0.047332603, -0.018320935, 0.21497801) * go_0(1.0, 1.0); + result += mat4(0.034651414, 0.039575566, -0.01818621, -0.054858625, -0.0022673074, -0.14562686, -0.0028751935, -0.040938023, -0.0019023952, -0.0031610043, -0.113626435, 0.029344907, -0.04033123, -0.011649204, -0.07188756, 0.09192677) * go_1(-1.0, -1.0); + result += mat4(-0.0503488, 0.028798956, -0.006693954, 0.07654358, -0.028435636, -0.14021449, 0.09490931, 0.05767912, 0.067402154, 0.03353509, -0.18465632, -0.07892354, -0.07282928, 0.045659076, 0.01610622, -0.055369027) * go_1(-1.0, 0.0); + result += mat4(-0.017983284, 0.059108052, -0.048893955, -0.011440091, -0.42228884, -0.132112, 0.044904847, 0.22939242, -0.1264618, -0.10489889, -0.075762555, 0.05209098, -0.050417285, 0.10029565, -0.043668296, -0.09922573) * go_1(-1.0, 1.0); + result += mat4(-0.14941381, 0.12114828, 0.10517825, -0.015513224, -0.0024908849, -0.08526262, -0.19318485, 0.17600377, 0.003252062, -0.003241838, 0.0025076168, -0.08707902, 0.0016995758, -0.045136005, -0.14427514, -0.09088499) * go_1(0.0, -1.0); + result += mat4(0.15931, -0.09228977, -0.06308133, 0.19589768, 0.24140169, 0.22513855, 0.118969575, 0.15111087, -0.050449796, 0.013833277, 0.07658742, 0.16174644, -0.003201324, 0.034937993, 0.07040384, 0.2813254) * go_1(0.0, 0.0); + result += mat4(0.022369612, 0.031290416, -0.09342715, 0.017639885, 0.26041472, 0.007161143, -0.09052401, -0.18450892, 0.050195456, -0.022739457, 0.06707105, -0.049746882, 0.14495519, -0.102455616, -0.09707346, -0.17585137) * go_1(0.0, 1.0); + result += mat4(0.025266675, -0.1752835, 0.012535405, -0.21583222, -0.03691842, 0.042113684, 0.12360861, -0.11928547, -0.0966663, -0.032826263, 0.118368946, -0.003809318, 0.068992555, -0.03801947, -0.02036358, 0.036111884) * go_1(1.0, -1.0); + result += mat4(-0.08077069, -0.2473458, -0.054156005, 0.14818957, -0.09454033, 0.011877715, 0.10560343, -0.083333194, 0.0110740755, -0.077014185, -0.05278896, -0.06251993, 0.039195787, -0.14951102, 0.03377498, 0.12946099) * go_1(1.0, 0.0); + result += mat4(-0.057616, 0.108149685, 0.11845679, 0.0396938, -0.3146223, 0.18499297, 0.16781773, -0.08291362, -0.022713197, 0.051858127, -0.006099311, 0.05716396, 0.13392907, -0.109282106, 0.05498141, -0.071193464) * go_1(1.0, 1.0); + result += mat4(0.09475248, -0.1554231, -0.023782114, -0.030766876, 0.04192763, 0.021483693, 0.028340997, -0.058034573, 0.0010940522, -0.050213296, 0.04000753, 0.0022229531, 0.0018660162, -0.18649459, 0.23630546, -0.21319003) * go_2(-1.0, -1.0); + result += mat4(-0.116565526, -0.15246803, 0.005850186, -0.05474953, 0.0014735279, -0.021216031, -0.06207856, 0.13739516, -0.010196082, 0.07908882, -0.019407269, -0.05516944, -0.28326565, 0.15888767, 0.27831692, 0.18619354) * go_2(-1.0, 0.0); + result += mat4(0.06543926, -0.074488506, -0.07760019, 0.17044993, 0.08158774, 0.04326206, -0.067728855, 0.024843602, -0.06751376, -0.08624948, 0.013794438, 0.049678463, 0.020826025, -0.046888746, 0.08348537, 0.05656069) * go_2(-1.0, 1.0); + result += mat4(0.04989145, -0.028460307, -0.0769131, 0.0010439849, -0.09587771, -0.06743743, -0.14847435, -0.008717194, 0.08054748, -0.050939944, -0.109605104, -0.030957224, 0.12530726, -0.029865216, 0.09297952, -0.019167399) * go_2(0.0, -1.0); + result += mat4(-0.11747358, -0.27982333, 0.17281106, 0.070347376, -0.039507125, -0.009899484, -0.1539731, -0.16420937, -0.24044126, 0.068443485, 0.084593736, 0.06384842, 0.20761591, -0.035670962, 0.052107535, -0.0043864083) * go_2(0.0, 0.0); + result += mat4(-0.03567099, -0.04091944, -0.12142206, 0.061800703, -0.18150517, 0.15411758, 0.07404136, 0.19565642, 0.28183675, -0.031046303, -0.0042268364, -0.15308045, -0.09378749, 0.020542119, 0.022252236, 0.14972949) * go_2(0.0, 1.0); + result += mat4(-0.0105193425, -0.08959153, 0.18263857, 0.048910968, -0.010435675, -0.027718445, -0.120318696, 0.13538027, 0.13010837, 0.17119803, -0.011707955, 0.14297302, -0.08233788, 0.042564705, -0.03896208, 2.8444429e-05) * go_2(1.0, -1.0); + result += mat4(-0.0030958294, -0.17617896, -0.067710005, 0.0018519294, -0.008768522, -0.016318077, 0.037578914, -0.0049764947, 0.105228946, -0.06244281, -0.13939188, 0.03143476, 0.05274452, -0.016226346, -0.012599634, 0.03210993) * go_2(1.0, 0.0); + result += mat4(-0.09357119, 0.051940132, 0.03980677, -0.055670172, 0.09287961, 0.0072638597, -0.07690989, 0.12798886, -0.035807915, -0.086697236, -0.099087104, -0.09295662, -0.09427648, -0.055087987, -0.037958328, -0.13998422) * go_2(1.0, 1.0); + result += mat4(-0.022604464, 0.0031428523, -0.144605, -0.02875807, -0.103784114, 0.061475996, 0.1940092, 0.04618245, 0.044898245, 0.022316845, 0.0120888725, 0.07793487, -0.010512812, 0.034900095, -0.022719746, 0.0136101525) * go_3(-1.0, -1.0); + result += mat4(0.100697, 0.012970303, -0.058663197, -0.16554455, -0.16513096, 0.15323171, 0.47396505, -0.024782017, -0.06386085, -0.02400151, 0.034457937, 0.08889356, -0.0008506081, 0.031502075, 0.08109036, -0.009652339) * go_3(-1.0, 0.0); + result += mat4(0.14926942, -0.020183334, 0.016399153, 0.036552813, 0.25300506, 0.060191922, 0.2040498, -0.16668856, -0.045155995, 0.14945151, -0.00074124173, -0.03142253, 0.06796808, -0.07166414, 0.05155417, -0.1920044) * go_3(-1.0, 1.0); + result += mat4(-0.13827239, -0.08581495, 0.03852677, 0.0013960586, 0.078236885, -0.008412887, 0.05699767, -0.059194114, -0.039789997, 0.067367, 0.0024232, 0.0004645103, 0.026038349, -0.032108866, 0.07319417, -0.036261495) * go_3(0.0, -1.0); + result += mat4(-0.04785435, 0.12532665, 0.052335925, 0.10279794, -0.08932154, -0.07807702, -0.027437592, -0.01226406, 0.0855878, 0.0998956, 0.34608328, -0.017771345, -0.10465488, 0.046911918, 0.14045537, -0.12609549) * go_3(0.0, 0.0); + result += mat4(0.12454329, 0.0629062, 0.06315331, -0.19194551, -0.043885496, 0.07760517, -0.07117529, -0.016697489, 0.078342624, 0.08736188, 0.071410015, -0.13201651, 0.16587284, 0.010714448, 0.043101657, -0.23035446) * go_3(0.0, 1.0); + result += mat4(0.08158438, -0.100969456, -0.014449485, -0.03132171, -0.01574409, 0.09236148, 0.030310484, 0.01284413, -0.053764567, -0.026418544, 0.10662523, -0.039129682, -0.0065176217, -0.038883757, 0.058300994, -0.14639774) * go_3(1.0, -1.0); + result += mat4(-0.09079664, -0.0020122728, 0.10233645, -0.011045091, 0.10938907, 0.05189279, -0.02262471, -0.02617311, 0.041910812, -0.15767258, -0.04600758, 0.049779244, 0.09256302, -0.11922193, 0.1622482, 0.14537865) * go_3(1.0, 0.0); + result += mat4(-0.09391944, 0.07570852, 0.004766135, 0.05937019, -0.09493778, 0.010442861, -0.0790624, 0.007034491, -0.23311476, 0.11634711, -0.061636776, 0.08265463, 0.092269175, -0.010159195, 0.089713015, -0.232348) * go_3(1.0, 1.0); + result += mat4(0.035536226, -0.0099446, 0.019197198, 0.051076367, -0.0390392, 0.03382638, -0.013183885, -0.013789384, 0.04123211, 0.03670252, -0.010441384, 0.0010135671, 0.042965908, -0.020500444, -0.025766378, -0.032077227) * go_4(-1.0, -1.0); + result += mat4(0.20860507, 0.17699268, -0.04620276, -0.039868027, -0.025789822, -0.05731434, -0.11747873, 0.07730347, -0.031710766, -0.020262018, 0.04341926, 0.06434394, 0.053918168, -0.1657412, 0.105905995, 0.011154651) * go_4(-1.0, 0.0); + result += mat4(0.003090032, 0.093964286, -0.06367044, -0.0020144929, -0.10283011, -0.07306465, -0.040359806, -0.17013851, 0.015747946, -0.062563375, -0.012298383, 0.04297379, -0.029063454, -0.03683257, 0.02655745, 0.05740832) * go_4(-1.0, 1.0); + result += mat4(0.050861053, -0.0920656, -0.19874981, -0.021388335, 0.16630852, 0.17405358, 0.05212147, -0.02749285, -0.07478034, -0.04099812, -0.029557243, 0.06731333, 0.07508251, 0.08276743, 0.16026892, 0.053225685) * go_4(0.0, -1.0); + result += mat4(0.14226279, 0.053951856, 0.053425, -0.024388714, 0.15451646, -0.022425046, -0.00380887, -0.03618875, 0.11347302, -0.17040631, 0.0065808417, -0.013488193, -0.060262468, -0.066950545, -0.08976584, 0.0009982956) * go_4(0.0, 0.0); + result += mat4(0.1801071, -0.100330465, -0.053271472, 0.031151481, 0.22311142, 0.066051945, -0.11600886, -0.087773964, -0.078915946, -0.030782275, 0.013246717, -0.014198989, -0.28586018, 0.059759654, 0.24997708, 0.20630242) * go_4(0.0, 1.0); + result += mat4(0.12932803, 0.21319729, -0.28091565, -0.012479532, -0.07091247, -0.016889215, -0.12900326, 0.12102667, 0.022678612, -0.13739236, -0.16431749, -0.035084598, 0.004101327, 0.23767495, 0.1462611, -0.048993915) * go_4(1.0, -1.0); + result += mat4(-0.026779149, 0.25932673, 0.02780824, -0.15171829, 0.0039394335, 0.097402304, 0.06590691, -0.13960929, -0.0058308085, 0.072984695, 0.04813096, 0.059558798, 0.08162265, 0.39625508, 0.17542529, 0.003839069) * go_4(1.0, 0.0); + result += mat4(-0.05708866, -0.038969513, -0.020122351, 0.007563977, 0.1797364, -0.03398024, -0.055202417, -0.07547394, -0.012716594, -0.09214429, -0.0017415253, -0.05856085, -0.27330104, 0.30354604, -0.13669814, 0.22337814) * go_4(1.0, 1.0); + result += mat4(-0.17326224, 0.15659498, 0.06425071, 0.07975927, 0.0958955, 0.0608052, 0.034675565, 0.07591562, 0.054132458, -0.061479643, 0.009947483, 0.12112677, 0.124297075, 0.18455952, -0.041779295, 0.030722413) * go_5(-1.0, -1.0); + result += mat4(0.02079984, -0.03396273, 0.011413388, -0.07005397, 0.08875178, 0.107689336, -0.027889367, -0.06951973, -0.14137445, -0.1686194, 0.16112797, 0.22525409, 0.03834874, -0.05127144, -0.06952546, -0.2233007) * go_5(-1.0, 0.0); + result += mat4(0.010094381, 0.057003833, 0.12292443, -0.09757485, -0.11430328, -0.058333114, 0.036441192, -0.046859495, -0.059781298, -0.017726498, -0.113516934, 0.12778783, 0.048218265, -0.004416331, 0.055325013, -0.21638621) * go_5(-1.0, 1.0); + result += mat4(-0.09457411, 0.30411094, -0.03746511, 0.07965388, -0.04560781, -0.026843388, 0.2560619, 0.039457362, 0.12517431, 0.1847619, 0.13331719, 0.18641667, -0.16433188, -0.009212662, 0.12901293, 0.021027379) * go_5(0.0, -1.0); + result += mat4(-0.086559944, -0.056457154, 0.09476962, 0.054313526, 0.013685281, -0.056544665, 0.08585254, 0.11761908, 0.2695671, -0.22367607, -0.18963094, -0.08297759, -0.09200909, 0.31575614, -0.025597787, 0.11768817) * go_5(0.0, 0.0); + result += mat4(0.007880905, -0.11153017, 0.08885109, -0.07955998, 0.38617623, -0.0033538588, -0.21370837, -0.018460546, -0.059868775, -0.11899104, -0.09859911, -0.10338758, 0.07227207, 0.033412423, 0.12970059, -0.025612896) * go_5(0.0, 1.0); + result += mat4(0.10357382, 0.27821258, 0.10260374, 0.23705776, -0.051536858, -0.0637593, 0.02411251, -0.04798121, 0.0550194, -0.11722999, 0.061254364, 0.082198314, -0.11661943, 0.09562076, -0.17257103, 0.082414486) * go_5(1.0, -1.0); + result += mat4(-0.18603842, 0.2697591, 0.16230522, 0.04589048, -0.025565986, 0.08136575, -0.15435593, 0.08414148, 0.11316385, -0.16951068, -0.03157706, 0.07222263, 0.098516054, -0.010539889, -0.078987755, 0.039117597) * go_5(1.0, 0.0); + result += mat4(-0.108136736, -0.027168648, -0.054371372, 0.047652103, -0.015041038, -0.07973402, -0.033967327, 0.030585837, 0.23373295, -0.06363153, 0.050189044, 0.039055742, 0.14359018, 0.025118377, -0.06789567, 0.019007884) * go_5(1.0, 1.0); + result += vec4(-0.0382473, -0.052612398, -0.07591911, -0.05381055); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x56 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.1517466, 0.08653111, -0.12849529, -0.0145909265, -0.20225123, -0.25598082, -0.27031836, -0.11011148, 0.023438375, 0.11201232, 0.46751308, -0.11576917, -0.29880443, 0.04816672, 0.21560355, -0.11404305) * g_0; + result += mat4(-0.12978144, 0.100125104, -0.06335867, -0.06317281, 0.054012444, 0.018025735, -0.09827809, -0.09725046, 0.005299584, -0.098031715, -0.22854897, 0.17967635, 0.12765448, 0.045635063, 0.0012192138, -0.34536725) * g_1; + result += mat4(0.011804178, -0.06590833, -0.031301893, -0.1775461, -0.41570944, 0.087449126, -0.02128947, -0.27094513, -0.060209982, -0.18076003, -0.17616534, -0.1265182, 0.05190358, -0.16350612, 0.13440031, -0.02040334) * g_2; + result += mat4(-0.08296803, -0.28662565, -0.088028625, -0.04346711, 0.17134765, -0.057956398, -0.27708423, -0.11509851, 0.0017504691, -0.1335092, -0.40999198, -0.17734398, 0.32179204, -0.14760494, 0.0014923187, -0.40818754) * g_3; + result += mat4(-0.06289323, 0.18344052, -0.030397955, 0.26505098, -0.20116702, 0.19888414, 0.22849302, 0.39404854, -0.028509716, 0.108586155, 0.18787633, 0.08936724, 0.2189794, 0.008488558, -0.10159572, 0.28290325) * g_4; + result += mat4(-0.04573871, -0.110110976, -0.10133858, -0.12086325, -0.2474638, -0.031180179, -0.34253988, 0.15010545, -0.0040049986, -0.019926922, 0.26064172, -0.19498073, -0.1095731, 0.09029125, -0.108377635, -0.0038560093) * g_5; + result += mat4(-0.121560805, 0.020504333, -0.0597182, -0.09707394, 0.17374295, -0.20030156, 0.10344341, 0.3244939, -0.18901767, -0.020843312, 0.132772, 0.08054658, 0.13611425, -0.29363188, -0.34134823, -0.38264117) * g_6; + result += mat4(0.16559608, 0.16367547, 0.29445526, 0.22651257, 0.06375283, 0.39584106, 0.006053162, 0.055495188, 0.22115736, -0.22024626, 0.14978565, -0.083540656, -0.14054725, 0.10124253, 0.0061804047, 0.17122638) * g_7; + result += mat4(-0.14379624, 0.22831523, -0.15875602, -0.019427398, 0.08650438, 0.12258277, -0.0355665, -0.044720147, 0.25487396, -0.26249576, 0.021001643, 0.09981675, -0.039034113, 0.043660853, -0.15347818, -0.16691351) * g_8; + result += mat4(0.07939632, -0.05486855, 0.2904414, -0.074339755, -0.08656439, -0.20840298, -0.20732778, 0.1029268, -0.20539123, 0.040745974, -0.10717815, -0.25687888, 0.20816644, 0.129532, -0.16312623, -0.14453101) * g_9; + result += mat4(-0.27986488, -0.23781885, 0.3357808, 0.022635408, -0.23463887, 0.08829273, -0.104331024, 0.059385765, -0.008988081, 0.08307928, -0.10422426, -0.06952313, -0.063950576, -0.39974853, 0.2428403, -0.15027511) * g_10; + result += mat4(0.073085204, -0.10948135, 0.056989595, 0.18264382, 0.3548214, -0.12389114, 0.08049114, -0.39152363, 0.27634555, 0.13423951, 0.2994666, 0.121581756, -0.3245417, -0.11582107, -0.12750253, 0.17907634) * g_11; + result += mat4(0.23503982, -0.17774986, 0.14940716, 0.111273095, -0.05475033, -0.17823237, 0.19284964, 0.15520798, 0.1600294, 0.025111979, 0.034554236, -0.22638519, 0.44020715, -0.2762028, 0.111869164, 0.16672193) * g_12; + result += mat4(-0.25770104, 0.011573565, -0.065385014, 0.036166515, 0.34582734, -0.018427689, -0.06642216, 0.08775443, -0.1237332, -0.102610715, 0.22667718, 0.101304494, 0.53382784, 0.123501934, 0.16460274, -0.048920505) * g_13; + result += vec4(-0.03949794, 0.0395381, -0.024099527, 0.0041297916); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x56 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf1 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.07966754, -0.06966207, 0.02303797, -0.16448943, 0.10318848, -0.410334, -0.22451977, 0.2947905, 0.006431782, 0.2210936, -0.16191624, -0.32029536, 0.19407257, -0.13434124, 0.03879501, 0.17069095) * g_0; + result += mat4(-0.06373326, 0.21566539, 0.06835463, -0.29900926, 0.1264936, 0.30812046, -0.18849093, -0.29262608, 0.1896114, 0.01970999, -0.27476716, -0.050988406, -0.30970192, -0.079130374, -0.14994004, 0.12752618) * g_1; + result += mat4(0.020375464, 0.19119026, -0.313698, -0.26453584, 0.07838133, 0.18381923, 0.12585643, -0.06809764, -0.25780505, 0.05716925, -0.07450206, -0.02375656, -0.033622682, -0.10849277, -0.33186463, 0.19414547) * g_2; + result += mat4(0.0044648047, 0.08281163, -0.04849872, 0.1355915, -0.097715564, -0.08512666, 0.083665445, 0.1250317, 0.15797666, 0.32305694, 0.42864105, 0.36694467, -0.19485113, 0.16141608, -0.16432299, -0.10108335) * g_3; + result += mat4(0.06326362, -0.05534751, -0.13511105, 0.042043727, 0.20099865, -0.042153213, -0.22423261, -0.09133457, -0.027568584, 0.012865782, 0.13886575, 0.34115347, 0.2610905, -0.045110513, 0.06810152, 0.09738184) * g_4; + result += mat4(-0.035168797, 0.034930643, 0.25825202, 0.20083296, -0.08928484, -0.21076165, -0.1159743, -0.216512, 0.11886214, -0.0706163, 0.124095425, 0.028673371, -0.31240124, -0.17458299, -0.2053044, -0.008733319) * g_5; + result += mat4(0.29833966, 0.06774145, -0.03913825, -0.112461224, -0.000111277885, 0.07307257, 0.24769522, -0.27295232, 0.070567, -0.17354357, 0.2742455, -0.382184, -0.17436866, 0.22665188, 0.045708902, 0.03745412) * g_6; + result += mat4(0.032916605, 0.11094983, 0.17567287, -0.06819124, 0.17541365, -0.118430324, 0.028206939, 0.37577933, 0.011492207, 0.21624072, -0.20114873, 0.222502, 0.012722517, -0.15424041, 0.07858887, -0.09832832) * g_7; + result += mat4(-0.29937837, 0.08433066, -0.16425402, 0.014552817, 0.083602294, -0.12674652, -0.029379338, 0.020814786, -0.08117312, 0.0074423556, 0.06749342, -0.23778795, -0.20409779, 0.005250363, 0.014023434, -0.08039687) * g_8; + result += mat4(-0.07325317, -0.102401175, 0.2583051, 0.30287206, 0.117874466, -0.047484834, 0.050214633, -0.16902745, -0.1403704, -0.17889948, -0.043674123, -0.011426891, -0.16280553, 0.076159306, -0.13330574, -0.1950167) * g_9; + result += mat4(-0.256105, -0.08625361, 0.011796258, -0.02119164, 0.06349923, -0.27358216, 0.118133076, -0.034468293, -0.043460324, -0.2100345, 0.011009716, 0.24111703, -0.20008805, -0.47441798, -0.1211137, -0.31405842) * g_10; + result += mat4(-0.04759389, -0.1061154, 0.008801774, -0.10977146, -0.025931438, 0.21277407, -0.038004987, -0.07198902, -0.022014204, -0.11847486, -0.038868114, 0.02172665, -0.3208455, -0.11351803, -0.06722725, 0.2296603) * g_11; + result += mat4(-0.012025998, 0.024963265, 0.17822163, 0.3004866, -0.31125832, 0.034575626, 0.046008132, -0.24627264, -0.09372702, -0.1855233, 0.33742183, -0.034182545, -0.011793393, 0.26905802, -0.029423665, -0.1649043) * g_12; + result += mat4(-0.63350683, -0.3606824, 0.3736929, -0.14756419, 0.058743123, 0.14858964, 0.18524785, 0.17112412, 0.258455, -0.12432544, -0.051312115, -0.2812558, 0.28210622, -0.17405578, -0.20673786, -0.07849705) * g_13; + result += vec4(0.08657319, 0.0069808266, -0.0010583929, -0.006461665); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x56 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf2 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.07191942, 0.3140507, 0.22113691, 0.11425055, 0.33772144, 0.2411142, -0.05054018, 0.18108025, 0.1453716, -0.05830594, 0.1749647, 0.09090011, -0.05392254, -0.029053958, -0.31549838, 0.059738033) * g_0; + result += mat4(0.09510324, 0.08078732, -0.19260474, -0.11069926, 0.24988726, 0.051267263, 0.20293756, 0.26742226, 0.16450423, 0.13896441, 0.03573342, -0.19107069, 0.12676238, 0.10198673, 0.14884768, -0.2088339) * g_1; + result += mat4(-0.01031837, 0.025411772, 0.042114772, -0.05685252, -0.055964757, 0.11324, 0.00448932, 0.16396624, -0.17178524, 0.27165812, -0.09635711, -0.15172988, 0.2671317, 0.16236094, 0.21264014, -0.25292912) * g_2; + result += mat4(-0.22559996, -0.028498424, -0.1567824, -0.0735544, -0.17081529, 0.14735967, -0.0061476813, -0.17980057, -0.20270798, 0.032933656, -0.29559132, -0.16152963, 0.054025065, 0.0748118, 0.31088996, -0.107099526) * g_3; + result += mat4(-0.45303443, -0.099132985, -0.13839091, 0.32170072, -0.34101728, -0.37682575, 0.12063899, -0.19869997, 0.1657555, -0.25580558, 0.056302473, 0.17126912, 0.32514557, 9.235195e-05, -0.14467183, -0.07996187) * g_4; + result += mat4(0.2877269, 0.0261826, -0.08865923, -0.024432473, -0.096166946, 0.2561266, 0.026980402, 0.117528915, 0.3334183, 0.07372863, -0.08858107, -0.37130275, -0.36359683, 0.11301179, 0.091467746, -0.19730526) * g_5; + result += mat4(-0.550552, 0.12992254, -0.10055661, -0.10932172, -0.19244795, 0.12395271, 0.060307764, -0.53993297, -0.088290274, 0.27347142, -0.4417309, -0.023805201, -0.35758695, 0.09050262, -0.35072213, -0.055425614) * g_6; + result += mat4(0.18186982, 0.06789516, 0.030788613, 0.10114591, -0.11508006, -0.07924641, -0.046368007, 0.24148594, -0.107171915, -0.3024151, 0.32407254, -0.3586668, -0.012580506, -0.39705497, 0.2469481, -0.045826133) * g_7; + result += mat4(-0.026137354, 0.32036647, -0.2753551, -0.27253738, 0.017361412, -0.12770222, -0.08593248, -0.15483221, 0.25440103, -0.36099723, 0.25746107, 0.08897639, 0.028374728, -0.02342191, -0.043640897, 0.113993265) * g_8; + result += mat4(-0.037920885, 0.1657078, 0.004982961, -0.017414536, -0.22377351, 0.061842646, -0.15807268, -0.25205454, -0.21131302, 0.24842763, 0.078252114, 0.21482246, 0.074235536, 0.076578915, 0.27380338, 0.29830837) * g_9; + result += mat4(0.17564484, -0.07282816, 0.07999462, 0.02969899, 0.15588856, 0.100054234, -0.08245988, -0.07382829, 0.15328896, -0.18413633, 0.098962, -0.1984274, 0.062275123, 0.115510456, 0.090368204, 0.13073486) * g_10; + result += mat4(-0.07252601, -0.16025335, -0.13433468, 0.22769116, -0.051709075, -0.049860206, -0.0015467379, 0.10867708, 0.14257227, -0.04363354, 0.039784696, 0.009654442, -0.3981904, -0.035521798, -0.3009465, 0.20765312) * g_11; + result += mat4(0.15802802, 0.20658726, 0.07175077, 0.13363297, -0.26437205, -0.36688936, 0.2642335, 0.2855627, 0.17861994, 0.076894015, 0.11635738, -0.06555138, -0.21570256, 0.15639998, 0.16982861, -0.14948218) * g_12; + result += mat4(-0.252244, 0.104423165, 0.08296718, -0.23033309, -0.17892015, -0.33409834, -0.18738337, 0.29886454, 0.2821413, -0.42758805, -0.21272181, 0.5394736, 0.35043237, -0.049396887, 0.36223906, 0.18295164) * g_13; + result += vec4(-0.025732767, -0.005527079, -0.030687628, -0.017071865); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!SAVE conv2d_11_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.104982205, 0.07555908, 0.082988895, 0.09641123, -0.14312562, 0.08585028, -0.08006235, 0.11583354, 0.015197517, 0.0061171134, -0.08957176, -0.015803585, -0.028316237, -0.037797295, -0.08751069, -0.020076174) * go_0(-1.0, -1.0); + result += mat4(-0.077291645, 0.09839786, 0.20633034, -0.1368197, 0.04781139, -0.024400083, -0.013985738, 0.025657425, 0.052802097, 0.06658832, -0.07069402, -0.14722401, -0.058742646, -0.13931225, -0.07670136, 0.27102116) * go_0(-1.0, 0.0); + result += mat4(0.07352748, 0.10195403, 0.13596354, -0.019455345, -0.13721928, -0.29771757, -0.23916185, -0.06604379, -0.025979416, 0.056431673, -0.09193357, 0.045280043, 0.0431579, -0.00045074165, 0.07117571, 0.0759515) * go_0(-1.0, 1.0); + result += mat4(0.055535037, 0.033264358, 0.14612523, 0.12948278, -0.077543385, 0.06754819, -0.1644258, -0.16768512, 1.6243255e-05, -0.0036816916, -0.02051351, -0.25716934, -0.13010266, -0.054420397, -0.3265728, 0.05674878) * go_0(0.0, -1.0); + result += mat4(-0.073792264, 0.05852967, -0.028753553, -0.04824645, -0.04197776, 0.22288944, -0.16456614, -0.057237446, 0.003060873, -0.060042106, 0.08348391, -0.11798982, 0.16628337, 0.23030046, -0.16155055, 0.18258655) * go_0(0.0, 0.0); + result += mat4(0.0066633415, 0.09253906, 0.049395826, 0.151374, -0.015566304, 0.25921473, -0.17245017, 0.47088355, 0.08437717, -0.09881311, -0.07388792, -0.07178189, 0.050819, 0.055019803, -0.18850859, 0.03294016) * go_0(0.0, 1.0); + result += mat4(0.043678984, 0.095202595, 0.09942592, 0.24811096, 0.35030758, -0.21920095, -0.012092429, 0.048507717, 0.20449705, 0.0061976225, 0.01237401, 0.05136725, -0.15520673, 0.04483285, -0.21933301, -0.0075039417) * go_0(1.0, -1.0); + result += mat4(-0.3003681, 0.07858391, 0.016175367, 0.09858805, -0.055601455, -0.36961514, 0.006742421, -0.06503776, -0.01715813, -0.05382268, 0.15248029, -0.16113605, 0.04198701, -0.057357345, -0.23497291, -0.056328695) * go_0(1.0, 0.0); + result += mat4(0.11696767, 0.120468214, -0.077845395, 0.09777712, -0.1138163, -0.18214916, 0.058075044, -0.036811862, 0.19279048, -0.099064186, 0.36780992, -0.1690336, 0.11210642, -0.07528836, -0.29965997, 0.12446884) * go_0(1.0, 1.0); + result += mat4(-0.017169006, 0.2172244, -0.10730457, -0.021264572, 0.12227968, -0.053846695, 0.047163304, -0.101603, 0.0062724575, -0.072099365, -0.17555018, -0.00033070304, -0.10524059, 0.09394844, -0.114506185, 0.07369795) * go_1(-1.0, -1.0); + result += mat4(-0.012486243, -0.027982935, 0.068814695, -0.04484977, 0.17179243, -0.05968366, -0.15466455, -0.28936374, 0.037891816, -0.1537021, 0.090284206, -0.08304289, -0.22283946, -0.09740864, -0.076892264, -0.03097382) * go_1(-1.0, 0.0); + result += mat4(0.006861187, 0.14946023, -0.033668704, 0.15979089, 0.04760875, -0.46898082, -0.14282514, -0.13993657, 0.051552102, 0.07174696, 0.045460965, -0.12257744, -0.035047516, -0.13298129, -0.03663405, -0.10557144) * go_1(-1.0, 1.0); + result += mat4(0.07589365, -0.26653993, -0.08249569, -0.14438817, -0.04279978, 0.01693236, 0.17159064, -0.35254893, 0.0040323343, -0.11983753, -0.061253916, 0.011985204, 0.015628112, -0.27908513, 0.15301989, -0.05121764) * go_1(0.0, -1.0); + result += mat4(0.17096418, 0.046836298, -0.010261935, -0.10665749, 0.44767225, -0.15179153, 0.09625136, -0.1691867, 0.011945579, -0.05666474, -0.015486411, 0.096235506, 0.17957349, -0.37671992, 0.07288332, 0.21353583) * go_1(0.0, 0.0); + result += mat4(-0.15026344, 0.07971851, -0.18614125, 0.26538303, 0.100655146, -0.012255109, -0.043610323, -0.47393677, -0.18206257, 0.16008742, -0.08008707, 0.037403177, 0.25357443, 0.20838167, 0.07468662, -0.09819892) * go_1(0.0, 1.0); + result += mat4(0.045250274, 0.016913693, -0.17617564, 0.34649208, -0.123421766, 0.14499843, 0.2794011, 0.023555117, -0.13695411, 0.10700827, 0.0021667846, 0.100851916, -0.065286495, 0.030622184, 0.15711689, 0.16436149) * go_1(1.0, -1.0); + result += mat4(0.09937961, -0.02712812, -0.30141807, -0.05450205, -0.5938476, 0.5271416, -0.044925332, -0.5022929, -0.110103525, -0.1365297, -0.062112883, 0.073157676, -0.062495854, 0.0054924698, 0.044250533, -0.36919707) * go_1(1.0, 0.0); + result += mat4(-0.06692938, -0.16037337, -0.13874179, 0.042753883, -0.20345642, 0.33836037, -0.29128483, -0.3191502, -0.19161306, -0.024874836, -0.105124384, 0.20804134, 0.091092095, -0.10013389, 0.24283187, 0.022393208) * go_1(1.0, 1.0); + result += mat4(0.135681, -0.0913547, -0.015874185, 0.09247961, -0.023832338, -0.026725423, 0.21093869, -0.020168798, -0.036290176, -0.18609242, -0.11226475, -0.037647948, 0.015346553, -0.12651022, -0.005971455, 0.015934778) * go_2(-1.0, -1.0); + result += mat4(-0.012410877, 0.016434811, 0.16975299, 0.09871469, 0.08755521, 0.05003077, 0.17350516, 0.010860692, -0.012806688, -0.04557344, -0.14199564, 0.050168816, 0.061128106, -0.11948343, -0.10489915, -0.15296724) * go_2(-1.0, 0.0); + result += mat4(0.00050839694, -0.08347338, -0.07180877, -0.039955523, -0.0055085914, -0.12990318, 0.0396091, -0.12895937, -0.13214958, -0.020980636, -0.15015417, 0.124210335, 0.040430482, -0.058191862, -0.013813498, 0.06936561) * go_2(-1.0, 1.0); + result += mat4(-0.1309001, -0.1677729, -0.08611893, -0.019612571, 0.0072545055, -0.019699767, 0.08413648, 0.14671975, -0.030692907, -0.061039682, -0.26404843, 0.16754018, -0.13204649, 0.051769182, 0.07329174, 0.008961333) * go_2(0.0, -1.0); + result += mat4(0.12870015, -0.10839898, -0.056968387, 0.24554439, 0.10927941, 0.12468343, 0.113654085, -0.12424883, -0.13480952, 0.02290929, -0.1178948, -0.07272732, -0.035018474, -0.00019598046, -0.029631672, 0.20949355) * go_2(0.0, 0.0); + result += mat4(-0.10979465, 0.0015674937, -0.09602461, -0.13792102, 0.13557434, 0.0797543, 0.16902617, 0.10020133, 0.025968015, -0.13608235, -0.2076836, 0.14700463, -0.15915999, 0.042555846, 0.10517889, 0.013302224) * go_2(0.0, 1.0); + result += mat4(-0.11228716, 0.1296086, -0.13569583, -0.17462344, -0.15479918, 0.10442998, 0.099665, -0.0035203425, -0.03887185, -0.119468026, -0.32558957, -0.044526376, 0.10422026, -0.21343082, -0.18818367, -0.13065325) * go_2(1.0, -1.0); + result += mat4(0.117525764, -0.05182314, -0.13950679, 0.10066026, -0.082305804, 0.19577427, -0.11042555, -0.057250686, 0.034585953, -0.16881162, -0.22649515, -0.14541432, 0.04076736, -0.19786403, -0.20738153, 0.09599371) * go_2(1.0, 0.0); + result += mat4(-0.07562448, -0.04477483, 0.10653905, 0.08121934, -0.13194205, 0.038918853, 0.013618007, 0.2565958, -0.12499594, -0.006808097, -0.1272937, 0.08010868, -0.24138519, 0.10052855, 0.03744373, 0.010530644) * go_2(1.0, 1.0); + result += mat4(0.037195858, -0.026381439, -0.03815725, 0.061316613, -0.03832489, 0.091605686, 0.08876856, 0.06629904, -0.20887044, 0.0051514115, -0.1268548, -0.07050566, 0.08183176, 0.07088599, 0.18599358, -0.08899776) * go_3(-1.0, -1.0); + result += mat4(0.039327797, 0.22177398, -0.1463081, 0.20032172, -0.10862822, -0.11875083, -0.1379379, 0.031803746, 0.008306066, 0.00027348715, -0.23553665, 0.21973856, 0.04693609, 0.009794157, 0.1601008, 0.04190715) * go_3(-1.0, 0.0); + result += mat4(-0.08847024, -0.12034426, -0.046535492, -0.0015469183, 0.029354317, -0.017813215, 0.026930645, -0.061464008, 0.048435025, -0.0060154586, 0.0030779277, -0.0054586986, 0.11209741, 0.1775898, -0.0006593223, 0.06479346) * go_3(-1.0, 1.0); + result += mat4(0.06080291, 0.15299957, 0.06232974, 0.10846308, -0.028292485, -0.012474043, 0.10948469, -0.10518104, 0.03600489, -0.0018079659, 0.13882127, 0.09746347, -0.038197763, 0.050351717, -0.07982211, -0.13927835) * go_3(0.0, -1.0); + result += mat4(-0.019046405, 0.0682466, 0.16174704, -0.08366695, 0.06679201, -0.03144408, -0.15319623, -0.119038805, -0.05669314, -0.032495897, 0.08565711, 0.17832647, 0.09776954, 0.17032266, -0.24967444, 0.010303744) * go_3(0.0, 0.0); + result += mat4(0.24789387, -0.050210956, 0.24326064, -0.029406209, -0.015696421, 0.0012180286, 0.14299859, -0.005255871, 0.024319256, 0.07923077, 0.12629507, -0.006723262, -0.07208263, 0.15598877, 0.20316799, 0.048182316) * go_3(0.0, 1.0); + result += mat4(0.12899855, 0.119086534, 0.2254647, 0.05643592, 0.03596284, -0.034305334, 0.03675757, 0.025819505, -0.009708044, -0.27001143, 0.020433763, -0.114321835, 0.05199634, -0.07492276, 0.14047627, 0.019880205) * go_3(1.0, -1.0); + result += mat4(0.022634482, -0.16988315, 0.21583, 0.14514355, -0.1575888, 0.04049404, -0.19551556, 0.06926082, -0.019816458, 0.2504368, 0.0075988933, -0.2552049, -0.07932466, 0.014810682, 0.11324127, 0.09873611) * go_3(1.0, 0.0); + result += mat4(0.13066028, -0.025925523, -0.070729695, 0.08027581, -0.0889298, 0.12858535, 0.024727652, -0.06386548, 0.06752022, 0.14986867, -0.08458562, 0.04218467, 0.14644428, 0.11713881, 0.044610962, -0.03585549) * go_3(1.0, 1.0); + result += mat4(0.0034785594, -0.035852555, 0.0024070253, 0.0422838, 0.05252951, -0.040922806, -0.110922866, 0.018832507, 0.047977142, -0.031857464, -0.16198619, 0.17507105, 0.15119073, 0.0671685, 0.17173119, -0.002882032) * go_4(-1.0, -1.0); + result += mat4(0.07206848, -0.03441637, -0.12565812, -0.090023674, 0.07560367, 0.035000406, 0.0598636, -0.12219724, -0.10413281, 0.08332902, -0.332376, -0.059019767, 0.17776102, -0.029625535, 0.0932516, 0.11897422) * go_4(-1.0, 0.0); + result += mat4(-0.087000675, -0.06058876, -0.047136415, -0.01116753, 0.086808994, -0.037621588, 0.1934453, -0.09606909, -0.20308414, -0.20870854, -0.08154494, -0.023201983, 0.122871794, 0.10025451, 0.085648954, 0.06762109) * go_4(-1.0, 1.0); + result += mat4(0.008361006, -0.023998639, -0.10125869, -0.031050105, 0.13941154, -0.12811112, 0.19164155, 0.14518012, 0.07919583, 0.045191582, -0.02450593, -0.1460442, 0.19432214, 0.022542864, 0.075775094, -0.07979384) * go_4(0.0, -1.0); + result += mat4(0.0678098, 0.047234662, -0.16516937, 0.03845517, 0.10120048, 0.09001103, 0.0729872, 0.16803268, 0.05822093, 0.14214385, -0.09651238, 0.028225511, 0.014847803, 0.03776409, -0.018266752, -0.1786831) * go_4(0.0, 0.0); + result += mat4(-0.093699664, -0.07175496, -0.11612068, -0.03221349, -0.1627238, 0.08046109, 0.07180413, -0.053919647, -0.15395777, -0.10083802, -0.15925324, 0.03812138, -0.086695984, -0.011022635, -0.05752067, 0.09484592) * go_4(0.0, 1.0); + result += mat4(-0.009441042, -0.004515587, -0.011854299, -0.13570477, -0.11361854, 0.056793407, 0.14414963, 0.0016374801, 0.16569155, 0.0006892999, -0.24540672, -0.0115879765, -0.0062334137, 0.006741106, -0.057994764, -0.11105791) * go_4(1.0, -1.0); + result += mat4(-0.10549314, 0.07036646, 0.0027208559, 0.117512435, 0.06421372, 0.015700622, 0.122735605, 0.042871855, 0.3570547, -0.06494184, -0.1451109, 0.06707965, -0.0018241329, -0.15766938, -0.10465162, 0.06556862) * go_4(1.0, 0.0); + result += mat4(-0.12994805, -0.0015565314, 0.036605444, -0.0024906532, -0.22658896, -0.16236745, 0.028065031, 0.030607022, 0.24544671, 0.04871293, 0.0154087255, -0.07887157, -0.048981514, 0.047455136, 0.02338251, 0.09652532) * go_4(1.0, 1.0); + result += mat4(0.1025444, 0.06992135, -0.19152603, -0.032660298, 0.11341433, -0.008461467, 0.37216434, -0.021054655, 0.0136999, -0.06587233, -0.16484618, 0.157092, -0.009656801, -0.05105792, 0.14666946, 0.00493695) * go_5(-1.0, -1.0); + result += mat4(-0.07382431, -0.09395048, -0.093574286, -0.093534246, 0.012859197, -0.16821484, 0.33096954, -0.18585683, -0.11704033, -0.12794305, -0.10872539, -0.2351157, -0.111063056, -0.0059594624, -0.13428564, -0.015650012) * go_5(-1.0, 0.0); + result += mat4(0.010946964, -0.010041952, 0.0019383408, 0.10530978, 0.10574319, -0.042743787, 0.22395532, -0.21446688, 0.023708893, 0.06247624, -0.17799611, 0.08588511, -0.044028617, -0.060424324, -0.0718166, -0.10640777) * go_5(-1.0, 1.0); + result += mat4(0.10719061, 0.0129604, 0.19220753, 0.19485699, -0.04527621, 0.02048796, 0.062281314, 0.05473695, -0.001512825, 0.05083577, 0.015815359, -0.10335057, 0.088389724, 0.07674812, 0.1637286, 0.16419598) * go_5(0.0, -1.0); + result += mat4(-0.04744085, -0.021908872, -0.16124526, -0.12239747, 0.113680035, -0.00402739, 0.07683296, 0.1298162, -0.0062383, -0.0606094, -0.07588451, 0.09638553, 0.0488219, -0.062957846, -0.0049705994, 0.04572072) * go_5(0.0, 0.0); + result += mat4(0.078025624, 0.03524372, 0.009368983, -0.20319936, 0.10732133, 0.17059354, -0.090827584, 0.011335166, -0.0052754492, -0.041605044, -0.21478763, 0.16712104, 0.012957462, -0.03315961, 0.032550223, -0.060612053) * go_5(0.0, 1.0); + result += mat4(-0.04097813, -0.10575517, 0.02932303, 0.10431537, -0.17378059, 0.0028188052, -0.101903476, 0.09494412, -0.044233404, 0.07267324, 0.02446518, 0.04492867, -0.21241763, 0.06236375, 0.17637831, 0.11380535) * go_5(1.0, -1.0); + result += mat4(-0.16117178, 0.08798764, 0.0640833, -0.0701564, 0.17710546, 0.06163036, -0.06582654, 0.035877887, -0.09767339, 0.013938544, -0.1083548, -0.11107573, -0.2024197, 0.25081524, 0.10785676, 0.04328463) * go_5(1.0, 0.0); + result += mat4(0.011950619, 0.14784974, 0.07109999, -0.17253064, 0.110183194, -0.02177597, 0.2582, -0.06715354, 0.11416209, -0.0930534, -0.102803044, 0.04018467, 0.047358584, -0.0015465431, -0.13922222, 0.13208711) * go_5(1.0, 1.0); + result += vec4(-0.01062606, -0.052027427, 0.013884738, 0.019204512); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!SAVE conv2d_10_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.113090456, 0.07363513, 0.024979502, -0.008825497, -0.12050694, -0.07486469, -0.11941816, -0.011871381, 0.107220344, -0.032913607, 0.12622087, -0.045822218, 0.07387966, -0.021371206, 0.007965849, 0.048105687) * go_0(-1.0, -1.0); + result += mat4(-0.09334273, 0.033589564, 0.04118339, -0.10118551, -0.30853283, -0.16254744, -0.13663885, 0.2308669, -0.019317703, 0.02902979, 0.04737992, -0.05380483, 0.052566357, -0.0132431965, 0.03312134, -0.05146259) * go_0(-1.0, 0.0); + result += mat4(-0.035666548, 0.03142391, -0.061812516, 0.016170874, 0.2742194, -0.02790315, -0.16429302, -0.080292866, 0.08983578, 0.04091192, -0.009412326, 0.081929326, -0.021755466, 0.049149238, -0.022340572, 0.0018007496) * go_0(-1.0, 1.0); + result += mat4(-0.21112363, -0.07935102, -0.0077055297, -0.11152485, -0.038522743, 0.10441903, 0.49379715, 0.3279719, 0.11621902, 0.08317908, 0.065725714, -0.13305607, 0.0877202, 0.048430666, -0.08754577, 0.007701747) * go_0(0.0, -1.0); + result += mat4(-0.12220588, -0.009903899, 0.14068304, -0.046886254, -0.040303588, -0.022275012, 0.21650875, 0.1101425, 0.08782837, 0.029715152, 0.028760241, 0.016143637, -0.07338588, 0.043814916, 0.06933535, 0.17793724) * go_0(0.0, 0.0); + result += mat4(-0.044231124, 0.08114073, 0.06923305, 0.037548296, -0.092029534, -0.25295112, -0.06005341, 0.0014922859, 0.11133001, 0.059025094, 0.04505738, 0.0154424235, -1.2619082e-05, 0.031804066, -0.08802078, 0.07750838) * go_0(0.0, 1.0); + result += mat4(-0.1490005, 0.15053308, 0.086954184, -0.04289656, 0.18064196, -0.014970675, 0.21018268, -0.19265522, 0.1618517, -0.10602425, -0.01163617, 0.015137006, 0.11273077, -0.011398939, -0.135021, 0.022683538) * go_0(1.0, -1.0); + result += mat4(-0.07376752, 0.06489613, 0.013352993, -0.034090944, 0.25911796, 0.07827042, 0.1481548, -0.14758152, 0.16708852, -0.03871884, -0.039322566, 0.18408814, 0.12899528, 0.22925022, 0.055512853, 0.31332016) * go_0(1.0, 0.0); + result += mat4(0.017059328, -0.0090106595, -0.05648487, 0.04868179, 0.005841219, -0.20667028, -0.021814981, -0.22739622, 0.048590902, -0.03058942, 0.055517618, -0.017253084, 0.0836235, 0.014225088, 0.054538783, 0.14126775) * go_0(1.0, 1.0); + result += mat4(-0.061225217, 0.11518607, 0.048296787, -0.030705981, 0.00026408286, 0.13189921, 0.053947564, -0.01223916, 0.13795912, 0.052237086, 0.08458277, 0.0036678968, -0.038967784, 0.059216358, 0.081971616, -0.03260716) * go_1(-1.0, -1.0); + result += mat4(-0.25405368, 0.064130306, 0.007561692, 0.20079653, 0.044663772, -0.0985312, -0.2874557, 0.103476, -0.00029025553, 0.008965628, -0.21605104, 0.07896577, -0.1345618, -0.03465289, 0.12322703, -0.0027395114) * go_1(-1.0, 0.0); + result += mat4(-0.124397, -0.05734234, 0.13583343, -0.11811631, 0.026253833, -0.14396463, -0.21834502, 0.23715091, 0.13889933, -0.06356539, -0.0076341596, -0.09086631, 0.055698063, 0.020052545, 0.09171072, -0.16480936) * go_1(-1.0, 1.0); + result += mat4(0.19439146, 0.17128618, -0.11673137, -0.08775972, 0.07130441, 0.05052484, 0.0848579, -0.15684378, 0.026960561, 0.06485391, -0.07091981, 0.009575264, 0.30569664, 0.078809306, -0.18174082, -0.07217682) * go_1(0.0, -1.0); + result += mat4(-0.13809395, -0.06908299, 0.19040018, 0.09944175, 0.16939381, -0.37728497, -0.37024194, -0.12774213, -0.073519684, -0.027776692, -0.1551939, -0.14699444, 0.20145375, 0.08193369, -0.034844723, -0.006312232) * go_1(0.0, 0.0); + result += mat4(-0.055156156, -0.12880407, 0.084246926, 0.006865473, -0.17330836, 0.3469416, -0.11134178, 0.5999249, 0.16239491, 0.0069242036, -0.06905619, 0.11335964, 0.14645413, -0.22719446, -0.07623858, -0.21904367) * go_1(0.0, 1.0); + result += mat4(0.05759482, -0.011921518, -0.13729765, 0.05304118, -0.17100294, -0.2243963, -0.105225794, -0.06406073, -0.017775586, -0.043849885, 0.0059583266, -0.07364292, 0.11278126, -0.026950873, 0.056825638, 0.3991148) * go_1(1.0, -1.0); + result += mat4(0.16265109, 0.026453028, 0.013443396, 0.09319076, -0.24836281, 0.05491846, -0.017516365, -0.17137475, -0.08806953, -0.15395658, -0.039889313, 0.064111516, 0.04344778, 0.0070924186, -0.033040605, 0.03564861) * go_1(1.0, 0.0); + result += mat4(0.004374147, -0.0033310314, 0.0070889434, 0.022748578, 0.059289854, 0.06067078, 0.11241574, 0.5826851, -0.03176285, -0.016978094, 0.009900873, 0.03038094, -0.09920674, 0.020018527, 0.06611844, -0.0103789205) * go_1(1.0, 1.0); + result += mat4(0.072284274, -0.070255265, 0.06409053, -0.119059056, -0.032461043, 0.082600154, -0.016688043, -0.0044279834, -0.0087889265, 0.044576246, 0.044787094, 0.065958634, -0.14979455, 0.061757486, -0.24551123, -0.037096146) * go_2(-1.0, -1.0); + result += mat4(0.21414876, -0.035975914, -0.10910457, -0.076440185, -0.026116187, -0.19440939, 0.16116165, -0.034323256, 0.07209571, 0.03571497, 0.14614029, 0.16346116, -0.016872317, -0.12024297, -0.0755266, 0.028007843) * go_2(-1.0, 0.0); + result += mat4(-0.1504108, -0.074497886, 0.015983054, -0.019896332, 0.07229879, 0.004704412, 0.053509913, 0.017833585, 0.22588669, 0.085522465, 0.020050932, 0.13462946, 0.007896909, -0.01270269, 0.0360872, -0.057662737) * go_2(-1.0, 1.0); + result += mat4(0.07984104, -0.0127557935, -0.06973756, -0.19502595, 0.045058925, -0.07282435, 0.022881633, -0.03889418, -0.06895071, -0.01696622, -0.06334147, 0.11896589, -0.019639635, -0.12830317, -0.13997689, 0.049553704) * go_2(0.0, -1.0); + result += mat4(0.31706354, -0.30116943, 0.05092584, 0.076729104, -0.14699869, -0.015972838, -0.09121025, 0.17598335, 0.19278876, 0.093195386, -0.018730955, -0.19796541, 0.11778652, -0.096808665, 0.04344181, -0.14896126) * go_2(0.0, 0.0); + result += mat4(0.013848566, -0.020476839, 0.18316923, 0.0049782926, -0.0056098476, -0.07864655, 0.061630413, -0.080569, 0.076633394, -0.06640537, -0.106514364, 0.12165088, -0.058596645, -0.118888184, -0.06803075, 0.13117275) * go_2(0.0, 1.0); + result += mat4(-0.012252778, -0.030876057, -0.24172947, -0.087793685, -0.22224396, -0.25604194, 0.1426168, -0.12783521, 0.05556455, 0.03210483, -0.0316102, -0.023015687, 0.039683223, -0.10394309, 0.098285146, -0.023034312) * go_2(1.0, -1.0); + result += mat4(0.14878303, -0.028762965, 0.058775716, 0.15540268, -0.17421083, 0.131513, 0.044773087, 0.018603755, -0.09350667, -0.043389946, 0.11546245, -0.02759183, -0.07364507, 0.17135505, -0.009826415, 0.11607424) * go_2(1.0, 0.0); + result += mat4(0.067677625, 0.059752934, 0.024382113, 0.04400844, 0.008342977, -0.04577138, 0.020685198, -0.041203383, -0.017433412, -0.07155846, -0.052362144, 0.03014568, 0.038230926, -0.01888155, -0.07849765, -0.08396473) * go_2(1.0, 1.0); + result += mat4(0.053294566, 0.03602729, -0.22378196, 0.01609388, -0.11043058, -0.05442587, -0.19422631, -0.05565426, -0.04800542, 0.13920017, -0.017418116, 0.054497957, 0.13052133, 0.12071769, -0.042326517, -0.0022381644) * go_3(-1.0, -1.0); + result += mat4(0.046847582, -0.04184529, 0.008852511, -0.02015262, 0.10545831, 0.113283984, 0.10696095, -0.11655221, 0.03373848, 0.08363771, -0.02655156, 0.04344747, -0.24057704, 0.13668998, -0.2299754, 0.0073035797) * go_3(-1.0, 0.0); + result += mat4(-0.08459315, -0.020136766, 0.10070683, 0.017577527, -0.0009834991, -0.11033308, 0.08818948, -0.13391396, 0.04542606, 0.1559562, -0.0065471027, 0.07997259, 0.069890484, 0.046721727, 0.013988052, -0.08406746) * go_3(-1.0, 1.0); + result += mat4(-0.21624295, -0.14573877, 0.0105767455, 0.02749639, -0.16385342, -0.02645479, -0.06401607, -0.02483742, 0.03537051, -0.088888384, 0.11516674, 0.0331008, 0.10191646, 0.1400283, -0.07871824, -0.025639221) * go_3(0.0, -1.0); + result += mat4(-0.048230644, 0.15147676, 0.058630764, -0.13755774, 0.041924685, -0.07714329, -0.050841887, -0.08088139, -0.13306704, 0.29612526, -0.20367093, -0.10485751, -0.03138395, -0.119133264, -0.0035399024, -0.14238247) * go_3(0.0, 0.0); + result += mat4(-0.12002435, 0.14720187, -0.122544155, -0.02835125, 0.06765652, -0.0016552208, -0.16833816, -0.04353569, -0.068208195, 0.039453834, 0.11506979, -0.20681196, -0.049302276, 0.101384796, -0.05427253, -0.11548666) * go_3(0.0, 1.0); + result += mat4(-0.0015761533, 0.029485287, -0.013451097, -0.010172752, -0.08024912, -0.075339146, 0.03593965, -0.21028483, -0.016502015, 0.0044189016, 0.099528, 0.0015216048, -0.04843517, -0.22091262, 0.0074388958, -0.07867808) * go_3(1.0, -1.0); + result += mat4(0.061431393, 0.10554286, -0.047737405, -0.033705, 0.013257743, 0.04547564, -0.10596572, 0.022967024, -0.072270565, -0.07260744, 0.02165147, -0.2838162, 0.009972065, -0.18017696, -0.1033283, -0.24442294) * go_3(1.0, 0.0); + result += mat4(-0.076784596, -0.1104058, -0.002270307, 0.064797, -0.0110007385, 0.1348493, 0.057218846, -0.015386331, -0.14072885, 0.04957616, 0.15274633, -0.12291619, -0.03807296, -0.10206284, 0.015337153, -0.0031198338) * go_3(1.0, 1.0); + result += mat4(-0.0073694596, -0.15437892, 0.20896013, 0.05329698, -0.028366623, 0.18420795, -0.037967466, -0.09243155, -0.15928073, -0.027211703, -0.2442852, 0.058322527, 0.07330965, 0.056972265, 0.009306745, 0.06876) * go_4(-1.0, -1.0); + result += mat4(0.019019231, -0.040069077, -0.04364552, -0.03891406, 0.022412365, -0.12990329, 0.064752564, 0.038254093, -0.002828065, 0.020048235, 0.20127815, -0.16228448, 0.0893103, -0.013606921, 0.037670426, -0.14594339) * go_4(-1.0, 0.0); + result += mat4(-0.033307545, -0.061984073, -0.10351916, 0.014344462, 0.12793744, 0.025341533, -0.053259254, 0.018748915, -0.13417724, 0.040742733, -0.16217181, 0.02416155, -0.0012869171, 0.019427545, -0.014160245, -0.015564102) * go_4(-1.0, 1.0); + result += mat4(-0.06312904, -0.041499175, 0.14028127, -0.06057527, -0.0053603924, -0.20937814, -0.23347853, 0.06508113, 0.10326394, 0.14152344, 0.24802643, 0.037230004, -0.0512267, -0.09640014, 0.11307992, 0.062251512) * go_4(0.0, -1.0); + result += mat4(-0.047232777, 0.066493064, 0.067052625, 0.050015416, 0.10413762, 0.01973564, 0.16534911, 0.0024560746, 0.024104346, 0.22038093, -0.029466642, -0.03005048, -0.045328043, -0.026583074, 0.06890472, -0.083850846) * go_4(0.0, 0.0); + result += mat4(-0.015427126, 0.027022658, -0.08238112, 0.15246283, 0.11984305, -0.09998941, 0.014057224, -0.0066921166, -0.20243695, -0.073766015, 0.07869843, -0.11506079, 0.031439606, 0.11598879, 0.06180831, 0.041150138) * go_4(0.0, 1.0); + result += mat4(-0.057878558, 0.024301196, 0.018600943, 0.033078402, -0.0144442795, 0.14395595, -0.1659252, 0.013102369, 0.28647897, 0.3503999, -0.05675152, 0.016681064, 0.086345114, -0.037110195, 0.03652228, -0.0051537044) * go_4(1.0, -1.0); + result += mat4(0.09289769, 0.0016243979, -0.059179984, 0.09049066, -0.14034908, 0.032427154, 0.04401559, -0.014668633, -0.040649414, 0.1347746, -0.17860253, 0.06025895, 0.01153774, -0.022120953, 0.08443816, 0.038053006) * go_4(1.0, 0.0); + result += mat4(0.0002521741, -0.040953588, 0.007686153, -0.08370907, 0.011406269, 0.12528807, -0.046396818, -0.11079658, -0.065456934, 0.15347314, -0.11185346, 0.051363517, 0.097815335, -0.079271026, -0.09015003, -0.06900951) * go_4(1.0, 1.0); + result += mat4(0.08122873, -0.057299573, -0.14423624, -0.008031561, 0.03928219, 0.016986107, 0.12346514, -0.07066072, -0.106617115, -0.13096279, 0.14809057, 0.006015337, -0.0058337026, -0.06331833, -0.07309315, 0.019704184) * go_5(-1.0, -1.0); + result += mat4(0.13088657, -0.031135868, 0.11847334, 0.0071840337, -0.17655367, 0.100214295, -0.17799327, 0.03865343, 0.037620597, 0.13719837, -0.040092412, -0.017328897, 0.1561107, -0.065955736, 0.1717354, -0.1400387) * go_5(-1.0, 0.0); + result += mat4(0.078043096, 0.040985454, 0.07705413, -0.0050318157, -0.027695157, -0.005932721, -0.06398745, 0.057999082, -0.04509152, 0.0026726502, -0.019347308, 0.07512656, 0.04063527, 0.0068896073, 0.10422622, 0.022710409) * go_5(-1.0, 1.0); + result += mat4(0.072719865, -0.13834853, 0.12521699, 0.028246783, 0.18001392, 0.22119613, -0.04822959, -0.18187445, -0.01620022, 0.06518222, 0.08131247, 0.03313942, -0.1719651, -0.09656006, 0.11155731, 0.0012492423) * go_5(0.0, -1.0); + result += mat4(-0.06908649, 0.032564826, -0.221129, -0.18762547, 0.004682886, -0.013427163, -0.09181895, 0.11841623, -0.021600097, 0.11863493, 0.022368155, 0.20736726, -0.1179626, -0.031987645, -0.10487533, 0.0223198) * go_5(0.0, 0.0); + result += mat4(0.16678348, 0.10580399, 0.06924163, 0.02099658, -0.12483056, 0.015410649, -0.07798601, 0.11255007, -0.02503761, -0.05064836, -0.089003615, 0.014460337, -0.08561935, -0.018413413, -0.06588833, 0.035070665) * go_5(0.0, 1.0); + result += mat4(0.027189143, -0.0010071322, 0.09226382, 0.0065353415, 0.061346207, 0.07053531, -0.23844129, 0.108211555, 0.004455096, 0.03178847, 0.035845987, 0.05188758, -0.098674856, -0.035545208, 0.08398878, 0.041259117) * go_5(1.0, -1.0); + result += mat4(-0.06490854, 0.032585036, -0.019875526, -0.027634617, 0.027890025, -0.016592579, 0.14754246, -0.036906276, 0.06924524, 0.1729594, -0.017031275, 0.066240765, -0.18692508, -0.007637408, 0.1483749, -0.14382264) * go_5(1.0, 0.0); + result += mat4(0.0022379193, 0.08517842, 0.03217198, 0.14777406, -0.027304325, -0.08981197, -0.030513924, -0.18656953, 0.18277127, 0.07718136, 0.009839646, -0.10027589, -0.07353519, 0.06717004, 0.003475724, 0.05562032) * go_5(1.0, 1.0); + result += vec4(0.006233754, -0.020468881, -0.023690598, 0.012153336); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.3275295, -0.10256548, 0.07990071, 0.07344491, 0.09675708, 0.38602263, 0.046949226, 0.13522291, -0.06548349, -0.2141768, 0.1442215, 0.07076354, -0.28706893, -0.09510657, -0.33361802, 0.17997606) * g_0; + result += mat4(-0.3902465, -0.37943545, 0.34070873, -0.06515231, 0.3773959, 0.23564592, 0.12646881, 0.34798717, 0.08959239, -0.09920428, -0.05263061, 0.08593119, -0.11256286, 0.03323808, 0.28942552, -0.07692077) * g_1; + result += mat4(0.049924586, -0.046135597, 0.027276453, 0.22358407, -0.17782047, 0.04982942, 0.032420523, 0.14843605, -0.07956747, 0.15165776, 0.024053019, 0.10179323, -0.12331457, 0.17385468, -0.14274296, -0.19595052) * g_2; + result += mat4(0.08946966, 0.21978298, -0.13464683, -0.15201972, 0.07488354, -0.083067894, 0.2545266, -0.00071388343, -0.09486165, 0.17796224, -0.17153804, -0.13825884, -0.005259369, 0.25042844, -0.17753051, -0.23244008) * g_3; + result += mat4(-0.101277605, 0.08002136, 0.052613195, -0.0025906193, -0.05422038, 0.06328493, -0.312865, -0.09892072, -0.05911775, -0.30448103, 0.18317235, -0.06668996, -0.30352446, 0.05390891, -0.2406475, 0.24649437) * g_4; + result += mat4(0.2113683, 0.17140104, -0.30644476, -0.12725203, 0.11536456, -0.19401324, -0.21433993, 0.051369216, -0.15230572, 0.42077595, 0.2791827, 0.0865297, 0.13286951, 0.01140499, 0.020872416, -0.034236103) * g_5; + result += mat4(0.27759182, -0.1335802, -0.08618739, 0.16586313, 0.15327361, -0.33924958, -0.21265858, -0.20737244, -0.009371618, 0.11073709, 0.4726342, -0.0316658, 0.05112286, -0.032339208, -0.17583671, -0.25219595) * g_6; + result += mat4(-0.026518747, 0.12324775, -0.31155992, 0.21424666, -0.16678652, 0.06348117, 0.11070292, -0.11495743, -0.10694724, 0.12424144, -0.0021484715, 0.06512352, 0.15463142, -0.11476437, 0.2896172, 0.4012892) * g_7; + result += mat4(-0.001160076, -0.14888513, 0.14301488, -0.04740031, 0.029436165, -0.23340538, -0.15105838, 0.16811034, -0.06946912, 0.020841839, 0.24280222, 0.021100134, 0.07717933, -0.22419651, -0.006414409, 0.11330106) * g_8; + result += mat4(0.11547635, -0.25639054, -0.018852018, 0.24935618, 0.14466232, -0.108216226, -0.09197662, -0.20300743, 0.20194042, 0.3676584, -0.14426023, 0.33430305, -0.069588944, -0.05887257, 0.194153, -0.25895235) * g_9; + result += mat4(0.007937854, 0.10338447, -0.08498367, -0.17928837, 0.27194974, 0.0847048, 0.18792148, -0.14510484, 0.12530808, 0.10366565, -0.13497144, 0.21842767, -0.09612641, 0.1777584, 0.07427717, 0.1062342) * g_10; + result += mat4(-0.07232676, 0.01870754, 0.17989273, -0.12123426, 0.08253994, -0.13098013, -0.17457142, 0.2662375, 0.16095823, -0.04657838, -0.19479601, 0.037022784, -0.08683312, 0.25411013, 0.041371927, 0.2900686) * g_11; + result += mat4(-0.285272, -0.3171985, -0.0049645463, 0.14884493, 0.09718065, -0.31102726, -0.24681929, 0.03831946, 0.12201028, -0.101639956, -0.10093202, -0.053675085, 0.02908511, 0.091725975, -0.036547046, 0.02928812) * g_12; + result += mat4(0.18724014, -0.056803793, 0.15476856, -0.02362879, 0.052199673, 0.06359232, 0.4151323, -0.01882742, -0.019109733, -0.07776646, -0.3151209, 0.053818975, 0.046562992, -0.17907584, 0.13174902, 0.14436677) * g_13; + result += mat4(-0.21648815, 0.022653956, -0.55097306, -0.008152276, 0.12439029, -0.04533779, -0.12331872, 0.078978874, 0.052233644, -0.1477579, -0.18353766, 0.40710232, -0.23357393, -0.39480248, -0.018859219, -0.07072299) * g_14; + result += mat4(0.043721616, 0.14363645, 0.024111703, 0.014027298, 0.012885652, 0.17223589, 0.047403537, -0.09311825, -0.24859756, -0.1791887, -0.064629294, -0.26104984, 0.12781571, -0.011062096, 0.1922415, 0.16987853) * g_15; + result += vec4(0.05144489, 0.033752657, 0.008907633, -0.03164656); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf1 +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.26660392, 0.07363331, -0.0630955, 0.04707774, 0.2190672, -0.012001462, -0.5999911, 0.28147182, 0.13756925, -0.124700874, -0.02564129, 0.22770438, 0.101030536, 0.098255195, -0.21563007, -0.075010024) * g_0; + result += mat4(-0.251709, 0.20354952, -0.32704532, 0.018580899, -0.10529829, -0.15543194, -0.18096688, -0.27817816, 0.34051725, 0.02303076, -0.006826852, -0.09399886, -0.038892258, 0.022739887, 0.058521356, 0.13895498) * g_1; + result += mat4(0.05894668, 0.100568, -0.21035372, 0.31440088, 0.037351474, -0.022318719, -0.00996168, 0.010143051, -0.33800384, -0.023619255, 0.23860018, -0.24643785, 0.096730575, -0.10366994, 0.050961945, -0.219199) * g_2; + result += mat4(0.21206303, -0.17116684, 0.014926057, -0.2555803, -0.23777173, -0.3644426, -0.14371839, -0.21673483, 0.39334375, -0.1263852, -0.23373136, -0.43798128, -0.1707486, -0.009590617, 0.0023898776, -0.23449537) * g_3; + result += mat4(-0.06620709, -0.033145174, 0.27508232, 0.08487005, 0.36242872, -0.30349565, -0.034109794, 0.3935021, 0.046761807, -0.106829435, -0.048241124, 0.011187411, -0.20284426, -0.08020177, 0.011624174, 0.2168835) * g_4; + result += mat4(-0.12986803, 0.09660072, -0.0859288, 0.23373657, -0.35700363, 0.021483889, 0.13391288, 0.26249766, 0.073043846, 0.15460604, -0.17885107, -0.03155575, 0.21122873, 0.10214664, 0.008124733, -0.13256365) * g_5; + result += mat4(-0.20986424, 0.01661353, -0.32582346, 0.021188684, -0.11207729, -0.005879808, 0.14655554, 0.20526361, 0.17426926, -0.21366295, -0.08453759, 0.21751851, -0.22087021, 0.18081911, 0.034678783, -0.028321259) * g_6; + result += mat4(0.06180443, -0.0133624105, -0.09466958, -0.11492345, 0.037676495, 0.17866406, -0.2652301, -0.27896136, 0.066703305, 0.0914678, 0.060967688, -0.1129105, 0.34927168, -0.07907402, 0.250401, 0.18991004) * g_7; + result += mat4(0.19685721, -0.004515772, -0.24063739, 0.029372582, 0.11698867, 0.07514613, 0.09423268, 0.1620886, 0.14784159, 0.21263896, 0.2852977, -0.12326755, 0.07344623, 0.050873935, -0.23356345, -0.5316184) * g_8; + result += mat4(-0.13699524, -0.26430392, -0.06886077, 0.03557516, -0.06480295, 0.08807464, -0.17347333, 0.06482862, -0.13731833, -0.2848614, 0.06923784, 0.25189507, -0.12466488, -0.052593954, 0.00086845015, 0.10056825) * g_9; + result += mat4(0.18202075, -0.03969697, 0.11266586, -0.31405628, -0.18683487, -0.16736764, -0.2904854, -0.03473291, 0.0489973, 0.37474206, 0.2694234, -0.029300861, 0.02498133, 0.3028819, 0.1546703, -0.09094391) * g_10; + result += mat4(0.022329945, 0.16241878, -0.19467553, -0.06949654, 0.34127444, 0.15979202, 0.018057512, 0.24089065, -0.102250695, 0.01327663, 0.21074775, 0.10166909, 0.3671337, 0.25721171, -0.25048146, 0.03895536) * g_11; + result += mat4(0.05818574, -0.0058748005, 0.11750601, 0.19012532, 0.3506463, 0.05318807, -0.14448579, -0.09219455, -0.13858557, -0.024810392, 0.057599254, 0.012339387, 0.1620521, -0.18280268, 0.040701784, -0.17565976) * g_12; + result += mat4(0.39327988, -0.1916084, 0.056305442, -0.288639, -0.034966636, 0.29527235, -0.32901463, -0.11967507, -0.34051013, 0.27244, -0.0063241655, 0.4183678, -0.38721135, -0.13528046, 0.16835152, 0.17126207) * g_13; + result += mat4(0.014969379, 0.1980705, 0.08781139, 0.144981, 0.3095253, -0.17065018, 0.23785667, 0.26326, 0.009895111, 0.019108804, 0.2241572, 0.048993796, 0.115338214, 0.13549735, -0.21664904, -0.044739243) * g_14; + result += mat4(0.24587603, -0.03127825, -0.5519671, -0.1913501, -0.041294243, 0.17807598, -0.24955471, -0.2830993, -0.032468125, 0.051955972, -0.04685181, -0.29292116, -0.037471697, -0.09133097, 0.06842207, 0.4217657) * g_15; + result += vec4(0.03585649, -0.0060541225, 0.04059685, 0.028249348); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf2 +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.022616543, -0.07495665, 0.20578638, -0.24614015, 0.20188546, 0.07821132, -0.55689156, 0.078048594, 0.16035397, -0.18943994, -0.109294415, 0.11644118, -0.25667566, -0.17004293, -0.34455723, -0.08808675) * g_0; + result += mat4(0.28649247, 0.056165792, -0.49363118, -0.1529661, 0.07703691, 0.07966694, 0.58834124, 0.20894507, 0.46345595, 0.19134133, 0.12830314, -0.06366993, 0.1250579, 0.18356793, -0.1408607, -0.16252096) * g_1; + result += mat4(-0.059020188, -0.21338785, 0.017160866, -0.06280688, -0.12539028, 0.032399278, 0.046102162, -0.012033963, 0.19066435, -0.21461637, 0.07392558, 0.022834225, 0.18924391, -0.027622582, -0.24777018, -0.090185896) * g_2; + result += mat4(-0.32912537, -0.12669958, 0.092723176, 0.09256268, 0.013792983, -0.13308536, 0.16042812, -0.2033247, -0.06560468, -0.019620765, 0.08362642, 0.055273537, 0.12208806, -0.20194231, 0.084021725, 0.38380083) * g_3; + result += mat4(-0.1571086, 0.03144169, -0.2251698, -0.06480453, 0.001744102, 0.0010039994, -0.027967803, -0.11266107, -0.40678036, -0.07481646, -0.24311328, 0.042732738, 0.018475516, -0.113912515, 0.03153217, -0.034913916) * g_4; + result += mat4(0.014403644, -0.020557571, 0.38122526, 0.03807282, 0.28673846, 0.13712813, -0.042157043, -0.12968376, 0.12554988, -0.14628744, -0.00392324, 0.014086664, 0.079255715, 0.09928858, -0.11087327, 0.0699405) * g_5; + result += mat4(-0.35458207, 0.029392743, -0.31504998, 0.13302153, 0.17734766, -0.10416982, -0.0036142413, -0.12197593, -0.17005852, 0.1727392, 0.11929178, 0.16293883, -0.25592133, 0.08175675, 0.2355234, 0.022874065) * g_6; + result += mat4(0.21167323, -0.26767167, 0.08588045, 0.058573887, -0.01292999, 0.22167805, 0.11722694, 0.5700164, 0.044330835, -0.29406846, -0.11540253, -0.21386458, -0.08779367, -0.12368158, 0.0667155, 0.32094228) * g_7; + result += mat4(-0.08529116, 0.09712954, 0.09333625, 0.06606905, -0.1782532, 0.051486395, -0.10986318, -0.20011626, -0.023568239, 0.20281026, 0.03716514, 0.1831125, 0.22586478, -0.058135565, 0.0030777368, 0.0015794474) * g_8; + result += mat4(-0.007098127, -0.11688584, 0.0133981705, 0.17757058, 0.02897332, -0.18530834, -0.0032577885, -0.08089542, -0.0020816326, -0.3233896, -0.13044983, -0.04108618, 0.0110450545, -0.01834794, -0.17684971, -0.06611739) * g_9; + result += mat4(0.2604118, 0.3291361, 0.07571542, 0.32165763, -0.06534106, -0.10623649, 0.18254459, 0.063651256, -0.021245563, 0.06759048, -0.39714596, -0.12235311, -0.059783626, 0.10078259, 0.26484212, -0.13679399) * g_10; + result += mat4(0.13124742, 0.11206922, -0.0684187, -0.20119804, -0.09549651, 0.0703663, -0.19196616, -0.14344019, 0.029426184, -0.057151172, 0.19186652, 0.24676153, 0.35762733, 0.10300911, 0.08581454, -0.015290781) * g_11; + result += mat4(0.06758918, 0.37075385, -0.2334613, 0.25336525, -0.026440224, 0.024827614, 0.07352414, -0.1794877, -0.018798998, 0.10824414, 0.01850616, 0.03725088, -0.079103224, -0.056518886, -0.01137129, -0.00012351258) * g_12; + result += mat4(0.09624113, -0.18910943, 0.30205646, 0.43680936, 0.21888132, -0.22264229, -0.15398757, 0.29324576, 0.006859953, -0.077507176, -0.090208314, -0.20981432, -0.21420066, 0.06341929, -0.07640488, -0.031766582) * g_13; + result += mat4(-0.025704857, 0.09863719, 0.04335183, -0.06731708, 0.019300275, -0.39722142, -0.13667129, 0.15554759, -0.3567945, -0.008414992, -0.05418159, -0.2149799, -0.17905809, 0.0051317243, 0.037312187, -0.05859764) * g_14; + result += mat4(0.25617346, 0.009854824, -0.019909287, 0.06340188, -0.10071771, 0.10874236, 0.38549116, 0.098355606, 0.2930539, 0.11536922, -0.14541107, 0.035229255, -0.3127395, 0.27851996, -0.0048802355, 0.02862268) * g_15; + result += vec4(-0.0006504641, -0.014806257, -0.015985647, 0.021676043); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!SAVE conv2d_14_tf +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.04766601, -0.08873054, 0.005499363, 0.22826882, -0.037064873, -0.033036098, -0.032993972, 0.019684056, -0.112056926, 0.24149527, 0.035685547, 0.17504431, -0.0183106, 0.0045852084, 0.026032817, 0.15994325) * go_0(-1.0, -1.0); + result += mat4(0.08036498, -0.013548163, 0.20777182, 0.06606712, -0.08659822, -0.00868782, -0.011019898, 0.2910518, -0.09389351, 0.33584946, 0.108130634, -0.10339422, -0.05983827, 1.1733741e-05, 0.19136195, -0.030451618) * go_0(-1.0, 0.0); + result += mat4(-0.06300944, -0.12232252, 0.03439557, 0.023495283, 0.030675469, -0.15615271, 0.009222266, -0.15872008, -0.11221947, 0.09490069, 0.019891763, 0.045059964, -0.041904196, -0.017507626, 0.29639375, -0.117661364) * go_0(-1.0, 1.0); + result += mat4(0.016437378, 0.007538904, -0.026839709, -0.16624857, 0.06819369, -0.04897121, -0.18808518, 0.086621605, 0.14180544, 0.17955917, -0.09790851, 0.039487675, 0.22766054, 0.09032378, -0.075107984, 0.028585276) * go_0(0.0, -1.0); + result += mat4(0.05246935, 0.050048, -0.05351975, -0.107505515, 0.108736835, -0.27448198, 0.11252558, 0.27796018, 0.04185788, 0.034398172, -0.053029325, 0.07073433, -0.025713935, -0.09570281, -0.07521802, -0.08111075) * go_0(0.0, 0.0); + result += mat4(0.031577975, 0.019226722, 0.04809843, -0.19481082, -0.06222471, -0.08793356, -0.0105632, -0.0022112587, -0.16979192, -0.12659062, -0.056841433, 0.16133933, -0.012780732, -0.022318223, 0.15101114, -0.0151837105) * go_0(0.0, 1.0); + result += mat4(0.044661913, -0.09493484, -0.16244547, 0.099892184, -0.09966541, -0.1371541, -0.1199883, -0.006932647, 0.011555785, 0.062161997, 0.011957924, -0.0046018534, -0.07246587, 0.050895315, 0.08764646, 0.03878322) * go_0(1.0, -1.0); + result += mat4(0.0050623664, 0.04194452, -0.06284778, 0.2801689, -0.0048141177, -0.014546401, 0.009261513, 0.10671803, -0.1831871, -0.16314691, 0.14374094, 0.14304964, -0.019663982, -0.0238642, 0.1355787, -0.07863844) * go_0(1.0, 0.0); + result += mat4(0.068439595, 0.10601399, 0.04445464, -0.082589164, -0.12076639, -0.19892736, 0.010703126, -0.049566027, 0.037566118, 0.0014690928, 0.021312788, 0.16887307, 0.07284222, -0.1301409, 0.066457376, -0.07559795) * go_0(1.0, 1.0); + result += mat4(-0.016828878, 0.002777484, -0.01192022, -0.15069696, 0.20221114, -0.3061287, 0.13297656, -0.056803413, -0.066278435, 0.0035245512, -0.17930144, -0.001265058, 0.013300978, -0.048236936, 0.028006276, -0.08026672) * go_1(-1.0, -1.0); + result += mat4(0.18392089, 0.15686612, -0.13585585, -0.15458605, 0.019226758, -0.33975378, 0.23010728, 0.23337337, -0.23821786, 0.29103196, -0.021852285, 0.14304784, 0.011693901, -0.054488327, -0.01315806, 0.007436759) * go_1(-1.0, 0.0); + result += mat4(-0.011244075, 0.10416007, -0.0041315504, -0.11997069, 0.050595663, 0.091377564, 0.22195914, -0.12773553, -0.07143762, 0.0143060265, 0.17273602, -0.10601611, -0.009763753, -0.0847433, 0.12186509, 0.10615673) * go_1(-1.0, 1.0); + result += mat4(0.061368015, -0.068496354, -0.2407434, -0.26803467, -0.058811773, -0.010204624, -0.07548678, 0.17162569, -0.09558153, -0.071033135, -0.06556115, 0.1221955, -0.1347493, 0.024266958, 0.025815917, -0.100408986) * go_1(0.0, -1.0); + result += mat4(-0.1888506, -0.030419666, 0.16793051, 0.14324215, 0.10950739, 0.1343419, -0.2248379, -0.14396293, -0.20620285, 0.17800951, -0.16497955, -0.19341442, 0.2942622, 0.16140452, -0.040181722, 0.017387921) * go_1(0.0, 0.0); + result += mat4(0.009891477, 0.011328579, 0.00594306, -0.0028590804, 0.1154466, 0.005604213, 0.07040629, -0.116503485, -0.14134626, -0.036831252, 0.114188544, -0.04877332, -0.018549152, -0.10824534, 0.23002262, -0.09607142) * go_1(0.0, 1.0); + result += mat4(-0.041259766, -0.13294907, -0.001241502, 0.0052782656, 0.17177297, 0.045009315, 0.016023083, -0.17428452, -0.11339484, -0.0149995135, 0.07818529, -0.07482733, 0.052924678, -0.09830524, 0.028107356, -0.0506559) * go_1(1.0, -1.0); + result += mat4(0.16750227, -0.03543132, -0.11424185, -0.016877567, 0.07610275, -0.038692836, 0.11466223, -0.043120407, -0.017285721, -0.022713793, -0.040554002, 0.12117221, -0.12070236, -0.1355447, 0.18470849, -0.08757451) * go_1(1.0, 0.0); + result += mat4(0.06588489, -0.06895313, -0.10074674, 0.052769467, -0.052452452, 0.021969646, 0.019364877, 0.042615533, -0.18192504, -0.019475296, -0.15541336, -0.024499625, 0.1061428, 0.08680538, -0.076889925, 0.060964942) * go_1(1.0, 1.0); + result += mat4(0.11723939, -0.2145895, -0.0018003144, 0.008435592, 0.20840652, -0.06223065, -0.07482898, 0.13037735, -0.016607814, -0.02059057, -0.076556735, -0.14825165, 0.029702501, 0.1584012, 0.12974715, -0.028934866) * go_2(-1.0, -1.0); + result += mat4(-0.13804847, -0.07549884, 0.14182271, 0.25749323, 0.0720415, 0.0683624, -0.11029505, 0.07563778, -0.10603422, -0.008179157, -0.27246183, 0.098859124, 0.2341703, 0.02649086, -0.0476733, -0.004040013) * go_2(-1.0, 0.0); + result += mat4(-0.014769323, -0.14823915, 0.100703806, 0.046229646, 0.07188005, 0.13177352, -0.18380448, -0.12662199, 0.09121963, 0.086607546, -0.1713038, 0.20208809, 0.07673659, 0.06964691, -0.011840256, -0.17650494) * go_2(-1.0, 1.0); + result += mat4(0.043285407, -0.19177067, -0.013394971, -0.039506245, -0.020055663, -0.16365004, -0.126919, 0.11829788, -0.09755223, -0.08120004, 0.02925502, 0.07994708, 0.14334531, -0.051972084, -0.10803022, -0.21189956) * go_2(0.0, -1.0); + result += mat4(-0.16990487, 0.08215979, 0.15654644, -0.028398765, 0.038672406, -0.014357952, -0.058319125, 0.17800058, -0.04136424, -0.13240542, -0.1967293, 0.053846672, 0.13392007, -0.054036554, -0.079700164, 0.016189305) * go_2(0.0, 0.0); + result += mat4(-0.07202835, -0.09779492, 0.035847716, -0.1027833, 0.031227818, 0.012867398, -0.12228696, 0.08555991, 0.059939012, -0.0897783, 0.083725266, 0.04854981, 0.13604839, 0.06550103, -0.12690842, 0.060452852) * go_2(0.0, 1.0); + result += mat4(0.06340156, 0.031024719, -0.22086458, 0.034828365, 0.07871151, -0.06558423, 0.0109889265, -0.013587479, 0.014823924, 0.055887852, 0.026508275, 0.18315418, 0.14366621, 0.15082708, 0.014611827, 0.03689167) * go_2(1.0, -1.0); + result += mat4(-0.017257426, -0.07688253, -0.22220261, -0.038077347, 0.19999744, -0.117364876, -0.23549953, 0.06990646, -0.10284061, 0.019038511, -0.041728914, 0.047584135, 0.25996932, 0.10438033, -0.04583734, -0.099349774) * go_2(1.0, 0.0); + result += mat4(0.107289255, -0.011826194, 0.18488838, -0.11182476, 0.25090897, -0.04807566, -0.13324001, 0.031594798, 0.08850055, -0.033576958, 0.022218898, -0.12367226, 0.22097383, 0.14337142, 0.11542364, 0.06884657) * go_2(1.0, 1.0); + result += mat4(0.09653818, -0.25129798, -0.03969683, -0.03618899, -0.00659088, 0.070773214, -0.13164142, 0.2120833, 0.040861044, -0.16202575, 0.051817715, -0.0459317, 0.03780374, -0.008494332, 0.1583021, 0.021209331) * go_3(-1.0, -1.0); + result += mat4(0.02460906, -0.020823052, -0.09839472, 0.10060548, 0.046076972, -0.16150779, 0.14439686, 0.016492547, 0.0025654845, 0.072366305, 0.014925509, 0.18787178, 0.14894952, 0.14046526, -0.003845746, 0.23632208) * go_3(-1.0, 0.0); + result += mat4(0.078982495, 0.0065785116, -0.1737421, -0.07332543, -0.09551695, -0.002053524, 0.16844669, 0.03345903, 0.06719397, 0.10376351, 0.13497436, 0.071619935, 0.23288521, -0.11742427, -0.14318109, 0.089601494) * go_3(-1.0, 1.0); + result += mat4(0.011915186, -0.06130206, -0.021597957, -0.04159016, -0.18702744, -0.18567209, -0.04453462, 0.4449929, 0.07912663, 0.10108847, 0.08675925, -0.19482899, -0.041210745, 0.09773281, 0.10437732, -0.085520625) * go_3(0.0, -1.0); + result += mat4(0.03445699, -0.06624237, -0.28586054, -0.12831378, 0.065471284, -0.11925356, -0.156869, -0.102216974, -0.14781037, 0.052781656, -0.06528647, -0.275892, -0.22086778, -0.016050411, 0.0036724263, 0.021571217) * go_3(0.0, 0.0); + result += mat4(0.017263295, 0.10817724, -0.21819082, 0.007319149, 0.27413887, -0.080145285, 0.044494774, 0.06599436, 0.11954389, -0.03018483, -0.09192682, -0.031004976, -0.09016021, 0.045329135, 0.15545401, -0.0209672) * go_3(0.0, 1.0); + result += mat4(0.13881911, -0.07097578, 0.22490872, -0.15384829, -0.2904959, -0.006828653, -0.12404816, 0.13234936, 0.0032617098, -0.023515865, -0.016579526, -0.21592613, 0.07729235, -0.010805467, 0.030352516, -0.10903927) * go_3(1.0, -1.0); + result += mat4(0.1393222, 0.05848132, -0.041017666, 0.029049246, -0.1360833, 0.052250512, -0.107206866, -0.30497506, 0.11543321, 0.11237877, -0.0036355858, 0.15896477, 0.1599398, -0.09694541, 0.15233493, 0.18268575) * go_3(1.0, 0.0); + result += mat4(-0.12597929, -0.13328442, 0.017843464, -0.11486026, -0.04771538, 0.10162601, 0.017524868, -0.01904278, 0.0478602, -0.039450396, 0.13683593, -0.023819651, 0.13506551, 0.022513816, 0.14501822, 0.07545253) * go_3(1.0, 1.0); + result += mat4(-0.03847361, -0.08527842, 0.00038718345, -0.09956007, -0.0041102497, -0.18443857, -0.07230493, -0.2134338, -0.10056842, 0.017790612, 0.08625248, 0.09147499, 0.10776074, 0.21292494, -0.18136409, -0.014830358) * go_4(-1.0, -1.0); + result += mat4(-0.17102414, -0.0024341894, -0.056161452, -0.06670374, -0.0075222473, 0.015801411, 0.09520844, 0.01996027, 0.088864975, 0.15432504, -0.105320275, 0.036605533, 0.09898843, 0.0038657803, 0.060707986, -0.16269276) * go_4(-1.0, 0.0); + result += mat4(-0.026792359, -0.14464599, -0.023440983, -0.06459932, 0.18063387, 0.15380166, -0.13795565, 0.21833411, -0.029010907, -0.007345312, 0.031291094, 0.01690086, -0.17666414, -0.14363834, -0.17275512, 0.043333065) * go_4(-1.0, 1.0); + result += mat4(-0.09328905, 0.041910104, -0.18096697, -0.03831273, -0.022100518, -0.0147181675, -0.16839693, 0.088716485, 0.14491183, 0.07721941, 0.07122075, -0.3020263, -0.14014488, -0.11122849, 0.0029383225, 0.25735486) * go_4(0.0, -1.0); + result += mat4(0.11335208, 0.37366053, -0.20657742, -0.25275037, 0.12133818, -0.019680776, -0.15982674, 0.33611122, 0.01259284, -0.0142183425, -0.0041593798, 0.010921974, -0.20619138, -0.13302296, -0.14340466, 0.0055886707) * go_4(0.0, 0.0); + result += mat4(-0.07919513, 0.012061687, -0.298152, -0.004620386, -0.1531154, 0.14463273, -0.13774839, 0.029701512, -0.21159661, 0.037964143, 0.05466773, 0.03748708, -0.02202345, -0.012744385, -0.10015394, -0.023672013) * go_4(0.0, 1.0); + result += mat4(-0.14096507, -0.042473, -0.024793932, 0.025568493, 0.0700658, 0.08745356, -0.029872168, -0.18517868, -0.056071687, 0.04013143, 0.10869837, 0.10893471, 0.0033276696, -0.10798153, 0.04573486, 0.0061734277) * go_4(1.0, -1.0); + result += mat4(-0.11785469, -0.2854417, 0.018388765, 0.10795855, 0.100134075, -0.12041879, 0.09067664, -0.0035714637, 0.011658537, 0.1379053, -0.022617785, -0.09798895, 0.34457052, -0.018366879, -0.24284951, 0.013506641) * go_4(1.0, 0.0); + result += mat4(0.07845464, -0.03766563, -0.1182761, 0.04412776, -0.008595863, 0.019749813, 0.09304697, -0.042109177, 0.1247758, -0.109385945, 0.13541576, 0.16905643, -0.012957017, -0.007150289, -0.10825701, 0.07943399) * go_4(1.0, 1.0); + result += mat4(-0.08126166, 0.15170671, -0.004939582, -0.10289114, 0.017867751, -0.100071855, 0.25619298, 0.18309209, -0.09502137, 0.13687243, 0.07438062, 0.08190128, 0.079467945, 0.107227296, -0.07428106, 0.056382198) * go_5(-1.0, -1.0); + result += mat4(0.085245706, 0.2357052, -0.15751803, -0.14865, 0.12164014, -0.14231263, -0.10932445, 0.15149753, -0.06497328, 0.06694892, 0.049143884, -0.1180238, 0.21069627, 0.22101188, -0.12206489, 0.07849787) * go_5(-1.0, 0.0); + result += mat4(0.10526828, -0.035852417, 0.0066835866, -0.17548645, -0.16212592, -0.039143793, -0.053376257, 0.16589306, -0.15236285, -0.056690183, -0.1458453, -0.20194575, -0.007237206, 0.018034274, 0.04824517, -0.14204621) * go_5(-1.0, 1.0); + result += mat4(-0.0678506, -0.019114466, 0.12914672, 0.033278447, 0.101673074, 0.10951848, 0.00012524707, -0.115921356, 0.021759894, -0.035716362, 0.20007259, 0.1422771, -0.15901591, -0.18770291, -0.22726387, -0.0019628252) * go_5(0.0, -1.0); + result += mat4(0.014085712, -0.17928201, -0.12136582, 0.009885707, -0.05877978, 0.11780122, -0.09344829, 0.14983065, 0.2191541, 0.060061395, 0.07628015, -0.36067483, 0.077276915, 0.47432995, -0.21489616, 0.16119705) * go_5(0.0, 0.0); + result += mat4(0.07488267, -0.0999506, 0.026389783, -0.21717168, -0.14098126, 0.051710725, 0.18490504, -0.08941214, 0.04921883, -0.0012177597, 0.029187731, -0.0429975, -0.12222067, 0.08847176, 0.3327396, -0.026944833) * go_5(0.0, 1.0); + result += mat4(0.00028884778, -0.013859263, 0.2808896, 0.16545849, 0.10188283, -0.13831803, 0.113955274, 0.20700271, -0.07725844, 0.09178268, -0.053867236, -0.12543485, -0.048882946, 0.0046061794, -0.056229606, -0.0048151347) * go_5(1.0, -1.0); + result += mat4(-0.14167137, 0.10935082, -0.06484666, 0.07982278, 0.114622496, -0.012768097, 0.28098294, 0.12653382, -0.1406888, -0.3107042, 0.34810522, 0.007478866, -0.13886817, 0.04838542, 0.16073346, -0.05460154) * go_5(1.0, 0.0); + result += mat4(0.078012384, 0.05153078, -0.03984091, 0.07502617, 0.2250142, 0.01283247, 0.09228706, -0.11994963, -0.1434126, 0.0666379, -0.08675746, 0.05954015, -0.13286713, 0.12937288, 0.0836943, -0.3306262) * go_5(1.0, 1.0); + result += vec4(0.013505748, -0.026258357, 0.035583273, 0.023548715); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!SAVE conv2d_13_tf +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.01974661, 0.13463889, -0.032377064, -0.12942983, -0.07035312, -0.04740684, 0.17304988, -0.0060102325, 0.05177771, 0.030222937, 0.16742262, -0.0331702, 0.016792418, -0.10915051, -0.009109883, 0.031968396) * go_0(-1.0, -1.0); + result += mat4(-0.04906284, 0.02046221, -0.095003314, -0.0017347421, 0.06808332, 0.07325557, 0.10983373, -0.077004224, -0.14797884, 0.087792076, 0.13234885, 0.11384532, -0.061574373, 0.1748893, -0.06855464, -0.106305666) * go_0(-1.0, 0.0); + result += mat4(0.09366748, 0.15360557, 0.03386721, 0.022432387, -0.035507742, 0.058167383, -0.022114204, 0.059653495, -0.027137665, -0.022897016, -0.045397546, -0.06155947, -0.01779955, -0.10553566, -0.039432574, -0.14231597) * go_0(-1.0, 1.0); + result += mat4(0.0067032822, -0.044948928, 0.15513134, 0.03965566, -0.07467635, -0.010239124, 0.1490799, 0.027383782, -0.03255843, 0.05527709, -0.18965454, 0.18973546, -0.2066965, -0.1454051, -0.02956572, -0.034264684) * go_0(0.0, -1.0); + result += mat4(-0.10262777, -0.25717124, 0.10909761, -0.15105042, -0.14420848, -0.018479686, 0.07053073, -0.22807217, 0.047470856, 0.27830145, -0.06971727, 0.32465947, 0.18509126, 0.010244453, -0.23081137, -0.13872874) * go_0(0.0, 0.0); + result += mat4(0.07352554, 0.15414375, 0.026640302, 0.09010934, -0.08053207, -0.04895252, 0.20014875, 0.103626, -0.1837222, -0.096419245, 0.07763676, -0.03354838, 0.15535127, -0.10340201, -0.0670255, -0.008524891) * go_0(0.0, 1.0); + result += mat4(0.0013236472, -0.0015120044, 0.102915466, -0.07612639, -0.027104877, 0.11849191, 0.043125313, -0.08598161, 0.04176867, -0.03480718, 0.06037664, 0.12457145, -0.10702688, -0.035892915, -0.05398342, -0.07336006) * go_0(1.0, -1.0); + result += mat4(0.06530473, -0.02185423, -0.070219964, 0.11049847, -0.20394123, -0.084389165, 0.057741005, 0.09288537, -0.07847127, 0.06157294, 0.26632914, -0.07704609, -0.15882635, 0.09517293, -0.10132333, -0.09305751) * go_0(1.0, 0.0); + result += mat4(-0.09259305, 0.06711769, 0.10796395, -0.11040126, 0.07200377, 0.22789676, 0.04203332, 0.11490248, -0.05046298, -0.010417497, 0.1296588, 0.090716064, 0.030788, -0.042729113, -0.10823345, -0.061917335) * go_0(1.0, 1.0); + result += mat4(-0.09855132, -0.028915633, 0.09831793, 0.12546849, 0.095861055, -0.06611626, -0.030939087, -0.03891661, -0.06335413, -0.03665561, 0.17558332, 0.076099835, 0.039828114, -0.011720267, -0.07243228, -0.005812755) * go_1(-1.0, -1.0); + result += mat4(0.00210205, -0.13026494, 0.120502435, 0.01940482, -0.046163477, -0.20725924, 0.10305527, 0.16987471, -0.23866819, -0.13675144, 0.082660206, -0.12537158, 0.024251103, -0.058249082, 0.013763475, -0.025567345) * go_1(-1.0, 0.0); + result += mat4(0.08527451, -0.112527184, 0.05891383, -0.044004854, -0.06627755, 0.077402815, 0.029819036, 0.07831841, 0.002144731, 0.2760268, -0.026249453, -0.07177818, 0.053188358, -0.066152886, -0.03306282, -0.02344971) * go_1(-1.0, 1.0); + result += mat4(-0.073660895, 0.12683845, -0.05837492, 0.3071388, -0.025734447, -0.06982506, -0.1726865, -0.034813, -0.1287566, -0.061008573, 0.11819614, -0.003467171, 0.12515382, 0.04733461, -0.14773165, 0.07471877) * go_1(0.0, -1.0); + result += mat4(0.015871294, 0.0837539, -0.15651381, 0.07063813, -0.07716156, 0.035273466, -0.029787896, 0.15123317, -0.2688466, 0.110887185, -0.0784071, -0.07574334, 0.03863136, 0.17957152, -0.17448568, 0.11216344) * go_1(0.0, 0.0); + result += mat4(-0.060281992, 0.06313705, -0.027059803, 0.10745011, -0.0152727775, -0.003353525, -0.041565493, 0.09119474, -0.005804107, 0.11021246, -0.1577537, -0.0018718878, -0.122774966, -0.13139196, 0.028809864, -0.1330925) * go_1(0.0, 1.0); + result += mat4(0.004284616, 0.0034241148, -0.023164004, -0.09859944, 0.11105899, -0.021453412, 0.06537672, 0.10460036, -0.10781213, -0.0149598, 0.10907503, -0.021983244, -0.024797339, 0.083502285, -0.07283505, 0.060828786) * go_1(1.0, -1.0); + result += mat4(0.01290564, -0.14858903, -0.011728468, -0.060211197, 0.04555673, 0.0853199, 0.11404478, -0.020519711, -0.1344976, 0.015829163, 0.06980332, 0.13161848, -0.10837837, -0.1079275, -0.10176177, -0.15850884) * go_1(1.0, 0.0); + result += mat4(-0.046883326, -0.076075144, -0.0050401827, -0.047621172, 0.15543714, -0.18412203, 0.01854179, -0.1551145, -0.24274163, 0.06807993, 0.10730356, 0.13201697, 0.08142087, 0.025200108, -0.036822025, 0.20036767) * go_1(1.0, 1.0); + result += mat4(0.11026604, 0.018152166, -0.025418008, -0.0468563, -0.08344998, -0.114141494, -0.06253656, 0.012532501, 0.12793986, -0.07906286, -0.015067893, -0.011499546, -0.019438036, 0.0039282353, 0.044770103, -0.062717184) * go_2(-1.0, -1.0); + result += mat4(-0.082061626, 0.020670045, -0.21074262, -0.048005912, 0.025561642, 0.10173138, -0.010833299, 0.03905062, -0.09411074, -0.056812514, 0.10423472, 0.05727481, 0.06554826, -0.10857837, 0.06307158, 0.057512432) * go_2(-1.0, 0.0); + result += mat4(0.051357307, 0.073702335, -0.15254524, -0.014687533, -0.02874586, 0.015064415, 0.10231503, 0.18136384, -0.040129818, -0.035396844, -0.00787811, 0.07794766, 0.09060691, 0.10159248, 0.0848883, 0.022230253) * go_2(-1.0, 1.0); + result += mat4(-0.07730581, -0.050758906, 0.15313847, -0.004270534, -0.2683983, -0.2017697, -0.11594284, -0.06754216, -0.067771316, -0.13248877, 0.14720434, -0.16662046, 0.043220654, -0.17810594, -0.03488435, -0.008438444) * go_2(0.0, -1.0); + result += mat4(-0.10520337, -0.15773864, -0.0362262, 0.1356858, 0.117192864, -0.09973847, 0.13506904, 0.03514702, -0.12854525, -0.14587913, -0.18416512, 0.14082105, -0.017908813, -0.17807865, -0.122767285, -0.011095936) * go_2(0.0, 0.0); + result += mat4(0.011398012, 0.07921986, 0.002720137, -0.021460582, 0.073015496, -0.00079271646, -0.10726876, 0.23606147, -0.11049075, 0.24318618, -0.053891268, 0.039848484, 0.044727042, 0.0096766045, -0.115286924, 0.15947676) * go_2(0.0, 1.0); + result += mat4(0.0457398, -0.027071774, 0.036870174, 0.13802418, 0.04767597, -0.20485106, 0.03447171, 0.08900908, 0.106965266, -0.10123759, -0.21418007, 0.13338189, -0.0070096957, 0.08477905, 0.034006577, -0.0127808) * go_2(1.0, -1.0); + result += mat4(-0.06447596, -0.11716523, 0.017752856, 0.20210621, 0.011862129, 0.005028284, -0.2025436, -0.02999941, 0.013555778, -0.147543, -0.03051759, -0.01707033, 0.03274592, 0.032629438, 0.031926025, 0.27321205) * go_2(1.0, 0.0); + result += mat4(-0.05287453, 0.03623217, 0.020743204, -0.107464634, -0.0036375497, 0.13578738, -0.18517871, 0.09009017, -0.09219742, 0.006522416, -0.04759607, 0.053528525, 0.10438079, -0.05276513, -0.08545688, 0.11272024) * go_2(1.0, 1.0); + result += mat4(0.09974107, -0.020536013, -0.30218178, -0.04745749, 0.04892062, 0.03959309, 0.08057975, -0.06729952, 0.22714004, 0.12788717, -0.21887575, -0.027949529, 0.049372908, -0.020718094, -0.07756374, -0.027772125) * go_3(-1.0, -1.0); + result += mat4(-0.036793377, -0.21096896, 0.08592604, 0.12986861, 0.10663064, 0.10471588, -0.045241218, 0.1317958, 0.14956723, -0.13708627, -0.03934442, -0.021195, -0.06509086, -0.116964, -0.17587945, 0.11195718) * go_3(-1.0, 0.0); + result += mat4(-0.17490272, 0.12575528, 0.011628057, 0.05303465, 0.019943044, 0.0725893, 0.048565384, 0.062405743, -0.053867843, 0.074081495, -0.14863425, -0.0030204298, 0.08404682, 0.124071926, 0.1786558, 0.10575819) * go_3(-1.0, 1.0); + result += mat4(0.026476953, 0.011070334, -0.188453, -0.07831006, -0.39677685, 0.01771715, -0.08268199, -0.04811952, -0.09656814, -0.21526523, 0.09588346, -0.06009857, 0.21969576, -0.0131597845, -0.11296794, 0.075208716) * go_3(0.0, -1.0); + result += mat4(0.068166904, 0.1499784, 0.05968743, 0.008221147, -0.11349533, 0.0013484044, -0.021708788, 0.08009984, -0.121719174, -0.15219732, 0.06034522, -0.112812445, -0.046521988, -0.12004287, -0.033236615, -0.15820491) * go_3(0.0, 0.0); + result += mat4(0.08095112, 0.21732974, -0.05154522, 0.088645846, -0.03534673, 0.1497481, 0.09745647, 0.056249075, -0.028916027, 0.0022869455, 0.041906092, -0.027881013, -0.093038134, -0.0017152339, -0.118502185, 0.010727621) * go_3(0.0, 1.0); + result += mat4(0.13373588, 0.09240173, -0.053156417, -0.10512767, 0.039539, 0.10254688, -0.0007771377, 0.0894976, -0.06407343, -0.058614425, -0.03116727, -0.08415193, 0.00033363313, 0.2853395, -0.15043344, -0.08685424) * go_3(1.0, -1.0); + result += mat4(0.08178458, 0.03898646, 0.06245792, -0.017958697, 0.06429433, 0.023620268, 0.024633197, 0.19380544, 0.03128596, 0.05321688, -0.20088866, 0.02586837, 0.005963156, -0.035398338, 0.23080434, -0.052014384) * go_3(1.0, 0.0); + result += mat4(0.10850131, -0.0449228, 0.061272174, -0.019682828, -0.102329165, -0.055051547, 0.03073968, 0.13315344, 0.042715825, 0.046266664, -0.028704945, -0.06637498, 0.16797577, -0.18926264, 0.033195343, -0.0031275423) * go_3(1.0, 1.0); + result += mat4(-0.08391781, -0.12843333, 0.05520483, -0.05725551, -0.09776922, -0.0062917694, -0.018499674, -0.0692748, -0.057307225, 0.05519614, -0.015600542, 0.04844798, -0.21986836, -0.05831421, 0.11511963, 0.016856553) * go_4(-1.0, -1.0); + result += mat4(0.073107556, 0.050245784, 0.071994856, 0.093292974, 0.011792467, -0.0739711, -0.12387382, 0.12474173, -0.047507025, 0.17631568, 0.031043071, 0.0013154036, 0.02243749, 0.06851047, 0.010104042, -0.056846466) * go_4(-1.0, 0.0); + result += mat4(0.1476893, -0.16734347, 0.045392103, -0.018786352, -0.012199471, -0.05523742, -0.019164376, 0.03512314, -0.034919456, -0.23833606, -0.08028037, -0.052635316, 0.029176557, -0.06269711, -0.05363081, 0.07574769) * go_4(-1.0, 1.0); + result += mat4(-0.08341459, -0.084529534, -0.016287418, 0.0013023556, 0.18836592, 0.10910393, 0.045064792, 0.10576271, 0.011566533, -0.09837857, 0.029958438, 0.01975767, -0.109880924, -0.06574587, -0.09173794, -0.027526127) * go_4(0.0, -1.0); + result += mat4(-0.0675673, -0.083563246, 0.14860542, -0.10457061, 0.157896, -0.28292787, -0.015991414, 0.06314474, -0.016067972, -0.12963754, 0.1237017, -0.08347259, 0.121923864, -0.22013049, 0.026320009, -0.09793111) * go_4(0.0, 0.0); + result += mat4(0.13382821, -0.055317678, -0.15359837, -0.15796858, 0.013171953, -0.16682811, -0.0809163, -0.043345597, 0.011391055, -0.20145057, 0.119695775, -0.13810591, -0.072137296, 0.32582632, 0.14005353, 0.123244844) * go_4(0.0, 1.0); + result += mat4(0.11073345, -0.05314399, -0.055847958, -0.047371536, -0.070162036, -0.06513794, 0.034763128, -0.010065592, -0.11114041, 0.06905363, -0.12841414, -0.030985016, -0.045511093, -0.087410115, 0.08677088, 0.0058112657) * go_4(1.0, -1.0); + result += mat4(-0.0050459597, -0.108575575, 0.11873296, -0.26549935, -0.001668582, -0.09878795, 0.0093035465, -0.055352952, 0.06688187, -0.008372193, -0.008264948, -0.036279492, -0.049309276, -0.16104528, 0.034609273, -0.10154444) * go_4(1.0, 0.0); + result += mat4(-0.008579093, 0.112412445, -0.08072197, 0.15890393, 0.030495347, -0.18746737, -0.09138602, -0.088305496, 0.07042993, 0.05030363, 0.20413087, -0.07995821, -0.13628387, 0.20695123, -0.14382593, 0.091244556) * go_4(1.0, 1.0); + result += mat4(-0.11965318, -0.1389523, 0.012135623, 0.04161862, 0.12533931, 0.101441264, -0.04241031, 0.080642566, -0.00092161325, -0.13902661, 0.045736324, 0.058441147, -0.19858903, 0.11756166, -0.016919447, 0.14339356) * go_5(-1.0, -1.0); + result += mat4(0.10335524, 0.07512942, 0.18708031, -0.0078117764, 0.07384771, -0.018625945, 0.059007455, 0.16749756, 0.08462766, 0.09579386, -0.08418416, -0.10284654, 0.05672443, 0.030903406, 0.110034496, 0.10390684) * go_5(-1.0, 0.0); + result += mat4(0.10552448, 0.13557634, 0.23104869, -0.10848448, 0.085270464, -0.16686882, 0.10544952, -0.024571393, 0.03715626, -0.041726533, 0.051980305, -0.05475635, 0.028681824, 0.11157084, -0.10706752, 0.027399268) * go_5(-1.0, 1.0); + result += mat4(-0.046446092, 0.0025158261, 0.033166718, -0.08558539, -0.0032056072, 0.12130434, -0.018896604, 0.08724829, -0.14037889, -0.09449841, -0.04446089, -0.011506388, -0.27613637, -0.37794623, -0.19426629, 0.16784632) * go_5(0.0, -1.0); + result += mat4(-0.22513072, -0.08652304, -0.0026436439, -0.045508705, 0.10837259, -0.0014446789, -0.16903, -0.02668546, 0.02148903, 0.23945205, -0.09826911, -0.03844516, 0.2630092, 0.006474852, -0.111862294, 0.14679375) * go_5(0.0, 0.0); + result += mat4(-0.04412413, 0.24446554, -0.050642822, 0.1416376, -0.07881299, -0.09849301, 0.10024753, -0.10196302, 0.06887016, -0.25987944, -0.0794985, -0.1605822, -0.033556614, 0.22719485, 0.06206384, -0.10776198) * go_5(0.0, 1.0); + result += mat4(0.047669563, 0.10184691, 0.21900356, -0.05103842, -0.052924644, 0.07429034, 0.10451252, -0.09064832, 0.1217274, 0.034052998, 0.09763394, 0.061310083, -0.10905189, -0.20931216, -0.11658655, -0.08542655) * go_5(1.0, -1.0); + result += mat4(-0.097377405, 0.07012394, -0.00048415252, 0.03234984, -0.15293159, -0.2313072, -0.07475159, -0.09358009, 0.0014697863, 0.11641165, 0.17893638, -0.14259303, -0.053314384, 0.26522338, -0.06642949, -0.08743303) * go_5(1.0, 0.0); + result += mat4(0.040392756, 0.19986987, 0.11991283, 0.14769651, -0.06295811, -0.049836084, 0.030192863, -0.05129089, -0.0017841166, -0.07413317, 0.080068626, -0.04653479, 0.012439128, -0.047990356, 0.08017805, -0.14544022) * go_5(1.0, 1.0); + result += vec4(-0.03813276, -0.054891117, -0.04579271, -0.012991662); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x72 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_14_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv2d_15_tf +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.058371756, -0.15223853, -0.16356315, -0.16802065, -0.19054104, -0.036780667, -0.19440329, -0.2248528, -0.005347806, 0.071672164, -0.0771526, 0.2924663, -0.0774155, -0.14556612, 0.114560455, 0.27062297) * g_0; + result += mat4(-0.3445877, 0.19475816, 0.09710621, 0.21995266, 0.20887254, 0.09341146, 0.22033042, 0.23206021, 0.033344083, -0.07287835, -0.18038799, -0.1591713, -0.07109204, -0.01323598, -0.110603236, 0.22050153) * g_1; + result += mat4(-0.2549611, -0.11848451, -0.022745349, 0.3926633, 0.01083691, 0.09032976, 0.051901888, -0.008881073, -0.113227226, -0.06107646, -0.2835598, 0.006955209, 0.057944898, -0.024794495, 0.21598488, 0.013463527) * g_2; + result += mat4(0.081732295, 0.14985989, 0.012442874, -0.055946667, -0.29241166, 0.054421537, 0.16944103, -0.027691018, 0.32594857, -0.20029362, 0.24102916, -0.2836753, 0.027726209, 0.13321714, -0.08945177, -0.18618472) * g_3; + result += mat4(-0.019850472, 0.014862859, -0.40852943, 0.049327563, -0.08516907, -0.024971958, -0.24877243, -0.12475686, -0.0059337337, -0.15594041, 0.014721621, -0.007462477, 0.017745093, -0.07287227, -0.08225071, 0.16203512) * g_4; + result += mat4(0.0622282, -0.1562546, -0.19524418, -0.0004125873, -0.28058666, -0.10427074, 0.01347889, 0.087949455, 0.205533, 0.22994758, 0.058676008, 0.016087666, -0.27204573, -0.13226426, 0.45560098, 0.19548674) * g_5; + result += mat4(0.10312986, -0.11663352, -0.21141005, 0.060728226, 0.04790389, 0.4554892, -0.2993332, 0.090701774, -0.15572315, -0.08100787, 0.38805684, 0.12010196, -0.19057408, 0.0433082, 0.17466016, 0.2343365) * g_6; + result += mat4(-0.035952494, 0.0069249035, 0.018094797, -0.022886304, -0.16588111, -0.06751834, 0.067921944, 0.0408952, -0.10368173, -0.1867776, 0.08716087, 0.32557133, -0.17160255, 0.21748102, -0.27042568, 0.010276504) * g_7; + result += mat4(0.1353541, -0.09830681, -0.024150403, 0.20349647, 0.0834164, -0.23606645, 0.1878813, -0.10913659, 0.101774715, -0.122187294, -0.10274547, 0.088820286, 0.0952697, 0.2059741, -0.06964167, -0.06740629) * g_8; + result += mat4(0.035706226, 0.116456866, 0.00867265, -0.1580804, 0.08455965, 0.2931992, -0.0652682, -0.27945194, -0.28506938, 0.18549383, -0.30028465, -0.058111582, 0.17342384, 0.07022962, -0.107152976, 0.058686964) * g_9; + result += mat4(0.26401508, 0.06263026, 0.07814346, 0.1653557, -0.06065454, 0.13713975, -0.35849124, -0.2712066, 0.0016249327, -0.028205892, 0.12781107, 0.19252528, -0.02890903, -0.07810885, -0.31435448, 0.25607604) * g_10; + result += mat4(-0.007452971, -0.11137609, -0.17482384, -0.2254985, -0.054940246, -0.4866264, -0.012218613, 0.07933414, -0.059196893, -0.22073849, -0.19979995, 0.045081053, 0.08083855, -0.18446396, 0.063239574, 0.15218821) * g_11; + result += mat4(0.019093331, 0.14936107, 0.006522308, -0.06813928, -0.06954633, 0.076614395, 0.27179638, 0.08497197, -0.028945964, 0.24470884, -0.09067254, -0.02809542, -0.3260882, -0.019783175, 0.29227713, -0.1503793) * g_12; + result += mat4(0.0038467604, 0.15844361, -0.17461929, 0.0036902665, -0.18804209, -0.10455593, 0.19846849, 0.0045625297, -0.021197336, -0.12760538, -0.21889874, -0.15576892, 0.08428448, -0.051786594, -0.28837204, 0.16710553) * g_13; + result += mat4(-0.039501086, 0.20741075, -0.023215454, -0.15562606, 0.2704772, -0.004882398, 0.06743958, 0.09672041, 0.2045052, 0.30854276, -0.023670265, -0.42425725, 0.22383718, 0.03339793, 0.09593589, -0.28993925) * g_14; + result += mat4(-0.0060895267, -0.32284054, 0.08005629, 0.22948626, 0.0779126, 0.051218465, -0.19901748, 0.04607648, 0.20720762, -0.25467792, 0.190241, 0.14972371, 0.0024004376, -0.25745007, -0.12783068, 0.11001452) * g_15; + result += mat4(0.11667156, 0.23464362, -0.063853756, 0.39974514, -0.009121619, -0.24133451, -0.03714007, 0.009775786, 0.051351607, 0.056225047, -0.23616025, 0.031748235, -0.16796593, -0.030489858, -0.14123768, 0.24537739) * g_16; + result += mat4(0.013762163, -0.25353146, 0.15549485, -0.28925058, 0.2193342, 0.039180417, 0.06402014, -0.4502174, 0.062770426, -0.00075927033, 0.33666995, 0.23031248, -0.00079948275, -0.13443127, -0.06645994, -0.23359178) * g_17; + result += vec4(-0.008095479, -0.06195082, -0.018640047, 0.02992503); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x72 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_14_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv2d_15_tf1 +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.016565321, 0.16086368, 0.16377108, 0.06516585, 0.08774041, -0.15408382, 0.08090872, 0.044837043, 0.118495755, -0.145867, -0.0830602, 0.021258313, -0.083069436, 0.1438954, 0.3145759, -0.021647993) * g_0; + result += mat4(-0.120379515, -0.24860992, -0.015166592, -0.12202178, 0.06496186, 0.0744854, 0.1485615, -0.109343, 0.19879182, -0.3081023, 0.21677417, -0.22301331, -0.011651633, -0.19334914, 0.15160677, 0.047521867) * g_1; + result += mat4(-0.018556662, -0.38472578, 0.41192028, 0.43185833, -0.046080858, 0.04489752, -0.20783445, -0.1610854, -0.309501, -0.273866, 0.060515694, -0.12974882, -0.0759038, 0.19965601, -0.19319372, -0.11006917) * g_2; + result += mat4(0.10012627, 0.13247557, -0.13383594, 0.13269171, -0.07811828, -0.22248991, -0.015335469, 0.000673531, 0.29827982, 0.06373573, 0.04488941, -0.013616235, 0.007511088, -0.33727455, 0.0019768223, 0.2379881) * g_3; + result += mat4(0.14306581, 0.085049756, 0.047580484, -0.057794355, -0.043503262, -0.105414085, -0.1606061, -0.23061153, -0.11303711, 0.16984846, -0.068943, 0.28954068, 0.063482575, 0.047116138, 0.08716241, -0.12745613) * g_4; + result += mat4(0.0020036818, 0.090957165, 0.015798112, 0.23128921, 0.1914184, 0.19120963, -0.06399709, -0.0788507, 0.07272036, -0.0119575225, 0.11690162, -0.1501703, -0.019269818, -0.42832217, -0.12736018, -0.06600497) * g_5; + result += mat4(-0.2329279, 0.056115344, -0.0057740537, -0.2990719, -0.17836936, 0.27681816, 0.37309527, -0.15801883, -0.063524134, 0.099096715, -0.06648651, -0.28727666, 0.293816, 0.07798524, 0.048862323, -0.115539655) * g_6; + result += mat4(0.3703411, -0.09810904, -0.09486779, 0.0014081999, 0.14049709, 0.21120222, -0.40097466, -0.34167844, 0.23002532, 0.028405711, -0.019445082, 0.034988888, -0.50940406, 0.08899147, 0.05107509, -0.00382772) * g_7; + result += mat4(0.11272419, -0.033249535, 0.27027267, 0.17533688, 0.08927961, -0.0018240041, 0.16140664, -0.046008278, -0.15334447, -0.15343803, 0.091045976, -0.19814257, 0.04322423, -0.17734216, -0.2798295, -0.08573132) * g_8; + result += mat4(0.12554517, -0.037913572, -0.07749419, -0.25204238, -0.24223939, 0.18784638, -0.20372832, 0.4048194, 0.25830784, 0.0051259343, -0.032063078, 0.28017554, -0.12499362, -0.26364753, 0.05812282, -0.18392684) * g_9; + result += mat4(0.26486975, 0.061957724, 0.07971466, 0.046751168, -0.31778535, 0.4381787, -0.07035851, 0.23263998, -0.052127257, -0.12611173, -0.18760382, 0.14079882, 0.22377297, -0.05741558, 0.031250857, 0.16233918) * g_10; + result += mat4(0.05335076, -0.34464896, 0.3002586, -0.24760664, -0.14003357, -0.09159649, -0.18697475, -0.14623205, -0.13852511, -0.04981257, -0.19454202, -0.09108177, -0.015734429, 0.13033359, -0.18407115, 0.10902568) * g_11; + result += mat4(-0.02813337, 0.09047474, 0.017847307, 0.09261004, -0.21497558, -0.14598191, 0.19712229, -0.10600094, -0.13380432, 0.11108035, -0.004200233, -0.13140516, -0.015072323, -0.20674899, -0.007258648, -0.18661419) * g_12; + result += mat4(-0.075342774, -0.15346074, 0.08983637, 0.26993182, -0.14880064, -0.25546706, -0.055426415, 0.082991235, 0.11674955, 0.02243115, 0.1323313, -0.16614287, -0.12463222, -0.021946859, -0.109896004, -0.18907025) * g_13; + result += mat4(-0.13882166, 0.2001865, 0.0011639959, 0.194607, 0.10369673, 0.11537449, -0.20017526, 0.08001218, 0.2717005, 0.03861079, 0.21795402, 0.13731115, -0.28959844, -0.026275165, -0.13865054, -0.032054946) * g_14; + result += mat4(0.056745965, -0.0028218296, -0.1637033, -0.10748185, -0.008221024, -0.012517368, -0.21787529, 0.24229775, 0.21705846, -0.31918925, -0.10432461, -0.020117749, 0.48566294, -0.0764948, 0.11959202, -0.21828687) * g_15; + result += mat4(-0.08911589, 0.0019316651, 0.3447702, -0.28325114, -0.0017365502, 0.066785716, 0.057680055, 0.10159895, 0.028087914, 0.03835387, -0.09806545, -0.088825025, -0.016581869, -0.19346818, -0.068037614, 0.071174935) * g_16; + result += mat4(-0.11981757, 0.11738665, -0.15907699, 0.15687436, -0.060289837, -0.0068618194, 0.10179951, 0.30881542, -0.010891428, -0.17345384, -0.4455766, -0.007086927, -0.08359593, -0.1598503, 0.012697522, 0.4165511) * g_17; + result += vec4(0.03556714, 0.06747606, -0.010788525, 0.0018122225); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x72 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_14_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv2d_15_tf2 +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.051234227, 0.12462721, -0.09787546, 0.25406766, 0.30560002, 0.17283113, -0.05798071, 0.2647435, 0.13788636, 0.08840858, -0.05289184, 0.25852382, -0.26674244, -0.07364587, 0.001191221, 0.22217625) * g_0; + result += mat4(-0.26877132, -0.10157862, 0.092936665, -0.021073027, -0.16361141, 0.21253154, 0.22684343, -0.054344796, -0.05049234, 0.42118612, 0.29657525, 0.17409663, 0.15270026, 0.10825865, 0.22627294, 0.054406367) * g_1; + result += mat4(0.2163665, 0.13454697, 0.033053502, -0.015820911, 0.17696854, 0.005023235, 0.15261635, -0.11690415, -0.15954569, 0.15751791, -0.082067445, 0.377173, 0.15451732, -0.21614599, -0.090183906, -0.22754942) * g_2; + result += mat4(0.10186722, -0.3034483, -0.25445342, 0.09971074, -0.16596235, -0.051873583, 0.14013551, 0.3921163, -0.029541738, -0.21873768, 0.073057145, -0.18722391, 0.2500657, 0.036109924, 0.054032363, -0.5253905) * g_3; + result += mat4(0.033514977, 0.13074529, -0.26700264, 0.14833573, -0.006180942, 0.12044789, -0.17576072, 0.023566427, 0.13765517, -0.047552105, -0.18236409, -0.2774939, 0.06162977, -0.055201646, -0.058275994, -0.12629794) * g_4; + result += mat4(-0.1996918, 0.15683116, -0.3256319, 0.2057855, -0.0671691, 0.24640855, 0.22842555, 0.12610425, -0.090195596, 0.101964004, 0.22426924, -0.24429117, -0.26323536, 0.32974228, 0.08008744, 0.45575497) * g_5; + result += mat4(-0.42316, -0.062756, 0.07857826, -0.14351259, -0.29394817, 0.5423037, 0.18915935, -0.17086914, 0.50753736, 0.0015875449, 0.29438123, -0.19376752, 0.09791069, -0.028306229, 0.05765373, -0.22298522) * g_6; + result += mat4(0.03728915, 0.15399045, -0.04512004, -0.12652445, 0.28205284, -0.23605378, 0.17079072, -0.1082726, -0.15433414, -0.19789961, -0.28514484, 0.0077355634, -0.01829938, 0.34892595, -0.23294884, -0.22864898) * g_7; + result += mat4(0.027223717, 0.12626694, 0.11476459, 0.1460455, 0.20033693, 0.026134387, -0.10378083, 0.02503927, 0.27902585, -0.0038183157, 0.115261704, 0.13458112, 0.31611767, -0.1142268, 0.0072508105, 0.0028353012) * g_8; + result += mat4(0.021163143, 0.16883731, -0.058492687, -0.12585758, -0.061747592, -0.09557424, 0.121174686, 0.0743391, -0.08168162, -0.026392763, -0.00060598814, 0.12879269, -0.07671814, 0.065251, 0.1404438, -0.05534044) * g_9; + result += mat4(0.14274202, -0.3996823, -0.324641, 0.005320553, 0.28041458, 0.10360115, -0.01966796, 0.12442266, 0.107218176, 0.004735665, -0.15030271, -0.23013945, -0.18984175, 0.078943305, 0.16392353, -0.07955006) * g_10; + result += mat4(0.021630967, 0.29960495, -0.10998858, 0.06537184, 0.11009237, 0.028505472, 0.32113916, -0.15730233, 0.083316445, 0.112375356, -0.065724924, 0.0889756, -0.09385971, 0.089896984, 0.08292775, -0.2035827) * g_11; + result += mat4(-0.13751891, -0.027330484, -0.13091096, 0.19190204, -0.09216561, -0.14242831, -0.10237887, 0.13343115, -0.14150177, 0.094059885, -0.10393571, -0.09336556, 0.20657797, 0.07327506, 0.13245964, -0.016539408) * g_12; + result += mat4(-0.158201, -0.12623371, 0.09620584, -0.10184386, -0.057575878, 0.003921972, 0.021233508, 0.35487738, -0.11295889, -0.10775328, 0.039876595, 0.081189156, 0.106679484, 0.0747396, -0.028251883, 0.27306616) * g_13; + result += mat4(-0.2361755, -0.13576986, 0.2919796, 0.09699708, 0.4581993, -0.1196168, -0.028562034, 0.00018960529, -0.11903206, 0.17371814, -0.07005846, 0.028902404, -0.09053355, -0.110385194, 0.25002465, 0.08581321) * g_14; + result += mat4(0.06806976, 0.15122992, -0.33567524, 0.001315605, -0.11049211, 0.09723952, 0.29624012, -0.31183454, -0.1838605, -0.23770033, 0.2865799, -0.044371903, 0.05511511, 0.30258948, 0.28474173, -0.050289202) * g_15; + result += mat4(-0.27601755, -0.06335842, -0.23002502, -0.31029934, 0.021644987, 0.24281926, 0.15377666, 0.22653481, 0.033689793, -0.010622847, 0.08636093, -0.16723068, 0.25021335, 0.3877554, -0.15065683, 0.01558507) * g_16; + result += mat4(-0.08309524, 0.25966918, 0.17456721, 0.1898729, 0.248563, -0.23167695, 0.11267612, -0.048332583, -0.34379265, 0.042474393, -0.085350186, -0.05868464, -0.29812938, -0.054665178, -0.1093917, 0.22230257) * g_17; + result += vec4(0.018145598, -0.032355547, -0.05915781, 0.02910991); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!SAVE conv2d_17_tf +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.086120285, -0.4059242, -0.039365012, -0.026914986, 0.272106, -0.2330165, -0.065111265, 0.07854153, -0.059162848, -0.18079941, 0.046355046, -0.05227612, 0.027158378, 0.06519794, 0.12404081, -0.05581017) * go_0(-1.0, -1.0); + result += mat4(0.32573175, -0.1754894, -0.11804778, -0.01995747, 0.22718933, -0.15123367, 0.039907683, 0.34502703, -0.14458972, 0.13064449, 0.14453207, -0.059187938, -0.085265145, 0.20953384, 0.0793236, -0.116288304) * go_0(-1.0, 0.0); + result += mat4(-0.093153894, 0.06527465, -0.15071994, -0.123629555, 0.006527518, 0.16628802, 0.16957358, 0.054582782, 0.0071324026, 0.08554746, -0.06274109, 0.14844437, 0.058439545, 0.045090668, 0.06689813, 0.063525826) * go_0(-1.0, 1.0); + result += mat4(0.07696488, 0.051656798, -0.048016507, 0.02936603, 0.08387461, 0.09245992, 0.23041403, -0.19054213, -0.102753386, -0.17902392, -0.10961965, -0.10548934, 0.18939416, 0.25377733, 0.02544213, -0.22927651) * go_0(0.0, -1.0); + result += mat4(0.3032466, 0.04167076, 0.059656423, -0.027316695, 0.16839153, -0.14264087, 0.20591341, 0.08222535, -0.003110454, -0.059849005, -0.036128033, -0.008346545, 0.15990025, 0.2500593, 0.032513596, -0.016655741) * go_0(0.0, 0.0); + result += mat4(-0.06774502, 0.040308017, -0.18576144, -0.09687235, -0.057958614, -0.17514636, -0.20707239, 0.17548439, -0.19250306, 0.0034173464, 0.110723875, 0.096379146, 0.09683184, -0.04752888, -0.01780429, 0.010613829) * go_0(0.0, 1.0); + result += mat4(0.08627145, -0.16866092, 0.099930905, 0.12018959, -0.24408722, 0.14165765, 0.12630254, -0.015704094, -0.20263286, -0.120165184, -0.21274178, 0.028697591, 0.15576155, 0.028905043, 0.0811208, -0.1041924) * go_0(1.0, -1.0); + result += mat4(-0.015240954, -0.17468874, -0.046423502, 0.022116644, 0.2908017, 0.035541125, 0.2743551, -0.18322937, -0.22073182, 0.020273414, -0.1303079, 0.24418736, 0.16490552, 0.028966945, 0.19653946, -0.016246568) * go_0(1.0, 0.0); + result += mat4(-0.14057145, 0.04244108, -0.010793927, -0.05631625, -0.12468913, -0.05881518, 0.12383384, 0.17428255, -0.021005072, -0.17969933, 0.15734735, 0.1031293, 0.043719243, -0.09174561, -0.056840647, 0.0324962) * go_0(1.0, 1.0); + result += mat4(0.08194935, 0.067976184, -0.019943617, 0.026776273, 0.22254825, -0.06326042, 0.1648268, -0.0052840295, 0.009018906, -0.0520785, -0.04660861, -0.0075104083, -0.038940106, 0.0856219, -0.043916393, 0.05660665) * go_1(-1.0, -1.0); + result += mat4(-0.08704364, -0.09677431, -0.17326091, -0.07462152, 0.13270687, -0.1261107, -0.07701341, 0.2726629, -0.1587681, 0.18942432, -0.36308467, 0.10301493, -0.024762882, 0.03817259, -0.23201405, -0.091521345) * go_1(-1.0, 0.0); + result += mat4(0.050326157, -0.073176935, -0.103697956, -0.0840352, 0.173357, -0.14174183, -0.1524753, -0.0069994656, -0.005479495, 0.17723018, 0.11403137, -0.06329943, -0.13232884, -0.1373975, 0.11884006, -0.07850464) * go_1(-1.0, 1.0); + result += mat4(0.05332861, 0.107681334, -0.09119039, -0.114555836, -0.017985579, -0.15435871, 0.24358511, 0.11068456, -0.10406485, 0.12917854, 0.05799334, 0.37389106, 0.06230836, -0.09555643, 0.027412381, -0.064970456) * go_1(0.0, -1.0); + result += mat4(0.12378375, -0.04905221, -0.11288056, -0.13767865, -0.1449326, -0.072450995, 0.17161424, -0.16777709, -0.25872576, 0.070482604, -0.1663627, 0.25371596, -0.23365596, 0.18121918, -0.20363995, -0.12909107) * go_1(0.0, 0.0); + result += mat4(-0.05529441, -0.021311615, 0.014097586, -0.31545866, 0.012970079, -0.22578919, -0.072552465, -0.116496325, -0.14761814, -0.053667877, 0.067303866, -0.4580455, -0.09480358, -0.16733053, 0.3607103, 0.015292286) * go_1(0.0, 1.0); + result += mat4(0.04696458, 0.31332257, 0.02704555, -0.09160314, -0.113031834, -0.0739926, -0.032812223, 0.033034015, 0.016193887, 0.12820463, 0.09737233, 0.12438434, 0.0654067, 0.20008601, 0.07920591, 0.060879026) * go_1(1.0, -1.0); + result += mat4(0.037422813, 0.15871914, -0.2151473, -0.24363686, -0.080180004, 0.0645695, 0.14571437, 0.14874434, -0.11326801, -0.10846583, -0.13671829, 0.18154961, -0.060911275, 0.20989129, -0.23381993, -0.27745062) * go_1(1.0, 0.0); + result += mat4(0.050130237, 0.089512885, 0.13246128, -0.2745517, -0.02318636, -0.011246907, -0.11668961, 0.0731039, 0.01690248, 0.09360847, -0.05398903, 0.14663017, 0.028310347, 0.076176226, 0.31356502, -0.103791654) * go_1(1.0, 1.0); + result += mat4(0.09613262, 0.12778622, 0.034975607, -0.028750842, -0.033835113, 0.08186702, -0.06888388, 0.0997008, 0.117064685, 0.046526518, 0.09514346, -0.124434136, -0.020531485, -0.15406378, 0.060591683, -0.13329966) * go_2(-1.0, -1.0); + result += mat4(-0.027534882, -0.14831524, 0.04495184, 0.025519691, 0.03651482, 0.117160164, -0.038201023, 0.108181216, -0.030931946, 0.1811084, 0.15170088, 0.11874837, -0.078277305, -0.04918219, 0.101712294, -0.1196331) * go_2(-1.0, 0.0); + result += mat4(-0.06539127, 0.08893873, 0.03419367, -0.079162404, -0.004407265, 0.1590495, 0.054708384, -0.0045960955, -0.11280927, 0.16039464, 0.09479366, 0.08200364, 0.036086954, 0.20326287, -0.037681103, -0.140378) * go_2(-1.0, 1.0); + result += mat4(-0.0555716, 0.06530205, -0.1433768, 0.016642103, 0.16281623, 0.063046776, 0.0837092, -0.01799041, -0.091302834, -0.20383778, -0.06381253, 0.20380846, -0.041889682, -0.24191497, -0.14171864, -0.1448563) * go_2(0.0, -1.0); + result += mat4(-0.110319525, 0.12512992, 0.03341369, -0.00093534397, 0.1633664, -0.020284293, 0.044820648, 0.162692, -0.10295654, 0.023568464, 0.012197777, 0.10028862, -0.010697666, -0.018897464, 0.043279704, 0.0017665206) * go_2(0.0, 0.0); + result += mat4(0.04179169, -0.012676201, 0.083311275, 0.03091289, -0.046434533, -0.12832014, 0.04914704, -0.06867338, 0.094166204, -0.017343048, 0.18243955, 0.12901492, -0.110132985, 0.12671326, 0.054293826, 0.086186886) * go_2(0.0, 1.0); + result += mat4(-0.05841927, -0.12985736, -0.25992456, -0.0849384, 0.14412889, -0.0746527, 0.044265267, -0.014156233, -0.09166144, 0.07021915, -0.047789145, 0.039457697, 0.12670755, -0.01698153, 0.18895842, -0.056773882) * go_2(1.0, -1.0); + result += mat4(-0.15025501, 0.14065035, -0.096513286, -0.09348505, 0.15979655, -0.0114577245, 0.053886734, -0.114547916, -0.070979856, 0.1765544, 0.010379718, -0.18308055, 0.1605321, 0.20515968, 0.05720834, -0.07330803) * go_2(1.0, 0.0); + result += mat4(-0.025330046, -0.019732652, 0.053818963, -0.036499955, -0.10811833, 0.0137827955, 0.06543074, -0.012384179, -0.18611883, 0.02843987, -0.05363124, -0.046299558, 0.16349362, -0.041830223, -0.07788764, 0.008235677) * go_2(1.0, 1.0); + result += mat4(0.047242437, 0.06575887, 0.025322782, 0.013775078, 0.036147557, 0.0009767486, -0.11243579, -0.09145642, -0.0039224774, -0.0038896108, 0.037174333, -0.02877056, -0.07427188, -0.024033785, -0.08451688, 0.0404334) * go_3(-1.0, -1.0); + result += mat4(-0.08908999, -0.04494114, -0.10439307, 0.0774623, 0.07840683, -0.04946415, -0.14073692, 0.032847367, -0.0048813284, -0.010705515, -0.022069618, 0.033290677, 0.09327763, 0.17272854, -0.21388759, 0.03957031) * go_3(-1.0, 0.0); + result += mat4(0.19521184, -0.10379753, -0.15358303, 0.07232417, -0.04276367, -0.10596066, 0.022786908, -0.11408934, 0.019533271, 0.04891009, 0.13843602, -0.037992083, 0.033990372, 0.07371983, 0.08921052, -0.10094112) * go_3(-1.0, 1.0); + result += mat4(-0.24562503, 0.15784459, -0.022187335, -0.000638404, -0.1133858, 0.036134824, -0.10837855, 0.21228905, -0.027466286, -0.023300633, 0.12549222, -0.08866187, 0.087480284, -0.06105183, -0.030215222, 0.040841375) * go_3(0.0, -1.0); + result += mat4(-0.14978695, 0.13818179, 0.04092166, -0.106068246, 0.08822786, -0.01489638, 0.07534021, -0.07537647, -0.14060229, -0.089275755, 0.05904741, 0.10776689, -0.07665331, 0.09283058, -0.061007436, -0.04099338) * go_3(0.0, 0.0); + result += mat4(0.14466712, -0.026102958, -0.20185257, 0.10785207, 0.22078173, -0.16958067, 0.11530716, 0.09354707, -0.074392565, -0.08342846, 0.2586021, -0.23763788, 0.12991717, 0.021147436, 0.2722029, -0.087979235) * go_3(0.0, 1.0); + result += mat4(0.027673773, -0.022746747, 0.049445715, -0.1909985, -0.09531261, -0.108256444, -0.066448554, 0.2172793, 0.07891359, 0.08150599, 0.14381963, -0.02249068, 0.03258624, -0.056648776, 0.055536, -0.024813324) * go_3(1.0, -1.0); + result += mat4(-0.023302192, 0.06626369, -0.15358047, -0.0083353575, -0.14165582, 0.07046124, 0.09597453, 0.26851997, -0.055152107, 0.093309075, -0.13725676, -0.1664828, -0.02032299, -0.092897214, -0.015662093, -0.10920288) * go_3(1.0, 0.0); + result += mat4(-0.06695718, 0.16679364, -0.0785021, 0.06455316, 0.1445089, -0.00924479, 0.096023194, 0.07052236, 0.067349516, -0.0111666, -0.09601798, 0.001154395, 0.09299898, 0.01951889, -0.0967921, -0.008973) * go_3(1.0, 1.0); + result += mat4(0.13883853, 0.02957061, -0.04247552, -0.13835363, -0.14681627, -0.077555746, 0.031927407, 0.026541403, -0.022707194, 0.01551063, 0.06541034, 0.096070126, 0.052125953, 0.063213244, 0.16251403, -0.08070668) * go_4(-1.0, -1.0); + result += mat4(0.086179234, 0.14243434, 0.09406264, 0.13569264, 0.15488361, -0.11091638, -0.09574572, 0.008970297, 0.05616059, -0.1518461, -0.27299163, 0.2257466, 0.07526578, -0.05981968, -0.05876571, -0.093547806) * go_4(-1.0, 0.0); + result += mat4(0.04012283, -0.10008593, -0.029358871, -0.08932785, -0.037632246, 0.005210788, -0.09356493, -0.049942728, -0.0084419465, 0.024860868, 0.021508645, 0.06273951, -0.05736361, 0.020816475, -0.008031666, 0.124403216) * go_4(-1.0, 1.0); + result += mat4(0.14043115, 0.19251867, 0.27524766, -0.09491998, -0.15670182, -0.047435485, -0.0671195, 0.01171454, -0.28212756, 0.039405737, -0.07579297, -0.052261483, 0.22442812, 0.28633285, 0.29999042, -0.13228717) * go_4(0.0, -1.0); + result += mat4(-0.2623459, -0.055335205, 0.21784544, 0.202005, -0.21811847, -0.020621138, -0.055919386, -0.1592076, -0.05986868, -0.11021312, 0.027157718, -0.0035977615, -0.04500819, -0.11783892, -0.18752173, -0.017826393) * go_4(0.0, 0.0); + result += mat4(-0.0058357944, 0.017049752, 0.0069000614, 0.13442154, -0.30008566, -0.05737475, -0.09749817, -0.033549603, 0.07277239, -0.07434725, -3.2743555e-05, 0.104428366, 0.065556966, 0.070558116, -0.03552641, 0.04233599) * go_4(0.0, 1.0); + result += mat4(0.10471457, 0.11320103, 0.13278805, 0.0402375, 0.091772236, -0.13095503, 0.088764995, 0.034440126, -0.07645308, 0.07409439, 0.041363943, -0.0007871303, 0.04391719, -0.061556302, 0.018767469, 0.10903881) * go_4(1.0, -1.0); + result += mat4(0.030221319, -0.07181434, -0.101376146, -0.034132153, -0.0116890725, -0.10688475, -0.13729735, 0.14479214, 0.014176684, 0.13103448, -0.08762141, 0.17202277, -0.05477683, -0.043549005, 0.09274582, 0.123320125) * go_4(1.0, 0.0); + result += mat4(0.19202003, -0.14954115, -0.087362565, -0.08726935, -0.01544216, 0.123787634, 0.046103656, 0.052578025, 0.029873371, 0.0066638263, -0.06251117, -0.052407794, 0.10117527, 0.05799745, -0.13342759, 0.031155441) * go_4(1.0, 1.0); + result += mat4(-0.0602211, 0.02800195, 0.033007246, 0.025651298, 0.1477432, -0.22038354, -0.15722936, -0.21809258, 0.04290242, 0.004420057, 0.05746811, 0.071876235, -0.050915204, 0.0033008144, -0.11305403, 0.07601179) * go_5(-1.0, -1.0); + result += mat4(-0.017653117, 0.051445134, 0.012552525, 0.21158452, -0.037362725, 0.09373507, 0.08190519, -0.14817433, 0.016636858, -0.041740865, -0.015900947, -0.15515041, 0.05231825, -0.10608562, -0.115508825, 0.14927392) * go_5(-1.0, 0.0); + result += mat4(-0.07991468, -0.030842511, -0.1142488, 0.024186732, 0.01866492, -0.2594634, -0.09987361, -0.08651594, -0.0134031195, 0.13383342, -0.29035473, -0.15002187, -0.078639805, -0.07127412, -0.16304658, 0.05276267) * go_5(-1.0, 1.0); + result += mat4(0.19848315, 0.08736629, 0.059144225, -0.09447644, 0.02258197, -0.2571475, -0.28990847, -0.027986418, 0.048613783, 0.022653515, 0.2793524, -0.050864372, -0.21006623, -0.03244143, 0.10503605, 0.118863106) * go_5(0.0, -1.0); + result += mat4(0.1141189, 0.16082734, 0.19251204, 0.046851195, 0.12982753, 0.1179071, -0.19780421, -0.081736855, -0.13099432, 0.1591774, 8.499473e-05, -0.110567674, -0.02899663, -0.1474914, -0.02698378, 0.0026956694) * go_5(0.0, 0.0); + result += mat4(0.13940544, 0.06881286, -0.05801804, 0.072250396, -0.009307022, -0.18490271, -0.11261658, -0.16390282, 0.020309817, 0.10038859, -0.09349415, -0.14116558, -0.20527501, -0.061198466, -0.025865598, -0.08396298) * go_5(0.0, 1.0); + result += mat4(-0.29216713, -0.03166838, -0.113096364, -0.03150052, 0.1709056, -0.026671233, 0.09773227, -0.1519528, 0.040399972, -0.009488163, -0.077320874, 0.06988943, -0.011609312, -0.04198275, 0.12707464, 0.006308921) * go_5(1.0, -1.0); + result += mat4(-0.051588435, 0.006180919, 0.13836713, -0.25345033, -0.11852253, 0.124243006, -0.028141703, 0.036185384, -0.0219207, 0.047607783, 0.067218274, 0.13251485, -0.17255323, -0.08482923, -0.045748707, 0.17345634) * go_5(1.0, 0.0); + result += mat4(0.066040546, -0.1950836, 0.035140682, -0.177215, 0.002426889, -0.10077353, -0.22871427, -0.022668306, -0.19148435, 0.053983398, 0.15257482, -0.0977811, -0.0546057, 0.050372656, -0.09533434, 0.064632036) * go_5(1.0, 1.0); + result += vec4(0.033997618, 0.026958792, 0.036766436, -0.020595448); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!SAVE conv2d_16_tf +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.08802986, -0.17393574, -0.14236689, -0.027905934, -0.06911397, -0.11672821, -0.2792837, 0.11365244, -0.06958475, -0.18663275, 0.115227476, -0.022523437, 0.056238096, -0.059810236, 0.04873624, -0.005821912) * go_0(-1.0, -1.0); + result += mat4(0.1127787, -0.17345825, 0.19259876, 0.12654746, -0.13533565, 0.06251798, 0.099469095, -0.17107892, -0.044659805, -0.1270373, -0.030414857, 0.06547094, -0.04661237, -0.020623157, -0.091043934, -0.008992439) * go_0(-1.0, 0.0); + result += mat4(0.19035979, -0.10846463, -0.017068362, -0.022281054, 0.1589396, -0.03264436, -0.00764233, 0.08733022, 0.025321474, 0.2316312, -0.17448951, -0.062320076, -0.09665312, 0.077836566, -0.15457042, -0.031109523) * go_0(-1.0, 1.0); + result += mat4(-0.038293075, 0.039982896, -0.1469895, -0.08202698, -0.0041442337, 0.029787892, -0.044658363, -0.21846762, -0.044046592, 0.18280518, -0.06486731, -0.1690961, 0.028628197, 0.01049846, -0.032201137, 0.017294433) * go_0(0.0, -1.0); + result += mat4(0.059674874, -0.05350419, -0.10941087, -0.0845837, 0.04927608, 0.036460683, 0.0055156145, -0.024534898, -0.18547916, 0.13815373, 0.18513125, 0.12902182, -0.17424613, 0.0700179, -0.10840591, 0.10033247) * go_0(0.0, 0.0); + result += mat4(-0.056340918, -0.22555862, 0.06911137, -0.024649663, -0.18350351, 0.00950671, 0.1963708, 0.11672094, -0.084857196, 0.059099168, -0.14970237, -0.04900496, 0.07548133, 0.017982353, -0.07550771, 0.13420473) * go_0(0.0, 1.0); + result += mat4(-0.07515682, -0.011147019, 0.10587885, 0.14749783, -0.3299278, 0.002686847, -0.1518538, 0.051685937, -0.09971082, 0.040840115, -0.038742367, -0.1039338, -0.03282236, -0.059669517, -0.122400075, -0.018639566) * go_0(1.0, -1.0); + result += mat4(0.06775716, 0.007048041, -0.08188808, -0.10080362, 0.28195885, 0.10496502, -0.07891694, -0.25544325, -0.1742375, 0.09669711, 0.18185973, 0.31786624, 0.065365106, 0.07105677, -0.018566757, 0.05218278) * go_0(1.0, 0.0); + result += mat4(-0.089370586, -0.21895438, -0.06468459, -0.05457814, 0.03454585, 0.15021439, 0.0035336192, -0.17009473, -0.083677866, 0.15718195, 0.10846793, 0.21016604, 0.027942222, -0.081115246, 0.036489576, -0.11569346) * go_0(1.0, 1.0); + result += mat4(0.027996952, -0.028215071, 0.02175091, 0.021965792, -0.084215, -0.03758052, -0.13010016, 0.08475194, 0.12714519, 0.12293797, 0.07838412, -0.086469695, -0.057902515, -0.03087676, -0.03611093, -0.121886) * go_1(-1.0, -1.0); + result += mat4(0.078855015, -0.019143503, 0.25362718, 0.10234785, 0.06521017, -0.16250263, 0.045211475, -0.17433222, 0.016279457, 0.06819055, 0.13895121, -0.05589787, -0.009716455, 0.20975766, 0.029051652, 0.11252572) * go_1(-1.0, 0.0); + result += mat4(0.05893387, -0.10818095, 0.094520725, 0.04735701, -0.00062618783, 0.060635865, 0.028728807, -0.037579857, -0.05011172, 0.072621815, 0.32791084, 0.20725228, -0.16025586, 0.029779507, -0.098033756, -0.057435088) * go_1(-1.0, 1.0); + result += mat4(-0.027748855, -0.032816567, 0.1381763, -0.07527717, -0.04557042, -0.19134082, -0.28283423, -0.0497186, -0.061549354, 0.021712344, -0.07307426, 0.008633742, -0.17751735, -0.06531707, 0.22166257, -0.06736024) * go_1(0.0, -1.0); + result += mat4(0.10577709, -0.00029715832, -0.07257314, 0.037460234, 0.2560591, -0.004036816, -0.0048680147, -0.111901544, -0.26662216, -0.12197044, 0.04535819, -0.017144589, -0.08068284, 0.2595127, -0.122860804, -0.0032942474) * go_1(0.0, 0.0); + result += mat4(-0.017741704, 0.09559895, -0.033990704, 0.08170982, -0.19994697, -0.07059366, -0.11213052, -0.03725744, -0.27139193, 0.1484444, 0.045858312, 0.26310086, -0.11015166, 0.11078496, -0.048356485, 0.075475365) * go_1(0.0, 1.0); + result += mat4(0.11419975, -0.047353536, 0.13656045, 0.11486861, -0.15706798, 0.06450431, 0.14535433, -0.020635093, 0.10368355, 0.15418164, 0.24278086, -0.049087204, 0.062040165, -0.061476476, 0.049934343, 0.010076082) * go_1(1.0, -1.0); + result += mat4(0.124436915, -0.043080516, 0.14038607, 0.120473295, -0.13698362, 0.0632538, -0.12079243, -0.15874681, 0.206419, 0.20660165, 0.032999307, -0.1115593, -0.28569657, -0.01696896, -0.035953935, 0.1648099) * go_1(1.0, 0.0); + result += mat4(0.113919385, 0.11906966, 0.0005747532, 0.080415644, -0.40388402, 0.0017795331, 0.07015799, -0.09544672, 0.0030407861, 0.2834558, 0.10607995, -0.11396143, 0.17354475, 0.104605556, -0.07189537, -0.014960302) * go_1(1.0, 1.0); + result += mat4(0.017524108, 0.13681653, 0.051700532, -0.017652562, -0.034235284, 0.055753216, 0.15347894, 0.052076254, 0.033296116, -0.09584493, -0.033569854, 0.027673539, -0.01796682, -0.10580566, -0.07683759, 0.06618078) * go_2(-1.0, -1.0); + result += mat4(-0.1764062, 0.055722255, -0.02721764, -0.02276022, 0.0949696, -0.058885206, 0.06488299, -0.092077486, 0.04663375, -0.024681088, -0.26029268, 0.023124814, 0.008564294, -0.14319825, -0.04004337, -0.06123616) * go_2(-1.0, 0.0); + result += mat4(0.08396966, -0.034983225, -0.07795199, 0.12035646, 0.028944263, 0.063821584, -0.017690185, 0.052195095, -0.033104133, -0.17720836, -0.09615896, 0.11477779, 0.17819521, -0.056103952, -0.022960674, 0.13859332) * go_2(-1.0, 1.0); + result += mat4(0.18050459, 0.04579894, -0.22067004, 0.085571006, -0.11066822, 0.06598446, -0.014714607, -0.054712657, -0.11574491, -0.13472416, -0.021493772, 0.010712232, 0.08756391, 0.10629865, -0.030947337, 0.012433604) * go_2(0.0, -1.0); + result += mat4(0.13059679, 0.12995908, 0.051285587, -0.1490071, -0.16121583, 0.017019918, 0.18331663, 0.05133495, -0.11774923, 0.14849012, 0.08879608, 0.21546392, -0.16260189, 0.071787946, 0.08042792, 0.034665287) * go_2(0.0, 0.0); + result += mat4(-0.0496461, -0.074484035, -0.067306705, -0.056405246, -0.0791933, 0.09205973, -0.089488566, 0.06336122, 0.026799377, 0.044899896, -0.043504875, -0.027825577, -0.12687266, -0.036599446, -0.0979517, 0.118289836) * go_2(0.0, 1.0); + result += mat4(0.065074205, 0.0912584, -0.10980821, -0.0087488005, 0.009252638, -0.037367865, -0.038106624, -0.14231613, 0.10606405, 0.059649512, 0.115708545, -0.09755315, 0.019461721, 0.021630583, 0.091960326, -0.008601625) * go_2(1.0, -1.0); + result += mat4(-0.3277807, -0.036484975, 0.038798176, 0.24745776, 0.2593154, 0.21724908, -0.00019478974, -0.18449827, 0.033633452, 0.018974831, -0.07398912, 0.017520338, -0.032920193, 0.004842279, -0.00579405, -0.11938036) * go_2(1.0, 0.0); + result += mat4(0.18842064, 0.05702536, -0.061931625, -0.06727871, -0.014621294, 0.04080955, -0.013593707, -0.003619943, -0.020285374, 0.01967135, 0.06964358, -0.015948078, 0.008987598, -0.0502518, -0.07550232, -0.03246761) * go_2(1.0, 1.0); + result += mat4(-0.021415083, 0.047334228, 0.09358717, 0.066151075, -0.057634987, 0.038057115, -0.15978286, -0.0306265, 0.03275409, 0.040893096, -0.06797163, 0.038144294, -0.04410495, 0.03834102, 0.12854114, -0.067179) * go_3(-1.0, -1.0); + result += mat4(-0.118068546, 0.031765044, -0.08369015, 0.012474477, -0.034454364, -0.08663203, -0.11515983, 0.11116229, 0.013160141, 0.1618989, -0.0948057, 0.051910333, -0.08929414, 0.2686571, 0.037374903, -0.21924725) * go_3(-1.0, 0.0); + result += mat4(-0.04300725, 0.04822412, 0.16281828, 0.035834175, 0.099052325, -0.14414896, 0.005747616, 0.02214405, 0.13032797, -0.025553104, -0.0975882, 0.093112744, -0.14970464, 0.19270295, -0.08109359, -0.06329011) * go_3(-1.0, 1.0); + result += mat4(-0.10569496, -0.075869955, -0.049005095, -0.06851834, -0.08021023, -0.10791368, 0.04543862, 0.0027774416, 0.050588753, 0.01885911, -0.029016491, 0.14942807, -0.038662244, 0.0020585372, 0.14963345, -0.21736771) * go_3(0.0, -1.0); + result += mat4(-0.017626101, -0.026860205, -0.0166675, 0.09863811, 0.0069533293, 0.08025672, -0.007524914, 0.10343909, 0.030437125, 0.05835893, 0.053286716, 0.11764632, 0.046820708, 0.11034737, 0.13265274, -0.23132078) * go_3(0.0, 0.0); + result += mat4(-0.0002492618, -0.15761827, -0.008163207, 0.10799774, 0.03797858, 0.082984105, -0.1682568, -0.13183926, -0.11445903, 0.16405046, -0.13379891, -0.24530238, -0.12639353, 0.011228589, -0.03275201, -0.039365195) * go_3(0.0, 1.0); + result += mat4(0.19628343, -0.03061746, -0.045941845, -0.11086776, -0.11805122, -0.032416914, -0.021520017, 0.0693067, 0.004571353, 0.016396372, 0.07598534, 0.033040676, 0.012897211, 0.012313861, 0.11968668, -0.08747018) * go_3(1.0, -1.0); + result += mat4(-0.0813893, -0.022178298, -0.040741373, 0.07031036, -0.28552878, 0.06425291, -0.0053351806, 0.120189145, 0.12595983, -0.10747074, 0.0048105116, -0.06664802, -0.022508347, -0.06586251, 0.06035201, 0.14375561) * go_3(1.0, 0.0); + result += mat4(-0.12956624, -0.04242177, -0.0017373727, 0.037004035, -0.00039252886, 0.09018791, 0.0017921329, 0.11215645, -0.035194464, -0.09520843, -0.06663547, 0.050138075, 0.02804902, 0.060663514, -0.07920812, 0.087417066) * go_3(1.0, 1.0); + result += mat4(-0.0029228467, 0.09749893, 0.041897535, -0.18033682, -0.1579824, 0.014144745, 0.032907195, 0.0017276615, -0.059261598, 0.13907957, 0.02144935, 0.041111927, 0.03160442, 0.08409082, 0.048776, -0.095657706) * go_4(-1.0, -1.0); + result += mat4(-0.10480038, -0.042332742, -0.015383398, -0.05648455, -0.11888851, -0.16955213, 0.04470709, -0.022793902, 0.00016517058, -0.056294985, -0.047431663, 0.012045597, -0.09375551, -0.11388544, -0.12949479, -0.008033533) * go_4(-1.0, 0.0); + result += mat4(-0.06412859, -0.055691525, -0.014857645, 0.09801412, -0.05405835, -0.053803347, -0.0013197206, -0.12301804, 0.07946899, 0.06714871, -0.07215845, 0.017334301, -0.025533507, -0.10721457, 0.073318854, -0.14206216) * go_4(-1.0, 1.0); + result += mat4(0.058060713, 0.093734995, 0.01842975, -0.29179135, 0.0602599, -0.024193754, 0.01761975, -0.026523773, 0.28867632, 0.00483472, 0.07755528, -0.016514888, 0.015965128, 0.17118327, -0.19532546, -0.07110416) * go_4(0.0, -1.0); + result += mat4(0.0128605245, -0.1741353, -0.03638385, -0.048088867, 0.10223092, 0.23232879, -0.0054223654, -0.00045356248, 0.12773679, -0.006512435, 0.07379372, 0.08680171, -0.035877902, -0.054623656, 0.07132212, 0.09048987) * go_4(0.0, 0.0); + result += mat4(-0.009797465, 0.060523454, 0.073391296, -0.13990612, -0.12679388, 0.07210466, 0.1628591, -0.07687422, 0.1963603, 0.10681905, 0.06749501, -0.20079397, -0.0019436153, 0.07006026, 0.030871613, -0.08604229) * go_4(0.0, 1.0); + result += mat4(-0.12500001, -0.16281945, -0.019086959, 0.27618113, -0.038304567, -0.015725048, -0.024617916, -0.035548065, 0.15954372, -0.04278374, -0.06421704, -0.00039818592, -0.0482903, 0.10892429, -0.14975885, 0.005292497) * go_4(1.0, -1.0); + result += mat4(-0.017346809, -0.046994127, 0.032871798, 0.0013864548, -0.16245434, -0.12618968, 0.09413434, -0.076167226, -0.07559192, -0.10978536, 0.0911529, 0.11722477, 0.015144819, -0.01594627, -0.18361738, -0.13300706) * go_4(1.0, 0.0); + result += mat4(0.196295, 0.08153582, -0.0046313326, -0.020369306, -0.10097475, -0.058573876, 0.02360406, 0.34065554, 0.07581009, -0.024701435, -0.0036000118, 0.14957961, 0.06200422, -0.007515458, 0.108764246, -0.06800964) * go_4(1.0, 1.0); + result += mat4(-0.032589618, -0.0015710328, 0.016760994, -0.059781738, -0.074785665, 0.052239433, 0.05612257, -0.065350436, -0.020133277, 0.072456904, 0.11718997, -0.021059798, -0.07565095, -0.08362852, 0.045464966, -0.063447826) * go_5(-1.0, -1.0); + result += mat4(-0.1102015, -0.031135883, 0.09267165, -0.058451813, -0.13763309, 0.07187428, -0.08874953, 0.08555874, -0.037774604, 0.049590353, 0.26134104, 0.018416924, -0.081239395, -0.013879623, 0.090619825, -0.036696743) * go_5(-1.0, 0.0); + result += mat4(-0.06493723, -0.010833561, -0.0040989053, -0.05103571, 0.058725636, -0.016349433, -0.19289434, -0.02820378, 0.10755951, -0.09996525, 0.022100247, -0.0135096535, -0.13146846, -0.1046519, 0.22726761, -0.043585762) * go_5(-1.0, 1.0); + result += mat4(-0.05782105, -0.065180056, 0.36255524, -0.07636241, -0.025651963, -0.12618172, -0.014441459, 0.11177841, 0.05698485, 0.04069727, -0.1798041, -0.18843612, -6.748983e-05, -0.15634717, -0.14003754, 0.067269295) * go_5(0.0, -1.0); + result += mat4(0.14520092, -0.12358684, -0.2308459, 0.06433382, 0.14404234, -0.018400794, -0.04435697, 0.0468437, 0.025523597, -0.22619915, -0.1016596, 0.049539804, 0.18028462, -0.083644226, -0.101813614, -0.020419104) * go_5(0.0, 0.0); + result += mat4(0.0802013, 0.028405981, -0.046696443, 0.04202267, 0.025745654, -0.04509517, 0.16942215, -0.07011387, 0.0020332548, -0.0648844, -0.20601165, 0.12061787, 0.05914776, -0.27518207, 0.17372149, -0.009302444) * go_5(0.0, 1.0); + result += mat4(-0.017286759, -0.11818566, 0.10640867, -0.008934892, 0.20847458, 0.055007588, 0.11734843, 0.12208416, -0.044339962, -0.06791728, -0.07898345, 0.09904303, -0.06864673, -0.016157066, 0.04056718, -0.10148076) * go_5(1.0, -1.0); + result += mat4(0.10796872, -0.13242823, 0.26613814, 0.014023097, -0.21846855, 0.010950801, -0.26663643, -0.07875743, 0.06405232, -0.00032474866, 0.090980455, -0.065073796, -0.037091963, -0.04538706, 0.0023358157, 0.0067520686) * go_5(1.0, 0.0); + result += mat4(0.056303564, -0.08950635, -0.08650799, -0.029363103, -0.16495064, -0.13165015, 0.07930873, 0.13557468, 0.16211954, 0.03483085, 0.11933352, 0.007469677, 0.117681414, -0.094969146, 0.009896069, -0.022225311) * go_5(1.0, 1.0); + result += vec4(0.06926819, 0.0008862821, -0.038584497, 0.022858847); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x80 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_17_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!SAVE conv2d_18_tf +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.015411904, -0.3481058, -0.14065851, 0.25672877, 0.11077625, 0.14430125, 0.075987406, 0.13401817, -0.028904252, 0.010471815, -0.13755904, -0.043050054, -0.23878446, 0.032667324, 0.0065731215, -0.24957936) * g_0; + result += mat4(-0.11764895, -0.045424536, -0.039502602, 0.12982897, 0.229541, -0.18251237, 0.07418932, -0.019108484, 0.07372666, 0.032683663, 0.2243215, 0.30212626, 0.12498196, 0.24965945, 0.04350288, 0.3903582) * g_1; + result += mat4(0.20100635, 0.15522125, 0.18275909, -0.0052163424, -0.08758867, -0.22356448, 0.22349271, 0.22447799, 0.07740293, -0.3192609, -0.06672845, -0.0633777, 0.056181088, -0.21348128, -0.13974325, -0.036865283) * g_2; + result += mat4(0.18827224, -0.13507625, -0.08306733, 0.049136307, -0.095121965, 0.16284102, 0.05845094, 0.11416881, 0.062486872, 0.1405637, 0.1685204, 0.13717267, -0.07496871, 0.25640628, 0.11199113, -0.01789177) * g_3; + result += mat4(0.27167314, 0.035950907, 0.032459494, -0.11790055, 0.12248767, 0.06978094, 0.3084216, 0.08794611, 0.07387762, 0.053205058, 0.099851795, -0.10258492, -0.14328477, 0.13806304, 0.026629662, -0.28694016) * g_4; + result += mat4(-0.06586842, -0.06801413, -0.14677979, -0.0768508, 0.26984748, 0.11354619, 0.116293885, 0.014563355, -0.21626909, 0.19715959, -0.10084105, -0.20142159, 0.03564203, -0.102611236, -0.050990574, -0.09135196) * g_5; + result += mat4(0.35307628, -0.14951418, -0.35223207, 0.030067248, 0.12195168, 0.28564107, -0.02129123, 0.13029817, 0.11705502, 0.020162629, 0.06902506, -0.3966005, -0.4818593, -0.33073005, 0.072956145, -0.12939528) * g_6; + result += mat4(0.00530956, -0.12135435, 0.070373125, -0.16821058, -0.008556209, -0.17572887, 0.14526288, -0.16719544, 0.038015194, 0.21531321, -0.0031482165, 0.43273294, -0.28057137, 0.20323606, 0.06625515, 0.21552464) * g_7; + result += mat4(-0.063178524, 0.24973153, 0.013720456, 0.056591444, 0.019021465, -0.26067972, -0.10853732, 0.030659003, -0.0700846, 0.033658378, -0.14822826, 0.004289035, -0.043764096, 0.20344602, -0.09091495, 0.071616665) * g_8; + result += mat4(0.12145554, -0.0624854, 0.19910428, -0.22141473, -0.06820842, 0.14774227, 0.23123792, -0.20847356, -0.0788949, -0.02772492, 0.161529, -0.056242056, -0.09748238, 0.17754894, -0.10482487, 0.004179268) * g_9; + result += mat4(0.33851695, 0.24063228, 0.061941892, -0.17925197, 0.009762858, -0.110571444, 0.17266293, 0.018386278, -0.13628517, 0.012900279, -0.20001967, 0.07412768, 0.092519194, 0.025905496, 0.013374791, -0.18080667) * g_10; + result += mat4(-0.35484606, -0.24163297, -0.20655888, 0.25741658, -0.054093473, 0.24703228, -0.13321623, 0.06730745, 0.1915146, -0.12488617, -0.039931353, -0.16139272, -0.17825414, 0.005273623, -0.06986308, -0.20182024) * g_11; + result += mat4(0.10539724, -0.14134564, -0.09422101, 0.07420711, 0.124219745, -0.050976872, -0.0036057911, -0.18727909, 0.024319967, 0.29918167, 0.07634522, 0.19821624, 0.32139403, 0.23670414, -0.32440105, -0.038693212) * g_12; + result += mat4(-0.18223715, 0.18983413, 0.48830718, 0.024916872, -0.3343574, -0.12711638, 0.11339659, 0.122138545, -0.105839044, -0.14808372, -0.18010806, -0.15808982, -0.26355624, 0.12354337, -0.11911975, -0.10833433) * g_13; + result += mat4(0.38319695, 0.05502718, 0.011898256, 0.042783014, 0.21362592, 0.042454682, 0.19834186, -0.073223054, 0.057000954, -0.056501992, 0.06412959, 0.036385205, 0.1374011, -0.062440563, 0.17463037, 0.047360953) * g_14; + result += mat4(0.08570211, -0.06420987, 0.061411254, -0.15230267, -0.12127754, 0.06184008, -0.17644596, 0.022357073, 0.08968545, 0.10179604, -0.14161776, -0.10706859, 0.014307138, -0.120175295, -0.1018418, 0.04443384) * g_15; + result += mat4(-0.07310467, -0.09482765, 0.11474074, -0.21321261, -0.036888484, -0.036406234, -0.14175038, -0.18403974, 0.073185734, -0.11334264, -0.04354356, -0.1334644, -0.28488088, 0.155462, 0.13175695, -0.045593392) * g_16; + result += mat4(-0.0013599097, -0.094864406, -0.2907292, 0.1529276, -0.019177636, -0.04425709, -0.11138836, 0.13960573, 0.28229222, 0.032372613, -0.12031677, -0.037267342, 0.19885163, -0.07453253, -0.008422101, -0.18792655) * g_17; + result += mat4(0.2524008, -0.056883294, 0.2737073, 0.25479946, -0.105945334, 0.18521947, 0.09495465, -0.16628663, 0.10909617, -0.34263077, 0.13374376, 0.034627344, -0.15817793, -0.014514654, -0.089533, -0.007011694) * g_18; + result += mat4(-0.26738396, 0.22419624, -0.06836402, 0.032150477, 0.13000076, -0.08652478, -0.0856218, -0.07700419, 0.10129944, 0.0689117, 0.027205365, -0.07991292, 0.23872668, -0.081905946, 0.028084237, -0.09570726) * g_19; + result += vec4(-0.030411588, -0.03504694, 0.0062963464, -0.0060779224); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x80 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_17_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!SAVE conv2d_18_tf1 +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.06229179, 0.07447952, 0.17544238, -0.029056227, 0.23295781, -0.25401062, 0.060630303, -0.26968777, -0.06298657, 0.23999286, 0.07138117, -0.12207766, 0.3314945, -0.060328502, -0.05256118, -0.11967128) * g_0; + result += mat4(0.009106781, -0.15019597, 0.107759155, -0.013013227, -0.1201809, 0.18982023, -0.084957175, 0.03017393, 0.02300354, 0.16276407, 0.20732218, -0.07420877, -0.18172643, 0.14273722, -0.11420885, -0.13387239) * g_1; + result += mat4(-0.091283925, 0.125469, 0.15440796, 0.03595249, 0.1367125, -0.26021275, -0.034883995, 0.1384171, 0.034683395, 0.012753063, 0.059117932, -0.060619134, 0.018635055, -0.20502415, 0.026565414, 0.25979492) * g_2; + result += mat4(0.016796626, 0.15069105, -0.061102454, 0.023371994, -0.08180385, 0.018199123, -0.0563611, 0.23894419, -0.06728213, 0.11131519, 0.03154735, -0.05907408, -0.1616918, -0.247807, 0.12373462, 0.04899162) * g_3; + result += mat4(-0.29031062, 0.28420377, 0.038582914, 0.27378574, -0.08802812, 0.053966224, 0.018315062, 0.0067930855, 0.036932472, -0.041048605, 0.03820459, -0.0073364014, 0.10362766, 0.026039885, -0.23032854, -0.1956355) * g_4; + result += mat4(-0.12793514, 0.28202888, 0.12303155, 0.29286426, -0.28697783, 0.012021052, 0.27789843, 0.055134546, 0.1095386, -0.05251396, -0.2255559, -0.17143604, -0.1668448, -0.047896937, 0.083351046, 0.14768548) * g_5; + result += mat4(-0.16652593, -0.1171025, 0.046261553, -0.092330426, 0.45466834, -0.12058069, -0.3161383, -0.008391166, 0.16704272, 0.08296244, -0.15564027, -0.27613795, 0.020327646, -0.122191355, -0.050283693, 0.03534835) * g_6; + result += mat4(-0.01564193, 0.13914119, 0.07802687, -0.1896753, -0.23644254, 0.15426877, 0.064588614, 0.15104239, -0.007543932, 0.14882818, 0.0395721, 0.04181466, -0.07785041, -0.31100297, 0.1204594, 0.12991908) * g_7; + result += mat4(0.13514097, -0.06449617, 0.038062695, -0.24076426, 0.07944077, -0.0040154266, 0.026618825, -0.2406117, -0.020159021, 0.027010564, -0.21324417, -0.0008397984, 0.15394984, 0.07287525, 0.12330107, 0.20474261) * g_8; + result += mat4(-0.034830973, -0.021657703, -0.14613967, 0.1852407, 0.28907514, 0.0729019, -0.104028866, -0.067935266, 0.005923615, -0.07949258, -0.01123202, -0.057730585, -0.006548943, -0.045705102, -0.1578812, 0.048652157) * g_9; + result += mat4(0.07865155, -0.1089475, 0.2799939, 0.04209442, -0.062469423, 0.06282737, -0.309991, 0.056344055, -0.1911143, 0.14326468, 0.08484205, -0.19620831, -0.082943305, -0.10082107, -0.1514525, -0.014929943) * g_10; + result += mat4(-0.2911379, 0.3363872, -0.043308917, 0.22365907, 0.034437142, -0.020528575, 0.21208636, 0.3034834, 0.012269259, 0.03488268, 0.030740876, 0.20943925, 0.005626004, 0.1601836, -0.012430659, -0.06502019) * g_11; + result += mat4(0.15755813, 0.016292375, 0.02457799, 0.13753077, 0.12852463, 0.058444835, 0.29067582, -0.14437278, -0.10174013, 0.029764764, 0.0038154817, -0.18069993, 0.12908849, 0.09049112, 0.020467235, 0.02675185) * g_12; + result += mat4(-0.30425274, 0.172061, -0.04473515, -0.27572066, -0.04441604, -0.0135015845, -0.02134299, -0.030247632, -0.18199432, 0.13888723, -0.1234305, 0.093817785, 0.09853002, 0.12676361, -0.0044124853, -0.0006500754) * g_13; + result += mat4(-0.086448506, -0.09585741, 0.18680948, -0.1595373, -0.0013524789, -0.15327513, -0.24068208, -0.005388094, -0.05461273, 0.08730604, -0.105776325, 0.10966634, 0.17866546, 0.02331487, -0.26239154, 0.05888688) * g_14; + result += mat4(-0.10371749, 0.18664865, -0.085673355, 0.07728855, 0.2016191, 0.14631543, -0.05918329, -0.033308215, 0.13446982, 0.17957696, 0.02237709, -0.111385815, 0.15208769, -0.2766956, -0.042062268, -2.918234e-05) * g_15; + result += mat4(-0.3349197, 0.1320308, 0.034178462, 0.09385523, 0.03969266, -0.09389873, -0.114752054, 0.03206358, -0.14895694, -0.12865661, 0.01785704, 0.09169438, 0.101165384, -0.014787588, 0.08328934, 0.121291555) * g_16; + result += mat4(-0.06074213, 0.18984905, 0.11707254, 0.12558164, -0.20235488, 0.13861518, 0.07092135, -0.3614094, 0.09027116, 0.14745344, 0.083361, -0.23089439, -0.14834873, 0.10834447, -0.24824911, -0.048383813) * g_17; + result += mat4(0.1632019, 0.09772291, -0.21687613, 0.16953598, 0.03563443, -0.14966665, -0.12472958, -0.104619995, 0.124128886, 0.12477276, 0.5057336, -0.04884431, 0.07567298, 0.28349468, 0.17712036, 0.019731894) * g_18; + result += mat4(0.10584999, 0.017437998, -0.1409027, 0.01700227, -0.26804322, -0.01906643, -0.15364946, 0.078551315, -0.38588783, -0.20918682, -0.13819021, -0.12914348, 0.22142257, 0.20084332, 0.07179306, -0.4147244) * g_19; + result += vec4(0.04500602, -0.043274067, -0.024793796, 0.03252472); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x80 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_17_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!SAVE conv2d_18_tf2 +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.006507618, 0.35551, 0.10029036, 0.20938163, -0.27909538, 0.107799135, -0.117420286, 0.017393347, -0.07090822, 0.067006424, -0.025181938, 0.06960745, 0.050213918, 0.11024797, -0.06292335, -0.28821605) * g_0; + result += mat4(-0.07828812, -0.24313068, -0.041977264, 0.28533673, -0.046961866, -0.0382004, -0.06722913, 0.046214554, -0.015937736, 0.2662867, -0.11650494, -0.03243863, 0.20631221, 0.01906351, 0.20938441, 0.063740134) * g_1; + result += mat4(0.2477787, -0.15261632, -0.09109093, 0.16242526, 0.030849725, 0.36562842, -0.24916211, -0.2537, -0.0005451666, 0.040962283, -0.12698911, 0.1940532, -0.0031755446, 0.16081375, -0.31149757, 0.24105449) * g_2; + result += mat4(0.15018864, -0.0975225, 0.16312592, -0.023348464, 0.025320804, 0.08907452, -0.20382877, 0.14941658, -0.025980422, 0.2518956, 0.37375775, 0.0670902, 0.21562299, 0.096583225, 0.24626857, -0.1689578) * g_3; + result += mat4(0.032749493, 0.26481724, 0.16459878, -0.1093412, 0.35898176, -0.08814589, -0.19542596, 0.35450563, 0.34313765, 0.082954384, 0.06760144, -0.13203524, 0.08626903, -0.082864255, 0.3760177, -0.052356176) * g_4; + result += mat4(-0.22347268, -0.23800248, 0.22216137, -0.1334753, -0.0019713258, -0.117614284, 0.2928468, -0.022849852, 0.09592314, -0.0526934, 0.07753605, -0.21934861, -0.1660914, -0.2673251, 0.032538224, 0.0033737908) * g_5; + result += mat4(0.4056822, -0.22801818, -0.009285619, 0.20891581, -0.12555836, -0.1479676, -0.15377103, 0.091794685, 0.18693839, 0.029455252, -0.28683576, -0.01816607, 0.034140516, 0.21041095, -0.031228764, -0.20486769) * g_6; + result += mat4(-0.016693812, -0.25051102, 0.250197, -0.143388, -0.012325928, 0.0013464197, -0.045613196, -0.13748543, -0.023561578, -0.03421223, 0.08587755, 0.36944443, 0.0090245735, -0.07692534, -0.21768387, 0.11940026) * g_7; + result += mat4(0.14990924, -0.15969902, -0.24874954, 0.25423834, 0.047977734, -0.11828463, -0.07667344, -0.07940479, -0.033960067, -0.19987972, -0.07886391, -0.1691948, -0.059108987, 0.12546931, -0.09120288, -0.2301952) * g_8; + result += mat4(0.07120231, 0.11496656, 0.11952848, 0.06014948, 0.07809767, 0.10536339, -0.11122203, 0.28110188, 0.014941528, -0.0792158, 0.23271102, 0.1513328, -0.14564197, -0.0053231698, 0.06846381, -0.05170115) * g_9; + result += mat4(0.14952776, 0.1830435, 0.0693483, -0.12810285, -0.2411923, 0.02373353, 0.09710389, -0.00886689, -0.075813554, -0.15807281, 0.019722076, 0.122158974, -0.08879681, 0.1176225, 0.023886852, 0.009521271) * g_10; + result += mat4(-0.12003659, 0.25038052, -0.09751039, -0.21425623, 0.05037122, -0.30314568, 0.056634273, 0.049238324, 0.06321857, 0.058443442, 0.067801915, 0.24130674, 0.10302721, -0.22205399, 0.008704116, -0.10264142) * g_11; + result += mat4(-0.12898026, 0.09346042, 0.29941607, -0.04953118, -0.1304296, -0.0008984169, -0.04556631, -0.14597142, 0.063871995, 0.06488008, 0.08948201, 0.23473148, -0.20545703, 0.10851978, -0.025103066, -0.23575859) * g_12; + result += mat4(0.13659224, 0.08942274, -0.20569776, 0.017678559, 0.09806826, 0.15677394, 0.15822731, 0.029734695, -0.08716191, -0.01778334, -0.13599, -0.16893873, -0.30254295, 0.18124272, 0.051892713, -0.18010335) * g_13; + result += mat4(-0.002885469, 0.009502494, 0.12664194, 0.21007413, -0.08120904, 0.04213149, -0.19298813, -0.09197216, -0.11336129, 0.026870906, 0.11918877, -0.07471192, 0.07715422, -0.28567305, -0.0050871065, -0.0589191) * g_14; + result += mat4(0.11605678, 0.017162867, -0.00952252, 0.12467068, 0.118510686, -0.186823, -0.13314165, 0.027390392, 0.19537403, 0.21234393, 0.3235463, -0.041289236, 0.07744967, 0.36400458, 0.25095546, 0.09901454) * g_15; + result += mat4(-0.17919436, 0.1251613, -0.18175727, 0.021816947, -0.04216387, 0.10944426, 0.02161377, -0.0076910397, 0.03792699, 0.04829799, 0.16696233, 0.27722096, -0.15549976, -0.0015638673, -0.046067294, -0.21890913) * g_16; + result += mat4(0.02248908, -0.25410384, 0.23302642, 0.013278944, 0.04128571, -0.1978489, -0.068986565, 0.06931732, 0.07257194, 0.10191749, -0.10704886, -0.07942535, 0.10373902, -0.33918902, -0.097765245, 0.35452053) * g_17; + result += mat4(0.10310988, -0.36429033, -0.17563991, -0.33056924, 0.10157224, -0.26683134, 0.10698191, 0.09721982, -0.3825923, 0.011767701, 0.19865969, 0.22241755, -0.16556083, 0.021593302, -0.2107391, -0.20859967) * g_18; + result += mat4(-0.16120493, 0.2403295, -0.25938925, 0.13073151, -0.11099456, -0.19550775, -0.21077448, -0.18629125, -0.082744755, -0.04692217, -0.2137643, 0.19053587, -0.11437479, 0.02856005, 0.3253954, 0.12590827) * g_19; + result += vec4(-0.013902712, 0.006466277, -0.021404289, -0.029253915); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!SAVE conv2d_20_tf +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.09294641, -0.1158186, -0.11383922, -0.18075919, 0.13302398, -0.03751026, -0.067699105, 0.09560551, -0.02461861, 0.16565137, -0.06083674, -0.15142106, -0.040619526, 0.13233532, -0.15686019, -0.013839122) * go_0(-1.0, -1.0); + result += mat4(0.044417296, -0.17726582, 0.15873624, -0.25761864, 0.069352694, -0.079825036, 0.17515941, -0.19109002, 0.2139231, 0.019684589, -0.09461715, 0.033632115, 0.06326973, -0.022311855, -0.054165527, -0.021914836) * go_0(-1.0, 0.0); + result += mat4(-0.1298302, -0.024154784, 0.14097355, 0.025328204, -0.065222666, 0.034682933, 0.04185055, 0.03819006, -0.03930244, 0.023453588, 0.07284346, 0.029684428, 0.14533475, -0.019355427, 0.011254047, 0.017419893) * go_0(-1.0, 1.0); + result += mat4(-0.14563386, -0.08222772, -0.30177984, -0.05967725, -0.097646125, -0.16414933, 0.11700978, -0.043248646, 0.14416361, 0.17325267, 0.055524427, -0.08235854, 0.20726103, 0.2069635, 0.12871404, 0.34145215) * go_0(0.0, -1.0); + result += mat4(0.026209459, 0.23920053, 0.12351496, -0.066335455, 0.12753548, 0.113379925, 0.2521918, -0.0059000906, 0.154576, -0.0057768747, -0.06138675, -0.042400908, -0.0010367454, 0.11039277, 0.06401636, -0.04591122) * go_0(0.0, 0.0); + result += mat4(0.040683243, 0.014337892, 0.14728178, -0.08828608, -0.022762204, 0.07433557, 0.08731713, 0.15555556, 0.0038898352, 0.076742835, 0.13739787, -0.13507335, -0.006751211, 0.06023675, -0.16807017, 0.13534886) * go_0(0.0, 1.0); + result += mat4(0.055997107, 0.10363734, -0.11505465, 0.10051812, -0.063410625, -0.037380435, -0.015442374, -0.033114396, -0.10145282, -0.1005693, 0.17274141, 0.009044856, 0.17575212, -0.06881564, 0.08194139, 0.09730184) * go_0(1.0, -1.0); + result += mat4(0.08609495, -0.037443504, 0.05785138, -0.0210377, -0.010028248, 0.039309487, -0.033386406, 0.06802184, 0.04439948, 0.008985963, 0.06598393, 0.12716638, -0.061664846, 0.018561186, -0.020672582, 0.17480755) * go_0(1.0, 0.0); + result += mat4(0.017864816, 0.051641412, -0.035533294, -0.082921945, -0.06792339, -0.18861745, -0.01440961, -0.04727943, 0.13370918, 0.024184503, 0.17790537, 0.22161904, -0.13595536, 0.0019620757, -0.0011823947, 0.09377497) * go_0(1.0, 1.0); + result += mat4(-0.017264143, 0.15716588, -0.11429335, -0.04992877, 0.006302832, -0.017561557, -0.16362968, -0.119030006, -0.028216297, -0.07010418, 0.10948507, 0.03874696, -0.06490529, 0.09936819, -0.07403505, 0.13423388) * go_1(-1.0, -1.0); + result += mat4(0.21096039, -0.030001203, 0.26182327, -0.30905315, -0.06576998, -0.16503945, -0.05604086, 0.09934356, 0.03867048, -0.11057229, -0.03899883, -0.20984182, 0.28392267, 0.106830716, 0.18248665, 0.1609516) * go_1(-1.0, 0.0); + result += mat4(0.05847982, -0.061215837, 0.062305983, -0.05504516, -0.002925314, -0.030206572, -0.029340278, 0.024437418, -0.008038368, -0.21633625, -0.00814884, 0.36257815, 0.009820865, -0.029340588, -0.012933708, -0.09077532) * go_1(-1.0, 1.0); + result += mat4(-0.04170194, 0.107179575, -0.023424922, -0.24142934, 0.21078281, -0.07349173, -0.16382796, 0.06679311, 0.11899595, 0.24838819, 0.038586155, 0.23684317, -0.20525086, 0.1372336, 0.093804926, -0.07361924) * go_1(0.0, -1.0); + result += mat4(0.15165257, 0.11615761, 0.313838, 0.07120216, -0.13011925, -0.13735199, 0.10538029, -0.011271374, 0.04622528, -0.006749806, 0.011059132, -0.16288637, 0.026936894, 0.18702355, 0.088553816, 0.1794082) * go_1(0.0, 0.0); + result += mat4(-0.032357164, 0.010167581, 0.15498924, 0.09117371, 0.11227337, -0.050463077, -0.028285068, -0.1377718, 0.08330387, -0.23446722, -0.23247677, -0.1829469, 0.056669325, 0.2377977, 0.08802427, 0.064405255) * go_1(0.0, 1.0); + result += mat4(-0.05357501, 0.021199243, -0.08600578, 0.022257347, 0.011408827, -0.0050491816, -0.057687394, 0.14744234, -0.09267379, -0.15668261, 0.13397205, -0.053909495, -0.006844299, 0.18583481, 0.018428689, 0.08704116) * go_1(1.0, -1.0); + result += mat4(-0.011847375, -0.0067721186, 0.30313665, -0.08950501, -0.019289348, -0.13872112, -0.103812315, 0.1855238, 0.09282658, 0.08178805, -0.026845777, -0.05244464, 0.09294287, -0.02069455, -0.008373871, 0.05652373) * go_1(1.0, 0.0); + result += mat4(-0.0050423755, -0.022601169, 0.08414679, 0.14937675, -0.0026541906, -0.02450683, -0.009913411, -0.06732805, 0.051323414, -0.023584072, -0.14653604, 0.20639488, -0.056317866, -0.060301743, -0.011312024, -0.076251455) * go_1(1.0, 1.0); + result += mat4(-0.109271415, -0.02896675, -0.009695293, 0.08384622, -0.0036152625, -0.14080207, -0.040540285, -0.12666075, -0.11080371, -0.118533805, 0.0008845531, -0.051511787, 0.01846824, 0.07217671, 0.06317925, -0.011579162) * go_2(-1.0, -1.0); + result += mat4(-0.0098831775, 0.02577478, 0.03427075, -0.19805092, 0.11983348, 0.13377845, 0.23250616, -0.10981398, -0.017667765, -0.054577116, -0.052353706, 0.19620399, 0.17931293, 0.026314069, 0.09285351, 0.13471241) * go_2(-1.0, 0.0); + result += mat4(0.0044629225, -0.01810919, 0.07654668, 0.01870599, 0.01230688, -0.12048502, -0.044906557, 0.15119185, 0.07858472, -0.045783166, -0.11159382, -0.033761594, 0.11503779, 0.11318943, -0.036339156, -0.06597187) * go_2(-1.0, 1.0); + result += mat4(0.035713598, -0.03531832, -0.09600573, 0.060029324, 0.06513237, -0.06156464, 0.031462513, -0.034171887, -0.08329228, -0.1699912, -0.1788344, -0.114334606, 0.1276991, -0.18625216, 0.008950445, -0.11454878) * go_2(0.0, -1.0); + result += mat4(-0.089447655, 0.12820958, 0.04766808, -0.08752495, 0.05474904, -0.018004049, 0.09516643, 0.028639503, 0.08431041, -0.18038012, -0.16312553, -0.043258812, 0.05856565, -0.18499035, 0.13299939, 0.019616196) * go_2(0.0, 0.0); + result += mat4(-0.13868435, -0.0021450857, -0.050741415, -0.021135109, 0.22957061, -0.1024089, 0.072753765, 0.009929925, 0.05660099, -0.042447466, 0.12399499, -0.015540306, -0.0062580383, 0.026042579, -0.016714064, 0.055952474) * go_2(0.0, 1.0); + result += mat4(0.07411661, 0.03283327, -0.06667389, 0.04884367, 0.040718928, -0.15359843, 0.17676751, 0.035261173, 0.056293286, 0.07593688, -0.15237808, 0.035726074, -0.1112144, -0.0006580278, 0.009302558, -0.068437986) * go_2(1.0, -1.0); + result += mat4(-0.06699668, -0.08044169, -0.028106725, 0.08421807, -0.09363219, 0.040584683, 0.14185178, 0.050851252, -0.0610543, 0.15692091, -0.05999308, -0.014868457, -0.11972303, 0.031658858, 0.00753601, -0.14760475) * go_2(1.0, 0.0); + result += mat4(-0.05381733, -0.013843267, 0.0064064683, 0.04844634, 0.03491151, 0.05287661, -0.05664069, 0.08830533, -0.0052366625, 0.058663126, -0.03569328, 0.029297765, -0.013606053, 0.05512517, -0.0085320845, -0.099100634) * go_2(1.0, 1.0); + result += mat4(0.113082245, 0.013978219, -0.15910351, -0.09554144, -0.01833795, -0.0644012, -0.09022978, -0.01195027, 0.22739775, 0.0655376, -0.12980658, -0.03807146, 0.027440801, -0.00748236, 0.08664939, 0.039376393) * go_3(-1.0, -1.0); + result += mat4(0.1869336, 0.12666042, 0.10013194, -0.12667616, -0.14024873, -0.1103707, -0.11400852, 0.050235026, -0.081609644, 0.17705022, 0.09259843, -0.09109346, -0.07577727, -0.056907117, -0.031225577, 0.08265047) * go_3(-1.0, 0.0); + result += mat4(-0.045408096, 0.051238175, 0.07416475, -0.10420649, 0.21300174, -0.12634194, -0.04180748, 0.091014005, 0.028725134, -0.07714135, -0.052186225, -0.0325272, 0.0809717, -0.035156228, -0.12211841, -0.12596777) * go_3(-1.0, 1.0); + result += mat4(0.15666568, 0.13103995, 0.07484423, -0.1408892, 0.16545156, 0.12429429, 0.13765953, 0.10343804, 0.07211865, 0.1857474, -0.19201575, 0.13950339, 0.13572817, -0.08897522, 0.05181235, 0.040699657) * go_3(0.0, -1.0); + result += mat4(0.060997564, 0.004741357, -0.16104372, 0.17935832, 0.0048122844, -0.2265489, -0.24393651, 0.31268173, 0.27526522, -0.07406689, 0.09530693, 0.19375011, -0.059768572, -0.0650623, -0.09408784, 0.0065967236) * go_3(0.0, 0.0); + result += mat4(-0.03201393, 0.0933393, 0.017663121, 0.022775916, 0.15085602, -0.06905511, -0.024943229, -0.024926227, -0.024189468, 0.20101236, -0.07340361, -0.0352635, 0.041247666, 0.17063814, -0.12569599, 0.14746365) * go_3(0.0, 1.0); + result += mat4(-0.063521154, 0.087067194, -0.048564807, -0.07831136, -0.09305777, -0.14888498, -0.07730665, 0.091307685, -0.014140842, 0.15308905, 0.041133467, 0.14461096, 0.030292403, 0.052176412, -0.0064460402, -0.006674204) * go_3(1.0, -1.0); + result += mat4(-0.074680164, 0.15867938, -0.043194182, -0.04247156, -0.030427527, -0.13324276, -0.0849375, -0.0012677576, -0.046072684, 0.10360166, 0.061219912, 0.038694333, 0.007354044, -0.059634488, 0.06424205, -0.06396095) * go_3(1.0, 0.0); + result += mat4(0.047146562, 0.029874887, 0.041508146, -0.08238011, 0.028167995, -0.056289103, -0.09459171, 0.08272971, -0.13951209, 0.0024278602, -0.1948553, -0.045429546, 0.02149894, -0.072801635, 0.0040058377, 0.04961522) * go_3(1.0, 1.0); + result += mat4(0.0035803285, -0.011417722, 0.093399316, -0.028740522, -0.051005416, -0.09839506, -0.07549599, 0.029942147, -0.028693104, 0.17376035, 0.020670101, -0.13552317, 0.01320766, -0.030528337, -0.002924167, 0.05864404) * go_4(-1.0, -1.0); + result += mat4(-0.0032484033, 0.011529664, -0.024597712, 0.006284061, -0.047943357, 0.0010930945, 0.0020769844, -0.016858231, -0.17841692, 0.06463831, -0.019606594, 0.14750104, -0.022879092, -0.010242112, -0.08920587, 0.031848677) * go_4(-1.0, 0.0); + result += mat4(-0.074352615, -0.005919074, 0.005782582, 0.020316001, -0.04763056, 0.016487207, 0.013347862, 0.12599403, -0.026518365, 0.10605418, -0.15208714, 0.13918227, 0.0045341784, -0.17405283, 0.0037167477, -0.019297974) * go_4(-1.0, 1.0); + result += mat4(-0.15260784, -0.092385136, -0.14661121, 0.13285598, 0.000685534, 0.089646846, 0.070177704, -0.033807848, -0.034933034, -0.13887317, -0.033632874, -0.02390552, -0.19830498, -0.11550691, -0.22427958, -0.11563313) * go_4(0.0, -1.0); + result += mat4(-0.14179914, 0.16005456, -0.10719186, 0.19021456, -0.07924184, -0.1292815, -0.3304126, -0.072820365, -0.13208194, 0.12909785, -0.18195078, 0.0005577344, 0.015572346, -0.07788106, 0.22707236, -0.058145594) * go_4(0.0, 0.0); + result += mat4(-0.0020186717, 0.13094911, 0.056740236, 0.13746777, -0.12028731, 0.07318106, -0.06788638, -0.011701235, -0.09618727, -0.086764775, -0.06012734, -0.08546645, -0.06689775, -0.17323029, 0.08294139, 0.0100521725) * go_4(0.0, 1.0); + result += mat4(-0.17888522, -0.034924157, 0.17387538, -0.084485255, 0.0118150655, 0.09186377, 0.16138373, -0.07273615, -0.07996559, 0.023678366, 0.08273731, -0.11342224, -0.04240804, -0.1106497, -0.026108013, 0.027623102) * go_4(1.0, -1.0); + result += mat4(-0.000458541, 0.01851989, 0.21986355, -0.104299635, 0.2342987, -0.17364407, -0.006433297, 0.071846694, -0.22427829, -0.16493757, -0.09133518, -0.13916811, 0.05539187, -0.036943633, -0.17862594, -0.02652375) * go_4(1.0, 0.0); + result += mat4(0.035956334, 0.04479069, 0.0025612311, -0.15087438, -0.008698598, -0.031548824, -0.080667846, -0.14909576, -0.054705918, -0.02101649, 0.066699855, -0.17162657, 0.08169786, -0.021073151, -0.09145583, -0.05493102) * go_4(1.0, 1.0); + result += mat4(0.12376377, 0.030232588, 0.039936855, 0.1703946, 0.006420258, 0.12515192, 0.2831958, -0.124901466, -0.05655792, 0.0037408515, -0.09108924, -0.070766285, 0.07943606, 0.12987587, 0.029344313, -0.0190588) * go_5(-1.0, -1.0); + result += mat4(0.16694774, 0.29920718, -0.17362227, -0.04363615, 0.10560856, -0.16827479, 0.021607764, 0.09804199, -0.062238254, -0.030233778, 0.121561594, 0.13902298, -0.012816795, 0.00013161855, -0.06388857, -0.32021064) * go_5(-1.0, 0.0); + result += mat4(-0.0044640037, 0.08859944, 0.14951241, 0.050695077, 0.1086804, 0.17554376, 0.030289644, 0.09259605, 0.019261833, -0.18367371, 0.1119654, 0.0019211815, 0.022823188, 0.04705905, -0.015794605, -0.03769136) * go_5(-1.0, 1.0); + result += mat4(-0.022050636, -0.053092785, 0.1256514, -0.18914121, -0.02523783, -0.085544035, -0.06325046, 0.1184791, -0.14761166, -0.0023359838, -0.111324035, 0.039635215, 0.23335013, 0.49924138, -0.12330757, 0.12380497) * go_5(0.0, -1.0); + result += mat4(-0.15033622, -0.21257126, -0.0680606, 0.07837463, -0.20294017, 0.18734957, -0.19354935, -0.17342475, 0.06136688, 0.04444599, 0.058139533, -0.041831546, -0.096620694, 0.3100417, -0.016585616, 0.35714212) * go_5(0.0, 0.0); + result += mat4(-0.046841778, -0.04147061, -0.02593143, 0.06537049, -0.043345295, -0.07501616, -0.2039158, -0.013717456, 0.061606117, -0.053962696, 0.16390117, 0.19614251, -0.03473919, 0.41777435, -0.119797945, -0.11393415) * go_5(0.0, 1.0); + result += mat4(-0.16153297, -0.072921485, -0.116643205, -0.0148084555, -0.11596615, 0.10866507, -0.12831023, 0.032740112, -0.09391959, -0.017795717, 0.066344894, -0.023708157, 0.0017712148, -0.0061637852, 0.15363464, 0.26850593) * go_5(1.0, -1.0); + result += mat4(-0.112800024, -0.17930314, 0.031512067, -0.16306019, 0.095627084, -0.13715069, -0.08529468, 0.20360838, -0.045604475, -0.025609516, 0.010655033, -0.026090728, 0.0096726315, 0.123240486, 0.05983414, 0.11894432) * go_5(1.0, 0.0); + result += mat4(-0.019307632, -0.08782039, -0.0030846242, 0.08162739, 0.08727088, -0.054656297, -0.016857732, 0.040473524, 0.0921656, 0.08112972, 0.0015579774, 0.009485926, -0.10490898, 0.08099371, 0.08312537, 0.0061792736) * go_5(1.0, 1.0); + result += vec4(-0.051287252, 0.057500422, -0.012066811, -0.003607342); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!SAVE conv2d_19_tf +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.17232095, 0.05196963, 0.1957015, -0.012670488, -0.03983681, 0.031149302, 0.039694704, 0.020508116, -0.12783968, 0.004216091, -0.00836861, -0.023543797, -0.028499011, 0.13811529, 0.03197489, -0.031296503) * go_0(-1.0, -1.0); + result += mat4(-0.035738144, -0.07685536, -0.24839115, 0.050282005, -0.033324722, 0.11388902, -0.04584055, -0.079211496, 0.111792184, 0.081673115, 0.023834156, -0.07562505, 0.08974356, 0.06918628, 0.1438924, 0.25376153) * go_0(-1.0, 0.0); + result += mat4(-0.01594264, -0.051040996, -0.17032662, 0.04061899, 0.050063428, 0.043036774, -0.052380044, 0.056100003, -0.0063007106, -0.035981517, -0.08852574, 0.21601331, -0.064668365, -0.0619801, -0.14144057, 0.13158554) * go_0(-1.0, 1.0); + result += mat4(0.19074002, 0.039619297, 0.114354186, 0.21006018, 0.03622692, 0.05341186, -0.07767327, 0.018759921, 0.10909838, 0.09453698, -0.104584634, -0.022526927, -0.15922396, -0.06956033, 0.13617443, -0.13963418) * go_0(0.0, -1.0); + result += mat4(-0.023758968, 0.24589951, -0.21106692, -0.12995054, -0.0015635567, -0.083123736, -0.24123181, 0.03764839, 0.32796848, 0.21975699, -0.05459605, 0.14844929, 0.17255868, 0.10748497, 0.16037765, -0.03986278) * go_0(0.0, 0.0); + result += mat4(-0.12095075, 0.014222217, -0.17565662, -0.072168805, 0.1491409, 0.0054073245, 0.0025672442, -0.14129455, 0.0048770322, 0.10851389, -0.24521907, 0.11027851, -0.011124933, -0.11656673, -0.17195827, -0.22370163) * go_0(0.0, 1.0); + result += mat4(-0.038839977, -0.044546135, 0.0071988306, -0.13346611, 0.0298906, -0.0655723, -0.019216442, 0.009032108, 0.03212269, -0.052555725, -0.053255882, -0.055271696, -0.01219769, 0.17089464, 0.06283344, 0.03760205) * go_0(1.0, -1.0); + result += mat4(-0.0035380342, -0.15694073, 0.16781923, -0.13552342, -0.07383044, -0.23585534, -0.13073628, 0.12075837, -0.049202695, 0.042893164, 0.047651123, 0.010171804, 0.07239369, 0.09716291, 0.19222859, 0.057004813) * go_0(1.0, 0.0); + result += mat4(0.04864448, -0.18188159, 0.15280305, -0.09898409, -0.03915652, 0.07971998, 0.021496097, -0.026700165, -0.124248706, -0.11954617, -0.13983545, 0.022560695, 0.11862742, -0.1211255, 0.0035039925, -0.05858093) * go_0(1.0, 1.0); + result += mat4(0.05539291, 0.011540769, 0.12988773, -0.09431168, -0.22786912, -0.14023057, -0.07235529, 0.03326467, -0.10465756, -0.09263049, -0.10386387, -0.16427693, 0.013285068, -0.058711633, 0.011129011, 0.107626244) * go_1(-1.0, -1.0); + result += mat4(0.026477838, 0.08712371, 0.0106525505, 0.095340036, -0.033396285, -0.08356796, -0.006512677, -0.016520914, -0.11557968, 0.025195913, 0.013604985, -0.05068749, 0.03991739, -0.30245325, -0.30390647, 0.15323944) * go_1(-1.0, 0.0); + result += mat4(0.123073824, 0.08234513, 0.046411622, 0.12904918, -0.07630806, -0.045369815, -0.048796657, 0.059665594, -0.24505447, -0.0051562684, 0.059416622, 0.059635036, -0.21593623, -0.053717196, -0.13353199, 0.0269834) * go_1(-1.0, 1.0); + result += mat4(0.34161064, 0.2998807, 0.15291405, 0.12629528, -0.09681671, 0.0053160326, 0.014049323, 0.038924143, -0.08234762, -0.05640955, -0.06644744, -0.169, 0.10996828, -0.08773881, 0.046290014, -0.20815368) * go_1(0.0, -1.0); + result += mat4(0.09492253, -0.18687363, -0.29793888, 0.08194403, 0.06544232, 0.21565121, -0.11924395, 0.21280313, 0.14904131, 0.010867663, -0.031090708, 0.02972627, 0.05503199, -0.2580428, -0.11424236, -0.18637592) * go_1(0.0, 0.0); + result += mat4(0.12098179, 0.027045874, -0.07356119, 0.120656446, -0.026882645, 0.11918208, -0.075733475, -0.019169822, -0.050393365, -0.22304833, 0.0010975708, 0.17012344, -0.11099007, -0.00014199367, -0.18906291, -0.16121203) * go_1(0.0, 1.0); + result += mat4(0.30686033, 0.16368441, 0.18450093, 0.08483293, -0.1576842, -0.021885727, -0.00790592, 0.08727723, 0.016727412, 0.048148774, 0.03734899, 0.08563833, -0.034121696, -0.021873025, -0.03973087, 0.037528913) * go_1(1.0, -1.0); + result += mat4(0.19380733, 0.011115564, 0.035776794, -0.20635456, -0.031124758, -0.0056327996, -0.050223853, -0.049936183, 0.10508698, 0.22232406, 0.19983801, 0.027960615, 0.15511817, -0.3483113, -0.072132036, 0.2348954) * go_1(1.0, 0.0); + result += mat4(-0.08979386, -0.025793906, -0.12783967, -0.022007767, 0.00082973664, -0.08179508, -0.05162517, -0.13117367, -0.11426664, -0.21943225, -0.08568666, -0.112526596, 0.07754692, -0.09914543, -0.10320428, 0.14581469) * go_1(1.0, 1.0); + result += mat4(0.010238713, -0.05766967, 0.075526096, -0.042434614, -0.0048401575, -0.0018482467, -0.086450554, 0.011457697, -0.16705558, 0.010554879, -0.057052955, 0.06417055, 0.01566093, 0.03897155, 0.027091417, -0.031672284) * go_2(-1.0, -1.0); + result += mat4(0.1342295, 0.12146632, 0.183517, -0.10563802, 0.05472728, 0.053951643, 0.023981905, 0.032106545, -0.061893966, 0.16877505, 0.024926068, 0.1632674, -0.032986403, -0.058130085, 0.05218083, -0.0049105175) * go_2(-1.0, 0.0); + result += mat4(0.060167424, -0.11205342, -0.058815766, -0.025406862, -0.09364195, -0.12034122, 0.019811962, 0.022740806, -0.034774538, 0.09634627, 0.007947957, -0.0969919, -0.054708626, -0.034688447, 0.105931975, -0.051818643) * go_2(-1.0, 1.0); + result += mat4(0.016515028, 0.047139984, 0.14790079, 0.09271807, 0.14395235, 0.049008638, 0.07820809, 0.04071514, 0.020879751, 0.074349314, 0.048903707, 0.08953904, 0.09793068, -0.0134541085, -0.033851102, 0.08052725) * go_2(0.0, -1.0); + result += mat4(-0.06403659, 0.019287083, -0.03442876, 0.022155492, 0.042041622, 0.024868082, -0.0052332664, -0.16024074, -0.2025663, 0.0834284, -0.2938131, -0.13355014, 0.051825467, 0.17795074, 0.013376224, 0.073285446) * go_2(0.0, 0.0); + result += mat4(-0.07917029, -0.10543174, -0.06774603, 0.11356946, 0.095979065, 0.06306864, -0.022703176, -0.1331111, 0.029465768, 0.19977406, -0.183874, -0.048162457, -0.052976456, -0.003203888, -0.083660446, -0.00473143) * go_2(0.0, 1.0); + result += mat4(0.067382015, -0.036516793, 0.008363289, 0.054699454, 0.0080375215, 0.029587539, 0.09327044, -0.10854276, -0.03717116, 0.011462987, -0.012637284, -0.038641863, -0.03825869, -0.07617418, 0.035327263, 0.0015065607) * go_2(1.0, -1.0); + result += mat4(0.032740314, -0.09845175, -0.06052756, -0.017656168, 0.06285339, 0.115741976, 0.0015970734, 0.0700449, 0.097625814, 0.09785281, -0.17113277, 0.08020761, -0.011976542, 0.19887382, -0.057363894, -0.031950586) * go_2(1.0, 0.0); + result += mat4(0.0031021363, -0.01486569, 0.0070566195, 0.018073492, -0.18891771, 0.044012547, -0.02848051, -0.09782509, 0.12274589, 0.16405459, 0.11758562, -0.00014311883, 0.08904015, -0.022371538, -0.11997026, -0.08722815) * go_2(1.0, 1.0); + result += mat4(0.037708748, 0.018481232, -0.059362944, 0.12917332, 0.05757559, 0.011123432, -0.010279293, 0.18221511, 0.06439241, 0.032253057, 0.027954938, 0.21676691, -0.15721409, -0.035180286, -0.047692142, -0.14757462) * go_3(-1.0, -1.0); + result += mat4(0.094092436, 0.106772736, -0.20032993, 0.11527211, -0.100314476, -0.18196538, 0.0953278, 0.053715702, 0.054059852, -0.068477504, -0.033078108, 0.19470179, -0.054266233, 0.06836199, 0.1319061, -0.19235216) * go_3(-1.0, 0.0); + result += mat4(0.19253512, -0.06671434, -0.10030362, 0.03826232, -0.15945454, 0.06443083, 0.05069592, -0.1166751, 0.0876034, -0.06544823, 0.08597868, 0.010253344, -0.08484483, -0.065271884, 0.09926085, -0.07245332) * go_3(-1.0, 1.0); + result += mat4(0.049619086, 0.11480021, 0.0345857, -0.18240574, -0.12314936, -0.07150226, 0.043656696, -0.31322953, -0.055724636, 0.17731838, 0.14377743, -0.04996543, -0.027046258, -0.030811151, -0.08603827, 0.035861466) * go_3(0.0, -1.0); + result += mat4(-0.009710335, -0.11247214, -0.27121308, -0.06013236, -0.15952422, -0.014342976, 0.005739716, -0.1647743, -0.06685163, -0.043611478, 0.059232637, -0.103153855, 0.06619248, 0.20227104, -0.009578111, 0.15078413) * go_3(0.0, 0.0); + result += mat4(0.08605389, 0.01704336, -0.18163979, 0.026820498, 0.076932736, 0.19812599, 0.12272361, 0.045221727, -0.010041947, -0.12065143, -0.14786147, -0.00478973, 0.020153932, -0.102792114, 0.18962413, 0.114438586) * go_3(0.0, 1.0); + result += mat4(0.06509507, -0.051928334, -0.00785648, 0.046848897, -0.16479005, 0.0002998278, 0.0464779, 0.106441386, 0.098450884, 0.007670904, 0.07612072, -0.13558389, -0.13474926, 0.0027454074, 0.033605177, 0.040803477) * go_3(1.0, -1.0); + result += mat4(0.09930992, -0.07931443, -0.071994275, -0.05525855, -0.14075288, 0.055972937, 0.19599722, -0.006209348, -0.06583424, -0.12827037, 0.06232273, -0.20214806, -0.018291697, 0.034347143, -0.008479694, 0.07035163) * go_3(1.0, 0.0); + result += mat4(0.06885754, 0.015833907, 0.05431246, -0.002557479, 0.05089267, 0.038318608, 0.049443834, 0.11044659, 0.035441104, -0.10339014, 0.14916813, 0.059371714, 0.08567587, 0.008457374, 0.0067606587, 0.012970931) * go_3(1.0, 1.0); + result += mat4(0.045902185, 0.10129235, 0.04630228, -0.14913626, -0.10818339, 0.13926516, 0.12281629, -0.072059065, 0.026492024, 0.04104322, 0.09242998, 0.117320806, -0.0048932876, -0.085333414, 0.04616044, -0.12448833) * go_4(-1.0, -1.0); + result += mat4(-0.09841232, -0.076594025, -0.04320989, -0.13853325, -0.01585637, 0.1684027, 0.05445149, -0.072762586, -0.18491578, -0.20705253, -0.05202519, 0.1535378, -0.020633204, -0.05846511, 0.11947115, 0.097812876) * go_4(-1.0, 0.0); + result += mat4(0.022807566, 0.07347284, -0.0103484625, -0.034644965, -0.03545684, -0.012602767, 0.008724363, 0.015305726, 0.04684742, -0.09104756, -0.011386216, -0.21479242, 0.07156649, 0.010785019, 0.13238904, -0.011200245) * go_4(-1.0, 1.0); + result += mat4(-0.023818022, -0.0656973, -0.023539519, -0.05640083, -0.07164025, -0.10051641, -0.08249105, -0.016246844, -0.044434533, -0.020133652, 0.022334592, 0.036623817, 0.21690795, -0.0027633426, 0.019751385, 0.3204924) * go_4(0.0, -1.0); + result += mat4(0.119499706, -0.03199973, -0.07711165, 0.15557942, 0.031092199, 0.12264532, 0.034875948, 0.085104674, 0.065676615, 0.0071313963, -0.19012983, 0.17058182, -0.013617876, 0.16685705, -0.19145168, -0.049577985) * go_4(0.0, 0.0); + result += mat4(0.03736309, 0.012947695, 0.078400776, -0.03681506, -0.13939464, -0.14108521, -0.0492569, 0.07110628, 0.118814364, -0.07941013, 0.2226917, 0.1455531, -0.034910113, -0.016473442, -0.12722506, -0.065038085) * go_4(0.0, 1.0); + result += mat4(0.0116644325, 0.057571866, -0.08022676, -0.05823563, -0.0074519212, -0.10934019, -0.05255267, -0.20793183, 0.057620484, -0.09372508, 0.04208557, 0.007189974, -0.030964136, 0.00979685, -0.05971153, -0.061584) * go_4(1.0, -1.0); + result += mat4(-0.08937661, 0.03160103, -0.027826497, -0.10751375, 0.13023743, 0.29949927, -0.065885276, -0.04102768, -0.06745938, -0.17066544, -0.19525565, -0.044997957, 0.063236594, -0.12742096, -0.0028707385, 0.04146705) * go_4(1.0, 0.0); + result += mat4(-0.052421857, 0.10538001, 0.1970712, 0.07593989, 0.022966346, 0.10516174, 0.030174518, 0.010835365, 0.047463644, -0.02476402, 0.03135708, 0.10059339, -0.08882804, -0.09593538, -0.0052387095, 0.07400823) * go_4(1.0, 1.0); + result += mat4(-0.13103916, -0.042097878, -0.031900287, 0.032980174, 0.044408236, 0.017985614, 0.018536413, -0.027685404, 0.20265672, -0.012135818, 0.00679574, -0.034229457, 0.07430049, -0.05179636, -0.06765157, 0.053300425) * go_5(-1.0, -1.0); + result += mat4(-0.07422784, -0.11821867, 0.05030694, 0.08969713, 0.17102082, -0.032630224, -0.17423922, -0.19807258, 0.083329074, -0.011819461, -0.22177805, -0.01592508, 0.026034322, -0.17012936, -0.16266881, -0.05512207) * go_5(-1.0, 0.0); + result += mat4(-0.042716295, 0.009482717, 0.07616772, 0.09877437, 0.18370044, -0.035501633, -0.11382081, 0.1584646, -0.14695294, -0.012491863, 0.055465847, -0.12432882, 0.08791288, -0.05550738, -0.135346, 0.13181816) * go_5(-1.0, 1.0); + result += mat4(0.012421754, -0.09407695, 0.11308986, 0.19505157, 0.09120321, -0.20434178, 0.10159751, 0.090666875, -0.00015377735, -0.0034987864, -0.15915553, -0.16261056, 0.08073029, -0.08937891, -0.10344318, -0.031564213) * go_5(0.0, -1.0); + result += mat4(-0.004493347, -0.4522451, 0.17070189, 0.18417092, -0.004727111, 0.046928473, -0.23462684, 0.063458525, -0.07109156, 0.050718024, -0.10764871, -0.12361206, -0.020232506, -0.20473973, -0.21429922, -0.031195154) * go_5(0.0, 0.0); + result += mat4(-0.06543918, 0.034498077, -0.021013409, 0.12807384, 0.0010062607, -0.14533468, 0.17880528, 0.20724949, -0.039472003, 0.12308172, 0.11282204, 0.06741728, -0.0022228563, -0.23336464, -0.2256891, -0.0135773225) * go_5(0.0, 1.0); + result += mat4(0.053297523, -0.06685852, 0.09689054, 0.06490692, 0.072670005, -0.010300202, 0.055526257, 0.023645576, -0.090883985, -0.11272065, -0.017579652, 0.029201843, 0.22047956, -0.02133663, 0.16724576, -0.12056172) * go_5(1.0, -1.0); + result += mat4(0.0602669, -0.011194491, 0.04821372, 0.18359374, -0.09824533, -0.15806678, -0.21525596, -0.06828616, -0.080283545, -0.101128004, 0.07496933, -0.01887304, 0.073979266, -0.1608985, -0.03205404, 0.017403143) * go_5(1.0, 0.0); + result += mat4(-0.08253474, -0.07662621, -0.15244885, 0.22756171, 0.08423129, -0.08668738, -0.054323256, 0.11607651, -0.08265575, 0.030768815, 0.035593152, 0.017069776, 0.109168805, -0.23222354, 0.07691423, -0.13035889) * go_5(1.0, 1.0); + result += vec4(0.010289917, -0.02647771, 0.035883527, 0.017785); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x88 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!SAVE conv2d_21_tf +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_20 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.09549911, 0.37316352, -0.04671274, 0.022156661, -0.099851176, -0.016477318, -0.15647866, 0.3075032, -0.41206098, -0.10546171, 0.040359724, 0.13995685, -0.37928727, -0.017326128, 0.047914587, 0.14423256) * g_0; + result += mat4(0.084515356, 0.006663507, -0.21146557, 0.26029226, -0.25549483, 0.06314179, 0.0009546878, 0.011714899, -0.20285705, -0.09633961, 0.044988878, 0.010919512, 0.11979154, -0.35923663, -0.33764264, 0.24825361) * g_1; + result += mat4(-0.13476388, 0.20931306, 0.06758379, -0.24818432, -0.014518509, -0.19829272, 0.20000297, -0.22848319, -0.07284091, 0.14168872, -0.10349599, -0.038411904, -0.1296637, -0.033355676, -0.019598074, 0.037219126) * g_2; + result += mat4(0.05446092, -0.15814775, -0.051778644, -0.04556046, -0.05707862, 0.05894901, 0.30567068, -0.34205344, 0.07921361, 0.018968029, -0.217382, 0.12733924, 0.16229834, 0.25780123, -0.095756724, -0.068911575) * g_3; + result += mat4(-0.13599817, -0.11680487, 0.07268368, 0.21054786, -0.14810202, 0.12554282, 0.21146035, -0.023012314, 0.14020249, -0.1214641, -0.11742288, 0.062001504, 0.02912684, 0.008054588, 0.020715035, 0.115733996) * g_4; + result += mat4(-0.10301303, -0.20502062, -0.020675663, 0.04069118, 0.27905715, 0.19296066, -0.16847864, -0.085301064, 0.20787837, 0.07654023, -0.05522329, -0.076257445, -0.25044343, -0.43387407, -0.068221375, 0.11907199) * g_5; + result += mat4(0.066475466, -0.17091195, -0.013050041, 0.05297836, 0.37009987, -0.12823582, 0.19216327, 0.16380179, -0.058420453, -0.15365978, -0.14184836, 0.10372518, 0.124301985, 0.019163188, 0.0068595526, -0.14791846) * g_6; + result += mat4(-0.17540008, -0.07897177, 0.031282343, 0.1203962, 0.1185166, -0.03167777, -0.07604457, -0.1384773, -0.4286709, -0.32054543, 0.17831656, 0.104549386, 0.13248782, -0.048322544, 0.23582847, -0.03182922) * g_7; + result += mat4(0.16559057, 0.14952078, -0.153311, -0.14549127, 0.06029146, 0.13079861, -0.20099011, 0.111981146, 0.26113033, 0.16972302, 0.17616469, -0.06314989, 0.28278658, 0.039805803, -0.035618275, 0.029560173) * g_8; + result += mat4(-0.07657932, -0.22380318, 0.2373389, 0.22987534, 0.23404339, 0.019233508, -0.2622599, -0.4245506, -0.050316285, -0.096794784, -0.22926746, 0.19520392, 0.05983981, 0.05918882, -0.023647195, -0.2528051) * g_9; + result += mat4(-0.05170879, 0.036037747, -0.07416669, 0.0359808, -0.31013575, -0.05018038, 0.12777044, 0.00060244696, -0.08604466, 0.44220653, -0.13737565, -0.20205748, 0.26324764, 0.09860818, -0.124673955, 0.20514517) * g_10; + result += mat4(-0.32772323, -0.106489114, 0.26368877, -0.14325057, 0.050906926, 0.34152874, 0.05805066, -0.036700435, -0.013218071, -0.048243362, 0.19560795, -0.18726018, 0.20994471, 0.11561842, -0.02017441, -0.0816956) * g_11; + result += mat4(0.022519596, 0.13739026, 0.24774754, -0.060937256, 0.25772008, 0.28999618, -0.13695791, -0.088689476, 0.028487388, 0.07854702, 0.12198411, 0.016715651, 0.14221917, -0.035250396, -0.025666341, 0.10188678) * g_12; + result += mat4(0.08483084, -0.046606388, 0.05214152, -0.0794586, -0.31594074, -0.18887727, 0.038710102, 0.07454813, 0.104813755, -0.011655456, -0.17008287, -0.17740634, -0.13157463, 0.15785204, 0.19256103, -0.14532489) * g_13; + result += mat4(-0.20306674, 0.1292239, -0.28123298, -0.18613516, 0.24752474, 0.14401013, 0.06234358, 0.31490028, -0.071559936, 0.015407359, -0.009575451, -0.14955868, -0.084203295, -0.12973298, 0.007254705, 0.14774777) * g_14; + result += mat4(0.08610954, -0.11005577, 0.31825662, 0.10915726, 0.021506164, -0.09548129, -0.0313006, 0.10486949, -0.19896136, -0.1046353, 0.026411569, 0.030561283, -0.07856321, -0.053018767, -0.056160312, 0.08518151) * g_15; + result += mat4(0.056912024, -0.113755904, 0.21678402, 0.0047052423, 0.2992955, 0.0425172, 0.18385644, -0.112410665, -0.03510993, 0.05937854, -0.17551777, -0.0066648335, -0.20076093, 0.024946915, 0.15961152, 0.085359626) * g_16; + result += mat4(-0.20451596, 0.15053003, -0.024022756, -0.14673562, 0.20152482, 0.073144756, -0.05883982, 0.09941695, -0.124058485, 0.2529782, 0.18737115, 0.057465617, 0.23198842, -0.03696399, -0.010907207, -0.019168029) * g_17; + result += mat4(0.22507596, -0.031345993, -0.037750687, 0.25322357, 0.16381021, 0.059297476, -0.2563697, -0.002998937, -0.14249223, 0.008298676, 0.09520146, 0.2786267, 0.14549607, 0.067360066, 0.016998664, 0.046272833) * g_18; + result += mat4(-0.13654792, 0.011035229, 0.20823318, -0.0048796176, -0.011389315, -0.25957406, -0.04244137, -0.03109198, 0.02487866, 0.18223195, 0.008499495, -0.25806475, 0.0005713295, 0.09914737, 0.104602136, 0.10642613) * g_19; + result += mat4(0.08935836, -0.046523742, 0.028143274, 0.10530491, -0.2550387, 0.12701567, 0.044246152, 0.20321028, 0.015860397, -0.089859016, 0.24590254, -0.2112368, 0.16364408, 0.029709993, 0.13556595, -0.010670673) * g_20; + result += mat4(-0.09306708, -0.038163673, 0.11326007, 0.04958378, 0.10383473, -0.12534077, 0.038890462, -0.2463075, -0.22917604, -0.20793879, -0.20209685, 0.056477755, -0.030611562, 0.44527152, -0.110011935, -0.27335247) * g_21; + result += vec4(0.030681891, -0.017473118, -0.034582928, 0.0316943); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x88 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!SAVE conv2d_21_tf1 +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_20 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.26941684, 0.036219094, -0.07560285, -0.26895636, 0.044311106, -0.05137545, -0.2322296, -0.03678458, -0.1297458, -0.05439981, 0.20655335, 0.21557501, -0.15205787, 0.17939065, -0.23068883, 0.2923722) * g_0; + result += mat4(-0.18076229, 0.026389921, 0.24002524, 0.13083115, 0.101710886, 0.15513568, 0.11232542, -0.10519931, -0.020665402, 0.17358172, 0.008605432, -0.20540753, -0.16048996, -0.117280565, 0.29549748, 0.09058516) * g_1; + result += mat4(0.25597388, 0.082029305, -0.10319984, -0.22495286, -0.27525312, -0.2427153, -0.04050147, 0.19406061, -0.15651433, 0.1356335, -0.043527655, -0.16124776, -0.036669318, -0.0032990375, -0.085704334, 0.22756006) * g_2; + result += mat4(0.051867485, -0.24008298, -0.17850713, 0.025297651, -0.3650358, -0.2176735, 0.2021243, 0.15193781, 0.19604576, 0.1891993, 0.037731584, -0.052179646, 0.11834566, -0.1379031, -0.2373384, 0.014617894) * g_3; + result += mat4(0.09285297, -0.11562465, -0.12399718, 0.13007185, -0.17964637, 0.014563686, -0.074939504, -0.026646245, -0.07532688, -0.22010872, 0.003612656, 0.10351008, 0.04961115, 0.20100375, -0.22187702, -0.17823507) * g_4; + result += mat4(-0.12011126, 0.09486046, 0.0086389035, -0.10428294, 0.06444772, 0.0023705198, 0.019175975, -0.01996667, -0.12081064, -0.22708468, -0.038654026, 0.27200446, 0.3914547, 0.2632333, 0.40427366, 0.10581144) * g_5; + result += mat4(-0.04486948, 0.015250527, -0.011455859, -0.01188025, 0.20036544, -0.11762138, -0.31135175, 0.124225006, -0.036055125, -0.42933324, -0.08072662, 0.003972841, 0.042441923, -0.12717016, 0.08839082, 0.053717572) * g_6; + result += mat4(0.13684005, -0.05297912, -0.026370518, -0.09088581, -0.094107635, 0.20296267, -0.18902333, -0.26307258, -0.068126924, 0.10832254, -0.066805795, 0.03337222, -0.053696163, 0.18476287, -0.089606225, 0.013725743) * g_7; + result += mat4(-0.043879077, -0.040578876, 0.06594204, -0.020670997, 0.13122465, 0.075165644, -0.010130328, 0.24178858, 0.06730869, 0.113522425, 0.19904599, 0.0073498543, 0.42964056, 0.17178564, 0.084659666, -0.24664184) * g_8; + result += mat4(-0.12285546, -0.1358985, -0.11090004, -0.11844171, 0.09297483, -0.22406663, 0.047864, 0.03641851, 0.0365943, 0.100511536, -0.22012307, -0.016841182, 0.08523964, 0.15804283, -0.05356537, 0.21060708) * g_9; + result += mat4(0.19209427, -0.13248959, -0.07607655, 0.051149122, 0.11642458, 0.099497885, -0.26437026, -0.324092, 0.043865014, -0.05075767, -0.19902268, 0.22255316, -0.017222278, -0.16437344, 0.13457586, -0.0018609265) * g_10; + result += mat4(-0.000601963, 0.020355195, 0.18065485, 0.12808195, -0.117500536, -0.08638299, 0.08601238, 0.14027888, 0.075331904, -0.11529773, -0.1415374, -0.17192268, 0.26774237, 0.32726994, 0.019540906, -0.048459146) * g_11; + result += mat4(0.13638663, -0.24208723, 0.097826414, -0.15800993, -0.042421468, -0.09006148, -0.037229672, 0.14824185, -0.17421173, 0.25361627, 0.019297253, 0.006751278, 0.3832628, -0.2272271, 0.110637285, -0.055976037) * g_12; + result += mat4(-0.004539398, 0.095810585, 0.16587941, 0.07004706, -0.2715203, 0.19236542, 0.34606242, 0.10482813, 0.045676876, -0.00715472, 0.051209465, 0.14672725, -0.12688708, -0.004962278, -0.09647747, 0.032963306) * g_13; + result += mat4(-0.10475787, -0.07177458, 0.08670406, -0.07522681, 0.034563806, 0.09974455, -0.0766157, -0.15083836, -0.18490194, -0.24109948, 0.08864707, -0.06437733, -0.028089454, -0.039389037, -0.10697504, -0.15656655) * g_14; + result += mat4(-0.13425583, 0.081750415, -0.10361864, 0.08273783, -0.111270554, 0.11590486, -0.15661974, 0.05408825, -0.0718009, 0.30851424, 0.02040609, 0.1636755, 0.07446875, -0.17443664, 0.15280458, 0.1481998) * g_15; + result += mat4(-0.284261, 0.05864242, -0.06124804, 0.22360328, 0.21680816, -0.008231985, -0.17734775, -0.001956721, -0.13693857, -0.012719592, 0.045048296, 0.08310407, 0.04783058, -0.17998756, 0.1645331, -0.09859071) * g_16; + result += mat4(0.048696257, -0.13751513, -0.0047537195, -0.14069663, -0.03338046, 0.070993476, 0.10792572, -0.129749, -0.0044776825, -0.2988422, 0.22649752, -0.06848238, -0.029648019, -0.063617565, -0.024357993, -0.113194376) * g_17; + result += mat4(-0.11811312, 0.011456743, -0.2775974, 4.4019973e-05, 0.09702063, -0.19398709, -0.13290964, -0.030809943, -0.0614852, -0.30568314, 0.22979493, 0.019983308, 0.14955766, -0.13779299, 0.20106222, 0.25381064) * g_18; + result += mat4(-0.04759845, 0.2240889, 0.25071913, 0.023906428, -0.084556535, -0.026651192, -0.078656286, 0.10334545, 0.1696217, 0.17458726, -0.053354427, -0.048202634, -0.104181975, -0.16721416, -0.12434673, -0.015573024) * g_19; + result += mat4(0.052810643, -0.110003166, 0.13987248, -0.26855007, -0.077974305, -0.051788885, 0.15868334, -0.25068295, -0.22068459, -0.04198552, -0.024428006, -0.00417208, -0.12136332, 0.1832669, -0.061507918, -0.12375168) * g_20; + result += mat4(-0.024210382, 0.08638061, -0.05814393, 0.061041117, 0.2061646, -0.037258796, -0.0017197772, 0.14881982, 0.18087907, 0.03670567, 0.1891443, -0.16923326, -0.17485145, -0.07395503, -0.058735035, 0.21229668) * g_21; + result += vec4(0.034866143, 0.034214873, -0.0020411036, 0.006542157); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x88 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!SAVE conv2d_21_tf2 +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_20 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.27361542, -0.082130425, 0.20547335, 0.16596498, -0.14146517, 0.18249078, 0.011518224, 0.11089219, -0.07630722, -0.054221917, -0.08349243, -0.028766789, -0.1906754, -0.108578265, 0.16413508, 0.13962057) * g_0; + result += mat4(-0.02704147, -0.05976295, -0.12531951, 0.28034255, -0.17998871, 0.21086335, -0.04899309, -0.06144566, 0.06704049, -0.20967261, -0.03849724, -0.1063394, -0.040219773, -0.278173, 0.17341371, -0.011255667) * g_1; + result += mat4(0.11230826, 0.022198819, -0.07899587, -0.0996965, -0.17873608, 0.13698925, -0.07870312, 0.1263333, 0.06711576, 0.07580918, 0.09481, 0.0825171, 0.11062839, -0.074613, 0.14020012, 0.2198393) * g_2; + result += mat4(0.0028868434, -0.14465499, 0.18715319, 0.04548598, -0.0548704, 0.026883353, 0.08329182, -0.013520626, 0.08103766, 0.15715094, 0.13981456, -0.045514885, 0.112214044, -0.086184554, 0.014993669, 0.025903665) * g_3; + result += mat4(0.12547491, -0.059728432, 0.17963155, -0.10817097, -0.100438006, -0.20602228, -0.15391783, 0.18270193, 0.08778924, -0.01655036, -0.18359496, -0.08576666, 0.109551124, 0.052976392, -0.16009195, 0.16581026) * g_4; + result += mat4(-0.14505734, -0.0042488463, 0.17690867, -0.065921634, 0.23016429, 0.025626905, 0.11722592, -0.23542455, 0.12642547, 0.2802526, -0.09389537, -0.15698028, -0.1603324, -0.06829095, 0.10116497, -0.13783391) * g_5; + result += mat4(0.15477929, -0.30527925, 0.15042041, 0.20866217, 0.13238567, -0.112839095, 0.15069273, -0.03174599, 0.24253696, 0.55339885, 0.033312403, -0.0016563814, 0.10960435, -0.0046957172, -0.24474236, -0.39900017) * g_6; + result += mat4(-0.13976818, 0.15527318, -0.27346796, -0.15548058, 0.06493512, 0.08048214, -0.136374, -0.08525939, 0.27204737, -0.1013713, 0.1346666, 0.045041572, -0.12573871, -0.02424908, -0.14287473, 0.01571419) * g_7; + result += mat4(-0.06758758, -0.20439683, -0.18058217, 0.0014974873, 0.04916309, 0.062314447, -0.2727905, 0.026782978, -0.005523231, 0.27266318, -0.16010733, -0.108470164, -0.15430328, -0.19484589, -0.3256893, -0.076337814) * g_8; + result += mat4(-0.046945795, 0.0489837, -0.37631997, -0.206914, -0.031842437, 0.03959601, 0.054311134, -0.27745926, -0.2616194, 0.015333021, 0.1562857, -0.09994365, 0.1625487, -0.22026569, -0.01425276, 0.11845421) * g_9; + result += mat4(-0.07944464, 0.038867, -0.29721326, -0.08270903, 0.03819214, -0.22673243, -0.019076617, -0.082782984, 0.15610558, 0.15448374, 0.08024717, -0.026800446, -0.2867148, 0.11126167, 0.21778513, 0.0803098) * g_10; + result += mat4(-0.16599156, 0.029314978, 0.06395618, 0.06147069, 0.3273304, -0.15791246, -0.18337882, 0.22403763, 0.0038289267, -0.11374167, 0.019104691, -0.03859104, 0.06862462, 0.08082749, -0.11613864, 0.03697278) * g_11; + result += mat4(0.007748403, 0.08750577, 0.07155799, -0.045760393, 0.055088032, 0.040909674, -0.21044537, -0.006774753, 0.041435767, -0.21444651, 0.11146028, -0.015305192, 0.1736952, 0.08569524, -0.11013171, 0.20451164) * g_12; + result += mat4(0.060957868, -0.030028345, -0.032370888, 0.009256305, 0.085932784, 0.07008612, -0.12535034, 0.02922682, 0.068161115, 0.10938504, 0.14336275, -0.15049717, -0.105244614, -0.06773861, 0.16236088, -0.10205375) * g_13; + result += mat4(0.22060202, 0.12885413, -0.06610741, -0.054895487, 0.27707383, -0.17114922, -0.17298199, -0.14735572, 0.121042944, 0.17805979, 0.24409181, -0.1536033, -0.2114284, 0.18976912, 0.19461404, -0.15320121) * g_14; + result += mat4(0.04362077, 0.067338824, 0.13164803, 0.088066556, -0.055310402, 0.006420305, -0.019129515, 0.104561836, -0.0177281, -0.05549579, -0.05083655, 0.118114345, -0.0325892, 0.14835551, 0.09986534, -0.1493018) * g_15; + result += mat4(0.13353525, -0.018843373, -0.38207877, -0.056904096, 0.0043200236, 0.33000615, -0.08322631, 0.16492364, -0.022802876, 0.011855873, -0.02483137, -0.0648857, 0.02270555, 0.009097881, -0.010122987, 0.12883057) * g_16; + result += mat4(0.12964436, -0.0793745, -0.1326546, -0.06956091, -0.21922931, 0.05091461, -0.27575865, 0.09199549, 0.09375192, 0.047268208, 0.05267489, 0.30156332, 0.14469145, -0.06455131, 0.087691374, 0.046157785) * g_17; + result += mat4(-0.21176293, -0.08989047, 0.03180079, 0.06659217, -0.1453242, 0.06772006, 0.017562179, -0.11958127, -0.034170456, 0.21188316, 0.117544524, 0.007319009, -0.09175878, 0.042179152, -0.15155235, 0.0072725313) * g_18; + result += mat4(0.27448505, 0.219317, -0.027090587, -0.110271394, 0.15367448, -0.22380124, -0.18359132, -0.07701026, 0.0387728, -0.20798631, -0.15410027, -0.13094926, 0.11535367, 0.16782966, 0.26729038, 0.06455724) * g_19; + result += mat4(-0.46956277, -0.2555739, -0.06807893, 0.15456976, -0.16843104, -0.18085335, -0.17501417, 0.3328664, 0.13444093, 0.20759131, -0.44945636, -0.28116164, -0.04072912, -0.097071156, 0.24616174, 0.192637) * g_20; + result += mat4(0.055160224, -0.09051332, -0.23766883, -0.029569078, -0.008335112, 0.14387378, 0.25602153, 0.039339148, 0.006418962, -0.1502487, 0.1705312, -0.020727253, 0.087699726, -0.058968496, 0.35786387, -0.30345708) * g_21; + result += vec4(0.01591211, -0.027196284, -0.033567958, 6.241704e-05); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x24 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!SAVE conv2d_22_tf +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.031316917, 0.055358253, -0.059691224, -0.058461506, 0.077250145, -0.07364057, -0.10518189, 0.112195216, 0.03121863, 0.072129, -0.116529875, -0.02127299, -0.0747185, 0.05839623, 0.09422041, -0.021784699) * go_0(-1.0, -1.0); + result += mat4(0.25166854, -0.008625688, -0.04425555, -0.091405906, -0.023770982, 0.016987871, 0.041109882, 0.120431535, 0.18311475, -0.054788496, 0.007988929, -0.016128276, -0.09077874, -0.051521078, -0.004544904, -0.024871618) * go_0(-1.0, 0.0); + result += mat4(-0.13663131, 0.16812679, 0.0006700389, 0.06922647, -0.016814431, -0.08860312, -0.079845324, 0.06357931, -0.0596218, -0.095261894, -0.037728492, 0.11741466, 0.0019240101, 0.027670836, 0.000890017, -0.16907042) * go_0(-1.0, 1.0); + result += mat4(-0.21833417, 0.061925672, -0.18782657, -0.19532952, -0.00912622, 0.14018449, -0.10945325, -0.02950384, -0.16849437, -0.0076949564, 0.100851074, -0.082224175, 0.12784874, -0.17894457, 0.05620182, 0.035290208) * go_0(0.0, -1.0); + result += mat4(-0.05108994, 0.109306075, 0.14979306, 0.16477607, 0.16004218, -0.14184445, -0.30903235, 0.27424207, -0.07285219, -0.16365135, 0.34021953, -0.23102704, 0.11835473, -0.25337514, 0.0052347463, 0.10160299) * go_0(0.0, 0.0); + result += mat4(-0.16926225, -0.013712374, -0.18937722, -0.10156829, -0.009109288, -0.043202236, -0.0327246, 0.107926905, -0.08266265, -0.019426635, 0.060156412, 0.04271223, 0.0038364576, -0.045978215, -0.06626878, -0.04433795) * go_0(0.0, 1.0); + result += mat4(-0.04918198, -0.10372164, -0.0039985343, -0.020138506, 0.10314664, -0.054435257, -0.059677728, -0.020854775, 0.045955054, -0.15811364, 0.0070372946, 0.10885263, 0.051628623, 0.14220117, 0.106984384, -0.06612432) * go_0(1.0, -1.0); + result += mat4(0.13287504, -0.115076, -0.15511775, -0.09540606, 0.15684459, -0.1370648, -0.15184137, -0.0039252765, -0.14576407, 0.093048885, 0.18031888, -0.14460911, -0.15849206, 0.1972077, 0.11407181, -0.018500103) * go_0(1.0, 0.0); + result += mat4(-0.04217163, -0.025539394, 0.06704235, 0.076216355, 0.18605524, -0.1370854, -0.10180904, 0.011179888, -0.09474736, 0.0034552328, 0.04530927, 0.089433156, -0.16656926, 0.13428316, -0.015525457, -0.104443006) * go_0(1.0, 1.0); + result += mat4(0.02413726, 0.04394302, -0.028785303, 0.022377724, -0.123303704, -0.10872632, -0.053274784, -0.083956674, -0.16501826, 0.19426544, -0.11229554, 0.024616906, 0.0653296, -0.13529897, -0.13195585, 0.11819911) * go_1(-1.0, -1.0); + result += mat4(0.040253572, 0.01010995, 0.010347668, -0.28872684, -0.037531905, 0.07847681, 0.12006034, -0.09047226, -0.06932386, -0.06724459, 0.061352998, 0.18294126, -0.10063913, -0.12972213, -0.076570146, 0.23981462) * go_1(-1.0, 0.0); + result += mat4(0.042499546, 0.031286567, 0.026158767, -0.06068849, 0.099651836, -0.09539429, -0.110728405, 0.0760506, -0.010541737, 0.082582936, 0.046757225, -0.103296146, 0.004013901, -0.1014948, -0.1685043, -0.035571042) * go_1(-1.0, 1.0); + result += mat4(0.022223305, -0.061652564, 0.056427244, -0.09028095, -0.16896683, 0.041667704, -0.14397033, -0.08130564, 0.115296, -0.024847167, 0.0058116, 0.15893951, -0.2738465, 0.042260613, -0.117963664, -0.16502824) * go_1(0.0, -1.0); + result += mat4(0.04814996, -0.035689, 0.025145225, 0.10137466, -0.19973788, 0.024747686, -0.15837969, 0.10456767, 0.22748837, -0.1904696, -0.032640085, 0.08598887, 0.094741136, 0.11022798, 0.0002977174, -0.17315625) * go_1(0.0, 0.0); + result += mat4(0.040722214, -0.16523767, 0.029437022, 0.02843903, -0.03970792, 0.16811173, 0.026779372, -0.049595866, -0.09061197, 0.08569013, -0.025070464, -0.09025825, 0.06887124, -0.16063505, 0.016551314, 0.1326577) * go_1(0.0, 1.0); + result += mat4(0.0032056272, -0.059174597, -0.031335425, -0.046658054, 0.09825097, -0.09559033, -0.13008277, 0.046893913, 0.12513055, 0.025147412, 0.21053335, -0.012531429, 0.0062698903, -0.22287934, -0.11374548, -0.025798466) * go_1(1.0, -1.0); + result += mat4(0.12628217, 0.00018834685, 0.079633944, 0.009799097, 0.04411112, -0.14502676, -0.0783995, -0.052239668, -0.029784216, -0.06674819, 0.014998281, -0.019396728, 0.0056628133, 0.09424033, 0.08938559, -0.09192038) * go_1(1.0, 0.0); + result += mat4(-0.08482142, 0.01968406, 0.12547927, 0.0031358562, -0.079086006, -0.1962375, -0.11982329, 0.008725796, 0.04062859, -0.0076902336, -0.070755616, -0.046958208, -0.13330258, 0.019709444, 0.07424033, -0.10704354) * go_1(1.0, 1.0); + result += mat4(-0.0726743, 0.016794393, 0.1326206, 0.0085637225, 0.047887824, 0.22520815, 0.009255687, -0.08072321, 0.078593105, -0.12484226, -0.20670934, 0.24915585, -0.13554399, -0.20776859, 0.055789966, 0.0427338) * go_2(-1.0, -1.0); + result += mat4(-0.1327555, -0.20873688, 0.17099003, 0.14251556, -0.008884553, 0.09596802, -0.047991227, -0.10255803, -0.059658058, 0.08851393, -0.24644794, 0.08961623, -0.20254774, 0.0027665214, 0.014628907, 0.18626846) * go_2(-1.0, 0.0); + result += mat4(0.042417303, 0.123508334, -0.13196877, -0.08144321, -0.089141674, -0.03184074, 0.08510928, -0.08890633, -0.032581408, -0.09855755, -0.20814818, 0.07401967, -0.06562728, -0.1093993, 0.046248462, -0.22533655) * go_2(-1.0, 1.0); + result += mat4(-0.2325245, -0.15549012, -0.049078442, -0.026926108, -0.13648824, 0.030876573, -0.22113933, 0.009498426, 0.15341131, 0.09483785, -0.26695177, 0.13678575, -0.08784451, 0.07720089, 0.14846897, -0.27349517) * go_2(0.0, -1.0); + result += mat4(-0.10061963, 0.036637623, 0.16528973, 0.22039798, -0.11590498, -0.043130502, 0.24396291, -0.022675464, 0.20230116, 0.06387496, 0.16946751, 0.05934715, 0.115272254, -0.014139645, 0.12694168, 0.20699124) * go_2(0.0, 0.0); + result += mat4(-0.025382666, -0.18561147, 0.09778576, -0.06534745, -0.16456783, -0.05287837, -0.07822378, 0.12268287, 0.31948078, 0.09489003, -0.085089676, -0.10850915, 0.01368474, 0.02013271, 0.06625116, -0.087387055) * go_2(0.0, 1.0); + result += mat4(-0.089555725, 0.059100505, 0.005319662, -0.09245959, 0.08520457, 0.052162867, -0.15606946, -0.08597345, 0.11222487, 0.1490915, -0.12664682, -0.024624687, 0.025410015, -0.23502131, 0.05423758, -0.013779449) * go_2(1.0, -1.0); + result += mat4(0.019360267, 0.053673334, 0.09964559, 0.09418452, 0.16046648, 0.18196031, -0.02892911, 0.030112473, 0.2265571, 0.25671738, -0.12887779, 0.071995094, -0.026335748, 0.0055704936, 0.073666155, 0.038696487) * go_2(1.0, 0.0); + result += mat4(-0.21537472, 0.0039957003, 0.11367757, 0.12847088, -0.0316418, -0.031137334, 0.0388792, 0.04074573, 0.0008135187, -0.07565012, 0.007960915, 0.12286165, -0.2160576, 0.1157934, -0.024741393, -0.05249619) * go_2(1.0, 1.0); + result += mat4(0.11482547, -0.06704897, 0.08984799, 0.11604779, 0.007870084, 0.18740594, 0.030316649, 0.05281012, -0.07633286, -0.017784607, -0.06491812, 0.1883724, -0.090130515, 0.076494336, -0.05229608, -0.017145146) * go_3(-1.0, -1.0); + result += mat4(-0.02724162, 0.04343736, -0.14983661, 0.04529306, -0.0530941, 0.3585206, -0.12962782, 0.19270414, -0.12522137, 0.098893546, 0.12003933, -0.26596075, -0.042230368, -0.18507534, 0.028228233, 0.10164971) * go_3(-1.0, 0.0); + result += mat4(-0.008910258, -0.06709946, 0.021396104, -0.063704215, -0.14500582, 0.11283557, -0.03203624, 0.13098063, 0.05550978, 0.11646853, 0.0033793827, 0.043268356, 0.0038723578, -0.036042333, -0.010387592, -0.10592774) * go_3(-1.0, 1.0); + result += mat4(0.17740269, 0.030029152, 0.14428648, -0.008383262, -0.04784034, 0.030878028, -0.08498646, 0.1554172, 0.26086214, -0.15676983, -0.20969455, 0.1663833, 0.26925182, 0.19262621, -0.109978184, -0.025719997) * go_3(0.0, -1.0); + result += mat4(0.052129734, 0.05429712, -0.2612653, -0.0116027435, 0.03902767, 0.06572257, -0.12309975, -0.09354552, -0.030087318, 0.034715295, 0.026238892, -0.114287496, -0.14456746, 0.3077932, 0.08505123, -0.23568068) * go_3(0.0, 0.0); + result += mat4(0.026248954, 0.04342331, 0.06469738, 0.13034233, 0.101745486, -0.101457745, -0.10393351, 0.1897209, -0.082242265, -0.118752226, 0.10310823, 0.09471486, -0.06821482, 0.12854955, -0.024803007, -0.11299552) * go_3(0.0, 1.0); + result += mat4(0.0015938855, -0.036448684, -0.09952072, -0.04816277, -0.0125188865, 0.045270916, -0.05308358, -0.11208837, -0.012225314, 0.14685513, -0.06671965, -0.08157342, -0.005418967, -0.19780649, -0.14013553, -0.017747555) * go_3(1.0, -1.0); + result += mat4(0.021970674, 0.052635167, 0.0065296288, 0.20368727, 0.27736542, 0.06792544, -0.048659563, 0.15651211, -0.006997429, 0.071756855, -0.086019404, -0.16638358, -0.042769007, 0.1964747, -0.12206784, 0.015088922) * go_3(1.0, 0.0); + result += mat4(-0.07219877, 0.16996285, 0.026215157, 0.06458364, 0.1807283, 0.030117897, -0.077016085, 0.27835876, -0.1640463, -0.16446309, 0.075324625, -0.14967552, -0.13331027, 0.09998406, -0.044504005, 0.011792608) * go_3(1.0, 1.0); + result += mat4(0.049299285, -0.15224954, 0.016829029, -0.2107016, -0.046318967, 0.07213664, 0.2330576, 0.07486253, 0.08777096, 0.10943015, 0.028446004, 0.050621547, -0.14293596, -0.038319986, 0.08490357, 0.06641438) * go_4(-1.0, -1.0); + result += mat4(0.13142867, -0.04241908, 0.1822789, -0.07854039, -0.13797145, 0.066803694, 0.02247845, -0.13906519, 0.04984245, -0.18625471, -0.20272128, -0.28476176, -0.058039606, -0.18360521, 0.09687105, 0.018828757) * go_4(-1.0, 0.0); + result += mat4(-0.16784632, -0.06145757, -0.055866536, 0.011348464, 0.13568886, -0.07582401, 0.026461827, 0.11732485, 0.23222442, -0.06859946, 0.07079616, -0.08028384, -0.09886033, 0.16983582, 0.08413449, -0.121099345) * go_4(-1.0, 1.0); + result += mat4(-0.28284705, 0.024767123, 0.20576967, -0.4978678, 0.075958885, -0.10133812, 0.038184177, 0.13781957, 0.18831879, -0.15269713, 0.057505332, -0.13640139, 0.08916083, 0.0699946, -0.060844768, -0.014270356) * go_4(0.0, -1.0); + result += mat4(-0.23525201, 0.18978925, 0.088951595, -0.06914491, 0.1528044, -0.026248025, 0.17158231, -0.13070598, 0.09750263, -0.09294438, 0.051349573, 0.11587769, 0.0155769205, -0.18000023, -0.0003776821, 0.19002606) * go_4(0.0, 0.0); + result += mat4(0.047854267, 0.09143093, 0.052313805, 0.2391469, 0.11455435, 0.12660562, 0.19646555, -0.09760176, 0.19417326, 0.009909135, -0.05288948, -0.17419948, -0.041569944, 0.02919045, 0.15562747, -0.17877397) * go_4(0.0, 1.0); + result += mat4(-0.06796333, 0.12729923, 0.11317857, 0.0015406283, -0.07694605, 0.19436257, 0.1654557, -0.06629621, -0.07756138, 0.011961589, -0.06775192, -0.1626003, 0.11971597, 0.037453942, 0.04487742, 0.0043538823) * go_4(1.0, -1.0); + result += mat4(-0.2932746, -0.1809002, 0.034019336, -0.027657146, 0.123765245, -0.016828476, 0.019045379, 0.057645924, 0.10630708, -0.0501721, -0.023064025, 0.10537342, 0.22191636, -0.17226441, 0.107975595, -0.085091874) * go_4(1.0, 0.0); + result += mat4(0.23682559, -0.1539297, -0.021399427, 0.03696311, -0.016845006, -0.1470282, 0.15760666, -0.08606362, -0.08767031, 0.10511046, -0.0016947712, -0.085582115, 0.25379023, -0.16707833, 0.021698073, 0.084808946) * go_4(1.0, 1.0); + result += mat4(-0.035465956, -0.12231401, 0.0012244973, -0.085085034, -0.11690235, 0.10113623, -0.008192939, -0.03407758, 0.15522347, -0.0066894926, 0.14404987, -0.05126941, 0.22453183, -0.1873154, 0.061736204, -0.20466337) * go_5(-1.0, -1.0); + result += mat4(-0.097998515, -0.043527473, 0.14050394, 0.088333085, 0.048787523, -0.1539165, -0.15570241, 0.043640707, 0.126556, 0.14527045, -0.039885264, 0.06996844, 0.22064541, -0.028108185, -0.03281, -0.16324279) * go_5(-1.0, 0.0); + result += mat4(0.073120564, -0.1891726, 0.07063325, 0.062421504, -0.13767453, -0.13034251, -0.009543011, 0.18065831, 0.10094918, 0.03626179, -0.019968862, -0.06167735, 0.12796699, 0.033228975, -0.04698753, 0.07353928) * go_5(-1.0, 1.0); + result += mat4(-0.11506799, 0.29229516, 0.0052742194, -0.13735871, 0.14876513, -0.119496346, 0.08121958, 0.013827838, 0.11419154, 0.14505816, 0.2398584, 0.0065053343, -0.013405139, 0.16274847, 0.12519057, -0.032919746) * go_5(0.0, -1.0); + result += mat4(0.025276287, -0.26041627, 0.035208203, -0.0063892705, 0.28808814, -0.16364133, 0.029798066, -0.08123619, -0.09107237, -0.075676076, -0.09543362, 0.25521338, -0.15578145, 0.28374904, 0.12906694, -0.20701703) * go_5(0.0, 0.0); + result += mat4(0.0056150462, 0.14710209, 0.15482463, -0.14352167, -0.09956302, 0.23498844, -0.08980836, -0.25655353, 0.10541379, 0.2272969, -0.1983986, -0.03758488, -0.051088374, -0.009599584, -0.024446761, 0.14956763) * go_5(0.0, 1.0); + result += mat4(0.10804217, -0.09008922, -0.056697227, 0.054219972, -0.11262774, -0.04436177, 0.023657754, 0.04683233, -0.053896014, -0.04415657, 0.03503888, 0.01594262, 0.14296247, 0.012207454, -0.007110091, -0.10440715) * go_5(1.0, -1.0); + result += mat4(0.11242054, -0.36215845, -0.067844905, -0.112087294, 0.031834792, -0.02632766, -0.048991356, -0.08337759, -0.18798992, -0.058804397, -0.03797642, 0.03431596, -0.22444338, 0.22153437, 0.03792731, -0.061027475) * go_5(1.0, 0.0); + result += mat4(-0.2296771, -0.03690635, 0.029593892, -0.1316428, -0.0015457191, -0.023119774, -0.087284, 0.0779484, 0.013689198, 0.06545557, -0.08265829, 0.008496508, 0.017779253, -0.089485206, 0.0856277, -0.042287562) * go_5(1.0, 1.0); + result += vec4(-0.020976502, 0.028490033, 0.0031703995, -0.062209535); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x96 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!SAVE conv0ups +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_20 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_22 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.084550284, 0.28695974, -0.18845658, 0.036873333, -0.03702915, 0.20106933, -0.013779231, -0.09064196, 0.2650543, -0.23769681, -0.025090849, 0.112004876, 0.02858812, -0.33468688, 0.015218963, -0.009193985) * g_0; + result += mat4(0.019986125, 0.03711447, -0.072495684, -0.18489611, 0.10276208, 0.22991183, 0.024009978, -0.11783073, -0.19585772, 0.13150191, 0.08316458, -0.074719064, 0.10288155, -0.39512005, -0.14987002, 0.0050115753) * g_1; + result += mat4(0.022747586, 0.00711762, -0.19764912, 0.02849651, 0.034982137, -0.15019011, -0.23275712, 0.015071641, -0.12003277, 0.07394686, 0.0016380423, -0.07764185, -0.027983893, -0.11473845, -0.076731786, 0.17937833) * g_2; + result += mat4(-0.13547164, 0.014350364, -0.0680784, 0.015241785, -0.019645115, 0.1367833, 0.018514454, 0.061408024, 0.05381124, 0.008636759, -0.05929157, -0.045654505, 0.29703617, -0.14939637, 0.017480306, 0.03320388) * g_3; + result += mat4(0.16749536, -0.5068873, -0.054959137, 0.5028366, -0.22012903, -0.18610893, 0.03606436, 0.16536428, -0.18980072, -0.035605285, 0.22413859, -0.05201868, 0.032878175, 0.14102045, 0.09135491, 0.028493756) * g_4; + result += mat4(-0.08715977, -0.0069041327, 0.13424577, -0.15170926, -0.12459944, 0.139362, 0.23367397, 0.06992671, 0.10383856, 0.12649116, -0.10238732, 0.022956299, 0.10903374, -0.1060183, 0.0012752792, 0.09608246) * g_5; + result += mat4(0.07170078, 0.097870566, 0.18391322, 0.16910231, -0.1267208, 0.261178, 0.049107287, 0.032856256, 0.04621799, 0.14521311, 0.30777922, 0.07517666, 0.13072045, -0.07817935, -0.0057332893, 0.042636685) * g_6; + result += mat4(-0.14621416, -0.24651968, 0.12061317, -0.05200859, 0.014879963, -0.1331666, -0.21076989, 0.047090866, 0.108966425, -0.1072571, -0.04034989, 0.17689784, -0.30637997, 0.1334576, -0.09599567, -0.16958676) * g_7; + result += mat4(-0.15277179, 0.3040327, 0.33014333, 0.09105886, 0.0946242, 0.06878733, -0.022571186, 0.012422955, -0.014575288, -0.014345794, 0.13639238, -0.2948898, -0.09921163, -0.090119295, 0.43447036, -0.1519424) * g_8; + result += mat4(0.055695374, -0.018237038, -0.03149495, -0.26079783, -0.13239612, 0.08098567, 0.010524064, 0.2580244, 0.019125992, -0.11228541, 0.2497276, -0.1600721, 0.04776844, 0.074449435, -0.2169092, 0.22888823) * g_9; + result += mat4(0.1993489, 0.16312787, 0.17672649, 0.06839388, -0.12656055, 0.2534753, -0.22719325, -0.15975192, 0.18121919, -0.02482891, -0.1758899, -0.06285482, -0.062030714, -0.030519357, 0.08887617, 0.033442013) * g_10; + result += mat4(0.09227225, -0.22740443, -0.011862239, 0.10482141, 0.015177834, 0.15367627, 0.15005216, 0.282921, -0.09772425, 0.10730146, -0.06640197, 0.07101983, 0.14829135, 0.083728194, -0.0743765, -0.09980271) * g_11; + result += mat4(0.085638225, -0.1827499, 0.06827563, 0.019491995, -0.0011983203, 0.022348093, 0.10796647, -0.07942398, 0.13093562, -0.08755021, -0.01282162, -0.12193386, -0.07074474, 0.025357427, 0.09938728, -0.14343725) * g_12; + result += mat4(0.015263603, 0.07848516, 0.06398182, -0.1281127, 0.011302997, -0.1424875, 0.03465649, 0.05781734, -0.019214824, 0.07257173, -0.19007434, -0.013839539, -0.088996276, -0.06987128, -0.14060202, 0.07935333) * g_13; + result += mat4(0.089654885, 0.18821386, -0.10908745, -0.1945955, 0.28777096, -0.27091888, -0.117128626, 0.13311313, -0.15800829, -0.031426586, -0.09576625, -0.045514874, -0.05638241, 0.22475603, 0.19451538, 0.06693039) * g_14; + result += mat4(0.108449794, 0.03863312, 0.09138021, 0.024396805, -0.20986842, 0.09761748, 0.08867459, -0.15282214, -0.08067849, -0.016950522, 0.26711652, 0.085504845, 0.060858846, 0.01342649, 0.075316414, -0.024188342) * g_15; + result += mat4(0.0010497145, -0.1259321, 0.057801772, -0.035549402, -0.11513258, -0.018429652, -0.10117708, 0.11573959, 0.1427766, -0.032213476, -0.01586306, 0.017653462, -0.041694127, 0.1393299, 0.14011054, -0.038647145) * g_16; + result += mat4(-0.22414106, -0.13671458, -0.07397391, -0.09691265, -0.110350996, 0.061211936, 0.19481628, -0.06409933, 0.136633, -0.04669014, 0.058727175, 0.043561198, 0.07559326, -0.0040795025, 0.087900914, -0.020880874) * g_17; + result += mat4(0.02741521, -0.07276462, 0.15752992, 0.061364397, 0.07611034, 0.32745734, -0.16256663, -0.15516974, 0.04587384, -0.10178523, 0.09862578, 0.086561374, 0.2331702, -0.16688296, -0.07780254, 0.079894625) * g_18; + result += mat4(-0.012604072, 0.14701019, -0.1202553, 0.0007438331, 0.09805167, -0.12829433, 0.10536026, 0.044031054, -0.01909643, 0.08925314, -0.029631758, -0.0843997, -0.098011285, 0.2326875, -0.0059059164, 0.054862864) * g_19; + result += mat4(-0.26984945, 0.21170485, 0.016418483, 0.05436341, -0.13604105, -0.015747178, 0.21282208, -0.084069654, -0.1519696, 0.07782159, -0.0767402, 0.049681228, -0.17597915, -0.033314597, 0.19277339, -0.15969992) * g_20; + result += mat4(0.011572451, -0.040921126, 0.06736629, -0.05296152, 0.0750723, 0.15619396, -0.33569458, -0.045480207, 0.052975655, -0.019853046, -0.1586733, -0.0971954, 0.12981664, -0.23612434, -0.065897234, 0.09027556) * g_21; + result += mat4(0.2591393, -0.21753159, 0.012262199, 0.17810525, 0.0437195, 0.13112774, -0.27936146, 0.16000053, 0.16150814, 0.0060378034, 0.011343986, 0.0711386, 0.10716892, -0.018265475, 0.117098734, -0.042729706) * g_22; + result += mat4(-0.12928756, 0.13401757, -0.28467083, -0.09971548, -0.02296809, -0.124093436, 0.17238498, -0.07679452, 0.020145075, -0.1027165, -0.100577906, -0.022585977, -0.14362176, -0.3100744, -0.030349141, 0.08573548) * g_23; + result += vec4(0.04458631, 0.05340509, 0.02098219, -0.060097195); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x96 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!SAVE conv0ups1 +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_20 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_22 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.19633518, 0.06885309, -0.20043527, 0.035509795, -0.10401743, -0.21588884, -0.102477305, 0.011876971, -0.056948267, 0.25264382, -0.15101993, -0.15266001, 0.010933664, 0.09011232, 0.09345315, 0.006623116) * g_0; + result += mat4(0.27567336, 0.032350313, -0.19810209, -0.21658543, -0.0659062, -0.3352386, 0.07164577, -0.012328946, -0.17325617, -0.10731732, -0.0677151, -0.09058453, -0.044920623, 0.13278453, 0.218302, 0.06825565) * g_1; + result += mat4(0.028230175, 0.0018616526, -0.21906042, -0.07338764, -0.023010844, -0.014972394, -0.020508962, 0.058636636, 0.12617883, -0.19870517, 0.11696488, 0.065536946, -0.03026256, 0.023291413, 0.14201568, 0.06143288) * g_2; + result += mat4(0.025846066, -0.090636976, -0.07404494, -0.090020634, 0.008514354, 0.109184064, 0.05742023, 0.12586315, 0.083378665, -0.13951068, 0.045261055, 0.345901, 0.02675545, 0.095778815, 0.076500334, 0.14780305) * g_3; + result += mat4(0.00470463, 0.018870084, -0.32943425, 0.16893233, 0.019939557, 0.21623498, -0.18504573, 0.10291846, 0.091479525, -0.16171393, -0.07914371, -0.12615843, 0.06589903, 0.15675966, -0.10883045, 0.02186343) * g_4; + result += mat4(0.20796785, 0.009986704, 0.057757147, 0.030481182, -0.0036845834, -0.11120154, 0.15609682, -0.038438197, 0.12596935, -0.06617715, -0.109660454, -0.07545557, 0.046646334, 0.08662475, -0.14833032, -0.13950638) * g_5; + result += mat4(-0.060464397, -0.012758383, 0.02772358, -0.11097607, 0.046997264, -0.124745354, -0.24724343, -0.23114161, -0.09586756, -0.04930659, 0.2014008, 0.31652108, 0.074047916, -0.11001771, 0.019132676, 0.08412601) * g_6; + result += mat4(0.050371062, 0.08204854, 0.039742008, 0.076570585, 0.05938661, -0.06386326, 0.09085278, 0.076653615, -0.07528917, 0.09379596, 0.021202901, 0.0059685786, 0.34758928, -0.26862696, -0.124089494, -0.13643466) * g_7; + result += mat4(0.32158887, -0.34527287, 0.25377008, -0.13895594, 0.0054988973, -0.24181193, -0.40868145, -0.0022963625, -0.06266895, 0.0030860363, -0.020924645, -0.18905482, 0.141399, 0.008508758, 0.115678936, -0.43306655) * g_8; + result += mat4(0.057700455, 0.17643234, -0.09683699, 0.0057190154, 0.07252213, 0.15004468, 0.37618238, 0.13903357, 0.218705, -0.060630042, 0.11694831, -0.00048630088, -0.0134587595, 0.076368295, -0.1325984, -0.10201561) * g_9; + result += mat4(0.012976455, -0.29424316, -0.14308581, 0.049230546, -0.07200477, -0.13733308, 0.25564528, 0.08696407, 0.14173195, -0.4262995, 0.20581593, 0.22764574, -0.23969811, -0.021570327, 0.07481749, 0.1941362) * g_10; + result += mat4(-0.17857735, 0.112538725, 0.19362856, -0.06760973, 0.06499711, -0.005863579, -0.30760095, 0.05362555, -0.08302696, 0.021682503, -0.09627604, -0.00945931, -0.07492733, -0.02935675, -0.10610068, -0.09772539) * g_11; + result += mat4(0.06233666, 0.0509348, 0.006487371, -0.006774608, -0.04553992, 0.03091619, -0.023414508, 0.06836573, 0.072267964, -0.011354451, -0.0025099765, -0.23190095, -0.20676394, -0.061777104, 0.013524417, 0.21478185) * g_12; + result += mat4(-0.008408447, 0.05689985, 0.16880135, 0.11134194, 0.0058967494, 0.28136337, 0.11531701, -0.15612614, 0.13670067, 0.06262395, -0.0943045, -0.0937771, -0.105943695, -0.13124335, -0.13190243, -0.0259559) * g_13; + result += mat4(0.13609879, 0.1420789, -0.0102266455, 0.027917469, 0.18166769, -0.04157506, -0.17849353, -0.10579488, -0.016188206, -0.09247544, 0.115879655, -0.005531635, 0.123433806, -0.0477944, -0.118518375, -0.21525477) * g_14; + result += mat4(0.09320673, 0.024231741, 0.14889163, -0.16015185, -0.051729757, -0.07560833, 0.032730922, 0.01543164, 0.007215127, 0.096069746, -0.13138555, -0.08324462, -0.14087589, -0.13676994, 0.040817242, 0.19880508) * g_15; + result += mat4(0.08556744, 0.11995626, -0.12598105, 0.07094707, -0.030116409, -0.13692346, -0.10617047, 0.1170125, 0.0635618, 0.015630903, 0.033283047, 0.027908718, -0.16022116, 0.05379484, 0.1643671, 0.08461423) * g_16; + result += mat4(0.027346484, -0.04373988, 0.14366151, 0.021193424, -0.020020869, 0.08702033, 0.067230165, -0.13468166, -0.06336041, 0.19826981, 0.09957918, 0.0019007461, 0.11597447, -0.11684592, -0.052715372, 0.009431231) * g_17; + result += mat4(0.1160723, 0.13518505, -0.07323529, -0.102813244, -0.05717617, 0.22344513, -0.09574202, 0.030326243, -0.11634749, -0.09885759, -0.0041502435, -0.114238635, 0.05903762, -0.042631276, 0.07528514, 0.018450156) * g_18; + result += mat4(-0.080062985, 0.12060534, 0.108948626, 0.2663645, 0.015359482, -0.18093999, 0.02191666, -0.019032517, 0.082503706, 0.0037899283, 0.0038726546, 0.06054277, 0.034015723, 0.07618506, -0.025927188, -0.10678223) * g_19; + result += mat4(0.00035550856, -0.20764709, 0.013300498, -0.35849246, 0.12688975, -0.11437089, -0.02337497, -0.21238862, 0.46495908, -0.11521313, 0.049601704, 0.14637932, -0.25788313, -0.17036532, -0.020144291, -0.0016756164) * g_20; + result += mat4(0.14395922, 0.029118493, -0.08014281, 0.094050094, -0.062834464, -0.025796665, 0.15015388, 0.28717938, -0.2570273, 0.10900227, -0.15873776, 0.13343036, 0.2544096, 0.32181814, -0.15404758, -0.22983788) * g_21; + result += mat4(0.048919182, 0.26769882, 0.04733999, -0.016210597, 0.2571225, -0.19034678, -0.16507657, -0.033483442, 0.25795573, 0.09645708, -0.1332106, 0.077412024, -0.030721905, -0.19939502, 0.041621, -0.04823887) * g_22; + result += mat4(0.3016378, -0.26046696, -0.10701948, -0.0042546196, -0.24555147, 0.10042819, 0.11718351, 0.13214561, 0.016662005, 0.15979412, 0.033659726, 0.06328732, 0.08410991, 0.17246136, 0.019442663, -0.08638967) * g_23; + result += vec4(-0.017773768, 0.0060332157, 0.0007953922, -0.012296271); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x96 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!SAVE conv0ups2 +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_20 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_22 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.29116806, 0.0051992643, -0.06692716, 0.28666902, -0.10336563, -0.19727555, 0.11084616, 0.025079565, 0.20502086, 0.0099646095, 0.009126803, 0.17547005, 0.058746554, 0.30771896, -0.0902547, 0.028172184) * g_0; + result += mat4(-0.28205237, -0.036779154, 0.17233336, -0.13251382, 0.07100408, -0.051303998, 0.012103571, -0.121839024, -0.14955266, -0.011649629, 0.08549354, 0.18840949, -0.022462592, 0.021153163, 0.08049452, -0.15091342) * g_1; + result += mat4(-0.2800372, 0.0042544575, -0.22374953, 0.201632, 0.22182395, 0.3408344, 0.03178537, -0.15618719, 0.0068062274, 0.14605409, 0.09106621, 0.05914199, 0.19480406, 0.044590045, -0.13806386, -0.14847448) * g_2; + result += mat4(0.1505132, -0.027588725, 0.04962834, -0.11202418, 0.00049648335, -0.010397765, -0.08091891, -0.01213487, -0.24162677, -0.08179791, -0.037871603, 0.014869897, 0.21078886, -0.10133107, -0.11659543, 0.017790101) * g_3; + result += mat4(0.41658482, -0.040856514, -0.054670364, -0.24993257, -0.007376621, -0.100203015, -0.19632444, 0.16588823, 0.11921404, 0.13566074, 0.1355261, 0.18513525, -0.03692965, 0.019232113, 0.021070294, -0.09910185) * g_4; + result += mat4(-0.11130964, 0.068555534, -0.022549039, 0.20459346, 0.08735778, -0.2480742, 0.26074892, -0.06515858, -0.15426315, -0.20087741, 0.066354685, 0.16262609, 0.094984494, -0.09765662, 0.17054209, -0.25639787) * g_5; + result += mat4(-0.088716365, -0.15923837, 0.07887449, 0.029613947, -0.07766362, 0.20016782, 0.07279328, 0.1514442, -0.051125146, 0.008917033, 0.15708658, 0.24593906, 0.1713729, 0.22876453, -0.06126321, 0.080008015) * g_6; + result += mat4(0.10178238, 0.17811838, 0.14818382, 0.17277409, 0.120473444, -0.1943933, -0.07498233, -0.11512788, -0.06924987, 0.04548284, -0.008307158, 0.017101327, -0.038810693, -0.12316993, -0.34380746, 0.053759247) * g_7; + result += mat4(-0.046007603, 0.26564816, -0.06891516, 3.1265055e-05, 0.061298724, 0.1925087, -0.15881963, 0.06479692, -0.1409332, 0.12286923, -0.053091913, -0.07207155, -0.11055874, 0.21104714, 0.094566196, 0.23457485) * g_8; + result += mat4(-0.10533191, 0.09174932, -0.19229935, -0.26465586, 0.024089642, -0.353841, 0.032621946, 0.1661062, -0.091028884, 0.026411142, 0.23693994, 0.08054671, 0.13986488, -0.20758727, -0.15448147, -0.03494388) * g_9; + result += mat4(-0.17668007, -0.02661902, 0.270635, 0.06442596, 0.053869188, -0.0075128167, -0.12906162, 0.1310764, -0.05808231, 0.14813021, -0.061848663, 0.16322616, 0.16354714, -0.1766021, 0.034994338, -0.365292) * g_10; + result += mat4(0.2769774, 0.0903162, -0.153144, -0.0714264, -0.15604417, -0.02184839, -0.14195657, -0.0299081, 0.030514874, -0.13219188, 0.07739793, -0.094843924, -0.15415892, 0.08821149, -0.09969291, 0.11553133) * g_11; + result += mat4(-0.024756059, 0.02924473, -0.11059422, -0.23357926, -0.14310671, -0.039102048, -0.14977954, 0.15673035, -0.2435825, -0.05197057, -0.075606585, -0.014227886, -0.15609197, 0.033796865, -0.11727036, 0.21573412) * g_12; + result += mat4(-0.0034791795, -0.015750842, 0.21795836, 0.06755854, 0.21003358, 0.18348697, 0.007344055, 0.007894167, -0.031829726, -0.13820398, -0.024139944, -0.06376093, 0.16212739, -0.14601658, 0.011433787, -0.21962811) * g_13; + result += mat4(-0.19470121, 0.07634093, 0.084294625, -0.1930676, -0.04052925, -0.07640723, 0.048489477, -0.067031436, 0.018694758, -0.051234454, -0.09647271, -0.05313391, -0.033016447, -0.30730128, 0.05531499, 0.24194908) * g_14; + result += mat4(0.11188614, -0.0942737, 0.045266267, 0.02038586, 0.09011196, 0.15573163, -0.066437334, 0.09889085, -0.080061264, 0.037342984, 0.16573298, 0.12220635, -0.026486188, 0.25633007, 0.11129816, -0.2026236) * g_15; + result += mat4(0.04242307, 0.112535976, -0.19269057, -0.23816746, -0.052621387, 0.0633971, -0.19528675, -0.042162407, 0.199502, 0.05493077, -0.088709444, 0.08472976, 0.054185133, 0.06422858, -0.039366808, -0.18133119) * g_16; + result += mat4(-0.0053883283, 0.07370045, 0.17995751, 0.10520973, 0.06260075, -0.124870464, 0.071332276, 0.14470188, -0.038855236, 0.09279109, 0.10985604, -0.12241432, -0.20250633, 0.072249405, 0.06563947, 0.25110915) * g_17; + result += mat4(-0.037988666, -0.02077325, 0.12789832, 0.03384976, -0.014303905, -0.087816834, -0.056331955, -0.1313604, 0.09380784, -0.14247838, 0.10469246, -0.122811496, 0.18130052, 0.04213147, -0.012292052, -0.19898601) * g_18; + result += mat4(-0.12018575, 0.09009986, 0.025285363, -0.115545176, 0.1733185, 0.13020052, -0.057739727, 0.2317158, -0.012717598, -0.045057297, -0.23039842, 0.02120572, -0.047350824, -0.09068979, -0.029076718, 0.019612556) * g_19; + result += mat4(0.13583413, -0.009503754, 0.02945625, 0.13004698, 0.20902146, -0.066765055, -0.016790587, -0.022145504, 0.115125865, 0.062911294, 0.009492768, -0.17444436, -0.06236797, -0.015372606, 0.11708899, -0.012473567) * g_20; + result += mat4(0.03781474, -0.037127525, 0.0018324303, -0.025154835, -0.1573021, -0.094748974, 0.2049456, -0.0011915033, -0.27289516, -0.13360178, -0.19483006, 0.028352307, -0.16590592, -0.24364805, -0.17105217, -0.09763515) * g_21; + result += mat4(-0.085604936, 0.1410735, 0.006653563, 0.1621681, -0.007415839, -0.13190715, 0.0072195483, 0.011567912, -0.23232964, -0.0045645055, -0.4088787, 0.15016212, 0.11169541, -0.024033517, 0.33648142, -0.05467641) * g_22; + result += mat4(0.19473903, -0.41680276, -0.06333307, -0.39555615, 0.12667467, 0.323478, -0.08860081, 0.0018358243, 0.18223375, -0.040291768, -0.12997696, 0.011956389, 0.07855676, -0.04246141, -0.18503502, -0.2871073) * g_23; + result += vec4(-0.0067077694, 0.046750613, -0.02120649, 0.0037727654); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x1x1x96 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!SAVE conv0ups3 +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_3 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_4 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_5 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_6 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_8 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_10 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_12 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_14 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_16 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_18 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_20 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_22 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.19771652, 0.054560076, -0.018467195, 0.17260106, -0.04713744, 0.005960446, -0.15811634, 0.12638375, -0.20130037, -0.2361124, 0.15739627, 0.07660247, 0.008880481, 0.09471094, -0.1340188, -0.0603885) * g_0; + result += mat4(0.018275172, 0.02949308, 0.16530277, -0.08129835, -0.017484661, 0.08206879, 0.05372496, 0.027559277, -0.07266388, 0.14723828, -0.019852815, -0.124051854, 0.19641098, -0.19842927, -0.02707376, 0.18565983) * g_1; + result += mat4(0.0152915055, -0.025145184, -0.14171547, 0.11287294, 0.03981024, -0.283831, 0.08403579, -0.022620574, 0.097417176, -0.015617099, -0.0749846, 0.11501153, 0.07712399, -0.17645292, -0.18069206, 0.30625495) * g_2; + result += mat4(0.11910245, -0.014835673, 0.016234221, -0.17016123, -0.12874368, 0.028920865, 0.0015389418, -0.0396468, 0.058122113, 0.06308889, -0.11089211, 0.07629556, 0.14638005, 0.15483578, -0.009679061, 0.028340086) * g_3; + result += mat4(-0.18488705, -0.09046926, 0.3086096, 0.28608966, 0.07914294, -0.18663022, -0.18758698, -0.010628958, 0.11284831, -0.024477161, -0.34357247, -0.110528395, 0.11260746, -0.16653295, -0.333203, -0.028419986) * g_4; + result += mat4(0.14164338, 0.0116197225, -0.09517204, 0.018433275, -0.11906503, 0.12618221, -0.14154993, 0.11922271, -0.25966203, 0.13593048, -0.12451744, -0.12732752, -0.17531879, -0.059646163, 0.08191489, -0.023034088) * g_5; + result += mat4(0.060834974, -0.17094417, -0.12378968, 0.20129171, 0.10589014, 0.27925324, -0.0760502, -0.19307284, 0.1918753, 0.06295021, -0.117325544, -0.032219686, 0.08970859, 0.10133687, 0.07045942, -0.043928903) * g_6; + result += mat4(0.06141528, -0.1155439, 0.07150852, -0.017323446, 0.14442965, -0.16464208, 0.053869866, -0.0066738073, -0.26015645, 0.25578022, -0.12132279, 0.15647876, 0.0766546, -0.08933414, 0.09379291, 0.06804614) * g_7; + result += mat4(0.14762619, 0.052262735, 0.06740719, -0.029300386, -0.19549088, -0.21684435, -0.085099526, -0.055771094, 0.010171737, -0.14868538, 0.115141615, -0.051683053, -0.044367358, -0.18520084, -0.06393748, 0.0010731925) * g_8; + result += mat4(-0.14650695, 0.08601589, 0.12697595, 0.13276917, 0.108520165, 0.1912617, 0.019971784, 0.14559254, -0.028546251, 0.08042131, -0.09087924, -0.02770981, 0.15391286, 0.05714011, 0.04471975, 0.037705023) * g_9; + result += mat4(-0.12902713, 0.28093, -0.29668728, -0.09586236, 0.11485171, -0.06694571, 0.16276729, -0.2492834, 0.022340612, 0.09901862, -0.172989, 0.16625328, -0.10677142, -0.19990413, 0.16999872, 0.31516576) * g_10; + result += mat4(0.05200403, -0.17484799, -0.09285037, 0.22709143, 0.14310056, 0.20167555, 0.07357741, 0.04894263, -0.18580721, 0.0037048862, 0.07984998, 0.109460205, -0.1658866, 0.0067397184, 0.10205478, -0.30009425) * g_11; + result += mat4(0.01906955, -0.01307976, -0.054768458, 0.10404966, 0.023302928, 0.1506304, -0.24312226, 0.09407256, 0.14547575, -0.09326737, 0.05963468, -0.17096291, -0.03973353, -0.012859634, -0.011132303, -0.23727575) * g_12; + result += mat4(0.018458707, -0.08093601, -0.084748484, -0.032792903, 0.023445344, 0.0038735385, -0.047041256, 0.031227939, 0.016863292, 0.022734966, 0.000798652, 0.20134626, 0.10911789, -0.2571384, 0.12569575, 0.12899989) * g_13; + result += mat4(-0.02005358, -0.13560984, 0.16960412, 0.07813574, 0.14358784, 0.114273846, -0.06344754, -0.022004206, 0.048542615, -0.21317734, 0.06406535, -0.116627425, -0.016013943, -0.080993414, 0.15286861, -0.0021789172) * g_14; + result += mat4(-0.051536534, 0.085252315, -0.12893482, 0.19260244, -0.087101154, -0.08621803, -0.0064267796, -0.013781654, -0.0952192, 0.11305202, -0.23815015, -0.033821765, -0.059584074, 0.1069189, -0.21070237, -0.034997597) * g_15; + result += mat4(0.08561619, 0.0930155, 0.33753118, -0.031700823, 0.09551905, 0.080744945, 0.011288477, 0.061302166, 0.056226872, -0.10404533, -0.055435713, 0.004116961, -0.14561117, 0.17033315, 0.12503803, -0.07372825) * g_16; + result += mat4(-0.09182204, -0.09104942, 0.041599516, 0.16590819, 0.00983582, 0.10518859, -0.113934346, -0.104463175, -0.00079954404, 0.034999546, 0.13909996, 0.0493524, 0.19881092, -0.096706204, 0.14631568, -0.008105569) * g_17; + result += mat4(-0.00929841, 0.03932664, -0.054535374, 0.07319642, -0.09397188, 0.078899324, 0.1951339, -0.07413376, -0.0461229, -0.09307032, -0.039535936, 0.1277176, -0.1613869, 0.06263851, -0.19089746, 0.07733326) * g_18; + result += mat4(-0.116017684, 0.17785975, -0.08255256, -0.017906634, 0.079656884, 0.1062068, -0.07560774, 0.05632323, 0.06347149, -0.0038651915, 0.18395548, -0.018724794, 0.06897179, -0.017391736, -0.09945868, 0.007462038) * g_19; + result += mat4(0.09895682, 0.0008542192, 0.040768873, 0.0739274, 0.04401002, -0.17797345, 0.108511046, -0.1596793, -0.3202953, 0.25767303, 0.114281945, 0.10362787, -0.010467758, -0.040315267, 0.03151773, -0.18630013) * g_20; + result += mat4(-0.16360605, -0.11041179, 0.08405035, 0.11882953, -0.061490558, -0.06537877, -0.039295603, -0.085139036, 0.13128738, 0.093954295, 0.17564337, 0.0050902218, 0.057772268, 0.03324601, 0.02978617, 0.045452252) * g_21; + result += mat4(0.009214316, 0.2615397, -0.32527506, 0.0049241674, -0.12779853, -0.009896386, -0.063335165, 0.014920392, -0.012698124, 0.053253584, 0.21158943, 0.047342606, -0.0747987, 0.018429412, -0.09028407, -0.0753332) * g_22; + result += mat4(-0.21073934, -0.39829832, 0.5173677, -0.016563633, 0.17195706, 0.13737291, 0.0993746, -0.019057626, -0.09700681, -0.05018698, 0.017614022, 0.22466557, -0.08776291, -0.41851798, 0.063330576, 0.15770285) * g_23; + result += vec4(-0.00083234225, 0.029220644, -0.021711512, -0.010490012); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv0ups +//!BIND conv0ups1 +//!BIND conv0ups2 +//!BIND conv0ups3 +//!SAVE conv1ups +//!WIDTH conv0ups.w 3 * +//!HEIGHT conv0ups.h 3 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_4(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_5(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_6(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_7(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.013302941, -0.012109221, -0.06313667, 0.09708466, -0.061930988, -0.17332557, -0.044160333, -0.045447584, 0.04980775, -0.0770489, -0.019508807, 0.05925226, 0.023843545, -0.009858849, 0.12557454, 0.061080087) * go_0(-1.0, -1.0); + result += mat4(-0.049381237, -0.04050252, 0.007745774, 0.018472156, 0.064121254, 0.10730991, -0.026749168, -0.20549676, 0.02111079, -0.04714038, 0.061985523, 0.059314404, 0.056193776, 0.05460613, -0.05048156, -0.037642002) * go_0(-1.0, 0.0); + result += mat4(-0.05243881, -0.11460298, 0.06347575, 0.034983244, -0.07240566, 0.0077540586, 0.062388044, 0.061501957, -0.02154012, -0.31468394, -0.2113008, -0.026369544, 0.022035569, 0.06545593, 0.045535706, -0.051696356) * go_0(-1.0, 1.0); + result += mat4(0.03909915, 0.04560666, -0.060659245, 0.009675541, 0.02234295, -0.16511336, 0.019792031, -0.072006695, -0.05174611, -0.08620188, 0.006188406, -0.1319623, -0.0060644588, -0.02393468, 0.112303495, 0.020241998) * go_0(0.0, -1.0); + result += mat4(0.07232408, 0.040370155, -0.082784384, -0.017102133, -0.12151326, 0.10356652, -0.08922711, 0.3347708, 0.03863442, 0.0055784183, -0.042502668, -0.08173994, -0.12469258, -0.13697472, 0.16401985, 0.23741859) * go_0(0.0, 0.0); + result += mat4(-0.07384484, -0.15330909, 0.02873694, 0.098877445, -0.08014638, -0.3273885, 0.031516522, -0.12096309, 0.036241468, -0.1335509, -0.011663839, 0.09570681, 0.08264948, -0.06310915, -0.092751674, -0.015709676) * go_0(0.0, 1.0); + result += mat4(0.006247492, 0.00461466, -0.008895174, 0.0060241744, -0.061306674, -0.14361435, -0.011478359, -0.03232262, 0.08014461, -0.005829564, -0.044880565, 0.08709057, -0.04303573, -0.10923612, 0.12544714, 0.020221673) * go_0(1.0, -1.0); + result += mat4(-0.12337789, -0.010765891, -0.018776434, -0.0024736745, 0.02569967, -0.14181122, -0.115160815, -0.03887438, -0.030257745, -0.027906833, 0.035361852, 0.018330969, -0.025505567, 0.04050716, 0.024523402, -0.090780504) * go_0(1.0, 0.0); + result += mat4(0.120609745, -0.084908605, -0.034662176, -0.023245517, 0.02722118, -0.089459956, 0.015492279, -0.08203262, 0.002386625, -0.00928232, -0.0571666, -0.008234634, 0.07422278, -0.03094113, -0.0141155105, -0.06636182) * go_0(1.0, 1.0); + result += mat4(0.011082948, -0.058803063, 0.024828104, 0.059398144, -0.007348608, -0.050983507, -0.05401309, -0.020016963, -0.034054358, -0.007618273, 0.13229546, -0.016255377, 0.109534, -0.03596513, -0.028141145, 0.09585966) * go_1(-1.0, -1.0); + result += mat4(0.008277244, -0.09203936, -0.11599702, 0.03232159, 0.070328124, -0.16420361, -0.16313204, -0.054277748, 0.002922495, -0.020103376, 0.17503816, 0.024415495, -0.021941114, -0.19877355, 0.06335682, -0.030403662) * go_1(-1.0, 0.0); + result += mat4(-0.11055535, -0.11391272, -0.056144655, 0.075731516, -0.02628106, 0.16784728, -0.11808693, -0.026273083, -0.043469157, 0.031772617, 0.00937826, 0.14148627, 0.030202564, 0.1280365, -0.010620431, -0.02047345) * go_1(-1.0, 1.0); + result += mat4(-0.0104838675, 0.016618986, -0.009782691, 0.06283955, 0.0031849968, -0.17475526, -0.0080999555, 0.05982882, -0.0452169, -0.053171888, -0.14011732, 0.06907014, 0.03619321, -0.041850798, -0.045879535, 0.032479163) * go_1(0.0, -1.0); + result += mat4(0.025500499, 0.027577246, 0.025213921, -0.008017244, 0.02781052, -0.013167181, -0.4103526, 0.17850031, 0.16433816, 0.079108596, 0.21011126, -0.20257612, -0.033543546, -0.0678866, 0.013160764, 0.02026467) * go_1(0.0, 0.0); + result += mat4(-0.07155754, 0.0013978203, 0.011611807, -0.09917595, -0.111368425, 0.0033274605, -0.15162435, -0.011835687, -0.09026789, -0.08395621, 0.2153951, 0.08362553, 0.016216682, -0.15161297, 0.021178178, 0.013977836) * go_1(0.0, 1.0); + result += mat4(-0.042056683, 0.045064047, 0.039709255, -0.007281443, -0.0083612, -0.21972413, 0.17280287, -0.040411394, -0.033877213, -0.031675044, 0.15172487, -0.16823475, 0.011251, -0.10751146, -0.03703622, -0.0015994076) * go_1(1.0, -1.0); + result += mat4(-0.10160262, -0.085398495, 0.030651808, 0.0383625, 0.090408884, 0.0559912, -0.09584017, 0.021680398, 0.0020458086, -0.04230424, -0.045559246, -0.05657164, -0.021027206, -0.11491259, 0.017873693, 0.07012374) * go_1(1.0, 0.0); + result += mat4(0.06746937, 0.06177675, -0.0069657834, 0.17145541, -0.11660231, -0.09986818, -0.05313927, -0.02293038, 0.067609206, 0.024575058, 0.2045605, -0.02894548, -0.01402746, -0.037871428, -0.026082579, 0.1496422) * go_1(1.0, 1.0); + result += mat4(0.078850545, -0.089004256, 0.03264684, 0.0501401, -0.051582705, 0.13331461, -0.04854971, -0.056578197, -0.22619192, 0.035058744, 0.029899048, -0.007877467, 0.013764741, 0.07651721, -0.018574424, 0.017737282) * go_2(-1.0, -1.0); + result += mat4(0.039094422, -0.004039775, 0.07236476, 0.003665929, -0.10906161, -0.01206319, -0.06806159, 0.03218018, -0.16351025, -0.088042565, 0.06665855, 0.049080636, 0.17470343, 0.10616311, -0.004475735, 0.048703376) * go_2(-1.0, 0.0); + result += mat4(-0.1152178, 0.0014156736, -0.019587241, 0.060342357, -0.043316048, 0.099263184, 0.028288733, 0.039652467, 0.08970648, -0.10041962, -0.03238429, -0.104765356, 0.052427232, 0.17590371, 0.004267056, 0.12794496) * go_2(-1.0, 1.0); + result += mat4(-0.094192885, -0.114988096, -0.1360759, -0.098745346, 0.18817306, -0.0015580812, -0.08784492, 0.03697599, 0.12092391, -0.10114108, 0.14371401, 0.029552504, 0.010409395, -0.01989149, -0.04604743, -0.04340521) * go_2(0.0, -1.0); + result += mat4(-0.12453975, -0.19952826, -0.27039337, 0.2360734, 0.00678138, 0.02095393, 0.100797586, -0.10189031, -0.063709445, 0.17529346, -0.062517226, -0.13606744, -0.084416196, -0.0055361073, -0.05210923, 0.09984934) * go_2(0.0, 0.0); + result += mat4(-0.12885356, -0.16880307, -0.0001863282, -0.0793993, 0.060133148, -0.19816521, 0.045271244, -0.13431291, 0.16515693, 0.032550003, 0.077373095, -0.03247844, -0.045571126, 0.021893652, -0.09743241, -0.06921362) * go_2(0.0, 1.0); + result += mat4(-0.008643703, -0.046968583, 0.06146367, 0.08677877, 0.019170603, 0.10999073, -0.11692821, 0.04721949, -0.06677058, 0.037462547, -0.016399851, -0.054998178, 0.0010376096, -0.012338041, -0.12463497, -0.035169076) * go_2(1.0, -1.0); + result += mat4(-0.04090923, -0.14220549, 0.020020986, 0.056473326, 0.042374853, -0.006250005, -0.13552494, 0.13658978, 0.03867219, -0.22706173, -0.059060037, 0.058993474, -0.009761021, 0.0649011, 0.021675201, -0.07276663) * go_2(1.0, 0.0); + result += mat4(-0.09555326, -0.025236163, -0.023861893, 0.033659693, 0.06791347, 0.0038955666, -0.0035532173, 0.053630196, -0.041177604, 0.07108558, 0.02016919, -0.021497505, 0.029573523, -0.09735415, -0.0048350454, 0.15181093) * go_2(1.0, 1.0); + result += mat4(0.045933276, -0.13515158, 0.009228187, -0.023743628, 0.06935336, -0.09187734, 0.09560265, 0.018566938, 0.0056412164, 0.078544505, -0.0434581, 0.050385367, 0.03622581, -0.03934777, -0.0720889, 0.029343527) * go_3(-1.0, -1.0); + result += mat4(-0.016562965, -0.12820166, 0.187874, 0.052941903, -0.06391782, -0.05377054, -0.03781532, 0.097536914, -0.037013177, 0.01989198, -0.11597446, 0.049370047, -0.054080885, -0.028636862, 0.11394634, -0.023754608) * go_3(-1.0, 0.0); + result += mat4(-0.03802489, -0.12530291, 0.06871729, 0.06918327, -0.019695487, -0.023304746, 0.060946856, -0.0049567944, 0.106213786, 0.058396086, 0.05231142, -0.0024309857, 0.12408028, 0.070039384, 0.035425793, 0.03330205) * go_3(-1.0, 1.0); + result += mat4(0.043777816, -0.10805039, 0.078217655, -0.030811466, -0.03608898, -0.2795718, 0.012454856, 0.07049292, -0.025119923, -0.19395687, -0.04589363, 0.13516338, 0.030751783, -0.009450481, 0.048920903, -0.00737198) * go_3(0.0, -1.0); + result += mat4(-0.014000674, -0.04759161, 0.12826595, -0.0017642565, 0.098676436, -0.09442378, -0.01646663, -0.1617878, 0.00297917, 0.08397787, -0.13660042, 0.005527846, -0.049080744, -0.0055450965, -0.0064818114, 0.2587199) * go_3(0.0, 0.0); + result += mat4(-0.16226773, -0.043329936, 0.083710335, -0.15756485, -0.066259176, -0.060702555, -0.027182754, -0.029777676, 0.01748842, -0.026523704, 0.06930076, -0.023998197, 0.1211762, -0.13004777, -0.011516853, -0.13729261) * go_3(0.0, 1.0); + result += mat4(-0.040247727, -0.07228051, -0.10298301, 0.040875547, -0.065911025, 0.078728564, 0.091330856, 0.03677556, -0.02498122, 0.06769627, 0.07218384, 0.0014566458, -0.0061442303, 0.0086917095, -0.03522804, -0.048330314) * go_3(1.0, -1.0); + result += mat4(-0.085488304, 0.045127705, 0.056196738, -0.008514246, 0.03025027, -0.06269085, 0.05313679, 0.0559912, 0.10766719, -0.03209936, -0.16946507, 0.29393998, -0.031926937, -0.07863495, -0.030471357, 0.055307366) * go_3(1.0, 0.0); + result += mat4(-0.012295731, -0.06375684, -0.03832078, -0.094785616, -0.04646916, -0.015403718, -0.026596554, 0.021867264, -0.0046984944, -0.13694204, 0.02145514, 0.03470416, 0.008190091, -0.10182426, -0.03259911, 0.1075029) * go_3(1.0, 1.0); + result += mat4(-0.0650494, -0.18079701, -0.14010891, -0.004066129, -0.05072928, 0.0018696968, 0.03767962, -0.07010998, -0.018155852, -0.029851597, 0.008525998, 0.059236698, 0.060635366, -0.13664672, -0.054963786, 0.073119365) * go_4(-1.0, -1.0); + result += mat4(-0.051663123, -0.09044231, -0.03534349, -0.15994835, 0.024488913, 0.0584757, 0.09839963, -0.07536733, 0.0044920277, -0.10165498, 0.03752505, 0.029572235, -0.0023792398, 0.06688532, 0.043044716, -0.01899362) * go_4(-1.0, 0.0); + result += mat4(0.07849525, -0.119271405, -0.042811632, -0.041626964, 0.07545159, 0.09997577, 0.038823277, 0.016443461, -0.0266621, 0.010088829, 0.07879706, -0.038422294, -0.02001026, 0.026069399, 0.031395063, -0.05815041) * go_4(-1.0, 1.0); + result += mat4(-0.10023367, -0.15057774, 0.11619864, 0.04397611, 0.05037631, -0.031356625, 0.03666611, -0.02845634, -0.01911539, 0.11408594, 0.0028843323, 0.00953394, -0.055057246, -0.025956526, -0.061221384, -0.017955333) * go_4(0.0, -1.0); + result += mat4(0.26597527, -0.058314674, -0.0962066, 0.0329729, 0.07357752, 0.03271384, -0.21533425, 0.003768839, -0.057712875, 0.07121388, 0.013715649, -0.0831189, -0.0714431, 0.15299971, 0.064914055, 0.015535985) * go_4(0.0, 0.0); + result += mat4(-0.04039884, 0.037581284, -0.05443885, 0.08152066, -0.12128733, -0.008086967, -0.014204756, -0.11120005, 0.041684013, 0.03309785, -0.034556545, -0.06864393, -0.0022722657, -0.028678812, -0.08264872, 0.0701991) * go_4(0.0, 1.0); + result += mat4(-0.10624094, -0.19902161, -0.0005582792, -0.067009926, -0.018467264, -0.02690888, -0.0667423, -0.10409132, -0.077332675, -0.011604726, 0.009276279, -0.08974004, 0.118050486, 0.021480683, -0.08997368, 0.07959985) * go_4(1.0, -1.0); + result += mat4(0.09592302, -0.034064777, -0.048709914, 0.07789593, -0.007592094, -0.14113013, 0.0022574468, 0.019824523, -0.0081383325, -0.052283287, -0.064616494, 0.058260158, 0.033303212, 0.11416393, -0.008896697, 0.056191042) * go_4(1.0, 0.0); + result += mat4(-0.09941444, 0.17776787, 0.08561235, 0.15629978, 0.029634742, 0.045361564, 0.069890365, 0.0502319, 0.0067809476, 0.002047603, 0.11407937, 0.070114724, -0.05679617, -0.013912256, 0.013542715, 0.009444194) * go_4(1.0, 1.0); + result += mat4(-0.09517508, 0.12489528, -0.09313998, 0.084405266, -0.012441074, -0.022242859, 0.066346034, 0.00423023, 0.07987826, 0.07892257, -0.04575329, 0.19474448, -0.026493892, 0.24483079, -0.06354224, -0.03634207) * go_5(-1.0, -1.0); + result += mat4(-0.20302604, -0.039948568, 0.07857904, 0.11902675, -0.1203945, -0.1137728, 0.11020989, 0.019995924, -0.08365092, 0.011009447, 0.057313416, -0.030036483, -0.09064193, -0.032565292, -0.017696097, -0.011385602) * go_5(-1.0, 0.0); + result += mat4(0.10052054, 0.05342487, 0.009398622, 0.054070834, 0.101007484, -0.006665345, 0.1355569, 0.08262319, 0.031365715, 0.0012569521, -0.15938771, 0.09937696, 0.016955657, 0.1656698, -0.08221579, -0.0028464093) * go_5(-1.0, 1.0); + result += mat4(-0.046993867, -0.0022476215, -0.0197642, -0.10299419, 0.11698557, 0.06490302, -0.10495608, -0.019674003, 0.01826878, -0.014951087, -0.115536615, 0.015294204, 0.07070401, 0.033796053, 0.07290711, 0.057128504) * go_5(0.0, -1.0); + result += mat4(0.14300628, 0.033920567, -0.03373897, -0.11916015, -0.11102183, 0.10348178, -0.062176403, -0.011974135, -0.042116582, -0.05768072, -0.08173329, 0.044289242, 0.07154812, -0.06653242, 0.1222195, -0.027933054) * go_5(0.0, 0.0); + result += mat4(0.011026182, 0.1474295, 0.044019394, -0.03795345, -0.03516014, -0.11315762, 0.1868038, -0.006420206, 0.08232553, 0.07102735, -0.0747307, -0.054918274, -0.14558811, -0.13853562, -0.061922804, -0.00053793436) * go_5(0.0, 1.0); + result += mat4(-0.04198045, -0.013528373, -0.06373842, -0.05723647, -0.003746356, -0.09432193, -0.07273958, 0.008901301, 0.05507108, 0.015500663, -0.030242283, -0.041867077, 0.014223666, 0.09469508, 0.14336528, -0.034044564) * go_5(1.0, -1.0); + result += mat4(-0.0063387724, 0.08452984, -0.264555, 0.033493947, -0.17020273, -0.078654096, -0.15834045, 0.038642615, 0.012779747, -0.12424039, -0.023711318, 0.009101309, 0.00013816432, 0.12049601, 0.009272076, -0.05309427) * go_5(1.0, 0.0); + result += mat4(0.037508354, -0.2442116, 0.021651942, 0.07430792, 0.21032251, -0.06076358, -0.028722458, 0.07380247, 0.050493255, 0.08592788, -0.11068984, 0.049933717, 0.015327649, 0.045943547, 0.1052948, -0.12438453) * go_5(1.0, 1.0); + result += mat4(0.033120137, 0.09498402, -0.0062918505, -0.047866907, 0.054291245, 0.08793476, 0.09881014, 0.057913892, -0.014999754, -0.0022956284, -0.028194167, -0.032369655, -0.062466048, 0.05508422, -0.03297725, -0.0712404) * go_6(-1.0, -1.0); + result += mat4(-0.027029142, 0.006814352, -0.12207318, -0.0837586, 0.045617107, -0.19415045, -0.007876237, -0.09544452, -0.06238176, -0.16177872, 0.020406803, -0.045421902, 0.040982667, 0.22643211, -0.09372224, -0.13222997) * go_6(-1.0, 0.0); + result += mat4(0.042335346, 0.051937085, -0.048556026, -0.080059804, -0.009402667, 0.07920275, -0.10520585, -0.007990247, 0.04183933, 0.003921662, -0.110800825, -0.01207025, -0.06777714, -0.09229314, 0.027066117, 0.005739622) * go_6(-1.0, 1.0); + result += mat4(0.11718687, 0.0014740648, 0.0014242693, 0.032715335, -0.10010754, 0.0032826837, 0.17515422, -0.056723364, -0.0028685564, -0.09708139, 0.048960317, 0.024024323, 0.07038842, -0.07588745, -0.07245765, 0.044466607) * go_6(0.0, -1.0); + result += mat4(0.014662583, -0.12738252, 0.020766586, 0.0048829406, 0.054304354, -0.24371675, 0.0069901417, 0.15611398, 0.08597663, -0.020829398, 0.08081248, 0.020133939, -0.047713336, -0.07476831, -0.19282238, -0.054291427) * go_6(0.0, 0.0); + result += mat4(0.11392736, 0.11086032, 0.042832635, 0.024812821, -0.07461503, 0.059356652, -0.0024148151, 0.056102235, -0.08269376, -0.042141598, -0.016610144, 0.17488524, -0.05575371, 0.016265644, -0.089853615, -0.10817013) * go_6(0.0, 1.0); + result += mat4(0.010313293, -0.080664426, -0.04608331, 0.0012904583, 0.008532067, -0.09848448, 0.10097231, -0.016924951, 0.07665192, -0.027563078, -0.06378092, 0.10343629, -0.036384467, -0.053149298, -0.05503227, -0.033580408) * go_6(1.0, -1.0); + result += mat4(0.0102611305, 0.06236239, 0.038469147, -0.02564957, -0.049344275, -0.11265859, 0.13378103, -0.14377357, -0.00529987, -0.123281956, 0.074118905, 0.07079952, -0.0033021853, -0.15583162, -0.044389617, -0.062361106) * go_6(1.0, 0.0); + result += mat4(-0.004327561, 0.0012946475, 0.07154309, -0.077916645, 0.0007642713, 0.046212055, 0.0002446218, -0.12240067, -0.016727991, -0.023611335, 0.019070385, -0.017550457, -0.014729117, -0.08566113, -0.04489458, -0.12663332) * go_6(1.0, 1.0); + result += mat4(-0.04067448, -0.06376398, 0.020526867, 0.048773874, -0.046569902, 0.06464818, 0.056337003, 0.059694003, 0.065464124, -0.05376251, 0.05192921, -0.06261051, 0.048732128, -0.21190256, 0.15265064, -0.10474625) * go_7(-1.0, -1.0); + result += mat4(-0.0060280073, -0.061969724, -0.13169117, -0.1065949, 0.012384613, -0.03140488, -0.14643228, -0.06445609, 0.03988464, 0.04069182, 0.11866323, -0.19688562, -0.022739897, -0.21755488, -0.26377398, 0.06296565) * go_7(-1.0, 0.0); + result += mat4(-0.038920067, 0.058767352, 0.04357755, -0.056931626, -0.11520747, 0.030253679, 0.0422195, 0.0006937393, 0.0026942384, -0.017490983, -0.04594496, -0.018090999, -0.014340467, -0.053819276, -0.064896226, 0.22955441) * go_7(-1.0, 1.0); + result += mat4(-0.10237155, -0.14842659, -0.10546103, -0.055438522, -0.003674975, 0.022769332, 0.034824487, -0.099618606, -0.037216857, -0.0075835097, -0.07321481, 0.005553139, -0.049160898, -0.35594824, -0.0024691792, -0.0859826) * go_7(0.0, -1.0); + result += mat4(0.09589093, -0.36798313, -0.02544282, 0.09927271, 0.12121946, 0.06693128, -0.29467553, 0.1289274, -0.17023526, 0.1666999, 0.040806666, 0.06447546, 0.01383325, 0.1211838, -0.058053695, -0.11778658) * go_7(0.0, 0.0); + result += mat4(-0.18717405, -0.052822214, -0.16398504, -0.03264915, -0.17919281, -0.11834617, -0.049907073, 0.030273635, -0.004461265, 0.04638514, -0.05242928, 0.037246257, 0.0018656829, -0.033204567, -0.15611818, -0.08455959) * go_7(0.0, 1.0); + result += mat4(0.086630985, -0.057505272, -0.05761554, -0.076787725, 0.06376212, 0.070872895, -0.07744048, -0.1004346, -0.008703667, 0.08795953, 0.057223864, -0.030474983, -0.019109305, -0.26056463, -0.026397053, 0.055543657) * go_7(1.0, -1.0); + result += mat4(0.08602437, -0.16896045, -0.014315812, -0.0025012635, 0.015201334, -0.02628133, 0.1048174, 0.11787258, 0.020329308, -0.09259717, 0.022915883, -0.0073836856, 0.053537913, 0.16166794, 0.06464622, -0.05345328) * go_7(1.0, 0.0); + result += mat4(-0.10102555, -0.061532248, -0.0020540385, 0.07147, 0.0032743628, -0.041727625, 0.040523455, 0.10719813, -0.002222984, -0.022821166, -0.0136224665, -0.045646656, 0.028015751, 0.04479589, 0.09885242, 0.09787546) * go_7(1.0, 1.0); + result += vec4(-0.0060217623, 0.041483153, 0.0048249145, -0.017846024); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv0ups +//!BIND conv0ups1 +//!BIND conv0ups2 +//!BIND conv0ups3 +//!SAVE conv1ups1 +//!WIDTH conv0ups.w 3 * +//!HEIGHT conv0ups.h 3 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_4(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_5(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_6(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_7(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.031008404, -0.011465885, 0.028804773, 0.08732154, 0.14858758, -0.06855531, 0.08654593, 0.08536834, -0.0021101234, -0.042634897, 0.028098369, -0.06972104, 0.011399145, -0.0014535368, 0.13077526, 0.07995592) * go_0(-1.0, -1.0); + result += mat4(0.010890346, -0.06969674, 0.0076265433, -0.040633325, -0.12110143, -0.056799456, -0.0205289, 0.08947316, -0.012298458, -0.01051004, 0.039724167, 0.088776864, -0.040965777, 0.045863073, 0.026792718, 0.039780125) * go_0(-1.0, 0.0); + result += mat4(-0.0340985, 0.05213031, -0.002855445, -0.05174458, 0.058242504, -0.15634227, 0.098159306, -0.10653778, 0.0016934654, -0.029484536, -0.040153738, -0.06573923, -0.18439578, -0.1180248, 0.028968213, 0.10975639) * go_0(-1.0, 1.0); + result += mat4(-0.034522086, 0.1852845, -0.04576851, -0.015495429, -0.046609726, 0.102509156, -0.06131082, 0.018652035, 0.117570154, 0.023014406, -0.07642013, 0.0005472012, 0.07815475, 0.112316325, -0.16485958, 0.14599887) * go_0(0.0, -1.0); + result += mat4(-0.016921889, 0.04045604, 0.033173054, -0.072843954, 0.060644727, 0.12849148, 0.09025381, -0.15483984, 0.12790702, -0.09211152, -0.10658567, 0.004824856, 0.134074, -0.20682883, -0.0085312035, -0.045595698) * go_0(0.0, 0.0); + result += mat4(0.013238752, -0.014482704, -0.0109714605, 0.038535867, 0.037316132, -0.05308324, 0.017015684, 0.018103467, 0.005436139, -0.19934523, 0.09792159, 0.018661212, -0.08748789, 0.44144687, -0.0136271035, 0.11021046) * go_0(0.0, 1.0); + result += mat4(-0.0035254008, -0.0065662623, -0.018577693, 0.10395831, 0.028003007, -0.072180696, -0.04154409, 0.047752302, -0.02166001, 0.110732704, -0.16691324, 0.007526681, 0.011662007, -0.06613109, -0.14197223, -0.021485122) * go_0(1.0, -1.0); + result += mat4(0.028545767, 0.024394669, 0.0475819, 0.010204303, 0.0365447, 0.059255905, 0.060434323, -0.001578529, 0.00048043136, -0.010875573, -0.061176434, -0.028864788, -0.011236091, 0.07505333, -0.13191745, -0.07800606) * go_0(1.0, 0.0); + result += mat4(-0.044323623, 0.078716405, -0.010331392, 0.032246176, -0.01249593, -0.08949986, -0.118050285, 0.035310894, -0.10616151, 0.07004332, -0.13434112, 0.0022753936, 0.041931115, 0.010988529, -0.013373345, -0.07067911) * go_0(1.0, 1.0); + result += mat4(-0.14712968, 0.1303748, -0.053401075, -0.023067327, 0.07157392, 0.083951645, 0.06708938, -0.035423923, -0.13326603, -0.07072154, -0.18883637, -0.006823134, -0.17648292, 0.012428894, -0.08602724, 0.018545955) * go_1(-1.0, -1.0); + result += mat4(0.06221596, 0.09295542, -0.045385316, 0.07151344, 0.12789287, -0.012532345, 0.061951842, 0.059415627, 0.12539576, -0.08936331, 0.017873151, 0.12734255, 0.20109344, -0.21870106, -0.084215574, -0.07280641) * go_1(-1.0, 0.0); + result += mat4(-0.06738234, 0.09147441, 0.041747097, -0.11318767, 0.12008906, -0.08196032, 0.2298444, -0.013110108, 0.028941683, 0.12892896, -0.18524298, -0.0054568923, -0.0733691, 0.06493855, -0.026495539, -0.13440488) * go_1(-1.0, 1.0); + result += mat4(-0.07081254, -0.105720386, -0.029545268, 0.02414829, 0.10516828, -0.12950762, -0.088243686, -0.015089033, -0.14964604, -0.04668208, -0.026110154, -0.07517621, 0.024665853, 0.019628176, 0.0060402313, -0.060436286) * go_1(0.0, -1.0); + result += mat4(-0.08785425, 0.22962672, -0.12026621, 0.10627598, -0.3047981, 0.51479566, -0.17230198, 0.2026062, -0.0379354, 0.012929606, -0.22320692, -0.06296055, 0.16262105, 0.1315961, -0.10810794, -0.19850464) * go_1(0.0, 0.0); + result += mat4(-0.009786277, -0.024214577, 0.02804766, 0.014877924, -0.057604343, 0.012398648, 0.083221175, -0.051111076, 0.09313298, -0.19954021, -0.07838303, -0.14760832, -0.15472609, 0.0016322685, 0.014124812, 0.019143919) * go_1(0.0, 1.0); + result += mat4(-0.1327438, 0.034639187, -0.07155029, -0.05428827, -0.0060247434, -0.019542854, -0.08956798, -0.046781395, 0.03547983, -0.045186084, -0.06544417, 0.028352752, 0.081525125, -0.04527624, -0.042973306, 0.0133456215) * go_1(1.0, -1.0); + result += mat4(0.082099594, -0.003517408, -0.10405705, -0.004880443, -0.018541284, -0.08050822, -0.07433882, 0.007555451, 0.18573646, -0.07627161, -0.19172893, 0.031078884, -0.07604259, -0.067458645, -0.040240597, 0.016424658) * go_1(1.0, 0.0); + result += mat4(-0.09285982, 0.03702614, 0.05502789, 0.089517176, 0.14276125, -0.066872776, 0.016766513, 0.0032915426, -0.009963559, 0.009266318, -0.21723224, 0.034167703, -0.06856292, 0.031691033, 0.004908423, 0.07134705) * go_1(1.0, 1.0); + result += mat4(-0.042145792, -0.10246125, -0.18380879, 0.103197545, 0.047554307, 0.025613371, -0.057588324, 0.06244151, -0.23517399, -0.0020249686, -0.13443345, 0.05500381, -0.035253894, 0.011858585, -0.05196646, 0.027936863) * go_2(-1.0, -1.0); + result += mat4(0.04582865, 0.03387131, -0.0066644573, 0.045029428, -0.11422369, -0.056692857, -0.0753103, -0.13071376, -0.08764278, -0.094083555, 0.002910678, -0.052890077, 0.020475945, 0.018347086, -0.073296964, -0.054450788) * go_2(-1.0, 0.0); + result += mat4(0.06461033, -0.073843196, 0.09765554, -0.037457455, 0.0062603327, -0.051824745, -0.07597401, 0.020344062, 0.09807387, -0.12680094, 0.021457015, 0.04032044, 0.026994463, 0.0040843, -0.06258326, -0.07865831) * go_2(-1.0, 1.0); + result += mat4(0.06398405, 0.061654173, -0.0928112, -0.024058253, 0.069616415, -0.04526044, 0.022841258, -0.016704313, 0.047107253, 0.0035107392, 0.07093496, -0.19753708, 0.07726589, -0.0035802037, 0.032700732, -0.10351143) * go_2(0.0, -1.0); + result += mat4(-0.1883097, 0.7686166, -0.17206053, 0.16430104, -0.043986835, 0.053507116, -0.035720207, 0.022487193, 0.0048673707, 0.06604675, -0.19849421, 0.37677363, -0.04760138, 0.058882833, 0.046481196, -0.090708144) * go_2(0.0, 0.0); + result += mat4(-0.08256388, -0.009658597, 0.11603224, 0.08182191, -0.049587876, 0.08696885, -0.021588787, 0.06389069, -0.044780742, -0.11804188, 0.07203591, -0.10631222, -0.12557079, 0.33360577, -0.20704676, 0.2573384) * go_2(0.0, 1.0); + result += mat4(-0.14224637, -0.037939772, -0.031396743, 0.020173592, 0.0012089742, -0.11998399, 0.08884611, -0.015090299, 0.041187376, -0.103968844, -0.013064329, -0.010832061, 0.10114273, -0.047685403, 0.05036981, 0.09274703) * go_2(1.0, -1.0); + result += mat4(-0.08130449, 0.014743827, 0.008584026, -0.07025528, 0.038753156, -0.04853088, 0.010250739, -0.017090026, 0.101440206, -0.008712098, 0.006890931, -0.05716923, -0.045884974, 0.059291344, 0.11988196, -0.054974318) * go_2(1.0, 0.0); + result += mat4(0.04417951, -0.018678278, 0.07733477, 0.0067202407, 0.06177814, -0.13700502, 0.029271573, -0.017253505, 0.0212933, -0.10743522, -0.030371934, -0.053786937, 0.06649077, -0.05904024, -0.045880776, 0.053040594) * go_2(1.0, 1.0); + result += mat4(0.071562596, 0.0599166, -0.11720189, -0.014309535, -0.071373016, -0.016130127, -0.023780769, -0.001997018, -0.047778614, 0.029659528, -0.07897074, 0.050803836, 0.089349575, -0.08217411, -0.024224421, -0.024255265) * go_3(-1.0, -1.0); + result += mat4(0.006486515, -0.0658084, 0.022323247, 0.028965151, -0.012854999, -0.042212423, -0.008945042, 0.023361161, -0.03675071, 0.14935836, -0.22781968, -0.014056356, 0.08634443, 0.05687153, -0.052160293, 0.043717593) * go_3(-1.0, 0.0); + result += mat4(0.034421425, -0.104020424, 0.03797237, -0.03182555, 0.015753355, -0.046845365, 0.12137585, -0.093341276, -0.05402398, -0.079497576, -0.039373532, -0.04817569, 0.00938727, -0.027714383, -0.17566422, 0.02621762) * go_3(-1.0, 1.0); + result += mat4(-0.037846185, -0.053527895, -0.01955246, 0.0072346497, 0.1365148, -0.019329185, -0.12526068, -0.067949176, -0.107519604, 0.25747687, 0.04999606, -0.09500717, 0.18016966, -0.07374666, 0.0367582, -0.02093543) * go_3(0.0, -1.0); + result += mat4(0.046785537, -0.11026977, -0.05605464, -0.06209614, -0.04510055, 0.33856943, -0.18717079, 0.18384393, 0.06757486, 0.047074385, -0.36588484, 0.44135252, 0.06773761, 0.028485816, 0.12253952, -0.22326814) * go_3(0.0, 0.0); + result += mat4(-0.16639298, -0.07726947, -0.2069561, 0.12912624, -0.047143582, -0.11922356, -0.04531498, 0.016899964, -0.087376475, -0.01820976, 0.036773693, -0.015254593, -0.0029660047, 0.086795226, -0.16820423, 0.10935757) * go_3(0.0, 1.0); + result += mat4(0.055851273, 0.023897754, -0.18374673, 0.05872144, -0.072863765, -0.06460372, -0.054022614, 0.025372153, -0.19265196, -0.13349138, -0.027415652, -0.024564927, 0.071687825, -0.0447081, 0.017670501, -0.037018225) * go_3(1.0, -1.0); + result += mat4(-0.034506638, 0.111800216, -0.056136444, 0.009130966, -0.008260899, -0.03986616, -0.008006292, -0.020072196, -0.05764171, 0.21278518, 0.010525654, -0.04605175, -0.0444743, -0.010333986, -0.11199592, 0.11432997) * go_3(1.0, 0.0); + result += mat4(-0.07349431, 0.085572414, -0.014262764, 0.03399024, -0.08379838, 0.023632318, -0.0047551957, -0.013593632, -0.05024371, 0.08246164, -0.039576717, 0.031761006, -0.08950343, 0.07214142, 0.04231203, 0.008964006) * go_3(1.0, 1.0); + result += mat4(0.10519713, -0.12181931, -0.044800512, -0.0975902, 0.022226086, -0.07705521, -0.005750007, -0.081744365, 0.09161395, -0.057876665, 0.04768033, -0.0021973122, 0.115828395, 0.117363855, -0.06433652, -0.06858771) * go_4(-1.0, -1.0); + result += mat4(0.10305197, 0.059339043, -0.009076516, 0.15241532, -0.023003059, -0.039116282, 0.007089471, 0.029722707, -0.12735485, 0.18283232, -0.008489334, -0.012340658, 0.012051598, 0.15442379, 0.0063788225, 0.040199857) * go_4(-1.0, 0.0); + result += mat4(0.031345658, -0.03299968, -0.02227589, 0.06350165, -0.094423585, 0.02391686, -0.03692, -0.01623574, 0.009499508, -0.044783738, 0.08103209, 0.13681574, -0.10161464, -0.0049570557, -0.004671283, 0.06324168) * go_4(-1.0, 1.0); + result += mat4(0.06973929, -0.08125205, 0.039238486, 0.008494621, -0.03362637, -0.13971058, -0.08779752, -0.04247522, -0.099697195, -0.10650161, 0.03173315, 0.0675486, -0.12178111, -0.06946877, 0.12116126, -0.12293393) * go_4(0.0, -1.0); + result += mat4(-0.11153587, 0.17274657, 0.25114337, -0.024364363, -0.28806034, 0.5905429, -0.21663332, -0.04236629, -0.06033586, 0.0979595, -0.05407545, -0.006356241, -0.058945447, -0.046933945, -0.0051267073, 0.05030332) * go_4(0.0, 0.0); + result += mat4(0.036083777, -0.12136545, 0.016119994, -0.17773823, -0.10501043, -0.15533139, -0.09568148, 0.095158465, 0.11572994, -0.06980699, -0.09450004, 0.12020959, 0.091611065, 0.047535863, -0.021822795, -0.08473378) * go_4(0.0, 1.0); + result += mat4(-0.006276857, -0.07919089, 0.037926722, -0.06551658, -0.06413601, 0.089460276, 0.055634685, -0.016767453, 0.019613141, -0.041047532, 0.13762267, 0.038212962, -0.039029744, 0.07851155, 0.024156535, -0.031414095) * go_4(1.0, -1.0); + result += mat4(0.01696545, -0.06862619, -0.05076128, 0.056593467, -0.031035822, 0.012779944, -0.10558284, 0.069119655, -0.027278284, -0.045623723, 0.10541084, -0.105388716, -0.0031919298, 0.027849128, -0.020345552, 0.05059751) * go_4(1.0, 0.0); + result += mat4(0.023966562, -0.11092116, -0.15836681, 0.07327251, 0.03193834, -0.10829199, -0.008094687, 0.01985965, 0.013845133, 0.041301657, -0.024273552, -0.01684502, -0.10236365, 0.09499202, 0.077759326, 0.02580412) * go_4(1.0, 1.0); + result += mat4(-0.15272804, 0.03605143, 0.024180673, -0.045909654, -0.02811938, -0.02902313, -0.007802541, -0.0007955463, -0.011438571, 0.027032603, -0.034869343, 0.0362012, 0.13182172, -0.06486951, 0.0481704, -0.02153055) * go_5(-1.0, -1.0); + result += mat4(-0.108471416, -0.18573213, 0.17924283, -0.13284327, -0.078454465, -0.15354046, -0.019610127, 0.02049554, -0.037968334, -0.040843084, 0.07908988, -0.07928059, -0.11305105, -0.016429799, 0.011323485, -0.012159079) * go_5(-1.0, 0.0); + result += mat4(0.04628693, 0.032325752, -0.11833712, -0.08622061, 0.054224003, 0.009549531, -0.15820543, -0.05318651, 0.017258435, 0.019506872, -0.047184687, -0.025512999, -0.014390608, 0.18302508, 0.08423897, 0.105141826) * go_5(-1.0, 1.0); + result += mat4(0.20094486, -0.10344139, -0.0816851, 0.03548702, 0.10059125, -0.025172016, 0.025312323, 0.035228524, 0.24204572, -0.0020250736, 0.090121426, -0.08913212, -0.05302668, -0.055286966, 0.045870047, 0.054198977) * go_5(0.0, -1.0); + result += mat4(0.028196108, -0.108475365, 0.30534136, -0.060468867, -0.028125746, 0.08913541, -0.16427155, -0.1438726, -0.076729536, 0.12067497, 0.10610023, -0.13761236, -0.14798948, 0.008888801, -0.0709601, 0.18086153) * go_5(0.0, 0.0); + result += mat4(0.032356992, -0.09507882, 0.04416305, 0.1702381, 0.022765236, -0.03384779, -0.18818499, -0.0009667982, -0.08211374, 0.056179576, 0.11203229, 0.032677874, 0.023131043, 0.017385522, 0.038859185, 0.07689254) * go_5(0.0, 1.0); + result += mat4(-0.19946569, 0.10223578, -0.011007075, -0.012054017, -0.04111069, 0.045821026, 0.091568366, -0.010135607, -0.06486816, -0.0150876, -0.0038319398, -0.013001018, 0.06501192, -0.05501628, -0.06579173, 0.0627125) * go_5(1.0, -1.0); + result += mat4(-0.08876346, -0.21195786, 0.10352787, -0.17021365, -0.006207832, 0.0028155188, 0.020609817, 0.11699775, 0.0052554943, 0.023174284, 0.08324736, 0.10552884, -0.10677746, -0.022280341, -0.14452647, -0.16428481) * go_5(1.0, 0.0); + result += mat4(0.06881423, 0.01654907, -0.043833572, -0.12763122, -0.07845995, 0.061439924, -0.04598429, -0.021198804, 0.024270453, -0.1110317, 0.12623245, -0.073741674, 0.009267273, 0.072253376, -0.068827786, -0.04491686) * go_5(1.0, 1.0); + result += mat4(-0.043868385, -0.014294971, 0.061818495, -0.016603304, -0.12991363, -0.077007964, -0.01579917, 0.031680174, 0.02590703, -0.044807542, 0.05999355, 0.0062399143, -0.031505365, 0.06474619, -0.03626056, 0.048004076) * go_6(-1.0, -1.0); + result += mat4(0.038369924, -0.03947042, -0.016183259, -0.11240926, 0.0008569211, 0.062523685, 0.022099469, -0.027852431, 0.010759101, 0.061643828, 0.14736107, -0.012628838, -0.042291123, -0.028651314, -0.012728941, 0.030505417) * go_6(-1.0, 0.0); + result += mat4(0.019744126, 0.03155705, -0.049746685, 0.06542934, 0.02858851, -0.2151479, 0.036535185, 0.043711018, 0.046170764, 0.23783721, 0.040217318, 0.116410784, 0.025489636, 0.15418963, 0.060821977, -0.20146777) * go_6(-1.0, 1.0); + result += mat4(0.040525097, -0.17018317, 0.08478497, 0.101141945, -0.094823174, -0.04014186, -0.20789629, 0.13119611, 0.04872673, 0.038843364, 0.068146, -0.017992882, -0.09282702, -0.08551181, 0.17525405, -0.07220005) * go_6(0.0, -1.0); + result += mat4(0.109676786, -0.12872697, -0.05436481, -0.11297899, -0.3476076, 0.05067064, 0.030256622, -0.30482042, -0.032375194, 0.027036665, 0.01133723, 0.13354962, 0.18458062, 0.26173958, -0.1249422, 0.11495221) * go_6(0.0, 0.0); + result += mat4(-0.009070609, -0.05915893, 0.04994127, -0.033699673, -0.19568527, 0.08026953, -0.0058027157, 5.710049e-05, 0.07458601, 0.059805725, -0.012785105, -0.057371218, -0.021203447, -0.0831785, -0.059901994, 0.021137169) * go_6(0.0, 1.0); + result += mat4(0.13914044, 0.08213803, -0.046812594, -0.051657073, 0.055824798, 0.019892078, -0.13527681, 0.04723963, -0.025625791, 0.12068978, 0.02892825, 0.01725807, -0.040226247, 0.008963409, -0.081254825, 0.030524898) * go_6(1.0, -1.0); + result += mat4(-0.096388586, -0.09470215, -0.031716563, -0.02802906, 0.056972828, -0.11674046, -0.13467172, 0.02885707, 0.0010936497, 0.20470308, -0.04868091, -0.046199847, -0.17659225, 0.0016437034, 0.09892104, -0.045414075) * go_6(1.0, 0.0); + result += mat4(0.102783784, -0.058230758, -0.03910727, 0.008618775, 0.111812234, -0.042372532, -0.1602116, 0.06516997, 0.042304363, -0.047125086, -0.007799068, -0.0026155375, -0.021414453, -0.15102598, 0.08804141, -0.025863212) * go_6(1.0, 1.0); + result += mat4(0.0461152, 0.068066984, 0.054625124, 0.020383677, -0.047841873, 0.0016214666, 0.16666421, -0.019880379, 0.04783381, 0.070898876, -0.003605519, 0.010822775, -0.13464326, -0.044939514, -0.030663107, -0.04876943) * go_7(-1.0, -1.0); + result += mat4(-0.1099557, -0.0035630472, -0.027051058, 0.019699687, -0.03816215, -0.12261269, -0.112815104, 0.021155255, 0.109936185, -0.0036407611, 0.16894779, -0.103013456, -0.10129641, -0.106872186, 0.09342769, 0.09902944) * go_7(-1.0, 0.0); + result += mat4(0.04047511, -0.13067627, 0.025302676, 0.0095386235, 0.045809217, -0.05629087, 0.0057874685, 0.0128096, -0.03240341, 0.19302836, -0.010918225, 0.078637995, 0.06271552, 0.1079944, 0.16571811, 0.044243533) * go_7(-1.0, 1.0); + result += mat4(-0.08516292, -0.13506281, 0.016411733, -0.037751447, 0.08214346, -0.04948113, -0.009616542, 0.018149093, -0.16575205, -0.009300949, 0.0027886638, -0.034679346, -0.0794298, 0.15937836, -0.034461062, 0.08001157) * go_7(0.0, -1.0); + result += mat4(-0.17600851, 0.09873957, 0.08284445, -0.015754513, -0.17487402, 0.53612226, -0.042821396, 0.06933355, 0.11381474, -0.21294361, 0.113365375, -0.013826238, 0.091339335, 0.24697854, -0.018973138, -0.036277413) * go_7(0.0, 0.0); + result += mat4(-0.012352867, 0.10416108, 0.041876342, -0.042264193, -0.0018209369, -0.00015610301, 0.09828008, -0.08931842, 0.09973317, 0.017358495, -0.0067921923, -0.1913181, 0.10408541, -0.14452516, -0.24339683, -0.229857) * go_7(0.0, 1.0); + result += mat4(0.11225237, 0.09031479, -0.029238584, 0.04946851, 0.027025592, 0.06579225, 0.06403362, 0.015332076, -0.035474565, -0.027897194, 0.14082736, 0.016864734, -0.020415042, 0.008544985, 0.1300136, -0.13145682) * go_7(1.0, -1.0); + result += mat4(-0.13369688, 0.044651154, -0.064976804, 0.040835142, 0.15221307, -0.13437937, 0.0407457, -0.035302322, 0.02344516, 0.039198324, 0.060809214, 0.0068535395, 0.097570136, -0.083958484, -0.105391674, 0.037805457) * go_7(1.0, 0.0); + result += mat4(-0.14296855, 0.055651464, -0.035387635, 0.018673616, 0.076377265, -0.084642775, -0.04023962, -0.029588478, 0.019257369, -0.037873138, 0.0959468, 0.009150044, 0.07325122, -0.0314821, -0.15528563, 0.026186097) * go_7(1.0, 1.0); + result += vec4(0.005299386, -0.027750058, -0.023926897, 0.035113588); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv0ups +//!BIND conv0ups1 +//!BIND conv0ups2 +//!BIND conv0ups3 +//!SAVE conv1ups2 +//!WIDTH conv0ups.w 3 * +//!HEIGHT conv0ups.h 3 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_4(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_5(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_6(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +#define go_7(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.6666666666666666)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.010773379, -0.13325028, 0.018346136, -0.1528716, -0.008146797, -0.06865242, 0.026818737, -0.09192424, -0.013648478, -0.0063683107, 0.093234375, 0.023920773, 0.02764375, 0.06564008, -0.01728772, -0.060859874) * go_0(-1.0, -1.0); + result += mat4(-0.12984093, 0.04984877, -0.21090752, 0.11165147, 0.124122895, 0.03448219, -0.09239323, 0.05502295, 0.17123832, -0.11718176, 0.013252649, -0.11461373, -0.056559496, 0.065270536, -0.05776972, -0.15349244) * go_0(-1.0, 0.0); + result += mat4(-0.107380085, -0.0113808615, 0.034637388, -0.048696794, -0.020139214, 0.00511338, 0.07097862, 0.0276873, -0.16981296, 0.047338087, 0.034067165, 0.092465065, 0.05999313, -0.07313168, 0.037693758, -0.0136288805) * go_0(-1.0, 1.0); + result += mat4(0.06796589, 0.14916262, -0.014025722, 0.066943124, 0.07855196, -0.08027092, -0.028968493, -0.010354844, 0.010685491, 0.04052424, 0.01975656, 0.03735782, -0.050862215, -0.05990837, -0.06510049, -0.2621827) * go_0(0.0, -1.0); + result += mat4(-0.037818376, 0.019700428, -0.002068841, 0.109060474, -0.10419003, -0.05105347, -0.048809715, -0.08464524, 0.034123164, 0.08841003, 0.07322615, -0.15412502, -0.28987047, 0.09626004, -0.0020555016, -0.015246429) * go_0(0.0, 0.0); + result += mat4(-0.10053273, 0.025809454, -0.041451488, -0.0069105863, 0.040212274, -0.04725307, -0.019760838, 0.010779229, -0.23969308, 0.023900993, 0.109835714, 0.10725643, -0.0040658796, -0.03961479, 0.02375363, -0.033095315) * go_0(0.0, 1.0); + result += mat4(0.007179336, -0.082703255, -0.1074364, -0.055340555, -0.029045733, -0.017448, -0.18798883, -0.0032630584, -0.010201595, -0.0048396504, 0.077003516, 0.065719225, 0.12778524, -0.06626283, -0.017082622, -0.0078512095) * go_0(1.0, -1.0); + result += mat4(-0.014353138, -0.006521591, -0.06909371, 0.012736149, -0.09435836, 0.1356958, -0.10366593, -0.0041438877, 0.009628175, 0.0040859925, -0.011165481, -0.033345588, -0.15237702, -0.0312087, 0.015260385, 0.0444127) * go_0(1.0, 0.0); + result += mat4(-0.014442371, 0.07676754, 0.022262538, -0.054716088, 0.030293861, -0.052963722, -0.021812383, -0.08621222, 0.14342898, 0.045112547, -0.060227357, 0.023352282, 0.16399784, -0.0672968, -0.0042051235, -0.1532131) * go_0(1.0, 1.0); + result += mat4(-0.020918218, 0.027395459, 0.0034248426, 0.08012823, -0.028371952, 0.036689103, 0.037822366, -0.16905384, -0.017041866, 0.06836204, -0.082468145, 0.07333768, -0.037686534, 0.017951455, -0.0018828547, 0.11055776) * go_1(-1.0, -1.0); + result += mat4(0.053536154, 0.05730052, -0.0054992423, -0.18550403, -0.023312157, -0.013950997, 0.009165346, 0.008073371, 0.05624439, 0.0014130961, 0.016543431, 0.06241809, 0.13670938, 0.00073126826, 0.001624247, 0.038753796) * go_1(-1.0, 0.0); + result += mat4(-0.0034311383, 0.007116817, 0.07452105, 0.011659134, -0.039772984, 0.059292104, 0.013225541, -0.04408646, 0.045066684, 0.048012637, 0.0011449073, 0.066179775, 0.028537784, 0.033542667, 0.099778004, 0.070685156) * go_1(-1.0, 1.0); + result += mat4(-0.0055496367, 0.08168228, -0.06103792, -0.078700975, 0.06955946, -0.009078723, 0.060624007, 0.057150934, 0.08676531, 0.0018657611, -0.06831008, -0.05569419, 0.08463942, 0.031226939, -0.04730966, -0.011964031) * go_1(0.0, -1.0); + result += mat4(0.12260423, 0.032514203, 0.008911303, -0.096912995, -0.03747238, -0.16325665, 0.1038572, -0.07069152, 0.15991132, -0.12686451, 0.14852794, 0.07974434, 0.037139475, -0.04096373, 0.042356372, -0.10029258) * go_1(0.0, 0.0); + result += mat4(-0.143151, -0.011595066, -0.068581596, 0.04138238, 0.08284006, -0.11732088, -0.0722425, -0.09281078, -0.23166539, 0.014771085, -0.10103986, 0.13934317, -0.17696716, 0.07486307, 0.055908978, -0.033082455) * go_1(0.0, 1.0); + result += mat4(0.05647076, -0.03206714, 0.07350139, -0.021267304, -0.116772406, 0.087762445, -0.03098456, 0.08932057, 0.025874196, -0.05827575, 0.020726373, -0.016715106, -0.069426864, -0.07060441, 0.056842018, -0.0679174) * go_1(1.0, -1.0); + result += mat4(-0.020990308, 0.15429191, 0.019629922, -0.030022325, -0.031660795, -0.0202408, -0.15422063, -0.026117325, -0.047787428, 0.08214524, 0.06016401, 0.16167365, 0.007815569, 0.076847136, 0.108483985, -0.07652778) * go_1(1.0, 0.0); + result += mat4(0.036064994, 0.038581718, 0.054312762, 0.040499184, 0.057826247, 0.051615417, -0.021165349, 0.022500448, 0.12059116, -0.13938737, 0.037203502, -0.096839115, 0.06128667, 0.016831718, -0.00871193, 0.0029930167) * go_1(1.0, 1.0); + result += mat4(-0.03706134, -0.023336586, 0.0048238738, 0.052703153, -0.06411955, -0.022989376, 0.084334195, 0.0030104967, -0.059048247, 0.0007168811, 0.018406779, -0.08931013, 0.015542656, 0.067232944, -0.12162123, 0.09243458) * go_2(-1.0, -1.0); + result += mat4(0.09631325, -0.05062902, -0.032008, -0.03494745, 0.03680838, -0.016007978, 0.1681059, 0.031155972, 0.1804909, -0.025729256, 0.025354143, -0.23486479, -0.03127292, -0.10423701, -0.0015036232, 0.017207187) * go_2(-1.0, 0.0); + result += mat4(0.050898142, -0.0066546467, 0.022708563, -0.08773856, -0.10027636, -0.04240748, 0.06386405, 0.13314565, 0.16859622, -0.105117716, 0.06399669, 0.032869946, 0.062459636, 0.06715258, 0.008070547, -0.022548271) * go_2(-1.0, 1.0); + result += mat4(0.116793595, 0.01273089, 0.022750624, -0.11072361, -0.009085662, 0.025767995, -0.012590074, 0.017745938, -0.023533886, -0.091529116, -0.005602433, 0.043459848, 0.09943287, -0.053660534, 0.14189643, 0.023697853) * go_2(0.0, -1.0); + result += mat4(-0.29917693, 0.023385998, -0.18892145, -0.08375141, 0.11016133, 0.092272624, -0.1946611, 0.09891922, 0.20492458, 0.12035902, 0.00074596977, -0.19037278, -0.067086115, 0.02135167, -0.054288723, 0.06540246) * go_2(0.0, 0.0); + result += mat4(0.054839212, -0.032581944, -0.026213324, -0.13856673, 0.09290412, 0.15453708, -0.14585601, -0.040790234, -0.022451773, -0.07595546, -0.0025928882, -0.003461436, 0.034573015, -0.012333621, -0.1586153, -0.06915793) * go_2(0.0, 1.0); + result += mat4(0.013772437, -0.019608572, -0.045185592, -0.16802783, 0.037788764, -0.049791697, 0.013531896, 0.10313015, -0.009065438, 0.11559135, -0.006117876, 0.064848155, -0.014022131, -0.034237325, -0.057020474, 0.0037476006) * go_2(1.0, -1.0); + result += mat4(-0.037832692, 0.026490564, -0.046946067, -0.14422522, 0.07729811, 0.044882588, 0.015131054, 0.008922788, 0.059674583, 0.040521197, -0.0483585, 0.03644257, -0.12222551, 0.038388293, -0.014869171, 0.006056235) * go_2(1.0, 0.0); + result += mat4(0.014899785, -0.00705499, 0.022272158, -0.03823196, -0.056899805, 0.008232538, 0.12835112, 0.007890736, -0.17642817, -0.13865739, -0.0008863866, -0.020847151, 0.07195754, 0.006228823, 0.0020501765, -0.033757832) * go_2(1.0, 1.0); + result += mat4(-0.019454308, 0.041543886, -0.10635596, 0.041844036, -0.07532158, 0.0015970292, -0.04835291, 0.0031403354, -0.0031588126, 0.0018797811, -0.012941282, 0.042755254, 0.06927625, -0.0029895287, -0.08432762, 0.08883082) * go_3(-1.0, -1.0); + result += mat4(0.04124189, -0.17871232, 0.029984072, -0.11300213, -0.08678469, -0.08368963, 0.07457151, -0.16380833, 0.054542996, 0.068214625, 0.05323982, -0.08397058, 0.05747041, -0.077369794, -0.062131416, -0.06138352) * go_3(-1.0, 0.0); + result += mat4(-0.0007387199, 0.0005401213, 0.030776624, -0.02367931, 0.048268933, -0.10748841, -0.015453994, -0.045566984, -0.022275386, -0.06585294, 0.068738, -0.04186048, 0.013701639, 0.025698824, 0.042036224, -0.03185016) * go_3(-1.0, 1.0); + result += mat4(-0.13094874, -0.0560659, -0.063632995, -0.089430586, -0.034798793, -0.055078138, 0.07083631, -0.07542177, -0.25205824, 0.18131877, -0.06970177, 0.059663247, 0.008941054, -0.0749315, 0.10443532, -0.014879092) * go_3(0.0, -1.0); + result += mat4(0.060569935, -0.0074758953, -0.055940595, 0.15320498, 0.055529255, 0.07498688, -0.24275857, -0.086847514, -0.10211266, -0.024097167, -0.20594142, -0.02878009, -0.2029714, -0.10487691, 0.03185034, -0.025810733) * go_3(0.0, 0.0); + result += mat4(-0.12118787, -0.10833348, -0.10401609, -0.08601061, -0.041819055, -0.07175898, 0.002354427, 0.02531539, -0.028673707, -0.124353334, 0.030226748, -0.033797923, 0.03136095, -0.04378527, 0.06578015, 0.06883648) * go_3(0.0, 1.0); + result += mat4(0.022786876, -0.106178455, -0.029356318, -0.070022464, 0.00922158, -0.024296954, 0.057507113, -0.13781165, 0.016173026, 0.05787189, 0.05150099, -0.05949634, 0.022618655, -0.01956636, -0.033876557, -0.072419226) * go_3(1.0, -1.0); + result += mat4(-0.08856093, 0.03388579, -0.086664826, -0.050871532, 0.00043561612, 0.14029606, 0.05862929, -0.05623749, 0.017565114, 0.011839109, 0.013828233, -0.18454114, -0.050516702, 0.087137595, 0.040252656, -0.01677913) * go_3(1.0, 0.0); + result += mat4(-0.03991627, 0.01261972, 0.054937847, -0.08364099, -0.05622806, 0.0047415774, 0.0048039337, 0.01480692, -0.0132515095, -0.004070498, 0.047340598, -0.041554607, 0.013471688, -0.0012447956, -0.039093062, -0.10907795) * go_3(1.0, 1.0); + result += mat4(0.021189118, -0.05241465, 0.042976, 0.034264904, -0.14510728, 0.02873931, 0.01845405, 0.12381923, -0.061601758, 0.014426877, -0.06421808, -0.028817724, -0.03168036, -0.035064895, 0.048245188, 0.03154415) * go_4(-1.0, -1.0); + result += mat4(-0.046921793, 0.12729059, 0.051400434, 0.12739788, -0.027870914, 0.06689444, 0.12776418, 0.018720536, -0.18006173, -0.026558192, -0.10393907, -0.06653183, 0.0386169, -0.02420454, -0.0069407905, -0.10674485) * go_4(-1.0, 0.0); + result += mat4(-0.06974602, 0.030878898, 0.035664577, 0.09163117, -0.03385263, -0.013981724, -0.05417749, 0.078872174, 0.077933654, -0.053969186, -0.075152665, -0.097501524, 0.007359103, -0.0055170334, -0.035784382, -0.011149727) * go_4(-1.0, 1.0); + result += mat4(-0.12600738, 0.112411655, 0.021003474, 0.08394408, -0.0068660914, -0.0070775487, -0.032542247, 0.06220799, 0.081130326, -0.020583797, 0.022266936, 0.02321497, -0.008355328, 0.042265356, -0.07767447, 0.094145864) * go_4(0.0, -1.0); + result += mat4(0.22157232, 0.07980892, 0.17811519, -0.3948419, -0.18386054, -0.012668223, -0.10646584, -0.103671126, 0.15824732, -0.019695727, -0.013494174, 0.111227505, -0.0058521237, 0.14865461, 0.18566546, 0.069290616) * go_4(0.0, 0.0); + result += mat4(0.070055425, -0.1583035, 0.016645938, -0.009720748, 0.09576679, -0.019951109, 0.044518013, -0.06335425, 0.08379782, 0.06047332, -0.16433978, -0.0034642057, 0.013061672, -0.007918953, -0.0049442975, 0.04942921) * go_4(0.0, 1.0); + result += mat4(-0.08114284, -0.018856885, 0.11689622, 0.06909917, -0.027572189, 0.016203558, 0.051501397, -0.034298997, 0.05772637, 0.019343115, -0.102042474, -0.037319086, -0.0630886, 0.0006934294, 0.08860384, 0.026380517) * go_4(1.0, -1.0); + result += mat4(0.16596714, 0.14505897, -0.04155494, 0.014704244, 0.07104893, 0.14335804, 0.0692165, -0.025348278, -0.014616563, 0.02670063, -0.01949867, -0.015292871, 0.070823014, -0.049257036, -0.0008982118, -0.008689293) * go_4(1.0, 0.0); + result += mat4(-0.046763286, 0.011514989, -0.122827835, 0.120339476, -0.019439874, -0.021164281, -0.03043122, 0.09880198, -0.02856512, -0.08784067, 0.088063225, -0.072501145, -0.17521285, 0.049274176, 0.030654777, 0.03219053) * go_4(1.0, 1.0); + result += mat4(0.010774123, 0.07244017, -0.027567, -0.3042531, 0.013650298, -0.033108883, -0.006992217, 0.078730345, 0.02122525, 0.01613853, 0.13223703, 0.022128796, 0.06624568, 0.0015342244, 0.0050394353, 0.014934483) * go_5(-1.0, -1.0); + result += mat4(-0.068451814, 0.04524881, 0.13098826, -0.047229577, -0.089810416, 0.05024813, -0.023596698, 0.019852864, -0.09382708, 0.047823515, 0.046208918, 0.038787603, -0.18016998, 0.041748315, 0.04991817, 0.14533369) * go_5(-1.0, 0.0); + result += mat4(0.007943992, -0.035991993, -0.021322006, -0.023561362, 0.03333043, -0.1209179, 0.019207314, 0.0375389, 0.06877566, 0.11280428, 0.01314338, 0.07742383, 0.026820341, 0.03379967, -0.06119831, -0.14328238) * go_5(-1.0, 1.0); + result += mat4(-0.10927233, -0.060229287, 0.028159766, 0.07981562, -0.034203906, 0.02898321, -0.08962518, -0.026310142, -0.019359693, 0.08630387, -0.062503956, 0.107800014, -0.077233255, -0.013736811, 0.06765195, -0.111615986) * go_5(0.0, -1.0); + result += mat4(0.056070946, -0.1673722, -0.068222955, 0.14344302, 0.008550983, 0.109370075, -0.0718237, -0.21439798, 0.087295316, -0.02002976, 0.0492294, 0.07230409, 0.10336873, -0.028268235, -0.04916943, -0.09327968) * go_5(0.0, 0.0); + result += mat4(0.07781267, 0.048755344, 0.10299425, -0.10144247, -0.02797835, 0.045273103, -0.03212181, -0.058474842, -0.08691153, -0.081011154, 0.09422595, -0.045192823, 0.020862237, 0.0037564635, -0.06350643, 0.10690313) * go_5(0.0, 1.0); + result += mat4(-0.049739495, 0.06048482, -0.08281123, -0.028578287, -0.03144295, -0.10446834, -0.0053704865, -0.17024766, -0.058496293, -0.051011022, 0.011326107, 0.061208814, 0.11980172, -0.055324163, -0.14052723, 0.053606875) * go_5(1.0, -1.0); + result += mat4(0.05487482, -0.18271531, 0.05642448, -0.1504291, 0.059293207, -0.011658486, 0.025785489, -0.09553413, -0.05519662, -0.05105145, -0.09886545, -0.02784561, -0.09035061, -0.014003552, -0.06263171, 0.17187388) * go_5(1.0, 0.0); + result += mat4(-0.11630435, -0.07242824, 0.09471105, -0.04403716, 0.056197144, 0.017389454, 0.050121296, -0.023262395, -0.07639264, 0.12836945, -0.03693076, 0.026727198, -0.045340326, -0.024228575, 0.046175115, -0.0023615584) * go_5(1.0, 1.0); + result += mat4(0.045673423, 0.029376771, 0.0058960076, -0.011690486, 0.040948313, 0.00033566428, -0.078610085, -0.1923095, 0.015124016, 0.03504836, 0.10945228, -0.04973195, -0.035196844, -0.002643685, 0.02339453, -0.092498146) * go_6(-1.0, -1.0); + result += mat4(-9.175144e-05, 0.033409104, 0.040829856, 0.04208305, 0.03220207, 0.08722399, -0.07321389, 0.08655354, 0.007852992, -0.08140217, -0.05744028, 0.1130556, 0.11585877, 0.033027284, 0.08954412, 0.09637844) * go_6(-1.0, 0.0); + result += mat4(0.009810212, -0.004692366, 0.016258111, 0.060675208, -0.0061935033, 0.060017355, -0.10624005, -0.103517056, -0.016645217, 0.06108931, -0.08404053, -0.052237418, -0.05495817, -0.041707195, -0.005650813, 0.10455568) * go_6(-1.0, 1.0); + result += mat4(-0.013510583, -0.0015044374, 0.023143407, -0.029222352, 0.04133373, -0.17958635, -0.004044454, -0.13689542, 0.044074584, -0.0022727505, -0.050793514, -0.0014197935, -0.012874273, 0.07767363, -0.0056788926, -0.060549226) * go_6(0.0, -1.0); + result += mat4(-0.20708455, 0.19714263, -0.047439054, 0.061314642, -0.13908294, -0.03564585, 0.18844455, -0.07656319, -0.027228372, -0.0003504338, -0.0876453, -0.16153371, -0.20206393, -0.0824074, 0.07426116, -0.03313524) * go_6(0.0, 0.0); + result += mat4(0.14003715, -0.04489994, 0.11727284, -0.02034374, 0.09415694, -0.09790171, 0.017811516, 0.004945408, 0.011151917, 0.0065421355, 0.0650504, 0.030591844, 0.023743728, 0.080276124, 0.03329977, -0.021011258) * go_6(0.0, 1.0); + result += mat4(0.033209547, -0.064974785, 0.037238188, 0.084603265, -0.07237624, 0.022390625, -0.03781584, -0.034842096, -0.14621674, 0.084718555, -0.0033507666, -0.002409852, -0.0334208, 0.038279716, 0.04241758, -0.007934263) * go_6(1.0, -1.0); + result += mat4(0.09260781, -0.03533289, 0.03948036, 0.0033985232, -0.061207756, 0.034610566, -0.021232948, 0.18351275, 0.0135108875, 0.023678917, -0.033803303, -0.03424109, 0.09098361, 0.044532146, 0.11310433, -0.13387783) * go_6(1.0, 0.0); + result += mat4(0.035433106, -0.013315172, -0.09899418, 0.010384595, 0.013123027, 0.13166636, -0.12113552, 0.07023188, -0.08677719, 0.10380258, -0.06491381, 0.088339224, 0.028492138, -0.013855274, 0.042146087, 0.037210286) * go_6(1.0, 1.0); + result += mat4(0.0118551655, 0.011881825, 0.0012513773, -0.29842687, 0.015152467, -0.012379885, 0.007491827, 0.04672621, -0.039018527, 0.063113146, -0.018338528, 0.08606183, 0.040836196, -0.014706618, 0.08505284, -0.053019464) * go_7(-1.0, -1.0); + result += mat4(0.085957885, -0.057026774, -0.10680372, -0.054673444, -0.044920642, -0.02150639, -0.19568424, -0.012167548, 0.0094547, -0.12740794, -0.09753801, 0.18647175, -0.011587946, 0.009045976, -0.055947494, -0.08864113) * go_7(-1.0, 0.0); + result += mat4(-0.10643029, 0.023644416, -0.042127535, 0.02908656, 0.07169349, 0.03850818, 0.059762653, -0.02633128, 0.054261427, 0.078785546, -0.047817495, -0.04075799, -0.12432041, -0.13646565, -0.07101156, -0.066338435) * go_7(-1.0, 1.0); + result += mat4(-0.0036060396, -0.0027861246, -0.038555164, -0.05322004, 0.10128716, 0.024530249, 0.013425216, 0.046541795, -0.0016057328, -0.0141123505, 0.032346413, -0.018870756, -0.00469762, -0.009107471, -0.14014857, 0.034257863) * go_7(0.0, -1.0); + result += mat4(0.032631207, -0.0023102923, 0.005430841, -0.2713018, -0.05554147, -0.050293513, -0.16733491, 0.072879665, -0.012097781, -0.047060948, 0.09123701, -0.044434346, -0.025493262, 0.24324937, -0.22666596, -0.007906154) * go_7(0.0, 0.0); + result += mat4(-0.06685568, 0.13164215, -0.1528712, 0.031538565, -0.08007672, 0.038792517, 0.02615036, 0.055107627, 0.044818852, 0.04285147, 0.014062777, -0.0074646017, 0.008171892, 0.018163204, -0.17619182, -0.04108532) * go_7(0.0, 1.0); + result += mat4(-0.015660536, -0.018938752, -0.005833929, -0.0035848632, 0.006549891, -0.021335827, -0.03022379, 0.14764309, 0.0432558, -0.044752058, -0.025852531, -0.024714898, -0.02366237, -0.05103176, 0.00095822517, 0.106250785) * go_7(1.0, -1.0); + result += mat4(-0.16938297, -0.057609215, -0.073838405, -0.20301907, -0.014371799, 0.10703029, -0.050330624, 0.056260847, -0.010663833, 0.029461538, 0.039329972, 0.03691592, 0.15988533, -0.14160618, -0.13238208, 0.055504102) * go_7(1.0, 0.0); + result += mat4(0.09897868, 0.094456755, -0.001765962, 0.074587665, 0.08853994, 0.090077385, -0.036821872, 0.023791702, 0.0013655893, -0.010292126, -0.006655838, 0.014772215, -0.1274574, 0.041696858, 0.027986838, 0.037936773) * go_7(1.0, 1.0); + result += vec4(0.0046476824, 0.027375836, 0.016970862, 0.011731038); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x3-(VL)-Conv-3x3x3x24 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv1ups +//!BIND conv1ups1 +//!BIND conv1ups2 +//!SAVE MAIN +//!WIDTH conv1ups.w +//!HEIGHT conv1ups.h +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv1ups_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv1ups1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv1ups2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv1ups_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv1ups1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv1ups2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.005254592, -0.018757867, -0.015085193, 0.0, 0.09495985, -0.16238034, -0.0053182673, 0.0, 0.05130886, -0.019089784, 0.0021606977, 0.0, -0.0050884252, -0.0148408925, -0.0039073024, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.0027982686, -0.0180415, -0.01787786, 0.0, 0.04666108, -0.16439973, 0.13316426, 0.0, -0.11120306, 0.065285176, 0.047622934, 0.0, -0.0004775587, 0.0035521288, 0.0008400152, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.017746428, -0.014509182, -0.010984747, 0.0, 0.06505376, 0.20612718, -0.03806855, 0.0, -0.01527659, -0.03466789, -0.020361444, 0.0, 0.011079114, 0.014947587, 0.008495816, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.07831245, 0.09598534, 0.08608037, 0.0, 0.008052521, 0.17842343, 0.15529382, 0.0, 0.15771978, -0.039439585, -0.012488644, 0.0, -0.007574169, -0.0015686441, -0.003389103, 0.0) * go_0(0.0, -1.0); + result += mat4(0.010234201, 0.039374817, 0.027153295, 0.0, -0.067681186, -0.120320305, 0.013762433, 0.0, -0.19075067, -0.020968745, 0.00012614117, 0.0, -0.004527889, -0.017591938, -0.008411707, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.0030420967, -0.001558541, 6.965576e-05, 0.0, -0.033608887, -0.09474971, -0.2262944, 0.0, -0.07190869, 0.020280447, 0.09521507, 0.0, 0.005413933, 0.008795136, 0.008203193, 0.0) * go_0(0.0, 1.0); + result += mat4(0.0015108645, 0.012904016, 0.016192287, 0.0, -0.064128086, 0.13379082, -0.35676238, 0.0, 0.05369797, -0.009161115, -0.054337718, 0.0, 0.018602658, 0.015447565, 0.016165644, 0.0) * go_0(1.0, -1.0); + result += mat4(0.008233469, -0.0154424505, -0.0029020428, 0.0, 0.04368308, 0.011088607, -0.0438222, 0.0, 0.108082294, 0.018478753, -0.06098108, 0.0, -0.010249234, 0.0012413476, -0.009973051, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.010265514, -0.0116993105, -0.017459782, 0.0, -0.08879862, 0.03483122, 0.35975364, 0.0, 0.0033217808, 0.017610483, 0.017924132, 0.0, 0.0043708533, -0.0005878419, 0.0020788403, 0.0) * go_0(1.0, 1.0); + result += mat4(0.013100638, 0.060279634, 0.05250057, 0.0, -0.0010344542, -0.00186081, -0.0039032432, 0.0, 0.02386054, -0.017394792, -0.011023623, 0.0, 0.0024469923, -0.011567568, -0.0060674627, 0.0) * go_1(-1.0, -1.0); + result += mat4(-0.008273639, -0.08614229, -0.08208723, 0.0, 0.0038485574, 0.0068076635, 0.008062351, 0.0, -0.041637324, -0.012542969, 0.039497502, 0.0, 0.0038057968, 0.011786499, 0.0063744723, 0.0) * go_1(-1.0, 0.0); + result += mat4(-0.020105148, -0.007642187, -0.030856, 0.0, -0.003524435, -0.00735857, -0.0053208256, 0.0, 0.03263318, -0.003193644, -0.014232393, 0.0, -5.833118e-05, 0.0017830055, 0.0030096706, 0.0) * go_1(-1.0, 1.0); + result += mat4(0.016909711, -0.004058973, -0.014199138, 0.0, 0.0068232864, 0.004693168, 0.004873514, 0.0, -0.13790038, 0.08352342, -0.0324787, 0.0, 0.00041656455, 0.008086727, 0.0030545967, 0.0) * go_1(0.0, -1.0); + result += mat4(-0.023683438, -0.09624147, -0.06831003, 0.0, -0.008321081, -0.0113018975, -0.008104185, 0.0, 0.050059218, 0.089206725, -0.09422268, 0.0, -0.009555781, -0.008833004, -0.0062801726, 0.0) * go_1(0.0, 0.0); + result += mat4(0.0006993997, 0.032285403, 0.0590182, 0.0, -0.0014223646, 0.008005577, 0.00064186833, 0.0, 0.21587205, -0.048408728, -0.09674616, 0.0, -0.0096332785, -0.01844816, -0.009809878, 0.0) * go_1(0.0, 1.0); + result += mat4(-0.0017698067, -0.011536847, -0.032046486, 0.0, 0.005225725, 0.006681489, 0.0057289354, 0.0, -0.027070515, 0.009334237, 0.08355905, 0.0, 0.009699363, 0.02103018, 0.020502198, 0.0) * go_1(1.0, -1.0); + result += mat4(-0.0068307347, 0.06917021, 0.039881486, 0.0, 0.0045612897, 0.0073527456, 0.0027704758, 0.0, -0.07681857, -0.024538197, 0.066249035, 0.0, 0.018884921, 0.0024185115, 0.008488438, 0.0) * go_1(1.0, 0.0); + result += mat4(0.0030933758, -0.0036962985, 0.016858855, 0.0, 0.0031607682, -0.0016671033, 0.0054770466, 0.0, 0.041883804, -0.05856681, 0.052265577, 0.0, -0.0034462444, 0.007220778, -0.0049047135, 0.0) * go_1(1.0, 1.0); + result += mat4(-0.008796289, -0.0024576676, -0.004595136, 0.0, -0.01892227, -0.02289196, -0.022207217, 0.0, 0.026002366, 0.00527656, -0.01178999, 0.0, -0.081901155, 0.092980735, 0.06647905, 0.0) * go_2(-1.0, -1.0); + result += mat4(0.013699341, -0.022251487, 0.00212006, 0.0, 0.0022527578, 0.005115263, 0.0024595936, 0.0, 0.06802264, 0.04361523, 0.011463202, 0.0, -0.08293379, -0.037324883, -0.014784007, 0.0) * go_2(-1.0, 0.0); + result += mat4(-0.050218523, 0.0035854764, -0.034595665, 0.0, -0.009185596, -0.008213256, -0.0063013337, 0.0, 0.051666725, 0.002519945, 0.020391578, 0.0, 0.003138411, 0.0067758807, -0.012770092, 0.0) * go_2(-1.0, 1.0); + result += mat4(0.032333378, 0.02466946, 0.022505494, 0.0, -0.0083795525, -0.008804619, -0.008356948, 0.0, 0.038903773, -0.016370708, -0.016763346, 0.0, -0.12162343, -0.08718591, -0.016114233, 0.0) * go_2(0.0, -1.0); + result += mat4(0.14274949, 0.14927898, 0.15043736, 0.0, 0.0155599965, 0.01959499, 0.01897414, 0.0, 0.1270164, 0.06282633, -0.04108991, 0.0, 0.13393795, 0.055132177, 0.0011949918, 0.0) * go_2(0.0, 0.0); + result += mat4(-0.092501506, -0.13535453, -0.09822756, 0.0, -0.011943714, -0.014657381, -0.01672645, 0.0, -0.086055554, -0.094672106, 0.045871347, 0.0, 0.041400526, 0.017499585, -0.019431707, 0.0) * go_2(0.0, 1.0); + result += mat4(0.026763977, 0.014384241, 0.017063811, 0.0, -0.011180287, -0.0056468076, -0.01378504, 0.0, 0.023430727, 0.00082399184, -0.017604599, 0.0, 0.019577585, -0.042885717, -0.0019262027, 0.0) * go_2(1.0, -1.0); + result += mat4(-0.03158236, -0.011085954, 0.0062921573, 0.0, 0.0070171887, -0.0040961946, 0.008240083, 0.0, -0.16102828, -0.03115285, -0.032626532, 0.0, 0.048951775, 0.022836884, 0.0022947567, 0.0) * go_2(1.0, 0.0); + result += mat4(-0.02446834, -0.01722671, -0.04932979, 0.0, -0.018479923, -0.016315645, -0.014568363, 0.0, -0.08584075, 0.013530463, 0.02634945, 0.0, 0.03166419, -0.0038847823, 0.006631584, 0.0) * go_2(1.0, 1.0); + result += mat4(0.0046903454, -0.0078145955, -0.002881733, 0.0, -0.0032192532, -0.0023766425, -0.005304056, 0.0, 0.002075086, 0.001346401, 0.003119866, 0.0, 0.046239153, 0.0316365, 0.021611348, 0.0) * go_3(-1.0, -1.0); + result += mat4(0.0038853723, 0.026791377, 0.016439585, 0.0, 0.0029055811, 0.0021269377, 0.002880523, 0.0, 0.002842519, 0.003125611, 0.004247331, 0.0, -0.15446155, -0.11018698, -0.108689025, 0.0) * go_3(-1.0, 0.0); + result += mat4(0.009707763, 0.0062886328, 0.0095384335, 0.0, -0.0033002114, -0.0045184703, 0.00094776496, 0.0, 0.0074377013, 0.007007375, 0.0064297393, 0.0, -0.06333744, -0.063041285, -0.07653862, 0.0) * go_3(-1.0, 1.0); + result += mat4(-0.017742136, -0.015275463, -0.012908959, 0.0, -0.00021009381, -0.0070606046, -0.0011363884, 0.0, -0.0017327431, -0.007043264, 0.0009548218, 0.0, -0.0073412512, 0.017348787, -0.009653418, 0.0) * go_3(0.0, -1.0); + result += mat4(-0.024081307, -0.030407947, -0.022509713, 0.0, 0.00895745, 0.016481094, 0.011516272, 0.0, -0.0058401483, 0.0010116898, -0.0028305475, 0.0, 0.11353651, 0.05044185, 0.14216848, 0.0) * go_3(0.0, 0.0); + result += mat4(0.0006503813, -0.00843029, -0.010461295, 0.0, 0.002523751, 0.006565067, 0.00063075445, 0.0, 0.005178493, 0.000379669, 0.0020746172, 0.0, -0.025654146, 0.0088300295, -0.055120986, 0.0) * go_3(0.0, 1.0); + result += mat4(0.01604027, 0.017836839, 0.01756045, 0.0, -0.000653784, 0.0071525937, 0.0035807702, 0.0, -0.003669385, 0.0007951296, -0.0037883278, 0.0, -0.021026582, -0.030122342, -0.019120207, 0.0) * go_3(1.0, -1.0); + result += mat4(-0.0075783534, -0.017179204, -0.02404258, 0.0, 0.010827431, 0.003507088, 0.012902122, 0.0, -0.0054161274, -0.0057888385, -0.0051716617, 0.0, 0.05137473, 0.005526086, 0.04326977, 0.0) * go_3(1.0, 0.0); + result += mat4(-0.0031085038, -0.0028056738, 0.010588121, 0.0, 0.0028965238, 0.004071662, 0.000101293066, 0.0, 0.00040031073, -0.00041478255, -0.004495397, 0.0, -0.003207949, 0.031456985, -0.009085761, 0.0) * go_3(1.0, 1.0); + result += mat4(0.010081116, 0.002063289, 0.009083497, 0.0, 0.008646563, 0.0033220204, 0.021598583, 0.0, -0.0010274828, 0.008802747, 0.004317745, 0.0, 0.0038647072, 0.011780735, 0.012522434, 0.0) * go_4(-1.0, -1.0); + result += mat4(0.0057788608, 0.013678763, 0.0035954867, 0.0, 0.079623915, 0.064366356, 0.08500603, 0.0, 0.0037097908, -0.0040775114, -0.0030950457, 0.0, -0.00033510555, -0.007889699, 0.00041357763, 0.0) * go_4(-1.0, 0.0); + result += mat4(0.0032172403, 0.0019201472, 0.0013542707, 0.0, 0.022996396, 0.030808633, 0.021855233, 0.0, -0.006251132, -0.0006679484, -0.003631441, 0.0, 0.004161011, 0.00307829, 0.0055197086, 0.0) * go_4(-1.0, 1.0); + result += mat4(-0.00532508, -0.003511613, -0.007755409, 0.0, 0.060700998, 0.06649411, 0.061377708, 0.0, -0.0025372675, -0.004137292, -0.007275044, 0.0, -0.021939326, -0.005733262, -0.0047699506, 0.0) * go_4(0.0, -1.0); + result += mat4(0.009173537, 0.014304193, 0.010216183, 0.0, -0.31371036, -0.29929778, -0.32710865, 0.0, -0.006829652, 9.268505e-05, -0.0014750211, 0.0, 0.053703837, 0.06144078, 0.038678754, 0.0) * go_4(0.0, 0.0); + result += mat4(0.0048204805, 0.0030749908, 0.009710859, 0.0, 0.11020071, 0.09086675, 0.10684794, 0.0, -9.168709e-05, -0.011415532, -0.0067179725, 0.0, 0.014402705, 0.02327388, 0.012822647, 0.0) * go_4(0.0, 1.0); + result += mat4(0.002633879, 0.0151467025, 0.009785409, 0.0, 0.003971507, 0.020577636, 0.013059014, 0.0, 0.0015010595, -0.003990951, -0.0039251777, 0.0, -0.087732576, -0.1220461, -0.105398156, 0.0) * go_4(1.0, -1.0); + result += mat4(1.9667075e-05, -0.014126217, 0.0005683502, 0.0, 0.05864391, 0.08626182, 0.08147204, 0.0, -0.004497728, -0.009753341, -0.007827621, 0.0, -0.009917512, -0.0011731245, -0.011392064, 0.0) * go_4(1.0, 0.0); + result += mat4(-0.0009837402, 0.0006529726, -0.007407727, 0.0, -0.0009069719, -0.017210206, -0.021216527, 0.0, 0.0026864838, 0.0074854055, 0.011746227, 0.0, 0.015880473, -0.00025867054, 0.011937394, 0.0) * go_4(1.0, 1.0); + result += mat4(0.020672686, 0.024725065, 0.01964096, 0.0, 0.039276525, 0.034113694, 0.027934633, 0.0, -0.017184, -0.005851089, -0.004547797, 0.0, 0.0028518494, 0.0031415436, 0.00052153034, 0.0) * go_5(-1.0, -1.0); + result += mat4(-0.012319041, -0.00870564, -0.011336498, 0.0, 0.025565468, 0.07941423, 0.053138573, 0.0, -0.018912384, -0.027336033, -0.017181158, 0.0, -0.0049842624, -0.000989833, -0.0019915537, 0.0) * go_5(-1.0, 0.0); + result += mat4(0.0020394358, -0.0052042226, 0.0034736954, 0.0, 0.03258947, -0.0371258, 0.020906823, 0.0, -0.0013788573, -0.0031019335, -0.010819204, 0.0, 0.0012025153, -0.004350207, -0.0020159793, 0.0) * go_5(-1.0, 1.0); + result += mat4(-0.0034382, 0.0023128714, -0.0008744751, 0.0, -0.013170037, -0.004509947, -0.019914357, 0.0, -0.00392815, -0.00992706, -0.0051185694, 0.0, 0.004265402, 0.013595216, 0.003271742, 0.0) * go_5(0.0, -1.0); + result += mat4(-0.014518558, -0.02355717, -0.018948758, 0.0, 2.4407313e-05, -0.013244339, 0.0058093998, 0.0, 0.005873005, -0.0031970814, -0.0028208676, 0.0, 0.0060333544, -0.0013712785, 0.00630574, 0.0) * go_5(0.0, 0.0); + result += mat4(0.0010533057, 0.00064965064, -0.0041747424, 0.0, -0.0060379826, 0.013578647, 0.0025568828, 0.0, 0.021508852, 0.03151479, 0.03111494, 0.0, -0.009153297, -0.009173591, -0.011134595, 0.0) * go_5(0.0, 1.0); + result += mat4(-0.009181927, -0.013954441, -0.005982601, 0.0, -0.0044402024, -0.008755557, 0.003751448, 0.0, -0.0004215054, -0.013358171, -0.00969154, 0.0, 0.0007070342, -0.005016411, 0.0002690561, 0.0) * go_5(1.0, -1.0); + result += mat4(0.0021662863, -0.0071886997, -0.0042919647, 0.0, 0.0033834674, -0.0035246345, -0.007832887, 0.0, -0.010165766, 0.018209103, -0.0024470524, 0.0, -0.012310371, -0.015656961, -0.017626433, 0.0) * go_5(1.0, 0.0); + result += mat4(-0.0037462846, 0.005297534, 0.0028267305, 0.0, 0.0052644913, 0.018711697, 0.0070290607, 0.0, 0.013766243, 0.007410459, 0.0067783133, 0.0, -0.016693022, -0.0140022505, -0.009408555, 0.0) * go_5(1.0, 1.0); + result += vec4(0.0016032922, 0.0018567948, 0.001717782, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x4_UL.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x4_UL.glsl new file mode 100644 index 0000000..f216df1 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x4_UL.glsl @@ -0,0 +1,4815 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.21686034, 0.010273451, 0.15376332, -0.22370663, -0.14823641, 0.05847777, -0.11170672, -0.2794799, 0.31577533, -0.105595954, 0.22051519, -0.3041742, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.18516932, -0.55408335, -0.21974638, -0.12663211, 0.15778883, -0.00079428876, 0.09723738, 0.24894303, 0.5431219, 0.46600795, 0.25859228, 0.5342776, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.09650102, 0.14374134, 0.009930892, 0.20204046, 0.29794076, -0.2009416, 0.40836716, -0.10684464, -0.10803752, 0.05385496, -0.14949757, 0.11512128, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.13328597, -0.05603695, 0.2066786, -0.2341972, -0.312389, -0.11184745, 0.41893005, -0.38365173, 0.10591462, -0.17695336, -0.5522976, -0.37277612, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.5247597, 0.44467092, 0.15017024, 0.23272365, -0.004378827, 0.5503159, 0.06559786, 0.63450027, -0.2821488, 0.70697284, 0.06037206, 0.14824837, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.27582723, 0.28981453, -0.27953598, -0.38641593, -0.069845125, -0.2876848, 0.42303023, 0.2096282, -0.46025985, 0.019995337, 0.14215434, -0.0032444412, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.3542521, -0.1290754, -0.33536354, 0.07639946, -0.21480027, 0.5740277, -0.2068473, -0.24294598, 0.06887606, 0.12432943, -0.2565582, 0.00022530541, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.34990567, -0.117348365, 0.16015093, 0.2501366, 0.19090433, -0.5718451, -0.22541083, 0.00674141, -0.1110584, -0.13668513, 0.14688468, -0.021032542, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.11405209, -0.19855933, 0.18547794, 0.22860141, 0.13999332, 0.14210562, -0.33748418, -0.122842506, -0.15546343, -0.024134178, -0.21489416, -0.0865141, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.006117499, -0.0031791371, 0.048566718, -0.021858927); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.10929366, 0.327926, 0.4713077, 0.19815566, 0.09252597, -0.12897652, 0.14017919, -0.117154755, 0.07230293, 0.10565211, 0.047754508, -0.1503215, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.0026017402, -0.056956105, 0.0695359, -0.40459624, -0.41438407, -0.24114844, 0.673736, 0.22991985, 0.17312498, -0.36519593, -0.3227756, -0.31550214, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.3247658, 0.18215618, -0.21491867, 0.10206452, 0.35056487, -0.04285168, -0.34823352, 0.2470923, 0.25979036, -0.48504788, -0.13086547, 0.099075995, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.040807806, -0.30899513, 0.2068589, 0.17732157, -0.086111076, 0.3898061, -0.11504756, -0.20005062, -0.29525205, -0.107833266, 0.227913, 0.06954518, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.4532243, 0.21249862, -0.24575852, 0.11716148, 0.13279238, 0.8276753, -0.100262396, -0.14868626, -0.05340188, 0.44897172, 0.18865296, -0.57959807, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.4039624, 0.09238004, -0.0056891013, 0.67555726, 0.14713438, -0.18302856, 0.022408731, 0.26836616, -0.4203644, -0.3223556, -0.476889, -0.36540377, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.07463623, -0.13695839, 0.19964464, 0.034749743, 0.0656226, -0.12622209, -0.18529165, -0.2443194, -0.14840299, 0.010471225, -0.30794603, 0.06472215, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.24495342, 0.2709279, 0.46451533, -0.1110042, 0.059573397, 0.08838069, -0.45778695, -0.090110734, 0.014180886, -0.3838859, -0.154384, 0.3170096, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.10225649, 0.17237318, 0.12612183, 0.13250452, -0.21184945, -0.014274503, -0.03265513, -0.1426008, -0.51739746, -0.20366845, 0.29887617, 0.16982934, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.006826314, 0.00461317, -0.026852833, -0.057010923); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf2 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.0471075, 0.31225806, -0.37929785, 0.43969426, -0.0020258147, -0.17849202, 0.18287076, 0.5349646, 0.26426196, -0.07494979, 0.043889828, 0.083557904, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.30102602, -0.20380482, -0.48910898, -0.132322, 0.056846913, 0.123972304, 0.16173325, 0.07034413, -0.21596576, -0.069037, 0.3502346, 0.25920063, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.45725793, 0.33194527, 0.31424007, 0.02424403, -0.5363229, -0.29947516, -0.1431686, 0.42444733, 0.22996962, 0.2109503, -0.09393614, 0.33772293, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.024214078, 0.33155, 0.20300971, -0.36914715, -0.16345179, 0.5682778, -0.26810458, -0.42982668, -0.14192776, -0.110919, 0.42419475, -0.1473602, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.18150777, -0.47733742, 0.10404226, 0.21457794, 0.37720117, 0.13280968, 0.008208851, 0.059821837, 0.443415, 0.030501857, 0.13587411, 0.080713995, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.18850364, -0.3472835, 0.49484876, -0.06648983, 0.03814947, 0.27776024, -0.04688367, 0.61331964, -0.2776909, -0.36696884, 0.03983977, -0.35913125, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.19481012, -0.08641656, 0.011285091, -0.35443705, -0.17543805, -0.45401692, -0.5278059, -0.14485542, 0.006704323, -0.17372592, -0.07998461, 0.1811669, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.0059836046, 0.053937424, -0.2764704, 0.096112974, 0.36684337, 0.26575375, 0.563075, 0.45542747, 0.15248352, 0.11391156, -0.29306483, -0.1514665, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.035114568, -0.13244304, -0.07839212, 0.39952558, 0.06760725, 0.2142741, -0.020275498, 0.3155373, 0.16888031, 0.24090965, -0.3730481, 0.1806138, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.005380107, -0.017430196, 0.03937373, 0.0043463805); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf3 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.049419224, 0.15691243, 0.39030707, 0.017580656, 0.08154996, -0.23705184, -0.15799701, 0.040712252, -0.3821994, 0.07067287, 0.01839085, 0.030687721, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.020802025, 0.33823022, -0.052135084, 0.3542869, -0.0027859134, 0.44006044, -0.16127233, -0.22381315, 0.2574494, -0.25050887, 0.20496298, 0.009993323, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.08769917, -0.1953583, 0.05949845, 0.01795218, 0.3972092, -0.044264503, -0.4756617, 0.37460735, 0.09788464, 0.48144168, 0.080894485, 0.06296183, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.018645043, 0.019118845, 0.19234078, -0.39879698, 0.3848868, 0.104610726, 0.29154545, -0.028288463, -0.31086552, 0.5709823, -0.22434935, -0.5021053, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.46135244, 0.07460708, -0.20591648, -0.31916717, -0.38675314, 0.107762225, 0.39979035, -0.6061402, -0.40462908, -0.17135368, 0.26059985, 0.033156518, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.057017997, 0.39801362, 0.26862207, -0.28336683, 0.23420385, -0.17003912, 0.017628595, -0.21126425, -0.23548096, -0.2774119, 0.18068078, 0.013097709, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.14194304, -0.15504828, 0.008901963, 0.30057347, -0.4207854, -0.07842078, -0.073276505, -0.2544436, 0.1802911, 0.2420754, -0.42773435, 0.2522558, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.19879274, -0.037631564, -0.48757973, 0.17617616, 0.12550192, 0.25250614, -0.69017535, -0.3262703, -0.42006296, -0.5177533, -0.45128047, -0.32255673, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.11818855, 0.023456054, -0.3039647, 0.01846073, 0.27628344, 0.087394774, -0.31707954, -0.1830862, 0.48208076, 0.08061034, -0.0324067, -0.11835895, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.0015710528, -0.040573142, -0.0067538484, 0.017224679); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_tf3 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.16682588, 0.16400978, 0.1757737, -0.021072395, 0.06539432, -0.16751267, 0.058869474, -0.099648096, 0.17858149, 0.069162704, 0.060763087, -0.0552454, 0.1828016, 0.033170946, 0.02926846, -0.028046839) * go_0(-1.0, -1.0); + result += mat4(-0.16627714, 0.038792863, 0.21548623, 0.089160435, 0.14856382, 0.015014318, -0.21442959, -0.022967536, 0.17467047, -0.009386143, -0.10867876, -0.10340466, 0.02159861, 0.06991594, -0.1119627, -0.066545576) * go_0(-1.0, 0.0); + result += mat4(-0.052230895, -0.018615242, -0.11445917, 0.20970617, -0.084426574, -0.013301296, 0.04667932, -0.07582495, 0.07844388, 0.00012446557, -0.07266012, 0.08583548, -0.02102188, -0.11897397, -0.11998327, -0.18759511) * go_0(-1.0, 1.0); + result += mat4(-0.04358097, 0.014953064, -0.074998334, -0.19127296, 0.16845511, -0.04516635, 0.02583239, -0.047779176, -0.12151052, -0.1124019, 0.029203191, -0.018370887, -0.14904961, -0.09657445, 0.020365175, -0.05846497) * go_0(0.0, -1.0); + result += mat4(0.25461844, -0.060104672, -0.14170858, 0.069125645, -0.1670495, 0.09117099, -0.05437694, -0.03770912, 0.07687557, -0.019987138, -0.03828993, -0.036767155, -0.17758714, 0.2593606, -0.04066676, 0.055565428) * go_0(0.0, 0.0); + result += mat4(0.08597206, -0.011373685, 0.11531317, -0.13527994, 0.01074891, 0.022915367, -0.05613657, -0.0019634536, -0.046051264, 0.04448185, -0.26410443, -0.08412236, 0.07554895, -0.39869463, -0.23130144, 0.060447454) * go_0(0.0, 1.0); + result += mat4(0.08946055, 0.08202704, 0.079762414, -0.048531603, 0.08040403, 0.010686519, -0.087924965, -0.031123916, 0.016973065, 0.010001628, -0.011202491, -0.03149303, 0.03803412, -0.008884727, -0.18052368, -0.09137474) * go_0(1.0, -1.0); + result += mat4(-0.02726759, 0.21556567, 0.004814665, 0.057784032, 0.07907243, 0.033794418, -0.02036775, 0.0027191124, 0.08991113, 0.098211594, 0.07318809, -0.12720437, -0.060651563, 0.14401628, -0.035520233, -0.14350496) * go_0(1.0, 0.0); + result += mat4(-0.036229495, -0.023633955, 0.23254488, -0.025807278, -0.027887143, 0.015893005, -0.010803646, -0.15636021, -0.13111556, 0.024331553, -0.01490455, 0.13553609, 0.027496863, -0.25810578, -0.1345966, 0.09652125) * go_0(1.0, 1.0); + result += mat4(0.11428291, 0.27346528, 0.1849472, 0.24622405, 0.050756928, 0.07492283, 0.01873704, -0.0929874, 0.04518344, 0.06052399, -0.08201803, 0.023678334, -0.054044113, 0.07687756, -0.24156125, 0.118543856) * go_1(-1.0, -1.0); + result += mat4(-0.10255773, 0.058314987, -0.012948728, 0.22051606, 0.08234475, -0.024384284, -0.066541836, -0.0045136414, 0.14321695, -0.021375086, -0.018986465, 0.25354996, 0.032398373, 0.0074365274, -0.07150176, -0.0842891) * go_1(-1.0, 0.0); + result += mat4(-0.3070068, 0.13025287, 0.09119921, -0.014824796, -0.25336218, 0.13276166, 0.07451352, 0.071450256, -0.04538872, -0.06761559, -0.08009838, 0.053507026, -0.028579384, 0.12820083, -0.05414399, 0.02820338) * go_1(-1.0, 1.0); + result += mat4(0.25568405, -0.09424015, 0.064411856, 0.037094396, 0.089236505, 0.11341471, 0.06519967, -0.11673984, -0.07431905, 0.032323904, 0.012612807, -0.037857708, -0.09549262, 0.019785486, 0.11215783, -0.08178563) * go_1(0.0, -1.0); + result += mat4(-0.12977616, 0.052315574, 0.19321385, -0.23796389, -0.1430282, 0.033092096, 0.13771, -0.1681169, 0.07370609, -0.06530381, 0.023147697, 0.11661184, 0.009935798, -0.033072658, -0.1157439, 0.167107) * go_1(0.0, 0.0); + result += mat4(0.022870995, -0.051999938, 0.09499206, -0.050381728, -0.07750411, -0.07534439, -0.15148367, 0.10671288, -0.07895085, 0.08590099, -0.039177563, 0.04156403, 0.03901156, 0.0019494012, -0.082597494, -0.045954913) * go_1(0.0, 1.0); + result += mat4(0.18670611, 0.04035675, 0.010265794, 0.13104586, 0.015118543, 0.020945968, -0.08077425, 0.12478306, 0.033348877, -0.050095998, -0.021956673, -0.15989247, 0.0703153, -0.22443427, 0.09721435, 0.09415636) * go_1(1.0, -1.0); + result += mat4(0.022562401, -0.21802509, -0.13968697, 0.030495679, 0.20164397, -0.14806582, -0.16575468, 0.07708878, -0.007932748, 0.0076615694, 0.06960648, -0.09071667, -0.071091525, 0.014406244, -0.04066828, 0.07381237) * go_1(1.0, 0.0); + result += mat4(0.098004915, -0.15594271, 0.16878232, -0.13722226, 0.22940964, -0.009132059, -0.00984221, -0.10996952, -0.1617233, -0.011615988, -0.064739786, -0.21046808, 0.029180123, -0.10817059, 0.081083305, -0.124370016) * go_1(1.0, 1.0); + result += mat4(0.04555113, -0.038119707, -0.037176583, -0.22539136, 0.057313137, 0.0024502992, 0.11532159, -0.006040425, 0.013644908, -0.22676414, 0.045331072, 0.12293299, 0.022487158, -0.061195657, -0.15630952, -0.04152167) * go_2(-1.0, -1.0); + result += mat4(0.019613482, 0.07709181, -0.0667477, 0.030783981, -0.051050212, 0.13300157, -0.02746384, 0.044673294, 0.041831452, -0.12082941, 0.24011718, -0.13198936, -0.12387437, 0.11518795, 0.12564468, 0.0048698136) * go_2(-1.0, 0.0); + result += mat4(0.018528216, 0.06411587, -0.12267898, -0.024469404, 0.13344407, 0.09435489, -0.11681974, 0.13422827, 0.23464775, -0.13637649, -0.13120876, 0.16024348, -0.1178978, -0.0033701332, 0.05109847, -0.121679015) * go_2(-1.0, 1.0); + result += mat4(0.008721387, 0.07300866, 0.056996226, -0.04116479, 0.2858162, -0.03170533, -0.06512709, 0.07614593, 0.02063735, -0.10648821, 0.06545271, -0.07760196, 0.11181356, 0.09734669, 0.06384592, 0.13856758) * go_2(0.0, -1.0); + result += mat4(-0.087809436, 0.026485445, -0.10262454, -0.067591794, -0.054495905, -0.13071996, 0.007614136, -0.18144777, 0.1451436, 0.076285824, -0.006134546, -0.09420317, 0.059833933, 0.084446974, -0.08009216, -0.07066621) * go_2(0.0, 0.0); + result += mat4(0.21006338, -0.12184664, -0.18929327, 0.07800224, -0.032166578, 0.042057462, 0.030147228, -0.18111266, 0.06385915, 0.056353245, -0.08566922, 0.246077, 0.022679256, -0.046758424, -0.013280484, 0.048559744) * go_2(0.0, 1.0); + result += mat4(-0.016968472, 0.06551541, 0.10248965, -0.019251779, 0.12909546, -0.061840314, -0.006220995, -0.027636442, -0.023421615, -0.13997608, 0.22226256, -0.00414297, -0.11852816, 0.0030413773, -0.0484824, -0.057998173) * go_2(1.0, -1.0); + result += mat4(-0.074645035, -0.037241343, 0.093852654, -0.08116666, 0.03477197, -0.115568645, -0.10765692, 0.0003785455, 0.059631344, 0.13411269, 0.17720251, 0.09270491, 0.004923464, 0.118155435, 0.051029027, 0.019561961) * go_2(1.0, 0.0); + result += mat4(-0.11729622, 0.08133092, -0.1565527, 0.1092305, -0.044586428, 0.038454134, 0.1805931, 0.065337844, -0.033772465, 0.18221322, 0.064187706, 0.15034407, -0.112804286, -0.09195703, -0.06559008, -0.029188333) * go_2(1.0, 1.0); + result += mat4(-0.10510915, -0.0776238, -0.02661216, -0.07667854, 0.015220721, -0.16932015, -0.15212865, -0.12440911, 0.10847065, 0.16949058, 0.20047556, 0.06391445, 0.06942035, 0.09796073, -0.04969445, 0.18864428) * go_3(-1.0, -1.0); + result += mat4(0.050649058, 0.07098103, -0.0473734, -0.017548949, 0.059222713, -0.11837112, -0.1502057, 0.13990685, 0.16519493, -0.007813526, -0.015865954, 0.11118964, -0.0921189, 0.11554642, 0.09068235, -0.054495323) * go_3(-1.0, 0.0); + result += mat4(0.010653917, 0.071099974, -0.008376932, 0.08623703, 0.037236527, 0.05155848, -0.10741108, -0.12480437, -0.036548067, -0.02779435, 0.21860917, 0.110088535, 0.12381749, 0.0013657579, 0.078342445, 0.15400365) * go_3(-1.0, 1.0); + result += mat4(-0.044285372, -0.080408566, -0.082381204, -0.05444333, 0.09583508, -0.04366566, -0.18833442, -0.048229303, 0.12010392, 0.028752124, 0.20307614, -0.025710972, 0.07631876, -0.039822593, -0.21747215, -0.11503206) * go_3(0.0, -1.0); + result += mat4(0.15301265, -0.0904066, -0.13152894, 0.025233751, -0.0096486695, -0.047325417, 0.015993157, -0.074668825, 0.03168052, -0.12000325, 0.048012275, 0.04170218, 0.087761246, 0.114786044, -0.15148023, -0.039366517) * go_3(0.0, 0.0); + result += mat4(0.020880366, -0.06214199, -0.007097687, 0.017239975, -0.10893327, 0.076604076, -0.06110473, -0.08351579, 0.057976708, -0.11395709, -0.07283605, 0.17210332, 0.13145506, -0.034735806, 0.079893544, 0.027503777) * go_3(0.0, 1.0); + result += mat4(-0.064012215, -0.009359275, 0.051874913, 0.07147825, -0.002497903, -0.072561875, 0.06659626, 0.05593401, -0.0019645633, -0.0017003771, 0.0058332747, -0.03824299, 0.092494816, -0.16331163, -0.07637431, -0.1316867) * go_3(1.0, -1.0); + result += mat4(-0.012422661, 0.19522803, 0.08242971, -0.022447145, -0.08470463, 0.013340826, 0.022906132, 0.0104356585, -0.05838931, -0.22278416, -0.07702832, -0.03898843, -0.2222767, 0.020577319, -0.048793092, -0.20062482) * go_3(1.0, 0.0); + result += mat4(0.101836815, -0.07303682, 0.06112855, 0.07785088, -0.000851969, 0.1227914, -0.0124482615, 0.042857908, -0.0614457, 0.021257306, -0.047207817, -0.17122878, -0.20265298, 0.05639956, 0.13556977, -0.38614172) * go_3(1.0, 1.0); + result += mat4(-0.088439435, -0.13450874, 0.023986593, 0.06869799, 0.05181423, -0.041318443, 0.23758505, -0.003188584, -0.20574366, -0.08783116, -0.16370814, -0.10861661, -0.04101733, -0.25832054, 0.024531696, -0.052762356) * go_4(-1.0, -1.0); + result += mat4(0.06963789, -0.1523674, -0.13724455, 0.02417662, -0.26311964, 0.048317496, 0.033046376, -0.073426016, -0.07795718, -0.06680464, -0.10631037, -0.17531694, -0.00028496052, -0.18643321, -0.06544361, -0.260227) * go_4(-1.0, 0.0); + result += mat4(0.041163392, 0.1538335, 0.024395503, -0.22399011, 0.2949855, -0.046959065, 0.15241133, 0.1848325, 0.0073397346, -0.017275874, 0.20777975, -0.086460754, -0.03622649, 0.06786584, -0.06431515, -0.01926139) * go_4(-1.0, 1.0); + result += mat4(0.05714057, 0.026254643, 0.06006601, 0.044767264, -0.13143657, 0.077170044, 0.0218321, 0.3374874, 0.11799663, 0.07651933, -0.18386526, 0.12819925, 0.0458167, 0.031566396, -0.02104284, 0.060249478) * go_4(0.0, -1.0); + result += mat4(-0.15578985, -0.043274876, -0.06848441, -0.22675386, 0.34348467, 0.04755662, -0.120318204, 0.21213302, 0.22091343, 0.12801792, -0.27103272, 0.009107759, 0.28275114, -0.2595034, -0.08657963, -0.1385154) * go_4(0.0, 0.0); + result += mat4(-0.048247293, 0.006379949, 0.07069376, -0.03797948, -0.07503996, 0.10124351, 0.25479224, -0.012689729, -0.13646767, 0.063495666, -0.10367744, 0.02457448, 0.09329864, 0.25692573, 0.14967956, -0.11331509) * go_4(0.0, 1.0); + result += mat4(0.11566507, -0.10061327, -0.15576088, -0.091777846, 0.008444853, -0.08745054, -0.033295806, 0.0029031383, -0.030447904, 0.0064194244, 0.09609729, -0.12425308, -0.13877183, 0.06545948, 0.018649856, -0.00038733307) * go_4(1.0, -1.0); + result += mat4(0.021538408, -0.031782147, 0.053700346, -0.023047661, 0.06118648, 0.09422846, 0.15563804, -0.019954393, 0.058209274, -0.096121445, 0.0006476186, 0.0044233687, 0.10033549, -0.05667658, 0.0046613375, -0.21005854) * go_4(1.0, 0.0); + result += mat4(0.09127173, -0.13292567, 0.026308151, -0.086961046, -0.00038384288, -0.021899618, -0.018954279, -0.06198408, 0.083354875, -0.07151073, 0.05365628, -0.07579846, 0.032780807, 0.2582205, -0.10887159, -0.08340997) * go_4(1.0, 1.0); + result += mat4(0.03234336, -0.09737819, 0.005996931, -0.029132001, -0.13736439, -0.019345973, -0.13236563, 0.06412147, -0.012885312, 0.003402039, 0.07691811, 0.053523198, 0.047960896, -0.15073822, 0.07127285, -0.12797488) * go_5(-1.0, -1.0); + result += mat4(0.0013998925, 0.10343592, -0.03278372, -0.04077459, -0.04884479, 0.019157771, -0.035050172, -0.1138655, 0.0073900735, 0.06231151, -0.057525188, -0.18135616, 0.054992713, -0.20210464, 0.07046144, -0.04294392) * go_5(-1.0, 0.0); + result += mat4(0.057260677, -0.09056544, -0.15916282, 0.099339016, 0.16303736, -0.18345179, -0.031675916, 0.010661271, -0.13354564, 0.009094732, -0.123463884, -0.16987814, 0.040181488, -0.12794387, 0.20167524, -0.0942567) * go_5(-1.0, 1.0); + result += mat4(0.028133342, -0.0070152264, 0.027720878, -0.17349002, 0.04688365, -0.050090306, 0.062954105, 0.07243229, 0.056431357, -0.041695453, 0.02747664, 0.050903425, 0.1544682, 0.36754557, -0.16574225, -0.045575242) * go_5(0.0, -1.0); + result += mat4(0.07568822, -0.015356766, 0.062736675, -0.12429261, 0.006161586, -0.06951273, 0.0054048044, 0.0028502627, 0.07468177, -0.051956825, -0.034254014, 0.0506702, 0.16182432, -0.036455415, 0.14812818, 0.06563189) * go_5(0.0, 0.0); + result += mat4(-0.029565258, 0.028832972, 0.052721135, -0.11605627, 0.016583271, 0.0783395, 0.08374811, -0.15612024, 0.050813407, -0.14781949, 0.050757557, 0.047298737, -0.054435518, -0.0947514, 0.05424098, 0.03920314) * go_5(0.0, 1.0); + result += mat4(0.02041634, -0.094589, 0.017068772, -0.016447546, -0.07200135, -0.0031161357, 0.10459771, -0.13401397, 0.04388721, 0.007574108, -0.024857935, 0.08437274, 0.017542962, 0.0050615096, 0.0025386487, -0.058008164) * go_5(1.0, -1.0); + result += mat4(-0.074039295, 0.01593561, 0.027271466, -0.01622838, -0.12313946, 0.29065675, 0.0666616, -0.0015515542, -0.027692154, 0.11814952, -0.15590793, 0.0016750757, -0.055199716, -0.11188217, -0.041076142, 0.055293556) * go_5(1.0, 0.0); + result += mat4(-0.087336674, 0.09597909, 0.032252833, 0.019957634, -0.14232716, -0.037647195, -0.018637605, 0.028734578, 0.098073855, -0.039794624, 0.092389226, 0.16911197, -0.009319175, 0.12036487, -0.011530916, 0.080162555) * go_5(1.0, 1.0); + result += mat4(-0.024965037, 0.006104625, 0.10367222, 0.07385069, -0.15523866, 0.18478672, -0.28199175, 0.03124214, -0.106478676, 0.1969974, -0.0022582007, 0.0043790154, 0.013964622, -0.10033643, 0.07260623, -0.124574065) * go_6(-1.0, -1.0); + result += mat4(0.1866749, 0.21620537, -0.012563025, 0.03262129, 0.1719916, -0.053168118, 0.1302181, 0.21435094, -0.13355109, 0.06338094, -0.21260814, -0.014875881, 0.2550572, 0.03543736, -0.028924052, 0.34301576) * go_6(-1.0, 0.0); + result += mat4(0.014582116, 0.107564695, 0.19177647, 0.047451418, -0.11816758, -0.037558496, 0.37259078, -0.018045045, -0.14484513, 0.014460476, -0.006206022, -0.22719343, 0.06953869, -0.036870986, -0.0055092354, 0.21955575) * go_6(-1.0, 1.0); + result += mat4(0.25376984, 0.03961877, 0.12551436, 0.33974785, -0.27738678, -0.012565747, 0.08306037, -0.16246852, -0.09256709, 0.06350151, -0.0019622499, 0.14914742, 0.21517865, 0.15766472, 0.4066891, -0.20577961) * go_6(0.0, -1.0); + result += mat4(0.21415462, -0.0642115, -0.28112733, 0.27817658, -0.20207204, -0.06520876, -0.13293326, 0.0953727, 0.11732344, -0.02437645, 0.07841982, 0.081664644, 0.15626748, -0.06634179, 0.0855079, 0.34586227) * go_6(0.0, 0.0); + result += mat4(-0.05047869, 0.16492498, 0.11043203, 0.0057451506, 0.1889248, 0.007079426, -0.058276135, 0.21064675, -0.059098043, -0.19127457, -0.013977541, -0.1847022, -0.051189642, -0.27713004, 0.09603268, 0.36067933) * go_6(0.0, 1.0); + result += mat4(-0.067639776, -0.22933814, -0.07072787, -0.09514877, 0.0036013937, 0.054084364, 0.16150047, -0.09798026, -0.025709623, -0.04036443, -0.09191741, 0.12434371, 0.011584389, 0.0500184, 0.13453145, -0.04406909) * go_6(1.0, -1.0); + result += mat4(0.093614265, 0.08832574, -0.019384595, 0.33492145, 0.024007287, 0.20037757, 0.06563748, -0.08472612, -0.07865445, -0.017250929, -0.21227354, -0.15559788, 0.22698876, -0.062241085, -0.050376724, 0.104179695) * go_6(1.0, 0.0); + result += mat4(0.1361344, -0.054771457, 0.21874528, -0.13601023, 0.04159267, 0.04265182, -0.1952905, -0.006956085, -0.039083548, 0.12852322, 0.001135891, -0.12257516, 0.20699623, 0.037602983, -0.23034777, 0.2659882) * go_6(1.0, 1.0); + result += mat4(0.0074865655, -0.05454164, 0.0086328, 0.12537627, -0.19097276, 0.010964307, 0.09877973, -0.060631316, 0.0035393643, -0.010404835, 0.056712646, -0.13026424, -0.08125458, 0.08328297, -0.024453856, -0.019881193) * go_7(-1.0, -1.0); + result += mat4(0.2146004, 0.009173491, 0.06430178, 0.1115497, 0.2286379, 0.07678605, -0.074050754, -0.4544871, 0.04180918, 0.02466224, 0.049769487, -0.040270872, 0.031240942, -0.015997326, -0.05564773, 0.13276885) * go_7(-1.0, 0.0); + result += mat4(-0.024886066, -0.10454424, -0.008339705, -0.19566591, 0.017025474, -0.05540896, -0.14112535, 0.028222617, -0.110432364, -0.0370566, -0.060746565, -0.004373458, -0.110383295, 0.06892138, 0.057743933, 0.023001496) * go_7(-1.0, 1.0); + result += mat4(-0.07039479, -0.08098219, -0.0517122, 0.14518479, -0.0024635883, 0.08573159, 0.08298556, 0.19724075, 0.08604213, 0.026222989, 0.039014954, 0.027334757, 0.032409273, -0.012616069, 0.20315504, -0.18313569) * go_7(0.0, -1.0); + result += mat4(-0.25649765, 0.027311508, 0.18878505, -0.16631337, 0.077981934, 0.14177446, -0.045889527, 0.08531879, 0.05342123, 0.07260306, -0.024213074, -0.01107666, 0.10646281, 0.020352455, -0.06365357, -0.09970133) * go_7(0.0, 0.0); + result += mat4(-0.11130239, 0.07479549, -0.06315088, -0.08944423, 0.23731343, -0.059101656, -0.03792892, -0.08729022, -0.044306744, 0.098353304, -0.026851522, 0.055906583, -0.0229506, 0.007420558, -0.05338183, 0.07801898) * go_7(0.0, 1.0); + result += mat4(0.10403469, 0.11227043, -0.21066704, -0.09841933, 0.1123802, -0.09163859, 0.029262666, -0.02716128, -0.07741291, -0.12595192, 0.056868527, 0.11314479, 0.068367966, -0.048116703, 0.03942078, -0.049022034) * go_7(1.0, -1.0); + result += mat4(0.06663052, -0.18349448, -0.060040575, -0.034590982, 0.19210911, -0.16136944, 0.1027474, -0.026148252, 0.1331118, 0.08373371, 0.07543836, -0.0821376, -0.08116568, 0.028726097, -0.039574195, 0.12940447) * go_7(1.0, 0.0); + result += mat4(-0.0755444, -0.02010773, 0.12867439, -0.1612916, 0.11019535, -0.036212057, 0.08348267, 0.076423444, 0.103842124, 0.043353815, 0.005119714, -0.041111667, 0.19236392, -0.094081365, 0.088794835, -0.0032366752) * go_7(1.0, 1.0); + result += vec4(0.025721604, 0.008808415, -0.0029403395, 0.03648866); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_tf3 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.05523119, -0.09518896, 0.08921959, -0.13052566, -0.013512739, 0.047997378, 0.16674618, 0.019661155, 0.1088371, 0.040083896, -0.004689575, -0.036687367, -0.015716005, 0.049643658, -0.011459498, -0.064227246) * go_0(-1.0, -1.0); + result += mat4(-0.0014415162, -0.14803964, -0.10233617, -0.025700033, 0.09305118, -0.041833147, -0.017107604, -0.050550215, -0.055211663, 0.009147919, 0.07102604, 0.0067789825, 0.017316047, 0.032877374, 0.15263063, 0.031808965) * go_0(-1.0, 0.0); + result += mat4(0.11732844, 0.0910447, -0.081579626, 0.013813927, -0.07561606, 0.07621211, -0.08448194, 0.054920398, -0.043369707, 0.07710235, 0.04483282, -0.065252446, -0.01860033, -0.09282624, -0.042522658, -0.015202259) * go_0(-1.0, 1.0); + result += mat4(0.045474872, 0.10024481, -0.06166239, 0.12003297, -0.016422411, -0.05285928, 0.058388602, -0.1718166, 0.020738792, -0.0068486542, -0.04581591, -0.12065283, 0.06530598, -0.05116496, -0.01669561, 0.0024559954) * go_0(0.0, -1.0); + result += mat4(0.1193021, -0.25388858, -0.25403944, 0.048347283, -0.091768295, 0.082378544, -0.0510033, 0.017673727, 0.17033571, -0.14308529, -0.16331477, -0.04362767, -0.07888228, 0.14927958, -0.18066473, 0.089434035) * go_0(0.0, 0.0); + result += mat4(0.02403974, 0.08044914, -0.01426072, 0.03443945, -0.014536994, 0.02533013, 0.16955474, 0.0822529, -0.0060408474, 0.019831115, 0.04393656, 0.15207846, 0.05056048, 0.124797806, -0.139311, 0.09310812) * go_0(0.0, 1.0); + result += mat4(0.03542925, 0.11915315, -0.1311098, 0.09819034, -0.009666393, 0.029037869, 0.023572456, 0.020142581, 0.03380651, -0.08997595, -0.017141165, -0.018526986, 0.05253317, 0.049661253, -0.065568395, -0.091917224) * go_0(1.0, -1.0); + result += mat4(-0.07639606, -0.054812707, 0.057559833, -0.09068783, 0.11863554, -0.017611986, -0.18931979, -0.005461553, 0.10720041, 0.15927693, -0.0123401, 0.18948005, 0.041474298, -0.10943666, 0.06085662, 0.003503111) * go_0(1.0, 0.0); + result += mat4(0.055770155, 0.02822951, 0.09700467, -0.050730113, 0.03784999, -0.08229594, -0.02861142, 0.07229477, 0.121336035, 0.056729127, 0.04663669, -0.007550928, 0.16710907, 0.009395554, -0.008610169, 0.11862871) * go_0(1.0, 1.0); + result += mat4(0.13294618, -0.06904705, -0.20041288, 0.19415551, 0.01685586, 0.038024202, 0.13990912, -0.046226025, 0.0797283, -0.05583546, 0.028278789, -0.1492692, -0.11463168, 0.058183275, 0.049645618, 0.039629117) * go_1(-1.0, -1.0); + result += mat4(-0.18696861, -0.13563703, 0.032692514, -0.10432131, 0.02230654, -0.07747905, 0.14739737, 0.11521728, 0.0729215, 0.15747418, 0.025431354, 0.14331931, -0.1488298, 0.10179947, -0.101467535, -0.033923466) * go_1(-1.0, 0.0); + result += mat4(0.081285305, 0.026952317, -0.085190386, -0.10324916, -0.0015412258, 0.08588591, -0.19694312, -0.08696667, 0.023812002, 0.014004666, 0.0023922345, -0.014925462, 0.053948395, 0.026938133, 0.07743994, 0.069554806) * go_1(-1.0, 1.0); + result += mat4(0.13122624, 0.04613391, -0.05911036, -0.071337715, 0.14670388, 0.10637735, 0.120025985, -0.14935657, 0.17701747, 0.023492154, -0.028118515, 0.00088938075, -0.19212362, -0.20968609, 0.21538667, 0.26384237) * go_1(0.0, -1.0); + result += mat4(-0.054812234, -0.08416403, 0.0260952, -0.008515731, -0.142125, 0.02519786, 0.03312871, 0.0462577, 0.09721707, 0.013835848, -0.102207415, -0.10014805, 0.10402717, 0.08674653, 0.04860208, -0.06947179) * go_1(0.0, 0.0); + result += mat4(0.034799274, 0.024590576, -0.19037321, 0.03151982, -0.06556395, 0.006009085, -0.054991134, -0.06431149, -0.015655322, -0.0699281, 0.049673237, 0.06879375, -0.09895477, 0.0019435796, -0.0021232502, -0.06291184) * go_1(0.0, 1.0); + result += mat4(-0.09569188, -0.04358026, -0.056854516, -0.000111347676, 0.0853871, -0.028307417, 0.06702482, 0.032195363, -0.00012289426, 0.036054786, -0.07317682, -0.06055966, -0.008536366, -0.063153945, -0.13675526, 0.09815369) * go_1(1.0, -1.0); + result += mat4(0.060001787, -0.14248027, -0.18766588, -0.031177832, 0.25668815, 0.06644367, -0.10251424, 0.085613154, -0.07137866, -0.0390658, 0.07766741, -0.10317507, 0.025111878, 0.09819934, -0.2345668, -0.048678897) * go_1(1.0, 0.0); + result += mat4(-0.14977072, -0.087542735, -0.14482, 0.007347984, -0.08235114, -0.0005702134, 0.11287718, 0.021635564, -0.07436876, -0.11370213, 0.075715326, 0.06619972, 0.056717034, -0.020862443, -0.019998845, -0.051332474) * go_1(1.0, 1.0); + result += mat4(0.035570905, 0.13936782, -0.119994484, -0.1743154, 0.09265176, 0.067416996, -0.12855934, -0.03325352, -0.0010884873, -0.11393612, 0.26708764, 0.059674438, -0.06540884, -0.029078847, 0.0752755, 0.060898334) * go_2(-1.0, -1.0); + result += mat4(0.004282939, -0.074319474, -0.08570652, -0.08257143, 0.012451813, -0.052780382, -0.15148674, 0.080452204, -0.10941718, 0.04138225, -0.02822319, -0.1640315, 0.003044549, 0.13333072, 0.1302482, 0.117772214) * go_2(-1.0, 0.0); + result += mat4(-0.10399595, -0.06414262, 0.04463848, 0.03789655, 0.008393662, 0.096075214, 0.06362348, -0.08228957, 0.116857044, 0.107161805, 0.024692193, 0.20706779, -0.04162803, -0.021823602, -0.06078314, -0.08919124) * go_2(-1.0, 1.0); + result += mat4(0.21876146, 0.09191945, -0.1713131, -0.1695255, -0.14229187, 0.16128044, -0.042203654, -0.019452719, -0.11618261, 0.058886774, 0.21331106, -0.10177181, -0.050883863, -0.026295587, -0.011005942, 0.031958587) * go_2(0.0, -1.0); + result += mat4(-0.19700775, 0.00011510546, 0.064185515, 0.101220824, 0.14517656, -0.12774344, -0.083788246, -0.17077136, 0.015813397, 0.03214562, -0.036940534, -0.22156641, -0.13669154, 0.1068224, 0.046991926, 0.15731399) * go_2(0.0, 0.0); + result += mat4(0.07979363, 0.1641743, 0.1953904, 0.12759592, 0.058493655, -0.067155585, 0.012606587, 0.047781534, 0.1679869, 0.099415414, -0.14752066, 0.103076465, 0.010993393, 0.04623457, 0.06644519, 0.06356699) * go_2(0.0, 1.0); + result += mat4(0.17410177, -0.021142596, 0.03832318, 0.05570731, -0.08795235, 0.08994314, 0.14860317, 0.110479094, -0.053650588, 0.11992882, 0.0786844, -0.029005896, 0.022813741, -0.097005606, 0.043160316, 0.14180337) * go_2(1.0, -1.0); + result += mat4(0.020900672, 0.070728056, -0.058542836, 0.10948163, -0.044124976, -0.08577386, 0.1291225, -0.058463164, 0.10717037, 0.087889396, -0.19010662, -0.014903362, 0.066647105, 0.0008108183, -0.10592918, -0.16838996) * go_2(1.0, 0.0); + result += mat4(0.03863103, 0.061151855, 0.024460992, 0.00017194312, 0.16070026, -0.079970434, 0.14885707, 0.16158094, 0.07065171, -0.083885066, -0.0773903, 0.043984737, -0.13688512, 0.04315529, 0.029171892, -0.043184932) * go_2(1.0, 1.0); + result += mat4(-0.0032730796, -0.0678228, -0.1079233, -0.10729724, -0.0414774, -0.106715254, 0.021418726, -0.115363866, -0.021818358, 0.014319188, 0.27558854, 0.07177722, 0.16198973, -0.036741022, -0.039331302, 0.08528458) * go_3(-1.0, -1.0); + result += mat4(-0.0022572405, -0.12707013, 0.07970686, -0.033344477, 0.011235312, 0.029737111, 0.037241872, -0.027490782, 0.1667001, -0.22329094, 0.19529633, -0.06801771, 0.03439542, 0.09477615, -0.08548904, 0.02665781) * go_3(-1.0, 0.0); + result += mat4(0.023405857, -0.028674511, 0.17428322, 0.026365727, 0.059524775, 0.01696815, -0.11675319, 0.019108849, 0.043889746, -0.10923627, -0.06668395, -0.0001394108, -0.10932081, -0.10729272, -0.045865797, 0.058694717) * go_3(-1.0, 1.0); + result += mat4(0.028786171, -0.07996033, -0.042132188, 0.16268188, 0.01292829, -0.015771527, -0.11770419, 0.039871827, -0.067409195, -0.16829921, -0.12479334, -0.050815493, -0.0014285782, 0.037696563, 0.12936884, 0.24785544) * go_3(0.0, -1.0); + result += mat4(0.11821269, 0.02937396, 0.02528718, 0.02799023, -0.078774855, -0.13108966, 0.09530571, -0.12430738, -0.0658468, -0.014434043, -0.15922552, 0.10165563, 0.19187002, 0.0012871067, 0.13770217, 0.17639764) * go_3(0.0, 0.0); + result += mat4(-0.03887622, -0.043178383, -0.12944572, 0.0781853, -0.0343673, 0.15046304, 0.016929725, 0.010440784, 0.111742064, 0.20323086, -0.17518038, 0.20861465, 0.07141131, -0.1499564, 0.08331723, -0.018338641) * go_3(0.0, 1.0); + result += mat4(-0.09879554, -0.009893019, 0.0983551, 0.09640564, 0.041065227, 0.037249558, -0.048898797, -0.14597179, -0.036883067, -0.058221117, -0.061707452, 0.11114091, -0.04219781, -0.07160853, 0.025964098, -0.022408063) * go_3(1.0, -1.0); + result += mat4(-0.06854093, 0.033134002, -0.094440706, 0.03418527, 0.04887616, 0.14051184, -0.01767298, -0.020024845, -0.12027486, -0.14781527, 0.0006639068, 0.012838632, -0.0671156, -0.04252161, 0.16688527, 0.15175684) * go_3(1.0, 0.0); + result += mat4(-0.036188185, 0.009798812, -0.07980902, -0.018469814, -0.022443485, -0.057728596, 0.027371801, -0.004489727, -0.15019576, 0.063210264, 0.04545364, -0.094795585, -0.23649287, -0.2896298, 0.3047641, -0.02306759) * go_3(1.0, 1.0); + result += mat4(0.0710798, 0.055451605, -0.07648699, 0.13898383, -0.08452192, 0.11012541, -0.06281854, -0.05461686, -0.13105838, 0.041378103, 0.1423915, 0.022731576, -0.09423944, 0.042240687, 0.0055206236, 0.217599) * go_4(-1.0, -1.0); + result += mat4(0.07588608, 0.08921057, -0.0058231056, 0.026653443, -0.21734685, -0.006213704, -0.12702152, -0.07060434, 0.023911633, -0.06637617, -0.057719648, 0.0022903855, -0.009479896, -0.1350784, -0.16709046, 0.010745677) * go_4(-1.0, 0.0); + result += mat4(-0.10086355, 0.0110535165, 0.10848059, -0.07035538, 0.14857347, 0.14099321, 0.052920546, 0.0960118, 0.00702182, -0.009694436, -0.050239813, 0.11574682, -0.008785853, 0.117072344, 0.06994709, -0.0785332) * go_4(-1.0, 1.0); + result += mat4(-0.0033244858, -0.041283812, -0.0062056403, -0.079100005, 0.03710724, -0.20561017, -0.077498965, -0.089842565, -0.11496833, 0.014476948, 0.03424653, -0.011620334, -0.1081823, -0.036695667, -0.010624277, 0.19094554) * go_4(0.0, -1.0); + result += mat4(-0.10281635, 0.07619934, 0.24530065, 0.031338155, 0.2293712, 0.10000642, 0.2913761, 0.10625675, -0.19064593, -0.15475498, 0.017788576, -0.07991813, 0.13237537, 0.018305784, -0.021386296, -0.21711792) * go_4(0.0, 0.0); + result += mat4(-0.052176226, -0.0452586, 0.046231613, -0.011801034, 0.036633253, -0.106147125, -0.12706251, -0.14980705, 0.078584775, 0.09951909, -0.115246415, -0.07272013, -0.111544944, -0.03231619, -0.113790385, -0.12621674) * go_4(0.0, 1.0); + result += mat4(-0.10080901, -0.006650695, 0.0813086, 0.01621316, -0.049660202, -0.05663305, 0.060899526, 0.09370089, 0.1034699, 0.1313489, 0.08382034, 0.15258797, -0.007328495, -0.07970968, 0.13271572, 0.1248114) * go_4(1.0, -1.0); + result += mat4(0.0811457, 0.021604871, -0.0708046, 0.10275134, -0.059385683, -0.15250053, 0.15080771, 0.12262505, -0.015175936, -0.21616012, 0.11106964, -0.06573024, 0.1334304, 0.039077487, -0.0077960994, -0.082096316) * go_4(1.0, 0.0); + result += mat4(-0.026532508, 0.052564014, -0.13472368, 0.11765044, -0.045610473, 0.21229759, 0.14939204, -0.020855857, -0.12167336, 0.014780039, 0.005599771, -0.0366069, -0.114645116, 0.07955974, 0.025574045, -0.10698108) * go_4(1.0, 1.0); + result += mat4(-0.105111405, 0.01887759, 0.17108293, 0.030718861, -0.0036248523, -0.04220701, -0.1370944, 0.0610685, -0.08567308, 0.02382638, 0.04128756, 0.010917913, -0.0071965833, 0.11633362, -0.19415227, -0.06810197) * go_5(-1.0, -1.0); + result += mat4(0.17105678, -0.061937388, -0.12109572, -0.05737621, -0.010882215, 0.0077495095, -0.08858353, -0.037279226, -0.077877015, -0.08148342, -0.0128043005, -0.15990338, 0.06760134, 0.07077504, -0.077818625, 0.08186391) * go_5(-1.0, 0.0); + result += mat4(-0.04122479, -0.14456019, -0.00687704, -0.0023447806, -0.03724179, -0.01020969, 0.12662183, 0.0032528937, 0.0011372975, 0.0013715293, 0.042884655, 0.056097247, -0.023848789, 0.020091679, -0.056177765, -0.071522005) * go_5(-1.0, 1.0); + result += mat4(-0.10480783, -0.1623831, 0.16464269, 0.23841174, -0.13952696, -0.14506042, -0.0401578, 0.1833225, -0.1635158, -0.048028238, -0.026833056, 0.013035033, 0.33705005, 0.02140875, -0.0013267706, -0.13819021) * go_5(0.0, -1.0); + result += mat4(0.1160767, 0.060790952, -0.0724595, -0.04385768, 0.19978592, 0.0788206, 0.046029508, -0.049146708, -0.11248604, -0.09155754, 0.068832725, -0.03305183, 0.09853922, -0.22963063, 0.1005964, 0.08247126) * go_5(0.0, 0.0); + result += mat4(-0.028804837, 0.04783762, 0.026305035, 0.11646629, 0.022342246, 0.021584023, 0.0001582563, 0.04657554, 0.042147595, 0.10991348, -0.05957568, -0.035553932, 0.026858332, -0.048424963, 0.019152632, 0.019507838) * go_5(0.0, 1.0); + result += mat4(0.060836714, -0.022240432, -0.080111384, 0.012706318, -0.011927039, -0.036633156, -0.09807743, 0.001682814, -0.048570346, 0.022914637, 0.08297579, 0.07432916, -0.06689553, 0.07128321, 0.060760804, -0.053622015) * go_5(1.0, -1.0); + result += mat4(-0.08151351, 0.03328517, 0.0655914, 0.030473806, -0.20243235, -0.07587536, 0.059557915, -0.025496572, 0.08349247, 0.03562965, -0.013549137, 0.007226739, 0.02451737, -0.12500823, 0.17518938, 0.027817642) * go_5(1.0, 0.0); + result += mat4(0.111120775, 0.069498256, 0.109161, -0.07871808, 0.03341905, 0.093649514, -0.103547156, -0.0221692, 0.14756559, 0.08163537, -0.027058242, 0.012208241, -0.024274345, 0.036743194, 0.021657368, 0.08115235) * go_5(1.0, 1.0); + result += mat4(-0.016565295, -0.093153246, 0.07434916, 0.13516915, 0.066431835, -0.08160101, 0.22495477, -0.005786332, 0.050438188, -0.053129386, -0.19276144, -0.026223544, 0.07634501, 0.0152589185, 0.09015993, -0.12081901) * go_6(-1.0, -1.0); + result += mat4(-0.02868214, -0.09362387, 0.20420188, 0.2323043, 0.11400136, 0.005945724, 0.098368086, 0.08062859, 0.16150405, 0.035759013, -0.06049329, -0.043028176, 0.18725239, -0.16331641, -0.048589546, 0.0063477824) * go_6(-1.0, 0.0); + result += mat4(0.10109423, 0.028425362, 0.0021927503, -0.026673127, -0.061097544, -0.056787327, -0.19795562, -0.013237915, -0.010981921, -0.09065953, -0.13859056, -0.04323077, 0.040252034, 0.07637654, -0.11945002, 0.094968155) * go_6(-1.0, 1.0); + result += mat4(-0.3977607, -0.13790089, -0.055158988, -0.050174505, 0.052614894, -0.07778908, -0.015430888, 0.047986247, 0.14888169, -0.16543779, -0.2891003, -0.04342235, 0.30348074, 0.10824644, 0.10112518, -0.24783409) * go_6(0.0, -1.0); + result += mat4(0.23575824, 0.011677025, -0.085980736, -0.18474336, -0.046511535, -0.2450259, 0.015577409, 0.090929225, -0.23187812, 0.3062745, -0.008086566, 0.09375844, 0.17479296, -0.32219046, -0.17859502, -0.029911464) * go_6(0.0, 0.0); + result += mat4(0.0074331514, -0.0158369, -0.15111591, -0.0986743, -0.030352395, 0.25137565, 0.04130103, -0.0062408587, -0.1494196, 0.10451748, 0.17356388, -0.11889589, -0.21257852, 0.18119709, -0.32618928, -0.14297172) * go_6(0.0, 1.0); + result += mat4(-0.020291256, -0.12662272, 0.056155823, 0.057880387, 0.109167404, -0.08335087, -0.15138221, 0.047699973, 0.0058621103, -0.06914936, -0.073086455, 0.003365277, 0.22831668, -0.07399479, 0.024957279, 0.05620497) * go_6(1.0, -1.0); + result += mat4(0.07699637, 0.041208927, 0.06305996, 0.041955516, -0.08543101, 0.1444409, -0.08606257, -0.055031363, -0.10753908, 0.044322092, 0.15147197, -0.030209096, 0.009578645, -0.28745437, 0.182556, 0.019715844) * go_6(1.0, 0.0); + result += mat4(-0.075021446, -0.19192447, 0.1017877, -0.06666319, -0.14443877, 0.15312059, -0.073553406, -0.14337407, 0.08148258, 0.056119774, 0.12854706, -0.05987905, 0.08368831, -0.016305747, 0.07510809, 0.074687295) * go_6(1.0, 1.0); + result += mat4(-0.010471119, 0.13328238, 0.060071457, -0.03948096, 0.05319884, 0.17310601, -0.04464768, 0.08970178, 0.10060466, 0.03673445, -0.1702518, -0.16137329, -0.10923549, -0.080803566, 0.08140776, -0.023817802) * go_7(-1.0, -1.0); + result += mat4(0.013244887, 0.15331677, 0.09793132, 0.09692318, -0.1730623, 0.02818572, 0.05820418, -0.10480771, -0.009753599, 0.027658407, -0.08239695, -0.028878244, -0.13597834, -0.114619546, 0.12918031, -0.101478636) * go_7(-1.0, 0.0); + result += mat4(-0.1387837, -0.025863085, -0.07998665, -0.12072783, -0.02631342, 0.22394536, -0.044502188, 0.043130975, -0.054995466, -0.02638623, -0.03035314, -9.780792e-05, 0.10787078, 0.09983201, 0.048798468, -0.027303448) * go_7(-1.0, 1.0); + result += mat4(-0.030307472, 0.10377603, -0.048275083, -0.17565064, -0.0731305, -0.1687179, 0.049325664, 0.06664795, 0.15953282, 0.019989133, -0.12020434, 0.08591394, 0.016914282, 0.026901973, 0.058946334, -0.08739783) * go_7(0.0, -1.0); + result += mat4(-0.04967794, 0.07685563, 0.188108, 0.027708061, -0.12741639, 0.1113947, 0.080441244, -0.0532469, 0.18773162, -0.048492104, 0.10304353, -0.07217096, -0.03396989, -0.13489579, 0.0097981915, -0.07177994) * go_7(0.0, 0.0); + result += mat4(0.06648731, -0.013308226, 0.07468537, 0.018027442, 0.015774438, -0.12655127, 0.008981899, -0.10848047, 0.01785698, -0.037054867, 0.05375838, 0.026628552, -0.007766137, 0.021725474, -0.14604005, 0.07607764) * go_7(0.0, 1.0); + result += mat4(0.11879723, -0.015889695, -0.07713315, -0.069208734, 0.030487843, -0.01902965, 0.09156338, 0.11870824, -0.0053699217, 0.05143409, -0.07897252, -0.09999788, 0.037435826, 0.07663497, 0.0062756166, -0.007952132) * go_7(1.0, -1.0); + result += mat4(0.10580244, -0.036087725, -0.019035814, 0.033959202, 0.100345545, -0.1669388, 0.09289055, -0.0006761699, 0.05343634, 0.037503824, 0.08714516, 0.088569865, -0.08008031, -0.14313452, -0.0869759, -0.08801987) * go_7(1.0, 0.0); + result += mat4(0.006534133, 0.05105751, 0.1326258, -0.012239177, 0.058115125, 0.028674275, -0.09591513, -0.005499378, 0.041579086, -0.06331064, -0.045979768, 0.10551663, 0.112477005, -0.009950793, -0.1351577, 0.038971644) * go_7(1.0, 1.0); + result += vec4(0.05119014, 0.001999624, 0.0051741754, 0.006344799); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x48 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_tf3 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.113515526, 0.106837384, 0.20812881, 0.16897917, 0.041623022, -0.1039364, 0.19850619, 0.298937, -0.3082365, -0.031754434, 0.16342433, 0.37504506, 0.09699736, 0.010189174, 0.17887989, -0.09383025) * g_0; + result += mat4(0.10328652, -0.028724594, -0.03725655, 0.27347645, 0.10183029, -0.16081847, -0.10617321, 0.1901187, -0.03793219, 0.2775493, 0.14563474, 0.00840078, -0.17760493, 0.13339461, 0.089312814, 0.034915876) * g_1; + result += mat4(0.015832528, -0.045636576, -0.12128991, 0.2608647, 0.24673735, 0.10102276, 0.16210636, -0.46542636, -0.015267993, -0.15264183, 0.25447357, 0.031080268, 0.20901208, 0.14662905, -0.036634948, 0.0845752) * g_2; + result += mat4(0.09588151, 0.018494375, 0.027304746, 0.13447088, -0.06265565, 0.1733864, 0.334192, -0.113528445, 0.21299788, -0.1472667, 0.29488075, -0.1290995, -0.024090588, -0.3359844, -0.101115264, -0.2198912) * g_3; + result += mat4(-0.0139789, 0.21625891, 0.022689445, 0.06341661, -0.117535755, 0.2804869, -0.044223994, -0.19280532, 0.12332802, -0.038589306, 0.060168512, 0.003091399, 0.22361282, 0.20717236, -0.098680764, -0.3309222) * g_4; + result += mat4(-0.06628995, 0.12792988, 0.003792715, 0.1680786, -0.1342965, 0.41055954, 0.062222756, 0.049789477, -0.07372347, -0.18070233, 0.03299076, -0.09340363, 0.32073286, -0.07532172, -0.07331408, 0.20519489) * g_5; + result += mat4(0.086528674, 0.08663942, 0.25446007, -0.3459604, 0.08586162, -0.2900368, -0.24869849, 0.20104861, -0.5512707, -0.08311233, 0.14626856, -0.15290149, -0.1541716, 0.02692958, -0.0066374447, 0.37172756) * g_6; + result += mat4(-0.19816272, 0.08062059, 0.072980136, -0.1234166, 0.16083257, 0.07615364, 0.16252695, -0.31896582, -0.3006324, 0.24307664, 0.10824411, -0.22742745, -0.16614948, -0.22890756, -0.07267046, 0.09090352) * g_7; + result += mat4(-0.10712061, 0.071095675, -0.32983637, -0.09112012, 0.24694498, 0.09215849, 0.05334446, 0.077359654, -0.07286092, 0.34112877, -0.013829287, 0.06670894, -0.09276153, 0.072939105, -0.13622369, 0.14010417) * g_8; + result += mat4(0.11312907, -0.090158425, 0.3204081, 0.053531416, -0.253243, 0.12732224, -0.02162359, -0.34881824, 0.011340285, -0.2804999, -0.24482724, -0.06718974, 0.015262575, -0.0716948, -0.07537729, -0.20046124) * g_9; + result += mat4(0.046407733, 0.17073393, 0.027035931, -0.32520708, 0.47023183, -0.11385112, 0.10980019, 0.12331711, 0.039710827, 0.25615647, -0.06121073, 0.22643484, -0.053721283, -0.019124558, 0.24745707, -0.007544153) * g_10; + result += mat4(0.015645513, 0.24795622, -0.027034724, 0.091168396, 0.13050666, 0.19245213, -0.3235803, 0.12572092, -0.04100238, -0.2667382, -0.06869353, -0.18729845, -0.3253826, -0.15944591, -0.038754206, -0.022384685) * g_11; + result += vec4(-0.021124197, 0.065632634, 0.024891809, 0.072871104); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x48 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_tf3 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.11699225, -0.011926791, 0.15968116, -0.28171888, -0.094884306, 0.12266288, -0.02869124, 0.124487214, 0.11344168, 0.27545413, -0.11473996, -0.18655725, 0.07444298, 0.20979966, -0.34344572, 0.09082154) * g_0; + result += mat4(0.34916008, 0.13911577, -0.010201517, 0.0037869287, 0.08340967, -0.12156858, -0.117294475, 0.35585365, -0.06922667, 0.06911412, -0.07068636, 0.12846842, 0.015117793, -0.023309045, 0.013241948, -0.107297644) * g_1; + result += mat4(0.17315003, -0.10761723, -0.072508104, 0.22057249, -0.07545323, 0.07440893, -0.20900318, 0.020722175, 0.10075026, -0.12781784, -0.023600617, -0.08387344, 0.32060823, -0.078003615, 0.114024006, 0.09494562) * g_2; + result += mat4(0.11551656, -0.000862936, -0.3338336, -0.19441503, 0.14071822, -0.09090158, 0.116582595, -0.14757058, 0.3173076, 0.027060512, -0.18175173, 0.103367195, -0.123774566, 0.004113376, -0.036047045, 0.20972507) * g_3; + result += mat4(0.2616819, -0.23769857, 0.14694063, 0.52330256, -0.15146148, -0.21730542, -0.067091495, -0.06504361, 0.04726932, -0.043983664, -0.04815243, 0.16768406, 0.19502987, -0.32623842, -0.051590122, -0.13552347) * g_4; + result += mat4(-0.10593247, 0.043780692, -0.0012781665, -0.027277134, 0.07427171, 0.21340221, -0.0145785725, -0.09647566, 0.07683649, -0.0025731022, 0.22363698, -0.05832384, 0.021017361, -0.07482151, -0.12129065, -0.0019391342) * g_5; + result += mat4(-0.0340859, -0.14430326, 0.10648293, -0.072308615, 0.11786764, 0.119093865, -0.012822142, -0.037612807, -0.1896853, -0.22999093, 0.4030961, -0.03841633, 0.12869515, -0.18355207, 0.010367995, 0.02159778) * g_6; + result += mat4(0.053300664, 0.09102034, 0.2953044, 0.20959346, 0.051493607, 0.42663953, -0.24863662, -0.18108594, 0.09425621, 0.13966715, -0.14302093, 0.043921605, -0.16983564, 0.0754303, -0.017989958, 0.17268774) * g_7; + result += mat4(-0.08402705, -0.09658915, 0.12671614, -0.16052966, 0.03697882, 0.30477068, 0.13104036, 0.0013146247, 0.20226406, -0.07586563, -0.011798672, 0.3262475, -0.06879792, 0.08181783, 0.36202317, 0.3781982) * g_8; + result += mat4(-0.17125002, 0.33657587, -0.39985514, 0.02585221, 0.1537332, 0.04795972, 0.018550362, -0.22021875, -0.19417998, 0.074346684, 0.12862094, -0.20361246, -0.024607735, -0.2939094, -0.20752306, -0.23394017) * g_9; + result += mat4(0.1611785, -0.21036223, 0.511955, -0.32777244, -0.1491686, 0.16397569, 0.08984783, -0.06717227, 0.0506624, 0.11203859, -0.05863204, -0.19412707, -0.10711086, 0.19335233, -0.036180694, -0.12216311) * g_10; + result += mat4(0.07279537, 0.118367635, -0.24924143, 0.077552676, 0.076574005, 0.29696205, -0.4367856, 0.049242187, 0.03598476, -0.23271763, 0.09492026, 0.1604189, 0.23055643, -0.5723609, -0.16704383, -0.1909646) * g_11; + result += vec4(0.02420742, -0.053550396, 0.09937034, 0.02549033); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x48 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_tf3 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf2 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.2471731, -0.16232504, -0.30280364, 0.05774581, -0.33488455, -0.2850219, -0.14658487, 0.1705944, -0.24376623, -0.07736909, 0.13372669, 0.13659224, 0.15363434, 0.09130026, 0.118685074, -0.1887429) * g_0; + result += mat4(-0.14029902, 0.04204984, 0.029388431, -0.16639939, 0.037349563, 0.090201415, 0.115845665, 0.094291255, -0.003028802, -0.1821114, -0.052043844, 0.18686622, -0.1255908, 0.1673359, 0.17418015, -0.24007064) * g_1; + result += mat4(0.045778025, -0.038912218, 0.116795845, -0.118629694, -0.1916185, -0.21808104, 0.22124553, 0.12642126, -0.024481684, -0.32958513, -0.11877306, -0.13612218, 0.1202751, -0.17667405, 0.08483987, -0.07016802) * g_2; + result += mat4(0.004220892, -0.060743902, -0.15420602, -0.32612783, 0.022069136, -0.11913074, 0.22228731, 0.43151212, -0.03867469, 0.29992265, -0.14474417, -0.1324549, -0.067330755, 0.07419592, -0.3801413, 0.25740635) * g_3; + result += mat4(-0.43801382, 0.074864835, 0.22297561, -0.07522966, 0.089928746, -0.23775443, 0.12624952, 0.05267909, 0.11843678, 0.23380554, -0.16562468, 0.04727477, -0.07479534, -0.06559248, 0.41837972, 0.34442958) * g_4; + result += mat4(0.3688564, 0.13552678, -0.12272029, -0.14460362, -0.052870844, -0.0072880904, -0.20343664, 0.051840555, -0.07027805, 0.025613135, 0.1342496, -0.15982226, 0.21681777, -0.22339828, 0.04231994, 0.11173033) * g_5; + result += mat4(-0.014970335, -0.29749388, -0.17493735, 0.29414502, 0.040422376, 0.15367351, -0.16439381, -0.18030228, 0.11266584, 0.111256205, 0.14735286, 0.04284055, -0.15905188, 0.43124563, -0.32235175, -0.24786504) * g_6; + result += mat4(-0.05143537, 0.11057835, 0.21779476, 0.23726006, -0.0005560291, 0.04139496, -0.16062462, -0.24794249, -0.1464781, 0.19482404, -0.312965, 0.06129383, -0.18794996, 0.16319337, 0.14189719, -0.30816367) * g_7; + result += mat4(0.27121273, -0.004694028, -0.31637567, 0.032995105, -0.036668185, -0.11826119, 0.035944767, 0.21887423, -0.030638168, -0.3112658, 0.1413359, -0.05586408, 0.028680937, -0.109603494, -0.48359016, -0.085163146) * g_8; + result += mat4(-0.15236667, -0.06385869, 0.31347254, 0.024068993, 0.2756432, -0.0046036905, 0.07813827, -0.19012104, 0.04450809, 0.00904128, -0.21091071, 0.10090084, -0.014248632, 0.1903685, 0.27477407, 0.06778423) * g_9; + result += mat4(-0.13072848, 0.01106962, 0.09164927, 0.038539473, -0.27705765, 0.12634145, -0.32573533, 0.18789926, -0.089990735, -0.12661424, -0.19122249, 0.11970773, -0.15596688, -0.15337645, -0.39366686, 0.25173476) * g_10; + result += mat4(0.133498, -0.1286767, 0.0066307387, 0.05333134, 0.32057172, 0.11854806, 0.23994155, 0.07014444, -0.0822214, 0.17359538, 0.011753332, -0.098263726, 0.09097752, 0.23439142, 0.24286969, 0.30044666) * g_11; + result += vec4(-0.013156251, -0.073697254, 0.013861042, 0.029801248); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x48 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_tf3 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf3 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.0753999, 0.03658432, 0.18477479, 0.1749442, -0.5686113, 0.07571735, 0.3006386, -0.10368173, 0.31511122, 0.19695596, 0.022956114, 0.10611498, 0.11219441, 0.07497535, -0.051178914, 0.40932408) * g_0; + result += mat4(-0.53745884, -0.26310006, -0.14212249, -0.10600016, -0.3300384, -0.11597243, -0.10909209, 0.1591658, 0.20530003, 0.10293979, 0.44854087, -0.14645655, -0.17974512, -0.22815758, 0.055204354, 0.07649109) * g_1; + result += mat4(-0.11100687, -0.020421045, -0.06534363, -0.006278175, -0.20759039, 0.41434816, 0.019221503, -0.18696092, -0.17718618, -0.27402994, -0.31856942, 0.17581874, 0.19913019, -0.12737915, -0.23136902, 0.29896608) * g_2; + result += mat4(-0.19094995, -0.008856119, -0.1510312, 0.027294202, -0.038605593, 0.26966265, 0.07470327, -0.21256901, -0.004842345, -0.007547481, 0.0102520995, -0.101378344, 0.06716397, 0.32778296, 0.09866201, 0.105650894) * g_3; + result += mat4(-0.07321942, -0.20841677, -0.2987479, -0.025003504, 0.51052386, 0.11103265, -0.24727266, 0.05006711, -0.04068963, -0.17566985, 0.22884814, -0.08789049, 0.15666409, -0.2519647, 0.1815161, -0.29741505) * g_4; + result += mat4(0.32267484, 0.30005294, -0.32079622, 0.30390024, 0.47575063, 0.15858233, -0.049186833, -0.08754423, -0.30718598, -0.23053262, -0.4130956, 0.15375546, -0.2504387, 0.14406683, -0.03541755, -0.116562754) * g_5; + result += mat4(0.089908786, 0.16712907, 0.2827455, -0.1158676, 0.100818515, -0.13472387, 0.0018383784, 0.28862092, 0.16807888, 0.21766861, -0.008835093, -0.013818307, 0.29853174, 0.44468543, 0.109368436, 0.05118149) * g_6; + result += mat4(0.068973444, 0.0794158, 0.008132662, -0.025349714, -0.241619, -0.562253, -0.06472331, 0.26760724, 0.14286947, -0.108172484, -0.18315507, 0.082276024, -0.056612104, 0.15318224, 0.09156046, 0.059472494) * g_7; + result += mat4(0.17709294, 0.11063602, 0.016538871, -0.04356374, -0.4417025, -0.23322596, 0.1735871, -0.13079296, -0.014818513, 0.085076906, 0.31257257, -0.0979718, 0.23537876, 0.22838776, -0.1946557, -0.21086106) * g_8; + result += mat4(0.16094512, -0.20355348, 0.1149018, -0.19766387, -0.043893784, -0.12358672, -0.03911131, 0.23320928, -0.08093544, 0.09920411, -0.40996867, 0.08985439, -0.26298022, -0.35406327, 0.27618915, -0.17629734) * g_9; + result += mat4(0.17672168, 0.33174667, -0.1032466, -0.27387938, -0.02977908, -0.025017925, -0.20994124, -0.08694916, -0.02364592, -0.09470408, 0.020289965, 0.012267187, -0.36518613, -0.3328729, -0.006646349, 0.2829864) * g_10; + result += mat4(-0.37110084, -0.35592732, 0.23536026, 0.23718278, 0.047251917, -0.005406326, -0.3790981, -0.06730541, -0.059093118, 0.17381823, 0.08860589, -0.08435597, 0.063891046, 0.111061476, -0.17462096, -0.21782869) * g_11; + result += vec4(-0.036752474, -0.0199064, -0.031221999, 0.027302064); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_3_tf3 +//!SAVE conv2d_5_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_3_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_3_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.09734661, 0.061269853, 0.010684367, 0.07922197, 0.05781062, 0.09498859, 0.0059541194, 0.055028643, 0.029842257, 0.021540405, 0.046974428, -0.06634233, -0.13435823, 0.052091595, 0.15516177, 0.20840359) * go_0(-1.0, -1.0); + result += mat4(-0.11204712, 0.087035954, 0.18622182, 0.31039688, 0.14824612, -0.0020548997, -0.05728568, 0.09329071, -0.048949752, -0.00422063, 0.10059791, 0.01128758, -0.0667123, -0.07316058, -0.009909637, 0.14781536) * go_0(-1.0, 0.0); + result += mat4(0.21659678, -0.11969646, 0.31596485, -0.29449376, -0.085787125, -0.0041973544, 0.014939408, -0.06458572, 0.016557008, -0.10691503, 0.07453658, -0.09312512, -0.041953124, 0.0108861765, 0.046261944, 0.1774456) * go_0(-1.0, 1.0); + result += mat4(0.02254322, -0.052918423, -0.113152504, 0.071858585, 0.0117703015, 0.079451814, -0.0029153633, 0.015306896, -0.040042825, -0.06333894, 0.03827381, -0.003296969, 0.23065478, 0.11165739, 0.029987952, 0.13538778) * go_0(0.0, -1.0); + result += mat4(0.22478464, 0.053055856, 0.13375497, 0.11132069, 0.0768609, -0.08802591, -0.0005126305, -0.096074104, 0.05547799, 0.14047498, -0.21863975, 0.088811226, 0.14175189, 0.056029763, -0.09243144, -0.03227621) * go_0(0.0, 0.0); + result += mat4(0.058631405, -0.0020513993, -0.100427136, 0.09413551, 0.020093564, 0.069237374, -0.031309333, -0.15205812, -0.07296385, -0.08101741, -0.033533495, 0.04185518, -0.069678605, -0.11994933, -0.05458667, 0.1239785) * go_0(0.0, 1.0); + result += mat4(0.023654098, -0.016322771, -0.053925548, -0.05829063, 0.03189806, -0.07079362, 0.045294795, -0.056835167, 0.005102182, -0.004473431, 0.089829914, -0.051828075, 0.13791272, -0.12263063, 0.09900396, 0.08934504) * go_0(1.0, -1.0); + result += mat4(-0.14883909, -0.08370035, 0.029796274, -0.061349917, 0.031639863, 0.07670951, -0.07982861, -0.075953715, 0.01616426, 0.04547463, -0.17410962, -0.13339755, -0.030177329, 0.081280835, -0.071240604, -0.068024755) * go_0(1.0, 0.0); + result += mat4(-0.035136715, -0.0666993, -0.053949412, 0.23571363, 0.064162835, 0.058248613, 0.071939655, -0.043032203, 0.0027190417, 0.102130406, 0.08265134, 0.14767906, 0.11839981, 0.022512883, 0.008833997, -0.08867263) * go_0(1.0, 1.0); + result += mat4(-0.045464355, -0.03901701, 0.104742035, -0.054333255, -0.000674463, -0.072723635, -0.011385688, 0.1390963, -0.057841327, -0.10662542, -0.006296826, 0.07534485, -0.0022529615, -0.017679833, 0.11422933, -0.09602691) * go_1(-1.0, -1.0); + result += mat4(-0.037918784, 0.0471143, 0.01821684, 0.04785347, 0.05893716, -0.05264373, 0.031792507, 0.022692155, -0.12618628, -0.078732796, -0.107741006, -0.005904432, 0.033265546, -0.037677728, 0.018410092, -0.045087464) * go_1(-1.0, 0.0); + result += mat4(-0.08069271, 0.14640823, 0.03188813, 0.048628252, -0.10498838, -0.01750696, -0.017270578, -0.20060967, -0.022688782, 0.14007398, -0.064233646, -0.06584529, 0.048313648, 0.02902496, 0.025434876, -0.015005926) * go_1(-1.0, 1.0); + result += mat4(-0.11691012, 0.10830498, 0.0864008, -0.07428175, 0.059586193, 0.08761011, -0.051804967, -0.116023265, -0.040842712, 0.064043894, -0.055760466, -0.03979215, -0.1566118, -0.07059479, 0.23128736, 0.29601103) * go_1(0.0, -1.0); + result += mat4(0.019733015, -0.121494144, 0.07050759, -0.031028662, 0.02035677, 0.037133172, 0.1959422, 0.010620721, -0.11892457, -0.062402498, 0.23107922, 0.017938357, 0.039822582, -0.34718394, -0.0043610777, -0.12503235) * go_1(0.0, 0.0); + result += mat4(-0.1521077, 0.023124147, 0.17105149, -0.09529017, -0.18716997, 0.15938593, -0.075555176, 0.007660074, -0.0659198, 0.042362686, 0.06072557, -0.052555315, 0.031564806, -0.13988672, -0.100266196, 0.15556104) * go_1(0.0, 1.0); + result += mat4(0.03950866, 0.0932461, 0.14669223, -0.075737424, -0.09153526, 0.0028438887, 0.0519975, -0.008800768, -0.0026975062, -0.041466944, -0.10415832, -0.048266735, -0.19737266, -0.008451561, 0.054551005, -0.18987523) * go_1(1.0, -1.0); + result += mat4(-0.017622106, -0.10150143, -0.061344724, -0.021990284, 0.16188632, -0.039700583, 0.024772005, -0.05583961, 0.055742163, 0.17517552, 0.079216845, -0.045874085, -0.33632788, -0.55761105, -0.15164435, 0.19563487) * go_1(1.0, 0.0); + result += mat4(0.15358269, -0.08413987, 0.031613722, -0.016460061, -0.0045705284, 0.022188313, -0.053493183, -0.010319478, -0.10769792, -0.03695773, 0.004054835, -0.104466334, -0.10020303, -0.064705715, -0.041581728, -0.086132765) * go_1(1.0, 1.0); + result += mat4(-0.05974514, 0.036663704, -0.10178144, 0.21211717, 0.04420661, -0.036548615, -0.098309755, -0.08025222, 0.07865967, 0.07362496, 0.12985736, 0.12008698, -0.06263807, -0.10731051, -0.06923558, 0.07864413) * go_2(-1.0, -1.0); + result += mat4(0.22417663, 0.0588772, 0.1198325, -0.07723108, 0.033947755, -0.041091707, -0.16751619, -0.12512505, 0.100351505, 0.021007577, -0.0038691324, 0.11080665, 7.171485e-05, -0.05867157, 0.118601635, 0.053962808) * go_2(-1.0, 0.0); + result += mat4(0.021666002, 0.0027355652, 0.052574422, 0.056000613, 0.12146606, -0.13704947, -0.0871154, 0.025724513, -0.12228573, 0.11862116, 0.077627316, 0.0914951, 0.0656998, -0.012906203, 0.01584498, 0.0021894067) * go_2(-1.0, 1.0); + result += mat4(0.21685399, -0.21901615, 0.21654171, 0.09605749, 0.021838928, -0.060552385, 0.0023020366, -0.21475291, 0.19824745, -0.038538195, 0.14118937, 0.014410346, -0.03936526, -0.028588302, 0.01463384, 0.1269174) * go_2(0.0, -1.0); + result += mat4(-0.17986831, 0.17568718, 0.011101189, 0.034957506, -0.24435398, -0.17036551, 0.17677231, 0.114546336, 0.1765654, 0.14953285, -0.02125005, -0.090705946, 0.11545875, 0.11875337, 0.07169465, -0.056279495) * go_2(0.0, 0.0); + result += mat4(-0.20325391, 0.0077137332, -0.124255426, -0.03918733, 0.0057139527, -0.20959048, 0.016518086, 0.07134525, -0.033380203, 0.1895967, -0.020892128, -0.15934819, -0.026683806, 0.049555697, -0.012137531, 0.04078783) * go_2(0.0, 1.0); + result += mat4(0.044009577, -0.1267635, -0.19021805, 0.020304255, -0.026466701, -0.021304939, 0.05452358, 0.2480263, -0.10584058, -0.019716619, -0.021578709, -0.059174377, 0.016334238, 0.041968506, 0.06452988, -0.033252876) * go_2(1.0, -1.0); + result += mat4(0.13782366, 0.39971897, 0.041918628, -0.12675282, -0.06519262, -0.09265013, -0.09582015, 0.078845605, -0.16200846, -0.0828618, -0.028440878, 0.051919196, 0.18443401, 0.007192546, 0.1433654, 0.05663138) * go_2(1.0, 0.0); + result += mat4(0.20185442, -0.067758165, -0.074122995, 0.14756092, -0.12199864, -0.15655454, -0.12563851, -0.18541348, -0.021879317, 0.01678769, -0.0030687766, 0.08913009, 0.16956268, -0.023180367, 0.048467696, -0.046434075) * go_2(1.0, 1.0); + result += mat4(0.036227275, -0.05883773, 0.0012586793, 0.011253798, 0.10275155, -0.06640798, -0.1678144, 0.082103625, -0.1789737, -0.0023864328, -0.04942815, -0.030467045, 0.03752185, -0.014739322, -0.011592565, -0.08417689) * go_3(-1.0, -1.0); + result += mat4(0.010906125, -0.07623248, 0.024461044, 0.13993196, 0.026915673, 0.09800617, 0.00041784425, 0.0070541617, -0.1684005, -0.22166164, -0.019129276, 0.09959659, 0.09489805, 0.03439014, 0.10191427, 0.011791956) * go_3(-1.0, 0.0); + result += mat4(0.00095777505, -0.13054171, 0.14910473, -0.08741845, 0.02464533, 0.17301862, 0.04799081, -0.112584546, -0.10729309, 0.0021900109, -0.117694676, -0.22643587, 0.08776268, -0.013622246, 0.02121124, 0.0677086) * go_3(-1.0, 1.0); + result += mat4(0.080143295, 0.0005351027, -0.12454767, -0.009831431, 0.09471301, -0.06951146, 0.027126681, -0.0003073929, -0.045323767, 0.2865539, -0.08811831, 0.14265549, 0.057120778, -0.015644496, -0.13397896, -0.01764384) * go_3(0.0, -1.0); + result += mat4(-0.14829676, -0.22663654, 0.06900643, 0.19923732, -0.17632666, -0.1773072, -0.10938093, 0.1907633, -0.22015978, 0.16445194, -0.035109006, -0.1360336, 0.041809544, -0.05986774, -0.11678058, 0.02465583) * go_3(0.0, 0.0); + result += mat4(-0.1263213, 0.03851176, 0.06992986, 0.121745974, -0.0019402864, 0.069357015, -0.18422046, -0.021072289, 0.010600869, -0.09093927, 0.07218328, 0.030740313, -0.08003271, -0.07790914, 0.06410005, 0.014307259) * go_3(0.0, 1.0); + result += mat4(0.10477422, 0.0071695005, -0.14152291, -0.08124443, -0.09799372, -0.05710979, 0.058086738, -0.044789974, 0.043377526, 0.12331853, 0.025140652, 0.07699851, -0.045419525, -0.006256598, -0.1254608, -0.069459505) * go_3(1.0, -1.0); + result += mat4(0.012826945, 0.013810653, -0.03710287, 0.09192163, 0.20279253, 0.00034728806, -0.035849538, -0.017284289, -0.12103459, 0.113538265, 0.036033515, -0.2628409, 0.13250133, -0.15067518, -0.017473336, -0.017993376) * go_3(1.0, 0.0); + result += mat4(-0.04628539, -0.009509892, 0.010795782, 0.022657838, 0.034840304, -0.18331207, -0.043538917, 0.019726979, 0.093813986, -0.01182597, -0.030532721, -0.06725243, 0.035305396, 0.12598507, -0.045109455, -0.07104365) * go_3(1.0, 1.0); + result += mat4(-0.038427405, -0.03670289, 0.009010035, -0.08594717, 0.13386185, -0.055569336, 0.020312069, 0.17047036, -0.0005751851, 0.07102868, -0.0030843539, -0.062339533, 0.17729887, -0.02035552, -0.10233831, -0.11164339) * go_4(-1.0, -1.0); + result += mat4(-0.11263659, -0.05361348, -0.08857922, 0.025857484, 0.15782511, 0.11741005, 0.0008204784, -0.055593092, 0.16471939, -0.06537734, -0.049056504, -0.14134789, -0.06993487, 0.08265007, -0.026305847, -0.015778434) * go_4(-1.0, 0.0); + result += mat4(-0.007410701, -0.01441922, -0.013790292, -0.08496436, 0.059298597, 0.06749017, 0.033680003, -0.07553746, -0.007253728, 0.07603032, 0.03603444, 0.023113312, 0.009864538, 0.009545234, 0.007055779, 0.016675977) * go_4(-1.0, 1.0); + result += mat4(-0.03287154, 0.041329436, 0.048967343, 0.00020967565, -0.03840336, -0.26014775, 0.13467579, -0.01288433, 0.03179203, -0.124999754, 0.043841228, -0.06066888, -0.0051408918, -0.016409034, -0.12508035, -0.06799285) * go_4(0.0, -1.0); + result += mat4(-0.061412618, -0.023039775, 0.023298232, 0.027902585, -0.05903914, -0.04732177, -0.08157116, -0.16209878, -0.07151363, -0.11202448, 0.086137235, 0.13089454, -0.1727801, -0.084309146, 0.008881613, 0.10247897) * go_4(0.0, 0.0); + result += mat4(-0.080017336, -0.021263113, 0.19055346, -0.019997882, -0.1927784, -0.03550904, -0.030173002, 0.3082455, -0.15008178, 0.11214757, 0.02586731, -0.043060426, 0.07466955, 0.046203747, -0.07718886, 0.06528261) * go_4(0.0, 1.0); + result += mat4(0.019918084, 0.10393514, -0.009655002, 0.1094199, -0.089056216, -0.1737668, -0.059082154, 0.105823405, 0.026216887, 0.03503651, -0.12551196, 0.012876952, 0.11418996, -0.0284636, -0.11487945, 0.040532686) * go_4(1.0, -1.0); + result += mat4(-0.062002, -0.10289414, 0.0433779, -0.052594364, -0.026993295, -0.010685158, -0.14214714, 0.13103524, -0.1301826, -0.27670056, 0.11124729, -0.055402644, 0.01671333, -0.08101004, -0.05717023, 0.0962302) * go_4(1.0, 0.0); + result += mat4(-0.15299675, -0.0779102, 0.062842146, -0.11968336, -0.07164389, -0.017125668, -0.1688716, 0.061834283, 0.08188993, 0.0018753322, 0.08258499, -0.19381738, -0.04257649, -0.016848594, -0.017061861, -0.026112117) * go_4(1.0, 1.0); + result += mat4(-0.122003414, -0.09890703, -0.06982631, -0.02577599, 0.047824547, 0.03650507, 0.040395748, -0.04049112, 0.04005698, 0.09357465, 0.1360253, -0.15741147, -0.06551237, 0.08185881, -0.02194835, -0.013256005) * go_5(-1.0, -1.0); + result += mat4(-0.14268228, -0.08010237, 0.062330585, 0.24419874, 0.022156455, -0.031606868, 0.01986428, -0.123140745, 0.088045254, 0.07976336, 0.12356502, 0.03292295, 0.0039921612, 0.1391097, -0.1327237, 0.17087503) * go_5(-1.0, 0.0); + result += mat4(0.05809734, 0.10325669, 0.018551925, 0.18999831, 0.05094676, -0.031951625, -0.019107338, -0.024242481, -0.03815963, -0.14975072, 0.015570574, 0.116612114, -0.0035157371, -0.022934573, 0.0011566454, -0.1203576) * go_5(-1.0, 1.0); + result += mat4(-0.07571527, 0.1990212, -0.20027153, -0.10697796, -0.12820342, -0.084515885, 0.07578165, 0.020347733, -0.00892056, -0.18545923, 0.0695733, 0.14638829, -0.09150454, 0.006455754, -0.055462956, 0.042492133) * go_5(0.0, -1.0); + result += mat4(0.15239488, -0.06738116, -0.07969976, 0.1760308, 0.093105, 0.06533617, 0.037611242, -0.01698829, 0.09100471, 0.17494531, 0.10324255, -0.040920477, 0.04676677, -0.042271648, 0.17275427, 0.039887525) * go_5(0.0, 0.0); + result += mat4(0.04805025, 0.09289456, 0.012480428, 0.059763327, 0.20680524, 0.024041612, 0.04847308, -0.06536776, 0.03056509, -0.03703338, 0.031064041, 0.017866645, -0.0199645, 0.13258344, -0.0063539073, 0.04498349) * go_5(0.0, 1.0); + result += mat4(0.052932233, -0.11947033, -0.03155656, -0.07324679, -0.05424513, 0.078505605, -0.019819826, -0.118183404, 0.015165605, -0.15420818, 0.09117547, -0.06770803, 0.025362425, 0.10567001, 0.16803418, -0.014216641) * go_5(1.0, -1.0); + result += mat4(-0.002915114, 0.09753533, -0.07954533, -0.09036385, -0.10997803, -0.06226152, 0.15965928, 0.01742136, -0.16269052, 0.0012529608, -0.11517133, -0.06588761, 0.33304235, 0.32400182, -0.037736043, -0.08686809) * go_5(1.0, 0.0); + result += mat4(0.122677274, 0.07220127, 0.017788883, -0.1526565, -0.11781294, -0.096393414, -0.10738522, 0.027538292, 0.11034344, 0.0068561994, -0.01896905, 0.08191385, -0.031658173, -0.06143603, 0.11063846, 0.013613772) * go_5(1.0, 1.0); + result += mat4(-0.00034395256, 0.07757684, 0.03603346, -0.05409958, -0.039885473, 0.08888618, 0.11433487, 0.06239832, -0.012561817, -0.09264437, -0.06947361, -0.16703877, -0.05925366, 0.09730988, -0.0374859, -0.21553493) * go_6(-1.0, -1.0); + result += mat4(0.11113043, 0.046659853, -0.03720995, 0.13223019, -0.011127139, 0.045242492, 0.08000568, 0.026173163, -0.028678354, -0.04595475, -0.15907471, -0.061340734, 0.052668605, 0.120637506, 0.06996815, -0.032300867) * go_6(-1.0, 0.0); + result += mat4(-0.015105483, -0.035718217, 0.00565433, -0.0010706359, 0.01237486, -0.09663067, 0.060355566, -0.021619935, -0.0060178936, -0.10208557, 0.09834864, 0.005301487, -0.07065648, -0.0102565205, -0.079897635, -0.07363429) * go_6(-1.0, 1.0); + result += mat4(0.15122332, 0.01300845, 0.14561565, 0.0078122923, -0.07771233, 0.08672449, 0.059209164, 0.10349858, -0.18292949, -0.05491338, 0.037409253, -0.15557477, 0.007851884, -0.15677735, -0.007986883, -0.0820941) * go_6(0.0, -1.0); + result += mat4(-0.02603895, 0.004392774, 0.047779255, 0.030239321, -0.025975157, 0.007981695, -0.026700003, 0.17650554, -0.046760127, -0.12810352, 0.039018054, -0.020153303, -0.26770997, -0.24840021, 0.001749491, 0.13322414) * go_6(0.0, 0.0); + result += mat4(-0.048052143, 0.011061579, 0.048959274, 0.15330704, -0.05367691, 0.031792562, -0.030972287, 0.21764308, 0.07962203, -0.13632339, 0.05333787, 0.08173476, 0.029554084, -0.1607249, -0.14652269, -0.018444933) * go_6(0.0, 1.0); + result += mat4(-0.12028847, 0.11408145, -0.015187711, -0.1066138, 0.04004933, -0.054853894, -0.0002169158, -0.07392162, -0.06662435, 0.012898702, 0.11821237, -0.060647547, 0.10890098, 0.13925953, -0.034129824, -0.16795886) * go_6(1.0, -1.0); + result += mat4(-0.21198411, -0.22841139, 0.064901166, -0.0739707, 0.07579406, 0.13245337, 0.07984324, -0.11958311, 0.23518807, 0.03951031, 0.021313217, -0.039818693, -0.33798328, 0.14691062, -0.1605757, 0.054352395) * go_6(1.0, 0.0); + result += mat4(-0.13351469, 0.0918017, 0.021667097, 0.04695423, 0.1528799, 0.0066435975, 0.14461643, -0.0774705, 0.08538539, 0.029555036, 0.013566671, 0.04881617, -0.047637653, -0.024395077, -0.04682386, 0.024556898) * go_6(1.0, 1.0); + result += mat4(-0.04054251, -0.025060415, 0.13092743, 0.1434454, 0.019325754, -0.03814305, 0.038175087, -0.051956292, 0.107260615, 0.09564158, 0.033044748, 0.08718543, -0.0042597037, -0.08330614, -0.020769762, 0.021718048) * go_7(-1.0, -1.0); + result += mat4(-0.0467152, 0.011650741, 0.06790967, 0.1497807, -0.04228647, 0.0038935265, 0.050139807, -0.04191123, 0.11917793, 0.12565975, -0.09580006, -0.04954582, -0.022617152, 0.14059848, 0.06739387, 0.096524894) * go_7(-1.0, 0.0); + result += mat4(-0.0041557504, 0.14019534, -0.14307663, 0.16510043, -0.045185186, -0.07108944, -0.18530224, 0.0637945, -0.022739004, 0.016600542, -0.15113553, 0.03232497, 0.083305396, 0.030575624, -0.007784604, 0.10224721) * go_7(-1.0, 1.0); + result += mat4(0.13495712, 0.0132012805, 0.023121556, 0.09689293, -0.08771344, 0.13250796, 0.09810855, -0.07780123, -0.11128488, 0.049089704, -0.012155183, -0.01517611, -0.034393515, 0.11343268, 0.07681398, 0.12952201) * go_7(0.0, -1.0); + result += mat4(0.19935279, 0.16451101, -0.2434694, 0.0069289505, 0.099972665, 0.1275684, -0.25808835, -0.042677704, -0.018637422, -0.09171047, 0.010507542, 0.011131679, 0.09246794, -0.0041852095, 0.1290832, -0.07985622) * go_7(0.0, 0.0); + result += mat4(-0.0043436415, -0.15932998, -0.05970676, -0.13369723, 0.09200822, -0.047416117, -0.0073032505, 0.036765452, 0.03029621, -0.017910985, -0.071291275, 0.046770707, -0.07755798, -0.016484965, -0.057681244, 0.1414009) * go_7(0.0, 1.0); + result += mat4(-0.049801152, -0.11666162, -0.06752314, -0.027140377, 0.01744927, -0.015691767, -0.01865074, -0.049655963, -0.054574657, 0.042295195, -0.07221067, -0.04776607, 0.28138685, 0.03619317, 0.05957344, 0.12512729) * go_7(1.0, -1.0); + result += mat4(-0.18367589, -0.13354966, -0.18030748, -0.03868865, -0.13235895, 0.0832158, 0.06149876, 0.15696545, 0.0135377385, -0.029013326, 0.071308985, 0.027590062, -0.0692408, 0.07469874, -0.009006803, -0.028944101) * go_7(1.0, 0.0); + result += mat4(-0.05511066, 0.029652556, -0.034495458, -0.11805021, 0.1400147, 0.05601861, -0.008461109, -0.03828229, -0.010754387, -0.041252054, -0.01032058, -0.01723487, -0.06081277, -0.21858022, -0.086987965, 0.02353611) * go_7(1.0, 1.0); + result += vec4(0.046059743, 0.0101414705, -0.008947391, -0.020016287); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_3_tf3 +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_3_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_3_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.015272437, -0.059803978, -0.028676871, -0.02191302, 0.09696589, -0.03694334, 0.079412386, -0.09939299, 0.055519488, 0.13914746, -0.06045851, -0.033998977, 0.068030894, 0.22130857, -0.007071924, -0.084617935) * go_0(-1.0, -1.0); + result += mat4(-0.31423712, -0.16286789, -0.19696762, -0.169529, -0.048720174, 0.0645061, -0.121878594, -0.09086406, -0.027578864, -0.12501127, -0.16284546, 0.05864118, -0.059388425, -0.091798484, -0.2045986, 0.008371446) * go_0(-1.0, 0.0); + result += mat4(0.1516353, -0.07816612, 0.06701313, -0.0950027, -0.06908343, -0.017901963, 0.044034127, -0.06375459, 0.0035083925, -0.008009938, -0.1553017, -0.09092037, 0.054205187, -0.07541141, -0.029629523, 0.1302109) * go_0(-1.0, 1.0); + result += mat4(-0.07794453, -0.11150074, 0.07698152, 0.08732758, 0.005230772, 0.14475264, -0.09703018, -0.10291971, 0.105738714, -0.12889017, 0.0348841, 0.13621795, -0.13801111, -0.09004793, 0.114610545, -0.0009902337) * go_0(0.0, -1.0); + result += mat4(-0.13234864, -0.22682235, -0.22653654, 0.008841708, -0.017389977, 0.0007245843, -0.034918804, 0.08006901, 0.06819286, 0.15364736, 0.048638005, 0.032650337, 0.277397, -0.00709555, -0.00092056254, 0.15162739) * go_0(0.0, 0.0); + result += mat4(-0.05169096, 0.21755818, 0.33516932, 0.031588975, -0.14497629, -0.04724443, 0.05017679, 0.07897262, 0.13459034, 0.31124622, 0.017543063, -0.12901956, 0.020066176, 0.035704516, 0.09234457, -0.13252299) * go_0(0.0, 1.0); + result += mat4(-0.079380505, 0.0073481426, -0.06069702, -0.010502408, 0.07515405, -0.116293535, 0.0046105445, 0.009152441, 0.0916981, 0.07103545, 0.021125732, -0.05427634, -0.05110015, -0.009169704, 0.064662114, -0.035349734) * go_0(1.0, -1.0); + result += mat4(0.038265344, -0.09519448, 0.059789244, -0.13617846, -0.061203677, -0.081682116, -0.029475613, 0.1452557, 0.09861209, -0.07015944, -0.05356181, -0.021776738, 0.10369119, -0.07849195, -0.038590387, -0.10154714) * go_0(1.0, 0.0); + result += mat4(0.13858013, 0.17500602, -0.06286432, 0.12322357, -0.020820327, 0.10139774, 0.06707506, -0.045559894, 0.08304632, 0.014706953, -0.031214742, -0.046962608, 0.029041013, 0.116795875, -0.034526866, 0.024736797) * go_0(1.0, 1.0); + result += mat4(-0.15546273, 0.12283236, -0.15851308, -0.15174977, -0.07573153, 0.018088356, 0.050452355, -0.1072712, 0.023415051, -0.083648965, -0.08438857, 0.0037589336, -0.052143987, 0.054112066, 0.068947434, 0.0041476013) * go_1(-1.0, -1.0); + result += mat4(0.11446611, 0.058583263, -0.06733016, -0.0023722851, 0.07993185, -0.023523904, -0.11709358, -0.04045295, 0.011010934, -0.040319018, -0.07934788, -0.13672778, -0.01871028, 0.050461486, 0.009289529, -0.04118888) * go_1(-1.0, 0.0); + result += mat4(0.09812941, -0.05562772, -0.054017413, -0.123784855, 0.001961671, 0.10594461, -0.04178937, 0.039041057, 0.04732996, -0.046621576, -0.02719964, -0.0011114897, -0.01653831, -0.12494121, -0.03380852, -0.016219255) * go_1(-1.0, 1.0); + result += mat4(-0.060704853, 0.07478782, -0.07182519, -0.0042965743, 0.016299726, 0.048351113, -0.01954189, 0.026182631, 0.1213542, -0.03132194, 0.1872669, 0.073706634, -0.2032187, 0.14876659, -0.17023273, -0.2227079) * go_1(0.0, -1.0); + result += mat4(-0.09304609, -0.07197119, -0.05462784, -0.0031730293, -0.279643, -0.04054853, 0.08253801, -0.18801835, -0.007780369, 0.103015654, 0.017752673, -0.33401743, 0.25395665, 0.124612115, 0.17287181, 0.09410012) * go_1(0.0, 0.0); + result += mat4(0.016278468, 0.09776316, -0.018774673, -0.028158069, -0.004626514, -0.089645386, -0.22390373, -0.22903992, 0.08918763, 0.093416885, -0.064013496, -0.020969093, 0.055319004, 0.038180985, -0.024488134, -0.040401362) * go_1(0.0, 1.0); + result += mat4(0.018308487, -0.011729305, -0.09917752, -0.002841483, 0.0599436, 0.016863806, -0.04848376, 0.042487588, 0.03422387, 0.010988273, -0.046248045, 0.016439699, -0.2109331, -0.26634532, 0.09737795, -0.22783673) * go_1(1.0, -1.0); + result += mat4(-0.043874994, 0.057370197, 0.108060665, 0.12056862, 0.04326372, 0.042426717, 0.10711789, 0.18016145, -0.06800899, 0.050411705, 0.062778726, -0.08883587, -0.12963888, -0.26155844, 0.1768527, -0.20759244) * go_1(1.0, 0.0); + result += mat4(-0.029307218, 0.034253594, 0.023449568, 0.10740543, -0.007117891, -0.08609973, -0.070199385, 0.028014658, 0.011849466, -0.103710175, -0.044059474, 0.0910086, -0.0036186902, -0.13148114, 0.11775623, 0.03689876) * go_1(1.0, 1.0); + result += mat4(-0.02930122, -0.028750544, -0.16977385, 0.024588319, 0.06966029, -0.05039873, 0.02433029, 0.008939243, -0.07164926, -0.024791168, -0.042547364, -0.0096171675, 0.026791278, 0.13012235, 0.018013593, -0.05196021) * go_2(-1.0, -1.0); + result += mat4(0.051087376, -0.010833802, -0.025629422, -0.16892247, 0.10266821, -0.08566462, 0.021818671, 0.099710494, 0.052938227, 0.15181173, -0.07044235, 0.006057611, -0.04405104, -0.008049883, -0.02076555, -0.16482745) * go_2(-1.0, 0.0); + result += mat4(0.09891512, 0.008049609, 0.01639775, -0.06643191, 0.017111722, 0.2329798, 0.035799496, 0.010293999, 0.0704336, -0.03576047, 0.023332953, -0.07576646, -0.0014989872, 0.022484222, 0.011937841, -0.04858518) * go_2(-1.0, 1.0); + result += mat4(-0.010375555, -0.29719326, 0.15491869, -0.12884745, 0.1403921, -0.0111622475, -0.040989667, -0.07690612, -0.18047535, -0.085979894, -0.04110178, -0.026867142, -0.116575025, 0.01505097, -0.064706944, 0.0068447054) * go_2(0.0, -1.0); + result += mat4(-0.17111692, -0.14148626, -0.074309886, -0.054845806, -0.12844844, -0.1814628, -0.080664955, 0.08824405, 0.049287837, 0.125754, 0.13574858, 0.22351772, -0.0020951808, 0.05195172, -0.19726871, 0.0040973197) * go_2(0.0, 0.0); + result += mat4(0.019996997, 0.06518832, -0.06759968, -0.07601458, 0.14987434, 0.10496216, -0.05135024, 0.004877606, -0.045061707, -0.037699945, 0.05177059, 0.084363855, 0.046086136, -0.030641818, -0.058476638, 0.08614476) * go_2(0.0, 1.0); + result += mat4(-0.08008592, -0.17577869, 0.2598816, 0.01865104, 0.09420606, -0.027588135, 0.122131534, -0.15293474, 0.058529835, -0.008539355, 0.015938425, 0.050187953, -0.02314343, 0.01624479, 0.00061906216, -0.08660734) * go_2(1.0, -1.0); + result += mat4(-0.09669957, 0.105325714, -0.04216754, 0.4313952, 0.01175941, 0.0064402292, -0.09035242, -4.4676657e-05, -0.09296604, 0.05282715, 0.10292071, 0.058552645, -0.12130569, -0.067147344, -0.03417468, 0.10585223) * go_2(1.0, 0.0); + result += mat4(0.032175943, 0.022815451, -0.11661248, 0.04680869, -0.0039209807, 0.03585509, 0.015391019, -0.012086847, 0.077763, -0.16538106, -0.08112365, -0.047386654, 0.046851672, -0.15512191, 0.12339567, 0.045468587) * go_2(1.0, 1.0); + result += mat4(-0.003045521, 0.011283177, 0.057040576, 0.14315721, -0.033659145, 0.04654075, -0.05798073, 0.016922075, -0.03206714, -0.029252306, 0.0752731, -0.19472761, -0.004521209, -0.008417225, -0.01819342, 0.09594639) * go_3(-1.0, -1.0); + result += mat4(0.023216221, 0.00050637213, 0.093280256, -0.0036191205, -0.099975824, 0.15540068, -0.0005460901, 0.07478613, -0.020638715, -0.11652944, -0.06071933, -0.14358073, -0.037845127, 0.0038647808, -0.07280816, 0.1025985) * go_3(-1.0, 0.0); + result += mat4(-0.10873849, -0.07031447, 0.0056161666, 0.034578577, -0.15001217, 0.017945569, -0.059527688, 0.009716552, -0.10370449, 0.032418504, 0.05663323, 0.10394252, 0.0230122, -0.07451814, 0.12283976, -0.11731048) * go_3(-1.0, 1.0); + result += mat4(0.09558205, -0.082451336, -0.033909228, -0.0067867287, 0.12707525, -0.016118657, -0.18240142, -0.29438785, 0.065717794, -0.16262093, 0.043810308, -0.2857367, 0.11772093, -0.042244613, -0.016529586, -0.0028848667) * go_3(0.0, -1.0); + result += mat4(-0.095545195, -0.14809576, -0.10179922, -0.3241558, -0.29769334, -0.003899532, 0.027323049, -0.17966785, 0.08280068, -0.028337095, 0.15347622, 0.1661956, 0.17435703, -0.115148745, -0.016894776, -0.018672291) * go_3(0.0, 0.0); + result += mat4(-0.16706415, -0.07363752, 0.062359426, 0.13341492, 0.033634063, 0.11740068, 0.18746865, 0.10657675, 0.032304406, 0.09954153, -0.1386874, -0.13592382, 0.029351018, -0.03206953, 0.09523795, 0.06962056) * go_3(0.0, 1.0); + result += mat4(-0.022705866, -0.06569827, -0.091605455, 0.070918486, -0.053591333, 0.061575353, -0.10306779, -0.13712883, -0.070348755, -0.024930507, 0.012275779, -0.20609841, -0.047163837, -0.06799354, -0.01722682, -0.07951833) * go_3(1.0, -1.0); + result += mat4(-0.09951865, -0.089199685, -0.03204326, 0.12676425, 0.017853266, -0.011848084, 0.16991617, 0.14529921, 0.07919947, 0.038282923, -0.16438726, -0.05181831, -0.051588885, 0.17036556, -0.025693918, -0.08663645) * go_3(1.0, 0.0); + result += mat4(0.09096619, -0.042492405, -0.02680967, 0.09422492, -0.03217904, -0.021298975, 0.122680284, 0.003280786, -0.0027162856, 0.32307196, 0.00042480655, -0.04048761, -0.05125339, 0.03318497, -0.017228108, 0.080749124) * go_3(1.0, 1.0); + result += mat4(-0.05089259, -0.0053160666, 0.04031622, 0.0675516, -0.075230755, 0.11064669, -0.16225758, -0.27091557, -0.033630677, 0.077405855, -0.08949044, -0.20493746, -0.08045375, -0.14623162, 0.01690271, 0.09677526) * go_4(-1.0, -1.0); + result += mat4(0.17415513, 0.0070055854, -0.10742436, 0.077625334, -0.046910375, -0.17963062, -0.13546865, -0.008154046, -0.007528051, -0.02987437, -0.02181232, -0.16890126, 0.029016118, -0.10211868, 0.062935695, 0.0028676116) * go_4(-1.0, 0.0); + result += mat4(-0.025289172, 0.20245677, -0.0033883427, 0.0069943997, 0.1960503, -0.104858525, 0.06183405, -0.010476609, -0.065109745, -0.13811804, 0.037909374, -0.027144575, 0.0040317164, 0.035209123, 0.09870678, -0.0479482) * go_4(-1.0, 1.0); + result += mat4(-0.028792664, 0.038431108, 0.014691095, 0.11340496, -0.060376063, -0.079663344, -0.023059526, -0.14558718, -0.14886084, -0.09452481, 0.16099294, -0.09676519, 0.14557302, -0.023548108, -0.04787074, -0.13845164) * go_4(0.0, -1.0); + result += mat4(-0.11922315, -0.17272118, 0.21888684, 0.0006877604, -0.041505255, -0.064750075, 0.17717092, -0.0050328346, 0.08072545, -0.15914737, -0.34404156, -0.12710881, -0.24833426, -0.012279114, -0.0929118, -0.17624308) * go_4(0.0, 0.0); + result += mat4(0.072484106, -0.079038285, -0.12901638, 0.082699366, 0.20412955, -0.114168845, 0.123569965, -0.27721637, -0.08529062, -0.03288879, 0.026492476, 0.19470787, 0.12789781, -0.046228945, 0.030243115, 0.102509424) * go_4(0.0, 1.0); + result += mat4(-0.018162742, 0.026119776, 0.028543998, 0.14580049, -0.031844176, 0.055030007, 0.00784516, -0.0094214855, 0.16610105, -0.13140243, -0.101545244, -0.14765148, 0.046954077, 0.0151733, 0.028250849, -0.016968153) * go_4(1.0, -1.0); + result += mat4(-0.071911104, 0.07253662, -0.0039084554, 0.10001815, -0.0059544197, 0.039695, 0.09711302, 0.12417695, 0.012477504, 0.19828807, 0.08522809, -0.0065681627, 0.030625535, 0.075225085, -0.016773878, 0.0051740888) * go_4(1.0, 0.0); + result += mat4(0.018142365, 0.06312399, 0.020529382, -0.08701831, -0.081653036, -0.020882376, -0.06594719, -0.015883535, -0.09766773, -0.013606815, -0.01932629, 0.14317879, -0.08628326, 0.032843128, -0.03849329, 0.044433527) * go_4(1.0, 1.0); + result += mat4(-0.19906221, -0.019701794, -0.13417694, -0.22192308, 0.12774472, -0.080230385, -0.07713913, -0.018704597, 0.04177193, 0.043377854, -0.004895913, -0.068911865, 0.09720858, 0.09008334, 0.09644683, -0.03094106) * go_5(-1.0, -1.0); + result += mat4(0.06691037, -0.07232021, 0.0880707, -0.1096942, -0.0670756, 0.15671045, 0.012647426, -0.01460337, 0.023473715, 0.25899747, -0.07224047, 0.033385064, -0.08618433, -0.04862091, -0.08293281, 0.086158596) * go_5(-1.0, 0.0); + result += mat4(0.08823607, 0.03869106, -0.023876008, -0.026033832, 0.03230582, -0.1304758, -0.068728656, -0.0057360893, -0.045426574, 0.063521795, -0.01852874, -0.042811543, -0.051053554, 0.03814756, -0.02033012, -0.048743658) * go_5(-1.0, 1.0); + result += mat4(0.015931997, 0.07338466, -0.001379819, -0.04980926, -0.059085526, 0.08673082, 0.06408948, -0.0012361417, -0.17019162, 0.094189726, -0.14372677, 0.004410176, 0.11336311, 0.10751407, -0.08628446, 0.11517482) * go_5(0.0, -1.0); + result += mat4(0.007854747, 0.11453255, 0.16967475, 0.047550052, -0.114481956, 0.08391739, 0.092615105, 0.06488047, 0.08140995, -0.1407751, 0.03324224, -0.02032371, -0.13508326, -0.055251148, -0.18647192, 0.12472472) * go_5(0.0, 0.0); + result += mat4(-0.052146748, 0.09979267, 0.029023444, -0.13495271, -0.0252162, -0.0596912, 0.080368, -0.03177713, 0.02240823, -0.0018220172, 0.015609448, -0.022447577, -0.15107572, -0.109189086, -0.100533925, 0.118836805) * go_5(0.0, 1.0); + result += mat4(0.022925707, -0.06910447, -0.018874725, 0.009468046, -0.14554814, 0.07727692, -0.0047826543, -0.0013009618, -0.07025157, 0.012556721, -0.037335817, 0.035178307, 0.06550488, 0.048649, -0.014515659, 0.06279116) * go_5(1.0, -1.0); + result += mat4(0.03258051, 0.1607996, -0.005463293, 0.027238868, -0.1231972, -0.0771126, -0.046944942, 0.12712134, 0.075969175, -0.09897373, 0.022424594, -0.088259995, 0.114332475, 0.1605132, -0.03992334, -0.00781645) * go_5(1.0, 0.0); + result += mat4(0.0684246, 0.1356707, -0.18023875, -0.04613952, 0.006020655, 0.030828401, -0.042292707, -0.032438643, -0.059692264, 0.04760126, -0.0045480486, 0.019046038, 0.06176289, 0.13285528, -0.023466881, 0.0345628) * go_5(1.0, 1.0); + result += mat4(-0.017516924, 0.04755433, 0.02724948, -0.20600726, -0.04323209, 0.07760261, -0.023362167, 0.08546276, 0.09192108, 0.036733013, 0.13411112, 0.048988055, 0.02760956, 0.02746886, -0.0072430624, 0.01127053) * go_6(-1.0, -1.0); + result += mat4(-0.08310694, -0.1415815, -0.08375172, 0.0363182, -0.081730485, -0.06046439, 0.02982689, 0.08872717, 0.00072316185, -0.14549169, 0.09066894, -0.14281332, 0.16423841, 0.052469682, -0.0067828847, 0.008377004) * go_6(-1.0, 0.0); + result += mat4(-0.13628009, 0.018103965, -0.032083835, 0.12424575, 0.024337478, -0.103213586, -0.13552395, -0.09551738, 0.0420191, 0.10316015, 0.067298695, 0.0035425322, 0.0029188823, -0.053332064, 0.027478272, 0.08300774) * go_6(-1.0, 1.0); + result += mat4(-0.007367251, 0.056404594, -0.048879124, -0.020900933, 0.010486612, 0.07887076, -0.020189175, -0.13583486, 0.13937452, 0.057288323, -0.07264488, -0.01801294, 0.19403873, 0.103872076, -0.14108293, -0.16779351) * go_6(0.0, -1.0); + result += mat4(0.109870814, 0.04083196, 0.19445752, 0.024208639, 0.20810223, -0.088830575, -0.194837, -0.04915425, 0.08709219, -0.06014266, 0.012886667, -0.23102829, -0.17614147, -0.18462501, -0.078888394, -0.085750245) * go_6(0.0, 0.0); + result += mat4(-0.043739304, -0.15343273, -0.004483079, 0.028602215, -0.053307105, 0.03963491, 0.09067442, -0.040540636, 0.005630982, -0.03907181, -0.08252026, -0.255134, 0.036551263, -0.1558265, 0.12722903, -0.018271362) * go_6(0.0, 1.0); + result += mat4(0.100884244, 0.041502595, -0.02924491, 0.0006563439, 0.05856145, -0.0045917677, 0.09798114, 0.089630224, 0.0275624, 0.0553079, -0.055310242, -0.10005074, 0.108301334, 0.035387103, -0.21943197, -0.02148485) * go_6(1.0, -1.0); + result += mat4(0.038974132, 0.07830882, 0.05164519, -0.12069417, 0.05397008, 0.061845202, -0.007274972, 0.058689874, 0.06141266, -0.0424411, -0.05565388, 0.07025662, 0.085278414, 0.047607705, -0.049411476, -0.17264275) * go_6(1.0, 0.0); + result += mat4(0.024846716, 0.011342758, 0.044558752, 0.005749814, -0.0656907, -0.10310058, -0.0502014, 0.10221803, 0.02951027, 0.08945397, 0.075140476, -0.14311805, 0.08085466, 0.13427396, -0.05678222, -0.28819987) * go_6(1.0, 1.0); + result += mat4(0.06705349, -0.018869668, 0.015324304, -0.07764027, -0.10141193, 0.028659642, -0.08375406, 0.005064868, 0.03488706, 0.09525751, -0.10248002, 0.06137774, -0.005868939, 0.006512338, -0.0560103, 0.030272838) * go_7(-1.0, -1.0); + result += mat4(-0.036294904, -0.018521994, -0.03307544, -0.08824787, -0.02880715, 0.009350453, 0.065284535, 0.021653919, 0.015398833, 0.14517242, -0.041406073, 0.12960012, -0.035283025, -0.15387185, 0.043584332, 0.033682194) * go_7(-1.0, 0.0); + result += mat4(0.028819354, 0.06410185, 0.036591727, 0.038817216, 0.046048388, -0.04071045, 0.105549805, -0.019702256, 0.04773352, 0.011951728, 0.024311544, -0.13352196, -0.020938, -0.021588324, -0.069265515, 0.08652285) * go_7(-1.0, 1.0); + result += mat4(-0.22862528, -0.046740018, 0.061469328, -0.020422334, -0.10328232, -0.1077609, 0.12025423, 0.057812545, 0.17792639, 0.012279389, -0.07101039, -0.025944097, -0.086152576, -0.0155693265, 0.083100215, -0.14897798) * go_7(0.0, -1.0); + result += mat4(0.14513083, -0.06021356, 0.049246337, 0.10806752, -0.021607077, -0.07385248, 0.057333313, 0.13416117, -0.06690401, -0.19059011, 0.021498155, -0.03842978, -0.10343301, 0.043801896, 0.10485668, 0.054747216) * go_7(0.0, 0.0); + result += mat4(0.111293696, 0.0013921659, 0.029689424, 0.05060646, -0.06785304, -0.05120073, -0.058148287, -0.054629184, 0.019767666, -0.03841178, -0.047711127, 0.12487687, 0.002752687, 0.0041709486, 0.06040608, 0.04098326) * go_7(0.0, 1.0); + result += mat4(-0.038370624, -0.09880031, 0.027125726, -0.060028706, 0.12887341, 0.07956673, 0.049340174, 0.12674156, 0.108758375, -0.01999054, 0.10093637, 0.05006565, -0.08913735, -0.026908305, 0.0202185, 0.020061754) * go_7(1.0, -1.0); + result += mat4(-0.025420299, 0.038421508, 0.09560932, -0.11508314, 0.0155848935, 0.0347484, -0.008577495, -0.18132563, 0.101311065, 0.10495623, 0.15127939, -0.10312934, 0.019007044, -0.027185634, 0.047117107, -0.016839046) * go_7(1.0, 0.0); + result += mat4(-0.08142026, -0.034331992, -0.029070942, -0.14392552, -0.078249715, 0.15499105, -0.08205064, 0.12780844, -0.020675218, -0.1315328, -0.07152117, 0.029007316, -0.037264626, 0.013577999, -0.03113356, -0.038550116) * go_7(1.0, 1.0); + result += vec4(0.076316014, -0.018089892, -0.012637839, -0.10212818); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x56 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_3_tf3 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.4954155, -0.097350635, 0.2804199, -0.13652386, -0.14972939, 0.19721153, -0.23526497, -0.2423665, 0.12555814, -0.0705443, 0.043938212, 0.19388582, 0.09386085, -0.43720174, 0.29635525, 0.26856044) * g_0; + result += mat4(0.14495872, 0.0610595, -0.20516497, 0.19073643, -0.008849148, 0.08743844, -0.12433487, 0.03215462, -0.01670364, -0.34068078, 0.15872881, -0.27169266, 0.33020407, 0.008234461, -0.12094001, 0.17628567) * g_1; + result += mat4(0.04740511, -0.15941422, 0.124839395, 0.081435576, 0.09804199, 0.058109295, -0.025289856, -0.29283887, -0.1833574, -0.09766394, 0.06008274, 0.05992534, 0.47684956, -0.08688919, -0.02071398, -0.08875196) * g_2; + result += mat4(0.051867574, -0.1671438, -0.015705047, -0.13457336, 0.13484482, -0.06867962, -0.0494534, -0.13416421, 0.031772017, 0.0070866095, 0.011681956, -0.2802077, -0.048953146, -0.0164331, 0.09649591, 0.040060654) * g_3; + result += mat4(-0.4341213, 0.0894957, -0.16301447, 0.18785268, -0.28154027, 0.21622275, 0.22126062, 0.2361705, -0.087688446, 0.38882533, 0.020676106, -0.17769825, -0.18067831, 0.0878923, -0.18052578, 0.009196582) * g_4; + result += mat4(-0.14932597, -0.025830185, -0.07313429, 0.28342503, 0.19499254, 0.122385964, 0.02120492, 0.15144306, -0.23691256, 0.043697022, -0.053712673, 0.2025457, -0.05035754, 0.04117272, 0.12530772, -0.2590774) * g_5; + result += mat4(0.15071404, 0.015031444, 0.24973233, -0.036299556, 0.30665022, 0.15286064, -0.03598529, 0.060580775, 0.10571382, -0.06852027, -0.13089266, -0.33822387, 0.04771977, -0.15371466, -0.14530133, 0.0127773) * g_6; + result += mat4(-0.04100588, 0.080336295, -0.0012170919, -0.18198122, -0.12988265, 0.11356896, 0.21294571, -0.080107085, -0.1408792, -0.24597132, 0.046940666, -0.029645668, 0.1568284, -0.07500836, -0.13504413, -0.17453668) * g_7; + result += mat4(0.38996047, -0.027129678, 0.2774081, 0.11160041, 0.2672792, -0.09991047, -0.1424887, -0.12418898, 0.15399674, -0.0089404015, 0.2265917, -0.08212792, 0.25704643, -0.013109098, -0.31268027, 0.10123544) * g_8; + result += mat4(0.033000022, 0.15843867, -0.21515252, -0.046294916, -0.35692936, 0.08798134, 0.23537703, 0.0043003275, -0.1383531, 0.1972939, -0.2003098, 0.1543574, 0.053583264, 0.29797947, 0.13025342, 0.038611986) * g_9; + result += mat4(0.10687409, 0.077787064, 0.27379388, 0.13262683, -0.23440802, 0.1360886, -0.20802121, 0.06401844, 0.26749787, 0.29900748, -0.04572612, 0.3015703, -0.3005316, 0.16046184, -0.0419697, -0.23878895) * g_10; + result += mat4(-0.063034855, 0.07657174, -0.17484638, 0.07603076, -0.06233915, -0.11565521, 0.02205211, -0.025715057, 0.102525316, 0.044643577, 0.112743095, -0.08565946, -0.121290885, -0.1572643, 0.19650643, -0.13887478) * g_11; + result += mat4(-0.36125946, -0.1215746, 0.15642375, 0.26731244, 0.24759081, 0.1720814, 0.3640398, -0.32403925, -0.06189445, 0.23764968, -0.02306858, 0.17816281, -0.06804958, 0.06811998, -0.07474977, 0.24738653) * g_12; + result += mat4(0.054465637, 0.057861228, 0.059370693, -0.12227704, -0.024842938, -0.10762688, -0.13456275, 0.10306674, 0.058080807, -0.3396897, -0.08585732, 0.016198207, -0.09374, 0.3309844, 0.00036378333, -0.16453783) * g_13; + result += vec4(0.016481666, 0.009086331, -0.036633138, 0.0041078017); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x56 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_3_tf3 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf1 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.3210504, -0.13668466, 0.20637684, 0.0037060305, -0.2674051, -0.11230086, 0.29947895, 0.093965776, -0.08801977, 0.23411755, -0.00690265, 0.22540577, 0.3496324, -0.07614303, -0.2682172, -0.18024528) * g_0; + result += mat4(-0.12103706, -0.061189037, 0.019804776, 0.31127328, -0.36069378, 0.213189, 0.22896592, 0.008048813, -0.021931307, 0.3776008, 0.04475082, 0.08132412, 0.12560965, -0.12159681, 0.012501785, -0.3363862) * g_1; + result += mat4(-0.2294047, 0.038059004, 0.21087843, 0.037582193, -0.026122637, 0.28849372, 0.24839666, 0.13881797, -0.29496697, -0.17923991, 0.024531588, -0.06418792, 0.015839651, 0.12997966, 0.23888347, -0.1048919) * g_2; + result += mat4(-0.18445078, 0.025115933, 0.08433517, -0.22597772, -0.12536137, 0.21140383, -0.030371241, 0.036926106, 0.19343626, -0.0041754777, 0.00244178, 0.021117657, 0.26237983, 0.22308359, 0.2492868, -0.24042289) * g_3; + result += mat4(0.22000861, 0.08476075, 0.11643673, 0.15832588, 0.03325583, 0.24106406, 0.2292178, -0.2764258, -0.06348522, 0.17427239, 0.16678956, 0.17231269, -0.0872214, -0.0135706505, -0.06671483, -0.07503989) * g_4; + result += mat4(-0.30087617, 0.3176826, -0.31664857, -0.101466715, 0.073069066, 0.0038022113, -0.13776854, 0.10784852, 0.02954845, -0.24216515, -0.19634016, 0.022595271, -0.17444247, 0.17016955, -0.07563684, 0.20474768) * g_5; + result += mat4(-0.27660307, -0.07230632, -0.09617381, 0.21262856, 0.11049351, 0.050447285, -0.3273503, 0.05641904, -0.042776052, -0.17620195, -0.06274188, 0.039536018, -0.070038274, 0.20343757, 0.08803773, 0.009139854) * g_6; + result += mat4(0.24007742, -0.13485539, -0.3781107, 0.027324034, 0.010332106, 0.08556457, -0.2392748, -0.13601078, -0.19836703, 0.022715727, -0.016411083, -0.17756946, -0.14373688, 0.020681657, 0.05082997, -0.14939624) * g_7; + result += mat4(0.28352678, 0.20785898, -0.15538763, 0.04196249, 0.19792412, -0.24451323, 0.04824567, -0.1365707, 0.19390641, -0.061393958, -0.25272602, 0.0045554833, -0.21719287, -0.08406589, -0.048988152, 0.05259591) * g_8; + result += mat4(-0.10792345, -0.29639974, 0.21581274, 0.029042492, -0.28554165, 0.10910743, 0.07680131, -0.13153972, 0.14755669, 0.0854899, 0.24539046, 0.08502808, 0.22990887, 0.15149027, 0.23587988, -0.09517703) * g_9; + result += mat4(0.15912442, -0.34394726, 0.34174097, 0.25116822, -0.24741888, 0.37633938, -0.08430594, 0.2769256, -0.03159722, 0.05234807, 0.029541405, -0.1266574, -0.122047566, -0.16540837, 0.2679574, -0.23974617) * g_10; + result += mat4(-0.10200111, -0.11974673, -0.0079962695, -0.39264813, -0.006873918, -0.23566915, 0.13980511, -0.070295505, 0.12384241, 0.09101257, -0.04413333, -0.112293474, -0.27065778, 0.03445708, 0.16511594, 0.37050763) * g_11; + result += mat4(-0.096395366, 0.06278703, -0.09479416, -0.488774, -0.09141473, 0.12217416, -0.11785924, -0.22766003, 0.16063516, 0.00020897393, 0.3078544, 0.18561389, -0.15621823, -0.13971844, 0.020068014, 0.013216665) * g_12; + result += mat4(0.12522821, 0.0046115327, -0.007866688, -0.22109744, 0.2225005, -0.051918246, 0.11966214, -0.119629785, 0.2925202, -0.26889777, -0.3189588, -0.24831142, -0.036346573, 0.047227684, 0.1266368, 0.1058624) * g_13; + result += vec4(0.020081282, -0.013928095, 0.0059036794, 0.08544713); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x56 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_3_tf3 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf2 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.056797255, -0.032698087, 0.029859383, 0.12932985, -0.31103006, 0.09165681, -0.15708402, 0.38043964, -0.13528557, 0.2859556, 0.14288856, 0.13102476, -0.08694984, -0.11780176, 0.16207103, -0.11293293) * g_0; + result += mat4(-0.008796308, 0.118975446, -0.081319205, 0.2084897, 0.08794772, 0.10214503, -0.08378455, -0.10624162, 0.05444449, 0.22647963, -0.12047645, 0.10406878, -0.031486277, 0.045164254, 0.47999045, -0.18060975) * g_1; + result += mat4(-0.0077636116, 0.05870985, 0.24050762, 0.31322572, 0.08778678, 0.14943774, 0.050537623, -0.102939114, 0.3195675, -0.14615574, -0.26218277, -0.25581908, -0.0019809192, -0.03835245, 0.031318333, -0.1428093) * g_2; + result += mat4(0.11256259, -0.19089468, -0.06846508, 0.033907987, -0.35249296, -0.06160221, 0.27247807, -0.048603278, 0.040144738, -0.0032360333, -0.2515736, 0.43086162, -0.055536952, -0.11406552, 0.382992, 0.27862927) * g_3; + result += mat4(-0.03384886, 0.10702642, 0.003908078, -0.009494176, 0.2838821, -0.12845019, 0.12637386, 0.19460931, -0.034333568, 0.012672623, 0.21387313, 0.15411916, 0.14327122, -0.1352761, -0.2997244, -0.017908785) * g_4; + result += mat4(-0.29253754, 0.33169383, 0.0082393335, -0.20709762, 0.2854362, -0.20728073, -0.22790352, 0.09301863, 0.13168077, -0.07411445, 0.09350424, -0.046449713, -0.11836855, -0.30250466, -0.13257061, 0.3576938) * g_5; + result += mat4(-0.13777697, 0.056764964, -0.36749512, 0.04235051, -0.041132767, -0.16603513, -0.023862578, -0.014339848, -0.38274148, 0.28778306, 0.15228234, 0.20225881, -0.02469988, -0.101541154, 0.26388898, -0.20009927) * g_6; + result += mat4(0.15456057, 0.27760306, -0.06929698, -0.24072653, 0.1415152, -0.1549776, 0.030720191, -0.0019005954, -0.06598489, -0.11686977, 0.12704816, -0.30917537, -0.14339961, 0.12742354, -0.23345275, -0.3419119) * g_7; + result += mat4(0.18928154, -0.19353028, -0.15966406, -0.19417015, 0.10313398, 0.0046505663, 0.21482769, -0.23275238, -0.20456892, -0.5014606, -0.10783419, 0.25891942, -0.24919175, -0.10028775, -0.2961402, 0.077766955) * g_8; + result += mat4(-0.085105784, 0.06528528, 0.102185756, 0.099264726, -0.00020144526, -0.08768721, -0.09324967, 0.30346313, -0.084492646, -0.14017163, -0.043167874, -0.20060216, 0.09593379, 0.28399333, 0.08168489, -0.33063418) * g_9; + result += mat4(0.15791257, 0.057779472, -0.20147012, 0.07967618, 0.04262509, 0.039220728, -0.15080509, 0.17438835, -0.044964172, -0.14530478, 0.31693324, 0.08582341, -0.1061789, 0.2800015, 0.33440664, 0.09700403) * g_10; + result += mat4(-0.14642169, -0.07778901, 0.13264288, -0.24182376, 0.23503877, 0.005028356, -0.30113846, 0.22778516, -0.1648793, -0.033169918, -0.20036162, -0.35071707, -0.06705746, 0.12431054, -0.022009062, -0.07124459) * g_11; + result += mat4(0.06766408, 0.09030523, 0.22668982, -0.38617492, -0.10099634, -0.029897379, 0.24775109, -0.20888264, 0.056208886, 0.0044284128, 0.16691649, 0.22874106, 0.0038740179, -0.07576401, 0.27207628, 0.11311432) * g_12; + result += mat4(-0.11319886, -0.3020603, 0.08133381, 0.19350809, 0.032002088, -0.038216423, -0.12224599, 0.08397432, 0.021123007, 0.075326644, 0.29643238, 0.20064169, 0.042381126, -0.002854783, -0.027586436, -0.06968597) * g_13; + result += vec4(0.038540784, 0.053720564, 0.012191528, -0.029126916); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x56 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_3_tf3 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf3 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.014542811, -0.1261262, 0.17474864, -0.18425815, -0.3337646, 0.14748253, 0.09152566, 0.2310806, -0.06578738, -0.3566174, -0.22862534, 0.15323487, 0.01515519, 0.26764703, -0.13214609, 0.09887451) * g_0; + result += mat4(0.19941364, 0.015275053, -0.022320624, 0.020372959, -0.10664179, -0.28493354, 0.014191545, 0.12122301, -0.045194257, -0.22491856, -0.071520865, -0.020854274, 0.13432617, 0.25484133, 0.018084215, -0.06713652) * g_1; + result += mat4(0.017183261, -0.056154247, 0.13298456, -0.07631693, 0.18904336, -0.41949302, 0.14992298, 0.11840105, 0.13420148, 0.029390668, 0.017888589, -0.1975919, 0.22601372, -0.061724294, 0.12116033, -0.19753963) * g_2; + result += mat4(0.020371309, 0.21103396, 0.034326386, -0.23044631, 0.12982637, -0.14810205, -0.23559897, -0.2222485, 0.18240234, -0.17697355, -0.11639408, -0.08132961, 0.039377302, 0.07299684, 0.094041504, -0.13445067) * g_3; + result += mat4(-0.3512728, 0.09182307, -0.2731474, -0.20885572, 0.07993976, 0.23121795, 0.15620309, 0.3383141, -0.28460538, 0.12850872, 0.1916648, 0.13205391, 0.14932914, 0.041017998, -0.17976354, -0.0014468295) * g_4; + result += mat4(-0.069909975, -0.23581205, 0.11732144, 0.35232806, 0.3549401, -0.2124837, 0.10403375, -0.09976183, 0.1178997, 0.09910817, 0.061140217, 0.18059346, -0.48723674, 0.037783384, 0.109662086, 0.15543982) * g_5; + result += mat4(0.11262317, -0.12212692, -0.14394115, 0.15909098, 0.22035566, 0.06488609, -0.2719919, -0.05028129, -0.21462728, 0.17861556, -0.023895046, -0.060819868, -0.17524192, -0.042733762, 0.142835, 0.2747072) * g_6; + result += mat4(-0.034566112, -0.18427409, 0.09579439, -0.16909808, 0.052964725, -0.058238853, 0.33444786, -0.20727915, -0.31497413, -0.11388015, 0.13721034, 0.19388893, -0.21066165, -0.14097935, 0.030426605, 0.110704474) * g_7; + result += mat4(0.094303906, -0.23499818, -0.43609008, 0.21279193, 0.39544016, 0.19924188, -0.07611524, 0.012560389, -0.08812965, -0.13701713, 0.01677176, -0.29865423, -0.06948771, 0.14918856, 0.1985359, 0.3003729) * g_8; + result += mat4(0.014332535, -0.021538176, 0.20930877, -0.029769948, -0.06551115, 0.11966418, -0.08329082, 0.049386136, 0.08940004, 0.16989197, 0.06084547, 0.13855645, -0.10395637, -0.27498555, -0.19077462, 0.043506) * g_9; + result += mat4(-0.31060696, 0.047150746, 0.22204353, 0.31374148, 0.06301296, -0.007103609, -0.2580888, -0.07127509, 0.11478869, 0.094191864, 0.21567936, -0.06297016, 0.06925183, -0.023501558, 0.16371831, 0.2506513) * g_10; + result += mat4(0.07425674, 0.012622665, 0.02251264, -0.0731929, -0.008055616, 0.09563007, 0.063964136, 0.24579796, -0.30710867, 0.13981472, 0.025152119, -0.11285761, -0.4419823, -0.026953885, 0.14130811, -0.22058487) * g_11; + result += mat4(-0.04211301, -0.17002018, -0.13325875, 0.20184138, 0.09686255, 0.054461457, 0.16713423, -0.031002847, -0.26473212, 0.11992785, 0.04697473, 0.051042553, 0.17835025, -0.12469087, -0.3201284, -0.088562444) * g_12; + result += mat4(0.13638292, -0.033149652, -0.19838256, -0.09581218, 0.0060164076, 0.42301872, -0.07126564, -0.10523957, 0.16030665, -0.20535246, -0.14773448, -0.015409135, -0.24350728, 0.23187117, 0.0220223, -0.039217964) * g_13; + result += vec4(-0.011449135, -0.002830778, 0.09782809, -0.0067631872); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_6_tf3 +//!SAVE conv2d_8_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_6_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_6_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.08278094, -0.06729527, 0.031399664, -0.092175096, -0.09598525, 0.0692705, 0.07357648, 0.01260903, 0.045900777, 0.038010124, 0.15354258, -0.047163863, -0.043397132, -0.12536208, 0.02847729, -0.013675385) * go_0(-1.0, -1.0); + result += mat4(0.06463816, -0.17011416, -0.072270736, -0.00077445264, 0.05667064, 0.19799162, 0.026234929, -0.108368374, 0.11948396, -0.015124027, -0.05998398, -0.003967303, -0.03935485, -0.12709956, -0.022918347, 0.030837826) * go_0(-1.0, 0.0); + result += mat4(0.016932894, -0.124500565, 0.038753737, -0.053246994, -0.011897654, 0.06793573, 0.009754347, 0.093742564, -0.0022504984, -0.10328963, -0.041577645, 0.12853336, -0.0019680248, -0.06569624, -0.00980168, 0.07412545) * go_0(-1.0, 1.0); + result += mat4(-0.011991195, -0.14135748, 0.022438431, -0.08267288, -0.102458276, -0.06054887, 0.0740161, -0.22415951, -0.10556297, 0.067763075, -0.0012128456, -0.08078541, 0.037686612, -0.05131911, -0.077715784, -0.10292683) * go_0(0.0, -1.0); + result += mat4(-0.03901934, -0.025878599, -0.0039180447, -0.011033788, 0.08859326, 0.08883106, 0.06486116, 0.022174777, -0.017150419, 0.003371806, 0.14988162, -0.015397375, -0.22962348, 0.13905591, 0.0304279, 0.05778632) * go_0(0.0, 0.0); + result += mat4(-0.036198925, 0.010353016, 0.18139736, -0.030242506, 0.013582345, -0.1253235, 0.10521855, 0.08867587, -0.08140836, 0.05626297, 0.060417447, 0.023256533, -0.08408929, -0.050643906, -0.044822842, -0.03461039) * go_0(0.0, 1.0); + result += mat4(0.051602095, -0.0035041904, -0.08575373, 0.037096065, 0.07106982, 0.16974165, 0.035875358, -0.10185968, -0.061462298, 0.055281874, -0.10975635, 0.060814563, 0.19476666, -0.08311511, -0.090538144, -0.029539565) * go_0(1.0, -1.0); + result += mat4(-0.11952374, 0.026727766, 0.084769025, 0.12317156, 0.010292374, -0.004846773, -0.00056787115, -0.0043771397, -0.09487309, -0.067313395, -0.091773935, 0.024257664, 0.06091223, -0.06471365, -0.1844986, -0.0070593283) * go_0(1.0, 0.0); + result += mat4(-0.0129227275, -0.07383303, -0.094597906, 0.027363284, 0.12854053, 0.029074714, 0.17636952, 0.009017012, -0.11885556, 0.021179812, 0.032750517, -0.10665486, -0.117322296, 0.15855946, -0.042696536, -0.034112938) * go_0(1.0, 1.0); + result += mat4(-0.18735315, -0.0383124, 0.08355156, 0.0009654472, -0.027351197, -0.11594707, -0.11390738, -0.073805965, 0.016577588, -0.041749846, 0.095151775, -0.013978341, -0.045601666, 0.028430155, 0.044656575, 0.026988927) * go_1(-1.0, -1.0); + result += mat4(0.038661715, -0.033163723, 0.051213194, -0.017374616, -0.045903623, -0.15435313, -0.21136428, -0.085471176, 0.033464145, -0.1568745, 0.025762582, -0.1323702, -0.076927684, 0.082414575, -0.007401752, -0.010405403) * go_1(-1.0, 0.0); + result += mat4(0.12922324, -0.045166656, -0.119287744, -0.04893617, -0.16573387, 0.10323662, -0.10845215, -0.08680144, 0.053727087, -0.099716894, -0.12107649, -0.035701852, -0.10188255, -0.1050426, -0.11734088, 0.012192005) * go_1(-1.0, 1.0); + result += mat4(0.010157501, -0.028124793, -0.23867199, 0.028386971, -0.05079922, 0.14048165, 0.12307385, 0.04237863, -0.09109179, -0.12844259, 0.12961523, 0.11307605, -0.0037782195, 0.12505195, -0.033914108, 0.15617172) * go_1(0.0, -1.0); + result += mat4(-0.05588651, 0.20299816, -0.04803554, 0.07680136, -0.07316037, 0.11256523, 0.021389104, 0.06444092, -0.033678472, -0.1238879, 0.32729727, 0.1160183, 0.24852078, 0.09187297, 0.030721879, -0.17204261) * go_1(0.0, 0.0); + result += mat4(-0.1090884, -0.08179965, 0.012365602, 0.0023614678, 0.047255266, -0.011425142, 0.050309908, 0.020743, 0.011185459, -0.0783444, -0.10389257, 0.15164678, -0.09860278, 0.2308804, 0.14304534, -0.023106692) * go_1(0.0, 1.0); + result += mat4(0.13734475, 0.028718147, 0.012539987, -0.14427094, 0.18098259, 0.042366285, -0.0006354639, -0.033402618, -0.08078463, -0.036856003, -0.09954893, 0.08161202, -0.0700716, -0.1013236, 0.14824523, 0.01243695) * go_1(1.0, -1.0); + result += mat4(-0.052275825, 0.013260194, 0.008599061, 0.048557945, -0.01833292, 0.07512356, -0.13110496, -0.1584473, -0.05318785, 0.15830933, -0.06464659, -0.12064129, 0.02371888, 0.016303185, 0.19887853, 0.18558335) * go_1(1.0, 0.0); + result += mat4(0.032500263, 0.03570767, -0.015267871, 0.02510295, -0.16201164, -0.033186425, 0.13611977, 0.004775358, -0.020494966, 0.015229924, 0.09721559, -0.008303934, 0.20763409, 0.052391976, -0.074661806, 0.028839186) * go_1(1.0, 1.0); + result += mat4(-0.06636867, -0.04612264, -0.05086471, 0.039922826, -0.11093169, 0.049438246, 0.11703952, -0.22848104, 0.06390542, 0.19045272, -0.039848838, 0.020837499, 0.0740839, 0.07413691, 0.0029493799, -0.006748913) * go_2(-1.0, -1.0); + result += mat4(-0.031790916, -0.03261483, 0.03141088, -0.06491077, -0.0059831943, 0.056244142, -0.092812866, 0.06591125, 0.05781488, 0.06261082, -0.15501937, 0.1827671, -0.0065676877, -0.0029327788, -0.10061289, 0.001621177) * go_2(-1.0, 0.0); + result += mat4(-0.021516185, -0.035738394, 0.02173596, -0.09346334, -0.024093078, 0.20837367, -0.19447315, -0.106595434, 0.1764288, 0.10132692, -0.20130908, 0.0020316292, 0.088547304, -0.14616993, -0.004568217, -0.05189275) * go_2(-1.0, 1.0); + result += mat4(0.1434771, 0.16794604, 0.049545784, -0.14729089, -0.09666416, 0.021916742, -0.16318898, 0.005039905, -0.014329562, -0.14026406, 0.04786338, 0.032467626, -0.040357247, -0.036503237, 0.066264, 0.044725385) * go_2(0.0, -1.0); + result += mat4(-0.044699024, 0.2657712, -0.045145772, 0.023147859, -0.007385799, 0.054834887, 0.0045836456, -0.14960848, 0.021600831, -0.080300994, 0.23189497, 0.16937429, 0.15613528, 0.07286254, 0.07573354, -0.09220955) * go_2(0.0, 0.0); + result += mat4(-0.118413486, 0.116047636, 0.04855291, 0.17476392, 0.18554908, -0.1393284, -0.26401383, -0.12099436, 0.39432368, 0.06991714, -0.23502299, 0.09135091, -0.0004467319, 0.18719012, -0.06892029, -0.049125932) * go_2(0.0, 1.0); + result += mat4(-0.04694353, 0.05887831, 0.051786385, 0.09872501, 0.016071057, 0.0675272, -0.07588389, 0.08099156, -0.08351224, 0.028720237, -0.18468943, -0.064417, 0.02897887, -0.02838868, -0.0051516593, 0.020160142) * go_2(1.0, -1.0); + result += mat4(0.06967655, -0.10119048, -0.07461322, 0.046589576, -0.07417147, -0.27599525, -0.14567149, -0.018966913, -0.0080859475, 0.097926416, -0.004793609, -0.0238407, 0.13844706, 0.052965965, 0.18324359, -0.07171396) * go_2(1.0, 0.0); + result += mat4(0.09684431, 0.07697054, 0.07467197, 0.0841034, -0.03485726, -0.19047433, -0.13606454, -0.14253993, 0.0042300713, 0.12028247, 0.0343525, 0.15145339, 0.047937512, -0.019340659, 0.043160856, 0.1289243) * go_2(1.0, 1.0); + result += mat4(-0.026626844, -0.012561339, -0.09748627, -0.054832272, -0.0049458332, -0.034060504, 0.013348937, -0.17650189, -0.003711293, 0.22327754, 0.0058838148, -0.08777391, -0.02241254, 0.06661738, 0.056674536, 0.15060939) * go_3(-1.0, -1.0); + result += mat4(0.057583887, -0.096711345, -0.13132288, 0.04828797, 0.18810083, -0.010919861, -0.03167035, 0.054168098, -0.07418671, 0.007635684, -0.12464779, -0.087896496, -0.11705839, 0.15784474, -0.05894365, 0.00985668) * go_3(-1.0, 0.0); + result += mat4(0.04880203, 0.15284486, -0.07269711, 0.06278638, 0.0020699063, -0.10799795, 0.011133507, -0.07771604, 0.055557128, -0.06618517, -0.09253136, -0.029467167, -0.09276546, 0.04678591, 0.051960696, 0.103199065) * go_3(-1.0, 1.0); + result += mat4(0.080728024, 0.12400965, -0.03501919, 0.035573788, 0.19680372, -0.021293646, 0.14413169, -0.1221883, -0.03054547, 0.030825824, 0.11822608, 0.076860145, 0.111504436, 0.08573583, -0.045738664, 0.13754657) * go_3(0.0, -1.0); + result += mat4(-0.20742206, 0.1834124, 0.06952014, -0.16472295, 0.34194514, -0.015351303, 0.011443411, -0.02556704, 0.0299547, -0.14608088, 0.10182188, 0.07452315, 0.12299894, -0.066409536, 0.11641269, 0.0396994) * go_3(0.0, 0.0); + result += mat4(-0.038516127, -0.12653664, -0.101806566, -0.21038078, 0.21433663, -0.068815336, 0.0032489449, -0.016478453, -0.053524405, -0.14795046, -0.109093994, -0.12870269, -0.002630448, -0.06801728, 0.14639665, -0.06822433) * go_3(0.0, 1.0); + result += mat4(-0.07080211, -0.040826853, -0.033220325, -0.059183825, 0.04329672, 0.063708104, -0.035263177, -0.0458802, -0.02008796, -0.049146526, 0.089134075, 0.03859085, -0.045549996, 0.029697193, 0.15034728, -0.0018817111) * go_3(1.0, -1.0); + result += mat4(0.039675616, 0.018654805, 0.13472396, -0.10085893, 0.10066916, -0.08033906, 0.018985836, 0.1816522, -0.018084701, -0.10209158, 0.0449365, 0.09099806, -0.020470351, -0.06829825, -0.014519299, -0.00509428) * go_3(1.0, 0.0); + result += mat4(-0.15741396, 0.05455757, 0.117732294, -0.057458114, -0.114514634, -0.094042346, -0.17771651, -0.061140526, -0.060833562, 0.10035822, 0.06124312, -0.06661064, -0.0018217589, 0.038015686, 0.01619762, 0.052612346) * go_3(1.0, 1.0); + result += mat4(-0.046267886, 0.027238147, -0.081795394, -0.09895906, 0.05681646, -0.18517537, 0.12982327, 0.1463164, -0.20571908, -0.0044081192, -0.07597679, 0.06798806, -0.024998685, -0.105057, 0.020142943, -0.04110074) * go_4(-1.0, -1.0); + result += mat4(-0.07359837, 0.08834078, -0.07412248, -0.12616368, 0.0115964, -0.04456031, 0.008991023, -0.015968446, -0.043489736, 0.14576635, 0.13684048, 0.15739883, 0.05994394, 0.11297449, 0.12657966, -0.059943344) * go_4(-1.0, 0.0); + result += mat4(-0.17568645, 0.11484936, 0.062251553, -0.15136053, 0.29049096, 0.0024718787, 0.121878795, -0.009670675, -0.19996215, 0.029120186, 0.12848198, 0.076529734, 0.011830436, 0.1576248, -0.12900768, -0.05310298) * go_4(-1.0, 1.0); + result += mat4(-0.06142374, -0.17815915, 0.00058353646, -0.0667871, 0.0668762, -0.29092032, 0.23282619, -0.010448164, 0.05979426, 0.08196557, 0.111800365, 0.1558172, -0.010005564, 0.075883746, -0.040655583, 0.0051063546) * go_4(0.0, -1.0); + result += mat4(-0.0077534625, -0.14138709, 0.010493417, -0.15145995, -0.09795836, 0.106897555, 0.26405326, 0.07498084, -0.15466009, -0.19128636, 0.15841517, 0.054464955, 0.031502593, -0.09426758, 0.22110905, -0.00015192994) * go_4(0.0, 0.0); + result += mat4(-0.35819224, -0.10807826, 0.06658498, -0.10841418, 0.09475472, 0.13453954, -0.013960625, -0.009735592, 0.038927417, 0.13535383, 0.033521585, -0.094346955, -0.019520368, 0.06643515, -0.07618614, -0.07051688) * go_4(0.0, 1.0); + result += mat4(-0.055401906, -0.037381615, 0.041573223, -0.14800537, -0.1526917, 0.050005253, -0.049910907, 0.047916252, 0.034644917, -0.14797066, 0.046542633, -0.07104987, -0.026582243, 0.15330225, 0.2227041, 0.19780077) * go_4(1.0, -1.0); + result += mat4(0.003628358, -0.059674487, -0.21862231, -0.1362011, 0.016803924, 0.20197828, 0.18969901, 0.09246762, 0.027481126, -0.019240722, -0.061361928, 0.1739253, 0.01544318, -0.11393152, 0.047847472, 0.11922861) * go_4(1.0, 0.0); + result += mat4(-0.16246219, -0.12184918, 0.02492925, -0.035550725, 0.03243216, -0.0061611524, 0.06504156, 0.12337497, -0.03740865, 0.2711029, 0.19475599, 0.0069879107, -0.04362148, -0.002894425, -0.08314916, -0.25339) * go_4(1.0, 1.0); + result += mat4(0.06639268, 0.1226432, -0.114832185, 0.070980854, -0.0730899, 0.057009514, 0.046833325, -0.067606986, -0.09919963, -0.37281474, -0.017902378, 0.063805416, 0.08555195, 0.048291102, -0.020758439, -0.027784465) * go_5(-1.0, -1.0); + result += mat4(0.013405216, -0.14713968, -0.10929318, -0.024524782, -0.19179231, 0.005229531, -0.035046607, -0.03029374, 0.12758893, -0.06695983, -0.16914585, -0.02630946, -0.05946738, 0.0141625535, -0.08066392, -0.0039679087) * go_5(-1.0, 0.0); + result += mat4(-0.081084944, 0.16825265, 0.057608504, 0.015340001, 0.03824054, -0.10183542, 0.0990391, 0.101068445, -0.0107377535, 0.028140228, 0.1429819, -0.016266476, -0.117353275, -0.18448253, 0.18239972, 0.14592138) * go_5(-1.0, 1.0); + result += mat4(0.022838028, -0.13077143, 0.020248974, -0.055619814, 0.36748004, -0.25471938, 0.22140662, 0.037865274, 0.043932404, 0.055467438, 0.01949179, -0.17188439, -0.029154088, 0.07582445, 0.2514083, 0.017520098) * go_5(0.0, -1.0); + result += mat4(0.24249633, -0.015670802, 0.10350504, 0.10091157, 0.073665835, 0.154068, -0.13934352, 0.034722574, -0.14473338, 0.16642897, 0.14154346, 0.19300297, -0.15170477, 0.17405164, 0.0993315, 0.082411245) * go_5(0.0, 0.0); + result += mat4(0.120236054, 0.04393166, -0.1274564, -0.14343578, -0.17841624, 0.14795913, 0.1327008, 0.04306565, 0.03820121, 0.036950663, -0.09966917, 0.1561982, 0.15704241, 0.010505043, -0.059078265, 0.17782433) * go_5(0.0, 1.0); + result += mat4(0.015989952, -0.10346438, 0.01477996, 0.01381734, -0.0020046702, -0.08296894, 0.030247187, -0.06902144, -0.033283636, 0.08230534, 0.2041918, -0.017593132, -0.05823506, -0.06271958, 0.057211872, 0.16528864) * go_5(1.0, -1.0); + result += mat4(0.15105817, 0.08504043, -0.14911468, -0.19373105, 0.077416345, -0.07362624, -0.14520273, -0.117083244, -0.098855175, -0.11546281, 0.2013104, -0.09206118, 0.049059115, -0.03629559, 0.071217075, 0.1291613) * go_5(1.0, 0.0); + result += mat4(-0.03957678, -0.12520507, -0.045303326, -0.11613586, 0.16313192, 0.072967835, 0.025449362, 0.01722513, -0.055758182, -0.043600183, -0.02403487, -0.031192053, 0.14819577, -0.051370014, -0.14941072, 0.034644872) * go_5(1.0, 1.0); + result += mat4(-0.073024414, 0.02202545, 0.09309926, -0.06473012, -0.091724865, 0.05130679, -0.015425844, 0.021199657, 0.08321363, 0.077499814, -0.12684996, 0.11093035, -0.0031282227, -0.16674936, -0.037387174, 0.051467184) * go_6(-1.0, -1.0); + result += mat4(-0.02690489, -0.010381964, 0.104083754, -0.026472932, -0.28350607, 0.09717675, 0.040012196, -0.025573855, 0.14496754, 0.043652393, 0.066548236, -0.13428038, 0.05158042, 0.029492611, 0.06677995, -0.09331364) * go_6(-1.0, 0.0); + result += mat4(-0.008557023, 0.053805478, 0.14596899, 0.14682902, -0.1280871, -0.12252611, -0.1342184, -0.09569089, 0.04287121, 0.14218418, -0.01535556, 0.14128487, 0.07601873, 0.062792934, 0.17843449, 0.0013233593) * go_6(-1.0, 1.0); + result += mat4(-0.03626641, -0.086798765, 0.111303665, 0.084100485, -0.034761395, -0.1768037, 0.06328535, -0.056683894, 0.04654289, 0.17042455, 0.010163501, 0.04580083, 0.163605, 0.06626728, -0.08693581, -0.27529544) * go_6(0.0, -1.0); + result += mat4(0.07475657, -0.010114883, 0.13548818, 0.05231574, -0.04789571, -0.20014645, -0.13627432, -0.08317294, 0.18127209, 0.1864717, 0.101762116, -0.14188983, -0.19037981, -0.034903, 0.06820425, 0.06638825) * go_6(0.0, 0.0); + result += mat4(0.0842221, -0.080642395, 0.07986916, 0.09827023, 0.005293987, -0.23334707, -0.021650719, -0.1095129, 0.13535668, 0.062001623, 0.14404789, 0.22836635, 0.013712175, -0.03593151, -0.107020594, 0.106728524) * go_6(0.0, 1.0); + result += mat4(-0.0025111288, -0.02401042, 0.10017584, -0.0787389, -0.05934919, -0.003888015, -0.15397097, -0.118789256, 0.1755306, 0.062894, 0.08169569, 0.070930645, 0.009758565, 0.02642412, 0.11837063, 0.017998926) * go_6(1.0, -1.0); + result += mat4(0.09113588, -0.07959844, -0.017930401, 0.15803315, 0.07464388, -0.043724272, -0.14296398, -0.10401141, 0.20054936, 0.084242016, 0.11802311, 0.18693525, 0.12843236, -0.1743202, -0.2691209, -0.10083827) * go_6(1.0, 0.0); + result += mat4(-0.0104539115, -0.057354454, -0.052867286, 0.1466724, 0.09271791, 0.08887784, -0.02005143, -0.07572476, 0.27422255, 0.042678628, -0.20733066, 0.19042592, -0.1411383, 0.02257083, -0.064085186, -0.09262303) * go_6(1.0, 1.0); + result += mat4(-0.039105386, 0.1234472, -0.050453164, -0.06813485, -0.03566356, -0.082925014, 0.004115353, 0.03527489, 0.14877772, 0.10940238, 0.038895883, 0.14791708, -0.00093082275, 0.013463437, 0.052204877, -0.09501719) * go_7(-1.0, -1.0); + result += mat4(-0.13413331, 0.30298924, 0.06975083, 0.06468644, 0.021598302, -0.042296782, 0.047363598, 0.0656856, 0.116241224, -0.056966808, -0.048400965, 0.15398203, -0.017706253, -0.21229734, 0.081751674, -0.07334096) * go_7(-1.0, 0.0); + result += mat4(-0.015395337, 0.08013673, -0.007724216, -0.16373841, -0.040737778, 0.046441197, 0.099434204, 0.010231656, -0.09467427, 0.0027398872, -0.11485949, -0.04768318, 0.021612423, 0.12103776, 0.0017846692, -0.19943565) * go_7(-1.0, 1.0); + result += mat4(-0.03624946, 0.09955605, -0.05853764, 0.11099403, -0.11808308, -0.030056255, -0.0073744217, -0.077378385, -0.07616062, -0.12060334, 0.21527039, 0.18560308, 0.081354655, -0.09822593, 0.0857936, 0.022761296) * go_7(0.0, -1.0); + result += mat4(0.17069015, -0.11525897, -0.051111165, -0.14717498, 0.012639682, 0.09998064, 0.17585759, -0.14529346, 0.1109187, -0.32648262, 0.004875526, -0.16914915, -0.3011962, 0.15414944, 0.1256961, 0.058924194) * go_7(0.0, 0.0); + result += mat4(-0.09058702, 0.083920516, 0.16238095, 0.029322624, -0.043353304, 0.013579545, 0.0129472315, 0.06778881, 0.0683832, 0.035574593, 0.20563723, 0.06673693, 0.08938325, 0.038934063, 0.09244839, 0.028088508) * go_7(0.0, 1.0); + result += mat4(-0.07614752, -0.047567874, -0.1380417, -0.18331873, 0.052511748, -0.0539637, 0.039498847, 0.08259066, -0.02891946, -0.021063829, 0.14133519, 0.01393951, -0.010774704, 0.016167268, -0.16802885, -0.061799638) * go_7(1.0, -1.0); + result += mat4(-0.18863532, 0.16274302, 0.192186, -0.0077962317, -0.020892195, -0.09247625, 0.005973833, -0.09916121, 0.057757266, 0.22371474, 0.010263742, 0.05736251, -0.05340698, 0.010000294, 0.07362701, -0.036168545) * go_7(1.0, 0.0); + result += mat4(0.13246104, -0.0075489967, 0.045744922, 0.012578804, 0.069654465, 0.09448002, 0.07289381, -0.028779842, -0.028920207, 0.019855209, -0.012340226, 0.11704812, -0.0732277, -0.06416991, -0.19167633, -0.19066313) * go_7(1.0, 1.0); + result += vec4(-0.049622387, 0.08094756, 0.01070978, -0.004729037); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_6_tf3 +//!SAVE conv2d_7_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_6_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_6_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.035603523, -0.08185009, 0.100660555, -0.022107664, 0.006483063, 0.010618868, 0.066785395, -0.10532644, -0.022030462, -0.03625011, 0.007837545, 0.08149827, -0.12578116, -0.07853147, -0.05958921, 0.053226028) * go_0(-1.0, -1.0); + result += mat4(-0.05855061, -0.015080681, 0.011201599, 0.20149398, 0.14702003, 0.12853478, 0.06493872, -0.11110786, -0.046400975, -0.051260192, -0.00061310694, 0.0035754163, -0.018769907, -0.05883245, 0.14298503, 0.044353373) * go_0(-1.0, 0.0); + result += mat4(-0.03558178, 0.049559087, 0.12715517, -0.10066971, 0.09137559, 0.043789122, 0.022936953, -0.05118043, 0.04014738, 0.10581346, -0.0290242, -0.01377225, -0.022771021, 0.046499223, -0.017308814, 0.024164317) * go_0(-1.0, 1.0); + result += mat4(-0.05326584, 0.0648063, -0.019037703, 0.026325414, -0.028105821, 0.06404821, -0.08319213, -0.028761376, 0.08944063, -0.043534186, -0.1310267, -0.15940449, -0.039495252, 0.05476147, 0.11432263, 0.061669342) * go_0(0.0, -1.0); + result += mat4(-0.041112833, -0.21133068, 0.06816941, 0.055115074, 0.025840355, -0.026093813, 0.053838182, 0.019086495, -0.009952756, -0.070893176, 0.13810948, 0.0705213, 0.12261168, 0.055244014, 0.08636737, -0.13819547) * go_0(0.0, 0.0); + result += mat4(0.004913478, -0.048463155, 0.0072081247, -0.003661033, -0.0008038985, 0.040157363, -0.10312559, -0.08591067, 0.040277693, -0.06355311, 0.06348351, -0.00020286323, -0.0517869, 0.079511285, 0.13597977, 0.14372323) * go_0(0.0, 1.0); + result += mat4(0.060098045, 0.0035651794, 0.04503383, 0.028510861, 0.065317295, 0.16709213, 0.05087783, -0.0064135925, 0.13494767, 0.10095361, -0.061869144, -0.13709058, -0.04864603, 0.025154103, 0.07870689, 0.048005972) * go_0(1.0, -1.0); + result += mat4(-0.033613607, -0.1275044, -0.060809586, -0.044648085, 0.010648507, 0.05642866, -0.06120529, -0.009423726, -0.01780852, 0.038888674, 0.0984886, 0.13126552, 0.07388317, 0.05093105, -0.016656855, -0.11651323) * go_0(1.0, 0.0); + result += mat4(0.007843721, 0.017831927, -0.15450433, -0.15955317, 0.010202567, -0.009159524, -0.07439414, -0.089754924, -0.021661272, 0.03366527, -0.0006366156, 0.0006161091, -0.04967107, -0.07847564, 0.083504364, 0.05554673) * go_0(1.0, 1.0); + result += mat4(0.031190002, 0.13800605, -0.15574321, 0.010022096, -0.14684476, 0.061689105, 0.014063308, -0.00039702927, -0.1003136, 0.068490945, 0.0048890817, -0.094239116, 0.021505974, 0.015284103, 0.090422966, -0.08774978) * go_1(-1.0, -1.0); + result += mat4(0.09721201, -0.06701299, -0.039967485, 0.043807294, 0.08414275, -0.06183705, 0.16963054, 0.16145426, -0.046832524, -0.11351221, -0.025378993, -0.066796064, -0.108117335, 0.03834068, -0.084380955, 0.07838217) * go_1(-1.0, 0.0); + result += mat4(0.01133327, -0.08794524, 0.043305114, -0.061654102, 0.0051152804, 0.027094582, 0.10866538, 0.028519077, -0.07746428, 0.0301101, -0.109595634, -0.072024494, 0.14254291, 0.06296279, -0.13838717, 0.029168306) * go_1(-1.0, 1.0); + result += mat4(0.03323507, 0.0005419394, 0.049774323, 0.13523221, -0.11138956, 0.023692777, -0.12362618, -0.09451136, 0.043240786, -0.04068215, 0.100901894, 0.026546478, -0.039114397, -0.08423817, 0.131507, -0.08842477) * go_1(0.0, -1.0); + result += mat4(-0.057802275, -0.013870614, -0.04850402, -0.04543366, -0.16024384, 0.0058730533, 0.0760309, 0.19207342, -0.19927716, -0.010100102, 0.09135455, -0.060649123, 0.025650078, 0.018444177, 0.00021598223, -0.04745473) * go_1(0.0, 0.0); + result += mat4(-0.080954164, 0.048129823, 0.040365905, -0.046155997, -0.06328537, 0.03939891, 0.112972215, 0.06335107, -0.004712385, 0.03634818, -0.09019586, -0.09726606, 0.057669904, -0.08364145, -0.02754419, -0.016794952) * go_1(0.0, 1.0); + result += mat4(0.06571239, -0.02034063, 0.047206875, 0.12161593, 0.025209486, -0.058197014, 0.111869335, 0.090523414, 0.077260986, 0.0056082606, -0.02820308, 0.06973363, 0.029205032, -0.062267963, 0.015583637, 0.019638522) * go_1(1.0, -1.0); + result += mat4(-0.083109334, -0.05083325, -0.05968024, -0.11155437, 0.105850436, 0.09744165, -0.03303017, -0.013044941, -0.0077590025, -0.04237108, -0.20369965, 0.031323917, 0.012978714, -0.063359976, 0.042146076, 0.019776987) * go_1(1.0, 0.0); + result += mat4(0.035537377, -0.10743068, 0.133754, 0.090181574, -0.028627062, 0.028155155, 0.018499529, 0.09005287, 0.16607289, 0.15793674, -0.11622822, -0.013572966, 0.029706242, 0.017781565, -0.009353398, -0.17865635) * go_1(1.0, 1.0); + result += mat4(-0.11203039, -0.038313862, 0.024553291, -0.14427736, -0.04825668, 0.042359933, -0.07456192, 0.07533933, 0.06583026, 0.028042082, 0.17915186, -0.09986524, 0.0045316215, -0.055563286, -0.01603018, 0.0072140303) * go_2(-1.0, -1.0); + result += mat4(0.023269117, -0.13553037, -0.12864427, 0.05080066, 0.116199985, 0.055588637, 0.020242607, 0.028640006, -0.019016344, 0.02210024, -0.13367496, -0.042627923, 0.10561512, 0.1900557, -0.19167726, -0.13005958) * go_2(-1.0, 0.0); + result += mat4(-0.009667415, 0.048991125, 0.03990137, 0.06523109, -0.0047858153, -0.054032765, -0.04514449, -0.050494507, -0.0417104, 0.100091435, 0.14701962, 0.08403896, -0.025943374, 0.022905018, -0.092077054, -0.11161656) * go_2(-1.0, 1.0); + result += mat4(-0.03497298, 0.077198364, -0.13679147, 0.11873723, -0.024424871, 0.053137034, -0.032385264, -0.0141263325, -0.013927444, -0.071978, 0.13627312, 0.063701816, 0.008311752, 0.0098141, 0.05543976, -0.058797874) * go_2(0.0, -1.0); + result += mat4(0.004518499, -0.07926175, -0.20172442, -0.07550185, 0.24148971, -0.098768815, 0.040357675, 0.0815576, 0.06890898, -0.013913556, 0.008509605, -0.27146277, -0.21143566, 0.14486042, 0.026823578, 0.06405004) * go_2(0.0, 0.0); + result += mat4(0.07543994, -0.00025196848, -0.05954198, -0.046995167, 0.010792962, 0.06456983, 0.05764683, 0.15503259, -0.16120984, 0.0807539, -0.038956456, 0.12451675, -0.08603456, -0.1705987, -0.06136245, -0.18488552) * go_2(0.0, 1.0); + result += mat4(-0.00572469, -0.023406431, -0.024342058, -0.05564663, 0.024842156, -0.07729906, 0.026645722, 0.05106307, 0.024492387, 0.0016276453, 0.06377535, -0.012904678, -0.012211929, -0.029794648, -0.048944846, -0.09197441) * go_2(1.0, -1.0); + result += mat4(0.17784351, 0.33556664, -0.16068351, -0.079374805, -0.04599449, 0.11359752, -0.053493448, -0.21075985, -0.019184487, -0.06383055, -0.01185842, -0.0695056, -0.1157193, -0.22757286, -0.090421006, -0.05891914) * go_2(1.0, 0.0); + result += mat4(-0.0024737257, 0.034482602, -0.006574776, -0.123885706, -0.032806616, 0.13714285, 0.03184805, 0.051896997, -0.10557891, -0.23659584, -0.11904932, 0.13204372, -0.048789233, -0.22316931, -0.11616664, -0.12002667) * go_2(1.0, 1.0); + result += mat4(-0.16620998, -0.083569415, 0.0065785977, -0.028163226, 0.118216015, -0.042357974, 0.12170964, 0.049162548, -0.012655221, -0.062021617, 0.061642777, 0.026117237, 0.058876973, -0.13939914, 0.0016208607, 0.044976454) * go_3(-1.0, -1.0); + result += mat4(-0.14663431, 0.03581357, 0.077214204, 0.10090841, 0.086941764, -0.11483719, 0.013683549, 0.14151746, -0.037653763, -0.049350277, 0.05558862, -0.12354268, 0.08483936, 0.025416449, -0.1325484, 0.039415598) * go_3(-1.0, 0.0); + result += mat4(-0.036637645, -0.037072327, 0.06181543, 0.018595748, 0.03781546, 0.004868063, 0.051894557, -0.045784436, -0.12323018, -0.043563627, -0.061274346, 0.018986262, 0.08072628, 0.15792938, 0.06480739, 0.048926838) * go_3(-1.0, 1.0); + result += mat4(-0.025308818, -0.019264646, -0.061931565, 0.00022685992, 0.08663662, -0.025102472, -0.044551793, -0.014964958, 0.10428076, 0.103535, -0.062238917, -0.00082623254, 0.1021367, 0.07957318, -0.15018936, -0.0863818) * go_3(0.0, -1.0); + result += mat4(0.15889543, -0.049840968, -0.04183841, -0.083414994, -0.1916174, 0.13753025, 0.14771314, 0.33127707, 0.000934214, 0.28703767, -0.008823727, -0.08902316, 0.10487791, 0.045531362, 0.011037433, 0.055553384) * go_3(0.0, 0.0); + result += mat4(-0.048647963, 0.03926244, -0.08315152, 0.06590094, -0.0009501526, 0.17133625, -0.04364588, 0.14289281, 0.044428002, -0.08102835, 0.008432385, 0.007471905, 0.0034905518, 0.08767701, 1.0289642e-06, 0.022898048) * go_3(0.0, 1.0); + result += mat4(0.04429903, -0.11645563, -0.026604889, 0.07899901, -0.023821525, -0.026004031, -0.018923612, -0.053543407, -0.042527657, 0.0036584022, 0.027810149, 0.024032138, 0.10543079, -0.030619275, -0.030865723, -0.05092747) * go_3(1.0, -1.0); + result += mat4(0.026915446, 0.120717816, 0.0019816516, -0.049912937, -0.0007762602, 0.022564199, 0.18567841, -0.056447282, 0.13844876, 0.13579142, 0.10044439, 0.047508094, -0.04063719, 0.17919034, 0.08064534, -0.03256138) * go_3(1.0, 0.0); + result += mat4(-0.0434133, -0.06033915, -0.04983542, 0.0400338, -0.053370785, -0.05155623, 0.045170438, -0.045111567, -0.053353325, -0.12816454, -0.0677066, -0.021872709, -0.02099235, -0.016961794, 0.028701715, 0.06569918) * go_3(1.0, 1.0); + result += mat4(0.06710011, 0.057980128, 0.013201372, 0.030130189, 0.06094751, 0.07235975, -0.047589682, 0.2354357, 0.14901309, 0.04262213, 0.0966923, 0.2618183, 0.005253222, 0.020696905, -0.017493509, 0.030192135) * go_4(-1.0, -1.0); + result += mat4(0.054935362, 0.081852324, -0.009865248, -0.1405845, -0.06501512, -0.081201576, -0.19381413, -0.07899466, 0.1869321, -0.010295521, 0.07100554, 0.039669935, -0.0717112, 0.06757859, -0.057729263, 0.10774218) * go_4(-1.0, 0.0); + result += mat4(-0.05170724, 0.028823921, -0.039832033, 0.102353394, -0.040672857, -0.071934074, -0.03207114, -0.062728606, -0.0041836924, 0.049775664, -0.015730772, 0.115351014, 0.0198361, -0.04392965, 0.06256708, -0.018467398) * go_4(-1.0, 1.0); + result += mat4(-0.004088018, -0.0075854803, -0.053410996, 0.053963624, 0.038335897, -0.043097124, -0.053266585, -0.02110349, -0.100289516, 0.13708574, 0.045705263, 0.14583495, 0.049664762, -0.007881616, -0.07083171, 0.06628562) * go_4(0.0, -1.0); + result += mat4(-0.096194305, 0.3136127, -0.06582547, -0.10976745, 0.0052450127, -0.06082186, 0.072152615, 0.15377738, -0.023069546, 0.024237594, -0.08700614, 0.01600506, -0.11880559, 0.05290161, 0.18157464, 0.12359404) * go_4(0.0, 0.0); + result += mat4(0.05889622, 0.14444394, 5.1526327e-05, -0.016800134, 0.14292586, -0.11104289, -0.03384623, -0.0071736914, -0.027003476, -0.050374918, -0.07425175, -0.06407235, 0.030245714, -0.013432628, 0.036909264, -0.10258834) * go_4(0.0, 1.0); + result += mat4(-0.050930936, -0.012308526, -0.0224252, 0.02924823, -0.014263356, -0.2264721, -0.033080157, 0.10535792, -0.0007992285, -0.07806312, -0.0446525, 0.08360969, -0.07534844, -0.08033527, 0.09658374, 0.03556867) * go_4(1.0, -1.0); + result += mat4(0.036354, -0.01415224, 0.15901333, 0.03089121, -0.105297774, -0.0567874, -0.046968583, -0.02000512, 0.019031817, -0.10858096, -0.16507767, -0.14353652, -0.047385126, 0.08500263, 0.10296464, 0.12831974) * go_4(1.0, 0.0); + result += mat4(0.08133631, -0.08120405, 0.12163648, -0.00789435, 0.06704583, 0.06559347, 0.056115437, 0.014905266, 0.15081121, -0.06725895, -0.06748307, 0.1599525, -0.07030421, 0.12173684, 0.103771955, 0.053344633) * go_4(1.0, 1.0); + result += mat4(0.0195776, -0.0622637, 0.06881111, -0.13235638, -0.009745966, -0.20333163, -0.016195327, 0.0498002, -0.00685214, -0.10209501, -0.035590008, 0.09018023, -0.031462304, -0.0349528, -0.10600601, -0.0090544615) * go_5(-1.0, -1.0); + result += mat4(0.15811858, -0.06563293, 0.016432226, -0.028199475, -0.12282523, -0.06881546, -0.092320375, -0.0031693543, -0.064210124, 0.043783337, -0.2019922, -0.13730226, -0.08938997, -0.10791797, 0.11714907, -0.022770153) * go_5(-1.0, 0.0); + result += mat4(0.06281743, 0.07511937, -0.048748665, 0.04450613, -0.04570434, 0.021222433, -0.06628591, 0.073260285, 0.09201485, -0.028903183, 0.003736346, -0.08917027, -0.07610416, -0.14540285, 0.07343613, -0.06727425) * go_5(-1.0, 1.0); + result += mat4(-0.15571125, -0.0640986, -0.04293689, -0.24749066, -0.11165803, 0.0051061464, 0.019376764, 0.07696208, -0.04814943, -3.504131e-05, -0.16579178, 0.1502019, -0.023707883, 0.04413888, -0.04388852, -0.009154628) * go_5(0.0, -1.0); + result += mat4(-0.07220755, -0.041894138, -0.13767485, 0.026967121, 0.028019764, -0.07266683, 0.09768252, 0.051648475, 0.2144752, -0.049994867, 0.09415208, -0.12033149, -0.2286533, -0.1035957, -0.20106381, -0.05755881) * go_5(0.0, 0.0); + result += mat4(0.124922104, 0.10773247, -0.09984372, 0.08305024, 0.043024022, -0.039096966, 0.09213775, 0.093309745, 0.041290306, 0.054291926, 0.023719616, 0.020621356, -0.16033965, -0.025751784, -0.026916293, -0.012173795) * go_5(0.0, 1.0); + result += mat4(0.00044945415, -0.017210819, 0.053547475, -0.005321006, -0.04807709, 0.06448037, -0.048554003, 0.011876162, -0.05595753, -0.06437566, -0.042622857, 0.020113062, -0.0020804277, 0.018597316, 0.013574127, -0.043030854) * go_5(1.0, -1.0); + result += mat4(0.043135546, 0.18260844, -0.09212242, 0.16260995, -0.026462799, -0.026555145, 0.13806862, -0.07638378, 0.13613388, -0.036159042, 0.21367857, 0.099882215, 0.04033422, 0.06743046, -0.04514496, 0.07347721) * go_5(1.0, 0.0); + result += mat4(-0.05599136, 0.24458563, -0.055775292, 0.023797944, 0.017738774, -0.0026254307, 0.020338422, -0.05910233, -0.041537784, -0.07887153, 0.02836997, 0.029184725, -0.09466807, -0.056054644, -0.20904629, -0.06603871) * go_5(1.0, 1.0); + result += mat4(-0.0809845, 0.113287315, -0.07588069, -0.07764146, 0.018005516, 0.0058764964, 0.015952185, 0.0026178441, -0.025305526, 0.016157705, -0.031857558, 0.012376404, -0.0033852167, -0.0025056018, 0.033977445, -0.035882123) * go_6(-1.0, -1.0); + result += mat4(0.01720746, 0.12093419, 0.004281695, 0.015260916, -0.025000513, 0.019857937, -0.015916452, -0.14818902, 0.10654605, -0.044710767, 0.068046734, 0.0020083294, -0.06207356, -0.11559851, -0.014965024, -0.021263203) * go_6(-1.0, 0.0); + result += mat4(0.10744724, -0.117611334, -0.07036045, -0.16104576, -0.03606856, -0.021588141, 0.003583071, 0.08581648, -0.027726242, 0.0065163933, -0.022813367, -0.042334005, -0.0783816, 0.04475857, -0.013612499, -0.11017741) * go_6(-1.0, 1.0); + result += mat4(-0.03915705, -0.06676148, -0.017724907, -0.08243233, 0.024043124, -0.00641056, -0.046309136, 0.0028519596, -0.020301778, 0.090468615, -0.02914518, -0.01921614, 0.0066639995, 0.0115059335, -0.07672176, -0.11208497) * go_6(0.0, -1.0); + result += mat4(0.08966859, -0.032337032, 0.1445986, -0.1320196, -0.07705068, 0.26452798, -0.102185756, -0.0669899, -0.17417169, 0.04188311, 0.1864277, -0.1504491, 0.22015794, -0.16350059, 0.0710934, -0.2829582) * go_6(0.0, 0.0); + result += mat4(0.06390482, -0.025778925, -0.036299095, 0.038941868, 0.03774386, 0.03236249, -0.094204284, -0.02483742, 0.028479036, -0.0043308022, -0.07259228, 0.012454688, -0.042251453, 0.12513779, -0.09296203, 0.11374747) * go_6(0.0, 1.0); + result += mat4(0.047953177, -0.13953067, -0.16459087, 0.07894725, -0.056713596, 0.021099769, 0.03746491, -0.039627306, 0.013983546, -0.012757725, -0.029330993, 0.06562089, -0.04810442, 0.099750385, -0.0027220398, -0.03113898) * go_6(1.0, -1.0); + result += mat4(-0.18453379, -0.19663307, -0.069053225, -0.0886819, -0.0801514, 0.030041967, 0.052098416, 0.14237365, -0.122975424, -0.020104067, 0.03250069, -0.012830738, 0.015021435, 0.17618941, -0.17539805, -0.11354229) * go_6(1.0, 0.0); + result += mat4(0.039481774, -0.03845886, -0.024213333, -0.013388697, 0.021345852, -0.081355266, 0.060501907, 0.020541774, 0.0050397296, 0.01937342, 0.124778345, -0.02009733, -0.03618026, 0.18081245, -0.059872225, 0.0480807) * go_6(1.0, 1.0); + result += mat4(0.06564816, -0.033822373, -0.0733927, -0.03701997, 0.109872006, 0.0289091, -0.05753885, 0.07605533, 0.01233494, 0.105628036, -0.05230974, 0.020886896, -0.012355101, 0.09088149, -0.077560514, 0.0067109973) * go_7(-1.0, -1.0); + result += mat4(-0.1322054, -0.013291897, -0.03752736, -0.1729646, -0.07199937, 0.044647448, -0.05308083, -0.17281532, -0.22998895, 0.08423837, 0.096846774, -0.03199861, 0.16217668, -0.038777575, 0.11706502, 0.003698661) * go_7(-1.0, 0.0); + result += mat4(-0.04857856, -0.033291973, 0.042390086, 0.07810751, -0.033537693, -0.044030026, -0.039593477, 0.04621247, -0.17857364, -0.09121616, 0.051663235, 0.11376567, 0.026875451, -0.020726817, -0.07497909, 0.04745875) * go_7(-1.0, 1.0); + result += mat4(-0.04273227, -0.06567099, 0.068244755, 0.004056219, 0.071459755, 0.06104156, -0.040738944, 0.026269622, -0.0829272, -0.213161, 0.12350121, -0.12019999, -0.0047574732, -0.07947193, 0.11080581, 0.06579881) * go_7(0.0, -1.0); + result += mat4(-0.0059235813, 0.3313213, 0.11250806, 0.10323526, 0.10955034, -0.16566339, -0.19147675, -0.030210944, 0.04117325, -0.0210125, 0.17611006, 0.08003979, 0.049902663, -0.07172505, -0.122315325, 0.010667146) * go_7(0.0, 0.0); + result += mat4(0.054875605, -0.0037542211, 0.063533604, -0.06934719, -0.03633734, -0.035200633, 0.13640474, -0.0012530384, 0.11430386, -0.19378312, 0.09804568, 0.013388336, -0.05530006, -0.04414178, -0.19488367, -0.0756056) * go_7(0.0, 1.0); + result += mat4(-0.020816237, 0.06688388, -0.037516814, -0.12198087, -0.015191337, 0.027221302, -0.06470536, -0.02152179, -0.017627591, -0.1226421, -0.032714654, -0.05618612, 0.05928148, 0.0800804, 0.048406508, 0.00018751089) * go_7(1.0, -1.0); + result += mat4(-0.048010882, -0.09108586, 0.15244915, 0.013734108, 0.06698592, 0.12715879, -0.06800172, -0.08406023, -0.0060334927, -0.18118794, 0.028690156, -0.041895367, -0.09738513, -0.091504306, 0.005916668, 0.041399106) * go_7(1.0, 0.0); + result += mat4(0.03526128, -0.0710679, 0.026936322, 0.016473033, 0.050931316, 0.07237934, 0.052602474, 0.036545273, -0.044300303, -0.007841123, 0.12865187, 0.13500206, 0.10369719, 0.017725354, -0.046136603, 0.11124073) * go_7(1.0, 1.0); + result += vec4(0.02762366, 0.015666952, 0.009978591, -0.020644614); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_6_tf3 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.09864263, 0.16643536, -0.10098628, -0.27088618, 0.2439447, -0.15055421, -0.16554014, 0.15346923, 0.22877191, 0.36627764, 0.0009881472, -0.29182792, -0.1399589, 0.20674823, -0.1336018, -0.23139776) * g_0; + result += mat4(0.30116054, -0.14907749, -0.057519797, -0.115984246, -0.010677967, 0.24336332, 0.18829945, -0.009448468, -0.20248725, 0.1898866, 0.10740923, 0.070664346, 0.19182079, 0.19262572, -0.10405306, -0.14409591) * g_1; + result += mat4(0.02424672, 0.18151794, -0.3288155, 0.09967775, 0.08982069, -0.33101448, -0.13098675, 0.001805271, 0.093248144, 0.0062144175, -0.27785897, 0.15994431, 0.07629904, 0.11391333, -0.09452774, 0.028830891) * g_2; + result += mat4(-0.12576537, 0.124780804, -0.005383383, 0.010800503, 0.074371964, -0.15757772, -0.012425731, 0.26471737, -0.12934509, 0.18494883, -0.019696942, 0.39016318, 0.108690634, -0.12907083, 0.23849326, 0.2127003) * g_3; + result += mat4(0.06064956, 0.13181925, -0.06518252, 0.09022306, 0.10722941, -0.029313153, 0.05462699, -0.12941502, -0.32090643, -0.2399227, -0.0010322831, 0.2706631, -0.018146884, -0.25801313, 0.2318069, 0.114894636) * g_4; + result += mat4(-0.12751573, -0.13918388, 0.20377824, -0.033067297, -0.0028459544, -0.17263114, 0.07472814, -0.08497229, -0.19693358, -0.23583023, -0.23746331, -0.1620524, 0.12260008, 0.20666504, 0.018275812, 0.05227883) * g_5; + result += mat4(0.017006887, -0.079197586, -0.1751486, -0.24029018, 0.17393425, 0.19827369, 0.14355439, 0.07403027, 0.26099652, 0.34026688, -0.07905064, 0.1136539, -0.033830065, 0.0038907684, -0.25529358, -0.3126053) * g_6; + result += mat4(-0.18364787, 0.06289015, 0.30731493, 0.2604622, 0.14766745, -0.19659941, -0.24400567, -0.13139778, -0.20132752, -0.31973583, -0.04709369, 0.2157305, -0.05968398, 0.41553238, -0.26575878, 0.12818466) * g_7; + result += mat4(0.1777632, 0.30519867, 0.04919452, -0.050079886, -0.09780533, 0.071669996, -0.30823946, -0.05612444, 0.13824712, -0.17230682, 0.1516716, -0.42944372, 0.26453936, -0.3669238, -0.2791366, -0.158038) * g_8; + result += mat4(-0.16834885, -0.36678392, -0.116782546, -0.12371954, 0.030408079, 0.030037245, -0.118157424, 0.21994841, -0.06582355, 0.35889858, -0.08357428, 0.33521906, 0.0730811, 0.12300713, 0.08012372, 0.13627763) * g_9; + result += mat4(0.3792248, 0.2113681, -0.057442214, 0.056784596, -0.07914339, 0.2952479, 0.0039747343, -0.010485219, -0.21411481, -0.26210615, 0.14048009, -0.09856881, 0.17023402, -0.059730083, 0.019566841, -0.016332023) * g_10; + result += mat4(-0.61801714, -0.31580862, 0.024079382, -0.26253095, 0.15262255, -0.05209289, -0.058584727, -0.17753975, 0.09153676, 0.018372437, -0.08778411, 0.15213694, 0.23527849, 0.0651243, 0.082912475, -0.12144174) * g_11; + result += mat4(-0.10203859, -0.2157538, 0.09766386, 0.255458, 0.14621232, 0.15972705, 0.037336424, 0.29910806, -0.23335846, -0.27241442, 0.056837723, -0.15916888, 0.14921062, 0.018489221, 0.29236946, -0.21704453) * g_12; + result += mat4(-0.20196709, 0.03039717, -0.016681867, 0.09106574, 0.016594073, -0.11138761, -0.39326677, -0.12731183, 0.017273927, 0.20023176, 0.40969402, -0.09844807, -0.21699667, -0.08527532, 0.03868599, 0.08391285) * g_13; + result += mat4(0.04918593, -0.28722, 0.13262631, 0.19763342, 0.07408771, 0.20518765, -0.08351114, 0.023192497, 0.08808452, -0.024055472, 0.2863115, 0.028993187, 0.18309475, 0.14929788, 0.41230813, -0.14815095) * g_14; + result += mat4(-0.068900704, -0.085048415, -0.3247905, -0.04743062, -0.09697462, 0.015716264, 0.016111441, -0.020915799, 0.0722674, 0.23050514, -0.038081765, 0.23436533, 0.0045003896, -0.25709474, -0.11242606, -0.2509955) * g_15; + result += vec4(0.016932571, 0.01285098, 0.065885656, -0.045639206); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_6_tf3 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf1 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.003937308, 0.3325553, -0.051680394, -0.016791617, -0.22406012, -0.1772422, -0.40026435, 0.061494246, -0.052263122, 0.050062478, 0.12657858, 0.25956464, -0.25395867, -0.14557794, 0.065642186, -0.0036497142) * g_0; + result += mat4(0.14910382, -0.1219233, -0.08730868, 0.12936969, -0.38082328, -0.04098752, -0.21931636, 0.22471759, -0.22303404, 0.005031252, 0.29523098, -0.06785384, -0.29611492, -0.13362305, -0.28399295, -0.015605514) * g_1; + result += mat4(-0.092055865, 0.23942079, -0.15355012, -0.2754471, 0.3476136, -0.17973644, 0.20373236, 0.47628164, 0.18442081, 0.2272365, 0.39171374, -0.2109089, -0.081467606, -0.19725452, 0.015637135, -0.07057403) * g_2; + result += mat4(0.10774966, 0.123727456, -0.12286534, 0.16600358, 0.1364775, -0.21570408, 0.074118935, -0.045826353, -0.035832357, -0.28274775, 0.052669924, 0.07969379, 0.17066151, 0.14648491, -0.06644816, -0.14589809) * g_3; + result += mat4(-0.119286284, -0.09573102, 0.090612456, 0.04023182, 0.09588572, 0.177818, 0.23690048, -0.058244612, -0.016383434, 0.2576226, 0.25695682, -0.014298511, -0.024256507, 0.30848315, -0.041158218, -0.03914358) * g_4; + result += mat4(-0.29271403, 0.059981633, 0.0021134338, -0.19035797, -0.0037269308, 0.10220867, 0.07883107, -0.13369656, 0.026632074, 0.37791765, 0.13582648, -0.09352286, -0.082421385, -0.15049607, -0.29702196, -0.024250919) * g_5; + result += mat4(0.06582016, -0.16060877, 0.103828825, 0.06621281, 0.18454358, -0.15770862, 0.0062189074, -0.29478952, -0.38229987, -0.008481092, 0.0146497395, -0.012977512, -0.086033165, 0.24041377, 0.15929726, 0.1291446) * g_6; + result += mat4(-0.26255193, -0.17674851, 0.016529905, -0.29671943, -0.11499627, 0.057172883, 0.024476945, 0.20377044, -0.246527, -0.2740495, 0.27754322, 0.0035727941, -0.08662866, -0.26152274, -0.1885568, -0.12391516) * g_7; + result += mat4(0.012594749, 0.09329428, -0.024767002, 0.09388145, 0.053089734, 0.06234544, 0.2099255, 0.46252325, 0.123893864, 0.082300425, -0.07509414, 0.15968856, -0.34341866, -0.13525012, 0.15489148, 0.35870647) * g_8; + result += mat4(0.15168503, 0.30187908, 0.015656032, 0.013370691, -0.06671537, 0.11837605, -0.08213855, -0.15433209, -0.17091727, -0.0625883, 0.008888305, 0.039089687, 0.15172026, -0.0836314, -0.13341047, -0.029075664) * g_9; + result += mat4(-0.07207691, -0.36168703, 0.022065176, 0.06053417, 0.10515104, -0.15767829, 0.19980878, 0.17313905, 0.016179686, 0.18054177, 0.19189085, -0.14294004, 0.22004858, -0.28201142, 0.2872886, -0.20112494) * g_10; + result += mat4(0.34156498, 0.1817744, 0.13134623, 0.05987189, 0.037724342, -0.090201005, 0.10240794, 0.22642598, -0.5217192, -0.033472296, -0.14296426, -0.094750494, -0.03383312, 0.30726826, 0.049418118, 0.10151059) * g_11; + result += mat4(0.032571465, 0.048514433, -0.10347128, -0.1084494, -0.036202013, -0.008492653, -0.11478463, -0.14242981, -0.16216394, 0.22039019, 0.17737237, -0.1416988, -0.099641696, 0.09431141, -0.17891696, 0.15241605) * g_12; + result += mat4(-0.22881852, 0.040407304, -0.08619452, 0.08407503, 0.027044954, 0.121950984, 0.17166145, -0.056074105, 0.20592104, 0.05306128, -0.249151, -0.15258761, -0.028193245, -0.033121727, 0.009724152, -0.060050894) * g_13; + result += mat4(0.055882175, -0.19219743, -0.08486314, 0.25344363, -0.15363735, -0.16262405, -0.16883601, -0.360693, -0.02007423, -0.18265313, -0.13402134, 0.012125967, -0.15832315, 0.35946545, 0.057530846, -0.20121863) * g_14; + result += mat4(-0.026532218, 0.0999541, -0.18022218, 0.040167805, -0.07300608, 0.23191977, -0.13492207, -0.21953888, -0.006438377, -0.11377467, 0.29050368, 0.08367901, -0.1185086, -0.19436763, 0.19460331, -0.12790322) * g_15; + result += vec4(0.0048366417, -0.01623872, 0.0149186235, -0.0021957709); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_6_tf3 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf2 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.104137026, 0.102377966, 0.29650456, 0.16560245, -0.049722087, -0.022562431, 0.1480423, 0.22173022, -0.15099648, 0.25188634, 0.29793224, -0.25045073, -0.166794, 0.17724776, -0.13309427, -0.14215149) * g_0; + result += mat4(0.0111736925, -0.20109345, -0.004992949, -0.16356087, -0.03629021, -0.17836154, -0.020239769, -0.0027136574, -0.057733543, 0.1929391, -0.25687936, 0.032994594, 0.28941298, -0.24378207, 0.0058246693, -0.04602329) * g_1; + result += mat4(0.058517553, -0.00855018, -0.10235121, 0.031646684, -0.3329856, 0.28455597, 0.09738041, -0.38193113, -0.11249739, -0.01848674, 0.2163143, -0.06349695, 0.20303167, -0.033269245, -0.2735205, -0.15447442) * g_2; + result += mat4(0.080081046, 0.07366588, -0.09329567, 0.18479577, -0.118616, 0.09503109, -0.26074445, 0.35643557, 0.30263063, 0.22413187, 0.09882829, 0.12301443, -0.006198813, 0.19721447, 0.10678005, -0.1651503) * g_3; + result += mat4(-0.06906497, -0.3009552, 0.07767211, 0.05151866, 0.11417627, 0.23357406, -0.048603542, -0.049274545, -0.06154897, -0.12599663, 0.07611352, 0.00786339, 0.14635855, -0.26319003, -0.06853761, 0.088817514) * g_4; + result += mat4(0.11830914, -0.10345762, -0.09292891, -0.0074040242, 0.0073001185, -0.15325016, -0.011847827, 0.23296888, 0.06515359, -0.06067429, -0.090339884, 0.13176519, 0.23185344, 0.071258485, -0.06901788, -0.0903061) * g_5; + result += mat4(0.17608684, 0.1722441, -0.00018389517, 0.026899414, 0.11040594, 0.053332347, 0.074438855, 0.0608023, -0.089713804, -0.10031175, -0.09828107, 0.2759653, 0.040628787, -0.014327023, -0.18901895, -0.19466661) * g_6; + result += mat4(-0.077983975, 0.116868906, -0.23626202, 0.24141665, 0.18514152, 0.12009115, 0.024183134, -0.19578324, -0.2004096, 0.16053474, -0.12452011, -0.24160402, 0.044126388, -0.08934569, 0.26577887, 0.09816567) * g_7; + result += mat4(0.10499274, 0.2265129, -0.078521736, 0.29265165, 0.0041190055, 0.36288932, -0.103490636, 0.05727936, -0.089100264, 0.04249254, 0.30703348, -0.024190163, 0.026818752, 0.21627031, 0.1413635, 0.5749679) * g_8; + result += mat4(-0.11887336, 0.27841938, 0.18154635, -0.30292216, -0.14453453, -0.32330868, -0.06806779, -0.13335946, 0.12325082, -0.2776033, -0.2176617, -0.14796872, 0.14378121, -0.1515707, -0.19313759, -0.03666135) * g_9; + result += mat4(-0.16793656, 0.14827895, 0.31085837, 0.039777525, 0.049468413, -0.19864005, -0.11719598, 0.16815868, -0.02205864, -0.20461129, -0.15883179, 0.026992796, -0.2750394, 0.20748213, 0.24951674, -0.06626439) * g_10; + result += mat4(-0.22174093, -0.20898962, -0.03558482, 0.23259541, 0.12385461, 0.11644065, 0.13360718, -0.298495, 0.05759325, -0.06470147, -0.1467882, -0.1233936, 0.124703325, -0.004894744, -0.44175613, 0.30384606) * g_11; + result += mat4(-0.22360735, 0.13903587, 0.123154536, 0.22120447, 0.07635435, -0.08578538, -0.0070886854, -0.16854721, 0.2935059, 0.014837484, 0.011378183, 0.11189771, 0.15975478, 0.1525562, 0.17962816, -0.30664667) * g_12; + result += mat4(-0.13563982, -0.11331227, -0.35234228, 0.17117529, 0.09372269, -0.018378476, -0.060744487, 0.066920675, -0.12684692, -0.15846166, 0.040910132, 0.15608624, -0.0839549, 0.06397846, -0.11739037, -0.24138166) * g_13; + result += mat4(-0.3350538, -0.24931656, -0.13913944, -0.078073435, 0.12782471, -0.033278856, 0.22328287, -0.0494411, -0.16591735, -0.03392308, 0.1588464, -0.19808592, 0.19063896, -0.16003527, 0.21511821, 0.10613058) * g_14; + result += mat4(-0.060294464, -0.09252907, -0.01603874, -0.07597569, 0.03133959, 0.072272286, -0.13213353, 0.15609686, 0.2167412, 0.06884895, -0.2590782, 0.33470517, 0.003332907, 0.03748415, -0.25728425, -0.30776468) * g_15; + result += vec4(0.0085292775, -0.0498912, 0.02406236, 0.013927507); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_6_tf3 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf3 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.18489622, 0.01521825, -0.053398065, 0.077619, -0.08345202, 0.20407347, -0.11390942, 0.08462241, -0.1705865, 0.30955344, -0.08472498, -0.16442084, -0.22677645, 0.048857957, -0.057290807, -0.40370303) * g_0; + result += mat4(-0.04026143, -0.020023338, -0.022386922, -0.1292272, 0.17330426, 0.13575786, 0.16291218, -0.14266899, -0.23032628, 0.11625899, 0.0062630204, -0.0012355708, 0.15870166, -0.035987332, 0.0871242, 0.085054055) * g_1; + result += mat4(0.016969275, 0.054262232, -0.23052263, -0.19101018, 0.03396106, 0.0054336865, -0.0467761, 0.19085331, -0.106530495, -0.27656856, 0.015368871, 0.13383915, -0.08088739, -0.15458798, 0.01770847, 0.26224154) * g_2; + result += mat4(-0.1710468, -0.010396238, -0.008604742, -0.27136776, -0.08490557, 0.016414553, -0.27219942, -0.2275841, -0.0020410966, -0.074557334, 0.32281566, -0.0358406, -0.07795256, 0.11081372, -0.34438163, 0.15058495) * g_3; + result += mat4(-0.13303854, -0.054123223, -0.034091465, -0.08479921, -0.3663492, 0.047407333, -0.08467303, -0.015536085, 0.07641996, -0.08629571, -0.026073072, 0.05748389, 0.39037332, 0.017548965, 0.105086334, -0.08005681) * g_4; + result += mat4(0.08531782, -0.06040872, -0.25501314, -0.15468454, -0.18607718, -0.045276865, -0.08727564, 0.101659656, -0.14160259, -0.011791499, -0.14346547, 0.16301742, -0.054622017, -0.028709898, -0.05332203, -0.23680754) * g_5; + result += mat4(0.18716991, 0.12908773, -0.3459139, -0.054999888, -0.1764484, 0.04881557, 0.096896894, -0.011711037, 0.093170814, 0.1973141, -0.028869364, -0.052994333, -0.050567757, -0.052473217, -0.20334762, -0.29321235) * g_6; + result += mat4(0.16290617, 0.070835315, -0.13578944, 0.049878098, 0.024889912, 0.0046419716, 0.17256121, 0.24758084, 0.33473715, -0.05304426, -0.031384464, 0.30393425, 0.06880461, 0.018678263, 0.40095538, -0.32181707) * g_7; + result += mat4(-0.12459963, 0.0924927, 0.17442048, -0.015650576, -0.05587131, 0.21291989, 0.31195658, 0.07287886, 0.1531054, 0.022245308, 0.09070423, -0.090930104, 0.036900636, -0.062797755, -0.015801767, -0.06667231) * g_8; + result += mat4(-0.22362942, 0.30185577, -0.0560174, -0.17768693, 0.14361233, -0.36686167, -0.108977124, -0.06692557, 0.046176855, 0.06899551, 0.19507368, 0.18504564, 0.2892618, 0.108308315, -0.32998815, 0.15013184) * g_9; + result += mat4(-0.06166722, 0.03421678, 0.007097079, -0.06511754, -0.07503845, -0.097745866, 0.0767785, 0.12762466, 0.078295015, 0.15278883, -0.20041291, -0.15149453, 0.1359745, -0.055542946, -0.1351582, 0.04746136) * g_10; + result += mat4(0.2754691, -0.045461576, 0.28655398, 0.066658214, 0.10664401, 0.019698175, 0.21868771, 0.010793508, -0.37068173, -0.22633933, 0.05709351, -0.015515003, -0.25028723, 0.07527501, -0.060320277, 0.11013715) * g_11; + result += mat4(0.16451468, -0.048677545, -0.21968195, -0.024521982, 0.06710036, -0.00431936, -0.040931974, 0.14162326, 0.30826005, -0.19923253, 0.06730949, 0.33769038, -0.17198718, 0.060878154, -0.2895043, -0.029802436) * g_12; + result += mat4(-0.10908404, -0.18938556, 0.11546769, 0.11317103, -0.096525446, -0.1143871, 0.095474064, -0.12509643, -0.20624343, -0.23595047, -0.11051539, 0.1230616, -0.047473382, -0.11819063, -0.1330644, -0.09428916) * g_13; + result += mat4(0.099916406, -0.19375911, -0.08102031, 0.1239838, 0.27221766, 0.20148776, 0.19851638, 0.08333579, 0.086547665, -0.18228337, 0.022614995, -0.1385529, 0.35897738, 0.20353337, -0.051304217, 0.09238109) * g_14; + result += mat4(-0.17090152, 0.34364688, 0.25943616, 0.04933595, -0.022766197, 0.33663043, 0.09173691, -0.040311158, -0.20550281, 0.17361137, -0.13678429, 0.07744437, -0.42078802, -0.2707222, 0.21051168, 0.2207691) * g_15; + result += vec4(-0.00853374, 0.014111409, -0.018602863, 0.025112765); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_9_tf3 +//!SAVE conv2d_11_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_9_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_9_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.2167346, 0.08259927, 0.01593457, -0.06168633, 0.028108353, -0.016532995, 0.008972924, 0.011045642, -0.28601897, 0.25977787, 0.057599183, -0.011715917, 0.042454317, 0.08984024, -0.09684031, 0.12903662) * go_0(-1.0, -1.0); + result += mat4(-0.07467005, -0.0044173184, 0.042089712, -0.096472785, -0.090920694, 0.14287423, -0.1197274, 0.15093653, -0.17902398, 0.2337814, -0.2301511, -0.26088297, -0.16935518, 0.07310083, -0.0051561873, 0.2587852) * go_0(-1.0, 0.0); + result += mat4(-0.015114397, -0.0615879, 0.061449658, -0.08588831, 0.06878012, -0.066395596, -0.120973326, 0.1751009, 0.13974409, 0.07330856, 0.015523489, -0.119367056, -0.12705635, 0.08617225, -0.08821478, 0.042958662) * go_0(-1.0, 1.0); + result += mat4(-0.015199017, 0.031381227, 0.0780515, 0.069131814, -0.12783948, 0.030788802, -0.030043626, 0.016303174, -0.27775663, 0.16235924, 0.008142429, 0.04124429, 0.10874539, -0.022458551, -0.008865443, 0.09369907) * go_0(0.0, -1.0); + result += mat4(-0.01634807, -0.008341841, 0.06457744, -0.08560355, -0.24626143, 0.011861395, 0.020570388, 0.062295143, 0.34602648, -0.17742984, -0.02403783, 0.16412638, 0.10932493, -0.0042189476, 0.040966537, 0.058982532) * go_0(0.0, 0.0); + result += mat4(-0.043838717, -0.056111507, -0.016028062, -0.059582476, 0.12887439, -0.033336997, -0.26650676, 0.0662371, -0.053933796, -0.032257825, 0.16265263, 0.023418164, -0.08054197, 0.30419502, -0.19452181, 0.010710408) * go_0(0.0, 1.0); + result += mat4(0.01280635, 0.10079952, -0.033026945, 0.08498357, -0.04817073, -0.13418624, 0.09589368, -0.022635134, -0.06345144, -0.05724931, -0.14657016, -0.0786738, 0.05080321, 0.041433394, 0.01910969, 0.19891381) * go_0(1.0, -1.0); + result += mat4(0.10898035, -0.14818819, -0.08342, 0.106918834, -0.19069608, -0.023136294, -0.018794658, -0.03204733, -0.039217297, 0.07554547, -0.037759304, -0.044361852, 0.019575626, 0.09581649, -0.005387532, 0.08929196) * go_0(1.0, 0.0); + result += mat4(0.17248777, 0.08927015, 0.12626562, 0.069963455, 0.027248785, -0.10808538, 0.0022578489, -0.10984469, -0.015384902, 0.12769361, 0.06637168, 0.058609772, 0.013054495, 0.13254511, 0.076141186, 0.09916911) * go_0(1.0, 1.0); + result += mat4(-0.124390416, 0.10685674, -0.10966216, -0.08369025, -0.0651576, -0.1300008, -0.027007537, 0.13056019, 0.115544505, -0.07873411, -0.083743975, 0.05898996, 0.22908325, -0.053363908, -0.01612341, -0.15103827) * go_1(-1.0, -1.0); + result += mat4(-0.020670712, -0.2649095, -0.030632991, -0.04527719, 0.46974248, 0.043867197, -0.15608059, 0.20002516, -0.16267627, 0.0990293, -0.064487904, 0.19699238, -0.04589485, -0.038980853, 0.10857598, -0.0039152764) * go_1(-1.0, 0.0); + result += mat4(-0.2282477, -0.00044616987, 0.166831, 0.03326744, 0.15271889, -0.025690703, -0.29518652, 0.032539356, -0.06354523, -0.031361856, 0.053646125, 0.00018960344, -0.030466253, 0.15894201, -0.12748806, -0.11215912) * go_1(-1.0, 1.0); + result += mat4(0.11262574, 0.13243207, 0.050107982, -0.097106785, -0.12724099, 0.022966115, 0.033192, -0.08005735, -0.069815435, -0.06228412, 0.017130738, -0.08344178, -0.11615836, -0.11328931, 0.22229461, -0.066494435) * go_1(0.0, -1.0); + result += mat4(-0.047039963, 0.009185746, -0.10476018, 0.078825586, -0.045319136, 0.011463228, -0.02181092, -0.0020480661, 0.0045678956, -0.016130341, -0.14006588, 0.05225688, -0.12515195, 0.18153296, -0.05256603, -0.11048086) * go_1(0.0, 0.0); + result += mat4(0.18182711, -0.14322367, 0.15531246, 0.09205347, 0.25048062, 0.0677125, -0.08411049, 0.036185652, 0.19853042, 0.04891688, 0.07559669, -0.054106154, 0.01919658, 0.22520682, 0.15135488, -0.038460355) * go_1(0.0, 1.0); + result += mat4(-0.050445374, -0.14471428, -0.23796226, -0.15576342, -0.028298652, 0.09235079, -0.06269788, -0.19188045, -0.053789496, 0.11350222, 0.04766122, 0.10510269, 0.0038152386, 0.09062761, 0.1011998, 0.040780947) * go_1(1.0, -1.0); + result += mat4(0.019419372, 0.03997944, 0.119759075, 0.04283821, -0.051738333, 0.08721772, -0.077736385, -0.05724854, -0.08099945, 0.17420025, 0.073216155, -0.05489914, 0.09093694, -0.08793478, 0.013140325, -0.0043218792) * go_1(1.0, 0.0); + result += mat4(0.037703384, -0.02789724, 0.013243169, 0.17291826, 0.0074070534, 0.114018075, -0.104694985, -0.0530431, 0.10854754, -0.21815501, -0.091733016, 0.05429939, 0.008154856, 0.017797785, -0.04539086, -0.022114938) * go_1(1.0, 1.0); + result += mat4(0.08511963, -0.044427045, 0.13799068, -0.0029811792, -0.15045413, -0.09981538, 0.042939857, 0.1374501, -0.029713511, -0.13069215, 0.11228989, -0.11295705, -0.14637329, -0.09949667, 0.071820505, -0.12730566) * go_2(-1.0, -1.0); + result += mat4(0.08256388, -0.01721364, -0.14035071, 0.029640568, 0.10975381, 0.020408878, -0.048385482, -0.054182887, 0.07115744, -0.00768504, 0.062499907, 0.11246996, 0.15368488, 0.016138898, -0.07301467, -0.08368065) * go_2(-1.0, 0.0); + result += mat4(-0.061671108, 0.036220826, -0.051254276, 0.069273986, 0.15657571, 0.014273202, -0.13077787, 0.0056451196, -0.14062496, 0.03103866, 0.04512255, -0.010760401, 0.008121844, 0.011501802, -0.06567986, 0.017685082) * go_2(-1.0, 1.0); + result += mat4(-0.113867186, -0.12749363, -0.08943638, 0.13412562, -0.071981415, 0.022248283, -0.06953866, -0.08428237, 0.03129861, -0.06123529, -0.092742726, 0.020794291, 0.096983775, -0.02983442, -0.015079871, -0.081479155) * go_2(0.0, -1.0); + result += mat4(0.04013621, 0.084514834, -0.13812582, -0.12510088, 0.14553706, 0.10702256, -0.08045372, 0.08607196, -0.16143145, -0.007886448, 0.01781611, -0.003077175, -0.11296926, 0.1734043, -0.13854994, 0.13680972) * go_2(0.0, 0.0); + result += mat4(0.050505515, -0.17902215, -0.04802798, -0.14421499, -0.030427728, 0.03368048, -0.110685, 0.09567036, 0.03252777, 0.09485837, 0.06954893, 0.023373473, 0.07177965, 0.04810273, 0.08434124, 0.116279624) * go_2(0.0, 1.0); + result += mat4(0.0005544921, -0.051555045, -0.06470852, -0.0531636, 0.057035804, -0.03869994, -0.027945146, 0.07932229, -0.0063175303, -0.05515467, -0.08356414, -0.11859253, 0.12668021, -0.051041365, -0.012815135, 0.007949852) * go_2(1.0, -1.0); + result += mat4(-0.06800659, -0.0071774335, -0.08469053, 0.03886348, 0.025524322, -0.1410413, -0.043023676, 0.029417936, -0.07544589, 0.09294302, -0.08465406, -0.096837744, 0.08364276, 0.024115281, 0.271438, -0.058223505) * go_2(1.0, 0.0); + result += mat4(-0.109101065, -0.17002128, -0.24179345, -0.017228592, 0.10659014, 0.015143326, -0.12937164, -0.0338922, -0.036312755, 0.14563227, 0.009092129, 0.018083349, -0.05089822, -0.06514431, -0.03596386, 0.015814291) * go_2(1.0, 1.0); + result += mat4(-0.08573881, 0.03633208, -0.21500291, 0.15564376, 0.0030492172, -0.021795621, -0.09432696, 0.10721101, 0.2153867, 0.13202792, -0.12423073, 0.005352684, 0.037872642, -0.10474273, 0.013933625, -0.0068198596) * go_3(-1.0, -1.0); + result += mat4(-0.185121, 0.06808207, -0.1228317, 0.06725058, 0.09664016, 0.07007545, -0.027438058, -0.14229484, -0.0033542877, -0.24367031, 0.12804145, -0.19115108, -0.14038874, 0.09379996, 0.04307599, -0.20208067) * go_3(-1.0, 0.0); + result += mat4(-0.27465674, 0.06494048, -0.10362797, 0.0827255, 0.069154, -0.065038726, -0.06611099, 0.22829211, -0.112552926, -0.07423944, 0.011163635, -0.04373235, 0.030065138, -0.03776159, -0.013699219, 0.005617585) * go_3(-1.0, 1.0); + result += mat4(-0.14471242, 0.09473557, -0.008799688, 0.297687, -0.170291, -0.097003534, -0.13033749, -0.086734496, 0.1607779, -0.040937416, 0.07660159, -0.0802484, 0.15036124, -0.040300827, 0.13356747, 0.18778445) * go_3(0.0, -1.0); + result += mat4(-0.0062669497, -0.047926545, -0.02322052, 0.11640132, -0.027486369, 0.084390946, -0.12318683, 0.088127784, 0.034363724, 0.09600964, -0.08777073, -0.03262654, 0.09757491, -0.17299609, -0.10113106, -0.07975111) * go_3(0.0, 0.0); + result += mat4(-0.12862378, 0.05227614, 0.2132678, 0.056268826, 0.01965921, -0.27655914, 0.092967786, 0.005236845, -0.077529125, 0.08411694, -0.01710931, 0.026741153, 0.074644126, 0.028845703, 0.08699953, -0.024485381) * go_3(0.0, 1.0); + result += mat4(-0.04199397, -0.1308821, -0.19070597, -0.08945986, -0.1037197, -0.13604449, -0.016228938, -0.022551721, -0.0076362723, 0.17063893, -0.11217443, -0.08726737, 0.030895764, -0.1522529, 0.06507714, 0.12095355) * go_3(1.0, -1.0); + result += mat4(0.10817155, -0.09881775, 0.040993568, 0.13947234, -0.021370577, -0.1635348, 0.10220782, 0.02202579, 0.11209738, 0.020609956, -0.14656629, -0.13919814, -0.14060068, -0.12372531, -0.10188449, 0.09123819) * go_3(1.0, 0.0); + result += mat4(0.025041433, -0.10927458, 0.025021726, 0.06930344, -0.021769155, -0.15327594, -0.0069944495, -0.096232496, 0.045868713, 0.13147569, 0.12798029, 0.14647365, -0.12404578, -0.06822283, 0.05034958, -0.079014435) * go_3(1.0, 1.0); + result += mat4(0.120342575, 0.14266843, 0.15449679, -0.20489338, -0.18671677, -0.14057173, -0.022556288, 0.18901058, -0.039756775, -0.08051133, 0.0049373866, -0.07846298, 0.13748513, -0.16085026, -0.13095982, 0.069473505) * go_4(-1.0, -1.0); + result += mat4(-0.0007415831, 0.31254232, 0.21238111, 0.3193219, -0.013947761, -0.11949059, 0.071580306, 0.20652267, 0.0025851065, -0.050295394, 0.07416682, 0.118062474, 0.09723194, -0.1944007, -0.04659032, 0.0041032876) * go_4(-1.0, 0.0); + result += mat4(0.036666203, -0.034048863, 0.08825516, 0.12822092, -0.07214442, 0.14225818, 0.05442037, 0.2867944, 0.10804068, 0.005131857, 0.06265404, -0.1566144, -0.095446564, 0.02358177, -0.06441483, 0.013047708) * go_4(-1.0, 1.0); + result += mat4(-0.019146625, 0.006266473, 0.16762416, -0.0046162964, 0.028772417, -0.04452443, 0.14713071, 0.110226825, -0.08499617, 0.05402624, 0.1251715, 0.15287799, -0.13131016, -0.14755967, -0.0972085, -0.11798382) * go_4(0.0, -1.0); + result += mat4(-0.30595997, 0.12551622, 0.14074358, 0.31970632, 0.021614574, 0.05120308, -0.116856426, 0.17851515, -0.0606671, 0.0880086, 0.0879823, -0.121758536, -0.115652494, -0.10002807, 0.0134744225, -0.12445348) * go_4(0.0, 0.0); + result += mat4(-0.0023540058, 0.0014380866, -0.0062776282, -0.013318381, 0.2525834, 0.05257154, 0.27028328, 0.25816876, 0.0989505, 0.013704121, -0.12839815, -0.018599706, -0.06479225, 0.031059438, 0.09665992, 0.11649063) * go_4(0.0, 1.0); + result += mat4(0.15184228, 0.07354054, 0.12431531, 0.03574188, -0.092972584, -0.015326739, 0.058178544, 0.077439696, -0.048038736, -0.049098626, 0.06988285, 0.13670042, -0.030649297, -0.13373514, 0.079972826, 0.1935703) * go_4(1.0, -1.0); + result += mat4(-0.0306585, 0.034239594, 0.033652745, 0.08766325, 0.04726368, -0.0018955129, -0.07785312, 0.04691356, 0.04909221, 0.06809451, 0.05471455, 0.033277687, 0.08671436, -0.076155, 0.058292333, 0.07179553) * go_4(1.0, 0.0); + result += mat4(-0.11209963, -0.13103989, -0.33400932, -0.11662754, -0.0042046346, 0.10080948, -0.012552136, 0.067940794, 0.002866087, -0.009874096, 0.12763286, -0.03031877, -0.022642719, -0.036547594, 0.03913018, 0.16629295) * go_4(1.0, 1.0); + result += mat4(-0.049061082, 0.04717187, 0.071327575, 0.102352396, -0.07726938, 0.14094698, 0.09341758, -0.058272626, -0.12784153, -0.12360863, 0.07852188, -0.018093389, 0.035160895, 0.016824258, 0.0052461606, 0.0033554626) * go_5(-1.0, -1.0); + result += mat4(0.018116081, 0.16159694, -0.07326371, 0.022021493, -0.22974226, 0.14431556, 0.18882045, -0.06435289, -0.08000142, 0.22792707, 0.29219145, -0.11494335, 0.034841456, 0.06518259, -0.106704816, 0.021235496) * go_5(-1.0, 0.0); + result += mat4(0.018035064, -0.096702196, -0.003464681, -0.0022220302, 0.17624727, 0.14363256, -0.19396667, -0.34004405, -0.03063283, 0.19805308, -0.27726153, 0.057164174, 0.15531784, 0.047855917, 0.10516178, -0.032779023) * go_5(-1.0, 1.0); + result += mat4(-0.027642028, 0.012042295, 0.04119136, -0.0016244284, -0.008791894, -0.099617824, 0.130931, 0.09994816, 0.078902684, -0.09399918, -0.028129447, -0.08370564, 0.14835656, -0.092096, 0.028383795, 0.06584475) * go_5(0.0, -1.0); + result += mat4(0.05457846, -0.08758556, 0.065143414, -0.02529071, 0.025666919, 0.062288575, 0.064544715, -0.12310881, -0.02070911, 0.18719092, 0.0012470647, 0.09065394, 0.089744836, -0.15765521, 0.011515355, 0.0014871175) * go_5(0.0, 0.0); + result += mat4(0.07279259, -0.12122391, -0.08129001, -0.003152676, -0.12411482, -0.073190294, -0.082995065, -0.18986583, -0.13675113, 0.22535498, -0.3076794, 0.07931998, 0.05800563, 0.1491273, -0.041464128, 0.019409955) * go_5(0.0, 1.0); + result += mat4(-0.025654098, 0.004081217, 0.12530875, -0.021707695, 0.021711746, -0.12258257, 0.038685348, 0.012969257, 0.15082629, 0.25955087, 0.038080525, 0.06926174, -0.18477698, -0.019098116, -0.102281064, 0.15542246) * go_5(1.0, -1.0); + result += mat4(0.10249199, -0.10188846, 0.021524258, -0.12272311, -0.11009372, 0.06345044, -0.18588856, -0.007431814, -0.050587643, -0.15557933, -0.13853042, 0.047833357, -0.0744104, 0.11987986, -0.105088085, 0.042513683) * go_5(1.0, 0.0); + result += mat4(0.026596246, 0.018244766, 0.028712826, -0.09448985, -0.11023519, -0.18980093, -0.13144584, 0.028966134, -0.07903197, 0.07254252, 0.03271572, -0.016627928, 0.060513306, -0.0023916247, 0.036441766, 0.09406577) * go_5(1.0, 1.0); + result += mat4(0.14232405, 0.114720814, -0.11144986, 0.05589229, 0.21639122, -0.21761972, -0.061168928, 0.080087356, -0.10099732, 0.21700649, -0.031544153, 0.117821574, -0.06040332, 0.13623528, 0.06532833, -0.14136268) * go_6(-1.0, -1.0); + result += mat4(-0.07024258, 0.06820036, -0.09896652, 0.05239327, 0.032074407, 0.060166884, 0.10918488, -0.1604831, -0.009571049, 0.04476715, 0.0015439093, -0.10482196, 0.06763937, 0.06017622, 0.052919876, -0.014136124) * go_6(-1.0, 0.0); + result += mat4(-0.11302243, -0.1170903, 0.0673738, 0.23662187, -0.27710503, 0.22600567, -0.157852, 0.18483819, -0.06633612, -0.075139135, 0.18872209, -0.16697425, -0.009961328, 0.0054550236, 0.15502341, 0.28695628) * go_6(-1.0, 1.0); + result += mat4(0.092126146, 0.117538795, -0.06692514, 0.09119318, 0.062271398, -0.015108815, -0.11658865, -0.06650951, -0.07589854, 0.1035485, -0.021629412, 0.09805429, -0.0708413, -0.13716145, -0.062434144, -0.21314396) * go_6(0.0, -1.0); + result += mat4(0.14058985, 0.05628658, 0.068072565, 0.015168637, -0.081879094, -0.11241576, -0.15573281, -0.14864771, -0.008265013, -0.016971482, 0.029315297, -0.022753824, 0.17329606, 0.15320353, -0.019930441, 0.018783867) * go_6(0.0, 0.0); + result += mat4(0.13796028, 0.0007160951, 0.09305637, 0.1422529, 0.026356421, 0.123341836, 0.23719853, 0.1400149, -0.021316648, 0.024492603, 0.012550349, 0.045684777, 0.025818808, -0.018001324, -0.038435712, 0.20630158) * go_6(0.0, 1.0); + result += mat4(-0.11568665, -0.03569228, -0.044090636, -0.10155582, 0.083382055, 0.24301195, -0.022245454, -0.033773556, -0.0018937895, -0.032795303, 0.022721868, 0.061526462, 0.0015668315, 0.06938226, 0.0012288125, 0.16084138) * go_6(1.0, -1.0); + result += mat4(-0.05176824, -0.14839195, -0.103155345, -0.019997707, -0.019272018, -0.14287192, -0.122550696, 0.0026290747, 0.019299414, -0.06372184, 0.043157134, -0.082327895, -0.056246907, -0.14413235, -0.033780627, 0.004704482) * go_6(1.0, 0.0); + result += mat4(-0.046451636, 0.11087259, -0.037147224, 0.023245918, -0.042846806, -0.1184961, 0.1623827, 0.29253852, -0.06542917, 0.049678918, -0.12009241, -0.045717973, 0.056798954, -0.2672507, -0.2594758, 0.08353679) * go_6(1.0, 1.0); + result += mat4(0.13407503, -0.008476969, -0.06088965, -0.051065, 0.0742294, -0.16301575, 0.052767858, 0.07149886, 0.047530167, -0.068021476, 0.1448473, -0.07827654, 0.032189, 0.12479039, 0.21760924, -0.019127456) * go_7(-1.0, -1.0); + result += mat4(-0.11901753, -0.07702293, -0.19622257, 0.21091644, 0.101466514, -0.17538056, -0.026478102, -0.09568351, -0.13776886, 0.03352246, -0.044475798, 0.06343639, -0.06423362, 0.010770134, 0.10607595, -0.06725147) * go_7(-1.0, 0.0); + result += mat4(-0.068801604, -0.03648746, 0.02905415, 0.09690945, 0.07492833, -0.038676526, 0.12591788, 0.02544471, -0.0071540326, -0.08509896, 0.06756858, -0.036927108, -0.021289624, 0.17029919, 0.085151546, -0.26516253) * go_7(-1.0, 1.0); + result += mat4(0.07898282, -0.05492911, -0.06265257, -0.032484416, 0.17785741, -0.05145782, 0.01762633, 0.016563665, 0.060774446, 0.051605314, 0.033413686, -0.19302492, 0.13779348, -0.11123576, 0.12809837, 0.03933712) * go_7(0.0, -1.0); + result += mat4(-0.0611527, -0.15432398, -0.11532295, 0.1302903, 0.05395265, 0.0364706, 0.0031310646, -0.08676014, -0.06850696, -0.08188169, 0.09603465, -0.08290717, -0.001512079, 0.10533397, 0.13712364, -0.09277913) * go_7(0.0, 0.0); + result += mat4(0.19899495, 0.01849356, 0.03558897, 0.11410951, -0.10390808, 0.008156282, 0.057708547, 0.065857045, 0.083575174, -0.09678853, -0.020182457, 0.051305577, -0.015270724, 0.055178646, 0.06955839, -0.07062595) * go_7(0.0, 1.0); + result += mat4(-0.054933123, -0.04966491, -0.0047603757, -0.15511824, -0.052456774, 0.04770036, -0.12310741, 0.062061965, -0.0059904433, -0.07888004, -0.012614444, -0.15300304, 0.052804995, -0.028602274, 0.18020386, 0.06730639) * go_7(1.0, -1.0); + result += mat4(-0.025813729, 0.15076204, -0.13246286, 0.030926403, 0.06400941, 0.11952475, 0.081793286, 0.007770181, -0.06359484, 0.07682049, 0.10800592, -0.0327746, -0.107736856, 0.15939856, 0.1538754, 0.06256646) * go_7(1.0, 0.0); + result += mat4(-0.15986821, 0.021590011, -0.11264431, 0.0093079535, -0.013647156, -0.2604828, -0.11631053, 0.016986847, 0.0015941777, 0.05487975, -0.074997805, -0.06112192, 0.0983382, 0.013772516, 0.1471619, -0.08080517) * go_7(1.0, 1.0); + result += vec4(0.010537005, 0.0126211485, -0.032614365, 0.0065620933); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_9_tf3 +//!SAVE conv2d_10_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_9_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_9_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.08889782, -0.15311077, 0.04823438, -0.04558368, 0.044214565, -0.028379409, 0.028363805, 0.13412485, -0.02070058, 0.0712695, -0.07548294, 0.008121656, -0.0072323224, -0.03016635, -0.02453755, 0.019908503) * go_0(-1.0, -1.0); + result += mat4(0.050423365, 0.004502398, -0.13227503, 0.0142806405, -0.09818105, 0.036187742, 0.105036445, 0.030699562, 0.072710045, 0.036431707, -0.32996574, -0.028462645, 0.018948672, 0.092441365, 0.056769088, -0.0005644272) * go_0(-1.0, 0.0); + result += mat4(0.04035664, 0.02985188, -0.10089088, 0.03438271, 0.050862562, 0.07788319, -0.050375022, -0.06304437, 0.17106578, -0.028320076, 0.016773457, 0.15019535, -0.027613606, 0.035642974, -0.14601788, -0.013190211) * go_0(-1.0, 1.0); + result += mat4(-0.046619892, -0.16665885, 0.09188837, 0.009912041, 0.10663907, 0.015233106, -0.12871371, -0.019690927, -0.011069769, -0.22700125, -0.0690297, 0.019255418, -0.054341584, -0.01620642, -0.08029935, 0.0070098583) * go_0(0.0, -1.0); + result += mat4(-0.057606664, 0.11877831, 0.15346865, 0.036811285, -0.22125806, 0.0075666574, 0.17679036, 0.11306051, -0.13521308, -0.15850207, 0.022859296, 0.00769397, -0.08765156, -0.104902625, -0.07514916, 0.2486268) * go_0(0.0, 0.0); + result += mat4(-0.013212743, -0.0044239555, 0.025461525, -0.015481864, 0.14041474, 0.05975429, -0.17976587, 0.0145503, -0.077713594, -0.04593509, 0.052384466, 0.0006284831, 0.038034808, -0.05230159, -0.109702006, -0.07265091) * go_0(0.0, 1.0); + result += mat4(-0.025693098, -0.13572535, -0.01895864, 0.03893592, -0.036710177, -0.01088019, -0.09368372, -0.03182742, 0.122763634, -0.0076654744, -0.050077043, -0.022201162, 0.0074185994, -0.006451397, -0.038261954, -0.1110297) * go_0(1.0, -1.0); + result += mat4(-0.039450645, -0.04789768, 0.09936957, 0.058521174, 0.07142846, -0.084644906, 0.07261612, -0.046694856, -0.012884207, 0.13373013, -0.01742012, -0.1042255, -0.12536846, 0.070329286, 0.047471847, -0.10530532) * go_0(1.0, 0.0); + result += mat4(-0.04974837, 0.13026807, 0.04820301, -0.01600421, -0.042744927, -0.025909515, 0.014976897, 0.08282662, 0.022004148, 0.06386686, 0.059391394, -0.082625166, -0.008872271, 0.1102126, 0.035499003, -0.13043708) * go_0(1.0, 1.0); + result += mat4(-0.043579586, -0.046892926, -0.070677124, -0.041093647, 0.03537788, -0.076763846, 0.0009548247, 0.14523864, 0.05719185, -0.045606427, 0.123260975, 0.006404617, -0.099142045, 0.03578823, -0.10354938, -0.07529272) * go_1(-1.0, -1.0); + result += mat4(-0.116821036, -0.15675275, 0.18103552, 0.04812708, -0.036657147, 0.08506689, 0.24174918, 0.22408468, -0.06543428, 0.066437855, 0.19154602, 0.028406492, -0.046705004, -0.04704879, 0.19588713, 0.055319898) * go_1(-1.0, 0.0); + result += mat4(-0.010022652, 0.0015642877, 0.009469823, 0.009802116, -0.037166927, -0.02884251, 0.13500874, 0.01426166, 0.008246828, 0.03139519, -0.012114353, -0.016503382, 0.2640404, -0.051485654, -0.016649412, -0.017588545) * go_1(-1.0, 1.0); + result += mat4(-0.010124425, -0.14225397, 0.08314724, -0.23153158, 0.0014681354, -0.1390618, 0.07377463, 0.039181106, -0.040100355, -0.0142914895, -0.17522524, -0.037204843, 0.021581141, 0.18683401, 0.13369183, 0.0390764) * go_1(0.0, -1.0); + result += mat4(-0.02851701, 0.23242348, 0.1277155, -0.19211055, 0.023522437, -0.08730311, -0.05148616, 0.035363246, 0.042116232, 0.08163083, 0.04480609, 0.038017258, 0.19803137, 0.099729985, -0.038464006, -0.07226916) * go_1(0.0, 0.0); + result += mat4(-0.1866285, -0.11600278, 0.1881696, 0.06068764, -0.10416259, 0.077949375, -0.053726874, 0.1047242, -0.13619052, -0.08904579, -0.016545152, 0.17650889, 0.039236277, 0.043816928, 0.1268894, -0.19868605) * go_1(0.0, 1.0); + result += mat4(-0.025585523, 0.045342762, 0.0026381463, 0.004636469, -0.07053126, 0.04854706, -0.018913629, -0.010274392, 0.081275366, 0.052705947, 0.07343148, 0.09422946, -0.074321106, -0.0866174, -0.051429134, 0.057454497) * go_1(1.0, -1.0); + result += mat4(0.037784588, 0.084031895, 0.065270744, -0.10870336, -0.13500641, -0.025338924, -0.019163836, -0.07293429, 0.116194114, 0.1266802, 0.015490869, 0.008635241, -0.21149078, -0.199303, 0.009074041, 0.042760603) * go_1(1.0, 0.0); + result += mat4(-0.06323883, 0.055710826, 0.017565519, -0.04540938, 0.013367078, 0.15984154, 0.13096973, 0.03138492, 0.027152853, -0.021551156, -0.13443787, 0.06898135, -0.10787318, -0.043363508, 0.00666605, 0.043900643) * go_1(1.0, 1.0); + result += mat4(0.009035264, 0.020594807, 0.015705304, 0.01909982, 0.08320093, -0.103481755, -0.10641082, -0.03442891, 0.0047570583, 0.08687775, 0.06897745, -0.018835394, -0.066996634, -0.049071193, -0.16802575, 0.0044500753) * go_2(-1.0, -1.0); + result += mat4(0.04045015, 0.08801431, -0.08804257, -0.0023234654, 0.030842444, 0.018819112, 0.10408235, 0.06429923, 0.03985677, 0.031426232, 0.13569061, -0.14335556, -0.037044074, -0.103468224, -0.09185709, -0.07604263) * go_2(-1.0, 0.0); + result += mat4(-0.010495441, 0.06289279, -0.05870335, -0.1904296, 0.057986103, 0.043326564, -0.097958155, 0.104971156, 0.07364184, 0.034985706, -0.19703776, 0.043712724, 0.07940852, -0.010851745, 0.14496458, -0.015142011) * go_2(-1.0, 1.0); + result += mat4(0.025466047, -0.08039815, -0.026971048, 0.10441981, -0.06507468, -0.1337023, 0.1451312, -0.092361696, 0.11647118, -0.018967701, -0.09679053, -0.12715657, 0.0049849623, 0.05230491, -0.021765102, -0.020865416) * go_2(0.0, -1.0); + result += mat4(0.0075712977, 0.03345767, -0.057719618, 0.14185268, 0.082015894, 0.009533725, 0.07871332, -0.09614353, 0.07002554, 0.079299755, -0.025585618, 0.0152029125, -0.08076779, -0.19227244, -0.04965265, -0.061909772) * go_2(0.0, 0.0); + result += mat4(-0.010124431, 0.0013454502, 0.05622167, 0.0614913, -0.006998316, 0.023906026, -0.07123647, -0.09987564, -0.14460497, -0.041314058, -0.036342222, 0.112912245, 0.048668977, 0.044658728, 0.019917604, -0.007595695) * go_2(0.0, 1.0); + result += mat4(0.055248134, 0.017488867, -0.0074054203, -0.04487277, -0.13840093, 0.037144244, -0.0017901342, -0.049469203, -0.068407014, -0.002747277, 0.029810332, -0.07904478, 0.055827897, 0.114826, 0.07382718, -0.026687222) * go_2(1.0, -1.0); + result += mat4(0.08219817, 0.1619462, -0.09470693, 0.083237365, -0.0924052, 0.01067484, -0.0035807928, -0.069811486, -0.013960181, 0.10654318, -0.024244606, -0.06582165, 0.04962566, 0.027068332, 0.0841098, 0.033444792) * go_2(1.0, 0.0); + result += mat4(0.17503081, 0.03665154, -0.0675055, 0.027293172, -0.03523338, 0.0109953685, 0.011622604, -0.11386672, -0.00032072345, -0.025685903, -0.05279821, 0.09421746, 0.039889757, -0.01880816, 0.05618171, 0.0022874111) * go_2(1.0, 1.0); + result += mat4(-0.13145523, 0.18216553, 0.16554132, 0.09174621, -0.0051634437, -0.048285816, -0.029851796, -0.024521131, -0.064170815, 0.04725991, -0.097417906, -0.09764079, 0.049423784, 0.16233915, 0.23060358, -0.0062447516) * go_3(-1.0, -1.0); + result += mat4(0.032495294, -0.2682059, -0.37521285, -0.029825145, -0.09773881, -0.0066955523, 0.06277792, -0.083181195, 0.05386697, -0.037506554, -0.039655734, -0.0050008455, 0.037204262, 0.09936529, 0.005109203, 0.12107711) * go_3(-1.0, 0.0); + result += mat4(0.17437148, -0.059008747, -0.22437404, -0.061140712, -0.085489735, -0.03494208, 0.080636404, -0.060815886, 0.05937275, -0.025692465, -0.025606196, 0.042834997, -0.13546485, -0.10590498, -0.14345334, 0.0046743182) * go_3(-1.0, 1.0); + result += mat4(0.03558994, 0.087737836, -0.038992245, 0.14311473, 0.053867705, -0.1257101, -0.0018974398, 0.018802585, 0.034442518, 0.09937298, 0.13657762, 0.024501108, -0.0040634726, -0.078894846, 0.10380101, 0.035019495) * go_3(0.0, -1.0); + result += mat4(-0.16890417, 0.06156658, 0.03077302, -0.16106246, -0.017029505, 0.11685676, -0.012574194, 0.039645053, -0.003144679, 0.089480534, -0.03166805, 0.08350338, 0.012151949, -0.033835117, 0.11382378, 0.07414846) * go_3(0.0, 0.0); + result += mat4(-0.17016909, 0.027876107, 0.04067996, -0.048124984, 0.011483843, 0.09505421, -0.009452186, -0.051690947, -0.07523587, 0.10085903, -0.05644697, -0.028940927, 0.17628358, 0.09629752, 0.14373964, 0.0021410924) * go_3(0.0, 1.0); + result += mat4(-0.0037599285, 0.04272923, 0.0026777869, -0.0140216, -0.026618365, -0.04173863, 0.08150853, 0.0025315892, -0.01895354, 0.102992274, 0.041345052, 0.03883729, 0.0924492, 0.05886179, 0.015202135, -0.11207661) * go_3(1.0, -1.0); + result += mat4(-0.12403727, 0.01637198, 0.04096121, -0.11977578, -0.014450318, -0.06769534, 0.11740226, 0.08816537, 0.19629698, 0.18154356, -0.08592387, -0.019187221, -0.03796658, -0.106272355, 0.05420226, 0.018840006) * go_3(1.0, 0.0); + result += mat4(-0.050734147, 0.061064612, 0.016702149, -0.018882874, 0.09218629, -0.11073548, -0.0028023277, -0.010835074, 0.04149203, 0.12168354, -0.059796926, -0.12945394, 0.038868375, -0.08704314, -0.009328244, 0.081930615) * go_3(1.0, 1.0); + result += mat4(-0.100008845, -0.115009055, 0.15168963, -0.01758568, 0.04532579, 0.08870267, 0.09462516, 0.005414994, -0.050950747, 0.13270593, 0.030503616, 0.027042845, -0.006835031, -0.10579588, -0.0643324, -0.008061472) * go_4(-1.0, -1.0); + result += mat4(-0.18259896, -0.06677021, 0.009504482, -0.1842928, -0.026170325, 0.00043852927, -0.06471976, 0.02997685, 0.02595068, 0.031614214, 0.21114227, 0.025900716, -0.17008767, -0.007941647, 0.17943352, 0.057212297) * go_4(-1.0, 0.0); + result += mat4(0.010857713, -0.0002794059, 0.23158428, 0.16893044, -0.1557764, 0.019845916, -0.050243165, 0.020767516, -0.058061093, 0.020982072, 0.012367622, 0.01101485, 0.024589071, 0.05084018, -0.02436446, -0.05878187) * go_4(-1.0, 1.0); + result += mat4(0.012373701, 0.067655645, -0.028974818, -0.051458526, -0.03400436, 0.07357711, 0.020821717, 0.120083876, -0.053849153, 0.1278378, -0.011223256, 0.06836699, 0.030158738, 0.0467768, 0.14818475, -0.045275457) * go_4(0.0, -1.0); + result += mat4(0.03103519, -0.026628016, -0.15541978, -0.08434361, 0.06292301, -0.03746335, -0.107766226, -0.09786059, 0.07117096, -0.06319719, 0.11203641, -0.037364762, 0.12603277, 0.08220379, 0.0149918785, -0.092076994) * go_4(0.0, 0.0); + result += mat4(-0.09075286, -0.033164006, 0.10945737, 0.2770637, -0.16555783, 0.07310421, 0.026942289, 0.29650962, -0.1007844, 0.009096539, -0.06395033, 0.09699946, -0.07901404, 0.040918924, 0.098537594, -0.04509798) * go_4(0.0, 1.0); + result += mat4(0.007999323, 0.0046959305, -0.03181889, -0.041286197, -0.0036372268, 0.020058637, 0.037964053, -0.016066216, -0.019170566, 0.016866915, -0.10172061, 0.09604732, 0.082420416, -0.05594466, -0.0756941, 0.036003392) * go_4(1.0, -1.0); + result += mat4(0.071109265, -0.08595922, -0.15273578, -0.04714358, -0.039822437, 0.085219406, -0.057365675, 0.045313027, 0.1338325, -0.027771475, 0.13640241, 0.1525042, 0.055682134, -0.094727375, -0.026674733, -0.009161929) * go_4(1.0, 0.0); + result += mat4(0.0027815856, 0.17028663, 0.01599458, 0.11059541, 0.021278301, -0.02299255, -0.046445813, 0.01140362, -0.028351959, -0.038226657, -0.01955651, 0.11908411, -0.034029853, -0.10767461, -0.11081511, 0.03566396) * go_4(1.0, 1.0); + result += mat4(-0.01359866, 0.13117082, -0.09357916, -0.029195316, -0.009054719, 0.0694315, 0.17173718, 0.037290372, 0.062218763, 0.082544655, 0.03066545, 0.09272635, 0.082720116, -0.014737289, 0.10527505, -0.0689924) * go_5(-1.0, -1.0); + result += mat4(-0.0706202, 0.12618336, -0.15827578, -0.057750463, 0.14855652, 0.1458758, -0.123203725, 0.19543667, 0.18961985, -0.007020239, -0.031297687, -0.033669226, -0.010986353, 0.0066039455, -0.1652515, -0.0059961043) * go_5(-1.0, 0.0); + result += mat4(-0.040597215, 0.016640672, 0.0061419294, 0.080478184, 0.018984126, 0.06710943, -0.06675578, -0.11948528, 0.04214188, 0.0052774074, 0.030882267, -0.005388406, -0.039811462, -0.01028474, -0.083587855, 0.0029053325) * go_5(-1.0, 1.0); + result += mat4(-0.05731081, -0.04265545, -0.0755327, 0.1441698, 0.036332745, -0.0067641083, -0.04228671, 0.08545495, -0.0909647, 0.2205254, 0.20305182, -0.09450949, -0.04061624, -0.035271652, -0.095942676, -0.026358822) * go_5(0.0, -1.0); + result += mat4(-0.050612856, 0.0145045, 0.17043534, 0.08267622, -0.034799397, -0.06804938, 0.13429774, 0.07218003, 0.15208139, -0.039168525, 0.038500663, 0.07258302, -0.122111656, -0.15208225, -0.09210869, 0.059862003) * go_5(0.0, 0.0); + result += mat4(0.0415679, 0.11520605, -0.030313483, 0.122075975, 0.06583631, -0.019953119, 0.109392576, -0.0510396, 0.09787855, 0.26775602, -0.18646449, -0.12933819, -0.04493963, -0.037615146, 0.0570058, 0.011027787) * go_5(0.0, 1.0); + result += mat4(-0.02655267, -0.098945014, -0.09336936, 0.07748091, -0.00047962685, 0.014854489, -0.068141386, 0.0071108737, -0.1333433, 0.03353786, 0.018027728, -0.07141378, -0.064265154, 0.056028087, 0.082747355, -0.071275316) * go_5(1.0, -1.0); + result += mat4(-0.05542939, -0.07380958, 0.01437026, 0.23931144, 0.08378484, 0.026806151, 0.009641943, -0.011398272, -0.051237162, 0.08034507, -0.017141929, -0.020286817, 0.08660475, 0.07309451, -0.03789005, -0.052705795) * go_5(1.0, 0.0); + result += mat4(-0.028130122, -0.031831503, 0.016689168, 0.10056315, -0.06354666, -0.15095639, -0.08982293, 0.116643555, -0.025013596, -0.019885266, 0.014840034, -0.2278798, -0.01701857, 0.011629466, -0.006176379, 0.04527816) * go_5(1.0, 1.0); + result += mat4(0.09877462, 0.029073205, 0.11243462, 0.044177532, -0.075923786, 0.02546148, 0.10739565, -0.13975054, 0.044879325, -0.11958629, 0.04363638, 0.077704646, 0.02696298, -0.027670769, -0.09089905, -0.06455269) * go_6(-1.0, -1.0); + result += mat4(0.0030152819, -0.02731273, 0.0066886866, 0.048644535, -0.06557933, -0.005832296, -0.06140005, -0.1994014, -0.11878561, -0.2267219, -0.11640984, -0.0155212805, 0.07085509, -0.009048477, -0.14769004, -0.123608634) * go_6(-1.0, 0.0); + result += mat4(-0.06752226, -0.016893445, 0.07294028, -0.052196287, 0.03547883, 0.101674356, 0.04949045, -0.09284047, 0.0729387, -0.07581744, -0.09281662, -0.031965096, 0.037925586, -0.07312763, -0.036286525, 0.03144849) * go_6(-1.0, 1.0); + result += mat4(0.064824305, 0.024864329, -0.056642268, 0.04918063, 0.1930241, 0.0071046185, -0.016237276, 0.013059835, -0.14946592, -0.09492835, 0.020961342, 0.047568906, 0.00048450654, -0.15269406, -0.08010619, -0.1388464) * go_6(0.0, -1.0); + result += mat4(-0.18825355, 0.22652678, 0.13892595, 0.117251605, -0.062407874, 0.008739453, 0.073387355, 0.05264442, -0.0031089867, -0.06777429, -0.16784573, -0.020113356, 0.04869496, 0.08135994, 0.07246035, -0.19927453) * go_6(0.0, 0.0); + result += mat4(-0.18046555, 0.14942019, -0.009922297, 0.040851727, -0.13020493, 0.10147689, -0.08173918, -0.026491666, 0.039945066, 0.08903092, -0.036917374, -0.093293, -0.09607799, 0.19442783, -0.004808152, 0.097780965) * go_6(0.0, 1.0); + result += mat4(-0.0758065, -0.03808871, 0.047511652, -0.0060790107, 0.08365728, 0.199537, 0.034738176, -0.19402026, 0.038024064, 0.065259285, 0.053378936, -0.009232693, -0.063165165, 0.024357138, 0.01648106, -0.0013202438) * go_6(1.0, -1.0); + result += mat4(0.03521039, -0.034457784, 0.1159957, -0.115214765, 0.1685411, -0.021456879, -0.08062013, -0.13672292, -0.0668036, -0.101206556, -0.052379187, 0.03147825, -0.09889599, -0.028870791, -0.11832699, -0.0046074977) * go_6(1.0, 0.0); + result += mat4(-0.050857995, 0.15759641, 0.047607794, 0.14805913, -0.07750758, 0.105473354, 0.102374494, 0.01994999, 0.033616915, -0.06992014, 0.056393575, -0.14204934, 0.05354153, 0.05013943, -0.114074394, 0.065119326) * go_6(1.0, 1.0); + result += mat4(-0.04829731, 0.06885148, -0.14768778, -0.060326908, -0.103351146, 0.036768492, -0.06135658, 0.11148307, 0.014534502, 0.123006314, 0.036450353, -0.0383252, -0.20370677, -0.17286272, 0.16101491, 0.07556089) * go_7(-1.0, -1.0); + result += mat4(-0.15262854, 0.14199285, 0.2511771, -0.10075314, 0.17736407, 0.2943528, 0.27172905, 0.1151125, 0.049084056, 0.059168756, 0.0650204, 0.03935768, -0.15067302, -0.13848037, -0.033887982, -0.026555846) * go_7(-1.0, 0.0); + result += mat4(-0.0051172585, 0.02692111, 0.20705879, 0.008218838, -0.021862414, -0.102145776, 0.12885559, 0.114753574, 0.102891475, -0.1007345, 0.01208991, 0.05938357, 0.06780603, -0.1589195, -0.20958908, -0.041277707) * go_7(-1.0, 1.0); + result += mat4(0.05422305, 0.029327532, -0.14234012, -0.030016532, 0.0482255, -0.046472695, 0.09939593, 0.08224116, 0.035823345, 0.07811289, -0.10744252, -0.08363756, -0.08364467, 0.057085298, -0.16731818, 0.20220445) * go_7(0.0, -1.0); + result += mat4(-0.001880624, 0.11825207, 0.008596269, -0.10103486, -0.17410794, 0.0017706376, 0.21030387, 0.10192447, 0.07783077, -0.014912659, 0.164237, -0.17776188, -0.097639844, -0.08774552, -0.16644147, 0.12934735) * go_7(0.0, 0.0); + result += mat4(0.06927279, 0.059731327, -0.060738076, -0.062833875, -0.015539843, -0.021360295, -0.053207625, 0.115540475, 0.017843733, 0.065999255, 0.0007332877, -0.03914544, -0.105941266, -0.07532644, -0.095935695, 0.10708794) * go_7(0.0, 1.0); + result += mat4(0.0873342, 0.003396962, 0.026241373, -0.0785419, 0.081882305, -0.01897599, -0.040988095, -0.028300753, -0.056872226, -0.03653725, -0.0036923515, -0.07191479, 0.070348285, 0.20352787, 0.14121976, 0.055011783) * go_7(1.0, -1.0); + result += mat4(0.01868485, 0.0013574177, -0.025322456, -0.08943172, 0.08110719, -0.0014665145, -0.17301609, -0.15072477, 0.032763265, -0.048716765, 0.035305195, -0.064817816, 0.0371342, -0.08201281, -0.19665426, 0.0653309) * go_7(1.0, 0.0); + result += mat4(0.034040254, 0.08749453, 0.039605893, 0.026554601, 0.049870778, 0.16673377, -0.024515232, 0.1613443, -0.039366666, -0.011511365, 0.03501774, -0.015119788, -0.10082997, 0.002426415, -0.067138135, -0.05282799) * go_7(1.0, 1.0); + result += vec4(-0.01535558, -0.024700014, 0.041315205, 0.023633905); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x72 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_9_tf3 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.07763047, 0.27418226, -0.14338551, -0.11081361, 0.18755837, 0.13486148, -0.103934124, 0.15729067, -0.30118144, -0.23599705, -0.03624479, -0.13197371, 0.2509935, -0.053046692, 0.22451721, 0.062433634) * g_0; + result += mat4(-0.009606105, -0.11484272, 0.014596453, 0.05732435, -0.28318888, 0.14493735, -0.12094529, -0.021383354, -0.19675042, -0.20649005, -0.117224075, -0.044716556, 0.07876854, 0.0063603655, 0.14384452, 0.34768546) * g_1; + result += mat4(-0.20010832, 0.26670012, -0.07552091, 0.16396587, -0.0011262367, -0.10468841, 0.17872465, -0.041907642, -0.04863038, -0.13880715, -0.12238532, -0.00602456, -0.11301867, 0.13501893, -0.15452485, 0.0051267557) * g_2; + result += mat4(0.015291708, -0.2517837, -0.24560767, 0.10868371, -0.1582953, -0.30957448, 0.29895902, -0.25554538, 0.24216072, -0.045922607, -0.08923091, -0.25642177, -0.33101156, -0.0058916584, 0.1821658, -0.05911768) * g_3; + result += mat4(0.15687323, 0.055351928, -0.32324156, 0.1137441, 0.41560605, 0.41545513, 0.12071179, 0.10673924, -0.11547584, -0.37552577, 0.077131264, -0.12138124, -0.13219355, -0.22411941, 0.03978703, 0.3492272) * g_4; + result += mat4(0.07044036, 0.11714306, -0.13374294, -0.055823848, -0.06303139, -0.1482969, -0.110342264, 0.036638733, 0.314413, 0.1842789, 0.17475197, 0.043438207, 0.0015348946, -0.3156743, -0.056865085, -0.053799774) * g_5; + result += mat4(0.21131508, 0.4045569, 0.083308145, 0.14813706, -0.02388631, -0.061720062, 0.24854286, 0.30907345, 0.027408333, -0.007549164, 0.19938764, -0.17439002, 0.025626602, 0.08443904, -0.2024683, -0.06329822) * g_6; + result += mat4(-0.015397141, 0.18421206, 0.08390624, -0.119724214, 0.17461216, 0.25613582, 0.056294072, -0.30151296, -0.1661106, 0.004817213, 0.20178172, -0.1557543, 0.31574607, 0.016265873, -0.11313175, 0.101584174) * g_7; + result += mat4(-0.036003333, -0.2948743, 0.08890492, -0.2424807, 0.20558605, -0.005326227, -0.14824234, 0.13657871, -0.08299064, -0.2654781, 0.07763288, -0.20758678, 0.12413959, -0.09051654, -0.27145076, 0.1981802) * g_8; + result += mat4(0.06444485, 0.041239545, 0.4109527, 0.25702617, -0.17460653, 0.2697094, 0.18714386, -0.10359985, 0.034952056, 0.058017034, 0.36967984, 0.1442043, -0.102753505, -0.07272067, 0.09906319, -0.02692305) * g_9; + result += mat4(-0.3257422, -0.25091344, 0.05630559, -0.22858965, 0.0969714, 0.0627054, -0.09547412, -0.21921997, 0.11027036, -0.2087131, -0.0034146109, -0.042596426, 0.1338729, -0.029776977, -0.136488, 0.048176914) * g_10; + result += mat4(0.42944148, 0.07361601, 0.039996527, -0.06972752, 0.12532753, -0.05265781, -0.061011825, 0.12728149, -0.007630841, 0.010768823, -0.08062439, 0.15050723, 0.059922203, 0.034361467, 0.2352152, -0.059999254) * g_11; + result += mat4(0.1987271, -0.068179525, -0.33349162, 0.018712096, -0.069019474, 0.16223519, -0.012386762, -0.058549248, 0.23421755, -0.11690985, -0.18661754, -0.12185474, -0.022877546, -0.11763273, 0.0713361, -0.036679223) * g_12; + result += mat4(-0.0042756563, -0.20779006, -0.14918481, 0.096974574, -0.015246231, -0.11454528, 0.14464086, 0.19934529, -0.0877081, 0.38296238, -0.010145265, -0.4274725, -0.20933542, 0.03727663, -0.004354278, -0.024973618) * g_13; + result += mat4(-0.15737206, -0.20578605, 0.2868647, -0.13985285, 0.13827614, -0.048706137, 0.10751875, -0.09783745, 0.04060606, 0.21132666, 0.0064998385, -0.03548873, 0.11786483, -0.15699282, 0.2044634, 0.007233451) * g_14; + result += mat4(-6.82634e-05, 0.23951311, -0.06425014, 0.07997111, 0.11085256, 0.15976904, 0.13375166, 0.21199653, -0.35401696, 0.065035254, -0.030974375, -0.08552442, 0.37972608, 0.10081147, 0.2001372, 0.17563076) * g_15; + result += mat4(0.2773931, 0.1178841, 0.027378619, 0.2863328, -0.30616024, 0.06384452, -0.16728342, 0.06004475, 0.011872468, 0.05471154, -0.32518378, -0.18874332, -0.12623757, 0.23276375, 0.068185456, 0.21938467) * g_16; + result += mat4(-0.18750657, -0.22679184, -0.024820909, -0.095249355, -0.14394966, -0.27550733, -0.19173676, 0.20593777, 0.07831533, 0.2730425, 0.34470567, 0.07874521, 0.09838028, -0.13954316, 0.18111953, 0.18931043) * g_17; + result += vec4(-0.03305349, -0.054945398, 0.02216584, -0.091164745); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x72 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_9_tf3 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf1 +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.29876372, 0.016366975, 0.21096407, -0.020094471, -0.1900656, -0.072851926, 0.26933378, 0.2965162, 0.047404896, -0.07100038, 0.36576727, -0.1726564, -0.09022945, -0.045195863, 0.054235443, 0.05129035) * g_0; + result += mat4(-0.17622513, 0.029871318, 0.1261812, 0.2222432, -0.13800889, 0.07485947, 0.18132168, -0.07646577, 0.35130787, 0.025769712, -0.08360745, 0.1823751, 0.2580671, 0.17893296, -0.2970342, 0.2615672) * g_1; + result += mat4(-0.09122936, 0.041544963, 0.11103348, -0.32509488, 0.11889552, -0.15459736, -0.14604495, 0.13639185, 0.25519374, -0.09549251, 0.027490158, -0.22870867, 0.15262592, -0.05271851, 0.07649719, -0.14544797) * g_2; + result += mat4(-0.07842013, -0.07909847, 0.16719495, 0.060775355, 0.039721165, -0.11024404, 0.15099376, 0.017221982, 0.03604949, -0.00044745833, 0.09993808, 0.016347472, -0.1123219, 0.12352075, 0.0055856355, -0.038503457) * g_3; + result += mat4(0.04749609, -0.011603198, -0.11631744, 0.29501718, 0.21616888, 0.076152876, 0.008262415, -0.17586538, -0.025060087, -0.06677992, -0.05253498, 0.20535102, 0.14948508, -0.16102068, 0.06183411, 0.12077816) * g_4; + result += mat4(-0.0036952377, 0.15648776, -0.2770151, -0.26803473, -0.12806855, 0.21423273, 0.10177632, -0.010165392, 0.059501424, -0.16206288, -0.0119383745, -0.09637166, 0.016029779, -0.107704446, -0.066519134, -0.039579522) * g_5; + result += mat4(-0.025284212, -0.11085338, -0.10921526, 0.19486162, 0.002627237, -0.24155024, -0.22131649, -0.008362887, -0.17378221, 0.254153, 0.14457825, 0.1237066, 0.1588314, 0.034734476, -0.32959384, 0.18392745) * g_6; + result += mat4(-0.23717919, 0.032724388, -0.2579177, 0.032373153, 0.19237953, 0.18673407, -0.032884978, 0.34017587, 0.3633359, 0.22996293, 0.05866704, -0.051001176, 0.10989479, 0.15821928, 0.03814914, 0.18687908) * g_7; + result += mat4(0.18111174, -0.045572106, 0.28947538, 0.028062606, 0.017460342, -0.11182857, -0.02323663, 0.22442394, -0.09908654, -0.1892071, -0.16361217, 0.23111914, -0.4034355, -0.160105, 0.124996185, 0.16111071) * g_8; + result += mat4(-0.24601339, 0.16504896, -0.50432545, 0.17059588, -0.05622342, 0.03449165, 0.19813967, -0.23526217, 0.027649945, -0.091902114, 0.24123852, -0.27897063, 0.092255116, 0.46413165, 0.24431442, -0.28772914) * g_9; + result += mat4(-0.10406283, 0.011556308, -0.28718328, 0.089035675, -0.34427065, -0.14430703, -0.05688551, 0.0073183607, -0.09622162, 0.11313123, 0.05555725, 0.14841734, 0.1549386, -0.17246638, 0.20873484, -0.03606831) * g_10; + result += mat4(0.026205625, 0.20152962, -0.06303816, -0.3621029, -8.37066e-05, 0.022963323, 0.1556007, -0.010206023, -0.03585696, 0.013210482, 0.08844526, 0.08085807, 0.0154804215, 0.01674602, -0.22619575, -0.20517838) * g_11; + result += mat4(-0.14771776, -0.087712936, 0.26490626, 0.13074578, -0.15972485, -0.17711553, -0.023439731, -0.35535946, 0.033503015, -0.04976214, 0.18148364, -0.25102466, 0.1015065, -0.17691332, -0.117089726, 0.2718636) * g_12; + result += mat4(0.021445429, -0.2229151, 0.04363617, -0.01848845, 0.19044793, 0.12978733, 0.1401384, -0.051114038, -0.16472392, -0.059583012, -0.002701528, -0.12270173, -0.18227173, 0.03988044, 0.3377543, -0.18024927) * g_13; + result += mat4(0.38426477, -0.09308802, -0.11083124, 0.21756104, -0.055889897, 0.100914784, 0.051462848, 0.1997221, 0.16923136, -0.0040037725, 0.21070997, -0.035059523, -0.0740145, -0.42558807, -0.020239443, -0.06474659) * g_14; + result += mat4(-0.020568244, 0.08227015, -0.053252015, 0.01569164, -0.109781235, 0.06688285, 0.2620034, -0.18460485, -0.13735083, 0.0030442013, -0.21416521, -0.054695573, 0.047963038, 0.10726088, 0.034117166, 0.21801902) * g_15; + result += mat4(0.520728, 0.06186967, -0.30889672, 0.0150618, -0.014702558, -0.2076953, -0.13387786, 0.101004966, -0.16997512, 0.14452092, -0.018287892, -0.14064445, 0.10045448, 0.33445045, 0.12254727, 0.033601977) * g_16; + result += mat4(-0.08978202, 0.015013341, 0.11111453, 0.05192639, 0.18055484, 0.123284765, -0.1554275, 0.09262196, 0.057058904, -0.080403194, -0.163374, 0.046445247, -7.656726e-05, 0.23957397, -0.24086528, -0.04172887) * g_17; + result += vec4(0.0030341349, -0.028386809, -0.0693459, -0.021886); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x72 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_9_tf3 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf2 +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.12601665, 0.16175638, -0.19269617, 0.107886985, -0.28229153, -0.47275612, -0.23898768, 0.11874162, -0.0438132, 0.1620992, -0.07009845, -0.088367306, -0.13653506, -0.24453755, 0.07402701, 0.112232625) * g_0; + result += mat4(-0.1342178, -0.06971262, 0.12556942, 0.01929168, 0.23838176, 0.018971201, -0.05296016, -0.08929702, 0.040384937, -0.09414689, 0.07239966, 0.057094514, 0.022977736, 0.23681253, 0.07352691, 0.1401568) * g_1; + result += mat4(0.13201892, 0.04062019, 0.052444696, 0.039319273, 0.029174356, 0.024773024, 0.24973504, 0.20124938, -0.11042911, -0.32369703, 0.13876265, 0.07454285, -0.29048622, -0.0073187165, 0.18820713, 0.1310624) * g_2; + result += mat4(-0.052355357, 0.14466842, -0.20304704, -0.10945343, -0.13633797, -0.0362287, 0.21200177, -0.115031704, -0.007819006, -0.0060177785, 0.10633933, -0.06184755, 0.09415192, -0.109933, -0.025773333, 0.13335694) * g_3; + result += mat4(-0.15166026, -0.363905, 0.16473109, 0.36505404, 0.056683872, 0.0061098817, 0.4168733, -0.044268914, 0.2840304, -0.27333218, -0.032296672, 0.08772143, -0.0003773526, 0.34500858, 0.16723311, -0.08633425) * g_4; + result += mat4(0.17295076, 0.058134206, 0.10268273, -0.05562554, -0.01107067, -0.16301824, -0.15832978, -0.35605776, -0.059426963, -0.16527529, 0.08868478, -0.1846189, -0.017306576, 0.10800906, -0.012656846, 0.29250982) * g_5; + result += mat4(-0.0046278895, -0.41774723, 0.24683201, 0.023414413, -0.0560346, 0.3508538, -0.018426506, -0.22601782, -0.22005035, 0.24708134, 0.20629126, 0.017688079, -0.21966107, 0.0007773641, 0.27158982, -0.15457745) * g_6; + result += mat4(0.28892994, -0.0948736, -0.22442342, 0.18630128, 0.056576118, -0.17367427, 0.036432527, -0.12435009, 0.049795005, 0.13438956, 0.38832325, 0.040559538, -0.18281, -0.027084656, 0.14047231, 0.16336608) * g_7; + result += mat4(0.07984998, 0.10912455, -0.25223976, -0.07150487, 0.39511418, -0.16752689, -0.012659484, 0.14530154, 0.15754412, -0.10894477, -0.1896881, -0.12754244, -0.2143525, -0.18319069, -0.13740367, 0.049823396) * g_8; + result += mat4(-0.2693335, -0.22025953, -0.08723098, 0.030883936, -0.01043496, 0.049120355, 0.027913291, 0.2757188, 0.2999968, 0.1511124, 0.03902692, 0.012411737, 0.3374636, 0.07545474, 0.0019430651, -0.2693774) * g_9; + result += mat4(0.22447923, 0.18749979, -0.2726834, -0.054140817, -0.028611785, -0.1420322, -0.26904938, 0.034827393, -0.16475505, -0.13389514, 0.004789874, -0.041023012, 0.13383822, -0.33016685, 0.14386353, -0.16444317) * g_10; + result += mat4(0.06270732, -0.1334095, -0.15366173, -0.05587756, 0.10967794, 0.20958632, 0.0024631543, 0.0054002493, 0.1983807, 0.21552248, -0.027546072, 0.03749206, 0.09604704, -0.015076683, -0.18674834, -0.048891157) * g_11; + result += mat4(0.3359941, 0.005712003, 0.12872687, 0.17963566, 0.13625218, -0.07016191, 0.41262105, 0.12859339, -0.029220538, 0.042857308, -0.09492956, -0.006781853, -0.002147385, 0.09192873, -0.034135956, 0.04365597) * g_12; + result += mat4(-0.0655155, 0.09802182, -0.009230572, -0.11295286, -0.04042111, -0.167074, -0.042077914, -0.3769242, 0.3564197, -0.41506588, 0.010919382, 0.19179656, -0.30047882, -0.12062898, -0.09184107, 0.18559954) * g_13; + result += mat4(-0.02611887, 0.18515642, -0.26166156, -0.11706778, 0.1758253, -0.04787028, -0.1428414, 0.20101525, -0.19495995, -0.114093624, 0.15655537, 0.09985385, -0.28163755, 0.04849391, 0.08238636, -0.084574856) * g_14; + result += mat4(0.00010702968, -0.1017887, 0.18226019, -0.059170388, 0.18746078, 0.060440563, -0.14334333, -0.1825296, 0.27030236, 0.028283298, -0.09769837, -0.0023890818, 0.18596847, 0.07152733, -0.06317227, -0.12367107) * g_15; + result += mat4(0.24603085, 0.056102052, 0.13449737, -0.23569027, -0.05986085, 0.27015293, -0.2839155, -0.089338146, -0.057650078, 0.25799945, -0.2778006, 0.32337326, 0.15381968, -0.10049262, -0.0764022, 0.07623496) * g_16; + result += mat4(0.15472987, 0.087436944, -0.14177966, 0.22156389, 0.020608503, 0.2505864, 0.20408471, 0.031214792, -0.059114598, -0.15656275, 0.228334, -0.11210813, -0.06963447, -0.033369016, -0.09053422, -0.007444799) * g_17; + result += vec4(0.010953258, -0.03096994, -0.08644558, -0.025292031); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x72 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_9_tf3 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf3 +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.17770122, 0.29082096, 0.04282091, 0.02549757, -0.23898254, 0.0010372455, 0.12527937, -0.0698982, 0.2606404, -0.010801856, 0.32558066, -0.26030767, -0.04800019, -0.07218525, 0.14526579, -0.18770672) * g_0; + result += mat4(0.15203147, -0.07794133, 0.007123589, 0.098241664, 0.09907035, -0.27661824, -0.086697206, -0.2342014, -0.31787968, 0.049847364, 0.06507202, 0.21814133, 0.32412624, -0.083394185, -0.09934146, 0.23159225) * g_1; + result += mat4(-0.096130975, 0.08083216, 0.44819605, 0.03937152, -0.13312627, -0.18089001, -0.18645371, -0.010557667, -0.124474674, -0.10351831, -0.12635191, -0.05673057, 0.018399497, -0.24488576, 0.026230913, -0.15852088) * g_2; + result += mat4(0.10968734, -0.035089277, -0.067034565, 0.066106535, -0.14149925, 0.1641957, -0.18244973, -0.22383699, -0.18098424, -0.151712, 0.260575, -0.00048691966, 0.27418098, 0.2131733, -0.12303702, -0.101710096) * g_3; + result += mat4(-0.3226536, 0.01744138, -0.12473336, 0.05616008, -0.4558458, -0.33108178, 0.004296858, -0.25150925, 0.11538608, -0.08004571, 0.20220277, 0.1365363, 0.21196564, 0.07377505, -0.060209595, 0.039599787) * g_4; + result += mat4(0.00477916, -0.114327356, 0.011587205, -0.2702971, 0.23033854, -0.27782437, 0.32360908, -0.44537735, -0.013454022, 0.056789074, 0.033459242, 0.12902088, -0.1313282, -0.004177221, 0.041425087, 0.250106) * g_5; + result += mat4(-0.24296634, -0.2151481, -0.030868901, 0.25469768, -0.042654943, 0.15871386, -0.12589258, -0.016274497, -0.033228472, 0.17153168, 0.04850832, 0.3116558, 0.07950622, 0.16695933, -0.25321132, -0.32425934) * g_6; + result += mat4(-0.17190868, -0.08966977, 0.0064142062, 0.2417195, -0.28092504, -0.06055805, 0.24716014, -0.020504756, -0.030874953, -0.048863903, -0.043293115, 0.02698432, 0.079950914, -0.055653498, 0.034776926, 0.064640135) * g_7; + result += mat4(-0.13084945, 0.06205162, -0.13606736, 0.39602286, -0.0030491774, -0.02476442, 0.0069150706, -0.026167216, 0.032697376, -0.030357588, 0.25825238, -0.07841919, -0.17723657, -0.06571916, -0.079561666, -0.009374618) * g_8; + result += mat4(-0.24869454, -0.20812686, 0.21540813, -0.06763655, 0.08248998, 0.09615888, 0.01718324, 0.21635905, 0.20144391, -0.07219777, 0.098456375, -0.3403119, 0.13258833, -0.13171546, 0.09525975, -0.048105728) * g_9; + result += mat4(0.22724295, -0.08324391, 0.0316843, 0.0060743215, 0.010268236, -0.17710914, -0.26217553, 0.052261468, -0.0564278, 0.118447, -0.221497, -0.004723381, -0.082461685, -0.06658231, -0.05635201, -0.16272539) * g_10; + result += mat4(-0.19052428, 0.087694265, 0.10222324, 0.11315066, 0.11910176, 0.11697917, 0.093398556, 0.28112432, 0.030032964, -0.0145031605, -0.30618244, 0.058343805, 0.29364142, 0.4507355, -0.012588871, -0.04779493) * g_11; + result += mat4(-0.30753234, -0.16848947, -0.027776828, 0.04406865, 0.24091373, 0.30855393, -0.14061853, -0.1889476, -0.013829834, -0.265403, -0.27854362, 0.20213468, -0.012963777, -0.01078832, -0.07769813, -0.21151513) * g_12; + result += mat4(0.26133433, 0.17727493, -0.109125234, 0.08433557, 0.072260365, 0.2561018, 0.090859175, -0.07598044, 0.1457562, -0.025295084, -0.021166144, 0.045864385, 0.039569605, 0.20864639, 0.02609065, 0.26301143) * g_13; + result += mat4(-0.13943508, -0.13203211, 0.35905635, 0.27272087, 0.18303953, 0.012707511, 0.088180274, -0.14280272, -0.23073225, -0.13123025, -0.0930568, 0.074749425, 0.22671546, -0.22136143, -0.029851126, 0.12233923) * g_14; + result += mat4(0.12482134, -0.10828533, -0.079140544, -0.2453333, -0.090807475, 0.0063584484, 0.1211467, 0.062918566, 0.14158563, 0.04865186, -0.047368318, 0.16969171, 0.05705982, -0.06532511, 0.039894924, -0.2492887) * g_15; + result += mat4(0.045366418, -0.11773512, 0.3228948, 0.03694021, 0.08063588, 0.15884815, -0.20808393, -0.053136192, 0.12179582, -0.008855191, -0.09951698, 0.052134108, -0.23938279, -0.12222782, -0.12329915, -0.2170608) * g_16; + result += mat4(-0.18194616, 0.10244923, 0.05732402, 0.10120477, 0.118554674, 0.006850547, -0.026597708, -0.19694051, -0.040258426, 0.3326919, 0.27358428, -0.22072372, -0.4095388, 0.15311103, 0.14642514, 0.4488546) * g_17; + result += vec4(0.048863593, 0.012109077, -0.016607719, 0.037871145); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_12_tf3 +//!SAVE conv2d_14_tf +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_12_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_12_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.13730694, 0.09572443, -0.16228959, 0.0539934, 0.015976029, -0.020617478, -0.031389967, 0.086105354, -0.02737102, -0.009822752, 0.079854555, 0.021560928, 0.021912804, -0.05518721, -0.055796772, -0.13649039) * go_0(-1.0, -1.0); + result += mat4(0.16258714, -0.1714513, -0.02435225, 0.061715234, 0.075829744, -0.0935106, 0.051781043, 0.027690506, 0.09556227, 0.1269502, 0.1137493, 0.13980514, -0.018691815, 0.075835496, -0.13254827, 0.007191193) * go_0(-1.0, 0.0); + result += mat4(0.08184935, -0.086010106, 0.048796415, 0.015115541, 0.035149876, 0.053475354, 0.12256089, 0.06159943, 0.08541651, 0.0065930625, -0.04444402, -0.06579454, 0.16545528, 0.07714567, -0.07318036, -0.0410161) * go_0(-1.0, 1.0); + result += mat4(0.052661866, -0.06528621, -0.033377446, 0.03374355, -0.10203855, 0.027142841, -0.009596358, 0.033278905, 0.14031664, 0.12529425, 0.0447338, -0.37799904, -0.18007077, -0.031899042, -0.028458513, 0.0036119984) * go_0(0.0, -1.0); + result += mat4(0.019022847, -0.07892097, 0.028167801, -0.03970351, 0.15201952, -0.082866214, -0.07775842, -0.0092036445, 0.0375805, -0.07498207, -0.10523698, -0.07382711, 0.060292613, -0.14215495, -0.0460591, 0.07628205) * go_0(0.0, 0.0); + result += mat4(0.039698813, 0.043937914, 0.05321076, 0.07739694, 0.06098655, 0.06888494, -0.07167099, -0.052405626, 0.05308723, -0.18511309, 0.09709155, -0.02147648, 0.11734863, 0.007313008, -0.09469101, 0.076938465) * go_0(0.0, 1.0); + result += mat4(0.006754393, -0.0482479, -0.08238743, 0.06375976, 0.04045994, -0.019509573, 0.18255574, 0.09500812, -0.04551239, 0.10516026, 0.1547579, 0.08199154, -0.10011012, -0.10849286, -0.10245379, -0.1411837) * go_0(1.0, -1.0); + result += mat4(0.15574688, 0.10194304, 0.1370253, 0.122291274, 0.06903438, 0.028846793, -0.036889754, 0.14082685, 0.0746532, -0.085606076, 0.04378959, 0.04567366, 0.13036871, 0.017091148, 0.0860928, 0.049529802) * go_0(1.0, 0.0); + result += mat4(-0.0019084985, -0.030891823, -0.11242672, -0.0028197083, 0.1089532, -0.036664832, -0.08357979, -0.04067862, -0.018984286, -0.08164459, 0.09161135, 0.025528084, -0.024401465, 0.053186838, -0.13926849, -0.09147531) * go_0(1.0, 1.0); + result += mat4(0.030601272, 0.020320972, 0.11978473, 0.021981956, 0.0066586067, 0.010468703, 0.08935148, -0.02064418, -0.051966265, 0.13076556, 0.114875935, -0.13965933, -0.06370764, -0.02479983, -0.040174097, -0.051495917) * go_1(-1.0, -1.0); + result += mat4(-0.06858974, -0.1011349, 0.05012081, -0.09389995, 0.18634044, -0.02636947, 0.29009673, -0.20761599, -0.18480374, 0.18764408, -0.03863296, -0.001258129, -0.20276432, -0.22974198, -0.011534593, 0.053845435) * go_1(-1.0, 0.0); + result += mat4(-0.011961684, -0.0027767534, 0.15667303, 0.014906583, 0.08829907, 0.13073516, 0.12739272, -0.14619562, -0.05524262, -0.044016067, 0.056112796, -0.11271024, -0.15298633, -0.07068307, 0.15127258, -0.059431132) * go_1(-1.0, 1.0); + result += mat4(0.0035851684, 0.048734687, 0.058004834, -0.25574937, -0.05717012, 0.027982244, -0.036910195, 0.07176039, -0.1437177, 0.15508057, 0.055488504, 0.08993959, -0.21916981, -0.09351557, 0.059080753, 0.059446696) * go_1(0.0, -1.0); + result += mat4(0.121534444, 0.05071775, 0.25775218, 0.100448884, -0.0609293, -0.0032914479, -0.012675448, -0.03919934, -0.048212145, 0.15936059, 0.07263143, -0.15671557, -0.029125307, 0.056486927, 0.09249241, -0.049256064) * go_1(0.0, 0.0); + result += mat4(0.13813132, 0.1061218, 0.13439661, 0.013360326, 0.20840476, 0.033466756, -0.02981596, -0.16605316, 0.21835527, 0.20860583, -0.08051366, -0.048786163, -0.15034862, 0.031393945, -0.12630752, 0.03662063) * go_1(0.0, 1.0); + result += mat4(0.20240387, 0.11153365, -0.10545571, 0.20638049, -0.030318, -0.013820859, -0.15446675, -0.117573425, 0.020086143, 0.17280579, -0.14882061, 0.054609608, -0.06867725, 0.005472737, -0.001194474, 0.053710196) * go_1(1.0, -1.0); + result += mat4(-0.078191735, 0.19296291, 0.094308026, 0.13090765, -0.08120196, -0.025820611, -0.06864976, -0.1892419, 0.04313153, 0.05904389, -0.0666416, -0.0647475, -0.20729442, -0.20761089, 0.12242998, 0.03860268) * go_1(1.0, 0.0); + result += mat4(0.3584512, 0.033826537, 0.054210454, 0.0789943, 0.008851024, 0.09464614, -0.12718089, 0.11983708, 0.1720017, -0.020153422, -0.016108112, -0.022643095, -0.112861484, -0.14127043, 0.062141683, 0.039889514) * go_1(1.0, 1.0); + result += mat4(0.0535196, -0.03970797, 0.03354509, -0.117369846, -0.14703709, -0.012058039, -0.07475193, -0.06776651, 0.059161127, 0.012486282, 0.28265083, 0.006532838, -0.18549983, 0.008657684, -0.074575126, 0.13438265) * go_2(-1.0, -1.0); + result += mat4(-0.039811708, 0.12738322, 0.18482146, 0.021987366, -0.007785863, -0.103660956, -0.25238964, 0.1722417, 0.11030613, -0.013517135, 0.080717966, 0.09645111, 0.02491521, -0.06768416, 0.07801766, -0.0083899405) * go_2(-1.0, 0.0); + result += mat4(0.02637314, -0.02295658, 0.009299312, 0.04080987, 0.009788877, -0.06768737, -0.09209687, -0.0064441212, 0.17683631, 0.11308535, 0.120473646, -0.043513045, -0.012239015, -0.11771954, 0.041769065, -0.035535622) * go_2(-1.0, 1.0); + result += mat4(-0.02476574, 0.0006269701, 0.031228809, -0.114411384, -0.06647686, 0.044763204, 0.0125348745, 0.06740366, -0.13100466, -0.14606014, 0.05104513, 0.08999373, 0.047833115, -0.027034575, 0.17426285, 0.15505366) * go_2(0.0, -1.0); + result += mat4(-0.04584108, 0.026565347, -0.17377949, 0.09393312, 0.24355736, -0.070104554, 0.14847255, 0.03672425, -0.025585584, -0.24469705, 0.18408243, 0.3059801, 0.066561416, 0.05520613, 0.051541686, -0.009497027) * go_2(0.0, 0.0); + result += mat4(0.09706289, 0.1355479, -0.10922811, 0.040889144, -0.1304492, -0.1115297, -0.050781623, 0.13141242, 0.20192824, 0.21923521, 0.2232753, -0.04984208, -0.07344629, -0.048347905, -0.06926673, 0.00018091204) * go_2(0.0, 1.0); + result += mat4(0.12485469, 0.052772295, -0.11423363, -0.09852666, 0.0133323725, 0.014865848, -0.09087173, -0.0148057, 0.006184697, -0.1351809, 0.20683081, 0.19722891, 0.016914789, -0.047588933, 0.10100042, 0.009027416) * go_2(1.0, -1.0); + result += mat4(-0.05893103, -0.037235342, -0.10422848, 0.10374478, -0.08594368, 0.14460947, 0.05852035, -0.11371309, 0.024052324, -0.16274521, 0.04695501, 0.24024189, 0.04611697, -0.04172007, -0.14143556, 0.0947182) * go_2(1.0, 0.0); + result += mat4(0.029644629, 0.047125343, 0.043564074, 0.029975709, -0.20870477, -0.054786757, -0.06884723, 0.072272494, 0.15565543, -0.1053078, -0.058403894, 0.16519445, -0.0603395, 0.009007387, -0.11781728, 0.15130705) * go_2(1.0, 1.0); + result += mat4(-0.042338666, -0.12772329, 0.051055513, -0.06525264, -0.0040495084, -0.09565801, 0.07052012, -0.08048783, -0.08279771, -0.08353822, -0.04170163, 0.050944712, -0.039810754, -0.061679646, -0.1736554, -0.18661833) * go_3(-1.0, -1.0); + result += mat4(-0.1809492, -0.086604275, -0.004732337, 2.8006345e-05, 0.12348477, -0.18016535, 0.06667517, 0.15141962, 0.074052304, -0.0010897494, 0.02608532, -0.084111795, 0.19251096, -0.11398725, -0.10063286, -0.22106121) * go_3(-1.0, 0.0); + result += mat4(-0.25605115, -0.15571332, -0.1340056, -0.08346116, 0.09454819, -0.030701093, 0.10532109, -0.12843955, -0.12315552, 0.08900104, 0.01561725, -0.12959191, 0.09758207, -0.112124294, 0.06608123, 0.028534982) * go_3(-1.0, 1.0); + result += mat4(0.11170476, -0.0630822, -0.038899932, 0.1342047, -0.021606628, -0.062111627, 0.051371798, -0.08569797, -0.15001743, -0.05062917, -0.17575061, -0.084941536, -0.116146035, -0.15812515, -0.17216232, -0.22350411) * go_3(0.0, -1.0); + result += mat4(0.06449703, -0.22082505, -0.16758165, -0.09813526, 0.13100046, 0.011371541, -0.096522264, -0.100944474, 0.043882452, -0.05947248, 0.009845581, 0.17306656, 0.0756555, -0.21856773, 0.09360379, 0.064962044) * go_3(0.0, 0.0); + result += mat4(0.10466668, -0.25351757, -0.030175129, -0.07844458, 0.047858343, 0.02165889, 0.17470923, 0.113614105, -0.09934851, 0.085113294, -0.093170576, 0.12370991, 0.0032511167, 0.067286566, -0.0058747306, -0.014485702) * go_3(0.0, 1.0); + result += mat4(-0.029907176, 0.060396403, -0.103236124, 0.2610491, -0.053192623, 0.1007005, -0.18771408, 0.1928706, 0.067260295, -0.009832933, -0.009121694, -0.054794073, 0.111395195, -3.396428e-05, -0.016206376, -0.061671183) * go_3(1.0, -1.0); + result += mat4(0.053124864, 0.07192942, 0.059849158, 0.081840195, -0.05420444, -0.0019643765, 0.04362153, 0.14748906, 0.0506163, 0.013644277, -0.16886376, -0.006343483, -0.018263722, 0.052267574, 0.059044275, -0.082981944) * go_3(1.0, 0.0); + result += mat4(0.13965447, -0.13021067, 0.04670164, 0.086573035, 0.025060145, -0.037466228, -0.04684806, -0.10827496, -0.047038436, -0.0039735837, -0.0730053, -0.016094094, -0.07558495, -0.035218224, 0.08817588, -0.042479306) * go_3(1.0, 1.0); + result += mat4(-0.008962302, 0.04630662, 0.018500257, -0.087029375, 0.11477668, 0.10218926, 0.024974326, -0.08728321, -0.12020556, 0.15970382, 0.21653348, 0.10660835, 0.2738671, 0.0997252, -0.108846664, -0.04685405) * go_4(-1.0, -1.0); + result += mat4(-0.022257768, -0.064715914, 0.055771556, 0.010960265, -0.20388158, -0.006702773, -0.10523913, 0.041671757, -0.1278118, 0.056031987, -0.14149639, 0.024696268, -0.08956393, -0.032904375, -0.19515826, 0.07697775) * go_4(-1.0, 0.0); + result += mat4(-0.0051774043, 0.057510026, -0.0022631476, 0.061950665, -0.2055609, -0.06095393, -0.17338821, 0.13429311, 0.116932675, 0.049505264, 0.1167626, -0.13347769, 0.08006289, -0.17509666, 0.14619496, -0.099814855) * go_4(-1.0, 1.0); + result += mat4(0.07875518, 0.029798327, -0.09710777, 0.067920126, 0.03193534, -0.089395255, 0.052021433, 0.15372773, 0.046054084, 0.24912815, -0.025290666, 0.1745077, 0.028125856, -0.042680793, -0.2864328, 0.3608281) * go_4(0.0, -1.0); + result += mat4(0.18727463, -0.15704368, 0.08394469, -0.043886885, 0.08093717, -0.14508902, -0.08175545, -0.012856592, 0.090690896, 0.15311036, 0.09262695, -0.20497702, -0.12629865, 0.16602357, -0.12650378, -0.27009165) * go_4(0.0, 0.0); + result += mat4(-0.026015654, -0.15421996, -0.006285523, 0.084399685, -0.05706165, -0.11809227, 0.20115097, 0.100516826, 0.04193344, 0.12963672, -0.003606976, 0.26124814, -0.03276488, 0.09699929, 0.006967106, -0.21132018) * go_4(0.0, 1.0); + result += mat4(0.13496664, -0.06661801, -0.01474205, -0.16868557, -0.029672602, -0.006720598, -0.117897324, 0.04533316, 0.030741133, 0.1053171, -0.016952176, -0.32376495, 0.070213996, 0.040165827, 0.004966792, -0.2232084) * go_4(1.0, -1.0); + result += mat4(0.09690112, -0.07795268, 0.077351056, 0.0152706485, -0.089807846, -0.015780134, -0.17489035, 0.040249743, 0.21050693, 0.1011979, -0.106833994, -0.051176246, 0.017105445, 0.03109709, -0.038326148, -0.01485861) * go_4(1.0, 0.0); + result += mat4(-0.057408247, 0.06229008, 0.0030242403, 0.039700616, -0.13085157, 0.020828856, 0.16776583, -0.2604126, 0.07311746, 0.31123817, -0.010544573, -0.13669181, -0.03168772, 0.00608244, -0.10768166, 0.1240025) * go_4(1.0, 1.0); + result += mat4(0.038978737, -0.106837034, 0.14167462, 0.041263003, 0.06207514, -0.00715465, -0.02379835, -0.031825457, 0.061413057, 0.0760847, 0.13212702, 0.0336207, -0.13638654, -0.08007447, 0.010262531, -0.0034590475) * go_5(-1.0, -1.0); + result += mat4(-0.08324591, -0.044817638, 0.10628384, 0.061015308, 0.07592109, 0.08827193, -0.08403659, -0.20712458, 0.058871835, -0.11746996, 0.16809036, -0.0395111, -0.106638305, -0.039189354, 0.015224756, 0.015626334) * go_5(-1.0, 0.0); + result += mat4(-0.047755025, -0.040199798, -0.003975084, 0.028568355, 0.19709164, -0.15811369, -0.06603298, 0.01573683, -0.005953187, -0.050047178, -0.060785852, 0.0508898, 0.009161574, -0.04349141, -0.00926554, 0.009818446) * go_5(-1.0, 1.0); + result += mat4(0.11093553, 0.019093536, 0.10260777, 0.055262566, 0.1195068, 0.09863856, -0.18714024, 0.19104338, 0.06376209, -0.034790665, -0.094363205, -0.09618141, -0.0058454727, -0.108213976, 0.12300049, -0.011991122) * go_5(0.0, -1.0); + result += mat4(0.04611049, 0.19236325, 0.08004335, -0.15592095, 0.15835464, 0.036216386, 0.036609154, 0.023461621, -0.120403476, -0.12745048, 0.06265683, -0.01600802, 0.16362222, 0.11878418, 0.11366202, -0.10238857) * go_5(0.0, 0.0); + result += mat4(0.06759989, 0.033161543, -0.10036328, -0.0098760715, 0.038350176, 0.15091336, 0.010098192, -0.13720898, -0.26202145, 0.001311828, -0.024214303, -0.16074173, 0.22281381, 0.13370523, -0.032966968, -0.062518656) * go_5(0.0, 1.0); + result += mat4(0.012291961, -0.068143904, 0.05493764, -0.087144345, 0.073538706, -0.015827144, 0.012285127, -0.07855669, -0.2829798, -0.039494153, 0.23575827, 0.06981807, -0.061576065, -0.1076866, -0.013749979, -0.09326816) * go_5(1.0, -1.0); + result += mat4(0.2558642, -0.10623661, -0.23699932, -0.05788955, -0.05908788, -0.1335758, 0.005269156, 0.0074094567, -0.0876448, 0.08961541, 0.20585236, -0.23521425, 0.13892744, 0.056449905, 0.055848006, -0.059444457) * go_5(1.0, 0.0); + result += mat4(-0.033819564, -0.026836576, -0.10386869, 0.14426531, -0.14975053, -0.005463496, 0.07058732, -0.028187437, 0.1480432, 0.06334134, -0.11467099, -0.023551162, -0.16923405, 0.0879496, 0.038746398, 0.119617105) * go_5(1.0, 1.0); + result += mat4(-0.066057675, -0.05716839, -0.12655802, -0.31106478, -0.05422454, -0.08211238, 0.10340335, 0.094708785, 0.17412704, -0.08796308, 0.032862302, -0.07645405, 0.18197642, 0.11359161, 0.057399232, -0.101643234) * go_6(-1.0, -1.0); + result += mat4(0.032984644, -0.151437, -0.15703787, -0.15147786, -0.06443887, -0.14499481, -0.07964961, -0.10063501, -0.06489532, -0.033841714, 0.13743237, 0.07402381, -0.10539726, 0.04741985, -0.06813811, -0.08186571) * go_6(-1.0, 0.0); + result += mat4(0.04169854, 0.10285583, 0.20537099, 0.4232497, -0.0102178855, -0.07464401, 0.064116195, 0.06713617, -0.10848632, 0.07029541, 0.061891586, 0.09450866, -0.14710844, 0.10902902, 0.078601316, 0.24068502) * go_6(-1.0, 1.0); + result += mat4(-0.17666584, 0.06827289, 0.1803935, -0.21800393, -0.10945116, -0.05033793, 0.043604486, -0.10778255, -0.13906737, -0.1066709, 0.07845706, 0.17276351, -0.31800953, 0.15222964, -0.05974643, 0.24923734) * go_6(0.0, -1.0); + result += mat4(0.09485684, 0.07775303, -0.26359668, -0.26235437, -0.014160949, 0.09610528, 0.032751855, 0.009587253, -0.033312347, -0.054030016, 0.100942805, -0.2810844, -0.31456363, 0.29743198, 0.35422295, 0.19903661) * go_6(0.0, 0.0); + result += mat4(-0.15256523, 0.052043784, -0.114385866, 0.26754585, 0.14714424, -0.044223707, 0.18718323, 0.16299742, 0.009067459, -0.09861915, 0.058909696, 0.053495083, -0.026219709, -0.0371573, 0.12850215, 0.085496284) * go_6(0.0, 1.0); + result += mat4(0.013324529, 0.22692935, -0.110274024, -0.04928268, 0.058278915, -0.003172765, 0.09637179, 0.0031671112, 0.1529764, 0.013240627, -0.047746982, 0.123970434, 0.08522273, 0.044676673, -0.031025682, 0.08779327) * go_6(1.0, -1.0); + result += mat4(0.12727101, 0.08387524, 0.12543088, -0.18653108, 0.11925347, -0.077335745, -0.19534324, -0.036191355, -0.03850302, 0.0028999215, 0.09276233, 0.0901103, 0.015147803, -0.12371782, 0.26163867, 0.2604429) * go_6(1.0, 0.0); + result += mat4(-0.2130723, 0.019236565, -0.15499762, 0.06025093, 0.042726953, 0.0875672, 0.024576176, 0.09540413, 0.21235454, -0.09488397, 0.019722011, 0.1176617, -0.09731747, -0.027660578, -0.1065942, -0.005856232) * go_6(1.0, 1.0); + result += mat4(0.11156219, 0.09702357, -0.035195213, 0.08480061, 0.025406074, -0.13845637, 0.19578338, -0.02658565, 0.094306186, 0.025026903, -0.054557443, -0.02111127, -0.026145646, 0.11951934, -0.023019921, 0.006862455) * go_7(-1.0, -1.0); + result += mat4(-0.017856622, 0.0715022, 0.089152284, 0.23237874, 0.062624305, 0.17638148, 0.10636494, -0.05033142, -0.055300098, 0.13743642, 0.09478692, -0.25387746, -0.04399249, 0.089958854, -0.13650721, 0.11658587) * go_7(-1.0, 0.0); + result += mat4(-0.011758824, 0.08557066, 0.044390026, 0.0022194844, 0.014199994, 0.045136537, -0.095475696, 0.010693854, 0.052194178, -0.032430097, -0.11542995, -0.038783815, -0.13697112, -0.0808607, 0.0048690503, 0.02350201) * go_7(-1.0, 1.0); + result += mat4(0.26391774, -0.06323651, 0.015183379, 0.07485423, -0.017147731, 0.1381914, 0.037845995, -0.104021296, -0.1099861, -0.01835351, -0.15305562, 0.049315173, 0.098395124, -0.04365968, -0.0077367523, -0.059888527) * go_7(0.0, -1.0); + result += mat4(-0.058792043, 0.11672284, -0.06516679, 0.2531902, -0.054773577, 0.051864814, -0.13140003, 0.08435319, 0.017941497, -0.0008525759, 0.02973079, 0.027343648, -0.19903877, -0.11735335, 0.025595637, 0.1632998) * go_7(0.0, 0.0); + result += mat4(0.22285266, 0.06903356, 0.23277758, -0.022075538, -0.066381, 0.087023556, 0.04032252, -0.124985844, -0.09607507, -0.118496284, -0.16543318, -0.005035066, -0.06618295, -0.117022425, 0.06941833, -0.033855513) * go_7(0.0, 1.0); + result += mat4(-0.05111795, -0.046070304, 0.047060743, 0.09478824, 0.025756294, 0.059333634, 0.04922012, 0.094563365, -0.06372419, -0.024169741, -0.12049204, -0.1545189, -0.08127697, 0.01430538, 0.1596365, 0.14503178) * go_7(1.0, -1.0); + result += mat4(0.009547742, -0.0052827215, 0.07463234, 0.09285053, -0.19082169, 0.07953675, 0.07934419, 0.106866054, 0.13285162, 0.033329457, 0.05625213, -0.0009985549, -0.06783011, -0.07779119, 0.036950454, -0.1311533) * go_7(1.0, 0.0); + result += mat4(0.12313845, 0.09518573, -0.005228664, 0.18021671, -0.0023382735, -0.022417013, 0.14969905, -0.0799508, -0.117919005, -0.043378588, -0.13032569, -0.16071445, -0.09841616, 0.010907256, 0.168342, -0.047372725) * go_7(1.0, 1.0); + result += vec4(0.02878389, 0.011853628, 0.04421832, -0.014076957); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_12_tf3 +//!SAVE conv2d_13_tf +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_12_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_12_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.009639149, -0.0038982404, -0.000950235, -0.042617463, -0.18144657, -0.041786347, 0.09120882, 0.0038534713, 0.008700073, -0.08467945, 0.08520402, 0.077761576, -0.039405044, 0.12381529, 0.03898792, 0.04511578) * go_0(-1.0, -1.0); + result += mat4(0.0014207684, 0.07446709, 0.16319937, -0.07770856, -0.09554286, 0.10978643, -0.049450707, 0.064207695, -0.12975316, -0.011036553, 0.087152034, -0.035981875, 0.21567516, -0.013519614, 0.12568897, 0.05585702) * go_0(-1.0, 0.0); + result += mat4(0.2250859, -0.07630085, 0.085674696, 0.08418434, -0.027402846, -0.028869295, -0.074562736, -0.045597237, 0.010643633, -0.12091428, 0.034802727, 0.016727531, 0.06755005, 0.019975858, 0.19802167, -0.09351427) * go_0(-1.0, 1.0); + result += mat4(-0.03201277, 0.050427675, 0.09706081, -0.089708805, 0.046288054, 0.047746085, -0.020521134, -0.016593749, -0.016695522, 0.00024074932, -0.10998622, 0.010020027, 0.026319914, -0.13093436, 0.09340489, -0.011133997) * go_0(0.0, -1.0); + result += mat4(0.06594458, 0.108969614, -0.3391531, 0.15241535, -0.03524658, -0.12494807, 0.07165373, 0.15068692, -0.12112645, 0.035398778, -0.18387815, 0.03840943, 0.10092417, 0.09231077, 0.11415836, -0.09056854) * go_0(0.0, 0.0); + result += mat4(-0.10499352, -0.12734324, -0.15330572, 0.18510772, 0.0120012155, -0.08454591, -0.043570805, 0.08853887, 0.004295982, 0.065011546, 0.064469345, -0.023783352, -0.043566104, 0.027954584, 0.08104736, -0.032231607) * go_0(0.0, 1.0); + result += mat4(0.10343434, 0.032162443, 0.08311337, -0.060843915, 0.04154088, -0.04438331, 0.042682778, -0.12004948, -0.06710734, -0.06452065, 0.031105455, -0.00583183, 0.009057851, -0.049873523, 0.11332005, 0.03758812) * go_0(1.0, -1.0); + result += mat4(0.08962952, -0.056837637, -0.028504362, -0.058604047, -0.09876495, -0.19140477, -0.05717117, -0.2970397, 0.032477252, -0.0597137, -0.02873599, 0.053601198, -0.0019746928, 0.073336996, 0.016864251, 0.10919654) * go_0(1.0, 0.0); + result += mat4(0.18142548, 0.10124668, 0.00368281, -0.23038292, 0.07240071, -0.15039761, -0.010341523, -0.11067377, -0.047206733, -0.031967275, -0.02992342, -0.12399463, 0.014134053, -0.027491156, 0.1586509, -0.011076121) * go_0(1.0, 1.0); + result += mat4(-0.10831383, 0.03130954, 0.11106777, -0.14316523, -0.15185675, -0.091914624, 0.04525621, -0.09765117, 0.0018873657, 0.1467699, -0.15126435, -0.08295151, 0.053585067, 0.03242634, -0.12851547, -0.014847684) * go_1(-1.0, -1.0); + result += mat4(-0.04666656, -0.11540183, -0.0040082233, 0.032173898, -0.006088054, -0.055952623, -0.006328234, -0.020379877, 0.09165287, 0.040902767, -0.1251588, 0.12423666, -0.14924148, 0.12587278, -0.14483361, 0.07241668) * go_1(-1.0, 0.0); + result += mat4(-0.08733716, -0.0038874142, 0.03347875, 0.020994259, -0.1411847, 0.04610875, 0.17974979, 0.07831092, 0.042416275, -0.017010015, -0.043574873, 0.01362277, 0.0150662195, -0.060527198, 0.013415603, 0.09190049) * go_1(-1.0, 1.0); + result += mat4(-0.047956496, -0.21187243, 0.10645179, -0.029983195, -0.05739006, 0.04807922, -0.023896229, 0.20409703, 0.07719372, -0.13761039, 0.043128423, 0.16602203, 0.1391456, 0.14163828, -0.11660084, 0.1721344) * go_1(0.0, -1.0); + result += mat4(-0.08192942, 0.12966244, 0.08534996, 0.004243316, -0.14284796, -0.05193116, -0.115842864, 0.20631583, 0.0077530663, -0.08806305, 0.010341862, 0.093308315, 0.016404482, 0.17783935, -0.012804549, 0.055335052) * go_1(0.0, 0.0); + result += mat4(-0.0864709, 0.14595704, 0.122848816, 0.041808892, -0.011105475, -0.15309574, -0.038991075, -0.018167017, -0.0737871, 0.08204525, 0.12244646, -0.018635223, 0.14988273, 0.080346294, 0.14383334, 0.09073764) * go_1(0.0, 1.0); + result += mat4(-0.10824354, -0.14525421, 0.10709654, 0.057008598, -0.0274041, 0.060830723, -0.019880934, 0.059121948, 0.13224299, -0.0986574, 0.041039772, 0.031663973, 0.10696096, 0.07072492, -0.056812435, -0.03713634) * go_1(1.0, -1.0); + result += mat4(-0.1286229, 0.038206976, 0.2866795, 0.32729703, -0.001265015, -0.050362974, 0.054691862, -0.019820811, 0.015161029, 0.012408566, 0.019214492, -0.043584425, 0.1747071, -0.1806168, 0.0026230705, 0.17746288) * go_1(1.0, 0.0); + result += mat4(-0.14500563, 0.07194882, 0.3341538, 0.29419795, 0.018053567, -0.013366127, 0.13004167, -0.12123059, -0.062439676, -0.06531261, -0.032591254, 0.098543815, 0.15538938, -0.02330424, -0.051805083, 0.14865872) * go_1(1.0, 1.0); + result += mat4(0.022300392, 0.074889585, 0.07658969, 0.04842954, -0.10574494, -0.06770181, -0.0766897, -0.07461142, 0.09686923, 0.00633828, -0.06368929, 0.036549773, 0.023586588, -0.028077459, 0.1585986, 0.011422953) * go_2(-1.0, -1.0); + result += mat4(0.03940578, -0.0339597, 0.10257943, -0.12667413, -0.02898388, 0.07838695, -0.19138049, 0.0014735579, 0.22062407, 0.061582483, -0.13024235, 0.12023966, -0.06983561, -0.011443659, -0.09145462, 0.021667738) * go_2(-1.0, 0.0); + result += mat4(-0.12349507, 0.059815507, -0.046543095, 0.030673595, 0.04561801, 0.14247265, -0.105132155, -0.021296836, -0.021644723, 0.2025441, -0.012284828, 0.047515646, -0.09826343, 0.075690396, 0.13212551, -0.023619266) * go_2(-1.0, 1.0); + result += mat4(-0.14024511, 0.06597363, -0.0336176, 0.036653478, 0.060431093, -0.10295052, 0.085898645, -0.0044551087, 0.079314135, 0.08170928, -0.18242195, 0.029556789, -0.09011537, -0.09237228, -0.026066486, 0.006826721) * go_2(0.0, -1.0); + result += mat4(-0.14503199, 0.03387515, -0.053300664, 0.064943515, -0.020676823, 0.0074872165, -0.018416155, 0.012171563, 0.14327627, -0.13214412, -0.02946512, 0.07235393, -0.10908717, -0.012565086, 0.035278827, 0.17581236) * go_2(0.0, 0.0); + result += mat4(0.00934611, -0.11156072, 0.13832138, 0.15502927, 0.0020792482, 0.02049791, 0.04461106, -0.18925, 0.22086848, -0.06498976, 0.19501008, 0.124619834, 0.15347329, -0.0077355206, 0.0038152216, 0.07109297) * go_2(0.0, 1.0); + result += mat4(-0.041063566, -0.03631559, 0.087020025, -0.12633711, -0.043662015, 0.13777676, -0.100011535, 0.09353299, 0.026900792, 0.026761487, -0.020541789, 0.1791581, -0.09209707, 0.082125105, -0.08652077, 0.07599723) * go_2(1.0, -1.0); + result += mat4(-0.05044385, 0.0059138206, 0.004846873, -0.055986855, 0.035403732, 0.12932262, -0.10948213, 0.059482235, -0.0783685, 0.18257779, -0.014302566, -0.03769118, -0.093388505, -0.029699821, -0.06636151, -0.08418176) * go_2(1.0, 0.0); + result += mat4(-0.04013502, 0.0967123, 0.033448823, 0.093523204, 0.11187449, 0.019631773, -0.105332315, 0.16213791, -0.029868113, -0.1064927, 0.19695841, 0.13877009, -0.047273844, -0.01044426, -0.08446086, -0.0458913) * go_2(1.0, 1.0); + result += mat4(-0.0741451, 0.042197462, -0.08023183, 0.09765462, 0.054821562, 0.08290217, -0.023233455, -0.14262572, -0.15324473, -0.014632389, -0.06739699, 0.15956666, 0.034347642, 0.054041438, -0.07310525, 0.0035158119) * go_3(-1.0, -1.0); + result += mat4(0.08562873, 0.0022956019, 0.011018242, 0.027326696, 0.09330304, -0.039874583, 0.024133299, -0.08445561, 0.019993046, -0.063240565, -0.054243866, 0.124074, -0.074563324, -0.1390738, 0.0820039, -0.23211582) * go_3(-1.0, 0.0); + result += mat4(0.078051165, -0.12620433, -0.03478548, 0.09409214, 0.1526626, -0.041634113, 0.2237483, -0.15523861, 0.07555192, 0.034417253, -0.12693669, 0.018821344, -0.036353048, -0.013764508, 0.100658715, -0.020644104) * go_3(-1.0, 1.0); + result += mat4(0.011323663, 0.07608287, 0.00851126, 0.09341987, -0.029945532, 0.10300047, 0.0074313437, -0.19487564, 0.0011054972, -0.15525223, 0.21401389, -0.10354629, -0.04318926, 0.12821019, 0.032365642, 0.032030214) * go_3(0.0, -1.0); + result += mat4(0.007591815, 0.012629317, -0.19445145, -0.08644862, -0.030899128, -0.010336647, 0.06901035, 0.053609345, -0.13558851, 0.055843044, -0.19542934, 0.27220258, -0.10258334, 0.08873226, 0.100590244, -0.13569663) * go_3(0.0, 0.0); + result += mat4(0.047885086, 0.01407929, -0.05241635, -0.07852867, 0.034674972, 0.10237697, -0.080549136, -0.15041627, -0.025430735, 0.0479369, 0.037376665, 0.025655257, -0.0355407, 0.050879892, -0.07782001, -0.032121796) * go_3(0.0, 1.0); + result += mat4(0.18598914, 0.17488232, 0.04308569, -0.113249674, 0.18825708, -0.025347264, -0.03777555, 0.055674437, -0.050593246, -0.07975001, 0.06947618, 0.007018156, -0.014732591, -0.079240546, 0.10789699, -0.19743954) * go_3(1.0, -1.0); + result += mat4(-0.038231947, 0.016942957, 0.028590739, -0.090752594, 0.038188618, 0.021015111, 0.016965266, -0.03435059, -0.01212547, 0.015248877, 0.11611426, 0.123496845, -0.04629721, 0.06697021, -0.19438337, 0.05686309) * go_3(1.0, 0.0); + result += mat4(-0.05551822, -0.008124752, 0.05373102, 0.08483395, -0.0006295456, -0.102434106, -0.059557695, 0.0052035716, -0.008159529, -0.12018468, -0.019952172, -0.08871863, 0.024393221, 0.012160636, 0.00085074763, -0.031381) * go_3(1.0, 1.0); + result += mat4(0.052483644, -0.10067336, 0.007827775, 0.04217924, 0.05370174, 0.053045593, -0.021322401, -0.057574254, -0.15052581, -0.054354582, 0.010731893, -0.084049575, 0.08664663, 0.008586996, -0.067191415, -0.013433542) * go_4(-1.0, -1.0); + result += mat4(-0.07656686, -0.026798321, -0.0035791546, 0.1813216, 0.12657459, -0.08586928, -0.14434212, 0.100000456, -0.17489576, -0.059281647, -0.16410424, 0.07507215, -0.17735171, -0.15760069, -0.029753244, 0.06384127) * go_4(-1.0, 0.0); + result += mat4(-0.0826688, 0.09742932, 0.034533966, -0.0460573, -0.11716473, 0.03802808, 0.12547252, 0.08928232, -0.14233275, -0.012195422, -0.02531116, 0.043976627, -0.06876278, -0.0810813, 0.18094346, -0.023339571) * go_4(-1.0, 1.0); + result += mat4(-0.005550866, -0.14349146, -0.12596409, -0.044651084, 0.087609954, -0.12565547, -0.22447549, 0.09360963, -0.02317106, -0.0005260532, 0.085363105, -0.09604336, 0.09518486, 0.018432705, -0.18793124, 0.07429292) * go_4(0.0, -1.0); + result += mat4(-0.104204915, -0.051323626, 0.06698747, 0.041701533, -0.15290372, 0.021271959, 0.091065526, -0.08150357, -0.018144151, -0.152379, 0.03481493, 0.07758276, 0.048658404, 0.018046448, 0.07488417, 0.224359) * go_4(0.0, 0.0); + result += mat4(0.089659564, -0.087014616, -0.04502746, -0.037926767, -0.10490111, 0.08001486, 0.1122022, -0.17835194, 0.04582323, 0.09560471, -0.20311408, -0.09920451, -0.07066689, 0.05220927, -0.005073715, -0.11543198) * go_4(0.0, 1.0); + result += mat4(-0.020940287, -0.08553711, 0.02721499, 0.06101611, 0.038569175, 0.03166766, -0.16536324, -0.040709663, -0.24566115, 0.03939649, 0.13328575, 0.103327386, -0.085061535, -0.23112987, 0.023643477, 0.053550832) * go_4(1.0, -1.0); + result += mat4(-0.07766694, -0.02958393, -0.10941775, -0.029797763, -0.09903559, 0.06466456, -0.0037769163, 0.12833694, -0.14952287, -0.09172456, -0.026234943, 0.09768058, -0.0046768547, 0.05787786, -0.020349951, -0.22735849) * go_4(1.0, 0.0); + result += mat4(0.103295185, 0.07010887, 0.06500701, -0.121797815, 0.06688264, 0.045738444, -0.006048553, 0.070973165, 0.038500775, -0.06096765, -0.02083498, -0.02247928, 0.079471394, 0.17344089, -0.03399603, -0.061526738) * go_4(1.0, 1.0); + result += mat4(-0.07608997, -0.07450355, -0.007454942, -0.028890591, 0.11185288, 0.003963864, -0.021245597, -0.02870811, 0.15497267, -0.1021612, -0.006275503, 0.059440117, -0.01191032, -0.015024686, -0.04264744, 0.03784974) * go_5(-1.0, -1.0); + result += mat4(-0.04255224, -0.041475482, 0.05568204, 0.050781105, -0.052326836, -0.00050962373, -0.070848726, -0.05095658, 0.09177018, -0.0071918922, 0.0076208673, -0.16307355, 0.26428407, 0.029546542, -0.038873114, 0.049068365) * go_5(-1.0, 0.0); + result += mat4(0.08395406, -0.09043276, -0.061525855, -0.05533077, -0.02462208, 0.10786481, -0.030796457, -0.094646156, 0.022507463, 0.13190217, 0.15948486, -0.07191217, 0.07654077, -0.016571704, -0.10635289, -0.12771434) * go_5(-1.0, 1.0); + result += mat4(0.20890597, 0.042703193, 0.11934406, -0.068621606, 0.19478202, -0.22793923, -0.08700698, -0.051709924, -0.12904456, -0.036816675, -0.13506871, -0.1441102, 0.18136409, -0.04663707, 0.023695884, 0.10738338) * go_5(0.0, -1.0); + result += mat4(-0.0077736047, -0.050436057, 0.052196283, 0.021431614, 0.09436767, -0.15021068, 0.012207774, -0.11543215, 0.03382365, 0.08989429, -0.1512068, 0.014381187, 0.15813205, -0.0106526185, 0.069779254, -0.047933288) * go_5(0.0, 0.0); + result += mat4(-0.040429626, -0.09228546, 0.067300335, -0.050324153, -0.12237185, -0.005077286, 0.10356324, 0.08864007, 0.14282528, 0.00388525, 0.041097626, -0.00031747436, -0.07723348, 0.053238407, 0.029446052, -0.08864969) * go_5(0.0, 1.0); + result += mat4(0.023686264, 0.08331933, -0.039449427, -0.014959959, 0.14075331, -0.015477129, -0.14249621, -0.03923339, -0.15062886, 0.09447539, -0.047904875, -0.048168503, 0.004206913, -0.047516745, -0.08620613, 0.11478539) * go_5(1.0, -1.0); + result += mat4(-0.15785892, 0.0016641589, 0.054308683, 0.078738764, 0.03644378, -0.043989647, -0.23225886, -0.028951952, 0.12305073, 0.034319617, 0.063887954, 0.30429685, -0.0674872, -0.014318411, -0.075369544, -0.10330481) * go_5(1.0, 0.0); + result += mat4(0.05397921, 0.00084955874, 0.045667082, -0.05417764, -0.021353342, 0.046038885, -0.058720488, -0.1322894, -0.03535338, -0.06338738, 0.03697614, 0.19055063, 0.10346999, 0.019249164, -0.063068286, 0.05991159) * go_5(1.0, 1.0); + result += mat4(-0.16993704, -0.121817954, -0.068771094, -0.093197905, 0.023346378, 0.04720914, -0.012925106, 0.052896366, 0.035280302, 0.08439714, 0.09756478, -0.0689576, 0.014461433, 0.36325473, 0.0059230574, 0.119897366) * go_6(-1.0, -1.0); + result += mat4(-0.061328445, -0.084383406, 0.140687, -0.052830886, -0.19621404, 0.049339704, 0.097477786, 0.040443562, 0.02491262, 0.08539904, 0.0037707782, -0.10327091, -0.18353617, 0.12956996, 0.07299752, 0.03221227) * go_6(-1.0, 0.0); + result += mat4(0.099849336, -0.0030822768, 0.09948366, -0.09262815, 0.005154421, 0.017867574, 0.04436232, -0.11582937, 0.12381722, 0.008043948, 0.018097827, -0.01493066, 0.19907461, 0.07169137, -0.10570496, -0.023753323) * go_6(-1.0, 1.0); + result += mat4(-0.13449772, -0.08731747, 0.007594631, 0.047381114, -0.08820047, 0.03528644, 0.018318443, 0.10107897, -0.06938975, -0.046471428, -0.020976078, 0.03441364, 0.040995363, 0.076138265, 0.17306629, -0.15272485) * go_6(0.0, -1.0); + result += mat4(-0.040097646, -0.19255275, 0.11918789, -0.10042692, 0.066699795, -0.21395916, -0.19686851, -0.03610402, -0.15390179, 0.095026605, 0.10847023, 0.09153435, 0.092816375, 0.39089674, -0.07198312, -0.07213701) * go_6(0.0, 0.0); + result += mat4(0.18701003, 0.20726307, -0.06296938, 0.046546813, 0.10833181, -0.010530105, 0.10806227, 0.025746476, 0.007955516, 0.035664618, -0.10563672, 0.07682432, 0.06649218, -0.048704594, 0.029186353, 0.17028451) * go_6(0.0, 1.0); + result += mat4(-0.016500747, -0.05593024, -0.040827576, 0.043642387, -0.017343521, -0.014898818, 0.012727514, -0.061562564, -0.004637191, -0.03331617, 0.020227065, -0.03502501, 0.023354309, -0.2833901, 0.24159743, 0.15924545) * go_6(1.0, -1.0); + result += mat4(0.045860395, -0.085586816, 0.14444515, -0.14926824, 0.036471445, -0.08628815, -0.040382892, -0.09526737, 0.02248159, 0.08855503, 0.04053488, -0.0646117, -0.08404396, -0.018245775, 0.14743677, -0.08093212) * go_6(1.0, 0.0); + result += mat4(0.19665717, -0.063776046, -0.07914273, -0.101823136, 0.074716374, -0.0081710825, -0.072673425, -0.023794344, -0.045717727, -0.0072561842, 0.00880925, 0.10889137, 0.28553, 0.041376498, 0.10031953, -0.053196393) * go_6(1.0, 1.0); + result += mat4(0.058159113, -0.016123742, -0.040074885, -0.038218047, 0.002453882, -0.04483796, 0.0026933532, -0.018928505, 0.090848856, -0.052964754, 0.103885755, 0.08822124, -0.007740776, -0.008643374, 0.04387468, -0.0057572736) * go_7(-1.0, -1.0); + result += mat4(-0.0084681, 0.05910616, -0.001957422, -0.09665248, 0.012324636, 0.102279514, 0.06271529, -0.00034822398, 0.12200529, 0.1406025, 0.11727222, -0.0012732374, 0.039069153, -0.116325095, -0.061304893, 0.08860798) * go_7(-1.0, 0.0); + result += mat4(-0.010817937, 0.05053197, 0.07127862, 0.071622476, -0.08677775, -0.07592008, -0.083137125, 0.07795782, -0.09153038, -0.051893257, -0.01434632, -0.006406496, -0.07038631, 0.011519815, 0.003298223, -0.018880721) * go_7(-1.0, 1.0); + result += mat4(0.108540215, -0.11548324, -0.025263477, -0.09077007, -0.12751491, -0.045055117, -0.07248591, 0.017866008, 0.03721452, 0.022656098, 0.101389855, 0.17055717, -0.058076404, -0.040419124, -0.11432533, -0.037566364) * go_7(0.0, -1.0); + result += mat4(0.09876384, 0.12987193, 0.12171421, 0.014026945, 0.10515426, 0.028641013, -0.031601854, 0.030440113, 0.049359053, -0.08800547, 0.0854042, 0.018510768, 0.14893699, 0.05856994, 0.049679566, -0.1422863) * go_7(0.0, 0.0); + result += mat4(-0.024617737, -0.048034295, 0.041004565, 0.16694058, -0.087675445, -0.13464865, 0.020481937, 0.13655907, 0.023696382, 0.057758246, 0.08800533, -0.07602074, 0.038965706, -0.010369045, -0.048242304, -0.037163552) * go_7(0.0, 1.0); + result += mat4(-0.055520747, -0.050512962, -0.0811104, 0.12796733, 0.03975134, 0.008006016, 0.051304568, -0.028837964, 0.040738724, -0.041288063, 0.096619, 0.0035735967, 0.0017250563, 0.16457585, -0.06661859, 0.003944026) * go_7(1.0, -1.0); + result += mat4(-0.020751026, -0.027768351, 0.1756595, 0.07444893, 0.059397127, 0.15285788, 0.078808025, -0.059350044, -0.019066172, 0.013111508, 0.04378732, -0.12025232, 0.030088948, 0.07998034, 0.06673197, 0.21354596) * go_7(1.0, 0.0); + result += mat4(-0.13661024, -0.017206049, 0.001673235, -0.053352535, -0.09720139, -0.010726428, -0.06063081, -0.012507998, 0.0019330509, 0.030889131, 0.0007580833, 0.11350111, -0.033315495, -0.097962864, -0.056640666, 0.06880053) * go_7(1.0, 1.0); + result += vec4(-0.050349966, 0.007465336, 0.0047519095, 0.03447193); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x80 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_12_tf3 +//!BIND conv2d_14_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv2d_15_tf +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.113152556, -0.17597556, -0.20193578, -0.16201825, -0.08261954, -0.09107908, 0.044691782, 0.096718885, -0.092856266, -0.32485804, 0.15855914, 0.107594654, -0.049829155, -0.39206952, -0.17158785, -0.23730572) * g_0; + result += mat4(-0.071358085, 0.05543187, 0.22816211, -0.15256211, 0.001002783, -0.097697146, 0.1485318, 0.3147081, -0.015470234, 0.1159168, -0.087412134, 0.025953531, 0.10858151, 0.04679302, 0.0035066542, 0.080319606) * g_1; + result += mat4(-0.093644544, 0.15760094, 0.13644949, 0.15050913, 0.010754489, 0.21110971, 0.11982236, -0.027942248, 0.07777082, -0.05871466, 0.18935864, 0.26278642, -0.17607118, -0.24569197, -0.17914876, 0.011594047) * g_2; + result += mat4(0.07215027, 0.07955528, -0.1192735, -0.24221008, -0.16430855, 0.31650412, -0.23902535, -0.14772269, -0.18149576, 0.1425237, 0.19313167, -0.25584412, -0.116279155, -0.0810948, -0.06305671, 0.31891116) * g_3; + result += mat4(0.06337334, -0.0032687138, -0.035707716, -0.28104553, 0.12251401, 0.14867608, -0.28116974, -0.2499687, 0.16777486, 0.27506724, 0.1349104, 0.21004717, 0.2722905, -0.10366932, -0.089448065, 0.054238733) * g_4; + result += mat4(0.2623722, -0.06399301, 0.26491323, 0.09354902, -0.15800871, 0.11810623, 0.01566208, -0.026193254, -0.22059508, -0.09398052, -0.15558046, 0.1636607, -0.24724618, -0.025115723, -0.03819038, -0.089232855) * g_5; + result += mat4(-0.049244456, -0.2812487, -0.15883873, -0.1873005, -0.12443533, 0.26619563, 0.006807127, -0.18589701, -0.23903847, -0.04840708, -0.19155607, -0.3244167, 0.029380817, -0.073488645, 0.04205761, 0.12826183) * g_6; + result += mat4(0.060077637, 0.21867147, -0.08562434, 0.12142833, -0.103506744, 0.015023599, -0.012361518, 0.39705324, 0.20116816, -0.1352389, -0.08270523, 0.08666531, 0.03978398, 0.012456996, 0.16741525, -0.03339209) * g_7; + result += mat4(0.27487412, -0.2183994, -0.22064212, -0.18507382, 0.09653221, -0.31412682, -0.020428544, 0.15572692, -0.1708959, -0.09906218, -0.24475281, -0.07649422, -0.06725418, -0.1632794, -0.042570926, 0.15362686) * g_8; + result += mat4(0.25352266, 0.078569, -0.06491825, 0.0024975773, -0.2520004, -0.14971292, 0.2396663, -0.10596094, -0.16498, -0.1615543, 0.03212853, 0.022647707, 0.11449023, -0.12597407, -0.3845188, -0.6042289) * g_9; + result += mat4(-0.09472388, 0.09383272, -0.113919444, 0.06324396, -0.18574698, -0.017954197, 0.102970116, -0.036133416, -0.14566462, 0.106732786, -0.1981579, 0.08657682, 0.023193007, -0.26844215, -0.044777893, 0.1802785) * g_10; + result += mat4(0.11824268, 0.060186915, -0.09982153, 0.054944858, -0.06390667, -0.12343378, 0.06823325, -0.05481055, -0.160094, -0.041776497, -0.093563, -0.18349311, -0.014049265, 0.24608798, -0.022140604, -0.14207092) * g_11; + result += mat4(0.13720459, 0.07687791, -0.060669206, 0.11711911, -0.19655584, -0.008325822, 0.28701362, -0.03874219, -0.080647625, 0.08374782, 0.08991399, 0.1254085, -0.06939809, 0.10815167, -0.07602521, 0.003993563) * g_12; + result += mat4(0.050552983, 0.3398467, 0.21439157, 0.07090537, 0.003626732, -0.013387389, -0.16702957, -0.023790954, -0.22492494, -0.17196465, 0.020361913, 0.028113617, 0.08070967, 0.06335804, 0.1024209, -0.07302465) * g_13; + result += mat4(-0.06452998, -0.19448164, 0.068943985, 0.26658177, 0.03672322, -0.042712092, -0.14239077, 0.026480686, -0.0026813857, 0.07805945, 0.10659483, 0.25577578, 0.14431271, 0.26420194, -0.057292048, 0.14447866) * g_14; + result += mat4(0.17443675, -0.10127553, -0.08078197, -0.13357292, 0.080379255, -0.0743335, 0.15775783, 0.042903706, -0.2730787, 0.0143810455, -0.100053966, 0.04868161, -0.17388023, -0.27480134, 0.17716847, 0.09831684) * g_15; + result += mat4(-0.009394652, 0.05770814, 0.12612171, -0.07125733, 0.039110083, 0.18584593, 0.34637934, 0.1997804, -0.034237277, -0.2637098, -0.2565544, 0.18495636, 0.16258357, 0.051936973, -0.2022921, 0.025638767) * g_16; + result += mat4(0.0264838, 0.34137276, 0.05243436, 0.0092191165, -0.22356755, -0.06718224, -0.07905385, -0.10482739, 0.26888105, -0.0944922, 0.11656137, -0.025189193, -0.21240412, -0.0740068, 0.3606278, 0.117385626) * g_17; + result += mat4(0.24394973, -0.33353502, -0.20044908, -0.047943193, 0.26528633, 0.18467769, -0.118773505, 0.19762191, 0.008643024, 0.27267835, 0.110893816, -0.097346835, 0.35045865, 0.27740118, 0.12889476, -0.013060394) * g_18; + result += mat4(-0.0465528, 0.05087261, -0.12176598, -0.26143193, -0.012329495, 0.12112426, -0.25950795, -0.06628347, -0.18653181, -0.003041955, -0.093980595, 0.10332955, -0.29503638, -0.011706522, -0.37699062, 0.18755646) * g_19; + result += vec4(-0.015548932, 0.0007181281, 0.032181147, 0.046147745); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x80 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_12_tf3 +//!BIND conv2d_14_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv2d_15_tf1 +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.06566936, 0.050075732, -0.28377536, -0.008723959, -0.15360966, 0.017306754, 0.14521429, -0.3126355, -0.07001781, 0.24416047, 0.23609962, 0.095428005, 0.051152043, 0.047046803, -0.11905595, 0.084599525) * g_0; + result += mat4(-0.054007493, -0.1917774, -0.12253726, -0.25697917, -0.13300818, -0.014515598, -0.06988327, 0.07294474, -0.17037617, -0.11330418, 0.15588778, -0.0024750067, 0.18527855, 0.16439237, 0.13763049, 0.14903007) * g_1; + result += mat4(-0.06097875, 0.017688967, 0.084205635, -0.20286436, 0.06378928, 0.051785655, -0.00819132, 0.2283147, -0.0010928598, 0.19555786, -0.057957973, -0.1283918, 0.0130625125, 0.24465637, -0.029474005, -0.08648904) * g_2; + result += mat4(0.2977628, -0.21103969, -0.046574663, 0.15004829, -0.22748028, -0.048065472, -0.25989944, 0.2236256, 0.07941025, -0.052161288, 0.04335678, -0.24627966, 0.07268186, -0.038388748, 0.035197932, 0.05556185) * g_3; + result += mat4(-0.12658507, -0.200711, 0.10936925, 0.21350707, -0.05308915, -0.08038389, -0.21488698, 0.12463842, -0.039825447, -0.061766982, -0.16644825, -0.13220729, 0.12675424, -0.3512296, -0.28100672, -0.002683097) * g_4; + result += mat4(0.16233717, 0.05970525, 0.028119681, -0.087842815, -0.06486345, -0.06930576, -0.15099292, -0.085598275, -0.11941735, -0.19621682, -0.19929451, -0.12694003, -0.23668842, -0.3260459, -0.1669464, 0.21992308) * g_5; + result += mat4(-0.15114589, 0.3370156, 0.11051971, 0.15529542, -0.1644359, 0.03944235, -0.04013774, -0.07215706, 0.20360462, 0.083222464, 0.12099312, 0.02515875, -0.087714344, 0.13805264, -0.14398378, -0.27612263) * g_6; + result += mat4(-0.07686366, 0.061692268, -0.017847976, -0.16373406, -0.06558452, 0.07674664, 0.11457862, -0.21175413, -0.21797107, -0.31008083, -0.016061796, 0.010659135, -0.0031505653, -0.06681698, -0.19412144, 0.16077086) * g_7; + result += mat4(0.043644525, -0.02776246, 0.14185701, -0.027494097, -0.06645238, -0.19521286, -0.3502527, -0.028178494, -0.032492533, -0.32320002, 0.15325007, -0.3127702, 0.12887025, 0.18266484, -0.08985129, -0.34389883) * g_8; + result += mat4(-0.05747523, -0.12848844, 0.19728723, -0.108118065, 0.056262556, 0.26523066, -0.17712027, 0.31646273, 0.058449365, 0.38118544, -0.08126795, 0.16811565, -0.024995815, -0.009981597, -0.047409683, 0.18652919) * g_9; + result += mat4(-0.001337023, -0.32653907, 0.24057804, 0.18893267, 0.044070523, 0.25686195, -0.0058101956, 0.19947663, 0.31318483, 0.12546687, -0.04676781, 0.1793074, -0.19815332, -0.017479869, 0.2998801, -0.011709262) * g_10; + result += mat4(0.021966469, 0.045877025, -0.22806744, 0.10764939, -0.13102953, -0.096345, 0.0801237, -0.21132103, -0.44632608, 0.02980375, -0.37176967, -0.2655013, 0.27665234, -0.29347885, 0.041475385, 0.024725065) * g_11; + result += mat4(-0.21308075, 0.041253224, -0.109849155, -0.20893334, 0.09030459, 0.19662417, -0.100110866, -0.20908715, -0.060150456, 0.30329007, 0.18626331, 0.14155315, 0.07804046, -0.0916941, 0.27937013, -0.1512788) * g_12; + result += mat4(0.13618731, -0.14704673, -0.071122654, 0.019604936, 0.1254093, -0.016677566, -0.087662145, -0.08561128, 0.16301125, 0.1387518, 0.10387402, 0.25537175, 0.07070756, -0.10887832, 0.028897746, 0.17835346) * g_13; + result += mat4(-0.08490608, 0.026569808, -0.3456361, 0.020109842, -0.18946368, -0.12816896, 0.04407577, 0.029665362, 0.003496549, -0.31034058, 0.023039173, -0.016018149, -0.20683154, 0.23216362, 0.32729226, -0.12827688) * g_14; + result += mat4(0.013153797, 0.027919725, 0.36677372, 0.12828171, 0.3900067, 0.2961308, -0.16830838, -0.07397908, 0.1868292, 0.09739989, -0.10895602, -0.19859214, -0.1334346, -0.19208196, 0.28900802, -0.06582624) * g_15; + result += mat4(0.03638428, 0.035884462, -0.16868213, -0.038831823, -0.14761804, -0.08772457, 0.12720594, -0.045940604, 0.037369534, -0.02216757, 0.12334018, 0.08524158, -0.06456619, 0.017709045, 0.08379434, -0.2587099) * g_16; + result += mat4(-0.14868304, 0.255881, -0.17220873, 0.1882922, -0.11029569, 0.05895402, 0.2143255, 0.18148275, 0.020576546, -0.10496286, -0.19348511, -0.11536339, 0.14612065, 0.27825454, -0.073165655, -0.20478225) * g_17; + result += mat4(0.11683568, 0.05585525, -0.31354317, -0.060689308, -0.3203063, 0.116788305, -0.14543387, -0.02960584, 0.06610334, -0.11565926, -0.01838577, -0.33486378, 0.055412084, -0.2405772, -0.24344021, 0.23109037) * g_18; + result += mat4(0.36880726, 0.042794302, 0.38861996, 0.15946254, -0.15122825, 0.3142487, -0.17530881, -0.07510673, 0.0400742, 0.1710061, -0.21697284, 0.26265535, 0.17539124, -0.04652943, 0.14543319, -0.32873863) * g_19; + result += vec4(-0.003596251, -0.00022212608, -0.010425431, 0.014811408); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x80 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_12_tf3 +//!BIND conv2d_14_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv2d_15_tf2 +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.29968667, -0.2054413, -0.42633036, 0.06540815, 0.25410962, -0.064704284, 0.15351892, 0.15098672, -0.060556993, 0.15943852, -0.2327252, -0.15252773, -0.27296653, -0.023351386, 0.01709797, 0.17157109) * g_0; + result += mat4(0.21247834, 0.16731767, -0.23244476, 0.033929322, 0.12147452, 0.15835738, 0.20386045, 0.0099615855, 0.11954695, -0.0007262615, 0.25783026, 0.2163411, 0.2006933, -0.2897014, 0.22469328, -0.037531313) * g_1; + result += mat4(-0.075687766, -0.0587827, -0.26173526, 0.014225498, -0.069109224, 0.19879107, 0.26262647, 0.1933589, 0.17341125, -0.075728156, 0.32497543, -0.12600474, -0.07275422, 0.032364674, 0.26471478, 0.18148176) * g_2; + result += mat4(-0.19684902, -0.12419164, -0.15366356, 0.035451632, -0.1676133, 0.30628285, 0.013135715, 0.0828437, 0.24747711, 0.111026585, -0.3899608, 0.040306747, -0.14160432, 0.11833543, 0.07778105, 0.019718869) * g_3; + result += mat4(-0.22168091, 0.27330446, 0.25358558, -0.13290156, -0.035276677, 0.0024858087, -0.055826478, -0.2468239, -0.008866367, -0.05784767, -0.01706684, 0.07295643, 0.1302385, -0.08386059, -0.02501015, 0.07468001) * g_4; + result += mat4(0.042352963, 0.0657346, 0.13386852, 0.11897824, -0.12557411, -0.05947027, -0.16942193, -0.250491, 0.05414618, 0.28099364, -0.023707846, -0.40636906, -0.028787367, -0.13474262, 0.16070609, 0.31273147) * g_5; + result += mat4(-0.13678479, 0.19962284, -0.26247823, -0.23762986, 0.06520537, -0.03368567, -0.16694795, -0.14713484, -0.01582234, -0.063183546, 0.24840857, 0.11376298, 0.0037960846, -0.16444042, 0.013803154, -0.030848777) * g_6; + result += mat4(-0.06552558, 0.01993205, 0.18481286, -0.12726143, -0.23085758, -0.20116006, 0.10603243, -0.10200674, -0.16622123, 0.107850745, -0.19173287, 0.060454354, -0.0027331826, 0.20100433, 0.11314092, -0.05037935) * g_7; + result += mat4(-0.14448921, 0.29943776, -0.020892464, 0.37468755, 0.122420244, 0.3393939, -0.15974823, -0.16213733, -0.21092644, -0.1603829, 0.197158, -0.008338081, 0.23865728, 0.03966763, 0.025320457, -0.1346732) * g_8; + result += mat4(0.37890595, -0.121016815, 0.0532523, -0.513218, 0.039289672, -0.15242423, 0.043490604, -0.19230618, -0.07929196, -0.09307486, -0.034099534, -0.19038978, -0.20650864, 0.12007891, -0.103319936, 0.090364404) * g_9; + result += mat4(-0.13087903, -0.26987913, -0.17999482, -0.08381556, 0.010039951, 0.0047134277, -0.11918671, -0.11301866, 0.2314213, 0.2650823, -0.039580453, -0.31289777, 0.07591129, -0.21344167, 0.031197479, 0.25037217) * g_10; + result += mat4(0.07539192, -0.11289182, -0.035013635, -0.0049591977, -0.062005084, -0.016576197, 0.033936746, -0.09773915, -0.393588, 0.045551285, 0.049009543, 0.040800996, -0.08324719, -0.14489968, 0.03073572, -0.2191878) * g_11; + result += mat4(0.19480848, 0.007287647, 0.10993567, -0.31089494, -0.23149367, -0.154109, -0.0038248543, -0.15359117, 0.051747542, 0.007752202, -0.12192655, 0.023507293, 0.017773356, -0.280811, 0.20664506, 0.020295167) * g_12; + result += mat4(0.15923792, -0.023258807, 0.09257097, 0.08763583, -0.0037047588, 0.32919067, 0.22631034, 0.14352241, -0.05482676, 0.19056046, 0.017488375, 8.430863e-05, -0.021616697, -0.038389638, -0.22182924, -0.21699542) * g_13; + result += mat4(0.010522319, -0.066425666, -0.12642634, 0.12129272, -0.022023065, -0.233132, 0.09775469, -0.027969204, -0.032578427, -0.20589033, 0.09356718, 0.08583383, 0.05210765, -0.07712435, 0.250104, 0.008439425) * g_14; + result += mat4(0.06802483, -0.13343696, -0.047004845, 0.16506574, -0.091166094, -0.16346036, -0.13110496, -0.28389332, 0.035855703, 0.12646672, -0.099049605, -0.0008063162, -0.009684357, 0.010770653, -0.009783527, 0.11862203) * g_15; + result += mat4(-0.010126488, -0.028762225, 0.18976927, -0.030415734, 0.12148659, 0.041320156, 0.0746818, 0.018062174, -0.30057785, -0.13369675, 0.122107536, 0.198235, -0.2140395, -0.024747701, -0.3379253, -0.21174349) * g_16; + result += mat4(-0.016392622, 0.02029067, 0.11583286, -0.1268402, -0.19290908, 0.09967843, -0.12862396, 0.08984122, -0.003903114, -0.08975317, -0.18257642, -0.2447739, -0.13734268, -0.06588839, -0.039996687, 0.086118914) * g_17; + result += mat4(0.15091965, 0.12736365, 0.13546066, 0.008318725, 0.028630871, -0.36270767, 0.24071144, -0.047721867, -0.0029238814, -0.299951, 0.16515507, 0.2045453, 0.23567834, -0.1644619, -0.18801829, 0.14953467) * g_18; + result += mat4(-0.14868434, 0.023688158, -0.11039743, -0.18117934, 0.16662696, -0.17234206, -0.14898847, 0.16994476, -0.04968569, 0.19829328, -0.051957127, 0.11434248, -0.18070386, -0.114997305, 0.6586136, 0.21840969) * g_19; + result += vec4(0.05267218, -0.01234981, -0.005742453, -0.0313311); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x80 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_12_tf3 +//!BIND conv2d_14_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv2d_15_tf3 +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.024876181, 0.049410935, 0.18863276, -0.21360011, 0.120626085, -0.041039187, -0.025031038, 0.15861072, 0.031020435, 0.047245055, -0.013810417, -0.13509113, 0.039912585, 0.0030006578, -0.20477976, -0.006812967) * g_0; + result += mat4(0.20956035, 0.06598898, 0.39945224, 0.0020346004, 0.03396126, -0.055860132, 0.24823242, 0.07525624, -0.21111757, -0.01021541, -0.024861235, 0.13525884, -0.11488383, 0.17399031, -0.10318724, -0.0632262) * g_1; + result += mat4(-0.06352241, -0.05806122, 0.11548247, -0.09170009, 0.40792373, 0.10823234, 0.25872982, -0.14128555, 0.15681162, 0.087651595, 0.20255132, 0.1707228, 0.061114226, -0.20349206, 0.28370798, 0.29029718) * g_2; + result += mat4(0.18111548, 0.055765428, -0.33313075, 0.0006103676, 0.2546437, 0.14968075, 0.010974743, -0.023569109, 0.08389516, 0.11510806, -0.09821152, 0.016062623, -0.044881605, -0.023495123, 0.036569294, -0.09006456) * g_3; + result += mat4(-0.0032415257, -0.028372264, -0.071512826, -0.19787377, 0.06515368, -0.0302441, 0.18496229, -0.19373836, -0.06467672, 0.06881524, 0.08946629, 0.032331206, 0.28018954, -0.03519139, 0.12457947, -0.10447036) * g_4; + result += mat4(-0.26683676, -0.035779674, -0.33102936, -0.16464533, -0.03501263, 0.13808376, 0.14350422, 0.22299303, -0.17892793, 0.5684519, -0.22766575, -0.05168531, 0.12079673, -0.028563501, -0.008283765, -0.057736557) * g_5; + result += mat4(0.26274854, 0.06040585, 0.08909, 0.3820274, -0.12244029, -0.112672985, -0.38198316, 0.16422817, -0.012557389, -0.18269186, 0.00044065682, -0.09841192, 0.031287532, -0.3910334, -0.030273868, -0.08873974) * g_6; + result += mat4(-0.07051197, 0.06768202, 0.060395453, 0.021798966, 0.08901619, -0.22387257, 0.029923506, 0.2166611, 0.21220657, 0.029643808, -0.08909047, 0.16643848, 0.02217428, 0.10017023, 0.13721336, 0.009448813) * g_7; + result += mat4(-0.03333011, -0.33377162, 0.2840832, -0.075103775, -0.16588315, 0.24898893, 0.007910625, 0.35778743, -0.036830995, -0.15491192, -0.13378191, 0.02509361, -0.2987233, 0.016634934, -0.09080739, 0.057995312) * g_8; + result += mat4(0.024250133, 0.38453543, -0.012589143, -0.048741948, 0.04583434, 0.42664826, 0.35224134, -0.108690985, 0.034614064, -0.19162184, -0.09440296, 0.07740561, 0.3153523, -0.02028819, -0.0464603, -0.21693204) * g_9; + result += mat4(0.12554936, 0.28191876, 0.20692183, 0.02204118, -0.12202598, 0.15557781, -0.15807728, -0.22403438, -0.0050102826, -0.25063172, 0.19841024, -0.0935906, -0.016202275, 0.038872335, -0.032258067, 0.1769041) * g_10; + result += mat4(0.09860859, -0.12880474, -0.32096177, 0.18863943, -0.108892374, -0.040826876, -0.11872242, 0.014217295, -0.110700965, -0.14552751, -0.19022615, 0.23588236, -0.09166652, 0.06676425, -0.114403374, -0.032579597) * g_11; + result += mat4(-0.28780296, -0.026555603, 0.14381845, 0.18344115, -0.0932073, 0.13699014, -0.12567475, -0.120724775, 0.24272558, -0.12773077, -0.3670164, -0.037173547, 0.056873374, 0.03516149, 0.076903544, 0.21553768) * g_12; + result += mat4(-0.10597593, -0.040730987, 0.01580388, -0.14816804, 0.06471183, -0.23214011, 0.189348, -0.041128606, -0.23000284, -0.21311183, 0.24912965, 0.02485546, 0.14808623, 0.040830627, 0.043355484, -0.25108483) * g_13; + result += mat4(-0.11192612, -0.0769642, 0.26336476, -0.0879536, 0.10262009, 0.13074996, 0.20801952, -0.08162488, -0.08020716, -0.006562019, -0.029345717, 0.16304365, -0.15999863, -0.07409018, 0.025488326, -0.06557731) * g_14; + result += mat4(-0.0436646, 0.16603959, 0.10123139, 0.17289525, -0.17661704, 0.0985401, -0.062753186, -0.09045243, 0.19563136, 0.21048959, 0.119753934, 0.096117176, 0.043681554, 0.037470255, 0.012589698, 0.34186623) * g_15; + result += mat4(-0.111708984, 0.14836372, -0.1774937, -0.059907373, -0.12757868, 0.2671399, 0.0795556, -0.121689394, -0.14408125, -0.20676754, -0.32231417, -0.009280711, -0.3287384, -0.03544951, -0.0937731, -0.048848808) * g_16; + result += mat4(0.22088239, -0.07246235, -0.026009787, 0.01313955, 0.0537936, -0.19702353, -0.21666858, 0.14131804, 0.1057349, 0.10163044, 0.024502473, -0.21511002, 0.032470826, 0.040648606, 0.33920923, 0.2154231) * g_17; + result += mat4(-0.06127513, -0.33544734, 0.02393552, -0.0050719925, -0.1159799, 0.076991595, 0.05514996, 0.26366106, 0.020541657, -0.1467507, -0.014061093, 0.0154901175, 0.08579732, 0.06905036, -0.2559085, -0.2857713) * g_18; + result += mat4(0.18818028, 0.07449577, 0.28119013, 0.32452857, 0.14604072, -0.059530415, 0.06402294, 0.17558031, 0.04828705, 0.2532384, 0.082392104, 0.080385216, -0.16187488, -0.094814144, -0.0061105727, -0.21911964) * g_19; + result += vec4(-0.033699915, 0.023496272, 0.022923317, -0.04813553); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_15_tf3 +//!SAVE conv2d_17_tf +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_15_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_15_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.10141816, 0.14976878, 0.03195215, -0.039459493, 0.07342809, -0.13988629, -0.0063446215, -0.08049595, -0.04162974, -0.01193011, 0.0043608593, -0.16511472, -0.07410478, 0.08040536, 0.15624346, 0.16637307) * go_0(-1.0, -1.0); + result += mat4(0.04363024, 0.1558041, -0.051349774, -0.2017786, -0.14090109, 0.0077253273, 0.20365517, 0.11794583, 0.17618881, 0.1697445, -0.09291706, 0.020068632, 0.02007473, 0.2233203, 0.10414641, -0.029859295) * go_0(-1.0, 0.0); + result += mat4(-0.04228483, -0.2522017, -0.08950456, -0.07378427, 0.10902103, 0.0016241051, 0.022387296, -0.07227263, 0.17921664, -0.07670382, 0.107183404, 0.055107605, 0.008698778, -0.051294874, 0.042903744, 0.058951948) * go_0(-1.0, 1.0); + result += mat4(-0.1375484, -0.023858752, 0.049783953, -0.10186465, 0.07819816, -0.1402314, -0.014493593, 0.10538838, 0.0055485037, 0.0005635436, -0.095101885, 0.06633904, -0.11578867, 0.005958089, 0.17136146, 0.11700411) * go_0(0.0, -1.0); + result += mat4(0.13330704, -0.05399527, -0.059408378, -0.012242189, 0.048309475, 0.014368095, -0.12477356, 0.016511722, -0.06304495, -0.11824205, -0.084178604, -0.1071192, -0.10863286, -0.10858007, -0.16140759, -0.18176575) * go_0(0.0, 0.0); + result += mat4(0.07680403, -0.08245252, 0.055462312, 0.053744126, 0.067585744, 0.17620924, -0.06432487, -0.16865245, 0.26111647, -0.19865918, 0.12157986, -0.06446687, -0.15832807, -0.02337486, -0.16785344, 0.114276074) * go_0(0.0, 1.0); + result += mat4(-0.073085696, 0.026583878, -0.21170044, -0.041149564, 0.04610835, 0.21036178, 0.004559763, 0.023281705, 0.13178588, 0.012508884, -0.14963967, -0.14690685, -0.021903453, 0.07176222, 0.15243328, -0.10042701) * go_0(1.0, -1.0); + result += mat4(0.0664264, -0.16415414, -0.17569391, -0.06900063, -0.06844009, -0.08645253, -0.10603767, -0.00832005, -0.07373927, 0.15736815, 0.08295166, 0.1052753, -0.1397909, 0.097937405, 0.23047511, -0.11606347) * go_0(1.0, 0.0); + result += mat4(-0.15628648, -0.113366134, -0.06865726, 0.061113577, 0.08942056, -0.09596354, -0.08677791, -0.09045824, -0.056612067, 0.13108426, 0.012026924, 0.072144784, -0.04866906, -0.05377174, 0.17577443, -0.18520343) * go_0(1.0, 1.0); + result += mat4(0.06607407, -0.120200165, 0.03707084, 0.15172935, 0.2430265, -0.113085315, -0.011460811, 0.08904817, -0.022574378, 0.033570133, 0.044159263, -0.009697304, -0.02309598, -0.040957745, -0.21013923, -0.17041521) * go_1(-1.0, -1.0); + result += mat4(0.022768836, -0.07471788, 0.0032480883, -0.028676828, 0.07174294, 0.12089073, -0.09654299, 0.030429209, -0.1041162, -0.05869679, 0.21359834, -0.034161806, -0.02269268, 0.10165246, -0.13029668, 0.1188484) * go_1(-1.0, 0.0); + result += mat4(0.029641088, 0.060067747, 0.0075102164, -0.1309527, -0.0051006447, 0.24038218, 0.012248357, -0.03506548, 0.101247, -0.11584173, -0.084328905, -0.023940684, -0.02261787, -0.09003932, -0.079946354, 0.16499889) * go_1(-1.0, 1.0); + result += mat4(0.08340322, -0.084059194, 0.032852225, 0.06628357, -0.042182837, 0.13932712, 0.059110105, -0.18841559, 0.077167906, -0.11461596, 0.011843562, 0.079223566, 0.17172302, 0.09588103, -0.04519654, -0.105250426) * go_1(0.0, -1.0); + result += mat4(0.0072912937, -0.17274414, -0.14938009, -0.069200344, 0.0957791, -0.014477511, -0.052849926, 0.023967758, -0.0035198112, 0.028233815, 0.13004604, -0.024852267, -0.114071615, 0.019608831, 0.20646521, 0.097629465) * go_1(0.0, 0.0); + result += mat4(0.0028235735, -0.0030747976, -0.012810413, -0.119974546, 0.049126018, 0.06264352, -0.06849737, -0.11978027, 0.10988244, -0.015898775, 0.09746785, -0.006982965, 0.058684476, -0.034703217, 0.2606026, 0.0029088869) * go_1(0.0, 1.0); + result += mat4(0.12530242, 0.1369462, 0.09158591, -0.11397034, 0.018868709, 0.04104663, 0.04852858, -0.09407637, -0.01602279, -0.06524504, -0.03544078, -0.043030232, -0.08382277, 0.06879843, 0.05892557, 0.16079953) * go_1(1.0, -1.0); + result += mat4(0.051489368, -0.121827774, 0.07657864, -0.012008831, 0.22305761, 0.175661, -0.10651213, -0.0713164, -0.19909866, 0.008551008, -0.075291224, -0.13893497, 0.0064601367, -0.033508357, -0.05580783, 0.01087825) * go_1(1.0, 0.0); + result += mat4(0.0890387, -0.005465109, -0.03689836, 0.053952705, 0.016625151, -0.06267179, -0.10336324, -0.034135565, 0.020885276, -0.07612263, 0.11301436, -0.044119492, 0.06116916, -0.11245377, -0.13503706, -0.016538095) * go_1(1.0, 1.0); + result += mat4(0.27475291, 0.13184716, -0.0680776, -0.018830024, 0.029797517, -0.14674206, -0.13773149, 0.07596705, -0.12054772, -0.10542588, -0.078347825, -0.0711237, 0.033791598, 0.1366684, -0.008929289, -0.044218395) * go_2(-1.0, -1.0); + result += mat4(-0.10575078, -0.08208724, -0.12209491, 0.075179026, -0.108247526, 0.049645945, 0.17491071, 0.033732615, -0.24320623, -0.05394347, 0.059426192, 0.21437696, 0.13719973, -0.028119182, -0.109999254, -0.006878209) * go_2(-1.0, 0.0); + result += mat4(-0.16982876, 0.001536919, 0.04183064, -0.036760435, -0.022450875, -0.06082643, 0.12952876, 0.09636169, 0.059916295, 0.076769084, 0.033762798, 0.01730426, -0.04495645, -0.040148437, 0.004881271, 0.04875726) * go_2(-1.0, 1.0); + result += mat4(0.03642368, -0.43472657, 0.041129608, -0.17804651, -0.1057716, -0.051420793, 0.24544626, 0.13492435, 0.070110224, -0.058953024, -0.047583204, 0.107109495, 0.16330208, 0.10041534, 0.009722348, -0.041390747) * go_2(0.0, -1.0); + result += mat4(0.04072445, -0.30625793, 0.13379507, 0.20906621, 0.040475562, 0.09978542, 0.07838612, -0.061970588, -0.014157455, -0.08661651, 0.049639836, 0.092796445, 0.14035767, -0.07199328, 0.2702048, 0.13223602) * go_2(0.0, 0.0); + result += mat4(0.08312407, 0.026157904, 0.1338742, -0.1169418, 0.20012325, 0.2693674, 0.1465921, -0.02459555, -0.060668815, 0.026844399, -0.05361937, -0.082469605, -0.04559839, 0.13304235, 0.16309445, -0.121678405) * go_2(0.0, 1.0); + result += mat4(0.3037645, -0.047783196, 0.16506009, 0.08809878, -0.13823804, -0.015729615, 0.06759662, 0.017325116, 0.043904126, -0.017581047, 0.09673254, 0.094264686, -0.13746184, -0.12914835, -0.002408157, -0.013865908) * go_2(1.0, -1.0); + result += mat4(0.10031577, 0.11770728, -0.15092418, 0.09787308, 0.065984525, 0.24215704, 0.059678502, 0.15129778, -0.1041671, -0.1671323, -0.10720415, -0.03810631, -0.054461427, 0.11054692, -0.1274286, -0.07087494) * go_2(1.0, 0.0); + result += mat4(-0.12774822, 0.07534175, -0.15987013, 0.03355638, 0.014404904, -0.0988583, 0.028051285, -0.039134447, 0.05298065, -0.105260774, -0.023862204, -0.044772115, -0.055214968, 0.13535902, 0.06230091, -0.083698004) * go_2(1.0, 1.0); + result += mat4(0.0139728915, -0.048358914, -0.034966476, -0.009007154, 0.08131041, -0.08471946, 0.050465804, 0.04653661, -0.124946415, 0.14791906, 0.086607225, -0.15802874, -0.0032374691, 0.052836478, -0.04980938, -0.016416343) * go_3(-1.0, -1.0); + result += mat4(0.16441637, 0.060025495, -0.0066467216, 0.13411339, 0.030276867, -0.07048473, -0.028923895, 0.044106837, -0.14255995, 0.0277301, 0.111437134, -0.17750145, -0.09217831, -0.2319309, -0.025248565, -0.102717236) * go_3(-1.0, 0.0); + result += mat4(0.06973222, -0.035588417, -0.111446336, 0.13473494, -0.112381935, 0.053046275, -0.0671602, -0.052672945, 0.0119380765, -0.120062254, -0.077458374, -0.16899844, -0.06409111, -0.31383014, -0.1415216, -0.0095003825) * go_3(-1.0, 1.0); + result += mat4(0.18645856, -0.075802125, -0.076009706, -0.008515984, -0.118233606, -0.08088051, -0.048755296, 0.15596835, -0.14270495, 0.11329069, 0.12079284, -0.110061385, -0.20744714, 0.13587101, 0.080459, -0.03490168) * go_3(0.0, -1.0); + result += mat4(-0.05136024, 0.027372051, 0.068267904, -0.19892217, -0.06297041, -0.12936479, 0.047871254, -0.10061141, -0.20743029, -0.14944652, -0.048013274, -0.111466944, 0.071750574, -0.014199303, 0.22018474, 0.03526866) * go_3(0.0, 0.0); + result += mat4(-0.015961887, 0.34805354, -0.084889576, -0.04103895, 0.012770726, 0.15756465, -0.056900878, 0.0012191968, 0.023338098, -0.068657495, 0.10945492, 0.054981403, -0.22202769, -0.25471666, -0.094040915, 0.04642164) * go_3(0.0, 1.0); + result += mat4(-0.06906127, 0.054665376, 0.26725876, 0.16588517, 0.039062407, 0.030395871, -0.22915559, -0.07140849, -0.12185479, -0.19255042, 0.06323481, -0.13590309, 0.019942466, -0.019182289, -0.14168435, 0.10321306) * go_3(1.0, -1.0); + result += mat4(-0.21957119, -0.12511711, 0.28405094, -0.07832896, -0.009318511, 0.20928006, 0.07713814, -0.039801426, 0.07545705, 0.020907026, 0.027893608, 0.10876504, -0.29373664, -0.18898283, 0.015717847, -0.069892325) * go_3(1.0, 0.0); + result += mat4(-0.08305131, 0.106991254, 0.060219277, -0.034433957, 0.038117282, 0.050357938, 0.008414432, 0.041005578, -0.012356306, -0.030845974, 0.068301044, -0.018243417, -0.029335339, -0.25252038, 0.14035118, 0.06186665) * go_3(1.0, 1.0); + result += mat4(0.047154456, -0.07945457, -0.010143473, 0.14525153, 0.004434465, 0.13061778, 0.11142133, 0.11891932, 0.03673374, -0.0031975107, -0.07057913, -0.10060252, -0.018507725, -0.05440741, -0.041567538, 0.06602653) * go_4(-1.0, -1.0); + result += mat4(-0.053671002, -0.0062734983, 0.030443976, -0.02611883, -0.11054853, 0.07524956, -0.18110128, 0.085256346, 0.006264908, -0.19079378, 0.041253116, -0.03462252, 0.11103377, -0.11105306, 0.0022028198, 0.108352505) * go_4(-1.0, 0.0); + result += mat4(0.05842086, 0.07041998, -0.083942145, 0.062100563, 0.08270817, 0.044405486, -0.027223391, 0.19852112, 0.16944961, 0.13228446, 0.0068719517, -0.105019845, 0.12576698, -0.020317027, 0.08117506, -0.06097545) * go_4(-1.0, 1.0); + result += mat4(-0.011024374, -0.14779495, 0.20576821, 0.10269086, -0.069063395, -0.018516377, 0.17406136, -0.10562391, 0.014538016, -0.050628114, -0.29504398, -0.06448774, -0.043636657, 0.04359594, 0.021326946, 0.2251655) * go_4(0.0, -1.0); + result += mat4(-0.091270216, -0.17969126, 0.10563032, -0.04412368, -0.0032437663, 0.03424443, 0.16033265, -0.02958856, -0.19704275, 0.15207182, 0.054025695, 0.040374033, -0.0071690367, 0.041726355, 0.121862285, 0.045662563) * go_4(0.0, 0.0); + result += mat4(-0.12316079, 0.048827652, -0.053332523, -0.13136196, -0.07160488, 0.043115586, 0.08805954, 0.09753396, -0.036120344, 0.092870444, -0.0034468954, -0.19077231, -0.054664202, 0.20115146, 0.0016251119, -0.051902667) * go_4(0.0, 1.0); + result += mat4(-0.0315559, 0.03361163, -0.10469534, -0.0871928, 0.11241524, -0.03091901, 0.015451541, 0.004027563, 0.025825808, 0.06891256, -0.10293409, 0.1631189, -0.22473077, -0.044312675, 0.12753218, -0.02040456) * go_4(1.0, -1.0); + result += mat4(-0.007374305, -0.08562257, 0.05379794, 0.096869245, 0.097899415, -0.0030102937, 0.0076100267, 0.051482208, 0.004514031, -0.22291246, -0.2495633, -0.08240695, 0.036596466, 0.05963552, 0.12940569, -0.1415334) * go_4(1.0, 0.0); + result += mat4(-0.095979825, -0.05715345, -0.023848705, -0.06566416, 0.12034552, 0.14720978, 0.005992561, 0.100924246, -0.107772924, 0.07058055, -0.061445955, -0.018437093, -0.29193494, 0.10358182, 0.20117821, -0.14332218) * go_4(1.0, 1.0); + result += mat4(-0.12156258, 0.06907849, -0.046949413, -0.0714296, 0.018323392, 0.03803995, -0.2321375, -0.15585358, 0.29162106, -0.15450235, 0.01548735, -0.0012524665, 0.05624532, -0.08688869, -0.11437038, -0.11211981) * go_5(-1.0, -1.0); + result += mat4(-0.07032475, 0.14325896, 0.15342546, 0.09299106, -0.15903436, 0.04795819, -0.0380711, 0.06558145, 0.05663524, 0.10471699, 0.16202284, 0.22659935, 0.083957784, -0.18429661, -0.038526375, 0.1839184) * go_5(-1.0, 0.0); + result += mat4(-0.07748898, 0.05564984, 0.06250746, -0.07047388, 0.030230096, -0.07243236, 0.00052768853, 0.030641804, -0.21637511, -0.061787657, 0.23074016, 0.26485935, 0.036239654, -0.05382996, -0.039605018, 0.047457904) * go_5(-1.0, 1.0); + result += mat4(0.038591295, -0.0118487505, 0.040234715, -0.062315144, -0.03631829, 0.06990438, -0.041493274, -0.06670605, -0.025423469, 0.12878254, 0.13836798, 0.004582435, 0.19626965, -0.23641632, -0.080461845, 0.15305169) * go_5(0.0, -1.0); + result += mat4(0.04500124, 0.0041531166, -0.04867464, -0.020004667, 0.018133044, -0.02402259, -0.012567247, -0.055164766, 0.095157854, -0.16957271, -0.1773557, -0.0073297294, -0.016875492, -0.22265767, -0.18525612, 0.06058628) * go_5(0.0, 0.0); + result += mat4(0.048397746, -0.02788455, -0.00040129846, 0.24131092, 0.063177764, -0.101537034, 0.048137493, 0.088934034, -0.24852042, 0.047054883, -0.03160053, 0.042998843, -0.013301893, -0.110713534, 0.09375505, 0.0425776) * go_5(0.0, 1.0); + result += mat4(-0.14482269, -0.054757748, 0.13310885, -0.007347218, -0.18589966, -0.08201558, 0.12553383, 0.012745022, -0.041277397, -0.27254996, -0.052470755, 0.058272712, 0.12499827, -0.022242187, -0.0945158, -0.07560099) * go_5(1.0, -1.0); + result += mat4(0.13483234, 0.1061582, 0.19909498, -0.019715492, 0.067625776, -0.061768368, -0.07905436, 0.054142125, 0.01305098, 0.20080145, 0.068478644, 0.02703119, -0.062937714, -0.08034533, -0.043274418, -0.048142888) * go_5(1.0, 0.0); + result += mat4(0.092937544, 0.05118526, -0.05864547, 0.03750556, -0.058229998, 0.042656448, -0.08145865, 0.089373656, -0.015661148, 0.092575066, 0.052451044, 0.06404418, -0.16234049, 0.10882622, -0.14870071, -0.14796436) * go_5(1.0, 1.0); + result += mat4(0.080398865, 0.07038971, 0.09692282, 0.02861559, -0.0713776, 0.03789653, -0.12821087, -0.108117945, -0.18606333, 0.20648551, -0.009968705, -0.058358673, 0.038921814, -0.015748626, -0.13130306, 0.03157655) * go_6(-1.0, -1.0); + result += mat4(0.11004321, 0.12440213, 0.043692373, 0.105881914, 0.055679493, 0.0013664741, 0.15824854, 0.13856025, -0.1295074, 0.004022093, 0.033498365, -0.10273302, 0.08524401, 0.16063328, 0.08564703, 0.10373729) * go_6(-1.0, 0.0); + result += mat4(-0.014664466, -0.11535996, 0.06562263, 0.12310657, -0.012192171, 0.113815434, -0.025748147, -0.056379057, -0.06376049, -0.065414384, -0.0641455, -0.20318998, 0.06978728, -0.043363202, 0.15023038, -0.029428175) * go_6(-1.0, 1.0); + result += mat4(0.065250464, 0.081754886, 0.22338922, -0.024675546, 0.03792266, 0.048089582, -0.051933024, -0.11904402, 0.09984588, 0.06062117, -0.28772864, 0.013163268, 0.054647114, -0.049608726, -0.0002510924, -0.06022509) * go_6(0.0, -1.0); + result += mat4(0.03816607, 0.08511951, -0.024275059, -0.07368607, 0.057391707, 0.05121836, -0.034112077, -0.17826608, 0.15133052, 0.052271105, -0.16036001, 0.21736205, 0.065108694, -0.019315425, -0.12633246, 0.03905335) * go_6(0.0, 0.0); + result += mat4(0.07849344, 0.050402712, 0.10410282, -0.17477596, 0.09423114, 0.01998794, -0.15437658, -0.051446997, -0.117983155, -0.13454825, -0.2263363, 0.16925961, -0.014475626, 0.11754052, -0.0486922, 0.080298886) * go_6(0.0, 1.0); + result += mat4(0.06447236, -0.08227287, 0.047538612, -0.025023978, 0.0327808, 0.19078472, 0.11304362, -0.114679985, -0.059365615, -0.1522396, -0.030596083, -0.0648535, 0.11473043, 0.099015206, -0.095805876, -0.113419555) * go_6(1.0, -1.0); + result += mat4(0.044888392, -0.04274824, -0.2327295, 0.10396123, 0.19391696, -0.081802174, 0.14488702, -0.016344251, -0.22996062, -0.25684744, 0.20749056, 0.028734291, -0.090665944, 0.07197542, -0.034485128, 0.10249939) * go_6(1.0, 0.0); + result += mat4(-0.11119326, -0.11946935, -0.12337761, 0.060325015, 0.1824222, 0.018512564, 0.057066485, -0.14212456, -0.26227912, 0.015946273, -0.08148649, 0.0525647, 0.013987963, 0.024034664, -0.09109407, -0.08800889) * go_6(1.0, 1.0); + result += mat4(0.08942057, -0.012771407, 0.052976996, 0.034529075, 0.1310871, -0.047644522, -0.13528478, -0.09086901, 0.041775502, -0.13844568, 0.03964684, 0.031089516, -0.07392355, -0.052174408, -0.009474784, -0.2290421) * go_7(-1.0, -1.0); + result += mat4(-0.017659597, 0.050037336, -0.0025299324, 0.0753296, 0.06764149, -0.14075726, 0.08307984, 0.08205474, 0.077473514, -0.24571882, 0.14922607, -0.042693764, 0.044783637, -0.15163653, 0.0481681, 0.1755556) * go_7(-1.0, 0.0); + result += mat4(-0.08418654, 0.105244175, 0.20956765, -0.06294217, 0.1879804, -0.029752912, 0.032740694, -0.11350783, 0.1573697, -0.338965, -0.005411119, -0.06498442, -0.074411646, 0.11154879, -0.007983718, 0.099891976) * go_7(-1.0, 1.0); + result += mat4(-0.11360442, -0.023985954, 0.050237827, -0.039197393, 0.24417207, -0.17750946, 0.0029264402, 0.06552346, 0.07999777, -0.16054434, 0.05239082, -0.09109438, 0.20186174, -0.045056574, 0.12976813, -0.030063752) * go_7(0.0, -1.0); + result += mat4(-0.0030791545, -0.08059885, -0.0036832225, -0.057302896, -0.095006235, 0.11108009, 0.1688286, 0.18473075, -0.060287848, 0.034863815, -0.022221414, 0.24895363, -0.025254453, -0.053281628, 0.2836165, 0.089012854) * go_7(0.0, 0.0); + result += mat4(-0.048098963, -0.024920667, -0.008542859, -0.12416585, -0.007935982, 0.19714202, 0.08050051, -0.005334343, -0.14211339, -0.08771554, 0.16370557, -0.32066932, -0.10727847, -0.12724026, 0.104362994, -0.06707228) * go_7(0.0, 1.0); + result += mat4(-0.15704228, -0.024204414, 0.007087552, -0.12148864, 0.13878778, -0.012233652, 0.03271341, 0.046406206, 0.050816927, -0.093313076, -0.24589844, 0.052772272, -0.28821534, -0.121905856, 0.19799241, -0.0708691) * go_7(1.0, -1.0); + result += mat4(-0.23982097, 0.04363522, 0.3527458, 0.023065759, -0.13373962, 0.117174946, -0.06172028, -0.17474857, -0.13406518, -0.011999389, -0.037810836, -0.44302982, 0.08802065, -0.08534176, 0.05789676, -0.021465434) * go_7(1.0, 0.0); + result += mat4(-0.18225484, 0.098582916, -0.029838774, -0.12963313, -0.15371342, 0.059467446, 0.06810986, -0.13996232, 0.02387343, -0.19576547, 0.24994224, -0.22950345, 0.04223122, 0.097238496, 0.037641723, -0.22899197) * go_7(1.0, 1.0); + result += vec4(-0.021099666, -0.03129005, -0.026100485, -0.032015156); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_15_tf3 +//!SAVE conv2d_16_tf +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_15_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_15_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.09609756, -0.055012375, -0.043073136, -0.055666514, 0.016418008, 0.036120225, 0.06029676, 0.020939374, 0.11832701, -0.053679865, -0.015110101, 0.13618767, 0.09494681, -0.03174575, 0.0027091461, -0.079117626) * go_0(-1.0, -1.0); + result += mat4(0.16776627, -0.059132457, -0.08617137, 0.111107774, -0.07522468, 0.11456014, 0.10206192, -0.09795013, -0.031782568, 0.036730297, 0.09556621, -0.000958083, -0.04877398, -0.12761621, -0.05328436, -0.17509152) * go_0(-1.0, 0.0); + result += mat4(-0.013845615, 0.0364183, 0.010424956, 0.041805822, -0.116106875, 0.002734559, -0.029624986, -0.17783165, -0.07629819, 0.04145108, -0.07223744, -0.007690453, -0.064606376, 0.12174394, -0.014825361, -0.0084151495) * go_0(-1.0, 1.0); + result += mat4(-0.002451479, 0.07880965, -0.0139416065, -0.24062878, -0.088408604, 0.058236387, 0.006706374, -0.0010319118, 0.09392773, -0.03210168, -0.114932165, 0.1618595, 0.14179535, -0.042500906, -0.09045998, -0.14127046) * go_0(0.0, -1.0); + result += mat4(-0.027822092, 0.019911472, 0.19860765, 0.15724073, 0.10166673, 0.06093802, 0.14866613, 0.06564189, -0.055504557, 0.0024655203, -0.0673572, -0.009370036, 0.031148747, -0.07150111, -0.043881677, 0.18116175) * go_0(0.0, 0.0); + result += mat4(-0.04210747, -0.0071274997, -0.032913957, 0.018660989, 0.051073376, 0.06782918, -0.017950369, 0.07190485, -0.22312792, 0.16126503, 0.04935446, -0.07235652, 0.010417901, 0.07713274, -0.09850908, -0.028445879) * go_0(0.0, 1.0); + result += mat4(0.06469987, -0.11051662, 0.00044343024, -0.0824562, 0.09513741, -0.017997947, -0.06515641, 0.11881489, 0.03063408, 0.007759294, 0.07263358, 0.025132397, -0.02236495, -0.023467774, 0.017836783, -0.10823227) * go_0(1.0, -1.0); + result += mat4(-0.13958383, 0.01932197, 0.034343425, 0.03998081, 0.04705273, -0.066937834, 0.072302155, -0.015934192, -0.067153506, -0.07604367, 0.0135788955, -0.09868874, 0.028401552, 0.016137991, 0.030741712, -0.05084945) * go_0(1.0, 0.0); + result += mat4(0.09688358, -0.0038751946, 0.08666303, -0.025303468, -0.106170915, -0.058171537, -0.03180972, -0.099828646, -0.03305094, 0.0017180776, -0.1330951, -0.0258952, 0.0075092567, -0.022991123, 0.0692612, -0.11860208) * go_0(1.0, 1.0); + result += mat4(0.1289264, -0.051340435, 0.07629522, 0.08525001, 0.17129055, 0.08729278, 0.16216865, 0.029870907, 0.037678342, 0.0049766265, 0.058949407, -0.037198026, -0.080018, -0.055140797, -0.10370115, -0.18345577) * go_1(-1.0, -1.0); + result += mat4(0.0070326407, -0.12450474, 0.010306007, -0.11749582, 0.21073423, 0.08744276, -0.2049444, -0.07198778, -0.023872219, -0.06021247, -0.110835806, 0.099957176, 0.022628674, -0.05737548, -0.03985959, 0.008792708) * go_1(-1.0, 0.0); + result += mat4(0.022252496, -0.06173045, 0.053174034, 0.0787691, -0.091547325, -0.07840242, -0.15143803, 0.08442903, -0.08603787, 0.13783117, -0.123351984, -0.14503227, 0.062592834, -0.032115187, 0.1645178, -0.042738732) * go_1(-1.0, 1.0); + result += mat4(0.24653557, -0.1127134, -0.06485058, -0.01246277, -0.042020027, 0.030455599, -0.027297743, 0.063047804, 0.030217074, 0.012030112, -0.041015655, 0.031267677, -0.17512026, 0.1655615, -0.15595682, 0.100183144) * go_1(0.0, -1.0); + result += mat4(-0.032732334, 0.017509729, -0.058794443, -0.031101031, -0.03794737, 0.025334312, 0.06050446, 0.1429206, 0.02906151, -0.01638736, -0.13368747, 0.00013812391, 0.14179116, 0.16578944, 0.0016875591, -0.0081081325) * go_1(0.0, 0.0); + result += mat4(-0.17499752, -0.012791056, -0.0039763134, -0.014580471, 0.015078276, -0.16282362, -0.012617101, 0.081141666, 0.07503038, -0.0045926278, -0.0072176065, 0.080567606, -0.074966975, -0.06954477, 0.20330784, 0.106600724) * go_1(0.0, 1.0); + result += mat4(-0.061575174, -0.011066679, 0.051635355, 0.06448836, 0.07634649, 0.006140537, 0.07088602, -0.0043026246, 0.042276155, 0.15659745, 0.05378826, 0.044281624, 0.046426885, -0.09314892, 0.021468692, -0.065087035) * go_1(1.0, -1.0); + result += mat4(0.036643215, -0.16454737, -0.106744304, -0.036818992, -0.08886182, 0.1267292, 0.19476546, 0.25881895, 0.11264265, -0.16113323, 0.007636693, -0.00693805, -0.060398016, 0.065028094, 0.064959414, 0.03238651) * go_1(1.0, 0.0); + result += mat4(0.048840225, -0.023630783, -0.024679976, -0.0014270309, 0.0084513305, 0.17124465, 0.19591704, 0.1291631, 0.1774293, 0.08246338, -0.017292364, -0.011336239, 0.11411684, 0.08811617, -0.03444606, 0.16706938) * go_1(1.0, 1.0); + result += mat4(-0.0013355667, 0.08377846, -0.093042545, 0.084158204, 0.2795504, -0.09045552, 0.06632154, 0.10977727, -0.0400835, -0.034911055, 0.056995716, 0.040316224, -0.008876082, -0.007732556, 0.050168034, -0.16885711) * go_2(-1.0, -1.0); + result += mat4(0.13376418, 0.07325086, -0.09131099, 0.13401611, 0.050767064, -0.17131376, 0.047098216, 0.10656574, -0.03088948, 0.08322672, 0.12997481, 0.03262986, 0.06139361, 0.12225519, -0.037071053, -0.008163907) * go_2(-1.0, 0.0); + result += mat4(0.12655751, 0.025844684, 0.050787576, 0.02169468, 0.18041965, -0.0036477768, -0.025983771, 0.12426952, -0.066581994, 0.06865894, 0.055160727, -0.06682907, 0.026987294, -0.09632507, 0.1279279, -0.032017976) * go_2(-1.0, 1.0); + result += mat4(0.20881699, -0.04413474, 0.00041975285, 0.018447168, 0.15139039, -0.17890811, -0.048498105, 0.026863892, -0.04038872, 0.19609426, 0.07234381, 0.07763264, 0.07762023, -0.06942944, 0.09720136, -0.020185204) * go_2(0.0, -1.0); + result += mat4(-0.033203717, 0.051632375, -0.29151496, -0.019714551, 0.054144926, -0.06135866, 0.34238565, 0.028267676, -0.04485083, -0.053827494, 0.2143548, -0.011955068, -0.14167474, -0.04505376, 0.10723791, -0.041945346) * go_2(0.0, 0.0); + result += mat4(-0.102433704, 0.004789273, 0.1119891, -0.0203109, -0.017740408, -0.09619332, 0.3475929, 0.029633807, 0.04624514, 0.0640723, 0.038288433, -0.043456446, 0.0028731087, 0.03015074, -0.020183885, 0.044622716) * go_2(0.0, 1.0); + result += mat4(0.24704404, 0.041703355, -0.049013373, 0.045351848, -0.0093254475, -0.1278815, 0.14508104, 0.080030285, 0.056857005, 0.08688084, 0.19216926, -0.06220198, 0.17112607, 0.07218316, 0.0795074, 0.01839487) * go_2(1.0, -1.0); + result += mat4(0.1733775, 0.026274947, -0.01898811, 0.15374832, 0.119747944, 0.12652078, 0.03181385, 0.058963638, 0.020806959, -0.052343946, 0.12007364, 0.12834589, 0.12946364, -0.004851643, -0.09275399, -0.023749454) * go_2(1.0, 0.0); + result += mat4(0.0193869, 0.16029198, -0.1647226, 0.14820257, 0.015849369, 0.061719846, 0.01781591, 0.06546549, 0.01411068, 0.047441017, 0.10499331, 0.0444021, 0.10317269, 0.012305531, -0.027644547, -0.02026022) * go_2(1.0, 1.0); + result += mat4(0.022080548, 0.055724394, 0.01700489, 0.14965396, 0.052224305, -0.036954537, 0.03474517, -0.009189564, -0.049905237, -0.020433484, 0.048628446, -0.102126524, -0.012649122, 0.04515492, -0.045957103, -0.024198) * go_3(-1.0, -1.0); + result += mat4(-0.08102677, -0.005510669, 0.089871764, 0.042553343, -0.04897514, 0.016537901, -0.0031736959, -0.063882664, 0.18177465, -0.081341125, 0.035784308, 0.019861514, -0.06374453, -0.021801073, 0.07553763, 0.2392607) * go_3(-1.0, 0.0); + result += mat4(-0.051674295, -0.024726579, 0.012708328, 0.0120022455, 0.06796091, -0.11919646, 0.10550911, -0.016914662, -0.0017664131, 0.053862873, 0.01002813, -0.007454544, -0.19201882, 0.005823377, 0.023013754, 0.016918607) * go_3(-1.0, 1.0); + result += mat4(-0.0688164, 0.069968164, 0.035286, -0.12940317, 0.17318653, -0.05089972, -0.007604, 0.026937611, -0.0047092275, 0.03783206, -0.006852713, -0.15646859, -0.030406103, -0.06980891, 0.009835896, -0.02440511) * go_3(0.0, -1.0); + result += mat4(0.16799697, -0.06943555, -0.03730531, -0.1721256, -0.09911213, -0.081116, 0.0018397432, 0.04689856, 0.018798007, 0.102041714, 0.10882061, 0.07884699, 0.15522195, 0.039948918, 0.1331871, 0.29782096) * go_3(0.0, 0.0); + result += mat4(0.060170665, -0.12705128, 0.27997023, 0.07200365, 0.15316802, -0.19086201, 0.03769603, 0.09388092, 0.013621962, -0.001599727, -0.014308661, 0.055155694, 0.108794376, -0.03869029, -0.14731637, -0.09738743) * go_3(0.0, 1.0); + result += mat4(-0.056280326, -0.013755136, 0.051307328, 0.047183447, 0.16895631, -0.15820411, -0.18688565, 0.08207807, -0.07443388, -0.03691134, -0.14448541, -0.07053698, -0.082723446, -0.088062696, 0.081009656, 0.10446362) * go_3(1.0, -1.0); + result += mat4(0.07195501, -0.005046178, -0.10009494, -0.0068428647, -0.014195055, -0.1258344, -0.112450786, -0.04761318, -0.0004043175, -0.07863752, -0.018329088, -0.015974361, -0.09353746, -0.075935334, 0.2102448, -0.028742688) * go_3(1.0, 0.0); + result += mat4(0.007925812, -0.14759003, -0.12893279, 0.20039004, -0.059057757, -0.062296968, 0.0114990985, 0.005130549, -0.04773586, -0.13635732, 0.022072053, -0.067658275, 0.12064796, 0.038565595, 0.062534854, -0.15858793) * go_3(1.0, 1.0); + result += mat4(0.012978919, 0.09248063, 0.079721585, -0.10949528, 0.05636094, 0.0639426, -0.08391837, -0.054627553, 0.00037798003, -0.013555376, -0.18349887, -0.04274588, -0.14281152, 0.0057977308, -0.05939348, 0.010091491) * go_4(-1.0, -1.0); + result += mat4(0.1422423, -0.10552157, -0.03913756, -0.0653251, 0.06479668, 0.0115009425, -0.1867643, 0.114124864, 0.007959146, -0.03393825, 0.11404819, 0.012734461, 0.058671746, -0.05543321, -0.08331419, 0.07654381) * go_4(-1.0, 0.0); + result += mat4(0.09127371, -0.021557972, -0.05028715, -0.05016229, 0.017002096, 0.19106826, 0.05418276, -0.05694394, 0.06581798, -0.0598181, 0.018230528, -0.0635826, -0.05732186, -0.10073851, -0.011672219, -0.033285677) * go_4(-1.0, 1.0); + result += mat4(-0.048617575, 0.019004911, -0.019724898, 0.0065591526, 0.101372994, -0.08572456, -0.10958081, -0.07779033, -0.0744815, -0.071501486, 0.08134343, -0.11673183, -0.052799657, 0.09455502, -0.046477437, 0.062174764) * go_4(0.0, -1.0); + result += mat4(0.15564895, 0.08472279, 0.11441956, -0.14344747, -0.24006632, -0.032172255, 0.039400138, -0.007438132, 0.009162504, 0.05753773, -0.11778383, -0.06364131, 0.1863039, -0.024734113, -0.06508269, 0.084494196) * go_4(0.0, 0.0); + result += mat4(0.042976603, 0.10006721, -0.05396374, -0.091420546, -0.07264408, -0.0376512, 0.09453536, -0.025677709, -0.040637143, 0.009227286, 0.21652271, -0.08846454, 0.011874195, -0.24357733, -0.20396955, 0.0034799203) * go_4(0.0, 1.0); + result += mat4(0.11487922, 0.06142311, -0.05799218, -0.043709278, -0.011386744, -0.047758225, -0.04346472, -0.15726915, -0.010850286, 0.055703852, 0.11554872, 0.14175794, -0.025774736, 0.03302446, -0.031050406, -0.14743169) * go_4(1.0, -1.0); + result += mat4(0.107260466, 0.09991366, -0.0854939, -0.13359135, -0.17836837, 0.0947788, 0.076283626, -0.03702856, 0.045162823, 0.02137722, 0.013965963, 0.008323008, 0.1299707, -0.06806633, -0.08851454, -0.0519084) * go_4(1.0, 0.0); + result += mat4(-0.039744638, -0.009205459, -0.06797804, -0.031998966, 0.061308265, -0.0007453291, -0.0007644073, -0.016154464, 0.011811196, 0.034707885, -0.12882923, -0.0021590462, 0.13357846, 0.058845736, -0.15742505, -0.06657708) * go_4(1.0, 1.0); + result += mat4(-0.018271925, 0.100263335, 0.01960824, -0.1153796, -0.23422036, -0.0031631307, -0.050807018, -0.053269822, -0.03458429, 0.14577144, 0.13469611, -0.11434715, -0.009439456, 0.030330583, -0.040208224, 0.12874405) * go_5(-1.0, -1.0); + result += mat4(0.031613346, 0.15594259, 0.20758592, 0.03629735, -0.12865163, -0.067441724, -0.019100431, -0.047031283, 0.06444509, 0.04873205, 0.12288836, 0.042170476, -0.12388107, 0.00048445113, -0.027354648, -0.013098879) * go_5(-1.0, 0.0); + result += mat4(-0.054265685, 0.11467644, 0.02952745, -0.017398788, 0.082775794, 0.09431421, -0.022905173, 0.011000366, -0.016479017, -0.07035369, 0.15773647, 0.09656325, -0.12106234, 0.054287493, -0.21364424, -0.09698419) * go_5(-1.0, 1.0); + result += mat4(-0.08437344, 0.07146613, 0.03008299, -0.050195847, 0.08297239, 0.010328966, 0.2501361, -0.051406503, 0.09035167, 0.10230502, -0.087015145, -0.090351515, -0.059905346, 0.010634574, 0.101668574, 0.12283612) * go_5(0.0, -1.0); + result += mat4(-0.12624927, -0.043445382, 0.04399112, 0.2396272, -0.12518035, -0.107726894, -0.02661663, -0.186101, 0.03170526, -0.013086996, -0.16010353, 0.08162145, -0.24017718, 0.08761893, -0.2546848, -0.03131363) * go_5(0.0, 0.0); + result += mat4(0.09616909, -0.030323014, -0.14481992, -0.036541697, -0.19536978, 0.1064523, 0.079171434, -0.038171098, -0.043278754, -0.059359286, -0.0025608074, -0.07138205, -0.10972322, -0.18075511, -0.08821048, -0.035308387) * go_5(0.0, 1.0); + result += mat4(-0.00918984, -0.031009672, 0.066319056, -0.085171655, -0.024080584, 0.06236177, -0.0115594845, -0.119407974, 0.070196055, -0.1145586, -0.021149555, -0.13792083, 0.030996334, 0.1484254, -0.010054155, 0.1086116) * go_5(1.0, -1.0); + result += mat4(-0.014743395, 0.22290353, -0.07011576, 0.1069503, -0.0026242791, -0.13469394, 0.038082447, -0.07685243, -0.2634126, 0.13381208, 0.10993633, 0.03586481, -0.054848466, 0.006930213, -0.12056366, 0.014139514) * go_5(1.0, 0.0); + result += mat4(0.030834544, -0.0070147654, 0.14920786, -0.065181114, 0.02508345, -0.1483285, 0.0047159214, -0.044124506, 0.039289955, 0.06650584, 0.081950754, -0.08433925, 0.015854202, -0.040369797, -0.046914417, -0.009928778) * go_5(1.0, 1.0); + result += mat4(0.15443583, 0.04376301, 0.13718478, -0.03824221, -0.055449802, -0.14842397, 0.06060697, 0.01631613, 0.11067964, -0.14271964, -0.22600028, -0.034234643, 0.06918402, -0.04600415, -0.06900304, 0.06417275) * go_6(-1.0, -1.0); + result += mat4(-0.042201858, -0.011375089, -0.015411258, -0.12674233, 0.026103523, 0.10343946, -0.0077547887, -0.033607867, 0.124470666, 0.06796264, -0.13659167, 0.040740173, 0.0604928, -0.092276655, 0.11865089, -0.08302834) * go_6(-1.0, 0.0); + result += mat4(-0.01112464, -0.021381281, -0.034482505, -0.053960275, 0.058478907, -0.0097189145, 0.1940526, -0.13732584, -0.093956545, 0.0057153534, -0.08862296, -0.06671325, -0.005182285, -0.05719968, 0.025967684, 0.032040965) * go_6(-1.0, 1.0); + result += mat4(0.06687304, -0.0026133375, 0.15141574, -0.05272407, -0.023663558, 0.06502362, 0.08093761, 0.109535225, -0.05700876, -0.029776534, -0.05858992, -0.013166662, 0.019790562, -0.12917398, -0.06497215, 0.057915356) * go_6(0.0, -1.0); + result += mat4(0.06072319, -0.11173385, -0.06554967, 0.13359413, -0.06625554, -0.017581498, -0.058076315, -0.003931657, -0.023673324, 0.07044443, 0.003583932, 0.14873055, -0.061578825, 0.03817671, 0.14216065, -0.025126763) * go_6(0.0, 0.0); + result += mat4(-0.06629599, -0.017247697, 0.10675047, -0.0044184877, -0.058319747, -0.03925674, 0.02459416, 0.00095720706, -0.08090092, 0.12986918, -0.25750917, -0.03840858, 0.12543473, -0.09118815, 0.13346738, 0.0872867) * go_6(0.0, 1.0); + result += mat4(0.04924794, 0.08806323, -0.06525138, -0.08052156, -0.023931473, -0.0734658, -0.010882386, -0.030258544, -0.18479422, 0.18968348, -0.050708067, 0.038592026, 0.042794973, -0.10810727, -0.02882389, -0.085186586) * go_6(1.0, -1.0); + result += mat4(-0.18184122, 0.009152045, -0.0013307668, 0.0528998, -0.09193569, 0.10202717, 0.030233888, -0.116206944, 0.13555616, -0.011747243, -0.22625974, -0.008968841, -0.02577717, 0.050121024, 0.0039666356, 0.0140310675) * go_6(1.0, 0.0); + result += mat4(-0.07334463, -0.040781733, 0.04237529, -0.017089957, 0.042566124, 0.028134586, -0.009052325, 0.07598215, -0.13904396, 0.026619319, -0.08988712, -0.005250927, 0.08855536, -0.1234204, 0.06786622, 0.039750088) * go_6(1.0, 1.0); + result += mat4(-0.0058151903, 0.03422835, -0.0007863771, -0.077100396, 0.063499264, -0.041216582, 0.04828395, -0.053149093, -0.18125884, 0.1692733, 0.33500117, 0.067575455, 0.04588855, 0.13782747, 0.1351673, -0.004836687) * go_7(-1.0, -1.0); + result += mat4(0.13591178, -0.08803395, -0.0082301255, 0.018532211, -0.14070654, -0.153454, 0.12548654, 0.0942813, -0.035065573, 0.17697263, 0.048331108, -0.028308947, 0.038468204, 0.07220786, 0.2944224, -0.025645984) * go_7(-1.0, 0.0); + result += mat4(0.13994263, -0.019219065, -0.14284274, -0.1471152, -0.15571125, -0.02123468, 0.14339264, -0.04104626, -0.20012046, 0.06999495, 0.13211347, -0.015829416, 0.15163279, 0.03081914, -0.015203248, -0.07161789) * go_7(-1.0, 1.0); + result += mat4(0.11625371, -0.020931741, -0.0875021, -0.01576175, 0.061449245, -0.046299458, 0.07421833, -0.06874183, 0.30783412, 0.15397696, 0.045492157, 0.08606051, -0.035266094, 0.11132788, 0.15416808, -0.01438527) * go_7(0.0, -1.0); + result += mat4(0.012413651, -0.033095382, -0.1972357, 0.18014714, 0.2332191, -0.25324136, -0.028787011, -0.17730585, 0.33105198, -0.14836398, 0.1377452, 0.044808302, -0.09968492, 0.17502867, 0.06019141, -1.0588551e-05) * go_7(0.0, 0.0); + result += mat4(0.07118095, -0.059810337, -0.14726935, -0.17732129, 0.06272923, -0.13827543, -0.018983403, -0.10391589, -0.07683961, -0.009228622, 0.016202949, 0.30789152, -0.007190668, -0.22396167, 0.03562099, 0.011657737) * go_7(0.0, 1.0); + result += mat4(-0.013723268, -0.0018854191, 0.012472027, -0.048562117, 0.017156087, 0.006624358, -0.1335618, 0.06898693, 0.24195383, 0.12748662, 0.2687545, 0.11675469, 0.051591244, 0.060604665, 0.15726678, -0.12029377) * go_7(1.0, -1.0); + result += mat4(0.018423952, 0.03342564, -0.02585596, -0.093597226, -0.041045543, -0.2526591, -0.10587788, -0.17330013, 0.26386222, -0.24480952, -0.007416698, 0.14573297, -0.0046972204, 0.19525634, -0.0049372353, -0.08545003) * go_7(1.0, 0.0); + result += mat4(0.0025138035, 0.052410353, 0.06759947, -0.06182174, 0.054527503, -0.16857441, 0.1532493, -0.13587067, 0.076711185, 0.3173634, -0.08822435, -0.22298068, -0.014268186, 0.03482756, 0.103789225, 0.059798267) * go_7(1.0, 1.0); + result += vec4(0.018433796, 0.0035757907, 0.00091714435, -0.003333423); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x88 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_15_tf3 +//!BIND conv2d_17_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!SAVE conv2d_18_tf +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.06333993, 0.09488723, -0.08568035, 0.05200572, -0.1472294, -0.044452854, 0.14845347, 0.21513753, -0.15652965, 0.10840373, -0.056219988, -0.030637205, 0.04253709, 0.055037092, 0.0414908, -0.1892757) * g_0; + result += mat4(0.0787534, -0.04241309, -0.28714868, -0.046900865, 0.21437375, -0.24278513, -0.20257188, 0.022188142, -0.019003864, 0.15094592, -0.01814459, -0.1872464, 0.059750058, 0.07614743, -0.0521617, 0.17934658) * g_1; + result += mat4(-0.00019216978, -0.15454617, -0.12794366, 0.044536293, 0.21249126, 0.32045737, -0.147422, -0.09734236, -0.12062187, -0.16607423, 0.09816451, -0.06590071, -0.19728394, -0.14778756, 0.017338278, -0.23659901) * g_2; + result += mat4(0.074417666, -0.08059618, 0.07767349, -0.03693259, -0.15096827, -0.17373516, -0.20327133, 0.049108338, 0.054858647, 0.015723148, -0.2328269, -0.16492803, 0.12288839, -0.037010916, -0.16224542, -0.19452086) * g_3; + result += mat4(-0.1915939, -0.15707129, -0.1509893, 0.28097305, 0.03221469, -0.18564048, -0.27148914, -0.084917046, 0.0059148185, 0.06549851, 0.19273312, -0.20762756, 0.011551308, 0.18630835, 0.07567006, 0.046911348) * g_4; + result += mat4(0.01897941, 0.026447995, 0.30203855, -0.10592397, 0.05870943, 0.1054224, 0.14929043, 0.050682828, 0.0028596125, -0.15138957, -0.03117043, -0.06962448, 0.10460237, 0.30631867, 0.15475252, -0.082159385) * g_5; + result += mat4(0.056030374, 0.16605477, -0.2011969, 0.0581226, -0.16144355, -0.02808077, 0.010258871, 0.17102659, -0.054532573, 0.3242664, 0.010550339, -0.05370968, -0.014814065, -0.13152799, 0.30049798, 0.122068055) * g_6; + result += mat4(0.17697391, 0.074868776, -0.16765091, -0.14493272, 0.21677482, 0.07529925, 0.3344087, -0.35831642, -0.12440452, 0.15675198, -0.01240608, 0.21036354, -0.21215741, 0.18817489, 0.072722636, -0.07215567) * g_7; + result += mat4(-0.29419374, 0.043863285, -0.083936326, 0.3729109, 0.18776, -0.16754451, -0.35357738, 0.045188952, -0.23892207, 0.060875878, 0.046727493, 0.39672953, -0.009434926, 0.0181569, -0.12958461, 0.09870838) * g_8; + result += mat4(-0.12987071, -0.09597688, 0.2408095, -0.26320508, -0.09014934, -0.1188552, 0.16146885, 0.07402836, 0.35367203, 0.1402623, 0.18618205, -0.25213316, -0.10277592, -0.24674612, -0.32700107, 0.14396617) * g_9; + result += mat4(-0.3089205, 0.16185652, 0.27521953, 0.041868176, -0.0022332487, 0.12922727, 0.18001151, 0.027498085, -0.110244, -0.044742703, -0.18411714, -0.06564328, 0.07164282, 0.08585003, 0.106629394, -0.054929875) * g_10; + result += mat4(0.16139935, 0.03240059, 0.082769506, -0.18399146, 0.050481632, 0.018776342, -0.111956954, -0.040583946, 0.08147097, -0.04110496, -0.15557489, 0.05611198, -0.25277153, -0.048391934, -0.10089335, 0.12622349) * g_11; + result += mat4(-0.2730474, 0.11085952, -0.075156026, -0.14303921, 0.0447421, -0.121895775, -0.35013795, 0.14995758, -0.016281242, 0.033779178, -0.15126662, -0.015176784, 0.040082585, 0.006450913, -0.030723661, -0.058004852) * g_12; + result += mat4(0.0403051, 0.20903297, 0.067333676, -0.14318345, 0.16834565, 0.0948365, -0.17433995, 0.07182994, 0.06342598, -0.32021528, 0.048930682, -0.051184237, -0.057208735, -0.16286889, -0.12637149, 0.10992653) * g_13; + result += mat4(-0.14312495, -0.049565334, 0.013813875, 0.070963, 0.26302704, -0.0026512244, 0.33206236, -0.16186446, 0.030595824, 0.119594894, 0.3493397, 0.12651123, 0.04868717, 0.15870047, -0.17626017, 0.053944312) * g_14; + result += mat4(0.017788881, -0.08985951, 0.0063696383, 0.19405968, 0.06445815, -0.024619186, -0.18900226, -0.030232785, -0.08246631, 0.041897133, 0.089627616, -0.23452254, 0.08906869, 0.09038576, -0.12202178, 0.032400858) * g_15; + result += mat4(0.23806943, -0.20720927, -0.19059941, -0.08068674, -0.035527237, -0.15776922, -0.024618277, -0.2444429, 0.05044065, 0.024451984, -0.14015712, 0.16094929, 0.03076579, -0.020462647, -0.20250656, 0.1029075) * g_16; + result += mat4(0.047954805, 0.04713052, -0.014320014, 0.11667167, 0.45120004, -0.12177823, -0.11391618, 0.18149075, 0.08473487, 0.14073594, -0.07025125, 0.19289283, 0.083399035, 0.15313184, -0.2289391, -0.27340987) * g_17; + result += mat4(-0.031021187, -0.056889966, -0.089950375, 0.08566341, -0.093087964, -0.114104606, 0.20981134, 0.20004368, 0.36221287, 0.09415981, 0.1761312, -0.07357187, 0.15133485, 0.18167816, 0.13953826, -0.108503394) * g_18; + result += mat4(-0.04393188, 0.25963497, -0.0330857, 0.050094042, 0.0015226522, 0.09266069, -0.15832978, -0.22114822, 0.063840784, -0.33367425, -0.103081174, 0.01706331, 0.007467705, -0.3628944, -0.10182942, 0.1942455) * g_19; + result += mat4(0.23547105, 0.03324374, 0.13732544, -0.18675572, 0.2536437, -0.024418214, 0.1405745, -0.08798336, -0.09310729, -0.088432625, -0.16199891, -0.07790996, -0.16207652, -0.057468604, -0.6186605, 0.84914094) * g_20; + result += mat4(-0.10194844, 0.25304326, -0.13665953, -0.042847656, -0.030379621, 0.104918376, 0.07079868, 0.044213004, 0.032054633, 0.11013307, -0.10676529, -0.06577438, -0.0136965765, 0.076344326, 0.2286907, 0.17813052) * g_21; + result += vec4(-0.077900425, -0.00413413, 0.020021616, 0.012168936); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x88 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_15_tf3 +//!BIND conv2d_17_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!SAVE conv2d_18_tf1 +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.19856872, 0.11904717, -0.064469926, -0.060562156, 0.088999204, 0.34987435, 0.19510469, 0.31565446, -0.22311617, 0.05800273, -0.070240505, 0.07316653, -0.104855716, 0.06083218, -0.19869952, 0.16014937) * g_0; + result += mat4(0.25990537, -0.0699571, -0.20297414, -0.14829135, 0.12648308, -0.10045799, 0.16074577, 0.018881219, -0.13109452, -0.07432639, -0.07032176, -0.016821157, -0.27503675, 0.019903673, -0.14726853, -0.031217257) * g_1; + result += mat4(-0.06882065, -0.00869124, -0.08228761, -0.09555077, 0.10960049, 0.1492122, -0.030764349, -0.013157832, -0.0692061, 0.045005288, 0.22895455, 0.031483006, -0.012937336, 0.23743461, -0.03126466, -0.035970267) * g_2; + result += mat4(0.22776505, -0.15405187, -0.27868515, 0.06471627, 0.31427258, 0.1402745, 0.06863169, -0.051754337, 0.10026417, -0.2574256, -0.08802628, 0.068399504, 0.071888685, 0.022936821, -0.12540928, -0.015080033) * g_3; + result += mat4(-0.039721105, -0.14838658, 0.24391836, -0.069194034, -0.16316739, 0.13536945, -0.13266453, -0.004489543, 0.18704645, -0.04657965, 0.025766708, -0.1476673, 0.27578717, -0.009918311, -0.27262732, 0.16296776) * g_4; + result += mat4(-0.05249631, -0.2803283, 0.13727781, -0.09695497, -0.24535981, 0.10808846, 0.0022599236, 0.12974386, -0.07886284, 0.015886888, 0.037709296, -0.034715742, 0.048587516, -0.026816653, -0.04620663, 0.009604917) * g_5; + result += mat4(0.20355739, 0.26263452, -0.016582636, -0.088004105, 0.0283301, -0.1646068, -0.14768231, 0.06584749, 0.09362991, 0.073038615, 0.03585095, 0.14700644, 0.30650404, 0.115159705, 0.094853185, 0.1412418) * g_6; + result += mat4(0.19348627, 0.02455195, 0.04202425, -0.10602589, -0.087195724, 0.16053778, -0.15648113, -0.21084791, 0.119239464, 0.29533407, -0.23261383, -0.27815127, -0.030562209, -0.016111122, 0.029648153, 0.15206608) * g_7; + result += mat4(0.03864564, -0.013641563, 0.008269305, 0.08444338, -0.37716612, -0.119036004, -0.37552136, 0.22999282, -0.03647035, 0.11136046, -0.11673442, -0.22254193, -0.31966165, 0.30993468, 0.26735285, -0.11855201) * g_8; + result += mat4(-0.14826044, 0.08726846, -0.02775652, 0.095674574, 0.0414766, -0.11637243, 0.22545882, 0.024133151, -0.22550999, 0.17247951, 0.008702564, 0.015936209, 0.08907862, -0.1164228, -0.18179186, -0.088854164) * g_9; + result += mat4(0.043506436, -0.22450508, 0.3010276, 0.109547526, 0.18712491, 0.086767204, -0.058926016, -0.0066756974, -0.035483465, 0.00068262784, 0.053788308, 0.11970851, -0.02235205, -0.254944, -0.12766762, -0.03977307) * g_10; + result += mat4(0.18281984, 0.05554126, -0.009539485, 0.043676183, -0.007973203, -0.033897012, -0.10886124, -0.045664012, 0.18444513, 0.10041875, -0.13144056, -0.30685145, -0.23832887, 0.15063612, 0.03259291, 0.13059925) * g_11; + result += mat4(-0.18238647, -0.24912533, 0.0064255036, 0.20445079, 0.071332455, -0.24193963, 0.058854166, 0.15322176, 0.08335828, 0.08328783, -0.120153025, -0.05942993, -0.10702824, 0.17542586, 0.27479908, 0.2176634) * g_12; + result += mat4(0.08722579, 0.22445773, -0.22038916, -0.1705768, -0.33885807, 0.2610493, -0.14401726, 0.036701087, 0.05118682, 0.016674992, 0.017907443, 0.33134872, 0.24759968, -0.2189978, 0.17513935, -0.31552628) * g_13; + result += mat4(0.09722241, 0.09016698, 0.0020826897, 0.014243476, -0.09178259, 0.26038414, -0.119483896, 0.06568409, 0.112089686, -0.1854509, -0.0032295822, 0.082286656, -0.20125629, 0.36961597, -0.15095985, 0.090025686) * g_14; + result += mat4(-0.03207223, -0.016992198, -0.019505465, -0.3158222, -0.15192394, 0.18241268, -0.3502777, 0.05187207, 0.16714574, -0.067549706, -0.08512221, 0.03171733, -0.21070172, -0.14597628, 0.16120993, -0.002882248) * g_15; + result += mat4(0.06358728, 0.06935574, -0.065100305, 0.02331908, 0.20260555, 0.14417367, 0.11311691, 0.041373946, -0.17366521, -0.24190584, 0.14318806, -0.12791471, -0.005797247, -0.01352598, 0.09355765, 0.08071775) * g_16; + result += mat4(-0.21877107, -0.06376343, 0.015047983, -0.05071754, 0.24015504, -0.096376784, -0.050906435, -0.108564705, 0.0022815794, 0.10404753, -0.017777193, -0.18843737, 0.33381376, -0.009765667, 0.10630329, 0.04319869) * g_17; + result += mat4(0.03913534, -0.18320137, -0.1895394, -0.35816035, 0.06605666, 0.14718485, 0.0705968, 0.03142451, -0.018191794, -0.03973546, 0.09669648, -0.06763489, 0.077504024, 0.22267477, -0.3280302, 0.051078096) * g_18; + result += mat4(0.17017639, 0.048948385, 0.17666607, 0.28847146, -0.27951127, -0.2408892, -0.3000307, 0.1043314, 0.0788232, -0.13186172, -0.20950924, -0.11522397, -0.24694261, 0.1315647, -0.11994133, 0.09964028) * g_19; + result += mat4(-0.03482202, -0.21670073, -0.24369243, 0.048367083, -0.3383805, -0.28556088, -0.05187166, -0.04785393, -0.056278072, -0.0046066013, -0.10573621, -0.12896368, 0.02629063, -0.07221729, 0.349292, -0.06192709) * g_20; + result += mat4(-0.14670531, 0.02437431, 0.18400094, -0.18659692, 0.2216187, 0.034236856, -0.12323594, 0.1603975, 0.22086559, -0.0026523015, -0.13258888, 0.12981693, -0.033014633, 0.105112545, 0.03881624, -0.08425293) * g_21; + result += vec4(0.0119343875, -0.042267065, 0.010792121, 0.007296717); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x88 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_15_tf3 +//!BIND conv2d_17_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!SAVE conv2d_18_tf2 +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.12408465, -0.16741575, 0.06765819, -0.15944858, -0.19950457, -0.1716973, 0.048808597, 0.043000113, 0.007647513, 0.13003102, 0.06868207, -0.0016408832, -0.24698295, 0.033724148, 0.26656294, -0.04168408) * g_0; + result += mat4(0.025299544, -0.2481157, -0.07735063, 0.07958534, 0.04743938, 0.123626634, 0.14503284, -0.200222, 0.20223439, 0.08858626, -0.37553144, 0.02513245, 0.09171499, 0.08145674, -0.028931713, 0.04081231) * g_1; + result += mat4(-0.04600147, 0.14647272, 0.18308495, 0.06990148, -0.06455617, 0.09861496, -0.13262698, 0.16287735, 0.06737012, 0.03652816, -0.22811131, -0.064241834, -0.035340827, 0.29290062, -0.022302201, -0.19858247) * g_2; + result += mat4(-0.11037198, 0.12009516, -0.14232409, 0.2716094, -0.04082168, -0.10308978, -0.18808627, -0.017621756, -0.031254657, -0.26940623, 0.24271232, -0.1467802, 0.10700058, -0.18850107, -0.08067445, -0.017454604) * g_3; + result += mat4(-0.090594314, -0.019169644, -0.029233063, 0.34922495, -0.22969832, 0.04161748, 0.0016718027, -0.13671273, 0.20134616, -0.01069757, -0.41116753, 0.011301641, -0.093161866, -0.0598387, -0.20625715, -0.04319863) * g_4; + result += mat4(0.1400459, -0.08488729, -0.14534405, 0.13608801, 0.054499432, 0.013480982, -0.115060575, -0.051957313, -0.11556034, -0.06907556, 0.2383428, -0.0032338845, -0.015882459, 0.24332793, -0.29487756, -0.31111467) * g_5; + result += mat4(0.0035557884, -0.10662409, -0.167661, -0.038467426, 0.0067648925, -0.14742504, -0.15988947, -0.18424144, -0.015692392, 0.024426097, 0.18659574, -0.06826323, -0.098989435, -0.120715715, -0.012542293, -0.012921739) * g_6; + result += mat4(-0.22045317, -0.039446186, 0.02062722, 0.04877487, 0.057328302, 0.107455134, -0.24580365, 0.084131025, 0.028729152, 0.4286281, -0.05177413, 0.23257121, 0.08110685, -0.22814348, -0.041566104, 0.2465172) * g_7; + result += mat4(0.37156427, 0.26804617, 0.20049824, -0.021026293, 0.13211878, 0.040705554, 0.002239553, 0.20452338, -0.030344317, 0.099040724, 0.3838666, 0.055573136, 0.27482164, 0.23077035, -0.017845538, -0.26252562) * g_8; + result += mat4(-0.25934902, 0.04962634, -0.11156898, -0.07086993, 0.12231552, -0.040678304, 0.16707222, -0.068827145, -0.20247164, 0.16845146, 0.21900423, -0.40101337, -0.20267262, 0.012057886, -0.16219872, 0.042600926) * g_9; + result += mat4(0.076830566, 0.07031241, 0.23169716, -0.028218819, 0.12506121, -0.19878168, 0.14684094, 0.0931965, 0.20331647, -0.12333559, 0.22961548, -0.15381584, 0.08874619, 0.14223523, 0.16359226, -0.28227505) * g_10; + result += mat4(-0.052383065, -0.078102276, 0.065739855, 0.0415868, -0.07094788, 0.16164882, 0.043656457, -0.0960344, -0.22771464, 0.13144033, -0.1159355, 0.046441697, -0.24606496, -0.25741673, 0.004535607, -0.0065205614) * g_11; + result += mat4(0.23244801, -0.31457657, -0.10946917, -0.3663475, 0.17705315, 0.05067217, -0.1933483, 0.027725892, 0.03238109, 0.16744693, -0.057594296, -0.07276957, 0.03234641, -0.1372411, -0.08171865, -0.12950452) * g_12; + result += mat4(-0.15673116, 0.19919762, -0.10481654, 0.10979371, 0.04279017, 0.022970842, 0.041732438, 0.043996546, 0.010470399, 0.040505856, -0.03274834, 0.0009573305, 0.08111623, 0.047052007, -0.15586549, 0.04683318) * g_13; + result += mat4(-0.24751675, -0.08296508, 0.11407727, -0.2166629, 0.26892385, 0.24061169, 0.13039055, -0.025301076, 0.112557106, 0.33924893, -0.26320595, -0.3333313, -0.18867135, -0.15030354, -0.41406167, 0.049163118) * g_14; + result += mat4(0.1665652, -0.21874574, 0.028786177, 0.2146646, -0.015547626, -0.012667473, 0.10428667, 0.14486806, -0.03420849, -0.012048649, 0.2303649, 0.17137095, -0.16784278, 0.08330269, 0.15572217, -0.08734928) * g_15; + result += mat4(-0.191288, -0.2011081, -0.16282842, -0.16686897, 0.11942609, -0.14166519, 0.01405599, 0.18117349, -0.096682444, 0.010184171, -0.023849446, 0.17224887, 0.30125615, -0.06356407, 0.103124686, 0.014888768) * g_16; + result += mat4(0.25378457, 0.075565144, -0.19106098, -0.14747557, -0.15002617, 0.028056031, -0.0025413758, 0.07962606, -0.015789257, -0.17432348, 0.12131772, -0.055529855, -0.041077815, -0.19829613, 0.13878337, -0.24223712) * g_17; + result += mat4(-0.29446965, 0.15235735, 0.06717627, -0.015626365, 0.014169811, 0.07045108, 0.10471683, -0.05982132, -0.13769852, 0.12853971, 0.1119684, -0.14485933, -0.075092256, 0.24838834, 0.0017574847, -0.0804142) * g_18; + result += mat4(0.24836873, 0.00066609884, -0.13763703, 0.14340822, -0.14462134, -0.038759258, -0.09077153, -0.0441944, 0.10637402, -0.18241063, 0.0067824926, 0.13309585, 0.07101235, -0.051455706, 0.06795849, 0.31597748) * g_19; + result += mat4(0.25393802, 0.19519086, -0.18530098, 0.049162578, -0.008795799, 0.36194384, -0.00040475396, -0.27478936, 0.22377892, -0.18955742, 0.30927923, -0.21051413, 0.36050028, 0.028015982, 0.050072942, 0.5546838) * g_20; + result += mat4(0.075164825, -0.044605773, -0.14191186, 0.21589251, -0.18884787, 0.011185897, 0.17542075, 0.1676064, -0.2930037, 0.21933044, -0.035698287, 0.070793465, -0.16923343, -0.09259949, -0.11534973, 0.060004164) * g_21; + result += vec4(-0.0090077715, -0.014536999, 0.043094933, -0.0062093455); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x88 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_15_tf3 +//!BIND conv2d_17_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!SAVE conv2d_18_tf3 +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.0752077, -0.0029171302, -0.27563673, -0.014811605, 0.02846672, 0.032712437, 0.23822306, -0.05769253, -0.15474099, 0.093151525, 0.06375694, -0.13745429, -0.04572417, 0.3199813, -0.022760388, 0.16357492) * g_0; + result += mat4(0.02650099, 0.0128598865, -0.13053481, 0.037058145, -0.055677533, -0.079210766, -0.03356954, 0.1069868, -0.07710097, 0.12506554, -0.13472609, -0.026160635, 0.1821316, 0.052085042, -0.19033344, -0.090145096) * g_1; + result += mat4(-0.03734377, 0.07147657, 0.10820697, -0.024222745, 0.1403612, -0.1505265, -0.17980108, 0.26694953, 0.0217602, 0.037542872, -0.08249127, 0.042201407, 0.2006786, -0.059707034, 0.03880093, -0.1826765) * g_2; + result += mat4(-0.11878983, -0.28029415, -0.04900442, -0.13629057, -0.05066402, -0.05337549, 0.07343749, -0.1209636, 0.16849558, -0.106414795, 0.05464871, 0.17617467, -0.2489627, 0.29946232, -0.123174965, 0.056576844) * g_3; + result += mat4(-0.17408213, 0.09776442, 0.057589754, 0.18333124, -0.09720728, 0.16222644, -0.005483807, 0.15910664, 0.30478597, 0.014245162, -0.31090343, 0.06744939, 0.019972727, -0.113528624, 0.10990966, -0.10937443) * g_4; + result += mat4(0.12755792, 0.16373649, 0.019118445, 0.21310984, -0.10995382, -0.08398977, 0.0009497389, -0.12245982, -0.25080305, 0.26576582, 0.073143534, 0.09062886, 0.3211899, -0.012361862, -0.094413824, 0.016505178) * g_5; + result += mat4(0.04496885, 0.057987563, -0.06828201, -0.25538024, -0.25729346, 0.1581948, -0.08318907, -0.26187086, -0.06994225, -0.0108814975, 0.27547085, 0.19735947, -0.25765172, 0.23375468, -0.02491318, 0.19695699) * g_6; + result += mat4(-0.18447195, 0.3949247, 0.23520981, 0.16501734, 0.014326944, -0.21483032, -0.09887618, -0.1530724, 0.087982565, -0.30155778, -0.09407708, -0.07609285, 0.12439066, -0.046371937, -0.10052105, 0.042462338) * g_7; + result += mat4(0.45384184, 0.23962094, -0.09288032, 0.43883595, 0.017768994, -0.28214878, -0.30303338, 0.06788283, 0.23333043, 0.012060692, 0.08277374, 0.18042035, 0.18759233, -0.009545223, -0.027723255, 0.016402755) * g_8; + result += mat4(-0.3158644, -0.1611719, -0.044279657, -0.03122654, 0.20287034, 0.19071461, -0.032826696, -0.25104183, 0.03608647, -0.027464861, 0.118140586, -0.016250696, -0.2791853, -0.15649952, -0.17356332, -0.0036406678) * g_9; + result += mat4(0.037999913, 0.0075079957, -0.03212704, 0.06418637, -0.069481015, 0.012727689, 0.1326516, 0.21288529, -0.24180269, -0.05297486, -0.06864697, -0.1550755, -0.11256537, 0.34002435, -0.08510081, 0.18888487) * g_10; + result += mat4(-0.16029695, -0.04566749, -0.14091927, 0.13358699, -0.10535976, 0.0039140307, -0.023005482, -0.011232076, 0.3731448, -0.08050772, 0.24036883, 0.003388208, 0.2694246, -0.10064168, -0.09378355, 0.08715414) * g_11; + result += mat4(-0.009987239, -0.16815887, 0.079718135, 0.3046235, 0.08460679, 0.010675847, 0.026123201, 0.042994894, 0.14086412, 0.16343307, 0.030049993, -0.13560392, -0.028959347, -0.051606726, 0.20051792, 0.2660683) * g_12; + result += mat4(-0.041822806, -0.059724808, 0.03475158, -0.21370164, 0.2706948, 0.029740596, -0.045692813, -0.18892711, -0.072185665, -0.033861183, -0.1753473, -0.15868294, -0.04698167, -0.15849903, -0.10530276, 0.09699679) * g_13; + result += mat4(-0.14366704, 0.0054797325, 0.019186102, 0.2016934, -0.12337197, 0.03666924, -0.08487317, -0.02910447, 0.19810423, 0.19303478, -0.12032341, 0.012882501, 0.07518216, -0.16929416, 0.11856349, 0.19008183) * g_14; + result += mat4(0.29109573, -0.2495297, -0.23351379, 0.06592844, 0.22335382, -0.12432068, 0.23873796, 0.03394475, -0.111712426, -0.031314444, 0.042552706, 0.26120943, -0.100280665, 0.33024225, 0.00090209645, 0.08790097) * g_15; + result += mat4(0.19417305, 0.019389676, -0.0022192579, -0.10152884, -0.07527296, 0.09672377, 0.1896058, -0.08312996, -0.098250404, -0.005925583, -0.080828406, -0.04157932, -0.2395506, -0.2046314, -0.18201615, -0.23270196) * g_16; + result += mat4(-0.14487964, -0.06290274, 0.041151002, 0.069312826, -0.036889106, -0.026325129, -0.06404841, -0.070130795, 0.19873784, 0.008724542, 0.33345434, -0.12738648, 0.010419843, 0.0016074138, 0.028482364, -0.05086976) * g_17; + result += mat4(-0.2099938, 0.22374807, 0.0014840614, -0.09744533, -0.36373836, 0.070096895, 0.18809755, 0.055123232, -0.12190152, -0.089326, 0.037977137, -0.2779433, -0.0022680282, 0.1324952, 0.19014698, 0.11292094) * g_18; + result += mat4(0.0045333416, -0.27289414, -0.10013291, 0.03997672, 0.18506177, 0.15360181, 0.0620571, 0.18008661, 0.03184327, -0.047722574, 0.21967985, 0.12443793, 0.11032391, 0.016790923, -0.32427138, 0.11624099) * g_19; + result += mat4(0.098094285, -0.017424708, -0.13152607, -0.14184679, -0.2696629, 0.026611622, 0.4969703, -0.23566079, 0.18346384, 0.17655236, 0.046510983, 0.20738232, -0.08645157, 0.25616655, 0.1875624, 0.22396664) * g_20; + result += mat4(-0.049922127, -0.026013017, 0.17512889, 0.18352829, 0.22210887, 0.008942828, 0.004796096, -0.08654042, 0.0025269054, -0.1767342, -0.05939487, -0.27815545, -0.058232002, -0.033121955, 0.14671248, 0.24188647) * g_21; + result += vec4(0.0011495166, -0.055540904, 0.0047202418, 0.03799147); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_18_tf3 +//!SAVE conv2d_20_tf +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_18_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_18_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.044937417, 0.048447855, 0.083308615, 0.092284754, -0.0181884, -0.074617974, -0.09839621, -0.016019326, 0.18228799, -0.0033461945, 0.0031036607, 0.067903504, 0.02840241, 0.004259963, -0.07799968, -0.15254761) * go_0(-1.0, -1.0); + result += mat4(-0.074605174, -0.021673577, -0.024128562, 0.2274735, -0.04754136, -0.0072301123, 0.044593625, 0.06290077, -0.07341891, -0.11062263, 0.015977673, 0.13271153, 0.0125340205, -0.30848256, -0.0294588, -0.058981024) * go_0(-1.0, 0.0); + result += mat4(-0.06880596, 0.07861734, 0.06230101, -0.21278046, -0.015175281, 0.051755223, -0.05062869, 0.07665549, -9.789482e-05, 0.017449457, -0.03148236, 0.032569613, -0.16927092, 0.04140039, 0.13179661, -0.11682168) * go_0(-1.0, 1.0); + result += mat4(-0.11754224, 0.095256306, -0.0267522, 0.117244296, -0.06679038, -0.14423116, 0.008753021, -0.13522816, 0.32430363, -0.07516473, 0.0884106, 0.109716386, 0.01316052, 0.1265721, -0.08230337, -0.16951492) * go_0(0.0, -1.0); + result += mat4(0.052862044, -0.1066403, -0.15742472, -0.021761592, 0.04103098, 0.0069331047, -0.10831112, 0.16824234, -0.039246615, -0.104807, -0.1276423, 0.18865128, -0.006320688, -0.048721224, 0.039028827, 0.034621365) * go_0(0.0, 0.0); + result += mat4(-0.13396205, -0.037514646, 0.03854674, -0.11708971, -0.04473296, -0.0427142, -0.03922634, -0.012055486, -0.0713734, -0.052256644, 0.09374825, 0.10671724, -0.11720148, 0.015559748, -0.068319045, 0.03940586) * go_0(0.0, 1.0); + result += mat4(0.07766306, 0.10215098, 0.06919037, -0.17507964, -0.0224577, -0.09488675, 0.037218474, 0.12245416, 0.002906219, -0.14230973, -0.15529205, -0.012410999, 0.050543465, 0.25078198, -0.076290086, -0.09539849) * go_0(1.0, -1.0); + result += mat4(-0.24771377, 0.29934087, 0.36741728, -0.081612505, -0.09421008, -0.03338117, 0.00770625, -0.0807573, 0.05629427, -0.13825126, -0.093152806, -0.14876693, 0.124724984, 0.11831619, 0.0093180025, 0.008178739) * go_0(1.0, 0.0); + result += mat4(-0.19953942, 0.13807932, 0.063479654, 0.055287417, 0.062464323, 0.08311073, -0.1212773, -0.058174774, -0.054694623, 0.00278662, 0.04164216, 0.024520626, -0.0028598052, 0.13241982, -0.08831944, -0.103147596) * go_0(1.0, 1.0); + result += mat4(-0.0967617, 0.016865727, 0.033930458, -0.067517124, -0.08143233, 0.11248768, 0.16044517, -0.0918291, 0.11352542, 0.13249189, 0.079262465, -0.14966244, 0.16825606, 0.13976356, -0.018672522, 0.06830547) * go_1(-1.0, -1.0); + result += mat4(0.020573644, -0.07627649, 0.13454644, -0.10299404, 0.03338702, 0.19456132, 0.21792425, -0.043921873, -0.11219595, 0.10156094, 0.34819186, -0.17428596, 0.010211143, 0.012615089, 0.14706622, 0.13036577) * go_1(-1.0, 0.0); + result += mat4(-0.09807624, 0.053031713, 0.010114223, 0.11387094, -0.12416189, -0.05332428, 0.11184832, -0.063775964, -0.060522594, -0.10235956, 0.19231878, 0.037564367, -0.045896467, -0.25912943, -0.0051183715, 0.029018847) * go_1(-1.0, 1.0); + result += mat4(-0.04231676, -0.028609525, 0.057871167, -0.1361291, 0.073622614, 0.15908286, -0.02605266, -0.14374852, -0.17682624, 0.06470609, -0.062141493, 0.13539086, 0.039907347, 0.17547756, -0.10069048, 0.14575362) * go_1(0.0, -1.0); + result += mat4(0.14781195, -0.1207278, 0.10171179, -0.012158863, -0.0648726, -0.05067717, -0.108461335, 0.09611601, -0.22471888, -0.041238673, 0.42109078, -0.023078883, 0.005550056, 0.14077905, -0.07702439, -0.17981862) * go_1(0.0, 0.0); + result += mat4(-0.08222549, -0.25220507, 0.07068236, -0.09501228, -0.058567703, 0.18078758, 0.08493963, -0.04706646, -0.07752385, 0.22867827, 0.43284795, -0.119005986, 0.11396432, 0.03755704, -0.13391183, -0.045842096) * go_1(0.0, 1.0); + result += mat4(-0.029319478, -0.031345777, -0.04146813, -0.18742836, 0.05656507, -0.04932647, -0.04031392, 0.04714981, 0.09905856, -0.1557463, 0.22732857, 0.124624394, -0.027559387, -0.0631443, -0.11783128, -0.068318576) * go_1(1.0, -1.0); + result += mat4(0.036678102, -0.04496146, 0.053592633, -0.017061822, -0.16011058, -0.018597312, -0.04795915, -0.19371147, 0.013877209, -0.16219841, 0.3344047, 0.22396322, 0.1655194, 0.018836739, 0.0066360724, -0.041264933) * go_1(1.0, 0.0); + result += mat4(0.17590195, -0.21852443, -0.063316286, -0.14840998, 0.08429532, 0.099983774, -0.09637425, -0.12383555, -0.46428207, 0.28052437, 0.23529863, 0.31109875, -0.021004857, 0.03629119, 0.02174644, -0.06345743) * go_1(1.0, 1.0); + result += mat4(0.0033629127, 0.25259435, -0.06322473, -0.06795082, -0.060908336, -0.021225693, -0.0011893079, -0.00523214, 0.07534854, -0.12201404, 0.00017070201, 0.17880718, 0.14248244, 0.09638889, 0.013353205, -0.06181964) * go_2(-1.0, -1.0); + result += mat4(0.01065417, 0.12393771, -0.034842763, -0.07509877, -0.15372895, 0.016765343, 0.09254217, 0.12257388, 0.022180652, -0.030108888, 0.07577313, 0.35234603, 0.10218102, 0.03712338, -0.02331717, 0.026395774) * go_2(-1.0, 0.0); + result += mat4(0.034914777, -0.024654558, -0.07092997, -0.10597986, 0.021626685, 0.0778654, 0.03075065, 0.12987527, -0.10354716, 0.24356553, 0.0047885147, 0.15563188, -0.08935487, -0.0036677858, -0.081980035, 0.065517485) * go_2(-1.0, 1.0); + result += mat4(-0.0030894869, -0.07042775, 0.07033567, 0.0007813812, -0.0045792167, 0.0067564882, 0.08738557, 0.013517325, 0.027216235, -0.30188036, 0.16504927, 0.108619414, 0.12235739, -0.019714208, -1.917685e-05, -0.009782368) * go_2(0.0, -1.0); + result += mat4(0.18741177, -0.009456037, 0.11263775, 0.068504825, 0.17653711, -0.13130501, 0.07111923, 0.14623673, -0.0784866, 0.018973308, -0.18667376, -0.0030729955, -0.21694791, -0.09208482, -0.09062837, -0.03970734) * go_2(0.0, 0.0); + result += mat4(0.027665026, 0.12481046, -0.0032814168, -0.084358685, -0.037114885, -0.04781222, -0.035071872, -0.007481581, 0.08721501, 0.030526934, -0.1601082, 0.12486214, -0.106055416, 0.0029791344, 0.17318581, 0.12410092) * go_2(0.0, 1.0); + result += mat4(0.118337214, 0.03615044, 0.04502058, 0.08257654, 0.025757724, 0.03670688, 0.034917187, -0.10173083, -0.006062918, -0.2945267, 0.06369701, 0.0137756625, -0.016772032, 0.15557672, 0.0049166935, 0.0656083) * go_2(1.0, -1.0); + result += mat4(0.022286592, 0.14136387, -0.02238988, -0.061914526, -0.13922122, -0.10147098, -0.16373332, -0.040234692, 0.07255956, -0.23892853, 0.027203718, -0.053363908, 0.07188231, 0.07167074, -0.089111716, -0.092501454) * go_2(1.0, 0.0); + result += mat4(0.11419243, 0.10572503, 0.012458144, 0.14847183, -0.07630887, -0.1240132, -0.11097759, 0.006272337, -0.20672877, -0.002584412, -0.2864884, 0.07989555, 0.17726102, 0.12609701, -0.1207267, -0.08164101) * go_2(1.0, 1.0); + result += mat4(0.0568376, 0.038211502, 0.12871593, 0.038896654, 0.14495145, -0.02272981, 0.16328958, -0.12590832, -0.11422924, 0.027326366, -0.10373723, 0.042205583, -0.11788447, 0.09674761, -0.009186724, 0.12916812) * go_3(-1.0, -1.0); + result += mat4(0.25162545, -3.3890476e-05, 0.08703825, -0.11607008, 0.043662522, 0.07685117, -0.078283735, 0.08058169, 0.14562704, 0.1263126, 0.025494901, 0.1434209, 0.0058127, 0.22206631, 0.056236282, 0.03112681) * go_3(-1.0, 0.0); + result += mat4(0.1508685, 0.14413457, -0.12965852, -0.0767775, 0.02239246, 0.0486881, 0.02708027, 0.13305739, -0.073364966, -0.23306695, -0.015565839, 0.20494083, 0.045842633, 0.05245319, -0.089223884, -0.19746971) * go_3(-1.0, 1.0); + result += mat4(0.03407531, -0.0199329, 0.027199576, 0.053895712, 0.10523401, -0.00079743547, -0.01529229, -0.15297304, -0.13332592, -0.060349334, 0.0061332216, 0.18814796, 0.012662228, 0.0073347082, -0.003916167, -0.049153768) * go_3(0.0, -1.0); + result += mat4(0.21898924, -0.14015318, -0.01880963, 0.024525873, -0.018284999, -0.03600013, 0.1471339, -0.11856043, -0.082241, -0.05110251, 0.0058987355, 0.16994491, -0.084030256, -0.014700169, -0.019073943, -0.0005540768) * go_3(0.0, 0.0); + result += mat4(0.07361808, 0.11753613, -0.17573234, 0.10069508, -0.07894968, 0.09821436, -0.04819396, 0.1710404, -0.06865986, -0.21991591, -0.08604316, 0.11743923, 0.16363063, -0.0044579147, 0.073955975, 0.13638073) * go_3(0.0, 1.0); + result += mat4(0.17112228, 0.114324905, -0.036968656, -0.0061882585, -0.006032986, 0.05828771, 0.085324764, -0.062027562, 0.037088934, 0.032255128, -0.03592664, -0.19114986, -0.0286621, -0.010474721, -0.08184074, -0.0767977) * go_3(1.0, -1.0); + result += mat4(0.22109716, 0.042693872, 0.012977061, 0.12626338, -0.07328396, -0.1132474, -0.05768092, 0.091643445, 0.070683114, -0.28736666, -0.102677405, 0.22341383, -0.036884498, 0.048239507, -0.15111351, 0.022938028) * go_3(1.0, 0.0); + result += mat4(0.17241299, -0.14343849, 0.1457155, 0.23233247, -0.009644811, -0.07371276, -0.10846692, 0.119923145, -0.11526157, 0.009521168, -0.08990165, 0.042389054, 0.12759185, -0.04057633, 0.13556476, -0.0750476) * go_3(1.0, 1.0); + result += mat4(-0.07057242, -0.046533734, -0.09127049, -0.12572412, 0.28842014, 0.085501306, -0.01678872, -0.02594478, -0.23138525, -0.008161634, 0.0021849584, 0.24040027, -0.07196583, -0.04965109, 0.061478186, 0.041812465) * go_4(-1.0, -1.0); + result += mat4(0.19036561, -0.11583304, -0.22355288, -0.14028679, -0.19531016, -0.02589591, -0.21036756, 0.0035499155, -0.004294659, 0.04542862, 0.1055855, 0.024736254, 0.13763857, 0.05766982, 0.056523565, 0.028325588) * go_4(-1.0, 0.0); + result += mat4(0.11237154, 0.043256927, 0.017431485, -0.0063742045, -0.028992388, 0.23557092, 0.048805054, -0.057487488, 0.054092478, 0.04279068, 0.09719473, 0.074141964, -0.05562619, 0.06459983, 0.028208548, -0.08197527) * go_4(-1.0, 1.0); + result += mat4(0.09675773, 0.06187072, -0.120159745, 0.0363127, 0.068880804, 0.11438982, -0.21400967, -0.034944117, -0.2789711, -0.025760768, 0.12704164, 0.14817503, -0.113694414, -0.023896972, 0.056133054, 0.12856814) * go_4(0.0, -1.0); + result += mat4(-0.039551336, 0.02414355, 0.046248544, 0.08297268, 0.2777636, 0.0395731, -0.29962054, -0.062017623, -0.056899525, 0.11770196, 0.073587514, 0.03227282, 0.06346027, 0.14693345, 0.040321756, 0.17926331) * go_4(0.0, 0.0); + result += mat4(-0.03262714, 0.04432936, -0.010022308, 0.06866386, -0.023532862, 0.1279886, -0.13090476, 0.088888384, -0.10617142, 0.018608363, 0.024575554, 0.07597439, -0.13128175, 0.0627398, -0.03188158, -0.12345985) * go_4(0.0, 1.0); + result += mat4(0.22050938, 0.09904495, -0.064640984, 0.176781, 0.13351202, -0.17335273, 0.022876775, 0.1470234, -0.0487661, -0.01561562, -0.052204117, -0.032184783, 0.15990984, -0.026727494, 0.21689259, -0.08648963) * go_4(1.0, -1.0); + result += mat4(0.1310737, -0.09932602, -0.06940647, 0.099468544, -0.16164872, 0.15766169, -0.1477972, 0.09341531, -0.026328826, 0.04440307, 0.02531873, -0.07123685, -0.17359257, 0.012940533, 0.15596846, 0.10485768) * go_4(1.0, 0.0); + result += mat4(-0.022599395, -0.020247133, 0.009991452, -0.05430967, 0.1280059, -0.12089965, -0.2174703, -0.07056124, -0.14782687, -0.0008365381, 0.123130105, 0.025005372, 0.0036068684, -0.10402044, -0.0009908049, -0.054808475) * go_4(1.0, 1.0); + result += mat4(0.030255707, 0.09742665, -0.14504671, 0.04289667, -0.09251999, -0.01946357, -0.012327684, 0.036804516, 0.03163578, -0.10249547, -0.014813775, -0.00026111543, -0.17179371, 0.13949569, -0.002388145, 0.16666071) * go_5(-1.0, -1.0); + result += mat4(0.24199614, 0.047389742, 0.07160782, -0.069903806, 0.091209106, 0.0046723653, -0.20447905, -0.27765435, -0.030525608, 0.014136673, -0.17410484, 0.0042117727, -0.09667215, 0.07767184, -0.16025436, -0.01711868) * go_5(-1.0, 0.0); + result += mat4(0.032093786, 0.008447192, -0.2242103, 0.15991135, 0.03642655, -0.19743109, 0.096700616, 0.09572071, 0.07189276, 0.04323664, -0.13420205, -0.036304954, 0.18866757, 0.05249209, 0.02258907, 0.043603756) * go_5(-1.0, 1.0); + result += mat4(0.21241972, -0.020528294, 0.013225208, 0.0032435162, -0.13307743, 0.073513694, -0.05515645, 0.06746327, 0.012730669, -0.069440864, 0.061683428, -0.020925932, -0.1625713, -0.27553958, 0.048129015, 0.024371317) * go_5(0.0, -1.0); + result += mat4(0.042910665, -0.006088536, -0.0977882, 0.25844765, 0.056927476, -0.102052286, 0.0383438, -0.14567667, -0.10850187, 0.09887437, -0.074544564, -0.036828544, 0.09705893, 0.005408503, 0.08691096, -0.009896828) * go_5(0.0, 0.0); + result += mat4(0.08804541, 0.2759786, -0.3219349, 0.006462185, -0.02274468, -0.25201473, 0.06960456, 0.09282902, -0.058285296, 0.043784343, -0.06650367, 0.08615283, -0.09442146, 0.21977374, 0.07510316, 0.046129383) * go_5(0.0, 1.0); + result += mat4(-0.09854926, -0.0040589753, -0.0046874275, -0.05606601, -0.09644158, -0.025443854, 0.06679157, 0.105184354, 0.12847804, 0.034818232, -0.11927682, 0.062153667, -0.084697284, -0.16093484, 0.055803664, -0.038259108) * go_5(1.0, -1.0); + result += mat4(0.012121266, -0.044610072, -0.15920639, -0.21455094, -0.17556362, 0.11795087, 0.2782554, -0.0560055, -0.016328325, 0.017426671, -0.016999241, -0.0111242365, -0.11401752, -0.03055185, -0.1208023, -0.03324553) * go_5(1.0, 0.0); + result += mat4(-0.019453831, 0.3024969, -0.12421807, -0.07486924, -0.023773434, -0.018630482, 0.08937093, -0.16911122, 0.03174539, -0.034223765, -0.059252728, 0.048566185, -0.0227469, 0.250467, 0.0063438215, 0.12399077) * go_5(1.0, 1.0); + result += mat4(-0.14244945, -0.18781039, -0.09052935, 0.040344022, -0.09200208, -0.0020364511, -0.082314745, 0.1985458, 0.057018146, -0.19020353, 0.10604089, 0.041587926, 0.019805325, 0.11863782, 0.10040279, -0.07886153) * go_6(-1.0, -1.0); + result += mat4(-0.08785371, 0.0012416831, -0.14245462, 0.014491134, -0.092272095, -0.016375266, 0.07059052, 0.19758694, -0.051378895, -0.03128126, -0.01885893, 0.0007555793, 0.07984798, 0.002815637, -0.06356219, -0.08836911) * go_6(-1.0, 0.0); + result += mat4(0.10801107, 0.105199136, -0.015165762, -0.07823724, 0.01590213, 0.1501628, 0.035745613, -0.11738953, -0.03570796, -0.08615849, -0.058338642, 0.036825087, -0.08304603, 0.113460265, 0.061258268, 0.037475646) * go_6(-1.0, 1.0); + result += mat4(0.06608076, -0.10083555, 0.008354693, -0.13444132, 0.04017474, 0.0844823, 0.041038416, -0.027660541, -0.027312018, -0.13453196, 0.06543276, -0.07885408, 0.24397506, -0.029557763, 0.2645681, -0.05556161) * go_6(0.0, -1.0); + result += mat4(-0.012051555, -0.10064483, 0.10473231, -0.04926908, -0.0077788145, 0.113208905, -0.049261194, 0.18457137, 0.022148488, -0.08757704, 0.058209743, -0.029347239, 0.10784222, 0.06428691, 0.14934374, 0.12799424) * go_6(0.0, 0.0); + result += mat4(0.056571472, -0.053636614, -0.12792027, -0.041265823, -0.010318963, 0.057668775, 0.13060106, -0.0029116163, 0.080650404, -0.14664799, 0.029553872, 0.0031002741, -0.08129353, -0.039393093, 0.0011153305, 0.05358428) * go_6(0.0, 1.0); + result += mat4(-0.053597085, -0.074977115, 0.04966753, -0.082430005, -0.026584042, -0.036182676, 0.09082117, 0.1751359, 0.0567656, -0.25464153, 0.1587968, -0.07369893, 0.031964645, -0.015776938, -0.014184054, -0.037588824) * go_6(1.0, -1.0); + result += mat4(0.056245625, -0.19343334, -0.034719788, -0.036740743, 0.003161948, -0.05958242, 0.0011679974, 0.15001102, -0.050314993, -0.23588288, -0.18080509, -0.03913791, 0.02685433, -0.1591906, -0.0032332533, -0.067167796) * go_6(1.0, 0.0); + result += mat4(0.08710681, -0.009717672, -0.03706354, 0.058895897, -0.075231604, 0.13861851, 0.07861898, 0.07930051, -0.013427818, 0.02843637, -0.034422692, -0.048254225, -0.027066654, 0.017333468, -0.038676698, -0.010453218) * go_6(1.0, 1.0); + result += mat4(-0.0015142561, 0.15862244, -0.16688871, -0.0010665185, 0.02495258, 0.05192008, 0.018865002, -0.14237949, -0.00019605631, -0.023254955, -0.0027112218, 0.0700563, -0.21240579, -0.23829062, 0.09673947, -0.008365261) * go_7(-1.0, -1.0); + result += mat4(0.08631513, -0.10774427, -0.14574322, 0.01587099, -0.14665635, -0.06268823, -0.018062646, -0.09757734, -0.045135736, 0.022142613, -0.013806511, -0.12009454, -0.11501202, -0.18475524, 1.9658119e-05, -0.15122423) * go_7(-1.0, 0.0); + result += mat4(0.007342729, -0.13320936, -0.09675275, -0.059153594, -0.113123454, 0.015255657, 0.0479397, -0.025484433, -0.07649502, 0.020143446, -0.07246275, 0.23003843, -0.255473, 0.0018669645, 0.3184298, -0.08728176) * go_7(-1.0, 1.0); + result += mat4(0.0464958, -0.023199182, -0.049521483, 0.071012646, -0.17917378, -0.058197394, -0.17358148, -0.06618344, -0.014546293, 0.0595088, -0.03759275, -0.0059011593, -0.1661695, -0.03880235, 0.22888699, -0.084078975) * go_7(0.0, -1.0); + result += mat4(0.024697566, -0.23595122, 0.0761981, -0.13240968, -0.042000405, 0.029656362, 0.01941485, -0.10726825, 0.20714274, 0.01949488, -0.05405962, -0.004462848, 0.11120371, -0.09175814, 0.0110456, -0.0697384) * go_7(0.0, 0.0); + result += mat4(0.13779809, -0.09310028, -0.21324204, -0.16296703, -0.18191867, -0.00566912, -0.15037797, -0.13455078, 0.05498934, -0.087142125, -0.16798702, -0.112984024, -0.1773057, 0.00052684447, -0.027763423, -0.17234807) * go_7(0.0, 1.0); + result += mat4(0.12628955, -0.012055679, -0.117235065, 0.09219045, -0.071764685, -0.041950557, 0.08549711, -0.021074101, -0.10370811, 0.14320174, 0.037518226, -0.06568723, 0.12787178, 0.04144778, 0.067845285, -0.01826197) * go_7(1.0, -1.0); + result += mat4(0.10220034, -0.033858925, -0.092584774, 0.018473145, -0.10610732, -0.04457908, 0.05236731, 0.020222165, -0.047959488, 0.19325002, 0.041600883, 0.0060441773, -0.14774403, 0.04512932, 0.21706855, 0.045700278) * go_7(1.0, 0.0); + result += mat4(0.055435047, 0.111331224, -0.015313769, 0.013749339, 0.0928567, -0.08772887, -0.19616237, -0.26087436, -0.037580732, -0.09828942, 0.07386148, -0.14166622, -0.15666561, -0.33597684, -0.026530989, -0.054972704) * go_7(1.0, 1.0); + result += vec4(0.029201906, -0.0028833123, 0.015078028, -0.038192146); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_18_tf3 +//!SAVE conv2d_19_tf +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_18_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_18_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.021075599, -0.054250535, -0.15225379, -0.001421514, 0.05973969, -0.06851113, -0.021398136, 0.10361172, 0.014275951, -0.020496063, -0.07627704, 0.044158135, 0.1317084, -0.07949216, -0.024556203, 0.014688066) * go_0(-1.0, -1.0); + result += mat4(0.05021399, -0.043859698, 0.00085036585, -0.02000847, -0.10377328, -0.009204682, 0.15159367, -0.02152439, 0.0034898773, 0.10064295, 0.07660975, 0.08588586, 0.037336897, 0.1105897, -0.04757494, -0.05683813) * go_0(-1.0, 0.0); + result += mat4(0.038676567, -0.12891343, 0.13536555, -0.0697307, 0.07811669, -0.06324786, 0.06184392, 0.05041328, 0.0017139331, 0.083998576, 0.03101862, 0.058330044, 0.23353091, -0.10955777, 0.14883886, 0.16588917) * go_0(-1.0, 1.0); + result += mat4(-0.13064261, -0.10170279, 0.18957764, -0.011944436, -0.008516419, 0.06942766, 0.1333651, 0.030210488, 0.115560375, -0.19197729, 0.15315987, -0.0901618, -0.03568982, -0.025404692, -0.06520259, 0.055768777) * go_0(0.0, -1.0); + result += mat4(0.24911402, -0.055803575, 0.10609874, -0.05102895, -0.13672082, -0.049017977, -0.13644761, 0.022896811, -0.15682773, 0.05550682, 0.04735177, -0.14619595, -0.15788527, 0.124040954, -0.23663288, -0.18731435) * go_0(0.0, 0.0); + result += mat4(0.02943471, 0.06645124, -0.045207016, -0.08423218, 0.030922938, 0.0054495563, -0.1006787, 0.08239545, 0.029175663, -0.003539447, -0.036679298, 0.101064004, 0.11338603, 0.07038739, -0.16399391, -0.1493847) * go_0(0.0, 1.0); + result += mat4(0.04185234, -0.090882316, -0.05367747, 0.15270816, -0.056156795, 0.05310704, -0.047086164, -0.07563822, 0.03482228, -0.02955918, 0.07530092, -0.144532, 0.1075584, -0.054631174, 0.06471947, 0.120282896) * go_0(1.0, -1.0); + result += mat4(-0.007238141, 0.13488698, 0.015599895, 0.15120889, -0.040581208, -0.026664637, -0.011708266, 0.0610109, 0.035894353, -0.13144852, -0.02863478, -0.066748194, -0.04323779, -0.049163997, 0.041382704, 0.109267786) * go_0(1.0, 0.0); + result += mat4(-0.037647225, -0.13647673, 0.112618335, 0.11354436, 0.08061848, -0.010845823, -0.09419335, 0.033806674, 0.019806013, -0.089596435, 0.009464308, 0.0035862618, -0.0074079554, -0.009485658, 0.0763955, 0.08367428) * go_0(1.0, 1.0); + result += mat4(0.06907952, -0.052536193, 0.1763529, 0.15309668, -0.09956347, -0.07277225, -0.038373947, -0.037908833, 0.16181119, -0.025520757, -0.10903227, 0.10974898, 0.072151996, 0.012922294, -0.079603985, -0.15773883) * go_1(-1.0, -1.0); + result += mat4(-0.027342288, -0.07680874, 0.04974237, -0.08567885, -0.09929943, -0.035455007, 0.13131198, 0.16515696, -0.009102528, 0.05145574, 0.022984773, -0.029341707, 0.07288582, 0.00091653416, -0.13331193, -0.1204592) * go_1(-1.0, 0.0); + result += mat4(0.014472295, -0.10104673, 0.06167356, -0.0066606803, -0.07392597, 0.033783045, -0.122717455, 0.06814838, -0.11108132, -0.06297289, 0.121086955, 0.306241, 0.15277696, 0.0656951, -0.068692215, -0.004531433) * go_1(-1.0, 1.0); + result += mat4(-0.14150366, 0.11568731, 0.046074055, -0.026354427, -0.00021540816, -0.050237536, -0.002589603, -0.05037271, 0.15283322, 0.077606365, -0.026000943, 0.04725276, 0.060801037, -0.025782531, 0.14417455, 0.0014831548) * go_1(0.0, -1.0); + result += mat4(-0.16106884, 0.041359264, 0.04185298, 0.10449216, -0.07376945, -0.018479906, -0.07261673, -0.18092063, 0.15722854, -0.17281027, 0.34076685, 0.18638323, -0.021814108, -0.010158078, 0.009539704, 0.024126658) * go_1(0.0, 0.0); + result += mat4(-0.020093616, -0.0102490885, -0.15690912, 0.055884898, -0.016846402, 0.13414374, -0.1472554, 0.11840663, -0.08311564, -0.022485578, 0.32412425, 0.08863683, -0.029603742, -0.050152212, 0.057478085, 0.09996878) * go_1(0.0, 1.0); + result += mat4(-0.17542239, 0.09485826, 0.09920081, 0.015351153, 0.08114881, -0.12983656, 0.034618706, 0.030003658, -0.15099475, 0.2052961, 0.20252162, 0.1205947, 0.078157455, -0.016900357, 0.022622213, -0.06748161) * go_1(1.0, -1.0); + result += mat4(-0.087971665, 0.062397882, -0.07142019, 0.11933068, -0.00847593, -0.21142542, 0.05075018, -0.18219566, -0.16770703, 0.26589707, 0.12976934, -0.05131386, -0.06600382, 0.0024302478, -0.06897084, -0.22476815) * go_1(1.0, 0.0); + result += mat4(-0.07442399, 0.0017183317, 0.010965699, 0.13705957, 0.0005494493, 0.06494519, -0.047589395, 0.022372872, -0.09498922, -0.044349454, -0.18942389, -0.09328113, 0.053193945, 0.069452636, 0.024270676, 0.085541405) * go_1(1.0, 1.0); + result += mat4(-0.039297063, -0.0026948878, -0.08571043, 0.0647004, 0.004500067, -0.109853946, 0.095561184, 0.07627317, 0.022782452, -0.009354357, 0.18699041, 0.03624169, 0.06590244, 0.08779489, 0.09670581, 0.013879678) * go_2(-1.0, -1.0); + result += mat4(-0.043542888, 0.10199333, 0.033191778, -0.10077772, 0.10395939, -0.06852092, -0.07237032, -0.18194893, 0.026225125, -0.056160323, 0.08446246, 0.013397116, 0.07657753, 0.18428123, 0.056003574, -0.050301608) * go_2(-1.0, 0.0); + result += mat4(0.046665788, 0.08755995, 0.04464974, -0.0766558, 0.06281385, 0.09026257, -0.005853063, -0.18015854, 0.08414949, -0.056032974, 0.11389157, -0.15169302, -0.003766101, 0.011633537, 0.15049145, -0.09533107) * go_2(-1.0, 1.0); + result += mat4(-0.0595272, 0.05165694, 0.17036733, -0.019590864, -0.017012816, 0.20802979, -0.036727592, 0.0039354274, 0.013841891, 0.09793644, 0.053500295, -0.08375709, 0.07436116, -0.123924114, 0.13592327, -0.17214386) * go_2(0.0, -1.0); + result += mat4(-0.055947073, 0.07011482, 0.013577148, -0.1658796, -0.04328695, -0.17159998, 0.028221646, -0.032955963, 0.17267641, -0.029342541, -0.010461821, 0.15006398, -0.09205043, 0.20772073, -0.16671306, -0.12559414) * go_2(0.0, 0.0); + result += mat4(0.09860994, 0.21397981, 0.11715738, -0.047943972, 0.1284329, 0.08067804, -0.26018474, -0.16460776, 0.078657456, -0.06347525, -0.084702656, -0.08876526, 0.057452347, 0.12350108, -0.25147486, 0.067464665) * go_2(0.0, 1.0); + result += mat4(-0.02414774, -0.006014789, -0.16124673, -0.054590844, -0.030734671, 0.05109599, 0.11864468, -0.08336728, -0.011760623, 0.13827185, 0.07961881, -0.072460175, 0.01413179, 0.06742306, -0.16664205, -0.0798058) * go_2(1.0, -1.0); + result += mat4(0.07386209, 0.14170863, -0.06210615, 0.015531488, 0.00057893473, -0.0005763593, -0.073126875, -0.011790491, 0.013979303, 0.06740013, -0.023359954, -0.029758057, 0.066769704, 0.014488505, 0.0041438905, 0.061225288) * go_2(1.0, 0.0); + result += mat4(0.0069554485, 0.09764331, -0.0054218043, -0.2010452, 0.008887486, -0.017118184, -0.1340303, -0.027957728, 0.11632277, -0.03217801, -0.23497035, -0.036167137, -0.025200771, 0.005581373, -0.06958951, -0.07536721) * go_2(1.0, 1.0); + result += mat4(0.09321626, 0.12615682, 0.055691253, -0.090341516, 0.07008738, 0.00052956014, 0.08390906, -0.0031441932, -0.08124622, 0.008632992, -0.014327739, 0.06672952, 0.0031601167, 0.066681944, 0.22517303, -0.099632345) * go_3(-1.0, -1.0); + result += mat4(-0.09289536, -0.043043956, -0.05214391, -0.11719125, 0.00853943, 0.11287393, 0.09500855, -0.12966141, 0.18431212, 0.0748805, -0.046230618, -0.027745726, -0.18148296, -0.106141314, -0.0027885837, -0.02043344) * go_3(-1.0, 0.0); + result += mat4(-0.03763392, 0.11262269, -0.09432367, 0.087762475, 0.057269823, 0.005517798, 0.22757046, -0.04987115, 0.19129716, -0.03763542, -0.01590417, -0.039666392, -0.24493358, 0.04882048, -0.09947371, 0.10563259) * go_3(-1.0, 1.0); + result += mat4(0.093612835, 0.10622373, -0.010965033, -0.18060082, 0.050502308, 0.035397053, -0.074155636, 0.05722512, -0.08370328, 0.17707741, 0.11072773, -0.15585034, -0.05549326, 0.1031897, -0.10707569, -0.09843548) * go_3(0.0, -1.0); + result += mat4(0.19249113, 0.004272997, -0.11301988, -0.059472203, 0.16710956, 0.1320019, -0.010074136, 0.049597714, 0.11807218, -0.21680427, 0.18643682, -0.25256965, 0.054952204, -0.10841805, 0.008303385, 0.16246659) * go_3(0.0, 0.0); + result += mat4(0.12461618, 0.018174525, 0.11908521, -0.10700156, 0.006157429, -0.091230884, 0.08522994, -0.016037822, 0.09602615, 0.10351626, -0.12967208, 0.026805326, -0.07154254, -0.029481664, 0.21389903, 0.08344766) * go_3(0.0, 1.0); + result += mat4(-0.09969622, 0.07962598, -0.028466886, 0.050267693, -0.08045734, 0.03412841, 0.09335067, -0.013479, 0.043035932, 0.09757995, -0.28259873, 0.0020081983, 0.07462653, -0.15747115, 0.124251395, 0.076333925) * go_3(1.0, -1.0); + result += mat4(-0.035977505, 0.06003558, -0.09650363, -0.09525774, -0.16066033, 0.09775839, 0.0667778, -0.034762666, -0.0057217414, 0.065839626, 0.21028286, -0.2774071, -0.017984433, 0.03783334, -0.09587559, -0.026591627) * go_3(1.0, 0.0); + result += mat4(-0.023890898, 0.11809203, -0.1188636, -0.0012940518, 0.118897684, -9.827985e-05, -0.05622794, -0.062140178, -0.12795903, 0.05519595, -0.058305323, 0.016674206, 0.013698942, -0.08497383, 0.027362531, 0.10627308) * go_3(1.0, 1.0); + result += mat4(-0.06454933, 0.02689722, 0.010371413, 0.0634908, -0.041561414, 0.09611493, -0.06061118, 0.02602967, -0.0373284, -0.015805054, 0.05950886, -0.13804919, -0.014812459, -0.08159597, -0.09908161, -0.020315096) * go_4(-1.0, -1.0); + result += mat4(-0.06265245, -0.04897011, 0.073684655, 0.1615347, 0.0996554, -0.029503722, -0.038289137, 0.06443223, -0.015126988, -0.20464674, 0.08261881, -0.11410073, 0.06794012, -0.1282338, -0.0808648, -0.024340188) * go_4(-1.0, 0.0); + result += mat4(-0.20563951, 0.00822819, -0.0028446496, -0.037908215, -0.15417986, -0.053624943, 0.15252545, -0.066859886, -0.033749085, -0.0022916791, 0.012464019, -0.18756475, 0.028652523, -0.029153747, -0.0774323, -0.078330934) * go_4(-1.0, 1.0); + result += mat4(-0.11408609, 0.10095266, -0.09413288, 0.048672248, 0.14938189, 0.02606957, 0.10862651, 0.01836941, -0.09218335, 0.2407901, -0.038805883, -0.15219745, 0.061210256, -0.021015555, -0.018389063, -0.005998484) * go_4(0.0, -1.0); + result += mat4(-0.10569989, -0.06539472, -0.17240082, 0.01820424, 0.008560733, 0.1539287, 0.06709748, -0.045853294, 0.108150296, 0.05734132, -0.046088815, 0.248995, 0.008274402, -0.30565688, 0.12489905, 0.059402116) * go_4(0.0, 0.0); + result += mat4(-0.087341666, 0.03546864, 0.19149105, -0.03806943, 0.07624287, 0.050273992, 0.10086885, 0.12906818, 0.01114818, -0.07052573, 0.04540055, 0.029273782, 0.10898686, -0.1770709, -0.017369272, -0.016848907) * go_4(0.0, 1.0); + result += mat4(-0.058181286, -0.009246252, 0.07048362, -0.0006535902, -0.35701382, 0.231112, -0.10935989, -0.08851913, 0.027286934, 0.12029156, 0.06239391, -0.040678307, -0.092798725, -0.26335207, -0.042724196, 0.051664326) * go_4(1.0, -1.0); + result += mat4(-0.10164229, -0.0014839054, -0.021398826, -0.10823746, -0.16494614, -0.0067644184, 0.118856244, 0.12065754, 0.003400296, -0.10101892, 0.03650762, -0.009031349, 0.13758844, -0.18478121, 0.07968888, -0.09104288) * go_4(1.0, 0.0); + result += mat4(-0.008495138, 0.066670984, 0.05767939, -0.07052782, -0.014718764, 0.08614164, 0.030008111, -0.06520335, 0.02900097, -0.030700756, 0.025042165, -0.06397807, 0.006406731, -0.116308615, -0.0360389, 0.0027516233) * go_4(1.0, 1.0); + result += mat4(-0.057278417, 0.1727815, -0.07807456, -0.04727814, -0.10097372, -0.03546198, -0.032869432, 0.08689116, -0.04738872, -0.047112323, 0.02086091, -0.04105858, -0.03165431, -0.10082921, 0.15055077, -0.003025087) * go_5(-1.0, -1.0); + result += mat4(0.047094163, 0.117854774, -0.13751692, 0.25386533, -0.09068952, 0.2095612, -0.00044834684, 0.1282835, 0.1279751, -0.025870766, -0.009751841, 0.076681845, -0.079167604, 0.05592644, -0.04595776, 0.17977998) * go_5(-1.0, 0.0); + result += mat4(-0.0027239807, 0.06603127, -0.23799416, 0.0123985335, 0.025360249, -0.08612398, -0.1051835, -0.044109415, -0.09622201, 0.026738588, 0.022221094, 0.062126018, -0.10752726, -0.004420602, -0.05017027, -0.08776257) * go_5(-1.0, 1.0); + result += mat4(0.03275633, 0.14127396, -0.09341105, 0.23926768, -0.08104667, 0.025844736, -0.10298216, 0.060764167, -0.10122608, 0.08945685, 0.07788971, -0.07410643, -0.08033897, -0.23677154, -0.04966397, -0.045639224) * go_5(0.0, -1.0); + result += mat4(0.07048915, -0.106820844, 0.047254067, 0.11627385, -0.11047958, -0.027926508, 0.04498255, 0.20816003, 0.11909031, -0.0009775321, -0.18387055, -0.0018686258, -0.016878089, 0.22323456, -0.14612047, 0.022845699) * go_5(0.0, 0.0); + result += mat4(0.035804678, 0.119743, 0.1571684, -0.023207432, 0.07617338, -0.08736871, 0.05989575, -0.058365826, 0.019954713, 0.10140689, -0.09124958, -0.13218899, -0.03780429, 0.09544198, -0.039520875, -0.14930539) * go_5(0.0, 1.0); + result += mat4(0.14514346, 0.0360269, -0.054082893, -0.15789753, -0.040042885, -0.028893448, -0.09869845, 0.09966758, 0.039295428, 0.03457506, 0.024780974, 0.095122814, 0.0031860285, -0.10821901, -0.11781598, 0.01704089) * go_5(1.0, -1.0); + result += mat4(0.21498747, 0.0133230025, 0.042253625, -0.21782391, -0.1492179, 0.30398136, 0.018255081, 0.11203656, -0.03885946, 0.106861874, 0.026350034, 0.11618644, 0.084832504, -0.16322637, 0.023462294, 0.10065608) * go_5(1.0, 0.0); + result += mat4(-0.15551749, 0.14941038, 0.056670457, -0.0431253, 0.08302943, 0.01580936, -0.051593207, 0.03560764, -0.030447204, 0.075539954, -0.011442096, 0.02693397, 0.0905564, -0.014087418, -0.007015716, -0.09875941) * go_5(1.0, 1.0); + result += mat4(0.07433055, -0.030779218, 0.03334971, -0.122070454, -0.05208821, -0.056771465, -0.011534166, -0.13619904, -0.015953373, -0.013060965, -0.08053602, -0.005346061, -0.02533623, -0.046483822, -0.15184224, 0.06881467) * go_6(-1.0, -1.0); + result += mat4(-0.06786954, -0.1101747, 0.07293632, -0.072237246, -0.03891572, -0.033120476, -0.21675974, -0.01265742, -0.07152627, 0.035822228, -0.11969304, -0.008666347, -0.045399748, -0.149612, -0.08198164, 0.01729796) * go_6(-1.0, 0.0); + result += mat4(0.021353757, -0.025995912, 0.066578284, 0.04336928, 0.039536253, -0.016585456, -0.13368231, 0.12299198, -0.0013373335, -0.034165546, -0.07936003, 0.004652013, -0.042511817, 0.0019751487, 0.0011525169, -0.10085849) * go_6(-1.0, 1.0); + result += mat4(0.085357845, 0.21802829, 0.13633603, -0.09305326, -0.14289644, -0.015774531, -0.12939785, 0.021014005, 0.07054864, -0.009131392, -0.010884865, 0.08177134, 0.06213185, -0.1490639, 0.021829644, 0.025526933) * go_6(0.0, -1.0); + result += mat4(-0.02074944, 0.11732001, 0.043791592, 0.06742606, -0.112140454, 0.1183469, 0.06687539, 0.12730923, 0.0061068935, -0.07169838, -0.12619536, 0.0005274442, 0.012716505, -0.11192881, 0.068851836, 0.008492987) * go_6(0.0, 0.0); + result += mat4(0.08216468, -0.028620748, -0.055371143, 0.020594567, -0.05292034, -0.10408585, -0.04820471, 0.051627148, 0.036886677, -0.107644394, -0.020397794, 0.047485292, 0.079070546, -0.10276452, 0.19232683, -0.15654457) * go_6(0.0, 1.0); + result += mat4(0.12678936, 0.16351469, -0.0037196553, -0.08318541, -0.034772478, -0.051339243, -0.045463465, 0.12652434, 0.22918625, -0.043803692, 0.14724569, 0.047499433, 0.016458863, 0.11427085, 0.077913724, -0.062115736) * go_6(1.0, -1.0); + result += mat4(0.07971772, -0.021838864, -0.033015456, -0.07201285, -0.09160904, 0.16611984, -0.079225585, -0.063700624, 0.13366704, -0.17928718, -0.17573813, -0.0084753595, 0.14407809, 0.06637059, 0.06761111, -0.040778674) * go_6(1.0, 0.0); + result += mat4(-0.051311243, -0.00047012506, 0.11295401, 0.041759036, -0.028863018, 0.0324509, -0.077564776, 0.15006386, -0.053502884, -0.034109667, 0.0017859068, 0.16114277, -0.039465405, -0.09419871, 0.06864232, -0.018261535) * go_6(1.0, 1.0); + result += mat4(-0.04087073, 0.070795655, 0.01541917, 0.11113746, 0.025174553, 0.026181301, 0.02840083, 0.004309008, 0.09485457, -0.04233083, -0.051573273, -0.07650051, -0.17544228, -0.11439118, -0.08093743, 0.18067038) * go_7(-1.0, -1.0); + result += mat4(0.0062529687, 0.15919134, -0.053404056, 0.039204787, 0.023409445, 0.012681388, 0.09090681, 0.20121421, 0.022972144, -0.0895693, 0.04895256, 0.06891674, -0.0035229125, -0.25411057, 0.037077982, -0.13036521) * go_7(-1.0, 0.0); + result += mat4(0.11477689, 0.0028072398, -0.06338895, 0.02027455, -0.08101111, 0.034853484, 0.10567918, 0.041619904, 0.11095729, -0.008229767, 0.13372917, 0.008856674, -0.08141064, -0.0959705, 0.091087684, -0.07539786) * go_7(-1.0, 1.0); + result += mat4(-0.04363737, -0.03348933, -0.05418331, 0.029407552, 0.1489491, -0.03999793, 0.08842189, 0.14542465, 0.04715493, -0.06445284, 0.05556509, 0.09696593, -0.042307585, 0.08516361, -0.2331977, -0.03857982) * go_7(0.0, -1.0); + result += mat4(0.0038425433, -0.019158881, -0.010624798, -0.044134602, -0.1695856, 0.15631394, -0.088841416, -0.1685344, 0.023059638, 0.03796117, 0.022053894, -0.027527904, -0.044638235, -0.25911215, 0.03230966, -0.05346732) * go_7(0.0, 0.0); + result += mat4(-0.09276762, 0.24963817, 0.010785759, -0.019909501, -0.097505584, 0.032170214, -0.0023418854, 0.08733382, -0.03379668, 0.100584164, -0.109995596, -0.07523249, -0.0120575465, -0.053097837, -0.13998339, -0.10185383) * go_7(0.0, 1.0); + result += mat4(-0.0127198845, -0.042109866, -0.11629171, 0.053611718, -0.002032197, -0.012943935, -0.04415516, -0.07642406, -0.08589718, -0.017162828, -0.040193867, -0.10849531, -0.013999757, 0.0002801831, -0.035648525, 0.079189576) * go_7(1.0, -1.0); + result += mat4(-0.07409691, 0.26385418, -0.012612426, 0.090933286, 0.06744317, -0.060681526, 0.10342389, 0.0905919, 0.021600742, -0.07504329, 0.07502121, -0.05556069, -5.7453726e-05, -0.005260563, 0.1823992, -0.18512331) * go_7(1.0, 0.0); + result += mat4(-0.06008137, 0.15206294, -0.044260148, 0.053141426, 0.06447088, 0.053879313, -0.019256372, -0.009678615, 0.040676076, 0.009712142, 0.1283051, -0.046193764, 0.06051764, -0.15391533, 0.007005147, -0.21769708) * go_7(1.0, 1.0); + result += vec4(0.034930106, -0.040175084, 0.0094707515, 0.026570352); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x96 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_18_tf3 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!SAVE conv2d_21_tf +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.08710418, 0.07755426, -0.19372784, -0.12006015, -0.08683475, -0.051511686, -0.113844275, -0.01831389, 0.13441756, -0.18682177, -0.11446414, -0.053224254, 0.066490404, 0.15588047, 0.075582, -0.033167917) * g_0; + result += mat4(-0.20958789, 0.15148236, -0.04583152, 0.12812352, -0.00044433025, -0.13340057, -0.09522131, -0.25912568, -0.005632191, 0.2783046, 0.13194086, -0.13088284, 0.2362872, 0.0900396, 0.28009146, 0.004059817) * g_1; + result += mat4(0.10685089, -0.034242, 0.13198791, -0.1327393, 0.17671722, -0.21151659, -0.14577065, -0.20913975, 0.085521296, 0.035992414, 0.017195407, -0.10016802, 0.12933257, 0.046163887, -0.011927488, -0.23875898) * g_2; + result += mat4(-0.08416457, 0.17505676, 0.24870509, 0.06930309, -0.191712, -0.0808669, -0.015740015, 0.0652813, -0.059006322, -0.018401904, -0.036595564, -0.1605108, 0.12305627, 0.060691502, 0.1619963, 0.08043304) * g_3; + result += mat4(-0.1162042, 0.07235142, 0.074100144, 0.0062329075, 0.15629326, -0.004988086, -0.12807561, 0.2089372, -0.11417878, -0.0070988503, -0.08123769, 0.15964252, 0.1242517, 0.15018217, -0.16828871, -0.10980319) * g_4; + result += mat4(0.097435325, -0.10224905, 0.061068628, 0.22532623, -0.046067998, 0.19951521, -0.11546273, 0.10270359, 0.027507411, -0.1484107, -0.0939577, 0.08855171, -0.25780675, -0.20141928, -0.051490895, 0.06990546) * g_5; + result += mat4(-0.0502339, -0.0052296333, -0.07589294, -0.105127886, 0.006349035, 0.34075886, 0.050190937, -0.094317205, 0.097337745, -0.07065814, -0.16456902, 0.21397485, 0.022255344, -0.14672112, -0.19206822, 0.1821241) * g_6; + result += mat4(0.07189387, 0.15896799, -0.055312637, -0.012296496, 0.18629979, 0.21605793, 0.3112103, -0.053981252, 0.164744, -0.13682634, 0.28319356, 0.0054148296, 0.12050483, 0.021165732, -0.090522125, 0.019760927) * g_7; + result += mat4(-0.017540403, 0.0062772045, 0.18213348, -0.06998202, 0.042053856, -0.12266181, -0.03696476, 0.1198641, -0.4831862, -0.08289988, -0.09672259, 0.11441492, -0.19695596, -0.20243177, 0.120301224, -0.03885659) * g_8; + result += mat4(-0.012043374, -0.12636301, 0.07465572, -0.026296021, 0.21566753, 0.18964884, -0.21407917, 0.06082264, 0.16858701, 0.22547795, 0.060304616, 0.21083428, 0.2195806, 0.06386552, -0.13011286, 0.07762842) * g_9; + result += mat4(-0.048389256, 0.043716315, 0.07394857, 0.23185648, -0.22878529, 0.1262599, 0.04561782, -0.21576522, -0.11676992, 0.25556034, 0.08847371, 0.08644613, 0.026928827, 0.20417346, 0.058586314, 0.0476593) * g_10; + result += mat4(-0.001416993, -0.26372138, -0.17127669, -0.21048187, 0.14255156, -0.22319807, -0.08061204, 0.03961634, 0.023157349, 0.05760616, -0.27544355, -0.1383328, 0.15652739, 0.011641045, 0.03508059, 0.23525323) * g_11; + result += mat4(-0.23829429, 0.14674664, 0.08100075, 0.2795668, 0.18427856, 0.05980292, -0.24882336, -0.036076378, 0.08043839, -0.18109713, 0.10270382, -0.16545536, 0.086006865, 0.07463311, -0.2029149, 0.010671285) * g_12; + result += mat4(0.14745244, -0.09021049, 0.03856137, -0.24550879, 0.31875673, 0.19743665, -0.18928793, -0.022744423, 0.09933925, 0.06840095, 0.07151117, 0.16670194, -0.17345333, -0.17679518, 0.0803156, 0.1323218) * g_13; + result += mat4(-0.22606997, 0.23559661, -0.1356115, -0.16298714, -0.08236835, -0.11082772, -0.17032886, -0.36395928, 0.0076418323, 0.09497255, -0.009910129, -0.06704425, 0.118186295, -0.07905629, 0.16229996, 0.13862097) * g_14; + result += mat4(-0.05605825, 0.03226995, -0.09783728, 0.1276114, -0.03132329, 0.17624037, 0.1554618, 0.13293655, -0.14832236, 0.0038608431, -0.1074844, 0.15878479, -0.2007515, -0.15159251, -0.08711506, 0.0011561218) * g_15; + result += mat4(0.17221819, -0.13795783, 0.004547347, 0.07184666, 0.013688652, -0.05573553, -0.039471798, 0.23344308, 0.097293355, -0.042974688, 0.12051542, 0.015702134, 0.17581677, -0.052126184, -0.09377827, -0.072589) * g_16; + result += mat4(0.1141422, -0.13473512, 0.1427384, -0.0516325, -0.25478005, -0.20733416, -0.065446824, 0.017821401, -0.06606627, 0.09842118, 0.10977934, -0.08284073, -0.23268555, 0.17497909, 0.15409274, 0.1766027) * g_17; + result += mat4(0.16349804, -0.031991642, -0.03544694, 0.19030678, -0.10905752, -0.21243256, -0.1682402, -0.20092581, 0.049650017, -0.10322993, -0.056542892, -0.055122282, -0.04017231, -0.05765047, -0.11291076, -0.1375772) * g_18; + result += mat4(-0.12520963, 0.03948451, -0.1080389, -0.2411598, -0.2384441, 0.04583776, 0.05708465, -0.13598098, -0.0027632138, 0.059042323, 0.1888617, 0.049241446, 0.20129628, 0.08619466, 0.19998649, 0.3488563) * g_19; + result += mat4(0.04955111, 0.082809135, 0.0030273702, 0.027085733, -0.24155019, 0.18543921, -0.14815515, -0.07323729, -0.083096445, -0.018511815, -0.24441625, -0.042126883, 0.16707252, 0.15324517, -0.22174944, 0.20144019) * g_20; + result += mat4(-0.06967862, -0.13329996, -0.17944409, 0.01734243, 0.075320974, -0.22839668, 0.24706283, -0.08456183, 0.101465605, 0.011808895, 0.014018943, -0.020431247, 0.08659333, -0.08047589, 0.015925674, 0.00016753716) * g_21; + result += mat4(0.3392523, 0.10867626, 0.13746454, -0.035315026, 0.25138593, -0.21969056, 0.0074967514, -0.076253906, 0.040552594, -0.05231798, 0.05877078, -0.028507937, -0.31218964, 0.10618994, -0.35251832, 0.33440894) * g_22; + result += mat4(-0.18962376, 0.01081502, -0.079535306, -0.47144732, 0.277589, -0.081428155, -0.4717694, 0.02221676, -0.058384646, -0.45954156, 0.031163838, -0.16281652, 0.20378628, 0.22339214, 0.06407888, -0.03579875) * g_23; + result += vec4(-0.009340076, 0.0065150703, 0.010082239, 0.012676137); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x96 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_18_tf3 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!SAVE conv2d_21_tf1 +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.0200372, 0.025164925, -0.051542915, 0.17349012, 0.22963412, -0.08854868, -0.18460453, -0.009592984, 0.3433165, 0.24978307, -0.30430827, -0.53036386, -0.08970036, 0.003792772, -0.17533037, 0.05531384) * g_0; + result += mat4(-0.120206885, -0.088055685, -0.028581804, -0.029799921, 0.1553587, 0.048395723, -0.019582719, 0.25623065, -0.16238682, 0.21795171, -0.041007563, 0.2657337, -0.2737889, 0.1436563, 0.08519452, 0.051322795) * g_1; + result += mat4(-0.008416596, -0.037384458, -0.01667205, -0.113932766, -0.220761, 0.20724533, -0.039649304, -0.0017309792, 0.041707594, 0.12224719, -0.059473436, 0.09303625, 0.048647325, 0.08052407, -0.23728494, -0.36954325) * g_2; + result += mat4(-0.24027216, 0.2160822, 0.16243383, 0.14543773, -0.0690304, -0.10372756, -0.108916, 0.119548805, -0.19430643, 0.17126071, -0.07952119, -0.13491428, 0.16480479, 0.024287088, -0.12048609, 0.032947384) * g_3; + result += mat4(-0.22957891, -0.10071905, 0.13317196, 0.20797506, 0.05998575, -0.029331183, 0.18397254, -0.10808303, -0.042644747, 0.17222235, 0.29700902, -0.04193782, 0.14778145, 0.13812043, 0.118143596, -0.057448573) * g_4; + result += mat4(-0.14184432, -0.0236615, -0.17279948, 0.18716908, 0.11995038, -0.1185408, 0.1980219, 0.18067634, -0.038657866, -0.030831996, 0.33048138, -0.12548326, 0.12749283, -0.06766755, -0.17756845, -0.11182692) * g_5; + result += mat4(0.040251233, 0.010135124, 0.024763199, 0.0457518, -0.2875318, 0.084092565, 0.028671606, 0.026579974, 0.017806578, 0.048673276, -0.114675, 0.05184245, 0.03820837, -0.01438677, 0.071568385, 0.07407311) * g_6; + result += mat4(0.32025474, -0.19955283, -0.1420089, 0.05544955, 0.19069096, 0.2885597, -0.119959064, -0.056846753, -0.0062394375, 0.104673326, -0.162723, -0.017674185, -0.10826556, 0.042586546, 0.06138012, -0.03990229) * g_7; + result += mat4(-0.0050156214, -0.15407455, -0.07907167, -0.13220526, -0.017592989, 0.2021805, -0.016687173, -0.056055553, -0.101649925, 0.1281, 0.05800204, 0.43441603, -0.024814442, 0.22591786, -0.2340531, 0.10235692) * g_8; + result += mat4(0.24094208, 0.20049766, -0.03091491, 0.024811655, -0.022125067, -0.078261666, -0.08867578, -0.038298346, 0.12770705, -0.3216306, 0.18978754, -0.01107385, -0.038726375, -0.34504443, 0.49312648, 0.13409658) * g_9; + result += mat4(0.0630035, 0.12272932, 0.032202568, -0.18289864, -0.0741027, 0.050733794, 0.07594249, 0.05300468, 0.042907406, 0.24372669, -0.028120704, 0.093619086, 0.11598335, 0.101204365, -0.17834216, -0.17095858) * g_10; + result += mat4(-0.08183699, -0.07916702, -0.062332753, 0.1686114, -0.016465722, -0.0046439907, -0.025219526, 0.09196341, -0.28213915, -0.4013967, 0.2070858, 0.23499006, 0.31538546, -0.063582435, 0.17215486, -0.05670036) * g_11; + result += mat4(-0.01627626, -0.085867815, -0.044567704, -0.068304785, 0.24002759, -0.18444167, 0.051936157, -0.084095374, -0.027830267, 0.0020481357, 0.05791986, 0.15611658, 0.28899965, -0.20653085, -0.075661235, -0.14174046) * g_12; + result += mat4(-0.08468525, 0.058726486, -0.06389248, -0.01455625, 0.27516794, -0.09621903, -0.1269632, 0.021708349, 0.06876667, 0.09899092, -0.060870275, -0.036878586, 0.016620016, -0.032395374, 0.21142422, 0.114436075) * g_13; + result += mat4(0.106104285, -0.37164697, -0.16798657, -0.1352658, -0.07100603, -0.10133517, 0.026537118, -0.015494572, 0.05662935, -0.018886555, -0.007515541, 0.12669149, 0.1449747, -0.23413232, 0.22381899, -0.15549453) * g_14; + result += mat4(0.25238156, -0.019380376, -0.05552284, 0.033374626, -0.005643143, -0.020936595, -0.20558305, -0.15705742, -0.006181828, -0.1994116, -0.046375062, 0.13563119, -0.28634745, 0.0880065, -0.042301185, -0.29208398) * g_15; + result += mat4(-0.17484008, -0.021532, 0.21034543, -0.0034605127, 0.014549843, 0.1751193, -0.12673648, 0.0064667664, -0.19978295, 0.1404624, 0.06869049, -0.020720724, 0.12267954, 0.25009266, -0.20387867, -0.15889901) * g_16; + result += mat4(0.25143266, 0.17484929, 0.24925528, -0.03215604, -0.0974627, 0.15165818, 0.08267684, -0.202364, 0.24375704, -0.26883098, -0.15251026, 0.051847905, 0.10552426, 0.048911758, -0.113630824, -0.25745502) * g_17; + result += mat4(0.047861718, 0.010482632, -0.28139532, -0.18458135, -0.08900709, 0.14439812, 0.017580662, -0.086692065, 0.14848581, 0.012461116, 0.13328992, 0.1823087, 0.1341251, 0.099720836, -0.123326704, -0.1529806) * g_18; + result += mat4(-0.13218595, -0.020096691, 0.089338526, -0.050373968, -0.12718384, -0.34216353, -0.05081511, -0.100018986, -0.12318239, 0.043791108, -0.3888225, 0.11529475, 0.17406003, -0.2179613, -0.18560894, -0.16957083) * g_19; + result += mat4(0.21191274, -0.16949633, -0.04258746, -0.15323012, 0.36763668, 0.18696135, -0.035708304, 0.08924961, -0.10829788, -0.086305946, 0.18746884, 0.19478951, 0.2759173, 0.059790425, 0.029030167, 0.22933595) * g_20; + result += mat4(0.117172234, 0.2812114, -0.034787145, 0.067007184, -0.18443052, -0.01740869, 0.012421643, -0.23641962, 0.09629342, -0.122772515, -0.1556607, -0.13235089, 0.13715908, 0.11799065, -0.025866343, 0.03717886) * g_21; + result += mat4(-0.06885674, 0.20376506, 0.032389764, -0.1343853, -0.24107948, -0.2061297, -0.15523757, 0.045462113, 0.15680042, 0.24913467, -0.1266525, 0.15182254, -0.19809371, -0.11994996, 0.024678899, 0.34593883) * g_22; + result += mat4(0.08096669, 0.03794547, -0.08631197, -0.074983165, -0.19917545, 0.08625112, -0.2224293, -0.13218154, -0.16452844, 0.21913971, 0.15406418, -0.14238952, -0.23737735, -0.13383593, 0.04449909, -0.14110228) * g_23; + result += vec4(-0.047341306, -0.010470165, -0.060366448, -0.0063673723); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x96 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_18_tf3 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!SAVE conv2d_21_tf2 +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.16376013, -0.21462978, -0.14271215, -0.19764555, 0.004959633, 0.03559098, -0.039930187, 0.12408578, 0.073444515, -0.18976516, -0.020428572, 0.08624831, -0.13308355, 0.056589432, 0.06721722, 0.16169119) * g_0; + result += mat4(0.032759428, 0.03249251, -0.20465967, 0.07133733, 0.05343703, 0.12841259, -0.20835468, 0.09137038, 0.1938841, 0.25623104, 0.097277, 0.058534052, -0.22656159, 0.18883473, 0.011212467, -0.0037018447) * g_1; + result += mat4(-0.23469727, 0.15565057, 0.19072291, -0.1836996, 0.16059339, -0.22498783, 0.061382726, -0.20989716, 0.1775421, -0.047837425, -0.09572263, 0.103703596, -0.13672648, -0.15082708, 0.11233271, 0.22601321) * g_2; + result += mat4(0.01870386, 0.089724526, 0.09773838, 0.034003545, -0.0031496854, 0.033871237, -0.24420398, 0.007905355, -0.02449313, 0.14813906, 0.09018556, 0.12513392, 0.16733788, 0.23793064, -0.1912762, -0.13565488) * g_3; + result += mat4(0.06970355, 0.10157562, 0.14928305, 0.24936941, 0.059907116, -0.30688918, 0.081315145, -0.10862118, 0.13362534, -0.00026153796, 0.24190883, -0.06487983, 0.09340848, 0.08127848, 0.001434232, 0.067308724) * g_4; + result += mat4(-0.05588173, -0.08792639, 0.08981383, -0.13087386, -0.1401108, 0.053842388, -0.014714017, -0.16106959, -0.09377347, 0.020844752, 0.08686229, -0.046952497, 0.31264535, 0.03484944, -0.08730081, -0.006767603) * g_5; + result += mat4(0.25659466, 0.07397599, -0.059985436, 0.071429655, 0.03428176, -0.033710003, -0.16406639, -0.05580733, -0.21191816, -0.15564337, -0.07574189, -0.17225428, -0.019659676, -0.13260631, 0.05916013, -0.12107973) * g_6; + result += mat4(-0.072627656, -0.080296986, 0.034525134, -0.23515461, -0.1304861, -0.039075147, 0.3999017, -0.22840585, 0.07141298, 0.18324336, 0.054969292, -0.01635769, 0.2520213, -0.07695982, -0.023417236, 0.102722354) * g_7; + result += mat4(-0.17125753, 0.17100827, -0.31199583, -0.037970837, -0.107630424, -0.07300846, 0.07948616, -0.39042896, 0.17479163, 0.13205178, 0.11497303, -0.11652115, 0.03062989, 0.33838132, 0.14790033, 0.09507217) * g_8; + result += mat4(0.04507488, 0.35392353, 0.38684472, 0.13546394, 0.11795181, -0.19300266, -0.22795731, 0.463773, -0.12761338, -0.18098523, -0.1456463, -0.09372001, 0.28942215, 0.14363319, -0.03819802, -0.15229422) * g_9; + result += mat4(-0.12988025, 0.21170932, 0.03447564, -0.13754961, 0.087904826, 0.07837626, 0.09328843, 0.010177785, -0.3745973, 0.12749651, 0.17956547, -0.12897313, 0.19329022, -0.16939743, -0.104944855, -0.09487357) * g_10; + result += mat4(0.15901774, 0.04067448, -0.21514527, -0.077920794, -0.28198823, 0.028896367, -0.23865238, -0.0071926992, 0.28216872, -0.13635647, -0.18908545, 0.02977451, -0.25345692, 0.20820476, 0.009601449, 0.27883843) * g_11; + result += mat4(-0.037589654, -0.36836734, -0.17160638, -0.21136808, -0.18195882, -0.18352132, -0.13808772, 0.08068677, -0.015797919, -0.19405758, 0.16463257, -0.10353348, -0.0113609, -0.14714903, -0.15443285, 0.04489155) * g_12; + result += mat4(-0.21718445, 0.0059077847, 0.19859529, 0.13535082, -0.16072561, 0.19556482, 0.1523886, 0.1251762, -0.0034070462, -0.035521794, 0.034417186, -0.306561, -0.10835829, -0.07181185, 0.036284324, -0.0031866753) * g_13; + result += mat4(-0.10943835, 0.10428341, -0.06992764, -0.120998256, -0.008993865, 0.05821091, 0.06261459, -0.06388792, -0.028256107, 0.003925002, 0.25350967, -0.13623622, 0.084879614, 0.19291006, 0.06272194, -0.22010769) * g_14; + result += mat4(-0.0457065, -0.059411805, -0.17807458, 0.09876963, 0.024583695, -0.116159014, -0.105639346, 0.028582737, 0.08507421, -0.121634774, 0.15567276, -0.08701447, 0.035207976, -0.037749242, -0.11775162, 0.25025365) * g_15; + result += mat4(0.18185188, -0.07264863, 0.077263445, 0.21976566, 0.14656045, 0.047771394, 0.06685994, -0.08333337, 0.0017449517, -0.16983587, 0.14909369, -0.13025558, -0.06653938, -0.01429911, 0.032135215, 0.25310838) * g_16; + result += mat4(0.042382054, 0.2682427, 0.01764835, -0.14447007, -0.2280379, 0.045982208, 0.075665936, -0.010963417, 0.07917052, 0.20231707, -0.022708723, -0.04420749, -0.017431455, -0.4536474, 0.050049998, -0.10083379) * g_17; + result += mat4(0.042559944, 0.08244448, 0.20654662, -0.18008594, -0.1978152, 0.089204244, 0.09919466, 0.081702396, -0.030112466, -0.28072456, 0.20105025, -0.081957966, 0.048123248, -0.024997404, 0.07762149, 0.067282006) * g_18; + result += mat4(0.077762015, -0.0710356, 0.06286203, 0.090047225, 0.1062697, -0.033291563, -0.032123826, 0.031537674, 0.15810831, 0.0884716, -0.12753096, 0.017839061, 0.42752337, -0.09349916, -0.06481517, -0.07046963) * g_19; + result += mat4(-0.15118897, -0.25734478, 0.31358278, 0.1805141, 0.17088307, 0.18794382, 0.28021103, -0.34057355, -0.030835107, -0.0079853125, -0.26573807, -0.28082734, 0.0044963094, -0.020050643, 0.11479064, -0.11732869) * g_20; + result += mat4(0.30385575, 0.25909582, -0.052579727, 0.1515613, -0.082644455, -0.09668368, -0.077442855, 0.095288195, 0.004760802, 0.07587048, 0.05381485, 0.10933668, -0.25176695, 0.14999786, -0.02548245, 0.12480703) * g_21; + result += mat4(-0.12200806, -0.03346429, 0.040096015, -0.0104450155, -0.04190287, 0.15631595, 0.24532063, 0.067783296, -0.044785816, -0.17835703, 0.07349294, -0.23587738, 0.28926384, 0.020304382, -0.19058007, -0.24528348) * g_22; + result += mat4(0.14653356, -0.09399811, 0.17405438, 0.11741997, 0.1707656, 0.17793506, 0.419244, 0.36248252, 0.19333729, -0.09478834, -0.031501323, 0.3489942, 0.17111845, -0.05753778, -0.033362497, -0.20234007) * g_23; + result += vec4(-0.098978624, -0.013715648, -0.067908, -0.00071062305); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x96 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_18_tf3 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!SAVE conv2d_21_tf3 +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.099412, 0.018248364, -0.13228352, 0.4672803, 0.034476146, -0.1978014, -0.11049704, -0.27439678, -0.060605004, 0.110746264, -0.051524, -0.1361938, 0.009921265, 0.23397371, -0.07823562, 0.012807971) * g_0; + result += mat4(-0.057887197, -0.16899316, -0.097910166, 0.27173346, 0.048372928, -0.09819956, 0.2760085, 0.09113153, -0.25055817, 0.10803364, -0.32569218, 0.018657776, 0.10861732, 0.25150824, -0.12217984, 0.14836118) * g_1; + result += mat4(-0.23982282, 0.16482148, 0.042845722, 0.26944172, 0.03479865, 0.26460785, 0.29936558, 0.26309288, -0.03825185, 0.16846797, 0.11344883, 0.097732104, 0.011267582, 0.06025005, -0.017220326, -0.14788473) * g_2; + result += mat4(-0.07698723, 0.31528163, 0.018389257, 0.32013643, -0.17028578, 0.10416205, 0.14160097, 0.07994368, -0.21445467, 0.065764554, -0.010799837, 0.12783599, 0.16091037, -0.041146606, 0.06914886, 0.23852104) * g_3; + result += mat4(-0.21730243, 0.0005364685, -0.06843196, -0.18304375, -0.0838743, 0.06591937, -0.119132325, -0.12775517, -0.14532626, 0.035126243, -0.014109256, 0.11822324, 0.08915501, -0.048738454, 0.017610341, -0.17118132) * g_4; + result += mat4(0.066193976, -0.08082204, -0.119381346, -0.38606662, -0.018930387, 0.08734439, -0.080338374, -0.10179199, 0.28592992, -0.038777832, -0.02912025, -0.13968153, 0.1751963, -0.10257253, -0.02308871, 0.103588775) * g_5; + result += mat4(-0.015369136, 0.043419622, -0.09212257, -0.09099887, 0.17050241, 0.017557086, -0.09919063, 0.2121736, 0.13851827, -0.09521062, 0.31105414, -0.21121062, -0.16483651, -0.05569374, 0.15418938, -0.046936) * g_6; + result += mat4(0.1726453, 0.32175332, -0.2238786, -0.038357526, -0.057416882, 0.1856948, -0.15019979, -0.07717308, -0.05847253, -0.05986613, -0.09415613, 0.06858027, -0.4783783, -0.024743836, -0.039746255, 0.030463157) * g_7; + result += mat4(-0.13700408, -0.021685323, -0.1302628, -0.08178966, 0.050457038, 0.052361347, -0.3721997, 0.1799716, -0.33779272, -0.2478128, -0.11195146, 0.03438403, -0.0769632, -0.01370984, 0.358675, -0.016251782) * g_8; + result += mat4(0.18463574, -0.32811102, 0.09035979, -0.15944754, -0.01858092, -0.12055925, 0.11789398, -0.24762204, 0.19556394, 0.3658605, 0.0063217054, 0.13560002, -0.0031609968, -0.092887774, -0.11317696, 0.1688745) * g_9; + result += mat4(-0.18825243, -0.057770394, 0.13403799, 0.15150245, -0.0184938, -0.16399476, -0.20233853, -0.15256546, -0.012932695, -0.006998052, -0.27886555, -0.1801957, 0.005736763, -0.16826138, -0.11622382, 0.009515264) * g_10; + result += mat4(0.21212149, 0.025956135, -0.076748274, 0.081390835, 0.10770965, 0.14706889, -0.03222262, 0.02229013, 0.111733, 0.27851826, -0.06712574, 0.14247932, -0.21986732, -0.04752835, 0.18228333, -0.13603105) * g_11; + result += mat4(-0.09660765, 0.1315258, 0.17911027, 0.11740451, -0.097255416, 0.060639273, -0.093187824, 0.02105227, -0.07707017, 0.089799285, -0.015904067, 0.1251983, 0.0164978, 0.12589863, 0.10049757, -0.2215788) * g_12; + result += mat4(-0.019633045, 0.08128165, -0.21685003, 0.12429716, 0.21384989, 0.28713462, 0.36082667, 0.066602774, -0.20333257, -0.22721171, -0.272673, -0.0440037, -0.22458526, -0.100124046, 0.042302642, -0.10875494) * g_13; + result += mat4(0.12793371, -0.019439168, 0.16232544, -0.27688906, 0.072149724, -0.2702213, 0.10965313, -0.23709685, -0.024219394, -0.17060119, -0.09893195, -0.06776005, 0.2715758, -0.03232274, -0.04255475, -0.37065327) * g_14; + result += mat4(-0.32041374, -0.074793965, -0.036865823, -0.02918251, -0.017197197, 0.16684239, 0.025243908, -0.07547195, 0.13938503, 0.055163417, -0.011429674, -0.13055529, -0.20067081, -0.18778045, -0.11177742, 0.092909254) * g_15; + result += mat4(0.14335759, -0.074887894, -0.097555235, 0.20072718, 0.026916051, 0.074796274, -0.040159326, 0.13532946, -0.074374124, -0.1852574, -0.26057327, -0.13128847, -0.08296219, -0.14694557, 0.110786796, 0.013070258) * g_16; + result += mat4(-0.32044858, -0.063347876, -0.23396221, -0.21997774, 0.26588383, 0.028225997, 0.01708149, -0.24854802, -0.05019675, 0.18214068, 0.13636373, 0.25459006, 0.03579004, -0.13517296, 0.018898118, -0.16877192) * g_17; + result += mat4(-0.07525496, 0.14939371, 0.17912684, -0.08323159, 0.10446684, -0.04631436, -0.02372887, -0.033120833, -0.04439999, 0.26327297, -0.0050649103, 0.0598028, 0.24129944, 0.042389676, 0.014767951, 0.005455403) * g_18; + result += mat4(0.20534733, -0.04825815, -0.16734582, 0.12407057, 0.12095892, 0.113786094, -0.031531718, 0.09064296, 0.23715405, 0.12641983, 0.25125253, 0.13647586, 0.05642747, 0.21420534, -0.021030078, 0.0067664357) * g_19; + result += mat4(-0.19284865, 0.016823744, 0.035537027, 0.08619851, -0.4948977, 0.34391722, -0.22931114, 0.14890936, 0.052512612, 0.037328973, -0.09397819, 0.04763624, -0.14281563, -0.07775558, 0.041917272, -0.24072154) * g_20; + result += mat4(-0.016150191, -0.27570885, -0.043972906, -0.15360864, 0.12333279, -0.16048594, 0.19867133, -0.11443874, 0.0046046698, -0.08360428, -0.14277548, 0.09461427, 0.20481633, -0.07163476, -0.110096864, -0.2062863) * g_21; + result += mat4(0.013339331, 0.039179143, -0.18245237, -0.29612786, -0.25390434, 0.06809853, 0.003070957, -0.11978623, -0.26271898, -0.18589073, 0.14316171, 0.1990445, 0.17755853, 0.056225445, -0.06782714, 0.29821777) * g_22; + result += mat4(0.020388031, -0.09590241, 0.006317689, -0.17690729, 0.30927724, -0.3388045, -0.31306866, 0.027354693, 0.4423801, -0.16751811, -0.008609924, -0.08048698, 0.20227478, 0.0663151, 0.07970592, 0.055658944) * g_23; + result += vec4(0.008592977, -0.044200934, -0.05895498, -0.02388236); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_21_tf3 +//!SAVE conv2d_23_tf +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_21_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_21_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.09131138, 0.033908423, 0.06402078, 0.11773138, 0.1943823, -0.15592197, -0.13471745, -0.08529886, 0.06670752, -0.098241374, 0.12521602, -0.08512277, 0.1683658, 0.03740529, 0.037400503, -0.05727949) * go_0(-1.0, -1.0); + result += mat4(-0.03644541, -0.040736966, -0.11249786, 0.11850314, 0.32783642, 0.00519888, -0.042442005, 0.06894669, -0.047855087, 0.14549308, -0.025135789, 0.116999514, 0.13979697, -0.14902762, 0.06489305, -0.03388391) * go_0(-1.0, 0.0); + result += mat4(-0.023465028, 0.025934102, 0.09511252, -0.084230386, -0.1606496, -0.02123527, -0.20048198, 0.12044697, -0.2775636, -0.058961913, -0.14377111, -0.057033725, 0.082422875, -0.118948884, 0.008090666, -0.124874555) * go_0(-1.0, 1.0); + result += mat4(0.11534857, 0.012932089, 0.07273674, -0.09807298, 0.06973694, -0.07309513, -0.06061797, -0.014805921, -0.17324777, 0.1589084, -0.300336, 0.011933996, 0.20000152, 0.054015145, 0.02382139, -0.012143371) * go_0(0.0, -1.0); + result += mat4(0.05282883, -0.063555785, 0.2140791, 0.045857526, -0.09551571, -0.021092935, -0.030398421, 0.079699315, 0.27740473, 0.12863821, 0.11814711, -0.24691874, 0.0820826, -0.0122578805, 0.07135231, -0.14403847) * go_0(0.0, 0.0); + result += mat4(-0.13553837, 0.030967671, 0.058927957, -0.05810357, 0.08453746, 0.1595707, 0.096559994, -0.06876099, 0.28936404, -0.20720041, 0.0921518, -0.06055625, 0.19537878, -0.027162874, 0.17818171, -0.16391847) * go_0(0.0, 1.0); + result += mat4(-0.04569781, -0.009677751, 0.09629714, 0.16671604, 0.16229568, -0.09440705, 0.0773015, -0.094926424, 0.029782036, 0.07475886, -0.11624012, 0.102057815, -0.1621821, 0.0556299, -0.0009157474, 0.07957986) * go_0(1.0, -1.0); + result += mat4(-0.086193435, 0.0050304797, 0.237151, 0.085645474, -0.09659096, -0.06742485, 0.045208316, -0.09497162, -0.1326794, 0.08950495, 0.101273924, 0.23780954, 0.10114795, 0.16358292, -0.04790394, -0.020107236) * go_0(1.0, 0.0); + result += mat4(-0.04450685, -0.032620404, 0.041148815, 0.025766535, 0.04599292, -0.08062297, -0.07056962, 0.15501104, 0.018098447, -0.056441948, -0.0082316445, 0.009804846, -0.036104303, -0.22376746, 0.050941933, 0.019282423) * go_0(1.0, 1.0); + result += mat4(0.017053317, -0.17366727, 0.0041483818, -0.030205533, 0.09859452, 0.0518556, 0.0133445915, -0.08444114, -0.28370312, -0.13151783, 0.31044328, 0.111910336, -0.032361325, -0.01770337, -0.010704456, 0.0144173745) * go_1(-1.0, -1.0); + result += mat4(-0.12795548, -0.19439028, 0.11518335, 0.03526096, 0.047590613, -0.09982341, 0.17033744, -0.10617614, 0.09882225, -0.18019329, 0.16787401, -0.126714, 0.18646127, 0.029379264, -0.09348745, 0.1027056) * go_1(-1.0, 0.0); + result += mat4(-0.009432709, 0.014073133, 0.07751331, 0.0007941653, 0.01451177, -0.016895872, 0.18490177, -0.17758124, -0.03889537, -0.2542268, -0.10398249, 0.026144411, 0.040533677, 0.16211097, -0.03735617, 0.14508058) * go_1(-1.0, 1.0); + result += mat4(-0.073385045, -0.08633009, -0.012349179, 0.135039, -0.12819883, 0.108412564, 0.031421386, -0.15841225, 0.37309644, -0.3381479, 0.298765, 0.024899099, 0.18251772, 0.2509419, -0.22062813, -0.024837602) * go_1(0.0, -1.0); + result += mat4(-0.06883072, -0.1503742, 0.052868135, -0.043145224, -0.113911405, 0.06986772, -0.20423973, -0.13115147, 0.03548683, 0.15488684, 0.048954308, 0.31241676, 0.1041569, -0.0075826123, -0.096361734, 0.19196175) * go_1(0.0, 0.0); + result += mat4(0.047116484, -0.13105369, 0.055510826, -0.041513115, -0.06750568, -0.14283523, -0.16356061, -0.08123268, -0.006748819, -0.017072774, -0.017939035, 0.1346046, -0.13200043, 0.19815323, 0.029375095, 0.058383178) * go_1(0.0, 1.0); + result += mat4(-0.075882465, -0.07738514, 0.017256761, 0.027561456, -0.0030985356, 0.11494044, -0.23481496, -0.0407894, 0.089194834, -0.3295602, 0.1349374, 0.024026528, -0.040600736, -0.019277403, -0.23993303, 0.070719585) * go_1(1.0, -1.0); + result += mat4(0.15384857, -0.1404684, -0.08192259, 0.22059244, -0.056343608, -0.07680841, -0.028091991, 0.018050734, -0.06448074, -0.15879273, 0.05624588, 0.17439762, -0.15651157, 0.060068816, -0.022861151, -0.12604229) * go_1(1.0, 0.0); + result += mat4(0.036010202, 0.006490351, 0.11859712, -0.059950985, -0.032708675, -0.21403344, -0.041310433, -0.09917238, -0.15357764, 0.061698433, 0.048517, 0.1609773, 0.06535186, -0.17659064, -0.16361596, 0.03786077) * go_1(1.0, 1.0); + result += mat4(0.1510972, -0.03487374, 0.053542916, -0.07919296, 0.11544643, 0.01139448, 0.17608707, -0.2567972, -0.03395201, 0.1396058, 0.11766402, -0.02940849, 0.2797734, 0.040067323, -0.07184705, -0.08410531) * go_2(-1.0, -1.0); + result += mat4(0.3535709, -0.3131969, 0.20586847, 0.0059938114, 0.018430991, 0.17028253, -0.15251099, 0.0781781, -0.24678783, 0.0091668675, 0.17472872, 0.09348784, 0.15651587, 0.082479276, 0.09133184, -0.010763655) * go_2(-1.0, 0.0); + result += mat4(0.102569126, -0.39770702, 0.009020254, 0.015216178, 0.027688032, 0.14120215, 0.097465165, -0.023531476, 0.021813387, 0.037395973, 0.07099101, -0.018405994, 0.19843963, 0.1314482, -0.07058213, -0.16315302) * go_2(-1.0, 1.0); + result += mat4(-0.0022617867, -0.011069732, -0.020649603, 0.013124551, 0.19050135, -0.020224325, -0.16795257, -0.039424885, 0.15197875, -0.15806125, 0.09604692, 0.05569294, -0.03755315, 0.02522338, -0.06173222, 0.12598173) * go_2(0.0, -1.0); + result += mat4(-0.07598657, 0.19927181, -0.08278574, -0.26276442, 0.15123075, 0.13646364, 0.20835224, -0.20013718, 0.099280365, 0.03925767, 0.030458648, 0.085807234, -0.02627184, -0.005727388, 0.14358924, 0.17159012) * go_2(0.0, 0.0); + result += mat4(0.07014556, -0.12877329, 0.14059919, -0.1535854, 0.03571712, 0.16899629, -0.017528472, 0.27891418, -0.02036702, -0.0625575, -0.06368575, 0.057756003, -0.13453323, 0.27671248, 0.004629296, -0.26900387) * go_2(0.0, 1.0); + result += mat4(-0.06847566, -0.21366367, -0.039819483, -0.027131073, 0.30385053, 0.027070398, 0.050060987, 0.22837809, 0.035667785, -0.038031258, 0.002818757, 0.077267155, 0.003597696, 0.1531482, -0.058937583, 0.009182411) * go_2(1.0, -1.0); + result += mat4(-0.16412063, 0.0954355, -0.13111196, -0.0010777399, 0.124151364, 0.13577148, 0.117423296, 0.07165251, 0.045134697, 0.006139977, 0.10442549, 0.18485071, 0.23051512, 0.03836801, 0.13989983, 0.15473667) * go_2(1.0, 0.0); + result += mat4(-0.17817432, 0.06480376, -0.052858084, -0.0685316, 0.050766367, 0.18178764, 0.054162186, -0.23053114, -0.07155077, 0.08317291, 0.08087355, 0.11692418, 0.17209543, 0.07348017, -0.019608062, 0.047815118) * go_2(1.0, 1.0); + result += mat4(0.05242205, -0.05213162, 0.17836288, -0.027634641, 0.11689667, 0.16717364, 0.10070081, -0.020730542, -0.03840858, 0.22093919, 0.086223215, -0.12441894, -0.04431571, -0.16067247, -0.00534175, -0.17543635) * go_3(-1.0, -1.0); + result += mat4(0.0037269965, 0.038231213, -0.06994185, -0.16372295, 0.03060376, -0.15052626, 0.19193533, 0.20571958, 0.14663228, 0.046056807, -0.013436354, 0.30891243, -0.05121337, -0.14922823, -0.038022388, -0.38717356) * go_3(-1.0, 0.0); + result += mat4(-0.24040397, 0.06540199, -0.08115575, -0.1086239, 0.16053584, -0.07767291, 0.09287401, 0.03635286, -0.068610564, -0.08793643, -0.022505488, 0.0021461847, 0.14514421, -0.05938948, -0.070294835, -0.15001974) * go_3(-1.0, 1.0); + result += mat4(-0.14725754, 0.1766625, -0.049569584, -0.03776424, -0.070841715, -0.1235983, 0.28747836, -0.071502686, 0.08114895, -0.018539542, 0.14620744, 0.012727906, 0.05387464, -0.03048568, -0.020431526, -0.19388756) * go_3(0.0, -1.0); + result += mat4(-0.026303306, -0.025468629, -0.15062398, 0.114179656, 0.019424522, 0.11645826, -0.054830663, 0.078278676, 0.17537925, -0.27309817, 0.085727856, 0.17053008, -0.009340296, -0.32924372, -0.13124111, -0.025490649) * go_3(0.0, 0.0); + result += mat4(-0.042400144, -0.049280033, -0.12039706, -0.17957337, -0.14830892, 0.1251945, 0.23149583, 0.28181273, -0.14767516, -0.14848503, 0.14360987, 0.16052951, -0.074891195, 0.06248858, 0.055073753, 0.04758557) * go_3(0.0, 1.0); + result += mat4(-0.09363487, -0.1045394, 0.0017166267, -0.12985104, 0.015910368, 0.102758124, 0.14058472, -0.2664263, -0.037670832, -0.38395768, 0.21591122, 0.020808058, -0.21803327, -0.1312806, -0.017887505, 0.020433053) * go_3(1.0, -1.0); + result += mat4(-0.05004401, -0.09497019, -0.027566075, 0.113181084, 0.07103934, 0.2734206, -0.03059386, -0.0332269, 0.102268346, 0.008209988, 0.35907993, -0.06962411, -0.018797243, -0.10854897, -0.047280792, -0.17607129) * go_3(1.0, 0.0); + result += mat4(0.057423804, -0.09471347, -0.014889988, -0.16183464, -0.120575145, 0.087070495, 0.06833499, -0.09479741, 0.03847108, 0.10778999, 0.056107424, -0.23145913, 0.024419997, 0.103265956, -0.08921305, -0.09757912) * go_3(1.0, 1.0); + result += mat4(0.13384978, -0.079113975, 0.2673455, -0.001388325, 0.09020357, -0.031004086, -0.06706532, -0.09712962, 0.006595455, -0.07330424, 0.027356524, 0.05175056, -0.0071680583, -0.17523831, -0.2500806, 0.068184644) * go_4(-1.0, -1.0); + result += mat4(-0.010806503, -0.087054394, 0.01247482, -0.049433894, 0.24250141, -0.012302364, -0.09836663, -0.010441689, -0.01736698, 0.06227692, -0.08207885, -0.08397307, 0.10839543, 0.0582591, 0.10652411, -0.1263973) * go_4(-1.0, 0.0); + result += mat4(0.051801708, 0.10008741, 0.085652865, 0.03317883, -0.011784595, -0.09476136, -0.060254402, -0.03993118, 0.15938812, -0.036154263, -0.023724914, 0.023072388, -0.1830834, -0.16257459, 0.011939983, -0.019817753) * go_4(-1.0, 1.0); + result += mat4(0.009384002, 0.22132717, -0.10790506, -0.13403648, -0.12867084, 0.0170318, -0.26573703, 0.15219554, 0.05208657, 0.028437164, -0.0075094504, 0.16358465, -0.25728798, -0.14209302, -0.090628594, -0.020266641) * go_4(0.0, -1.0); + result += mat4(-0.105271295, -0.08334642, 0.066386715, -0.08532908, 0.034230784, 0.003183763, -0.061057337, -0.08763742, -0.017104378, 0.06903514, 0.00011934939, 0.18061033, -0.11321395, -0.13238335, 0.02217801, 0.16734014) * go_4(0.0, 0.0); + result += mat4(-0.054016914, -0.3251611, 0.10844312, 0.06809114, -0.026177978, 0.03295877, -0.25813127, -0.13190097, 0.1646799, 0.10207205, -0.070685804, 0.060001995, 0.11520876, 0.017403806, -0.13937482, -0.0474489) * go_4(0.0, 1.0); + result += mat4(0.2081571, 0.05452599, 0.08682483, -0.0080074575, -0.20034009, 0.041490223, -0.13525641, -0.08825766, 0.11166498, 0.05461938, 0.062119294, 0.07054797, 0.28615478, -0.10186286, 0.039416775, -0.09058381) * go_4(1.0, -1.0); + result += mat4(-0.002028956, 0.13792294, 0.052321367, -0.10081957, -0.10832031, 0.14681582, 0.034581225, 0.28766856, -0.12628017, 0.22492304, 0.12147461, -0.117368974, -0.09258678, -0.107831135, -0.091728576, 0.056776278) * go_4(1.0, 0.0); + result += mat4(0.09331942, 0.10814952, 0.17062774, -0.07358676, -0.1413653, 0.043760024, -0.022969319, 0.09290279, 0.022235138, -0.105375476, 0.03461203, -0.018847216, 0.016480181, -0.022482162, -0.13637148, 0.19234383) * go_4(1.0, 1.0); + result += mat4(0.02810646, -0.031316705, -0.0178568, -0.14513317, 0.15981704, -0.039926987, 0.17865102, 0.11936641, 0.08213655, -0.0325407, -0.1515291, -0.12928765, 0.011806648, -0.16914015, -0.004875871, 0.106102616) * go_5(-1.0, -1.0); + result += mat4(-0.13184357, 0.061656546, 0.060945187, -0.105421364, -0.037199628, 0.11896752, -0.060773082, 0.045614343, -0.08332208, -0.049595445, 0.09597651, -0.30532154, 0.15812595, -0.042516127, 0.18399784, 0.16094239) * go_5(-1.0, 0.0); + result += mat4(-0.33316278, -0.011284583, -0.16349995, -0.027859828, -0.0265469, 0.11809671, 0.010981738, 0.14738315, 0.06092039, -0.14193222, 0.1506528, -0.07094368, -0.024454627, -0.015645336, 0.034780208, 0.049217694) * go_5(-1.0, 1.0); + result += mat4(0.107179366, 0.07066249, 0.029978203, 0.04064619, 0.14367694, -0.0707521, -0.043202203, -0.07755337, -0.1414949, -0.075680286, 0.07212854, -0.10426819, -0.053450912, -0.036483523, -0.088566504, 0.023040567) * go_5(0.0, -1.0); + result += mat4(-0.07250885, -0.024153208, -0.15135773, -0.12738611, -0.13865541, 0.2558854, -0.062863655, 0.026076516, -0.11330215, -0.1421894, 0.078908496, 0.09536156, 0.09768448, -0.040809087, -0.01081564, 0.12752384) * go_5(0.0, 0.0); + result += mat4(-0.007411453, -0.26306254, -0.09460912, -0.1274183, 0.17549448, 0.10265319, 0.1523632, 0.00567592, -0.010893677, -0.015474816, 0.00347949, 0.06572276, 0.103830785, -0.11260262, -0.1559419, 0.01961365) * go_5(0.0, 1.0); + result += mat4(-0.27802208, 0.06816621, -0.03126256, 0.09541582, -0.027612302, -0.13786513, -0.01970176, 0.14447582, -0.027928956, 0.035179827, 0.08529638, 0.0041394024, -0.115290634, 0.009893316, -0.06947281, -0.12085376) * go_5(1.0, -1.0); + result += mat4(-0.15621363, 0.027770502, 0.22415419, -0.008533331, -0.07490461, 0.063894406, 0.07851438, -0.10022149, 0.037019495, -0.18932734, -0.054964032, -0.019382603, -0.061845765, -0.0727259, -0.07052952, -0.017668312) * go_5(1.0, 0.0); + result += mat4(0.062352043, -0.16134496, -0.11203861, 0.028929278, 0.03922491, -0.03502952, -0.23796257, -0.15868919, -0.009224885, 0.08150161, 0.16375063, 0.05467114, 0.0034257919, 0.020632897, 0.029710175, -0.051271148) * go_5(1.0, 1.0); + result += mat4(-0.10077094, -0.13743052, -0.13426858, 0.02795044, -0.03258582, 0.0035150647, -0.23349123, 0.08158031, -0.14671959, -0.106468596, -0.052647196, 0.15170865, -0.077066086, -0.13687505, -0.100158766, 0.072148666) * go_6(-1.0, -1.0); + result += mat4(-0.18043056, 0.01471657, -0.14077441, -0.07036914, 0.0041728304, 0.0025488208, -0.09778906, 0.022951962, 0.03756181, -0.09718527, 0.05790759, -0.12635967, 0.13590017, -0.009978917, -0.072935194, -0.04623219) * go_6(-1.0, 0.0); + result += mat4(-0.11367442, -0.009137989, -0.2793412, -0.044882946, 0.06419393, -0.043046396, -0.15428057, -0.14217602, 0.025581103, -0.08229003, -0.020829663, 0.06563624, -0.030519947, 0.030248122, 0.03430571, -0.013708682) * go_6(-1.0, 1.0); + result += mat4(-0.2279588, -0.18872449, -0.025711812, -0.0030177163, -0.04904665, -0.012416222, -0.043616265, -0.025587335, -0.13296616, 0.04638035, 0.04678556, 0.03844558, -0.18179114, 0.09372293, -0.010590236, 0.01083938) * go_6(0.0, -1.0); + result += mat4(0.1509907, -0.0481407, 0.0733552, -0.11650966, -0.060449038, 0.045509655, -0.020972773, 0.06986917, -0.14222102, 0.011846137, -0.17001152, -0.057357326, -0.16672502, 0.04941284, -0.047788143, 0.062904075) * go_6(0.0, 0.0); + result += mat4(-0.026204882, 0.1379135, 0.07676878, 0.09819616, 0.0367303, -0.10786471, -0.0075898385, -0.07676497, -0.11037974, -0.26268724, 0.19532666, -0.07363598, -0.07052941, 0.12609297, 0.072664596, -0.05314863) * go_6(0.0, 1.0); + result += mat4(0.08999991, 0.0558405, -0.076048166, 0.02103657, -0.027882319, 0.010349208, -0.10227, -0.057416655, -0.14109646, 0.09137617, 0.014954059, -0.1576444, 0.08265091, 0.17756382, 0.009793101, 0.016993368) * go_6(1.0, -1.0); + result += mat4(0.027727338, 0.035738327, -0.050455257, 0.0270335, -0.025559573, -0.015427726, -0.083071664, 0.061004713, 0.020193916, -0.07887369, -0.02108076, 0.11720328, 0.13798134, 0.13345529, -0.14398462, -0.029060662) * go_6(1.0, 0.0); + result += mat4(-0.07745766, -0.041309092, -0.17316692, 0.033977617, 0.15394445, -0.16951908, -0.0063321716, 0.080495596, -0.0017852545, -0.28805718, 0.0700991, 0.018410137, 0.003488375, 0.19910179, 0.10167056, 0.025110798) * go_6(1.0, 1.0); + result += mat4(-0.15580481, 0.020477565, 0.11532024, 0.03976763, 0.18229389, 0.1271016, 0.08770817, -0.09774775, 0.06600797, 0.01689596, 0.18700399, 0.09403785, -0.009046925, -0.01108422, 0.058958236, -0.047931902) * go_7(-1.0, -1.0); + result += mat4(0.06310476, 0.06905119, 0.018878374, 0.025518246, 0.10841674, 0.09996408, -0.024993157, -0.01841523, -0.05029303, 0.11934722, -0.038388044, 0.06257424, -0.2838227, -0.11319486, -0.06147547, 0.032279905) * go_7(-1.0, 0.0); + result += mat4(0.106864855, -0.14675911, 0.13882893, 0.15282702, 0.10262944, 0.1212188, -0.12513219, 0.09966214, 0.14789942, -0.008914957, 0.042973127, 0.07553493, -0.025540594, -0.05686568, -0.06566971, -0.0020550704) * go_7(-1.0, 1.0); + result += mat4(0.0414937, -0.107962914, 0.0866677, -0.14541091, -0.035804186, -0.03858178, -0.05039649, -0.050335135, 0.1229951, 0.19201261, 0.14003956, -0.08397869, 0.005254548, 0.0066002896, -0.077449955, 0.009956068) * go_7(0.0, -1.0); + result += mat4(-0.0063296407, 0.028561544, 0.08341632, 0.22342314, -0.01691521, 0.031374026, 0.050613165, 0.034745082, 0.032332152, 0.09849194, -0.007582172, 0.15742157, -0.041984398, -0.008867525, 0.03506499, -0.24573727) * go_7(0.0, 0.0); + result += mat4(-0.07056382, 0.0636449, 0.03233018, 0.1501561, 0.06066885, 0.11464044, 0.040849507, -0.13865003, 0.076462656, 0.12667337, 0.029632922, 0.25268108, 0.114084266, -0.17584173, 0.016733518, -0.17203353) * go_7(0.0, 1.0); + result += mat4(-0.01064123, 0.029628627, 0.027050711, -0.18520628, 0.07674622, 0.15729839, -0.030779244, -0.0634873, 0.1574134, 0.07093152, 0.07546052, -0.070630684, -0.022203514, 0.05314295, -0.061366297, -0.0079711685) * go_7(1.0, -1.0); + result += mat4(-0.07035216, 0.17515408, -0.029123412, 0.16910394, 0.08932361, 0.07208431, -0.11704755, 0.11410879, 0.036213387, 0.12823173, -0.07582252, 0.077650435, 0.06261303, -0.04147947, -0.04317352, 0.0021995064) * go_7(1.0, 0.0); + result += mat4(-0.15121935, 0.13061461, 0.0625614, 0.21688727, 0.2871471, 0.16875097, -0.10717908, 0.11702028, 0.034555722, -0.020147238, -0.10780166, -0.10345562, 0.07117743, -0.0009922339, 0.16038051, -0.015311427) * go_7(1.0, 1.0); + result += vec4(0.014096946, 0.0069551114, -0.010140134, -0.058456354); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_21_tf3 +//!SAVE conv2d_22_tf +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_21_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_21_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.10223896, -0.003962179, -0.026885005, 0.11193138, -0.13312434, -0.025076041, -0.059773684, 0.017627714, -0.011125944, 0.14110252, -0.01591333, -0.103229046, 0.06469717, 0.080973566, 0.1377451, -0.085188426) * go_0(-1.0, -1.0); + result += mat4(-0.012705599, -0.12700035, 0.1918345, -0.0019184656, -0.0847267, 0.03148527, 0.06449907, -0.076839246, -0.034566037, 0.114147305, -0.024244096, -0.07691169, 0.038501963, -0.1080852, 0.040208496, -0.06312811) * go_0(-1.0, 0.0); + result += mat4(-0.033068754, -0.10348481, -0.058994904, -0.114934064, 0.15838924, -0.010264998, -0.12799472, 0.020845814, -0.018875258, -0.08804753, 0.01602375, 0.12608516, 0.054035492, -0.07701545, 0.04347651, 0.06463367) * go_0(-1.0, 1.0); + result += mat4(0.017377479, -0.03754917, 0.024689697, -0.057927262, 0.0028631683, -0.05547405, 0.012137814, 0.02843827, -0.0352874, -0.19916151, 0.04784842, 0.21002018, 0.081276864, 0.011102207, -0.083124526, -0.031950574) * go_0(0.0, -1.0); + result += mat4(0.01873304, -0.09044405, 0.30275765, 0.08380349, 0.014064781, 0.09168157, -0.1864819, -0.0021196704, -0.07948197, -0.020107562, -0.03004029, -0.1622591, 0.071999714, 0.04594003, 0.008249409, -0.04092763) * go_0(0.0, 0.0); + result += mat4(0.019689152, -0.0032011836, -0.08279852, -0.098952815, 0.063363254, 0.041723877, -0.045762774, -0.07205901, -0.019022591, -0.003969965, 0.0026567664, -0.17724961, 0.013349725, -0.0045725764, 0.008257882, -0.067322485) * go_0(0.0, 1.0); + result += mat4(-0.012290499, 0.09406699, -0.07163798, 0.04803333, 0.06828126, -0.019982453, -0.08896813, -0.0040559024, 0.037249956, 0.01023478, 0.10625678, -0.15654735, 0.087492324, 0.08580872, -0.011420013, -0.021355275) * go_0(1.0, -1.0); + result += mat4(0.07686104, 0.09579432, -0.25340828, -0.07615695, -0.056016568, -0.120171346, -0.15931551, -0.029862411, 0.02335221, 0.011431254, -0.0030845958, -0.07218796, 0.07774282, 0.13269827, 0.04881306, -0.11035891) * go_0(1.0, 0.0); + result += mat4(0.044817206, -0.048356906, -0.16389881, 0.015139408, -0.07451794, 0.04694384, -0.02990636, -0.10855492, -0.21666275, -0.052773386, -0.25028092, -0.11746603, 0.077358045, 0.10103544, 0.08527534, -0.06464521) * go_0(1.0, 1.0); + result += mat4(0.03582138, 0.010487161, 0.0029515699, -0.110723086, 0.049549296, 0.14427675, -0.0609413, 0.06046345, 0.09253051, 0.1868415, -0.015272976, -0.11376719, -0.03537348, -0.09238331, -0.0036336356, 0.09587111) * go_1(-1.0, -1.0); + result += mat4(-0.015760727, 0.100032315, 0.0521871, -0.12693447, 0.032953065, -0.01678644, -0.022978857, 0.08453327, 0.052290775, -0.03598402, -0.03558539, 0.034810137, -0.12757197, 0.06762186, 0.1608983, 0.22212158) * go_1(-1.0, 0.0); + result += mat4(-0.025843577, -0.018167645, -0.048210423, -0.09630522, 0.037900604, 0.0091229845, -0.07650797, 0.27066034, 0.18431275, 0.09829389, -0.10438764, -0.048666675, -0.015207321, -0.13972227, -0.18127172, -0.007995113) * go_1(-1.0, 1.0); + result += mat4(-0.03881291, 0.07503142, -0.033570364, -0.045351487, -0.0022145896, 0.010733563, -0.020720467, 0.00081354816, 0.21934588, 0.09224533, -0.08031286, -0.038364504, -0.029873388, -0.25665647, 0.15941957, 0.025528809) * go_1(0.0, -1.0); + result += mat4(-0.09370064, 0.029663661, 0.012679274, -0.043068074, -0.028991526, 0.0574283, 0.056197148, -0.21286213, -0.26483896, -0.23181885, -0.2694775, 0.1776773, 0.26530752, 0.037465684, 0.131577, 0.18775755) * go_1(0.0, 0.0); + result += mat4(0.11927666, -0.017253317, -0.037208788, 0.12963869, 0.1836903, -0.05355178, -0.10927929, 0.088714115, 0.092516005, -0.055786908, -0.3765548, 0.22553508, -0.17434292, 0.07682209, -0.17492367, 0.07921552) * go_1(0.0, 1.0); + result += mat4(0.03987739, 0.21923572, -0.052704852, -0.03514489, -0.0008559233, 0.08740523, -0.038235787, 0.004649678, 0.023195285, 0.07912857, -0.3316638, -0.0018697636, -0.16311869, -0.08239248, -0.08974983, -0.061523616) * go_1(1.0, -1.0); + result += mat4(0.17971839, -0.10032153, 0.09912109, 0.11419959, -0.07862786, 0.18860018, -0.0054023685, -0.0063197673, -0.075057484, 0.11919032, 0.10870008, -0.0010593111, -0.028237697, -0.1403867, -0.15338054, -0.031212265) * go_1(1.0, 0.0); + result += mat4(-0.011073167, -0.021512758, -0.035089463, -0.02270197, 0.1203147, -0.0060833353, -0.06553638, -0.0131418705, 0.037314773, -0.11951629, -0.07282935, 0.18580095, 0.15012014, 0.04814535, -0.09726508, -0.06860187) * go_1(1.0, 1.0); + result += mat4(0.21669087, 0.013801443, 0.02671932, -0.044553265, 0.15349442, -0.0046121236, 0.032123394, -0.12168837, 0.0038842869, -0.023972327, -0.109120324, 0.050505854, -0.023916, 0.013567219, 0.1173681, -0.04551501) * go_2(-1.0, -1.0); + result += mat4(0.057128176, 0.14977872, 0.06343218, 0.06697086, 0.022058524, 0.07482639, -0.041569967, 0.14565067, -0.020313857, -0.07762924, 0.10456895, 0.27812317, 0.0072891894, -0.02010702, 0.025450159, -0.3102941) * go_2(-1.0, 0.0); + result += mat4(-0.055387553, -0.0821909, 0.020622486, -0.046749815, 0.14326937, 0.06796682, -0.12731776, -0.009783433, 0.068818465, -0.15524474, -0.06790948, -0.12209928, -0.0697275, -0.033641398, -0.037991934, 0.109325044) * go_2(-1.0, 1.0); + result += mat4(0.103576414, 0.1382662, 0.0076591466, 0.039789278, -0.00029025285, -0.04420823, -0.016814036, 0.23830856, 0.052784596, -0.042569418, 0.08211856, 0.0014383788, -0.09317573, 0.07717305, 0.034522586, 0.10883371) * go_2(0.0, -1.0); + result += mat4(0.20095795, -0.0762468, -0.122009076, -0.0019315446, 0.0342841, -0.002261875, 0.01336527, 0.037054777, 0.010654201, 0.0647512, 0.24071957, 0.03390332, 0.1840019, 0.026103802, -0.00016578182, -0.15023609) * go_2(0.0, 0.0); + result += mat4(-0.06991413, -0.20303409, 0.13652301, -0.075541444, 0.21606784, 0.06376107, -0.019836407, 0.30286798, 0.2425298, -0.17736211, 0.07770617, -0.19528265, -0.053150296, -0.059372786, -0.08591091, -0.22004424) * go_2(0.0, 1.0); + result += mat4(0.19765162, -0.0076910453, -0.04445224, 0.1611108, -0.050294112, 0.05884916, -0.0031236073, 0.06223903, 0.062324606, 0.035158884, -0.059429616, 0.09551932, 0.023106437, -0.015674893, 0.037365414, 0.13782242) * go_2(1.0, -1.0); + result += mat4(0.03288134, 0.24910542, -0.21833506, 0.034457803, 0.13643186, 0.13222183, 0.1179716, 0.21309394, 0.011414155, -0.063580126, 0.028173532, 0.015402401, 0.09219631, 0.15509954, 0.09644083, -0.004912005) * go_2(1.0, 0.0); + result += mat4(-0.122666344, -0.022612955, -0.18204625, -0.13870001, 0.13226813, -0.020959264, -0.15983039, 0.24193098, 0.009062403, 0.02852321, -0.07637169, -0.07182108, -0.063936904, -0.110338956, 0.08894499, 0.010865757) * go_2(1.0, 1.0); + result += mat4(-0.06311616, 0.032602638, 0.07815579, -0.085873865, -0.028512893, -0.10872674, 0.11407672, -0.1198108, 0.14156549, -0.26490405, -0.013681608, 0.17903471, 0.019571627, 0.08797144, 0.14598761, 0.1752151) * go_3(-1.0, -1.0); + result += mat4(0.060934067, -0.043878168, -0.03281894, 0.1515089, -0.031678505, 0.08898307, -0.09095997, -0.077509135, -0.028398534, -0.032485247, -0.07366146, -0.04646123, 0.03640116, 0.059365295, 0.0358693, 0.114865065) * go_3(-1.0, 0.0); + result += mat4(-0.00442871, 0.072429955, -0.18537655, -0.06719485, -0.09143303, -0.13743407, -0.0929156, -0.07207548, 0.03515558, -0.2056265, 0.043447953, -0.1127557, 0.14011581, -0.015595671, -0.044881705, 0.011502557) * go_3(-1.0, 1.0); + result += mat4(-0.11697889, -0.099679604, 0.031066136, 0.082590826, 0.10863569, -0.067363665, -0.20282263, -0.15688327, -0.042486712, -0.013625548, 0.048191063, -0.041503422, -0.04337012, 0.02459068, -0.119529836, -0.07766196) * go_3(0.0, -1.0); + result += mat4(-0.07818919, -0.21690421, 0.03777118, 0.020176264, -0.11963998, -0.20380595, -0.11266237, 0.10204603, -0.055295635, 0.042670958, 0.032413233, -0.29787624, -0.09695584, -0.06951056, -0.111144245, 0.27353725) * go_3(0.0, 0.0); + result += mat4(-0.074568786, -0.033846285, -0.11303718, 0.01347156, 0.13417509, -0.035141, 0.0549755, -0.055368077, 0.08586122, -0.06080446, -0.0649666, 0.034248006, 0.055422872, 0.0002444246, -0.05463847, -0.004172834) * go_3(0.0, 1.0); + result += mat4(0.043535687, 0.049146313, -0.08071237, 0.05743858, -0.009361048, -0.104187995, -0.05914457, 0.015472587, 0.051585488, 0.13609129, 0.039380804, -0.09487062, -0.029992107, 0.20127308, -0.016586518, -0.0118653355) * go_3(1.0, -1.0); + result += mat4(-0.11341038, -0.06534287, -0.00969141, 0.09842377, -0.15015216, -0.13036063, 0.16397302, -0.035185672, 0.014939415, 0.09231899, 0.0960422, 0.098402545, 0.05026251, -0.052272506, -0.07076674, 0.1017807) * go_3(1.0, 0.0); + result += mat4(0.09410467, 0.06965212, -0.050828446, -0.014842064, -0.05672778, 0.0034312159, -0.12667121, 0.08755347, -0.19107659, -0.14826727, -0.148465, 0.044678684, 0.12208376, 0.05630527, -0.09849773, 0.059570145) * go_3(1.0, 1.0); + result += mat4(-0.0056368727, -0.060553093, 0.06869724, -0.2671654, 0.074483775, -0.22439592, 0.03412359, -0.042746507, -0.00033218932, 0.029451698, -0.11889161, 0.02450455, -0.050221678, -0.036697924, 0.10979591, 0.006301693) * go_4(-1.0, -1.0); + result += mat4(0.14260219, -0.059394777, 0.008651593, -0.030021094, -0.10832626, -0.10480623, -0.051381744, 0.14397325, 0.10055106, -0.124934874, 0.071788386, -0.026599124, 0.21032484, -0.033513267, 0.15657996, -0.14035532) * go_4(-1.0, 0.0); + result += mat4(-0.13892077, -0.10481157, 0.035189748, -0.047936644, -0.039695438, 0.10282643, -0.04772888, -0.05615731, -0.0629154, 0.029910412, 0.016778577, 0.15581344, 0.07343337, 0.09643205, -0.007878382, 0.03907105) * go_4(-1.0, 1.0); + result += mat4(-0.013479193, -0.11390557, -0.054494295, -0.018774029, -0.07810012, -0.017801207, -0.09907588, -0.068129614, -0.0441842, 0.17567265, 0.015810724, 0.12202828, -0.09561252, 0.18990034, 0.046686, 0.07932812) * go_4(0.0, -1.0); + result += mat4(0.12950182, -0.0764622, -0.16708113, -0.041282784, -0.034567624, -0.046898007, -0.047732405, -0.16523215, -0.098671466, 0.11115384, 0.018733667, -0.030257061, 0.024691723, 0.14673457, -0.0042721583, -0.073733196) * go_4(0.0, 0.0); + result += mat4(-0.1880415, 0.058407295, -0.024268452, -0.08863777, -0.00033153518, -0.067544006, -0.14007194, 0.09763543, -0.13311495, -0.013045288, 0.080994524, -0.0021852767, 0.2526301, -0.15590498, 0.06513285, 0.008684614) * go_4(0.0, 1.0); + result += mat4(-0.16307826, -0.061499167, 0.10007602, -0.13215826, -0.007965347, 0.15285823, -0.1121792, -0.07439956, -0.07243183, 0.012338051, 0.020877926, 0.15401553, 0.079975344, -0.08843829, -0.016215425, -0.05091215) * go_4(1.0, -1.0); + result += mat4(-0.13515377, -0.22893935, -0.023000397, -0.103096426, 0.025951281, 0.13526388, -0.0009632785, -0.17457137, 0.015916126, -0.0067753294, -0.15909977, 0.03092967, -0.04734426, -0.0912585, 0.05898728, 0.26564533) * go_4(1.0, 0.0); + result += mat4(0.0035275293, 0.012649278, 0.1948556, -0.07416863, 0.02219981, 0.016499944, -0.12379185, -0.00033774113, -0.07067968, 0.07390183, -0.013505385, 0.02139018, 0.09119292, 0.10301386, 0.020239206, 0.020797301) * go_4(1.0, 1.0); + result += mat4(0.03793496, 0.047918268, -0.042518344, -0.003040927, -0.004914266, -0.06466914, 0.1054016, -0.030953595, 0.05262255, 0.059544593, 0.0012515553, 0.023376456, -0.11946804, 0.022816675, 0.12599446, -0.039031338) * go_5(-1.0, -1.0); + result += mat4(0.011011564, -0.06995047, 0.09471372, 0.073482506, -0.1361997, -0.103040315, -0.06262413, 0.11690031, 0.07043588, 0.047068246, -0.054675575, 0.038323287, 0.016909422, -0.26532903, 0.124031335, -0.15765414) * go_5(-1.0, 0.0); + result += mat4(0.1326377, -0.05869703, 0.055429142, -0.012859626, -0.15007673, 0.14602819, -0.08654888, 0.11824468, -0.059663087, -0.10994563, 0.043549772, -0.10930523, -0.019649897, -0.0034801385, 0.045497436, 0.114508495) * go_5(-1.0, 1.0); + result += mat4(-0.113787495, 0.037103496, -0.110569924, -0.059518036, 0.058745943, 0.08719483, 0.02520162, 0.025358152, -0.045150854, 0.1504978, -0.14076203, 0.0943479, 0.047369894, 0.011271822, 0.09715413, 0.028001258) * go_5(0.0, -1.0); + result += mat4(0.13310856, 0.10608291, 0.08023608, -0.18634102, 0.2721929, -0.10385782, 0.08757403, 0.20912756, 0.008799337, 0.054682046, 0.08106119, 0.051967915, -0.0420578, -0.08070327, 0.14520262, -0.11477875) * go_5(0.0, 0.0); + result += mat4(-0.046184566, 0.025668617, 0.10700355, -0.039824486, -0.2480234, 0.027258608, 0.0951336, 0.12978607, -0.05499455, -0.13601139, 0.12724544, -0.15641823, -0.0873552, -0.02188817, 0.10117889, 0.07147513) * go_5(0.0, 1.0); + result += mat4(-0.070887625, -0.042188253, -0.05307244, 0.08367565, -0.05394035, 0.032729495, 0.033332206, -0.018877268, -0.091275655, -0.0510818, 0.08523829, 0.11053021, -0.054227974, -0.03259413, 0.05457483, -0.1096016) * go_5(1.0, -1.0); + result += mat4(-0.14503245, -0.091081366, -0.13127449, -0.0807559, 0.108912565, -0.021791635, -0.11024329, -0.0138166705, 0.024161678, 0.033913497, 0.09756464, -0.053126756, -0.08025202, 0.04498814, -0.031021861, -0.02993253) * go_5(1.0, 0.0); + result += mat4(-0.25045946, -0.054898996, -0.0071393256, 0.041971236, -0.019135686, 0.08095327, 0.04526907, -0.09426112, 0.06313221, -0.044544, 0.07875577, -0.067794, 0.10187279, -0.035654344, 0.12284866, 0.03620429) * go_5(1.0, 1.0); + result += mat4(0.0943095, -0.06398471, 0.021779256, -0.010619206, -0.1617448, -0.0017947294, 0.023434827, 0.04754851, -0.046987966, 0.017030017, 0.019708563, 0.09053293, -0.067873746, -0.06164325, 0.0011462327, -0.017837046) * go_6(-1.0, -1.0); + result += mat4(0.12039112, -0.17216775, -0.07337242, 0.13252397, 0.08201477, -0.029474648, -0.0034474097, -0.13619982, -0.17575242, 0.020274922, 0.018647762, -0.28044346, -0.07714025, 0.0890905, -0.019951884, 0.05899824) * go_6(-1.0, 0.0); + result += mat4(0.0033426161, -0.01923198, 0.06659414, -0.0122886365, 0.04478331, -0.03897386, 0.12604317, 0.008812119, -0.09419456, -0.023979114, 0.21770099, -0.054838024, -0.053163752, 0.010338786, 0.04925877, 0.037819408) * go_6(-1.0, 1.0); + result += mat4(0.14372422, 2.9918947e-05, 0.01845988, 0.09333284, 0.054844312, 0.059736133, 0.021345338, -0.09120293, -0.17127307, -0.075915925, -0.119462065, -0.1835271, 0.12677628, -0.041337408, 0.03678916, 0.14712988) * go_6(0.0, -1.0); + result += mat4(0.055389576, 0.13690695, 0.02925458, -0.028905952, 0.17396308, -0.14087082, -0.026549693, 0.013602965, 0.16962606, 0.016811062, 0.062239293, -0.066154756, -0.07894684, 0.07768367, -0.10873246, -0.059606884) * go_6(0.0, 0.0); + result += mat4(0.04707709, 0.040111955, 0.15547106, 0.0143624535, -0.04931132, -0.1799645, -0.014157518, -0.11942247, -0.3786742, -0.0926198, 0.048465937, -0.16508308, -0.18456425, -0.005596354, 0.010553759, -0.14650412) * go_6(0.0, 1.0); + result += mat4(-0.12822108, -0.079825334, 0.037238546, -0.05552771, 0.0143161025, -0.0038768095, -0.11916319, 0.03297939, 0.012635646, -0.103318, 0.035178438, -0.05269534, 0.010272984, -0.076760076, -0.0404603, -0.094428495) * go_6(1.0, -1.0); + result += mat4(-0.008478651, -0.14902028, 0.1311909, -0.01592968, 0.040431064, 0.08323771, -0.20654729, 0.11949456, -0.14009294, 0.02057732, 0.06463541, -0.14152607, 0.13293357, 0.04113506, 0.1639069, -0.025289651) * go_6(1.0, 0.0); + result += mat4(-0.007400942, -0.1505565, -0.013284112, -0.015629197, 0.100692146, 0.19005777, -0.0576178, -0.027158504, 0.08660662, -0.06668144, 0.11079919, -0.074782886, -0.118196, -0.12197285, -0.008273694, 0.024818229) * go_6(1.0, 1.0); + result += mat4(0.011819537, 0.11353393, -0.086237915, -0.022234803, 0.055968612, 0.0615991, 0.025318988, 0.008080514, -0.0074833143, 0.03213514, 0.017596677, -0.04917979, -0.01020977, 0.029775353, 0.004897033, -0.10395338) * go_7(-1.0, -1.0); + result += mat4(-0.0688038, 0.058822602, -0.10180778, 0.13479604, -0.16078031, 0.13976133, -0.0018446567, 0.053424157, 0.028315792, 0.08567457, -0.043963797, -0.075502805, 0.23958415, 0.028348215, 0.028450236, -0.09978715) * go_7(-1.0, 0.0); + result += mat4(0.055084568, 0.0633926, 0.07513028, 0.067018405, 0.07824109, 0.037960775, 0.0943014, 0.04693916, -0.036844347, 0.019190654, -0.09051303, 0.08540987, -0.10541823, 0.059776157, -0.050921787, 0.044931833) * go_7(-1.0, 1.0); + result += mat4(0.09222645, -0.0042043333, -0.03341929, 0.056271244, 0.07315851, 0.12040825, 0.04529911, -0.069902666, 0.03675086, -0.15167333, -0.0731015, 0.037529152, 0.07895808, 0.19516838, 0.12074145, 0.04428294) * go_7(0.0, -1.0); + result += mat4(-0.22974864, -0.083703846, 0.007981983, 0.113407955, -0.005681401, -0.0725044, 0.08403406, -0.08046055, -0.06072271, -0.0036524318, 0.017676545, -0.019439736, -0.16989848, 0.05007473, 0.12076659, 0.03561606) * go_7(0.0, 0.0); + result += mat4(0.25000554, 0.08706544, -0.06796797, -0.029297633, 0.030483002, -0.029405795, 0.03225599, 0.1273929, 0.057500437, 0.14282806, 0.1312532, 0.06736387, -0.051108856, -0.047272597, -0.083601035, 0.08707381) * go_7(0.0, 1.0); + result += mat4(0.00104698, 0.052348208, -0.0038028702, -0.031462383, 0.16882937, 0.03287029, -0.052102886, 0.0616993, -0.13379374, -0.16625734, 0.030139674, -0.11211979, -0.06178343, 0.084902056, 0.027871864, -0.028810805) * go_7(1.0, -1.0); + result += mat4(0.13843846, 0.16980068, -0.05281067, 0.107935965, 0.05919283, -0.0379272, 0.080057494, 0.12334194, 0.016972173, -0.067814775, 0.18925636, -0.007931023, 0.21753874, 0.016326033, 0.09708944, -0.027348526) * go_7(1.0, 0.0); + result += mat4(-0.0652925, 0.080116995, -0.02714036, 0.023029007, 0.03694966, 0.014283271, 0.2425468, 0.0090831, -0.04629186, -0.09224253, 0.0074571487, 0.03976705, -0.12308334, -0.02258988, 0.02122909, -0.003723904) * go_7(1.0, 1.0); + result += vec4(0.022695603, -0.0023082788, 0.028530424, -0.014318725); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x104 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_21_tf3 +//!BIND conv2d_23_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!SAVE conv2d_24_tf +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.058696087, -0.016692411, 0.25976986, 0.099469885, -0.09152728, -0.2148431, -0.08802325, -0.016499085, 0.13282052, 0.0980272, -0.1158862, 0.19684108, -0.11994136, -0.059662573, -0.016995221, -0.1027122) * g_0; + result += mat4(-0.010595027, 0.06406856, 0.23653634, 0.16295283, 0.09336285, -0.027337749, 0.015952548, 0.0376953, 0.095897034, 0.30973884, -0.08175905, -0.22890201, 0.04396234, -0.13037258, -0.025949383, -0.06218012) * g_1; + result += mat4(-0.07620231, -0.30194682, -0.076309256, 0.14013915, 0.07061645, 0.09126501, 0.1150165, -0.25510675, -0.029847346, 0.11263369, -0.02107326, -0.076345, -0.0836896, -0.10574222, 0.049557228, 0.18204224) * g_2; + result += mat4(0.31275895, 0.2131336, -0.17616041, -0.1532927, -0.0800748, 0.14726815, 0.011492155, 0.102820344, 0.10141421, -0.014893769, -0.25251386, 0.041055515, -0.10404861, -0.00033553177, -0.19449559, 0.060588796) * g_3; + result += mat4(0.16963251, -0.013009328, 0.09477736, -0.1371889, -0.057696134, -0.11377323, -0.009975633, 0.10865341, 0.018116307, -0.12912029, 0.00446529, -0.07526829, 0.21180825, 0.023429712, -0.15647651, 0.11771583) * g_4; + result += mat4(-0.10107582, -0.06897041, 0.07265895, -0.13229463, -0.032618273, -0.1995065, -0.04359697, 0.010246897, 0.08059705, -0.056275643, -0.18562363, 0.076477356, -0.032394793, -0.022298874, 0.04084915, -0.08365395) * g_5; + result += mat4(0.17930493, 0.05326699, -0.13416114, -0.20071405, 0.04909069, -0.11235366, -0.11290477, 0.054805405, -0.18932551, -0.23691942, 0.00930692, 0.055858135, -0.18744826, 0.124326915, -0.12145515, -0.05469838) * g_6; + result += mat4(-0.083303414, 0.14274205, -0.17837334, -0.22321583, 0.024028191, -0.22178806, 0.003354423, -0.13398252, 0.11718759, -0.026552575, 0.104777284, -0.16523509, 0.26287836, 0.029216014, -0.04382982, -0.1816694) * g_7; + result += mat4(0.36169127, 0.036328353, 0.38394243, -0.044287164, 0.026606947, -0.015364243, 0.040234428, -0.14585258, 0.023770748, 0.014420717, -0.18471159, 0.12606202, 0.071438275, 0.015476816, 0.11971924, -0.012690996) * g_8; + result += mat4(-0.23509689, 0.0076271794, -0.5163756, 0.08395759, -0.18723673, 0.018408693, 0.08788511, 0.15232271, -0.36024943, -0.09240755, -0.30047625, -0.17155606, -0.06985937, 0.20842774, -0.22400227, -0.21664825) * g_9; + result += mat4(-0.05239372, 0.11904273, -0.08821749, -0.04636995, -0.16663203, -0.11476132, 0.08088593, -0.03589705, -0.01017948, -0.048168585, 0.010544936, 0.13717537, 0.16119, -0.037817374, -0.0762783, 0.03526467) * g_10; + result += mat4(-0.040259548, -0.14698508, 0.10502734, -0.105779156, 0.17744789, 0.05297252, 0.021307468, -0.21976848, -0.030510878, 0.09223678, -0.09474818, 0.2469629, 0.0013956686, 0.18587582, -0.04157682, 0.1704521) * g_11; + result += mat4(0.07285109, -0.010645814, -0.07633459, 0.0998653, -0.034591697, -0.20350501, 0.10648686, 0.13691725, 0.042239573, -0.12919825, 0.08137461, -0.027513884, -0.0028005934, 0.03199354, -0.016124157, -0.058441218) * g_12; + result += mat4(0.05280611, 0.11754696, -0.10911552, 0.316396, 0.15148664, -0.061536465, -0.102609016, 0.037154227, 0.15367137, -0.042577345, 0.06558037, 0.17360497, 0.20247519, -0.032606795, -0.10807613, 0.051761452) * g_13; + result += mat4(0.0022353246, 0.11659671, -0.14492981, -0.20829871, 0.13133155, 0.12089799, 0.019354021, -0.2658604, 0.04921859, 0.22848538, 0.21938437, 0.16021933, -0.06768084, 0.134724, 0.047685273, 0.077655315) * g_14; + result += mat4(0.019583335, -0.11596351, 0.20498835, 0.13917811, -0.028330192, -0.07062669, -0.19952956, 0.08023568, 0.0053012795, -0.10001755, 0.24791576, 0.014599471, 0.18118413, 0.027773563, -0.017590087, 0.037026614) * g_15; + result += mat4(0.097719975, -0.035079796, 0.11477913, -0.13726783, 0.20932943, -0.10429427, 0.13141108, -0.19026637, -0.06115164, -0.23775233, 0.090050876, 0.031347554, 0.0350951, 0.052728195, -0.07699315, 0.24431244) * g_16; + result += mat4(0.16608196, 0.20575161, -0.40825596, 0.24043176, 0.31130707, -0.046513405, 0.14605568, -0.1021257, 0.1593242, 0.32908028, -0.13133794, -0.08078372, -0.21714397, 0.054140713, 0.15257664, -0.09940761) * g_17; + result += mat4(-0.1323459, -0.28875232, -0.01497331, 0.030733688, 0.12423061, 0.073697634, -0.2566797, 0.04460948, 0.2865253, -0.13094993, 0.06848032, -0.080888934, 0.09375976, -0.039186817, -0.26337674, -0.098654084) * g_18; + result += mat4(-0.22869076, -0.06542219, 0.15441294, 0.053751558, -0.10786946, 0.21515097, -0.12272559, 0.113470495, -0.039961167, -0.05458959, 0.056336533, -0.16626738, -0.11003154, 0.16398644, 0.21803926, 0.14490128) * g_19; + result += mat4(0.005704737, 0.050607253, -0.060669646, 0.02315674, 0.27544695, -0.05550004, -0.32093555, -0.027370991, -0.0070907134, 0.114890516, -0.037459094, 0.26141244, 0.3948764, 0.055632085, 0.12894577, 0.2616119) * g_20; + result += mat4(-0.16639514, -0.17228165, 0.2578368, 0.18405698, -0.16141811, -0.19922118, 0.0774084, 0.22068399, -0.12284921, 0.10599979, 0.039710265, -0.027798124, -0.103033185, -0.04742161, -0.30192822, -0.08567758) * g_21; + result += mat4(-0.0868937, -0.10361983, 0.023334388, 0.008042379, 0.26398548, 0.15074515, -0.052286822, -0.10586637, 0.07187348, 0.099190384, -0.1389896, -0.0019672879, -0.14919114, 0.016451705, -0.038644433, 0.04510475) * g_22; + result += mat4(0.0478762, -0.0032748727, -0.15553872, 0.17001377, 0.010854262, -0.106533505, 0.4341412, 0.24823058, -0.19182336, 0.08669677, 0.030827353, 0.05449623, 0.020789523, 0.13378422, 0.04309073, 0.30953705) * g_23; + result += mat4(-0.33780453, -0.15031691, -0.18126999, 0.023555402, 0.30662948, -0.013749685, 0.28102842, 0.008741284, -0.14455633, -0.18823312, 0.016984712, -0.261531, 0.33998242, 0.055556037, 0.07087725, -0.10207668) * g_24; + result += mat4(0.25463784, 0.04663675, 0.24814023, -0.14536841, 0.1517421, 0.13530119, -0.12027553, -0.030012354, 0.15529017, 0.06190467, -0.042643487, -0.14222258, -0.036342848, -0.029681267, -0.0059485766, -0.006802466) * g_25; + result += vec4(-0.07437017, -0.009831191, 0.0028422514, 0.015599199); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x104 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_21_tf3 +//!BIND conv2d_23_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!SAVE conv2d_24_tf1 +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.08979697, -0.10504161, 0.16022556, 0.11341658, 0.061358813, -0.11527514, 0.104621656, 0.17846957, -0.21971604, -0.08296368, 0.059561037, -0.030467503, -0.18203235, -0.00489335, -0.13960212, -0.1846774) * g_0; + result += mat4(-0.021587428, 0.13345426, 0.002885677, -0.10446278, 0.17950022, 0.029065073, -0.32806116, 0.11106503, 0.041467514, -0.28959805, -0.033284128, 0.031551834, 0.006884119, 0.09131054, 0.02568901, -0.11571497) * g_1; + result += mat4(-0.061347164, -0.019125437, -0.14035773, 0.17835122, -0.18599916, 0.006040366, -0.10548407, 0.16857028, -0.12821414, -0.257687, 0.083109885, 0.033304747, -0.03638158, 0.089094125, -0.2121359, -0.16846325) * g_2; + result += mat4(-0.19272862, -0.040250458, -0.025220647, -0.0130254505, 0.16971767, -0.1262595, -0.17335917, -0.06738606, 0.25743198, -0.07245476, 0.034572147, 0.36634898, 0.06062579, -0.08718957, -0.03222726, -0.2564149) * g_3; + result += mat4(-0.19240691, 0.12406588, 0.3184258, -0.34774688, 0.14093249, 0.03706444, -0.111542135, 0.26256654, -0.1875004, 0.049010817, -0.28910252, -0.07044059, -0.061912216, 0.0849468, 0.044482302, -0.09588286) * g_4; + result += mat4(0.15970096, -0.0030905118, 0.28313154, 0.027417777, -0.1538593, 0.21207502, 0.13121693, -0.30331814, 0.121317744, 0.042900104, -0.022242952, 0.10603051, -0.029436313, -0.06481103, 0.1403121, -0.052515112) * g_5; + result += mat4(0.08658267, 0.1741316, -0.18155402, -0.10258272, 0.032190584, 0.066993676, 0.1354344, 0.027893255, -0.017966608, 0.23040892, 0.030393174, -0.07598643, 0.13171883, 0.18465646, 0.067950405, -0.089663) * g_6; + result += mat4(0.122048914, 0.11810184, -0.11860061, -0.26858392, -0.209042, -0.16273905, -0.055165585, -0.005811152, -0.18738034, 0.058543697, -0.039830476, -0.16113137, -0.091200404, 0.2339841, -0.021218592, 0.26669285) * g_7; + result += mat4(-0.014585638, -0.0032463232, 0.17495912, -0.08503565, -0.19564098, 0.22158442, -0.1867278, 0.0042652315, 0.03968311, 0.28752264, -0.28998294, -0.0029852116, -0.23554218, 0.16868985, 0.08550133, -0.1574371) * g_8; + result += mat4(0.49997026, -0.016691396, -0.18841855, 0.30310807, 0.100790545, 0.038233314, 0.1611522, 0.13933793, -0.22570881, 0.12208755, 0.23460633, 0.15977637, -0.03795079, -0.30355585, 0.0011402427, -0.07599262) * g_9; + result += mat4(0.1040602, 0.087594695, -0.27393925, 0.0418618, 0.06769233, 0.10341748, 0.03344078, 0.14392397, 0.19013835, -0.003081719, -0.2819769, 0.025617521, 0.09402475, -0.015399136, 0.04733618, -0.044959366) * g_10; + result += mat4(-0.060594074, 0.015600568, 0.16962534, -0.00081952167, 0.2690884, 0.04898387, 0.23332061, 0.094616964, -0.08526234, -0.07512189, 0.04900841, -0.18874052, 0.09941649, -0.040419415, -0.13692108, 0.16164334) * g_11; + result += mat4(-0.053954955, 0.28258643, -0.07396885, -0.29855832, -0.05407898, 0.014401148, -0.054173157, -0.15637222, 0.272353, -0.02170652, -0.015834406, 0.08651297, -0.11185562, -0.19492313, -0.024557848, 0.10485409) * g_12; + result += mat4(-0.08333046, -0.06798886, -0.11723233, 0.2928367, -0.029574843, 0.2017853, -0.26673993, 0.1334675, 0.017647222, 0.011599432, 0.2609211, 0.16404016, 0.16160911, -0.13806355, -0.0770869, -0.12961225) * g_13; + result += mat4(-0.19316232, 0.15813714, -0.077418946, -0.20926195, -0.16160491, -0.11846783, -0.026574116, 0.061050467, -0.18681675, -0.062164336, -0.18367381, 0.00018551799, 0.031343188, 0.2299072, -0.118061095, 0.2129531) * g_14; + result += mat4(-0.002469605, -0.042093765, -0.10694342, 0.42083347, 0.0670906, 0.30298585, 0.09004686, -0.23083562, 0.14870504, 0.17281657, -0.20583957, 0.010098754, -0.033128325, -0.111837484, 0.14905591, -0.15318894) * g_15; + result += mat4(0.036136966, 0.018714666, 0.04639626, -0.19534552, -0.10005012, -0.0117230825, -0.21940173, 0.04220659, -0.0032740128, 0.059329886, 0.14921357, -0.056334518, -0.15263896, -0.16852587, -0.044578124, 0.2628712) * g_16; + result += mat4(0.100949906, 0.004228454, 0.06405682, -0.06885952, 0.24312544, -0.33124098, -0.24260363, 0.0024199567, 0.1508378, 0.086369656, -0.08181863, -0.4503699, 0.17878622, 0.11472353, 0.16728742, -0.13093603) * g_17; + result += mat4(-0.06985756, -0.0019436302, 0.015692828, -0.013669101, -0.20771547, 0.067934655, 0.06843243, -0.09379625, -0.043609153, -0.0037825725, -0.10029127, -0.1315925, -0.079464234, -0.08471481, 0.07953321, -0.07559369) * g_18; + result += mat4(0.09396738, -0.08508011, -0.15136994, -0.05033154, -0.13346456, 0.07239574, -0.14461002, 0.03597791, -0.064514555, 0.06253932, -0.17408507, 0.037559777, -0.15963385, 0.08210336, -0.24775903, -0.01580598) * g_19; + result += mat4(0.084354095, 0.18890528, 0.07061357, 0.23486592, -0.15324847, 0.18526913, -0.34279072, -0.37405473, -0.09294527, 0.010385339, 0.19220817, -0.04336903, -0.38940063, 0.076640904, 0.17280221, -0.09818483) * g_20; + result += mat4(0.038739417, -0.07602283, 0.003676506, -0.22913142, -0.08044049, -0.19263157, -0.18030334, 0.09494168, 0.156977, -0.27044684, -0.031590268, 0.20470932, 0.28102174, 0.16872606, -0.11217233, 0.24780095) * g_21; + result += mat4(0.06689687, 0.08853936, 0.09184726, 0.22699554, -0.14092675, -0.02688781, 0.2646647, 0.026377598, 0.12483503, -0.06999643, 0.04486326, -0.0897168, -0.022117272, 0.14900659, -0.26331872, 0.104682565) * g_22; + result += mat4(0.065322906, -0.11183809, -0.17946585, -0.20076565, 0.009464183, -0.123363525, -0.07686269, 0.083753645, -0.062136367, 0.17842509, 0.17349558, -0.10999101, -0.036272816, -0.016200582, 0.10451098, 0.19585742) * g_23; + result += mat4(-0.19023383, 0.26640254, 0.26287216, 0.055038862, -0.3129526, -0.022839354, 0.009630041, 0.08733156, -0.2612418, -0.19251396, 0.058636077, -0.3330285, -0.078063555, -0.27609676, -0.020230204, -0.18260407) * g_24; + result += mat4(0.14539486, -0.21613313, -0.3492072, -0.20886984, 0.25280094, 0.01690657, 0.117284745, -0.14519997, -0.5187426, -0.14994088, 0.18306793, -0.0025114815, 0.022995003, 0.11710601, -0.05377852, 0.11480645) * g_25; + result += vec4(-0.0247107, 0.005474094, -0.09375405, -0.020514423); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x104 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_21_tf3 +//!BIND conv2d_23_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!SAVE conv2d_24_tf2 +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.14804654, -0.14173095, 0.16659345, -0.009385182, -0.020287529, -0.09633324, -0.30860174, 0.063476086, 0.01976211, -0.23352058, 0.09209867, 0.16206749, 0.08077074, -0.10959624, -0.12718476, 0.17011921) * g_0; + result += mat4(-0.3140556, 0.12636565, 0.012903826, -0.08176523, 0.14805675, 0.23573041, 0.22436617, -0.04828265, 0.13404454, -0.016488977, 0.30504864, -0.0019838111, 0.14962101, -0.00575774, 0.19882312, 0.22259174) * g_1; + result += mat4(0.16593869, 0.05078502, -0.12377358, 0.28647205, -0.10124151, 0.15258715, 0.027155356, -0.015847337, -0.054100014, 0.13954991, -0.095538475, -0.024002708, -0.12028006, 0.058690242, -0.32992294, -0.11747722) * g_2; + result += mat4(0.18058912, 0.013726746, 0.14127955, 0.14231133, -0.08689764, -0.092697755, 0.17092462, -0.039948042, 0.1217311, -0.12693831, -0.19433555, -0.10920207, -0.07334007, 0.025639182, 0.032232128, 0.10318817) * g_3; + result += mat4(-0.012409655, 0.055781372, -0.19240658, -0.23877834, -0.0960606, 0.17469998, -0.022961274, 0.063891776, 0.027615886, 0.067367285, -0.25862217, -0.29574084, -0.028999899, 0.17343716, -0.24148487, 0.1229659) * g_4; + result += mat4(0.12804163, -0.23425618, -0.33593133, -0.040897377, 0.11306302, 0.065293916, -0.05870299, -0.15702757, -0.20557828, 0.037325155, -0.21109815, 0.05123402, -0.23969208, 0.053520784, -0.27755785, -0.11555018) * g_5; + result += mat4(-0.13524376, -0.31770554, 0.0842197, 0.08805993, -0.07403083, -0.087194294, 0.012449786, 0.14015238, -0.09606474, -0.04868743, -0.011370155, 0.005927663, 0.028680688, -0.1429374, 0.27102706, 0.11689099) * g_6; + result += mat4(0.15883644, 0.09540351, 0.10983531, -0.047686223, -0.026774509, 0.08621119, -0.06392311, -0.02266724, 0.20034596, -0.013704803, 0.28371832, 0.19092667, 0.10529074, -0.12145345, -0.10676546, -0.02673637) * g_7; + result += mat4(0.0096095605, 0.03329556, 0.09830959, 0.1595078, -0.18308333, 0.14192823, -0.048857637, -0.06888825, 0.18871805, -0.061875697, -0.13133556, -0.17831984, -0.028223597, -0.16346388, 0.16018315, -0.006383535) * g_8; + result += mat4(0.26071513, 0.09806688, -0.34068507, -0.3768804, 0.011374573, -0.2450996, 0.104056686, -0.20815447, -0.3442328, 0.35717773, -0.18200488, 0.21185465, 0.30605116, 0.17752215, 0.26911554, 0.101427086) * g_9; + result += mat4(-0.041318867, 0.1009111, 0.2157564, -0.088500485, 0.07373474, -0.25785303, -0.004410731, -0.14463747, -0.1358761, 0.023295294, 0.113840915, 0.4273329, 0.05128152, 0.14215858, 0.19876923, -0.019440446) * g_10; + result += mat4(-0.23231222, -0.14272551, 0.09846874, -0.06775076, 0.0059967814, 0.062043674, -0.2065345, -0.12056687, -0.024301382, -0.34733498, -0.2054398, -0.08064672, 0.118986174, -0.05259333, 0.09134329, 0.0941969) * g_11; + result += mat4(-0.15081125, -0.03763831, -0.077403225, -0.014139531, 0.1599335, 0.043187547, -0.20010144, -0.12097138, 0.09763305, 0.103107266, 0.01814798, -0.11254244, -0.17597707, -0.05016406, -0.27989724, -0.031772614) * g_12; + result += mat4(0.054545857, 0.03135118, 0.08629934, -0.12681678, -0.049472764, 0.13161416, 0.06408171, 0.09543149, 0.14036587, 0.10973382, 0.095143825, -0.18786812, -0.04433381, 0.04301664, 0.3060177, 0.18051994) * g_13; + result += mat4(0.017087614, -0.09423588, 0.046461068, 0.0127245085, 0.16147164, 0.24400745, 0.08311569, 0.137946, -0.020603297, 0.26379335, -0.09492048, 0.16765113, 0.15279007, -0.111419536, -0.06080683, -0.10723545) * g_14; + result += mat4(0.19078189, 0.050451245, 0.075727284, -0.007865759, -0.10067247, -0.32282433, -0.08889799, 0.025485834, -0.19373515, -0.22204797, -0.08299226, -0.28381655, -0.14620808, 0.08457609, -0.15491463, -0.07288427) * g_15; + result += mat4(0.11656609, -0.14487429, -0.4425259, 0.021374635, 0.06596484, -0.12771748, -0.22535199, 0.028234273, 0.11496608, 0.019801984, -0.04632526, 0.20007893, 0.040895678, 0.083485365, 0.14834464, 0.08356117) * g_16; + result += mat4(0.02211244, 0.08450315, 0.024438182, -0.0043306663, -0.1586669, 0.024556836, -0.0056188432, 0.19931546, -0.15735053, -0.16440377, -0.10889861, 0.06196059, 0.022048898, -0.037491623, -0.34702402, 0.20129041) * g_17; + result += mat4(-0.33401018, -0.014858959, -0.08085903, -0.0008211832, 0.14658095, 0.028263792, 0.27077958, 0.0016592528, -0.025635215, 0.055104904, 0.22146593, 0.18182918, -0.06691726, -0.039572526, 0.14165977, -0.23499596) * g_18; + result += mat4(-0.013547897, -0.025930658, 0.027264774, -0.1256101, -0.051624347, 0.33928105, -0.04096477, -0.04092852, 0.061986156, 0.07382448, -0.41080087, -0.093699835, -0.217555, -0.5191564, -0.30832314, 0.05686793) * g_19; + result += mat4(-0.12603499, 0.011196643, -0.10582392, 0.120446354, 0.044026893, 0.26011583, -0.018695889, -0.12168744, -0.032591492, 0.0948056, -0.0015739531, 0.2480614, 0.16675782, 0.26526824, 0.34634092, 0.12777542) * g_20; + result += mat4(0.09301084, -0.10419714, 0.06912984, -0.17989379, -0.15554993, 0.12535709, -0.017463861, -0.17737497, -0.008574159, 0.05409429, 0.14558169, -0.22812454, 0.03895372, 0.1275974, 0.22765099, 0.057943035) * g_21; + result += mat4(-0.24794875, 0.10049649, 0.028166026, -0.23643738, -0.14107783, -0.010134537, -0.0795233, 0.04698603, 0.11822467, 0.21065955, 0.2251092, -0.19143367, -0.035236355, -0.13354316, 0.07519012, -0.003378642) * g_22; + result += mat4(-0.08100237, -0.016064119, -0.17029656, 0.13301337, -0.44654125, 0.20930994, 0.053686365, 0.20886885, 0.008915734, 0.08018005, -0.14843301, -0.1306173, -0.28592983, 0.051150486, -0.098725766, -0.068406634) * g_23; + result += mat4(-0.16141048, -0.18943654, -0.04775461, 0.08474171, -0.11267106, 0.035240255, -0.12966546, -0.0010696419, -0.0058098137, 0.13086191, -0.2514126, -0.1916487, 0.19768499, 0.046074815, 0.3501277, 0.07461552) * g_24; + result += mat4(-0.03546506, -0.00097176316, -0.174551, -0.11048581, 0.17106281, 0.01978063, 0.19416088, 0.1295629, 0.28066772, 0.09117813, 0.3837941, 0.1571746, -0.21350138, -0.16293706, 0.01890914, -0.120004654) * g_25; + result += vec4(0.0056376588, -0.032156657, 0.017695736, 0.04698144); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x104 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_21_tf3 +//!BIND conv2d_23_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!SAVE conv2d_24_tf3 +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.30036786, -0.071122974, -0.207808, -0.104709424, -0.30407256, -0.095840186, -0.1369558, 0.37065065, 0.21078417, -0.13468549, -0.10461771, -0.06559755, -0.17034003, 0.05641996, -0.27700323, -0.1126542) * g_0; + result += mat4(0.07799722, -0.0022081465, 0.14035574, 0.11457114, -0.09680132, 0.023358248, 0.14260097, 0.06518944, -0.050158285, 0.039226543, -0.22615871, 0.022831999, -0.08471979, 0.30239135, -0.09285331, -0.18434998) * g_1; + result += mat4(-0.014649615, 0.070524774, -0.17721784, -0.14220548, 0.08645409, -0.09074901, 0.04698468, 0.053715184, 0.06270154, -0.075639635, 0.099860035, -0.090023175, 0.36329654, -0.22055952, 0.010457819, 0.07253135) * g_2; + result += mat4(-0.027649708, 0.38244903, -0.10621971, 0.2275538, -0.05934175, -0.0010945094, -0.041326273, 0.035898875, 0.03707596, 0.056224752, 0.056418143, 0.07318794, -0.11713561, 0.27461806, -0.14259866, 0.21453623) * g_3; + result += mat4(0.08535502, 0.29779312, 0.009322038, 0.033960924, 0.23723385, 0.10624898, 0.18388863, -0.1633756, -0.0005816555, 0.11368908, 0.16717602, 0.11334834, -0.05806499, -0.065826096, 0.19527037, 0.31419072) * g_4; + result += mat4(-0.1170813, 0.055507258, 0.036362253, 0.13286461, 0.026856778, 0.063697964, -0.024295578, -0.054315507, -0.19848196, 0.01567515, 0.14405379, 0.13924678, -0.047252674, -0.16682114, -0.04054276, -0.013275098) * g_5; + result += mat4(0.036398828, -0.10294437, 0.031097291, -0.23271134, 0.14264303, -0.08633302, 0.12239915, 0.018420607, -0.09747599, -0.071311615, -0.046238452, -0.17322837, 0.040957235, -0.26349834, -0.21181144, -0.05238187) * g_6; + result += mat4(-0.27340204, -0.080384396, -0.07198998, -0.05323366, 0.14557876, 0.019228118, -0.22286792, 0.20184729, -0.06020158, -0.07255352, -0.11773837, 0.15114646, 0.1300954, -0.12685491, 0.017485369, -0.14980994) * g_7; + result += mat4(-0.0071375193, -0.24509165, 0.047664706, -0.06106591, -0.1671985, 0.19413634, -0.042350926, 0.03802284, 0.07089803, -0.23365532, 0.18229541, 0.042384386, -0.055314403, 0.25988257, -0.12660997, -0.0090976395) * g_8; + result += mat4(0.3142646, 0.3923734, 0.17459705, 0.29964787, 0.043381196, -0.21502787, -0.077350974, 0.064285494, 0.2858196, 0.03305409, 0.042962402, 0.19540143, 0.13053122, -0.08383207, -0.12208418, 0.1985712) * g_9; + result += mat4(0.039936565, -0.0480129, 0.045163006, -0.0016258726, -0.06560048, -0.1440137, 0.073342375, -0.16961938, 0.05413496, -0.1767555, 0.32295126, 0.1549113, -0.03689245, -0.060345363, 0.10861416, 0.051116258) * g_10; + result += mat4(0.04611299, -0.07580715, 0.2404435, -0.02150482, -0.07586656, -0.10504455, 0.0837787, 0.14586666, -0.08992915, -0.011791581, -0.18516701, 0.18664369, -0.08699046, 0.23641954, 0.1359928, -0.008187404) * g_11; + result += mat4(-0.09519243, -0.1259728, -0.1609327, 0.0042067054, -0.022335263, -0.089343786, 0.02145024, -0.22889718, -0.082472935, 0.06351865, 0.19912359, -0.041878484, 0.03906691, -0.009029629, -0.095140696, -0.0047787162) * g_12; + result += mat4(0.2018249, 0.060700044, 0.17174731, -0.020011077, 0.08717426, 0.19148429, 0.06265732, -0.070558965, 0.15527514, 0.1371965, 0.04782656, -0.057176862, 0.005966481, -0.078806885, -0.09565087, -0.08971814) * g_13; + result += mat4(0.060476594, 0.1829843, -0.14988089, 0.097976886, 0.13092533, 0.16842246, 0.148756, 0.041732185, -0.09868615, -0.05051786, -0.17886515, -0.47046304, -0.0027662877, -0.24125081, -0.20464475, 0.18860999) * g_14; + result += mat4(-0.12249708, -0.23579642, 0.10373326, -0.11471274, -0.113536574, 0.21705507, -0.020286752, 0.14155044, 0.11744049, -0.10634323, -0.0992358, 0.29779306, 0.009242147, 0.082793355, -0.29470173, 0.09098504) * g_15; + result += mat4(-0.37456152, 0.27716953, 0.066162, -0.08820556, 0.01543293, 0.1646333, -0.029137572, -0.025982376, 0.0329685, -0.12119456, -0.06776284, 0.05002431, 0.18109421, 0.19071397, 0.031709924, 0.115208045) * g_16; + result += mat4(0.1638029, 0.07643556, 0.09049366, -0.10921795, 0.03733727, -0.15501708, 0.28316185, -0.098067865, -0.11070625, -0.009504683, 0.2291032, -0.13025075, -0.027869487, 0.011681814, -0.13047922, -0.015909566) * g_17; + result += mat4(0.1461215, 0.0023516659, 0.15640813, -0.015727978, -0.018806554, 0.017339358, -0.035492163, 0.08160196, 0.10238898, 0.16611558, 0.09202315, -0.10608295, 0.18774536, -0.0316489, 0.27076882, 0.20529412) * g_18; + result += mat4(0.17409241, -0.1274282, 0.16840927, -0.11176582, 0.09690932, -0.060094807, -0.13033284, -0.024426423, -0.029923867, 0.34295294, -0.10374731, 0.036210388, -0.21488675, -0.048156295, -0.009829659, -0.32526785) * g_19; + result += mat4(0.04754761, 0.0104225315, -0.14926155, -0.12426483, -0.18664256, 0.089919254, -0.07276312, -0.34654847, 0.08682614, 0.054667328, -0.096311085, 0.28998274, 0.2721617, -0.08974601, -0.078995354, 0.01578445) * g_20; + result += mat4(-0.16916896, 0.38615093, 0.006609843, -0.13223584, -0.091017894, -0.18239939, 0.010400899, 0.13135849, -0.056513984, -0.1355764, 0.050879743, -0.04195772, -0.041539118, -0.09790294, -0.23622996, -0.1903508) * g_21; + result += mat4(0.09427743, 0.3532207, -0.07493266, -0.018535644, 0.08661698, 0.36009344, -0.05961479, -0.13691968, 0.0118486015, -0.116584554, -0.08686342, 0.27281806, -0.041298125, -0.07257819, -0.11279752, 0.0034089864) * g_22; + result += mat4(-0.07194181, -0.087237455, 0.13797516, -0.14510183, -0.043742094, -0.060987025, 0.07932815, -0.03253621, 0.13781914, 0.056654815, -0.077196084, 0.24276413, 0.04511319, -0.051754497, 0.2584921, -0.18890971) * g_23; + result += mat4(-0.14871578, -0.1849769, -0.08268788, 0.26459882, -0.26126868, -0.23579857, 0.083229534, 0.028019072, -0.25955105, 0.20885234, -0.00086575525, -0.1324121, -0.2294164, 0.17757727, 0.021580774, -0.112975426) * g_24; + result += mat4(0.16707626, -0.19732544, 0.12970364, -0.09347803, -0.002893719, 0.1150841, 0.055206075, -0.039382495, -0.32302466, 0.14221917, -0.32339764, 0.128217, 0.05848064, -0.08679818, 0.24213648, -0.32777923) * g_25; + result += vec4(0.08522166, -0.04316711, -0.03290581, 0.024280401); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_24_tf +//!BIND conv2d_24_tf1 +//!BIND conv2d_24_tf2 +//!BIND conv2d_24_tf3 +//!SAVE conv2d_26_tf +//!WIDTH conv2d_24_tf.w +//!HEIGHT conv2d_24_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_24_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_24_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_24_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_24_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_24_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_24_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_24_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_24_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.049996123, 0.0037753412, 0.11171327, -0.0016941491, -0.1351308, -0.016908316, -0.12008028, 0.017934604, -0.23576798, -0.11245693, 0.034623243, -0.0077824593, -0.022798758, -0.0918046, 0.056376494, -0.0852944) * go_0(-1.0, -1.0); + result += mat4(-0.042078406, 0.0462532, 0.08618077, -0.062988676, -0.10412657, -0.16068575, 0.13098615, 0.10488363, 0.08369774, -0.24014251, -0.14288054, 0.0051115025, -0.05098201, 0.017541911, -0.091969706, 0.16348839) * go_0(-1.0, 0.0); + result += mat4(-0.09863232, 0.029172298, 0.026279978, -0.022673227, -0.16237566, 0.047186557, -0.060442433, -0.06543596, 0.010651123, 0.12078345, 0.03988309, -0.033051215, -0.017623032, -0.06467215, -0.077499196, -0.03731227) * go_0(-1.0, 1.0); + result += mat4(-0.09789975, -0.047156874, 0.072275974, 0.047810175, 0.073351204, 0.06080882, -0.0504122, 0.13416192, -0.18719782, -0.017421518, -0.11500351, 0.01438864, -0.23725358, 0.030091772, -0.011555881, -0.0154520385) * go_0(0.0, -1.0); + result += mat4(0.04009626, 0.048118807, 0.21038243, 0.113579415, 0.033564728, 0.05715816, 0.047044903, 0.03826532, 0.34928158, -0.16727263, 0.044896193, -0.024076954, -0.06169953, 0.08324518, -0.020400964, 0.25609145) * go_0(0.0, 0.0); + result += mat4(0.049426913, -0.001589606, 0.110197626, -0.06417527, 0.09816545, 0.069022655, 0.16802368, -0.26492468, -0.2997054, 0.1730611, 0.08062505, -0.29634264, 0.028226377, -0.043611016, -0.021552337, 0.015026776) * go_0(0.0, 1.0); + result += mat4(0.009664828, 0.08417966, 0.004710294, 0.04512053, -0.13796063, -0.060436867, 0.09477305, 0.010681176, 0.16369082, 0.037771117, -0.058654513, -0.05779409, 0.062837936, 0.13762808, -0.04270398, -0.039693095) * go_0(1.0, -1.0); + result += mat4(-0.04035726, -0.010018175, -0.09761488, 0.027615858, -0.2932504, 0.09595783, -0.010247939, 0.12914088, 0.074954934, -0.011250316, 0.032818932, -0.00031655945, 0.081004985, -0.25975922, 0.056567695, 0.029617848) * go_0(1.0, 0.0); + result += mat4(-0.030925142, 0.031268507, 0.05157384, -0.0683142, 0.012790967, -0.11101493, -0.096448496, -0.12191588, -0.05342701, -0.02193862, -0.10491984, -0.17005852, -0.019083334, -0.029902916, -0.029932162, -0.010883176) * go_0(1.0, 1.0); + result += mat4(-0.26272961, 0.01767313, 0.06840876, 0.06170754, 0.1533715, -0.020870112, 0.0013619983, 0.0063628047, 0.09512795, 0.025705237, 0.02292517, -0.09680705, 0.104165204, -0.005150637, 0.0022620503, 0.09077463) * go_1(-1.0, -1.0); + result += mat4(-0.025987439, -0.19362138, -0.11827701, -0.018033052, -0.26102337, 0.039745867, 0.08610472, 0.04178091, -0.10764665, 0.15902124, 0.09529151, -0.072073966, 0.0018068781, -0.026315978, -0.059285972, 0.061353054) * go_1(-1.0, 0.0); + result += mat4(-0.0072087953, -0.0067746546, -0.0055090594, -0.116089255, -0.0873754, -0.08443256, 0.09423432, 0.19206242, -0.19481196, -0.15465075, -0.056957036, -0.17236751, -0.064828545, -0.03765398, -0.16945066, -0.113355085) * go_1(-1.0, 1.0); + result += mat4(-0.020777022, -0.072951205, -0.080634475, -0.1378647, 0.10280296, 0.053700496, 0.066589236, 0.1102195, -0.20923318, 0.026585942, -0.013111635, -0.1566555, -0.024707625, -0.09647037, -0.005488745, 0.16878474) * go_1(0.0, -1.0); + result += mat4(-0.062108953, 0.021457171, -0.045547433, 0.27534878, -0.06961026, -0.1425844, 0.14612147, -0.1702906, 0.09655159, -0.06720136, 0.07645141, -0.32483426, 0.09822643, 0.053977653, -0.099859774, -0.018033037) * go_1(0.0, 0.0); + result += mat4(-0.007518181, 0.13359818, 0.019200008, -0.16734038, -0.033155162, -0.05867036, -0.027736064, 0.197113, 0.0062093004, -0.17742164, -0.0635093, 0.09135054, -0.1209542, -0.17591074, -0.07173482, 0.09463842) * go_1(0.0, 1.0); + result += mat4(-0.04660764, 0.14158598, 0.14268021, -0.17546305, 0.01901027, -0.08463638, -0.063629396, 0.030421035, -0.04432895, -0.20540111, 0.06508335, 0.051438946, 0.022434311, -0.01823333, -0.08936261, 0.06426393) * go_1(1.0, -1.0); + result += mat4(0.0051359776, 0.018973099, 0.2238723, -0.18587618, -0.00510518, 0.06860208, 0.07696437, 0.028153861, 0.021377275, -0.13327916, -0.12229337, -0.01568766, 0.08603219, -0.047903024, 0.11680101, 0.172795) * go_1(1.0, 0.0); + result += mat4(0.06491684, -0.060000338, 0.09330306, 0.19461864, 0.10152871, -0.068190135, -0.030164903, 0.10963834, -0.01928389, 0.048917733, -0.0380595, -0.11373895, 0.002784637, 0.058341455, -0.0026584743, -0.0762352) * go_1(1.0, 1.0); + result += mat4(-0.09245614, 0.0641394, -0.18305469, -0.0730851, -0.071057, 0.0020725452, 0.018236259, -0.06736057, -0.01118046, 0.13788253, 0.0896462, -0.06998457, -0.14505054, 0.010082331, 0.117200814, 0.023379482) * go_2(-1.0, -1.0); + result += mat4(0.089422286, 0.15383133, 0.05149837, -0.10887509, -0.14912845, 0.08700931, -0.054692674, 0.23796107, 0.13581987, 0.19063862, 0.06559309, -0.15962636, -0.09233621, 0.11181162, -0.0015238862, 0.037107922) * go_2(-1.0, 0.0); + result += mat4(-0.021216678, -0.094254285, 0.29714686, 0.05219242, -0.027367583, -0.15251665, -0.04881514, 0.10566541, -0.003742375, 0.1147835, -0.059377294, 0.024101444, 0.024573704, -0.01376458, 0.0639237, 0.023464274) * go_2(-1.0, 1.0); + result += mat4(-0.049974762, -0.049812213, -0.035952687, -0.07975192, -0.08733934, 0.012935061, 0.012323808, 0.029132953, -0.14012371, 0.014503546, 0.052271955, -0.08048593, -0.09670192, -0.18596803, 0.0049014534, -0.09166179) * go_2(0.0, -1.0); + result += mat4(-0.27029538, 0.042448614, -0.053546436, 0.33587694, -0.20740207, 0.08650326, -0.038407993, 0.055218965, -0.19328457, 0.26444808, 0.22763552, 0.14387757, -0.0064182575, 0.004315346, -0.05027504, 0.047247253) * go_2(0.0, 0.0); + result += mat4(-0.09378854, 0.096082434, -0.32475194, -0.14516386, -0.15642658, 0.087580256, -0.11695209, 0.14140406, -0.0042407443, 0.15604375, -0.06349372, 0.0332518, -0.09077285, 0.046341777, 0.17729867, 0.005213613) * go_2(0.0, 1.0); + result += mat4(-0.012175335, -0.080210514, 0.07186392, -0.1292191, -0.045594472, 0.033180896, -0.07882467, -0.016369384, -0.036098067, 0.056173183, 0.014134484, -0.09635483, -0.035036422, 0.012295909, -0.050570995, -0.05071762) * go_2(1.0, -1.0); + result += mat4(-0.07852296, -0.14363602, -0.2696814, -0.23140208, 0.042432543, 0.054118577, 0.13079426, 0.03238616, -0.0062199365, 0.10364143, 0.04025807, -0.18294595, -0.048541483, 0.034473073, -0.05157432, -0.03064744) * go_2(1.0, 0.0); + result += mat4(-0.15802932, -0.088301614, -0.06327623, -0.022001514, 0.12399852, -0.07752806, 0.18474507, 0.08271792, 0.042802274, 0.121084385, 0.04016158, 0.05801103, 0.15243745, -0.073706076, 0.03247726, -0.034610372) * go_2(1.0, 1.0); + result += mat4(-0.05754932, -0.0020197632, 0.034547523, -0.025767442, -0.111764796, 0.038152024, 0.12944956, 0.11468247, 0.11521247, -0.003172288, -0.23100266, 0.02682523, -0.18987718, -0.0988275, -0.094731934, -0.06886259) * go_3(-1.0, -1.0); + result += mat4(0.046419594, -0.03488053, -0.13166444, 0.13768785, -0.055520106, 0.06297019, 0.03289763, -0.1422938, 0.013001728, -0.055476565, -0.07185674, 0.03252722, -0.110465586, -0.10045119, -0.1742974, -0.15100808) * go_3(-1.0, 0.0); + result += mat4(-0.06659215, -0.075389504, 0.09807181, 0.022330878, -0.0036238579, 0.019668387, -0.019465934, 0.13867833, 0.08627316, -0.06437524, -0.009247871, -0.032775283, 0.031162275, -0.026913468, -0.07854525, -0.064275324) * go_3(-1.0, 1.0); + result += mat4(0.12929969, -0.045845002, 0.122178055, -0.13765322, -0.19315575, 0.10609295, -0.012858124, -0.15138301, 0.00092421344, -0.041272737, -0.04020661, -0.014201774, 0.023153054, -0.06892587, 0.043151032, -0.082591) * go_3(0.0, -1.0); + result += mat4(-0.1226463, 0.211287, 0.03002057, -0.12333966, -0.037128195, -0.0011678269, -0.0112583, -0.07352756, 0.08004182, 0.057965674, 0.042791445, 0.10084061, 0.04225309, -0.09865515, -0.17249815, -0.07437297) * go_3(0.0, 0.0); + result += mat4(0.076025665, 0.0884713, -0.012066989, -0.04832003, -0.04311184, 0.1053544, -0.20367248, 0.08647993, -0.06955368, 0.019550918, 0.041123573, -0.06755614, -0.04080657, -0.14335045, -0.11712864, 0.04404486) * go_3(0.0, 1.0); + result += mat4(0.04159164, -0.013054755, -0.0261333, -0.043317586, -0.16425997, 0.05767708, 0.093282826, 0.0033548665, 0.034810144, -0.16199782, -0.025566405, 0.0516256, 0.020652568, -0.032220475, 0.0878692, -0.0143376775) * go_3(1.0, -1.0); + result += mat4(0.10917642, 0.0011713499, 0.13042162, -0.020391129, -0.11013089, 0.112322845, 0.022569528, 0.028208349, 0.015053207, 0.1384224, 0.008139977, -0.080396585, 0.054056194, -0.028001389, 0.16363065, -0.102354065) * go_3(1.0, 0.0); + result += mat4(-0.027124068, 0.04431464, 0.06277966, -0.08408734, 0.1083615, -0.019139031, 0.13385373, 0.025223026, 0.069449954, -0.05996897, -0.08913539, 0.1719072, -0.18314564, -0.048200965, -0.05904288, 0.11065826) * go_3(1.0, 1.0); + result += mat4(0.1397537, 0.03482875, 0.061085895, -0.08213235, -0.038013548, 0.061775763, -0.07958989, -0.039170112, -0.007997508, 0.06363233, -0.026046399, 0.02864031, 0.049783155, 0.035203036, -0.066736884, -0.017477863) * go_4(-1.0, -1.0); + result += mat4(-0.13101329, -0.014451878, 0.18087699, 0.026420632, 0.02715405, 0.06287757, 0.09282424, 0.013717241, 0.15051068, 0.025210602, -0.1362185, 0.072512046, -0.026805447, -0.096076004, 0.075359784, -0.045371193) * go_4(-1.0, 0.0); + result += mat4(0.1997753, -0.025229402, -0.039842017, 0.049906187, 0.10946157, 0.034437146, 0.035051424, -0.116872676, -0.06527813, -0.022518009, -0.14611305, -0.2363843, 0.11086234, 0.11092388, 0.0953025, 0.047432534) * go_4(-1.0, 1.0); + result += mat4(-0.01308655, 0.002540069, 0.23979092, -0.086312465, -0.14689597, -0.10581318, 0.11525941, 0.1074078, 0.058305763, -0.0064075887, -0.04057873, -0.023644514, -0.008381011, 0.0006571176, -0.019561158, -0.15267508) * go_4(0.0, -1.0); + result += mat4(0.2349703, -0.050462563, -0.27430457, -0.14544865, 0.08886931, 0.016504053, -0.08630487, -0.020683536, 0.053667102, 0.09910953, -0.1255947, 0.05151626, -0.16611509, 0.037771612, 0.07399012, -0.056021243) * go_4(0.0, 0.0); + result += mat4(0.06864889, -0.11083473, 0.24705935, 0.10628464, -0.010429532, 0.14889455, -0.0096547585, 0.14353086, -0.09100641, 0.06815184, -0.028219754, -0.06055696, -0.030299123, 0.0070648026, -0.055636737, -0.083413064) * go_4(0.0, 1.0); + result += mat4(0.13953334, -0.10674898, -0.005621589, -0.118598536, 0.06328699, 0.08004188, -0.06477687, -0.094944336, -0.14355539, 0.029985419, 0.019933203, -0.10488397, 0.005380108, -0.08740668, -0.029060403, -0.11787811) * go_4(1.0, -1.0); + result += mat4(0.0698077, -0.043017045, 0.42739016, 0.1282123, -0.038907416, -0.024586748, -0.053633843, 0.010010444, 0.0746271, -0.12704432, 0.105304755, -0.007692808, -0.15972002, -0.0058001876, -0.12617123, 0.1319462) * go_4(1.0, 0.0); + result += mat4(0.24729866, 0.020104403, -0.0070631383, 0.002193169, 0.017208308, -0.03927706, -0.059690464, 0.09341524, 0.053952884, -0.04012784, 0.0013764695, -0.09322258, -0.104351625, 0.079050556, -0.23187168, -0.041067176) * go_4(1.0, 1.0); + result += mat4(0.07559282, -0.007121507, 0.064281724, -0.04208171, 0.07181849, -0.057766475, 0.03663539, -0.12584496, 0.13129482, -0.040536802, 0.06388505, 0.0648352, -0.104354285, -0.029057123, 0.025301704, 0.06797534) * go_5(-1.0, -1.0); + result += mat4(-0.012295075, -0.11266379, 0.13890606, -0.1009057, 0.049523003, -0.13013756, -0.011073384, -0.17642806, 0.033849478, -0.067286395, -0.09607259, -0.11941073, -0.07852535, 0.070990965, 0.07958681, 0.09751703) * go_5(-1.0, 0.0); + result += mat4(0.048889246, 0.02065645, -0.15117195, 0.08008445, -0.097651385, -0.09841935, -0.07810215, -0.1435448, -0.024525672, 0.17019714, -0.014132003, -0.15879974, -0.021937879, -0.047171783, -0.04241194, 0.062323704) * go_5(-1.0, 1.0); + result += mat4(0.009566434, 0.044832528, -0.10947012, 0.056282133, 0.03313318, 0.18960455, -0.0022577227, -0.059867494, 0.1788795, 0.0064581875, 0.0025646216, 0.1836115, -0.014600685, 0.048506796, -0.026321875, -0.12639087) * go_5(0.0, -1.0); + result += mat4(-0.13504559, 0.02070149, 0.0027556552, -0.14156146, -0.02051973, 0.14983834, 0.135184, 0.029648803, 0.085447244, -0.007131224, -0.02740404, -0.03306182, -0.30325142, -0.010920736, -0.1428618, 0.01473421) * go_5(0.0, 0.0); + result += mat4(0.082796454, -0.2882475, 0.033648852, 0.06780083, 0.0025427756, 0.20921779, 0.32601947, 0.037308134, -0.04941969, 0.11506637, 0.1052201, -0.16263688, 0.035793655, 0.013166956, 0.046875075, 0.15668811) * go_5(0.0, 1.0); + result += mat4(-0.12273471, 0.059235908, 0.094090715, 0.066483214, 0.055713095, -0.095081694, 0.12749717, 0.037079435, -0.04954315, -0.0015122527, 0.052462928, 0.04192708, -0.087000705, -0.103452265, -0.101238675, -0.12716208) * go_5(1.0, -1.0); + result += mat4(0.031231718, 0.04960523, 0.03801031, -0.014148782, -0.1700549, -0.027634576, -0.050683066, -0.044469405, -0.1249908, 0.051996186, -0.13499479, 0.04852528, -0.06269932, -0.14156306, -0.21684834, 0.07631763) * go_5(1.0, 0.0); + result += mat4(0.03503267, -0.1085209, 0.0032687746, 0.08419354, -0.09975144, -0.057331342, -0.06187919, 0.018815396, -0.0660197, 0.032785807, -0.044796202, -0.08464789, 0.13019373, -0.0052725035, -0.10842854, -0.1265097) * go_5(1.0, 1.0); + result += mat4(0.10843437, -0.042249955, 0.09213392, 0.058550596, 0.34286043, -0.03680263, -0.080520734, 0.081237115, -0.11101282, 0.020561857, -0.07829329, -0.07861156, -0.042642172, 0.047789782, -0.011453674, 0.08152565) * go_6(-1.0, -1.0); + result += mat4(-0.033355746, 0.15449263, -0.02909576, -0.2126907, 0.0014351727, 0.056038197, 0.051439453, -0.080944866, -0.12848341, -0.092318594, 0.008391837, 0.14316896, -0.12626244, -0.059822824, -0.028360115, 0.124106206) * go_6(-1.0, 0.0); + result += mat4(0.076065995, -0.007442306, 0.018361796, 0.047781143, 0.14859623, -0.20209388, -0.059319742, 0.18503356, 0.005876046, -0.022679027, 0.046754144, -0.081030354, -0.04880875, -0.10010487, -0.019134238, -0.068298206) * go_6(-1.0, 1.0); + result += mat4(-0.065141104, -0.014636965, 0.09252715, -0.10530383, 0.032840684, 0.0241667, 0.06169493, 0.013166986, -0.09829394, 0.102890424, 0.16348878, 0.0035222566, -0.0051632463, -0.15937272, -0.054516237, 0.060371466) * go_6(0.0, -1.0); + result += mat4(0.12154273, 0.006940688, 0.0632419, 0.050377276, 0.096380666, -0.13581754, 0.019218676, -0.118092984, -0.08397616, 0.010211745, -0.16092652, -0.018237336, -0.05521688, 0.07793925, -0.015056251, -0.010640031) * go_6(0.0, 0.0); + result += mat4(0.117333665, -0.045693874, 0.08677505, 0.18481869, 0.021715302, -0.17659235, -0.12190321, 0.069215, -0.09852735, 0.0051317047, 0.011414723, -0.010025633, -0.022104986, -0.008267602, -0.06970688, -0.01715165) * go_6(0.0, 1.0); + result += mat4(-0.04642769, -0.0048307595, 0.026597666, -0.06865938, 0.07526568, 0.010903595, -0.06291743, 0.14711984, -0.16923498, 0.05477543, -0.007967766, -0.04240283, 0.10985941, 0.034625076, -0.061943896, 0.09802212) * go_6(1.0, -1.0); + result += mat4(-0.15498288, -0.10491709, 0.04875818, 0.092458375, 0.08318519, -0.17395361, -0.11307961, -0.11352265, -0.06517359, 0.033491883, 0.1500928, 0.09595689, 0.2221886, 0.1971029, 0.03340507, 0.09907139) * go_6(1.0, 0.0); + result += mat4(0.018105853, 0.13096991, -0.08594942, -0.0069381646, -0.09303678, 0.11968446, 0.013137556, -0.18475753, -0.17404708, 0.018362308, 0.050778937, -0.14831465, -0.16454415, 0.016504198, 0.068201326, 0.019034768) * go_6(1.0, 1.0); + result += mat4(-0.059188414, 0.058179308, -0.08013644, 0.014560273, -0.0397555, -0.09598701, 0.021475889, -0.09001553, 0.06737068, -0.035820715, -0.049452264, -0.0010155657, 0.014491759, 0.002673296, -0.055191662, 0.05930104) * go_7(-1.0, -1.0); + result += mat4(-0.022511646, 0.023634708, -0.18631141, 0.023679258, -0.05573237, 0.09657504, -0.0936412, 0.047838435, -0.014578712, -0.20757015, 0.054425128, -0.06030886, 0.13558897, -0.041487727, 0.033786304, 0.07894061) * go_7(-1.0, 0.0); + result += mat4(-0.13075544, 0.15523684, -0.17299353, 0.03286955, 0.0749896, -0.06681099, -0.055989783, 0.026047809, 0.066080905, -0.15055823, 0.01607878, -0.07582076, -0.031457435, 0.0007434168, -0.05784407, -0.1401879) * go_7(-1.0, 1.0); + result += mat4(-0.052085534, -0.03877744, -0.0069224983, 0.16789192, 0.09517772, -0.08007505, 0.02462484, -0.088129416, 0.0013408829, -0.0623811, 0.0074883886, -0.06386363, -0.03685527, -0.030492947, -0.08852659, -0.050996445) * go_7(0.0, -1.0); + result += mat4(-0.11065168, -0.112389065, -0.078902274, -0.07768, 0.076662615, 0.070917815, 0.020645864, -0.0633654, -0.14201139, -0.10073064, -0.12981233, -0.14300786, -0.03800091, 0.030122137, -0.044012945, 0.040963754) * go_7(0.0, 0.0); + result += mat4(-0.06765774, -0.10985129, -0.09417687, -0.045574006, -0.0015684896, -0.08624407, -0.07156704, 0.11013036, 0.10451182, 0.05722487, -0.08562462, 0.15677613, 0.10791058, 0.030469015, -0.01489781, -0.061118122) * go_7(0.0, 1.0); + result += mat4(-0.076483645, -0.051188245, -0.026427023, -0.07758995, 0.070514984, 0.066108, -0.028824564, 0.15448493, 0.18118386, 0.025077257, -0.13165683, 0.05608995, 0.008781471, 0.052336816, -0.010705784, -0.19363798) * go_7(1.0, -1.0); + result += mat4(-0.08199591, -0.13568819, -0.039902184, 0.07975507, 0.12640685, -0.002146138, 0.014260887, -0.17183918, -0.009152956, 0.038202666, -0.2094691, -0.058618493, 0.15224771, 0.06021081, 0.11798141, -0.03590271) * go_7(1.0, 0.0); + result += mat4(-0.039392676, -0.098705426, -0.00030400066, 0.13875104, 0.033425663, 0.045219854, -0.04672713, -0.08291983, 0.0065967776, 0.09905884, -0.07684505, -0.011784174, 0.113817036, -0.049223375, 0.054426376, -0.039116792) * go_7(1.0, 1.0); + result += vec4(0.019128362, 0.03289745, -0.020459, -0.028252047); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_24_tf +//!BIND conv2d_24_tf1 +//!BIND conv2d_24_tf2 +//!BIND conv2d_24_tf3 +//!SAVE conv2d_25_tf +//!WIDTH conv2d_24_tf.w +//!HEIGHT conv2d_24_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_24_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_24_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_24_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_24_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_24_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_24_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_24_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_24_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.017471954, 0.033765998, 0.10728799, 0.05748774, 0.02781238, 0.0065988842, 0.048899, -0.111819625, -0.15673992, -0.14049643, -0.19609143, 0.06799994, 0.056545053, 0.05854318, 0.07989028, 0.06865026) * go_0(-1.0, -1.0); + result += mat4(-0.027804995, 0.28089818, 0.00939153, -0.10538561, -0.06944387, 0.040870868, -0.056329433, 0.053074345, 0.030704536, 0.0017814944, 0.11775399, -0.24013947, 0.047405023, -0.01956273, -0.025394185, -0.08049281) * go_0(-1.0, 0.0); + result += mat4(-0.052235425, -0.059296433, 0.11562215, -0.025237624, -0.0875074, 0.15221938, 0.14525545, 0.14261505, -0.03608716, -0.16691273, -0.103693224, 0.19114594, -0.08115013, -0.09270833, 0.035125177, 0.15294996) * go_0(-1.0, 1.0); + result += mat4(-0.12381403, 0.11570407, 0.038750608, -0.023706824, -0.059968557, -0.11266674, 0.0029604204, 0.13800496, -0.17783286, 0.021752914, -0.034509424, -0.028650694, -0.14898375, 0.06902978, -0.15860847, 0.009637565) * go_0(0.0, -1.0); + result += mat4(-0.025171917, 0.12672316, 0.14192998, -0.14433089, 0.064913236, -0.0022447554, -0.21268947, -0.038177896, 0.036399573, -0.21507782, 0.07123678, -0.13206129, -0.07121265, 0.0096024005, 0.22898148, 0.05494094) * go_0(0.0, 0.0); + result += mat4(0.1506902, 0.06988544, 0.13345703, 0.057807617, -0.11837313, -0.09402816, 0.013641186, -0.17395163, 0.0016941638, 0.24603452, -0.2586276, -0.17429659, -0.072540164, -0.03448174, -0.11606636, -0.08689208) * go_0(0.0, 1.0); + result += mat4(0.04652269, -0.10444236, 0.086832695, -0.10591385, -0.017574495, 0.0015303675, -0.086677074, 0.13133185, 0.10970881, -0.11243208, 0.07597016, -0.08536491, -0.15017018, 0.107406065, -0.032401532, 0.11085293) * go_0(1.0, -1.0); + result += mat4(-0.029553665, 0.038572565, 0.06975905, 0.020539641, -0.22124092, 0.18579805, -0.20957313, -0.02503689, 0.013945879, 0.20544745, 0.06853718, -0.23524883, -0.11711525, 0.05449384, -0.06129214, 0.061477955) * go_0(1.0, 0.0); + result += mat4(-0.09428423, 0.05353704, -0.08986825, -0.12206943, 0.015571677, -0.06035716, 0.03597724, 0.06506318, 0.24872549, -0.07388469, 0.10377363, -0.0035277915, 0.15126887, 0.030227851, 0.09139127, 0.1724195) * go_0(1.0, 1.0); + result += mat4(-0.08194724, -0.14544182, -0.06835661, 0.12667398, -0.003119579, -0.058695093, -0.03867005, -0.018764118, -0.021299256, 0.1767535, -0.047742914, 0.16228043, 0.0039194035, 0.108454764, -0.09458136, -0.08617982) * go_1(-1.0, -1.0); + result += mat4(-0.10684914, -0.32592118, -0.08571172, -0.0101189185, -0.003587966, 0.058117017, 0.03881399, 0.08900041, 0.13914779, 0.29735216, 0.092806034, 0.04355884, -0.2201469, -0.03196189, -0.0591701, 0.0492791) * go_1(-1.0, 0.0); + result += mat4(0.10436922, -0.21961232, -0.23891205, -0.06916029, -0.047455642, 0.053441495, 0.039798163, 0.029930444, 0.028346276, 0.11400354, 0.1262288, -0.039326813, -0.27376792, 0.046276275, -0.0708307, -0.013476013) * go_1(-1.0, 1.0); + result += mat4(0.03159886, 0.21562842, -0.014585027, -0.08378165, -0.075764485, 0.037414357, 0.05071985, 0.011949454, 0.21450044, 0.15943736, 0.046434704, 0.02799841, 0.06830587, 0.21022047, -0.021822905, -0.048930455) * go_1(0.0, -1.0); + result += mat4(0.007448671, 0.31557044, -0.14174029, -0.095406465, -0.058464147, 0.007829958, 0.054605816, 0.033241432, 0.05140908, -0.24677344, -0.11616229, 0.014348134, 0.010551736, 0.0059860707, 0.13453126, 0.009637068) * go_1(0.0, 0.0); + result += mat4(-0.19331768, 0.06736968, -0.028931534, -0.038676705, 0.12592682, -0.093849026, 0.02008791, 0.014735365, 0.37446207, -0.16751154, 0.036961526, -0.1590846, 0.021004658, -0.008121, -0.029536324, -0.004248831) * go_1(0.0, 1.0); + result += mat4(0.15364482, -0.14937145, 0.01816333, -0.018371658, -0.01705263, 0.056991376, 0.11055977, -0.14455408, 0.33668515, 0.025234248, 0.1158367, 0.038978804, -0.082735226, 0.036333524, 0.14080678, 0.07116793) * go_1(1.0, -1.0); + result += mat4(-0.03225392, 0.05972964, 0.08061265, 0.010593995, -0.03653595, -0.081596345, -0.07971582, -0.101583384, 0.30200258, 0.020900398, -0.076761626, 0.2588924, -0.19713697, -0.0039160987, 0.12071749, 0.07637735) * go_1(1.0, 0.0); + result += mat4(-0.009703355, -0.112931654, 0.10053343, -0.021120002, -0.0056891046, -0.08936862, 0.019142495, 0.086807735, -0.036430825, -0.13736516, 0.078291796, 0.13332526, 0.036317714, -0.02775869, 0.21644063, -0.021389648) * go_1(1.0, 1.0); + result += mat4(0.07151064, 0.13414513, 0.16725646, 0.05681151, 0.03014826, -0.013707471, 0.03738184, -0.076183036, 0.0013138218, -0.0045046997, -0.034409188, -0.11118198, 0.020379785, -0.018046485, -0.025136197, 0.07276152) * go_2(-1.0, -1.0); + result += mat4(-0.31872088, -0.019305777, -0.1202114, 0.28454658, 0.0105313035, -0.10189794, -0.07196168, -0.036715895, 0.13881202, 0.06850477, -0.021623109, 0.079496734, -0.06979547, -0.11332472, 0.024788616, 0.032634366) * go_2(-1.0, 0.0); + result += mat4(-0.11924803, 0.025480963, -0.076824784, 0.13637042, -0.013938593, -0.25385013, 0.05410712, 0.062499918, 0.081072375, -0.057731725, 0.049677495, -0.06418712, 0.060383555, -0.0074860845, -0.1453992, -0.032517288) * go_2(-1.0, 1.0); + result += mat4(-0.036895122, 0.036074597, 0.037811972, 0.099549554, 0.07307597, -0.018347137, -0.12284651, -0.10390334, 0.053444356, -0.124446824, -0.017259916, -0.123878516, 0.015864458, -0.037590273, 0.015383898, -0.13280766) * go_2(0.0, -1.0); + result += mat4(-0.17129786, 0.30193725, -0.63509864, 0.044185117, 0.17067964, 0.13152778, 0.013793428, -0.22130486, -0.1177694, -0.090981916, -0.1120058, -0.03206043, -0.03634814, -0.025005434, -0.041229405, 0.003946445) * go_2(0.0, 0.0); + result += mat4(-0.19944333, 0.37651125, -0.2258299, 0.15009473, -0.18867065, 0.16184928, -0.15228443, -0.11970196, 0.023598861, -0.05103017, -0.0396361, -0.014802233, 0.18477547, 0.117229566, -0.0659542, -0.04572343) * go_2(0.0, 1.0); + result += mat4(-0.031589817, -0.15478852, -0.0138067985, 0.22124025, 0.01842947, 0.019181002, -0.00199036, 0.1694457, -0.040336214, 0.03585539, -0.15060787, -0.0629436, -0.01583668, 0.08921745, -0.16015616, -0.041883018) * go_2(1.0, -1.0); + result += mat4(0.34572613, 0.08028766, 0.05118005, 0.060876332, -0.04589517, -0.07928535, 0.19742113, -0.08568548, 0.035782974, 0.032317884, -0.04522276, 0.0027367994, 0.120695986, 0.12010325, 0.08282749, -0.0039305175) * go_2(1.0, 0.0); + result += mat4(0.11901709, 0.036992844, -0.02980137, -0.12586515, 0.05982998, -0.02190856, 0.05343958, 0.029002843, -0.050481327, 0.02545951, -0.039066423, 0.0004951633, 0.08666116, -0.03562756, 0.014761862, -0.103269614) * go_2(1.0, 1.0); + result += mat4(-0.18563634, 0.043092452, -0.058314674, 0.015170002, -0.007694099, 0.1127861, 0.02553127, -0.012972445, -0.0046755355, -0.01073453, 0.021448553, 0.040810876, 0.030288234, -0.06359927, -0.06596764, 0.061660938) * go_3(-1.0, -1.0); + result += mat4(-0.012341555, -0.042663574, -0.0037670187, -0.018076867, -0.041096028, 0.054967128, -0.063933946, 0.08594425, 0.041885212, 0.096373014, 0.057978775, 0.016001241, -0.03465387, -0.063257515, -0.024798894, -0.10663954) * go_3(-1.0, 0.0); + result += mat4(0.013904101, 0.032032844, -0.11790652, -0.14560696, 0.0051183654, -0.093018, -0.038192853, -0.02419622, -0.12162447, 0.108436026, 0.031953014, 0.005816637, -0.039445993, -0.027502064, -0.074986555, -0.08383356) * go_3(-1.0, 1.0); + result += mat4(0.027069142, 0.020535026, 0.05137401, -0.022017054, -0.009511554, 0.002717326, 0.07104652, 0.14271072, -0.0809091, -0.12810269, 0.14585342, -0.030829936, -0.049544737, 0.121479005, -0.020640593, 0.07074442) * go_3(0.0, -1.0); + result += mat4(-0.020390948, -0.032292105, -0.044466075, -0.040939715, -0.09642971, 0.00013572059, 0.04400759, 0.089212894, 0.11231742, 0.00036003115, 0.2045489, 0.053579632, 0.0019167879, 0.05940128, 0.12449242, 0.07200519) * go_3(0.0, 0.0); + result += mat4(0.17566979, -0.05323988, 0.025047952, 0.026185818, 0.054906968, 0.12425456, 0.15909024, -0.045865864, -0.01796168, 0.025883837, 0.029770195, 0.071876444, 0.17989114, 0.061715063, 0.097672, -0.035693962) * go_3(0.0, 1.0); + result += mat4(-0.09611145, 0.044253152, 0.18311392, 0.012182593, 0.027319858, -0.000298763, -0.025718696, -0.0056334995, 0.02268943, -0.008492036, 0.16236448, -0.10463633, -0.004877864, -0.037485115, 0.17201148, -0.07504223) * go_3(1.0, -1.0); + result += mat4(0.038427748, -0.018089676, 0.059632216, 0.060849853, 0.042234454, -0.028407281, 0.12165844, 0.033764914, 0.02828128, 0.018331876, -0.035620198, -0.030596597, -0.05245467, -0.15661895, 0.15989384, 0.05777106) * go_3(1.0, 0.0); + result += mat4(0.0080382265, -0.05058627, 0.15177754, 0.02457983, -0.02158919, -0.02603419, 0.0043647015, -0.05269519, -0.00064104307, -0.028884081, 0.09408389, -0.008114448, 0.14760026, -0.076470025, 0.04603376, 0.018461453) * go_3(1.0, 1.0); + result += mat4(0.11306435, -0.18730852, 0.0075167455, -0.09560337, 0.0077709462, -0.07057433, 0.0035797127, -0.022853112, 0.021342495, -0.03696785, 0.01289179, 0.06829949, -0.013827679, -0.03999237, -0.04753059, 0.0466047) * go_4(-1.0, -1.0); + result += mat4(0.017390149, 0.002040908, -0.12693553, -0.32789224, 0.027319256, 0.03846405, -0.00015923935, -0.07049247, 0.16783871, -0.10079691, -0.11123616, 0.05324317, 0.13512036, -0.028285459, 0.12069438, 0.06956111) * go_4(-1.0, 0.0); + result += mat4(0.054364968, -0.16399679, 0.20564489, -0.043816883, 0.057793453, -0.10362303, -0.067307614, 0.04665986, -0.14624558, -0.12807955, -0.056192804, 0.121388845, -0.019129038, -0.012357931, 0.0026693486, 0.10578014) * go_4(-1.0, 1.0); + result += mat4(0.00028465505, -0.18237738, -0.27618593, -0.10873971, -0.09118435, -0.051416524, -0.12859847, -0.0023402795, 0.06602108, -0.041825376, -0.1211535, -0.013451067, 0.06285976, 0.026286084, -0.08663906, 0.059711363) * go_4(0.0, -1.0); + result += mat4(0.09418096, -0.16677582, 0.31493846, 0.19121769, 0.013836401, -0.14683236, 0.089372076, 0.031131288, 0.07269414, 0.029907493, 0.015037321, 0.048650477, 0.09947451, 0.1382513, 0.008702595, 0.030025264) * go_4(0.0, 0.0); + result += mat4(-0.36631888, 0.031981204, -0.1694263, -0.31440136, 0.063722916, -0.04748052, -0.25194407, -0.15265068, -0.040349986, 0.09606634, -0.062473077, -0.107912265, -0.041041367, -0.019101804, -0.0007443431, 0.20662434) * go_4(0.0, 1.0); + result += mat4(0.039134044, -0.06769877, -0.04496397, 0.058510136, 0.0539612, 0.049229577, -0.04531815, -0.09764556, -0.0072655273, 0.066220924, 0.052972153, 0.062115185, 0.07058065, 0.03482429, 0.11264238, -0.012771517) * go_4(1.0, -1.0); + result += mat4(-0.14832714, -0.26061863, -0.117175885, -0.07227297, -0.095274866, 0.06427019, -0.1720085, -0.12606795, 0.0055882256, -0.068954766, 0.040132865, -0.057916597, 0.116415136, -0.0038085836, -0.11257074, 0.16791174) * go_4(1.0, 0.0); + result += mat4(0.15208925, -0.035363015, 0.016423287, -0.011545738, 0.010486088, 0.15796964, -0.018267475, 0.04819378, 0.07893306, -0.049445417, 0.10922541, 0.056629743, -0.20051284, 0.0646689, -0.022053083, 0.006558849) * go_4(1.0, 1.0); + result += mat4(0.034261696, -0.048524413, 0.08553469, 0.18164964, 0.049066372, 0.057888642, 0.13727365, -0.04544014, 0.08169355, -0.008774393, -0.038793385, 0.012722537, -0.10232049, 0.060814742, 0.08948346, -0.045197718) * go_5(-1.0, -1.0); + result += mat4(0.10102485, 0.009672051, -0.014999783, 0.16597384, 0.14226477, 0.124397196, 0.13134599, 0.0075497227, 0.019706044, 0.02880536, 0.029863069, -0.106501095, -0.0014861296, -0.06983038, 0.100633115, 0.053191233) * go_5(-1.0, 0.0); + result += mat4(-0.024684586, 0.058772594, 0.09473553, 0.006539196, 0.16713893, 0.044055037, -0.059446193, -0.085051544, -0.13981988, -0.01050415, 0.0004877739, 0.2358795, -0.043013573, -0.02102554, 0.043523125, 0.0362912) * go_5(-1.0, 1.0); + result += mat4(-0.08964394, -0.08315431, -0.016985089, 0.069526255, 0.016692394, -0.17341077, 0.02946918, 0.0697097, 0.08705007, -0.011073351, 0.038017947, 0.024542587, 0.006911302, -0.01183356, 0.042103864, 0.10522466) * go_5(0.0, -1.0); + result += mat4(-0.08360448, 0.12198474, -0.059289638, 0.06424023, -0.07853796, -0.13322891, 0.031532466, 0.04782606, 0.014080435, 0.0020295705, -0.07157181, -0.011628711, -0.06752404, 0.103147015, -0.026804183, 0.119201295) * go_5(0.0, 0.0); + result += mat4(0.121583, -0.18472487, 0.051415585, 0.09387002, -0.12578335, -0.13457519, -0.011141069, 0.007924912, -0.15972508, 0.082277834, 0.006660031, 0.018529864, -0.048006892, -0.16195123, 0.11889123, 0.09391133) * go_5(0.0, 1.0); + result += mat4(0.0011877354, -0.03821508, 0.079352275, 0.09431855, 0.120227985, 0.12770982, -0.013714698, 0.038997453, -0.0004619692, 0.036872115, -0.13374491, 0.037702244, 0.008888777, -0.04283213, -0.11525023, 0.073225714) * go_5(1.0, -1.0); + result += mat4(0.11580729, -0.013175554, -0.1253745, 0.039527655, 0.2501712, 0.21559192, -0.17641467, -0.121261366, -0.124944955, -0.076779194, 0.020058166, 0.16612346, -0.0025809745, 0.0701927, -0.04693916, 0.056292046) * go_5(1.0, 0.0); + result += mat4(0.018906271, -0.050643444, 0.02444996, -0.024262303, -0.09815448, 0.053140316, -0.05007922, -0.12625203, 0.0458619, 0.022072764, -0.11102561, 0.038217522, -0.074741885, 0.098456666, -0.06336978, 0.03393061) * go_5(1.0, 1.0); + result += mat4(0.092316404, 0.05333801, -0.030575402, -0.081248224, 0.0079937065, 0.09291787, -0.060621336, 0.04314502, -0.0013314068, -0.12648228, -0.03434061, -0.001897616, -0.0036773146, 0.14251038, -0.056213245, -0.012823907) * go_6(-1.0, -1.0); + result += mat4(0.075125776, 0.069178015, -0.06843881, -0.023425177, -0.14221351, -0.19814956, -0.08641597, -0.040399566, -0.02199065, -0.12643565, -0.11299937, -0.09457813, -0.1383775, -0.14663833, -0.10941722, 0.07635694) * go_6(-1.0, 0.0); + result += mat4(0.0725733, 0.09736323, 0.04138415, -0.07827824, -0.07074357, -0.18943074, 0.045716334, 0.0020727555, 0.02317897, 0.06851788, -0.16416553, -0.021083718, -0.049671404, -0.084899835, -0.12828274, -0.10106359) * go_6(-1.0, 1.0); + result += mat4(0.03463169, -0.18304746, 0.0113404775, 0.08603118, -0.023727167, -0.010212168, 0.07873619, 0.094507635, -0.015712371, 0.10867139, -0.021452317, -0.0109243365, -0.008315214, 0.070175745, -0.114166215, -0.033175204) * go_6(0.0, -1.0); + result += mat4(0.12465464, 0.078011826, 0.15954973, 0.106771946, -0.18527602, 0.17714898, -0.10814003, 0.08439565, 0.05126767, 0.07982679, 0.051989906, -0.07862624, 0.0116982795, -0.10962926, 0.09563839, 0.18439959) * go_6(0.0, 0.0); + result += mat4(0.15925483, -0.17562218, 0.16054402, -0.102731735, 0.0002583934, 0.036983114, 0.011999053, 0.27471888, -0.004332959, -0.12928788, -0.08790416, -0.010699724, -0.02548459, -0.08457954, 0.05052734, 0.24577044) * go_6(0.0, 1.0); + result += mat4(0.06567454, -0.025370235, -0.05715709, -0.082185306, -0.09599352, 0.086617105, 0.0822692, 0.029309079, 0.09133301, -0.024522156, -0.03486816, 0.038204033, -0.05361194, 0.10158628, 0.063485794, 0.03969183) * go_6(1.0, -1.0); + result += mat4(-0.0048210667, 0.0764913, 0.023380734, 0.024152404, -0.06351439, -0.030418124, 0.02406592, -0.036408596, 0.061542217, -0.043871675, 0.025962725, -0.10431354, -0.052235737, -0.1482723, 0.08303624, -0.009218905) * go_6(1.0, 0.0); + result += mat4(-0.084167026, -0.096596025, -0.12425624, 0.08682868, 0.00022705906, 0.085114844, 0.16839416, -0.025412558, 0.033778172, 0.017215842, -0.065793276, -0.070195585, -0.08553574, 0.06256185, -0.06854525, 0.037209094) * go_6(1.0, 1.0); + result += mat4(0.12050404, -0.20928818, -0.11949551, 0.1291365, 0.084040865, 0.05223939, 0.043977372, -0.016835403, 0.0042935545, 0.059002463, -0.07211131, -0.118245535, -0.19188774, -0.1535305, 0.0272311, 0.105984956) * go_7(-1.0, -1.0); + result += mat4(-0.006181896, -0.28432485, -0.12084334, 0.074295126, 0.081649065, 0.055474468, 0.043172136, 0.04395295, -0.21917932, -0.10722758, -0.09593755, 0.013767353, 0.047732692, -0.045233723, 0.1499118, 0.10079427) * go_7(-1.0, 0.0); + result += mat4(0.1524887, -0.03541432, -0.036423605, 0.0036694347, 0.09287245, 0.11441246, 0.1423142, 0.0036378538, 0.096392065, -0.056260396, 0.034749147, -0.04590672, -0.04538836, -0.023286846, 0.006294474, -0.12256234) * go_7(-1.0, 1.0); + result += mat4(-0.028657515, -0.005657442, -0.009628549, 0.075619094, 0.051912576, -0.08320796, 0.062917456, 0.040294655, -0.015313034, -0.07584268, -0.025918879, 0.05634464, 0.12799169, 0.017167855, 0.022167781, -0.0989495) * go_7(0.0, -1.0); + result += mat4(0.043959383, -0.094892405, 0.09580696, 0.015563032, 0.0015867131, -0.16679575, -0.019396141, -0.24469055, 0.105518065, 0.0013712198, 0.08570463, 0.18447937, 0.0561871, 0.016862078, -0.1697556, -0.10703698) * go_7(0.0, 0.0); + result += mat4(0.046563495, -0.028334722, 0.095430285, -0.11062519, 0.1632057, -0.113526955, 0.0078005767, -0.057255816, 0.013870708, -0.1396983, 0.001675939, -0.036503952, 0.10268302, -0.08352583, 0.073321745, -0.08963458) * go_7(0.0, 1.0); + result += mat4(-0.0071791788, -0.018167714, -0.10474007, 0.13919841, 0.071997575, 0.036511123, 0.031821, 0.011350003, -0.03294527, 0.07128632, 0.0011163193, -0.046720807, -0.0044006784, -0.0154943485, -0.0124589205, -0.011068004) * go_7(1.0, -1.0); + result += mat4(0.0065815425, 0.1016602, -0.049425308, 0.05000585, -0.015566087, -0.13111699, 0.0053829947, -0.063102424, 0.04960389, -6.787479e-05, -0.08155758, -0.015248496, -0.03355637, 0.08096152, -0.044310823, 0.05465892) * go_7(1.0, 0.0); + result += mat4(-0.038555566, -0.18589461, -0.04570239, 0.06552533, 0.03866913, 0.08443401, 0.028861761, -0.032269157, -0.061593454, 0.035525497, -0.050243054, -0.06402548, -0.10291229, -0.086267136, 0.04558792, -0.002906924) * go_7(1.0, 1.0); + result += vec4(0.041304566, -0.03238812, 0.014535408, -0.017808888); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x112 +//!HOOK MAIN +//!BIND conv2d_24_tf +//!BIND conv2d_24_tf1 +//!BIND conv2d_24_tf2 +//!BIND conv2d_24_tf3 +//!BIND conv2d_26_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!BIND conv2d_25_tf +//!SAVE conv2d_27_tf +//!WIDTH conv2d_24_tf.w +//!HEIGHT conv2d_24_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_26 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.11443151, -0.108713426, 0.276695, 0.07989307, 0.04647579, 0.009262729, 0.1685192, 0.06342496, 3.7802124e-06, 0.11471419, 0.21862917, -0.14714405, 0.07615697, 0.008696574, 0.12699789, -0.19018881) * g_0; + result += mat4(0.12515754, 0.31493005, -0.09689205, 0.03547315, 0.014907384, -0.16497225, -0.13919856, -0.11483534, 0.12144794, -0.16309711, -0.32288572, -0.12443185, 0.069901936, 0.087048694, -0.10706947, -0.17567441) * g_1; + result += mat4(0.39898342, -0.22792721, 0.14832391, 0.2717282, -0.020610651, 0.23566288, 0.010850474, -0.17099889, -0.016039778, -0.0020831313, -0.12241154, 0.12688214, 0.0036613182, 0.036608845, 0.014307337, -0.11151725) * g_2; + result += mat4(-0.10309775, 0.13672508, -0.14171574, 0.0008346642, 0.009146607, 0.08628462, -0.08052912, -0.017026344, 0.15191628, -0.057887327, -0.19557409, 0.051096447, -0.08008495, -0.107524894, 0.2823684, -0.08889756) * g_3; + result += mat4(-0.016564824, -0.24989256, -0.2249194, -0.0651977, -0.06807716, -0.025363477, -0.027399465, -0.07455227, 0.06599263, 0.26438046, -0.051439926, 0.06316548, 0.022916218, -0.046988536, 0.029912783, 0.022940762) * g_4; + result += mat4(-0.12251786, -0.06948682, 0.22916022, -0.024786122, -0.00439896, 0.083174594, 0.036550373, -0.006298349, -0.11279929, -0.093094416, -0.034991793, 0.046064105, 0.11115092, -0.082963385, 0.05877601, -0.06852534) * g_5; + result += mat4(0.07373158, 0.09035215, 0.07685686, -0.00512534, 0.16249287, -0.30190566, -0.17152359, -0.021798678, -0.036162075, -0.14855996, 0.06671937, 0.040752716, 0.038710788, -0.05742677, -0.15890189, -0.065827206) * g_6; + result += mat4(0.08283188, -0.07847956, -0.1273862, 0.06317435, -0.045053452, -0.07436303, -0.21195294, 0.03413814, 0.0180427, -0.08224744, 0.19969232, -0.10173545, -0.0985865, 0.13246737, -0.22761853, -0.052478615) * g_7; + result += mat4(0.058520608, -0.08817867, 0.23608765, -0.073843844, 0.052322935, 0.02629083, 0.13331904, 0.06627578, 0.041870154, 0.0606517, -0.26620305, 0.09230404, 0.027014492, 0.14735153, -0.16004741, 0.09812545) * g_8; + result += mat4(0.047826007, 0.1634714, 0.11705604, 0.0708394, -0.009366613, -0.03155836, 0.077331886, -0.0031559314, 0.097498395, 0.04192316, 0.17008877, -0.2166131, 0.20248255, 0.010872594, 0.06436194, -0.13117972) * g_9; + result += mat4(0.02341538, -0.083836935, -0.3000272, -0.13124003, -0.019327922, 0.04084534, 0.1415715, -0.032898612, 0.12683785, 0.2175736, -0.18110937, 0.16924378, 0.15692717, 0.2107051, -0.11289415, 0.024807237) * g_10; + result += mat4(-0.0038417198, -0.023462469, 0.29741266, 0.41617903, -0.07855188, -0.10439054, 0.029460225, 0.19564202, -0.039808284, 0.1763466, -0.090184964, -0.34782696, -0.02403701, 0.074582, -0.12709166, 0.08750199) * g_11; + result += mat4(-0.005616591, 0.06304182, -0.040408023, -0.09645956, 0.06324051, 0.20628944, -0.3098933, 0.02254578, 0.029077038, 0.053340837, 0.063302726, 0.16661525, 0.03846741, -0.009219741, 0.116365075, -0.10009024) * g_12; + result += mat4(-0.05268469, -0.00017071658, -0.07163157, -0.21923296, -0.16725844, -0.03701403, -0.14504927, 0.014916945, 0.0009528244, -0.15782906, 0.12831807, 0.29388857, -0.016132563, 0.017562412, -0.25679052, -0.034620695) * g_13; + result += mat4(0.22927792, -0.06749382, -0.009661854, 0.17025727, 0.0079777455, -0.041601792, -0.11932827, 0.03387773, -0.09392308, 0.3402342, 0.14215328, -0.39847612, -0.1305392, -0.15584923, 0.045079015, 0.01645792) * g_14; + result += mat4(-0.04562495, 0.16534929, -0.046228826, -0.16118683, -0.14846939, 0.18226776, 0.0052598384, -0.23458757, 0.094621554, -0.10582074, 0.10714222, 0.05594153, -0.09598537, 0.113479495, -0.12497368, 0.023943413) * g_15; + result += mat4(-0.02769864, -0.26299968, 0.14559303, 0.0944326, 0.17896965, 0.10208632, -0.013210181, -0.044628892, -0.05891498, -0.026696851, -0.22334224, 0.06637618, -0.18068133, -0.25608513, -0.17188187, 0.011999808) * g_16; + result += mat4(-0.058387913, 0.0218284, -0.23960036, 0.022659982, -0.14655428, -0.2565323, 0.108330764, 0.13125636, 0.124482006, 0.16533256, -0.022780979, -0.09548541, 0.08578177, -0.006597655, -0.14589092, -0.12073695) * g_17; + result += mat4(0.056324802, 0.0128009105, -0.025639247, 0.01001398, -0.17908664, -0.06784469, -0.2604881, -0.18153118, -0.063292824, -0.051646266, -0.06044485, 0.07686661, -0.082505025, 0.22550054, -0.037884668, -0.053193748) * g_18; + result += mat4(-0.069400966, 0.0617642, 0.010582028, 0.09696695, 0.0014224951, -0.04151362, -0.12185871, 0.0012915661, 0.14637092, -0.006555717, -0.05938257, 0.13994268, -0.0066529186, -0.19960605, 0.15346165, -0.0865367) * g_19; + result += mat4(-0.2611735, -0.022063201, -0.038368087, 0.09316622, -0.038465716, -0.18126398, -0.08461157, 0.067109436, 0.057539497, -0.20445953, 0.0928182, 0.04585181, -0.24495333, 0.0065940707, -0.37708935, 0.2060806) * g_20; + result += mat4(-0.0027922213, 0.22430198, -0.14358118, 0.12783276, -0.11639961, -0.037831385, 0.13331455, 0.19188458, 0.053073954, -0.07114653, -0.058150347, 0.1569289, 0.124720514, -0.12141831, 0.1242011, 0.114829615) * g_21; + result += mat4(-0.30982205, -0.037789118, -0.023584012, -0.108513854, -0.29589918, 0.23338793, -0.053462632, 0.14759938, 0.10133443, 0.11237711, 0.055803254, -0.12062855, 0.19252913, -0.08096047, 0.07718558, 0.008393711) * g_22; + result += mat4(-0.050342154, 0.0074422276, 0.06969367, 0.08940038, -0.017735183, -0.18851873, 0.16643041, -0.3227906, -0.022566125, -0.14224024, -0.34606192, 0.046124987, -0.04396818, 0.0072183185, -0.15278862, -0.06988554) * g_23; + result += mat4(0.034391437, -0.074430875, 0.20160396, -0.072047606, 0.2027079, -0.28531456, 0.10542997, -0.03773651, -0.055301867, -0.0936597, -0.21673253, 0.07367847, -0.02038547, -0.14456849, 0.22297329, 0.35531262) * g_24; + result += mat4(-0.18277335, -0.08059337, -0.09400133, 0.15901576, 0.16223545, 0.2021658, 0.047907606, 0.056792736, 0.06719305, 0.0033384864, -0.06851851, 0.051555436, -0.040477566, 0.2388465, -0.020530254, -0.24586761) * g_25; + result += mat4(0.11648392, -0.20024611, -0.07978261, -0.24872676, 0.24125583, 0.03680705, 0.044125002, -0.14167546, 0.18336643, 0.090984896, 0.07496362, -0.17672206, 0.16514459, -0.102161184, -0.030927394, 0.08411755) * g_26; + result += mat4(-0.14201398, -0.31110483, -0.42112264, -0.11100327, -0.20474254, 0.027765524, 0.0070005557, -0.08926027, 0.044591606, -0.20539887, 0.08815937, 0.15499651, -0.15112466, 0.017493293, -0.12526624, 0.14187813) * g_27; + result += vec4(-0.04274619, -0.027823832, -0.0074941483, 0.045495618); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x112 +//!HOOK MAIN +//!BIND conv2d_24_tf +//!BIND conv2d_24_tf1 +//!BIND conv2d_24_tf2 +//!BIND conv2d_24_tf3 +//!BIND conv2d_26_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!BIND conv2d_25_tf +//!SAVE conv2d_27_tf1 +//!WIDTH conv2d_24_tf.w +//!HEIGHT conv2d_24_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_26 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.12234858, -0.021024397, -0.008911491, 0.008654683, -0.261921, -0.08852813, -0.014769153, 0.07656934, -0.1312976, -0.0395526, -0.1335422, 0.16576755, -0.024820516, -0.050337326, -0.10896443, 0.033768054) * g_0; + result += mat4(-0.018000448, 0.013071354, 0.049299564, -0.07042542, 0.3076099, -0.02068737, -0.18147635, 0.10448964, 0.07281318, 0.010307286, -0.18882285, -0.014645502, 0.0791774, -0.21212971, 0.026508024, -0.058461342) * g_1; + result += mat4(-0.23666126, -0.018033542, 0.0024688705, 0.23144715, 0.0010496895, -0.021392277, 0.08807161, 0.026790189, 0.023468774, 0.011498715, 0.14476688, 0.18361224, 0.04218432, -0.22661938, 0.34774292, 0.113836944) * g_2; + result += mat4(-0.029370226, -0.22133234, -0.066944055, -0.24185248, -0.09880753, -0.023189416, 0.006161905, -0.07948689, 0.012845118, -0.19781755, -0.1683098, -0.10058418, -0.018076612, -0.07924661, 0.08356604, -0.23357888) * g_3; + result += mat4(0.022303218, 0.12761936, 0.022652805, -0.20914936, 0.17180137, 0.12143295, 0.09799191, -0.12665649, 0.034417123, -0.09280215, -0.0984246, -0.07475625, -0.0069865007, 0.17393745, -0.047097508, 0.086801045) * g_4; + result += mat4(-0.009374213, 0.13395758, -0.037030727, 0.069092, -0.12193983, -0.06298433, 0.22348295, 0.051750474, -0.0943686, -0.045059983, 0.23618917, -0.15909736, 0.11566603, 0.07151492, 0.013066669, -0.04950254) * g_5; + result += mat4(0.05421195, 0.1602265, 0.12650324, -0.017457927, -0.008281588, -0.09576464, -0.038360406, 0.023573698, -0.071081236, 0.18549033, -0.17457892, -0.06348481, 0.0057788654, -0.17015602, -0.2143573, -0.12245353) * g_6; + result += mat4(-0.012059985, 0.034365635, 0.038933452, 0.15287007, 0.08915255, -0.09115187, 0.020236796, -0.030026728, 0.034153678, 0.14779243, -0.2252762, 0.18940309, -0.17914702, 0.04489441, -0.016465506, 0.19653367) * g_7; + result += mat4(-0.24926579, 0.21237439, -0.07930057, 0.11889715, -0.02740544, -0.09377776, 0.039144963, 0.24697267, -0.0735153, 0.26344168, -0.15305813, -0.03005728, -0.36296624, -0.11677285, 0.08789561, 0.15614145) * g_8; + result += mat4(0.21561594, 0.027871598, 0.11443511, -0.08989617, -0.15216057, 0.31315288, 0.07875693, 0.31678453, -0.05351552, 0.0603098, 0.098363675, -0.024522562, 0.32440776, 0.04057012, 0.020779671, -0.09102291) * g_9; + result += mat4(0.030619625, 0.23956256, 0.12258182, -0.056125734, 0.047818817, 0.007024855, 0.005731205, -0.044608884, 0.14420183, -0.34504604, 0.37266588, 0.21600994, 0.14392853, 0.18355964, -0.16690119, -0.055878773) * g_10; + result += mat4(0.08539339, -0.030770814, -0.20747332, -0.14294678, 0.06483853, 0.28473207, 0.17663138, -0.14832555, -0.09196593, 0.38663465, -0.4864812, 0.024431465, -0.024223857, -0.13960868, -0.19981948, -0.0046645487) * g_11; + result += mat4(0.052366443, -0.11314741, 0.25294435, 0.12731439, 0.12228493, 0.31405678, 0.13434315, -0.124796845, -0.07093641, 0.24931367, 0.008088064, 0.057337996, 0.14562343, -0.1662442, -0.16025625, -0.008378218) * g_12; + result += mat4(-0.107468806, 0.012494604, 0.13145463, 0.0044467025, -0.20689802, -0.008778631, 0.22577581, -0.083029106, 0.024620963, -0.025284542, 0.055661917, 0.1272626, -0.03796311, 0.1556227, 0.042157676, -0.08214739) * g_13; + result += mat4(-0.04830007, 0.044968493, -0.0075896606, 0.10583585, -0.002229782, -0.061159782, -0.019315276, -0.08692975, -0.02174253, 0.10504436, -0.095099375, 0.10481533, -0.10043261, -0.103314795, 0.099944495, -0.005334155) * g_14; + result += mat4(0.12740242, 0.17563054, 0.08312964, -0.067844905, -0.04208514, 0.1110867, -0.21594112, -0.23460679, -0.13176624, 0.1059882, 0.12894152, -0.11152399, 0.09752229, 0.014816284, -0.22325674, 0.09841326) * g_15; + result += mat4(0.0653981, -0.022964995, -0.2938982, -0.0061169066, 0.03942006, 0.019700393, 0.08734106, -0.065434955, -0.067304276, 0.112637825, -0.05742705, 0.023384662, -0.2054386, 0.29436016, 0.0037892356, -0.22304635) * g_16; + result += mat4(0.088354826, 0.23902883, 0.08372811, 0.0065366016, -0.07964651, 0.24419506, -0.3911946, -0.029087873, 0.090739176, -0.049014863, 0.06988132, 0.02258769, 0.10247047, 0.12518027, 0.0008728705, -0.056853645) * g_17; + result += mat4(0.19367176, -0.041542146, -0.16576086, 0.07154839, 0.044061545, 0.16537209, 0.1270174, 0.041331172, -0.20587024, -0.065511934, -0.13275598, -0.07027002, 0.18806867, -0.03407952, 0.04837352, 0.045474067) * g_18; + result += mat4(-0.2582355, 0.17942189, 0.12967736, 0.12031099, -0.14537609, -0.041969452, -0.043003123, 0.013001321, 0.12566818, 0.0038525918, -0.08360705, 0.02547348, -0.09314052, 0.052094415, -0.08657066, 0.014753045) * g_19; + result += mat4(-0.044867773, -0.12017535, 0.06931032, 0.21013774, -0.17006443, -0.11134061, 0.052347653, 0.22170502, 0.0809573, -0.04026027, 0.058802795, 0.033606496, -0.69711787, -0.21366166, 0.32256404, 0.001037066) * g_20; + result += mat4(-0.109290324, 0.12479354, -0.0016870967, -0.2105443, -0.12823416, 0.19568188, -0.01180512, -0.0901166, -0.113193884, 0.20936523, -0.26581213, 0.14669225, -0.03157429, 0.078640506, 0.1446152, -0.10513303) * g_21; + result += mat4(-0.12432017, 0.09697878, -0.09566158, -0.1560019, -0.04478926, 0.08118913, -0.023159185, -0.08924593, 0.07948424, 0.13116947, 0.08267777, 0.041434366, 0.12660475, 0.21119997, 0.040758017, 0.010252911) * g_22; + result += mat4(-0.07343955, -0.11137574, -0.20888542, -0.010525646, 0.08654566, -0.25162008, 0.0015843184, 0.2251664, -0.16099241, -0.05303513, -0.010290805, -0.19370262, -0.09699956, -0.021551458, -0.28225294, -0.012553028) * g_23; + result += mat4(0.13522272, -0.037814137, -0.17619848, 0.059898973, -0.19553477, 0.17938456, -0.27291644, -0.0061011547, -0.010751843, -0.035017565, 0.03794967, 0.31951827, -0.18536541, 0.13390224, 0.0263642, 0.0029341222) * g_24; + result += mat4(-0.12729633, -0.14954208, -0.12916204, 0.22230428, 0.11732888, 0.008057732, 0.07490304, 0.13995908, 0.061645962, -0.16856796, -0.03455527, -0.37620506, 0.22656745, -0.15411325, 0.131253, -0.03256949) * g_25; + result += mat4(0.102106966, 0.16285823, 0.07355709, -0.06602972, 0.15325125, -0.16784416, 0.1471553, -0.14970179, 0.1314055, -0.036945526, -0.014696616, 0.06697295, 0.07670483, -0.013443979, 0.10073605, 0.114370696) * g_26; + result += mat4(0.14675961, -0.21042137, -0.10476935, -0.003657964, 0.013142314, 0.025201753, -0.0875375, 0.17088741, -0.32458684, 0.23715518, 0.07397589, -0.028977808, 0.049964994, 0.03821004, -0.01645503, -0.16695203) * g_27; + result += vec4(0.013880447, -0.06316735, -0.020679189, 0.0052526686); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x112 +//!HOOK MAIN +//!BIND conv2d_24_tf +//!BIND conv2d_24_tf1 +//!BIND conv2d_24_tf2 +//!BIND conv2d_24_tf3 +//!BIND conv2d_26_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!BIND conv2d_25_tf +//!SAVE conv2d_27_tf2 +//!WIDTH conv2d_24_tf.w +//!HEIGHT conv2d_24_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_26 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.019710967, 0.08727079, 0.13289316, 0.03551607, 0.0777452, -0.112196796, -0.16325843, 0.1558316, -0.022001125, -0.2075691, 0.11862199, 0.02857829, 0.020248298, -0.0094446875, -0.07760552, -0.117990285) * g_0; + result += mat4(-0.29817292, 0.10518408, 0.21746357, 0.05733823, 0.03669798, -0.08149275, -0.10093382, 0.008025974, 0.041065153, 0.13907155, 0.03632113, -0.13297954, 0.060014922, 0.17260654, -0.19085334, -0.08275422) * g_1; + result += mat4(0.12151083, -0.14669828, -0.1620568, -0.16574967, 0.074872755, 0.19607818, -0.3769676, -0.058607124, 0.033677254, -0.056256827, -0.16380833, 0.20182659, 0.04105756, -0.014290442, -0.113356315, 0.09061605) * g_2; + result += mat4(-0.24904074, 0.01590407, -0.003319224, 0.022379734, -0.06170071, -0.10397567, 0.15287766, 0.088777915, 0.020472175, -0.06658154, -0.11527278, 0.018785367, 0.1344412, 0.17483887, 0.09392446, 0.14208129) * g_3; + result += mat4(-0.12065394, -0.07425183, 0.19492783, -0.0121520795, -0.21886127, -0.22013198, 0.21618968, 0.1857871, 0.012718742, 0.27063718, 0.2922766, 0.14129776, 0.15681101, -0.11397562, 0.2161061, 0.28459883) * g_4; + result += mat4(0.18279836, 0.059465416, -0.2686552, 0.08636607, -0.2511355, 0.105158694, 0.16153961, 0.0084084505, -0.2347149, -0.24694109, -0.06095133, -0.13584507, 0.1535036, -0.070038, 0.14755426, 0.15813471) * g_5; + result += mat4(0.05638502, 0.12059284, 0.119747244, -0.025995718, 0.018165832, -0.16386032, -0.0039485083, -0.12419894, -0.18031433, 0.0659284, -0.048997298, 0.05746441, 0.0037581213, 0.0475356, 0.026042571, 0.0461644) * g_6; + result += mat4(0.29047623, -0.03317755, 0.012561449, 0.0762115, -0.22357285, 0.09418904, -0.1308704, 0.03420321, 0.3186606, -0.08401149, -0.06973756, -0.1454678, 0.1048745, 0.12291292, -0.014862143, -0.1947549) * g_7; + result += mat4(0.24438359, -0.33590525, 0.08984905, 0.3105651, -0.116628, -0.25711998, 0.114802435, -0.062869534, 0.26591647, 0.016051942, 0.14616686, -0.012595678, 0.31504416, -0.2826693, 0.25454178, 0.13212447) * g_8; + result += mat4(-0.012505105, 0.25267395, -0.34087932, -0.11540549, 0.23704751, 0.20673543, -0.15236458, 0.08962316, 0.19622429, 0.12039237, -0.1578033, -0.0637722, -0.21207733, -0.03394972, 0.22895417, 0.15027094) * g_9; + result += mat4(-0.14031585, -0.035249453, 0.079809986, -0.16434458, 0.10221193, 0.035313964, 0.018961012, -0.16648005, 0.30393958, -0.1710883, -0.19866116, 0.44803715, 0.0661874, 0.08189988, 0.08553425, 0.28069958) * g_10; + result += mat4(-0.19560876, 0.13451014, 0.13100468, 0.35829562, -0.15475325, 0.02990502, -0.0061779036, -0.22534068, -0.33936733, 0.27095476, 0.14239429, -0.5767695, 0.087701306, -0.1332555, 0.05407353, -0.21649647) * g_11; + result += mat4(0.08749871, -0.2221962, 0.14391874, -0.073948324, -0.025453761, 0.12343736, 0.17743391, -0.07681618, -0.40484402, 0.19426289, -0.09875697, 0.01706343, 0.03982282, -0.17358004, 0.26000148, -0.115895495) * g_12; + result += mat4(-0.13025936, 0.2896371, 0.05801185, 0.08293986, -0.0893019, 0.039711192, -0.16405399, 0.12870799, 0.003430463, 0.09525632, -0.16785814, -0.11364755, -0.18278702, -0.016319456, -0.047153126, -0.020832052) * g_13; + result += mat4(0.082251646, 0.029341506, 0.17133091, -0.18122095, 0.14725228, 0.11916899, -0.28950807, 0.03370702, 0.0347592, 0.032789018, -0.045912996, -0.19743393, -0.19047977, -0.00169078, 0.10430928, 0.09070872) * g_14; + result += mat4(-0.092634596, -0.010618818, -0.03247302, 0.036561195, 0.11044694, 0.12613513, -0.028009905, -0.29851934, 0.087764055, 0.03672974, -0.018752236, 0.13566239, 0.12001229, 0.11018802, -0.11403856, 0.12471705) * g_15; + result += mat4(-0.0038836685, -0.2424455, -0.15008962, 0.082429685, -0.027996138, -0.03844133, -0.15668187, -0.04586779, -0.0009184358, -0.04966999, -0.143867, -0.11818294, 0.014227782, 0.17745559, 0.1543326, 0.12324403) * g_16; + result += mat4(-0.19125207, -0.072080135, 0.22001915, -0.15000911, 0.006092946, 0.0276868, 0.049183417, -0.023606265, -0.055075668, 0.0023213453, -0.006831625, 0.054617073, 0.028141601, -0.28144443, -0.15619376, 0.012505551) * g_17; + result += mat4(-0.002071177, -0.25345835, 0.28130552, 0.02935035, 0.021427564, 0.076878846, 0.10711918, 0.17818032, -0.16705897, 0.0842015, 0.025515607, -0.04167417, -0.06023519, 0.03835697, 0.02799301, -0.15039864) * g_18; + result += mat4(0.065405816, 0.13527295, 0.0067324284, -0.12423678, 0.021669216, -0.082277656, 0.14112775, -0.18604228, 0.13923156, -0.09100899, 0.048483785, 0.022520756, 0.14296904, -0.109883346, 0.006980882, -0.07817121) * g_19; + result += mat4(-0.037226293, -0.110121734, 0.07505908, 0.11474654, 0.209037, -0.026594287, -0.04906321, 0.25379568, 0.18203714, -0.0306505, -0.30535626, -0.015043494, -0.12235582, 0.25040084, -0.6705801, 0.1575759) * g_20; + result += mat4(0.18554471, 0.22335277, 0.22220112, 0.16374512, -0.14779869, -0.013078052, 0.14746222, -0.06868247, -0.17210856, 0.13750106, 0.13263366, 0.056304373, -0.20586984, 0.009876655, 0.23746644, -0.11166203) * g_21; + result += mat4(-0.26620933, -0.0082564615, -0.078228526, 0.2707986, -0.20045628, -0.08139448, 0.0045745936, 0.09325633, -0.05672884, -0.0876488, 0.074889794, 0.13535088, 0.009728256, -0.009059547, -0.20067231, -0.17888282) * g_22; + result += mat4(0.18152374, 0.012155946, -0.17208481, 0.017410867, -0.13088197, 0.008807619, 0.075113654, 0.101879686, -0.071657784, 0.19019592, 0.15560628, -0.07696461, -0.14242226, -0.12567873, 0.048841417, 0.09410027) * g_23; + result += mat4(0.097054265, 0.17632675, 0.070473716, 0.007048641, -0.042248275, -0.15942219, -0.20265426, -0.11571704, 0.06452315, -0.07014653, 0.15223622, -0.046541333, -0.024594152, 0.19610131, -0.020526761, -0.11271823) * g_24; + result += mat4(-0.033343684, 0.08648372, 0.10469339, 0.015983986, -0.0068075475, 0.11311371, 0.179533, -0.11297559, 0.33167574, 0.086799785, 0.042009678, -0.27057844, 0.077861145, 0.09749471, 0.06263665, 0.09029921) * g_25; + result += mat4(-0.17208366, 0.1823461, 0.05647835, 0.10694644, -0.3164003, -0.0020529446, -0.01364865, -0.03349827, 0.12650657, -0.13572167, -0.07308267, -0.06336381, -0.05660443, -0.043583434, -0.28769398, -0.27051786) * g_26; + result += mat4(-0.03592598, -0.4689105, 0.24144898, -0.030977558, 0.002880143, -0.3730606, 0.14906044, -0.07306277, 0.021631535, 0.29016364, -0.10610739, -0.04341038, 0.08593863, 0.07535527, 0.137121, 0.040470026) * g_27; + result += vec4(-0.0023638057, -0.06318492, 0.031060705, 0.012420308); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x112 +//!HOOK MAIN +//!BIND conv2d_24_tf +//!BIND conv2d_24_tf1 +//!BIND conv2d_24_tf2 +//!BIND conv2d_24_tf3 +//!BIND conv2d_26_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!BIND conv2d_25_tf +//!SAVE conv2d_27_tf3 +//!WIDTH conv2d_24_tf.w +//!HEIGHT conv2d_24_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_26 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.104180515, 0.21909867, -0.0016195358, -0.00827801, -0.17956465, 0.008882964, 0.095886044, -0.12801364, 0.24021642, 0.23698345, -0.17307688, 0.024737755, 0.24745077, -0.121220514, 0.00431543, 0.11270653) * g_0; + result += mat4(0.15997665, 0.017852405, 0.05119178, -0.15482607, 0.0473513, 0.102561824, 0.10925874, -0.088492356, -0.07925148, -0.0009926077, -0.1836283, -0.027848043, 0.078280285, 0.007133711, 0.010975833, 0.06212348) * g_1; + result += mat4(-0.05369238, -0.3801088, 0.6358423, 0.13610448, -0.17373526, -0.06838332, -0.026865637, -0.22185935, 0.031365998, -0.24836074, 0.07786585, 0.12845472, -0.10230717, -0.090312645, -0.12451369, 0.012365612) * g_2; + result += mat4(-0.11176632, 0.1129991, 0.19114831, -0.02778793, 0.17413953, -0.07105402, 0.062856786, 0.03620729, -0.08253814, 0.18052185, -0.23623717, 0.00784666, 0.2294231, -0.0063698697, -0.007017217, 0.19971047) * g_3; + result += mat4(0.053607754, 0.128326, -0.08556963, -0.3267408, 0.2113072, 0.04600726, -0.087273054, 0.043838777, -0.013094107, -0.07035021, 0.06061421, -0.042725533, -0.2515608, 0.05992034, -0.00080709986, 0.053383853) * g_4; + result += mat4(-0.1296537, -0.028914798, 0.12485024, 0.32676205, -0.15098321, -0.050126188, -0.10485253, -0.22199424, 0.004325448, 0.11900305, 0.03579892, -0.06502462, 0.09748344, -0.23620753, -0.08606443, -0.12277768) * g_5; + result += mat4(0.06351925, -0.09474517, -0.030183055, 0.26909778, 0.012661174, -0.12511827, 0.07635961, -0.16331388, -0.07982632, -0.012759043, 0.03974436, -0.07089404, 0.114191614, -0.1768194, 0.20276785, -0.20046876) * g_6; + result += mat4(0.118645184, -0.015464144, -0.13408852, -0.031532094, -0.036670644, 0.25638598, -0.08346215, -0.16632739, 0.10724415, 0.031202447, 0.06494471, 0.080996215, -0.1531831, -0.049804404, 0.06983809, -0.18219711) * g_7; + result += mat4(0.057444304, 0.06428333, -0.2427994, 0.06495019, -0.2475473, 0.051088843, 0.14431933, 0.04322744, -0.0065100784, -0.07879368, 0.27862424, -0.015107099, 0.48285982, 0.07512295, -0.13956147, -0.5293498) * g_8; + result += mat4(-0.04977926, 0.057724383, 0.005400039, -0.07485926, 0.099736564, -0.19428918, 0.3085949, -0.09256943, -0.007471054, 0.15845904, 0.024014933, -0.22958547, 0.05363298, -0.2262346, -0.08504123, 0.010983667) * g_9; + result += mat4(-0.0011897761, 0.01905553, -0.07040949, 0.13073099, 0.07718515, -0.00919502, 0.16790766, 0.15093194, 0.07811035, 0.59745634, -0.038061313, 0.33472347, -0.046432715, -0.042526003, -0.042819142, 0.015483182) * g_10; + result += mat4(0.16497271, -0.1832641, -0.06919869, -0.0699354, 0.1622412, -0.009429784, -0.042264223, -0.5095821, -0.22293803, -0.22964719, -0.24294993, -0.2749919, -0.24561481, 0.03678232, -0.040695712, 0.04990986) * g_11; + result += mat4(0.17668974, -0.14166051, 0.048939627, 0.054249138, -0.07022914, -0.008821423, -0.056008007, -0.21688782, -0.14373022, -0.10112909, -0.26707867, -0.27844477, -0.13381785, 0.024470683, -0.18647262, 0.07304338) * g_12; + result += mat4(0.1254997, 0.3412491, -0.11075748, -0.044977497, -0.2579634, 0.19033371, -0.12924103, -0.10767467, -0.18661416, -0.006703569, 0.11859471, 0.011905839, -0.15832269, -0.09578297, -0.050546784, 0.05611259) * g_13; + result += mat4(-0.031839076, 0.24811439, -0.048889633, -0.10886483, -0.021840971, 0.07242472, 0.07856694, 0.21579736, 0.24734874, 0.002823113, 0.20664278, 0.07515607, -0.035989497, 0.025168674, 0.012789844, 0.04219985) * g_14; + result += mat4(-0.029561277, -0.027150908, -0.2285595, 0.0623451, -0.21524262, -0.0495648, -0.26751977, -0.099391095, -0.11575608, 0.18860719, -0.26475087, 0.10348319, 0.1349935, -0.22972155, 0.07882446, -0.018600948) * g_15; + result += mat4(0.11091095, -0.19174413, 0.0066961353, -0.028952863, -0.07400654, -0.1074968, -0.09721747, 0.02431324, 0.028736848, 0.050277565, -0.0013741596, -0.031192824, -0.03777562, 0.05401314, -0.06783531, 0.19289261) * g_16; + result += mat4(-0.23818627, 0.22782011, -0.168649, 0.0773027, -0.29677773, 0.028283251, -0.032741956, 0.22565849, -0.059789155, -0.08474369, 0.25028643, 0.051620036, 0.06692328, -0.14508602, -0.0667097, -0.14061047) * g_17; + result += mat4(0.13310762, -0.12951846, 0.06509994, 0.040003385, 0.049557522, 0.18617095, -0.09436182, 0.059164654, 0.11599615, -0.004864734, -0.07653804, 0.00014459781, 0.13770443, -0.14924237, 0.07231551, -0.016222041) * g_18; + result += mat4(0.10529918, 0.08091443, -0.11911098, 0.12648894, -0.12755243, -0.051939204, -0.14069635, 0.032026708, 0.00019522365, -0.0022558924, 0.21253237, -0.13399132, 0.1323077, 0.17119333, -0.12659132, 0.09258308) * g_19; + result += mat4(-0.18063812, 0.06042027, 0.13172136, 0.17522804, 0.1790162, -0.32260424, 0.012049487, -0.29769227, 0.027918922, 0.07017221, -0.0750346, 0.014930939, -0.1885921, 0.26602972, 0.026115637, 0.3200164) * g_20; + result += mat4(0.38229984, -0.054856207, -0.30004284, -0.096048094, -0.045444023, 0.12204156, 0.01020938, 0.05631701, 0.18008712, 0.08312059, 0.14788924, 0.04911914, -0.089370966, 0.072039425, -0.045207575, -0.06889737) * g_21; + result += mat4(0.32740393, 0.1746514, -0.10657198, -0.021967173, -0.002292727, 0.15766911, -0.2148169, -0.024471002, 0.24356085, 0.039451532, 0.008314017, -0.09937661, 0.1613525, -0.2391406, -0.029003207, -0.0159854) * g_22; + result += mat4(-0.16562004, 0.041117836, 0.19213973, -0.14429536, 0.30970034, -0.07554239, 0.029687773, -0.024070954, -0.08167974, -0.004404698, -0.03143552, 0.042981133, 0.06546435, 0.16990507, -0.21680567, 0.06390797) * g_23; + result += mat4(-0.03591141, 0.020884542, 0.023933852, 0.022759074, -0.029971978, 0.11930571, -0.086772785, 0.19787759, 0.030405317, -0.13947894, 0.07441769, 0.00034632036, -0.07164358, 0.057664413, 0.37139198, 0.06278644) * g_24; + result += mat4(-0.051113605, 0.05665, -0.020249806, 0.16835532, 0.05984608, -0.08224659, 0.12696908, 0.13570228, -0.068349294, -0.099196844, 0.120686345, 0.055186067, 0.07618209, -0.026192036, -0.14863594, 0.06333659) * g_25; + result += mat4(0.058455057, -0.088729665, 0.15909332, -0.012666964, 0.10028206, 0.03833605, 0.13993295, 0.031959523, 0.096895166, -0.03811847, 0.13775149, 0.02438105, -0.2683284, 0.111006245, 0.10954929, 0.025493354) * g_26; + result += mat4(-0.13692367, 0.14800175, 0.012824838, -0.071239576, 0.0888179, 0.22001815, -0.11865171, 0.069108665, -0.25402087, 0.10172734, 0.30485952, -0.067486994, 0.0008256393, 0.0869447, 0.22277334, 0.21455327) * g_27; + result += vec4(0.028628629, 0.06234057, -0.040859535, 0.012304189); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv2d_27_tf +//!BIND conv2d_27_tf1 +//!BIND conv2d_27_tf2 +//!BIND conv2d_27_tf3 +//!SAVE conv2d_28_tf +//!WIDTH conv2d_27_tf.w +//!HEIGHT conv2d_27_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_27_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_27_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_27_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_27_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv2d_27_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv2d_27_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_27_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_27_tf3_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.15947562, -0.08088179, -0.018287092, 0.07388169, 0.055656206, 0.012508511, -0.014822504, -0.026112063, -0.0355522, 0.21059254, -0.010861626, -0.12473264, -0.064066336, 0.05059408, 0.17477006, -0.013565353) * go_0(-1.0, -1.0); + result += mat4(-0.21434227, 0.31677282, -0.03516674, 0.04986214, 0.05526597, 0.09660516, -0.14319508, 0.018978575, 0.22303632, -0.016273327, -0.007631538, 0.06443882, 0.05512332, -0.041881822, -0.08996631, -0.098337024) * go_0(-1.0, 0.0); + result += mat4(0.00890349, -0.08083122, -0.18154235, 0.16016848, 0.036409512, -0.03464171, -0.066068955, -0.040363487, 0.011614476, -0.010766412, 0.115901425, -0.20064755, -0.046192054, 0.11930149, 0.14467944, -0.059644654) * go_0(-1.0, 1.0); + result += mat4(0.11164375, 0.16459064, -0.09998619, -0.009961483, -0.04288467, 0.10108012, -0.10405018, -0.19669667, 0.052263748, 0.26811314, 0.1365987, -0.10233866, 0.16488834, 0.19555828, 0.071872376, 0.082796656) * go_0(0.0, -1.0); + result += mat4(0.18249479, 0.11808829, -0.0022341073, -0.032062545, -0.11052209, -0.0013532481, 0.016538607, 0.08067115, 0.16962177, 0.07064662, -0.07810613, 0.010294429, 0.08434929, 0.10127592, -0.029486863, -0.3255432) * go_0(0.0, 0.0); + result += mat4(-0.057793867, -0.0521884, 0.19243455, 0.02239359, -0.034333054, -0.07780034, -0.0073473672, -0.021267103, 0.06721728, -0.010699848, -0.046675183, -0.10781791, 0.0678299, -0.029241193, -0.110838145, -0.06508165) * go_0(0.0, 1.0); + result += mat4(-0.081627466, -0.056206644, 0.057609815, 0.16809253, 0.09702448, -0.0006972214, -0.05335845, -0.12129932, -0.0002927597, -0.21934614, -0.037754383, -0.1519519, -0.2376217, 0.10211905, 0.13700108, -0.09431093) * go_0(1.0, -1.0); + result += mat4(0.12006511, 0.0850924, 0.13144164, 0.16237107, 0.10096861, 0.0041175876, -0.106181756, 0.012646824, -0.049423195, 0.02854461, 0.0714631, -0.17928813, 0.12281949, -0.1653483, -0.12631613, -0.012995532) * go_0(1.0, 0.0); + result += mat4(0.06719825, 0.04025362, 0.12805803, -0.051237866, -0.10915182, -0.012685345, -0.03332722, 0.043810077, 0.009768857, 0.030928867, -0.11797699, 0.06935517, 0.03960586, -0.054912154, 0.045409244, 0.024356317) * go_0(1.0, 1.0); + result += mat4(-0.08003945, 0.02939059, 0.015871571, -0.08151104, 0.06888097, 0.028342148, 0.10520131, -0.061023485, 0.09831178, 0.16380575, 0.0023105524, -0.12040436, -0.031042974, -0.053848248, 0.009438444, 0.0266714) * go_1(-1.0, -1.0); + result += mat4(-0.07136757, 0.100973204, -0.031054407, -0.073980935, -0.041895464, -0.021902626, 0.031108955, -0.052984156, -0.016130926, -0.050138965, 0.03813808, -0.05297753, -0.028289583, 0.031014593, 0.1843739, -0.035281647) * go_1(-1.0, 0.0); + result += mat4(0.035933316, -0.00038015004, -0.027873661, -0.0069536613, 0.027045539, 0.037116226, 0.04525177, 0.006566634, -0.16384627, 0.07768526, -0.12624563, 0.024078595, 0.10769284, -0.11258107, -0.04982451, -0.065048374) * go_1(-1.0, 1.0); + result += mat4(0.10052499, -0.13002421, -0.06633072, -0.042626563, -0.028949782, -0.14514183, 0.028552216, -0.0613498, 0.09384566, 0.09405732, -0.19158928, 0.03907308, -0.055615067, 0.23429433, 0.12803762, 0.04434819) * go_1(0.0, -1.0); + result += mat4(0.00958813, -0.24705333, -0.16486292, 0.024874136, -0.12138014, 0.18079525, -0.10713273, -0.13516752, 0.055434603, -0.015806839, -0.09717939, -0.074068494, -0.08866701, 0.020300955, -0.0055264304, 0.04080965) * go_1(0.0, 0.0); + result += mat4(-0.11120258, -0.07199271, -0.041486032, -0.14906478, -0.009233198, -0.09902689, -0.040275663, 0.017067345, -0.05086586, -0.17413498, -0.008183662, 0.009612443, -0.13408433, -0.1332188, 0.07127962, -0.10865638) * go_1(0.0, 1.0); + result += mat4(-0.124843836, 0.0056214286, 0.13267992, -0.13429327, -0.016505916, 0.036799435, -0.038973354, 0.05537806, -0.0632161, -0.012454545, 0.038332634, -0.037685867, 0.04319443, 0.03322325, 0.042085703, 0.045762986) * go_1(1.0, -1.0); + result += mat4(0.052202236, 0.05771732, 0.112385854, -0.01082042, -0.0767456, -0.08780617, 0.014997822, -0.08833972, -0.10664788, -0.061612513, -0.182838, 0.0851486, 0.16953877, -0.06382708, -0.022215927, -0.0051205694) * go_1(1.0, 0.0); + result += mat4(0.13441062, 0.10117365, -0.016199887, 0.029254923, -0.02033548, -0.027186427, -0.045370664, -0.03122226, -0.001153141, -0.053417522, -0.08496941, 0.091859564, -0.1636657, 0.0686879, -0.0061219577, -0.0037164304) * go_1(1.0, 1.0); + result += mat4(-0.08923701, -0.06655362, -0.010985764, 0.014604874, -0.011382496, 0.029907953, -0.056434274, 0.038744327, -0.028414777, 0.010007162, 0.0017349193, -0.10343906, 0.09191801, -0.09312238, -0.1496644, -0.07673135) * go_2(-1.0, -1.0); + result += mat4(0.009483084, 0.01533923, -0.22572407, 0.025132898, -0.01963628, 0.17454073, -0.07573513, 0.039613944, 0.063608795, -0.13739005, -0.033944577, 0.16951281, 0.30629894, -0.079744816, -0.01866261, 0.039395563) * go_2(-1.0, 0.0); + result += mat4(-0.08941336, 0.064974226, -0.028835427, 0.034915254, -0.086929224, 0.07687716, -0.0016284286, 0.0048973947, -0.002299835, -0.10146576, 0.15499033, -0.025811836, -0.11017588, -0.06646864, 0.2724957, -0.09787315) * go_2(-1.0, 1.0); + result += mat4(0.013580617, 0.23512718, -0.13755204, -0.037683118, -0.10511493, -0.16309044, 0.028176483, 0.08306621, -0.10533476, 0.0006221558, 0.045089602, -0.15210447, 0.0020994823, -0.024207998, 0.0993523, 0.043464) * go_2(0.0, -1.0); + result += mat4(0.030274704, 0.16225174, -0.04986216, -0.15224266, 0.0780463, -0.1532285, 0.10314128, -0.15185037, 0.10115252, -0.10087905, -0.09021414, -0.022275878, 0.20465703, 0.15299171, -0.029545499, 0.027562108) * go_2(0.0, 0.0); + result += mat4(0.03635188, 0.14174621, 0.07811163, -0.007859945, 0.015667818, 0.04175609, 0.037054025, -0.21607552, 0.042083874, 0.012400608, -0.0031731343, 0.015451013, 0.14899978, -0.07175217, 0.10838928, -0.12669186) * go_2(0.0, 1.0); + result += mat4(0.138536, 0.13425349, -0.034622706, -0.18623102, -0.053591244, 0.05831567, -0.16689397, 0.09646786, 0.014092155, 0.04367327, -0.09343583, -0.14990391, 0.07822869, -0.22536267, 0.099219, 0.23060338) * go_2(1.0, -1.0); + result += mat4(-0.06164505, -0.092979245, -0.14336626, -0.07140663, 0.22376375, -0.047783352, -0.033338327, 0.1258366, -0.17924803, 0.041608956, 0.16306303, -0.10679489, -0.3030042, 0.0008420525, 0.12561269, -0.028834283) * go_2(1.0, 0.0); + result += mat4(-0.054412913, 0.0090209665, 0.11719211, -0.05716453, 0.05383089, 0.02623724, -0.07349644, -0.01056252, 0.10699554, -0.09000459, 0.017828118, -0.07156624, -0.009086138, -0.17281768, 0.07362622, 0.059403386) * go_2(1.0, 1.0); + result += mat4(-0.1389711, 0.10161683, 0.10497333, -0.1611381, -0.22583091, -0.01804936, 0.012043274, -0.07505929, 0.12483098, 0.120331906, 0.06568858, 0.048519757, 0.04878232, 0.1416424, 0.0067936247, -0.016330056) * go_3(-1.0, -1.0); + result += mat4(-0.17665231, -0.027524196, 0.054338425, -0.019410258, -0.02451535, -0.101202436, 0.019439757, 0.054194063, 0.1374067, 0.18281725, 0.07622217, 0.02345311, 0.09478843, -0.2668885, -0.20737533, -0.038789343) * go_3(-1.0, 0.0); + result += mat4(0.17850038, 0.015391434, 0.21261981, -0.07131195, -0.00017390228, -0.027140131, -0.03531777, 0.090994254, 0.018094057, 0.034828965, -0.03494625, 0.02909268, -0.1641662, 0.0061473413, 0.07393836, 0.012682216) * go_3(-1.0, 1.0); + result += mat4(-0.042796552, 0.15346116, -0.09064195, -0.08746618, -0.060828637, -0.03820483, 0.011528973, 0.0398974, 0.09371729, -0.08625735, 0.014867914, 0.041555084, -0.08405399, 0.11065002, -0.08176266, -0.0624558) * go_3(0.0, -1.0); + result += mat4(-0.16241768, -0.09944747, -0.20491481, 0.29889265, -0.12245448, -0.07481623, -0.12528926, 0.05751569, 0.0967851, 0.23937911, 0.35344538, -0.08789662, 0.12991858, -0.16209777, -0.28480273, -0.0014969984) * go_3(0.0, 0.0); + result += mat4(-0.038093816, -0.12204375, 0.2872561, -0.01867348, -0.0422504, -0.027746195, 0.04692431, 0.19227293, 0.14287111, -0.14324081, -0.11081065, 0.023367552, -0.12073627, -0.13269602, -0.13918683, 0.08741606) * go_3(0.0, 1.0); + result += mat4(0.0008481731, 0.05254276, -0.012691128, -0.036892317, -0.04046909, -0.17864129, 0.110876225, -0.058506776, 0.08640097, -0.006006924, 0.01067811, 0.111712374, -0.05587949, 0.09859872, 0.12326458, 0.03610263) * go_3(1.0, -1.0); + result += mat4(0.01657765, 0.049353786, 0.023793655, -0.034767125, -0.0027143199, -0.10706169, 0.021599656, 0.028217005, 0.15949789, 0.018731484, -0.015067733, -0.008275501, -0.02608208, 0.09978389, -0.07528502, -0.11285119) * go_3(1.0, 0.0); + result += mat4(0.0023038054, -0.106527835, 0.19298683, -0.007611592, 0.13164747, 0.019736541, 0.0677005, 0.12425515, 0.16268487, -0.096461184, 0.12743223, -0.08677306, -0.029261615, -0.041135672, 0.080600925, -0.0044985185) * go_3(1.0, 1.0); + result += mat4(-0.012212633, -0.008135249, 0.0214631, -0.15218979, 0.036934953, 0.013742649, 0.005994283, -0.0283032, 0.0729484, -0.052409716, -0.06420768, 0.0810027, 0.04289635, -0.05979256, -0.011123965, 0.07240212) * go_4(-1.0, -1.0); + result += mat4(0.078602165, -0.11064885, -0.032745726, -0.041563403, -0.07760515, 0.030799344, -0.009528405, 0.07102139, -0.078211874, -0.006511505, 0.022323601, -0.09159505, -0.09717384, -0.038415562, 0.15776964, -0.122952245) * go_4(-1.0, 0.0); + result += mat4(-0.02998448, 0.06617301, -0.1833567, -0.05996888, 0.025792658, 0.04538328, -0.013383254, -0.058839086, -0.036489535, 0.057810433, 0.03386236, 0.06538946, 0.02562387, -0.08336547, -0.119194515, 0.060269345) * go_4(-1.0, 1.0); + result += mat4(-0.20298807, -0.13135706, -0.025793612, 0.021387653, 0.1594905, -0.3369618, 0.041246038, -0.050120838, 0.026487157, -0.029691057, -0.0034613493, 0.016325768, -0.117200464, -0.016574007, -0.073803775, -0.089975685) * go_4(0.0, -1.0); + result += mat4(-0.026254926, 0.0261122, 0.018618183, 0.0005632939, -0.12340781, -0.05991391, -0.04475039, 0.1659745, -0.24145639, -0.20355274, 0.041455634, -0.116840735, -0.1283876, 0.08542697, 0.013275747, 0.0501509) * go_4(0.0, 0.0); + result += mat4(-0.21312153, -0.04829575, -0.10153613, -0.0059257764, 0.0841976, -0.026371231, -0.20159246, -0.0045467755, -0.02141211, -0.027177462, -0.05251507, 0.032135133, 0.03804446, 0.11620451, -0.14313346, 0.077155955) * go_4(0.0, 1.0); + result += mat4(-0.04649696, -0.098621555, -0.10055518, 0.015795136, -0.066809125, -0.19873013, -0.0143966265, 0.03701971, -0.096805796, 0.028184278, -0.026889013, 0.087746136, 0.093570195, -0.05271505, -0.07302158, 0.06451506) * go_4(1.0, -1.0); + result += mat4(-0.019860215, 0.014821476, 0.020452866, 0.019750455, -0.0030268016, 0.09721972, 0.07985887, -0.22953773, -0.023093862, -0.0340788, -0.020107787, 0.14696716, -0.0014956049, 0.10684638, 0.054514356, -0.026299406) * go_4(1.0, 0.0); + result += mat4(-0.0034259602, 0.11406219, 0.08309113, -0.05666143, 0.03997147, -0.015962245, -0.073703386, -0.081422284, -0.03811221, -0.018108517, -0.019545924, -0.09374689, 0.0068907975, 0.06288586, -0.048148807, -0.04641091) * go_4(1.0, 1.0); + result += mat4(0.12786785, 0.036925547, 0.040049516, -0.014098288, 0.17151223, 0.36029485, -0.13981305, 0.048408832, 0.15681522, -0.1718675, 0.18053555, -0.06154547, 0.20234902, 0.1841377, -0.13541229, -0.12686929) * go_5(-1.0, -1.0); + result += mat4(-0.02641306, -0.17226298, -0.049888287, 0.02733204, -0.06390068, 0.080012724, -0.1844924, -0.03414821, 0.034385405, -0.24899785, 0.059214547, 0.049595583, 0.32104456, 0.03666073, -0.40136093, -0.2774759) * go_5(-1.0, 0.0); + result += mat4(0.06761573, 0.06869232, -0.031510808, -0.02438944, 0.22487356, -0.16531369, 0.06668078, 0.09660918, 0.13721283, 0.07903948, -0.019157205, 0.1531542, 0.013938849, 0.07697017, -0.002420862, -0.08119872) * go_5(-1.0, 1.0); + result += mat4(-0.010843206, 0.25370562, 0.13776681, 0.038852032, 0.23986198, 0.090098, -0.1396168, -0.12940928, 0.09821576, -0.13444738, 0.03958645, 0.11936621, -0.25258994, -0.21582375, -0.025724072, 0.15234376) * go_5(0.0, -1.0); + result += mat4(0.070284896, -0.06296459, 0.020593662, 0.05657614, -0.10773026, 0.05970744, 0.19839187, 0.053335343, -0.10290972, -0.07925142, -0.09702071, 0.06671608, -0.3317127, 0.038721535, 0.03681229, 0.0022030612) * go_5(0.0, 0.0); + result += mat4(-0.28498635, -0.025289027, 0.2521193, -0.008358809, 0.24523476, 0.07953551, 0.018755028, -0.04277334, 0.15404665, 0.29997438, 0.25203288, 0.16347292, -0.16057658, -0.09382131, 0.01644382, 0.09579976) * go_5(0.0, 1.0); + result += mat4(0.071044005, 0.1663978, -0.1300318, 0.016336136, 0.06899086, -0.017043045, 0.059462104, 0.06477385, 0.14695822, -0.108211465, 0.065641776, 0.14722472, 0.06779434, 0.16995609, 0.07928397, -0.033719063) * go_5(1.0, -1.0); + result += mat4(0.14180346, -0.08487177, -0.22468328, -0.28223032, 0.2663465, 0.09390156, 0.06763305, -0.046421945, 0.06267927, 0.0894823, 0.03797196, 0.2289057, 0.3531273, -0.10896449, -0.089124285, -0.3782578) * go_5(1.0, 0.0); + result += mat4(-0.15362668, -0.059429795, 0.10730699, 0.021013413, 0.087347016, -0.016410518, -0.14467601, 0.05059625, 0.12102463, 0.05886046, 0.25740236, -0.03717858, 0.24515876, -0.070637345, -0.38044232, 0.0013522268) * go_5(1.0, 1.0); + result += mat4(0.012790849, -0.166835, -0.006531994, 0.042859472, -0.02351418, 0.11851938, -0.049062908, -0.041576426, 0.107786864, -0.10980972, -0.033116184, 0.10939468, -0.054141134, -0.027854247, 0.04713376, 0.19246055) * go_6(-1.0, -1.0); + result += mat4(0.053805664, 0.061061755, 0.047100965, -0.055740997, 0.040054057, 0.051985312, -0.09923848, -0.0043354537, 0.036915418, 0.106524564, -0.123563565, 0.07750848, -0.07408784, -0.05061668, 0.14600709, -0.0011608404) * go_6(-1.0, 0.0); + result += mat4(0.015910039, -0.10548236, -0.031279977, -0.034638315, 0.04358979, -0.0437478, -0.014834915, 0.024732169, -0.12387502, -0.04822137, -0.0058700144, 0.137929, 0.11366931, 0.08035957, -0.039935917, 0.04603123) * go_6(-1.0, 1.0); + result += mat4(0.067911685, -0.21775192, -0.06257909, 0.17257555, 0.06932743, -0.071969435, -0.20456699, 0.04594583, 0.018453049, -0.030035174, -0.05827126, 0.0392995, 0.12435702, -0.17315, 0.0020754808, -0.097234495) * go_6(0.0, -1.0); + result += mat4(-0.10112962, 0.091169335, 0.14931187, -0.05483266, 0.08175559, -0.21881811, -0.015723187, 0.07526295, -0.057499725, 0.27330843, -0.015584234, -0.23729184, -0.14506966, 0.071909845, -0.043688543, -0.04695626) * go_6(0.0, 0.0); + result += mat4(0.19304496, 0.024671676, 0.038902644, 0.0057927696, 0.13977169, 0.073270485, 0.14490373, -0.013279762, -0.04328375, 0.04363379, -0.18776916, 0.15290104, -0.066608734, 0.19611324, 0.030080872, -0.04369692) * go_6(0.0, 1.0); + result += mat4(0.11470921, 0.01983352, -0.03216828, 0.060058292, -0.08319119, -0.07164264, -0.03740158, -0.07463614, -0.1341556, 0.02926277, 0.042769387, 0.13030067, 0.059393533, -0.023748767, -0.06477902, -0.10475805) * go_6(1.0, -1.0); + result += mat4(0.06713004, 0.039320715, 0.07987435, -0.1279802, 0.04430574, -0.09668574, -0.13146797, 0.1951853, -0.09523301, 0.11162048, -0.13835515, 0.10653133, 0.07065633, 0.0017156269, 0.13809821, -0.11227813) * go_6(1.0, 0.0); + result += mat4(0.03737181, -0.060822956, 0.0764333, -0.04455623, -0.05858187, -0.042540766, 0.2450857, 0.017118182, -0.2140229, 0.06681126, -0.035818823, 0.1897005, -0.050493807, 0.039831277, -0.08647933, -0.05456818) * go_6(1.0, 1.0); + result += mat4(-0.15794586, -0.11317517, -0.1907949, 0.035243902, 0.18495446, -0.17711106, 0.07466123, 0.3298434, -0.0538802, 0.17223665, -0.069161914, -0.04879663, -0.010941854, -0.09529097, -0.11374602, 0.1033947) * go_7(-1.0, -1.0); + result += mat4(0.053542875, -0.21014826, -0.021240313, -0.047701992, 0.035403203, 0.11726055, -0.09277544, 0.16033384, -0.06536819, -0.23121049, 0.0709867, -0.026250783, 0.024801381, 0.00938287, -0.22030483, 0.10098934) * go_7(-1.0, 0.0); + result += mat4(0.040862054, -0.07635868, -0.09437051, -0.073567204, 0.007394331, 0.045258503, -0.025171619, 0.09097832, 0.0784184, -0.11744521, 0.09245911, -0.05398139, -0.046311557, 0.11720031, -0.06057511, 0.07124993) * go_7(-1.0, 1.0); + result += mat4(0.15672357, -0.11742975, 0.019319033, -0.11931374, -0.0730905, 0.113809146, 0.046025384, 0.260786, -0.070096426, -0.041467544, -0.17180398, -0.03536039, -0.0053026676, 0.19283321, -0.01242331, -0.046671648) * go_7(0.0, -1.0); + result += mat4(0.086352795, -0.046984054, 0.041676264, -0.093268044, -0.07467304, 0.10683198, -0.09286945, 0.00065939245, -0.023186311, -0.13480976, -0.18541805, 0.066650435, 0.17785572, 0.28285432, 0.09380002, 0.2742215) * go_7(0.0, 0.0); + result += mat4(-0.03759045, 0.008394068, -0.029834675, -0.054245055, 0.19929428, -0.028139526, 0.0011271539, 0.08023337, 0.10857946, 0.023008484, 0.10093405, -0.0025674875, -0.013412711, 0.124299355, 0.18966118, -0.0086889155) * go_7(0.0, 1.0); + result += mat4(-0.008154784, 0.026771648, -0.029822685, -0.12304668, 0.19175382, 0.038344804, -0.19244587, 0.19586428, 0.051759414, 0.051479038, 0.064044714, 0.024556635, -0.05735499, 0.104564175, -0.17250918, 0.042381) * go_7(1.0, -1.0); + result += mat4(-0.03705795, -0.07241511, -0.034249566, 0.026843162, 0.098695345, -0.06264949, 0.006197871, 0.18656683, 0.17142834, 0.020342348, 0.0030491548, 0.13260534, 0.07432505, -0.019298749, 0.018334575, 0.04731813) * go_7(1.0, 0.0); + result += mat4(-0.054331694, -0.027947709, -0.11864076, 0.00814441, 0.028038671, -0.08349308, -0.07054119, -0.07497779, 0.040611267, 0.13121551, 0.118467994, -0.08134059, 0.015859429, -0.2187738, 0.00034174693, -0.00010865687) * go_7(1.0, 1.0); + result += vec4(0.0029036424, -0.026140884, 0.029428842, 0.022368915); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x120 +//!HOOK MAIN +//!BIND conv2d_27_tf +//!BIND conv2d_27_tf1 +//!BIND conv2d_27_tf2 +//!BIND conv2d_27_tf3 +//!BIND conv2d_26_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!BIND conv2d_25_tf +//!BIND conv2d_28_tf +//!SAVE conv0ups +//!WIDTH conv2d_27_tf.w +//!HEIGHT conv2d_27_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_27_tf_tex(conv2d_27_tf_pos)), 0.0)) +#define g_1 (max((conv2d_27_tf1_tex(conv2d_27_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_27_tf2_tex(conv2d_27_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_27_tf3_tex(conv2d_27_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_27_tf_tex(conv2d_27_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_27_tf1_tex(conv2d_27_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_27_tf2_tex(conv2d_27_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_27_tf3_tex(conv2d_27_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_26 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_28 (max((conv2d_28_tf_tex(conv2d_28_tf_pos)), 0.0)) +#define g_29 (max(-(conv2d_28_tf_tex(conv2d_28_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.24869502, -0.09899225, -0.43790483, 0.20478724, -0.1164636, -0.064487524, 0.19679324, -0.1449572, -0.15371573, -0.3400212, -0.21963254, 0.20369855, -0.2367356, 0.2477112, 0.35358265, -0.10717059) * g_0; + result += mat4(0.008394252, -0.07444383, -0.21260554, -0.0109387245, -0.12783004, -0.046684895, -0.09459239, 0.15685712, -0.0650475, -0.17689607, 0.28597033, -0.14768666, -0.24485432, 0.11102652, 0.0016650548, 0.0335556) * g_1; + result += mat4(-0.15471542, -0.055397827, 0.031601153, 0.12807971, 0.098534405, -0.078548655, -0.07627781, -0.045002084, -0.1607132, 0.22467372, 0.05354091, 0.14046556, 0.08950414, -0.11074417, -0.18164189, -0.062829755) * g_2; + result += mat4(0.23552504, 0.106547005, 0.06353197, -0.12771529, 0.063815214, 0.0037739186, 0.13750316, -0.15964629, -0.13540323, 0.03661145, 0.1579406, -0.04318756, -0.23223858, -0.019027008, 0.14158043, -0.0981457) * g_3; + result += mat4(-0.20985286, 0.006259769, 0.22924383, -0.14908646, 0.10981303, 0.09701522, -0.138446, 0.098020315, 0.1012965, 0.17753434, 0.03191124, -0.009315684, 0.15640236, -0.18660188, -0.108241856, 0.28092933) * g_4; + result += mat4(-0.18514358, 0.020193081, 0.074342795, -0.20483983, 0.07773761, -0.0021120405, 0.1360036, -0.03176111, -0.032519307, 0.23044188, -0.0123683, 0.1398906, -0.057560008, 0.054931078, -0.09207622, -0.10482956) * g_5; + result += mat4(0.042022258, 0.08705893, 0.04855544, -0.0702546, 0.09140309, -0.20014158, 0.08858101, 0.10530784, -0.17869075, -0.18289891, -0.06009552, -0.017472578, -0.12561706, 0.1241771, 0.10055958, 0.06711715) * g_6; + result += mat4(0.11081939, 0.14038336, 0.086475745, 0.008545714, -0.09676236, 0.10120412, 0.018717231, 0.083903596, -0.010204144, 0.19445705, 0.08198393, -0.07868833, 0.16800411, 0.24233866, -0.14174843, 0.0127538135) * g_7; + result += mat4(-0.07677055, -0.08069778, -0.19520187, 0.0811833, 0.16050573, 0.04002321, -0.062625214, 0.066150546, -0.0071385102, 0.15346812, 0.22585835, 0.017887173, 0.10958369, -0.27262884, -0.07289562, -0.13642263) * g_8; + result += mat4(-0.20320824, 0.04060682, -0.045050982, -0.08530543, -0.15681775, 0.029664317, 0.040110916, -0.110328145, -0.115784444, -0.0010324386, -0.14814855, -0.05750071, -0.09158797, -0.05191994, -0.010077932, 0.010735767) * g_9; + result += mat4(0.013956532, 0.10945481, 0.17186755, 0.085150324, -0.041226313, 0.12950367, 0.06430863, -0.13105504, 0.10078111, -0.25535673, 0.20490831, -0.18107158, 0.08253922, -0.2122405, 0.03085494, 0.046983067) * g_10; + result += mat4(0.13400763, -0.33241597, -0.14590304, -0.07548988, -0.025087558, -0.09831733, -0.12063487, 0.12294168, -0.04194301, 0.5016058, -0.19878705, 0.2325771, -0.025853388, -0.113362834, 0.03071806, -0.043046314) * g_11; + result += mat4(-0.24234526, 0.099842645, -0.123794004, 0.029319491, -0.06591831, 0.06859657, -0.04656591, 0.035922993, -0.15371624, -0.16684091, -0.13712381, -0.13332178, -0.012874865, -0.07265817, -0.13294667, 0.068372235) * g_12; + result += mat4(0.337884, -0.053065576, 0.039201297, -0.3255975, -0.09653937, -0.08532608, 0.004564532, -0.064255305, -0.09196097, -0.064501986, 0.05946096, -0.065822385, 0.04373292, 0.18320732, 0.17107227, -0.09376649) * g_13; + result += mat4(-0.1266736, -0.110596545, 0.06749142, 0.18791346, 0.3654019, 0.112833284, 0.05675392, -0.19131362, -0.05568984, 0.19247374, 0.102835864, 0.14997408, 0.31664333, -0.10273057, 0.1727324, 0.15486372) * g_14; + result += mat4(0.3434959, 0.023886908, 0.031930014, 0.03582181, 0.005240771, 0.111360535, -0.19078243, 0.0100272475, 0.09107635, -0.008016216, -0.12759027, 0.10675808, -0.08348867, -0.09646617, -0.2607706, 0.018178092) * g_15; + result += mat4(0.079807304, -0.05459316, 0.14646025, 0.044402126, 0.18155368, 0.030484838, -0.23650324, 0.050629415, -0.054936387, 0.24929616, -0.026216682, -0.027678574, 0.14901243, 0.00799581, -0.056854505, -0.2847785) * g_16; + result += mat4(0.07668182, -0.090308845, 0.1426231, -0.076727286, 0.04532857, 0.41972977, 0.045198783, -0.2889559, 0.09463711, -0.115024, 0.12064761, -0.078441106, -0.0979431, 0.16587363, 0.034756947, 0.0819575) * g_17; + result += mat4(0.02658691, 0.018619051, 0.10987584, -0.11632582, -0.097673975, -0.060380448, -0.048393946, -0.12066081, -0.08383298, 0.07522811, 0.00046106262, 0.056841437, 0.18688548, 0.2500605, 0.067883015, -0.0678706) * g_18; + result += mat4(0.1660567, -0.18025756, -0.054567352, 0.06485854, 0.04710402, 0.10155829, -0.02514125, 0.18412691, 0.11272706, -0.078927964, 0.06751576, -0.10286652, -0.13830543, -0.117058784, 0.005188935, -0.06942043) * g_19; + result += mat4(0.23703721, 0.10277758, 0.000754122, -0.029695567, -0.21699485, -0.20323198, 0.052537125, -0.23201968, -0.08901256, 0.14734636, -0.034757435, -0.0005979487, 0.44525814, 0.19301082, 0.6464728, -0.08360051) * g_20; + result += mat4(-0.016849566, -0.17056245, -0.15224437, 0.09874574, 0.2365518, 0.13848515, -0.06262627, 0.030512452, 0.13390404, -0.17578915, 0.052553993, -0.0754797, 0.13499588, -0.091364816, -0.14214903, 0.012343283) * g_21; + result += mat4(0.0444748, -0.120922156, -0.102585696, -0.029410962, 0.16525646, -0.003036487, 0.019754846, 0.10904324, -0.2154087, -0.08718995, 0.018755833, 0.03948844, -0.14803186, -0.2644333, 0.038109586, 0.16415441) * g_22; + result += mat4(-0.11955258, 0.12032012, -0.0071599633, -0.08183172, 0.07993607, 0.15545094, -0.13790582, -0.12963726, 0.03992126, 0.013114452, -0.021836942, 0.06938646, 0.05713335, -0.14334689, 0.065875866, -0.15222839) * g_23; + result += mat4(0.09515674, -0.28844547, 0.053185515, 0.03400144, 0.046243384, 0.06073404, -0.028122557, -0.14269671, 0.076097876, -0.25685546, -0.11053011, 0.0016753314, -0.061829623, 0.17545372, -0.073774636, 0.14134389) * g_24; + result += mat4(0.09274064, 0.008774846, 0.01753719, 0.055378035, 0.070933565, -0.07643164, -0.03130691, 0.010624368, 0.08057614, 0.15103199, 0.16212596, -0.043121286, 0.024918344, 0.022077331, 0.12973905, -0.047122702) * g_25; + result += mat4(-0.039035242, -0.05109422, 0.04064944, 0.046009026, -0.10690486, -0.072981425, -0.06059992, 0.16443883, 0.053239647, -0.049664095, -0.008035011, -0.047280237, -0.09541798, 0.044453926, -0.05769298, -0.054406438) * g_26; + result += mat4(-0.07007281, 0.020636436, 0.21988238, 0.063351706, 0.23330332, 0.06405405, 0.09269646, 0.0076492154, -0.2956097, 0.04427142, 0.13951525, -0.0067400783, 0.094238706, -0.065390944, 0.11663461, 0.16150263) * g_27; + result += mat4(-0.03655699, -0.066461764, 0.34125957, 0.0070882593, -0.051099982, -0.12373787, 0.05673152, 0.23672515, 0.0058079516, -0.0047331564, 0.17873889, 0.16574454, -0.17263038, 0.057122417, 0.21407363, -0.25284353) * g_28; + result += mat4(-0.023008676, 0.11895382, -0.19360733, -0.11461752, -0.20733164, 0.068803884, -0.17845476, -0.10232586, -0.17705148, -0.021452963, -0.11692596, -0.02887165, 0.07515101, -0.049837537, 0.0055611697, -0.04965812) * g_29; + result += vec4(0.046915848, 0.0039697043, 0.017740238, 0.02036365); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x120 +//!HOOK MAIN +//!BIND conv2d_27_tf +//!BIND conv2d_27_tf1 +//!BIND conv2d_27_tf2 +//!BIND conv2d_27_tf3 +//!BIND conv2d_26_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!BIND conv2d_25_tf +//!BIND conv2d_28_tf +//!SAVE conv0ups1 +//!WIDTH conv2d_27_tf.w +//!HEIGHT conv2d_27_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_27_tf_tex(conv2d_27_tf_pos)), 0.0)) +#define g_1 (max((conv2d_27_tf1_tex(conv2d_27_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_27_tf2_tex(conv2d_27_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_27_tf3_tex(conv2d_27_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_27_tf_tex(conv2d_27_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_27_tf1_tex(conv2d_27_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_27_tf2_tex(conv2d_27_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_27_tf3_tex(conv2d_27_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_26 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_28 (max((conv2d_28_tf_tex(conv2d_28_tf_pos)), 0.0)) +#define g_29 (max(-(conv2d_28_tf_tex(conv2d_28_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.20925894, 0.104857735, -0.40466902, 0.0584133, -0.14659958, -0.036843687, 0.13835002, -0.2415225, -0.17522843, 0.11434039, -0.20046623, 0.16023546, 0.2475015, 0.042058993, 0.002350279, -0.17032729) * g_0; + result += mat4(0.11970422, -0.10322249, -0.070675366, 0.06804973, 0.079779394, -0.016731435, 0.04715111, 0.13588014, 0.14615758, 0.022396626, -0.18744521, 0.03337888, -0.048930615, 0.17753999, 0.08515489, -0.27303153) * g_1; + result += mat4(-0.044238064, -0.044585355, -0.4703711, 0.17369467, -0.22562256, 0.003894716, 0.2256651, -0.103996016, 0.007853871, 0.14751841, -0.05668432, 0.07511469, 0.1619497, -0.020217957, -0.090126194, -0.16162491) * g_2; + result += mat4(-0.12567434, -0.04298686, 0.12304879, -0.16227202, -0.008668434, 0.15376252, -0.1295699, -0.07683395, 0.046303485, -0.012221398, 0.0038834864, -0.09826842, 0.12768197, 0.18517894, -0.18903579, -0.19901276) * g_3; + result += mat4(0.17195696, -0.17648453, 0.19818112, -0.023518814, 0.09163597, -0.0049098246, -0.11661733, 0.016902868, 0.060930923, -0.01878846, 0.11788164, -0.1353775, -0.08755757, 0.014184077, 0.16375954, -0.06450589) * g_4; + result += mat4(-0.0034882906, 0.27027172, -0.08576453, -0.2118125, -0.086501405, 0.010157458, -0.2640269, -0.046359222, 0.028317366, -0.16451906, 0.12050226, -0.053686112, -0.10052837, 0.096894056, 0.16462097, 0.094494134) * g_5; + result += mat4(-0.05727481, -0.013227722, 0.21700768, -0.07177067, 0.033377443, -0.0545755, 0.027782457, 0.2090808, 0.011714184, -0.010148169, -0.18692647, -0.2786883, 0.23827875, 0.0011900894, 0.08619064, 0.14836025) * g_6; + result += mat4(0.16917573, 0.21033037, -0.0050825966, 0.18095241, -0.029595587, -0.32528213, 0.20749976, 0.15824726, 0.01744845, -0.18352279, -0.19498493, 0.024413247, -0.017869025, -0.12914586, 0.021449931, -0.019033303) * g_7; + result += mat4(0.050177246, -0.023704303, 0.0017737169, 0.022661313, 0.007864253, 0.0176497, -0.16047522, 0.10303941, 0.2444177, 0.41632912, 0.00715035, -0.18481494, 0.05252633, 0.006689579, 0.13945661, -0.018428788) * g_8; + result += mat4(-0.0941601, 0.048248548, 0.16638602, 0.041016433, 0.0026687274, 0.019066641, 0.08475801, -0.09578143, -0.10059114, -0.29335198, 0.017439498, 0.11830718, -0.054326836, -0.11888715, -0.04045584, 0.073335744) * g_9; + result += mat4(-0.13832748, 0.21032946, 0.31014842, 0.17925423, -0.063551836, -0.1199703, 0.16982867, 0.016346592, -0.025109967, -0.022150239, -0.37054747, -0.49025953, 0.14235863, 0.06635017, 0.002241298, 0.0040627583) * g_10; + result += mat4(-0.13018467, -0.0144080445, -0.16799062, -0.1249275, -0.12707768, 0.07865254, 0.038435075, 0.1667798, 0.09192991, -0.03252081, 0.7629332, 0.48081362, -0.00011961902, 0.058554083, 0.11982404, 0.1822051) * g_11; + result += mat4(-0.06755234, -0.0075415038, -0.14266185, 0.12655805, -0.0045153988, 0.0048743295, -0.008591593, 0.056268115, 0.024279088, -0.0629758, -0.14188884, -0.025769057, 0.15646881, -0.14415343, -0.22970784, -0.037042253) * g_12; + result += mat4(0.25852588, 0.017387692, 0.13789654, -0.019787727, -0.11308935, 0.16850404, -0.2373339, -0.04899185, 0.17354745, -0.09472497, -0.21602263, -0.21760805, -0.020826988, 0.16989823, 0.0741717, -0.10448863) * g_13; + result += mat4(-0.18604822, 0.009787992, -0.06459633, 0.052285228, -0.14829153, 0.075823255, -0.111874774, -0.09117474, 0.03208986, 0.021619327, 0.30147213, 0.13760304, 0.12453839, -0.016333232, 0.094405904, 0.0878566) * g_14; + result += mat4(0.14507103, 0.07554785, 0.03146559, 0.045327432, -0.051290758, 0.039846797, 0.114740096, 0.26464698, -0.1658753, -0.12688372, -0.179181, -0.0732476, -0.031645183, -0.02680665, -0.17883217, -0.061550755) * g_15; + result += mat4(0.08742578, -0.14921658, -0.008039882, 0.032061443, -0.17833516, -0.23691227, -0.14369945, -0.017769985, 0.065309726, 0.038026232, 0.23837644, 0.005659167, -0.20681982, 0.061288934, 0.080895506, -0.067547865) * g_16; + result += mat4(-0.19850676, -0.015734296, 0.018384686, 0.020779416, 0.1471408, 0.26202065, 0.05143831, -0.18096192, -0.14602786, 0.027607052, -0.22484896, -0.08151626, 0.11529563, 0.1390684, -0.16282271, -0.012490131) * g_17; + result += mat4(-0.048379734, -0.041772716, -0.0041537993, 0.21717072, 0.10138077, -0.12603214, -0.18361042, 0.049941633, 0.1703956, 0.11111548, 0.12635674, 0.06445028, -0.08243661, 0.06709483, 0.046443917, 0.10167419) * g_18; + result += mat4(-0.035105225, 0.06199828, 0.0020574334, -0.011254863, -0.047805354, 0.1722725, 0.08265051, 0.049911566, -0.17403728, 0.02808134, -0.16923027, -0.023735922, -0.008281012, -0.093713865, -0.07359882, 0.048530914) * g_19; + result += mat4(0.020626063, 0.008559935, -0.023751533, 0.103401795, 0.17920512, 0.042976495, -0.12651409, -0.114272855, 0.0033929124, -0.031355213, 0.08776122, -0.22491921, 0.2031401, 0.2379429, 0.28060517, -0.0007719008) * g_20; + result += mat4(0.026417585, 0.17757705, -0.043824922, 0.028119845, -0.04151611, 0.054795753, 0.0028165078, 0.00073246437, 0.1412875, 0.21982361, -0.087146886, 0.10897306, -0.11245943, -0.14196636, -0.052475058, 0.037263144) * g_21; + result += mat4(0.18080506, 0.15489496, 0.022035526, 0.061552692, 0.090489246, 0.0372591, -0.076371096, 0.09855082, 0.12062604, -0.11851761, -0.091217645, -0.0456572, -0.15227035, 0.19842634, -0.25994444, 0.0014280345) * g_22; + result += mat4(-0.004529129, 0.00022631227, 0.13502745, -0.062293727, 0.0070622144, 0.14676675, 0.053662084, 0.072721094, -0.02548614, -0.13910522, -0.042703785, 0.03434115, 0.14548635, 0.009612174, -0.101212025, 0.18954988) * g_23; + result += mat4(0.0022483568, -0.08712446, 0.10486132, 0.26073435, -0.00852917, -0.09080537, 0.10038895, -0.105297185, 0.07585101, -0.17707159, -0.20059243, -0.0673406, 0.08531025, 0.13096005, 0.057341557, -0.13544896) * g_24; + result += mat4(-0.0006035619, 0.09268198, -0.016875379, -0.14467251, 0.009340458, -0.101583, 0.057097267, 0.112552926, -0.07803109, 0.3324704, 0.033041988, 0.077711694, -0.037180506, 0.0757784, 0.081892945, 0.123966664) * g_25; + result += mat4(-0.057247143, -0.03035935, -0.03899445, 0.19533473, 0.009087412, -0.075170524, 0.0023444563, -0.041517466, -0.037251793, 0.012194933, -0.073488355, 0.1223987, -0.18770866, 0.031678624, 0.015153505, -0.13081336) * g_26; + result += mat4(0.052989263, -0.0714155, -0.12801231, -0.05954568, -0.02600527, 0.12803787, -0.019737625, 0.11588791, 0.13464773, -0.07630486, 0.054382257, -0.2291579, 0.042531025, -0.046213683, 0.09142889, -0.020872064) * g_27; + result += mat4(0.14624128, -0.09307583, -0.18519302, -0.010523176, -0.042090297, -0.039113797, -0.17932849, 0.1574002, 0.042603053, 0.18812989, -0.061091296, 0.084948115, -0.11052512, 0.11764443, -0.13139613, 0.15068875) * g_28; + result += mat4(-0.052416, 0.011094299, 0.13501611, -0.052369393, -0.02655924, -0.10207045, 0.02851461, -0.13901424, 0.034044232, -0.22422798, 0.006999936, 0.004138137, 0.15997367, -0.12716383, 0.025097579, -0.23885375) * g_29; + result += vec4(0.02927894, 0.051008213, -0.011481529, -0.038922433); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x120 +//!HOOK MAIN +//!BIND conv2d_27_tf +//!BIND conv2d_27_tf1 +//!BIND conv2d_27_tf2 +//!BIND conv2d_27_tf3 +//!BIND conv2d_26_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!BIND conv2d_25_tf +//!BIND conv2d_28_tf +//!SAVE conv0ups2 +//!WIDTH conv2d_27_tf.w +//!HEIGHT conv2d_27_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_27_tf_tex(conv2d_27_tf_pos)), 0.0)) +#define g_1 (max((conv2d_27_tf1_tex(conv2d_27_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_27_tf2_tex(conv2d_27_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_27_tf3_tex(conv2d_27_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_27_tf_tex(conv2d_27_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_27_tf1_tex(conv2d_27_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_27_tf2_tex(conv2d_27_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_27_tf3_tex(conv2d_27_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_26 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_28 (max((conv2d_28_tf_tex(conv2d_28_tf_pos)), 0.0)) +#define g_29 (max(-(conv2d_28_tf_tex(conv2d_28_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.023159716, -0.06445511, -0.13444243, -0.3029728, 0.09424871, 0.046222795, 0.1665773, 0.0054540136, 0.108596064, -0.034167033, 0.09486344, -0.06652879, -0.12501813, 0.29003936, -0.001826413, 0.4086747) * g_0; + result += mat4(0.17339195, -0.12188165, -0.11409943, -0.08955709, 0.08390357, 0.15925337, 0.10573395, -0.044203065, -0.1956127, 0.062437166, -0.055394087, 0.21211234, -0.05303983, 0.08320662, 0.03260874, 0.085122004) * g_1; + result += mat4(0.050840195, -0.0882688, -0.37795234, -0.21878824, 0.0823033, 0.001571019, -0.086516365, -0.032059066, 0.031085746, -0.26207578, 0.03567986, -0.15979347, -0.123573, -0.041428905, -0.07892891, 0.111200064) * g_2; + result += mat4(0.118134536, 0.0017017128, 0.06084789, 0.13862696, -0.004776377, -0.022721525, -0.12781031, 0.023450686, -0.20167245, -0.014491597, -0.32268152, 0.041146316, -0.08904564, 0.13891083, 0.026140563, 0.053664643) * g_3; + result += mat4(-0.014918813, -0.11442104, 0.0741294, 0.20350552, -0.024969127, -0.04713554, -0.09463233, -0.06777642, -0.15385136, 0.09367639, -0.18212073, -0.12458825, -0.11280945, -0.12408857, 0.056655087, -0.097056136) * g_4; + result += mat4(-0.09134359, 0.42729822, 0.13041808, 0.22597447, -0.06003689, -0.017370071, -0.12883402, 0.027216416, 0.029739086, -0.0060472586, 0.00443273, -0.07316318, -0.046336673, -0.21877831, 0.020554282, 0.1732762) * g_5; + result += mat4(0.12951167, 0.05868595, 0.23511209, -0.06839014, -0.13673079, -0.11585807, -0.17553164, -0.1661913, 0.03966464, 0.17386018, -0.11228396, -0.050033193, 0.13843036, 0.03351075, 0.14025663, -0.25514498) * g_6; + result += mat4(-0.038775686, -0.04935347, -0.038891345, -0.019735469, 0.07429314, -0.0223186, 0.077693924, 0.15711477, 0.2130033, 0.19355707, 0.16412027, 0.06635085, 0.038207706, 0.06053999, -0.12567896, -0.007636511) * g_7; + result += mat4(0.09569034, -0.010271957, 0.03721736, -0.15505005, -0.0838559, 0.0016339924, -0.05316335, 0.063593015, -0.20762952, -0.17041244, 0.046337787, 0.042274795, 0.10624157, 0.110793, 0.13401565, 0.17065364) * g_8; + result += mat4(-0.11632263, -0.12953088, 0.001185442, 0.10271505, 0.063425556, 0.20457491, 0.035240173, -0.016209599, 0.18448795, 0.28286663, 0.047897473, -0.03594525, 0.12672062, 0.02626917, -0.017910505, -0.023291295) * g_9; + result += mat4(0.15155636, 0.34159487, -0.14385378, 0.1202715, 0.08488496, -0.14626624, -0.15154605, 0.033907797, -0.4028903, 0.009578373, 0.20309076, 0.03162836, 0.0046819323, 0.12714009, -0.013452622, -0.027946994) * g_10; + result += mat4(-0.023553226, 0.012964108, 0.2615834, -0.18088982, 0.16396646, -0.1555898, 0.062380422, -0.13156545, 0.11771863, 0.11465695, 0.15540528, 0.05780806, 0.162502, -0.15075624, -0.081975155, 0.08368184) * g_11; + result += mat4(0.21025248, 0.19884978, -0.12959355, 0.12049732, 0.22328858, 0.13621397, -0.14099576, -0.12470971, -0.09525357, -0.3020424, 0.06765223, 0.11113628, -0.06416074, -0.19985223, -0.16019244, -0.11679983) * g_12; + result += mat4(-0.09884801, -0.19851618, 0.09546932, 0.16984892, -0.23047769, -0.19711624, 0.075863495, 0.0017955381, 0.015505981, -0.18864273, 0.078835726, 0.045279432, -0.008318564, 0.22265139, 0.24933302, 0.012418065) * g_13; + result += mat4(-0.12885031, 0.07197899, 0.034894828, -0.027127236, -0.15808247, -0.090660565, -0.032682374, 0.04424032, -0.02021023, 0.23655033, 0.2861916, 0.1077876, -0.00029343172, 0.14406225, -0.12042908, -0.05617217) * g_14; + result += mat4(0.06726449, -0.13338274, 0.13298374, 0.1509329, 0.0012467351, 0.10550558, -0.11021875, -0.089391366, -0.121223524, -0.18981695, -0.30600676, -0.17530401, 0.035590086, -0.19236173, -0.00065066793, -0.14428075) * g_15; + result += mat4(-0.07112659, -0.020882819, -0.1465499, 0.096829794, 0.20048432, 0.104522765, -0.26555765, -0.097862296, -0.030852538, 0.105224766, 0.08888586, 0.17757314, 0.16541813, -0.23302473, 0.2233853, -0.010632784) * g_16; + result += mat4(0.014658764, -0.0334598, 0.3128382, 0.077815466, -0.22126053, -0.04505339, 0.061955534, 0.021540016, 0.010367894, -0.051611926, 0.07533717, -0.056219503, -0.2093322, 0.03568594, -0.17417803, -0.10428233) * g_17; + result += mat4(0.2191052, 0.11557848, -0.012550732, 0.17574733, -0.029502312, -0.032267477, -0.07563763, -0.07457431, -0.038292985, -0.09042212, 0.08027953, 0.19520667, -0.083191395, 0.12538701, -0.09176717, 0.011189392) * g_18; + result += mat4(-0.16427885, -0.10249853, -0.17418809, -0.17851928, -0.02198882, -0.016383043, -0.056685332, 0.054567203, 0.085425794, 0.07624397, 0.029935993, -0.11497607, 0.09389378, -0.113407105, -0.037462458, 0.05798364) * g_19; + result += mat4(-0.11592955, -0.0355327, 0.02012006, 0.08628437, 0.18852545, 0.04429939, 0.2095552, 0.11321021, -0.10715762, -0.06410171, 0.07349654, -0.10263874, -0.25958562, -0.0065148305, 0.05395847, 0.23721853) * g_20; + result += mat4(0.08934432, -0.018261336, -0.1469809, -0.1230833, -0.03024807, -0.108250126, -0.1356501, -0.19411466, 0.12480876, -0.056631427, -0.14539632, -0.011234567, -0.108617164, -0.0075640143, 0.016628174, -0.031951398) * g_21; + result += mat4(-0.030735651, -0.25655523, 0.07889343, 0.072985075, -0.14274006, -0.0726582, -0.17257299, 0.04806954, 0.20640111, 0.09091482, -0.02442191, -0.056154832, -0.0973647, -0.15620042, 0.062126547, -0.27619773) * g_22; + result += mat4(0.019488974, 0.09159406, 0.050291736, 0.05484099, 0.007813524, 0.031137392, 0.008452417, -0.06525648, -0.024203332, -0.04843337, 0.0056339726, -0.08692725, 0.12216992, -0.1479449, -0.11445307, 0.14418265) * g_23; + result += mat4(-0.092634715, -0.12256442, -0.03266669, -0.13706104, -0.028364131, -0.16320482, 0.025872277, 0.0038799648, -0.038322225, 0.07213509, -0.08575004, 0.00078005146, -0.19118088, 0.13901393, -0.07466347, -0.15850773) * g_24; + result += mat4(-0.10358112, 0.23026147, -0.17026868, 0.22740762, -0.073265195, 0.20872793, -0.1305692, 0.041578945, -0.14450042, 0.074723445, -0.19840808, -0.31698796, -0.13111241, 0.039627273, 0.20071575, 0.18766841) * g_25; + result += mat4(0.083393425, 0.0077654063, -0.024181146, -0.23965842, -0.015347993, 0.06553551, -0.075003184, -0.12717652, 0.24724984, -0.2618065, 0.00016140452, -0.030394942, -0.09804706, -0.05339126, 0.13838013, -0.11934897) * g_26; + result += mat4(-0.15981214, 0.099963255, 0.020670403, 0.055687193, 0.098974116, 0.09318632, -0.0020179797, 0.069629736, -0.18775915, 0.06435833, -0.054918338, 0.073864214, -0.004390631, 0.017190594, -0.099290535, 0.23170115) * g_27; + result += mat4(-0.025526501, 0.06180454, 0.02409264, 0.067765474, -0.25856894, 0.056929503, -0.23243466, -0.29785407, -0.057924725, -0.18965043, -0.19148564, -0.08055246, 0.123928405, -0.12250164, -0.050594267, 0.03553811) * g_28; + result += mat4(-0.0960669, -0.06418567, -0.15908502, 0.032472476, 0.17400779, -0.1997357, 0.23960195, 0.17217276, -0.17098325, 0.07912132, 0.15839973, 0.09257917, -0.11821401, 0.18548669, -0.04553704, 0.14563085) * g_29; + result += vec4(-0.020268483, -0.020570418, 0.013189642, -0.023046626); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x1x1x120 +//!HOOK MAIN +//!BIND conv2d_27_tf +//!BIND conv2d_27_tf1 +//!BIND conv2d_27_tf2 +//!BIND conv2d_27_tf3 +//!BIND conv2d_26_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!BIND conv2d_25_tf +//!BIND conv2d_28_tf +//!SAVE conv0ups3 +//!WIDTH conv2d_27_tf.w +//!HEIGHT conv2d_27_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_27_tf_tex(conv2d_27_tf_pos)), 0.0)) +#define g_1 (max((conv2d_27_tf1_tex(conv2d_27_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_27_tf2_tex(conv2d_27_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_27_tf3_tex(conv2d_27_tf3_pos)), 0.0)) +#define g_4 (max(-(conv2d_27_tf_tex(conv2d_27_tf_pos)), 0.0)) +#define g_5 (max(-(conv2d_27_tf1_tex(conv2d_27_tf1_pos)), 0.0)) +#define g_6 (max(-(conv2d_27_tf2_tex(conv2d_27_tf2_pos)), 0.0)) +#define g_7 (max(-(conv2d_27_tf3_tex(conv2d_27_tf3_pos)), 0.0)) +#define g_8 (max((conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) +#define g_9 (max(-(conv2d_26_tf_tex(conv2d_26_tf_pos)), 0.0)) +#define g_10 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_11 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_12 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_14 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_16 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_18 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_20 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_22 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_24 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_26 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_28 (max((conv2d_28_tf_tex(conv2d_28_tf_pos)), 0.0)) +#define g_29 (max(-(conv2d_28_tf_tex(conv2d_28_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.24645565, 0.05784516, 0.10867771, -0.05984515, -0.028971449, 0.11605379, -0.1291642, -0.014052763, 0.11068091, 0.004926675, 0.20459619, -0.044202894, -0.13706492, -0.04746351, 0.046451483, -0.12730147) * g_0; + result += mat4(0.16991296, 0.023684578, 0.021467324, 0.112513155, 0.16544406, -0.07930093, 0.11551819, -0.19346547, -0.12460893, 0.12157849, 0.016360888, -0.013482095, 0.09450167, -0.06769771, 0.077387445, -0.0790254) * g_1; + result += mat4(0.2960009, 0.1488434, 0.006516303, 0.036311023, -0.14754485, 0.055427775, 0.11966719, 0.34234813, 0.061157946, 0.15428309, -0.0006080333, -0.08627383, -0.059905972, -0.22450238, -0.014939416, 0.17368095) * g_2; + result += mat4(0.07378066, 0.056095265, -0.14646475, 0.052108943, -0.056351613, -0.0075914487, -0.22897565, 0.18092358, -0.30173147, 0.4220325, 0.030691927, -0.04179051, 0.18329756, 0.07725657, 0.04097003, 0.12552805) * g_3; + result += mat4(-0.10679568, -0.114355184, -0.077642724, 0.03897825, 0.29233125, 0.10134386, -0.0011805982, -0.07966318, 0.06551558, 0.03483564, -0.18145105, -0.09800179, -0.11958348, 0.1625396, -0.030568633, -0.0012501187) * g_4; + result += mat4(-0.07481191, 0.032259185, 0.28050005, -0.060750138, 0.12653445, 0.058230374, -0.002791269, -0.06543193, -0.0781853, 0.059335645, 0.0038409696, -0.16285823, -0.2594777, -0.16057986, -0.032912817, 0.09385994) * g_5; + result += mat4(-0.0057511446, -0.05183356, 0.0043450245, 0.06839988, 0.08128163, 0.040296473, -0.01891294, -0.0850551, 0.1050001, 0.10195095, 0.13149269, -0.06505747, -0.024678802, 0.13261814, -0.033877272, -0.035169628) * g_6; + result += mat4(-0.14846025, -0.13375129, -0.007583847, 0.012587357, -0.09852703, -0.057210695, 0.041786056, -0.21553703, 0.19320351, -0.26314387, 0.05067924, -0.09403354, 0.023944646, 0.07871713, -0.010490625, -0.13831468) * g_7; + result += mat4(0.11984692, -0.0098591605, 0.12905905, 0.15365292, -0.0012730177, 0.05490899, -0.028208854, -0.1367009, -0.059950594, -0.053963825, 0.2162382, 0.04799995, 0.021240858, -0.07847233, 0.08247004, -0.022988454) * g_8; + result += mat4(-0.12824033, 0.057294488, -0.14316118, -0.0504033, -0.089879006, 0.034919854, -0.0040405784, 0.031905886, 0.08371419, -0.0362044, -0.0045882226, 0.16748743, 0.054630518, -0.05417787, -0.042437587, 0.25395465) * g_9; + result += mat4(-0.13144904, 0.2214945, -0.028178846, -0.23956248, -0.15738271, -0.16158687, -0.10207897, 0.042929817, -0.066305175, -0.096577294, 0.04117173, -0.015665123, -0.11068033, 0.0819128, 0.16483264, 0.09976227) * g_10; + result += mat4(0.19826432, -0.024046648, -0.17804232, 0.16008496, 0.07570708, -0.14472866, 0.04762163, 0.22881216, 0.05690948, 0.22411816, 0.005796563, -0.15312837, -0.123055264, 0.032928593, 0.08476358, 0.08951332) * g_11; + result += mat4(-0.0019496006, -0.16238998, 0.22266757, -0.2576854, 0.035717808, 0.009473379, 0.017560462, -5.106421e-05, 0.01733539, -0.18899617, -0.14462131, 0.011425934, 0.056977432, -0.018645681, -0.01617488, 0.14064595) * g_12; + result += mat4(0.015111429, -0.12743704, -0.16131711, 0.09304627, -0.011910577, -0.05745339, -0.039512582, 0.07567732, 0.026060602, 0.028980162, -0.12465325, -0.18355931, -0.20168343, 0.13719437, -0.08599688, -0.18141237) * g_13; + result += mat4(0.054802295, 0.29837707, 0.03522563, -0.03632989, -0.086978845, 0.00095785136, 0.107393734, 0.044818994, -0.13475525, 0.3006535, 0.07316234, -0.16334157, -0.16008015, 0.020546542, -0.14413168, -0.08525269) * g_14; + result += mat4(-0.259366, -0.07472293, 0.024179474, -0.038631555, 0.05083423, -0.04494027, 0.06810897, -0.10119448, 0.0068198745, -0.20377721, -0.099571116, 0.06853115, 0.1771495, 0.05278769, 0.116875805, 0.10305356) * g_15; + result += mat4(0.04593561, 0.20434843, -0.063411824, -0.041401528, 0.11932308, 0.25054318, -0.10001591, 0.034949005, 0.09727825, -0.06489274, 0.05936674, -0.036842782, 0.1862358, -0.11597859, -0.08135922, 0.029445825) * g_16; + result += mat4(-0.22665091, -0.10780771, -0.04841487, 0.09992152, -0.138711, 0.020387711, 0.015868897, -0.08746323, -0.2086925, -0.015857462, 0.0466177, 0.06748683, -0.01600545, 0.22568497, -0.002262447, 0.016205644) * g_17; + result += mat4(0.13159914, 0.0085239895, 0.05532446, 0.056012895, -0.1934148, -0.09157347, 0.14135554, 0.052508645, 0.09289656, -0.14269857, 0.030171013, 0.037755817, 0.04909593, -0.18655239, -0.0055961176, 0.1187946) * g_18; + result += mat4(-0.17952375, -0.024501823, 0.023383398, -0.107995816, 0.08161396, 0.020528542, 0.15347931, -0.0741402, -0.20154397, -0.0015806113, 0.028733943, 0.028272778, -0.2613763, -0.051558394, -0.14001833, -0.050815742) * g_19; + result += mat4(-0.015107653, -0.0940447, 0.036241457, -0.010593342, -0.045961525, 0.17196755, 0.18697836, 0.031196352, 0.20367323, 0.088155776, 0.045706164, -0.13437189, -0.18159072, 0.36762834, -0.20641692, 0.118886285) * g_20; + result += mat4(-0.060623996, 0.20019537, 0.18168223, 0.08877838, -0.045696676, 0.061234694, -0.07338814, 0.051613998, -0.25389117, -0.052995674, -0.09211558, -0.16466606, -0.145923, 0.026201494, -0.050066713, 0.08831479) * g_21; + result += mat4(-0.16469187, -0.16988957, 0.09734995, 0.061539363, -0.13671373, 0.10063324, -0.011433946, -0.086579375, 0.107261725, -0.10270097, -0.012975658, 0.06668877, 0.15680642, 0.07163846, 0.14033522, -0.01405299) * g_22; + result += mat4(0.132207, 0.03416093, -0.048854396, 0.07515984, 0.078861736, -0.2689559, -0.030746087, -0.11602645, 0.06880567, 0.08204513, 0.06717855, 0.007817995, 0.016181905, 0.040704746, -0.16240671, 0.07026067) * g_23; + result += mat4(-0.15598467, -0.0022878624, 0.026549233, -0.04394233, 0.20921734, 0.043367602, -0.15613823, 0.04929508, 0.0029379008, 0.04842879, 0.18046685, -0.117088884, -0.22295143, 0.15341441, 0.34251833, -0.16558655) * g_24; + result += mat4(-0.25135937, 0.043886732, -0.06370679, -0.14021763, -0.21199869, -0.028682569, 0.120286964, -0.12730849, 0.057145018, 0.089308545, 0.18639867, -0.13679394, 0.012308779, -0.22714002, -0.1320638, -0.040500604) * g_25; + result += mat4(0.049142376, -0.2076546, 0.23179443, 0.14762919, -0.23876101, 0.1215704, 0.16733463, 0.029052794, 0.196647, -0.060006868, -0.05808242, -0.18242458, 0.19578396, -0.05617832, 0.08892038, -0.04199541) * g_26; + result += mat4(-0.22550662, 0.1297213, -0.07912901, -0.035594005, 0.01997545, -0.24715406, 0.014261541, -0.047214407, -0.22399336, 0.040679913, 0.13449016, -0.02821665, -0.22720997, 0.11576339, 0.12183234, -0.059500802) * g_27; + result += mat4(-0.12097631, 0.059060633, 0.007883754, -0.19396073, 0.013222453, 0.19267121, 0.04800107, -0.27254722, -0.2901846, 0.21499753, 0.16564848, 0.2441496, -0.14540148, -0.115534924, 0.072310135, -0.085634045) * g_28; + result += mat4(-0.01119188, 0.09056528, 0.08672538, 0.30530053, 0.040546756, -0.014442347, 0.03800687, 0.08838292, 0.27894083, -0.15870668, -0.088538125, -0.14179976, -0.14808148, 0.29186696, 0.0804609, -0.12542953) * g_29; + result += vec4(-0.024944633, -0.005018115, -0.03752404, -0.02132803); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv0ups +//!BIND conv0ups1 +//!BIND conv0ups2 +//!BIND conv0ups3 +//!SAVE conv1ups +//!WIDTH conv0ups.w 4 * +//!HEIGHT conv0ups.h 4 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_4(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_5(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_6(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_7(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.020695187, 0.05179575, -0.00084568735, -0.058708318, -0.046756897, -0.051572543, 0.0075343885, 0.019189375, 0.009596094, 0.07458263, -0.0665028, 0.02477345, 0.0036938943, 0.016147994, 0.17555033, 0.063790314) * go_0(-1.0, -1.0); + result += mat4(0.047372315, -0.09212169, -0.1426403, 0.010264183, 0.110588886, 0.0059688496, 0.09531943, -0.04407747, 0.025626734, 0.042082682, 0.32421026, -0.038435984, 0.010308315, 0.06190991, -0.08102318, -0.045582976) * go_0(-1.0, 0.0); + result += mat4(0.048703067, 0.047595374, -0.05395934, -0.08620705, -0.10573035, 0.023483915, -0.03392267, 0.010127343, -0.0077816406, 0.052177433, -0.056273837, 0.037937485, 0.027907217, -0.09347315, 0.05239236, -0.026808713) * go_0(-1.0, 1.0); + result += mat4(-0.050651994, -0.02732563, -0.061340403, -0.112863585, 0.0064489683, -0.025380466, -0.052053943, -0.06545331, -0.033553123, -0.022598164, 0.04204955, 0.02323651, 0.031271514, 0.16110232, 0.38803446, -0.054479457) * go_0(0.0, -1.0); + result += mat4(0.07135817, -0.09506239, 0.16592708, -0.040242936, -0.03786691, -0.06483209, -0.09554407, 0.07840277, -0.020200757, 0.02384577, -0.013126495, -0.027625585, -0.075230405, -0.21014008, -0.03909564, -0.09478117) * go_0(0.0, 0.0); + result += mat4(0.07711308, 0.10181707, 0.018250873, 0.077304795, 0.01642751, 0.03228944, 0.021899378, 0.010245774, -0.036227338, -0.001539605, -0.07523362, 0.14429028, -0.07359782, 0.13070822, -0.02560883, -0.022874065) * go_0(0.0, 1.0); + result += mat4(-0.04219415, -0.011289797, -0.039906166, -0.089074284, 0.017567573, 0.062162995, 0.096065514, 0.05775087, -0.0102344435, 0.006881742, -0.08669115, -0.032948222, 0.08963109, -0.08284012, 0.066751294, 0.1828466) * go_0(1.0, -1.0); + result += mat4(0.03411321, 0.02054857, -0.021424247, -0.02265521, 0.06751186, 0.046636272, 0.13100775, -0.048767522, 0.05850365, 0.027136968, -0.004158686, 0.111822814, -0.06596076, -0.07753948, 0.041529708, 0.09940788) * go_0(1.0, 0.0); + result += mat4(-0.0028192403, 0.016853701, -0.03016301, -0.020235358, -0.05034052, -0.013616077, -0.021349836, -0.04864314, -0.0414048, -0.14153421, -0.05658087, -0.056029163, 0.13383056, -0.027531937, -0.15566418, -0.2105671) * go_0(1.0, 1.0); + result += mat4(0.04016501, 0.10559333, 0.008267663, 0.06649002, 0.042583052, 0.008021726, -0.051475175, -0.027462183, 0.03987831, 0.030259034, -0.09433753, 0.059861444, -0.069253184, 0.07167569, -0.029389774, 0.042345088) * go_1(-1.0, -1.0); + result += mat4(-0.36324787, -0.03084712, 0.31618732, 0.12707345, -0.04294511, -0.025086822, -0.004116296, -0.07539075, -0.011589254, -0.024815882, -0.0939434, 0.015169785, 0.0101918485, 0.0453247, 0.1548971, -0.06455103) * go_1(-1.0, 0.0); + result += mat4(0.119113825, -0.049629897, -0.12882084, -0.13687927, 0.032445643, 0.03346595, 0.077079095, 0.032214127, 0.008172492, -0.04357317, -0.0043878276, 0.010722748, 0.03210129, 0.035465643, -0.009428875, 0.08321818) * go_1(-1.0, 1.0); + result += mat4(-0.095653616, -0.10428462, -0.007750534, -0.061840005, 0.0069368114, 0.09166805, 0.14013365, 0.09337012, -0.12483825, 0.16957195, -0.20122507, 0.045088075, 0.03606835, -0.022486823, -0.08902174, 0.068695016) * go_1(0.0, -1.0); + result += mat4(-0.010500626, -0.034527376, 0.005386829, 0.22918703, -0.10108878, 0.09873839, 0.15702549, -0.09598402, -0.039832648, -0.09612538, 0.083574384, 0.1690233, 8.269891e-05, -0.068035394, 0.0534864, -0.0566001) * go_1(0.0, 0.0); + result += mat4(0.071872145, -0.02851451, 0.033841643, 0.10728748, 0.035649426, -0.02319551, -0.04673053, -0.028753035, 0.059749573, 0.07446472, -0.1269341, 0.09893258, -0.0225744, 0.016244017, 0.18417723, 0.09029894) * go_1(0.0, 1.0); + result += mat4(0.044112977, -0.049037457, 0.064683616, -0.06556883, -0.031397637, 0.017776502, -0.05355212, -0.030592304, 0.16831197, -0.05688798, -0.12060968, -0.08913267, -0.03228456, 0.0952953, 0.008387226, 0.027184563) * go_1(1.0, -1.0); + result += mat4(0.080981106, -0.028719943, 0.14178857, -0.028141385, 0.04193971, -0.051364426, 0.06132975, 0.076663375, -0.13706256, -0.15490277, -0.13380666, 0.049959663, 0.100946076, 0.10222464, -0.010470593, -0.024446227) * go_1(1.0, 0.0); + result += mat4(0.02006824, 0.035393536, 0.00029921162, -0.07853538, -0.057912953, 0.0043116766, 0.06834718, -0.006364991, 0.1331031, 0.092478134, -0.105553046, -0.07090539, -0.02150639, -0.12197273, -0.03806585, -0.010030255) * go_1(1.0, 1.0); + result += mat4(-0.010309926, 0.013791634, -0.034627564, 0.080061935, 0.019168656, 0.018056372, -0.12263221, 0.011914942, -0.108048424, -0.0077957036, 0.054784223, -0.03022557, 0.090339676, -0.11052819, 0.025375597, -0.008405164) * go_2(-1.0, -1.0); + result += mat4(-0.08640119, 0.0116826715, 0.096712016, -0.009556215, -0.050392166, -0.015750423, 0.024098802, -0.030559674, -0.008687317, 0.086569674, -0.010534909, 0.14062569, -0.04092292, 0.059992965, 0.10706941, -0.071255006) * go_2(-1.0, 0.0); + result += mat4(0.055439454, -0.08304736, -0.05772018, 0.0002228898, 0.049766537, -0.03562336, -0.062019385, -0.008590997, 0.0714339, 0.060822833, 0.05533639, -0.018964287, 0.04474348, 0.030456604, -0.10162788, 0.023526968) * go_2(-1.0, 1.0); + result += mat4(0.036144115, -0.055477962, 0.25543195, 0.018981127, -0.0029639043, 0.006001523, -0.16257423, -0.005548247, 0.27908665, -0.017829081, 0.20361087, 0.069451064, 0.0425165, 0.04671855, 0.21115932, 0.115634814) * go_2(0.0, -1.0); + result += mat4(0.26696295, 0.12878756, -0.10729505, -0.11586441, -0.11449649, 0.036481492, -0.013030123, 0.03475486, -0.112476334, 0.078693345, 0.06723839, -0.101722986, -0.3230926, 0.003929733, 0.0382842, -0.05160655) * go_2(0.0, 0.0); + result += mat4(-0.19706994, -0.06081748, -0.083103545, 0.0641547, -0.020251034, 0.012799021, -0.02441986, 0.021752145, -0.18157272, -0.12557366, 0.12760532, 0.16373396, -0.015558221, -0.16272856, -0.087740906, -0.0012695452) * go_2(0.0, 1.0); + result += mat4(0.015716445, -0.0065595773, -0.12268667, 0.054408874, 0.04874326, 0.028534992, 0.0678798, -0.0694589, -0.053737182, -0.04219611, -0.03308467, 0.024086336, -0.01133326, -0.019263305, -0.10631709, 0.014409722) * go_2(1.0, -1.0); + result += mat4(0.010652, -0.102014825, -0.31128922, -0.1404369, 0.008963117, -0.06387716, 0.09456378, 0.002045589, 0.0120676765, 0.03954822, 0.08071245, 0.009293571, 0.022331964, 0.09042008, -0.0895777, -0.082019664) * go_2(1.0, 0.0); + result += mat4(-0.028971305, 0.0018671599, 0.057754505, 0.17587171, -0.041128, 0.01627396, -0.08374196, 0.0022898368, 0.1260272, -0.06357269, -0.071449675, 0.080769256, 0.14892668, 0.08178534, 0.028882774, -0.08646687) * go_2(1.0, 1.0); + result += mat4(-0.020794544, 0.040059574, 0.017822137, -0.003598029, -0.06560943, -0.044181604, 0.019038988, 0.01135562, -0.04396594, 0.073165074, 0.0733299, 0.0027922648, 0.043707132, 0.005099016, -0.11030712, -0.08067086) * go_3(-1.0, -1.0); + result += mat4(-0.018612824, -0.03987747, -0.10851105, 0.026845753, 0.0143560935, 0.10487563, -0.1329422, 0.062191565, 0.042507634, 0.013565981, 0.05381924, -0.018621631, 0.07241348, 0.07312401, 0.162055, 0.072888635) * go_3(-1.0, 0.0); + result += mat4(-0.042371858, -0.06279698, -0.047954734, -0.04135068, -0.032758582, -0.05770967, 0.095052056, 0.049033426, -0.01945755, -0.008561963, 0.04326833, 0.030072358, -0.057644114, 0.15499905, -0.060267057, 0.062550865) * go_3(-1.0, 1.0); + result += mat4(-0.039586462, 0.020706546, 0.21365152, -0.044521715, -0.020410553, 1.3661776e-05, 0.049052373, 0.11614336, 0.00017193238, -0.07115667, -0.06459373, -0.0073429234, -0.036036134, -0.024385229, -0.075657554, -0.05757767) * go_3(0.0, -1.0); + result += mat4(0.041886285, 0.033068173, 0.06381855, 0.115213275, 0.069466114, -0.04658492, -0.17437598, 0.016479885, 0.041463092, -0.026836906, 0.09679532, -0.11155522, 0.03152283, 0.12496124, -0.1317453, 0.17767543) * go_3(0.0, 0.0); + result += mat4(0.024161939, 0.020480702, 0.10460235, 0.01299023, 0.038210697, -0.023922926, 0.006196876, -0.11040656, -0.048561808, 0.031339034, -0.0034977624, -0.01171306, -0.055257812, -0.11679662, -0.1292118, -0.24881968) * go_3(0.0, 1.0); + result += mat4(-0.034799732, -0.03295996, -0.22622366, -0.059414957, -0.07564334, 0.06638484, 0.08077548, 0.06760112, -0.03851018, 0.06950001, -0.061534263, -0.010881979, -0.15067118, 0.0624694, -0.2033063, -0.058800664) * go_3(1.0, -1.0); + result += mat4(0.065365165, 0.06403614, 0.19352676, 0.13365605, 0.07580563, -0.014021939, -0.05731098, 0.036906917, 0.02100828, 0.017755862, 0.041521445, -0.11368253, 0.06070961, -0.22881168, 0.0035648798, 0.075051494) * go_3(1.0, 0.0); + result += mat4(-0.056965712, -0.02173571, 0.084591195, -0.021413585, -0.068680905, 0.023532664, -0.09906315, 0.0630235, 0.04045921, 0.014031516, 0.02268613, 0.011994433, 0.048502963, 0.037335977, -0.19570793, 0.14572982) * go_3(1.0, 1.0); + result += mat4(0.0261724, 0.030047135, -0.09042618, 0.033079226, 0.07980195, 0.036434878, 0.17216438, 0.058141544, -0.043239925, -0.05976093, -0.04999952, -0.020736014, -0.0106217805, -0.012736464, 0.008851435, -0.056872174) * go_4(-1.0, -1.0); + result += mat4(-0.082696624, 0.054985303, -0.024339378, -0.0543204, -0.17700307, 0.11250488, -0.031559974, 0.022210045, 0.09618239, 0.01580275, -0.03690757, -0.047982343, 0.08703919, 0.021051923, -0.047632344, 0.0045034164) * go_4(-1.0, 0.0); + result += mat4(-0.03290176, -0.0364079, 0.019448102, 0.049773544, 0.07766832, -0.07508403, 0.0134854335, -0.00643178, 0.015591646, -0.0043992195, 0.1354414, 0.038126215, -0.0032720412, 0.018891534, -0.019052628, -0.032509252) * go_4(-1.0, 1.0); + result += mat4(-0.14167961, 0.12479212, -0.12158335, 0.016470937, 0.03488672, 0.045030095, -0.2268721, 0.16147503, 0.09902494, -0.023874994, 0.19846949, 0.017371945, -0.0801073, 0.055975642, 0.068055116, 0.019367244) * go_4(0.0, -1.0); + result += mat4(0.06765082, -0.21494555, 0.099107146, 0.016591892, -0.02380657, -0.002625899, 0.25159433, -0.034043565, -0.052320056, -0.0011840623, 0.08531329, 0.00049678114, 0.04983457, 0.00088371156, -0.13286956, 0.00064268603) * go_4(0.0, 0.0); + result += mat4(-0.05795321, 0.22021243, 0.0076905126, 0.06835479, -0.051106546, 0.024030196, 0.06576595, 0.15353538, 0.009099127, 0.085880324, 0.0011794734, -0.096212335, 0.04021018, -0.113805994, 0.139067, -0.0110617215) * go_4(0.0, 1.0); + result += mat4(0.079940975, 0.01368856, 0.16861776, 0.08192191, -0.122989796, -0.099328294, 0.049420018, -0.09718617, -0.05760635, 0.017678939, -0.087738335, -0.075534955, 0.010387554, -0.028321257, 0.1314425, 0.0006286904) * go_4(1.0, -1.0); + result += mat4(0.01243246, 0.05316387, -0.019017072, 0.039417446, 0.06917462, 0.030646449, 0.037567277, 0.186223, -0.019127764, 0.04848654, 0.17375444, 0.17762296, -0.06592402, -0.04435415, -0.04296899, -0.11317639) * go_4(1.0, 0.0); + result += mat4(-0.03502325, -0.086596005, 0.054397397, 0.020352576, 0.048965316, 0.15153474, 0.1431249, 0.052301593, -0.008229829, -0.046441074, 0.029613024, -0.042361066, -0.022458816, -0.030389478, 0.106790364, 0.16180433) * go_4(1.0, 1.0); + result += mat4(0.045190386, -0.028396606, 0.03988003, 0.018620977, -0.08892243, 0.051916, 0.02764735, -0.031002073, -0.024089592, -0.07468457, 0.070725314, -0.032896645, 0.0072905435, 0.033070587, 0.012611254, 0.0015103485) * go_5(-1.0, -1.0); + result += mat4(-0.11496197, -0.034812376, -0.12765816, -0.073968515, 0.1103958, -0.015156485, -0.043987215, 0.06353695, 0.060253356, -0.09172886, 0.051112115, 0.04185245, -0.010958595, -0.009855241, 0.07016091, 0.08352796) * go_5(-1.0, 0.0); + result += mat4(-0.0018355614, 0.009696581, -0.014894175, 0.10311216, -0.0023905442, -0.031233516, -0.14643733, -0.13987964, -0.03829992, 0.09283117, 0.020682491, -0.0038340855, 0.018485101, -0.08282137, 0.06482714, -0.04316507) * go_5(-1.0, 1.0); + result += mat4(0.110480644, 0.0354597, 0.17428526, 0.13770753, 0.06420499, 0.0076466007, -0.02015196, -0.07055463, 0.03758145, -0.11852888, -0.01557475, -0.050508235, -0.0027972506, -0.016254924, -0.0875164, -0.05621017) * go_5(0.0, -1.0); + result += mat4(0.05704481, 0.07027665, 0.07560543, -0.27404872, -0.1203241, -0.13563003, 0.31092855, 0.23089512, 0.081106246, 0.14123824, 0.09980848, -0.1233403, 0.136044, 0.053615157, 0.124605425, -0.14057036) * go_5(0.0, 0.0); + result += mat4(-0.03378077, -0.07225837, 0.12690358, -0.10464525, -0.0295789, 0.06703109, 0.07382307, -0.026333801, -0.09037467, -0.07251056, -0.05310559, 0.000101977144, -0.10449609, 0.1944587, 0.13968393, 0.026316661) * go_5(0.0, 1.0); + result += mat4(-0.01433047, 0.009148719, -0.111054346, 0.020732088, 0.042477377, -0.043188296, 0.098809525, 0.073676586, -0.0322328, 0.01969649, 0.010843924, 0.12852491, -0.019762363, -0.058187466, -0.09948641, -0.041471776) * go_5(1.0, -1.0); + result += mat4(-0.046551157, 0.007494576, 0.020390457, 0.039238412, 0.034302976, 0.06468725, -0.08491083, -0.022852294, -0.03540986, 0.15482925, -0.05325463, -0.08798036, -0.0019466237, -0.09249625, -0.026100513, 0.10110193) * go_5(1.0, 0.0); + result += mat4(-0.027061401, -0.035921685, 0.03197978, 0.08998862, 0.021752719, -0.07339133, 0.010681594, -0.0795563, -0.031203764, -0.048886176, 0.1505545, 0.05413737, -0.2009508, -0.09878104, 0.12233396, 0.12264711) * go_5(1.0, 1.0); + result += mat4(0.000201578, -0.020336568, 0.00035553024, -0.04552163, 0.045114692, -0.101587355, 0.04016851, 0.019786127, 0.081738554, -0.035416037, 0.015109221, -0.013051524, 0.015240257, -0.014836099, -0.01573197, -0.067426234) * go_6(-1.0, -1.0); + result += mat4(0.06572358, -0.0053061, 0.05557546, -0.0066949055, 0.07563655, 0.062391594, -0.03726393, 0.0052256803, 0.021015963, -0.020943565, 0.17579497, -0.016357217, 0.113310464, 0.08199825, -0.006430871, 0.008816601) * go_6(-1.0, 0.0); + result += mat4(-0.005421809, 0.04227301, -0.16125767, -0.06964377, -0.09038185, 0.024234684, -0.022720145, 0.00079508655, 0.008849058, 0.013611232, 0.043701556, -0.048654094, 0.08114624, 0.0073766154, -0.06040684, -0.020945968) * go_6(-1.0, 1.0); + result += mat4(0.015536741, 0.03772623, 0.14326756, -0.0015041671, -0.04507155, 0.015579776, 0.2857906, -0.11391861, -0.117170595, 0.047959678, -0.06387855, -0.0055391947, 0.060498606, 0.009427265, 0.50844795, -0.11058385) * go_6(0.0, -1.0); + result += mat4(-0.051472906, 0.009261859, -0.15015996, 0.12943685, 0.19357206, -0.116032414, -0.28050247, -0.090211906, 0.0010450644, 0.044784248, -0.00023668195, 0.11839819, -0.22070691, 0.22376983, 0.045054942, 0.047100548) * go_6(0.0, 0.0); + result += mat4(0.04065783, -0.028647335, 0.083073996, 0.06967863, 0.023751903, 0.14010519, -0.15699695, -0.07796914, 0.018112006, -0.048332486, 0.064069994, 0.003143784, 0.0074339295, 0.14113344, 0.059680164, 0.008873948) * go_6(0.0, 1.0); + result += mat4(-0.05741473, -0.027159097, 0.045549147, 0.0708231, -0.15182017, -0.077091426, 0.040370047, 0.058241665, -0.05299617, -0.028760802, -0.0076170033, -0.11069676, 0.08858413, -0.006301153, 0.04273877, -0.05631213) * go_6(1.0, -1.0); + result += mat4(0.025762111, 0.062415194, -0.14223552, 0.003412124, 0.05552051, 0.18844947, -0.22042769, 0.015809692, 0.090370014, -0.006739683, -0.060091887, 0.07976979, -0.0058506215, -0.16953866, 0.024433328, 0.05852742) * go_6(1.0, 0.0); + result += mat4(0.0316892, 0.09573295, 0.08312811, 0.010179943, 0.037315205, -0.065285094, -0.0012986633, -0.05224675, -0.0047330237, 0.08265473, 0.09477729, -0.06736327, -0.06450191, -0.08257717, -0.057862822, 0.08835963) * go_6(1.0, 1.0); + result += mat4(0.0024440633, -0.036616765, -0.033401538, 0.004977876, 0.036649343, 0.08101561, 0.111079, -0.0026892924, 0.018146338, -0.024757951, -0.049987808, 0.088031135, -0.059743408, -0.0063467845, 0.04389662, 0.058518223) * go_7(-1.0, -1.0); + result += mat4(-0.015003317, -0.025828838, 0.04108641, -0.060053583, -0.08861021, 0.015026266, -0.06384911, -0.049570337, -0.11708947, 0.0040502516, -0.29292357, -0.13572334, -0.048173945, -0.035088543, 0.0645735, 0.003977293) * go_7(-1.0, 0.0); + result += mat4(0.023741405, 0.04877632, -0.09316636, -0.023240283, 0.017736096, -0.0037682957, 0.12203123, 0.023406139, 0.0039402544, -0.021817943, 0.10562721, 0.0065815113, 0.0241319, 0.09085425, 0.06748136, 0.035957564) * go_7(-1.0, 1.0); + result += mat4(-0.040901843, 0.14610243, -0.033210922, -0.047225397, 0.014037701, -0.056691576, 0.010777748, -0.07679006, -0.23969224, 0.14371933, 0.010285852, -0.098876506, 0.12892431, 0.078993894, -0.014415507, -0.01773652) * go_7(0.0, -1.0); + result += mat4(0.09569853, 0.08022542, 0.17847797, 0.05742365, -0.028737325, -0.06577205, 0.0099042505, -0.1788678, -0.024437329, -0.00854858, 0.064116485, 0.08779381, 0.038688138, -0.11070709, -0.061672393, -0.07259389) * go_7(0.0, 0.0); + result += mat4(-0.061463468, -0.041322544, -0.049147107, -0.056226347, 0.07580429, -0.09154353, 0.1392037, 0.1725724, 0.0846089, -0.09506338, 0.0014113535, -0.043457717, 0.02086055, 0.016039053, 0.0070436527, 0.010863293) * go_7(0.0, 1.0); + result += mat4(0.040287588, 0.01495664, -0.027837565, -0.049098965, 0.030421665, 0.050820872, -0.034790598, 0.081854686, -0.060803648, -0.10076397, 0.10959196, 0.08770263, 0.02639544, 0.017585248, 0.03741672, 0.098596066) * go_7(1.0, -1.0); + result += mat4(-0.11272804, -0.07179105, 0.29052478, 0.16043298, -0.004745162, -0.02539786, 0.03064631, -0.11615134, 0.1467622, -0.30389008, 0.37392983, 0.081603326, -0.081118405, 0.049201585, 0.09506965, -0.07426272) * go_7(1.0, 0.0); + result += mat4(0.0021397786, -0.043339223, -0.024574393, 0.004753203, 0.008854377, 0.114565484, -0.10472323, -0.054310642, -0.1363216, 0.26929548, -0.034043808, 0.0016566974, -0.024689924, 0.047800675, -0.00087367673, -0.010073392) * go_7(1.0, 1.0); + result += vec4(-0.0092416825, -0.017586693, -0.056248806, 0.024289904); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv0ups +//!BIND conv0ups1 +//!BIND conv0ups2 +//!BIND conv0ups3 +//!SAVE conv1ups1 +//!WIDTH conv0ups.w 4 * +//!HEIGHT conv0ups.h 4 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_4(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_5(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_6(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_7(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.036600452, -0.10049528, 0.0425083, 0.00748036, -0.07228494, 0.092974216, -0.08875746, 0.0038487716, -0.014452269, 0.022789069, 0.03057275, 0.08749693, -0.034161948, 0.016061379, -0.123270914, -0.14571433) * go_0(-1.0, -1.0); + result += mat4(0.03586051, 0.117893025, 0.019521732, -0.086191945, 0.09005548, 0.08917978, -0.038505673, 0.027726982, 0.047773708, 0.07542637, -0.09766821, -0.05601306, 0.016462456, -0.031262327, 0.29434896, -0.031188589) * go_0(-1.0, 0.0); + result += mat4(-0.0010024331, -0.13936394, 0.09529403, 0.038214546, -0.004169407, -0.030122723, 0.06738456, 0.037226625, 0.016386302, -0.043177616, 0.0067897406, -0.0417514, -0.18339635, -0.0851196, 0.122963585, -0.04226655) * go_0(-1.0, 1.0); + result += mat4(0.120718524, -0.07883002, 0.07970128, 0.026766716, 0.038295228, -0.012892055, -0.0853028, -0.06261667, 0.06648932, 0.077419154, -0.083746694, -0.024860187, -0.041543417, -0.078661576, 0.105570786, 0.17292567) * go_0(0.0, -1.0); + result += mat4(0.06017667, 0.10275487, -0.17618456, -0.090398066, -0.11300483, 0.010944091, 0.059611183, -0.053765967, -0.08456634, -0.26681066, 0.120561525, 0.0389813, -0.3168673, -0.07365836, 0.19187033, 0.3629531) * go_0(0.0, 0.0); + result += mat4(-0.047863573, -0.16097455, 0.058843378, 0.024493651, -0.050211128, 0.020149479, 0.08273668, -0.03951675, -0.051696103, -0.015382585, 0.012727583, 0.062049612, 0.023429222, 0.111244336, -0.24765679, 0.047255322) * go_0(0.0, 1.0); + result += mat4(-0.043454263, -0.056187622, 0.08826043, 0.03379153, 0.0328122, 0.09490295, -0.106024, 0.0513934, 0.010730174, -0.021311862, 0.0009606973, -0.048898865, -0.05885993, 0.13555479, -0.029676508, 0.15599397) * go_0(1.0, -1.0); + result += mat4(0.014284165, 0.0022697337, 0.0423487, -0.043128587, -0.066065155, -0.14259978, 0.036370326, 0.11544268, 0.0011783034, 0.014464844, -0.0077034896, 0.07947936, 0.0847673, -0.027169127, 0.060862433, 0.051962093) * go_0(1.0, 0.0); + result += mat4(-0.06810183, 0.0038956213, 0.02663297, 0.07350188, 0.028407782, -0.08836482, 0.120757915, 0.0033882086, 0.025512185, 0.13103734, -0.09310468, -0.09251054, 0.06252439, 0.101230994, -0.050645854, -0.11273561) * go_0(1.0, 1.0); + result += mat4(0.18605615, -0.018943008, 0.12841246, -0.048895158, -0.087834686, -0.06213869, 0.020271972, 0.01735206, -0.028159512, -0.0012055358, -0.031407196, 0.01459528, 0.055683896, 0.03376991, 0.074921526, 0.08031476) * go_1(-1.0, -1.0); + result += mat4(0.16044307, -0.04908117, 0.16997416, -0.042656355, 0.026869124, -0.015336793, 0.06704625, 0.005058682, 0.02062564, 0.030037567, 0.015916575, -0.013523192, 0.012619856, 0.074030444, 0.02436604, 0.003554498) * go_1(-1.0, 0.0); + result += mat4(-0.05024195, 0.06433591, 0.02808383, 0.06368531, 0.008005133, -0.02590703, -0.022208184, 0.038581703, -0.007899184, -0.076488025, 0.00072744075, 0.061727125, 0.11445254, -0.020653702, -0.010182034, 0.028005669) * go_1(-1.0, 1.0); + result += mat4(-0.08974687, 0.10983013, -0.05198625, 0.025618017, 0.04013525, 0.08194611, 0.07054715, -0.039644957, -0.0019942275, 0.15640324, 0.079898156, -0.050505124, 0.018647147, 0.1864857, -0.10004012, -0.1785983) * go_1(0.0, -1.0); + result += mat4(-0.12734273, -0.1984448, 0.047983695, -0.029723175, -0.019461578, 0.011290827, 0.05483677, -0.08040967, 0.010945984, 0.20160717, 0.06651317, -0.026364818, -0.19147083, 0.022746865, -0.005397772, -0.18815117) * go_1(0.0, 0.0); + result += mat4(0.056349758, -0.027665544, -0.025720505, 0.06478612, 0.028723124, -0.040507562, 0.046986, -0.07457037, -0.011984053, 0.08888314, 0.14762667, 0.10618448, -0.013883168, -0.015380026, 0.022096027, -0.13794257) * go_1(0.0, 1.0); + result += mat4(-0.051857505, 0.0046023214, 0.048188727, 0.018825505, -0.027216887, -0.034863137, -0.05376821, -0.03810819, 0.05989397, 0.03594429, -0.23096226, 0.15341154, 0.08981187, -0.05070559, 0.026243754, -0.04263998) * go_1(1.0, -1.0); + result += mat4(-0.009617233, 0.03463696, -0.02096688, 0.030073844, 0.044995844, 0.07873687, -0.042068962, 0.13536318, -0.030567715, -0.05154325, 0.07210971, -0.17742214, 0.053942777, 0.0127787, 0.068606384, 0.0650419) * go_1(1.0, 0.0); + result += mat4(0.025862409, 0.025395997, 0.05269671, 0.05798525, -0.042442568, 0.0445204, -0.064225905, -0.055657025, 0.11636964, -0.04205307, -0.014663356, 0.010643147, 0.082133, -0.023850026, 0.10308432, 0.107985206) * go_1(1.0, 1.0); + result += mat4(0.11726699, 0.05656771, 0.02469043, -0.13420433, 0.038069904, -0.008463304, 0.035647616, 0.07362852, 0.14594945, 0.09443728, -0.090279855, -0.0491621, 0.025128877, -0.12093358, 0.056935582, 0.020768635) * go_2(-1.0, -1.0); + result += mat4(-0.03540259, -0.037914194, -0.21112189, -0.019102415, -0.009190789, -0.017674621, -0.0076943026, -0.068069465, 0.07027692, -0.023830496, -0.19833852, 0.043303248, -0.09002839, 0.062405612, 0.034014236, 0.015062283) * go_2(-1.0, 0.0); + result += mat4(-0.01055108, -0.078035474, 0.15064569, -0.043817606, 0.03865331, 0.06653527, -0.08737055, 0.07359416, 0.034335107, 0.094619036, 0.15430231, 0.081489205, 0.11551119, -0.13892402, 0.10169955, -0.016521193) * go_2(-1.0, 1.0); + result += mat4(-0.21723948, -0.003718774, 0.0036089579, 0.2417116, 0.05871629, 0.08170726, -0.018392453, -0.09107411, -0.0054566264, -0.11625159, -0.028020184, -0.04901969, -0.06090618, 0.010701764, -0.054772582, 0.015806887) * go_2(0.0, -1.0); + result += mat4(-0.12086319, 0.06057755, 0.4838376, 0.026492605, 0.0011703236, 0.016707094, 0.14285243, -0.019033382, -0.10223409, -0.25914297, 0.07972699, 0.08980557, 0.0018122899, -0.12970547, 0.28545263, 0.15324087) * go_2(0.0, 0.0); + result += mat4(0.095036976, 0.162094, -0.13472636, 0.022491721, 0.0815172, 0.07862179, 0.051775135, -0.102338746, 0.050679415, -0.002904758, -0.06392857, -0.124154866, -0.031455033, 0.044263933, -0.01326217, -0.08059905) * go_2(0.0, 1.0); + result += mat4(-0.017460492, 0.12181631, -0.05040324, 0.08211638, -0.07552046, 0.061242603, -0.06086253, 0.20668316, 0.13807769, 0.056059014, -0.05011972, -0.05253501, -0.012529453, -0.036754012, 0.14976881, 0.014519357) * go_2(1.0, -1.0); + result += mat4(0.08175377, 0.03418494, -0.07925977, 0.01547301, -0.055616055, -0.0768169, 0.1390287, -0.020122616, -0.08055283, -0.08153747, -0.13700585, 0.09619712, 0.05064319, -0.010092189, -0.0375194, 0.08658357) * go_2(1.0, 0.0); + result += mat4(0.073422946, 0.0146288825, -0.018180208, -0.13258615, -0.039849028, -0.043496124, -0.10103034, 0.026819391, 0.10169963, -0.0018588677, 0.038265944, 0.120759994, 0.004948789, 0.05993842, -0.04388326, 0.08129302) * go_2(1.0, 1.0); + result += mat4(0.081689045, 0.014836045, 0.05355978, -0.01353243, 0.107137255, 0.064938255, 0.038997065, 0.07195731, 0.016222289, -0.078091234, 0.07403487, 0.028206307, 0.20964447, 0.1212519, -0.11971038, -0.061158486) * go_3(-1.0, -1.0); + result += mat4(0.078742854, 0.13448513, -0.13717398, -0.034942567, 0.00084557495, -0.12339975, 0.14178696, 0.08150612, -0.03697507, 0.066154145, 0.13886937, -0.010311026, -0.24136373, -0.13241349, 0.24087813, 0.08533747) * go_3(-1.0, 0.0); + result += mat4(0.03430129, 0.0037780532, -0.007673756, 0.020130971, -0.0044403607, -0.07021513, 0.10380787, 0.14933755, 0.041128885, -0.03377426, -0.049867447, 0.009597504, 0.16559608, 0.11873942, -0.13425362, -0.20407131) * go_3(-1.0, 1.0); + result += mat4(-0.036280643, -0.06241548, 0.06455707, 0.049787894, -0.034338452, -0.09344071, 0.03835458, -0.006981486, -0.14018786, -0.011602153, 0.031711817, 0.14739467, -0.086071335, -0.02941477, -0.1331472, -0.1407458) * go_3(0.0, -1.0); + result += mat4(-0.363801, -0.3426056, 0.43446818, 0.14184493, -0.043009415, 0.12158466, -0.00069684035, 0.016873702, 0.1945484, -0.012431146, -0.011880592, 0.05318626, 0.009308447, -0.03746046, 0.008252808, 0.19175647) * go_3(0.0, 0.0); + result += mat4(0.028470002, 0.046196483, -0.019992633, -0.022190072, -0.02065911, 0.0012663519, 0.07120167, -0.044254795, -0.10193641, 0.030516576, 0.02787046, -0.04924085, -0.049268037, -0.07700933, -0.07501593, 0.024738712) * go_3(0.0, 1.0); + result += mat4(0.030772889, 0.085558966, 0.010656247, -0.052993905, 0.092419, 0.011421665, -0.010418454, 0.11450772, 0.05909975, 0.04161958, -0.057470143, -0.030408699, 0.034243915, 0.018652268, 0.037665583, -0.10579696) * go_3(1.0, -1.0); + result += mat4(0.033843916, -0.052055147, -0.0061939596, 0.14933237, -0.021384299, -0.11220086, 0.16817182, 0.07226995, -0.0019460522, 0.037093364, 0.006299001, -0.012791559, 0.07793023, 0.016396904, -0.17646463, 0.03107925) * go_3(1.0, 0.0); + result += mat4(-0.079229996, -0.08031799, 0.074023575, 0.094321184, 0.107194535, 0.002679795, 0.01696248, 0.022019532, -0.060462113, -0.12410458, 0.09164494, 0.04465332, -0.036993235, -0.04089986, 0.07887512, 0.03705818) * go_3(1.0, 1.0); + result += mat4(0.023879867, 0.029037073, 0.031775165, -0.012534231, -0.061297957, -0.12414688, -0.0061589857, 0.09904923, -0.015112107, 0.0025069374, -0.05153491, -0.06716497, -0.049514554, -0.035703696, 0.04182817, 0.06708679) * go_4(-1.0, -1.0); + result += mat4(-0.02001713, -0.14557798, 0.032613203, 0.20243393, -0.013130612, -0.1395011, 0.03946799, -0.07323916, 0.07356177, 0.046725225, 0.05240954, -0.025315452, -0.06705972, 0.010152784, 0.005582486, -0.010632767) * go_4(-1.0, 0.0); + result += mat4(0.01107158, 0.14361717, -0.01027669, -0.06977661, -0.015506498, -0.08009711, -0.049369916, 0.013256896, 0.09607297, 0.047628637, -0.004883173, -0.030504778, -0.021422993, 0.06514191, -0.057140954, -0.019981224) * go_4(-1.0, 1.0); + result += mat4(0.047159072, 0.034381762, 0.14981769, -0.043645702, -0.124827474, 0.012525535, -0.0054960474, 0.1405509, 0.074576266, -0.021097016, 0.018321652, -0.056906573, 0.06499063, -0.0019109225, 0.08374337, -0.010492324) * go_4(0.0, -1.0); + result += mat4(0.08373692, 0.15187778, -0.27014562, -0.17400904, -0.049838763, -0.22245635, 0.00080737704, 0.024572477, -0.36345053, 0.02694741, 0.057404008, 0.18956926, 0.26063764, 0.0007533811, -0.04845999, -0.10193579) * go_4(0.0, 0.0); + result += mat4(-0.15060706, -0.17832954, 0.22891277, 0.082172275, 0.25026387, 0.10119867, -0.023256555, -0.025888028, -0.009437122, -0.063439816, 0.15555051, -0.050157774, 0.094762266, 0.03019711, -0.11379254, 0.018478116) * go_4(0.0, 1.0); + result += mat4(-0.12000546, -0.022537604, 0.07280972, 0.16499762, 0.008056701, 0.066467926, -0.06497226, -0.15862136, 0.058946434, -0.0063008643, 0.041846216, -0.061596587, -0.13342406, -0.112567835, 0.06944396, 0.056088146) * go_4(1.0, -1.0); + result += mat4(-0.030962473, -0.18805887, 0.2126654, -0.0027007672, -0.00648651, 0.079722315, -0.1538599, -0.07296181, -0.036658805, -0.09059722, 0.05471986, 0.08511789, 0.0007401954, 0.16351995, 0.05114691, -0.14328448) * go_4(1.0, 0.0); + result += mat4(0.04927504, 0.041177347, -0.02346726, 0.024012934, -0.317856, -0.2841823, 0.19005524, 0.15457007, 0.087196484, 0.08966383, -0.13495699, -0.022624519, -0.062964186, -0.026302189, -0.030058028, 0.05569484) * go_4(1.0, 1.0); + result += mat4(-0.21256535, -0.1256674, 0.04386876, 0.02686491, 0.07546727, 0.07505862, 0.020523047, -0.0647109, -0.0045183306, -0.06722965, -0.10788707, 0.045738406, -0.07110149, 0.08297262, -0.0027526245, -0.11636714) * go_5(-1.0, -1.0); + result += mat4(-0.104496345, -0.07810094, 0.013820034, 0.047616083, 0.061721217, -0.05070667, -0.0873486, 0.08213846, 0.005749702, 0.019383933, 0.008758534, -0.041487392, -0.04724564, -0.09108384, -0.11880328, 0.009947664) * go_5(-1.0, 0.0); + result += mat4(0.030759938, -0.032979824, -0.047346096, -0.013302729, -0.14408723, 0.042521305, -0.010729574, -0.053680096, 0.068864316, -0.017572708, -0.10045359, 0.0049988613, -0.0895897, 0.091285735, -0.18951705, -0.09892183) * go_5(-1.0, 1.0); + result += mat4(0.038478836, -0.081761025, -0.08195131, 0.12914582, -0.12002848, -0.110520326, -0.09566576, 0.018972868, 0.040712226, -0.05793596, -0.0919947, 0.0019073535, -0.049140133, -0.028056612, -0.08551121, 0.012700745) * go_5(0.0, -1.0); + result += mat4(0.17331201, 0.13677491, -0.04997954, 0.09988764, -0.089485645, -0.04612224, 0.13600495, -0.13690437, -0.102481514, -0.14464565, 0.12109368, 0.23495875, -0.06111496, -0.10306756, 0.034698345, 0.15709037) * go_5(0.0, 0.0); + result += mat4(-0.012643798, 0.063074, -0.058778394, -0.056396093, -0.05438093, -0.015130332, 0.03852182, 0.11763278, 0.035115402, -0.05682689, -0.12658226, -0.04988596, 0.048134044, -0.19865042, 0.109279566, 0.10423599) * go_5(0.0, 1.0); + result += mat4(0.10583719, 0.0113163935, -0.0031981077, -0.028149163, 0.045971226, 0.036225725, -0.06085606, 0.043069858, -0.08121652, -0.23354004, 0.13699675, -0.060893144, 0.05221622, 0.11881476, -0.0659965, -0.14909789) * go_5(1.0, -1.0); + result += mat4(0.040611804, -0.10602289, -0.03361772, -0.04883893, -0.028734764, 0.05173029, 0.036734596, 0.19996317, -0.0009807746, -0.0415771, 0.008758702, 0.034872107, 0.0172699, 0.08084259, -0.06105373, 0.04255928) * go_5(1.0, 0.0); + result += mat4(0.015299113, 0.051659316, -0.046948556, -0.003954264, -0.005800563, 0.021443516, 0.0071085985, 0.0038653556, -0.012855212, 0.13058828, -0.07044971, -0.12981774, -0.065569706, -0.098080546, 0.060221337, -0.02267232) * go_5(1.0, 1.0); + result += mat4(0.021925988, 0.0033903953, -0.038551815, 0.022253161, -0.08025514, 0.010705209, 0.01990159, -0.010836922, -0.100784704, -0.020371707, -0.003533104, -0.014453031, -0.09296767, 0.114152946, -0.09816377, -0.05605566) * go_6(-1.0, -1.0); + result += mat4(0.024052007, 0.0076485197, -0.014629995, 0.06683915, 0.07951316, 0.021709364, -0.037089862, -0.020869136, -0.11817369, 0.03075232, -0.03773024, -0.07258729, 0.10942977, -0.013703647, -0.0042897686, -0.04358183) * go_6(-1.0, 0.0); + result += mat4(-0.0046099517, -0.05240763, -0.015601794, 0.010184972, 0.01799307, -0.039324455, 0.05117223, -0.036190648, -0.09316509, 0.004145605, 0.11233925, -0.023034701, -0.09088562, 0.06628762, -0.01225783, -0.0012409297) * go_6(-1.0, 1.0); + result += mat4(0.032804858, -0.17500286, 0.00961667, -0.017876368, 0.028494174, 0.069435544, -0.015773311, 0.023463074, 0.0015966955, 0.13775815, 0.020481227, -0.025414297, 0.14772649, 0.12043967, -0.0628352, -0.104317315) * go_6(0.0, -1.0); + result += mat4(0.10589171, 0.010616621, -0.0555519, -0.0795588, -0.02541814, -0.061566357, -0.06662627, 0.1196147, 0.15489292, 0.034945585, -0.16369933, 0.021373538, -0.2541264, -0.44340774, 0.47674945, 0.171201) * go_6(0.0, 0.0); + result += mat4(0.028510967, 0.014371279, -0.103142746, -0.010580394, 0.0010098416, 0.0076248804, -0.07597531, -0.022805681, -0.05487249, -0.05104925, 0.05199367, 0.13347325, -0.08393004, -0.0701232, -0.08901793, -0.042123932) * go_6(0.0, 1.0); + result += mat4(-0.026462447, -0.10791574, 0.05057912, 0.036235824, -0.011467163, 0.019233258, -0.025482355, -0.15424, -0.057926964, 0.10093948, -0.01392631, -0.040162254, -0.059321795, -0.05425772, -0.05438917, -0.033259034) * go_6(1.0, -1.0); + result += mat4(0.0011889589, -0.023323996, -0.0613446, -0.115895376, 0.050403714, -0.02889743, -0.059284817, -0.07242897, -0.0028701979, 0.04654718, -0.06953315, -0.03487799, -0.05999425, 0.09813447, -0.10942578, -0.13293572) * go_6(1.0, 0.0); + result += mat4(-0.10951783, -0.082228996, 0.09871249, 0.097529456, 0.08310757, 0.03422834, 0.047492176, -0.06874066, -0.0759589, -0.0033077076, -0.0024196375, 0.023463583, -0.014742949, -0.034303434, 0.04273789, -0.0164727) * go_6(1.0, 1.0); + result += mat4(-0.08497372, 0.019795286, -0.015950322, -0.057297662, -0.0223747, -0.009376575, 0.043156173, -0.01271999, -0.07724598, -0.0540987, 0.1987636, 0.076389305, -0.094129756, -0.042982556, 0.07314102, -0.013628902) * go_7(-1.0, -1.0); + result += mat4(0.03750869, 0.07698087, -0.117014386, -0.05225745, 0.11294297, -0.031999957, 0.03704065, -0.021167262, -0.0862934, -0.06753798, 0.19105913, 0.10699714, 0.04170076, 0.072142765, -0.10197827, -0.1055865) * go_7(-1.0, 0.0); + result += mat4(-0.013107477, 0.09128649, -0.05787237, -0.049287997, -0.07878871, 0.019254869, -0.07480948, 0.07593456, 0.057818025, 0.05763952, -0.031697746, 0.0056809774, -0.01645009, -0.10795878, 0.0865629, -0.030644817) * go_7(-1.0, 1.0); + result += mat4(0.115899526, 0.055816144, -0.016174385, -0.02820764, -0.05774452, 0.01875526, -0.11483548, -0.027121585, -0.0046210997, -0.0051070275, 0.23290497, 0.19008842, 0.010742899, 0.04031036, 0.07566202, 0.11333676) * go_7(0.0, -1.0); + result += mat4(-0.12043958, -0.28603542, 0.06397322, 0.13864613, 0.21166763, 0.14297609, -0.18247512, -0.1454749, -0.11123017, 0.1410923, -0.11315098, -0.17875485, -0.043366186, 0.07890019, 0.03153579, -0.03690313) * go_7(0.0, 0.0); + result += mat4(0.066808365, 0.102260545, -0.1077725, -0.07374767, 0.04282324, -0.02484866, -0.09705394, 0.047179155, 0.03058672, -0.11111413, -0.080625035, 0.024875682, -0.043648057, 0.04860828, 0.05114606, 0.08051415) * go_7(0.0, 1.0); + result += mat4(-0.0186498, -0.050304867, 0.0034133345, -0.10127962, -0.037291683, -0.090286255, 0.081160225, 0.016121808, 0.07449416, 0.09616372, -0.11090895, -0.15756927, 0.05957192, 0.0053342422, -0.05972524, 0.07521942) * go_7(1.0, -1.0); + result += mat4(-0.03800213, 0.05256445, -0.022509284, 0.008419448, -0.08595732, 0.0037854793, -0.050306506, -0.057507675, -0.19598673, -0.063246034, -0.15284, 0.13269582, -0.025323318, 0.016622456, 0.021527806, -0.1195862) * go_7(1.0, 0.0); + result += mat4(0.008493042, 0.056067012, -0.031050796, -0.06514964, -0.06500391, -0.02649145, 0.08311761, 0.0028549077, 0.0029055455, -0.08504145, 0.19540878, 0.14506, 0.100824416, -0.025171654, -0.018510107, -0.06984087) * go_7(1.0, 1.0); + result += vec4(0.02732881, 0.021604052, -0.03920548, 0.013156768); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-4x3x3x32 +//!HOOK MAIN +//!BIND conv0ups +//!BIND conv0ups1 +//!BIND conv0ups2 +//!BIND conv0ups3 +//!SAVE conv1ups2 +//!WIDTH conv0ups.w 4 * +//!HEIGHT conv0ups.h 4 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_4(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_5(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_6(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_7(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.0338484, 0.065554306, 0.022499017, -0.07193342, 0.009319206, -0.019622665, -0.0022854384, 0.06722955, -0.037171688, 0.21049353, -0.12840205, 0.004924503, -0.025024865, 0.25844762, -0.16657548, 0.019917585) * go_0(-1.0, -1.0); + result += mat4(-0.0024739709, 0.05143312, -0.07328386, 0.04066767, 0.030474328, -0.012129753, 0.018400962, 0.029891983, 0.05170059, 0.10843976, 0.03255985, 0.032410163, -0.07313554, 0.035621487, -0.09497017, -0.04373978) * go_0(-1.0, 0.0); + result += mat4(-0.033401582, -0.040989492, 0.020176526, -0.02860895, 0.048755184, -0.11871396, -0.06562844, -0.012969062, -0.113225095, 0.20629893, -0.008754771, -0.08881375, -0.0021345627, -0.1245763, -0.079098016, -0.05463282) * go_0(-1.0, 1.0); + result += mat4(0.1397842, 0.025592009, 0.08919784, -0.0018412827, -0.09593857, -0.044012453, 0.05244065, 0.0018048901, 0.03681817, -0.05537194, 0.11957837, 0.08423482, -0.032438703, 0.013607357, 0.007749519, 0.03162995) * go_0(0.0, -1.0); + result += mat4(0.10553414, -0.049609825, 0.10316826, -0.0030610282, 0.018270468, -0.061325338, -0.114640795, 0.07834803, -0.19039996, -0.06895166, -0.28123093, -0.1568968, 0.00084810314, 0.12037387, 0.18976732, -0.012560539) * go_0(0.0, 0.0); + result += mat4(-0.029349862, -0.039899964, -0.028504632, -0.028814254, 0.019151794, 0.010422004, 0.07810853, -0.013528557, -0.023518454, -0.068328835, 0.07349284, 0.0042851837, 0.32870826, -0.26289937, 0.072471805, -0.006485071) * go_0(0.0, 1.0); + result += mat4(-0.114259824, -0.038230922, -0.0142895905, 0.02450442, -0.07750744, -0.017409299, 0.025817273, -0.08860796, 0.187305, 0.088102676, 0.045698132, -0.03222616, -0.05683522, -0.18788742, -0.09507957, 0.022035798) * go_0(1.0, -1.0); + result += mat4(0.11263524, 0.06584172, -0.02255806, -0.020872615, -0.15806857, 0.018830763, -0.14352055, 0.11724111, 0.045604244, 0.07796575, 0.027300917, 0.0031999366, -0.04194185, 0.14252312, 0.078917086, 0.036697272) * go_0(1.0, 0.0); + result += mat4(-0.052083753, 0.09808133, -0.009411908, 0.11982238, -0.040272884, 0.04083718, 0.038824633, -0.17214175, 0.11966622, -0.054194614, 0.036954165, 0.013423128, 0.0063084476, -0.12937415, -0.019893749, 0.034319002) * go_0(1.0, 1.0); + result += mat4(0.035393953, 0.14025599, 0.00991204, 0.0072391164, 0.05766178, -0.049370795, -0.12962799, 0.020646155, 0.042220477, 0.029985424, 0.057119016, 0.040771853, -6.174299e-05, 0.09748859, -0.03377361, 0.002246882) * go_1(-1.0, -1.0); + result += mat4(-0.21506493, -0.09882148, 0.055594433, -0.06410465, 0.015674507, 0.08875788, -0.0006478795, -0.04977159, 0.22082454, -0.23415801, -0.08875935, 0.018581826, -0.038377263, 0.10177655, 0.083047464, -0.032258555) * go_1(-1.0, 0.0); + result += mat4(-0.0064842016, 0.0696411, -0.039478038, 0.04577863, 0.09780145, 0.028456237, -0.027617568, 0.04454641, 0.052396413, -0.018456027, 0.006240904, 0.07230352, -0.064150326, -0.03366613, -0.07332717, 0.053449873) * go_1(-1.0, 1.0); + result += mat4(0.023726959, -0.01828639, -0.007445437, 0.04195106, 0.008480755, 0.09939679, 0.0056850864, -0.031904347, -0.1588084, 0.08464271, 0.056286097, 0.06798317, -0.116808765, 0.030872507, 0.13454725, -0.07143643) * go_1(0.0, -1.0); + result += mat4(-0.01810022, -0.09620326, -0.07751335, -0.22906737, -0.1846048, 0.082176685, 0.012124299, -0.12939751, -0.27217293, 0.33110878, 0.084210694, 0.14638188, 0.1365236, -0.15294541, -0.0886321, 0.104566276) * go_1(0.0, 0.0); + result += mat4(0.012840808, 0.0013052316, -0.032042626, 0.081946686, -0.047170527, 0.034932077, 0.03316669, -0.051371098, 0.124509424, -0.018540544, -0.0003837269, 0.022210114, 0.055204254, -0.013787497, -0.014764483, -0.15336047) * go_1(0.0, 1.0); + result += mat4(0.012599393, 0.17533247, 0.022991834, -0.03211304, -0.020345578, 0.113983504, 0.014632539, -0.05887958, -0.15806466, -0.09464611, -0.04534859, -0.12347738, -0.1520882, 0.011230014, 0.004455861, -0.14973375) * go_1(1.0, -1.0); + result += mat4(-0.065917194, -0.035512056, 0.031102693, 0.060933307, -0.02593658, -0.109777324, -0.032401618, 0.13028993, -0.020557994, -0.117559545, 0.08317679, -0.23354602, -0.01592865, 0.15928279, 0.08244633, 0.1479819) * go_1(1.0, 0.0); + result += mat4(-0.010819472, 0.075779155, -0.019519886, 0.102649584, 0.014980766, 0.019251958, -0.011685782, -0.034067437, 0.031849053, -0.0682728, 0.01790959, 0.037713315, -0.08211083, -0.19022603, -0.11798944, -0.016174912) * go_1(1.0, 1.0); + result += mat4(0.08153453, -0.033585638, -0.05805481, 0.08109556, -0.09689133, -0.13055512, 0.0020046325, -0.0029349518, -0.059510633, 0.15292683, -0.028793702, 0.10537188, -0.11035281, -0.033447333, -0.05262533, 0.009009325) * go_2(-1.0, -1.0); + result += mat4(0.086087056, -0.14889634, 0.042120934, -0.06588642, 0.1940191, 0.012082308, 0.08089485, -0.041559532, -0.03492583, 0.1454766, 0.15322363, -0.056349102, -0.008337302, -0.11122289, 0.08725018, -0.041136846) * go_2(-1.0, 0.0); + result += mat4(-0.07462607, -0.1379561, 0.111250386, 0.00933672, -0.075622365, 0.09021725, -0.020666929, 0.08124079, 0.017696096, 0.0752183, -0.14648217, 0.03699762, 0.05343026, 0.041577548, 0.04425649, 0.038728572) * go_2(-1.0, 1.0); + result += mat4(-0.28092107, 0.014610808, 0.031096937, -0.047036063, 0.07267492, 0.10750966, 0.037799418, 0.0427444, 0.065877795, -0.1897678, -0.10701984, 0.056794036, 0.09691212, -0.079896726, -0.16408308, -0.06213223) * go_2(0.0, -1.0); + result += mat4(0.102322266, -0.042147823, -0.005965635, 0.115143105, 0.032525055, 0.11558508, 0.039382882, 0.013844102, -0.30971003, -0.1787396, 0.17922688, 0.109392576, -0.20874697, 0.3574331, 0.09885736, 0.0124685895) * go_2(0.0, 0.0); + result += mat4(-0.07606679, 0.044524554, -0.204831, 0.018925387, 0.043661278, -0.09994074, -0.047482055, -0.076295644, -0.13582784, 0.021150025, 0.07623231, -0.2527894, -0.044508826, -0.1361137, -0.052458636, 0.0060945638) * go_2(0.0, 1.0); + result += mat4(-0.24358742, -0.19750693, -0.03287655, -0.09131948, -0.14900212, 0.094384186, -0.06253741, -0.07731997, -0.019795047, 0.18039484, 0.022465153, 0.08112141, -0.07019665, -0.11493766, 0.031531274, 0.13177846) * go_2(1.0, -1.0); + result += mat4(-0.0028166103, 0.026403846, 0.07810358, 0.075667195, 0.054464176, 0.11381084, -0.030715328, 0.047939852, -0.07111295, -0.06292313, -0.013460788, 0.11503772, 0.02669688, -0.021964677, 0.07739555, -0.0881556) * go_2(1.0, 0.0); + result += mat4(0.054037657, 0.066638805, 0.018380845, -0.16307901, -0.033807877, 0.040921956, 0.054057736, -0.008528517, 0.06167168, -0.013450273, -0.060173254, 0.09289553, -0.014110446, 0.024162242, 0.0072062127, 0.0926438) * go_2(1.0, 1.0); + result += mat4(-0.11985171, 0.2359919, 0.0144552775, 0.029399775, -0.03222405, 0.07396268, 0.062363308, 0.044030357, -0.06955766, 0.059913747, -0.022207176, -0.10455009, -0.060708135, -0.06720781, 0.16230921, -0.030470075) * go_3(-1.0, -1.0); + result += mat4(0.07268368, -0.037689302, -0.0006378789, 0.051688604, -0.019494677, -0.017889218, 0.05410681, -0.040959217, -0.06665803, -0.052186687, -0.011745927, 0.065545335, 0.022045728, -0.20375493, -0.21016856, -0.06762163) * go_3(-1.0, 0.0); + result += mat4(-0.040465668, 0.083778955, 0.013434762, 0.038755294, -0.03848534, 0.17731902, -0.14471298, 0.05322156, 0.03127178, -0.08950242, 0.030044436, 0.01130042, -0.095673226, -0.04327992, 0.17350353, -0.007612962) * go_3(-1.0, 1.0); + result += mat4(0.04460292, -0.0031078972, 0.09711241, -0.06866971, -0.09262918, -0.084769346, 0.044754326, -0.10665114, 0.031228391, 0.0043790033, 0.03309391, 0.012486857, 0.23425025, 0.18271132, 0.1578141, -0.010678736) * go_3(0.0, -1.0); + result += mat4(-0.23845, 0.0423187, -0.12128633, -0.05818152, 0.13192599, -0.17009136, 0.04724319, 0.16300885, -0.060048696, -0.12740998, -0.05801625, 0.09705509, -0.054194454, -0.045284186, -0.1337804, -0.10992719) * go_3(0.0, 0.0); + result += mat4(0.1269832, -0.00020299156, 0.009369462, -0.037925567, 0.06473351, -0.053221237, -0.023879515, -0.007609877, 0.03754909, -0.048159488, -0.0023679247, -0.09056524, 0.16713028, 0.031278312, 0.056081764, -0.01342129) * go_3(0.0, 1.0); + result += mat4(-0.006760647, -0.09083782, 0.04076341, 0.094751135, -0.11061844, 0.11762189, -0.029435495, -0.035688248, 0.01733549, 0.006295947, 0.07678848, 0.011829498, 0.13984568, 0.094927594, -0.016725674, 0.08158711) * go_3(1.0, -1.0); + result += mat4(-0.1407642, -0.007187024, 0.018776545, -0.020115253, -0.12947425, 0.015566826, -0.06499993, 0.08037844, -0.017578483, -0.16355678, -0.028960422, 0.05753649, 0.031915013, 0.011823553, 0.1314363, 0.06283287) * go_3(1.0, 0.0); + result += mat4(-0.13424446, 0.03710137, -0.001757102, 0.03187992, 0.009409756, 0.047699206, -0.047759157, -0.010402033, -0.023234572, 0.17230392, 0.05499921, -0.10467258, -0.072978646, -0.11991742, -0.04271921, 0.16269293) * go_3(1.0, 1.0); + result += mat4(-0.0068589947, -0.26210552, -0.028049361, 0.0508914, -0.06342279, -0.017710757, -0.10827407, -0.04158776, 0.010000253, 0.13532205, -0.029077342, -0.008479235, -0.017489685, 0.014850057, 0.10131407, -0.106664196) * go_4(-1.0, -1.0); + result += mat4(-0.05549442, 0.09201339, -0.02593227, 0.012624096, -0.13465008, 0.16814372, 0.041814398, -0.04289135, -0.008671042, -0.20095816, 0.020371959, 0.008665319, -0.011442868, -0.1494836, -0.010815872, 0.0009426651) * go_4(-1.0, 0.0); + result += mat4(-0.047082372, 0.11580641, 0.03437082, -0.0026988252, -0.090915054, 0.08479583, -0.027014773, 0.054158032, 0.08011723, 0.12726231, 0.094610505, -0.04432765, -0.043526918, 0.08176591, 0.023957808, 0.039001796) * go_4(-1.0, 1.0); + result += mat4(-0.037610386, -0.1495413, -0.027353996, -0.032410443, 0.022113096, 0.019668896, 0.025676545, 0.08550669, -0.007179362, 0.111334786, 0.08080671, -0.05753153, 0.031270105, -0.1425512, -0.09165007, 0.01756688) * go_4(0.0, -1.0); + result += mat4(0.22160032, 0.13278869, 0.04946508, -0.061732106, -0.19966283, 0.19398785, -0.061616797, -0.1682507, -0.062497444, -0.020768918, -0.06906264, 0.043145705, 0.06686389, 0.049333394, 0.06813221, 0.012300859) * go_4(0.0, 0.0); + result += mat4(-0.18407853, 0.097527325, -0.08464557, 0.007581164, -0.12695311, 0.14365268, 0.06944541, -0.028422976, -0.08575999, -0.039222028, -0.1065246, 0.09277164, 0.064852476, -0.010674806, -0.039577603, 0.038126856) * go_4(0.0, 1.0); + result += mat4(-0.18967858, 0.07602103, -0.0452525, -0.005815137, 0.064602256, 0.19784397, -0.06377635, 0.10113932, -0.084867395, 0.09198673, -0.03678686, -0.04831252, 0.021673752, -0.063052855, 0.030094262, 0.008151946) * go_4(1.0, -1.0); + result += mat4(-0.17149659, 0.20685393, -0.037902117, -0.012043228, -0.004601577, 0.07037727, 0.0036602912, -0.13277285, -0.07140659, -0.100629926, -4.176998e-05, 0.0071237916, 0.08050488, -0.0037456674, -0.037059076, 0.022898288) * go_4(1.0, 0.0); + result += mat4(0.08819892, -0.01620132, -0.08606113, -0.046711806, -0.22001751, -0.052349057, -0.042775627, 0.11901976, 0.009456978, 0.13828641, 0.031084664, -0.014549527, -0.07343933, -0.120635025, -0.0549436, -0.091890045) * go_4(1.0, 1.0); + result += mat4(-0.03245801, -0.03380752, -0.19868882, 0.002510671, -0.07583146, 0.14605276, 0.03508497, 0.000112569716, 0.0203838, 0.074883066, 0.048457384, -0.03624031, 0.017366555, -0.025235461, 0.011553053, -0.0044929474) * go_5(-1.0, -1.0); + result += mat4(-0.0077082603, 0.043983724, 0.08835361, 0.030281665, -0.024455173, 0.13851254, 0.036828175, 0.013134612, 0.046743285, -0.10766694, 0.065832436, 0.0038662716, -0.043496363, -0.08309659, -0.08094711, 0.0848714) * go_5(-1.0, 0.0); + result += mat4(0.013103031, -0.12286342, -0.055714123, 0.01786344, 0.049958743, -0.06488927, 0.023186902, -0.0106724445, 0.04120055, -0.11552327, 0.101330966, -0.0006924794, -0.0020777578, 0.21546337, 0.0018756012, -0.08498371) * go_5(-1.0, 1.0); + result += mat4(-0.033325154, -0.08459969, 0.112720825, 0.00675488, 0.0040757647, -0.18720984, -0.031401563, 0.037159648, 0.1575527, -0.041114517, -0.17869847, 0.07061165, -0.04131886, 0.006737727, 0.07336905, -0.0008500361) * go_5(0.0, -1.0); + result += mat4(-0.07215131, 0.21968116, 0.059645798, 0.18761322, -0.07151226, -0.071514666, -0.08546688, -0.19312736, -0.017145814, 0.17245525, -0.1206946, -0.15861532, 0.013621306, -0.07887318, -0.14993054, -0.11080947) * go_5(0.0, 0.0); + result += mat4(0.017518861, 0.030952519, 0.016827656, -0.03837562, 0.07341383, -0.048610494, 0.050820123, 0.031829312, -0.10208572, 0.017096514, 0.011909018, 0.17583928, -0.1004084, 0.08367472, 0.087540604, 0.14205597) * go_5(0.0, 1.0); + result += mat4(0.061692897, -0.06249078, -0.07515134, 0.041771267, -0.02176024, -0.021748755, 0.048541967, 0.0799106, 0.004964116, -0.009022794, -0.090804085, 0.039782178, 0.14221238, 0.13084048, -0.02012579, 0.053085294) * go_5(1.0, -1.0); + result += mat4(0.073503084, 0.12030335, 0.016867403, -0.100202195, 0.08033366, 0.11290384, -0.024811089, 0.14120121, -0.029295236, 0.011535982, -0.009586436, 0.023111636, 0.11733249, -0.05684811, -0.021229435, -0.014981166) * go_5(1.0, 0.0); + result += mat4(-0.0028471397, -0.15393218, -0.03991392, -0.046677485, -0.034202207, 0.07922862, 0.024672583, -0.018478299, 0.10676781, 0.19975203, 0.09829708, 0.030875562, -0.08323281, 0.1287575, 0.007982256, 0.012422479) * go_5(1.0, 1.0); + result += mat4(0.00792915, 0.11354015, 0.017034046, -0.033009302, 0.07262295, 0.014038035, 0.027686022, -0.05569358, 0.04937052, -0.011838218, -0.017620115, -0.023960475, 0.089869, 0.12609829, -0.14517121, -0.009979609) * go_6(-1.0, -1.0); + result += mat4(0.019373287, 0.0037227296, 0.06739467, 0.0411633, -0.079600014, -0.20017749, -0.02489001, 0.038435437, -0.0169052, -0.076866195, -0.12707292, -0.013147386, 0.08209406, 0.06460137, 0.0038622238, 0.023936275) * go_6(-1.0, 0.0); + result += mat4(-0.026064714, 0.14228158, 0.02997548, 0.017698815, -0.05878976, -0.025017649, 0.04031136, -0.06725938, 0.07552142, -0.03974361, -0.045101356, -0.05215901, -0.08304946, -0.012352627, -0.005432024, -0.07347573) * go_6(-1.0, 1.0); + result += mat4(0.08631798, 0.0059085204, -0.000113723494, 0.0136576705, 0.04475684, -0.08430876, 0.1027275, -0.007361284, 0.041882366, 0.15399557, 0.04095392, 0.026290612, -0.0145415, -0.060129408, 0.008640187, 0.017547447) * go_6(0.0, -1.0); + result += mat4(-0.07755721, -0.023862703, -0.12206824, -0.07903689, 0.020078411, -0.18405053, -0.23792996, 0.082826346, -0.0028775565, 0.22255163, -0.0033731712, -0.070980065, -0.31968543, 0.19510844, -0.050848253, -0.030311922) * go_6(0.0, 0.0); + result += mat4(0.07346858, 0.051935203, -0.026379986, -0.024370745, 0.024842456, -0.061906833, 0.0648532, 0.07545226, -0.17644612, 0.13334613, -0.0035676474, 0.08756031, -0.0045107, 0.029391827, 0.09687544, -0.039636135) * go_6(0.0, 1.0); + result += mat4(0.13012199, 0.11310699, 0.0153783355, 0.14073592, 0.1159848, 0.0032372207, 0.013842089, 0.11203719, 0.052464556, -0.038527843, 0.06364611, -0.0014865476, 0.17000985, -0.002907841, 0.002437505, -0.13002418) * go_6(1.0, -1.0); + result += mat4(-0.055245295, 0.04185124, 0.00037150137, -0.09770801, -0.05064562, -0.10450231, 0.12021894, -0.09199362, 0.07554563, -0.039503135, -0.033728927, -0.07260611, 0.0153599335, -0.08457373, -0.028576847, 0.042632796) * go_6(1.0, 0.0); + result += mat4(-0.044485796, 0.037724104, 0.041926168, 0.006704794, -0.07147152, 0.013727192, 0.011708799, -0.04588657, 0.066578485, -0.10720429, -0.0730237, 0.04708655, 0.052229885, -0.044047564, 0.07113318, -0.030633615) * go_6(1.0, 1.0); + result += mat4(0.07849379, -0.04046586, -0.07431907, -0.03731069, 0.0049431417, -0.0903937, 0.024687393, -0.017909456, 0.06637542, -0.16175899, -0.02460091, 0.05987552, 0.09738359, 0.0064948746, -0.0138260815, 0.049470525) * go_7(-1.0, -1.0); + result += mat4(-0.032993518, -0.018154949, 0.058810174, -0.016374158, 0.042725, 0.21160744, 0.097916126, 0.04984194, 0.01650177, 0.06883078, 0.1381874, -0.08069465, -0.13565733, 0.20012212, -0.022712095, -0.0380238) * go_7(-1.0, 0.0); + result += mat4(0.03148708, 0.0965706, -0.025645912, -0.023996383, -0.036854897, 0.054054458, -0.16218668, -0.00390272, -0.096665986, 0.07244674, -0.096268326, 0.12596634, -0.0054489775, 0.018738326, -0.051350895, -0.1423746) * go_7(-1.0, 1.0); + result += mat4(0.0489154, 0.034897592, 0.026298728, 0.1030706, 0.021691274, -0.13979298, -0.10044236, 0.09618537, -0.3756147, 0.19392237, 0.043701947, 0.0372157, -0.19100708, 0.03706645, -0.052757483, 0.011999661) * go_7(0.0, -1.0); + result += mat4(-0.26170048, 0.00018108879, -0.21298628, -0.03632615, 0.20709798, 0.06626491, -0.09643573, -0.07262732, 0.08431118, 0.13428009, 0.08195883, -0.013723568, -0.016745638, 0.007309863, 0.09061577, 0.13009012) * go_7(0.0, 0.0); + result += mat4(0.00415379, 0.006674434, 0.11022577, 0.106347226, -0.017565781, 0.047206245, 0.099264786, -0.15451689, 0.16980271, 0.001391259, -0.17169356, 0.028775409, -0.004397513, 0.077122204, 0.010226694, 0.023086183) * go_7(0.0, 1.0); + result += mat4(-0.023648756, 0.15455274, -0.11006288, -0.074025065, 0.0423713, -0.08764005, 0.055211913, 0.04732732, -0.0048447615, 0.3040946, 0.20046064, -0.10624875, -0.10706571, -0.0002826197, -0.06487796, -0.062007286) * go_7(1.0, -1.0); + result += mat4(0.017490221, 0.030333612, -0.0015039118, -0.039954375, -0.016329238, -0.04124172, 0.0694377, -0.029093096, 0.17286836, -0.18490317, -0.2606389, -0.13979673, 0.0012922491, 0.02181941, -0.023836609, -0.05584063) * go_7(1.0, 0.0); + result += mat4(0.099456415, -0.024694387, -0.00025692413, -0.070630156, -0.07398711, -0.008068556, 0.053319667, 0.102825016, -0.16989474, 0.10998221, -0.053715512, 0.27778512, 0.09010463, -0.033159524, -0.06116807, -0.086112395) * go_7(1.0, 1.0); + result += vec4(0.023720283, -0.050228078, 0.017233998, 0.0038643035); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UL)-Conv-3x3x3x24 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv1ups +//!BIND conv1ups1 +//!BIND conv1ups2 +//!SAVE MAIN +//!WIDTH conv1ups.w +//!HEIGHT conv1ups.h +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv1ups_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv1ups1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv1ups2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max(-(conv1ups_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max(-(conv1ups1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max(-(conv1ups2_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.013777687, 0.008274202, 0.015532511, 0.0, 0.023658138, 0.021084072, 0.023679586, 0.0, -0.012574975, -0.0014938707, 0.00061928877, 0.0, -0.026688136, -0.0131240375, -0.029466102, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.0075748703, 0.037946086, 0.049140524, 0.0, 0.010126231, 0.012523378, 0.0071613602, 0.0, 0.0047583925, -0.0031088165, 0.0036479481, 0.0, -0.009168726, -0.020650811, -0.016528934, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.008073782, -0.020479651, -0.022079756, 0.0, 0.01524409, 0.013631518, 0.004791737, 0.0, -0.003348518, -0.00012732612, -0.0032449244, 0.0, 0.032580297, 0.029008314, 0.029523863, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.005337033, 0.024427935, 0.029425737, 0.0, 0.002468151, 0.0012733386, -0.0011684209, 0.0, 0.002045998, -0.007824469, -0.0075536054, 0.0, -0.0025498376, 0.00059123064, 0.010667408, 0.0) * go_0(0.0, -1.0); + result += mat4(0.07574702, 0.077039376, 0.07525205, 0.0, -0.018930318, -0.0210399, -0.007369101, 0.0, 0.0050703366, 0.009866225, 0.002731688, 0.0, 0.007364458, -0.012537245, -0.010698353, 0.0) * go_0(0.0, 0.0); + result += mat4(0.005033512, 0.0047755903, 0.015485579, 0.0, -0.0076447823, 0.0020293589, 0.00019690525, 0.0, -0.0046711015, -0.01096428, -0.003273942, 0.0, 0.011243453, 0.0026243145, -0.014977678, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.017157702, -0.012480959, -0.014230813, 0.0, -0.006353115, -0.0144039225, -0.0072659636, 0.0, -0.0063480805, -0.0026584982, -0.0028146124, 0.0, -0.014504389, -0.00762131, -0.006355321, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.010236374, 0.0015838058, -0.002143899, 0.0, -0.010755707, 0.0139974225, 0.01655249, 0.0, 0.00724032, 0.003991714, 0.0058728596, 0.0, 0.001585017, -0.005878744, -0.00640518, 0.0) * go_0(1.0, 0.0); + result += mat4(0.017572062, 0.003026812, 0.000502698, 0.0, 0.009834272, -0.0064451154, -0.0037888729, 0.0, 0.0045153787, -0.0040877387, -0.011132165, 0.0, -0.0068930765, 0.0060301176, 0.015776195, 0.0) * go_0(1.0, 1.0); + result += mat4(0.015143155, 0.022271771, 0.034353774, 0.0, 0.0500171, 0.008916114, -0.045639534, 0.0, 0.00028884446, 0.0017308572, 0.00027971982, 0.0, 0.018710924, 0.013322625, 0.013863731, 0.0) * go_1(-1.0, -1.0); + result += mat4(-0.0098540895, 0.009972838, 0.019292414, 0.0, 0.13954006, 0.029867204, 0.042765502, 0.0, -0.014894827, -0.015658824, -0.012828792, 0.0, -0.011597975, -0.011326242, -0.010546538, 0.0) * go_1(-1.0, 0.0); + result += mat4(0.057973996, 0.045629892, 0.035723437, 0.0, -0.03996296, -0.034121662, -0.021559378, 0.0, 0.0015233392, 0.0056360536, 0.005471655, 0.0, 0.015035284, 0.014042433, 0.004807508, 0.0) * go_1(-1.0, 1.0); + result += mat4(-0.019333394, 0.00010878696, 0.020713285, 0.0, 0.067461416, 0.07469616, 0.021785917, 0.0, 0.009209406, -0.00040594328, 0.004494759, 0.0, -0.014130696, 0.0034270098, 0.009287614, 0.0) * go_1(0.0, -1.0); + result += mat4(-0.1766193, -0.13014358, -0.13271952, 0.0, -0.18652712, -0.1799382, -0.19059698, 0.0, 0.008356371, -0.0005271801, -0.0013760106, 0.0, -0.026972191, -0.0041560223, 0.005715922, 0.0) * go_1(0.0, 0.0); + result += mat4(-0.029307544, -0.022682507, -0.027960105, 0.0, 0.10883932, 0.04878273, 0.091446914, 0.0, 0.0020139932, -0.008916592, -0.016010206, 0.0, -0.017582655, -0.011510589, -0.007895361, 0.0) * go_1(0.0, 1.0); + result += mat4(0.078397095, 0.024916336, -0.0019469182, 0.0, -0.10098231, 0.020777855, 0.018642282, 0.0, -0.02282252, 0.001186239, 0.0019293322, 0.0, 0.040787082, 0.020173319, 0.0023912336, 0.0) * go_1(1.0, -1.0); + result += mat4(0.0013556932, 0.015377351, 0.006556408, 0.0, -0.05026192, 0.065591745, 0.11644179, 0.0, -0.0014394359, -0.0027219045, -0.0041813366, 0.0, -0.011724467, -0.003224058, 0.0052535357, 0.0) * go_1(1.0, 0.0); + result += mat4(0.0043969746, -0.0119146835, -0.003386241, 0.0, 0.0020662902, -0.014350566, 0.008487526, 0.0, 0.01943664, 0.0066225696, 0.0050567226, 0.0, 0.004659311, -0.01749611, -0.015248497, 0.0) * go_1(1.0, 1.0); + result += mat4(-0.1691309, 0.010184013, 0.11859181, 0.0, 0.003958968, 0.008296091, -0.0017165234, 0.0, 0.004227455, 0.0044524195, 0.009051095, 0.0, 0.005324176, -0.008613206, -0.021459484, 0.0) * go_2(-1.0, -1.0); + result += mat4(-0.058296386, 0.07744043, -0.13526013, 0.0, -0.0008796793, -0.007680745, -0.0008189206, 0.0, -0.018601, -0.0026164774, 0.0061028446, 0.0, 0.034066506, 0.015997633, 0.015659299, 0.0) * go_2(-1.0, 0.0); + result += mat4(-0.013752101, 0.062634215, 0.082755044, 0.0, 0.005145167, 0.006077453, 0.008487249, 0.0, 0.07188091, 0.06469806, 0.086508684, 0.0, 0.013405896, 0.012214205, 0.02304606, 0.0) * go_2(-1.0, 1.0); + result += mat4(-0.0905373, 0.1511149, 0.0710771, 0.0, 0.0005157405, -0.0008491397, 0.0013561217, 0.0, 0.028786302, 0.010717526, -0.0022970343, 0.0, 0.062324964, 0.044271976, 0.030260865, 0.0) * go_2(0.0, -1.0); + result += mat4(0.30492926, -0.069422945, -0.16390763, 0.0, -0.0043285103, -0.0072050295, -0.0108781895, 0.0, 0.048721083, -0.0105444575, -0.0027602906, 0.0, 0.09317285, 0.053365745, 0.03376728, 0.0) * go_2(0.0, 0.0); + result += mat4(-0.002269356, -0.09357455, -0.0555731, 0.0, 0.009376811, -0.0018466613, -0.004391423, 0.0, -0.07394368, -0.065170325, -0.08395192, 0.0, 0.03500888, 0.01081305, 0.0066718487, 0.0) * go_2(0.0, 1.0); + result += mat4(0.09021336, -0.16636552, 0.025003932, 0.0, 0.01079389, 0.010327037, 0.0060891113, 0.0, -0.017556215, -0.0056941574, -0.005190358, 0.0, -0.041544978, -0.021641703, -0.005560567, 0.0) * go_2(1.0, -1.0); + result += mat4(-0.06582341, 0.032331508, 0.023025641, 0.0, -0.006888802, -0.007366109, -0.009622778, 0.0, 0.057611454, 0.06791491, 0.03548702, 0.0, 0.029741313, -0.02115072, -0.041671865, 0.0) * go_2(1.0, 0.0); + result += mat4(0.07574974, 0.016732352, 0.01046223, 0.0, -0.015716823, -0.0028920243, 0.0018390373, 0.0, -0.18389195, -0.11441643, -0.1055075, 0.0, -0.0729001, -0.03686565, -0.030215835, 0.0) * go_2(1.0, 1.0); + result += mat4(-0.018894525, -0.004167179, -0.014972926, 0.0, 0.012092344, 0.008401433, 0.026395475, 0.0, -0.11119941, -0.012245911, 0.31127214, 0.0, 0.032960866, 0.06049577, 0.08025499, 0.0) * go_3(-1.0, -1.0); + result += mat4(0.017033277, 0.01354686, 0.024140825, 0.0, -0.066371396, -0.035490133, -0.044400524, 0.0, 0.10403552, -0.27156168, 0.18912019, 0.0, 0.017874612, 0.041612815, 0.052246477, 0.0) * go_3(-1.0, 0.0); + result += mat4(-0.014946708, -0.02429106, -0.030985888, 0.0, -0.03691934, -0.042938504, -0.02929483, 0.0, -0.0012160494, 0.13540258, -0.2758294, 0.0, -0.0603928, -0.07772998, -0.09162849, 0.0) * go_3(-1.0, 1.0); + result += mat4(-0.0004002234, -0.0044219927, -0.002135395, 0.0, 0.010293526, 0.027578928, 0.026176201, 0.0, 0.11936805, 0.023629628, -0.28300223, 0.0, 0.017478058, 0.03140593, 0.0192762, 0.0) * go_3(0.0, -1.0); + result += mat4(0.003015146, 0.004462068, 0.0019783478, 0.0, -0.12165661, -0.14695118, -0.09602592, 0.0, -0.027736675, 0.012857005, 0.03344232, 0.0, 0.023552643, 0.027601821, 0.03182792, 0.0) * go_3(0.0, 0.0); + result += mat4(-0.01145948, -0.015722467, -0.02066646, 0.0, 0.02099096, 0.0214942, 0.013058587, 0.0, -0.043419342, 0.18987817, 0.00077238097, 0.0, -0.012187362, -0.01101818, -0.009512806, 0.0) * go_3(0.0, 1.0); + result += mat4(-0.01003496, -0.000550755, 0.012151708, 0.0, -0.016100012, 0.022148406, -0.009785452, 0.0, 0.012985429, -0.042074054, 0.15150712, 0.0, 0.00041122726, -0.009237617, -0.012009606, 0.0) * go_3(1.0, -1.0); + result += mat4(0.016514922, -0.0015444864, 0.0012712386, 0.0, 0.034776885, 0.010597218, -0.0040258956, 0.0, -0.08650466, 0.12591134, -0.08671136, 0.0, -0.004304329, 0.0016138474, 0.0059207603, 0.0) * go_3(1.0, 0.0); + result += mat4(-0.006018593, 0.007623802, 0.0071857506, 0.0, 0.07065304, 0.073321074, 0.04883848, 0.0, 0.079749525, -0.095305495, -0.036576286, 0.0, 0.0053027375, -0.01600088, -0.020379763, 0.0) * go_3(1.0, 1.0); + result += mat4(0.0014353278, 0.009906914, 0.00056570594, 0.0, -0.021885807, -0.008028124, -0.001742557, 0.0, 0.08700665, 0.095830224, 0.10490807, 0.0, -0.0048933295, -0.07625389, -0.061595775, 0.0) * go_4(-1.0, -1.0); + result += mat4(0.02125275, 0.0009857428, -0.00137735, 0.0, 0.005915497, 0.013772777, 0.004539148, 0.0, -0.035443936, -0.02961302, -0.04131401, 0.0, -0.12169936, -0.14949232, -0.20689055, 0.0) * go_4(-1.0, 0.0); + result += mat4(-0.015341744, -0.0077026743, -0.0043482906, 0.0, -0.007135568, -0.0022823443, 0.007329001, 0.0, -0.038207117, -1.8806717e-05, 0.012055219, 0.0, 0.05211687, 0.025196811, 0.034190442, 0.0) * go_4(-1.0, 1.0); + result += mat4(0.01798635, 0.0043349164, 0.00976957, 0.0, 0.008667596, 0.0094013205, -0.0047210143, 0.0, -0.13027216, -0.27572915, -0.21776466, 0.0, 0.04239217, 0.026833871, 0.0053331805, 0.0) * go_4(0.0, -1.0); + result += mat4(-0.018382292, -0.028467784, -0.02948458, 0.0, 0.01504672, 0.009915386, 0.00028620457, 0.0, 0.01925864, 0.17856085, 0.15902345, 0.0, 0.072817296, 0.01202625, 0.016523099, 0.0) * go_4(0.0, 0.0); + result += mat4(0.014461806, 0.018162472, 0.004939947, 0.0, 0.00433307, -0.0029751821, 0.014063162, 0.0, -0.0105967205, 0.023450457, 0.007284629, 0.0, 0.015260132, 0.058815423, 0.032865442, 0.0) * go_4(0.0, 1.0); + result += mat4(-0.034523435, -0.0019650368, 0.010286419, 0.0, 0.0155394105, -0.012441901, 0.003655187, 0.0, 0.21727616, 0.04665747, 0.064619154, 0.0, -0.0538197, -0.016603155, 0.010483863, 0.0) * go_4(1.0, -1.0); + result += mat4(0.0066596246, 0.012407015, 0.010662054, 0.0, 0.015415189, -0.0072234455, -0.016844045, 0.0, -0.018253447, -0.04539969, -0.022777706, 0.0, 0.014921062, 0.01025331, 0.00094767904, 0.0) * go_4(1.0, 0.0); + result += mat4(0.007963999, 0.024802163, 0.0329328, 0.0, -0.028856168, -0.0024038341, -0.008221548, 0.0, -0.050274983, -0.019204216, -0.014420987, 0.0, -0.0041100523, 0.02075305, 0.019369813, 0.0) * go_4(1.0, 1.0); + result += mat4(0.012030763, -0.013472043, -0.0071379403, 0.0, 0.044592608, 0.059628505, 0.0329532, 0.0, -0.0048840884, -0.009070825, -0.004406241, 0.0, -0.015029522, -0.03341599, -0.014973638, 0.0) * go_5(-1.0, -1.0); + result += mat4(0.0030182474, 0.012553184, -0.00084614486, 0.0, -0.19833973, -0.18672052, -0.1924494, 0.0, -0.008076828, -0.005522177, 0.0037198463, 0.0, -0.021098163, -0.010991954, -0.007342273, 0.0) * go_5(-1.0, 0.0); + result += mat4(-0.008302836, -0.014168788, -0.0098180575, 0.0, -0.072220005, -0.08414496, -0.05447282, 0.0, -0.0056090043, -0.00043765904, -0.004061556, 0.0, 0.02473498, 0.00803538, -0.002803184, 0.0) * go_5(-1.0, 1.0); + result += mat4(-0.001754513, -0.00034364086, 0.0016426432, 0.0, -0.14016317, -0.13971362, -0.13603266, 0.0, -0.013788346, 0.0017337386, -0.001026224, 0.0, -0.009110686, -0.006945973, 0.0063988715, 0.0) * go_5(0.0, -1.0); + result += mat4(0.0129916025, 0.025389163, 0.026781, 0.0, 0.39451644, 0.37229872, 0.35705563, 0.0, -0.0039658905, 0.0058225365, 0.0032569862, 0.0, -0.016056878, 0.0051228474, 0.008477073, 0.0) * go_5(0.0, 0.0); + result += mat4(-0.0077641252, 0.010979285, 0.016919322, 0.0, 0.06312053, 0.10244354, 0.09649355, 0.0, -0.0041987957, -0.0001676132, 0.01052944, 0.0, -0.035134792, -0.011132374, -0.008417525, 0.0) * go_5(0.0, 1.0); + result += mat4(-0.0019415376, -0.0018293947, -0.008222967, 0.0, -0.117868416, -0.12365001, -0.13046348, 0.0, 0.02347851, 0.004496424, 0.008431801, 0.0, 0.037196416, 0.020106586, 0.0046503455, 0.0) * go_5(1.0, -1.0); + result += mat4(-0.0072726808, -0.0011071735, 0.0008595847, 0.0, 0.03922388, 0.06798667, 0.067601055, 0.0, 0.008911351, 0.013739831, 0.011149478, 0.0, -0.03467258, -0.006161695, 0.008909844, 0.0) * go_5(1.0, 0.0); + result += mat4(0.003808606, -0.0035716828, -0.007037296, 0.0, -0.08564177, -0.11466893, -0.11467038, 0.0, -0.0020677918, 0.005138272, -0.0023557285, 0.0, 0.038220942, -0.00028315434, -0.005084889, 0.0) * go_5(1.0, 1.0); + result += vec4(0.0013754794, 0.0020187886, 0.001720279, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x4_UUL.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x4_UUL.glsl new file mode 100644 index 0000000..d3554bf --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_GAN_x4_UUL.glsl @@ -0,0 +1,7277 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.3533503, -0.22744901, -0.09641403, 0.049930546, 0.21601382, 0.121875964, -0.4066155, -0.029510869, -0.15896404, -0.26784295, 0.12444282, -0.091934755, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.05173876, 0.5917674, -0.25219238, 0.36018333, 0.0018698558, -0.020742422, -0.19959457, -0.16152367, -0.3881654, -0.40024987, -0.007772714, -0.062565684, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.015751071, -0.22430539, -0.11680504, 0.17976198, 0.14656822, -0.24317218, 0.029603355, -0.058181264, 0.058493074, 0.5022527, 0.11102914, -0.009173853, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.18293951, 0.5723565, 0.28864875, -0.49024883, 0.09118296, 0.33084247, -0.024498459, 0.44283792, 0.47181615, -0.017086344, -0.32055214, 0.56722766, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.32458597, -0.18757421, -0.32922122, -0.016391084, -0.1533236, 0.18488754, 0.27331817, 0.35373816, -0.01502724, 0.33746547, -0.37427562, -0.09936772, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.6233762, 0.010086638, 0.05501213, -0.38833693, 0.18467852, 0.47564793, 0.2687248, 0.4827469, -0.43817607, 0.25323167, 0.5397538, -0.12697968, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.29222447, -0.105247036, -0.14783503, -0.06417592, 0.17500208, 0.17491722, 0.12673122, 0.21052802, 0.013908459, -0.24594653, -0.19099778, -0.0023773864, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.46258658, 0.25608945, 0.18290475, 0.38827166, 0.29616114, -0.34748495, -0.386308, -0.061988145, -0.0665722, -0.4120009, 0.14303757, -0.5645748, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(-0.14725077, -0.38539198, 0.5607759, -0.18968762, -0.45513886, -0.17619537, 0.20813458, 0.2897601, 0.23251435, 0.0005268595, 0.04932729, 0.016341167, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.00301274, 0.015373737, 0.020866359, 0.012416287); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf1 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.14643213, 0.34573826, 0.022253275, 0.093370445, 0.12842871, 0.05782831, -0.29587168, 0.105391145, -0.009612344, -0.48199305, 0.10708218, -0.06391322, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.0075725354, 0.10891411, -0.37711775, -0.33482045, 0.075842425, 0.0006257457, -0.11693903, 0.04950486, 0.50191665, -0.10584904, 0.101994015, -0.076776676, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.23182836, -0.20573832, -0.25540918, 0.1005638, 0.29947993, -0.17835905, -0.17877467, 0.026681015, -0.16849746, 0.3294309, -0.19993272, -0.04395935, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.29155123, -0.012395516, 0.3944017, 0.057145286, -0.053443987, 0.06875274, -0.044569965, -0.13700297, 0.26493445, 0.07362078, -0.04562383, -0.3087175, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.14925154, 0.014966679, 0.15118442, 0.27622026, 0.14897393, 0.47124943, 0.3271807, 0.6352069, -0.21967705, -0.04371573, 0.34770805, 0.14594477, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.55078465, -0.25394475, 0.06182166, -0.08577288, 0.12739705, -0.35062942, 0.26408008, -0.09406672, 0.28381905, -0.0075195543, -0.27176276, 0.5115337, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.4059103, 0.09464142, -0.30987218, 0.07346718, 0.16917384, -0.39596874, 0.06289742, -0.48918217, -0.34323612, -0.25985125, 0.048182715, 0.23947199, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.30781844, -0.075438604, 0.079587184, -0.341671, -0.2998036, 0.44415385, 0.29075965, -0.019560292, -0.0062685623, 0.4052073, -0.32235056, -0.5399795, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.048963144, -0.20907535, 0.22934057, 0.14790095, -0.29026937, 0.40542123, -0.25430593, -0.00913707, -0.2250077, -0.17099477, 0.07582159, 0.16813178, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(0.0648949, 0.028727708, -0.0060908287, 0.04652166); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf2 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.26204622, 0.4223293, -0.08510012, 0.019453628, -0.017182587, 0.40875512, -0.3000382, 0.2466832, 0.18032596, -0.13804369, 0.23681472, -0.5184114, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.2840186, 0.14369252, -0.0046741674, 0.12592295, 0.10657679, -0.038042028, -0.07698588, 0.27475855, 0.12976117, -0.2198779, 0.46100235, -0.22570461, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.16426864, -0.043802097, -0.14111784, -0.036953557, -0.32212126, 0.07034313, 0.099273205, -0.18979223, 0.1203169, 0.16851273, -0.095204584, 0.41846615, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.011586374, -0.4041288, 0.02327077, -0.038964503, -0.020300997, 0.03858248, -0.016609106, 0.4671461, -0.05677658, -0.1051009, 0.32721362, 0.025792936, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.15935725, 0.578516, -0.6138353, -0.21297511, 0.39311242, -0.39518067, 0.07517545, -0.592613, 0.14880066, -0.27320826, 0.07287175, -0.48092732, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.18682362, 0.09657896, -0.014692581, -0.33343104, -0.25030813, 0.08155329, 0.2331368, 0.057343826, -0.4811021, -0.0041507008, 0.28470665, 0.20497215, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.1067868, -0.05718925, -0.20147423, 0.23770608, -0.42711017, 0.21191151, -0.011552215, -0.22620037, 0.39481977, -0.30003747, 0.09253048, -0.07504313, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(-0.27101615, -0.5613797, -0.05610472, 0.2528841, -0.5252947, 0.3716928, 0.06479668, 0.020567236, -0.033534806, -0.13467468, 0.19145517, 0.010775708, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.07840132, 0.26650423, 0.28004074, 0.24665453, 0.3865472, 0.013721022, -0.1948635, -0.013643245, 0.44512212, -0.21704042, -0.52104753, 0.51656127, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.035768427, -0.001056053, 0.0340295, 0.006839878); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf3 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.32331285, -0.030736726, 0.0042050784, 0.010926396, -0.23282023, -0.08763307, 0.37141582, 0.19859134, -0.1666083, -0.04315098, 0.07296003, 0.2861034, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.21563695, 0.14021617, 0.051348813, 0.4983129, -0.34992227, 0.18443501, -0.24389337, 0.06418108, -0.20921838, 0.18868116, -0.2684946, 0.55774176, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(-0.024550043, -0.10363326, 0.1043099, -0.14632092, 0.17236416, -0.16043803, 0.38332343, 0.024406519, -0.03126577, 0.20712042, -0.037903644, -0.13856749, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.07120149, -0.33019403, 0.33729857, -0.4915631, 0.4082891, -0.15672709, 0.0030756786, -0.43779042, 0.097300366, 0.002372967, 0.368441, 0.17531842, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.24669729, 0.35728258, 0.26481852, -0.32095483, -0.031781197, 0.5217997, -0.4768402, -0.3411008, -0.093396775, 0.31235504, 0.17860144, -0.09074654, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(0.34211978, -0.067475505, -0.11130485, -0.027638488, 0.037768893, -0.1094967, -0.07283058, 0.5916835, 0.28903356, 0.0857213, -0.0060110637, -0.04816759, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(0.3059696, 0.14136712, -0.32771704, -0.17229499, -0.14343582, 0.3470735, 0.3778098, -0.34243533, 0.2264067, -0.24548753, 0.38490316, 0.058428574, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.1412657, 0.33788598, -0.2157324, 0.040746648, -0.21837659, 0.33166492, 0.12508798, 0.4859738, -0.16807358, -0.22612841, -0.051258437, -0.24188246, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.04993394, -0.33221748, -0.044392366, -0.3946246, -0.30577514, 0.13761942, -0.022273945, 0.21460211, 0.19924824, 0.043031078, -0.22369152, -0.13072547, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.0057866867, -0.031637643, 0.0723021, 0.04260856); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf4 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(-0.06263417, -0.015899068, -0.06673424, -0.29330692, 0.27661222, 0.21981683, 0.009470586, 0.09138456, 0.44470203, 0.1370112, 0.25888672, -0.26252735, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.16853511, -0.56013334, -0.083473705, -0.31337133, 0.020068824, -0.56741786, 0.23128, 0.033934496, -0.39917204, 0.006675525, -0.19767813, 0.24100189, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.2767365, -0.21478292, 0.19800368, 0.04981372, -0.43988076, 0.13038118, -0.0023825555, -0.041225314, 0.055087563, 0.11922491, -0.36424643, 0.24521022, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.054674063, -0.17308263, 0.06928539, 0.13456745, -0.1371371, 0.06866367, 0.28848526, 0.4235249, 0.08625838, -0.14268667, 0.10068345, -0.09432318, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(0.04889649, 0.4082082, 0.2460249, -0.3526585, 0.06668635, 0.054053612, -0.14569403, 0.4200826, 0.043631364, 0.09612367, 0.27758798, 0.30841815, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.6218072, -0.16005784, -0.388552, 0.35026243, 0.21814698, 0.12549512, 0.25294197, -0.6248336, 0.53151983, -0.05606831, 0.21320722, 0.0833118, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.0938141, -0.045953494, -0.056681573, -0.1889846, -0.22944446, -0.15354922, 0.39270183, 0.05020913, 0.13824314, -0.2219286, 0.17828543, -0.15948938, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.52495337, -0.074113816, -0.40637568, 0.1596743, 0.11383307, 0.3346896, -0.24222933, -0.21050623, 0.254895, 0.47635737, -0.25384998, -0.28989154, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.012225922, 0.03979189, 0.5064567, 0.34305865, -0.1555728, -0.08338589, -0.32082558, 0.34781134, -0.4321089, -0.1193855, -0.1264447, -0.10376585, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.020296605, 0.008579932, -0.0016261942, 0.025361473); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x3 +//!HOOK MAIN +//!BIND MAIN +//!SAVE conv2d_tf5 +//!WIDTH MAIN.w +//!HEIGHT MAIN.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (MAIN_texOff(vec2(x_off, y_off))) +vec4 hook() { + vec4 result = mat4(0.1363371, -0.15540521, -0.31718272, 0.016195117, -0.11684813, 0.035514772, 0.036139056, -0.07166461, 0.18743914, 0.2597766, 0.40419564, 0.18188365, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, -1.0); + result += mat4(-0.3009684, 0.022765834, -0.18049309, -0.08467225, -0.38133445, 0.5031245, -0.08499587, -0.05829229, 0.29517335, 0.5049954, -0.34550402, 0.028938027, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.08297039, 0.40598175, 0.17898728, 0.09962402, 0.144094, -0.63257754, -0.17135625, 0.040128335, -0.44739345, 0.2947188, 0.16830204, -0.042169526, 0.0, 0.0, 0.0, 0.0) * go_0(-1.0, 1.0); + result += mat4(0.6079493, 0.10111115, 0.07312328, 0.32797632, 0.04438061, 0.13169874, -0.25383157, -0.2082139, -0.21848431, -0.6352441, -0.21146472, -0.16604403, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.072281, 0.15862514, 0.43191755, 0.11540132, 0.31328815, -0.5315003, -0.011417991, -0.05334168, -0.098632924, -0.1280698, 0.39636084, -0.22470373, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 0.0); + result += mat4(-0.09620375, 0.32031366, -0.28081584, -0.10667898, -0.22725722, 0.30929953, -0.13856508, 0.52870595, 0.3426154, -0.25681826, -0.5286905, 0.22251737, 0.0, 0.0, 0.0, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.116833046, -0.010033731, -0.10660418, 0.20258091, -0.16682866, 0.10652147, 0.2892288, -0.46506444, 0.11439509, -0.087319046, 0.13385743, 0.018403474, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, -1.0); + result += mat4(0.25397176, 0.06900933, -0.032205634, -0.35559848, -0.4572871, 0.04391792, -0.079241835, 0.23730846, -0.14349656, 0.29821903, -0.12540016, 0.017602116, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 0.0); + result += mat4(0.10184281, -0.4598769, -0.037037294, -0.0764841, -0.019283077, 0.07611817, 0.4753825, 0.3533474, 0.0929917, -0.07361922, -0.08772396, 0.054960705, 0.0, 0.0, 0.0, 0.0) * go_0(1.0, 1.0); + result += vec4(-0.01772409, 0.0043326668, -0.0016441033, 0.045143403); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_tf3 +//!BIND conv2d_tf4 +//!BIND conv2d_tf5 +//!SAVE conv2d_2_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.08708938, 0.04659238, 0.0176195, 0.07332214, -0.0033999549, 0.10378978, 0.009203801, -0.14674269, 0.04196428, -0.13389935, -0.010313743, 0.09525925, -0.04273685, 0.0049842685, -0.04782435, -0.10746269) * go_0(-1.0, -1.0); + result += mat4(-0.058692954, 0.029742118, 0.02237111, -0.17435773, 0.06456037, -0.03019781, 0.12503268, 0.028526554, 0.060585566, -0.09827803, 0.074175954, -0.18172584, -0.11584838, -0.07831707, -0.05294304, -0.0106923) * go_0(-1.0, 0.0); + result += mat4(-0.031584334, 0.014252643, -0.07162117, -0.06419199, -0.14218293, 0.00710674, 0.11762262, 0.046548527, -0.012062736, 0.013610702, -0.025224337, 0.012470503, 0.047743093, -0.075982004, 0.1325312, -0.07263824) * go_0(-1.0, 1.0); + result += mat4(-0.047091287, -0.12622702, -0.0012906026, 0.18104114, 0.100165896, 0.066891655, -0.0131071415, 0.03407408, 0.028450029, -0.115760155, -0.10819326, 0.1681725, -0.09913577, -0.13076334, 0.026878573, -0.053143714) * go_0(0.0, -1.0); + result += mat4(0.083894186, -0.14141738, 0.018934235, 0.031809587, 0.0003192794, 0.16290024, 0.07099023, 0.06556816, -0.19284101, -0.1453399, -0.0347245, -0.16616164, 0.024881344, 0.0021642817, -0.010100748, 0.0022466371) * go_0(0.0, 0.0); + result += mat4(0.0015557132, -0.05879126, -0.11525318, -0.10813486, 0.05760118, -0.021399507, -0.01548577, -0.004455722, -0.04850293, -0.042879056, -0.003998145, 0.111359306, -0.06351688, 0.045401093, 0.05995017, -0.1578649) * go_0(0.0, 1.0); + result += mat4(-0.04430244, -0.17245962, 0.022892194, -0.0692075, 0.104717515, 0.22675191, -0.13639514, -0.24593934, 0.063342735, -0.039179243, -0.029122557, 0.081671625, 0.14092505, -0.05549872, -0.0015202744, -0.06510917) * go_0(1.0, -1.0); + result += mat4(-0.15706699, -0.08377132, 0.022466531, -0.08059759, 0.027087238, 0.077262625, -0.14656287, 0.039614383, -0.19745086, 0.11043986, -0.0401111, -0.12457788, -0.011985427, 0.07006254, 0.047804836, -0.047927663) * go_0(1.0, 0.0); + result += mat4(-0.05709865, -0.049263585, -0.003258465, 0.05460852, 0.07713213, 0.025197832, 0.0019068273, 0.043446306, -0.095132224, 0.078292005, -0.04904267, 0.024313621, -0.12302135, -0.017898448, 0.024541078, 0.043991778) * go_0(1.0, 1.0); + result += mat4(0.12130153, 0.13911717, -0.04002126, -0.012871448, 0.07198464, 0.061591096, -0.019099334, -0.044026095, 0.09875178, 0.038835593, 0.04762761, 0.02498281, 0.011129141, 0.06378831, 0.06722678, -0.035866793) * go_1(-1.0, -1.0); + result += mat4(0.021273244, -0.07664181, 0.020639688, 0.015514086, -0.084263824, -0.07051794, 0.19240531, 0.046613134, 0.12619096, -0.0841264, 0.06217318, 0.07779716, -0.0963043, -0.10395887, 0.10938819, -0.015793487) * go_1(-1.0, 0.0); + result += mat4(0.08900367, 0.04946518, -0.029467355, 0.19663785, 0.15667154, -0.06690711, -0.052032534, -0.07847095, -0.033235654, 0.013093368, 0.03985917, -0.003270095, -0.11114758, -0.07755963, 0.07329337, -0.076278694) * go_1(-1.0, 1.0); + result += mat4(0.0027995422, 0.16994986, -0.08697692, -0.048091117, 0.035887104, 0.104790725, -0.0185358, -0.114902504, -0.0086569665, -0.19674753, -0.19395138, 0.36074165, 0.122156605, 0.019258482, 0.17046979, 0.060137603) * go_1(0.0, -1.0); + result += mat4(0.33356494, -0.101638936, -0.06131229, 0.048196703, 0.051127058, -0.044123553, 0.1780188, -0.0060462723, 0.050072145, 0.10497221, -0.50412345, -0.13448112, 0.0039893296, -0.08189366, -0.014733551, -0.10818881) * go_1(0.0, 0.0); + result += mat4(0.08261372, 0.014334234, 0.06299999, -0.075371794, -0.013736871, 0.012646158, -0.017394906, -0.089395225, -0.11433234, -0.029857801, -0.15656807, -0.091527075, 0.04103622, -0.03363836, 0.016624201, -0.0036849768) * go_1(0.0, 1.0); + result += mat4(-0.089841746, -0.06712061, 0.0527433, 0.082320526, -0.09120961, 0.050347377, -0.083178505, -0.08866272, -0.30313447, 0.11056798, 0.039219193, 0.07410963, 0.109322, 0.023776324, 0.12524699, -0.046025153) * go_1(1.0, -1.0); + result += mat4(0.084889896, -0.02918896, -0.09925119, -0.14783289, 0.17182311, -0.043737527, 0.037526473, -0.17095155, -0.4175669, 0.15075697, 0.08397851, -0.28285104, -0.15052564, 0.07753146, -0.055382084, -0.15306537) * go_1(1.0, 0.0); + result += mat4(0.05967354, 0.051270448, -0.088853374, 0.049626883, -0.045383934, 0.13075307, -0.013855193, 0.047234938, -0.13003716, 0.039057475, -0.20150818, 0.040109437, -0.010030361, 0.030319337, 0.032642324, -0.0369973) * go_1(1.0, 1.0); + result += mat4(-0.11543896, -0.017050894, -0.040339563, -0.028520064, -0.118439436, -0.07984377, 0.06831455, 0.15654051, -0.10115956, -0.2438409, 0.03736607, 0.12006528, -0.030477092, 0.011096038, 0.090815105, -0.0080058575) * go_2(-1.0, -1.0); + result += mat4(-0.06911358, 0.13267697, 0.14862104, -0.122848585, -0.17625184, -0.049463, -0.002210975, -0.0016514618, -0.10551103, 0.049154796, -0.0059836735, -0.105834186, 0.045391332, 0.09249315, -0.05793856, 0.067292385) * go_2(-1.0, 0.0); + result += mat4(-0.24482736, 0.059108716, -0.04583969, 0.08149522, 0.038962405, -0.042384293, -0.16724457, 0.02524365, 0.015999155, 0.0070147645, 0.05964749, -0.10706486, 0.026456963, 0.10617896, 0.15457928, 0.0120201) * go_2(-1.0, 1.0); + result += mat4(0.002382453, 0.1583132, -0.119973324, -0.0662401, -0.051640294, -0.0645128, -0.110066466, -0.04342153, -0.14796777, -0.00039787247, 0.06748297, 0.0036247273, -0.011881037, -0.16956528, 0.06889993, -0.20386338) * go_2(0.0, -1.0); + result += mat4(0.04101473, -0.24010769, 0.07311098, 0.54965353, -0.031760268, -0.028548244, 0.007514783, 0.04082258, -0.12587978, 0.10660041, 0.09860443, 0.06298276, -0.24874538, -0.027837105, 0.113290355, -0.107948154) * go_2(0.0, 0.0); + result += mat4(0.0003876406, -0.19534513, 0.12379949, 0.07418096, -0.05533002, 0.047913224, -0.095136575, -0.12830766, -0.045669492, 0.185782, 0.04429183, 0.021345537, 0.10170289, 0.012268334, 0.096150115, -0.13675393) * go_2(0.0, 1.0); + result += mat4(0.05352713, 0.10207215, -0.010504756, -0.08227354, -0.076499715, 0.007048693, 0.11185653, -0.0051883636, -0.096731015, -0.061566096, 0.06507135, -0.07496023, 0.06526383, 0.10773065, -0.02371179, -0.21231008) * go_2(1.0, -1.0); + result += mat4(0.065640226, -0.16055715, -0.19217896, -0.05266687, 0.043354426, 0.045996726, -0.12625614, -0.029164605, 0.009326327, 0.042128403, 0.17456397, -0.050843943, -0.0075650285, -0.03034361, 0.013880486, -0.069626965) * go_2(1.0, 0.0); + result += mat4(0.02068093, -0.04793541, -0.05546937, -0.032140132, 0.047307517, 0.051807012, 0.14029732, 0.00962683, -0.20456147, 0.18020096, -0.057128564, -0.13336244, -0.097290166, -0.004158448, -0.0600105, -0.009708849) * go_2(1.0, 1.0); + result += mat4(-0.032483056, 0.049853362, 0.021696301, -0.11219753, -0.02661955, -0.04607841, -0.014198818, -0.09468194, 0.021559052, -0.080357395, -0.032584, -0.00885768, 0.04445862, 0.067003295, -0.1003419, -0.05509865) * go_3(-1.0, -1.0); + result += mat4(-0.09067386, -0.1386776, -0.12894848, -0.09361908, 0.02725302, -0.082450785, 0.12913284, 0.017119015, 0.15628017, -0.04700464, 0.00830486, 0.038818985, 0.17048013, -0.07656522, -0.1224087, 0.07130913) * go_3(-1.0, 0.0); + result += mat4(-0.10417896, 0.016383825, 0.0073449006, -0.02711082, -0.037189025, -0.05160864, 0.05315494, -0.15611887, -0.04386266, -0.006611247, 0.14843988, -0.057192847, -0.023183309, -0.10346375, -0.06267799, 0.012322414) * go_3(-1.0, 1.0); + result += mat4(0.040689304, -0.18189529, -0.26992813, 0.12790182, 0.03878656, -0.0086402325, -0.0062929667, 0.06780035, 0.03195707, -0.035672437, 0.046817735, 0.06547671, 0.06372769, 0.05873523, 0.0021298856, 0.06129574) * go_3(0.0, -1.0); + result += mat4(-0.15713263, 0.035817664, -0.13872449, -0.044261634, 0.017223932, 0.009535214, 0.02511802, -0.04312037, 0.2664413, -0.0004277838, -0.15829046, 0.042596318, -0.00805113, -0.13120481, -0.0733825, 0.08075464) * go_3(0.0, 0.0); + result += mat4(0.019398525, -0.0021273023, -0.03635706, -0.014393008, -0.10642934, -0.1029655, -0.061802495, -0.15563649, 0.0645076, 0.14106958, 0.0996616, 0.03687089, 0.040620163, 0.075092375, -0.0925888, 0.020441564) * go_3(0.0, 1.0); + result += mat4(-0.12587729, 0.0013070012, 0.29089248, 0.059036452, -0.08924182, 0.091031685, -0.054014005, -0.10328428, 0.16332959, 0.053554036, -0.060469497, 0.040602013, -0.020064002, -0.08867987, -0.056540344, 0.008176135) * go_3(1.0, -1.0); + result += mat4(-0.035839718, 0.17201564, -0.24358493, -0.42401767, 0.09609074, 0.117533326, 0.02838792, -0.08895278, 0.017642612, -0.111211434, -0.050840933, -0.10403978, 0.033970676, -0.011216638, -0.04472192, 0.19342601) * go_3(1.0, 0.0); + result += mat4(0.0710926, 0.641456, 0.071938366, 0.1315065, -0.100831784, 0.1266041, 0.022571024, -0.07433246, -0.027134081, -0.03542851, -0.09404876, 0.022775577, -0.12099732, -0.01867027, -0.1062645, 0.13310277) * go_3(1.0, 1.0); + result += mat4(0.08233717, -0.04114099, 0.03508527, -0.15586078, -0.06144648, 0.114622496, 0.093427174, -0.07340158, -0.051627956, -0.07738936, 0.020813083, 0.06746887, -0.11991759, -0.051451, 0.053755388, 0.03875834) * go_4(-1.0, -1.0); + result += mat4(-0.040174812, 0.059218626, -0.06302023, 0.053127743, -0.014231688, 0.054382488, 0.068063706, 0.06149745, -0.01953451, -0.0713229, -0.02160103, -0.036886152, -0.0014814946, -0.055175968, 0.037955247, 0.005871771) * go_4(-1.0, 0.0); + result += mat4(-0.12535378, 0.17881174, 0.03780218, -0.012425667, 0.017902097, 0.09599461, 0.056568086, 0.25071, 0.0293225, -0.23321061, 0.12753327, -0.06956542, -0.06286754, -0.004013887, 0.03493985, -0.09810219) * go_4(-1.0, 1.0); + result += mat4(0.056827508, 0.16744581, 0.122243635, -0.068847984, 0.0877093, -0.24348012, -0.19141406, -0.055104826, -0.036792528, -0.0061125075, -0.0357928, -0.049301486, -0.002318358, 0.01462026, -0.044582937, 0.21821599) * go_4(0.0, -1.0); + result += mat4(-0.022950336, -0.08541699, -0.032364532, 0.073656, 0.28598115, -0.24147618, -0.40594783, -0.095169015, 0.030378088, -0.088105105, -0.018130457, 0.027292483, -0.053477596, 0.051044784, 0.057199217, 0.055807877) * go_4(0.0, 0.0); + result += mat4(-0.0029876707, 0.04961822, 0.14974596, -0.033321217, -0.16732486, -0.072705135, 0.013969497, -0.122740515, -0.08462876, -0.034225795, -0.014655614, -0.119398855, 0.09157269, -0.09268603, 0.050344553, -0.027266093) * go_4(0.0, 1.0); + result += mat4(0.15940595, -0.06773035, -0.018085696, -0.05118593, 0.0023117135, 0.086401805, -0.1512883, 0.064325646, -0.07582622, -0.17029655, -0.024559846, 0.030658428, 0.017730433, -0.08367396, 0.08823815, 0.05915384) * go_4(1.0, -1.0); + result += mat4(-0.038727205, 0.1089172, -0.057072043, -0.033894695, -0.14285448, 0.20544271, 0.17861229, -0.30484465, -0.03715663, -0.14572927, 0.060733713, 0.04181215, 0.09678157, -0.08408126, 0.0048096497, -0.065996654) * go_4(1.0, 0.0); + result += mat4(-0.07415517, 0.06777419, 0.026038412, -0.03502717, -0.13852024, 0.03202735, 0.02515385, 0.022922166, -0.09077502, 0.16230436, -0.0026498823, -0.015043002, 0.12700108, 0.057081882, 0.013029471, -0.030657085) * go_4(1.0, 1.0); + result += mat4(-0.12694584, 0.06294908, -0.117676765, -0.036909055, -0.044873755, -0.0039995643, 0.13362706, 0.050012905, -0.13367924, 0.07597831, 0.3819285, -0.28275692, -0.14412177, -0.2565575, 0.11027837, -0.12053281) * go_5(-1.0, -1.0); + result += mat4(-0.09367519, -0.14608231, -0.036556866, 0.01272179, 0.038633876, -0.003591367, 0.054400835, -0.010012759, -0.47939613, -0.019259147, 0.27748987, -0.104456015, -0.24190706, -0.06932349, 0.034514233, -0.35891885) * go_5(-1.0, 0.0); + result += mat4(-0.09559999, -0.048616488, 0.085638076, 0.008076739, 0.0872326, -0.08019889, 0.030777529, 0.019932257, 0.13578339, -0.11825049, 0.025971292, -0.24859837, 0.038768515, -0.18231516, -0.035713304, -0.0077301646) * go_5(-1.0, 1.0); + result += mat4(0.06128232, 0.080365516, 0.085317336, 0.23043136, -0.0345303, -0.09263342, -0.14098871, 0.065698296, 0.07305724, 0.1363207, 0.4074649, 0.06484066, -0.1677743, -0.07320494, -0.046586398, -0.14663507) * go_5(0.0, -1.0); + result += mat4(-0.26134238, -0.23036079, -0.13700944, -0.12379771, -0.085245565, 0.11716101, -0.011996683, -0.26328242, 0.76210666, 0.13128199, -0.4613038, -0.056481987, -0.04179439, -0.15293704, -0.031928822, 0.0028633792) * go_5(0.0, 0.0); + result += mat4(0.0701609, -0.044659905, -0.10519638, -0.02951965, -0.01773976, -0.09793353, -0.02663125, 0.025931468, 0.120253704, 0.107959, -0.2286903, 0.100008205, 0.019919766, -0.09379937, -0.03755325, -0.029165376) * go_5(0.0, 1.0); + result += mat4(0.12762111, 0.10005725, -0.020744884, 0.2261955, 0.0005694905, 0.023153208, 0.10108641, 0.06778726, -0.24574086, 0.26147386, -0.087716095, -0.35164383, 0.014982804, -0.04352452, 0.01995192, 0.070767686) * go_5(1.0, -1.0); + result += mat4(0.15459362, 0.0076204417, 0.12653103, 0.02246474, -0.102647394, 0.0890142, -0.07186823, -0.056002736, 0.01860861, 0.39250594, 0.25675145, 0.025204277, -0.20314611, 0.072741225, -0.07994986, -0.12488336) * go_5(1.0, 0.0); + result += mat4(-0.15671712, 0.12742579, 0.055502348, 0.09266183, -0.0138254035, 0.09349572, -0.0042213756, -0.111673295, -0.0023075854, -0.042950034, 0.22849235, 0.17697562, -0.13718896, 0.1530634, -0.01904453, 0.0029579364) * go_5(1.0, 1.0); + result += mat4(0.1002453, -0.0038715068, 0.08157385, -0.114144556, -0.10114003, -0.030322842, 0.1687901, 0.08137869, -0.018950412, 0.31931, 0.07726896, -0.01260731, -0.013306181, 0.012990402, 0.023081424, 0.024108054) * go_6(-1.0, -1.0); + result += mat4(0.016639968, -0.19199537, 0.12305707, 0.13543534, -0.12219802, 0.1590638, 0.093846135, -0.041526478, -0.19725557, 0.042915337, 0.021230828, 0.18341881, -0.07749526, -0.33567867, 0.1510488, -0.24736325) * go_6(-1.0, 0.0); + result += mat4(0.33647043, 0.043974105, -0.015270659, 0.34443954, 0.20130455, 0.13922754, 0.052082468, 0.04199112, 0.11493087, -0.055187847, -0.011534877, 0.01592477, 0.15338206, 0.08678507, -0.19229794, 0.13954975) * go_6(-1.0, 1.0); + result += mat4(-0.04917488, 0.011107744, 0.07049515, -0.21489471, -0.17595087, -0.12529567, 0.09190301, 0.11845325, -0.024334827, 0.32111624, 0.0024534697, -0.19983491, 0.16408783, -0.052561633, 0.08617242, 0.042390704) * go_6(0.0, -1.0); + result += mat4(0.028817827, 0.28836212, -0.048137162, 0.12320664, -0.097087085, -0.2842122, 0.00085189304, 0.06633536, -0.24821767, 0.045060735, 0.035565082, 0.16810042, -0.13840207, -0.04403226, -0.25070003, -0.4041356) * go_6(0.0, 0.0); + result += mat4(-0.22197938, -0.08768923, 0.045177262, -0.078506745, 0.08253066, 0.016144753, 0.1645656, -0.028598493, -0.07849487, -0.07094212, 0.057455402, 0.00037928123, 0.0972565, -0.10698883, 0.013749269, 0.24829234) * go_6(0.0, 1.0); + result += mat4(0.052576844, 0.08776649, -0.17621052, 0.08209505, -0.11818109, -0.19763248, 0.20851502, 0.23726037, -0.04153201, 0.14402445, 0.14808771, -0.26490554, 0.023291918, -0.012744647, 0.01284057, 0.057120457) * go_6(1.0, -1.0); + result += mat4(-0.03312023, 0.18762802, -0.065782025, 0.37418395, 0.03296075, -0.13471349, -0.000604518, -0.11046129, -0.040362366, -0.05119359, -0.060928266, 0.0076234927, 0.004223431, -0.2519941, -0.03538203, 0.26457635) * go_6(1.0, 0.0); + result += mat4(-0.09241529, -0.16896167, -0.26097003, -0.03554997, -0.07486264, 0.12789203, -0.022967441, 0.037033424, 0.01006943, -0.041292597, 0.048790745, -0.02055147, -0.07281084, 0.10865022, -0.08581465, -0.11227524) * go_6(1.0, 1.0); + result += mat4(-0.10940675, -0.19411772, 0.055769432, 0.024340319, -0.00645665, 0.056368824, 0.043865785, 0.020037498, -0.16133311, 0.01766112, -0.08227002, 0.14941923, -0.021099616, -0.18266949, 0.09612128, -0.14281271) * go_7(-1.0, -1.0); + result += mat4(0.03217922, 0.05612644, -0.033255585, -0.056363396, 0.024762414, 0.21498744, -0.0072923806, -0.0851579, -0.02493222, 0.18570428, -0.001326312, -0.080563165, -0.1915287, -0.0854206, 0.21276848, -0.19071062) * go_7(-1.0, 0.0); + result += mat4(-0.008697236, -0.05907871, -0.03935557, -0.12401368, -0.28379413, 0.088884436, 0.10571658, 0.10813083, -0.0816413, 0.14360937, -0.056890983, 0.066707395, 0.09237749, -0.03639047, 0.0149323, -0.08099579) * go_7(-1.0, 1.0); + result += mat4(0.14562428, -0.41132495, -0.09468721, 0.12390293, -0.35304794, -0.0978397, 0.10259785, -0.059098184, -0.18376185, -0.11395008, 0.06149591, -0.061300837, 0.030855265, -0.029505031, -0.08134364, 0.052349824) * go_7(0.0, -1.0); + result += mat4(-0.054168303, 0.14281495, -0.1929224, 0.06413072, -0.25336048, 0.0947037, 0.08503807, -0.2678951, -0.0956869, -0.0028941594, 0.12420388, 0.09337278, -0.22638662, 0.20074275, 0.27849185, -0.10343632) * go_7(0.0, 0.0); + result += mat4(-0.10784557, -0.09003896, -0.046144225, 0.04472689, -0.048930172, -0.042827412, 0.02361569, 0.048961647, -0.12720263, -0.19882552, 0.032855414, 0.018087896, -0.006664184, 0.061284702, 0.040077087, 0.06483349) * go_7(0.0, 1.0); + result += mat4(-0.09102824, 0.19297811, 0.079428986, -0.1140786, 0.08065769, 0.11470058, -0.05182968, -0.0031918169, 0.057114378, -0.07034676, 0.05162736, -0.13989258, -0.0007428154, 0.14386162, -0.22555909, 0.031960685) * go_7(1.0, -1.0); + result += mat4(-0.060471173, 0.009634131, 0.03902269, 0.09661466, -0.24774061, -0.05557977, 0.012585905, -0.02392872, 0.114676595, -0.017493265, 0.110723615, -0.09117071, 0.1765386, -0.099044226, 0.08444831, 0.1444548) * go_7(1.0, 0.0); + result += mat4(0.06494709, 0.038754467, -0.0029358356, -0.14191265, 0.0057709096, -0.17836918, 0.0835745, -0.13418244, 0.006400464, 0.12102691, 0.015754992, -0.082292266, 0.013177254, -0.15339093, -0.03636538, 0.009245474) * go_7(1.0, 1.0); + result += mat4(0.12107869, 0.005942261, 0.053359907, -0.04101948, 0.13175036, 0.076938406, -0.080700554, -0.09937644, -0.059118178, 0.01999205, -0.12440703, -0.17912516, 0.099387065, 0.12858933, -0.13126332, -0.07864274) * go_8(-1.0, -1.0); + result += mat4(0.015471563, -0.093275815, -0.07918882, 0.015113541, 0.034789484, 0.005147553, -0.035894252, 0.012473097, 0.17425276, -0.06431719, 0.053038493, 0.07075733, -0.13703232, -0.108021386, 0.08097401, -0.09084637) * go_8(-1.0, 0.0); + result += mat4(0.22216305, 0.06436357, 0.04725549, -0.009216946, 0.12172688, 0.13367362, 0.17289402, -0.027260972, 0.0316388, 0.047867503, 0.044632692, 0.13161063, 0.01681034, -0.117173694, -0.11198718, -0.090385385) * go_8(-1.0, 1.0); + result += mat4(-0.04448494, -0.09054891, 0.10193784, 0.10481165, 0.09505045, 0.09442895, 0.059165824, -0.017999176, 0.19332564, -0.13344298, 0.043347962, -0.009198223, -0.077678666, 0.07262827, -0.054718617, 0.2462452) * go_8(0.0, -1.0); + result += mat4(-0.14460659, 0.19911581, -0.011829462, -0.24477552, 0.10222534, 0.17500538, -0.088302314, -0.03723031, 0.22934242, 0.033233006, 0.076508425, 0.086021885, 0.076261, -0.02892584, -0.1842937, 0.28159407) * go_8(0.0, 0.0); + result += mat4(-0.05750402, 0.08285725, -0.20076582, 0.017502094, -0.111210905, -0.20192915, 0.027090786, 0.13547169, 0.034292024, -0.009578894, 0.09613332, -0.012890754, -0.24042566, 0.11162173, 0.061244607, 0.106738865) * go_8(0.0, 1.0); + result += mat4(-0.0056016557, -0.07016059, 0.015586803, 0.113896616, 0.036264896, -0.07797885, -0.10836503, -0.008504698, 0.09010728, 0.008030681, -0.14481634, 0.094113514, -0.11525783, -0.16482571, 0.16644086, 0.18656185) * go_8(1.0, -1.0); + result += mat4(-0.15490383, -0.010732233, 0.15570381, 0.013117034, -0.023504725, -0.08264894, 0.05413935, 0.02167481, 0.02526282, 0.07887943, -0.18842192, 0.046029042, -0.035524786, -0.0850923, 0.058897875, -0.015918015) * go_8(1.0, 0.0); + result += mat4(0.020360103, -0.012570338, 0.08877764, 0.02096158, 0.04831387, 0.096580565, -0.059062235, 0.027416367, 0.16610818, -0.048174858, 0.014525945, 0.10096015, 0.11185447, -0.1518419, 0.013404751, -0.023205053) * go_8(1.0, 1.0); + result += mat4(-0.04306929, -0.073872276, -0.017753715, -0.009508062, -0.06119793, 0.10653636, -0.13039438, -0.24057238, -0.010483553, 0.016872346, 0.056444157, 0.03830218, 0.0059971744, -0.034371436, 0.036614515, 0.08423129) * go_9(-1.0, -1.0); + result += mat4(0.09289988, -0.06163418, 0.17578109, -0.091560215, -0.1247038, 0.09502665, -0.1327171, -0.27483323, -0.036985267, -0.056237724, -0.02098289, 0.103276916, -0.12641357, -0.007150088, 0.07125758, -0.01968212) * go_9(-1.0, 0.0); + result += mat4(0.04571787, 0.09795907, -0.050483674, -0.011451801, -0.10090189, 0.17867349, 0.06240289, 0.03660141, 0.09306018, 0.0099239815, -0.10751435, -0.13398375, 0.0018341575, 0.076876044, 0.013059743, -0.001757958) * go_9(-1.0, 1.0); + result += mat4(0.03580767, -0.0920832, -0.048678134, -0.08585588, -0.25861412, -0.34989825, 0.13219722, -0.23836084, -0.031598125, -0.1980442, -0.10422264, 0.13378029, -0.06057577, -0.02566017, 0.07589835, -0.06603067) * go_9(0.0, -1.0); + result += mat4(-0.038895957, 0.10479996, -0.021055168, 0.002985772, -0.020986749, 0.19991115, 0.3909512, -0.18155256, 0.11361141, 0.1263755, -0.1411, 0.23717235, 0.04549265, -0.047232505, 0.0017680351, 0.034420468) * go_9(0.0, 0.0); + result += mat4(-0.06257207, -0.097900964, -0.050873708, -0.116532296, -0.45115742, -0.37410742, 0.004776952, -0.012661815, -0.03602844, -0.13416661, 0.06795347, -0.2639946, -0.043392774, -0.013479449, -0.018292706, 0.06350002) * go_9(0.0, 1.0); + result += mat4(0.029981725, -0.14732479, -0.08568945, -0.05040381, 0.05038456, -0.21006814, -0.06465483, 0.2622558, -0.14217721, -0.07141784, 0.10449286, -0.06247594, -0.008926917, 0.066042386, 0.024682269, 0.0019684169) * go_9(1.0, -1.0); + result += mat4(0.06684293, -0.06025172, -0.017142097, 0.019198751, -0.16248102, 0.07748216, 0.1356666, 0.10687109, 0.020113792, 0.16917363, -0.13187894, 0.16092238, -0.037741035, -0.11543223, 0.008387134, -0.1788102) * go_9(1.0, 0.0); + result += mat4(-0.0641759, 0.0035762053, 0.006215076, -0.048748907, -0.05194134, -0.09104838, -0.13861741, 0.069660455, 0.14160399, -0.1259376, 0.26030827, 0.057737302, 0.07375596, -0.08941705, 0.09028937, -0.13736711) * go_9(1.0, 1.0); + result += mat4(-0.2132701, -0.02094667, -0.10508215, 0.15088913, 0.01673081, -0.07022761, 0.04353132, -0.060586076, 0.013688303, -0.053508937, 0.091935135, -0.12722084, 0.20991062, 0.34238532, 0.073321, -0.13415793) * go_10(-1.0, -1.0); + result += mat4(-0.42283273, -0.20882814, 0.0746904, 0.030884372, -0.046567556, -0.09601958, 0.019217268, 0.020614645, 0.023532817, 0.16495451, -0.061495263, 0.17093019, -0.015031176, -0.10596483, -0.35751313, -0.036069453) * go_10(-1.0, 0.0); + result += mat4(0.09802603, 0.05243237, -0.011705317, 0.24476443, -0.033207234, -0.035959207, 0.031047646, -0.23115188, 0.016027762, 0.79442054, 0.4044869, -0.11494329, -0.006273987, 0.004718425, -0.11209608, -0.008015948) * go_10(-1.0, 1.0); + result += mat4(-0.16346502, -0.17156897, -0.11642438, -0.024952129, 0.031115294, 0.08774017, 0.00598107, 0.05092626, 0.113979645, -0.052892536, -0.013108269, 0.0571676, -0.022390213, 0.2335813, 0.14485772, -0.30527407) * go_10(0.0, -1.0); + result += mat4(-0.32269135, 0.023324538, 0.17180206, 0.09219933, -0.016700493, -0.03755764, 0.045262657, -0.14225388, 0.053342134, 0.21138674, -0.044557836, 0.037281107, -0.043544468, -0.20836818, 0.13546935, 0.03176496) * go_10(0.0, 0.0); + result += mat4(0.022647953, 0.008730454, -0.15616144, -0.08256037, 0.072356544, -0.021719307, -0.15201953, -0.016114464, -0.21912077, -0.0851361, 0.51460695, -0.6446934, -0.010587294, -0.07769936, 0.0050584907, -0.05872306) * go_10(0.0, 1.0); + result += mat4(-0.02132089, -0.13096721, 0.038064517, -0.00060747104, 0.0062361676, 0.067216225, 0.09402394, -0.06513655, 0.01862414, 0.037082087, -0.021554682, 0.045969013, -0.0039607184, 0.15375406, -0.14449036, 0.07655889) * go_10(1.0, -1.0); + result += mat4(0.07068288, 0.001961099, 0.09929328, -0.028476834, 0.031980775, 0.09211007, 0.054330252, 0.052927166, 0.08970436, 0.00015303591, -0.13828777, -0.07198454, -0.15016508, 0.026365617, 0.18633242, -0.025553932) * go_10(1.0, 0.0); + result += mat4(-0.10826819, -0.1304685, -0.03685067, -0.12489227, 0.005607342, 0.09233144, -0.014122842, -0.046526186, -0.17548485, 0.026248131, 0.1621087, -0.20665328, -0.09381958, 0.036105122, -0.08728352, 0.03987857) * go_10(1.0, 1.0); + result += mat4(0.077677496, -0.13329592, 0.17164698, 0.0019113998, -0.025696686, 0.0672842, 0.036873437, -0.11686353, -0.097731896, -0.0028006139, 0.021490095, 0.15943187, 0.07889494, 0.3629766, -0.18132637, 0.15385807) * go_11(-1.0, -1.0); + result += mat4(0.044238772, 0.1567383, 0.12640673, -0.052630864, -0.007302675, -0.10967158, -0.107756294, 0.17859331, 0.07136489, -0.04341069, 0.024249079, -0.05897967, 0.111258015, -0.17078657, 0.036048226, 0.16152963) * go_11(-1.0, 0.0); + result += mat4(0.07384503, 0.06284907, -0.014108331, -0.017090164, 0.121260636, 0.008501252, -0.06885781, -0.021639979, -0.041774526, 0.08451698, 0.000121687364, -0.03919082, 0.0052454737, 0.06350427, 0.12008924, -0.055543303) * go_11(-1.0, 1.0); + result += mat4(-0.064878955, -0.0719878, 0.08265773, -0.1688665, 0.048050933, 0.11382349, 0.071546555, -0.21108189, -0.012830082, 0.11217351, -0.018128209, -0.061462913, 0.23882945, 0.649829, 0.12733355, 0.11227615) * go_11(0.0, -1.0); + result += mat4(0.041163422, 0.03651781, 0.16549642, 0.017468395, 0.09350432, -0.23474495, -0.23380195, 0.11907154, -0.12089363, -0.044256873, 0.1877988, -0.049312383, 0.21568891, -0.07808991, 0.007451335, 0.018319923) * go_11(0.0, 0.0); + result += mat4(-0.12518145, 0.11612238, 0.006161161, -0.06755221, -0.029740417, -0.069201775, -0.055142555, -0.12959711, -0.04151932, -0.13112305, 0.027883865, -0.14688236, 0.11637084, 0.03143717, 0.019010155, 0.10953431) * go_11(0.0, 1.0); + result += mat4(0.04209335, 0.068751834, -0.0061649308, -0.16101876, -0.0722853, 0.024952479, -0.3132622, 0.08744035, 0.073933974, -0.051336445, 0.032455105, 0.13063438, 0.059895504, 0.29420298, 0.038490206, -0.12442902) * go_11(1.0, -1.0); + result += mat4(-0.07200042, -0.023259655, 0.012635364, 0.12218508, -0.032365907, 0.43177593, 0.16525982, -0.08950363, -0.054844007, -0.03696446, -0.08850468, -0.1255118, 0.031016335, 0.04766782, -0.078383796, 0.01441548) * go_11(1.0, 0.0); + result += mat4(0.11503451, -0.044968586, 0.06326391, -0.071147904, -0.16879457, 0.07397432, 0.018188922, 0.10572427, -0.034960777, -0.07943137, -0.0036348181, 0.058225635, 0.069235794, -0.051237226, -0.1377284, 0.08924826) * go_11(1.0, 1.0); + result += vec4(-0.051804453, -0.0035980425, 0.04082406, -0.033362225); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_tf3 +//!BIND conv2d_tf4 +//!BIND conv2d_tf5 +//!SAVE conv2d_1_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.10686424, 0.17431372, -0.18661575, 0.010713689, 0.03379707, -0.09569068, 0.2034078, 0.10498479, 0.011634523, 0.050713755, 0.032565415, -0.080337286, -0.09969752, -0.055666827, 0.035421696, -0.0867718) * go_0(-1.0, -1.0); + result += mat4(-0.073666155, -0.06493011, -0.026273629, 0.22499932, 0.08139263, -0.11249932, 0.28837353, 0.17552267, -0.021960992, -0.028706687, 0.05090913, -0.15623435, 0.03769752, -0.15579492, 0.09105939, 0.07497639) * go_0(-1.0, 0.0); + result += mat4(0.048357245, 0.053886283, 0.13461725, -0.11071112, -0.077213906, -0.052245375, -0.04013169, 0.062037695, -0.13215369, -0.09174701, -0.114625834, 0.051914312, 0.01612896, 0.053970147, 0.04973606, -0.07729732) * go_0(-1.0, 1.0); + result += mat4(-0.078420036, -0.13297887, -0.052783236, -0.10189405, 0.11061531, -0.09680305, 0.005810091, 0.07245157, -0.1038221, 0.25642323, -0.12693721, -0.20040022, 0.04993069, -0.0991663, -0.069509506, 0.05367051) * go_0(0.0, -1.0); + result += mat4(-0.019883003, 0.008554149, -0.06069851, -0.06600372, 0.15867192, 0.14257845, -0.060953278, 0.11745147, -0.18195617, -0.0049814377, 0.0869189, 0.108226046, -0.15425956, -0.103610225, -0.026791094, 0.101708464) * go_0(0.0, 0.0); + result += mat4(0.024521135, 0.113311276, -0.033070467, -0.094435304, -0.04944495, 0.044213716, -0.032835033, -0.032649312, -0.025082994, 0.0075755576, -0.00039931637, -0.051290717, 0.11232367, -0.028651753, -0.02722451, -0.11874975) * go_0(0.0, 1.0); + result += mat4(0.038403023, 0.01434569, 0.05527001, -0.009426801, 0.11922298, 0.15881695, 0.010242657, 0.0150002055, -0.08634809, 0.18841596, -0.06529487, -0.022850564, -0.014353311, -0.018264877, 0.010582817, 0.05675244) * go_0(1.0, -1.0); + result += mat4(-0.038173348, -0.04938816, -0.034626633, 0.115011, -0.17997329, -0.024382714, 0.018238366, 0.0795699, 0.11787341, -0.03350269, 0.06319287, 0.010102462, -0.01196875, 0.07582537, 0.055843, -0.08944427) * go_0(1.0, 0.0); + result += mat4(0.020445071, -0.062003933, 0.025338916, -0.111742504, 0.018534176, -0.019231565, -0.009523114, -0.09424414, 0.105761416, 0.029941276, -0.01992244, -0.13365352, -0.06464694, 0.04955974, -0.06972657, 0.031168776) * go_0(1.0, 1.0); + result += mat4(0.048598338, -0.15457329, 0.23040074, -0.17382176, -0.07893832, -0.20589326, -0.1024789, -0.036393065, 0.16289537, -0.043633476, -0.08692494, 0.06635826, -0.037026048, 0.19121586, 0.04192811, 0.08617132) * go_1(-1.0, -1.0); + result += mat4(0.06431465, -0.04477714, 0.1393434, -0.14326997, -0.009671985, 0.07842364, -0.04966627, 0.010917152, -0.07983255, 0.03677405, 0.03150012, 0.06264113, -0.055912133, -0.15776533, 0.19988042, 0.32305804) * go_1(-1.0, 0.0); + result += mat4(-0.11813575, -0.12848048, 0.09815029, -0.084332794, -0.045466557, 0.024617787, 0.094612665, -0.10983498, 0.01281462, -0.07084845, 0.08365987, 0.02980482, 0.20680314, 0.19660185, 0.090160295, -0.024230592) * go_1(-1.0, 1.0); + result += mat4(0.22242945, 0.042977955, -0.1950584, 0.114693254, 0.10080756, -0.2195417, 0.07318277, 0.017024588, 0.084581, -0.06843593, -0.12843226, 0.3261798, 0.13944952, 0.13179941, 0.008821559, -0.087943) * go_1(0.0, -1.0); + result += mat4(0.006668788, 0.038560845, 0.12404563, -0.05769671, -0.015818367, -0.13033059, -0.25943246, 0.072956696, 0.21427058, 0.10687695, 0.25362974, 0.030753143, -0.20489524, 0.03688324, -0.056671564, -0.15081882) * go_1(0.0, 0.0); + result += mat4(-0.016237376, 0.06530418, 0.0008575612, 0.0024773555, -0.08457907, 0.124187596, -0.017193364, 0.020395733, 0.041882973, 0.0939689, -0.041423228, 0.11850349, -0.053418733, 0.018237034, 0.15922968, -0.028196482) * go_1(0.0, 1.0); + result += mat4(0.00617314, 0.028988088, -0.12129224, -0.013645742, 0.041919876, 0.09312565, -0.011853595, -0.039161764, -0.0018104025, 0.030794937, -0.027200973, -0.01889041, -0.061270796, -0.020167446, -0.022094764, -0.06321879) * go_1(1.0, -1.0); + result += mat4(0.23553117, 0.011681662, 0.09088071, -0.08406735, -0.11986371, -0.07598161, 0.10916216, 0.03042131, -0.050459344, 0.048346892, -0.03265152, -0.041599296, 0.017753642, 0.02199675, -0.12781127, 0.053903423) * go_1(1.0, 0.0); + result += mat4(0.08247833, -0.053099908, 0.10497532, 0.0009267122, -0.048440482, -0.030394204, 0.09059801, 0.05765988, 0.07783196, 0.081616424, 0.120132275, 0.017684443, -0.023979973, -0.055363264, -0.0023568745, -0.06474386) * go_1(1.0, 1.0); + result += mat4(0.03935864, 0.13646065, -0.0980335, -0.09464908, -0.14030007, 0.10547609, -0.05503995, -0.026297066, -0.19069989, -0.11692969, 0.033806093, -0.110443994, 0.06024984, -0.022988832, 0.07912321, -0.23436208) * go_2(-1.0, -1.0); + result += mat4(0.03736314, 0.09950635, -0.035241336, 0.35002565, 0.088414624, 0.10096662, -0.17172632, 0.15142097, 0.049536142, -0.09132737, 0.0081931185, -0.13172668, -0.09466351, -0.08956953, -0.16681527, -0.2851225) * go_2(-1.0, 0.0); + result += mat4(0.044081934, 0.18403912, -0.028386973, 0.048505448, -0.053118926, -0.08533175, 0.115222245, -0.096146524, 0.007817108, 0.179298, 0.1150954, -0.020710714, 0.03293392, 0.037513856, -0.039692983, -0.04825996) * go_2(-1.0, 1.0); + result += mat4(-0.059859905, -0.09073711, -0.111966245, 0.081563674, 0.04086593, 0.14733186, 0.05190138, -0.12694141, -0.13941759, 0.06996519, -0.068747684, -0.20645827, -0.09175273, 0.12211811, -0.093354166, -0.04851858) * go_2(0.0, -1.0); + result += mat4(-0.039201275, -0.12566729, -0.15083213, 0.06934724, 0.00907371, 0.25165445, -0.03215991, -0.12954757, -0.04468517, 0.008889168, 0.0066400254, 0.10167141, -0.04695212, 0.064692214, 0.18480566, 0.19480804) * go_2(0.0, 0.0); + result += mat4(-0.014581287, -0.06898704, -0.0051806406, -0.10608466, 0.1262722, -0.04060088, -0.16856684, 0.032435227, 0.026973879, -0.0026733307, 0.045268867, -0.13237081, 0.16020067, -0.021973023, -0.19009824, 0.15028222) * go_2(0.0, 1.0); + result += mat4(0.18460129, 0.1333479, 0.03837729, -0.058306176, 0.07040987, -0.014847655, -0.01068034, -0.03538366, 0.03560099, -0.07245003, 0.05421727, 0.054558117, 0.12696071, 0.110505275, -0.0001801124, 0.10988035) * go_2(1.0, -1.0); + result += mat4(0.02687717, 0.026820526, 0.00013342683, -0.024742479, 0.010069058, -0.035168402, 0.043235146, -0.0005362559, 0.07407034, 0.21309346, -0.06483402, 0.071147814, -0.033207595, -0.10294866, -0.036925662, -0.027010951) * go_2(1.0, 0.0); + result += mat4(0.12488478, 0.098401785, -0.025045905, -0.014792015, -0.034646317, -0.027978942, -0.12320188, -0.024810791, 0.016550582, 0.13471514, 0.10670648, -0.05094192, -0.055596545, -0.1049561, -0.09986287, -0.0023964173) * go_2(1.0, 1.0); + result += mat4(-0.080887415, 0.006002427, 0.014467008, 0.0073124142, 0.129575, -0.106121704, 0.0053149317, 0.09235564, 0.11186122, 0.032131296, -0.076612376, 0.06624548, 0.08596849, 0.011764685, 0.14384155, 0.021837883) * go_3(-1.0, -1.0); + result += mat4(0.06103023, -0.031309135, 0.13279384, -0.08082667, 0.052683856, -0.031909406, 0.11510065, 0.10554583, 0.06680798, 0.029968834, -0.06693931, 0.16237023, -0.08490032, -0.12100683, -0.026126593, 0.016325515) * go_3(-1.0, 0.0); + result += mat4(0.060680456, -0.009623815, 0.08332933, -0.055023734, -0.08690529, -0.07147011, 0.011002754, 0.0018552957, 0.061229635, 0.088315226, -0.20416659, 0.24169642, 0.050275456, -0.06378886, -0.11931172, -0.02514527) * go_3(-1.0, 1.0); + result += mat4(-0.02761119, 0.08644608, 0.088277236, -0.018450672, -0.0039901347, -0.068680376, 0.020421231, -0.04279749, 0.06106539, 0.007899028, 0.006244339, 0.0038284787, 0.01852972, 0.0907674, -0.030920882, -0.026493091) * go_3(0.0, -1.0); + result += mat4(-0.1279502, -0.10258929, -0.08419827, 0.20507072, -0.09553339, 0.05191081, 0.07021672, -0.07435205, 0.22677262, 0.09975214, -0.020335881, -0.04577811, 0.0077291103, 0.10471583, 0.17636743, 0.11087656) * go_3(0.0, 0.0); + result += mat4(0.075052544, 0.0092922645, -0.08448927, 0.041604668, 0.026037812, 0.0860355, -0.015922202, 0.019066084, 0.027546916, -0.027568692, -0.26731342, -0.023392681, 0.051625036, -0.0934867, 0.01855649, 0.13799979) * go_3(0.0, 1.0); + result += mat4(-0.06296666, -0.1098412, -0.008336122, -0.1683294, -0.0039476524, 0.06753397, -0.055691563, -0.03172386, -0.028133264, 0.09248862, -0.057005152, -0.08819879, 0.00033600588, -0.040332403, 0.021726275, 0.026756682) * go_3(1.0, -1.0); + result += mat4(-0.18335228, 0.055761904, 0.18097118, 0.14507161, 0.0068749846, -0.012521843, 0.023245614, -0.026463345, 0.043985046, -0.2165717, 0.0774852, -0.02483345, 0.08675624, 0.05628849, -0.009224984, -0.050731745) * go_3(1.0, 0.0); + result += mat4(-0.1567382, 0.08874605, -0.0032084028, 0.08684666, 0.07949444, 0.007671013, 0.0040961164, -0.1017389, 0.018606596, 0.009996349, -0.103171706, 0.03754502, 0.04512539, 0.07232536, -0.12089054, 0.01449721) * go_3(1.0, 1.0); + result += mat4(0.043988064, -0.2168024, 0.10836671, -0.044771742, 0.055952765, 0.005712055, -0.11988445, 0.06644813, -0.13616242, 0.04415895, 0.120261654, -0.16818422, -0.15581395, 0.0015744499, -0.14568093, -0.05753751) * go_4(-1.0, -1.0); + result += mat4(-0.021522403, -0.07986922, 0.062384382, -0.13140142, 0.034894954, 0.08006326, -0.07651594, -0.036141198, -0.06851456, -0.0834359, 0.0752904, 0.21887264, 0.0061549665, -0.06516249, 0.18681414, 0.0365946) * go_4(-1.0, 0.0); + result += mat4(0.10052518, -0.10670847, -0.003079081, -0.09498389, -0.07520011, 0.08290768, -0.084294625, -0.01131368, -0.099579826, -0.06137724, -0.11067449, 0.009704116, 0.040147323, -0.08841677, 0.06690092, 0.03778933) * go_4(-1.0, 1.0); + result += mat4(0.10545755, 0.13839878, -0.03984289, 0.10025751, 0.009478087, -0.14025608, 0.053947553, 0.18398194, -0.05149111, 0.050120454, 0.013956731, -0.043310497, -0.019726504, 0.118855774, 0.0013074268, -0.053335477) * go_4(0.0, -1.0); + result += mat4(-0.23760495, 0.08390418, -0.049581543, 0.10635951, -0.05460877, -0.04543479, 0.16504921, -0.036034804, 0.09784669, -0.06739755, 0.1291667, -0.039256845, 0.07527601, -0.070993215, -0.19017631, -0.031153971) * go_4(0.0, 0.0); + result += mat4(0.040954154, -0.09255729, -0.08177323, -0.07543496, 0.015799338, -0.1570934, 0.15411973, 0.09213898, -0.010481805, 0.05641228, -0.118413515, -0.09061437, -0.08796755, -0.007553788, -0.10498269, 0.12313105) * go_4(0.0, 1.0); + result += mat4(0.06398932, 0.13469447, -0.011273027, -0.044646043, -0.04710218, 0.09578059, -0.029808268, -0.027448278, -0.0009713295, 0.058415554, 0.06080652, 0.08606312, -0.104948185, -0.0096215615, 0.07537734, -0.010545255) * go_4(1.0, -1.0); + result += mat4(-0.1279408, -0.19020812, -0.0943298, 0.032013718, -0.14963102, 0.047066286, -0.104419105, -0.014193013, -0.065125234, -0.065608494, -0.095970854, -0.0014514026, 0.011343235, 0.10566982, -0.089031704, 0.06812633) * go_4(1.0, 0.0); + result += mat4(-0.018788658, -0.06289463, -0.15440673, -0.13007106, -0.03818653, -0.019451238, -0.15964429, 0.020377161, -0.0080730105, 0.000705676, -0.06964132, 0.024361277, -0.13875677, -0.052965797, 0.095339194, 0.06888489) * go_4(1.0, 1.0); + result += mat4(-0.019789973, -0.12040434, 0.04240305, -0.024595534, -0.05556233, 0.029707985, -0.168925, 0.049333967, -0.00080379954, -0.10835547, -0.15086678, -0.06383391, -0.16054042, 0.06484674, -0.19530065, 0.10922658) * go_5(-1.0, -1.0); + result += mat4(-0.05953651, -0.03141437, 0.11094798, 0.08243985, 0.028865665, 0.08213878, 0.04258892, 0.0680956, -0.047587804, -0.12693568, 0.07055364, -0.11214787, 0.08969217, 0.1419136, -0.13514246, 0.13407274) * go_5(-1.0, 0.0); + result += mat4(-0.050891425, 0.020388588, -0.06745435, 0.017085094, -0.1045077, 0.022298822, -0.097081736, 0.08203017, -0.027630981, -0.13675974, -0.10134547, -0.1281878, 0.07093644, 0.12771745, 0.13011754, 0.057423916) * go_5(-1.0, 1.0); + result += mat4(-0.037570868, 0.07060522, -0.0051040407, -0.0025844222, -0.11711207, -0.0673309, -0.048931435, 0.0147821205, 0.07795294, -0.13408278, -0.19637404, 0.10269599, -0.11200572, 0.09499086, 0.06428558, 0.06680813) * go_5(0.0, -1.0); + result += mat4(0.024472006, -0.2130565, -0.015151474, 0.16437468, -0.15263173, 0.0901281, 0.14322212, -0.01657089, 0.046343457, 0.115670264, 0.460088, -0.11364276, 0.07643118, -0.14651597, 0.18278573, -0.12530184) * go_5(0.0, 0.0); + result += mat4(0.060754742, -0.001678119, 0.030816441, 0.06681249, -0.09796916, -0.11359681, -0.09244883, 0.018559854, 0.01096573, -0.094277434, 0.08694235, -0.0823104, -0.0488883, -0.093095176, 0.14834714, -0.1352162) * go_5(0.0, 1.0); + result += mat4(-0.12880152, -0.19384775, -0.037801757, 0.06656008, 0.007076701, 0.018130813, 0.19761431, 0.059055846, 0.14532924, 0.10376109, 0.04665052, -0.023133863, -0.010181634, 0.0017168559, 0.013745001, -0.007121095) * go_5(1.0, -1.0); + result += mat4(0.16919339, -0.027795903, -0.03306036, 0.0019032159, 0.039146144, 0.0497634, -0.0764362, -0.07226232, 0.05425214, -0.10504981, -0.04627003, 0.022908883, 0.079698324, -0.038020927, 0.08061228, -0.10370709) * go_5(1.0, 0.0); + result += mat4(-0.015387303, 0.005504668, 0.052100983, -0.15418914, -0.022040624, 0.052186437, 0.09509722, -0.002403473, 0.19483614, 0.003452582, -0.06495632, -0.23240727, 0.032974433, 0.0007399171, 0.06560719, -0.0033740813) * go_5(1.0, 1.0); + result += mat4(0.023054665, -0.26043692, 0.18474972, -0.09608795, -0.020994432, 0.0119039025, -0.21327825, -0.24308199, -0.088114575, 0.0031395438, -0.041250248, 0.112322785, 0.07924635, -0.043412726, 0.0422074, -0.010226289) * go_6(-1.0, -1.0); + result += mat4(-0.02912112, -0.069595225, 0.10448175, -0.51250935, -0.13847098, 0.1607622, -0.3267751, -0.1770978, 0.01824646, 0.028984351, -0.030345665, 0.13081262, 0.063996404, 0.08793573, -0.13965712, 0.067263685) * go_6(-1.0, 0.0); + result += mat4(-0.03841053, 0.045040864, -0.18179531, 0.0718325, 0.022482697, -0.013581522, 0.032139305, -0.22102495, 0.09908346, 0.051011063, 0.11530665, -0.055368867, -0.07484559, -0.066463865, 0.004535346, 0.016886283) * go_6(-1.0, 1.0); + result += mat4(0.15519743, 0.17356728, 0.03410276, 0.0871071, -0.1195365, 0.124625124, -0.0097680325, -0.091822244, 0.0344685, -0.19980973, 0.18815377, 0.31003565, -0.098318, 0.109376736, -0.08224549, -0.017187273) * go_6(0.0, -1.0); + result += mat4(-0.0375595, -0.034162704, 0.092746235, 0.12421092, -0.1849872, -0.11413569, 0.04921203, -0.10434121, 0.14085439, -0.011802199, -0.078255296, -0.22816189, 0.10738017, 0.083183795, 0.13766633, -0.14097023) * go_6(0.0, 0.0); + result += mat4(-0.017320648, -0.18156715, -0.08577414, 0.24383464, 0.06509076, 0.0149711, -0.0074050296, 0.062410038, 0.12266333, 0.016462294, -0.0064600827, 0.005678038, -0.043331582, 0.26797196, -0.012759982, 0.3209115) * go_6(0.0, 1.0); + result += mat4(-0.052863203, -0.029584473, -0.07951153, 0.09404685, -0.13191116, -0.17476398, 0.0052808016, -0.05577381, 0.09763811, -0.19072057, 0.012749096, 0.036612183, 0.14015351, 0.0064597945, 0.0593276, -0.09717058) * go_6(1.0, -1.0); + result += mat4(-0.10637754, 0.111114345, -0.015331149, 0.0011310631, 0.110100284, 0.09273301, 0.023341045, -0.02656039, -0.035890426, 0.019883053, -0.053340383, -0.015699102, -0.020341745, -0.023196017, -0.06532072, 0.18366042) * go_6(1.0, 0.0); + result += mat4(0.11235973, 0.07786757, 0.08447728, 0.1318013, -0.004949982, 0.0066092457, 0.0054766103, 0.09077229, -0.07902109, -0.04088357, 0.010520631, 0.13553512, 0.09034912, -0.03018093, -0.00064445287, -0.021193689) * go_6(1.0, 1.0); + result += mat4(-0.058018472, 0.15444, -0.2730127, 0.15408863, 0.061455347, 0.19193874, 0.060909115, 0.06997937, -0.1524897, 0.036673836, 0.11732512, -0.11441547, 0.046872787, -0.24626993, -0.048007865, -0.11882765) * go_7(-1.0, -1.0); + result += mat4(-0.055945333, -0.010893111, -0.18102671, 0.042816866, 0.003581595, 0.048463646, -0.0031799963, 0.030418187, 0.104345225, -0.050032612, 0.036984675, -0.1646202, -0.018429128, 0.07671132, -0.25055778, -0.29552183) * go_7(-1.0, 0.0); + result += mat4(0.15023926, 0.1888685, -0.115618594, 0.12794076, 0.07876464, 0.003425595, -0.09080821, 0.12327033, -0.058617253, 0.049882554, -0.05286994, -0.08793353, -0.13901326, -0.18175364, -0.08278234, 0.018242812) * go_7(-1.0, 1.0); + result += mat4(-0.11970521, 0.0109240925, 0.15971556, -0.016531104, -0.08862921, 0.21342862, -0.094590165, -0.020616282, 0.063016824, 0.17087449, 0.06806956, -0.07862834, 0.013708585, -0.107840285, -0.08096036, 0.18210368) * go_7(0.0, -1.0); + result += mat4(0.043659575, 0.058439042, -0.21725631, 0.3063619, 0.10015616, 0.059022572, 0.26627064, -0.08099214, -0.0693483, -0.203277, -0.11010789, 0.19852851, 0.15775175, -0.015777366, 0.057439, 0.08526342) * go_7(0.0, 0.0); + result += mat4(0.068086825, -0.023258585, 0.00538327, 0.05472357, 0.07754322, -0.11910729, 0.02382697, 0.024495512, -0.017562684, -0.08236683, 0.058229536, 0.000869808, 0.011609774, -0.054304227, -0.15151061, -0.044502378) * go_7(0.0, 1.0); + result += mat4(-0.08821152, -0.0072133946, 0.090214185, 0.0037864884, -0.048583377, -0.08793112, 0.042103123, 0.06350086, -0.009068224, -0.017177878, 0.0071224193, -0.02983354, 0.054105606, 0.033948, 0.00030873172, 0.10865935) * go_7(1.0, -1.0); + result += mat4(-0.3452554, 0.037840936, -0.007285266, 0.11886663, 0.15714768, 0.06662496, -0.114754274, -0.014947248, -0.078791104, -0.06114595, 0.063372605, -0.027558187, 0.085218295, -0.029446336, 0.04893082, -0.011406112) * go_7(1.0, 0.0); + result += mat4(-0.13480014, 0.071332626, -0.15875989, 0.026054379, 0.086463004, -0.0016177339, -0.083243676, -0.09716422, -0.06963665, -0.07523067, -0.17068437, -0.0626138, 0.056925334, 0.04893756, 0.02281016, 0.09532202) * go_7(1.0, 1.0); + result += mat4(-0.00580583, -0.116883956, 0.07345766, 0.15274666, 0.13362356, -0.07467188, 0.03301032, 0.054128814, 0.20493697, -0.009065066, 0.03155883, 0.068317086, -0.12386136, -0.060517445, -0.094406374, 0.15583418) * go_8(-1.0, -1.0); + result += mat4(-0.067004405, -0.1223459, 0.014435977, -0.34603095, -0.06600234, -0.15530656, 0.20689431, -0.1507668, -0.06292093, 0.07223332, 0.037690062, 0.1659377, 0.069394544, 0.17641555, 0.22508276, 0.40012553) * go_8(-1.0, 0.0); + result += mat4(-0.057700165, -0.16616186, 0.03591516, -0.054088213, 0.038716026, 0.12711482, -0.10458551, 0.1125439, -0.044289824, -0.14246644, -0.06925245, -0.00500973, -0.037970725, -0.023939952, -0.0022134574, 0.10433797) * go_8(-1.0, 1.0); + result += mat4(-0.023385774, 0.051519156, 0.11095403, -0.064071044, -0.06364762, -0.1941555, -0.01814799, 0.1607568, 0.20177782, -0.10239079, -0.0037873993, 0.19179249, 0.010512392, -0.2618042, 0.1551496, 0.004129357) * go_8(0.0, -1.0); + result += mat4(0.029080873, 0.15882342, 0.14680782, -0.115972534, -0.020144446, -0.18171366, 0.023180518, 0.12387274, 0.15716453, 0.1004543, -0.08157793, -0.022577325, -0.16624399, -0.01949063, -0.156747, -0.1183951) * go_8(0.0, 0.0); + result += mat4(0.029425338, 0.10182775, 0.029069873, 0.1457661, -0.09023257, -0.04825933, 0.15506612, -0.05441011, -0.06894328, 0.026150472, -0.0692689, 0.12830935, -0.22601965, -0.13350666, 0.14609747, -0.22600585) * go_8(0.0, 1.0); + result += mat4(-0.1822958, -0.1374016, -0.024359208, 0.04622839, -0.058350354, -0.015429165, 0.026171437, 0.027515156, -0.02666974, 0.0408178, -0.044889677, -0.06293887, -0.08987106, -0.1803648, 0.0025046086, -0.18609668) * go_8(1.0, -1.0); + result += mat4(0.07113637, -0.052501757, -0.005966466, 0.021243786, -0.040465984, 0.024959967, -0.046451308, 0.050900366, -0.083510816, -0.16574752, 0.06293483, -0.044002667, 0.024361992, 0.01216542, 0.024794284, -0.011461988) * go_8(1.0, 0.0); + result += mat4(-0.09203169, -0.0773609, 0.022937218, 0.008477238, -0.011718419, 0.06316311, 0.11751391, -0.00072982407, -0.06734584, -0.13928872, -0.087741435, 0.046288103, 0.11467566, 0.0955026, 0.05442099, 0.03606524) * go_8(1.0, 1.0); + result += mat4(0.066713035, -0.056815878, 0.0051200944, -0.022335608, -0.08874631, -0.026212879, -0.051457, -0.15262195, -0.05677955, 0.019131938, 0.1172796, -0.11290694, -0.087470956, 0.02609456, -0.11995271, -0.017296867) * go_9(-1.0, -1.0); + result += mat4(-0.057716526, -0.033147354, -0.11464092, 0.033304136, -0.058800284, 0.098373234, -0.2343978, 0.040536474, 0.074285746, -0.15139699, 0.015304646, 0.054167286, 0.10495344, 0.08671543, 0.013625649, -0.03144798) * go_9(-1.0, 0.0); + result += mat4(-0.055753563, 0.057411764, -0.05698671, 0.03903764, -0.0011426503, 0.08076997, -0.022009375, 0.12755805, -0.013749879, -0.04526649, 0.22823834, -0.21281727, -0.078900084, 0.037843198, 0.12148038, 0.06278242) * go_9(-1.0, 1.0); + result += mat4(0.0648249, -0.029065508, -0.0733263, 0.08143834, -0.0642625, -0.019431729, -0.0019107187, -0.06899837, -0.036123455, 0.00792085, -0.011136172, 0.0058131563, 0.031796213, -0.06951667, 0.020033136, -0.017202968) * go_9(0.0, -1.0); + result += mat4(0.12123958, 0.082002886, 0.04433242, 0.028000468, 0.1115246, 0.16115043, -0.08767815, 0.07984247, -0.1753498, -0.21725565, 0.05224423, 0.019737821, -0.012286999, -0.08404926, -0.18290538, -0.13047068) * go_9(0.0, 0.0); + result += mat4(-0.04384017, 0.07876759, 0.1204954, 0.073350765, 0.11264102, -0.31410536, -0.028699053, -0.21884131, -0.06513864, -0.06959321, 0.43219337, -0.056171507, -0.0838037, 0.09533199, -0.010290981, -0.1426525) * go_9(0.0, 1.0); + result += mat4(0.02638746, 0.008636295, 0.0150156785, 0.08042486, 0.083437935, -0.24499232, 0.16740417, 0.01219645, 0.08793918, -0.12893206, 0.13098167, 0.027247185, -0.0036501656, 0.07329918, 0.0073491456, -0.033073287) * go_9(1.0, -1.0); + result += mat4(0.09405967, 0.026855662, -0.13746545, -0.061156027, -0.038379412, -0.0137223415, -0.15750524, 0.17561466, 0.100840956, 0.0526472, -0.14593539, 0.099029206, -0.039230358, -0.08693771, 0.007550366, 0.057815127) * go_9(1.0, 0.0); + result += mat4(0.0008552412, 0.011796726, 0.04206752, -0.07443022, -0.05121393, -0.015579494, 0.0936274, 0.07172191, 0.13676073, -0.055043112, 0.061686534, -0.18834415, 0.0056741014, -0.07822123, 0.12692335, -0.028575832) * go_9(1.0, 1.0); + result += mat4(-0.05620452, 0.18353955, -0.12347911, 0.1558272, -0.0323301, 0.0044377907, 0.097321495, -0.123012446, 0.18182632, -0.07185004, -0.12557943, 0.12776685, 0.063844234, 0.009731627, 0.116832525, 0.11924382) * go_10(-1.0, -1.0); + result += mat4(0.060059544, 0.18936205, 0.005780116, 0.21269107, -0.01993401, -0.1257078, 0.044587992, 0.0008904994, 0.19075485, 0.11275744, -0.20653817, 0.024912447, -0.004930327, 0.02786522, -0.26489633, -0.03896719) * go_10(-1.0, 0.0); + result += mat4(-0.15483911, 0.11604669, -0.016097784, 0.14344187, 0.050392877, -0.061352212, 0.03421763, 0.057112053, 0.040450297, -0.06485967, 0.111791894, -0.10726333, -0.047403432, 0.07291982, -0.085813165, 0.011386364) * go_10(-1.0, 1.0); + result += mat4(-0.120280884, -0.14197855, 0.13524817, -0.1927468, 0.02986725, 0.09090211, -0.020236133, -0.16360934, 0.043086752, -0.12888601, -0.055306554, -0.039812587, -0.093283705, -0.23473693, 0.03516732, -0.058886416) * go_10(0.0, -1.0); + result += mat4(0.22835518, -0.1693695, 0.10143327, -0.09706419, 0.14542878, 0.101218365, 0.030917853, 0.2589894, -0.049807068, -0.25961533, -0.019762227, 0.15363556, -0.10908177, 0.08649178, 0.07406465, 0.054726418) * go_10(0.0, 0.0); + result += mat4(-0.17548855, 0.10596023, 0.13520734, 0.21358284, 0.014748046, 0.13572593, -0.094107375, -0.074447066, 0.015977554, 0.16161968, 0.18651322, 0.27234894, 0.023692988, -0.00052937213, 0.15524314, -0.08561304) * go_10(0.0, 1.0); + result += mat4(-0.0069411434, -0.16977951, -0.0025205691, 0.096223235, 0.01954326, -0.098077014, 0.060268197, 0.03468932, 0.013128788, -0.08288448, -0.07245345, -0.08579109, 0.063582815, 0.044692673, -0.043460656, 0.027466977) * go_10(1.0, -1.0); + result += mat4(0.18266056, 0.10570967, 0.1065224, -0.06571987, 0.0588245, -0.020463474, 0.018139174, -0.023622356, 0.13198042, 0.10686564, 0.13415007, 0.016261699, 0.024000479, -0.19857375, 0.032733236, -0.089835346) * go_10(1.0, 0.0); + result += mat4(0.019865446, 0.07939105, 0.15199763, 0.113943405, -0.007186911, 0.021517705, 0.094783835, -0.023958188, -0.13181072, -0.02059204, 0.097103454, -0.08745583, 0.04598183, 0.0125174, -0.094161086, -0.049809787) * go_10(1.0, 1.0); + result += mat4(0.046524428, 0.09606215, -0.04960027, -0.045853227, 0.043391764, 0.0016825196, 0.072846, -0.029426513, 0.06837817, 0.13657811, 0.12026235, 0.070922196, 0.19066632, 0.02301806, 0.1939276, -0.043247785) * go_11(-1.0, -1.0); + result += mat4(0.050196134, 0.11171356, -0.10474605, 0.011690834, -0.024688404, -0.10231831, -0.05199224, -0.089429624, -0.019335374, -0.0873271, -0.0105612185, 0.008547704, 0.014377572, -0.1257108, 0.16229153, -0.06752219) * go_11(-1.0, 0.0); + result += mat4(0.042335458, -0.061531194, 0.072609514, -0.006675558, 0.100401826, -0.032614395, -0.060348473, -0.0010197527, 0.036294524, 0.06301108, 0.1402905, 0.041858584, -0.049982782, -0.10324423, -0.18818372, -0.07914816) * go_11(-1.0, 1.0); + result += mat4(-0.01339124, -0.064637, 0.035361387, 0.0003324328, -0.021101808, 0.054733098, 0.20074409, -0.1310269, -0.18548606, 0.1400309, 0.058043867, -0.18299271, -0.045036677, -0.06547029, -0.08705725, 0.01699538) * go_11(0.0, -1.0); + result += mat4(0.006868026, 0.24515495, 0.028768666, -0.03339759, 0.08764873, -0.23418264, 0.08228583, 0.20179187, -0.031938568, -0.001807705, -0.04719375, 0.19206795, -0.034323156, 0.068426535, -0.12825035, -0.073537245) * go_11(0.0, 0.0); + result += mat4(-0.09739696, 0.07366681, 0.016242491, 0.011574537, 0.028878966, 0.013488491, 0.24392383, -0.015881758, -0.021183312, 0.015750054, -0.09222381, 0.018132376, 0.052933175, 0.08646255, -0.10245898, 0.09809934) * go_11(0.0, 1.0); + result += mat4(0.029205635, 0.17448728, 0.02220749, -0.05995982, 0.017231317, -0.0021115101, -0.19925344, -0.03924282, -0.13346197, -0.06553784, 0.020060113, 0.09325606, -0.068962246, 0.024640976, -0.054738607, 0.034826275) * go_11(1.0, -1.0); + result += mat4(-0.16056268, 0.04765503, 0.0023608136, 0.020386778, -0.21249089, 0.0918553, 0.13921294, 0.10349125, -0.122601956, 0.07615465, -0.05087544, -0.08154602, -0.09930794, 0.038940545, -0.04482969, 0.030320697) * go_11(1.0, 0.0); + result += mat4(-0.021777244, -0.026121575, -0.098968945, 0.11856233, -0.06619722, -0.04391681, -0.104664125, 0.054231886, -0.048003394, 0.016370691, 0.07524773, 0.11176989, -0.010953224, -0.023690404, -0.089470014, 0.0042499765) * go_11(1.0, 1.0); + result += vec4(-0.011046071, 0.028069533, -0.02290214, 0.012731334); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_tf3 +//!BIND conv2d_tf4 +//!BIND conv2d_tf5 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.11662476, 0.30973792, 0.21844758, 0.19193952, 0.10547289, -0.28103492, 0.153185, 0.22902022, 0.14545941, -0.36453786, 0.27674347, 0.082761206, 0.018604625, -0.15195464, -0.014881725, -0.3170343) * g_0; + result += mat4(-0.09369265, 0.0030548668, 0.123169556, 0.29990658, 0.0059669684, -0.30507565, 0.22437601, 0.26314184, 0.055285115, 0.08910655, -0.07781467, 0.34908244, 0.12883523, -0.1218909, 0.46330363, -0.00058599625) * g_1; + result += mat4(-0.13166216, -0.11733475, 0.3777369, -0.11452789, -0.012198889, 0.019259788, 0.19055355, 0.14045803, 0.2352836, 0.18440361, -0.119568326, 0.15006012, 0.12928642, 0.2181605, -0.1755796, -0.1481423) * g_2; + result += mat4(0.20824851, 0.1454897, 0.016380647, 0.08601717, -0.0287675, -0.17842998, 0.24576826, 0.024758099, -0.06907304, -0.33883977, -0.18469703, -0.11530369, -0.13971063, 0.09056448, 0.10467011, 0.087848045) * g_3; + result += mat4(0.47120807, -0.15463045, 0.03930625, 0.18975684, 0.17118797, 0.077672035, 0.029735595, -0.0064234287, 0.35503763, 0.23442392, 0.09259758, 0.06642276, 0.16423592, 0.16245009, 0.043012362, -0.16605885) * g_4; + result += mat4(0.14847134, -0.41317105, 0.21329704, -0.115592465, -0.04099491, 0.22865698, -0.011546307, 0.124923006, 0.02029704, 0.014588208, -0.0032878371, 0.09777601, 0.27264157, 0.26693115, -0.083503485, -0.11275104) * g_5; + result += mat4(0.0073214495, -0.30733636, -0.28372166, -0.23081271, -0.24020568, 0.17335413, -0.08835816, -0.1407258, 0.043210473, 0.29907116, -0.15998003, -0.10616064, -0.19272846, 0.07347569, 0.065403186, 0.21924807) * g_6; + result += mat4(0.1390639, 0.07071387, -0.10704547, -0.22267987, 0.14110383, 0.31690794, -0.14299001, -0.2633626, -0.37578335, -0.11325702, -0.012588563, 0.05235386, -0.05790653, 0.29747054, -0.11362069, -0.034965772) * g_7; + result += mat4(0.334025, 0.06966542, -0.30425888, -0.049219113, 0.05522049, -0.064109504, -0.19639532, -0.06540687, -0.3323081, -0.11462512, 0.12793858, -0.044268914, -0.13001205, -0.4268851, 0.09755515, 0.22260398) * g_8; + result += mat4(-0.070916615, -0.032426283, -0.031039508, 0.113172114, -0.083208784, 0.09998266, -0.057585325, -0.017305639, 0.07392591, 0.11129369, -0.12461519, -0.13633083, 0.11811745, -0.049483757, -0.16540588, -0.19690844) * g_9; + result += mat4(-0.0761509, 0.06887501, -0.17220098, -0.2689129, -0.15664133, 0.014503109, 0.013423933, 0.07106888, 0.08206795, -0.26531503, -0.19532347, -0.09172804, -0.0701496, 0.029842263, -0.15747191, 0.03876475) * g_10; + result += mat4(0.05873964, 0.21549611, -0.15765984, 0.11783242, 0.09904579, -0.1505368, 0.009470319, 0.11437343, 0.07330138, -0.12074719, 0.046029083, 0.07719378, -0.14860357, 0.012415384, -0.15716434, 0.096243195) * g_11; + result += mat4(0.38489017, 0.10751408, 0.28326878, 0.10983613, -0.08363852, 0.060594987, -0.1407845, -0.2330205, -0.0033884577, -0.025575818, -0.21328409, -0.013343768, 0.37102774, -0.018506272, 0.15474491, 0.20658477) * g_12; + result += mat4(-0.21097998, 0.11116577, 0.0066421195, -0.053172227, 0.041547738, -0.115422554, 0.18638755, 0.15930174, -0.11901881, -0.14221598, 0.113654196, -0.035343777, 0.0037377405, 0.0054536746, -0.16508429, -0.112160645) * g_13; + result += mat4(-0.168217, 0.33982185, -0.14226285, -0.061567828, 0.38622376, 0.16323963, 0.009866034, 0.24718387, 0.15684012, 0.16934262, -0.07659216, -0.27921352, 0.31008887, -0.117847964, 0.033022024, -0.0028089648) * g_14; + result += mat4(0.13425586, -0.1403824, -0.14900951, 0.044306386, -0.39742225, -0.086779915, 0.023442117, -0.015157307, -0.33325103, 0.07626949, -0.14105129, 0.3872729, -0.09532729, 0.21603268, 0.08987563, -0.048167326) * g_15; + result += vec4(-0.045520097, -0.028044129, 0.01954312, -0.04157413); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_tf3 +//!BIND conv2d_tf4 +//!BIND conv2d_tf5 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf1 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.045708127, 0.042588994, 0.20735477, -0.051771507, 0.09030856, -0.018859424, 0.070019834, -0.12951517, -0.09864889, 0.0039071254, -0.2471996, -0.4045421, -0.13531524, 0.3199352, 0.18798132, -0.05220945) * g_0; + result += mat4(-0.01900776, 0.14814821, -0.011676551, 0.05281246, -0.31253627, 0.07759687, 0.14841238, 0.15767692, 0.022344964, 0.03369595, 0.11200526, 0.24555564, 0.32339647, -0.08221667, 0.369651, 0.07480396) * g_1; + result += mat4(0.15557157, -0.2438033, 0.2904723, 0.37869072, 0.031437404, -0.32791093, -0.30852196, 0.032672517, -0.29223853, 0.14301808, -0.13372968, -0.17571832, -0.24015012, -0.062435087, -0.5865883, 0.025141397) * g_2; + result += mat4(0.018575411, -0.05546697, 0.0722868, -0.27057, -0.010986958, -0.1824116, 0.066343606, 0.1160373, 0.019109331, 0.1384729, -0.27752632, -0.09579411, 0.05585664, -0.16496943, -0.22690243, -0.035963364) * g_3; + result += mat4(-0.24451451, 0.008807087, -0.050169405, -0.02992327, -0.029381998, 0.10529693, 0.3212115, 0.047833674, 0.19737382, -0.064389326, 0.07481576, 0.04658625, 0.16120902, 0.38747096, -0.017129492, 0.036965623) * g_4; + result += mat4(0.024272425, 0.33644682, 0.57385606, 0.06969318, -0.18557239, 0.03263415, -0.098865986, -0.010410991, -0.27383336, 0.12643056, 0.13473713, -0.0072413897, 0.19951838, -0.26192865, -0.32222465, -0.03310627) * g_5; + result += mat4(0.19670399, 0.21887897, -0.14813757, 0.13861343, -0.21291518, 0.11673954, -0.09706275, 0.1927499, 0.26426026, 0.15662387, -0.0998039, 0.20456441, 0.082849964, -0.3486019, 0.042286832, 0.111299105) * g_6; + result += mat4(-0.17601213, 0.10744524, -0.13022378, -0.08145177, 0.17951357, -0.031804252, -0.11589841, -0.2375892, -0.17614031, -0.03204455, -0.3600058, -0.03791698, -0.18281102, -0.029681103, -0.5616249, -0.19369541) * g_7; + result += mat4(-0.15129189, 0.062397495, -0.26206407, -0.35008666, 0.05224934, 0.32542625, 0.1367121, -0.06498142, 0.03794349, 0.10062078, 0.24966402, 0.16598183, 0.14065337, 0.021026433, 0.4124626, -0.04739923) * g_8; + result += mat4(-0.42675805, -0.08062075, 0.24400486, 0.24982014, 0.013383713, -0.030127892, 0.21306989, -0.420491, 0.27569297, 0.1844745, 0.18380351, -0.007122975, 0.02176471, 0.11719434, 0.20086622, 0.09863608) * g_9; + result += mat4(0.15059754, -0.060954567, -0.048324715, 0.06281138, -0.035452355, -0.105307326, -0.2821464, -0.17947711, -0.21891887, 0.31264433, 0.08331072, -0.23028368, -0.07125341, -0.25531566, -0.034880344, -0.10972097) * g_10; + result += mat4(-0.26111153, -0.21509336, -0.40953597, -0.22704326, -0.06265872, -0.0076560513, 0.3454225, 0.036587927, -0.25836223, -0.017044103, -0.39408937, -0.04515616, -0.013889385, 0.21049121, -0.05811886, 0.11039355) * g_11; + result += mat4(-0.5012236, -0.3288161, 0.76283616, -0.22785094, 0.15983264, 0.17595172, -0.19039781, -0.017620942, 0.088379174, -0.2810294, 0.14195396, -0.10567756, -0.26113996, -0.59151506, 0.064743236, 0.089407794) * g_12; + result += mat4(0.09782677, 0.15405431, -0.38398, 0.025821349, -0.11564193, -0.2344232, 0.048547853, -0.0013135487, -0.021783575, -0.14494252, 0.10181801, 0.15313332, 0.22384043, 0.08691754, -0.18728645, 0.058859203) * g_13; + result += mat4(0.30570078, 0.34977347, -0.2548985, 0.2440776, -0.12693292, 0.42302638, -0.2579403, -0.12731943, 0.02704416, -0.028827233, -0.103797026, 0.16991018, 0.18460067, -0.1430559, -0.40419313, -0.046166003) * g_14; + result += mat4(-0.24799332, -0.4023106, 0.20775889, -0.1347491, 0.22718747, -0.5363376, -0.0045881635, -0.08498401, 0.12643133, -0.18700986, -0.031182116, 0.10537964, -0.12853408, 0.1540884, 0.14051637, 0.14159201) * g_15; + result += vec4(-0.0549599, -0.005265513, 0.033013426, -0.018428912); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_tf3 +//!BIND conv2d_tf4 +//!BIND conv2d_tf5 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf2 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.17167501, -0.20074758, -0.091966644, 0.17859644, 0.118206196, 0.34780696, -0.13851282, -0.15981564, -0.076300435, 0.15581897, 0.14410381, -0.15348436, -0.15534315, -0.2340937, -0.11868538, 0.0851946) * g_0; + result += mat4(0.054577276, -0.2794922, -0.11732257, 0.120796256, -0.1978545, -0.051208086, -0.07047726, 0.15230909, -0.26737535, -0.0122873, 0.026735889, -0.13376889, -0.15112357, 0.07320343, 0.31711194, -0.2877825) * g_1; + result += mat4(-0.20589454, -0.13458282, -0.014493836, -0.007392441, -0.083313756, 0.0069659096, -0.0074436525, -0.02603582, 0.02844895, -0.03466271, -0.15414406, 0.0131968865, -0.023258701, -0.0410315, 0.16994998, 0.11258594) * g_2; + result += mat4(0.26200938, 0.086695306, -0.115744606, 0.06443161, -0.2161834, -0.08266891, 0.1765909, -0.20307815, 0.025309294, 0.33511654, -0.0001637002, -0.059903737, 0.101451375, -0.013754625, -0.11448642, -0.09510312) * g_3; + result += mat4(-0.18455864, 0.036392804, 0.15850407, 0.4627119, 0.022083975, 0.15103343, 0.19111873, -0.06110459, 0.29009378, -0.089215584, 0.0095581515, -0.08869528, 0.15069005, -0.17065643, 0.26667884, -0.14760415) * g_4; + result += mat4(0.047154248, -0.004531016, -0.15437222, -0.31048393, 0.09027498, 0.08990544, 0.2252978, 0.36424273, 0.15726654, -0.56078666, -0.08649826, -0.22744723, 0.16684572, 0.12967846, 0.12568599, -0.104463704) * g_5; + result += mat4(0.3277519, 0.05652085, 0.22621375, 0.28361705, -0.19233695, -0.14974803, 0.18974204, 0.2078392, 0.07101538, 0.14084798, 0.11973675, 0.20132545, 0.07275875, 0.093166135, 0.07810121, 0.14855048) * g_6; + result += mat4(-0.066067055, 0.07116497, 0.16419168, -0.042009585, 0.048940875, -0.14183162, 0.106968045, -0.18822758, 0.16543157, -0.06218013, -0.15914337, 0.13385944, 0.12195849, -0.17245843, -0.11288994, 0.06605676) * g_7; + result += mat4(0.033830874, 0.27364245, -0.13338806, -0.12021034, 0.0624405, -0.10521141, 0.028734906, -0.06998827, 0.088741004, 0.16279134, 0.26099658, -0.046972543, -0.23423652, 0.15810764, 0.0008583185, -0.29681998) * g_8; + result += mat4(0.10305078, -0.17637174, -0.07091048, -0.00831249, 0.40148687, 0.20420474, 0.05468663, 0.20745115, -0.12189844, -0.16298126, -0.41976577, 0.018498925, -0.19579916, 0.097037986, 0.110560134, 0.024746) * g_9; + result += mat4(-0.31636187, -0.06314442, -0.1491463, -0.36367223, 0.13375707, -0.46219668, -0.08560705, 0.00979978, -0.33054784, -0.048843995, -0.5661279, 0.2450401, 0.049516775, 0.05733291, 0.008123728, 0.13401002) * g_10; + result += mat4(-0.09406586, -0.1038661, 0.18738243, 0.4952333, 0.124727175, -0.1438255, -0.12731665, -0.19241591, -0.29327804, 0.1374427, -0.15773357, -0.21447569, 0.0020323892, -0.032879442, 0.019189913, 0.022784567) * g_11; + result += mat4(0.27434522, 0.12163328, 0.2289956, -0.12183031, -0.000272515, -0.023530856, 0.099465564, 0.121231996, 0.3175001, 0.124576926, -0.090265624, -0.1386641, -0.20303635, 0.23467141, 0.0842663, 0.42639464) * g_12; + result += mat4(0.111336865, -0.10426442, -0.22704108, -0.08042834, -0.13705374, -0.06750703, 0.005238288, -0.020887226, 0.04180084, -0.10919923, -0.2624013, 0.017800566, -0.03857038, 0.21999447, 0.028879922, -0.12443005) * g_13; + result += mat4(-0.021032276, 0.25167516, 0.18236992, 0.021120392, -0.14439242, -0.3752765, -0.4087792, 0.12474052, -0.07753308, 0.24097584, 0.01818881, 0.25023264, 0.3096247, -0.21351217, -0.31819695, 0.01839186) * g_14; + result += mat4(-0.04455319, -0.33904293, -0.1072782, -0.07438099, 0.21500371, 0.2610481, 0.11105567, -0.07383555, -0.18360671, -0.02730343, -0.19995123, -0.3209995, 0.008217429, -0.1731404, 0.00079199206, 0.058588315) * g_15; + result += vec4(-0.05414109, -0.03095426, 0.058985617, 0.012448636); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_tf3 +//!BIND conv2d_tf4 +//!BIND conv2d_tf5 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf3 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.15813187, 0.15032968, -0.358124, 0.054663192, -0.25664124, -0.047136743, 0.024661854, 0.29019728, -0.1586862, -0.12748682, 0.40721273, 0.02187444, 0.011839724, -0.41867453, -0.2442098, -0.24595131) * g_0; + result += mat4(-0.15485683, 0.31738782, -0.3137046, 0.082112595, 0.0737305, 0.11812223, 0.19734107, -0.18905711, 0.088300474, -0.16933976, 0.15907732, -0.11422951, -0.056749936, -0.373262, -0.06974283, -0.2820898) * g_1; + result += mat4(-0.26680642, 0.19024834, 0.002037017, -0.064218, -0.15495898, 0.2750016, 0.23787461, -0.17998067, -0.012667507, 0.27450457, 0.24563935, 0.21562263, -0.0075859334, -0.08958551, -0.093937464, -0.078713246) * g_2; + result += mat4(-0.17318735, -0.008759622, 0.15150657, 0.2992114, 0.022198962, -0.07318335, -0.14881803, 0.13562077, -0.0022031132, -0.19316684, 0.2535826, -0.05084298, -0.32218117, 0.1267631, -0.042296994, 0.036732808) * g_3; + result += mat4(0.25161934, -0.09492602, 0.13423127, 0.032517985, -0.06686973, -0.061583497, -0.1828305, 0.122823365, -0.21438296, -0.30841893, 0.1731841, -0.29667705, -0.29025105, 0.13186353, -0.043046407, -0.34681532) * g_4; + result += mat4(-0.14662783, -0.11100817, 0.073842436, -0.14357355, 0.24532394, 0.061293274, 0.037153088, -0.08022293, 0.11296792, 0.25762567, 0.1803339, 0.24524696, -0.06480696, 0.06504735, 0.04941994, -0.20177524) * g_5; + result += mat4(-0.06278919, -0.25327423, 0.08713618, -0.11191733, 0.33828825, 0.058243927, 0.05450901, -0.37079945, 0.08136556, 0.24741262, -0.27361023, -0.068275, 0.050629843, 0.21304448, 0.2734626, -0.16750076) * g_6; + result += mat4(0.11121274, -0.115385205, 0.22477418, -0.06725809, -0.15530252, -0.031487826, -0.17961866, 0.025540952, 0.08094816, 0.22538602, -0.1449456, 0.033616643, 0.11810663, 0.1127742, 0.17407128, 0.059245285) * g_7; + result += mat4(0.43453342, -0.12170353, 0.09817627, 0.14755897, 0.17435667, -0.22251855, -0.32671428, 0.107192695, 0.26639727, -0.2892611, -0.1413853, -0.082134426, 0.016464738, 0.08648902, 0.06256596, -0.023842275) * g_8; + result += mat4(0.3739318, 0.118386924, -0.10602344, 0.051698774, 0.116221406, -0.34542432, -0.13280031, -0.53044075, -0.19284041, 0.14490364, -0.2050812, 0.12533414, 0.22506653, -0.07526672, 0.035203286, 0.026242174) * g_9; + result += mat4(-0.5327144, 0.1649795, -0.11507187, -0.234499, 0.061057597, 0.06764596, 0.20559542, -0.07742593, 0.2165637, -0.1549744, 0.026953368, 0.3037089, 0.110090226, -0.1258564, 0.13759027, 0.16844687) * g_10; + result += mat4(0.24411613, -0.004854083, -0.009286953, -0.00086425553, -0.22064768, 0.0014907656, -0.08684952, 0.029716417, -0.241052, -0.13597979, -0.10451872, -0.26793602, -0.08911106, 0.024757262, 0.17348441, 0.29419208) * g_11; + result += mat4(-0.07577307, 0.030659143, 0.97284687, -0.09018963, 0.059575, 0.09799077, 0.065673314, 0.22537662, -0.0015259798, 0.24301144, -0.09336371, -0.14226802, -0.33286256, 0.027389184, -0.5026264, -0.15279126) * g_12; + result += mat4(0.14727022, -0.10878168, -0.1100343, 0.12144918, -0.03657926, -0.029442519, -0.0017414992, -0.2532462, 0.18112376, -0.058077507, 0.35388008, 0.32712713, 0.17805058, 0.13992003, 0.17930086, 0.39848652) * g_13; + result += mat4(-0.25576255, 0.18205768, 0.08984218, 0.10292959, -0.15820667, -0.090718776, 0.1579229, 0.43783715, 0.078025974, 0.21724561, -0.25238967, -0.23599494, -0.08510723, 0.17738545, 0.13962658, 0.16159406) * g_14; + result += mat4(-0.11219203, 0.075433955, -0.11129301, -0.09385265, 0.22908452, 0.051752828, -0.0993372, -0.2636262, 0.04221882, -0.37118244, -0.1460174, 0.11764387, 0.22468969, -0.197521, -0.13387764, 0.30982286) * g_15; + result += vec4(0.0379655, 0.052258957, -0.017226165, -0.0132343555); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_tf3 +//!BIND conv2d_tf4 +//!BIND conv2d_tf5 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf4 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.113150194, -0.012228015, -0.10810589, 0.18282048, -0.14255662, 0.37686804, -0.34455574, -0.17653705, -0.10299696, 0.17156567, 0.06475307, 0.21704634, 0.05987743, -0.20447443, -0.22365163, 0.26045614) * g_0; + result += mat4(0.25273082, 0.28410602, 0.13341063, 0.15524255, -0.038504723, -0.2987473, 0.5113095, -0.041018266, 0.15720472, -0.07154719, -0.104476094, -0.36850104, -0.09235334, -0.02460906, 0.1918179, 0.108431995) * g_1; + result += mat4(-0.16259582, -0.14792964, 0.01875614, 0.19722176, 0.30285388, 0.17894153, 0.02760128, -0.1352214, 0.28634933, -0.0074598296, -0.09348916, 0.12859564, -0.08578008, -0.30871972, -0.19463369, 0.029592479) * g_2; + result += mat4(0.41718173, -0.08798418, -0.12914781, -0.016728701, -0.004022609, -0.36890173, 0.009880859, -0.1725598, -0.1853788, 0.06624611, 0.010526983, 0.11285315, 0.22359152, 0.04253032, -0.28357792, -0.106521696) * g_3; + result += mat4(0.23125984, 0.063943766, -0.1724623, -0.17019297, 0.08842359, 0.18506196, 0.20219392, -0.07514321, -0.152088, 0.40809697, 0.22866395, 0.29942676, -0.10514515, 0.14835912, 0.255409, 0.005298396) * g_4; + result += mat4(0.118000366, 0.040876955, -0.15260358, -0.34197953, 0.16392517, 0.037801206, 0.26511702, -0.16595386, -0.3013676, 0.032535754, 0.2059592, 0.20713131, -0.074489266, -0.0827021, -0.0930588, 0.12812042) * g_5; + result += mat4(0.12129869, -0.19799119, -0.42776105, -0.15996172, 0.19189952, -0.48698276, 0.14109898, 0.033108126, -0.06918676, -0.28060475, 0.067065634, -0.117751226, 0.07274701, 0.016352981, 0.11877358, -0.30382705) * g_6; + result += mat4(-0.037769582, -0.0039873547, -0.27957156, -0.027259788, -0.005021477, 0.20690842, -0.43643278, 0.12125521, 0.095314205, 0.13150905, -0.1545535, 0.5004901, 0.078181274, 0.1480264, -0.037564073, -0.07784829) * g_7; + result += mat4(0.03755771, 0.22955105, -0.03231175, -0.16500925, -0.2564081, -0.13914458, -0.031046085, 0.10951839, -0.14864902, -0.068928115, 0.0909355, -0.14147623, -0.1901003, 0.35303396, 0.07698175, -0.09974956) * g_8; + result += mat4(-0.050013836, 0.21334587, 0.107435666, 0.22424911, -0.20007136, 0.5500792, -0.40816012, 0.25101343, 0.19421935, 0.035117567, 0.20783037, 0.17410451, -0.28405052, 0.06190316, 0.38027903, 0.051337413) * g_9; + result += mat4(-0.46978363, -0.11272793, 0.12973092, 0.021777695, -0.020381203, -0.1912334, -0.16367903, 0.32833096, 0.08339247, 0.008160841, 0.37062842, -0.014087529, 0.094892465, -0.012870317, -0.010378546, 0.015417017) * g_10; + result += mat4(-0.030511223, -0.08355093, 0.08717814, 0.32149768, 0.19554101, 0.2929336, -0.07563172, 0.2604295, 0.2978335, -0.20227137, 0.1991364, 0.04514103, 0.12003651, -0.12325602, 0.10554548, -0.012967588) * g_11; + result += mat4(0.20080462, -0.0441012, -0.12478753, 0.072197564, -0.11796578, 0.1803613, 0.16319636, 0.05116462, -0.025635032, 0.18309167, 0.016345788, 0.19902118, -0.27134508, -0.24213642, -0.12992004, 0.42813647) * g_12; + result += mat4(0.11977094, 0.010334066, 0.100837916, 0.1320789, 0.1863875, -0.31015033, -0.0759456, 0.033703748, 0.11986626, -0.28383213, 0.26054385, 0.09489738, -0.0829573, 0.05104106, -0.103039704, -0.3475618) * g_13; + result += mat4(-0.3418708, 0.095728405, -0.046365432, -0.15324275, -0.15171754, 0.12827595, 0.061078403, 0.12247848, -0.32564154, 0.27075362, -0.03819952, -0.41804206, -0.22586496, -0.06467655, 0.055885177, 0.104513146) * g_14; + result += mat4(0.025562786, -0.12636441, -0.12522306, -0.1816289, -0.21966882, 0.075359344, 0.095027685, -0.27646592, 0.12653323, -0.08085943, 0.09971742, 0.24018568, 0.053527232, -0.0054027676, 0.07405578, -0.14746837) * g_15; + result += vec4(0.0619906, -0.042231698, -0.01461747, 0.016205417); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x64 +//!HOOK MAIN +//!BIND conv2d_tf +//!BIND conv2d_tf1 +//!BIND conv2d_tf2 +//!BIND conv2d_tf3 +//!BIND conv2d_tf4 +//!BIND conv2d_tf5 +//!BIND conv2d_2_tf +//!BIND conv2d_1_tf +//!SAVE conv2d_3_tf5 +//!WIDTH conv2d_tf.w +//!HEIGHT conv2d_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_1 (max((conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_tf_tex(conv2d_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_tf1_tex(conv2d_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_tf2_tex(conv2d_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_tf3_tex(conv2d_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_tf4_tex(conv2d_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_tf5_tex(conv2d_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_2_tf_tex(conv2d_2_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.056609534, -0.072912574, -0.08224053, -0.27446464, 0.06299807, 0.17494963, 0.02013175, -0.3135523, -0.20414291, -0.002206245, -0.19089301, -0.035810925, -0.15909109, 0.23343667, 0.043236874, -0.05090461) * g_0; + result += mat4(0.071143255, 0.2344495, -0.08178796, 0.19529581, -0.15652603, -0.08692345, 0.15054622, -0.24628481, 0.13293579, 0.099183284, -0.14319651, -0.21706218, 0.18046993, -0.046167973, -0.2622163, 0.14739317) * g_1; + result += mat4(0.028098702, 0.16937847, -0.31955224, -0.13086726, 0.035734467, -0.12136727, -0.05286461, 0.13372248, -0.012013819, -0.013996318, 0.09585827, -0.0980455, -0.18155457, 0.058416523, 0.05363468, 0.2844176) * g_2; + result += mat4(-0.040509474, -0.040644035, -0.14309056, 0.109604076, -0.089917555, -0.05080418, -0.06218365, 0.08950535, -0.13581185, 0.30530998, 0.35584477, 0.25160718, 0.11817752, -0.15588048, -0.18560979, -0.021720303) * g_3; + result += mat4(0.19979374, -0.24442586, 0.06666042, -0.12413865, 0.0723267, -0.08070183, -0.050162878, 0.053533528, -0.23414859, 0.14660425, 0.0535612, 0.1824936, -0.06853291, 0.028537972, 0.08894496, -0.3005856) * g_4; + result += mat4(0.053230897, -0.14692295, -0.010351058, -0.03423785, -0.34997204, 0.17045908, -0.20471387, -0.05596227, 0.37312284, -0.166506, 0.027370568, -0.19885068, 0.22860329, -0.34381005, 0.13689034, 0.100899346) * g_5; + result += mat4(0.100836754, 0.172524, 0.14670734, 0.19648418, -0.22542813, -0.14784352, 0.16542062, 0.31592578, 0.09034929, 0.029557507, 0.016295122, 0.06270892, 0.119690046, -0.039440215, 0.1076754, 0.055114914) * g_6; + result += mat4(0.22560626, -0.19063824, 0.2289656, -0.12238879, 0.062091034, -0.17536564, -0.1097042, 0.18370546, 0.054991204, -0.16073585, 0.24551688, 0.29919684, -0.33145493, 0.06585065, 0.15001276, -0.12141834) * g_7; + result += mat4(0.0072760796, -0.33641306, 0.27806035, -0.0012592864, -0.031354345, 0.14530547, 0.026439384, -0.08998722, 0.16388611, 0.008192195, -0.031645425, 0.23180926, -0.106261194, -0.21588798, -0.01746241, -0.35864678) * g_8; + result += mat4(0.11795532, 0.24395278, 0.06954797, 0.05902286, 0.002836295, 0.13273323, 0.17765377, -0.09331522, 0.13427891, -0.12334423, -0.2206351, -0.11630769, -0.19114569, 0.1635797, 0.17295037, 0.012300116) * g_9; + result += mat4(-0.16389936, 0.104410745, -0.046638153, -0.08462526, -0.05850656, 0.07821304, 0.12509613, -0.08973294, 0.2538881, 0.013903494, -0.18470205, 0.01099874, -0.10122345, -0.2053046, -0.15341048, 0.19987997) * g_10; + result += mat4(-0.10358656, 0.29928508, 0.07767035, -0.065468244, 0.33847088, -0.010010049, -0.18632844, -0.022442589, -0.20640668, 0.12077326, 0.17598887, -0.036393534, 0.057061106, 0.32527304, -0.17863084, -0.08244848) * g_11; + result += mat4(-0.019896565, 0.18471427, -0.23525807, -0.090934336, -0.22715406, 0.025219338, 0.08826347, -0.11013379, 0.053721644, 0.020721693, -0.14894027, 0.017000167, -0.077067815, 0.005117918, -0.60429895, -0.46772584) * g_12; + result += mat4(0.27064618, 0.124304846, 0.17178236, 0.0067777717, 0.20274666, -0.0066843866, -0.10537028, 0.07832309, -0.100172564, -0.084412105, -0.029130317, 0.04364024, 0.08182053, -0.100823514, -0.0935743, -0.029079227) * g_13; + result += mat4(-0.26241225, -0.05721237, 0.101424344, -0.34958288, 0.31858712, -0.076861545, -0.46517807, 0.30126542, 0.086722255, -0.13480917, 0.11960615, 0.4943688, -0.32738853, -0.19455571, 0.026463214, 0.07926301) * g_14; + result += mat4(0.16170315, 0.13929573, 0.059762456, 0.23802169, -0.3277194, 0.24683446, 0.112627044, -0.1602516, 0.08662639, 0.1476813, 0.1104441, -0.3317887, 0.16108729, 0.11565731, -0.18657148, 0.01665966) * g_15; + result += vec4(-0.11646883, -0.009549349, 0.02843715, 0.004513963); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_3_tf3 +//!BIND conv2d_3_tf4 +//!BIND conv2d_3_tf5 +//!SAVE conv2d_5_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_3_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_3_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_3_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_3_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_3_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_3_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.014753134, -0.04786919, 0.11870752, 0.062323157, 0.012823349, -0.18270767, 0.05781849, 0.009605695, -0.11679257, -0.031872023, 0.06138625, 0.035083354, 0.0090230685, -0.226682, 0.06104293, -0.27476013) * go_0(-1.0, -1.0); + result += mat4(-0.057164494, 0.031943344, -0.026907986, 0.1625164, 0.063061535, -0.05563398, -0.050311144, 0.052950714, -0.13305314, 0.095417894, -0.019991228, -0.10098878, -0.04697902, -0.095713176, 0.15546167, -0.029640567) * go_0(-1.0, 0.0); + result += mat4(0.070663795, 0.10422805, 0.014885193, 0.045137066, 0.0693627, -0.08800005, -0.110621534, -0.16098051, 0.03345156, -0.13288338, 0.052109558, 0.08176279, -0.0874141, -0.085414626, -0.026397523, -0.061462812) * go_0(-1.0, 1.0); + result += mat4(-0.016594352, 0.15287156, 0.074731305, 0.0964361, -0.08787371, -0.13661076, 0.2141366, -0.028111434, 0.1326143, -0.20716804, -0.08138669, -0.099190034, 0.06144844, -0.110713564, -0.014771929, -0.14836042) * go_0(0.0, -1.0); + result += mat4(0.09738207, -0.14664938, -0.1250703, -0.038655713, 0.05584081, 0.03942745, 0.073783375, 0.056581516, -0.15187903, 0.08551972, 0.022938624, 0.15554221, 0.028497955, 0.095256545, 0.06512413, 0.028258305) * go_0(0.0, 0.0); + result += mat4(-0.15085734, 0.17242025, -0.034663428, 0.07946447, -0.023244603, 0.009506006, 0.017019462, 0.037655763, -0.03177796, -0.1733154, 0.12542902, -0.08050667, -0.07999971, -0.018520301, -0.034357913, -0.13834344) * go_0(0.0, 1.0); + result += mat4(0.03910769, -0.05480014, 0.10282842, 0.11273193, -0.117832065, -0.03342582, 0.024672383, 0.01922069, 0.052449033, -0.07383957, -0.06616735, -0.07622469, 0.07522412, -0.011379491, -0.10019852, -0.09873271) * go_0(1.0, -1.0); + result += mat4(0.13609584, 0.03403247, -0.080141336, 0.077994175, -0.117510326, -0.09721173, 0.11609589, -0.011041011, 0.08279879, 0.034463685, -0.029874083, -0.09348013, -0.012873403, 0.023173302, 0.13702866, -0.016699987) * go_0(1.0, 0.0); + result += mat4(0.012070883, 0.020341417, -0.017083466, 0.036868714, -0.04590393, -0.0042756707, 0.034706842, 0.10106157, 0.020871256, 0.07026538, -0.008456792, -0.031980522, -0.037377477, 0.0024875633, -0.048794776, 0.054988988) * go_0(1.0, 1.0); + result += mat4(-0.10563537, 0.11606471, 0.18385051, 0.037006877, 0.10408082, -0.041231528, -0.15187787, -0.09085941, 0.08950542, 0.06414686, -0.22425447, -0.27310994, -0.02024463, -0.025200754, 0.11368761, 0.10785044) * go_1(-1.0, -1.0); + result += mat4(-0.030225338, -0.10834746, -0.10231699, -0.03254886, 0.11373231, -0.054429933, 0.026529413, -0.07203562, 0.020784596, -0.08582458, 0.011069094, -0.16185156, -0.1382461, 0.024487281, -0.120093465, -0.29875785) * go_1(-1.0, 0.0); + result += mat4(-0.008845826, -0.11932165, 0.07947179, 0.19418922, 0.00601994, 0.08698007, 0.0070720594, -0.12667209, 0.077381305, -0.05648546, 0.058756344, 0.118710436, -0.15738462, -0.113216214, -0.18746306, -0.16013232) * go_1(-1.0, 1.0); + result += mat4(-0.11823833, -0.10346257, 0.16498324, 0.017223012, 0.16676189, -0.03270543, 0.08681522, -0.019200213, 0.27930862, -0.39976546, -0.08013078, -0.07730102, 0.1775448, -0.23172536, 0.3080911, 0.066501014) * go_1(0.0, -1.0); + result += mat4(-0.13012904, 0.05373303, -0.04057597, 0.098716326, -0.012068175, 0.007822063, -0.10612095, 0.10029054, -0.03896638, 0.092982456, 0.44525465, 0.105101556, -0.01651052, 0.12284007, -0.29234242, -0.016989872) * go_1(0.0, 0.0); + result += mat4(0.03517081, -0.15103249, -0.024740495, 0.11605604, -0.0063804537, 0.0851682, -0.074134536, -0.0820308, -0.051267844, 0.026468761, 0.12227241, -0.023516016, -0.036753807, 0.009863132, -0.18385997, -0.006226107) * go_1(0.0, 1.0); + result += mat4(0.042300962, 0.0612368, 0.04273769, -0.009331085, 0.024928207, 0.036657955, -0.026505891, -0.0995487, 0.040830083, -0.05794873, -0.2301118, -0.25562578, 0.15100408, -0.11114937, 0.12458043, -0.031075275) * go_1(1.0, -1.0); + result += mat4(-0.12209181, -0.159118, -0.044463716, 0.12174668, 0.080834165, -0.030461645, -0.21788771, 0.15906425, -0.08619984, -0.2559847, -0.111772224, 0.089261115, 0.03629327, 0.031571757, -0.19015229, -0.13537124) * go_1(1.0, 0.0); + result += mat4(-0.05894997, 0.036665007, -0.057672605, -0.043688748, 0.010406858, -0.025670307, -0.17934126, -0.028273577, -0.027246438, -0.12550274, -0.13044403, 0.18990144, -0.06271228, -0.09306704, -0.14787146, -0.037143167) * go_1(1.0, 1.0); + result += mat4(0.24538438, 0.07817913, -0.03810617, -0.0063618342, -0.034510795, -0.09723374, 0.0042433045, 0.02840398, -0.008296004, 0.03182418, -0.020445613, 0.040570706, 0.06958669, -0.074645676, -0.045477536, -0.31765696) * go_2(-1.0, -1.0); + result += mat4(-0.07984125, 0.060450725, 0.047792103, 0.008377732, -0.20518395, 0.05043399, -0.01679626, -0.071454376, 0.22970293, -0.014139528, -0.011059268, -0.066941515, 0.07590278, 0.06008143, 0.110568896, 0.051596068) * go_2(-1.0, 0.0); + result += mat4(-0.043445505, 0.07130074, -0.110674106, 0.1135976, -0.17528361, 0.027846763, -0.17418873, 0.062023338, 0.022821834, 0.05296679, 0.10935556, 0.12795413, 0.042655166, 0.0106115835, 0.2004836, -0.081612624) * go_2(-1.0, 1.0); + result += mat4(0.0065808836, 0.07898094, 0.03718763, -0.025817946, -0.1892885, 0.17788704, -0.01939055, 0.0058550234, 0.09937207, -0.051095694, -0.05730913, 0.059234787, 0.28931195, -0.09421872, -0.37408957, -0.20798929) * go_2(0.0, -1.0); + result += mat4(-0.16620718, -0.14868094, -0.12021037, -0.057172157, 0.10535018, -0.0759594, -0.14075747, -0.02022368, -0.18982969, 0.14067341, -0.05750312, 0.08877888, 0.10700357, -0.026717503, -0.033623595, 0.12195265) * go_2(0.0, 0.0); + result += mat4(0.17748521, -0.03286829, 0.0053956825, 0.07372289, 0.055121407, -0.10435926, 0.014667389, 0.0427475, 0.18460171, 0.08454504, -0.08122923, -0.06552034, 0.10567158, 0.1778359, 0.17437135, 0.05902918) * go_2(0.0, 1.0); + result += mat4(-0.08628083, 0.04757524, 0.013566496, 0.058866933, 0.028604174, 0.022337232, 0.036754955, 0.14828879, -0.12659909, -0.010767183, 0.02895015, 0.07494568, -0.02031085, -0.18338795, 0.06491627, 0.18581006) * go_2(1.0, -1.0); + result += mat4(0.086914204, 0.17564085, 0.20865819, 0.003970879, -0.065245375, 0.0719146, 0.0036821382, -0.0005362681, 0.17954963, -0.044090744, -0.0004970521, -0.08508769, -0.0038966718, 0.12987554, 0.10152699, -0.07551662) * go_2(1.0, 0.0); + result += mat4(-0.12458449, 0.046369124, -0.21519043, -0.14829193, 0.0010138899, 0.035694696, 0.038200002, -0.042452868, -0.10323941, 0.12175021, -0.03257118, 0.03198656, 0.014596667, -0.050239712, 0.06553759, -0.0055009895) * go_2(1.0, 1.0); + result += mat4(0.042482298, -0.08873179, 0.09256576, 0.075650096, 0.08212508, -0.027149782, -0.13923948, -0.029412258, -0.046472896, -0.10929789, 0.11386972, 0.09277685, -0.03398996, -0.03957954, -0.08847087, -0.079389304) * go_3(-1.0, -1.0); + result += mat4(0.10738428, -0.060133323, 0.058830995, 0.053890802, 0.05381688, -0.017617341, 0.09074316, -0.14257678, -0.04499134, 0.027924139, 0.1744376, 0.11245277, -0.021527067, -0.0448567, 0.019239385, 0.036269695) * go_3(-1.0, 0.0); + result += mat4(0.022881636, 0.08740093, 0.03667878, -0.022591162, -0.027113255, -0.058345437, 0.07440467, 0.07153011, -0.076189674, -0.0150532955, 0.023971885, -0.033418965, -0.09023294, -0.038390294, -0.09872095, 0.042008042) * go_3(-1.0, 1.0); + result += mat4(-0.016122708, 0.10938718, 0.011049308, -0.026979597, -0.09640132, 0.027440734, 0.059382755, -0.16636404, 0.06228894, -0.06278199, -0.029541656, 0.07371035, 0.15832236, -0.110187896, 0.04382764, 0.0028967306) * go_3(0.0, -1.0); + result += mat4(-0.059453584, -0.14479995, -0.07264137, 0.051669978, -0.04175092, 0.0438449, -0.16053757, -0.3129702, -0.044897456, 0.13238364, -0.16941388, -0.0010662815, -0.058727518, -0.009789796, 0.056073397, 0.24528863) * go_3(0.0, 0.0); + result += mat4(-0.042534802, -0.031428255, -0.13127099, 0.03545817, -0.12471701, -0.11506875, -0.04119249, 0.09132754, -0.1016195, -0.03640248, 0.007980519, 0.052966777, -0.023626154, -0.1328367, -0.10114847, 0.03886791) * go_3(0.0, 1.0); + result += mat4(0.09101958, -0.0018387871, 0.012616483, -0.17484885, 0.011751878, -0.089530915, 0.051097844, -0.04996934, -0.01005944, -0.020370236, -0.24793504, -0.012510409, 0.00786229, 0.04249317, -0.008741537, -0.016400656) * go_3(1.0, -1.0); + result += mat4(0.09523166, -0.042383313, -0.054711856, -0.04637368, 0.102178566, 0.2631821, 0.01233508, -0.010458087, 0.30316606, -0.22986925, -0.5806165, 0.23202705, -0.008722518, -0.010904748, -0.043592352, -0.05686299) * go_3(1.0, 0.0); + result += mat4(0.033423536, 0.098218225, 0.14418946, 0.02657937, 0.03015286, -0.0767474, 0.042458575, 0.1935135, 0.18014516, -0.11874242, -0.1996855, 0.08370151, 0.0690025, 0.07693498, 0.052911133, -0.116886765) * go_3(1.0, 1.0); + result += mat4(-0.08134629, -0.017970117, -0.018347586, -0.02937847, 0.0003775313, 0.19711903, -0.08546992, -0.021621648, 0.08250089, -0.01672797, -0.032528374, -0.038942847, 0.049553294, 0.04604846, 0.14648306, 0.013710108) * go_4(-1.0, -1.0); + result += mat4(-0.15212478, 0.06189338, 0.06345135, 0.124090515, 0.053533733, -0.04025595, -0.020564085, -0.28515917, 0.19415195, -0.015337308, -0.018422237, -0.15629065, 0.18082593, -0.011574442, -0.14429837, -0.05707318) * go_4(-1.0, 0.0); + result += mat4(0.0925495, -0.037113782, 0.065900736, 0.008590338, -0.051698808, 0.10596262, 0.2240978, -0.07484259, -0.03791268, -0.10214985, -0.113221854, 0.021240849, -0.086688854, 0.020506943, -0.006777104, -0.016338166) * go_4(-1.0, 1.0); + result += mat4(-0.24208999, 0.0559375, -0.08700456, 0.079334885, 0.046569377, -0.12452623, -0.07567508, 0.11901736, 0.058025084, -0.10933379, 0.01499338, -0.059329115, 0.07900936, -0.0967382, 0.14649267, -0.21533011) * go_4(0.0, -1.0); + result += mat4(0.051437758, -0.056239348, 0.10826396, 0.0103973355, -0.11036472, 0.089677304, -0.13641821, -0.008562795, -0.0915165, 0.080974646, -0.066158704, 0.08619487, -0.14883414, 0.27063388, 0.26023057, -0.10478266) * go_4(0.0, 0.0); + result += mat4(0.013550296, 0.11880657, 0.10764064, 0.0048602303, -0.053477768, -0.012384154, -0.051058087, -0.21776162, 0.026556205, -0.14465022, 0.029675877, 0.024327768, -0.0044619385, -0.06656158, -0.3113407, 0.078604944) * go_4(0.0, 1.0); + result += mat4(-0.051143095, 0.040067013, 0.0048092115, -0.030791068, 0.005094653, 0.050343107, -0.035564423, -0.13350213, -0.09505067, -0.032024544, 0.046505388, -0.012083068, -0.061293676, -0.018872263, -0.088480964, 0.09508143) * go_4(1.0, -1.0); + result += mat4(-0.014669387, -0.03827568, 0.009706187, 0.091904245, 0.10861065, 0.024155458, 0.027196333, -0.0537285, -0.13822891, 0.08269879, 0.112572595, -0.07349772, -0.07239221, 0.07875581, 0.15151146, -0.08660275) * go_4(1.0, 0.0); + result += mat4(-0.08294598, 0.12766667, 0.118720144, -0.018032918, -0.1013107, -0.013210103, -0.030159824, -0.1633461, 0.16121638, -0.11505265, 0.05771879, 0.17782801, -0.009709625, 0.009048779, 0.0643717, -0.04127436) * go_4(1.0, 1.0); + result += mat4(-0.08944967, 0.10843843, 0.03210341, 0.07035867, 0.00338879, -0.007892554, 0.044288695, -0.039942343, -0.030615557, 0.09317879, 0.0762409, 0.18437877, -0.1321277, 0.05252213, 0.026333284, 0.06269435) * go_5(-1.0, -1.0); + result += mat4(-0.04965776, -0.032139134, -0.09895266, 0.2961244, 0.06335117, -0.16791527, -0.059079025, -0.082506865, -0.056972325, 0.1104244, -0.07652271, -0.07872344, -0.056179147, -0.14230897, 0.039492704, 0.14285105) * go_5(-1.0, 0.0); + result += mat4(0.15735546, -0.060425457, -0.058934245, 0.05505039, -0.097881585, 0.1263457, -0.045253854, 0.09278876, -0.041899607, 0.11877196, 0.002355081, -0.059991844, 0.022999011, -0.0561775, 0.010565752, 0.069077805) * go_5(-1.0, 1.0); + result += mat4(-0.11142972, -0.07061307, -0.11946659, -0.099400096, 0.03367043, -0.013575439, -0.043519527, -0.16127248, -0.032205965, -0.105285004, 0.0021813486, 0.23383193, -0.088821694, 0.11629688, -0.031751737, 0.091282874) * go_5(0.0, -1.0); + result += mat4(-0.19746882, 0.15382765, -0.067304626, 0.22248238, 0.089283146, -0.060740154, 0.12944831, 0.0401885, -0.07014485, 0.015746152, -0.05599315, -0.31444058, -0.123802215, -0.1703309, -0.057243284, -0.0058260057) * go_5(0.0, 0.0); + result += mat4(0.033563264, -0.10897218, -0.014746295, -0.06774955, -0.036188614, 0.10475296, 0.044433076, -0.07463308, 0.008685612, -0.017900765, 0.037735194, 0.14636718, 0.0055965157, 0.008190972, -0.012111877, 0.10777833) * go_5(0.0, 1.0); + result += mat4(-0.22119878, -0.00934439, -0.024470452, -0.021684358, 0.049842075, -0.15857697, -0.070558004, -0.0033294354, -0.26865304, -0.0141610075, 0.021627605, 0.04901091, 0.030171307, -0.047846876, -0.021054259, 0.03347177) * go_5(1.0, -1.0); + result += mat4(-0.06303298, -0.1380914, 0.13821393, -0.12413124, 0.07129274, 0.085286, 0.0061419164, 0.087412804, 0.033100057, -0.23397031, 0.032436803, 0.042869877, -0.107296675, 0.042882215, -0.012395404, -0.0022080743) * go_5(1.0, 0.0); + result += mat4(0.008780741, -0.09572746, 0.235107, -0.005934799, -0.031246934, -0.022992684, 0.06114156, -0.07160206, 0.06099364, -0.08785622, 0.14756297, 0.01614596, -0.22117889, 0.071189515, 0.15055332, 0.08069156) * go_5(1.0, 1.0); + result += mat4(0.15729329, 0.036501955, 0.074508026, 0.014924277, 0.024376784, 0.11048761, -0.0662262, 0.0018295659, 0.09283897, 0.027042102, 0.05291126, -0.06471004, -0.30125985, 0.10795915, 0.06779594, 0.31680325) * go_6(-1.0, -1.0); + result += mat4(0.11615968, -0.04447013, 0.10447689, 0.1350562, -0.11144621, 0.03709077, 0.032952994, 0.096276626, 0.06868203, -0.16554776, 0.18624458, 0.049578857, -0.013442014, 0.070959665, -0.15082222, 0.26545084) * go_6(-1.0, 0.0); + result += mat4(-0.024599882, -0.07956594, -0.13679305, -0.14679682, -0.05684212, 0.03376889, -0.04935937, 0.09255551, -0.04888347, -0.03642756, -0.012279385, 0.0029056766, 0.08576277, 0.061712924, 0.025902992, -0.11700455) * go_6(-1.0, 1.0); + result += mat4(0.35002708, -0.014724336, -0.17723122, 0.11554662, 0.20964158, 0.070235215, -0.15499143, 0.20215057, -0.05240247, 0.100447476, -0.22313856, -0.15757738, -0.17158219, 0.070982456, 0.17847545, 0.0545739) * go_6(0.0, -1.0); + result += mat4(-0.18775995, 0.24853617, 0.31312263, 0.041823838, 0.11542879, -0.079676114, 0.016512455, 0.014672186, 0.10925544, -0.18216388, 0.13738453, 0.02856321, 0.01878391, -0.10745682, -0.16716598, -0.18430677) * go_6(0.0, 0.0); + result += mat4(0.12586334, -0.13059859, -0.032940686, -0.12445521, 0.08744824, -0.024449022, 0.07755207, -0.011887521, -0.044642143, 0.15666896, 0.009933376, 0.21113835, 0.018695675, 0.008285816, 0.23940869, 0.05274216) * go_6(0.0, 1.0); + result += mat4(-0.14385052, -0.013701985, -0.18334188, -0.13801612, 0.06973971, 0.020687139, -0.15838577, 0.0682283, 0.17290114, 0.021822037, -0.1593011, 0.12368296, -0.051909417, 0.099816486, 0.18414661, -0.00997897) * go_6(1.0, -1.0); + result += mat4(-0.098671384, -0.11953922, 0.0187697, -0.08119316, 0.08544758, 0.0026141745, -0.11786651, 0.0861657, 0.05167917, -0.07486402, 0.17135052, 0.045870405, 0.17885911, 0.06896784, -0.22618207, -0.09696675) * go_6(1.0, 0.0); + result += mat4(-0.030892538, -0.040262762, -0.033995286, -0.19412598, -0.0058172327, -0.10667594, 0.045098327, 0.08596532, -0.14027297, -0.13492948, 0.09068293, -0.012210107, 0.049472895, -0.046960693, 0.041833356, -0.036665313) * go_6(1.0, 1.0); + result += mat4(0.11448471, -0.05200127, 0.10448566, 0.06749669, -0.046686202, 0.028539846, -0.071284495, -0.013776608, 0.009059756, 0.005694205, 0.107392795, 0.16345471, -0.040614177, -0.011328381, -0.12204681, 0.016511405) * go_7(-1.0, -1.0); + result += mat4(-0.17095669, -0.076325886, -0.081076495, 0.0766774, 0.06282146, 0.09396067, -0.099288605, -0.2057644, -0.06705021, 0.08401648, -0.006124241, 0.1259643, -0.13008131, -0.14129867, 0.15516123, 0.083607264) * go_7(-1.0, 0.0); + result += mat4(-0.0022957388, 0.05856265, 0.004291894, -0.13992007, 0.051110834, -0.06343282, -0.19713216, -0.009634957, -0.07137837, 0.0568723, -0.031844866, -0.14029147, 0.10511341, -0.03694283, -0.039790563, 0.12079957) * go_7(-1.0, 1.0); + result += mat4(0.116678536, 0.017967895, -0.084222384, -0.18979242, -0.16373818, -0.051625438, -0.007469872, 0.07698895, -0.08559179, 0.22747229, 0.06252753, 0.17239036, -0.1672435, 0.19882563, 0.05094709, 0.15420969) * go_7(0.0, -1.0); + result += mat4(-0.021038907, -0.15289949, -0.1812001, -0.06270831, 0.05773661, -0.09890353, -0.22504179, 0.28661346, 0.030380948, -0.047244404, 0.028095953, -0.16042343, 0.10631722, -0.28756708, 0.19875197, 0.0046880767) * go_7(0.0, 0.0); + result += mat4(0.017992627, 0.09583775, -0.16261324, -0.10037523, 0.15027897, 0.008308924, -0.12523991, -0.09218689, -0.04166017, 0.04481005, -0.07018378, 0.04660488, 0.012251093, -0.02155709, 0.07439554, 0.16595757) * go_7(0.0, 1.0); + result += mat4(-0.10128157, 0.05230012, 0.010505274, -0.0045971354, -0.04436229, 0.0686891, -0.06143502, -0.06329947, -0.037828725, 0.06929396, 0.014732045, 0.019532068, -0.20194429, 0.094608404, -0.09255989, 0.0006712487) * go_7(1.0, -1.0); + result += mat4(0.13456346, 0.19428526, 0.03124889, 0.09431909, -0.057245445, -0.19396421, 0.021673629, 0.26870468, -0.0748189, 0.18683752, -0.041134145, 0.058044426, -0.11280808, -0.069663584, 0.11809443, 0.10898257) * go_7(1.0, 0.0); + result += mat4(0.032437522, -0.020943642, -0.0012967433, -0.040504962, -0.0055941883, 0.05663316, -0.17987259, -0.09858358, -0.022033866, 0.017183136, -0.00373911, -0.10786088, 0.04599657, -0.010730183, -0.015808778, -0.073432535) * go_7(1.0, 1.0); + result += mat4(-0.027450806, -0.07123867, -0.115826175, -0.20558152, 0.015793063, 0.00917592, -0.047437448, -0.10743293, -0.08270229, -0.03460581, -0.22865953, -0.09833294, 0.058562107, 0.066225894, 0.09546966, 0.039175145) * go_8(-1.0, -1.0); + result += mat4(0.0062890495, -0.14731838, 0.013251237, -0.05258336, 0.07339424, -0.09859438, -0.007957546, -0.09032201, 0.01912405, 0.10851486, 0.14476706, -0.045722447, -0.009007182, -0.04607908, 0.11694388, -0.1312195) * go_8(-1.0, 0.0); + result += mat4(0.08320868, 0.021944063, -0.0063242465, 0.11779457, 0.043611903, -0.009892264, 0.031338774, -0.0071105906, 0.17312275, 0.06534067, -0.13700318, -0.15632129, -0.032851465, 0.07614353, -0.0068492275, -0.007339044) * go_8(-1.0, 1.0); + result += mat4(0.1567212, -0.028788604, 0.014872978, 0.023775656, 0.1888344, -0.18292429, 0.0036885971, 0.059944462, 0.019628597, 0.12139034, 0.03521284, 0.07654702, 0.09544245, -0.01730226, 0.11372192, 0.08958013) * go_8(0.0, -1.0); + result += mat4(-0.18358994, 0.008457774, 0.066629425, 0.031368256, -0.16939671, 0.116705574, 0.15289108, 0.09006569, 0.057086732, 0.03173233, 0.1337826, 0.20374574, -0.20242977, 0.11535693, -0.04644542, 0.12053215) * go_8(0.0, 0.0); + result += mat4(-0.025165526, 0.0986568, -0.0019998797, -0.081331715, -0.08333373, -0.028121378, -0.10888794, 0.05499222, 0.065238185, 0.17770849, -0.00065088284, -0.014400954, 0.025441216, -0.089684874, -0.011330411, -0.037265968) * go_8(0.0, 1.0); + result += mat4(0.07548163, -0.032338325, 0.05066688, 0.047633644, -0.04150886, 0.020289602, 0.15300341, -0.12956989, 0.12961324, -0.068314, 0.08058171, 0.0086898785, -0.05619691, -0.10243323, 0.047004003, -0.0047387057) * go_8(1.0, -1.0); + result += mat4(-0.060505453, -0.08456763, -0.050554518, 0.03934322, -0.009900384, -0.016025173, 0.15428478, -0.08673094, 0.06779942, -0.052596506, -0.01919229, 0.06718782, -0.055366307, 0.040410925, -0.17166302, 0.04139781) * go_8(1.0, 0.0); + result += mat4(-0.0054792594, -0.04857173, -0.10938263, -0.002808973, 0.11411507, 0.06460528, 0.125212, 0.052846473, -0.0045314883, -0.09431864, -0.053420343, 0.076576754, -0.051726155, 0.047666553, -0.038724992, 0.12973335) * go_8(1.0, 1.0); + result += mat4(-0.32793117, 0.10536563, -0.121571936, 0.0819257, -0.02026979, 0.045693934, -0.03842899, 0.047471542, -0.06476304, 0.020106113, -0.014928283, -0.040539287, 0.13236661, -0.04688991, 0.12435977, 0.047430243) * go_9(-1.0, -1.0); + result += mat4(-0.15486266, -0.15256862, -0.034016702, -0.074529134, -0.06449022, 0.09587099, -0.083922915, 0.14717162, -0.06547674, -0.12714347, -0.23995708, -0.18052177, 0.070112504, 0.15591848, -0.32457027, -0.19917747) * go_9(-1.0, 0.0); + result += mat4(0.12048215, -0.013003214, -0.113487795, 0.029351957, -0.014786703, 0.03716927, -0.08821999, -0.008626208, 0.018643484, 0.013666749, -0.043723207, -0.012135213, -0.08323913, -0.04146574, -0.22227862, -0.055937964) * go_9(-1.0, 1.0); + result += mat4(0.044348344, 0.045776278, 0.021677578, 0.017165996, -0.034954507, 0.08561954, -0.14646047, -0.13231587, -0.04729133, -0.08174899, -0.11179197, -0.11426391, -0.024943672, 0.04607219, -0.23119277, -0.07512565) * go_9(0.0, -1.0); + result += mat4(0.11036188, 0.15960318, -0.03556543, -0.06765656, -0.2021666, 0.19273448, -0.10892626, -0.09404772, -0.076368466, 0.1813536, 0.032177098, 0.0842, 0.19333756, 0.053526193, -0.009715162, -0.14322306) * go_9(0.0, 0.0); + result += mat4(0.030871768, -0.0074464646, -0.1635315, -0.0031961869, -0.075362965, 0.104896225, -0.021082822, -0.2416909, -0.22069727, 0.020561663, 0.028545292, 0.052814715, 0.19980742, 0.2074361, 0.11841944, 0.05509825) * go_9(0.0, 1.0); + result += mat4(-0.013732159, 0.1374818, 0.07453946, 0.1636285, 0.07283316, 0.22762041, 0.21240574, 0.019950854, 0.15626834, -0.060864933, -0.07968664, 0.03479737, 0.10357597, -0.08328792, -0.0006691867, -0.0381467) * go_9(1.0, -1.0); + result += mat4(-0.1819537, 0.044216722, -0.023299925, 0.05007542, 0.17286481, 0.09262543, 0.2994342, -0.10637366, 0.04639522, 0.06452959, 0.15362616, 0.067861795, 0.021456653, 0.15361351, 0.261385, 0.04604455) * go_9(1.0, 0.0); + result += mat4(0.009122387, 0.048340186, -0.07658522, -0.19766617, -0.051280595, 0.003623177, 0.042376805, -0.04431547, 0.065149754, 0.034897484, 0.02154426, 0.07047, -0.08721426, 0.07704638, 0.0060646655, -0.024416646) * go_9(1.0, 1.0); + result += mat4(0.044220358, -0.12177787, -0.06103336, -0.08130916, 0.022953589, -0.08504309, 0.039640404, -0.042649914, -0.11253562, 0.05210924, -0.03506059, -0.016069679, -0.078641035, 0.0039112084, -0.0062618195, -0.17446917) * go_10(-1.0, -1.0); + result += mat4(-0.01247942, 0.023309292, -0.10943914, 0.062411055, -0.075556256, 0.030011179, 0.068354815, -0.050935294, -0.078005195, -0.031145953, -0.081349626, 0.12883238, -0.121446736, -0.03411904, 0.003731427, 0.13872771) * go_10(-1.0, 0.0); + result += mat4(-0.1397899, -0.030694358, -0.13986057, -0.01456527, 0.13519372, 0.009538593, 0.039709106, -0.03508142, 0.034425747, 0.102543324, -0.092791595, -0.012264085, 0.05396018, -0.11684392, -0.10459425, -0.19696747) * go_10(-1.0, 1.0); + result += mat4(0.24276726, -0.21673095, -0.10106586, -0.051018015, -0.02559439, 0.049109787, -0.026405439, -0.06197655, -0.17754024, 0.15494283, 0.15298724, 0.17503484, -0.13531163, 0.14061542, 0.02137645, 0.08091585) * go_10(0.0, -1.0); + result += mat4(0.017142862, 0.016195927, -0.32190144, 0.11874316, 0.037051585, -0.039087534, 0.015433603, 0.015701048, 0.04637381, -0.11968243, 0.06242134, 0.04560534, 0.12370247, -0.11292332, 0.09618765, 0.0023660306) * go_10(0.0, 0.0); + result += mat4(0.19133906, -0.11650241, -0.011775885, -0.009825516, -0.054749526, 0.06524658, -0.013433133, -0.060871173, -0.11068996, 0.050650746, 0.0019352552, 0.08599543, 0.16217573, 0.013373967, -0.16456692, 0.099531464) * go_10(0.0, 1.0); + result += mat4(0.11285318, 0.00018417467, -0.20670767, -0.065584615, 0.011944516, 7.744912e-05, -0.037524782, 0.056939438, 0.031899396, -0.0038092835, 0.016791284, 0.0506775, 0.046540234, -0.048709188, 0.03119377, -0.0712156) * go_10(1.0, -1.0); + result += mat4(-0.027347967, 0.08333226, 0.06065502, -0.09395132, -0.13586216, -0.08702288, -0.099219136, 0.12588762, 0.08082661, -0.005074681, 0.12843885, 0.06986843, -0.0053627244, 0.056996074, -0.022097634, -0.15663457) * go_10(1.0, 0.0); + result += mat4(0.069395415, 0.0043090186, -0.1853728, -0.05153937, 0.062754065, 0.03969911, -0.029014869, 0.11187697, -0.1032801, 0.07209643, 0.1677695, -0.13300064, 0.083935894, -0.046223458, -0.033849694, 0.1742876) * go_10(1.0, 1.0); + result += mat4(-0.041404765, -0.15952879, -0.055672616, -0.14790176, -0.013831066, -0.047978397, -0.28346768, -0.08638548, -0.21872658, -0.020834675, 0.058469106, -0.021048449, 0.06864195, -0.06668591, -0.084808566, 0.07891877) * go_11(-1.0, -1.0); + result += mat4(0.060619947, 0.1009842, -0.17300764, -0.26239192, 0.1340643, 0.20667392, -0.14698872, -0.35110018, -0.37209937, -0.07078585, -0.05318964, 0.033973537, -0.17849341, -0.03924582, -0.09075869, -0.1777723) * go_11(-1.0, 0.0); + result += mat4(-0.23023579, 0.13480036, -0.22323267, 0.018318858, 0.10835291, -0.13343185, 0.013547803, -0.12702204, -0.008225446, -0.014552931, 0.15907833, 0.040752955, 0.013315338, 0.07751878, 0.150926, -0.11256944) * go_11(-1.0, 1.0); + result += mat4(-0.09436202, 0.04043043, -0.10118068, -0.110989, 0.09390222, 0.110257804, 0.09612221, 0.005879994, 0.032777414, 0.12892056, -0.06661622, 0.078207776, 0.025562935, -0.041329056, 0.036348246, -0.055320274) * go_11(0.0, -1.0); + result += mat4(0.04770027, 0.13019262, -0.06838029, -0.061760966, -0.06446806, -0.07964198, -0.016272204, -0.08714364, -0.14706036, 0.07334957, 0.015852954, -0.07909504, 0.3089915, 0.109102525, -0.015825126, -0.27486005) * go_11(0.0, 0.0); + result += mat4(-0.10764013, 0.19844711, -0.09302359, 0.0054327343, 0.5287512, -0.15161927, 0.024464406, -0.089903906, -0.19313338, -0.07728969, 0.18436882, -0.026266089, 0.0842011, -0.024945607, -0.0038182868, -0.18219624) * go_11(0.0, 1.0); + result += mat4(0.09759823, -0.071663424, 0.065186486, -0.023156485, -0.025800427, 0.16197275, 0.050794635, -0.042893115, 0.023938533, 0.012962341, 0.0795926, 0.0003265065, -0.0220062, 0.10227259, -0.0033829797, -0.103184715) * go_11(1.0, -1.0); + result += mat4(-0.020551044, 0.078421816, 0.01739726, 0.19147848, 0.25223428, -0.21913454, -0.17867994, 0.018781869, -0.054134224, 0.06478987, 0.1793624, -0.08970641, 0.049855165, 0.0020986055, 0.06884598, 0.089142375) * go_11(1.0, 0.0); + result += mat4(0.026820185, -0.04953101, 0.09645142, 0.1821389, -0.2354278, 0.05535592, -0.14191186, 0.20774509, -0.13335133, 0.034332983, 0.40410507, 0.1728577, 0.13332304, -0.022786276, 0.0019173969, -0.0044472194) * go_11(1.0, 1.0); + result += vec4(0.060646188, -0.0038556247, -0.10473039, -0.021283383); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_3_tf3 +//!BIND conv2d_3_tf4 +//!BIND conv2d_3_tf5 +//!SAVE conv2d_4_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_3_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_3_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_3_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_3_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_3_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_3_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_3_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_3_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_3_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.16133928, -0.006756952, 0.13545449, 0.07060866, -0.16981398, -0.106657766, 0.022805378, -0.0035351648, 0.038761076, 0.058264326, 0.16199178, -0.06511896, -0.17973545, -0.09506077, 0.02306629, 0.08721258) * go_0(-1.0, -1.0); + result += mat4(-0.100562446, -0.05475565, 0.01873388, -0.013671649, 0.14916395, -0.067826256, 0.032623593, -0.060436044, -0.0122893145, 0.09967451, 0.120976925, 0.10229753, 0.13948052, 0.17415452, -0.011262652, -0.037956428) * go_0(-1.0, 0.0); + result += mat4(-0.16161971, 0.02982422, 0.049742486, 0.015267549, -0.055522446, -0.009517889, 0.10921511, -0.08333722, 0.059517074, -0.023159515, 0.13170207, 0.015733222, 0.013808399, -0.011851306, -0.024589658, -0.050633222) * go_0(-1.0, 1.0); + result += mat4(-0.00227671, 0.30201057, 0.11319067, 0.1133962, -0.04852214, -0.19454744, -0.07127992, -0.11690175, 0.12344371, -0.0811454, -0.031156603, 0.04270805, -0.06546707, -0.023155082, -0.06664943, 0.19928366) * go_0(0.0, -1.0); + result += mat4(0.11345815, 0.12714691, 0.071744405, 0.103484415, 0.0023571255, -0.06398675, 0.30560458, 0.30617425, -0.0005386149, -0.041429702, 0.13761137, -0.14517422, 0.13975474, -0.026216023, 0.08931679, -0.07163053) * go_0(0.0, 0.0); + result += mat4(-0.11686376, 0.070224725, 0.10019609, -0.109919794, 0.04557366, 0.023907041, 0.00767809, 0.0013940547, 0.015182983, -0.029614698, 0.076304965, -0.0011633933, -0.13530292, 0.00056007045, -0.057679377, -0.13049605) * go_0(0.0, 1.0); + result += mat4(0.038706653, -0.12585612, -0.0590175, 0.07387271, -0.20598301, -0.039461385, 0.018922692, 0.090926535, 0.007763573, 0.038042054, -0.020345435, 0.016759971, 0.033337165, -0.091677584, -0.06344887, 0.05610023) * go_0(1.0, -1.0); + result += mat4(0.17988396, 0.093451336, -0.018993216, -0.05381074, -0.02964974, -0.1913282, 0.06552725, -0.050367884, -0.015466344, 0.033029303, -0.0096563175, 0.05186194, 0.0033302843, -0.15092133, 0.064511806, -0.04485651) * go_0(1.0, 0.0); + result += mat4(-0.024405021, 0.038516898, 0.015061607, -0.04192331, -0.015869368, 0.017929645, 0.07922887, -0.054948222, -0.013361282, 0.0033160122, -0.12909667, -0.012857738, -0.0068476, -0.012239811, 0.0029081944, -0.08033987) * go_0(1.0, 1.0); + result += mat4(-0.055734444, 0.0094752135, 0.10845729, -0.10329405, 0.17336772, 0.07117447, -0.049073327, -0.10629648, 0.1611813, 0.027324779, -0.16710818, 0.07097851, -0.017817533, -0.15294223, -0.06685321, 0.023941878) * go_1(-1.0, -1.0); + result += mat4(-0.04015555, -0.057957835, -0.04012829, 0.11909982, -0.06483754, -0.09342866, 0.020691587, -0.0051632426, 0.10992608, 0.0037598521, 0.20579205, 0.013045941, -0.016678521, 0.06126397, -0.16735047, 0.053845536) * go_1(-1.0, 0.0); + result += mat4(-0.046297137, 0.100343026, 0.0724331, 0.05753326, 0.025728337, 0.07448563, -0.017905511, -0.05812705, -0.05747221, 0.05252139, -0.0022827995, 0.009535698, 0.27295315, -0.026006082, -0.12689655, 0.04623798) * go_1(-1.0, 1.0); + result += mat4(-0.11685835, -0.015142521, -0.13885486, 0.019486092, -0.20875208, -0.34251136, -0.0700515, 0.02718998, 0.1638258, -0.16402523, -0.42462748, 0.17106175, 0.19568646, -0.052654434, -0.024262564, 0.37246057) * go_1(0.0, -1.0); + result += mat4(0.07555664, 0.18153746, -0.003098694, 0.014292224, -0.12814312, 0.4459735, 0.041419946, 0.17212822, -0.06420285, -0.06265219, 0.17119808, -0.030034862, -0.14114997, 0.123509236, -0.105649926, -0.111933716) * go_1(0.0, 0.0); + result += mat4(0.0019030712, -0.02515307, 0.19928412, -0.004469821, 0.017613214, 0.015647614, 0.08936756, -0.08414862, -0.036098205, -0.022081148, 0.08306485, -0.008411014, 0.02704273, -0.13972263, 0.095762834, -0.09297345) * go_1(0.0, 1.0); + result += mat4(0.025891948, -0.17626308, -0.061084367, -0.04712799, -0.0472, -0.26856974, -0.06539752, 0.013616317, -0.059423175, -0.098188885, 0.025495678, 0.0031581502, -0.03285922, -0.022789126, -0.045184094, 0.14847386) * go_1(1.0, -1.0); + result += mat4(-0.011830537, -0.12030199, -0.053715575, 0.09420908, -0.016697582, -0.101909086, 0.0052315956, -0.038581654, -0.013728641, 0.14887422, -0.20061015, 0.12874006, 0.035768256, 0.18918842, -0.11919466, -0.12912689) * go_1(1.0, 0.0); + result += mat4(-0.050202396, 0.03138417, -0.050705705, 0.02818433, 0.080382414, 0.036221508, -0.0042167716, -0.052568164, 0.08052105, 0.103576005, -0.028431175, -0.007257336, -0.079250015, 0.043258842, 0.020142734, -0.10986943) * go_1(1.0, 1.0); + result += mat4(0.06272645, 0.015670467, 0.14403056, 0.017797878, -0.08169692, 0.040103715, -0.095533915, -0.059653286, 0.07473774, -0.17296436, -0.019161535, -0.041325334, -0.038807016, -0.043070696, 0.06584265, 0.22001688) * go_2(-1.0, -1.0); + result += mat4(-0.018589705, 0.02944848, 0.14810379, 0.06810516, -0.032104094, 0.007841817, -0.055268675, 0.059648626, 0.08636726, 0.12378364, -0.008725567, -0.002871493, 0.19164857, -0.032345578, -0.023310618, 0.04684608) * go_2(-1.0, 0.0); + result += mat4(0.07348036, -0.004544571, -0.14452362, 0.16110179, 0.13347302, 0.04389134, -0.029372944, -0.007604985, 0.029121475, -0.025094448, 0.03175599, 0.06217274, 0.07115858, 0.13647805, 0.10111285, 0.0034638855) * go_2(-1.0, 1.0); + result += mat4(0.05997947, 0.024786323, -0.08678267, -0.012526823, -0.0220639, 0.023112366, 0.07861742, -0.19187176, 0.03293625, 0.10128404, 0.09530748, 0.06404156, 0.19316022, 0.21244249, 0.02258886, -0.1616932) * go_2(0.0, -1.0); + result += mat4(0.15327139, -0.069000825, 0.15589428, 0.14515664, 0.12859896, 0.14179786, 0.060607996, 0.21198936, -0.2507868, -0.022061916, -0.038542237, -0.1808869, 0.031881858, -0.19330673, -0.037499044, 0.13342386) * go_2(0.0, 0.0); + result += mat4(-0.05988526, -0.09544103, -0.016432738, -0.017414998, 0.0046385103, -0.20584446, 0.09174897, -0.12748675, 0.024459438, -0.07905607, 0.06139659, 0.075841114, -0.025305571, -0.07030918, 0.023217013, 0.08051247) * go_2(0.0, 1.0); + result += mat4(-0.037737433, 0.027603755, 0.05098685, 0.042382807, -0.011197322, 0.06492134, -0.0906253, -0.053419977, -0.045706257, 0.079379134, 0.16454495, 0.040260073, 0.015778258, 0.21647462, 0.08369584, 0.060196582) * go_2(1.0, -1.0); + result += mat4(0.013863368, 0.101593465, -0.049138572, 0.049191948, 0.12123321, 0.06259525, 0.09837069, 0.045398068, -0.021721708, 0.17811406, -0.31950596, -0.14456001, 0.04377062, -0.056147244, -0.13187714, 0.13418218) * go_2(1.0, 0.0); + result += mat4(-0.074299, 0.087283604, 0.049188152, -0.04601051, 0.043187305, 0.105247594, 0.067160025, -0.10978978, -0.021780532, 0.16378258, -0.04006729, 0.041094404, 0.12237769, 0.01013395, -0.046020973, 0.058959812) * go_2(1.0, 1.0); + result += mat4(0.10759802, -0.05844557, -0.16433835, 0.02379762, 0.027131278, -0.020398108, -0.03034064, -0.07654222, -0.030525263, -0.071624376, -0.038216878, -0.14220032, -0.015000659, 0.024406437, -0.118754864, -0.019906608) * go_3(-1.0, -1.0); + result += mat4(-0.05946246, -0.037770055, 0.05371964, -0.04762644, -0.023789868, 0.15548596, -0.0022103225, -0.08290816, 0.059680905, -0.06700105, -0.3027294, 0.05302431, 0.060560275, 0.119091325, 0.011910897, -0.0611307) * go_3(-1.0, 0.0); + result += mat4(-0.048199076, -0.005808951, -0.050281305, 0.010793577, 0.052124035, -0.027270628, 0.09903184, 0.083696134, 0.10440056, 0.02289494, -0.07162003, -0.0062849876, 0.1393764, 0.007761962, -0.08147549, -0.120649576) * go_3(-1.0, 1.0); + result += mat4(-0.06300759, -0.03393544, 0.074379005, 0.09672255, -0.065820985, -0.15880246, 0.06331057, 0.09052317, -0.17283176, -0.05706484, 0.055020954, -0.17695414, -0.017047746, -0.09395422, 0.11524346, 0.091663584) * go_3(0.0, -1.0); + result += mat4(-0.12924798, -0.06557826, 0.005698939, 0.05151969, 0.023980606, -0.031310424, 0.0983691, 0.027031474, 0.22763366, 0.13239998, -0.069468655, -0.01557182, 0.062858954, 0.21231271, -0.030290892, 0.17677142) * go_3(0.0, 0.0); + result += mat4(-0.081439696, 0.020450905, -0.012162494, 0.08146154, 0.01614436, 0.04890599, 0.11159027, 0.17375018, 0.04622331, -0.110857576, 0.025216697, -0.060947504, 0.0678939, -0.095830016, 0.099071994, -0.02898622) * go_3(0.0, 1.0); + result += mat4(-0.028128562, -0.023531286, -0.0008795096, 0.0704722, -0.10301007, 0.029321423, -0.021746516, 0.09696239, 0.09645322, -0.040263638, 0.06301727, -0.08709368, 0.09035671, 0.13559014, -0.07670181, -0.03276494) * go_3(1.0, -1.0); + result += mat4(0.055680234, 0.07293633, -0.022003002, -0.044560425, -0.0373804, 0.15495904, 0.13096857, -0.025550859, 0.023868699, -0.023058083, -0.1235014, -0.10734169, 0.010809003, -0.25039196, -0.014217269, 0.07412059) * go_3(1.0, 0.0); + result += mat4(-0.03694641, 0.051798698, -0.07326607, 0.053899962, 0.02812039, 0.022284172, 0.0029374901, -0.07449402, -0.16211948, 0.026257169, -0.0037779722, 0.15171492, -0.052307416, 0.0024355229, 0.0063564116, 0.0046692565) * go_3(1.0, 1.0); + result += mat4(-0.019450054, 0.017427495, 0.14512521, 0.04938662, 0.006202705, -0.08233491, 0.22789595, 0.09831528, 0.0404036, -0.016220046, -0.009567857, -0.10365957, -0.05455351, -0.082637355, -0.18112423, -0.18289614) * go_4(-1.0, -1.0); + result += mat4(-0.019659022, -0.057440203, 0.038178887, -0.024574915, 0.09476514, 0.16418602, 0.096884474, -0.008543215, -0.1006523, 0.1330037, 0.013882872, -0.0050533605, -0.09158922, 0.030192483, 0.13139597, 0.27340072) * go_4(-1.0, 0.0); + result += mat4(-0.014864847, -0.058110245, -0.04089836, -0.027095364, 0.15525354, -0.04222943, 0.114998884, -0.0074308664, 0.02298135, -0.08942385, 0.07597391, -0.07266409, -0.1486214, 0.12592529, 0.008856135, -0.03815847) * go_4(-1.0, 1.0); + result += mat4(-0.016115177, -0.05787365, 0.14374281, -0.065732814, -0.026940078, -0.090105265, 0.09092125, -0.067427695, 0.06799277, 0.046577964, -0.12558952, 0.2282373, -0.050858285, -0.005724691, -0.14264332, 0.0725394) * go_4(0.0, -1.0); + result += mat4(-0.14321874, -0.17630744, -0.030244285, -0.11968165, 0.0214558, 0.08285664, 0.16521458, 0.20328104, 0.07671273, -0.30493468, 0.021776592, 0.011971024, 0.023633704, -0.2776264, -0.10879595, -0.07339406) * go_4(0.0, 0.0); + result += mat4(-0.05762395, 0.11391274, 0.07526661, 0.08930487, -0.050805196, -0.033572827, -0.0138379475, -0.0027166037, 0.051784392, -0.06812382, -0.06657226, -0.029933205, 0.037111796, 0.12770545, -0.19708967, -0.017368592) * go_4(0.0, 1.0); + result += mat4(-0.034721598, 0.07238717, 0.021580521, 0.0032361194, 0.02682915, 0.11429618, 0.006246969, -0.011384502, -0.10198539, 0.044490647, 0.026510842, -0.08242405, 0.10116388, 0.06562081, 0.107485555, -0.0012590926) * go_4(1.0, -1.0); + result += mat4(0.030852526, 0.047721054, -0.13123205, 0.10543791, -0.05943997, -0.046062008, -0.060958795, -0.009572606, 0.10642023, -0.044935644, 0.017086817, 0.17646314, -0.00961127, -0.41264644, 0.018992305, -0.07547571) * go_4(1.0, 0.0); + result += mat4(0.045347903, -0.038964048, 0.056273893, 0.12708911, -0.03469611, 0.10069531, -0.22192168, -0.022682197, 0.043401085, 0.018264271, 0.076982856, 0.011487361, 0.027886251, -0.12259783, -0.099470966, -0.039430864) * go_4(1.0, 1.0); + result += mat4(0.08624949, 0.012376808, 0.0077479514, -0.1170666, 0.0716742, -0.11046843, -0.077850066, -0.044300415, 0.053915314, 0.09339476, -0.069813095, -0.06957861, -0.001374164, 0.14245875, -0.06634346, -0.103644006) * go_5(-1.0, -1.0); + result += mat4(-0.024505014, -0.041000646, -0.037310645, -0.19960494, -0.11286237, -0.039952476, -0.014555522, 0.094842575, -0.077469945, 0.09608264, -0.075717196, 0.057115197, 0.16915609, -0.014995497, -0.13742553, -0.004681802) * go_5(-1.0, 0.0); + result += mat4(0.0549783, 0.030727496, -0.04337882, -0.06925114, -0.019843027, 0.059288803, -0.079616524, 0.01963306, 0.02820184, 0.052798875, 0.046409376, -0.04965568, -0.19409747, -0.004536743, -0.16434522, -0.008230561) * go_5(-1.0, 1.0); + result += mat4(-0.1839738, 0.042379227, -0.16860627, -0.061752677, -0.01604508, 0.030754698, -0.074875444, 0.084691316, 0.038282342, 0.30632535, 0.05114634, 0.121252306, 0.07699079, 0.3056959, -0.10636499, -0.110272214) * go_5(0.0, -1.0); + result += mat4(-0.08497261, -0.061560262, -0.044905245, -0.054917242, -0.08900476, -0.031761087, 0.011166559, -0.07907292, 0.076665536, -0.14452234, -0.18915282, 0.18507777, -0.108493246, -0.31385952, 0.27914372, 0.33188236) * go_5(0.0, 0.0); + result += mat4(0.09645311, 0.07250647, 0.115785874, 0.09124687, -0.056559183, 0.05863247, -0.08140737, -0.05012514, -0.1059255, 0.034764946, 0.097291306, -0.0025682407, -0.009076726, 0.013445683, -0.065667965, 0.12148862) * go_5(0.0, 1.0); + result += mat4(-0.0034297407, 0.0011929716, -0.025974274, -0.122696795, -0.16790242, -0.026815463, 0.02342119, 0.08819499, 0.049951926, 0.0009924982, 0.05151504, -0.09561283, 0.08813568, -0.09092365, -0.10566983, -0.09292515) * go_5(1.0, -1.0); + result += mat4(-0.12156009, -0.011645673, -0.07497513, 0.07160764, 0.033775024, -0.007643766, 0.12486011, -0.0766719, -0.022502638, -0.12700734, 0.056804404, 0.2373573, -0.052466217, 0.041492254, 0.010128061, -0.03906922) * go_5(1.0, 0.0); + result += mat4(-0.06947017, 0.039409123, -0.09709905, -0.035098486, -0.04671096, -0.025924092, -0.10862489, 0.014876228, -0.004171268, -0.055684786, -0.0430162, -0.015479635, -0.07883754, 0.028366983, -0.07044784, 0.026371619) * go_5(1.0, 1.0); + result += mat4(0.12491029, -0.01923031, 0.06077587, -0.11972133, 0.09019155, 0.07630519, 0.0030505152, 0.059707895, -0.033507288, 0.004496867, -0.11517756, 0.12770605, 0.094082855, 0.074296735, -0.1412585, -0.1442703) * go_6(-1.0, -1.0); + result += mat4(0.1385727, 0.038624324, -0.046046253, 0.05311024, -0.06940295, 0.04701938, 0.11245861, -0.005019864, -0.014386482, -0.012019259, 0.14635965, -0.06122487, -0.06906494, -0.16240194, 0.082200415, 0.048237212) * go_6(-1.0, 0.0); + result += mat4(0.14468831, -0.056279324, -0.046586104, -0.018987626, 0.052040957, -0.011430102, -0.035632648, 0.014202148, -0.11370422, 0.08197359, -0.16257696, -0.034705233, -0.06485444, -0.019303367, -0.09146792, 0.010801243) * go_6(-1.0, 1.0); + result += mat4(0.043830894, -0.2320351, 0.3333112, 0.2630448, 0.07373748, 0.33049798, 0.001642668, 0.22351044, 0.017811265, 0.23345731, -0.08962462, -0.1396011, 0.09703513, -0.01986389, -0.09969773, -0.14018197) * go_6(0.0, -1.0); + result += mat4(-0.12336034, -0.123443455, 0.0593038, -0.081452504, 0.04679253, -0.0040808073, -0.12084844, -0.20217294, -0.037490703, 0.19642612, 0.24421008, 0.5276441, -0.16672747, 0.014775753, 0.0105408225, 0.10049115) * go_6(0.0, 0.0); + result += mat4(0.089774966, -0.047527924, -0.0007001913, 0.071103655, -0.03167252, -0.06652405, 0.021832626, -0.0027828882, -0.14941277, 0.13698508, -0.05485965, 0.0018984928, 0.05728955, 0.05286551, -0.042861003, 0.1204859) * go_6(0.0, 1.0); + result += mat4(0.04797686, 0.017278861, 0.09963163, -0.07403156, 0.16224588, -0.00022055063, -0.035451055, -0.054200813, 0.0075777066, 0.032946784, 0.054119565, 0.013952389, -0.03471897, 0.119187325, 0.103756696, -0.16748244) * go_6(1.0, -1.0); + result += mat4(-0.12169368, -0.09832273, -0.07356938, 0.012601864, 0.0033501373, 0.06226625, -0.05481353, 0.057701286, 0.0074527394, 0.04647796, -0.01752196, -0.009819254, -0.055218786, 0.2523621, 0.0018503782, 0.013713094) * go_6(1.0, 0.0); + result += mat4(-0.07547788, 0.019841697, -0.063743204, 0.0016271871, -0.011909185, 0.025960762, -0.032695234, 0.05598399, 0.0324628, -0.032277346, 0.06817223, 0.094046466, -0.026146894, 0.04707096, -0.015286299, 0.021633716) * go_6(1.0, 1.0); + result += mat4(0.06242534, -0.0050779823, -0.120014794, 0.12003254, -0.07670613, -0.020087022, 0.052733466, 0.05739494, -0.06948649, -0.086232655, 0.044364158, -0.025977671, 0.00048737816, 0.10551334, -0.012772333, 0.0695593) * go_7(-1.0, -1.0); + result += mat4(0.021200884, 0.04894996, -0.066838525, -0.18435371, 0.042426147, 0.020211088, 0.055953514, -0.051933434, -0.10550434, -0.0026846863, -0.13971733, -0.02184495, 0.0014545146, -0.0915335, -0.027734866, -0.038728945) * go_7(-1.0, 0.0); + result += mat4(0.10364436, -0.08102991, 0.008440821, -0.09785022, -0.013573327, -0.071765065, 0.025664581, -0.03018756, 0.06772861, -0.036794353, -0.047585115, -0.051343437, -0.2573073, 0.0023996837, -0.008496379, -0.10749119) * go_7(-1.0, 1.0); + result += mat4(0.12116202, 0.035012618, 0.06828631, -0.011810479, 0.15149537, 0.2697212, -0.0818064, -0.12058153, 0.007521522, 0.1254704, 0.13602273, -0.042921092, -0.19474955, 0.08889511, 0.11905765, -0.48354828) * go_7(0.0, -1.0); + result += mat4(-0.06622801, -0.24205731, 0.00039195677, -0.018191213, 0.1418333, -0.23763578, 0.1262838, 0.3101213, 0.10095308, 0.092712864, 0.035186313, -0.05094548, 0.18132727, -0.11579797, 0.12947337, 0.17984942) * go_7(0.0, 0.0); + result += mat4(-0.024080344, 0.030900456, -0.07827444, -0.03047019, -0.07694487, -0.033968464, -0.09684677, 0.01864093, 0.08061825, 0.028564071, -0.06351325, 0.045664158, -0.02435513, 0.07335545, -0.15416555, 0.033914436) * go_7(0.0, 1.0); + result += mat4(-0.0066844383, 0.18998615, 0.08110769, 0.06075703, -0.00035976124, 0.17410082, -0.016190415, -0.072515815, 0.06237005, 0.039860904, -0.07000151, -0.044377264, -0.0135860015, 0.09124136, 0.07817149, -0.13900073) * go_7(1.0, -1.0); + result += mat4(-0.027519895, 0.11568574, 0.0938243, -0.054063454, 0.032663487, 0.0032921168, 0.12618391, -0.002021597, 0.051823083, -0.16533224, 0.028921695, -0.078465916, -0.058265906, -0.19176663, -0.04167813, -0.018580772) * go_7(1.0, 0.0); + result += mat4(0.09653387, -0.06955171, -0.0032987394, -0.0822022, -0.110497184, 0.027078046, -0.16925058, 0.022800285, -0.065462455, -0.06652677, 0.041567896, -0.03914663, 0.08393093, -0.027193561, 0.029169211, 0.026189756) * go_7(1.0, 1.0); + result += mat4(-0.028530449, -0.030343069, -0.094984, 0.0457086, 0.030453794, -0.10934838, 0.026118102, 0.05388074, 0.01141028, 0.17053983, 0.025053402, 0.10237525, -0.018245628, 0.0466102, 0.10027888, 0.007031101) * go_8(-1.0, -1.0); + result += mat4(0.031947598, 0.0142047815, 0.1008171, -0.021267543, 0.028890727, 0.015997184, 0.00904217, -0.07394312, -0.075407095, -0.123822875, 0.053960808, 0.03218678, -0.078903474, -0.0074488954, 0.006436021, -0.019293945) * go_8(-1.0, 0.0); + result += mat4(-0.093168706, 0.008948909, 0.04137674, -0.0897038, -0.020926308, -0.09558734, -0.022406321, 0.002949651, -0.011116838, 0.023297548, 0.15090843, -0.083772644, -0.07124868, -0.091127455, -0.046792395, -0.031992402) * go_8(-1.0, 1.0); + result += mat4(-0.110468656, -0.03484454, 0.053979196, 0.13552794, -0.04660422, -0.14299203, -0.10245069, 0.15799181, 0.052099496, -0.05660036, 0.09624473, -0.059447583, -0.19582441, -0.19371855, 0.029592248, 0.15151422) * go_8(0.0, -1.0); + result += mat4(-0.081927694, 0.010878782, 0.05471361, -0.038445257, -0.10004111, -0.00742982, -0.121207744, -0.07186629, 0.19857378, -0.12072702, 0.16502617, 0.3030395, 0.02941075, 0.16125154, 0.036315985, -0.12341535) * go_8(0.0, 0.0); + result += mat4(0.076093376, 0.108250566, -0.04474227, 0.0005430772, -0.056557942, 0.12507966, 0.043558195, 0.13094783, -0.009826428, -0.030642144, 0.044561736, -0.01616312, 0.124570616, 0.032103647, 0.00094704446, -0.062467944) * go_8(0.0, 1.0); + result += mat4(0.05288774, -0.04173261, -0.094127834, -0.048326064, -0.051140305, -0.09304907, 0.07285711, 0.10539822, 0.0757148, -0.10271482, -0.05926938, -0.011032404, 0.04824878, -0.13786948, -0.044193707, -0.06005154) * go_8(1.0, -1.0); + result += mat4(-0.029262906, -0.04053909, -0.10859774, -0.024688296, -0.07468686, 0.02183861, -0.05050053, -0.036748923, -0.04600484, 0.13406211, 0.3144956, 0.03387907, 0.030911079, 0.03854964, 0.040388837, -0.051211257) * go_8(1.0, 0.0); + result += mat4(0.04581977, -0.050508924, -0.09192806, 0.045895346, -0.042796656, -0.075065635, 0.06755441, 0.1621575, 0.07225555, -0.021305092, 0.07891141, 0.062734276, 0.032362953, -0.01723129, 0.056368362, -0.095162146) * go_8(1.0, 1.0); + result += mat4(-0.1290508, 0.09830274, 0.19029498, -0.13119996, 0.061265036, 0.023812773, -0.03416971, -0.027166106, 0.1472619, 0.110970646, -0.13354625, 0.115644634, -0.09297424, -0.045373987, -0.07155728, -0.02823285) * go_9(-1.0, -1.0); + result += mat4(0.29414526, 0.031436007, 0.13467501, 0.23785688, 0.020552235, -0.17962979, -0.011401214, 0.07844186, 0.0020100463, 0.033093207, 0.21094067, -0.006131698, 0.036331773, -0.056775156, 0.28799078, 0.21105652) * go_9(-1.0, 0.0); + result += mat4(0.05108093, 0.062294826, 0.0753641, 0.061110258, -0.07275481, 0.034971233, -0.19592805, 0.010506673, -0.07471706, 0.010695946, -0.058127686, -0.013674127, -0.11572427, 0.0047275554, 0.07725011, 0.077781096) * go_9(-1.0, 1.0); + result += mat4(0.021191953, -0.16302282, 0.031195858, -0.016690757, -0.042332754, 0.12576906, 0.028911225, -0.042581353, 0.14656056, -0.002111526, -0.054867882, 0.053384244, -0.00054000184, 0.2865656, 0.08568847, -0.005297186) * go_9(0.0, -1.0); + result += mat4(0.24459156, -0.0040446254, -0.011034847, 0.020034194, -0.13969189, 0.026051244, 0.010284825, 0.052832644, -0.3302616, -0.1641068, 0.05866752, 0.049114868, -0.19706532, -0.038541116, 0.15689386, -0.014460528) * go_9(0.0, 0.0); + result += mat4(0.20088449, -0.18249178, -0.19120571, -0.021813335, -0.02567551, -0.10124292, -0.2129278, -0.15769608, -0.100296415, 0.12818226, -0.18814573, 0.057463627, -0.2173712, 0.14296606, -0.19845422, 0.04402624) * go_9(0.0, 1.0); + result += mat4(-0.04501396, -0.016134484, -0.048776157, -0.027523788, 0.14263803, -0.033841856, 0.14165118, 0.11231477, -0.117087275, 0.071836635, 0.033528548, 0.025089972, -0.11626535, -0.059059534, 0.039012797, 0.056363076) * go_9(1.0, -1.0); + result += mat4(-0.019880112, -0.10156109, 0.14758001, 0.12805681, 0.096986346, -0.047886547, 0.007990481, 0.2734917, -0.03103439, 0.07075354, 0.074489154, 0.048702024, 0.024555484, 0.28999108, 0.06102981, -0.10981428) * go_9(1.0, 0.0); + result += mat4(-0.074777, 0.001804593, 0.07410528, -0.08746074, -0.039508138, 0.015179453, 0.032183602, 0.12169698, 0.05552145, -0.10485944, 0.05223517, -0.083807155, 0.1067679, -0.040424254, -0.051757596, 0.03411554) * go_9(1.0, 1.0); + result += mat4(0.08332494, -0.017157076, -0.15541728, -0.02507669, 0.09043872, 0.053027406, -0.098478906, 0.014016389, 0.07899013, 0.09959897, 0.13936171, 0.16692483, 0.017292997, 0.13855843, 0.0750788, 0.14084084) * go_10(-1.0, -1.0); + result += mat4(0.06163187, 0.050483577, 0.17532788, 0.12694873, 0.036072567, -0.12612706, -0.068937264, 0.0208678, 0.0955886, -0.21836248, 0.05693701, 0.11552043, 0.05373496, -0.0076306504, -0.1134099, -0.23140456) * go_10(-1.0, 0.0); + result += mat4(-0.02418352, 0.07047251, -0.08015661, -0.020395076, -0.12786765, 0.06069527, 0.035371967, 0.045634307, -0.1251301, 0.17768264, -0.09586097, 0.10744777, 0.06199948, -0.06666097, -0.031270064, -0.029521335) * go_10(-1.0, 1.0); + result += mat4(0.08700529, 0.0521275, 0.0134138055, 0.12139678, 0.06302291, 0.021202987, -0.07977008, 0.048815608, 0.15826204, -0.09358012, -0.02154612, -0.24544328, -0.013697682, 0.0016321354, 0.13801077, -0.06325918) * go_10(0.0, -1.0); + result += mat4(0.20855603, 0.13971342, 0.20750982, 0.054931514, -0.0072197737, -0.18407024, -0.05493873, -0.12714154, -0.030079355, 0.118419215, -0.10421147, 0.036947545, 0.0629553, 0.14460443, 0.06846684, 0.0016486015) * go_10(0.0, 0.0); + result += mat4(0.0019238774, -0.06716329, -0.036974065, -0.025171692, 0.003145538, 0.009222313, -0.08951116, -0.028844675, 0.0019689503, 0.0038089454, 0.049644902, 0.015088383, -0.08523328, -0.057811886, 0.13893504, 0.084998205) * go_10(0.0, 1.0); + result += mat4(0.017735925, -0.027136771, -0.018788278, 0.0014902869, -0.039537203, -0.0032515842, 0.010640472, -0.048517723, 0.14024682, -0.026336543, 0.051186156, 0.03411434, -0.12304973, -0.018773645, -0.07901994, -0.014950501) * go_10(1.0, -1.0); + result += mat4(0.04492738, -0.09235136, 0.016306276, -0.07114585, 0.021729728, -0.00079245685, 0.025323827, -0.0053302613, -0.10879124, -0.13935542, 0.058140572, -0.030897664, 0.017131852, 0.2910438, -0.05578602, 0.1226322) * go_10(1.0, 0.0); + result += mat4(0.064604685, 0.0016290275, -0.05219982, -0.046904758, 0.055705804, -0.09864041, 0.0959681, 0.01864796, -0.11455475, -0.09758585, -0.022786105, -0.038040295, -0.0051123835, 0.13658151, 0.07356666, -0.05481127) * go_10(1.0, 1.0); + result += mat4(-0.099208795, -0.057029903, -0.16799642, -0.0044347527, -0.06552306, 0.048165623, 0.045094546, -0.039906844, -0.0046389205, -0.02457306, 0.015797745, 0.058697045, -0.054800622, -0.12494134, 0.07049534, 0.037583154) * go_11(-1.0, -1.0); + result += mat4(-0.009378128, 0.035244588, -0.09924745, 0.18942085, 0.0014096628, 0.11226739, 0.0072757765, -0.055776034, 0.082616255, -0.11925312, -0.06925827, 0.14569838, -0.19810294, 0.06581726, 0.09252449, 0.0068915454) * go_11(-1.0, 0.0); + result += mat4(-0.064408444, -0.061193526, -0.038778774, 0.053977504, 0.039270118, -0.10278301, 0.086721204, -0.113875344, 0.06850686, -0.012360228, 0.015361166, 0.046675045, 0.13093628, 0.0005417212, 0.13471904, 0.06485523) * go_11(-1.0, 1.0); + result += mat4(0.07989225, -0.100406826, -0.10944563, 0.07256156, 0.10232373, 0.009566911, -0.0461756, -0.16797575, 0.039543778, -0.15199925, 0.031132417, -0.092911355, -0.09814002, -0.31025404, 0.02272795, 0.2248659) * go_11(0.0, -1.0); + result += mat4(0.08360824, -0.0737838, -0.14736836, 0.15890516, 0.13234118, 0.08391826, -0.076949224, 0.34322366, -0.115592755, 0.049026012, 0.020826623, 0.17741196, 0.16721897, 0.26695272, -0.34930348, -0.14795424) * go_11(0.0, 0.0); + result += mat4(-0.06995868, 0.0056425664, 0.00419832, -0.10647465, 0.0044470876, -0.09307231, 0.30857167, 0.10302482, 0.19641803, 0.0001864599, 0.16174625, 0.12199131, -0.044310175, 0.0552523, 0.09890855, -0.10056144) * go_11(0.0, 1.0); + result += mat4(0.0007076519, -0.022538826, -0.013704813, 0.12702727, 0.061103735, 0.05082559, 0.08556586, -0.062643535, -0.021830598, 0.026547015, 0.002573239, -0.037739865, -0.07985882, 0.15111215, 0.0019819294, 0.014503066) * go_11(1.0, -1.0); + result += mat4(0.07269095, 0.030431513, 0.12673184, -0.015513133, 0.12458577, 0.04736781, 0.25453326, -0.016506296, 0.018488389, 0.06741469, -0.1681027, -0.060571954, 0.041646067, -0.034232, -0.09514311, 0.06477151) * go_11(1.0, 0.0); + result += mat4(-0.02164016, -0.081735596, 0.18272854, -0.00049256656, 0.048891954, 0.075129755, 0.064598955, 0.027568849, 0.06284424, 0.05611894, 0.15823774, 0.10164623, 0.08859664, 0.00096352655, 0.05039276, 0.059170373) * go_11(1.0, 1.0); + result += vec4(0.0307871, 0.026051836, -0.027859464, -0.064916685); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x72 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_3_tf3 +//!BIND conv2d_3_tf4 +//!BIND conv2d_3_tf5 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.2814602, 0.2277187, 0.29435065, 0.2408478, 0.105000384, -0.27356383, 0.036709026, -0.082270764, -0.051774833, -0.30756906, 0.22812237, -0.1716299, 0.066388845, 0.071013935, -0.17304003, 0.36941883) * g_0; + result += mat4(0.010861255, 0.035956513, 0.15827346, -0.1573738, 0.28040013, -0.14285654, -0.1002935, -0.17466334, 0.23483588, -0.4468472, -0.083240435, -0.28713223, 0.20002778, -0.22584511, -0.017660992, 0.15582836) * g_1; + result += mat4(-0.26468986, 0.0936422, -0.043597784, -0.18019813, 0.12215305, 0.30424714, 0.41272894, 0.2958579, -0.1279559, -0.1711416, -0.1494349, -0.15574773, -0.20571063, 0.33361194, 0.31610423, 0.07864312) * g_2; + result += mat4(0.16455007, 0.23325196, -0.31887302, -0.02492541, -0.55856234, -0.0031886266, -0.11389042, -0.16259733, -0.25545537, 0.4201699, 0.13217591, 0.07380258, 0.030272568, 0.06883875, -0.16177692, 0.23754956) * g_3; + result += mat4(-0.35823125, 0.26168248, 0.06723545, -0.25340518, -0.12674278, 0.16228193, -0.12574689, -0.018757205, 0.11605118, -0.2045155, 0.0029288447, -0.030387532, -0.25938132, -0.22786854, 0.19045345, -0.13012685) * g_4; + result += mat4(-0.065970175, 0.0951907, 0.035318363, 0.13688375, 0.059882894, -0.11809705, -0.05243897, -0.352783, 0.39302433, 0.01651681, -0.25153002, 0.08879433, -0.20241016, 0.044586238, -0.41407117, 0.25752586) * g_5; + result += mat4(-0.20024903, -0.029611953, -0.28356886, -0.025313022, 0.089501604, -0.033136155, -0.1373444, -0.044254545, 0.039401148, 0.18670277, -0.31939486, 0.21125056, 0.26854888, 0.02871854, 0.19365928, -0.18145144) * g_6; + result += mat4(-0.14600311, -0.08483165, 0.018047078, 0.035864647, -0.20588812, 0.2844857, 0.14752424, 0.21875894, -0.30613014, 0.3414608, 0.30383223, 0.2768457, -0.0075907917, 0.40889844, 0.16538632, 0.32830665) * g_7; + result += mat4(0.38021183, -0.12041459, 0.14818075, 0.19251712, -0.091613315, -0.27928743, -0.24842967, -0.23841564, -0.11372076, 0.09261184, 0.31207904, 0.16299677, 0.15786624, -0.03707239, -0.052265193, -0.21610543) * g_8; + result += mat4(-0.043928284, -0.07245048, 0.17044666, 0.18489574, -0.02868591, 0.06388082, -0.21634308, 0.2171092, -0.25383195, -0.13655554, 0.050747488, 0.11323931, 0.14448066, 0.10746246, 0.021201093, -0.05081431) * g_9; + result += mat4(0.010971268, -0.31695822, 0.06632742, 0.2854791, -0.056062803, -0.026609302, -0.011950665, -0.10058546, -0.18215255, 0.081689365, 0.19777119, 0.34793538, 0.30169576, 0.004764223, -0.076669544, 0.044626463) * g_10; + result += mat4(0.18681169, 0.210494, 0.19781908, -0.08093209, -0.21912567, 0.11352498, 0.013049184, -0.21621475, 0.03843136, 0.26926485, 0.09463884, 0.23498456, 0.23216794, -0.13159363, 0.16778943, -0.025485182) * g_11; + result += mat4(0.19025959, 0.58493006, 0.056999333, 0.05119183, 0.1487993, -0.38447016, -0.17310664, -0.39204964, -0.064214475, 0.08697591, 0.25842324, 0.04074829, 0.078874275, -0.24143232, -0.22189601, 0.024380466) * g_12; + result += mat4(-0.10456438, -0.19316635, -0.092004195, -0.10626127, -0.18705751, 0.122325554, 0.07493597, 0.14279996, 0.31013626, 0.060707815, -0.14635678, -0.044795312, 0.006639313, 0.13290113, 0.3026528, -0.033154637) * g_13; + result += mat4(0.16083871, 0.036329053, 0.12857045, -0.20901158, 0.071605735, 0.029462824, -0.022499103, -0.2286325, -0.53524, 0.04800241, 0.021400047, -0.39015284, -0.07230238, 0.18508849, -0.032816987, -0.21694009) * g_14; + result += mat4(0.1175502, 0.2037501, -0.13257551, 0.101748504, 0.10230803, -0.12004787, -0.20809744, -0.17061722, -0.020457663, -0.3528951, 0.21511243, -0.07210097, 0.107290834, -0.30615744, 0.1965365, 0.18667313) * g_15; + result += mat4(0.003279607, -0.13956092, 0.03445401, -0.0033504022, -0.095258705, -0.010740883, 0.014021217, 0.05173165, -0.053114057, -0.03752222, -0.05321192, 0.19231808, 0.11545275, -0.37370005, -0.2259635, 0.096631624) * g_16; + result += mat4(0.11959142, 0.08352709, -0.059375286, -0.14197232, 0.04815708, 0.04520147, -0.112980366, 0.14088671, 0.01989498, -0.034033295, -0.08994673, -0.10527029, 0.17595868, -0.03632629, 0.28482202, 0.01762533) * g_17; + result += vec4(0.066603035, 0.016885368, 0.04719387, 0.013140797); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x72 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_3_tf3 +//!BIND conv2d_3_tf4 +//!BIND conv2d_3_tf5 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf1 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.028307766, 0.35418066, -0.08265425, 0.0524958, -0.052733433, -0.23152119, 0.060992382, 0.13296764, 0.20385887, 0.20722593, -0.18456522, -0.06654151, 0.073012725, 0.1738478, -0.081442595, -0.09303688) * g_0; + result += mat4(-0.0879442, 0.117100604, -0.2022827, 0.2498845, -0.13747723, 0.012266356, 0.07140362, -0.17850813, -0.15422471, 0.06091594, -0.25272366, 0.06035512, -0.043132532, 0.14852233, -0.07621397, 0.15171692) * g_1; + result += mat4(-0.020322306, -0.045558915, -0.04046774, 0.12558004, -0.36567464, -0.2146117, -0.014710619, 0.06968004, -0.18818662, -0.07847737, -0.03947554, -0.082270905, -0.1513966, -0.3303706, 0.15264171, -0.22679567) * g_2; + result += mat4(-0.08894719, 0.12672763, 0.21034755, 0.07608016, 0.164807, 0.2194763, -0.0050431606, 0.2508391, 0.21810757, -0.12751459, 0.33856523, 0.119690664, 0.16341431, -0.11109964, -0.27633113, 0.017533202) * g_3; + result += mat4(-0.06003009, -0.21883024, 0.1129707, 0.18688855, -0.25084695, -0.123959206, -0.044746067, 0.05043674, -0.20955594, -0.016574647, 0.2791325, 0.07776435, -0.23383816, -0.13642253, -0.1239683, -0.06908085) * g_4; + result += mat4(0.065739244, 0.33356935, 0.046213064, -0.5236776, 0.13756007, 0.24683417, 0.20376736, 0.18232968, -0.044425983, 0.18467174, 0.33787662, 0.30031878, -0.07485783, 0.004371367, -0.06572547, -0.032950997) * g_5; + result += mat4(0.29744133, -0.12391908, -0.22200936, -0.12863474, -0.121608935, -0.04758852, -0.12311768, -0.12681226, -0.2310094, -0.39655608, 0.19449705, 0.16235611, 0.21368645, -0.19411276, 0.124115534, 0.016622102) * g_6; + result += mat4(0.11676303, 0.02057063, 0.25251, 0.009276932, 0.32482183, -0.040129874, -0.1519303, -0.10388706, -0.028108373, -0.102412194, 0.23188083, 0.18341891, 0.03013491, -0.048286173, 0.0058329282, -0.34457833) * g_7; + result += mat4(-0.22898167, -0.117408544, -0.017038332, -0.15345758, 0.046906043, 0.19235781, 0.04426378, -0.19599624, -0.017836578, 0.15131067, 0.041776728, 0.14426501, 0.17741966, 0.22128138, -0.20428863, 0.20178981) * g_8; + result += mat4(-0.004315044, -0.31666014, -0.29125935, -0.12128216, 0.050062098, -0.28783244, 0.20843488, 0.061466597, 0.0057525453, 0.20799558, -0.0835697, -0.004084688, -0.27317607, 0.04916592, -0.078759655, 0.19164392) * g_9; + result += mat4(0.099757336, -0.11831386, -0.2699008, -0.30549145, 0.118077554, 0.25497273, 0.13997836, 0.075740926, 0.049060423, 0.06831763, -0.3817807, -0.006211132, -0.11377098, -0.09531877, 0.08467258, -0.14856833) * g_10; + result += mat4(0.052639242, -0.18830816, -0.13748348, 0.28691578, 0.07127495, -0.5680293, 0.12841675, -0.39588076, -0.097284764, 0.36028334, -0.11519626, -0.2415703, 0.11885911, 0.046078153, 0.042018026, 0.03702952) * g_11; + result += mat4(0.24275999, -0.22876017, 0.032914363, 0.1260231, 0.32194653, 0.0028965252, 0.17534332, 0.0040270244, 0.03671861, -0.2601385, -0.062798336, -0.13836406, -0.25233975, 0.09016869, 0.10884071, -0.1415055) * g_12; + result += mat4(-0.101087205, -0.043435648, 0.08795096, -0.16750972, -0.30129662, -0.10044177, 0.03310268, 0.08606169, 0.03684131, 0.048794735, 0.08225686, 0.15893319, 0.28447697, -0.09976657, -0.1304865, 0.21622008) * g_13; + result += mat4(0.0010363923, 0.25213385, 0.20465605, 0.22295177, 0.24521509, -0.2710824, -0.20280603, -0.12543409, -0.18289496, -0.06373974, -0.18411794, 0.061445527, -0.060365368, -0.08516493, 0.08249083, 0.07828689) * g_14; + result += mat4(-0.060793873, -0.09924079, -0.09869246, -0.4285292, -0.37705702, 0.3411712, 0.22729903, 0.23361796, -0.2354948, 0.21899778, 0.059090182, -0.067654245, 0.16081595, -0.12565234, -0.19271798, -0.09305432) * g_15; + result += mat4(0.12694947, 0.03796598, 0.032361817, 0.10044351, 0.04519685, -0.13140874, 0.024121989, 0.04257511, 0.07970886, 0.041310467, 0.022053141, -0.19843316, -0.08216455, -0.05973446, -0.12435201, -0.13035697) * g_16; + result += mat4(-0.048266474, -0.12415696, 0.06391087, -0.15999964, 0.016235331, 0.09552785, 0.12677793, -0.14847611, -0.36091015, 0.027757538, -0.029300604, 0.09124694, 0.4466633, 0.0061744438, -0.055607114, -0.21320932) * g_17; + result += vec4(-0.0014512301, -0.027619217, -0.016000178, 0.0588223); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x72 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_3_tf3 +//!BIND conv2d_3_tf4 +//!BIND conv2d_3_tf5 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf2 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.2198397, 0.07474122, 0.25085604, -0.16841322, -0.018095493, -0.100231275, 0.12683615, -0.12938105, 0.16326998, -0.34271434, -0.0143025955, -0.10391288, -0.09107246, 0.13806722, -0.011419862, 0.19981647) * g_0; + result += mat4(-0.0316539, -0.25519773, -0.1209305, -0.06143041, 0.05174701, -0.19147594, 0.11087807, -0.06532573, -0.2013948, -0.14687414, 0.0901586, 0.27443606, -0.14269981, 0.22332881, -0.23509043, 0.2060809) * g_1; + result += mat4(0.109063365, 0.052561738, 0.08149706, 0.019311855, 0.089754134, -0.044553958, -0.1007105, 0.0009892394, -0.09903347, -0.28857565, 0.30435443, 0.0015787942, -0.41297057, -0.22761044, -0.01780215, -0.062698446) * g_2; + result += mat4(-0.01552362, 0.2901384, 0.1680081, -0.17513134, -0.06897878, 0.17592743, -0.43503913, -0.04596621, 0.012619745, -0.21403605, -0.16948934, -0.06996391, -0.29766196, 0.12116802, -0.048980057, 0.22243607) * g_3; + result += mat4(0.24363546, 0.3689805, -0.21884279, 0.3818604, -0.16839428, -0.0556417, -0.12723716, 0.1746213, -0.19730906, 0.1479734, 0.11733126, 0.018830176, 0.049721003, -0.0035500277, -0.17519367, -0.2499017) * g_4; + result += mat4(0.041031633, -0.24796546, 0.09606645, 0.0395995, 0.42594504, 0.067137666, -0.14129956, -0.05022722, 0.25581697, 0.08863704, 0.16423233, -0.33918852, -0.19086458, 0.15642363, -0.0023126223, -0.2951177) * g_5; + result += mat4(-0.23185489, -0.08386336, -0.07150133, 0.13777092, -0.14072278, 0.02838937, -0.042908818, 0.025783628, -0.11648161, 0.19068946, -0.07160502, 0.09172534, 0.24410047, -0.060724117, -0.17257373, -0.1972248) * g_6; + result += mat4(-0.0072582318, -0.011030204, 0.048395652, 0.10914101, -0.15400207, 0.20606099, -0.11960791, 0.24877293, 0.17356429, -0.082197405, -0.010170127, -0.031832773, -0.033288233, -0.20086886, 0.27148035, -0.012432371) * g_7; + result += mat4(-0.29836038, 0.0151038375, 0.21195093, 0.13568489, -0.14903903, -0.086146735, 0.021210156, 0.18356802, 0.19766386, 0.32297, -0.14609253, 0.04741111, 0.15015276, -0.24872275, 0.10544547, 0.079276256) * g_8; + result += mat4(-0.4609224, 0.00049777416, -0.1300821, 0.10355109, 0.1587039, -0.007964796, -0.053031847, -0.08619027, 0.071805984, 0.29670206, -0.03566753, -0.2677423, 0.0313238, 0.09650806, 0.12557615, -0.41598156) * g_9; + result += mat4(-0.28125992, -0.21541679, 0.25341314, -0.08868869, 0.16403335, 0.31890368, 0.1563854, -0.2924655, 0.31608266, 0.11475146, -0.14041825, 0.08089581, 0.22312473, 0.09776039, 0.21496448, 0.09443975) * g_10; + result += mat4(0.39393064, 0.29192236, -0.3070681, -0.25582662, -0.34292933, 0.3159496, -0.27226242, 0.08320266, -0.06314073, 0.10564044, -0.13292909, 0.18393274, 0.18127939, 0.22060028, 0.1666197, -0.043861568) * g_11; + result += mat4(0.25017107, -0.026370317, 0.13043208, -0.18787016, -0.2924086, -0.38265043, 0.07511309, -0.035600156, 0.05386576, -0.10529828, -0.1958516, -0.0059428713, -0.117195666, 0.050320167, 0.127351, 0.028612586) * g_12; + result += mat4(-0.45573857, -0.20206647, -0.30226526, -0.21770813, 0.063414164, 0.25145012, 0.012881708, -0.2445157, 0.022737922, -0.1239582, 0.009450774, -0.17895594, -0.064821586, 0.0061988737, -0.13174036, 0.045387045) * g_13; + result += mat4(0.16634953, 0.30238214, -0.14754951, -0.007021737, -0.26485208, 0.19425714, -0.01118022, -0.1616703, -0.011515406, 0.123444855, -0.15848742, -0.124876305, 0.067033015, 0.031733245, -0.24944969, -0.19156238) * g_14; + result += mat4(-0.25266653, -0.019663328, 0.2661182, -0.015626933, -0.012707616, -0.118515946, 0.14260185, 0.0751291, 0.23328146, 0.15651625, 0.34605113, 0.07489629, -0.16263823, 0.017182954, 0.5533502, 0.13305502) * g_15; + result += mat4(-0.097454436, 0.030718658, 0.14785567, -0.097030275, -0.013122067, -0.083220206, -0.050912652, -0.023857877, 0.080882534, 0.37543672, -0.01784633, -0.16073057, -0.26875043, -0.22118908, 0.1596688, 0.09931549) * g_16; + result += mat4(-0.0035172352, -0.094074495, -0.18603468, 0.051569406, 0.113153726, -0.24173748, 0.00024355631, -0.13451214, 0.09677065, -0.24573214, 0.117040165, 0.20340551, -0.49295896, 0.32970372, -0.07180111, 0.13000454) * g_17; + result += vec4(0.05127727, -0.027001878, 0.0080799395, 0.050219692); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x72 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_3_tf3 +//!BIND conv2d_3_tf4 +//!BIND conv2d_3_tf5 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf3 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.0947985, 0.2332559, -0.024840387, -0.12695168, -0.011602261, -0.14465079, 0.08024385, -0.22528623, 0.1340458, -0.07059673, -0.3695891, 0.12334664, 0.20933141, -0.09326808, -0.2975661, 0.061081678) * g_0; + result += mat4(-0.11507307, 0.35812494, -0.17707227, -0.014434964, -0.15823618, 0.13134694, -0.18273474, -0.14312805, 0.12061932, 0.1496361, -0.03527865, 0.08025679, 0.21869129, 0.07058963, -0.16300866, 0.047147434) * g_1; + result += mat4(-0.044750545, -0.009959345, -0.099832825, 0.05492685, -0.08516999, -0.05746863, -0.15037218, -0.12047596, 0.027117934, 0.08349217, -0.064510226, 0.19004482, 0.016504517, -0.19758373, -0.029387178, 0.024999566) * g_2; + result += mat4(-0.19270788, -0.15476836, 0.24117126, -0.0379194, 0.3743418, -0.103265874, 0.13830991, -0.036348045, 0.0559878, -0.10660704, 0.13829483, -0.16407472, -0.11997183, 0.01790227, 0.14605843, -0.07279059) * g_3; + result += mat4(0.28092733, -0.16125645, -0.2748912, 0.26881403, 0.059113085, -0.054873332, -0.021884039, 0.089765035, -0.1258933, -0.039875403, 0.08049244, 0.14648421, 0.15913528, 0.11868216, 0.26197466, 0.20166811) * g_4; + result += mat4(0.15582782, 0.404659, 0.0015323871, 0.042285357, 0.03543343, 0.28058854, 0.09269268, -0.1961485, -0.050092928, 0.23627135, 0.18665306, -0.2269804, 0.019387577, -0.27056855, -0.032678973, -0.1313305) * g_5; + result += mat4(0.041672353, -0.11869399, -0.10265229, -0.08001758, -0.083409294, 0.27257153, 0.029960267, 0.009504049, -0.25293326, -0.028966684, -0.26568112, 0.07192321, -0.45549354, 0.00988489, 0.2838676, -0.15658323) * g_6; + result += mat4(-0.0969234, -0.44853622, 0.1312735, 0.36762837, 0.29700848, -0.055008043, -0.107015595, 0.26205721, -0.025227455, -0.26865402, 0.037786532, 0.14742893, -0.21797921, -0.09365055, 0.1648379, 0.11523759) * g_7; + result += mat4(-0.08800255, -0.22999708, 0.15386356, -0.15094003, -0.1857585, 0.11688115, 0.23875357, 0.19499353, 0.0412525, -0.024864528, 0.22446378, -0.2659101, 0.08516812, 0.45923305, 0.10732433, -0.09354394) * g_8; + result += mat4(0.20697595, -0.20005412, -0.035901353, -0.13551861, -0.025914649, -0.28284183, -0.11218443, -0.10993567, -0.07797817, 0.1730173, -0.09316322, 0.03815029, 0.10571366, -0.038362827, -0.1914281, -0.09927578) * g_9; + result += mat4(-0.14568554, -0.11636077, 0.19675533, -0.041014023, -0.25883666, -0.12882718, 0.31183702, -0.0011882539, 0.14754722, 0.024993556, 0.0168953, 0.067850605, -0.19463025, 0.034864627, 0.041240662, -0.03222681) * g_10; + result += mat4(-0.1426807, 0.15183157, 0.15200667, -0.14715526, -0.17436193, -0.2790302, 0.092628404, 0.17627066, 0.08689362, -0.12282142, -0.22965756, 0.0715357, -0.06378668, -0.038817883, 0.006680897, -0.16652597) * g_11; + result += mat4(-0.112664886, 0.16732118, -0.082690485, -0.36430246, 0.1043046, -0.20746218, -0.26694834, 0.118057035, -0.005464113, 0.16917925, -0.007820917, 0.0140616475, -0.074033186, -0.21199086, 0.03959589, -0.024746282) * g_12; + result += mat4(0.11506031, 0.23876894, -0.08834736, 0.21521813, -0.074349664, 0.13053001, -0.11863015, 0.0024896788, 0.031616643, -0.24681048, 0.1621546, 0.038487136, -0.001199782, 0.14914162, 0.013806334, 0.01951855) * g_13; + result += mat4(-0.008453833, 0.26529935, -0.11500479, -0.44277295, 0.043010518, -0.15156142, -0.17212024, -0.13284442, 0.14113069, 0.076676466, -0.120249875, -0.10003942, 0.36022985, 0.35055906, -0.021890117, 0.13908324) * g_14; + result += mat4(0.074958876, 0.18787664, 0.11494537, 0.3821255, 0.07704636, 0.175412, 0.024792312, 0.111158736, -0.060063202, -0.08937286, 0.21284722, 0.09321436, 0.050422233, -0.10608569, 0.13923599, 0.11934222) * g_15; + result += mat4(-0.07895042, -0.019823313, -0.042007383, -0.044339843, 0.050560612, -0.13500823, -0.1591223, 0.2070823, 0.3217226, 0.0050152694, -0.08454321, 0.15309334, 0.1487958, 0.23113962, -0.037693724, -0.011872479) * g_16; + result += mat4(-0.08302536, 0.12064725, 0.015102583, 0.019917564, -0.15781376, -0.03290087, -0.365194, -0.010774219, -0.15353476, 0.0021079888, 0.14096913, 0.015317738, -0.21820316, -0.18941125, -0.07205566, 0.16917731) * g_17; + result += vec4(-0.05091759, 0.03221878, 0.05122183, -0.009628421); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x72 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_3_tf3 +//!BIND conv2d_3_tf4 +//!BIND conv2d_3_tf5 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf4 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.21972683, 0.075138226, 0.10989088, 0.15510671, -0.1459443, -0.0016620584, 0.061098658, 0.31031737, 0.066652276, -0.028504146, -0.2547878, 0.05934589, -0.097173244, -0.02434052, 0.00775221, -0.1422285) * g_0; + result += mat4(0.107364714, -0.04124382, 0.15790261, -0.06481956, 0.17907274, -0.060845222, 0.12766309, -0.00051298866, -0.102316536, -0.15852973, -0.08159873, -0.044251855, 0.27320522, -0.058971684, 0.10957703, 0.11716146) * g_1; + result += mat4(-0.013670836, 0.24698958, -0.22751978, -0.0073335706, 0.056770742, -0.030483782, 0.02582211, 0.08631351, 0.037981253, -0.19984269, -0.0027441583, -0.0624548, -0.0073825894, 0.19920917, 0.025273615, 0.08608597) * g_2; + result += mat4(-0.0662924, -0.07036538, 0.18532504, -0.2299518, -0.17168434, 0.10680291, -0.32843417, 0.18283479, -0.014981234, -0.3074193, 0.25829783, 0.13314934, -0.29796004, -0.24784647, 0.107523575, -0.06354826) * g_3; + result += mat4(-0.27304897, 0.021216365, 0.19145995, -0.08837303, 0.002489904, -0.14517735, -0.11758484, 0.017706083, 0.11964576, 0.07262963, -0.02875841, 0.058490552, 0.36016595, -0.17619327, -0.14238013, -0.06569956) * g_4; + result += mat4(-0.17569791, 0.018018663, -0.06937724, -0.19693184, 0.005096431, 0.24887225, -0.26054552, -0.08146536, 0.31367835, 0.3301311, 0.32667178, 0.28089377, 0.1244409, -0.031515893, 0.036075663, 0.19611663) * g_5; + result += mat4(0.17254318, 0.2789707, -0.023289531, 0.0384691, 0.056068007, -0.21530272, -0.12280407, -0.27022615, 0.0869075, -0.005402115, 0.31068063, -0.28706273, -0.055334765, 0.08997763, 0.16977838, -0.050881755) * g_6; + result += mat4(0.038418837, -0.016408218, 0.08852962, -0.014304706, -0.12245269, 0.32564455, 0.008428901, -0.12942936, 0.014469481, 0.19589558, 0.05143627, 0.015018481, -0.18424125, 0.31541458, 0.15289177, -0.015950657) * g_7; + result += mat4(-0.24448341, -0.12913765, 0.14086853, 0.23801136, 0.053969346, -0.00888275, -0.16412334, 0.12726937, -0.16968949, 0.23890501, 0.00017258813, -0.009174681, 0.16712539, -0.24415763, 0.15660262, -0.065232545) * g_8; + result += mat4(-0.050856017, 0.202047, -0.18741634, -0.046839286, 0.10381434, -0.18508428, 0.2024435, -0.058891546, -0.06494971, -0.13396326, -0.0043475446, 0.080295786, -0.03888818, 0.20266065, -0.11657034, -0.044489022) * g_9; + result += mat4(-0.072022684, 0.03736022, -0.18028143, 0.084992565, 0.071270995, 0.17529677, 0.21173926, -0.04662527, -0.114107236, -0.0499027, -0.023457017, -0.14902714, -0.16848294, 0.29582912, -0.031783022, -0.21024497) * g_10; + result += mat4(0.12895544, 0.031505328, 0.07695562, 0.345239, -0.23573573, -0.35058022, 0.16588537, -0.37892917, -0.25666252, 0.04829329, 0.015923034, -0.06639003, -0.19299003, 0.19805184, 0.062723555, -0.16471659) * g_11; + result += mat4(-0.0048171217, -0.3616856, 0.10861591, -0.112293005, 0.22894251, 0.007305623, -0.15964155, -0.11533153, -0.04575267, -0.054644916, 0.102498904, -0.10909718, 0.06384877, 0.03547178, 0.036990482, 0.11729651) * g_12; + result += mat4(0.12198726, 0.049392004, 0.030775595, -0.0439167, 0.05127687, 0.006836142, 0.25043175, 0.41561976, 0.18109778, 0.036204416, -0.18115522, -0.11104906, -0.13888827, -0.030574424, -0.15439117, -0.023217283) * g_13; + result += mat4(0.037748005, 0.115257904, 0.0013052573, -0.08927453, 0.15113032, 0.0036705493, -0.036586095, 0.082375705, -0.14908089, 0.19808415, 0.10144146, -0.13911691, 0.18034998, -0.09426868, -0.28695896, -0.07120951) * g_14; + result += mat4(-0.15097517, -0.23736724, -0.011011207, 0.15136749, -0.1099934, -0.054979928, 0.19652224, 0.18154691, -0.104135856, 0.14703101, 0.10374482, -0.14010042, -0.08321475, -0.15499261, 0.12135948, -0.09310376) * g_15; + result += mat4(0.1298599, 0.09743068, -0.13728131, 0.15002461, 0.16739184, 0.1680788, -0.13828343, -0.0080054095, 0.10013758, -0.123607814, 0.045337323, -0.09940934, -0.13998291, -0.012435486, -0.2050455, 0.40441212) * g_16; + result += mat4(-0.4145493, -0.041918173, -0.029234748, -0.04663795, 0.068999134, -0.13911937, -0.10113266, -0.004217848, 0.049335115, 0.26279005, -0.1096574, -0.009956439, -0.18413721, 0.25698513, 0.03403163, 0.050992493) * g_17; + result += vec4(-0.03271656, -0.03322799, 0.033719946, -0.039838646); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x72 +//!HOOK MAIN +//!BIND conv2d_3_tf +//!BIND conv2d_3_tf1 +//!BIND conv2d_3_tf2 +//!BIND conv2d_3_tf3 +//!BIND conv2d_3_tf4 +//!BIND conv2d_3_tf5 +//!BIND conv2d_5_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!SAVE conv2d_6_tf5 +//!WIDTH conv2d_3_tf.w +//!HEIGHT conv2d_3_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_1 (max((conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_3_tf_tex(conv2d_3_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_3_tf1_tex(conv2d_3_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_3_tf2_tex(conv2d_3_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_3_tf3_tex(conv2d_3_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_3_tf4_tex(conv2d_3_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_3_tf5_tex(conv2d_3_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_5_tf_tex(conv2d_5_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.3184051, -0.13755248, -0.23732315, -0.023162326, 0.01720298, -0.13192378, 0.016757166, -0.11769522, -0.09113053, 0.045006696, 0.11998161, 0.22151577, -0.09237514, 0.25612727, 0.031724155, 0.03275836) * g_0; + result += mat4(0.16658157, 0.09904747, 0.12178111, -0.21332578, -0.084959686, 0.25737628, -0.07269974, -0.0044502337, -0.16059934, 0.14796074, -0.2408073, -0.283023, -0.02290089, -0.12150798, 0.122527674, 0.33295074) * g_1; + result += mat4(-0.13768205, -0.032166574, 0.10757663, -0.19916943, 0.22137393, 0.097398534, -0.028636161, 0.057976738, 0.021234423, 0.16993561, -0.006663144, 0.056026485, -0.17463136, 0.011491455, -0.34180948, -0.052859932) * g_2; + result += mat4(0.2173205, -0.025248244, -0.24675395, -0.23414998, -0.062658116, 0.18439959, -0.050601244, -0.11459134, -0.22184677, -0.18934494, 0.20033342, -0.028426873, -0.12788561, 0.09256763, 0.04540186, -0.041159313) * g_3; + result += mat4(-0.0993446, -0.04936769, -0.092339985, -0.36057615, -0.07563136, 0.16411334, 0.18075173, 0.06588899, 0.020508798, 0.06469463, 0.070499524, -0.032993205, 0.02209328, -0.03959476, 0.2591428, -0.31618914) * g_4; + result += mat4(0.18500368, -0.27579078, 0.15843801, -0.19448781, 0.066866614, 0.00010545493, 0.15846692, 0.15597339, 0.2097692, 0.047041208, -0.16916004, -0.112265535, -0.31957072, -0.039543174, 0.27903298, 0.238342) * g_5; + result += mat4(-0.24176823, 0.004759584, 0.30377442, -0.28161818, -0.01639163, 0.28049424, 0.15209472, -0.13002338, -0.034997053, 0.14607708, -0.16109394, -0.3709857, 0.06600745, -0.06402065, 0.09106263, -0.08173308) * g_6; + result += mat4(0.00085082283, -0.1385803, -0.096698835, -0.018731076, -0.13685198, -0.066617444, -0.021327814, 0.047615487, -0.0067158537, -0.305055, -0.030938676, 0.103631414, -0.10505161, 0.1377772, -0.21578938, -0.08955101) * g_7; + result += mat4(-0.012543417, 0.14635363, -0.34157932, 0.13002996, -0.08412303, -0.035678063, -0.018591393, -0.07879708, 0.052513346, -0.2033995, -0.2095011, 0.09329585, -0.10069142, 0.06845934, 0.34163034, 0.08352417) * g_8; + result += mat4(-0.22950074, -0.028784348, 0.19254303, -0.08938541, 0.15025762, -0.28843135, 0.032744445, 0.31275362, 0.013827366, -0.0037322342, -0.20390843, 0.18030973, 0.014234129, 0.12213843, -0.021821825, 0.04274312) * g_9; + result += mat4(0.14702202, 0.14780809, -0.050316352, 0.008637546, -0.018341271, -0.18107755, -0.034195397, -0.016785527, 0.01823875, -0.04468439, 0.11064914, -0.05889276, -0.052540354, 0.072073415, -0.2706125, 0.21487243) * g_10; + result += mat4(0.5024447, 0.058864042, -0.257565, 0.1780413, -0.065261215, 0.03483217, 0.46696317, -0.055783324, 0.13675097, -0.0388672, 0.22358736, -0.019960344, 0.11402829, 0.040916674, 0.042867694, -0.19926277) * g_11; + result += mat4(0.00014269089, 0.03286679, -0.024311759, -0.10549739, -0.21425818, 0.06221074, 0.040516183, -0.107838914, 0.14727353, 0.17660016, -0.20832092, -0.23476245, -0.09223368, 0.09435899, -0.06876976, -0.032683436) * g_12; + result += mat4(-0.061027218, 0.0023568163, 0.03251149, 0.120799825, 0.18775438, -0.022180539, -0.23275055, -0.10154802, -0.078680724, -0.23514764, 0.15737699, 0.1601879, 0.124354616, 0.038517214, 0.14103456, 0.0208124) * g_13; + result += mat4(0.22970279, 0.021356303, -0.11624362, -0.20197557, -0.12733872, 0.20742093, 0.35425633, -0.1574453, 0.045965664, -0.23022245, 0.16394545, -0.15241143, 0.24514204, 0.22437558, 0.113987625, -0.0011856258) * g_14; + result += mat4(-0.35714933, -0.31235123, 0.12664467, 0.15167892, 0.16453564, -0.010062876, -0.0831791, 0.19339912, -0.1188241, -0.056378998, -0.22127298, -0.15548877, -0.24432793, -0.034023006, 0.041227486, -0.2873007) * g_15; + result += mat4(-0.032629743, -0.27882102, 0.1215572, -0.017597208, 0.116811305, 0.14217746, 0.015951436, -0.5205457, -0.038023748, -0.14943328, -0.15468231, 0.074514836, 0.16636418, -0.062607236, -0.032341167, -0.11533553) * g_16; + result += mat4(-0.08205011, 0.16940303, 0.18777788, 0.16565365, 0.1837101, 0.18085457, 0.018884834, 0.3717715, 0.083659224, 0.25785285, -0.21427527, -0.057258263, 0.07784925, 0.29109064, 0.23607136, 0.21052702) * g_17; + result += vec4(-0.04224999, -0.02424048, 0.054364916, -0.013123425); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_6_tf3 +//!BIND conv2d_6_tf4 +//!BIND conv2d_6_tf5 +//!SAVE conv2d_8_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_6_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_6_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_6_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_6_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_6_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_6_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.017245982, -0.10205182, 0.06592613, 0.10119294, 0.16497745, -0.09849219, -0.25274593, 0.008262675, -0.08324075, 0.0012232156, 0.13190362, -0.06990613, -0.10311924, 0.084054045, 0.18017255, 0.0015689692) * go_0(-1.0, -1.0); + result += mat4(-0.086738944, 0.05683929, 0.02077085, -0.08947913, -0.14034756, -0.20852928, -0.013736887, 0.2779769, 0.3373044, -0.13216746, -0.016907953, -0.12594625, -0.10783071, 0.03808162, 0.24408895, 0.20189719) * go_0(-1.0, 0.0); + result += mat4(0.011089735, 0.051879622, -0.009382909, -0.061490677, -0.15404041, 0.10668794, -0.12992448, 0.023808947, 0.04725236, -0.007854223, 0.018729774, 0.0069361436, -0.13436957, -0.104874924, 0.12281142, -0.037680827) * go_0(-1.0, 1.0); + result += mat4(0.10235808, 0.009209343, -0.07005798, 0.10155561, -0.12590079, -0.13827644, 0.19028322, 0.07556906, -0.002828972, -0.120726846, 0.0629339, 0.052100886, -0.17681666, -0.023424415, 0.13374582, 0.09863593) * go_0(0.0, -1.0); + result += mat4(-0.039348856, -0.3029951, 0.04409393, 0.14203669, 0.0696304, 0.12359778, 0.042248026, 0.0104241725, 0.13959405, -0.10698982, -0.057147264, 0.12518157, 0.19059546, 0.41067636, -0.1983108, 0.18840271) * go_0(0.0, 0.0); + result += mat4(-0.15870674, -0.0701884, 0.08489569, -0.02654819, 0.0033299036, -0.060902737, -0.04983705, -0.35470948, -0.084136516, -0.14726189, -0.072878584, 0.07187844, 0.20252506, 0.009699822, -0.073386565, 0.106467165) * go_0(0.0, 1.0); + result += mat4(0.2179163, 0.19806448, -0.15892337, -0.07720002, 0.05189642, 0.09778843, 0.019355027, 0.001972146, -0.13311687, 0.11688048, 0.21982704, -0.020337472, 0.14858794, 0.051447146, -0.2608639, -0.07317878) * go_0(1.0, -1.0); + result += mat4(0.22658373, 0.4676125, 0.12164402, 0.1053381, -0.077884555, -0.2299649, -0.077929124, -0.023255048, 0.086657956, 0.16235548, 0.11172628, -0.1735993, 0.08308437, 0.07557913, -0.12573138, 0.027871478) * go_0(1.0, 0.0); + result += mat4(0.052426986, 0.042996544, -0.0065641096, -0.13619404, 0.0937742, -0.06937073, 0.025181042, -0.009622155, 0.06362213, 0.122430645, 0.16642696, 0.0073900563, 0.028088724, -0.15745147, -0.04368355, -0.219305) * go_0(1.0, 1.0); + result += mat4(-0.06745488, 0.065858796, 0.12368586, 0.0427822, -0.06909228, 0.08118366, 0.1765519, 0.10772472, -0.06532271, -0.045426063, 0.016137455, 0.020064423, 0.014287055, -0.054321405, 0.042286996, 0.10099062) * go_1(-1.0, -1.0); + result += mat4(-0.057029862, 0.0362498, -0.037312467, -0.14639975, 0.034470584, -0.009491449, -0.10235259, -0.16240342, -0.18365304, 0.03781435, 0.06301943, 0.060023054, -0.09714585, 0.031318884, 0.06972318, 0.018246962) * go_1(-1.0, 0.0); + result += mat4(0.13726738, -0.16109414, 0.07628339, 0.12009387, 0.039631862, -0.09495948, 0.00029953572, 0.08877397, -0.044539213, -0.034805167, 0.0068849795, -0.04260509, -0.06018224, -0.05168526, -0.023669146, -0.30695686) * go_1(-1.0, 1.0); + result += mat4(-0.120535225, -0.0070700655, 0.16954692, 0.07605776, -0.05912706, 0.003126789, 0.041797232, -0.06152968, 0.117091924, 0.1430996, 0.03245857, 0.05414445, -0.03527794, 0.00017621276, 0.09934673, 0.014325701) * go_1(0.0, -1.0); + result += mat4(-0.07887054, -0.08962667, 0.026777597, -0.10685796, -0.09769213, -0.040339533, -0.05416594, -0.07396728, 0.1480623, 0.1829144, 0.13414545, 0.077383295, 0.2445133, -0.08650768, -0.21591617, 0.019430999) * go_1(0.0, 0.0); + result += mat4(0.11418274, 0.0809287, -0.048047103, 0.26749784, 0.026034137, -0.035213873, -0.049213536, 0.010558167, 0.040018234, 0.0735889, -0.06628688, -0.03411808, -0.035016537, -0.09873343, -0.18022732, -0.22504263) * go_1(0.0, 1.0); + result += mat4(-0.007387419, 0.078416035, -0.0059123817, -0.059462387, 0.16282924, 0.028098159, -0.03884464, 0.08384578, -0.03217295, -0.11172753, -0.041089218, -0.08262653, -0.12797798, -0.09257405, -0.0060008634, 0.054310728) * go_1(1.0, -1.0); + result += mat4(-0.107547924, -0.136527, 0.11917758, -0.08163186, 0.16521084, 0.20436095, 0.13264002, -0.038182408, -0.049320918, 0.01033383, -0.057830308, -0.026969533, 0.047547635, -0.2403957, -0.19596279, -0.12783392) * go_1(1.0, 0.0); + result += mat4(-0.09732307, -0.0189351, -0.16634326, 0.17837308, -0.028240273, 0.132171, 0.025601666, 0.080066584, 0.09691263, 0.010431896, 0.05836809, -0.12634112, 0.15672882, -0.1375993, 0.06891336, 0.09314768) * go_1(1.0, 1.0); + result += mat4(-0.1063821, -0.037122764, 0.08435907, 0.07673827, -0.21610612, 0.1227755, 0.030571682, 0.2720798, -0.09842632, 0.029424794, -0.031963848, -0.027386528, -0.29708394, -0.051083524, -0.006008752, -0.34883302) * go_2(-1.0, -1.0); + result += mat4(-0.09593852, 0.005276368, 0.067957945, 0.0027987815, -0.066867955, -0.010717861, 0.042687785, 0.10830141, 0.09585637, -0.018631198, 0.10223601, -0.025948746, -0.19886921, 0.09382708, 0.05066887, -0.054366365) * go_2(-1.0, 0.0); + result += mat4(-0.0833738, 0.039265625, 0.129632, -0.028127648, -0.024209471, 0.051543966, -0.0767235, -0.1821821, 0.11022975, -0.067617096, -0.04115153, 0.019660803, -0.06796924, -0.009942689, 0.04878736, -0.14860383) * go_2(-1.0, 1.0); + result += mat4(-0.18358909, -0.017043322, -0.016188553, 0.09052155, 0.19360738, 0.10710942, -0.0044090515, -0.05904112, -0.083967276, 0.14215608, 0.063859425, -0.008474255, -0.12804742, 0.25150838, 0.038639195, 0.20586789) * go_2(0.0, -1.0); + result += mat4(-0.099301375, -0.048908107, -0.17589024, -0.025980422, 0.023207828, -0.002401527, -0.2398759, 0.11362655, 0.18235138, 0.267622, -0.22997108, -0.07030057, -0.28071132, 0.306005, -0.08022259, 0.060407158) * go_2(0.0, 0.0); + result += mat4(-0.06965637, -0.2937255, -0.10762846, -0.49147597, -0.014420681, -0.10146582, 0.025570659, -0.21252447, 0.08464411, 0.18697253, -0.1025335, -0.10293646, -0.07276314, -0.03569437, 0.30038935, -0.0024725774) * go_2(0.0, 1.0); + result += mat4(0.06364948, -0.014395104, 0.0605291, 0.10106749, 0.090445906, -0.051150694, -0.12005607, -0.01985712, -0.06967436, 0.1545472, -0.08905129, 0.15250902, 0.09013615, 0.248247, -0.35433382, 0.018879067) * go_2(1.0, -1.0); + result += mat4(0.2215353, -0.08770339, -0.07041561, -0.13033846, -0.019137396, -0.27794796, -0.072156884, -0.122439586, -0.04561034, 0.20950459, -0.29372254, -0.26654056, 0.07440635, -0.015196107, -0.5248822, 0.08875214) * go_2(1.0, 0.0); + result += mat4(0.17983232, 0.090477616, 0.094162986, -0.08806475, 0.005367457, -0.0132736135, 0.01606031, 0.05123799, 0.11693163, 0.053036988, -0.021136556, -0.05958482, 0.012477222, 0.32991868, -0.0811718, 0.06638447) * go_2(1.0, 1.0); + result += mat4(0.11219015, -0.09929138, -0.1525805, -0.12684448, 0.067464076, -0.03947617, -0.101565175, 0.06832013, 0.058220826, 0.0012256311, -0.024047976, -0.01354069, -0.09702756, -0.046101037, -0.01889354, 0.11200347) * go_3(-1.0, -1.0); + result += mat4(-0.057377364, 0.044251055, -0.021257406, 0.05768678, 0.0648225, 0.13525979, -0.0029373185, 0.13319606, -0.14027396, -0.096002735, 0.09139668, 0.23646317, 0.0293897, -0.13363723, 0.016895983, 0.058510184) * go_3(-1.0, 0.0); + result += mat4(-0.002693573, -0.13944106, 0.002239104, -0.21911725, -0.032995626, 0.075961664, 0.11178981, -0.0015659783, -0.11075517, 0.00930531, -0.04727037, 0.021806953, 0.004676998, 0.07955546, -0.029060522, 0.18123037) * go_3(-1.0, 1.0); + result += mat4(-0.086647436, -0.130716, 0.20161074, -0.08644982, 0.0792844, -0.018883388, -0.075795844, 0.10265765, 0.1811673, 0.1480598, -0.055835947, -0.022307266, -0.14606982, -0.0522134, 0.0076986584, 0.015665498) * go_3(0.0, -1.0); + result += mat4(0.0057296897, 0.16327685, -0.21133316, 0.11627887, 0.014946105, -0.10489582, -0.06623814, -0.06350826, 0.13182184, 0.12519948, 0.05139343, -0.02916212, -0.21002972, 0.017330766, -0.13252927, 0.050922133) * go_3(0.0, 0.0); + result += mat4(-0.04871255, -0.012975798, -0.11613283, -0.08855554, -0.032249227, 0.041257735, -0.16926566, -0.08250032, -0.08623899, 0.051378645, -0.035023782, -0.06256876, 0.11318346, -0.00012973868, -0.11205067, 0.13570346) * go_3(0.0, 1.0); + result += mat4(-0.105051674, -0.03766071, -0.015085921, 0.00305451, 0.0139633585, 0.014744175, -0.18820298, 0.09955764, -0.12837513, -0.07531542, 0.04601651, -0.029123126, 0.022442687, 0.13972595, -0.031776607, -0.052655537) * go_3(1.0, -1.0); + result += mat4(0.10682988, -0.106846526, 0.013064614, 0.12246749, 0.08142642, -0.094309695, -0.058649402, 0.0031743639, 0.08193218, -0.02287295, -0.16673462, 0.07789598, 0.07504035, 0.086432226, -0.059183855, -0.056013927) * go_3(1.0, 0.0); + result += mat4(-0.010878195, -0.11379422, -0.043786187, -0.13089088, -0.08522914, -0.020528818, -0.010563557, -0.044002954, 0.035698216, 0.001955673, 0.10179879, -0.0014214314, 0.007915656, -0.064626254, -0.04294849, -0.008088115) * go_3(1.0, 1.0); + result += mat4(-0.15029684, 0.060637783, 0.29926464, -0.007052848, 0.02827067, -0.0088146385, -0.052661847, -0.02205749, 0.027865848, -0.01038015, -0.12030614, 0.02273277, -0.18796863, 0.013519721, 0.06671391, -0.05697902) * go_4(-1.0, -1.0); + result += mat4(-0.20264873, 0.22058693, 0.43826097, -0.015237768, 0.032960944, 0.003309377, 0.10062095, -0.012863805, 0.030783176, -0.08200156, -0.039331485, 0.051835436, 0.19984727, -0.039266717, -0.17781837, -0.14248152) * go_4(-1.0, 0.0); + result += mat4(0.093978226, 0.011119174, 0.1061507, 0.04869649, -0.02820912, -0.02570852, -0.036345243, -0.030146461, 0.031859435, 0.018717006, -0.08010048, 0.0091279335, 0.004021007, 0.0063101063, 0.117809206, 0.07310967) * go_4(-1.0, 1.0); + result += mat4(-0.07775973, 0.12602952, 0.23379913, 0.15826301, -0.059838798, 0.0007843091, -0.0913573, -0.03798942, -0.13421534, -0.204582, -0.037016068, 0.08723744, -0.13195333, -0.03467855, 0.10278616, -0.011215369) * go_4(0.0, -1.0); + result += mat4(0.069957554, 0.081326, 0.0687901, 0.22582065, 0.101900525, -0.15870668, -0.0866743, 0.08454413, -0.09145879, 0.047340065, 0.11407844, 0.05103302, -0.09618353, 0.1580393, -0.021783678, -0.1947357) * go_4(0.0, 0.0); + result += mat4(0.011162823, -0.17127505, -0.23388927, -0.1544722, -0.026168894, 0.034256976, -0.027069887, -0.0070482744, 0.07260682, -0.0052216426, -0.07489467, 0.09012186, 0.22308883, 0.01749106, 0.042926382, 0.029785568) * go_4(0.0, 1.0); + result += mat4(0.015555597, -0.07857198, -0.12415407, 0.18139744, 0.04146236, -0.035874225, 0.028046906, 0.100426674, 0.018644337, 0.22935158, 0.15857206, -0.19486287, -0.1677264, 0.032254037, 0.15205738, -0.11749586) * go_4(1.0, -1.0); + result += mat4(-0.1303965, 0.015590829, -0.14921655, 0.07449558, -0.027212782, -0.032357175, -0.17829119, 0.06439825, 0.22947344, 0.26642513, 0.11972044, 0.059891608, -0.29125953, -0.028353378, 0.12136306, 0.15963335) * go_4(1.0, 0.0); + result += mat4(0.15112482, 0.08952805, -0.04212809, -0.04549198, -0.03481351, 0.048324164, 0.13253081, 0.08421476, -0.027360281, 0.041903887, -0.075338595, 0.07666827, -0.048728418, -0.06499062, 0.04338423, 0.032147698) * go_4(1.0, 1.0); + result += mat4(0.058887824, 0.07778715, -0.045073804, 0.011780557, -0.033801872, -0.07547611, -0.05476811, 0.09507769, -0.12553574, -0.042107146, 0.04695164, 0.017746076, 0.13864599, -0.050091684, -0.14447159, -0.08917469) * go_5(-1.0, -1.0); + result += mat4(-0.18243507, -0.14782558, 0.260054, 0.042238675, 0.07606748, 0.060196955, 0.04794181, -0.1946959, 0.0869163, 0.12090887, -0.10886212, 0.1414272, 0.14358684, -0.040078808, 0.083214276, 0.08483279) * go_5(-1.0, 0.0); + result += mat4(-0.04397986, -0.062930815, 0.07331044, 0.13039033, 0.09692625, -0.15316631, 0.16941437, 0.064028315, 0.14605011, 0.023272032, -0.022688555, 0.028461212, 0.040201195, -0.071363926, -0.017676292, 0.028348247) * go_5(-1.0, 1.0); + result += mat4(0.087781355, 0.05187866, 0.0940777, -0.18600285, 0.17623809, 0.074097976, -0.019378444, -0.0034571593, -0.08056692, -0.073923014, 0.20213082, 0.0726364, 0.13580574, -0.043443684, 0.069961116, 0.051125742) * go_5(0.0, -1.0); + result += mat4(-0.050924864, 0.21507788, 0.14330234, -0.08247252, -0.2728361, -0.23545425, -0.15436237, -0.13535537, -0.061899453, -0.19918258, -0.2585995, 0.012241068, 0.08689229, -0.09280902, -0.13026375, 0.1064315) * go_5(0.0, 0.0); + result += mat4(-0.07371564, 0.14122753, 0.1949825, 0.1524377, -0.122869365, 0.107369035, 0.014713882, 0.096095756, -0.02859108, 0.08568842, 0.123431474, 0.21742304, 0.020948796, -0.004655902, -0.18085332, -0.11183853) * go_5(0.0, 1.0); + result += mat4(0.054337885, -0.076172344, -0.02629655, -0.06944734, 0.15252593, 0.009500494, -0.25464016, -0.03494791, -0.006746579, 0.031879753, 0.11213761, 0.045518827, -0.09891111, -0.12913223, -0.0033209904, 0.066501915) * go_5(1.0, -1.0); + result += mat4(-0.07280475, 0.040424235, -0.024204433, -0.04176046, 0.105632, 0.15674141, 0.17077228, -0.01953309, -0.14864175, -0.0689075, -0.10428251, -0.032287225, -0.04775922, 0.089978755, 0.01763968, -0.10860219) * go_5(1.0, 0.0); + result += mat4(-0.039242428, 0.07174806, -0.23879573, -0.13515966, 0.0754838, 0.13147514, -0.0074810525, 0.07645021, -0.06193158, -0.083100386, 0.024893753, -0.057513595, 0.16797991, -0.039490376, -0.084132925, -0.048575893) * go_5(1.0, 1.0); + result += mat4(-0.052777596, 0.024444943, 0.21568191, -0.102683686, -0.16802232, 0.15138745, 0.03853586, 0.05203062, -0.06719961, -0.037389573, 0.011536928, 0.08349778, -0.33632314, -0.081108384, 0.4417886, 0.13477933) * go_6(-1.0, -1.0); + result += mat4(0.01373485, -0.11203034, 0.19779079, -0.08773285, -0.08533576, 0.075271316, -0.088026725, -0.07409357, -0.08100805, 0.057632018, -0.16284414, -0.06444499, 0.009572425, 0.1174776, 0.10302009, 0.1211951) * go_6(-1.0, 0.0); + result += mat4(-0.03761997, -0.003349971, 0.02041207, 0.0010841731, -0.038151734, -0.09727598, 0.11449757, 0.095479354, -0.035939824, 0.039719943, -0.011112067, -0.06205215, 0.24213329, 0.054236263, -0.09503797, 0.00023313743) * go_6(-1.0, 1.0); + result += mat4(-0.13187398, -0.09054714, 0.10808027, -0.055575542, -0.1533299, -0.22848558, -0.014494685, 0.059117734, 0.06977451, 0.16421948, -0.115678005, 0.00311709, 0.11054417, 0.17392628, 0.1946382, 0.10684235) * go_6(0.0, -1.0); + result += mat4(-0.06880819, -0.0076114223, -0.13806044, -0.14489281, -0.17702803, -0.08259098, 0.114658654, -0.16751432, 0.12731177, 0.34103456, -0.10029679, -0.064408354, -0.030143933, -0.24500176, -0.024842618, -0.43650916) * go_6(0.0, 0.0); + result += mat4(-0.20742895, 0.00029076883, -0.029373998, -0.1976022, -0.041304972, -0.05941005, 0.05199635, 0.1257356, 0.11870329, 0.029613, 0.021134172, 0.020612856, -0.06537667, -0.02532794, -0.07035173, 0.12409319) * go_6(0.0, 1.0); + result += mat4(0.067771055, -0.0345983, 0.09186677, -0.005295504, 0.09956795, -0.17157736, -0.07697514, 0.012468826, 0.017248223, -0.14458816, -0.071830764, 0.07367817, -0.05593959, 0.051516414, -0.08504839, 0.11843458) * go_6(1.0, -1.0); + result += mat4(0.15088317, 0.03333129, -0.20923695, -0.094460204, 0.04697295, 0.0062440387, -0.039073814, -0.09161647, 0.1755622, -0.30983236, -0.08556014, 0.11492072, 0.104413815, 0.0842214, -0.037310757, -0.18297379) * go_6(1.0, 0.0); + result += mat4(0.04779489, 0.018257288, -0.03666126, 0.054610558, -0.011483578, -0.0039002697, -0.18385088, -0.04390974, 0.012142661, -0.10964579, -0.20928559, 0.13421749, -0.04627568, 0.09576614, -0.008722472, 0.13796598) * go_6(1.0, 1.0); + result += mat4(-0.06591881, 0.0076197684, 0.12158399, -0.097497284, -0.23452066, -0.018180897, 0.025338816, -0.17545624, -0.29609966, -0.010837948, -0.15768765, 0.07977878, -0.06623404, 0.064965844, 0.017700914, -0.061997857) * go_7(-1.0, -1.0); + result += mat4(0.1110069, -0.08538926, 0.07894421, 0.08410366, -0.1869946, -0.07017986, 0.028143888, 0.19489996, 0.1259548, 0.28679106, -0.21613047, -0.25111556, -0.095854074, 0.001595896, 0.11793541, -0.099937364) * go_7(-1.0, 0.0); + result += mat4(0.1827612, 0.06100855, -0.047383696, -0.17543076, -0.14235456, 0.0061068106, 0.3388487, -0.063835256, 0.18721531, 0.03568243, -0.4536336, -0.15623139, -0.16966285, 0.15209529, -0.0066732443, 0.021199852) * go_7(-1.0, 1.0); + result += mat4(0.035830673, -0.07905678, -0.041658383, 0.063586906, -0.18796878, 0.004237473, 0.17260559, 0.116263784, 0.30349797, 0.3485403, 0.2872647, -0.024386367, -0.036046654, 0.055318277, -0.10552266, -0.024163853) * go_7(0.0, -1.0); + result += mat4(-0.31444365, -0.10924027, 0.24543238, -0.34045509, 0.33606547, 0.35103965, -0.19982044, -0.16294536, 0.20070334, 0.33381364, 0.17881233, 0.012798481, -0.043514375, 0.0887946, -0.053430077, 0.055176634) * go_7(0.0, 0.0); + result += mat4(0.13308845, -0.18857919, 0.08875917, -0.17240469, -0.18770295, 0.010432233, 0.035033606, -0.22681937, 0.26933533, 0.14998513, 0.2805022, -0.05768719, -0.08279986, 0.0064573316, -0.117615044, -0.45671257) * go_7(0.0, 1.0); + result += mat4(-0.14296085, 0.10913425, 0.24965948, 0.009046303, -0.245076, -0.041025996, 0.059917103, 0.04249123, -0.17960623, 0.09529717, 0.07669131, -0.0058281897, 0.1177263, 0.041879166, 0.08226649, -0.025740432) * go_7(1.0, -1.0); + result += mat4(-0.10495348, -0.11917369, 0.015893627, -0.2228629, -0.2752539, -0.1835585, 0.17213026, -0.11332011, 0.026201153, 0.13388038, 0.24420477, 0.11447363, 0.21471767, 0.17166413, -0.035203807, 0.032872755) * go_7(1.0, 0.0); + result += mat4(-0.10346143, 0.035121717, -0.08986186, -0.184111, -0.04559495, -0.14072795, 0.015853742, 0.03767284, -0.038637567, 0.14072952, 0.15237094, -0.09559783, 0.1335625, -0.0073889513, 0.1717666, 0.0090308655) * go_7(1.0, 1.0); + result += mat4(0.096459456, -0.0474162, 0.0060114395, -0.052968822, -0.05496484, -0.00087164645, 0.094492346, -0.0019693135, 0.023624701, 0.072964646, -0.083129205, 0.26523897, -0.07437864, -0.050710786, -0.06599285, 0.09146691) * go_8(-1.0, -1.0); + result += mat4(0.097554885, -0.052623536, 0.036636185, 0.06635031, 0.1315929, -0.112703465, 0.07648501, 0.11837153, 0.07858523, 0.18714102, -0.11343488, 0.07150988, -0.04412874, -0.018561713, -0.12344369, 0.20441462) * go_8(-1.0, 0.0); + result += mat4(0.042273086, 0.008561595, 0.010489875, 0.08540178, 0.00014577126, -0.056047264, 0.14019163, 0.044617724, -0.007206251, 0.022495534, 0.14835946, -0.08718995, -0.13267758, -0.10678817, 0.20301633, 0.12475036) * go_8(-1.0, 1.0); + result += mat4(0.08486742, 0.017144045, -0.008667514, 0.010306243, -0.17507908, -0.018475998, -0.033005018, 0.05340659, 0.012580127, 0.09524383, -0.13012315, 0.14825384, -0.061180867, 0.1087231, 0.056302182, -0.062199228) * go_8(0.0, -1.0); + result += mat4(0.14364035, -0.094965935, -0.13912293, 0.04337174, -0.15593785, -0.032328963, 0.12531888, 0.15084712, 0.03535679, 0.056784865, -0.21915141, -0.20778814, 0.12775493, -0.09705356, 0.021123385, 0.07069102) * go_8(0.0, 0.0); + result += mat4(-0.034100723, 0.050680146, 0.051500566, -0.045044094, -0.07793916, 0.004949624, 0.03474995, 0.05198082, 0.17187333, -0.13397571, 0.08167277, -0.1837387, 0.020166704, -0.021294702, -0.13651185, -0.0504545) * go_8(0.0, 1.0); + result += mat4(-0.13135555, -0.03613829, 0.048920892, 0.009269026, 0.048384093, -0.07602838, 0.045073777, -0.01749288, -0.071261175, -0.107101366, -0.09252168, 0.0919695, 0.061589587, -0.0019050876, 0.21261542, 0.10825693) * go_8(1.0, -1.0); + result += mat4(0.10798724, 0.060792945, 0.0327558, -0.02553919, 0.14311704, 0.10690927, 0.032604862, 0.032016207, -0.24254093, -0.39715725, -0.5095798, -0.15233834, 0.033676617, -0.087679766, -0.11150812, -0.12255275) * go_8(1.0, 0.0); + result += mat4(-0.006972272, 0.19587488, 0.063339494, -0.033232547, 0.07241594, -0.034235775, -0.09229799, -0.11959815, 0.07213152, -0.117301576, -0.06927173, 0.10017053, 0.051558405, -0.012138675, 0.044149205, -0.051165268) * go_8(1.0, 1.0); + result += mat4(0.16689911, -0.05290122, -0.090476304, -0.027543254, 0.15805009, 0.01485117, -0.27630076, 0.04914042, 0.14706355, -0.0043476336, -0.056836266, -0.15365787, 0.13169362, 0.09486763, -0.07032269, -0.17109036) * go_9(-1.0, -1.0); + result += mat4(-0.0879165, -0.02742011, -0.07260916, 0.23435885, -0.059534714, -0.13795383, -0.22126909, 0.029478507, -0.1850924, 0.034090247, 0.11516748, 0.083627865, -0.08308724, -0.026143529, 0.099359915, -0.17231114) * go_9(-1.0, 0.0); + result += mat4(-0.2324401, 0.14008519, -0.04853353, 0.14712176, -0.089445285, 0.051682536, 0.097105086, 0.3019751, -0.17683853, -0.066201136, 0.026223915, -0.25537798, 0.0717928, -0.024799295, -0.04242034, -0.17082538) * go_9(-1.0, 1.0); + result += mat4(0.13667317, 0.12493611, -0.045963623, -0.12381997, -0.02945609, 0.005977762, 0.08776535, -0.04474835, 0.008373442, -0.08647785, 0.061561592, -0.22876641, 0.22846603, -0.055262823, 0.045672905, 0.009190219) * go_9(0.0, -1.0); + result += mat4(-0.03230106, 0.11736059, -0.09767583, -0.0047885617, -0.276748, 0.29780698, 0.0834233, -0.0014491245, 0.03226799, 0.13920638, -0.0930102, 0.040527172, -0.27107877, -0.16784488, -0.0824801, -0.05269829) * go_9(0.0, 0.0); + result += mat4(0.068900175, -0.034981783, -0.037339307, 0.07443384, 0.14505357, 0.2794023, -0.03021764, 0.33296046, 0.09278462, -0.177695, -0.10216809, -0.108097516, 0.20264505, -0.18635245, -0.036741074, -0.05019796) * go_9(0.0, 1.0); + result += mat4(0.18423182, 0.04128268, -0.024842285, -0.10551282, 0.0129416, 0.0023859264, -0.04726879, -0.062202208, 0.050515536, 0.013095806, -0.08205111, -0.09578067, -0.012120951, -0.012479608, -0.26131198, 0.011845006) * go_9(1.0, -1.0); + result += mat4(0.3329799, 0.3382698, 0.34874886, 0.18110363, -0.09871112, 0.08837514, -0.100864924, 0.15809798, 0.003627495, -0.072377, -0.20515633, -0.044428673, 0.2253228, -0.0095191, -0.38272312, -0.1495562) * go_9(1.0, 0.0); + result += mat4(-0.05687047, 0.22390498, 0.15599313, 0.043056425, -0.076306194, -0.032395355, -0.16278756, -0.05358288, 0.03231372, -0.055404607, 0.030803613, 0.11444513, 0.07843779, 0.11786514, -0.21833785, 0.028968466) * go_9(1.0, 1.0); + result += mat4(0.18091258, -0.09398672, -0.10072262, 0.07764161, 0.008928652, 0.09788299, -0.0030410262, -0.16502286, 0.2069648, -0.009646885, -0.25890633, -0.26879573, 0.0014857659, 0.048887845, 0.1665308, -0.08568518) * go_10(-1.0, -1.0); + result += mat4(-0.061691873, -0.057298407, 0.016101327, 0.17865741, 0.00063088175, 0.07714979, -0.13940501, -0.028737228, 0.112828724, -0.046593618, -0.2586368, -0.070985176, 0.13769239, -0.023880849, 0.08157869, -0.21318875) * go_10(-1.0, 0.0); + result += mat4(0.064085506, -0.046282444, -0.13458945, 0.2041762, 0.0043097665, -0.07247434, 0.16153656, 0.20011272, -0.144374, 0.06421469, -0.13485141, -0.009582684, 0.021680132, -0.016744662, -0.08797212, -0.10993737) * go_10(-1.0, 1.0); + result += mat4(0.16567862, -0.24858345, -0.08879787, -0.097550206, 0.131603, 0.14494747, 0.24425544, 0.026280167, 0.11479758, 0.013529384, -0.22396456, -0.027191471, -0.1717294, 0.09261371, 0.10951079, -0.0029250293) * go_10(0.0, -1.0); + result += mat4(-0.113956705, -0.16183569, -0.20851867, 0.04033217, -0.028072925, -0.027780682, 0.046195503, -0.20342818, 0.25894436, -0.017997751, -0.12918301, 0.06894117, -0.14184147, 0.07687556, 0.01899574, -0.014360465) * go_10(0.0, 0.0); + result += mat4(0.13917083, 0.04136033, -0.04435757, 0.13339959, -0.05415639, 0.011240427, -0.0707635, -0.06411846, 0.16908634, 0.19344515, -0.14574051, 0.08029649, -0.13598117, 0.1415975, 0.05430245, 0.086329356) * go_10(0.0, 1.0); + result += mat4(0.061676953, -0.036003113, 0.029942466, 0.07344191, 0.06514425, -0.05945252, 0.06351276, -0.22019458, 0.13147828, -0.20903239, -0.04409228, 0.06474624, 0.087710835, -0.015660465, -0.06535584, 0.06592988) * go_10(1.0, -1.0); + result += mat4(0.06506807, 0.08762542, -0.119794264, 0.060040303, -0.09871854, 0.5173894, -0.27796084, -0.33232987, -0.066507466, -0.24968803, -0.07814351, 0.08942488, 0.16743363, 0.06090165, 0.07346348, 0.086595275) * go_10(1.0, 0.0); + result += mat4(0.033984214, -0.032870263, -0.31655756, 0.007356567, 0.02470258, 0.11793328, -0.31476265, -0.025818175, 0.0029440362, 0.06394163, -0.04686335, -0.14821026, -0.0027075368, 0.022262698, -0.05804598, 0.155014) * go_10(1.0, 1.0); + result += mat4(0.009120124, -0.015237681, -0.043807022, -0.0711953, -0.068079054, -0.012320572, 0.24782293, 0.011573899, -0.027630446, -0.18860838, 0.02258647, -0.15933286, -0.034498382, -0.0053321933, -0.077804044, -0.02024832) * go_11(-1.0, -1.0); + result += mat4(0.22132385, 0.0032678258, -0.087379746, 0.02143723, -0.06377271, 0.12867995, -0.08868175, 0.12999114, 0.09716703, 0.040064458, 0.0024366144, 0.035925932, -0.012723048, 0.016498951, -0.08901055, 0.12232371) * go_11(-1.0, 0.0); + result += mat4(0.18940546, 0.062207825, -0.024644906, 0.26894554, 0.07815154, 0.08829743, -0.09984981, 0.169054, 0.06281287, 0.0008038808, 0.0883176, 0.110463396, 0.022194333, -0.017194932, -0.0009859964, -0.09963663) * go_11(-1.0, 1.0); + result += mat4(-0.0111280205, -0.052679054, 0.018186182, -0.027703073, -0.42388725, -0.013980127, 0.30809978, 0.027799122, 0.11319747, -0.21859065, 0.30053356, -0.014290018, -0.19631311, -0.025383497, -0.33384043, 0.028559104) * go_11(0.0, -1.0); + result += mat4(-0.22090848, -0.080518164, 0.144986, -0.04482788, 0.00898153, -0.028940957, 0.016181607, -0.013890172, 0.08625784, -0.038779926, -0.113443434, 0.02619668, 0.10414516, 0.14818746, -0.07429264, 0.024776932) * go_11(0.0, 0.0); + result += mat4(-0.0136557305, 0.024230761, 0.10480373, 0.33615452, 0.03225623, 0.14910479, -0.10428884, -0.005287317, 0.007935544, -0.09688089, 0.20835406, 0.25757283, 0.0064705843, -0.11970887, 0.022400223, 0.12394955) * go_11(0.0, 1.0); + result += mat4(0.026420576, 0.032138087, 0.012947858, -0.017486788, -0.30034852, 0.004137726, 0.1611359, -0.08121221, 0.09796454, -0.16660161, -0.12038514, 0.060717944, 0.24686517, -0.021416627, 0.1359155, -0.15366033) * go_11(1.0, -1.0); + result += mat4(-0.136011, 0.15370867, 0.1370857, -0.086111896, 0.05216137, -0.2967703, -0.080168664, 0.108866595, 0.09038476, -0.004786737, -0.0075252303, 0.0980951, 0.19746727, -0.05201084, -0.08665835, -0.046598177) * go_11(1.0, 0.0); + result += mat4(-0.26190412, -0.058528874, -0.08053917, -0.038420703, -0.07296932, 0.0076829675, -0.20618197, 0.12044465, -0.18083239, -0.033412043, -0.18795253, 0.015577539, 0.08889259, -0.04781228, -0.020811897, 0.060611673) * go_11(1.0, 1.0); + result += vec4(0.06994048, -0.08824913, -0.08147323, -0.0070627527); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_6_tf3 +//!BIND conv2d_6_tf4 +//!BIND conv2d_6_tf5 +//!SAVE conv2d_7_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_6_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_6_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_6_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_6_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_6_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_6_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_6_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_6_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_6_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.07359838, 0.0048221336, -0.040639445, 0.04001678, 0.008494685, 0.21019708, 0.014807608, -0.016226511, -0.059752848, 0.18087773, -0.012534122, -0.15764502, 0.06615999, -0.03256825, -0.06795644, -0.021442905) * go_0(-1.0, -1.0); + result += mat4(0.016055334, 0.07622408, -0.0001455431, -0.03139598, 0.11203619, -0.2570563, 0.007617044, 0.007383613, -0.10321648, 0.22093083, -0.04935336, -0.07423733, 0.13671489, 0.094860844, -0.06145761, -0.017813066) * go_0(-1.0, 0.0); + result += mat4(-0.08716645, 0.073824115, 0.04826125, 0.028814131, -0.03465732, -0.01949549, 0.009090798, 0.06712222, -0.076673344, -0.020007538, 0.07667753, -0.16171028, 0.038919337, -0.0066915937, 0.0058095986, 0.028863987) * go_0(-1.0, 1.0); + result += mat4(0.11793172, 0.06426511, 0.006000197, -0.054425187, -0.12848, -0.0608748, -0.051094864, 0.14606045, -0.1104441, -0.1404711, -0.13719143, 0.13667974, -0.006159005, 0.066788755, -0.07132091, 0.05900349) * go_0(0.0, -1.0); + result += mat4(0.13618062, -0.37675983, -0.06494409, -0.05397071, 0.027210169, 0.136655, 0.15716416, 0.011330184, 0.07604587, 0.099743, 0.045980956, 0.28426284, 0.07673069, -0.03260436, 0.060630165, -0.14515847) * go_0(0.0, 0.0); + result += mat4(0.12219448, -0.13931584, -0.027208958, -0.10503128, 0.056236677, -0.085218616, 0.031394266, -0.15181276, 0.025313953, -0.035806634, -0.0006563579, -0.07554928, 0.03867624, 0.14335306, 0.044530675, -0.022005653) * go_0(0.0, 1.0); + result += mat4(0.024567323, 0.06553147, 0.006770668, 9.6952936e-05, -0.12672237, 0.032024473, -0.011734911, -0.062427487, 0.029894682, -0.03434335, 0.07066813, -0.030493205, -0.03221503, -0.12422384, 0.052873474, 0.025424806) * go_0(1.0, -1.0); + result += mat4(0.050093465, -0.04382771, 0.16808622, 0.08858046, -0.15310244, -0.092868656, 0.05562402, -0.20383194, -0.027970297, -0.032247365, 0.024333706, 0.027794037, 0.0029994757, -0.032618508, 0.052986816, -0.07051566) * go_0(1.0, 0.0); + result += mat4(0.057821784, 0.0094541, 0.0018741468, -0.048872117, -0.0642184, -0.006474573, 0.07707637, 0.0030539352, 0.04263746, 0.038348354, 0.09410285, -0.016066432, -0.019818943, 0.009179143, -0.022306597, -0.029912496) * go_0(1.0, 1.0); + result += mat4(0.032464687, -0.035430122, -0.0077309776, 0.07374506, 0.05479834, 0.17101361, -0.098411836, 0.051829364, -0.100434184, -0.008919208, 0.032440282, 0.07075372, -0.08462122, -0.104136884, 0.023972673, 0.045948982) * go_1(-1.0, -1.0); + result += mat4(-0.067156225, 0.16125347, 0.025350628, 0.009260789, -0.12541614, 0.08216785, 0.035199903, 0.049046412, -0.029106554, -0.090062775, 0.0839282, 0.061120965, 0.14554973, -0.024882669, 0.038602818, -0.052473858) * go_1(-1.0, 0.0); + result += mat4(-0.041149497, -0.077845365, -0.08205297, 0.020794228, 0.025494045, 0.060137924, 0.0015345984, -0.0048737884, -0.03211192, -0.13592142, 0.09767752, -0.041449215, 0.068079926, -0.027006129, -0.011767691, -0.12913242) * go_1(-1.0, 1.0); + result += mat4(-0.05188281, -0.020082932, 0.0132960575, -0.08461068, 0.09572519, 0.023254586, -0.04634391, -0.019451028, 0.16498654, 0.044624534, 0.05488934, -0.008432487, -0.026252363, 0.02546324, -0.02972001, -0.073274635) * go_1(0.0, -1.0); + result += mat4(0.018490778, 0.18419503, -0.122585855, 0.12492852, -0.20044741, -0.009827497, -0.13103181, 0.1326544, 0.027088722, 0.13293652, 0.09424846, 0.07251193, 0.15663116, 0.26125023, 0.049341436, -0.10515004) * go_1(0.0, 0.0); + result += mat4(-0.008699791, -0.024128422, 0.04278223, 0.105549075, 0.03693647, 0.016402304, -0.004863482, 0.120648175, -0.063555665, 0.07888774, -0.032707915, 0.05824444, 0.14191608, 0.053337123, -0.11951773, -0.37382764) * go_1(0.0, 1.0); + result += mat4(0.11177489, -0.02670921, 0.11555837, -0.12684737, 0.024419937, -0.015118827, -0.0008005782, -0.105853274, -0.08607303, 0.12075334, -0.056949444, -0.076853655, 0.091813155, 0.037071772, -0.10979848, 0.01065406) * go_1(1.0, -1.0); + result += mat4(-0.09047862, -0.06557529, 0.07049908, -0.067106545, -0.08394282, -0.13473952, 0.13339087, 0.039728016, -0.007499134, -0.050601263, -0.025493568, -0.030900288, -0.016312996, -0.002753297, -0.16618828, 0.022230327) * go_1(1.0, 0.0); + result += mat4(0.002934058, 0.062018517, -0.08976419, 0.18184888, -0.041077446, -0.06253426, 0.090875186, -0.006064439, -0.042194657, -0.0014801006, 0.039901752, -0.06946375, 0.06726237, -0.0140753025, -0.06257417, -0.013598103) * go_1(1.0, 1.0); + result += mat4(-0.023702847, -0.11185578, 0.0058615287, 0.051050022, 0.14678848, 0.07982418, 0.031147825, -0.13127226, -0.05952702, 0.06532979, 0.07037022, -0.0006409232, 0.12434904, -0.014640512, 0.075973995, -0.026218366) * go_2(-1.0, -1.0); + result += mat4(0.0012428019, 0.10104529, -0.033792414, -0.07105645, -0.098013006, 0.03291607, 0.014571974, -0.071180314, -0.00215348, -0.0510585, -0.03121516, -0.045336474, 0.00082364987, 0.108165845, 0.052797295, 0.09749827) * go_2(-1.0, 0.0); + result += mat4(0.021668797, 0.024712203, 0.06495889, 0.037722614, -0.017192805, 0.07733001, 0.002521372, -0.022759411, 0.0071119433, -0.17629139, 0.03508143, -0.0382747, -0.10094593, 0.10711114, 0.056075815, 0.09072527) * go_2(-1.0, 1.0); + result += mat4(0.0072180987, -0.03962597, -0.065127335, -0.04490152, 0.16375813, 0.024301983, 0.10283417, -0.031376716, -0.006127479, -0.11069621, 0.023043143, -0.03634904, 0.007939093, -0.013549114, 0.02821798, 0.093859464) * go_2(0.0, -1.0); + result += mat4(0.10754736, 0.05461116, -0.077621385, -0.0154484855, -0.13774016, 0.06022657, 0.07704005, -0.13989487, -0.13560918, 0.02476503, 0.06475649, 0.0600394, 0.17934905, 0.10330071, 0.04610976, 0.28083178) * go_2(0.0, 0.0); + result += mat4(0.18773933, 0.06801831, -0.02580286, -0.07299217, -0.05877647, -0.015686667, 0.038901277, -0.1159596, 0.05252277, -0.059356023, -0.07147861, -0.04657989, -0.033485, -0.06963524, -0.025741044, -0.10464134) * go_2(0.0, 1.0); + result += mat4(-0.09011337, -0.0065989024, 0.040761005, 0.042849183, 0.088430345, 0.0064418497, 0.13798401, -0.0455525, 0.0117114745, 0.007961572, 0.09180907, -0.06247613, 0.0070053353, -0.014894976, 0.14440143, 0.043360937) * go_2(1.0, -1.0); + result += mat4(-0.031137852, -0.0920778, -0.00515923, 0.019481698, -0.061445847, 0.028052, -0.014780124, -0.03731724, -0.12892641, 0.06831638, 0.10818646, -0.004656641, -0.0049811844, -0.09475938, 0.15264943, 0.014475395) * go_2(1.0, 0.0); + result += mat4(-0.0018481857, 0.038514007, -0.034495566, 0.15485272, 0.012409896, 0.04363172, 0.09414112, 0.052210223, 0.13726512, -0.03764596, -0.0623721, -0.019326014, -0.0896548, -0.00039697406, 0.062065333, -0.029678347) * go_2(1.0, 1.0); + result += mat4(-0.027699407, 0.072317615, -0.075668514, 0.019382665, -0.022578781, -0.097153656, 0.056558866, -0.026797218, -0.055311427, -0.029343406, -0.016251184, 0.0029034857, 0.021295298, -0.060633257, -0.066650696, -0.014176967) * go_3(-1.0, -1.0); + result += mat4(0.056929894, 0.06296669, 0.058833197, 0.055929754, 0.045206144, 0.124816395, 0.08603162, -0.035438027, 0.05864608, -0.34551346, 0.10686292, -0.09247089, -0.01039598, 0.023945868, 0.04152319, -0.057664245) * go_3(-1.0, 0.0); + result += mat4(-0.0026985565, -0.04058008, 0.08668019, -0.16165687, -0.0669978, 0.06025125, 0.01061845, -0.07396731, 0.028235765, -0.1974729, 0.054613985, -0.048135094, 0.013870693, 0.07614793, -0.0051118205, -0.011434454) * go_3(-1.0, 1.0); + result += mat4(-0.08699431, -0.032093093, -0.09039232, 0.043302406, -0.08949961, 0.03943296, 0.12514283, -0.118437536, -0.0475864, 0.040074807, 0.04531421, -0.027959606, 0.0699257, -0.07310232, 0.05926287, -0.09809906) * go_3(0.0, -1.0); + result += mat4(0.08291639, 0.13337402, -0.033879723, -0.030597739, 0.039960656, 0.11285271, -0.045001507, 0.016323641, 0.06528873, 0.12151602, 0.075652964, 0.16680095, 0.062500365, 0.10238702, -0.002044068, 0.048659943) * go_3(0.0, 0.0); + result += mat4(-0.041995417, -0.036911324, -0.06104467, -0.00670874, -0.0045435787, -0.0032426668, -0.028409937, -0.09856275, 4.6831577e-05, -0.17680986, 0.047152776, -0.09408474, -0.07286314, 0.10941997, -0.012622276, 0.18222825) * go_3(0.0, 1.0); + result += mat4(-0.06358313, 0.031067979, -0.066298015, -0.026508985, -0.017822707, -0.0058446256, 0.031380165, -0.03968603, -0.19921921, -0.020262819, -0.14626998, 0.0067074317, -0.032714184, -0.05905669, 0.06676097, -0.08453029) * go_3(1.0, -1.0); + result += mat4(0.18562973, -0.08391055, -0.13800977, 0.04434315, -0.07014487, -0.029382609, -0.0036599678, -0.07959346, 0.0039499323, -0.046531573, -0.037964027, 0.057833973, -0.0073268986, 0.011971796, -0.071565405, -0.016854756) * go_3(1.0, 0.0); + result += mat4(0.076238915, -0.010213805, -0.115126036, 0.021867225, -0.03427761, 0.05729687, 0.018639423, 0.032928992, 0.057483274, 0.00863971, 0.11628593, -0.025358021, -0.022380868, 0.019458123, -0.08977346, 0.016999396) * go_3(1.0, 1.0); + result += mat4(0.06443494, -0.13695966, 0.050837293, 0.11769368, 0.03982583, 0.04365677, 0.0914564, 0.020832872, -0.03561464, -0.048148002, -0.11098798, 0.026730807, 0.032462105, 0.010169203, -0.11176305, 0.11509857) * go_4(-1.0, -1.0); + result += mat4(0.036339626, 0.043558348, -0.08018678, -0.033343073, 0.09518577, -0.12519091, -0.011036971, -0.011565009, -0.026011402, -0.039948042, 0.021500282, -0.03238243, -0.15157619, -0.0896126, 0.011041428, -0.032589663) * go_4(-1.0, 0.0); + result += mat4(-0.090026185, 0.17515051, 0.09003863, 0.056024328, -0.014608004, -0.17146449, 0.10497134, -0.033317756, 0.05084175, -0.15683104, 0.004754913, 0.043906096, 0.102966614, 0.119076595, 0.03419918, 0.11162818) * go_4(-1.0, 1.0); + result += mat4(-0.13725758, 0.054545738, 0.19191852, -0.1507601, -0.07410275, 0.012710437, -0.002995323, -0.02564634, -0.14047655, -0.14178753, -0.02160603, 0.17773011, -0.044396106, 0.11674753, -0.058879152, 0.041881587) * go_4(0.0, -1.0); + result += mat4(-0.07167683, -0.027865753, -0.062976815, 0.06179039, 0.060428478, 0.02820444, -0.07501178, -0.07479888, 0.016861942, -0.0067050136, 0.07886189, -0.09694589, -0.24936499, -0.13553715, 0.15446334, -0.1596343) * go_4(0.0, 0.0); + result += mat4(0.12519416, -0.07190433, 0.08571302, -0.088088214, 0.06097779, -0.15112294, -0.07819768, -0.15640157, -0.008882994, -0.05661016, 0.041620906, 0.080777824, 0.14372508, 0.061004147, -0.10059249, -0.05450479) * go_4(0.0, 1.0); + result += mat4(0.022914229, 0.0050205784, 0.0128762135, 0.018967759, -0.09971158, 0.0007187915, -0.013239407, 0.10027359, -0.012708232, 0.02148632, 0.03629833, 0.06779179, 0.007899347, -0.03402227, -0.05107456, 0.030168017) * go_4(1.0, -1.0); + result += mat4(-0.101626694, -0.049067173, 0.030896991, -0.038008872, -0.17226134, 0.053923246, -0.23556022, -0.06532403, 0.06541645, -0.013541671, 0.100340165, 0.103228696, -0.034361333, -0.084333315, 0.02723955, -0.02440181) * go_4(1.0, 0.0); + result += mat4(-0.03704313, 0.060180202, 0.007823015, 0.06390255, 0.08579526, 0.03330991, -0.008390602, -0.014529345, -0.06207606, 0.024333416, 0.15293281, 0.06663681, 0.031263046, -0.002941088, -0.09900946, 0.084799334) * go_4(1.0, 1.0); + result += mat4(0.09246091, -0.03937664, 0.005960589, -0.045937728, -0.06594935, 0.070527986, 0.059743717, 0.03917748, -0.020996673, 0.0019828002, -0.034309585, -0.03738683, -0.04873964, 0.0014745819, 0.08126733, -0.034479) * go_5(-1.0, -1.0); + result += mat4(0.07748875, -0.09148518, 0.013219114, 0.018175611, 0.042948097, 0.23374721, -0.0045189774, -0.06718557, 0.018522833, 0.054642767, 0.06698139, -0.17325309, 0.018071271, 0.087139465, 0.017651368, 0.017017378) * go_5(-1.0, 0.0); + result += mat4(0.014649891, -0.021246951, -0.011709104, -0.030677898, 0.052830815, 0.009715315, -0.022097781, -0.0002496546, 0.031584814, 0.026837287, 0.11443077, -0.027753742, -0.0041543865, 0.058851164, 0.10964704, 0.02103762) * go_5(-1.0, 1.0); + result += mat4(-0.05369423, -0.032334697, 0.15062103, -0.026983894, 0.017918264, -0.0078846915, 0.019014625, -0.015093337, -0.16124725, -0.059548736, -0.07116923, 0.057306577, 0.00719154, 0.110753864, 0.12377013, -0.065782666) * go_5(0.0, -1.0); + result += mat4(0.039875932, 0.12362787, -0.013454904, 0.075683616, 0.1302396, -0.04830048, -0.046029154, 0.0064248987, -0.031167233, 0.25245216, -0.11133049, 0.008989724, -0.23661305, -0.16241929, -0.09099623, -0.22794738) * go_5(0.0, 0.0); + result += mat4(-0.05430553, -0.027592193, 0.055918325, 0.07440643, -0.07768451, -0.16840686, -0.0779583, -0.03912889, -0.0559558, 0.06344966, 0.043207582, 0.101679, -0.07952004, 0.14983815, -0.026701134, 0.12340738) * go_5(0.0, 1.0); + result += mat4(-0.026840188, -0.019847477, 0.066656925, -0.033919457, -0.03307108, 0.008593069, 0.0014763663, -0.0701509, 0.11177682, 0.043675758, -0.003045438, -0.010472893, 0.21724509, -0.038310688, -0.064877726, 0.004854949) * go_5(1.0, -1.0); + result += mat4(-0.015254564, -0.025455397, -0.03241339, 0.037043206, 0.05684043, -0.11902418, 0.07518396, 0.00701195, -0.015419543, -0.024986517, -0.03743384, -0.05720803, 0.11705044, 0.015859546, 0.012020071, 0.0531533) * go_5(1.0, 0.0); + result += mat4(0.08011219, -0.05165056, -0.093091846, -0.036382984, 0.049235564, 0.037434872, -0.034679618, 0.07719339, -0.06549348, 0.01218804, 0.03943118, 0.082384944, 0.016443405, 0.05189687, 0.0077285073, 0.10032839) * go_5(1.0, 1.0); + result += mat4(-0.09811926, -0.048215948, 0.022598421, 0.009328491, -0.011228176, -0.04722078, 0.03850093, -0.060968023, -0.03111426, -0.07513239, -0.00286793, 0.009694654, 0.01964597, -0.051449805, 0.07004601, 0.055719677) * go_6(-1.0, -1.0); + result += mat4(0.004332875, -0.14231071, -0.079254255, 0.0465398, -0.06106811, 0.20371613, 0.080673784, 0.022448666, 0.016302604, -0.18337095, -0.03403594, 0.032197136, -0.16751388, -0.018878518, -0.00083395635, 0.017590992) * go_6(-1.0, 0.0); + result += mat4(-0.05158496, 0.015418104, -0.05616303, 0.06300464, -0.012552025, 0.06700004, 0.026008774, -0.020125628, 0.11119969, -0.002252269, -0.093951225, 0.18426418, -0.12882762, 0.018628476, 0.009146744, 0.029346682) * go_6(-1.0, 1.0); + result += mat4(-0.08072911, 0.038257066, 0.011962663, -0.03477007, 0.10724061, 0.047330793, 0.09406249, -0.038468212, -0.028449105, 0.080370486, 0.15885979, -0.16750082, 0.14282493, 0.029656053, 0.04090178, -0.11131538) * go_6(0.0, -1.0); + result += mat4(0.023348637, 0.06667373, 0.033075638, 0.23825766, -0.076276645, -0.057323404, -0.11303136, 0.102379866, 0.00056404545, -0.12161668, -0.05565824, -0.36255562, 0.15493225, 0.14176092, -0.12689851, 0.0861988) * go_6(0.0, 0.0); + result += mat4(0.05183813, 0.071844034, -0.005951533, 0.073875435, -0.04652535, 0.105300434, 0.051163994, 0.149797, -0.06975654, -0.029562712, 0.07167551, 0.07440629, -0.13939863, -0.084996395, 0.003270202, 0.0020182598) * go_6(0.0, 1.0); + result += mat4(0.038029913, 0.057545405, -0.12840481, -0.0044743693, 0.087749176, 0.009168238, 0.052323997, 0.08310589, 0.030010838, 0.0015745204, -0.013049759, 0.055351935, -0.03995745, 0.13832898, -0.06969623, 0.011420687) * go_6(1.0, -1.0); + result += mat4(0.0029858996, 0.0013822165, -0.18071668, -0.0046723257, 0.034825116, 0.0921186, 0.11448634, 0.19567586, 0.12269178, 0.07189283, -0.072001204, -0.03505551, 0.0970906, 0.037129845, -0.11448691, 0.060917735) * go_6(1.0, 0.0); + result += mat4(-0.03782286, 0.012466319, -0.09582938, 0.041950993, 0.0061008865, 0.0120334625, -0.0029366, 0.09319393, -0.052122094, -0.07502421, -0.14174813, -0.051292155, 0.023894839, 0.012328209, 0.12675953, -0.01036637) * go_6(1.0, 1.0); + result += mat4(0.03626806, 0.047888283, 0.00073598296, -0.03139694, -0.03943633, -0.13967054, 0.13821344, 0.02789613, -0.054842375, -0.14652891, 0.1297268, -0.17719932, 0.00096252834, 0.03653685, 0.003869557, -0.031079864) * go_7(-1.0, -1.0); + result += mat4(-0.044692617, 0.022308728, -0.0034757738, -0.11214092, 0.1942302, -0.056665756, -0.13580446, 0.06139267, -0.17323272, 0.22870769, 0.15451086, 0.062325798, -0.06428409, 0.041929293, -0.04482309, 0.115788296) * go_7(-1.0, 0.0); + result += mat4(-0.037223086, 0.1258252, 0.08688915, -0.09304955, 0.03290727, -0.1793539, -0.02147348, 0.04232672, -0.33211467, 0.3041252, 0.08903881, -0.011478615, -0.05112619, 0.02559543, 0.061504938, 0.16324621) * go_7(-1.0, 1.0); + result += mat4(-0.013524019, -0.09800075, -0.06595685, 0.13576919, -0.0150520345, 0.041289173, 0.11193854, 0.031947836, 0.18844956, -0.14499632, 0.21209183, -0.09216787, 0.039444353, -0.022743076, 0.008331227, 0.050290193) * go_7(0.0, -1.0); + result += mat4(0.00845177, -0.062762365, 0.12011158, 0.019268623, -0.25200182, -0.070608236, 0.583657, -0.3979071, 0.202273, -0.27020127, 0.31792235, 0.055522945, 0.049366258, -0.1547968, 0.0094838, 0.037900254) * go_7(0.0, 0.0); + result += mat4(-0.10912095, 0.018920064, 0.04798278, -0.0601081, 0.1303284, -0.07698929, -0.040227156, -0.12950167, 0.06799319, -0.10708667, 0.15092286, -0.03616455, -0.057483222, 0.09268709, 0.120372415, 0.17823943) * go_7(0.0, 1.0); + result += mat4(0.07103522, -0.028456224, -0.14123808, 0.036347568, 0.032950565, 0.0076102316, -0.04441095, 0.09832154, -0.04684079, -0.07462429, -0.029697422, 0.0019593944, -0.07063113, 0.017122308, 0.0019443014, 0.024005169) * go_7(1.0, -1.0); + result += mat4(0.19840677, 0.04053979, -0.28031257, 0.048886195, 0.068136275, 0.11328658, 0.055254918, 0.08998234, 0.04169877, 0.03261371, 0.19996099, -0.018779114, 0.050100785, -0.04240794, 0.14432232, 0.05729528) * go_7(1.0, 0.0); + result += mat4(-0.027830606, -0.01830684, 0.010035696, -0.06135513, 0.12879516, 0.022098277, -0.19024612, 0.10902761, -0.026191598, 0.038716756, 0.09734628, 0.14136758, -0.019868078, 0.034349605, 0.07440802, 0.020381965) * go_7(1.0, 1.0); + result += mat4(-0.031464096, 0.001053761, 0.043526858, 0.010412086, -0.17848891, -0.097033575, -0.0012577542, 0.036945686, 0.059248988, -0.021694278, 0.0011480029, -0.013797085, -0.08563894, 0.017658193, 0.0021849705, -0.043733254) * go_8(-1.0, -1.0); + result += mat4(-0.019144258, -0.06711262, 0.03632702, -0.029826026, 0.006813378, -0.003969824, 0.00019037222, 0.16610803, -0.033035498, -0.019897725, 0.03754764, 0.043584425, 0.14464164, -0.15918401, 0.06232411, -0.06492025) * go_8(-1.0, 0.0); + result += mat4(-0.059413664, 0.111339584, -0.008430923, -0.014649087, -0.003594872, -0.14574839, 0.02353429, -0.17129546, 0.09336502, 0.12865134, -0.012435833, 0.07241922, -0.04791443, -0.077149846, -0.0021780212, -0.045841258) * go_8(-1.0, 1.0); + result += mat4(-0.0707728, -0.03313273, 0.057984207, 0.090724744, 0.017171696, -0.0654554, -0.03162526, 0.0073273624, -0.01690497, 0.08393428, -0.04609512, 0.018551271, 0.060470644, -0.07681868, -0.018971717, -0.019600816) * go_8(0.0, -1.0); + result += mat4(0.1676251, -0.03913703, 0.015949814, -0.050757714, -0.17725573, -0.14712991, -0.14843173, 0.20936011, -0.16364701, 0.28614786, -0.18470874, -0.019684736, 0.106993206, -0.004278966, -0.0320641, -0.10789707) * go_8(0.0, 0.0); + result += mat4(-0.029283857, 0.020563176, 0.11319419, 0.11170993, 0.14844628, -0.010018965, 0.011065719, -0.08028034, 0.011984268, 0.0010749678, 0.049402744, 0.044593398, 0.13847482, 0.0059888144, 0.027500622, 0.108784206) * go_8(0.0, 1.0); + result += mat4(0.01205264, 0.021300085, -0.046063945, -0.007999818, -0.13475847, -0.02334875, -0.0025662053, 0.08107595, -0.020613125, -0.042976774, -0.012636618, 0.079694346, -0.031824846, -0.08273052, 0.049622092, -0.03349592) * go_8(1.0, -1.0); + result += mat4(0.0420867, 0.067662604, 0.027575044, -0.049389694, -0.0076691327, 0.012474314, 0.09792472, 0.117004596, -0.2072003, -0.009180187, -0.39107728, -0.038654536, -0.02036599, 0.058372054, -0.107287474, 0.15442607) * go_8(1.0, 0.0); + result += mat4(-0.038561203, -0.11485789, 0.035765175, -0.0844404, 0.00036770353, -0.049586706, -0.06881126, -0.14083977, 0.03684274, 0.07132273, -0.060698364, -0.047762398, 0.027802434, 0.023094364, -0.011859859, 0.040085405) * go_8(1.0, 1.0); + result += mat4(-0.010658981, -0.098260984, 0.03293102, 0.022438409, 0.014365506, 0.13513209, -0.03391689, -0.07402223, 0.02659744, 0.13315997, 0.0051934537, 0.05897754, 0.057116147, 0.09436475, 0.08697818, -0.109584406) * go_9(-1.0, -1.0); + result += mat4(0.14180045, -0.19213474, -0.0077826353, 0.053888105, 0.03280035, -0.1626862, -0.068114966, 0.19899116, -0.06385297, 0.16440801, 0.0040299953, 0.08551378, -0.108922936, 0.14460269, 0.04250807, -0.0055258097) * go_9(-1.0, 0.0); + result += mat4(0.009511591, 0.09489334, -0.10438671, 0.118240274, 0.013701259, -0.2260898, -0.033166207, 0.050668016, -0.007743699, -0.0035648027, 0.03792938, -0.02559795, 0.07968182, -0.030887593, 0.01205847, 0.009945605) * go_9(-1.0, 1.0); + result += mat4(0.003423775, -0.088880695, -0.035691295, -0.0035343976, -0.0045947717, -0.0890295, -0.15527213, 0.06456578, -0.027445925, -0.10123017, -0.061165016, -0.05975515, 0.08943537, 0.018354377, 0.093808636, 0.09058041) * go_9(0.0, -1.0); + result += mat4(0.19464576, -0.25354752, 0.12025962, 0.0047807707, -0.1806877, -0.0829497, 0.17874265, -0.14859185, -0.022103263, -0.029377054, 0.036780443, -0.25260177, -0.0020576504, 0.16454361, -0.016518762, -0.124516256) * go_9(0.0, 0.0); + result += mat4(-0.06524309, 0.07720192, 0.06741092, -0.004755482, -0.1567559, -0.038825776, 0.055452358, 0.16807874, 0.08426787, 0.10064341, -0.08048252, 0.12724291, 0.044000335, -0.09514686, 0.071899205, -0.19236842) * go_9(0.0, 1.0); + result += mat4(-0.054300454, 0.0048882305, 0.032002125, -0.06314737, -0.023635345, 0.015739735, -0.03779951, 0.014911036, -0.018855136, 0.02287149, 0.07404439, 0.020227555, 0.12780152, 0.0249982, 0.09878167, 0.08178305) * go_9(1.0, -1.0); + result += mat4(0.16953443, 0.035950057, 0.29992104, -0.00664767, -0.0051847943, 0.07840213, 0.0852634, 0.009097623, -0.03488376, 0.060193926, 0.011722527, -0.12336398, -0.065298855, 0.030775972, 0.18955767, 0.033368744) * go_9(1.0, 0.0); + result += mat4(-0.14526981, 0.010404009, 0.08604749, 0.024556525, 0.06756713, 0.00744896, -0.06230971, -0.051816244, -0.006520683, 0.017338715, -0.011555326, 0.022118622, -0.01212985, -0.025708182, 0.096710615, -0.0880872) * go_9(1.0, 1.0); + result += mat4(-0.071155414, 0.08430235, -0.04111888, 0.04478505, 0.04678298, 0.091515504, -0.061127644, -0.11651728, 0.084393844, 0.15791681, 0.12303138, -0.09144385, 0.06725453, -0.046441063, 0.08016926, -0.009265325) * go_10(-1.0, -1.0); + result += mat4(0.0040714527, 0.021631662, 0.07243013, -0.11434065, -0.08418263, 0.05947, 0.050204482, -0.04395534, -0.14678517, 0.1271361, -0.0036898777, 0.007855137, 0.024852144, 0.06963993, -0.015461485, -0.026968528) * go_10(-1.0, 0.0); + result += mat4(0.04323024, -0.05917676, -0.040343963, -0.06002188, 0.073589, 0.14065376, -0.008597814, 0.118194476, -0.0047777137, 0.066805825, 0.017594682, -0.053775795, -0.11739397, -0.11529746, 0.0037522179, -0.046322566) * go_10(-1.0, 1.0); + result += mat4(0.053650532, -0.09683151, -0.19496697, 0.07991156, 0.10289539, 0.049044795, -0.026568783, -0.12895629, 0.08041865, 0.05547816, -0.024926053, -0.022836441, -0.026318112, -0.07999866, 0.04849193, -0.063271776) * go_10(0.0, -1.0); + result += mat4(0.063348986, 0.046536207, 0.09077205, -0.065250814, -0.21213472, 0.22206871, 0.011405871, -0.04594076, -0.08919407, 0.053809587, -0.045071192, 0.04457517, -0.04761967, -0.00063329184, 0.015264811, 0.14230464) * go_10(0.0, 0.0); + result += mat4(-0.1362619, 0.124562874, 0.013724714, 0.18099883, -0.2285552, 0.3298857, 0.042477757, 0.32406956, -0.13042764, 0.08987494, -0.013166582, -0.12164826, -0.092949785, -0.06596419, 0.028557139, 0.070556834) * go_10(0.0, 1.0); + result += mat4(-0.004091256, 0.007315117, 0.025926506, -0.05297705, 0.16433445, 0.19016539, 0.05815661, -0.014741991, -0.08531722, -0.025269695, -0.123091884, -0.035526488, 0.06972483, 0.03931621, 0.017806875, -0.011804328) * go_10(1.0, -1.0); + result += mat4(-0.0018400949, 0.094811164, -0.08969797, 0.04853828, -0.1291663, 0.033400565, 0.297762, 0.048428286, 0.010310113, 0.08309697, -0.15573427, -0.03929204, 0.09878958, -0.0049044066, 0.07033708, 0.031186087) * go_10(1.0, 0.0); + result += mat4(0.002275256, -0.07784182, -0.027740657, -0.08700791, 0.1641431, -0.06383385, 0.12704122, 0.020721145, -0.0765814, -0.0062846337, -0.008150311, -0.068284586, -0.061724715, -0.028633684, 0.042579137, -0.022366095) * go_10(1.0, 1.0); + result += mat4(-0.059812613, -0.016397942, 0.050042734, -0.04041396, 0.051270485, -0.05887674, 0.018254071, -0.037738055, 0.018913453, 0.018846627, -0.015349018, 0.026866104, 0.07343702, 0.08884225, -0.0844844, 0.0045987596) * go_11(-1.0, -1.0); + result += mat4(-0.0074525494, 0.060173932, -0.06734403, -0.03425061, -0.0492153, -0.045201246, -0.072703086, 0.027989397, 0.108851016, 0.09310228, -0.14239624, 0.18670453, 0.14031729, -0.1642711, 0.02309336, 0.121186286) * go_11(-1.0, 0.0); + result += mat4(0.045983303, 0.013256229, -0.058050074, -0.018363763, -0.046715163, 0.02973069, 0.029274564, -0.015408353, -0.030378167, 0.037977114, -0.1334022, -0.022535136, 0.01828963, 0.031857423, -0.0433168, -0.015471418) * go_11(-1.0, 1.0); + result += mat4(0.08072113, 0.16231881, -0.022066744, -0.0425335, -0.16478068, -0.10143745, 0.03046289, 0.026629625, -0.06359632, 0.052836478, -0.0205083, 0.052351423, 0.04804752, 0.13968943, -0.057593778, -0.040696245) * go_11(0.0, -1.0); + result += mat4(-0.25542274, 0.016683673, -0.013760742, 0.11911277, -0.010073981, -0.010102792, -0.043357737, 0.054598674, 0.24294889, -0.21047808, 0.048339482, -0.013847841, -0.32398117, 0.036752395, 0.067258835, -0.15109102) * go_11(0.0, 0.0); + result += mat4(-0.18871623, 0.066637784, 0.01826965, 0.17650007, -0.09132555, 0.13290621, 0.092009716, -0.004178901, -0.024332194, 0.08828939, 0.1560296, 0.031010568, 0.08010207, -0.05232434, 0.017636376, -0.108063385) * go_11(0.0, 1.0); + result += mat4(0.05803196, -0.007804538, 0.0034517671, -0.021505883, -0.016582713, -0.01859502, -0.11752609, 0.07442376, 0.0664939, 0.044025224, 0.04226822, -0.02521637, 0.039057795, 0.039176814, 0.11136323, 0.007489425) * go_11(1.0, -1.0); + result += mat4(0.013457528, 0.109780364, -0.011453208, -0.0030823683, 0.11443531, 0.098637, -0.0709403, 0.043292217, 0.11829258, -0.06922662, 0.086047046, 0.016868966, -0.08024213, -0.030579101, 0.07813338, 0.111994706) * go_11(1.0, 0.0); + result += mat4(-0.03376252, 0.017642021, -0.022758378, 0.02791364, -0.11893667, -0.034309436, -0.011839066, -0.109537624, 0.10653171, 0.004103466, -0.08914791, 0.015449584, 0.0061790585, -0.08180187, 0.0812421, -0.10002259) * go_11(1.0, 1.0); + result += vec4(-0.082898155, 0.010079553, 0.06613919, 0.016312698); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x80 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_6_tf3 +//!BIND conv2d_6_tf4 +//!BIND conv2d_6_tf5 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.069604576, 0.02780287, 0.10479145, 0.0598677, -0.15447794, 0.014002432, 0.15952754, -0.16364509, -0.17146967, 0.27360946, -0.06118358, 0.06562993, -0.0034575097, 0.27649418, 0.025365477, -0.081556045) * g_0; + result += mat4(0.098523565, -0.014438212, -0.17889059, -0.08759605, -0.097737536, 0.27787977, 0.016156938, -0.11134956, 0.10582375, -0.20247018, 0.08988277, 0.17063816, -0.072689526, -0.1143116, 0.30750987, 0.09236675) * g_1; + result += mat4(-0.28383443, -0.15268843, 0.42559057, 0.3357241, 0.012547255, -0.09958958, 0.04154182, -0.06517361, 0.08784381, 0.03416716, -0.036624804, -0.034195926, -0.009735854, -0.037226725, 0.044228237, 0.098523915) * g_2; + result += mat4(0.13222544, 0.1690658, -0.10114831, 0.0418428, -0.03539878, 0.06732558, 0.044486526, 0.18264133, 0.09283543, -0.0875049, -0.27786124, 0.31696528, 0.13372223, 0.06539235, -0.07225442, -0.053972196) * g_3; + result += mat4(0.10303975, -0.027461063, 0.12720948, 0.11982775, 0.010745893, -0.258443, -0.038602423, -0.031108906, 0.03577269, 0.06814439, -0.30761826, 0.18308763, 0.030638998, 0.00069125916, 0.041647576, -0.037805513) * g_4; + result += mat4(0.28049946, -0.19036528, -0.20298155, -0.20855707, -0.012317928, 0.08052685, -0.2087141, 0.22641854, 0.10379512, -0.19354534, 0.038190875, -0.31573087, -0.08755006, 0.10582216, -0.103582926, -0.051279992) * g_5; + result += mat4(-0.019805856, 0.32306147, -0.10066396, 0.1077401, -0.08169178, -0.20293216, 0.015578836, -0.030745748, 0.091820225, -0.13066763, 0.022633377, 0.011552452, -0.123327985, 0.25311312, 0.22652766, 0.011176362) * g_6; + result += mat4(-0.16592886, -0.003341361, 0.05655243, -0.04907018, -0.14266169, -0.07653183, 0.39557743, -0.044829868, 0.035589613, -0.23692629, 0.02729001, 0.23751497, -0.074999005, 0.06162688, 0.06201382, 0.15069327) * g_7; + result += mat4(-0.12884079, 0.037352398, -0.12884715, 0.15350881, -0.089926146, -0.1700947, -0.10188416, -0.029826047, -0.031419244, -0.15877514, 0.074799135, -0.123011, -0.007537871, -0.24274765, 0.10594629, -0.042308845) * g_8; + result += mat4(0.028796997, 0.009780028, 0.08393684, 0.08876159, 0.2958322, 0.13797538, -0.23441544, -0.064725965, 0.13806176, -0.015037291, 0.060964797, -0.30482304, -0.041055765, -0.15156971, 0.20623018, 0.10922641) * g_9; + result += mat4(-0.0057864957, -0.18726483, 0.037883427, 0.14638895, -0.10522743, 0.09113031, 0.11673609, -0.21051702, 0.028723987, -0.062990315, 0.002952929, 0.01469057, 0.034846026, 0.19609974, -0.1934369, -0.18243392) * g_10; + result += mat4(0.118073694, 0.119863555, -0.30531943, -0.205375, -0.22113605, -0.28978834, -0.23192821, 0.28978485, -0.021390624, -0.18431179, -0.15690218, -0.14960553, -0.15185611, 0.0028554697, -0.02074978, 0.056506403) * g_11; + result += mat4(0.31187654, -0.2761366, 0.020066198, 0.031995732, -0.1848675, 0.08065148, 0.14539121, -0.23896545, 0.0257927, -0.054032624, -0.07259492, 0.18765905, -0.17117564, -0.33104083, -0.0332479, 0.15349889) * g_12; + result += mat4(-0.18720639, 0.19843848, 0.3385621, -0.19166066, 0.21356635, 0.21394755, 0.15651105, 0.037805296, -0.16349375, -0.13504027, 0.19122715, 0.120806016, 0.16379046, -0.0026540656, 0.04739934, -0.07981541) * g_13; + result += mat4(-0.28539544, 0.21816348, -0.15019035, 0.23157135, 0.121298485, 0.2268759, -0.24653979, -0.025725443, -0.055981506, 0.10309359, 0.12415594, 0.010752708, 0.15175724, -0.12113609, -0.04674751, 0.1452768) * g_14; + result += mat4(0.084147684, -0.32716796, -0.3735181, -0.06994641, -0.17994325, -0.14905843, -0.06946874, 0.35039115, -0.05100555, -0.08730691, -0.23854558, -0.1746263, -0.011508492, 0.10305763, 0.13472022, -0.28137568) * g_15; + result += mat4(0.10937542, -0.038041312, -0.0995303, 0.14773457, 0.15991186, 0.22984092, -0.20170724, -0.3805271, 0.11831765, -0.07383792, 0.14768845, -0.311674, -0.019428516, 0.18180147, 0.056651186, -0.10447611) * g_16; + result += mat4(0.04605112, 0.046965037, -0.08334886, 0.037097372, 0.18561974, 0.3021062, 0.1629304, -0.090214364, -0.005229353, 0.18200208, -0.07720685, 0.25807604, 0.2524869, -0.16809419, -0.4000575, -0.3306678) * g_17; + result += mat4(0.09674466, 0.07551325, 0.016270272, -0.22326164, -0.1256328, -0.08318501, 0.24199782, 0.008043517, -0.3336808, -0.019305306, -0.18930039, 0.3224243, -0.020935204, -0.21364902, 0.029509636, -0.1468745) * g_18; + result += mat4(-0.22094682, -0.27292994, -0.1963563, -0.37204334, 0.13046952, 0.2838346, -0.15947977, 0.07602889, -0.023213187, -0.06235404, -0.09553055, 0.03893353, 0.28796852, 0.09727489, 0.13416602, 0.34785405) * g_19; + result += vec4(0.063622594, 0.0041231937, 0.015656473, -0.044245835); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x80 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_6_tf3 +//!BIND conv2d_6_tf4 +//!BIND conv2d_6_tf5 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf1 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.029247807, 0.43012354, -0.07769897, 0.15838203, -0.13324478, 0.017804278, 0.21924987, -0.024039736, -0.20728067, 0.044956654, 0.03079796, -0.23534241, -0.0500509, -0.18794334, 0.27260718, 0.24131943) * g_0; + result += mat4(0.1303224, -0.32837823, -0.09135343, 0.05029881, 0.29270905, -0.042230245, 0.13552578, -0.022074893, -0.22813024, 0.16917036, -0.19837584, -0.025336651, -0.017484624, -0.07434934, -0.022696782, 0.14180793) * g_1; + result += mat4(-0.17257185, 0.016180463, -0.16395493, -0.12969042, -0.17320508, -0.17256051, 0.124869406, -0.041106623, -0.29951182, -0.062248964, 0.14418627, 0.113648884, 0.19480251, -0.14825127, -0.30102882, 0.2543297) * g_2; + result += mat4(-0.17920358, -0.056560468, -0.05815734, -0.094284005, 0.074466944, -0.1708937, 0.05045378, 0.22309071, 0.07125439, 0.1243207, 0.0996307, 0.11177492, -0.20849244, -0.016035903, 0.066763505, -0.03865284) * g_3; + result += mat4(0.10919598, -0.05991637, 0.22679056, 0.07574283, 0.11607126, -0.12619832, -0.11305337, 0.09875149, -0.093926236, -0.31168574, 0.12892371, 0.03084246, -0.025373377, -0.18546598, -0.10146844, -0.06607364) * g_4; + result += mat4(-0.0284226, -0.13437645, -0.01047342, -0.0643442, -0.112065926, 0.28130296, -0.028859612, 0.20614125, -0.104703404, -0.25221863, 0.06305746, 0.008987997, -0.06367191, -0.039423067, 0.55190355, 0.1131621) * g_5; + result += mat4(0.017900897, 0.19151299, -0.012729769, -0.3720392, -0.043568056, 0.021792412, -0.14938483, -0.04563565, 0.13666408, 0.15488137, -0.058843106, 0.026964363, 0.2275412, -0.051935695, -0.3025488, 0.032634325) * g_6; + result += mat4(0.080183186, 0.49439004, 0.09187155, 0.058713455, -0.14579555, -0.16108377, -0.074885435, 0.16271885, -0.02726071, 0.3746404, -0.07175874, 0.12927002, 0.048367534, 0.0068023684, -0.01004529, -0.10857275) * g_7; + result += mat4(0.30240306, -0.05872737, 0.09092156, -0.044823427, 0.13460608, 0.27104214, -0.21677399, -0.078722954, 0.21395817, -0.27020204, 0.03407373, -0.27704158, -0.14948608, 0.045992948, 0.5086244, -0.14568712) * g_8; + result += mat4(0.04736869, -0.012021483, -0.23633002, -0.09218725, 0.049316257, 0.031919852, 0.109669484, 0.028117038, -0.05681596, -0.19797502, 0.066302285, -0.16133904, -0.11359791, 0.047595903, -0.15282372, 0.14841823) * g_9; + result += mat4(0.025813673, 0.18983132, -0.32590774, -0.017710522, 0.20602965, -0.06116333, 0.2023164, -0.38438424, 0.06915477, 0.077189915, 0.14604315, 0.21469697, 0.2905641, 0.099070854, -0.15827921, 0.09761589) * g_10; + result += mat4(-0.045127008, 0.18940306, -0.08118834, 0.02602074, 0.0945136, -0.07572827, 0.058015335, -0.054117456, 0.13638207, -0.06921914, -0.018934516, -0.21474637, 0.072837576, 0.38855672, -0.2214727, -0.07032989) * g_11; + result += mat4(-0.14499478, -0.103144266, -0.06795675, 0.097279154, -0.15780063, -0.00092860113, -0.06560443, 0.046918143, 0.116832, -0.041867204, -0.04294921, -0.16297981, 0.0017979478, -0.14739467, 0.06300005, -0.018958041) * g_12; + result += mat4(-0.023155538, 0.013861143, 0.10273995, -0.23301847, -0.06355406, 0.23065268, 0.0100112315, 0.12967634, -0.015230428, 0.00040594305, 0.09417989, 0.24173634, 0.055267353, 0.0818368, -0.07358038, 0.11633795) * g_13; + result += mat4(-0.033157397, -0.060810838, 6.0726292e-05, -0.07492996, -0.08209274, 0.036523078, 0.037038907, -0.0371525, 0.008616722, -0.25722533, 0.11118201, 0.00083808816, -0.16973083, -0.049985297, 0.016049283, 0.04555759) * g_14; + result += mat4(-0.02391044, -0.12006143, -0.0040827403, -0.045583934, 0.005460344, 0.0015913033, -0.0840245, 0.06921067, 0.13523246, 0.25881252, 0.06931116, 0.12808272, -0.08047311, -0.0036380326, 0.029610094, -0.1336764) * g_15; + result += mat4(0.07438417, 0.057508536, 0.34985167, 0.11944369, -0.21246617, -0.16596083, -0.31279483, -0.24151649, -0.090715386, -0.007790705, -0.10482516, 0.10915042, -0.08405226, 0.09904896, -0.08101267, -0.36275923) * g_16; + result += mat4(0.032126356, 0.011326541, -0.2710429, -0.018045785, -0.024174925, 0.10995586, 0.32196537, -0.16372478, 0.005468728, -0.1943689, -0.111603215, -0.08804184, 0.039886538, 0.15763853, -0.011543824, -0.32507792) * g_17; + result += mat4(0.02271385, 0.06408109, 0.02209524, 0.061272632, -0.12502407, -0.21633519, -0.34524658, 0.018734034, -0.2399288, 0.08478751, 0.1332156, -0.15286094, -0.10991463, -0.41120422, -0.3367541, -0.015484429) * g_18; + result += mat4(0.109604605, -0.13112773, 0.034937084, -0.3441579, -0.22917384, 0.13396077, 0.13513319, 0.013879127, 0.09909886, -0.2781385, 0.10821879, 0.0012182732, 0.141571, -0.039386883, 0.2155932, -0.039853897) * g_19; + result += vec4(0.011448396, 0.020379832, -0.0022957225, 0.013202214); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x80 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_6_tf3 +//!BIND conv2d_6_tf4 +//!BIND conv2d_6_tf5 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf2 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.16280368, -0.3007647, -0.40942207, 0.030815337, 0.07405667, -0.2774033, -0.17283231, 0.29439998, 0.3699874, -0.3105887, -0.14847368, -0.19395609, 0.0452973, -0.007050749, -0.1077042, 0.09585097) * g_0; + result += mat4(0.18247014, 0.009975951, 0.22485235, 0.027747832, -0.23668393, 0.4114013, -0.051324457, -0.1639705, -0.05903238, -0.23907724, 0.028307369, 0.26740846, 0.15824945, -0.45980626, -0.2874741, -0.08889109) * g_1; + result += mat4(0.10361935, -0.3442958, -0.14365837, -0.099617116, -0.032554094, -0.14120267, -0.03342406, 0.05498335, -0.055517945, 0.17825112, 0.07104187, -0.06683212, 0.057972897, 0.118643604, -0.16706169, 0.054418873) * g_2; + result += mat4(0.011006017, 0.07820084, -0.13500318, 0.1641914, -0.009132727, -0.16969028, 0.10708101, 0.1584649, 0.06537785, 0.012797735, 0.33862048, 0.11651383, 0.013557928, 0.2422241, 0.1017567, 0.062895164) * g_3; + result += mat4(-0.051137764, 0.21534863, 0.028179698, -0.43167275, -0.033175964, -0.31094325, 0.117865756, 0.14298838, 0.2600347, 0.06622512, 0.23248197, 0.05236919, 0.057206035, 0.31706086, 0.35474834, -0.08026979) * g_4; + result += mat4(0.3341866, 0.061472543, 0.08820765, 0.18130043, -0.23067175, 0.020398427, 0.2055998, -0.043249145, 0.059176553, 0.15833625, -0.038501732, -0.19359344, 0.013098893, -0.113447286, -0.14451598, -0.07114495) * g_5; + result += mat4(-0.14045192, -0.035960864, 0.1683667, -0.057710778, -0.12191498, 0.30514076, 0.25296882, 0.05210337, -0.30406678, 0.32372236, -0.08775911, 0.05305385, -0.09910785, 0.08077384, -0.030429823, -0.23029453) * g_6; + result += mat4(-0.06477132, 0.051194742, 0.054058783, -0.08651901, -0.11611027, -0.1414096, 0.017515467, 0.08065079, 0.160593, 0.053242017, 0.16833569, 0.2509967, -0.08866564, -0.027160924, 0.18210976, -0.018735442) * g_7; + result += mat4(-0.07765899, -0.08653451, 0.018404264, 0.037747417, 0.29692903, -0.21028307, -0.1398246, -0.18331608, -0.14643049, -0.062120195, -0.026070742, -0.016461093, 0.13776016, 0.16835451, 0.19926657, 0.009491423) * g_8; + result += mat4(0.22430605, 0.13225609, 0.11127026, 0.11934834, 0.11773516, 0.38065204, 0.029911561, 0.02016507, -0.04952572, -0.03617535, -0.13657878, 0.27129802, -0.1468153, -0.15232307, 0.29422712, 0.21878105) * g_9; + result += mat4(0.1451605, -0.1307874, 0.15195362, 0.37169486, -0.3883121, 0.1892302, -0.011653311, -0.117176816, -0.058879364, 0.006502772, 0.0759263, -0.09286256, 0.022827929, 0.07008768, -0.042277794, -0.087980986) * g_10; + result += mat4(-0.20223801, 0.63388115, 0.2666767, -0.16103297, -0.24565355, -0.0149277, 0.12688118, 0.010536548, 0.2465687, 0.11190481, 0.049540646, -0.17695107, -0.2384947, 0.060365606, 0.17545441, 0.07588929) * g_11; + result += mat4(0.09111966, -0.11593248, 0.08454782, 0.288044, -0.07772475, -0.01816507, -5.096444e-05, -0.3003771, -0.03312577, 0.06330272, -0.06429025, 0.2540652, 0.112343386, 0.0268587, -0.3007914, 0.14403644) * g_12; + result += mat4(-0.028090911, -0.10009091, 0.03360372, -0.41311288, -0.14364164, 0.033205803, 0.028351944, -0.36008695, 0.08499348, -0.08054039, 0.0008087064, -0.29299152, -0.12959489, -0.041748602, -0.02607873, -0.002198112) * g_13; + result += mat4(-0.08168162, -0.18030183, -0.14979859, -0.0023758279, 0.11401735, 0.1793914, -0.019655662, 0.13919011, 0.04981195, -0.1512701, -0.2777071, -0.092032805, -0.0956048, -0.2193873, -0.22983249, -0.051276267) * g_14; + result += mat4(0.036644854, -0.23420666, -0.4380995, 0.026250768, -0.1633289, -0.124186166, 0.092637315, -0.027536578, -0.24723285, 0.10599731, -0.16287865, -0.14084546, -0.054123025, 0.10922608, -0.06295828, 0.11139063) * g_15; + result += mat4(-0.0057521244, -0.17863722, -0.28339812, 0.12678196, -0.008798941, 0.25797576, 0.14833443, -0.06494317, -0.10480434, 0.22954331, -0.15336959, -0.0017664762, -0.155693, -0.23341124, -0.10721382, -0.18765664) * g_16; + result += mat4(0.1479779, 0.026514363, 0.150549, 0.043383703, 0.060286276, -0.012992416, 0.11384509, -0.04252127, 0.08395568, -0.086466804, -0.044825606, 0.0600901, 0.36257893, 0.10778409, 0.32519555, -0.17719778) * g_17; + result += mat4(0.019650197, -0.2552763, 0.111707225, -0.028414596, -0.18420072, 0.24862765, -0.27289316, 0.15587737, 0.10823723, 0.18660492, -0.17082447, 0.6391233, -0.11903236, 0.20687774, -0.120824836, -0.103811845) * g_18; + result += mat4(-0.25654075, 0.11822941, 0.002077498, -0.18428631, -0.13948499, 0.22262993, 0.07610168, -0.041798126, -0.08393731, -0.05455519, 0.017154181, 0.40815148, 0.019547334, -0.19381055, -0.09170064, 0.092561185) * g_19; + result += vec4(-0.0025385008, -0.009322316, 0.023430334, 0.03963271); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x80 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_6_tf3 +//!BIND conv2d_6_tf4 +//!BIND conv2d_6_tf5 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf3 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.12601118, -0.021590643, 0.22313827, 0.12338326, -0.3594248, 0.08779226, -0.104447536, 0.0015953421, -0.041181516, -0.059177034, -0.03233909, 0.08123608, -0.06653031, 0.2396167, -0.04595078, -0.27699965) * g_0; + result += mat4(0.21760523, -0.07761304, 0.10619168, 0.21848077, 0.043161202, -0.18573365, 0.18635494, 0.0596456, 0.00958352, 0.06870374, -0.22098882, -0.19535597, -0.01699866, -0.060843382, 0.020773342, -0.28626204) * g_1; + result += mat4(-0.054788332, 0.43804136, -0.018370852, -0.11884852, -0.08396486, -0.02463395, -0.07859437, 0.04820491, 0.20736758, -0.05558528, 0.30823594, -0.11240249, 0.3560334, -0.16470565, -0.037384707, -0.26869738) * g_2; + result += mat4(0.035860125, -0.19114108, -0.014263808, -0.2760586, -0.10599815, 0.24764514, -0.015626451, 0.06531905, 0.03168761, -0.06332368, -0.31058973, -0.04061597, -0.27505493, -0.1417053, -0.1537728, -0.0269434) * g_3; + result += mat4(0.122250065, 0.014169642, 0.0028120647, 0.29171073, 0.03466068, -0.21740533, 0.017244201, 0.10237153, 0.2732552, 0.08788669, -0.18837062, -0.08003779, -0.16058928, 0.16513692, 0.3796974, 0.14405341) * g_4; + result += mat4(0.07627521, 0.3994723, -0.2915726, -0.26149854, -0.17089921, 0.10311443, 0.118035555, 0.018972598, 0.060590137, 0.061291203, -0.08347645, 0.07799144, -0.2275661, -0.20265573, 0.008838914, -0.033791874) * g_5; + result += mat4(-0.26082832, -0.20043238, -0.12740612, 0.022172654, -0.19137274, 0.16447131, -0.12194309, 0.11332352, 0.09688869, -0.11694857, -0.014670798, 0.029100897, 0.27688727, -0.095532894, -0.046852726, 0.15528652) * g_6; + result += mat4(0.0843288, 0.2599002, 0.054038078, 0.030031947, -0.16868956, 0.47877824, -0.107127056, -0.19649811, 0.1452435, -0.061140474, -0.3746812, -0.1712981, 0.10090316, 0.003146686, 0.042054128, 0.2036839) * g_7; + result += mat4(0.062476937, 0.109727405, 0.006085406, -0.09609198, 0.08157408, 0.26440763, -0.010807875, 0.4100666, -0.29008973, -0.29712662, 0.1449313, 0.2999071, -0.10133186, 0.14511426, 0.15570813, 0.1363124) * g_8; + result += mat4(0.24777307, -0.018936818, -0.17767051, -0.2930885, -0.31651247, -0.21320899, 0.024395507, -0.14392355, -0.039903793, -0.028844833, 0.089801095, -0.16740274, 0.076601304, 0.12653774, -0.14753589, -0.076225005) * g_9; + result += mat4(-0.18826364, 0.011248587, -0.021409662, -0.5352774, -0.08067719, -0.054373614, -0.16357093, 0.06124252, 0.033611584, 0.042493146, 0.05371003, 0.11711034, 0.11154937, -0.12328775, -0.06294046, 0.18647408) * g_10; + result += mat4(0.0024605107, -0.056066483, 0.2467666, 0.11369053, 0.08489671, 0.0037346834, -0.013299427, 3.808174e-05, 0.11409715, 0.109892204, -0.06361007, -0.22800997, 0.18311475, 0.042961217, 0.06740135, -0.16150832) * g_11; + result += mat4(-0.18291046, 0.026666109, -0.30111808, 0.17123716, 0.112474516, -0.26450562, -0.090437375, -0.14988331, -0.18449861, 0.007934273, -0.027180828, -0.43781853, 0.0977631, 0.27554545, -0.11660859, -0.23798843) * g_12; + result += mat4(0.10251913, -0.18264107, -0.06369484, 0.05854778, -0.00926676, -0.29635468, -0.11716115, 0.011359037, 0.08007137, -0.049567226, 0.09789246, 0.36260337, -0.15627296, 0.22855914, 0.015385757, 0.083044454) * g_13; + result += mat4(0.1003519, 0.024577776, -0.108722664, 0.011721353, -0.10047615, -0.17745872, 0.10435663, -0.08427653, 0.0010758807, 0.14079982, -0.3041788, 0.15151088, 0.008969225, 0.076604255, -0.06943796, 0.044038422) * g_14; + result += mat4(0.05734037, 0.21680962, -0.11893755, -0.07738818, 0.13322085, -0.04214932, -0.3577641, 0.17797415, -0.07373375, 0.06449437, 0.065212585, 0.28000146, 0.13637395, 0.0667443, 0.040316172, -0.02156067) * g_15; + result += mat4(0.20441194, 0.23352884, -0.0139005985, -0.16409983, -0.38869008, 0.061168108, 0.01810069, 0.2682549, -0.07966706, 0.08529747, -0.093861535, 0.06709627, -0.23922135, 0.25731438, 0.0763321, -0.1010017) * g_16; + result += mat4(0.0023142244, -0.22895189, 0.07123541, -0.033806246, -0.49307954, 0.16494593, 0.011563014, 0.040604062, -0.18492593, -0.2750776, -0.13165577, 0.05981473, 0.03329094, -0.125094, -0.03672828, -0.019734263) * g_17; + result += mat4(-0.049260493, 0.1662821, -0.18388951, 0.23048894, 0.2072809, 0.06807784, -0.29648736, -0.10056884, -0.03960093, 0.46342513, -0.057403132, -0.00022476891, -0.0005029868, 0.43624368, -0.19841333, -0.18943238) * g_18; + result += mat4(-0.06875925, 0.19902602, 0.039521616, -0.025893142, 0.091499686, 0.020004159, 0.07892145, 0.12688632, 0.060283042, -0.11150475, 0.07054853, -0.1520924, -0.19681256, 0.07284978, 0.029370772, 0.22104816) * g_19; + result += vec4(-0.0796562, -0.0549894, 0.3559776, 0.19150664); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x80 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_6_tf3 +//!BIND conv2d_6_tf4 +//!BIND conv2d_6_tf5 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf4 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.09465223, -0.10873596, -0.35955498, -0.17102978, -0.07865758, 0.03300757, -0.040852863, 0.20757945, -0.0925244, -0.12299689, 0.0736371, -0.09471192, -0.3779846, 0.009169354, 0.11503113, -0.20957986) * g_0; + result += mat4(-0.058279574, -0.22219251, -0.020915214, 0.0945366, 0.025918057, 0.057270855, -0.09852459, 0.14113797, -0.10049611, 0.03105915, 0.072065726, -0.056170464, 0.07183245, 0.24152692, 0.0058397814, -0.03508323) * g_1; + result += mat4(0.15363896, 0.4238941, 0.123930104, -0.09307702, -0.1192144, -0.16101883, 0.005986172, -0.058577128, -0.19313446, -0.10295509, 0.20574117, 0.06833371, -0.0012903785, 0.29995304, -0.13213697, -0.1254232) * g_2; + result += mat4(-0.2903937, 0.124987245, -0.024089197, -0.052240573, -0.024258995, 0.030661397, -0.010137248, -0.1609303, -0.10407328, -0.10629749, 0.04671163, -0.02009596, -0.07435262, -0.14072737, 0.2149428, 0.018486146) * g_3; + result += mat4(-0.21417011, 0.2847672, -0.029020585, -0.10139499, -0.07400215, 0.10372491, 0.15485775, 0.12855476, 0.12904498, -0.08895321, -0.05515003, -0.20980029, 0.062432468, -0.038182955, -0.1816266, 0.355782) * g_4; + result += mat4(-0.027595734, 0.12219175, -0.19319062, 0.035706658, -0.022891225, -0.085733496, -0.036004573, 0.051092744, -0.054424077, -0.030906882, -0.024611901, 0.08716703, 0.22153278, 0.13969363, -0.09846757, 0.016469453) * g_5; + result += mat4(0.09095948, -0.03645167, 0.27152961, -1.7102455e-05, -0.007632466, -0.15666215, -0.26401493, -0.1549594, 0.050031006, 0.06181179, 0.07006888, -0.04870327, 0.3641525, -0.008073426, 0.16188, -0.091207646) * g_6; + result += mat4(0.11283634, -0.005790793, -0.013517275, -0.16165686, -0.08701689, 0.033309393, 0.0010972739, 0.1642712, 0.04757619, -0.21329707, -0.04592619, 0.08010882, -0.10787384, 0.059010185, 0.05669982, 0.05839971) * g_7; + result += mat4(-0.0017897426, 0.096831605, -0.10264635, -0.0007392807, 0.042224903, -0.07351851, 0.16442567, -0.10968471, 0.056543402, 0.38061613, -0.3234678, 0.22569597, -0.077230684, -0.3087383, 0.081054784, 0.087633185) * g_8; + result += mat4(0.080605924, 0.06986007, 0.28359544, -0.3324396, 0.032405134, 0.011231502, 0.10453376, 0.15081415, 0.23304632, 0.01282744, -0.110539354, 0.119230196, -0.08274707, 0.79631245, -0.0049962257, -0.06853797) * g_9; + result += mat4(0.24957526, -0.35100362, 0.14683032, 0.11050717, -0.08336315, 0.04131765, -0.19087222, -0.101899385, 0.122537844, -0.059581943, 0.11842144, -0.17657922, -0.017872468, -0.20183705, -0.08783171, -0.0649328) * g_10; + result += mat4(0.1166889, -0.23226629, 0.12511998, -0.15160328, -0.035666835, -0.091406055, 0.064867236, 0.04495807, 0.014363706, 0.13465384, 0.012661851, -0.007246858, -0.08463122, -0.1826089, 0.008594106, 0.05406961) * g_11; + result += mat4(-0.044576548, 0.03944883, 0.02922514, 0.04857608, 0.07982457, 0.28547665, -0.2580222, 0.27174193, -0.009301607, -0.15731618, 0.27248174, 0.111558996, 0.016642686, -0.070072554, -0.25297874, -0.13660255) * g_12; + result += mat4(0.0619904, 0.027571948, -0.20821859, -0.075592734, -0.047970783, -0.16417085, -0.23739098, -0.43939596, 0.028930046, 0.0899, -0.24729219, -0.18904929, 0.04907895, 0.13355176, -0.032109547, -0.029098922) * g_13; + result += mat4(-0.075305015, -0.004550873, 0.079111785, 0.0367624, -0.28268716, 0.034016214, 0.061273348, -0.29881823, 0.346599, 0.10867586, 0.1497806, 0.092778146, -0.26263794, 0.061326664, 0.15384254, 0.13936105) * g_14; + result += mat4(0.2143571, 0.04833282, 0.018522646, -0.12657177, 0.2562043, 0.19504175, 0.07278834, -0.05239313, -0.46725237, -0.117593594, 0.021978024, -0.2434228, 0.25235966, -0.06409148, 0.0025807568, 0.06643222) * g_15; + result += mat4(-0.38482606, 0.0037258423, -0.024128545, 0.050342213, -0.17996104, -0.12157712, 0.028484367, -0.11472539, 0.17927656, 0.043731786, 0.08844086, -0.013330732, 0.05990761, 0.2168297, 0.09100677, -0.0008136453) * g_16; + result += mat4(0.50347346, 0.1341378, 0.023524579, -0.1837871, 0.145017, -0.06573727, 0.02377743, -0.03617753, -0.07013405, -0.21561088, 0.1574615, 0.17621611, -0.000903247, -0.19177268, -0.013945821, 0.0014927404) * g_17; + result += mat4(0.024711724, 0.3515622, 0.47648275, 0.07185405, 0.20586282, 0.17289369, 0.042327203, 0.34730917, 0.03348624, 0.008369107, 0.24884492, -0.019298946, 0.02819896, -0.087031476, -0.002446221, -0.18767828) * g_18; + result += mat4(-0.0786536, 0.13503742, 0.3140287, -0.21691471, -0.1240609, 0.106962465, 0.039765242, -0.09525154, -0.11635654, -0.025509981, -0.09417984, 0.27709702, -0.050951984, 0.012091699, 0.0031243872, 0.17191774) * g_19; + result += vec4(0.009157748, 0.0064318995, 0.070232585, 0.055942155); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x80 +//!HOOK MAIN +//!BIND conv2d_6_tf +//!BIND conv2d_6_tf1 +//!BIND conv2d_6_tf2 +//!BIND conv2d_6_tf3 +//!BIND conv2d_6_tf4 +//!BIND conv2d_6_tf5 +//!BIND conv2d_8_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!SAVE conv2d_9_tf5 +//!WIDTH conv2d_6_tf.w +//!HEIGHT conv2d_6_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_1 (max((conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_6_tf_tex(conv2d_6_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_6_tf1_tex(conv2d_6_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_6_tf2_tex(conv2d_6_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_6_tf3_tex(conv2d_6_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_6_tf4_tex(conv2d_6_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_6_tf5_tex(conv2d_6_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_8_tf_tex(conv2d_8_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.1922669, 0.08802744, -0.028858658, 0.0018137145, 0.049583502, 0.054931905, 0.06461622, -0.1545738, -0.24787578, -0.3030694, -0.43755215, -0.08891142, -0.0072859223, 0.33978176, -0.08431318, -0.074049324) * g_0; + result += mat4(0.12638506, -0.1162002, -0.13160661, -0.07876044, 0.0991572, 0.15431085, -0.014509431, -0.021629302, -0.03953747, -0.121313706, 0.11476493, -0.21827452, -0.055972893, -0.21574646, 0.013953077, 0.008131167) * g_1; + result += mat4(0.22515556, -0.38520855, 0.08868661, 0.072899625, -0.0066298717, 0.17697194, 0.16426025, -0.047008827, 0.0667103, -0.20082757, -0.022680001, -0.13906951, -0.11068086, -0.18871038, -0.14856437, -0.22906394) * g_2; + result += mat4(0.06496998, 0.33180842, 0.035600964, 0.008669803, -0.21089098, 0.024426313, 0.097489424, 0.19989817, 0.09799698, -0.19460952, 0.31317624, -0.054178897, 0.06745894, 0.24180534, -0.18725993, -0.09876676) * g_3; + result += mat4(-0.14159264, -0.09821653, 0.111369886, -0.13888422, 0.19065087, -0.052074507, 0.25994346, -0.09896752, 0.009669414, 0.3327987, -0.03835561, 0.1502805, 0.06749692, -0.25075352, 0.1176795, 0.2861322) * g_4; + result += mat4(0.08663468, -0.09579272, 0.15255743, 0.11586089, 0.096744135, -0.106523454, -0.23779331, -0.039372843, -0.044640735, -0.073639855, -0.09300802, -0.016469873, -0.017932354, -0.15118197, 0.07342249, 0.08470412) * g_5; + result += mat4(-0.22996324, 0.2121147, -0.042765424, 0.29991713, -0.1105575, -0.22186373, -0.099884614, 0.28284577, 0.019985273, 0.18109971, 0.067379884, -0.05751364, -0.14203605, -0.1606955, -0.04072121, 0.14415282) * g_6; + result += mat4(-0.010768784, 0.013500415, -0.05128568, -0.20169108, 0.21437442, -0.2470299, 0.0067167566, 0.3354006, 0.29098728, 0.3001768, 0.11471926, -0.34384128, 0.013220707, -0.21317835, -0.007173589, 0.056399934) * g_7; + result += mat4(-0.25603592, 0.008419834, 0.035636842, -0.07926287, 0.05415962, -0.24778326, -0.24242976, 0.20616682, 0.13446097, -0.26829332, -0.043394912, -0.15304199, 0.26440972, -0.28728306, 0.0017775068, -0.031716976) * g_8; + result += mat4(-0.2344917, -0.061300833, 0.40446028, 0.42343828, -0.2158991, 0.39550748, 0.13935845, -0.15041998, 0.13921916, 0.18082108, 0.04385846, 0.142258, -0.21331908, -0.26960972, 0.031336915, 0.23779747) * g_9; + result += mat4(0.06346781, 0.07501524, -0.20003422, -0.115085386, -0.027196221, -0.027326047, 0.0592106, -0.23421998, -0.003150606, -0.31265986, 0.088709556, -0.10167917, -0.14837898, 0.37943587, 0.1447625, 0.080040015) * g_10; + result += mat4(-0.15046267, 0.265076, -0.19776449, -0.20232256, 0.06413749, 0.26056677, 0.079985835, -0.23233825, -0.24333598, -0.18887608, -0.16819565, 0.047695916, 0.010287012, 0.3019047, 0.148884, -0.10863938) * g_11; + result += mat4(-0.0018880082, -0.2375455, 0.41955757, 0.01565566, 0.0898848, 0.028822318, -0.1900471, 0.15390472, -0.07475509, 0.028788034, 0.14377898, -0.018586636, 0.15499766, -0.0181846, -0.1712958, 0.26694313) * g_12; + result += mat4(-0.019247968, -0.22267476, -0.20527479, -0.05516891, -0.10443534, 0.0013541149, -0.35172266, 0.08538575, 0.033067722, -0.18152483, -0.23448412, -0.02623179, -0.13003229, 0.13998169, 0.0376709, -0.19369106) * g_13; + result += mat4(0.3118797, 0.082491405, -0.34785077, -0.22611658, -0.07956514, 0.11574769, 0.16532372, -0.2226821, 0.06791281, -0.098187685, -0.08020048, 0.12613155, -0.2472526, -0.27066618, -0.139881, -0.18741405) * g_14; + result += mat4(-0.12976451, 0.14284736, 0.19006614, 0.07724795, 0.062145814, -0.36040485, -0.25726667, -0.04952468, 0.02644045, 0.044718564, 0.27806777, -0.048151493, -0.06354555, -0.0005565615, 0.14224754, 0.17653286) * g_15; + result += mat4(-0.17252563, 0.023060834, 0.02491499, 0.19027406, -0.212846, -0.01613939, -0.068693444, -0.14507875, -0.08602362, 0.02112319, 0.19688891, 0.28616062, 0.12502767, -0.16866814, 0.096094206, -0.087079056) * g_16; + result += mat4(-0.0105957305, -0.00042306812, -0.073753655, 0.2258738, 0.015042403, 0.26525986, 0.09652541, 0.33078325, -0.054301977, -0.14386192, -0.09737477, -0.1822451, -0.07917178, 0.012320757, -0.1526825, -0.08518065) * g_17; + result += mat4(-0.053449947, -0.26979092, 0.21039961, 0.0002728565, 0.1097202, -0.004250707, -0.038437147, 0.27996743, -0.046362147, -0.021696959, 0.077650055, -0.07844942, -0.10120125, 0.08145741, 0.10650856, 0.0026023765) * g_18; + result += mat4(0.24465938, -0.095935315, -0.21770145, -0.24916768, 0.13544445, -0.013464758, 0.13948593, -0.123387456, 0.14965056, -0.027013663, 0.3156395, -0.06620409, 0.07764431, -0.14184502, -0.23861314, 0.11016456) * g_19; + result += vec4(0.05315733, 0.009354445, 0.074799225, 0.048262358); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_9_tf3 +//!BIND conv2d_9_tf4 +//!BIND conv2d_9_tf5 +//!SAVE conv2d_11_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_9_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_9_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_9_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_9_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_9_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_9_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.11065729, -0.033565044, -0.2329061, 0.0078558875, -0.07121535, 0.13447808, -0.48046845, 0.1651893, -0.021583451, 0.09004625, 0.30772808, 0.046850167, -0.12196115, 0.20660469, -0.06685862, -0.084653415) * go_0(-1.0, -1.0); + result += mat4(-0.1721154, -0.017597089, -0.16192035, 0.15263753, -0.26492825, 0.009456457, 0.037399817, 0.23390785, -0.049550038, -0.026080197, 0.14206415, 0.008774876, 0.063705266, 0.051765062, 0.24875836, 0.099421404) * go_0(-1.0, 0.0); + result += mat4(-0.047302574, -0.016512489, 0.06810586, -0.06868577, 0.025998915, 0.058887336, 0.001597515, -0.12256784, 0.08268936, 0.03727418, 0.18887138, 0.06894959, 0.3205655, -0.018711518, -0.044558458, -0.057956032) * go_0(-1.0, 1.0); + result += mat4(-0.1517841, -0.23244041, -0.17393516, -0.23926319, -0.4361466, -0.30781198, -0.18288358, -0.020540912, 0.06586069, -0.21133885, 0.043229107, -0.027916892, -0.048755284, -0.05953157, -0.19556823, -0.07165948) * go_0(0.0, -1.0); + result += mat4(-0.1174694, 0.054337397, 0.12835175, 0.09959543, 0.033005662, 0.18233524, -0.256386, -0.048866775, -0.14466491, -0.13285607, -0.03937386, -0.019240126, -0.10373259, -0.1657274, -0.24291772, 0.075199485) * go_0(0.0, 0.0); + result += mat4(0.08207701, 0.0069850767, 0.16064502, -0.14246464, -0.17855522, -0.006616863, -0.20864315, 0.028733289, -0.12688828, -0.2265197, -0.12573537, 0.096166134, 0.1005094, -0.025901344, -0.01940587, -0.00094570883) * go_0(0.0, 1.0); + result += mat4(0.14291742, -0.36148882, -0.015547496, 0.20172058, -0.34360975, -0.25096804, -0.028675647, -0.16680753, 0.083879635, -0.07020056, -0.014250424, -0.032770164, 0.10160873, 0.061744668, 0.13513815, 0.13051409) * go_0(1.0, -1.0); + result += mat4(-0.34734267, -0.05261325, 0.34533986, 0.015022912, -0.3798942, 0.052754287, -0.044300254, 0.0026329095, -0.05218254, -0.051167574, -0.18714808, 0.03277871, -0.13485578, -0.07783909, 0.23404102, -0.06266696) * go_0(1.0, 0.0); + result += mat4(0.08901671, 0.03258588, 0.19680169, -0.10170613, -0.25134686, -0.03096738, 0.08763064, 0.15013361, -0.054004118, 0.029791253, -0.14162092, -0.0421743, -0.039308522, -0.03239244, 0.0026326722, -0.045754924) * go_0(1.0, 1.0); + result += mat4(0.08676345, -0.35174674, -0.11236161, 0.05293886, -0.07480023, -0.101317465, -0.12046224, 0.039460886, 0.07051205, 0.059597883, -0.028280778, 0.03134286, 0.15486175, -0.031330753, 0.15584795, -0.102045245) * go_1(-1.0, -1.0); + result += mat4(0.1252375, 0.091515355, -0.08060989, 0.07655616, -0.031962767, -0.015003918, -0.019061645, -0.038605515, 0.041674748, 0.019495333, -0.074719995, 0.111798435, 0.35053942, -0.21865605, -0.035492726, -0.19251086) * go_1(-1.0, 0.0); + result += mat4(-0.2521477, 0.035690635, -0.1748867, 0.16958003, 0.082237944, 0.037905395, -0.20225619, -0.01181544, -0.0730941, 0.08402793, -0.004251873, 0.15961078, 0.24414352, -0.07390854, 0.11883077, -0.11432912) * go_1(-1.0, 1.0); + result += mat4(-0.09039999, 0.08458838, -0.17640921, 0.22679248, -0.09973631, -0.10150884, -0.12132154, -0.063188024, -0.06142147, -0.044643465, 0.07774642, 0.10063658, 0.012656136, -0.07811268, -0.11025514, -0.03877614) * go_1(0.0, -1.0); + result += mat4(-0.3758025, 0.39612144, -0.38509527, 0.065648146, 0.18610518, 0.24517001, -0.082178675, 0.0054388554, 0.091793224, -0.006966941, 0.023598287, 0.09363874, 0.02030536, -0.1162773, -0.1702807, -0.10238526) * go_1(0.0, 0.0); + result += mat4(0.06522886, 0.01968204, 0.013276272, 0.06622485, 0.0966013, 0.04298673, 0.06357989, 0.0686297, 0.036044475, 0.09697355, 0.0923304, -0.027402518, 0.23022865, 0.009975208, 0.09505576, -0.06265446) * go_1(0.0, 1.0); + result += mat4(-0.07985259, -0.067997314, 0.11987299, 0.0835397, -0.12091872, 0.030830579, 0.031313404, 0.06652082, -0.07365764, 0.022173064, 0.038719, -0.16344336, 0.07253899, 0.022317031, 0.1831806, -0.052748464) * go_1(1.0, -1.0); + result += mat4(-0.0634643, 0.050153147, 0.1089263, 0.16260117, -0.19715269, 0.04525501, 0.2851316, -0.14279072, 0.08007492, 0.14796089, -0.13729408, -0.11116092, -0.17260908, -0.019579785, -0.025702966, 0.15135053) * go_1(1.0, 0.0); + result += mat4(0.045409318, 0.22306903, -0.23696704, 0.30549112, 0.016529143, 0.09789025, 0.046990365, -0.087783515, 0.116460465, 0.04390236, -0.056050096, -0.026875896, 0.22284238, 0.014261535, -0.13459139, -0.052002028) * go_1(1.0, 1.0); + result += mat4(0.033934735, 0.03744048, -0.14255948, 0.1060668, 0.17200193, 0.032943442, 0.15052855, 0.0703971, 0.11046219, -0.063354306, -0.19214186, -0.14163889, 0.2878844, -0.06460431, -0.021372154, 0.19077174) * go_2(-1.0, -1.0); + result += mat4(-0.008314957, -0.078829214, 0.036322586, 0.1370874, -0.09932989, 0.08450153, 0.05382594, 0.10578927, -0.06620096, -0.03751784, 0.0685656, 0.0146967, -0.17852665, -0.09221525, 0.163109, 0.39510122) * go_2(-1.0, 0.0); + result += mat4(0.21959463, -0.0673742, -0.05068107, -0.14604324, 0.032997485, -0.036264967, 0.0025804765, -0.0032351657, -0.055149194, -0.010604908, -0.01948609, 0.11715798, -0.007900997, 0.012781306, -0.102708206, -0.18385006) * go_2(-1.0, 1.0); + result += mat4(0.16189429, 0.2974257, 0.028685816, -0.041304193, 0.104191594, -0.10642667, -0.1165585, -0.06683831, -0.030429205, -0.10225779, 0.06759207, 0.1287473, 0.08969416, 0.024031915, 0.08996185, 0.021237956) * go_2(0.0, -1.0); + result += mat4(-0.067058615, -0.06869974, 0.28236046, 0.14531423, 0.11858161, -0.01654489, 0.12848209, -0.003918965, -0.17918663, -0.15143135, -0.19069745, 0.023554064, 0.024598364, 0.1321118, 0.48159206, -0.09269644) * go_2(0.0, 0.0); + result += mat4(0.115231544, -0.0032554602, 0.0041012196, -0.0046674996, 0.14599484, 0.032397192, 0.08553145, -0.026185688, -0.21801896, -0.22803733, 0.22832747, 0.03817061, -0.069230415, 0.0324615, -0.245797, -0.19035016) * go_2(0.0, 1.0); + result += mat4(-0.16802694, 0.19597448, 0.049715098, 0.018987939, 0.1563443, -0.09048181, 0.06861489, 0.029435834, -0.14661247, 0.17823257, -0.015096998, -0.18206248, -0.1122397, -0.0024176831, -0.02847615, -0.17265147) * go_2(1.0, -1.0); + result += mat4(0.06423479, -0.0048467508, 0.026251012, -0.0871601, 0.010739662, 0.1324091, 0.10091656, -0.06778729, -0.061860725, 0.14850748, 0.18788461, -0.22935927, -0.04521556, 0.22395493, 0.050345525, -0.08274999) * go_2(1.0, 0.0); + result += mat4(0.048296567, 0.111412406, 0.01575327, -0.08608332, 0.051853668, 0.06310964, 0.056300834, -0.167152, -0.05985545, 0.077944554, 0.30849454, -0.24084799, 0.013268605, 0.055026837, -0.20886575, -0.030484412) * go_2(1.0, 1.0); + result += mat4(-0.22162361, -0.00891929, 0.22843885, 0.014100439, -0.019914588, -0.10437051, -0.0046799625, 0.06363446, 0.053681366, 0.07912179, 0.16156994, -0.06831938, 0.14298461, -0.012671532, 0.12209479, -0.15130728) * go_3(-1.0, -1.0); + result += mat4(0.034879692, 0.1260956, 0.031183518, -0.010902104, 0.05384002, -0.20230055, -0.16981775, -0.04562737, 0.06405703, 0.15144739, -0.03652416, 0.08995075, -0.010406152, 0.023800947, -0.02023546, -0.11532134) * go_3(-1.0, 0.0); + result += mat4(-0.0051507168, -0.0848511, 0.22892833, 0.042418208, -0.06470052, 0.0319561, -0.069816284, 0.061622996, -0.068940066, 0.046081185, 0.17252927, 0.04726007, 0.05160559, 0.019490944, -0.029676115, 0.035894085) * go_3(-1.0, 1.0); + result += mat4(-0.12114952, -0.098223485, -0.1576559, -0.11341766, -0.053012382, 0.05975512, -0.02405694, -0.075539865, 0.02712277, 0.045053054, -0.042407285, -0.19864829, -0.06831715, 0.027572775, -0.055474814, -0.05826217) * go_3(0.0, -1.0); + result += mat4(0.009547709, 0.11492732, 0.14621596, -0.022977749, -0.08215322, -0.068181336, 0.21877459, 0.16448551, -0.08262295, 0.06695922, -0.05052619, 0.08218141, 0.09815865, -0.017209277, -0.11029214, 0.10387785) * go_3(0.0, 0.0); + result += mat4(0.021276599, -0.1396185, 0.15547532, -0.09525875, -0.017380727, -0.174434, 0.1908772, 0.05106546, 0.048898213, -0.18481675, -0.024676675, 0.020476716, 0.003939256, 0.012242363, -0.1052081, 0.114367664) * go_3(0.0, 1.0); + result += mat4(-0.17372851, -0.1424865, -0.05486458, 0.2676285, 0.0035624248, 0.08725484, -0.007900028, -0.1005391, -0.20805833, 0.061351843, -0.089120075, 0.088012055, 0.030445773, 0.10641649, 0.018887872, 0.05093269) * go_3(1.0, -1.0); + result += mat4(-0.07776571, -0.13671526, -0.11086421, 0.11034073, 0.020306246, -0.028728647, -0.12545891, -0.16932821, 0.15411533, -0.19357502, -0.06345341, 0.03926335, 0.13200106, 0.060615014, 0.014046291, 0.18093176) * go_3(1.0, 0.0); + result += mat4(-0.01706402, -0.10313435, 0.00445817, 0.0032045625, 0.015698014, -0.070094734, -0.10885296, 0.08759509, 0.03067324, -0.18111154, -0.0539245, 0.013589464, -0.024326503, 0.047287695, -0.037094206, -0.034841713) * go_3(1.0, 1.0); + result += mat4(0.22197281, -0.022347828, 0.02685888, -0.10240367, -0.1926851, -0.11706298, -0.06704851, -0.017859183, 0.00025039204, -0.04612332, 0.08610041, 0.15679866, 0.063804425, -0.1016019, 0.02813499, -0.038362153) * go_4(-1.0, -1.0); + result += mat4(0.14892037, -0.024246952, -0.21368289, 0.03536149, -0.08644949, -0.13224818, -0.0521787, -0.09096727, -0.3271048, -0.065186724, -0.002157824, 0.08384631, 0.055492498, 0.03269878, 0.0067793853, 0.029622784) * go_4(-1.0, 0.0); + result += mat4(-0.00528388, 0.0063680154, 0.026256558, 0.05468057, -0.20092459, -0.03719278, -0.043252084, 0.057888906, -0.009566334, -0.11301503, 0.019822683, 0.052704863, 0.055489272, 0.07455167, -0.09751699, 0.005783364) * go_4(-1.0, 1.0); + result += mat4(0.107178226, -0.13112251, -0.035829626, -0.10725111, 0.023242824, 0.07523588, 0.07845659, -0.011750167, 0.0466798, -0.24150136, 0.2681371, 0.002484224, -0.26805767, 0.15951233, -0.058928348, 0.07894071) * go_4(0.0, -1.0); + result += mat4(0.117843606, -0.3197398, 0.22887307, 0.11072152, 0.11311824, -0.29953524, 0.045007616, 0.047428284, -0.14508507, -0.16023712, 0.14998578, -0.045239456, -0.13850681, -0.06758438, -0.20843203, -0.12846175) * go_4(0.0, 0.0); + result += mat4(0.2089775, 0.15191884, 0.19236302, -0.12852545, -0.017758507, 0.054735895, 0.2057903, 0.01578931, 0.06712026, 0.11611963, 0.041994072, -0.2348366, -0.09687036, 0.05122309, -0.13020395, 0.12760021) * go_4(0.0, 1.0); + result += mat4(0.1674606, -0.23622335, 0.21831974, -0.19162895, -0.0653262, -0.19253829, -0.025073627, -0.031931855, 0.09056663, 0.009096665, -0.07437006, -0.20607735, -0.035784222, -0.13755737, 0.105823584, 0.021616982) * go_4(1.0, -1.0); + result += mat4(-0.12060124, -0.05081354, 0.019493153, -0.17280865, -0.09652722, -0.22406265, 0.055743024, -0.064455345, 0.020935146, -0.05912329, -0.023218567, 0.08459226, -0.27066386, -0.009149911, 0.031394698, -0.09333024) * go_4(1.0, 0.0); + result += mat4(0.07529214, 0.18329029, -0.053039473, -0.15814133, -0.056002066, 0.049465064, 0.122380644, -0.095161386, -0.01707029, -0.021291345, -0.064365804, 0.042289734, 0.0096676815, 0.16314495, 0.061155442, -0.0072070844) * go_4(1.0, 1.0); + result += mat4(-0.18325166, -0.045254577, -0.07755575, -0.015819173, -0.053942695, -0.1564633, 0.24598272, -0.01649073, -0.11030772, -0.3956073, 0.0067733866, 0.08979125, -0.087877646, 0.111440755, -0.031384, 0.0041654776) * go_5(-1.0, -1.0); + result += mat4(-0.08632575, 0.01247107, 0.073227346, -0.02861831, -0.06667062, 0.00631046, 0.014473328, -0.14449167, -0.23806049, 0.06853407, 0.044759657, 0.13089806, -0.06534994, 0.09364583, 0.25784552, -0.04829764) * go_5(-1.0, 0.0); + result += mat4(0.055283614, 0.095919676, -0.17018771, -0.10706522, -0.060850658, -0.15489587, 0.096590616, -0.15492146, -0.117981836, 0.0031413063, 0.20087089, 0.0842084, 0.044810157, -0.12295185, -0.04900455, 0.022688968) * go_5(-1.0, 1.0); + result += mat4(-0.04983315, -0.018766034, 0.110484764, 0.06876715, -0.040869314, -0.21283215, 0.12169796, -0.08138329, -0.05879556, -0.4355045, 0.18808807, 0.15669084, 0.051187377, 0.17142825, -0.07497983, 0.00198669) * go_5(0.0, -1.0); + result += mat4(-0.061976284, 0.13500537, -0.10203683, -0.016636437, -0.02491998, -0.01352495, -0.019896744, -0.10472221, -0.34705746, -0.16710368, 0.1022697, -0.07555259, 0.07735059, -0.06643135, -0.1400189, -0.00091027044) * go_5(0.0, 0.0); + result += mat4(-0.02308153, 0.03587171, -0.06439805, -0.03391213, -0.13628857, 0.01694368, 0.05886299, -0.16476311, -0.005419486, -0.06331514, 0.11643934, -0.16962259, -0.16336058, -0.08988242, 0.15452544, 0.089317046) * go_5(0.0, 1.0); + result += mat4(-0.1820998, -0.08794822, -0.121190175, 0.122091204, 0.012820464, 0.09933649, 0.2141602, -0.08854414, -0.05771915, 0.18643157, 0.08712915, 0.06973249, -0.12666526, 0.024907013, 0.109394126, 0.04836077) * go_5(1.0, -1.0); + result += mat4(-0.17639092, -0.04720988, -0.0038245695, 0.16056724, 0.12734261, 0.055577323, 0.15901293, 0.05271541, 0.04766261, 0.12878492, -0.0549527, 0.04790089, -0.091121376, -0.0013024703, 0.37799272, -0.08539876) * go_5(1.0, 0.0); + result += mat4(0.106956095, -0.1319375, -0.126656, 0.0709718, 0.10223421, 0.01119111, 0.09486624, 0.03244709, -0.02933061, -0.19111432, -0.24627611, 0.0672316, 0.0025987737, 0.013657685, 0.09979212, -0.050996147) * go_5(1.0, 1.0); + result += mat4(0.08628728, 0.100198254, 0.022478774, -0.056689125, -0.14032082, 0.036446873, -0.008617598, -0.013536469, 0.011264824, -0.026743524, 0.047261734, -0.03531947, -0.28368023, 0.013742331, -0.2491621, 0.10458443) * go_6(-1.0, -1.0); + result += mat4(0.0151652815, 0.10615742, 0.028310398, -0.050413925, -0.014452144, 0.07141453, -0.0051745498, -0.040412616, 0.0024879081, -0.028745392, 0.028668849, -0.05288013, -0.26013553, 0.1665632, 0.092639334, 0.392492) * go_6(-1.0, 0.0); + result += mat4(0.07644084, 0.06848576, 0.0021437998, 0.161489, -0.023799606, -0.0639256, -0.07002663, 0.089794315, -0.16638722, 0.028898913, -0.10682576, 0.037343755, -0.17456193, 0.020488204, -0.086536296, 0.21236399) * go_6(-1.0, 1.0); + result += mat4(-0.029148629, -0.16979113, 0.18869588, 0.17955571, -0.114676945, -0.048160102, 0.035702094, -0.0605213, 0.04062305, 0.078081146, 0.12024688, 0.1189308, -0.1789993, -0.025458511, 0.21930633, 0.2965206) * go_6(0.0, -1.0); + result += mat4(0.058818035, 0.09351513, -0.038147923, -0.05888233, 0.09451917, -0.061343953, -0.07387799, -0.042226378, 0.15697896, -0.045863792, 0.20019881, 0.01643532, -0.09655159, -0.026225686, -0.03686413, 0.049890447) * go_6(0.0, 0.0); + result += mat4(0.09177433, 0.015848925, 0.12088713, -0.07016451, 0.0844307, 0.05633303, 0.01984136, -0.083530255, -0.20395234, 0.033483133, 0.22520478, -0.0579029, -0.43986732, 0.046070777, -0.100227945, 0.13268784) * go_6(0.0, 1.0); + result += mat4(0.02913666, 0.05129688, 0.07668126, 0.016638732, 0.04686301, -0.28033668, -0.108468704, -0.038995452, 0.07362143, -0.012212255, 0.028646851, 0.026969483, 0.008973289, -0.15830874, -0.041757222, 0.028859485) * go_6(1.0, -1.0); + result += mat4(0.07564748, 0.0009427685, -0.17376253, 0.036964092, 0.075341046, -0.08996638, -0.18005392, 0.046783317, -0.015427522, -0.021566419, -0.199109, -0.16471949, -0.23009992, 0.14298266, -0.072921954, 0.030295564) * go_6(1.0, 0.0); + result += mat4(0.09034083, 0.04216589, 0.058569096, 0.0037025113, -0.016154546, 0.08337012, -0.10922749, -0.068538666, -0.029674552, 0.12578458, -0.25101903, -0.090225205, -0.202105, 0.14358751, 0.093851075, -0.15241112) * go_6(1.0, 1.0); + result += mat4(0.03903056, 0.08233857, -0.0022924484, 0.024079934, -0.052842163, -0.00267007, -0.051180284, 0.05539778, -0.002714199, 0.2102458, -0.04460931, 0.16837116, -0.00573023, 0.27364895, 0.11105974, -0.09026963) * go_7(-1.0, -1.0); + result += mat4(0.028595762, -0.008292653, 0.14336695, -0.12696268, -0.06808028, 0.042020004, -0.083854616, 0.116240636, 0.11918143, -0.042880658, 0.23967804, 0.043822538, 0.14557965, 0.26447278, 0.0029160809, -0.13183881) * go_7(-1.0, 0.0); + result += mat4(0.042178478, 0.018002568, -0.011068556, 0.044884045, -0.013640079, 0.0053881723, 0.11135908, -0.14666013, 0.13981058, 0.054596525, -0.042387255, -0.11482148, 0.13896775, -0.034096025, -0.041575328, 0.05449477) * go_7(-1.0, 1.0); + result += mat4(0.09525556, 0.19851151, 0.076055124, 0.29026586, -0.09419472, 0.09027977, 0.013685423, -0.047983777, -0.08716191, -0.14222652, -0.008388892, 0.040783685, -0.031232696, 0.16742894, -0.11569261, -0.04626501) * go_7(0.0, -1.0); + result += mat4(0.05320514, 0.08081462, -0.05580297, -0.026681425, 0.14519057, -0.037435655, 0.026225844, -0.043423664, -0.023708133, -0.045244463, -0.10369245, -0.13514094, 0.18076439, 0.10073657, -0.10712064, 0.12635425) * go_7(0.0, 0.0); + result += mat4(0.005628486, 0.04270436, 0.1267877, 0.114542395, -0.13839991, 0.07906997, -0.06957138, -0.16683838, 0.03349326, 0.044977278, -0.1685757, -0.00046340175, 0.18370599, -0.05940734, 0.020395162, -0.031567227) * go_7(0.0, 1.0); + result += mat4(0.13681708, 0.2346991, 0.051812045, 0.065648906, 0.13176957, -0.084621936, -0.07531807, -0.07156236, 0.058895696, 0.032378554, -0.07771784, -0.10980397, -0.015169023, -0.05950244, -0.09908113, 0.0977379) * go_7(1.0, -1.0); + result += mat4(0.09326806, 0.1694491, 0.037888683, -0.08149546, -0.023769435, -0.07241216, -0.049574904, -0.23729254, -0.024154654, 0.018140024, -0.10478698, -0.01710802, 0.009432474, -0.116787165, -0.056661345, 0.07300504) * go_7(1.0, 0.0); + result += mat4(0.018172484, -0.037209284, 0.16821837, -0.16321209, -0.0874226, -0.04208038, -0.1303155, 0.048981696, 0.042598773, 0.040467937, 0.08786169, -0.02833674, -0.044636574, -0.13285205, -0.08014891, 0.25360805) * go_7(1.0, 1.0); + result += mat4(0.10933973, -0.0032548686, -0.019452592, -0.095842555, 0.13893707, -0.12526812, 0.117852844, -0.06800425, 0.08026704, 0.044144094, 0.25443858, 0.07538359, 0.00042005768, -0.30907953, 0.13097566, 0.101204425) * go_8(-1.0, -1.0); + result += mat4(0.07118185, 0.046251785, -0.11115541, 0.06618316, 0.097866945, -0.12117605, 0.05519998, -0.11781476, 0.0131052835, 0.037423946, 0.10627396, -0.05248695, -0.21301521, -0.33259806, -0.026187347, 0.038396128) * go_8(-1.0, 0.0); + result += mat4(0.026669113, 0.041641407, 0.020903202, 0.053846374, 0.13740797, -0.043149393, 0.05964187, 0.012248991, 0.1220929, -0.12675147, 0.059511486, -0.033113457, 0.01857414, -0.14271703, -0.029177962, -0.13853773) * go_8(-1.0, 1.0); + result += mat4(-0.16650377, -0.061009903, -0.0116681615, 0.021638295, 0.08936193, -0.091372, -0.02595066, -0.118770435, 0.107785866, -0.019163927, 0.08443175, 0.0060082804, 0.05759393, -0.16037661, 0.038759813, -0.11965112) * go_8(0.0, -1.0); + result += mat4(-0.11998213, 0.1299257, -0.06063202, -0.04071398, -0.059972808, -0.1754111, -0.08677251, -0.12859741, -0.037563637, 0.040877208, -0.00066555466, -0.1451174, -0.06102044, 0.04763369, -0.064800896, -0.11749359) * go_8(0.0, 0.0); + result += mat4(0.06892601, -0.013343659, -0.06664622, -0.10424136, 0.014268141, -0.0743836, -0.13929653, 0.08718578, 0.13424881, 0.06185525, 0.008922743, 0.00093043817, -0.031792898, 0.04942929, -0.05875928, -0.049445245) * go_8(0.0, 1.0); + result += mat4(0.019740785, 0.09442904, 0.12441261, 0.03690517, -0.026445461, -0.031393915, -0.10382604, -0.04448678, 0.0010918716, -0.1002765, -0.012112531, -0.039969843, 0.17159916, -0.14891349, 0.100035064, 0.00356809) * go_8(1.0, -1.0); + result += mat4(0.0028581363, 0.038335063, -0.0135393385, 0.097922534, -0.13352284, -0.09617056, -0.2743824, 0.2561331, 0.018691247, 0.0049708723, -0.01765825, 0.013614692, -0.100520216, -0.035933983, -0.027674714, -0.14564691) * go_8(1.0, 0.0); + result += mat4(-0.013070652, 0.009267284, -0.06481995, 0.010907154, 0.07727713, -0.002514513, 0.010518841, 0.121947624, -0.012668399, -0.084990434, 0.044394404, 0.013988978, -0.19375595, 0.0736716, -0.013150686, 0.034933046) * go_8(1.0, 1.0); + result += mat4(0.00017506549, -0.093001924, -0.01140557, 0.067514114, 0.051357955, 0.20735298, 0.12061287, -0.12530309, 0.053370517, -0.066189565, -0.004119448, -0.03953937, 0.12940274, -0.06179815, -0.0006715626, -0.17041935) * go_9(-1.0, -1.0); + result += mat4(-0.20064962, -0.13465798, -0.084945045, 0.073212095, -0.055083826, 0.112764575, -0.10380709, 0.212213, 0.11308925, 0.08607191, 0.046215612, -0.101910956, 0.24054714, 0.01284398, 0.10666277, -0.08254704) * go_9(-1.0, 0.0); + result += mat4(-0.06792304, 0.041912746, -0.06322764, -0.03739367, -0.07455351, -0.08081343, 0.2102248, 0.05270946, 0.023480184, 0.11673393, -0.070016764, 0.00019222782, -0.06066527, -0.021409666, -0.09777047, -0.037106793) * go_9(-1.0, 1.0); + result += mat4(-0.026638977, 0.13438208, -0.023500128, 0.020013195, -0.16550663, -0.013727345, -0.06990482, -0.052536458, 0.033496615, 0.028325712, -0.0032830911, -0.06454679, -0.016127445, -0.14684649, -0.046623666, -0.24764042) * go_9(0.0, -1.0); + result += mat4(-0.21883924, -0.13308778, -0.048338667, -0.08265835, 0.24946426, 0.18212394, 0.019211015, 0.13364634, -0.10991381, -0.019370334, 0.15257736, 0.13871881, -0.1110173, 0.18393286, 0.015172226, 0.0051538306) * go_9(0.0, 0.0); + result += mat4(-0.12665296, 0.13529027, -0.18374407, 0.09875144, -0.046080288, 0.1889393, 0.14302395, -0.052254733, 0.051794406, 0.099289164, 0.030776545, 0.01048426, -0.0593129, 0.0062865666, 0.10174894, 0.16441645) * go_9(0.0, 1.0); + result += mat4(0.1589877, -0.022210853, -0.14241305, 0.11298627, -0.02681587, 0.08178478, -0.05506923, 0.09792888, 0.112094805, 0.062720545, 0.16026846, 0.11110019, 0.050593503, -0.15869561, -0.011608442, 0.005309321) * go_9(1.0, -1.0); + result += mat4(0.038660828, 0.0040659993, -0.04615147, 0.03727298, 0.12809865, -0.06620531, -0.04623908, 0.1651001, 0.00331658, 0.038558148, 0.13506873, 0.074754685, -0.034107883, -0.08382398, 0.060850997, 0.1771665) * go_9(1.0, 0.0); + result += mat4(-0.14337118, 0.0552299, -0.066887826, 0.099065475, -0.016262418, 0.04759774, 0.24753757, -0.03123554, 0.09182721, 0.17971586, -0.06117159, -0.0742355, -0.03980454, -0.001462572, 0.20734145, 0.07312291) * go_9(1.0, 1.0); + result += mat4(0.0037743847, 0.047717955, -0.05605929, -0.0110108415, 0.17611906, 0.13866882, -0.2671504, 0.01773803, -0.062665716, -0.1823834, 0.13348061, 0.0065978607, -0.0032421015, 0.037357293, -0.18376032, -0.0390248) * go_10(-1.0, -1.0); + result += mat4(-0.027092014, 0.06426986, 0.14074403, 0.03519113, 0.042043176, -0.0018395231, 0.052804247, 0.09773806, 0.12982424, -0.11521071, -0.11479088, -0.11415672, 0.04768845, 0.13309143, -0.17632663, 0.07915859) * go_10(-1.0, 0.0); + result += mat4(0.09758767, 0.016426437, -0.045750786, 0.04952797, -0.14555432, -4.0141083e-05, 0.066697456, -0.11730303, 0.15418921, 0.025473896, 0.10456666, -0.11348149, -0.14738463, 0.06857866, 0.015933055, 0.06989261) * go_10(-1.0, 1.0); + result += mat4(-0.03398511, 0.24917306, -0.005333344, -0.110437125, 0.002186906, 0.06386028, -0.023896119, -0.0057897726, 0.087479964, -0.10608851, 0.02553874, -0.01517839, 0.06322433, 0.038509168, -0.07753538, 0.033689067) * go_10(0.0, -1.0); + result += mat4(0.06666877, -0.011693419, 0.33397517, -0.120043576, 0.17064095, 0.31786022, 0.24715607, 0.3584479, 0.34158623, 0.16421784, -0.17331788, 0.11301629, -0.04178234, 0.17584772, -0.084835954, 0.086139195) * go_10(0.0, 0.0); + result += mat4(-0.067508556, -0.11236808, 0.14758013, -0.036627058, -0.18279777, 0.05054534, 0.2753345, -0.14180623, 0.100521535, 0.058264427, 0.14143865, -0.035776544, -0.024100186, 0.06573756, 0.05588152, 0.008912967) * go_10(0.0, 1.0); + result += mat4(0.103603594, 0.028021824, 0.10007325, -0.0003912227, -0.0026444877, 0.04181134, 0.015060132, 0.16411744, 0.09541948, -0.09381105, 0.039745413, -0.085353576, -0.013665464, 0.3164363, -0.093714885, -0.07786629) * go_10(1.0, -1.0); + result += mat4(-0.14825682, 0.044950075, 0.2981831, -0.15679139, -0.0005948877, -0.208417, 0.0043193726, -0.074210644, 0.17549054, 0.09871733, -0.11623323, -0.07340507, -0.043644957, 0.18736348, 0.22011474, -0.10750292) * go_10(1.0, 0.0); + result += mat4(0.07765534, 0.08700387, -0.09271718, -0.020416219, -0.20477301, 0.11704565, -0.13559847, -0.16744848, 0.032700196, -0.032000866, 0.11412862, 0.011316682, 0.00068161794, 0.034111973, 0.14950407, -0.16327216) * go_10(1.0, 1.0); + result += mat4(-0.21414798, -0.012332198, 0.19258069, 0.15928881, 0.2062907, 0.14934476, -0.041829843, -0.0063276347, 0.22888815, 0.058699585, 0.13062388, -0.0032300283, 0.03636567, 0.049611546, 0.09329335, -0.10945905) * go_11(-1.0, -1.0); + result += mat4(-0.14186053, -0.09123882, 0.115746394, -0.2150315, 0.022147365, -0.013454767, -0.038911335, 0.07363767, -0.09786827, -0.071230784, -0.15443157, 0.02213909, 0.18729436, -0.05482962, -0.17132843, -0.026424143) * go_11(-1.0, 0.0); + result += mat4(0.109661706, 0.02474746, 0.070871696, 0.007776041, 0.050332006, 0.056008294, 0.060420737, -0.06345865, -0.18401794, -0.05386088, -0.074733675, 0.050853673, -0.08412603, 0.08624613, 0.016043609, 0.10254663) * go_11(-1.0, 1.0); + result += mat4(0.120847985, 0.049095254, -0.08091177, -0.15146309, -0.060347494, -9.089845e-07, -0.034889948, 0.092476286, 0.12363665, 0.1337514, 0.043469135, -0.099697076, -0.042482477, -0.010817118, 0.0036097392, 0.04632124) * go_11(0.0, -1.0); + result += mat4(-0.30797794, -0.21694258, -0.32600638, -0.21443155, -0.14964935, -0.11397073, -0.023484698, 0.054071233, 0.057091843, -0.15534031, 0.12363899, -0.047648482, 0.049290933, -0.07911749, -0.078762844, 0.04101302) * go_11(0.0, 0.0); + result += mat4(-0.059090212, -0.059974886, 0.058480687, -0.18894748, 0.115376465, 0.0070691905, -0.09693795, -0.052684877, -0.02742734, 0.067696705, -0.03288631, -0.041373957, 0.014531993, -0.057073075, -0.011771917, 0.06637675) * go_11(0.0, 1.0); + result += mat4(0.07550267, -0.23278087, -0.071260504, 0.061996948, 0.034905028, 0.023406243, -0.0126258405, 0.077121764, -0.07382028, 0.17757049, 0.058110423, -0.14503844, 0.07383154, -0.02137785, -0.19587317, -0.16178058) * go_11(1.0, -1.0); + result += mat4(-0.11755791, 0.13424352, -0.16016826, -0.019992057, -0.047298156, 0.01004467, 0.06941013, 0.052857235, 0.08608681, -0.04066077, 0.04005646, -0.047089808, 0.12408067, -0.027687239, -0.23384126, 0.13142079) * go_11(1.0, 0.0); + result += mat4(-0.06669859, -0.16045739, -0.12720731, -0.08351044, -0.027273893, 0.028870165, -0.00805259, 0.04537818, 0.11262208, -0.03779596, -0.15002215, -0.039273832, -0.024323156, -0.046387933, -0.15321706, 0.005771357) * go_11(1.0, 1.0); + result += vec4(0.10894316, 0.071547955, 0.027167924, -0.059796084); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_9_tf3 +//!BIND conv2d_9_tf4 +//!BIND conv2d_9_tf5 +//!SAVE conv2d_10_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_9_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_9_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_9_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_9_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_9_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_9_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_9_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_9_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_9_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.10452997, -0.13095978, -0.07095766, -0.08796653, 0.03866794, -0.043399118, 0.024883011, -0.09586787, 0.018307796, 0.040046573, 0.018612234, -0.01401313, 0.0469296, -0.022648746, -0.18145785, -0.05363776) * go_0(-1.0, -1.0); + result += mat4(0.013178503, 0.06755441, -0.09643171, 0.13014862, 0.056539636, 0.11870831, 0.1415756, -0.08151077, 0.056978893, 0.08937851, -0.010595186, 0.109434165, 0.025058694, -0.0009918044, -0.11445685, 0.126302) * go_0(-1.0, 0.0); + result += mat4(0.036922082, 0.03507632, -0.06673393, -0.0071013994, 0.2115374, 0.101692274, -0.017003234, 0.004189955, 0.03438348, -0.0010478764, -0.02670522, 0.11157027, 0.07555884, 0.09292964, -0.025815992, 0.019873831) * go_0(-1.0, 1.0); + result += mat4(-0.011043987, 0.27828768, -0.0787606, 0.00814027, 0.14742489, 0.09057401, 0.14341462, 0.017803868, 0.015630204, -0.0854152, -0.04623994, 0.04082336, 0.055078205, -0.060800023, -0.14535382, -0.11797596) * go_0(0.0, -1.0); + result += mat4(-0.3072509, -0.021771854, 0.11620209, 0.29259723, 0.23683707, 0.09896129, 0.14885803, -0.050370943, 0.056750596, -0.0065239333, -0.085222304, 0.025453214, -0.101827756, -0.013222416, 0.040324558, -0.05698598) * go_0(0.0, 0.0); + result += mat4(-0.19954187, -0.059767995, -0.027981527, -0.11735074, 0.20466456, -0.068525285, -0.024514228, -0.026067065, 0.029342389, 0.08362535, -0.060780793, 0.14181589, 0.03498695, -0.11649479, -0.11296758, 0.08277133) * go_0(0.0, 1.0); + result += mat4(-0.1615255, -0.057027902, -0.1823957, 0.0506974, 0.12113598, 0.15339117, 0.34968796, 0.066086926, 0.069675244, 0.033386946, -0.035866383, 0.07185366, -0.083839566, -0.042833883, -0.056060445, -0.09189207) * go_0(1.0, -1.0); + result += mat4(0.07796149, 0.044739865, -0.026137045, 0.08958096, 0.08173487, 0.029362332, -0.016568858, 0.062199887, -0.07423595, -0.03671977, -0.11045231, 0.069651514, -0.107064106, 0.07661068, 0.21609463, -0.10699304) * go_0(1.0, 0.0); + result += mat4(-0.028772483, 0.08446065, 0.10646146, -0.071518324, -0.07903977, 0.052197788, 0.1014172, 0.042190935, -0.013090111, -0.040251464, -0.18115999, 0.12099481, -0.025876138, -0.030597595, 0.106149204, -0.07030567) * go_0(1.0, 1.0); + result += mat4(-0.13326715, 0.19432688, 0.09731876, 0.10828527, 0.066808715, 0.030789638, 0.07041423, 0.024127241, -0.112927236, -0.013175536, -0.014216315, 0.0070423502, -0.16314755, -0.06248599, 0.058374085, -0.055313278) * go_1(-1.0, -1.0); + result += mat4(-0.20911148, 0.20744188, 0.20493339, -0.023415204, 0.13066125, -0.030369021, -0.04234326, 0.021027198, -0.016199784, -0.11193428, -0.035312437, -0.06372358, -0.11814957, 0.0017009035, 0.002493426, 0.058106538) * go_1(-1.0, 0.0); + result += mat4(-0.097311296, 0.27211997, 0.008951564, 0.06948919, 0.07667662, -0.14638281, -0.11177974, 0.09918961, 0.0064272317, 0.028199617, 0.05246489, 0.07158526, -0.008353152, -0.040840387, 0.046594895, 0.064548075) * go_1(-1.0, 1.0); + result += mat4(-0.016557988, 0.07811643, 0.08168028, 0.025279261, 0.028269911, 0.032241974, 0.11728174, -0.19921954, -0.20458673, 0.030004002, 0.12569252, 0.0445024, -0.03279336, 0.078405224, 0.09927955, -0.011422023) * go_1(0.0, -1.0); + result += mat4(-0.03591925, -0.100528084, -0.23411149, 0.07520768, 0.059985936, 0.07505743, -0.1592992, -0.057464592, 0.06228207, 0.09254745, 0.066452466, -0.17635484, 0.06444523, 0.08613461, -0.066658795, 0.30565113) * go_1(0.0, 0.0); + result += mat4(-0.0024530967, 0.044072535, -0.06323894, -0.06820355, -0.007408811, -0.016028231, 0.018824773, 0.02122507, -0.009777399, -0.05232987, 0.018289607, 0.10530148, -0.10177679, 0.027035125, 0.098365344, -0.087307416) * go_1(0.0, 1.0); + result += mat4(-0.163306, 0.06192198, 0.043251485, 0.097706325, -0.06911249, 0.072816305, -0.073647425, -0.026055098, -0.11378864, 0.051390868, 0.020850867, 0.08749148, -0.03923265, -0.010669588, 0.11940241, 0.017737914) * go_1(1.0, -1.0); + result += mat4(0.20377909, 0.08178027, -0.10129947, 0.010113097, -0.23931094, 0.061751343, 0.27845585, 0.0017923863, 0.078093275, -0.060775764, -0.18478048, 0.05992147, 0.069490485, -0.016183069, 0.036299016, 0.027204616) * go_1(1.0, 0.0); + result += mat4(-0.10725127, 0.02845181, -0.07237152, -0.021047885, -0.0054978402, -0.051092934, -0.03141549, 0.08273207, 0.054004353, -0.05754033, -0.07167153, -0.007779592, -0.053323995, -0.15146933, -0.07297443, -0.0057455422) * go_1(1.0, 1.0); + result += mat4(-0.10945359, 0.13164741, 0.09156805, 0.059387147, -0.040549513, -0.02578788, 0.01921392, 0.04197647, -0.043337982, 0.05120894, -0.036460076, 0.090309665, -0.1267385, -0.015089681, 0.059254825, -0.022432016) * go_2(-1.0, -1.0); + result += mat4(0.037850488, 0.1256152, -0.02764824, 0.01756473, 0.04387597, 0.025042314, 0.014860992, 0.16032273, -0.0709625, 0.021051515, 0.120523304, -0.02604324, 0.08381975, 0.12817742, -0.04863288, 0.13507447) * go_2(-1.0, 0.0); + result += mat4(0.059683677, 0.021523511, -0.11120298, -0.018711125, -0.045930944, 0.020136207, -0.033647113, -0.090400495, -0.113962725, 0.24975385, 0.027121263, 0.07244107, 0.06133815, 0.0301379, -0.017249173, 0.02193777) * go_2(-1.0, 1.0); + result += mat4(0.09717704, -0.04886562, -0.10146337, 0.1295103, 0.010018155, 0.054565154, 0.044354364, -0.076529734, -0.0064900806, -0.11931453, -0.07621885, 0.10582294, -0.26747972, -0.078686684, 0.05799313, -0.010465741) * go_2(0.0, -1.0); + result += mat4(-0.15196374, -0.009799468, 0.11958373, -0.13236645, 0.043515652, 0.13287346, 0.010247103, 0.13210478, 0.00011547689, 0.18007363, 0.039777566, 0.23126884, -0.044643603, -0.027444243, 0.41979262, 0.06408088) * go_2(0.0, 0.0); + result += mat4(0.0035183905, -0.120756544, -0.092366494, 0.07636019, -0.07533208, 0.07316178, -0.11768767, -0.012369148, 0.00071520644, 0.39289847, -0.029513074, -0.053612567, 0.03724949, -0.15359971, -0.0061515397, -0.039532207) * go_2(0.0, 1.0); + result += mat4(0.037849337, 0.04412767, -0.09335646, -0.04050562, -0.13592435, -0.0450969, -0.009349918, 0.06309884, 0.0653804, -0.019830076, 0.0116637815, -0.019197898, -0.028388407, -0.010482436, 0.028828084, 0.073924646) * go_2(1.0, -1.0); + result += mat4(-0.07879339, -0.017644685, 0.1586582, 0.024409177, -0.13626574, -0.0457237, 0.049017217, 0.064037755, 0.092432395, -0.039374296, -0.107957534, -0.008069176, 0.019877099, -0.046122085, -0.10561397, 0.17307135) * go_2(1.0, 0.0); + result += mat4(-0.09788539, -0.06974826, 0.06973763, -0.07462092, -0.06495908, -0.035487246, 0.02998668, -0.042175736, 0.13490213, 0.1976458, 0.14005965, 0.048749786, 0.09506983, -0.0667789, -0.06759445, 0.014753995) * go_2(1.0, 1.0); + result += mat4(0.061003707, -0.038893413, 0.011888445, 0.03362394, -0.051224336, 0.07230751, 0.014294804, 0.028011495, 0.025476746, -0.07903956, 0.030582773, -0.025303833, 0.05157358, -0.022731831, -0.034618694, 0.008615368) * go_3(-1.0, -1.0); + result += mat4(0.0033371155, -0.06581611, -0.07146505, 0.11704561, 0.061990812, 0.20361444, 0.009051675, 0.06278302, -0.09647339, 0.028081289, -0.024359372, -0.06555458, 0.033401083, 0.029613039, -0.059400856, -0.076858476) * go_3(-1.0, 0.0); + result += mat4(-0.023782989, 0.01966281, 0.031039018, -0.01957992, 0.02269796, -0.025164992, 0.052388318, 0.0052376734, -0.17745548, -0.15160382, 0.10373704, 0.047710504, 0.019385021, 0.023565719, 0.062375434, -0.055000264) * go_3(-1.0, 1.0); + result += mat4(0.044949874, 0.061898876, -0.11227215, 0.023184568, 0.015142947, 0.11674747, -0.0047545633, -0.02975008, 0.027430952, 0.03804421, -0.072834834, 0.013898462, 0.14427635, -0.09198968, -0.02673745, -0.0023034182) * go_3(0.0, -1.0); + result += mat4(0.15199643, -0.004547471, 0.09822389, 0.1335928, 0.18551633, 0.22925222, -0.07308735, 0.036088526, -0.17830102, -0.023159912, 0.015921982, 0.20022711, 0.07743466, -0.14498395, 0.0043588476, -0.00050115015) * go_3(0.0, 0.0); + result += mat4(-0.20724933, -0.021077156, 0.13201047, -0.22475693, -0.03760412, 0.17755087, -0.025371602, 0.09510526, -0.18426074, 0.07756117, 0.073541015, -0.042422622, 0.13520999, -0.008147166, 0.026559234, -0.16543452) * go_3(0.0, 1.0); + result += mat4(-0.016604125, 0.08053872, -0.002538484, 0.06635403, -0.03796287, -0.07527997, -0.049641952, 0.029878864, -0.069420286, 0.050373446, -0.17428105, -0.037184883, 0.18725263, -0.09693917, 0.069830656, -0.07349147) * go_3(1.0, -1.0); + result += mat4(0.17742625, -0.051589496, 0.0026871534, -0.08090186, 0.028104464, 0.012049314, -0.021290462, 0.036909223, -0.12107646, 0.09771655, -0.13286181, -0.053349078, -0.038217854, -0.027083775, -0.0006329659, -0.02218599) * go_3(1.0, 0.0); + result += mat4(0.18311077, -0.08873939, 0.089254186, -0.037748277, -0.122104056, -0.016588131, -0.006280359, 0.013694817, 0.021292258, -0.0515016, -0.16659144, -0.0144810425, 0.12720728, 0.054392308, -0.020304244, -0.05930394) * go_3(1.0, 1.0); + result += mat4(0.058957357, -0.09529686, 0.0004077679, -0.067623906, -0.08850329, -0.007457231, -0.009716993, 0.0009063077, -0.041669063, -0.05644132, 0.15368508, 0.020795938, -0.04846486, -0.013657122, 0.09076852, 0.055511467) * go_4(-1.0, -1.0); + result += mat4(0.08429863, -0.23259208, -0.14713542, -0.17900065, -0.045943156, -0.04861488, -0.006334679, -0.0033912223, 0.00964489, 0.094786435, -0.016691163, 0.077123106, -0.039288025, 0.05770473, -0.008626556, 0.023047583) * go_4(-1.0, 0.0); + result += mat4(0.017164854, 0.013175289, -0.03030088, -0.08299147, -0.09750662, 0.090054825, -0.0546798, -0.0025241913, -0.0037131186, -0.0096060205, 0.014337601, -0.040454436, -0.0512663, -0.022533763, -0.008182466, 0.08813494) * go_4(-1.0, 1.0); + result += mat4(0.0654772, -0.19962622, -0.0029846653, 0.05538735, 0.10404658, -0.12914494, 0.06700972, 0.055170983, 0.044017285, 0.023490183, 0.11201984, 0.030844385, -0.061347328, -0.010788254, 0.008415423, 0.18970315) * go_4(0.0, -1.0); + result += mat4(-0.113308266, 0.12977777, -0.12367092, -0.054070447, 0.054880824, -0.036618866, -0.09571354, -0.16456729, 0.0065695816, 0.092923366, 0.10796199, -0.03711626, 0.10701662, 0.13426723, -0.0092919115, -0.037044466) * go_4(0.0, 0.0); + result += mat4(-0.08681347, -0.15467091, 0.011255799, 0.0064190566, -0.040117122, 0.058139827, -0.0403118, -0.23329367, -0.106199786, -0.06939652, 0.04137913, 0.024522778, -0.020507582, 0.032408983, -0.17594863, 0.06780263) * go_4(0.0, 1.0); + result += mat4(-0.073971756, -0.06853512, 0.10660494, -0.08636718, -0.01975871, 0.07520398, -0.0067043533, 0.027499638, 0.14615464, 0.03720377, 0.15135165, 0.04741459, 0.019792017, 0.088009275, 0.16415045, 0.0024859605) * go_4(1.0, -1.0); + result += mat4(-0.36332065, -0.07734452, 0.0028704775, 0.14872053, -0.1061377, 0.0637252, -0.0040910714, 0.025090441, -0.00097514444, -0.1527627, -0.10137462, 0.11902805, -0.12965, -0.12073308, 0.04942668, -0.081019804) * go_4(1.0, 0.0); + result += mat4(-0.044295803, 0.013679751, -0.012926791, -0.005387792, 0.034934286, 0.14332283, 0.12887605, -0.061331455, 0.15142201, -0.1210823, -0.036738504, 0.057602115, -0.0612664, 0.004826139, 0.009473194, 0.05473408) * go_4(1.0, 1.0); + result += mat4(0.06481471, 0.004356429, -0.06848891, -0.008037754, 0.026879564, 0.03606129, -0.066314444, -0.0028949357, 0.16258831, -0.07068598, 0.0196609, 0.032182235, -0.03726745, 0.08904193, -0.003159488, 0.021914925) * go_5(-1.0, -1.0); + result += mat4(-0.011267475, -0.022274308, 0.08582037, -0.06085459, 0.013043968, -0.02893094, -0.10246689, -0.033077985, -0.033044547, -0.02123883, -0.07917233, 0.023728617, -0.07075452, 0.08255205, 0.050427422, -0.03294232) * go_5(-1.0, 0.0); + result += mat4(-0.0727788, -0.09219653, 0.11064241, -0.022223199, -0.15629049, 0.122650005, -0.10289625, -0.06476945, -0.005119053, 0.0026790253, 0.012482781, -0.053372107, -0.023827737, 0.033480383, 0.009195475, 0.1480609) * go_5(-1.0, 1.0); + result += mat4(0.062476553, 0.026223047, 0.051151488, 0.06403894, 0.050695814, -0.0074071065, 0.020688912, 0.06414588, 0.15142709, 0.004108378, 0.1805822, -0.123368226, 0.008366109, -0.0054705045, -0.030376235, -0.21030006) * go_5(0.0, -1.0); + result += mat4(-0.02029089, 0.114019, -0.0019110559, 0.04655684, 0.1260059, -0.003358174, 0.026839556, -0.2089202, 0.1557723, -0.0057378095, 0.08472551, -0.04924428, -0.11776593, -0.0461931, -0.24937254, 0.10839416) * go_5(0.0, 0.0); + result += mat4(0.041421883, 0.048169516, -0.05842667, 0.013366076, -0.023245525, -0.16612361, -0.0057233395, -0.050720043, 0.06489661, -0.1124571, 0.077007234, -0.1291162, -0.037277244, 0.10195012, -0.0071070977, 0.047105957) * go_5(0.0, 1.0); + result += mat4(-0.07696618, 0.051714044, -0.065605335, -0.057643004, -0.023664054, 0.041334838, 0.041327525, -0.0452622, 0.08794407, -0.022252247, 0.04247766, -0.08849691, -0.17467014, 0.034971133, 0.0011387058, 0.06616401) * go_5(1.0, -1.0); + result += mat4(-0.011075697, 0.040273715, -0.060371924, 0.06140919, 0.0031134405, -0.025355663, -0.033405382, 0.030624736, 0.20583406, -0.008255494, 0.09869349, -0.06559402, -0.15411773, -0.073942415, -0.060076036, 0.0882689) * go_5(1.0, 0.0); + result += mat4(-0.031605657, -0.083417654, -0.03974571, 0.06718794, 0.03500733, 0.011564295, -0.054521505, -0.013956027, 0.07440576, -0.08220267, 0.030568961, -0.0072721704, -0.017984008, -0.037543133, 0.04685672, 0.082623824) * go_5(1.0, 1.0); + result += mat4(-0.09169722, 0.044483982, 0.04880043, 0.105855666, -0.0059740203, 0.08248419, 0.019881463, 0.0803125, -0.03237451, -0.050363675, -0.07253764, -0.0045262147, 0.13738465, 0.104033425, 0.08307663, -0.027249241) * go_6(-1.0, -1.0); + result += mat4(-0.088977404, 0.08344813, -0.021231286, -0.10699029, 0.026355123, -0.02438362, -0.03499429, 0.14077897, -0.12033208, -0.16763459, -0.12688397, -0.2923715, 0.010288219, 0.105832145, 0.09331802, 0.025579214) * go_6(-1.0, 0.0); + result += mat4(-0.001623383, 0.1009306, 0.010470034, 0.0657667, -0.077975646, -0.01811936, -0.041142333, 0.1162433, -0.04046679, -0.04067678, -0.13385214, -0.094954856, 0.1869626, 0.078532234, 0.010967375, 0.15119064) * go_6(-1.0, 1.0); + result += mat4(-0.19616304, -0.044319104, 0.14582293, 0.14401235, -0.024239741, 0.10340367, 0.03641681, -0.032825295, -0.14246203, -0.026174128, -0.019074934, -0.059172742, 0.056162503, 0.108569615, 0.17299432, 0.012202355) * go_6(0.0, -1.0); + result += mat4(0.033212636, 0.19201545, 0.07868557, -0.070897594, 0.024198776, 0.057054978, -0.005773385, 0.16551888, -0.13211906, 0.017150372, -0.09208057, 0.03185214, -0.19503927, -0.0154005205, -0.06336041, -0.08972352) * go_6(0.0, 0.0); + result += mat4(-0.047767166, 0.09456821, 0.030971317, 0.06077982, -0.035015658, 0.030661434, 0.08690273, -0.038870484, 0.011427922, 0.014336506, -0.056830537, -0.27509648, 0.035178687, 0.11351475, 0.04536642, -0.08490966) * go_6(0.0, 1.0); + result += mat4(-0.035810657, -0.040094417, 0.16234219, -0.018656962, 0.007042964, 0.09659909, -0.12863661, 0.030866338, 0.034802403, 0.0016517856, 0.026615972, -0.12140747, 0.07092863, 0.02645082, 0.10012633, 0.0838663) * go_6(1.0, -1.0); + result += mat4(-0.09406122, 0.103301324, -0.029774658, -0.05982149, -0.037421286, 0.0376039, -0.18063144, -0.04484252, -0.039305396, -0.11428881, 0.11268997, -0.1526391, 0.19060104, 0.007945032, 0.087847464, 0.032106157) * go_6(1.0, 0.0); + result += mat4(0.002432848, -0.009617333, -0.14955042, -0.055736527, 0.16233777, 0.0103614135, -0.14040956, 0.015767315, -0.007984339, 0.0064604604, 0.15213339, -0.12978724, 0.2861079, 0.0028212029, 0.16278541, -0.1122923) * go_6(1.0, 1.0); + result += mat4(-0.0061184843, -0.031838052, -0.051234722, -0.074785165, -0.009608966, -0.028825626, -0.051854625, -0.03884438, -0.09737315, 0.06124026, -0.16118035, 0.049489763, 0.031762138, -0.059796542, -0.030683337, -0.030882046) * go_7(-1.0, -1.0); + result += mat4(0.012181786, 0.004366585, -0.012609928, -0.042036038, -0.10643622, 0.04410521, 0.11435428, -0.06195004, -0.2048646, 0.19842538, 0.013824749, -0.01820847, 0.12270244, -0.05726448, -0.06415889, -0.06265454) * go_7(-1.0, 0.0); + result += mat4(0.034773856, 0.043668557, 0.028441405, -0.04917985, 0.029363593, -0.061821178, 0.09651282, -0.04561685, -0.020005109, 0.08038572, 0.076856054, -0.03550914, -0.047259346, -0.15767749, -0.019841153, -0.16513592) * go_7(-1.0, 1.0); + result += mat4(-0.031791, 0.036102377, 0.11600808, 0.028740417, 0.06863318, 0.0041692764, -0.06392522, 0.18204354, -0.4317052, 0.21011995, -0.028950203, -0.007694737, 0.027255666, -0.07512291, -0.11292609, 0.013642943) * go_7(0.0, -1.0); + result += mat4(0.06278959, 0.09380407, 0.082746565, -0.29760537, -0.043065824, 0.016370568, 0.079557106, -0.053201187, -0.094427705, -0.054596122, 0.004544459, 0.12054741, -0.09854059, -0.069349565, -0.036913738, -0.15469205) * go_7(0.0, 0.0); + result += mat4(0.14663489, -0.17960148, 0.03322624, 0.19109198, 0.026789704, -0.08023296, 0.030463632, 0.03254673, 0.1904, -0.0013191487, 0.0076299817, -0.11531735, 0.008193399, 0.042752437, -0.0030691337, 0.12909001) * go_7(0.0, 1.0); + result += mat4(0.09794688, -0.12975737, -0.023997074, -0.04657822, -0.13094926, 0.022599585, 0.06573002, 0.018785113, -0.14989275, -0.03339479, 0.015797183, -0.030163066, 0.016669696, 0.012339601, -0.09658068, -0.050706554) * go_7(1.0, -1.0); + result += mat4(0.07808228, 0.010552677, -0.049303003, -0.054412544, 0.027788738, -0.02128306, -0.008772243, -0.11626967, -0.0059451363, 0.059564557, 0.03668662, 0.0065204557, -0.06601225, -0.04325997, -0.1147271, 0.07718216) * go_7(1.0, 0.0); + result += mat4(-0.025658295, 0.009463572, 0.121625826, 0.042721953, 0.029879777, 0.024093157, 0.044461224, 0.011403931, 0.010267983, -0.006153973, -0.030950828, -0.027995862, -0.1338415, 0.06795991, -0.1497057, 0.004472782) * go_7(1.0, 1.0); + result += mat4(-0.005003439, -0.0042471215, -0.07281907, 0.030383304, -0.024920132, -0.029222973, 0.0355648, -0.023904845, -0.017576102, -0.05567445, -0.068737954, -0.1147391, -0.10854249, -0.027572723, -0.04928351, -0.15432575) * go_8(-1.0, -1.0); + result += mat4(0.11052154, -0.08092761, 0.06868953, 0.087058865, 0.023298848, -0.0062330756, 0.056623273, -0.11425772, 0.035456464, 0.017425021, -0.100025, -0.05662614, 0.04228246, 0.054267693, -0.061284207, -0.10346116) * go_8(-1.0, 0.0); + result += mat4(-0.021792656, -0.047634892, 0.08760543, -0.046498872, 0.036893863, -0.022600487, 0.054273624, -0.032601845, 0.005220854, 0.029997228, -0.15759681, -0.08242428, 0.019006334, -0.09381743, -0.044560015, 0.078126356) * go_8(-1.0, 1.0); + result += mat4(-0.20072183, 0.07563903, -0.09425607, 0.007553963, -0.060172237, 0.026278604, -0.029217733, 0.09313036, 0.023479568, -0.13553078, 0.1683467, -0.007374523, 0.003166191, -0.0077507207, 0.016637675, -0.052360285) * go_8(0.0, -1.0); + result += mat4(0.2752123, 0.044519987, -0.092892624, 0.13307047, -0.20821007, -0.02074977, 0.050310906, -0.14781235, 0.005902824, 0.021458253, -0.11640657, -0.12320155, -0.076290004, 0.022268644, -0.14328197, 0.0927808) * go_8(0.0, 0.0); + result += mat4(-0.010012484, -0.011715113, -0.043138694, 0.061056998, 0.0003362302, -0.0272552, 0.07555357, 0.20783336, 0.062605925, 0.028317971, 0.006166934, 0.05402164, 0.07390474, 0.036011703, -0.032980483, 0.10582491) * go_8(0.0, 1.0); + result += mat4(0.104213916, -0.016458439, -0.041239027, -0.13531528, 0.08385529, -0.017395, -0.044829957, -0.057939503, 0.0188802, 0.058301643, 0.06601614, 0.024885748, -0.18671393, -0.038810052, 0.12703882, -0.056551658) * go_8(1.0, -1.0); + result += mat4(0.07424187, -0.022602623, -0.050902683, -0.025317585, -0.03829055, 0.024209173, -0.089947484, -0.03610775, -0.092263564, 0.012702685, 0.018980803, 0.037538566, -0.09253227, 0.109119035, 0.27267906, -0.15362985) * go_8(1.0, 0.0); + result += mat4(-0.0015341254, 0.010377879, -0.061633438, 0.035204124, -0.046594903, -0.050500665, -0.02577027, 0.09027708, 0.03151075, -0.012059609, 0.04879744, 0.06694882, 0.08893846, -0.01955382, 0.15465751, -0.027986312) * go_8(1.0, 1.0); + result += mat4(0.014668175, 0.10779777, -3.7527945e-05, 0.06709759, 0.06471768, -0.12120603, 0.018267836, -0.028828742, 0.094429776, -0.036151815, 0.02414468, 0.074969694, 0.1335824, -0.11747655, 0.08031944, 0.08868612) * go_9(-1.0, -1.0); + result += mat4(0.058471195, 0.09583385, 0.07594619, 0.018679913, -0.10134485, -0.11573404, -0.040815637, -0.0905552, -0.087376416, 0.010354827, -0.029292874, -0.10244565, -0.107486315, -0.08067197, 0.068188705, -0.020863827) * go_9(-1.0, 0.0); + result += mat4(0.13111079, 0.0012838852, -0.02666495, 0.038845398, -0.190199, 0.00279639, -0.043868463, -0.0068601943, 0.064012714, 0.046751637, -0.0077074827, -0.09633924, 0.0005454657, -0.055698857, -0.073002584, 0.13582216) * go_9(-1.0, 1.0); + result += mat4(-0.010974527, -0.026022714, 0.060965966, 0.0019768628, 0.11614995, 0.033684634, 0.048152138, 0.004971118, -0.13299273, -0.08726393, -0.016963622, -0.13285847, -0.09478473, 0.14827113, -0.11953486, -0.07091515) * go_9(0.0, -1.0); + result += mat4(0.0022101118, 0.07726036, 0.12660861, -0.21182461, -0.05118938, -0.21772741, 0.073271036, 0.09529552, 0.043627776, 0.07241113, 0.056153663, -0.03096679, -0.14461926, 0.24902643, 0.21091557, -0.11887145) * go_9(0.0, 0.0); + result += mat4(0.09159909, -0.046065293, -0.017285151, 0.05325168, -0.18035404, -0.13886565, 0.0059781303, -0.19588822, 0.036009684, -0.012165368, -0.04089957, -0.092371985, -0.017948762, -0.035148554, 0.00915531, 0.19850945) * go_9(0.0, 1.0); + result += mat4(0.023927797, -0.017236765, -0.056853727, -0.090297826, 0.08084101, 0.06567622, 0.075692646, -0.03552233, 0.03755616, 0.039734114, 0.136539, -0.038506575, -0.22664422, 0.0032904313, -0.07955965, 0.059305858) * go_9(1.0, -1.0); + result += mat4(-0.08070604, -0.009484972, -0.04267918, -0.027055666, 0.03867903, -0.0150039, -0.0059355353, -0.0068563074, 0.11567609, -0.063611336, 0.18691607, -0.039190844, -0.06318548, -0.10339472, -0.14465182, 0.08463286) * go_9(1.0, 0.0); + result += mat4(0.10437496, -0.00037948217, -0.07502755, 0.032370236, 0.024518723, 0.048723932, 0.014109043, -0.09101244, 0.07093021, -0.06826224, 0.021067007, -0.05104556, -0.003025575, 0.124921225, 0.08423182, 0.030358363) * go_9(1.0, 1.0); + result += mat4(0.023305072, -0.009160797, 0.037677288, -0.028397458, 0.050181143, -0.11805167, 0.023053521, -0.04789232, -0.10434621, 0.083697066, -0.00059397036, 0.05657816, 0.11026424, -0.019971285, -0.063336, -0.093887374) * go_10(-1.0, -1.0); + result += mat4(0.040132683, -0.069712006, -0.14402343, 0.13328306, 0.04453592, -0.10920082, -0.061864637, -0.023250371, -0.04792668, -0.23069763, 0.11491342, 0.049124923, -0.09377307, -0.0009923346, 0.037279267, -0.16158433) * go_10(-1.0, 0.0); + result += mat4(-0.00153717, -0.12700215, 0.00608027, 0.017930686, 0.015170375, 0.058537636, -0.022643825, -0.090274625, 0.00028158183, -0.04941672, 0.05637307, -0.04383224, 0.0018241775, 0.063655004, -0.023339272, 0.016919853) * go_10(-1.0, 1.0); + result += mat4(0.072573535, -0.043450154, -0.11402738, -0.13965322, 0.034946017, 0.049838394, -0.0801198, -0.093246214, -0.0061164005, -0.04461302, 0.010927035, 0.051007256, 0.030911477, 0.021943847, 0.0454368, -0.20229498) * go_10(0.0, -1.0); + result += mat4(-0.19903214, 0.0016282768, -0.05607518, 0.0814821, 0.0055653774, -0.060723253, -0.03150235, 0.051837593, -0.00812611, -0.014041741, 0.04306814, 0.008380368, -0.08304074, -0.08552964, -0.07987595, 0.08622592) * go_10(0.0, 0.0); + result += mat4(-0.23127824, 0.12295779, -0.0109891035, -0.021629026, -0.09384735, 0.10244903, 0.044111405, 0.004424371, 0.09216727, 0.013904141, 0.042929623, -0.09039094, 0.057333138, -0.0861863, -0.04734528, 0.038065672) * go_10(0.0, 1.0); + result += mat4(-0.07722156, -0.03744596, 0.048356563, -0.021000361, -0.066170536, -0.019655142, -0.06460627, 0.01321928, -0.071259156, 0.018575922, -0.08753065, 0.005541979, -0.08438988, -0.04617093, -0.051534776, -0.029054178) * go_10(1.0, -1.0); + result += mat4(-0.08996664, -0.099371605, 0.33096626, -0.14779766, 0.033203732, -0.020057553, 0.047346294, -0.09151647, -0.11274504, 0.060443968, -0.02567719, 0.024270521, 0.10343891, -0.0027090537, 0.2050693, -0.05112668) * go_10(1.0, 0.0); + result += mat4(0.036755078, -0.09491632, 0.16060267, -0.091196306, -0.025737653, 0.019911846, -0.017983688, 0.080934614, -0.0879894, 0.09994306, 0.056110743, -0.035007317, -0.06350233, -0.021852775, 0.13358839, -0.0626329) * go_10(1.0, 1.0); + result += mat4(0.039643206, 0.15961072, 0.07963999, 0.093470685, 0.06743535, -0.049586922, 0.016643282, 0.022365486, 0.088239655, -0.09364056, -0.02925469, -0.115170486, -0.041427363, -0.07434725, 0.03916273, -0.031712707) * go_11(-1.0, -1.0); + result += mat4(-0.03178281, -0.020474926, -0.24886844, 0.1170158, 0.014288611, -0.0139584355, 0.054201134, 0.027823552, -0.045476448, 0.043584794, 0.016997674, -0.13191022, 0.054788377, -0.062102176, -0.06971772, 0.023179475) * go_11(-1.0, 0.0); + result += mat4(-0.17749564, 0.084310785, -0.034437772, -0.08765134, 0.0192039, -0.074197926, 0.011375868, 0.024009971, -0.06834195, 0.012258987, 0.1118325, -0.12678291, 0.0729323, 0.12055763, -0.03159754, -0.032844577) * go_11(-1.0, 1.0); + result += mat4(0.06904989, -0.10043463, -0.006412566, 0.052953586, -0.0009239817, 0.0047698636, 0.023104124, -0.08240751, -0.041743282, -0.16257025, -0.011366153, 0.01780265, 0.024689162, -0.061389487, 0.028853321, 0.06746509) * go_11(0.0, -1.0); + result += mat4(0.09653064, -0.10104088, -0.047921777, -0.103844725, 0.026677186, 0.02747027, 0.0006117518, 0.11155599, 0.01759024, 0.041740566, 0.09151603, -0.01213971, 0.10025652, 0.020672945, -0.09848558, 0.086546615) * go_11(0.0, 0.0); + result += mat4(-0.0155723775, 0.074720785, 0.21501018, 0.090717055, -0.05537873, 0.047770448, 0.058052957, 0.118154205, -0.015956735, 0.06266934, -0.001474061, -0.016232431, -0.046418842, 0.120745674, 0.041462313, -0.22532389) * go_11(0.0, 1.0); + result += mat4(0.25257114, 0.15323398, -0.015901398, 0.047883037, 0.025636502, -0.0007283019, 0.11184055, 0.07190504, 0.23190252, 0.03137777, -0.046910405, 0.0067116767, 0.06200013, -0.10154448, 0.05524142, -0.041579235) * go_11(1.0, -1.0); + result += mat4(-0.0649064, 0.1671053, -0.08754854, -0.0689915, -0.07679747, -0.10931627, 0.00013489556, -0.0055395095, 0.07592996, -0.03221985, 0.0023118665, 0.089309424, -0.040053, 0.02768343, 0.022948736, -0.1343042) * go_11(1.0, 0.0); + result += mat4(0.115581974, 0.33207062, -0.12565844, -0.1068839, -0.03873016, -0.09265269, -0.038312662, 0.062069796, 0.04194856, -0.061137326, -0.089199916, 0.012745198, 0.08194386, 0.03941352, -0.07383738, -0.004222678) * go_11(1.0, 1.0); + result += vec4(0.10673879, 0.05404629, 0.042892203, -0.0626416); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x88 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_9_tf3 +//!BIND conv2d_9_tf4 +//!BIND conv2d_9_tf5 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.018240726, -0.023228848, -0.037755717, 0.009697539, -0.06391762, -0.22754766, 0.32287842, 0.0321051, -0.081117265, 0.09789689, 0.13194586, 0.033958163, -0.16528013, 0.25348902, 0.013538278, -0.122477636) * g_0; + result += mat4(0.21895553, 0.32368854, 0.09295876, 0.008549726, -0.17221816, -0.009608649, 0.008025734, -0.12808394, 0.095984474, -0.055960163, 0.1857312, -0.01410566, -0.29036984, -0.11915815, -0.22480978, -0.010984804) * g_1; + result += mat4(0.021460485, -0.069948144, -0.20457397, -0.06368738, 0.041937023, 0.058391638, 0.08521619, -0.14939685, -0.17603025, -0.2704823, 0.1297126, 0.08506167, -0.036500573, -0.15101454, 0.2705927, -0.11495338) * g_2; + result += mat4(-0.015002146, -0.11097708, -0.04153528, 0.009949436, 0.05756999, 0.0021354982, 0.011803671, -0.059338056, 0.14856763, 0.1583689, -0.18323529, -0.061641436, -0.15716806, -0.0712248, -0.26153558, 0.1281614) * g_3; + result += mat4(0.12309243, -0.019010289, -0.48949012, 0.22548608, 0.06878324, 0.06457863, -0.16647714, -0.19459985, -0.2501109, -0.1472345, -0.04101737, 0.30518964, 0.07157429, 0.03916779, 0.17215528, -0.27554017) * g_4; + result += mat4(0.04666684, 0.21871185, -0.06709083, -0.05889728, 0.16164586, 0.057062894, 0.13912962, 0.02538998, 0.28736678, -0.11419385, 0.06581755, 0.17950252, -0.0021713986, -0.21133782, 0.18057212, -0.13002412) * g_5; + result += mat4(0.07720478, -0.059798796, 0.10859078, -0.054959364, -0.17407586, 0.12507877, -0.03956437, 0.13279653, 0.10017548, -0.29822072, -0.023122882, 0.09967618, 0.09163447, -0.26512557, -0.019125078, -0.26062354) * g_6; + result += mat4(0.007360602, -0.05319189, 0.26773262, 0.21440737, 0.041763037, -0.0078692185, 0.104448885, 0.10134778, -0.0907065, 0.024284367, 0.003045257, -0.047127664, -0.25469595, -0.028164914, -0.043226935, 0.057833903) * g_7; + result += mat4(0.055060904, 0.12964465, 0.0100004645, 0.11081481, -0.18145356, -0.06301884, 0.002863084, -0.09317529, -0.032467086, 0.053214524, -0.20222305, -0.17389554, -0.02374549, 0.081627876, 0.13586336, -0.13289934) * g_8; + result += mat4(-0.12577327, 0.10578063, 0.2519808, 0.026089173, 0.10365033, 0.2503572, 0.08068646, -0.13609827, 0.0993266, -0.18147932, -0.24582084, -0.0027736255, 0.22986256, 0.0027441771, -0.2843601, -0.24845399) * g_9; + result += mat4(0.407128, 0.02000054, -0.025044682, -0.07539943, 0.123638265, 0.13025928, 0.06359813, -0.06765932, 0.25122678, -0.07864227, -0.2603126, -0.4042432, -0.14067987, -0.23111042, 0.22302234, 0.2521762) * g_10; + result += mat4(-0.1394529, -0.31797844, -0.19563127, 0.06399499, 0.10406692, 0.12298246, -0.08451652, 0.067356326, -0.10545609, 0.1542806, -0.09520273, -0.4893699, 0.016285073, -0.05184254, 0.01668572, 0.28672934) * g_11; + result += mat4(0.18358573, 0.07086077, 0.081096895, 0.08466328, -0.037679147, -0.010346395, -0.10832653, 0.24460128, -0.035456736, 0.20034707, -0.09119996, 0.026973516, 0.018956725, -5.4123822e-05, -0.022495521, 0.022271384) * g_12; + result += mat4(0.2034902, -0.33097568, -0.06138338, 0.0043093674, 0.2108118, 0.07654584, 0.12894695, 0.06086084, 0.09708061, 0.08280423, 0.03982084, -0.013282445, 0.1286689, -0.014037032, -0.028497966, 0.3555501) * g_13; + result += mat4(-0.07103243, -0.13886544, -0.14505245, -0.16215186, 0.19933704, 0.20801912, 0.11129495, -0.060560636, 0.022709953, 0.030686028, 0.048585244, -0.1738981, -0.27648082, -0.05651471, -0.45279422, -0.110658295) * g_14; + result += mat4(-0.010698494, -0.014529519, 0.06092168, -0.13276085, -0.31590307, -0.034779727, 0.13390115, -0.2154148, 0.31362757, -0.16912729, -0.17177378, 0.04694781, 0.2817023, -0.20776759, 0.051466487, 0.0033499447) * g_15; + result += mat4(0.14116827, -0.004569741, -0.34971637, 0.14838621, -0.23526837, 0.12044124, 0.24962978, -0.47152176, 0.42074892, -0.08043922, -0.029038593, -0.0067655854, -0.074845135, -0.06440738, 0.19292484, 0.22176756) * g_16; + result += mat4(0.1824485, 0.14171454, 0.17320803, 0.12185365, 0.114776775, 0.06394961, 0.26359382, -0.4180487, -0.16079833, 0.0073073236, -0.12868631, -0.15573654, -0.07210191, -0.012453217, -0.14852667, 0.016012993) * g_17; + result += mat4(-0.0665514, -0.23494612, 0.098041154, -0.13429102, -0.09597223, -0.02225127, 0.3641938, -0.11276776, -0.116225325, -0.09660111, 0.24925885, 0.26824257, -0.013628071, -0.024492549, 0.056771886, -0.039691154) * g_18; + result += mat4(0.1038324, -0.13783209, -0.29168722, -0.13033277, -0.111158535, -0.12511612, -0.08763829, 0.05513153, 0.0047156885, 0.13744187, 0.07963748, 0.00240008, -0.13253629, 0.019641487, -0.113318674, 0.11268771) * g_19; + result += mat4(0.017130049, -0.050066452, -0.1321411, 0.12105113, -0.19122683, 0.12728047, -0.11631363, 0.11703079, -0.16408561, 0.073255256, 0.18040007, -0.027916772, 0.117218666, -0.18100376, -0.059619226, -0.10517939) * g_20; + result += mat4(-0.21253966, 0.2606339, 0.10612866, 0.1311986, 0.19595386, 0.07200261, -0.22423409, -2.2849147e-06, 0.28697285, 0.036045954, -0.19823448, -0.054925486, -0.12410156, 0.30472383, 0.2330069, -0.12509976) * g_21; + result += vec4(0.022758514, -0.03611776, 0.0064447913, 0.00068006525); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x88 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_9_tf3 +//!BIND conv2d_9_tf4 +//!BIND conv2d_9_tf5 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf1 +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.27487782, 0.18671569, 0.014598359, -0.10942123, 0.06431285, 0.13095526, 0.16187827, -0.05404472, 0.06109171, 0.12339281, 0.037517212, 0.022657571, 0.057030313, -0.008228847, -0.072607644, 0.03075785) * g_0; + result += mat4(-0.11736518, 0.19170946, 0.38883322, -0.04370131, 0.08346483, 0.10550525, 0.07936755, 0.028102577, 0.01148332, -0.11665535, 0.06383731, -0.14827923, 0.11657963, 0.077285066, -0.0977731, -0.061747603) * g_1; + result += mat4(0.24491212, 0.058865275, -0.25556007, -0.041585945, 0.3193469, -0.05451695, -0.001404186, -0.13020252, 0.07431936, 0.2289785, -0.10098844, 0.023408994, -0.23390095, 0.22575194, -0.025926162, -0.021137672) * g_2; + result += mat4(-0.34047288, -0.16864823, -0.091643326, 0.12608078, -0.06984128, 0.27387246, 0.05079481, -0.08338553, 0.2120012, 0.14819127, -0.033582117, -0.24173228, 0.047510203, -0.1803568, 0.053134385, 0.087940834) * g_3; + result += mat4(0.02928209, 0.22820388, -0.4671619, -0.031732026, -0.057300556, 0.004144317, 0.10569882, -0.020268245, -0.3543468, -0.13405709, -0.08611896, 0.18175112, -0.120712005, 0.14141698, 0.20102608, 0.23618817) * g_4; + result += mat4(0.066653736, -0.059595298, 0.15454593, 0.21592279, 0.27390355, -0.11746084, -0.049416482, -0.29596555, -0.054056685, 0.124672204, 0.057716236, 0.10225304, -0.09174892, 0.19980122, -0.05336024, 0.055571303) * g_5; + result += mat4(-0.18484752, -0.36230278, 0.049307425, 0.12563172, -0.024801265, -0.022736475, -0.11068124, 0.2804873, 0.12878488, 0.13737386, -0.3159429, 0.14334643, 0.30960616, 0.19170786, -0.19692647, 0.3274579) * g_6; + result += mat4(0.0033271008, 0.01712824, -0.14945795, 0.15134253, 0.072035566, 0.063491106, -0.040498145, -0.27111852, 0.09643232, -0.21030812, 0.02619506, -0.006282209, -0.043037314, -0.24948022, -0.0960549, 0.08886981) * g_7; + result += mat4(-0.1683291, 0.004775721, 0.19721816, -0.0016262251, 0.04053106, 0.019257752, -0.036447894, -0.016047643, 0.18024184, -0.010098442, 0.060056653, 0.21040897, 0.06810947, 0.16518652, 0.10927958, 0.015990514) * g_8; + result += mat4(0.17782916, -0.019990172, -0.04214169, -0.044349745, -0.096376285, -0.17118435, -0.0046379915, -0.33545214, 0.27945635, -0.08301872, 0.20809698, -0.2167783, -0.2896225, 0.25324273, -0.1393815, -0.1035578) * g_9; + result += mat4(-0.11153186, 0.08945358, -0.19106413, -0.070531435, 0.20065232, 0.22111228, 0.31270432, 0.029758435, -0.06838312, 0.124104455, 0.016042404, -0.15672235, 0.25810337, -0.14822677, 0.056693383, -0.102702715) * g_10; + result += mat4(-0.5346728, -0.010835411, -0.19025792, 0.20262082, -0.2937675, 0.0636634, 0.051419638, 0.3031389, -0.024283586, 0.114449784, -0.06731985, 0.033319853, -0.18419428, -0.05939938, -0.004707921, 0.06668735) * g_11; + result += mat4(0.037002433, -0.093464166, -0.09644219, -0.07630172, 0.051610224, -0.13968097, 0.24660867, -0.07587348, 0.040383674, -0.16485368, 0.020389866, 0.20876431, -0.27873826, -0.112587206, -0.072660305, -0.04472093) * g_12; + result += mat4(-0.06779488, 0.16197906, 0.06188925, -0.008886099, 0.24061024, -0.05935547, -0.005190499, 0.038443245, 0.09116801, -0.079416126, -0.07764381, -0.24856304, 0.32130104, -0.1689679, 0.2610274, -0.19916224) * g_13; + result += mat4(0.084091805, -0.009050908, 0.0428426, -0.22958456, 0.09502613, -0.079103395, -0.0072180657, 0.07783402, -0.08293811, -0.03740794, -0.2847399, 0.06101355, -0.025973216, 0.0043736286, -0.09274589, -0.03786617) * g_14; + result += mat4(-0.054818746, -0.058793657, 0.16997126, 0.08030429, 0.06598645, -0.11494638, -0.13028891, -0.05864371, -0.035407092, -0.10433668, -0.18799901, 0.0070647947, 0.12834336, -0.07709033, 0.07298517, -0.052353203) * g_15; + result += mat4(-0.022882696, -0.0670688, -0.14851306, -0.06401987, 0.078636736, 0.51110995, 0.024791796, -0.061570935, -0.115464, 0.04116418, 0.054929867, 0.01905232, 0.06346473, 0.22244757, 0.19133015, -0.10632591) * g_16; + result += mat4(0.08766506, 0.0026022529, 0.14686164, 0.080684945, 0.44264203, 0.34035525, 0.071974285, -0.09354271, 0.045810618, 0.03615794, -0.23397596, -0.052015793, 0.046337537, -0.14722544, 0.16304798, 0.122426964) * g_17; + result += mat4(0.1585944, 0.16835997, -0.39288864, -0.11356811, -0.368774, -0.01703612, -0.29590556, 0.0009732469, 0.05849885, 0.19281316, -0.18295161, 0.052255064, 0.16215171, 0.15769695, -0.07581377, 0.29655725) * g_18; + result += mat4(-0.2632724, -0.043094896, 0.23100272, -0.15726788, 0.31514347, -0.016838718, 0.07559306, -0.09395952, 0.2679746, -0.0211063, -0.042562332, 0.12023959, -0.22845441, -0.04967498, -0.1734489, -0.021029461) * g_19; + result += mat4(-0.12129031, -0.24458979, 0.05676389, 0.44583562, -0.38308915, -0.08873493, 0.09653457, -0.017415477, 0.16643335, 0.049770217, -0.026928242, 0.032578394, 0.10163162, -0.06586171, -0.03279269, 0.0011147729) * g_20; + result += mat4(-0.021562686, 0.13768315, 0.014967394, 0.12019759, 0.21548302, -0.053921327, 0.21206903, -0.09338285, 0.26822838, -0.16232637, -0.032934565, -0.25873, -0.033419203, -0.16388978, -0.3022585, 0.19349702) * g_21; + result += vec4(-0.029419709, -0.051388465, 0.032251272, 0.006132939); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x88 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_9_tf3 +//!BIND conv2d_9_tf4 +//!BIND conv2d_9_tf5 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf2 +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.08458906, -0.045548566, -0.10978095, -0.047000825, -0.009786269, -0.011293472, 0.105108716, 0.2910591, -0.013156543, -0.27344525, -0.023291195, 0.07908779, -0.027045839, 0.071613476, -0.3137018, 0.13338767) * g_0; + result += mat4(-0.28876805, 0.22697273, -0.20825712, -0.16558835, 0.07140026, -0.111653306, -0.18168612, 0.08566776, 0.017613843, 0.1612815, 0.30276966, -0.20298769, 0.09009318, -0.034424078, 0.06065636, 0.16040413) * g_1; + result += mat4(0.05867395, -0.06784011, 0.124088526, -0.10969516, -0.11331259, -0.002973524, 0.11179402, 0.0051524965, -0.08812763, 0.13521312, 0.21501167, 0.07731858, 0.012728372, -0.10567223, 0.22674152, -0.27934498) * g_2; + result += mat4(-0.02090283, -0.022435555, -0.032363184, 0.1468986, 0.02465703, -0.1274767, -0.13416417, 0.09719175, 0.028444616, 0.43590242, -0.0026427982, -0.14670907, 0.06547671, -0.0364002, -0.3601176, -0.12617487) * g_3; + result += mat4(-0.001833205, -0.25144672, 0.2733562, 0.1314548, 0.2404573, -0.08306562, -0.051376957, -0.22175321, 0.059513494, 0.08910989, 0.13955326, 0.17420472, -0.12255514, 0.10941854, 0.33097896, 0.42308313) * g_4; + result += mat4(0.28040674, -0.08416738, -0.096258685, 0.028955044, -0.080570556, -0.05523723, -0.114000015, -0.23623861, 0.2672264, -0.050743762, -0.047196355, -0.20179898, 0.23441824, 0.2783142, 0.05851139, 0.13421243) * g_5; + result += mat4(0.035536747, -0.0678093, 0.31716034, -0.0426406, 0.21573278, -0.27805597, -0.1303578, -0.0040549343, 0.36113667, 0.23618573, 0.08076673, -0.09356886, 0.16183415, -0.07026038, -0.042547043, -0.09353161) * g_6; + result += mat4(0.17357092, 0.15503445, 0.09806117, 0.029178388, -0.104631364, -0.041340955, -0.0138095915, -0.18791881, -0.012838156, -0.07531211, -0.047425177, 0.032766186, -0.17878921, 0.044547506, 0.020943025, -0.14078479) * g_7; + result += mat4(-0.20356365, 0.30711046, -0.09476413, 0.039315, -0.09745359, 0.06334827, -0.040607564, -0.18709438, 0.041945547, -0.007845949, 0.046563085, 0.1600018, 0.051986653, -0.15268685, 0.05963624, 0.32689095) * g_8; + result += mat4(0.15796256, 0.119560085, -0.097539894, -0.2437361, -0.22178903, 0.12989672, -0.03343675, -0.10420719, 0.123599604, 0.07092632, -0.10071645, 0.10339369, 0.19539836, 0.06069522, -0.016500194, 0.119013496) * g_9; + result += mat4(0.04409632, -0.24597782, 0.17819872, 0.013527225, 0.095, 0.10927752, -0.057812016, -0.021960432, -0.090907395, -0.11064963, 0.24494053, -0.21103893, 0.103177205, 0.030693118, -0.17225249, 0.07037569) * g_10; + result += mat4(0.118446834, -0.24679066, -0.14558293, 0.043784406, 0.3350531, -0.18761784, -0.102111734, 0.25430822, -0.0646614, -0.0583482, -0.08839935, 0.3168981, 0.0494778, -0.20223978, -0.2115357, -0.22018467) * g_11; + result += mat4(-0.2534852, 0.32339612, 0.07270645, -0.011030359, 0.08920039, 0.017263435, -0.01874008, 0.07719922, -0.020826634, -0.14347431, 0.27981552, 0.03904678, -0.42448956, -0.064080186, 0.09288264, -0.027479073) * g_12; + result += mat4(0.039590076, 0.07196033, -0.31280693, 0.24355434, -0.17980134, 0.15838742, 0.25616613, -0.057677414, -0.10442752, -0.020222804, 0.11435109, 0.20502312, 0.26433223, -0.00088657736, 0.46070856, 0.07778242) * g_13; + result += mat4(-0.11134918, 0.042227045, -0.2372263, 0.0036231377, 0.038029823, -0.059270848, -0.17764676, 0.029884227, 0.105741605, -0.09559035, -0.15077686, 0.050598737, 0.09693952, 0.041702244, 0.18962328, 0.088337086) * g_14; + result += mat4(-0.11884088, 0.028897036, 0.16024508, -0.105453186, 0.074528895, 0.0020912525, 0.10682421, 0.0020874685, -0.116808906, -0.19607912, 0.027745381, 0.08307784, 0.01938885, 0.086835325, 0.054351103, -0.034016903) * g_15; + result += mat4(0.18121108, -0.06029793, 0.21373494, -0.007983294, -0.1457712, -0.056918383, 0.19265617, -0.04419998, -0.23829523, -0.04557198, -0.13232914, 0.15803981, 0.22176561, -0.115885, -0.0022589006, -0.04921306) * g_16; + result += mat4(-0.033309873, -0.013707254, -0.14320348, -0.1340651, -0.1276264, -0.20742168, -0.15771109, -0.04302339, 0.2474691, -0.0071554068, 0.19327043, 0.0034425415, -0.12281466, 0.08008345, -0.16869386, 0.11770986) * g_17; + result += mat4(0.022218548, 0.12861203, -0.11477767, 0.033912715, -0.083030604, 0.025131695, 0.12323128, -0.15532357, -0.03170147, 0.1692707, -0.28667265, -0.27277988, 0.07428763, -0.10514385, 0.120484896, -0.24011889) * g_18; + result += mat4(-0.07960741, -0.21583335, -0.06945787, -0.043556266, -0.24026866, 0.081503086, -0.035037458, -0.066688865, 0.17150764, -0.020859774, -0.09971474, 0.19070682, 0.11626562, 0.26741263, 0.21771777, 0.08071578) * g_19; + result += mat4(-0.20892513, -0.11934624, -0.27238977, -0.25402215, -0.1657022, -0.025967792, -0.18414563, -0.10561174, -0.24274185, 0.04068036, -0.12646407, 0.14470865, -0.14468817, 0.0036746184, 0.18668495, -0.010208388) * g_20; + result += mat4(0.27423638, -0.1557262, 0.23233625, 0.29515898, 0.016182564, 0.33365154, 0.00833455, -0.008295928, 0.2103007, 0.38919896, 0.17985278, 0.20100696, 0.41522792, -0.20303713, -0.017147776, -0.0649312) * g_21; + result += vec4(0.007557919, -0.015767513, -0.037968982, -0.034609392); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x88 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_9_tf3 +//!BIND conv2d_9_tf4 +//!BIND conv2d_9_tf5 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf3 +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.019602967, -0.05145609, 0.04244019, 0.25405738, -0.33712572, -0.17893799, -0.066478856, 0.15569499, -0.27161816, 0.12593569, -0.05901425, -0.13174452, -0.11021793, 0.03920678, 0.060773216, -0.021032797) * g_0; + result += mat4(-0.12685195, 0.024931995, -0.22060166, -0.23765254, -0.15206909, 0.052627444, -0.054144315, 0.1210148, 0.1602431, 0.026197273, 0.110542305, -0.073509805, 0.047236316, 0.044307224, 0.014555091, 0.10564006) * g_1; + result += mat4(-0.09860682, 0.019021804, 0.1671445, 0.042727083, -0.16453904, 0.101818964, 0.03915569, 0.37744778, -0.009018904, -0.009364516, -0.121752, -0.1430464, -0.11879523, 0.15660012, 0.092872, 0.008389549) * g_2; + result += mat4(0.09203148, -0.19622965, 0.10806049, 0.032417808, -0.06358329, 0.053477164, -0.0033462588, -0.1622076, -0.22893262, -0.15781075, -0.1675613, 0.2557495, -0.108154416, 0.00092219823, -0.18630715, 0.17942573) * g_3; + result += mat4(-0.07604931, 0.24687444, 0.10485161, -0.0032204043, 0.2355443, 0.07362102, -0.20874, 0.04919508, 0.019878346, -0.035358075, 0.19044363, 0.10661991, 0.12998112, 0.10245926, -0.02966564, -0.21623161) * g_4; + result += mat4(-0.13730675, 0.011630983, 0.05381945, -0.06594779, -0.20880567, -0.16293554, 0.12331983, -0.07883885, -0.12325015, 0.03357514, -0.21320228, 0.09743771, -0.29196948, 0.07080584, 0.18549103, -0.10713538) * g_5; + result += mat4(-0.028444685, 0.13853551, 0.19415158, -0.02389972, -0.04180172, 0.014012021, 0.09578899, -0.092844814, 0.27863276, -0.073668964, 0.14896569, 0.178071, -0.24466358, -0.11134794, 0.13081808, 0.14496848) * g_6; + result += mat4(-0.1556054, -0.13415574, -0.09857606, 0.30523264, 0.08764274, -0.037559148, -0.16858782, -0.11990224, 0.17670709, 0.10452295, 0.09820371, 0.085555285, 0.14616655, -0.064138934, -0.06468503, 0.18437701) * g_7; + result += mat4(-0.024759063, -0.007020983, -0.25910473, -0.16003223, 0.0006832176, -0.21500164, 0.18051593, -0.21023016, 0.21901055, -0.012773149, 0.11869215, 0.043327942, -0.08801425, -0.09576547, -0.022282854, 0.3436183) * g_8; + result += mat4(-0.12599704, 0.1573739, -0.18289468, 0.031533517, 0.052889764, -0.2899998, -0.06888571, 0.024767991, 0.1449007, 0.13209689, 0.28273448, -0.013996074, -0.031406544, 0.12544149, -0.047050513, 0.10494411) * g_9; + result += mat4(-0.11651752, 0.28501326, 0.060793746, -0.1883375, 0.26459783, -0.06930145, 0.28831685, -0.13368587, -0.10180277, -0.068450116, -0.09070248, 0.16990706, -0.035528105, 0.08474028, -0.031924196, 0.0828799) * g_10; + result += mat4(-0.17398041, -0.13055407, 0.0637754, -0.20454763, 0.081867374, 0.22947273, -0.06115945, 0.14527729, 0.3462909, 0.171278, -0.18330246, 0.045597162, -0.041992005, -0.0065232897, -0.09864108, 0.00873217) * g_11; + result += mat4(-0.012977971, 0.16809268, -0.16662882, -0.37359142, -0.028308313, 0.11063376, -0.12019489, 0.13814619, 0.063988656, 0.22554557, -0.08410297, -0.0913463, -0.029542763, 0.15869254, -0.0021580574, 0.17143992) * g_12; + result += mat4(0.08960112, -0.34852883, 0.3086523, 0.36042222, 0.05802867, -0.035582196, -0.01600274, 0.008117766, -0.008915955, 0.10546812, 0.038216136, -0.14320342, 0.18713285, -0.08814888, -0.0147240935, -0.0076010344) * g_13; + result += mat4(-0.50983155, -0.040480338, -0.015697489, -0.020704566, 0.14625196, -0.07928827, 0.10175586, -0.006522381, 0.20132822, -0.017236393, 0.42775294, 0.29241857, -0.15762952, 0.1366608, 0.041226275, -0.021501385) * g_14; + result += mat4(0.037395936, 0.15184547, -0.053403616, 0.06780214, -0.08231112, -0.30428946, -0.1273035, 0.21938033, -0.15715978, -0.046725, 0.25453484, 0.07395502, 0.07715246, 0.03596223, -0.093663685, 0.096829675) * g_15; + result += mat4(-0.09069946, 0.27910122, -0.057103194, 0.1052261, -0.053569946, -0.018461138, -0.039887205, -0.20134343, 0.24427019, 0.07117475, 0.21163048, -0.14486235, 0.0018477996, -0.219897, -0.09160915, -0.028700631) * g_16; + result += mat4(0.03186668, -0.042110894, -0.06872467, 0.015007692, -0.12133147, -0.20203532, -0.14033763, -0.09270293, -0.13041773, -0.066198066, -0.20825256, -0.17211214, 0.15924487, 0.04158315, 0.1586535, 0.08482204) * g_17; + result += mat4(-0.25748026, -0.19240272, -0.09985262, 0.010599122, -0.28925768, 0.09412584, 0.29553664, -0.035109073, -0.09598807, -0.16096024, -0.0535374, -0.35389316, 0.235558, -0.015157362, 0.07283362, 0.095931105) * g_18; + result += mat4(0.13491848, 0.017084226, 0.18945768, 0.117540136, 0.2557805, -0.029065477, 0.1451515, -0.08317802, -0.057725884, 0.22283138, 0.13996813, 0.19705944, -0.2921995, -0.080231175, -0.27066326, -0.0482235) * g_19; + result += mat4(-0.051322196, -0.40912375, -0.14924087, 0.033685323, 0.041344143, 0.055450242, 0.09305712, -0.034863934, -0.102900185, -0.11097147, -0.065564185, 0.11914823, 0.2890554, -0.09894942, 0.053307623, -0.05579918) * g_20; + result += mat4(-0.213933, 0.090429194, 0.084889874, -0.21953723, -0.27030995, -0.14362201, -0.19741529, -0.0833757, 0.23496687, 0.3228457, 0.29274747, 0.117888294, -0.048562698, 0.1290755, 0.09031278, -0.06844491) * g_21; + result += vec4(0.12783583, 0.053930607, -0.055463474, -0.14634338); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x88 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_9_tf3 +//!BIND conv2d_9_tf4 +//!BIND conv2d_9_tf5 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf4 +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.085369416, -0.15684304, -0.13306437, -0.090675324, 0.07001203, 0.042601265, -0.045776606, 0.038092162, 0.3352239, 0.1771388, -0.18876538, -0.006706726, 0.16373621, 0.25545865, -0.16266474, 0.24038056) * g_0; + result += mat4(-0.14294663, -0.26456648, 0.25277606, 0.060462173, -0.078849405, -0.09209792, -0.1693239, -0.18630522, -0.014867209, 0.103692755, 0.14898701, 0.046629176, 0.024372628, 0.16875252, -0.15838362, -0.040581323) * g_1; + result += mat4(-0.14351358, 0.18334064, -0.10826993, 0.18453784, 0.11304891, -0.03537591, -0.0066316077, -0.0013244748, -0.078686886, 0.12878294, -0.032346953, 0.09220158, 0.17955816, 0.18110012, -0.022541158, -0.056274466) * g_2; + result += mat4(-0.051650286, -0.098697364, 0.08296607, -0.0024960893, -0.093507074, -0.066408254, 0.17999014, 0.14308663, -0.0108735245, -0.13364671, -0.02929436, -0.23579551, 0.046282418, -0.131284, 0.052697252, -0.0419363) * g_3; + result += mat4(0.1754224, -0.11919244, -0.1885955, -0.19994752, -0.14402874, -0.17087972, -0.09000405, 0.0018777894, -0.05090923, -0.07121361, 0.10294247, 0.026922463, 0.014392331, -0.03248051, 0.009739078, 0.31159627) * g_4; + result += mat4(0.13837712, 0.15520355, -0.14125966, 0.09480141, -0.067623354, -0.02482682, 0.15788238, 0.3214408, -0.2643569, -0.040410206, -0.051892046, -0.057043463, 0.18232885, 0.19971256, -0.0956208, 0.23722707) * g_5; + result += mat4(0.016028238, -0.08332774, -0.11755386, 0.21787633, -0.22682859, -0.019670114, 0.04961192, 0.23987772, 0.15335025, 0.13612296, -0.01693323, 0.011952209, -0.3059259, 0.017340606, -0.07829871, 0.089332424) * g_6; + result += mat4(-0.37531942, -0.045622103, -0.20052142, 0.025810266, 0.09413211, 0.056469247, 0.0033650927, 0.20752242, 0.077076204, -0.10665101, 0.12946871, 0.11152074, -0.0077144187, 0.050461795, 0.09886446, 0.08139971) * g_7; + result += mat4(-0.03805296, -0.3470507, 0.28351876, 0.121408775, 0.119826116, 0.50992435, -0.06502164, 0.15930907, 0.10803227, 0.16217098, 0.032394126, 0.08210439, 0.039388526, 0.123406455, 0.08190563, 0.29731047) * g_8; + result += mat4(0.036232114, 0.098707214, 0.08512323, 0.28130695, -0.34401244, -0.16329831, 0.04697471, -0.32552102, 0.16708755, -0.0027450684, 0.22314417, -0.034509923, -0.23747928, 0.13334718, -0.20790295, -0.13229762) * g_9; + result += mat4(-0.09985405, 0.1217619, -0.15892437, 0.0896462, -0.19392657, -0.23446624, -0.14154576, -0.041264284, 0.0042809956, 0.06508634, -0.01017789, 0.015765704, 0.059713606, -0.08648103, -0.14761575, -0.078500696) * g_10; + result += mat4(-0.23650993, 0.6093473, -0.21706295, -0.07720968, 0.20827857, 0.44513646, -0.107045025, -0.033600613, 0.014263266, -0.10306615, -0.026285734, 0.014794844, -0.11126778, -0.28632736, 0.18140377, -0.026450366) * g_11; + result += mat4(-0.11553207, -0.22439374, 0.31865847, -0.18898615, -0.13782051, -0.16033193, -0.021633865, -0.27643433, 0.22693352, -0.29244474, -0.015831951, 0.0687026, 0.102418706, -0.33087376, 0.2023287, -0.105282284) * g_12; + result += mat4(-0.034931872, 0.09946529, -0.13103552, -0.062213715, -0.15901782, -0.38695586, 0.22993153, -0.028414402, 0.2567039, 0.3477113, 0.021467375, 0.18368858, 0.31393996, 0.0592541, 0.20478922, 0.2784516) * g_13; + result += mat4(0.01799271, 0.19488642, 0.11242015, -0.22955132, -0.23888321, -0.22094306, 0.09417609, 0.11446179, -0.0079179555, -0.018179458, -0.042231873, -0.058901574, 0.1643617, 0.09013122, -0.11941602, 0.07102288) * g_14; + result += mat4(-0.11062226, -0.12371038, -0.20077015, -0.00089137297, 0.23280777, 0.20893154, 0.058997855, 0.05910376, 0.10964983, 0.08948893, -0.10008929, -0.09328607, -0.16772552, -0.0853413, -0.14602263, -0.10898542) * g_15; + result += mat4(0.195481, -0.27274716, 0.019802367, 0.090690926, 0.24005474, 0.10449332, 0.038418755, 0.08757919, -0.1915846, 0.13781285, -0.08271653, 0.048500787, -0.35495785, 0.2332735, -0.089916445, -0.045998074) * g_16; + result += mat4(-0.18144973, 0.035474263, 0.07927232, -0.02095586, -0.04264259, -0.0010760617, -0.09657631, -0.009819116, 0.075253725, -0.043196574, -0.107321955, 0.13470802, -0.026763562, -0.23883738, -0.22906674, 0.010300531) * g_17; + result += mat4(-0.04512939, 0.2671829, -0.33687657, 0.087930106, 0.29693905, 0.11120111, -0.10967137, -0.072849795, -0.04814717, 0.17015213, -0.12041813, 0.034130402, 0.08712948, -0.018699426, -0.103492275, 0.051607467) * g_18; + result += mat4(0.066338874, -0.11700618, 0.20888169, -0.00036208666, -0.0027271865, -0.0078573795, -0.18614855, 0.039184168, 0.15719953, -0.011559825, -0.042109553, 0.01807291, 0.11502362, -0.03629767, 0.021261917, -0.11922495) * g_19; + result += mat4(-0.5144418, 0.059783865, -0.25726122, -0.46498007, 0.042682044, 0.10820562, -0.057476927, 0.01971749, -0.10208486, -0.17488515, 0.20830333, 0.09561035, -0.066455886, 0.0572077, -0.062440347, 0.047606003) * g_20; + result += mat4(0.4270871, 0.3251775, 0.33070606, 0.21848439, 0.032633763, -0.4511691, 0.21410948, -0.12868443, 0.030835679, 0.054710764, 0.1886484, -0.2683438, -0.0776137, 0.24714139, 0.17632207, 0.097902626) * g_21; + result += vec4(-0.12784827, 0.05878478, -0.019919237, 0.06345429); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x88 +//!HOOK MAIN +//!BIND conv2d_9_tf +//!BIND conv2d_9_tf1 +//!BIND conv2d_9_tf2 +//!BIND conv2d_9_tf3 +//!BIND conv2d_9_tf4 +//!BIND conv2d_9_tf5 +//!BIND conv2d_11_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!SAVE conv2d_12_tf5 +//!WIDTH conv2d_9_tf.w +//!HEIGHT conv2d_9_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_1 (max((conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_9_tf_tex(conv2d_9_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_9_tf1_tex(conv2d_9_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_9_tf2_tex(conv2d_9_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_9_tf3_tex(conv2d_9_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_9_tf4_tex(conv2d_9_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_9_tf5_tex(conv2d_9_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_11_tf_tex(conv2d_11_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.10146893, -0.06355417, -0.0066939867, -0.112247504, 0.15743892, 0.2661364, -0.24241701, -0.17822737, 0.11587934, -0.029756429, 0.0928847, -0.10046272, 0.14444917, 0.12547572, -0.2114753, 0.023556458) * g_0; + result += mat4(-0.047596626, 0.09543128, 0.23701866, -0.08471554, 0.51885915, -0.1704686, -0.04001014, -0.054579906, -0.07877735, -0.09762826, -0.146179, 0.0787038, 0.22635859, -0.31619364, 0.073862836, 0.25550374) * g_1; + result += mat4(0.27489266, 0.03828787, 0.1788482, -0.07628321, -0.007864044, -0.25208792, 0.37145224, -0.05436547, 0.17768216, 0.06377889, -0.029021077, 0.060763232, -0.020521913, 0.15733998, -0.10828051, 0.13728242) * g_2; + result += mat4(-0.21597046, 0.021131428, 0.114165306, -0.017311715, -0.12344303, 0.048893873, -0.04941004, 0.06477217, 0.1573259, -0.07459121, 0.09720801, 0.12087764, -0.1889173, 0.15563762, 0.09565472, -0.16171652) * g_3; + result += mat4(0.25529733, -0.030553222, 0.19627945, 0.21340033, -0.0357832, -0.14596821, -0.14145969, -0.17806748, -0.053110838, 0.20665482, 0.08333174, -0.02258432, 0.1662624, -0.14893246, 0.02501433, 0.21777983) * g_4; + result += mat4(-0.09700643, 0.05642473, -0.29080915, -0.07261638, 0.08252391, 0.22238337, 0.008129421, -0.18302573, -0.4751298, 0.03521261, 0.16102098, 0.22523795, 0.106175326, 0.097425245, -0.056549445, -0.058554217) * g_5; + result += mat4(0.2115773, 0.060346328, 0.07946409, -0.17166963, 0.0878238, 0.032195155, 0.053393956, 0.2399919, -0.03793802, -0.1799568, -0.14780137, -0.019833531, -0.060654577, 0.086268514, 0.2597936, 0.24647377) * g_6; + result += mat4(-0.15642072, -0.14679217, -0.100522175, 0.11584608, 0.09088178, 0.13054077, 0.04432568, -0.118127726, -0.041004654, -0.06222515, -0.09301348, 0.046497803, 0.010794347, -0.015452295, -0.052613236, 0.06925519) * g_7; + result += mat4(-0.19688836, -0.22052658, -0.16386695, 0.08732065, 0.111491896, 0.19614422, 0.0256523, 0.06947972, 0.03396227, -0.13961029, -0.008658522, 0.24620731, 0.13377586, -0.07979868, 0.36551273, 0.39424098) * g_8; + result += mat4(-0.30495998, 0.2224925, 0.027218822, 0.04317854, -0.06996757, 0.048042685, 0.06731089, -0.23949164, 0.20741203, 0.08487502, 0.2277233, -0.08041561, 0.16487156, -0.25665572, 0.07448175, -0.19871257) * g_9; + result += mat4(0.161757, -0.18321225, 0.006443096, -0.03942912, 0.30194885, 0.17840338, 0.089457296, -0.111660995, -0.25981718, -0.18808901, -0.008459478, 0.12424914, 0.38462314, 0.031231843, 0.055111516, -0.28973204) * g_10; + result += mat4(0.104183905, -0.12262509, 0.15137221, -0.23025867, 0.040099107, -0.05383875, -0.04934622, 0.1180123, 0.10198143, 0.27173567, -0.15230067, -0.099421, -0.08984255, 0.11140736, -0.045036234, 0.18769833) * g_11; + result += mat4(-0.07531492, -0.024759036, -0.03848608, -0.036268033, -0.03411223, 0.094500594, 0.00280404, 0.062361084, 0.03790362, 0.037668772, -0.0514829, 0.09995965, 0.283923, -0.5238069, -0.06496828, -0.0055070156) * g_12; + result += mat4(0.28150153, 0.14254282, -0.05911421, -0.12254332, -0.022384, -0.14173482, 0.014685391, -0.18164866, -0.22542116, -0.19810574, -0.09996172, 0.10686331, -0.08414146, -0.025034428, 0.11224387, -0.0063977554) * g_13; + result += mat4(-0.17710046, -0.17579278, 0.00020095073, -0.1109482, -0.020255143, 0.08271713, -0.10690405, 0.08052975, -0.062588565, 0.089410976, -0.13496846, 0.03015718, -0.22929737, 0.15872306, 0.2993516, 0.11859886) * g_14; + result += mat4(-0.035919335, 0.19236436, -0.25442082, 0.021053115, -0.10868948, -0.015284599, 0.33936346, -0.008365188, 0.043490786, 0.13828352, 0.20429905, 0.28155825, 0.127419, 0.057945773, -0.06780165, -0.017564125) * g_15; + result += mat4(-0.13482623, -0.065182775, 0.08911843, 0.2783017, 0.11952674, 0.06991993, 0.299208, -0.10903764, 0.18224056, 0.03948293, -0.21087712, -0.11832146, 0.10328364, -0.07665122, 0.18435805, -0.11931017) * g_16; + result += mat4(0.034891166, -0.13113704, -0.17151785, -0.27690044, 0.11699234, -0.0034974716, -0.0656246, 0.07852395, 0.15545385, 0.0013671276, -0.046343226, 0.0034052336, 0.2453219, 0.13581915, -0.13983195, 0.007911855) * g_17; + result += mat4(-0.011330336, 0.24790573, -0.15979306, 0.19069764, -0.40002748, 0.011870201, 0.0031194224, -0.17847504, -0.0150662465, 0.13579376, 0.0030671223, -0.11590648, 0.18090703, -0.08737256, 0.39159694, -0.22220485) * g_18; + result += mat4(-0.11186643, 0.21464026, -0.09462943, -0.14211422, 0.36246783, -0.097312845, 0.21176222, -0.20439352, 0.08605301, -0.0007772716, -0.047504634, 0.035329465, 0.01759311, -0.042337477, -0.14740078, 0.28027928) * g_19; + result += mat4(0.124633305, 0.49622107, -0.1905822, -0.032103766, -0.09118705, -0.071040735, -0.17103319, 0.21466342, -0.06857113, 0.030909235, 0.08125023, 0.2334075, 0.06821963, -0.21760683, 0.25531697, 0.15648827) * g_20; + result += mat4(-0.12612516, 0.16043583, -0.049337797, 0.0980794, -0.17805529, 0.0054840203, 0.171222, -0.017960507, 0.33597863, -0.27860585, -0.08922912, -0.12972547, -0.16144331, -0.039900865, -0.263512, 0.089571014) * g_21; + result += vec4(-0.06092896, 0.0026034676, -0.0045185564, -0.045552935); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_12_tf3 +//!BIND conv2d_12_tf4 +//!BIND conv2d_12_tf5 +//!SAVE conv2d_14_tf +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_12_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_12_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_12_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_12_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_12_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_12_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.004349436, 0.13630886, -0.0971672, 0.048995648, 0.023026302, -0.039569058, 0.068076566, 0.052971028, -0.09237349, 0.067393705, -0.024513396, 0.11096945, 0.07890588, 0.16115357, -0.1847152, -0.24750534) * go_0(-1.0, -1.0); + result += mat4(-0.06438265, 0.03276232, -0.09068353, 0.09009189, -0.080021314, 0.0944858, -0.07794861, 0.12147553, -0.02244629, -0.015694574, 0.080813, -0.018402418, 0.21864587, 0.17657925, -0.009601339, -0.09163427) * go_0(-1.0, 0.0); + result += mat4(-0.01495372, -0.18007463, 0.10734926, 0.23174277, -0.091324404, 0.12528338, 0.0066621224, -0.09822727, 0.040536925, 0.111184075, 0.0004842303, -0.026244884, 0.18349673, -0.0007998258, -0.11728473, -0.06416492) * go_0(-1.0, 1.0); + result += mat4(0.09239883, 0.26176, 0.22532904, 0.05685314, -0.14764737, 0.19629478, -0.081950866, -0.115970545, 0.04077194, 0.005300293, -0.134278, 0.015497223, 0.027986968, 0.015958916, -0.14675306, -0.019109711) * go_0(0.0, -1.0); + result += mat4(0.17761871, 0.4609044, 0.026779782, 0.26045877, -0.06730196, -0.16571176, 0.11547946, 0.019862624, 0.006502043, -0.1532974, -0.090758145, 0.04422983, -0.58861977, 0.13028383, -0.17072764, -0.22565094) * go_0(0.0, 0.0); + result += mat4(-0.17580631, -0.3911594, 0.14832215, -0.072933584, 0.127465, 0.042466827, -0.1331118, 0.056677517, 0.106319845, 0.16945234, -0.031930547, -0.052168153, -0.15397666, -0.1170418, -0.19959368, -0.20563258) * go_0(0.0, 1.0); + result += mat4(-0.07739289, 0.018836888, 0.16391836, 0.106844515, 0.025838032, -0.017699381, -0.08634242, -0.072000824, 0.047676526, 0.033405174, 0.010657314, 0.04917425, 0.06638388, 0.036401518, -0.0616299, -0.05214521) * go_0(1.0, -1.0); + result += mat4(0.024639312, -0.0013965049, 0.06387838, -0.02268061, 0.09309021, -0.069622114, 0.089359015, 0.12940544, -0.027844314, -0.06509059, -0.013798035, -0.019859722, 0.07527786, -0.026096696, -0.07034874, 0.017270971) * go_0(1.0, 0.0); + result += mat4(0.20858815, -0.16890472, -0.031625595, 0.033028077, 0.072790526, 0.18162355, -0.17353328, -0.03207684, -0.09310949, 0.017406156, 0.1282203, -0.052783486, -0.11338968, 0.0677578, 0.068863854, -0.20361136) * go_0(1.0, 1.0); + result += mat4(-0.041317016, 0.03247534, 0.06200033, -0.14489956, 0.12785183, 0.07159107, 0.012313127, 0.002630995, 0.22658965, 0.043375343, 0.11841339, 0.22717218, 0.07156734, 0.18281838, -0.020048752, 0.04785865) * go_1(-1.0, -1.0); + result += mat4(0.047082547, 0.1529325, 0.11509914, -0.033134896, -0.0049103014, 0.017839605, -0.008091813, 0.04140947, -0.14880367, 0.20439196, 0.17187491, 0.021044731, -0.001926388, -0.14152211, -0.0587003, -0.07890274) * go_1(-1.0, 0.0); + result += mat4(0.026869364, -0.09123975, 0.13258849, -0.03649351, -0.029062876, -0.090445675, -0.16224387, -0.058266606, -0.08752301, -0.06947656, 0.10508353, -0.07359757, 0.013967536, 0.12184862, 0.05111278, -0.11674456) * go_1(-1.0, 1.0); + result += mat4(-0.057195935, -0.056843165, -0.07615914, -0.11201728, 0.104859784, -0.07532912, -0.17542382, 0.009371882, 0.18781498, 0.12871909, 0.005714303, 0.07312082, -0.051393475, 0.123752356, 0.016984658, 0.09753753) * go_1(0.0, -1.0); + result += mat4(0.049554065, -0.005824781, 0.03491197, 0.050243527, 0.035413153, 0.06531434, -0.025357272, -0.06480711, 0.0920658, 0.120195575, -0.24142283, 0.06350993, -0.061250027, -0.07128554, -0.17981072, -0.2473607) * go_1(0.0, 0.0); + result += mat4(-0.016607853, 0.1309011, -0.08538273, 0.010532195, 0.055277504, -0.045768805, 0.006048609, -0.10704634, 0.10049099, -0.01950143, -0.04101718, 0.024410551, 0.06883872, 0.20909916, 0.11467779, 0.12572771) * go_1(0.0, 1.0); + result += mat4(0.028375478, -0.0013597496, 0.04202015, -0.01492913, -0.027526926, -0.04698641, -0.21104787, -0.19077387, 0.1593075, -0.13692486, -0.13738127, 0.10472799, -0.06821362, -0.013837978, 0.12394214, -0.14835674) * go_1(1.0, -1.0); + result += mat4(-0.2764926, 0.00037893496, 0.067132294, -0.0011471875, 0.054764304, -0.115992464, 0.14218727, 0.03301949, 0.30239588, 0.20239085, -0.016524972, 0.39796564, 0.16488414, -0.18643552, 0.07657535, 0.12796035) * go_1(1.0, 0.0); + result += mat4(0.03292478, 0.018088378, -0.0047314544, -0.0942764, 0.20013368, -0.042666394, 0.107990764, -0.04759925, -0.09036299, 0.02896287, -0.043856964, 0.050451633, 0.025120081, 0.11044985, 0.14672092, -0.0019441668) * go_1(1.0, 1.0); + result += mat4(-1.7994573e-05, -0.12576, 0.0050358945, -0.06858176, 0.024048325, 0.082893774, -0.08247018, -0.024433604, 0.020361714, -0.12750039, 0.056899726, 0.12528084, -0.026321534, -0.15653296, -0.0025562202, -0.117765464) * go_2(-1.0, -1.0); + result += mat4(0.12503651, 0.068337925, -0.033611838, -0.030133707, -0.0195529, 0.0641469, 0.16414385, 0.1402887, 0.005432807, 0.09584112, -0.069221325, 0.05826886, -0.062293578, 0.1359814, -0.08677194, -0.112642445) * go_2(-1.0, 0.0); + result += mat4(0.076737724, 0.04054001, 0.13805287, 0.025651459, -0.048715483, -0.14808512, 0.029204313, 0.23830198, 0.043977976, -0.20387268, -0.09297148, -0.0052288985, 0.119533904, -0.13873823, 0.21179926, 0.0074633798) * go_2(-1.0, 1.0); + result += mat4(-0.047114216, 0.07865834, 0.13700049, 0.013087235, -0.13068296, -0.2915652, -0.05307391, -0.122398384, -0.011456016, 0.10176556, 0.005239084, 0.14646941, 0.1222608, -0.036448624, 0.12708518, 0.19488429) * go_2(0.0, -1.0); + result += mat4(-0.06569539, -0.14925788, -0.108752884, -0.03800244, 0.027864104, 0.14492571, 0.028624304, 0.030941105, 0.062223762, -0.04562544, -0.16191466, 0.047633838, 0.07819544, -0.029103909, 0.18797997, 0.15739097) * go_2(0.0, 0.0); + result += mat4(-0.08028184, -0.0019299309, 0.19395895, 0.074406736, 0.09395108, 0.014253163, 0.14119357, 0.0625434, -0.107364275, 0.08051348, -0.16450252, 0.07509987, 0.039519705, -0.12978974, 0.0018611677, 0.084226385) * go_2(0.0, 1.0); + result += mat4(0.01908049, 0.018377827, 0.1084423, 0.1042167, -0.14724809, 0.032470826, -0.023825897, 0.12140157, 0.20058173, 0.18852398, -0.018646076, 0.0030090201, -0.113370456, -0.18958052, 0.06353298, 0.03474997) * go_2(1.0, -1.0); + result += mat4(0.0541916, -0.0024718987, -0.11837526, 0.12462076, -0.12295159, -0.117419675, -0.19550472, -0.103674844, 0.12131624, 0.10824999, -0.2025623, 0.19440755, 0.12012352, -0.24212775, 0.1654879, 0.06825857) * go_2(1.0, 0.0); + result += mat4(-0.025793526, 0.052255828, -0.1578918, 0.09792257, 0.017080277, -0.015971176, 0.1533006, 0.23281395, -0.21927428, -0.13227654, -0.1252441, -0.007964906, 0.12551773, -0.024804931, 0.11494948, 0.09283413) * go_2(1.0, 1.0); + result += mat4(-0.0036518201, -0.07751861, 0.010538365, -0.15155843, 0.10629848, 0.014306658, -0.04939083, -0.03384487, 0.058266126, -0.004661259, -0.028613715, 0.053454474, -0.04582958, -0.115151264, -0.0068669906, -0.22702943) * go_3(-1.0, -1.0); + result += mat4(0.039176278, 0.011494633, 0.015706042, 0.075835295, -0.015517273, -0.014914582, -0.08363358, -0.12898697, -0.10866863, 0.20754579, 0.102477565, 0.037476905, -0.072777174, 0.22886744, -0.04767951, -0.04035673) * go_3(-1.0, 0.0); + result += mat4(0.06419821, -0.030695735, -0.15506352, 0.06295063, -0.07215214, 0.08323155, -0.08262735, -0.12231418, 0.075205564, 0.047350686, -0.09001999, 0.05199032, 0.055573188, 0.13256694, 0.029536445, 0.018242368) * go_3(-1.0, 1.0); + result += mat4(0.07162344, 0.40211213, -0.09749091, 0.11718244, 0.05371318, 0.1629951, 0.024023768, 0.059713352, -0.08090218, -0.2655481, 0.09996966, -0.030882658, -0.03895911, -0.046411898, -0.16690536, -0.07667844) * go_3(0.0, -1.0); + result += mat4(0.04966612, 0.09556927, 0.10110896, -0.09490906, 0.09499889, 0.10704381, 0.10541124, 0.056176364, -0.16835918, 0.05321478, -0.006551619, -0.16446579, 0.1319938, 0.07751895, 0.093109965, 0.067452855) * go_3(0.0, 0.0); + result += mat4(0.11643574, -0.050698593, 0.019734323, 0.28733438, 0.010801386, 0.16160545, -0.1909745, -0.19066635, -0.046848252, -0.2782778, -0.2288949, 0.061261218, 0.019757431, -0.19059609, -0.012141124, 0.0052271197) * go_3(0.0, 1.0); + result += mat4(0.054981094, 0.012395964, -0.06728283, -0.02209197, 0.07478041, 0.13791092, -0.08750484, -0.2030279, -0.10006762, -0.04639696, -0.105195396, -0.08758818, 0.052939918, 0.1112401, 0.0030733896, 0.055312406) * go_3(1.0, -1.0); + result += mat4(0.15698704, 0.0036365106, 0.12380404, -0.11107378, -0.014331061, 0.07033424, -0.0022356857, -0.12670168, -0.03733828, 0.07234127, 0.16723327, -0.07515861, -0.0045013875, -0.066591114, -0.021226835, 0.049541425) * go_3(1.0, 0.0); + result += mat4(0.0731916, 0.11341163, 0.023431147, -0.010583704, -0.012694039, 0.024219576, -0.21232608, -0.20807506, -0.010235114, -0.04309934, 0.035700176, 0.03843078, -0.028863966, -0.009591593, -0.0031941584, -0.20235287) * go_3(1.0, 1.0); + result += mat4(-0.03190466, -0.08758244, -0.06945306, -0.007161315, 0.016512264, 0.11133118, -0.05756395, 0.07726425, -0.0528862, 0.09652806, -0.060299616, 0.24618843, -0.102944456, -0.081363164, 0.086291164, -0.18228665) * go_4(-1.0, -1.0); + result += mat4(0.024533918, -0.024038268, -0.23588428, -0.06322061, -0.026354123, 0.053561248, -0.06604492, 0.0026893516, -0.115375444, 0.029626213, 0.060347445, 0.33259663, 0.0013549939, -0.14255665, 0.099064134, 0.109851025) * go_4(-1.0, 0.0); + result += mat4(-0.00096234377, -0.11622208, -0.090943396, -0.038205452, -0.13794866, 0.1020102, -0.17208543, -0.015197958, -0.07927716, -0.29773572, 0.013087006, -0.05451589, -0.09855722, 0.11516159, 0.23010112, -0.038115587) * go_4(-1.0, 1.0); + result += mat4(0.003703244, -0.08092577, -0.03437507, -0.030108482, 0.040932745, 0.144932, 0.09965903, 0.24175544, -0.020715227, 0.09383904, 0.14609617, 0.28962442, -0.03215652, -0.05014826, -0.09543612, -0.16512293) * go_4(0.0, -1.0); + result += mat4(-0.1338463, -0.04834589, 0.24409921, -0.0005155241, -0.09032246, -0.22520639, 0.19727935, -0.078189515, -0.069197565, -0.004616351, 0.41213343, 0.06873554, 0.04303666, -0.23138012, -0.01716713, 0.06984024) * go_4(0.0, 0.0); + result += mat4(-0.00503349, -0.23806292, 0.035638902, -0.10437578, -0.1152508, 0.076598465, 0.24876347, -0.17324387, -0.014940385, 0.06944068, 0.1505031, 0.035267122, -0.04602133, 0.0814317, 0.07536631, -0.085849725) * go_4(0.0, 1.0); + result += mat4(-0.07030559, 0.030874468, -0.001077254, -0.18143663, -0.03723178, 0.0926711, 0.012522207, -0.08783188, -0.02476989, 0.14467658, -0.015393455, -0.14186962, 0.05934932, 0.042091742, -0.011705797, 0.092124745) * go_4(1.0, -1.0); + result += mat4(0.024072237, -0.18759586, 0.103869535, -0.051343195, 0.34892958, -0.061599772, 0.11592873, 0.039111182, 0.36298528, 0.018168671, -0.029816257, 0.24967138, -0.14238372, -0.09866193, -0.05653406, -0.004839818) * go_4(1.0, 0.0); + result += mat4(0.031744566, -0.003036102, 0.05900721, 0.2419773, 0.0060732705, 0.008347982, 0.06998169, -0.017762665, -0.015387137, 0.109877184, -0.0038969691, 0.035790797, 0.020317623, -0.07454754, 0.020916225, -0.015802914) * go_4(1.0, 1.0); + result += mat4(-0.036078982, -0.021052623, -0.08594462, 0.1630876, 0.03278222, 0.13835059, 0.029010452, 0.23859024, -0.0016811197, 0.124995105, 0.008666817, 0.08935092, 0.022882387, 0.0064876135, -0.07351711, 0.016907092) * go_5(-1.0, -1.0); + result += mat4(0.0021571724, 0.016201114, -0.008357702, 0.10146938, -0.019307991, 0.2319128, -0.014715414, -0.053231463, 0.1129617, -0.08196764, -0.17239365, -0.016156387, -0.06554231, 0.09298971, 0.06640363, -0.17430359) * go_5(-1.0, 0.0); + result += mat4(-0.07884391, 0.05402115, -0.04141859, 0.08351969, -0.030872932, -0.25070804, -0.031832412, 0.037755664, 0.05426495, -0.007282632, 0.041353766, 0.09315843, 0.06988119, -0.09045279, 0.03552638, 0.08886742) * go_5(-1.0, 1.0); + result += mat4(-0.10312758, -0.14473592, 0.06468928, 0.07240854, 0.07639409, 0.25952578, 0.0004689448, 0.25006202, 0.04892399, -0.15069105, 0.031330712, -0.13219997, -0.10721048, 0.09674294, 0.030883627, 0.088893786) * go_5(0.0, -1.0); + result += mat4(0.060701642, 0.13242769, 0.025189146, -0.105360806, -0.26855835, -0.025957532, -0.16453391, -0.10504748, 0.18607429, -0.0784457, 0.26755574, 0.24636236, -0.21367395, 0.045376107, -0.055740993, -0.13300979) * go_5(0.0, 0.0); + result += mat4(-0.059003837, -0.012082007, -0.12086763, 0.031320993, -0.19584721, -0.11036068, -0.034678243, 0.057754494, 0.0038097142, 0.08829017, -0.044158544, 0.0804443, 0.07473639, -0.17069483, 0.023236055, -0.057046823) * go_5(0.0, 1.0); + result += mat4(-0.11580383, -0.020031182, 0.111571595, -0.08422117, -0.06358351, 0.17527273, -0.037431642, -0.15660492, -0.07324008, -0.10253073, 0.054786574, -0.13505399, -0.040323336, -0.01836728, 0.12116626, -0.11555739) * go_5(1.0, -1.0); + result += mat4(-0.501075, 0.08686116, -0.010329619, -0.28165087, 0.28034717, -0.20455976, 0.1741333, 0.038334742, 0.20490855, -0.13214226, 0.18811586, -0.18852618, -0.09458034, 0.030453261, 0.011105292, -0.17698336) * go_5(1.0, 0.0); + result += mat4(-0.033512898, -0.07610239, 0.07565421, -0.14622678, 0.14940825, 0.053289484, 0.08369134, 0.060511183, -0.12266086, -0.08907458, 0.042919166, 0.16767487, -0.15839809, 0.014448444, 0.081390806, -0.1304336) * go_5(1.0, 1.0); + result += mat4(0.035597347, 0.036260672, -0.13641554, 0.023568528, -0.064240545, -0.036738854, -0.18114036, 0.042951394, 0.12498931, 0.007909749, 0.074017294, 0.16588119, 0.07560239, -0.16967122, 0.036804147, 0.050694373) * go_6(-1.0, -1.0); + result += mat4(0.0035213558, -0.14315669, 0.0006057612, -0.11107693, 0.1250593, -0.22156724, 0.014978513, 0.14218992, -0.12644413, 0.1448962, -0.038243253, -0.2194696, -0.15294807, 0.097566746, -0.23580866, 0.04192647) * go_6(-1.0, 0.0); + result += mat4(-0.05379451, 0.08438811, -0.011333482, 0.0056827497, 0.029285189, 0.05707083, 0.01045656, -0.1220427, -0.13318716, -0.17416386, -0.13693286, 0.004463277, 0.0054760277, -0.13070771, -0.038098343, 0.16552636) * go_6(-1.0, 1.0); + result += mat4(0.019738045, -0.0026153836, 0.022429602, 0.055454295, 0.13728, -0.11775817, 0.08437089, 0.14925233, -0.25963444, -0.19328977, 0.11018404, -0.1415676, -0.03892593, -0.09808861, 0.083476074, -0.054282036) * go_6(0.0, -1.0); + result += mat4(-0.09798946, -0.036132403, 0.087842025, -0.08399413, 0.13809524, 0.3034931, 0.015697211, 0.034756087, 0.08236563, 0.11538186, -0.09356475, -0.02923682, 0.04214602, -0.1394247, -0.082611024, 0.11403854) * go_6(0.0, 0.0); + result += mat4(-0.10430588, 0.041609235, 0.03927379, 0.147823, -0.041613717, -0.2145986, -0.19082011, -0.18349867, -0.00505968, -0.012337355, 0.060343113, 0.079795614, 0.026638072, 0.05699632, -0.027564438, 0.16506112) * go_6(0.0, 1.0); + result += mat4(0.18249887, -0.11793541, -0.11597893, 0.060480494, -0.022722771, 0.02050344, 0.23385662, 0.04441619, -0.12688236, 0.0042606746, -0.180861, 0.021793948, 0.054468777, 0.008117277, 0.0002806121, 0.032789614) * go_6(1.0, -1.0); + result += mat4(-0.06664305, 0.1853084, -0.09494563, 0.08534247, -0.20119628, 0.16745457, -0.028476797, -0.08182159, -0.03623757, -0.06395209, -0.08543312, -0.08307131, -0.1769124, 0.1872704, -0.12282492, 0.011886932) * go_6(1.0, 0.0); + result += mat4(-0.11081273, -0.0077292146, -0.07936108, 0.060621656, -0.1861718, 0.03099169, 0.13991767, -0.07016253, 0.03027569, -0.03524246, 0.02272178, 0.027382538, 0.039256528, 0.0058396664, -0.11609423, 0.008904226) * go_6(1.0, 1.0); + result += mat4(0.018210433, -0.04427329, 0.0786003, 0.24901037, -0.042964943, 0.1879084, 0.080009475, -2.7224973e-05, -0.0313905, -0.064047895, -0.065849096, 0.1428207, 0.0022087602, 0.1660737, -0.16618532, -0.026659494) * go_7(-1.0, -1.0); + result += mat4(-0.1313427, -0.09119156, -0.03614231, 0.16542135, 0.05243687, 0.11922457, -0.1853969, -0.0073959203, 0.038400393, -0.17513955, -0.15050378, -0.070101395, -0.23747125, 0.1599427, 0.21267292, -0.27109572) * go_7(-1.0, 0.0); + result += mat4(0.0454884, -0.040218998, -0.08242091, 0.18652722, 0.042139422, -0.14477035, -0.13943626, 0.018183183, -0.061966367, -0.118910074, 0.004634003, -0.043745518, -0.16005561, 0.051346913, 0.19549486, -0.5216827) * go_7(-1.0, 1.0); + result += mat4(0.07149998, 0.02138427, 0.12219494, 0.13234742, -0.051980246, -0.059077535, 0.15677546, -0.077345364, 0.019371232, 0.016624838, -0.097907275, 0.096939005, -0.06324521, -0.05718129, -0.082027346, -0.25402892) * go_7(0.0, -1.0); + result += mat4(0.02743824, -0.08489557, -0.24905322, -0.32141867, 0.22583084, 0.23329417, -0.028721593, 0.0016453494, -0.22114721, -0.11764665, -0.05277645, -0.17466292, 0.2302974, -0.09216048, -0.22402821, 0.09933786) * go_7(0.0, 0.0); + result += mat4(0.1976356, -0.12997995, -0.11737824, -0.014698163, -0.0027365792, 0.111862876, -0.30621696, 0.20191678, 0.019106917, 0.02754029, 0.09483265, 0.11204457, 0.015868861, -0.18545562, 0.1748827, -0.24576695) * go_7(0.0, 1.0); + result += mat4(-0.03796282, -0.109834, 0.12251788, -0.04472342, -0.07811151, 0.013148134, 0.11245539, -0.14532489, -0.09553689, -0.09974767, 0.09138531, -0.06428713, -0.122864686, -0.11208252, -0.010935392, -0.25728893) * go_7(1.0, -1.0); + result += mat4(0.259306, 0.15115878, 0.26206654, 0.08348107, -0.17227693, 0.081220835, -0.10695122, 0.06191277, 0.14869192, 0.0010283765, 0.06636733, 0.13419382, 0.012798676, -0.02925236, 0.33322895, 0.0050780945) * go_7(1.0, 0.0); + result += mat4(0.03443009, 0.20322149, -0.024391051, 0.034479506, -0.07402309, 0.0425652, -0.13926035, -0.02805589, -0.012268415, -0.018608773, 0.028608395, -0.044151317, 0.012976348, -0.0156076765, 0.07677897, -0.00019149396) * go_7(1.0, 1.0); + result += mat4(0.006685847, -0.2536577, -0.07419314, -0.31916437, -0.028040439, 0.06264434, -0.050663333, -0.012245421, -0.030623304, -0.15650222, 0.13766797, -0.1098499, 0.14554046, -0.024444913, -0.029014781, 0.013120936) * go_8(-1.0, -1.0); + result += mat4(-0.17133303, -0.11474049, -0.030690582, 0.08961145, 0.08897445, 0.03141745, 0.0028681252, 0.09953673, 0.030985933, -0.36529925, 0.057779342, -0.08686567, 0.1468862, 0.19067344, 0.06386271, 0.027010066) * go_8(-1.0, 0.0); + result += mat4(0.02949929, -0.026946412, -0.03339542, 0.26693338, -0.098694056, -0.08597344, -0.12111771, 0.032002207, -0.001795345, -0.0060617267, 0.122050546, 0.09799719, 0.013893896, -0.019997513, -0.05524217, -0.09772605) * go_8(-1.0, 1.0); + result += mat4(0.20701106, -0.297559, -0.16678828, -0.08828946, 0.1075599, 0.10080888, -0.06964122, 0.016103098, -0.20756197, -0.12484585, 0.06967939, -0.010843157, 0.26551637, -0.1324594, 0.13976827, 0.3363322) * go_8(0.0, -1.0); + result += mat4(0.11670475, -0.035778333, 0.15347819, 0.21083693, -0.12840465, -0.035845824, 0.029178869, 0.14196, 0.019570004, -0.11675628, -0.066392556, -0.08303598, -0.32764187, -0.06986408, -0.07001591, -0.14637336) * go_8(0.0, 0.0); + result += mat4(0.11526194, 0.09488454, 0.021370485, -0.0483534, -0.0037422036, 0.0222931, -0.121567965, 0.07434875, 0.038577255, 0.045069333, 0.091428705, 0.0995632, 0.17210557, -0.35292122, 0.009242468, -0.06575604) * go_8(0.0, 1.0); + result += mat4(-0.14760932, -0.025520764, -0.14337976, -0.018671967, 0.21511485, -0.06866904, 0.03975339, 0.10466266, -0.041295838, -0.03289458, 0.028010901, 0.08874704, 0.111655645, -0.0042287265, -0.0067498074, 0.1148652) * go_8(1.0, -1.0); + result += mat4(0.17541917, -0.2126484, -0.037444204, 0.04114598, 0.11364543, 0.10663656, 0.12955339, -0.018733516, 0.22215228, 0.059307653, 0.04135689, 0.077075884, 0.021400876, -0.167623, -0.20658982, 0.19478907) * go_8(1.0, 0.0); + result += mat4(0.008089906, 0.24154711, -0.13476565, 0.019567002, 0.11787564, 0.02734716, -0.06301515, 0.040616788, -0.06785487, 0.1390928, -0.07603383, 0.14673676, 0.1271106, -0.23466052, 0.013947333, 0.1718309) * go_8(1.0, 1.0); + result += mat4(-0.0057404893, -0.15628129, -0.0064276247, 0.09602378, -0.021200346, -0.12546404, 0.13840783, 0.012898374, -0.054446388, -0.091853596, 0.09044742, -0.072119, 0.0601183, -0.05706025, -0.0073583177, -0.16547501) * go_9(-1.0, -1.0); + result += mat4(0.0720339, 0.041774888, -0.15028723, 0.019322444, 0.13419777, -0.17274082, 0.15353872, -0.07358952, -0.06570478, 0.09121696, 0.120075844, 0.0044252435, 0.12952195, 0.046188887, -0.082326144, -0.23930664) * go_9(-1.0, 0.0); + result += mat4(-0.07011372, 0.12764728, 0.04152175, 0.052369352, 0.15979223, 0.02298587, -0.10174222, 0.05493358, 0.015286563, 0.1894978, 0.11768885, -0.00906085, 0.0861012, 0.10094487, 0.100795865, 0.004716817) * go_9(-1.0, 1.0); + result += mat4(-0.027043847, -0.23946394, 0.042152684, -0.21087328, 0.1812294, 0.04328528, 0.14245422, -0.020683091, 0.12807347, -0.33665732, -0.18067953, -0.3040217, -0.065842405, -0.12448621, -0.17077735, -0.2136904) * go_9(0.0, -1.0); + result += mat4(0.0077196616, 0.050589927, -0.08759789, 0.17469266, -0.15111382, 0.045068096, -0.33810377, -0.22869548, 0.0014367847, -0.13490641, -0.030594718, -0.1425026, -0.1315236, -0.16815974, -0.037266042, -0.24030674) * go_9(0.0, 0.0); + result += mat4(-0.014485405, 0.18734606, 0.05823325, -0.077405214, 0.020787347, -0.013942174, 0.07989219, 0.12702654, 0.04856548, 0.008779833, -0.032016214, -0.13144355, 0.23483105, 0.2664007, 0.29835513, 0.11381805) * go_9(0.0, 1.0); + result += mat4(-0.0025473998, -0.009611839, -0.12472179, 0.13324928, -0.2873321, -0.3690769, -0.19001706, -0.45668945, -0.058745615, -0.034500115, -0.20861118, -0.014576644, 0.14126998, 0.03378116, -0.3294577, 0.13788588) * go_9(1.0, -1.0); + result += mat4(-0.084666446, 0.07678561, -0.35668227, 0.044966694, 0.2978287, -0.05265991, 0.053133518, -0.012012805, 0.15315501, -0.004027129, -0.016121216, 0.027978266, -0.12929294, -0.04454878, -0.09979826, 0.06452664) * go_9(1.0, 0.0); + result += mat4(-0.078429036, 0.08658762, -0.08947654, -0.06625196, -0.04362567, -0.0054804664, -0.19484106, 0.21562175, 0.08060318, 0.04895596, -0.15507787, -0.0003060528, -0.027542366, -0.0033105996, 0.07422279, -0.11085649) * go_9(1.0, 1.0); + result += mat4(0.05956468, 0.091366075, 0.0037317951, 0.022181934, 0.043897398, -0.057247777, 0.053182777, -0.029588478, -0.032042164, -0.022768367, 0.0982422, -0.0046064584, -0.13132066, -0.14951156, -0.00090484065, 0.0033148613) * go_10(-1.0, -1.0); + result += mat4(0.10067602, 0.1768167, 0.09319276, 0.05545746, -0.09815685, 0.059621163, -0.18311253, -0.09429009, -0.10641968, 0.0028561363, -0.013706987, -0.0023843904, -0.04311436, -0.012575459, 0.0043700333, -0.050200813) * go_10(-1.0, 0.0); + result += mat4(0.013915544, -0.0757592, 0.044148494, 0.056571446, 0.04411375, 0.04224288, -0.22881642, -0.123468116, -0.062506266, -0.17653957, -0.063954756, 0.10225458, 0.038327288, -0.15049885, -0.08253219, -0.09311468) * go_10(-1.0, 1.0); + result += mat4(0.13911924, 0.10561401, 0.0273022, 0.20981708, 0.014271885, 0.11831189, 0.13141282, -0.016618425, 0.04164692, -0.035123516, -0.0047200886, 0.076753914, -0.14769398, -0.41632187, 0.052841872, -0.23463646) * go_10(0.0, -1.0); + result += mat4(-0.01388395, 0.03719971, -0.14952944, 0.07520179, -0.15159212, 0.43388975, 0.26373518, 0.13261753, -0.17486258, 0.148321, -0.061730083, 0.10463973, -0.047994018, 0.37817246, 0.17341742, -0.011474512) * go_10(0.0, 0.0); + result += mat4(-0.00019863897, -0.16808252, 0.025214631, 0.042076986, -0.14041016, 0.037121087, 0.2232787, -0.16173011, -0.10725993, -0.16925922, 0.10937271, -0.02865035, 0.04876046, 0.056427523, -0.086016715, -0.034979723) * go_10(0.0, 1.0); + result += mat4(-0.074442565, -0.046245288, -0.07022254, 0.15418175, 0.07957959, -0.02047787, 0.02623656, -0.21276104, 0.09381988, -0.008554025, -0.017238371, 0.06974694, 0.25741857, -0.023782581, 0.19565614, -0.008817276) * go_10(1.0, -1.0); + result += mat4(-0.39654154, -0.09183919, -0.113519065, 0.027061233, 0.19516107, 0.020436032, 0.061018452, -0.18244612, 0.075798355, 0.016068801, -0.054034945, -0.04725821, -0.14116976, -0.03840121, 0.107527554, 0.00559549) * go_10(1.0, 0.0); + result += mat4(-0.04207255, -0.16133082, 0.10303731, 0.0053524077, 0.14013372, -0.11026666, 0.048343863, -0.11690558, 0.07692668, -0.07924815, 0.08556169, 0.111381136, -0.27046818, 0.029103367, 0.19633245, 0.020407349) * go_10(1.0, 1.0); + result += mat4(0.007991728, -0.020026166, -0.13022181, 0.0017440818, 0.17788827, -0.0060873474, 0.06153858, 0.048720125, 0.02515951, -0.1806243, -0.21035627, -0.03994368, 0.009566003, 0.08815808, 0.12738399, -0.017710047) * go_11(-1.0, -1.0); + result += mat4(0.09107191, 0.007003059, -0.20418708, 0.05764021, 0.14495295, -0.03845028, 0.008737782, 0.14078677, -0.07112348, -0.016874174, 0.015319832, -0.07615101, 0.041255035, 0.14763014, -0.03354551, 0.1164008) * go_11(-1.0, 0.0); + result += mat4(0.07999856, 0.13304743, -0.014120932, -0.0863841, 0.03825098, -0.3161007, -0.28431094, -0.04106924, -0.11138334, -0.10150291, 0.025799073, 0.028114514, -0.11306599, 0.014454554, -0.12784232, -0.06992525) * go_11(-1.0, 1.0); + result += mat4(-0.22783421, 0.12771747, 0.23512462, -0.024143018, -0.2100377, 0.0015988444, -0.172392, -0.0024638835, 0.112730995, 0.16705875, 0.07242263, 0.03309278, -0.09356869, -0.14339021, 0.004359785, -0.08542854) * go_11(0.0, -1.0); + result += mat4(-0.18375313, 0.14062601, 0.06567414, 0.016212454, -0.08532553, 0.077800326, -0.11754698, 0.08447961, 0.048469722, -0.11375693, -0.09422993, -0.13284366, 0.056217533, 0.0039602537, 0.14376463, 0.047721226) * go_11(0.0, 0.0); + result += mat4(0.046775565, -0.011286903, -0.0031077573, -0.07476629, -0.10337221, -0.030675303, -0.039012738, 0.102769956, -0.11489153, 0.030338772, -0.13100365, 0.019705927, -0.08369088, -0.06234032, 0.08906353, -0.10402436) * go_11(0.0, 1.0); + result += mat4(-0.10511861, -0.14912106, 0.14367017, -0.11703594, -0.11577902, -0.07610685, 0.010949137, -0.17966509, -0.063496634, -0.21665098, 0.17696856, 0.03794644, -0.2067763, 0.18673943, -0.02478608, -0.0803477) * go_11(1.0, -1.0); + result += mat4(0.48052612, -0.058988307, 0.3888594, 0.042371575, -0.05024253, 0.16064972, -0.09595022, -0.16908611, 0.008086129, 0.010086794, -0.058820166, 0.22500882, -0.26254514, 0.007614947, -0.265352, -0.067624144) * go_11(1.0, 0.0); + result += mat4(0.07264534, 0.013439377, 0.002236739, -0.18097728, 0.07698999, 0.15176728, 0.12372462, 0.101661354, 0.19917522, 0.036132462, -0.1351664, -0.020807575, 0.015356301, -0.06299266, 0.20859388, -0.0945306) * go_11(1.0, 1.0); + result += vec4(0.009461313, 0.07088384, -0.10474157, -0.021341816); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_12_tf3 +//!BIND conv2d_12_tf4 +//!BIND conv2d_12_tf5 +//!SAVE conv2d_13_tf +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_12_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_12_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_12_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_12_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_12_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_12_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_12_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_12_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_12_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.0073285024, 0.1144, -0.028449252, -0.016121224, 0.083792746, -0.14174786, 0.008513715, -0.00956473, -0.00084582175, 0.03225489, -0.020331481, -0.00515214, -0.12380283, -0.12599367, 0.08165983, -0.060773954) * go_0(-1.0, -1.0); + result += mat4(0.1844192, 0.19258575, 0.14895016, 0.113389224, -0.07706893, 0.05490408, 0.10513003, -0.023520403, -0.037016764, -0.035634924, 0.0938482, -0.08073502, 0.07596125, -0.036542032, -0.06776929, -0.12594356) * go_0(-1.0, 0.0); + result += mat4(0.012521706, 0.08256602, 0.024437962, -0.14232518, -0.19811064, 0.039305065, 0.075605676, -0.037288472, -0.012442823, -0.008825962, 0.06694387, -0.03606097, -0.0106425695, 0.021793168, -0.215198, -0.17412446) * go_0(-1.0, 1.0); + result += mat4(0.09952389, -0.045461636, -0.07098339, -0.058084775, 0.0452419, -0.007112955, -0.057224195, -0.00600692, -0.087406546, -0.036380418, 0.004223704, -0.03609955, -0.043148678, -0.104169935, -0.029539566, 0.036258627) * go_0(0.0, -1.0); + result += mat4(-0.068943344, -0.040103976, 0.18191427, -0.0041341195, -0.025713405, 0.09959399, 0.15007588, 0.031151265, -0.024080817, 0.0045685447, -0.13444759, -0.045419164, -0.032590732, 0.03200801, -0.008675603, -0.14013636) * go_0(0.0, 0.0); + result += mat4(-0.031968147, -0.014955117, -0.04463007, 0.27010003, -0.061639994, -0.067749135, -0.13919078, -0.16372173, 0.14469743, -0.005122931, 0.10154323, 0.09967675, -0.16811277, 0.10617033, -0.06715782, -0.05695443) * go_0(0.0, 1.0); + result += mat4(0.21285576, -0.025202936, -0.05149528, -0.04807916, 0.014124108, -0.06361748, 0.08658223, -0.060488764, -0.014000632, 0.044802517, 0.0056479573, -0.014354928, 0.062085636, -0.101351716, -0.028882004, -0.11025039) * go_0(1.0, -1.0); + result += mat4(-0.10832846, -0.09870117, 0.030997222, -0.065083735, 0.026517184, -0.09490458, -0.049755707, 0.14329442, -0.020726258, 0.14553492, -0.024541749, 0.004853816, 0.014107099, 0.060158994, -0.018872442, 0.048374992) * go_0(1.0, 0.0); + result += mat4(-0.025663745, -0.1282767, -0.02868958, -0.033771988, -0.023652168, 0.16181502, -0.009278636, -0.083927155, 0.010536508, -0.07318884, 0.07950583, 0.049379278, -0.045263678, -0.07319993, -0.030431932, -0.0056823073) * go_0(1.0, 1.0); + result += mat4(-0.045902874, -0.058456294, -0.012317956, -0.026984705, 0.16147104, -0.0013008458, -0.0025830006, 0.008972224, -0.26794544, -0.24461915, 0.091435395, 0.053719312, 0.050468277, -0.06685586, -0.044531353, -0.011795062) * go_1(-1.0, -1.0); + result += mat4(0.024308898, -0.08895609, -0.058555327, -0.0006793974, 0.116873205, 0.041545838, -0.16915888, 0.16392942, -0.17633331, -0.2355732, 0.038373847, 0.08613005, 0.07204081, 0.042067327, -0.0425792, 0.05513903) * go_1(-1.0, 0.0); + result += mat4(0.036078498, 0.077769436, -0.15350284, -0.09892574, 0.064394854, 0.12807368, 0.039891828, -0.040717658, -0.050314497, -0.06526016, 0.080487415, -0.0027639167, -0.11946653, -0.15888226, -0.015598435, 0.12251406) * go_1(-1.0, 1.0); + result += mat4(0.1290664, -0.058534194, -0.018295934, -0.07940514, 0.12432192, 0.010142306, 0.072547734, -0.13980152, 0.16458817, -0.1394504, 0.13792835, 0.047197863, 0.028533489, -0.011749858, -0.010762649, 0.1392874) * go_1(0.0, -1.0); + result += mat4(0.016710546, 0.19675231, -0.20401473, -0.039095316, -0.06946871, 0.23567766, 0.16483572, -0.09938507, -0.060242232, 0.097428754, 0.030363632, -0.11512725, 0.024087626, 0.05314576, -0.17251213, 0.07648474) * go_1(0.0, 0.0); + result += mat4(-0.032573838, -0.013386335, 0.087401345, 0.21951716, -0.08565474, -0.032799773, 0.13515915, 0.26348254, -0.07747111, 0.0030196665, -0.0018466014, 0.17031538, 0.02935537, 0.0899902, 0.06186042, -0.13625641) * go_1(0.0, 1.0); + result += mat4(0.1215287, -0.042131472, -0.032923955, 0.100939475, -0.041368138, 0.03694828, 0.1103769, -0.030717807, -0.13684453, 0.051721994, 0.025304647, -0.15890115, 0.07639035, 0.052489985, -0.04128077, -0.025718726) * go_1(1.0, -1.0); + result += mat4(-0.06296705, 0.05318694, -0.1371503, -0.14969784, -0.07175306, -0.030627202, 0.07334587, -0.009825863, -0.026530674, 0.27626765, 0.14821655, -0.054016598, -0.056228504, 0.053841833, -0.029819967, -0.015623155) * go_1(1.0, 0.0); + result += mat4(0.014230513, -0.036077388, -0.024240652, -0.06880111, 0.064582616, 0.03517346, 0.07762339, 0.05755708, -0.06749824, -0.05977129, 0.12002247, 0.116844185, -0.11934344, 0.1391766, 0.108214654, -0.035656262) * go_1(1.0, 1.0); + result += mat4(0.030574623, -0.043842327, 0.08950769, -0.0781518, 0.0700672, 0.013383238, -0.07802362, -0.005014419, 0.11088969, -0.00067165383, -0.0010111893, 0.058019243, -0.07366968, -0.08484348, 0.029948575, -0.11502251) * go_2(-1.0, -1.0); + result += mat4(-0.03321966, -0.03131673, 0.004264257, -0.07305327, 0.008054816, -0.16758922, -0.077912085, 0.22058341, 0.111255586, -0.16060875, 0.017004827, -0.02669972, -0.05014059, 0.040101267, 0.16079256, -0.055537276) * go_2(-1.0, 0.0); + result += mat4(0.029244121, -0.0009780902, -0.017093815, 0.09454508, 0.18911603, 0.051392034, 0.046200924, -0.026249861, 0.0046592955, 0.12321392, -0.11588059, -0.094899625, -0.081606835, 0.17119391, 0.02356436, -0.06047765) * go_2(-1.0, 1.0); + result += mat4(-0.08362705, -0.06756961, -0.011758277, 0.023169149, -0.0982184, 0.025456898, -0.07539763, 0.042874064, 0.02100778, -0.0011199011, 0.006442546, -0.07147588, -0.13854757, -0.011658099, 0.05515101, -0.048050303) * go_2(0.0, -1.0); + result += mat4(0.041595772, -0.06479202, 0.073927626, -0.08536628, 0.16164385, 0.118004836, -0.049047295, 0.10522248, 0.10745737, 0.0012640969, -0.02454351, -0.09574172, -0.009729581, -0.15371798, 0.08798129, -0.009216726) * go_2(0.0, 0.0); + result += mat4(0.18971667, 0.038998246, -0.016063264, -0.2233412, -0.03163863, -0.0012289709, -0.17130315, 0.20456445, 0.064184405, -0.07345441, 0.0020790182, 0.28172332, -0.111298844, 0.0412622, -0.11383462, -0.048998356) * go_2(0.0, 1.0); + result += mat4(-0.034762207, 0.011346329, 0.013585003, 0.07626756, -0.008399175, 0.051606014, -0.0016094594, 0.116053745, -0.069778696, -0.02106771, 0.06336068, 0.048622433, 0.04220354, 0.012939275, -0.08267461, -0.018460738) * go_2(1.0, -1.0); + result += mat4(-0.05582388, -0.10123286, -0.035177495, 0.017128762, 0.018628815, 0.114519656, -0.17636241, -0.10691338, 0.0677963, -0.071575046, 0.18769145, 0.06880732, 0.09815737, -0.045370102, 0.16686986, -0.13218194) * go_2(1.0, 0.0); + result += mat4(0.01283213, 0.01792951, 0.02459982, -0.009541486, 0.1449442, -0.05620025, 0.05726557, 0.05816645, -0.022686943, 0.12581968, -0.07425121, -0.02544034, 0.027782356, 0.014084096, 0.091578476, -0.06339972) * go_2(1.0, 1.0); + result += mat4(0.09170037, -0.057594847, -0.048079927, 0.03068779, 0.05709864, 0.090370096, 0.015733121, -0.05854891, -0.000527767, 0.032967974, -0.026428627, 0.008033896, 0.00573661, -0.014222908, 0.032641955, 0.015299854) * go_3(-1.0, -1.0); + result += mat4(-0.009710511, -0.0935564, -0.06879577, 0.05684709, -0.068999484, 0.10311587, 0.013332367, 0.038386244, -0.04635856, -0.12024988, -0.06825258, -0.05990099, -0.028174242, 0.036818985, 0.16706839, 0.05890767) * go_3(-1.0, 0.0); + result += mat4(-0.049004596, 0.0071681594, -0.0003602087, 0.052849717, -0.03787924, -0.041698013, 0.10563769, -0.09920582, 0.10934604, 0.04542626, -0.07011054, -0.010804346, -0.09419844, 0.046702333, 0.09464839, -0.06823736) * go_3(-1.0, 1.0); + result += mat4(-0.06845078, 0.079021424, 0.06258286, 0.020676255, -0.15648174, 0.1546939, 0.10862024, 0.052000657, 0.13929878, 0.025340393, 0.07040901, 0.07678263, 0.077283464, -0.028596027, 0.006053985, -0.022158029) * go_3(0.0, -1.0); + result += mat4(0.1898525, 0.031312715, 0.046924386, -0.19242099, -0.107252344, 0.077114165, 0.056004215, 0.17428507, -0.04107143, -0.0017563916, 0.12068614, -0.07025747, 0.0495018, 0.061851952, 0.04582248, -0.12431049) * go_3(0.0, 0.0); + result += mat4(0.04685794, -0.24174146, 0.12526262, 0.064534366, -0.050500534, 0.039266504, 0.2439988, 0.17523831, -0.119745165, 0.14102112, -0.20475648, 0.13149914, 0.04693847, 0.06230117, -0.023996271, 0.1514883) * go_3(0.0, 1.0); + result += mat4(0.118849516, 0.013412991, -0.011626599, -0.09768175, -0.050567433, 0.039465338, 0.13075048, -0.14289309, 0.06579954, 0.16555893, 0.059839517, 5.761098e-05, -0.062406965, -0.06764621, 0.017046073, 0.044707622) * go_3(1.0, -1.0); + result += mat4(-0.28945863, 0.08326169, -0.11057029, -0.106940016, -0.051118366, -0.06687964, 0.12088523, -0.00041864708, 0.15931313, 0.04360352, 0.0397097, 0.12181111, 0.031510625, -0.02240916, -0.0924032, 0.1202205) * go_3(1.0, 0.0); + result += mat4(-0.07147302, -0.17362182, 0.03459316, 0.12722759, -0.1753165, -0.09206796, -0.052553307, -0.026404735, 0.029995566, 0.07550818, 0.06890055, -0.10341684, -0.014903289, -0.04990785, -0.04519027, -0.027501447) * go_3(1.0, 1.0); + result += mat4(0.07138481, -0.0038964448, -0.005265701, 0.049808584, 0.024613097, 0.020280845, -0.009967596, 0.06767395, -0.0014587453, 0.06428319, 0.009853714, 0.0805809, -0.06697533, 0.10875888, 0.008187896, -0.017631983) * go_4(-1.0, -1.0); + result += mat4(-0.105059646, 0.103035234, 0.036589332, 0.042030305, -0.051373392, 0.0813933, -0.0115074115, 0.06314272, -0.14578332, -0.07321146, 0.0075932927, 0.15132259, -0.06733089, -0.027117083, -0.0137548195, 0.020148296) * go_4(-1.0, 0.0); + result += mat4(-0.023517285, 0.07467649, 0.002414846, -0.030077169, -0.12513128, 0.011966318, -0.027944475, 0.057034615, 0.16515931, 0.17047071, -0.1264862, 0.024301132, -0.040884867, 0.008070243, 0.09515736, -0.0060314722) * go_4(-1.0, 1.0); + result += mat4(0.08074076, 0.05345624, -0.007762251, 0.01000389, 0.015026349, 0.19908209, 0.030870045, -0.002091911, -0.04621573, 0.31838396, 0.043386586, -0.13836883, -0.067041874, 0.13646385, -0.07350671, 0.085673265) * go_4(0.0, -1.0); + result += mat4(-0.009446313, -0.086647004, 0.20637676, 0.09238394, -0.07296768, -0.12657352, 0.033024136, -0.039740272, -0.077770784, -0.11818795, -0.06578987, -0.0027090618, -0.025300732, 0.12950556, -0.10867766, 0.07387452) * go_4(0.0, 0.0); + result += mat4(-0.012949134, 0.002368703, -0.05297392, -0.10257698, -0.0016853989, 0.075996935, 0.37122545, -0.170613, 0.08732584, 0.049392555, -0.08441015, 0.090052694, -0.062295914, 0.0514166, -0.114991166, -0.043510597) * go_4(0.0, 1.0); + result += mat4(0.07511509, 0.10691906, -0.09244783, 0.034469042, 0.032568026, 0.06024701, 0.022134718, -0.0438891, 0.0957752, 0.125792, -0.06911089, -0.070889555, 0.03087342, 0.06723071, -0.009557929, -0.0040924344) * go_4(1.0, -1.0); + result += mat4(-0.063599, -0.039187234, -0.1455675, 0.035936676, 0.03576043, -0.030747093, -0.0051067425, 0.2659986, 0.093633436, 0.07147859, -0.062383216, 0.15169801, 0.019225782, -0.04582221, -0.11768761, 0.04416685) * go_4(1.0, 0.0); + result += mat4(0.12102416, -0.0039739963, 0.11366815, -0.05148291, -0.021116538, -0.09035905, -0.06349737, 0.22651246, 0.057436086, 0.039311353, -0.10376212, 0.02372195, 0.027644427, -0.06448787, -0.09167275, 0.034432348) * go_4(1.0, 1.0); + result += mat4(0.038848106, 0.07249798, -0.009243467, -0.021106344, 0.124446444, 0.033429075, -0.098644614, 0.040856678, -0.020178655, 0.024375686, -0.071492255, 0.07167701, 0.04130454, 0.042335343, -0.037061527, -0.013655684) * go_5(-1.0, -1.0); + result += mat4(-0.08597521, 0.07135394, 0.0720867, -0.03400516, 0.056643173, 0.09423204, -0.020569563, -0.058777962, 0.08046976, 0.19311704, -0.055601787, 0.13167216, -0.035867438, -0.01827487, -6.583423e-06, 0.038280442) * go_5(-1.0, 0.0); + result += mat4(-0.09820444, -0.13486221, 0.051271014, 0.07005367, 0.035737857, 0.05315366, 0.03366102, -0.10708526, 0.1158274, 0.04591135, 0.08571514, 0.17452762, 0.04824592, -0.081473194, -0.031728912, 0.1585771) * go_5(-1.0, 1.0); + result += mat4(-0.0114516895, -0.01025222, -0.09740883, 0.03264085, 0.025597531, 0.119531736, -0.03077349, -0.037301112, -0.060548894, 0.01302994, 0.022838226, -0.08893953, -0.012516718, -0.007956795, 0.045615423, -0.055380967) * go_5(0.0, -1.0); + result += mat4(-0.11728873, 0.10199893, 0.12820518, 0.03423381, -0.24956615, 0.026927155, 0.014175251, 0.14897104, 0.08224876, -0.08608348, 0.022037864, 0.02436408, 0.0013599518, -0.08172911, 0.051339805, 0.07229407) * go_5(0.0, 0.0); + result += mat4(0.046455204, -0.1374244, -0.059397817, -0.0033628163, -0.06473753, -0.06036789, -0.06340971, 0.16669442, 0.10911536, 0.11359795, 0.22375688, -0.023882419, -0.12102076, -0.020444589, -0.045046736, 0.0068718884) * go_5(0.0, 1.0); + result += mat4(-0.03842321, -0.0011430852, -0.1129748, 0.0152855525, 0.04225248, 0.07387769, -0.027725972, -0.12106088, 0.08656801, -0.11954636, 0.05836412, -0.026802814, -0.041883703, -0.006556173, -0.076189294, 0.0075946534) * go_5(1.0, -1.0); + result += mat4(-0.11975804, -0.026911994, -0.026712572, 0.031212423, -0.0151992105, -0.092190824, 0.06715746, 0.012447212, -0.07223334, -0.09728792, -0.035994522, -0.08701858, 0.04673519, -0.022955962, 0.06816874, 0.054100472) * go_5(1.0, 0.0); + result += mat4(-0.1257005, 0.077909276, 0.03910652, -0.043313637, 0.09700322, -0.15070638, 0.036137406, 0.13088217, 0.030530911, 0.0016815565, -0.026481835, 0.09376303, 0.099763535, 4.2914176e-05, 0.018758861, -0.0356672) * go_5(1.0, 1.0); + result += mat4(0.026617827, -0.07566226, -0.05574729, 0.002619947, -0.018364744, 0.03922602, 0.05693076, -0.049689196, 0.049535688, 0.11005654, 0.0007408533, 0.027861353, 0.01303123, -0.008263306, 0.0026142458, 0.0020303824) * go_6(-1.0, -1.0); + result += mat4(0.038180836, 0.15543976, -0.0673784, -0.22783698, 0.042372238, -0.05000301, -0.07438901, 0.008299556, -0.15254645, -0.35337922, -0.06896136, 0.055395104, -0.077446155, 0.06480281, 0.13135155, -0.06336489) * go_6(-1.0, 0.0); + result += mat4(0.013998281, -0.095250584, -0.1162938, 0.10443475, 0.01559043, -0.01954385, -0.04662086, -0.100116424, 0.0068218485, 0.08356167, -0.013595677, -0.18526508, -0.0046224687, -0.03307869, -0.026683096, 0.021306116) * go_6(-1.0, 1.0); + result += mat4(-0.05738453, 0.049279623, -0.105201654, 0.09385343, -0.039480492, 0.14974229, -0.047360666, -0.02304541, 0.09902975, -0.037706945, 0.009562135, -0.13266477, 0.020257646, -0.055444866, 0.0121131465, 0.121142514) * go_6(0.0, -1.0); + result += mat4(0.05217112, 0.05005239, -0.18094581, -0.00026700262, -0.18397138, -0.0884597, -0.18545485, -0.09732425, -0.09282272, 0.02182749, -0.061359994, 0.18474235, -0.004717591, -0.13706946, 0.03750989, -0.047550667) * go_6(0.0, 0.0); + result += mat4(0.08423895, 0.05750411, -0.0032509726, -0.122791305, -0.076915234, -0.029152788, 0.11213724, 0.14263733, -0.12443673, 0.091285, 0.033931304, -0.02466215, 0.1374147, -0.03435951, -0.054114643, -0.099046014) * go_6(0.0, 1.0); + result += mat4(-0.045449812, 0.04269483, 0.020021262, -0.037943713, 0.07428274, 0.09515684, -0.07982024, -0.024519997, -0.025611475, -0.101608135, 0.029099166, -0.02519268, -0.015601077, 0.056554224, -0.039773546, 0.057046406) * go_6(1.0, -1.0); + result += mat4(0.09342597, 0.015473878, -0.16283993, 0.14848809, 0.1926289, 0.038931195, 0.042676132, -0.13609187, -0.026968451, -0.1338714, 0.046281263, 0.04109745, 0.061672427, 0.064506166, -0.030910177, -0.093653575) * go_6(1.0, 0.0); + result += mat4(-0.048423905, 0.075119875, -0.08892323, -0.09006796, -0.03462919, -0.08672442, 0.1547159, 0.09314443, 0.0017917264, -0.05849465, 0.06419662, -0.1487664, 0.048129495, 0.0463128, 0.020289388, -5.981608e-06) * go_6(1.0, 1.0); + result += mat4(-9.851486e-06, -0.07218598, 0.052535016, 0.06027138, -0.15785162, 0.03050819, 0.02106052, -0.09309737, 0.042012095, 0.07350871, -0.041321676, -0.14675662, -0.13095592, -0.040717825, 0.008294166, 0.034474954) * go_7(-1.0, -1.0); + result += mat4(-0.038354237, -0.092948794, 0.019369636, 0.008319703, 0.023776436, -0.23507029, -0.068587035, 0.03261793, 0.16731012, 0.045434996, -0.061696, -0.076626495, -0.2707249, -0.24755555, 0.062551945, 0.18912214) * go_7(-1.0, 0.0); + result += mat4(0.0028535714, 0.004508511, 0.096679166, -0.009332624, 0.10854221, -0.01782062, -0.09737422, 0.06195523, -0.035627376, -0.050932128, -0.056977615, 0.13018712, -0.13412024, 0.0424353, 0.120904125, 0.05599382) * go_7(-1.0, 1.0); + result += mat4(-0.015340826, -0.07891277, -0.053788327, -0.020577412, -0.103371054, -0.090662785, -0.025638962, -0.022323575, -0.0019410624, 0.22900255, -0.15850206, -0.03873904, -0.20835614, 0.022200054, -0.0296877, -0.017205235) * go_7(0.0, -1.0); + result += mat4(0.16326539, -0.10507174, -0.08517645, -0.1587064, 0.12344322, -0.12928641, 0.04858697, 0.09372904, -0.113734014, -0.11043106, 0.11609328, -0.10636852, 0.043770313, 0.045527533, 0.053363122, -0.101359725) * go_7(0.0, 0.0); + result += mat4(0.03874898, -0.072903655, -0.16248351, 0.02170108, -0.0047495393, 0.040323067, -0.23720509, -0.03009885, 0.012279186, -0.008126828, 0.044663064, -0.073465705, -0.043972623, -0.18373902, 0.09990013, -0.0821802) * go_7(0.0, 1.0); + result += mat4(-0.09972298, -0.06412786, -0.01765875, -0.020713106, -0.009848888, -0.10317782, -0.09639411, 0.051942635, -0.0686546, 0.07412253, 0.007564022, -0.06840922, 0.06594286, -0.14784402, -0.10125296, -0.038264908) * go_7(1.0, -1.0); + result += mat4(-0.0047137165, -0.001068608, 0.21495393, 0.08257355, -0.062070042, -0.027696218, -0.070565164, -0.14301781, -0.08518445, -0.14908811, 0.05988329, 0.07008356, -0.06789062, -0.056065448, 0.1198869, 0.04058338) * go_7(1.0, 0.0); + result += mat4(-0.015345579, 0.06684426, 0.10084448, 0.0088868365, 0.0132896565, 0.041835576, 0.035257474, -0.17815806, 0.007956943, -0.032787424, -0.024117455, -0.03163458, -0.056054153, 0.004654151, -0.07459875, 0.11490104) * go_7(1.0, 1.0); + result += mat4(-0.15243347, 0.07784731, -0.06488782, 0.06915179, -0.1042157, -0.0063538626, -0.0009144965, 0.022165874, 0.0939912, -0.060952082, -0.035661597, 0.088764325, -0.08225544, -0.00034364447, 0.059582185, 0.06101212) * go_8(-1.0, -1.0); + result += mat4(0.02576822, -0.012206138, 0.11534684, 0.055573255, -0.03394477, 0.014038397, -0.04380724, 0.088514894, 0.1200793, 0.07140723, -0.07684597, 0.24095225, 0.026512349, 0.17956263, 0.051159423, -0.012580184) * go_8(-1.0, 0.0); + result += mat4(-0.10280494, -0.04676712, -0.05843146, 0.015999107, -0.05758121, 0.0056103356, 0.04461152, 0.023359446, 0.19975519, 0.051141366, -0.078616165, 0.026869029, -0.011151981, -0.099599086, 0.12227358, 0.014200019) * go_8(-1.0, 1.0); + result += mat4(-0.059605133, 0.063668884, -0.18279727, -0.06218689, -0.037377298, -0.007869956, 0.009291009, -0.1827175, 0.041651864, 0.0020291011, -0.030416429, -0.11812194, 0.06668284, 0.060038287, -0.04037278, 0.16196628) * go_8(0.0, -1.0); + result += mat4(-0.096491545, -0.19636984, -0.09967021, 0.046787925, 0.10620118, -0.008389387, 0.09885796, -0.18576227, 0.1024246, 0.13532446, -0.03397235, -0.05172352, 0.18370149, 0.036553577, 0.09388728, -0.043989357) * go_8(0.0, 0.0); + result += mat4(0.066382125, -0.026792534, 0.14122616, -0.12131764, 0.06294349, 0.015747132, 0.09217337, -0.09790492, 0.095229484, 0.19190969, -0.11818544, -0.10085346, -0.18416224, 0.023202911, 0.09271642, 0.23478268) * go_8(0.0, 1.0); + result += mat4(0.09447352, 0.033897415, -0.016522475, -0.17572474, 0.028981324, 0.0018837937, -0.08916694, 0.027672661, 0.061623577, -0.058480777, -0.06758095, 0.12866256, 0.02247829, -0.033075545, 0.0032707753, 0.013970644) * go_8(1.0, -1.0); + result += mat4(-0.04512953, -0.006859464, 0.015446434, 0.08710148, 0.055711135, -0.10423202, 0.03748765, -0.016468337, 0.044911206, 0.087307915, -0.12144139, 0.13479358, 0.02751335, 0.082123764, 0.09411991, -0.034485392) * go_8(1.0, 0.0); + result += mat4(0.022169681, -0.0068143625, -0.10993536, -0.031404734, 0.04424674, -0.058773458, -0.042220823, 0.16127633, 0.016275568, 0.11400015, -0.015690884, 0.088035434, 0.06922791, -0.023435324, 0.10064401, 0.09267874) * go_8(1.0, 1.0); + result += mat4(-0.1782865, 0.07054037, -0.036841866, 0.0027666213, -0.02632288, 0.0015316358, -0.06624319, 0.032665364, 0.0021892237, 0.09393096, 0.13208792, -0.0105601875, -0.17870188, 0.007641018, 0.055615738, -0.08728049) * go_9(-1.0, -1.0); + result += mat4(0.08148005, 0.04158415, 0.09060661, -0.11671241, -0.035112634, -0.1879075, 0.10603404, 0.09183375, -0.16071059, 0.005687797, 0.120401785, 0.20553902, 0.0066707535, 0.039705288, -0.17833412, -0.10277116) * go_9(-1.0, 0.0); + result += mat4(0.00935989, -0.06176358, 0.014277336, 0.034557488, 0.066875, 0.0862966, -0.049054243, -0.10625051, 0.045639876, 0.044773396, 0.02746294, -0.024615739, -0.056873348, -0.19391094, 0.006037808, 0.07711238) * go_9(-1.0, 1.0); + result += mat4(-0.018254511, -0.07702511, -0.09783025, 0.08643163, 0.011246615, -0.059354555, 0.02855532, 0.12298178, 0.2437121, -0.29886153, 0.054966837, -0.095045045, 0.11756467, -0.06513223, -0.0016535377, 0.06794207) * go_9(0.0, -1.0); + result += mat4(0.016108505, -0.04997615, -0.00024112452, -0.09193975, 0.1856019, -0.15356213, -0.054513704, -0.020927668, 0.03684128, 0.09704155, -0.084586345, -0.21800655, -0.09882999, -0.016440451, -0.048516043, -0.13391587) * go_9(0.0, 0.0); + result += mat4(0.039977428, 0.097578354, 0.043029457, -0.09663385, 0.03071626, 0.14550355, -0.0696754, -0.3449407, -0.037196707, -0.13095449, -0.046562403, -0.061313603, -0.024870088, -0.049175426, 0.33485088, -0.08358319) * go_9(0.0, 1.0); + result += mat4(0.0015286271, -0.0026336326, -0.094711356, 0.11006902, -0.04633053, 0.10527113, -0.06205313, -0.28493193, 0.048049364, -0.042089403, 0.011710424, -0.04857293, -0.029495597, -0.017112227, 0.0012348545, -0.02752836) * go_9(1.0, -1.0); + result += mat4(0.046538536, -0.023575861, 0.03094845, 0.05480927, -0.17506556, -0.045232266, 0.017766241, 0.14280976, -0.07590854, 0.1276856, 0.058306232, -0.02613282, -0.11833011, 0.08944493, -0.052370444, -0.14713956) * go_9(1.0, 0.0); + result += mat4(0.012637563, 0.008217245, -0.08480833, -0.13084638, 0.065384135, -0.009895516, -0.20701924, 0.12837902, -0.059713166, 0.024723526, -0.027992334, 0.12180597, -0.12572676, -0.016534502, 0.124470286, -0.1363946) * go_9(1.0, 1.0); + result += mat4(0.18593562, -0.0051782066, -0.020224098, -0.1386619, 0.05130401, 0.15748414, 0.03450984, 0.040225152, -0.02889547, -0.02718944, 0.07736039, 0.023701066, 0.1302447, -0.14498575, -0.055298295, 0.040914822) * go_10(-1.0, -1.0); + result += mat4(0.11004461, -0.16199613, -0.091347575, -0.114197075, -0.034037385, 0.19214474, 0.049589656, -0.109024644, -0.010905539, 0.058671206, -0.048906345, -0.008446876, -0.0031526713, 0.21078502, -0.036269456, -0.06723946) * go_10(-1.0, 0.0); + result += mat4(0.07250265, -0.018816743, -0.09929977, 0.032101557, 0.10881066, -0.00010400672, 0.108172834, 0.08361807, 0.11298455, 0.074784614, 0.055241544, 0.04762545, -0.06515471, 0.08897986, 0.008379875, -0.07011084) * go_10(-1.0, 1.0); + result += mat4(-0.037894815, -0.008045648, 0.0888077, 0.07331456, -0.12187046, 0.0033435533, -0.022942739, 0.16695428, 0.06164513, -0.095686994, 0.0013730039, 0.10199585, 0.15013579, -0.009080806, -0.03657549, -0.065426916) * go_10(0.0, -1.0); + result += mat4(-0.004013369, -0.17360747, 0.05414763, 0.06375205, -0.10889334, -0.055886485, 0.047731172, 0.05977598, 0.024458587, -0.020509373, 0.030456785, 0.14313094, 0.05425161, 0.09258172, 0.06311785, -0.2629252) * go_10(0.0, 0.0); + result += mat4(-0.016907271, 0.118635885, -0.18949707, -0.0011007185, -0.28727284, 0.029711474, -0.003690914, 0.40358377, -0.08520288, 0.0258065, 0.049587388, -0.07931061, 0.031626217, 0.017429618, 0.019582555, 0.2520346) * go_10(0.0, 1.0); + result += mat4(-0.064963594, -0.07345291, 0.031211207, -0.081731334, -0.041860837, 0.111285105, -0.02386965, 0.029508088, 0.06570827, 0.032190915, 0.029017994, -0.007853172, 0.109014794, 0.010181781, -0.0058167228, 0.15205674) * go_10(1.0, -1.0); + result += mat4(0.027170207, 0.1486736, 0.006372495, 0.0011600445, 0.08422548, -0.058934882, 0.041347407, 0.052883595, 0.1424048, -0.016864024, -0.04316707, -0.08030044, 0.12680447, -0.01127752, -0.12602247, -0.06503987) * go_10(1.0, 0.0); + result += mat4(-0.041788876, 0.08606494, -0.15738836, -0.17636767, 0.0480688, -0.0700853, 0.028580366, 0.0092484625, 0.12044988, -0.07079011, -0.03747581, 0.06888978, 0.17255403, -0.0006838143, 0.0040460005, -0.10643291) * go_10(1.0, 1.0); + result += mat4(0.07401081, 0.04960394, -0.066631116, -0.065161556, 0.026498554, -0.12518874, -0.008372493, 0.017836042, -0.08611183, 0.0795497, -0.019199701, 0.09260083, -0.08744388, -0.025358027, -0.020288857, 0.0647643) * go_11(-1.0, -1.0); + result += mat4(0.07573632, 0.0049297865, 0.13689183, 0.029173596, 0.08479172, -0.1565775, -0.048143834, 0.0036008377, -0.07490405, 0.06974998, 0.13531724, -0.021589145, -0.15455271, -0.09218846, 0.1917218, -0.04572285) * go_11(-1.0, 0.0); + result += mat4(-0.029948816, 0.05627412, -0.08699774, -0.033425257, 0.026753966, 0.0055132178, -0.12654705, -0.013280826, -0.013210384, 0.005506719, 0.031000486, -0.10313698, -0.038243894, -0.008856653, -0.07068933, -0.10803686) * go_11(-1.0, 1.0); + result += mat4(-0.21768126, 0.10281481, -0.022190897, 0.017938625, -0.039360717, -0.07557826, 0.08850099, 0.038470805, -0.14095385, 0.13912949, 0.040561084, 0.07350307, -0.08139831, 0.07229395, -0.046203356, -0.09418806) * go_11(0.0, -1.0); + result += mat4(-0.03231932, -0.16729882, 0.035130963, 0.0945745, -0.005259539, 0.018022949, 0.077319324, 0.12292019, 0.006306613, -0.15831412, -0.053213973, -0.21296674, 0.06455828, -0.23165533, -0.11016384, 0.14670803) * go_11(0.0, 0.0); + result += mat4(-0.079640575, 0.14209795, -0.030955706, -0.17259082, 0.011810231, 0.047312025, -0.0027014536, -0.006381721, -0.022472214, -0.16536534, -0.11361088, 0.080804676, -0.025946518, 0.113763586, -0.08722575, 0.015981471) * go_11(0.0, 1.0); + result += mat4(-0.06706822, 0.101619706, -0.16287632, -0.042936955, -0.13380222, 0.04823709, -0.013803056, -0.030115962, 0.0570302, 0.01748295, -0.14060444, 0.059740417, -0.19601041, -0.09340839, -0.0056360997, -0.00664096) * go_11(1.0, -1.0); + result += mat4(-0.07372797, -0.14746109, 0.12448749, 0.20013757, 0.021589998, -0.06775985, 0.025327493, 0.013156906, -0.03920706, 0.12402617, -0.057481002, -0.124450065, -0.098899804, 0.021724703, -0.14238444, 0.05230443) * go_11(1.0, 0.0); + result += mat4(-0.0789226, 0.052890714, -0.027140282, -0.14738554, -0.033786625, 0.027208649, 0.02971969, -0.04986773, -0.036140896, -0.053769954, 0.050002765, 0.19128278, -0.060128435, -0.03388751, -0.07496682, 0.01401696) * go_11(1.0, 1.0); + result += vec4(-0.05125199, 0.034429967, -0.032718506, 0.025534676); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x96 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_12_tf3 +//!BIND conv2d_12_tf4 +//!BIND conv2d_12_tf5 +//!BIND conv2d_14_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv2d_15_tf +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.009551103, -0.1578829, -0.023872105, 0.032085985, 0.027971271, 0.039934665, -0.28228688, -0.061062165, 0.100776665, -0.04452535, -0.006273476, -0.09813465, 0.004865175, 0.09403208, -0.20160039, 0.413236) * g_0; + result += mat4(0.18565936, 0.035244744, -0.08872044, 0.022702076, -0.11219526, 0.050610166, -0.029482607, -0.15944795, 0.11747894, -0.034937173, -0.10601389, -0.07908995, -0.06948369, 0.078262895, -0.10566501, -0.0712045) * g_1; + result += mat4(0.15651268, -0.051332787, -0.16583267, 0.04954766, 0.041720442, -0.14801401, -0.011037535, -0.05058025, 0.078457914, 0.042230852, -0.072076604, 0.22530177, 0.06007432, -0.00476048, 0.045151718, 0.21380138) * g_2; + result += mat4(-0.24534833, -0.11603982, -0.18161574, -0.07407666, -0.19366856, 0.06265982, -0.13283755, -0.14593442, -0.13195409, -0.039278407, 0.08604219, 0.29780805, 0.008677809, 0.06479625, 0.015411021, 0.034155287) * g_3; + result += mat4(0.05640475, 0.037920874, -0.09059915, -0.08817172, -0.27626717, 0.12396845, -0.13103396, 0.0026781796, 0.15049712, 0.07754007, -0.19105206, 0.17042683, 0.3114985, -0.09133819, -0.021938948, 0.254589) * g_4; + result += mat4(-0.16998518, -0.20131175, 0.027466161, 0.11566531, 0.18034823, 0.072060615, -0.23353261, -0.11075216, 0.032076754, -0.021048, 0.012148336, 0.091040045, -0.18995504, 0.08408764, -0.1569736, 0.03552465) * g_5; + result += mat4(-0.04162126, -0.057651754, -0.065363966, -0.18329124, 0.104769826, 0.089769594, 0.15653561, 0.09221142, 0.004628914, -0.057831094, -0.092486836, -0.052079238, 0.12100204, 0.18322322, 0.11601413, 0.0020635729) * g_6; + result += mat4(0.15670863, -0.11881685, 0.2568278, -0.1839135, -0.04724428, 0.06305948, -0.039979734, 0.09861011, 0.03296062, -0.029781949, -0.25168973, 0.05086964, 0.035107438, 0.058550417, 0.03825196, -0.03621426) * g_7; + result += mat4(-0.14257605, -0.18165039, -0.101343095, -0.1612177, -0.07650364, 0.07354628, 0.3225121, -0.0399608, 0.23337401, 0.09668289, 0.17832872, -0.19480577, -0.37638342, 0.009177453, 0.01430114, -0.06184679) * g_8; + result += mat4(0.18150946, -0.17396615, 0.15020455, 0.11095252, -0.04938365, 0.13811995, 0.21872883, 0.1665478, 0.24408577, -0.25829598, -0.05333277, -0.09722728, -0.14163989, -0.2562132, -0.071317025, 0.23899561) * g_9; + result += mat4(-0.06284202, 0.027760154, 0.11999594, 0.17721936, 0.084894985, -0.088369444, 0.017951638, 0.20490159, -0.059588224, 0.02880265, -0.026036453, -0.10354341, 0.10513227, 0.087837726, 0.2588742, -0.27092904) * g_10; + result += mat4(-0.16925864, 0.08769487, -0.09762704, 0.0391378, 0.0035971864, 0.072891735, 0.09307799, 0.27171433, 0.07969811, -0.02832524, 0.018054279, -0.18448217, 0.008436939, -0.041673474, 0.09115246, 0.014632326) * g_11; + result += mat4(0.25382346, 0.065921, -0.07871562, -0.25246596, -0.1803274, -0.12246585, 0.1921425, 0.18788809, -0.061109893, 0.09155593, -0.089252725, -0.27288997, 0.19322978, -0.20218955, 0.12605186, -0.2562263) * g_12; + result += mat4(-0.2838705, -0.040187504, 0.07924205, -0.21460438, -0.12758467, 0.009960648, 0.14958748, -0.20346983, 0.0024511465, -0.0029784795, 0.03761442, 0.13831198, -0.024297677, 0.1012345, -0.084601626, 0.18076244) * g_13; + result += mat4(0.06449929, 0.05275191, -0.12103874, 0.24089414, -0.20560616, -0.10341962, 0.1507051, 0.06430561, -0.13462862, 0.09508162, 0.1236627, -0.012525578, -0.09431966, 0.041634366, 0.08173197, -0.15510611) * g_14; + result += mat4(0.027247978, 0.094439656, -0.03555053, -0.098382965, -0.12275858, 0.07966601, 0.011419914, 0.016940989, -0.059244152, 0.0141640995, 0.28897017, -0.23790632, 0.06870021, 0.065537006, 0.10910026, 0.068046376) * g_15; + result += mat4(0.09527742, 0.07966788, 0.0065336, 0.00047729645, -0.22677961, -0.19132724, 0.038642567, -0.20873657, 0.22698054, -0.17566124, 0.0931999, -0.049740683, -0.13000306, -0.21351433, -0.057329457, -0.101816036) * g_16; + result += mat4(0.009278632, 0.039469216, -0.085109934, 0.28698707, -0.14632075, -0.10635572, 0.08193169, -0.29346558, -0.13445924, 0.14408123, -0.020417368, -0.09325916, -0.20485316, -0.15253286, -0.03744777, -0.003730377) * g_17; + result += mat4(-0.08470291, 0.003728395, 0.107398994, -0.16985098, 0.0072377436, 0.27434322, -0.17388123, 0.015298767, 0.040480837, 0.19347449, 0.077726595, 0.10207363, -0.1588992, -0.0074615697, 0.15348962, -0.2786934) * g_18; + result += mat4(0.12293403, -0.031468052, -0.07419456, -0.039155077, -0.066696815, 0.12546724, 0.17678119, 0.16800387, 0.07157375, -0.06990396, 0.087699026, 0.012418362, -0.05796857, 0.08915443, -0.003907652, 0.024577782) * g_19; + result += mat4(0.049035165, -0.007998411, -0.08784051, 0.05972267, 0.12698646, -0.06103241, -0.004091063, 0.054421507, 0.066380054, -0.17193739, 0.030281775, 0.012471225, 0.36877003, -0.22548924, -0.03885732, -0.18560503) * g_20; + result += mat4(0.06274616, 0.080091685, 0.08087955, 0.07442669, 0.021437827, 0.08772858, 0.03468758, 0.03489351, -0.114316195, -0.1327461, -0.17319082, 0.05784275, -0.14492308, 0.13633093, 0.24737152, -0.17852335) * g_21; + result += mat4(0.07352172, 0.12839572, -0.14603852, 0.038831383, -0.10336226, -0.008882389, 0.2233969, 0.014047068, -0.008017061, 0.0032474427, -0.03606961, 0.13068153, -0.079270124, 0.04567792, -0.11811478, -0.37396926) * g_22; + result += mat4(-0.0875562, 0.0075374576, 0.24364722, 0.3135225, 0.059202157, 0.017321471, -0.44433868, 0.31329906, 0.2166983, 0.15394291, 0.16318081, -0.0053147315, -0.20274022, -0.33773518, -0.22899714, -0.4062436) * g_23; + result += vec4(-0.035847142, 0.032481533, 0.0020201565, 0.07194935); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x96 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_12_tf3 +//!BIND conv2d_12_tf4 +//!BIND conv2d_12_tf5 +//!BIND conv2d_14_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv2d_15_tf1 +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.1761742, -0.44747975, 0.059779506, 0.03766182, 0.03141564, 0.056810793, 0.008301192, 0.14369194, 0.17527783, -0.0017236042, 0.09834237, 0.09575803, -0.008661739, -0.104841106, -0.16932498, 0.11579545) * g_0; + result += mat4(-0.12777811, 0.032608256, -0.07513904, -0.0039272117, 0.12906359, -0.026142448, -0.037676588, -0.10154283, 0.043286253, -0.051307295, 0.041824408, 0.18696383, -0.09039417, -0.06348285, -0.12320969, 0.03376613) * g_1; + result += mat4(0.104417875, 0.10663846, -0.101657666, 0.01425698, -0.008538496, -0.025354145, 0.035612363, -0.05219493, 0.026766634, -0.10843467, -0.021850081, 0.09590063, -0.09614841, -0.054467317, -0.017985666, 0.13570157) * g_2; + result += mat4(0.07591282, 0.13617313, 0.19501148, 0.14904675, -0.13086428, 0.21186173, 0.20964113, -0.009169893, -0.20719013, -0.14911315, -0.075036585, 0.22582716, 0.10560652, 0.06860698, 0.07254264, 0.19700265) * g_3; + result += mat4(0.20456348, 0.24539794, 0.12823294, -0.16726765, -0.1531631, -0.19301818, -0.07844603, -0.046090215, -0.20239432, 0.03090601, -0.0994392, 0.0952079, 0.0022682967, -0.08098104, -0.03782831, 0.020748707) * g_4; + result += mat4(0.03633377, -0.09185641, 0.09126538, -0.047538064, -0.13509507, 0.03449196, -0.11007355, 0.2173493, 0.20409976, 0.025805485, -0.09973431, -0.19965756, 0.20450562, -0.16382888, 0.058049567, -0.011116461) * g_5; + result += mat4(0.08500784, 0.1650986, -0.16035236, 0.13470611, -0.1060791, 0.18405674, -0.06643479, 0.04466202, -0.0758685, 0.08887386, 0.2379966, -0.17876488, 0.09099816, -0.13912867, -0.022313673, 0.014845894) * g_6; + result += mat4(-0.30880445, -0.25211424, 0.08918694, 0.060770545, -0.28389496, -0.23819323, 0.24819243, -0.116066344, 0.06437278, -0.14691679, 0.046198275, -0.006334894, -0.29351792, 0.11259146, 0.20746972, -0.4178989) * g_7; + result += mat4(-0.106741056, -0.18458399, 0.0067779664, -0.15917686, 0.014802229, -0.17655735, -0.01837346, -0.013440738, -0.036119413, 0.091039784, -0.050894205, -0.030827638, 0.22975314, -0.110873595, -0.29769754, 0.046003085) * g_8; + result += mat4(0.016886916, 0.064219564, -0.17515728, -0.26352295, -0.06157579, 0.20600513, 0.3151227, 0.058217525, -0.008353625, 0.3203168, 0.17482461, -0.014621326, 0.126173, 0.42937633, -0.32928523, -0.18174276) * g_9; + result += mat4(0.08384935, 0.012600786, -0.10611915, 0.2905753, 0.31809968, -0.2115759, -0.11971381, 0.17892627, 0.21938775, -0.08610796, -0.07833694, 0.025847232, 0.15850039, -0.0050456845, -0.15777875, -0.17553087) * g_10; + result += mat4(0.07441658, 0.2089438, 0.09365662, -0.05719887, 0.22574152, -0.13032901, -0.12378451, 0.083824284, -0.15680449, -0.122956805, -0.13531187, 0.08218225, -0.062917516, 0.0080551095, -0.15378468, 0.16125157) * g_11; + result += mat4(-0.050182775, 0.44902998, 0.18556629, 0.011656178, -0.08106504, -0.027293755, -0.026111403, 0.16687864, 0.3194157, 0.29866177, -0.043069556, 0.09596009, 0.032058172, 0.41144785, -0.3589045, 0.13055441) * g_12; + result += mat4(0.23642781, 0.041985907, -0.10103298, 0.052018266, -0.07686496, 0.0155056175, 0.18786597, -0.2506586, -0.17439952, -0.3177631, 0.113115676, -0.14640856, -0.008198415, 0.011810333, -0.050316535, -0.14926358) * g_13; + result += mat4(-0.39796874, -0.062100228, 0.07615961, -0.023087898, -0.22297885, -0.090215296, -0.11415266, 0.16724303, 0.04577964, -0.08540938, -0.063765004, -0.18341166, -0.088879146, -0.05323474, -0.008252758, 0.018424602) * g_14; + result += mat4(0.20078817, -0.060623486, -0.0990207, 0.08031568, -0.15245742, -0.18889837, 0.15183337, -0.007422197, 0.09565667, -0.23462932, -0.16531046, -0.21983044, 0.014405007, -0.03047801, 0.124785386, 0.07483329) * g_15; + result += mat4(0.09068068, 0.020738058, 0.076772, -0.30366233, 0.103929624, -0.22885206, 0.16361028, -0.1170221, 0.12693621, 0.053154428, -0.015516178, 0.16410422, -0.09879072, -0.034197513, 0.08162684, -0.114710785) * g_16; + result += mat4(0.07250333, 0.035765056, -0.22287408, 0.07087545, 0.2388845, -0.17439961, 0.19510424, 0.15644315, -0.026337821, 0.14344972, -0.094487876, -0.15113162, -0.030316673, -0.07807948, -0.057335343, -0.06561144) * g_17; + result += mat4(-0.22793378, -0.090403825, -0.058371782, -0.14358567, -0.012014318, -0.06519256, -0.024871968, -0.21873134, 0.12088611, -0.08515825, 0.095237084, 0.17710285, -0.12732038, -0.008813873, 0.050080344, -0.054026045) * g_18; + result += mat4(-0.14742918, -0.15626287, -0.09105866, -0.10570933, 0.002858163, -0.09366216, 0.0738335, -0.16642094, -0.14428791, 0.027129209, 0.0056066504, -0.105539836, -0.15898356, 0.09733231, -0.09281279, -0.058596354) * g_19; + result += mat4(-0.17503378, -0.07734258, -0.07499573, -0.0036713225, -0.09865644, 0.13322629, 0.05817975, 0.07716319, 0.1798274, 0.20163825, 0.14732292, -0.008401361, -0.010455682, 0.1436539, -0.013620519, 0.21749584) * g_20; + result += mat4(0.12678513, 0.009905442, -0.04881402, 0.015975054, -0.31984022, 0.085915014, 0.15399966, -0.001702288, -0.1199135, -0.45281914, -0.16187267, 0.07849383, -0.20719478, -0.23045829, 0.006563257, -0.12863535) * g_21; + result += mat4(0.019257441, 0.06068494, 0.00059041375, 0.23092182, 0.27663466, -0.06695913, -0.1036311, 0.051746387, 0.12334096, 0.26376775, 0.13009991, 0.041141927, 0.15175597, -0.07524408, -0.22195654, -0.109512396) * g_22; + result += mat4(-0.16434675, 0.18122146, -0.17783065, -0.29658446, 0.044498317, -0.13306247, 0.03333715, 0.38770738, 0.2770302, -0.21413137, -0.29719895, 0.034777734, 0.054781754, 0.32892776, 0.11601829, -0.029398393) * g_23; + result += vec4(-0.12481139, 0.022676378, -0.058046315, 0.03696718); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x96 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_12_tf3 +//!BIND conv2d_12_tf4 +//!BIND conv2d_12_tf5 +//!BIND conv2d_14_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv2d_15_tf2 +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.20167744, -0.157522, 0.17093335, -0.2046946, 0.2856094, -0.050556354, 0.007262048, 0.14952745, -0.04247257, 0.17190292, -0.09215134, 0.19234902, 0.11206616, -0.084574, -0.3175454, 0.042932633) * g_0; + result += mat4(-0.07878131, 0.062472034, 0.018257348, -0.19074398, 0.13601506, 0.008776523, 0.267088, -0.012840031, 0.050926745, 0.3572716, 0.12923348, 0.46291292, -0.23700884, -0.15193067, 0.0856555, 0.40051663) * g_1; + result += mat4(0.14584677, 0.013734126, -0.18150613, -0.012350994, 0.17582431, 0.4088792, 0.26603162, 0.091171645, -0.015379834, 0.0488545, 0.24532855, -0.051027495, 0.07409059, 0.08885718, 0.05520881, 0.015742032) * g_2; + result += mat4(-0.06285555, 0.08400318, 0.06185944, -0.18929732, 0.13995175, -0.19606028, 0.010748447, -0.20088021, 0.17389578, -0.029055133, 0.082567476, 0.050448395, 0.035711713, -0.043132007, 0.024843518, -0.09793246) * g_3; + result += mat4(-0.3586075, -0.3017418, -0.1681393, 0.22291918, 0.15187578, -0.19922642, -0.2057764, -0.27078348, 0.011819467, 0.17961735, -0.13120805, -0.088759094, 0.2551945, 0.047898185, 0.025353746, 0.060715955) * g_4; + result += mat4(0.016972095, -0.37482634, -0.0943781, -0.031390063, -0.34399232, 0.029482381, -0.078299224, -0.009884333, 0.21471865, -0.24464053, -0.043118928, 0.031691045, -0.10749998, -0.0004123357, -0.12062625, -0.018974587) * g_5; + result += mat4(0.16740109, 0.11503844, -0.249842, 0.37721476, -0.041268256, -0.047318432, -0.1646984, 0.050292853, -0.05445752, -0.13412616, -0.029601602, 0.05383983, -0.09787379, 0.1975832, -0.10428375, 0.04688707) * g_6; + result += mat4(0.12610112, -0.06527068, -0.051615972, 0.019693172, -0.064654246, 0.18017481, -0.14940402, -0.18683234, 0.01930582, -0.3629499, 0.10711305, -0.38592446, 0.18264556, 0.21697325, 0.40637898, 0.11306176) * g_7; + result += mat4(0.015629973, 0.09973684, -0.014146676, -0.032374937, -0.007512354, 0.03472241, -0.0057590734, -0.25632006, 0.24247666, -0.23546802, -0.09738896, -0.004368026, -0.2864425, 0.063916594, -0.0911149, 0.08962794) * g_8; + result += mat4(0.20205286, -0.119944714, -0.22832054, 0.12242931, -0.16022639, -0.0038066695, 0.15136321, 0.15943359, -0.034349896, 0.20438096, -0.024260236, -0.0099594, 0.19143064, 0.020218, -0.16863364, -0.022940978) * g_9; + result += mat4(0.2880043, 0.2553526, 0.2121158, 0.22303773, -0.35936388, -0.012881388, 0.16779672, 0.02153533, -0.13068561, -0.19650954, 0.19661143, -0.14305532, -0.03043471, -0.04733776, 0.3437708, -0.18667449) * g_10; + result += mat4(-0.28560263, -0.017020063, -0.0050273836, 0.006250603, 0.17099115, 0.18850201, -0.22828178, 0.015579833, 0.014822471, 0.30457675, -0.038834136, -0.31266782, 0.15971808, -0.06438075, -0.009744115, -0.03306814) * g_11; + result += mat4(-0.15123658, 0.2563589, -0.17504866, -0.01227597, 0.025134224, -0.15487325, 0.16592397, -0.26994568, 0.08195849, -0.059410386, -0.17071712, 0.43500945, 0.10446758, -0.124810636, 0.012390868, -0.0974764) * g_12; + result += mat4(-0.058242775, -0.16383912, 0.081500575, -0.28807116, -0.11164024, 0.06807287, -0.16831931, -0.056299932, 0.19682515, 0.22347595, 0.19510195, -0.121536516, 0.09904918, -0.030608056, 0.06541719, 0.3754091) * g_13; + result += mat4(0.14409892, -0.1411304, -0.0836665, 0.07335537, 0.13046919, -0.07286559, 0.045427103, 0.08125719, -0.06354604, -0.062673196, -0.18825212, 0.14445488, 0.0020812547, -0.03635817, -0.11814364, -0.13838975) * g_14; + result += mat4(0.046461742, -0.041100018, -0.024416603, -0.038657367, -0.019944014, -0.2316368, -0.024327591, 0.045484517, -0.019521859, -0.25675112, -0.17842057, 0.12149841, -0.13795595, -0.31766632, -0.11135957, -0.10803858) * g_15; + result += mat4(-0.16907722, 0.06126622, -0.06634626, 0.03341968, -0.060098544, -0.17163853, -0.10266564, 0.2723191, 0.19778359, 0.28850815, -0.34816468, 0.00064078096, 0.0035072854, 0.17807572, 0.12858596, -0.11537019) * g_16; + result += mat4(0.051234458, -0.07300655, 0.12607743, 0.09331296, 0.12784722, -0.2357276, 0.2502991, 0.100865416, -0.067441724, -0.17176364, 0.19372036, -0.0036744007, 0.1729184, -0.28252605, 0.13410504, 0.10560959) * g_17; + result += mat4(-0.16876727, -0.044162266, -0.04474033, -0.052215215, -0.16071874, 0.19163048, -0.0688657, -0.093865626, -0.033344444, 0.31560823, 0.087719224, -0.136447, -0.22141162, -0.009322204, -0.04754566, -0.10042662) * g_18; + result += mat4(0.16383414, 0.017913472, 0.031216452, 0.043571133, 0.09270605, -0.38240147, -0.047052402, -0.17349271, 0.03210811, 0.032853756, 0.012647186, -0.013132529, 0.00427122, -0.11034066, -0.073932715, -0.10335922) * g_19; + result += mat4(0.2385153, -0.14038697, -0.088857055, 0.00049609377, 0.14978889, 0.20203528, 0.23484455, 0.11428516, -0.06660778, 0.04556526, 0.025550742, -0.04666389, 0.29577836, 0.021924702, 0.029047322, -0.22408137) * g_20; + result += mat4(-0.058507595, -0.0062844846, -0.1952249, -0.15763733, -0.13065399, -0.11990473, 0.052280486, 0.38537347, -0.14243399, 0.07946314, 0.09423048, 0.16778792, -0.26061493, 0.04655475, -0.13971363, 0.19715877) * g_21; + result += mat4(0.20081937, 0.11324881, 0.059111953, 0.21300194, -0.19257958, -0.02915909, 0.14482126, -0.34046003, -0.44731438, -0.043879975, 0.41890976, 0.28744698, -0.18441407, 0.012571736, 0.18022124, 0.09692596) * g_22; + result += mat4(-0.21155542, -0.16366267, 0.037170194, 0.082775876, 0.18969263, 0.28030342, 0.12968771, 0.33312726, 0.040552497, 0.12065949, -0.351312, -0.18901314, 0.013641883, -0.11387678, 0.07249402, -0.3379979) * g_23; + result += vec4(0.03052825, 0.036824416, -0.025144452, 0.1161349); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x96 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_12_tf3 +//!BIND conv2d_12_tf4 +//!BIND conv2d_12_tf5 +//!BIND conv2d_14_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv2d_15_tf3 +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.1258338, 0.14226808, 0.240008, 0.20935175, -0.19359687, 0.10969335, -0.010278096, 0.05047169, -0.102325425, -0.14043438, -0.015837658, 0.057497922, -0.13778384, -0.13050987, 0.04406178, -0.39388844) * g_0; + result += mat4(-0.06764633, -0.093226075, 0.19161254, 0.04461978, -0.0022064429, -0.0873564, 0.19151486, -0.19599946, -0.053517688, -0.17137547, -0.08812489, -0.15874967, -0.087588355, 0.10767261, -0.12681739, 0.043519877) * g_1; + result += mat4(-0.056669228, 0.15541172, -0.22413507, -0.039581873, 0.117746115, -0.12828018, 0.2591866, 0.2189227, -0.020655332, -0.052517164, 0.14853618, 0.021707572, -0.1180331, -0.042699628, -0.059315376, 0.21756358) * g_2; + result += mat4(0.030828092, 0.15607356, 0.28521895, -0.042055506, -0.11905841, -0.15199395, -0.07747248, 0.024884254, 0.26103246, -0.13039832, 0.29503205, -0.28014213, -0.030749863, 0.07596026, 0.06978804, 0.09495172) * g_3; + result += mat4(-0.0061593466, -0.04792949, -0.04643929, 0.2671162, 0.10275537, 0.119533755, -0.03177247, 0.09164708, -0.06147422, -0.09079532, -0.17421386, 0.054402016, -0.19640115, 0.21798742, 0.08417971, -0.18372132) * g_4; + result += mat4(-0.016552202, -0.14055125, -0.123929895, -0.03586157, 0.015958441, -0.024276946, -0.07081423, 0.075157166, 0.08328419, -0.3006715, -0.16210157, 0.048386306, 0.22541969, -0.09116436, -0.058013353, 0.046983466) * g_5; + result += mat4(0.16410074, -0.24386454, 0.029308453, -0.22966138, 0.024182033, 0.0026562335, 0.10890961, -0.070607066, 0.009880331, 0.20278706, 0.06307576, -0.20934898, 0.054937962, 0.13425954, 0.008564824, -0.18836361) * g_6; + result += mat4(-0.09830079, 0.03236859, 0.03107909, 0.22993204, -0.11275689, -0.387966, -0.028363353, 0.22778703, 0.21028486, 0.14199334, 0.12961474, 0.08735737, -0.09498103, -0.24960843, -0.097761855, 0.076679096) * g_7; + result += mat4(-0.027410751, -0.050148983, -0.1589488, 0.123207964, 0.038601056, 0.026354158, -0.21397862, -0.08466078, 0.15880482, 0.055978496, 0.19484214, 0.11916298, 0.14721805, -0.23357584, 0.0078795785, -0.0996502) * g_8; + result += mat4(-0.19617492, -0.21137202, 0.16017112, -0.15807675, -0.08558705, 0.15672047, -0.15000702, 0.11593056, -0.24458766, -0.3095287, 0.1798453, 0.25473964, 0.049579866, 0.05214217, -0.33104697, -0.20109792) * g_9; + result += mat4(-0.16142516, -0.086649776, 0.12965636, -0.043352634, -0.22007716, -0.11945573, 0.17535049, -0.18496615, 0.09211835, -0.1083943, 0.02861594, 0.018325359, -0.008602158, -0.2642866, 0.23170324, -0.069464125) * g_10; + result += mat4(-0.08273795, 0.44922677, -0.17449674, 0.036582816, -0.2044118, -0.0785363, -0.010560787, -0.020391712, -0.1472953, 0.06526804, 0.036532953, 0.041924234, 0.22576968, 0.030341445, 0.06348345, 0.1657037) * g_11; + result += mat4(0.12300708, 0.10313409, -0.218913, 0.0925751, -0.04154223, 0.12221261, 0.17770545, -0.047017407, -0.11911827, 0.18008873, 0.07366393, -0.071406454, -0.1857546, -0.107086435, 0.13000482, 0.26223418) * g_12; + result += mat4(0.27922675, -0.020313295, 0.124291986, -0.4803649, 0.0820355, 0.0075657824, -0.42316064, 0.13983229, 0.036435798, 0.086694, -0.022463394, -0.07225639, 0.15858616, 0.13137603, -0.3139255, -0.045889717) * g_13; + result += mat4(0.009831248, -0.2589872, -0.27047434, 0.09680306, -0.25239283, -0.13848639, -0.06873848, 0.09892522, -0.111392066, -0.11744757, -0.0209528, 0.14345014, -0.17972618, -0.050757416, -0.11837715, 0.113276444) * g_14; + result += mat4(-0.079554394, 0.03549963, 0.08195095, 0.10447346, 0.22000594, -0.07855921, 0.08771018, -0.074869476, -0.06463524, -0.029571146, 0.07834643, -0.054893587, -0.031394493, 0.11804174, 0.011439201, -0.012135598) * g_15; + result += mat4(0.010138283, 0.123592444, 0.12088062, -0.072726145, -0.1476337, 0.05586365, -0.17523633, 0.1794935, -0.09707175, -0.0070755873, 0.015243624, 0.088103086, -0.09594741, 0.088290714, -0.25558707, -0.09352657) * g_16; + result += mat4(-0.07432931, -0.23920125, 0.085965216, 0.005462481, -0.038702115, -0.06904665, -0.11373804, 0.0004949891, 0.15440702, -0.05119101, -0.15140614, -0.053231947, 0.0789753, -0.033853266, -0.042450577, 0.21443205) * g_17; + result += mat4(0.20033926, 0.03339586, -0.038804412, 0.06836419, 0.042136673, 0.1732327, 0.1840776, 0.068900384, -0.014886417, 0.040377848, 0.14544998, -0.3117639, 0.062669605, -0.17392826, -0.10326911, 0.14575791) * g_18; + result += mat4(-0.1810851, -0.14432015, -0.023838026, 0.20591272, -0.12021834, 0.12145132, 0.23006062, -0.22292806, 0.121778086, -0.010450825, 0.07063981, -0.12191605, -0.093348175, -0.23857832, 0.019086037, 0.037132252) * g_19; + result += mat4(0.14685363, 0.11266721, -0.070741475, 0.12563772, -0.007161916, -0.06453287, 0.037466098, 0.048857793, -0.1628751, -0.22175354, 0.29700285, -0.11423984, 0.08846723, -0.23265848, 0.17491908, 0.080801815) * g_20; + result += mat4(-0.1363871, 0.025643691, -0.16553839, -0.19008316, 0.11270188, 0.117668256, 0.5445655, 0.00021881262, -0.30459318, 0.42322806, -0.1023466, 0.078944914, -0.2456569, -0.049000096, -0.2082636, 0.08840609) * g_21; + result += mat4(0.108215936, -0.12065532, 0.33155185, -0.08652035, 0.09861397, 0.266811, 0.22938332, -0.008803374, 0.2089193, -0.23314697, -0.12652464, -0.0832078, -0.11179262, -0.042625453, -0.33507705, 0.07660972) * g_22; + result += mat4(-0.11835138, 0.0343298, 0.038553935, 0.10861632, 0.14620744, -0.1603159, -0.06951457, -0.0954962, 0.026970498, -0.0077033173, -0.029423261, -0.26626873, 0.028545115, 0.21267426, 0.51278436, 0.027819967) * g_23; + result += vec4(-0.079484746, -0.06229742, -0.030395202, 0.033547744); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x96 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_12_tf3 +//!BIND conv2d_12_tf4 +//!BIND conv2d_12_tf5 +//!BIND conv2d_14_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv2d_15_tf4 +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.14196062, -0.02053057, -0.07263348, 0.22242844, -0.069366455, -0.07599116, -0.24256042, 0.054868866, -0.17625082, -0.007019716, -0.113896124, 0.06029265, -0.33038747, -0.24047355, -0.07707203, -0.12618175) * g_0; + result += mat4(0.2641447, 0.20302898, 0.11049544, 0.06935479, 0.08874244, -0.11180222, 0.22703084, -0.037252616, 0.049151152, -0.26571065, 0.2566087, -0.19559465, 0.026178649, -0.09336953, -0.15396582, -0.060832605) * g_1; + result += mat4(-0.14049934, 0.037963107, -0.21600282, -0.024867453, 0.23356499, 0.25709978, 0.20883206, 0.025470912, 0.081024416, 0.086439654, 0.039591312, 0.0703785, 0.08931542, -0.017118547, 0.08146628, -0.20914824) * g_2; + result += mat4(0.16301146, 0.055098668, -0.17369606, 0.1285926, -0.21210109, -0.21506578, 0.2993681, -0.18734126, 0.10324259, -0.10892179, 0.16455299, -0.09379545, 0.07187383, 0.18076982, -0.19408746, -0.14634538) * g_3; + result += mat4(-0.17136872, 0.18589741, -0.26261556, 0.27026632, -0.06397295, -0.19135362, -0.13612793, 0.04076611, -0.14749071, 0.0644836, 0.029172575, 0.14051709, 0.018954301, -0.17011856, 0.03518231, 0.14694777) * g_4; + result += mat4(0.01462739, 0.16519663, -0.06963009, -0.26547143, 0.053700965, -0.07965579, 0.030911697, 0.08216649, -0.09090798, -0.14469762, 0.101480395, 0.2453987, 0.16511187, 0.09583153, -0.051365204, -0.31418574) * g_5; + result += mat4(-0.14265122, 0.013500145, -0.27755547, -0.35044006, -0.28055587, 0.14820805, -0.07966734, 0.20943366, 0.3879986, 0.044507142, 0.28056288, 0.12725809, -0.043548014, 0.054243155, 0.053768754, -0.07648862) * g_6; + result += mat4(-0.16118912, -0.15949926, 0.10161533, 0.22494748, -0.14213897, 0.012663654, 0.19885182, -0.15045607, -0.17744212, 0.15615463, -0.17122573, 0.041775905, 0.16900201, 0.09705761, -0.003141293, -0.031626303) * g_7; + result += mat4(0.26178294, 0.13443723, -0.10966655, -0.025935082, 0.11178123, 0.10601803, 0.11125899, -0.04168405, 0.07152025, -0.12318109, 0.06391876, -0.26012185, -0.26537088, -0.01870863, -0.31110883, 0.072430775) * g_8; + result += mat4(-0.11461679, -0.11115381, -0.11512802, -0.0849818, -0.19124708, -0.09565243, -0.31988642, -0.007379634, 0.13623501, -0.27210787, 0.20422134, 0.17212251, 0.20176752, -0.2088367, 0.057676136, 0.26400682) * g_9; + result += mat4(0.06382013, -0.019412925, 0.11166499, -0.1167881, -0.071942225, 0.018743433, -0.14072515, -0.07148564, -0.10749998, 0.12237429, -0.10744663, 0.04025467, 0.26050708, 0.351076, -0.02934236, -0.22102655) * g_10; + result += mat4(-0.10656222, -0.09071829, -0.34339997, -0.07646886, 0.02796594, 0.005340661, 0.115450874, 0.14969155, 0.03835863, -0.010790472, -0.05871064, 0.01423236, 0.22537707, 0.33385828, -0.15029915, 0.07367339) * g_11; + result += mat4(0.30884805, -0.23663065, 0.031883277, -0.03320561, -0.050423212, -0.3281527, 0.10394608, -0.0749873, -0.064002484, -0.35469085, -0.2122367, 0.020249272, -0.27326742, 0.02000293, 0.20578866, -0.018839063) * g_12; + result += mat4(-0.5473822, -0.10873662, -0.29810318, -0.07632667, 0.047157068, 0.06275736, -0.09811392, 0.24783231, -0.12046891, 0.41266727, 0.2436679, 0.024679149, -0.12600063, -0.17010899, -0.21425788, 0.07119708) * g_13; + result += mat4(0.117677234, -0.054181933, 0.065846235, -0.04929893, 0.08533609, 0.04636543, 0.30038458, 0.02330411, 0.024728734, -0.09597387, 0.010447719, -0.20696889, -0.017916039, 0.079871304, 0.010056369, 0.06291176) * g_14; + result += mat4(-0.0579763, 0.018944405, -0.14009921, 0.08765421, -0.029314717, -0.13179289, -0.009668318, -0.117530614, -0.0853067, 0.03650012, 0.0078530945, -0.19518211, -0.05920554, 0.19264583, 0.008880586, -0.03560413) * g_15; + result += mat4(0.042966127, 0.025064057, 0.094821475, -0.016764855, -0.21325764, -0.060747217, -0.07825418, -0.1374183, 0.06629058, -0.093919374, 0.15805462, 0.1187494, 0.21715021, -0.09113653, 0.06076613, 0.1753257) * g_16; + result += mat4(0.23275353, -0.045174975, 0.17990083, -0.03170214, -0.20888183, -0.050161786, -0.44225174, -0.07750995, 0.055791933, 0.1754295, 0.13890503, -0.087261945, 0.015942331, -0.002073752, 0.23700726, -0.1406417) * g_17; + result += mat4(-0.17989896, 0.052198254, 0.09631692, -0.16038898, 0.03376904, -0.042175625, -0.039186575, -0.2520231, 0.04852203, 0.09647585, -0.011128373, 0.010953865, -0.1797949, -0.058203597, 0.06857295, 0.040861364) * g_18; + result += mat4(-0.025050908, -0.1299404, 0.28858674, -0.017769823, 0.06310829, 0.086729944, 0.08149323, -0.055179875, 0.13012943, -0.07458519, 0.1382156, 0.051026117, -0.18673064, 0.086739376, 0.09040544, 0.0836127) * g_19; + result += mat4(0.020357449, 0.22048305, 0.09739252, 0.24337311, 0.010595294, -0.11086683, 0.059038695, 0.05644574, -0.16103926, -0.035155784, -0.26436335, -0.06716334, 0.17485845, 0.16937979, -0.20187125, -0.038486667) * g_20; + result += mat4(-0.0045594163, -0.21635443, 0.06031479, -0.19148222, -0.006656789, 0.08385509, -0.03819692, -0.17931695, 0.07232661, 0.23445003, -0.17640385, 0.16671506, -0.184719, -0.029015712, -0.022614706, 0.014873415) * g_21; + result += mat4(0.32585597, -0.16295198, 0.04640218, 0.07696528, 0.069500424, 0.105702765, 0.1296909, 0.24009204, 0.14028086, 0.28418058, 0.11589889, -0.22921228, 0.010826454, -0.054120503, -0.25884682, -0.30648708) * g_22; + result += mat4(0.07101887, -0.41187993, 0.31501228, -0.11794851, -0.20814322, -0.18655151, 0.14477637, -0.22380604, -0.058629174, -0.02504061, -0.09827353, 0.046498295, 0.18585126, 0.011712637, -0.10845518, -0.1348349) * g_23; + result += vec4(0.04891512, -0.022042824, 0.015331318, -0.0034486696); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x96 +//!HOOK MAIN +//!BIND conv2d_12_tf +//!BIND conv2d_12_tf1 +//!BIND conv2d_12_tf2 +//!BIND conv2d_12_tf3 +//!BIND conv2d_12_tf4 +//!BIND conv2d_12_tf5 +//!BIND conv2d_14_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!SAVE conv2d_15_tf5 +//!WIDTH conv2d_12_tf.w +//!HEIGHT conv2d_12_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_1 (max((conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_12_tf_tex(conv2d_12_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_12_tf1_tex(conv2d_12_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_12_tf2_tex(conv2d_12_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_12_tf3_tex(conv2d_12_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_12_tf4_tex(conv2d_12_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_12_tf5_tex(conv2d_12_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_14_tf_tex(conv2d_14_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.1563384, -4.2348038e-05, 0.21088852, -0.10074043, -0.2737169, 0.19910938, -0.06523852, 0.08260719, 0.06681506, 0.08398279, 0.08112851, -0.06271677, 0.19443683, 0.3140938, 0.06358846, -0.24377517) * g_0; + result += mat4(-0.07703153, -0.0842186, 0.01512419, 0.091211595, -0.11350783, 0.08426691, -0.028900454, 0.11823197, 0.04875585, 0.03750477, 0.19681686, -0.04269959, 0.036398802, 0.047569744, 0.12544703, -0.026172163) * g_1; + result += mat4(0.29032633, 0.050980248, 0.058194604, -0.019475559, 0.17345822, -0.24062975, -0.21322982, 0.42244488, 0.06804174, -0.18426242, -0.10372379, -0.07140781, 0.18495008, -0.34838748, 0.12188065, -0.19211207) * g_2; + result += mat4(-0.29782, 0.13921519, -0.08461761, -0.107774965, 0.08354831, 0.118166685, 0.1622595, 0.03740301, 0.08480873, 0.078856945, -0.037666395, 0.08779327, -0.041599847, -0.08245203, 0.1429502, 0.08010295) * g_3; + result += mat4(0.1605823, 0.00014730562, 0.016887885, -0.040745202, 0.17265643, 0.29641476, -0.12986568, -0.05113458, 0.076540425, 0.15484014, -0.23496233, 0.19515266, -0.028631026, -0.038202707, -0.080664515, 0.12057771) * g_4; + result += mat4(0.11460453, -0.050684724, 0.20615812, 0.01643888, -0.10416711, 0.100582175, 0.035920016, -0.025840579, 0.1103276, 0.2833988, 0.024743505, -0.10666319, 0.17747831, 0.21371357, 0.032975666, -0.04190704) * g_5; + result += mat4(0.011197512, 0.16411427, -0.19208677, -0.17151442, 0.16737005, 0.027391635, -0.026951822, -0.016613541, 0.0032831782, -0.059412222, -0.066838935, -0.10225273, 0.0021287128, 0.023737555, 0.13474901, -0.04558329) * g_6; + result += mat4(-0.19312629, -0.01058644, -0.21747608, -0.1474776, 0.042395744, -0.17641127, -0.16623084, 0.09171901, -0.21876743, 0.22580327, -0.084752835, -0.25452504, 0.07984656, -0.4423898, -0.22987825, -0.08352869) * g_7; + result += mat4(0.0069102994, -0.110352114, -0.07521295, 0.099378504, 0.001659902, -0.0038716302, 0.037715383, -0.11712855, 0.12579428, 0.0017785282, -0.22036885, -0.019738209, -0.0034085102, 0.26078427, -0.12166613, 0.2008257) * g_8; + result += mat4(-0.038544666, -0.07219808, 0.028675534, 0.099281736, -0.23815387, 0.03485132, 0.046542224, -0.3781598, 0.19114049, -0.08161937, 0.06317728, 0.20634823, 0.0802016, -0.1216539, 0.25130817, -0.13255747) * g_9; + result += mat4(-0.05713687, -0.019339267, 0.066463225, 0.11161798, -0.21163659, 0.075951084, -0.029443193, -0.25528103, -0.2308967, -0.15222046, 0.04718688, 0.06978249, 0.12882593, -0.5987798, -0.12197535, 0.030687023) * g_10; + result += mat4(-0.13764851, 0.15330292, 0.16018312, -0.49503544, -0.16520153, 0.13832116, -0.024153056, 0.027324235, -0.09427501, -0.040549293, -0.024912398, 0.08060826, 0.09142337, 0.00488734, -0.15568374, -0.0985281) * g_11; + result += mat4(-0.10500595, 0.20050812, -0.01487173, 0.15295555, -0.04712123, 0.051116835, -0.302946, 0.12568721, -0.1681454, -0.07675961, -0.3161021, -0.12655284, -0.3167647, 0.09684754, -0.16133003, 0.15951052) * g_12; + result += mat4(0.15607205, -0.25850067, 0.11871884, -0.31882218, 0.17650777, -0.019189376, 0.1073271, 0.0034152938, 0.10415428, 0.0054145185, 0.16176777, -0.10523716, 0.07847772, 0.040496692, 0.22647256, 0.04398088) * g_13; + result += mat4(0.24400397, -0.0384044, -0.21188568, 0.27411124, 0.14313321, 0.072909415, 0.18460783, 0.14612274, 0.2838993, 0.140949, -0.21245211, 0.27844483, 0.14368927, 0.016486926, 0.1082019, -0.060620487) * g_14; + result += mat4(-0.14134651, -7.1389e-05, -0.19200438, -0.053445943, -0.103280954, -0.20622449, 0.029827105, -0.2797714, 0.1552006, -0.26046538, -0.13706698, 0.083868355, -0.25775772, -0.20121866, -0.03605909, -0.069998674) * g_15; + result += mat4(0.058855478, -0.1532865, 0.03206366, -0.005691445, -0.38566765, -0.16169494, 0.02574184, -0.054270905, -0.12126733, -0.057428207, 0.18522896, -0.16544363, -0.26917803, -0.12187415, 0.17564186, -0.14418602) * g_16; + result += mat4(-0.05512333, 0.037456047, -0.04533679, 0.12092291, -0.19412133, -0.10732244, -0.26686874, 0.379613, 0.06616941, 0.21898451, -0.01444954, 0.12263187, -0.066122636, -0.0626703, -0.11018273, 0.16922808) * g_17; + result += mat4(0.12281162, -0.00843568, -0.11958423, 0.03653139, 0.089102715, 0.07257941, -0.16025232, 0.012180051, -0.15409741, -0.11771615, -0.02216731, -0.1854874, -0.0236496, -0.055969007, -0.21524337, -0.13740915) * g_18; + result += mat4(0.030042715, -0.06231122, -0.18729754, 0.21269098, -0.16715202, -0.29836708, 0.07573045, 0.13103722, 0.028832506, -0.027299328, -0.0870532, -0.025646947, -0.19446446, 0.0058135786, -0.1405455, 0.07491713) * g_19; + result += mat4(-0.07880487, -0.13220546, 0.06522037, 0.121417455, 0.009829517, 0.06654325, 0.2568132, -0.20259766, 0.0007492223, -0.08141206, -0.24408619, 0.0041711377, 0.17885362, -0.018794749, -0.18738106, -0.20076036) * g_20; + result += mat4(0.43662158, -0.073237136, 0.06410434, 0.0768924, -0.22872317, -0.07136076, 0.08949116, -0.020143397, 0.000121645106, -0.11288245, 0.33393764, 0.16950496, -0.11639818, 0.13381785, 0.023384197, 0.16942506) * g_21; + result += mat4(0.020018844, -0.18646887, -0.0069234655, 0.09404709, 0.1482564, 0.039720826, -0.15250199, -0.010954307, -0.10006045, 0.024348486, 0.15170497, -0.19681026, -0.17672434, -0.040419213, -0.26169667, -0.20060538) * g_22; + result += mat4(-0.15089865, -0.09773179, 0.13388306, -0.2330703, 0.20980428, 0.05050314, 0.26115113, 0.11146053, -0.10908558, 0.29291332, 0.08921834, -0.059216894, 0.14480549, 0.10386442, 0.28325698, -0.02240901) * g_23; + result += vec4(0.009868551, -0.021667233, 0.06688179, -0.050735172); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_15_tf3 +//!BIND conv2d_15_tf4 +//!BIND conv2d_15_tf5 +//!SAVE conv2d_17_tf +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_15_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_15_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_15_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_15_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_15_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_15_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.13909039, -0.2758443, -0.15549822, -0.21690473, -0.07923852, -0.09169328, 0.09857283, -0.038407415, 0.026662275, -0.14345916, -0.06419781, 0.10444112, 0.056220166, -0.058079287, -0.06320064, -0.028494911) * go_0(-1.0, -1.0); + result += mat4(0.15624148, 0.10268067, -0.016454808, 0.016080856, -0.015272284, -0.08522293, 0.0873229, -0.024027828, 0.10366319, 0.24151047, 0.05591687, 0.13326511, -0.09852231, 0.015153752, 0.2225204, -0.09891376) * go_0(-1.0, 0.0); + result += mat4(-0.24936886, 0.14448532, -0.022069195, -0.17893305, -0.036762826, 0.020932999, -0.14078294, -0.025846701, -0.017136928, 0.084727734, -0.065261126, -0.079833455, 0.035541777, -0.31848356, 0.11859154, -0.059010625) * go_0(-1.0, 1.0); + result += mat4(-0.11268288, 0.09472596, 0.019250976, 0.28094825, 0.011346067, 0.035015494, 0.0968698, -0.10769359, 0.030088216, -0.17863207, -0.047283698, -0.23173922, -0.15179567, 0.17011616, 0.16418608, 0.12054937) * go_0(0.0, -1.0); + result += mat4(-0.01975749, -0.022133604, 0.06773859, -0.13298218, -0.13343452, -0.14723383, 0.066827744, 0.15123478, 0.10071557, 0.10771438, -0.102727406, 0.12027581, 0.094043024, 0.19802345, 0.26050565, -0.017552424) * go_0(0.0, 0.0); + result += mat4(0.06427193, -0.3156719, -0.21497993, -0.11312501, 0.07889608, -0.14012727, 0.08701214, -0.010441211, 0.07672145, -0.24959035, 0.02568503, 0.09305062, 0.32068336, -0.12372654, 0.14856067, 0.0033550626) * go_0(0.0, 1.0); + result += mat4(0.1444462, -0.26448715, -0.072086915, 0.06998635, -0.124471135, 0.022079868, -0.017912114, 0.13363993, -0.03071384, -0.047221437, -0.05649517, 0.016927326, -0.018473048, 0.1990699, 0.11751022, -0.23560514) * go_0(1.0, -1.0); + result += mat4(0.09064013, -0.20314787, -0.13019052, -0.15806477, 0.043258376, 0.036779925, -0.096650146, 0.29370993, -0.11641966, 0.16166396, -0.17143643, -0.07076745, 0.16507551, 0.14331506, -0.19428208, -0.13578305) * go_0(1.0, 0.0); + result += mat4(-0.011135427, -0.08528984, 0.13338107, 0.24289025, 0.021911498, -0.06663322, -0.19145428, 0.1247173, 0.10634343, 0.059987687, -0.06845577, 0.24554275, 0.07028687, -0.044211626, -0.009483901, 0.09419117) * go_0(1.0, 1.0); + result += mat4(-0.0026129098, -0.17574309, 0.026859857, 0.027474795, -0.034411624, -0.14238088, -0.077630945, 0.114882454, -0.27058813, 0.12177941, 0.111984365, -0.28255796, -0.2245185, -0.04338974, -0.0660627, -0.059915736) * go_1(-1.0, -1.0); + result += mat4(0.06892073, -0.045175124, -0.12761256, 0.10170286, -0.05765309, -0.0023109026, -0.19990581, 0.06436732, -0.13688049, 0.1295112, 0.22120035, -0.19151583, -0.018821288, -0.039281663, 0.028450448, 0.06327554) * go_1(-1.0, 0.0); + result += mat4(-0.2221726, 0.030984212, 0.14921308, 0.02191454, -0.11420433, 0.3331954, 0.01680598, 0.016501935, -0.035378505, 0.1533518, 0.15650067, 0.3825426, 0.0036855275, 0.040003296, 0.023097156, -0.07425845) * go_1(-1.0, 1.0); + result += mat4(0.0092148, -0.08188161, 0.12125656, 0.022932237, 0.07331983, -0.0037753046, -0.06377172, 0.016332872, 0.37620664, 0.15967114, 0.49295172, -0.58731335, -0.08408415, -0.050906483, 0.23563771, 0.031643428) * go_1(0.0, -1.0); + result += mat4(0.04720337, -0.25609496, -0.25205976, 0.15615444, -0.08850946, 0.061378974, 0.09682221, 0.07092605, -0.24774401, 0.002368409, -0.15355378, -0.25011083, 0.06426719, -0.07044866, -0.19390436, 0.13299207) * go_1(0.0, 0.0); + result += mat4(0.19630235, -0.0033910607, -0.24319367, -0.004994967, -0.10829249, -0.029953144, 0.16902646, 0.026392145, -0.5281548, 0.039464116, 0.12516351, 0.24137491, 0.32027858, 0.26550376, 0.07770324, -0.14738972) * go_1(0.0, 1.0); + result += mat4(-0.07044386, 0.017632812, 0.03397031, 0.02325153, -0.07033528, 0.009580951, 0.12427126, 0.023936138, 0.12422283, -0.021284323, -0.3568679, -0.18785962, 0.060772985, 0.08322054, -0.05543489, -0.017640945) * go_1(1.0, -1.0); + result += mat4(0.037026495, -0.08138431, -0.25361013, -0.063190304, -0.12435272, -0.0121310325, 0.028444627, 0.1159856, 0.29287088, 0.17523797, 0.34694648, -0.03419562, 0.05540643, 0.022938663, 0.015469776, -0.3007707) * go_1(1.0, 0.0); + result += mat4(0.10364684, 0.010591817, -0.29896963, 0.008337799, -0.07768124, -0.03402122, 0.08162434, -0.04535153, -0.04413717, -0.04104856, 0.09944295, 0.1630799, -0.025836414, -0.006144375, -0.042212676, 0.017850246) * go_1(1.0, 1.0); + result += mat4(-0.0014995555, 0.1301909, -0.13113633, 0.044282097, -0.030331785, -0.06741536, -0.10394319, -0.10032595, -0.0024030337, 0.0025035767, 0.123267144, 0.020269886, -0.061000597, 0.050499044, 0.16068412, 0.08382042) * go_2(-1.0, -1.0); + result += mat4(0.048839077, -0.11403855, 0.23305576, 0.013233186, 0.00027583016, 0.06457909, -0.31317908, 0.13246149, -0.022993272, -0.003232102, -0.2850458, -0.0021278018, -0.05313734, 0.042667508, 0.10002862, -0.09310937) * go_2(-1.0, 0.0); + result += mat4(-0.077087514, -0.0731581, -0.033167798, 0.22322518, -0.0072739185, 0.06759429, 0.13072832, -0.030112708, 0.17211108, 0.044867992, 0.12458611, 0.12558623, -0.08141064, -0.07691179, 0.04704071, -0.009616284) * go_2(-1.0, 1.0); + result += mat4(-0.061900582, 0.05083524, -0.07481879, -0.008148896, -0.25680214, -0.19532341, -0.0077763074, -0.18943709, 0.062092744, -0.06780607, 0.20470539, -0.100939944, -0.083406664, 0.039849486, 0.057403386, -0.034012284) * go_2(0.0, -1.0); + result += mat4(0.063984595, -0.046671912, -0.11180163, 0.16569868, 0.13651815, -0.26504683, 0.3516574, -0.16390952, 0.22006357, 0.014418034, -0.032192435, 0.24635631, 0.15570761, -0.05709386, 0.0021393108, 0.10958737) * go_2(0.0, 0.0); + result += mat4(-0.20880438, 0.23150757, -0.28669757, -0.06300997, 0.16522118, -0.15836449, -0.13945056, 0.08054381, -0.17826983, 0.29809955, 0.05596465, -0.13098064, -0.07391586, 0.033108216, 0.017372966, 0.0759838) * go_2(0.0, 1.0); + result += mat4(-0.10118925, -0.0628758, 0.15791777, -0.06281725, -0.106398635, -0.20697908, 0.08337917, 0.21240014, -0.019651197, 0.17935011, -0.047345538, -0.05023177, -0.16398883, -0.022196433, 0.06758503, -0.045874797) * go_2(1.0, -1.0); + result += mat4(-0.11229549, -0.2022966, 0.011829877, 0.043107063, 0.009853597, 0.0050366563, 0.26873958, 0.18433554, 0.14746298, 0.14415571, -0.017679501, 0.27438703, -0.1302988, 0.12988916, 0.088153414, 0.106513605) * go_2(1.0, 0.0); + result += mat4(0.10376787, -0.0047222245, 0.08310562, -0.16133316, 0.10729247, -0.19027553, -0.20316097, -0.016623149, -0.016964545, -0.118997425, 0.2874691, -0.08105579, 0.074227005, -0.11183289, 0.014021094, 0.10651369) * go_2(1.0, 1.0); + result += mat4(-0.102301665, -0.15467137, -0.11269468, 0.1661824, -0.11272104, 0.032636076, 0.18424207, 0.04376825, -0.0205868, 0.049006972, 0.18137778, 0.16302183, -0.00424216, -0.11100643, -0.14523934, -0.12987468) * go_3(-1.0, -1.0); + result += mat4(-0.33604157, 0.23738097, 0.029106395, 0.23771285, 0.11055132, -0.2735294, -0.0037745454, -0.10978288, -0.04494175, 0.013818023, -0.054236915, 0.0723093, -0.10448047, 0.05279135, -0.18257608, 0.11979242) * go_3(-1.0, 0.0); + result += mat4(-0.1841309, -0.23492603, 0.19893481, 0.11349696, -0.11672084, 0.13324858, -0.2366, 0.08350877, 0.012535251, -0.120517224, -0.12162933, 0.025766864, -0.15014678, 0.12059762, 0.20399652, -0.067410246) * go_3(-1.0, 1.0); + result += mat4(0.04617167, -0.34310207, 0.08195369, -0.15616603, 0.024950216, 0.122991696, 0.008032626, -0.11081737, 0.0040866514, 0.18364492, -0.22554733, 0.11328397, 0.047641527, -0.02355604, -0.051569168, -0.22984326) * go_3(0.0, -1.0); + result += mat4(-0.14225705, 0.16004431, -0.10378764, -0.05134365, 0.06683132, -0.06686414, -0.24326906, -0.15534434, -0.10464304, 0.016448364, -0.10384352, 0.07529887, 0.011004206, -0.23186995, -0.06498495, -0.07485197) * go_3(0.0, 0.0); + result += mat4(-0.1890264, -0.028579775, 0.25052974, -0.0899001, -0.090341054, 0.13559796, -0.08127747, -0.21338242, 0.24483396, 0.15507841, 0.3770633, 0.020311723, -0.061488036, 0.18489219, 0.008634561, -0.1597712) * go_3(0.0, 1.0); + result += mat4(-0.16108932, 0.05586405, 0.2534061, 0.25871462, -0.09135027, 0.09132565, 0.028403942, 0.027694112, 0.06779926, -0.12804149, 0.062858626, 0.028454801, 0.11352658, -0.07949642, -0.016915841, 0.12785897) * go_3(1.0, -1.0); + result += mat4(-0.31907973, -0.2955643, -0.19522569, -0.0751009, -0.015303356, -0.112959474, 0.08869113, 0.0732943, -0.07149481, 0.002695743, 0.03773263, -0.044481702, -0.021202443, -0.20461376, 0.20072573, 0.23126262) * go_3(1.0, 0.0); + result += mat4(-0.36653942, -0.36269066, 0.081035845, -0.110896215, 0.038701706, 0.060472537, 0.020380666, -0.14816844, -0.016741281, 0.084674925, 0.13354097, -0.023672685, -0.15291119, 0.04002789, 0.07335849, -0.037627537) * go_3(1.0, 1.0); + result += mat4(-0.008673169, -0.12660311, -0.13337144, -0.20242535, -0.101681665, -0.13349582, 0.07505943, -0.025799042, -0.041546036, -0.07736284, 0.05239524, -0.15647385, 0.04111171, -0.20901166, -0.0526622, 0.030413227) * go_4(-1.0, -1.0); + result += mat4(-0.07487002, 0.040332016, -0.14120328, -0.04701788, -0.04360172, 0.12811565, -0.1113337, -0.030318746, 0.11375393, -0.093662485, 0.03385616, -0.0022751305, -0.12489098, -0.026874684, -0.24579959, 0.013010173) * go_4(-1.0, 0.0); + result += mat4(-0.07372643, 0.18297254, -0.028478106, -0.008717404, 0.038709726, -0.022668438, -0.0732216, -0.0829887, 0.054860383, -0.009276055, -0.09860318, -0.049871683, -0.28299806, -0.041934796, 0.2505882, -0.032173693) * go_4(-1.0, 1.0); + result += mat4(0.13445882, 0.0033110396, -0.12116477, -0.08307828, -0.017451935, -0.023367306, -0.038925555, 0.03924459, -0.019196004, -0.02519389, -0.013562478, 0.13910593, 0.12227717, -0.08626162, -0.059534617, 0.030682085) * go_4(0.0, -1.0); + result += mat4(-0.04196557, -0.15377608, 0.1608032, 0.034342743, -0.053290907, 0.051387772, -0.16699827, 0.044285215, 0.008832169, 0.052270584, 0.041454945, -0.006071726, 0.05015283, -0.21361513, 0.083012946, 0.07607907) * go_4(0.0, 0.0); + result += mat4(0.15000594, 0.0042617917, 0.101946175, -0.059992336, 0.13995732, -0.38615412, 0.26871172, -0.0046315813, 0.17025274, 0.07934237, -0.077165954, -0.0054563023, -0.2301452, 0.25195897, -0.38461035, 0.15330611) * go_4(0.0, 1.0); + result += mat4(0.04157544, 0.07212675, -0.103968576, -0.15415806, 0.2563668, -0.2369459, -0.18235768, -0.24526633, -0.037135158, 0.12124387, -0.08148078, -0.0028853384, -0.007335673, 0.09702607, 0.22647065, 0.14188774) * go_4(1.0, -1.0); + result += mat4(0.10114878, 0.0351115, -0.12385709, -0.032150026, 0.25611925, -0.036220055, 0.16853644, -0.13350716, -0.15553926, 0.074083425, 0.03360209, -0.073123485, -0.070041016, -0.21496736, -0.10243518, 0.010437876) * go_4(1.0, 0.0); + result += mat4(0.23012021, 0.0836258, -0.02981391, -0.04365956, -0.051685587, 0.13548537, -0.3169609, 0.055783328, -0.1550518, -0.09620564, -0.08309336, 0.071679845, -0.09279163, -0.0561111, -0.2295513, 0.24521232) * go_4(1.0, 1.0); + result += mat4(-0.037253235, -0.026520647, -0.09566477, 0.15695392, -0.122776255, -0.031096917, -0.044822488, 0.01060704, 0.03157306, 0.050428607, -0.066618994, -0.08425711, 0.1473465, -0.25745878, -0.060366634, -0.12008342) * go_5(-1.0, -1.0); + result += mat4(-0.011078341, 0.027539099, 0.15779525, -0.067304894, -0.1591148, -0.097967476, -0.032539785, -0.052926525, -0.008908821, 0.008216224, -0.40340182, 0.008872353, 0.3340951, -0.17875054, -0.09253849, 0.047155526) * go_5(-1.0, 0.0); + result += mat4(-0.16404615, -0.09376233, -0.041966893, 0.034957785, -0.11438417, 0.024785591, -0.030300578, 0.026026629, -0.068672195, 0.16724177, -0.16100673, -0.031766005, 0.09979277, 0.0538496, -0.066007175, -0.016093686) * go_5(-1.0, 1.0); + result += mat4(0.060630973, -0.017554684, -0.11957564, -0.14892419, 0.055714674, 0.032214552, 0.03398715, 0.018592743, -0.1596073, -0.124622695, 0.08812776, -0.020174626, -0.12595415, 0.1456831, -0.043447234, 0.07223222) * go_5(0.0, -1.0); + result += mat4(0.0010805799, 0.05387183, -0.2571777, 0.050741445, -0.09997847, -0.1557091, 0.18392503, 0.12039084, 0.07885244, 0.102989115, -0.029234922, 0.01137038, -0.054865573, -0.25655657, -0.33009508, -0.051609207) * go_5(0.0, 0.0); + result += mat4(-0.070446484, -0.00224974, 0.1239982, -0.11459958, 0.0024434652, -0.393679, -0.13201751, 0.08711358, -0.23437908, 0.035677426, -0.39337155, 0.005934404, 0.3491559, 0.25350767, 0.09993129, -0.07072839) * go_5(0.0, 1.0); + result += mat4(-0.008759921, -0.20802578, 0.08683231, 0.113270685, 0.061152767, -0.069236055, -0.07917374, 0.027281659, 0.07856486, 0.049981315, -0.04226256, -0.004406337, -0.021302069, -0.075048864, 0.16314836, -0.12013849) * go_5(1.0, -1.0); + result += mat4(-0.16938247, -0.014742774, 0.1026985, 0.095212705, -0.17734753, -0.0020493171, -0.029607011, 0.30651745, 0.25243115, 0.27554476, 0.15904164, 0.099156715, -0.015341671, -0.0315933, 0.07855402, -0.040043738) * go_5(1.0, 0.0); + result += mat4(0.05406678, -0.058036998, -0.04598334, -0.114318036, 0.020411186, 0.056215134, 0.102886714, -0.049338676, 0.008663635, -0.085066214, -0.16656749, 0.09509919, 0.02906117, -0.07829417, 0.0065315356, 0.1818375) * go_5(1.0, 1.0); + result += mat4(0.11784757, 0.15196525, -0.012267878, 0.0326725, 0.061197367, 0.33910602, -0.2897766, 0.10921504, -0.02350378, 0.19466712, -0.0051001427, -0.13693924, 0.057629026, -0.043186672, 0.028606823, 0.09317606) * go_6(-1.0, -1.0); + result += mat4(-0.0034465888, 0.05826342, -0.04635851, 0.09413523, -0.24812989, 0.020975882, -0.11784931, -0.49697608, 0.06101307, 0.15959628, 0.075861916, 0.06393995, -0.017243123, -0.044645563, -0.068328395, 0.14335583) * go_6(-1.0, 0.0); + result += mat4(-0.07523311, -0.06263087, 0.0973451, 0.07584768, 0.17459244, -0.033139996, -0.2327719, -0.14534807, -0.022834755, 0.12956591, 0.18827121, -0.11354672, 0.078884386, -0.1656034, 0.16169351, 0.12600134) * go_6(-1.0, 1.0); + result += mat4(0.02865495, 0.005648868, 0.11464043, 0.03150406, -0.3866024, -0.0057220804, -0.21009535, -0.03840084, 0.0018173476, -0.07936894, -0.0227281, -0.08966349, 0.090553306, -0.10199008, -0.08284879, 0.14776452) * go_6(0.0, -1.0); + result += mat4(-0.009038248, 0.1564268, 0.07435393, 0.08683525, -0.1457474, -0.03687715, 0.042603455, -0.34755293, 0.051645085, 0.043888066, 0.25095537, 0.21353814, 0.029425861, 0.055498373, -0.10789036, -0.16481747) * go_6(0.0, 0.0); + result += mat4(-0.045311604, 0.21687967, 0.114112265, 0.00454178, -0.149192, 0.017658519, -0.40851355, 0.31583047, -0.04683654, -0.3467299, 0.619965, -0.16810362, -0.26472715, 0.3082763, -0.2468203, -0.11711898) * go_6(0.0, 1.0); + result += mat4(-0.111278296, -0.05868077, -0.120163985, -0.03745941, -0.13061905, -0.117748894, -0.16957714, 0.05523612, -0.05025911, -0.13162445, -0.016982518, 0.24426734, 0.07833684, -0.088236265, 0.16698395, 0.06480712) * go_6(1.0, -1.0); + result += mat4(-0.05927047, -0.016506393, 0.012789736, 0.2545139, 0.022674235, -0.040305577, -0.12091125, -0.07738389, 0.0040209335, 0.25576395, 0.5333323, 0.19964552, 0.122314125, -0.10639435, 0.22482087, 0.061201617) * go_6(1.0, 0.0); + result += mat4(0.084376596, -0.046845324, 0.048730686, -0.09005462, -0.11589907, -0.11733657, -0.15773758, -0.09303503, 0.093226396, 0.07841223, 0.23914182, -0.018904453, -0.15727162, -0.12529942, -0.16354872, -0.09661223) * go_6(1.0, 1.0); + result += mat4(-0.040913723, 0.02798578, 0.02093159, -0.11501497, 0.036032062, 0.17336668, -0.1654523, 0.028821146, -0.07945883, 0.18162672, 0.1239489, 0.07338697, 0.12251481, -0.1172443, 0.20654924, 0.024337847) * go_7(-1.0, -1.0); + result += mat4(0.09716631, 0.08941966, 0.16452065, -0.044933386, -0.09959851, 0.19650124, 0.13150546, 0.014816788, -0.086929925, -0.091300584, 0.00024435768, 0.06329388, -0.037427034, 0.074468, -0.20052099, -0.061800152) * go_7(-1.0, 0.0); + result += mat4(0.25020435, -0.20010567, 0.019679952, -0.15620379, 0.071130276, -0.14381228, 0.20192291, -0.0008438686, 0.08002118, 0.0784212, -0.009264005, -0.023239953, 0.0095817195, -0.12950145, 0.038471617, 0.07342353) * go_7(-1.0, 1.0); + result += mat4(-0.087789975, 0.2463213, 0.021951843, -0.12794462, -0.15869214, -0.18868987, -0.11159612, -0.14976893, 0.10351116, 0.1274431, -0.01969838, -0.0076552248, -0.0006461016, -0.0926574, -0.019262115, 0.030400418) * go_7(0.0, -1.0); + result += mat4(0.061089955, 0.05000192, 0.11977627, 0.056870725, 0.22805236, -0.030692523, 0.15990539, 0.083296835, 0.07505952, 0.06873476, 0.014470665, -0.07636467, -0.22690421, -0.20069449, -0.17543827, 0.08298479) * go_7(0.0, 0.0); + result += mat4(-0.07189131, -0.11762644, -0.12575404, 0.10370871, 0.12332356, -0.046677854, 0.21227968, 0.06279761, 0.13968347, -0.027262172, -0.120420314, 0.019570515, -0.3085974, 0.04807007, -0.17707512, 0.00752846) * go_7(0.0, 1.0); + result += mat4(-0.06786461, 0.15617526, -0.07216718, -0.029348021, -0.041125156, 0.030867932, 0.07076468, -0.01810742, -0.10790692, 0.104086064, 0.006204306, -0.08545314, 0.23472832, -0.14673206, -0.10639837, -0.06595011) * go_7(1.0, -1.0); + result += mat4(-0.06136437, 0.16784053, -0.038059548, -0.08008033, -0.049955796, 0.02287975, 0.0059477366, -0.03131951, -0.063500084, 0.090395495, -0.027604252, 0.016279705, 0.12290479, 0.020871479, 0.03919543, -0.10967681) * go_7(1.0, 0.0); + result += mat4(0.039973337, 0.027691754, 0.14868133, 0.05149113, -0.009143724, -0.026378326, -0.0156791, -0.0068888855, -0.04961299, 0.059001666, -0.15060659, 0.1610033, -0.14264539, -0.0022589972, 0.12963666, 0.1101199) * go_7(1.0, 1.0); + result += mat4(0.11696848, -0.13130292, -0.030778598, -0.038440518, -0.028006898, -0.07885486, -0.038972564, 0.06027651, 0.055763684, 0.06777442, 0.087736554, -0.07307286, -0.024117883, 0.04635496, 0.12634148, -0.041341092) * go_8(-1.0, -1.0); + result += mat4(0.015842682, 0.006681906, -0.112242535, -0.0064941393, 0.10971463, -0.10721869, 0.005437418, -0.038686156, 0.008997847, 0.007503885, -0.005682379, -0.0010084822, -0.09279049, -0.02836967, 0.12744543, -0.035190586) * go_8(-1.0, 0.0); + result += mat4(0.17166656, -0.2404988, 0.036117777, 0.06253758, -0.045930505, -0.016349874, 0.09144012, 0.024884766, 0.14448464, -0.14644946, -0.18046178, -0.057021074, 0.065232635, -0.10504392, -0.050163295, -0.028002426) * go_8(-1.0, 1.0); + result += mat4(0.09865265, -0.15111761, -0.08438762, -0.2322315, 0.042663135, 0.08788523, -0.09613376, 0.15999563, -0.009971801, -0.09002813, -0.03872518, 0.04037108, -0.01300371, -0.0593082, -0.046625085, 0.14121045) * go_8(0.0, -1.0); + result += mat4(-0.02504897, -0.23124105, -0.14960161, -0.059709363, -0.045559667, 0.0934396, -0.08820011, 0.04594991, -0.050889697, -0.25586852, 0.0644002, -0.07764009, 0.119924605, 0.20602806, -0.04603095, -0.0057721743) * go_8(0.0, 0.0); + result += mat4(0.28343758, 0.1478245, -0.15181027, -0.06351228, -0.09967896, 0.03955357, 0.23260047, -0.02553873, -0.10992018, -0.030077389, -0.3894485, -0.14417149, 0.24983008, 0.12220668, 0.0003131071, -0.010381386) * go_8(0.0, 1.0); + result += mat4(0.23594774, -0.118130445, 0.004422023, -0.1649326, 0.034370735, -0.021331226, 0.007509178, -0.1541513, 0.048636757, 0.11841208, 0.031549037, -0.11734389, -0.04395439, -0.02076644, -0.0035178973, 0.06140512) * go_8(1.0, -1.0); + result += mat4(-0.021531448, -0.15168543, 0.12222561, 0.058629047, 0.066313356, -0.1940694, -0.12171876, -0.00658866, -0.07076472, -0.030291308, -0.0077558737, 0.051757984, 0.02193855, 0.16493133, -0.048682384, -0.07314322) * go_8(1.0, 0.0); + result += mat4(0.06621408, -0.01667796, 0.0260185, 0.06794066, 0.043986917, 0.011299251, 0.07782877, -0.01643483, -0.04058689, -0.070192285, -0.09853332, -0.1299159, -0.05160902, 0.0033539685, 0.22954997, -0.021546595) * go_8(1.0, 1.0); + result += mat4(-0.026403278, 0.010653838, 0.0021257512, 0.026513815, -0.027015077, 0.13358718, -0.044833694, 0.095596425, -0.060707036, -0.108798616, -0.068031676, 0.032127026, 0.01858624, -0.15015, 0.04501039, -0.06865877) * go_9(-1.0, -1.0); + result += mat4(-0.007216763, 0.0486202, 0.056571513, 0.056145705, -0.11548521, -0.08642669, -0.06518352, -0.03574434, -0.08436628, 0.08905691, -0.124076016, 0.1362937, 0.03472427, 0.072752416, -0.06511489, -0.057675257) * go_9(-1.0, 0.0); + result += mat4(0.022617117, -0.04079143, 0.0024848897, 0.044588573, -0.046744883, -0.07881134, 0.015742674, -0.074300356, -0.16290313, 0.2288461, 0.30492097, 0.11593285, -0.04548979, 0.15053008, -0.071956754, 0.093064725) * go_9(-1.0, 1.0); + result += mat4(0.103904605, -0.034667403, -0.2098319, -0.073832884, -0.018042624, 0.13301417, 0.18822892, 0.015829902, -0.04867316, -0.03433423, -0.0014289889, 0.13230352, 0.1714687, -0.042440657, 0.078390524, -0.11056909) * go_9(0.0, -1.0); + result += mat4(0.102768585, -0.052201718, -0.09919031, 0.05452432, -0.107485875, -0.085205294, 0.1167384, -0.072183356, -0.042630963, -0.016243858, 0.017791817, 0.034657195, 0.006584667, 0.11105869, -0.24984534, 0.1456181) * go_9(0.0, 0.0); + result += mat4(0.10024778, 0.20171101, 0.010203289, 0.0152510945, 0.19804022, 0.0030897404, 0.16180041, 0.03478403, 0.01691778, 0.12370874, 0.009899959, 0.0381879, -0.19545735, 0.05234624, 0.029687876, 0.039903942) * go_9(0.0, 1.0); + result += mat4(-0.0070509096, 0.061695606, 0.01725384, -0.025932692, -0.028384902, 0.068152025, 0.09564379, -0.0032856707, -0.08382584, -0.039758872, 0.039846867, 0.12834965, 0.12526661, 0.055030096, 0.04364647, -0.100329876) * go_9(1.0, -1.0); + result += mat4(-0.070798345, -0.00784376, -0.052424204, 0.10586638, 0.06956726, 0.090235926, 0.17659639, 0.0076065036, -0.009754862, -0.024974793, 0.1369677, 0.12670912, -0.023065869, -0.07917515, 0.05287323, -0.023171866) * go_9(1.0, 0.0); + result += mat4(0.12073896, 0.045264993, -0.11648963, 0.086132266, 0.050844252, -0.08426843, 0.024296617, 0.13581963, -0.076921426, 0.055674795, 0.29358476, 0.17752819, -0.031633187, -0.1243592, -0.017796218, -0.008461567) * go_9(1.0, 1.0); + result += mat4(0.055730432, -0.06652472, -0.17525241, -0.0036742918, 0.006477956, 0.028978415, 0.14193636, -0.037313115, -0.04725123, 0.060488928, -0.10456545, -0.006454917, 0.06926134, 0.0996201, -0.07260804, -0.1895799) * go_10(-1.0, -1.0); + result += mat4(0.09925973, 0.14233111, -0.12106291, 0.07597586, -0.014802816, -0.078202166, 0.11997903, 0.020356417, -0.04720392, 0.1314056, -0.17295258, -0.07884539, -0.08036766, -0.1125439, 0.0405426, -0.07011955) * go_10(-1.0, 0.0); + result += mat4(-0.06895649, -0.012910801, 0.03559805, -0.0014188234, 0.02699368, 0.03227277, 0.0046795383, -0.0029251864, 0.017629929, 0.059735607, 0.118295275, -0.17668861, 0.1518607, 0.16145404, -0.0504446, -0.101737656) * go_10(-1.0, 1.0); + result += mat4(-0.081351854, -0.075108185, -0.0926778, 0.0109555805, -0.007015293, 0.06645702, -0.01241593, 0.060986638, -0.07729778, -0.041309834, 0.0429984, -0.15234338, 0.020857433, -0.104722485, -0.10882601, 0.1209144) * go_10(0.0, -1.0); + result += mat4(-0.118677095, 0.01309145, -0.038996574, 0.06635668, -0.05267633, -0.08315515, 0.08098698, 0.1340335, 0.06553321, -0.03148986, -0.08127774, -0.07047001, 0.07579491, -0.10656408, -0.14157577, -0.051908918) * go_10(0.0, 0.0); + result += mat4(0.041668024, 0.06382924, 0.042267703, 0.011047431, -0.028405169, 0.08054344, 0.011450904, -0.07005899, -0.093779415, 0.023375172, -0.0065031634, -0.08010197, 0.066256344, -0.041091762, 0.06366334, -0.12815112) * go_10(0.0, 1.0); + result += mat4(-0.019420393, -0.11652611, 0.08841619, 0.029591685, -0.0009620011, -0.09573091, -0.019200109, -0.09104749, 0.08407402, 0.12864915, 0.042542934, 0.0063575567, -0.04007373, 0.10526848, 0.02460641, 0.068430506) * go_10(1.0, -1.0); + result += mat4(-0.05954139, -0.07681237, 0.016148254, -0.034287833, 0.04544861, 0.012246789, -0.116092205, 0.14978212, 0.07235919, -0.058334228, 0.16935714, -0.017129533, -0.044010796, -0.14619933, 0.09672873, -0.021991394) * go_10(1.0, 0.0); + result += mat4(0.021146454, 0.1251824, 0.104555294, 0.043058153, -0.024749698, 0.03444585, 0.2694334, -0.012046371, -0.14657335, -0.009213879, 0.033201307, -0.11851107, 0.017618936, 0.15735385, 0.113181554, -0.10215611) * go_10(1.0, 1.0); + result += mat4(0.08585624, 0.066706054, -0.2327374, -0.10154063, 0.02463269, 0.090812944, 0.07758884, 0.0158239, 0.058642156, 0.028363941, -0.05395317, 0.04238957, -0.037100993, 0.012665406, -0.14026712, 0.061535712) * go_11(-1.0, -1.0); + result += mat4(0.09312103, -0.024918009, -0.18015066, 0.024186501, -0.05781731, -0.03758734, 0.16232629, -0.042083528, 0.091159195, -0.019988291, -0.039695572, 0.032090623, -0.007742507, 0.03262859, -0.16391948, 0.0071356464) * go_11(-1.0, 0.0); + result += mat4(-0.009546079, -0.062020306, 0.03153559, 0.07236344, 0.015683834, -0.14067987, 0.08862394, -0.011473947, -0.076618366, 0.052877825, 0.017246783, 0.119297296, -0.09654495, 0.04377407, 0.049077217, -0.05697108) * go_11(-1.0, 1.0); + result += mat4(0.032074947, -0.2789073, -0.0780382, -0.055925358, -0.054706793, 0.25289878, -0.16136311, 0.055086806, 0.044424094, 0.03972878, -0.0023177464, -0.0073578, 0.1299194, 0.11285016, -0.047309466, -0.17621756) * go_11(0.0, -1.0); + result += mat4(0.09467398, -0.11044382, -0.16274872, -0.0029408298, -0.37114516, 0.058979653, 0.17823413, -0.076888606, 0.08084833, -0.04577878, 0.22805735, -0.020946318, 0.20733872, -0.1211756, 0.059085913, 0.059061136) * go_11(0.0, 0.0); + result += mat4(0.35857418, -0.099405855, 0.06358649, -0.0907002, -0.0069775633, -0.048079707, -0.0019786675, 0.06267778, 0.009655525, 0.024428898, -0.050424356, -0.17061041, -0.12142067, 0.112559676, -0.08353815, -0.08756031) * go_11(0.0, 1.0); + result += mat4(0.01901223, -0.04998253, 0.08768208, -0.19876355, -0.0030078737, 0.04542661, 0.009527668, 0.05703407, 0.09030936, -0.15465401, 0.035002396, 0.126716, 0.0060029556, 0.17286618, -0.15907623, -0.019392034) * go_11(1.0, -1.0); + result += mat4(0.06755985, -0.061411466, 0.00143389, -0.12406364, -0.13916829, 0.091105476, -0.003509345, -0.09764329, 0.078492686, -0.109858304, -0.050267193, 0.0537668, 0.041313883, -0.04182997, -0.084387325, 0.02694605) * go_11(1.0, 0.0); + result += mat4(0.105845064, 0.08719947, 0.10387861, 0.0042026257, -0.15651314, 0.024885604, -0.17568772, -0.08669456, 0.038521856, 0.0033983306, 0.05686095, 0.070402436, 0.017018655, 0.0044162236, 0.0035786475, -0.10618687) * go_11(1.0, 1.0); + result += vec4(0.03012607, 0.090183415, 0.0028153015, -0.086936705); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_15_tf3 +//!BIND conv2d_15_tf4 +//!BIND conv2d_15_tf5 +//!SAVE conv2d_16_tf +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_15_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_15_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_15_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_15_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_15_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_15_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_15_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_15_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_15_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.18401013, -0.13588756, 0.054256726, -0.1412752, -0.12243868, -0.03775943, -0.0927035, -0.07697188, -0.022187399, -0.06088916, -0.079055466, 0.19919616, 0.008391406, 0.0015257774, 0.044474147, 0.08149344) * go_0(-1.0, -1.0); + result += mat4(-0.07563144, -0.17652713, -0.114881195, -0.37899107, 0.07671048, -0.14937408, -0.02114298, 0.044075787, 0.0042303097, 0.14191344, -0.023277637, 0.08528211, -0.09960068, -0.16445117, -0.03584855, -0.04641021) * go_0(-1.0, 0.0); + result += mat4(-0.22003917, 0.17905737, 0.21757741, -0.12364477, -0.016672444, -0.018438077, 0.04201858, 0.07870777, 0.039740887, -0.052247927, -0.10656043, -0.00011003632, 0.041017633, -0.27342665, -0.06761997, -0.04528579) * go_0(-1.0, 1.0); + result += mat4(-0.025336504, -0.13833694, 0.07437976, -0.08893717, -0.16371429, -0.061653934, -0.039204895, -0.028089175, -0.00015907192, -0.13354921, 0.02734657, 0.15964994, -0.041217323, -0.009264936, 0.079068765, 0.062053584) * go_0(0.0, -1.0); + result += mat4(-0.049570024, -0.10784191, -0.01837375, 0.21343361, -0.04372069, -0.020986352, -0.107839406, 0.05502148, 0.0992714, -0.018021397, 0.008725207, -0.017378684, 0.031728156, -0.008801241, -0.18357609, -0.016145747) * go_0(0.0, 0.0); + result += mat4(-0.04913707, 0.01682724, 0.041758772, 0.008508023, 0.026582265, -0.22879946, 0.13991572, -0.090997934, 0.0896516, -0.22281447, -0.055706218, -0.021541787, 0.015767794, 0.018899554, 0.013717163, -0.17347403) * go_0(0.0, 1.0); + result += mat4(0.12547137, -0.09660737, 0.012978945, 0.07203537, -0.0054954574, 0.018496398, -0.011681787, 0.12737639, -0.045878302, -0.10701198, -0.03054825, 0.03009367, 0.1267522, 0.09850112, 0.057112776, -0.009593024) * go_0(1.0, -1.0); + result += mat4(-0.08928, 0.0683229, 0.17383668, 0.13218597, -0.031208025, 0.037092455, 0.042550884, 0.077692695, 0.01771997, 0.13132338, 0.006508737, -0.08525488, -0.045307394, -0.14343816, -0.01830292, 0.01989028) * go_0(1.0, 0.0); + result += mat4(0.026735093, -0.023464149, -0.17231, -0.044292584, 0.08945477, 0.009001228, 0.066171594, -0.011970938, 0.028572584, -0.03996996, 0.016547613, -0.059090354, 0.0028927932, -0.063939616, 0.03321047, 0.13545637) * go_0(1.0, 1.0); + result += mat4(0.10948995, -0.15711145, 0.054597083, -0.068569995, 0.026474394, 0.097653925, 0.04627575, -0.008275917, 0.25192523, 0.18235894, -0.08277455, 0.38575834, 0.022745483, -0.020903446, 0.04205318, -0.042380072) * go_1(-1.0, -1.0); + result += mat4(-0.18891968, 0.052005906, 0.038103525, -0.111821555, -0.031023096, 0.011216633, -0.0035464338, 0.046839092, 0.25343683, 0.20273992, 0.15142617, -0.044875506, -0.001787997, 0.071683675, -0.07015657, -0.022576973) * go_1(-1.0, 0.0); + result += mat4(-0.018181657, -0.09296044, 0.022081852, -0.06619681, 0.060951322, 0.05768129, 0.02035218, -0.019641668, 0.0013515889, -0.13848126, -0.1841656, 0.031004338, -0.051048316, 0.14258315, 0.05445368, 0.03247651) * go_1(-1.0, 1.0); + result += mat4(-0.05203047, 0.12076639, -0.0077227005, 0.1184366, 0.06823599, 0.012450423, 0.1113311, 0.039102986, 0.35370106, -0.33157814, 0.37390196, -0.09912934, -0.10444121, 0.08402377, -0.16930288, 0.054857288) * go_1(0.0, -1.0); + result += mat4(0.03270221, 0.14613907, -0.095933534, -0.19244863, -0.23159896, 0.1559275, 0.06728844, -0.0047268616, 0.011683535, -0.18843126, -0.04220783, -0.30654585, -0.10746214, -0.03227198, -0.03234777, 0.11203559) * go_1(0.0, 0.0); + result += mat4(0.13327973, 0.09590377, 0.07102634, -0.20258962, -0.1457926, 0.07275891, 0.17606707, -0.12861401, -0.031180056, -0.18612963, -0.13088436, 0.33387327, 0.08283845, -0.15757847, 0.06846595, -0.057761926) * go_1(0.0, 1.0); + result += mat4(-0.07959099, -0.027871562, -0.00679305, -0.044345573, 0.0878471, -0.013418179, -0.058157764, -0.07929911, -0.19511378, -0.21550658, -0.18276486, -0.10306193, 0.06730515, 0.15307051, 0.060711797, -0.09848275) * go_1(1.0, -1.0); + result += mat4(0.02309879, -0.028519675, 0.041512847, 0.049695335, -0.0258293, 0.050312288, -0.123789005, -0.046238117, -0.34710893, -0.017108874, 0.112747535, 0.0380458, 0.10313404, 0.13872932, -0.108138695, 0.11340562) * go_1(1.0, 0.0); + result += mat4(0.09037467, 0.08282595, -0.049290337, -0.03558929, -0.036829695, 0.08418846, -0.0048224498, -0.018913696, 0.16916117, 0.18428025, -0.0325662, -0.013071526, -0.02406039, 0.11116436, -0.20665626, -0.036719907) * go_1(1.0, 1.0); + result += mat4(0.12311881, 0.05806699, 0.1490677, -0.10510731, 0.0650881, -0.045123734, 0.10633921, 0.08102984, -0.17166427, 0.14187278, 0.06218691, 0.010134607, -0.024926946, -0.15645958, 0.01647525, -0.032007955) * go_2(-1.0, -1.0); + result += mat4(-0.0064320094, -0.10348999, -0.0064104837, -0.104413785, 0.079153426, 0.19542186, 0.03652737, 0.15894827, 0.22364238, -0.03398967, 0.05108126, 0.035144717, -0.06397692, -0.032206714, 0.0922073, 0.012730258) * go_2(-1.0, 0.0); + result += mat4(0.08642296, 0.05683361, -0.032936133, 0.10762088, -0.01644649, -0.001429266, 0.08380367, 0.019923296, 0.08267726, -0.044601962, -0.012816315, 0.02492031, 0.072982386, -0.010330455, -0.0978465, 0.118156195) * go_2(-1.0, 1.0); + result += mat4(0.042400658, -0.055309903, 0.03207966, -0.121752515, -0.21621595, 0.024456523, -0.011958722, 0.12451922, -0.13696773, -0.20115459, -0.07348073, 0.0024619848, 0.01738986, -0.12202603, -0.111460805, -0.005058656) * go_2(0.0, -1.0); + result += mat4(-0.21546137, 0.12935314, -0.028532904, -0.008893691, 0.10135729, -0.17534581, -0.049937554, -0.33643374, -0.043661103, 0.102634795, -0.115369305, 0.026465349, 0.028970167, 0.026625225, 0.062238887, -0.026272973) * go_2(0.0, 0.0); + result += mat4(-0.105955236, 0.12651332, 0.07647607, 0.08280213, -0.123200215, 0.05615951, -0.05460551, -0.18601677, 0.08394111, 0.16563104, 0.040207952, 0.14093705, 0.052927166, -0.17315963, -0.03533011, 0.060746193) * go_2(0.0, 1.0); + result += mat4(-0.026084239, 0.045155637, 0.04272104, -0.16185169, -0.17862639, 0.05094037, -0.11442705, 0.020845752, 0.040759496, 0.12081268, 0.0075550107, -0.021916028, -0.11806642, -0.023612743, -0.071473576, -0.101335295) * go_2(1.0, -1.0); + result += mat4(-0.002712147, 0.16763973, -0.044307284, 0.040771365, -0.0031661778, -0.049930423, 0.28393164, -0.1455211, 0.054617744, -0.031105014, 0.11039813, -0.030323252, -0.033115745, 0.04220911, -0.12622428, -0.07630135) * go_2(1.0, 0.0); + result += mat4(-0.028186634, -0.003115328, -0.099139124, -0.086862855, 0.044807985, -0.11788244, 0.080867685, -0.0054060444, 0.018819673, 0.04957816, 0.019576633, 0.07436812, 0.024756659, 0.011649562, 0.03426825, -0.061746117) * go_2(1.0, 1.0); + result += mat4(-0.109345876, -0.07582799, -0.07580578, 0.0718188, 0.045793377, -0.071054064, -0.04769422, 0.01874575, 0.08088704, -0.08307951, -0.06366319, -0.019450737, 0.26841074, -0.03851925, -0.04642081, -0.0030378636) * go_3(-1.0, -1.0); + result += mat4(-0.031708058, 0.02285141, 0.077648826, -0.1881658, 0.04816301, -0.13699746, -0.08999789, -0.16106066, 0.011150913, -0.044722255, -0.026864614, 0.028213168, -0.18842594, 0.19808589, 0.0007276151, 0.0031604283) * go_3(-1.0, 0.0); + result += mat4(-0.31135795, 0.112032294, -0.026946368, 0.0031459567, 0.13888834, 0.10551288, -0.040594235, 0.048751246, 0.00039387803, 0.0142388055, 0.0008438835, -0.000215502, 0.15277672, 0.005665271, 0.07407217, -0.050055165) * go_3(-1.0, 1.0); + result += mat4(-0.09536809, -0.029089805, 0.05876147, 0.19606937, -0.056980595, 0.12535319, 0.024123488, 0.077162944, 0.19549242, 0.16824779, 0.14160116, -0.15470776, 0.09047217, 0.0001769805, -0.018979235, 0.044140182) * go_3(0.0, -1.0); + result += mat4(-0.27798006, 0.49009305, -0.10300361, -0.15089208, 0.08056011, -0.04228279, -0.19938731, -0.1284759, -0.0960026, 0.07879816, -0.088942915, 0.09315675, 0.0301986, -0.035029355, -0.0511503, 0.11765551) * go_3(0.0, 0.0); + result += mat4(0.07843372, -0.006018093, -0.05311663, -0.0075817537, 0.0424411, 0.07975493, 0.044189543, 0.13708349, -0.008551143, -0.13168351, -0.16907017, -0.07804317, -0.0024650225, 0.048722517, 0.1594775, -0.016862482) * go_3(0.0, 1.0); + result += mat4(-0.08130928, 0.289742, 0.061233968, -0.1805477, -0.04329093, 0.034262158, 0.023879131, -0.092462465, 0.037923817, -0.005596231, 0.0330041, 0.06661368, -0.036080886, -0.047671337, 0.05192108, 0.17042227) * go_3(1.0, -1.0); + result += mat4(-0.09510118, -0.07480796, 0.17427766, 0.16470622, 0.07585864, -0.012345573, 0.060487308, 0.07716671, 0.022240538, -0.019660212, 0.022591233, -0.0047452366, 0.04595507, -0.014236219, -0.06681773, -0.09052364) * go_3(1.0, 0.0); + result += mat4(-0.10433901, 0.0379166, 0.015618833, -0.0828069, 0.014377862, -0.016621938, -0.15152419, -0.0019374314, 0.012078275, -0.00887573, -0.13343875, -0.0125529785, 0.07976357, 0.0765987, -0.0056649507, 0.011301273) * go_3(1.0, 1.0); + result += mat4(-0.041834418, -0.13372508, -0.10320997, 0.015072922, -0.029889522, 0.012992793, -0.09185873, 0.004004095, -0.065492816, -0.050909735, 0.0002255961, -0.12797303, -0.3083743, -0.05711855, 0.023806712, 0.04647377) * go_4(-1.0, -1.0); + result += mat4(-0.0738126, -0.1592134, 0.022746144, -0.11953307, -0.03188981, 0.16695242, 0.122664005, 0.14895225, 0.094388284, -0.29278672, -0.04656844, -0.19429022, -0.044872273, -0.038740084, 0.0248372, -0.077681266) * go_4(-1.0, 0.0); + result += mat4(0.04854289, -0.2222598, -0.06694044, -0.07134871, -0.0056551537, 0.18670999, 0.029736828, 0.13020341, -0.1472964, -0.16671701, -0.07403152, -0.16548093, -0.064982556, -0.07949377, 0.073355116, -0.11815417) * go_4(-1.0, 1.0); + result += mat4(-0.056096863, 0.046716, 0.017137583, 0.00091687136, 0.019255593, 0.009841755, -0.03734741, 0.06731623, -0.06467937, -0.00014931819, -0.061866295, -0.03865882, 0.12549591, -0.04473098, 0.10254502, -0.19520067) * go_4(0.0, -1.0); + result += mat4(-0.024812682, -0.05629554, 0.22076266, 0.07151472, -0.07329754, -0.019209638, 0.047727138, 0.028662292, -0.24604319, -0.042345352, -0.033282783, -0.07798896, -0.12942882, -0.09905983, 0.15368684, 0.106904276) * go_4(0.0, 0.0); + result += mat4(0.07929591, -0.10142135, -0.044078883, -0.052256215, -0.12313739, -0.15137856, 0.15978324, -0.17600586, -0.026426807, -0.076277286, -0.34938416, -0.1274297, -0.20080665, 0.23370647, 0.2738065, 0.30404314) * go_4(0.0, 1.0); + result += mat4(-0.13837905, -0.067753285, 0.0764978, 0.03729214, 0.17639492, -0.027780103, -0.01209291, -0.07154623, 0.05318505, -0.041469146, -0.13914822, -0.034375183, 0.063493945, 0.098800704, 0.07209861, -0.081063025) * go_4(1.0, -1.0); + result += mat4(0.0885162, -0.004286808, -0.04590522, -0.009821024, 0.06929009, 0.1377115, -0.3040033, -0.36766884, -0.011379945, -0.00017395087, -0.21295871, -0.13242184, -0.22686961, -0.09711975, 0.219442, 0.07782863) * go_4(1.0, 0.0); + result += mat4(-0.052216977, 0.0022526693, 0.08789426, 0.101838656, 0.055295188, 0.12478162, -0.17794913, -0.16096286, 0.03537816, -0.09675113, -0.12077911, -0.054987498, 0.09664434, 0.10522916, -0.184103, 0.20173639) * go_4(1.0, 1.0); + result += mat4(-0.08799513, 0.053520318, -0.06829527, -0.061881334, -0.06998132, -0.016926985, -0.0034579965, -0.02244025, 0.08783364, -0.048509452, 0.06655328, 0.02509059, 0.14502525, -0.086991906, 0.124340616, 0.00037620167) * go_5(-1.0, -1.0); + result += mat4(-0.12045644, -0.0791683, -0.016914366, -0.0702782, -0.1417759, 0.113099955, 0.03572895, 0.03584289, -0.23530042, 0.16986006, -0.08690092, 0.20150651, 0.14820416, -0.0022669397, 0.16911735, -0.32364613) * go_5(-1.0, 0.0); + result += mat4(0.2332167, -0.016162368, -0.07348933, 0.051037077, -0.029558603, 0.10703994, 0.09952783, 0.11973201, 0.080019765, 0.1711361, -0.033787925, 0.11096711, -0.0026446204, 0.12003299, 0.17813842, -0.15823579) * go_5(-1.0, 1.0); + result += mat4(0.13115647, 0.04365931, 0.08948908, -0.0061321505, -0.17846593, -0.07659842, -0.18420176, -0.124986045, -0.077533804, -0.06662785, -0.06746059, 0.06722217, 0.06708974, 0.020013843, 0.057971753, -0.005804974) * go_5(0.0, -1.0); + result += mat4(0.018778078, 0.08638097, 0.12128037, -0.100785516, 0.020799557, -0.045280837, 0.065865815, -0.13772325, -0.14847542, -0.10060909, -0.07299966, 0.035418868, -0.2626101, 0.048298042, 0.117776625, 0.2014914) * go_5(0.0, 0.0); + result += mat4(0.027666502, -0.0080054365, 0.114057735, 0.11314715, -0.12363325, -0.113225006, 0.14003067, 0.06963901, 0.030006966, 0.11874836, 0.12775381, 0.058153503, 0.18982601, 0.107828185, -0.031235067, -0.28085175) * go_5(0.0, 1.0); + result += mat4(-0.058084015, -0.22221348, -0.0896041, 0.0627608, -0.116209514, -0.061959576, 0.08820395, 0.065014645, 0.020963453, -0.025303738, 0.043819524, 0.0133228395, 0.033737265, -0.15635544, -0.11012964, 0.06452587) * go_5(1.0, -1.0); + result += mat4(0.013111555, 0.054879397, -0.084155306, -0.05129703, 0.14801842, 0.026329206, -0.024483597, -0.08906689, 0.05348424, -0.039064053, 0.08269973, -0.042230796, 0.09083986, 0.04736572, -0.11007553, -0.16672523) * go_5(1.0, 0.0); + result += mat4(-0.012899352, -0.1294054, 0.1125801, -0.04872308, -0.06587377, -0.011649611, -0.0895225, -0.011717788, 0.12558992, -0.11246865, -0.005633265, 0.16554871, 0.09073155, -0.02444982, 0.051129293, 0.071896) * go_5(1.0, 1.0); + result += mat4(-0.040985197, -0.11714439, 0.0050871605, -0.055462062, -0.08494001, 0.02960296, 0.095325224, 0.20950922, 0.04292618, -0.09899439, 0.028093863, -0.051682223, 0.29498738, 0.079777084, 0.06441235, -0.11312307) * go_6(-1.0, -1.0); + result += mat4(-0.0736591, 0.23490392, 0.0012234901, 0.0062587685, -0.0658678, 0.14087045, 0.16481075, 0.0865966, -0.043406636, 0.22310406, -0.042780004, 0.23647028, 0.12841848, -0.0035120498, 0.006173345, -0.024037007) * go_6(-1.0, 0.0); + result += mat4(0.09205112, 0.059635665, 0.08538701, 0.022823967, -0.06477945, 0.06236264, 0.038886856, 0.013214306, 0.028087588, -0.10733406, -0.06626182, 0.072191566, 0.024621291, 0.009575019, -0.06411952, -0.1463673) * go_6(-1.0, 1.0); + result += mat4(0.0054634516, 0.045507513, -0.007799662, 0.0076722545, -0.12650666, 0.14308643, 0.06477858, 0.24249618, -0.13591407, -0.13626933, -0.33021417, 0.14956667, 0.14996628, 0.01296905, 0.07415943, -0.2862635) * go_6(0.0, -1.0); + result += mat4(-0.097647466, 0.10142995, -0.08994866, -0.18288863, -0.05146021, 0.051858053, 0.1065154, -0.018669382, 0.049175538, 0.01052338, -0.08475384, -0.03172579, -0.10427115, 0.16601573, 0.048708897, -0.16694255) * go_6(0.0, 0.0); + result += mat4(0.026975388, 0.059210766, 0.07111863, -0.06324248, -0.15227206, 0.16633601, 0.07461219, 0.267013, -0.047243737, -0.3753309, 0.008852686, -0.013038294, -0.08381937, 0.2180827, 0.11023216, 0.05140329) * go_6(0.0, 1.0); + result += mat4(-0.07311599, -0.05057456, 0.023085596, -0.10682444, 0.063513815, 0.07356253, -0.12083916, 0.04450374, -0.22449435, -0.24517713, -0.15282468, 0.10999382, 0.04883995, 0.12952463, 0.077369794, -0.12015865) * go_6(1.0, -1.0); + result += mat4(-0.032314647, -0.10842104, 0.08947376, 0.09801895, -0.23712908, 0.03993495, 0.11174641, 0.17067215, 0.10894186, 0.055918567, -0.03502335, -0.18856876, -0.062737584, 0.010392958, -0.11375558, -0.034413774) * go_6(1.0, 0.0); + result += mat4(0.03193526, -0.12611216, 0.012267307, -0.009893633, -0.12945518, -0.12617463, -0.013297298, 0.11985869, -0.013691836, -0.097269624, 0.039589375, 0.07388823, -0.009328134, 0.06370066, 0.02859016, 0.048128143) * go_6(1.0, 1.0); + result += mat4(-0.10391301, 0.008188025, -0.048711997, 0.09241104, -0.038443137, 0.029809011, 0.024959557, -0.05881074, -0.04998583, -0.04124172, -0.028660027, 0.03466532, 0.011698102, 0.044361595, 0.04664061, -0.018566478) * go_7(-1.0, -1.0); + result += mat4(0.09856062, -0.101091534, 0.06970033, -0.07585045, -0.12380092, 0.14135367, 0.019343793, 0.1737178, -0.16379696, -0.045019772, -0.058714505, -0.028094918, 0.15862615, 0.14155744, 0.07784022, 0.115407884) * go_7(-1.0, 0.0); + result += mat4(0.013782505, -0.049060434, 0.000708752, -0.13372315, 0.09113942, -0.08684804, -0.0342819, -0.011987756, 0.009873064, -0.02924474, 0.025891695, -0.019425275, 0.023715625, -0.048975617, 0.10708091, 0.115210146) * go_7(-1.0, 1.0); + result += mat4(-0.0013538608, -0.012521754, 0.081756964, -0.071289025, -0.11118813, -0.02736482, -0.19032161, 0.061563436, 0.025607973, 0.11936482, 0.08191075, -0.058816638, 0.0739315, 0.015304525, 0.11458635, 0.07511394) * go_7(0.0, -1.0); + result += mat4(0.1808514, -0.083741136, 0.20993811, -0.12137578, 0.03407561, -0.030393306, -0.21573617, 0.057049792, -0.084746934, -0.08983451, 0.06681565, -0.020741878, -0.07407868, 0.06587669, 0.02362261, 0.18319516) * go_7(0.0, 0.0); + result += mat4(0.037588492, -0.10657281, -0.010977549, 0.04346086, 0.123472065, 0.025804061, -0.08596545, 0.014454042, -0.08765823, -0.08678077, -0.07755789, 0.031191997, 0.03477551, 0.07478537, 0.11362728, 0.09572332) * go_7(0.0, 1.0); + result += mat4(0.0900926, 0.19256, 0.12193432, -0.08833128, -0.093027934, -0.06769375, -0.16739862, -0.03577543, 0.017636668, 0.027024843, 0.06288048, 0.044872086, 0.10232667, 0.0068255565, -0.004028761, 0.029350126) * go_7(1.0, -1.0); + result += mat4(0.049896117, 0.15445383, 0.14894868, 0.02776866, 0.063110374, 0.17882115, 0.0042055226, -0.017513141, 0.091088936, 0.003010554, 0.056064103, -0.083869845, -0.048410174, -0.22603737, 0.051802166, -0.03973644) * go_7(1.0, 0.0); + result += mat4(-0.05112879, -0.040702794, 0.08248044, 0.086119935, 0.06375491, 0.020072684, 0.15028115, 0.008888093, 0.082408555, 0.006811597, -0.123747684, -0.09731778, 0.11961848, -0.021594765, -0.09106974, -0.050286602) * go_7(1.0, 1.0); + result += mat4(0.2571731, -0.081907116, -0.033212937, 0.0620556, 0.009862383, -0.0070517566, -0.004764438, -0.0709893, 0.018923642, -0.057825282, -0.0064521073, 0.08952444, -0.022852743, 0.13909613, -0.019168667, 0.030131642) * go_8(-1.0, -1.0); + result += mat4(0.020968758, 0.08022817, -0.008601074, -0.1097215, 0.047841262, -0.07995962, 0.08419089, -0.040025167, 0.039427646, -0.034424137, -0.02700686, 0.074861415, 0.0041469475, -0.18269539, -0.17760022, 0.12437888) * go_8(-1.0, 0.0); + result += mat4(0.035323508, -0.115505636, 0.08674358, -0.16753072, 0.034209844, -0.0076614427, -0.0005810619, -0.05547449, -0.02653139, 0.0323624, 0.06460733, -0.035394993, -0.04853036, -0.023752727, -0.042929113, -0.15378472) * go_8(-1.0, 1.0); + result += mat4(0.29659423, -0.0006672761, -0.047517773, -0.06199174, -0.017030012, 0.029558018, -0.02886189, -0.09088566, 0.019745167, 0.096069895, 0.18460031, 0.11346628, -0.0806195, 0.08387502, 0.04051519, -0.008846576) * go_8(0.0, -1.0); + result += mat4(0.05892242, 0.056606613, 0.015149992, 0.09476475, 0.07959804, 0.05704647, 0.10259821, 0.15022708, -0.042979885, -0.23327734, 0.2702623, 0.10974108, 0.03293819, -0.038108915, -0.110423155, -0.023343116) * go_8(0.0, 0.0); + result += mat4(0.03149034, 0.08331677, -0.08575176, -0.055300176, 0.008931783, -0.08674912, -0.022917027, 0.01648926, -0.1268374, 0.075792305, 0.15822591, 0.055847537, 0.0012736744, 0.19256137, -0.04431186, 0.06601694) * go_8(0.0, 1.0); + result += mat4(-0.013500773, -0.11745078, -0.04050182, 0.06596709, 0.057272922, -0.020333195, 0.050690793, -0.015620617, -0.08613812, 0.056710016, 0.03490378, -0.12669475, 0.07707306, 0.07194328, 0.13534424, 0.051376734) * go_8(1.0, -1.0); + result += mat4(-0.10094398, -0.021660322, -0.21838374, -0.093808286, -0.09158486, -0.014816265, -0.15103486, 0.08692401, 0.030954776, 0.015028527, 0.034968782, 0.07395348, -0.018183898, 0.07517873, 0.013613574, 0.065369695) * go_8(1.0, 0.0); + result += mat4(-0.03792745, -0.006733627, 0.025750823, 0.014982917, -0.04316942, 0.03895343, 0.010674262, -0.02580279, -0.05217408, -0.048307255, 0.10277286, 0.11032194, -0.042484324, -0.094473965, 0.09480515, 0.15434706) * go_8(1.0, 1.0); + result += mat4(0.033276457, 0.002123263, 0.0064143906, 0.02557083, -0.055384915, 0.018320283, 0.013389597, -0.07641146, 0.06467656, 0.06509521, -0.01756422, -0.048893183, 0.066380076, -0.08305459, -0.123950765, 0.07847402) * go_9(-1.0, -1.0); + result += mat4(0.038409892, 0.15350512, 0.19252667, 0.011370862, 0.018854687, -0.0037143677, -0.051887456, -0.024303446, -0.08148162, 0.09258359, 0.044794485, -0.0741859, -0.007914459, 0.16320546, 0.005944812, 0.006757313) * go_9(-1.0, 0.0); + result += mat4(-0.0028705026, -0.05118026, -0.09932788, -0.004281493, -0.036878936, -0.023730323, 0.050872713, -0.050899874, -0.07606518, -0.03521744, -0.07658885, -0.108464874, 0.10739581, -0.009181252, -0.0070966687, 0.05193587) * go_9(-1.0, 1.0); + result += mat4(0.018943064, -0.00937319, 0.018877272, 0.014771399, 0.1178018, -0.0911264, 0.10991882, -0.15921818, -0.06767399, -0.059326403, -0.09600347, 0.009451356, 0.102710254, -0.0885573, 0.057603467, 0.01992773) * go_9(0.0, -1.0); + result += mat4(-0.0046776338, 0.012952324, 0.033664063, -0.05237841, -0.054967895, -0.025386026, 0.079488695, 0.22789961, -0.013646531, -0.14056179, 0.043689843, 0.042846087, 0.036067236, 0.14239535, -0.281547, 0.07508984) * go_9(0.0, 0.0); + result += mat4(-0.09807237, 0.0034014925, 0.044999514, 0.045813996, -0.053272054, 0.075805016, 0.029503575, -0.07698443, -0.084488615, 0.13008903, 0.04431506, -0.051466364, 0.021694876, 0.043624, -0.013493849, 0.0029076347) * go_9(0.0, 1.0); + result += mat4(0.013535879, -0.024679128, 0.036481153, -0.021314025, 0.0834024, -0.099808566, 0.05001698, 0.010658749, -0.06595134, -0.03521598, -0.103553504, 0.06790129, 0.035933115, -0.047610957, -0.0052558477, -0.1678799) * go_9(1.0, -1.0); + result += mat4(0.025644135, -0.034027576, -0.080036685, 0.03827762, -0.027871434, -0.070245065, -0.021769412, 0.027066302, -0.07604397, 0.05617383, -0.18923633, 0.15722784, -0.026357215, -0.02692877, -0.15795054, 0.0033001932) * go_9(1.0, 0.0); + result += mat4(0.02899885, 0.052839927, -0.024265958, -0.06958408, 0.0008551589, 0.0133860465, 0.075541645, 0.015619437, -0.040788416, 0.07190152, -0.12392664, -0.05369185, -0.15271576, -0.0103186015, 0.13524354, -0.07938339) * go_9(1.0, 1.0); + result += mat4(0.14343445, -0.028533014, 0.03347991, -0.023772543, -0.07142908, 0.014239871, -0.05316892, -0.03663716, 0.08939066, -0.020609157, 0.0054644085, 0.1524691, 0.1692467, 0.018540619, 0.044972885, 0.07313233) * go_10(-1.0, -1.0); + result += mat4(-0.09232455, 0.12691838, -0.056665517, 0.03202994, -0.076657206, -0.16730559, -0.05197493, 0.0138470195, 0.0018628361, 0.13816267, 0.10077216, 0.17797759, 0.043260746, 0.017978493, -0.06791809, -0.010487932) * go_10(-1.0, 0.0); + result += mat4(-0.03577261, 0.048712313, 0.06941375, 0.0051264153, 0.008309652, -0.028129293, 0.022743499, -0.013171842, 0.12213201, -0.0295121, -0.053002793, 0.016487766, -0.053577382, -0.08655959, -0.07344541, -0.064555615) * go_10(-1.0, 1.0); + result += mat4(0.10845244, -0.0077420617, 0.03581785, 0.0038137652, 0.015107951, -0.059069965, -0.04678172, 0.048014846, -0.004465835, 0.0022898219, 0.073007226, 0.18142632, 0.07848132, 0.07515797, 0.012369896, 0.07600368) * go_10(0.0, -1.0); + result += mat4(-0.08638719, 0.15884505, -0.08973742, -0.12369276, 0.08267924, -0.03720554, -0.17259789, 0.1946709, 0.016929558, 0.029375779, 0.01198965, 0.06847236, -0.06293463, -0.022434572, 0.07651499, 0.0346661) * go_10(0.0, 0.0); + result += mat4(-0.025976323, 0.045778584, 0.05067603, -0.02544538, -0.05079276, 0.04841232, -0.17063946, 0.022753738, 0.06943225, 0.056274258, -0.13646449, 0.023894709, 0.0039852895, -0.084818296, 0.015410173, -0.032319937) * go_10(0.0, 1.0); + result += mat4(0.04807185, -0.0003949595, 0.025213908, 0.103080414, -0.0023272403, 0.023491438, -0.056150086, 0.12879792, -0.013982606, 0.036223706, 0.03940019, 0.024488496, 0.012625189, -0.07193314, 0.12854105, -0.032734193) * go_10(1.0, -1.0); + result += mat4(-0.12367774, -0.035864305, 0.13639599, 0.03812523, -0.03994671, -0.11915718, 0.041367244, 0.16409606, 0.050837673, 0.06977757, -0.052018918, 0.09774216, 0.07573336, -0.003323072, -0.044979483, -0.021800824) * go_10(1.0, 0.0); + result += mat4(0.06765063, 0.07885527, -0.061796997, -0.033930518, 0.060318742, -0.04216291, -0.07221272, 0.09004521, -0.065076694, -0.026399218, 0.10466377, 0.08561086, -0.024088204, -0.070315324, -0.040125035, 0.004548777) * go_10(1.0, 1.0); + result += mat4(0.04096943, 0.046178315, 0.011453587, 0.048791222, 0.027209666, -0.08074877, 0.106461525, -0.10974307, -0.020276416, 0.06417489, -0.0028763798, -0.029264465, 0.03444099, 0.10803487, 0.0141790565, 0.009156893) * go_11(-1.0, -1.0); + result += mat4(-0.016227538, 0.19522339, -0.0053924974, 0.055647578, 0.026691278, -0.09364552, -0.04868968, 0.068987675, 0.11558127, -0.16214633, 0.000592678, -0.08047563, 0.03148686, -0.06717632, -0.09336522, 0.043072738) * go_11(-1.0, 0.0); + result += mat4(0.0011174235, 0.08426773, 0.103897035, 0.11740773, 0.024287522, -0.020319004, 0.04015764, 0.010502566, 0.019457467, -0.04620711, 0.024066428, 0.05627311, -0.014574119, 0.0273105, 0.001676443, -0.023356035) * go_11(-1.0, 1.0); + result += mat4(0.1606767, -0.086658545, 0.009466048, -0.030490771, 0.16992782, 0.06852414, 0.15293188, -0.08855474, -0.067096494, 0.017907407, -0.017089175, -0.0053409, 0.0733796, -0.018089872, 0.05572631, -0.035322845) * go_11(0.0, -1.0); + result += mat4(-0.048777405, -0.038038082, 0.092394255, 0.08715676, 0.053691484, -0.23649393, -0.12883174, 0.012281466, -0.037717126, -0.07552516, 0.07210121, -0.17331205, 0.0016187717, 0.07259926, 0.145282, 0.014165023) * go_11(0.0, 0.0); + result += mat4(-0.12497079, -0.104426414, -0.012715669, -0.19777615, -0.017443223, 0.06788143, 0.0614136, -0.002465718, -0.028014038, -0.011756029, 0.10710533, 0.058262154, -0.060565244, -0.03191098, 0.00991814, 0.076612055) * go_11(0.0, 1.0); + result += mat4(-0.013859454, 0.061379608, 0.073247865, -0.0067830062, 0.16421017, 0.16367128, 0.02887352, -0.18079562, -0.08341499, -0.04535779, -0.07029753, -0.02935799, 0.09612428, -0.052309513, -0.04888333, 0.044868078) * go_11(1.0, -1.0); + result += mat4(0.12000188, -0.024868136, 0.123532094, -0.11463714, -0.06894127, -0.030455533, 0.056860894, 0.03772401, 0.03873448, 0.0840759, -0.08643597, -0.08898501, 0.035110738, -0.12644961, 0.065761074, 0.030739123) * go_11(1.0, 0.0); + result += mat4(-0.01031014, -0.02494621, -0.18404531, -0.15162574, -0.04742816, -0.08756647, 0.16793372, -0.002655142, 0.01775816, -0.02193653, -0.047818832, -0.047989108, 0.021209596, 0.10485623, -0.092118226, -0.11965965) * go_11(1.0, 1.0); + result += vec4(0.038480498, 0.04292295, 0.03059564, 0.052293446); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x104 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_15_tf3 +//!BIND conv2d_15_tf4 +//!BIND conv2d_15_tf5 +//!BIND conv2d_17_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!SAVE conv2d_18_tf +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.33416227, 0.09829885, -0.14215165, 0.047257327, -0.25676978, 0.06477231, 0.18437357, -0.09317491, 0.14196362, -0.09833729, -0.05023742, 0.30286238, -0.095891505, -0.05642394, -0.04279076, -0.20932348) * g_0; + result += mat4(0.05250283, 0.097802795, -0.10851134, -0.034588467, 0.08729734, -0.13947372, 0.14574417, 0.15165779, 0.15822525, -0.09741342, -0.29856458, 0.101639755, -0.17390165, 0.20864505, -0.23063898, -0.069147386) * g_1; + result += mat4(0.2346171, -0.12033308, -0.10432819, -0.028732711, -0.22354195, -0.09041756, -0.10091414, 0.004025042, -0.01537579, -0.11316728, -0.09128845, -0.10836599, 0.098449625, 0.021946304, -0.0559169, -0.027388508) * g_2; + result += mat4(0.16285792, -0.2265136, -0.10871404, -0.116897024, 0.120534234, 0.047987677, -0.004379848, 0.055190843, -0.16359152, 0.1373434, 0.2990455, 0.013323317, -0.113601066, -0.28977937, 0.2619728, 0.17309852) * g_3; + result += mat4(-0.16532536, -0.004392614, 0.094332375, -0.07948231, 0.0965218, 0.094979055, -0.16280106, 0.037660465, 0.11163236, 0.09897609, 0.084096566, -0.1494275, -0.016781123, -0.062385462, -0.26847538, 0.1566464) * g_4; + result += mat4(-0.09193836, -0.035500966, 0.19209282, 0.30185416, -0.102988094, 0.03829289, -0.37286982, -0.08325574, -0.21487275, 0.0675388, -0.2152679, -0.15988335, -0.14248285, 0.033678766, 0.26234034, -0.113209285) * g_5; + result += mat4(-0.22717316, -0.0009200798, 0.003287377, -0.002284066, -0.034983475, 0.15027894, -0.13538387, 0.0062207277, 0.00039265986, -0.007900346, -0.18446177, -0.13124779, 0.37357095, -0.039655972, 0.18370372, -0.13613242) * g_6; + result += mat4(-0.008904987, 0.22167958, 0.022735478, -0.10282882, 0.009706884, 0.10853093, -0.11238819, 0.07017576, 0.08412395, 0.09763671, 0.092221156, -0.20290114, 0.12376833, 0.062525444, 0.13981692, -0.15654904) * g_7; + result += mat4(0.2202994, -0.05487525, 0.11625077, 0.35435417, -0.0033555152, -0.03066193, 0.04199444, -0.06022421, -0.046327718, -0.04349393, -0.017858896, -0.29926088, -0.026567936, 0.0232344, 0.031930014, -0.16508788) * g_8; + result += mat4(-0.014044821, -0.105468035, 0.16994655, 0.09042197, 0.02509403, 0.043242466, 0.007714088, -0.014514478, 0.12195026, -0.14864756, -0.17863454, 0.021342438, 0.05473602, 0.03023287, -0.04338681, 0.25018957) * g_9; + result += mat4(0.11178171, -0.031541932, -0.022311704, 0.06927876, -0.118677296, -0.07876712, 0.2573275, -0.16963796, -0.09918738, -0.09615811, 0.18225491, 0.18405153, 0.28958827, 0.10559797, 0.23273212, -0.23836672) * g_10; + result += mat4(0.17404434, 0.006543903, -0.04151141, 0.08504442, -0.036097426, 0.102214396, 0.18505338, -0.121599965, 0.05311446, 0.067163326, 0.03339468, -0.10639028, -0.08318937, 0.03591386, -0.096980564, 0.16911677) * g_11; + result += mat4(0.05569724, -0.24573782, -0.08229295, -0.015653128, -0.088948324, 0.06831632, -0.0009226177, 0.20754391, -0.08485601, 0.27108276, -0.18006897, -0.14416619, 0.014280893, -0.20544566, 0.06332818, -0.18700986) * g_12; + result += mat4(-0.014061824, 0.2738249, 0.13395612, 0.1722393, 0.1108353, 0.14290176, -0.19484134, -0.14986867, -0.00047288154, -0.3510016, 0.13103095, 0.10223549, 0.32832077, 0.19840792, 0.118998185, -0.028437005) * g_13; + result += mat4(-0.15725374, 0.17122267, 0.114801794, 0.2099415, 0.12080525, 0.059072934, -0.023651272, -0.13910551, -0.036585454, -0.47406256, 0.055988673, 0.24299833, 0.05235501, -0.12523869, -0.00253683, 0.11640101) * g_14; + result += mat4(-0.081746235, -0.22889271, 0.053322088, -0.08665787, 0.24643211, 0.027273338, 0.09500774, -0.115398645, 0.040935457, 0.0883963, 0.18543912, -0.098223954, -0.029414238, 0.024577033, 0.33146027, 0.038923774) * g_15; + result += mat4(0.06752596, -0.25002465, -0.22013777, -0.11161415, -0.07435017, -0.06942425, -0.02743294, 0.108842425, -0.0013048031, 0.108312085, 0.10029556, 0.21221648, -0.26489133, 0.24258105, -0.073929526, 0.12577781) * g_16; + result += mat4(-0.05739181, 0.23090334, 0.006777456, 0.036732256, 0.060325738, 0.0047021233, -0.016167793, -0.0797981, -0.06797836, -0.022108275, 0.09807591, -0.07017568, 0.1110942, 0.009747667, -0.06542803, 0.14152472) * g_17; + result += mat4(0.07776711, -0.098150186, -0.16863117, 0.0073495065, 0.05722358, -0.34379464, 0.026611788, 0.158512, 0.17978796, -0.0070248432, 0.08746297, 0.0050373445, 0.06347449, -0.5033429, 0.04252335, -0.21747608) * g_18; + result += mat4(-0.07743927, 0.010540148, 0.16479133, -0.0024370546, 0.18661375, -0.020397237, 0.016077021, 0.051072516, -0.037119925, -0.06755068, 0.12466155, -0.056955684, -0.36593297, 0.23062328, 0.22472279, -0.054084912) * g_19; + result += mat4(-0.011354759, 0.093901664, -0.20744812, -0.072959766, -0.18470302, 0.028048197, -0.24052349, 0.12828217, -0.040006574, -0.067410275, -0.03315965, 0.06631403, -0.28481728, 0.005110992, 0.20470636, -0.009981321) * g_20; + result += mat4(-0.03354525, -0.059142444, -0.15623446, 0.015744166, 0.08541153, -0.072278626, -0.04104654, -0.046746574, 0.11032013, -0.04839051, 0.029939886, -0.04404479, -0.050214116, -0.12854907, -0.187336, -0.09875316) * g_21; + result += mat4(0.09276934, 0.1589921, -0.14998227, 0.15918075, -0.10429563, 0.14331265, -0.028513614, -0.29926082, 0.14870556, 0.14363697, 0.03612754, -0.34358153, 0.007659696, 0.03472827, 0.24480377, 0.25565132) * g_22; + result += mat4(-0.058360998, -0.041696765, -0.025950164, -0.086585455, 0.059222456, -0.13592203, 0.12421702, 0.25911456, -0.30712909, -0.32777423, -0.065243766, -0.18262905, 0.2039587, 0.052910935, -0.08447836, 0.093383566) * g_23; + result += mat4(-0.17947456, -0.107932284, 0.11335294, 0.16742402, -0.123715445, -0.27323994, 0.15531261, 0.22766086, 0.16263995, -0.2014767, -0.40492374, -0.15713632, -0.26240152, 0.018007467, 0.0621857, -0.2819687) * g_24; + result += mat4(-0.26559585, 0.014900249, 0.16911738, -0.17638609, 0.22711746, -0.16094574, 0.03393967, 0.1899959, -0.1117433, -0.023160132, 0.054320656, 0.047609437, -0.0006658183, -0.020135878, 0.21770352, 0.6265344) * g_25; + result += vec4(0.004939347, -0.026483338, -0.056496214, -0.07306347); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x104 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_15_tf3 +//!BIND conv2d_15_tf4 +//!BIND conv2d_15_tf5 +//!BIND conv2d_17_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!SAVE conv2d_18_tf1 +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.03043192, -0.11382309, 0.15258959, 0.0018671904, -0.07262079, -0.15530646, 0.088956885, 0.0068843844, 0.18098354, -0.13130096, 0.019414594, 0.021504048, 0.12169795, 0.15837122, 0.09828637, -0.47963795) * g_0; + result += mat4(0.14249554, -0.022084357, 0.06666183, -0.043699186, 0.014650524, 0.1188985, 0.0454781, -0.050885927, -0.20757285, 0.5144112, -0.48320413, -0.14140959, -0.13466966, 0.22992888, -0.005597194, -0.06725975) * g_1; + result += mat4(0.06208693, -0.112261705, -0.1686331, 0.018273335, -0.09682144, 0.068702586, 0.045484196, 0.08813325, -0.11541148, -0.008004347, 0.036507435, 0.06754519, 0.011923774, -0.03168652, 0.015487991, 0.10111531) * g_2; + result += mat4(-0.008023328, 0.1137135, -0.07264171, -0.120196424, -0.043222312, -0.22171052, 0.102924, -0.11386958, 0.21182953, -0.072151154, 0.04207932, 0.04245426, 0.074935004, -0.042641435, -0.098739915, -0.13941646) * g_3; + result += mat4(-0.010649323, 0.009664776, 0.041474525, -0.06732602, -0.18728773, -0.14357336, -0.2223795, 0.22192913, -0.0651367, -0.11535945, -0.19640021, 0.116560034, -0.025604805, 0.019647487, 0.25854686, -0.1392261) * g_4; + result += mat4(0.1567528, 0.10124439, -0.06609058, 0.11552276, 0.057271544, -0.065696426, 0.12358736, 0.15948243, -0.032239728, 0.011985731, 0.18371308, -0.08555982, -0.06528452, 0.11953871, 0.11031671, -0.029863868) * g_5; + result += mat4(0.1311102, -0.1305194, -0.18688914, 0.05448602, -0.06396861, -0.12188008, 0.121559285, 0.088412315, -0.09227041, 0.35888135, -0.21576284, -0.09567888, -0.1135963, -0.30975553, -0.019740306, 0.23325934) * g_6; + result += mat4(0.013327147, 0.069052495, 0.0853812, 0.13866353, 0.060591422, 0.1950111, 0.063291125, 0.06301278, 0.16034324, -0.03186552, -0.015433267, 0.21410994, 0.017428825, -0.095040835, -2.532167e-06, -0.19249855) * g_7; + result += mat4(-0.10042209, 0.051823184, 0.06878474, 0.039450742, -0.02151693, -0.125688, -0.080015615, 0.101158395, -0.023944302, -0.3210737, 0.19029768, -0.080297835, 0.03199306, 0.0999303, 0.22268118, 0.08898154) * g_8; + result += mat4(-0.06613979, -0.10264432, 0.06768314, 0.16863261, 0.23254016, 0.049546715, -0.22763276, 0.042342335, -0.20712924, 0.092378855, -0.022331564, -0.04691188, -0.027093714, 0.098690435, -0.19893834, -0.04930573) * g_9; + result += mat4(-0.122772284, -0.11104652, -0.018459626, 0.115983605, 0.12493899, 0.16507398, 0.21478258, -0.15713362, 0.055545174, 0.05634718, 0.1609001, 0.046624824, 0.08476838, 0.024616027, -0.0030971076, 0.040258918) * g_10; + result += mat4(-0.030780645, 0.10763727, 0.2205602, -0.22281945, 0.08244692, -0.12237726, -0.26415175, -0.16127835, -0.01633197, -0.12299418, -0.012012627, -0.084443405, 0.012664263, 0.07389567, 0.01104131, 0.01305866) * g_11; + result += mat4(-0.28838482, 0.15918796, -0.119311474, -0.053310875, -0.07448111, -0.13836008, -0.22057253, 0.2299248, 0.009213285, 0.0044759554, -0.058288343, 0.19605552, -0.062922835, 0.081783056, -0.20190218, 0.008294941) * g_12; + result += mat4(0.16755526, 0.08699512, -0.18997741, -0.0014094117, -0.06733589, -0.15045306, 0.25367445, -0.17017934, 0.017913489, -0.015539376, 0.088074, -0.05331681, 0.04171007, 0.14498031, 0.06460646, -0.00037390782) * g_13; + result += mat4(0.04930183, 0.12424497, -0.0722411, 0.09628479, -0.043124642, 0.04497056, 0.18794456, -0.03480863, -0.09988751, 0.053120367, -0.1482433, -0.145739, 0.09281689, 0.026481925, -0.10084, -0.15488812) * g_14; + result += mat4(-0.004074055, 0.04565656, -0.015633525, 0.035065204, 0.11478302, 0.020277338, -0.048027817, -0.010702974, -0.083617836, 0.010090728, -0.22310819, 0.15971296, 0.06781031, -0.16845126, 0.39758167, 0.22460622) * g_15; + result += mat4(-0.09374665, -0.042104498, -0.033132017, 0.08122814, -0.08190475, 0.27325064, -0.08330755, -0.3144509, -0.12476947, 0.07372691, -0.005574465, 0.19122915, 0.03066927, -0.018531645, 0.19734049, 0.002256408) * g_16; + result += mat4(0.013257584, -0.10722849, 0.03737538, -0.12670442, 0.07042824, 0.0074753985, 0.061389714, -0.3798834, 0.012847999, 0.08157751, 0.015498391, -0.06905376, -0.27448237, 0.002926611, -0.0022811508, -0.1625364) * g_17; + result += mat4(0.07984379, 0.16429926, -0.08719054, 0.084147796, -0.08544172, 0.049447432, -0.3133747, -0.024927497, -0.003863256, 0.18635638, -0.059786454, -0.052997295, -0.07169392, 0.11241022, -0.19898133, -0.007140295) * g_18; + result += mat4(-0.108855434, -0.09246034, 0.04956623, 0.028047003, -0.039407548, 0.031223932, 0.015852997, -0.050448515, -0.04515231, -0.1598301, -0.08276407, 0.17720093, 0.2920873, -0.021305554, 0.028241735, -0.18086697) * g_19; + result += mat4(0.047492385, -0.1599947, -0.20104182, 0.16174223, -0.071828544, -0.12785994, -0.12311588, 0.012565137, 0.016804317, -0.03577294, -0.09488874, 0.06645059, -0.00015702203, 0.16082056, 0.03234071, -0.08351094) * g_20; + result += mat4(-0.032639805, -0.010861794, 0.030566638, 0.014637599, 0.120822355, 0.12297292, -0.05141305, -0.016473597, -0.048908286, 0.07600826, -0.0022954363, -0.113686286, -0.20952684, 0.09235576, -0.15726195, -0.2348195) * g_21; + result += mat4(0.13191621, -0.002480696, -0.14792813, 0.15621583, 0.100709975, -0.21280108, 0.045120943, -0.02165414, -0.1447397, 0.24282482, -0.1569735, 0.11792232, 0.012485835, 0.0029504807, 0.067921594, -0.25737903) * g_22; + result += mat4(-0.11145241, 0.27000552, -0.19557719, -0.16048421, 0.012310486, 0.07280107, -0.13137956, 0.27061656, -0.25022137, 0.07077271, 0.3398045, -0.10735134, 0.124004506, -0.03584192, -0.042106874, 0.13895391) * g_23; + result += mat4(0.11946389, 0.10225672, -0.057140473, 0.09698616, 0.13223277, -0.19595279, -0.15960483, -0.017795812, 0.120322645, -0.0914318, -0.2300714, 0.14489214, 0.2006262, -0.0036377236, 0.14416055, 0.247531) * g_24; + result += mat4(0.2734717, -0.26736638, -0.06574077, -0.041792296, -0.13349292, 0.23770794, -0.0032957396, 0.07614033, -0.11995782, 0.25061053, -0.017311087, -0.3048492, -0.07940496, 0.166133, -0.2777709, 0.0010628162) * g_25; + result += vec4(0.015130698, -0.049747583, 0.006816977, -0.09670764); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x104 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_15_tf3 +//!BIND conv2d_15_tf4 +//!BIND conv2d_15_tf5 +//!BIND conv2d_17_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!SAVE conv2d_18_tf2 +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.07275335, 0.14898193, 0.05103475, -0.24677557, -0.04590853, 0.18598412, 0.17042433, 0.25112963, -0.25387946, 0.16816492, 0.042718515, -0.07254226, -0.123994775, 0.018808274, 0.112001434, 0.025319412) * g_0; + result += mat4(0.2535324, 0.24990268, 0.0028210187, 0.10466241, -0.061642785, 0.28444982, 0.076121055, 0.053076364, -0.52522933, 0.2632941, 0.19820404, 0.05237143, 0.26571947, 0.10656059, 0.043669626, 0.04990818) * g_1; + result += mat4(0.08245741, 0.14015213, 0.18104555, 0.10484035, 0.16811769, -0.041335564, -0.033331893, 0.033417568, 0.11096319, 0.030447075, -0.09328212, 0.04628232, -0.07635939, 0.07020028, -0.2722409, -0.060951874) * g_2; + result += mat4(0.010335018, 0.32633916, 0.12625806, -0.3094073, 0.29249397, -0.3108912, 0.11901825, -0.07490385, 0.17830479, -0.20337716, 0.054164883, 0.28893295, 0.18187387, 0.053543147, -0.10075131, 0.0034320771) * g_3; + result += mat4(-0.02826832, 0.11724661, -0.06962717, 0.12613653, -0.23680139, 0.004728264, 0.043008044, -0.22754075, -0.0716446, -0.14434932, -0.17710604, -0.11561461, 0.37956393, -0.16996142, 0.040763404, 0.07495938) * g_4; + result += mat4(0.06707339, 0.40558064, 0.21503006, -0.2594568, -0.22734876, 0.26095417, 0.053693745, -0.14698361, 0.07437207, 0.24770571, 0.120787956, -0.030818382, -0.047236454, -0.48851666, -0.0031445923, 0.22892044) * g_5; + result += mat4(-0.04945736, 0.26467103, 0.049671993, 0.047162287, 0.061514832, 0.15016414, -0.10250111, -0.3007125, 0.20936479, 0.27691036, -0.02891184, -0.025837302, 0.19422647, 0.11701095, -0.08495193, -0.13676211) * g_6; + result += mat4(-0.10254167, -0.16630745, -0.34381193, 0.06600585, -0.10242925, -0.055404972, 0.021561349, 0.10897398, -0.10120918, -0.13307574, -0.014301925, 0.1969603, -0.14377114, -0.089617215, 0.0022043488, 0.0038541725) * g_7; + result += mat4(-0.14566253, 0.22117427, 0.050736886, 0.12268627, -0.080971554, 0.0658161, -0.09683872, -0.0103765065, 0.18371643, -0.019395225, -0.120815344, 0.13516186, 0.05761091, 0.008207175, 0.36346915, 0.026339587) * g_8; + result += mat4(0.07948127, -0.08477327, -0.16991964, 0.2505722, -0.1902803, 0.079657145, -0.048453137, -0.09438733, -0.122441165, -0.06270245, -0.05311665, 0.13945523, -0.17516851, 0.1292089, -0.17136113, -0.055618342) * g_9; + result += mat4(-0.002150108, 0.02283226, -0.13090558, 0.033127207, 0.06023704, -0.06849595, 0.046912603, 0.034401193, 0.010757264, 0.19490354, 0.0116163725, 0.18590987, 0.025350608, -0.11296784, 0.049074072, -0.10146356) * g_10; + result += mat4(-0.02068922, 0.030495135, 0.120516464, 0.15653776, -0.1632823, -0.055421073, 0.07736736, -0.250596, -0.056524616, -0.038208432, -0.14350441, 0.09898008, 0.0051016, 0.15592806, 0.14021751, 0.019436443) * g_11; + result += mat4(-0.14777614, 0.17289229, 0.2744722, -0.038262386, 0.043346573, 0.22880417, 0.035564966, -0.07677456, 0.11968518, -0.22628254, 0.06328974, -0.15619329, 0.06524249, 0.046800073, 0.110473916, -0.15548) * g_12; + result += mat4(0.25480956, 0.14005896, 0.09140913, 0.054437663, 0.0004533271, -0.034787837, -0.1323544, -0.12815407, -0.084788546, 0.09716086, -0.13819875, 0.17354825, 0.10694976, 0.0016070876, 0.16901751, -0.29687676) * g_13; + result += mat4(0.110094875, 0.05579302, -0.0027500705, -0.23052558, 0.029316107, 0.025380356, -0.2670241, 0.21118346, -0.17167161, 0.021439673, 0.075709194, 0.035738192, 0.069175325, -0.11928909, 0.0609199, -0.07018926) * g_14; + result += mat4(0.053545795, 0.30914584, 0.0083375275, 0.024702856, 0.091693155, -0.12650286, -0.05307018, -0.009256227, -0.17785516, 0.019424014, 0.0064009326, -0.064602405, -0.23181896, 0.18487184, -0.041830298, 0.015233306) * g_15; + result += mat4(0.0983137, -0.02332874, -0.16712289, 0.110043615, 0.20248997, 0.46069786, -0.04481748, 0.037059803, -0.111577116, -0.023646941, 0.044005208, -0.046400744, 0.27068818, -0.02549177, -0.23175907, -0.013831666) * g_16; + result += mat4(-0.060007934, -0.10096949, 0.054297656, 0.07113129, 0.04455678, 0.26144683, -0.34634766, -0.046529762, -0.031835936, -0.10379009, 0.19875336, 0.018076476, -0.07739257, -0.013014384, -0.11888874, 0.22789921) * g_17; + result += mat4(-0.12075386, 0.13691123, 0.084494345, -0.15709634, -0.09436252, 0.038024623, 0.06776821, -0.07152998, -0.13886653, 0.029662577, 0.1038584, -0.038791, -0.09553779, -0.18302377, -0.01212077, 0.14089715) * g_18; + result += mat4(-0.057872534, -0.00011801619, -0.18532518, 0.076057665, -0.42539987, -0.07312798, -0.04669854, -0.23879579, -0.012684431, 0.09458908, -0.09142282, -0.12451197, 0.2476217, 0.074229516, -0.082316175, -0.044077393) * g_19; + result += mat4(0.28468457, -0.040408906, -0.106139034, -0.27775, -0.09903486, 0.10510825, -0.030768666, 0.025477748, 0.052054677, 0.06462344, 0.08219105, -0.31942672, -0.1009352, -0.1137351, -0.03437056, 0.19018868) * g_20; + result += mat4(0.102790736, -0.015214254, 0.13167804, -0.010143135, 0.20543955, 0.109071806, 0.009985071, 0.044157047, -0.0702753, 0.12881173, 0.11038061, 0.050384365, 0.0945336, -0.0092124175, 0.02406746, -0.16884717) * g_21; + result += mat4(-0.016257925, -0.29831296, 0.0016857416, -0.25284603, -0.093083024, 0.076591246, -0.16160022, 0.11423315, 0.009033389, 0.29160973, -0.017032826, -0.15522738, -0.011398442, 0.21191356, -0.07039929, 0.11179371) * g_22; + result += mat4(-0.22552256, 0.23648272, 0.04632884, 0.19379017, -0.013058757, 0.04581136, 0.07059032, -0.016221967, 0.19233103, 0.22866032, -0.06603767, -0.07290105, -0.1454335, -0.20352724, -0.11494829, -0.008654449) * g_23; + result += mat4(-0.22305818, 0.062374588, 0.09524618, 0.13345708, -0.017654542, -0.29984674, 0.14792737, 0.3332384, 0.15762518, -0.114883184, -0.044198688, 0.1029124, -0.19856718, -0.23805596, -0.14726463, 0.244083) * g_24; + result += mat4(0.14181834, -0.15349664, -0.21518064, 0.05561381, -0.098451905, 0.32704952, -0.0208272, -0.02572841, 0.0006366284, 0.086487964, 0.23271829, -0.1431307, 0.16303279, -0.07606844, 0.028287608, 0.10664057) * g_25; + result += vec4(0.082762346, -0.07846427, -0.039599236, -0.016365785); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x104 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_15_tf3 +//!BIND conv2d_15_tf4 +//!BIND conv2d_15_tf5 +//!BIND conv2d_17_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!SAVE conv2d_18_tf3 +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.3913639, 0.10863686, 0.036568943, -0.13616984, -0.12256661, 0.04261365, 0.08361712, 0.024963316, -0.03783324, -0.10835608, 0.1809994, -0.04891911, -0.07477347, 0.0005572628, 0.053801652, -0.17294465) * g_0; + result += mat4(-0.21240501, 0.048232567, -0.099440515, 0.110053435, -0.006807463, -0.10109199, -0.22602126, 0.11079698, -0.1816435, -0.3379471, -0.021888362, 0.012671836, -0.06788005, -0.019659603, 0.16906545, 0.1445488) * g_1; + result += mat4(0.040371295, -0.11197462, 0.00079611357, 0.23602307, -0.014053341, -0.16986679, 0.43132487, -0.12045111, 0.04180373, 0.08479918, -0.19931872, -0.17834274, -0.09733228, -0.20826107, 0.10239968, -0.13434827) * g_2; + result += mat4(0.020251004, 0.05971277, 0.18788993, 0.22893736, -0.08358592, -0.0119363805, -0.028455067, 0.116514385, -0.07311193, 0.22235078, -0.002239371, -0.074645266, 0.06231244, -0.13092813, 0.21043214, 0.50299895) * g_3; + result += mat4(0.47271565, 0.16325614, -0.15088516, -0.05982057, -0.2840374, 0.09182066, 0.06488062, -0.04938649, 0.1414061, 0.23092744, -0.21936595, -0.039149538, 0.20567922, 0.0246051, 0.098648764, 0.08579129) * g_4; + result += mat4(-0.39960098, 0.08434482, 0.13802652, 0.009295323, -0.20654808, -0.012721733, 0.21201523, 0.031257343, -0.11945277, 0.0916237, 0.06440069, -0.007590389, 0.23944661, -0.014860424, 0.06284065, -0.07135138) * g_5; + result += mat4(-0.0721573, 0.055787597, -0.02767052, 0.067403264, -0.02324729, 0.17466933, -0.042196542, -0.14136551, 0.09058359, -0.076865345, -0.015435375, 0.067640945, 0.011448769, 0.028046837, 0.04713673, 0.09483546) * g_6; + result += mat4(0.2546167, 0.022421336, 0.092746, -0.32795382, -0.33241096, 0.026107095, 0.06289775, -0.21036743, -0.27947587, -0.07762511, 0.2963245, -0.2832532, 0.063718654, 0.0619972, -0.061061345, -0.18399453) * g_7; + result += mat4(0.15909304, 0.07303675, -0.38512105, 0.029276537, 0.009517432, 0.05652419, -0.014813123, -0.095283724, -0.01813517, -0.15192051, -0.15530504, 0.2359332, -0.12923944, 0.01736479, -0.2677732, -0.3177703) * g_8; + result += mat4(-0.23776342, 0.10257757, 0.11439193, -0.18072441, 0.3792303, 0.100887515, -0.05491485, 0.27023515, 0.08301177, -0.21621186, 0.06266283, 0.086530656, 0.10006346, -0.053092614, -0.15547004, 0.35645944) * g_9; + result += mat4(-0.098499954, 0.039016157, 0.0524485, -0.10033457, 0.103584886, -0.11934437, 0.07800956, -0.15115607, -0.041158408, 0.117455296, 0.06669016, 0.0035908893, -0.13599664, -0.030012745, -0.30871254, 0.059126258) * g_10; + result += mat4(0.24690406, -0.091217, -0.0504622, 0.24518415, -0.12884134, 0.1323742, 0.0038479774, 0.09842381, 0.008500783, -0.06559568, 0.05146583, 0.059599597, 0.0071321735, -0.10342487, -0.19067638, -0.06347009) * g_11; + result += mat4(0.016936122, -0.11043261, -0.28285822, 0.33104372, -0.06869837, -0.019808812, 0.10947519, 0.2072341, 0.12953152, 0.0066205165, -0.14361404, 0.21440293, 0.107933156, 0.25248542, 0.35479957, 0.04657107) * g_12; + result += mat4(0.003236877, 0.03476854, 0.14876802, 0.23711428, 0.04649911, -0.071351595, 0.031896085, -0.10594211, 0.00069857674, 0.10305368, -0.09314995, -0.32680586, 0.04570868, 0.14266723, -0.034397174, 0.20164481) * g_13; + result += mat4(-0.020077765, 0.048004072, 0.090358, -0.089907974, 0.20100264, 0.07662578, -0.026522158, -0.022249233, 0.004584297, 0.049182866, 0.21047321, 0.2006713, -0.04797985, -0.120389566, 0.08469395, 0.17327283) * g_14; + result += mat4(0.03438223, -0.009089888, 0.02548027, 0.330411, -0.20711938, -0.09044422, -0.085573465, -0.0015074041, 0.19686691, -0.27738565, 0.1842882, 0.25633478, 0.05049097, -0.04747395, 0.12880976, 0.2955938) * g_15; + result += mat4(0.060284127, -0.052791417, 0.17430194, 0.2734774, 0.033497952, 0.07028606, 0.13602622, 0.3844893, -0.16202293, -0.0112891495, -0.10688323, 0.030814776, 0.014681261, 0.026908493, -0.008830593, 0.01871953) * g_16; + result += mat4(-0.07465978, -0.175989, 0.09637529, 0.040558986, 0.2981238, 0.16432516, 0.1452289, 0.5645152, 0.1293484, 0.074065246, -0.050162554, 0.21817929, 0.0609144, -0.10554228, -0.011225634, 0.36546203) * g_17; + result += mat4(-0.02294336, 0.08113419, 0.1710403, 0.18030314, -0.09124345, -0.035692204, 0.12966245, 0.19688453, -0.14478156, 0.08348002, -0.1238327, 0.084183216, -0.11615483, 0.06405909, -0.25661626, 0.16786002) * g_18; + result += mat4(0.036198474, -0.09861699, 0.012380308, -0.0666469, 0.054049894, -0.066349685, -0.04150571, 0.052891124, -0.06718455, -0.09419681, 0.15026417, -0.004487838, -0.24373291, -0.24006884, 0.33599952, -0.16203383) * g_19; + result += mat4(-0.084336184, 0.0033727193, -0.036314957, 0.04644337, 0.018204624, -0.16930482, 0.08446394, -0.056894217, 0.048310533, -0.12286224, 0.047029763, 0.15852791, -0.10254443, 0.009188206, -0.18071724, -0.09453931) * g_20; + result += mat4(0.2575106, 0.11234036, 0.03598674, 0.17742175, -0.09323855, -0.029400691, 0.066994734, -0.11069254, -0.014193176, -0.24321175, -0.0047728037, 0.09166242, 0.052884653, -0.10701044, 0.06771872, -0.10142581) * g_21; + result += mat4(0.007486696, 0.1029968, 0.14142233, 0.08376258, 0.12990831, 0.17370157, 0.006009723, -0.19141605, 0.13205655, -0.09506749, 0.12058968, 0.19471712, 0.009516709, 0.096770726, 0.14443186, 0.12925056) * g_22; + result += mat4(0.0475854, -0.09714674, -0.31917745, -0.20503542, 0.07705934, 0.040050905, -0.014721256, -0.058823906, 0.14376932, 0.012064556, 0.13286169, -0.19186401, 0.1831485, -0.27443576, -0.006654469, 0.103141926) * g_23; + result += mat4(0.044394996, -0.31224364, -0.07683899, 0.053486146, -0.4123616, 0.086337365, -0.09587909, -0.03808539, -0.18129647, -0.11455093, 0.1632373, 0.25741103, 0.17294647, -0.11041576, -0.2997262, 0.15817544) * g_24; + result += mat4(0.3266296, 0.085812286, -0.16668066, 0.030034138, -0.08862288, 0.06389938, 0.067171246, 0.01578496, 0.031137405, -0.06823438, -0.17424862, 0.3733615, -0.28492418, -0.14051028, -0.11076368, 0.0816732) * g_25; + result += vec4(0.015868783, -0.03145758, 0.060429975, 0.0045110146); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x104 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_15_tf3 +//!BIND conv2d_15_tf4 +//!BIND conv2d_15_tf5 +//!BIND conv2d_17_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!SAVE conv2d_18_tf4 +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.14945197, 0.16098031, 0.051719245, -0.034232154, -0.10090936, 0.00830591, 0.003511522, 0.047575846, 0.06164254, -0.036461372, 0.06093159, 0.12666239, 0.015167088, 0.22650927, 0.27785966, -0.13839455) * g_0; + result += mat4(0.20404427, -0.13778454, -0.003130969, -0.0069568753, 0.009411408, 0.00029913452, -0.15609823, -0.036967028, 0.8401452, 0.104523584, 0.16267233, 0.26101708, 0.15797855, -0.005672259, -0.072657965, -0.2940039) * g_1; + result += mat4(0.023400925, -0.07931777, -0.0024201928, 0.14154646, 0.13505082, 0.061725322, -0.23146541, 0.2235899, 0.028721808, -0.020690065, 0.027728429, 0.3306459, 0.03473293, -0.06322703, -0.017740624, 0.02693956) * g_2; + result += mat4(0.201981, -0.26569206, 0.3296027, -0.062879294, 0.012529938, -0.006474693, 0.09799416, -0.045322224, 0.10355446, 0.13586703, 0.23875476, 0.08521818, 0.13901752, -0.3213584, 0.0010939257, -0.012409596) * g_3; + result += mat4(-0.23700963, -0.0033388012, 0.08170323, 0.14243743, -0.18329623, 0.2986226, -0.19831513, 0.14657772, 0.33912238, 0.25595152, -0.24895075, 0.14932986, 0.045179855, -0.009538074, -0.100237936, -0.098446615) * g_4; + result += mat4(-0.18900044, 0.054638628, 0.06837739, 0.08266906, -0.046341334, -0.19986658, 0.050261546, 0.036085926, -0.07516528, 0.028093588, -0.3476435, -0.10726676, 0.33830363, -0.058144495, 0.102090456, 0.2108081) * g_5; + result += mat4(-0.09022328, 0.017889388, -0.15765008, -0.10291243, -0.060554795, -0.038358618, 0.16947241, -0.104247436, 0.42979565, 0.14488359, -0.07012738, 0.07480945, -0.02311837, -0.030403437, -0.21153943, 0.009769658) * g_6; + result += mat4(-0.19631365, -0.021078536, 0.093053594, 0.042771056, 0.07872415, 0.25367248, 0.2904824, 0.081488095, -0.21612023, 0.20601381, 0.09763489, 0.122754775, 0.0024988255, -0.17623907, 0.22360411, 0.18334015) * g_7; + result += mat4(-0.058749627, 0.071623124, 0.03675938, -0.2588635, 0.016778812, -0.21104309, 0.018952027, -0.31036612, -0.15561692, -0.021656368, -0.22004744, -0.20016085, 0.25435224, 0.02916577, 0.06516691, 0.07729871) * g_8; + result += mat4(-0.082993135, 0.037327975, -0.09041188, -0.021681158, -0.13288629, -0.016856177, -0.19841108, -0.048110623, 0.017901966, -0.13928522, 0.020148523, -0.2575589, 0.05966198, -0.25391978, 0.1887992, -0.22440273) * g_9; + result += mat4(0.038387958, 0.25604457, 0.20616667, -0.010662733, 0.0652453, -0.09418516, 0.03907119, -0.07573656, -0.026385533, 0.023236332, -0.0694166, -0.039987978, 0.03619357, 0.024953678, 0.0047133924, 0.10959686) * g_10; + result += mat4(-0.28358817, -0.08429444, 0.12283427, -0.17352122, -0.28881827, 0.028303733, 0.037494656, -0.18157536, 0.102885716, -0.1597965, -0.15546831, -0.01146783, -0.11535764, 0.07318211, -0.0064606857, -0.17013118) * g_11; + result += mat4(-0.2722369, -0.16988702, -0.12011997, -0.21110061, -0.02703128, -0.0012027018, 0.15786748, -0.045325976, -0.14155495, 0.024521999, -0.09180482, 0.07973881, 0.15009059, 0.11311702, -0.24193251, 0.21181291) * g_12; + result += mat4(0.079832554, 0.13819915, 0.0644478, 0.032698773, -0.055964362, 0.0062652268, -0.44648278, 0.020893153, 0.2785451, -0.058252975, 0.06947447, 0.17165478, 0.11666183, 0.032484345, 0.26955023, -0.09007163) * g_13; + result += mat4(0.074948624, -0.03027186, 0.08031308, 0.0076982, -0.030060723, -0.123520896, -0.01858971, 0.16149811, -0.18218324, -0.1907134, 0.14869457, 0.04311582, -0.14524359, 0.18327981, -0.038959123, 0.052322008) * g_14; + result += mat4(-0.059443116, -1.2828946e-05, 0.2770255, -0.054349877, -0.09371057, -0.19399741, 0.024748074, -0.21350558, 0.15579434, -0.18651448, 0.03005815, -0.12944081, -0.11453777, -0.2343128, -0.1720614, 0.0016626595) * g_15; + result += mat4(-0.23639911, -0.083615154, -0.20849767, -0.28589326, 0.3486518, -0.089977995, 0.013625235, -0.13351293, -0.17646289, -0.28506002, 0.13482474, 0.0347251, -0.23015228, 0.06251885, 0.0933548, -0.16809867) * g_16; + result += mat4(0.1822202, -0.089247055, -0.0019837108, 0.0024590432, 0.3305589, 0.019448044, -0.053130258, -0.12762257, -0.063679375, 0.22454257, 0.04940314, -0.015956238, 0.25156045, -0.070181206, -0.21123977, 0.12588634) * g_17; + result += mat4(0.2687441, 0.009185896, 0.2552064, 0.12281216, -0.061733842, -0.41198087, 0.015501087, 0.07808448, 0.058844253, 0.08016994, 0.088322714, -0.092968285, 0.08418163, 0.007952845, 0.043222576, 0.070968375) * g_18; + result += mat4(-0.013054412, -0.21707737, -0.17667364, -0.21544492, 0.1014457, 0.18704009, -0.023388298, -0.057701223, 0.105478585, -0.07900766, 0.074261405, 0.1888776, 0.12542284, -0.1996206, -0.16316931, 0.007791157) * g_19; + result += mat4(-0.18270205, 0.2025353, 0.3265147, 0.06714097, -0.016193308, -0.20436206, -0.030753197, -0.058978382, -0.14078636, -0.06465846, 0.20873049, -0.109932266, 0.30118617, 0.22391927, 0.07046112, 0.0371617) * g_20; + result += mat4(0.02550017, 0.16456556, -0.11329017, 0.088022776, 0.23173799, -0.0010375397, -0.05828751, 0.14631982, 0.21526784, 0.22880761, -0.09728381, -0.04741336, -0.0019534798, -0.062897205, -0.065131105, 0.0025237799) * g_21; + result += mat4(-0.108903095, 0.03159055, 0.20757839, 0.15141101, -0.00817231, 0.003621365, -0.02615051, 0.14909424, 0.3730205, 0.11222444, 0.18234271, 0.15614115, 0.17248969, 0.15939258, 0.10224304, 0.1903116) * g_22; + result += mat4(0.16533965, 0.015357719, 0.14340413, -0.03258536, 0.273793, 0.08128506, -0.037119016, -0.1599679, -0.15314123, 0.006436269, -0.060659572, -0.13333261, -0.01068674, -0.061791964, 0.17797105, -0.1944123) * g_23; + result += mat4(-0.061225474, 0.06916346, 0.2188833, 0.049035676, -0.28082103, 0.25311306, 0.16941728, 0.13574886, 0.03735417, -0.0150085725, -0.04081533, 0.16391492, 0.053848673, 0.092159234, 0.06918723, -0.06668832) * g_24; + result += mat4(-0.023205632, -0.29362342, 0.0782468, -0.11934102, 0.25011548, 0.036887586, -0.17301348, 0.0003987401, 0.017727787, -0.3402023, 0.1384328, -0.48377892, -0.20980822, -0.16546479, 0.115749344, 0.2642447) * g_25; + result += vec4(-0.20050508, -0.07773812, -0.033446066, -0.032423045); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x104 +//!HOOK MAIN +//!BIND conv2d_15_tf +//!BIND conv2d_15_tf1 +//!BIND conv2d_15_tf2 +//!BIND conv2d_15_tf3 +//!BIND conv2d_15_tf4 +//!BIND conv2d_15_tf5 +//!BIND conv2d_17_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!SAVE conv2d_18_tf5 +//!WIDTH conv2d_15_tf.w +//!HEIGHT conv2d_15_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_1 (max((conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_15_tf_tex(conv2d_15_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_15_tf1_tex(conv2d_15_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_15_tf2_tex(conv2d_15_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_15_tf3_tex(conv2d_15_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_15_tf4_tex(conv2d_15_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_15_tf5_tex(conv2d_15_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_17_tf_tex(conv2d_17_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.056246072, -0.16367151, 0.09586773, -0.09557277, -0.10967658, 0.29330617, -0.13319509, 0.1583132, -0.03072026, -0.13287482, 0.08872677, 0.01658334, -0.030632658, 0.23216708, -0.04874622, -0.19615364) * g_0; + result += mat4(0.28258148, 0.23039894, -0.022433521, -0.076286666, -0.013763674, -0.011372233, 0.06338799, -0.14605698, 0.14725849, 0.04564273, -0.29587668, -0.06550259, 0.07033988, 0.056368083, -0.11388523, 0.22788034) * g_1; + result += mat4(-0.078506514, 0.050773215, -0.05056612, 0.03687288, -0.06774274, 0.346275, 0.22509691, 0.14400601, 0.053844824, -0.032543994, -0.065815195, 0.05659026, 0.30160823, 0.21798158, -0.13396002, -0.070808604) * g_2; + result += mat4(0.1414282, -0.14827503, 0.1398485, -0.07609034, -0.25334343, 0.14950044, -0.23095194, 0.20794556, 0.13395849, -0.016921503, -0.019526243, 0.03422955, -0.12746096, 0.051038973, 0.30596954, 0.08058667) * g_3; + result += mat4(-0.16881044, -0.14647691, 0.005999665, -0.2447768, 0.01649153, 0.062070012, -0.046544943, -0.17421006, -0.1569363, -0.13780028, 0.06486153, 0.083640814, 0.10214361, 0.33934087, -0.10050735, 0.101777904) * g_4; + result += mat4(0.290694, -0.21645689, 0.051882863, -0.17417477, 0.10914349, 0.08146335, -0.098452374, -0.19601184, 0.12863407, 0.1486865, -0.081353866, 0.041731454, -0.22860748, -0.2768738, 0.22779721, 0.17970768) * g_5; + result += mat4(-0.010292755, 0.30307126, 0.070744984, 0.018192705, 0.059022196, -0.2962268, 0.32906732, -0.32876432, -0.21463345, 0.31662, -0.16954084, -0.117625155, -0.10809974, -0.23279764, 0.15617515, -0.12067889) * g_6; + result += mat4(-0.09392243, -0.09030095, -0.0074743694, 0.18182948, 0.066194676, -0.06895621, -0.083494544, -0.11739724, -0.025220301, -0.07014885, 0.08474903, -0.15182392, 0.3104019, 0.1361944, -0.07185112, -0.30538258) * g_7; + result += mat4(-0.04256853, -0.27519822, 0.4612011, 0.024868855, -0.017590877, 0.029131817, -0.032747604, -0.046608966, 0.047107942, -0.06539844, -0.1362288, 0.016851274, -0.19554174, -0.09681737, -0.09754212, -0.10524043) * g_8; + result += mat4(-0.08256224, -0.061173473, -0.0003020941, 0.1565923, -0.003615149, 0.1686191, 0.25915742, -0.1551164, 0.010245293, 0.09092833, 0.0010728717, 0.12982604, -0.13078149, -0.079463206, -0.25684637, 0.022832563) * g_9; + result += mat4(0.20522995, 0.088086136, 0.14705934, 0.1724673, 0.21438526, 0.069160245, 0.06703898, 0.06735102, 0.2414119, 0.23313762, -0.14652516, -0.2308932, 0.11138083, -0.35780203, 0.18798493, 0.079498045) * g_10; + result += mat4(-0.053529646, 0.05224867, -0.021422606, 0.10177944, 0.2462833, 0.22917953, 0.09228497, -0.017690439, -0.0007594463, 0.08885728, 0.06285097, -0.006133101, 0.35480046, 0.094339065, 0.0025798874, -0.03436115) * g_11; + result += mat4(0.29142246, -0.20571099, 0.039097242, 0.16419578, 0.33381957, 0.059117097, 0.3232492, 0.3207798, -0.17321022, 0.28149655, -0.37212068, -0.091761135, -0.29647976, -0.09786893, -0.012315099, -0.098530225) * g_12; + result += mat4(-0.08517171, 0.29922923, -0.3016026, 0.18986404, -0.4725503, 0.21458124, -0.019785719, -0.22997737, -0.1803405, -0.3505279, 0.1441317, 0.123748966, 0.16901205, 0.0853246, 0.056168083, -0.12500733) * g_13; + result += mat4(-0.05538139, 0.32405415, -0.07422156, 0.11243641, -0.12328553, 0.19872831, 0.11609064, 0.044187672, -0.03900837, 0.14938031, -0.26779997, -0.014325914, 0.08516605, 0.15472183, -0.008160691, -0.1546734) * g_14; + result += mat4(0.10224539, 0.05463571, -0.10349991, -0.13967137, 0.013825501, -0.19771369, 0.022759158, -0.02061224, -0.14596504, -0.1389487, -0.023805464, 0.3357339, 0.053674806, -0.29536068, -0.030129524, -0.23420021) * g_15; + result += mat4(0.00525935, -0.06187332, -0.21343656, 0.08685601, 0.1973513, 0.023780117, 0.10964963, 0.29554302, 0.23034461, -0.1638336, 0.052997477, -0.09746816, 0.3240945, 0.40397635, 0.14546403, 0.23516071) * g_16; + result += mat4(0.12398506, 0.071972124, -0.041258276, 0.039724182, 0.2652426, 0.27666694, 0.23635465, -0.019449247, -0.1527029, -0.22316225, 0.10210884, -0.07005887, -0.30646923, 0.041887626, -0.009516569, 0.036413055) * g_17; + result += mat4(0.028276786, 0.16043751, -0.2239881, -0.37586385, 0.31563812, -0.026203927, -0.19180797, 0.10412318, 0.26220286, 0.12667432, 0.23287152, -0.13779306, -0.08798421, -0.08690371, -0.13741593, 0.17836761) * g_18; + result += mat4(0.287815, 0.14447291, -0.045042984, 0.29542264, 0.058183044, -0.23302315, 0.21404788, 0.02194636, -0.07718152, 0.013391173, 0.095230855, 0.057383515, 0.034200735, -0.02018772, -0.009704874, 0.022752954) * g_19; + result += mat4(-0.21204911, -0.014358223, -0.04669444, 0.07340455, -0.34677908, 0.06096447, 0.07148003, -0.068913, -0.007976721, 0.23779279, -0.13419056, -0.19720857, -0.33705205, 0.044584982, -0.08765776, 0.19233592) * g_20; + result += mat4(-0.1133937, 0.17952245, -0.21029858, 0.18934067, 0.09819281, 0.096423194, -0.11639172, -0.018819679, 0.010464611, -0.093951285, -0.014759534, 0.020049462, 0.18295068, 0.19702181, 0.020996286, 0.14536497) * g_21; + result += mat4(-0.3783169, 0.33286926, -0.19929482, 0.15028305, 0.065908626, 0.041621454, -0.18216579, 0.043525103, 0.17919035, -0.12875584, 0.065998, -0.21985063, 0.13770798, -0.115711726, -0.088645585, 0.13645406) * g_22; + result += mat4(0.1653456, -0.2774588, -0.012783554, 0.29001617, -0.2319765, -0.05957548, 0.13937134, 0.09561029, -0.18725371, 0.19096635, 0.23249848, -0.19607106, 0.11286404, -0.30301368, 0.00872854, -0.11348953) * g_23; + result += mat4(0.2649749, -0.110655166, -0.014622274, -0.012837707, -0.25394395, -0.116608076, -0.13025038, 0.24080041, -0.29346582, -0.27480447, -0.14941107, 0.22009355, -0.028492803, -0.55209374, 0.09375013, -0.07632931) * g_24; + result += mat4(-0.2204565, -0.20641033, -0.16525632, -0.024253568, 0.22351857, 0.014136642, 0.096259035, 0.011398014, -0.0904076, 0.3691236, 0.34148008, -0.18941431, -0.06418756, 0.16660745, -0.0032392892, 0.18603528) * g_25; + result += vec4(0.107388094, -0.010368161, -0.030843422, -0.045815416); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_18_tf3 +//!BIND conv2d_18_tf4 +//!BIND conv2d_18_tf5 +//!SAVE conv2d_20_tf +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_18_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_18_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_18_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_18_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_18_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_18_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.12469452, 0.2756988, -0.0030386525, 0.110231526, 0.079730555, 0.31047487, -0.11741889, -0.15680341, 0.05138145, -0.051073115, 0.039240852, -0.18283725, 0.023115406, 0.4039909, 0.022149865, 0.22553988) * go_0(-1.0, -1.0); + result += mat4(-0.32825923, 0.13143322, -0.1348612, 0.13155334, 0.027405616, -0.0247758, 0.12978418, 0.13376838, 0.013370615, -0.12284778, 0.16761734, 0.00128094, -0.010231963, 0.23638017, 0.002013022, 0.27167386) * go_0(-1.0, 0.0); + result += mat4(-0.15293615, 0.032321136, 0.029405225, 0.18693046, -0.080612086, -0.04829167, -0.099340305, -0.028978925, 0.07731791, 0.024516301, -0.012716455, -0.052261427, -0.09381243, 0.05039182, 0.075204134, 0.22237705) * go_0(-1.0, 1.0); + result += mat4(0.031210596, 0.16820668, -0.08481839, -0.09094182, 0.22958319, 0.021210868, 0.0012419806, 0.08395074, 0.082526736, -0.027748931, 0.111858085, -0.066962205, 0.17804997, 0.25638363, -0.06805945, 0.26395732) * go_0(0.0, -1.0); + result += mat4(-0.03412788, 0.08408975, 0.17036097, 0.08179365, -0.18398769, 0.073729396, 0.24579936, 0.10286021, 0.09492866, 0.1726858, -0.057260204, -0.10544164, -0.2950457, -0.18057044, 0.16777372, -0.18873873) * go_0(0.0, 0.0); + result += mat4(0.16859914, -0.058282517, 0.0071716513, -0.24263367, -0.14864399, 0.18401653, 0.06635458, 0.23588325, -0.18178634, -0.086238734, 0.02538327, -0.04728138, -0.023321258, -0.16549022, -0.09689735, -0.064917505) * go_0(0.0, 1.0); + result += mat4(0.06321565, 0.13867988, 0.0947424, 0.025222858, -0.019033737, 0.15200183, 0.18162403, -0.2666241, 0.029561596, -0.047272295, 0.06085453, -0.027626522, 0.02452243, 0.21287756, -0.0504233, -0.016933715) * go_0(1.0, -1.0); + result += mat4(-0.0076588215, 0.13153656, -0.006921595, 0.17011659, 0.057251126, 0.033482872, 0.044974122, 0.31908187, 0.006421827, 0.01154297, 0.06694967, -0.12064314, 0.0055589634, 0.15902095, 0.04477553, -0.13291803) * go_0(1.0, 0.0); + result += mat4(-0.10118881, 0.17185818, 0.3105655, 0.14553094, 0.005159673, -0.09609453, -0.031000953, 0.13549595, -0.016148865, -0.10999589, 0.07714027, -0.123150334, -0.22769089, 0.05522311, -0.053379774, -0.14648165) * go_0(1.0, 1.0); + result += mat4(0.10159467, 0.11506783, -0.027823403, 0.09708401, -0.0014844061, -0.050402377, 0.060338866, -0.100012936, -0.18527813, 0.09105397, -0.0109011205, 0.13899182, 0.0516985, 0.010947404, 0.014253443, -0.07577752) * go_1(-1.0, -1.0); + result += mat4(0.17108297, -0.07120859, 0.024338547, 0.09448755, -0.027809748, -0.07505294, 0.1282598, 0.024827847, 0.05625498, 0.07121306, -0.13161525, 0.14557523, -0.2976582, 0.04897957, 0.031145282, -0.03834759) * go_1(-1.0, 0.0); + result += mat4(0.05551268, -0.0716079, 0.023942443, 0.19639635, 0.05669373, 0.14583157, 0.055063065, -0.07820165, -0.10672402, -0.1703235, -0.095138766, -0.19283113, 0.011974798, -0.17337462, 0.11214882, 0.20275517) * go_1(-1.0, 1.0); + result += mat4(0.32291347, 0.10777462, -0.10580381, -0.21308404, 0.11616703, -0.052621234, 0.10346139, 0.16087708, -0.13207085, 0.12436386, -0.01291929, 0.14210188, 0.044976626, -0.016283648, -0.1336142, 0.09595707) * go_1(0.0, -1.0); + result += mat4(0.15443617, -0.15459086, -0.16403913, 0.03174277, -0.15888752, -0.04350233, 0.10057953, 0.07440825, -0.055050217, 0.11225007, -0.12994702, -0.010593223, -0.13450573, -0.2121465, -0.05482638, -0.07864351) * go_1(0.0, 0.0); + result += mat4(0.039901994, 0.08153883, 0.033923063, 0.041996136, -0.07113938, 0.17041339, 0.05883678, 0.24487427, 0.07539254, 0.20588705, 0.39908308, -0.11425055, -0.019062242, 0.0032807642, 0.09172311, 0.14025539) * go_1(0.0, 1.0); + result += mat4(0.01539056, 0.10754986, 0.37259609, 0.09392048, -0.00310004, -0.08401492, -0.22333388, 0.04989363, -0.12627788, 0.016482739, 0.04914916, 0.06348206, -0.086071976, -0.15826811, 0.017756626, 0.21861003) * go_1(1.0, -1.0); + result += mat4(0.18154909, -0.0033624324, 0.0968965, -0.124652244, -0.04443872, -0.010052035, -0.19655424, 0.08704668, -0.098599635, -0.040468227, 0.19175652, 0.032095585, -0.15368953, 0.024098037, -0.24407092, -0.12547572) * go_1(1.0, 0.0); + result += mat4(0.08744678, 0.054032657, -0.0021582225, 0.06409461, 0.05493912, -0.068969786, -0.047769703, 0.10919772, 0.0035211914, 0.069684826, 0.21072306, 0.072507866, -0.11938833, 0.18384676, 0.06284721, -0.05921856) * go_1(1.0, 1.0); + result += mat4(0.09057645, 0.12453462, -0.07638394, -0.0101371175, 0.01460433, 0.15772647, -0.05280295, 0.02206773, 0.07484848, -0.08790556, 0.042285398, -0.08903622, -0.0012567731, 0.098060034, 0.025009762, -0.0076966155) * go_2(-1.0, -1.0); + result += mat4(0.11454903, -0.077478886, -0.052485358, 0.19211693, 0.022671973, 0.059365507, -0.083238035, -0.14501537, -0.040764146, 0.21487065, -0.19963494, 0.054925032, 0.07232574, -0.0227394, 0.039728418, 0.17345724) * go_2(-1.0, 0.0); + result += mat4(-0.0993952, -0.06067365, 0.035934106, -0.12639004, -0.0778735, -0.10140339, 0.03887297, -0.14038701, 0.0075174705, -0.021134501, -0.02119851, -0.15757693, 0.14228992, 0.22107969, 0.027181044, -0.06279046) * go_2(-1.0, 1.0); + result += mat4(-0.16927601, 0.11677078, 0.19733079, -0.11689197, -0.034098208, 0.101883925, 0.026590899, -0.05885779, 0.08519204, 0.17631909, 0.13005087, 0.23866637, -0.085538544, 0.091313064, -0.047257267, 0.0053548473) * go_2(0.0, -1.0); + result += mat4(-0.108859956, 0.05404011, -0.018830402, -0.14216618, 0.069951884, -0.01124228, -0.0037147554, -0.020336289, -0.081044994, 0.039911337, -0.16080706, 0.08662944, 0.047947943, 0.10828746, -0.031021379, -0.11105547) * go_2(0.0, 0.0); + result += mat4(-0.1839872, -0.1833984, -0.1227439, -0.12743878, -0.03371801, -0.045720182, -0.015437003, -0.05371745, 0.08179509, -0.10187377, -0.16090737, -0.008773982, 0.29223564, -0.05076348, 0.06896914, 0.23276885) * go_2(0.0, 1.0); + result += mat4(0.11150805, -0.10692903, -0.067383446, -0.028477253, -0.08655023, -0.036996033, 0.08042788, -0.041127857, 0.10184861, 0.04945595, -0.08878173, 0.03887733, 0.055553347, -0.008964301, -0.024376081, 0.06264274) * go_2(1.0, -1.0); + result += mat4(-0.13464782, -0.0028459684, -0.01713905, -0.31262934, -0.01135533, 0.123688996, -0.025050493, 0.14633808, -0.14788014, 0.17736344, 0.1281439, -0.17853001, -0.07029142, -0.012039916, 0.10376088, -0.17375065) * go_2(1.0, 0.0); + result += mat4(-0.0059183673, 0.04232691, -0.026118219, 0.09271221, 0.00037943345, -0.010752633, -0.031649496, 0.0023594915, -0.01362048, 0.3371484, 0.04486839, 0.105351, 0.12001228, -0.0032342104, -0.041739423, -0.10184327) * go_2(1.0, 1.0); + result += mat4(0.10195569, 0.27985227, -0.12066071, 0.027551817, -0.04527464, 0.10309163, 0.026852576, -0.011768109, 0.032974254, 0.08671867, 0.071632, -0.061044805, 0.014752718, -0.045624327, 0.03510297, -0.09356974) * go_3(-1.0, -1.0); + result += mat4(0.3747214, -0.2174508, 0.09977886, 0.06383452, -0.25822937, 0.16086401, -0.07078228, -0.2262915, -0.05223827, -0.01984298, 0.095375136, 0.059800543, -0.05463991, -0.008860478, 0.08011637, -0.05239409) * go_3(-1.0, 0.0); + result += mat4(0.34629387, -0.18977715, -0.032091625, -0.05703391, -0.023425069, 0.13923487, 0.14191589, -0.02934516, 0.12887205, 0.06522604, 0.01016156, -0.034986842, -0.07630218, -0.05272673, -0.07991985, -0.04997879) * go_3(-1.0, 1.0); + result += mat4(0.100405626, 0.026242761, -0.09814247, 0.092037454, -0.01187754, -0.09976379, 0.01857234, 0.04186202, 0.045359854, 0.0015068888, 0.20283718, 0.18383868, -0.05862553, -0.043843966, -0.13292229, 0.05278706) * go_3(0.0, -1.0); + result += mat4(-0.07167725, 0.05590418, -0.052253395, -0.3165258, -0.108041376, 0.026544329, 0.2194961, -0.61452866, 0.025921447, 0.09347338, -0.012685432, 0.022920124, -0.05500294, 0.022358187, 0.04190898, -0.0761038) * go_3(0.0, 0.0); + result += mat4(0.034209993, 0.06758814, -0.073430635, -0.09693391, 0.10062518, -0.2574891, 0.2946945, -0.12969787, 0.1767703, 0.035647824, -0.096529506, -0.05794956, -0.0051500676, -0.054843545, -0.0058801444, -0.18692161) * go_3(0.0, 1.0); + result += mat4(-0.09232532, 0.050154313, -0.10473752, -0.21080789, -0.13022307, 0.20965308, -0.013971539, -0.089835115, 0.13660641, -0.055396173, 0.114575885, -0.021095587, -0.06295151, -0.10541324, 0.119540416, -0.026369337) * go_3(1.0, -1.0); + result += mat4(-0.08051449, -0.13070889, 0.06126419, -0.11814584, 0.19518471, -0.16562845, 0.21007895, 0.019500846, -0.037545342, -0.04208075, 0.05982543, -0.23332721, -0.020093875, 0.023112997, 0.22079867, -0.034697875) * go_3(1.0, 0.0); + result += mat4(0.09430643, 0.09778812, 0.0062433006, -0.07991877, 0.13102295, -0.40803814, 0.29331818, 0.015238348, 0.044199947, 0.12784095, -0.114296354, 0.06443671, -0.053746402, -0.010489087, 0.036543775, -0.06743519) * go_3(1.0, 1.0); + result += mat4(-0.06671071, -0.011092594, 0.017813863, 0.09122705, 0.06043978, -0.044251487, -0.01452103, -0.03595151, -0.037234616, -0.11405697, 0.0094698975, 0.08115856, 0.061847016, -0.14966819, 0.039536983, -0.0057695396) * go_4(-1.0, -1.0); + result += mat4(-0.12975664, 0.096620955, 0.03712677, -0.029440578, 0.180606, 0.0037506977, 0.07118542, -0.10982209, 0.16553295, -0.09863922, 0.030389145, 0.0915873, 0.096616626, -0.28076473, -0.05030248, 0.112127386) * go_4(-1.0, 0.0); + result += mat4(0.09634814, -0.08306328, -0.0113692805, 0.07628131, -0.16785304, 0.13579424, -0.13875304, -0.10798351, -0.11397347, -0.062225766, -0.08256214, -0.0585849, -0.017696483, -0.05823322, -0.08017212, -0.11736672) * go_4(-1.0, 1.0); + result += mat4(0.03313253, 0.021876926, 0.010047459, 0.17018415, -0.15069912, 0.10098968, -0.049532544, -0.106732704, -0.14358367, 0.075754024, 0.031455636, 0.013836878, 0.017602045, 0.0915547, 0.046919227, -0.034797847) * go_4(0.0, -1.0); + result += mat4(-0.07094902, 0.088010214, -0.08015505, -0.08891011, -0.07390484, -0.20256141, 0.09353643, -0.08852365, -0.025457565, -0.022753114, -0.053268436, 0.0251505, 0.16039324, 0.1079146, 0.101562336, -0.17074345) * go_4(0.0, 0.0); + result += mat4(0.15359324, 0.14568749, 0.05560518, -0.16014118, -0.13161767, 0.08519693, -0.08092679, -0.075116, 0.10425777, -0.10243057, 0.00051197613, -0.11526313, -0.04120447, 0.12482422, -0.07628159, -0.25013912) * go_4(0.0, 1.0); + result += mat4(-0.041319463, 0.056686576, 0.23613611, 0.18072061, 0.027446348, 0.1704725, 0.114003986, -0.092275284, -0.062855355, 0.04396716, 0.1396697, 0.0006740989, 0.022242812, -0.0665075, -0.13936293, 0.01648267) * go_4(1.0, -1.0); + result += mat4(0.025738375, -0.08272011, 0.07086082, 0.27109, 0.11266851, -0.036718287, 0.07931568, 0.11510158, 0.055292327, 0.039472595, 0.0004201107, 0.12444646, -0.017146925, -0.046981264, -0.20989618, 0.0093574235) * go_4(1.0, 0.0); + result += mat4(-0.0410002, 0.08125367, 0.07289309, 0.021991136, 0.019449996, -0.04733636, 0.011856593, 0.02409127, 0.073708266, -0.00021030345, -0.05481979, -0.11138814, 0.1539464, -0.25397933, -0.19081764, 0.024754234) * go_4(1.0, 1.0); + result += mat4(0.011404407, 0.045723602, -0.063646525, 0.021277336, -0.062212225, 0.11410291, -0.08551053, 0.09185181, 0.025905548, -0.063212596, -0.014308325, 0.10749785, -0.07052051, -0.072577454, -0.06281299, -0.08592095) * go_5(-1.0, -1.0); + result += mat4(0.027796155, -0.0018010428, -0.0080858115, -0.02931112, -0.06335313, 0.13232857, 0.050065134, -0.18670812, -0.07791764, 0.036811188, 5.1620646e-05, -0.07881347, 0.0064784917, -0.21791142, 0.049551986, -0.022399327) * go_5(-1.0, 0.0); + result += mat4(0.039196264, -0.13728346, -0.07378473, -0.13909115, -0.16900037, -0.012241019, -0.012852268, -0.13505174, 0.015546434, -0.16924058, -0.14095336, -0.10435426, 0.054796338, -0.05225356, 0.052625455, 0.033092048) * go_5(-1.0, 1.0); + result += mat4(-0.05883335, 0.007998757, -0.08550889, 0.10523877, 0.02366761, -0.07424445, -0.07433814, -0.083959304, -0.059491463, -0.008508299, -0.06256395, -0.1993904, 0.062447432, -0.029756041, 0.106966846, 0.0720412) * go_5(0.0, -1.0); + result += mat4(0.16062084, -0.044165816, -0.1088471, 0.15252742, 0.22269998, -0.28209755, 0.056168146, 0.2457806, -0.073635936, 0.07305773, 0.022588477, 0.04154082, -0.025154186, 0.1763498, 0.0978339, -0.088828854) * go_5(0.0, 0.0); + result += mat4(-0.007010839, -0.1041154, -0.11122766, -0.0809209, 0.0944237, -0.2014444, 0.053431354, -0.06069176, -0.05210676, 0.019170754, 0.13814554, 0.05543503, -0.037046313, 0.016554516, 0.0024328576, 0.013767006) * go_5(0.0, 1.0); + result += mat4(0.053704824, 0.0071286894, -0.10660915, 0.01579933, 0.05252924, -0.00925876, -0.09520158, 0.09159156, 0.15740037, -0.036502976, 0.07756273, -0.00673682, 0.11972799, -0.05287324, -0.01542637, -0.0004223783) * go_5(1.0, -1.0); + result += mat4(-0.081155285, -0.06431763, -0.0032835256, -0.05314256, -0.11107773, 0.039944727, -0.06406697, -0.18479525, -0.071334474, 0.028852647, 0.0130297365, 0.08452622, -0.043612488, -0.07880877, 0.035399523, 0.04524793) * go_5(1.0, 0.0); + result += mat4(0.012628041, 0.02025677, -0.011282166, -0.09834989, 0.014539582, -0.03922793, 0.10264913, -0.040466256, 0.020758571, 0.03353777, -0.017579531, 0.09276947, 0.09559103, 0.078923225, 0.15997995, 0.074016556) * go_5(1.0, 1.0); + result += mat4(0.071531475, -0.0016751958, 0.049699478, -0.06426847, 0.1072311, -0.024745405, -0.05174181, -0.09310878, -0.053240646, 0.02675127, 0.009952832, 0.08800601, -0.06374523, -0.022876892, 0.06539269, -0.09194918) * go_6(-1.0, -1.0); + result += mat4(0.14764012, -0.033509713, 0.1110827, -0.22174822, -0.0064200363, 0.063947834, 0.05046646, -0.016293462, -0.098989666, 0.26771635, -0.052405335, -0.2886604, -0.13934582, 0.20546469, 0.054924496, 0.0712025) * go_6(-1.0, 0.0); + result += mat4(0.08238192, 0.1240943, -0.021337276, -0.07719093, -0.027363844, 0.16919924, 0.05249086, 0.071907274, 0.052685894, 0.12027399, 0.17275874, 0.06496609, 0.045921586, -0.080791995, 0.06271465, -0.036029097) * go_6(-1.0, 1.0); + result += mat4(0.08299102, -0.13915937, 0.1694046, 0.054060783, 0.05885541, 0.05756791, 0.15778649, 0.23613115, 0.0016506041, -0.3485105, -0.055006158, 0.08153514, -0.044717144, 0.0761585, -0.07746372, 0.031654317) * go_6(0.0, -1.0); + result += mat4(-0.058975376, 0.046350993, 0.05141635, -0.27530587, 0.1512669, -0.24204156, -0.01314143, 0.23477359, -0.02513839, -0.21798266, -0.014231272, 0.09892292, -0.03483347, -0.022197934, -0.040361803, -0.33148023) * go_6(0.0, 0.0); + result += mat4(0.019349543, -0.0031035943, -0.15028755, -0.09199383, 0.023028357, -0.06711408, 0.0554645, -0.035588223, -0.16763584, -0.30684182, 0.21162367, 0.015916314, 0.042558394, 0.049582858, -0.014391668, -0.0022271145) * go_6(0.0, 1.0); + result += mat4(0.14165828, -0.19275959, 0.1921354, -0.100665346, -0.0064943857, 0.042440604, -0.01011047, -0.040459733, 0.063686766, -0.07706076, -0.033149425, 0.0974412, 0.066479646, -0.061770678, 0.014472761, 0.0809043) * go_6(1.0, -1.0); + result += mat4(0.04029581, -0.040256683, 0.15648295, 0.1109302, 0.028787047, -0.039098088, 0.028529556, -0.06896032, 0.20928729, -0.0244484, -0.22997615, 0.21116255, 0.124666244, -0.055176433, -0.04943077, 0.16551583) * go_6(1.0, 0.0); + result += mat4(0.046550367, 0.044989605, 9.304079e-05, -0.033384785, 0.0023897009, -0.07200452, 0.024538241, -0.039707564, 0.15832944, 0.06376892, 0.023910448, 0.15589088, -0.0048251473, -0.16900223, 0.12430114, -0.020196496) * go_6(1.0, 1.0); + result += mat4(0.0029875033, 0.14953752, -0.002594137, -0.006695458, 0.05319587, -0.0644066, -0.09670989, -0.18911153, -0.038239144, 0.23623386, -0.039752565, 0.067495435, -0.06659754, -0.04905179, 0.06567238, -0.041060925) * go_7(-1.0, -1.0); + result += mat4(0.047381606, 0.09305608, 0.02199564, 0.17900278, 0.3829787, -0.10499024, -0.08094016, 0.166112, -0.099137634, 0.22819752, -0.02070814, -0.04451787, -0.0736343, -0.06568887, -0.007334238, 0.057046153) * go_7(-1.0, 0.0); + result += mat4(0.108826466, -0.046413966, -0.042215817, -0.036304966, -0.17274994, -0.12384751, -0.19628254, -0.1332035, 0.045716316, 0.045310948, 0.21375106, 0.11344911, -0.16371003, -0.022799216, 0.030182192, 0.011781548) * go_7(-1.0, 1.0); + result += mat4(0.24116512, -0.027762027, -0.07892771, 0.08300883, -0.14459084, 0.16296665, 0.20206772, -0.10650516, -0.053612966, -0.019416671, 0.16775261, 0.018756863, -0.019759353, 0.09758543, 0.09219067, -0.07762587) * go_7(0.0, -1.0); + result += mat4(0.3452296, -0.07067198, 0.06422045, 0.13155955, 0.060322404, 0.12293414, 0.085371755, 0.013145733, 0.021468991, -0.08740066, -0.05150557, 0.0017597789, 0.05781498, -0.1253138, 0.10160926, 0.081946746) * go_7(0.0, 0.0); + result += mat4(0.21747942, 0.05843333, -0.012047285, 0.0143945, 0.050417833, 0.13075711, 0.07730175, 0.03058337, 0.05392032, 0.0049504, 0.09410922, 0.077864066, -0.27761143, 0.19255827, -0.05602973, -0.10863586) * go_7(0.0, 1.0); + result += mat4(0.060898524, 0.025534939, -0.13840592, -0.17008978, 0.06917189, 0.10667955, -0.022218984, -0.08950403, -0.041811015, 0.04873801, 0.022361884, 0.11236361, -0.08619616, 0.052363895, -0.067334324, -0.033025444) * go_7(1.0, -1.0); + result += mat4(-0.042240806, -0.024661668, 0.08281641, -0.15090732, 0.03939663, -0.48024875, 0.12383459, 0.00847132, -0.048645746, 0.05962171, 0.051179226, 0.053291485, -0.09575631, -0.18604031, 0.13747576, -0.07798861) * go_7(1.0, 0.0); + result += mat4(-0.09267193, -0.023898847, 0.03482824, -0.13826425, -0.030533936, 0.042931274, 0.12328654, -0.18639578, 0.021505859, 0.031717043, -0.011377033, 0.10264569, 0.20633227, 0.15019548, -0.10276995, -0.03404021) * go_7(1.0, 1.0); + result += mat4(0.0067748185, -0.045333087, 0.06628517, 0.07952359, 0.377962, 0.038299385, -0.25148076, 0.4536524, 0.020214327, 0.04979239, -0.030641848, 0.046101373, -0.0079926, 0.108430944, -0.09796959, 0.1038119) * go_8(-1.0, -1.0); + result += mat4(-0.029406806, 0.072334446, 0.022123687, 0.08545978, 0.30683488, 0.32336175, -0.14155352, -0.06771534, 0.21881369, -0.2728478, 0.0131929945, 0.1249936, 0.23289062, -0.18290988, 0.010310256, 0.11861345) * go_8(-1.0, 0.0); + result += mat4(0.027953703, 0.073590145, 0.02238552, 0.1476334, 0.46412572, 0.14282753, -0.2055284, 0.09381273, 0.013368477, -0.09163343, -0.13962074, -0.105282374, 0.18048023, 0.03644643, -0.12064934, -0.11526959) * go_8(-1.0, 1.0); + result += mat4(0.05415639, 0.07184316, -0.011418431, -0.14603631, -0.005712874, 0.33886433, -0.4437405, 0.52518994, 0.029169478, 0.014225477, -0.09749242, 0.026564758, -0.09243948, 0.3411153, -0.15276046, 0.13885602) * go_8(0.0, -1.0); + result += mat4(-0.13179792, 0.11303015, -0.005659832, 0.0495578, 0.45504448, 0.03121104, 0.1903991, -0.09310048, 0.13010967, -0.019401446, 0.0953637, -0.25050372, -0.06406876, 0.5178289, -0.34411502, -0.06919028) * go_8(0.0, 0.0); + result += mat4(0.031116927, 0.072885044, 0.11424937, -0.047346286, 0.33709186, -0.20117842, -0.23911083, -0.30970326, -0.04088044, 0.06531277, -0.019288296, 0.06505624, -0.078067645, 0.20768233, -0.2638028, -0.13144188) * go_8(0.0, 1.0); + result += mat4(0.0812348, 0.06349487, -0.17988878, -0.02852194, 0.059573334, 0.3233257, -0.1813735, 0.37739483, -0.09754084, 0.043669134, 0.035959195, 0.028268807, 0.015971994, -0.12362012, 0.011130124, 0.10216959) * go_8(1.0, -1.0); + result += mat4(0.025508206, -0.0017794537, -0.06324225, -0.039382067, 0.30045873, -0.03350253, 0.029575098, -0.08940838, -0.032080725, 0.029590603, -0.0636569, -0.09560069, 0.1283642, 0.09345751, 0.03092932, 0.31801865) * go_8(1.0, 0.0); + result += mat4(-0.08508891, -0.101727426, 0.010277601, -0.09014133, 0.21784091, 0.0032526671, -0.18604313, -0.19015044, 0.044027336, 0.06214586, -0.15488164, 0.074756585, 0.047933225, 0.060538378, -0.20783846, -0.17990802) * go_8(1.0, 1.0); + result += mat4(0.050202876, 0.068000734, -0.05597999, -0.107340395, -0.05106825, -0.07440473, 0.10334328, 0.048090067, 0.02267572, -0.01718865, 0.09558852, -0.019551268, 0.0122104725, 0.06849581, 0.13136277, 0.056046043) * go_9(-1.0, -1.0); + result += mat4(0.10179043, -0.1346316, -0.05625975, 0.064565465, -0.24567048, 0.01661977, -0.07925665, 0.089285515, -0.17426836, -0.021294959, -0.112046815, -0.036618948, -0.2890717, -0.11956207, -0.12531126, 0.011180939) * go_9(-1.0, 0.0); + result += mat4(0.034729242, 0.040229492, -0.14337364, 0.033395376, -0.05362909, -0.010760589, -0.120462045, -0.04566971, -0.014505674, -0.13010857, 0.06650368, 0.22399758, 0.0011478274, 0.31380257, -0.098360695, 0.3103241) * go_9(-1.0, 1.0); + result += mat4(0.07292625, -0.09650069, 0.024558121, 0.0038701475, -0.048648812, -0.11551284, -0.12553161, -0.070189424, -0.015313189, 0.11731657, -0.05684681, -0.122708976, -0.15636124, -0.10576856, -0.01784137, 0.11355775) * go_9(0.0, -1.0); + result += mat4(-0.085779384, -0.14834896, -0.004278568, 0.102670394, -0.033849873, 0.1167764, -0.08831004, 0.01451672, -0.10756733, 0.116508365, -0.0680979, 0.24541026, -0.46215978, 0.09831405, -0.29406315, -0.13312787) * go_9(0.0, 0.0); + result += mat4(-0.04890994, -0.0010270716, -0.0493961, 0.08571931, -0.2060056, -0.074589, -0.056876414, -0.09493244, -0.3475966, -0.19617519, 0.029908076, -0.26831284, -0.15213276, 0.24431612, 0.29210028, 0.33486506) * go_9(0.0, 1.0); + result += mat4(0.043298867, -0.11209959, 0.022670524, 0.034038253, -0.063305944, 0.09008408, -0.069086686, 0.011726238, -0.10128779, 0.033240944, -0.18289983, -0.13590051, -0.11921194, 0.05528857, -0.23413198, 0.022554636) * go_9(1.0, -1.0); + result += mat4(-0.17930742, -0.01053119, -0.11175181, -0.30124366, -0.081431575, -0.09975408, -0.17038622, -0.08534343, -0.09969939, 0.2104658, -0.1172696, 0.1381588, -0.24914245, 0.039404184, 0.17355275, 0.119629845) * go_9(1.0, 0.0); + result += mat4(-0.07351458, 0.093320936, -0.0058235745, -0.17790769, 0.0693919, -0.23018666, -0.17459835, -0.07898885, 0.04704188, 0.19931187, 0.089028046, 0.34191388, 0.17239423, -0.8590941, 0.22069067, -0.13371286) * go_9(1.0, 1.0); + result += mat4(-0.021659652, 0.0596343, 0.09809217, -0.114521354, -0.03228968, 0.0021232646, 0.0024843607, 0.029243223, -0.030308204, 0.106703326, 0.14143166, -0.022322292, 0.011018205, -0.07935689, 0.004183473, 0.0076698516) * go_10(-1.0, -1.0); + result += mat4(-0.074400805, -0.11910534, 0.111161605, -0.032100126, 0.16561785, 0.13518748, 0.0345863, 0.0047545154, 0.08485281, 0.14942096, -0.042899903, 0.23645137, 0.23227501, 0.05083922, -0.026636956, 0.05403472) * go_10(-1.0, 0.0); + result += mat4(-0.026513461, -0.049109407, 0.09202237, 0.030235946, -0.17342173, -0.030104237, 0.091110766, -0.13734627, -0.16028439, 0.07546626, 0.18115082, 0.01043653, 0.04634011, 0.021617658, 0.042169586, -0.059248786) * go_10(-1.0, 1.0); + result += mat4(0.01128519, -0.11491087, 0.0907083, 0.1081566, -0.05466786, 0.15445654, 0.1315062, -0.019771684, 0.029632833, 0.055743653, 0.19378667, 0.13188277, 0.06950097, 0.078313515, -0.006067791, 0.01022987) * go_10(0.0, -1.0); + result += mat4(0.068262294, -0.060233478, 0.19918768, 0.17618087, 0.21149434, 0.11928132, 0.11870651, 0.02212344, -0.03266901, -0.118995406, 0.04804373, -0.015892304, 0.037071034, -0.00253787, -0.13720432, -0.07072093) * go_10(0.0, 0.0); + result += mat4(-0.14402227, 0.063517705, 0.079267904, 0.14983714, -0.12627459, 0.14174753, -0.1501261, 0.09006676, -0.24451745, 0.09123295, -0.05026607, 0.26328164, -0.038312912, 0.037259288, 0.019184643, -0.08652255) * go_10(0.0, 1.0); + result += mat4(-0.00668816, -0.10541211, -0.14581864, -0.2055832, -0.14783718, -0.021327376, 0.11329728, 0.10558466, -0.029225608, 0.07326217, 0.07498944, 0.07972432, 0.074004084, 0.031630237, 0.019151106, -0.009357146) * go_10(1.0, -1.0); + result += mat4(-0.018653547, 0.21787739, -0.17462632, -0.13148524, 0.11200567, 0.14532433, -0.13228138, 0.32105228, -0.10342311, -0.1822981, 0.11211725, -0.19741476, 0.0052198726, -0.08411603, 0.19707179, 0.07867219) * go_10(1.0, 0.0); + result += mat4(-0.015224949, -0.026501905, -0.022805678, -0.078470066, 0.0018121749, 0.03429563, 0.0071328436, 0.10200316, -0.10026459, 0.1610249, 0.08618862, -0.047482144, -0.035351157, -0.041184757, 0.034339007, 0.2878356) * go_10(1.0, 1.0); + result += mat4(0.009565796, -0.06341882, -0.1307022, 0.046785817, -0.11754792, 0.02504307, -0.08451268, -0.012885796, -0.06434744, 0.026688384, 0.19744295, -0.088847496, -0.020427136, 0.06386265, 0.1892719, 0.05393389) * go_11(-1.0, -1.0); + result += mat4(0.21420592, -0.12004367, -0.03872922, 0.23882823, -0.16208404, -0.080903426, -0.06846177, -0.07784802, -0.11628542, 0.28339043, 0.11626733, 0.08149339, -0.14976558, -0.072704576, 0.14271235, -0.051280484) * go_11(-1.0, 0.0); + result += mat4(-0.15804291, -0.083788745, 0.0358282, -0.23663841, -0.051368468, 0.007168362, -0.02854082, 0.051676966, -0.11432305, 0.17955177, 0.24253303, 0.06784164, 0.011659685, 0.025066586, -0.014875205, 0.16516766) * go_11(-1.0, 1.0); + result += mat4(-0.0017364305, 0.1752645, 0.1687761, 0.04750503, -0.09075856, 0.03463299, -0.1513477, 0.115331, 0.079649396, 0.039891604, -0.08449415, 0.07545372, -0.17591736, -0.116043635, 0.06824991, -0.079872) * go_11(0.0, -1.0); + result += mat4(-0.09101071, 0.18421331, -0.112927675, -0.32690185, -0.10048348, 0.040243298, 0.017532872, 0.21467596, 0.1523314, -0.20462959, -0.050985396, 0.13271794, -0.0061959573, 0.16391513, 0.049040224, 0.071009435) * go_11(0.0, 0.0); + result += mat4(0.014453387, 0.009315947, -0.069824345, 0.044752672, 0.07383553, -0.019049881, -0.17780595, 0.07198892, 0.115621634, 0.092388846, 0.03363379, 0.087414615, -0.08053186, 0.3045319, 0.08416612, 0.0844172) * go_11(0.0, 1.0); + result += mat4(-0.05759418, -0.012829334, 0.08718162, -0.15908475, -0.028479114, 0.032751795, -0.1781953, -0.04286176, -0.14323612, -0.07065428, -0.009661816, 0.01967103, -0.061163872, 0.1315325, 0.12270872, 0.25242472) * go_11(1.0, -1.0); + result += mat4(-0.15057954, 0.18370065, 0.016787117, -0.005158566, 0.053748388, -0.05377017, 0.05180913, 0.0602571, -0.18005271, 0.021457683, 0.13747539, -0.17785007, 0.07033052, -0.14811805, -0.08603062, 0.26217365) * go_11(1.0, 0.0); + result += mat4(-0.039533652, 0.18171355, -0.029857125, 0.092238694, -0.22026634, -0.09841343, -0.093978934, -0.12595356, 0.04279683, 0.15560903, 0.07057147, 0.010393603, -0.2277498, -0.25551313, -0.111277476, 0.017418556) * go_11(1.0, 1.0); + result += vec4(0.09888859, -0.11624722, -0.026914198, -0.01584398); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_18_tf3 +//!BIND conv2d_18_tf4 +//!BIND conv2d_18_tf5 +//!SAVE conv2d_19_tf +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_18_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_18_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_18_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_18_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_18_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_18_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_18_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_18_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_18_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.002193192, -0.042261805, 0.07109948, 0.14923841, -0.13248461, 0.080073096, 0.011535388, -0.033014186, -0.02179611, -0.05481589, 0.013205004, -0.06432557, -0.032458954, -0.17774436, -0.09197118, 0.08036731) * go_0(-1.0, -1.0); + result += mat4(-0.035622098, -0.07965359, -0.06034561, -0.19035944, 0.021909773, 0.0119863525, -0.07859594, 0.24245961, 0.030365624, -0.042610373, -0.048347555, 0.07317682, -0.12780792, 0.11597661, -0.12042358, 0.088652216) * go_0(-1.0, 0.0); + result += mat4(-0.06956494, -0.079655364, -0.10770752, -0.15179706, -0.0039742943, 0.110173285, -0.013177503, 0.03203005, 0.14259651, -0.102476425, -0.117107645, 0.12503904, -0.26890123, -0.0033093086, -0.1048431, 0.1542063) * go_0(-1.0, 1.0); + result += mat4(0.032727882, 0.078874804, -0.14322414, -0.1446762, -0.12953681, 0.0126853995, 0.25832146, 0.084545664, -0.1504443, -0.14652349, 0.10996791, 0.09425049, 0.04875598, -0.26126033, -0.076916106, -0.026861066) * go_0(0.0, -1.0); + result += mat4(0.04531922, -0.103644244, -0.094877385, 0.27728295, -0.02814035, 0.35444373, -0.3085985, 0.074895315, 0.049684495, -0.08211759, -0.04192221, -0.104108155, -0.08078257, -0.04917361, 0.04671215, -0.028015908) * go_0(0.0, 0.0); + result += mat4(0.22582525, -0.17485921, -0.083214, 0.14045434, 0.10126328, 0.08546109, -0.018187093, 0.0076931156, 0.014990203, -0.13237172, 0.026328612, -0.08460973, -0.044912193, 0.0141547, -0.2057187, 0.027005015) * go_0(0.0, 1.0); + result += mat4(0.07025283, 0.03244863, -0.037114605, 0.058472943, 0.00927378, 0.02573656, 0.064623125, 0.25351602, -0.033965386, -0.081859365, 0.021902164, -0.059646487, -0.08386151, 0.0044531566, -0.07981897, -0.0052931313) * go_0(1.0, -1.0); + result += mat4(0.040902656, 0.07454824, -0.16980127, -0.27911547, -0.10386623, 0.0704878, -0.16076146, -0.06865355, -0.029967673, -0.036783073, 0.06062345, 0.042351097, 0.0035419215, -0.10950948, 0.15142381, 0.25280622) * go_0(1.0, 0.0); + result += mat4(-0.009336759, -0.056630455, 0.07419643, -0.049459077, -0.059142366, 0.046070203, -0.018450886, 0.053808898, 0.041062888, -0.03562602, 0.060718, 0.0882974, 0.07710282, -0.061630193, 0.10763613, 0.05350342) * go_0(1.0, 1.0); + result += mat4(-0.020450486, -0.011880919, -0.007363816, 0.12051132, 0.060287032, 0.027351823, 0.027684, 0.065134645, 0.026344571, -0.01718191, 0.012091111, 0.10819656, 0.012489751, -0.055651907, -0.3052169, 0.23801135) * go_1(-1.0, -1.0); + result += mat4(-0.006679176, -0.021232704, -0.12289921, 0.0075646336, 0.030306183, 0.112274334, 0.11084893, -0.13184273, 0.043869425, -0.0031861656, 0.2694463, 0.11933495, 0.014888317, 0.37636602, -0.1779301, -0.032281462) * go_1(-1.0, 0.0); + result += mat4(-0.136952, -0.009426452, 0.11357073, -0.101462685, 0.0027537034, 0.08045252, -0.00045824054, 0.074634336, -0.03065803, -0.21796846, 0.09635278, 0.045298785, -0.098372094, -0.027023448, 0.14444962, 0.082249895) * go_1(-1.0, 1.0); + result += mat4(-0.041647006, -0.13523813, 0.23530544, 0.073069185, 0.025022307, -0.16954692, 0.010666242, -0.07538101, -0.06198965, 0.17912138, -0.087928206, 0.010304168, 0.144178, -0.1657585, 0.009903313, 0.20653883) * go_1(0.0, -1.0); + result += mat4(0.15094416, -0.036872182, 0.10671736, -0.13114278, -0.014813208, -0.014073636, 0.16108423, -0.13213168, -0.09114641, 0.050591763, 0.034805253, 0.14984289, -0.00083991815, 0.2592055, -0.11146767, 0.09284067) * go_1(0.0, 0.0); + result += mat4(-0.03443615, -0.009632173, -5.0834158e-05, 0.032840393, -0.04626959, 0.0214075, -0.067959234, 0.018600805, 0.07243428, -0.11371777, 0.07108997, 0.16970424, -0.17274366, -0.022495182, -0.10284114, -0.13287334) * go_1(0.0, 1.0); + result += mat4(-0.097537555, 0.13504034, 0.077744655, 0.012292173, -0.0013754322, 0.0159031, -0.010271781, -0.11714066, -0.08074134, -0.11793299, 0.17228343, 0.04485966, 0.26133835, 0.083562106, 0.13605748, 0.07842156) * go_1(1.0, -1.0); + result += mat4(0.101663284, 0.018784977, 0.18387516, 0.0698937, 0.1262871, -0.029016716, -0.017629897, 0.09679718, -0.16987988, -0.112552784, -0.17010437, 0.10333196, 0.089143276, 0.06880237, -0.07407336, -0.024248788) * go_1(1.0, 0.0); + result += mat4(-0.070928305, -0.05896541, -0.021075577, -0.0938322, 0.03576662, -0.12959592, -0.05424325, -0.09540346, -0.17149144, 0.15382169, 0.036050767, 0.022187999, 0.08186773, 0.06654187, -0.043740872, 0.015940702) * go_1(1.0, 1.0); + result += mat4(-0.05999628, -0.10346444, -0.03163929, 0.014764566, -0.042340584, 0.04377052, 0.08964147, 0.023697559, -0.11745726, 0.019980576, -0.060001764, -0.05739168, -0.03326478, 0.042291407, 0.01029446, -0.0006783697) * go_2(-1.0, -1.0); + result += mat4(0.039875668, 0.03890321, 0.044958238, -0.0637908, 0.057945263, -0.18010783, -0.08934327, -0.06983097, -0.05463022, 0.03769058, -0.03902542, 0.11251774, 0.032007236, -0.06351825, -0.027675375, 0.043577235) * go_2(-1.0, 0.0); + result += mat4(0.056573648, -0.07795712, -0.14080168, -0.015329227, 0.05720495, -0.0659066, 0.034519438, -0.10344216, 0.023347745, 0.06635434, 0.08761089, -0.020288715, 0.045780413, 0.06769359, -0.020654215, -0.026493737) * go_2(-1.0, 1.0); + result += mat4(-0.15549617, 0.22154036, -0.035022356, 0.037524547, 0.049251348, -0.031591, -0.036235563, 0.04339102, -0.03156591, 0.030291421, 0.49239767, 0.25064838, 0.18197893, -0.16288568, 0.0930576, -0.03423282) * go_2(0.0, -1.0); + result += mat4(-0.11033686, -0.04570853, 0.0016308138, 0.07834853, 0.07600955, -0.07968259, 0.14970061, 0.062669896, 0.09796333, -0.068940535, 0.1278605, -0.20915642, -0.009881375, -0.06508105, -0.023221906, 0.063692674) * go_2(0.0, 0.0); + result += mat4(0.07646927, 0.048639037, 0.13715656, 0.04969283, 0.04496575, 0.025304018, 0.023178697, -0.005805055, -0.073303185, 0.12425092, -0.062946446, -0.05067681, 0.053393174, -0.06318117, -0.029427962, -0.162013) * go_2(0.0, 1.0); + result += mat4(-0.03539342, -0.08837224, -0.058332633, -0.033148028, -0.039964523, 0.047577832, -0.015021742, 0.053788386, 0.24229313, -0.005967871, -0.06950038, -0.01753915, 0.05407492, -0.1369046, 0.034026932, -0.072949685) * go_2(1.0, -1.0); + result += mat4(0.014240931, -0.114709415, 0.013380771, 0.14814466, -0.21180479, 0.07065372, -0.07084882, -0.13009402, 0.25793126, 0.17758748, 0.1647275, 0.009904283, 0.06412116, 0.028754344, -0.011050801, 0.031021936) * go_2(1.0, 0.0); + result += mat4(0.009352941, 0.113679856, 0.035876002, -0.09654438, -0.07531333, -0.018089507, 0.072006464, -0.009339618, -0.07180257, -0.00043349672, -0.0071172966, -0.00748114, 0.15425408, -0.111805834, 0.047978718, 0.0840089) * go_2(1.0, 1.0); + result += mat4(-0.024762075, 0.05111211, 0.09316579, -0.009603998, 0.04225388, -0.101240866, 0.0008120324, 0.06027124, -0.08961942, 0.05418951, 0.12315066, 0.037511464, 0.078298986, 0.006887005, -0.022529332, -0.011942842) * go_3(-1.0, -1.0); + result += mat4(-0.22837932, -0.052757703, 0.52270764, 0.13333929, 0.052859746, 0.08084642, 0.01186978, -0.043609403, 0.02409766, -0.064920336, 0.02343404, -0.10359331, 0.07920226, -0.057824913, 0.05472609, -0.02210887) * go_3(-1.0, 0.0); + result += mat4(0.12200674, -0.07222997, -0.0077480553, 0.031614456, -0.060068175, -0.09296547, -0.02697552, -0.007998561, 0.0062316097, 0.016119024, -0.054522965, 0.0858926, 0.012595754, 0.02239382, -0.04811345, -0.034084607) * go_3(-1.0, 1.0); + result += mat4(-0.11571872, -0.10716141, 0.09136876, -0.048269544, 0.2036012, -0.009964111, -0.164098, 0.0062285536, -0.160461, -0.10802773, 0.034254774, -0.09396949, -0.035045605, -0.0038658823, -0.020748926, -0.058969058) * go_3(0.0, -1.0); + result += mat4(-0.029839784, 0.035316005, 0.12637286, -0.011018316, -0.24942681, 0.006155271, -0.064659946, 0.03878479, 0.007293056, -0.14911444, 0.09102551, 0.2214609, 0.2075301, -0.1415137, 0.038262144, 0.020079322) * go_3(0.0, 0.0); + result += mat4(0.03954482, 0.00161835, 0.24248002, -0.01908119, -0.11612393, -0.09628277, -0.18482316, -0.0037283704, -0.10087301, -0.05704098, 0.057598826, -0.037766546, 0.038450222, -0.05250815, -0.020858904, -0.04754174) * go_3(0.0, 1.0); + result += mat4(-0.025481295, -0.041959614, 0.040118624, -0.09142045, -0.15421867, -0.0932622, 0.020308455, 0.11280108, 0.008041164, -0.09340578, 0.0014632398, 0.012679065, 0.024054702, 0.0037555385, 8.470187e-05, -0.0026168944) * go_3(1.0, -1.0); + result += mat4(0.092563815, -0.041739643, 0.113452666, -0.12697452, -0.14597544, 0.07041192, 0.0073921285, 0.11001561, 0.05780155, 0.081369705, 0.01859894, -0.009346777, 0.08703558, 0.065806575, 0.06331098, -0.022295259) * go_3(1.0, 0.0); + result += mat4(-0.063127175, -0.0036738236, 0.07582986, -0.092346914, 0.04535636, -0.04299909, 0.02999664, 0.021044914, -0.117802285, 0.032623403, 0.016715014, -0.04867952, 0.032292146, -0.02733379, 0.019759627, 0.029224534) * go_3(1.0, 1.0); + result += mat4(-0.033157296, 0.06696175, 0.03564599, 0.042519007, 0.0424988, 0.075877026, -0.036232404, 0.05169811, 0.0034979465, 0.13048209, -0.052901644, -0.049846627, 0.0068034166, 0.01163485, -0.026329378, 0.038994797) * go_4(-1.0, -1.0); + result += mat4(-0.113001004, -0.106806695, 0.031668942, -0.006540794, -0.10414548, -0.15077831, -0.0052690995, -0.20494916, -0.037294906, 0.016445661, -0.05105855, 0.1396678, 0.06092325, -0.03662674, 0.085244715, 0.115935385) * go_4(-1.0, 0.0); + result += mat4(-0.030479306, -0.016440354, -0.055504587, 0.08523519, -0.09832142, -0.051361356, -0.01974164, 0.04646292, 0.13094828, 0.118371025, 0.01770395, -0.03144912, 0.036468696, 0.013719247, 0.075200096, -0.05179428) * go_4(-1.0, 1.0); + result += mat4(-0.11964952, -0.032451667, -0.12512554, -0.050573047, 0.030373964, 0.024024952, -0.13762453, 0.12840636, -0.04376352, 0.05668062, 0.037947364, -0.066112265, 0.0028260879, 0.030861724, 0.02219972, 0.035304546) * go_4(0.0, -1.0); + result += mat4(-0.2105805, 0.0863335, -0.0012344581, 0.019061513, -0.042461928, 0.119663686, -0.15733783, 0.01006595, 0.15633124, 0.01747602, -0.05381233, -0.09361219, 0.011560166, -0.015632732, 0.0494011, 0.055855803) * go_4(0.0, 0.0); + result += mat4(0.079113804, -0.089069344, -0.026545195, -0.0007340258, -0.077306196, -0.079094574, -0.052008536, 0.107602336, 0.03174382, 0.0072695096, -0.030184424, -0.07496981, -0.11374049, 0.240142, 0.18232502, -0.1921795) * go_4(0.0, 1.0); + result += mat4(0.046652786, 0.13005471, -0.001907763, -0.02354485, -0.08044523, 0.004347535, -0.09486797, 0.13142692, -0.039280824, -0.044051215, 0.019280003, 0.0763723, -0.07783228, 0.12394234, 0.0109562045, 0.114450656) * go_4(1.0, -1.0); + result += mat4(-0.12061396, 0.19032274, -0.02040124, -0.079091914, -0.16042966, 0.16574529, -0.07471835, 0.11175853, 0.021889772, -0.14593785, -0.0067855683, -0.032042842, 0.03092691, -0.103853814, -0.07564891, -0.033649214) * go_4(1.0, 0.0); + result += mat4(0.019420557, 0.08762085, 0.09729997, 0.046883028, -0.090403445, 0.13566826, -0.0060749603, -0.016417375, 0.00051667896, -0.10722795, -0.042404942, -0.029264381, -0.2637368, 0.04404824, -0.17676714, -0.03898909) * go_4(1.0, 1.0); + result += mat4(-0.017937362, -0.02021628, -0.011221574, -0.010981946, 0.077117115, 0.058008883, -0.02370349, -0.033171684, -0.04370235, 0.013696816, 0.04718911, 0.038686793, -0.05075274, -0.078141876, 0.01710806, -0.016280815) * go_5(-1.0, -1.0); + result += mat4(-0.0051029576, 0.028884215, 0.063299954, -0.12817588, 0.09635649, 0.01685252, 0.083583646, -0.07350102, -0.04044839, -0.065033, -0.10837623, -0.11883335, -0.0937995, -0.091614224, -0.023430234, -0.034762863) * go_5(-1.0, 0.0); + result += mat4(-0.037467998, -0.004959213, 0.039550744, -0.048472937, -0.053499777, -0.07164779, 0.081630275, -0.051635183, 0.04008334, -0.15719992, -0.10567595, 0.033473466, -0.033921987, -0.009474822, -0.029737448, 0.19411598) * go_5(-1.0, 1.0); + result += mat4(0.004936125, 0.04879588, -0.015972376, -0.0470118, 0.17473851, 0.09195339, 0.011075449, -0.06017266, 0.02264737, 0.18988189, 0.025514647, 0.09830298, 0.1988627, 0.0037007018, -0.10575926, -0.11683566) * go_5(0.0, -1.0); + result += mat4(-0.024983667, 0.1890932, 0.06626616, 0.050050464, 0.0027461515, 0.09686733, 0.17407647, -0.045637608, 0.03317272, 0.12532662, -0.044147827, 0.056859504, -0.094031505, 0.083065115, 0.028045049, 0.07287068) * go_5(0.0, 0.0); + result += mat4(-0.017450443, 0.0665469, 0.046039972, 0.0117158815, -0.027863976, -0.13173814, 0.120125115, 0.10620725, -0.019648628, -0.10245001, 0.07893902, -0.01169063, -0.002885391, -0.1618197, -0.019263452, 0.025576912) * go_5(0.0, 1.0); + result += mat4(0.062924445, 0.005899955, 0.080698565, 0.026559917, -0.015615001, 0.064574406, 0.010435832, -0.0012439915, -0.0032333238, -0.008854669, 0.017256236, 0.06180784, 0.050801486, -0.07340448, -0.073562406, -0.07342449) * go_5(1.0, -1.0); + result += mat4(-0.026997557, 0.017725596, 0.023694778, -0.06696343, 0.052086487, -0.0663138, -0.061097533, 0.0035091927, -0.0061530913, 0.16345571, -0.07810821, 0.06081369, -0.19654888, 0.027318882, -0.03747162, -0.06445535) * go_5(1.0, 0.0); + result += mat4(0.005569213, 0.08716896, 0.009564092, -0.031010542, -0.109795704, 0.025457779, -0.041763328, 0.056024272, -0.033540543, 0.07476806, -0.017657815, -0.041327264, -0.10583014, 0.09859916, -0.10492397, -0.12680435) * go_5(1.0, 1.0); + result += mat4(0.042307783, -0.20138371, -0.054159872, -0.008080132, -0.0049409764, -0.123782106, -0.10074382, -0.007782075, 0.021129344, 0.12963773, 0.007223677, 0.033266656, 0.07734324, 0.07292024, 0.026465673, -0.1153067) * go_6(-1.0, -1.0); + result += mat4(0.052287392, -0.109536976, 0.023995534, -0.01575321, 0.03393777, 0.1337645, -0.07153707, -0.025216443, -0.041070998, 0.07217233, -0.11914641, -0.26890114, 0.02313167, 0.23271154, 0.06703406, 0.09533676) * go_6(-1.0, 0.0); + result += mat4(0.07546838, 0.011592155, -0.046075065, -0.06642069, -0.004402625, -0.0652564, -0.017831367, -0.09308748, -0.051539812, 0.04005139, -0.11150738, -0.08175713, 0.014604422, -0.007214639, 0.098779745, -0.018378364) * go_6(-1.0, 1.0); + result += mat4(0.006603026, -0.014845266, 0.0026208498, -0.008357444, 0.0073595014, -0.14074865, -0.030904908, 0.024293974, 0.17369966, -0.048660155, -0.048974954, -0.089408986, 0.026791139, 0.22706681, -0.036981657, -0.02119953) * go_6(0.0, -1.0); + result += mat4(-0.05502304, 0.01853336, 0.10915187, -0.112274334, -0.063042596, 0.0043888465, 0.12429806, -0.06837296, -0.09884471, 0.26187462, -0.078214765, 0.105056636, 0.029996438, -0.131672, -0.1358863, 0.054225788) * go_6(0.0, 0.0); + result += mat4(0.0068557984, 0.033702783, 0.008050412, -0.037766565, -0.036427297, -0.046515323, 0.051857993, -0.10452691, -0.006243185, -0.039711174, 0.056767575, -0.038228292, -0.018759085, 0.119737215, 0.039318025, -0.07483938) * go_6(0.0, 1.0); + result += mat4(0.045509513, -0.14236167, -0.02726853, -0.01493912, 0.009043883, 0.055116396, 0.112568274, -0.045689043, 0.08086583, 0.022914976, 0.036111295, -0.036710598, 0.017608138, 0.118518315, 0.026354419, 0.012590016) * go_6(1.0, -1.0); + result += mat4(-0.12666366, 0.06377415, -0.041047554, 0.031393208, 0.033202175, 0.01293478, 0.0042672073, 0.045895174, -0.08109056, 0.2827398, -0.10949624, -0.029522505, -0.19850352, 0.038940806, -0.08525916, -0.16344538) * go_6(1.0, 0.0); + result += mat4(0.0008515389, -0.046620138, -0.028038643, -0.025426185, 0.05606938, 0.0061229076, 0.015445743, 0.0066051655, 0.03507471, 0.043772116, -0.05389813, -0.11928827, 0.005507504, 0.116020925, 0.03874032, 0.09864238) * go_6(1.0, 1.0); + result += mat4(0.05335771, 0.07025042, 0.024683822, -0.07459517, 0.013310433, -0.022622144, -0.038584214, -0.01572024, -0.013304405, 0.06437439, 0.008714939, 0.06922048, -0.06816085, 0.0034682539, -0.0541437, 0.010775999) * go_7(-1.0, -1.0); + result += mat4(0.061101787, 0.008284362, 0.021083428, -0.053963277, -0.06960679, -0.11620091, -0.014979146, 0.02621252, -0.0093596075, 0.065604895, -0.17972286, -0.085858494, 0.045264337, -0.03866745, 0.084133364, 0.077588424) * go_7(-1.0, 0.0); + result += mat4(0.21129635, -0.039057773, -0.07199796, 0.027164709, 0.031389885, -0.22101812, 0.15019675, -0.033421822, -0.04708109, -0.15552072, -0.19427232, -0.027601253, -0.032169215, -0.044620696, -0.0030545713, -0.084676005) * go_7(-1.0, 1.0); + result += mat4(0.06694448, -0.21478915, -0.052227136, -0.11007371, 0.01641538, 0.08138693, 0.09004288, 0.1469811, 0.13340457, -0.020153875, -0.03699176, -0.076706395, -0.017644217, -0.0675251, -0.0748928, 0.09038724) * go_7(0.0, -1.0); + result += mat4(0.028736364, -0.024210151, 0.06236118, 0.066564396, 0.003933215, -0.01394002, -0.074326284, -0.01448387, -0.071425505, -0.021284256, -0.001693088, -0.0066186395, -0.036212854, 0.077177964, -0.06398725, 0.106878705) * go_7(0.0, 0.0); + result += mat4(0.1363909, -0.009820995, -0.12983248, -0.0037245068, -0.001204842, -0.058121014, -0.09392078, 0.02885977, -0.020526886, 0.07213154, -0.029909864, 0.16680436, 0.039788317, 0.10533643, 0.057742797, -0.107928954) * go_7(0.0, 1.0); + result += mat4(0.11645586, -0.14840747, -0.026914807, -0.05374474, 0.06790178, -0.2556139, -0.097340286, 0.15263987, -0.018530536, 0.077240005, -0.1148909, -0.14282732, 0.051183544, -0.007965009, -0.2971616, -0.05872022) * go_7(1.0, -1.0); + result += mat4(0.014901608, -0.12677886, -0.064670384, -0.1623187, -0.047429133, -0.058445014, -0.119580954, 0.031700145, 0.088471524, 0.08435877, -0.1198159, 0.10743294, 0.018416684, -0.18108702, -0.06256368, 0.010405356) * go_7(1.0, 0.0); + result += mat4(0.031033225, -0.08165527, 0.015933517, -0.09163275, 0.0065211756, -0.14749087, -0.12069732, -0.03169653, -0.0068636923, -0.0047599906, -0.095241904, 0.028336, 0.06777312, 0.14869638, -0.11753921, -0.010243467) * go_7(1.0, 1.0); + result += mat4(0.049922884, 0.027459482, 0.035840012, -0.08961862, -0.3617356, -0.07949275, 0.21600586, 0.09545638, -0.034149855, 0.048127465, 0.096379556, -0.04866008, 0.11773822, 0.055485725, 0.12827916, -0.2618736) * go_8(-1.0, -1.0); + result += mat4(-0.041410808, 0.11304813, -0.03779883, 0.030872481, -0.116939746, 0.29407567, 0.1895875, -0.21217696, -0.025539953, -0.178478, 0.031897403, 0.16665661, -0.14774802, -0.005059717, 0.11978572, 0.18841389) * go_8(-1.0, 0.0); + result += mat4(-0.1750856, 0.07806208, 0.066590786, 0.06520769, 0.29628152, 0.06723724, -0.07372221, -0.13840312, 0.0066342093, -0.024352796, -0.11091368, -0.034200963, -0.05941726, 0.17785501, -0.09722458, 0.03481286) * go_8(-1.0, 1.0); + result += mat4(0.00040230202, 0.1386564, 0.0020965475, -0.032151967, -0.28119123, 0.23871318, 0.324673, 0.3079342, -0.114703484, 0.076918595, -0.07456807, -0.03860123, -0.27765638, 0.30093232, 0.040816836, 0.045392167) * go_8(0.0, -1.0); + result += mat4(0.11630024, 0.050958935, -0.07327745, -0.045112975, 0.020630276, 0.018679252, 0.1423691, -0.4634024, -0.05014015, -0.00094824797, 0.19475108, -0.112788685, -0.406272, 0.24608147, -0.04221695, -0.09761967) * go_8(0.0, 0.0); + result += mat4(-0.13764246, 0.0109156305, -0.016086185, 0.06516645, 0.14907628, 0.028398056, 0.19633707, -0.1179449, -0.064515114, 0.05141375, 0.018716468, 0.032537717, 0.07569254, -0.07768021, 0.044751454, -0.06309405) * go_8(0.0, 1.0); + result += mat4(-0.054568585, 0.036049586, 0.04581054, 0.03871819, 0.02642328, -0.17473157, 0.30538717, 0.04895256, -0.023432204, 0.012341845, 0.05849998, -0.09285376, 0.23424025, -0.012123604, 0.09310379, -0.10899807) * go_8(1.0, -1.0); + result += mat4(0.066122256, 0.103364795, 0.03855794, -0.14957069, -0.02184927, 0.0037020843, 0.3018487, -0.05228745, 0.057319008, -0.0108498, 0.028988574, 0.020548582, -0.11686366, -0.10226389, 0.17450128, 0.039843515) * go_8(1.0, 0.0); + result += mat4(0.08857053, 0.038873494, 0.108145475, 0.09587017, -0.085907966, -0.11013238, 0.17119284, -0.19787164, 0.09369054, -0.07448185, 0.028189272, 0.04458233, 0.06706104, -0.05152573, -0.01146787, -0.12001618) * go_8(1.0, 1.0); + result += mat4(0.081574865, -0.096744575, -0.047358852, 0.07842103, 0.04740539, -0.033352945, -0.01932972, 0.026056414, 0.116778195, 0.028540714, -0.13266987, -0.044292487, -0.023912204, -0.05143723, -0.014896608, 0.08691235) * go_9(-1.0, -1.0); + result += mat4(0.029974401, 0.07826115, 0.012582203, -0.12258423, -0.056660995, 0.1364201, 0.08420669, 0.01398612, -0.054994494, 0.13456269, -0.23503278, 0.07141847, -0.17400408, 0.102240436, 0.050492387, 0.08342294) * go_9(-1.0, 0.0); + result += mat4(0.025409801, 0.086305864, -0.013415441, 0.0124872485, -0.07219617, -0.06147636, 0.14614947, -0.007917027, 0.028016105, -0.03373043, -0.04327983, 0.32913202, -0.23671746, 0.09732567, -0.024344943, 0.31546018) * go_9(-1.0, 1.0); + result += mat4(0.06274294, -0.035500124, 0.08802067, -0.1728613, 0.051944792, -0.11495953, 0.03541574, 0.134216, 0.061973106, 0.095198765, -0.03813752, 0.14200106, 0.0027543372, 0.20998913, -0.094535634, 0.09406227) * go_9(0.0, -1.0); + result += mat4(0.0076270825, 0.14375834, 0.14316, -0.03582052, -0.18776836, 0.007991479, -0.10832663, -0.07583232, 0.19121449, -0.048892863, 0.0946921, -0.19325319, -0.4052315, 0.4400987, -0.24938348, 0.21615021) * go_9(0.0, 0.0); + result += mat4(-0.12362299, 0.039931603, -0.08478432, -0.012379307, -0.020896608, 0.18871778, 0.16965918, 0.026814751, 0.09404892, -0.047387924, 0.18000565, -0.20733628, -0.3831496, 0.057409447, -0.039851133, 0.24510218) * go_9(0.0, 1.0); + result += mat4(-0.042880148, -0.0047551137, -0.038754776, -0.16235387, -0.046985667, 0.07773914, -0.029753178, -0.06291566, -0.01791831, 0.11552606, -0.14261088, -0.15359794, -0.09109301, -0.012595764, -0.08461014, -0.025527714) * go_9(1.0, -1.0); + result += mat4(0.255039, -0.10217798, -0.095983505, -0.017773012, -0.010830123, -0.07421503, -0.00790136, 0.061961416, 0.2586941, 0.06726082, -0.017994221, 0.0039037676, -0.18585049, -0.17850985, -0.007449256, 0.19001636) * go_9(1.0, 0.0); + result += mat4(0.05356769, -0.029177073, -0.08434892, 0.029534379, -0.052398793, 0.029921837, -0.0379641, 0.08815421, -0.221968, 0.16212873, -0.097800635, 0.24519077, -0.21568449, -0.026571743, -0.10243165, 0.07986918) * go_9(1.0, 1.0); + result += mat4(0.18844943, 0.06663736, 0.04584477, -0.07739072, -0.031664416, 0.17509162, 0.08357242, -0.06851353, -0.10531447, 0.021919714, -0.10942753, -0.10573077, -0.080552444, 0.06253443, 0.13151503, -0.05751824) * go_10(-1.0, -1.0); + result += mat4(0.039860394, 0.06234854, 0.008617753, -0.08483321, 0.11080039, 0.10351877, -0.08282614, 0.06154943, 0.14106143, 0.06457279, -0.17962457, 0.029614823, 0.009903236, 0.009901688, 0.103305794, 0.02708714) * go_10(-1.0, 0.0); + result += mat4(0.027971132, 0.05056228, 0.013335152, -0.012521623, 0.084620796, 0.11628125, 0.09929561, -0.12234751, -0.047538497, 0.0013551811, 0.17503466, -0.00334921, -0.026149869, 0.08016518, 0.054481603, -0.11211239) * go_10(-1.0, 1.0); + result += mat4(0.19577688, -0.21044904, -0.14313206, -0.06094966, -0.1886681, 0.11948046, 0.009925262, 0.03785866, 0.03016602, -0.16213451, -0.053890828, 0.14754774, -0.16607349, 0.17302231, 0.055442728, 0.049238298) * go_10(0.0, -1.0); + result += mat4(0.04471434, -0.0050029103, -0.18449697, 0.052078173, -0.10225465, -0.03991549, 0.10741103, -0.0675637, -0.025177147, -0.07212037, -0.15245865, 0.06767271, 0.13010895, 0.03414782, 0.1448519, 0.060772084) * go_10(0.0, 0.0); + result += mat4(-0.09659163, 0.05841198, -0.020265874, -0.02538125, -0.034956124, 0.22157271, 0.025889639, -0.059703574, -0.16175202, -0.0048997067, -0.08251995, 0.021943517, 0.19059642, -0.060173947, 0.14169931, -0.004315918) * go_10(0.0, 1.0); + result += mat4(0.03190849, -0.035605464, -0.048360586, -0.054231796, -0.021754144, 0.16556646, 0.06434827, 0.16989109, 0.027081858, -0.06712905, -0.05332741, -0.062786296, -0.025473801, 0.00897238, 0.07331544, -0.026036164) * go_10(1.0, -1.0); + result += mat4(0.15740165, -0.0967638, 0.024736421, -0.013693698, 0.05880455, 0.048251428, 0.052370075, -0.04718833, 0.0184399, -0.038662773, 0.049148683, 0.17221244, -0.13244401, -0.013218936, 0.09345994, 0.00024175165) * go_10(1.0, 0.0); + result += mat4(-0.0064187744, -0.08920148, -0.028549816, 0.122657515, 0.016403764, 0.068500996, -0.03360275, 0.036848415, 0.022613775, -0.00604402, 0.011191968, 0.071645975, 0.032942034, 0.117463835, 0.07408682, -0.077945456) * go_10(1.0, 1.0); + result += mat4(-0.18648334, -0.073990986, 0.1035806, 0.12201333, -0.056298703, -0.06899704, 0.041714784, 0.028813941, -0.0073693376, -0.07419694, -0.019242344, -0.10421339, 0.06319362, 0.18498407, -0.040080044, 0.06591159) * go_11(-1.0, -1.0); + result += mat4(0.13646284, -0.18635146, -0.21405141, 0.3289027, 0.02735292, -0.031064082, 0.042403057, -0.13922094, -0.08272541, 0.27857855, -0.052545693, 0.040461276, 0.029613057, 0.047729794, 0.02729621, -0.18001) * go_11(-1.0, 0.0); + result += mat4(0.045724448, 0.07671115, 0.00063955085, -0.07451751, 0.108605005, 0.014488281, -0.042488173, 0.03577726, -0.060789686, 0.17350988, 0.01799855, -0.036396112, 0.09922527, -0.109561004, -0.12339479, -0.01871202) * go_11(-1.0, 1.0); + result += mat4(0.098541364, -0.12245533, 0.03954003, 0.032259263, -0.25460467, -0.09109193, 0.09300678, 0.1111729, -0.049395096, -0.030045439, -0.04501885, 0.0046626283, -0.07657543, -0.01989507, -0.030266184, 0.115504675) * go_11(0.0, -1.0); + result += mat4(0.033603728, -0.16179675, 0.107685976, -0.08050177, -0.11150716, 0.05341631, 0.015662108, 0.06453596, -0.018119879, 0.015083476, -0.032303285, 0.27767318, -0.012072633, 0.103727765, -0.3075054, 0.015533518) * go_11(0.0, 0.0); + result += mat4(0.120855056, -0.14289914, -0.013416328, 0.045103997, 0.09407005, 0.017286362, -0.17081043, 0.11026251, -0.04768381, 0.18125318, -0.110247165, 0.098635495, 0.054526508, 0.10071292, -0.07749401, -0.031911418) * go_11(0.0, 1.0); + result += mat4(-0.04815596, 0.010112698, -0.060083788, -0.116119795, -0.024647452, -0.05370981, 0.07770194, 0.18795432, -0.05123155, 0.03802874, -0.14434499, -0.26080537, 0.035182375, -0.03626466, 0.029075956, 0.15624163) * go_11(1.0, -1.0); + result += mat4(-0.087888286, -0.067626335, -0.02074024, 0.028201623, 0.025920108, 0.013126538, 0.09747174, 0.0708168, -0.0031367023, -0.1304692, 0.009458206, 0.12585516, 0.27185202, 0.17740375, -0.028984897, -0.0134149995) * go_11(1.0, 0.0); + result += mat4(0.015343054, -0.04067552, -0.05452715, 0.037334464, 0.14018174, -0.059763853, 0.15759844, -0.13691196, 0.03412337, -0.035051815, -0.0491391, 0.03383003, -0.117697716, 0.025332684, 0.019727515, -0.04177984) * go_11(1.0, 1.0); + result += vec4(0.05828695, -0.16925837, 0.053835716, 0.04817042); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x112 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_18_tf3 +//!BIND conv2d_18_tf4 +//!BIND conv2d_18_tf5 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!SAVE conv2d_21_tf +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.18663658, 0.3184948, -0.03130499, 0.08619949, 0.1010918, -0.14248852, -0.19823664, 0.20816846, 0.1601186, 0.049822237, 0.19602141, -0.026865052, -0.0707687, 0.052736435, -0.044807665, 0.066063635) * g_0; + result += mat4(0.090361156, -0.14197296, -0.23846631, 0.030756485, -0.0624579, 0.0894411, -0.018925495, 0.09622091, -0.08767592, -0.22811596, -0.12307663, 0.053256057, -0.15243548, -0.037156895, -0.29896295, -0.13589491) * g_1; + result += mat4(-0.29185727, -0.03742425, 0.050431598, -0.05952872, 0.102163635, 0.04785122, -0.02358519, 0.16697437, 0.35186693, -0.19035606, -0.12011042, 0.004166742, -0.006959278, 0.06360376, 0.060225107, -0.15626898) * g_2; + result += mat4(0.17662838, -0.08894764, -0.14361143, 0.06789356, 0.07816827, 0.10883019, -0.037535142, 0.05493086, -0.041386984, -0.17820516, -0.06743507, 0.08163263, -0.00907744, 0.0041825743, -0.035713505, -0.09867839) * g_3; + result += mat4(-0.092638604, 0.0022278796, 0.12437326, 0.103134066, -0.27689874, 0.052095678, -0.042521577, -0.07290392, 0.14657746, -0.10676447, 0.035665326, -0.15043491, 0.0066268444, 0.247856, -0.10799263, 0.076561935) * g_4; + result += mat4(-0.014709424, -0.1234443, 0.09863729, -0.09065224, 0.03188603, 0.0851371, -0.18773592, -0.04526794, 0.04222761, 0.13524239, -0.0077108, 0.014710063, 0.0269728, 0.100834206, 0.00087144354, 0.017908119) * g_5; + result += mat4(0.065123245, 0.010967681, 0.27781358, -0.00086392177, -0.012103939, 0.21815085, -0.19618537, -0.21287219, -0.3108788, -0.0065051983, -0.10177379, 0.00486042, 0.06495405, 0.28793743, 0.1447245, -0.11581186) * g_6; + result += mat4(-0.19184732, 0.23525754, 0.14849417, -0.032214705, 0.06332956, 0.036836755, -0.17779079, 0.26069695, 0.017703978, -0.013938178, -0.0028144084, 0.024686655, 0.084200725, 0.0023977484, 0.0010214453, -0.11825634) * g_7; + result += mat4(0.114283256, -0.11113899, 0.0062027536, -0.11118651, -0.05354193, 0.0024898893, -0.10009308, -0.099993765, -0.09983121, -0.15856577, 0.13581747, 0.11929527, -0.15411879, 0.016686188, -0.15182848, 0.26796317) * g_8; + result += mat4(0.084827624, -0.08612916, 0.071429096, 0.17416593, -0.04714606, 0.0013476897, 0.013517696, 0.067101866, -0.14903635, 4.9428472e-05, 0.31473428, -0.2949479, -0.12335906, -0.13552824, 0.3479192, -0.19230734) * g_9; + result += mat4(0.028616413, -0.07255833, -0.021122474, -0.07113967, 0.11709503, -0.20123373, 0.08584415, -0.06978945, 0.03877887, 0.24208583, -0.18075196, 0.0062123733, -0.13526495, -0.04156013, -0.0016269569, -0.020975487) * g_10; + result += mat4(0.1310379, 0.055372015, -0.006403729, -0.11766523, -0.05418542, 0.03959835, 0.12431779, 0.15253036, -0.021798976, -0.06289866, -0.018096093, -0.021867894, 0.08258678, -0.19130546, -0.020614639, 0.09396607) * g_11; + result += mat4(-0.08746167, 0.072900996, 0.033214487, 0.04609681, -0.1540511, -0.097863495, -0.18814996, 0.07652809, -0.07314888, -0.12512076, 0.1748569, -0.090817355, 0.20444715, 0.056615118, 0.09610565, -0.25237694) * g_12; + result += mat4(-0.059253007, -0.30781618, 0.008390624, -0.016397322, -0.033560965, -0.039022774, 0.25333324, -0.1995156, -0.1036445, 0.050644662, -0.16967307, 0.1757263, 0.030297084, 0.046241727, 0.04354335, 0.1062731) * g_13; + result += mat4(0.2573244, -0.10674188, 0.089680746, 0.05325685, -0.15355112, -0.21602766, 0.3439777, 0.035753187, -0.0219718, -0.049062088, -0.08788193, -0.24782267, 0.07051089, -0.05783363, -0.02401024, -0.20907155) * g_14; + result += mat4(-0.33404592, -0.093173616, -0.2040588, 0.19875275, 0.12674141, -0.16908246, -0.2689318, 0.0823597, -0.032498408, 0.11139243, 0.020390712, 0.14647515, 0.113650456, 0.038491633, 0.15963453, -0.030297514) * g_15; + result += mat4(-0.04374134, -0.0129180765, -0.13164769, -0.07293398, 0.11262717, -0.15997183, 0.33422503, 0.073849976, -0.00015811941, 0.18877828, 0.07747786, -0.08188554, -0.18219465, 0.006220583, -0.011983187, -0.056153063) * g_16; + result += mat4(0.062033445, 0.07369542, -0.11406438, 0.14734034, 0.039975222, 0.07175253, 0.16200112, 0.14343244, -0.025669737, -0.24007507, 0.00080462516, -0.023895608, 0.23648714, -0.09611056, 0.21158028, 0.0735973) * g_17; + result += mat4(-0.08414368, -0.021285746, 0.0005669404, -0.10731338, -0.0064515774, 0.11334401, 0.03800766, -0.1455488, -0.1261212, -0.22332892, -0.0027348709, 0.2139515, -0.0738863, 0.17665327, 0.09825643, -0.13923496) * g_18; + result += mat4(-0.10201197, 0.21781366, 0.18577348, 0.14449175, 0.17314741, -0.1521729, 0.05358103, 0.13423039, -0.117372, -0.06376533, 0.0036501242, 0.24701707, -0.1009802, -0.09763199, -0.12387096, 0.04915735) * g_19; + result += mat4(0.12683278, 0.10003063, 0.026354205, 0.20679879, -0.05543329, 0.0609024, 0.12071361, -0.017081672, 0.09073765, 0.26451552, 0.11525583, 0.15612826, 0.15255655, -0.089416705, -0.066638984, 0.14400561) * g_20; + result += mat4(-0.035610262, -0.21110137, 0.16128647, 0.16987562, -0.075286984, 0.10626652, 0.02610956, 0.072617754, 0.08083012, -0.076612055, -0.20788178, -0.18980946, -0.124521755, -0.09931777, 0.058994036, -0.1573874) * g_21; + result += mat4(0.040990368, -0.076015316, 0.23061185, 0.06046172, -0.20775267, 0.07282112, -0.06703266, -0.15523846, -0.09839281, 0.04264288, 0.062170573, 0.050776828, 0.082359515, 0.08156233, 0.08537614, -0.15101717) * g_22; + result += mat4(-0.1249208, 0.13122208, -0.12867546, 0.1732467, 0.25579265, -0.012121687, 0.055682763, 0.16973646, 0.12742467, -0.18509331, -0.07107552, 0.18292974, 0.09319081, 0.05175007, 0.032850564, -0.22456838) * g_23; + result += mat4(0.081253335, 0.0648804, -0.15536025, -0.06642495, 0.16779053, -0.06261765, 0.20884722, 0.035119522, 0.10021793, -0.034050878, -0.20697917, 0.3424921, 0.14770742, 0.053394657, 0.03791968, -0.00457689) * g_24; + result += mat4(-0.30276582, 0.11398664, 0.23705474, 0.19467491, 0.03581071, 0.010649232, -0.059531577, -0.13225733, -0.05157955, -0.056399573, -0.05065601, 0.115134716, -0.06892023, -0.02327887, -0.026891273, -0.051847365) * g_25; + result += mat4(-0.0038954976, 0.30134967, 0.07478171, 0.27801678, -0.25552303, -0.3496495, -0.04389904, -0.073157154, -0.3068193, -0.14130415, -0.09492658, -0.07742016, -0.098369256, 0.07939278, 0.06842935, -0.058692418) * g_26; + result += mat4(0.033151552, -0.17501067, -0.24207892, -0.020800477, 0.40200472, 0.38354096, -0.09372771, 0.13056894, 0.1521215, -0.022638181, 0.076644436, 0.19175975, 0.17724091, -0.007068142, 0.08166245, 0.075242795) * g_27; + result += vec4(-0.06944472, -0.040001452, -0.014700824, -0.030359665); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x112 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_18_tf3 +//!BIND conv2d_18_tf4 +//!BIND conv2d_18_tf5 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!SAVE conv2d_21_tf1 +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.1756655, 0.2394621, -0.08748251, 0.12350313, 0.2136366, 0.07180196, -0.063014165, -0.052154776, -0.048294004, -0.11931733, -0.07316665, -0.016064208, -0.16288999, 0.17369701, -0.035828933, 0.0003992723) * g_0; + result += mat4(-0.28360948, 0.05576701, 0.044312038, -0.08181158, -0.17544775, 0.10725244, 0.19446151, -0.19915965, 0.20983706, -0.048648514, -0.06845115, -0.06666123, -0.058113296, -0.1400215, 0.018594868, 0.03359526) * g_1; + result += mat4(0.1685084, -0.073783316, -0.20972507, -0.113601886, 0.04464233, 0.1066123, 0.07970566, -0.12577637, -0.050229155, -0.13494389, -0.2558168, -0.0042490545, 0.005460988, 0.0076199966, 0.0025213186, 0.044763103) * g_2; + result += mat4(-0.0052317875, 0.0027467392, -0.14741494, 0.07422548, 0.069331884, 0.05495023, 0.011922025, -0.068583466, -0.09747392, -0.03871967, 0.019188546, -0.24301958, -0.09219407, 0.09321753, 0.13795844, 0.028697817) * g_3; + result += mat4(0.16926937, -0.0071689105, 0.1393118, -0.05259209, 0.12629338, 0.13920256, 0.12663081, -0.051457815, -0.17981507, 0.12771882, 0.09692452, 0.08349755, -0.09658173, -0.17841125, -0.20769149, -0.0763144) * g_4; + result += mat4(-0.21198377, -0.14739051, -0.08248044, 0.1661816, -0.05062238, -0.1363927, 0.13842218, 0.1367609, 0.04016191, -0.17620887, -0.056923762, 0.02746218, -0.07269395, -0.08043915, -0.10160525, 0.062392905) * g_5; + result += mat4(-0.14993137, -0.095249705, 0.17030515, -0.012608146, -0.07266432, 0.014926277, -0.0047261617, -0.010011702, 0.009128133, 0.07995534, 0.05507624, -0.26496184, 0.3488721, -0.09683456, 0.020622155, 0.06607447) * g_6; + result += mat4(-0.21903756, 0.34106353, 0.17070994, 0.077885374, -0.011344036, 0.012352647, -0.171021, 0.06153072, -0.012573895, -0.085864305, -0.07954067, -0.034453984, 0.0023422232, 0.26898122, -0.086993374, -0.12912525) * g_7; + result += mat4(-0.048054293, -0.058729056, 0.058039352, 0.0077087884, 0.07013047, -0.19018608, -0.17199957, 0.12733743, -0.11381175, 0.0036818564, -0.036225986, -0.04890944, 0.1931185, -0.050229732, -0.055666275, 0.010115753) * g_8; + result += mat4(-0.10551637, 0.015622803, 0.013705792, -0.2789802, 0.039018016, -0.11402238, 0.14938816, 0.08859123, -0.19127499, -0.21991971, -0.03997634, 0.2888021, 0.5119256, -0.0182172, -0.4097011, 0.0650889) * g_9; + result += mat4(-0.15852791, -0.008691007, 0.027062492, -0.021986786, -0.121833265, -0.032671, -0.109205626, -0.026337394, 0.14460158, 0.07089407, -0.16064858, -0.06329875, 0.16661745, 0.10511746, 0.069920555, 0.12870672) * g_10; + result += mat4(0.19965324, 0.2015641, 0.05944082, 0.076328635, -0.042850234, 0.100452326, -0.04502685, 0.15974133, 0.0432549, 0.16362476, 0.05391766, -0.20400761, 0.09843942, -0.114038505, -0.044906083, -0.084004216) * g_11; + result += mat4(0.0014203127, 0.072613284, 0.18832877, -0.1519538, 0.17094725, 0.023459934, -0.08103932, -0.18414992, 0.050177015, -0.06879559, -0.26551455, -0.20276074, -0.4067025, 0.06735142, -0.02654105, 0.108480014) * g_12; + result += mat4(0.11884444, -0.20847607, -0.39635405, -0.027750423, -0.17062746, -0.11462501, 0.03766563, 0.22330031, 0.08840299, -0.02593574, 0.30610138, 0.017082121, -0.073421106, -0.03310496, -0.022566084, 0.12895042) * g_13; + result += mat4(0.13146816, 0.03408076, 0.068583496, 0.040359933, 0.058004156, -0.18711473, -0.012030321, 0.054367706, -0.21604696, 0.029737698, -0.18165046, -0.032207813, 0.19296853, -0.06486989, 0.1930012, -0.26257816) * g_14; + result += mat4(-0.0003308146, -0.1018507, 0.10688593, -0.086943775, -0.06309165, 0.11305288, 0.40455562, 0.07220006, 0.17344922, 0.21377957, -0.106255956, -0.08522667, -0.081184156, -0.17647071, -0.056697357, -0.030556178) * g_15; + result += mat4(0.15709074, 0.13488838, -0.108037606, -0.049638074, 0.16628793, 0.22323613, 0.18880367, 0.110625856, -0.17176348, 0.0442544, -0.24436983, 0.20503913, -0.015147643, -0.087451935, -0.14789064, 0.015226477) * g_16; + result += mat4(-0.029338064, -0.058311418, 0.023408614, 0.23031227, 0.10385574, 0.027987834, 0.09013144, 0.28468946, 0.0031934478, -0.19209816, 0.034222614, -0.28228182, 0.16321793, -0.18102172, 0.018543411, -0.16518813) * g_17; + result += mat4(0.04458001, -0.13962908, -0.13753751, 0.08451667, -0.25742018, 0.21066302, 0.10019894, -0.15584072, -0.01348787, 0.0033656303, 0.04586261, 0.021628007, -0.036585297, 0.26717108, -0.15728012, 0.103385106) * g_18; + result += mat4(0.0044587324, -0.19981517, -0.22820733, -0.022784092, 0.05868396, 0.07768994, -0.03181301, 0.054078016, 0.14406122, 0.2340996, -0.2972908, -0.16759236, -0.27278668, 0.019484127, 0.032888357, -0.17713867) * g_19; + result += mat4(0.05132516, 0.002060976, -0.11749896, 0.005121125, -0.07908039, -0.07778476, -0.19288218, -0.113970414, -0.09135908, -0.009404741, -0.15993251, 0.15056853, -0.06927528, -0.03733133, -0.24843821, 0.15608594) * g_20; + result += mat4(0.11080882, 0.032175705, -0.04760623, -0.14559296, 0.03192353, 0.101781964, 0.12357085, -0.025075397, 0.12224393, 0.00500326, 0.05720067, -0.087521225, -0.032957695, 0.027808554, 0.13563655, -0.2128763) * g_21; + result += mat4(-0.12507181, -0.12221015, -0.024783826, -0.1233778, 0.15383248, 0.19294359, -0.10415819, -0.20353647, 0.119121395, 0.13289572, 0.030740019, -0.015015452, -0.07683901, 0.10667189, -0.041018065, 0.22529341) * g_22; + result += mat4(0.1489391, -0.059898213, -0.046357498, 0.022468781, -0.24517635, -0.13018654, 0.2039975, 0.21484332, 0.028208151, -0.20970574, -0.10110034, 0.12773193, 0.07744774, -0.118900456, -0.007357081, 0.018511213) * g_23; + result += mat4(0.10130345, 0.2007317, -0.02755449, -0.05844333, -0.09601821, -0.006501421, -0.05792646, -0.02546418, -0.12300777, -0.044581413, 0.08369023, 0.013736111, -0.117478505, -0.03133182, -0.07848863, 0.114977054) * g_24; + result += mat4(0.06206287, -0.13663986, -0.2633325, -0.06723374, -0.0368251, 0.10849614, -0.12641706, -0.101314045, 0.1668918, -0.1774165, -0.07337273, -0.14278898, 0.09879653, 0.11570133, 0.049410257, -0.28515536) * g_25; + result += mat4(0.075859904, 0.46286193, -0.0065651555, 0.019701669, 0.097126104, -0.21981543, 0.11008625, -0.24778378, 0.22997652, -0.08742972, 0.026607014, 0.0001746832, -0.183374, 0.35722917, -0.054048, -0.12029537) * g_26; + result += mat4(0.29831323, -0.24104582, -0.11618897, 0.10247404, 0.0058463574, 0.22800444, -0.069028065, 0.22541459, -0.18233538, -0.32635194, -0.13827065, -0.21868181, 0.25495726, -0.30253872, 0.055982653, 0.07193308) * g_27; + result += vec4(0.13571368, -0.145653, 0.09633155, 0.022155894); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x112 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_18_tf3 +//!BIND conv2d_18_tf4 +//!BIND conv2d_18_tf5 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!SAVE conv2d_21_tf2 +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.057084437, 0.073743545, 0.15843004, -0.06717984, -0.08257869, 0.011292643, 0.13310145, 0.10770132, -0.037585445, -0.08692588, -0.042781748, -0.15288189, -0.02788944, 0.034700274, -0.15450406, -0.1679772) * g_0; + result += mat4(0.011762893, 0.2054697, 0.1720081, 0.116406426, -0.00428441, 0.18313429, 0.03696885, -0.03316296, -0.117581464, 0.007917693, 0.10178334, -0.2611459, -0.058909763, 0.25219756, -0.16373555, 0.08321643) * g_1; + result += mat4(0.10082542, -0.13886023, 0.121554285, 0.22873613, 0.08418588, -0.013873943, -0.006858779, 0.19993706, 0.28209662, 0.21149608, -0.035288714, 0.56616104, 0.17169634, 0.057334855, 0.053658336, -0.05077785) * g_2; + result += mat4(0.12060641, 0.04010452, 0.11028481, 0.04508344, 0.016396279, 0.09882185, 0.18883766, 0.04364962, 0.04107997, -0.05457326, 0.022010474, 0.023509638, -0.017336952, -0.081470236, -0.04518081, -0.04369132) * g_3; + result += mat4(-0.05629898, 0.12955196, 0.03002122, 0.051797554, -0.11305776, 0.04543245, 0.024578502, -0.038622625, 0.09602566, 0.014378242, -0.123365864, 0.0759256, -0.22232716, -0.040782683, -0.042220388, -0.21084513) * g_4; + result += mat4(-0.020282147, -0.097285345, 0.23004697, 0.020806778, -0.18959303, 0.22034295, 0.0087907575, 0.010272914, 0.14997281, 0.07306408, 0.04324672, 0.15118538, -0.2749048, 0.11584738, -0.032733474, -0.2070121) * g_5; + result += mat4(0.037902478, -0.030573819, -0.029344141, 0.01939143, 0.06405306, -0.04419444, -0.101269715, 0.021172248, 0.11327619, -0.009161934, -0.1717592, 0.080221824, -0.06516155, -0.17314622, 0.07386541, 0.031790655) * g_6; + result += mat4(0.12349413, -0.19455901, -0.16831753, -0.13359772, -0.0037239022, -0.12868004, 0.096363924, -0.0721396, 0.10402346, 0.008250357, 0.012670624, 0.19257796, -0.06830968, -0.0021093774, -0.10247695, -0.26293632) * g_7; + result += mat4(-0.10189908, 0.075891085, -0.022459852, -0.09753182, -0.2543292, 0.30875823, -0.2053786, -0.15915114, -0.075460285, 0.018414717, 0.040453814, 0.06389237, -0.34178352, -0.022121403, 0.046201658, 0.25735933) * g_8; + result += mat4(-0.0002718784, 0.0032082999, -0.13571796, -0.2096398, -0.022996102, 0.12278952, 0.070943564, -0.19941543, -0.030735662, -0.095334, -0.24543534, 0.06891416, 0.11364924, -0.24653779, -0.05163778, -0.30017856) * g_9; + result += mat4(0.1838837, -0.10841437, 0.07848475, -0.08485395, -0.014254071, -0.31484497, 0.15543151, -0.06692559, -0.04198029, -0.11665087, 0.107262425, 0.0067980834, -0.03962521, -0.09969709, -0.12044282, 0.1482598) * g_10; + result += mat4(0.00026043277, 0.10293026, 0.0140016945, 0.07596427, 0.07216739, -0.024752667, -0.03748558, 0.16382839, -0.031407133, -0.07096495, -0.08130925, -0.16371527, 0.09901695, 0.035516758, 0.17092955, -0.117787674) * g_11; + result += mat4(0.10926692, -0.19847743, -0.35133052, -0.11942348, -0.0016101972, -0.11737663, 0.07856536, 0.210181, -0.08973985, -0.231985, 0.052060172, -0.07393469, -0.0038560238, -0.13686647, -0.049954094, 0.15444914) * g_12; + result += mat4(-0.18071556, 0.12298895, 0.41416138, -0.23190585, -0.048501194, 0.1643691, 0.22058153, -0.039875798, 0.0070992573, 0.48900208, -0.16106173, -0.017713644, 0.11375057, -0.038301516, -0.0138126705, 0.20367229) * g_13; + result += mat4(-0.10906326, 0.17701069, 0.122338474, 0.21938156, -0.31732517, -0.11000095, 0.23848571, 0.013629898, 0.2623052, 0.12693645, -0.13266647, 0.012624822, 0.13243206, -0.07178184, -0.12631601, -0.124319084) * g_14; + result += mat4(0.27514997, -0.20576999, -0.116263695, -0.17561655, 0.29180488, -0.0996977, -0.22064792, -0.0051669325, -0.008944824, 0.08274995, 0.15000445, 0.2706205, 0.19657025, 0.16320185, -0.048430063, -0.062193163) * g_15; + result += mat4(0.15720521, -0.1616783, 0.12148419, 0.032654256, 0.0748495, 0.089776576, -0.2883907, 0.16739035, -0.040992603, 0.094912894, -0.1876062, 0.017233582, -0.116178006, -0.3094946, 0.010963433, -0.1276047) * g_16; + result += mat4(-0.02279651, 0.124006964, 0.27308333, 0.07528875, 0.20459273, 0.044373933, -0.22371659, 0.1501472, 0.09959711, 0.0477301, -0.05257857, -0.05602578, 0.16206701, 0.046072427, -0.0018694117, -0.004612688) * g_17; + result += mat4(-0.21997832, -0.11779681, -0.07657034, 0.11835144, 0.10847735, 0.2865021, -0.28411987, 0.14887205, 0.069858804, 0.116345115, -0.07407542, 0.09080259, 0.15252139, -0.24571773, 0.09876683, 0.11463688) * g_18; + result += mat4(0.15223633, -0.00056938396, -0.032920565, 0.14372222, -0.024130384, -0.098482765, 0.028577512, 0.21373022, -0.14334433, 0.019196142, -0.0431513, 0.18337114, -0.032851133, 0.0646035, 0.028978348, -0.00956985) * g_19; + result += mat4(0.132797, 0.15113503, 0.0032765348, -0.20993358, -0.027147237, -0.08996456, 0.024522208, -0.015556702, -0.022943618, 0.030851666, -0.2941565, 0.04444335, -0.120237455, -0.06628891, 0.17706418, -0.13388899) * g_20; + result += mat4(0.034199353, -0.030496066, -0.12809198, -0.09803576, -0.014025315, 0.10408433, -0.12252633, 0.013718495, 0.00881372, 0.0976676, 0.119427025, -0.066808775, 0.055229302, -0.013018161, -0.08276607, 0.101116315) * g_21; + result += mat4(0.15429354, 0.15294066, 0.13662739, -0.11073299, 0.063615054, -0.011573362, -0.12094635, -0.19076118, 0.15640004, 0.13726933, 0.020506479, -0.027316077, 0.0131364865, -0.017896159, -0.06231624, 0.15114687) * g_22; + result += mat4(-0.047549162, -0.2276344, -0.066257186, 0.08916332, -0.017978407, 0.0068500796, -0.030843439, -0.17989396, -0.06743375, -0.13298953, 0.010617088, -0.22074251, -0.07921998, -0.003123787, 0.078639194, -0.10352951) * g_23; + result += mat4(0.19592485, 0.045601334, -0.05466065, 0.003048098, 0.21064979, 0.21149376, -0.06651742, -0.049799632, -0.1459615, 0.1450713, 0.025346246, -0.21891195, -0.24621584, 0.10275955, -0.045584872, -0.0059188902) * g_24; + result += mat4(-0.24433449, -0.056526583, -0.0063764798, 0.16827473, 0.036951, 0.15109439, -0.013099426, 0.088068865, 0.08357865, -0.018223299, 0.022397004, 0.13680162, 0.046609163, 0.13488059, -0.05136011, -0.2054995) * g_25; + result += mat4(-0.23189409, 0.058366276, 0.029186329, -0.22585711, 0.1441857, 0.0776702, 0.06341345, -0.22043568, 0.13492517, 0.14087246, -0.032663856, 0.10947018, 0.0016668879, 0.01664668, -0.0821675, 0.024196142) * g_26; + result += mat4(-0.02740043, -0.22889447, 0.24546339, 0.0032793654, -0.16380517, -0.16472526, -0.31983012, 0.05651817, 0.21478343, -0.08361714, 0.26880756, -0.39875728, -0.19244565, -0.09645046, -0.00071002246, -0.16191272) * g_27; + result += vec4(-0.022868104, 0.112042494, 0.11364425, -0.020370165); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x112 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_18_tf3 +//!BIND conv2d_18_tf4 +//!BIND conv2d_18_tf5 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!SAVE conv2d_21_tf3 +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.27637494, -0.09202861, -0.013164199, 0.08635429, 0.17066719, -0.25856876, 0.21184374, 0.25718108, -0.010693248, 0.032534968, -0.11440128, 0.067054555, 0.11179264, 0.08019385, 0.23691481, -0.053950187) * g_0; + result += mat4(0.012882109, 0.009293086, -0.0044346075, -0.0714009, 0.029489582, -0.11504061, 0.03372462, -0.20672967, 0.15053481, -0.018392192, -0.06602698, 0.3127282, -0.24036115, -0.121481776, 0.12850977, 0.058103368) * g_1; + result += mat4(-0.050445788, -0.13086995, 0.20903488, 0.123742394, 0.09780855, -0.01923089, -0.045269296, -0.14616507, 0.07690958, -0.26648474, -0.15403363, -0.14023678, -0.13179739, -0.11994684, 0.04328696, -0.16206603) * g_2; + result += mat4(0.0070284703, -0.11008815, -0.033269413, 0.19520764, -0.05634523, 0.11478342, 0.11389925, 0.16536203, 0.11200762, 0.07183994, 0.082404666, -0.045550685, 0.090172336, 0.15882301, -0.15579398, -0.010974849) * g_3; + result += mat4(0.29888794, -0.04338136, -0.054024898, -0.065943204, 0.016578928, 0.13387626, 0.19995537, -0.06902794, -0.1228455, 0.09062401, -0.16335657, 0.124492906, 0.13940965, -0.0930729, -0.019122176, -0.047092684) * g_4; + result += mat4(-0.17353038, -0.08980729, 0.05186378, 0.2782951, 0.04332866, -0.11484402, -0.13268284, 0.027477333, -0.09025209, -0.068026, 0.10645471, 0.010281115, 0.09622472, 0.060582876, -0.119002, -0.03843858) * g_5; + result += mat4(0.081018515, 0.160742, -0.108766116, -0.116166, -0.16662684, 0.045554698, 0.08607165, -0.108419865, -0.09143582, 0.19082823, 0.17698412, 0.07523821, -0.23612066, 0.02125469, -0.20589912, -0.04471549) * g_6; + result += mat4(0.007816593, 0.020379778, 0.06805535, 0.12345075, -0.1312113, 0.12551896, 0.10769008, 0.17810847, -0.20936163, -0.07681444, 0.10576635, -0.018500412, -0.12731677, -0.05931048, -0.008639975, -0.012557444) * g_7; + result += mat4(0.13184534, 0.2300916, -0.035759542, -0.11864276, -0.016759377, 0.0085068075, 0.020116294, 0.31680855, -0.07957325, 0.02108995, 0.04680425, -0.118219934, 0.12604867, -0.14069289, -0.1492076, -0.039757684) * g_8; + result += mat4(0.08435497, 0.08196142, -0.12370443, 0.17140263, 0.041375875, 0.0528549, -0.12367111, 0.22431542, -0.15647502, 0.23635507, -0.2558316, -0.035816293, -0.16943988, -0.03469032, 0.22173174, 0.35301638) * g_9; + result += mat4(0.10042114, 0.020310592, 0.12793465, 0.0505798, -0.030926188, -0.014382752, -0.1866182, 0.092339404, -0.34906712, -0.17414862, 0.11467679, -0.060113996, -0.18255027, 0.15265243, -0.058513764, 0.044470858) * g_10; + result += mat4(-0.109998055, -0.18857343, -0.06519679, -0.21169643, 0.17275392, 0.043956056, 0.19097583, -0.3453861, -0.20140389, -0.028911674, 0.051200256, -0.16441494, 0.09052695, -0.025728669, 0.12978639, -0.030866198) * g_11; + result += mat4(0.3553382, 0.2713839, -0.063492395, 0.17018923, -0.20084976, -0.20268555, 0.028258773, 0.25153455, -0.060663003, 0.030043183, -0.017477257, -0.2802546, -0.19472873, 0.030090192, -0.13361697, -0.096709855) * g_12; + result += mat4(-0.08196468, -0.059696443, -0.10413434, 0.15610062, 0.04612939, 0.033440653, 0.009418265, -0.11447027, 0.15325724, 0.05303549, 0.18088095, -0.18435246, 0.096069425, 0.1487366, 0.028163021, 0.033102416) * g_13; + result += mat4(0.12193662, 0.0070974063, 0.022380063, 0.01845218, 0.097900495, -0.10072656, -0.07087849, 0.1097737, 0.088353686, 0.117824815, 0.07981943, -0.058600288, -0.14337316, 0.23042083, 0.09003819, 0.15992849) * g_14; + result += mat4(-0.25127304, -0.13614081, -0.09878849, -0.019283785, -0.01723998, 0.19221759, 0.08611807, -0.057227675, -0.2849749, -0.106312715, 0.0721729, 0.09183881, -0.23607177, -0.14219683, 0.05553008, 0.08371223) * g_15; + result += mat4(0.18445374, 0.2633628, 0.023699492, -0.055874832, -0.21317463, 0.15699029, 0.06470851, 0.3203727, 0.012689787, 0.04068801, -0.0362694, -0.08463872, 0.022032904, 0.36295962, 0.40498146, 0.27317238) * g_16; + result += mat4(0.124197744, -0.21850279, 0.15408973, -0.26874685, -0.059596032, -0.078130245, 0.05881263, 0.21196629, -0.068842866, 0.009358261, -0.11701211, -0.1040061, -0.14287138, -0.37897316, -0.14483643, -0.21824312) * g_17; + result += mat4(-0.08589939, -0.075192496, 0.030483527, -0.06450602, -0.012149392, 0.17978314, 0.15634626, -0.2836322, 0.14882863, 0.10502833, -0.16009775, -0.10486963, 0.037842657, -0.038362924, -0.22343613, 0.101130985) * g_18; + result += mat4(-0.013563463, -0.024395624, -0.12761684, -0.09748699, -0.089499116, -0.08085164, 0.058557037, 0.13672954, -0.118551984, -0.13629481, 0.094393395, 0.029314406, -0.080707505, -0.038193874, 0.13417166, -0.02425689) * g_19; + result += mat4(-0.17519292, -0.10705887, 0.20562781, 0.010688353, -0.020396186, 0.14856702, -0.07595417, 0.10375755, -0.15135598, -0.05276549, -0.14925396, -0.019424599, 0.06944723, 0.16936864, 0.100991525, -0.0070587527) * g_20; + result += mat4(-0.09268212, 0.06558073, -0.28194323, 0.08364666, -0.02612452, 0.054087568, 0.14668237, 0.115088925, 0.04907736, -0.121807694, 0.28625855, 0.07017234, 0.11742178, 0.014940573, -0.0030790027, 0.09556736) * g_21; + result += mat4(-0.2570902, 0.09647556, 0.15780881, 0.08517732, -0.07699583, -0.026643768, -0.09048383, 0.047831554, 0.19601518, -0.14882582, -0.12081898, -0.21000117, 0.22658183, 0.32082006, -0.06317293, -0.07006582) * g_22; + result += mat4(0.1865291, -0.07663154, -0.07021094, -0.07830695, 0.076760985, -0.10160548, 0.16065563, -0.10210155, -0.13542733, -0.023234889, 0.10826387, 0.2707354, -0.07200074, -0.019201742, -0.045061752, -0.15168877) * g_23; + result += mat4(0.00804967, -0.14787929, 0.009206717, -0.021477034, -0.084476404, -0.015345305, -0.13645084, 0.17224337, 0.16686128, -0.012185714, 0.15809548, -0.18986331, 0.1008467, 0.04329404, -0.22691965, -0.0038823795) * g_24; + result += mat4(0.15417027, -0.06945452, -0.20023187, -0.067604445, -0.036015324, -0.053225037, 0.075553775, -0.031289067, -0.10324133, -0.22750708, -0.0687051, 0.2233988, -0.032612424, -0.14323196, 0.21441486, 0.12729624) * g_25; + result += mat4(-0.07149902, 0.26289824, 0.17770901, 0.005413293, 0.08461791, -0.12599528, 0.21661244, 0.1305935, 0.16592002, 0.100489244, 0.06736797, -0.21842687, 0.22388805, -0.017664155, 0.21695323, -0.108672984) * g_26; + result += mat4(-0.03011306, -0.12135366, 0.1701224, -0.069647305, -0.21244405, 0.16653134, -0.116377264, 0.28703618, -0.06256598, -0.4135873, 0.12806, 0.38643956, -0.29591087, 0.14771672, -0.085469425, 0.07862257) * g_27; + result += vec4(0.031112298, -0.004619042, 0.06137103, -0.028557438); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x112 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_18_tf3 +//!BIND conv2d_18_tf4 +//!BIND conv2d_18_tf5 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!SAVE conv2d_21_tf4 +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.1963867, 0.07699578, 0.14399086, -0.20231943, 0.1228945, 0.10025043, 0.21558635, -0.14002483, 0.18620099, 0.024811473, -0.006723965, -0.12215585, 0.19046861, -0.108267576, -0.12425069, -0.21237871) * g_0; + result += mat4(0.246677, 0.0881537, 0.03614809, 0.24940786, -0.12583077, 0.3362467, -0.015060226, 0.09434887, -0.19725238, 0.37675261, -0.007914419, -0.09965565, 0.0195271, 0.09688557, 0.18034142, 0.25808018) * g_1; + result += mat4(0.07988132, -0.15699178, -0.09968855, -0.05188315, 0.1189213, 0.2018036, 0.06732629, -0.049742103, -0.0012818838, 0.01787508, 0.17064866, 0.13609366, 0.045613803, -0.1356721, 0.0742584, 0.17483133) * g_2; + result += mat4(-0.09535376, 0.062276363, 0.02677763, 0.18110538, -0.056094047, -0.06404993, -0.24868925, -0.005307554, 0.0036259799, 0.16573818, 0.07203683, 0.33113593, 0.17214227, -0.044549335, -0.013462563, -0.044395987) * g_3; + result += mat4(-0.049357347, -0.20686656, -0.08514925, 0.13660856, -0.085490316, 0.1609961, 0.18058838, -0.043433487, 0.06679116, 0.020784464, 0.0350443, 0.11283589, 0.047845896, -0.15244545, -0.111651644, -0.13325566) * g_4; + result += mat4(-0.2407646, -0.036201578, -0.056687888, -0.14974321, 0.039803684, -0.085988104, -0.036733832, -0.14233889, 0.010312457, -0.14597215, -0.1345812, -0.09528502, -0.069463976, -0.017104028, -0.21093526, 0.13846932) * g_5; + result += mat4(-0.13820851, 0.02654045, -0.09661381, 0.17160213, 0.1978931, -0.12043106, -0.028641233, 0.08110245, -0.1875805, -0.06886384, 0.047143184, 0.33587673, -0.10415887, -0.18351205, 0.1407508, -0.1332706) * g_6; + result += mat4(0.13994217, -0.013123574, -0.05953133, 0.10043616, -0.27695277, 0.051396918, -0.15545999, -0.12036323, -0.050617583, 0.056553494, -0.079539895, 0.14741984, -0.021349153, 0.07863958, -0.07300714, -0.16282727) * g_7; + result += mat4(0.054927684, 0.16985811, 0.036917485, -0.0140152415, 0.08888437, -0.29275262, -0.03844096, -0.09088267, 0.1250863, -0.036014643, 0.054614082, -0.15399693, -0.110796444, 0.0925346, -0.22120771, 0.29702052) * g_8; + result += mat4(0.06883671, 0.058238175, -0.26987633, 0.17383234, -0.100885935, 0.090576224, -0.16625507, 0.033924226, 0.3471819, -0.15876703, -0.003714482, -0.22869875, -0.51020795, 0.13920946, -0.060082283, -0.07045547) * g_9; + result += mat4(0.02216123, 0.20307806, 0.1976366, 0.035313394, 0.21204922, 0.052470528, 0.03677106, -0.1063312, -0.019970786, 0.1678837, -0.13302676, 0.019388223, -0.10893328, -0.028289987, 0.042897556, -0.23842873) * g_10; + result += mat4(0.036743134, 0.034039408, -0.010375282, 0.16331595, 0.01155292, -0.051256556, 0.063319005, 0.03891694, 0.028058654, 0.23070037, -0.004834602, 0.12538977, -0.16574672, 0.10670458, -0.054559533, -0.13865025) * g_11; + result += mat4(0.34042284, -0.096626334, 0.1829246, 0.114188604, 0.088171884, 0.11710425, 0.14686471, 0.009725783, -0.12866455, 0.15149915, -0.13281596, 0.07473135, -0.11002946, -0.042536035, 0.35408425, 0.04991825) * g_12; + result += mat4(-0.4470486, -0.04748823, -0.14250289, 0.017064111, -0.15611976, -0.052947167, -0.16508208, -0.11881081, 0.13243856, -0.08291998, -0.14834203, -0.4627348, 0.14895794, -0.054990955, -0.2850958, 0.032338817) * g_13; + result += mat4(0.11025286, -0.047356833, -0.00029529104, 0.10499984, 0.115071274, -0.034509618, -0.17907608, -0.12972243, 0.14780535, -0.039031286, -0.23174866, 0.07155468, -0.2973685, -0.042398665, 0.011526313, 0.014337736) * g_14; + result += mat4(-0.13286439, -0.15258804, -0.08101948, -0.03865954, -0.0005274504, 0.06358946, 0.20435862, -0.0018249828, 0.13777693, 0.091889404, 0.26195052, -0.10732939, 0.12700158, -0.0029639623, 0.08968977, 0.10790943) * g_15; + result += mat4(-0.025876395, 0.04674395, 0.08705419, 0.11546646, 0.15677479, -0.09279832, 0.06123563, 0.027857538, -0.026071457, -0.07211418, 0.03904429, -0.07982592, -0.16422117, -0.022703126, -0.17293021, 0.14897922) * g_16; + result += mat4(0.15511294, -0.2735757, -0.033055518, 0.010482124, 0.07846025, -0.28522226, -0.103355184, 0.0907831, -0.22074161, -0.25466454, 0.14828296, -0.085437566, 0.11504318, -0.16773705, 0.08680487, -0.012820092) * g_17; + result += mat4(0.10127869, -0.18961814, 0.18196556, 0.08140379, -0.23042479, -0.11330197, 0.10758355, 0.027613612, -0.12754934, -0.030713173, 0.07453361, -0.1338413, -0.0014765146, 0.078984834, 0.019902518, 0.08373023) * g_18; + result += mat4(0.016189277, 0.094952025, 0.037799377, 0.033959743, 0.11591709, 0.13379039, -0.07359717, 0.2147113, -0.067016184, 0.0006450209, 0.13055131, 0.06845076, -0.027489938, -0.19194192, -0.007896561, -0.08913592) * g_19; + result += mat4(-0.04248823, -0.076337345, -0.10990166, -0.2680756, 0.08889121, -0.0177947, 0.21444084, 0.100478254, -0.016669227, 0.08470296, -0.069658354, -0.07584226, -0.05746039, 0.25226966, 0.009504905, 0.08502889) * g_20; + result += mat4(0.031891428, -0.053127673, 0.033998042, -0.057896897, -0.07441638, -0.10886511, 0.079562426, 0.057446953, 0.1934566, -0.074068144, 0.00525264, 0.10135101, 0.13110499, -0.10722797, -0.0841621, -0.050043304) * g_21; + result += mat4(0.066630974, 0.06632765, -0.18793635, -0.16781266, 0.13995983, 0.096131966, 0.123134784, -0.10111646, -0.12674555, -0.041563142, -0.0061982237, 0.023315776, 0.023906343, 0.019013697, -0.2010971, 0.04703861) * g_22; + result += mat4(-0.15652168, -0.24982816, 0.17870888, 0.06907672, -0.057334036, -0.032808617, 0.11526983, 0.119979076, -0.1791687, 0.1222946, -0.11300223, -0.17275636, 0.021404041, -0.15254661, -0.04140363, -0.03240875) * g_23; + result += mat4(0.027191963, -0.01434174, -0.14910434, -0.06411872, -0.061873678, 0.16904217, 0.047826875, 0.02332137, -0.14306058, 0.24481563, -0.033499192, -0.053609576, -0.056984827, -0.09177351, 0.10327636, -0.008282755) * g_24; + result += mat4(-0.0013305998, -0.16498545, 0.13777103, -3.852495e-06, 0.09852269, 0.049945284, -0.15420936, 0.012355145, -0.0884347, -0.042019103, 0.07325865, 0.12033873, -0.17453258, 0.25127375, 0.003513564, 0.14359626) * g_25; + result += mat4(0.088470936, -0.084289886, 0.12525322, -0.052040808, -0.02055114, 0.12212508, 0.0047877207, 0.0022971383, -0.16231592, -0.0012661765, -0.18805377, -0.01330223, -0.13868679, -0.07463934, 0.013851991, -0.39397895) * g_26; + result += mat4(-0.29183444, 0.08526801, -0.009475625, 0.012616094, 0.106093206, -0.15813065, -0.023291823, 0.026072321, -0.09510553, 0.28779894, -0.03740373, -0.22849992, 0.14980063, -0.056065757, 0.1896184, 0.18598676) * g_27; + result += vec4(-0.10836887, -0.05585613, 0.040955693, -0.094257936); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x112 +//!HOOK MAIN +//!BIND conv2d_18_tf +//!BIND conv2d_18_tf1 +//!BIND conv2d_18_tf2 +//!BIND conv2d_18_tf3 +//!BIND conv2d_18_tf4 +//!BIND conv2d_18_tf5 +//!BIND conv2d_20_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!SAVE conv2d_21_tf5 +//!WIDTH conv2d_18_tf.w +//!HEIGHT conv2d_18_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_1 (max((conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_18_tf_tex(conv2d_18_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_18_tf1_tex(conv2d_18_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_18_tf2_tex(conv2d_18_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_18_tf3_tex(conv2d_18_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_18_tf4_tex(conv2d_18_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_18_tf5_tex(conv2d_18_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_20_tf_tex(conv2d_20_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.037292957, 0.111278884, 0.0040617813, -0.13005154, -0.14574225, -0.04561907, 0.08651799, 0.26120758, 0.08891994, -0.088803776, 0.042923294, 0.25807977, -0.018256422, -0.0701701, -0.005195042, -0.003834101) * g_0; + result += mat4(0.02109605, -0.069872335, 0.019276647, 0.20458579, 0.19809006, 0.07492716, 0.08456779, 0.03991817, 0.17381856, -0.18353306, 0.033056915, 0.017351417, 0.27317572, 0.14745289, 0.112595454, 0.24492109) * g_1; + result += mat4(-0.14570235, -0.17424104, -0.06727217, -0.3086037, 0.02525411, -0.044770114, 0.033749532, -0.11228765, -0.15769076, 0.00451067, -0.1788018, -0.30820736, 0.0041043786, -0.024795217, 0.15125588, 0.047423594) * g_2; + result += mat4(-0.040195987, 0.044254698, 0.03855816, -0.20195895, 0.022790458, 0.096643284, -0.059985366, 0.08459743, 0.1324966, -0.040880192, -0.0043202005, 0.047319695, -0.032420613, 0.19165912, 0.00961678, 0.0183705) * g_3; + result += mat4(0.16408893, 0.13368279, -0.0021361106, -0.18459465, -0.01461956, -0.025040925, 0.023046397, 0.18937416, -0.029725153, 0.024626948, -0.12168845, -0.17462288, -0.0018600278, -0.21533066, -0.031245705, 0.016543053) * g_4; + result += mat4(-0.26195183, 0.01833496, -0.18704526, -0.021662816, 0.10616261, -0.043555334, 0.27241042, -0.14757007, -0.124572046, -0.02121388, 0.051727325, -0.0069818725, 0.043559317, -0.110680476, 0.04445242, 0.13625911) * g_5; + result += mat4(-0.038022455, 0.03635892, -0.2756826, 0.08211933, -0.023213604, -0.08972885, 0.032142006, -0.09148028, -0.19298528, 0.1790908, -0.089981236, -0.17479765, -0.16850077, -0.1224998, 0.26742375, -0.05020889) * g_6; + result += mat4(0.071032055, -0.00785422, 0.10790756, 0.0018305354, -0.027506126, -0.062212195, -0.23357867, 0.045895457, -0.1727715, 0.10876975, -0.230332, -0.17849782, -0.07430489, -0.18781832, -0.04600162, -0.11432774) * g_7; + result += mat4(-0.092788436, -0.024297832, -0.014884651, 0.34521446, 0.19182527, -0.0007828303, 0.2955958, 0.14103474, -0.118902594, -0.21362142, 0.03223166, 0.11770545, 0.052067857, -0.09909963, -0.090388335, 0.042580575) * g_8; + result += mat4(-0.1330214, 0.03868773, -0.11671803, 0.19015789, 0.10405984, -0.013677597, -0.045054883, 0.2648324, 0.091654226, 0.06342989, -0.18447904, -0.18814911, 0.08201126, -0.087983154, 0.19835882, 0.02320308) * g_9; + result += mat4(-0.16742142, 0.04889244, -0.04224858, 0.09795042, 0.0742024, 0.08524124, 0.08547024, -0.08971748, -0.06742199, -0.01264819, 0.01967524, -0.085037805, -0.006368631, 0.087310255, 0.033242185, -0.109046064) * g_10; + result += mat4(-0.036376826, -0.12445654, 0.2214164, 0.073704585, -0.057687093, 0.03161407, 0.030226182, 0.13798846, 0.004053758, -0.026847184, -0.18207215, 0.02327736, 0.15338598, 0.029355692, 0.15947832, 0.009741949) * g_11; + result += mat4(-0.14350525, 0.44122484, -0.27216923, -0.32400486, -0.06935376, -0.07826008, 0.013052485, -0.15577343, -0.0602264, -0.1378567, -0.0988297, -0.0520038, 0.16281459, 0.21593477, 0.015656868, 0.021682512) * g_12; + result += mat4(-0.110919766, -0.50870305, 0.13304098, 0.44846004, -0.11171717, 0.021876339, -0.1763441, 0.07960399, 0.19334543, 0.059901852, 0.35047033, 0.06759713, -0.1094105, -0.03440771, 0.12352318, -0.0851165) * g_13; + result += mat4(-0.0568668, -0.025527416, 0.025759742, -0.12103697, 0.422481, -0.08913437, -0.055062406, 0.34310246, 0.21279198, -0.078316584, -0.013654249, -0.09046805, -0.07094275, 0.115192436, -0.065263025, 0.17215906) * g_14; + result += mat4(0.07046529, -0.07284162, -0.11466734, -0.21302283, -0.03389403, 0.15734796, 0.1361196, 0.024044609, 0.029766176, 0.16577528, 0.024331262, 0.060340524, 0.44355944, 0.0003581332, 0.3078238, 0.2574837) * g_15; + result += mat4(0.00071162626, 0.07135437, 0.07894501, -0.0018909698, 0.056075454, 0.2710218, 0.05085683, -0.09762287, 0.3231151, -0.19741713, 0.17338343, 0.0155739505, -0.041763403, -0.1287588, -0.12640484, -0.23130493) * g_16; + result += mat4(0.07035256, -0.11294888, -0.14101484, -0.15230694, -0.10483314, -0.0016073174, 0.057297777, -0.09009508, -0.12830521, 0.03709873, -0.06290859, -0.08136984, 0.113198824, -0.1655927, -0.13494876, 0.24072471) * g_17; + result += mat4(-0.032724876, -0.09534773, -0.26204878, -0.3292954, -0.061760694, -0.0520527, 0.114927344, -0.19985563, -0.14206612, 0.29207164, -0.18231356, -0.023020215, -0.08598638, 0.14821911, 0.03660733, -0.19112201) * g_18; + result += mat4(0.037955362, 0.010134931, 0.36916158, -0.17044878, 0.21356396, -0.1560363, 0.26455376, 0.20915791, -0.1306162, -0.2429591, 0.1719089, 0.18352278, 0.0679352, -0.065386556, -0.022702005, -0.066387825) * g_19; + result += mat4(0.19960098, -0.14576043, -0.10151787, 0.09198339, 0.1231411, 0.087754674, 0.11652834, 0.013271647, 0.036118887, 0.15265918, 0.013385129, 0.14981005, -0.21563594, -0.08766662, -0.0654284, 0.12685579) * g_20; + result += mat4(-0.094955795, 0.24225567, 0.048474804, -0.07734907, 0.01806047, 0.14843795, 0.06016524, 0.35317475, -0.11599948, -0.07693678, 0.18482585, -0.019892018, 0.114919215, 0.1710398, -0.048565853, 0.13335803) * g_21; + result += mat4(-0.09855322, -0.025525704, -0.06842548, 0.1469744, -0.018368883, 0.15323098, 0.20133962, 0.12638539, -0.045463845, -0.08798743, 0.11472818, -0.033174478, 0.012110788, -0.06817629, -0.011605086, -0.16827421) * g_22; + result += mat4(-0.045262296, 0.13600074, 0.1300623, -0.034807224, -0.34226584, 0.017031498, -0.039954994, -0.08290169, 0.10082742, 0.021582376, -0.09534511, 0.20549543, -0.051487718, -0.1630972, 0.33449423, -0.048398267) * g_23; + result += mat4(0.029700171, 0.007352428, 0.18526569, 0.073091626, 0.11026601, 0.122599594, -0.11891045, 0.01342231, 0.15690641, 0.04361259, 0.2773186, 0.09948339, 0.19514516, -0.26567987, 0.27316755, -0.004506885) * g_24; + result += mat4(0.015102482, 0.5311715, -0.04495627, -0.29039982, 0.043197848, -0.045482073, -0.015217863, 0.12423151, 0.06713047, -0.28593946, -0.26324463, -0.10622171, 0.08733315, 0.26325643, -0.109262615, 0.032678623) * g_25; + result += mat4(0.20356876, 0.13201593, 0.54593295, -0.009429143, -0.047878712, 0.112797454, 0.10636369, -0.031002715, 0.04968258, -0.01192892, -0.08390279, 0.2962574, -0.037763555, 0.23986666, 0.2914927, -0.19597684) * g_26; + result += mat4(-0.17221802, -0.3117124, -0.30086198, -0.09605459, 0.06022855, 0.0932599, 0.21669184, 0.025771603, 0.10568125, 0.09046417, 0.23842993, 0.15542446, 0.085549235, -0.39743817, -0.35149595, -0.10991869) * g_27; + result += vec4(0.041429322, -0.04519541, -0.021303019, 0.03556548); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_21_tf3 +//!BIND conv2d_21_tf4 +//!BIND conv2d_21_tf5 +//!SAVE conv2d_23_tf +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_21_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_21_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_21_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_21_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_21_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_21_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.0069880835, -0.11854449, 0.019130541, 0.06131937, -0.12653148, -0.11386897, 0.026278017, -0.029769672, -0.04900336, -0.040183928, 0.14786887, 0.13839152, 0.023214985, 0.02170963, -0.0050535826, 0.11593161) * go_0(-1.0, -1.0); + result += mat4(0.18226194, -0.08764719, 0.007596958, -0.16714393, -0.013890971, -0.20315985, -0.1823182, 0.011473067, -0.0031021899, -0.08969826, -0.10007674, 0.10920222, -0.015446357, 0.036132008, -0.067185655, 0.13934731) * go_0(-1.0, 0.0); + result += mat4(0.015283827, -0.09229732, 0.0414126, 0.021944996, 0.14104785, 0.008045174, -0.06079496, 0.034749705, 0.0555263, -0.10242346, -0.060914904, 0.08464502, -0.011859913, 0.006455802, 0.10844761, 0.0134105105) * go_0(-1.0, 1.0); + result += mat4(0.018642211, -0.11451369, -0.14549, 0.025961792, 0.30536854, -0.12940758, -0.00767789, -0.041237094, 0.09311256, -0.031055698, -0.044830468, -0.024006868, 0.08701035, 0.040819246, -0.04263764, 0.11538945) * go_0(0.0, -1.0); + result += mat4(-0.054786954, -0.086928196, -0.13966377, -0.15393174, 0.1424234, -0.05512831, 0.056643385, 0.025964662, 0.07892287, -0.0106549505, -0.20436414, 0.14651425, -0.2473103, -0.25998104, 0.13307813, -0.09702979) * go_0(0.0, 0.0); + result += mat4(0.013059422, -0.21957332, -0.07801947, -0.0052945465, 0.0094043175, -0.2566915, 0.020264111, -0.084617026, 0.057397053, 0.15240598, -0.02216099, 0.05716462, 0.13927206, 0.004486894, 0.0016922898, 0.102252744) * go_0(0.0, 1.0); + result += mat4(0.07014947, -0.13902779, 0.031490333, -0.18859616, -0.014590556, 0.04007344, 0.09425186, -0.051375583, -0.06935742, -0.057554092, -0.10276669, -0.019557113, -0.09518076, -0.033071887, -0.048500758, 0.048819438) * go_0(1.0, -1.0); + result += mat4(0.16722094, 0.0344578, 0.018731082, 0.09678484, 0.15892155, -0.18919247, 0.021216132, 0.02931444, 0.021595579, 0.061666757, -0.10762524, 0.12676224, -0.03248062, -0.02504607, 0.18469785, -0.13702926) * go_0(1.0, 0.0); + result += mat4(0.13041268, -0.0619327, 0.022542154, 0.026681304, 0.020749563, -0.21606146, 0.114432104, -0.066451274, 0.015913267, 0.06163406, -0.057585176, 0.0644391, -0.044056248, 0.035255745, 0.03464814, -0.08578779) * go_0(1.0, 1.0); + result += mat4(0.08973615, 0.045222506, -0.09590073, -0.100004695, 0.05237453, -0.06722716, -0.02415732, -0.0075536054, 0.094202325, -0.050179597, -0.024599258, 0.020099288, -0.08596868, 0.055813123, 0.13340895, -0.16934091) * go_1(-1.0, -1.0); + result += mat4(0.06300078, 0.007818018, 0.09217224, 0.009206147, -0.15671419, -0.2783, -0.03584697, -0.020961186, -0.16284715, -0.0144862635, -0.11325322, -0.048829306, -0.07440494, 0.003520005, 0.022383792, -0.12780105) * go_1(-1.0, 0.0); + result += mat4(-0.013562683, -0.009709261, -0.098945156, 0.052830927, -0.006970199, 0.051590238, -0.06947861, 0.023755455, -0.06272423, -0.02977508, 0.02553348, -0.079587765, -0.22774328, -0.19316547, -0.06733863, 0.14218438) * go_1(-1.0, 1.0); + result += mat4(0.0628164, -0.065402724, -0.081423946, -0.014294701, 0.076882415, -0.16462187, 0.058887646, 0.17147242, -0.06266455, -0.033563286, 0.14262468, 0.077735715, -0.04773609, -0.15871379, 0.25418288, 0.00045479767) * go_1(0.0, -1.0); + result += mat4(-0.18470187, -0.057679847, 0.096446, -0.18015186, 0.00678714, 0.021908736, -0.20782757, -0.050982784, 0.022583686, 0.15980199, 0.030406693, 0.011787296, -0.13989478, -0.04320495, -0.085875444, -0.11700863) * go_1(0.0, 0.0); + result += mat4(-0.05523541, -0.025541743, 0.116241954, -0.020840911, 0.10067526, -0.16248223, -0.0012360907, 0.048425563, -0.1276002, -0.17499678, -0.01945251, 0.013212705, -0.16648263, 0.35500625, -0.135235, 0.017235618) * go_1(0.0, 1.0); + result += mat4(-0.073000446, -0.028381377, -0.0013608577, -0.016599078, -0.16571084, -0.07088432, -0.048842687, -0.07629005, -0.1381271, 0.065818846, 0.09421087, -0.03347382, 0.18608873, -0.045746375, -0.029741777, -0.095119506) * go_1(1.0, -1.0); + result += mat4(0.05358922, -0.040625416, -0.0019438072, -0.07843638, 0.19569466, -0.020356197, -0.0039346446, 0.003250757, -0.27383512, -0.16601264, 0.19187284, -0.107417405, 0.14909706, 0.06331532, -0.034985464, -0.06792424) * go_1(1.0, 0.0); + result += mat4(0.004034066, -0.054885756, -0.028200584, 0.06112716, 0.088295385, -0.020277997, -0.0020670767, 0.07127592, 0.013512765, -0.11650901, -0.055278458, 0.19233239, 0.1428892, 0.18658066, 0.10309081, -0.21165647) * go_1(1.0, 1.0); + result += mat4(-0.1705785, -0.12354222, 0.022113271, -0.07476554, -0.047615983, 0.061029002, -0.10020206, 0.17523453, 0.123563774, 0.0263436, -0.31404853, 0.11083086, -0.1827326, 0.046315327, 0.02357315, 0.08001404) * go_2(-1.0, -1.0); + result += mat4(-0.25918508, -0.09035259, -0.11229619, 0.08937231, -0.07499014, -0.13759968, -0.06618682, -0.117273055, 0.13919342, 0.04063526, 0.0072243907, -0.010585091, -0.039012935, 0.038917992, -0.10635016, -0.021612033) * go_2(-1.0, 0.0); + result += mat4(-0.0089387875, 0.10615507, -0.035624836, 0.21369669, -0.10219163, -0.041785926, -0.16842867, 0.14568092, 0.007918519, 0.17244598, -0.1169083, -0.05689179, -0.02399704, 0.01797599, -0.010986574, -0.017950263) * go_2(-1.0, 1.0); + result += mat4(-0.1522888, -0.113724284, -0.0508058, -0.16001092, 0.106977604, 0.053684708, -0.029986003, -0.110413074, 0.06492325, 0.17037806, 0.06288644, 0.23390365, -0.09741724, -0.06995056, -0.057531606, 0.01844941) * go_2(0.0, -1.0); + result += mat4(0.15611115, 0.040233236, -0.15241939, 0.21942209, -0.08196805, 0.04386631, 0.026889535, 0.28283122, -0.1527832, -0.046571508, 0.0018935538, -0.080615886, -0.12228735, -0.08016452, 0.0026405575, -0.070778325) * go_2(0.0, 0.0); + result += mat4(-0.042836025, 0.061742477, 0.26000306, -0.0013946262, 0.1407296, 0.24357088, 0.02941107, -0.31321937, -0.16753249, 0.15091048, -0.24045682, 0.08972196, 0.017686358, 0.08580807, 0.22204015, -0.0032575685) * go_2(0.0, 1.0); + result += mat4(0.05686254, 0.0023638983, -0.0822024, -0.06302648, 0.018615028, 0.06446251, 0.040583827, -0.015167025, -0.30382422, 0.032748684, 0.018681254, 0.075088434, 0.05812204, 0.029412095, -0.13035361, 0.12716398) * go_2(1.0, -1.0); + result += mat4(0.10954507, -0.0024484838, -0.04169171, 0.16917403, -0.035183076, -0.12553833, -0.22168499, -0.099494375, -0.118895225, -0.048939522, 0.038423754, -0.0077083064, 0.01274566, 0.044805672, -0.022168672, -0.057101645) * go_2(1.0, 0.0); + result += mat4(-0.10617008, -0.009070101, 0.05165893, -0.05298376, 0.11254456, 0.009726123, 0.06991818, -0.04886579, -0.09596588, 0.018851314, -0.08360388, 0.0025929522, -0.06251962, -0.042865653, -0.045322847, -0.026201174) * go_2(1.0, 1.0); + result += mat4(-0.049717374, 0.010736889, 0.15671317, -0.022999978, 0.019685196, -0.013085636, -0.008551068, -0.05243168, 0.002952741, 0.033997223, 0.07501866, 0.120448984, -0.08077145, 0.029829111, 0.03794393, -0.030543867) * go_3(-1.0, -1.0); + result += mat4(-0.25224376, -0.06768517, -0.07005058, 0.06228225, 0.03079539, -0.1084864, 0.0077283275, -0.050937615, 0.008869107, 0.0716059, -0.1658049, -0.045246806, -0.26357064, -0.021991378, -0.13131489, 0.13625829) * go_3(-1.0, 0.0); + result += mat4(-0.13381018, 0.035021957, 0.15034844, 0.13458283, 0.024573468, -0.0063623847, -0.056051284, -0.104659565, 0.036586266, -0.18148834, 0.027351456, 0.11023601, -0.13878205, 0.11888687, -0.03811043, 0.03087424) * go_3(-1.0, 1.0); + result += mat4(-0.37242985, -0.1407765, 0.20398182, -0.08089834, 0.012205813, 0.013402745, -0.00024050876, -0.0077133654, 0.11622889, -0.0049767373, -0.030082246, 0.009957579, -0.10164527, -0.0060521765, -0.0579422, 0.01945247) * go_3(0.0, -1.0); + result += mat4(-0.008741076, 0.13936417, -0.17995904, -0.09130485, -0.0074449205, -0.010273961, 0.044558648, 0.017304022, -0.21149126, 0.016885474, 0.058321353, -0.05664048, -0.13285065, 0.009403637, 0.08154729, 0.04631832) * go_3(0.0, 0.0); + result += mat4(-0.10989927, -0.062021922, 0.1487745, 0.007168839, 0.028093478, 0.14229786, 0.12533048, -0.05652466, -0.03958524, -0.1692561, 0.09212111, -0.12421803, 0.015370121, -0.03957488, 0.088210456, -0.0044525107) * go_3(0.0, 1.0); + result += mat4(0.0043160124, -0.061977856, 0.021317773, -0.11943341, -0.064133406, 0.07397345, 0.13196148, -0.015919702, -0.033692982, 0.041615795, -0.09160119, 0.026745725, 0.01504492, 0.093383975, 0.010174933, -0.057094634) * go_3(1.0, -1.0); + result += mat4(-0.07953229, 0.101896495, -0.010168308, 0.02396339, -0.085219055, 0.0010512068, -0.011841891, -0.08049679, 0.026517114, 0.02582323, -0.11858419, 0.059420392, -0.12342277, -0.047074217, -0.06347131, 0.002858185) * go_3(1.0, 0.0); + result += mat4(0.014326853, -0.08869476, -0.056715887, 0.004668106, -0.010806363, -0.046402488, 0.06119079, -0.057461627, -0.053133115, 0.12268668, -0.048906706, -0.015108306, 0.031009628, 0.03836039, 0.093381, -0.21037707) * go_3(1.0, 1.0); + result += mat4(0.08134721, -0.0934979, 0.10944199, -0.019524302, 0.0046149897, -0.028616823, 0.04847914, -0.057818424, -0.034710694, 0.04014125, -0.0364429, -0.06897909, -0.1878272, 0.016250238, -0.03700313, -0.06731215) * go_4(-1.0, -1.0); + result += mat4(0.10908451, -0.022687301, 0.050137516, -0.010541505, 0.21127963, -0.054874644, -0.0700352, -0.04913987, -0.1250425, 0.13569653, -0.07929906, 0.0010169582, 0.038114645, -0.042086445, -0.0019843192, 0.23153318) * go_4(-1.0, 0.0); + result += mat4(0.04310713, 0.057254057, -0.02167211, 0.009200921, 0.12851475, -0.14369237, -0.1346869, 0.019980187, -0.11089194, -0.15189494, -0.11591209, 0.01131138, 0.02846216, 0.0007677088, 0.23944266, 0.03081744) * go_4(-1.0, 1.0); + result += mat4(0.013688181, 0.05020314, 0.06840467, 0.099603474, 0.027732346, -0.03513163, -0.027012289, -0.14188248, 0.11790062, -0.14810887, 0.12666091, 0.42750952, 0.018835025, -0.14886224, -0.0063641993, -0.037943367) * go_4(0.0, -1.0); + result += mat4(-0.024243148, 0.07883424, 0.15658596, -0.17247504, 0.09594199, -0.06973682, -0.059469186, 0.02972273, -0.17408323, 0.16550143, -0.082254626, -0.23670337, 0.124770686, 0.16527455, 0.11569718, 0.03506502) * go_4(0.0, 0.0); + result += mat4(-0.032389782, 0.074448265, -0.10449024, 0.05341025, 0.10806637, -0.09637673, -0.13023008, -0.084475406, -0.07243098, 0.03239016, -0.10461865, -0.003481539, 0.13019899, 0.031104326, 0.06753554, 0.060100142) * go_4(0.0, 1.0); + result += mat4(-0.07535898, 0.008242841, -0.004561214, 0.05798962, 0.011912443, 0.032585215, 0.020705175, 0.0400687, -0.033268064, -0.01798792, -0.014587306, 0.18506528, 0.083169244, -0.08568325, 0.029904556, 0.115926266) * go_4(1.0, -1.0); + result += mat4(-0.13003345, 0.019583154, 0.08765133, -0.16674104, 0.12082818, 0.12958467, -0.071105525, 0.0858696, -0.08295776, 0.37291923, 0.022535155, 0.0989552, -0.042228278, 0.017537622, 0.095537156, -0.1284973) * go_4(1.0, 0.0); + result += mat4(-0.1327005, 0.03579554, -0.047649536, 0.029256782, 0.061056033, -0.1462003, 0.2609105, -0.120875165, -0.04610983, -0.030380502, -0.012423298, -0.06677635, -0.006553319, 0.024372678, 0.064584985, 0.13186966) * go_4(1.0, 1.0); + result += mat4(-0.081831686, -0.039730735, -0.16260423, -0.04378801, -0.09724497, -0.11115086, -0.107005775, -0.0656579, -0.063640535, -0.0064964327, -0.0420931, 0.059754472, -0.094980076, 0.061107792, 0.06692776, 0.048749704) * go_5(-1.0, -1.0); + result += mat4(-0.014279492, -0.08075597, -0.07969828, -0.057795126, -0.044708088, -0.03758876, -0.14196874, -0.0048927367, -0.045001503, 0.027585609, 0.019310012, -0.06802108, 0.121798925, 0.043796845, -0.06755184, -0.0088966135) * go_5(-1.0, 0.0); + result += mat4(-0.079431646, 0.067669995, -0.0629697, -0.062796526, 0.029771931, -0.01794665, 0.03573165, 0.12829529, -0.08649624, -0.0112341475, 0.060816634, 0.06000907, 0.1260396, 0.042080063, 0.07910779, -0.06198818) * go_5(-1.0, 1.0); + result += mat4(0.09501019, -0.07175458, -0.092828795, -0.0033303546, 0.14801711, 0.0076394225, 0.041459143, 0.09485121, -0.051112894, -0.05009014, -0.11743148, 0.11601241, -0.054599077, -0.14917238, 0.07605413, 0.16549622) * go_5(0.0, -1.0); + result += mat4(0.01804321, -0.062229037, 0.09943961, -0.26825753, 0.1242367, 0.023773152, -0.11542415, -0.046245337, 0.039902937, 0.14690155, 0.14292443, -0.033096712, -0.2004688, -0.13680407, -0.11613196, -0.13050957) * go_5(0.0, 0.0); + result += mat4(0.02046965, 0.23301902, -0.049699195, 0.0670193, 0.07440901, -0.0241305, 0.095373504, 0.09044557, -0.0503828, -0.047760323, -0.14202818, 0.08900512, 0.043249875, -0.06237001, -0.016857002, -0.046210334) * go_5(0.0, 1.0); + result += mat4(0.15186685, 0.011037357, -0.06901649, -0.035260003, 0.049713213, -0.007631359, -0.06837185, 0.0071897623, 0.027287314, -0.0033488686, -0.11366089, 0.03824804, 0.08662198, -0.034758914, 0.01733425, 0.07591191) * go_5(1.0, -1.0); + result += mat4(0.10714902, -0.023588402, 0.020249767, -0.11258079, 0.06949909, 0.03333288, 0.03675718, 0.0962656, 0.015865939, 0.13058801, -0.015100719, 0.10612382, 0.06852575, 0.06818764, -0.036699247, -0.010890609) * go_5(1.0, 0.0); + result += mat4(-0.028749213, 0.1270304, 0.020709433, -0.008646854, -0.006319349, 0.002876694, 0.08073896, 0.012850738, 0.02982129, 0.060001448, 0.014897999, 0.06421632, 0.008211786, -0.095982455, -0.047966313, -0.06887302) * go_5(1.0, 1.0); + result += mat4(0.011765878, -0.1560761, 0.028419627, 0.09770131, 0.022010745, -0.009805496, -0.049396887, 0.035067905, -0.16336244, 0.10416307, -0.077474035, -0.14091393, -0.04845585, 0.07146516, -0.14498278, -0.03334902) * go_6(-1.0, -1.0); + result += mat4(-0.17249902, -0.1369923, 0.16056894, -0.124602, 0.033402704, -0.13735686, 0.07206791, -0.09103378, -0.12977293, 0.07021646, -0.130565, 0.046290826, -0.029306449, -0.05839577, 0.042633913, -0.013713723) * go_6(-1.0, 0.0); + result += mat4(-0.057932694, -0.03594843, -0.094092764, -0.08417391, -0.11754973, -0.02735824, 0.03845372, 0.06594408, -0.05019138, 0.032027278, -0.009692472, -0.11167916, -0.073218435, -0.05804819, -0.060230266, -0.095734484) * go_6(-1.0, 1.0); + result += mat4(-0.028974215, 0.09610796, -0.039810438, 0.023835069, 0.09730948, 0.114034005, -0.019014787, 0.036080312, -0.012013382, 0.04129567, -0.10063804, 0.027935166, -0.12567501, -0.2196294, -0.039468378, -0.078189455) * go_6(0.0, -1.0); + result += mat4(0.17258449, -0.015159342, -0.003201201, 0.0434669, 0.23921692, 0.066728525, -0.026492871, -0.022766523, 0.08760509, -0.08222013, 0.16147149, 0.11158234, -0.014550519, 0.06217406, -0.03750209, 0.19907057) * go_6(0.0, 0.0); + result += mat4(0.06525901, 0.050871633, 0.058128685, 0.11077092, 0.004065273, 0.08671709, 0.16208285, 0.05810031, -0.09094384, -0.11943084, 0.06593253, -0.17899986, -0.19452626, -0.10464566, -0.19046801, -0.16835102) * go_6(0.0, 1.0); + result += mat4(0.07525091, 0.021716353, 0.0018433857, 0.014965701, 0.007007522, -0.15346079, 0.04730867, -0.10917385, 0.18842281, -0.0016988723, 0.11013558, -0.082603395, 0.16255169, 0.018193476, -0.17390668, -0.030786235) * go_6(1.0, -1.0); + result += mat4(-0.035498176, -0.19499347, 0.011399788, -0.02048109, 0.27687144, 0.12955186, -0.02254894, 0.11987418, 0.13866305, 0.10277428, 0.0560032, -0.24824081, -0.020840468, 0.044707865, -0.3378386, 0.24445173) * go_6(1.0, 0.0); + result += mat4(0.03282623, 0.12437772, 0.034364846, -0.114410184, 0.14123477, 0.11489304, 0.09349317, 0.028899781, 0.028397765, -0.029411774, 0.01825738, -0.020454096, -0.099450424, 0.013476895, 0.06911034, 0.021989046) * go_6(1.0, 1.0); + result += mat4(-0.004040288, 0.025118109, 0.004282638, -0.06503641, -0.0077800406, 0.03851912, 0.0059970575, -0.06911158, 0.010772937, 0.09543403, 0.030011812, 0.0055668824, -0.018088907, 0.0039552003, 0.025213696, 0.04647139) * go_7(-1.0, -1.0); + result += mat4(0.0015613356, 0.059214883, 0.10079195, 0.094318874, 0.034617897, -0.069798335, 0.107219554, 0.0051483414, 0.13880159, 0.1362381, -0.0074231327, 0.050913937, 0.20942143, -0.04950454, -0.0073430883, -0.040999684) * go_7(-1.0, 0.0); + result += mat4(-0.0037077703, 0.014000985, -0.019658884, -0.0024262706, 0.14824341, 0.041074853, 0.0156152565, -0.013938521, 0.03286799, 0.12727083, 0.046227213, 0.046221834, 0.06743431, -0.102282085, -0.016164223, -0.093975276) * go_7(-1.0, 1.0); + result += mat4(-0.03119865, -0.03312246, -0.12136074, -0.057890557, 0.024023848, 0.11058454, -0.0050210683, 0.043372292, -0.06799253, 0.0729772, 0.056313902, -0.0806389, 0.025213253, -0.02325896, -0.02560138, 0.0634847) * go_7(0.0, -1.0); + result += mat4(0.06360865, 0.011349906, 0.14926448, 0.07106804, 0.18288492, 0.018383801, 0.13807167, -0.1644954, -0.00544295, 0.13943602, 0.069695644, -0.066643015, 0.09847005, -0.06274543, -0.087997206, 0.039698638) * go_7(0.0, 0.0); + result += mat4(-0.04451962, 0.07100602, -0.06476852, 0.04610342, -0.09133099, -0.044458095, 0.053394422, -0.07136398, -0.027369678, -0.014199988, -0.07218346, -0.012736417, 0.063344404, -0.13564536, 0.0100170905, -0.008917721) * go_7(0.0, 1.0); + result += mat4(0.096585214, -0.081907056, -0.06123312, 0.068057954, -0.075309746, 0.09689756, 0.0012505499, 0.089823835, 0.105237834, 0.16730207, -0.021632383, -0.026819492, -0.034036633, -0.07847478, -0.014592861, -0.057672337) * go_7(1.0, -1.0); + result += mat4(0.07605288, -0.02486637, -0.023775922, 0.099300034, 0.0033312156, -0.040028885, 0.05505948, -0.25174525, 0.12118299, -0.093578465, -0.037082873, 0.17062703, -0.17074107, -0.123013474, -0.013681799, 0.079138085) * go_7(1.0, 0.0); + result += mat4(-0.07577073, 0.2217261, 0.013578049, -0.15505485, -0.14072753, -0.029969715, -0.14958392, 0.063965686, 0.049879476, 0.17617449, -0.08425422, -0.08204683, -0.10914215, -0.07847302, -0.019555492, -0.012018014) * go_7(1.0, 1.0); + result += mat4(0.06792231, 0.0044831755, -0.02620918, 0.27576953, 0.04270262, 0.14574005, 0.12898625, 0.028507214, -0.063540444, -0.016433526, 0.009520048, 0.048382808, 0.022429237, -0.04384335, 0.041377608, -0.0833542) * go_8(-1.0, -1.0); + result += mat4(0.17460293, 0.019206937, 0.03453427, 0.0009134727, 0.07100633, 0.016595127, -0.035355378, 0.044993892, -0.06672958, -0.028377654, -0.12397699, 0.06648999, 0.12059469, 0.015130094, 0.18219775, -0.17909163) * go_8(-1.0, 0.0); + result += mat4(0.16713336, 0.13575985, 0.038676504, -0.15138276, -0.0724845, 0.038978256, 0.11033223, 0.019161243, 0.023343462, -0.0010168983, 0.065426186, 0.03065909, 0.04458682, -0.074035086, -0.08909607, 0.02138337) * go_8(-1.0, 1.0); + result += mat4(0.09952613, -0.016984671, -0.04409617, 0.18817145, -0.09666824, 0.07400927, 0.12104504, -0.013182751, 0.050106943, -0.051792517, -0.06437911, -0.0042484365, -0.026693199, 0.033142142, -0.024158182, -0.03871271) * go_8(0.0, -1.0); + result += mat4(0.045538045, 0.0887923, 0.07346304, -0.041433837, -0.003453982, -0.019129949, -0.026396815, 0.015001767, 0.04293423, 0.05469441, -0.03848117, 0.027109614, 0.034081414, 0.1651076, 0.12631264, -0.06551816) * go_8(0.0, 0.0); + result += mat4(0.11156473, -0.044868644, 0.08807232, -0.043000016, -0.023902416, -0.025987212, -0.028414259, 0.11394663, 0.09727269, -0.11140669, 0.07813744, -0.16975576, -0.027452894, 0.07528256, -0.12184228, -0.1886155) * go_8(0.0, 1.0); + result += mat4(-0.07709758, -0.099323675, 0.07473009, 0.2754919, -0.031245071, -0.06709751, 0.023682723, 0.034528423, 0.11744557, 0.06357556, 0.008586241, -0.066709384, -0.032634113, -0.11260032, -0.06016416, 0.052459273) * go_8(1.0, -1.0); + result += mat4(-0.03536062, 0.16618316, -0.06997681, -0.25911033, 0.07330778, 0.07964729, 0.050815016, -0.042269565, 0.055337824, 0.041217215, -0.052118428, -0.0034286622, -0.10977683, -0.13231349, -0.10566766, -0.0604337) * go_8(1.0, 0.0); + result += mat4(0.101832174, -0.1918096, 0.18838517, 0.17609091, 0.009340354, -0.10303118, -0.08654778, 0.16247928, 0.025510713, -0.10982296, 0.036483496, 0.0027904355, -0.18435988, -0.067036085, -0.0029120399, -0.11961335) * go_8(1.0, 1.0); + result += mat4(0.06876337, 0.042338923, 0.02765794, -0.052441236, -0.06423485, -0.14854555, 0.06896901, 0.012909233, -0.003486955, 0.16777417, -0.12802757, -0.17533931, -0.12460719, 0.2612138, 0.025171904, -0.055894982) * go_9(-1.0, -1.0); + result += mat4(0.1214484, 0.019674076, 0.07405682, -0.08170348, -0.07403517, 0.1277416, 0.0743718, -0.12683785, -0.26315367, 0.033963945, -0.14907846, 0.10856253, 0.07750543, 0.1392015, 0.12018922, -0.039252818) * go_9(-1.0, 0.0); + result += mat4(0.10266759, -0.07020272, -0.0054496373, -0.06486304, -0.024195813, -0.0625625, 0.28768256, 0.008273708, -0.06341503, 0.04007451, 0.00047008428, -0.035673216, 0.21918093, 0.08433501, -0.006143216, -0.048308093) * go_9(-1.0, 1.0); + result += mat4(0.0449781, -0.017431937, 0.096861534, 0.0067550996, -0.028361911, -0.01000641, 0.06504384, 0.04209661, -0.26212123, -0.055139136, 0.046705984, 0.037207633, -0.09915632, 0.1503239, -0.124964535, -0.110592045) * go_9(0.0, -1.0); + result += mat4(0.061559457, -0.1020342, 0.17153032, -0.043774888, -0.42859337, -0.24905643, 0.32323125, -0.44891423, 0.023292232, 0.18651833, 0.034222018, 0.06285988, 0.35305637, 0.32526848, -0.17719568, 0.24293044) * go_9(0.0, 0.0); + result += mat4(0.0037996387, -0.05297437, -0.1689018, 0.05314843, -0.08689403, 0.22258975, 0.014946387, -0.026120821, 0.06823834, 0.019251974, -0.07434834, 0.19708487, 0.06587573, 0.44262806, 0.16318472, -0.023516994) * go_9(0.0, 1.0); + result += mat4(0.0233379, -0.0024273756, -0.03005202, -0.032282483, -0.03927204, -0.07099316, -0.11155208, 0.06318727, 0.1405887, -0.030640755, 0.03459993, -0.061110955, -0.09047155, 0.1601112, -0.013677439, -0.16509454) * go_9(1.0, -1.0); + result += mat4(0.009490245, -0.008072189, 0.022973398, 0.016606418, 0.1013836, 0.061581362, 0.09579702, -0.0744045, 0.07057026, 0.0054289084, -0.17252815, 0.10850029, 0.04104874, 0.22273603, 0.087035716, 0.2083312) * go_9(1.0, 0.0); + result += mat4(0.019000124, 0.062126126, -0.008888399, -0.010648336, -0.02214874, 0.09975152, 0.080602825, 0.04370231, -0.0431664, -0.08772232, 0.046385072, -0.009903082, -0.18314974, 0.050710335, -0.15213948, 0.20295005) * go_9(1.0, 1.0); + result += mat4(0.07735129, 0.07734856, 0.033517826, 0.07171924, 0.0061949333, 0.046915278, -0.09444245, 0.05527773, 0.13675945, -0.031538192, 0.026158364, 0.020119652, -0.038822245, -0.008736489, 0.12681441, -0.036986522) * go_10(-1.0, -1.0); + result += mat4(-0.0320571, 0.14015475, 0.056762595, -0.23470114, -0.09925409, -0.22458291, 0.022473779, -0.052811757, -0.12146114, 0.07147161, 0.00755138, 0.067693874, -0.0537536, -0.04895558, -0.11905466, -0.12070653) * go_10(-1.0, 0.0); + result += mat4(-0.03064348, 0.12593585, -0.0787228, 0.100105345, -0.069484666, -0.07473037, -0.08891059, -0.092456885, -0.08876873, 0.07422951, 0.13339978, 0.05017716, -0.02805476, 0.05464844, -0.15448321, -0.11486075) * go_10(-1.0, 1.0); + result += mat4(-0.044661205, -0.07948136, 0.13388704, -0.16309729, 0.04260037, 0.047987767, 0.047202986, -0.001614947, 0.040237345, 0.017897597, -0.0011386065, -0.16783398, 0.047689114, 0.046358828, 0.0057661133, 0.1370509) * go_10(0.0, -1.0); + result += mat4(0.02958124, -0.07839863, -0.0982092, 0.102068864, 0.0017932036, -0.05858819, 0.039588373, -0.020684792, 0.07956233, 0.13028911, -0.09081386, -0.118944034, -0.11206335, -0.033597928, -0.04488249, -0.008232634) * go_10(0.0, 0.0); + result += mat4(0.011597775, -0.055588562, 0.10501173, -0.17899369, 0.09324266, 0.13583738, 0.14483112, -0.09747359, 0.009214086, -0.06827894, 0.14694221, 0.15593632, -0.11254752, -0.0050783027, -0.22353044, -0.058920577) * go_10(0.0, 1.0); + result += mat4(-0.05378917, 0.086674206, 0.035829477, -0.10503677, 0.008429897, -0.13689163, 0.23580547, -0.106810965, 0.09773216, -0.09078484, -0.11861644, 0.02434357, 0.057524312, -0.074919604, -0.05725938, -0.095171385) * go_10(1.0, -1.0); + result += mat4(0.016109377, 0.013099856, -0.08617584, 0.03963428, 0.041205827, 0.08666136, 0.026972812, 0.0026053388, 0.02779692, 0.011868566, 0.018249149, -0.097442895, -0.17583683, 0.06786349, 0.037664376, 0.0797328) * go_10(1.0, 0.0); + result += mat4(0.047050953, -0.0731469, 0.08457175, -0.074505284, -0.05459736, 0.092681654, 0.048452456, -0.0008404358, -0.07282775, -0.008805529, -0.0038056236, 0.10644807, -0.05030183, 0.12713799, -0.08751896, -0.016655242) * go_10(1.0, 1.0); + result += mat4(-0.06307826, 0.014256774, -0.112667084, -0.004374373, 0.0016702815, -0.0012741702, -0.0703549, -0.049554512, -0.015644677, -0.004483042, 0.011172305, -0.267767, -0.026991133, 0.065580614, 0.0069980714, 0.111035265) * go_11(-1.0, -1.0); + result += mat4(-0.02440592, -0.06333373, 0.007379077, 0.1688759, 0.03798265, 0.09410997, -0.21902218, -0.003939251, -0.17722172, -0.08226677, -0.24438883, 0.121153526, -0.008109413, -0.14817086, -0.078997254, 0.03786915) * go_11(-1.0, 0.0); + result += mat4(0.030591737, -0.09482286, 0.12181502, 0.057631243, 0.08759884, -0.17105722, 0.0964372, -0.109260045, -0.052637015, -0.013185344, -0.11147237, 0.076789476, -0.07351503, 0.08667414, 0.096757755, 0.12759756) * go_11(-1.0, 1.0); + result += mat4(0.08471275, -0.16557701, 0.050174624, -0.025535649, -0.025810966, -0.04688176, 0.037069615, -0.09784653, 0.05009029, 0.027799185, 0.13554801, -0.05577445, -0.14021182, -0.05564169, -0.06002962, -0.00078120775) * go_11(0.0, -1.0); + result += mat4(0.067065805, 0.0047575375, 0.073646456, 0.11712173, 0.13899939, -0.14882548, 0.1768432, 0.246122, -0.102960475, -0.052807406, -0.15377884, -0.071115606, 0.024046259, 0.17466155, 0.027760359, 0.14437848) * go_11(0.0, 0.0); + result += mat4(0.033062924, -0.07700975, 0.09830998, -0.036917005, 0.14771664, 0.050855856, -0.14142801, -0.14804444, -0.046894778, 0.15373212, 0.019493164, -0.0064124498, 0.0590096, -0.10034818, 0.14113134, -0.15411709) * go_11(0.0, 1.0); + result += mat4(-0.029877083, -0.012765826, 0.103617184, -0.025865637, 0.10308, -0.013020275, 0.09340629, -0.021735948, -0.10842617, 0.039857816, 0.07585392, -0.0061892257, -0.09355829, -0.12881306, -0.07988342, 0.033735536) * go_11(1.0, -1.0); + result += mat4(-0.009701788, -0.051857222, -0.08697704, 0.052092426, -0.09670878, -0.09957194, 0.049242835, -0.014359006, 0.0899569, 0.023190506, -0.011281856, -0.09034019, -0.12512034, 0.028475331, -0.29740763, 0.13716742) * go_11(1.0, 0.0); + result += mat4(0.01507877, -0.17355633, 0.07485617, 0.04736884, 0.07656799, -0.033274084, -0.13986339, -0.042700406, -0.0043234834, 0.05111263, -0.07441735, 0.038007017, -0.05553268, 0.028594827, -0.09326329, 0.036843423) * go_11(1.0, 1.0); + result += vec4(0.07485647, -0.020073265, 0.10867479, 0.0028992307); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_21_tf3 +//!BIND conv2d_21_tf4 +//!BIND conv2d_21_tf5 +//!SAVE conv2d_22_tf +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_21_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_21_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_21_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_21_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_21_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_21_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_21_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_21_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_21_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.046997122, -0.12100286, -0.04884141, 0.026233625, 0.13419463, -0.1443756, -0.012541741, -0.09226546, -0.007145756, 0.08064256, -0.1497435, -0.15363759, 0.07059654, 0.05500106, -0.10462021, 0.05593005) * go_0(-1.0, -1.0); + result += mat4(-0.12216866, 0.051958025, 0.009375743, -0.07210758, 0.068535455, 0.04285626, -0.25379446, -0.19455898, -0.049028367, 0.0013313026, -0.060532752, 0.02049411, 0.09910163, 0.061852667, -0.10383363, -0.044615768) * go_0(-1.0, 0.0); + result += mat4(-0.061444093, 0.1475833, 0.08647051, -0.0930838, -0.14166534, 0.014049921, -0.11591214, -0.14689638, 0.0874891, -0.015281789, -0.0823502, -0.02594173, -0.010902944, -0.06132606, -0.11196707, -0.030080898) * go_0(-1.0, 1.0); + result += mat4(-0.025793837, -0.15086421, -0.19421612, 0.049747333, -0.08230918, 0.05910996, -0.11782846, 0.12938577, -0.014073465, -0.026178546, -0.080913424, -0.11990293, 0.14808998, -0.28540215, -0.06472948, -0.010120146) * go_0(0.0, -1.0); + result += mat4(0.19346227, 0.13168143, -0.04456171, -0.031110242, 0.1958846, -0.097187325, 0.21183993, 0.014313686, 0.10280612, 0.029677134, 0.021590104, -0.0549455, 0.06909031, 0.18166044, 0.10388618, -0.08829224) * go_0(0.0, 0.0); + result += mat4(-0.0031296194, -0.06930685, -0.06413895, -0.06983414, 0.08569904, -0.016175283, -0.046621192, -0.09202774, 0.15233985, 0.024364363, -0.29214412, 0.044175327, 0.087574676, 0.06123415, -0.08159602, -0.011336161) * go_0(0.0, 1.0); + result += mat4(-0.062429257, -0.105471455, -0.016470768, -0.05267765, 0.08255332, -0.08158764, -0.047480583, 0.0019701628, 0.016991843, -0.006585283, -0.077434, -0.0606294, 0.050235912, -0.036302667, -0.0264623, -0.042568684) * go_0(1.0, -1.0); + result += mat4(0.023253636, -0.10328209, -0.16303001, -0.048888057, -0.039046, -0.111786336, -0.16389178, -0.070566714, 0.06927663, -0.06075797, 0.058570758, 0.08614872, -0.06420862, -0.11052116, -0.17195828, -0.0487142) * go_0(1.0, 0.0); + result += mat4(0.007835351, -0.11952224, -0.055611454, 0.06253066, -0.16406657, -0.026589788, -0.04881448, -0.072442584, 0.15065135, -0.020272309, 0.106116734, 0.10159893, -0.07763442, -0.1154798, -0.068373024, -0.019201068) * go_0(1.0, 1.0); + result += mat4(0.007881484, -0.018956061, -0.10238142, -0.065618366, -0.085468605, -0.10829776, 0.04466075, -0.033923257, -0.030379139, -0.112352885, -0.16573362, -0.0046788733, 0.10192286, 0.012241325, -0.008367136, 0.13939787) * go_1(-1.0, -1.0); + result += mat4(-0.12548573, -0.17437999, 0.044533756, -0.028276276, -0.025529345, -0.19759917, 0.018058592, -0.0155923525, -0.10641326, 0.0409181, 0.03527669, 0.047415253, 0.020718088, -0.30797186, -0.21207485, 0.0036288712) * go_1(-1.0, 0.0); + result += mat4(-0.088835835, -0.04088323, 0.09541493, 0.0036682652, -0.051487926, -0.040323682, -0.04281542, 0.04629765, -0.03342067, 0.08957436, 0.004126199, -0.008449139, -0.036389407, -0.14960203, -0.07720017, 0.07967078) * go_1(-1.0, 1.0); + result += mat4(0.1275389, 0.071911804, -0.089651175, 0.06027813, 0.05242023, -0.17800786, 0.033388127, 0.047203768, -0.0061615775, 0.18713911, -0.07540493, 0.033642605, -0.1332734, -0.033441074, -0.3789655, -0.20124121) * go_1(0.0, -1.0); + result += mat4(-0.21529193, -0.07309391, 0.13345052, -0.19792062, 0.017011393, -0.21173282, 0.07146319, -0.031750828, 0.13061215, -0.15527315, -0.16700245, 0.007335491, -0.2172841, 0.2143339, -0.22815406, 0.14065409) * go_1(0.0, 0.0); + result += mat4(-0.07513899, -0.034861445, 0.13694373, -0.076085225, 0.25725672, -0.0961054, 0.05299114, 0.12998691, -0.13058788, 0.06323388, 0.22868565, 0.10022399, 0.20160815, 0.08419191, -0.45523426, 0.038634546) * go_1(0.0, 1.0); + result += mat4(-0.03069317, 0.0020776265, -0.13730045, 0.017589461, -0.08978155, 0.034737073, 0.024451151, -0.13444564, 0.08189186, 0.0021741083, -0.07135305, -0.21313664, 0.18004654, -0.071943365, -0.062959984, 0.042037543) * go_1(1.0, -1.0); + result += mat4(-0.16266273, 0.032375176, -0.020130523, -0.019933598, -0.09530369, -0.055704728, -0.013548029, 0.15418105, -0.11459221, -0.009273215, -0.07004744, 0.08151815, 0.013939583, 0.0688238, -0.08441118, -0.09257367) * go_1(1.0, 0.0); + result += mat4(0.0012220248, -0.03341076, 0.014033425, -0.041355435, 0.1678779, -0.108265966, 0.03699756, -0.057082288, -0.026414966, -0.043634232, -0.07064977, 0.083690174, -0.014152075, 0.024385598, -0.15039313, 0.087886184) * go_1(1.0, 1.0); + result += mat4(0.03341343, -0.023580177, 0.017034482, 0.019147007, 0.003610678, 0.07257288, 0.027795065, -0.008015539, -0.020708026, 0.08782355, 0.20555335, 0.15255499, 0.030730275, 0.030919343, 0.055893462, -0.05121374) * go_2(-1.0, -1.0); + result += mat4(-0.07056404, 0.0008074058, 0.06927488, 0.0112707745, -0.03385172, 0.14753868, -0.02791015, 0.08394996, 0.025785098, 0.18524182, 0.11470624, 0.09741343, 0.032812912, 0.0019922904, -0.06400856, -0.056387126) * go_2(-1.0, 0.0); + result += mat4(0.013094418, 0.04240805, -0.13005644, -0.022992892, 0.026921153, 0.15785399, -0.12916863, -0.022955244, 0.13405393, -0.04121011, 0.36054406, 0.21023643, 0.030884495, 0.060173687, 0.07046953, 0.13063504) * go_2(-1.0, 1.0); + result += mat4(-0.17606279, 0.091486335, 0.11436753, 0.00015786696, 0.10205861, 0.082999766, -0.06630661, 0.040624302, 0.14982021, -0.044264138, 0.041062187, 0.086487375, -0.014876001, 0.21616699, 0.031135587, 0.11567944) * go_2(0.0, -1.0); + result += mat4(0.009459851, 0.092873424, -0.06803694, 0.10354333, 0.10086275, -0.25290945, 0.022528645, 0.14624892, -0.073030144, 0.10012705, -0.12167824, -0.19823883, -0.15097004, -0.038354833, 0.09062165, 0.094296865) * go_2(0.0, 0.0); + result += mat4(-0.058591783, -0.028607288, -0.20450185, -0.19339508, 0.16992015, -0.14210172, 0.011878018, 0.005437034, -0.048708122, 0.07122096, 0.3077209, 0.1362555, 0.032628812, -0.0398259, 0.124816954, 0.10254738) * go_2(0.0, 1.0); + result += mat4(0.05892028, 0.014137905, -0.07128729, 0.11104966, -0.05478398, -0.05298077, -0.17213196, -0.15966077, 0.085253194, -0.041901764, -0.0047290125, -0.15192038, 0.010950019, 0.103487924, 0.057453156, 0.19038135) * go_2(1.0, -1.0); + result += mat4(0.015610098, 0.075018175, 0.0012223121, 0.02704537, -0.059558786, -0.00981017, 0.035760045, 0.026199872, -0.07363584, -0.005702127, -0.002411957, -0.024275424, 0.104548156, 0.02570165, -0.027506622, 0.1147194) * go_2(1.0, 0.0); + result += mat4(-0.025113866, -0.0028404803, -0.09208876, -0.018119304, 0.060479216, 0.054358874, -0.0009980871, -0.06746933, -0.005560316, -0.09528241, 0.04668353, 0.102816455, 0.007219119, 0.12849133, 0.03796823, -0.07405976) * go_2(1.0, 1.0); + result += mat4(0.025279725, -0.2086932, -0.104468234, -0.018136755, -0.030640496, 0.023590315, -0.03503084, -0.006554279, 0.018687204, 0.059086647, 0.02467806, 0.004853845, -0.053034738, 0.015948862, 0.0058519407, -0.013386711) * go_3(-1.0, -1.0); + result += mat4(-0.14925107, -0.0009474308, 0.1585367, -0.012372946, -0.044659458, -0.053634737, -0.05216601, -0.0592839, -0.054201476, -0.015165192, -0.17266753, -0.024070794, 0.11370013, 0.031887148, 0.057068843, 0.15175273) * go_3(-1.0, 0.0); + result += mat4(0.1118406, 0.02640981, -0.15138902, 0.06516595, -0.05368937, 0.018493345, -0.06337737, -0.012523588, -0.030711057, -0.004243965, -0.10415173, -0.1297656, 0.036850087, 0.031256188, -0.06911153, -0.002682897) * go_3(-1.0, 1.0); + result += mat4(-0.042692896, -0.08249505, 0.19178525, -0.19799644, 0.10422664, 0.04309992, -0.021501752, -0.07692858, -0.01206334, -0.02407162, -0.036461856, -0.041852392, -0.076257735, 0.11912031, 0.005696978, -0.042241532) * go_3(0.0, -1.0); + result += mat4(-0.02871122, -0.275253, -0.06026321, 0.041147415, 0.00022554948, -0.1900363, 0.013367722, 0.011928886, 0.073590994, 0.026705895, 0.055335205, 0.08072782, -0.055277143, -0.15064028, 0.011789763, -0.16611154) * go_3(0.0, 0.0); + result += mat4(0.05368454, -0.10991119, 0.051114134, 0.11979519, 0.013257083, -0.005322003, 0.08496699, -0.05037192, 0.09517694, 0.12286991, 0.05019745, -0.0038502123, 0.08148237, -0.06907752, 0.0064364313, 0.06999926) * go_3(0.0, 1.0); + result += mat4(-0.052517924, -0.14661871, -0.056497082, 0.1144383, -0.017861186, -0.0060358653, -0.1314563, -0.025628474, -0.09131563, 0.047019433, 0.050449356, 0.04904481, -0.03492852, -0.009225151, 0.039983496, -0.036155675) * go_3(1.0, -1.0); + result += mat4(-0.08112401, 0.012658392, 0.16082676, 0.08919791, 0.07435944, -0.106316976, -0.010990006, -0.022582484, -0.0007324526, 0.18405382, 0.117646195, 0.009590701, -0.05057144, -0.08963242, -0.091133885, -0.06288282) * go_3(1.0, 0.0); + result += mat4(0.041868895, 0.012034553, -0.08494676, 0.032575436, 0.010422759, 0.06013177, -0.018280506, -0.059219655, 0.025697298, 0.11670765, 0.04770585, -0.0034011765, -0.04785896, -0.000260945, 0.024434252, 0.07608657) * go_3(1.0, 1.0); + result += mat4(0.0487557, 0.043031365, 0.02341455, 0.036415786, -0.053806238, 0.07092269, 0.10875814, -0.092647836, 0.014732621, -0.0010029125, -0.07482472, 0.016473573, -0.034810837, 0.079141185, 0.1312811, -0.036030013) * go_4(-1.0, -1.0); + result += mat4(0.010378125, 0.012537317, 0.06153961, 0.09208961, -0.0007830361, -0.060240563, -0.13480729, -0.13885787, -0.14105716, 0.04920337, -0.031995706, -0.13736074, 0.18244028, -0.0071414276, -0.17461161, 0.06479701) * go_4(-1.0, 0.0); + result += mat4(-0.038390495, 0.055263612, 0.02370651, -0.04647334, 0.11870489, -0.06032031, -0.19890672, 0.021211248, -0.14139023, -0.052458048, -0.0075077745, -0.022109684, 0.102123305, -0.08499851, 0.029855985, 0.024451595) * go_4(-1.0, 1.0); + result += mat4(0.09861641, 0.0069827167, 0.011803958, -0.026153803, -0.0060246573, -0.03787462, 0.043360688, 0.012235505, 0.017045997, -0.256788, 0.017880265, -0.034849543, -0.111704394, 0.17131205, 0.101895064, -0.15821253) * go_4(0.0, -1.0); + result += mat4(-0.08342609, -0.10629229, -0.015619444, -0.06318196, -0.115525015, -0.022523794, -0.027760634, -0.074508704, -0.046273187, 0.09818472, -0.02930276, 0.14277627, 0.15965527, 0.039112113, -0.16981691, -0.039574727) * go_4(0.0, 0.0); + result += mat4(-0.076295614, 0.002619374, -0.084814966, -0.06804759, 0.074534595, -0.11113554, 0.10076573, -0.13119984, 0.11308077, 0.111851715, -0.044262107, -0.0763218, -0.08360489, -0.10004514, 0.054715097, -0.119938605) * go_4(0.0, 1.0); + result += mat4(0.028483238, -0.020847226, 0.018413404, -0.02044137, -0.020564802, -0.046718765, 0.008471827, 0.119635455, -0.10286575, -0.11242132, 0.040438928, 0.18718356, 0.10018274, -0.13947287, -0.05125511, -0.024061255) * go_4(1.0, -1.0); + result += mat4(-0.036925066, 0.072045416, -0.05890915, -0.03136949, 0.06360041, -0.044191074, -0.20800789, 0.13599691, -0.051647387, -0.039340172, 0.02642389, -0.07103979, 0.15048401, -0.08553134, -0.008369293, -0.13114177) * go_4(1.0, 0.0); + result += mat4(-0.006130381, 0.04878346, -0.03107036, 0.03386889, 0.007767785, 0.009589193, -0.016151797, -0.06341557, -0.0420232, -0.020952266, 0.13160032, 0.08174703, -0.024778334, 0.05628847, -0.16828674, -0.021963263) * go_4(1.0, 1.0); + result += mat4(-0.10537195, -0.05939119, -0.025755845, 0.028216267, -0.071175165, -0.03789729, 0.0989378, 0.09601511, -0.063779436, -0.0053181713, 0.11608942, 0.037121516, 0.033576798, 0.032970928, -0.057529524, 0.0032640323) * go_5(-1.0, -1.0); + result += mat4(0.14286838, -0.1736398, -0.14800534, -0.08191206, -0.03953447, 0.23950607, -0.08597526, 0.08467724, -0.026279557, 0.05087598, -0.018359046, -0.059996203, -0.05042417, -0.07892299, -0.008090301, 0.08850499) * go_5(-1.0, 0.0); + result += mat4(-0.050231155, 0.022899833, -0.07956835, 0.056238122, 0.03741446, -0.033486012, -0.013336828, -0.039197847, 0.060159415, 0.12715352, -0.006698417, 0.006547076, -0.042515744, -0.027913654, 0.106082916, 0.078032985) * go_5(-1.0, 1.0); + result += mat4(-0.049618073, -0.034503065, 0.11388358, 0.17953554, -0.033589587, 0.036219664, 0.13397391, 0.14855874, 0.03990018, 0.13616882, 0.099754974, 0.24648736, 0.10884145, -0.27241188, -0.117821656, 0.0017401687) * go_5(0.0, -1.0); + result += mat4(0.021536272, 0.08642576, 0.037195385, -0.10996606, 0.12408479, 0.20812504, -0.036405202, 0.021270754, 0.002413637, -0.02607408, 0.047168825, -0.13180013, 0.08296119, 0.02184476, -0.04683944, 0.09263053) * go_5(0.0, 0.0); + result += mat4(-0.015811976, 0.032513253, 0.01968631, -0.006789273, -0.067220315, 0.018724639, 0.12747523, -0.08240558, 0.118411385, 0.11782252, -0.09517592, 0.12042714, -0.18742143, -0.036123615, 0.10736133, -0.08510149) * go_5(0.0, 1.0); + result += mat4(-0.104765184, 0.045517094, 0.041404158, -0.022314396, 0.003119899, -0.012113332, 0.06884947, 0.011183224, -0.050625607, 0.13943316, -0.033125933, 0.13191839, 0.023964286, 0.09083119, -0.099653915, 0.1721858) * go_5(1.0, -1.0); + result += mat4(0.06667882, 0.0877956, -0.1648527, -0.019580912, 0.03860593, -0.0009395115, 0.19213086, 0.0078106583, 0.0988048, 0.00043990058, -0.04125728, 0.0703245, -0.122475274, -0.033983942, -0.054373935, 0.14734876) * go_5(1.0, 0.0); + result += mat4(-0.056236964, -0.0061519835, -0.11115169, -0.05109547, 0.012102874, -0.108630724, -0.06607494, -0.15338409, 0.08441223, 0.015194968, -0.08372225, -0.016544623, -0.09700588, -0.05880861, 0.048582815, 0.076476656) * go_5(1.0, 1.0); + result += mat4(0.13776554, -0.052936643, 0.019647487, 0.0803212, -0.05559324, 0.035937853, -0.09924392, -0.11537048, -0.031881984, -0.13222241, -0.14957231, 0.022755388, -0.027397433, -0.03289762, 0.14141852, -0.03856619) * go_6(-1.0, -1.0); + result += mat4(-0.027278412, -0.08284734, -0.0026741424, -0.15944882, -0.13501692, 0.13683084, -0.08532989, -0.11161998, -0.054424882, 0.05800376, 0.006450865, -0.043620687, 0.08602417, -0.0441996, 0.032869156, -0.14823464) * go_6(-1.0, 0.0); + result += mat4(-0.009657575, 0.019114481, -0.017283678, -0.010072907, 0.04887251, 0.12496577, -0.011754461, 0.050500505, -0.013373958, 0.013354773, 0.029242652, -0.1336298, -0.1537079, 0.05677135, -0.00025009143, -0.07087617) * go_6(-1.0, 1.0); + result += mat4(-0.064487666, 0.3833942, 0.07499888, -0.07232146, -0.012026644, -0.28024527, -0.11542901, 0.0335399, -0.14551026, 0.07706906, -0.32337436, 0.1916734, -0.04155362, 0.12416085, 0.124845795, 0.173139) * go_6(0.0, -1.0); + result += mat4(0.073898025, -0.20087442, -0.026177447, -0.123689614, -0.06462293, 0.0655268, -0.093947105, 0.15252167, -0.049044438, -0.2487094, -0.10678368, 0.06719891, 0.030771753, -0.033488646, -0.06087604, -0.0046983394) * go_6(0.0, 0.0); + result += mat4(0.07337105, 0.012125323, 0.062068686, 0.014573014, -0.028191693, -0.0072010173, -0.10830296, -0.031032234, 0.017278565, 0.15247606, -0.03729882, -0.25167194, 0.018314663, 0.11340456, 0.12664345, 0.06373048) * go_6(0.0, 1.0); + result += mat4(0.10123864, 0.034113098, 0.12163688, -0.08201487, -0.06636731, 0.011072298, -0.07743282, -0.05912393, -0.062030002, -0.03242518, -0.14500205, 0.044862285, -0.02253723, 0.09928088, 0.21793252, 0.33012655) * go_6(1.0, -1.0); + result += mat4(0.02993751, 0.014383746, 0.06966778, 0.047888804, 0.07005458, 0.004509543, -0.06742165, 0.11573537, -0.1739774, -0.03920193, -0.18702276, 0.0046526985, 0.19641514, 0.13161592, 0.3338964, 0.08452334) * go_6(1.0, 0.0); + result += mat4(0.04609854, -0.015881665, -0.0079294285, 0.02657861, 0.15499793, 0.060544066, -0.15108198, 0.0006550436, -0.21288556, 0.013537893, -0.14667915, -0.13764863, 0.111430466, 0.098313995, 0.03934866, -0.040709537) * go_6(1.0, 1.0); + result += mat4(0.01575557, 0.110365376, -0.0371288, 0.053251684, 0.010210395, 0.069207594, 0.13639836, 0.032031704, 0.010463397, -0.012524667, 0.0056991763, 0.06042959, -0.045757174, 0.016123615, 0.032560863, -0.044926804) * go_7(-1.0, -1.0); + result += mat4(0.032096278, 0.12145507, 0.0071361787, 0.0064054704, 0.07929854, 0.14626405, 0.08352755, -0.064157896, 0.02674838, 0.0015989342, 0.017253343, 0.017584372, 0.06415425, 0.032211386, 0.052425314, -0.021224096) * go_7(-1.0, 0.0); + result += mat4(-0.0028588485, 0.008395203, 0.05465568, 0.07570458, -0.04314793, -0.026629142, -0.070622325, -0.09546035, 0.11359681, -0.13417086, 0.032110628, -0.03228526, -0.04069246, -0.025096787, 0.091136, -0.031508237) * go_7(-1.0, 1.0); + result += mat4(-0.09640368, 0.09025797, 0.039918896, -0.08550936, 0.17817599, 0.010808411, 0.20817462, -0.048559044, -0.020850636, -0.0570374, 0.16348915, -0.11251555, -0.015105217, 0.057098076, 0.04712703, 0.054102197) * go_7(0.0, -1.0); + result += mat4(0.14738365, -0.003500714, -0.13826074, -0.018422294, -0.060285367, -0.030951712, -0.011562778, -0.06650357, -0.023934143, 0.1775326, -0.15267935, -0.1525161, 0.07560726, -0.025668195, 0.023556855, -0.041194014) * go_7(0.0, 0.0); + result += mat4(0.029139442, -0.003239477, -0.08716659, 0.111837566, -0.008657237, 0.07745439, 0.040037196, -0.041069187, -0.11329177, -0.011007481, -0.05310564, 0.09779084, -0.09008995, -0.0243168, 0.037338905, -0.09701394) * go_7(0.0, 1.0); + result += mat4(-0.07903009, 0.093667746, 0.19312528, 0.08381446, 0.011933956, 0.106154636, -0.032793045, 0.035009373, -0.07801917, 0.045270134, 0.06788217, 0.0048924587, -0.044558134, 0.011507075, 0.018017467, -0.055140316) * go_7(1.0, -1.0); + result += mat4(0.16976239, -0.01553003, -0.01705739, 0.03858596, -0.0049418295, -0.112970755, 0.017095435, 0.012749947, 0.1280551, 0.046251047, 0.09894141, -0.04999836, -0.066941515, -0.018410202, 0.012274112, -0.05253831) * go_7(1.0, 0.0); + result += mat4(0.04575793, -0.028374217, 0.11475964, 0.12535663, -0.008098015, 0.06414253, 0.07119174, -0.011589727, -0.027308455, -0.064502135, 0.058660276, 0.079647355, -0.07786305, -0.0028918532, 0.08662991, 0.009141603) * go_7(1.0, 1.0); + result += mat4(-0.06572758, -0.02787416, -0.14234906, -0.017296555, 0.015555612, -0.14367816, 0.008122512, 0.006957724, -0.028010411, -0.036744803, 0.043893453, -0.011008589, 0.12574135, -0.04283378, -0.090457834, -0.07553403) * go_8(-1.0, -1.0); + result += mat4(-0.008518568, 0.07606125, -0.12869376, -0.052043673, -0.10871805, -0.013065079, -0.05764756, -0.021367943, 0.01955864, 0.033401143, -0.10848553, 0.07305825, -0.12323872, -0.18032722, 0.025824886, -0.15020397) * go_8(-1.0, 0.0); + result += mat4(-0.0037121738, -0.035729762, 0.050816752, 0.043678828, 0.03746141, 0.06848011, 0.022104677, -0.0055997795, 0.076091535, 0.004378326, 0.03515638, 0.021983122, 0.07813193, -0.0015230721, 0.09065004, 0.118295476) * go_8(-1.0, 1.0); + result += mat4(0.07074412, -0.1385215, -0.12606207, 0.028609358, -0.011605522, -0.09430896, 0.07647415, 0.026507745, -0.08281215, 0.042676542, 0.053245913, 0.2207012, -0.062067375, -0.0870901, -0.074340336, -0.09469978) * go_8(0.0, -1.0); + result += mat4(0.07762102, -0.040280715, -0.07493023, -0.1318729, -0.07614616, 0.07465706, 0.011662431, 0.13781011, -0.022527393, 0.035745207, -0.096200824, 0.0070643346, 0.043660577, -0.11191488, -0.03138543, 0.090094075) * go_8(0.0, 0.0); + result += mat4(-0.013964887, 0.010363963, 0.07191262, -0.0829104, 0.17538683, -0.033144612, -0.02125791, -0.011518183, -0.09983863, -0.025616664, -0.09147105, -0.053669717, -0.21337317, -0.15354706, -0.0718448, -0.22304805) * go_8(0.0, 1.0); + result += mat4(0.04420056, -0.10090975, 0.031569947, 0.03470538, -0.0036813458, -0.013265455, -0.056889914, 0.1066524, 0.0151702, 0.06005157, -0.017583331, 0.08430038, -0.018501299, -0.036312968, -0.010277279, -0.21999538) * go_8(1.0, -1.0); + result += mat4(0.04087802, 0.14486237, -0.03799331, -0.0926625, -0.06845606, -0.028196352, 0.027009577, 0.055904035, 0.010555561, 0.014958373, -0.03274619, -0.077591404, 0.033812538, 0.019690458, 0.03359833, -0.28944182) * go_8(1.0, 0.0); + result += mat4(0.11647528, 0.12951498, -0.05771055, -0.091486864, 0.034907598, -0.0030996082, 0.08349837, -0.022960749, 0.021309365, 0.027397644, 0.06503892, -0.024195915, -0.07038017, -0.110640444, 0.08167904, -0.053956065) * go_8(1.0, 1.0); + result += mat4(0.04372187, -0.014890846, 0.030876832, 0.005183268, -0.03773493, -0.0049523655, -0.13056865, 0.011849769, -0.035963655, 0.086398676, 0.10399313, 0.121177845, 0.062307674, 0.014804274, 0.13519627, -0.15734093) * go_9(-1.0, -1.0); + result += mat4(0.06270554, -0.10448038, 0.10387433, 0.037096098, 0.06353613, -0.2087482, -0.09397193, 0.101207666, -0.071682766, -0.20635937, 0.06152001, 0.0775382, -0.029367838, -0.049260423, -0.015819404, -0.22794764) * go_9(-1.0, 0.0); + result += mat4(-0.07975611, -0.13066694, 0.062664986, 0.08108414, -0.012226212, 0.075787455, -0.028298862, -0.047599275, 0.037168268, 0.13499227, -0.046876244, -0.0004290019, -0.07614362, -0.018529575, 0.029900322, -0.2140864) * go_9(-1.0, 1.0); + result += mat4(-0.004233121, 0.019047871, 0.030410836, -0.118899375, 0.029905774, -0.19907829, -3.0031915e-05, -0.061281253, -0.041311514, -0.047355343, -0.03591193, -0.036588125, -0.14483295, 0.125592, -0.051161528, -0.18530564) * go_9(0.0, -1.0); + result += mat4(-0.0013798283, 0.03669605, -0.05334034, -0.0057405806, -0.10062645, -0.03173633, 0.16853282, -0.27611253, -0.021475406, 0.031351935, 0.010960391, 0.140291, 0.20861414, -0.015575703, -0.05138634, 0.2110561) * go_9(0.0, 0.0); + result += mat4(-0.033924203, 0.03210479, 0.06908555, 0.054515798, 0.07332254, -0.11803057, -0.1892179, -0.11876434, 0.12660997, 0.2300797, -0.050066598, -0.17719114, -0.1316707, -0.11148541, -0.21429071, -0.28844672) * go_9(0.0, 1.0); + result += mat4(0.0801727, 0.014109311, 0.026903018, -0.036585886, -0.08323533, 0.001177735, 0.08436438, -0.03467472, -0.011911298, 0.007684363, 0.08533035, 0.05779875, -0.04243151, -0.038369488, 0.087331034, 0.042095695) * go_9(1.0, -1.0); + result += mat4(0.017717937, -0.033807732, 0.18295978, -0.08258257, 0.0053144027, -0.08301678, 0.103598915, 0.010985296, 0.16911945, -0.098946266, -0.045162726, -0.027147137, 0.09161604, 0.028441563, -0.00619679, 0.056958336) * go_9(1.0, 0.0); + result += mat4(0.017140677, -0.051757205, -0.015921509, 0.007633061, 0.12797745, -0.06414448, -0.009600306, -0.0015806507, 0.012253577, 0.02996018, -0.06196286, -0.0798213, -0.01852956, -0.09650337, 0.1283044, -0.04131959) * go_9(1.0, 1.0); + result += mat4(-0.019013386, -0.01101409, 0.0018240294, 0.09458199, -0.0052628797, 0.0103022875, -0.17696817, 0.021219578, -0.040432002, 0.006109138, 0.043556165, -0.020321526, 0.06994259, -0.045879155, 0.0074202423, -0.07321243) * go_10(-1.0, -1.0); + result += mat4(-0.13378519, 0.113363676, 0.10865509, -0.09366422, -0.07324081, 0.0029385458, -0.15210779, 0.07633753, 0.045514844, -0.0017260545, 0.034837127, -8.464822e-05, -0.045607667, 0.116768576, 0.07218652, -0.047912564) * go_10(-1.0, 0.0); + result += mat4(0.006481794, 0.09362028, 0.047157843, 0.0010180526, 0.029228318, 0.01581854, -0.13255803, 0.073627606, 0.09431813, 0.07132061, 0.07039797, -0.00284305, -0.08673728, 0.015395145, -0.15833478, -0.047947306) * go_10(-1.0, 1.0); + result += mat4(0.009914312, -0.16487928, -0.15010275, -0.28573194, -0.070994526, -0.07262389, -0.2207336, 0.056930132, -0.17332745, -0.07003511, 0.09353054, -0.09416084, 0.03118232, 0.15372173, -0.026521757, 0.123656) * go_10(0.0, -1.0); + result += mat4(-0.14514378, -0.03083442, 0.0016703903, -0.07165909, 0.081610695, -0.0014907691, 0.009103694, 0.011212978, -0.1061739, -0.0379394, 0.05888639, -0.10466225, -0.13205664, 0.074252844, 0.0032393865, -0.02634363) * go_10(0.0, 0.0); + result += mat4(-0.026916346, 0.008441376, 0.059570994, -0.12664525, 0.12565126, -0.07785502, -0.122168474, -0.030150527, 0.11903849, -0.0992599, 0.18073174, 0.051767893, -0.14959627, 0.004044785, 0.15121861, 0.16206947) * go_10(0.0, 1.0); + result += mat4(0.03653998, -0.024239745, 0.02813314, -0.015828544, -0.04878819, -0.07809865, -0.006367401, 0.007630891, 0.0981032, -0.015401163, 0.06639808, 0.097982354, -0.115853764, 0.07017812, 0.10402508, -0.011182731) * go_10(1.0, -1.0); + result += mat4(0.06496927, -0.018879699, 0.007150441, 0.09561157, -0.03019065, 0.06516263, -0.09582105, 0.049994342, 0.00073441875, 0.03121817, 0.06486874, -0.018686142, 0.017000668, 0.057988003, -0.0027845122, 0.10805613) * go_10(1.0, 0.0); + result += mat4(-0.03881939, 0.076584905, -0.01492404, 0.033622492, -0.11037585, -0.07232699, -0.08808092, -0.096008874, 0.07500696, 0.004172255, -0.01156086, -2.6804833e-05, -0.10544993, 0.0137853585, 0.13452797, 0.10919218) * go_10(1.0, 1.0); + result += mat4(0.1067839, 0.11458547, -0.15210697, 0.106905654, -0.07013997, 0.02439542, -0.03617087, 0.08792794, -0.026095055, -0.113202445, -0.061814103, -0.057736594, -0.0825329, 0.016664699, 0.12505697, -0.07956851) * go_11(-1.0, -1.0); + result += mat4(-0.0023664774, 0.030477716, -0.011014069, 0.11375161, 0.0972406, -0.1296506, 0.020159204, 0.19450316, -0.14332211, 0.1794009, 0.07538832, 0.22721584, -0.04874296, 0.043102115, 0.030196369, 0.013487852) * go_11(-1.0, 0.0); + result += mat4(0.06857275, 0.10448576, -0.013017544, 0.07311069, 0.101253785, -0.11299885, -0.035548594, 0.13139476, 0.0020682, -0.14186527, 0.044361796, 0.078766696, 0.06331404, 0.13389412, -0.04084606, -0.0872372) * go_11(-1.0, 1.0); + result += mat4(0.05418989, -0.09774494, -0.05101834, 0.06209719, 0.0017429863, 0.07042637, 0.056179468, 0.08281986, -0.13659456, -0.09141693, -0.026036166, -0.20621227, 0.16456048, -0.010656735, 0.0590252, 0.02991398) * go_11(0.0, -1.0); + result += mat4(-0.05809635, 0.026004037, 0.105304465, 0.1478988, -0.124559194, -0.13915893, -0.07614174, -0.030510869, -0.023634667, -0.07030466, -0.11203651, 0.10693823, 0.0061113364, -0.18696493, 0.13469142, -0.113276646) * go_11(0.0, 0.0); + result += mat4(0.23620829, 0.15531069, 0.12814721, 0.12327402, 0.0057051536, -0.09845884, -0.0878965, 0.20906226, -0.018309865, -0.098378375, 0.18283126, -0.043777615, 0.1285454, -0.07850623, -0.17400229, -0.23010467) * go_11(0.0, 1.0); + result += mat4(-0.04278017, 0.016623903, -0.10238115, 0.001230995, 0.034115463, -0.03978448, -0.016921068, -0.0013315293, 0.051550284, -0.08364091, 0.07625796, 0.034139283, -0.017048268, 0.0010402843, 0.01368044, 0.0369401) * go_11(1.0, -1.0); + result += mat4(-0.20118453, 0.019896206, 0.17102875, -0.027242621, 0.011553064, 0.07881877, -0.1011587, -0.036561944, -0.18488441, 0.033972885, 0.16720103, 0.023408182, 0.0817855, -0.029636094, 0.07032277, -0.27195182) * go_11(1.0, 0.0); + result += mat4(0.074986465, 0.0776098, 0.0077854274, -0.0011979108, -0.06837842, 0.050415438, 0.03322783, 0.11533592, -0.09028456, -0.014625525, 0.021684105, -0.025572475, 0.18052468, 0.11677459, -0.07460317, 0.07732749) * go_11(1.0, 1.0); + result += vec4(0.10080894, -0.0063164784, -0.01402726, 0.1341257); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x120 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_21_tf3 +//!BIND conv2d_21_tf4 +//!BIND conv2d_21_tf5 +//!BIND conv2d_23_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!SAVE conv2d_24_tf +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.10701419, -0.19440664, -0.13657895, -0.117495134, 0.11351926, -0.08210127, 0.0051790676, 0.22163984, -0.12849367, -0.118760884, 0.028440215, 0.06271742, -0.05561763, -0.16148782, -0.052592654, -0.22535303) * g_0; + result += mat4(-0.123711504, -0.14676294, -0.115391895, 0.080983736, -0.017832119, -0.063273184, 0.059941225, -0.049034536, -0.052219674, 0.036749475, -0.29203734, -0.02856495, 0.22648478, 0.015175415, 0.21293166, -0.20832887) * g_1; + result += mat4(-0.081328556, 0.07598546, -0.13756523, -0.06107587, 0.25113305, -0.11791683, 0.113452606, -0.0078082574, -0.07442993, -0.2974806, -0.056567345, -0.21749294, 0.013611423, -0.032841083, -0.076977916, 0.19821857) * g_2; + result += mat4(0.10560456, 0.015013695, 0.13627833, 0.032404233, -0.02131817, -0.14500482, 0.120675825, 0.031823736, 0.11649639, 0.082596324, 0.08127175, -0.026048733, -0.012239797, 0.08369006, 0.1273803, 0.12210886) * g_3; + result += mat4(-0.0892015, 0.07059692, 0.069719285, -0.061874084, 0.044701215, 0.09245424, -0.022817707, -0.02148644, 0.18068357, -0.11995518, 0.24286029, -0.045054384, 0.07323844, 0.06554761, -0.16207513, 0.07595062) * g_4; + result += mat4(0.18337601, 0.07568856, -0.09610938, -0.06572019, -0.23225725, -0.045913246, -0.16005549, 0.10841484, -0.047294065, -0.0044971597, -0.11600348, -0.0985696, 0.01994268, 0.009345386, -0.12112187, -0.07728449) * g_5; + result += mat4(-0.02642385, 0.12577803, 0.18099304, 0.09237617, -0.14517787, 0.015473747, 0.01148567, -0.1976294, 0.13244452, 0.026473833, -0.04026099, -0.08005897, 0.09972515, 0.014148667, 0.17150447, 0.07458103) * g_6; + result += mat4(0.103025176, -0.14280592, 0.011362381, -0.002615672, -0.0019504991, -0.1244238, -0.176323, -0.0409311, -0.13593708, 0.09121169, 0.16169107, 0.064790055, -0.17050834, 0.004790829, -0.20973155, 0.040783066) * g_7; + result += mat4(-0.08482106, -0.06313967, 0.053659916, -0.045122232, -0.173445, -0.10196347, -0.21512675, 0.030526979, -0.04609878, 0.02864437, -0.13620801, -0.05330683, 0.10560492, -0.086872876, 0.2332013, -0.11290048) * g_8; + result += mat4(-0.12032245, 0.083415076, 0.013942395, 0.12558693, -0.09643306, -0.08665224, -0.08364215, -0.15714419, -0.012963433, -0.018926837, 0.17045903, -0.03450577, 0.05467565, 0.1176962, -0.029627452, -0.17721933) * g_9; + result += mat4(0.06413174, 0.07644954, 0.015619154, 0.0406442, -0.09510097, 0.082857184, 0.07081759, -0.06094168, -0.10623127, 0.11465217, -0.21940763, 0.06440103, -0.14007917, -0.20644121, 0.062006976, -0.21401502) * g_10; + result += mat4(-0.090416506, -0.118475, 0.14939576, -0.01684449, 0.14943695, 0.03052435, 0.080091365, -0.0773867, 0.12932321, 0.12060135, 0.14845312, 0.04718311, 0.13032377, -0.16439119, 0.048975646, -0.118689515) * g_11; + result += mat4(-0.14264718, -0.20367233, -0.10508499, 0.014003226, 0.122711256, 0.12533264, -0.20902152, -0.08875033, -0.13099793, -0.022472287, 0.17604207, -0.13671063, -0.040429622, 0.6475939, -0.017244961, -0.23879616) * g_12; + result += mat4(0.1600574, -0.18023758, 0.1184686, 0.1348991, 0.037446063, -0.011027512, 0.17671643, -0.199355, 0.2725076, -0.20256595, -0.099972546, 0.23075041, -0.18912004, -0.008967372, 0.040337812, 0.0011864579) * g_13; + result += mat4(-0.0153634995, 0.02991675, -0.07471954, 0.025803613, -0.18960874, -0.23163852, -0.010988217, 0.22258236, 0.45717034, -0.041301187, 0.059016965, -0.1418097, -0.42032385, -0.009557171, 0.18662642, -0.11312428) * g_14; + result += mat4(-0.043423057, 0.18310834, 0.2572519, 0.1374164, 0.1505133, 0.18733694, -0.23037662, -0.10971462, -0.32504216, 0.15508054, 0.15461947, -0.3731339, 0.58277595, -0.2969173, 0.084127784, 0.054632857) * g_15; + result += mat4(-0.18833053, 0.3626468, -0.10378585, -0.18636744, -0.07215689, -0.0340568, -0.2014818, 0.39376506, 0.092539184, 0.019427503, 0.08621937, -0.029048063, 0.04170551, 0.03303338, 0.12886372, 0.22093524) * g_16; + result += mat4(0.13748164, -0.10530546, -0.059407894, 0.24885765, 0.25748453, -0.2322867, -0.047119506, 0.18135284, -0.12410837, 0.10820877, -0.076054335, 0.14305715, 0.07893051, 0.025212046, -0.06861065, -0.14078265) * g_17; + result += mat4(0.12955414, 0.10334285, -0.1339673, -0.07533481, -0.09940921, 0.07574928, -0.029290935, -0.0074044047, -0.047509745, 0.12616187, 0.15918884, 0.22636813, 0.0627, 0.13627514, -0.11840879, 0.25489545) * g_18; + result += mat4(0.12401844, 0.018437453, 0.14081988, 0.20443875, 0.22617432, -0.23241785, 0.019566217, -0.1470485, 0.06928665, -0.012560286, -0.11640072, -0.09635026, 0.19372395, -0.18137501, 0.095964, -0.36745393) * g_19; + result += mat4(-0.07812969, -0.13952559, -0.08575349, 0.1270944, -0.012434522, 0.09118943, -0.1844579, 0.057183933, 0.17054899, 0.055602986, 0.020217096, -0.17830917, 0.033711255, -0.040958434, -0.0656027, 0.08316588) * g_20; + result += mat4(0.008265117, -0.0440992, 0.18142514, -0.11072275, -0.035788976, 0.0045379996, 0.10519265, -0.0025924263, 0.1416068, -0.0076917615, -0.107548796, 0.14070505, 0.048619375, -0.08055219, 0.15124267, -0.14900993) * g_21; + result += mat4(0.023191221, -0.088463016, -0.03773182, 0.09279135, 0.030037321, -0.047114536, 0.0411644, 0.117513955, 0.02564984, 0.3634533, -0.07842253, 0.03945798, -0.09705065, -0.00073423475, -0.116537966, 0.09805546) * g_22; + result += mat4(0.16699894, 0.06968313, -0.025299484, 0.057924386, -0.13151881, -0.14149357, 0.019038316, -0.27727044, 0.02826252, -0.049611922, 0.19707511, 0.08938078, 0.107304506, -0.06147075, -0.021948906, 0.03686705) * g_23; + result += mat4(-0.012881243, -0.094086275, 0.23042965, -0.044305936, 0.07882307, 0.04138532, -0.04374878, -0.028959524, -0.014689813, -0.04448379, 0.033379626, -0.010935875, 0.049693886, -0.012109875, -0.07495743, 0.07254774) * g_24; + result += mat4(0.1349909, 0.113079466, -0.17218146, -0.082038075, -0.041794095, -0.12584618, 0.012202269, -0.07666811, 0.016668953, 0.16685286, 0.062669456, -0.02282906, 0.08557955, -0.07436991, 0.108987726, -0.02062727) * g_25; + result += mat4(0.0975699, -0.042854395, -0.27839357, -0.02017465, 0.07523807, 0.06038207, 0.19882318, -0.042623498, -0.1643381, -0.06454315, 0.12813903, 0.018587556, -0.07143471, -0.055071846, 0.007254701, 0.08625719) * g_26; + result += mat4(0.0040934216, 0.21434385, 0.15655868, 0.17250434, -0.0183287, 0.05514319, -0.19112857, -0.07169756, 0.37303272, -0.03185245, -0.052846085, -0.033713702, 0.057584986, 0.06311142, -0.20161806, 0.013350911) * g_27; + result += mat4(-0.12516226, 0.13068974, -0.00090003706, -0.27179503, 0.11163459, -0.018370617, -0.077084556, -0.37971583, 0.10331944, -0.077023275, -0.07891338, -0.012240651, -0.25734505, -0.061364602, 0.13029832, 0.23223366) * g_28; + result += mat4(0.16159123, -0.09218027, 0.054632008, 0.115622655, 0.027251892, 0.047268346, 0.11801297, 0.08485814, -0.29647812, 0.119895175, 0.19110309, 0.1580456, 0.16836183, -0.09640805, -0.14934723, -0.16124077) * g_29; + result += vec4(-0.009459555, 0.08955687, 0.06774535, 0.11750715); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x120 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_21_tf3 +//!BIND conv2d_21_tf4 +//!BIND conv2d_21_tf5 +//!BIND conv2d_23_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!SAVE conv2d_24_tf1 +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.071940355, 0.2520996, 0.09685728, -0.0401572, -0.020982517, -0.04016773, 0.1032851, 0.15116775, -0.1194921, -0.13441806, -0.15435277, 0.00857813, 0.117160164, -0.013084895, -0.12161744, 0.044572134) * g_0; + result += mat4(0.082026035, -0.16376685, 0.045928918, -0.04447462, 0.10981917, 0.054794677, 0.07120542, 0.084866405, 0.045389425, -0.021687545, 0.028005822, -0.210078, 0.04063033, 0.115505874, -0.27422935, 0.21725571) * g_1; + result += mat4(0.22438343, 0.29941106, -0.012607681, 0.058178894, -0.08457912, -0.20864323, -0.07985059, 0.22438551, -0.06932785, 0.03345395, 0.28202337, 0.034280214, -0.1215527, 0.07437099, 0.20735577, -0.15139194) * g_2; + result += mat4(-0.14662248, 0.022648463, -0.005571487, -0.07256508, 0.06747346, 0.0043868935, 0.094813496, 0.10695963, -0.14902529, 0.063808665, -0.08206709, -0.060363546, -0.0005435626, -0.15917943, 0.061691567, 0.09855836) * g_3; + result += mat4(0.017799556, -0.009981281, -0.10833081, -0.13543043, -0.14525245, -0.06271629, 0.0726242, 0.07933559, -0.064622484, 0.08688535, -0.08111695, 0.013164932, 0.08823724, 0.006742534, -0.101684675, 0.017604306) * g_4; + result += mat4(-0.031298436, -0.08050973, -0.18454958, -0.07897026, -0.0374373, -0.23446067, 0.038722772, 0.014162436, -0.15375976, -0.2147507, -0.095423505, 0.20034626, 0.028895382, 0.039372966, 0.06964464, 0.10350529) * g_5; + result += mat4(0.21796271, -0.25407016, -0.098337315, -0.023319852, 0.030746967, 0.018345634, -0.010781914, -0.11792986, 0.28487346, 0.00467481, -0.040187147, 0.050997503, -0.060900237, 0.17249253, 0.055063184, -0.025005285) * g_6; + result += mat4(0.049115237, 0.09444041, 0.07742757, -0.004662866, -0.14920074, -0.15653574, 0.14555736, -0.07487493, 0.08641984, -0.06845398, -0.15090026, 0.14357427, -0.07476173, 0.009871881, 0.19720715, -0.08900054) * g_7; + result += mat4(-0.1306777, -0.12845808, 0.11419963, -0.006885182, 0.008033006, 0.06334985, -0.0060840836, -0.006333369, -0.02772289, -0.07669655, -0.07227849, 0.014051398, 0.111269996, -0.11380638, -0.10760507, -0.08484392) * g_8; + result += mat4(0.2309008, 0.0027662152, -0.036648475, -0.02116145, -0.052217614, -0.19290513, -0.08249262, 0.060923748, 0.1697141, 0.04970059, 0.11332741, -0.02550202, -0.055906452, 0.3661976, -0.09877092, 0.1200653) * g_9; + result += mat4(0.021928959, -0.050234713, 0.018235236, -0.050222646, 0.09582609, 0.021217717, -0.085548654, 0.10058183, -0.053230625, -0.082145125, 0.11671694, -0.07539133, -0.14239438, -0.13499749, -0.119287185, 0.11536136) * g_10; + result += mat4(0.14766274, 0.016457219, 0.14650516, -0.17780317, -0.0026669295, 0.25558603, 0.09041751, -0.0301739, 0.03781546, 0.31132954, 0.080671474, -0.066909626, 0.022474205, 0.031319484, -0.22102872, 0.18719581) * g_11; + result += mat4(0.08785325, 0.012904848, -0.16835691, -0.09674578, -0.25299898, 0.080151744, -0.04051892, -0.020169353, -0.16149361, 0.020387627, 0.12841122, -0.22339927, -0.18225776, 0.13121991, -0.094190426, -0.0002138417) * g_12; + result += mat4(-0.36095276, -0.21171942, 0.17676146, -0.022404185, 0.4154611, -0.19463924, -0.10602125, 0.2693611, 0.10176359, -0.150534, 0.018383717, 0.19981897, 0.14625713, -0.13406813, -0.16022418, 0.2644558) * g_13; + result += mat4(-0.06377917, 0.008183962, -0.006316106, -0.21600586, -0.26798826, -0.11782882, 0.06906469, -0.12426933, -0.27595305, 0.10574508, 0.3301182, -0.1685902, 0.17062853, 0.09983599, -0.08783116, 0.02585788) * g_14; + result += mat4(0.18317774, -0.12538116, -0.28490618, 0.08996663, 0.42957532, 0.26287696, 0.10370257, 0.14557624, 0.70839125, 0.28065285, 0.009297889, -0.080495015, -0.14877662, 0.15308489, 0.07313569, 0.1318443) * g_15; + result += mat4(0.08888086, -0.23179686, 0.17731842, 0.2988673, 0.021801222, -0.19859089, 0.011203003, -0.010040333, -0.054594494, -0.12354569, -0.21615268, 0.2763243, -0.099458195, -0.020375904, -0.13495544, 0.11390239) * g_16; + result += mat4(-0.09784923, 0.1944123, 0.2601614, -0.28403583, -0.12053281, 0.028450225, 0.35481617, -0.027033992, 0.12224312, 0.12257788, -0.03696105, -0.050443426, 0.19214073, -0.035758987, 0.17233865, -0.21286553) * g_17; + result += mat4(0.19778739, 0.19405492, 0.08939406, -0.06725612, 0.00286375, -0.071152225, 0.11470776, 0.1390715, -0.15622304, 0.06087436, 0.13643411, -0.046493623, 0.13816592, -0.13400874, -0.066770785, 0.09377127) * g_18; + result += mat4(0.093480326, 0.11511413, -0.014940799, -0.300682, -0.07999973, 0.03399139, 0.122863345, -0.21434176, 0.10897804, 0.0074770562, -0.007341148, -0.11243166, -0.030653583, 0.11616559, 0.018601365, -0.23593631) * g_19; + result += mat4(-0.07589857, -0.02816285, 0.10634287, -0.018159848, 0.10259108, 0.09316107, 0.114035785, 0.1632097, -0.16202134, 0.014525685, -0.057170212, 0.038775932, 0.18918377, 0.096198745, -0.26848194, 0.18337348) * g_20; + result += mat4(-0.2151602, 0.1066596, 0.14015315, -0.16308795, 0.11991323, 0.043978903, 0.0656563, 0.03562853, 0.1823667, 0.22206141, 0.09851152, 0.10862079, -0.1730631, 0.07102773, 0.17776415, -0.24044661) * g_21; + result += mat4(0.0060158237, -0.19177158, 0.10502828, -0.013080114, -0.08032154, 0.13057697, -0.076577656, 0.03263069, -0.11365605, -0.026887862, -0.09828686, -0.05051089, 0.04763855, 0.062761344, 0.013665174, 0.013192335) * g_22; + result += mat4(-0.024832191, 0.054555204, 0.04472656, 0.015691593, 0.042494036, 0.06770802, -0.016350098, -0.1738042, 0.18029715, 0.08776134, 0.1073352, -0.0917886, -0.083804026, 0.0037783678, 0.018796401, 0.011723983) * g_23; + result += mat4(-0.22104199, 0.046134423, -0.06569704, -0.19891003, 0.16334966, 0.3763836, -0.019122118, -0.19262604, 0.007953619, 0.035609093, -0.023634747, 0.05284935, 0.14042082, 0.012188833, -0.090246305, 0.09179504) * g_24; + result += mat4(0.03651659, 0.024162583, 0.04007273, 0.2573568, -0.09408693, -0.15685976, -0.052655444, 0.07787627, -0.052549917, 0.012946145, -0.17698365, 0.016063817, 0.09167271, -0.024874488, 0.07187681, 0.033850722) * g_25; + result += mat4(0.004172805, 0.022183372, -0.11286437, 0.08598362, -0.13067168, 0.16070427, 0.05422221, -0.029724583, -0.030735672, -0.00447319, 0.23366688, -0.016390052, 0.12756462, 0.24891639, 0.024162434, 0.080731995) * g_26; + result += mat4(0.089021474, -0.06563795, 0.27291998, -0.13451853, 0.122246146, 0.34007818, -0.18697657, 0.009945519, 0.05180866, -0.12638813, -0.1173521, -0.05986753, -0.0337749, 0.064504266, 0.0034679365, -0.1219767) * g_27; + result += mat4(-0.06837359, -0.07258382, 0.0140398, -0.07469804, 0.18686692, 0.19984262, -0.22008726, 0.26256636, -0.10768354, -0.18561411, 0.1427139, -0.030018665, 0.09759611, 0.103011966, 0.05294409, -0.016820678) * g_28; + result += mat4(-0.11673777, 0.051226504, -0.034002636, -0.2731483, -0.08450124, 0.31373835, 0.22628455, 0.03579624, 0.08832027, 0.11600223, -0.03500645, -0.23789707, -0.18811859, -0.2895229, -0.31334436, -0.09072995) * g_29; + result += vec4(0.028765388, 0.015914816, -0.010572618, -0.046241153); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x120 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_21_tf3 +//!BIND conv2d_21_tf4 +//!BIND conv2d_21_tf5 +//!BIND conv2d_23_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!SAVE conv2d_24_tf2 +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.092858694, -0.05931229, 0.08649155, -0.19388752, 0.09477594, -0.22718045, -0.1061536, -0.1075417, 0.070740245, -0.06802919, 0.011984387, 0.04561339, -0.123741224, 0.108184166, 0.08394222, -0.14939074) * g_0; + result += mat4(0.058254354, -0.0013696381, 0.016420096, -0.13577567, -0.08013081, -0.32121193, 0.10837322, -0.027337125, 0.006335759, -0.022232484, 0.08410539, -0.19057351, 0.124672756, 0.07544909, 0.25975785, -0.12386142) * g_1; + result += mat4(0.124638155, -0.047200475, 0.18284287, -0.066423684, -0.013056071, -0.10780445, -0.046076063, 0.16543722, 0.011813712, 0.18919142, -0.054241043, -0.14428662, -0.072056115, 0.22149223, 0.020946557, -0.19635367) * g_2; + result += mat4(-0.011655322, -0.02780763, -0.041065313, 0.07305037, 0.065463156, -0.055100318, 0.053504564, 0.12533133, 0.1791797, 0.07803201, 0.14791118, -0.17383428, -0.13258645, -0.057591084, -0.06590273, 0.24618948) * g_3; + result += mat4(-0.076750286, 0.16913669, -0.041372858, -0.04987621, -0.09025659, 0.04717571, 0.17061087, -0.0018001683, 0.088723816, -0.1515349, -0.09417965, 0.025807919, 0.10298056, -0.07137411, 0.0913601, -0.0032140615) * g_4; + result += mat4(0.076089844, -0.18487781, -0.031016396, 0.04298503, -0.07412648, -0.05946974, -0.029923726, -0.17263255, 0.044034805, 0.07122984, -0.022364214, -0.16337745, -0.3163445, 0.20027465, 0.006309955, -0.25441465) * g_5; + result += mat4(-0.05660039, -0.03776745, -0.062613666, 0.1953333, 0.027620526, -0.081940845, 0.13821705, -0.030160451, 0.30174896, -0.063806735, -0.21273777, -0.23096886, 0.028107658, -0.035367317, 0.06729705, 0.18349262) * g_6; + result += mat4(-0.024347452, -0.10386407, -0.0013563661, 0.09973845, 0.07293425, -0.04880119, -0.05229062, -0.18888217, 0.11884971, 0.05060733, -0.0013016739, 0.18116015, -0.038804606, 0.022207338, -0.043657467, 0.10695812) * g_7; + result += mat4(-0.16758966, 0.15170631, 0.12204208, 0.1287092, -0.032021195, -0.1063502, -0.08161841, -0.2446335, -0.02391331, -0.061028045, 0.13008249, 0.10459833, -0.04717144, 0.05381585, -0.33450723, 0.291269) * g_8; + result += mat4(0.07273305, 0.13187234, 0.04062448, 0.081797674, 0.00045577955, 0.09757571, -0.37391075, -0.17263971, 0.021420933, -0.07653126, 0.055799145, 0.04442693, 0.11818517, -0.044239108, 0.044269893, -0.41765675) * g_9; + result += mat4(0.018076504, -0.085451566, 0.09415942, 0.12273072, 0.41912425, -0.2747585, -0.07259103, 0.08299482, -0.20763668, 0.14662866, 0.026512189, -0.10415019, -0.09460718, 0.17926225, -0.1907316, -0.058848727) * g_10; + result += mat4(-0.13229714, 0.2401772, 0.08083883, 0.008972119, 0.090474635, 0.18910415, 0.14324625, 0.15242074, 0.16881411, -0.18706103, 0.1793161, -0.10074233, 0.2067493, -0.3289337, 0.13461551, 0.20269714) * g_11; + result += mat4(0.07219379, -0.11565219, 0.028837852, 0.26118317, -0.13906774, 0.10994847, 0.1192699, 0.097068354, -0.10574048, -0.010274859, -0.041781224, -0.0022481561, 0.12714253, -0.41399276, 0.19635102, -0.23090687) * g_12; + result += mat4(-0.100183904, -0.18720408, -0.13301018, 0.03502532, 0.031246057, -0.06721582, -0.17222083, -0.063806996, -0.08393857, -0.19553204, -0.05699341, -0.20882502, 0.048502672, -0.015325282, -0.14586648, 0.07136885) * g_13; + result += mat4(-0.09550682, -0.09559199, 0.0093339095, 0.20071933, -0.07908767, 0.19251561, -0.13115655, 0.0072511537, 0.14562629, -0.20998305, -0.2212794, 0.061366275, -0.10772557, 0.29247293, 0.25483248, -0.06853779) * g_14; + result += mat4(0.19130619, -0.08254158, -0.41616592, -0.12058406, 0.26799643, 0.018203866, 0.02795237, -0.026012532, -0.24163988, 0.27320904, 0.075838536, -0.43140167, 0.14748523, 0.2741325, 0.0313845, 0.0612638) * g_15; + result += mat4(0.32383236, -0.05585864, 0.087669775, -0.15189308, -0.07285363, -0.10978753, 0.038074855, -0.20369512, 0.0534748, 0.09033383, -0.3636552, 0.2022929, 0.1410257, 0.0006435122, 0.31075886, 0.09591187) * g_16; + result += mat4(-0.056077003, 0.22655378, -0.3908979, 0.3520772, 0.27514228, 0.028264234, -0.33393502, 0.12211863, -0.12077039, 0.3201821, 0.15064837, -0.2715489, 0.2161978, 0.2011329, -0.15005851, -0.19502445) * g_17; + result += mat4(-0.006493266, -0.067167185, 0.1981182, -0.2185078, -0.098532386, 0.0012275389, 0.014535081, 0.022241963, -0.065986834, -0.13995624, -0.08640626, -0.036836196, -0.24935777, -0.12563467, -0.22868343, -0.043145802) * g_18; + result += mat4(-0.24015582, -0.1428461, -0.10846771, -0.03822917, 0.25849542, 0.21787684, -0.10540706, -0.15437967, 0.09093761, 0.16064538, -0.040830817, 0.03802804, 0.07929484, 0.22184348, 0.17115451, -0.020434693) * g_19; + result += mat4(-0.16424751, 0.18149984, -0.08263852, 0.10497438, -0.0057385676, -0.18649873, 0.1049834, 0.0753644, 0.07605413, -0.024556413, 0.16013342, 0.006168524, 0.14073265, 0.02001347, -0.08537071, -0.24739261) * g_20; + result += mat4(0.014010803, -0.057850603, 0.0732021, -0.1718671, 0.024967216, 0.19706325, -0.14325745, -0.0021808648, -0.039533336, 0.058277003, -0.09344739, -0.004221897, 0.13857067, 0.081996195, 0.030180087, -0.013901144) * g_21; + result += mat4(0.024102923, 0.056380466, 0.008602807, 0.09951257, 0.04897817, 0.045386482, 0.13025592, -0.21351977, -0.11473196, 0.1844349, 0.07928108, 0.1533404, 0.07377011, -0.1464216, 0.096964546, -0.007197212) * g_22; + result += mat4(0.22597581, -0.13459527, 0.22883248, 0.14732298, -0.063105844, -0.034603957, -0.07247968, 0.19268765, 0.10675177, 0.0975782, 0.00033931955, 0.08774923, -0.12306441, 0.025208015, 0.04571016, 0.13542841) * g_23; + result += mat4(0.013317153, -0.09033908, 0.033545654, -0.054263383, 0.1317443, -0.05465494, -0.074301384, -0.30426916, -0.007050128, 0.12030467, -0.11348823, 0.19741662, -0.04095728, -0.017503742, 0.0642433, -0.28208658) * g_24; + result += mat4(0.02021165, 0.17795627, 0.043012455, 0.053738635, -0.017870188, 0.15490524, 0.040613562, 0.15851468, -0.12762383, 0.10450818, -0.0020172964, -0.25615835, -0.012736579, 0.06002046, -0.04626082, 0.019401643) * g_25; + result += mat4(-0.0025097467, -0.02072768, 0.034803562, -0.08400342, -0.14013165, 0.2091311, -0.03782157, 0.0023983517, 0.19771661, 0.04676574, -0.03392009, 0.20773077, 0.076976426, 0.04612587, 0.22233194, -0.13806564) * g_26; + result += mat4(-0.032217447, 0.073498376, -0.07565292, 0.05969695, 0.16941096, -0.3131595, 0.07141137, -0.15926841, 0.108835146, -0.0040562055, 0.15678787, -0.0012778786, -0.13674988, 0.034171615, -0.19931208, -0.13748777) * g_27; + result += mat4(-0.18563417, 0.106456436, 0.078709476, -0.1308007, -0.1398474, 0.11156628, -0.33099747, -0.19933923, -0.12798372, 0.04342623, 0.074146606, 0.21212427, 0.09915748, -0.09082417, 0.3366307, -0.23036873) * g_28; + result += mat4(0.14234035, -0.072425894, -0.18067764, 0.1100069, 0.10129257, 0.10165853, 0.18862309, -0.04466708, -0.037151866, 0.011230992, -0.013572791, 0.20083474, -0.18335798, 0.13396202, -0.2539405, 0.1323329) * g_29; + result += vec4(-0.02703924, 0.18005958, -0.12375494, 0.031321514); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x120 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_21_tf3 +//!BIND conv2d_21_tf4 +//!BIND conv2d_21_tf5 +//!BIND conv2d_23_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!SAVE conv2d_24_tf3 +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.011141579, 0.09674723, -0.13645004, -0.10970149, -0.04369547, 0.08311355, 0.021767681, -0.08375845, 0.022200847, 0.05360177, 0.16593163, -0.15328388, 0.08149341, -0.09137854, -0.040580057, 0.08350056) * g_0; + result += mat4(-0.0026481631, -0.004045956, 0.012659179, 0.09567999, -0.04221551, 0.10712957, -0.056656756, -0.27661186, -0.053574864, -0.089751564, -0.17745095, 0.16676143, 0.34287563, -0.13643502, 0.33259082, 0.27071705) * g_1; + result += mat4(0.18119478, -0.11287872, 0.24201767, -0.009600413, 0.048217695, 0.062931724, -0.06455807, 0.0013528515, 0.1764802, -0.08022894, 0.01977552, 0.014862132, -0.119611226, 0.06065237, -0.2003538, 0.057908155) * g_2; + result += mat4(0.10390714, 0.03061146, 0.07345203, 0.020925567, -0.03771494, -0.055771235, -0.10182023, -0.0453298, 0.030018989, 0.020321988, -0.13780262, -0.10419699, -0.1531079, 0.08695891, -0.10523552, 0.0031262166) * g_3; + result += mat4(0.013357037, 0.11706443, 0.02651922, 0.12551948, -0.03562916, 0.07041351, -0.22412951, 0.19341606, -0.06120095, 0.1594309, -0.25910634, 0.03911061, -0.030200286, 0.039532397, -0.04693854, 0.107756086) * g_4; + result += mat4(0.26856127, -0.062083863, 0.26156938, -0.06557537, -0.06786968, 0.061135814, -0.18566874, -0.11154961, 0.06399305, 0.068129785, -0.0010524218, 0.039409623, 0.0527229, 0.16223872, 0.11896118, 0.13470948) * g_5; + result += mat4(-0.09019031, -0.11750688, 0.08919765, 0.06305572, -0.110997446, -0.09387827, -0.024580022, -0.1923812, -0.011291289, -0.06320932, 0.15289676, -0.14364418, 0.041966986, 0.25329712, -0.19619554, 0.035929594) * g_6; + result += mat4(-0.06743388, -0.08509898, -0.07433386, -0.025805349, 0.01812382, -0.02492702, -0.2482932, 0.28510815, 0.119341426, 0.2147701, 0.06835619, -0.07081952, -0.038794495, 0.10975482, -0.2239901, -0.124213785) * g_7; + result += mat4(-0.026220966, 0.14319815, -0.1700538, -0.0335693, 0.07769912, 0.12722708, -0.26494396, -0.10431099, -0.08059116, 0.12723474, -0.15197968, 0.0060984325, -0.013070423, -0.25334156, 0.2920123, 0.110061795) * g_8; + result += mat4(-0.25060546, 0.057933453, 0.041256662, -0.11589921, 0.3209416, 0.12978804, -0.017460592, 0.19088507, 0.08740428, 0.038495142, 0.26864913, -0.08148351, 0.05588537, -0.027696, 0.47028908, -0.08718974) * g_9; + result += mat4(-0.028379083, -0.16510524, -0.0720884, 0.024243379, 0.030889094, -0.09380263, 0.10451546, -0.21832433, 0.20901899, -0.055639133, -0.051839713, 0.033683445, -0.029481068, 0.048284974, -0.08840896, 0.17702715) * g_10; + result += mat4(-0.13655269, -0.009485257, -0.27257246, -0.027732212, 0.11677922, -0.08578314, 0.1272782, -0.033684663, -0.070519574, 0.01601166, 0.11166362, -0.2742834, 0.17340335, -0.19997278, -0.040465057, -0.2970155) * g_11; + result += mat4(-0.20593609, 0.07950713, 0.05642528, 0.19129497, 0.3180778, -0.07194427, -0.19385284, -0.09050803, 0.23494293, 0.02127147, -0.014160815, 0.16873649, -0.045696944, -0.025910616, 0.10135493, -0.07330387) * g_12; + result += mat4(0.11845643, -0.06579577, -0.10600301, 0.12729774, -0.30510858, 0.0974965, 0.114875704, 0.06391382, 0.14807853, 0.22989006, -0.072495855, 0.1800837, 0.028062822, 0.044472497, 0.27929953, -0.037439365) * g_13; + result += mat4(-0.29070517, 0.2584094, -0.12230044, 0.29064023, -0.23902515, 0.29584745, 0.20774792, 0.41733524, 0.06608569, -0.04484478, 0.15128273, -0.3068231, 0.22654179, -0.080022156, -0.48213294, -0.037669115) * g_14; + result += mat4(0.17929457, -0.073897004, 0.033858683, -0.24681814, 0.38705662, -0.31330046, -0.3057931, -0.30628645, 0.06434401, -0.040364057, -0.30331135, 0.09151124, -0.15681383, 0.29307282, 0.28045842, -0.06732098) * g_15; + result += mat4(0.024120888, 0.06291463, -0.39767843, -0.199806, -0.18294619, 0.44507617, -0.20719141, 0.022910457, -0.04779181, 0.07508541, 0.12258552, 0.019429758, -0.10943762, -0.20337181, 0.072106324, -0.18230085) * g_16; + result += mat4(-0.010640077, -0.15392596, 0.042594627, -0.0009270454, 0.3621191, -0.28109482, 0.080440365, -0.2073678, 0.052669737, 0.01759761, -0.0909907, -0.0051524066, 0.025632787, 0.15993036, -0.04525641, 0.05836689) * g_17; + result += mat4(0.20725772, 0.05976848, 0.15562478, -0.22970834, -0.006273422, -0.0024398018, -0.15024984, -0.06983079, 0.037917525, -0.06959094, -0.30672732, 0.11463107, -0.103878215, 0.16795799, 0.123742215, -0.076316774) * g_18; + result += mat4(-0.041884482, -0.048946526, -0.040261485, 0.145805, 0.18649343, -0.0044576614, -0.2316234, 0.08005378, 0.13540603, -0.13486005, -0.048867103, -0.039551396, 0.015187719, -0.113004565, -0.09270747, 0.053628337) * g_19; + result += mat4(0.026232086, -0.05916773, 0.09088294, 0.059865057, -0.08295995, 0.04218031, 0.0016741708, 0.08783662, 0.12226684, -0.0601888, 0.14152455, -0.15758237, -0.118071996, -0.053882107, 0.22713134, -0.08549201) * g_20; + result += mat4(0.030266033, 0.08861499, 0.04543061, -0.09845329, 0.29042727, -0.1387298, -0.27544942, 0.06959186, -0.06818984, -0.07793028, -0.26279172, 0.051999256, 0.13853306, -0.028943995, -0.1616878, 0.0055545145) * g_21; + result += mat4(0.06571001, -0.15409341, -0.10983791, -0.10024373, 0.06786836, -0.034203686, 0.06702562, -0.13785091, 0.014078426, -0.118333764, 0.10679032, -0.11793583, -0.17936374, 0.08035579, -0.065410405, 0.012682481) * g_22; + result += mat4(-0.08627442, 0.09910777, 0.06451081, -0.032909464, 0.016304161, 0.11485424, 0.075068, 0.17560685, -0.21859545, 0.03553843, -0.029545823, 0.0020583326, -0.09749895, 0.10549555, -0.13807511, 0.04073702) * g_23; + result += mat4(0.013445668, -0.106096625, -0.14386144, -0.047453087, 0.030295242, -0.07128061, 0.18820919, -0.14116964, -0.08358127, 0.017694646, -0.22504877, -0.0870977, 0.159292, 0.1511803, 0.13363734, 0.059592243) * g_24; + result += mat4(0.09585648, 0.13820451, -0.025589576, 0.14250357, -0.098605, -0.033331417, -0.26585752, 0.046970017, 0.0064765653, 0.15291844, 0.2051226, -0.033412863, -0.15486592, -0.10399778, -0.11634391, 0.00032476272) * g_25; + result += mat4(0.09576212, -0.052482244, -0.11748363, -0.022807717, 0.18996853, -0.119998, -0.11650178, 0.15346055, -0.056865185, 0.17039599, 0.019453784, -0.15516305, -0.07541472, 0.05255179, -0.18442616, 0.13752738) * g_26; + result += mat4(0.08866666, -0.037314344, -0.08462723, 0.01123993, -0.048002165, 0.08966719, -0.008348263, 0.022855654, -0.13039067, -0.026170973, 0.22115219, 0.061224397, 0.16689171, 0.06845198, -0.08873581, -0.050191987) * g_27; + result += mat4(-0.08112671, -0.1593253, 0.19252764, 0.060990997, 0.29255992, 0.2258008, 0.05192984, -0.22563158, -0.005943522, 0.092420675, 0.12934043, 0.1422232, 0.0047882204, 0.034547567, -0.03979875, -0.13211358) * g_28; + result += mat4(0.19852357, -0.09415307, 0.18439335, 0.09917704, -0.0036918402, -0.11341272, 0.14594431, 0.036229003, -0.3779797, -0.1963225, -0.05158393, -0.286296, 0.09826625, -0.11089739, 0.08578653, 0.032530606) * g_29; + result += vec4(0.044129565, -0.091767386, -0.075459845, 0.066399455); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x120 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_21_tf3 +//!BIND conv2d_21_tf4 +//!BIND conv2d_21_tf5 +//!BIND conv2d_23_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!SAVE conv2d_24_tf4 +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.064318754, -0.18948539, 0.15593126, -0.06304488, 0.06629931, -0.12705792, 0.06512428, 0.063008524, -0.14651999, 0.097759366, -0.23798478, -0.24931762, -0.08670739, -0.040990945, -0.114390776, 0.023151657) * g_0; + result += mat4(0.016485719, -0.09634283, -0.14198488, -0.04438048, -0.21505983, -0.26128006, -0.04784944, -0.09402356, 0.06304391, -0.15288098, 0.00068967254, 0.068428546, 0.19094922, 0.26162505, 0.012422096, 0.0019210136) * g_1; + result += mat4(0.09429176, 0.17532441, 0.04093382, 0.23090097, -0.039049014, -0.029371511, -0.22049028, 0.087878235, -0.16436112, -0.16126816, -0.13443045, 0.11702453, 0.011557647, 0.0860798, -0.13721867, 0.04339029) * g_2; + result += mat4(-0.13857365, 0.07155365, -0.026300088, 0.030843856, -0.003029181, -0.16634469, 0.009277505, -0.0477318, 0.08176135, -0.025760109, -0.14980459, -0.23881069, 0.04395779, -0.020711109, -0.003765235, 0.16139714) * g_3; + result += mat4(-0.029404152, -0.14717855, 0.08600079, 0.10087113, -0.0015481604, 0.12785077, -0.017091133, 0.11298956, 0.0135069, 0.048736177, -0.16933975, -0.010427592, -0.0710784, 0.035118822, -0.05988874, 0.05704193) * g_4; + result += mat4(0.118158385, 0.05269367, 0.023569904, -0.1657988, 0.046414927, 0.192022, -0.038966145, -0.0991989, 0.052595813, 0.09601838, -0.09776323, -0.10896508, -0.03430822, 0.04195307, -0.03257825, -0.051419284) * g_5; + result += mat4(-0.030581048, 0.17614278, 0.14005136, 0.25032252, -0.041909087, 0.03415134, 0.18558922, -0.013872336, 0.15255652, -0.21187684, 0.14342351, 0.03002535, 0.09936515, 0.07143285, 0.10832944, 0.07492966) * g_6; + result += mat4(0.117437966, 0.20312095, 0.16551267, 0.036241867, 0.15959081, -0.15883422, 0.13650912, 0.13133384, -0.08531496, 0.22273071, -0.09418646, 0.16729115, 0.050657116, -0.15333027, 0.09318966, 0.038184803) * g_7; + result += mat4(-0.18683884, -0.16802727, -0.01640892, -0.033356212, 0.13456257, -0.040969536, 0.12549457, -0.1290507, -0.04681963, 0.040288992, 0.05573994, -0.14020221, -0.08451734, 0.084726095, 0.027533028, -0.062352005) * g_8; + result += mat4(0.16800499, 0.068888284, -0.06970656, -0.11694171, 0.027877143, 0.08590325, -0.41597658, 0.19020869, 0.18468907, 0.10396149, 0.2688539, -0.051384643, 0.082193665, -0.0061698114, 0.10528453, -0.039762035) * g_9; + result += mat4(-0.13182193, 0.13022594, -0.04265935, -0.031845935, -0.031530503, 0.0028220103, -0.075633064, -0.038005225, 0.08944671, -0.038589507, 0.1264931, 0.04362325, -0.017746134, -0.074040845, 0.22195354, 0.02025781) * g_10; + result += mat4(-0.010372041, -0.054928456, -0.11535243, -0.08789095, -0.25536317, -0.14206916, -0.18415648, 0.20086259, -0.08668259, -0.06832273, 0.00049483957, 0.0037794516, 0.022831686, 0.11659795, -0.06669702, -0.19588953) * g_11; + result += mat4(-0.28961572, -0.4749287, -0.028464912, 0.052383482, -0.22320336, 0.24375547, -0.12413771, 0.13081387, -0.1111063, -0.07677365, -0.07474673, 0.13839811, 0.13673459, 0.008945309, -0.16129646, 0.083366215) * g_12; + result += mat4(0.29712868, 0.29954886, 0.096922785, 0.16342036, 0.087328605, -0.31575698, 0.033533126, -0.01676748, -0.05085677, 0.10915346, -0.009143204, -0.08164666, 0.02106476, -0.08223177, -0.13560964, -0.06952909) * g_13; + result += mat4(0.12253968, 0.10194223, -0.18962221, -0.019411137, -0.02967273, 0.07758143, 0.11593596, 0.0006656379, 0.4334612, -0.23675393, -0.10674996, 0.07835363, 0.10412569, 0.08455689, -0.036294702, -0.14943564) * g_14; + result += mat4(-0.08402736, -0.19991463, 0.18588512, 0.07676709, 0.07191373, -0.07213601, -0.1128286, 0.053900886, 0.24843894, 0.15576254, 0.11854475, -0.26013455, 0.06444892, -0.105995424, -0.02662165, 0.23990677) * g_15; + result += mat4(-0.048506703, -0.0874562, 0.09056293, 0.079049595, -0.27113122, 0.042350817, 0.08988192, -0.3137793, 0.0747184, 0.032512806, 0.017864892, 0.14460078, -0.03651161, 0.074389, 0.24303643, -0.099042624) * g_16; + result += mat4(-0.007119913, 0.09615741, -0.03428203, 0.33762857, 0.065405674, -0.49520698, 0.13928282, 0.36657473, -0.023395495, -0.039354183, 0.11659457, -0.07508826, -0.086808786, 0.037178524, -0.08136895, 0.14095466) * g_17; + result += mat4(0.13255325, 0.05039712, -0.1868099, -0.09327347, 0.24704066, 0.18458563, -0.096471004, -0.18579604, 0.01985749, -0.01758252, 0.3442843, 0.053911295, -0.048990734, 0.14512312, 0.068960086, -0.21552262) * g_18; + result += mat4(-0.05009779, -0.07166913, -0.0064091743, 0.12607603, 0.22009291, -0.12833357, 0.07912463, 0.24400796, 0.07644523, -0.09144226, -0.04527602, 0.023284711, 0.14405306, 0.06575743, 0.02459841, -0.025973033) * g_19; + result += mat4(0.008448822, 0.054047976, 0.0909093, 0.037993927, -0.05116312, -0.2986432, -0.07816385, 0.024441332, -0.14043695, 0.027960885, -0.14233884, -0.1725978, 0.048629027, -0.04404273, -0.3075077, 0.06929521) * g_20; + result += mat4(0.093220495, -0.055684812, -0.055064965, 0.028901886, 0.19592312, 0.1363604, 0.076918535, -0.19113176, 0.36366606, -0.013933859, 0.03314929, -0.03575491, 0.07210199, 0.106656946, 0.15615965, -0.19988714) * g_21; + result += mat4(0.12586692, -0.013626416, -0.02413242, 0.0756625, 0.09772758, -0.09996077, -0.008041489, 0.1159643, 0.1241683, 0.14317046, -0.0932358, 0.31132537, -0.0020806575, 0.020223314, -0.2438224, 0.06940367) * g_22; + result += mat4(-0.0016025436, 0.060878396, 0.17611162, -0.100864336, 0.028983932, 0.09252143, 0.10481248, -0.06146908, -0.31934208, -0.13838133, 0.13185565, -0.035758033, -0.13044602, 0.10710358, 5.8081503e-05, -0.00454267) * g_23; + result += mat4(-0.059576258, 0.06968948, -0.008232615, -0.06129336, -0.08833713, -0.054481387, -0.004371116, -0.1964046, 0.022765493, 0.025811723, 0.0067215296, 0.02305441, 0.10606636, -0.086005725, -0.21056533, 0.12253492) * g_24; + result += mat4(-0.00835301, -0.15535109, 0.12221956, 0.19185501, 0.05132267, 0.16891663, -0.11666316, -0.03017235, -0.13267665, 0.046521697, 0.027762229, 0.059645366, 0.00027471577, -0.11043438, 0.10424315, -0.1086128) * g_25; + result += mat4(0.05075079, 0.019918585, -0.031245248, 0.116343796, -0.15688774, 0.13276225, 0.043608118, 0.038603537, 0.09514637, -0.12972692, -0.15088506, -0.19487189, 0.12054755, 0.014158436, -0.017870666, 0.244829) * g_26; + result += mat4(0.16140082, 0.12640321, 0.1969524, 0.14234789, -0.0387056, -0.16567732, 0.13261116, 0.13626204, -0.08689124, -0.13475373, 0.18032974, -0.034728065, 0.016112087, -0.07409384, 0.009190101, -0.13319102) * g_27; + result += mat4(0.13840085, -0.1503008, -0.28004104, 0.0004458277, 0.085771725, 0.18693484, -0.38570777, -0.0015788627, -0.22876291, -0.05482633, -0.19387709, 0.065617, -0.015152447, 0.11920871, -0.10714691, 0.15455256) * g_28; + result += mat4(-0.44118914, 0.15384102, 0.470851, -0.14082034, 0.30934575, 0.16286017, 0.23737209, 0.035161156, 0.035742745, 0.14005975, -0.103563346, -0.0142445285, 0.1746347, 0.13249661, 0.0984072, -0.23170716) * g_29; + result += vec4(0.023260193, 0.094669305, 0.13180539, 0.011011345); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x120 +//!HOOK MAIN +//!BIND conv2d_21_tf +//!BIND conv2d_21_tf1 +//!BIND conv2d_21_tf2 +//!BIND conv2d_21_tf3 +//!BIND conv2d_21_tf4 +//!BIND conv2d_21_tf5 +//!BIND conv2d_23_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!SAVE conv2d_24_tf5 +//!WIDTH conv2d_21_tf.w +//!HEIGHT conv2d_21_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_1 (max((conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_21_tf_tex(conv2d_21_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_21_tf1_tex(conv2d_21_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_21_tf2_tex(conv2d_21_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_21_tf3_tex(conv2d_21_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_21_tf4_tex(conv2d_21_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_21_tf5_tex(conv2d_21_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.035401143, 0.11828543, 0.16110167, -0.07777353, -0.075349845, -0.013435769, -0.01727356, 0.033077683, -0.30605403, -0.11320239, 0.18582572, 0.060256433, 0.016494479, 0.14741373, -0.07789023, -0.008053446) * g_0; + result += mat4(-0.09569302, -0.114564046, 0.042041153, 0.22988442, -0.19345377, -0.13841586, 0.19079803, 0.064525254, -0.24899781, -0.21335086, -0.040545136, -0.06732098, -0.054337524, -0.16457275, -0.09898493, 0.076531336) * g_1; + result += mat4(0.14414783, -0.09589099, -0.018284459, 0.006014089, -0.14312598, 0.07321137, 0.16399357, 0.120017864, -0.09322919, 0.22950031, 0.034323998, 0.22690134, -0.12497395, 0.026865529, 0.045670614, 0.02153663) * g_2; + result += mat4(-0.0885093, -0.20960386, 0.09523425, -0.001182881, -0.13660184, -0.0988858, -0.10529192, 0.151602, -0.019795151, -0.0056292973, -0.090651646, -0.058967516, -0.034077972, -0.087830566, 0.06904268, 0.01972361) * g_3; + result += mat4(-0.041968595, 0.07223882, 0.028611, -0.05274203, 0.09716402, 0.14615181, -0.008819137, 0.19477727, -0.22391073, -0.188192, -0.23159504, -0.0659422, 0.038915258, 0.06506808, 0.026602015, 0.106757455) * g_4; + result += mat4(-0.03167345, 0.09288782, 0.06510763, -0.1371696, 0.0670977, 0.13643882, -0.16221057, 0.007994042, 0.12745698, -0.13189419, 0.18003656, -0.19340996, 0.054663222, 0.064832725, -0.11706334, 0.03498881) * g_5; + result += mat4(0.054250732, 0.050205093, -0.094529144, -0.073639154, -0.104345, -0.16036876, -0.116890386, -0.019142069, 0.11151763, 0.024416454, -0.21662898, -0.24609119, 0.012618986, -0.050505374, -0.05748476, -0.03385181) * g_6; + result += mat4(0.07575929, 0.20168582, 0.07593563, -0.120610684, 0.39353558, 0.092859395, -0.09407357, 0.11197022, 0.092431, 0.17169674, -0.052467786, -0.12509912, -0.04317581, 0.15022431, 0.053311728, -0.07824366) * g_7; + result += mat4(-0.19801709, 0.19595057, -0.03813935, 0.15429677, 0.043275412, -0.055777457, 0.051823862, -0.12536551, 0.054815408, -0.07399522, 0.111323185, -0.11293141, 0.112620935, 0.0036300484, -0.058666084, 0.0770841) * g_8; + result += mat4(0.055198528, 0.053080693, -0.07051254, 0.01369659, -0.064398214, 0.21947123, 0.25785065, 0.25085342, -0.18726042, -0.1834884, -0.05625831, -0.14207363, -0.08842582, -0.17124884, 0.017937114, 0.064309366) * g_9; + result += mat4(0.15159117, 0.07519266, -0.15370396, 0.042692114, -0.24344702, 0.09258916, -0.11990244, -0.17198385, 0.18952729, 0.1369525, 0.0025766129, 0.0012663774, 0.12561531, -0.14913428, 0.18643859, -0.29388568) * g_10; + result += mat4(-0.1093067, -0.12366066, -0.17348427, -0.007389768, -0.073157415, -0.060100462, 0.15647408, 0.09652795, -0.23171946, -0.13775213, -0.13687882, -0.030829927, -0.021940507, -0.0020031824, 0.028924773, 0.03574328) * g_11; + result += mat4(0.05167366, -0.097687796, -0.015811214, -0.03937127, 0.06846119, -0.020211786, 0.08710146, -0.098835036, 0.18396588, 0.31018186, -0.14081873, 0.16264582, -0.12390926, -0.20042141, 0.06262468, -0.10123357) * g_12; + result += mat4(0.24855806, 0.2536586, -0.06454596, 0.119326875, 0.12777822, 0.16621375, 0.124711774, 0.12201052, -0.012619612, -0.15139428, 0.24413742, -0.07166333, -0.07884437, 0.23534073, -0.024630731, -0.004739806) * g_13; + result += mat4(-0.14524974, 0.16234787, -0.3117823, -0.09532448, -0.38612852, 0.21183789, -0.024396734, 0.17140463, 0.27414736, 0.18016195, -0.18706764, -0.26449355, -0.19747467, -0.26563227, 0.06794068, -0.08063504) * g_14; + result += mat4(0.23652636, -0.21808079, 0.14081404, -0.08695713, 0.35874066, -0.3812793, -0.0042363345, -0.14822814, -0.7956462, 0.02542554, 0.18249872, 0.22436006, 0.04767605, 0.12073363, -0.13262282, -0.13139577) * g_15; + result += mat4(-0.052691665, 0.20573047, 0.091659784, 0.11605743, -0.49105322, -0.4048146, -0.15038882, 0.038508125, 0.08319267, -0.13713421, 0.19062464, -0.08124661, -0.27485934, 0.015815433, -0.021215012, 0.013882374) * g_16; + result += mat4(0.13657252, -0.117852926, -0.2632923, 0.20954777, 0.16333477, 0.35176206, 0.32558918, 0.07111971, -0.19528575, 0.022703214, -0.06283952, 0.0202241, 0.00062078034, -0.23761322, -0.0077519086, 0.25658375) * g_17; + result += mat4(0.020799367, 0.01067424, 0.083184645, -0.14095265, -0.037889767, 0.0034220286, 0.066995576, -0.05181846, 0.17500187, 0.034532286, -0.0034174314, 0.03789843, -0.043532915, -0.13418876, -0.2510271, -0.09374864) * g_18; + result += mat4(-0.13373125, -0.11939298, -0.18171094, -0.04362375, -0.09802522, 0.16033037, 0.033167798, 0.19249743, -0.09332724, -0.2715352, -0.016817318, -0.014301543, 0.20644864, -0.028817968, 0.362786, 0.14023119) * g_19; + result += mat4(0.09587087, 0.0074727098, 0.116851576, 0.023743093, -0.046995968, -0.069463834, 0.13753393, 0.17122227, -0.025173381, 0.13880321, 0.16658309, -0.022459678, -0.31136268, -0.027422085, -0.109531336, 0.18219715) * g_20; + result += mat4(-0.08894726, 0.19153637, -0.08311822, -0.074581176, 0.14477897, -0.21017817, 0.10784192, -0.16820575, -0.315781, -0.2630948, 0.08973418, -0.064013824, 0.075658046, 0.11888417, 0.13260478, -0.10950925) * g_21; + result += mat4(-0.11899363, -0.14369829, 0.008216912, 0.023432927, 0.06846148, 0.1828149, 0.06274231, -0.15299112, -0.0715763, -0.09635764, 0.13176271, -0.06144056, 0.059470557, 0.17273234, -0.08176308, 0.011923788) * g_22; + result += mat4(0.0061189565, -0.11297907, 0.09527446, 0.0046028066, 0.04282835, 0.055091605, -0.04165817, -0.025770452, -0.145678, 0.15372074, -0.11806497, 0.16658548, -0.10533239, -0.05720886, 0.0138695035, 0.11329029) * g_23; + result += mat4(-0.011732977, -0.12060142, -0.12039149, 0.03636631, -0.036845826, -0.054367594, -0.029417133, -0.17178303, -0.16985205, -0.06948697, 0.15569125, -0.0024068935, 0.17779039, 0.117133036, 0.034714937, 0.011719064) * g_24; + result += mat4(0.19989638, 0.071537495, -0.005817529, 0.024970375, -0.002606085, -0.23609988, 0.08164997, -0.004351663, -0.014960431, 0.021064563, -0.20076638, 0.012635818, -0.10835814, -0.10891674, -0.10495171, -0.1400281) * g_25; + result += mat4(0.22666031, -0.18522328, 0.11348862, -0.09860567, 0.039617456, 0.026495604, 0.1451495, 0.0882103, -0.17118423, -0.20988964, 0.14257617, 0.13353662, 0.026001312, 0.15666062, -0.10690302, 0.13496387) * g_26; + result += mat4(-0.18023312, 0.013624079, -0.059931513, 0.1235221, -0.22089219, -0.040241662, -0.13695398, -0.1404048, -0.052548394, 0.14687216, 0.14727584, -0.007241884, 0.08400108, -0.023925923, 0.004576988, 0.05896513) * g_27; + result += mat4(-0.03961407, 0.06747111, -0.06864713, -0.1582473, -0.13148493, 0.05195487, 0.07935757, 0.00300328, 0.10378651, -0.0113868695, 0.031623606, 0.12116739, -0.04027843, -0.14253578, 0.033800546, -0.44795546) * g_28; + result += mat4(0.13076074, 0.13541101, -0.06876114, 0.06036409, -0.09881141, -0.12100859, -0.14494787, -0.14920674, -0.040267494, -0.103508234, -0.092922576, 0.034120508, 0.17455834, -0.03198111, -0.021821547, 0.1617248) * g_29; + result += vec4(0.01765179, -0.014072011, -0.040658478, 0.06147996); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv2d_24_tf +//!BIND conv2d_24_tf1 +//!BIND conv2d_24_tf2 +//!BIND conv2d_24_tf3 +//!BIND conv2d_24_tf4 +//!BIND conv2d_24_tf5 +//!SAVE conv2d_25_tf +//!WIDTH conv2d_24_tf.w +//!HEIGHT conv2d_24_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv2d_24_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv2d_24_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv2d_24_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv2d_24_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv2d_24_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv2d_24_tf5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv2d_24_tf_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv2d_24_tf1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv2d_24_tf2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv2d_24_tf3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv2d_24_tf4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv2d_24_tf5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.06166647, 0.09529486, -0.076007046, 0.008835734, -0.022746278, -0.020524498, 0.036484558, -0.18692645, 0.16612884, 0.08695116, -0.03444985, -0.036625423, -0.019618431, -0.2497179, 0.04713828, 0.03941277) * go_0(-1.0, -1.0); + result += mat4(0.051320158, 0.09188963, 0.05934812, -0.028814953, -0.08214986, -0.38381183, -0.21082996, 0.08931178, -0.1478504, 0.050554104, 0.15775944, -0.082824536, -0.09758805, 0.03501315, 0.048326474, 0.20755234) * go_0(-1.0, 0.0); + result += mat4(-0.11912697, -0.1639047, -0.028712267, 0.05257035, -0.057109438, 0.016257055, 0.010102283, 0.02258497, 0.0067762802, 0.06568727, 0.13412032, -0.12839553, -0.0052478323, -0.04582172, 0.046101846, 0.03895225) * go_0(-1.0, 1.0); + result += mat4(-0.2623996, -0.04643623, -0.025350014, 0.11266074, 0.31318957, -0.10205316, 0.20703012, -0.09878432, 0.050212078, -0.041905947, 0.1928805, -0.081413575, 0.029278766, -0.05722498, 0.23603556, -0.02379054) * go_0(0.0, -1.0); + result += mat4(-0.07829222, -0.014891703, -0.02923015, -0.04891082, -0.07685137, 0.13036327, -0.2605194, 0.18862042, -0.032530565, -0.078955844, 0.2125311, -0.06390657, 0.074358515, -0.0944192, 0.04031576, -0.24017791) * go_0(0.0, 0.0); + result += mat4(-0.095015146, 0.08709823, -0.085220866, 0.101875454, -0.21940547, 0.095429935, 0.017325258, -0.26081812, 0.06708058, 0.13191286, -0.24980421, -0.036090303, 0.053236503, -0.11681413, 0.06696659, 0.25558624) * go_0(0.0, 1.0); + result += mat4(-0.057251945, -0.15470527, 0.097741194, -0.0055207037, 0.13810219, -0.098230235, -0.08999586, 0.022224225, 0.09270033, 0.046485137, 0.019203654, -0.019220348, 0.06337505, 0.006301626, -0.04131858, 0.05920149) * go_0(1.0, -1.0); + result += mat4(-0.20077895, -0.060091857, -0.012030675, -0.14897619, -0.12295632, -0.0979341, 0.14699385, -0.05202889, 0.124067515, -0.083887726, 0.17461719, 0.15780336, 0.15766764, 0.04728613, -0.10863424, 0.043001574) * go_0(1.0, 0.0); + result += mat4(-0.12690245, 0.035600208, -0.025356498, -0.06894206, -0.121579856, 0.0327393, -0.113368034, 0.085112944, 0.06670692, -0.09475299, 0.017179368, -0.059762985, 0.021771181, -0.050836626, 0.05944231, -0.011734899) * go_0(1.0, 1.0); + result += mat4(-0.054920316, -0.030304149, -0.11105109, 0.012385413, 0.020577729, -0.008300987, 0.06316654, -0.02620882, -0.034891594, -0.004976834, 0.08395707, 0.035198126, -0.011377179, 0.09300824, 0.048836518, -0.09094534) * go_1(-1.0, -1.0); + result += mat4(-0.1148677, 0.0498467, -0.10771813, 0.03301452, -0.038163044, 0.004233585, 0.0025002265, -0.06302246, 0.019796815, 0.05062893, 0.044480775, -0.031719808, 0.1712331, -0.07693259, -0.022257818, -0.09355782) * go_1(-1.0, 0.0); + result += mat4(0.09685269, -0.05529166, 0.031147264, 0.07655294, 0.041224808, 0.12501086, 0.012886804, -0.031120846, -0.018883346, -0.07191267, -0.02080282, -0.0028901217, 0.06751031, 0.09451318, -0.031583074, -0.09243835) * go_1(-1.0, 1.0); + result += mat4(0.015515191, -0.15584822, 0.08790507, -0.111271165, 0.13384461, -0.020855654, 0.01786342, -0.019626036, -0.021073133, 0.048412234, -0.07784231, 0.00589801, 0.10902915, -0.045021616, -0.025299137, 0.030494161) * go_1(0.0, -1.0); + result += mat4(-0.10588466, -0.0012355493, 0.26903358, 0.099189214, -0.116908744, -0.18496048, -0.063001394, 0.14649987, -0.04212112, -0.058351398, -0.20649049, -0.06755194, 0.042475656, -0.28886446, -0.10462373, -0.19176544) * go_1(0.0, 0.0); + result += mat4(-0.048238985, 0.12038389, 0.05851023, -0.13195232, -0.027325528, -0.05691749, -0.020259382, 0.059841767, -0.04831857, 0.05612525, 0.045930166, 0.103542075, 0.17056717, 0.07153741, -0.0005695847, -0.09222333) * go_1(0.0, 1.0); + result += mat4(-0.015188975, -0.028330345, 0.06475087, 0.039649922, 0.08015208, -0.03343779, -0.09342346, 0.027704729, -0.01873157, -0.017396448, -0.05463655, -0.036627814, 0.065141775, -0.009173005, -0.027537009, -0.03491342) * go_1(1.0, -1.0); + result += mat4(0.16886939, -0.016664919, -0.05489729, -0.0646156, 0.07947758, 0.070160225, -0.054875035, 0.07487143, -0.0018300108, 0.14340875, 0.019120038, -0.14778864, 0.02120198, 0.20431966, -0.057769198, -0.063412786) * go_1(1.0, 0.0); + result += mat4(-0.059609845, -0.044698156, -0.11887421, -0.053155288, 0.11937625, -0.011380284, 0.035726782, -0.0032809346, -0.02390899, 0.028173469, 0.11605503, 0.042460438, 0.04107498, -0.025382359, 0.0055907466, -0.060491074) * go_1(1.0, 1.0); + result += mat4(0.13950574, -0.031398408, 0.05869317, -0.0041932254, -0.08233649, 0.04118637, -0.034838192, 0.030280882, -0.10698509, -0.009384861, 0.022907369, 0.03362852, -0.049687177, 0.010223036, -0.025809834, -0.05944809) * go_2(-1.0, -1.0); + result += mat4(0.013511201, 0.12180669, 0.0092064915, 0.0680192, -0.07001209, 0.19408299, -0.024325037, -0.035347454, 0.09694826, -0.13425222, 0.036686067, 0.051675696, 0.0067466674, 0.039925743, -0.013616589, 0.09895118) * go_2(-1.0, 0.0); + result += mat4(0.022670267, 0.11051658, 0.01280793, -0.00506743, 0.13905488, -0.037899602, 0.0116324285, -0.11736314, -0.12509562, -0.13450992, 0.044298768, 0.07256763, -0.034111246, 0.031499702, -0.024342692, -0.04012807) * go_2(-1.0, 1.0); + result += mat4(-0.054806143, -0.039433837, 0.20688836, -0.06932758, -0.055505864, 0.033591345, -0.011807642, 0.13377409, 0.013202392, 0.030601578, -0.044044554, 0.019092588, 0.15104452, -0.04736436, 0.07933319, 0.0808442) * go_2(0.0, -1.0); + result += mat4(-0.08120661, 0.096976824, 0.035287824, -0.07752623, -0.1088452, 0.009262103, -0.06772187, 0.0851409, 0.10140327, 0.17055623, -0.16858724, -0.020316882, 0.05838598, 0.09759389, -0.08185687, -0.15058544) * go_2(0.0, 0.0); + result += mat4(-0.07288273, 0.048684817, -0.050840862, -0.07740546, -0.0293663, -0.011155543, -0.018436499, -0.09088947, -0.13848811, 0.16170098, 0.047927193, 0.04666957, 0.092211105, -0.016306465, 0.00071041065, 0.14366496) * go_2(0.0, 1.0); + result += mat4(0.0010082172, -0.06622412, 0.032247175, -0.06717882, -0.0640833, -0.051457766, -0.052786853, 0.09610263, -0.016265746, -0.10230698, -0.09378997, 0.032618906, 0.13324349, 0.042409174, -0.080133736, -0.1741766) * go_2(1.0, -1.0); + result += mat4(-0.056840084, -0.106264874, -0.0022399705, 0.033432458, -0.012551941, 0.03538272, -0.029066289, 0.026861634, 0.06871675, 0.039153498, 0.20519088, -0.145508, -0.023353614, 0.12257076, -0.10474505, -0.0018490221) * go_2(1.0, 0.0); + result += mat4(-0.113193035, 0.07080721, 0.01030223, 0.006177725, 0.075466745, 0.04482333, -0.07071907, -0.016957464, -0.07380668, 0.036033623, -0.004883166, -0.024313578, 0.04330381, -0.03380222, 0.047028575, -0.055949286) * go_2(1.0, 1.0); + result += mat4(0.0065355953, -0.106070854, 0.046797846, 0.054897975, -0.073402844, -0.026886068, 0.07788056, -0.0063465633, 0.02009201, 0.0532501, -0.21889481, 0.028795658, -0.06233731, -0.031046558, 0.02490095, 0.060170352) * go_3(-1.0, -1.0); + result += mat4(-0.03175583, 0.13402268, -0.06509575, 0.05536282, -0.043879837, -0.017241556, -0.14183941, -0.10554382, 0.23820382, 0.05799508, -0.04913701, -0.17487198, -0.0036701688, 0.19644801, 0.09490716, -0.096341126) * go_3(-1.0, 0.0); + result += mat4(-0.019748677, 0.06276037, -0.0710753, 0.021939961, 0.023091486, -0.010296817, -0.013234315, -0.070667446, -0.043426152, -0.12873076, -0.10405566, -0.13278995, -0.07841859, -0.09935093, 0.16365989, -0.10874392) * go_3(-1.0, 1.0); + result += mat4(0.0034429682, 0.0777451, -0.20297584, -0.034304563, -0.20821045, -0.06967927, 0.0069935727, 0.06818987, 0.11493428, -0.13941486, 0.09426282, 0.113237746, -0.18580022, -0.14258705, -0.08273845, 0.10751073) * go_3(0.0, -1.0); + result += mat4(-0.21328938, -0.012580941, -0.1820024, -0.08053879, 0.07931148, -0.03035549, -0.0114164995, 0.030046796, 0.040258206, 0.058445115, 0.087784424, -0.05276828, -0.05584388, 0.05649799, 0.10458559, 0.117295496) * go_3(0.0, 0.0); + result += mat4(0.0004067625, 0.009013988, -0.11189667, 0.18077454, 0.044584297, -0.0075380174, 0.027782472, 0.023007099, -0.15650754, -0.0016945648, -0.117185384, -0.12843834, -0.21347368, -0.06306287, -0.038481444, -0.04364172) * go_3(0.0, 1.0); + result += mat4(-0.012604359, -0.1458971, 0.0025814052, -0.10555279, 0.08536396, 0.056438394, -0.073529385, 0.11475026, 0.04129833, 0.038889654, -0.050739683, -0.10685405, -0.17847179, -0.023147365, -0.021397736, 0.012562349) * go_3(1.0, -1.0); + result += mat4(0.061623327, 0.032743514, -0.092126705, -0.009911827, 0.11853501, -0.04201077, -0.06540546, -0.0004200978, 0.36105943, -0.013727552, 0.15243492, -0.37710276, -0.16434546, 0.0027665482, 0.09155056, -0.05159514) * go_3(1.0, 0.0); + result += mat4(0.063556105, -0.038802505, 0.098308414, -0.022572387, 0.01916856, -0.046118446, -0.023157543, -0.0030076469, 0.006978761, -0.07691966, 0.049419176, -0.014772799, -0.13417888, -0.09242537, 0.06894446, -0.07848624) * go_3(1.0, 1.0); + result += mat4(0.01280834, -0.052721504, -0.01706708, 0.0028470804, 0.020805791, 0.006617784, -0.010675241, -0.017558832, -0.09362381, 0.0043864, -0.035955433, 0.001065764, 0.058542565, -0.032927778, 0.07916248, -0.03997376) * go_4(-1.0, -1.0); + result += mat4(0.060645532, 0.104732536, 0.11815832, 0.05011748, 0.0055031423, 0.20799986, -0.050977442, -0.21806534, -0.00055571686, -0.21356145, -0.0147209745, 0.072338395, 0.11485665, -0.022358414, -0.01575413, 0.11097265) * go_4(-1.0, 0.0); + result += mat4(-0.07599235, -0.070393614, -0.042556494, -0.027536979, 0.03244002, -0.009717755, -0.10595384, -0.05508222, -0.060975544, -0.033835378, -0.08520762, 0.1234127, -0.04340964, 0.029099535, -0.055060316, 0.10189488) * go_4(-1.0, 1.0); + result += mat4(-0.11586163, -0.10339468, 0.018628253, 0.11294932, -0.08137997, -0.12097089, -0.004096637, -0.15007496, -0.11381295, -0.11907909, 0.0019885178, -0.06317762, 0.082184374, 0.16213977, 0.17092547, 0.05194319) * go_4(0.0, -1.0); + result += mat4(0.015809923, 0.031414498, 0.06770427, -0.040179458, 0.009551585, -0.03656711, -0.015123795, 0.2606833, 0.12001062, -0.09206469, 0.05211573, -0.10032222, -0.066903725, -0.10153829, 0.006569603, 0.15233746) * go_4(0.0, 0.0); + result += mat4(-0.13016693, -0.05837558, 0.03728972, 0.013845801, -0.0963519, 0.043406032, -0.11162186, 0.17593586, 0.16878426, -0.023199903, 0.018601537, 0.064760186, -0.02338956, -0.030894913, -0.023887586, 0.09656904) * go_4(0.0, 1.0); + result += mat4(0.046886213, 0.059098363, 0.117162004, -0.019554192, 0.06123918, -0.03775235, -0.17667934, -0.020468798, -0.10859388, 0.0027064981, 0.032114375, -0.08948968, 0.022602081, 0.019939497, -0.035069417, -0.017369915) * go_4(1.0, -1.0); + result += mat4(0.05927567, -0.04385093, 0.029050631, -0.0122622885, 0.124886535, -0.047030345, 0.12648477, 0.21384676, 0.06860462, 0.11381426, -0.20935951, 0.03660723, 0.07183579, -0.0505358, -0.13215779, -0.09444421) * go_4(1.0, 0.0); + result += mat4(0.12360126, -0.01841402, -0.019791638, -0.009799932, -0.0067030676, 0.077652015, -0.09030087, -0.05485269, 0.10192293, -0.026423357, 0.024067886, 0.010795157, 0.05065528, -0.021747395, 0.11369635, 0.071461305) * go_4(1.0, 1.0); + result += mat4(-0.15664753, -0.3001536, -0.03629498, 0.060492914, 0.009496274, 0.028094364, -0.009191958, -0.0577588, -0.06539721, -0.011572763, -0.15954313, 0.102323525, -0.05494961, -0.0023975812, 0.040828995, -0.051322095) * go_5(-1.0, -1.0); + result += mat4(0.12627518, 0.18399099, 0.16070911, 0.16220057, 0.057850912, 0.04689522, -0.075267516, -0.022188958, 0.16158912, -0.11660483, 0.045059294, 0.06380398, 0.025790306, -0.008863167, -0.08780004, -0.06612076) * go_5(-1.0, 0.0); + result += mat4(0.14227939, -0.027410321, 0.13737302, -0.12113999, 0.029474085, 0.00757624, 0.019095859, 0.12143887, 0.060082193, 0.1189196, -0.06993007, 0.03063737, 0.047921035, 0.01861652, -0.03395391, -0.08596215) * go_5(-1.0, 1.0); + result += mat4(-0.13546674, -0.095134504, 0.13793515, 0.14019996, -0.076285966, -0.07444076, 0.08611525, -0.094507635, 0.010120621, 0.022456804, 0.0432159, 0.05690138, -0.041333348, 0.112625234, -0.07680725, -0.057620674) * go_5(0.0, -1.0); + result += mat4(-0.0306885, -0.1369895, -0.095055066, -0.16577624, -0.14029223, -0.2401948, 0.09099631, 0.1894274, 0.091891415, 0.18598725, -0.016354626, 0.073076904, -0.13816236, -0.050228953, 0.09365188, 0.2218683) * go_5(0.0, 0.0); + result += mat4(0.2252823, 0.24741633, -0.062608674, -0.049572356, 0.13114338, 0.027443433, 0.05400542, -0.13648489, -0.04472984, -0.0016671685, 0.048863463, -0.11504105, -0.06100274, -0.0878448, -0.06880304, 0.053783167) * go_5(0.0, 1.0); + result += mat4(-0.10332402, -0.055568, -0.008943689, 0.052060086, 0.13946952, 0.07737958, -0.013550045, 0.12413722, -0.08039647, 0.06550823, -0.009702849, -0.07330266, 0.041070487, -0.029019738, 0.17718314, -0.047616117) * go_5(1.0, -1.0); + result += mat4(-0.007685302, -0.05005613, -0.16978261, 0.1673353, -0.01058089, -0.009134079, 0.056686405, -0.032724455, -0.23283169, -0.015320123, -0.07628575, 0.1583336, 0.10090872, -0.08577921, 0.009976957, -0.08556881) * go_5(1.0, 0.0); + result += mat4(-0.069601454, -0.16285476, -0.14907263, 0.008809696, -0.090793215, 0.040755514, -0.052355014, 0.059863154, -0.09268102, 0.061798856, -0.06748168, 0.11184569, 0.033429194, -0.016948707, 0.04313349, -0.040461414) * go_5(1.0, 1.0); + result += mat4(0.19497512, -0.0467561, 0.023610603, -0.06681841, -0.062420018, -0.1856033, -0.052360386, 0.03759329, 0.021207232, -0.018927721, -0.004877006, -0.119918, -0.038005788, 0.03264522, -0.045749072, -0.10774479) * go_6(-1.0, -1.0); + result += mat4(0.03304711, -0.10518301, 0.047590237, 0.15113771, -0.038459413, 0.033557326, 0.04411137, -0.0009139046, 0.04881818, 0.014962995, 0.07928227, -0.04755859, -0.11342892, -0.13751194, 0.008316373, -0.025914624) * go_6(-1.0, 0.0); + result += mat4(-0.011008603, 0.045551877, -0.0081338845, -0.047599968, -0.041662537, 0.0406822, -0.05794957, -0.004118748, 0.09639767, 0.034570917, 0.004335613, -0.072743304, -0.06002741, -0.027849816, 0.010462201, 0.07306804) * go_6(-1.0, 1.0); + result += mat4(0.038866248, -0.08543851, -0.11141201, -0.005390378, 0.0561201, 0.10566394, -0.18883973, -0.20431116, -0.0900862, 0.14404656, -0.035239823, 0.11301996, 0.16515182, -0.050829098, -0.031654615, -0.27990615) * go_6(0.0, -1.0); + result += mat4(-0.007277367, 0.12595385, -0.11913772, 0.046281498, 0.028128926, 0.072584935, 0.23264836, 0.07615621, -0.002138678, 0.041904695, 0.0031731776, -0.050394382, -0.07322431, -0.06341686, -0.20411542, 0.14221752) * go_6(0.0, 0.0); + result += mat4(0.031282783, 0.040795453, 0.208459, 0.049378183, -0.015543645, -0.04021312, 0.007385161, 0.12940495, 0.037410237, -0.014123586, 0.04817765, 0.2954283, 0.02939279, 0.073805846, 0.07340725, 0.053781614) * go_6(0.0, 1.0); + result += mat4(0.14374124, 0.019307, 0.089477286, -0.07718816, -0.07112429, 0.004047335, 0.13103326, -0.16484602, -0.03885213, 0.0077970796, 0.0064952304, 0.051825427, 0.0664705, 0.020351974, 0.029119588, -0.15641749) * go_6(1.0, -1.0); + result += mat4(-0.05202113, -0.054551017, 0.33602884, 0.048029248, -0.043523017, 0.044123486, -0.018491492, -0.09169264, -0.013394848, -0.06573222, 0.13456802, -0.1149609, -0.044688087, -0.00718599, 0.1767986, -0.053084526) * go_6(1.0, 0.0); + result += mat4(0.07546729, -0.032875005, 0.042173672, 0.05048262, 0.01590828, -0.09853918, 0.06093201, -0.002626066, -0.03542386, -0.15628773, 0.060038045, 0.12942557, -0.0070227217, -0.03641083, 0.10482737, 0.025141418) * go_6(1.0, 1.0); + result += mat4(0.016529802, 0.0043892316, -0.10654008, -0.024906425, 0.063835494, 0.062191088, -0.03386337, -7.391122e-05, 0.017360928, -0.081854485, -0.049970977, -0.18043153, 0.07422766, -0.052274927, -0.10796201, 0.02522134) * go_7(-1.0, -1.0); + result += mat4(-0.13193989, -0.39976606, -0.08711887, 0.11760426, 0.0400159, 0.04344605, -0.025972437, 0.017632293, -0.08930181, -0.06918609, -0.100745395, 0.12591058, 0.047575995, 0.20105389, 0.15187413, 0.14879894) * go_7(-1.0, 0.0); + result += mat4(-0.092015155, 0.046027385, -0.06561636, -0.024732815, -0.13749364, -0.11767722, -0.081770845, 0.08132994, 0.059361424, 0.08782322, 0.069658145, -0.016498579, 0.06615127, -0.04983712, -0.072412446, -0.041010287) * go_7(-1.0, 1.0); + result += mat4(0.24117598, -0.027253859, 0.105331935, 0.0037912133, -0.05223233, -0.075537495, 0.02798587, 0.11465205, -0.029297842, 0.04478198, 0.08314539, -0.26526174, 0.020445049, -0.0023376262, -0.04505236, -0.0006044712) * go_7(0.0, -1.0); + result += mat4(0.09227631, 0.13715367, -0.056893453, -0.052973308, 0.40374655, -0.08798927, 0.058961708, -0.19479023, -0.086991675, -0.1769822, -0.07190271, 0.15482901, 0.09349237, 0.1288526, -0.11294257, 0.25005454) * go_7(0.0, 0.0); + result += mat4(0.07191734, 0.027553475, -0.06921294, -0.29639876, -0.09307168, 0.031660758, 0.0066143875, -0.010571511, 0.16258438, -0.023288634, -0.008395366, -0.00199625, -0.0017766656, 0.033006024, 0.007838229, -0.0069438727) * go_7(0.0, 1.0); + result += mat4(-0.21871254, -0.18168172, -0.13938524, 0.11240828, -0.0069276206, 0.06823823, 0.07300479, 0.13021785, 0.05081249, 0.094866015, -0.032590266, -0.00373966, 0.06404947, 0.020337617, 0.05815261, 0.05636723) * go_7(1.0, -1.0); + result += mat4(-0.14583783, 0.13061316, -0.16108353, 0.07912993, 0.10734204, 0.058502458, 0.17339855, -0.016800068, 0.015104513, -0.08744899, 0.03314292, 0.00884198, 0.012148305, -0.13259661, -0.0024382567, 0.09106286) * go_7(1.0, 0.0); + result += mat4(0.011463585, 0.030946795, -0.011552501, -0.035901964, -0.041020002, 0.09250339, -0.020290852, 0.024048228, 0.05744567, 0.026032735, -0.073170856, -0.104456924, 0.071367934, 0.003912922, 0.025425302, 0.047988683) * go_7(1.0, 1.0); + result += mat4(-0.22191837, -0.2257593, -0.15251155, 0.07586268, 0.06943342, -0.007574967, 0.19480947, -0.02960502, 0.20693396, 0.12508106, 0.079586156, -0.06614329, 0.10324912, -0.011199283, -0.032664742, 0.01517784) * go_8(-1.0, -1.0); + result += mat4(-0.16461048, -0.14455634, -0.07863425, 0.10448297, -0.16391546, -0.3440858, 0.061637916, 0.10821992, -0.11559868, -0.124102026, -0.07010831, -0.043542713, 0.005122282, -0.22303511, 0.10319967, 0.11136304) * go_8(-1.0, 0.0); + result += mat4(-0.085814305, 0.0671181, -0.09666471, 0.0709856, -0.08612543, 0.06824724, -0.02760584, 0.120118774, 0.025091501, 0.1524465, -0.08756672, 0.03332349, 0.037369296, -0.019516885, 0.08425569, -0.048828572) * go_8(-1.0, 1.0); + result += mat4(-0.14368273, -0.061557032, 0.059682447, 0.038857657, -0.09985489, 0.13392676, 0.09205029, -0.08138969, 0.06367527, 0.08306289, 0.051590085, 0.009205435, 0.11429562, -0.03924382, -0.103099965, -0.16046633) * go_8(0.0, -1.0); + result += mat4(-0.03116845, -0.161036, 0.16455984, 0.15823524, 0.057797033, 0.10055296, -0.021965846, -0.1707231, -0.1316759, -0.18603332, 0.3289355, -0.17060469, -0.09103268, -0.015564387, -0.0051795538, 0.004206438) * go_8(0.0, 0.0); + result += mat4(0.090225436, -0.06456529, 0.0039322153, 0.13748786, -0.00029579244, 0.05173729, -0.012565472, 0.014817849, -0.15867415, -0.1161162, -0.067584015, -0.04968183, -0.010860482, -0.03713543, -0.045595832, -0.023706641) * go_8(0.0, 1.0); + result += mat4(-0.05970663, -0.027418336, 0.11284707, 0.101240784, -0.07298847, 0.11284481, -0.0078089354, 0.06006012, -0.16067922, 0.07320997, -0.1914743, 0.042251594, -0.048038073, 0.007961409, 0.1175661, -0.09223836) * go_8(1.0, -1.0); + result += mat4(-0.1683908, 0.045841098, -0.09786102, 0.09460191, -0.017222371, -0.035355564, 0.0690435, -0.030392602, -0.27776477, 0.034729514, -0.3573131, 0.19292149, -0.09288385, -0.03694833, 0.19795837, 0.08169002) * go_8(1.0, 0.0); + result += mat4(0.10526859, -0.033842515, -0.00038688057, -0.043641835, -0.03687145, 0.0163753, 0.07397885, -0.025366662, 0.06565965, 0.0792511, 0.03835641, 0.07304188, -0.12286303, -0.006640694, -0.078515835, 0.03172248) * go_8(1.0, 1.0); + result += mat4(0.121351756, -0.0763981, 0.09827231, -0.10602815, 0.04846232, 0.06795368, 0.035164706, 0.055941246, -0.017775094, -0.060437303, 0.04069536, -2.5598622e-05, 0.10354173, 0.03151618, -0.054484546, -0.06755197) * go_9(-1.0, -1.0); + result += mat4(0.052247375, -0.06516116, 0.09588556, -0.003264454, 0.022573326, -0.13400207, 0.1418172, 0.19728236, -0.079901055, -0.13343193, -0.021878898, -0.0290019, -0.09528025, -0.1114056, -0.10429659, -0.16927998) * go_9(-1.0, 0.0); + result += mat4(-0.017356968, -0.00969671, -0.022002133, -0.108752415, -0.06782034, -0.105500594, 0.02407946, 0.18143432, 0.07188958, -0.03473495, 0.08828998, 0.10953856, 0.006947472, -0.03331379, -0.17057602, 0.033569362) * go_9(-1.0, 1.0); + result += mat4(0.10608698, 0.1378534, -0.026160153, 0.039835528, 0.113831565, 0.009820958, 0.07269987, 0.17601271, 0.0034729815, 0.08407026, -0.01897768, 0.05271668, -0.016592437, 0.05929509, -0.15702367, 0.00019891327) * go_9(0.0, -1.0); + result += mat4(-0.0732074, -0.14815444, 0.33618078, 0.024749054, 0.10881424, 0.024599079, -0.21665074, -0.20229015, -0.017055713, 0.11797696, -0.0604084, -0.13081324, -0.007022633, -0.18243237, 9.758133e-05, 0.14844951) * go_9(0.0, 0.0); + result += mat4(0.030599771, -0.14666091, 0.1246702, -0.23767127, -0.1542676, 0.08274036, 0.017111259, 0.17739242, 0.09385083, -0.008990236, -0.008731476, 0.0078490805, 0.10616891, -0.0045042736, -0.015150148, 0.093863346) * go_9(0.0, 1.0); + result += mat4(-0.238582, -0.12888226, 0.062746584, -0.013613244, -0.15023652, 0.00604485, -0.03942331, 0.049745943, -0.03517055, 0.0266165, -0.0053780763, 0.11204057, 0.04067464, -0.010735517, -0.02092895, -0.055166125) * go_9(1.0, -1.0); + result += mat4(-0.21076983, 0.00020977294, 0.057701807, 0.11936158, -0.043244675, 0.15999554, 0.07520316, -0.03134187, -0.047411434, -0.08266884, 0.03400874, 0.058285017, 0.15107161, -0.029803991, -0.061899424, 0.029055532) * go_9(1.0, 0.0); + result += mat4(0.059893206, 0.15408796, -0.06683036, -0.033143673, 0.026131466, 0.046894383, 0.09191239, 0.024258284, -0.035980422, 0.0048372583, -0.053550158, 0.0045745485, 0.103011794, 0.00410687, -0.032758884, -0.026524084) * go_9(1.0, 1.0); + result += mat4(-0.18295364, -0.17585278, 0.17137699, -0.08619195, -0.13111612, 0.051858477, -0.029036282, -0.006265607, 0.11600521, -0.061429944, 0.07723731, 0.025352364, -0.03384655, 0.08169898, 0.011377913, 0.054112416) * go_10(-1.0, -1.0); + result += mat4(-0.0845478, -0.2210954, 0.0278858, -0.12316875, -0.08059248, 0.1765885, 0.0012807783, -0.05785069, -0.16184571, 0.13207576, -0.1969308, 0.085367665, 0.0320036, 0.049941804, 0.0961744, 0.030920865) * go_10(-1.0, 0.0); + result += mat4(0.006473092, -0.28939396, 0.045139372, 0.1506751, -0.039407697, 0.05958992, 0.025343666, 0.013108786, -0.07745663, 0.04343992, -0.014802551, -0.060424045, 0.1636588, 0.0062321406, 0.15372176, -0.09329484) * go_10(-1.0, 1.0); + result += mat4(0.100206874, 0.09197898, 0.09058029, -0.0635527, 0.055971082, -0.051781185, 0.018404432, 0.13257432, 0.24335167, -0.0018386962, 0.013339353, -0.05098463, 0.059486944, 0.009329367, -0.081478484, -0.015244286) * go_10(0.0, -1.0); + result += mat4(0.12779732, 0.089683644, 0.21342328, -0.08844181, -0.2867166, -0.15493292, -0.14888553, 0.16488807, -0.1831781, 0.020893812, -0.10749461, 0.058019836, -0.028827542, 0.0013639918, -0.017985959, -0.18188177) * go_10(0.0, 0.0); + result += mat4(0.29080325, 0.14193642, -0.038238116, -0.18710017, -0.16504124, -0.010206886, -0.11935492, -0.100392096, 0.04072275, 0.033194207, 0.030005952, -0.1253406, 0.15270533, -0.010144447, 0.092550725, -0.019711375) * go_10(0.0, 1.0); + result += mat4(-0.11841741, -0.07162508, -0.061306775, -0.031790234, 0.032855142, 0.0009371411, -0.03394299, 0.13660134, 0.051604748, 0.058614805, -0.010754542, 0.10677512, 0.0937737, 0.03432094, -0.027782435, 0.109737664) * go_10(1.0, -1.0); + result += mat4(-0.14472151, 0.09398292, -0.15900728, 0.05097848, 0.075774, 0.04932654, -0.02454701, -0.08406903, -0.056312535, -0.042069953, -0.071291484, 0.098381884, 0.004548807, 0.05215396, -0.015525509, 0.12574632) * go_10(1.0, 0.0); + result += mat4(-0.11654189, 0.013088836, -0.02402389, -0.036904175, -0.12132315, 0.014733159, -0.028042665, 0.003102871, -0.020543652, -0.020059172, -0.089582056, 0.008796405, 0.02454187, -0.066452146, -0.060199965, -0.02707342) * go_10(1.0, 1.0); + result += mat4(0.05652919, 0.042058658, -0.015599604, -0.05833937, -0.13732237, -0.041316792, -0.07279584, 0.07993067, -0.11355821, 0.054718003, 0.080026165, 0.064056605, -0.035523087, -0.08941014, -0.025958898, 0.061026268) * go_11(-1.0, -1.0); + result += mat4(-0.0058581834, 0.015453918, -0.09214841, -0.022040304, 0.10705177, 0.085769184, 0.113192774, -0.04181053, 0.042530615, 0.16765572, 0.060522784, -0.017345218, -0.044598486, 0.034881953, -0.13498019, 0.23769027) * go_11(-1.0, 0.0); + result += mat4(-0.023105798, -0.020430628, -0.0071207415, 0.006704128, -0.002355791, -0.0752171, 0.061575998, 0.015624271, -0.023365654, -0.1427836, 0.06126982, -0.050201222, -0.06720442, -0.13793977, 0.011413775, 0.058962625) * go_11(-1.0, 1.0); + result += mat4(-0.029752081, -0.0032342975, 0.099601224, -0.08883965, -0.010183654, 0.11812346, -0.109437235, -0.027385335, -0.10880765, 0.026722083, 0.099590175, 0.11692624, 0.1614155, -0.0004482927, 0.057256628, -0.18714856) * go_11(0.0, -1.0); + result += mat4(0.14083168, -0.050669212, -0.007808056, 0.13454509, 0.20497486, 0.004596911, -0.027377158, 0.22557732, -0.029528921, -0.38164106, -0.020178597, -0.1270025, 0.058526114, 0.27948564, 0.00021355593, -0.21633019) * go_11(0.0, 0.0); + result += mat4(-0.1697489, -0.1534659, 0.06745331, 0.06836403, 0.05527775, 0.01585226, -0.008290084, 0.00372169, 0.05588411, -0.07853263, 0.21021011, -0.10604325, 0.0037866917, 0.23453033, -0.034253817, 0.20989835) * go_11(0.0, 1.0); + result += mat4(0.046102192, -0.0130096115, 0.021954251, -0.108732164, 0.04381521, -0.032636926, 0.080669895, -0.08031942, -0.08951513, -0.02696031, 0.0046885624, -0.022610806, -0.099242695, 0.032632332, -0.0016390269, -0.07711874) * go_11(1.0, -1.0); + result += mat4(-0.044159513, 0.07067756, 0.094432525, -0.17828992, -0.12117777, -0.013418155, -0.007921758, -0.02032334, 0.07187493, 0.18236518, -0.037667807, -0.099229, -0.15891619, 0.09857986, 0.0473225, -0.14218943) * go_11(1.0, 0.0); + result += mat4(0.05981301, 0.028920583, 0.07183061, -0.0028005976, -0.04035995, -0.037211154, -0.04457544, -0.0063461177, 0.10543609, -0.07223556, -0.0030153142, -0.22591156, 0.022075815, 0.0039744987, 0.010785018, 0.057664506) * go_11(1.0, 1.0); + result += vec4(0.00025627183, -0.015120007, 0.01494957, -0.053881075); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x128 +//!HOOK MAIN +//!BIND conv2d_24_tf +//!BIND conv2d_24_tf1 +//!BIND conv2d_24_tf2 +//!BIND conv2d_24_tf3 +//!BIND conv2d_24_tf4 +//!BIND conv2d_24_tf5 +//!BIND conv2d_23_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!BIND conv2d_25_tf +//!SAVE conv0ups +//!WIDTH conv2d_24_tf.w +//!HEIGHT conv2d_24_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_30 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_31 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.10379351, 0.18366472, -0.014283382, 0.037760813, -0.19799379, -0.0018981653, -0.059591044, 0.13041328, 0.022382444, 0.08731348, 0.059271958, 0.03694388, 0.038578022, -0.15092373, -0.2403975, 0.15757182) * g_0; + result += mat4(-0.13118985, 0.09737578, 0.04058633, 0.15121624, -0.050244283, -0.058344584, 0.056500804, -0.025770865, -0.005228628, -0.12770256, 0.21192689, -0.12730236, 0.07307438, 0.089528576, -0.14202845, 0.16739286) * g_1; + result += mat4(-0.09291285, 0.049908094, -0.08641805, -0.0994023, -0.13827445, 0.06629267, -0.012042626, 0.14321536, -0.20399944, -0.09279058, 0.08082924, 0.22459853, 0.101080395, -0.03917803, -0.0055141104, -0.056043904) * g_2; + result += mat4(0.09961629, 0.018202445, 0.070070334, -0.08061635, -0.025480092, 0.07361016, -0.09318115, 0.0467741, -0.08614961, -0.2969266, -0.044264156, -0.034117006, 0.0013521328, 0.14935707, -0.11521471, -0.18149963) * g_3; + result += mat4(-0.02796338, 0.07482737, 0.077914014, 0.008720861, 0.113995664, -0.16486213, 0.02044073, -0.26344302, -0.022359366, 0.10770358, -0.28904364, 0.1708076, 0.048541255, 0.056811094, 0.009464462, -0.15483724) * g_4; + result += mat4(0.21674214, -0.056123927, 0.026049627, -0.24166808, 0.106360875, 0.13033913, 0.06690134, -0.102156475, -0.2146559, 0.043410923, 0.052054137, 0.07441795, -0.19243327, 0.080124944, 0.050383605, -0.031940952) * g_5; + result += mat4(0.15253735, -0.14331368, 0.11689908, 0.19804358, 0.09282296, 0.13205051, 0.01873634, -0.16300555, 0.0960226, -0.16211699, 0.108940765, -0.0054207807, -0.10787891, 0.12311903, 0.15282704, 0.02691786) * g_6; + result += mat4(-0.060586907, -0.08894053, -0.11878285, 0.16953108, -0.012478705, -0.053086035, -0.17722923, 0.08350076, 0.07320384, 0.058841225, 0.06174459, 0.17676029, 0.020537157, -0.08562913, 0.19099198, -0.17127311) * g_7; + result += mat4(0.16016012, 0.013196712, 0.014020182, -0.04458684, 0.09496452, -0.013175905, 0.117158264, -0.06100676, 0.035590272, 0.23623185, 0.04740066, -0.16814622, -0.04528422, 0.054107446, -0.007874635, -0.05462888) * g_8; + result += mat4(-0.064958826, 0.062455025, -0.060231823, 0.04726689, -0.08692075, -0.13570185, 0.027609564, 0.058563568, -0.08078551, 0.026376098, -0.092572846, 0.1144904, 0.16768721, -0.055053793, 0.08884567, -0.0039492855) * g_9; + result += mat4(0.08873042, 0.034452096, -0.08266588, -0.064171374, -0.014811351, -0.031750735, 0.039068844, 0.15075831, 0.1469489, -0.15084769, 0.045364805, -0.110339, 0.06251466, 0.032046065, 0.057865307, 0.08985475) * g_10; + result += mat4(-0.07245567, 0.051501337, 0.0042395876, 0.033770293, -0.031408194, -0.05472587, 0.09442824, -0.11996058, 0.24455559, -0.018954042, -0.16885613, -0.01632158, -0.0013987822, 0.06844135, -0.0111589795, 0.05573825) * g_11; + result += mat4(0.004076213, 0.01192855, -0.015088375, -0.08436373, 0.021499854, 0.11274089, -0.10327082, 0.059402663, -0.07375569, 0.07293562, 0.04328945, 0.07769358, -0.00626241, 0.00084008416, -0.085746236, 0.023070317) * g_12; + result += mat4(-0.09255245, 0.085858874, 0.05233346, 0.06957257, 0.0484713, -0.14642376, 0.12319201, -0.19496371, -0.08323385, -0.06796162, 0.10835355, 0.0060179066, -0.18043493, 0.06015162, 0.10672543, -0.005817063) * g_13; + result += mat4(0.3232499, -0.1989966, -0.049172856, 0.076056555, 0.33830073, -0.21595804, -0.10094274, -0.004869525, 0.10147264, -0.04128893, 0.10962383, -0.2672602, -0.0242305, 0.08097903, -0.19162776, -0.10605484) * g_14; + result += mat4(-0.22968711, 0.02579494, 0.11823294, 0.059410084, -0.3657473, 0.035860255, 0.24233946, 0.015638743, -0.30643675, -0.05283249, 0.017403604, 0.29657462, 0.056514356, -0.10457145, 0.13097277, -0.01019346) * g_15; + result += mat4(0.13813877, -0.20461698, -0.23769434, -0.044042442, -0.0980774, -0.16314495, -0.18455383, -0.22081804, 0.08652147, -0.005959925, 0.08006801, -0.056305975, 0.27703115, -0.19184026, -0.20616496, 0.05559955) * g_16; + result += mat4(-0.051795844, 0.00823916, -0.029457001, 0.11031028, 0.3818378, -0.10899863, -0.0840712, 0.2996256, -0.11754779, -0.07541523, 0.013602051, -0.056690898, -0.10979357, 0.079053424, 0.08714793, -0.061318632) * g_17; + result += mat4(-0.11119865, -0.20492773, 0.054974385, -0.07364314, -0.1528288, 0.028022958, -0.00607566, 0.086783506, 0.04634063, -0.032565832, -0.045977455, 0.101378955, -0.09641133, 0.0043743537, 0.08885213, 0.33897394) * g_18; + result += mat4(-0.04481023, 0.097230285, 0.10430489, 0.10649403, 0.21939069, -0.1500718, 0.05880893, -0.10914413, -0.044258267, 0.05826005, 0.066263, -0.06499524, 0.07086308, -0.044233378, 0.021092411, -0.24664259) * g_19; + result += mat4(0.005507752, -0.012920197, -0.073212765, -0.02703035, 0.13821156, 0.08859407, -0.1497461, -0.021670796, 0.10447694, 0.021847986, 0.040287685, 0.08332262, -0.113355346, -0.05927782, 0.0033077523, 0.016749239) * g_20; + result += mat4(-0.13260053, 0.08340849, -0.057220932, 0.050883524, 0.046069406, 0.02517257, 0.07518926, -0.1041817, 0.04734083, -0.13760519, -0.06936529, -0.1629241, 0.06663661, 0.051238295, 0.0026632578, 0.026618795) * g_21; + result += mat4(0.043251, -0.00019805098, -0.0067067496, -0.008556112, -0.07886367, 0.047598533, 0.12148756, -0.21429478, 0.010308021, 0.018492302, -0.089294665, 0.026199404, -0.07520715, 0.0356786, 0.015251901, 0.022741525) * g_22; + result += mat4(0.11324991, -0.048524857, 0.04142719, -0.023030233, 0.014004447, -0.13249397, -0.07014101, 0.07292874, 0.074551955, -0.13850869, -0.0725583, -0.031064156, 0.10623482, -0.013893804, -0.041833505, 0.0536592) * g_23; + result += mat4(0.024236089, 0.021549981, -0.020722905, 0.1031231, -0.06631272, 0.021624254, 0.0040281564, 0.121802464, 0.07268475, -0.13640176, -0.014991021, -0.03396125, 0.012678531, -0.030477472, 0.007851547, 0.032361716) * g_24; + result += mat4(-0.10445165, -0.054380383, 0.116709106, -0.120440856, 0.065207876, -0.037177384, -0.0010802799, -0.09903962, -0.014772104, -0.015991863, -0.011176849, 0.08159087, -0.04181037, -0.045783844, 0.05329981, -0.017217785) * g_25; + result += mat4(0.07567822, 0.047062293, 0.03619995, -0.04219767, 0.10531482, -0.08139784, 0.04502375, 0.01837867, 0.039460644, -0.034145698, -0.14567985, 0.10103348, 0.051675834, -0.068317145, 0.0077824956, -0.09261776) * g_26; + result += mat4(-0.030655192, -0.11313884, -0.12541282, -0.0032168734, -0.005504764, 0.004722538, 0.09903894, -0.10796175, -0.0062598013, 0.06569805, 0.070193775, -0.039988127, 0.09546041, -0.04402558, -0.037034012, 0.014417219) * g_27; + result += mat4(-0.17705046, 0.088174336, -0.01729608, 0.19739969, 0.028319644, -0.021543927, -0.031175073, 0.1129947, 0.03287802, 0.10785583, -0.06357378, 0.005723139, -0.04233204, 0.15263905, 0.046576403, 0.038148563) * g_28; + result += mat4(0.1636625, -0.100117125, -0.070475556, -0.12688895, 0.05384177, -0.12399162, -0.10938886, -0.003527758, -0.025538636, 0.083223015, -0.07737418, -0.030358527, 0.02227781, -0.114781424, -0.016678223, 0.034633335) * g_29; + result += mat4(0.09671474, -0.015161189, -0.032330167, -0.027161723, -0.016465846, 0.033814523, -0.22615166, 0.047766432, -0.028019844, -0.003297678, 0.035333525, 0.0144364005, -0.25640464, 0.23690245, 0.1899895, 0.11149848) * g_30; + result += mat4(-0.012340286, 0.029724559, 0.0727296, -0.03882306, -0.0059372387, 0.010122618, 0.0059355027, 0.034666758, -0.031731993, 0.03645842, -0.23056214, -0.050197847, 0.1743216, -0.10116961, -0.28167897, -0.05476145) * g_31; + result += vec4(0.056676798, -0.061795954, 0.009313649, -0.0061434037); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x128 +//!HOOK MAIN +//!BIND conv2d_24_tf +//!BIND conv2d_24_tf1 +//!BIND conv2d_24_tf2 +//!BIND conv2d_24_tf3 +//!BIND conv2d_24_tf4 +//!BIND conv2d_24_tf5 +//!BIND conv2d_23_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!BIND conv2d_25_tf +//!SAVE conv0ups1 +//!WIDTH conv2d_24_tf.w +//!HEIGHT conv2d_24_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_30 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_31 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.04541149, -0.0050366437, -0.015469368, 0.085441045, 0.00990414, 0.06771481, -0.037142653, 0.010778902, 0.0044673462, 0.051542062, 0.08994092, 0.13987154, -0.042845074, -0.16132447, 0.023451751, -0.22481805) * g_0; + result += mat4(-0.09941504, 0.15387146, -0.051998027, -0.11480554, 0.062280208, -0.005401726, -0.17179395, -0.03911185, 0.0854519, 0.062706485, -0.019981606, 0.24536288, -0.030532219, 0.007958136, -0.13649222, -0.024381576) * g_1; + result += mat4(0.03832889, 0.048103765, 0.12716842, 0.113495626, 0.0440496, 0.07310629, -0.0028000488, 0.17484048, 0.011438359, 0.07389019, 0.02776241, -0.069316044, -0.022972163, 0.10774051, -0.0938801, -0.046535835) * g_2; + result += mat4(-0.19215232, 0.05232597, 0.10455481, 0.023444505, 0.10927069, 0.08145, -0.08996904, -0.04260127, -0.064315274, 0.026296314, -0.032755814, -0.03785644, 0.27563438, -0.07841699, -0.18636514, 0.12306294) * g_3; + result += mat4(-0.048399806, 0.0760641, -0.05177265, 0.033973522, 0.067749225, -0.004380821, -0.0774159, -0.009233096, -0.16465154, -0.011200447, 0.21356043, -0.019024562, -0.20229931, -0.07075142, -0.15664288, 0.015643707) * g_4; + result += mat4(-0.094351426, -0.12644641, 0.05531359, 0.056707513, 0.030638099, 0.07659976, -0.17997725, 0.19117208, -0.17829312, -0.12216621, 0.09648017, 0.14906263, -0.05786116, -0.07496384, 0.09830126, -0.014810007) * g_5; + result += mat4(0.036279242, -0.06603527, 0.023111718, -0.02337117, 0.02710492, -0.006981581, -0.20071441, -0.1842067, -0.03716068, 0.04709737, 0.045576848, -0.06879641, 0.0679718, 0.23346439, 0.09709889, -0.057084534) * g_6; + result += mat4(0.053583074, -0.14553311, -0.005482713, 0.12731002, -0.089931406, -0.07933109, 0.19270168, 0.11797083, -0.16010518, -0.060825907, 0.18154316, -0.20427613, -0.094507605, 0.02467587, 0.14440428, 0.039989635) * g_7; + result += mat4(0.097599536, -0.09245783, -0.20063862, 0.06792256, -0.039978925, -0.05130527, 0.0061799865, -0.09635809, 0.042743832, -0.058897775, 0.0623141, 0.08815142, 0.00898274, -0.27158666, 0.18644404, 0.12572071) * g_8; + result += mat4(0.13333327, -0.11141384, 0.0189257, 0.07486067, -0.1887069, -0.20007583, 0.13411185, 0.024675677, -0.06711045, -0.071214765, 0.14236219, 0.016948408, -0.17799276, -0.05374693, 0.15060847, 0.067363665) * g_9; + result += mat4(0.038455024, -0.14224243, 0.100015596, 0.07427762, -0.09106503, 0.032443333, -0.14614339, 0.007896408, 0.022800734, 0.07946349, -0.16902667, -0.09839048, 0.14083186, 0.08481537, 0.011087685, 0.032849867) * g_10; + result += mat4(0.085465506, -0.039180238, -0.057328876, 0.103486076, -0.019720137, -0.09047379, 0.08041987, -0.2419467, 0.15151846, -0.06660591, 0.08598306, -0.086127274, 0.15807416, 0.21837251, 0.14295265, -0.009427875) * g_11; + result += mat4(-0.06841592, -0.047096353, 0.06594589, 0.04006714, 0.093568385, 0.11080303, -0.02862795, -0.24802656, 0.0015378788, 0.06396377, -0.06855018, -0.068710275, 0.072966084, -0.012504705, -0.065130696, -0.122934654) * g_12; + result += mat4(0.12186286, 0.063676104, -0.029995052, -0.016781203, 0.019202778, -0.08175405, -0.10161839, 0.15557866, 0.05808489, -0.0065964856, 0.12905426, 0.20926952, 0.07859256, -0.008686442, 0.07933362, 0.027106019) * g_13; + result += mat4(0.270541, -0.22690733, -0.1241414, 0.11304112, 0.31634018, -0.21323228, -0.18280524, 0.21687673, 0.0849898, -0.12234687, 0.21007027, -0.0402851, -0.12860335, 0.08126234, 0.08792168, 0.16685387) * g_14; + result += mat4(-0.33927166, 0.29690525, -0.019686026, -0.25433338, -0.31825894, 0.14450845, 0.102088116, -0.07890628, 0.039674938, 0.30625406, -0.13709925, -0.10864652, 0.13764969, -0.11079243, -0.20283377, -0.121819116) * g_15; + result += mat4(0.05846476, 0.25823107, 0.24806418, 0.055018846, 0.041051112, 0.14231546, 0.26531783, -0.13815305, -0.0347555, 0.0021447854, 0.035343073, 0.083788805, -0.009663775, -0.2863793, -0.09310482, -0.28089014) * g_16; + result += mat4(0.0034832477, -0.1229684, -0.34263536, -0.2484542, -0.28131288, -0.22963811, 0.014533452, -0.059620526, 0.05972659, 0.0315117, -0.0146327, 0.0036656864, -0.16042776, 0.11570312, -0.13519408, 0.1524639) * g_17; + result += mat4(-0.07282957, 0.022656137, 0.22041114, -0.08377895, 0.06489512, -0.036208138, 0.24620621, -0.3203503, -0.0572401, 0.13856757, 0.09503737, -0.18688709, 0.045257136, 0.08645792, 0.092612706, 0.0051408974) * g_18; + result += mat4(0.15591198, -0.06501203, -0.066183835, 0.2039885, -0.041642334, 0.03326719, -0.1649146, 0.18826574, 0.041689713, 0.05594161, -0.21183926, 0.025191378, 0.041054897, -0.16157486, -0.17657453, 0.06918169) * g_19; + result += mat4(0.017149586, -0.00056166644, 0.051872972, -0.032802667, -0.12568107, 0.039902873, 0.125781, 0.053033836, -0.03665155, 0.027094372, 0.02308107, -0.098191015, -0.018361865, 0.14320368, 0.01797281, 0.07521308) * g_20; + result += mat4(0.033408675, 0.02283129, 0.02997752, -0.15788378, 0.07751225, -0.0834777, -0.1002591, -0.0842283, 0.004094495, -0.08941768, 0.015826201, 0.07211303, -0.007596218, 0.086126134, -0.016881859, -0.12621973) * g_21; + result += mat4(0.09811428, 0.009112735, -0.03894858, -0.017335944, 0.059483584, -0.026246855, 0.1123727, 0.0808981, 0.1304059, 0.056278635, 0.1863773, 0.037938364, -0.09004633, -0.009749274, 0.152544, 0.067436) * g_22; + result += mat4(-0.07445963, -0.08267445, 0.028935976, 0.07464005, -0.067380376, -0.08914155, 0.07307107, -0.080588445, -0.11806715, -0.08066856, -0.08647821, -0.049984932, -0.107150786, 0.0059908605, 0.014040852, -0.020190625) * g_23; + result += mat4(-0.01459231, 0.059856355, -0.0875324, 0.027868854, 0.08657608, 0.06361718, -0.035373274, -0.0904787, 0.019741405, -0.018468766, 0.029145246, -0.05455427, -0.030421326, -0.009832721, 0.13064435, 0.12649667) * g_24; + result += mat4(0.011868002, -0.07753596, 0.066872604, -0.04274739, -0.053444482, -0.005729885, -0.018525766, -0.00016065332, -0.058514312, 0.0052640345, -0.03733426, 0.0045842915, 0.011884783, 0.012894087, -0.072470754, -0.041928362) * g_25; + result += mat4(0.018619414, 0.1113799, 0.022361143, 0.052643936, 0.046952497, 0.04414177, -0.20046502, -0.033954926, -0.05493111, 0.0051490664, 0.047908846, -0.10915426, -0.13786307, -0.011663383, 0.02886674, 0.029417193) * g_26; + result += mat4(0.082477964, -0.122627676, -0.009119556, 0.00893143, -0.102564596, -0.012067043, 0.12668522, 0.049084503, 0.24883293, -0.14231145, -0.08492953, 0.056602266, 0.03987694, 0.015669636, -0.052809853, -0.04570298) * g_27; + result += mat4(0.071245566, -0.0025086792, 0.16800047, -0.10551504, 0.029111952, 0.057431195, 0.07436777, -0.106048554, -0.111476324, -0.08960098, -0.056703247, 0.01733813, 0.017663429, 0.16780144, 0.088644154, -0.09442747) * g_28; + result += mat4(-0.095035836, -0.060732454, -0.28546825, 0.04226247, -0.04221599, -0.07030749, -0.0042552785, 0.045604907, -0.028733522, 0.0071931393, 0.03753302, -0.018106647, 0.026788713, -0.0751185, -0.090948716, 0.09595944) * g_29; + result += mat4(-0.20686343, -0.15346256, -0.023360955, 0.19853018, -0.0714482, -0.061878093, -0.12700674, -0.16375071, -0.11983135, 0.04651, -0.03974687, -0.01663389, 0.20360872, 0.103487924, -0.07434735, 0.20740858) * g_30; + result += mat4(0.18442543, 0.05037994, 0.02335825, -0.12077025, 0.045586806, 0.13201606, 0.11823723, -0.17146091, -0.10422535, -0.12337711, 0.088312276, -0.059173893, -0.1398436, -0.11372023, 0.0055838027, -0.105238646) * g_31; + result += vec4(-0.03529498, -0.032170508, -0.021623377, -0.0031779222); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x128 +//!HOOK MAIN +//!BIND conv2d_24_tf +//!BIND conv2d_24_tf1 +//!BIND conv2d_24_tf2 +//!BIND conv2d_24_tf3 +//!BIND conv2d_24_tf4 +//!BIND conv2d_24_tf5 +//!BIND conv2d_23_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!BIND conv2d_25_tf +//!SAVE conv0ups2 +//!WIDTH conv2d_24_tf.w +//!HEIGHT conv2d_24_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_30 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_31 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.23695897, 0.0008707441, -0.09535488, -0.107918955, -0.053035147, -0.012367683, -0.12371392, -0.09360587, 0.0070371917, 0.03025939, -0.067142904, -0.30728218, 0.0043842546, 0.06634453, 0.0034304627, -0.21123153) * g_0; + result += mat4(-0.052475177, 0.13422863, -0.10639677, -0.0040811207, -0.26918682, -0.10198708, 0.18605421, 0.10457146, -0.118532345, -0.08069245, -0.0146069005, 0.06658151, -0.008995181, 0.12555914, -0.0065608234, -0.26427776) * g_1; + result += mat4(-0.10251951, -0.08644078, 0.06929046, 0.12174946, 0.036641974, 0.060216624, 0.0073353215, -0.0030551606, 0.08728512, 0.15798406, -0.11238869, 0.042528275, -0.08227845, -0.06437879, -0.29687157, 0.035045058) * g_2; + result += mat4(-0.2118616, -0.28126746, -0.0044101025, 0.032711912, 0.13250305, 0.112085946, 0.11919149, 0.019229135, -0.01793138, 0.0706358, -0.2932021, 0.032647975, -0.16981576, 0.15942986, 0.19010448, 0.12454923) * g_3; + result += mat4(0.1315925, -0.1174062, 0.04584264, 0.10420388, -0.09118308, 0.055226937, -0.21253887, -0.17592257, -0.108380735, 0.082634084, 0.046399225, -0.10313927, 0.048476033, -0.2919353, 0.12174614, 0.22060218) * g_4; + result += mat4(-0.23951934, -0.2581748, -0.10439337, 0.12529592, -0.08995228, -0.020404166, 0.03317947, 0.10584384, 0.03332401, 0.009280485, 0.022306783, -0.021489294, 0.25585315, 0.141186, 0.24060152, -0.18092757) * g_5; + result += mat4(-0.11795161, 0.083966084, -0.03625905, -0.014661008, 0.104938276, -0.017483791, 0.34065375, 0.2541225, -0.044073306, 0.024952037, -0.14324227, 0.15807992, 0.07525055, -0.07074876, 0.09318746, 0.09101949) * g_6; + result += mat4(-0.032153923, -0.13424215, 0.12560824, 0.08011693, 0.12895289, 0.13427536, -0.19034676, -0.14222759, -0.020231325, 0.12888151, -0.061404597, -0.13986583, 0.00984618, -0.17769751, -0.022091439, 0.16932856) * g_7; + result += mat4(0.12616049, 0.2158069, -0.018368874, -0.09398254, -0.03559572, -0.084191844, -0.05094808, 0.051870555, 0.00082472386, -0.19847158, 0.23022321, 0.01599307, 0.03259911, 0.13212477, 0.12290365, -0.123374574) * g_8; + result += mat4(0.15702528, 0.17880908, -0.09648207, 0.11680119, -0.28308877, -0.07930958, -0.039864592, 0.1533101, -0.0639061, -0.06088989, 0.092195325, -0.18879996, 0.12157474, -0.16310088, -0.0705742, -0.13419336) * g_9; + result += mat4(-0.08162867, 0.17165285, -0.009754279, -0.09535414, -0.05133128, -0.05637743, 0.08150842, 0.017400654, 0.01506642, -0.16506091, 0.17735358, 0.1311172, 0.042689405, 0.22685364, -0.049387306, -0.14177462) * g_10; + result += mat4(0.07369564, 0.14358056, -0.0123517625, 0.027063616, 0.026721044, -0.036328644, 0.01727211, -0.004169973, -0.06480533, 0.05179935, -0.089173846, 0.014242428, -0.026303759, -0.09621599, -0.19990425, 0.20575584) * g_11; + result += mat4(-0.08702241, -0.11758268, 0.056043744, -0.15513507, 0.041612398, 0.06331151, 0.13647927, 0.078682, -0.0037741002, 0.08883121, -0.029957289, 0.03741986, -0.012796586, -0.005116995, -0.005864093, 0.032396786) * g_12; + result += mat4(0.071541294, 0.2706407, -0.1646492, 0.06099449, -0.1382612, -0.086235724, -0.083391994, 0.09620373, 0.030570114, -0.032223936, -0.028057259, 0.060482156, 0.052891836, -0.035898015, 0.12505446, 0.1045583) * g_13; + result += mat4(0.1836627, 0.18400975, -0.06898472, 0.15293436, 0.17102835, 0.2577789, -0.1431052, -0.010170343, 0.041604683, -0.47781685, -0.19841458, 0.20508106, -0.1168606, 0.14722034, -0.15521841, -0.112339936) * g_14; + result += mat4(-0.2590894, -0.1739389, 0.097751245, -0.1625812, -0.09160245, -0.26803684, -0.08304184, -0.039023403, -0.06551546, 0.7900237, 0.09004902, -0.2700218, 0.3924898, -0.22098823, 0.14447868, 0.09300293) * g_15; + result += mat4(0.1459711, 0.076514535, -0.27012572, -0.05584663, -0.19236547, 0.3263724, 0.123078234, -0.36640257, -0.063692175, -0.10517102, 0.079691075, 0.03320508, -0.18557668, 0.09733424, -0.038860522, -0.03146454) * g_16; + result += mat4(0.19119984, -0.017070724, 0.020692987, -0.06097901, -0.31390896, -0.3539774, -0.011533943, 0.10555, 0.14474893, 0.13138455, -0.07301415, 0.020723976, 0.09968003, -0.21684577, -0.137175, -0.07195843) * g_17; + result += mat4(-0.09807417, -0.024705391, -0.10559853, -0.036330625, 0.026295185, 0.21305019, -0.1816326, -0.089984804, -0.0364186, 0.08726375, -0.16934377, 0.11783747, -0.046499886, 0.17409094, 0.08606283, -0.1168394) * g_18; + result += mat4(0.061683584, 0.11610398, -0.08963952, -0.04148586, 0.07784646, -0.09693603, -0.05919322, 0.06880165, 0.09901537, -0.053908728, 0.2938966, 0.08008906, 0.027354255, -0.17792425, -0.23622033, 0.07445066) * g_19; + result += mat4(-0.04568423, -0.00313172, -0.024554191, -0.063268654, -0.06823803, -0.035975594, -0.10337797, 0.04157335, -0.032975934, -0.13067393, 0.20014502, 0.1481426, -0.06280778, -0.018023374, -0.09856674, 0.03219835) * g_20; + result += mat4(-0.0044540535, 0.03704335, 0.031475496, -0.0067796065, 0.08216529, -0.021360176, 0.22419196, 0.099668056, 0.08082446, 0.14377055, -0.14571224, -0.013343019, 0.04265009, 0.021519618, -0.048166685, 0.11342666) * g_21; + result += mat4(-0.1029852, 0.084569484, -0.005401726, -0.05848864, 0.112962306, 0.061313655, -0.016030408, -0.023173615, -0.039970405, 0.016853292, 0.16551012, 0.08645207, 0.0019092544, -0.0044910526, -0.058364812, -0.044804156) * g_22; + result += mat4(0.021829009, -0.028762918, -0.079494335, -0.08709858, -0.064889856, -0.012763213, -0.042257447, -0.097328104, -0.0061033736, -0.12146131, -0.09006795, -0.072025664, -0.11667517, -0.05674677, 0.028285908, 0.024131753) * g_23; + result += mat4(0.11134934, 0.0702602, -0.10646791, -0.06896185, 0.13430294, 0.083099216, 0.019172838, -0.11650263, 0.0350792, 0.030151369, -0.062105265, -0.03180261, -0.006595122, -0.008993945, -0.09649205, 0.0076333126) * g_24; + result += mat4(0.026408633, -0.015846157, 0.019721631, 0.10062779, -0.09073072, -0.046461828, 0.03372097, 0.06839955, -0.10907823, -0.04953608, -0.0047381003, -0.014376053, 0.018715208, 0.031804316, 0.053606145, 0.040583223) * g_25; + result += mat4(-0.07934853, -0.01886096, 0.036152482, 0.036394343, 0.084199846, 0.07159742, -0.09901409, 0.055700894, -0.07464093, -0.0674405, 0.007886281, 0.0023414039, -0.04075728, -0.031404145, -0.090607546, -0.02444832) * g_26; + result += mat4(0.09701536, 0.10618154, -0.18954206, -0.014639526, 0.030508006, -0.05885271, 0.026794225, -0.05864953, -0.047004845, 0.03347945, -0.08720657, -0.044724233, 0.07059345, 0.022511845, -0.06694698, -0.0028311196) * g_27; + result += mat4(-0.05472616, 0.006845548, 0.15480581, -0.03908139, 0.037825912, 0.08026918, 0.123195745, 0.022326771, -0.05692749, -0.06646566, 0.25716424, 0.026999693, 0.051669773, 0.08991333, 0.07640691, -0.046126388) * g_28; + result += mat4(0.18714797, 0.029189898, -0.10664823, -0.14234583, 0.014911294, 0.062173508, -0.18819608, -0.16823918, -0.09951189, 0.014782654, -0.11520717, -0.07961905, -0.063739575, -0.023488827, 0.06487948, -0.014286412) * g_29; + result += mat4(0.092983104, -0.044436947, -0.039822012, -0.08590545, -0.13959287, -0.042890385, 0.2564963, -0.026489962, -0.08040444, -0.06900039, 0.3113829, 0.114533454, 0.22869009, 0.054564685, 0.08793378, 0.14634606) * g_30; + result += mat4(-0.13077435, 0.04096513, 0.023417156, 0.10560146, 0.20399679, 0.025704898, -0.23313741, -0.0064721326, 0.16098051, 0.04165071, -0.08543627, -0.17094019, -0.3327795, -0.06824183, 0.107437834, -0.03377226) * g_31; + result += vec4(0.05935789, -0.027414799, -0.105965964, -0.015992867); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x128 +//!HOOK MAIN +//!BIND conv2d_24_tf +//!BIND conv2d_24_tf1 +//!BIND conv2d_24_tf2 +//!BIND conv2d_24_tf3 +//!BIND conv2d_24_tf4 +//!BIND conv2d_24_tf5 +//!BIND conv2d_23_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!BIND conv2d_25_tf +//!SAVE conv0ups3 +//!WIDTH conv2d_24_tf.w +//!HEIGHT conv2d_24_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_30 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_31 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.1545368, -0.051471695, -0.16140307, 0.09652848, -0.090248555, -0.12066054, 0.1767361, -0.08471509, -0.0811788, -0.14072022, -0.04303012, -0.007702722, 0.13935736, -0.21132554, 0.097583875, -0.12626477) * g_0; + result += mat4(-0.077009946, 0.11341266, -0.014190827, -0.05731186, 0.14598061, -0.08561752, -0.087692715, 0.024827115, 0.15067159, -0.031084314, -0.103702016, 0.16679642, -0.007304722, -0.05382251, -0.006476595, -0.034540307) * g_1; + result += mat4(-0.12478302, 0.0998608, -0.020768842, 0.178967, -0.22397885, 0.17558582, 0.011471913, 0.098842315, -0.026981229, -0.073270254, 0.07100908, 0.06399087, -0.07116806, -0.08182064, -0.0014849032, 0.2541588) * g_2; + result += mat4(0.028780911, -0.09417787, 0.045969326, 0.10704354, -0.052760195, 0.08555782, -0.12812418, 0.1158547, -0.17714353, -0.04976, 0.041316688, 0.11038423, -0.27241063, 0.1855846, 0.23411646, -0.095824756) * g_3; + result += mat4(-0.062022362, 0.12351213, 0.01305296, 0.04862448, -0.1472528, 0.036500677, 0.03666005, -0.11136876, 0.05285479, -0.18208516, -0.1316372, 0.04148666, -0.18160903, 0.056404397, -0.12911144, 0.083729036) * g_4; + result += mat4(-0.14088988, -0.025164073, -0.4434851, 0.14736041, 0.04358233, 0.044943232, -0.0739642, -0.018053154, -0.14036542, -0.21224444, 0.08923161, 0.09663615, -0.08434565, 0.09656238, 0.024680674, 0.02995749) * g_5; + result += mat4(0.16193505, -0.15713358, 0.2953047, -0.1257473, 0.019233074, 0.15819971, -0.17022912, 0.085982986, 0.17535183, 0.0613968, -0.015774077, 0.12607461, 0.079570904, 0.08338391, -0.11603918, 0.011505312) * g_6; + result += mat4(-0.23952027, -0.13513869, 0.13461575, 0.17394428, -0.12297233, 0.07278597, 0.0699106, -0.10590944, 0.035547413, -0.043262303, 0.0038226866, -0.084128775, -0.08980834, -0.14883213, 0.11605759, -0.041146316) * g_7; + result += mat4(-0.018182833, -0.12238664, 0.029634932, -0.25285953, 0.11828485, -0.05314554, 0.12802395, -0.07008308, -0.039349154, 0.26426378, -0.0057150517, -0.07171924, 0.098983854, 0.077945545, 0.0065407343, -0.26814637) * g_8; + result += mat4(-0.08471211, -0.00053506374, 0.038021266, -0.087428264, 0.11662403, -0.038277518, -0.005095678, -0.009521368, 0.123804964, 0.14995687, -0.010620397, -0.035754666, 0.086847916, 0.06264173, -0.16579615, 0.02262065) * g_9; + result += mat4(-0.09577556, -0.07982795, 0.024376906, -0.119355425, -0.092210874, -0.010486195, -0.04363388, 0.16995241, -0.13924848, 0.055487193, 0.1950311, -0.06857552, 0.14275251, -0.012629571, 0.10879939, -0.085644074) * g_10; + result += mat4(0.057831254, -0.16999005, 0.15140204, -0.0647146, -0.012351427, -0.041099787, -0.03375414, -0.045616575, 0.026101796, 0.08556994, 0.02738961, -0.18606578, 0.028242199, 0.03386683, -0.061823543, 0.03558579) * g_11; + result += mat4(0.023425754, 0.13217138, 0.032228522, -0.0340593, 0.07340007, -0.0020185385, 0.082099736, -0.06587912, -0.073847964, 0.009864729, -0.020948, 0.02759752, -0.24116306, -0.04943008, -0.041696478, 0.0475257) * g_12; + result += mat4(-0.056659773, 0.003150759, 0.01840173, -0.062517665, -0.0787802, 0.045061097, 0.05366462, 0.042851992, 0.17394984, 0.05068143, -0.068130635, 0.03182271, 0.11936796, 0.034630287, -0.030017216, 0.0371981) * g_13; + result += mat4(-0.04782677, -0.13856164, 0.102476485, 0.3168497, -0.029490076, -0.25574568, -0.15335694, 0.17697816, 0.06968332, -0.064986385, -0.19446203, 0.35532042, -0.10142414, -0.098764315, -0.008530768, -0.22272345) * g_14; + result += mat4(0.003918355, 0.11477308, -0.03541845, -0.060774248, 0.01986403, 0.053085316, 0.020022528, -0.18842602, -0.06607439, -0.117085874, 0.19558486, -0.15384434, 0.14042355, -0.0805339, -0.042012088, 0.16506344) * g_15; + result += mat4(-0.054274496, -0.3048171, 0.15363297, -0.48028508, -0.17355531, 0.15534942, 0.2397687, -0.3212727, -0.0069116117, 0.07829633, -0.12942782, 0.08540519, -0.16048779, -0.045530356, -0.106820785, -0.02039107) * g_16; + result += mat4(-0.17271078, 0.05973828, -0.13368936, 0.18137284, 0.14774464, 0.01207385, -0.48741424, 0.37316188, 0.12304343, 0.033921722, 0.013900458, -0.13834685, 0.00724766, -0.009822602, 0.0048219366, -0.1497808) * g_17; + result += mat4(0.046022985, -0.12942328, 0.106665194, 0.05104162, 0.08260261, 0.037978876, 0.05067675, -0.2878266, -0.15604153, -0.019456798, -0.09279057, -0.023125123, 0.13392529, -0.06734104, 0.03425348, -0.26038775) * g_18; + result += mat4(0.08024023, -0.026217932, -0.0866867, 0.060902715, 0.047891118, -0.18346305, -0.00030129295, 0.06640321, 0.09371082, 0.12981345, 0.1371371, 0.047095854, -0.08373677, -0.075474314, -0.050123196, 0.16816519) * g_19; + result += mat4(-0.06669337, -0.07323153, -0.005088308, -0.022087181, -0.13836318, 0.047315314, -0.098298065, 0.024197588, 0.11019521, -0.049888365, -0.010593423, 0.03579472, 0.13806434, 0.06568386, 0.09670891, -0.13850671) * g_20; + result += mat4(0.033669885, 0.053267747, 0.0055295937, 0.0054150443, -0.14349131, -0.07215267, 0.14743172, -0.08989396, -0.13482799, 0.21353206, -0.015100392, -0.15850681, -0.023853622, -0.081464685, -0.17575328, 0.22396886) * g_21; + result += mat4(-0.013254256, 0.05835715, 0.026902638, -0.036534548, 0.012239494, 0.024609983, -0.011468827, -0.00601273, 0.25535154, 0.039145224, -0.14032148, 0.06934234, 0.078024134, 0.08141313, -0.053155545, 0.058907513) * g_22; + result += mat4(0.09006769, 0.0061046197, -0.05551385, -0.07883374, 0.21045619, -0.071170084, 0.045874875, -0.05969718, -0.06051193, 0.032679733, 0.059326146, -0.11344708, 0.0516495, -0.044130474, 0.021864831, 0.01791737) * g_23; + result += mat4(-0.149584, -0.034539673, 0.056925774, 0.01407683, -0.14341363, 0.07235219, 0.029278886, 0.1040686, 0.044569943, -0.095220655, 0.06324637, -0.11561818, 0.14884533, 0.04400451, 0.030963998, -0.0480698) * g_24; + result += mat4(0.09445444, -0.07705517, -0.04044035, -0.067266196, 0.12994061, -0.08685293, -0.028491655, -0.06546642, -0.06588555, -0.035200167, -0.054667167, 0.12181174, -0.08149457, -0.11196082, 0.022286078, 0.0011389274) * g_25; + result += mat4(0.037566386, -0.0863645, 0.10746364, -0.062283915, -0.0828546, -0.059049137, 0.049943667, -0.09679541, 0.05570479, 0.10147355, 0.09882042, -0.09511045, 0.013920045, -0.13209742, -0.0231511, -0.008779095) * g_26; + result += mat4(-0.049381115, 0.05511609, -0.08505539, -0.011759351, -0.0037505692, 0.02891526, -0.08524465, 0.13446826, 0.066822246, -0.07883564, 0.03159159, -0.114850216, -0.15590072, 0.08861297, 0.049592584, -0.06742877) * g_27; + result += mat4(0.14131398, -0.019512732, 0.07624492, 0.17723484, 0.06855258, -0.11992505, 0.17618321, 0.035750873, 0.19290908, 0.10616057, 0.05006961, -0.10286499, 0.086485304, 0.017133571, -0.059471656, 0.153928) * g_28; + result += mat4(-0.19372323, 0.06717175, -0.17909515, -0.10981143, -0.091010526, -0.03731334, -0.10764653, -0.042411704, -0.25248966, -0.15291771, -0.11685329, 0.097305104, 0.012290167, -0.06666997, 0.06516673, -0.084403165) * g_29; + result += mat4(-0.22607833, 0.05895028, 0.04708332, 0.0361819, -0.18047495, 0.02135859, -0.048527088, -0.09720482, 0.071364224, 0.16597964, 0.058581673, 0.013964815, -0.26778197, 0.16814141, 0.04136449, -0.026651997) * g_30; + result += mat4(0.22577362, -0.13153969, -0.0812206, 0.014283776, 0.14782336, 0.070584215, 0.06939886, 0.07700839, -0.0880132, -0.06622987, -0.088982984, -0.23417433, 0.3470509, -0.03866589, -0.08971988, 0.072038345) * g_31; + result += vec4(-0.083648406, -0.040792946, -0.0071813604, -0.0033592125); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x128 +//!HOOK MAIN +//!BIND conv2d_24_tf +//!BIND conv2d_24_tf1 +//!BIND conv2d_24_tf2 +//!BIND conv2d_24_tf3 +//!BIND conv2d_24_tf4 +//!BIND conv2d_24_tf5 +//!BIND conv2d_23_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!BIND conv2d_25_tf +//!SAVE conv0ups4 +//!WIDTH conv2d_24_tf.w +//!HEIGHT conv2d_24_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_30 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_31 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.02987822, -0.14156254, -0.006805638, -0.06491689, -0.023117961, -0.11864792, -0.020782726, 0.016718477, -0.12822492, -0.2627571, -0.10936498, -0.020479368, -0.08946875, -0.07078646, -0.14763172, 0.079474844) * g_0; + result += mat4(-0.07517533, 0.14936899, 0.005200026, 0.15833679, -0.20985723, 0.015140312, 0.16891868, -0.12731305, 0.001276647, 0.10806773, 0.07292632, -0.0230428, 0.22559881, -0.024635307, 0.05207048, 0.016969835) * g_1; + result += mat4(0.033257335, -0.004516727, 0.08077173, 0.07780093, 0.2343147, 0.16830377, -0.16836162, -0.008906441, -0.09850461, -0.08738698, -0.26028165, -0.029635794, -0.05397607, -0.25291416, 0.08932801, -0.17621125) * g_2; + result += mat4(0.021441426, 0.089970976, 0.087451175, 0.01982307, -0.00534548, 0.0016146855, -0.32349735, 0.020162579, 0.0049562925, -0.065152735, 0.046657056, -0.15083495, 0.11233022, -0.04739685, -0.09070248, 0.17958602) * g_3; + result += mat4(0.1273905, 0.007927681, 0.08298969, -0.022412037, 0.035267398, 0.07840721, 0.08048102, -0.03691808, 0.016431633, 0.012698254, -0.008662408, -0.13933934, 0.12972483, 0.21850783, 0.23307513, 0.000571898) * g_4; + result += mat4(0.0100407, -0.39405826, 0.32025802, 0.2832041, 0.33294165, -0.05958231, -0.1577708, -0.028620213, -0.048587576, 0.039346397, -0.027196862, 0.025590241, 0.00061374693, -0.01180234, -0.018360002, 0.25070924) * g_5; + result += mat4(0.22246312, -0.04815649, 0.08736281, 0.016199166, 0.077316865, 0.045456205, -0.07477754, 0.12618002, 0.07883082, 0.0686953, 0.06405744, 0.0009818063, -0.02092714, -0.030966131, 0.09841693, -0.10895756) * g_6; + result += mat4(0.26012385, -0.10243986, -0.06322028, -0.09087655, 0.06912959, 0.07663046, -0.23804459, 0.053852726, 0.05078947, -0.109246224, -0.14178644, -0.052218866, -0.101676404, -0.023825765, 0.026447691, -0.14865609) * g_7; + result += mat4(0.041431427, -0.015064366, -0.2236117, -0.030924913, -0.08685426, -0.13520546, 0.11651171, 0.053487726, 0.02606458, 0.24306768, 0.16120963, 0.051762126, 0.022511886, 0.081198335, -0.034219068, 0.0092173265) * g_8; + result += mat4(0.19416513, -0.13046128, -0.09250759, 0.033059027, -0.15878743, 0.0041482826, 0.25107592, -0.04122384, -0.12977393, 0.08382433, -0.12364666, 0.10107232, -0.015173569, 0.103763856, 0.026309956, -0.09117284) * g_9; + result += mat4(-0.05419911, 0.00058963, -0.12988667, 0.20055313, 0.030918771, -0.014228711, -0.16702838, 0.020387288, -0.027360002, 0.014445924, -0.022155182, 0.14796254, 0.020506943, -0.111637115, -0.15514074, 0.059505507) * g_10; + result += mat4(0.13351838, 0.15389496, -0.16921681, -0.15721107, -0.23370336, 0.10680521, 0.0915842, 0.10845563, 0.13528366, -0.10152182, -0.023946082, 0.004758842, -0.0053138984, -0.039067965, 0.10247054, -0.2013928) * g_11; + result += mat4(0.0940642, 0.18500984, -0.051960737, -0.007081406, -0.0057662693, -0.056610145, -0.08623894, 0.085122645, -0.0117327655, 0.09875138, -0.0043660044, 0.05047526, 0.04188438, 0.20341921, 0.04265216, 0.056258943) * g_12; + result += mat4(-0.08604029, -0.05491035, 0.059321914, -0.052624896, 0.13617016, 0.11754236, 0.11821107, -0.09910127, 0.07241852, -0.120371416, 0.09970373, -0.17198959, -0.14523451, -0.03410314, 0.015047165, 0.029333182) * g_13; + result += mat4(0.33456117, -0.1694432, -0.33715236, 0.10869151, -0.11678155, -0.12573223, -0.37280464, 0.08583611, -0.050305888, -0.10936392, -0.0093005, -0.16355872, -0.031578295, 0.019013532, 0.12860784, -0.105620846) * g_14; + result += mat4(-0.32792798, 0.1792595, 0.1993371, -0.08149261, 0.046808135, 0.009618961, 0.24690527, 0.017353626, -0.21925704, 0.065837644, 0.29835764, 0.05139222, 0.12341928, -0.11190375, 0.170546, 0.056202386) * g_15; + result += mat4(-0.31099838, -0.06758222, 0.06285113, -0.07353864, -0.047731224, 0.15535083, -0.64979374, 0.099978834, 0.089411214, -0.100012384, 0.08959716, -0.15088384, 0.059998848, -0.15229112, -0.17324549, -0.08506205) * g_16; + result += mat4(0.19391792, -0.16036808, -0.11902212, 0.07436227, 0.10363112, -0.074310906, 0.91709113, 0.084803954, -0.082337715, -0.047767054, -0.04131998, 0.11194046, -0.083899155, 0.17141213, 0.29864565, -0.026448477) * g_17; + result += mat4(0.05156777, -0.049753625, 0.015471171, 0.052691612, -0.02994984, -0.024420734, 0.11585649, -0.20938542, 0.018834207, -0.20320056, -0.13085459, -0.0086262915, -0.04427753, 0.13335848, -0.064420775, -0.04642022) * g_18; + result += mat4(0.16542359, 0.058639698, -0.08314426, -0.14000902, -0.05393692, -0.028636307, 0.10156203, 0.073714875, 0.07786534, 0.08234555, -0.0094138095, 0.056138765, 0.12131325, -0.12354777, 0.073989555, -0.04605284) * g_19; + result += mat4(-0.037727747, 0.018552719, -0.06636154, -0.01930026, 0.04758094, -0.034193367, -0.008783199, -0.07046236, -0.06284397, 0.14185563, 0.15161303, 0.019813264, -0.013503992, 0.10599879, -0.03256722, -0.033422105) * g_20; + result += mat4(-0.065330975, 0.021591648, 0.079216816, 0.10628196, 0.12180891, 0.01777432, -0.00906628, -0.08466977, 0.024665624, -0.1072835, 0.03337738, 0.0034946792, -0.15655187, -0.054999005, 0.110962674, -0.07868374) * g_21; + result += mat4(0.033571556, -0.117526256, 0.027212862, 0.025825463, -0.074807905, 0.05171015, 0.058270566, -0.03289996, -0.18173727, -0.14643425, 0.013240775, -0.054958276, -0.040303323, 0.10216123, -0.021644054, -0.08853978) * g_22; + result += mat4(0.028159522, 0.053900108, 0.056507323, -0.04859119, 0.09431302, -0.027665535, -0.07907181, 0.13235402, 0.06084304, 0.07409592, -0.06193444, 0.04139512, 0.042664766, 0.019047534, 0.09258238, 0.05521245) * g_23; + result += mat4(0.11870216, 0.055985536, 0.0019851802, -0.0021985958, 0.23987925, 0.013639941, -0.05615768, 0.09740685, -0.04664704, -0.07862708, 0.009283556, -0.022454312, 0.0049701035, 0.14134249, 0.0716289, -0.0737223) * g_24; + result += mat4(-0.30323797, -0.09561487, 0.017899506, -0.048141718, -0.056937806, -0.04146931, 0.060856055, -0.09340158, -0.06772142, -0.060182527, 0.017792957, 0.06672238, -0.050410192, -0.07002814, 0.0774449, -0.02395373) * g_25; + result += mat4(0.09439649, 0.008914242, -0.004399012, -0.06303121, 0.12567714, -0.052876584, -0.04600808, -0.03413656, 0.0473433, 0.027317489, -0.035305254, -0.0049644914, 0.0038185562, -0.019911442, 0.012968243, -0.088209115) * g_26; + result += mat4(-0.05984137, -0.09097414, -0.07085692, -0.007414078, -0.059817106, 0.0005326131, 0.06701414, 0.093250066, -0.07503431, -0.048183344, 0.045087397, -0.022639273, 0.0227802, 0.14528684, 0.047489513, 0.032764312) * g_27; + result += mat4(-0.0060594324, -0.08082185, -0.060745455, 0.11094361, -0.010657223, -0.1381517, 0.004693926, 0.09341289, 0.05251002, 0.19687954, 0.0047872537, 0.08393252, -0.10891673, -0.1535456, 0.031703554, -0.007602281) * g_28; + result += mat4(0.1211426, 0.0037113805, 0.0053533735, 0.06705086, -0.0113079185, -0.14421159, -0.091448925, -0.00971443, 0.064816035, -0.1309255, -0.03377283, -0.054445747, -0.023829643, 0.11046322, -0.04438854, 0.027087016) * g_29; + result += mat4(0.14089139, 0.061144315, 0.05492873, 0.08141859, 0.013321813, 0.11854551, -0.0523245, 0.02350885, 0.027290756, 0.20114194, -0.04875496, 0.1252922, 0.13713759, -0.055055924, 0.01316475, 0.061486248) * g_30; + result += mat4(-0.084306486, -0.0730094, -0.02533989, -0.045629617, -0.1022427, -0.16021572, 0.06772375, -0.027088458, -0.24639171, 0.046187285, 0.08361509, -0.08620142, 0.00507411, 0.037024546, -0.11199879, 0.039523087) * g_31; + result += vec4(0.055495262, -0.051167354, 0.028084511, -0.043321524); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x1x1x128 +//!HOOK MAIN +//!BIND conv2d_24_tf +//!BIND conv2d_24_tf1 +//!BIND conv2d_24_tf2 +//!BIND conv2d_24_tf3 +//!BIND conv2d_24_tf4 +//!BIND conv2d_24_tf5 +//!BIND conv2d_23_tf +//!BIND conv2d_1_tf +//!BIND conv2d_4_tf +//!BIND conv2d_7_tf +//!BIND conv2d_10_tf +//!BIND conv2d_13_tf +//!BIND conv2d_16_tf +//!BIND conv2d_19_tf +//!BIND conv2d_22_tf +//!BIND conv2d_25_tf +//!SAVE conv0ups5 +//!WIDTH conv2d_24_tf.w +//!HEIGHT conv2d_24_tf.h +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define g_0 (max((conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_1 (max((conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_2 (max((conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_3 (max((conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_4 (max((conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) +#define g_5 (max((conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) +#define g_6 (max(-(conv2d_24_tf_tex(conv2d_24_tf_pos)), 0.0)) +#define g_7 (max(-(conv2d_24_tf1_tex(conv2d_24_tf1_pos)), 0.0)) +#define g_8 (max(-(conv2d_24_tf2_tex(conv2d_24_tf2_pos)), 0.0)) +#define g_9 (max(-(conv2d_24_tf3_tex(conv2d_24_tf3_pos)), 0.0)) +#define g_10 (max(-(conv2d_24_tf4_tex(conv2d_24_tf4_pos)), 0.0)) +#define g_11 (max(-(conv2d_24_tf5_tex(conv2d_24_tf5_pos)), 0.0)) +#define g_12 (max((conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_13 (max(-(conv2d_23_tf_tex(conv2d_23_tf_pos)), 0.0)) +#define g_14 (max((conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_15 (max(-(conv2d_1_tf_tex(conv2d_1_tf_pos)), 0.0)) +#define g_16 (max((conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_17 (max(-(conv2d_4_tf_tex(conv2d_4_tf_pos)), 0.0)) +#define g_18 (max((conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_19 (max(-(conv2d_7_tf_tex(conv2d_7_tf_pos)), 0.0)) +#define g_20 (max((conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_21 (max(-(conv2d_10_tf_tex(conv2d_10_tf_pos)), 0.0)) +#define g_22 (max((conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_23 (max(-(conv2d_13_tf_tex(conv2d_13_tf_pos)), 0.0)) +#define g_24 (max((conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_25 (max(-(conv2d_16_tf_tex(conv2d_16_tf_pos)), 0.0)) +#define g_26 (max((conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_27 (max(-(conv2d_19_tf_tex(conv2d_19_tf_pos)), 0.0)) +#define g_28 (max((conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_29 (max(-(conv2d_22_tf_tex(conv2d_22_tf_pos)), 0.0)) +#define g_30 (max((conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +#define g_31 (max(-(conv2d_25_tf_tex(conv2d_25_tf_pos)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.011561234, -0.012465957, 0.061722398, 0.004109507, 0.11449728, 0.30646765, 0.11597718, 0.044809423, -0.15796961, 0.09144391, 0.025600316, -0.016890302, -0.06273143, -0.09406291, -0.13892512, 0.107323244) * g_0; + result += mat4(0.26843497, 0.07754772, -0.040967893, 0.14208253, -0.22981443, 0.09998915, 0.12629654, 0.05489728, 0.20781358, -0.06494287, 0.107708186, -0.12273423, 0.03810808, -0.00919042, 0.07503909, -0.10436984) * g_1; + result += mat4(-0.04123376, 0.061480578, 0.09167497, 0.0717715, 0.08920449, -0.059116304, -0.051456068, 0.1435225, -0.0054245745, -0.07957629, 0.012718112, -0.1371298, -0.05244197, -0.001466458, 0.018672079, 0.16870362) * g_2; + result += mat4(-0.0711777, 0.083937705, 0.0055865357, 0.086037554, -0.0026764858, -0.09261858, 0.11146104, 0.034576505, -0.059654012, -0.16707183, -0.010578452, -0.22554928, -0.032461595, 0.023646196, 0.10213768, 0.039538495) * g_3; + result += mat4(-0.08187879, -0.14176089, -0.11134647, -0.0014680476, -0.01505771, 0.0028695054, 0.13650699, 0.09581829, 0.08451168, 0.0593946, -0.022487655, -0.053191096, -0.13652085, -0.18934551, 0.081316985, -0.10670004) * g_4; + result += mat4(0.3095398, 0.15461108, 0.08192997, 0.36671337, -0.23491316, 0.16552022, 0.06679685, -0.014910402, 0.17080174, 0.07363078, -0.05000375, -0.10863247, -0.17515467, -0.13650203, 0.17658728, 0.09099435) * g_5; + result += mat4(0.24561775, 0.085898094, -0.09029496, -0.062148836, -0.13314761, -0.1805575, 0.072130956, 0.010657738, 0.12118199, -0.10993774, -0.2077007, 0.13921109, 0.032653514, 0.099179596, 0.029785015, -0.07210813) * g_6; + result += mat4(0.05213782, 0.02070249, -0.1519397, -0.15459941, 0.12078409, -0.1018201, -0.15649813, -0.09451276, 0.08978216, 0.033983372, -0.325133, 0.03649046, 0.034768645, 0.01820811, -0.1476437, -0.05215747) * g_7; + result += mat4(0.25730282, -0.03574445, -0.26939863, 0.056570202, -0.03860821, 0.064086504, 0.049936775, -0.09219466, -0.23501472, 0.11891639, 0.16585156, -0.06937759, 0.17275843, -0.005933774, -0.038747568, -0.1872246) * g_8; + result += mat4(0.29699612, -0.12036312, -0.17994614, 0.06254196, 0.052887265, 0.10139881, -0.015890123, 0.014276093, -0.08473576, 0.20360646, 0.0719401, 0.116043195, -0.04480997, -0.16405116, 0.06848916, 0.029303674) * g_9; + result += mat4(0.039084256, 0.16812262, -0.045461234, 0.15141405, -0.053278796, 0.0499866, -0.09262412, 0.024975844, -0.10941919, 0.020637758, -0.13150725, 0.120833196, 0.080852345, 0.14054763, 0.11314371, 0.11749595) * g_10; + result += mat4(-0.07858139, -0.11847648, -0.08926328, 0.04630698, 0.20156343, -0.11537608, -0.042400904, 0.08154081, 0.27824274, -0.18951182, -0.19521928, 0.16003811, 0.10160072, 0.084651895, -0.081367895, -0.1803879) * g_11; + result += mat4(-0.015178554, 0.1453211, 0.0029462255, -0.015893389, -0.0070375055, 0.20207931, -0.05530542, 0.08762223, -0.029634364, -0.023058303, 0.04852642, 0.028570767, 0.0017521627, -0.038801666, 0.008321414, 0.013272434) * g_12; + result += mat4(0.112933494, 0.00077646604, 0.15631917, 0.12212562, -0.035100516, -0.15636574, 0.0869713, -0.040045064, -0.043343354, -0.17186165, 0.040316343, -0.040707536, 0.033326153, -0.07299361, 0.10777621, 0.044213336) * g_13; + result += mat4(-0.057331394, -0.29746646, -0.21014963, -0.27668902, -0.07744173, -0.19646992, -0.1978878, -0.148482, -0.038296875, 0.023684174, -0.011479595, -0.3131539, 0.1081339, 0.17462969, 0.23045957, 0.06817404) * g_14; + result += mat4(-0.05616912, 0.44082153, 0.13635121, 0.5260593, 0.068167746, 0.1159533, 0.18762758, 0.06370536, 0.24268357, -0.031904045, -0.03593457, 0.1761274, -0.25467318, -0.27158144, 0.21026418, -0.35541326) * g_15; + result += mat4(0.04480854, 0.40541658, 0.12650406, 0.14116916, -0.12694973, 0.070857644, -0.1654552, -0.38093325, 0.1730254, 0.23093973, -0.17948884, 0.18496381, 0.19546366, -0.11564827, -0.10936328, -0.13326254) * g_16; + result += mat4(0.02783123, -0.16448286, -0.27236226, -0.10730039, -0.10582441, 0.2894545, -0.12485313, 0.09168738, -0.13905063, -0.32243901, 0.12184465, -0.078383766, -0.20384146, 0.10552737, 0.1335408, 0.19632344) * g_17; + result += mat4(-0.036966056, -0.07765606, -0.042519376, -0.18071535, 0.094343245, -0.11750975, -0.115932606, -0.14168039, 0.10521408, -0.1797702, -0.2014665, 0.06983729, -0.043030553, -0.20928553, -0.1358945, -0.19139649) * g_18; + result += mat4(0.014309759, -0.029078862, 0.11430482, 0.15110584, 0.059152886, -0.05306251, 0.08139934, 0.02904774, -0.15470253, 0.10313861, 0.30107433, -0.16773193, -0.094181724, 0.057134327, 0.00092695246, 0.08184109) * g_19; + result += mat4(0.02506316, 0.0867775, -0.08693349, 0.0878035, 0.030453114, 0.042106513, -0.017756486, 0.02601538, -0.054069374, 0.048818395, 0.02386837, 0.024829991, 0.023034105, 0.0051381323, -0.020198671, -0.09797366) * g_20; + result += mat4(-0.023844786, 0.0016428459, 0.123326644, 0.08708688, -0.01703554, -0.06808432, -0.12352092, -0.08645188, 0.009277621, -0.07319661, 0.011372869, -0.22492659, -0.014993174, 0.058244362, -0.105234556, 0.00219484) * g_21; + result += mat4(0.08174906, 0.12529619, 0.053283885, -0.009235874, -0.04773854, -0.12894803, 0.081467494, 0.016731197, 0.05052568, 0.14297223, 0.10280411, -0.03163778, 0.0055582365, -0.012498803, 0.0059484374, -0.031531356) * g_22; + result += mat4(-0.05330085, -0.04974306, -0.079764664, 0.010079839, 0.11561185, 0.026386917, -0.1173086, 0.07318347, 0.022758875, -0.053391833, -0.14447209, -0.0064598285, -0.0024759816, -0.006995636, 0.0007184077, -0.069488235) * g_23; + result += mat4(0.07302404, -0.08720752, -0.037079513, 0.0003512964, 0.02232102, -0.095264226, 0.036082335, -0.00036828392, 0.08033609, -0.04303644, -0.05187976, -0.066657886, -0.059702326, -0.06550579, 0.034914013, -0.038357385) * g_24; + result += mat4(-0.04311525, 0.04406852, 0.0022629597, 0.055104118, -0.058384016, 0.062843435, -0.03903992, -0.024547735, 0.0030863932, 0.12553258, 0.004523987, 0.041851215, 0.02736582, 0.0037202195, 0.008346716, -0.00066181086) * g_25; + result += mat4(-0.10727989, 0.033605255, -0.028996287, -0.10822878, 0.14796142, -0.10711968, -0.19416648, 0.07545809, -0.011922665, 0.15432714, -0.07223956, -0.0389031, 0.056309763, -0.031701643, -0.15709357, -0.085562445) * g_26; + result += mat4(0.015703637, -0.06475049, -0.14153144, 0.059910253, -0.14977545, -0.06390219, 0.13375331, -0.14298701, 0.1305803, -0.050405364, 0.03631835, 0.22620685, -0.050843332, 0.038208447, 0.026526114, -0.017080935) * g_27; + result += mat4(0.12688361, 0.056371618, 0.10022545, 0.15378883, -0.118205115, -0.013227478, 0.07664092, -0.13813822, -0.16385357, 0.03870268, 0.17708874, 0.008884885, -0.2010594, 0.11686294, 0.19129558, 0.020952912) * g_28; + result += mat4(0.019549163, -0.15760489, -0.10022573, 0.15503788, 0.14201608, 0.042376533, -0.052286524, 0.11653048, 0.13872318, 0.07111845, -0.12428939, -0.0038820026, 0.15195651, 0.0346821, -0.08822089, -0.003574916) * g_29; + result += mat4(0.006056049, -0.07287368, -0.18514961, 0.04915554, 0.091064215, 0.27121982, -0.051693153, -0.22751212, -0.18204577, 0.0221348, 0.07865922, -0.22364894, 0.010186452, -0.012915454, 0.049386848, 0.03228151) * g_30; + result += mat4(0.109998666, 0.012412288, 0.1361162, 0.06420964, -0.19105789, 0.100528404, 0.12032071, 0.11792962, -0.16980593, -0.13456152, -0.08864147, -0.23975545, -0.015304083, 0.054322414, 0.032784272, 0.01145087) * g_31; + result += vec4(0.07406925, -6.918896e-05, -0.08913489, -0.016446702); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv0ups +//!BIND conv0ups1 +//!BIND conv0ups2 +//!BIND conv0ups3 +//!BIND conv0ups4 +//!BIND conv0ups5 +//!SAVE conv1ups +//!WIDTH conv0ups.w 4 * +//!HEIGHT conv0ups.h 4 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_4(x_off, y_off) (max((conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_5(x_off, y_off) (max((conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_6(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_7(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_8(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_9(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_10(x_off, y_off) (max(-(conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_11(x_off, y_off) (max(-(conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.12926783, 0.017635763, -0.013476121, -0.06546863, -0.0020913617, 0.04573165, -0.064033605, -0.018238, -0.06351373, 0.06524707, -0.0715566, 0.048930883, 0.08370062, 0.07703095, 0.037626196, -0.019011294) * go_0(-1.0, -1.0); + result += mat4(-0.0017422242, 0.015704002, -0.0065484517, 0.0034917945, -0.203504, -0.052581586, 0.059170052, 0.034942575, 0.18350169, 0.07801102, 0.0016214083, -0.042796984, -0.095814526, -0.0494608, -0.06263077, -0.08761381) * go_0(-1.0, 0.0); + result += mat4(0.028449956, -0.030443287, -0.01351158, -0.00224811, 0.026770886, -0.11713719, 0.008776065, -0.06586146, -0.22359546, -0.067533895, 0.0816704, 0.12743919, 0.06571477, 0.06255163, 0.041541066, -0.0058448445) * go_0(-1.0, 1.0); + result += mat4(-0.09489079, -0.036623634, 0.081674, -0.03636195, 0.13697773, -0.019518752, -0.17432365, 0.019992169, -0.047911603, -0.13385351, 0.10042773, 0.016029052, 0.030136164, -0.027172877, -0.001031953, 0.06582866) * go_0(0.0, -1.0); + result += mat4(-0.055866733, -0.11699785, -0.063725546, -0.054495048, -0.14631337, 0.31479597, -0.03280792, -0.058542997, 0.1398103, -0.06698283, -0.07163176, -0.037448023, -0.060457975, -0.14894441, -0.118958615, 0.02970854) * go_0(0.0, 0.0); + result += mat4(0.16954796, 0.1455119, 0.16188881, 0.12931493, 0.08463092, 0.12101101, -0.013273191, 0.10293549, -0.034920808, 0.041531533, 0.042880267, -0.13770556, 0.13387385, -0.0970746, -0.06980967, -0.023200486) * go_0(0.0, 1.0); + result += mat4(-0.07359327, 0.051948566, 0.026285969, -0.032924615, 0.16437969, -0.1889214, 0.0039336556, 0.043706615, -0.0578081, 0.11538013, 0.07444846, -0.060747445, 0.024889646, 0.15488148, 0.08899952, -0.09964372) * go_0(1.0, -1.0); + result += mat4(0.16784054, -0.058858477, -0.16401602, -0.029084012, -0.019850904, 0.05644765, 0.03163883, -0.021911565, -0.11589579, -0.11843019, -0.111589305, 0.052809834, 0.11501516, -0.07648356, 0.052230515, 0.092886955) * go_0(1.0, 0.0); + result += mat4(0.031150786, 0.05277218, 0.0728661, 0.020861644, 0.029089052, -0.016410865, 0.011665696, -0.046898734, -0.031717364, -0.0127168065, -0.019639771, 0.012864874, -0.21498284, 0.07779946, -0.0077480283, -0.044006687) * go_0(1.0, 1.0); + result += mat4(-0.066615745, -0.011580077, 0.120639496, 0.016614268, 0.026132276, -0.07641368, -0.05658998, -0.069772206, 0.03740111, 0.03333487, 0.098400064, -0.0016500775, 0.05839071, 0.05309518, -0.027565097, -0.03938075) * go_1(-1.0, -1.0); + result += mat4(0.06351996, 0.006185661, -0.036918275, 0.10029065, 0.23438206, 0.15663382, -0.022865077, -0.06931367, -0.011048514, -0.005193203, 0.17288761, -0.024304895, -0.008036278, -0.008113838, -0.054147683, -0.060182277) * go_1(-1.0, 0.0); + result += mat4(0.1689985, 0.077035755, -0.05028808, -0.0762494, 0.008202717, -0.03334299, -0.0504141, -0.023240203, -0.0036260819, 0.022127533, 0.017539665, 0.026891403, 0.019779956, -0.0025955478, -0.008754468, 0.0033192693) * go_1(-1.0, 1.0); + result += mat4(-0.044042338, 0.08709768, 0.06859617, -0.025569353, 0.0595332, -0.21848544, -0.16065672, 0.036280297, -0.12523848, -0.06271851, -0.017368471, -0.07711223, 0.048871677, -0.010382488, -0.0437693, 0.07148062) * go_1(0.0, -1.0); + result += mat4(0.23993973, 0.20499702, 0.123574704, 0.027592948, -0.08493277, -0.055818275, 0.18304282, 0.028260557, -0.044152625, -0.060114615, -0.22076544, -0.20473787, -0.11050344, 0.023228854, -0.00012463839, -0.030457003) * go_1(0.0, 0.0); + result += mat4(-0.008641321, -0.08481431, 0.02876154, 0.15506335, -0.033304676, -0.088077515, 0.07852544, 0.1433104, -0.03732285, -0.0483456, -0.02697428, 0.058970585, 0.06524768, -0.055602137, -0.053783342, 0.049392965) * go_1(0.0, 1.0); + result += mat4(-0.042998265, -0.10999974, -0.06887704, -0.00034993226, -0.074804835, 0.16616777, 0.008689715, 0.000355656, 0.012254178, -0.0717238, -0.006859269, 0.06594322, 0.041172463, -0.03180735, -0.02101005, 0.053185012) * go_1(1.0, -1.0); + result += mat4(0.12952714, 0.09727997, 0.08795567, -0.04953458, -0.027699426, 0.047990426, 0.07493966, -0.06163423, -0.07408061, -0.032931533, -0.0812497, -0.05302238, 0.14796886, 0.06534311, 0.10097287, -0.021323942) * go_1(1.0, 0.0); + result += mat4(-0.14974716, 0.0891444, -0.037996378, -0.02638308, 0.13232549, 0.044330686, 0.09446334, -0.0044896854, 0.031743973, -0.023852853, -0.06806164, -0.029796021, 0.11711989, 0.014950628, 0.0047842227, -0.03379406) * go_1(1.0, 1.0); + result += mat4(-0.08197355, 0.001979392, 0.1395889, -0.024046708, -0.060789634, -0.022009525, -0.031653315, 0.020120833, 0.00514834, -0.02104124, 0.026771626, 0.0032965564, 0.04075344, -0.07198045, 0.032448653, -0.068035536) * go_2(-1.0, -1.0); + result += mat4(0.07843731, 0.026901783, -0.08478698, -0.048486933, 0.19225356, 0.037023634, 0.07265866, -0.099053726, -0.03593816, 0.03370276, 0.0052682273, 0.021495577, -0.025080455, 0.07389491, -0.0017847505, -0.038959842) * go_2(-1.0, 0.0); + result += mat4(0.053258836, 0.04078207, 0.09295192, -0.021825904, -0.004807724, -0.08454232, 0.037102774, 0.033683676, -0.10423599, -0.0039763353, 0.008574363, 0.040606398, 0.38930696, -0.007596849, -0.05715637, -0.08239566) * go_2(-1.0, 1.0); + result += mat4(0.0025093122, -0.050177783, -0.14211158, 0.0037644645, -0.13623556, -0.10453635, 0.016650122, -0.055829223, 0.17538422, -0.09304271, -0.040046915, 0.027603863, -0.06155893, -0.00430452, 0.0023342837, -0.026793983) * go_2(0.0, -1.0); + result += mat4(0.11151169, -0.0684153, -0.05891965, -0.053996798, 0.29509687, 0.087223604, -0.02806932, 0.07231259, 0.16447857, 0.057506807, 0.08907169, -0.039158184, 0.16317198, 0.14243555, -8.347532e-05, 0.13343206) * go_2(0.0, 0.0); + result += mat4(-0.0684127, 0.17917678, -0.024445476, -0.089603886, -0.032717735, 0.028147785, 0.00046893195, -0.13545133, 0.041829295, 0.06302451, 0.040085375, -0.091134705, -0.16327454, -0.15937452, -0.11208865, -0.017756606) * go_2(0.0, 1.0); + result += mat4(-0.1622828, -0.064290136, -0.077471234, 0.20325996, 0.1151283, 0.020182231, -0.06235399, -0.04841261, 0.09205608, -0.037943326, -0.11841134, 0.13129303, 0.10001631, 0.04616772, 0.0076468824, -0.033766087) * go_2(1.0, -1.0); + result += mat4(0.1885096, -0.11946506, -0.04664517, 0.12106764, 0.0017019847, -0.05392451, 0.015514662, 0.12835595, -0.07317445, -0.013959309, -0.056324873, -0.084675394, 0.13411997, -0.08355416, -0.05116357, 0.043123398) * go_2(1.0, 0.0); + result += mat4(-0.09976046, 0.007247968, 0.09458126, -0.0085549485, 0.06640138, -0.07579545, -0.07787044, 0.04111281, 0.052593518, -0.025167007, -0.10260703, 0.039726503, 0.04463933, -0.0073404177, 0.06893751, 0.023595389) * go_2(1.0, 1.0); + result += mat4(-0.13209677, -0.05905579, 0.0037172579, -0.03777616, 0.023850411, -0.03794249, 0.025315933, 0.039317388, -0.12761319, -0.00029748064, 0.027399754, 0.048066862, -0.12295361, -0.057715088, -0.084890746, -0.0018534939) * go_3(-1.0, -1.0); + result += mat4(-0.009622064, 0.009828997, -0.16343904, 0.012290232, 0.10141595, 0.032614756, -0.0722343, -0.058248762, 0.08752965, -0.016058937, -0.14033443, -0.14247452, 0.044392906, -0.0509482, -0.076671004, -0.09944826) * go_3(-1.0, 0.0); + result += mat4(-0.11801312, -0.078754544, -0.028907303, 0.020204972, -0.00807525, 0.009592218, 0.013587085, 0.03268732, -0.016237395, 0.12613463, -0.07606922, -0.048611153, 0.120404065, 0.07353506, -0.018308502, -0.0928186) * go_3(-1.0, 1.0); + result += mat4(0.103043616, -0.043690745, -0.08926332, 0.10926608, 0.07650447, 0.05985906, -0.08143925, -0.09329927, -0.18575777, 0.02601556, 0.05060885, 0.009454815, -0.09776849, 0.040663064, -0.021093182, -0.071754314) * go_3(0.0, -1.0); + result += mat4(-0.01630674, 0.15167665, 0.014230864, -0.07259589, -0.023406526, -0.12963332, 0.003772267, 0.031429663, 0.14110763, -0.19529745, -0.014899895, 0.15883322, -0.022979617, -0.11828465, -0.010775711, 0.20699823) * go_3(0.0, 0.0); + result += mat4(-0.07463863, -0.024185626, 0.13400939, 0.092735745, -0.11007727, -0.05803818, -0.09885388, -0.049603596, -0.062891036, 0.04989709, 0.03151034, 0.04456592, 0.06673375, -0.00042276783, 0.0015201987, 0.031183513) * go_3(0.0, 1.0); + result += mat4(-0.14637282, -0.15434839, 0.062445384, 0.14046007, 0.008121208, 0.042827062, 0.047031205, -0.09278757, -0.018279193, 0.0036310495, -0.01854531, -0.034663606, -0.05098561, -0.010678129, -0.022653349, 0.014830333) * go_3(1.0, -1.0); + result += mat4(0.024634285, 0.12405944, 0.19948581, -0.08734437, 0.03176105, -0.04027108, 0.045582317, 0.044037554, -0.10807711, 0.09467486, -0.027631609, -0.08217483, -0.035664476, 0.15146695, 0.007925873, -0.078050405) * go_3(1.0, 0.0); + result += mat4(-0.097154036, 0.014364971, -0.020642182, -0.020220386, -0.0357456, 0.09496227, 0.110210314, -0.027332012, -0.10335405, 0.015467342, 0.023559198, 0.035299074, 0.010270126, -0.035228938, -0.035314877, -0.037740685) * go_3(1.0, 1.0); + result += mat4(0.07677437, -0.099041484, 0.08227524, 0.028451044, -0.048090696, 0.048308548, 0.02002402, 0.020593867, -0.16374537, -0.0025611143, -0.008507379, -0.029656677, 0.06198073, 0.0621251, -0.0878884, 0.027271627) * go_4(-1.0, -1.0); + result += mat4(0.13326712, 0.09568612, -0.09955783, -0.06464995, -0.1080553, -0.013177989, -0.091879115, 0.0043980163, 0.096038, 0.00082379446, 0.1077031, 0.051108915, 0.11449326, -0.04742037, 0.075871214, 0.06832458) * go_4(-1.0, 0.0); + result += mat4(-0.11432613, -0.02575731, 0.10285911, 0.060753386, 0.10450503, 0.031528436, 0.032356616, 0.020612843, 0.005137281, 0.041043267, -0.053449225, -0.04739492, -0.022107469, -0.04305694, -0.014828701, -0.07910592) * go_4(-1.0, 1.0); + result += mat4(-0.016649982, -0.033692267, -0.16380711, 0.04840447, -0.08704325, 0.03223745, 0.06618067, -0.058747917, 0.002078949, -0.012481651, -0.001862833, 0.073793836, -0.10783936, -0.026685616, 0.09464906, 0.007958871) * go_4(0.0, -1.0); + result += mat4(-0.09529156, -0.011030221, 0.04811921, -0.058335345, -0.16198096, 0.11942748, -0.0012879033, 0.086001225, 0.07690128, 0.079917476, 0.049061555, 0.008218703, -0.05253061, -0.106854506, 0.0075482167, 0.3111194) * go_4(0.0, 0.0); + result += mat4(-0.027775658, 0.059103772, -0.015098427, -0.014103374, 0.038190566, 0.02724517, 0.03320597, 0.019851912, -0.024970068, -0.01468647, -0.12384575, -0.05543631, 0.0740412, -0.016058838, -0.08206018, 0.04608353) * go_4(0.0, 1.0); + result += mat4(-0.02381974, 0.012398538, 0.06616886, 0.01347415, -0.03536895, -0.062602445, -0.018591968, -0.05038233, -0.008164494, -0.07909477, -0.033094108, -0.044485636, -0.18243223, 0.06168974, 0.07344958, -0.036536235) * go_4(1.0, -1.0); + result += mat4(-0.015181048, -0.054964907, -0.09671139, 0.061632328, -0.041971393, -8.0521546e-05, 0.030624658, -0.04471539, 0.008768315, -0.052731395, 0.015046845, 0.12035036, 0.027298013, 0.0076451087, 0.14871614, 0.17427884) * go_4(1.0, 0.0); + result += mat4(0.16830003, -0.017028246, 0.05205674, 0.024545586, -0.016899908, 0.025148457, 0.046180926, 0.015857594, -0.06316512, 0.058127988, 0.02513703, -0.025115915, 0.028232403, -0.03080844, 0.07889233, 0.025056005) * go_4(1.0, 1.0); + result += mat4(0.045276914, 0.017918674, -0.045485076, -0.037483674, 0.06683662, 0.023648288, -0.015354532, -0.00810877, 0.15075907, 0.074351266, 0.003833842, 0.02196497, 0.09251617, -0.0144700715, 0.05222211, 0.05908784) * go_5(-1.0, -1.0); + result += mat4(0.11436125, 0.046093784, 0.033021253, 0.14947179, -0.073261544, 0.0044895527, -0.070047304, 0.063634634, -0.12451059, -0.059948344, 0.06743303, -0.049537323, 0.12232392, 0.006624019, 0.00017795655, 0.0069139977) * go_5(-1.0, 0.0); + result += mat4(-0.05903832, -0.030206619, 0.013915073, -0.03697008, -0.11873987, -0.07172067, 0.07667946, 0.034099083, 0.212897, -0.014532608, -0.021231264, 0.10551015, 0.05757128, 0.022817556, 0.015584272, -0.05811226) * go_5(-1.0, 1.0); + result += mat4(0.11333232, -0.02307842, 0.055530388, -0.037579533, -0.01775949, 0.13781238, -0.084853075, -0.045908786, -0.035615377, -0.029440416, 0.06898324, -0.0211324, 0.10898682, -0.032409493, 0.026761126, 0.0593887) * go_5(0.0, -1.0); + result += mat4(0.028792053, -0.0711117, -0.031095935, -0.06691037, -0.036494207, 0.04325232, -0.01044192, 0.019699099, -0.135968, 0.026980419, -0.08115253, 0.09324798, -0.14339764, 0.011957557, -0.028268812, -0.076987006) * go_5(0.0, 0.0); + result += mat4(-0.0037685733, 0.017815486, -0.0311176, 0.07849914, -0.052071363, 0.039468136, -0.05379765, -0.055341784, 0.10867571, -0.043736573, 0.017801274, -0.012468974, -0.07847819, -0.055475883, -0.018192763, 0.054612897) * go_5(0.0, 1.0); + result += mat4(-0.12339551, -0.042736895, 0.031139426, 0.055459928, 0.02735317, -0.00223694, 0.035595044, 0.0099047795, 0.09026148, 0.11343199, 0.12809223, 0.07653464, 0.04741737, 0.06920812, -0.023478316, 0.010022906) * go_5(1.0, -1.0); + result += mat4(-0.0013142643, 0.032478604, -0.100527644, -0.107406884, 0.19205165, -0.062054783, -0.026734158, 0.07746309, -0.12282383, 0.027779505, 0.0489351, -0.102970384, 0.05754637, -0.0407643, -0.045871045, -0.08728004) * go_5(1.0, 0.0); + result += mat4(0.07999647, 0.037737604, 0.0018015103, 0.027340624, 0.029681504, 0.051112622, 0.07510517, -0.005115188, 0.13523845, -0.042190503, -0.033306144, 0.0021249955, -0.046934023, 0.023981353, 0.09313002, -0.016826976) * go_5(1.0, 1.0); + result += mat4(-0.019876158, -0.10024854, 0.1092125, 0.09021781, 0.1946136, -0.06411127, 0.033485923, 0.030906223, -0.10872131, 0.017895319, 0.011919747, 0.062073786, 0.15985118, -0.067493014, -0.07976057, -0.042163573) * go_6(-1.0, -1.0); + result += mat4(-0.10323808, 0.005511113, 0.009527565, -0.015006099, 0.069202155, -0.026323676, -0.061706487, -0.030945215, 0.15723042, 0.19260678, 0.18506604, 0.022006249, -0.028875409, -0.030105352, 0.02791428, 0.09315079) * go_6(-1.0, 0.0); + result += mat4(-0.07159283, 0.012191451, -0.048083134, 0.025891535, 0.14953457, 0.051475618, -0.030437365, -0.079766236, -0.039878514, -0.15460435, -0.021840231, -0.052903946, 0.21059886, -0.0024842704, -0.042435605, -0.043039396) * go_6(-1.0, 1.0); + result += mat4(0.042905815, 0.014010391, -0.025319157, -0.00425917, 0.07286237, -0.1379992, -0.0020224063, 0.004999196, 0.05806229, -0.046335798, -0.06254037, -0.037656475, 0.112142295, -0.030341217, -0.057973728, -0.06612895) * go_6(0.0, -1.0); + result += mat4(-0.065106615, 0.08555576, -0.0555809, 0.058661778, -0.06703048, 0.00757035, 0.2853245, 0.065487936, -0.043718137, 0.14329132, 0.056263465, -0.057933383, -0.060439464, 0.13277435, 0.050928883, -0.019675303) * go_6(0.0, 0.0); + result += mat4(0.058651224, 0.033697523, -0.08894027, -0.12380978, 0.04701405, -0.068525575, -0.10160738, -0.091192864, 0.051913194, 0.123846985, -0.057066478, 0.110756285, 0.13515612, 0.1319968, 0.054159746, 0.032216214) * go_6(0.0, 1.0); + result += mat4(0.04651348, 0.1435761, 0.027906023, -0.021019146, -0.08287222, 0.116047196, 0.096292056, 0.025322463, 0.06550447, 0.07559469, -0.09061949, 0.059102707, -0.038015757, -0.12853391, -0.0974969, 0.0720349) * go_6(1.0, -1.0); + result += mat4(-0.03694829, -0.144419, 0.057593826, 0.09401981, -0.08426838, -0.019106563, -0.098343626, 0.0035400165, -0.004882411, -0.020896483, 0.15085591, -0.02877296, 0.0050168475, 0.12667508, -0.032590915, -0.0025977234) * go_6(1.0, 0.0); + result += mat4(0.08555901, -0.08812998, 0.014633639, 0.0071074716, -0.0024737378, -0.04788443, -0.12100031, 0.009737524, 0.014586274, 0.096846946, 0.09984849, 0.02886416, 0.022972917, -0.04357125, 0.03608454, 0.08369692) * go_6(1.0, 1.0); + result += mat4(0.018398179, -0.011733849, -0.08888223, 0.009763868, -0.15132993, 0.036217462, 0.09026627, 0.030259093, -0.05344084, 0.0013394047, -0.023476386, 0.021226766, 0.014191311, -0.023437658, -0.01486143, -0.009443682) * go_7(-1.0, -1.0); + result += mat4(-0.040501222, -0.04698822, -0.014550345, -0.058862526, 0.038385723, 0.078983694, 0.030705776, -0.031161394, -0.061136663, -0.048850644, -0.07004682, 0.022786641, -0.03311709, -0.06084822, 0.009284337, 0.1005589) * go_7(-1.0, 0.0); + result += mat4(-0.08333313, 0.053781126, 0.0987624, 0.04839388, 0.038077936, -0.09682916, 0.07501481, 0.052941784, -0.08676212, 0.059663836, 0.005592122, -0.029373128, -0.039431266, -0.011054677, -0.0033718846, -0.010363397) * go_7(-1.0, 1.0); + result += mat4(-0.25438857, -0.14106423, -0.1095653, 0.044371713, -0.012792314, 0.057438467, 0.093233176, 0.01343747, 0.014012183, 0.06930022, 0.03238247, 0.12067357, 0.04201719, 0.052826792, 0.011205695, -0.13735019) * go_7(0.0, -1.0); + result += mat4(0.2513968, 0.18878548, -0.08494262, -0.033912707, -0.012401661, 0.04466303, -0.064235725, 0.09484076, -0.087512895, 0.024816869, 0.12460444, 0.048196383, -0.102229714, 0.011390139, -0.012901067, 0.019761408) * go_7(0.0, 0.0); + result += mat4(0.04083165, -0.026981898, -0.08314919, -0.15494491, -0.016309442, 0.06318721, -0.11398031, -0.123434715, 0.06272964, 0.120257705, -0.047213808, -0.022864863, 0.08250964, -0.0008748767, -0.026923966, -0.11886819) * go_7(0.0, 1.0); + result += mat4(-0.0572505, 0.09574997, -0.026416877, -0.016468205, 0.042582452, -0.045658376, 0.007977456, -0.034145076, -0.16414487, -0.064831346, -0.12984416, -0.07189931, -0.026000094, -0.022171123, -0.052279275, 0.02196819) * go_7(1.0, -1.0); + result += mat4(0.13977319, -0.1856338, 0.055264283, 0.11615191, 0.018945813, 0.036192402, -0.16559355, 0.044231236, 0.06992585, -0.019265816, -0.01624885, -0.0035805993, -0.07164422, -0.0613412, -0.029790098, 0.07381362) * go_7(1.0, 0.0); + result += mat4(-0.042297278, -0.03600898, -0.0060803858, 0.024386367, -0.024764905, -0.009892563, -0.05306169, -0.009156582, -0.014004544, -0.049380273, -0.00926321, 0.104207546, 0.12639539, -0.011966896, 0.0036679953, 0.04123563) * go_7(1.0, 1.0); + result += mat4(0.087914266, 0.030034786, 0.047800478, 0.026684161, -0.07388588, -0.014753155, -0.062804505, 0.008365165, -0.28619346, 0.046332654, -0.04817101, -0.04654128, -0.0077529238, -0.00076770195, -0.0015271158, 0.0900951) * go_8(-1.0, -1.0); + result += mat4(-0.14336522, -0.035474308, 0.07077806, -0.018279878, 0.122582555, 0.011476352, 0.0005371589, 0.03614031, -0.16100433, -0.034190886, -0.015602055, -0.018996995, 0.0463623, -0.0024787814, -0.131681, -0.028286051) * go_8(-1.0, 0.0); + result += mat4(-0.0016493958, 0.02163245, -0.17860246, -0.010473623, 0.05961081, -0.055462852, 0.032510478, 0.04406735, -0.06955566, 0.027825706, -0.022638146, -0.016986169, 0.072017424, -0.023437198, -0.020352025, 0.03992186) * go_8(-1.0, 1.0); + result += mat4(0.14270854, 0.10076204, 0.057706565, 0.040002447, 0.12933765, 0.045798033, 0.06888362, 0.09035585, 0.09493696, 0.066836774, -0.055931687, -0.010011159, -0.043964043, -0.053119596, 0.0056152856, -0.014694015) * go_8(0.0, -1.0); + result += mat4(-0.106826395, 0.0880726, 0.066187285, -0.08792187, 0.21838719, -0.058248095, 0.063199945, -0.022022499, 0.006144834, -0.08456441, 0.06484306, 0.22722279, 0.15705083, 0.054175496, 0.106256135, 0.017333955) * go_8(0.0, 0.0); + result += mat4(0.03056621, -0.16886939, 0.08014906, 0.0916789, -0.1283127, 0.06408635, 0.06269094, 0.10062364, 0.113416724, -0.013479412, -0.084817424, -0.00586942, -0.08222616, 0.0054284483, 0.19320546, 0.14727722) * go_8(0.0, 1.0); + result += mat4(0.12847276, -0.14197338, -0.022223303, -0.0763214, -0.09447677, -0.005780052, 0.057818405, -0.027136158, 0.085074365, -0.006220301, 0.20058243, -0.063831784, -0.08056169, 0.022678059, 0.008363496, 0.020072738) * go_8(1.0, -1.0); + result += mat4(-0.11202945, 0.17998086, 0.15104616, -0.03520308, -0.19648468, 0.006217564, -0.008981938, -0.15311359, -0.08388434, 0.1426307, 0.045980457, -0.0005135447, -0.08663974, -0.025008831, 0.06003114, -0.06509856) * go_8(1.0, 0.0); + result += mat4(-0.110868916, -0.014249358, -0.09942069, 0.030057356, -0.041898925, 0.05822055, -0.043200213, -0.01686225, 0.11234988, -0.009146895, 0.10784546, 0.06355475, -0.046102762, 0.09267515, -0.1140694, -0.08802013) * go_8(1.0, 1.0); + result += mat4(0.03740659, 0.043335274, 0.02336008, 0.027831735, -0.048603576, -0.067655705, -0.017101498, -0.05746645, 0.1795867, 0.01116057, 0.06140174, -0.026575146, 0.11071209, 0.017581625, -0.017244188, 0.04221752) * go_9(-1.0, -1.0); + result += mat4(-0.09093498, -0.03359564, 0.08415435, 0.050293516, -0.08931786, -0.030898308, -0.04302454, -0.049844395, -0.06899083, 0.065314196, 0.07381234, 0.044382907, 0.00913639, 0.014838099, 0.131941, 0.11661075) * go_9(-1.0, 0.0); + result += mat4(0.09359514, 0.043119717, -0.0048988657, -0.0051532434, 0.06493134, -0.019396067, -0.030236453, 0.062512025, -0.08210076, -0.13371024, 0.07324078, 0.01707155, -0.009836148, -0.04419792, 0.018726762, 0.056868013) * go_9(-1.0, 1.0); + result += mat4(0.002404406, 0.039502855, 0.015906025, -0.04441748, -0.049217764, 0.09813344, -0.021763066, 0.03266165, 0.14830649, 0.0039867344, -0.030537432, -0.07398194, 0.0707336, -0.022324476, 0.12472202, -0.05196246) * go_9(0.0, -1.0); + result += mat4(-0.07723416, -0.14285773, -0.04613492, -0.008971669, -0.18420465, 0.11103098, 0.19152859, 0.16272612, 0.078922726, 0.15539406, 0.04024863, 0.00097146304, 0.010272412, 0.102893874, -0.0527275, -0.09105491) * go_9(0.0, 0.0); + result += mat4(0.105623804, -0.056557592, -0.014577096, -0.06719428, -0.10969176, 0.001400308, 0.10562884, 0.009752116, -0.12308614, -0.016182574, 0.14960748, 0.010221066, -0.07155968, 0.017553782, -0.0031618178, -0.022520179) * go_9(0.0, 1.0); + result += mat4(0.24548957, 0.1017951, 0.12329441, 0.011988662, -0.021322595, -0.03971211, -0.06909687, 0.04851306, 0.068949245, -0.05179331, 0.018596865, 0.05922509, 0.06147395, -0.029042587, -0.018740827, 0.10346284) * go_9(1.0, -1.0); + result += mat4(-0.12127875, -0.0073253955, -0.03200258, 0.072222985, -0.0152465915, 0.14565548, -0.022320282, -0.050823502, 0.16004644, -0.083479956, 0.18272156, -0.02837223, 0.028845333, -0.0913557, -0.06520153, -0.012195518) * go_9(1.0, 0.0); + result += mat4(0.043713868, 0.017148755, -0.053153165, -0.04907823, 0.010491636, -0.07181496, -0.052873563, 0.002196607, 0.05668932, 0.007818972, -0.09365786, -0.03236268, 0.076133415, 0.014877766, 0.07280689, 0.04943823) * go_9(1.0, 1.0); + result += mat4(0.020023782, 0.12642653, -0.1257193, 0.0010849107, -0.1028841, -0.0012805086, 0.03139218, 0.051852815, 0.02855834, 0.010926398, -0.08425039, -0.027257154, 0.22177386, -0.11761942, -0.06212804, 0.04763189) * go_10(-1.0, -1.0); + result += mat4(0.098133035, 0.009496852, 0.021568218, -0.15673152, 0.16544092, 0.03957531, -0.20369442, -0.19420235, 0.016424185, 0.036622413, -0.03185247, -0.09215779, 0.07319639, 0.002547832, -0.049706724, 0.030483197) * go_10(-1.0, 0.0); + result += mat4(-0.2281417, -0.023024509, 0.09659972, 0.26335388, -0.0045844577, -0.009834229, -0.018298753, 0.122718684, -0.02647466, 0.002877703, 0.024655823, 0.094881535, 0.12731706, 0.080654815, -0.044072278, -0.03565267) * go_10(-1.0, 1.0); + result += mat4(0.029326709, -0.11864519, 0.09787174, 0.12850013, 0.15769617, 0.13107847, 0.116214424, 0.15526375, 0.115055986, 0.0056176763, -0.03891455, 0.12182736, -0.08285683, 0.00386448, 0.20372197, -0.12381204) * go_10(0.0, -1.0); + result += mat4(0.005426268, -0.012844199, 0.07341806, 0.057192266, 0.17609712, -0.21841417, 0.22905084, 0.3726449, 0.10430437, 0.010538873, 0.05979287, -0.01995585, -0.07817501, 0.00043512616, 0.13539863, -0.06603449) * go_10(0.0, 0.0); + result += mat4(0.050650224, 0.00340572, -0.087897, -0.07721568, -0.11787272, 0.055441145, 0.11856778, -0.07839249, -0.06705796, -0.03665792, 0.051945772, -0.029940791, -0.088110745, -0.09544122, 0.17977637, 0.029465398) * go_10(0.0, 1.0); + result += mat4(0.009884356, 0.17486453, 0.025220042, -0.07008002, 0.02835983, 0.028899308, -0.053842478, -0.05901161, 0.02033701, 0.017125512, 0.072237976, -0.016422039, 0.069241695, -0.020792386, -0.16026399, 0.07822056) * go_10(1.0, -1.0); + result += mat4(-0.048933912, 0.16797939, 0.13613503, -0.08531724, 0.005136678, -0.033446345, 0.10688266, 0.101555996, 0.09844126, 0.03428401, -0.014949532, -0.05729196, -0.028571986, -0.014022329, -0.24312006, -0.19816753) * go_10(1.0, 0.0); + result += mat4(-0.020860989, 0.051978905, -0.2651558, 0.08423122, -0.10601855, 0.078817755, -0.10306769, -0.020730799, -0.07786028, -0.012762303, 0.0060952823, -0.019439751, -0.009204351, -0.05893443, -0.07034564, -0.007940594) * go_10(1.0, 1.0); + result += mat4(-0.11925938, 0.061081305, 0.070605464, 0.04138998, -0.00285024, -0.029746482, 0.0076757227, 0.018701859, -0.008902949, 0.03618365, -0.07888318, -0.014662468, 0.035089407, 0.065284885, -0.033326365, 0.0041100197) * go_11(-1.0, -1.0); + result += mat4(0.23211081, -0.012683885, -0.16230011, -0.06169017, -0.029079294, -0.05057387, 0.028562393, 0.03973977, 0.011671771, 0.0002469616, -0.10245703, 0.022923809, -0.04913737, 0.06672865, 0.2349864, 0.033900134) * go_11(-1.0, 0.0); + result += mat4(0.027792582, 0.06683438, -0.01994665, -0.08401307, -0.04207342, -0.03136845, -0.11143335, -0.05174425, 0.023732347, -0.05457688, 0.07948721, -0.012630631, -0.1056173, -0.09855591, 0.03653026, 0.15765673) * go_11(-1.0, 1.0); + result += mat4(0.18211314, 0.05596375, -0.026444219, 0.014798311, -0.19993293, -0.06994261, 0.11906855, -0.02982133, 0.077721216, -0.030902708, -0.06709148, 0.020592675, -0.11447125, 0.07233842, 0.058984987, -0.05455586) * go_11(0.0, -1.0); + result += mat4(-0.12273281, -0.06268619, 0.027741548, 0.103232265, 0.24827266, 0.16316475, 0.0018391153, 0.05124184, 0.36562333, 0.17595989, 0.094240285, 0.0637318, 0.0020632134, -0.014479322, -0.06842763, -0.0893124) * go_11(0.0, 0.0); + result += mat4(-0.31125456, 0.05318476, 0.03722545, -0.0060882545, 0.045448862, 0.016022528, 0.06722857, 0.0044223024, -0.14124873, 0.19641967, 0.030438993, -0.08689759, -0.019156175, 0.11258338, -0.09206476, -0.054254737) * go_11(0.0, 1.0); + result += mat4(0.035201553, -0.06374724, 0.03458915, 0.0069704987, 0.06520022, 0.04545108, 0.02105428, -0.12958455, 0.024686553, 0.028201332, -0.033172153, -0.05649908, -0.0712372, 0.067082554, -0.03792186, 0.023705954) * go_11(1.0, -1.0); + result += mat4(-0.04699416, 0.045852963, 0.08933013, 0.084006645, -0.077285916, -0.22383444, 0.021708012, 0.05893315, -0.050455105, -0.117869325, -0.012480179, 0.13151298, 0.063093714, -0.12260243, -0.040925674, 0.15162276) * go_11(1.0, 0.0); + result += mat4(0.050113168, 0.053220626, 0.0047162045, -0.022349441, -0.049446188, -0.0018918745, -0.004781672, -0.094967455, -0.12124878, -0.053543426, 0.037635185, -0.04079288, 0.061883993, 0.043724388, -0.056232758, 0.03481704) * go_11(1.0, 1.0); + result += vec4(0.019732969, 0.036610305, 0.01305684, 0.013542827); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv0ups +//!BIND conv0ups1 +//!BIND conv0ups2 +//!BIND conv0ups3 +//!BIND conv0ups4 +//!BIND conv0ups5 +//!SAVE conv1ups1 +//!WIDTH conv0ups.w 4 * +//!HEIGHT conv0ups.h 4 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_4(x_off, y_off) (max((conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_5(x_off, y_off) (max((conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_6(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_7(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_8(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_9(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_10(x_off, y_off) (max(-(conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_11(x_off, y_off) (max(-(conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.011346536, -0.010189852, 0.01468662, 0.011538957, -0.018452257, 0.031463463, 0.0031875803, -0.015967736, -0.048622895, 0.04981561, 0.19536598, -0.022376228, 0.014811388, -0.044611003, 0.042312432, 0.0105891) * go_0(-1.0, -1.0); + result += mat4(0.01407665, 0.057906494, -0.043176714, -0.04686223, -0.044944234, -0.0129517885, -0.07199873, -0.021725824, -0.025745254, -0.09307928, -0.07122306, 0.04601772, 0.14772682, 0.05474974, 0.062001463, -0.082451254) * go_0(-1.0, 0.0); + result += mat4(-0.01707023, -0.05511701, 0.027142549, -0.12741084, 0.026500257, 0.016689515, 0.039026648, 0.0058688438, 0.012205586, 0.09375726, -0.10034814, -0.17154972, -0.007961532, 0.03802082, -0.050602123, 0.16963868) * go_0(-1.0, 1.0); + result += mat4(0.13590911, -0.10969817, -0.0017061695, 0.05243086, -0.09378781, 0.023477294, 0.06416785, -0.03312143, 0.0676838, 0.08458608, 0.023695331, -0.092540056, -0.06777747, -0.04017276, -0.05510425, -0.095139146) * go_0(0.0, -1.0); + result += mat4(0.10133463, 0.0760041, 0.012741356, -0.06967072, -0.15163842, -0.091654524, 0.119649194, 0.10344799, -0.04721513, 0.0010481137, 0.077184685, 0.11766245, 0.07247049, 0.074190564, -0.024995033, -0.009145566) * go_0(0.0, 0.0); + result += mat4(-0.17371134, -0.104388446, 0.17345135, 0.026755063, 0.15404625, -0.051054668, -0.02018181, -0.06619917, -0.036865357, -0.04570358, 0.07079423, 0.11516949, -0.1797122, -0.049163837, 0.014738985, 0.04657914) * go_0(0.0, 1.0); + result += mat4(0.034890473, -0.05995724, -0.032354966, 0.06666679, -0.13994579, -0.08765461, -0.0036824804, -0.15497409, -0.011645552, -0.038018197, 0.034332644, 0.15941373, -0.008529513, 0.029604074, 0.0858699, -0.029017976) * go_0(1.0, -1.0); + result += mat4(0.08998875, 0.08112867, -0.099883065, 0.044013463, -0.02016892, -0.03194337, -0.01919129, -0.12692481, 0.05599388, -0.07186521, -0.06314103, 0.12600331, 0.080855615, -0.0111736385, -0.109203525, -0.061154358) * go_0(1.0, 0.0); + result += mat4(-0.08379919, -0.008933122, 0.16047752, -0.06960835, 0.035622384, 0.04627194, 0.05591613, -0.10179673, 0.023425609, -0.010385273, -0.09213081, 0.08659878, 0.025480824, -0.011364837, -0.1625303, 0.049823724) * go_0(1.0, 1.0); + result += mat4(0.034424074, -0.009408429, 0.033215035, 0.02420301, 0.021150611, 0.10608603, 0.058309395, 0.089898825, 0.018230092, -0.07854764, -0.057673525, 0.040332563, 0.10875167, -0.07030883, 0.031787585, -0.010897151) * go_1(-1.0, -1.0); + result += mat4(-0.0443787, 0.05504108, 0.09131229, -0.099139705, -0.04701309, -0.009591658, 0.06669618, 0.2015056, -0.056293335, 0.008075372, -0.07677628, 0.004702445, 0.021260587, 0.09744715, 0.057423804, 0.021359375) * go_1(-1.0, 0.0); + result += mat4(-0.051712368, -0.13244982, 0.07139737, 0.10835864, 0.0021893524, -0.1166478, 0.032233547, -0.064695075, -0.004389391, -0.0006074538, -0.032327574, 0.025842449, 0.15086086, 0.011622154, 0.065773465, 0.053508304) * go_1(-1.0, 1.0); + result += mat4(0.16315337, -0.0960404, -0.015643299, -0.037323635, 0.011508587, 0.04948558, -0.2871154, -0.14281087, 0.030323455, 0.078583434, 0.042384572, 0.12129205, -0.14123607, 0.087236665, 0.00889755, -0.167402) * go_1(0.0, -1.0); + result += mat4(-0.10391628, -0.06562147, 0.16477463, -0.20144655, -0.13973404, -0.19467448, -0.22762212, 0.029091561, 0.04566389, -0.09161383, 0.0008052232, 0.06389014, -0.15395997, -0.04903166, -0.092670366, 0.24895951) * go_1(0.0, 0.0); + result += mat4(-0.06552579, 0.073258355, -0.048055243, -0.12984315, 0.13946985, 0.026553746, -0.086942226, -0.021019895, 0.108548835, 0.07589171, -0.07590544, 0.043813374, -0.049252693, -0.033001482, -0.10167677, -0.004061408) * go_1(0.0, 1.0); + result += mat4(0.055682752, 0.035191942, -0.012800461, 0.061034914, -0.034456123, -0.025950838, 0.048463937, 0.007615106, 0.026728414, 0.03593474, -0.031136641, -0.05859427, 0.044800963, -0.0120887635, 0.07071209, -0.08164673) * go_1(1.0, -1.0); + result += mat4(0.17031406, -0.075592056, -0.028005876, 0.21785976, -0.050383326, -0.025190461, 0.102980904, 0.044166747, -0.023629388, -0.017228302, -0.08063423, 0.06228589, -0.106073886, -0.05417417, 0.01384367, -0.13417888) * go_1(1.0, 0.0); + result += mat4(-0.078987636, 0.12849496, 0.002592266, 0.057576377, 0.032209363, 0.06408963, 0.12294599, 0.07883444, 0.032161426, 0.06155877, 0.010895797, 0.0041334014, 0.02162249, -0.025320755, 0.07935094, -0.03933022) * go_1(1.0, 1.0); + result += mat4(-0.10999319, -0.071749605, 0.016940862, -0.06689887, 0.06562708, 0.015421828, -0.10038977, 0.022351438, 0.0072378516, -0.024689745, -0.009900782, -0.062202867, 0.070968285, -0.11074895, -0.13759296, -0.013251953) * go_2(-1.0, -1.0); + result += mat4(0.05854622, 0.09259871, -0.08797134, 0.088989675, 0.024802083, -0.029615134, -0.084783845, 0.13236238, -0.020588808, -0.042224985, -0.18020448, -0.04156565, 0.053059112, 0.045463946, -0.14048785, 0.11717459) * go_2(-1.0, 0.0); + result += mat4(-0.08766928, -0.041452006, 0.117475726, 0.010223308, 0.0733292, 0.014873856, -0.051121786, -0.07365082, 0.05471446, -0.0041644056, -0.030100634, 0.0044434085, -0.12453169, 0.004249513, 0.10762343, -0.04802087) * go_2(-1.0, 1.0); + result += mat4(0.15042898, 0.11271491, 0.17064768, -0.14598627, 0.0046017463, -0.016604707, 0.12100557, -0.07047844, 0.00046655512, 0.07742004, 0.13596372, -0.26504397, 0.104628205, -0.020363433, 0.074614085, 0.048167326) * go_2(0.0, -1.0); + result += mat4(0.12558675, -0.0046868515, 0.11997075, 0.030146364, -0.24822445, 0.09035629, 0.09392945, -0.01282837, -0.14198944, -0.07914039, 0.14079341, 0.049647167, -0.10037791, 0.08510244, 0.060112644, -0.05828877) * go_2(0.0, 0.0); + result += mat4(0.0038134505, -0.0009776007, 0.021530341, -0.03960861, -0.08656342, -0.026612714, 0.16857505, 0.10419946, 0.039362654, 0.008928767, -0.063425034, 0.014230696, -0.038191617, -0.061117157, 0.12815697, 0.076420926) * go_2(0.0, 1.0); + result += mat4(0.105563276, 0.07188178, -0.1257647, 0.010952779, -0.006922382, -0.02450461, -0.060794815, 0.09487304, -0.050465595, -0.02540529, -0.05827751, -0.021716394, 0.12369245, 0.0341066, 0.015743105, -0.012569158) * go_2(1.0, -1.0); + result += mat4(-0.026761103, -0.13780616, -0.13580202, -0.08337423, 0.013252865, 0.058387537, 0.01327199, -0.112468764, -0.027649863, -0.1197769, 0.11468971, 0.11502767, 0.052262947, -0.0058312807, -0.086597145, -0.35570583) * go_2(1.0, 0.0); + result += mat4(-0.11599564, -0.031244904, -0.017109923, -0.05101123, -0.0004512701, -0.07973053, -0.09035307, -0.023658501, 0.014839398, 0.028093025, 0.0234968, -0.18863517, -0.13489392, 0.051918108, -0.07010214, -0.07362468) * go_2(1.0, 1.0); + result += mat4(-0.022967706, 0.03409257, -0.13011228, 0.018934863, -0.039100666, -0.020177094, 0.13811639, -0.053306706, 0.00033211143, -0.039420232, 0.048290595, 0.08621673, -0.06638511, 0.022031369, 0.03948355, 0.027415393) * go_3(-1.0, -1.0); + result += mat4(0.0733964, -0.15682685, 0.24674796, 0.015979934, 0.103295825, 0.029281138, -0.00640193, 0.13705851, 0.04091665, 0.14897555, -0.003959307, 0.09191084, 0.07552526, 0.20486775, 0.054813545, -0.11239579) * go_3(-1.0, 0.0); + result += mat4(-0.008331485, -0.012025073, 0.03492921, 0.019618858, -0.03954045, -0.071347415, 0.12705332, 0.0075824475, -0.052891266, -0.009689185, 0.062378254, 0.04014343, -0.11668825, -0.009087395, 0.1857334, 0.11280801) * go_3(-1.0, 1.0); + result += mat4(-0.15169081, 0.1754912, 0.09287187, -0.0774441, 0.058556065, 0.059686765, -0.060081564, -0.04313811, -0.016350636, -0.027055483, -0.13249923, 0.006526878, 0.14684454, -0.013140385, -0.1353234, 0.10173243) * go_3(0.0, -1.0); + result += mat4(-0.025216255, -0.11498921, -0.0048903055, 0.07295964, 0.004382687, -0.013619205, -0.13797475, -0.058054335, -0.13391814, 0.13050263, -0.14202392, -0.2533213, 0.011737626, -0.06215436, -0.08448346, -0.23070122) * go_3(0.0, 0.0); + result += mat4(-0.021087795, 0.036483947, 0.01711435, -0.114880696, 0.105158284, 0.05111301, -0.07166783, 0.11605991, 0.045191426, -0.16015877, -0.11853486, -0.10897978, -0.17802416, -0.03555868, -0.0211633, -0.03494978) * go_3(0.0, 1.0); + result += mat4(-0.13263, -0.11029696, -0.033902865, -0.30437568, -0.075444214, 0.013206511, -0.0035109608, 0.124780156, -0.09391511, 0.038073853, 0.12877125, 0.3194643, 0.022432188, 0.05839717, 0.015229111, 0.03161354) * go_3(1.0, -1.0); + result += mat4(0.07500255, -0.0544746, -0.0057444978, 0.085524514, 0.0039521367, -0.02846398, 0.0058501028, -0.31636232, 0.02293016, 0.056456707, 0.00027596892, 0.025130993, 0.047589883, 0.155542, 0.017633265, 0.07390622) * go_3(1.0, 0.0); + result += mat4(-0.0062066396, 0.0316163, 0.14144021, 0.030221554, -0.00863229, 0.06580719, 0.059968337, 0.07765083, -0.015134933, 0.035973195, 0.10988175, 0.11437035, -0.023520702, -0.08846395, 0.013739085, 0.050823744) * go_3(1.0, 1.0); + result += mat4(0.008106373, -0.0023063454, -0.0024802976, 0.032234177, -0.04088235, 0.015171077, 0.029296082, -0.08079965, 0.034948766, -0.0010730241, -0.08728237, 0.070416205, 0.0045650583, 0.05538079, 0.19528446, -0.052673608) * go_4(-1.0, -1.0); + result += mat4(0.016898211, 0.0050003855, -0.04341598, 0.022770751, 0.085336484, 0.05628842, -0.0014142266, -0.10267082, 0.18624198, -0.03292003, -0.07424303, 0.08008146, 0.05010332, -0.015901754, 0.05890648, 0.06925725) * go_4(-1.0, 0.0); + result += mat4(-0.018265042, -0.010869422, -0.07447807, -0.014413915, 0.09715455, -0.064607695, 0.1956236, -0.16954915, 0.035966706, 0.01662019, 0.0035679787, -0.108899355, 0.016283005, 0.014987783, 0.039045602, 0.0048528756) * go_4(-1.0, 1.0); + result += mat4(0.014170341, 0.03811794, 0.04387719, 0.018673718, -0.059142195, -0.07665744, 0.00953344, -0.031336244, -0.30863273, 0.021407362, 0.11213431, -0.0688236, 0.012107985, -0.068919726, 0.04908253, 0.033023857) * go_4(0.0, -1.0); + result += mat4(-0.009969555, -0.032109927, -0.03331378, 0.11773186, -0.10909507, 0.006639517, -0.04539575, -0.0579204, -0.15170537, 0.056941837, 0.10823326, 0.07401396, -0.090091236, -0.06865221, 0.089120984, 0.016806215) * go_4(0.0, 0.0); + result += mat4(-0.092228875, 0.07815842, 0.076902114, 0.02190536, -0.04174865, -0.06646516, 0.0176217, -0.029791437, -0.0035171576, -0.027853405, 0.028345402, -0.019673025, 0.012397768, -0.025244448, -0.076721594, 0.056545198) * go_4(0.0, 1.0); + result += mat4(0.013751089, 0.028710453, -0.03519501, -0.110917166, -0.038981955, -0.004856431, -0.028126277, 0.09069896, -0.10534752, -0.010651089, -0.0866404, -0.041926295, -0.00065560994, -0.005656592, -0.1740303, 0.0106397625) * go_4(1.0, -1.0); + result += mat4(0.09781949, 0.029838594, -0.023950173, -0.028789546, 0.04113645, 0.06742668, 0.041924026, -0.14799178, 0.17004259, 0.034131896, -0.0086515965, 0.028065475, -0.00021416941, 0.02135054, -0.09778746, 0.007861735) * go_4(1.0, 0.0); + result += mat4(0.06710593, -0.06341859, -0.028064046, -0.1677076, 0.011845988, 0.12466771, 0.01782362, -0.06517061, 0.102153264, -0.034240305, 0.011049182, -0.027621388, -0.09351915, -0.02335411, -0.1708267, -0.013902164) * go_4(1.0, 1.0); + result += mat4(0.042084724, -0.09187555, -0.01763735, -0.07258012, 0.017196022, 0.009109215, 0.0012129606, -0.054706305, -0.027335504, -0.0051592705, 0.069727525, -0.17291252, -0.038160447, 0.080340855, 0.039895944, -0.11056116) * go_5(-1.0, -1.0); + result += mat4(-0.102107584, -0.041565824, -0.042674188, -0.015800798, 0.04497329, -0.016620796, 0.022366378, -0.013556663, 0.032126855, 0.041012876, -0.14174919, -0.1560601, -0.081136726, -0.014138632, 0.056592766, -0.16777231) * go_5(-1.0, 0.0); + result += mat4(0.10150729, 0.008907809, 0.10614623, -0.07286546, 0.10723833, 0.021950519, -0.005111765, 0.06091595, -0.02421664, -0.019942336, 0.12972529, 0.009076642, 0.06539415, -0.022795863, -0.075288706, 0.014927523) * go_5(-1.0, 1.0); + result += mat4(-0.014244343, -0.000929902, -0.060213383, 0.09852084, -0.053474598, -0.048381846, 0.10211108, 0.024139889, -0.013204734, -0.071033664, -0.123871826, 0.0054151136, -0.12164578, 0.081909955, -0.028816964, 0.01169573) * go_5(0.0, -1.0); + result += mat4(-0.07056067, 0.04857147, 0.061022542, -0.049719986, -0.17551526, 0.1161503, 0.15292794, -0.035287943, -0.29109716, -0.0018822167, -0.010201887, -0.055536415, -0.067613594, -0.1992745, -0.09841933, -0.123833716) * go_5(0.0, 0.0); + result += mat4(0.1412714, 0.049180016, -0.03390746, -0.046064492, -0.023715207, -0.032539513, -1.6744474e-05, 0.028718626, 0.11656023, 0.040432427, -0.043946996, -0.024617044, -0.04319868, 0.05100717, -0.10793789, -0.054517962) * go_5(0.0, 1.0); + result += mat4(0.009468791, -0.04127448, -0.042937916, 0.06944511, 0.08705993, 0.021766761, 0.057793774, 0.06747134, -0.0021050486, 0.035647735, 0.045688458, 0.17192644, -0.09825212, 0.07496541, 0.020065174, 0.019740075) * go_5(1.0, -1.0); + result += mat4(-0.033311404, 0.007491604, 0.040468596, 0.023317045, -0.12160635, -0.05972934, 0.03746047, -0.07959294, -0.05877447, -0.017430093, 0.16329257, 0.101292275, -0.008307186, -0.12543157, 0.11821003, -0.040085237) * go_5(1.0, 0.0); + result += mat4(-0.01930621, -0.051717315, 0.080195114, 0.03196475, -0.00016059505, -0.08457369, -0.046941303, -0.022827666, 0.07095548, 0.033528283, -0.000117218326, 0.030527927, 0.06767608, 0.06405806, 0.07108598, 0.014807144) * go_5(1.0, 1.0); + result += mat4(-0.029079122, -0.015964817, 0.033776768, -0.0064601395, 0.074425496, -0.06249402, 0.08085541, -0.0328853, 0.045291834, 0.057221, -0.0290186, -0.08744155, -0.0019775776, 0.030526869, 0.021371083, -0.12569618) * go_6(-1.0, -1.0); + result += mat4(0.0105911875, -0.005750151, 0.04260309, 0.014210322, 0.015407955, 0.00060751993, 0.049610585, -0.07466906, -0.040390488, -0.08162035, -0.061898038, -0.124972105, -0.050505, -0.092164226, 0.044362675, 0.111919016) * go_6(-1.0, 0.0); + result += mat4(0.0023963703, 0.041282196, -0.05646783, 0.05777507, 0.011205205, 0.034503374, -0.061611064, 0.12293142, 0.03772801, -0.07229799, 0.17227742, -0.12071008, -0.056806654, -0.008114281, 0.14452657, -0.08887878) * go_6(-1.0, 1.0); + result += mat4(-0.21772021, -0.021077266, -0.1770528, 0.083148256, 0.08415942, 0.061095197, -0.029297728, -0.037614755, 0.02089666, -0.08475015, -0.121696874, 0.1493812, 0.066780515, 0.035673257, -0.065779, 0.061450582) * go_6(0.0, -1.0); + result += mat4(0.021123944, 0.059452675, 0.08180326, -0.19369176, 0.039034773, 0.03499539, 0.048452575, -0.07801659, -0.05485538, -0.105147846, 0.0068246434, -0.015414475, -0.1417038, 0.006331833, 0.014578991, 0.012340914) * go_6(0.0, 0.0); + result += mat4(0.094774865, -0.011211499, 0.059985403, -0.028005127, -0.0649738, 0.07220796, -0.030932115, -0.011833521, 0.0043799044, 0.15417443, 0.034783, -0.20707501, 0.07021401, 0.009785066, 0.14368738, -0.17200746) * go_6(0.0, 1.0); + result += mat4(-0.09100167, 0.045779057, 0.15219277, -0.0050024926, 0.023136042, -0.11590488, 0.027398195, 0.14377147, -0.010942484, 0.068835154, 0.034892514, -0.123761274, 0.04814801, -0.023703141, 0.0013907297, -0.13976863) * go_6(1.0, -1.0); + result += mat4(-0.012781681, -0.042058986, 0.09873809, -0.044842128, 0.107526705, 0.08875909, 0.06501842, 0.0016359149, 0.08201313, -0.003446927, 0.09634223, 0.023682993, -0.12472837, 0.04145395, 0.033324856, -0.031588905) * go_6(1.0, 0.0); + result += mat4(0.035773195, -0.05701548, -0.17205292, 0.04882352, -0.08240135, -0.094785504, -0.025757896, 0.12895074, 0.0059648356, 0.02510323, 0.022789897, -0.06383224, 0.09968879, -0.10530578, 0.09228151, -0.00908396) * go_6(1.0, 1.0); + result += mat4(-0.053807683, 0.014884302, -0.03485459, 0.04246955, -0.032471776, -0.05131093, -0.018564003, -0.12595583, 0.005416638, 0.076546475, 0.0888337, 0.036004946, -0.10503138, 0.07228829, -0.05705534, 0.0231448) * go_7(-1.0, -1.0); + result += mat4(0.09341325, -0.01457277, -0.13981566, 0.100088514, -0.043855526, 0.015064728, -0.05971226, -0.07256148, -0.06452353, -0.108638905, 0.17481643, 0.08273329, -0.04073856, -0.060100254, 0.030729054, -0.21446918) * go_7(-1.0, 0.0); + result += mat4(-0.017811695, 0.062441234, -0.13309179, -0.09893964, -0.029610047, 0.033209465, 0.0660493, -0.052885335, 0.059748773, 0.016739162, -0.022443991, 0.119800024, -0.11143448, 0.023552373, -0.09487124, 0.025983935) * go_7(-1.0, 1.0); + result += mat4(-0.07614831, 0.15428677, -0.047756683, -0.3037738, 0.09638902, -0.07732393, 0.04147059, 0.17367123, -0.020671597, -0.13251007, -0.0395828, -0.05635809, 0.15072255, -0.042935852, -0.053226065, 0.12370819) * go_7(0.0, -1.0); + result += mat4(-0.27525103, -0.04073109, 0.16350949, 0.20433354, 0.113841645, 0.12456919, 0.0816484, -0.12243652, 0.1026797, 0.08587923, 0.063499786, 0.271656, 0.20372516, 0.0852106, -0.0027942986, 0.021396933) * go_7(0.0, 0.0); + result += mat4(0.15381213, 0.055414464, 0.21920305, 0.08396253, -0.10687372, -0.05462973, 0.087039314, 0.049340785, -0.07201125, -0.07180551, 0.058433067, -0.08389158, 0.094524354, 0.020410871, 0.12129854, 0.10572133) * go_7(0.0, 1.0); + result += mat4(0.0063117095, 0.073915385, -0.0045561646, 0.23483635, 0.031295463, 0.021003345, 0.07599019, -0.1594618, -0.0046872846, 0.0046049682, -0.038429365, 0.11511904, -0.00202024, -0.020265123, 0.009970022, -0.002929838) * go_7(1.0, -1.0); + result += mat4(-0.15797547, -0.10167035, -0.16430044, -0.20414145, -0.015431138, 0.101441555, 0.10162573, -0.050201286, -0.061392978, 0.021117665, 0.061082195, -0.1049562, -0.03447892, 0.098404795, 0.038732957, -0.12037957) * go_7(1.0, 0.0); + result += mat4(0.07782655, -0.033355527, -0.069240056, -0.04502161, -0.05999249, -0.08142937, -0.091957174, -0.055714294, -0.022586087, -0.10378274, -0.0930635, 0.06935779, -0.050071422, -0.067814715, -0.029975692, -0.095001936) * go_7(1.0, 1.0); + result += mat4(0.05315389, -0.1195346, -0.061223388, -0.0036692426, -0.030498018, 0.024816493, 0.15196335, -0.030596355, 0.0021912062, -0.022041973, 0.007224774, 0.12549329, -0.1313336, 0.028405745, 0.05510692, -0.079236254) * go_8(-1.0, -1.0); + result += mat4(0.049891938, -0.089109816, 0.065627016, -0.059712496, -0.11356505, 0.022486728, 0.08492869, 0.01759464, 0.013025284, 0.07108898, 0.163726, 0.17575887, 0.00978565, 0.08316646, 0.01607882, -0.020203505) * go_8(-1.0, 0.0); + result += mat4(0.011707021, -0.041468993, -0.043112185, 0.03440881, -0.11005808, -0.03355082, 0.12281368, -0.097853154, -0.052432492, 0.05120242, 0.026999133, 0.04091952, 0.12122586, -0.07085382, 0.19223467, -0.13468933) * go_8(-1.0, 1.0); + result += mat4(-0.21561226, 0.004335576, 0.10437036, 0.05847964, 0.06664545, -0.0066102324, -0.065021314, 0.015552164, 0.093689755, 0.035461873, 0.109493665, -0.038704667, -0.06792073, 0.048603103, -0.05255174, -0.04123595) * go_8(0.0, -1.0); + result += mat4(0.05594328, -0.060375415, -0.058975734, 0.023723664, 0.10352926, -0.07248816, -0.19153845, -0.21090735, -0.022574177, -0.07415163, -0.15998234, -0.29266396, -0.09080663, -0.34472424, -0.03285248, 0.13047802) * go_8(0.0, 0.0); + result += mat4(0.058605272, -0.023198698, -0.14641543, -0.05339167, 0.1524284, -0.031088095, -0.24899842, -0.05828886, 0.0751854, -0.057595134, 0.038429547, 0.089364074, 0.052765016, 0.05958445, -0.080915205, -0.13337326) * go_8(0.0, 1.0); + result += mat4(-0.11477242, -0.124096505, -0.0019490932, -0.01233014, -0.0018065475, 0.015593175, 0.11137782, 0.09337304, -0.037050534, -0.12510762, -0.032104224, 0.08224173, -0.1265443, 0.028348805, -0.044765398, 0.01736425) * go_8(1.0, -1.0); + result += mat4(-0.051222857, 0.17511438, 0.12101542, 0.07967362, 0.15954514, -0.06955668, -0.06868282, 0.26384103, 0.058684234, 0.13630556, 0.11342252, -0.059846863, -0.10069276, -0.009642563, 0.025243793, 0.178305) * go_8(1.0, 0.0); + result += mat4(0.09368266, 0.040270515, 0.09456053, -0.028369257, 0.009300146, 0.14414734, 0.18339029, 0.022486193, -0.06641786, -0.0032520513, -0.04727749, -0.034408014, 0.16622819, 0.017583046, 0.014806768, 0.060396347) * go_8(1.0, 1.0); + result += mat4(0.050008103, -0.030974511, -0.020898517, -0.04439508, -0.062059544, 0.03563301, -0.09486071, 0.032494925, -0.018090704, -0.054705545, -0.045727607, -0.045588177, -0.055609535, -0.013895825, 0.021962717, -0.046593897) * go_9(-1.0, -1.0); + result += mat4(-0.02722146, -0.030673165, -0.13452972, -0.082987286, 0.15460812, 0.077501684, -0.01239321, -0.05153571, 0.059392646, -0.10614259, -0.08891208, 0.013370744, -0.0010166704, -0.15081422, -0.17107935, 0.031870104) * go_9(-1.0, 0.0); + result += mat4(-0.016435966, 0.016412165, 0.0176122, -0.022089325, -0.027224645, 0.060684584, -0.103823006, 0.0682143, -0.013572331, -0.010815837, -0.055688858, -0.040836528, 0.13710149, 0.05916517, -0.11656939, -0.042447925) * go_9(-1.0, 1.0); + result += mat4(0.06984327, -0.011795586, 0.13195027, -0.023952803, -0.0072546103, -0.046447095, -0.07803815, 0.222913, 0.10912296, -0.0031289961, 0.20815663, 0.07834375, 0.0451593, 0.028728709, 0.10942835, -0.024792342) * go_9(0.0, -1.0); + result += mat4(-0.018971121, 0.04369722, 0.056467596, 0.0907889, -0.132549, -0.12444962, -0.03247696, 0.02004512, -0.045257036, -0.16815585, 0.21506688, 0.10498365, -0.117605306, 0.035134926, 0.104649805, 0.095877014) * go_9(0.0, 0.0); + result += mat4(0.030406464, 0.008261531, -0.04614057, 0.04029854, -0.08174387, -0.019619606, 0.020315584, -0.00730997, -0.041349456, 0.108196996, 0.062772945, 0.061518095, -0.14870963, 0.044491984, 0.03982492, 0.053469934) * go_9(0.0, 1.0); + result += mat4(0.104689375, -0.031253964, 0.039516505, -0.11111187, 0.084935345, -0.016218528, 0.09930998, -0.021956483, 0.046683453, -0.1555069, -0.0741569, -0.16718702, -0.12671323, -0.012335966, -0.040180996, -0.077114604) * go_9(1.0, -1.0); + result += mat4(-0.054692354, 0.013022073, -0.01139855, -0.063277416, -0.012274598, 0.14833915, 0.12062439, 0.050710853, 0.06779855, -0.1706071, -0.11530578, 0.036966156, 0.1292936, -0.036399644, -0.043579675, -0.08381583) * go_9(1.0, 0.0); + result += mat4(0.02749628, -0.0055657537, 0.021414503, -0.05567031, -0.039817147, -0.03126969, -0.06121935, -0.10364907, -0.010643113, 0.025941094, -0.0018660325, 0.03134705, 0.1014764, 0.012132183, -0.04167534, -0.007192358) * go_9(1.0, 1.0); + result += mat4(-0.063908055, 0.0716716, 0.15478031, 0.04902798, -0.0115773585, 0.008942735, 0.07891588, -0.021553801, 0.061734688, 0.041381408, 0.024777513, -0.075308606, -0.0315457, 0.08311421, 0.1146139, -0.10134795) * go_10(-1.0, -1.0); + result += mat4(-0.07825499, 0.03318951, 0.12026386, -0.03832228, 0.061354306, 0.061549537, 0.0011700536, 0.34563038, -0.11119886, 0.070013, 0.10178486, 0.022604989, -0.071630105, -0.14017276, -0.12347933, -0.12235272) * go_10(-1.0, 0.0); + result += mat4(0.023362065, -0.0067457003, 0.0031184114, -0.21757258, -0.12105008, 0.022064012, 0.007349156, -0.13224223, -0.13238755, -0.01957228, -0.048229545, -0.0844988, -0.033219468, -0.010157594, -0.055777356, 0.08504735) * go_10(-1.0, 1.0); + result += mat4(-0.030155355, 0.054027464, -0.05244417, -0.27551824, 0.056763507, 0.056652557, -0.07985995, -0.2235566, 0.060574487, -0.014039565, 0.023739032, -0.12401088, -0.012619071, -0.10727298, -0.27877995, 0.015411789) * go_10(0.0, -1.0); + result += mat4(-0.031312168, -0.112990275, -0.084325545, 0.13420536, -0.026703216, -0.12318826, -0.11495745, -0.3304216, 0.0017379739, -0.12131297, -0.02029666, -0.0055680214, -0.008017169, 0.08656161, -0.029046582, 0.07329052) * go_10(0.0, 0.0); + result += mat4(0.031304292, -0.016605763, -0.079030745, -0.11400012, -0.0068179243, -0.045204088, -0.13792539, 0.12242324, 0.086180836, 0.014990944, 0.035774138, 0.0067398064, -0.08353351, 0.14081265, 0.018009441, 0.030319707) * go_10(0.0, 1.0); + result += mat4(-0.0300618, -0.09076341, 0.023667706, 0.3072777, 0.032913562, 0.06211962, -0.0018291202, 0.19930436, 0.07321349, -0.02797535, 0.027380915, 0.104818374, -0.02544935, 0.070551865, 0.02536394, -0.0064187082) * go_10(1.0, -1.0); + result += mat4(-0.007832267, -0.017210286, 0.25910655, -0.107828744, -0.001164178, -0.077287786, 0.005749273, -0.078888595, 0.045206502, -0.045909654, -0.0057160687, -0.11832497, -0.017618075, 0.06724589, 0.03278988, 0.03061019) * go_10(1.0, 0.0); + result += mat4(-0.06251723, 0.021697097, 0.0931253, 0.015918719, -0.01673429, -0.019261248, 0.037270892, 0.13806875, -0.17155577, 0.044427596, 0.039202694, -0.009793211, 0.06674323, -0.011454017, -0.06116148, -0.00015122985) * go_10(1.0, 1.0); + result += mat4(0.056943193, 0.0069820723, -0.07524087, 0.10591727, -0.09259575, 0.080761656, 0.027319528, 0.09965913, -0.036539625, 0.06075153, -0.0063602435, -0.019010015, 0.008996931, 0.035988364, -0.06078678, 0.045367032) * go_11(-1.0, -1.0); + result += mat4(-0.10437949, 0.026252626, 0.033633687, 0.08128151, -0.03295961, 0.048350845, -0.1339497, -0.24894571, 0.02032933, -0.032409374, -0.1238805, 0.17044678, 0.02132749, -0.13286678, -0.123408824, 0.116156556) * go_11(-1.0, 0.0); + result += mat4(0.04140148, -0.017063234, 0.07359672, 0.04455494, -0.08166481, -0.03258098, -0.17265514, -0.012524784, -0.031209016, -0.03908155, 0.054648675, -0.067319736, -0.059796564, -0.016424967, -0.04244829, -0.15359914) * go_11(-1.0, 1.0); + result += mat4(0.060086712, -0.0060784644, 0.15192048, -0.062112223, 0.038401525, -0.0045279143, -0.20438981, 0.088729754, 0.09072659, 0.12217046, 0.21615751, -0.21982786, 0.12531106, -0.086268365, 0.06098375, 0.038291804) * go_11(0.0, -1.0); + result += mat4(-0.063111424, -0.057910115, -0.08349416, -0.1252965, 0.20627187, -0.099890456, 0.07032356, 0.13706891, -0.06886676, -0.039443724, 0.31532258, -0.068111554, 0.12516932, 0.23845369, 0.17068613, 0.12243004) * go_11(0.0, 0.0); + result += mat4(-0.092574455, 0.020559775, -0.16846387, 0.06924703, -0.027610822, -0.054253742, 0.1649807, 0.048429742, -0.11474609, -0.07767965, 0.093735196, 0.1386315, -0.064462975, -0.025894605, 0.07694748, 0.14165285) * go_11(0.0, 1.0); + result += mat4(-0.07777789, -0.023626441, -0.059073735, 0.14062499, -0.07562892, -0.023058334, 0.063937806, 0.057256836, -0.030244652, -0.014287634, -0.114472166, -0.041285962, 0.075025864, -0.076231115, -0.09189616, 0.048033148) * go_11(1.0, -1.0); + result += mat4(0.12536667, 0.0805743, -0.00029607664, -0.057686873, 0.21167123, -0.0014067952, -0.050654158, -0.033412077, 0.07600509, -0.12453788, -0.13625082, -0.07260216, 0.010956455, 0.06661168, -0.16789722, -0.3015692) * go_11(1.0, 0.0); + result += mat4(-0.08198274, 0.051078603, 0.064630434, 0.13538146, -0.051327027, 0.15535043, -0.016776081, 0.030145686, -0.05958555, 0.076665685, -0.01981465, -0.0068788007, -0.10680831, -0.11047426, -0.18633184, -0.07421776) * go_11(1.0, 1.0); + result += vec4(-0.013233474, -0.028328523, 0.026200915, -0.040242057); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv0ups +//!BIND conv0ups1 +//!BIND conv0ups2 +//!BIND conv0ups3 +//!BIND conv0ups4 +//!BIND conv0ups5 +//!SAVE conv1ups2 +//!WIDTH conv0ups.w 4 * +//!HEIGHT conv0ups.h 4 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_4(x_off, y_off) (max((conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_5(x_off, y_off) (max((conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_6(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_7(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_8(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_9(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_10(x_off, y_off) (max(-(conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_11(x_off, y_off) (max(-(conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.004980054, -0.00031779445, -0.06937893, -0.007667222, 0.020564018, -0.12594308, -0.04422198, 0.010446319, 0.13394952, -0.061285086, 0.036756814, 0.04566945, -0.023438957, 0.00058551924, -0.031796318, 0.009675185) * go_0(-1.0, -1.0); + result += mat4(-0.03424442, -0.028524911, -0.10516485, 0.020576376, 0.08185258, 0.072603114, -0.06079605, -0.09684838, 0.029204143, 0.023047578, -0.085331604, -0.079404935, 0.014943324, 0.03931474, -0.09670182, 0.026686301) * go_0(-1.0, 0.0); + result += mat4(-0.013804525, -0.021905398, 0.039218854, -0.012553362, -0.015308296, 0.09990078, 0.03377175, -9.791311e-05, 0.0039004232, -0.04609028, 0.072497614, 0.0145564545, -0.0006264493, 0.0022672713, 0.10566008, -0.053847287) * go_0(-1.0, 1.0); + result += mat4(0.0054841153, 0.00018488796, -0.07195827, -0.037830014, 0.007781641, 0.046536706, 0.013677965, 0.042986326, -0.10822574, 0.065523066, 0.01953869, 0.02402357, 0.06818494, -0.026275497, -0.03505757, -0.049135983) * go_0(0.0, -1.0); + result += mat4(0.08243966, 0.07671485, -0.038887218, 0.068862416, -0.17881598, -0.026086396, -0.049436066, -0.016728621, -0.12982376, 0.04321355, -0.06619578, 0.097587444, 0.035460997, 0.08825189, -0.1343801, 0.043896023) * go_0(0.0, 0.0); + result += mat4(-0.020362575, -0.061795376, 0.14194444, -0.009392974, 0.0079227, -0.017974908, 0.002327632, 0.05252894, 0.002096929, -0.00043822022, 0.008803959, -0.09294933, 0.054308783, 0.062052276, 0.01957063, 0.023968028) * go_0(0.0, 1.0); + result += mat4(-0.06981682, -0.033447154, -0.082183264, -0.012061882, -0.093804084, -0.033942513, -0.010569552, 0.026009778, 0.0033966561, -0.06607895, 0.017608356, -0.06738349, -0.04014152, -0.037135415, 0.0009366481, -0.0007413654) * go_0(1.0, -1.0); + result += mat4(0.015740328, 0.037849814, 0.00141192, -0.0177318, -0.038522735, -0.073447764, -0.016887076, 0.020053718, 0.09669053, 0.030959895, -0.047290325, -0.04076653, -0.05706955, 0.050860386, -0.02602983, 0.010206542) * go_0(1.0, 0.0); + result += mat4(-0.032583617, -0.088230655, 0.15712184, -0.11126827, -0.013210994, 0.11957044, 0.058341667, -0.08059044, -0.013765303, -0.016952187, -0.001553906, 0.011888885, -0.012792091, -0.038058013, 0.04805991, -0.07751879) * go_0(1.0, 1.0); + result += mat4(-0.019154536, -0.19832996, 0.08228855, 0.0072365827, 0.11191198, 0.031780373, 0.010279858, 0.010202158, -0.045814104, -0.062358413, -0.04304008, 0.031776935, -0.049302373, 0.07078303, 0.015204526, -0.037633713) * go_1(-1.0, -1.0); + result += mat4(-0.17575762, -0.02255418, 0.0014433716, 0.14608163, 0.02062823, 0.07066893, -0.11729328, -0.060587287, -0.030502932, 0.020600662, -0.055207808, 0.03486421, 0.059566412, 0.11540176, -0.00077288394, -0.009210969) * go_1(-1.0, 0.0); + result += mat4(0.039794195, 0.023957198, -0.08397302, -0.004100543, 0.019318411, -0.064996056, -0.077970035, 0.028551016, -0.02403627, -0.013446191, 0.069143735, 0.040995464, 0.030460864, 0.01776159, 0.066885635, -0.0024465942) * go_1(-1.0, 1.0); + result += mat4(0.11183102, 0.088040985, -0.090596534, -0.012310924, -0.16931272, -0.000802675, 0.0019450602, 0.079799056, 0.068416156, 0.13135424, -0.008897253, -0.030678948, -0.020596573, 0.040627006, -0.008358484, 0.07219674) * go_1(0.0, -1.0); + result += mat4(-0.083352946, -0.03401107, 0.12811421, 0.0015708592, -0.12648453, -0.017319797, -0.09431899, -0.04599546, 0.1582331, 0.099352226, -0.16463861, -0.14610463, 0.08969931, 0.010817973, -0.1133007, -0.04953709) * go_1(0.0, 0.0); + result += mat4(0.053032618, 0.06844253, 0.1012487, -0.035372887, -0.120928794, -0.018997852, 0.07475708, 0.048551805, 0.037847, -0.013994659, 0.032808784, 0.011978656, 0.10335882, -0.11927721, 0.027382841, 0.029108996) * go_1(0.0, 1.0); + result += mat4(0.038313128, -7.450299e-05, -0.1553082, -0.037842166, -0.07845518, 0.0791963, 0.08918919, -0.045648728, 0.02312862, -0.006408866, -0.032382783, 0.11302323, -0.08434936, 0.043508492, 0.05423983, 0.00020627544) * go_1(1.0, -1.0); + result += mat4(0.04470558, -0.22777058, -0.023525046, -0.031613413, 0.107973, -0.069209486, 0.132562, -0.15954618, 0.039887153, 0.042308033, -0.10093805, 0.053684387, -0.017171599, -0.043126736, 0.055972002, 0.044250045) * go_1(1.0, 0.0); + result += mat4(0.044089902, 0.007576137, 0.049237445, -0.00033802204, 0.006268241, -0.036514062, 0.052746966, -0.057994682, 0.074214526, -0.022113977, 0.13046025, 0.04648536, -0.03143724, -0.041738454, -0.060698733, -0.054645855) * go_1(1.0, 1.0); + result += mat4(-0.071145, 0.022052322, 0.002697867, -0.042442765, -0.09173712, 0.013504443, -0.019114535, 0.02300051, 0.020803731, -0.05496937, 0.048905697, -0.045301817, -0.036766656, 0.016664147, -0.07547731, 0.01658226) * go_2(-1.0, -1.0); + result += mat4(0.040246766, -0.014714711, 0.078281574, 0.039224714, 0.04217229, 0.022495124, -0.004129543, -0.031368844, -0.075755574, -0.01715347, 0.04380368, 0.033137042, 0.10724252, -0.025614396, 0.11412219, -0.074797876) * go_2(-1.0, 0.0); + result += mat4(-0.06936905, 0.01889137, 0.050059408, -0.009893554, -0.053580936, -0.017549224, 0.06327266, 0.010808283, -0.05115075, -0.058450032, -0.0074706287, 0.00776926, -0.08797574, 0.012118241, -0.05471152, -0.017969558) * go_2(-1.0, 1.0); + result += mat4(0.06484589, 0.040202156, 0.028859783, 0.026862267, 0.09826367, -0.056915086, 0.08828274, -0.03428312, 0.03460851, -0.0647798, 0.12595637, 0.0034099142, 0.1603728, -0.0946848, 0.020196391, -0.07263614) * go_2(0.0, -1.0); + result += mat4(0.22661588, 0.16864187, -0.07791008, -0.112576656, -0.14638188, 0.1337304, 0.014603548, 0.044733938, -0.1398099, -0.10701227, -0.040945653, 0.06388999, -0.15798035, 0.044651303, 0.08594859, 0.011900386) * go_2(0.0, 0.0); + result += mat4(0.03761384, -0.013198248, -0.12755519, 0.019081809, 0.09354852, -0.11184259, 0.03713189, -0.028735103, 0.033271037, 0.07379451, 0.109707184, 0.034653552, 0.090518855, 0.012992565, -0.016021844, -0.055253588) * go_2(0.0, 1.0); + result += mat4(0.03771769, -0.004233999, -0.035034336, 0.12593402, -0.0840236, -0.07569288, 0.049403775, 0.061529223, -0.05931918, -0.083688684, 0.024350598, 0.095879935, 0.06332485, -0.14329872, 0.033925388, -0.02696251) * go_2(1.0, -1.0); + result += mat4(-0.011605727, 0.08207276, -0.13056436, 0.083434395, -0.06486144, -0.043959912, -0.02922763, -0.033251993, 0.07966037, 0.06114887, -0.103295445, -0.075507164, -0.10298414, 0.082901865, 0.08017057, 0.046108358) * go_2(1.0, 0.0); + result += mat4(-0.092339, -0.11631462, 0.086708374, 0.09514288, -0.013445989, 0.021781534, -0.112157725, 0.04364132, 0.0035640658, -0.09061818, -0.023630636, 0.03811553, -0.040704202, 0.06701393, 0.005006215, 0.042827263) * go_2(1.0, 1.0); + result += mat4(-0.07944411, 0.0789026, 0.016190117, -0.113942236, 0.049357407, 0.15248768, 0.016395327, -0.013958314, 0.03873115, 0.027520558, -0.006671946, -0.040301196, 0.027300991, 0.11163382, 0.038676243, 0.028494846) * go_3(-1.0, -1.0); + result += mat4(0.047684576, 0.00047076686, -0.044396825, -0.0007533188, 0.06232839, 0.035434846, -0.013232272, 0.016593229, 0.12973827, 0.033230036, 0.08758317, -0.0787135, 0.0072122775, 0.030239502, 0.10487618, 0.02862714) * go_3(-1.0, 0.0); + result += mat4(-0.123315446, 0.033416398, 0.05050297, 0.02801388, 0.009222316, -0.08459817, 0.05822027, 0.03326058, 0.0138115445, 0.082410134, -0.0827552, -0.019779475, -0.058263138, 0.04641969, -0.026756264, -0.053478077) * go_3(-1.0, 1.0); + result += mat4(-0.0068640457, 0.0074430844, -0.03400453, 0.10731797, -0.026399532, 0.027929788, -3.0089896e-06, 0.04014437, -0.10416428, -0.04428467, -0.04392669, 0.035639126, -0.045293827, -0.026341837, -0.012873498, -0.039726894) * go_3(0.0, -1.0); + result += mat4(-0.012044526, -0.06947611, 0.0698436, -0.04084831, -0.12761715, 0.0033684673, -0.09938189, 0.08194043, -0.05680546, 0.12330337, 0.03703057, 0.2003222, -0.06116296, 0.005087016, 0.09429647, 0.11045201) * go_3(0.0, 0.0); + result += mat4(0.13894477, -0.1140498, 0.10828947, -0.021688364, -0.08493094, -0.028165033, 0.01597356, 0.018855589, 0.026023779, -0.005421008, -0.09233236, 0.061472908, 0.11241487, 0.116131656, -0.08339397, 0.08733185) * go_3(0.0, 1.0); + result += mat4(-0.015038761, 0.1652624, -0.09448094, 0.07666857, -0.071312174, 0.09588329, -0.011332098, -0.04034192, -0.077668615, 0.0058973487, 0.07668882, -0.073860854, -0.035745006, -0.04739662, -0.018102147, 0.056211453) * go_3(1.0, -1.0); + result += mat4(-0.03183886, -0.066594, 0.02265856, -0.014362389, 0.04824181, 0.14979705, -0.048680082, -0.026170084, 0.08462282, -9.6751464e-05, 0.075262226, -0.044197805, 0.17810301, 0.07797176, -0.006515804, -0.03331917) * go_3(1.0, 0.0); + result += mat4(-0.08380702, 0.033952057, -0.094792776, 0.044264294, -0.013486094, -0.10115301, 0.009765046, -0.03270181, -0.03531165, -0.017018229, -0.04344065, -0.07754226, -0.03270765, 0.084762484, -0.07478498, 0.010393788) * go_3(1.0, 1.0); + result += mat4(-0.07487718, -0.081585266, 0.0926645, -0.011970761, -0.12539868, -0.11986312, 0.031828016, 0.047259834, -0.08914916, -0.029122157, -0.024397554, -0.018037558, 0.020722765, 0.017828869, -0.05420854, 0.07969747) * go_4(-1.0, -1.0); + result += mat4(-0.026801797, -0.010322373, 0.028299354, 0.028988026, -0.06533457, -0.115617834, 0.0625142, 0.005516965, -0.017213784, -0.007674974, 0.0779002, 0.015178548, -0.07579986, -0.11024699, -0.039055236, 0.065135635) * go_4(-1.0, 0.0); + result += mat4(-0.01213054, -0.010893728, 0.08719662, 0.0033811845, 0.071778074, 0.0078827655, -0.0173444, -0.0038211744, -0.02791009, -0.00072597887, -0.05217657, 0.025769593, 0.0215529, -0.042698726, 0.019466953, 0.051834304) * go_4(-1.0, 1.0); + result += mat4(0.17659777, 0.013703468, 0.0056460397, 0.024826508, 0.07208554, -0.14220287, -0.07453027, 0.055382118, 0.10781546, -0.057184774, 0.057582688, -0.006631031, -0.10135777, 0.12889053, -0.05645504, 0.088366844) * go_4(0.0, -1.0); + result += mat4(0.06904701, -0.0013303136, -0.04592286, -0.20912392, 0.02682363, 0.088488, -0.05283776, 0.029175911, 0.027417168, 0.1829927, 0.076627366, -0.017891806, 0.06441116, 0.026457202, 0.18269981, 0.0094796475) * go_4(0.0, 0.0); + result += mat4(0.048462097, 0.07554834, -0.01741707, 0.026187122, -0.035704713, -0.02665749, 0.003005862, -0.0021759986, 0.014800947, -0.0685403, -0.006442139, 0.0073272795, -0.026575487, -0.038520448, -0.05114312, 0.011805403) * go_4(0.0, 1.0); + result += mat4(0.06547267, -0.16048354, -0.022591965, 0.004297735, -0.0696483, 0.15455423, -0.051802512, 0.018001162, -0.053496685, -0.009972072, -0.023770085, 0.018012576, 0.02063509, 0.2248572, 0.0014219751, -0.026187016) * go_4(1.0, -1.0); + result += mat4(-0.029676484, 0.115568705, -0.060859796, 0.20539157, 0.11859488, 0.0013547272, -0.008380246, -0.105498776, -0.013806508, 0.12783237, -0.1459067, -0.0347886, -0.011370979, 0.106100015, -0.01690763, 0.038655322) * go_4(1.0, 0.0); + result += mat4(0.066515915, -0.00028321685, 0.08892155, 0.0016317593, -0.061310638, -0.07737056, 0.03561483, 0.09331112, -0.069806434, -0.11692849, 0.0102957655, 0.037358206, -0.1654943, -0.05999889, -0.10447043, -0.07220807) * go_4(1.0, 1.0); + result += mat4(-0.010819127, 0.018162977, -0.070972435, -0.0028039222, -0.15422885, 0.097271316, -0.0551186, 0.006109672, -0.08663247, -0.029513236, -0.044053316, 0.053481128, 0.010602227, -0.11906896, 0.11215661, 0.00036062975) * go_5(-1.0, -1.0); + result += mat4(-0.060584255, -0.10347742, 0.2311829, -0.061208174, -0.012189042, -0.005251737, 0.040530797, -0.011809084, -0.035253566, -0.066367224, -0.0044880556, -0.04906008, 0.025754534, -0.13416557, -0.039463036, 0.08589151) * go_5(-1.0, 0.0); + result += mat4(-0.001811808, -0.14401546, -0.0040855994, 0.04881153, -0.07855645, 0.0765836, 0.042517748, -0.032462176, -0.05319181, -0.03694913, -0.07701794, -0.021778328, -0.035167713, 0.014939869, 0.00090037263, -0.028272703) * go_5(-1.0, 1.0); + result += mat4(-0.10014492, -0.10234366, -0.0049715503, -0.021069406, 0.15159184, -0.01578284, 0.0025799314, -0.0788855, -0.03319473, -0.018055653, 0.030750398, -0.024944583, -0.06941078, -0.10806205, -0.009403854, 0.068457745) * go_5(0.0, -1.0); + result += mat4(0.07509925, 0.13915682, 0.0843594, -0.0663729, 0.29596356, -0.09990156, 0.27314377, -0.03200671, -0.0050549, 0.06427814, 0.04587712, 0.0521665, -0.0066815466, 0.07585212, -0.2393277, -0.040303335) * go_5(0.0, 0.0); + result += mat4(-0.03936385, -0.01834245, -0.055654693, -0.049332604, 0.14924063, -0.09392581, -0.027209468, -0.004826174, 0.02256422, 0.03992049, -0.0034684308, -0.03776157, -0.11683972, 0.045553684, 0.12861861, 0.039034113) * go_5(0.0, 1.0); + result += mat4(-0.09741208, 0.06837846, -0.050834626, 0.0624849, -0.038701717, 0.029586427, 0.025968283, 0.0962147, -0.07174071, -0.10434051, 0.06022656, 0.025534676, 0.036425397, 0.046699833, -0.005127528, -0.019057602) * go_5(1.0, -1.0); + result += mat4(0.10008072, -0.12806182, 0.07184019, -0.019579336, -0.11724369, 0.08670338, 0.056442916, 0.042675193, 0.19645384, -0.03999251, -0.010949986, -0.07979217, 0.01367985, -0.09818813, 0.04609146, -0.033911683) * go_5(1.0, 0.0); + result += mat4(-0.05102399, 0.04630377, -0.08153964, 0.07871819, -0.078999326, 0.04736143, -0.19323653, 0.09518113, -0.018439546, -0.022815213, -0.012863942, 0.07849269, 0.028150335, -0.15847255, 0.02974761, 0.005212911) * go_5(1.0, 1.0); + result += mat4(-0.08172791, 0.06774395, 0.06855397, -0.030201953, -0.013725309, 0.03161688, 0.10804155, -0.0394157, -0.09338775, -0.045169964, -0.026604675, 0.02814141, 0.025514977, 0.1076675, -0.046543553, -0.022546189) * go_6(-1.0, -1.0); + result += mat4(0.059291005, -0.07898177, 0.097554855, 0.007130618, -0.1523421, 0.018653909, -0.065540805, 0.08984692, -0.09766101, -0.0886244, 0.13661884, 0.03730344, 0.0027830894, 0.042705502, 0.07426177, -0.025809633) * go_6(-1.0, 0.0); + result += mat4(0.05979756, 0.06012527, -0.00012069158, -0.03200783, 0.02075729, -0.04141766, -0.050204758, 0.024769386, 0.029588062, -0.080610864, -0.0028909834, -0.011870227, -0.00795984, -0.111990646, -0.027717153, 0.011958879) * go_6(-1.0, 1.0); + result += mat4(-0.11348256, -0.1642138, -0.030825634, 0.0009695864, 0.042716514, -0.12134388, 0.029467866, 0.034967966, 0.07632793, -0.11162435, 0.07082364, -0.07428158, -0.07067028, 0.07259591, -0.07474968, -0.059272174) * go_6(0.0, -1.0); + result += mat4(0.04584006, 0.029281115, 0.064264186, 0.026720345, 0.11376056, 0.14155193, 0.121960804, -0.08383328, 0.006924721, -0.083036475, 0.075024724, -0.06746543, 0.010613704, -0.03516688, 0.2985084, -0.10778275) * go_6(0.0, 0.0); + result += mat4(-0.09198537, 0.0999396, -0.100619964, 0.09780523, 0.10976557, -0.02432579, 0.013511376, -0.032328337, 0.052830044, 0.08352129, -0.037643075, 0.082177006, -0.16766717, -0.11212313, -0.09472028, 0.039206263) * go_6(0.0, 1.0); + result += mat4(-0.0039187134, 0.064014964, 0.07816437, -0.045843247, -0.0595401, 0.17998374, -0.024679746, -0.053179417, -0.07176138, -0.095521145, -0.007285804, 0.00966716, 0.048759207, -0.07106211, 0.01840149, 0.10262785) * go_6(1.0, -1.0); + result += mat4(-0.0011137341, -0.12161087, -0.0078447, 0.0052990075, 0.084343076, -0.053268425, 0.026544819, 0.056677848, 0.0015056322, -0.0026956368, -0.025750063, 0.024165427, -0.113677785, -0.079001755, 0.02874794, 0.05419204) * go_6(1.0, 0.0); + result += mat4(-0.032366123, -0.029644642, -0.10116561, -0.033282388, -0.07558866, -0.011509916, -0.06724827, 0.13111916, 0.08398466, -0.0049603316, -0.028347481, -0.036745254, 0.09317942, -0.103095226, -0.04895355, 0.033940677) * go_6(1.0, 1.0); + result += mat4(0.02289852, 0.020793753, -0.029280921, -0.021226712, -0.042159542, -0.040234644, 0.037087075, -0.01136303, 0.1250587, 0.08683751, 0.043244306, -0.014266309, 0.044671338, 0.16216184, -0.10934954, 0.043123797) * go_7(-1.0, -1.0); + result += mat4(0.14602992, 0.08519712, -0.04223339, -0.15030964, 0.0195825, -0.09202295, 0.004349579, -0.03261155, -0.079913475, 0.040347222, -0.051544785, -0.01878559, -0.03697114, -0.09083287, -0.11281619, 0.013403602) * go_7(-1.0, 0.0); + result += mat4(-0.05066647, -0.14043969, 0.0715399, -0.0338407, -0.0733364, -0.012150814, -0.033737592, -0.037597366, 0.039557703, 0.04977844, -0.13113868, 0.037195235, 0.030010387, 0.051758926, 0.021363556, -0.0042700213) * go_7(-1.0, 1.0); + result += mat4(-0.12424838, 0.044712003, 0.09879717, 0.110431895, 0.15167078, -0.080809824, -0.051779483, -0.06151212, -0.03838396, 0.099461265, -0.025622264, 0.03953769, 0.054816764, -0.0052228123, 0.014440809, -0.07081345) * go_7(0.0, -1.0); + result += mat4(0.029055228, 0.12759502, -0.07065523, 0.049311154, 0.0789663, 0.089302815, 0.03734241, 0.018170618, -0.109402694, -0.05299332, 0.11950886, -0.01075894, -0.038342703, -0.009629279, 0.20338437, -0.09028282) * go_7(0.0, 0.0); + result += mat4(-0.031301793, 0.033350687, -0.11612052, -0.0073021594, 0.13181442, 0.064353034, -0.016098095, -0.064183615, 0.031972036, -0.061433535, -0.07871156, 0.030271178, -0.095563374, -0.0674315, 0.16081227, -0.07802229) * go_7(0.0, 1.0); + result += mat4(0.044386476, -0.18471137, 0.11902013, 0.0034011758, 0.10137816, 0.031235041, -0.032770824, -0.006660433, 0.066062324, 0.023300404, 0.005928438, -0.024066748, 0.040243164, 0.0066209408, -0.09594398, 0.054552276) * go_7(1.0, -1.0); + result += mat4(-0.029413521, 0.09428955, 0.06815103, -0.06441823, -0.12596223, -0.06366853, 0.034587037, 0.124309674, -0.11672954, -0.07312988, 0.11242359, -0.011613149, -0.021004865, 0.0074676527, 0.065052725, 0.15019634) * go_7(1.0, 0.0); + result += mat4(-0.037824865, 0.050029285, -0.087814786, 0.06880046, -0.032547157, -0.027144877, -0.085585445, 0.087496854, -0.03997047, -0.029602649, -0.1513635, -0.016184736, 0.0097209, 0.07292284, 0.008576975, 0.06435051) * go_7(1.0, 1.0); + result += mat4(0.10046984, -0.06183376, -0.013340809, 0.027074182, 0.054535855, -0.027432043, -0.019280395, 0.013221026, -0.009106137, 0.012200378, -0.042389095, -0.009353607, 0.010896132, -0.042522453, 0.08383094, -0.047568105) * go_8(-1.0, -1.0); + result += mat4(-0.092015676, -0.09783175, -0.05556744, 0.024186416, 0.21669935, -0.11186962, 0.02547885, -0.019488495, 0.03702874, -0.0052051265, 0.01634479, -0.037431873, 0.010483881, 0.15813497, -0.071999855, 0.024169728) * go_8(-1.0, 0.0); + result += mat4(-0.0136034135, 0.05746974, -0.108155355, 0.03440845, -0.0022545143, 0.059555024, -0.05949962, 0.04200527, 0.056074332, -0.017623803, 0.01817416, 0.0021474815, 0.014506314, 0.07241813, 0.04402455, 0.035774175) * go_8(-1.0, 1.0); + result += mat4(-0.11538483, -0.005205343, 0.058553293, 0.017911535, -0.06455953, -0.12028678, -0.02611027, 0.05955494, -0.052788045, 0.08086805, -0.14098185, 0.10982794, 0.029788535, 0.09348368, -0.00070427964, 0.057440583) * go_8(0.0, -1.0); + result += mat4(-0.19514108, -0.12313826, 0.10980396, 0.050500832, -0.3483835, 0.09887278, -0.11676224, 0.032840744, -0.009801942, -0.012462944, 0.07521651, 0.15261722, -0.18961075, -0.15468487, -0.11253467, 0.07723115) * go_8(0.0, 0.0); + result += mat4(0.0566264, -0.021055626, 0.05093136, 0.00049979053, -0.17377897, -0.015554475, -0.016173836, 0.030584248, -0.023609076, 0.12646917, -0.07582214, -0.011635134, 0.003872485, -0.08722388, 0.066062145, -0.09153139) * go_8(0.0, 1.0); + result += mat4(-0.07090559, 0.0072672614, -0.034961816, -0.10320985, 0.020280685, 0.09725229, -0.06032245, -0.07770435, 0.011320556, -0.04215958, 0.027943375, -0.11302869, -0.013554361, 0.11193114, 0.0027771285, 0.014636555) * go_8(1.0, -1.0); + result += mat4(0.005668411, -0.17086571, -0.0118306, -0.029624771, 0.14067604, -0.1351785, 0.061528943, -0.026544137, 0.0002217388, -0.06365143, 0.14189628, -0.10473213, 0.058985032, 0.030680038, -0.10620143, -0.08394014) * go_8(1.0, 0.0); + result += mat4(0.054056313, -0.044364754, 0.05243819, -0.08444673, 0.17942932, -0.10154837, 0.031917978, -0.07216916, -0.033997767, -0.062092148, -0.054459434, -0.039323207, 0.01884695, 0.025018962, -0.054677896, -0.029544072) * go_8(1.0, 1.0); + result += mat4(0.035735596, -0.0923662, -0.051487017, 0.044227608, -0.16397929, 0.032365985, -0.011113684, 0.03424745, -0.05861996, -0.10061573, -0.0057441234, 0.03869538, 0.09118717, -0.040257573, -0.003748945, 0.01576125) * go_9(-1.0, -1.0); + result += mat4(0.005812071, -0.022493647, -0.016028766, 0.029808372, 0.028341934, -0.2501618, -0.0019369101, -0.022042232, -0.14091198, -0.029506056, -0.054683685, 0.06755075, -0.09911962, -0.040016513, -0.010028454, -0.053709976) * go_9(-1.0, 0.0); + result += mat4(-0.0040333862, -0.031002447, -0.020740345, -0.047557306, 0.021522898, 0.18422173, -0.1100128, -0.04952392, 0.021865182, -0.027262552, 0.123231895, 0.040957477, 0.0134175485, -0.044809658, 0.017589035, 0.02958665) * go_9(-1.0, 1.0); + result += mat4(0.0024872697, -0.0924844, 0.07573796, -0.050104573, 0.15410806, -0.12993748, -0.04235068, -0.07722604, -0.007873392, -0.035459034, 0.06991578, -0.011290308, -0.29447773, 0.006443658, -0.029264478, 0.0056801992) * go_9(0.0, -1.0); + result += mat4(-0.016531613, 0.06331183, -0.08013662, 0.03397937, 0.059954632, -0.14282636, 0.20347376, 0.06982213, 0.1122575, -0.05846739, -0.057790205, -0.13501489, 0.047547325, -0.021811934, -0.00338269, -0.06783046) * go_9(0.0, 0.0); + result += mat4(-0.04977131, 0.029476784, -0.042716935, 0.015469318, 0.04462305, 0.13369839, 0.023932919, 0.029388588, -0.06883358, -0.13391826, 0.07589707, -0.032005493, 0.04743787, -0.055516563, 0.0062151477, -0.010218498) * go_9(0.0, 1.0); + result += mat4(0.037789203, -0.17034878, 0.08546833, -0.024927955, 0.09980341, 0.20017757, 0.023676427, 0.056595214, 0.01952577, 0.031923886, -0.027307939, 0.08647462, 0.017542683, -0.06223254, 0.017913813, -0.053718697) * go_9(1.0, -1.0); + result += mat4(-0.027143707, 0.058161657, -0.051025134, 0.020747993, -0.046094757, -0.09663917, 0.09067158, -0.03886615, -0.0027781385, -0.033137277, -0.095078655, -0.060408685, 0.14296174, 0.018933386, 0.055143725, -0.004657412) * go_9(1.0, 0.0); + result += mat4(0.044026144, 0.010437977, 0.05655858, -0.014091456, 0.014390184, 0.121795416, -0.1775919, 0.00014985312, -0.005192125, 0.014011373, 0.0145458905, 0.043087985, 0.06917699, -0.051584966, 0.12668638, -0.009736733) * go_9(1.0, 1.0); + result += mat4(0.14409468, 0.031550802, 0.04940429, 0.02420018, 0.10889677, 0.115760565, 0.024446508, -0.049920537, 0.038839478, -0.055512905, -0.018526837, -0.018177887, -0.022867335, -0.02455583, 0.06619697, 0.03438194) * go_10(-1.0, -1.0); + result += mat4(-0.029962542, 0.09275872, -0.014957848, -0.029368388, 0.124542885, -0.007063616, 0.008388308, 0.011546229, 0.14521615, -0.09758831, 0.03099553, 0.04643359, 0.08084108, -0.00944376, 0.053600144, 0.040054623) * go_10(-1.0, 0.0); + result += mat4(0.04469534, -0.031979702, 0.027917262, 0.0060880897, -0.055475116, -0.022721322, -0.034989826, -0.009434882, -0.058321737, -0.019164206, -0.04860144, -0.032621287, -0.07496507, 0.1262228, -0.082519226, -0.10242379) * go_10(-1.0, 1.0); + result += mat4(-0.17469884, -0.030199233, -0.074333005, 0.06706621, -0.097167045, 0.012247184, 0.08149112, -0.038525913, -0.092975184, 0.08887855, 0.04058227, 0.06999723, -0.022414748, 0.01108974, -0.061870188, -0.17352983) * go_10(0.0, -1.0); + result += mat4(-0.105581224, -0.100990914, -0.054395344, 0.148013, -0.23560022, -0.044876803, 0.116798066, 0.13076422, -0.03979231, 0.0097074285, -0.1698561, -0.04045923, -0.015860325, -0.15534262, -0.0846022, -0.1327169) * go_10(0.0, 0.0); + result += mat4(-0.026032096, 0.07081548, 0.1203681, -0.073586255, 0.017461475, 0.04307851, -0.1154002, 0.0421786, -0.075602904, -0.057110302, -0.0025774506, -0.009332216, -0.09929576, -0.07458518, 0.05298091, -0.008168844) * go_10(0.0, 1.0); + result += mat4(-0.029223746, 0.07165331, -0.0032342686, -0.12397089, 0.016262105, -0.019623598, 0.132229, -0.0782472, 0.13277876, -0.1369722, 0.0041247434, -0.113053255, -0.009171029, 0.029010417, -0.085494466, 0.07673613) * go_10(1.0, -1.0); + result += mat4(0.072732225, -0.02040133, -0.007791175, -0.14766552, -0.020023864, -0.19197097, 0.0481767, -0.003379566, -0.025931194, -0.06366252, 0.11474637, 0.047169022, 0.0009244003, -0.029216142, 0.05807024, 0.075013295) * go_10(1.0, 0.0); + result += mat4(-0.11801154, 0.16848108, -0.2142721, 0.104934245, 0.030555163, -0.008816935, -0.05582496, -0.13490155, 0.01174242, 0.07028906, 0.028878117, 0.0023139853, 0.07998098, 0.10398876, 0.03057049, -0.017720941) * go_10(1.0, 1.0); + result += mat4(0.057695515, -0.1949399, 0.010695127, -0.058411263, 0.066390015, 0.10950713, -0.045249913, 0.028170068, 0.07288689, -0.0270477, 0.009525071, 0.011646309, 0.021010188, 0.065147154, -0.0398743, 0.022823825) * go_11(-1.0, -1.0); + result += mat4(0.016994178, 0.076805435, -0.017005963, 0.065933675, 0.04784552, 0.093760446, -0.08301409, 0.03443229, 0.031635575, 0.04007241, 0.05199163, 0.022145508, -0.055098876, -0.13066843, 0.08290488, -0.04787659) * go_11(-1.0, 0.0); + result += mat4(0.065779544, 0.14860266, -0.04525508, -0.049127556, 0.05431361, -0.036367986, -0.030670814, -0.012490711, 0.022927895, -0.047019765, 0.055157445, 0.07895081, 0.011260996, 0.032119557, 0.08388522, -0.03145928) * go_11(-1.0, 1.0); + result += mat4(0.08659041, -0.045707658, 0.0075198743, -0.028048256, -0.055311654, -0.13813055, 0.017775012, -0.0048520165, 0.118107446, 0.08820656, 0.052922327, 0.048058797, 0.11889591, -0.06767885, -0.013459149, -0.054338414) * go_11(0.0, -1.0); + result += mat4(-0.19821517, 0.041623026, -0.0837332, 0.13626467, -0.19109981, -0.21708459, 0.007647818, -0.0035708284, -0.24309829, -0.07089834, 0.107464954, 0.044456366, -0.05588158, 0.052947696, 0.20099647, -0.07524468) * go_11(0.0, 0.0); + result += mat4(0.09865657, -0.08641273, 0.04222665, 0.092002586, -0.1677124, 0.123014905, -0.08060824, 0.055244125, -0.044428542, 0.058285844, -0.04806793, 0.00027044347, 0.10408134, 0.003138088, -0.21746248, 0.026150497) * go_11(0.0, 1.0); + result += mat4(0.031747963, 0.030344909, -0.0010417908, -0.069958955, 0.05205653, -0.018692223, -0.014950393, -0.11240597, 0.043168604, 0.068883464, 0.006945098, -0.020819476, 0.029164154, 0.0494293, 0.057845388, -0.02571959) * go_11(1.0, -1.0); + result += mat4(-0.021301076, -0.049241424, -0.025215866, 0.015119046, -0.12056921, -0.036253583, -0.13584214, 0.038953424, -0.06768332, 0.0017622785, -0.1465355, 0.047489017, -0.08332941, 0.14608733, -0.01742368, 0.13697848) * go_11(1.0, 0.0); + result += mat4(0.077989355, -0.044292253, 0.12670535, -0.1457222, 0.12283255, 0.030114034, 0.12524998, -0.19104835, -0.09400012, -0.15996231, 0.15086915, -0.119735934, -0.042656906, 0.0036024922, 0.087161005, -0.052573696) * go_11(1.0, 1.0); + result += vec4(-0.054201107, -0.03990168, 0.015170136, 0.0027522973); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv0ups +//!BIND conv0ups1 +//!BIND conv0ups2 +//!BIND conv0ups3 +//!BIND conv0ups4 +//!BIND conv0ups5 +//!SAVE conv1ups3 +//!WIDTH conv0ups.w 4 * +//!HEIGHT conv0ups.h 4 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_4(x_off, y_off) (max((conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_5(x_off, y_off) (max((conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_6(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_7(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_8(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_9(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_10(x_off, y_off) (max(-(conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_11(x_off, y_off) (max(-(conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.031633336, -0.047204643, 0.011066451, 0.0011457179, -0.006347917, 0.13608074, 0.12924363, 0.06834536, 0.018832529, -0.01617389, -0.0009201671, 0.06167612, 0.08379403, -0.09132134, 0.07452091, -0.015411293) * go_0(-1.0, -1.0); + result += mat4(-0.13649908, -0.16099243, -0.021652862, -0.026633946, -0.06286893, -0.03219469, -0.08637414, -0.0021062559, -0.040859055, 0.05031717, 0.08475461, -0.09933557, -0.09092729, -0.035865482, -0.01667468, 0.0483801) * go_0(-1.0, 0.0); + result += mat4(0.02968065, -0.07596962, -0.024859725, -0.024441414, -0.06656952, 0.13241091, -0.022650657, 0.021699335, -0.031473428, -0.0558768, -0.054720137, 0.070535615, 0.006326211, -0.14964871, 0.03221645, -0.007834044) * go_0(-1.0, 1.0); + result += mat4(-0.06156417, 0.04482909, -0.0778248, 0.0033762604, 0.11597608, 0.04095434, -0.022367701, -0.03452255, 0.0025452876, -0.03823163, -0.010726125, 0.033624556, -0.09120533, 0.036828235, -0.016980488, 0.05392169) * go_0(0.0, -1.0); + result += mat4(-0.009212071, -0.015501689, 0.2095705, 0.08235293, -0.044137206, 0.055401433, 0.09810722, -0.041813664, 0.023073409, -0.07762709, 0.02694196, -0.037561897, -0.035541937, 0.11290072, -0.016263168, -0.01696508) * go_0(0.0, 0.0); + result += mat4(-0.03433563, -0.07195097, -0.04096143, -0.0018147749, 0.05482759, -0.019837217, 0.0049560936, -0.077037215, 0.026151054, 0.0032809689, 0.019379511, 0.00382456, -0.025924211, 0.034603324, 0.010341936, -0.14283618) * go_0(0.0, 1.0); + result += mat4(-0.026823584, 0.06420322, -0.051015694, 0.058043856, 0.013785225, -0.10684649, 0.0060506472, -0.057333834, -0.05343321, 0.048890367, -0.039541624, -0.06949933, 0.0022957844, -0.026031267, 0.035494395, 0.0033965604) * go_0(1.0, -1.0); + result += mat4(0.030878888, -0.014656829, 0.05056943, -0.021301335, 0.009076464, -0.10768655, 0.1027581, -0.04479955, -0.013532313, 0.07706172, -0.11259715, -0.06031671, -0.0056995912, -0.0051256586, -0.03156205, 0.008640786) * go_0(1.0, 0.0); + result += mat4(0.103866965, 0.12710404, -0.086989075, -0.024303993, 0.018460473, -0.11399514, -0.028592719, -0.07092162, -0.02485938, 0.012646388, 0.05261332, 0.050391883, 0.0026937504, 0.04870649, -0.020437604, 0.038909916) * go_0(1.0, 1.0); + result += mat4(-0.0974513, -0.058236808, 0.07105198, 0.040524643, 0.065037526, 0.03906271, 0.07837626, -0.009679581, 0.00064385735, -0.08647321, -7.037534e-05, -0.016179089, -0.031292647, 0.076142006, 0.02804278, -0.05764257) * go_1(-1.0, -1.0); + result += mat4(0.030663867, -0.15635894, -0.028023819, 0.06460089, -0.041030735, 0.016293203, 0.19392496, -0.11508442, 0.008171591, 0.0934239, -0.0870048, 0.073362164, -0.006848772, 0.06790883, -0.0135335345, 0.07357594) * go_1(-1.0, 0.0); + result += mat4(0.09028114, -0.06429057, 0.033590067, -0.09879934, 0.07307227, 0.015769, -0.014990206, -0.085418195, 0.080049776, 0.023888448, 0.13409564, -0.014170682, 0.023629297, 0.07806108, 0.04071595, 0.020726595) * go_1(-1.0, 1.0); + result += mat4(0.052381314, 0.00016723361, 0.057861157, -0.036390983, -0.07958564, 0.05410337, -0.11179012, -0.0061320043, 0.004999326, 0.024352659, -0.019904172, 0.010242868, 0.07631115, -0.04601861, 0.038483422, -0.07362657) * go_1(0.0, -1.0); + result += mat4(-0.09390498, -0.08841797, 0.15556625, -0.038060345, -0.13633597, 0.04042637, 0.15676612, -0.0711533, -0.080495924, 0.111994445, -0.12988548, 0.06780971, -0.048715454, -0.060590737, 0.10961984, -0.08277777) * go_1(0.0, 0.0); + result += mat4(-0.02290309, -0.04694831, -0.06167874, -0.05670546, 0.050957043, 0.029744303, -0.06328828, 0.08185687, -0.10537507, -0.04115458, 0.0003735362, 0.053313557, 0.016010528, -0.08785715, -0.07621614, -0.036937892) * go_1(0.0, 1.0); + result += mat4(0.040517025, 0.09857766, 0.010042572, 0.108244754, -0.03283686, -0.022963187, -0.08690388, -0.005915626, 0.053891134, 0.017167503, 0.017341748, 0.011143697, 0.03999245, -0.01227219, -0.0054678386, -0.009622973) * go_1(1.0, -1.0); + result += mat4(-0.0164469, -0.017714353, 0.056487422, -0.120027006, 0.04292911, -0.15528695, 0.053511843, 0.116291136, -0.082675055, -0.00034804572, 0.055704895, 0.06071607, -0.047145657, -0.070386276, 0.023783786, 0.029925946) * go_1(1.0, 0.0); + result += mat4(0.050232735, 0.16572477, -0.09472499, 0.16729164, 0.031627227, -0.025007034, -0.02239652, -0.1147475, 0.050392598, 0.031118808, 0.02176994, 0.00016720843, 0.053246, -0.0098164175, 0.025946492, 0.095122576) * go_1(1.0, 1.0); + result += mat4(0.05655974, -0.0021296637, -0.027152158, 0.0018008223, -0.030945173, 0.033763006, -0.07339188, 0.08742059, -0.0052314815, -0.027254393, -0.010104694, 0.004313602, -0.0024155602, -0.11986348, -0.07897048, -0.0799794) * go_2(-1.0, -1.0); + result += mat4(-0.04539382, -0.026066178, 0.047523193, -0.011101852, 0.045068428, -0.09288182, -0.01977962, 0.036070194, 0.035875738, 0.0073511843, -0.04663524, -0.025468027, -0.11150121, -0.10920299, -0.052274317, 0.14670384) * go_2(-1.0, 0.0); + result += mat4(0.029047016, -0.08053488, -0.047576025, 0.041448213, 0.00519367, 0.017873831, 0.030525718, 0.2115599, 0.04645692, 0.05893807, 0.02615712, -0.0008160917, 0.010160952, -0.115348145, 0.034858495, -0.036252353) * go_2(-1.0, 1.0); + result += mat4(0.029328672, -0.06147282, 0.099245965, -0.016069561, -0.04588596, -0.015824864, -0.00065780955, 0.11783133, 0.046371263, 0.025532443, -0.050760116, 0.11387852, -0.123442486, 0.068502195, -0.035709452, -0.010139634) * go_2(0.0, -1.0); + result += mat4(0.08144107, -0.0048314384, 0.042561002, 0.0073429323, 0.016475169, -0.18298517, 0.04162269, -0.40505856, 0.040700838, -0.009729474, 0.04950991, -0.24527405, 0.0359844, -0.24922356, -0.008784957, 0.018083924) * go_2(0.0, 0.0); + result += mat4(-0.068025224, 0.021066243, 0.08084092, 0.06613674, 0.0137919625, 0.15247017, 0.034660168, 0.06185016, -0.10319381, -0.072604574, 7.0872666e-05, -0.046551786, 0.022662586, 0.040797472, -0.030347038, 0.14333972) * go_2(0.0, 1.0); + result += mat4(-0.034329556, -0.017629132, -0.1104316, -0.06154111, 0.09951742, 0.006805059, 0.019380113, 0.17514679, 0.033588763, -0.13236447, 0.010922994, -0.09017968, 0.08294792, 0.018926317, -0.043637145, 0.13902532) * go_2(1.0, -1.0); + result += mat4(0.022851896, 0.06672356, 0.079136185, -0.13659722, -0.038040325, 0.0035903263, -0.16733421, 0.024522435, -0.022264859, 0.10723366, -0.02288172, 0.0196728, -0.009653811, 0.10268295, -0.023501871, -0.113096185) * go_2(1.0, 0.0); + result += mat4(-0.08349015, 0.060919363, -0.030994276, -0.0025411155, -0.021647135, 0.022568595, 0.095439956, 0.21585481, -0.030502949, -0.09642366, -0.054017495, 0.045923337, 0.01565769, 0.107936196, 0.017659819, -0.006003853) * go_2(1.0, 1.0); + result += mat4(-0.038150147, 0.049813494, -0.02254389, 0.040376615, 0.012128591, -0.07560698, -0.06594582, 0.17038696, -0.051349834, 0.050568867, -0.037604492, 0.012154198, -0.014805098, -0.020965809, 0.032242477, 0.16283989) * go_3(-1.0, -1.0); + result += mat4(0.026164161, 0.0384656, -0.006746238, -0.052994136, 0.008782895, 0.06266396, -0.02655077, 0.092436485, 0.13156697, 0.07836482, -0.012871134, -0.08055485, 0.09101397, -0.1413135, 0.0009591581, 0.029787155) * go_3(-1.0, 0.0); + result += mat4(-0.04031569, -0.011720376, -0.06437212, 0.003487665, -0.015246492, -0.0223702, -0.082578495, 0.04191726, -0.006068365, -0.043860532, 0.035579063, 0.087044574, 0.064650975, 0.028945439, 0.1040025, -0.10181198) * go_3(-1.0, 1.0); + result += mat4(0.14989112, -0.0037134404, 0.01806641, -0.026873687, -0.08768526, 0.11383756, 0.05757268, 0.09455109, -0.018351153, -0.03952511, -0.079576045, 0.033925682, 0.0033001003, 0.08723034, -0.010643809, 0.01257262) * go_3(0.0, -1.0); + result += mat4(-0.05054542, -0.036329333, 0.123284444, -0.02557279, 0.10153082, -0.009069268, 0.04252951, -0.12585463, 0.04778654, -0.07483032, 0.062488556, -0.18395498, -0.033916395, 0.06295577, -0.027577616, 0.17423669) * go_3(0.0, 0.0); + result += mat4(0.07597052, -0.0075188116, -0.08973514, -0.026340129, 0.030906048, 0.08375465, 0.038213003, 0.035919543, -0.03734709, 0.017989695, 0.0087211225, -0.0022506106, -0.058739766, -0.18358399, -0.07323249, 0.1048162) * go_3(0.0, 1.0); + result += mat4(0.013184021, 0.012399519, -0.08989556, -0.13580927, 0.020641401, 0.0017869119, 0.0057148286, 0.05153431, 0.032268934, 0.034521434, -0.009682033, 0.01926426, 0.034169424, 0.06630961, 0.010832605, -0.054445773) * go_3(1.0, -1.0); + result += mat4(-0.07883951, -0.09010308, 0.0525519, -0.1035829, 0.02016036, -0.09304133, 0.034259807, -0.09152035, 0.036499713, -0.0019468254, 0.020942528, 0.12025507, -0.034722727, -0.0661018, -0.0026809797, 0.078953594) * go_3(1.0, 0.0); + result += mat4(-0.037430596, -0.08204897, 0.07476148, 0.024977764, 0.039181154, -0.057472326, -0.003945999, 0.09039336, 0.0008211801, -0.004438151, -0.07983789, 0.120177425, 0.015065143, 0.113335535, -0.07053597, 0.100381166) * go_3(1.0, 1.0); + result += mat4(0.086861916, -0.05991858, 0.034695197, -0.13092202, 0.07931092, 0.06493492, 0.06573841, -0.036724556, -0.034092747, 0.026152303, -0.033061255, 0.14032754, -0.04515681, 0.05808891, 0.007072928, 0.007464456) * go_4(-1.0, -1.0); + result += mat4(0.023646286, 0.018814346, 0.08853008, -0.046954494, -0.0680677, 0.09032007, -0.02298439, 0.056834072, 0.0129189445, 0.037632216, 0.015946416, 0.07931374, 0.042541604, -0.02725378, 0.08464752, -0.07183182) * go_4(-1.0, 0.0); + result += mat4(0.01946921, -0.025809659, -0.010859854, -0.03876819, 0.03143448, 0.08659046, 0.03156476, -0.052004244, 0.050997965, 0.1330303, 0.07472624, 0.042026673, -0.01350671, 0.0037710255, -0.01113821, 0.12962969) * go_4(-1.0, 1.0); + result += mat4(0.071065016, 0.013667473, -0.07858696, -0.049275048, -0.0831864, -0.031069418, 0.0358137, -0.030719617, 0.03046763, 0.12356255, 0.088537484, 0.07021697, 0.013280352, -0.029585753, 0.11887279, 0.014726342) * go_4(0.0, -1.0); + result += mat4(-0.033986542, -0.057265796, -0.09960996, -0.007123603, -0.06251754, -0.04555296, -0.1660342, -0.16122448, 0.09641061, 0.06326183, -0.14873765, -0.063495845, -0.0035400593, -0.10232192, -0.13308042, 0.07226899) * go_4(0.0, 0.0); + result += mat4(0.02253988, -0.022372516, -0.023315908, -0.023785658, 0.0089682285, -0.05635044, 0.029682735, -0.091528706, 0.016541997, -0.00838726, 0.015957052, 0.009885855, 0.09019392, 0.070210606, 0.08996705, -0.15950003) * go_4(0.0, 1.0); + result += mat4(-0.012698153, 0.024674984, 0.017171197, -0.07513787, 0.054034457, 0.08034133, 0.019900622, -0.018637706, -0.015539523, -0.01719926, 0.012222133, 0.056686874, -0.09941062, 0.035075326, -0.06300037, 0.065752745) * go_4(1.0, -1.0); + result += mat4(-0.053739294, 0.06779504, 0.006205555, 0.055135477, -0.07350646, -0.07284559, -0.00071034994, 0.070012785, -0.048758507, -0.09573929, 0.017987896, 0.026238175, 0.05292496, -0.0908226, 0.03330145, -0.10023517) * go_4(1.0, 0.0); + result += mat4(-0.06051138, 0.01845355, 0.080332205, -0.23477274, 0.0017780879, -0.0011769851, 0.006243116, 0.12769665, -0.013245734, -0.045544423, 0.0051080324, 0.10321145, 0.0024773434, -0.0057393876, 0.045241803, 0.0050300118) * go_4(1.0, 1.0); + result += mat4(-0.06959858, 0.15786399, -0.016317498, 0.02877184, 0.014460598, 0.014137085, 0.016335545, -0.031591866, -0.073639706, 0.039272517, 0.0595447, -0.060000565, 0.052340932, -0.037160374, -0.009746105, 0.03398597) * go_5(-1.0, -1.0); + result += mat4(-0.014331551, -0.02283697, 0.057261255, -0.11191036, -0.026502425, 0.09579876, 0.023205925, -0.01002969, 0.0035926125, 0.107083805, -0.12081962, 0.037520908, 0.10304293, 0.10181896, 0.059842397, -0.12394029) * go_5(-1.0, 0.0); + result += mat4(-0.055230685, 0.033124145, -0.084113054, 0.057819456, -0.03683001, 0.08490844, -0.08137146, -0.0026155058, 0.030884158, -0.0069224723, 0.019869838, -0.10588068, -0.017231783, 0.07140959, 0.09784099, -0.064257614) * go_5(-1.0, 1.0); + result += mat4(-0.0055279834, 0.02264992, 0.048775043, -0.0055674016, 0.036924344, 0.047921922, -0.0030406152, 0.06572295, -0.01256091, -0.07444153, -0.030441843, 0.06839246, -0.02466317, 0.0640739, 0.0012663803, -0.09249365) * go_5(0.0, -1.0); + result += mat4(0.12454637, 0.02508894, -0.012818148, -0.17413804, 0.06903678, -0.14579777, -0.061650313, 0.06415632, 0.16513939, -0.12148188, 0.061980836, -0.25413838, -0.0838438, 0.09010191, -0.10076346, -0.08384045) * go_5(0.0, 0.0); + result += mat4(0.035294853, -0.009818006, 0.008635308, 0.07649243, 0.07593973, -0.10815679, -0.0037946224, -0.05962902, -0.08596867, 0.03172433, 0.032208804, -0.010527998, -0.012895747, -0.07577188, -0.0886284, 0.030037675) * go_5(0.0, 1.0); + result += mat4(-0.05260277, -0.005165094, -0.023816098, -0.008453138, 0.029108394, 0.0038581542, 0.03230225, -0.115741685, 0.01434686, -0.007362142, 0.076833464, -0.09742086, 0.015652958, -0.03165315, 0.016827375, 0.03012236) * go_5(1.0, -1.0); + result += mat4(-0.0074114413, -0.007142157, 0.060098313, 0.018576475, 0.048388384, 0.025734812, 0.055412345, -0.094956696, -0.1089939, 0.05442987, -0.078176424, 0.19176328, 0.0018410903, -0.008963725, 0.030447556, 0.04371867) * go_5(1.0, 0.0); + result += mat4(0.012471635, -0.07121236, 0.010370329, -0.035927165, -0.0499536, -0.051744625, 0.101591684, 0.036637902, 0.0260581, -0.045453344, 0.012845175, -0.09495744, -0.044371244, -0.10490497, -0.025627108, 0.07270294) * go_5(1.0, 1.0); + result += mat4(-0.015937695, -0.020977845, -0.05469452, -0.07522349, -0.050260108, -0.030902538, -0.039734975, -0.1355189, 0.030919757, -0.020353384, -0.01856437, -0.009737283, -0.02694679, 0.04907046, -0.022781305, 0.018169781) * go_6(-1.0, -1.0); + result += mat4(0.090058595, 0.16826132, 0.0049826605, 0.06566607, 0.10809639, -0.068695635, 0.00036837102, -0.03028086, -0.041872762, -0.009846198, -0.010779144, 0.019335851, 0.039553203, 0.08820599, -0.08433723, -0.06466632) * go_6(-1.0, 0.0); + result += mat4(-0.04349268, 0.09397739, 0.025378872, 0.11493893, 0.04360296, -0.13035224, 0.08838262, -0.060854338, 0.051835474, -0.018637918, -0.10881329, 0.04358248, 0.033509035, 0.04022566, 0.05735986, 0.06441961) * go_6(-1.0, 1.0); + result += mat4(0.009264325, -0.018902622, 0.03789747, 0.07226558, 0.014448138, -0.0033306987, 0.11255374, 0.03935702, 0.0129322065, -0.0016181464, -0.1021287, -0.030171165, 0.032106273, -0.007900431, -0.036069363, 0.0086673265) * go_6(0.0, -1.0); + result += mat4(0.17255592, 0.098507464, -0.105153486, -0.059567925, -0.04387472, -0.027963785, -0.1796981, 0.04501898, 0.06144028, -0.014747315, 0.17627963, -0.14504983, 0.0023210887, -0.1271698, 0.046717733, 0.13961272) * go_6(0.0, 0.0); + result += mat4(-0.033931673, 0.052978534, 0.087915316, -0.26053375, -0.11032791, 0.093395844, -0.03211155, 0.0053596734, -0.035693087, 0.012405018, 0.015548244, 0.045665722, 0.07878497, -0.06569381, 0.0013916995, -0.09496338) * go_6(0.0, 1.0); + result += mat4(-0.017125744, -0.05888157, 0.086017296, -0.015469932, 0.047587533, 0.022086784, -0.023233168, 0.022773582, 0.027239671, 0.00037649702, 0.025775624, 0.038293503, 0.0006150258, -0.057812367, 0.0023295355, -0.011695804) * go_6(1.0, -1.0); + result += mat4(-0.025385706, -0.057831608, -0.14174853, -0.034000676, -0.011626789, 0.089549385, -0.08939085, 0.07497252, -0.06530738, 0.019561889, 0.05338198, 0.0772703, 0.022494745, 0.057491917, 0.09906272, -0.11619142) * go_6(1.0, 0.0); + result += mat4(0.007159045, -0.11820591, 0.16014685, -0.057507165, -0.004012916, 0.08386152, 0.044288564, -0.11879581, -0.024562648, 0.042310104, -0.012218031, 0.0070039956, -0.010308056, 0.015246671, -0.017002579, 0.027904462) * go_6(1.0, 1.0); + result += mat4(0.043773923, 0.08447926, 0.0060493797, -0.009838635, -0.06607809, -0.105812825, -0.016854167, -0.029042272, -0.016566982, 0.09054693, -0.01610307, 0.1024673, 0.027022481, -0.0140408715, -0.0034308503, 0.015907276) * go_7(-1.0, -1.0); + result += mat4(-0.029520601, 0.15832281, -0.07498997, 0.12879246, -0.0047403337, -0.09097572, 0.010709765, -0.08067614, 0.1531185, -0.07202508, 0.1379616, -0.17325218, 0.05003156, -0.08192065, -0.029490056, -0.00607472) * go_7(-1.0, 0.0); + result += mat4(-0.07261881, 0.07981568, 0.05910037, 0.008755043, -0.017419731, -0.08997138, -0.010871429, -0.02585257, -0.12178138, -0.0006769738, -0.13575381, -0.0021067322, -0.052185774, -0.0074158055, 0.053772356, -0.022291688) * go_7(-1.0, 1.0); + result += mat4(-0.044595588, -0.003316725, -0.09797879, -0.07159885, 0.028050797, -0.009792938, 0.14875832, 0.06559129, 0.067419454, -0.11753606, 0.06074019, -0.1275772, -0.03880455, -0.033909705, 0.05090661, 0.0041188593) * go_7(0.0, -1.0); + result += mat4(0.08944623, -0.09970128, 0.120357394, -0.068270415, 0.2179705, 0.013683926, -0.05012664, -0.0040535773, -0.08411433, 0.05863848, -0.0024508496, 0.061170265, -0.022142153, 0.033100035, -0.18519762, 0.19681497) * go_7(0.0, 0.0); + result += mat4(0.048383128, 0.015200143, -0.078832135, 0.07570611, -0.09995039, -0.011546988, 0.023362644, 0.058294352, 0.13560104, -0.026238907, 0.07796701, -0.033889227, 0.045404553, 0.11079167, 0.049104396, -0.09936158) * go_7(0.0, 1.0); + result += mat4(-0.04900701, -0.05481005, -0.03186607, 0.07921016, 0.026371472, -0.059524942, 0.03906118, -0.08893278, -0.06457584, -0.08473395, -0.0674365, 0.032866746, 0.00096739264, 0.018813917, -0.028455576, -0.033470895) * go_7(1.0, -1.0); + result += mat4(0.032376442, -0.032982334, -0.047812797, -0.119594894, 0.01737356, 0.072892755, -0.043750647, 0.012878239, 0.17971332, -0.006200243, -0.0015411077, 0.017953468, 0.085230194, 0.014917097, 0.00026161334, -0.044447564) * go_7(1.0, 0.0); + result += mat4(-0.060007825, -0.15202801, 0.05623693, -0.01939923, -0.03227392, 0.031867385, -0.018139722, -0.02079522, -0.02402598, -0.053211123, 0.053056594, -0.04878437, -0.06519192, -0.0034240666, -0.024356056, -0.15005529) * go_7(1.0, 1.0); + result += mat4(-0.1284994, 0.055396453, -0.061427724, 0.04534267, 0.0044355616, -0.019841217, 0.0097054625, -0.05854661, -0.009569753, 0.027033292, -0.03268401, 0.009913927, 0.033498365, 0.06184141, 0.087421514, 0.06077207) * go_8(-1.0, -1.0); + result += mat4(0.035460323, -0.026687097, -0.1075591, 0.016931009, -0.09197817, 0.0046994127, 0.081675895, 0.035733443, -0.03892834, -0.032740854, -0.0217478, 0.097181335, 0.04714629, 0.20219718, 0.06359064, 0.06060557) * go_8(-1.0, 0.0); + result += mat4(0.0031661312, 0.07984541, 0.11029064, -0.06733239, -0.030554567, 0.035596423, -0.20681056, -0.05346199, -0.0783697, -0.040118814, -0.06487384, 0.0284231, 0.0049691694, 0.1491528, -0.039714985, 0.0074181003) * go_8(-1.0, 1.0); + result += mat4(0.10314192, -0.062152095, 0.08471139, -0.007023202, -0.03345975, 0.061854187, -0.021596573, -0.09983176, -0.04742312, 0.031852785, 0.044639237, 0.03092092, 0.09285697, -0.046978965, -0.003271293, 0.1714985) * go_8(0.0, -1.0); + result += mat4(-0.073157325, 0.05363814, -0.045032505, -0.07305738, 0.19485062, -0.08983376, 0.148478, -0.039260827, 0.03130637, -0.14657615, 0.033006314, -0.22576669, -0.06716495, 0.12892662, 0.008650304, -0.33207697) * go_8(0.0, 0.0); + result += mat4(0.049011655, -0.011785537, 0.00024780617, -0.08561568, -0.04056951, 0.05069663, 0.009467424, 0.1603814, 0.10849184, 0.07585787, 0.019122511, 0.0017692102, -0.013110704, -0.03444119, -0.059038095, -0.16943854) * go_8(0.0, 1.0); + result += mat4(-0.015281859, -0.0056571746, -0.0044085067, 0.12703119, -0.03224448, 0.06341434, 0.023243256, -0.11761112, 0.07058639, -0.0042816503, -0.016741859, -0.14328286, -0.105398014, 0.021235801, 0.024729747, -0.05396179) * go_8(1.0, -1.0); + result += mat4(-0.018736282, -0.08921308, 0.012529463, 0.08207301, -0.022546262, 0.0008973871, 0.0589294, 0.02749262, -0.04337444, -0.026003493, -0.030900346, 0.09806117, 0.014908406, -0.022758849, 0.040615484, -0.025548873) * go_8(1.0, 0.0); + result += mat4(0.04973487, -0.007308476, -0.09107627, 0.1002638, 0.039444637, 0.062748894, -0.03743681, 0.04941978, 0.03797882, -0.005657804, 0.07496248, -0.19625728, -0.0053111203, -0.12420952, 0.015706213, 0.08970607) * go_8(1.0, 1.0); + result += mat4(-0.017499652, -0.011083385, -0.03835575, -0.057031613, 0.055788048, -0.002769527, 0.048425846, -0.12638432, 0.079847835, -0.023777835, 0.028142963, 0.029259687, 0.012670037, -0.04262065, 0.011202046, 0.1014771) * go_9(-1.0, -1.0); + result += mat4(-0.0011066735, -0.06567987, -0.024684886, 0.04814328, -0.029252958, -0.0145578375, -0.011001012, 0.066024825, -0.12549819, -0.035608485, 0.024503868, 0.09046607, -0.12577386, 0.108499795, -0.033756047, 0.04089189) * go_9(-1.0, 0.0); + result += mat4(0.07298894, 0.016137762, 0.09972605, -0.03631019, 0.071216986, -0.006491169, 0.13135724, -0.045003764, 0.011327209, -0.0032198452, -0.073184155, -0.12645428, -0.033388153, 0.038289644, -0.022976652, -0.15222427) * go_9(-1.0, 1.0); + result += mat4(-0.0850051, -0.061894715, 0.0025460725, 0.01735803, 0.0115774, 0.028606912, -0.0185829, 0.058961958, -0.015164688, 0.06176899, 0.013633159, -0.13075458, -0.04559838, 0.1497594, 0.012309951, -0.054280266) * go_9(0.0, -1.0); + result += mat4(0.033778504, 1.3775232e-05, -0.071465604, 0.039625768, -0.1406421, -0.09973969, -0.12348733, 0.08639336, -0.017689444, -0.05291633, 0.0052467394, 0.036083005, 0.103011146, -0.07885084, 0.03624404, -0.19779843) * go_9(0.0, 0.0); + result += mat4(-0.13701077, -0.009741476, 0.057119012, -0.011644494, -0.019327998, 0.012543687, -0.108650126, 0.14737423, 0.0030139815, 0.04868924, -0.06679441, -0.0014451172, 0.075022966, -0.07319879, 0.046130773, -0.084946394) * go_9(0.0, 1.0); + result += mat4(0.02757042, 0.005000714, 0.05357463, -0.012014082, 0.03387562, -0.08268642, 0.027975079, 0.030093687, -0.0026373544, -0.07304045, 0.034148622, -0.11867974, 0.00915948, 0.032246005, 0.029637758, -0.124297306) * go_9(1.0, -1.0); + result += mat4(-0.027572427, 0.080845065, -0.07151847, 0.044999022, 0.10178647, 0.039238267, 0.069493495, 0.040196676, -0.028676251, 0.098159514, -0.0109344255, 0.010178323, -0.024001377, -0.11533262, 0.054262727, -0.25812492) * go_9(1.0, 0.0); + result += mat4(0.017852787, 0.054254986, -0.07904005, 0.016366297, -0.07436262, -0.0027527057, 0.019063853, -0.059751403, 0.011023306, 0.04290423, 0.094588734, 0.041617885, -0.004662918, -0.029263075, 0.0053384346, 0.13014711) * go_9(1.0, 1.0); + result += mat4(0.020516312, 0.049965713, -0.0047764, -0.001385792, -0.10811771, -0.06954961, -0.038639724, -0.10104973, -0.046069738, -0.0018522897, 0.0068155103, 0.017285738, 0.06505856, -0.15119606, 0.02563171, -0.076795295) * go_10(-1.0, -1.0); + result += mat4(-0.038404297, -0.034899928, 0.030618228, -0.078488395, 0.026526814, 0.054260876, -0.008638833, 0.044345114, -0.034573607, -0.13525884, -0.038886372, 0.034750782, 0.028315054, 0.018721249, 0.05520113, -0.14643733) * go_10(-1.0, 0.0); + result += mat4(-0.004575239, 0.054795388, -0.025221294, 0.08692721, -0.011114022, -0.13158318, -0.117704205, -0.013045645, -0.019987218, -0.16077873, -0.027254676, -0.032827064, 0.03171408, 0.029311327, 0.09390122, -0.06094889) * go_10(-1.0, 1.0); + result += mat4(-0.09514255, -0.11719947, 0.024771178, -0.055347703, -0.0050212713, 0.023508657, -0.031050786, -0.008211493, 0.059302375, -0.09727709, 0.0033082752, -0.34259906, 0.034872722, 0.06544398, -0.15009998, -0.005616581) * go_10(0.0, -1.0); + result += mat4(-0.054723203, 0.10425467, 0.08331141, 0.041694768, 0.21464455, -0.13965818, 0.23145188, -0.3231194, -0.09231095, -0.093762614, 0.1341291, 0.106148496, -0.03840182, -0.03863224, 0.00978057, 0.10734164) * go_10(0.0, 0.0); + result += mat4(0.046150167, -0.1107325, 0.08239038, 0.09739733, -0.04838563, 0.07169289, 0.030699836, 0.087043926, -0.04000327, 0.07075429, -0.0649763, 0.13473587, -0.026697233, -0.032252587, -0.106289394, 0.013134167) * go_10(0.0, 1.0); + result += mat4(-0.011358477, 0.014746848, -0.06381113, 0.09345815, -0.052493114, -0.031094193, -0.014490446, 0.027240822, -0.013986413, 0.047255624, -0.0071515823, -0.15499969, 0.011660372, -0.08114566, -0.0032833416, -0.025902508) * go_10(1.0, -1.0); + result += mat4(0.093131594, -0.020026306, 0.064591266, 0.06950151, 0.03308419, 0.013929936, -0.051832702, -0.09504873, 0.04482367, 0.02285439, -0.016865572, -0.010707854, -0.12346976, 0.1108876, 0.033460088, 0.1441719) * go_10(1.0, 0.0); + result += mat4(0.06464345, 0.009814147, -0.11732286, 0.09640966, -0.011083181, 0.025634103, -0.009818605, -0.06308208, 0.035090234, 0.047049303, -0.011196712, -0.040552177, -0.00690482, -0.032003466, -0.08346238, -0.051888265) * go_10(1.0, 1.0); + result += mat4(-0.07594275, -0.14852607, 0.006369174, -0.028322008, 0.031113818, -0.025142204, 0.04233826, 0.0007640209, 0.030699715, -0.06448617, -0.015898462, 0.066777274, -0.04257087, -0.0144890435, 0.057357844, -0.0318667) * go_11(-1.0, -1.0); + result += mat4(0.19709913, -0.087405324, 0.04390357, 0.10380273, -0.05233805, -0.019568289, -0.106650576, -0.0063792607, -0.09027559, -0.006504837, 0.074212104, 0.051857464, -0.15292354, -0.112121835, -0.069437794, 0.051379323) * go_11(-1.0, 0.0); + result += mat4(-0.059474748, -0.032849193, 0.09168405, -0.12285668, 0.039865855, -0.12654066, 0.047645345, -0.028331244, -0.016361289, -0.020990405, -0.09095233, 0.03194053, 0.058742214, -0.1877646, -0.08055953, 0.02642651) * go_11(-1.0, 1.0); + result += mat4(0.06032857, 0.06038668, 0.002503837, 0.021554386, -0.091903985, 0.09046953, -0.06712859, 0.006537793, -0.046659786, 0.021541117, 0.012266998, 0.054188155, 0.007151342, 0.008575671, 0.01513689, -0.026369616) * go_11(0.0, -1.0); + result += mat4(-0.12819825, -0.052586053, -0.0881643, -0.12339812, 0.15492871, -0.0058023096, 0.17018582, 0.11415837, 0.21312602, -0.13595492, 0.123150736, -0.13618599, 0.20745124, -0.039583243, 0.121999316, 0.13601117) * go_11(0.0, 0.0); + result += mat4(-0.08635906, 0.036601096, 0.030962972, 0.21548468, -0.071995094, 0.004548638, 0.018891288, -0.1884843, 0.079512775, 0.010611917, 0.02468035, -0.0015380608, -0.035021294, 0.12837036, 0.03815442, 0.14684461) * go_11(0.0, 1.0); + result += mat4(0.04575171, 0.0255304, -0.021699527, -0.07199272, -0.01405429, -0.015184739, -0.05289523, 0.23502754, -0.009633605, -0.010538761, -0.01368754, 0.02869853, -0.052602444, 0.04617772, 0.003520183, 0.043920517) * go_11(1.0, -1.0); + result += mat4(-0.03702823, 0.028631229, -0.056377277, 0.06657131, -0.06471088, -0.02777387, -0.07724881, -0.141064, 0.02069003, -0.0029747393, -0.003270307, -0.0970294, -0.015186423, -0.010041962, -0.10663767, -0.14395697) * go_11(1.0, 0.0); + result += mat4(0.019522002, 0.017114507, 0.018178293, -0.074390344, 0.03809122, 0.0019812244, -0.12456406, -0.03625297, -0.04258997, 0.012483465, -0.07854689, 0.16006711, 0.031079631, 0.06537226, 0.086271, -0.12306452) * go_11(1.0, 1.0); + result += vec4(0.010888379, 0.004641154, 0.015582801, 0.0017601614); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv0ups +//!BIND conv0ups1 +//!BIND conv0ups2 +//!BIND conv0ups3 +//!BIND conv0ups4 +//!BIND conv0ups5 +//!SAVE conv1ups4 +//!WIDTH conv0ups.w 4 * +//!HEIGHT conv0ups.h 4 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_4(x_off, y_off) (max((conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_5(x_off, y_off) (max((conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_6(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_7(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_8(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_9(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_10(x_off, y_off) (max(-(conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_11(x_off, y_off) (max(-(conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +vec4 hook() { + vec4 result = mat4(-0.034727804, -0.0002637053, -0.04078105, -0.08927365, -0.07645947, 0.076919794, 0.005021898, 0.058050282, 0.015864419, -0.028619323, -0.071649395, 0.038069222, -0.08295531, -0.0003540787, -0.0004084796, 0.09838099) * go_0(-1.0, -1.0); + result += mat4(0.053080674, 0.002008403, -0.030753473, -0.00059351645, 0.21958888, -0.047472507, -0.10333183, 0.01189763, -0.25521263, 0.06761254, 0.033002634, 0.15817507, 0.056013178, 0.005128271, -0.0057734093, 0.026915452) * go_0(-1.0, 0.0); + result += mat4(0.018198377, -0.030808125, -0.005123907, -0.09906635, -0.0022847415, 0.027329655, 0.12032622, -0.053246, 0.17812891, -0.0034940862, -0.05836999, -0.17489943, -0.058187198, -0.04797969, 0.03180951, -0.0068172915) * go_0(-1.0, 1.0); + result += mat4(-0.007893344, -0.04144954, 0.022285834, -0.069708645, 0.011978968, -0.0041609593, -0.09588643, -0.09790428, 0.10254975, -0.07055374, 0.015816301, -0.008875658, -0.020530261, -0.037710804, -0.08531446, -0.16354285) * go_0(0.0, -1.0); + result += mat4(0.009672311, 0.05724347, 0.1139366, 0.029182902, -0.16538447, 0.053901788, -0.05012634, 0.20983797, -0.11215055, -0.0032693828, 0.13143851, -0.07319714, 0.07356394, 0.21913917, -0.02512947, -0.09149598) * go_0(0.0, 0.0); + result += mat4(-0.10140455, 0.017164832, 0.032349866, 0.088012405, -0.02051974, -0.079648875, 0.0045336485, -0.025527513, -0.103990085, 0.027295498, 0.034057755, 0.007966114, -0.019226998, 0.03644731, 0.07082869, 0.061730456) * go_0(0.0, 1.0); + result += mat4(-0.019575765, 0.055050828, -0.06451268, -0.0031637426, 0.029987715, -0.09300758, -0.08723479, -0.023979021, -0.004959102, 0.055621523, 0.04736208, -0.017018013, -0.1752648, -0.047154278, 0.025960885, 0.20475896) * go_0(1.0, -1.0); + result += mat4(-0.0056192777, -0.025803288, 0.032227412, -0.02016798, -0.031833343, 0.06160066, -0.06491425, 0.0011419505, 0.16180488, 0.024346532, -0.023937434, -0.10019908, 0.053700123, 0.08749021, -0.051140826, 0.002127793) * go_0(1.0, 0.0); + result += mat4(-0.10793633, 0.0058197114, -0.013801388, -0.0061892844, -0.028018648, 0.011631394, 0.015553901, 0.057576846, 0.07057829, -0.03060998, 0.022989806, 0.012193347, 0.08022945, -0.07045989, 0.02723698, 0.0030155836) * go_0(1.0, 1.0); + result += mat4(-0.04512287, -0.041164827, -0.032029074, -0.06730429, -0.019684372, -0.020619368, 0.11050403, -0.08812864, 0.032124072, 0.019207481, -0.023409393, -0.019082036, 0.014939763, 0.01212131, 0.0019187465, 0.08177548) * go_1(-1.0, -1.0); + result += mat4(0.17723826, -0.07731568, -0.0106458245, -0.0949864, -0.42690027, -0.005360146, -0.11773051, 0.27470574, 0.09827681, -0.015561, 0.1043857, 0.018999008, 0.029409967, -0.09800717, -0.106550716, 0.059578367) * go_1(-1.0, 0.0); + result += mat4(-0.14227667, 0.025659012, -0.087051585, 0.088987745, -0.038849983, -0.038027756, 0.13187966, -0.002485406, 0.0014433947, -0.025459114, 0.03288196, -0.02150798, -0.020861674, -0.04538319, 0.033835832, -0.03215041) * go_1(-1.0, 1.0); + result += mat4(-0.1553871, 0.029722217, 0.035195246, -0.10880293, 0.1550117, 0.005851412, -0.063834764, -0.1988861, -0.08803912, 0.052023105, -0.061123103, 0.026238514, -0.06444424, 0.034957945, 0.013564579, -0.04922909) * go_1(0.0, -1.0); + result += mat4(-0.30188507, 0.041812148, -0.0051415698, 0.4225713, 0.123012245, 0.006190092, -0.11784305, -0.09278702, -0.032476064, 0.01649785, 0.06873298, 0.003889617, 0.12036293, 0.010126355, -0.0159458, -0.07610982) * go_1(0.0, 0.0); + result += mat4(0.09901913, -0.08349318, 0.048260756, 0.015416775, -0.04753114, -0.059718408, -0.06824792, -0.17603761, 0.00778662, -0.0059375027, -0.083089516, -0.14063439, -0.12862016, 0.042804226, 0.023634497, -0.09797641) * go_1(0.0, 1.0); + result += mat4(-0.024001475, -0.010116277, -0.053517547, -0.012852274, -0.06398481, 0.048043747, 0.033992432, 0.07568637, 0.19207221, -0.045017365, -0.14834619, -0.05611828, 0.012974322, 0.033472214, -0.069440804, 0.019957287) * go_1(1.0, -1.0); + result += mat4(-0.06514664, 0.07197869, -0.10582491, -0.04518758, -0.04605446, -0.103915684, 0.09963303, 0.112704754, 0.0116696, 0.048416674, 0.043518696, 0.15309274, 0.079236075, -0.10255372, -0.024120726, 0.08078583) * go_1(1.0, 0.0); + result += mat4(0.08656825, -0.059274856, 0.068748064, -0.09998145, 0.04256707, 0.07933082, -0.07329948, 0.10178932, 0.11183659, -0.028112091, 0.061075397, -0.0588522, -0.051063843, -0.013038464, -0.027286172, -0.03975418) * go_1(1.0, 1.0); + result += mat4(0.11182532, 0.026677538, 0.01931928, -0.09913016, 0.025954673, -0.10134136, -0.03812254, -0.03199443, 0.100416884, -0.032493666, 0.05390669, -0.1215946, 0.030413928, 0.049877644, -0.059447087, -0.017498257) * go_2(-1.0, -1.0); + result += mat4(0.06850377, -0.023795482, 0.0076700076, 0.027123824, -0.17540605, 0.090537384, 0.089903906, 0.08784665, 0.056886338, 0.07318396, 0.017845241, 0.036417425, 0.00984014, 0.047083918, 0.057152037, -0.052876327) * go_2(-1.0, 0.0); + result += mat4(-0.121944204, -0.0068513937, -0.023799203, 0.04849627, 0.1347227, -0.1030107, 0.001971158, -0.115433335, 0.10797434, -0.012841425, -0.057837863, 0.0155828055, -0.19377467, 0.0055032945, 0.003947639, 0.017919105) * go_2(-1.0, 1.0); + result += mat4(-0.20650981, 0.07069638, 0.038973074, 0.09843876, 0.068253726, 0.09169397, 0.10435845, -0.0691921, 0.051520117, -0.037182227, 0.04543112, 0.075975135, 0.12886383, -0.062047563, 0.09874315, 0.009082724) * go_2(0.0, -1.0); + result += mat4(-0.079879194, -0.079275034, -0.056224998, 0.19465743, 0.08354674, -0.12681249, -0.064639136, 0.11830915, -0.23791347, 0.011471329, -0.028716747, 0.090518124, -0.14705297, -0.14800677, 0.040497895, 0.2106043) * go_2(0.0, 0.0); + result += mat4(-0.10478849, 0.14821102, 0.006451715, -0.0054948176, -0.21951425, 0.058777, -0.055765983, -0.017423972, -0.03932819, 0.03443368, 0.061615612, 0.0059949807, 0.117751196, 0.06963176, -0.056414824, -0.023910165) * go_2(0.0, 1.0); + result += mat4(0.07807272, -0.032261666, 0.021192279, -0.11579501, 0.0188122, 0.017952453, 0.06170359, -0.021977829, 0.16133995, -0.13010149, -0.16331437, -0.010100977, 0.050390303, 0.055919446, 0.033072688, 0.025785616) * go_2(1.0, -1.0); + result += mat4(-0.022184338, -0.14055336, -0.095062464, -0.0041828197, -0.025712729, 0.031116307, 0.036420126, -0.09461098, -0.12736198, 0.03323538, 0.070970595, 0.11801352, -0.025641473, -0.04504696, 0.0030125964, -0.091391) * go_2(1.0, 0.0); + result += mat4(0.04494935, 0.10812193, 0.080031045, 0.018296331, 0.018970827, -0.052274104, -0.0689094, -0.019235257, 0.02062231, -0.082279414, -0.0175502, 0.017041082, 0.06990016, 0.06712624, 0.023160413, -0.057801697) * go_2(1.0, 1.0); + result += mat4(0.049425572, -0.02474476, 0.07820988, 0.05521917, 0.052971717, -0.007768393, -0.001464341, -0.2064974, -0.03196784, 0.02195545, 0.12278798, -0.11918513, 0.06497295, 0.022542082, 0.08465838, -0.21600927) * go_3(-1.0, -1.0); + result += mat4(0.07904455, -0.00799822, -0.07466292, 0.012005663, -0.17555022, 0.1637635, 0.063736685, -0.0021971513, 0.08062457, -0.08926104, -0.052941434, 0.12072748, 0.15161732, -0.010707747, -0.052357092, -0.1074367) * go_3(-1.0, 0.0); + result += mat4(-0.023624638, -0.022204673, 0.021252679, 0.016148455, -0.00191494, -0.00606788, -0.017119512, -0.13170989, -0.11873442, 0.067021996, 0.005754373, 0.042165596, -0.19932863, 0.0850464, -0.010264557, 0.16757919) * go_3(-1.0, 1.0); + result += mat4(0.0379892, 0.052664872, -0.12167355, 0.2524495, 0.08369987, -0.07664706, 0.007957599, -0.04493479, 0.036094286, 0.042244308, 0.09976276, -0.1014558, 0.00077894697, 0.02168721, 0.13530052, 0.07524451) * go_3(0.0, -1.0); + result += mat4(-0.0307444, 0.06874138, 0.10381962, 0.0039765453, 0.19239871, -0.115774564, -0.039901294, 0.13674201, 0.23891816, -0.26257655, -0.13401362, -0.0026337842, 0.14189234, -0.16459025, -0.07943012, -0.024599468) * go_3(0.0, 0.0); + result += mat4(0.10089985, -0.065910965, -0.060871962, 0.020102434, 0.10416804, 0.0026375954, 0.00017099817, 0.07224531, -0.050626464, 0.05784554, -0.04115028, 0.03422795, 0.0849365, 0.07881633, -0.04332016, 0.012389496) * go_3(0.0, 1.0); + result += mat4(0.0968923, -0.11488315, -0.33647102, -0.07759128, -0.065646835, 0.08871705, 0.06547451, -0.052951876, 0.031025445, 0.05321443, 0.0861705, -0.01150282, -0.017868344, 0.05863463, -0.048652783, -0.00302825) * go_3(1.0, -1.0); + result += mat4(-0.08623984, 0.030496845, 0.13282211, 0.036924344, -0.051652618, 0.045645814, -0.04972949, -0.06819525, 0.07043929, -0.03750826, -0.061573654, -0.02713896, -0.02949009, -0.15784396, 0.04846532, -0.01809239) * go_3(1.0, 0.0); + result += mat4(-0.055429317, 0.020174243, 0.056924883, 0.015847506, -0.020308318, 0.006933419, 0.055292472, -0.08543373, -0.04522778, 0.015520184, 0.049334437, -0.06302532, -0.033106968, 0.07696187, -0.028078254, -0.07835302) * go_3(1.0, 1.0); + result += mat4(0.06727477, -0.015105682, 0.037172996, 0.040687807, -0.13228765, -0.029248675, -0.14732817, -0.023869514, -0.0059372024, -0.08419329, 0.051801164, -0.014700099, -0.13818024, -0.07835987, -0.05691042, 0.16196246) * go_4(-1.0, -1.0); + result += mat4(-0.067745954, 0.050429884, 0.015547787, 0.028301466, 0.065669335, -0.0015817108, 0.0043691727, 0.14655195, 0.11468205, 0.05447307, -0.018185347, -0.044705737, -0.071984716, -0.116617225, -0.13028212, 0.040051438) * go_4(-1.0, 0.0); + result += mat4(0.07309806, -0.05016123, 0.014905728, -0.054026593, -0.14251226, -0.068813756, -0.046204448, 0.033708956, 0.07477926, -0.07824067, -0.06448796, 0.0962089, -0.091852166, 0.033222884, 0.05655323, -0.07739394) * go_4(-1.0, 1.0); + result += mat4(0.07736231, -0.024777608, -0.1293071, 0.013133082, -0.07063114, 0.1109699, 0.101938464, -0.08170503, -0.03952933, 0.020189505, 0.10726348, -0.0038012264, -0.10198266, 0.074299835, -0.027496899, -0.016759772) * go_4(0.0, -1.0); + result += mat4(-0.14961888, 0.1258593, -0.0052209287, 0.039395887, 0.12711245, 0.0013706739, -0.08743356, -0.08160573, -0.1520503, 0.24310453, -0.03702458, -0.09234655, 0.06342837, -0.10495964, -0.038142283, 0.013867651) * go_4(0.0, 0.0); + result += mat4(0.08367, 0.0056849197, 0.029983053, 0.058390055, -0.019536944, 0.0028544245, 0.011593604, -0.051143557, -0.05816587, 0.027562857, -0.0017863734, -0.08943097, -0.093870126, -0.028033571, -0.054928187, 0.08027421) * go_4(0.0, 1.0); + result += mat4(0.033707395, -0.044078007, -0.053134337, 0.0507039, -0.09321825, 0.012356747, 0.0040974314, -0.003692714, 0.069862105, -0.18684517, -0.0284769, -0.006533823, 0.04286592, 0.03399364, 0.12019272, 0.02192102) * go_4(1.0, -1.0); + result += mat4(-0.023521578, 0.053177245, 0.03841634, 0.04009258, -0.05288018, 0.03800796, -0.027160875, -0.022709413, -0.012118504, 0.11544428, -0.064255424, -0.047267172, 0.031934835, -0.058591012, -0.12601322, -0.04370528) * go_4(1.0, 0.0); + result += mat4(-0.056990914, -0.010060407, -0.07240389, 0.06684859, 0.0032037962, -0.07508207, 0.069522485, -0.01681518, 0.013611935, -0.16260943, 0.027228389, 0.10390345, -0.014050312, -0.0047456035, 0.042484682, 0.047142867) * go_4(1.0, 1.0); + result += mat4(-0.019846022, 0.063520834, 0.017347157, -0.13179752, 0.007603209, -0.028248534, -0.028568985, 0.093736105, -0.17765392, 0.05268901, -0.0186878, 0.033344116, 0.024792168, 0.017350389, -0.0081479745, 0.06272762) * go_5(-1.0, -1.0); + result += mat4(0.0059420844, -0.1867459, -0.018476382, 0.052615725, 0.02969877, -0.04300831, 0.09686539, -0.055483308, 0.13513166, -0.1240312, 0.007219588, 0.15463871, -0.011168133, 0.060228556, 0.052193474, 0.008193267) * go_5(-1.0, 0.0); + result += mat4(-0.1624262, 0.114470325, -0.0026692473, 0.072655715, 0.022212451, -0.105359286, 0.003962184, 0.059404753, -0.062533595, -0.0073033636, 0.032570038, 0.07631924, -0.037281662, 0.052920066, -0.10017278, 0.20030634) * go_5(-1.0, 1.0); + result += mat4(-0.017912557, 0.082836725, 0.11956426, 0.031851728, 0.026227003, 0.1358852, -0.00038559595, -0.03953659, 0.012969185, 0.058900252, 0.00449276, -0.11351474, 0.0055319364, -0.027457854, -0.16637279, 0.018961368) * go_5(0.0, -1.0); + result += mat4(0.05881227, -0.12862639, 0.009855859, -0.07688508, 0.04652196, -0.0533903, -0.007106217, 0.018683957, -0.07146832, -0.11476164, -0.103965536, 0.07516234, -0.019355783, 0.007153188, 0.041109473, -0.18096745) * go_5(0.0, 0.0); + result += mat4(-0.04096085, -0.0120420605, -0.07280902, -0.047139794, -0.047899578, 0.16604978, -0.053028557, 0.011966148, -0.184552, -0.002035077, 0.0024748729, -0.09468539, 0.094834864, -0.051123336, 0.026882114, -0.066742696) * go_5(0.0, 1.0); + result += mat4(0.038528133, -0.033147186, -0.02949031, -0.02029768, -0.040530026, -0.015674416, 0.09512282, 0.018635508, -0.067790225, -0.02075488, 0.043550573, 0.1306589, 0.086521745, -0.058867045, -0.036897544, -0.007429917) * go_5(1.0, -1.0); + result += mat4(-0.020455752, 0.036337826, 0.08651425, -0.063962474, -0.06910245, -0.08926637, -0.08221216, 0.023650987, 0.0064421804, -0.051710796, 0.03269987, 0.03594872, -0.09746091, 0.064322695, 0.09333605, 0.04992705) * go_5(1.0, 0.0); + result += mat4(0.03991011, 0.0053357375, -0.014087123, 0.017906683, -0.043873426, -0.008717143, 0.023789125, 0.08014774, 0.08554654, 0.010068118, -0.015257393, -0.014789898, -0.031751424, -0.05767671, 0.012219075, -0.02111906) * go_5(1.0, 1.0); + result += mat4(0.0141180735, -0.010895809, 0.052282777, 0.097730994, 0.015570911, -0.05456141, 0.047802925, -0.024732279, 0.08743008, -0.0649473, 0.09175468, -0.09115185, 0.05110333, -0.030661354, 0.043550953, -0.027077332) * go_6(-1.0, -1.0); + result += mat4(0.069662735, 0.014375632, -0.025021026, -0.08532459, -0.1172516, 0.08657796, -0.017789776, 0.057316136, -0.019252973, -0.11636445, -0.121823244, 0.076532796, 0.025541514, -0.117330685, 0.009741623, -0.13352062) * go_6(-1.0, 0.0); + result += mat4(0.07859826, -0.03841275, 0.026950957, 0.012414173, -0.15537256, 0.048285972, -0.036940835, 0.078606136, 0.12113207, 0.0019378428, 0.0036203277, -0.109209254, -0.14025345, 0.014132115, 0.049628686, 0.02013767) * go_6(-1.0, 1.0); + result += mat4(-0.018229844, 0.009986906, -0.0020206913, 0.06816855, 0.12637497, -0.012840852, -0.098092966, 0.0066382973, -0.080831006, 0.08936906, 0.061671916, -0.025697216, 0.06976024, 0.07710459, 0.025804073, 0.09451786) * go_6(0.0, -1.0); + result += mat4(0.13568228, -0.07880537, -0.0030531003, -0.18527938, -0.12759425, -0.031123286, 0.1039914, -0.05713946, -0.022119742, 0.044847313, -0.049640287, 0.29528186, -0.011861515, -0.056314517, 0.12202725, 0.03458099) * go_6(0.0, 0.0); + result += mat4(-0.31482193, 0.15610562, 0.011000054, 0.22054587, 0.16342026, 0.046199072, -0.069771886, 0.052295752, -0.08888668, -0.030175507, -0.043750275, 0.07468628, -0.1403002, -0.08709627, -0.16045636, 0.17453533) * go_6(0.0, 1.0); + result += mat4(-0.15869538, -0.041802768, 0.07982854, 0.10661079, -0.026911188, 0.033564463, -0.028775161, 0.1129868, -0.13782723, -0.030502934, -0.029017925, 0.16539475, 0.15872754, 0.0072790803, 0.0005220163, -0.16314733) * go_6(1.0, -1.0); + result += mat4(0.08336712, 0.013299961, -0.004736551, -0.12530428, 0.068627216, -0.038133577, 0.07625137, -0.13831565, -0.12425708, 0.012594521, 0.048374295, -0.09718588, -0.12617798, -0.15565023, 0.025003273, 0.063952625) * go_6(1.0, 0.0); + result += mat4(-0.09114798, -0.107948475, -0.008782385, -0.012404769, -0.047347188, 0.06744946, -0.029818984, 0.037601177, 0.0022323371, 0.0120422365, -0.027577981, -0.056484457, 0.03623973, 0.11577824, -0.05978022, -0.11340042) * go_6(1.0, 1.0); + result += mat4(0.07920609, 0.049682815, -0.09747983, 0.032554645, -0.053569455, -0.00999872, -0.069765046, 0.065798655, 0.0055020596, -0.02180595, 0.097490765, 0.056493532, -0.028652878, 0.007181037, 0.047301996, 0.041324418) * go_7(-1.0, -1.0); + result += mat4(-0.070817575, 0.016761765, 0.10452257, -0.059046734, 0.004419305, 0.030409766, 0.0064111007, 0.13009071, -0.063529834, 0.014894562, -0.1425434, 0.06799876, 0.10536852, 0.16146809, 0.11159344, -0.24632217) * go_7(-1.0, 0.0); + result += mat4(0.04417992, -0.021688385, 0.014431484, 0.021390032, -0.012122509, 0.022933502, -0.13032858, -0.025157295, 0.054504506, 0.054097243, 0.054826245, 0.15188119, -0.034925304, 0.10371481, -0.07059149, -0.0050918995) * go_7(-1.0, 1.0); + result += mat4(0.19140609, -0.05802228, 0.094347574, -0.12581742, -0.0625323, 0.022887295, 0.06422475, 0.03780498, 0.09092349, -0.015626192, 0.07367314, -0.058542114, 0.06868667, -0.035847936, -0.024409411, 0.1747349) * go_7(0.0, -1.0); + result += mat4(-0.30528593, -0.10157623, -0.12546054, 0.39260107, 0.09250387, -0.0030448753, -0.007666954, -0.21076955, 0.1802103, 0.056665543, 0.02010969, -0.08567675, 0.04852171, -0.00719571, 0.12876126, -0.020769617) * go_7(0.0, 0.0); + result += mat4(-0.07077291, 0.09790252, -0.039679084, 0.035164144, 0.03944513, 0.09567806, 0.06502516, 0.08660869, -0.045210075, 0.024901882, -0.034987845, 0.03644262, 0.13453478, -0.10065292, -0.10663197, 0.17999896) * go_7(0.0, 1.0); + result += mat4(0.11361161, 0.049233153, 0.17776433, -0.11848224, -0.12014295, -0.048427843, -0.038806908, 0.0044329837, -0.015402301, 0.06310864, 0.103736125, 0.088702485, 0.018769085, -0.03721601, 0.08529103, 0.07698302) * go_7(1.0, -1.0); + result += mat4(0.2228605, -0.16978644, -0.084252514, -0.030923214, -0.07607342, 0.062837236, -0.072185166, 0.033597596, 0.056401767, -0.118337765, -0.038241208, -0.056982394, -0.2012854, 0.12231061, -0.008026072, -0.109389454) * go_7(1.0, 0.0); + result += mat4(0.0015117185, 0.05613352, -0.06825942, 0.009839623, 0.042997725, -0.07901763, 0.029729009, -0.0028087173, -0.08048221, 0.035971392, -0.054953404, 0.06957555, -0.002079063, -0.033700537, 0.019343253, 0.031806916) * go_7(1.0, 1.0); + result += mat4(-0.07396316, -0.012248619, 0.033239935, 0.14771299, -0.069767915, 0.12465951, 0.008810514, -0.04538992, -0.028040458, 0.024957748, 0.033437315, -0.021906354, -0.019794602, -0.0068365987, 0.04044681, 0.078028694) * go_8(-1.0, -1.0); + result += mat4(0.06884948, 0.07350869, -0.074930884, -0.007918249, -0.03207752, -0.09060679, -0.03723486, 0.13875768, 0.063804045, -0.019163225, -0.058482785, -0.003301451, 0.03025363, 0.031453874, 0.023407444, 0.10760923) * go_8(-1.0, 0.0); + result += mat4(-0.082054876, -0.0019968427, 0.07620411, -0.029166577, 0.08874712, 0.18888156, -0.030155689, 0.054525856, 0.052349947, -0.003841255, 0.082797535, -0.1112327, -0.11962874, -0.010657527, -0.06920624, 0.12807392) * go_8(-1.0, 1.0); + result += mat4(-0.04174062, -0.11311825, -0.043029234, -0.005712201, -0.07848321, -0.09407437, -0.036250837, 0.02130589, -0.046314713, 0.030492928, -0.028527915, 0.088576436, 0.05369699, 0.05489917, -0.03764619, -0.15915689) * go_8(0.0, -1.0); + result += mat4(-0.046594873, 0.20227629, 0.040293384, -0.08287198, -0.005414862, -0.28493062, -0.04951152, -0.031801622, 0.11361959, -0.14512685, -0.0513244, 0.014590199, 0.06330705, 0.06599253, -0.0758426, -0.024604654) * go_8(0.0, 0.0); + result += mat4(0.045725603, -0.16616176, 0.008172408, -0.16198505, -0.109427124, -0.04342513, 0.095679626, -0.021264061, -0.036292598, 0.052533228, 0.034383826, 0.13430162, 0.012503482, -0.16574247, 0.0145925265, -0.12279197) * go_8(0.0, 1.0); + result += mat4(0.059712145, 0.03292878, -0.06478352, -0.04920082, -0.12868343, -0.017725367, -0.029865744, 0.06404541, -0.061571013, 0.052956223, 0.04353032, 0.093550734, 0.12689152, -0.08983797, -0.022431724, -0.08593952) * go_8(1.0, -1.0); + result += mat4(0.03359343, 0.048530146, 0.09413768, 0.11177407, 0.04880107, 0.24067947, 0.011833709, -0.078301296, -0.042119082, -0.034178667, 0.061119724, -0.120325305, -0.0983844, 0.13863018, 0.009808043, 0.1421859) * go_8(1.0, 0.0); + result += mat4(-0.010974268, -0.1115841, -0.054475926, -0.0034415766, 0.026416495, -0.01970317, 0.03224585, -0.058208283, -0.11544842, -0.0020619717, -0.08399764, 0.0026783822, -0.1718955, -0.041662555, -0.015576194, 0.06694191) * go_8(1.0, 1.0); + result += mat4(0.00800654, 0.033414684, 0.0059746862, -0.063755505, -0.10903599, 0.008542795, -0.037268512, 0.16888456, 0.056287125, -0.03404509, -0.09667668, 0.104763724, -0.008024127, -0.04937347, -0.10452099, 0.10492107) * go_9(-1.0, -1.0); + result += mat4(0.06546199, -0.031890426, 0.069498874, -0.078704424, 0.25283763, -0.14762846, 0.04530997, -0.045402203, -0.12743446, 0.11075257, 0.07440054, -0.06769535, -0.18811068, 0.25209752, 0.08396347, -0.028190762) * go_9(-1.0, 0.0); + result += mat4(-0.058439903, 0.05627421, -0.021890977, -0.037036832, -0.114436746, -0.08907827, 0.044764686, 0.01914178, 0.1590001, -0.07434893, 0.02097053, -0.07084182, 0.1515443, -0.2537095, -0.0027643284, 0.084454305) * go_9(-1.0, 1.0); + result += mat4(-0.076359995, -0.0627694, 0.018656332, 0.04576309, -0.11114888, 0.10748641, 0.0005612302, -0.07483226, -0.123604506, -0.01065677, -0.12491006, 0.17782594, -0.042662233, -0.13512325, 0.002357882, 0.041785236) * go_9(0.0, -1.0); + result += mat4(0.044498313, -0.034588944, -0.060735952, 0.10017004, 0.1829563, -0.110846855, -0.0071944734, -0.21084824, -0.09436389, 0.075625, 0.11743136, 0.082467705, -0.12590492, 0.16034272, -0.027081264, 0.12026207) * go_9(0.0, 0.0); + result += mat4(0.023862181, -0.039685655, -0.03180271, -0.07354787, -0.004479257, 0.10744732, 0.009859138, -0.012063299, -0.022220258, 0.047518592, 0.033523124, -0.0649853, -0.07418109, -0.0014141474, 0.050895244, -0.11969986) * go_9(0.0, 1.0); + result += mat4(-0.13460042, -0.005373036, 0.031577356, -0.059198633, 0.14659238, -0.03347293, 0.02293272, 0.01125362, 0.038268805, -0.023691624, -0.056778222, 0.046417404, 0.043189395, 0.061058786, -0.03529992, -0.0040747337) * go_9(1.0, -1.0); + result += mat4(-0.009540408, 0.026412092, -0.021290602, 0.05017281, -0.1377568, -0.030549733, -0.015086134, 0.011051821, -0.008516101, -0.019729864, 0.040555786, -0.0020136, -0.017682496, -0.04843083, 0.04729837, 0.019968264) * go_9(1.0, 0.0); + result += mat4(0.09082752, 0.0026033274, 0.028575374, -0.025889728, -0.050833948, 0.013812897, -0.04887108, 0.09218356, 0.022451764, 0.037223153, -0.027608475, 0.085869305, 0.12708172, -0.051653415, -0.024209773, 0.010738581) * go_9(1.0, 1.0); + result += mat4(-0.0878504, -0.002425818, -0.058977496, 0.06816431, -0.039408945, 0.039009362, 0.05321227, 0.029558498, 0.011840146, 0.07260068, -0.057486057, -0.06833475, 0.09252713, -0.0047036964, -0.034099206, 0.015589183) * go_10(-1.0, -1.0); + result += mat4(-0.28815338, -0.00087825046, 0.0071661393, 0.16078453, -0.1556803, 0.11429835, 0.050905548, 0.13695535, 0.019274501, -0.0524514, -0.03422561, 0.073096104, -0.116625205, 0.044406146, 0.010334628, -0.030600524) * go_10(-1.0, 0.0); + result += mat4(0.10218649, -0.08387807, 0.092632025, -0.08798674, 0.10308468, -0.056788463, -0.02508743, -0.1875314, -0.04963394, -0.02515536, 0.016212277, -0.11503518, -0.0781842, 0.06420591, -0.108524114, 0.17282988) * go_10(-1.0, 1.0); + result += mat4(0.003542966, 0.019591188, -0.08079507, -0.11198943, 0.01007831, -0.2011082, 0.067526735, -0.047118634, -0.10812045, -0.059538897, -0.045146156, 0.13073483, 0.05126951, -0.02858464, -0.004749588, -0.031439688) * go_10(0.0, -1.0); + result += mat4(0.072345056, -0.09738051, 0.08760573, -0.022531908, -0.047364343, -0.17568587, -0.2608395, 0.045407616, -0.07019225, -0.13740852, 0.058587123, 0.18292065, 0.09621877, -0.020006223, 0.15761665, -0.13615946) * go_10(0.0, 0.0); + result += mat4(-0.1718546, -0.01606792, -0.13376851, -0.101972945, 0.0070967157, 0.04433216, 0.11647199, 0.14794576, 0.030467365, -0.009967707, 0.032096114, 0.088179365, 0.04789371, -0.02212034, -0.0864584, -0.014849047) * go_10(0.0, 1.0); + result += mat4(-0.06263458, 0.049204566, 0.0074049286, 0.08565975, -0.110386156, 0.12832628, 0.09386574, 0.049480855, -0.0016362247, 0.074590564, 0.0054266076, -0.045816354, -0.05795489, -0.016349988, -0.031305015, 0.05890967) * go_10(1.0, -1.0); + result += mat4(-0.0501839, -0.05510687, -0.028112158, -0.11355264, -0.05924529, -0.08571114, -0.013579364, 0.017053023, 0.0010346711, -0.046210892, -0.0037062326, 0.029555755, -0.05744646, 0.12624447, 0.1155726, 0.089930065) * go_10(1.0, 0.0); + result += mat4(0.007059197, 0.009385381, 0.03781498, 0.029385434, 0.019378664, 0.05941773, -0.019638034, 0.042409096, 0.006617822, 0.12051479, -0.029510934, -0.02263101, 0.030360708, -0.019180574, -0.026342172, -0.041857187) * go_10(1.0, 1.0); + result += mat4(0.0818786, -0.032271262, 0.071428634, -0.08608651, -0.04190674, -0.00824319, 0.10103971, 0.0037571234, 0.008354248, -0.042853825, -0.009960182, -0.032470513, 0.032495033, 0.026434308, -0.09047023, -0.0852796) * go_11(-1.0, -1.0); + result += mat4(0.06265211, 0.074583925, -0.3457799, 0.29229483, -0.012138351, 0.06712728, -0.012218277, -0.1310903, -0.053811703, 0.13035119, -0.0029521107, -0.104537845, 0.01667666, -0.13404848, -0.06062046, -0.06467337) * go_11(-1.0, 0.0); + result += mat4(-0.0877269, -0.006120627, 0.015308095, -0.07658341, 0.044869956, 0.110927165, -0.017984338, -0.05883644, 0.10883275, -0.05540534, -0.066199474, -0.035501923, 0.08745832, -0.051100407, -0.012019903, -0.21526352) * go_11(-1.0, 1.0); + result += mat4(-0.15372752, -0.089689255, -0.013654722, 0.06576831, 0.027755309, -0.104312494, -0.028859973, -0.03941162, 0.038844027, -0.05383401, -0.015755473, -0.022027731, -0.022023248, -0.010001586, 0.04700765, -0.08062122) * go_11(0.0, -1.0); + result += mat4(0.28677022, -0.00547834, -0.30174148, 0.029182414, -0.048473436, 0.025972357, 0.055102646, 0.101237364, -0.23414372, -0.08980447, -0.021093715, 0.35020643, -0.01737129, 0.079039715, -0.030023094, 0.30941373) * go_11(0.0, 0.0); + result += mat4(0.00023344456, 0.016616862, 0.20732638, -0.073667265, -0.077047884, -0.1365057, -0.0055750906, 0.18779595, -0.036738984, 0.07126904, 0.107798554, 0.106782034, -0.123831004, 0.026100466, 0.025854755, 0.10167399) * go_11(0.0, 1.0); + result += mat4(0.099524446, -0.022513278, -0.12082586, 0.06544828, -0.007710609, -0.007333112, -0.00392318, 0.02316836, 0.017616706, 0.019067803, -0.020043733, -0.055381116, -0.0026772777, 0.043929495, 0.12632295, -0.055047728) * go_11(1.0, -1.0); + result += mat4(-0.007819067, 0.04826883, -0.031578127, -0.007692658, -0.049392797, 0.10384446, -0.11374874, -0.0072268755, 0.023231281, -0.0048957644, -0.056877382, -0.09215107, 0.26584074, -0.14522901, -0.18154982, 0.006760759) * go_11(1.0, 0.0); + result += mat4(0.049991615, -0.016547658, -0.037466943, 0.011288937, -0.029595152, 0.029153928, 0.03047645, -0.017851416, 0.08244422, 0.015353446, 0.056757286, -0.13458207, 0.06421748, 0.02236419, 0.054289207, -0.021456666) * go_11(1.0, 1.0); + result += vec4(-0.024596691, -0.0062545678, 0.0007283314, -0.0012659894); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-4x3x3x48 +//!HOOK MAIN +//!BIND conv0ups +//!BIND conv0ups1 +//!BIND conv0ups2 +//!BIND conv0ups3 +//!BIND conv0ups4 +//!BIND conv0ups5 +//!SAVE conv1ups5 +//!WIDTH conv0ups.w 4 * +//!HEIGHT conv0ups.h 4 * +//!COMPONENTS 4 +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_1(x_off, y_off) (max((conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_2(x_off, y_off) (max((conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_3(x_off, y_off) (max((conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_4(x_off, y_off) (max((conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_5(x_off, y_off) (max((conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_6(x_off, y_off) (max(-(conv0ups_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_7(x_off, y_off) (max(-(conv0ups1_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_8(x_off, y_off) (max(-(conv0ups2_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_9(x_off, y_off) (max(-(conv0ups3_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_10(x_off, y_off) (max(-(conv0ups4_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +#define go_11(x_off, y_off) (max(-(conv0ups5_texOff(vec2(x_off, y_off) * 0.5)), 0.0)) +vec4 hook() { + vec4 result = mat4(0.0063745487, -0.0007792867, -0.042738058, -0.037436318, -0.079708755, -0.00012259462, -0.00846309, -0.07099102, 0.008480126, -0.0030542074, -0.0010532452, 0.027282802, 0.03614228, 0.063927814, 0.08298895, 0.14883359) * go_0(-1.0, -1.0); + result += mat4(-0.043913327, 0.05175728, -0.024351457, 0.092639804, -0.070469886, -0.056282833, 0.08296517, -0.028454183, 0.10892892, -0.2416209, -0.07998606, 0.069041096, -0.09885496, -0.074447066, 0.0743715, -0.06267758) * go_0(-1.0, 0.0); + result += mat4(-0.0466287, 0.042808313, 0.046646457, -0.055874195, 0.026556646, 0.037307512, -0.193923, -0.04722261, -0.22105771, 0.2291367, 0.10317087, -0.040800743, 0.08335437, -0.036194164, -0.02673301, 0.025296532) * go_0(-1.0, 1.0); + result += mat4(0.077883415, 0.0036344659, -0.04539886, -0.02208242, 0.07632768, -0.04959272, -0.06426001, 0.0070829145, -0.04732425, 0.1227861, 0.098132625, 0.06813595, 0.004603961, 0.090626486, -0.007316235, -0.16206303) * go_0(0.0, -1.0); + result += mat4(0.018812757, -0.0040601143, 0.046291944, -0.08953326, -0.038046855, -0.30165517, 0.14755662, 0.25674608, 0.20162594, -0.08197662, -0.04412043, 0.04561127, -0.06381664, -0.083132245, -0.18208097, -0.057978697) * go_0(0.0, 0.0); + result += mat4(0.18392017, -0.13180894, 0.13358793, -0.12673298, 0.008361854, -0.03794045, 0.0182172, 0.07310119, 0.031174706, -0.10738879, -0.09051877, -0.038759686, 0.11055317, -0.06764186, -0.12971549, -0.21843903) * go_0(0.0, 1.0); + result += mat4(-0.027878802, -0.033770774, 0.004135012, 0.0014348059, 0.13187423, 0.12571856, 0.35653323, 0.15917127, -0.07086367, 0.0058684177, -0.028717142, -0.05126073, 0.0858552, -0.0038701096, 0.06486986, 0.1706292) * go_0(1.0, -1.0); + result += mat4(0.047461458, -0.051133662, -0.05918072, 0.048732597, 0.07509672, -0.039692048, 0.11294993, 0.06444664, -0.084600896, 0.084693946, -0.088411525, -0.06429127, -0.034412857, -0.07477924, -0.039438404, 0.10994081) * go_0(1.0, 0.0); + result += mat4(0.043813385, -0.03355967, 0.12004562, -0.07214167, 0.04049014, 0.065712005, 0.059874583, -0.0052600484, -0.039102178, 0.048161536, -0.046630945, 0.029107312, -0.12603328, 0.06698978, 0.048800472, -0.03790199) * go_0(1.0, 1.0); + result += mat4(-0.13815154, 0.0036306242, 0.05594701, 0.028703637, 0.023503067, -0.06798082, -0.10864731, 0.17099892, 0.06743946, -0.06711138, 0.04976667, 0.026404396, -0.064317904, -0.020547949, -0.023411179, -0.07212964) * go_1(-1.0, -1.0); + result += mat4(0.06355028, 0.09087627, -0.1380974, 0.06466648, 0.101927035, -0.07261252, 0.07722075, -0.076868825, -0.0829519, 0.096982665, -0.044867028, -0.12865555, 0.022306003, 0.093384795, 0.08628356, -0.112574585) * go_1(-1.0, 0.0); + result += mat4(0.12697868, -0.15680641, 0.06615788, -0.09147767, -0.027032124, -0.012754192, 0.16841646, 0.14282092, 0.031914305, 0.0021056207, -0.042786058, 0.06905794, -0.011153072, -0.017979706, -0.019408083, 0.10038188) * go_1(-1.0, 1.0); + result += mat4(0.07506389, 0.014463698, 0.055589672, -0.10813673, 0.05260121, 0.055658672, 0.06530625, -0.04693613, -0.10777341, 0.003190049, -0.0789798, -0.06275508, 0.054107405, -0.08667144, -0.110695235, 0.09423636) * go_1(0.0, -1.0); + result += mat4(0.35542598, -0.101242326, -0.097177, 0.16660836, 0.062695846, 0.202753, -0.023997009, -0.09172167, -0.20859563, 0.15195158, -0.07095077, -0.3025826, -0.20547125, 0.14120229, -0.1475369, -0.1316646) * go_1(0.0, 0.0); + result += mat4(-0.04910003, 0.060523994, 0.030391825, -0.17474002, -0.06798995, 0.14241472, -0.004234849, 0.028053937, -0.03238492, 0.04055486, 1.14496315e-05, 0.15962633, 0.04022899, -0.080524124, -0.057549026, 0.089040436) * go_1(0.0, 1.0); + result += mat4(-0.08646099, -0.041137185, -0.17625453, -0.06043204, -0.029830568, -0.15027393, 0.20508385, 0.026146531, 0.09022885, 0.020299576, -0.03171056, 0.023431579, 0.05381302, -0.0009846388, 0.10500912, 0.07882769) * go_1(1.0, -1.0); + result += mat4(-0.07095181, -0.040769625, 0.021771856, 0.04987684, -0.080889665, -0.01363749, -0.044429984, 0.063598044, 0.05566136, -0.06805483, -0.1531462, -0.086804755, 0.16525438, 0.034257393, 0.10718343, 0.025464887) * go_1(1.0, 0.0); + result += mat4(-0.08818966, -0.035108104, -0.0517939, -0.08025052, 0.104291156, -0.13472721, -0.018884793, 0.032870352, -0.029485889, 0.058351766, -0.0891122, 0.0679884, 0.08988102, -0.045231707, 0.05456279, 0.07973376) * go_1(1.0, 1.0); + result += mat4(-0.054200873, -0.05749488, -0.060335156, -0.0070174546, -0.03320484, 0.007284561, 0.062241767, -0.23423609, 0.07866529, 0.00018865404, 0.06323889, 0.016593635, 0.017892467, 0.0076022227, 0.08936624, -0.03216585) * go_2(-1.0, -1.0); + result += mat4(0.00443331, 0.036586914, -0.033402793, 0.058869403, -0.09493461, -2.4481778e-05, -0.25935435, -0.04278253, -0.032751977, -0.08635362, 0.14244005, -0.05706051, -0.141875, -0.025835099, -0.025436234, 0.093893714) * go_2(-1.0, 0.0); + result += mat4(-0.022006746, -0.12542246, -0.041919585, 0.024010304, -0.044745583, 0.051891584, 0.09057894, -0.09249693, -0.0140956845, 0.07693278, 0.11077821, -0.112234056, 0.060011726, -0.1341424, -0.024490716, -0.022049561) * go_2(-1.0, 1.0); + result += mat4(0.073357865, 0.14374368, 0.032296736, 0.055813752, -0.059088297, -0.0776873, -0.0837825, 0.018939182, -0.020854855, 0.06012857, -0.026182968, 0.05838851, -0.04612199, 0.0039347354, -0.2056847, 0.00942296) * go_2(0.0, -1.0); + result += mat4(0.033143513, 0.08560158, -0.09233819, -0.11843655, 0.2588986, -0.019016545, -0.038050834, 0.14959913, 0.29490453, -0.13899505, 0.00692187, 0.16083503, 0.20178594, -0.15832286, 0.5025548, 0.029373756) * go_2(0.0, 0.0); + result += mat4(0.049299765, -0.023143763, 0.035753693, -0.11571463, -0.032259505, 0.01735337, -0.018070314, -0.027346095, -0.08894323, -0.010145846, -0.099678494, 0.026827013, 0.039361052, -0.027096154, 0.047963917, -0.27442294) * go_2(0.0, 1.0); + result += mat4(-0.022731476, 0.022222787, -0.02242159, 0.04784673, 0.021043884, -0.094794825, 0.07444878, -0.08918328, 0.13067421, -0.013499751, 0.3599633, 0.09073782, -0.030868663, 0.016658138, -0.039914962, 0.118787706) * go_2(1.0, -1.0); + result += mat4(0.05229028, 0.077619, -0.013456823, -0.062925436, -0.021547772, -0.020945227, 0.12798133, -0.06800816, -0.1642933, -0.05373, -0.14374378, -0.08865612, 0.07594359, 0.046362855, 0.06098806, -0.17533435) * go_2(1.0, 0.0); + result += mat4(-0.053325575, -0.06618738, 0.092258185, 0.013813888, -0.013511551, 0.018586623, 0.060558353, 0.033038225, 0.0804234, -0.080448896, 0.10994178, 0.13010137, 0.018566165, -0.026298912, 0.07454115, -0.06677481) * go_2(1.0, 1.0); + result += mat4(-0.06553157, 0.029561764, 0.038121503, -0.033325464, 0.04301278, 0.041529298, -0.07182643, -0.06547801, -0.052147005, -0.054911993, -0.07376668, -0.042085964, -0.13869858, -0.0009562848, -0.1677986, -0.09050354) * go_3(-1.0, -1.0); + result += mat4(-0.026388934, -0.07553613, -0.04883736, 0.021428475, 0.03383132, -0.10593641, -0.066881604, -0.005090118, 0.0032761726, 0.19300167, -0.10052442, 0.06032678, 0.12111, -0.024445616, -0.07867298, 0.07155645) * go_3(-1.0, 0.0); + result += mat4(0.009721514, 0.073128454, -0.088024415, 0.01628443, -0.0442564, 0.109464355, -0.09435904, -0.062122736, 0.04394318, -0.1688726, -0.013731302, 0.037493046, 0.019386476, -0.09668388, -0.10622655, -0.12815721) * go_3(-1.0, 1.0); + result += mat4(0.074242115, -0.0962556, 0.04117143, 0.116563916, -0.055528134, 0.055021342, 0.040945325, -0.015926862, -0.1404361, -0.0319657, 0.104573056, 0.08188863, 0.03686817, 0.0144841485, 0.073439375, 0.095169045) * go_3(0.0, -1.0); + result += mat4(0.044269748, -0.0654465, -0.06360807, 0.13392143, 0.08671066, -0.02733015, 0.26534852, 0.18148749, 0.06646011, 0.12437324, 0.072811246, -0.09099741, 0.09972596, 0.08203557, 0.20367464, 0.050712656) * go_3(0.0, 0.0); + result += mat4(-0.039555855, -0.12619838, 0.1251913, 0.11730309, -0.096585676, -0.03017593, -0.021626828, -0.034909043, 0.051999446, -0.085806265, 0.088577345, 0.093352415, 0.14674439, -0.07799078, -0.041970372, -0.1971934) * go_3(0.0, 1.0); + result += mat4(0.21362351, 0.13964944, 0.17664488, 0.07994262, -0.04298111, -0.055893365, 0.07432013, -0.046673983, 0.03183703, -0.060661454, -0.08562127, -0.106442995, -0.08225685, -0.05307681, -0.17313032, -0.09159819) * go_3(1.0, -1.0); + result += mat4(-0.048370186, -0.0066592437, 0.015151771, 0.030198608, -0.09481172, 0.00524109, -0.098136365, -0.099723354, 0.026192533, 0.13190193, -0.024194827, 0.04250573, -0.019045383, 0.13025235, -0.014851418, -0.054181337) * go_3(1.0, 0.0); + result += mat4(0.011557458, 0.037601702, 0.08763924, 0.0869504, -0.003486842, -0.026862262, -0.019816028, -0.03639367, 0.0067470167, -0.090020694, -0.10405717, 0.016274806, 0.015333479, -0.074243136, -0.016609563, -0.1117956) * go_3(1.0, 1.0); + result += mat4(0.04979364, 0.044838257, 0.028794404, 0.11093545, 0.047799177, 0.05084463, 0.114135034, -0.0011649404, -0.088088065, -0.0014219275, 0.07389497, -0.09678158, 0.0078058727, -0.10549564, -0.001520728, 0.0364026) * go_4(-1.0, -1.0); + result += mat4(-0.05554776, -0.045049857, -0.024722561, 0.023318505, -0.0543084, -0.0433695, 0.07476204, -0.0022832763, -0.044149548, -0.05002557, 0.028114058, -0.10989848, 0.16959801, 0.027747577, 0.07406976, 0.035891265) * go_4(-1.0, 0.0); + result += mat4(-0.017785572, 0.1080964, 0.09649037, 0.08921514, 0.10892746, 0.0074067353, 0.01554923, 0.044843663, 0.08894393, 0.0055765617, 0.09712343, -0.17534968, -0.1792565, 0.06397282, -0.12393842, -0.045617543) * go_4(-1.0, 1.0); + result += mat4(-0.0058602905, 0.08962854, 0.045954313, -0.09660418, 0.007873254, -0.06542487, -0.077286646, -0.1065682, 0.024354672, -0.15293619, -0.13352138, 0.023743887, -0.012681726, 0.029547228, 0.0085471505, -0.07479233) * go_4(0.0, -1.0); + result += mat4(-0.014363698, -0.10877507, -0.065034315, 0.016702991, 0.13642493, -0.038959656, 0.093994856, 0.31006256, 0.01945779, -0.2975403, -0.2795097, 0.2229951, -0.035684135, 0.01448137, -0.13233742, 0.28041506) * go_4(0.0, 0.0); + result += mat4(0.0012500056, -0.013534149, 0.037840102, -0.0714859, 0.020398123, -0.02506615, -0.039971814, 0.041849326, -0.041574854, 0.054345634, -0.061291367, -0.104086556, 0.25683582, -0.08909194, -0.13421315, 0.039712757) * go_4(0.0, 1.0); + result += mat4(-0.016294358, -0.075720266, -0.06933325, 0.009308156, 0.043677215, 0.008393981, -0.079269834, -0.11522057, -0.009912892, 0.1973826, 0.019584907, 0.05463361, -0.007812088, 0.0338185, -0.049498174, 0.018130887) * go_4(1.0, -1.0); + result += mat4(-0.032490004, 0.023092022, -0.081377946, 0.11319579, -0.06294841, 0.04647528, -0.022450024, 0.030103367, 0.048844513, 0.022222664, 0.110514775, 0.21295305, 0.02541056, 0.05749753, 0.0411172, -0.06292043) * go_4(1.0, 0.0); + result += mat4(0.09990052, 0.039450414, -0.0028400559, -0.045750353, 0.018121833, 0.09193293, 0.07854626, 0.06200767, -0.04818864, 0.06778936, 0.08142442, -0.020031437, -0.07861012, 0.062728755, 0.07084788, -0.033858463) * go_4(1.0, 1.0); + result += mat4(0.0041939905, 0.03858933, 0.21298268, -0.035919093, -0.00972664, -0.031790286, 0.1148182, -0.06877063, 0.13142376, -0.013594834, 0.05625237, 0.036175527, -0.00027700086, 0.03507905, 0.15655361, 0.11469498) * go_5(-1.0, -1.0); + result += mat4(0.11766081, -0.062469725, 0.115372, 0.20766804, 0.017238794, 0.072592095, -0.022305248, -0.17812113, -0.033571746, 0.12770365, 0.0732858, -0.15343256, 0.14632632, -0.0851429, 0.082450956, -0.09143876) * go_5(-1.0, 0.0); + result += mat4(-0.07768662, 0.019727139, 0.06507619, -0.044201504, -0.13028246, 0.079582825, -0.14439867, 0.052608196, 0.058016825, -0.049292404, -0.051089205, 0.098466404, 0.11736308, -0.06286907, -0.05178662, 0.004182763) * go_5(-1.0, 1.0); + result += mat4(-0.06434399, -0.0144142145, 0.0036737835, -0.078296036, 0.016101742, -0.10816281, -0.024864828, -0.15526062, -0.20179577, -0.057861198, -0.06668159, -0.15398355, 0.039688535, 0.059604753, 0.06659836, -0.021342732) * go_5(0.0, -1.0); + result += mat4(0.01932247, 0.05913243, 0.023716992, 0.1192033, 0.010119863, 0.084485166, -0.167937, 0.30237478, 0.26069483, -0.08774245, 0.14592068, 0.21976785, -0.107107654, -0.1721621, 0.09311312, 0.06292652) * go_5(0.0, 0.0); + result += mat4(-0.05415034, 0.0808041, -0.008303783, 0.20586702, -0.01692017, -0.25203353, -0.017605323, 0.03779029, -0.07196286, 0.09088832, -0.07400969, 0.15470062, -0.08782722, -0.021970563, 0.16524187, 0.17991899) * go_5(0.0, 1.0); + result += mat4(0.02945678, 0.1108453, 0.13907376, -0.008818949, 0.026164224, 0.028387127, 0.074951015, 0.041286442, 0.063239075, -0.010425734, 0.042220425, 0.12178712, -0.0026919479, -0.012526025, 0.07426221, -0.07244218) * go_5(1.0, -1.0); + result += mat4(0.018888094, -0.027421476, -0.09521994, -0.0910266, 0.08984969, 0.1781609, 0.057849456, -0.08679857, -0.12446522, 0.03583829, -0.07132832, -0.07019777, -0.019093536, -0.044786245, -0.017715491, -0.028736247) * go_5(1.0, 0.0); + result += mat4(0.051272597, -0.03435993, 0.0846929, 0.006121176, -0.07048489, 0.020329768, 0.002345223, 0.10049385, 0.1222027, -0.019079372, 0.100720696, 0.06858246, 0.020357663, 0.015401549, 0.09647229, 0.2113563) * go_5(1.0, 1.0); + result += mat4(0.09793321, -0.032736637, -0.033778418, 0.0427711, -0.018325403, -0.029624946, -0.16956969, 0.08746285, -0.041201137, -1.921966e-06, 0.20239599, 0.047037728, -0.015751503, -0.09862459, -0.09956597, -0.07306599) * go_6(-1.0, -1.0); + result += mat4(-0.019140359, 0.015069138, 0.1243063, -0.11431289, -0.033767972, 0.07241787, 0.023162177, -0.21347646, 0.11257902, -0.002713704, 0.29185608, 0.08958405, 0.042017493, 0.1820238, 0.11233973, -0.030039953) * go_6(-1.0, 0.0); + result += mat4(0.105250224, -0.026276553, -0.18249159, 0.014269952, 0.048367403, -0.07756047, -0.08036241, 0.06348654, 0.008540939, 0.021645697, 0.12774457, -0.031423807, 0.08640007, -0.08259026, -0.053230464, 0.13384373) * go_6(-1.0, 1.0); + result += mat4(-0.040785372, -0.0703802, 0.043912467, 0.0036876688, 0.17950775, 0.12889265, 0.010163828, -0.04438625, -0.07173078, -0.071564384, 0.041524716, -0.0056900075, 0.030496567, -0.033834066, 0.074528135, 0.03062304) * go_6(0.0, -1.0); + result += mat4(0.049047, 0.098660305, -0.09576069, 0.080599725, -0.09748591, 0.025746811, 0.14624408, -0.06999254, 0.019927057, -0.15380773, -0.10145102, 0.060255345, -0.20671831, 0.060202025, -0.05630915, 0.07001956) * go_6(0.0, 0.0); + result += mat4(0.08819458, -0.07481746, 0.005553706, 0.21850035, 0.04703321, 0.07601913, 0.04407576, -0.0883864, -0.079423346, 0.028103532, 0.08199459, -0.06395988, 0.23655586, -0.085250065, 0.28176674, 0.09439507) * go_6(0.0, 1.0); + result += mat4(0.02817651, -0.037542865, -0.025534682, -0.050645124, -0.081284225, -0.034356117, 0.0747935, 0.029538535, 0.06617502, -0.12928276, -0.019012596, 0.118354835, -0.03699914, 0.027309496, -0.07489431, 0.0025027825) * go_6(1.0, -1.0); + result += mat4(0.0948845, -0.0016630325, 0.09706788, -0.012232796, -0.03133337, 0.121091716, -0.21574965, -0.015103773, -0.043899152, 0.15655108, 0.0034100953, 0.015065556, 0.20116974, 0.05499755, 0.22701542, -0.08217341) * go_6(1.0, 0.0); + result += mat4(0.048800357, 0.06653084, -0.18589829, 0.012563769, -0.018957462, -0.047451388, -0.06385551, -0.045838624, 0.04963816, -0.031783268, 0.20511268, -0.026773468, -0.0412608, 0.030528571, 0.034454003, 0.06801138) * go_6(1.0, 1.0); + result += mat4(0.12949036, -0.10341053, 0.045348197, -0.019088052, -0.06258587, 0.039844643, 0.10721104, -0.09088664, -0.168669, -0.010242947, 0.09414175, 0.02889639, 0.017148757, 0.01023307, -0.01807265, 0.0062059863) * go_7(-1.0, -1.0); + result += mat4(-0.050841775, -0.03521264, -0.11941009, -0.15829018, 0.025020014, -0.22825278, -0.118360244, 0.11292008, 0.09082519, -0.065328516, 0.119365625, 0.14478958, -0.04490918, 0.022069836, -0.01134399, 0.1360509) * go_7(-1.0, 0.0); + result += mat4(-0.05348278, 0.053270962, 0.16603395, 0.15315029, -0.040175512, -0.0045779836, 0.050114214, -0.2101308, -0.11851012, -0.064030565, 0.1543338, -0.015178684, 0.05188177, -0.008489707, -0.023639014, 0.028634349) * go_7(-1.0, 1.0); + result += mat4(-0.11814241, 0.19169293, 0.020387147, 0.061263412, -0.113587715, 0.091295175, -0.05065951, -0.017393759, 0.13127452, -0.012785729, -0.034082066, 0.024967588, 0.035094306, 0.10820702, 0.0059835743, 0.09977956) * go_7(0.0, -1.0); + result += mat4(0.098021165, -0.48440388, -0.07826628, 0.24096282, 0.04693696, 0.053179827, 0.08569192, -0.0027828075, -0.25533715, 0.15215921, -0.21209684, 0.0022974424, -0.17604887, -0.07811412, 0.17181896, -0.015945317) * go_7(0.0, 0.0); + result += mat4(-0.10116903, -0.13709927, -0.14565074, 0.14524502, 0.012902518, -0.07604275, 0.073249, -0.072335534, 0.08428893, -0.03842417, -0.07586143, -0.08599018, -0.01696442, 0.10226331, 0.006873322, -0.09021642) * go_7(0.0, 1.0); + result += mat4(-0.07202315, -0.055725753, 0.018466022, -0.054664865, 0.098407686, 0.07695216, -0.08607697, 0.0020958942, -0.22666351, 0.01460815, -0.061140377, -0.120087855, -0.01491105, -0.09575372, -0.20842722, -0.028119855) * go_7(1.0, -1.0); + result += mat4(0.06912154, 0.1865499, 0.07794446, -0.10375429, 0.030678669, -0.21935923, -0.064000346, 0.089832716, 0.1305005, -0.012471437, 0.15016906, 0.23327582, 0.05942517, -0.19861731, 0.00557178, 0.06502197) * go_7(1.0, 0.0); + result += mat4(0.0707229, 0.02917113, 0.046409946, 0.12069666, 0.031100512, 0.07081468, 0.028565658, -0.006569887, -0.08003558, -0.03366404, -0.0636477, -0.010306176, 0.10975215, 0.072771594, 0.01108058, -0.15464684) * go_7(1.0, 1.0); + result += mat4(-0.033149756, 0.021336783, 0.08891627, -0.010542647, 0.032133475, 0.03948647, 0.055394996, 0.0401115, -0.13937785, 0.017220195, -0.086987436, -0.0104164155, -0.040626895, 0.039082643, -0.0010420013, -0.010217536) * go_8(-1.0, -1.0); + result += mat4(-0.0026462858, -0.028440155, 0.10645362, 0.01583601, 0.043295156, -0.18574923, 0.04621932, 0.21462579, -0.0011050635, 0.027505064, -0.11916469, 0.03903758, 0.039480023, -0.03888062, -0.1359798, 0.014222117) * go_8(-1.0, 0.0); + result += mat4(0.11923002, 0.09650186, 0.12220145, -0.054355685, 0.08393609, -0.13110332, -0.013952252, 0.12961932, -0.085519604, 0.0062861782, -0.13127424, 0.05967536, 0.1684963, 0.012711087, -0.036004934, 0.07598641) * go_8(-1.0, 1.0); + result += mat4(0.05991126, -0.21150649, 0.06301331, 0.1639654, 0.019272292, 0.15129589, -0.021439642, 0.054623377, 0.028263928, -0.05452834, -0.09441113, 0.003914198, -0.0012116794, 0.16932863, -0.076869816, -0.013230601) * go_8(0.0, -1.0); + result += mat4(-0.07168854, -0.0026968343, -0.019962385, 0.048934907, 0.1330701, 0.06890845, 0.32595265, -0.13091522, 0.15551, 0.14528212, 0.35549134, 0.09404176, 0.1319491, -0.24641864, 0.22220954, 0.037908647) * go_8(0.0, 0.0); + result += mat4(-0.05670342, 0.058992308, -0.08700555, 0.063824736, -0.022280712, 0.12737674, 0.13427903, -0.009832676, 0.07490293, -0.09663777, -0.0808843, -0.011285887, -0.22713223, 0.1807931, 0.031780504, 0.096779495) * go_8(0.0, 1.0); + result += mat4(-0.062936306, 0.07716813, 0.037210975, -0.068869464, -0.013613965, 0.09876833, -0.13039725, 0.031153003, 0.03958403, -0.05987494, 0.092028305, 0.082578026, 0.04601121, 0.023699958, 0.17008962, -0.07798729) * go_8(1.0, -1.0); + result += mat4(0.009502709, -0.18954146, -0.0040290523, 0.024978105, -0.19185285, -0.078261346, -0.051037725, -0.10738402, -0.15012908, 0.08967429, 0.02208922, -0.028586263, -0.11359668, -0.04093872, -0.19832803, -0.09008138) * go_8(1.0, 0.0); + result += mat4(-0.0021957462, 0.077703916, 0.18091153, 0.15745504, -0.06746696, -0.0009624175, -0.19465074, -0.113164335, 0.107428014, 0.015543583, 0.09068426, 0.044336747, -0.05718602, 0.016899232, -0.007787962, 0.006214975) * go_8(1.0, 1.0); + result += mat4(0.016192071, 0.0065788724, 0.13178128, -0.029891249, 0.01793, -0.062080614, 0.12812895, 0.12540786, 0.10859764, -0.022343976, 0.06263314, 0.018931909, 0.23270932, -0.00443309, -0.05874477, -0.041218165) * go_9(-1.0, -1.0); + result += mat4(-0.04134872, 0.07420249, 0.035095736, -0.00753361, -0.02225569, 0.12620689, 0.03925872, -0.14345564, -0.07719634, -0.13519171, 0.15460467, -0.054007106, -0.042473774, -0.2570468, 0.096593596, 0.1748824) * go_9(-1.0, 0.0); + result += mat4(0.0582498, -0.04415511, 0.093417116, -0.019656913, 0.024429727, -0.05744187, -0.17509566, 0.05439422, -0.071622156, 0.25509503, 0.026539553, -0.008000992, -0.12460505, 0.2787321, 0.11660005, -0.114669785) * go_9(-1.0, 1.0); + result += mat4(0.00813603, 0.012284935, 0.015997112, 0.023559658, -0.04184258, -0.05846828, -0.24672638, -0.16972701, 0.104582846, 0.05067416, 0.024527809, -0.055512853, -0.108738616, 0.039031647, 0.29413602, 0.11602779) * go_9(0.0, -1.0); + result += mat4(-0.115588315, 0.032954916, 0.022051262, -0.097993866, -0.122301005, 0.10149678, 0.38072607, 0.13110343, 0.065028585, -0.18068863, 0.010956364, 0.03327227, -0.063414745, -0.064093836, 0.10520882, 0.18004456) * go_9(0.0, 0.0); + result += mat4(0.074331045, 0.14374933, -0.011540407, -0.009023428, 0.04070836, 0.0015697508, -0.10947389, -0.043685, -0.028019518, -0.054812912, -0.03745186, -0.06425059, -0.020111678, -0.14678149, -0.17871724, -0.028139964) * go_9(0.0, 1.0); + result += mat4(0.09382863, -0.0559345, 0.18502472, 0.039847136, -0.098602675, 0.058940943, 0.060397, 0.1090579, -0.043171108, 0.009225665, 0.076014265, 0.06600359, -0.069025286, -0.12755866, -0.08151952, -0.09972273) * go_9(1.0, -1.0); + result += mat4(0.042437445, -0.08610766, 0.012412557, -0.012729554, 0.06767489, 0.11220073, 0.0043995855, -0.048159026, -0.023155706, 0.061050642, 0.1248658, 0.035471372, -0.0085944785, 0.17853464, 0.07001905, 0.032620843) * go_9(1.0, 0.0); + result += mat4(-0.011190795, -0.009232536, 0.020568464, -0.02090738, -0.05601213, -0.045458846, -0.14329393, 0.039078347, -0.059857786, 0.027894745, 0.094557434, 0.09908327, 0.072774865, 0.079140365, 0.074037515, 0.18820073) * go_9(1.0, 1.0); + result += mat4(-0.055178456, -0.108998105, 0.11031077, -0.08483606, 0.0461179, -0.059772927, -0.01268656, 0.12520863, -0.03363989, -0.14202459, -0.0024368868, 0.02084018, 0.09279162, 0.037076775, 0.06604867, 0.050698) * go_10(-1.0, -1.0); + result += mat4(0.20978864, -0.035019856, -0.00034608098, -0.039510887, -0.19036685, -0.03953098, -0.092990436, -0.048863437, 0.017492287, 0.16051625, 0.00925893, -0.11335702, 0.100342646, -0.08887667, -0.021713614, 0.051601768) * go_10(-1.0, 0.0); + result += mat4(-0.12377409, -0.015823433, 0.00031200596, 0.063343585, -0.05924392, 0.06139683, -0.017481023, -0.02552639, -0.07090863, -0.07274602, -0.09458425, 0.13551149, 0.04409636, -0.08054408, -0.10750558, -0.046918966) * go_10(-1.0, 1.0); + result += mat4(0.14069784, -0.033582676, 0.28060883, 0.10515792, -0.06955766, 0.088220574, 0.276067, 0.037613492, 0.20132592, -0.10671446, 0.19333804, 0.13039915, 0.017404474, 0.031228254, 0.017497445, -0.021449111) * go_10(0.0, -1.0); + result += mat4(-0.005962005, 0.0013340953, -0.044992644, -0.079193845, 0.45596102, -0.006363404, 0.47906563, 0.10635877, 0.06462525, 0.119446814, 0.18804319, 0.05395521, -0.22618993, -0.060818445, 0.14673956, 0.04459663) * go_10(0.0, 0.0); + result += mat4(0.013009119, 0.022853654, -0.055127926, 0.15455107, -0.02568115, -0.034558665, 0.07746922, -0.07397856, -0.012987624, 0.09628173, 0.25714996, 0.07570073, 0.02592464, 0.020255214, 0.093313605, -0.06339416) * go_10(0.0, 1.0); + result += mat4(-0.052852754, -0.060524404, 0.14645888, 0.024415344, -0.040342614, 0.045778167, 0.074661806, 0.102500714, -0.034497824, 0.043438397, -0.1647851, 0.044365503, -0.015904559, -0.10940738, 0.061242346, -0.047502533) * go_10(1.0, -1.0); + result += mat4(0.010752677, 0.02639625, 0.006102813, -0.10263914, -0.0706024, -0.05371177, -0.022685172, -0.029835807, -0.010491086, -0.03809897, -0.005010353, 0.005959158, 0.011589781, -0.09526389, -0.19120686, 0.07115724) * go_10(1.0, 0.0); + result += mat4(0.038018346, -0.08529874, -0.022022128, 0.04092595, 0.0068038777, -0.117692105, -0.0750573, -0.033115882, 0.034335747, -0.07324778, 0.00888446, -0.1741596, 0.05086801, 0.013463419, 0.047539454, 0.017536713) * go_10(1.0, 1.0); + result += mat4(-0.14680427, -0.07700759, 0.007881401, -0.050038457, 0.08561921, 0.032363467, -0.12359856, -0.040179014, 0.018873833, -0.055338584, -0.07056974, 0.026064266, 0.004478231, -0.070009105, -0.06602558, -0.11518919) * go_11(-1.0, -1.0); + result += mat4(0.15418334, -0.19991952, -0.111305125, 0.01618693, 0.016036393, 0.04666054, -0.11248929, 0.04884618, -0.07999174, -0.00500438, -0.17620343, 0.08294337, -0.019204969, 0.05723866, 0.09661943, 0.048106834) * go_11(-1.0, 0.0); + result += mat4(-0.10175338, -0.036979925, -0.09948434, -0.11393281, 0.036335517, -0.034092933, 0.026276138, -0.11057483, -0.031784512, 0.051008996, -0.008151175, -0.09900715, -0.08654632, 0.022154614, 0.16989844, 0.040416874) * go_11(-1.0, 1.0); + result += mat4(0.055644203, -0.06247522, -0.12042302, -0.06588449, -0.029313006, 0.063369386, 0.005313317, -0.078869574, 0.036020964, 0.13610545, -0.086595096, 0.06334866, -0.05558311, 0.05096866, -0.025362708, -0.024735406) * go_11(0.0, -1.0); + result += mat4(0.106395036, 0.11939573, 0.17419435, 0.10946423, -0.13557367, -0.14810242, 0.22770609, 0.24247093, 0.35901672, -0.31380647, 0.08585217, 0.054302577, 0.014819529, 0.16313002, -0.21108323, -0.1453257) * go_11(0.0, 0.0); + result += mat4(-0.025664657, 0.104815125, 0.12517323, -0.058977317, -0.0022734813, 0.09907516, 0.14881666, -0.12157569, 0.057049416, -0.14726049, 0.17396985, -0.16762297, 0.04829664, 0.08038126, -0.15234984, -0.07331844) * go_11(0.0, 1.0); + result += mat4(-0.009510854, 0.012665828, -0.009158631, 0.13845311, -0.03874647, -0.025098626, -0.07246145, 0.007974873, 0.041209225, -0.033053156, 0.10144724, 0.02918641, -0.05182773, -0.073455535, -0.07304103, 0.027059708) * go_11(1.0, -1.0); + result += mat4(-0.066271804, -0.01850144, -0.05122738, 0.05515079, 0.0116651775, -0.115036, 0.046978988, 0.04792823, -0.11066483, -0.0016329854, -0.1356012, -0.0557911, 0.21739961, 0.0075342823, 0.07706014, 0.15026504) * go_11(1.0, 0.0); + result += mat4(-0.040344127, -0.07568503, -0.051952433, -0.087089024, -0.03648342, -0.047228005, -0.011045562, -0.15497391, -0.09113286, 0.12720597, -0.023066053, -0.011858544, 0.1337813, -0.15541025, 0.11608175, -0.1311716) * go_11(1.0, 1.0); + result += vec4(-0.01721707, -0.012170086, 0.0505489, 0.0026627572); + return result; +} +//!DESC Anime4K-v4.1-Upscale-GAN-x4-(UUL)-Conv-3x3x3x48 +//!HOOK MAIN +//!BIND MAIN +//!BIND conv1ups +//!BIND conv1ups1 +//!BIND conv1ups2 +//!BIND conv1ups3 +//!BIND conv1ups4 +//!BIND conv1ups5 +//!SAVE MAIN +//!WIDTH conv1ups.w +//!HEIGHT conv1ups.h +//!WHEN OUTPUT.w MAIN.w / 1.200 > OUTPUT.h MAIN.h / 1.200 > * +#define go_0(x_off, y_off) (max((conv1ups_texOff(vec2(x_off, y_off))), 0.0)) +#define go_1(x_off, y_off) (max((conv1ups1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_2(x_off, y_off) (max((conv1ups2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_3(x_off, y_off) (max((conv1ups3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_4(x_off, y_off) (max((conv1ups4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_5(x_off, y_off) (max((conv1ups5_texOff(vec2(x_off, y_off))), 0.0)) +#define go_6(x_off, y_off) (max(-(conv1ups_texOff(vec2(x_off, y_off))), 0.0)) +#define go_7(x_off, y_off) (max(-(conv1ups1_texOff(vec2(x_off, y_off))), 0.0)) +#define go_8(x_off, y_off) (max(-(conv1ups2_texOff(vec2(x_off, y_off))), 0.0)) +#define go_9(x_off, y_off) (max(-(conv1ups3_texOff(vec2(x_off, y_off))), 0.0)) +#define go_10(x_off, y_off) (max(-(conv1ups4_texOff(vec2(x_off, y_off))), 0.0)) +#define go_11(x_off, y_off) (max(-(conv1ups5_texOff(vec2(x_off, y_off))), 0.0)) +vec4 hook() { + vec4 result = mat4(0.000105486535, 0.0024129828, -0.0022708485, 0.0, 0.013574202, 0.010345938, 0.00784863, 0.0, -0.007809511, -0.011027452, -0.0062737833, 0.0, 0.02135601, 0.009559438, 0.018919725, 0.0) * go_0(-1.0, -1.0); + result += mat4(0.003870496, 0.0053921943, 0.0018628128, 0.0, -0.0019673686, 0.006020094, -0.0022580693, 0.0, 0.0053167837, 0.008673173, 0.0030424776, 0.0, -0.0064796526, -0.0010226313, -0.004501208, 0.0) * go_0(-1.0, 0.0); + result += mat4(0.009178005, 0.0030958971, 0.0031710728, 0.0, 0.017074758, 0.011283044, -0.0027054113, 0.0, -0.0076931966, -0.007390657, -0.005380012, 0.0, 0.0117464345, -0.00081656495, 0.01634393, 0.0) * go_0(-1.0, 1.0); + result += mat4(-0.0013901208, -0.0014430142, 0.004392049, 0.0, -0.0035933089, -0.009103748, -0.0031795155, 0.0, 0.0073691974, 0.0029644563, -0.008706, 0.0, -0.019727807, -0.0077750855, -0.0077580838, 0.0) * go_0(0.0, -1.0); + result += mat4(-0.0033867431, -0.012403984, -0.0028457264, 0.0, -0.017492736, -0.022601021, -0.020653952, 0.0, 0.0008102408, 0.009531224, 0.019545289, 0.0, -0.014228529, 0.0056483247, -0.007034027, 0.0) * go_0(0.0, 0.0); + result += mat4(0.0011407166, 0.004301191, 0.004141301, 0.0, -0.016445443, -0.0055840523, 0.012501234, 0.0, 0.009244355, 0.0036367732, -0.010199576, 0.0, -0.010248205, -0.0044270316, -0.029686518, 0.0) * go_0(0.0, 1.0); + result += mat4(-0.0048066527, -0.008560073, -0.012057793, 0.0, -0.0006861041, -0.002419032, 0.0018601969, 0.0, -0.0031072958, 0.002054702, 0.011177537, 0.0, 0.025133653, -0.014848653, -0.0025808187, 0.0) * go_0(1.0, -1.0); + result += mat4(0.002657154, 0.0052739903, -0.0035658663, 0.0, 0.0011104498, -0.00020694005, -0.0018097968, 0.0, 0.0015326933, -0.011187116, -0.016360259, 0.0, 0.006713121, 0.013296643, 0.0051656775, 0.0) * go_0(1.0, 0.0); + result += mat4(0.0037105181, 0.0030439978, 0.0051093693, 0.0, 0.024659697, 0.035238862, 0.02088231, 0.0, -0.0134438565, -0.012699808, -0.0052391277, 0.0, -0.00031992808, -0.0011912342, 0.016560359, 0.0) * go_0(1.0, 1.0); + result += mat4(0.037620425, -0.0012381362, -0.03697521, 0.0, -0.07391293, -0.11519541, -0.11558761, 0.0, 0.0061569684, 0.008083349, 0.014101799, 0.0, 0.018118458, -0.044182867, -0.01539483, 0.0) * go_1(-1.0, -1.0); + result += mat4(0.010374693, -0.011458423, -0.005078007, 0.0, -0.0108417105, 0.013425283, 0.005921687, 0.0, -0.008598152, -0.0049651987, 0.0042772754, 0.0, -0.054981276, -0.021562934, -0.04626968, 0.0) * go_1(-1.0, 0.0); + result += mat4(0.036591507, -0.029300272, 0.008217224, 0.0, 0.019302698, 0.024048697, 0.032206107, 0.0, 0.0033238046, 0.0006236888, -0.00027334798, 0.0, 0.15616927, 0.16528751, 0.17391057, 0.0) * go_1(-1.0, 1.0); + result += mat4(0.0041804314, 0.042818338, -0.028628353, 0.0, -0.017772267, -0.022852482, -0.00092351716, 0.0, 0.0028122973, 0.0043754634, -0.012493703, 0.0, 0.044071674, 0.17135325, 0.08344256, 0.0) * go_1(0.0, -1.0); + result += mat4(-0.015730295, -0.022133658, -0.0088276295, 0.0, 0.03594072, 0.031424545, 0.029558865, 0.0, -0.0025766017, -0.0031941452, -0.006934576, 0.0, -0.08120338, -0.14408313, -0.08120104, 0.0) * go_1(0.0, 0.0); + result += mat4(-0.003020355, -0.023776509, 0.0318886, 0.0, 0.017390646, 0.024748841, 0.021510301, 0.0, 0.0010485135, -0.004593592, -0.0130662285, 0.0, -0.12709871, -0.18901323, -0.16315864, 0.0) * go_1(0.0, 1.0); + result += mat4(-0.026793743, 0.019052224, 0.007945268, 0.0, 0.021625645, 0.01167958, 0.011501282, 0.0, 0.009187155, 0.012203164, 0.012487501, 0.0, 0.018515088, -0.034214444, 0.007245449, 0.0) * go_1(1.0, -1.0); + result += mat4(-0.048356112, 0.032585137, 0.016628833, 0.0, -0.009424696, 0.009143163, 0.0072305785, 0.0, -0.013190133, -0.017209964, -0.0048382194, 0.0, 0.08615321, 0.066022545, 0.048717145, 0.0) * go_1(1.0, 0.0); + result += mat4(-0.003094086, -0.014091836, 0.02128906, 0.0, -0.0025534998, 0.0039795637, 0.005730377, 0.0, -0.012351262, -0.0035951019, -0.001866602, 0.0, -0.0031523148, 0.060993336, 0.028312644, 0.0) * go_1(1.0, 1.0); + result += mat4(-0.067211024, 0.018117346, 0.02172272, 0.0, -0.12060717, -0.13048805, -0.18819381, 0.0, -0.009267344, -0.023040995, -0.018821778, 0.0, -0.0074834153, -0.005599705, 0.0010651464, 0.0) * go_2(-1.0, -1.0); + result += mat4(-0.04482428, -0.027584204, 0.019120922, 0.0, 0.015697738, -0.017991625, 0.05243968, 0.0, 0.0032531181, 0.0034058641, 0.006302594, 0.0, 0.023441285, 0.04240732, 0.006482481, 0.0) * go_2(-1.0, 0.0); + result += mat4(-0.029443156, -0.020928487, -0.042702794, 0.0, -0.114625975, -0.09111036, -0.08223584, 0.0, 0.0036441141, 0.015505487, 0.0034566305, 0.0, -0.007840559, 0.0019223426, 0.005936239, 0.0) * go_2(-1.0, 1.0); + result += mat4(-0.009682633, 0.024451204, 0.001225467, 0.0, -0.04238923, 0.005312719, -0.024125498, 0.0, -0.025807716, -0.011632962, -0.012518723, 0.0, 0.0030302487, -0.0042384365, 0.0061663035, 0.0) * go_2(0.0, -1.0); + result += mat4(0.09125716, 0.012547131, 0.02577799, 0.0, 0.3009371, 0.27105063, 0.3584709, 0.0, 0.0073393877, 0.010860431, 0.020128256, 0.0, 0.009980971, 0.00203543, 0.009163454, 0.0) * go_2(0.0, 0.0); + result += mat4(-0.0102797905, 0.013840225, -0.01321444, 0.0, 0.16642196, 0.094111755, 0.062201317, 0.0, 0.008975634, -0.0005450874, 0.0043276343, 0.0, 0.0065852865, -0.0057111946, 0.0179401, 0.0) * go_2(0.0, 1.0); + result += mat4(-0.007624216, -0.027890831, -0.03876551, 0.0, -0.09161491, -0.06928367, -0.11084159, 0.0, 0.0036728806, 0.003478277, 0.0026739738, 0.0, -0.023972709, -0.027939724, -0.011343235, 0.0) * go_2(1.0, -1.0); + result += mat4(0.04678878, -0.0014011652, 0.034818515, 0.0, 0.04159763, 0.02346755, -0.05660578, 0.0, -0.015693128, -0.014072758, -0.01821932, 0.0, 0.00036781136, 0.0061064498, -0.013468815, 0.0) * go_2(1.0, 0.0); + result += mat4(0.046441387, -0.004032352, -0.00866282, 0.0, -0.23496382, -0.16854092, -0.11098163, 0.0, -0.00090804783, -0.009814247, -0.0070502586, 0.0, 0.0054719993, -4.7763424e-05, 0.0009498171, 0.0) * go_2(1.0, 1.0); + result += mat4(-0.008547071, -0.0034844312, -0.01383687, 0.0, 0.00018439126, -0.025391571, 0.038513236, 0.0, 0.006514998, -0.007826742, 0.0073904996, 0.0, -0.11494556, 0.09066153, 0.11694875, 0.0) * go_3(-1.0, -1.0); + result += mat4(0.001193028, -0.008591317, -0.010302812, 0.0, -0.012951143, -0.039158262, 0.015616302, 0.0, 0.0030056532, 0.020065665, 0.014755859, 0.0, 0.11651758, -0.034988698, -0.17886443, 0.0) * go_3(-1.0, 0.0); + result += mat4(-0.006736702, -0.015604637, -0.023991482, 0.0, 0.033148214, -0.012093595, 0.022775412, 0.0, 0.0023161646, -0.014543544, -0.002550333, 0.0, -0.06402118, -0.0002744969, 0.10961879, 0.0) * go_3(-1.0, 1.0); + result += mat4(-0.01260143, -0.02033004, -0.0051925094, 0.0, -0.0019942033, -0.05427848, -0.022589765, 0.0, 0.024337402, 0.019046338, 0.0025999434, 0.0, 0.05172929, -0.051797528, -0.008425975, 0.0) * go_3(0.0, -1.0); + result += mat4(0.009494491, 0.009707227, 0.023468107, 0.0, 0.019078689, 0.09676532, 0.00034530537, 0.0, -0.0012998742, 0.008403969, -0.00316442, 0.0, 0.23224525, -0.062056974, -0.12937039, 0.0) * go_3(0.0, 0.0); + result += mat4(-0.016236205, 0.0075674653, 0.013683825, 0.0, -0.03127705, -0.027492099, 0.016047101, 0.0, 0.0014895315, -0.00932134, -0.023848489, 0.0, 0.0012632079, 0.04939885, -0.060500544, 0.0) * go_3(0.0, 1.0); + result += mat4(-0.0059749917, -0.0073130564, -0.014256372, 0.0, 0.024857834, 0.0012045626, -0.03940679, 0.0, 0.015666239, 0.022299662, 0.030967547, 0.0, -0.054168373, 0.00047267403, 0.022316728, 0.0) * go_3(1.0, -1.0); + result += mat4(0.024071146, 0.021451445, 0.023768295, 0.0, -0.036751002, 0.041259706, -0.03728597, 0.0, -0.020002237, -0.00447758, -0.011222878, 0.0, -0.11821115, 0.044186734, 0.09739031, 0.0) * go_3(1.0, 0.0); + result += mat4(0.010017564, 0.01711743, 0.002022642, 0.0, -0.009496902, 0.03907459, -0.034902774, 0.0, -0.023496376, -0.020950336, -0.0028724666, 0.0, -0.023445737, -0.030867081, 0.031921685, 0.0) * go_3(1.0, 1.0); + result += mat4(0.05520921, 0.053506643, 0.074486025, 0.0, 0.01776821, 0.017544165, -0.0027289821, 0.0, 0.015694216, 0.015923556, 0.023370298, 0.0, 0.0039820084, -0.0022940557, 0.012368623, 0.0) * go_4(-1.0, -1.0); + result += mat4(0.045182817, 0.04507073, 0.032575533, 0.0, 0.0040297657, -0.021817733, 0.031968318, 0.0, -0.06459216, -0.08448109, -0.05855625, 0.0, 0.00030484094, -0.0062942286, 0.0057871253, 0.0) * go_4(-1.0, 0.0); + result += mat4(-0.022950409, -0.0045590308, -0.010214247, 0.0, -0.120445415, 0.016175238, 0.038379062, 0.0, 0.04060686, 0.037699424, 0.037170544, 0.0, 0.004240223, -0.012128281, -0.006144387, 0.0) * go_4(-1.0, 1.0); + result += mat4(-0.21705003, -0.22307639, -0.250008, 0.0, 0.03250509, -0.010305343, -0.02125876, 0.0, -0.0019542945, 0.0083857095, 0.0003795997, 0.0, -0.0027912247, 0.017809127, -0.014636573, 0.0) * go_4(0.0, -1.0); + result += mat4(0.0031165818, 0.00437882, -0.0018456044, 0.0, 0.06552606, -0.029007912, 0.0005523247, 0.0, -0.062041137, -0.0879153, -0.082705356, 0.0, -0.009192175, 0.007971402, -0.009911476, 0.0) * go_4(0.0, 0.0); + result += mat4(0.015377011, 0.021092182, -0.0077932924, 0.0, -0.053412728, -0.013991355, -0.040265765, 0.0, 0.013355586, 0.054971218, 0.03677729, 0.0, -0.008426287, 0.009601801, -0.016086644, 0.0) * go_4(0.0, 1.0); + result += mat4(0.17808121, 0.14702342, 0.19162051, 0.0, 0.060080007, -0.009325362, -0.031762112, 0.0, -0.008498972, 0.0037382718, -0.015179071, 0.0, 0.0014030457, -0.01661512, 0.014269256, 0.0) * go_4(1.0, -1.0); + result += mat4(-0.021258635, -0.023630297, -0.017915076, 0.0, 0.042402487, 0.008862233, 0.023242455, 0.0, 0.044531934, 0.029775463, 0.036568474, 0.0, 0.022728102, 0.011285749, 0.007094927, 0.0) * go_4(1.0, 0.0); + result += mat4(-0.029360892, -0.0048307893, -0.008096796, 0.0, -0.00496499, 0.03883344, 0.020856587, 0.0, -0.002741085, -0.014452436, -0.010990915, 0.0, -0.00063735654, -0.01085891, 0.015463494, 0.0) * go_4(1.0, 1.0); + result += mat4(0.0049530137, -0.0044118348, 0.010959749, 0.0, 0.004472406, 0.009187174, 0.004749361, 0.0, -0.003241497, 0.0014512578, 0.0020329119, 0.0, 0.00484375, 0.01460068, 0.007019379, 0.0) * go_5(-1.0, -1.0); + result += mat4(0.005252894, 0.00029243072, 0.019448953, 0.0, -0.015999034, -0.017877292, -8.4357e-07, 0.0, -0.0029767593, -0.0057059284, 0.0074942107, 0.0, 0.0038765662, -0.0072403597, -0.017733458, 0.0) * go_5(-1.0, 0.0); + result += mat4(-0.01049558, -0.013876203, -0.012625591, 0.0, 0.03891471, 0.004890166, -0.030958287, 0.0, 0.004907066, -0.0020591288, -0.0025734978, 0.0, -0.0047403546, 0.0051444722, -0.0015627923, 0.0) * go_5(-1.0, 1.0); + result += mat4(0.0006357483, 0.020062638, -0.0023397952, 0.0, -0.025055263, 0.024269849, 0.0019268384, 0.0, 0.002393126, 0.0035250958, -0.0033111002, 0.0, 0.011524009, -0.012832657, -0.006588478, 0.0) * go_5(0.0, -1.0); + result += mat4(-0.017998967, -0.000584444, -0.018799875, 0.0, 0.076106764, 0.049945213, -0.0558265, 0.0, 0.0063656787, 0.011950068, 0.0016814703, 0.0, 0.0008519462, -0.009005519, 0.00790369, 0.0) * go_5(0.0, 0.0); + result += mat4(0.012599852, 0.01618219, -0.0034803718, 0.0, 0.0049316115, -0.0020757983, -0.012432003, 0.0, 0.0015175013, 0.006784785, 0.0051992857, 0.0, 0.004263454, -0.010194243, 0.009470762, 0.0) * go_5(0.0, 1.0); + result += mat4(0.014990767, -0.006943066, 0.0045915875, 0.0, -0.10213808, -0.033116236, 0.057423726, 0.0, 0.002395428, -0.0010561331, 0.001984031, 0.0, -0.007010948, 0.010538445, -0.0018797354, 0.0) * go_5(1.0, -1.0); + result += mat4(0.018725269, 0.006602652, 0.01936808, 0.0, 0.00290643, -0.033731982, 0.015077303, 0.0, -0.003934389, 0.0005405489, 0.008038224, 0.0, 0.004043942, 0.0032627143, -0.0031985177, 0.0) * go_5(1.0, 0.0); + result += mat4(-0.0024643794, -0.0081168115, 0.000985082, 0.0, 0.03405023, 0.0051342547, 0.014164209, 0.0, -0.0046505444, -0.012192198, -0.0059746793, 0.0, -0.0050326213, 0.016408648, -0.0057005123, 0.0) * go_5(1.0, 1.0); + result += mat4(-0.04706173, -0.022926703, -0.030185789, 0.0, -0.0077118534, 0.004031542, 0.004856771, 0.0, -0.006597402, 0.0020668437, -0.0019678045, 0.0, -0.0073156795, -0.012787221, -0.012821401, 0.0) * go_6(-1.0, -1.0); + result += mat4(0.09865301, 0.07682576, 0.09205235, 0.0, 0.016127344, 0.011068172, 0.0197064, 0.0, 0.0036786462, 0.011421758, 0.006705318, 0.0, -0.018997297, -0.011535163, -0.030655675, 0.0) * go_6(-1.0, 0.0); + result += mat4(-0.014861781, -0.008014831, -0.059904367, 0.0, -0.008302899, -0.0020995424, 0.015048458, 0.0, 0.008985284, 0.0044800313, 0.012001394, 0.0, -0.037118495, -0.086405866, -0.10816778, 0.0) * go_6(-1.0, 1.0); + result += mat4(0.15050909, 0.119645074, 0.13516459, 0.0, 0.0084604295, 0.016525416, 0.010620083, 0.0, 0.020369867, 0.019138863, 0.031115068, 0.0, 0.012024721, 0.030274425, 0.036285117, 0.0) * go_6(0.0, -1.0); + result += mat4(-0.27462438, -0.310252, -0.31710893, 0.0, 0.042528827, 0.047812987, 0.044493362, 0.0, 0.02234971, 0.040688086, 0.03131017, 0.0, 0.05833442, 0.06791647, 0.08331125, 0.0) * go_6(0.0, 0.0); + result += mat4(0.049749754, 0.11778692, 0.16365832, 0.0, 0.0225225, 0.021323524, 0.0035210573, 0.0, -0.0066622207, -0.012952145, -0.01054314, 0.0, 0.016107, 0.0045012943, 0.011679103, 0.0) * go_6(0.0, 1.0); + result += mat4(-0.021555528, 0.011145821, -0.0049750637, 0.0, -0.028949145, -0.045024894, -0.047580075, 0.0, 0.0013904909, -0.0013674475, -0.0105227055, 0.0, -0.03703044, 0.01570922, 0.02064549, 0.0) * go_6(1.0, -1.0); + result += mat4(0.027319964, 0.039980143, 0.056491673, 0.0, -0.0026977404, 0.012383259, 0.007661908, 0.0, -0.017106112, -0.017156936, -0.0106615815, 0.0, 0.020222748, 0.02083489, 0.035353363, 0.0) * go_6(1.0, 0.0); + result += mat4(0.051271953, 0.009694833, -0.0038416488, 0.0, -0.015718514, -0.024900327, -0.009097298, 0.0, 0.0027923114, -0.0017151093, -0.0022432432, 0.0, 0.0022872428, -0.010429248, -0.0181392, 0.0) * go_6(1.0, 1.0); + result += mat4(-0.025478277, 0.01361073, -0.0022686427, 0.0, -0.006248262, 0.004096912, 0.0063837394, 0.0, -0.0019614873, 0.0007515925, -0.002336724, 0.0, -0.011059066, -0.005880466, -0.010802589, 0.0) * go_7(-1.0, -1.0); + result += mat4(0.0059225713, -0.011407604, 0.010512075, 0.0, -0.0050041554, -0.0032832269, 0.004794339, 0.0, 0.031757887, 0.024956895, 0.009227458, 0.0, 0.005438838, -0.0017310621, -0.0038212216, 0.0) * go_7(-1.0, 0.0); + result += mat4(-0.014898649, 0.010369115, 0.0021796224, 0.0, -2.5652813e-05, 0.0059442236, -0.0015612476, 0.0, -0.01013316, -0.012647321, -0.008728524, 0.0, -0.002109095, 0.0006318179, -0.00082120905, 0.0) * go_7(-1.0, 1.0); + result += mat4(0.00341893, 0.006304587, 0.00060052174, 0.0, 0.0024800575, 0.0070764557, -0.008952178, 0.0, 0.041255437, 0.050920103, 0.051867694, 0.0, 0.0048200623, 0.00022566803, -0.0031875211, 0.0) * go_7(0.0, -1.0); + result += mat4(0.017161591, -0.009378748, 0.0036701541, 0.0, -0.0016541632, 0.0038244207, -0.00016950646, 0.0, 0.016582362, 0.019209225, 0.03667747, 0.0, 0.004404724, -0.002670751, 0.009977147, 0.0) * go_7(0.0, 0.0); + result += mat4(0.006690477, 0.008557644, 0.0073140776, 0.0, -0.004647655, -0.0032306341, -0.008620772, 0.0, -0.0076844427, -0.01342857, 0.0067478605, 0.0, -0.0090228, -0.010585969, -0.009984135, 0.0) * go_7(0.0, 1.0); + result += mat4(-0.001956184, -0.006917783, -0.015233173, 0.0, -0.004261963, -0.013595451, -0.0092541855, 0.0, -0.028828345, -0.027626967, -0.020593904, 0.0, -0.0020136125, 0.004573403, 0.0020614942, 0.0) * go_7(1.0, -1.0); + result += mat4(0.009494984, -0.012129607, -0.0018124013, 0.0, 0.00037371722, -0.0046847686, 0.0036133695, 0.0, -0.08961846, -0.08246162, -0.114471205, 0.0, 0.0046280758, 0.00063424936, -0.005647913, 0.0) * go_7(1.0, 0.0); + result += mat4(-0.002144247, -0.006831682, -0.004889928, 0.0, 0.0013089051, -0.0040246192, -0.002831742, 0.0, 0.05096865, 0.039355386, 0.039036866, 0.0, -0.0030425042, 0.0063056643, 0.0062971213, 0.0) * go_7(1.0, 1.0); + result += mat4(0.025361786, 0.004035193, -0.0028225796, 0.0, -0.004232574, -0.0035658241, 0.0021465644, 0.0, -0.012053769, -0.0070899376, 0.0025217172, 0.0, 0.00035528227, 0.0026417011, -0.0090203155, 0.0) * go_8(-1.0, -1.0); + result += mat4(-0.012506347, 0.0143124955, -0.01475725, 0.0, -0.0030933334, -0.0028272325, -0.01177318, 0.0, -0.0060547628, -0.005313569, -0.021205021, 0.0, -0.0044727162, -0.010677954, 0.02365087, 0.0) * go_8(-1.0, 0.0); + result += mat4(0.026648816, 0.0062886197, 0.013951058, 0.0, -0.0032456762, -0.0033997137, 0.00024707342, 0.0, 0.0014626492, -0.00835827, 0.008558773, 0.0, 0.020372026, 0.0065741003, 0.010505262, 0.0) * go_8(-1.0, 1.0); + result += mat4(0.00017674098, -0.009760521, 0.018675998, 0.0, -0.007052272, -0.0011848108, -0.004863736, 0.0, 0.0012898372, -0.0075971996, -0.009661746, 0.0, -0.008158695, -0.008880015, -0.00733229, 0.0) * go_8(0.0, -1.0); + result += mat4(-0.0182602, -0.011715669, -0.017855063, 0.0, 0.009018692, 0.006732858, 0.009499318, 0.0, 0.033385362, 0.04522244, 0.041749697, 0.0, -0.08317306, -0.09648336, -0.10567743, 0.0) * go_8(0.0, 0.0); + result += mat4(-0.0043141707, -0.019488264, 0.0040918137, 0.0, -0.01087478, 0.0012856841, -0.0030566782, 0.0, 0.007192342, 0.00654908, -0.0066080447, 0.0, -0.014165422, -0.0016966269, -0.024392638, 0.0) * go_8(0.0, 1.0); + result += mat4(0.01216089, 0.014149384, 0.01742211, 0.0, 0.003924372, -0.0039287372, 0.004061173, 0.0, 0.009022624, -0.0004619198, 0.0026475685, 0.0, 0.026940938, 0.024914106, 0.003418757, 0.0) * go_8(1.0, -1.0); + result += mat4(-0.02952131, -0.0045428053, -0.026432447, 0.0, 0.011610402, 0.008185513, 0.0039038714, 0.0, 0.03713648, 0.0395391, 0.030475812, 0.0, 0.00089649396, 0.0070916326, 0.022228051, 0.0) * go_8(1.0, 0.0); + result += mat4(0.001587467, 0.024500055, 0.01973232, 0.0, 0.0035265072, -0.0030997552, 0.0027370586, 0.0, -0.023047464, -0.0122122895, -0.008501983, 0.0, -0.0068462375, 0.0022843033, 0.003795816, 0.0) * go_8(1.0, 1.0); + result += mat4(0.016789248, 0.01254996, 0.02210503, 0.0, 0.012106761, -0.003635233, 0.0072172955, 0.0, -0.020028833, -0.01887912, -0.020026082, 0.0, -0.00844844, 0.0042690644, -0.0032225568, 0.0) * go_9(-1.0, -1.0); + result += mat4(0.016003825, 0.025062528, 0.015531413, 0.0, -0.0042697443, -0.002105033, -0.0012211011, 0.0, -0.0049069985, -0.019246748, -0.0037832889, 0.0, 0.0099958945, -0.008196794, -0.0045375507, 0.0) * go_9(-1.0, 0.0); + result += mat4(0.026500875, 0.0396465, 0.033590585, 0.0, 0.005405388, 0.0010698376, 0.0031889272, 0.0, 0.0034493858, 0.02652777, 0.008353321, 0.0, -0.011913049, 0.007410789, 0.0038532054, 0.0) * go_9(-1.0, 1.0); + result += mat4(0.022959502, 0.037157275, 0.026223795, 0.0, -0.002359783, 0.0078087146, 0.015261196, 0.0, -0.07995782, -0.07981969, -0.07655523, 0.0, -0.0067736907, -0.012067516, -0.007992792, 0.0) * go_9(0.0, -1.0); + result += mat4(0.0023983195, -0.0020767245, -0.0044161547, 0.0, -0.00648856, 0.012450184, -0.025990479, 0.0, -0.037020147, -0.055538315, -0.021222003, 0.0, 0.021080054, -0.0066943956, 0.013073288, 0.0) * go_9(0.0, 0.0); + result += mat4(-0.031190705, -0.05620925, -0.06479107, 0.0, -0.014074204, -0.017560946, -0.018823083, 0.0, 0.023085466, 0.027850889, 0.04083693, 0.0, -0.004887899, -0.00282323, 0.0057099527, 0.0) * go_9(0.0, 1.0); + result += mat4(0.009363126, 0.005484372, 0.0302749, 0.0, 0.0047330265, 0.0015038615, 0.006890818, 0.0, 0.010852913, 0.0220478, 0.00711804, 0.0, -0.0017576768, 0.016725222, -0.004241142, 0.0) * go_9(1.0, -1.0); + result += mat4(-0.048167795, -0.035639104, -0.048131768, 0.0, -0.0020459362, -0.0075555677, 0.004227725, 0.0, 0.00482982, -0.019239172, -0.02544654, 0.0, -0.011318142, -0.0057719736, 0.009860561, 0.0) * go_9(1.0, 0.0); + result += mat4(-0.063551456, -0.07896364, -0.0540844, 0.0, 0.023259554, 0.0026555767, 0.013461761, 0.0, 0.040332828, 0.037789416, 0.021407485, 0.0, 0.005665673, 0.012516072, -0.013808973, 0.0) * go_9(1.0, 1.0); + result += mat4(-0.0043271515, -0.002176621, -0.0062263994, 0.0, -0.009487342, -0.019084062, -0.007869139, 0.0, 0.0039961888, 0.0058492622, -0.0040343683, 0.0, -0.03378101, -0.014583192, -0.020262172, 0.0) * go_10(-1.0, -1.0); + result += mat4(-0.0057374407, -0.0023028732, -0.009082434, 0.0, -0.012978781, -0.0070726364, -0.01716653, 0.0, -0.011592781, -0.0035609906, -0.008231705, 0.0, -0.012654525, -0.0027721147, -0.020824594, 0.0) * go_10(-1.0, 0.0); + result += mat4(0.004045453, 0.0057113008, 0.005117617, 0.0, 0.011016732, 0.002078177, -0.0059456746, 0.0, 0.014335918, 0.01432551, 0.012828931, 0.0, -0.014062043, 0.016954973, 0.010959033, 0.0) * go_10(-1.0, 1.0); + result += mat4(-0.012934133, -0.012173259, 0.0033186993, 0.0, 0.014181016, 0.005169614, 0.012137384, 0.0, 0.0056865932, -0.008070127, 0.00045203033, 0.0, 0.025708647, 0.042508934, 0.033339664, 0.0) * go_10(0.0, -1.0); + result += mat4(0.0074146404, 0.0201533, 0.016118554, 0.0, 0.0013031239, 0.027318979, 0.009487991, 0.0, -0.016540378, -0.016878206, -0.0053058104, 0.0, 0.01720723, 0.03583139, 0.05756807, 0.0) * go_10(0.0, 0.0); + result += mat4(-0.0014135512, 0.00062751066, 0.009140375, 0.0, 0.0072179064, 0.009824886, 0.024632638, 0.0, 0.010560128, 0.0007695087, 0.0038111003, 0.0, -0.022627058, -0.01977243, -0.0030134337, 0.0) * go_10(0.0, 1.0); + result += mat4(-0.0035051953, -0.005636337, -0.0097413175, 0.0, -0.023677194, 0.010395192, 0.018517843, 0.0, -0.004950805, 0.00029344863, 0.004853732, 0.0, 0.007897124, -0.1331537, -0.118723, 0.0) * go_10(1.0, -1.0); + result += mat4(0.0013748755, -0.0021782645, -0.012239493, 0.0, -0.029132465, -0.006267873, -0.031924155, 0.0, -0.0097114965, 0.0005397595, -0.012134342, 0.0, 0.044770814, 0.08320425, 0.07122483, 0.0) * go_10(1.0, 0.0); + result += mat4(0.0048491457, -0.007968555, 0.00013333336, 0.0, 0.0008854088, -0.022956531, -0.013588146, 0.0, -0.0027138935, -0.0018594498, 0.0034621623, 0.0, -0.0134118525, -0.01100187, -0.030043988, 0.0) * go_10(1.0, 1.0); + result += mat4(0.02237663, 0.00831919, 0.0015054654, 0.0, -0.0052822554, -0.009167897, -0.023418322, 0.0, 0.049750224, 0.15223135, 0.056895517, 0.0, -0.028124314, 0.103592865, -0.11460099, 0.0) * go_11(-1.0, -1.0); + result += mat4(0.06604592, 0.077535994, 0.04387619, 0.0, 0.002240608, 0.0032035408, -0.0019027377, 0.0, -0.23191178, -0.20713837, -0.1059163, 0.0, -0.02745329, 0.019124122, -0.05754067, 0.0) * go_11(-1.0, 0.0); + result += mat4(-0.018089697, -0.0049893647, -0.012755223, 0.0, -0.011250022, 0.0025694384, 0.006658047, 0.0, 0.18600269, 0.21540438, -0.07239619, 0.0, 0.06070741, -0.015966779, 0.008377523, 0.0) * go_11(-1.0, 1.0); + result += mat4(0.07885984, 0.063304946, 0.08161656, 0.0, 0.009204811, -0.008686348, 0.01826027, 0.0, 0.017419616, -0.15827277, -0.027334033, 0.0, 0.021419391, -0.057179615, 0.04383202, 0.0) * go_11(0.0, -1.0); + result += mat4(-0.29338145, -0.1789378, -0.21597695, 0.0, 0.015545433, 0.0054774336, 0.02298748, 0.0, 0.2563948, 0.18186228, 0.028528359, 0.0, -0.040248312, -0.11418649, 0.25180307, 0.0) * go_11(0.0, 0.0); + result += mat4(0.08531003, 0.0584844, 0.07977445, 0.0, 0.0038542026, -0.0047495505, 0.002093048, 0.0, -0.16321124, -0.06810998, 0.11998162, 0.0, -0.051232412, 0.023452647, 0.02020883, 0.0) * go_11(0.0, 1.0); + result += mat4(-0.017363412, -0.032433335, -0.0070381477, 0.0, -0.005624224, 0.014642784, -0.010655905, 0.0, -0.06498979, -0.089284316, 0.02830825, 0.0, 0.01107569, -0.0027832526, -0.058814265, 0.0) * go_11(1.0, -1.0); + result += mat4(0.04100374, 0.05535847, 0.057575654, 0.0, -0.020664502, -0.0018526735, 0.006235595, 0.0, 0.06476483, 0.15853153, 0.15087196, 0.0, -0.024243202, -0.05395063, 0.15457627, 0.0) * go_11(1.0, 0.0); + result += mat4(0.01612927, -0.002833585, -0.0181422, 0.0, -0.007557753, -0.0033626833, -0.026714409, 0.0, -0.15844722, -0.20818855, -0.2195031, 0.0, 0.06423856, 0.08534526, -0.25243443, 0.0) * go_11(1.0, 1.0); + result += vec4(0.0016457731, -8.084377e-05, 0.00035153233, 0.0); + return result + MAIN_tex(MAIN_pos); +} \ No newline at end of file diff --git a/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Original_x2.glsl b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Original_x2.glsl new file mode 100644 index 0000000..2b6eef2 --- /dev/null +++ b/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_Original_x2.glsl @@ -0,0 +1,277 @@ +// MIT License + +// Copyright (c) 2019-2021 bloc97 +// 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. + +//!DESC Anime4K-v3.2-Upscale-Original-x2-Luma +//!HOOK MAIN +//!BIND HOOKED +//!SAVE LINELUMA +//!COMPONENTS 1 + +float get_luma(vec4 rgba) { + return dot(vec4(0.299, 0.587, 0.114, 0.0), rgba); +} + +vec4 hook() { + return vec4(get_luma(HOOKED_tex(HOOKED_pos)), 0.0, 0.0, 0.0); +} + +//!DESC Anime4K-v3.2-Upscale-Original-x2-Kernel-X +//!HOOK MAIN +//!BIND HOOKED +//!BIND LINELUMA +//!SAVE LUMAD +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * +//!COMPONENTS 2 + +vec4 hook() { + vec2 d = HOOKED_pt; + + //[tl t tr] + //[ l c r] + //[bl b br] + float l = LINELUMA_tex(HOOKED_pos + vec2(-d.x, 0.0)).x; + float c = LINELUMA_tex(HOOKED_pos).x; + float r = LINELUMA_tex(HOOKED_pos + vec2(d.x, 0.0)).x; + + + //Horizontal Gradient + //[-1 0 1] + //[-2 0 2] + //[-1 0 1] + float xgrad = (-l + r); + + //Vertical Gradient + //[-1 -2 -1] + //[ 0 0 0] + //[ 1 2 1] + float ygrad = (l + c + c + r); + + //Computes the luminance's gradient + return vec4(xgrad, ygrad, 0.0, 0.0); +} + + +//!DESC Anime4K-v3.2-Upscale-Original-x2-Kernel-Y +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!SAVE LUMAD +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * +//!COMPONENTS 2 + + +/* --------------------- SETTINGS --------------------- */ + +//Strength of edge refinement, good values are between 0.2 and 4 +#define REFINE_STRENGTH 0.5 + + +/* --- MODIFY THESE SETTINGS BELOW AT YOUR OWN RISK --- */ + +//Bias of the refinement function, good values are between 0 and 1 +#define REFINE_BIAS 0.0 + +//Polynomial fit obtained by minimizing MSE error on image +#define P5 ( 11.68129591) +#define P4 (-42.46906057) +#define P3 ( 60.28286266) +#define P2 (-41.84451327) +#define P1 ( 14.05517353) +#define P0 (-1.081521930) + +/* ----------------- END OF SETTINGS ----------------- */ + +float power_function(float x) { + float x2 = x * x; + float x3 = x2 * x; + float x4 = x2 * x2; + float x5 = x2 * x3; + + return P5*x5 + P4*x4 + P3*x3 + P2*x2 + P1*x + P0; +} + +vec4 hook() { + vec2 d = HOOKED_pt; + + //[tl t tr] + //[ l cc r] + //[bl b br] + float tx = LUMAD_tex(HOOKED_pos + vec2(0.0, -d.y)).x; + float cx = LUMAD_tex(HOOKED_pos).x; + float bx = LUMAD_tex(HOOKED_pos + vec2(0.0, d.y)).x; + + + float ty = LUMAD_tex(HOOKED_pos + vec2(0.0, -d.y)).y; + //float cy = LUMAD_tex(HOOKED_pos).y; + float by = LUMAD_tex(HOOKED_pos + vec2(0.0, d.y)).y; + + + //Horizontal Gradient + //[-1 0 1] + //[-2 0 2] + //[-1 0 1] + float xgrad = (tx + cx + cx + bx); + + //Vertical Gradient + //[-1 -2 -1] + //[ 0 0 0] + //[ 1 2 1] + float ygrad = (-ty + by); + + //Computes the luminance's gradient + float sobel_norm = clamp(sqrt(xgrad * xgrad + ygrad * ygrad), 0.0, 1.0); + + float dval = clamp(power_function(clamp(sobel_norm, 0.0, 1.0)) * REFINE_STRENGTH + REFINE_BIAS, 0.0, 1.0); + + return vec4(sobel_norm, dval, 0.0, 0.0); +} + +//!DESC Anime4K-v3.2-Upscale-Original-x2-Kernel-X +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!SAVE LUMAMM +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * +//!COMPONENTS 2 + + +vec4 hook() { + vec2 d = HOOKED_pt; + + if (LUMAD_tex(HOOKED_pos).y < 0.1) { + return vec4(0.0); + } + + //[tl t tr] + //[ l c r] + //[bl b br] + float l = LUMAD_tex(HOOKED_pos + vec2(-d.x, 0.0)).x; + float c = LUMAD_tex(HOOKED_pos).x; + float r = LUMAD_tex(HOOKED_pos + vec2(d.x, 0.0)).x; + + //Horizontal Gradient + //[-1 0 1] + //[-2 0 2] + //[-1 0 1] + float xgrad = (-l + r); + + //Vertical Gradient + //[-1 -2 -1] + //[ 0 0 0] + //[ 1 2 1] + float ygrad = (l + c + c + r); + + + return vec4(xgrad, ygrad, 0.0, 0.0); +} + + +//!DESC Anime4K-v3.2-Upscale-Original-x2-Kernel-Y +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!BIND LUMAMM +//!SAVE LUMAMM +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * +//!COMPONENTS 2 + +vec4 hook() { + vec2 d = HOOKED_pt; + + if (LUMAD_tex(HOOKED_pos).y < 0.1) { + return vec4(0.0); + } + + //[tl t tr] + //[ l cc r] + //[bl b br] + float tx = LUMAMM_tex(HOOKED_pos + vec2(0.0, -d.y)).x; + float cx = LUMAMM_tex(HOOKED_pos).x; + float bx = LUMAMM_tex(HOOKED_pos + vec2(0.0, d.y)).x; + + float ty = LUMAMM_tex(HOOKED_pos + vec2(0.0, -d.y)).y; + //float cy = LUMAMM_tex(HOOKED_pos).y; + float by = LUMAMM_tex(HOOKED_pos + vec2(0.0, d.y)).y; + + //Horizontal Gradient + //[-1 0 1] + //[-2 0 2] + //[-1 0 1] + float xgrad = (tx + cx + cx + bx); + + //Vertical Gradient + //[-1 -2 -1] + //[ 0 0 0] + //[ 1 2 1] + float ygrad = (-ty + by); + + float norm = sqrt(xgrad * xgrad + ygrad * ygrad); + if (norm <= 0.001) { + xgrad = 0.0; + ygrad = 0.0; + norm = 1.0; + } + + return vec4(xgrad/norm, ygrad/norm, 0.0, 0.0); +} + + +//!DESC Anime4K-v3.2-Upscale-Original-x2-Apply +//!HOOK MAIN +//!BIND HOOKED +//!BIND LUMAD +//!BIND LUMAMM +//!WIDTH MAIN.w 2 * +//!HEIGHT MAIN.h 2 * + + +vec4 hook() { + vec2 d = HOOKED_pt; + + float dval = LUMAD_tex(HOOKED_pos).y; + if (dval < 0.1) { + return HOOKED_tex(HOOKED_pos); + } + + vec4 dc = LUMAMM_tex(HOOKED_pos); + if (abs(dc.x + dc.y) <= 0.0001) { + return HOOKED_tex(HOOKED_pos); + } + + float xpos = -sign(dc.x); + float ypos = -sign(dc.y); + + vec4 xval = HOOKED_tex(HOOKED_pos + vec2(d.x * xpos, 0.0)); + vec4 yval = HOOKED_tex(HOOKED_pos + vec2(0.0, d.y * ypos)); + + float xyratio = abs(dc.x) / (abs(dc.x) + abs(dc.y)); + + vec4 avg = xyratio * xval + (1.0 - xyratio) * yval; + + return avg * dval + HOOKED_tex(HOOKED_pos) * (1.0 - dval); + +} \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions.md b/shaders/Anime4K/md/GLSL_Instructions.md new file mode 100644 index 0000000..5d40a0d --- /dev/null +++ b/shaders/Anime4K/md/GLSL_Instructions.md @@ -0,0 +1,14 @@ +## **Installation Instructions** + + ### Windows + - [(GLSL/MPV)](GLSL_Instructions_Windows_MPV.md) + - [(GLSL/Plex)](GLSL_Instructions_Windows_Plex.md) + + ### Linux + - [(GLSL/MPV)](GLSL_Instructions_Linux.md) + - [(GLSL/Plex)](GLSL_Instructions_Linux_Plex.md) + + ### Mac + - [(GLSL/MPV)](GLSL_Instructions_Mac_MPV.md) + - [(GLSL/IINA)](GLSL_Instructions_Mac_IINA.md) + - [(GLSL/Plex)](GLSL_Instructions_Mac_Plex.md) \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Advanced.md b/shaders/Anime4K/md/GLSL_Instructions_Advanced.md new file mode 100644 index 0000000..e4465d0 --- /dev/null +++ b/shaders/Anime4K/md/GLSL_Instructions_Advanced.md @@ -0,0 +1,102 @@ +# Advanced Usage Instructions (GLSL / MPV) (v4.x) +## Modes +Now, Anime4K has 3 major modes, as the small CNN networks cannot learn effectively every type of distribution shift and degradation seen in the wild. Human judgement will serve (for now) as the stopgap solution. Usually the correct mode is the one that looks best. + +The easiest way is to first visually inspect each mode in the A-B-C order. Mode A has the most visible artifacts of the three modes if used incorrectly. B and C can be harder to distinguish for lower resolution anime. + +If you want increased perceptual quality, use the corresponding secondary mode. +| Primary Mode | Corresponding Secondary Mode | +| ------------- |-------------| +| A | A+A | +| B | B+B | +| C | C+A | + +Here's what each mode is optimized for and what it does: + +| Modes | Optimized for? | Positive effects | Negative effects (If used incorrectly) | +| ------------- |-------------| -----| -----| +| A | Most 1080p anime
Some older 720p anime
Most old SD anime
\(High amounts of blur)
\(A lot of resampling artifacts)
\(Smearing due to compression) | High perceptual quality
Reduces compression artifacts
Reconstructs most degraded lines
Reduces large amounts of blur
Reduces noise | Can amplify ringing if already present
Can amplify banding if already present
Strong denoising might blur textures | +| B | Some 1080p anime
Most 720p anime
1080p->720p downscaled anime
\(Low amounts of blur)
\(Some resampling artifacts)
\(Ringing due to downsampling) | Reduces compression artifacts
Reconstructs some degraded lines
Reduces some blur
Reduces noise
Reduces ringing
Reduces aliasing | Some artifacts might not be removed
Some lines might still be blurry
Strong denoising might blur textures| +| C | 1080p->480p downscaled anime
Very rarely, 1080p animated movies
Images with no degradation
Wallpapers
Pixiv art | Highest PSNR
Reduces noise | Low perceptual quality
Can amplify ringing if already present
Can amplify resampling artifacts| +| A+A\* | Same as A | Highest perceptual quality
Reconstructs almost all degraded lines
Same positive effects from mode A | Can cause severe ringing
Can cause banding
Can cause aliasing
Same negative effects from mode A
Slower than mode A| +| B+B\* | Same as B | High perceptual quality
Same positive effects from mode B | Same negative effects from mode B
Slower than mode B| +| C+A\* | Same as C | Slightly higher perceptual quality
Same positive effects from mode C | Same negative effects from mode C
Slower than mode C| + + +\*These modes should only be used on upscaling ratios of x2 or higher. If you have a 1080p screen, using mode A on 1080p anime will improve image quality, but mode A+A will most likely oversharpen and degrade the image. + +## Advanced Customization +Not satisfied from simply using the default options? Curious about unsupported/weird modes such as B+A, A+B or B+A+A ? This quick guide will get you started on customizing your own restoration pipeline. + +First, the basics. + + - All the shaders can be used standalone or in combination with any other shaders. + - You can only use each shader file once. Using the same file two or more times causes buggy behaviour and loss of performance. Either use a different variant or copy and rename the duplicate shaders. + - The shaders process the image in the same order as the filename order given in `input.conf`. One exception is `Clamp_Highlights`, explained in the table below. + - You are free to choose the CNN variant (S, M, L, VL, UL) for better speed or quality. Each step in size for CNN shaders doubles the processing time. For example, if the M version takes 5ms to run, the L version should take approximately 10ms to run, 20ms for VL and so on. + - Non-CNN shaders are significantly faster but might be of lower quality. + +Quick explanation of each shader type: + +| Shader Type (in order of importance) | Effect | +| ------------- |-------------| +| Restore | The shader that makes Anime4K different from other upscalers. Restores image, best used before upscaling. Removes compression artifacts, blur, ringing, etc. `Restore` is more optimized for upsampling artifacts and blur, while `Restore_Soft` is more optimized for downsampling artifacts and aliasing. | +| Upscale | Upscales an image by a factor of x2, assumes image contains no degradation. | +| Upscale_Denoise | Upscales an image by a factor of x2 and denoises it with no GPU performance penality. | +| Clamp_Highlights | Computes and saves image statistics at the location it is placed in the shader stage, then clamps the image highlights at the end after all the shaders to prevent overshoot and reduce ringing. | +| Darken | Darkens lines in image. As what constitutes a line is ambiguous, might darken other stuff. Use according to personal taste. | +| Thin | Makes lines thinner in image. As what constitutes a line is ambiguous, might thin other stuff. Use according to personal taste. | +| Denoise | Applies a denoising filter to the image. | +| Deblur | Applies a deblur filter to the image. Sharpens details without overshoot or ringing. | +| AutoDownscalePre_x4 | Downscales an image after a first upscaling step, so that the second x2 upscaling step exactly matches screen size. This improves performance without noticeably impacting quality as you will not be working with images larger than the screen size. Should be placed between two Upscale shaders. Without this shader, the default behaviour is to downscale to the screen size after running all shaders. | +| AutoDownscalePre_x2 | Downscales an image after a first upscaling step to match screen size. This improves performance without noticeably impacting quality as you will not be working with images larger than the screen size. Should be placed after the first Upscale shader. Without this shader, the default behaviour is to downscale to the screen size after running all shaders. | +____ +Overview of default modes: +| Mode | Shaders | +| ------------- |-------------| +| A | `Restore -> Upscale -> Upscale` | +| B | `Restore_Soft -> Upscale -> Upscale` | +| C | `Upscale_Denoise -> Upscale` | +| A+A | `Restore -> Upscale -> Restore -> Upscale` | +| B+B | `Restore_Soft -> Upscale -> Restore_Soft -> Upscale` | +| C+A | `Upscale_Denoise -> Restore -> Upscale` | + +*Note: Clamp_Highlights and AutoDownscalePre were removed from table for clarity.* +____ +How the modes are defined: + + - Mode A is defined initially as: `Restore -> Upscale` + - Mode B is defined initially as: `Restore_Soft -> Upscale` + - Mode C is defined initially as: `Upscale` + - If the mode does not start with a `Restore` shader, it must start with a `Upscale_Denoise` or `Denoise` shader, as almost every video compression algorithm is lossy. + - All modes have to add upscale shaders until the entire shader pipeline upscales at least 4x. A reasonable assumption is the smallest reasonable video size being 480p and the largest screen being 4K, upscaling at 4x is close to the 4.5x of 480p->4K. +____ +With the definitions above, we can see for example, what C+A+B is. + + 1. Initial definition:
`C (Upscale) -> A (Restore -> Upscale) -> B (Restore_Soft -> Upscale)` + 2. All modes have to start with restore/denoise:
`C (Upscale_Denoise) -> A (Restore -> Upscale) -> B (Restore_Soft -> Upscale)` + 3. Upscale ratio of 4x is already met. + 4. C+A+B is:
`Upscale_Denoise -> Restore -> Upscale -> Restore_Soft -> Upscale` + 5. Shader variants (S/M/L/VL/UL) can be chosen at will. + +## Best Practices + +It is recommended to always include `Clamp_Highlights` at the beginning to prevent ringing in some anime, but removing it will slightly improve speed. + +Adding a `Restore` shader after an upscaling step improves perceptual quality, but makes processing slower and might introduce artifacts. + +Shaders applied after a x2 upscaling step will take four times the processing time. For example, if a shader takes 10ms to run when placed before a upscaler, it will need 40ms if placed after the upscaler. This can be counteracted by using a smaller CNN variant two steps below. (eg. S instead of L) + +Artifacts introduced by lower quality shaders (eg. M or S variants) usually are not noticeable when working at very high resolutions. This advantage can be used to reduce GPU fan noise/heat and power use if you do not mind slightly lower image quality. + +The target for 24fps video is usually ~41ms. Frame drops will appear if the GPU cannot keep up. If that happens, use lower quality/faster shader variants. +Use the mpv profiler (press Shift+I and then 2 on the keyboard's top row) to verify whether your GPU can keep up. + +| Video Framerate | Maximum time (ms) | +|-----------|-------------------| +| 24 | 41 | +| 30 | 33 | +| 60 | 16 | + + +---- diff --git a/shaders/Anime4K/md/GLSL_Instructions_Linux.md b/shaders/Anime4K/md/GLSL_Instructions_Linux.md new file mode 100644 index 0000000..96dc338 --- /dev/null +++ b/shaders/Anime4K/md/GLSL_Instructions_Linux.md @@ -0,0 +1,70 @@ +# Usage Instructions (GLSL / MPV) (v4.x) + +## Installing and Setting Up Anime4K for Linux-based Distributions (and other Unix-like OS) + + 1. Install `mpv` from repositories of your distribution, some of the common ones are mentioned here + ### Fedora Silverblue + 1. Install the RPM-Fusion "free" repository, if not already installed, paste in the command below + + `sudo rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm` + + 2. Reboot and install `mpv` + + 3. Reboot and continue to step 2 + + ### Fedora + sudo dnf install mpv + + ### Ubuntu and Derivatives + sudo apt install mpv + + ### Arch and Derivatives + sudo pacman -S mpv + + ### Gentoo (Add USE Flags as mentioned [here](https://wiki.gentoo.org/wiki/Mpv#USE_flags)) + sudo emerge --ask media-video/mpv` + + - Note: make sure to install a version of [**mpv**](https://mpv.io/) that was released after June 2021, older versions [might not work](https://github.com/bloc97/Anime4K/issues/134). + +2. Clone the repo using `git clone https://github.com/bloc97/Anime4K.git`, or download the template files and extract them. + + - **Optimized shaders for lower-end GPU:** + *(Eg. GTX 980, GTX 1060, RX 570)* + - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Mac_Linux_Low-end.zip). + -
+ Or click here to install manually. +
    +
  • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
  • +
  • Then download and extract the shaders from releases and put them in the shaders folder.
  • +
+
+ + - **Optimized shaders for higher-end GPU:** + *(Eg. GTX 1080, RTX 2070, RTX 3060, RX 590, Vega 56, 5700XT, 6600XT)* + - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Mac_Linux_High-end.zip). + -
+ Or click here to install manually. +
    +
  • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
  • +
  • Then download and extract the shaders from releases and put them in the shaders folder.
  • +
+
+ +3. Navigate to `~/.config/mpv` and move the `input.conf`, `mpv.conf` and the `shaders` folder into the `mpv` directory. + `mv path/to/stuff ~/.config/mpv` + + ![image](https://user-images.githubusercontent.com/45941793/162597836-22de46b1-fd04-4054-a5ec-f83452ed4e13.png) + +____ +## Quick Usage Instructions + +1. Anime4K has 3 major modes: A, B, and C. Each mode is optimized for a different class of anime degradations. + - Mode A is automatically enabled, if you use our template (this can be change in `mpv.conf`). + +2. To enable each mode manually: + - Press **CTRL+1** to enable Mode A (Optimized for 1080p Anime). + - Press **CTRL+2** to enable Mode B (Optimized for 720p Anime). + - Press **CTRL+3** to enable Mode C (Optimized for 480p Anime). + - Press **CTRL+0** to clear all shaders (Disable Anime4K). + +3. For more explanations and customization options, see the [Advanced Usage Instructions](GLSL_Instructions_Advanced.md#advanced-usage-instructions-glsl--mpv-v4x). \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Linux_Plex.md b/shaders/Anime4K/md/GLSL_Instructions_Linux_Plex.md new file mode 100644 index 0000000..f6345e6 --- /dev/null +++ b/shaders/Anime4K/md/GLSL_Instructions_Linux_Plex.md @@ -0,0 +1,52 @@ +# Usage Instructions (GLSL / PLEX) (v4.x) + +## Installing and Setting Up Anime4K for Plex on Linux + + 1. Download `Plex for Linux` or `Plex HTPC (for Linux Home Theater PCs)` from [**here**](https://www.plex.tv/media-server-downloads/#plex-app). + - *Note: Only the desktop version of the app supports GLSL shaders.* + + 2. Open `Plex` or `Plex HTPC` (this will create the config location for you). + + 3. Download the template files, and extract it (open the .zip file). + + - **Optimized shaders for lower-end GPU:** + *(Eg. GTX 980, GTX 1060, RX 570)* + - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Mac_Linux_Low-end.zip). + -
+ Or click here to install manually. +
    +
  • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
  • +
  • Then download and extract the shaders from releases and put them in the shaders folder.
  • +
+
+ + - **Optimized shaders for higher-end GPU:** + *(Eg. GTX 1080, RTX 2070, RTX 3060, RX 590, Vega 56, 5700XT, 6600XT)* + - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Mac_Linux_High-end.zip). + -
+ Or click here to install manually. +
    +
  • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
  • +
  • Then download and extract the shaders from releases and put them in the shaders folder.
  • +
+
+ +3. Navigate to your local `Plex` or `Plex HTPC` data directory. + + #### Flatpak + /home/.var/app/tv.plex.PlexHTPC/data/plex/ + +5. Move the `input.conf`, `mpv.conf` and the `shaders` folder into the directory. +____ +## Quick Usage Instructions + +1. Anime4K has 3 major modes: A, B, and C. Each mode is optimized for a different class of anime degradations. + - Mode A is automatically enabled, if you use our template (this can be change in `mpv.conf`). + +2. To enable each mode manually: + - Press **CTRL+1** to enable Mode A (Optimized for 1080p Anime). + - Press **CTRL+2** to enable Mode B (Optimized for 720p Anime). + - Press **CTRL+3** to enable Mode C (Optimized for 480p Anime). + - Press **CTRL+0** to clear all shaders (Disable Anime4K). + +3. For more explanations and customization options, see the [Advanced Usage Instructions](GLSL_Instructions_Advanced.md#advanced-usage-instructions-glsl--mpv-v4x). \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Mac.md b/shaders/Anime4K/md/GLSL_Instructions_Mac.md new file mode 100644 index 0000000..b7fec90 --- /dev/null +++ b/shaders/Anime4K/md/GLSL_Instructions_Mac.md @@ -0,0 +1,54 @@ +# Usage Instructions (GLSL / MPV) (v4.x) + +## Installing and setting up Anime4K for Intel-based and Apple Silicon Mac +*If you wish to use another media player, look at their documentation on how to install GLSL shaders and modify the shader accordingly if needed.* + + 1. Install mpv via [**Homebrew**](https://formulae.brew.sh/formula/mpv) or download the latest release [**here**](https://laboratory.stolendata.net/~djinn/mpv_osx/mpv-latest.tar.gz) + + 2. Download the .glsl shader files [**here**](https://github.com/bloc97/Anime4K/releases) + + 3. Copy the .glsl files to `~/.config/mpv/shaders` + + 4. (Optional) If `mpv.conf` does not exist in `~/.config/mpv/`, create an empty file and follow [**these instructions**](https://wiki.archlinux.org/index.php/Mpv#Configuration) to optimize your configuration. + + 5. If `input.conf` does not exist in `~/.config/mpv/`, create an empty file and paste one of the following code blocks inside the file: + + - Note: Only the Homebrew version are built for Native Apple Silicon. + +---- +**Optimized shaders for lower-end GPU:** +*(Eg. M1, M2)* +*If upscaling to resolutions smaller than 4K, lower end GPUs can be used.* +``` +CTRL+1 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode A (Fast)" +CTRL+2 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode B (Fast)" +CTRL+3 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode C (Fast)" +CTRL+4 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode A+A (Fast)" +CTRL+5 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_S.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode B+B (Fast)" +CTRL+6 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode C+A (Fast)" + +CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared" +``` +____ +#### **Optimized shaders for higher-end GPU:** +(Untested, might still have performance issues at higher resolutions) +*(Eg. M1 Pro, M1 Max, M1 Ultra, M2 Pro, M2 Max)* +*If upscaling to resolutions smaller than 4K, lower end GPUs can be used.* +``` +CTRL+1 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A (HQ)" +CTRL+2 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B (HQ)" +CTRL+3 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C (HQ)" +CTRL+4 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A+A (HQ)" +CTRL+5 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B+B (HQ)" +CTRL+6 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C+A (HQ)" + +CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared" +``` +____ +## Usage Instructions for Anime4K + + 1. Anime4K v4.x has 3 major modes: A, B and C. To enable one of the modes, press CTRL+1 for mode A, CTRL+2 for B and so on. CTRL+0 will clear and disable all the shaders. Each mode is optimized for a different class of anime degradations, explanations are in [Advanced Usage Instructions#modes](GLSL_Instructions_Advanced.md#modes) (soon in the wiki). For now you can just try each mode (starting from A) and use the one that looks the best. + 2. To verify the installation was correctly done, enable one of the Anime4K modes and use the MPV profiler to check if there are a few shaders with the name Anime4K running. To access the profiler, press Shift+I and then 2 on the keyboard's top row. +This is what you should see (this example is from v2.0RC2, but also applies to newer versions): +![Profiler](../results/MPV_Profiler.png?raw=true) + 3. For advanced usage and more customization options, see the [Advanced Usage Instructions](GLSL_Instructions_Advanced.md) page. \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Mac_IINA.md b/shaders/Anime4K/md/GLSL_Instructions_Mac_IINA.md new file mode 100644 index 0000000..ea9495b --- /dev/null +++ b/shaders/Anime4K/md/GLSL_Instructions_Mac_IINA.md @@ -0,0 +1,34 @@ +# Usage Instructions (GLSL / IINA) (v4.x) + +## Installing and Setting Up Anime4K for IINA on Apple Silicon and Intel-based Mac + +The easiest way to use Anime4K with IINA is to follow our `mpv` guide [**here**](GLSL_Instructions_Mac_MPV.md). +- *Note: you may need to create the `mpv` folder, if you did not install mpv.* + +Then follow these steps: + +1. Download the latest release of [IINA](https://iina.io/download/), if you haven't already. + +2. Open IINA and click on `IINA` in the top menu bar. Then click on `Settings...` from the drop-down menu. + + + +3. In the `Settings`>`Advanced` window, click on `Enable advanced settings` and then select `Use config directory: ~/.config/mpv/`. + + + +4. That's it! Anime4K is now ready to use with IINA. + +____ +## Quick Usage Instructions + +1. Anime4K has 3 major modes: A, B, and C. Each mode is optimized for a different class of anime degradations. + - Mode A is automatically enabled, if you use our template (this can be change in `mpv.conf`). + +2. To enable each mode manually: + - Press **CTRL+1** to enable Mode A (Optimized for 1080p Anime). + - Press **CTRL+2** to enable Mode B (Optimized for 720p Anime). + - Press **CTRL+3** to enable Mode C (Optimized for 480p Anime). + - Press **CTRL+0** to clear all shaders (Disable Anime4K). + +3. For more explanations and customization options, see the [Advanced Usage Instructions](GLSL_Instructions_Advanced.md#advanced-usage-instructions-glsl--mpv-v4x). \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Mac_MPV.md b/shaders/Anime4K/md/GLSL_Instructions_Mac_MPV.md new file mode 100644 index 0000000..3d3a742 --- /dev/null +++ b/shaders/Anime4K/md/GLSL_Instructions_Mac_MPV.md @@ -0,0 +1,71 @@ +# Usage Instructions (GLSL / MPV) (v4.x) + +## Installing and Setting Up Anime4K for mpv on Apple Silicon and Intel-based Mac + +*If you wish to use another media player, look at their documentation on how to install GLSL shaders and modify the shader accordingly if needed.* + +1. Install mpv via [Homebrew](https://formulae.brew.sh/formula/mpv) or download the latest release [here](https://laboratory.stolendata.net/~djinn/mpv_osx/mpv-latest.tar.gz). + - **Note:** Only the Homebrew version is built for native Apple Silicon. + -
+ Click Here for Homebrew Installation +
    +
  1. If Homebrew is not installed, follow the instructions at https://brew.sh to install it.
  2. +
  3. Keep the terminal window open and follow the instructions under "Next steps" to add Homebrew to your PATH.
  4. +
  5. Follow the instructions at https://formulae.brew.sh/formula/mpv to install mpv.
  6. +
+
+ +2. Open mpv (this will create the mpv config file location for you). + +3. Download the template files and extract them (open the `.zip` file). + + - **Optimized shaders for lower-end GPU:** + *(Eg. M1, M2, Intel chips)* + - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Mac_Linux_Low-end.zip). + -
+ Or click here to install manually. +
    +
  • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
  • +
  • Then download and extract the shaders from releases and put them in the shaders folder.
  • +
+
+ + - **Optimized shaders for higher-end GPU:** + *(Eg. M1 Pro, M1 Max, M1 Ultra, M2 Pro, M2 Max, Intel chips)* + (Untested, might still have performance issues) + - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Mac_Linux_High-end.zip). + -
+ Or click here to install manually. +
    +
  • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
  • +
  • Then download and extract the shaders from releases and put them in the shaders folder.
  • +
+
+ +4. In the Finder on your Mac, choose `Go` > `Go to Folder...` + + + +5. Paste `~/.config/mpv/` and hit Enter. + + + +6. Move the `input.conf`, `mpv.conf`, and the `shaders` folder into the `mpv` folder. + + + +7. That's it! Anime4K is now installed and ready to use. + +____ +## Quick Usage Instructions + +1. Anime4K has 3 major modes: A, B, and C. Each mode is optimized for a different class of anime degradations. + - Mode A is automatically enabled, if you use our template (this can be change in `mpv.conf`). + +2. To enable each mode manually: + - Press **CTRL+1** to enable Mode A (Optimized for 1080p Anime). + - Press **CTRL+2** to enable Mode B (Optimized for 720p Anime). + - Press **CTRL+3** to enable Mode C (Optimized for 480p Anime). + - Press **CTRL+0** to clear all shaders (Disable Anime4K). + +3. For more explanations and customization options, see the [Advanced Usage Instructions](GLSL_Instructions_Advanced.md#advanced-usage-instructions-glsl--mpv-v4x). \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Mac_Plex.md b/shaders/Anime4K/md/GLSL_Instructions_Mac_Plex.md new file mode 100644 index 0000000..5c17814 --- /dev/null +++ b/shaders/Anime4K/md/GLSL_Instructions_Mac_Plex.md @@ -0,0 +1,63 @@ +# Usage Instructions (GLSL / PLEX) (v4.x) + +## Installing and Setting Up Anime4K for Plex on Apple Silicon and Intel-Based Mac + +1. Download `Plex for Mac` or `Plex HTPC (for macOS Home Theater PCs)` from [**here**](https://www.plex.tv/media-server-downloads/#plex-app). + - *Note: Only the desktop version of the app supports GLSL shaders.* + +2. Open `Plex` or `Plex HTPC` (this will create the Application Support location for you). + +3. Download the template files and extract them (open the .zip file). + + - **Optimized shaders for lower-end GPU:** + *(Eg. M1, M2, Intel chips)* + - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Mac_Linux_Low-end.zip). + -
+ Or click here to install manually. +
    +
  • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
  • +
  • Then download and extract the shaders from releases and put them in the shaders folder.
  • +
+
+ + - **Optimized shaders for higher-end GPU:** + *(Eg. M1 Pro, M1 Max, M1 Ultra, M2 Pro, M2 Max, Intel chips)* + (Untested, might still have performance issues) + - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Mac_Linux_High-end.zip). + -
+ Or click here to install manually. +
    +
  • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
  • +
  • Then download and extract the shaders from releases and put them in the shaders folder.
  • +
+
+ +4. In the Finder on your Mac, choose `Go` > `Go to Folder...` + + + +5. Paste `~/Library/Application Support/Plex/` or `~/Library/Application Support/Plex HTPC/` and hit Enter. + +
+ + +6. Move the `input.conf`, `mpv.conf`, and the `shaders` folder into the `Plex` or `Plex HTPC` folder. + +
+ + +7. That's it! Anime4K is now installed and ready to use. + +____ +## Quick Usage Instructions + +1. Anime4K has 3 major modes: A, B, and C. Each mode is optimized for a different class of anime degradations. + - Mode A is automatically enabled, if you use our template (this can be change in `mpv.conf`). + +2. To enable each mode manually: + - Press **CTRL+1** to enable Mode A (Optimized for 1080p Anime). + - Press **CTRL+2** to enable Mode B (Optimized for 720p Anime). + - Press **CTRL+3** to enable Mode C (Optimized for 480p Anime). + - Press **CTRL+0** to clear all shaders (Disable Anime4K). + +3. For more explanations and customization options, see the [Advanced Usage Instructions](GLSL_Instructions_Advanced.md#advanced-usage-instructions-glsl--mpv-v4x). \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Plex.md b/shaders/Anime4K/md/GLSL_Instructions_Plex.md new file mode 100644 index 0000000..9c34899 --- /dev/null +++ b/shaders/Anime4K/md/GLSL_Instructions_Plex.md @@ -0,0 +1,20 @@ +# Usage Instructions (GLSL / PLEX MPV) (v4.x) + +## Installing and setting up Anime4K for Plex Media Player/Plex HTPC + + 1. Install Plex Media Player or Plex HTPC from [**here**](https://www.plex.tv/media-server-downloads/#plex-app) + + 2. Download the .glsl shader files [**here**](https://github.com/bloc97/Anime4K/releases) + + 3. Copy the .glsl files to `~/Library/Application Support/Plex/shaders` or `~/Library/Application Support/Plex HTPC/shaders` for Mac and `%LOCALAPPDATA%\Plex\shaders` or `%LOCALAPPDATA%\Plex HTPC\shaders` for Windows. + + 4. (Optional) If `mpv.conf` does not exist in `~/Library/Application Support/Plex/`, `~/Library/Application Support/Plex HTPC/`, `%LOCALAPPDATA%\Plex\`, or `%LOCALAPPDATA%\Plex HTPC\`, create an empty file and follow [**these instructions**](https://wiki.archlinux.org/index.php/Mpv#Configuration) to optimize your configuration. + + 5. If `input.conf` does not exist in `~/Library/Application Support/Plex/`, `~/Library/Application Support/Plex HTPC/`, `%LOCALAPPDATA%\Plex\`, or `%LOCALAPPDATA%\Plex HTPC\`, create an empty file and paste one of the following code blocks inside the file: + + - Note: Only works on the desktop version of the app. + +---- +## Follow Device Specific Installation + + - Installation Instructions can be found [**here**](https://github.com/bloc97/Anime4K#installation-instructions) \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Windows_MPV.md b/shaders/Anime4K/md/GLSL_Instructions_Windows_MPV.md new file mode 100644 index 0000000..f9df9fa --- /dev/null +++ b/shaders/Anime4K/md/GLSL_Instructions_Windows_MPV.md @@ -0,0 +1,56 @@ +# Usage Instructions (GLSL / MPV) (v4.x) + +## Installing and Setting Up Anime4K for mpv on Windows +*If you wish to use another media player, look at their documentation on how to install GLSL shaders and modify the shader accordingly if needed.* + + 1. Download the latest release of mpv [**here**](https://sourceforge.net/projects/mpv-player-windows/files/latest/download). + + 2. Open mpv (this will create the mpv config file location for you). + + 3. Download the template files, and extract it (open the .zip file). + + - **Optimized shaders for lower-end GPU:** + *(Eg. GTX 980, GTX 1060, RX 570)* + - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Windows_Low-end.zip). + -
+ Or click here to install manually. +
    +
  • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
  • +
  • Then download and extract the shaders from releases and put them in the shaders folder.
  • +
+
+ + - **Optimized shaders for higher-end GPU:** + *(Eg. GTX 1080, RTX 2070, RTX 3060, RX 590, Vega 56, 5700XT, 6600XT)* + - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Windows_High-end.zip). + -
+ Or click here to install manually. +
    +
  • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
  • +
  • Then download and extract the shaders from releases and put them in the shaders folder.
  • +
+
+ + 4. Open File Explorer and type in `%APPDATA%/mpv`, then hit Enter. + + + + 5. Move the `input.conf`, `mpv.conf` and the `shaders` folder into the `mpv` folder. + + + + 6. That's it, Anime4K is now installed and ready to use! + +____ +## Quick Usage Instructions + +1. Anime4K has 3 major modes: A, B, and C. Each mode is optimized for a different class of anime degradations. + - Mode A is automatically enabled, if you use our template (this can be change in `mpv.conf`). + +2. To enable each mode manually: + - Press **CTRL+1** to enable Mode A (Optimized for 1080p Anime). + - Press **CTRL+2** to enable Mode B (Optimized for 720p Anime). + - Press **CTRL+3** to enable Mode C (Optimized for 480p Anime). + - Press **CTRL+0** to clear all shaders (Disable Anime4K). + +3. For more explanations and customization options, see the [Advanced Usage Instructions](GLSL_Instructions_Advanced.md#advanced-usage-instructions-glsl--mpv-v4x). \ No newline at end of file diff --git a/shaders/Anime4K/md/GLSL_Instructions_Windows_Plex.md b/shaders/Anime4K/md/GLSL_Instructions_Windows_Plex.md new file mode 100644 index 0000000..739fde3 --- /dev/null +++ b/shaders/Anime4K/md/GLSL_Instructions_Windows_Plex.md @@ -0,0 +1,58 @@ +# Usage Instructions (GLSL / PLEX) (v4.x) + +## Installing and Setting Up Anime4K for Plex on Windows + + 1. Download `Plex for Windows` or `Plex HTPC (for Windows Home Theater PCs)` from [**here**](https://www.plex.tv/media-server-downloads/#plex-app). + - *Note: Only the desktop version of the app supports GLSL shaders.* + + 2. Open `Plex` or `Plex HTPC` (this will create the config location for you). + + 3. Download the template files, and extract it (open the .zip file). + + - **Optimized shaders for lower-end GPU:** + *(Eg. GTX 980, GTX 1060, RX 570)* + - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Windows_Low-end.zip). + -
+ Or click here to install manually. +
    +
  • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
  • +
  • Then download and extract the shaders from releases and put them in the shaders folder.
  • +
+
+ + - **Optimized shaders for higher-end GPU:** + *(Eg. GTX 1080, RTX 2070, RTX 3060, RX 590, Vega 56, 5700XT, 6600XT)* + - Download the template files [here](https://github.com/Tama47/Anime4K/releases/download/v4.0.1/GLSL_Windows_High-end.zip). + -
+ Or click here to install manually. +
    +
  • Copy & Paste the code from input.conf and mpv.conf in your input.conf and mpv.conf file.
  • +
  • Then download and extract the shaders from releases and put them in the shaders folder.
  • +
+
+ + 4. Open File Explorer and type in `%LOCALAPPDATA%\Plex` or `%LOCALAPPDATA%\Plex HTPC`, then hit Enter. + + + + + 5. Move the `input.conf`, `mpv.conf` and the `shaders` folder into the into the `Plex` or `Plex HTPC` folder. + + + + + 6. That's it, Anime4K is now installed and ready to use! + +____ +## Quick Usage Instructions + +1. Anime4K has 3 major modes: A, B, and C. Each mode is optimized for a different class of anime degradations. + - Mode A is automatically enabled, if you use our template (this can be change in `mpv.conf`). + +2. To enable each mode manually: + - Press **CTRL+1** to enable Mode A (Optimized for 1080p Anime). + - Press **CTRL+2** to enable Mode B (Optimized for 720p Anime). + - Press **CTRL+3** to enable Mode C (Optimized for 480p Anime). + - Press **CTRL+0** to clear all shaders (Disable Anime4K). + +3. For more explanations and customization options, see the [Advanced Usage Instructions](GLSL_Instructions_Advanced.md#advanced-usage-instructions-glsl--mpv-v4x). \ No newline at end of file diff --git a/shaders/igv/FSRCNNX_x1_16-0-4-1_distort.glsl b/shaders/igv/FSRCNNX_x1_16-0-4-1_distort.glsl new file mode 100644 index 0000000..a6cb0dd --- /dev/null +++ b/shaders/igv/FSRCNNX_x1_16-0-4-1_distort.glsl @@ -0,0 +1,1092 @@ +//!HOOK LUMA +//!DESC FSRCNNX Feature Map 1 +//!BIND LUMA +//!SAVE FEATURE1 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0025971170980483,-0.0215829610824585,-0.0411043874919415,0.0129693904891610); +res += vec4(0.0989467129111290,-0.0413746125996113,-0.0146220456808805,0.0092109516263008) * float(LUMA_texOff(vec2(-2,-2))); +res += vec4(-0.0035295209381729,0.0406344234943390,-0.0165663789957762,0.0093299243599176) * float(LUMA_texOff(vec2(-2,-1))); +res += vec4(0.0925255119800568,-0.0259545017033815,0.0180672295391560,-0.0716139003634453) * float(LUMA_texOff(vec2(-2,0))); +res += vec4(-0.1446163505315781,0.0561999306082726,-0.1076377704739571,-0.0332930274307728) * float(LUMA_texOff(vec2(-2,1))); +res += vec4(0.0325273759663105,0.0262998212128878,0.0200947038829327,0.1315398961305618) * float(LUMA_texOff(vec2(-2,2))); +res += vec4(-0.1577294766902924,0.0141245359554887,-0.0085542099550366,0.0390752702951431) * float(LUMA_texOff(vec2(-1,-2))); +res += vec4(-0.0135573437437415,0.1273673027753830,0.0050468663685024,0.0164658203721046) * float(LUMA_texOff(vec2(-1,-1))); +res += vec4(0.1153265833854675,0.0112900352105498,0.1634856611490250,0.3111087381839752) * float(LUMA_texOff(vec2(-1,0))); +res += vec4(-0.1241053119301796,-0.0867973864078522,-0.0111045241355896,0.1415592283010483) * float(LUMA_texOff(vec2(-1,1))); +res += vec4(0.0086459759622812,-0.0841795578598976,-0.0680958554148674,-0.0063316272571683) * float(LUMA_texOff(vec2(-1,2))); +res += vec4(0.0058857277035713,-0.0624289102852345,-0.0389500781893730,-0.0748874545097351) * float(LUMA_texOff(vec2(0,-2))); +res += vec4(-0.0161655806005001,0.1313955336809158,-0.0443832427263260,0.0717457532882690) * float(LUMA_texOff(vec2(0,-1))); +res += vec4(0.1777327954769135,0.1921539157629013,0.2999162673950195,-0.0616498105227947) * float(LUMA_texOff(vec2(0,0))); +res += vec4(0.0143784778192639,0.0951635092496872,0.1933527141809464,0.1563637554645538) * float(LUMA_texOff(vec2(0,1))); +res += vec4(0.0581390745937824,-0.0060035865753889,-0.0086444308981299,0.0047579077072442) * float(LUMA_texOff(vec2(0,2))); +res += vec4(-0.0104378070682287,-0.0337097756564617,-0.0042490712366998,0.0460550934076309) * float(LUMA_texOff(vec2(1,-2))); +res += vec4(0.0081567149609327,0.0160932801663876,-0.0623341910541058,-0.2104443460702896) * float(LUMA_texOff(vec2(1,-1))); +res += vec4(-0.0221602637320757,-0.0601410418748856,0.2114782631397247,-0.2529057264328003) * float(LUMA_texOff(vec2(1,0))); +res += vec4(0.0408284738659859,-0.0011493996717036,0.0836366340517998,0.0654098913073540) * float(LUMA_texOff(vec2(1,1))); +res += vec4(0.0282100439071655,-0.0509151928126812,0.0613182522356510,0.0068052080459893) * float(LUMA_texOff(vec2(1,2))); +res += vec4(0.0395444706082344,0.0358335301280022,-0.0635658577084541,-0.0146130761131644) * float(LUMA_texOff(vec2(2,-2))); +res += vec4(-0.0221461374312639,0.0181513447314501,-0.0893799886107445,-0.0542303919792175) * float(LUMA_texOff(vec2(2,-1))); +res += vec4(-0.0547513179481030,-0.0182092953473330,-0.0167240519076586,-0.1604546159505844) * float(LUMA_texOff(vec2(2,0))); +res += vec4(-0.1264881938695908,-0.0016346558695659,0.0430360883474350,-0.0247804746031761) * float(LUMA_texOff(vec2(2,1))); +res += vec4(0.0450324788689613,0.0581717193126678,-0.0493452697992325,-0.0504554212093353) * float(LUMA_texOff(vec2(2,2))); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Feature Map 2 +//!BIND LUMA +//!SAVE FEATURE2 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0143933594226837,-0.0081292800605297,-0.0030097288545221,-0.0665724128484726); +res += vec4(-0.0350343063473701,0.0350913181900978,0.0862483903765678,-0.0993502736091614) * float(LUMA_texOff(vec2(-2,-2))); +res += vec4(0.0233530644327402,0.0011448960285634,0.0370058752596378,-0.0047694756649435) * float(LUMA_texOff(vec2(-2,-1))); +res += vec4(-0.0314770117402077,-0.0211456697434187,-0.2116574496030807,-0.0272717289626598) * float(LUMA_texOff(vec2(-2,0))); +res += vec4(0.0277953725308180,-0.0543184988200665,-0.0754653662443161,0.0257821138948202) * float(LUMA_texOff(vec2(-2,1))); +res += vec4(-0.0464140586555004,0.0502472557127476,0.0335191562771797,-0.0340603142976761) * float(LUMA_texOff(vec2(-2,2))); +res += vec4(0.1032210215926170,-0.0299313683062792,0.0433807261288166,-0.0234887357801199) * float(LUMA_texOff(vec2(-1,-2))); +res += vec4(0.1161684319376945,-0.0501435883343220,0.1404739320278168,0.0424131564795971) * float(LUMA_texOff(vec2(-1,-1))); +res += vec4(-0.1257949918508530,-0.0249030739068985,0.0095651838928461,0.1549178361892700) * float(LUMA_texOff(vec2(-1,0))); +res += vec4(-0.1052827462553978,-0.0646157860755920,-0.1171221211552620,0.0352037772536278) * float(LUMA_texOff(vec2(-1,1))); +res += vec4(-0.0748599693179131,-0.0823613703250885,0.0438997894525528,0.0514220818877220) * float(LUMA_texOff(vec2(-1,2))); +res += vec4(-0.0782524794340134,-0.0027338848449290,0.0250223558396101,-0.0439854301512241) * float(LUMA_texOff(vec2(0,-2))); +res += vec4(-0.0747333094477654,-0.1173505932092667,0.1629889905452728,0.1623241305351257) * float(LUMA_texOff(vec2(0,-1))); +res += vec4(-0.2947345674037933,0.5300401449203491,0.2784506678581238,0.1415692418813705) * float(LUMA_texOff(vec2(0,0))); +res += vec4(0.0145873669534922,0.1911269873380661,-0.0579423420131207,0.0407358221709728) * float(LUMA_texOff(vec2(0,1))); +res += vec4(0.2491107285022736,-0.0507930032908916,-0.0091749802231789,0.0995470285415649) * float(LUMA_texOff(vec2(0,2))); +res += vec4(-0.0917087271809578,-0.0724668130278587,0.0331873260438442,-0.0243818424642086) * float(LUMA_texOff(vec2(1,-2))); +res += vec4(-0.0705142542719841,-0.0871952846646309,-0.2248291969299316,0.0082026440650225) * float(LUMA_texOff(vec2(1,-1))); +res += vec4(-0.0802793279290199,0.0542511716485023,-0.0762867927551270,0.0860662907361984) * float(LUMA_texOff(vec2(1,0))); +res += vec4(0.2518112659454346,-0.0964703336358070,-0.1614536345005035,-0.0164192952215672) * float(LUMA_texOff(vec2(1,1))); +res += vec4(0.1406333893537521,-0.0455790087580681,0.0509895011782646,-0.0093303546309471) * float(LUMA_texOff(vec2(1,2))); +res += vec4(0.0244341790676117,0.0238304305821657,0.1063691750168800,-0.0932450890541077) * float(LUMA_texOff(vec2(2,-2))); +res += vec4(0.0302878022193909,-0.0363584868609905,-0.1157607957720757,0.0261257458478212) * float(LUMA_texOff(vec2(2,-1))); +res += vec4(0.0166365820914507,-0.0303704030811787,-0.0689763352274895,-0.0118559403344989) * float(LUMA_texOff(vec2(2,0))); +res += vec4(0.1194983571767807,-0.0837490707635880,0.0134807480499148,0.0581921562552452) * float(LUMA_texOff(vec2(2,1))); +res += vec4(0.0038160248659551,0.0866335034370422,0.0493469201028347,-0.0040219388902187) * float(LUMA_texOff(vec2(2,2))); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Feature Map 3 +//!BIND LUMA +//!SAVE FEATURE3 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0018072151578963,0.0491338782012463,-0.0082521047443151,0.0006553701241501); +res += vec4(0.0333403609693050,0.0213700644671917,0.0309157744050026,0.0502681806683540) * float(LUMA_texOff(vec2(-2,-2))); +res += vec4(0.0873650759458542,0.1026774346828461,0.0105969393625855,-0.1902306973934174) * float(LUMA_texOff(vec2(-2,-1))); +res += vec4(-0.0116390902549028,-0.0467259846627712,-0.0435076169669628,0.0654145106673241) * float(LUMA_texOff(vec2(-2,0))); +res += vec4(-0.1071937978267670,-0.0825314819812775,-0.0461540780961514,0.0330122113227844) * float(LUMA_texOff(vec2(-2,1))); +res += vec4(-0.0329643189907074,-0.0115923248231411,0.1241549849510193,-0.1250779479742050) * float(LUMA_texOff(vec2(-2,2))); +res += vec4(-0.1270750463008881,-0.0051372162997723,-0.0228755269199610,-0.0956887602806091) * float(LUMA_texOff(vec2(-1,-2))); +res += vec4(0.2381764799356461,0.0353930778801441,-0.1435444951057434,0.0000626123073744) * float(LUMA_texOff(vec2(-1,-1))); +res += vec4(0.0021149714011699,-0.0886575952172279,-0.0157655719667673,0.0901051834225655) * float(LUMA_texOff(vec2(-1,0))); +res += vec4(-0.0569637194275856,-0.0273674763739109,0.0139584625139832,0.1538003236055374) * float(LUMA_texOff(vec2(-1,1))); +res += vec4(-0.0507475025951862,0.0706939697265625,0.0336530767381191,0.1639588028192520) * float(LUMA_texOff(vec2(-1,2))); +res += vec4(0.0433743074536324,-0.1246475577354431,-0.1298237144947052,-0.0902665257453918) * float(LUMA_texOff(vec2(0,-2))); +res += vec4(0.0972251594066620,-0.2087253928184509,0.0569925457239151,0.0595922805368900) * float(LUMA_texOff(vec2(0,-1))); +res += vec4(-0.1212919354438782,-0.2849492132663727,0.1335213929414749,0.1062619686126709) * float(LUMA_texOff(vec2(0,0))); +res += vec4(0.1308198869228363,-0.0720375552773476,-0.1406184136867523,-0.0529341399669647) * float(LUMA_texOff(vec2(0,1))); +res += vec4(-0.0137408506125212,-0.0504316277801991,-0.0427691712975502,0.0387206040322781) * float(LUMA_texOff(vec2(0,2))); +res += vec4(-0.0747085064649582,-0.0548529252409935,-0.1122629269957542,-0.0526414476335049) * float(LUMA_texOff(vec2(1,-2))); +res += vec4(-0.0946580097079277,0.0387770310044289,0.0413406044244766,-0.0134162940084934) * float(LUMA_texOff(vec2(1,-1))); +res += vec4(-0.0951367020606995,-0.0312327891588211,0.2094471752643585,-0.0703339353203773) * float(LUMA_texOff(vec2(1,0))); +res += vec4(0.2135278582572937,-0.0255431160330772,0.0691464617848396,-0.0722509101033211) * float(LUMA_texOff(vec2(1,1))); +res += vec4(-0.0006715832860209,0.0306324698030949,0.0103468149900436,-0.0241966098546982) * float(LUMA_texOff(vec2(1,2))); +res += vec4(-0.0387962087988853,-0.0874488875269890,-0.0049804211594164,0.0110954307019711) * float(LUMA_texOff(vec2(2,-2))); +res += vec4(0.0753385052084923,-0.0596081875264645,0.0253801941871643,0.0416100472211838) * float(LUMA_texOff(vec2(2,-1))); +res += vec4(0.0978832393884659,0.0072123543359339,-0.0807178542017937,0.0564857162535191) * float(LUMA_texOff(vec2(2,0))); +res += vec4(-0.0820253267884254,0.0987264215946198,-0.0249023567885160,-0.0420401506125927) * float(LUMA_texOff(vec2(2,1))); +res += vec4(-0.0938090234994888,0.0141112701967359,0.0770841166377068,-0.0313353054225445) * float(LUMA_texOff(vec2(2,2))); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Feature Map 4 +//!BIND LUMA +//!SAVE FEATURE4 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0520464666187763,0.0125974677503109,-0.0507145300507545,0.0046781064011157); +res += vec4(0.0685555785894394,-0.0203769262880087,0.0233370885252953,-0.0185483340173960) * float(LUMA_texOff(vec2(-2,-2))); +res += vec4(-0.0226354412734509,-0.0073053925298154,0.0202390439808369,-0.0609752722084522) * float(LUMA_texOff(vec2(-2,-1))); +res += vec4(0.0376507528126240,0.0761573389172554,0.0357471928000450,-0.0152297085151076) * float(LUMA_texOff(vec2(-2,0))); +res += vec4(-0.1560160368680954,-0.0026573494542390,0.0541298985481262,-0.0535302869975567) * float(LUMA_texOff(vec2(-2,1))); +res += vec4(0.0106569537892938,-0.0061765392310917,-0.0374934412539005,-0.0648096203804016) * float(LUMA_texOff(vec2(-2,2))); +res += vec4(-0.0886963158845901,-0.1357769072055817,-0.0540469922125340,-0.1005358770489693) * float(LUMA_texOff(vec2(-1,-2))); +res += vec4(0.0276611223816872,0.0969700068235397,0.0942230746150017,-0.0367920361459255) * float(LUMA_texOff(vec2(-1,-1))); +res += vec4(0.1169507056474686,-0.0289295203983784,0.0238007064908743,-0.0890810340642929) * float(LUMA_texOff(vec2(-1,0))); +res += vec4(-0.0432637259364128,-0.0172048956155777,0.1170326396822929,-0.1344957649707794) * float(LUMA_texOff(vec2(-1,1))); +res += vec4(0.0230145547538996,-0.0169336907565594,-0.0093350214883685,-0.0763307139277458) * float(LUMA_texOff(vec2(-1,2))); +res += vec4(-0.0195111297070980,-0.0635469183325768,-0.1171921119093895,0.0602493360638618) * float(LUMA_texOff(vec2(0,-2))); +res += vec4(0.0519569478929043,-0.0856370925903320,0.0877816677093506,-0.0882325619459152) * float(LUMA_texOff(vec2(0,-1))); +res += vec4(0.1653991043567657,-0.1087152361869812,0.3008157908916473,-0.0250371992588043) * float(LUMA_texOff(vec2(0,0))); +res += vec4(0.0318718850612640,0.0015038193669170,0.1689826846122742,0.1231461092829704) * float(LUMA_texOff(vec2(0,1))); +res += vec4(0.0567268580198288,0.0705126971006393,0.1080416217446327,-0.0410425886511803) * float(LUMA_texOff(vec2(0,2))); +res += vec4(-0.0021940891165286,0.0254173707216978,0.0113133322447538,0.0723522305488586) * float(LUMA_texOff(vec2(1,-2))); +res += vec4(0.1068250462412834,-0.0707226991653442,0.0428042262792587,-0.0740123763680458) * float(LUMA_texOff(vec2(1,-1))); +res += vec4(0.1705047786235809,-0.1365097314119339,-0.0118973338976502,-0.0528226457536221) * float(LUMA_texOff(vec2(1,0))); +res += vec4(0.0470767877995968,-0.0924091339111328,0.0369555540382862,0.2677213549613953) * float(LUMA_texOff(vec2(1,1))); +res += vec4(-0.0502679385244846,0.0312211140990257,-0.1522612273693085,0.0129846706986427) * float(LUMA_texOff(vec2(1,2))); +res += vec4(-0.0356723926961422,0.0036633994895965,-0.0525643602013588,-0.0028790428768843) * float(LUMA_texOff(vec2(2,-2))); +res += vec4(0.0191187895834446,0.0394226424396038,0.0414629392325878,0.1013835370540619) * float(LUMA_texOff(vec2(2,-1))); +res += vec4(0.0652029290795326,-0.0999809131026268,0.0133103597909212,0.0514308586716652) * float(LUMA_texOff(vec2(2,0))); +res += vec4(-0.0297415442764759,-0.0812498480081558,0.0513987094163895,0.2255281656980515) * float(LUMA_texOff(vec2(2,1))); +res += vec4(0.0356137752532959,0.1276825070381165,0.0572695098817348,0.0075540360994637) * float(LUMA_texOff(vec2(2,2))); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Mapping 1_1 +//!BIND FEATURE1 +//!BIND FEATURE2 +//!BIND FEATURE3 +//!BIND FEATURE4 +//!SAVE MODEL21 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0503555759787560,0.0303598046302795,-0.0657042488455772,-0.0771356746554375); +res += mat4(0.1160435676574707,-0.0049179038032889,0.1855519562959671,-0.1475429683923721,-0.0501681193709373,0.0736974030733109,0.0105200679972768,0.2096585631370544,0.0125335585325956,-0.0705717280507088,-0.1251555681228638,0.1607755720615387,0.0246710386127234,0.0954001173377037,-0.1113015785813332,-0.1140452772378922) * FEATURE1_texOff(vec2(-1,-1)); +res += mat4(-0.1922372728586197,0.0898703113198280,0.0227270089089870,-0.0695927962660789,0.0250462982803583,-0.0073945284821093,0.0125805102288723,0.0623067393898964,0.0100971739739180,0.0629470124840736,0.1536217629909515,0.0914481878280640,0.1322691738605499,0.1049630120396614,0.0526956804096699,0.0480460077524185) * FEATURE2_texOff(vec2(-1,-1)); +res += mat4(0.1384125351905823,-0.1790771931409836,-0.1346337050199509,-0.2170289605855942,-0.0705992653965950,0.1713097095489502,0.1837186962366104,-0.0881880596280098,-0.0355531387031078,-0.1435846984386444,-0.1049171313643456,0.0253566317260265,0.0637354701757431,-0.0927784815430641,-0.1804420202970505,-0.2736377120018005) * FEATURE3_texOff(vec2(-1,-1)); +res += mat4(0.0903364717960358,-0.0476174913346767,0.0461277887225151,0.1907972991466522,-0.2329269498586655,0.1053408533334732,0.0026884421240538,0.0802256539463997,-0.0940195992588997,-0.1070972532033920,0.1103037372231483,0.0717555284500122,0.0354485660791397,0.0915931835770607,0.0811446011066437,-0.1415577828884125) * FEATURE4_texOff(vec2(-1,-1)); +res += mat4(-0.0388386175036430,-0.0802458524703979,0.2034526765346527,0.0370132699608803,-0.0519889928400517,-0.1293371617794037,0.2287368774414062,0.0227595642209053,0.0490928031504154,-0.2398396134376526,-0.0608254075050354,0.2110295444726944,-0.0675281584262848,-0.2473463565111160,0.2229262292385101,-0.3165209591388702) * FEATURE1_texOff(vec2(-1,0)); +res += mat4(0.0537310875952244,0.2870031893253326,0.0858415961265564,-0.1534553319215775,-0.2854263484477997,-0.4287289083003998,-0.0063996603712440,-0.0032172766514122,-0.0607171468436718,-0.0840987041592598,0.1111255437135696,-0.0770047679543495,0.0482432730495930,-0.1157029569149017,0.1225282028317451,0.0084303254261613) * FEATURE2_texOff(vec2(-1,0)); +res += mat4(-0.1363738179206848,0.0805477872490883,0.2775384485721588,0.0373451188206673,-0.1529832631349564,0.1233037263154984,0.1076830700039864,-0.0874861776828766,-0.0008040553657338,0.0845725238323212,-0.3279358446598053,0.1958185136318207,0.1467371731996536,-0.1478924006223679,-0.1284721493721008,0.0811491608619690) * FEATURE3_texOff(vec2(-1,0)); +res += mat4(0.1753587573766708,-0.0738964527845383,0.0892613902688026,0.0259840693324804,-0.1591507345438004,0.1221183761954308,-0.0707274451851845,0.0521883070468903,0.0157650113105774,-0.0192293357104063,-0.0975531414151192,-0.0092327548190951,-0.0272297523915768,0.1983992457389832,0.1414963155984879,-0.4134076535701752) * FEATURE4_texOff(vec2(-1,0)); +res += mat4(-0.1362216025590897,-0.2620842456817627,-0.0140794822946191,-0.0769502520561218,-0.2010777741670609,-0.2342363148927689,0.0082941437140107,0.2083670347929001,0.1107935830950737,-0.0740074366331100,-0.0998068451881409,-0.0333623252809048,0.0620059035718441,-0.0173431914299726,0.1012791767716408,-0.1357958465814590) * FEATURE1_texOff(vec2(-1,1)); +res += mat4(-0.0699124932289124,0.1825043708086014,0.0012031628284603,0.0194819588214159,-0.0734465494751930,-0.3253107368946075,-0.1141470372676849,-0.0380997583270073,-0.1196675151586533,-0.3592743575572968,0.0786543712019920,0.0796145275235176,-0.0725382119417191,-0.1486800462007523,-0.1469386219978333,0.1238009855151176) * FEATURE2_texOff(vec2(-1,1)); +res += mat4(0.1821363866329193,-0.1469623893499374,0.0597838200628757,0.0653721615672112,-0.1186514273285866,0.1577217280864716,-0.1532298624515533,-0.1603965610265732,-0.0596009716391563,0.0604715757071972,0.0051172398962080,-0.0815556049346924,0.0282363314181566,-0.0392373055219650,-0.1427731513977051,-0.0268863718956709) * FEATURE3_texOff(vec2(-1,1)); +res += mat4(0.0478098057210445,0.0810605064034462,-0.1460444331169128,0.1155022308230400,0.0654920563101768,0.0660660490393639,0.0236469134688377,0.0365941710770130,-0.0583055429160595,-0.0737425759434700,0.1311435401439667,-0.0516447685658932,0.0744175389409065,0.0418468303978443,0.0319736562669277,-0.0872360020875931) * FEATURE4_texOff(vec2(-1,1)); +res += mat4(0.0706465914845467,0.1088495627045631,-0.0651824027299881,0.1461891680955887,0.0157279800623655,-0.0740921348333359,0.1278917193412781,-0.2265724539756775,0.1893098801374435,0.1311616599559784,0.0086050033569336,0.0934718325734138,0.2034988701343536,-0.0599625334143639,-0.0539983995258808,0.0859484001994133) * FEATURE1_texOff(vec2(0,-1)); +res += mat4(0.1068608760833740,0.2110199481248856,-0.0283788200467825,-0.0457757003605366,0.1260124742984772,-0.1044618859887123,-0.2312175780534744,0.0346726588904858,-0.1235258802771568,-0.0988628044724464,-0.1731162816286087,-0.0254368260502815,-0.1485952138900757,-0.0810124203562737,0.1220237389206886,0.0547734722495079) * FEATURE2_texOff(vec2(0,-1)); +res += mat4(0.0013985362602398,0.0458273254334927,-0.1346677392721176,-0.1878241002559662,0.1547261476516724,-0.1350701302289963,-0.0000093258431662,-0.2429118603467941,-0.1638700366020203,-0.0119662396609783,0.0082146851345897,0.2720519304275513,-0.0139213697984815,-0.1543285548686981,-0.2627746164798737,0.1603146493434906) * FEATURE3_texOff(vec2(0,-1)); +res += mat4(-0.0670706257224083,0.1109501793980598,0.1345307081937790,-0.1101162135601044,-0.2013223022222519,-0.0140966242179275,-0.1033565700054169,-0.0267634820193052,0.0606377981603146,0.2259434759616852,-0.1497890502214432,-0.0107782175764441,0.1666231453418732,0.1427286863327026,-0.0686426833271980,0.0930539891123772) * FEATURE4_texOff(vec2(0,-1)); +res += mat4(0.1796004474163055,0.1160809770226479,-0.1478360593318939,0.0723948627710342,0.1909601241350174,0.3497222065925598,-0.0074988408014178,0.1498439013957977,0.1662287861108780,0.0779021903872490,-0.0837929695844650,0.0517638400197029,0.1641127318143845,-0.3095436692237854,0.0288959573954344,0.2246621698141098) * FEATURE1_texOff(vec2(0,0)); +res += mat4(0.1196683049201965,-0.0086172763258219,0.2849481701850891,-0.1596628129482269,0.1801212131977081,0.2259572595357895,-0.5293430089950562,0.0894122347235680,0.3482203781604767,0.1623213738203049,-0.2648057937622070,-0.0621943585574627,-0.0480040088295937,0.2163351327180862,-0.1432279795408249,-0.0859438255429268) * FEATURE2_texOff(vec2(0,0)); +res += mat4(0.0387012846767902,0.3089403808116913,0.0069741136394441,0.0026227189227939,-0.1608703881502151,-0.2126932442188263,0.2423585504293442,0.1661804914474487,-0.1248276084661484,0.1660082191228867,-0.2618545293807983,-0.2832368612289429,0.0866315215826035,-0.0503511242568493,-0.1949938833713531,0.1426640897989273) * FEATURE3_texOff(vec2(0,0)); +res += mat4(-0.0153577877208591,0.1483921110630035,-0.2703622579574585,-0.1511039137840271,0.1499738693237305,-0.2399715632200241,0.0105771934613585,0.4669431149959564,0.0400105379521847,-0.1329470574855804,-0.1305427253246307,-0.1242252588272095,0.2953074276447296,0.2989415824413300,-0.0530610345304012,-0.1516654640436172) * FEATURE4_texOff(vec2(0,0)); +res += mat4(0.0155062321573496,0.2342720180749893,0.1067438200116158,-0.0423244312405586,0.1888591647148132,-0.0880109816789627,-0.1207648441195488,0.0531457923352718,-0.3013238310813904,0.0807493701577187,0.1257109045982361,0.1737883090972900,-0.1289293915033340,-0.0908737629652023,-0.2754836678504944,0.1286540627479553) * FEATURE1_texOff(vec2(0,1)); +res += mat4(-0.0096628572791815,-0.1155284941196442,-0.1133549436926842,0.0521990172564983,-0.0498253926634789,0.1416328102350235,0.0036267242394388,-0.1077604293823242,-0.0267271101474762,-0.2181926071643829,-0.0510493405163288,0.1046040952205658,-0.0142368022352457,-0.2590536177158356,0.1147095561027527,0.0499906279146671) * FEATURE2_texOff(vec2(0,1)); +res += mat4(0.2034591138362885,-0.2983148992061615,-0.0594304539263248,-0.0235124472528696,0.0915906205773354,-0.0480257235467434,-0.0698579102754593,0.1239125281572342,-0.0654961019754410,-0.0557699799537659,0.2104779481887817,-0.3481267690658569,0.0047143548727036,-0.1768331080675125,-0.1703953444957733,0.2316187173128128) * FEATURE3_texOff(vec2(0,1)); +res += mat4(-0.1184754148125648,0.1114161610603333,0.0962374061346054,-0.0709799751639366,-0.1912318170070648,-0.1796524524688721,-0.3328890800476074,0.1443070322275162,-0.2205639481544495,0.1096208393573761,-0.0662463679909706,-0.1673122495412827,0.0933241024613380,-0.0061222771182656,-0.1561807543039322,-0.1447545289993286) * FEATURE4_texOff(vec2(0,1)); +res += mat4(-0.0068289577029645,-0.1111114844679832,0.0529408827424049,0.1482223719358444,-0.1162871941924095,0.0937480404973030,0.1845793575048447,-0.0445831492543221,0.1667641997337341,-0.1499426960945129,-0.0933097973465919,-0.0453773662447929,-0.0576104968786240,0.1718860864639282,0.0345073156058788,-0.1256553232669830) * FEATURE1_texOff(vec2(1,-1)); +res += mat4(-0.1862856149673462,0.0676053464412689,0.0299968998879194,0.0864901244640350,-0.0139078078791499,-0.1177246794104576,-0.1591068655252457,0.0127951884642243,0.0186533704400063,-0.0762167721986771,-0.2775247097015381,0.2426291257143021,-0.0498365387320518,0.0581758208572865,-0.1306819468736649,-0.0327375046908855) * FEATURE2_texOff(vec2(1,-1)); +res += mat4(-0.0094955945387483,-0.0373231992125511,-0.0866038724780083,-0.0846775844693184,-0.0678314566612244,0.1333245038986206,-0.0601168535649776,-0.0546629950404167,0.1253386884927750,-0.1808639019727707,0.0299138352274895,0.0546216182410717,-0.0304873213171959,0.2397199124097824,0.2130956202745438,0.0772569701075554) * FEATURE3_texOff(vec2(1,-1)); +res += mat4(0.0750081837177277,-0.0229687355458736,-0.0164517536759377,-0.0689199417829514,-0.0501410476863384,-0.1581284105777740,0.1679509282112122,-0.0072935703210533,-0.1412089020013809,-0.0363090038299561,0.0671025067567825,0.1379115283489227,0.0395083725452423,-0.0401229113340378,-0.1013402193784714,0.0322776138782501) * FEATURE4_texOff(vec2(1,-1)); +res += mat4(-0.0686689019203186,-0.0773442462086678,0.0575861334800720,0.1885522156953812,-0.0292675960808992,0.1334265321493149,-0.0259835515171289,0.0382453016936779,0.0396481528878212,0.0524877794086933,0.1564569920301437,0.0381058678030968,0.2108160406351089,0.0921663492918015,0.0052786800079048,-0.3209734261035919) * FEATURE1_texOff(vec2(1,0)); +res += mat4(0.0538837872445583,-0.0593704208731651,0.0621431507170200,0.0538615100085735,-0.2839490771293640,0.1845311522483826,-0.0374661237001419,0.0907385647296906,-0.0103008169680834,0.1728835552930832,0.2316847145557404,0.0049690338782966,0.0114848986268044,0.0558095946907997,0.1254060864448547,0.0343545079231262) * FEATURE2_texOff(vec2(1,0)); +res += mat4(-0.1262239068746567,0.0365859642624855,-0.1594752520322800,0.1857952028512955,-0.0012058959109709,0.1420549750328064,-0.2596292197704315,-0.1326167434453964,-0.1460875570774078,0.1566606163978577,0.1529238820075989,-0.0506887845695019,-0.1614749133586884,-0.0835232734680176,-0.1133552864193916,-0.2255789339542389) * FEATURE3_texOff(vec2(1,0)); +res += mat4(0.0009043000754900,0.0047116791829467,0.1719317734241486,0.1170192062854767,-0.0269660707563162,-0.2161024808883667,-0.0895330682396889,0.1558265984058380,-0.0951380059123039,-0.0742629915475845,0.0893384963274002,-0.1507847011089325,0.1953689903020859,0.1837251633405685,-0.1236322373151779,-0.1137214303016663) * FEATURE4_texOff(vec2(1,0)); +res += mat4(-0.2515849471092224,-0.0848545655608177,0.0503321662545204,0.1220048591494560,0.0112273106351495,0.2144788950681686,0.2720014154911041,-0.0239016823470592,0.0761246234178543,0.0651204138994217,-0.1299389600753784,-0.0384435914456844,-0.0430693589150906,0.0499210171401501,-0.1244324520230293,-0.0976284369826317) * FEATURE1_texOff(vec2(1,1)); +res += mat4(0.1138575822114944,0.0425504669547081,0.0402555391192436,-0.2269419282674789,0.0531973913311958,-0.0673747658729553,-0.3444060683250427,-0.0266591534018517,-0.0290640946477652,0.2830187976360321,0.1896703988313675,-0.1148610040545464,0.0377210415899754,-0.1197302043437958,-0.0254765916615725,-0.0177777130156755) * FEATURE2_texOff(vec2(1,1)); +res += mat4(0.0443032793700695,-0.1222698837518692,0.2137430012226105,-0.0601493269205093,-0.0329366810619831,-0.0600455887615681,-0.0464418791234493,-0.0102474074810743,-0.2769347429275513,-0.1693455278873444,0.0495916344225407,-0.0928647145628929,-0.1646637916564941,0.2887711226940155,-0.1775939762592316,-0.2760116755962372) * FEATURE3_texOff(vec2(1,1)); +res += mat4(-0.1419579833745956,0.0632312521338463,-0.0401325002312660,-0.2358518689870834,0.0057794577442110,0.0395067632198334,0.0407800450921059,-0.0697408542037010,-0.0856739655137062,0.0635263547301292,-0.1791270077228546,0.0800354406237602,-0.0827995911240578,0.0012320337118581,-0.1890709847211838,-0.0115871289744973) * FEATURE4_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(1.4201048612594604,-0.1148971617221832,1.3850938081741333,0.8263279795646667) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Mapping 1_2 +//!BIND FEATURE1 +//!BIND FEATURE2 +//!BIND FEATURE3 +//!BIND FEATURE4 +//!SAVE MODEL22 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.0888336524367332,0.0308345351368189,0.2038880586624146,-0.0403054468333721); +res += mat4(-0.0055824508890510,0.2178459018468857,-0.0073033687658608,-0.1469391435384750,0.1801696121692657,0.0306501220911741,0.1568093895912170,-0.0570050142705441,-0.0146966595202684,-0.0313456729054451,-0.1139771789312363,0.0374344959855080,0.0817486569285393,0.1043003723025322,-0.1157513931393623,0.2193820625543594) * FEATURE1_texOff(vec2(-1,-1)); +res += mat4(-0.1762898564338684,-0.1903054416179657,0.0021806999575347,0.1058190241456032,0.1559550762176514,-0.0056192241609097,0.0029302174225450,-0.1228873357176781,-0.0143460594117641,-0.1602192521095276,0.1148678436875343,-0.2795691490173340,-0.1574482619762421,-0.0428849868476391,-0.0103740189224482,-0.0629314705729485) * FEATURE2_texOff(vec2(-1,-1)); +res += mat4(-0.2409969568252563,0.0243725925683975,-0.1285929381847382,0.2342564910650253,0.1027612239122391,-0.1685835570096970,0.0055926488712430,-0.0238419715315104,0.1273651719093323,0.0526742860674858,0.0127351991832256,0.1456344574689865,-0.0813567936420441,-0.0824812948703766,0.1674763709306717,0.1213097274303436) * FEATURE3_texOff(vec2(-1,-1)); +res += mat4(0.2034477740526199,-0.0150300376117229,-0.1029808372259140,-0.1751596331596375,-0.1324366033077240,-0.1916087567806244,-0.1899994313716888,0.0348664820194244,0.0579356551170349,-0.1654130816459656,-0.0263507384806871,0.0273111034184694,0.0764688104391098,-0.1400149464607239,-0.1882346570491791,0.1465913057327271) * FEATURE4_texOff(vec2(-1,-1)); +res += mat4(0.1212258115410805,0.1979488283395767,0.0356977209448814,-0.1072662696242332,0.1403658986091614,0.0764879584312439,0.0430596657097340,0.0193492062389851,-0.0100342221558094,-0.1642781347036362,-0.2157689332962036,0.0497154854238033,-0.0707299262285233,-0.0681886374950409,0.2278562635183334,-0.3688782751560211) * FEATURE1_texOff(vec2(-1,0)); +res += mat4(-0.3449152708053589,-0.1648758202791214,0.2010008692741394,-0.0641329288482666,-0.0229758080095053,0.1711205989122391,-0.0464514121413231,0.3477462232112885,0.0043507535010576,-0.0043490971438587,0.2907740473747253,-0.0933733582496643,0.2128601521253586,-0.1721645444631577,0.2200766205787659,-0.0647031888365746) * FEATURE2_texOff(vec2(-1,0)); +res += mat4(0.0097005823627114,0.1042054817080498,-0.0035475196782500,-0.3369025886058807,0.1480121761560440,-0.2332152873277664,0.0180834364145994,-0.0785861983895302,0.0382840596139431,-0.2034295946359634,-0.0335927158594131,0.0779727175831795,0.2563244700431824,0.0125377727672458,-0.0330367572605610,0.0789171755313873) * FEATURE3_texOff(vec2(-1,0)); +res += mat4(0.0303388144820929,-0.1465268284082413,0.0559245236217976,0.0741588026285172,-0.0440330244600773,-0.1163934543728828,0.0622919127345085,-0.1661262661218643,0.1031702533364296,0.0274195484817028,0.2853372395038605,0.0306060593575239,-0.0262273401021957,-0.3722916841506958,0.0930678620934486,-0.4011277556419373) * FEATURE4_texOff(vec2(-1,0)); +res += mat4(0.0174665227532387,0.0874205157160759,0.1263583898544312,0.0299440789967775,-0.1074560806155205,-0.0149981547147036,-0.0692550316452980,0.1697760522365570,-0.1229570657014847,-0.1747072935104370,-0.1831145584583282,-0.0690372586250305,-0.0002355265605729,0.0810739621520042,0.3721088171005249,-0.0258054919540882) * FEATURE1_texOff(vec2(-1,1)); +res += mat4(0.3021402657032013,0.0130130751058459,0.0932790040969849,-0.0404236577451229,-0.0721724703907967,-0.1842733174562454,0.1165597736835480,0.1087918281555176,0.0582448467612267,-0.0921415016055107,0.0976167842745781,-0.0473879873752594,-0.1661389321088791,-0.0529068559408188,-0.1042415797710419,0.0452580675482750) * FEATURE2_texOff(vec2(-1,1)); +res += mat4(-0.0554074272513390,-0.1763077080249786,-0.0458173640072346,-0.2395718991756439,0.0353631041944027,-0.0248281825333834,-0.0453763157129288,0.0982042998075485,0.0795748755335808,0.1198742836713791,0.0619815625250340,0.0384974144399166,0.0092360991984606,-0.1808229237794876,0.1299494206905365,0.0271339230239391) * FEATURE3_texOff(vec2(-1,1)); +res += mat4(-0.1951718628406525,0.0181937590241432,0.1471716612577438,-0.0842008516192436,0.0413865745067596,0.0137632284313440,0.0432065315544605,-0.0302451699972153,-0.1141382232308388,0.2220665812492371,-0.1531663388013840,-0.0525154657661915,0.0672531053423882,0.0139208277687430,0.3191528916358948,0.1225935146212578) * FEATURE4_texOff(vec2(-1,1)); +res += mat4(-0.0697667896747589,-0.1965480148792267,-0.1671475023031235,-0.0301672574132681,-0.1938829272985458,-0.0242670997977257,0.1800690740346909,-0.1065410822629929,0.1459948122501373,0.1380921006202698,-0.0826187953352928,-0.0287049934267998,-0.0568439923226833,-0.1300133764743805,-0.2149765044450760,-0.1262311339378357) * FEATURE1_texOff(vec2(0,-1)); +res += mat4(-0.0832837969064713,-0.4437069296836853,-0.0448837839066982,-0.2551388442516327,0.0921541377902031,-0.0867375060915947,-0.0820663943886757,0.2368763983249664,0.0172284580767155,-0.1852178275585175,-0.1762057393789291,-0.0479003898799419,-0.0545581094920635,0.0124678602442145,-0.2414358407258987,0.0479885302484035) * FEATURE2_texOff(vec2(0,-1)); +res += mat4(0.0084721203893423,-0.3287556767463684,0.2404080629348755,-0.1581063717603683,-0.1201047822833061,0.1011407002806664,-0.0883802995085716,0.0367043018341064,0.0622620359063148,0.0943960174918175,-0.1075161024928093,-0.2558501958847046,-0.0634684339165688,0.0551954470574856,0.1706565320491791,0.1138209551572800) * FEATURE3_texOff(vec2(0,-1)); +res += mat4(0.2127157449722290,0.0028926788363606,-0.0131559586152434,-0.0772459208965302,-0.0392009094357491,-0.0557714402675629,-0.2421645820140839,0.2100937813520432,0.0252651311457157,0.1337381154298782,-0.1309967041015625,0.2111328095197678,-0.0057283919304609,-0.2480400204658508,0.1229544878005981,0.1001321971416473) * FEATURE4_texOff(vec2(0,-1)); +res += mat4(-0.0963816866278648,0.0236221980303526,-0.1729129105806351,-0.0224700178951025,0.0416511930525303,-0.0098097184672952,0.2250513732433319,0.1980445683002472,0.1999557465314865,-0.4346832633018494,-0.1971718519926071,0.1336177289485931,-0.2710929512977600,-0.0232510026544333,0.1904300302267075,-0.5326592326164246) * FEATURE1_texOff(vec2(0,0)); +res += mat4(-0.2854235470294952,-0.1727097779512405,0.2212820798158646,-0.6337124705314636,0.1350235939025879,0.0587622411549091,-0.6112856864929199,0.3033475279808044,0.4720011353492737,-0.1540339887142181,-0.4499722719192505,0.6444893479347229,0.0336703881621361,-0.0260129868984222,-0.1982933133840561,-0.1108348146080971) * FEATURE2_texOff(vec2(0,0)); +res += mat4(0.3936024010181427,0.1002474948763847,-0.1018962189555168,-0.5044853091239929,0.1271165311336517,0.1502388119697571,0.0488024838268757,-0.1929558962583542,-0.1233128532767296,-0.1991779953241348,-0.1524319499731064,-0.0848715230822563,-0.0155095933005214,-0.1917992830276489,-0.3323145806789398,0.3108884096145630) * FEATURE3_texOff(vec2(0,0)); +res += mat4(0.2295550853013992,-0.1973270028829575,-0.2825872600078583,-0.0410918630659580,-0.2558916807174683,-0.0140108587220311,0.0134098604321480,-0.0889729261398315,-0.0606309771537781,-0.1130445376038551,-0.1547448337078094,0.0267129093408585,-0.3207915425300598,-0.2566465437412262,0.0131275942549109,-0.5349386334419250) * FEATURE4_texOff(vec2(0,0)); +res += mat4(-0.3259268403053284,-0.1685020923614502,0.1415168344974518,0.0064681298099458,0.1198796555399895,0.0938111543655396,0.0419938862323761,-0.0836924165487289,-0.1284605413675308,-0.2213986515998840,0.0123203611001372,-0.1417588442564011,-0.3065121471881866,0.2827109992504120,0.1858590543270111,0.3755801022052765) * FEATURE1_texOff(vec2(0,1)); +res += mat4(0.2329712808132172,0.0338575430214405,-0.0040721739642322,-0.0079094748944044,-0.3260537981987000,-0.1572857350111008,0.1268580257892609,-0.5230516791343689,0.0916409716010094,-0.0883808881044388,-0.2193629592657089,0.1847866922616959,-0.1687337011098862,0.1701498031616211,-0.0365195684134960,-0.0220766570419073) * FEATURE2_texOff(vec2(0,1)); +res += mat4(-0.1062429621815681,0.3691445589065552,-0.3756815791130066,0.6537393331527710,-0.0361825861036777,0.0031433734111488,-0.1238657310605049,-0.1192228049039841,-0.1342777162790298,0.0458285287022591,0.2127134799957275,-0.4633499085903168,-0.1293898075819016,-0.0239851064980030,-0.0308082439005375,-0.2247954308986664) * FEATURE3_texOff(vec2(0,1)); +res += mat4(-0.1353782415390015,-0.0376875549554825,0.2146020084619522,-0.0445286817848682,-0.0031098062172532,0.1509363502264023,-0.1451402008533478,0.3077156841754913,-0.1892793178558350,0.1314236223697662,-0.1315165311098099,-0.0676322728395462,-0.3856800496578217,-0.0541049204766750,0.3029918074607849,0.0462379008531570) * FEATURE4_texOff(vec2(0,1)); +res += mat4(0.0028464326169342,0.0406418517231941,0.0925554707646370,-0.1847309172153473,-0.1931904554367065,-0.0480718091130257,0.0073764678090811,-0.0480887517333031,-0.0803316682577133,0.1634706407785416,0.0943916440010071,0.0614554770290852,0.0845278799533844,0.0918643251061440,-0.1679021269083023,0.1855772584676743) * FEATURE1_texOff(vec2(1,-1)); +res += mat4(0.1136827841401100,0.0920161232352257,-0.0340088084340096,-0.2438882589340210,0.0022524227388203,-0.0241311267018318,0.4952031373977661,0.0950114950537682,-0.3279016315937042,-0.1447808146476746,0.0508631952106953,-0.0743442475795746,-0.0144945913925767,-0.1340451389551163,0.0509128570556641,-0.0722603425383568) * FEATURE2_texOff(vec2(1,-1)); +res += mat4(-0.1580133885145187,0.0298170093446970,0.2724783420562744,0.1275223344564438,0.1290402859449387,-0.1293425261974335,-0.1215599104762077,-0.0739666149020195,-0.1510761082172394,0.1302848160266876,-0.2184193879365921,0.0627807378768921,0.0533174425363541,-0.0675201192498207,0.0916451737284660,-0.1907976269721985) * FEATURE3_texOff(vec2(1,-1)); +res += mat4(0.0646568238735199,-0.0745790004730225,-0.0125157898291945,-0.1272885799407959,0.1439774334430695,0.0446015559136868,0.1382612735033035,-0.2161758840084076,-0.0745507404208183,0.1260479390621185,-0.1116243004798889,0.0566606037318707,-0.0634351223707199,-0.2372566163539886,0.2227157205343246,0.0702196881175041) * FEATURE4_texOff(vec2(1,-1)); +res += mat4(0.1067308709025383,-0.0552560165524483,-0.0885369703173637,0.3382973074913025,0.1900973767042160,-0.0471013747155666,-0.0019915490411222,0.0137355709448457,0.0755001902580261,0.0208593588322401,-0.0141422459855676,-0.0888440832495689,-0.0929339602589607,-0.2389165759086609,-0.1645234972238541,0.1294811517000198) * FEATURE1_texOff(vec2(1,0)); +res += mat4(-0.0843795463442802,0.0958129242062569,0.1686721146106720,0.1662779301404953,0.0269482955336571,-0.1080698147416115,0.0690365880727768,-0.2544018030166626,0.2507861554622650,-0.0577043928205967,0.2741414308547974,-0.0088143944740295,-0.1140271797776222,-0.0002383657119935,-0.0683881565928459,-0.0444537289440632) * FEATURE2_texOff(vec2(1,0)); +res += mat4(0.2989420890808105,-0.0771016702055931,0.0398744344711304,0.1939385384321213,0.0803771018981934,0.2078321874141693,0.0200261678546667,-0.0672411024570465,-0.2295205295085907,-0.2181767225265503,-0.1718000918626785,0.2850292026996613,-0.3103581666946411,-0.1325287818908691,-0.0065654078498483,0.1480577886104584) * FEATURE3_texOff(vec2(1,0)); +res += mat4(0.2620290219783783,0.0492270402610302,0.0275605693459511,0.0953018888831139,-0.1188623905181885,-0.0989535376429558,-0.0606087967753410,0.1288254112005234,0.1049842759966850,-0.3303307294845581,0.0244982130825520,-0.0218701213598251,0.0389205478131771,-0.2766166031360626,0.2208117097616196,-0.0779608860611916) * FEATURE4_texOff(vec2(1,0)); +res += mat4(-0.0053450786508620,0.1109809726476669,-0.0317074507474899,0.2496421188116074,0.0451021194458008,0.0678569898009300,0.0213301498442888,-0.1658379435539246,-0.2613688111305237,0.2634420096874237,0.0933972895145416,0.1037345156073570,0.0742104426026344,0.1532714515924454,-0.1157754212617874,-0.1917258799076080) * FEATURE1_texOff(vec2(1,1)); +res += mat4(0.1520950794219971,-0.0761306509375572,-0.0536881908774376,0.4475339055061340,-0.1540124416351318,-0.0643950253725052,0.0071839466691017,-0.1226242855191231,0.0485517010092735,0.0376602858304977,-0.0457136407494545,-0.0840197205543518,0.2285289019346237,0.1076427251100540,-0.0270565245300531,0.0792062282562256) * FEATURE2_texOff(vec2(1,1)); +res += mat4(0.1940105557441711,0.1126421466469765,-0.3066647946834564,0.2072615623474121,-0.1058962270617485,-0.0195719934999943,-0.1303514689207077,0.0505842752754688,0.0888841226696968,0.1498940587043762,0.1124349609017372,-0.1797216683626175,0.0434344857931137,0.0096777314320207,0.0737498104572296,-0.6063233613967896) * FEATURE3_texOff(vec2(1,1)); +res += mat4(0.0425488725304604,0.0055217170156538,-0.0417114570736885,0.0269294884055853,-0.0606696717441082,-0.1162500381469727,0.1206417679786682,0.0263194758445024,-0.0818367078900337,0.0655204281210899,-0.0655337721109390,-0.1234961003065109,0.0214693527668715,0.0903595164418221,-0.0130651295185089,-0.1287123113870621) * FEATURE4_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(-0.4730016589164734,0.3655959665775299,-0.2802486717700958,-0.4265432655811310) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Mapping 1_3 +//!BIND FEATURE1 +//!BIND FEATURE2 +//!BIND FEATURE3 +//!BIND FEATURE4 +//!SAVE MODEL23 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.1068498939275742,0.0224376078695059,-0.0024097065906972,-0.0792689025402069); +res += mat4(0.0181803442537785,0.0674853250384331,-0.1265344917774200,-0.0218618325889111,-0.0869689434766769,0.1053872480988503,-0.0992796495556831,0.0141461445018649,-0.0925305783748627,0.0291556920856237,0.2688764035701752,-0.0474680028855801,0.1045153662562370,0.1096798181533813,0.0023779468610883,0.2131648063659668) * FEATURE1_texOff(vec2(-1,-1)); +res += mat4(0.3533977568149567,-0.1001951098442078,-0.0183106418699026,0.0017019035294652,-0.2894389629364014,-0.0171565115451813,-0.2175557017326355,-0.0215419773012400,0.0661054253578186,-0.0339064672589302,0.0547012835741043,-0.1251597851514816,0.1160517260432243,-0.0128150330856442,-0.1865216344594955,0.0722576007246971) * FEATURE2_texOff(vec2(-1,-1)); +res += mat4(-0.1361459791660309,-0.1371068805456161,0.0689596310257912,0.1339294910430908,0.0408511459827423,0.0876319110393524,-0.0190939400345087,-0.0503945313394070,-0.0690736547112465,0.2444718033075333,-0.0010501143988222,-0.0774922966957092,-0.1381646394729614,0.1078057214617729,0.0194984395056963,0.0199265126138926) * FEATURE3_texOff(vec2(-1,-1)); +res += mat4(-0.2012318670749664,0.1654687523841858,0.0428198911249638,0.0124987605959177,0.0568455383181572,-0.0227466151118279,-0.0348395667970181,-0.0436778143048286,0.1334147751331329,0.0745504349470139,-0.0980251356959343,-0.0980399176478386,0.1086588427424431,0.1538669317960739,0.1078789010643959,0.0145203405991197) * FEATURE4_texOff(vec2(-1,-1)); +res += mat4(0.0563423559069633,-0.1406311839818954,0.0916531011462212,-0.0641987845301628,-0.0232900027185678,-0.1167540177702904,-0.0926523655653000,0.0327877216041088,0.1206583529710770,0.0137982740998268,-0.2181962430477142,-0.0732070207595825,0.3986870050430298,-0.1097618192434311,-0.1635782569646835,-0.0564717128872871) * FEATURE1_texOff(vec2(-1,0)); +res += mat4(-0.0632074847817421,-0.2536352574825287,0.0580678060650826,-0.1632629930973053,0.2691094577312469,0.1574228852987289,-0.0472787022590637,0.0881788432598114,-0.1814105808734894,-0.0040500233881176,-0.1393396854400635,-0.1951746493577957,-0.0414040684700012,-0.1159598901867867,0.0469891279935837,-0.0079741673544049) * FEATURE2_texOff(vec2(-1,0)); +res += mat4(-0.1894895732402802,0.0108783831819892,0.2157879918813705,0.0903736427426338,0.1316229254007339,0.2451830953359604,-0.1203373000025749,0.2575775980949402,0.1407234966754913,-0.0832646563649178,-0.1568229645490646,0.0545096285641193,0.0597689077258110,-0.1081062778830528,-0.0841651409864426,-0.0314163081347942) * FEATURE3_texOff(vec2(-1,0)); +res += mat4(-0.0216937493532896,-0.1346040368080139,0.0350560471415520,-0.0480668805539608,0.0926286280155182,-0.1445267647504807,0.1516186445951462,-0.0996525585651398,0.1173405796289444,0.1228884086012840,-0.1831370145082474,0.0030460406560451,0.4818059206008911,0.0375531949102879,-0.3507771492004395,-0.0473322011530399) * FEATURE4_texOff(vec2(-1,0)); +res += mat4(-0.0425182506442070,-0.1205067187547684,-0.1795590966939926,-0.0406252518296242,-0.0822191536426544,-0.1416527628898621,-0.1523015946149826,-0.1966950893402100,0.1534976661205292,-0.0823664814233780,0.1398902833461761,0.1872176527976990,-0.3203691840171814,-0.0699252486228943,0.1018531471490860,-0.0983449220657349) * FEATURE1_texOff(vec2(-1,1)); +res += mat4(-0.0126265734434128,-0.0455899834632874,0.0972962081432343,0.0509651526808739,0.0533396378159523,-0.0309946630150080,0.1093288958072662,0.0448884107172489,0.0203281845897436,0.0521102361381054,-0.1435694098472595,-0.1272373497486115,0.0327667742967606,0.0416485033929348,0.0186139661818743,-0.0201864298433065) * FEATURE2_texOff(vec2(-1,1)); +res += mat4(0.1195562034845352,0.1281285583972931,0.0012344763381407,0.1758122146129608,-0.0290505588054657,0.0510745570063591,-0.1876697540283203,-0.0343617051839828,0.1992195993661880,-0.2810811996459961,0.1259593069553375,-0.0893522202968597,0.2315267920494080,-0.3004943430423737,-0.2422719448804855,-0.1430527716875076) * FEATURE3_texOff(vec2(-1,1)); +res += mat4(-0.0786485597491264,-0.0292762294411659,0.1236795708537102,0.1573273688554764,-0.0168952587991953,0.1282182186841965,-0.0550478808581829,-0.0742724165320396,0.1833973824977875,0.1316903531551361,-0.1423938423395157,-0.0303102098405361,-0.2247518748044968,0.0339135490357876,0.1431625932455063,-0.1280567049980164) * FEATURE4_texOff(vec2(-1,1)); +res += mat4(0.0282066799700260,0.0926313400268555,0.0279843974858522,-0.0174273829907179,-0.1239684596657753,0.0873323604464531,-0.1396520733833313,0.0631038546562195,-0.1521342694759369,0.0822935178875923,0.1438777893781662,0.2342004477977753,-0.1868494302034378,0.3501272499561310,-0.1131436899304390,-0.1721433550119400) * FEATURE1_texOff(vec2(0,-1)); +res += mat4(0.1828032433986664,0.1998613476753235,-0.0164872668683529,0.0191075354814529,-0.3959974050521851,-0.0517918616533279,-0.1055601462721825,0.0122828455641866,-0.1063216775655746,0.0375947803258896,-0.0699349939823151,0.1127478256821632,0.1133284494280815,0.0208671074360609,-0.0416382886469364,-0.0238342527300119) * FEATURE2_texOff(vec2(0,-1)); +res += mat4(-0.1396529525518417,-0.0282370373606682,-0.0323401615023613,-0.1633979231119156,0.1094241365790367,0.0309195667505264,0.2445011436939240,0.0400733090937138,-0.3095892667770386,0.1575353592634201,-0.1113663017749786,-0.0022773621603847,-0.1359186768531799,-0.0630225613713264,-0.3628012835979462,-0.1326376348733902) * FEATURE3_texOff(vec2(0,-1)); +res += mat4(-0.0894735082983971,-0.0896669328212738,0.1499202400445938,-0.0944010689854622,0.0583312064409256,-0.0126608330756426,-0.2147152423858643,-0.0215652957558632,-0.1177922859787941,0.0456483513116837,0.0204549245536327,-0.0764765962958336,-0.0538619942963123,0.1490221619606018,0.0124373994767666,0.1906240433454514) * FEATURE4_texOff(vec2(0,-1)); +res += mat4(0.1993367671966553,0.1223497539758682,-0.0392627082765102,0.2788168191909790,0.0922471657395363,-0.2531153559684753,-0.1100602075457573,0.2930892407894135,0.1846672594547272,0.2228979170322418,0.1016059070825577,0.2192129641771317,0.4289297759532928,-0.0741789489984512,-0.6169342398643494,-0.2194722741842270) * FEATURE1_texOff(vec2(0,0)); +res += mat4(-0.0306668337434530,-0.0473439209163189,-0.4121291339397430,-0.1868667453527451,0.2793217599391937,0.1274234205484390,0.0877332091331482,0.2431191653013229,-0.3787598609924316,0.0931293740868568,0.1487477421760559,0.3159037530422211,0.2111402601003647,-0.1071637645363808,0.0152860702946782,-0.0390298105776310) * FEATURE2_texOff(vec2(0,0)); +res += mat4(-0.0570957995951176,-0.0612670294940472,-0.3233737051486969,-0.2470320910215378,0.0018566350918263,0.0886307954788208,-0.1303993016481400,-0.3397434651851654,-0.1383976042270660,0.3524385392665863,0.2954247593879700,0.3347482383251190,-0.1010874137282372,0.2279569357633591,-0.0689250975847244,0.2973155081272125) * FEATURE3_texOff(vec2(0,0)); +res += mat4(0.1473412811756134,0.1288300156593323,0.1205203682184219,0.0448942482471466,-0.0119561580941081,-0.2377465516328812,-0.1367591768503189,-0.2810507416725159,-0.0523518882691860,0.0708726793527603,0.1706065982580185,0.0793581008911133,-0.0454018563032150,-0.2512792646884918,-0.4026997089385986,0.0185119975358248) * FEATURE4_texOff(vec2(0,0)); +res += mat4(0.0805108919739723,0.0798353105783463,0.0227880049496889,-0.0167885478585958,0.2682724595069885,0.1518623530864716,0.0680777281522751,-0.1490436345338821,0.0676534026861191,-0.0719495415687561,-0.0398707166314125,-0.0952469408512115,-0.2091007679700851,0.0174053926020861,-0.0096214674413204,0.0019770753569901) * FEATURE1_texOff(vec2(0,1)); +res += mat4(0.0024138260632753,-0.0581566393375397,-0.1664668768644333,0.1126330643892288,0.2165462821722031,0.0167974866926670,-0.0599500276148319,0.0188397672027349,0.0577487237751484,-0.3018417954444885,-0.0685174018144608,-0.0142585532739758,-0.1478437036275864,0.0223527699708939,0.0859376862645149,-0.0360872410237789) * FEATURE2_texOff(vec2(0,1)); +res += mat4(0.2066729515790939,0.1541274189949036,-0.1364138871431351,-0.1951328366994858,0.1874501258134842,0.1513911187648773,0.1509729623794556,-0.2633168101310730,0.0848663523793221,0.1189890429377556,0.0624934732913971,-0.1043203920125961,0.1213532090187073,0.0012778271920979,0.0915908217430115,-0.0243451409041882) * FEATURE3_texOff(vec2(0,1)); +res += mat4(0.0092855095863342,0.1446494013071060,0.0244066137820482,-0.0003393912920728,0.0898872688412666,0.1351699084043503,0.0687514543533325,-0.1420029103755951,0.1252769976854324,0.1206224039196968,-0.1781837195158005,-0.1695613414049149,-0.0649869740009308,-0.0869675055146217,0.1191114336252213,-0.1655308455228806) * FEATURE4_texOff(vec2(0,1)); +res += mat4(-0.0752085074782372,0.0539673753082752,-0.0796784982085228,-0.1499834954738617,-0.0671416893601418,-0.1288341581821442,0.0771804004907608,-0.0872330218553543,-0.1099051535129547,-0.2603873908519745,0.0441368594765663,-0.1488848477602005,-0.1611886173486710,0.2752755284309387,0.1640261411666870,0.2272638082504272) * FEATURE1_texOff(vec2(1,-1)); +res += mat4(-0.1892446279525757,0.0594876147806644,-0.1489266455173492,-0.0055449968203902,-0.1177957877516747,0.2269909381866455,0.2510500252246857,-0.1484318375587463,0.0580869540572166,0.1149290502071381,-0.0335899591445923,-0.2038038223981857,0.1723133325576782,-0.0136199584230781,-0.0236567948013544,0.0881756991147995) * FEATURE2_texOff(vec2(1,-1)); +res += mat4(0.0054041203111410,0.1229338720440865,-0.1747557967901230,-0.0370169505476952,-0.0565179511904716,0.0460983514785767,-0.0040057785809040,-0.0819256231188774,0.2103905230760574,-0.3779387772083282,-0.0084069026634097,0.0580889955163002,0.1885393708944321,-0.1327203810214996,-0.3133801817893982,0.0391480140388012) * FEATURE3_texOff(vec2(1,-1)); +res += mat4(-0.2097729891538620,-0.1689597666263580,-0.1664648503065109,-0.1793139427900314,-0.0850801393389702,0.2283965647220612,-0.0577811487019062,0.1894859671592712,0.1025840565562248,0.1195367202162743,-0.2647812962532043,0.0160049684345722,-0.1704923957586288,-0.1322751492261887,0.1252082735300064,-0.0197375323623419) * FEATURE4_texOff(vec2(1,-1)); +res += mat4(-0.0013422787887976,0.1129100173711777,-0.0038423587102443,0.1264080852270126,-0.0252035073935986,0.1085704267024994,0.2262658178806305,0.1140006110072136,0.1575347781181335,0.3107490539550781,0.0905072987079620,0.0279484353959560,-0.1788310706615448,0.1854739636182785,-0.0918399766087532,0.2511482834815979) * FEATURE1_texOff(vec2(1,0)); +res += mat4(0.1267061084508896,-0.1471017152070999,-0.2251567095518112,-0.1611172109842300,0.0942601561546326,0.0670419186353683,-0.0269072540104389,0.1851729154586792,-0.0551678612828255,0.1288409978151321,0.4945599734783173,0.0264458172023296,0.1613845676183701,0.0589136108756065,-0.0194913689047098,0.0697190389037132) * FEATURE2_texOff(vec2(1,0)); +res += mat4(-0.0895941033959389,-0.0320550128817558,-0.0735349804162979,-0.0348859019577503,-0.0243661850690842,0.0162992011755705,-0.2477076500654221,0.0838671103119850,-0.0076459781266749,-0.1001882851123810,0.0527665242552757,0.0665429830551147,0.0335152857005596,0.0992514267563820,0.2353664934635162,0.1117936298251152) * FEATURE3_texOff(vec2(1,0)); +res += mat4(-0.1244806423783302,0.1107732355594635,-0.0505175180733204,0.0150187658146024,-0.1515004038810730,0.3250357508659363,0.0479312203824520,-0.0896787196397781,-0.0060879425145686,0.0559833347797394,0.2023715227842331,0.2517331838607788,-0.0951916500926018,-0.0684622079133987,0.0637184381484985,0.0469728000462055) * FEATURE4_texOff(vec2(1,0)); +res += mat4(0.0421132631599903,-0.0666640400886536,-0.0614126957952976,-0.1348003000020981,-0.0451293289661407,0.1003058180212975,0.0200788099318743,-0.2391413450241089,-0.0311860535293818,-0.0136138740926981,-0.1848115772008896,0.0732163786888123,-0.0604140311479568,0.0811294242739677,-0.0391813740134239,0.2426086068153381) * FEATURE1_texOff(vec2(1,1)); +res += mat4(0.0365599356591702,0.2424106597900391,0.1032833904027939,0.1385392546653748,-0.0783990547060966,-0.0829616039991379,-0.0824204236268997,-0.0937133431434631,-0.1557883322238922,-0.0602848269045353,0.0037280109245330,0.0278095174580812,0.0402884408831596,0.0789545029401779,-0.0467504560947418,0.0939249768853188) * FEATURE2_texOff(vec2(1,1)); +res += mat4(0.2891236245632172,0.2102823406457901,0.3137135207653046,0.2868292033672333,0.2091424912214279,-0.1346053779125214,-0.0634608119726181,-0.0963971167802811,0.1247189715504646,0.0464955158531666,-0.0033531992230564,-0.0981209874153137,-0.0109948534518480,0.3303783833980560,0.2545963227748871,0.0130921611562371) * FEATURE3_texOff(vec2(1,1)); +res += mat4(-0.0735277459025383,-0.0561351887881756,-0.1501527428627014,-0.0449621304869652,0.1262317150831223,0.0975477918982506,-0.0120284929871559,0.0393448099493980,0.0638149231672287,0.0163939800113440,-0.1339456140995026,-0.0908776968717575,-0.0123067917302251,-0.1234612539410591,0.0678170993924141,0.0884721055626869) * FEATURE4_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(-0.4124448597431183,-0.1573285609483719,1.0311002731323242,-0.2229315489530563) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Mapping 1_4 +//!BIND FEATURE1 +//!BIND FEATURE2 +//!BIND FEATURE3 +//!BIND FEATURE4 +//!SAVE MODEL24 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.0276391524821520,-0.0368193946778774,0.0009587873355485,-0.0088042151182890); +res += mat4(-0.0512284897267818,-0.1266047507524490,0.0003899600997102,0.0382442288100719,0.0280260406434536,-0.0985767468810081,0.0960592478513718,0.1009741127490997,0.0794202387332916,-0.0894011631608009,-0.0318590365350246,0.2820032536983490,0.1622142791748047,-0.0648426041007042,-0.0318264104425907,0.2290576994419098) * FEATURE1_texOff(vec2(-1,-1)); +res += mat4(-0.0880835801362991,-0.0746648088097572,0.0301566477864981,0.2522626519203186,0.0198932215571404,-0.3623333871364594,-0.1393494457006454,0.0810209363698959,-0.0337680168449879,0.4135749340057373,-0.0275239255279303,0.1069174632430077,-0.0867640748620033,0.2835955321788788,0.0385841131210327,-0.2772567570209503) * FEATURE2_texOff(vec2(-1,-1)); +res += mat4(0.1398154497146606,0.1833032965660095,0.1429570466279984,-0.2008739262819290,0.1255137324333191,0.1759242862462997,-0.0801086202263832,0.1022183746099472,-0.1252491176128387,0.2192120701074600,-0.0901050195097923,-0.0739596411585808,-0.0145227387547493,0.2093513756990433,0.0989906564354897,-0.4653756022453308) * FEATURE3_texOff(vec2(-1,-1)); +res += mat4(0.0910915136337280,0.0218110010027885,-0.2299140542745590,-0.0992468520998955,0.1527165621519089,-0.0234429500997066,0.1729617714881897,0.1210219487547874,0.0308788418769836,0.1581681817770004,-0.1064032241702080,0.1713964939117432,-0.0579254552721977,-0.0981267616152763,0.0721170827746391,0.4352712929248810) * FEATURE4_texOff(vec2(-1,-1)); +res += mat4(0.1139030829071999,0.1903209835290909,-0.0222220905125141,0.3532032668590546,0.0809147581458092,0.0770453140139580,-0.0473277904093266,0.0858416631817818,-0.0970203354954720,0.1008593663573265,0.0660797581076622,-0.1909750699996948,-0.2427512258291245,0.6397042274475098,0.0922172367572784,0.0495349727571011) * FEATURE1_texOff(vec2(-1,0)); +res += mat4(-0.3992361724376678,0.0173487830907106,-0.1029165908694267,-0.1035509854555130,0.1490598171949387,0.0421177074313164,-0.0064252838492393,-0.3544484078884125,-0.2148116081953049,0.0754418447613716,-0.1371121853590012,-0.0036297440528870,-0.1118893921375275,0.0114238159731030,-0.0887103676795959,0.1135005429387093) * FEATURE2_texOff(vec2(-1,0)); +res += mat4(-0.1465966850519180,0.1308209002017975,-0.0314560718834400,0.0195829663425684,0.0382306873798370,-0.0358776263892651,0.0588177591562271,0.1130544021725655,0.0667202621698380,-0.4304334819316864,0.1731773465871811,-0.0338225960731506,0.1401392072439194,0.3294782638549805,0.1753993630409241,-0.2321190536022186) * FEATURE3_texOff(vec2(-1,0)); +res += mat4(0.1495974510908127,0.1306014209985733,-0.0431498326361179,-0.0301422402262688,-0.0120332324877381,0.1270328462123871,0.1222266033291817,-0.2212877422571182,-0.1681265830993652,0.0441069379448891,-0.0305443741381168,0.3058312237262726,-0.4929610788822174,0.0790526047348976,0.4786027669906616,-0.2305954843759537) * FEATURE4_texOff(vec2(-1,0)); +res += mat4(-0.1589186042547226,0.0605827085673809,-0.2689137160778046,0.0477557331323624,0.1626936197280884,-0.0011751441052184,-0.0710681602358818,0.0493479035794735,-0.1455902308225632,0.1495406925678253,0.0642785280942917,0.0444303490221500,0.0708884596824646,0.2172771692276001,-0.3717521131038666,-0.1617302000522614) * FEATURE1_texOff(vec2(-1,1)); +res += mat4(0.2892165184020996,0.1441503465175629,0.0615429878234863,-0.1020750626921654,-0.0370684303343296,0.0746947675943375,-0.0515859760344028,-0.0460813269019127,0.1917646825313568,0.6001849174499512,0.0201843176037073,0.1827513128519058,-0.1692900210618973,0.1987190395593643,-0.0395970046520233,0.1350836455821991) * FEATURE2_texOff(vec2(-1,1)); +res += mat4(-0.1074120476841927,0.1280410736799240,-0.2243510931730270,0.0713966265320778,0.1218168810009956,-0.1806309372186661,0.0024074912071228,-0.0816539302468300,-0.1269691437482834,0.0446485243737698,-0.1393088549375534,0.0748079717159271,0.3676311075687408,-0.2882465422153473,-0.0363978743553162,-0.0816833227872849) * FEATURE3_texOff(vec2(-1,1)); +res += mat4(0.1200772225856781,-0.0123626114800572,0.0137382885441184,-0.0404612123966217,0.3193710744380951,0.0684955194592476,0.0106347827240825,0.1104538217186928,0.0417028255760670,0.0828518643975258,-0.2320852130651474,0.0331128612160683,-0.0971346870064735,0.1526152640581131,-0.0779332667589188,-0.0929415822029114) * FEATURE4_texOff(vec2(-1,1)); +res += mat4(0.0525921061635017,-0.3359874486923218,-0.0078710718080401,-0.1374333500862122,0.2590954601764679,-0.0768891125917435,0.0508984476327896,-0.1581731736660004,-0.0318949185311794,-0.1478116214275360,-0.2305790483951569,0.1825617700815201,0.0293236523866653,-0.1312873065471649,-0.0622633099555969,0.3680928349494934) * FEATURE1_texOff(vec2(0,-1)); +res += mat4(-0.0203104615211487,0.0025942281354219,-0.0195699967443943,0.1549775004386902,0.0978987291455269,-0.2722118794918060,0.0655220821499825,-0.2815326154232025,0.0942241922020912,-0.2385305911302567,-0.0729167684912682,-0.0312109272927046,0.1115255951881409,-0.0284709408879280,-0.0194077510386705,0.1887127459049225) * FEATURE2_texOff(vec2(0,-1)); +res += mat4(0.0734510943293571,-0.1324222683906555,0.2535214722156525,-0.1086499541997910,-0.1143152341246605,0.0077860797755420,0.0962566882371902,0.1382277309894562,0.0008813540916890,0.2378026843070984,0.1073359325528145,-0.0395402163267136,-0.2830325365066528,0.0064922729507089,-0.0966577902436256,0.2031780183315277) * FEATURE3_texOff(vec2(0,-1)); +res += mat4(0.0153142679482698,-0.1495558768510818,0.0346917286515236,0.1711444109678268,-0.0391992926597595,-0.0994686484336853,0.1475034058094025,0.0605712905526161,-0.1002967506647110,-0.0975978970527649,0.2227404564619064,-0.0167322885245085,-0.0164016820490360,-0.1338599324226379,-0.0343371964991093,0.0646810233592987) * FEATURE4_texOff(vec2(0,-1)); +res += mat4(-0.2792942821979523,-0.0136374095454812,0.2159845530986786,-0.0228838622570038,-0.1302424520254135,-0.0234360862523317,0.2155476659536362,0.0558985620737076,-0.2886854708194733,-0.3616232872009277,0.2785043418407440,-0.1198430880904198,-0.4276877939701080,-0.2380819022655487,0.3149649202823639,0.2742180526256561) * FEATURE1_texOff(vec2(0,0)); +res += mat4(-0.1440424174070358,-0.0905576795339584,-0.5096263289451599,0.3241795003414154,-0.3366738855838776,-0.5786947011947632,0.6236954331398010,-0.3417075276374817,-0.2193205356597900,-0.9815174937248230,0.3053073287010193,0.1079142317175865,-0.0470061823725700,0.1895188987255096,0.2669617533683777,0.0896047949790955) * FEATURE2_texOff(vec2(0,0)); +res += mat4(0.3119420409202576,-0.3241403102874756,0.1295046508312225,0.1543032824993134,0.1846247166395187,0.1443347930908203,-0.2766005694866180,0.1804308891296387,0.0580570437014103,0.0978658050298691,-0.2054129242897034,-0.2724965810775757,-0.1148106753826141,-0.2765281200408936,0.2202637642621994,-0.0679227337241173) * FEATURE3_texOff(vec2(0,0)); +res += mat4(-0.1073105335235596,-0.0922479107975960,0.0815344899892807,-0.0934060215950012,0.0450365319848061,-0.1618713736534119,-0.0057997745461762,0.0604049861431122,-0.3930872082710266,-0.1035098209977150,0.0897450521588326,-0.1435426026582718,0.1402607262134552,-0.2779651582241058,0.2919771075248718,0.0986392125487328) * FEATURE4_texOff(vec2(0,0)); +res += mat4(-0.2215272784233093,0.2717513144016266,0.2179019898176193,-0.2265601605176926,-0.1447246074676514,-0.0803046002984047,0.1011651083827019,-0.2436654865741730,-0.1627176105976105,0.0800484791398048,0.1941668242216110,0.1445065885782242,-0.0223881006240845,-0.0276836343109608,0.0174419265240431,0.1133214980363846) * FEATURE1_texOff(vec2(0,1)); +res += mat4(0.3692201972007751,-0.1681609749794006,0.1008485332131386,-0.0330225676298141,-0.1842451244592667,0.0659887120127678,0.1862346827983856,0.2495231032371521,-0.1613597869873047,-0.5406157374382019,0.3562872707843781,0.0758387371897697,-0.0238100755959749,-0.0099044134840369,-0.1040502637624741,0.0045572747476399) * FEATURE2_texOff(vec2(0,1)); +res += mat4(0.1984873563051224,-0.0321327298879623,-0.0767363905906677,-0.3458163440227509,-0.0624072887003422,0.2217394262552261,-0.1812375783920288,-0.2007366567850113,-0.0360004305839539,-0.0814774483442307,0.0301776006817818,0.0453007817268372,0.1291864663362503,-0.5016673803329468,0.2331795990467072,-0.0206286571919918) * FEATURE3_texOff(vec2(0,1)); +res += mat4(-0.1869669109582901,0.1175568699836731,-0.0093930615112185,-0.0982860177755356,0.1489449739456177,0.1509801298379898,0.1364290863275528,0.1481650918722153,-0.2728213369846344,-0.0595689080655575,0.1831181943416595,0.1033088639378548,-0.0593473203480244,-0.1265224367380142,-0.1357106417417526,-0.0648572370409966) * FEATURE4_texOff(vec2(0,1)); +res += mat4(-0.0581371076405048,0.0164663475006819,-0.2379105985164642,0.1111095994710922,-0.1268516927957535,0.0199379976838827,0.0668751820921898,-0.0209231674671173,-0.0068986923433840,0.2107154875993729,0.0485591664910316,0.0268871169537306,0.0251561682671309,-0.0467116571962833,-0.0188051257282495,0.2871693074703217) * FEATURE1_texOff(vec2(1,-1)); +res += mat4(-0.0911727920174599,0.0826637521386147,0.0314448922872543,-0.0948437526822090,0.2545170187950134,0.3610626161098480,-0.2539221644401550,-0.1029973998665810,-0.1752015799283981,0.1109408810734749,-0.0078666815534234,-0.0144435223191977,0.0496135279536247,-0.0564512796700001,0.1520180106163025,-0.0158360097557306) * FEATURE2_texOff(vec2(1,-1)); +res += mat4(-0.1364693939685822,-0.0705100819468498,0.0106494743376970,-0.2988429069519043,-0.0525171011686325,-0.1362292468547821,0.1148492917418480,-0.0203459002077579,0.1034045144915581,-0.0856523290276527,0.0057818167842925,0.1133263111114502,-0.3602631986141205,-0.2070565819740295,-0.0580713823437691,0.0692999809980392) * FEATURE3_texOff(vec2(1,-1)); +res += mat4(0.0803081840276718,-0.0132953720167279,-0.0820070505142212,0.1188346147537231,-0.0762649551033974,-0.0126790665090084,-0.1647856980562210,-0.2004527598619461,0.0922043696045876,0.0458665415644646,0.0243337117135525,-0.1386706084012985,0.1162140890955925,0.2359302341938019,-0.0947909057140350,0.1188478693366051) * FEATURE4_texOff(vec2(1,-1)); +res += mat4(0.2241883575916290,-0.0002685249201022,-0.0647603645920753,-0.0743931904435158,0.0535587742924690,0.1856697201728821,0.0826538503170013,0.1249624118208885,0.0442660711705685,-0.1140523701906204,0.0535282008349895,-0.1772371083498001,-0.0947251766920090,-0.2532318532466888,-0.1441475301980972,-0.2547788023948669) * FEATURE1_texOff(vec2(1,0)); +res += mat4(0.1205939874053001,0.0580725893378258,-0.0748139247298241,-0.1515609622001648,0.2546226978302002,0.1498339474201202,0.0359260998666286,0.1716753095388412,0.0893829911947250,0.3786503672599792,-0.2136993557214737,0.2561863958835602,-0.2029487192630768,0.0214800536632538,-0.0743292272090912,0.1618950664997101) * FEATURE2_texOff(vec2(1,0)); +res += mat4(0.4180209338665009,-0.0216797441244125,-0.3631378412246704,0.3311598598957062,0.0777714550495148,-0.0235705375671387,-0.0216308142989874,-0.0137214148417115,-0.0879728794097900,-0.0042620217427611,0.1639691442251205,-0.0467774234712124,-0.2364792823791504,0.4306892752647400,-0.1660353988409042,-0.0198664423078299) * FEATURE3_texOff(vec2(1,0)); +res += mat4(0.0329383164644241,0.0616457127034664,-0.0876978114247322,-0.0902816206216812,0.1547207981348038,-0.1080925613641739,0.0620862543582916,0.1953070461750031,-0.1226431578397751,-0.0826953724026680,0.0106061799451709,-0.0180888026952744,0.1180846989154816,-0.0574277527630329,-0.3581351637840271,0.1040254086256027) * FEATURE4_texOff(vec2(1,0)); +res += mat4(0.0718922466039658,-0.0639816597104073,0.2500624358654022,0.0169612597674131,-0.1061661243438721,-0.0787121802568436,-0.1806877404451370,-0.0875897556543350,0.0795312747359276,-0.0504190176725388,-0.0427933260798454,0.1079434454441071,-0.1743738204240799,0.0503573343157768,-0.2626316845417023,0.1060481369495392) * FEATURE1_texOff(vec2(1,1)); +res += mat4(0.2877856194972992,-0.0192954391241074,0.0357379056513309,0.0966648235917091,0.1347411870956421,0.1897733956575394,0.0600231923162937,0.1145158261060715,0.0577433519065380,-0.0875665172934532,-0.1702442616224289,-0.2217882275581360,-0.0265153795480728,-0.0828273594379425,0.0133187333121896,-0.1086040809750557) * FEATURE2_texOff(vec2(1,1)); +res += mat4(0.2957399487495422,0.1281296312808990,0.1354809850454330,0.1091071963310242,0.0684738680720329,0.0143296299502254,-0.0095662921667099,-0.0333633571863174,0.2293163388967514,0.0573069900274277,-0.0318913869559765,0.1224356889724731,-0.1447125226259232,-0.0462449304759502,-0.1280532181262970,0.2198632806539536) * FEATURE3_texOff(vec2(1,1)); +res += mat4(-0.1249560043215752,-0.1264289617538452,-0.0111747449263930,0.2133233994245529,0.0737310945987701,0.0572129078209400,-0.1522866785526276,-0.0053331558592618,-0.2315830886363983,0.0517257228493690,-0.1161448284983635,-0.0945684909820557,-0.1519399285316467,0.0498700365424156,0.1356800198554993,0.0395055748522282) * FEATURE4_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(0.0685209408402443,-0.1466239243745804,0.3530291020870209,1.6856886148452759) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Mapping 2_1 +//!BIND MODEL21 +//!BIND MODEL22 +//!BIND MODEL23 +//!BIND MODEL24 +//!SAVE MODEL1 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0252641290426254,0.0020070585887879,-0.0112976124510169,-0.0971267968416214); +res += mat4(-0.1112153232097626,-0.1290152519941330,0.0668729767203331,0.0118868779391050,0.1585973799228668,-0.0442963168025017,0.0418141037225723,0.1137910261750221,0.0022396857384592,0.0899342969059944,0.0501550808548927,0.0310229063034058,0.1902621537446976,-0.1355086266994476,-0.0383094958961010,0.1221060305833817) * MODEL21_texOff(vec2(-1,-1)); +res += mat4(-0.0415162704885006,0.0882404297590256,0.0391035228967667,0.0613963231444359,0.2475083470344543,-0.1803741455078125,-0.0198698658496141,-0.1254646480083466,-0.0021560578607023,-0.1062044128775597,0.1026266366243362,0.1119068190455437,0.4476961791515350,-0.0280944202095270,0.1568178832530975,-0.2190666645765305) * MODEL22_texOff(vec2(-1,-1)); +res += mat4(0.0188779961317778,0.0277530476450920,0.0389820747077465,-0.2586156129837036,0.0106787811964750,0.2646213471889496,0.0013440174516290,-0.0087228240445256,-0.0968640223145485,-0.0614846833050251,0.1707906574010849,0.0456502810120583,0.0542166642844677,0.0050051584839821,-0.1619164794683456,0.2529488205909729) * MODEL23_texOff(vec2(-1,-1)); +res += mat4(-0.0292564854025841,0.0573729574680328,-0.1158921718597412,0.0802060514688492,0.0014583545271307,0.1242551058530807,0.1504593491554260,-0.0239170473068953,0.0165718980133533,-0.0962095558643341,0.1369344890117645,-0.0701941400766373,-0.1156022772192955,-0.1000966429710388,-0.0309402327984571,0.1054060235619545) * MODEL24_texOff(vec2(-1,-1)); +res += mat4(-0.1535729616880417,-0.1164233237504959,-0.2167192697525024,0.1613093018531799,-0.0575151145458221,-0.1343143731355667,-0.3082703948020935,-0.0021589924581349,-0.0427034050226212,0.3576787114143372,0.0021093410905451,0.1162859648466110,0.0451593697071075,-0.1494793742895126,-0.0023208828642964,0.0194115508347750) * MODEL21_texOff(vec2(-1,0)); +res += mat4(0.0503892861306667,0.0074637639336288,0.2246681302785873,-0.0423772446811199,0.0203022230416536,0.0625192672014236,0.2670632302761078,-0.0629446730017662,-0.1362903565168381,0.2051977068185806,0.0412527546286583,-0.2094710320234299,0.1026567295193672,-0.0812265202403069,-0.0212699882686138,-0.3340020775794983) * MODEL22_texOff(vec2(-1,0)); +res += mat4(-0.0936334207653999,0.0898199155926704,0.1125340312719345,-0.1178874298930168,-0.1604606509208679,0.1726250797510147,-0.1367091685533524,0.2221400588750839,0.2257149219512939,0.3986952900886536,0.0298280436545610,0.0259350389242172,-0.0829658061265945,-0.0621973760426044,-0.0665359422564507,0.0518289841711521) * MODEL23_texOff(vec2(-1,0)); +res += mat4(-0.0050784200429916,-0.0438972637057304,0.0195731092244387,0.0615627765655518,-0.0996580272912979,0.0995503216981888,0.0083520598709583,-0.0639638230204582,-0.0507641807198524,-0.2197446078062057,-0.4345829486846924,-0.0690348520874977,-0.1994791328907013,0.1285219937562943,0.1701527237892151,-0.1436640024185181) * MODEL24_texOff(vec2(-1,0)); +res += mat4(0.0924441888928413,0.0236251149326563,-0.4910494089126587,0.0253128912299871,0.0478841923177242,0.0546688549220562,0.0182913988828659,-0.1137692704796791,0.1773209869861603,0.1137646883726120,-0.1463402658700943,0.0824856981635094,0.0260467510670424,0.1323533058166504,-0.2106251418590546,-0.0164368599653244) * MODEL21_texOff(vec2(-1,1)); +res += mat4(-0.0113249095156789,0.0121775679290295,0.3036385178565979,-0.0711661055684090,0.0071473894640803,0.0653769969940186,0.0444424673914909,0.1048209741711617,0.0073815234936774,-0.0720506235957146,0.0157744269818068,-0.0822135210037231,0.0176163744181395,-0.1016462519764900,-0.0552337914705276,-0.1344270259141922) * MODEL22_texOff(vec2(-1,1)); +res += mat4(-0.0391482673585415,-0.0465121790766716,-0.1243414431810379,0.1298855543136597,-0.2934526801109314,-0.0861015766859055,-0.2106774300336838,0.0624218992888927,0.0460473597049713,-0.1302386671304703,-0.1231082528829575,-0.3038274049758911,0.0471962280571461,-0.1751445084810257,0.0088917221873999,0.1439039707183838) * MODEL23_texOff(vec2(-1,1)); +res += mat4(0.0777043402194977,0.0375744961202145,-0.2180566191673279,-0.1813468188047409,-0.0745469704270363,-0.2368815839290619,0.0959016606211662,0.0049554058350623,0.1009718552231789,0.2360313534736633,-0.0028967154212296,-0.0317436158657074,0.2783422768115997,0.1929028630256653,-0.0215986371040344,-0.0122601818293333) * MODEL24_texOff(vec2(-1,1)); +res += mat4(0.1924431771039963,0.1783954352140427,0.2372474074363708,0.0639218538999557,0.0571426115930080,-0.4163235127925873,-0.3362930119037628,0.0283660516142845,0.0671776533126831,0.0109091829508543,0.4148448705673218,0.0241018421947956,-0.2733539640903473,0.4192453920841217,0.2738875746726990,0.0797610655426979) * MODEL21_texOff(vec2(0,-1)); +res += mat4(-0.0212403070181608,-0.2697927057743073,-0.1744555979967117,-0.0606739483773708,-0.0857950374484062,0.1570112705230713,-0.0018789059249684,-0.2498721182346344,-0.0161301326006651,-0.2893466651439667,0.0802197083830833,0.1134568080306053,0.1777777373790741,0.0353450402617455,-0.0900064632296562,0.0751536414027214) * MODEL22_texOff(vec2(0,-1)); +res += mat4(0.2031233608722687,-0.0338623449206352,-0.0822928696870804,0.1247866824269295,-0.1269137710332870,-0.2576018273830414,-0.0917174965143204,0.0713449046015739,0.0128632178530097,-0.1282040476799011,0.0337126217782497,-0.1021205335855484,-0.0005837124772370,-0.2502804100513458,0.0379060283303261,-0.0176716819405556) * MODEL23_texOff(vec2(0,-1)); +res += mat4(-0.0422750413417816,0.0589921548962593,0.8017035722732544,-0.0014115098165348,-0.0393681973218918,0.4956814348697662,0.0968101620674133,0.0629168972373009,-0.1774604767560959,0.0633111223578453,0.0452733784914017,-0.2390646040439606,0.1999530196189880,-0.1968724727630615,0.0808281823992729,0.0941600054502487) * MODEL24_texOff(vec2(0,-1)); +res += mat4(-0.0352727212011814,0.3437806069850922,-0.0476344861090183,-0.1606630235910416,-0.0343705490231514,0.1333051025867462,-0.5940815210342407,-0.0394776575267315,-0.0744098052382469,-0.3511085510253906,-0.2558006346225739,0.4300695061683655,0.2079274207353592,-0.4144565761089325,-0.0982594862580299,-0.1615497320890427) * MODEL21_texOff(vec2(0,0)); +res += mat4(-0.0059860688634217,0.1273269206285477,-0.3456586599349976,-0.0190329030156136,0.1169960796833038,-0.1429924070835114,-0.0033589454833418,0.2456189990043640,-0.0092286551371217,-0.2694190144538879,0.1299170553684235,0.1960584372282028,0.1669663637876511,-0.0484806038439274,-0.1899022608995438,0.1647327840328217) * MODEL22_texOff(vec2(0,0)); +res += mat4(0.0625243261456490,0.1032451093196869,-0.2932478487491608,0.1190262883901596,0.0616716109216213,0.0938597172498703,-0.1479334682226181,-0.3196952342987061,-0.1079709678888321,-0.0462686419487000,-0.0123734986409545,-0.1397174149751663,-0.0758672803640366,0.3155734241008759,0.2930433154106140,-0.2042100727558136) * MODEL23_texOff(vec2(0,0)); +res += mat4(-0.3102602362632751,-0.4287241697311401,0.3141718804836273,0.0350647680461407,-0.1062964424490929,-0.3341901004314423,0.1113465353846550,0.0154921691864729,-0.1653561890125275,0.3684203624725342,0.0569069758057594,-0.2477611005306244,-0.0763007178902626,-0.5039454698562622,0.2129010260105133,0.0918852165341377) * MODEL24_texOff(vec2(0,0)); +res += mat4(0.1528778672218323,0.0202827136963606,-0.2039165645837784,-0.0049510928802192,0.1949958056211472,-0.0766472518444061,0.1119823306798935,-0.2927724421024323,0.1109305992722511,0.0024666218087077,-0.0852363407611847,0.1361898183822632,-0.0043576471507549,-0.1508250385522842,-0.1213319674134254,-0.2703056037425995) * MODEL21_texOff(vec2(0,1)); +res += mat4(0.2466580718755722,-0.0102472612634301,-0.0035874743480235,-0.0960575714707375,0.1597584187984467,-0.0370427444577217,0.2127049714326859,-0.2604130506515503,-0.1293757706880569,0.1866120547056198,0.1729621887207031,0.1077893078327179,0.2043562829494476,0.1016410365700722,-0.0543094277381897,-0.0761859342455864) * MODEL22_texOff(vec2(0,1)); +res += mat4(-0.1533411294221878,-0.0147021356970072,-0.1735900640487671,-0.0857466235756874,0.0696973279118538,0.0461607165634632,-0.1468752622604370,-0.0073966621421278,-0.3312566578388214,0.0919762402772903,-0.1047898009419441,-0.1136892884969711,-0.1360038965940475,0.2013337463140488,0.1234860643744469,-0.1336199790239334) * MODEL23_texOff(vec2(0,1)); +res += mat4(0.0098816882818937,0.0096082901582122,-0.0194525942206383,-0.1894365102052689,0.0175760649144650,0.3709345459938049,0.1656151562929153,-0.0369059182703495,0.0341509804129601,-0.2093078196048737,-0.1340210586786270,-0.0690313056111336,0.1944856196641922,-0.0593277141451836,0.1038036644458771,0.0076564503833652) * MODEL24_texOff(vec2(0,1)); +res += mat4(0.0145893357694149,-0.2569732069969177,0.0885745361447334,-0.1714108437299728,0.0432470701634884,0.1793710142374039,-0.2939989864826202,0.0229709502309561,0.0542569123208523,-0.0988112017512321,0.0202424433082342,-0.2312433272600174,-0.0552027523517609,0.1280310153961182,0.0492839440703392,0.1757804751396179) * MODEL21_texOff(vec2(1,-1)); +res += mat4(-0.3073885738849640,0.2344706654548645,-0.1168434545397758,-0.2214684784412384,0.0571368373930454,-0.5391205549240112,-0.1411010324954987,-0.0425849296152592,-0.0173266585916281,0.0684327781200409,0.0843692347407341,0.0584979951381683,0.2396380305290222,-0.1728077530860901,0.0662056952714920,0.1055703312158585) * MODEL22_texOff(vec2(1,-1)); +res += mat4(-0.0243379548192024,0.0576447062194347,-0.0262649431824684,0.0168959647417068,0.0717182382941246,0.0354443006217480,-0.0666614472866058,-0.3415270745754242,-0.0501335300505161,0.1691432744264603,0.0794525966048241,0.0586176477372646,0.0911357924342155,-0.0447581633925438,0.1969918459653854,-0.0579728111624718) * MODEL23_texOff(vec2(1,-1)); +res += mat4(0.1118244975805283,0.0151733597740531,0.4261389076709747,-0.0512168630957603,-0.0730302482843399,0.2573783695697784,0.1865445226430893,-0.0135002937167883,-0.0590215884149075,-0.6961117982864380,0.1854244619607925,-0.0234839953482151,-0.1179354637861252,-0.0389842763543129,0.0056326398625970,0.3447855114936829) * MODEL24_texOff(vec2(1,-1)); +res += mat4(-0.2119042277336121,-0.0400464348495007,-0.1367520391941071,-0.0675146207213402,0.0725385025143623,0.0308250635862350,-0.2567870020866394,-0.2430749535560608,-0.0460075512528419,0.1475888043642044,0.1505183428525925,-0.1297791302204132,0.2682323753833771,0.2181311547756195,-0.2046609222888947,-0.1567910313606262) * MODEL21_texOff(vec2(1,0)); +res += mat4(-0.0110625857487321,-0.0195069331675768,0.0727807581424713,-0.2164670377969742,-0.2580776810646057,0.0179920289665461,-0.2441963851451874,0.1138706579804420,0.0938788875937462,-0.1292000412940979,0.0078846858814359,-0.1092280596494675,0.0832615420222282,-0.0028215555939823,-0.0535462461411953,0.3874228298664093) * MODEL22_texOff(vec2(1,0)); +res += mat4(0.2820084989070892,0.0044152657501400,0.0032118041999638,0.3697174489498138,0.0823801383376122,0.0659788399934769,-0.0891094952821732,-0.0316361635923386,-0.1892217695713043,-0.3404721617698669,0.2671749591827393,0.0481932125985622,-0.1755365729331970,-0.2196994721889496,-0.0300163086503744,-0.1842257976531982) * MODEL23_texOff(vec2(1,0)); +res += mat4(0.0686017945408821,-0.1509299278259277,0.1429064571857452,0.1194094717502594,0.0907324030995369,0.0474951341748238,-0.2149759382009506,-0.3423605263233185,-0.0300542600452900,0.0238965954631567,-0.0861588642001152,-0.2175619751214981,-0.1813366860151291,-0.1491464078426361,-0.0436973236501217,0.0809323191642761) * MODEL24_texOff(vec2(1,0)); +res += mat4(0.0549467317759991,0.1676653474569321,-0.0363611206412315,-0.1386555731296539,0.0509185940027237,0.0146528575569391,-0.2752462327480316,-0.0275595486164093,0.0468580946326256,-0.2031522244215012,-0.0148721896111965,0.2903475463390350,-0.0474689789116383,0.1088950186967850,-0.0977190062403679,0.0917568951845169) * MODEL21_texOff(vec2(1,1)); +res += mat4(0.0792685672640800,0.0026835498865694,0.1207516714930534,-0.0853453353047371,-0.0120416637510061,-0.0484751760959625,-0.3234220147132874,0.2299493998289108,-0.0252957977354527,0.0075421952642500,0.0648552179336548,-0.0809669345617294,0.1886993795633316,-0.0241757091134787,-0.0375543795526028,0.2057665735483170) * MODEL22_texOff(vec2(1,1)); +res += mat4(-0.1336321830749512,-0.0607530772686005,-0.0417493768036366,0.0523307174444199,-0.0663967430591583,-0.0191527139395475,0.0510897785425186,-0.1875380277633667,-0.1703707873821259,0.2028727382421494,-0.1047068834304810,-0.0357626788318157,0.0777209326624870,0.0011983948061243,0.1192802339792252,-0.1174854114651680) * MODEL23_texOff(vec2(1,1)); +res += mat4(0.0474792011082172,0.0236374791711569,-0.3770178854465485,-0.0976087376475334,0.0647136867046356,0.2597187161445618,0.2058401554822922,-0.0147128775715828,0.1671024560928345,-0.1731404811143875,0.1371451467275620,0.0042626857757568,-0.0421997830271721,0.5207641720771790,-0.0902144312858582,0.1766482144594193) * MODEL24_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(0.8545718789100647,-0.0840604752302170,-0.0907920897006989,0.2459163814783096) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Mapping 2_2 +//!BIND MODEL21 +//!BIND MODEL22 +//!BIND MODEL23 +//!BIND MODEL24 +//!SAVE MODEL2 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0801050662994385,0.0994666591286659,0.1125593259930611,0.0852865576744080); +res += mat4(-0.1076162829995155,0.0266945809125900,0.0198028944432735,-0.0909305214881897,-0.1235600113868713,0.0722407102584839,-0.0443985834717751,0.0059736096300185,0.0491683483123779,0.1287503838539124,0.1809915900230408,-0.0070542865432799,0.1541907638311386,0.0577855221927166,-0.2265781909227371,0.0782156139612198) * MODEL21_texOff(vec2(-1,-1)); +res += mat4(-0.0884904488921165,0.0377266407012939,-0.0276375859975815,-0.0822868347167969,0.1425243914127350,0.0806366652250290,0.0922210067510605,0.1286708414554596,-0.1484761834144592,-0.0301500968635082,-0.0055872774682939,0.0161952208727598,0.4339979588985443,0.0380864329636097,-0.1138076707720757,0.1879473179578781) * MODEL22_texOff(vec2(-1,-1)); +res += mat4(-0.2449868768453598,0.2305254340171814,-0.0461190715432167,-0.2919104099273682,-0.0156384315341711,0.0992589965462685,-0.1274316608905792,-0.2707347273826599,0.1928935199975967,-0.2594090402126312,-0.1163630560040474,0.0172485932707787,0.2589476406574249,0.0019404403865337,0.0474975742399693,0.2575989663600922) * MODEL23_texOff(vec2(-1,-1)); +res += mat4(0.0475100353360176,-0.1571575701236725,-0.2145249843597412,0.4844884574413300,-0.0216422565281391,-0.0824311375617981,0.2302782386541367,-0.1298962384462357,-0.0242775734513998,-0.1919456273317337,0.1028647124767303,0.2100389599800110,-0.1880834549665451,-0.0531477034091949,0.1091206669807434,-0.0349448174238205) * MODEL24_texOff(vec2(-1,-1)); +res += mat4(0.0937834307551384,-0.0431016944348812,0.0499998889863491,0.2555504739284515,0.2153814882040024,0.0436704270541668,0.0409013405442238,0.0823329240083694,0.1453103870153427,0.2357983738183975,0.1184995695948601,0.1039678230881691,-0.0968736559152603,-0.1543714106082916,-0.0155327608808875,-0.0496940165758133) * MODEL21_texOff(vec2(-1,0)); +res += mat4(0.1541574299335480,0.0462776720523834,0.1389753818511963,-0.0364779159426689,-0.1614634841680527,-0.0453020967543125,-0.0589548386633396,-0.0239928495138884,0.1283895373344421,0.0114042377099395,0.0370410792529583,0.1327277421951294,-0.0000656814154354,-0.1986267566680908,0.2169470638036728,0.1556583940982819) * MODEL22_texOff(vec2(-1,0)); +res += mat4(-0.0373123362660408,0.0372782796621323,0.1676844209432602,-0.1999126523733139,-0.1270708143711090,0.0970383137464523,-0.0399069190025330,-0.3352887332439423,-0.4539073109626770,0.1036956906318665,0.4347033798694611,-0.3350403606891632,-0.3603274822235107,0.0875138640403748,0.0526728853583336,0.3195717036724091) * MODEL23_texOff(vec2(-1,0)); +res += mat4(0.1242399737238884,-0.0889202132821083,-0.1343170702457428,-0.2953342497348785,0.0153844067826867,-0.0240883398801088,-0.0004045188543387,-0.1458905339241028,0.0373688153922558,-0.0160305183380842,-0.1034718975424767,0.0265125390142202,-0.0347625054419041,-0.2592774629592896,-0.1017255261540413,0.0414492636919022) * MODEL24_texOff(vec2(-1,0)); +res += mat4(-0.0758282393217087,-0.2325401753187180,0.0121709108352661,-0.0803330987691879,-0.1435064226388931,0.0256339330226183,0.0273901242762804,-0.0140262683853507,-0.2210821658372879,0.1979586631059647,-0.1605195850133896,0.0261953733861446,0.1407209187746048,0.0468989051878452,-0.0349932424724102,0.1721057891845703) * MODEL21_texOff(vec2(-1,1)); +res += mat4(-0.0681628435850143,-0.0098209036514163,0.1239921897649765,-0.0204317718744278,0.0804548338055611,0.2152336686849594,-0.0024442567955703,0.0320925526320934,0.0361015871167183,-0.0205314978957176,-0.1126058697700500,-0.0014873257605359,0.2800332605838776,0.0037784755695611,0.0869058221578598,0.0596554465591908) * MODEL22_texOff(vec2(-1,1)); +res += mat4(-0.0865352898836136,0.1016037687659264,-0.1264311075210571,-0.0650823414325714,0.1625873446464539,0.1388018280267715,0.0026970407925546,-0.2184839397668839,-0.2269182056188583,0.1520041227340698,0.1423522979021072,-0.0059245000593364,0.0274912212044001,-0.0769346952438354,-0.0494759194552898,-0.1748398691415787) * MODEL23_texOff(vec2(-1,1)); +res += mat4(0.0750753954052925,-0.0273857451975346,0.1419735848903656,-0.0235730838030577,-0.0138704841956496,-0.0139689007773995,0.0483048185706139,-0.0956244021654129,0.1120440736413002,-0.0972621366381645,-0.1160798147320747,0.1939661800861359,0.1023747995495796,-0.0643956139683723,0.2780937850475311,0.3574087619781494) * MODEL24_texOff(vec2(-1,1)); +res += mat4(0.2297069579362869,0.0962421149015427,-0.1195881068706512,0.0097166597843170,0.0348805896937847,0.1338941305875778,0.1152703538537025,0.1502132713794708,0.3627513647079468,-0.0340237580239773,0.0487365946173668,0.0061550815589726,-0.1395468115806580,-0.1357703059911728,-0.0263763219118118,-0.2589575350284576) * MODEL21_texOff(vec2(0,-1)); +res += mat4(0.0513985306024551,-0.0190195124596357,0.0479905530810356,-0.2535712718963623,-0.1374500244855881,-0.0866894349455833,0.1034291535615921,-0.1374215781688690,0.0866108834743500,0.0543164573609829,-0.0009623619844206,-0.0662131085991859,0.3434849381446838,-0.2140731215476990,0.1444104611873627,0.0636750832200050) * MODEL22_texOff(vec2(0,-1)); +res += mat4(0.1116948574781418,-0.0316041857004166,-0.1632359474897385,0.1782215535640717,-0.0255798362195492,-0.0638066157698631,-0.0080749560147524,-0.1936112344264984,-0.0144117018207908,-0.0171538740396500,-0.0740332379937172,-0.1351401209831238,-0.1139489710330963,-0.0578186400234699,-0.1057691052556038,0.1277135163545609) * MODEL23_texOff(vec2(0,-1)); +res += mat4(-0.0818284749984741,-0.0793879851698875,-0.1394771486520767,-0.1681332737207413,0.0181720070540905,-0.0585673451423645,0.0554860942065716,0.0241071023046970,-0.1968786269426346,-0.0705669671297073,0.0864307507872581,-0.2742085456848145,0.1376655697822571,-0.0656840577721596,0.1653045862913132,-0.1848305314779282) * MODEL24_texOff(vec2(0,-1)); +res += mat4(-0.1254152655601501,-0.0198164507746696,0.1184594780206680,0.1534397155046463,-0.2571099698543549,-0.0189164727926254,0.3401025831699371,0.0162880644202232,-0.1703143566846848,-0.1438487768173218,-0.2043357193470001,0.3892571032047272,-0.3171251416206360,-0.1261951327323914,0.1327711045742035,-0.2680117785930634) * MODEL21_texOff(vec2(0,0)); +res += mat4(0.1005501970648766,0.1227165609598160,0.0960206910967827,-0.4399232268333435,-0.3774831891059875,0.0490228980779648,0.0381175167858601,-0.1295703649520874,-0.0732832849025726,-0.0267067495733500,-0.1944154500961304,-0.0241207536309958,0.2901774048805237,-0.0830366536974907,0.2960685491561890,-0.4988582730293274) * MODEL22_texOff(vec2(0,0)); +res += mat4(0.0147057073190808,-0.1284276843070984,-0.2404933720827103,0.1863894313573837,0.1022091433405876,0.0848517194390297,0.0398509576916695,0.0116729624569416,-0.0392150692641735,0.0024178705643862,-0.1381286531686783,-0.2900184392929077,-0.0715357512235641,-0.0105091603472829,-0.0912584289908409,-0.3712546527385712) * MODEL23_texOff(vec2(0,0)); +res += mat4(-0.0243808180093765,-0.0519543960690498,-0.1486581712961197,0.1387389749288559,-0.0702589079737663,-0.2179156243801117,0.0258279461413622,-0.0185336414724588,-0.0714985132217407,0.1415340155363083,0.3182643651962280,-0.4657842814922333,0.2144563347101212,0.0918599069118500,-0.1168326437473297,0.1724049299955368) * MODEL24_texOff(vec2(0,0)); +res += mat4(-0.0126319238916039,-0.1009174659848213,0.2504695951938629,-0.0236394405364990,0.0128898788243532,-0.0896529331803322,0.0866011306643486,0.1438800841569901,-0.2136913686990738,-0.0201385989785194,-0.0688927844166756,-0.0991765856742859,0.0517510063946247,0.1439600437879562,0.1174704581499100,-0.1086399927735329) * MODEL21_texOff(vec2(0,1)); +res += mat4(-0.0503461919724941,-0.0740107893943787,-0.1325467377901077,-0.2074648141860962,0.1072454899549484,-0.1761658638715744,0.0871471762657166,-0.1673765629529953,-0.2682093679904938,0.0293811168521643,-0.1638542264699936,-0.2117409408092499,0.3477135002613068,0.2295099198818207,0.0491019152104855,0.1084206327795982) * MODEL22_texOff(vec2(0,1)); +res += mat4(-0.0504011251032352,0.2067288905382156,-0.0073629999533296,0.1457924097776413,0.0620339177548885,-0.1119948700070381,-0.1501118838787079,0.2346826344728470,0.5092602372169495,0.1868600249290466,-0.1136022731661797,0.1919664889574051,0.1219481229782104,0.2078367024660110,0.0028008318040520,-0.0405882745981216) * MODEL23_texOff(vec2(0,1)); +res += mat4(-0.2219170629978180,-0.0478240586817265,-0.0489866286516190,-0.0739227905869484,-0.1364644467830658,-0.2019552439451218,-0.1066836491227150,-0.0749373212456703,0.2374245673418045,-0.0857832208275795,-0.3563011586666107,-0.1506288647651672,-0.1566981822252274,-0.0162856802344322,-0.1215076893568039,-0.1535970270633698) * MODEL24_texOff(vec2(0,1)); +res += mat4(-0.0579966939985752,-0.0037815778050572,-0.1812305003404617,-0.0753935948014259,-0.1741165965795517,-0.1541876494884491,-0.0491808578372002,0.0727171599864960,-0.1054848581552505,0.0190282333642244,-0.0141610363498330,-0.1216798201203346,0.0344856232404709,0.0057502901181579,-0.1386553198099136,0.1065665036439896) * MODEL21_texOff(vec2(1,-1)); +res += mat4(0.0439453646540642,0.0813000127673149,-0.0220230370759964,0.0326743498444557,0.0087312972173095,-0.0348919928073883,0.0759362801909447,-0.1092130541801453,-0.0025188133586198,-0.0417857021093369,-0.0689977705478668,-0.0642506554722786,0.3260026872158051,-0.0035864580422640,-0.0810837224125862,0.1716388165950775) * MODEL22_texOff(vec2(1,-1)); +res += mat4(0.0271371658891439,0.0734363794326782,0.0598491057753563,0.0557300187647343,-0.0026056636124849,-0.0633884444832802,-0.0733394920825958,-0.1940178871154785,0.2010715454816818,0.1119642481207848,0.1389995515346527,-0.0949506536126137,0.0911158993840218,0.0635829418897629,0.0315949209034443,-0.1315614432096481) * MODEL23_texOff(vec2(1,-1)); +res += mat4(0.1017910912632942,-0.2061360031366348,-0.1041752025485039,-0.0103018851950765,0.1707462370395660,-0.0586810894310474,0.0581866465508938,-0.0161019377410412,0.0879122987389565,-0.0541197322309017,-0.2283704727888107,-0.1977609544992447,0.1338181495666504,-0.0650581866502762,-0.0752524137496948,0.0543635524809361) * MODEL24_texOff(vec2(1,-1)); +res += mat4(-0.1299287825822830,0.1638022810220718,-0.1342575103044510,-0.0590993240475655,-0.0747960284352303,-0.0861271098256111,0.0613376274704933,0.2032689154148102,-0.0197483338415623,0.0458240620791912,0.0245554819703102,-0.0633800178766251,-0.3771719038486481,-0.0954804494976997,0.0676602721214294,-0.1297683864831924) * MODEL21_texOff(vec2(1,0)); +res += mat4(-0.0106584131717682,0.2311353236436844,-0.0716090351343155,-0.0407039411365986,-0.3316935598850250,0.0362733528017998,0.1759717166423798,-0.1649848371744156,-0.0889547392725945,-0.0092398673295975,-0.0180338956415653,-0.1939817070960999,0.2857017219066620,-0.0942703559994698,-0.0775639787316322,0.4081833660602570) * MODEL22_texOff(vec2(1,0)); +res += mat4(0.0571750700473785,-0.1698885709047318,-0.1413949429988861,-0.0179388727992773,-0.1160788536071777,0.0946100726723671,-0.1626931577920914,0.0623765438795090,-0.1634476184844971,-0.1697023957967758,-0.1382151246070862,0.0848704501986504,0.1146163865923882,-0.0801072195172310,0.0961583033204079,0.0265287980437279) * MODEL23_texOff(vec2(1,0)); +res += mat4(-0.0189419556409121,-0.0117408009245992,-0.0473808012902737,-0.0467528775334358,0.1804582625627518,0.0459953360259533,0.3216558992862701,0.0527309626340866,0.0947266072034836,-0.0655805468559265,-0.0609670653939247,0.0645589157938957,-0.0740409195423126,-0.0024905861355364,0.1519519537687302,-0.1588659882545471) * MODEL24_texOff(vec2(1,0)); +res += mat4(0.0682990401983261,0.2567158341407776,-0.1169872060418129,-0.1719230711460114,0.0147625533863902,-0.1173110157251358,-0.1417838484048843,0.2485725283622742,0.1868502795696259,-0.1067186444997787,0.0013148693833500,-0.1634033620357513,0.1535543054342270,0.2188349515199661,0.0692407041788101,0.1484300643205643) * MODEL21_texOff(vec2(1,1)); +res += mat4(-0.3491378724575043,-0.0463713146746159,-0.0171543508768082,-0.0676113516092300,0.1483834236860275,0.0099052665755153,-0.0194302722811699,0.0146431894972920,0.0083301635459065,0.0747834295034409,0.0074021499603987,0.0754715800285339,0.0756404399871826,0.1152370944619179,-0.2008460611104965,0.1032391339540482) * MODEL22_texOff(vec2(1,1)); +res += mat4(0.0221508126705885,0.1666185259819031,0.0065415902063251,-0.1316863298416138,-0.1317702233791351,0.0541386231780052,-0.0880564376711845,-0.1134744808077812,0.0478222519159317,-0.1045515537261963,0.0662696063518524,-0.0086398208513856,-0.1371609419584274,-0.1181495860219002,0.0720863267779350,-0.0144057497382164) * MODEL23_texOff(vec2(1,1)); +res += mat4(-0.2347561568021774,-0.0290091782808304,0.2239039242267609,-0.0208126846700907,-0.1887960135936737,-0.3240784704685211,-0.0081930644810200,-0.0753498002886772,-0.2413107901811600,-0.1123580858111382,0.1063470691442490,-0.0321078971028328,0.1231439933180809,0.2325603067874908,0.0910423919558525,0.2151947170495987) * MODEL24_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(-0.3700384795665741,0.1867311000823975,0.3296721875667572,0.1223545819520950) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Mapping 2_3 +//!BIND MODEL21 +//!BIND MODEL22 +//!BIND MODEL23 +//!BIND MODEL24 +//!SAVE MODEL3 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0395699851214886,0.0608489736914635,-0.0564824230968952,0.0437459684908390); +res += mat4(0.0627577453851700,0.0735108256340027,-0.2505723834037781,0.0542526282370090,0.0917229577898979,0.1743847727775574,-0.1443964093923569,0.0286235641688108,0.0259803235530853,-0.1268649697303772,-0.1885348558425903,-0.0495235696434975,-0.2251551002264023,-0.0794702842831612,-0.0616355538368225,-0.0915255546569824) * MODEL21_texOff(vec2(-1,-1)); +res += mat4(0.0041539301164448,-0.1277450621128082,-0.0736408308148384,-0.1307520866394043,-0.0670706331729889,0.0655885860323906,-0.1496570259332657,-0.0375640764832497,0.0466563180088997,-0.0200107730925083,-0.0143314460292459,0.1205859109759331,0.1632398217916489,0.1467486023902893,-0.0971901938319206,-0.2475381493568420) * MODEL22_texOff(vec2(-1,-1)); +res += mat4(-0.0291220284998417,-0.1628953516483307,-0.1984842419624329,0.1113823950290680,-0.0521631613373756,-0.0531319230794907,0.0415288470685482,0.1265639513731003,-0.1073012053966522,0.0316452756524086,-0.1961745619773865,-0.1869751513004303,-0.0452654846012592,0.0425117798149586,-0.1291804164648056,0.1099748685956001) * MODEL23_texOff(vec2(-1,-1)); +res += mat4(-0.0621672905981541,-0.1170068979263306,-0.2559027969837189,0.0632625445723534,-0.0709713399410248,0.0024068769998848,0.0415944792330265,0.0127850398421288,0.1048079654574394,0.0251914486289024,0.0161311775445938,-0.1454379260540009,-0.0500094592571259,-0.1110163927078247,0.1343509703874588,0.1034615188837051) * MODEL24_texOff(vec2(-1,-1)); +res += mat4(0.0513200461864471,0.1136020645499229,0.2447075247764587,-0.0763697400689125,0.1113428100943565,-0.1855679154396057,0.0855054408311844,0.0366259589791298,0.0203202795237303,0.3182128071784973,-0.1010485142469406,0.0964826121926308,-0.1215276718139648,-0.0924006849527359,-0.2232442796230316,0.0020007661078125) * MODEL21_texOff(vec2(-1,0)); +res += mat4(0.1243320778012276,0.0423202812671661,0.1094631701707840,0.0753943473100662,0.0881383493542671,-0.1848517507314682,-0.0050055123865604,-0.0928815156221390,0.1052919998764992,0.0485860966145992,0.1169784665107727,-0.0707898586988449,0.1478728055953979,-0.0837634578347206,0.0231836903840303,-0.1768871992826462) * MODEL22_texOff(vec2(-1,0)); +res += mat4(0.1022085174918175,-0.0211354717612267,0.1740949302911758,0.0813340842723846,0.0043503181077540,0.0322730280458927,0.3733610808849335,0.3178401291370392,0.0780522152781487,-0.2078098505735397,0.2326960414648056,-0.1028296202421188,0.1486390829086304,0.1746619492769241,0.0158440563827753,-0.0118377795442939) * MODEL23_texOff(vec2(-1,0)); +res += mat4(-0.1228021234273911,-0.1997943669557571,0.0528172329068184,0.1241136938333511,-0.0111753633245826,-0.1043810248374939,-0.0450375340878963,0.0002034085482592,-0.0804947540163994,0.0422211848199368,-0.0595895461738110,-0.1947806924581528,0.0979772582650185,0.0567244403064251,-0.1528084725141525,-0.0355322510004044) * MODEL24_texOff(vec2(-1,0)); +res += mat4(0.1631362438201904,0.0498481169342995,-0.0089212199673057,-0.0720624104142189,-0.1467376649379730,-0.0886757373809814,-0.1086840406060219,-0.0926273167133331,0.1002626121044159,-0.1744916588068008,0.2092798501253128,0.0040560439229012,-0.0857805833220482,0.0715837329626083,0.0159663911908865,-0.1589342057704926) * MODEL21_texOff(vec2(-1,1)); +res += mat4(0.1283992677927017,-0.0748001709580421,0.0503445640206337,0.1436996012926102,-0.0578200221061707,0.0703096389770508,-0.0687802582979202,-0.0129764322191477,0.0895025357604027,-0.1329483687877655,-0.0736541375517845,0.0280814114958048,0.1889102011919022,-0.1353993266820908,0.2314101755619049,-0.2732896208763123) * MODEL22_texOff(vec2(-1,1)); +res += mat4(-0.0739665105938911,-0.0940427929162979,-0.0602119080722332,-0.1030540987849236,-0.0638908967375755,0.0622291751205921,-0.0864136666059494,-0.0993429347872734,-0.0427073761820793,0.1570128947496414,0.0602149590849876,0.0754636377096176,0.0739335343241692,-0.1738847941160202,0.3475988507270813,0.1212450787425041) * MODEL23_texOff(vec2(-1,1)); +res += mat4(0.0700742602348328,0.0258588436990976,0.0165073089301586,-0.1287141591310501,0.1457926332950592,0.0704771205782890,-0.0823140218853951,0.0203093010932207,-0.0002792996529024,-0.0393618606030941,-0.0399558469653130,0.0385929793119431,-0.0298787374049425,-0.1494029164314270,0.2029565274715424,0.0417981706559658) * MODEL24_texOff(vec2(-1,1)); +res += mat4(-0.0004194977809675,-0.3157874345779419,0.0497878901660442,-0.0065837316215038,-0.0172039829194546,-0.0820840448141098,-0.4610428810119629,0.2269997447729111,0.2450533658266068,0.0967088267207146,-0.0451896451413631,0.1585505753755569,0.2038455605506897,0.1394438892602921,0.0297292936593294,-0.0373205430805683) * MODEL21_texOff(vec2(0,-1)); +res += mat4(-0.0982794240117073,-0.1137310490012169,-0.0952451527118683,-0.3014577031135559,-0.0727376639842987,0.1733450740575790,0.1003903970122337,0.0597028434276581,0.2956336736679077,-0.1751281768083572,-0.0824704319238663,-0.0061812968924642,0.2154264301061630,0.2038961499929428,-0.0736305713653564,-0.2668650150299072) * MODEL22_texOff(vec2(0,-1)); +res += mat4(0.0256061535328627,0.1342932730913162,0.0753029733896255,0.0703347846865654,0.0142899369820952,-0.1569631546735764,-0.1878796070814133,0.0662383511662483,-0.1887955963611603,0.0202646255493164,0.1224900856614113,-0.0310522951185703,-0.0306768212467432,0.0886546224355698,0.1495911031961441,-0.0112737920135260) * MODEL23_texOff(vec2(0,-1)); +res += mat4(0.1089733615517616,0.0105121247470379,-0.0550716966390610,-0.0497401133179665,0.1112585365772247,-0.0571577697992325,0.0877897664904594,0.1866945773363113,0.0219764169305563,-0.1984333992004395,0.1515093743801117,-0.1469799578189850,0.2694879770278931,0.3941621482372284,-0.0714497044682503,-0.0253918748348951) * MODEL24_texOff(vec2(0,-1)); +res += mat4(-0.1898742616176605,0.0587206333875656,0.0965286940336227,0.2089173048734665,-0.2995064854621887,-0.0124478153884411,-0.2570134401321411,-0.0404339134693146,-0.3129808306694031,-0.0732677206397057,0.1286756992340088,0.0809909999370575,0.0960714742541313,0.0195612944662571,0.0563741512596607,0.1174666211009026) * MODEL21_texOff(vec2(0,0)); +res += mat4(-0.1379741132259369,-0.1843652427196503,0.0342148579657078,-0.3941901922225952,-0.2387728989124298,-0.0983124747872353,0.2987056672573090,0.0952062532305717,-0.0369557961821556,0.1695437878370285,0.1437737196683884,-0.0107029806822538,0.3344735503196716,-0.2743608355522156,-0.1638676077127457,-0.3623088896274567) * MODEL22_texOff(vec2(0,0)); +res += mat4(0.1686896681785583,-0.1175287887454033,0.0510360375046730,0.1514741480350494,-0.0655832141637802,-0.0593649484217167,0.0278182812035084,0.2638097107410431,0.0531565137207508,0.0539988167583942,-0.0239044893532991,0.0584456436336040,-0.0265596136450768,-0.1621537655591965,0.0189363993704319,0.0270255915820599) * MODEL23_texOff(vec2(0,0)); +res += mat4(-0.0417605824768543,0.0650023370981216,-0.1185194626450539,0.1018150299787521,-0.0404186472296715,-0.1790140718221664,0.1322214007377625,0.2621130049228668,0.1262603849172592,0.3647569417953491,-0.2128111273050308,-0.0979819372296333,0.0644460543990135,-0.2393988370895386,-0.0313146486878395,-0.0328303240239620) * MODEL24_texOff(vec2(0,0)); +res += mat4(-0.1515659689903259,-0.0625103488564491,0.0567429400980473,0.1698274314403534,0.0320702083408833,0.1500807553529739,0.0825549066066742,0.2254177480936050,-0.2211611568927765,-0.1177195161581039,0.1034450605511665,-0.3018153011798859,0.0798297077417374,0.0555893927812576,-0.0898859277367592,0.0519615113735199) * MODEL21_texOff(vec2(0,1)); +res += mat4(-0.2371167093515396,0.0016294118249789,0.1159951537847519,-0.0344165749847889,-0.0710942819714546,0.0480992048978806,0.0509846173226833,-0.1412254720926285,-0.1568778157234192,-0.1870728433132172,0.1207577213644981,0.1333144009113312,0.1353930234909058,0.0586353018879890,0.0708711817860603,-0.3204005658626556) * MODEL22_texOff(vec2(0,1)); +res += mat4(0.1163608282804489,-0.1160321310162544,-0.2076934427022934,-0.1904335916042328,0.0598156787455082,0.0067685842514038,0.0963250324130058,0.0784783437848091,0.1366059035062790,-0.0410939045250416,0.1238998100161552,-0.0852179750800133,-0.1947247385978699,-0.0981999263167381,0.0535281002521515,-0.1055881679058075) * MODEL23_texOff(vec2(0,1)); +res += mat4(-0.0637671649456024,-0.0064499378204346,0.1842970997095108,-0.1328489780426025,0.0003267149149906,-0.5031216740608215,-0.0179653316736221,0.0584709942340851,0.0700097084045410,0.0766740888357162,0.1232541874051094,0.2021855562925339,0.1238335818052292,0.0085318265482783,-0.0240383353084326,-0.0188703779131174) * MODEL24_texOff(vec2(0,1)); +res += mat4(-0.0930056422948837,0.1538043171167374,-0.0990037247538567,-0.0261110682040453,-0.0675843283534050,0.0571490451693535,-0.3218910396099091,0.1180047094821930,-0.0017797834007069,0.0744030475616455,0.0431810095906258,-0.0137200364843011,-0.2506403326988220,-0.0707130283117294,0.1469633430242538,0.2510152161121368) * MODEL21_texOff(vec2(1,-1)); +res += mat4(0.1050712838768959,-0.0882306098937988,0.0931309983134270,-0.0787276923656464,-0.0232659075409174,0.0650436282157898,-0.0176673512905836,-0.0752221867442131,-0.0334496945142746,-0.0138985738158226,0.2165847569704056,0.1991666108369827,0.2901391088962555,0.2180647999048233,-0.1443646103143692,-0.3071088492870331) * MODEL22_texOff(vec2(1,-1)); +res += mat4(-0.0575936175882816,0.0207119714468718,0.0257049724459648,-0.0032449006102979,0.0730581656098366,-0.1753779351711273,0.1073630824685097,0.1313032507896423,0.0456418469548225,0.0539213120937347,0.1091494858264923,-0.0074032363481820,-0.0913012400269508,0.1237107738852501,-0.1291710436344147,-0.0085193719714880) * MODEL23_texOff(vec2(1,-1)); +res += mat4(-0.0730482935905457,-0.2577207982540131,-0.0813524127006531,0.1913858950138092,-0.1587349027395248,0.1980197131633759,-0.0708211138844490,0.1543065011501312,-0.0359333381056786,-0.0152517268434167,-0.0382240191102028,0.0622127242386341,0.0543186068534851,0.3030571043491364,0.0411861836910248,0.2861347198486328) * MODEL24_texOff(vec2(1,-1)); +res += mat4(0.1137260794639587,0.0486001931130886,0.1247744783759117,-0.2281723320484161,-0.1822621822357178,-0.2350713461637497,-0.4009572565555573,0.1105967611074448,0.0017963231075555,-0.1782656013965607,-0.0118002668023109,-0.1426586806774139,0.0586571209132671,-0.1664751321077347,0.1949170529842377,0.2025169283151627) * MODEL21_texOff(vec2(1,0)); +res += mat4(-0.2915446460247040,-0.4064359664916992,0.0294926501810551,-0.4323428869247437,0.0242052897810936,0.1747243553400040,-0.1113334894180298,-0.2571753561496735,0.0356044508516788,-0.0064126686193049,0.2160912603139877,-0.0077259344980121,0.2002573013305664,-0.0842686295509338,-0.1941808760166168,-0.1405524462461472) * MODEL22_texOff(vec2(1,0)); +res += mat4(0.1184545382857323,0.3123326003551483,-0.0763484090566635,0.2485891729593277,-0.0806478708982468,-0.2785271406173706,0.0636063218116760,-0.0954685658216476,-0.1187968775629997,-0.0779199004173279,-0.0827225893735886,0.0213771630078554,0.1744999587535858,0.1453443616628647,0.0603240802884102,0.1269670724868774) * MODEL23_texOff(vec2(1,0)); +res += mat4(-0.1622463911771774,0.1838334798812866,0.2698122262954712,-0.0766897723078728,-0.3075465261936188,0.0303037483245134,-0.1572430580854416,-0.0708697363734245,0.1066895425319672,-0.1470635831356049,0.0185633953660727,0.1552434116601944,-0.2079014182090759,-0.2012314796447754,0.1441621780395508,-0.0696903169155121) * MODEL24_texOff(vec2(1,0)); +res += mat4(-0.0744083151221275,-0.0380666926503181,-0.1436908394098282,-0.0791898444294930,-0.0752477943897247,0.0607366077601910,-0.0647334083914757,-0.0652187690138817,0.1169729158282280,-0.0642231702804565,-0.0933886170387268,0.0517041943967342,-0.0317908041179180,0.1009515598416328,0.1802476644515991,0.0025323168374598) * MODEL21_texOff(vec2(1,1)); +res += mat4(-0.1145446449518204,-0.2266912907361984,-0.0247696135193110,0.1047836914658546,0.1362898349761963,-0.0337499119341373,-0.0587328374385834,0.0103969592601061,0.0318675637245178,0.0923065319657326,0.1435393691062927,0.1200088784098625,-0.1110786646604538,-0.1302264481782913,0.0047503835521638,-0.1983860135078430) * MODEL22_texOff(vec2(1,1)); +res += mat4(0.2148406803607941,-0.0035332106053829,-0.1777411550283432,-0.0104186786338687,-0.1212781965732574,0.0218317136168480,-0.0439897477626801,0.1040923967957497,0.1848798394203186,0.1051846444606781,-0.0291948448866606,0.0784485414624214,0.0886246263980865,-0.0656403377652168,-0.0910748243331909,-0.0193011946976185) * MODEL23_texOff(vec2(1,1)); +res += mat4(-0.1216316297650337,0.3013414144515991,-0.0780716240406036,-0.1723107397556305,-0.1137135475873947,-0.2829679548740387,0.1823804974555969,0.0040346342138946,-0.1605369150638580,-0.0946634188294411,-0.1456079930067062,-0.0433051548898220,-0.0219788197427988,0.0796556621789932,0.1824086308479309,-0.1175573393702507) * MODEL24_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(0.8135977387428284,0.3876158595085144,0.5046103000640869,0.4594687521457672) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Mapping 2_4 +//!BIND MODEL21 +//!BIND MODEL22 +//!BIND MODEL23 +//!BIND MODEL24 +//!SAVE MODEL4 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.0315543152391911,0.1555179506540298,0.0517499446868896,0.0372729748487473); +res += mat4(-0.0797682255506516,-0.0293099787086248,-0.1942041218280792,0.0264013074338436,0.1185973733663559,-0.0404785312712193,-0.0055224336683750,-0.1299815624952316,0.2070223987102509,-0.4804723858833313,-0.1165917441248894,0.1171601936221123,0.2411356270313263,0.1581407189369202,0.2091198265552521,-0.1091660335659981) * MODEL21_texOff(vec2(-1,-1)); +res += mat4(0.0186538938432932,0.0611119121313095,-0.0963890850543976,0.1151778697967529,-0.0065741837024689,0.2392209172248840,0.1524547934532166,0.2374428659677505,-0.0355737097561359,0.0383076891303062,0.1216262802481651,-0.0107433758676052,0.2354550063610077,-0.0246755387634039,0.1069167628884315,-0.2396176606416702) * MODEL22_texOff(vec2(-1,-1)); +res += mat4(0.0923934951424599,-0.0635019317269325,-0.1411410570144653,-0.0378440208733082,-0.0288484469056129,0.0294593106955290,-0.1106828004121780,0.1488092988729477,0.0040295440703630,0.1121465787291527,0.0310236439108849,-0.0195503532886505,-0.0852668434381485,-0.0448249652981758,0.0726218745112419,0.1542751789093018) * MODEL23_texOff(vec2(-1,-1)); +res += mat4(-0.0450116135179996,-0.3847686052322388,0.2870133519172668,0.1252340376377106,0.0033980400767177,-0.0363674350082874,0.0036683459766209,-0.2351852357387543,0.0025069455150515,0.0265726037323475,0.0610318481922150,0.2902134656906128,0.0738042891025543,-0.0408368408679962,-0.0660872012376785,-0.0624540634453297) * MODEL24_texOff(vec2(-1,-1)); +res += mat4(-0.3194551467895508,0.0681007876992226,0.1003035753965378,-0.2552178800106049,0.0954438969492912,-0.3502807021141052,0.0672670677304268,-0.1317015737295151,0.2461962699890137,0.1079957410693169,-0.0151481032371521,-0.1958953440189362,-0.0613673031330109,-0.0901385545730591,-0.0847248807549477,0.1191645264625549) * MODEL21_texOff(vec2(-1,0)); +res += mat4(-0.0379615388810635,0.0807170197367668,-0.1818383634090424,-0.0267549026757479,0.1505988389253616,-0.1376271098852158,-0.2192724198102951,-0.0096062691882253,-0.0908692106604576,-0.1312937140464783,0.0754841566085815,-0.0215871017426252,-0.0242383833974600,-0.0933266058564186,0.0331484600901604,0.1072490587830544) * MODEL22_texOff(vec2(-1,0)); +res += mat4(-0.2106042355298996,-0.0787690654397011,-0.0849803611636162,0.0466352179646492,-0.1961261481046677,-0.0817660987377167,0.2419726103544235,-0.0153274955227971,-0.2185695320367813,-0.0950802564620972,-0.2343144714832306,-0.2266100943088531,-0.6671147346496582,-0.2015433311462402,-0.0586382225155830,0.0397270098328590) * MODEL23_texOff(vec2(-1,0)); +res += mat4(0.3832928240299225,-0.0452453307807446,0.0228024385869503,-0.1660929769277573,0.0408475250005722,0.0455995760858059,0.0118437595665455,-0.2774609923362732,-0.2027087211608887,-0.0305645968765020,0.1207632869482040,0.2720900475978851,0.0666765421628952,0.1386576741933823,-0.0173678714782000,0.0400149784982204) * MODEL24_texOff(vec2(-1,0)); +res += mat4(0.1108774989843369,0.2108852416276932,-0.0784079656004906,0.1089377552270889,-0.2054775059223175,0.1714608222246170,-0.0696955323219299,-0.1356261521577835,-0.0628671273589134,0.0114193921908736,0.0360787957906723,0.2148019224405289,-0.0204319022595882,-0.0500150881707668,0.0309546887874603,-0.0971092730760574) * MODEL21_texOff(vec2(-1,1)); +res += mat4(0.0857046917080879,-0.0399912446737289,-0.0517813265323639,-0.0552857443690300,0.0355024673044682,-0.0021719506476074,-0.0945525467395782,-0.0641183108091354,-0.1086571961641312,-0.1299796402454376,-0.2127590477466583,-0.0219700708985329,0.0784510895609856,-0.0476048998534679,0.2827809453010559,0.0609270818531513) * MODEL22_texOff(vec2(-1,1)); +res += mat4(-0.1119558438658714,0.0726404860615730,0.0825571939349174,0.0224916487932205,-0.0061033838428557,-0.1289290785789490,0.2814421951770782,0.0026413861196488,-0.0901578217744827,0.0518177747726440,-0.1849635243415833,-0.1588570773601532,0.2014626413583755,-0.1468090862035751,-0.0624169334769249,0.0690811201930046) * MODEL23_texOff(vec2(-1,1)); +res += mat4(-0.0121422335505486,0.0071345414035022,-0.1635209619998932,0.0758560746908188,-0.0469941608607769,0.0069271670654416,-0.0128063261508942,-0.3691914677619934,0.1455157250165939,0.0489146634936333,-0.3052500486373901,-0.0431301929056644,-0.0009811962954700,0.0246521681547165,-0.0609234981238842,-0.0367697626352310) * MODEL24_texOff(vec2(-1,1)); +res += mat4(0.0782096832990646,0.0320303663611412,-0.1586948335170746,0.1094381734728813,0.2100283205509186,-0.2758803367614746,-0.1233054846525192,0.2671045064926147,-0.1168498843908310,0.1228952780365944,-0.0446910113096237,-0.0243778489530087,-0.0630228966474533,-0.0555957406759262,0.0474769249558449,0.0929727628827095) * MODEL21_texOff(vec2(0,-1)); +res += mat4(-0.0969403609633446,-0.0024517956189811,0.0361322239041328,-0.0362300239503384,-0.5148276686668396,0.1350579857826233,-0.0103584509342909,0.2138994336128235,0.0758939534425735,-0.0552204139530659,-0.0782844871282578,0.1261761337518692,0.0424622371792793,0.0261419918388128,0.0543122179806232,0.2064326703548431) * MODEL22_texOff(vec2(0,-1)); +res += mat4(0.2135557085275650,-0.3742221295833588,-0.0624374710023403,0.0829959139227867,0.1791780889034271,0.0619620457291603,-0.0695967599749565,-0.0398410446941853,0.1329480111598969,-0.0398928150534630,0.2144985347986221,-0.0245373491197824,0.0899518355727196,0.0219923742115498,0.2350498586893082,0.0117390165105462) * MODEL23_texOff(vec2(0,-1)); +res += mat4(-0.0774115398526192,0.3214412927627563,0.0486301444470882,0.1996026039123535,0.0308657363057137,0.0109317796304822,0.0033797994256020,-0.0199366305023432,-0.3230061531066895,0.1232255473732948,-0.1065940633416176,-0.4851747155189514,-0.0614488385617733,0.0681786462664604,0.0296245981007814,-0.0025765246246010) * MODEL24_texOff(vec2(0,-1)); +res += mat4(0.0569494999945164,0.0863935202360153,0.1084522381424904,0.0362804047763348,0.3846457600593567,-0.0006742558325641,0.0622698254883289,-0.0747561678290367,-0.2626045346260071,-0.0157147664576769,0.1987474113702774,-0.0899491608142853,-0.2338270395994186,0.2267315834760666,-0.0088401446118951,0.2224500477313995) * MODEL21_texOff(vec2(0,0)); +res += mat4(0.0321109890937805,-0.0441547185182571,0.0910171195864677,-0.2030475139617920,-0.3728782534599304,-0.2255143374204636,-0.1700307726860046,-0.0425272174179554,-0.2478382289409637,-0.1458135694265366,0.0857693925499916,0.1606809794902802,0.1546795368194580,-0.0000401431316277,0.1451834142208099,-0.0216320715844631) * MODEL22_texOff(vec2(0,0)); +res += mat4(0.3063552379608154,0.0152968727052212,0.2651586532592773,0.1429754346609116,0.0547419004142284,-0.2261687666177750,0.0663820132613182,0.0381174273788929,0.3730614483356476,-0.1423120200634003,-0.1363548934459686,0.0458713509142399,0.3388475179672241,0.2353098988533020,-0.4163550436496735,-0.0922676548361778) * MODEL23_texOff(vec2(0,0)); +res += mat4(0.0095615200698376,-0.3223747909069061,-0.0967657789587975,-0.0280365906655788,-0.2873184382915497,0.2708438336849213,0.0812093541026115,-0.1379932463169098,0.0515767745673656,0.3330641388893127,-0.0153703493997455,-0.1527515500783920,-0.3369265794754028,-0.3939591050148010,0.0887562930583954,0.1347984671592712) * MODEL24_texOff(vec2(0,0)); +res += mat4(-0.0925461575388908,0.0996235907077789,-0.0300114843994379,-0.0333492569625378,0.0807556062936783,0.0877982974052429,-0.0703359618782997,-0.1371384859085083,-0.0427750013768673,0.2374058067798615,-0.1031211987137794,0.1241844892501831,-0.0338047780096531,0.0474725402891636,-0.0701157450675964,0.1367818713188171) * MODEL21_texOff(vec2(0,1)); +res += mat4(-0.0572938509285450,0.0974681004881859,-0.1753964275121689,0.0308028776198626,-0.1572591066360474,0.1762650609016418,-0.1830598264932632,0.1416932046413422,0.0787320137023926,-0.1440637856721878,-0.2971755862236023,0.0002852209727280,-0.0831032842397690,0.0440665967762470,0.2984852194786072,-0.0378461517393589) * MODEL22_texOff(vec2(0,1)); +res += mat4(-0.0385229252278805,0.2381385862827301,0.3967501223087311,0.0591834932565689,-0.0000593331351411,0.0602027848362923,0.2235400080680847,0.0300942212343216,0.0623032003641129,-0.3076375126838684,-0.0922627002000809,0.1776435971260071,0.0138835953548551,-0.1684745103120804,-0.1451293826103210,0.1257009953260422) * MODEL23_texOff(vec2(0,1)); +res += mat4(0.0467851608991623,-0.0915262326598167,-0.1885841488838196,0.1083512976765633,0.1060335189104080,-0.1808657348155975,-0.2360822260379791,-0.4684079587459564,-0.1912018060684204,-0.0826780647039413,0.2638907134532928,-0.0254609994590282,0.0412860698997974,0.0950657650828362,0.1207320019602776,0.1460112035274506) * MODEL24_texOff(vec2(0,1)); +res += mat4(-0.1158416047692299,-0.3018259704113007,-0.1830129176378250,0.0285446885973215,0.2524012327194214,-0.3803845942020416,-0.2069202661514282,0.0197752639651299,0.0950239151716232,-0.3584090769290924,-0.0038467454724014,0.1223564594984055,0.0751278474926949,-0.2439247220754623,-0.0556234903633595,0.0295960344374180) * MODEL21_texOff(vec2(1,-1)); +res += mat4(-0.0337045155465603,-0.0953091084957123,0.0260435361415148,-0.2039384990930557,0.3394540548324585,0.0856311693787575,0.2238822430372238,-0.1061872914433479,-0.2034661471843719,0.0122164580971003,0.1615108996629715,-0.0687247440218925,-0.0790938585996628,0.0368939414620399,-0.0301502384245396,-0.0585987195372581) * MODEL22_texOff(vec2(1,-1)); +res += mat4(-0.2538822591304779,-0.0435059145092964,-0.2141390442848206,0.0790513008832932,-0.0001451646094210,-0.3589522838592529,-0.1088780909776688,0.2197315841913223,-0.0956702828407288,0.1344186067581177,0.0516004748642445,0.0649903342127800,-0.0180090796202421,0.1628724783658981,0.0863704308867455,-0.0143499895930290) * MODEL23_texOff(vec2(1,-1)); +res += mat4(-0.1852688640356064,-0.0462871976196766,0.0038761938922107,-0.1840631961822510,0.3262867331504822,-0.4159449636936188,-0.3329119086265564,-0.0700464770197868,0.1274786591529846,0.0211640261113644,0.1979912817478180,0.0075211287476122,-0.2186430245637894,0.0624196603894234,0.1661780625581741,0.2274489104747772) * MODEL24_texOff(vec2(1,-1)); +res += mat4(0.1756107807159424,-0.0157900061458349,0.0437570177018642,0.0787215158343315,0.1533915549516678,-0.1444859504699707,0.0694978833198547,0.0304623749107122,-0.0075772199779749,0.1702859550714493,-0.0057706157676876,0.0359586030244827,0.1423068046569824,0.0420976579189301,0.0512413755059242,-0.2139663249254227) * MODEL21_texOff(vec2(1,0)); +res += mat4(-0.0916532427072525,-0.1533742398023605,0.0103914868086576,0.1701473444700241,0.1866474896669388,0.0192243084311485,-0.0361972935497761,0.1437280625104904,-0.0077232676558197,0.0069401948712766,0.1163820847868919,0.0430501773953438,-0.1269823461771011,0.0923798754811287,-0.1556729823350906,0.0263928845524788) * MODEL22_texOff(vec2(1,0)); +res += mat4(-0.0184629969298840,0.0693254917860031,0.1817622035741806,0.1887933760881424,-0.0327232591807842,-0.2042251378297806,-0.1211475729942322,-0.0410276502370834,-0.1037830486893654,-0.0820009037852287,0.2949101030826569,0.0077380593866110,0.0628546401858330,-0.0445529446005821,0.1741346269845963,0.0248009990900755) * MODEL23_texOff(vec2(1,0)); +res += mat4(-0.0357294008135796,-0.1106828525662422,0.0353966727852821,0.0551847144961357,0.1285358667373657,-0.1176343485713005,0.1130757033824921,0.1761380881071091,0.1083296611905098,-0.0748542621731758,-0.3872082531452179,0.0197100248187780,0.2984461486339569,0.1191678568720818,0.1812373250722885,-0.3892717659473419) * MODEL24_texOff(vec2(1,0)); +res += mat4(0.0800462886691093,-0.0780471339821815,0.0693893954157829,-0.1967336088418961,-0.0975022837519646,0.1709673255681992,0.0633984506130219,0.0886702537536621,0.0848199427127838,-0.0077700419351459,0.0069854995235801,-0.1167393177747726,-0.1112813726067543,-0.1551343947649002,-0.1870342195034027,-0.0847418606281281) * MODEL21_texOff(vec2(1,1)); +res += mat4(-0.0603727698326111,-0.0634171888232231,-0.1882760375738144,0.0629892125725746,0.0708042904734612,0.0764256343245506,-0.1216778308153152,-0.1684684455394745,-0.1391682028770447,-0.0593102984130383,-0.3166135549545288,-0.0407761037349701,0.0176832675933838,0.0248137973248959,0.0802484601736069,0.1242982149124146) * MODEL22_texOff(vec2(1,1)); +res += mat4(0.1513278931379318,0.1813258528709412,0.1966630220413208,-0.1624922454357147,-0.0256501082330942,-0.1686967313289642,0.0228718761354685,-0.0328223705291748,0.0103984652087092,0.1386567354202271,-0.0268063098192215,0.0108728082850575,-0.0196570903062820,-0.0284960605204105,-0.0696414709091187,-0.1518644541501999) * MODEL23_texOff(vec2(1,1)); +res += mat4(0.1026083678007126,0.0619867257773876,-0.0740394964814186,-0.0159617643803358,0.1998924314975739,-0.0418189354240894,0.1107221692800522,-0.1837699264287949,-0.1257415860891342,-0.0766282454133034,0.2168000936508179,0.0473149232566357,-0.0026537682861090,0.0252384822815657,-0.1986876726150513,-0.1081041619181633) * MODEL24_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(-0.2057439386844635,0.5207781791687012,-0.6705994606018066,0.1229927614331245) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Mapping 3_1 +//!BIND MODEL1 +//!BIND MODEL2 +//!BIND MODEL3 +//!BIND MODEL4 +//!SAVE MODEL21 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.0688173100352287,0.0241152420639992,-0.1461312770843506,-0.0660768151283264); +res += mat4(0.0595336742699146,-0.0815766826272011,-0.0096331834793091,-0.0203912183642387,-0.0369842574000359,-0.1127570196986198,0.0888430550694466,-0.2178320586681366,-0.0342873111367226,0.1092853099107742,-0.2547158300876617,-0.0076492088846862,-0.0391941852867603,-0.2556389570236206,-0.0854907557368279,0.1774810403585434) * MODEL1_texOff(vec2(-1,-1)); +res += mat4(-0.0574021488428116,-0.1592900604009628,-0.3538711667060852,0.2687105834484100,0.1810360103845596,-0.1641387343406677,0.0715018883347511,0.0386314950883389,-0.0679938271641731,0.1923842132091522,-0.0393545515835285,-0.0097684655338526,0.1084525063633919,0.0337775796651840,-0.0428330413997173,-0.0384955294430256) * MODEL2_texOff(vec2(-1,-1)); +res += mat4(-0.0057158139534295,-0.0639266371726990,-0.0203006304800510,0.0805876255035400,0.0354820154607296,0.1954732984304428,-0.0033595091663301,-0.0798529312014580,-0.0023743391502649,-0.0808103382587433,-0.4271259307861328,-0.0339623913168907,-0.0594368465244770,-0.1301490664482117,-0.2257778197526932,0.0268681906163692) * MODEL3_texOff(vec2(-1,-1)); +res += mat4(-0.0912537798285484,-0.1029307693243027,-0.3014050126075745,0.1344284713268280,-0.1944040358066559,-0.1233293414115906,0.1845269054174423,-0.0396563522517681,0.0729796811938286,0.0555449426174164,-0.0291866566985846,-0.0015590878902003,-0.0749472081661224,0.1221432238817215,0.1557545065879822,0.0713083744049072) * MODEL4_texOff(vec2(-1,-1)); +res += mat4(0.0579854771494865,0.1912399381399155,-0.1031481474637985,0.0258997492492199,-0.0556723140180111,0.0405553914606571,-0.0280782822519541,-0.2192476838827133,0.0405904836952686,0.0339312143623829,-0.5339328646659851,0.0376253239810467,-0.0331141315400600,0.1085056290030479,0.1932809799909592,0.0114828236401081) * MODEL1_texOff(vec2(-1,0)); +res += mat4(0.0923534333705902,-0.0528637804090977,-0.1043204590678215,-0.1713765561580658,0.0770255997776985,0.0345167294144630,0.0147934947162867,0.0310775060206652,0.0679205730557442,0.0797111466526985,-0.0175750572234392,0.0687634274363518,0.2652306556701660,-0.1340937167406082,0.2815202176570892,0.1714577227830887) * MODEL2_texOff(vec2(-1,0)); +res += mat4(-0.0043326895684004,-0.0014753022696823,-0.0301845446228981,-0.0890666916966438,-0.3340281248092651,0.0755621269345284,0.1349891424179077,0.1922057121992111,0.0647721588611603,-0.1533407568931580,-0.1758099794387817,0.0130391204729676,0.0336706899106503,-0.0249907132238150,-0.0065235951915383,-0.0797766074538231) * MODEL3_texOff(vec2(-1,0)); +res += mat4(0.1685813516378403,-0.2265407741069794,0.0221925359219313,-0.1334454715251923,0.1368787139654160,-0.0473638102412224,-0.2528502345085144,0.0522648394107819,-0.2153150886297226,-0.0180514734238386,-0.0606113784015179,-0.2746350765228271,-0.0836948305368423,-0.0963615626096725,0.2578013837337494,-0.0808656737208366) * MODEL4_texOff(vec2(-1,0)); +res += mat4(-0.0933946669101715,0.0305833015590906,-0.3140147328376770,-0.0235074572265148,-0.3032828867435455,-0.0795748233795166,0.2477753609418869,-0.2114369720220566,-0.0189865324646235,-0.0639717131853104,-0.2735460996627808,-0.0327864885330200,0.0396536663174629,0.0218856446444988,-0.1180776730179787,0.0887452214956284) * MODEL1_texOff(vec2(-1,1)); +res += mat4(-0.0631328970193863,-0.0035184349399060,-0.1870973408222198,-0.0639351382851601,0.1319428086280823,0.1301599591970444,0.0241686291992664,-0.0229394081979990,-0.0654792115092278,0.0354097858071327,-0.1931648552417755,0.0359242409467697,0.0272223223000765,0.1466508358716965,-0.1595165729522705,-0.1876504421234131) * MODEL2_texOff(vec2(-1,1)); +res += mat4(-0.0729636624455452,-0.0162770133465528,0.0175715126097202,0.0104884179309011,-0.0786660090088844,0.0061661889776587,-0.3263708055019379,0.0249162577092648,0.2397689968347549,-0.0168162323534489,0.3285635113716125,-0.0516717731952667,0.2196938544511795,0.0845935642719269,-0.0725083053112030,0.2236572355031967) * MODEL3_texOff(vec2(-1,1)); +res += mat4(0.0323419086635113,-0.0680262967944145,0.2447479367256165,0.0488236509263515,0.2178955972194672,0.0176719631999731,0.1178010106086731,0.1197623759508133,-0.0259058885276318,0.0218334570527077,-0.0229181014001369,-0.1182956397533417,-0.1990961879491806,-0.0358028411865234,-0.0114926835522056,-0.0724879950284958) * MODEL4_texOff(vec2(-1,1)); +res += mat4(0.0091674197465181,-0.1643868833780289,0.1737920641899109,-0.2022017389535904,-0.0211097076535225,-0.1243641376495361,-0.0840958878397942,0.0004225724551361,0.1185093820095062,-0.0895289406180382,-0.2453171759843826,-0.1377187073230743,-0.1030908748507500,0.0968588069081306,-0.1273571401834488,0.2540763020515442) * MODEL1_texOff(vec2(0,-1)); +res += mat4(-0.0702308639883995,-0.0836322531104088,-0.4391777515411377,0.0071853240951896,-0.2065078169107437,0.1599812358617783,0.0602083504199982,0.0702195689082146,-0.0050514196045697,-0.2039245963096619,-0.1417474895715714,-0.1176111325621605,0.0016846667276695,-0.0023626943584532,-0.0841251388192177,0.1412637084722519) * MODEL2_texOff(vec2(0,-1)); +res += mat4(0.0440846644341946,0.2679182291030884,-0.0113283051177859,0.0787642672657967,0.1586027592420578,0.0755963921546936,-0.1189886480569839,-0.2526005208492279,0.0288783796131611,0.0038645991589874,-0.1508166193962097,-0.2143021076917648,0.0842533558607101,0.0784236639738083,0.2028345912694931,-0.2491208761930466) * MODEL3_texOff(vec2(0,-1)); +res += mat4(-0.0198725499212742,-0.1982652544975281,-0.1776733994483948,-0.1893595606088638,0.1681458652019501,-0.1212584450840950,0.0498807840049267,-0.0469293072819710,0.1340834647417068,0.0783879682421684,0.0830523148179054,0.0423850417137146,-0.0565500669181347,-0.1048741340637207,0.0622305944561958,-0.1250333040952682) * MODEL4_texOff(vec2(0,-1)); +res += mat4(0.1300479173660278,-0.0811531990766525,0.1566883176565170,-0.4131366014480591,-0.1944229602813721,-0.0474819205701351,-0.3843051791191101,0.1989351958036423,-0.0528471954166889,-0.0155175467953086,-0.4351431727409363,0.0422416254878044,0.0945184752345085,0.0866406857967377,0.2367041260004044,-0.1916661113500595) * MODEL1_texOff(vec2(0,0)); +res += mat4(0.0043254503980279,0.2347387224435806,0.2765623331069946,0.0511253066360950,-0.1627541631460190,0.0374190807342529,-0.0015824839938432,-0.1078413799405098,0.1316788047552109,0.0144255002960563,-0.3850116431713104,-0.3117720186710358,-0.0160628277808428,0.1133375465869904,0.2209484130144119,0.0251297429203987) * MODEL2_texOff(vec2(0,0)); +res += mat4(0.0635340213775635,-0.0014070536708459,-0.1025629192590714,-0.1730606853961945,-0.0297492127865553,0.0980286523699760,-0.0079395025968552,0.1153481453657150,0.0182918459177017,0.0078779440373182,0.2809962630271912,-0.1262024790048599,-0.1352188885211945,0.1095645949244499,0.2552189230918884,-0.0178691130131483) * MODEL3_texOff(vec2(0,0)); +res += mat4(0.0518783628940582,0.0300305113196373,-0.0591770447790623,0.1318315863609314,0.1554882526397705,-0.1066074967384338,-0.0115872807800770,0.3000004589557648,0.0606822408735752,0.0559887848794460,0.2162292301654816,-0.0082823252305388,0.2274610251188278,-0.0284825731068850,-0.0360193327069283,-0.1999847739934921) * MODEL4_texOff(vec2(0,0)); +res += mat4(0.0474682785570621,0.1199836656451225,-0.3141539394855499,-0.0791074857115746,0.0106960795819759,-0.0627651438117027,0.0762102901935577,-0.1145662218332291,0.0535141788423061,0.1474930047988892,0.1075265854597092,0.0397254899144173,-0.0713834986090660,-0.1071779653429985,0.0375971011817455,-0.0963853001594543) * MODEL1_texOff(vec2(0,1)); +res += mat4(0.1285275369882584,-0.1441750228404999,0.0354076921939850,-0.2101487964391708,-0.1097002476453781,-0.0189849846065044,-0.0745042786002159,0.1355504244565964,-0.0133421951904893,-0.0638472512364388,-0.0910228490829468,0.0755504742264748,-0.0864466801285744,-0.0356572121381760,-0.3626520931720734,-0.3021350204944611) * MODEL2_texOff(vec2(0,1)); +res += mat4(-0.0341820605099201,0.1786679029464722,0.0184447579085827,0.1279714554548264,-0.1283863782882690,-0.0675562024116516,-0.1361117213964462,0.1011512875556946,0.0832580402493477,-0.1928756684064865,-0.1228978410363197,-0.0065259770490229,-0.0568234808743000,-0.0017369993729517,-0.1697564721107483,0.2456055283546448) * MODEL3_texOff(vec2(0,1)); +res += mat4(0.0018628122052178,-0.1312659084796906,-0.0923319682478905,-0.2040081322193146,0.0629462227225304,0.0535681359469891,0.1281067430973053,0.1765952259302139,0.0747214332222939,-0.1035072430968285,-0.0241586659103632,-0.1378561109304428,0.0320597104728222,-0.1193312555551529,0.1452527642250061,0.2488958239555359) * MODEL4_texOff(vec2(0,1)); +res += mat4(0.0386005453765392,-0.0153652885928750,-0.1462800353765488,0.2789885401725769,0.1008821874856949,-0.0579273775219917,0.1295518875122070,-0.0432876870036125,0.0250452421605587,0.0671278312802315,-0.0696839168667793,0.0748129189014435,0.0758513286709785,-0.1905663460493088,-0.0471123531460762,0.2444494962692261) * MODEL1_texOff(vec2(1,-1)); +res += mat4(-0.0591796487569809,-0.0705144032835960,0.0711284279823303,-0.1286923736333847,-0.0660495907068253,-0.1214849874377251,-0.0341478474438190,0.0061506619676948,-0.0372593067586422,-0.1832398921251297,-0.0090387547388673,-0.2448468804359436,0.1512153297662735,0.1747045069932938,-0.1073975339531898,0.1247894391417503) * MODEL2_texOff(vec2(1,-1)); +res += mat4(0.1094667837023735,0.0342875868082047,0.0056257382966578,-0.0451308414340019,0.0707755535840988,0.0706889703869820,0.1614953577518463,-0.0330369584262371,0.0219813529402018,0.1975981742143631,-0.3199901580810547,0.1684455275535583,-0.1433103978633881,-0.0517580769956112,0.0215651132166386,0.0550334639847279) * MODEL3_texOff(vec2(1,-1)); +res += mat4(0.0058575081638992,0.0094235641881824,0.0832557380199432,0.0920730009675026,-0.0268641244620085,0.1209384053945541,0.1593528091907501,-0.0659385994076729,-0.1051297336816788,-0.0437128655612469,-0.0141602838411927,-0.0254723727703094,0.0558438338339329,-0.0546640530228615,0.1499328613281250,0.2088728398084641) * MODEL4_texOff(vec2(1,-1)); +res += mat4(0.0192077327519655,0.0354500226676464,-0.1731930226087570,0.0000419196876464,-0.0437970720231533,-0.0250018853694201,-0.0383620224893093,-0.1158768534660339,0.0140583552420139,-0.0480055138468742,0.1303897947072983,0.1056794896721840,0.0833801552653313,-0.2536045312881470,0.0158056896179914,-0.0304754935204983) * MODEL1_texOff(vec2(1,0)); +res += mat4(0.0636550858616829,-0.0758026838302612,-0.0500065311789513,-0.0455310121178627,-0.1234474480152130,0.1854186356067657,-0.3456546962261200,-0.0583862923085690,-0.1824863255023956,0.0574666708707809,0.0742814466357231,0.1547674685716629,-0.0512882284820080,-0.1082019209861755,-0.2976613342761993,-0.0474690347909927) * MODEL2_texOff(vec2(1,0)); +res += mat4(-0.0161839276552200,0.0584549307823181,0.0905771777033806,-0.0306037776172161,-0.0226447675377131,0.1609820574522018,0.2658801078796387,0.0810568928718567,0.1004738733172417,0.0174051262438297,0.0115147456526756,-0.0179576985538006,-0.0515062287449837,-0.0503591969609261,-0.0017968909814954,-0.0568113587796688) * MODEL3_texOff(vec2(1,0)); +res += mat4(0.1648199558258057,-0.1384854912757874,0.1903152912855148,0.0083583556115627,0.1294669657945633,0.0115647353231907,0.3590384721755981,0.0576509013772011,0.0353711582720280,-0.1217774823307991,-0.0809661448001862,0.0505313836038113,0.0421296134591103,0.1388154476881027,0.3014434874057770,0.0493381731212139) * MODEL4_texOff(vec2(1,0)); +res += mat4(0.0226423032581806,0.0260961204767227,-0.3144617974758148,-0.1417849212884903,-0.0430066175758839,-0.0462986268103123,-0.0331443361938000,-0.1140871793031693,0.0513924136757851,0.0084688737988472,-0.0296227596700191,-0.1712185442447662,0.1056730300188065,-0.1224016249179840,-0.3134396970272064,-0.1883454173803329) * MODEL1_texOff(vec2(1,1)); +res += mat4(-0.0396308042109013,-0.0738623440265656,-0.1175183951854706,-0.3926377594470978,0.0314878374338150,0.2115371227264404,-0.1537056267261505,0.1315483599901199,0.0821099355816841,0.1160123273730278,0.0304466728121042,0.2669826447963715,-0.0573341920971870,0.2678244411945343,-0.3492755293846130,-0.1434641331434250) * MODEL2_texOff(vec2(1,1)); +res += mat4(-0.0912898778915405,0.0841316357254982,0.0064010210335255,-0.0099451513960958,0.0325034409761429,0.0678511708974838,0.1631657481193542,-0.2068724930286407,0.0183392968028784,-0.0799985453486443,-0.0150094795972109,-0.1055348515510559,-0.1121844500303268,0.1341574490070343,0.0084858443588018,0.1500267535448074) * MODEL3_texOff(vec2(1,1)); +res += mat4(0.0314941518008709,-0.2989441454410553,-0.0673241466283798,-0.3539826273918152,-0.0266664065420628,-0.3113255202770233,0.0345415174961090,-0.0608147643506527,-0.0109177995473146,-0.0999587476253510,0.0656331256031990,-0.0322419852018356,0.0679537653923035,0.0318217724561691,-0.1877048909664154,-0.0886098146438599) * MODEL4_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(1.0310016870498657,0.6315119266510010,0.2432577908039093,0.3398685157299042) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Mapping 3_2 +//!BIND MODEL1 +//!BIND MODEL2 +//!BIND MODEL3 +//!BIND MODEL4 +//!SAVE MODEL22 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0000762489216868,0.0801432877779007,0.0194948185235262,0.1009411364793777); +res += mat4(-0.2028843462467194,0.0325773023068905,0.1240492388606071,-0.0299642570316792,0.1732405722141266,-0.0662324503064156,-0.0638226568698883,-0.0908546894788742,-0.1645909994840622,-0.1929243952035904,-0.1725275218486786,0.0518687814474106,0.2861785590648651,0.0936817005276680,-0.2703407406806946,-0.0064641349017620) * MODEL1_texOff(vec2(-1,-1)); +res += mat4(0.2304468899965286,-0.0355376079678535,0.1516726166009903,-0.2383327931165695,-0.1214385926723480,-0.0264397338032722,-0.0296684242784977,-0.0761395841836929,-0.3135388791561127,-0.0817513391375542,-0.0585628263652325,-0.1279057860374451,0.2117457687854767,0.0268959943205118,0.3316360414028168,-0.1427448838949203) * MODEL2_texOff(vec2(-1,-1)); +res += mat4(0.1241631358861923,0.0109979715198278,0.0904786363244057,-0.0379761122167110,-0.0773687884211540,0.0086950268596411,-0.0055560907348990,-0.0312369707971811,-0.1182432249188423,0.0064131035469472,-0.0968448743224144,0.0004869432596024,-0.0540148280560970,0.0043475870043039,-0.1169734001159668,-0.1970898211002350) * MODEL3_texOff(vec2(-1,-1)); +res += mat4(0.1027120649814606,-0.1297794431447983,-0.1821834295988083,-0.0389432236552238,0.2254049628973007,-0.2433087527751923,-0.0331352241337299,0.0756785795092583,0.1273291110992432,-0.0133544355630875,-0.2341815233230591,0.0571484193205833,-0.1782898306846619,0.0834474042057991,-0.0108921295031905,-0.0886220037937164) * MODEL4_texOff(vec2(-1,-1)); +res += mat4(-0.1094568595290184,-0.0957596749067307,-0.0274676457047462,0.0300233084708452,-0.0997114330530167,0.0541625060141087,-0.2816644906997681,-0.1027443483471870,0.1392699182033539,-0.1792718321084976,0.0395042859017849,-0.0708891302347183,-0.0731805413961411,0.0152675509452820,-0.0329343564808369,0.1053873226046562) * MODEL1_texOff(vec2(-1,0)); +res += mat4(0.2131853252649307,0.0536327809095383,0.0607958249747753,-0.0451236702501774,-0.1319844573736191,-0.0631724819540977,0.0198248624801636,-0.0859525278210640,-0.0351877212524414,-0.0054908446036279,-0.1348199546337128,-0.2024822235107422,-0.2766202092170715,-0.0030210181139410,0.0702026113867760,-0.0078796250745654) * MODEL2_texOff(vec2(-1,0)); +res += mat4(-0.0815277025103569,-0.0106341000646353,-0.1609243452548981,-0.1676686108112335,-0.2319211214780807,0.1131729558110237,0.1919720172882080,0.0508001819252968,-0.1315050423145294,0.0756277516484261,-0.0307989902794361,0.0422493442893028,0.0132852047681808,-0.1419278979301453,-0.2167273610830307,-0.1998498588800430) * MODEL3_texOff(vec2(-1,0)); +res += mat4(-0.0025860499590635,-0.0395968146622181,0.0460854619741440,-0.1176194027066231,0.1476973891258240,0.0913509428501129,0.1812095791101456,-0.0115374168381095,-0.0393248014152050,-0.1398140341043472,-0.0618198439478874,-0.0181439407169819,0.0638050064444542,0.0019014888675883,-0.1612940877676010,0.1102675050497055) * MODEL4_texOff(vec2(-1,0)); +res += mat4(-0.0646447390317917,0.0754222497344017,-0.0673433244228363,0.0151181668043137,0.3124671876430511,-0.1447961330413818,0.0104697793722153,0.1630249023437500,0.0387551188468933,-0.0417462401092052,0.0256798043847084,-0.0787662863731384,0.1101403310894966,-0.0997289121150970,-0.0576216690242290,0.0210381727665663) * MODEL1_texOff(vec2(-1,1)); +res += mat4(0.0896490439772606,0.0089573292061687,-0.1412430554628372,0.1984873563051224,-0.0029452331364155,0.2931686937808990,0.0698928833007812,0.1601037830114365,0.0562271699309349,0.0071966187097132,0.0482474006712437,-0.0454484634101391,-0.1320993006229401,0.1875784546136856,-0.2556341588497162,-0.0113304015249014) * MODEL2_texOff(vec2(-1,1)); +res += mat4(0.0202724654227495,-0.0727894008159637,-0.0870472565293312,-0.3546771705150604,0.0141543187201023,0.0150978351011872,-0.0626287236809731,0.0009815004887059,-0.2032363414764404,0.2246063351631165,-0.3751204311847687,-0.0597406700253487,-0.1383948624134064,0.1013215333223343,-0.1304670125246048,0.1644011884927750) * MODEL3_texOff(vec2(-1,1)); +res += mat4(-0.0456490479409695,-0.0613463148474693,-0.1117231249809265,-0.1987032145261765,-0.0195411816239357,0.0880908668041229,0.0096244458109140,-0.0642411410808563,-0.0110747767612338,-0.0435458756983280,-0.0126890772953629,-0.0250666663050652,0.1899543106555939,-0.0682566985487938,0.2061404436826706,0.0412789769470692) * MODEL4_texOff(vec2(-1,1)); +res += mat4(0.1177826002240181,0.0146018816158175,-0.0986511260271072,0.0336420871317387,-0.1153668239712715,0.0777957886457443,-0.0858338698744774,-0.4422923326492310,0.0154560981318355,-0.2051071226596832,-0.0810584351420403,-0.1244603917002678,0.2464558482170105,-0.1833258867263794,-0.0182415377348661,-0.0220834054052830) * MODEL1_texOff(vec2(0,-1)); +res += mat4(-0.1924905776977539,-0.1117476597428322,0.1271586865186691,-0.2686342000961304,0.1095690652728081,-0.0871581360697746,0.0644044876098633,-0.0332871042191982,-0.1041551157832146,0.0013448535464704,-0.1084095463156700,0.0706043913960457,0.1305115967988968,0.0808799862861633,-0.1525753885507584,0.0565870441496372) * MODEL2_texOff(vec2(0,-1)); +res += mat4(0.1061240360140800,0.1533000767230988,-0.1983222216367722,0.1870471537113190,0.1344078630208969,0.3044185042381287,0.0617909096181393,-0.1656433492898941,0.0063625723123550,-0.1413098424673080,-0.1637435406446457,0.1443034559488297,-0.1149839758872986,0.0193038787692785,0.1728745549917221,0.1143977195024490) * MODEL3_texOff(vec2(0,-1)); +res += mat4(-0.0302725732326508,-0.2529176175594330,-0.2315671741962433,-0.2790692746639252,0.1610194891691208,-0.1017403900623322,-0.0000837041370687,-0.0155733386054635,-0.1610533446073532,0.0615849643945694,-0.2027740925550461,-0.0880146324634552,0.3234379887580872,-0.0959569066762924,0.0474429726600647,-0.1007325351238251) * MODEL4_texOff(vec2(0,-1)); +res += mat4(-0.1558423340320587,0.2064337730407715,0.0963341295719147,0.0480858497321606,0.0508614704012871,0.2833628952503204,-0.2111598849296570,-0.1196318864822388,-0.0459625422954559,-0.2106156200170517,-0.2951243519783020,0.0868631899356842,-0.0003154673613608,-0.2333782017230988,-0.1000496298074722,0.0626180991530418) * MODEL1_texOff(vec2(0,0)); +res += mat4(0.1932811141014099,-0.0752814933657646,-0.1842229515314102,-0.2827846407890320,0.0186605136841536,0.2322886884212494,0.1690598279237747,-0.1465863287448883,-0.0611668862402439,0.3823274672031403,0.1275962442159653,0.0298891123384237,0.1362695097923279,-0.3896694779396057,-0.2164889276027679,0.0121766198426485) * MODEL2_texOff(vec2(0,0)); +res += mat4(-0.1750837415456772,0.2699394226074219,-0.1635322570800781,0.0161948371678591,-0.1476018130779266,0.1914982497692108,0.0144985588267446,0.0859881937503815,0.2351910471916199,0.0343930535018444,0.2515315413475037,-0.1040823310613632,0.0438520275056362,-0.2739296555519104,0.1255066543817520,0.0896602347493172) * MODEL3_texOff(vec2(0,0)); +res += mat4(0.3064153492450714,0.4005044400691986,0.0762087479233742,-0.2348560541868210,0.1157990172505379,0.1062021479010582,-0.0546767115592957,-0.2798782289028168,0.0167808197438717,-0.0168182663619518,0.0132196992635727,-0.2270394563674927,-0.1762010306119919,-0.1466397643089294,-0.0625134930014610,0.0320768803358078) * MODEL4_texOff(vec2(0,0)); +res += mat4(0.0993257388472557,0.0649610012769699,-0.0053571714088321,-0.0082653546705842,-0.0245842412114143,0.0443690195679665,0.1141411438584328,0.0491457097232342,-0.1753544062376022,-0.0936970785260201,-0.0088530033826828,0.0569284297525883,0.2916305065155029,0.0340628027915955,-0.0207389947026968,0.2052062749862671) * MODEL1_texOff(vec2(0,1)); +res += mat4(0.1970991790294647,0.0111151440069079,0.0261362046003342,-0.2216634452342987,0.0574139580130577,-0.0823420509696007,-0.2563342750072479,0.0653154477477074,-0.1878300607204437,-0.1970428824424744,-0.2466162294149399,-0.0955833271145821,0.2162469029426575,0.1619289666414261,0.1208761036396027,0.1235184818506241) * MODEL2_texOff(vec2(0,1)); +res += mat4(-0.3088294863700867,0.1254612952470779,-0.0912870392203331,0.1172509938478470,0.1021689027547836,0.1264224201440811,-0.0292495489120483,0.3204441368579865,-0.3002504408359528,-0.1317919045686722,0.0166458766907454,-0.0177567750215530,0.1619028151035309,0.0032324162311852,-0.0188052989542484,0.2918674945831299) * MODEL3_texOff(vec2(0,1)); +res += mat4(-0.0373700335621834,-0.1198440343141556,0.0359218940138817,-0.2480407059192657,-0.0318877287209034,-0.2881574034690857,-0.2438662052154541,-0.0927068293094635,0.0078569417819381,0.1037964820861816,-0.1413367241621017,-0.0137775270268321,-0.0625366717576981,-0.0134213268756866,-0.3083684742450714,0.1108632534742355) * MODEL4_texOff(vec2(0,1)); +res += mat4(-0.3349715769290924,-0.1317188888788223,-0.1671088486909866,-0.0817724987864494,-0.1144232824444771,0.0048909387551248,-0.1092172861099243,-0.0370661281049252,0.2090319991111755,-0.2057263106107712,-0.0395696796476841,0.0258321799337864,0.2298916131258011,0.4681289792060852,-0.0471538752317429,0.1106673181056976) * MODEL1_texOff(vec2(1,-1)); +res += mat4(-0.0195893235504627,0.0379856154322624,0.1164755225181580,-0.0829814523458481,-0.2767821252346039,0.0508721359074116,-0.0290123373270035,-0.0668779537081718,-0.1644570976495743,0.0210546031594276,0.0759513229131699,0.1058139577507973,0.1144111379981041,0.1484566628932953,0.2890726029872894,-0.1711259931325912) * MODEL2_texOff(vec2(1,-1)); +res += mat4(-0.1059925407171249,-0.0814683809876442,-0.0848859995603561,0.1525574922561646,0.3638705015182495,0.4572051465511322,0.0828496515750885,-0.2582603394985199,-0.1592672169208527,-0.1901358217000961,0.1436413824558258,0.1182926371693611,-0.2372592985630035,-0.0372900925576687,-0.0051105986349285,-0.0758314356207848) * MODEL3_texOff(vec2(1,-1)); +res += mat4(0.1400740295648575,-0.2038751840591431,-0.0719010755419731,-0.0405767895281315,0.1227956414222717,-0.1259030550718307,-0.0358418263494968,0.1117928698658943,-0.0795039534568787,0.0614631362259388,-0.3087014257907867,-0.4893686175346375,0.2264759391546249,-0.2447050064802170,0.0889254882931709,0.0100935809314251) * MODEL4_texOff(vec2(1,-1)); +res += mat4(0.0217738077044487,0.0176007878035307,-0.2607063055038452,0.0550331249833107,0.1878303140401840,0.0477681644260883,-0.0779048502445221,-0.2856964170932770,-0.0554993599653244,-0.1516432613134384,0.0942186042666435,-0.1185625568032265,-0.0166716910898685,0.3866922557353973,-0.1405813694000244,-0.0932301729917526) * MODEL1_texOff(vec2(1,0)); +res += mat4(0.1159741282463074,0.1039962545037270,-0.0504094660282135,-0.1678449511528015,0.0106546822935343,-0.0122920302674174,-0.2778696715831757,-0.1467290073633194,0.0240973122417927,-0.2142482250928879,-0.0310044996440411,-0.1767701804637909,-0.1672160476446152,0.1837885379791260,-0.0636335387825966,0.1786867231130600) * MODEL2_texOff(vec2(1,0)); +res += mat4(-0.1969493180513382,-0.4721818566322327,0.1394564211368561,-0.1772415786981583,-0.0388147681951523,-0.0136686628684402,0.0322474539279938,0.0240791272372007,-0.0677289590239525,0.0180334076285362,-0.0344137251377106,-0.0402547642588615,-0.1755164265632629,-0.0280224382877350,-0.0254966318607330,0.1124374568462372) * MODEL3_texOff(vec2(1,0)); +res += mat4(0.0151444664224982,0.1410819441080093,-0.0582266077399254,0.0280380994081497,0.1040878146886826,-0.1763634234666824,0.0323766358196735,0.1948373168706894,-0.0632817745208740,0.1048348322510719,-0.2580938637256622,-0.2070229798555374,-0.0058777360245585,-0.2688303887844086,0.1039765253663063,-0.1952414065599442) * MODEL4_texOff(vec2(1,0)); +res += mat4(0.0296596698462963,-0.0053568794392049,-0.1224329546093941,0.1098607107996941,0.1625319421291351,-0.0660132914781570,-0.2764773070812225,-0.1851625293493271,-0.1605213135480881,-0.0749701336026192,0.0606767535209656,0.1274097710847855,0.0382224395871162,0.2637858986854553,-0.2092239856719971,-0.0941066220402718) * MODEL1_texOff(vec2(1,1)); +res += mat4(-0.0270286444574594,-0.0379284620285034,-0.4569397866725922,0.1980397999286652,-0.1062079742550850,0.0811205580830574,0.1604664623737335,-0.0340450704097748,-0.2145227491855621,0.1034764498472214,-0.0876012966036797,0.0398642048239708,0.0259769931435585,-0.3458499014377594,-0.1060313656926155,-0.0072943884879351) * MODEL2_texOff(vec2(1,1)); +res += mat4(-0.0618791580200195,0.0328850336372852,-0.1261637210845947,-0.0710062086582184,0.1435228437185287,0.3010757565498352,0.3635602593421936,0.1455109268426895,0.1251090914011002,-0.1946859359741211,-0.1394447386264801,0.0900799855589867,-0.1168426424264908,-0.1165853515267372,-0.0605765618383884,0.1291817724704742) * MODEL3_texOff(vec2(1,1)); +res += mat4(-0.1529845148324966,-0.0510823279619217,0.3222539126873016,-0.0898447185754776,0.0033095439430326,-0.0484984517097473,0.0019035678124055,-0.0627465695142746,-0.1137327104806900,-0.0685348659753799,-0.3636776804924011,0.1036927253007889,-0.1019577011466026,-0.0318000465631485,0.1457210779190063,0.1087952628731728) * MODEL4_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(0.1815287917852402,0.2324435710906982,0.2205682545900345,0.2317584604024887) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Mapping 3_3 +//!BIND MODEL1 +//!BIND MODEL2 +//!BIND MODEL3 +//!BIND MODEL4 +//!SAVE MODEL23 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.0702124536037445,-0.0073919403366745,-0.0139411697164178,0.0311370212584734); +res += mat4(-0.0701021924614906,-0.0227269008755684,-0.2888352572917938,0.1626345068216324,0.0032680127769709,-0.0210263244807720,-0.0872356891632080,-0.4623362421989441,-0.0254703927785158,-0.0633526220917702,-0.1591652035713196,0.0171062480658293,0.1649436801671982,-0.3137818872928619,0.0260657984763384,-0.0488405898213387) * MODEL1_texOff(vec2(-1,-1)); +res += mat4(-0.0384721867740154,-0.0658196508884430,0.1780836135149002,-0.2482599169015884,-0.0060729226097465,0.1033312454819679,0.2161006033420563,-0.1857793331146240,0.0142633561044931,-0.1013383418321609,0.1907071173191071,0.1342842578887939,0.2304862439632416,0.3942129611968994,0.2385276108980179,0.0573836751282215) * MODEL2_texOff(vec2(-1,-1)); +res += mat4(0.0336436331272125,0.0179337728768587,0.0786792859435081,0.0672608092427254,0.1222786456346512,0.0896515250205994,-0.0145027944818139,-0.1583114266395569,0.0267647411674261,0.0747191235423088,-0.1427376568317413,-0.2960321903228760,-0.1537071466445923,0.1211759671568871,0.0762216225266457,-0.1158496439456940) * MODEL3_texOff(vec2(-1,-1)); +res += mat4(-0.0749104470014572,-0.0549787506461143,-0.2091294080018997,-0.0559946522116661,-0.1411948502063751,0.0069848685525358,-0.1333367824554443,-0.1413129717111588,-0.0794389173388481,-0.0378859676420689,-0.0022761658765376,0.1304722875356674,-0.0313382819294930,-0.1397222429513931,-0.4245188832283020,-0.0334210544824600) * MODEL4_texOff(vec2(-1,-1)); +res += mat4(0.0450276955962181,0.0643864274024963,-0.3470535874366760,-0.0262859351933002,0.2745279669761658,0.0100389719009399,-0.0705008357763290,-0.1495322287082672,-0.0464479140937328,0.1504141092300415,0.1037897467613220,-0.0187673419713974,0.1328308284282684,-0.2958495914936066,-0.2068023830652237,-0.0312387160956860) * MODEL1_texOff(vec2(-1,0)); +res += mat4(0.1014834716916084,0.0810937955975533,0.1072079166769981,0.0292684379965067,-0.0667571723461151,-0.1514628231525421,-0.3983023762702942,0.1152021512389183,-0.0079235928133130,-0.1242438331246376,-0.0676635429263115,0.0451294891536236,-0.1106870174407959,0.0005199183942750,-0.2893837988376617,-0.0468294247984886) * MODEL2_texOff(vec2(-1,0)); +res += mat4(0.1363565474748611,-0.1851838082075119,-0.2241757214069366,0.0829296410083771,-0.0286405943334103,-0.2116683721542358,0.0302837286144495,0.1795148402452469,0.0915972664952278,-0.3695042133331299,0.0146543243899941,-0.1272113621234894,-0.0935953482985497,-0.0463738478720188,-0.0748903900384903,-0.0504175424575806) * MODEL3_texOff(vec2(-1,0)); +res += mat4(0.2215912342071533,0.0815052837133408,0.2731705307960510,-0.1461572647094727,0.0190725438296795,0.0328789316117764,0.1920363008975983,-0.0141388345509768,-0.0495494902133942,-0.0590345636010170,-0.2381338477134705,-0.0004293473029975,0.0339478328824043,0.0086385160684586,-0.2619581818580627,0.0723142623901367) * MODEL4_texOff(vec2(-1,0)); +res += mat4(-0.0875752046704292,-0.0325735695660114,0.2092861086130142,-0.0965357422828674,-0.0713080242276192,0.1148135960102081,0.3379627168178558,-0.0941332131624222,-0.0182314775884151,-0.0469493940472603,-0.0811084359884262,0.0854068920016289,0.2502483725547791,0.0840929821133614,0.1961069554090500,-0.1776262968778610) * MODEL1_texOff(vec2(-1,1)); +res += mat4(0.0417266637086868,0.0025331405922771,-0.0771116241812706,-0.0491130650043488,0.0183748453855515,0.0063139246776700,-0.0283488072454929,0.0590459667146206,-0.0617266483604908,-0.0647608116269112,-0.0643330961465836,0.0923468545079231,0.0922783836722374,-0.0330243781208992,0.1504958420991898,0.1963973343372345) * MODEL2_texOff(vec2(-1,1)); +res += mat4(-0.0572751462459564,0.1306759417057037,0.0060679824091494,0.0390822738409042,0.0198893547058105,-0.0520947761833668,-0.0922875478863716,0.0118367634713650,0.2514804303646088,0.0449428111314774,0.0104318046942353,-0.1118500307202339,-0.1186810135841370,0.0046839071437716,0.1202402859926224,-0.1301321685314178) * MODEL3_texOff(vec2(-1,1)); +res += mat4(0.1710626184940338,-0.0969278812408447,-0.1207182705402374,-0.1081039309501648,-0.0133363809436560,0.1422639638185501,0.1744020432233810,0.0842885896563530,0.0170146357268095,-0.0634968951344490,-0.2371903508901596,-0.1135446131229401,-0.0764357820153236,-0.0076865861192346,0.0968130677938461,0.1030327603220940) * MODEL4_texOff(vec2(-1,1)); +res += mat4(0.1007475182414055,0.1401249468326569,-0.3145661950111389,0.1650671362876892,-0.1575912982225418,0.0256420578807592,-0.3068359494209290,-0.0489099919795990,-0.1058722808957100,0.0261610224843025,-0.0649983733892441,0.0630548968911171,0.0640746206045151,-0.1394553035497665,0.1328419446945190,-0.0686397626996040) * MODEL1_texOff(vec2(0,-1)); +res += mat4(-0.0910852178931236,0.1328614205121994,0.2062330842018127,-0.0148927550762892,0.0553870424628258,-0.1312534660100937,-0.0393478535115719,-0.0175620019435883,0.0419233851134777,0.1887574642896652,0.1242798492312431,-0.0842027664184570,-0.0960193052887917,0.0800663828849792,0.0514912754297256,0.0020991130732000) * MODEL2_texOff(vec2(0,-1)); +res += mat4(0.1342384964227676,-0.1589258015155792,-0.1876648217439651,-0.0561787188053131,-0.0370954759418964,-0.0225198399275541,-0.0655014067888260,0.1532345116138458,0.0299833342432976,0.0432826057076454,-0.2004394382238388,0.1441119015216827,-0.0630432814359665,-0.0526980012655258,0.1717928051948547,-0.0156791526824236) * MODEL3_texOff(vec2(0,-1)); +res += mat4(0.1457197517156601,0.0018704266985878,-0.1469911187887192,0.2500851750373840,-0.1132869720458984,0.1139084473252296,0.3968826532363892,-0.0296439584344625,0.0593984834849834,0.1403691619634628,-0.2882837951183319,-0.0016219408717006,-0.1612640321254730,-0.0108379321172833,-0.0625918358564377,0.1947486996650696) * MODEL4_texOff(vec2(0,-1)); +res += mat4(0.0297655630856752,-0.0049511999823153,0.0471004396677017,-0.2270125448703766,0.1432521939277649,-0.0400270633399487,-0.0909382924437523,-0.0931131318211555,-0.1015701815485954,-0.0458565838634968,0.0552412495017052,0.1479353159666061,-0.1293515264987946,0.1352471113204956,0.1350554674863815,0.2423781007528305) * MODEL1_texOff(vec2(0,0)); +res += mat4(-0.1460799425840378,-0.0870099514722824,-0.3320889174938202,0.0029531058389693,0.0003779839025810,0.1603541225194931,-0.1854766905307770,-0.0395797602832317,0.2737091481685638,0.0791982561349869,0.2486470639705658,-0.1720715761184692,-0.3103558719158173,-0.1731415987014771,-0.0599733479321003,0.1694648861885071) * MODEL2_texOff(vec2(0,0)); +res += mat4(0.1328926533460617,-0.0506218485534191,-0.0827026888728142,-0.0155238732695580,0.1623931527137756,-0.2291088253259659,-0.1520931869745255,0.2099923491477966,-0.1042925342917442,-0.0283695645630360,-0.0153061477467418,-0.0599941164255142,-0.0137519370764494,-0.1387848705053329,0.2283842861652374,-0.2495807409286499) * MODEL3_texOff(vec2(0,0)); +res += mat4(0.1108347102999687,-0.3235684037208557,-0.1621576845645905,-0.1383376866579056,0.0498821549117565,-0.2089745998382568,0.2584751546382904,0.2222363948822021,-0.1537376344203949,-0.0630492791533470,-0.2469779402017593,0.0190654341131449,0.1372849047183990,0.1260436028242111,0.0395299233496189,-0.1577372252941132) * MODEL4_texOff(vec2(0,0)); +res += mat4(0.1201148852705956,0.0632386207580566,0.0014183582970873,-0.0995097085833549,0.0613158196210861,0.1180694773793221,0.1030651479959488,0.0857463851571083,-0.1475404798984528,0.1019628793001175,-0.0630038306117058,-0.0242552459239960,0.0928116291761398,0.0385808683931828,0.0403628572821617,0.0216276403516531) * MODEL1_texOff(vec2(0,1)); +res += mat4(-0.0557530373334885,0.0755260884761810,0.0573121942579746,-0.0846045166254044,-0.1383802145719528,0.0156871546059847,0.0206889864057302,0.0196448732167482,0.0936936438083649,-0.0411296375095844,0.0917777568101883,-0.0541635826230049,-0.1951742023229599,0.0054358150810003,-0.0279130693525076,-0.1886591315269470) * MODEL2_texOff(vec2(0,1)); +res += mat4(-0.0756752490997314,-0.0273822136223316,0.1296551972627640,0.0417635515332222,-0.0240329802036285,0.0925910696387291,-0.1920022219419479,0.1842794269323349,-0.0187953840941191,-0.0966263934969902,-0.0716835185885429,0.0709151551127434,0.1714404076337814,-0.0126170367002487,0.0895805954933167,-0.1575298607349396) * MODEL3_texOff(vec2(0,1)); +res += mat4(0.0161564704030752,-0.0908250436186790,-0.0535212606191635,-0.1211237236857414,0.0104334913194180,0.0964544042944908,0.1245422288775444,-0.0596341341733932,-0.0090741291642189,-0.0622812099754810,-0.0570233128964901,0.0121575519442558,0.1045827344059944,0.0949763879179955,-0.0032854136079550,0.0530056022107601) * MODEL4_texOff(vec2(0,1)); +res += mat4(-0.0003848207416013,0.0003470199008007,-0.2092830240726471,-0.1006018817424774,0.1081147268414497,-0.0939455777406693,-0.2698166072368622,-0.1198394224047661,0.0247480031102896,0.0025754191447049,0.0529895015060902,0.0784725844860077,-0.0928552076220512,0.0278765819966793,-0.1788543015718460,-0.1194280758500099) * MODEL1_texOff(vec2(1,-1)); +res += mat4(-0.0240296050906181,-0.0719401836395264,-0.0925402045249939,0.0368942469358444,-0.1238216906785965,-0.0104599799960852,0.0797987431287766,0.2005718648433685,-0.0560903325676918,0.1204912438988686,-0.1408958435058594,-0.1095607727766037,0.0530463643372059,-0.0714835375547409,0.1204818114638329,-0.0226355418562889) * MODEL2_texOff(vec2(1,-1)); +res += mat4(-0.0066233715042472,-0.0085219331085682,0.1553241163492203,0.1768709570169449,-0.0071294018998742,0.0826016515493393,0.1033945232629776,-0.0842639729380608,-0.0041914470493793,0.0168229565024376,0.0179441776126623,-0.1159901246428490,0.0649634003639221,-0.0036737429909408,-0.0771653503179550,-0.0308642201125622) * MODEL3_texOff(vec2(1,-1)); +res += mat4(0.2729343771934509,0.0497075170278549,-0.0026191901415586,-0.1095769479870796,0.1689689904451370,0.0989566892385483,0.1425782740116119,-0.0923333391547203,0.0479826107621193,-0.0109836682677269,-0.1516933888196945,-0.0755853131413460,0.0668197572231293,-0.1661550849676132,-0.1431109160184860,-0.0723206996917725) * MODEL4_texOff(vec2(1,-1)); +res += mat4(0.1526912599802017,-0.2092438638210297,0.1788097172975540,-0.2979544103145599,0.1153424009680748,-0.0583218894898891,0.2775128483772278,-0.0670548528432846,-0.1158031001687050,-0.0313567221164703,-0.0862830877304077,-0.0168380811810493,0.1720536202192307,-0.1574773937463760,-0.0655749142169952,0.0468243248760700) * MODEL1_texOff(vec2(1,0)); +res += mat4(-0.0487683452665806,-0.0382587201893330,0.0241972431540489,-0.0493089780211449,-0.0555609352886677,-0.0067837014794350,-0.0213792026042938,-0.0070139062590897,0.0188753847032785,-0.0027772670146078,-0.0037210951559246,0.0412457138299942,-0.1203945055603981,0.1010156199336052,0.1245918199419975,0.0539072118699551) * MODEL2_texOff(vec2(1,0)); +res += mat4(0.2347936481237411,0.0883517116308212,0.1132112294435501,-0.0474456958472729,-0.1135244220495224,-0.0347181186079979,0.0172416865825653,-0.2652592957019806,-0.0226777717471123,-0.0604296252131462,0.0538337491452694,-0.1083922386169434,-0.1236453726887703,-0.1288684159517288,-0.0247967280447483,0.1505742967128754) * MODEL3_texOff(vec2(1,0)); +res += mat4(0.2681937813758850,-0.0158778056502342,-0.1354302614927292,-0.1361819207668304,0.0306474398821592,0.2655562162399292,-0.0406502112746239,0.0016859595198184,-0.0237504821270704,0.0070713874883950,-0.0231034811586142,0.1406109482049942,-0.1182266771793365,-0.0951323062181473,0.0018538978183642,-0.2768996357917786) * MODEL4_texOff(vec2(1,0)); +res += mat4(0.0353536196053028,-0.0921272039413452,0.0878378674387932,-0.0809178501367569,0.0247934293001890,0.0404791571199894,0.2440562695264816,-0.2024139314889908,-0.0439180545508862,-0.0269075818359852,-0.0294208191335201,-0.1838177591562271,-0.0105912992730737,-0.0347341038286686,0.2511779069900513,-0.2236188799142838) * MODEL1_texOff(vec2(1,1)); +res += mat4(0.0756920054554939,-0.0789640992879868,0.0566606670618057,-0.0701330006122589,-0.1399319618940353,0.0669462606310844,-0.1423660665750504,0.0571723207831383,0.0195416212081909,-0.0601054690778255,-0.1047430261969566,-0.0097105586901307,0.0143667897209525,0.0351258963346481,-0.0918308123946190,0.0262705143541098) * MODEL2_texOff(vec2(1,1)); +res += mat4(0.0553749389946461,-0.0041886884719133,-0.0605173110961914,-0.2807769775390625,-0.0843012928962708,-0.0889118164777756,0.1334851682186127,0.1318182200193405,0.0897891595959663,0.0396225266158581,0.0366121716797352,0.1134602576494217,-0.0629994198679924,-0.1568417549133301,-0.1642931103706360,-0.0793174281716347) * MODEL3_texOff(vec2(1,1)); +res += mat4(0.0874854996800423,0.1451302468776703,0.0418023057281971,-0.1321189403533936,-0.0695790126919746,0.2883740365505219,-0.1460049748420715,0.0687866210937500,0.0545384436845779,-0.0934416949748993,-0.0962195023894310,-0.1414998918771744,0.0271762069314718,-0.1021812409162521,0.0505671724677086,-0.2166446149349213) * MODEL4_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(0.5975642800331116,0.7101187705993652,0.2210603356361389,0.2657143771648407) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Mapping 3_4 +//!BIND MODEL1 +//!BIND MODEL2 +//!BIND MODEL3 +//!BIND MODEL4 +//!SAVE MODEL24 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0443575866520405,0.0172876622527838,-0.0082638226449490,-0.0544411092996597); +res += mat4(-0.1153867915272713,0.0461534447968006,-0.0481961183249950,-0.2565690577030182,0.1237876564264297,0.0152695626020432,-0.0350298024713993,-0.0990370288491249,0.0285262055695057,0.1229283809661865,-0.1238357573747635,-0.0759160369634628,-0.2531270980834961,0.2380990982055664,-0.0787951722741127,0.1950285434722900) * MODEL1_texOff(vec2(-1,-1)); +res += mat4(-0.0382908396422863,-0.0417050942778587,-0.1520241796970367,0.0926067382097244,-0.0464121475815773,0.0505627468228340,-0.0669444873929024,0.1505109965801239,-0.0031924818176776,0.0725569278001785,-0.0324036702513695,-0.1299898773431778,0.0526748150587082,-0.3923801779747009,-0.0003234971081838,0.2298050224781036) * MODEL2_texOff(vec2(-1,-1)); +res += mat4(-0.0158206578344107,0.0612725801765919,0.0217537786811590,0.0373446457087994,0.0386385247111320,-0.3187672793865204,0.0781018361449242,0.0903870463371277,0.0719380453228951,-0.1963636577129364,0.1117507144808769,0.2412035316228867,0.0393624939024448,-0.0267373267561197,-0.0120506389066577,0.0325187817215919) * MODEL3_texOff(vec2(-1,-1)); +res += mat4(0.0013712226646021,-0.0729541629552841,-0.0627016201615334,0.0235389731824398,-0.0010774170514196,0.0116832097992301,0.0252580288797617,0.0797800123691559,-0.0948337614536285,-0.2426748275756836,-0.0168571360409260,0.1404494047164917,-0.0608085468411446,0.1046258732676506,-0.0393141172826290,-0.3354213833808899) * MODEL4_texOff(vec2(-1,-1)); +res += mat4(0.0401702076196671,0.0116428518667817,0.0165713913738728,-0.1874607950448990,0.0213737469166517,-0.2549341619014740,-0.0404388010501862,-0.1960299760103226,-0.0566449239850044,-0.0323658846318722,-0.1800719201564789,-0.0039301561191678,0.0696632415056229,0.3224157989025116,-0.0475851297378540,-0.1182355955243111) * MODEL1_texOff(vec2(-1,0)); +res += mat4(-0.0834796428680420,-0.1097645685076714,-0.1787838637828827,-0.2374421954154968,-0.1988388746976852,-0.0524192564189434,0.0666269883513451,0.0908249542117119,-0.0258842185139656,-0.0545889735221863,-0.0301691982895136,0.0798295736312866,-0.2172527909278870,-0.0664639845490456,-0.0143356332555413,-0.2312526553869247) * MODEL2_texOff(vec2(-1,0)); +res += mat4(0.0714868083596230,0.0502547994256020,0.0061017167754471,-0.1212317571043968,-0.1282726526260376,0.0560447759926319,-0.0607359856367111,0.2706331908702850,-0.1796873956918716,-0.1682124137878418,0.0601998120546341,0.0678014680743217,0.0790508463978767,0.3452021777629852,-0.0348107293248177,-0.0541482418775558) * MODEL3_texOff(vec2(-1,0)); +res += mat4(-0.0569735094904900,-0.1850724965333939,0.1415492594242096,-0.2577478885650635,-0.1717088371515274,0.0901149287819862,-0.0661593079566956,-0.0004867933748756,0.1020784005522728,-0.0526819080114365,0.2232382893562317,-0.2100684493780136,0.0857498720288277,-0.0184538122266531,-0.1990237534046173,-0.0481382273137569) * MODEL4_texOff(vec2(-1,0)); +res += mat4(-0.0701708495616913,0.0714991837739944,-0.0289904810488224,0.0925415754318237,0.3219135403633118,0.0831121951341629,0.0881434902548790,0.1057760789990425,0.0613221228122711,0.1067363843321800,-0.1622885763645172,-0.1565199643373489,0.0851741209626198,0.1869019120931625,0.1420780122280121,0.0997897535562515) * MODEL1_texOff(vec2(-1,1)); +res += mat4(-0.0006897908751853,0.0002230324316770,-0.0061215348541737,0.0813290178775787,0.1386551111936569,-0.0496507324278355,-0.0165110882371664,-0.0290622301399708,0.0139145683497190,0.1921701133251190,-0.0538125894963741,-0.0863768830895424,-0.2305068075656891,-0.2698709964752197,-0.0517536289989948,-0.1628949642181396) * MODEL2_texOff(vec2(-1,1)); +res += mat4(-0.1351000368595123,0.1070886105298996,-0.2094243615865707,0.0464893393218517,0.0940783843398094,-0.1414466351270676,0.0218101758509874,0.3694844841957092,-0.1057478785514832,-0.1334850490093231,0.2141398936510086,-0.3210513293743134,-0.0921101868152618,0.0976445004343987,-0.2729000449180603,0.0085345814004540) * MODEL3_texOff(vec2(-1,1)); +res += mat4(-0.1307733803987503,0.1647614687681198,-0.0921722650527954,-0.3943025767803192,0.0007722134469077,0.0027217469178140,-0.1987177282571793,-0.1953782737255096,-0.0254900511354208,-0.0454240925610065,0.3156110942363739,-0.0799890533089638,0.2957562804222107,0.0620916970074177,-0.0336010232567787,0.2646394073963165) * MODEL4_texOff(vec2(-1,1)); +res += mat4(0.1116567626595497,-0.0836347565054893,0.1115480437874794,0.0097437910735607,0.1639147549867630,0.0891782045364380,-0.0390031039714813,0.1287636607885361,0.0770513340830803,0.0410465076565742,-0.0916645526885986,0.1304619610309601,-0.0790105015039444,0.1829534024000168,-0.0470223166048527,-0.0093155642971396) * MODEL1_texOff(vec2(0,-1)); +res += mat4(0.0936345830559731,-0.0782197788357735,0.1606648862361908,0.1692751049995422,0.0132142482325435,0.1755735427141190,0.0863987356424332,0.0030541669111699,0.0000777405730332,-0.0637332722544670,-0.0151124233379960,0.0080806603655219,0.2946056127548218,0.1572885811328888,-0.0315047018229961,0.0588088929653168) * MODEL2_texOff(vec2(0,-1)); +res += mat4(-0.0298017617315054,-0.0061077997088432,-0.0580525957047939,-0.0804082378745079,-0.1665166020393372,0.0623690932989120,0.0284630451351404,-0.0096295243129134,0.1184189021587372,0.1396970599889755,-0.1514411866664886,0.1364833414554596,0.0481353737413883,-0.0669141933321953,0.1589397490024567,-0.0797372981905937) * MODEL3_texOff(vec2(0,-1)); +res += mat4(-0.0185342114418745,-0.1536676138639450,-0.0603987500071526,-0.0730288252234459,-0.1415396630764008,-0.0863459929823875,0.0164157245308161,0.0840049684047699,-0.0415670052170753,-0.0586951412260532,0.0512553639709949,0.1032735556364059,-0.1099452152848244,-0.0762356966733932,-0.1867228895425797,0.0231300555169582) * MODEL4_texOff(vec2(0,-1)); +res += mat4(-0.1312593370676041,0.0375906229019165,0.1423014402389526,-0.1105326265096664,0.0680506676435471,-0.0286753885447979,0.0948435217142105,-0.0689550116658211,-0.0741788819432259,0.1600024253129959,-0.0716771259903908,0.0085076913237572,-0.1738433390855789,-0.0144208027049899,-0.0136983916163445,-0.0305898804217577) * MODEL1_texOff(vec2(0,0)); +res += mat4(0.0929514318704605,-0.1521934568881989,-0.0364846922457218,0.0338692665100098,-0.0106543321162462,-0.0289950501173735,0.1089482158422470,0.1263038516044617,-0.0290692597627640,-0.0697734877467155,0.1355585157871246,-0.1108760386705399,-0.0116071458905935,0.0083957426249981,-0.2239753752946854,-0.5434979796409607) * MODEL2_texOff(vec2(0,0)); +res += mat4(-0.0460685156285763,0.0441793315112591,0.1100800260901451,-0.1913414448499680,-0.1769113987684250,0.0404835790395737,-0.0132482098415494,-0.2680893838405609,-0.0374812632799149,0.1182867735624313,-0.3552883565425873,-0.0169352013617754,-0.0444028526544571,0.1078578159213066,0.0429306253790855,-0.1253164261579514) * MODEL3_texOff(vec2(0,0)); +res += mat4(0.1520735323429108,0.1122125014662743,-0.0572709515690804,0.1860113143920898,-0.1938176900148392,-0.1196697056293488,0.0515486299991608,0.0246989522129297,-0.0040818098932505,-0.0565706454217434,0.1167541593313217,-0.0432274863123894,-0.0820094197988510,-0.0788283571600914,0.0382751859724522,-0.2703585624694824) * MODEL4_texOff(vec2(0,0)); +res += mat4(-0.0544024519622326,-0.0482789166271687,0.0499327331781387,-0.0224006045609713,-0.1344419270753860,0.1278635114431381,0.0594440139830112,0.0979198217391968,-0.0838272720575333,-0.0638934597373009,-0.0973634496331215,-0.0540071614086628,0.0897210091352463,-0.1422097086906433,-0.0421974919736385,0.2081049084663391) * MODEL1_texOff(vec2(0,1)); +res += mat4(0.1588554382324219,-0.0452760532498360,0.1712678372859955,-0.2316809445619583,-0.1399545371532440,0.1568536311388016,-0.1081517189741135,0.0849758759140968,-0.1067460626363754,0.2366832941770554,-0.2033029198646545,-0.0909346193075180,-0.0132193733006716,-0.1119452565908432,-0.0544908158481121,-0.0902159363031387) * MODEL2_texOff(vec2(0,1)); +res += mat4(-0.1147935464978218,-0.1596799343824387,-0.2795168459415436,0.3158423900604248,0.0038823492359370,0.2082762718200684,-0.1292865127325058,0.2380218058824539,-0.0593362376093864,-0.0810502246022224,0.0335814654827118,-0.1890208125114441,-0.1477932035923004,0.2309811264276505,-0.3007490336894989,0.0217646900564432) * MODEL3_texOff(vec2(0,1)); +res += mat4(-0.2412584275007248,-0.1820785254240036,0.0960279777646065,-0.2453560382127762,-0.2881637811660767,-0.1028830781579018,-0.2350692152976990,-0.0128567134961486,0.1733272373676300,-0.0676517561078072,0.1780357509851456,-0.0170940048992634,0.0703172907233238,0.0450714193284512,-0.1234186515212059,-0.0243477169424295) * MODEL4_texOff(vec2(0,1)); +res += mat4(0.0533849410712719,-0.0511825680732727,-0.0241323150694370,0.0128192249685526,-0.2787725627422333,-0.0935949161648750,-0.0443010739982128,-0.3568337559700012,-0.2843543589115143,-0.0588542819023132,-0.0993447974324226,-0.1083608344197273,0.0001687354524620,0.0821412280201912,-0.1406271159648895,-0.0102522866800427) * MODEL1_texOff(vec2(1,-1)); +res += mat4(-0.0060335719026625,0.1511419117450714,-0.0411694757640362,-0.1048525050282478,0.0608293041586876,0.0566475875675678,-0.0050620441325009,0.1147922128438950,0.2428995966911316,0.0423743464052677,-0.0551568940281868,0.1753053963184357,-0.1469645202159882,-0.0733559280633926,0.0791069194674492,-0.0516989901661873) * MODEL2_texOff(vec2(1,-1)); +res += mat4(-0.2005743384361267,-0.0774631947278976,-0.0018204173538834,-0.0483595058321953,0.3581720888614655,-0.0147614227607846,0.0816907212138176,0.0681930705904961,0.0841999724507332,-0.0154275819659233,0.2317570000886917,-0.1873822659254074,0.1134597137570381,0.0353046320378780,0.0136633478105068,0.2268718034029007) * MODEL3_texOff(vec2(1,-1)); +res += mat4(0.0015500508015975,-0.0350912995636463,0.1819244474172592,-0.2943778336048126,0.2153276652097702,-0.0406356230378151,0.1584931910037994,-0.0552403181791306,0.2545297443866730,-0.0378523170948029,0.0114929713308811,0.1883126944303513,0.1250792145729065,0.0013357850257307,-0.0502807945013046,-0.0971949324011803) * MODEL4_texOff(vec2(1,-1)); +res += mat4(-0.1276038736104965,-0.0561961047351360,-0.0403705053031445,-0.0439917519688606,0.1488273143768311,-0.0142760565504432,-0.1225387305021286,0.0815235823392868,-0.2227692008018494,-0.0470094233751297,-0.1504957526922226,0.0665239840745926,-0.1025593727827072,-0.2867625355720520,-0.1235116273164749,-0.1901986598968506) * MODEL1_texOff(vec2(1,0)); +res += mat4(-0.0514027960598469,-0.0061687403358519,0.0168033670634031,-0.1432375460863113,0.2030462473630905,-0.0529608055949211,0.0640496462583542,0.0653001144528389,0.1284048259258270,0.2448618561029434,0.0806659683585167,0.0043277940712869,-0.2672352194786072,0.1622381359338760,-0.1735759675502777,0.2809754610061646) * MODEL2_texOff(vec2(1,0)); +res += mat4(0.0474898442625999,-0.0711890533566475,0.1305476576089859,0.1354811936616898,-0.1942416578531265,-0.1283458322286606,0.1431433707475662,-0.0947294756770134,-0.2257959097623825,-0.0092973057180643,-0.0537335127592087,-0.0020512044429779,-0.0061748009175062,-0.0626277625560760,0.0192528180778027,-0.0914773717522621) * MODEL3_texOff(vec2(1,0)); +res += mat4(-0.2095741480588913,0.0379726476967335,-0.2243293821811676,-0.1013792231678963,0.0686150416731834,0.0155981667339802,-0.0764645710587502,-0.0305842161178589,-0.0259961690753698,-0.0745085924863815,0.0172162204980850,0.1879747360944748,0.0452391169965267,-0.0608093813061714,0.0837198868393898,-0.0468869470059872) * MODEL4_texOff(vec2(1,0)); +res += mat4(0.1117817163467407,-0.0641569420695305,-0.1584290117025375,-0.1181755587458611,0.1186503022909164,-0.1156232878565788,-0.0058344611898065,0.0541331358253956,-0.1282003223896027,-0.0582902543246746,0.0543746426701546,0.0679086893796921,0.0061439238488674,-0.1673425436019897,0.0167079698294401,-0.0337483622133732) * MODEL1_texOff(vec2(1,1)); +res += mat4(-0.0318820178508759,0.0777627304196358,0.0269147269427776,-0.0861848220229149,-0.0572732873260975,0.0880183279514313,-0.2400159239768982,0.0165461376309395,-0.1212224960327148,0.0376691259443760,-0.0711813941597939,0.0702142715454102,-0.0927743837237358,0.1374232769012451,0.1284533143043518,-0.1024940311908722) * MODEL2_texOff(vec2(1,1)); +res += mat4(-0.0138010382652283,-0.1079927086830139,0.1322774291038513,-0.0478576496243477,0.0391805581748486,-0.1299014836549759,-0.1109418123960495,0.1180314943194389,-0.2295429855585098,-0.0117011712864041,0.0984913781285286,-0.1071909889578819,0.0500463247299194,0.0054267598316073,-0.0930221453309059,0.0215281862765551) * MODEL3_texOff(vec2(1,1)); +res += mat4(0.2036101222038269,-0.1901089102029800,-0.0043966257944703,0.0032272462267429,-0.1521417796611786,0.1286157071590424,0.0190770793706179,0.3636183440685272,0.0024238554760814,-0.0177340153604746,-0.0120035065338016,-0.0587586909532547,-0.3092055618762970,-0.2019037306308746,-0.0443389788269997,0.0946903005242348) * MODEL4_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(-0.2789254188537598,0.3638928830623627,0.2096617668867111,0.2994046211242676) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Mapping 4_1 +//!BIND MODEL21 +//!BIND MODEL22 +//!BIND MODEL23 +//!BIND MODEL24 +//!SAVE MODEL1 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0152921751141548,-0.0421884134411812,-0.0183614157140255,-0.0410282649099827); +res += mat4(-0.1190162375569344,-0.0184951145201921,-0.1952454596757889,0.0351415611803532,0.1095704361796379,0.2690263390541077,0.0928188338875771,-0.0438257195055485,-0.1564324200153351,0.2202608585357666,0.2966482639312744,0.2339300215244293,0.0177180171012878,-0.1406821310520172,0.0425183176994324,-0.0873366072773933) * MODEL21_texOff(vec2(-1,-1)); +res += mat4(0.2482375502586365,-0.2654781043529510,0.2639889121055603,0.0700655505061150,0.0615517050027847,0.2108351439237595,-0.0806319713592529,-0.1797526925802231,-0.0624336525797844,-0.0685776099562645,-0.0651563480496407,-0.1443491876125336,-0.0246811471879482,-0.0681877285242081,0.1129898726940155,0.0209530275315046) * MODEL22_texOff(vec2(-1,-1)); +res += mat4(0.1096812859177589,0.0943959653377533,-0.0782932192087173,0.0260468591004610,0.0174635350704193,-0.0246985722333193,0.1732371747493744,0.0406307987868786,-0.1182044446468353,0.0382165163755417,-0.0067044254392385,-0.0999275520443916,-0.0449297130107880,-0.1320085078477859,-0.1360876113176346,0.0060703670606017) * MODEL23_texOff(vec2(-1,-1)); +res += mat4(0.1356152594089508,0.0572884306311607,0.0406529195606709,-0.0040565952658653,0.1286915987730026,0.0303153414279222,0.1618053168058395,-0.1200676858425140,-0.0263732224702835,-0.0870896205306053,-0.1316560655832291,-0.0121240299195051,-0.1870461106300354,0.0447288043797016,0.1710527390241623,-0.0553721748292446) * MODEL24_texOff(vec2(-1,-1)); +res += mat4(0.0464471168816090,0.1919526904821396,-0.0946551561355591,0.0074956319294870,0.0994874835014343,0.1217840313911438,-0.1294769197702408,0.1544425636529922,0.1606628894805908,-0.0447351709008217,0.0724694505333900,0.1136291772127151,0.0624733753502369,0.2222158610820770,0.0059010013937950,-0.2364514917135239) * MODEL21_texOff(vec2(-1,0)); +res += mat4(0.0778907388448715,-0.2539246976375580,0.1198333278298378,0.1660131216049194,0.0046856617555022,-0.0109800677746534,-0.0306674037128687,-0.1896251738071442,-0.0958613678812981,0.1874391138553619,0.0100123696029186,0.0713699460029602,0.0761645883321762,-0.0569560490548611,-0.0909131392836571,-0.2699472308158875) * MODEL22_texOff(vec2(-1,0)); +res += mat4(0.0022238192614168,0.0236477814614773,-0.1229914277791977,0.0418010838329792,-0.0787138417363167,-0.1798612177371979,-0.0279805678874254,-0.1342673748731613,-0.1635391414165497,0.1586353182792664,0.0362808294594288,-0.0167230870574713,0.0373955816030502,-0.0876701474189758,0.0420879013836384,0.0321516953408718) * MODEL23_texOff(vec2(-1,0)); +res += mat4(0.1590444743633270,0.2544798552989960,-0.0201293881982565,-0.0064975111745298,0.0535139851272106,0.0806894153356552,0.0318354517221451,-0.0655529201030731,0.0377475693821907,0.1721737682819366,0.0385644212365150,-0.0033262318465859,-0.0013670603511855,0.0367730893194675,0.1605158299207687,0.0891601368784904) * MODEL24_texOff(vec2(-1,0)); +res += mat4(-0.0085276458412409,0.0541307553648949,0.1286090761423111,-0.0389432199299335,-0.0670036301016808,0.0946321934461594,-0.1318523585796356,-0.0768390223383904,0.0443721488118172,-0.1537600755691528,0.1307534128427505,-0.0283763110637665,0.0388615429401398,0.0762248709797859,0.2399333566427231,-0.0962653160095215) * MODEL21_texOff(vec2(-1,1)); +res += mat4(0.2717413306236267,0.1760793924331665,0.0461732149124146,0.1770322769880295,-0.0147960223257542,0.1942998468875885,0.0912752971053123,0.1081396862864494,-0.0026726231444627,-0.0024635316804051,-0.0913982912898064,0.0536704622209072,-0.1522853970527649,0.0006489959196188,-0.2053583562374115,-0.1001611500978470) * MODEL22_texOff(vec2(-1,1)); +res += mat4(0.0400715842843056,0.0722900927066803,-0.0374822057783604,0.0356386937201023,-0.1277060508728027,0.0041482169181108,-0.0131168477237225,-0.1277870088815689,0.1593655496835709,0.3133496940135956,-0.1106509268283844,-0.0919809043407440,-0.0221825707703829,0.1275840550661087,0.0457564666867256,0.1137011200189590) * MODEL23_texOff(vec2(-1,1)); +res += mat4(0.1386460512876511,0.0263838153332472,-0.0035507711581886,-0.0521514378488064,0.0641407221555710,-0.0251645147800446,-0.0361470617353916,0.0171069763600826,0.0135087221860886,0.0506664738059044,0.1144266724586487,-0.0754845216870308,0.0439829565584660,0.1722060143947601,0.0689463019371033,0.1090410947799683) * MODEL24_texOff(vec2(-1,1)); +res += mat4(-0.0748251825571060,-0.0373868755996227,-0.2445237040519714,0.0461999066174030,-0.0312598906457424,0.1628284752368927,0.0755133777856827,0.3153704702854156,0.1078406572341919,0.0109743885695934,0.0214311145246029,0.1987844407558441,-0.1095619872212410,-0.2364546656608582,-0.0557893775403500,-0.0438105836510658) * MODEL21_texOff(vec2(0,-1)); +res += mat4(-0.1185420677065849,-0.1639555245637894,-0.0675024390220642,0.0044744056649506,0.0197197534143925,0.0533142052590847,0.1106917634606361,-0.2565958499908447,-0.1599204242229462,-0.0745692253112793,-0.0643470361828804,-0.0407701171934605,0.0399509742856026,-0.1874625533819199,0.1287930756807327,-0.0945565849542618) * MODEL22_texOff(vec2(0,-1)); +res += mat4(-0.0372985824942589,-0.2364475876092911,-0.1416206657886505,0.1206288337707520,0.1208982989192009,0.0546784326434135,-0.4221828281879425,-0.1534760743379593,-0.2807195186614990,-0.1074331626296043,-0.1914845257997513,-0.1712386459112167,0.0061590727418661,0.1753525882959366,-0.0589087307453156,-0.0505195632576942) * MODEL23_texOff(vec2(0,-1)); +res += mat4(-0.0249151661992073,-0.2597448527812958,0.0631191357970238,-0.0944171100854874,0.1629322767257690,-0.0848318040370941,-0.0093861659988761,-0.0577203407883644,-0.0819902941584587,0.0118851140141487,-0.0646880120038986,0.1390649974346161,-0.1198703199625015,-0.0731857642531395,0.0939662232995033,0.1096417233347893) * MODEL24_texOff(vec2(0,-1)); +res += mat4(-0.0456407405436039,0.2087496221065521,-0.1715715974569321,-0.0412586145102978,-0.1189664676785469,-0.3260678946971893,0.0376400612294674,0.1359800100326538,0.1107803955674171,-0.1855342686176300,0.2170415818691254,-0.2294681966304779,-0.0429555885493755,-0.1306051015853882,-0.0653500035405159,-0.1527210325002670) * MODEL21_texOff(vec2(0,0)); +res += mat4(0.0513946749269962,-0.2365732938051224,0.2034884542226791,0.3393885493278503,0.0079911397770047,0.4098736047744751,0.1941663324832916,0.2354645133018494,-0.0273872185498476,-0.0961385965347290,0.1584006547927856,-0.1822158545255661,-0.1715795099735260,-0.0462534204125404,0.3786302208900452,-0.1046399176120758) * MODEL22_texOff(vec2(0,0)); +res += mat4(0.1457742005586624,-0.0326225198805332,-0.1828748881816864,0.0100795663893223,-0.0470789559185505,-0.1352290362119675,-0.0171587206423283,-0.0729092657566071,-0.0180453155189753,-0.0511937029659748,-0.0897613093256950,-0.0998294651508331,0.2800712287425995,0.0911974161863327,-0.0701540037989616,-0.0567394345998764) * MODEL23_texOff(vec2(0,0)); +res += mat4(-0.1067931354045868,-0.1711982190608978,0.1395526826381683,0.0277959425002337,0.0274742078036070,0.0734200999140739,0.0027106383349746,0.0178273487836123,0.0144101316109300,0.0287801306694746,-0.0933949872851372,0.0911574736237526,0.0861448571085930,0.0838528275489807,0.0704732686281204,0.0419431403279305) * MODEL24_texOff(vec2(0,0)); +res += mat4(0.0205994043499231,0.2417548000812531,0.0743231922388077,0.1109088286757469,0.0398612245917320,-0.2234560549259186,-0.0184749383479357,-0.0584219731390476,0.0074035394936800,-0.0421438366174698,0.0163138583302498,0.0404778495430946,-0.1052960157394409,-0.0272959545254707,0.1423123329877853,-0.2191802710294724) * MODEL21_texOff(vec2(0,1)); +res += mat4(0.2918152809143066,-0.0512063801288605,-0.0686650797724724,-0.1564840525388718,-0.1622433960437775,-0.1695790588855743,0.1793539226055145,-0.0133622605353594,-0.0066824923269451,0.1389845460653305,0.1318333595991135,0.1922488957643509,-0.1405286788940430,0.1521170437335968,-0.0267318449914455,-0.0208528414368629) * MODEL22_texOff(vec2(0,1)); +res += mat4(-0.0539000183343887,0.0081105474382639,0.0205685626715422,-0.0260431114584208,-0.1052201390266418,0.0256972257047892,-0.0282303746789694,0.0167612694203854,0.0051702377386391,-0.3079237043857574,-0.2489529252052307,-0.1375894248485565,-0.0477345809340477,-0.0605724230408669,-0.0606473386287689,0.0535141825675964) * MODEL23_texOff(vec2(0,1)); +res += mat4(0.1517951637506485,-0.1868469119071960,0.0677186027169228,-0.0303589422255754,0.1308214962482452,0.2213404625654221,-0.0028607835993171,0.1499667316675186,-0.0751280263066292,0.1820339262485504,-0.1236320659518242,0.0402352139353752,0.1558123379945755,0.0228522513061762,0.0689747929573059,0.1458114981651306) * MODEL24_texOff(vec2(0,1)); +res += mat4(-0.0838735550642014,0.0195065308362246,0.1009202972054482,0.0141693735495210,-0.0684822127223015,-0.0332339815795422,-0.0316249914467335,0.0639695823192596,0.1330005973577499,0.0309487301856279,-0.0566686838865280,0.0385463833808899,0.0492574349045753,0.0554966218769550,-0.0292854662984610,0.1207696422934532) * MODEL21_texOff(vec2(1,-1)); +res += mat4(0.0758837163448334,-0.1427588909864426,-0.0506482608616352,0.1501635313034058,0.1298136264085770,0.0306423064321280,0.0134161738678813,0.0281889680773020,0.0916559845209122,0.0178684890270233,-0.1619153767824173,-0.0340744554996490,-0.0231783911585808,0.2219653278589249,0.0506693795323372,0.1598078310489655) * MODEL22_texOff(vec2(1,-1)); +res += mat4(0.0627072677016258,-0.1126960963010788,0.0420085266232491,-0.1589002311229706,-0.1158275157213211,0.1281264573335648,-0.1756466329097748,0.2203005254268646,0.0139595735818148,0.1681433022022247,-0.2345749884843826,-0.1571274548768997,-0.0429701618850231,0.2290336936712265,0.1631883382797241,-0.0694149285554886) * MODEL23_texOff(vec2(1,-1)); +res += mat4(0.0143380742520094,-0.1124840825796127,0.1168280020356178,-0.1331634521484375,0.0748192667961121,-0.0109221572056413,-0.1713442057371140,-0.1797152310609818,0.0350942499935627,0.2641543447971344,0.0925283432006836,0.1252704262733459,0.1288260519504547,-0.0570767410099506,-0.0398881733417511,0.0273588541895151) * MODEL24_texOff(vec2(1,-1)); +res += mat4(-0.0380972400307655,0.1034212782979012,0.0213828608393669,-0.0148614794015884,-0.1653871387243271,-0.0820154994726181,-0.0358952581882477,0.0552289225161076,-0.2512517571449280,0.1247166395187378,-0.1592407822608948,-0.0321089997887611,-0.0776566565036774,-0.1996893286705017,0.0018975811544806,-0.1666585355997086) * MODEL21_texOff(vec2(1,0)); +res += mat4(-0.0514128804206848,-0.1806413531303406,0.0581526309251785,-0.1845205128192902,-0.0468177050352097,0.0065296655520797,0.1329463273286819,-0.0450613945722580,-0.0819161683320999,0.0609286017715931,-0.1706075519323349,0.0268993731588125,-0.0072728786617517,0.0518279410898685,0.1027556210756302,-0.2655471563339233) * MODEL22_texOff(vec2(1,0)); +res += mat4(-0.0528295002877712,-0.0194170381873846,0.1845526546239853,0.1348505467176437,-0.0152165666222572,0.1258783489465714,-0.0651827603578568,0.2780140936374664,0.1117969900369644,-0.0688591971993446,-0.3288070559501648,-0.0939544737339020,0.0130054829642177,-0.0179348811507225,0.0906036049127579,0.0461135618388653) * MODEL23_texOff(vec2(1,0)); +res += mat4(-0.0796370580792427,0.1440742760896683,0.0958162546157837,-0.1148072108626366,-0.0286090094596148,-0.1137517839670181,-0.0212270878255367,0.1032781600952148,-0.0507704839110374,-0.2957864701747894,0.0144752692431211,0.3187844455242157,0.1403873860836029,-0.1035481691360474,0.1974873691797256,-0.2632073760032654) * MODEL24_texOff(vec2(1,0)); +res += mat4(-0.0686532109975815,0.0114168180152774,-0.0264973752200603,0.0432150885462761,0.0409793704748154,-0.1033034026622772,0.0921624004840851,-0.0223657265305519,0.0132174659520388,0.1944419145584106,0.0101372804492712,0.2384791672229767,-0.0903540775179863,-0.0613362453877926,-0.1348354369401932,0.0117543349042535) * MODEL21_texOff(vec2(1,1)); +res += mat4(-0.0706733688712120,0.0145568102598190,0.2090485543012619,0.0469079948961735,-0.1149041429162025,-0.0119383949786425,-0.1316107362508774,0.0373619385063648,0.0922811999917030,0.1671076565980911,-0.1278596818447113,0.1180500537157059,-0.1782978773117065,-0.0470792539417744,0.2547687590122223,-0.0700602754950523) * MODEL22_texOff(vec2(1,1)); +res += mat4(0.0254503041505814,-0.1548549383878708,-0.0734742805361748,-0.0471029393374920,-0.1075526848435402,0.0079539306461811,-0.0578407160937786,-0.0321674533188343,-0.0638093203306198,-0.1905551701784134,-0.1036235019564629,-0.1265931129455566,-0.0858744382858276,-0.0884396359324455,-0.0168409720063210,0.0849291086196899) * MODEL23_texOff(vec2(1,1)); +res += mat4(0.0265901386737823,0.0527118593454361,0.1148529797792435,0.0304525271058083,-0.1332283169031143,-0.3303346633911133,-0.1799703687429428,-0.0278543122112751,-0.0371871516108513,-0.3398232161998749,-0.2535822093486786,-0.0149667244404554,0.1491577476263046,0.2170577496290207,0.0698979720473289,0.0537905916571617) * MODEL24_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(1.5466239452362061,0.5710025429725647,0.1285991668701172,0.4249538779258728) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Mapping 4_2 +//!BIND MODEL21 +//!BIND MODEL22 +//!BIND MODEL23 +//!BIND MODEL24 +//!SAVE MODEL2 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0453155860304832,0.0566566064953804,-0.1348780393600464,0.0311419144272804); +res += mat4(-0.0298858322203159,0.0007992446189746,0.1031991168856621,-0.1147342026233673,0.0256992820650339,0.0183616373687983,-0.0162667911499739,0.1549731940031052,-0.0055262539535761,0.0496536977589130,0.0601272657513618,-0.1503317803144455,-0.2435035556554794,0.0885690078139305,-0.1135892271995544,0.0881927385926247) * MODEL21_texOff(vec2(-1,-1)); +res += mat4(0.2532794773578644,-0.0676324069499969,0.0434939563274384,-0.0122394170612097,0.0054363864473999,-0.1082903966307640,0.0650861859321594,0.0466154776513577,-0.2336318790912628,-0.2130470126867294,0.0329463183879852,-0.2140024304389954,-0.0949469134211540,0.1295106410980225,0.0128499418497086,-0.3392114043235779) * MODEL22_texOff(vec2(-1,-1)); +res += mat4(-0.0597930103540421,0.0703695788979530,0.0486910603940487,-0.0440734289586544,0.0713865458965302,0.0033064954914153,0.0946139022707939,0.1118625849485397,0.1198386698961258,0.0876456722617149,-0.0981967598199844,-0.0572098456323147,-0.0449983589351177,-0.0386966243386269,0.0293254852294922,0.1515756547451019) * MODEL23_texOff(vec2(-1,-1)); +res += mat4(0.1065291687846184,0.0516019314527512,0.0942094922065735,-0.2789550125598907,-0.1083808094263077,0.0189416687935591,0.0983946546912193,-0.0416557043790817,0.1205929294228554,0.0996314510703087,0.0302714947611094,-0.0742355734109879,0.0935563519597054,0.0263017658144236,0.0579446218907833,-0.1653401851654053) * MODEL24_texOff(vec2(-1,-1)); +res += mat4(0.0657762736082077,0.1070062145590782,0.0003876284754369,-0.1719539016485214,0.0812518149614334,-0.1447519063949585,0.0523058138787746,0.2124348133802414,0.0217247884720564,-0.1414734274148941,0.0850298330187798,0.0279949326068163,-0.0011123189469799,0.0624437406659126,-0.0589779242873192,0.0794210210442543) * MODEL21_texOff(vec2(-1,0)); +res += mat4(0.0161121599376202,0.1379660815000534,0.0784429386258125,0.0722459405660629,0.1067701652646065,-0.0403751768171787,-0.1103240400552750,-0.3988030850887299,-0.2108134478330612,-0.0841747000813484,0.0185179766267538,0.1530532389879227,0.1158207952976227,0.0899809077382088,0.1636642217636108,-0.0838347449898720) * MODEL22_texOff(vec2(-1,0)); +res += mat4(-0.0734359845519066,0.1289348155260086,-0.0174471326172352,0.0241739619523287,0.0240030735731125,-0.1116744130849838,-0.0265962332487106,0.1347594112157822,-0.0199495386332273,-0.1081977784633636,0.0829444453120232,0.0309043060988188,-0.0235595442354679,0.0574604384601116,-0.3009069859981537,0.2973518967628479) * MODEL23_texOff(vec2(-1,0)); +res += mat4(0.0262071080505848,-0.0342629849910736,0.1218903064727783,-0.1648992598056793,-0.0859013348817825,0.0062718144617975,-0.1187449544668198,0.0929365009069443,0.2870148420333862,-0.0539081133902073,0.1117846593260765,0.1521280556917191,-0.0004304386384320,-0.1531893014907837,0.1398627758026123,0.2036317586898804) * MODEL24_texOff(vec2(-1,0)); +res += mat4(-0.0913939774036407,0.0913657099008560,0.0643721818923950,0.1850601583719254,0.1449193507432938,-0.0359147302806377,0.1259242892265320,0.0814334899187088,-0.0170037485659122,0.0242244824767113,-0.1685448884963989,-0.0837342739105225,0.0206238403916359,0.0438248962163925,0.1666281521320343,-0.0559892132878304) * MODEL21_texOff(vec2(-1,1)); +res += mat4(0.1529316604137421,0.0114401821047068,0.3237524628639221,0.0986344590783119,-0.1027426719665527,-0.0836644768714905,-0.0738330930471420,-0.3813030719757080,0.0445690080523491,-0.0165712684392929,-0.0360440984368324,0.0016843904741108,-0.0380182377994061,0.1248383373022079,-0.1146307587623596,-0.2490343898534775) * MODEL22_texOff(vec2(-1,1)); +res += mat4(0.0752653628587723,-0.0364792495965958,0.0201882272958755,-0.1137406229972839,-0.1604456305503845,-0.0414037518203259,0.0450357608497143,-0.0202007535845041,0.1162813231348991,-0.1666767001152039,0.1568126827478409,-0.0240063890814781,-0.4600602090358734,0.1090561226010323,-0.2158937454223633,0.1603046059608459) * MODEL23_texOff(vec2(-1,1)); +res += mat4(0.4206949472427368,-0.0567879006266594,-0.0021144414786249,-0.1598827987909317,-0.0417208075523376,0.0602485239505768,0.0066408892162144,0.0403601936995983,0.1464725732803345,0.0026100373361260,0.1791187673807144,0.0845375210046768,0.1565982252359390,-0.0830777436494827,-0.1922154277563095,0.0667199641466141) * MODEL24_texOff(vec2(-1,1)); +res += mat4(-0.0060128364712000,-0.0625960007309914,-0.1274224668741226,0.0269266348332167,-0.0870532318949699,0.0282196663320065,0.0574103817343712,0.0383691042661667,-0.0209243074059486,0.0348662100732327,0.1376862674951553,-0.1253975927829742,-0.0952221453189850,0.0894378498196602,-0.0370991080999374,0.1560261100530624) * MODEL21_texOff(vec2(0,-1)); +res += mat4(-0.0437814779579639,0.1273395717144012,-0.2346061319112778,0.0037019008304924,-0.0455590412020683,-0.0019906591624022,-0.0454522706568241,-0.0244017206132412,-0.2796474397182465,-0.1605288982391357,0.0137082673609257,0.0599214360117912,0.0686353817582130,-0.0303577929735184,-0.0275447070598602,0.0582771226763725) * MODEL22_texOff(vec2(0,-1)); +res += mat4(0.1293218880891800,-0.0938328951597214,-0.0969779714941978,-0.0384574569761753,0.0830583646893501,0.0059704380109906,0.0024985822383314,0.0535708703100681,0.2247512936592102,-0.0756447464227676,-0.1270054876804352,0.0218284782022238,-0.1085592210292816,-0.0930609628558159,0.0310489218682051,0.2560330331325531) * MODEL23_texOff(vec2(0,-1)); +res += mat4(0.2577261626720428,-0.1188657507300377,-0.0105566997081041,-0.2601144611835480,0.2246331870555878,0.1289537698030472,-0.1760543435811996,0.0022660291288048,-0.0881892964243889,0.0635417699813843,0.0724733844399452,0.1589717715978622,0.2223478406667709,0.0010198663221672,-0.1692942231893539,-0.0985377058386803) * MODEL24_texOff(vec2(0,-1)); +res += mat4(0.0718829855322838,-0.1912522315979004,-0.0708480328321457,-0.1454412341117859,0.0381090529263020,0.0774593502283096,-0.1208931654691696,0.0942043587565422,0.0348212793469429,0.1196285784244537,0.1245930343866348,0.0773270949721336,0.0364356115460396,-0.0984139963984489,0.1983725279569626,-0.1588001847267151) * MODEL21_texOff(vec2(0,0)); +res += mat4(-0.0444039553403854,0.2541146576404572,0.0624411217868328,-0.2143382281064987,-0.0556049942970276,-0.1789880841970444,-0.0568387657403946,-0.1514913439750671,-0.2014637589454651,0.0496631786227226,0.0107027366757393,-0.0921937674283981,-0.1036369353532791,-0.0716441869735718,-0.1135786622762680,0.0293759554624557) * MODEL22_texOff(vec2(0,0)); +res += mat4(-0.1387470215559006,-0.1590988039970398,-0.1236130967736244,0.0009180741035379,-0.1429602503776550,0.0731679946184158,-0.1794480532407761,-0.0454578734934330,-0.1251609027385712,0.0472761988639832,0.1766531169414520,-0.0180035103112459,0.1838096827268600,-0.0224247239530087,-0.1088114008307457,0.2438147217035294) * MODEL23_texOff(vec2(0,0)); +res += mat4(0.2761061787605286,-0.1293413490056992,-0.0470173247158527,-0.0731269940733910,0.0396118462085724,-0.0427457801997662,0.0901760235428810,-0.1252544075250626,0.1572679579257965,-0.1205093786120415,0.1133343204855919,0.1474439352750778,-0.1274047195911407,-0.0804255530238152,-0.0524810142815113,0.3192033767700195) * MODEL24_texOff(vec2(0,0)); +res += mat4(0.2539234757423401,0.0038219748530537,0.0198776777833700,0.2838287651538849,0.0256984960287809,-0.0582435242831707,-0.1964985579252243,-0.0779681429266930,0.1731419265270233,0.0125168245285749,0.2125789225101471,-0.2251415252685547,0.2997701168060303,0.1639049053192139,-0.0336523316800594,0.0472925081849098) * MODEL21_texOff(vec2(0,1)); +res += mat4(-0.0008294992730953,-0.0421565882861614,0.0688932761549950,-0.1097082123160362,-0.1628515720367432,0.0125915594398975,-0.1667381525039673,-0.0074164411053061,-0.3698953092098236,0.0743873044848442,-0.0314049348235130,0.0652947798371315,-0.0700155273079872,-0.0316918902099133,-0.1057973653078079,-0.1451450884342194) * MODEL22_texOff(vec2(0,1)); +res += mat4(0.1816687434911728,0.0117196496576071,-0.0425142236053944,-0.2296381443738937,-0.2858334183692932,0.0053695417009294,0.0818104892969131,0.0182316023856401,0.1104380339384079,0.0485513135790825,0.0398144796490669,0.1223676204681396,-0.1466707736253738,-0.0134876249358058,-0.0910935550928116,0.1519794464111328) * MODEL23_texOff(vec2(0,1)); +res += mat4(0.1373637318611145,-0.0352236516773701,-0.1160381138324738,-0.0230034384876490,0.3164420425891876,-0.0340709127485752,-0.0676284581422806,-0.0039658197201788,0.2837511003017426,0.1419840455055237,0.2102503329515457,0.0838689133524895,0.1961183845996857,0.0007894636946730,0.0387258119881153,0.2185507416725159) * MODEL24_texOff(vec2(0,1)); +res += mat4(-0.1596802026033401,-0.0766641348600388,-0.0551700778305531,-0.0420177541673183,-0.1258300691843033,0.1124724969267845,-0.0496561378240585,0.1163833588361740,-0.0701703429222107,-0.0236236285418272,0.1561320573091507,-0.1625825762748718,0.1801252663135529,0.1062476634979248,0.0371985472738743,0.1175644919276237) * MODEL21_texOff(vec2(1,-1)); +res += mat4(0.0714511051774025,-0.1109983548521996,0.0915260463953018,0.0197349116206169,0.1798656433820724,-0.0766859725117683,0.0973336100578308,0.0663795471191406,-0.2605603933334351,0.1307056695222855,-0.2184783816337585,0.0079547688364983,0.0315141640603542,-0.0309432316571474,-0.1257202923297882,0.0255833435803652) * MODEL22_texOff(vec2(1,-1)); +res += mat4(-0.0991432666778564,-0.0122173745185137,0.1279619187116623,-0.0012535114074126,0.1659068912267685,0.2186908274888992,0.1148216128349304,-0.0989132970571518,-0.0867767557501793,0.0344875939190388,0.1011815667152405,-0.0709303542971611,-0.0009434439125471,0.0134846745058894,0.0937856808304787,0.0468109920620918) * MODEL23_texOff(vec2(1,-1)); +res += mat4(0.0689476206898689,-0.2484430074691772,0.1287739872932434,-0.1908132880926132,0.1993297934532166,-0.0241727232933044,0.0271132104098797,0.0823990702629089,0.1855020970106125,0.0678694173693657,-0.0913207903504372,-0.1031804159283638,0.0817412137985229,-0.0205739066004753,0.2349171340465546,-0.0036407674197108) * MODEL24_texOff(vec2(1,-1)); +res += mat4(0.0388028472661972,-0.1400813907384872,0.0252290852367878,0.0419769212603569,-0.1525273323059082,-0.0113222189247608,0.0167656056582928,0.1201339140534401,0.2742138504981995,-0.2932898104190826,-0.1523073315620422,-0.1266001760959625,0.2096743434667587,-0.0014362900983542,0.3512965738773346,0.2110778540372849) * MODEL21_texOff(vec2(1,0)); +res += mat4(0.3224509060382843,-0.4196329116821289,-0.1348475217819214,-0.1711609363555908,-0.0792201533913612,0.1002523377537727,-0.0319759845733643,-0.1181477606296539,0.1077736839652061,-0.1081476435065269,-0.2882576584815979,0.0266783107072115,-0.2148385345935822,-0.1600439399480820,0.0603459663689137,-0.0540867559611797) * MODEL22_texOff(vec2(1,0)); +res += mat4(-0.0804178640246391,0.0784796103835106,-0.1634555459022522,-0.0780283138155937,-0.2293495982885361,0.2100304365158081,-0.0991027578711510,0.0169763732701540,-0.0770375952124596,-0.2221602499485016,0.0411880947649479,-0.2067895978689194,-0.0584058016538620,0.0612083151936531,0.2141525000333786,-0.1690276414155960) * MODEL23_texOff(vec2(1,0)); +res += mat4(0.1832152903079987,-0.1421333998441696,0.0593465678393841,-0.1445103436708450,-0.1056858226656914,0.0546268410980701,-0.0752996131777763,-0.1689973771572113,-0.0286023225635290,0.2159676253795624,-0.0326149500906467,-0.0400535911321640,0.0279489625245333,0.2416573613882065,0.1910913288593292,-0.0872819498181343) * MODEL24_texOff(vec2(1,0)); +res += mat4(0.0517690740525723,-0.1310365498065948,0.0983379110693932,0.2212513983249664,-0.0385944396257401,-0.0031312073115259,-0.0971440002322197,0.0763877481222153,0.1204039081931114,0.0694001838564873,-0.0207454431802034,-0.2944954633712769,0.1706674844026566,0.0087194992229342,0.2023107558488846,-0.1457385867834091) * MODEL21_texOff(vec2(1,1)); +res += mat4(0.1064024418592453,-0.1359899342060089,0.1595261991024017,0.2337352037429810,-0.0934635996818542,0.0375041402876377,-0.0433816164731979,0.0695970058441162,-0.2123638987541199,-0.2234995514154434,-0.1218946278095245,-0.0761205404996872,-0.0442018881440163,-0.0436396822333336,-0.0158761218190193,0.1117574498057365) * MODEL22_texOff(vec2(1,1)); +res += mat4(-0.1035438552498817,-0.0487149693071842,0.0080128870904446,-0.0724695250391960,-0.0664858594536781,0.1086985021829605,-0.0361160822212696,-0.0036886944435537,0.1025835499167442,-0.0070365620777011,0.1065967306494713,-0.1170856878161430,0.0814646705985069,-0.0702703744173050,0.0429647378623486,0.0075838100165129) * MODEL23_texOff(vec2(1,1)); +res += mat4(-0.0186056513339281,0.0347086787223816,0.0500061213970184,-0.0084704412147403,0.0523927025496960,-0.0436134003102779,-0.0685303285717964,-0.1615572273731232,0.0422502979636192,0.0386748053133488,-0.0018928251229227,-0.0560932680964470,0.0268947314471006,-0.0986870080232620,-0.0194436591118574,-0.0886695757508278) * MODEL24_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(-0.1038377061486244,1.4165390729904175,0.2963429689407349,0.5018644928932190) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Mapping 4_3 +//!BIND MODEL21 +//!BIND MODEL22 +//!BIND MODEL23 +//!BIND MODEL24 +//!SAVE MODEL3 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0555132254958153,0.0250770132988691,0.0143192186951637,0.0307419840246439); +res += mat4(0.2025605291128159,-0.1305579245090485,0.0636330246925354,-0.0328214615583420,-0.0239059738814831,0.1175336167216301,-0.0528097972273827,0.1512589752674103,0.0892783328890800,-0.0129547854885459,-0.4075196981430054,-0.0084562972187996,-0.0766670405864716,0.0578990466892719,-0.0457077845931053,0.0103033129125834) * MODEL21_texOff(vec2(-1,-1)); +res += mat4(-0.0697643160820007,0.0790969952940941,0.2563327848911285,0.0735166370868683,-0.0290964655578136,-0.0031478635501117,0.1381052583456039,-0.2533677220344543,0.0833396539092064,0.1497332155704498,0.1460450887680054,0.0592527091503143,0.1237253248691559,0.0623970851302147,0.1084834486246109,-0.1387233883142471) * MODEL22_texOff(vec2(-1,-1)); +res += mat4(0.0588925816118717,-0.0634016692638397,0.0832331851124763,0.0880831331014633,-0.0306335017085075,0.0926206558942795,0.0764448642730713,0.0124620459973812,-0.4456571936607361,0.3222432434558868,-0.1151670962572098,0.0811593085527420,0.1133668273687363,0.2061929851770401,-0.0260564833879471,-0.1347683817148209) * MODEL23_texOff(vec2(-1,-1)); +res += mat4(0.1227817460894585,-0.5990645289421082,-0.0433608070015907,-0.0244936272501945,-0.2515841424465179,-0.1546700298786163,0.0049157263711095,0.2120906710624695,0.0100495032966137,-0.1389742046594620,-0.1040211990475655,-0.0743518695235252,-0.0609514825046062,0.1746743172407150,-0.0611364990472794,-0.0698752850294113) * MODEL24_texOff(vec2(-1,-1)); +res += mat4(0.0070074168033898,-0.0736413821578026,-0.1301280409097672,-0.0820101052522659,0.0557396747171879,0.0295854154974222,0.1629115194082260,-0.0350740663707256,-0.3577586710453033,0.2326886206865311,0.2520678043365479,0.0653280317783356,0.0298624932765961,-0.0620391592383385,0.1118566021323204,0.0902521461248398) * MODEL21_texOff(vec2(-1,0)); +res += mat4(-0.1123784631490707,0.1538977771997452,0.0356946140527725,-0.0594803951680660,0.4774949550628662,0.1736728399991989,-0.0733127072453499,-0.1822510808706284,-0.1142071560025215,0.0152102429419756,0.1266606450080872,-0.1549992561340332,0.1248753294348717,0.0506281666457653,0.1194221675395966,-0.1180698573589325) * MODEL22_texOff(vec2(-1,0)); +res += mat4(0.0161164849996567,-0.1730315685272217,0.0336476229131222,0.1502727419137955,-0.0283921789377928,0.0881190076470375,0.0036288066767156,0.0654869005084038,0.1098553463816643,-0.0993033871054649,-0.0864974930882454,0.1645041406154633,0.0461006201803684,-0.1493527740240097,0.0793453976511955,0.1582847982645035) * MODEL23_texOff(vec2(-1,0)); +res += mat4(-0.0499157682061195,-0.2653735280036926,-0.1414714455604553,0.0470614247024059,-0.1613681614398956,-0.1438906192779541,-0.0431404635310173,-0.0143436696380377,0.0781355723738670,0.0062276949174702,-0.1477763801813126,-0.0635459050536156,0.0169377010315657,0.0072369505651295,-0.1959649473428726,0.0824908167123795) * MODEL24_texOff(vec2(-1,0)); +res += mat4(-0.1575089693069458,0.1208660975098610,0.1461296975612640,0.0314663611352444,-0.0091793993487954,-0.0382152199745178,0.1528249382972717,0.1102215349674225,-0.0564027652144432,-0.0538605786859989,0.0195337384939194,-0.1059078276157379,0.1714965254068375,0.0683559179306030,-0.0455179028213024,-0.1350073963403702) * MODEL21_texOff(vec2(-1,1)); +res += mat4(-0.1299564242362976,-0.0295758284628391,0.2315099984407425,-0.0148499980568886,0.2194313108921051,-0.0433413572609425,-0.4125401675701141,-0.0743405297398567,0.0806253924965858,0.1090257093310356,0.0240066349506378,-0.1310950815677643,-0.0600791387259960,0.0526744686067104,-0.1910923570394516,-0.0975246056914330) * MODEL22_texOff(vec2(-1,1)); +res += mat4(0.0952751114964485,-0.1200135275721550,0.1481089442968369,-0.0406972467899323,0.1221223846077919,0.0472705699503422,-0.1116001904010773,0.0533461533486843,-0.0332089997828007,0.1928038150072098,0.0952261760830879,-0.0735697820782661,-0.1858155578374863,0.0313214845955372,-0.0208189561963081,0.0829723849892616) * MODEL23_texOff(vec2(-1,1)); +res += mat4(-0.0179210640490055,-0.0647204443812370,0.1612543016672134,-0.0353336520493031,-0.0758696645498276,-0.0113704930990934,-0.0582871995866299,-0.0571904592216015,-0.0685768574476242,0.1801334768533707,-0.0815965607762337,0.0562493503093719,-0.1244600936770439,0.1929967701435089,-0.0517799220979214,-0.1225774809718132) * MODEL24_texOff(vec2(-1,1)); +res += mat4(0.1501563638448715,0.1286297440528870,-0.1413282305002213,-0.0502861589193344,-0.1668455749750137,0.1101106256246567,-0.1026145443320274,-0.0285692792385817,-0.0303235799074173,-0.0534847117960453,-0.2345862537622452,-0.0952352955937386,0.1381358802318573,-0.0487317405641079,-0.0774596631526947,-0.1413442343473434) * MODEL21_texOff(vec2(0,-1)); +res += mat4(-0.0144421271979809,0.1845785081386566,0.0736597403883934,-0.1536189317703247,0.1508965194225311,-0.1814707368612289,0.0577643252909184,0.0195850618183613,0.1424996107816696,0.0963229760527611,0.0744260251522064,0.3582005798816681,-0.0114502906799316,0.1066633909940720,0.2920247614383698,0.2114788740873337) * MODEL22_texOff(vec2(0,-1)); +res += mat4(0.2422169297933578,0.0629934817552567,0.1187564432621002,-0.1045981943607330,0.1617335975170135,-0.0326685868203640,0.0692937821149826,-0.1049960330128670,-0.0439418964087963,0.1308920532464981,0.0524581670761108,0.0235212799161673,-0.1008296161890030,0.1153869107365608,-0.0367981381714344,0.0255796425044537) * MODEL23_texOff(vec2(0,-1)); +res += mat4(0.0765597745776176,0.0443613864481449,0.0924554765224457,-0.1448596417903900,-0.4028475284576416,0.1024674326181412,0.1727499216794968,-0.1260974258184433,0.0335196219384670,0.0258256848901510,-0.3789298236370087,0.0366248562932014,0.4225065410137177,0.0624559447169304,-0.0004544507537503,-0.2371466159820557) * MODEL24_texOff(vec2(0,-1)); +res += mat4(0.0539294481277466,-0.0732566267251968,-0.1460431218147278,-0.0135052092373371,-0.0682512521743774,-0.1756234914064407,0.1972790956497192,-0.2115742117166519,-0.2446637153625488,0.1364355385303497,0.1201642602682114,-0.1621547341346741,0.0959556922316551,-0.1837136000394821,0.2940265238285065,0.1939330250024796) * MODEL21_texOff(vec2(0,0)); +res += mat4(-0.0662921220064163,0.2275925278663635,0.0149151859804988,-0.0610638372600079,-0.0846012830734253,-0.1140315607190132,-0.0178543720394373,0.2377365380525589,0.2033471614122391,-0.1573403626680374,0.0953168347477913,0.0424023792147636,0.1293676495552063,0.1090563237667084,0.4194914996623993,0.0464631393551826) * MODEL22_texOff(vec2(0,0)); +res += mat4(-0.1070756018161774,0.1286944597959518,-0.0684725046157837,0.0525334179401398,0.0801403820514679,-0.0946301892399788,-0.0683152079582214,0.0052407793700695,0.0725769251585007,-0.1045052334666252,0.2791407406330109,0.1463397890329361,-0.0940506607294083,0.1707863360643387,-0.0228325854986906,-0.1055276170372963) * MODEL23_texOff(vec2(0,0)); +res += mat4(-0.0276118014007807,-0.0782472193241119,-0.2045287489891052,0.0155986454337835,-0.1866855025291443,-0.0730608776211739,-0.1209858357906342,0.1324635297060013,-0.1105701178312302,-0.0269230399280787,-0.0936538055539131,0.1069761365652084,0.0670102909207344,-0.0444703437387943,-0.1964228600263596,-0.0028666825965047) * MODEL24_texOff(vec2(0,0)); +res += mat4(-0.1014383509755135,0.0213416237384081,0.1987964361906052,0.0362358391284943,0.0707324519753456,0.0972751304507256,0.1051839292049408,-0.0787568613886833,-0.1369030475616455,0.0473080351948738,-0.0284431073814631,0.0942381173372269,0.2982238829135895,-0.0638344287872314,0.1489005982875824,0.1030328795313835) * MODEL21_texOff(vec2(0,1)); +res += mat4(-0.0916734188795090,0.0865034908056259,0.1140192076563835,0.0270971916615963,-0.1379446685314178,-0.0102230673655868,-0.0465127378702164,0.0526590533554554,-0.0909921228885651,-0.1671640723943710,-0.0676218569278717,-0.0628032684326172,0.0851698294281960,0.1013913974165916,-0.1770818680524826,-0.0773105174303055) * MODEL22_texOff(vec2(0,1)); +res += mat4(-0.0544516742229462,0.2451885640621185,0.2811035513877869,-0.0005102829309180,-0.0350672677159309,-0.0762034580111504,-0.1757884323596954,0.1396444439888000,-0.1604681909084320,-0.0365841314196587,0.4282548427581787,0.1161304265260696,-0.1574811190366745,-0.0119108185172081,-0.1028776168823242,0.0402905344963074) * MODEL23_texOff(vec2(0,1)); +res += mat4(-0.0611766986548901,-0.0643792748451233,0.0608860291540623,-0.0486201792955399,-0.2708872854709625,0.0820105522871017,0.1553062945604324,-0.0102266957983375,-0.0004169093444943,-0.1021829172968864,0.1135712414979935,0.0431942380964756,0.0348840840160847,0.0158078111708164,-0.0177651457488537,-0.0491984412074089) * MODEL24_texOff(vec2(0,1)); +res += mat4(0.0870013535022736,-0.0556762889027596,-0.0170129369944334,0.0268715694546700,0.0366509854793549,-0.0394954122602940,-0.0619445517659187,0.0479163005948067,0.1062079668045044,0.1774092167615891,-0.1367661952972412,0.0588061474263668,0.1527424901723862,0.0956857278943062,0.1037504449486732,-0.2930983006954193) * MODEL21_texOff(vec2(1,-1)); +res += mat4(-0.2002299576997757,-0.0341530516743660,-0.0136931668967009,-0.1481029242277145,0.0542162247002125,-0.1527022272348404,0.0567579492926598,0.0876749977469444,0.0138758225366473,-0.2406545877456665,-0.0261294376105070,0.1154950484633446,-0.2065333873033524,0.0329406261444092,-0.1571976244449615,0.1400880664587021) * MODEL22_texOff(vec2(1,-1)); +res += mat4(0.0432367138564587,-0.1003191173076630,0.0631480589509010,-0.1043757796287537,0.1838684231042862,0.0871346890926361,-0.1076523289084435,0.0522456541657448,0.3385224342346191,0.0039640553295612,-0.0341053418815136,0.5580628514289856,-0.0031768004409969,-0.0466368757188320,-0.0034361206926405,-0.0201280079782009) * MODEL23_texOff(vec2(1,-1)); +res += mat4(0.0543181821703911,-0.0421652197837830,0.0483747199177742,-0.0407016240060329,0.1613519042730331,0.0885960310697556,0.2224635779857635,-0.2537296414375305,-0.0728747695684433,0.0798564404249191,-0.0713731944561005,-0.0091397035866976,-0.1698424220085144,0.0030041618738323,-0.1370820999145508,-0.2126571238040924) * MODEL24_texOff(vec2(1,-1)); +res += mat4(0.0176996272057295,-0.0500596426427364,-0.0500218458473682,0.0947898551821709,0.0878721773624420,0.0905128344893456,-0.0145754907280207,-0.0765948742628098,-0.1508909314870834,0.1254297047853470,0.2136791050434113,0.0633229166269302,0.0430131815373898,0.0419663228094578,0.0839300528168678,-0.1516233086585999) * MODEL21_texOff(vec2(1,0)); +res += mat4(-0.0140834199264646,0.2107916772365570,0.1652578860521317,-0.0104759186506271,-0.1301925480365753,0.1253828704357147,0.0133801847696304,0.0222266949713230,0.0317628793418407,-0.0004682161961682,-0.0701607465744019,0.0583315417170525,-0.2136613130569458,0.0841280817985535,0.0095341270789504,-0.0332478545606136) * MODEL22_texOff(vec2(1,0)); +res += mat4(-0.0166208203881979,-0.2629383504390717,-0.2119662910699844,0.0221439860761166,-0.1577552706003189,-0.0608871243894100,-0.0754110887646675,0.0843096822500229,-0.2292733937501907,-0.0667759329080582,0.2129606157541275,0.0926803648471832,-0.2587879002094269,-0.0107714598998427,0.0425054058432579,-0.2107197493314743) * MODEL23_texOff(vec2(1,0)); +res += mat4(-0.0514685586094856,0.0368438698351383,-0.0232290327548981,-0.0037103374488652,-0.0763918459415436,-0.0727791562676430,-0.1637456566095352,0.1799057126045227,-0.0675944238901138,0.1282119452953339,-0.2321481257677078,-0.1056406870484352,0.2854339778423309,-0.0077166538685560,-0.1007550358772278,-0.1925285756587982) * MODEL24_texOff(vec2(1,0)); +res += mat4(-0.1766458004713058,0.1009605750441551,0.1565123498439789,0.0462642088532448,0.0774241238832474,-0.0141364606097341,0.0916459113359451,0.0760992467403412,0.0738879442214966,0.0268725864589214,-0.1941556334495544,-0.0291906483471394,-0.0021655701566488,0.0384552627801895,-0.0228150878101587,0.0321924909949303) * MODEL21_texOff(vec2(1,1)); +res += mat4(-0.0486496984958649,0.0007271220674738,0.0818790867924690,0.0189673770219088,0.1818490624427795,-0.0181238614022732,-0.0508999377489090,-0.1396579444408417,0.0485491752624512,0.0987688377499580,-0.1460169553756714,0.0071210218593478,0.2128628343343735,-0.0595704317092896,-0.0999057963490486,-0.1029369980096817) * MODEL22_texOff(vec2(1,1)); +res += mat4(0.0737555399537086,0.1768505126237869,0.0566267818212509,-0.0375237315893173,-0.0406504385173321,-0.0911198258399963,0.1835622638463974,0.0580112747848034,0.2234210073947906,-0.0405635647475719,0.0592849515378475,0.1516056805849075,0.1363209486007690,0.1490380465984344,-0.1558427512645721,-0.2335802763700485) * MODEL23_texOff(vec2(1,1)); +res += mat4(-0.0432757139205933,-0.1008099764585495,-0.0728457421064377,-0.0177998077124357,0.1359119415283203,-0.2037898153066635,0.1316581219434738,0.0636526718735695,0.1629535108804703,-0.0404438674449921,-0.1277188062667847,-0.0276395957916975,-0.1032590717077255,0.1263231039047241,-0.1616959571838379,-0.1660899072885513) * MODEL24_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(-0.0071986746042967,0.2182101458311081,-0.0036115397233516,0.0162129309028387) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Mapping 4_4 +//!BIND MODEL21 +//!BIND MODEL22 +//!BIND MODEL23 +//!BIND MODEL24 +//!SAVE MODEL4 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.0518327765166759,-0.0213183537125587,-0.0665249153971672,0.0198231749236584); +res += mat4(-0.0417144224047661,-0.0365039892494678,0.0485893525183201,-0.0888329371809959,-0.2185679078102112,0.1108488664031029,-0.1202183514833450,0.0322549417614937,0.2057920843362808,0.1670777648687363,0.0722365751862526,-0.0421997457742691,0.1119320765137672,0.2506561279296875,0.0097499936819077,0.1878149658441544) * MODEL21_texOff(vec2(-1,-1)); +res += mat4(-0.0526532940566540,-0.0330201312899590,-0.0916918963193893,0.0419802591204643,0.1819588989019394,0.1161752864718437,0.0391113124787807,-0.1577318310737610,0.3857096135616302,-0.1101170629262924,0.0564387142658234,-0.0864981114864349,-0.0584915317595005,-0.0728921666741371,-0.0985441058874130,-0.2376610189676285) * MODEL22_texOff(vec2(-1,-1)); +res += mat4(-0.1071230620145798,0.0470849983394146,-0.2342639416456223,0.0149784823879600,-0.0612420402467251,-0.0242856182157993,-0.0903204903006554,0.1930303424596786,0.3470724821090698,0.1709465384483337,0.2568190395832062,0.0517340376973152,0.2297977656126022,-0.1668909490108490,-0.0584691390395164,-0.1064556762576103) * MODEL23_texOff(vec2(-1,-1)); +res += mat4(-0.3297131955623627,-0.1783124655485153,-0.0969069600105286,0.0176174845546484,0.0617598295211792,0.1723879575729370,-0.1305899620056152,0.1715959608554840,-0.1061037331819534,-0.0862074419856071,-0.0144493207335472,-0.1013409271836281,0.0480070896446705,0.1516272574663162,-0.0878466144204140,0.1791720241308212) * MODEL24_texOff(vec2(-1,-1)); +res += mat4(-0.0941725298762321,-0.2799471616744995,0.0433243475854397,-0.3444220721721649,-0.0181219037622213,0.1245742514729500,0.0666437223553658,0.2033987939357758,-0.0493657775223255,0.2429948449134827,0.1486017704010010,0.0150431338697672,0.1224337369203568,0.0695751681923866,0.0326059199869633,-0.2322691679000854) * MODEL21_texOff(vec2(-1,0)); +res += mat4(-0.0226589310914278,0.1155115067958832,0.1190729513764381,-0.1394080668687820,-0.0088055152446032,-0.0049285418353975,0.0744449421763420,0.1261957883834839,0.0077893896959722,-0.1231913790106773,-0.0881505310535431,-0.2052366733551025,-0.0169209502637386,0.1714054495096207,-0.1358534544706345,-0.1894315034151077) * MODEL22_texOff(vec2(-1,0)); +res += mat4(-0.0862518176436424,0.0439629666507244,-0.0977888032793999,0.0265666563063860,-0.0725400373339653,0.0446801520884037,0.1957928836345673,0.1014407873153687,-0.0303031019866467,-0.0175094921141863,0.2626248896121979,-0.0772289708256721,-0.0240541491657495,-0.0146315684542060,-0.0035609712358564,0.0307276956737041) * MODEL23_texOff(vec2(-1,0)); +res += mat4(-0.0682660862803459,0.0024457646068186,0.1612531095743179,0.0102273849770427,-0.2179518342018127,-0.0089415935799479,0.1164208278059959,-0.0420751869678497,0.0141333295032382,-0.1322661787271500,0.0835145190358162,-0.1410365700721741,-0.1031214818358421,0.1053542196750641,0.1287564039230347,0.1751097142696381) * MODEL24_texOff(vec2(-1,0)); +res += mat4(0.0457618013024330,-0.2669678628444672,-0.0881749987602234,-0.0474440827965736,-0.0504452437162399,0.2515269517898560,-0.1469499170780182,0.2132392525672913,0.0802755728363991,-0.0154086742550135,-0.0718284100294113,-0.0138212405145168,0.0016803032485768,0.0520146526396275,-0.1322848945856094,0.0563418939709663) * MODEL21_texOff(vec2(-1,1)); +res += mat4(0.0563498102128506,-0.0001742709864629,0.2081839442253113,0.1278286725282669,0.0090717617422342,0.1486472040414810,-0.0075903884135187,-0.2577200829982758,0.0931045338511467,-0.2754871845245361,-0.0862858742475510,-0.2631528973579407,-0.2594945728778839,-0.0633456707000732,0.2137630283832550,0.0320669934153557) * MODEL22_texOff(vec2(-1,1)); +res += mat4(-0.1207995712757111,0.0510364957153797,0.1161251813173294,-0.0427202619612217,-0.0302610769867897,0.0735034793615341,0.0298361834138632,0.0191495791077614,0.1238182261586189,-0.0012209621490911,-0.0229972302913666,0.0056305592879653,-0.0760266631841660,0.2295868396759033,-0.1606460511684418,0.0452390722930431) * MODEL23_texOff(vec2(-1,1)); +res += mat4(-0.0112327495589852,0.0432583466172218,-0.0202467720955610,-0.0298448409885168,-0.0056934165768325,0.0940005779266357,-0.2352621853351593,-0.1562708020210266,0.0276120994240046,-0.0521114133298397,0.0024040136486292,0.0281042698770761,0.0904207825660706,-0.2795029580593109,0.0750842541456223,-0.1514890342950821) * MODEL24_texOff(vec2(-1,1)); +res += mat4(-0.0433706119656563,-0.1649282276630402,0.0164997149258852,-0.0633090883493423,-0.0127639267593622,0.0651963874697685,0.0116951372474432,0.0405785627663136,0.0121750077232718,-0.0093135247007012,0.1743642538785934,-0.2417951673269272,0.2253434211015701,-0.1235164031386375,0.3838829696178436,0.1728159487247467) * MODEL21_texOff(vec2(0,-1)); +res += mat4(0.1535780429840088,0.1449338644742966,-0.1071858927607536,-0.0682027339935303,-0.1246235668659210,-0.0416030250489712,0.0446551740169525,0.2284590452909470,0.1118052750825882,-0.1493402421474457,0.0935985147953033,0.2341734915971756,-0.1155807375907898,-0.0475985594093800,0.2283928692340851,-0.0188806131482124) * MODEL22_texOff(vec2(0,-1)); +res += mat4(0.0005174842663109,-0.2014774829149246,-0.1051883026957512,-0.1480901837348938,-0.1036624088883400,0.1337203830480576,0.0453677177429199,-0.0312002766877413,0.2536051571369171,-0.1980345547199249,0.0109311304986477,-0.0638012886047363,0.0237395055592060,0.0372171886265278,0.2572740912437439,0.0181561987847090) * MODEL23_texOff(vec2(0,-1)); +res += mat4(-0.0442574173212051,-0.1723300218582153,-0.1313633769750595,-0.0771176517009735,-0.2589800059795380,0.2423511892557144,-0.1674991399049759,-0.0964976325631142,-0.0105621460825205,0.0645641013979912,-0.1783278882503510,0.0923929736018181,0.0056230579502881,-0.2036325782537460,-0.1848384886980057,0.0870174989104271) * MODEL24_texOff(vec2(0,-1)); +res += mat4(-0.1728543639183044,-0.2233732789754868,0.0492711402475834,-0.1985576599836349,0.0888958498835564,-0.0160348135977983,-0.0331708341836929,0.0957186296582222,-0.3137258589267731,0.0692046508193016,-0.0582298301160336,-0.1075151711702347,0.5029994249343872,-0.0800061300396919,0.2294487953186035,0.0710248351097107) * MODEL21_texOff(vec2(0,0)); +res += mat4(0.0229654721915722,-0.0550167895853519,-0.2100065499544144,-0.0230181161314249,0.1337543278932571,0.0338716544210911,0.0221144203096628,-0.0864805653691292,-0.0091840196400881,0.1981876492500305,0.0980196148157120,0.1688517332077026,-0.1883789896965027,-0.0888988748192787,0.0176474750041962,0.2681119441986084) * MODEL22_texOff(vec2(0,0)); +res += mat4(0.1275395005941391,0.1008864194154739,0.0206821616739035,-0.1098840683698654,-0.2568838894367218,0.0627717077732086,0.0348773300647736,0.1622315198183060,-0.1531784534454346,-0.1913726627826691,0.0420649312436581,-0.3267163634300232,0.0258780252188444,-0.0192398112267256,-0.1740893423557281,0.1955503225326538) * MODEL23_texOff(vec2(0,0)); +res += mat4(0.0169733352959156,-0.0276970490813255,0.0760825201869011,-0.0188506133854389,-0.2026826590299606,0.0495111905038357,0.0182964019477367,-0.0414109826087952,0.1868365556001663,0.1388777345418930,-0.0291905440390110,0.1021323278546333,0.1657151132822037,-0.0184318497776985,0.0841755345463753,0.0915000960230827) * MODEL24_texOff(vec2(0,0)); +res += mat4(0.0672157555818558,0.1660483032464981,0.0362846776843071,0.1264719218015671,0.0373994149267673,-0.1521675437688828,0.1963077783584595,-0.0651684179902077,-0.1879026144742966,0.1057524606585503,-0.1183366328477859,-0.1912359893321991,0.1035126820206642,-0.0721731334924698,-0.0326363891363144,0.3702531754970551) * MODEL21_texOff(vec2(0,1)); +res += mat4(0.1525076776742935,-0.0244391541928053,-0.0288198329508305,-0.0856762155890465,0.0716170892119408,-0.2457303255796432,-0.0894762948155403,0.1376130282878876,-0.0608243942260742,0.0390695966780186,0.0126724643632770,0.0416642576456070,-0.1533844470977783,0.1612395495176315,0.2681029140949249,0.1119254902005196) * MODEL22_texOff(vec2(0,1)); +res += mat4(-0.0357297658920288,0.0105033125728369,0.0110024400055408,0.0423357859253883,-0.0370144136250019,-0.0649570822715759,-0.1456886976957321,-0.0753963738679886,0.1949212104082108,-0.0547556020319462,0.1226299405097961,-0.0337280593812466,-0.1928335577249527,0.1919627785682678,0.0296970494091511,-0.0189175289124250) * MODEL23_texOff(vec2(0,1)); +res += mat4(0.0312501564621925,-0.0229366328567266,0.1190387681126595,0.0719611421227455,0.0998975932598114,0.0421518944203854,-0.0206604599952698,-0.0079571260139346,0.0371418185532093,0.2096785604953766,0.0369101502001286,0.2792926132678986,0.0626611411571503,-0.0886618122458458,0.0622971653938293,0.0952127128839493) * MODEL24_texOff(vec2(0,1)); +res += mat4(0.0421240553259850,0.0624854899942875,0.0486090406775475,0.1110922172665596,0.0348289534449577,-0.0752580985426903,0.0326979197561741,0.0669633895158768,0.1128178983926773,-0.0611512213945389,-0.0525917299091816,-0.0828994885087013,0.0563823506236076,-0.0141677008941770,0.1276346445083618,-0.2370680272579193) * MODEL21_texOff(vec2(1,-1)); +res += mat4(0.0331405289471149,0.2144220322370529,0.0210764091461897,-0.1498020291328430,0.0818803310394287,-0.0441101230680943,-0.4286805987358093,0.1256099045276642,0.0094770938158035,-0.0355284698307514,0.0226282905787230,-0.0978933647274971,-0.0223342347890139,0.0371237657964230,-0.0213712826371193,0.1422648876905441) * MODEL22_texOff(vec2(1,-1)); +res += mat4(-0.1040560752153397,0.1211603134870529,0.1008500158786774,0.1025343760848045,-0.0365382097661495,0.0769240632653236,-0.0597561672329903,0.0120100192725658,-0.0317354910075665,-0.1719577163457870,0.3440266251564026,0.0600659288465977,0.0087447538971901,0.2005916237831116,0.0565356276929379,0.0402298495173454) * MODEL23_texOff(vec2(1,-1)); +res += mat4(-0.0278040766716003,-0.0813057944178581,-0.0072406283579767,0.1063833385705948,-0.0502918399870396,-0.0772407129406929,-0.1609445214271545,-0.2165066748857498,-0.0044521372765303,0.0694831013679504,-0.2429160773754120,-0.2768180966377258,-0.0357686504721642,0.0059903734363616,0.0093541452661157,0.0726032555103302) * MODEL24_texOff(vec2(1,-1)); +res += mat4(-0.0575071349740028,0.1904742568731308,-0.1170604750514030,0.3230446279048920,-0.0629012584686279,-0.1180234998464584,-0.1964451521635056,-0.2550508081912994,-0.0387917682528496,0.1473875492811203,-0.1601451039314270,0.1660785228013992,-0.0176664497703314,-0.1785598993301392,0.2938027083873749,0.0130569282919168) * MODEL21_texOff(vec2(1,0)); +res += mat4(0.0227117817848921,-0.0572153031826019,-0.1946671158075333,0.1976857781410217,-0.0327856242656708,-0.0440212115645409,0.1068689674139023,-0.0184570159763098,0.0062228986062109,0.1382032334804535,-0.0314165838062763,0.0732029378414154,-0.0367356017231941,0.2362645417451859,0.1276883780956268,-0.0579707585275173) * MODEL22_texOff(vec2(1,0)); +res += mat4(-0.0064791324548423,0.0256183911114931,0.2582396268844604,-0.1156243532896042,0.1269703656435013,0.1087005361914635,0.2240769714117050,-0.0340097285807133,0.1408847123384476,-0.0852948874235153,0.0129860313609242,-0.0432902686297894,-0.0590031705796719,0.0427121818065643,-0.0974203646183014,-0.0227115489542484) * MODEL23_texOff(vec2(1,0)); +res += mat4(-0.0349309034645557,0.0883865430951118,-0.1478436291217804,0.0931347906589508,-0.0364420339465141,-0.2012785226106644,-0.0327441953122616,-0.0336600206792355,0.0247084666043520,-0.0551262535154819,-0.1244619861245155,-0.1136062368750572,-0.2249026894569397,-0.0100397104397416,-0.1927281022071838,-0.1214508190751076) * MODEL24_texOff(vec2(1,0)); +res += mat4(0.0170616842806339,0.1625857800245285,-0.0609563365578651,0.3093050420284271,-0.0358457379043102,-0.1339645534753799,-0.0356504544615746,0.0261295270174742,0.0705954954028130,0.2518593072891235,0.3081945180892944,-0.1108265221118927,-0.0156625900417566,-0.0523499660193920,-0.1898217946290970,-0.0126399351283908) * MODEL21_texOff(vec2(1,1)); +res += mat4(0.1651358157396317,0.1568048447370529,-0.1224519610404968,-0.1081495061516762,-0.0225700847804546,-0.2006742060184479,0.3328191936016083,-0.1953084468841553,0.0104696238413453,0.2031938135623932,0.1315512210130692,-0.0079185226932168,-0.0720825940370560,-0.3970981538295746,0.2164285629987717,0.0085704717785120) * MODEL22_texOff(vec2(1,1)); +res += mat4(-0.0395724326372147,-0.0021390954498202,-0.0889268293976784,-0.0615753009915352,-0.0388125069439411,-0.0657828077673912,-0.3347192704677582,-0.2057318687438965,0.0665129423141479,0.0486268885433674,0.1873318850994110,-0.0993527248501778,0.0270111728459597,-0.0746982023119926,0.0676342323422432,0.0349226146936417) * MODEL23_texOff(vec2(1,1)); +res += mat4(-0.0154106970876455,-0.0972935110330582,0.0836436450481415,0.0545262321829796,-0.0938930362462997,-0.1373861432075500,0.2448884695768356,0.0966489166021347,-0.0140078132972121,-0.1437198221683502,-0.1105314791202545,-0.0209910366684198,0.0100280493497849,0.1533725857734680,0.1415681093931198,0.0077090859413147) * MODEL24_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(0.1343902200460434,0.0735823065042496,0.2011200338602066,0.0642557740211487) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Sub-band Residuals 1 +//!BIND MODEL1 +//!BIND MODEL2 +//!BIND MODEL3 +//!BIND MODEL4 +//!BIND FEATURE1 +//!SAVE RES1 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.0206005033105612,-0.0044578332453966,0.0069114482030272,0.0065005687065423); +res += mat4(0.2826964259147644,-0.4450317323207855,-0.4439451992511749,-0.0703089460730553,-0.2517986297607422,-0.1876354962587357,0.3613902926445007,0.5750535726547241,-0.2483064681291580,0.2287192642688751,0.3899994194507599,-0.2179433256387711,-0.0742859393358231,-0.3664890527725220,0.3910954892635345,-0.0879588872194290) * MODEL1_texOff(0); +res += mat4(-0.1406441479921341,0.4645715057849884,0.4780645370483398,0.0789362490177155,-0.0622632093727589,-0.3262307345867157,0.2177158296108246,-0.5151866674423218,-0.4178399741649628,-0.0348766669631004,0.0977518707513809,-0.4353289008140564,0.2451033294200897,0.2414209842681885,0.3704822957515717,-0.2093044519424438) * MODEL2_texOff(0); +res += mat4(0.3571839630603790,0.5397672653198242,-0.3581413924694061,-0.1406882852315903,-0.0731453448534012,0.3388070464134216,0.3735054433345795,-0.1100604683160782,0.0063005243428051,-0.1781447529792786,0.3054742813110352,-0.0448702387511730,0.5386959314346313,-0.0723530128598213,0.2179321348667145,0.0545215010643005) * MODEL3_texOff(0); +res += mat4(0.2896301746368408,-0.0945358872413635,-0.2930267751216888,0.0871661528944969,-0.5656536221504211,0.0404641516506672,0.4721533954143524,0.0127876494079828,-0.3851900696754456,-0.2308325916528702,-0.1147588044404984,0.0752698555588722,-0.3207812905311584,0.2610193192958832,-0.5364244580268860,0.0787520632147789) * MODEL4_texOff(0); +res += FEATURE1_texOff(0); +res = max(res, vec4(0.0)) + vec4(0.9824384450912476,1.0222975015640259,1.0184462070465088,-0.1375184059143066) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Sub-band Residuals 2 +//!BIND MODEL1 +//!BIND MODEL2 +//!BIND MODEL3 +//!BIND MODEL4 +//!BIND FEATURE2 +//!SAVE RES2 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0364064201712608,-0.0075918007642031,0.0415629595518112,0.0033117663115263); +res += mat4(-0.2719417810440063,0.2193225622177124,-0.4525020122528076,0.2533709704875946,-0.5560875535011292,-0.0101234754547477,-0.2704952061176300,-0.0293961670249701,-0.4037435054779053,-0.3790866136550903,0.1514034122228622,-0.2528924345970154,0.1902518272399902,0.2091452628374100,-0.7106088995933533,0.0553683601319790) * MODEL1_texOff(0); +res += mat4(0.0755319893360138,-0.2064462155103683,0.2529046237468719,-0.0889824703335762,0.0414680391550064,-0.3382911384105682,0.1707339733839035,-0.2916904985904694,-0.3138191401958466,-0.0445209704339504,0.0351496264338493,0.1921744197607040,-0.1195285394787788,-0.5813474059104919,-0.0010053918231279,0.0450712665915489) * MODEL2_texOff(0); +res += mat4(0.1001975536346436,-0.1946908682584763,-0.4379348456859589,-0.4578586220741272,0.6355994939804077,-0.0800877436995506,-0.5590230822563171,-0.0937182083725929,0.3338660597801208,0.0502367429435253,-0.2483862042427063,0.5092749595642090,-0.4888162612915039,0.1305068284273148,0.1586277931928635,0.0735563710331917) * MODEL3_texOff(0); +res += mat4(-0.1156697794795036,0.5801286101341248,0.1460028439760208,-0.1376375406980515,0.0569649673998356,0.1255808919668198,-0.4032325148582458,0.2831790149211884,0.2582658529281616,-0.1304569095373154,0.4232065677642822,-0.5881987214088440,0.1206596195697784,0.3275493383407593,0.0690044909715652,-0.1866563409566879) * MODEL4_texOff(0); +res += FEATURE2_texOff(0); +res = max(res, vec4(0.0)) + vec4(-0.0875594094395638,0.2679904997348785,-0.0558968335390091,1.0133398771286011) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Sub-band Residuals 3 +//!BIND MODEL1 +//!BIND MODEL2 +//!BIND MODEL3 +//!BIND MODEL4 +//!BIND FEATURE3 +//!SAVE RES3 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.0086358357220888,0.0037607243284583,0.0686820968985558,-0.0713141858577728); +res += mat4(-0.1038502156734467,0.4324543774127960,0.1707954257726669,0.1731312125921249,0.0200815536081791,0.0120384199544787,-0.1067152768373489,0.5407977700233459,0.2067432701587677,0.1794147789478302,0.0159531496465206,-0.3467568159103394,0.0419965274631977,-0.0508793145418167,0.2072062194347382,-0.2894908487796783) * MODEL1_texOff(0); +res += mat4(-0.5630547404289246,0.1666060835123062,0.0178081057965755,0.3524991571903229,-0.2995874583721161,0.0980367213487625,-0.2628170847892761,0.4638181924819946,-0.2615495026111603,0.0603443756699562,0.3929609954357147,-0.1414075344800949,0.0874920412898064,0.3859053552150726,-0.0077063934877515,-0.2897263765335083) * MODEL2_texOff(0); +res += mat4(-0.0025603419635445,0.0198608152568340,0.4864428043365479,0.0200426112860441,0.0357286371290684,0.2480639368295670,0.2739238739013672,0.2180272638797760,0.7824983000755310,0.3396670222282410,-0.1257730573415756,0.3170768618583679,-0.0060370829887688,-0.0299917273223400,-0.2383441329002380,-0.5705944895744324) * MODEL3_texOff(0); +res += mat4(0.0148104662075639,-0.0499628521502018,0.0105548752471805,0.2355475574731827,0.2658510506153107,0.0908592641353607,-0.0986879542469978,-0.0955742821097374,0.2046388238668442,-0.2873755991458893,0.5144420266151428,0.1865817606449127,-0.3607809543609619,-0.0865261405706406,-0.0269326660782099,0.2560397982597351) * MODEL4_texOff(0); +res += FEATURE3_texOff(0); +res = max(res, vec4(0.0)) + vec4(0.0467838346958160,0.9934324622154236,0.7105506658554077,-0.0405274406075478) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Sub-band Residuals 4 +//!BIND MODEL1 +//!BIND MODEL2 +//!BIND MODEL3 +//!BIND MODEL4 +//!BIND FEATURE4 +//!SAVE RES4 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.0075943465344608,0.0014037321088836,0.0082911541685462,-0.0655143186450005); +res += mat4(0.4754261374473572,-0.1416637301445007,0.6753962039947510,-0.2602479755878448,0.3729733228683472,0.1666956692934036,-0.1734626293182373,-0.4241602718830109,-0.2818234264850616,-0.0478227995336056,0.0752680897712708,0.1023815795779228,0.4329713881015778,0.3534029722213745,-0.1319583207368851,0.0206434521824121) * MODEL1_texOff(0); +res += mat4(-0.3512316048145294,0.4200744032859802,-0.0043597775511444,-0.0899103879928589,0.5882259011268616,0.2777698934078217,0.1859622150659561,0.6646692752838135,0.1324135214090347,-0.6203894615173340,-0.5125803351402283,-0.3104399740695953,-0.3133399486541748,0.0651726424694061,0.0845169723033905,-0.2408193796873093) * MODEL2_texOff(0); +res += mat4(0.1520321667194366,0.1349307298660278,-0.1250907629728317,-0.0400571934878826,-0.0876675397157669,0.3064902126789093,-0.5405806899070740,-0.3599655628204346,0.6143399477005005,0.4300602972507477,-0.2111815214157104,0.0066048321314156,-0.2736213803291321,0.0229581259191036,-0.1963179558515549,-0.2068352699279785) * MODEL3_texOff(0); +res += mat4(-0.0046614776365459,-0.1381006687879562,0.7002282142639160,-0.2242229133844376,-0.7945929765701294,-0.3176228106021881,0.2708224654197693,0.1632207185029984,0.3149245679378510,-0.4065154790878296,0.4698683023452759,0.4528116583824158,0.6287406086921692,0.0968826934695244,-0.0151751721277833,-0.0430710576474667) * MODEL4_texOff(0); +res += FEATURE4_texOff(0); +res = max(res, vec4(0.0)) + vec4(1.0404170751571655,0.9971202611923218,0.9730775952339172,-0.0599765144288540) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!DESC FSRCNNX Sub-pixel Convolution 1 +//!BIND RES1 +//!BIND RES2 +//!BIND RES3 +//!BIND RES4 +vec4 hook() +{ +float res = 0.0616910010576248; +res += dot(vec4(0.0019624053966254,0.0072673442773521,-0.0138711333274841,-0.0056264344602823), RES1_texOff(vec2(-1,-1))); +res += dot(vec4(0.0160109754651785,-0.0004621816915460,-0.0118571957573295,-0.0184281561523676), RES2_texOff(vec2(-1,-1))); +res += dot(vec4(0.0037146043032408,0.0136701678857207,-0.0115660140290856,-0.0077755032107234), RES3_texOff(vec2(-1,-1))); +res += dot(vec4(-0.0022343995515257,0.0120857227593660,-0.0129918372258544,0.0099668391048908), RES4_texOff(vec2(-1,-1))); +res += dot(vec4(0.0074057984165847,0.0452708676457405,0.0459175854921341,-0.0368319600820541), RES1_texOff(vec2(-1,0))); +res += dot(vec4(0.0017116252565756,-0.0334277749061584,0.0041206344030797,0.0238973144441843), RES2_texOff(vec2(-1,0))); +res += dot(vec4(-0.0046752081252635,-0.0577392280101776,0.0030614952556789,-0.0030854893848300), RES3_texOff(vec2(-1,0))); +res += dot(vec4(0.0597204044461250,-0.0549505688250065,0.0424770526587963,0.0287990663200617), RES4_texOff(vec2(-1,0))); +res += dot(vec4(-0.0109009100124240,-0.0071457587182522,-0.0163927860558033,0.0060960804112256), RES1_texOff(vec2(-1,1))); +res += dot(vec4(-0.0052948719821870,-0.0019860106986016,-0.0008657919242978,-0.0215458068996668), RES2_texOff(vec2(-1,1))); +res += dot(vec4(0.0156327243894339,0.0232154689729214,-0.0241203643381596,0.0226248633116484), RES3_texOff(vec2(-1,1))); +res += dot(vec4(-0.0137104233726859,0.0041144569404423,-0.0121579812839627,-0.0060867783613503), RES4_texOff(vec2(-1,1))); +res += dot(vec4(0.0265398044139147,0.0431305840611458,0.0389016680419445,0.0039510899223387), RES1_texOff(vec2(0,-1))); +res += dot(vec4(0.0212841685861349,-0.0155332032591105,-0.0150460079312325,0.0114770121872425), RES2_texOff(vec2(0,-1))); +res += dot(vec4(-0.0189756266772747,-0.0552161559462547,-0.0037272043991834,0.0137405181303620), RES3_texOff(vec2(0,-1))); +res += dot(vec4(0.0155703285709023,-0.0371433049440384,0.0500302612781525,-0.0071864617057145), RES4_texOff(vec2(0,-1))); +res += dot(vec4(0.0919059514999390,0.1092567816376686,0.1702144443988800,0.0168097410351038), RES1_texOff(vec2(0,0))); +res += dot(vec4(-0.0361343063414097,0.0915367826819420,0.0311920754611492,0.1181034445762634), RES2_texOff(vec2(0,0))); +res += dot(vec4(-0.0006561146583408,-0.1943516433238983,0.0515388995409012,-0.0400897003710270), RES3_texOff(vec2(0,0))); +res += dot(vec4(0.1246383413672447,-0.1080997213721275,0.1333638727664948,-0.0076592671684921), RES4_texOff(vec2(0,0))); +res += dot(vec4(0.0149818332865834,0.0297912769019604,0.0343370735645294,-0.0016413887497038), RES1_texOff(vec2(0,1))); +res += dot(vec4(-0.0123257553204894,-0.0161512885242701,-0.0043903160840273,0.0345082916319370), RES2_texOff(vec2(0,1))); +res += dot(vec4(0.0172790065407753,-0.0424552857875824,0.0203313175588846,-0.0030693961307406), RES3_texOff(vec2(0,1))); +res += dot(vec4(0.0315044708549976,-0.0290311891585588,0.0236842446029186,-0.0040076803416014), RES4_texOff(vec2(0,1))); +res += dot(vec4(-0.0169223919510841,-0.0182308703660965,-0.0226403251290321,0.0006814499502070), RES1_texOff(vec2(1,-1))); +res += dot(vec4(-0.0061231902800500,-0.0010735684772953,0.0042807976715267,-0.0144083919003606), RES2_texOff(vec2(1,-1))); +res += dot(vec4(-0.0042348047718406,0.0251682959496975,-0.0087281558662653,0.0260808188468218), RES3_texOff(vec2(1,-1))); +res += dot(vec4(-0.0283338129520416,0.0307771638035774,0.0001355003914796,-0.0071004317142069), RES4_texOff(vec2(1,-1))); +res += dot(vec4(0.0137146515771747,0.0363843068480492,0.0213894452899694,0.0312568582594395), RES1_texOff(vec2(1,0))); +res += dot(vec4(-0.0101602440699935,-0.0484087765216827,0.0047910632565618,0.0337336249649525), RES2_texOff(vec2(1,0))); +res += dot(vec4(0.0076871691271663,-0.0599658600986004,-0.0147027522325516,0.0018545724451542), RES3_texOff(vec2(1,0))); +res += dot(vec4(0.0337045490741730,-0.0103809703141451,0.0355663336813450,-0.0341530069708824), RES4_texOff(vec2(1,0))); +res += dot(vec4(-0.0036646916996688,-0.0028488722164184,-0.0135662518441677,-0.0040213344618678), RES1_texOff(vec2(1,1))); +res += dot(vec4(0.0086891101673245,-0.0050294972024858,-0.0198393501341343,-0.0198702607303858), RES2_texOff(vec2(1,1))); +res += dot(vec4(-0.0092797838151455,0.0161238685250282,0.0109458435326815,-0.0048607201315463), RES3_texOff(vec2(1,1))); +res += dot(vec4(-0.0086012342944741,0.0156919863075018,-0.0107013676315546,0.0046503073535860), RES4_texOff(vec2(1,1))); +return vec4(res, 0, 0, 0); +} + diff --git a/shaders/igv/FSRCNNX_x2_16-0-4-1.glsl b/shaders/igv/FSRCNNX_x2_16-0-4-1.glsl new file mode 100644 index 0000000..5f68841 --- /dev/null +++ b/shaders/igv/FSRCNNX_x2_16-0-4-1.glsl @@ -0,0 +1,1133 @@ +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Feature Map 1 +//!BIND LUMA +//!SAVE FEATURE1 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0158583000302315,0.0481607876718044,0.0216744001954794,0.0327517539262772); +res += vec4(0.0055716447532177,-0.0011689565144479,0.0060354629531503,-0.0038142984267324) * float(LUMA_texOff(vec2(-2,-2))); +res += vec4(-0.0511216484010220,0.0695900619029999,-0.0402262769639492,-0.2699918746948242) * float(LUMA_texOff(vec2(-2,-1))); +res += vec4(0.0568219460546970,0.0143233733251691,0.0573288090527058,0.1329403370618820) * float(LUMA_texOff(vec2(-2,0))); +res += vec4(0.0749029889702797,-0.0856373012065887,0.0275473278015852,0.0870117172598839) * float(LUMA_texOff(vec2(-2,1))); +res += vec4(0.0059168273583055,0.0431331694126129,0.0110861351713538,-0.0060971858911216) * float(LUMA_texOff(vec2(-2,2))); +res += vec4(0.0023135771043599,-0.0356510132551193,-0.0198473632335663,0.1518625020980835) * float(LUMA_texOff(vec2(-1,-2))); +res += vec4(0.0796200335025787,-0.0332430601119995,0.1661894172430038,0.0414402447640896) * float(LUMA_texOff(vec2(-1,-1))); +res += vec4(0.3913435935974121,-0.0070745791308582,-0.3234040439128876,-0.3177863061428070) * float(LUMA_texOff(vec2(-1,0))); +res += vec4(-0.2875826358795166,-0.1528938859701157,-0.0496717989444733,-0.0847533568739891) * float(LUMA_texOff(vec2(-1,1))); +res += vec4(0.0118880448862910,-0.0508498139679432,-0.0021516310516745,0.1032346263527870) * float(LUMA_texOff(vec2(-1,2))); +res += vec4(-0.0703228861093521,-0.1651142090559006,-0.1199417710304260,-0.0288288500159979) * float(LUMA_texOff(vec2(0,-2))); +res += vec4(0.1257767677307129,-0.1048138290643692,0.4004893004894257,-0.0309179127216339) * float(LUMA_texOff(vec2(0,-1))); +res += vec4(-0.7917575240135193,0.3903119266033173,0.3126059174537659,-0.0034788434859365) * float(LUMA_texOff(vec2(0,0))); +res += vec4(0.2019260078668594,0.1287178546190262,-0.6099877953529358,0.2216860502958298) * float(LUMA_texOff(vec2(0,1))); +res += vec4(-0.0255547054111958,0.2735108733177185,0.1398646086454391,-0.0773279890418053) * float(LUMA_texOff(vec2(0,2))); +res += vec4(0.0327996239066124,0.0393296107649803,-0.0118844136595726,-0.0788307189941406) * float(LUMA_texOff(vec2(1,-2))); +res += vec4(-0.0523803792893887,0.2635756731033325,-0.0843483880162239,0.2639326751232147) * float(LUMA_texOff(vec2(1,-1))); +res += vec4(0.4495396912097931,-0.5813834071159363,0.1550076454877853,-0.1014123335480690) * float(LUMA_texOff(vec2(1,0))); +res += vec4(-0.0275334194302559,0.0760609954595566,-0.0728811249136925,-0.0323722735047340) * float(LUMA_texOff(vec2(1,1))); +res += vec4(-0.0302287433296442,-0.0609264522790909,0.0201333332806826,-0.0218520220369101) * float(LUMA_texOff(vec2(1,2))); +res += vec4(-0.0078709209337831,-0.0724855363368988,0.0160489808768034,-0.0519895330071449) * float(LUMA_texOff(vec2(2,-2))); +res += vec4(-0.0093699758872390,-0.0221181977540255,0.0012721448438242,-0.1051536500453949) * float(LUMA_texOff(vec2(2,-1))); +res += vec4(-0.1118478253483772,0.0650174096226692,-0.0050289300270379,0.1248002946376801) * float(LUMA_texOff(vec2(2,0))); +res += vec4(0.0107028540223837,-0.0938652306795120,0.0155469048768282,0.0065242056734860) * float(LUMA_texOff(vec2(2,1))); +res += vec4(0.0103917606174946,-0.0048142350278795,-0.0063812667503953,0.0058583738282323) * float(LUMA_texOff(vec2(2,2))); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Feature Map 2 +//!BIND LUMA +//!SAVE FEATURE2 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.0035126404836774,-0.1424804031848907,0.0098019242286682,-0.2324347645044327); +res += vec4(-0.0081599559634924,0.0153401214629412,-0.0000884819819476,-0.0041208495385945) * float(LUMA_texOff(vec2(-2,-2))); +res += vec4(0.0348629020154476,-0.0261084530502558,0.1412381976842880,0.0120648415759206) * float(LUMA_texOff(vec2(-2,-1))); +res += vec4(-0.0182201806455851,0.0420538075268269,0.1279103606939316,0.0005762653308921) * float(LUMA_texOff(vec2(-2,0))); +res += vec4(0.0074240369722247,0.0205862484872341,-0.0248792562633753,-0.0096883391961455) * float(LUMA_texOff(vec2(-2,1))); +res += vec4(-0.0147575987502933,-0.0138801140710711,0.0336018688976765,0.0101419175043702) * float(LUMA_texOff(vec2(-2,2))); +res += vec4(-0.0168300196528435,-0.0323963575065136,-0.1103628277778625,0.0184982456266880) * float(LUMA_texOff(vec2(-1,-2))); +res += vec4(0.0336258038878441,0.0090460535138845,0.1413228511810303,0.0213951021432877) * float(LUMA_texOff(vec2(-1,-1))); +res += vec4(-0.2192985862493515,-0.1210875585675240,-0.5916258096694946,0.1427909880876541) * float(LUMA_texOff(vec2(-1,0))); +res += vec4(0.0442710407078266,-0.0331254564225674,0.2450466305017471,0.0069104693830013) * float(LUMA_texOff(vec2(-1,1))); +res += vec4(-0.0385449007153511,-0.0156025458127260,0.0130665311589837,0.0061669168062508) * float(LUMA_texOff(vec2(-1,2))); +res += vec4(0.0162507221102715,0.1013157293200493,0.1922776401042938,-0.0295907501131296) * float(LUMA_texOff(vec2(0,-2))); +res += vec4(0.4103461503982544,-0.2687482833862305,0.2803195714950562,0.2368032187223434) * float(LUMA_texOff(vec2(0,-1))); +res += vec4(0.0594542995095253,1.1106108427047729,-0.0012417822144926,0.6573531627655029) * float(LUMA_texOff(vec2(0,0))); +res += vec4(-0.3231450319290161,-0.0818216651678085,-0.0780772641301155,0.0890857279300690) * float(LUMA_texOff(vec2(0,1))); +res += vec4(0.0311414338648319,0.0114796580746770,-0.0333797559142113,0.0220009069889784) * float(LUMA_texOff(vec2(0,2))); +res += vec4(0.0005678526358679,-0.0108715193346143,-0.1475655883550644,0.0124691976234317) * float(LUMA_texOff(vec2(1,-2))); +res += vec4(0.0859664827585220,-0.0096361991018057,-0.2825120091438293,0.0380329117178917) * float(LUMA_texOff(vec2(1,-1))); +res += vec4(0.0296897795051336,-0.3303853869438171,0.0030247638933361,0.1928089261054993) * float(LUMA_texOff(vec2(1,0))); +res += vec4(-0.1064484789967537,-0.0895809978246689,0.1988810151815414,0.0761259049177170) * float(LUMA_texOff(vec2(1,1))); +res += vec4(-0.0114818075671792,0.0129500832408667,-0.0847826823592186,-0.0188437569886446) * float(LUMA_texOff(vec2(1,2))); +res += vec4(-0.0039359503425658,-0.0073066619224846,0.0316172763705254,0.0056592230685055) * float(LUMA_texOff(vec2(2,-2))); +res += vec4(-0.0143255395814776,-0.0037881892640144,-0.1154748499393463,-0.0094808740541339) * float(LUMA_texOff(vec2(2,-1))); +res += vec4(0.0334111787378788,0.0511705093085766,0.1090561151504517,0.0004155720234849) * float(LUMA_texOff(vec2(2,0))); +res += vec4(-0.0173786189407110,-0.0189253110438585,-0.0971138030290604,-0.0048367069102824) * float(LUMA_texOff(vec2(2,1))); +res += vec4(-0.0020564326550812,-0.0088429925963283,0.0409048907458782,0.0098554128780961) * float(LUMA_texOff(vec2(2,2))); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Feature Map 3 +//!BIND LUMA +//!SAVE FEATURE3 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0074675981886685,-0.0112727740779519,-0.0078150173649192,0.0054601472802460); +res += vec4(0.0058205719105899,0.0104424925521016,0.0102249477058649,-0.0246734209358692) * float(LUMA_texOff(vec2(-2,-2))); +res += vec4(-0.0504507981240749,-0.0265871956944466,-0.0211575180292130,0.0639910921454430) * float(LUMA_texOff(vec2(-2,-1))); +res += vec4(0.0854370445013046,0.0320916883647442,-0.0444113314151764,0.0667080804705620) * float(LUMA_texOff(vec2(-2,0))); +res += vec4(-0.0717485323548317,0.1007603406906128,0.0549219138920307,0.0006571425474249) * float(LUMA_texOff(vec2(-2,1))); +res += vec4(-0.0096475556492805,-0.0109533462673426,-0.0034293907228857,-0.0298656821250916) * float(LUMA_texOff(vec2(-2,2))); +res += vec4(0.0612395852804184,0.1438739448785782,-0.1342615187168121,0.0005135608371347) * float(LUMA_texOff(vec2(-1,-2))); +res += vec4(-0.1905109286308289,-0.0487579554319382,0.1215000376105309,-0.3903875648975372) * float(LUMA_texOff(vec2(-1,-1))); +res += vec4(-0.1105766519904137,0.1457407474517822,0.3190293610095978,0.3644915223121643) * float(LUMA_texOff(vec2(-1,0))); +res += vec4(0.2406846284866333,-0.1006923243403435,-0.2059815675020218,-0.0087168551981449) * float(LUMA_texOff(vec2(-1,1))); +res += vec4(0.0242295619100332,0.0973422899842262,0.0189558453857899,0.0454756766557693) * float(LUMA_texOff(vec2(-1,2))); +res += vec4(-0.2777403295040131,-0.0261268876492977,0.0557462945580482,0.1156388074159622) * float(LUMA_texOff(vec2(0,-2))); +res += vec4(0.4593666791915894,-0.5746087431907654,0.3516879677772522,0.5441487431526184) * float(LUMA_texOff(vec2(0,-1))); +res += vec4(0.1454727351665497,0.4347074031829834,-0.5649513602256775,-0.2891949117183685) * float(LUMA_texOff(vec2(0,0))); +res += vec4(-0.1971357613801956,-0.0528701394796371,0.1234181076288223,-0.3138715028762817) * float(LUMA_texOff(vec2(0,1))); +res += vec4(-0.0748024880886078,-0.1438121795654297,-0.0849649086594582,-0.0026638933923095) * float(LUMA_texOff(vec2(0,2))); +res += vec4(0.1365336179733276,0.1782812327146530,0.0145155806094408,-0.0544562637805939) * float(LUMA_texOff(vec2(1,-2))); +res += vec4(-0.1609659045934677,0.0399771369993687,-0.2471204251050949,-0.3522113263607025) * float(LUMA_texOff(vec2(1,-1))); +res += vec4(-0.0015608231769875,-0.3023138046264648,-0.0579032227396965,0.0277623422443867) * float(LUMA_texOff(vec2(1,0))); +res += vec4(-0.0035330341197550,0.2225222438573837,0.2519835233688354,0.2358573675155640) * float(LUMA_texOff(vec2(1,1))); +res += vec4(0.0797009617090225,-0.1369067281484604,-0.0032011670991778,-0.1078757569193840) * float(LUMA_texOff(vec2(1,2))); +res += vec4(-0.0340625829994678,-0.0491722412407398,0.0248667076230049,0.0046607558615506) * float(LUMA_texOff(vec2(2,-2))); +res += vec4(0.1101173907518387,0.0255349930375814,-0.0124160917475820,0.0940967351198196) * float(LUMA_texOff(vec2(2,-1))); +res += vec4(-0.1285010129213333,0.0126118278130889,0.1080744639039040,0.0213258527219296) * float(LUMA_texOff(vec2(2,0))); +res += vec4(0.0379831343889236,0.1150698363780975,-0.0470580570399761,-0.0274534691125154) * float(LUMA_texOff(vec2(2,1))); +res += vec4(-0.0675948560237885,-0.0150815304368734,-0.0260353796184063,0.0053928769193590) * float(LUMA_texOff(vec2(2,2))); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Feature Map 4 +//!BIND LUMA +//!SAVE FEATURE4 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.0231404807418585,0.0264000315219164,-0.0196782369166613,0.0193342305719852); +res += vec4(-0.0002864966227207,-0.0063192103989422,0.0176236815750599,0.0021022548899055) * float(LUMA_texOff(vec2(-2,-2))); +res += vec4(0.0030383218545467,0.0160587038844824,-0.0215296540409327,0.0022535317111760) * float(LUMA_texOff(vec2(-2,-1))); +res += vec4(-0.0327238291501999,0.1294472962617874,0.0004141363606323,-0.0643630251288414) * float(LUMA_texOff(vec2(-2,0))); +res += vec4(-0.0072918534278870,0.0081034628674388,-0.0076351291500032,0.0612725690007210) * float(LUMA_texOff(vec2(-2,1))); +res += vec4(0.0077398689463735,0.0009626992978156,0.0004907781840302,0.0158306453377008) * float(LUMA_texOff(vec2(-2,2))); +res += vec4(0.0169805102050304,0.0017006965354085,-0.0351677052676678,0.0070601841434836) * float(LUMA_texOff(vec2(-1,-2))); +res += vec4(0.0503231473267078,-0.1359812021255493,-0.1726402193307877,0.0505710020661354) * float(LUMA_texOff(vec2(-1,-1))); +res += vec4(0.5929844379425049,-0.4670899212360382,0.1338799595832825,0.0521798394620419) * float(LUMA_texOff(vec2(-1,0))); +res += vec4(-0.0016857853624970,-0.0980291739106178,-0.0766545012593269,-0.1788613498210907) * float(LUMA_texOff(vec2(-1,1))); +res += vec4(0.0055230301804841,0.0227276254445314,0.0062132971361279,-0.0205314252525568) * float(LUMA_texOff(vec2(-1,2))); +res += vec4(-0.0632932260632515,0.0206124242395163,0.0203190892934799,-0.0383010655641556) * float(LUMA_texOff(vec2(0,-2))); +res += vec4(0.3401337563991547,0.0347416475415230,-0.1285047084093094,0.1899463981389999) * float(LUMA_texOff(vec2(0,-1))); +res += vec4(-0.4421386420726776,0.2934384047985077,0.8403331041336060,-0.1730615049600601) * float(LUMA_texOff(vec2(0,0))); +res += vec4(-0.1677902936935425,-0.2289065122604370,-0.0876600667834282,0.3486402034759521) * float(LUMA_texOff(vec2(0,1))); +res += vec4(0.0101460181176662,-0.0013741940492764,-0.0227308031171560,-0.1236668676137924) * float(LUMA_texOff(vec2(0,2))); +res += vec4(0.0416196137666702,-0.0025786985643208,-0.0321756042540073,-0.0049003348685801) * float(LUMA_texOff(vec2(1,-2))); +res += vec4(0.0264755990356207,0.0366033166646957,-0.2230065017938614,-0.2322043776512146) * float(LUMA_texOff(vec2(1,-1))); +res += vec4(-0.3769855499267578,0.3444519937038422,-0.0913550406694412,0.0529095120728016) * float(LUMA_texOff(vec2(1,0))); +res += vec4(0.0496573671698570,0.1734852045774460,-0.1757829487323761,-0.0754000768065453) * float(LUMA_texOff(vec2(1,1))); +res += vec4(0.0092390561476350,0.0240796990692616,0.0486575216054916,0.0034698238596320) * float(LUMA_texOff(vec2(1,2))); +res += vec4(-0.0061075761914253,0.0163863543421030,0.0051472936756909,0.0245978105813265) * float(LUMA_texOff(vec2(2,-2))); +res += vec4(-0.0219590999186039,-0.0549665205180645,0.0169540457427502,0.0773543193936348) * float(LUMA_texOff(vec2(2,-1))); +res += vec4(0.0130640128627419,-0.0906993970274925,0.0318272411823273,0.0213559772819281) * float(LUMA_texOff(vec2(2,0))); +res += vec4(-0.0263035502284765,-0.0683158710598946,0.0060625332407653,-0.0366725400090218) * float(LUMA_texOff(vec2(2,1))); +res += vec4(-0.0033458373509347,0.0166716929525137,-0.0066949445754290,0.0069377254694700) * float(LUMA_texOff(vec2(2,2))); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Mapping 1_1 +//!BIND FEATURE1 +//!BIND FEATURE2 +//!BIND FEATURE3 +//!BIND FEATURE4 +//!SAVE MODEL21 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.2535822391510010,-0.2086673378944397,-0.1971909999847412,-0.0509869605302811); +res += mat4(-0.2771639227867126,-0.0897865369915962,0.2583256959915161,0.1160498261451721,0.0936901941895485,-0.1911094635725021,-0.1356087327003479,-0.2737614214420319,-0.0840661674737930,0.3071749806404114,-0.1382381021976471,0.0401598662137985,0.0078477216884494,-0.2248300164937973,-0.1277811974287033,0.0695948302745819) * FEATURE1_texOff(vec2(-1,-1)); +res += mat4(0.1083878129720688,-0.3206554055213928,0.1545115262269974,-0.0320371277630329,-0.1938588172197342,-0.1473862826824188,-0.0282243248075247,-0.1354303658008575,-0.1186024993658066,-0.0809327214956284,-0.0136826746165752,-0.0899777114391327,0.0719721689820290,0.1930700838565826,-0.1158982515335083,0.0772358104586601) * FEATURE2_texOff(vec2(-1,-1)); +res += mat4(-0.0439350903034210,-0.3943499624729156,0.2428358793258667,-0.1589881926774979,0.1062002107501030,0.3110131621360779,0.1892369836568832,-0.4146962761878967,0.2854582071304321,-0.1033756285905838,0.2935918271541595,-0.3346719741821289,0.0666174665093422,0.0610550120472908,-0.1994506865739822,-0.2256885766983032) * FEATURE3_texOff(vec2(-1,-1)); +res += mat4(0.1148382350802422,-0.4204422533512115,-0.0359638184309006,-0.1530147343873978,-0.0726560875773430,0.2168974876403809,0.3526575863361359,-0.3311845958232880,0.0656990334391594,0.2305561602115631,0.0385423824191093,0.1258286833763123,0.0722775310277939,0.5053561925888062,0.6200680136680603,0.1733734011650085) * FEATURE4_texOff(vec2(-1,-1)); +res += mat4(0.2637681365013123,-0.2313590347766876,-0.1710360497236252,-0.4150753617286682,-0.0291996710002422,0.1454502344131470,0.0285777729004622,-0.0749426186084747,-0.0187464319169521,-0.0788161307573318,-0.1390142142772675,0.4122431576251984,-0.0424673929810524,0.0481288805603981,-0.1688672900199890,-0.3983225524425507) * FEATURE1_texOff(vec2(-1,0)); +res += mat4(0.0667020902037621,0.2114472687244415,0.1192239969968796,-0.2236148864030838,-0.0777044594287872,-0.2462731599807739,0.2634125351905823,-0.1940607130527496,0.0336417406797409,-0.0972627550363541,-0.2950557470321655,0.2406509518623352,-0.0279604401439428,-0.0602857805788517,-0.0872009843587875,-0.1229272857308388) * FEATURE2_texOff(vec2(-1,0)); +res += mat4(0.2794125378131866,-0.4944160580635071,0.4512123167514801,0.2009913176298141,-0.2796518802642822,-0.0334346629679203,-0.0112056173384190,-0.3892775475978851,-0.1192756518721581,0.2117638289928436,-0.4059759974479675,0.2690156698226929,-0.0456493757665157,-0.0304120033979416,-0.2477626502513885,0.4191759228706360) * FEATURE3_texOff(vec2(-1,0)); +res += mat4(-0.0039319223724306,-0.0600352995097637,0.4458162486553192,0.1474803835153580,0.0940916240215302,-0.3791440427303314,0.3606577217578888,-0.4092902839183807,0.1703228652477264,-0.1827025562524796,0.0514233745634556,0.4128525555133820,-0.0793079584836960,-0.0907753482460976,0.1223130822181702,-0.1207918524742126) * FEATURE4_texOff(vec2(-1,0)); +res += mat4(-0.2494225054979324,0.1870742887258530,0.0837734341621399,-0.2739089429378510,-0.0571023263037205,0.1391844749450684,-0.0675746276974678,0.1305333226919174,-0.0307636223733425,0.4430510401725769,0.0028207190334797,-0.0904692336916924,0.0088010514155030,-0.0354460701346397,0.0043582450598478,0.4011381268501282) * FEATURE1_texOff(vec2(-1,1)); +res += mat4(0.0587932765483856,-0.1308003664016724,-0.1161855384707451,0.1607838273048401,0.1059153527021408,-0.1711840778589249,-0.0445863120257854,-0.1130510568618774,0.0448016002774239,0.1559550613164902,-0.0720835253596306,0.0672131329774857,-0.0249006003141403,0.1765320748090744,-0.1224699541926384,0.0470521636307240) * FEATURE2_texOff(vec2(-1,1)); +res += mat4(-0.0384641103446484,0.2872657477855682,0.0640715956687927,0.3555822372436523,0.0471152290701866,-0.1418067067861557,-0.1464726030826569,0.3959751725196838,0.2157984673976898,-0.0174972768872976,-0.2503038048744202,0.0358669087290764,-0.0771151334047318,0.3911861777305603,-0.0674204975366592,-0.1664280891418457) * FEATURE3_texOff(vec2(-1,1)); +res += mat4(-0.0502385906875134,-0.2417445182800293,-0.2242267578840256,-0.0672638416290283,-0.1355054825544357,-0.3461876213550568,0.4824717044830322,-0.2761393785476685,-0.0341378860175610,-0.0760281234979630,0.4350158274173737,0.4765976667404175,-0.0782985687255859,-0.1459587216377258,-0.0172249134629965,-0.0147242834791541) * FEATURE4_texOff(vec2(-1,1)); +res += mat4(-0.2630992829799652,0.2823100388050079,0.0943108573555946,0.4031386077404022,0.0995653420686722,-0.1206451952457428,-0.0305370874702930,0.0642247647047043,0.0560359954833984,0.0542743578553200,0.1328519582748413,0.3271641731262207,0.0286087840795517,-0.0301680061966181,0.4063064754009247,-0.0947660803794861) * FEATURE1_texOff(vec2(0,-1)); +res += mat4(0.2625299096107483,0.0842924192547798,0.7629656791687012,-0.2671873569488525,0.2069786489009857,-0.2454696893692017,0.0612405501306057,0.1021422892808914,-0.4223764240741730,0.3173877894878387,0.2887442708015442,0.1909165084362030,-0.1770869791507721,0.1346962451934814,0.1143044829368591,0.0229503251612186) * FEATURE2_texOff(vec2(0,-1)); +res += mat4(-0.4152803719043732,0.1540635079145432,-0.2777018547058105,0.6474476456642151,-0.1949630677700043,-0.0181875545531511,0.3886533379554749,0.3629097938537598,-0.3201324343681335,0.4255363047122955,-0.3785362839698792,0.1957572698593140,0.1620309501886368,-0.2288520336151123,-0.0135895386338234,-0.0196984149515629) * FEATURE3_texOff(vec2(0,-1)); +res += mat4(0.1041403189301491,-0.1766346842050552,0.4300306439399719,-0.5048146247863770,-0.4282442331314087,0.2367089539766312,-0.0609208792448044,0.0131418621167541,0.0577571578323841,-0.0810485184192657,0.0756059587001801,-0.3013808131217957,0.1408018022775650,0.0530188716948032,0.4606562554836273,-0.3839898407459259) * FEATURE4_texOff(vec2(0,-1)); +res += mat4(-0.1521688550710678,-0.0032123478595167,0.3116574883460999,-0.2972046434879303,0.6955487728118896,-0.3735982179641724,0.0215148627758026,0.6849833130836487,0.4760347604751587,-1.0485177040100098,-0.1261294931173325,0.2331533879041672,0.0917195081710815,0.4458359181880951,-0.0091531546786427,0.5207492113113403) * FEATURE1_texOff(vec2(0,0)); +res += mat4(-0.1011519357562065,-0.2413177788257599,0.5347595214843750,-0.3520763516426086,1.1230159997940063,-1.1015644073486328,-0.7193110585212708,0.8510805368423462,0.8157641291618347,-0.2430049031972885,0.2581803798675537,-0.4335567951202393,-0.0874094665050507,-0.6334270834922791,-0.6894448399543762,0.0596196018159389) * FEATURE2_texOff(vec2(0,0)); +res += mat4(0.2854309976100922,-0.1557229459285736,-0.1809468418359756,-1.3902940750122070,0.6910412311553955,-0.2587812542915344,-0.0482749044895172,0.7059345245361328,0.1759572327136993,-0.1393056362867355,0.5609810352325439,-0.4832382500171661,-0.0000602358450124,-0.2900169491767883,0.3908173143863678,-0.6049022674560547) * FEATURE3_texOff(vec2(0,0)); +res += mat4(-0.0872106701135635,-0.1346540600061417,1.4156285524368286,-1.1883758306503296,-0.7596164941787720,0.1885419785976410,-0.5785369277000427,0.9477756023406982,1.5934140682220459,-1.2882608175277710,-1.2094374895095825,1.3799823522567749,0.4614370167255402,-0.0916836485266685,-0.5338310003280640,0.3820723593235016) * FEATURE4_texOff(vec2(0,0)); +res += mat4(0.0441628322005272,-0.0834458991885185,-0.0842079296708107,-0.0668803155422211,0.0368445180356503,0.2561661899089813,-0.1183663904666901,-0.0662262961268425,0.0612826459109783,-0.0493311323225498,-0.1413672119379044,-0.0592455714941025,0.0167923998087645,-0.3271788358688354,0.2014455944299698,-0.6534197330474854) * FEATURE1_texOff(vec2(0,1)); +res += mat4(-0.4044690728187561,-0.1691768616437912,-0.2559798955917358,0.3357487618923187,0.0253558568656445,-0.1398200690746307,-0.2404493540525436,0.2267729192972183,0.0485114641487598,-0.1099041774868965,0.4590287208557129,0.0762615874409676,-0.0548993311822414,-0.1307289451360703,-0.1234042271971703,-0.0231516994535923) * FEATURE2_texOff(vec2(0,1)); +res += mat4(-0.0988199859857559,0.0238037649542093,0.0435022264719009,-0.3168803453445435,-0.1213417872786522,-0.0779432877898216,0.2743633389472961,-0.0408632978796959,0.1799435466527939,-0.2463587224483490,-0.1358537077903748,0.2689833939075470,0.0539833642542362,0.1290988624095917,-0.0515714474022388,0.0580415092408657) * FEATURE3_texOff(vec2(0,1)); +res += mat4(-0.0934378430247307,-0.0576035231351852,0.1248585656285286,-0.4788450300693512,-0.0699084699153900,-0.1344984918832779,0.4291284382343292,-0.0945518091320992,0.1735085546970367,-0.3810331225395203,0.2658713161945343,-0.0407779440283775,-0.2733527123928070,-0.2201107889413834,-0.2199274003505707,0.2047093063592911) * FEATURE4_texOff(vec2(0,1)); +res += mat4(-0.0567484796047211,0.0829793587327003,-0.4746561646461487,0.0256525389850140,0.0835705399513245,-0.1755325645208359,-0.2114038169384003,-0.1711267083883286,0.1664180457592010,0.1463819295167923,-0.2656275629997253,-0.2758075296878815,0.0265674404799938,-0.1956520974636078,0.0414405986666679,0.0479561910033226) * FEATURE1_texOff(vec2(1,-1)); +res += mat4(0.0563601851463318,0.4714728593826294,-0.0800048857927322,-0.1705953329801559,0.2594836354255676,-0.2075097709894180,0.1695188879966736,-0.4107047319412231,-0.0706016868352890,-0.2547818720340729,-0.3957505524158478,-0.2354479134082794,0.0384419634938240,-0.0460053943097591,-0.0207829847931862,-0.0093786139041185) * FEATURE2_texOff(vec2(1,-1)); +res += mat4(0.0942042469978333,0.0404988750815392,-0.1232881695032120,-0.2178550660610199,0.1357689797878265,0.0359092727303505,-0.2060291618108749,-0.3273082375526428,0.5002653002738953,-0.1923164129257202,0.4921628534793854,0.2727786898612976,-0.2186055183410645,0.3011177480220795,-0.3585500419139862,0.1814153641462326) * FEATURE3_texOff(vec2(1,-1)); +res += mat4(-0.0447341054677963,0.0810466259717941,0.2046322971582413,-0.0233065690845251,0.2438813596963882,-0.5253956913948059,0.1698510050773621,-0.0923427864909172,0.3008512258529663,0.0888842046260834,0.2270209491252899,-0.0200825128704309,0.1317300051450729,-0.0595603473484516,0.1512535065412521,-0.1234729290008545) * FEATURE4_texOff(vec2(1,-1)); +res += mat4(-0.2651814818382263,-0.2288072854280472,-0.1599031686782837,0.2945036888122559,-0.5219144225120544,0.2868134975433350,0.0882711112499237,0.1873165518045425,-0.3225394189357758,0.5725277066230774,0.9555261731147766,0.1013209298253059,-0.0960882678627968,0.4585131406784058,-0.4613201320171356,0.0265702158212662) * FEATURE1_texOff(vec2(1,0)); +res += mat4(-0.0731972157955170,-0.0449099875986576,0.5571532249450684,-0.1073949784040451,-0.0349713973701000,0.0071747689507902,-0.5417777299880981,-0.1344508528709412,-0.3132073581218719,0.0723055228590965,-0.2280079871416092,-0.0006024244939908,-0.1621860861778259,0.0284414086490870,0.0161129496991634,0.1501607745885849) * FEATURE2_texOff(vec2(1,0)); +res += mat4(0.0067174173891544,0.2343200147151947,-0.5080283284187317,0.5312495827674866,0.0454211644828320,0.2897656559944153,-0.1136429458856583,-0.3823511302471161,-0.2790622413158417,-0.3745599091053009,0.0601127929985523,-0.1175373196601868,-0.1063450872898102,-0.0410735420882702,-0.2890635728836060,0.5056386590003967) * FEATURE3_texOff(vec2(1,0)); +res += mat4(0.5037181973457336,-1.1170947551727295,-0.5449797511100769,0.3597307205200195,-0.0285126268863678,0.3148215115070343,0.4604218900203705,0.2808663249015808,0.0162206999957561,-0.3732328414916992,-0.5785920023918152,0.1976140588521957,-0.5090074539184570,0.6523973941802979,-0.1632602810859680,-0.1469507217407227) * FEATURE4_texOff(vec2(1,0)); +res += mat4(-0.0661215856671333,0.2697862982749939,-0.1526191383600235,0.3426537811756134,-0.0941963717341423,-0.0453732609748840,-0.1661902964115143,0.0029509349260479,-0.1297422945499420,0.3132496774196625,0.0477103367447853,-0.0763362720608711,0.2142441421747208,-0.2151754349470139,0.0798331648111343,0.0610793232917786) * FEATURE1_texOff(vec2(1,1)); +res += mat4(-0.0336847305297852,-0.3289247453212738,0.4004055559635162,0.2447433471679688,0.1103943735361099,0.3727104365825653,0.3764447569847107,-0.0454859547317028,0.0884784683585167,0.0267046000808477,-0.3515844941139221,-0.2293561398983002,0.0277891717851162,-0.0138099212199450,0.1696697175502777,0.0516055934131145) * FEATURE2_texOff(vec2(1,1)); +res += mat4(0.0018621622584760,0.2604791820049286,0.2717927396297455,0.3943259119987488,-0.0989849790930748,-0.2238094806671143,-0.3049607276916504,0.1484513133764267,-0.4653285443782806,0.4149819910526276,0.2806181013584137,-0.0392659343779087,0.1793054938316345,0.0728375092148781,0.7856308221817017,0.0007568100700155) * FEATURE3_texOff(vec2(1,1)); +res += mat4(-0.1371228843927383,-0.4515758156776428,-0.1283617764711380,0.2101248651742935,0.2646862864494324,-0.4533604681491852,0.1065965071320534,0.0693597942590714,0.2889678776264191,0.0214051268994808,0.6909635663032532,0.2163403928279877,0.3420628011226654,-0.2050398141145706,-0.0816402360796928,0.0032103767152876) * FEATURE4_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(0.4853514730930328,0.0194640476256609,0.0559235066175461,0.9239075779914856) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Mapping 1_2 +//!BIND FEATURE1 +//!BIND FEATURE2 +//!BIND FEATURE3 +//!BIND FEATURE4 +//!SAVE MODEL22 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.1381223350763321,-0.0308194756507874,0.1110133975744247,-0.0683282017707825); +res += mat4(-0.2088769525289536,-0.0105850258842111,-0.1151953488588333,0.0346273891627789,-0.3365945518016815,-0.0517612397670746,0.0336230397224426,-0.0372144170105457,0.1981399059295654,0.1342182457447052,-0.1760965287685394,0.2307879626750946,-0.1530198454856873,-0.1098565682768822,0.0360668078064919,-0.0083812475204468) * FEATURE1_texOff(vec2(-1,-1)); +res += mat4(-0.1177931874990463,-0.0846288949251175,-0.2833393514156342,-0.1577735990285873,0.1323858946561813,-0.0128489714115858,-0.2080941498279572,-0.0380874052643776,-0.2245622128248215,-0.1485987454652786,0.0010099023347721,-0.1531151384115219,-0.1019563600420952,-0.0452317036688328,0.0589019767940044,0.0121880760416389) * FEATURE2_texOff(vec2(-1,-1)); +res += mat4(0.0704127103090286,0.0245257895439863,-0.1575127989053726,0.1349024325609207,-0.1563488990068436,-0.0450201816856861,0.0279316585510969,0.1888295561075211,-0.0059769251383841,0.1732009947299957,0.1763417571783066,0.0518473982810974,0.0620901659131050,-0.0433492250740528,-0.0562263280153275,-0.1273161619901657) * FEATURE3_texOff(vec2(-1,-1)); +res += mat4(0.1267730593681335,-0.0329404771327972,0.2025095671415329,0.1193531453609467,0.0728927850723267,0.0823160484433174,0.1572242677211761,0.1716777533292770,0.2288017272949219,-0.2456564903259277,-0.0219315327703953,-0.3694605827331543,0.0219488814473152,-0.1276920139789581,-0.0379748567938805,-0.0840378776192665) * FEATURE4_texOff(vec2(-1,-1)); +res += mat4(0.2056158930063248,0.2981309592723846,0.4551208317279816,0.3621589541435242,0.1664001643657684,0.2786794006824493,-0.1290398538112640,0.1190336570143700,0.1758793741464615,-0.0912702158093452,-0.4254598915576935,0.2246738970279694,-0.0261087883263826,0.2550060749053955,-0.0596518293023109,-0.1216617897152901) * FEATURE1_texOff(vec2(-1,0)); +res += mat4(-0.0796719565987587,0.0087867546826601,0.3371246457099915,-0.3683475852012634,-0.2284196317195892,0.1553688198328018,0.1120917648077011,-0.0740640237927437,-0.0330910012125969,0.5079706311225891,0.0464495383203030,-0.0281568299978971,0.0377068296074867,0.0486547499895096,-0.0274681914597750,-0.1364037692546844) * FEATURE2_texOff(vec2(-1,0)); +res += mat4(0.3227785527706146,0.1808989048004150,0.2177855074405670,0.1488631516695023,0.0276129115372896,-0.0884175524115562,-0.1514154821634293,-0.4444026648998260,-0.2891204059123993,-0.1344766467809677,-0.1440485715866089,-0.4961053133010864,0.1105418205261230,0.1085827052593231,0.0921985581517220,-0.1675277352333069) * FEATURE3_texOff(vec2(-1,0)); +res += mat4(-0.1732871979475021,0.4281528890132904,-0.0204508714377880,-0.1851426213979721,-0.1087937057018280,-0.3815968632698059,0.2121615111827850,-0.5234569311141968,0.1071098297834396,0.5851136445999146,-0.1577875763177872,-0.2906306684017181,-0.7021292448043823,0.2255133390426636,-0.1295063495635986,-0.1320244520902634) * FEATURE4_texOff(vec2(-1,0)); +res += mat4(-0.1757937669754028,-0.2319357842206955,-0.1836598366498947,0.1259083151817322,0.5745494365692139,-0.0729667767882347,-0.1101969778537750,0.1380585283041000,-0.1041931733489037,-0.3247266709804535,-0.0038968466687948,0.3799381852149963,0.1569617539644241,-0.1585843116044998,0.1072080880403519,-0.0745987668633461) * FEATURE1_texOff(vec2(-1,1)); +res += mat4(0.4278232753276825,0.1297351717948914,0.0242699328809977,0.1919889599084854,0.1342368423938751,-0.1163052171468735,0.0549292564392090,-0.0147566581144929,0.1688189953565598,-0.1894697397947311,-0.0977199077606201,0.2842393219470978,0.1062431111931801,-0.0455371215939522,0.0077982707880437,0.0216805879026651) * FEATURE2_texOff(vec2(-1,1)); +res += mat4(0.0561123453080654,-0.1753604114055634,-0.1611851602792740,-0.0905591323971748,0.6435936689376831,0.1204528734087944,0.0111874192953110,0.3374686241149902,0.3051860928535461,-0.0780762061476707,0.2443095892667770,-0.2589598298072815,-0.0003057309950236,-0.1137806028127670,-0.1054927855730057,0.0880511328577995) * FEATURE3_texOff(vec2(-1,1)); +res += mat4(-0.2937435507774353,0.2320816367864609,0.0320707336068153,-0.0581145994365215,-0.2367461323738098,0.4746437370777130,0.0147240571677685,-0.1799026876688004,-0.0346993468701839,0.0699583739042282,-0.3170774877071381,0.2222882062196732,0.3463763594627380,-0.2493554353713989,0.0534604340791702,0.3099468946456909) * FEATURE4_texOff(vec2(-1,1)); +res += mat4(-0.7647771239280701,-0.3693305552005768,0.6674076914787292,-0.2018796503543854,-0.1837627589702606,-0.2026533484458923,-0.2065198272466660,-0.7396225929260254,0.8524928092956543,-0.3777147233486176,0.0014601636212319,-0.0749434828758240,-0.4064617753028870,0.1136885806918144,-0.2240319401025772,0.1771318167448044) * FEATURE1_texOff(vec2(0,-1)); +res += mat4(0.0152301695197821,-0.1906797885894775,0.6144173145294189,0.3965292274951935,-0.0969559252262115,-0.0965181961655617,0.2601015865802765,-0.1854272931814194,0.0161584168672562,0.2746478021144867,-0.2444981634616852,0.0295571684837341,-0.0056955255568027,0.0136870443820953,-0.0315799862146378,-0.0970168113708496) * FEATURE2_texOff(vec2(0,-1)); +res += mat4(-0.2683302462100983,0.3706904053688049,-0.3019535541534424,-0.7962921857833862,0.1152348443865776,-0.0349015258252621,-0.3777785003185272,-0.2090991586446762,-0.6641592979431152,-0.0305389035493135,-0.7255446314811707,-0.0721698999404907,-0.0974985733628273,0.0589145533740520,-0.3214484453201294,0.1777489185333252) * FEATURE3_texOff(vec2(0,-1)); +res += mat4(0.0061144740320742,0.2519157528877258,0.1558316051959991,0.4245251417160034,-0.6843578815460205,0.1966717094182968,-0.4610933661460876,-0.2540432512760162,0.0210541579872370,0.1831053048372269,0.4746453762054443,-0.0526402108371258,-0.0040490669198334,-0.0342687070369720,0.3900658488273621,-0.3303281068801880) * FEATURE4_texOff(vec2(0,-1)); +res += mat4(-0.4828728139400482,0.5191280841827393,-1.1391385793685913,-0.7054628133773804,1.0957189798355103,-0.5038015246391296,1.1690396070480347,0.8840553760528564,-1.2126139402389526,-0.1944981217384338,-0.3844216167926788,1.5913034677505493,0.4191325902938843,0.0223961118608713,0.2826472818851471,-0.0871717706322670) * FEATURE1_texOff(vec2(0,0)); +res += mat4(-1.4643236398696899,-0.7375335693359375,0.2441195696592331,0.4990673959255219,-0.8329786062240601,-0.3049604892730713,0.9556087851524353,0.2383137643337250,0.5312217473983765,-0.5947279334068298,0.1804114133119583,-0.5788916945457458,0.3507929444313049,-0.0233711879700422,-0.2017675191164017,0.2487143874168396) * FEATURE2_texOff(vec2(0,0)); +res += mat4(-0.1819303482770920,-0.5676728487014771,0.2360317111015320,0.0851088836789131,0.3140235841274261,0.1351734697818756,0.0945767760276794,-0.7279174923896790,1.6670336723327637,-0.0221601165831089,-0.0541631169617176,0.5291170477867126,0.5370565652847290,0.3250507712364197,0.2952508032321930,0.7118167877197266) * FEATURE3_texOff(vec2(0,0)); +res += mat4(-0.4443428218364716,1.7487819194793701,0.7934173345565796,0.4780461490154266,0.9800529479980469,-0.9448102116584778,-0.9966609477996826,-0.5082603096961975,-0.9662690758705139,-0.1383059471845627,0.5476665496826172,0.8644275665283203,0.2329450398683548,-0.2073891162872314,0.6153110265731812,-0.8020766377449036) * FEATURE4_texOff(vec2(0,0)); +res += mat4(1.3168696165084839,0.3006781041622162,0.2233006358146667,-0.7741575837135315,-1.2183657884597778,0.1592453569173813,-0.1303313076496124,-0.5448666214942932,0.0890172719955444,0.0626696199178696,0.4082972407341003,-0.0174469910562038,-0.5905545353889465,-0.1600939035415649,0.1808805614709854,0.4527755379676819) * FEATURE1_texOff(vec2(0,1)); +res += mat4(0.2451122701168060,0.0711479261517525,-0.4790588915348053,-0.0287401173263788,-0.6085331439971924,0.0391158387064934,0.1979900598526001,0.6233009099960327,-0.4468613266944885,0.1692452281713486,0.3975573182106018,-0.0298757180571556,-0.0155079197138548,0.0266936160624027,-0.0893321484327316,-0.0689681470394135) * FEATURE2_texOff(vec2(0,1)); +res += mat4(-0.0973365902900696,0.2272831350564957,0.0554595254361629,0.6588506102561951,-0.7055286765098572,-0.0497792214155197,-0.0126299904659390,0.3630616366863251,-0.7668600678443909,-0.0601201094686985,0.2889628410339355,0.7213001251220703,-0.5142368078231812,-0.2921136617660522,-0.0372818075120449,0.0245624762028456) * FEATURE3_texOff(vec2(0,1)); +res += mat4(-0.6794872283935547,-0.1474942564964294,0.1974916905164719,-0.0832043588161469,0.3203485012054443,-0.1725142896175385,-0.1287368983030319,0.2957201898097992,-0.2809852659702301,-0.2404037415981293,0.3074257671833038,0.1061463952064514,0.3400422930717468,0.1731379330158234,-0.6084728240966797,0.1411322951316833) * FEATURE4_texOff(vec2(0,1)); +res += mat4(-0.1315720230340958,-0.1491559147834778,-0.1476573199033737,0.0172325670719147,0.0603457167744637,0.1274620592594147,0.0230694599449635,0.2419043183326721,-0.2473622113466263,0.1825644075870514,-0.0844093039631844,-0.1179033219814301,0.0535174496471882,-0.0359878912568092,0.2790770828723907,0.1150204017758369) * FEATURE1_texOff(vec2(1,-1)); +res += mat4(-0.3542392551898956,-0.0167406518012285,-0.0500063747167587,0.1317760497331619,0.2503667771816254,0.0965770110487938,0.0886839926242828,0.2376044392585754,0.3583405613899231,-0.0593837574124336,-0.0855230018496513,-0.0920166969299316,0.0858608484268188,0.0060294447466731,-0.0157861225306988,0.0127252563834190) * FEATURE2_texOff(vec2(1,-1)); +res += mat4(0.3226392865180969,0.0865219160914421,-0.1496476382017136,0.1624807566404343,0.3655589520931244,-0.0445664376020432,0.1227211430668831,-0.2220589071512222,-0.2631477713584900,0.0820850655436516,0.5568479895591736,0.0730609148740768,-0.0937359035015106,0.2295248508453369,-0.3294035196304321,-0.2036383599042892) * FEATURE3_texOff(vec2(1,-1)); +res += mat4(0.3742868900299072,-0.1802055388689041,-0.0593203529715538,0.1976574063301086,0.8271688222885132,0.0117016453295946,0.5063909292221069,0.2256126701831818,0.1593020707368851,-0.1280505210161209,0.0390553958714008,-0.1892147809267044,0.0888174250721931,-0.1376793980598450,0.5697006583213806,0.2485611587762833) * FEATURE4_texOff(vec2(1,-1)); +res += mat4(0.2118279337882996,0.0513114370405674,0.2285705506801605,0.5599109530448914,-0.5099740028381348,0.1410261243581772,-0.3096668720245361,0.7005844116210938,-0.4349140822887421,0.4047641158103943,0.4812763929367065,0.1051402017474174,0.2456628382205963,0.0377773605287075,-0.6833984255790710,-0.3006701469421387) * FEATURE1_texOff(vec2(1,0)); +res += mat4(-0.7107729315757751,-0.3105662167072296,-0.2076982706785202,-0.1214028969407082,-0.1795432120561600,0.1798780262470245,-0.0163973346352577,0.1743666827678680,-0.4378082156181335,0.1835298836231232,0.0649149790406227,0.0880983099341393,-0.1403774917125702,-0.0377079211175442,-0.1460157334804535,0.0355062298476696) * FEATURE2_texOff(vec2(1,0)); +res += mat4(0.0914793089032173,0.0385615527629852,0.1190174892544746,-0.0553938411176205,-0.4308855831623077,0.1630966216325760,0.3357785642147064,0.0585900247097015,-0.1960757374763489,-0.1455840319395065,-0.3593325614929199,-0.3946797251701355,-0.0507271811366081,-0.2539891600608826,-0.0905557572841644,-0.6227382421493530) * FEATURE3_texOff(vec2(1,0)); +res += mat4(0.2614709436893463,0.0061688483692706,0.3611848056316376,-0.1338395625352859,-1.0093911886215210,0.0553577207028866,0.1186351701617241,0.3184973597526550,-0.5891544818878174,-0.1016779243946075,-0.2224645316600800,0.0639321878552437,-0.2353626340627670,0.2742255926132202,-0.9502924680709839,0.7192491292953491) * FEATURE4_texOff(vec2(1,0)); +res += mat4(0.3778582513332367,-0.1000494062900543,-0.3470661938190460,0.1308858692646027,-0.0679450184106827,-0.0160419829189777,-0.0135374749079347,-0.0480017438530922,-0.2798678874969482,-0.0037702140398324,-0.1513005942106247,0.1505549550056458,0.5613264441490173,-0.0316404215991497,0.2104064077138901,0.0057972222566605) * FEATURE1_texOff(vec2(1,1)); +res += mat4(0.5251657366752625,0.0792712643742561,-0.1533361673355103,0.0648916959762573,0.1299594342708588,-0.0274657960981131,0.2256900221109390,-0.1350511759519577,0.3783259689807892,-0.1323687285184860,-0.1913703531026840,-0.0371813550591469,-0.3229732215404510,0.0125484764575958,0.0712098628282547,0.0355844199657440) * FEATURE2_texOff(vec2(1,1)); +res += mat4(-0.1488132029771805,-0.1394258141517639,0.0912211686372757,-0.2606098055839539,-0.0499770082533360,-0.0108409021049738,-0.0542243905365467,-0.0962965711951256,0.7122877240180969,0.2720184922218323,-0.3723897337913513,-0.1091977506875992,0.3245325982570648,-0.0505217276513577,0.5785158276557922,0.2982622087001801) * FEATURE3_texOff(vec2(1,1)); +res += mat4(0.1374520808458328,-0.0015341561520472,-0.1311945766210556,0.2911640405654907,-0.3659119606018066,-0.0591222643852234,0.3697520196437836,0.0210731234401464,-0.1840991079807281,0.0390477702021599,0.0259844064712524,0.2170744538307190,-0.0889984294772148,0.0531435646116734,0.2462018877267838,-0.4002745449542999) * FEATURE4_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(-0.0506038926541805,-1.0047781467437744,-0.4045023024082184,0.9032984972000122) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Mapping 1_3 +//!BIND FEATURE1 +//!BIND FEATURE2 +//!BIND FEATURE3 +//!BIND FEATURE4 +//!SAVE MODEL23 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.1987741589546204,-0.9577525258064270,-0.0384856425225735,-0.1572636365890503); +res += mat4(0.6966392397880554,-0.4640935063362122,0.2297160476446152,-0.0832405164837837,-0.0009435203392059,-0.0578446798026562,-0.1164432391524315,-0.1221262738108635,-0.1412358880043030,-0.0279388818889856,0.0489265844225883,0.0063599492423236,0.2360319495201111,0.0912766307592392,-0.1941773593425751,0.2315690666437149) * FEATURE1_texOff(vec2(-1,-1)); +res += mat4(-0.1167130470275879,0.0778460651636124,0.1076761484146118,-0.2353819608688354,0.0524621158838272,-0.0356444679200649,0.2539249062538147,0.2634229958057404,0.2133077681064606,-0.1919374763965607,-0.2158848792314529,0.0518384873867035,0.0609824284911156,-0.1305586248636246,-0.1013210490345955,0.1769250631332397) * FEATURE2_texOff(vec2(-1,-1)); +res += mat4(0.1402679532766342,0.2941172719001770,-0.1457418501377106,0.3779373764991760,-0.1932400017976761,-0.2161010503768921,0.0722947195172310,0.0502758324146271,-0.3296416103839874,0.4798662662506104,0.2580823302268982,-0.0627183541655540,0.0147153036668897,0.2626453340053558,0.0540219917893410,0.1939793974161148) * FEATURE3_texOff(vec2(-1,-1)); +res += mat4(0.1847409754991531,0.4179320335388184,0.1568926721811295,-0.2688268125057220,0.1841754466295242,-0.1598462462425232,0.1664924770593643,-0.6711257100105286,-0.3222356140613556,-0.3005515038967133,-0.1475231498479843,0.1409637480974197,-0.1211405694484711,-0.4659332334995270,-0.4637466669082642,0.3335506618022919) * FEATURE4_texOff(vec2(-1,-1)); +res += mat4(0.5968201160430908,0.0195734798908234,0.2521410584449768,0.1837282180786133,-0.2368906587362289,-0.1613323688507080,0.3105871975421906,-0.5328266620635986,0.6818410158157349,-0.2313661426305771,0.1797828674316406,-0.4353945851325989,0.3843055069446564,0.2114877700805664,-0.3301143646240234,-0.0251296106725931) * FEATURE1_texOff(vec2(-1,0)); +res += mat4(0.5452771782875061,0.3973252177238464,-0.2990077137947083,-0.6833023428916931,-0.0103876451030374,-0.2633355557918549,0.2405222356319427,-0.1847756654024124,0.0809822008013725,-0.5386145710945129,0.3198210299015045,0.5242416858673096,-0.0943189039826393,0.1589269340038300,-0.2653484344482422,-0.2556872963905334) * FEATURE2_texOff(vec2(-1,0)); +res += mat4(-0.0612921006977558,0.3507350981235504,0.2488755732774734,0.1469088792800903,-0.3519552946090698,-0.2370343953371048,-0.1770581305027008,0.1431888490915298,-0.6166468262672424,-0.1131900474429131,-0.4911212325096130,0.5227483510971069,-0.3461691737174988,0.0986021012067795,0.7038308978080750,-0.3039589524269104) * FEATURE3_texOff(vec2(-1,0)); +res += mat4(0.1912881582975388,-0.5830649733543396,0.2136552929878235,0.1866988241672516,-0.5624901652336121,0.2385427057743073,0.1727342009544373,-0.4540549218654633,0.4965006113052368,-0.3204718232154846,-0.1158104166388512,0.5111644268035889,1.0713713169097900,0.1508440226316452,-0.5791803598403931,-0.0009748075972311) * FEATURE4_texOff(vec2(-1,0)); +res += mat4(0.9698884487152100,-0.2014376223087311,-0.6689079999923706,0.4241695106029510,-0.0573838278651237,0.1175749525427818,-0.3876985013484955,0.2512328326702118,0.5065176486968994,-0.0682719275355339,-0.3141808807849884,-0.1387684196233749,-0.1143181324005127,-0.0706263333559036,-0.2333269715309143,0.5111127495765686) * FEATURE1_texOff(vec2(-1,1)); +res += mat4(-0.5634623765945435,0.0672075673937798,0.2458319514989853,-0.2465665936470032,1.0935126543045044,-0.3243642449378967,0.3043719530105591,0.0064766071736813,0.9648159146308899,0.1759704202413559,-0.1268455684185028,0.0441841222345829,-0.8189800977706909,-0.0071217310614884,-0.0554777421057224,-0.2554271817207336) * FEATURE2_texOff(vec2(-1,1)); +res += mat4(-0.1151394397020340,-0.0710884630680084,0.1666608154773712,0.2001230269670486,-0.3966263532638550,0.3185620605945587,0.2014131247997284,-0.6153194308280945,-0.1701968014240265,-0.0540665499866009,0.0967301502823830,-0.1836527884006500,-0.2557096779346466,-0.4019114375114441,-0.4702650904655457,-0.1317474097013474) * FEATURE3_texOff(vec2(-1,1)); +res += mat4(-0.3346468508243561,-0.0425257682800293,0.1464348584413528,-0.0702658221125603,-1.1866838932037354,-0.1095336750149727,0.2232391387224197,0.1260936558246613,0.3364435434341431,0.0271857567131519,-0.2763819098472595,-0.2012097984552383,-0.5574805140495300,0.4211027026176453,0.0042814216576517,-0.0079778516665101) * FEATURE4_texOff(vec2(-1,1)); +res += mat4(-0.3540650010108948,0.0071619492955506,-0.1938177198171616,0.6681747436523438,-0.8133658766746521,-0.5995404124259949,-0.3652176260948181,0.5787848830223083,-1.1667940616607666,-0.1285391598939896,-0.0541963428258896,0.8525529503822327,0.1709660291671753,-0.2035605609416962,-0.0489438250660896,-0.0194259360432625) * FEATURE1_texOff(vec2(0,-1)); +res += mat4(-0.0078989947214723,-0.6119658946990967,-0.2015484124422073,-0.2649651169776917,-0.6429963707923889,0.2694746255874634,-0.4319376945495605,-0.3059541285037994,-0.0497270785272121,0.1026998609304428,-0.0897300168871880,0.1753655374050140,0.2096567898988724,0.2093304544687271,-0.0014726204099134,-0.1757658571004868) * FEATURE2_texOff(vec2(0,-1)); +res += mat4(0.4870032668113708,-0.3136315047740936,0.0027699931524694,0.0663692802190781,-0.3052871823310852,0.3439637422561646,-0.1048567295074463,-0.1991288512945175,0.3137850165367126,0.0046365256421268,-0.1638680994510651,-0.4108964502811432,0.0508278496563435,-0.2253065854310989,-0.1633804589509964,0.2289161980152130) * FEATURE3_texOff(vec2(0,-1)); +res += mat4(-0.1308068782091141,-0.4817227125167847,-0.0263788085430861,-0.3971874713897705,-0.2506425678730011,0.0695889964699745,-0.2154289782047272,0.5419184565544128,-0.2379133403301239,0.4222696423530579,0.5321872234344482,-0.4691502451896667,0.5537111759185791,0.2836233973503113,-0.0807907357811928,-0.1053616553544998) * FEATURE4_texOff(vec2(0,-1)); +res += mat4(-1.3340888023376465,0.1811003237962723,-0.0891653820872307,0.2640296220779419,0.0198112688958645,0.3743432164192200,0.2111666053533554,0.0528086237609386,1.4712600708007812,1.2311338186264038,-0.9427970051765442,-0.6471102833747864,-0.1417239755392075,-0.0687683522701263,0.6658940315246582,-0.2936039566993713) * FEATURE1_texOff(vec2(0,0)); +res += mat4(0.6384365558624268,0.9694315791130066,-0.9346356391906738,-1.0230228900909424,-0.5444990992546082,0.7220879793167114,-1.3095484972000122,-0.1715894937515259,-0.1845342367887497,0.2809494435787201,-0.7519769072532654,0.5043348670005798,0.0642623752355576,0.5404297709465027,0.4980618953704834,-0.4332457780838013) * FEATURE2_texOff(vec2(0,0)); +res += mat4(0.4064006507396698,-0.1983926743268967,-0.3653252422809601,-0.4969399273395538,0.9744088053703308,-0.4507445096969604,-0.2631619274616241,0.3812571465969086,0.1463315337896347,-0.3806351721286774,-0.1298433393239975,-1.0762634277343750,0.6555476784706116,0.2125965803861618,-0.2418732196092606,-0.7435741424560547) * FEATURE3_texOff(vec2(0,0)); +res += mat4(0.5863549113273621,-0.7426007390022278,1.0520230531692505,-0.3021634817123413,1.0178332328796387,0.3958678841590881,-1.2147421836853027,-0.2803310155868530,0.9442859292030334,0.9875133633613586,-1.3295483589172363,0.3140213191509247,-1.2360699176788330,0.0436276197433472,0.8192564249038696,0.9244912862777710) * FEATURE4_texOff(vec2(0,0)); +res += mat4(-0.0778036788105965,0.1303569674491882,-0.0946515947580338,0.1500514000654221,-0.8376330137252808,0.0064494702965021,0.4018820524215698,0.3726169466972351,-0.0240886732935905,0.1562727540731430,0.5867211222648621,0.0861321687698364,-0.0752925500273705,0.2072228193283081,0.0571691095829010,-0.3941327631473541) * FEATURE1_texOff(vec2(0,1)); +res += mat4(-0.6260624527931213,0.2243167608976364,-0.0777204260230064,-0.0948459953069687,0.1986584663391113,0.0779278427362442,-0.0409294515848160,-0.1123309731483459,-0.5333513021469116,-0.3017018139362335,0.3394177854061127,0.0070442100986838,-1.2051154375076294,0.1886872202157974,0.0150700416415930,0.2271993011236191) * FEATURE2_texOff(vec2(0,1)); +res += mat4(-0.1438168585300446,-0.0561682283878326,-0.0726087689399719,-0.1063039004802704,0.8472042083740234,-0.1650467067956924,-0.4323893487453461,0.1089009195566177,-0.2962348163127899,-0.0804210677742958,0.3090696632862091,0.1938772201538086,-0.9304508566856384,0.2099634110927582,-0.2387906461954117,0.4645425677299500) * FEATURE3_texOff(vec2(0,1)); +res += mat4(-0.3891402482986450,0.1677001267671585,-0.3542142212390900,0.4825044274330139,-0.7494704127311707,0.0327095612883568,-0.3160547018051147,0.0381647609174252,-0.3395038843154907,-0.0875114798545837,0.1697681397199631,-0.0070069218054414,0.2785872519016266,-0.3053137958049774,-0.4394780993461609,-0.4758984446525574) * FEATURE4_texOff(vec2(0,1)); +res += mat4(0.1764032542705536,0.3245241641998291,-0.3035278022289276,-0.0335294082760811,0.0819542557001114,0.0181823037564754,-0.4616291821002960,0.3710139989852905,-0.2668941020965576,0.1378638595342636,-0.3516434729099274,0.2218741774559021,-0.1380484700202942,0.2721910178661346,0.1993634998798370,-0.0507654286921024) * FEATURE1_texOff(vec2(1,-1)); +res += mat4(0.1138257235288620,0.0702949985861778,0.0519753210246563,0.0316211394965649,-0.1142372712492943,-0.3463631868362427,-0.1331373304128647,0.0943566113710403,0.1118926182389259,-0.0014000118244439,-0.0389710702002048,-0.2867488861083984,-0.0759893879294395,-0.0621335469186306,0.0294951014220715,0.1627990603446960) * FEATURE2_texOff(vec2(1,-1)); +res += mat4(-0.0370159111917019,-0.0134843364357948,-0.0296634603291750,-0.2262785434722900,-0.2126005589962006,0.1114539355039597,-0.3452126085758209,0.4179220199584961,0.1400017142295837,0.1337017863988876,0.1674517989158630,0.6095085144042969,0.1415290385484695,0.1256051212549210,-0.0247143786400557,-0.3213684260845184) * FEATURE3_texOff(vec2(1,-1)); +res += mat4(0.2360568046569824,0.0886762887239456,0.2882657349109650,0.0703785941004753,0.0481112562119961,0.1826563030481339,0.2045601755380630,-0.7343208193778992,0.2727248668670654,-0.1472977846860886,0.1000528633594513,0.1027388945221901,0.0052390284836292,-0.1624580770730972,-0.2070121914148331,0.0261196251958609) * FEATURE4_texOff(vec2(1,-1)); +res += mat4(0.5196351408958435,-0.1754677295684814,0.0290226303040981,-0.4108504652976990,0.7359254956245422,0.1325557529926300,0.7144725918769836,0.1152682229876518,0.5018915534019470,0.1675622016191483,0.1405982822179794,0.3300459384918213,-0.2479736208915710,0.1644758880138397,-0.2817023694515228,0.3316636085510254) * FEATURE1_texOff(vec2(1,0)); +res += mat4(0.8050370812416077,0.5533731579780579,-0.3099412024021149,0.1754989326000214,-0.1735986918210983,0.0404918454587460,0.2438879311084747,-0.2540093660354614,-0.4142113626003265,0.0423586852848530,0.2983778417110443,-0.6657259464263916,-0.0323144160211086,0.1928859353065491,0.0626569986343384,-0.2675825357437134) * FEATURE2_texOff(vec2(1,0)); +res += mat4(-0.8682364821434021,0.2794692516326904,0.2730025053024292,0.1207608506083488,0.5389584302902222,0.0149545557796955,-0.1274863481521606,-0.0567482747137547,-0.0887703672051430,0.6914038658142090,-0.3094426095485687,-0.2982452213764191,0.4080916643142700,0.0426792725920677,-0.0051025901921093,0.6209579110145569) * FEATURE3_texOff(vec2(1,0)); +res += mat4(0.0917436853051186,-0.0701907053589821,-0.2328515946865082,-0.1792335063219070,0.6472560167312622,-0.0877070501446724,-0.3649670481681824,0.2790137529373169,0.5136012434959412,-0.1430896967649460,0.4229614138603210,0.2363108694553375,0.5988228321075439,0.0732361972332001,0.3804556727409363,-0.6032572984695435) * FEATURE4_texOff(vec2(1,0)); +res += mat4(-0.4129971563816071,-0.0148138366639614,0.0773900002241135,-0.3664886355400085,0.7110533118247986,-0.3235684633255005,0.0094040073454380,-0.0542590022087097,-0.1800988018512726,-0.1026054248213768,0.2341964095830917,0.2807213664054871,-0.3103989362716675,-0.6431574821472168,-0.2740025222301483,-0.3599634468555450) * FEATURE1_texOff(vec2(1,1)); +res += mat4(0.1131857261061668,-0.3137154579162598,0.3429902195930481,-0.2737554609775543,1.2133983373641968,-0.1039248928427696,-0.0803684666752815,0.0061881896108389,-0.0924719199538231,0.1144402697682381,-0.2670459151268005,-0.1642477959394455,-0.4046771526336670,-0.1048694700002670,-0.0008883008267730,0.0014021961251274) * FEATURE2_texOff(vec2(1,1)); +res += mat4(0.1959314346313477,0.0085384212434292,-0.0705676227807999,0.2818849384784698,-0.2752107381820679,0.1570400297641754,0.2566027343273163,0.1972118318080902,0.9400491714477539,-0.2308340966701508,0.0559823065996170,0.0408312715590000,0.3904103934764862,-0.5421842932701111,-0.1970631629228592,-0.1138259097933769) * FEATURE3_texOff(vec2(1,1)); +res += mat4(-1.2016843557357788,0.0032943340484053,0.1414308100938797,-0.3150011897087097,-0.5170863270759583,0.1909369528293610,0.1779014021158218,0.0504081510007381,0.1417503207921982,-0.2203383594751358,-0.0287875495851040,-0.0217010006308556,-0.7724525332450867,-0.0255299452692270,0.0156590901315212,-0.1772062629461288) * FEATURE4_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(0.0190296284854412,0.0706401318311691,0.7972527742385864,0.0644450262188911) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Mapping 1_4 +//!BIND FEATURE1 +//!BIND FEATURE2 +//!BIND FEATURE3 +//!BIND FEATURE4 +//!SAVE MODEL24 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.1087156683206558,-0.9075642228126526,-0.0346042588353157,0.1664762347936630); +res += mat4(0.2831370532512665,0.0058452812954783,-0.1289279460906982,0.2047349065542221,-0.4432878494262695,0.4621333479881287,0.4035988152027130,-0.2761998772621155,0.4163680672645569,0.0915144309401512,-0.0111864032223821,-0.4257704913616180,-0.1714486926794052,0.1755180656909943,-0.5092523097991943,0.4639800190925598) * FEATURE1_texOff(vec2(-1,-1)); +res += mat4(-0.0974804461002350,-0.0661083459854126,0.2698374986648560,0.4155388474464417,-0.0774852782487869,0.0143058374524117,0.2624184489250183,0.3015262186527252,0.0072107692249119,-0.0115862442180514,-0.1178141161799431,-0.0702119544148445,0.0091381752863526,-0.0762502029538155,-0.0035026811528951,-0.0673689618706703) * FEATURE2_texOff(vec2(-1,-1)); +res += mat4(-0.0683186650276184,0.0347410701215267,0.0645584538578987,0.5791540145874023,-0.2505789697170258,0.0295746494084597,0.2193876951932907,-0.2011970281600952,-0.3917951285839081,0.3113734424114227,0.2716041803359985,-0.3423127830028534,-0.2599830925464630,0.2731236815452576,0.1352142393589020,-0.6103169322013855) * FEATURE3_texOff(vec2(-1,-1)); +res += mat4(0.1382907032966614,0.1567241251468658,-0.2623529136180878,0.2330288439989090,0.1026417240500450,0.1336921900510788,-0.0960267484188080,-0.4534229338169098,0.2093876749277115,-0.3144259452819824,-0.0117062618955970,0.2396877259016037,-0.0440586656332016,-0.3048300743103027,0.2870889604091644,0.7035214900970459) * FEATURE4_texOff(vec2(-1,-1)); +res += mat4(-0.1377581655979156,0.0860724225640297,-0.7544308900833130,-0.7329372763633728,0.0180966202169657,-0.3518326580524445,0.3025939762592316,0.1215278208255768,0.2151169478893280,0.1350875347852707,-0.6827735304832458,0.5395355224609375,-0.0290531590580940,-0.1038386523723602,-0.2184213846921921,-0.9552698135375977) * FEATURE1_texOff(vec2(-1,0)); +res += mat4(-0.0563997998833656,-0.2057088613510132,0.1763602644205093,0.8703269958496094,-0.0177724920213223,0.3830640614032745,-0.0683283954858780,0.6795098781585693,0.2762976884841919,0.1239195168018341,-0.4393113255500793,-0.2310952693223953,0.0125381853431463,0.1744433194398880,0.1020421013236046,-0.2529702782630920) * FEATURE2_texOff(vec2(-1,0)); +res += mat4(0.2566922307014465,0.4717541038990021,-0.2663963735103607,-0.2526082992553711,-0.1143780574202538,0.2739281058311462,0.0537307523190975,0.3152118325233459,0.3445367217063904,-0.0012370349140838,0.1016864702105522,-0.2253527641296387,-0.0035550640895963,-0.4149434268474579,-0.2514138221740723,0.0322588421404362) * FEATURE3_texOff(vec2(-1,0)); +res += mat4(-0.2215952426195145,-0.0110388817265630,-0.2461408078670502,-0.4067878723144531,-0.5773093104362488,0.5065827965736389,-0.6598036289215088,-0.0595017410814762,0.4899374246597290,0.2303059250116348,-0.4807002842426300,0.7196635603904724,0.4076787829399109,-0.0242379792034626,-0.1136177778244019,-0.1848805695772171) * FEATURE4_texOff(vec2(-1,0)); +res += mat4(-0.0076391175389290,-0.2041926831007004,0.7404879927635193,0.0289287958294153,0.0456222109496593,0.0330134965479374,0.3433131873607635,-0.0810455009341240,-0.1985356509685516,-0.5179297924041748,0.4881610572338104,0.0078276675194502,0.0087746055796742,-0.1056760698556900,0.2095190286636353,0.7285584807395935) * FEATURE1_texOff(vec2(-1,1)); +res += mat4(0.1195456460118294,0.0032121676485986,-0.5120199918746948,-0.5298866033554077,-0.0995549932122231,0.1369630396366119,-0.1829387843608856,0.2486933171749115,-0.0488051250576973,0.2010894566774368,0.2991284132003784,-0.0388986207544804,-0.0002756736357696,-0.1491157859563828,-0.0484132729470730,-0.1802987605333328) * FEATURE2_texOff(vec2(-1,1)); +res += mat4(-0.0290505327284336,-0.5906178951263428,0.4409755766391754,0.0070458007976413,0.0482775717973709,0.2681422531604767,-0.1142541691660881,-0.3494954705238342,-0.1452796012163162,-0.1575714498758316,-0.2524724602699280,-0.1038879528641701,0.0732139572501183,0.2315133512020111,0.1530150920152664,0.0840636864304543) * FEATURE3_texOff(vec2(-1,1)); +res += mat4(-0.0325694419443607,-0.2112122029066086,0.2012213468551636,0.2090254873037338,0.1002777218818665,0.0359562151134014,0.2956393063068390,-0.0423515550792217,-0.1421563923358917,-0.2423527091741562,0.0935527235269547,0.3131506443023682,-0.0729856491088867,0.0598148182034492,-0.4247841238975525,-0.8078673481941223) * FEATURE4_texOff(vec2(-1,1)); +res += mat4(-0.2672279477119446,0.0677437037229538,-0.3512685596942902,-0.1972570568323135,0.0390892066061497,0.0446520186960697,-0.0022914779838175,0.3543418049812317,-0.4907896816730499,-0.3693255484104156,-0.0339384861290455,0.0572401657700539,0.3714402318000793,0.0966239944100380,-0.2475168853998184,0.5476519465446472) * FEATURE1_texOff(vec2(0,-1)); +res += mat4(-0.8543110489845276,-0.0671872422099113,-0.0705442354083061,0.1570529192686081,0.0825821384787560,0.2611544132232666,-0.1222487613558769,0.1643241792917252,0.1565754264593124,-0.0417577736079693,0.2425020486116409,0.1290563046932220,0.0018513374961913,0.0828469917178154,0.0405366159975529,-0.0648405849933624) * FEATURE2_texOff(vec2(0,-1)); +res += mat4(0.6323528885841370,0.2739350795745850,-0.2666106224060059,-0.7200468182563782,-0.1899063885211945,-0.6205863952636719,0.0421243421733379,0.3463516235351562,0.1843721121549606,-0.2456515282392502,0.4096761643886566,-0.2125853598117828,0.3226993083953857,-0.1005071029067039,-0.4462574124336243,0.1020871326327324) * FEATURE3_texOff(vec2(0,-1)); +res += mat4(-0.2349889576435089,-0.0292534027248621,-0.0411632061004639,0.4069747030735016,-0.3070210218429565,-0.4162268042564392,0.4625560045242310,0.5024183392524719,-0.5629498958587646,0.1867086291313171,0.3565312922000885,-0.1979124397039413,-0.2834521234035492,0.2735725045204163,0.3703005015850067,-0.0476065389811993) * FEATURE4_texOff(vec2(0,-1)); +res += mat4(-0.1110515445470810,-0.0889210999011993,0.5447590947151184,0.5599544644355774,0.0503268949687481,0.5344191193580627,-0.8062646985054016,-0.0667447745800018,-0.6623851656913757,-0.5459131598472595,1.5236161947250366,-0.0879496559500694,-0.0745205506682396,-0.0589255765080452,1.3849964141845703,-0.6337348222732544) * FEATURE1_texOff(vec2(0,0)); +res += mat4(-1.5323712825775146,-0.0780734047293663,0.6519567370414734,0.3739070892333984,0.3757006227970123,0.9047968387603760,-0.0571847669780254,0.4038882553577423,-0.1069322824478149,-0.2172508686780930,0.5056326389312744,1.2829581499099731,-0.1444370597600937,0.5224547386169434,-0.0722906515002251,0.0795549526810646) * FEATURE2_texOff(vec2(0,0)); +res += mat4(-0.6640521883964539,0.5300254225730896,-0.0877570062875748,0.4579716026782990,0.8427389264106750,0.1519258320331573,-0.4424907565116882,-1.1069610118865967,-0.5535061359405518,0.0053214239887893,-0.7151303887367249,-0.4114071726799011,-0.5903876423835754,0.1780086755752563,0.5006626248359680,-1.5713576078414917) * FEATURE3_texOff(vec2(0,0)); +res += mat4(-0.9901613593101501,0.5854467749595642,-0.4626945555210114,-1.4144535064697266,0.4928303956985474,-0.5428397655487061,0.2632802724838257,0.3861836194992065,1.4645655155181885,0.8884012699127197,-0.5033279061317444,-0.3723740577697754,-0.2988887429237366,0.2345651835203171,-0.5706858038902283,0.6728245615959167) * FEATURE4_texOff(vec2(0,0)); +res += mat4(0.3330448865890503,-0.0112070143222809,0.0356724001467228,-0.6474183797836304,0.0812799334526062,0.0869863256812096,-0.3065863847732544,0.4735077917575836,-0.0033763803075999,0.0593322105705738,-0.6203757524490356,-0.5629683732986450,-0.0974204465746880,0.4720092117786407,0.0359686203300953,0.0232102889567614) * FEATURE1_texOff(vec2(0,1)); +res += mat4(0.0082539124414325,0.3939676284790039,-0.0776229128241539,-0.2679301202297211,0.0027645381633192,-0.0417950749397278,0.0923903882503510,0.1083738878369331,0.0481295213103294,-0.0261830873787403,-0.1667288690805435,-0.3122136890888214,-0.0156238935887814,0.0977522209286690,0.0455260388553143,0.1199765577912331) * FEATURE2_texOff(vec2(0,1)); +res += mat4(0.0047927461564541,-0.2047413140535355,0.1119864657521248,-0.0603350065648556,-0.2410678416490555,-0.0583524815738201,0.5357083678245544,0.2207382619380951,0.0469230078160763,0.5270653963088989,-0.1780998557806015,-0.1674558818340302,0.1456317305564880,-0.0401461794972420,0.0933937430381775,0.6531956195831299) * FEATURE3_texOff(vec2(0,1)); +res += mat4(0.0811188220977783,0.1855691522359848,0.5768072009086609,0.6195318102836609,-0.1750047355890274,-0.0456597469747066,0.0544740520417690,0.0523158796131611,-0.1887115687131882,-0.0920856148004532,0.2902313172817230,0.1041692793369293,0.1448101103305817,-0.2443434298038483,0.0036924448795617,-0.2103126198053360) * FEATURE4_texOff(vec2(0,1)); +res += mat4(0.2381375432014465,0.0663627311587334,0.2335012406110764,-0.4627820551395416,0.0784997120499611,-0.0597434937953949,-0.4166316390037537,0.0074965548701584,0.3907958269119263,0.1916564106941223,-0.2059002667665482,0.4835616052150726,-0.1457022279500961,-0.1120766475796700,0.2817732691764832,-0.2332912832498550) * FEATURE1_texOff(vec2(1,-1)); +res += mat4(0.0222312137484550,-0.0120648341253400,-0.0721819549798965,0.3582895100116730,0.0691022127866745,0.1871034353971481,-0.2465584874153137,0.0685276314616203,-0.2311962693929672,0.1878426522016525,0.2817679941654205,-0.4235020875930786,0.0142014203593135,-0.0222091376781464,-0.0658412203192711,-0.0145346689969301) * FEATURE2_texOff(vec2(1,-1)); +res += mat4(-0.3453203439712524,-0.2888496816158295,0.0926567688584328,-0.2852761745452881,0.1101823970675468,0.1956752538681030,-0.2150241434574127,0.1415577530860901,0.0338111296296120,0.2003097236156464,-0.4137915968894958,0.1386701911687851,0.1041650995612144,-0.2015049159526825,0.0317280702292919,-0.1441253572702408) * FEATURE3_texOff(vec2(1,-1)); +res += mat4(0.1853863447904587,-0.0027557848952711,0.3130645453929901,-0.2007332146167755,0.1552875041961670,0.2765832543373108,-0.0549829043447971,-0.4224346280097961,0.0121838003396988,-0.3931493163108826,-0.0699725449085236,-0.3622962236404419,0.0923926681280136,-0.0462332814931870,-0.5720705389976501,-0.5957081913948059) * FEATURE4_texOff(vec2(1,-1)); +res += mat4(-0.1048749312758446,0.3038594424724579,0.0877718999981880,-0.5723592638969421,0.1507204025983810,-0.2664858698844910,0.4885557293891907,-0.0462419800460339,-0.1107062175869942,-0.0146323684602976,0.0514640919864178,-0.4875652790069580,0.0883469134569168,-0.2287716269493103,-0.0465135686099529,0.2910905480384827) * FEATURE1_texOff(vec2(1,0)); +res += mat4(0.0466432012617588,0.0349049381911755,0.1494108885526657,0.1739636659622192,0.0478214323520660,0.2432070374488831,-0.0177862383425236,-0.0793354362249374,-0.1829998195171356,0.1144796311855316,0.0297554768621922,0.2117564082145691,-0.0676111206412315,-0.0684614256024361,0.1142124012112617,-0.0069754370488226) * FEATURE2_texOff(vec2(1,0)); +res += mat4(0.1866484284400940,-0.1311591118574142,-0.0755611211061478,-0.1545641869306564,-0.1843944787979126,-0.3941308557987213,0.1287009268999100,-0.5104728937149048,0.0809461697936058,-0.0393850989639759,0.5790613889694214,0.1231456026434898,0.2869783937931061,-0.0183582436293364,-0.0692270994186401,0.2544916272163391) * FEATURE3_texOff(vec2(1,0)); +res += mat4(-0.0310170222073793,0.4162579774856567,-0.1859597861766815,-0.5479277968406677,0.3031933009624481,-0.0237672720104456,-0.2337787002325058,-0.4088483750820160,0.3291740715503693,0.3458972871303558,0.2511204481124878,-0.0650157034397125,-0.0741363167762756,0.0105352764949203,0.7500665187835693,-0.0325997248291969) * FEATURE4_texOff(vec2(1,0)); +res += mat4(-0.0696199908852577,-0.0312602259218693,-0.3989183604717255,0.0745669603347778,-0.0644938871264458,-0.2105388045310974,-0.0457618758082390,0.1598308533430099,0.0451122224330902,-0.0662788227200508,-0.2538039088249207,0.5548169016838074,0.0271571110934019,-0.0747818723320961,-0.8167809247970581,-0.5255750417709351) * FEATURE1_texOff(vec2(1,1)); +res += mat4(0.0454585738480091,0.0796022489666939,0.0746575891971588,-0.2704296708106995,0.0789716318249702,-0.1085990220308304,0.0633433163166046,0.0348055623471737,-0.0633753612637520,0.0536539033055305,-0.4138174951076508,0.0117621375247836,0.0342889316380024,0.0145183121785522,-0.0361714251339436,0.0064807245507836) * FEATURE2_texOff(vec2(1,1)); +res += mat4(-0.0557610355317593,-0.2160326540470123,-0.0119402194395661,0.0404285416007042,0.0745694935321808,-0.0587787367403507,-0.2089506536722183,0.3658298552036285,0.0678608715534210,-0.1341597437858582,0.0637727901339531,-0.5492725968360901,-0.0415159165859222,0.1558386832475662,-0.1377484798431396,0.0551406964659691) * FEATURE3_texOff(vec2(1,1)); +res += mat4(-0.0351044386625290,-0.3134496510028839,-0.0776799321174622,-0.5582964420318604,-0.1094810813665390,-0.2420932352542877,0.0866121128201485,-0.0139054777100682,-0.0232693497091532,-0.0878517329692841,-0.1818398535251617,-0.1748342961072922,0.0291870851069689,-0.0635103136301041,0.2051592320203781,0.2843922674655914) * FEATURE4_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(-0.8224552273750305,0.0907779783010483,-0.8194684386253357,0.7123059630393982) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Mapping 2_1 +//!BIND MODEL21 +//!BIND MODEL22 +//!BIND MODEL23 +//!BIND MODEL24 +//!SAVE MODEL1 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.1821142584085464,0.2680435180664062,0.0072256801649928,-0.1534767448902130); +res += mat4(0.1567186117172241,0.1995420008897781,0.3876445293426514,-0.0657437443733215,-0.2419036328792572,-0.0437269136309624,-0.2063243538141251,-0.0750159919261932,0.7670885920524597,0.0008573648519814,-0.1210522502660751,0.0726916193962097,0.1269507706165314,0.0502357371151447,-0.0651772618293762,0.0675387755036354) * MODEL21_texOff(vec2(-1,-1)); +res += mat4(-1.3524439334869385,0.3195005059242249,0.1917120516300201,0.1658273935317993,0.0782139450311661,0.0182677172124386,0.0383682511746883,-0.0341160148382187,0.0195416361093521,0.1128480508923531,-0.1998605728149414,0.2079982757568359,-0.2893924117088318,0.0977299958467484,-0.2218614667654037,-0.0945199429988861) * MODEL22_texOff(vec2(-1,-1)); +res += mat4(0.0076252417638898,-0.0967269837856293,0.3000745773315430,0.4004792869091034,-0.0856744647026062,0.0516689606010914,-0.0221493914723396,0.0029376018792391,0.4413319826126099,0.0865859538316727,-0.1825978457927704,0.1487386226654053,-0.3030017316341400,0.1085127368569374,-0.0123953092843294,-0.1547867208719254) * MODEL23_texOff(vec2(-1,-1)); +res += mat4(-0.8065760731697083,-0.0367696434259415,0.0877586156129837,-0.0537286400794983,-0.0701612755656242,-0.1005082055926323,0.0130320955067873,0.1380047053098679,0.1492499262094498,-0.1195761263370514,-0.1748647242784500,0.1239927485585213,-0.4883742034435272,0.0717922672629356,0.0781278908252716,-0.0129398517310619) * MODEL24_texOff(vec2(-1,-1)); +res += mat4(0.0333379022777081,-0.2495142370462418,-0.2084558606147766,0.0531433485448360,0.0851450264453888,-0.2658228576183319,0.1058013588190079,-0.4307983219623566,0.1927942186594009,0.2174018770456314,0.0456488057971001,0.3917725980281830,0.8125612139701843,0.3295940160751343,-0.4563819169998169,-0.0668170005083084) * MODEL21_texOff(vec2(-1,0)); +res += mat4(-0.1991187632083893,-0.0398979596793652,-0.1471599936485291,-0.1525022089481354,0.2197243869304657,-0.0161120090633631,-0.0291145816445351,-0.0731005445122719,0.4118004143238068,-0.1268711835145950,0.1246666610240936,0.0325524769723415,-0.4228635430335999,0.0653037428855896,0.9307349920272827,-0.3417280912399292) * MODEL22_texOff(vec2(-1,0)); +res += mat4(-0.0911106318235397,-0.1293365806341171,0.2490556836128235,-0.2674607336521149,-0.2140632718801498,-0.0961873531341553,-0.0138489585369825,0.1502670645713806,0.2489348948001862,-0.1887987405061722,0.2666619420051575,-0.1154452785849571,0.0820531323552132,-0.0129997190088034,0.0963720157742500,-0.0252925604581833) * MODEL23_texOff(vec2(-1,0)); +res += mat4(-1.3609907627105713,-0.0742893442511559,-0.0125409606844187,-0.0056720492430031,0.0778579562902451,0.0618307478725910,0.1911646276712418,0.0333926491439342,0.6612700819969177,-0.0953298956155777,-0.2552929818630219,0.1396622061729431,-0.1745201647281647,0.0346113406121731,0.1850840449333191,0.0185419023036957) * MODEL24_texOff(vec2(-1,0)); +res += mat4(-0.3591235578060150,0.2359590530395508,-0.2886492311954498,0.0527037158608437,-0.1544393002986908,0.0854820013046265,0.1401815116405487,-0.1968982666730881,-0.1077311411499977,-0.0662739872932434,0.0243663974106312,-0.0608084313571453,-0.1768577247858047,0.0570018291473389,0.2061744332313538,0.0576052591204643) * MODEL21_texOff(vec2(-1,1)); +res += mat4(-0.0572265945374966,-0.0552289001643658,0.1011031270027161,0.1035296767950058,-0.0300345961004496,-0.1117853671312332,-0.0263337921351194,0.0094234542921185,0.1769479662179947,-0.0179979670792818,0.1946553289890289,-0.0712494775652885,-0.2151643931865692,-0.0934141129255295,-0.4591092169284821,0.1333216726779938) * MODEL22_texOff(vec2(-1,1)); +res += mat4(-0.0737016946077347,-0.1227276995778084,-0.1683048903942108,-0.0236847456544638,0.1358708888292313,0.0047147679142654,-0.0391176939010620,-0.1973716020584106,0.0702386870980263,0.0448955483734608,-0.0558337457478046,-0.0901165679097176,-0.2186353653669357,0.0084573915228248,0.0841164141893387,0.0704563483595848) * MODEL23_texOff(vec2(-1,1)); +res += mat4(0.0492553226649761,-0.0671901404857635,0.0388167165219784,-0.0680868476629257,0.1270323693752289,-0.0159644298255444,-0.1079521402716637,0.0222510322928429,0.3358281254768372,-0.1708553582429886,-0.1252177208662033,0.0763640031218529,0.1933518797159195,-0.0705295801162720,-0.3656790852546692,-0.0959990024566650) * MODEL24_texOff(vec2(-1,1)); +res += mat4(-0.1263016015291214,0.0133211184293032,0.0842036530375481,0.0142416367307305,-0.1877359002828598,-0.3686734437942505,-0.0018322402611375,0.1556163281202316,-0.2742095887660980,0.1279869675636292,0.1694325655698776,-0.0867729112505913,0.0498056113719940,0.1580689102411270,-0.1015132665634155,-0.1334203332662582) * MODEL21_texOff(vec2(0,-1)); +res += mat4(-0.3412644565105438,0.3071808218955994,0.1298775672912598,-0.0151394074782729,-0.1365107297897339,0.0794544816017151,-0.0338835604488850,-0.1141469553112984,0.0488405674695969,-0.1304851919412613,-0.0011596791446209,-0.0413838326931000,-0.1392471194267273,-0.3956683278083801,0.4911434948444366,0.0361462570726871) * MODEL22_texOff(vec2(0,-1)); +res += mat4(0.2449082285165787,-0.4345789253711700,0.4849193692207336,0.8864058256149292,-0.2164106816053391,-0.0341735631227493,0.1066467314958572,0.1131146848201752,0.0052013010717928,-0.6583964228630066,0.2482749819755554,-0.2270440012216568,-0.4508041441440582,0.0308938957750797,-0.1488518714904785,-0.3525811433792114) * MODEL23_texOff(vec2(0,-1)); +res += mat4(-1.1301820278167725,-0.1139227300882339,-0.0902033075690269,-0.0815369635820389,-0.6447158455848694,0.0044209216721356,0.3049816191196442,-0.1885408312082291,0.2548591196537018,-0.1266584843397141,-0.1311751753091812,0.4100277423858643,0.5975887179374695,0.0288057103753090,-1.0636798143386841,0.0248462166637182) * MODEL24_texOff(vec2(0,-1)); +res += mat4(0.2010120749473572,-1.2808847427368164,-0.7578352689743042,0.1681615263223648,-0.1318595111370087,0.2353363186120987,0.0309769660234451,-0.1553873419761658,0.4740163087844849,0.1202724725008011,-0.1335061937570572,-0.1300238966941833,0.5667089819908142,-1.3050092458724976,0.3937561810016632,0.0676776319742203) * MODEL21_texOff(vec2(0,0)); +res += mat4(-0.0423373468220234,0.1925407946109772,0.2199071794748306,0.3929440677165985,-0.2842360734939575,-0.0180727411061525,0.1322070807218552,-0.2691322863101959,0.2204505503177643,-0.2613276541233063,0.2861527800559998,0.0240724403411150,0.0266265962272882,-0.0488316640257835,-1.1076385974884033,-0.8230466842651367) * MODEL22_texOff(vec2(0,0)); +res += mat4(0.1157649457454681,-0.5262610912322998,-0.4589408934116364,-0.3231031000614166,-0.1873793303966522,0.1040373072028160,-0.0043132947757840,-0.2475142627954483,-0.4760713875293732,1.0741505622863770,0.3271216154098511,0.3974502682685852,-1.2799012660980225,-0.1491752415895462,-0.0626190677285194,0.3458690643310547) * MODEL23_texOff(vec2(0,0)); +res += mat4(-1.7880072593688965,-0.2957656979560852,0.2039281576871872,0.8241132497787476,0.4561480879783630,-0.1978895813226700,-0.2962991297245026,-0.4750007390975952,0.2250721603631973,-0.2444366663694382,-0.1919652819633484,0.3538269996643066,-0.2579703032970428,-0.0596731863915920,0.4506496787071228,-0.0758553668856621) * MODEL24_texOff(vec2(0,0)); +res += mat4(-0.2363123893737793,-0.2024950683116913,0.4612375795841217,0.0570622235536575,0.0881865248084068,-0.0166694410145283,0.2792043387889862,0.4196121394634247,-0.1977110058069229,-0.2585518658161163,-0.1096482425928116,-0.1421143114566803,-0.3357407450675964,0.4351834952831268,0.0629108995199203,0.0411290898919106) * MODEL21_texOff(vec2(0,1)); +res += mat4(-0.0054646912030876,-0.0600186586380005,0.0738468095660210,0.1228874176740646,0.2729446589946747,0.1031413972377777,-0.0801865309476852,-0.0856407806277275,0.1911747008562088,0.1428168565034866,0.0383216328918934,-0.0306113492697477,0.3450233936309814,0.0242073778063059,-0.1353743970394135,0.2545643746852875) * MODEL22_texOff(vec2(0,1)); +res += mat4(0.1516852378845215,0.1281777173280716,0.0495800264179707,0.0709310695528984,0.4112361371517181,-0.1296079009771347,-0.0835521146655083,-0.0831478238105774,0.3761658966541290,-0.0807763114571571,-0.3550937175750732,0.1545328646898270,-0.1909658759832382,0.3049871027469635,-0.2306296229362488,0.5257671475410461) * MODEL23_texOff(vec2(0,1)); +res += mat4(-0.5683341622352600,-0.2224640548229218,-0.1304718255996704,-0.3179947435855865,-0.2497202455997467,0.0933883860707283,-0.0180351864546537,0.3762677609920502,0.4063305258750916,-0.1836601644754410,-0.1099256500601768,0.1693253517150879,0.0693730935454369,-0.1310130953788757,0.5590953826904297,-0.0960289835929871) * MODEL24_texOff(vec2(0,1)); +res += mat4(-0.0448128581047058,0.0955501049757004,-0.0131698353216052,-0.0220590531826019,-0.1163260191679001,-0.1044962033629417,0.2927580773830414,0.0900845080614090,-0.0908898562192917,-0.0140993846580386,-0.1200544610619545,0.0472135804593563,-0.2083983272314072,0.0617266818881035,-0.1182451546192169,0.0665644034743309) * MODEL21_texOff(vec2(1,-1)); +res += mat4(-0.0803786739706993,0.0827859640121460,0.0072462079115212,-0.2093681544065475,-0.1504998654127121,0.1586733907461166,0.0233440455049276,-0.0907380953431129,0.2275118231773376,-0.0361422561109066,-0.1722713708877563,0.0016444522188976,-0.0094037437811494,-0.0401315316557884,0.1533747762441635,0.2347405254840851) * MODEL22_texOff(vec2(1,-1)); +res += mat4(-0.0795541778206825,-0.0415713526308537,-0.5099042057991028,-0.0149333784356713,-0.2474434971809387,-0.0654927119612694,-0.0335343852639198,0.1252077370882034,-0.1952859163284302,0.1456465572118759,-0.0701137110590935,0.0986037403345108,-0.2069234102964401,-0.1180571690201759,-0.0970456451177597,-0.1523316949605942) * MODEL23_texOff(vec2(1,-1)); +res += mat4(-0.2704406976699829,-0.1032495945692062,0.0287192743271589,-0.1506863534450531,-0.0400577299296856,0.2502267658710480,-0.0014179557329044,-0.1011240780353546,0.0739094018936157,-0.1213546693325043,-0.1125583201646805,0.3609499037265778,-0.3276679813861847,0.1689044237136841,0.2304164320230484,-0.0001931495644385) * MODEL24_texOff(vec2(1,-1)); +res += mat4(-0.1978055983781815,0.1357314586639404,0.1586758643388748,-0.0945459157228470,-0.4273775219917297,0.2047612667083740,0.0722427740693092,-0.3048678040504456,0.6182712316513062,-0.1360633820295334,-0.0148682333528996,-0.0552632026374340,0.0355981625616550,0.0679149776697159,0.4708693623542786,-0.0924237072467804) * MODEL21_texOff(vec2(1,0)); +res += mat4(0.1895539909601212,0.0620631873607635,0.1083511039614677,0.0031299949623644,0.0098341582342982,0.1454111188650131,-0.0994552299380302,0.2133522182703018,0.4204807877540588,0.1561957448720932,0.0839771330356598,0.0947130024433136,-0.2763549685478210,0.4134998917579651,-0.3971848785877228,-0.0562333762645721) * MODEL22_texOff(vec2(1,0)); +res += mat4(-0.1201812475919724,-0.0794004648923874,0.2589171230792999,-0.2570854723453522,-0.0500254817306995,-0.1267163306474686,0.0093950657173991,0.2073075473308563,-0.1715992838144302,-0.5256302356719971,-0.0471544377505779,-0.2598889470100403,0.3023664951324463,-0.3980978429317474,0.1450010985136032,-0.1947911083698273) * MODEL23_texOff(vec2(1,0)); +res += mat4(-0.6694424748420715,-0.0984072983264923,-0.0158487502485514,-0.0387963205575943,-0.0327408984303474,-0.1224467456340790,-0.2588094174861908,-0.4945738017559052,-0.0965986251831055,-0.2402145564556122,-0.1900290995836258,0.4495627582073212,0.3433674573898315,0.1855849176645279,0.2503889203071594,0.2258707880973816) * MODEL24_texOff(vec2(1,0)); +res += mat4(-0.1427439004182816,0.0232400503009558,0.0614709183573723,-0.0313369631767273,-0.2033404409885406,0.1010737940669060,-0.3053102195262909,-0.1093115955591202,0.1278154850006104,0.0462433546781540,0.2780232727527618,0.1207928806543350,-0.0630893185734749,0.1609147638082504,-0.3244910240173340,0.0420972406864166) * MODEL21_texOff(vec2(1,1)); +res += mat4(0.0540682710707188,0.0489707849919796,0.1434160768985748,-0.0263705123215914,0.3189105987548828,-0.0194563362747431,-0.0015234283637255,-0.1185838729143143,-0.1406057775020599,-0.0664507374167442,0.1184594258666039,0.0576133131980896,-0.0515225417912006,-0.1751619428396225,0.5659244060516357,-0.1315055191516876) * MODEL22_texOff(vec2(1,1)); +res += mat4(0.0292246416211128,-0.0583971366286278,0.0184998158365488,-0.0616783015429974,-0.1326405405998230,0.0737697705626488,0.0509051755070686,-0.1636607348918915,0.0829640030860901,0.0984901785850525,-0.0760249570012093,-0.0393353812396526,0.1848428100347519,0.0810922980308533,-0.0835731029510498,-0.1527970433235168) * MODEL23_texOff(vec2(1,1)); +res += mat4(0.1098753735423088,-0.1152176111936569,-0.0297945626080036,-0.0429614298045635,0.3004037737846375,-0.0118061201646924,0.0696947872638702,0.2093984186649323,0.1215613707900047,-0.1341927945613861,-0.0733395144343376,0.1597006767988205,0.1582593768835068,-0.1383092254400253,-0.3920480310916901,0.0803317874670029) * MODEL24_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(-0.0138328820466995,0.6884090304374695,-0.3778789639472961,0.0335069037973881) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Mapping 2_2 +//!BIND MODEL21 +//!BIND MODEL22 +//!BIND MODEL23 +//!BIND MODEL24 +//!SAVE MODEL2 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.1488664448261261,-0.3665277659893036,0.2105678319931030,0.2431615889072418); +res += mat4(-0.0209767278283834,-0.3804727494716644,0.0663711279630661,0.1559448540210724,-0.7823102474212646,0.0327561274170876,0.0540102683007717,-0.1310726553201675,0.1931789815425873,-0.1646288931369781,0.1219010725617409,0.0445458665490150,0.0016282304422930,0.0971931293606758,0.1857922673225403,-0.1043798327445984) * MODEL21_texOff(vec2(-1,-1)); +res += mat4(0.4213770925998688,0.4195652604103088,-0.7362828254699707,-0.0048468001186848,0.0455092750489712,0.0810072496533394,0.0412613227963448,0.1747123897075653,-0.1279432028532028,-0.1154062822461128,-0.1147719696164131,-0.3269986212253571,-0.1911139041185379,0.0527008846402168,-0.0984842479228973,-0.1479913443326950) * MODEL22_texOff(vec2(-1,-1)); +res += mat4(-0.0879788175225258,-0.3954658508300781,0.2055625319480896,0.3015489578247070,0.1120360046625137,-0.1616907417774200,0.0821904093027115,-0.0118853077292442,-0.0370529182255268,0.0719115212559700,-0.1579851806163788,-0.3017398118972778,-0.0244198907166719,0.0105502773076296,-0.0938296243548393,0.0975423976778984) * MODEL23_texOff(vec2(-1,-1)); +res += mat4(-0.0093844309449196,0.0437207221984863,0.0675221458077431,0.1927775293588638,0.2635573446750641,0.2475218921899796,0.0567236356437206,0.0603825785219669,0.1537563800811768,0.0857703611254692,0.2134899497032166,-0.4813969731330872,-0.1290699839591980,0.2495704889297485,0.2372044026851654,-0.0117452535778284) * MODEL24_texOff(vec2(-1,-1)); +res += mat4(0.4083919525146484,0.1783591061830521,-0.0956984385848045,-0.2499091178178787,-1.7284232378005981,-0.4100556671619415,0.1243892982602119,0.0198476538062096,0.2060415297746658,-0.0525438860058784,-0.1886686235666275,-0.0174900069832802,-0.2235226035118103,-0.3373796939849854,-0.2612507343292236,-0.0146219292655587) * MODEL21_texOff(vec2(-1,0)); +res += mat4(0.1432350128889084,0.5602362751960754,-0.5797067284584045,0.2074658870697021,0.0187970548868179,0.0178430322557688,0.0442645438015461,0.0339028500020504,-0.4133535623550415,-0.0538620986044407,0.0512013956904411,0.2325866669416428,0.0893165320158005,-0.3604934513568878,-0.1180035024881363,0.0262325238436460) * MODEL22_texOff(vec2(-1,0)); +res += mat4(0.2469130605459213,0.4839991331100464,0.2031589746475220,-0.2946717739105225,-0.1321040540933609,-0.2264211177825928,0.2053416073322296,0.0078430837020278,0.1857969164848328,-0.2007324248552322,0.0725167244672775,0.1926081627607346,0.2548782527446747,0.0827651545405388,0.2406112551689148,-0.0407047085464001) * MODEL23_texOff(vec2(-1,0)); +res += mat4(0.0828146636486053,0.0865400582551956,0.1932517141103745,0.2175391018390656,0.1142690703272820,0.1374290436506271,0.0615031346678734,-0.0207381490617990,0.1915358901023865,-0.0319920741021633,0.0051920590922236,-0.9361169934272766,0.0073183747008443,0.1199636980891228,-0.0483770743012428,-0.1557808965444565) * MODEL24_texOff(vec2(-1,0)); +res += mat4(0.0676551461219788,0.0048673334531486,-0.1837492138147354,0.4258618056774139,-0.5135343074798584,-0.3120350241661072,-0.0071885827928782,-0.0406319499015808,-0.2463573515415192,0.1431833654642105,0.1748166233301163,-0.0105671910569072,-0.0699452683329582,0.1292552053928375,-0.0014936180086806,0.0179299116134644) * MODEL21_texOff(vec2(-1,1)); +res += mat4(0.2675818502902985,0.2416653037071228,-0.2863791882991791,0.2014812082052231,0.0785021260380745,0.0527739636600018,0.0860331654548645,-0.0324266068637371,-0.1051566079258919,0.1046611443161964,-0.0194833986461163,-0.3063759803771973,-0.0681753531098366,-0.0490408688783646,0.2593856453895569,0.2360491454601288) * MODEL22_texOff(vec2(-1,1)); +res += mat4(0.0276840645819902,-0.1336680799722672,0.0120388455688953,0.0228763688355684,-0.0438108332455158,-0.0796145349740982,-0.0109203783795238,-0.0991106778383255,0.0081140063703060,-0.1780876815319061,0.0395902618765831,0.3544999063014984,0.3345801234245300,0.2487742155790329,0.1700582355260849,0.2577689290046692) * MODEL23_texOff(vec2(-1,1)); +res += mat4(-0.0195066519081593,-0.0057190088555217,-0.0528206415474415,0.0456047132611275,0.2927095592021942,-0.0287597328424454,-0.0689215958118439,-0.0735881552100182,0.2405999749898911,0.0682441517710686,0.0884225219488144,-0.7075817584991455,-0.0792603269219398,0.0144493831321597,-0.0936887264251709,0.0407843478024006) * MODEL24_texOff(vec2(-1,1)); +res += mat4(0.2638292014598846,0.1321179270744324,-0.3282649219036102,0.1449954211711884,-0.1059715524315834,-0.4213337600231171,0.0888387262821198,0.0785648524761200,0.5093721151351929,0.2934474349021912,0.2116974741220474,0.1434847712516785,0.0233318489044905,0.0169317442923784,-0.3048302829265594,0.3552511930465698) * MODEL21_texOff(vec2(0,-1)); +res += mat4(-0.0006108223460615,-0.8525040149688721,0.2292312681674957,0.0670521706342697,0.1908545941114426,0.1113816425204277,0.0131995510309935,0.4049734771251678,-0.1704349219799042,-0.1992454230785370,0.1286296993494034,-0.4365665912628174,0.5170667171478271,-0.2130605578422546,-0.3376957476139069,0.2425667643547058) * MODEL22_texOff(vec2(0,-1)); +res += mat4(2.6007122993469238,-0.4045737981796265,0.2440708875656128,-0.6878179907798767,-0.1587067693471909,-0.0362795069813728,-0.2442864775657654,-0.1149008274078369,-0.0489179715514183,-0.0458397902548313,0.1453526914119720,0.3821898400783539,-0.2518219053745270,0.0271638035774231,0.1576943546533585,-0.0347718335688114) * MODEL23_texOff(vec2(0,-1)); +res += mat4(-0.2895047068595886,-0.2282049357891083,0.2446162104606628,0.1061088964343071,0.0080963568761945,-0.0599781461060047,-0.3279895484447479,0.0812600925564766,0.1272254437208176,0.0560115240514278,-0.1846324354410172,-0.9808861017227173,-0.1482340842485428,0.8221842646598816,0.0221485923975706,0.0719476789236069) * MODEL24_texOff(vec2(0,-1)); +res += mat4(0.0339426398277283,0.5930976867675781,0.2564468383789062,0.1119002699851990,0.8898367881774902,-0.6156752109527588,0.1269108504056931,-0.2929377555847168,1.0610867738723755,-0.3349628746509552,-0.4281881153583527,0.0377563461661339,-0.2603005468845367,-0.3311541676521301,1.0532506704330444,-0.7641850113868713) * MODEL21_texOff(vec2(0,0)); +res += mat4(0.2146379500627518,0.2676785290241241,-0.7391330599784851,0.1521523594856262,-0.2685771882534027,0.2021048963069916,0.0981994196772575,0.2597109377384186,-0.4331949949264526,0.3671139180660248,-0.1601590961217880,-0.2596710324287415,-0.1365760862827301,0.3456763625144958,0.0260859876871109,0.1499751359224319) * MODEL22_texOff(vec2(0,0)); +res += mat4(-0.4414543509483337,0.1875744611024857,-0.6906532049179077,0.1743199676275253,-0.6289122104644775,-0.4084732234477997,0.3361287415027618,-0.0457460992038250,0.5822556614875793,0.5126429796218872,0.3484890460968018,-1.2192883491516113,0.4538821578025818,-0.0073624793440104,-0.2771317660808563,-0.2402551472187042) * MODEL23_texOff(vec2(0,0)); +res += mat4(-1.3552881479263306,-0.0462988875806332,-0.9949124455451965,0.3322547674179077,-0.6281521320343018,-1.0690743923187256,0.0267870500683784,0.0392859280109406,0.3305831849575043,-0.0056408219970763,-0.1609006524085999,-1.7105754613876343,-0.3269245028495789,-1.0086795091629028,-0.4690948128700256,0.4611120522022247) * MODEL24_texOff(vec2(0,0)); +res += mat4(0.2988446652889252,0.3127099275588989,0.0188631992787123,-0.1760921627283096,-0.1780847012996674,-0.4430866837501526,-0.2036319524049759,-0.1021577641367912,-0.8201317191123962,0.1630726456642151,-0.0020800509955734,0.0576628297567368,0.1705153137445450,-0.1894215494394302,0.0107206311076880,0.1925764083862305) * MODEL21_texOff(vec2(0,1)); +res += mat4(0.2376920729875565,0.3652732074260712,-0.2681298553943634,-0.0732383355498314,0.1779675185680389,0.0073725385591388,0.1464152187108994,0.2233835905790329,-0.0569469146430492,-0.1233587786555290,0.0616926848888397,-0.1734538525342941,-0.0847201347351074,0.0654263123869896,-0.4428806006908417,-0.0111119458451867) * MODEL22_texOff(vec2(0,1)); +res += mat4(-0.1337117999792099,-0.0917584300041199,-0.3312341570854187,0.1923831552267075,-0.4488549530506134,0.0056631849147379,-0.1590194851160049,0.0815478563308716,0.1391742974519730,0.0849350765347481,0.2781904041767120,-0.0765718370676041,0.3601172864437103,-0.0282259564846754,-0.4200063049793243,0.0093057192862034) * MODEL23_texOff(vec2(0,1)); +res += mat4(-0.4692421853542328,-0.0067639327608049,-0.8812321424484253,0.1007703617215157,0.1055886894464493,-0.1098278909921646,-0.2009087353944778,-0.0958641320466995,0.2970055639743805,0.0348862037062645,0.0272636990994215,-0.9529185891151428,0.1262121647596359,0.1741883754730225,0.0202931892126799,-0.2663290202617645) * MODEL24_texOff(vec2(0,1)); +res += mat4(0.1469807624816895,0.1303935497999191,0.0896321758627892,-0.2362475395202637,0.0948089957237244,-0.0777317211031914,0.2014655768871307,-0.2769223749637604,0.0730939731001854,0.0609405860304832,0.1171776428818703,0.0423140898346901,0.1374751031398773,0.0574923083186150,-0.1033022776246071,-0.0672734901309013) * MODEL21_texOff(vec2(1,-1)); +res += mat4(0.3127930760383606,0.0793014988303185,-0.0861674025654793,-0.1551166921854019,-0.0192798860371113,-0.1602066755294800,0.3099381327629089,0.3853404819965363,0.0630520731210709,-0.2478599399328232,0.1548751145601273,0.1398821473121643,-0.0075504593551159,-0.3303685188293457,0.0874341651797295,-0.5678073763847351) * MODEL22_texOff(vec2(1,-1)); +res += mat4(0.8626602888107300,0.6299208402633667,0.3481609225273132,-0.3566454052925110,0.2352108210325241,0.0871835052967072,-0.1579112708568573,-0.1360978931188583,-0.0546774789690971,0.0105291418731213,0.1289151459932327,-0.2137751281261444,-0.5862585902214050,-0.1872048676013947,0.1039593741297722,-0.1749892830848694) * MODEL23_texOff(vec2(1,-1)); +res += mat4(0.0250483658164740,0.0839775055646896,-0.0152837857604027,0.0708492994308472,0.0369295068085194,0.1913179159164429,0.0859351307153702,0.2727108597755432,0.2288390547037125,0.0523356795310974,0.0111408699303865,-0.8543776273727417,0.1787012219429016,0.0148324538022280,-0.0245518311858177,0.1681433320045471) * MODEL24_texOff(vec2(1,-1)); +res += mat4(-0.0239319372922182,-0.4354290962219238,-0.2683517038822174,-0.1997521072626114,0.4122439026832581,0.1550730317831039,-0.3221629261970520,-0.1298160254955292,0.0950022935867310,0.2507815361022949,-0.0881524011492729,-0.0639841631054878,0.2319356501102448,-0.6966038346290588,-0.0397054664790630,0.4412520229816437) * MODEL21_texOff(vec2(1,0)); +res += mat4(0.1208788603544235,-0.0198400486260653,0.0076595889404416,0.2348303049802780,-1.1361124515533447,-0.4350675642490387,0.0239142440259457,0.3064677715301514,-0.3484390974044800,-0.5301837325096130,0.1611283421516418,0.2733446359634399,-0.2087745666503906,-0.0077716144733131,-0.3304704725742340,0.0962273627519608) * MODEL22_texOff(vec2(1,0)); +res += mat4(-0.0936548337340355,-0.0465661548078060,-0.5533027648925781,0.0699570327997208,-0.4536454379558563,-0.2327289283275604,-0.0652478486299515,0.0300565119832754,-0.2186639010906219,-0.0268815066665411,-0.1598256528377533,0.1521155685186386,0.0351926349103451,0.0382955521345139,-0.0934746935963631,-0.0356465578079224) * MODEL23_texOff(vec2(1,0)); +res += mat4(-0.5175559520721436,-0.2126751840114594,-0.8077430129051208,0.1647069752216339,-0.6812220811843872,0.4328734874725342,0.1401884406805038,-0.0622220039367676,0.1508309245109558,0.1850917786359787,-0.3344543278217316,-1.2550662755966187,0.1219360232353210,0.0785530507564545,0.3424720764160156,0.1394288837909698) * MODEL24_texOff(vec2(1,0)); +res += mat4(0.1494058966636658,-0.0262660067528486,0.1069759577512741,-0.1044483631849289,0.1752733886241913,-0.1177315935492516,-0.1014335229992867,0.0606800317764282,-0.1761364489793777,-0.2150237411260605,-0.0211684145033360,-0.0490109845995903,0.0894560739398003,0.1764076948165894,0.0660840347409248,-0.2252688407897949) * MODEL21_texOff(vec2(1,1)); +res += mat4(0.1909719705581665,0.2775556147098541,0.0468198619782925,0.1209030076861382,0.2390864342451096,0.0357237868010998,0.0170792061835527,0.3361988067626953,0.0989573746919632,-0.0619680508971214,-0.0968791320919991,0.2800474464893341,0.1319000422954559,-0.1231441274285316,0.0501711182296276,0.0618691183626652) * MODEL22_texOff(vec2(1,1)); +res += mat4(-0.1873787045478821,-0.2900189459323883,-0.1443230956792831,-0.0696712806820869,0.0206835996359587,0.1998709142208099,-0.2105196118354797,0.1657706499099731,0.0755774602293968,-0.0921563357114792,-0.0388352870941162,0.0177477933466434,-0.0317857898771763,-0.0110247610136867,0.4244059026241302,-0.2647388577461243) * MODEL23_texOff(vec2(1,1)); +res += mat4(-0.0794162675738335,-0.0399710051715374,-0.6511958837509155,0.0573051460087299,-0.2584303915500641,-0.1717665195465088,-0.0519161112606525,-0.2069894224405289,0.0579880736768246,-0.0119817890226841,-0.0570329166948795,-0.8578505516052246,0.4742889106273651,0.0761649161577225,-0.0809451341629028,0.2192245572805405) * MODEL24_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(-0.0941418558359146,0.3569962680339813,0.1796773225069046,0.1741173118352890) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Mapping 2_3 +//!BIND MODEL21 +//!BIND MODEL22 +//!BIND MODEL23 +//!BIND MODEL24 +//!SAVE MODEL3 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.0066682859323919,0.1202210560441017,0.3046946525573730,0.2505163252353668); +res += mat4(0.0290132965892553,-0.0188452024012804,-0.1533977836370468,-0.1067951619625092,0.1700883209705353,0.0818259268999100,0.0889855772256851,-0.1758281886577606,-0.0270557105541229,-0.1933409571647644,-0.1522650718688965,-0.0245281904935837,-0.0318037793040276,0.0060473526827991,-0.0713956132531166,-0.0529519394040108) * MODEL21_texOff(vec2(-1,-1)); +res += mat4(-0.1215844452381134,-0.1604707986116409,-0.2217374145984650,0.4647205770015717,0.0720433965325356,0.0238498337566853,0.2154294699430466,-0.8106933832168579,-0.0166082810610533,0.0123423933982849,0.2943998873233795,0.2643729746341705,0.2178313732147217,-0.1877526938915253,-0.1607087999582291,0.0817975848913193) * MODEL22_texOff(vec2(-1,-1)); +res += mat4(0.0348120294511318,-0.1505140215158463,0.0392659530043602,-0.0591855719685555,-0.0842739567160606,-0.0755315199494362,-0.0566308349370956,0.1370046138763428,-0.0768655911087990,0.0127081945538521,0.0006222645752132,0.0295355357229710,0.0345451831817627,-0.0244563166052103,-0.0628556981682777,-0.2384018152952194) * MODEL23_texOff(vec2(-1,-1)); +res += mat4(0.0132616572082043,-0.0431224741041660,0.1906826943159103,0.1017528772354126,0.0688100457191467,-0.0935687795281410,0.3243868649005890,-0.0203835107386112,0.0052955681458116,0.0479177162051201,0.1202547252178192,-0.1763626188039780,-0.0186099298298359,0.0209609139710665,0.3737168312072754,-0.1119295731186867) * MODEL24_texOff(vec2(-1,-1)); +res += mat4(0.5388159751892090,-0.2135659754276276,-0.2266898304224014,-0.2475482523441315,0.1198944225907326,-0.4396203756332397,-0.3164595961570740,-0.4326503574848175,0.1382073909044266,0.2324950248003006,0.3956564962863922,0.1629193872213364,0.2198685258626938,0.0606291443109512,-0.2473667860031128,0.1646345555782318) * MODEL21_texOff(vec2(-1,0)); +res += mat4(-0.2376261204481125,-0.3529677093029022,-0.9142848849296570,0.1806028783321381,-0.1755564510822296,-0.1039216816425323,0.1525559425354004,-1.3849759101867676,-0.0138412853702903,-0.1475173383951187,-0.0225327052175999,-0.2495775520801544,-0.2196561694145203,-0.1701721996068954,0.5651873350143433,-0.1366901248693466) * MODEL22_texOff(vec2(-1,0)); +res += mat4(0.1812306195497513,0.2870511710643768,-0.8379774689674377,-0.3259818851947784,0.0109941521659493,0.0240284819155931,0.0813926085829735,-0.2351125031709671,-0.0976382493972778,-0.2823610603809357,-0.2308166474103928,0.2114551961421967,0.0991419255733490,-0.0750869885087013,-0.1149587109684944,0.1740831583738327) * MODEL23_texOff(vec2(-1,0)); +res += mat4(0.1131239160895348,-0.0061346525326371,-1.4211069345474243,-0.4551773071289062,-0.0855798870325089,-0.0124564077705145,-0.2818833887577057,-1.0334341526031494,-0.0967212393879890,0.1651065349578857,0.0023735912982374,0.1059542447328568,-0.0494578145444393,0.2192097008228302,-0.0975484251976013,0.0254097152501345) * MODEL24_texOff(vec2(-1,0)); +res += mat4(-0.4793096184730530,-0.3400304615497589,0.0551011599600315,-0.3136283159255981,0.0980083495378494,0.0143072502687573,-0.0419476479291916,0.1841769665479660,-0.0337203964591026,0.0428854264318943,-0.1797774732112885,-0.0146793983876705,-0.1857822090387344,-0.0159035604447126,0.1136668846011162,-0.0135319530963898) * MODEL21_texOff(vec2(-1,1)); +res += mat4(-0.1619209200143814,-0.3122106194496155,-0.1499443352222443,0.3182814419269562,0.1222203820943832,-0.1094487309455872,-0.1626464426517487,-0.2342467904090881,0.3386610448360443,0.2449438124895096,0.2991871237754822,0.6013329029083252,-0.0282594580203295,0.0483290478587151,-0.3856660127639771,0.0446886047720909) * MODEL22_texOff(vec2(-1,1)); +res += mat4(0.0056901825591922,0.0512946397066116,-0.1859404593706131,0.1390966922044754,0.1050675287842751,0.1182925850152969,-0.0403152741491795,0.0605711564421654,0.1724978089332581,-0.0263700466603041,0.0577792413532734,-0.0812572687864304,-0.2954929471015930,0.0696404129266739,-0.1038054004311562,-0.1730726063251495) * MODEL23_texOff(vec2(-1,1)); +res += mat4(0.0609802417457104,0.3091067373752594,-1.2640422582626343,-0.0934868305921555,0.0553861148655415,0.1677501052618027,-0.1159948334097862,0.0338112302124500,-0.1220021098852158,-0.0119204642251134,0.4659876823425293,-0.1226724609732628,0.0620302595198154,0.0658627673983574,-0.1589452624320984,-0.1176110357046127) * MODEL24_texOff(vec2(-1,1)); +res += mat4(0.1108018830418587,-0.0295175444334745,0.1724258214235306,0.1165243387222290,-0.1271227449178696,-0.0690366327762604,0.0256086662411690,-0.0561957322061062,0.1214720308780670,-0.1521558165550232,-0.3580622076988220,-0.2178569287061691,-0.0343545377254486,-0.0489014983177185,-0.0935015529394150,-0.3787882030010223) * MODEL21_texOff(vec2(0,-1)); +res += mat4(-0.2200368344783783,-0.0983062386512756,0.1177969723939896,0.2765811085700989,0.0608604773879051,-0.0291329734027386,0.3812954127788544,-1.2877732515335083,-0.1201128140091896,-0.3451268374919891,0.2535594403743744,0.5281679630279541,-0.4405971169471741,-0.1572794616222382,0.2344320267438889,0.0894578993320465) * MODEL22_texOff(vec2(0,-1)); +res += mat4(-0.0361681021749973,0.5539910793304443,0.5104171037673950,0.3096115291118622,-0.0892805382609367,0.0291877482086420,0.0916282385587692,0.2968068122863770,0.0921689122915268,0.2749517261981964,-0.4967111945152283,-0.1605041027069092,0.0680588185787201,-0.1536256372928619,-0.4558827877044678,0.5897802114486694) * MODEL23_texOff(vec2(0,-1)); +res += mat4(-0.0047689182683825,-0.2312191873788834,0.0009415594977327,0.2574448585510254,0.1399297416210175,-0.0306464172899723,0.4498404860496521,-0.2827948927879333,-0.0281588006764650,-0.0402123257517815,0.5185984373092651,0.3226799964904785,0.0689876750111580,0.1460169106721878,-0.5434475541114807,-0.5083435177803040) * MODEL24_texOff(vec2(0,-1)); +res += mat4(-0.2525883018970490,0.1703216880559921,-0.4818914532661438,0.4096133112907410,-0.2682815790176392,0.3717361688613892,0.3698177039623260,0.2319176048040390,-0.0655022040009499,0.4077894985675812,0.2445998191833496,-0.0773120895028114,0.5059666633605957,0.8733859658241272,-0.4637008309364319,0.2281443625688553) * MODEL21_texOff(vec2(0,0)); +res += mat4(0.0117727974429727,-0.3128577470779419,-0.2089310139417648,0.5525887012481689,-0.0280407276004553,-0.2635460495948792,-0.4444211721420288,-2.3140270709991455,0.1044904366135597,-0.4133822619915009,0.5928612947463989,-0.2180936783552170,1.1765084266662598,0.5144562721252441,0.4285456836223602,-0.4101267755031586) * MODEL22_texOff(vec2(0,0)); +res += mat4(0.6317111849784851,-0.2674438357353210,-0.4763470888137817,0.2370125800371170,-0.3426514565944672,0.6665347814559937,-0.1387838274240494,0.2744057476520538,-0.4305954575538635,-0.4799051582813263,0.2968683242797852,-0.2656145393848419,-0.0720861256122589,-0.2917108535766602,-0.2012223005294800,0.4298218786716461) * MODEL23_texOff(vec2(0,0)); +res += mat4(0.7652570605278015,-0.4442400932312012,-1.9730776548385620,-0.4957124590873718,-0.4321589171886444,-0.1306711137294769,-0.3108777999877930,0.1393012106418610,-0.3097234070301056,-0.1121014952659607,-0.1184069886803627,0.0876741930842400,-0.2437544167041779,-1.0382152795791626,0.3805285692214966,0.3978357017040253) * MODEL24_texOff(vec2(0,0)); +res += mat4(-0.2273610830307007,-0.1658958941698074,-0.2111845761537552,-0.1289273947477341,0.2267702966928482,0.0840075314044952,-0.1557343006134033,-0.1759068369865417,0.3195409774780273,-0.2773442268371582,-0.3100412487983704,-0.1754461228847504,-0.3303289711475372,-0.3503413498401642,0.2393816858530045,-0.1590999513864517) * MODEL21_texOff(vec2(0,1)); +res += mat4(-0.3217451274394989,-0.1748124808073044,0.3970140218734741,0.2459747195243835,-0.1000586524605751,-0.0321493037045002,-0.3445504605770111,-0.4839210212230682,0.2975541353225708,0.2202562689781189,0.6160834431648254,0.2920646071434021,-0.3151476979255676,-0.1247873678803444,-0.4011890888214111,0.0199267379939556) * MODEL22_texOff(vec2(0,1)); +res += mat4(-0.1417886763811111,0.0123265227302909,-0.2584630250930786,-0.0164458341896534,0.3121669590473175,0.0723152831196785,-0.0524155721068382,0.0893669053912163,0.3630716502666473,0.7337093949317932,-0.4140587449073792,0.0647370442748070,-0.5781412720680237,0.7325563430786133,0.7431692481040955,-0.0231557507067919) * MODEL23_texOff(vec2(0,1)); +res += mat4(-0.0520879700779915,-0.0348345451056957,-1.5661777257919312,0.3947445154190063,0.1748250424861908,-0.1960754543542862,-0.2971701025962830,-0.0221235621720552,-0.1597236245870590,0.0704871267080307,0.0796882435679436,-0.1891844868659973,0.1158331558108330,0.0322225056588650,0.0540029183030128,-0.1276303082704544) * MODEL24_texOff(vec2(0,1)); +res += mat4(0.0334619022905827,0.0928742587566376,-0.1305006146430969,-0.0028848932124674,-0.0838772431015968,-0.0054304334335029,0.1435932815074921,0.1332150846719742,0.0396108888089657,0.0999704077839851,-0.0642382949590683,-0.1394932121038437,-0.0994569361209869,-0.1198409125208855,0.1582884788513184,0.2221760302782059) * MODEL21_texOff(vec2(1,-1)); +res += mat4(-0.1408305019140244,-0.0921994820237160,0.2596518695354462,0.1239631921052933,0.0281823500990868,0.1066832020878792,-0.0844504386186600,-0.0636380910873413,0.0503867603838444,0.0480992868542671,0.2414136976003647,0.2044187188148499,-0.1391227096319199,0.0104366149753332,-0.0188095178455114,0.1703838258981705) * MODEL22_texOff(vec2(1,-1)); +res += mat4(0.0029042097739875,-0.2371903955936432,0.3780680000782013,-0.5323799848556519,0.0140476590022445,-0.1495406031608582,0.2071592658758163,-0.0084102991968393,-0.2589507997035980,-0.0764100030064583,-0.0055115716531873,-0.0274913627654314,-0.0275828577578068,-0.0740682631731033,-0.2882716059684753,-0.4000352919101715) * MODEL23_texOff(vec2(1,-1)); +res += mat4(0.0340863130986691,-0.0282875075936317,0.3615622520446777,-0.0057205650955439,0.1357596814632416,-0.0411523021757603,-0.1364872008562088,-0.0118581736460328,-0.1352293491363525,-0.0483191721141338,0.1568620949983597,0.0946996882557869,-0.0662061497569084,-0.0988727882504463,0.4928822815418243,0.2401342391967773) * MODEL24_texOff(vec2(1,-1)); +res += mat4(-0.1097468510270119,0.1942698657512665,0.0040931529365480,-0.0400064811110497,-0.3087880611419678,-0.2598313987255096,-0.0051750377751887,-0.0650142654776573,0.1402599811553955,0.2281410545110703,0.1578211188316345,0.1005987673997879,0.1452177911996841,0.0173886064440012,0.1351331919431686,0.2313813120126724) * MODEL21_texOff(vec2(1,0)); +res += mat4(0.1577404886484146,-0.0305066294968128,0.2379322499036789,0.0308942031115294,0.0830573365092278,-0.3151981532573700,-0.3253603279590607,0.2475974857807159,0.0443270653486252,-0.0193476825952530,0.1386305242776871,-0.0373829044401646,-0.2579297125339508,-0.1532946974039078,0.2150248140096664,0.4174665212631226) * MODEL22_texOff(vec2(1,0)); +res += mat4(0.1439764350652695,0.3407106995582581,-0.0615493319928646,0.0023591942153871,0.2019049525260925,-0.3147303462028503,0.1363119632005692,-0.2246542721986771,0.1331851333379745,0.0677685439586639,0.1401423066854477,-0.1164609342813492,-0.0428065992891788,-0.1498794257640839,0.3509467840194702,-0.4461643397808075) * MODEL23_texOff(vec2(1,0)); +res += mat4(0.1535163968801498,-0.1193488463759422,-0.1260807812213898,0.3858011662960052,-0.0790592283010483,0.6075788736343384,-0.3078390657901764,-0.1092664450407028,-0.3794676065444946,-0.0701059028506279,0.3518251180648804,0.5549364686012268,0.0932475775480270,0.3079295456409454,-0.1271117478609085,0.2804728448390961) * MODEL24_texOff(vec2(1,0)); +res += mat4(-0.0260474067181349,-0.0398008786141872,0.1998758912086487,-0.1780950576066971,0.0013479664921761,-0.0123051870614290,-0.0901704356074333,-0.1598365753889084,-0.0321404710412025,0.1329830288887024,0.0247267540544271,0.0441971644759178,-0.0566960573196411,0.0255114361643791,0.0987359061837196,-0.1076177731156349) * MODEL21_texOff(vec2(1,1)); +res += mat4(-0.1944607496261597,0.0444287993013859,0.2728273272514343,-0.1345956027507782,-0.2663154602050781,0.0077556986361742,-0.1447391659021378,0.1522699445486069,0.1935738772153854,0.0280280169099569,0.2472678124904633,0.2790086269378662,0.1250506043434143,0.1299894750118256,0.0860879197716713,-0.2023737132549286) * MODEL22_texOff(vec2(1,1)); +res += mat4(0.0107089392840862,0.0757343471050262,0.0578177720308304,0.1139081716537476,-0.0010778970317915,0.0142402015626431,-0.0777464210987091,0.0163372829556465,0.0894660502672195,0.0048105982132256,0.0235740207135677,-0.1469545364379883,-0.2090159952640533,0.0983165726065636,0.0136493127793074,-0.2945146560668945) * MODEL23_texOff(vec2(1,1)); +res += mat4(-0.1292741000652313,-0.1052215844392776,-0.1081540435552597,0.0396977886557579,-0.3071779310703278,-0.1655648797750473,-0.1314524263143539,0.1864617764949799,-0.1990943998098373,0.0167746078222990,0.1467040926218033,-0.1280262768268585,0.0534911192953587,0.0058396384119987,-0.0083683151751757,0.3378030657768250) * MODEL24_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(0.0175827611237764,0.7972076535224915,0.0112308701500297,0.0626640766859055) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Mapping 2_4 +//!BIND MODEL21 +//!BIND MODEL22 +//!BIND MODEL23 +//!BIND MODEL24 +//!SAVE MODEL4 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.2618981599807739,-0.0272141322493553,0.1978147178888321,0.1838742196559906); +res += mat4(0.3203423619270325,-0.2375466823577881,-0.2311870753765106,-0.1404046118259430,-0.1116818562150002,0.0169112384319305,0.0177364815026522,0.1829731315374374,0.2324923574924469,-0.1492699533700943,-0.0345585308969021,-0.0732511207461357,-0.0768176317214966,-0.1181547865271568,-0.0554209016263485,-0.0583907887339592) * MODEL21_texOff(vec2(-1,-1)); +res += mat4(0.0807724073529243,-0.2254235148429871,0.6873410344123840,-0.1763365268707275,-0.1449452489614487,0.0189746413379908,0.2269700616598129,0.0883083790540695,0.0470402911305428,0.6898033022880554,0.1623040437698364,0.1642086803913116,-0.4184429645538330,0.0878895595669746,0.0678840875625610,0.2335358411073685) * MODEL22_texOff(vec2(-1,-1)); +res += mat4(0.2088841348886490,0.7400224208831787,0.3838779926300049,-0.8565384149551392,-0.0261555053293705,0.2415239810943604,0.0058844261802733,0.0311756990849972,-0.0710533335804939,-0.0517776943743229,-0.2189657688140869,-0.1773550063371658,0.1505380868911743,0.0705150812864304,-0.0917380228638649,0.0854334831237793) * MODEL23_texOff(vec2(-1,-1)); +res += mat4(-0.0700366571545601,0.1746245324611664,0.0463343597948551,0.0256793927401304,-0.0146809378638864,-0.1434955447912216,0.2785597741603851,0.2305340021848679,0.1221156194806099,-0.0462324805557728,0.0756224319338799,0.0408317334949970,-0.0351550802588463,-0.1952673196792603,0.1835533678531647,-0.2333324849605560) * MODEL24_texOff(vec2(-1,-1)); +res += mat4(-1.2905079126358032,-0.0528796203434467,0.3968045711517334,-0.4772018492221832,-0.0381646603345871,-0.0249421130865812,-0.1307162493467331,0.1164818927645683,0.4554768502712250,-0.1476756036281586,-0.1412851959466934,-0.0609309300780296,-0.0039473162032664,0.4662524461746216,-0.0444753281772137,0.3187219202518463) * MODEL21_texOff(vec2(-1,0)); +res += mat4(0.1611919701099396,-1.3754422664642334,0.0417292863130569,-0.3652147352695465,-0.7307597994804382,-0.0057830205187201,0.0941176116466522,-0.0242457669228315,-1.2055057287216187,0.8820493221282959,0.2724837958812714,0.4328245222568512,0.0721918717026711,-0.0722622349858284,0.1880809962749481,-0.1931017041206360) * MODEL22_texOff(vec2(-1,0)); +res += mat4(-0.0464881993830204,-0.4977321922779083,0.2844241857528687,-0.1416633129119873,0.2688022851943970,-0.2087855488061905,-0.2219491153955460,0.0513183288276196,0.0243211444467306,0.2198460698127747,0.0974607467651367,0.3570106625556946,0.0461267605423927,0.0820912569761276,0.0386747866868973,0.2782809138298035) * MODEL23_texOff(vec2(-1,0)); +res += mat4(-0.2263965904712677,0.0119835119694471,0.3215164542198181,0.1319056749343872,-0.9058688282966614,-0.4233278334140778,0.1065735742449760,-0.4460813105106354,-0.0695195719599724,-0.2787844240665436,0.1991541534662247,0.0922988504171371,0.0297270491719246,0.1954278051853180,0.0062130275182426,0.0696197226643562) * MODEL24_texOff(vec2(-1,0)); +res += mat4(-0.1804848313331604,-0.5613523125648499,-0.4550373852252960,-0.5635682344436646,-0.1632910370826721,0.1187769919633865,-0.3213490247726440,-0.2689736485481262,0.0472449734807014,0.1680916845798492,0.0901900678873062,0.2972181141376495,0.0242962017655373,0.1103710904717445,0.1173390373587608,-0.0270986035466194) * MODEL21_texOff(vec2(-1,1)); +res += mat4(0.2393277436494827,-0.5017011761665344,0.2169336676597595,0.2137065231800079,-0.3550960719585419,-0.1301461160182953,0.2405073046684265,-0.0257033314555883,-0.1141087263822556,0.2353459596633911,0.5700230598449707,0.3301207125186920,-0.0793050453066826,0.0170175842940807,-0.3630143404006958,0.3265556097030640) * MODEL22_texOff(vec2(-1,1)); +res += mat4(0.1285964548587799,0.1330558210611343,-0.0416678972542286,0.0528282448649406,0.0764098763465881,0.0281098093837500,-0.0382813438773155,0.0310887284576893,0.1230183392763138,-0.2056455612182617,-0.0828496888279915,-0.1691433936357498,0.0903539285063744,-0.1575526893138885,-0.0784928575158119,0.3540493845939636) * MODEL23_texOff(vec2(-1,1)); +res += mat4(-0.1338908225297928,-0.0003932896070182,0.3739605545997620,-0.0032687252387404,-0.1752334982156754,0.0500757656991482,0.0544755123555660,-0.0904007703065872,0.1839655041694641,-0.1541325151920319,0.2571626305580139,0.2349375635385513,-0.0411910004913807,-0.0948274806141853,-0.0947207584977150,-0.0618695616722107) * MODEL24_texOff(vec2(-1,1)); +res += mat4(-0.1735517233610153,-0.1884111762046814,0.2472496628761292,0.1157463118433952,0.2316774278879166,0.0809216573834419,0.2136737406253815,0.4023383557796478,-0.2456857562065125,-0.2026455104351044,-0.0837441384792328,0.0047799651511014,-0.0416668429970741,-0.2348129898309708,0.1912510395050049,0.1240000128746033) * MODEL21_texOff(vec2(0,-1)); +res += mat4(0.0986720994114876,0.2302175909280777,-0.5095402002334595,-0.5116504430770874,-0.0159094277769327,-0.2062777131795883,0.2209034711122513,0.1478719562292099,-0.0936135649681091,-0.1403303742408752,-0.5889059305191040,-0.2721848487854004,0.1495044529438019,-0.1733209639787674,-0.1109227463603020,0.1321036368608475) * MODEL22_texOff(vec2(0,-1)); +res += mat4(0.1583139151334763,0.4662604928016663,0.0749393254518509,1.1870090961456299,0.0149827850982547,0.0499051921069622,0.1296198964118958,-0.4785905480384827,-0.0083293160423636,0.2108646929264069,0.0510768666863441,0.2132322490215302,-0.2477501034736633,-0.0111771719530225,-0.0363363474607468,0.2452402263879776) * MODEL23_texOff(vec2(0,-1)); +res += mat4(0.0317361131310463,0.0770889744162560,0.1376695781946182,0.0397783927619457,0.0544366426765919,-0.3385850191116333,0.1112513169646263,0.3020723164081573,0.0754054486751556,0.2211898416280746,-0.0396015644073486,0.0286546442657709,-0.4639288783073425,0.0985592380166054,-0.1409995257854462,0.3716880381107330) * MODEL24_texOff(vec2(0,-1)); +res += mat4(0.5109571218490601,0.9223093390464783,0.1859842389822006,0.2396878600120544,0.2978311181068420,-0.1416329145431519,-0.2947293519973755,-1.4947435855865479,-0.4519229531288147,0.8225970268249512,0.3091182112693787,-0.9985001087188721,0.1723853051662445,0.5456789731979370,-0.2690940797328949,0.8217062354087830) * MODEL21_texOff(vec2(0,0)); +res += mat4(0.1589053571224213,-0.4827378392219543,-0.4693800210952759,-0.8193519711494446,-0.6941610574722290,-1.5228459835052490,-0.7820520997047424,-0.6704961061477661,-0.2171749472618103,-0.8324849009513855,-2.2413654327392578,-1.5074603557586670,-0.2572051286697388,0.1064953729510307,-0.0056538027711213,-0.5387867093086243) * MODEL22_texOff(vec2(0,0)); +res += mat4(0.0391535386443138,-1.4287612438201904,0.2699595987796783,-0.6650040149688721,-0.0988853499293327,0.4216991662979126,0.0637140348553658,0.2098554670810699,-0.8102505207061768,-0.3652212917804718,0.3275896906852722,-0.3590414524078369,-0.2724997997283936,-0.0883407741785049,-0.2451451420783997,-0.8137302994728088) * MODEL23_texOff(vec2(0,0)); +res += mat4(0.1246679127216339,-0.0300861652940512,0.0997866913676262,-0.6487255692481995,0.3512567579746246,0.8345553874969482,0.7273539900779724,0.4227346777915955,0.2933959662914276,-0.1051366180181503,-0.1759402155876160,-0.0114844748750329,0.4016981720924377,0.4352439641952515,-0.0182086061686277,0.3906862735748291) * MODEL24_texOff(vec2(0,0)); +res += mat4(-0.0691076219081879,0.7181659340858459,-0.3326966464519501,0.2068112790584564,0.0007111207232811,0.5322738885879517,0.2143927067518234,0.9343239665031433,-0.0955833941698074,-0.0449995249509811,-0.0059315729886293,-0.5656683444976807,0.0783866345882416,-0.0487202554941177,-0.1274579018354416,-0.6693290472030640) * MODEL21_texOff(vec2(0,1)); +res += mat4(0.0910984128713608,0.0079865092411637,-0.0134474486112595,0.1073060110211372,-0.1281730532646179,-0.5945880413055420,-0.1750696748495102,-0.0824373885989189,-0.1921980082988739,-0.2417781800031662,-1.2219647169113159,-0.3861470818519592,-0.0197522863745689,-0.0422438420355320,0.1084365025162697,0.4388374388217926) * MODEL22_texOff(vec2(0,1)); +res += mat4(-0.0405590273439884,0.3364722132682800,0.0340287163853645,0.5000361800193787,0.0451833792030811,0.7587022185325623,0.3476577103137970,0.1372276842594147,-0.2742692530155182,0.0497781559824944,0.1567011475563049,-0.1736435443162918,0.0604428462684155,0.0313023664057255,0.1569791436195374,0.0404267311096191) * MODEL23_texOff(vec2(0,1)); +res += mat4(0.0518231056630611,-1.0536848306655884,-0.2377561777830124,-1.3607717752456665,-0.3254396021366119,0.0689994841814041,-0.0591381192207336,0.3321301639080048,0.1006338670849800,0.0672427713871002,0.2957704961299896,0.3493945896625519,-0.0940009951591492,-0.2684634625911713,0.5259480476379395,0.2820456326007843) * MODEL24_texOff(vec2(0,1)); +res += mat4(0.0506687946617603,-0.0672884061932564,-0.0947070345282555,-0.0711966156959534,0.0949534848332405,0.1151713877916336,0.1201184391975403,-0.0314808450639248,-0.0706284120678902,-0.1123861744999886,0.1360195577144623,-0.1103572621941566,0.1085182130336761,0.0715388208627701,-0.2147644609212875,-0.1271135061979294) * MODEL21_texOff(vec2(1,-1)); +res += mat4(0.1458884179592133,-0.0483437515795231,0.1487196981906891,-0.1635223925113678,0.0468507856130600,0.2004905343055725,-0.1661941856145859,-0.1715333908796310,0.0405882000923157,0.1016650348901749,-0.3222144246101379,0.0014929913450032,0.1783287972211838,0.1605405360460281,-0.3112948536872864,-0.2211681008338928) * MODEL22_texOff(vec2(1,-1)); +res += mat4(-0.3449542224407196,-0.2643767893314362,-1.2442095279693604,-0.0055516464635730,-0.0290109291672707,-0.0531168505549431,-0.0100549366325140,-0.0421273186802864,0.0406958609819412,-0.1173181459307671,-0.0954332947731018,0.0343313068151474,-0.1324431598186493,-0.0029157740063965,0.0493107922375202,0.2932595610618591) * MODEL23_texOff(vec2(1,-1)); +res += mat4(0.0597545318305492,0.0579895004630089,0.0330565869808197,0.0266821533441544,0.2274957150220871,-0.1440460830926895,0.0706733837723732,0.1258082687854767,-0.0238740332424641,0.1669197678565979,0.2824452519416809,0.1991728842258453,0.2431868016719818,-0.0821011215448380,-0.0380413234233856,-0.2547401785850525) * MODEL24_texOff(vec2(1,-1)); +res += mat4(-0.0514334328472614,-0.1075393334031105,0.6129282116889954,0.3304093182086945,0.0418562963604927,-0.3380452394485474,-0.1095468625426292,-1.1982278823852539,-0.0091031938791275,-0.3492802083492279,-0.0715793222188950,0.0283715836703777,0.1627623736858368,-0.2478841841220856,-0.1275325268507004,0.0753507539629936) * MODEL21_texOff(vec2(1,0)); +res += mat4(0.0710584446787834,-0.0795726478099823,0.1102423667907715,0.1615608930587769,0.0400473400950432,-0.1247625201940536,-0.8664048910140991,-1.4803600311279297,0.0598112307488918,0.2241897135972977,-1.6030251979827881,-0.1858558803796768,-0.0049995915032923,-0.2061183005571365,0.0831907689571381,-0.3442726135253906) * MODEL22_texOff(vec2(1,0)); +res += mat4(-0.1566273719072342,-0.3271358907222748,-0.4640483856201172,-0.2436946779489517,-0.0301623810082674,-0.4387421607971191,-0.4622590243816376,-0.1521215885877609,0.0995048359036446,0.2005099803209305,0.0182304996997118,0.1740360558032990,-0.2895718812942505,0.3530801534652710,-0.4486841559410095,-0.9784322381019592) * MODEL23_texOff(vec2(1,0)); +res += mat4(-0.0021386719308794,0.1484365910291672,-0.2306481152772903,-0.2454898208379745,-0.0255514066666365,0.0938307866454124,-0.0233576018363237,0.2101462483406067,0.1627648919820786,0.1235651299357414,0.0506546199321747,0.0221781507134438,0.4662755429744720,-0.2199778258800507,-0.6283662915229797,0.0379081666469574) * MODEL24_texOff(vec2(1,0)); +res += mat4(-0.0182653721421957,0.1785921901464462,0.1522493362426758,0.1736439168453217,-0.0319013446569443,0.1207593083381653,-0.3337399065494537,0.4353213012218475,0.0712353736162186,0.1208399757742882,-0.1030251830816269,0.0402180440723896,-0.1057578176259995,-0.1592700779438019,0.0997642651200294,-0.5390369296073914) * MODEL21_texOff(vec2(1,1)); +res += mat4(0.0597565993666649,0.1085522696375847,0.1351424455642700,0.1795979589223862,0.0740121901035309,-0.4540854692459106,-0.4426850378513336,-0.3672344982624054,0.0618441253900528,-0.0444655306637287,-0.5309899449348450,-0.3420858085155487,0.1326380372047424,0.0735115706920624,0.3639954626560211,0.5657085180282593) * MODEL22_texOff(vec2(1,1)); +res += mat4(-0.0113841835409403,-0.1627709716558456,0.0593168660998344,-0.1079842969775200,0.0340214520692825,-0.2508184015750885,-0.1898239850997925,0.0072992448695004,-0.1270765513181686,0.0241425670683384,-0.1750517189502716,0.0232428964227438,-0.1698446720838547,0.0585229583084583,0.4057764112949371,-0.0506146699190140) * MODEL23_texOff(vec2(1,1)); +res += mat4(-0.0771756023168564,0.0903209969401360,0.0408543720841408,-0.5892044901847839,0.0189124587923288,0.5071246027946472,0.0599331595003605,-0.0512724369764328,0.0913599580526352,0.0496477931737900,0.1396266967058182,0.1325918883085251,0.2898302078247070,-0.1028916388750076,0.0570955872535706,-0.3936383128166199) * MODEL24_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(-0.0671599730849266,0.2514712214469910,0.0454521626234055,-0.1015913039445877) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Mapping 3_1 +//!BIND MODEL1 +//!BIND MODEL2 +//!BIND MODEL3 +//!BIND MODEL4 +//!SAVE MODEL21 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0939240753650665,0.1070799157023430,-0.4192370474338531,-0.2009796947240829); +res += mat4(0.1766631752252579,-0.1148459315299988,0.1303748786449432,0.1874862164258957,0.0400640964508057,0.0249448716640472,0.0479296818375587,-0.0451686643064022,0.0400613583624363,0.0721665620803833,0.0162833929061890,0.1299638748168945,-0.1976952701807022,0.1583755314350128,-0.0451218150556087,0.0093258330598474) * MODEL1_texOff(vec2(-1,-1)); +res += mat4(-0.0646747574210167,-0.1131666302680969,0.0774783194065094,-0.1875849664211273,0.1489513665437698,0.0614610463380814,0.0551691800355911,-0.2633447945117950,-0.1215979605913162,0.1179030388593674,0.1464152485132217,0.1342537403106689,-0.1263999640941620,0.0371266864240170,-0.0571325086057186,-0.0951198637485504) * MODEL2_texOff(vec2(-1,-1)); +res += mat4(0.1455701142549515,0.0904433131217957,0.1709385812282562,0.0677307099103928,-0.0468935593962669,-0.0356049574911594,-0.1504066586494446,-0.0919781476259232,-0.0795241743326187,0.0195050779730082,-0.0061774053610861,-0.0350675992667675,0.1814181804656982,0.0052565839141607,0.1122208908200264,-0.0216086618602276) * MODEL3_texOff(vec2(-1,-1)); +res += mat4(0.2275224328041077,-0.1887758970260620,-0.0591825507581234,-0.0255115255713463,0.1821129769086838,-0.0972185358405113,0.1868964433670044,0.0663591623306274,-0.0951612070202827,-0.1931359469890594,-0.1538779437541962,-0.0970020219683647,0.0220909640192986,-0.0459185689687729,-0.2080574631690979,0.0792068094015121) * MODEL4_texOff(vec2(-1,-1)); +res += mat4(0.1789263337850571,-0.0923565179109573,0.0234071612358093,0.2566697895526886,-0.3969378173351288,0.1525186449289322,-0.1570488065481186,-0.1292294859886169,-0.0078855939209461,0.0073424843139946,-0.0253147967159748,0.0776322335004807,-0.3640538454055786,0.0294748172163963,-0.1845595240592957,0.0254504717886448) * MODEL1_texOff(vec2(-1,0)); +res += mat4(0.2526902258396149,0.0658242180943489,0.2199242413043976,-0.2072209119796753,0.1815013438463211,0.3576187491416931,0.1445612013339996,-0.3206026256084442,0.1072679534554482,-0.1361077874898911,0.0916604697704315,0.3789470791816711,0.0989762768149376,-0.0294604822993279,0.0581037811934948,0.0445599481463432) * MODEL2_texOff(vec2(-1,0)); +res += mat4(-0.0093334335833788,0.1357327103614807,0.0280408691614866,0.1034970134496689,-0.2703523635864258,0.1945694833993912,-0.1136413291096687,-0.0291410721838474,-0.0401322692632675,0.0878827199339867,-0.0686209499835968,-0.0557576827704906,0.1943955570459366,0.1612215936183929,0.1887363791465759,0.0070634381845593) * MODEL3_texOff(vec2(-1,0)); +res += mat4(0.3716565668582916,-0.3613735139369965,0.0844924449920654,0.0343478210270405,0.2465848028659821,-0.0314175374805927,0.2159696966409683,0.1732785403728485,-0.0862246528267860,-0.0265530031174421,-0.1918380260467529,-0.1378531157970428,-0.1230628266930580,0.2098480761051178,-0.3888647556304932,-0.2004205882549286) * MODEL4_texOff(vec2(-1,0)); +res += mat4(-0.2449404895305634,0.0653455182909966,0.0135820396244526,0.1158687770366669,-0.0626734495162964,-0.1324901431798935,0.0122612882405519,0.0722110792994499,-0.0592312589287758,0.0290565639734268,-0.0977197289466858,0.0284935012459755,0.1286304742097855,-0.0964016020298004,0.0769306123256683,-0.0453671775758266) * MODEL1_texOff(vec2(-1,1)); +res += mat4(0.0851763933897018,-0.0065216314978898,0.0767411142587662,-0.1651934087276459,-0.0391551367938519,0.0352120287716389,0.0193297695368528,0.0492741614580154,0.4617889821529388,0.1350731998682022,0.1599364131689072,0.3893656432628632,-0.0166238248348236,0.0806706696748734,0.0505172014236450,-0.1259910613298416) * MODEL2_texOff(vec2(-1,1)); +res += mat4(0.0700512304902077,-0.0141933942213655,0.2592144608497620,0.0921078026294708,-0.1485483944416046,-0.0075393421575427,-0.1429287344217300,0.0355093553662300,0.0583429560065269,0.1349573731422424,0.0837503075599670,-0.0213678143918514,0.1826371997594833,0.1823416054248810,0.1543735116720200,-0.0142616210505366) * MODEL3_texOff(vec2(-1,1)); +res += mat4(0.0473574660718441,-0.0411762557923794,0.0556247085332870,0.0216518286615610,-0.0571878999471664,0.0466939695179462,0.0007601453689858,-0.0309802722185850,0.0881771817803383,-0.1278077661991119,0.0275780353695154,0.0055053601972759,0.0258457921445370,0.0533790476620197,0.0462624691426754,-0.0727247446775436) * MODEL4_texOff(vec2(-1,1)); +res += mat4(-0.1539228558540344,0.0128557216376066,-0.2806452810764313,0.2308432459831238,0.0992715358734131,-0.1948739886283875,0.2201962172985077,-0.2213711440563202,-0.1619242280721664,0.0522838011384010,0.1370293647050858,0.0646882131695747,0.1614316850900650,0.0388166792690754,0.2212044149637222,-0.0348678305745125) * MODEL1_texOff(vec2(0,-1)); +res += mat4(0.0057150884531438,-0.3920969069004059,-0.1632852852344513,-0.4735216796398163,-0.2241761088371277,0.1111730188131332,-0.1845528185367584,0.2525207400321960,0.2744160592556000,0.0427548661828041,0.0471794493496418,0.1975667774677277,-0.1709664016962051,-0.0968290343880653,-0.0364571139216423,-0.0123703358694911) * MODEL2_texOff(vec2(0,-1)); +res += mat4(0.3471515178680420,0.0035508037544787,-0.0242346487939358,-0.2053472548723221,0.0366874001920223,-0.1820769309997559,-0.1406559646129608,-0.4743737578392029,0.2084551602602005,-0.0934072062373161,-0.0095417900010943,-0.0922358036041260,0.1286945492029190,-0.1099522709846497,-0.0111708277836442,0.0115120420232415) * MODEL3_texOff(vec2(0,-1)); +res += mat4(-0.2889384031295776,0.0593274906277657,-0.2738704979419708,-0.1730263084173203,-0.3150477707386017,0.0824517607688904,-0.5353992581367493,0.3430648148059845,-0.0943045169115067,0.0704220905900002,-0.3742286264896393,0.1915865242481232,-0.1212448105216026,-0.1403315663337708,-0.2767850458621979,0.0417246297001839) * MODEL4_texOff(vec2(0,-1)); +res += mat4(-0.2087233811616898,0.1168561428785324,0.0238043814897537,0.2219242900609970,0.5486283898353577,-1.1923955678939819,0.7928161621093750,-0.3067701756954193,-0.2462628632783890,0.1201698333024979,-0.0080536343157291,-0.1661250889301300,0.4892369508743286,-0.1491003781557083,0.6520683765411377,-0.9978116750717163) * MODEL1_texOff(vec2(0,0)); +res += mat4(0.0986968204379082,0.1483289748430252,-0.4946940541267395,0.5676410198211670,-0.1753920614719391,-0.0350872278213501,-0.6812604665756226,-0.1051912903785706,0.2388358712196350,-0.2064633965492249,0.0954692140221596,0.3972575068473816,0.0277511160820723,-0.1490469276905060,-0.1304923892021179,-0.0849914923310280) * MODEL2_texOff(vec2(0,0)); +res += mat4(0.3919466137886047,0.2604148387908936,-0.1364194452762604,-0.3725306987762451,0.6220794320106506,0.0711414515972137,0.0487920157611370,0.8275957107543945,0.2210596054792404,0.0889535248279572,-0.1202557981014252,-0.2345736026763916,0.5414448380470276,-0.0852774530649185,-0.0166040845215321,0.4876805841922760) * MODEL3_texOff(vec2(0,0)); +res += mat4(-1.1044557094573975,-0.1582177132368088,0.2023978829383850,-0.2040194123983383,-0.5193357467651367,0.5642085671424866,-1.0636546611785889,0.4562705457210541,-0.1209019646048546,0.0562094524502754,-0.3072849214076996,0.3943085670471191,0.1958889365196228,-0.1018345132470131,-0.3185061514377594,-0.1533579230308533) * MODEL4_texOff(vec2(0,0)); +res += mat4(0.1175472810864449,-0.0106185721233487,0.0317506045103073,-0.0582309067249298,-0.2228898108005524,-0.0492197163403034,0.1172570735216141,-0.0781362503767014,-0.2347405254840851,0.0250689368695021,-0.0337609052658081,0.0258333384990692,-0.2739647924900055,-0.0703237727284431,-0.0301027502864599,-0.1310820728540421) * MODEL1_texOff(vec2(0,1)); +res += mat4(0.0788076817989349,-0.1156876161694527,-0.1305500864982605,-0.4772673845291138,-0.1036096736788750,-0.0186788085848093,-0.0497039295732975,-0.0562514178454876,-0.4980307519435883,0.3032779097557068,-0.2864224612712860,-0.2571246623992920,-0.2961620986461639,0.2024095952510834,-0.2083405703306198,-0.0262568816542625) * MODEL2_texOff(vec2(0,1)); +res += mat4(0.3185229003429413,-0.1336676329374313,0.0055090165697038,-0.0625768750905991,0.0301016960293055,-0.1402244716882706,0.2638555169105530,0.2491406500339508,0.0175193380564451,0.3635352849960327,0.2369791567325592,-0.0125836068764329,0.3937492072582245,0.1693996936082840,-0.0088062463328242,0.2431912273168564) * MODEL3_texOff(vec2(0,1)); +res += mat4(-0.2064793109893799,-0.1411489397287369,-0.3089267611503601,-0.1338297426700592,0.1840019971132278,-0.1287958025932312,0.1202731803059578,-0.2698229253292084,-0.1723199039697647,0.1201079860329628,-0.0454297512769699,0.0911703184247017,0.1651924252510071,-0.0695007964968681,-0.0951692461967468,0.0140034575015306) * MODEL4_texOff(vec2(0,1)); +res += mat4(-0.0351636521518230,-0.3665920197963715,-0.1235053911805153,0.1023030504584312,-0.0568292252719402,-0.1067840829491615,-0.1690988391637802,-0.1293577402830124,0.1123710498213768,0.0593810230493546,0.0756259411573410,-0.0498257279396057,0.2800794541835785,-0.1813902258872986,0.3736729621887207,0.0055663096718490) * MODEL1_texOff(vec2(1,-1)); +res += mat4(-0.0052344598807395,-0.0827632471919060,-0.1968964040279388,-0.1781204640865326,0.1491862088441849,0.0471050664782524,0.2822955846786499,0.0341789536178112,0.0792400613427162,0.0593985691666603,0.0653597190976143,0.0306967999786139,-0.2650067508220673,-0.1417366117238998,-0.0618015266954899,-0.1712649762630463) * MODEL2_texOff(vec2(1,-1)); +res += mat4(-0.1884882450103760,-0.0646363869309425,0.1265687942504883,-0.0198807623237371,0.1710745990276337,-0.1991294920444489,0.2257161587476730,0.0990899652242661,-0.0123038114979863,-0.0604469887912273,0.0861879140138626,0.0514908321201801,0.0632287636399269,-0.0564893335103989,-0.2878070771694183,0.1281028836965561) * MODEL3_texOff(vec2(1,-1)); +res += mat4(0.1748222410678864,0.1559326499700546,0.2274629622697830,-0.2599287927150726,-0.1274228245019913,0.1170183941721916,0.0254840347915888,0.3059220910072327,-0.4317791461944580,-0.2744959294795990,-0.3259294927120209,-0.0761090889573097,-0.1382412314414978,-0.2113056033849716,0.1788181811571121,0.2996733188629150) * MODEL4_texOff(vec2(1,-1)); +res += mat4(0.0582458488643169,-0.2011986672878265,-0.1032724976539612,0.0572311282157898,-0.2976129949092865,0.1335859149694443,-0.1642884314060211,0.0469525307416916,0.1173821613192558,0.0175531003624201,0.0590624660253525,-0.0186468325555325,-0.2939463555812836,-0.0627523511648178,-0.0904852002859116,0.0437535047531128) * MODEL1_texOff(vec2(1,0)); +res += mat4(-1.0379866361618042,-0.0779533982276917,-0.4585119783878326,-0.2419675886631012,-0.1771658360958099,0.2385675758123398,0.4636667668819427,0.2159792035818100,-0.0779691860079765,-0.0443072207272053,0.1458922326564789,0.1625780165195465,-0.0606213472783566,0.2021027803421021,-0.0766457915306091,-0.0725013092160225) * MODEL2_texOff(vec2(1,0)); +res += mat4(-0.1223943233489990,0.0499060340225697,0.2337128371000290,0.0877007842063904,-0.4041709005832672,0.0202713161706924,0.4482367634773254,-0.0970616489648819,-0.2139305770397186,-0.0016079441411421,-0.0643812268972397,-0.1715632826089859,-0.1512379497289658,-0.0972021818161011,-0.4451365768909454,0.1773481220006943) * MODEL3_texOff(vec2(1,0)); +res += mat4(0.1889666616916656,0.1565265655517578,-0.0462163686752319,-0.2980217635631561,-0.2271247357130051,0.2018182426691055,0.0352049097418785,-0.0071235750801861,-0.7249425053596497,-0.1264755576848984,-0.8086061477661133,0.0717744827270508,-0.2927641272544861,0.1403367966413498,0.3376818597316742,0.1329329758882523) * MODEL4_texOff(vec2(1,0)); +res += mat4(0.0950300097465515,0.0221716705709696,0.0456663332879543,-0.1242675408720970,0.2974790930747986,0.1077141836285591,0.0673227831721306,0.0374278537929058,-0.0262136477977037,-0.0091568045318127,-0.0168234482407570,0.1881603151559830,-0.0118044698610902,0.0741767808794975,-0.0131553094834089,0.0480604358017445) * MODEL1_texOff(vec2(1,1)); +res += mat4(-0.1107144579291344,0.0098598729819059,-0.0693243071436882,-0.1960892528295517,-0.0331989787518978,0.1361626088619232,-0.0834455564618111,0.0961192920804024,-0.0686278939247131,0.0854749158024788,0.1144494563341141,-0.0621937587857246,-0.2368322759866714,0.0297667793929577,-0.1093277558684349,-0.0013569450238720) * MODEL2_texOff(vec2(1,1)); +res += mat4(-0.2876231670379639,-0.0896124094724655,-0.2461586445569992,0.0163489244878292,0.0424887128174305,0.0044482382945716,0.1063006594777107,0.0976624488830566,0.2709029614925385,0.1093918979167938,-0.2742790877819061,0.2572947144508362,-0.0381617844104767,-0.0245694518089294,-0.0991176888346672,0.1488055735826492) * MODEL3_texOff(vec2(1,1)); +res += mat4(0.0107373334467411,0.1041472703218460,0.0299074444919825,-0.1995789408683777,-0.0317324884235859,0.0384061299264431,-0.0420682542026043,-0.0465260408818722,-0.1401028484106064,0.1354913264513016,0.0475854165852070,-0.1428409367799759,-0.3365491628646851,-0.1023249477148056,0.1386373341083527,0.2461400628089905) * MODEL4_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(0.0454893484711647,0.6504164338111877,-0.0375871248543262,-0.3642866313457489) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Mapping 3_2 +//!BIND MODEL1 +//!BIND MODEL2 +//!BIND MODEL3 +//!BIND MODEL4 +//!SAVE MODEL22 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.2766854465007782,-0.0856682732701302,0.4891575574874878,0.0358843207359314); +res += mat4(-0.3082252144813538,0.1421664655208588,-0.0411954857409000,0.1205241158604622,0.2738791704177856,-0.0431190282106400,0.1191648468375206,0.0376528576016426,-0.3940974771976471,-0.0540972277522087,-0.9005880355834961,0.1463838368654251,0.0659264847636223,0.1836163252592087,0.0197399482131004,0.0815236419439316) * MODEL1_texOff(vec2(-1,-1)); +res += mat4(-0.0152115318924189,0.1181607842445374,-0.1681683808565140,-0.0840278565883636,-0.2195560038089752,0.2071736305952072,-0.0520277246832848,-0.2059306502342224,0.0841627866029739,0.1697496175765991,0.0743092000484467,-0.1171413883566856,-0.5985020399093628,0.3979639410972595,-0.3463142216205597,0.0510277226567268) * MODEL2_texOff(vec2(-1,-1)); +res += mat4(-0.0469058454036713,-0.1439702361822128,0.0587836243212223,0.0072227055206895,-0.0203045327216387,-0.1439272016286850,-0.0913980677723885,0.2590387761592865,0.0427818670868874,0.1357506066560745,0.0856071859598160,0.2076624184846878,-0.2039159387350082,0.2199477702379227,-0.0665217041969299,0.1113462895154953) * MODEL3_texOff(vec2(-1,-1)); +res += mat4(0.6119036078453064,-0.2367514520883560,-0.0474185831844807,-0.0738599747419357,0.2150397002696991,-0.1425740569829941,-0.2506031095981598,-0.0127827581018209,0.0595776550471783,0.1329316347837448,0.0184186585247517,-0.1671197712421417,-0.4632082581520081,-0.0973000228404999,0.0642428249120712,-0.1473356187343597) * MODEL4_texOff(vec2(-1,-1)); +res += mat4(-0.1912296116352081,-0.0609239228069782,-0.1602058261632919,-0.0227724649012089,-0.4201372563838959,0.4554587304592133,-0.0227187257260084,-0.0378096066415310,0.1912428140640259,0.0682459622621536,-1.0177114009857178,0.3858880996704102,-0.0226255208253860,0.2118644565343857,0.1322475522756577,-0.2449918538331985) * MODEL1_texOff(vec2(-1,0)); +res += mat4(-0.2439029216766357,-0.0880997478961945,-0.1612567901611328,-0.4472371041774750,-0.1740748286247253,-0.0585206896066666,-0.0657029673457146,-0.0897132232785225,0.0199276376515627,0.1176935732364655,-0.1753555536270142,-0.0216708388179541,-0.5421268939971924,0.2451691776514053,0.2713908851146698,-0.1808403730392456) * MODEL2_texOff(vec2(-1,0)); +res += mat4(0.0636586472392082,-0.0982676669955254,-0.2402346730232239,-0.0729618296027184,-0.0778831765055656,0.0221842341125011,0.0728839635848999,0.0256734061986208,-0.0296111032366753,0.0160355139523745,0.1967004984617233,-0.0364510081708431,-0.1154832020401955,0.0664381235837936,-0.1580185890197754,-0.1150302141904831) * MODEL3_texOff(vec2(-1,0)); +res += mat4(-0.1614706814289093,-0.3007177114486694,-0.0077538061887026,0.1562442332506180,-0.0116249406710267,-0.0763486921787262,-0.0728502124547958,0.1449433118104935,0.1028612777590752,-0.0802665725350380,0.0317276343703270,0.3957915306091309,-0.0113516477867961,-0.2576089501380920,-0.0250909272581339,-0.3440415263175964) * MODEL4_texOff(vec2(-1,0)); +res += mat4(-0.0721431076526642,0.0617929846048355,0.0236721988767385,-0.1713178306818008,0.0801177248358727,-0.0077098137699068,-0.1302033662796021,0.1205692663788795,-0.1801013350486755,0.3740012347698212,-0.4390102922916412,0.2259115278720856,-0.0943693146109581,0.0032138365786523,-0.1379340589046478,-0.0831489339470863) * MODEL1_texOff(vec2(-1,1)); +res += mat4(-0.0361295416951180,-0.0423301756381989,0.0237964522093534,-0.0884843170642853,-0.0765647217631340,0.0764393284916878,-0.2291554659605026,0.0330178700387478,0.1890143007040024,-0.3994705080986023,0.1141545847058296,-0.3930031657218933,-0.1419301927089691,-0.0915622636675835,-0.5227252840995789,0.0471889413893223) * MODEL2_texOff(vec2(-1,1)); +res += mat4(0.0244284309446812,-0.0262696258723736,0.1562546193599701,-0.0066187661141157,-0.1507112234830856,0.1415329426527023,-0.0896876007318497,0.0598894916474819,0.0509236603975296,0.0035465008113533,-0.0006597613682970,0.1432638168334961,0.0633045285940170,0.0205333437770605,-0.1529020816087723,0.0278088022023439) * MODEL3_texOff(vec2(-1,1)); +res += mat4(-0.0013071940047666,-0.1215862557291985,0.1564798504114151,0.0205783136188984,-0.1420968621969223,0.1075428128242493,0.0872842520475388,0.0079967444762588,-0.0594218485057354,-0.1015119478106499,-0.1151336580514908,0.0227370969951153,0.1221681982278824,0.1577650308609009,-0.0548945218324661,-0.1438567042350769) * MODEL4_texOff(vec2(-1,1)); +res += mat4(-0.6033390164375305,-0.2823020517826080,0.0765986815094948,-0.0168070066720247,0.1330042928457260,0.3693281412124634,0.0154768042266369,-0.1817414015531540,-0.1879704594612122,0.1986478865146637,-1.2290372848510742,0.2091535180807114,-0.2778144180774689,-0.2049327790737152,-0.0833392888307571,0.1576944887638092) * MODEL1_texOff(vec2(0,-1)); +res += mat4(-0.2492198497056961,-0.0573792122304440,0.0536363571882248,-0.0028804065659642,-0.6152865886688232,-0.2403887361288071,-0.3645218312740326,0.0169817730784416,-0.4057780504226685,-0.0315363407135010,0.3864345550537109,0.0341531969606876,0.3265593349933624,-0.4443338215351105,-0.5211750864982605,0.2147141098976135) * MODEL2_texOff(vec2(0,-1)); +res += mat4(0.0928920134902000,0.1127678453922272,-0.2038836181163788,-0.0687354058027267,-0.4012863636016846,0.0305966697633266,-0.2824791967868805,0.3182746767997742,-0.2477563768625259,-0.1787149608135223,-0.1280913800001144,-0.2693536281585693,-0.2007386982440948,0.2500161826610565,-0.1692083477973938,0.2201835960149765) * MODEL3_texOff(vec2(0,-1)); +res += mat4(0.4433092176914215,-0.2782422900199890,0.1955523788928986,0.0446265041828156,0.2695930600166321,0.4516450762748718,-0.0869306996464729,0.2080718427896500,-0.3609630167484283,-0.2756880223751068,-0.0572468861937523,0.0923518687486649,-0.2521983087062836,-0.0607448406517506,-0.1430182605981827,-0.0809801742434502) * MODEL4_texOff(vec2(0,-1)); +res += mat4(-0.5648784637451172,-0.0078862020745873,-0.0799404531717300,-0.3679954111576080,0.3843144178390503,-0.7055245637893677,-0.8288373947143555,0.1270771771669388,-0.0056138485670090,0.4444505274295807,-1.0627838373184204,0.0743907466530800,0.5623774528503418,0.1460260748863220,0.2430976182222366,-0.4247787296772003) * MODEL1_texOff(vec2(0,0)); +res += mat4(-0.1028358787298203,-0.7443224191665649,-0.2842544615268707,-0.7112095952033997,0.5257666110992432,-0.4121195673942566,-0.2406257987022400,0.3721483945846558,-0.0295912455767393,-0.0090005975216627,0.3495620191097260,-0.3244813084602356,0.1984122097492218,-0.1381660550832748,0.1999670416116714,-0.1392254829406738) * MODEL2_texOff(vec2(0,0)); +res += mat4(-0.2189147621393204,-0.3101506233215332,-0.3582707047462463,0.6731706261634827,-0.0630217045545578,-0.7331262230873108,0.0304036866873503,-0.2192881107330322,-0.3842722773551941,-0.1572354137897491,-0.1318689137697220,-0.1704041659832001,-0.4817813038825989,-0.1687027812004089,-0.3037893474102020,-0.3955264985561371) * MODEL3_texOff(vec2(0,0)); +res += mat4(-0.0350833274424076,0.1781712621450424,0.4963554143905640,-0.5230069756507874,-0.0323612317442894,-0.2684666216373444,-0.0216306671500206,-0.5467779636383057,0.1643877923488617,-0.3850797414779663,-0.0079383878037333,-0.4840333759784698,-0.4436331093311310,-0.0161991715431213,-0.2919921576976776,-0.6045735478401184) * MODEL4_texOff(vec2(0,0)); +res += mat4(0.0631479918956757,-0.0759769305586815,0.1899980753660202,-0.7697417736053467,0.0048485705628991,0.2741712033748627,-0.0055032907985151,0.2066910862922668,-0.1501127332448959,0.3565596938133240,-0.8306923508644104,0.1663600057363510,0.0771821588277817,0.0152697730809450,0.0880215913057327,0.0921067818999290) * MODEL1_texOff(vec2(0,1)); +res += mat4(-0.1451108753681183,-0.4456967115402222,0.0038733964320272,0.1149310395121574,0.1009142324328423,0.2150571495294571,0.0943882092833519,-0.0743561014533043,0.1195020973682404,0.5845862030982971,0.0343878380954266,-0.3899781107902527,-0.4041344523429871,0.3338281214237213,-0.0199393369257450,0.0934275463223457) * MODEL2_texOff(vec2(0,1)); +res += mat4(0.2694981694221497,0.1683813631534576,-0.0827538445591927,-0.9855439066886902,0.1228355169296265,0.1367452442646027,-0.1180073469877243,-0.3259690999984741,-0.3450045883655548,-0.1005374863743782,-0.1464527249336243,-0.1674241274595261,0.1783515959978104,-0.4858917295932770,-0.2419071942567825,-0.1595151573419571) * MODEL3_texOff(vec2(0,1)); +res += mat4(0.1846605837345123,0.2596315443515778,0.2425408214330673,0.3251174986362457,0.0843155756592751,0.2367650866508484,-0.2045378684997559,0.0772629603743553,-0.2504093647003174,-0.0491534061729908,0.0135239763185382,0.3528170585632324,0.1446651220321655,-0.0448730662465096,-0.0475514978170395,-0.2215046882629395) * MODEL4_texOff(vec2(0,1)); +res += mat4(0.3496626913547516,-0.0416278280317783,0.1267942488193512,0.1846652030944824,0.0825802311301231,-0.0858073681592941,-0.1442968696355820,0.0075921313837171,-0.2857237756252289,0.2616439759731293,-0.5992080569267273,0.1289489418268204,0.1400072127580643,0.1107556670904160,0.2755304872989655,0.1546024233102798) * MODEL1_texOff(vec2(1,-1)); +res += mat4(0.0377431400120258,0.0305332988500595,0.0120427943766117,0.0411608815193176,0.2350389063358307,0.1466522365808487,0.0528812482953072,0.1578131765127182,0.1993547379970551,0.0172306522727013,-0.1550423502922058,0.1076474338769913,-0.2865282297134399,0.3427429795265198,0.0945115536451340,0.2316128164529800) * MODEL2_texOff(vec2(1,-1)); +res += mat4(-0.0609900802373886,-0.0944926515221596,-0.2119262367486954,-0.0069179581478238,0.0360044389963150,0.1666931211948395,0.2129596620798111,0.2629804313182831,-0.1959801316261292,0.0509368106722832,-0.0875207930803299,-0.1775096058845520,0.3542068898677826,0.1606763750314713,0.0899846851825714,0.0402658544480801) * MODEL3_texOff(vec2(1,-1)); +res += mat4(0.1717642992734909,-0.2124918401241302,0.0481774210929871,-0.0357615984976292,0.0568622574210167,0.0519891344010830,-0.2438391298055649,-0.0353425256907940,0.0392028875648975,-0.0987027660012245,-0.0311603695154190,-0.0224185455590487,0.4272132813930511,0.1244610548019409,0.0514792986214161,0.0763168707489967) * MODEL4_texOff(vec2(1,-1)); +res += mat4(-0.0818905532360077,-0.2310486733913422,0.0471217706799507,-0.0838337242603302,0.0181213170289993,0.0821879133582115,-0.0322279706597328,0.0799539163708687,-0.1965402066707611,0.2742959260940552,-0.7167144417762756,0.0575326457619667,0.0642850175499916,-0.1227741986513138,-0.0497060939669609,-0.2855891585350037) * MODEL1_texOff(vec2(1,0)); +res += mat4(0.2123161703348160,-0.2346035838127136,0.1092509478330612,0.1562874168157578,0.1066971719264984,0.2767858505249023,-0.3046181797981262,-0.0273845475167036,-0.3696175813674927,-0.0598086304962635,-0.1019269675016403,-0.0927008464932442,-0.1281058192253113,0.3493737280368805,-0.3503416180610657,-0.3022629022598267) * MODEL2_texOff(vec2(1,0)); +res += mat4(-0.0880725234746933,0.2408671975135803,-0.1795619726181030,0.1810989826917648,0.1211275905370712,0.4736292362213135,0.0064709093421698,-0.3257658183574677,-0.3594385087490082,0.0024678865447640,0.0314037911593914,-0.0911884680390358,-0.0311477817595005,-0.1242813691496849,-0.1627479493618011,0.3381403386592865) * MODEL3_texOff(vec2(1,0)); +res += mat4(-0.0876098796725273,0.2889081239700317,0.2039415985345840,-0.0505445413291454,-0.1711472421884537,0.3027215301990509,0.1295015215873718,0.2873072326183319,0.1006578281521797,-0.3762693107128143,0.0244721211493015,-0.2519020438194275,-0.1871100217103958,0.1793846189975739,-0.2067656368017197,-0.3798410892486572) * MODEL4_texOff(vec2(1,0)); +res += mat4(0.0071486891247332,0.0327866934239864,-0.0724201947450638,-0.3820834457874298,0.0678572282195091,0.0313744433224201,-0.0951966121792793,-0.0104408366605639,-0.2017306685447693,0.2389510869979858,-0.8141521811485291,0.0672826170921326,0.1411330401897430,-0.1417368054389954,0.1756392568349838,0.1432631909847260) * MODEL1_texOff(vec2(1,1)); +res += mat4(-0.0169192869216204,0.0134304529055953,-0.0439525134861469,0.0853186175227165,-0.0271293148398399,0.0552158914506435,-0.4424555599689484,-0.0221184864640236,0.1248477473855019,-0.1369054317474365,0.2032888382673264,0.4237955808639526,-0.1370280236005783,0.0774284079670906,-0.3221918344497681,0.0986522659659386) * MODEL2_texOff(vec2(1,1)); +res += mat4(-0.0016994937323034,-0.3168563842773438,-0.2978757619857788,-0.1239660754799843,0.1501535922288895,0.0411236807703972,-0.3058364391326904,0.0213185362517834,-0.1830658763647079,-0.3084793984889984,-0.0796889662742615,-0.1118396595120430,0.0839603170752525,-0.0018456405960023,-0.2057147920131683,0.0484040603041649) * MODEL3_texOff(vec2(1,1)); +res += mat4(0.3530099093914032,-0.2546278834342957,0.4894405007362366,-0.0462108962237835,0.0373030193150043,-0.0540172420442104,-0.1831854879856110,-0.0725690498948097,-0.1877104043960571,0.3815770149230957,0.0154178757220507,0.0679738372564316,0.2268005311489105,-0.0374227240681648,-0.1764841973781586,0.3064631521701813) * MODEL4_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(0.1011536195874214,-0.0269211996346712,-0.0399007871747017,0.1815684139728546) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Mapping 3_3 +//!BIND MODEL1 +//!BIND MODEL2 +//!BIND MODEL3 +//!BIND MODEL4 +//!SAVE MODEL23 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0096962312236428,-0.1828956305980682,-0.3072965741157532,0.3628412187099457); +res += mat4(0.0966185852885246,-0.6135466098785400,0.1222296357154846,-0.1271366775035858,-0.0659370869398117,0.1779254078865051,-0.0182557422667742,0.0037988279946148,-0.0624240785837173,-0.0021543647162616,-0.0371171571314335,0.0114635583013296,-0.0971337482333183,-0.3905356526374817,0.0018126725917682,-0.0468830652534962) * MODEL1_texOff(vec2(-1,-1)); +res += mat4(0.0238531120121479,-0.6746900081634521,0.1587852537631989,-0.0541999749839306,0.1455587893724442,0.1401162594556808,0.0800143107771873,0.0067800586111844,-0.1083246991038322,0.4153499007225037,-0.0090921055525541,0.1080789342522621,0.0504096634685993,-0.5217405557632446,-0.0277403518557549,0.0075404588133097) * MODEL2_texOff(vec2(-1,-1)); +res += mat4(-0.1730122119188309,-0.2118499428033829,0.0321336425840855,0.0257543101906776,0.0492732115089893,-0.0492192357778549,-0.0415452122688293,0.2035491466522217,0.1021632179617882,0.2431710809469223,-0.0390984788537025,0.2217389643192291,0.1717329174280167,-0.2138804644346237,0.0192105397582054,0.1068543791770935) * MODEL3_texOff(vec2(-1,-1)); +res += mat4(-0.0713640674948692,-0.7597609758377075,0.0916400700807571,-0.1611132174730301,0.1112890094518661,0.0431755259633064,-0.0392427630722523,0.0301910303533077,-0.0716047734022141,-0.4293081164360046,-0.0941429734230042,-0.0926984921097755,0.3202439546585083,-0.6363947391510010,0.1387458592653275,0.0786793977022171) * MODEL4_texOff(vec2(-1,-1)); +res += mat4(0.0061861029826105,-0.2433091551065445,0.2566366493701935,0.0533551722764969,-0.0290800239890814,0.3748449683189392,-0.0315197892487049,-0.5474284887313843,-0.0388411879539490,-0.0617205537855625,0.0158661734312773,0.1277355402708054,-0.1119790449738503,-0.3430351316928864,0.0742595493793488,-0.2360652983188629) * MODEL1_texOff(vec2(-1,0)); +res += mat4(0.1328734904527664,-0.4145849347114563,-0.5556353330612183,-0.1917155981063843,-0.0579247437417507,0.0271499268710613,-0.2180203199386597,-0.2175027877092361,-0.0770114809274673,-0.0746197402477264,-0.1473943889141083,0.0477991849184036,-0.0148708047345281,-0.0942263156175613,-0.1056677773594856,-0.3181895613670349) * MODEL2_texOff(vec2(-1,0)); +res += mat4(-0.0933884605765343,0.4464295804500580,0.1864062547683716,-0.2428316175937653,0.0091863730922341,0.0066727939993143,0.2278614938259125,0.0407700166106224,-0.0217400901019573,-0.0089303944259882,0.0608105957508087,0.0034453994594514,-0.0575114041566849,-0.3221804797649384,0.1051684170961380,0.0491008646786213) * MODEL3_texOff(vec2(-1,0)); +res += mat4(0.0175898224115372,-0.0022226218134165,-0.2113958448171616,0.3449440598487854,-0.1412918716669083,-0.1120014712214470,-0.3145899474620819,0.3299396932125092,0.0570392832159996,0.3087191581726074,-0.0436424948275089,-0.1651565432548523,-0.2497800141572952,-0.4630553722381592,0.1206926479935646,-0.0631397441029549) * MODEL4_texOff(vec2(-1,0)); +res += mat4(0.0863930583000183,0.4767310321331024,-0.0583035126328468,0.0486125871539116,0.0731265991926193,-0.0980255678296089,0.1599799990653992,-0.1969169527292252,0.0129284346476197,-0.1523057520389557,0.1927413493394852,0.0369221642613411,0.0267726648598909,0.0085872625932097,-0.2059309929609299,-0.0781255662441254) * MODEL1_texOff(vec2(-1,1)); +res += mat4(-0.0053160390816629,-0.0114771798253059,-0.0920668691396713,-0.1277164816856384,0.1347965002059937,-0.1123904660344124,0.2623544931411743,0.1807247251272202,-0.1826624423265457,0.0890938192605972,-0.2081806659698486,-0.0265102572739124,-0.2511420249938965,-0.3642075955867767,-0.1960840672254562,0.2282556742429733) * MODEL2_texOff(vec2(-1,1)); +res += mat4(0.1304119229316711,-0.1310023069381714,-0.1879419535398483,-0.1534926742315292,0.0867782682180405,-0.1649359315633774,0.1634290069341660,0.0068767536431551,-0.0467854514718056,0.1089409291744232,0.0465519055724144,0.2068714201450348,-0.0290457345545292,0.2391352653503418,-0.0619399435818195,0.1424463242292404) * MODEL3_texOff(vec2(-1,1)); +res += mat4(-0.0018676006002352,0.1332158446311951,0.3071989119052887,0.0174633916467428,-0.0699404776096344,0.1084066629409790,0.1364846229553223,0.1159763559699059,-0.0480275079607964,-0.4437184333801270,0.1823548525571823,-0.1592775881290436,0.0239598173648119,0.0776209533214569,-0.3734119832515717,0.0483766272664070) * MODEL4_texOff(vec2(-1,1)); +res += mat4(0.3958072364330292,0.4064818620681763,0.1182176992297173,-0.0630514547228813,-0.2958301305770874,0.2158587723970413,0.1844703406095505,0.0829237923026085,0.0300246998667717,-0.0076577407307923,-0.1118960455060005,0.0657947883009911,0.1468003392219543,0.1012594997882843,-0.1200218871235847,0.0575959905982018) * MODEL1_texOff(vec2(0,-1)); +res += mat4(-0.0439574532210827,-0.0342512875795364,0.1198491603136063,0.0569071359932423,-0.2773189544677734,0.0276473425328732,0.0503465831279755,-0.0294683892279863,-0.1125778257846832,-0.1835590004920959,-0.2119190990924835,0.0135993221774697,0.3683224320411682,-0.6543045043945312,0.0588777251541615,-0.0644268468022346) * MODEL2_texOff(vec2(0,-1)); +res += mat4(-0.6709493994712830,-0.0510004945099354,-0.0327867940068245,-0.0542119666934013,0.5428741574287415,-0.2171358913183212,-0.1788071691989899,-0.0115239555016160,0.0560156069695950,-0.0389721207320690,-0.2194385826587677,-0.0730813071131706,0.2017922103404999,-0.3187334835529327,0.1126372441649437,0.0659322142601013) * MODEL3_texOff(vec2(0,-1)); +res += mat4(-0.0853002369403839,-0.5523035526275635,-0.0062804054468870,-0.1822048574686050,-0.1589933186769485,0.2936513423919678,0.3282754123210907,-0.0821304619312286,0.3000006377696991,0.0232181232422590,0.0296038947999477,-0.2985506653785706,0.1611278057098389,-0.3611412644386292,0.2865517735481262,-0.1553557664155960) * MODEL4_texOff(vec2(0,-1)); +res += mat4(-0.1738335639238358,0.3487513065338135,-0.1364589333534241,-0.3615652024745941,0.4185519814491272,0.5301572680473328,-0.9419437646865845,-0.8370573520660400,0.0375004485249519,-0.0669632777571678,0.1191441267728806,0.1945374906063080,-0.2194370031356812,0.6181265115737915,0.3488807082176208,0.2756504416465759) * MODEL1_texOff(vec2(0,0)); +res += mat4(0.3569741845130920,-0.2014349699020386,-0.7833114266395569,-0.2818526327610016,0.1310144215822220,-0.1745538711547852,-0.3036801218986511,0.7271450757980347,0.0465441606938839,-0.4831406474113464,-0.3451803624629974,-0.1129988580942154,-0.0218575540930033,0.2799502015113831,0.3072584867477417,0.2912150621414185) * MODEL2_texOff(vec2(0,0)); +res += mat4(0.2870803773403168,0.1482480764389038,0.1605004072189331,-0.1584322750568390,-0.3893961906433105,-0.7580126523971558,0.5952653884887695,-0.0874569267034531,-0.0303031001240015,-0.0761542543768883,-0.2135511636734009,0.1952854841947556,0.0925365984439850,-0.4599846601486206,0.2825924754142761,-0.7044473290443420) * MODEL3_texOff(vec2(0,0)); +res += mat4(-0.0922626033425331,-0.0603037066757679,-0.4493271410465240,-0.5298621058464050,-0.2890153825283051,0.0927275121212006,-1.0531142950057983,-0.6113587617874146,-0.1618873625993729,0.0476957969367504,-0.0018244569655508,-0.5462905168533325,0.1010603010654449,-0.2124905884265900,-0.2762548327445984,-0.2766358852386475) * MODEL4_texOff(vec2(0,0)); +res += mat4(0.1988933831453323,0.0994351357221603,-0.4228837788105011,0.0489445999264717,-0.1829699128866196,0.2394288927316666,0.5436335206031799,-0.1593505591154099,-0.0227949935942888,-0.2940272092819214,0.0947608277201653,-0.0181172564625740,0.1085731834173203,-0.1314677298069000,0.3206368088722229,-0.2062132954597473) * MODEL1_texOff(vec2(0,1)); +res += mat4(-0.2541041076183319,0.2557089924812317,-0.4808665215969086,-0.2363691478967667,0.1692509800195694,-0.0390186458826065,0.0974366217851639,0.2243825048208237,-0.4363555014133453,-0.3497348129749298,-0.6913013458251953,0.0185462776571512,-0.3049576282501221,-0.3033468425273895,-0.4316872358322144,-0.1699993610382080) * MODEL2_texOff(vec2(0,1)); +res += mat4(0.3071744740009308,0.3621467053890228,-0.1005984172224998,0.0747817009687424,-0.0433912649750710,-0.3260292410850525,0.0102246813476086,0.0993230938911438,-0.4786410927772522,0.1699418127536774,-0.3136234283447266,-0.3366701900959015,-0.2117681652307510,-0.2202868908643723,-0.3204817771911621,-0.2898558378219604) * MODEL3_texOff(vec2(0,1)); +res += mat4(0.0263315960764885,-0.3030783832073212,0.5731752514839172,0.0163164157420397,0.0994879081845284,0.0459609739482403,0.0356153398752213,0.3358831703662872,-0.2208869010210037,0.3033982813358307,0.0253771729767323,-0.3519003093242645,-0.0202707070857286,-0.1821469962596893,-0.3992060422897339,0.0346953496336937) * MODEL4_texOff(vec2(0,1)); +res += mat4(0.3334394693374634,-0.1968406885862350,0.1701373010873795,0.1021427288651466,-0.0147269601002336,0.0701922625303268,0.0501354150474072,-0.0238048546016216,-0.0242276247590780,-0.3706024587154388,0.0057721352204680,0.0673455297946930,0.1210014969110489,0.2068747729063034,-0.0184159558266401,-0.1844947785139084) * MODEL1_texOff(vec2(1,-1)); +res += mat4(-0.0711980611085892,-0.1646527200937271,-0.0348984114825726,0.0458331070840359,-0.0592295564711094,0.0429804362356663,0.0633668527007103,-0.0887297615408897,0.0591199062764645,0.2785882353782654,0.1546631008386612,0.0576921850442886,0.1357407271862030,0.0261168684810400,-0.2746448218822479,0.0076845628209412) * MODEL2_texOff(vec2(1,-1)); +res += mat4(-0.2072208076715469,0.1141251027584076,0.0491079241037369,-0.0414020381867886,0.2520525753498077,-0.0095078833401203,0.0605663172900677,-0.0657160580158234,0.2095283269882202,0.1218301057815552,-0.0085758138448000,-0.0047799674794078,0.0383018031716347,-0.1704875975847244,-0.0236699488013983,-0.0657273232936859) * MODEL3_texOff(vec2(1,-1)); +res += mat4(-0.0391417890787125,-0.0950736999511719,-0.0867062881588936,-0.1508761197328568,-0.0721105113625526,0.3227547705173492,0.1170788034796715,0.1071276441216469,0.3144429326057434,0.1505455076694489,0.2037825584411621,0.2058983594179153,0.2463132888078690,0.0262015853077173,0.1655953228473663,0.0284772794693708) * MODEL4_texOff(vec2(1,-1)); +res += mat4(-0.2142096757888794,-0.3336849510669708,0.1100151464343071,0.1912226378917694,-0.0637261494994164,-0.0036669168621302,-0.0317040383815765,0.0309900958091021,0.0629468336701393,-0.0138057358562946,0.0198006369173527,0.0468734242022038,-0.1184963062405586,0.2932909131050110,0.1430784016847610,-0.2738595008850098) * MODEL1_texOff(vec2(1,0)); +res += mat4(0.0263565480709076,-0.2182097584009171,0.0248852483928204,0.0806952863931656,0.0411778949201107,0.0462260097265244,0.2508244514465332,-0.2604519128799438,0.1782611757516861,-0.0552900508046150,-0.0188052784651518,0.1505897045135498,0.1071805506944656,0.1933152079582214,0.0772838443517685,-0.3518147766590118) * MODEL2_texOff(vec2(1,0)); +res += mat4(-0.3039082586765289,0.2085517495870590,0.1073516756296158,0.0792794078588486,0.0139703052118421,0.1793562620878220,-0.0779549032449722,-0.4413506090641022,-0.0154337212443352,0.1998108625411987,-0.1112744733691216,-0.0729703530669212,0.0364848375320435,-0.1272945255041122,0.2254590988159180,-0.2005347013473511) * MODEL3_texOff(vec2(1,0)); +res += mat4(-0.0273634362965822,0.2264695465564728,0.1658903509378433,0.2102769166231155,-0.1478670835494995,0.2959378957748413,-0.1816536337137222,0.2262745201587677,-0.0842936486005783,0.2780936658382416,-0.1769950538873672,-0.1050595194101334,0.0085508283227682,0.2996675074100494,0.1085069105029106,0.0264055654406548) * MODEL4_texOff(vec2(1,0)); +res += mat4(0.0275089219212532,-0.0199142079800367,-0.1471563428640366,0.0359929502010345,-0.0232283771038055,-0.2136822640895844,0.3263385593891144,-0.0078923916444182,-0.0089772054925561,-0.2155348360538483,0.0575222708284855,-0.0584659241139889,-0.1102655529975891,0.0794615447521210,0.0324593000113964,-0.0505253821611404) * MODEL1_texOff(vec2(1,1)); +res += mat4(-0.0989244282245636,-0.1169452443718910,-0.0588202178478241,0.2295041233301163,-0.0500692725181580,0.1185398548841476,0.2176976650953293,-0.0961228460073471,-0.3480427563190460,0.3826696872711182,-0.2737647891044617,0.3211134970188141,-0.0960477218031883,-0.2945753335952759,-0.1037626191973686,-0.1685638427734375) * MODEL2_texOff(vec2(1,1)); +res += mat4(-0.0226573441177607,0.2182911187410355,0.0424330383539200,-0.0281616933643818,-0.0349009595811367,-0.1639105528593063,0.2685182988643646,-0.2577687799930573,-0.2169789373874664,-0.0619792789220810,-0.0216093808412552,-0.0641317814588547,0.0200322512537241,0.0781936794519424,0.1579122543334961,-0.0302272662520409) * MODEL3_texOff(vec2(1,1)); +res += mat4(-0.0130745423957705,-0.0074001727625728,-0.4127369225025177,-0.1832849383354187,-0.0191794950515032,-0.1459515541791916,0.0506785213947296,-0.0798520520329475,-0.1798611879348755,0.0208102259784937,-0.0432562939822674,0.0866297408938408,-0.1733963042497635,0.3829587697982788,-0.1485795825719833,0.0457934252917767) * MODEL4_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(0.2022365331649780,0.0257512368261814,0.0406768731772900,0.2374598830938339) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Mapping 3_4 +//!BIND MODEL1 +//!BIND MODEL2 +//!BIND MODEL3 +//!BIND MODEL4 +//!SAVE MODEL24 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.1615822762250900,-0.3181393742561340,-0.1999485045671463,-0.3559705018997192); +res += mat4(-0.1974588930606842,-0.0361125282943249,0.0272251442074776,0.3330465853214264,0.1987139582633972,0.2116202712059021,0.0364080779254436,0.0950169339776039,-0.0183155369013548,0.1389241069555283,0.0915704816579819,0.0289167705923319,-0.1128599345684052,-0.0840830653905869,0.0487023331224918,-0.0443631745874882) * MODEL1_texOff(vec2(-1,-1)); +res += mat4(0.0031848836224526,0.1297396570444107,-0.0644683688879013,0.0848719477653503,0.3124601542949677,0.4512622654438019,0.0452612601220608,0.1563718467950821,0.0617647059261799,0.0545460805296898,-0.0145732900127769,-0.1544342786073685,0.3531651198863983,-0.0244909264147282,-0.0518489591777325,0.0819958001375198) * MODEL2_texOff(vec2(-1,-1)); +res += mat4(0.3703565895557404,0.3106299340724945,-0.0596154928207397,-0.0143657997250557,-0.1106218844652176,-0.2220201492309570,-0.0493395030498505,-0.0209231022745371,-0.0452506951987743,-0.0562542080879211,0.0413091406226158,0.1060889288783073,-0.1341663300991058,-0.2745214104652405,0.0044015492312610,0.1632619202136993) * MODEL3_texOff(vec2(-1,-1)); +res += mat4(-0.0422523096203804,-0.1062318906188011,-0.0942376032471657,0.0562276653945446,0.2332727015018463,-0.0921145454049110,0.1994942575693130,-0.0289016347378492,-0.3205979466438293,-0.0989910215139389,-0.0473002642393112,-0.0369105041027069,0.1293666362762451,-0.3146778047084808,-0.0866488367319107,-0.0980222001671791) * MODEL4_texOff(vec2(-1,-1)); +res += mat4(-0.0427063852548599,-0.1648644804954529,0.0379024669528008,-0.0208045244216919,-0.1719881892204285,0.3812213838100433,0.1619504541158676,0.0470844097435474,0.1719943434000015,-0.2370854169130325,0.0481606535613537,0.0425046421587467,0.0846692100167274,-0.1100198403000832,-0.2590966522693634,0.0026085490826517) * MODEL1_texOff(vec2(-1,0)); +res += mat4(-0.2735429108142853,0.1730803400278091,0.3100599348545074,0.0985910445451736,0.1110698357224464,0.6594412326812744,0.7377954721450806,-0.2639446258544922,-0.0634758099913597,-0.1699009984731674,-0.1212719082832336,0.0028376460541040,-0.1164819374680519,-1.0320463180541992,-0.0450741462409496,-0.1320651471614838) * MODEL2_texOff(vec2(-1,0)); +res += mat4(-0.0713348165154457,0.2158897370100021,0.0068049891851842,0.2112420648336411,0.1104797795414925,-0.1926867812871933,-0.2347638309001923,-0.0045262179337442,-0.1009434685111046,-0.0155510986223817,0.1563263982534409,0.0713946446776390,0.0621294677257538,-0.6294711828231812,0.1566622406244278,-0.0091994525864720) * MODEL3_texOff(vec2(-1,0)); +res += mat4(-0.3112075030803680,-0.6678212881088257,-0.2279316931962967,0.0975699722766876,0.0887780785560608,-0.6464394330978394,0.4730529189109802,-0.1636635661125183,0.3923094570636749,-0.2109929919242859,-0.0590078011155128,0.1201331168413162,0.0747839882969856,-0.6923506855964661,-0.1845218688249588,-0.6314243078231812) * MODEL4_texOff(vec2(-1,0)); +res += mat4(0.1466641724109650,-0.0201342832297087,0.0536496415734291,-0.1008828654885292,-0.0157332532107830,0.1040282845497131,-0.1103689000010490,0.0703886225819588,0.0615994036197662,0.1226205825805664,0.0363954119384289,0.0492972880601883,-0.0888964235782623,-0.4082735776901245,-0.0756086632609367,0.0448960103094578) * MODEL1_texOff(vec2(-1,1)); +res += mat4(0.0087998807430267,-0.1445795148611069,0.1685708165168762,-0.2043169140815735,0.0506292805075645,0.1092414259910583,-0.0573321618139744,0.2661716639995575,0.2547429502010345,0.5587040781974792,0.5166037082672119,-0.2281772345304489,0.5585767030715942,-0.3029598295688629,0.0948151722550392,-0.2011469453573227) * MODEL2_texOff(vec2(-1,1)); +res += mat4(0.0988581106066704,-0.0050347773358226,0.0214924830943346,0.0934388861060143,-0.0946071669459343,0.0599846467375755,-0.1351220011711121,0.1020606458187103,-0.2519436478614807,-0.0515622273087502,0.0842102542519569,0.0880617350339890,0.0549225658178329,-0.0714932754635811,0.0816045850515366,0.0435110107064247) * MODEL3_texOff(vec2(-1,1)); +res += mat4(-0.0891644656658173,0.2382436543703079,-0.0550603754818439,-0.1067416295409203,0.1685477197170258,0.0988656878471375,0.1751660406589508,0.1592041403055191,-0.0025217381771654,-0.0715155899524689,-0.1038656681776047,0.0117675382643938,-0.0858341678977013,0.1848066747188568,0.0730907768011093,0.1294896751642227) * MODEL4_texOff(vec2(-1,1)); +res += mat4(0.1480890065431595,0.1093944683670998,0.0273557640612125,0.0978048443794250,-0.1570419818162918,-0.0844203978776932,-0.1055161878466606,0.0666613504290581,0.0353829339146614,0.1729962825775146,0.1570480465888977,0.1071970239281654,0.0467069819569588,-0.0041125947609544,-0.1477214992046356,-0.0558170601725578) * MODEL1_texOff(vec2(0,-1)); +res += mat4(-0.0766604617238045,-0.0088386107236147,-0.1634499430656433,0.0254724863916636,-0.1766208857297897,0.1404360383749008,0.1722287982702255,0.0101510491222143,-0.1669355183839798,0.0280846152454615,-0.0156840607523918,-0.0646581575274467,0.5041709542274475,0.1393980532884598,-0.0197534523904324,0.0634621903300285) * MODEL2_texOff(vec2(0,-1)); +res += mat4(-0.1562757045030594,-0.1491460204124451,-0.1293769925832748,-0.0993995070457458,0.0518447905778885,-0.0883174687623978,-0.3151679337024689,0.0233054235577583,0.0155591340735555,0.2825752496719360,0.0820059627294540,0.1270603984594345,0.1299761980772018,-0.3897947967052460,-0.0983077734708786,0.1207662671804428) * MODEL3_texOff(vec2(0,-1)); +res += mat4(0.0201731696724892,0.5210286974906921,-0.0586822256445885,-0.0883760228753090,-0.0129213891923428,0.5142046809196472,0.1718618422746658,0.2975693345069885,-0.3396313786506653,0.1059687063097954,0.0777886360883713,-0.0071464977227151,0.1728369146585464,0.3824301362037659,-0.0833638533949852,-0.2928820848464966) * MODEL4_texOff(vec2(0,-1)); +res += mat4(0.0064954073168337,0.1674818545579910,0.0887469202280045,-0.7010315060615540,0.3658912777900696,-0.4067452549934387,0.4187158048152924,0.3783641755580902,0.1789065748453140,0.1189458966255188,0.0024689293932170,-0.0299046002328396,-0.2898829281330109,0.4775104820728302,0.1953880339860916,0.0813034474849701) * MODEL1_texOff(vec2(0,0)); +res += mat4(-0.0485714860260487,-0.5938887000083923,0.4764872193336487,0.1407720744609833,0.0093602379783988,0.1419454663991928,-0.4671202898025513,0.1723480522632599,-0.7166591882705688,0.4574638009071350,-0.0326357334852219,-0.0583588704466820,-0.0941323116421700,0.4582560956478119,0.1340586692094803,-0.3326202929019928) * MODEL2_texOff(vec2(0,0)); +res += mat4(-0.0684696584939957,-0.0358825363218784,-0.2395974695682526,0.0954800844192505,0.1807143390178680,0.4913621544837952,-0.0526139996945858,-0.6320487856864929,-0.0204235855489969,0.1250404417514801,0.2128109931945801,-0.0169341322034597,0.0350728556513786,-0.0781793445348740,0.0091825509443879,0.0751496478915215) * MODEL3_texOff(vec2(0,0)); +res += mat4(-0.4747851788997650,0.3133098781108856,-0.3814404308795929,0.1067867875099182,0.1430086493492126,0.1043839082121849,0.2127566039562225,-0.4224065542221069,0.0955729708075523,-0.3406157791614532,0.1246647760272026,0.1407596766948700,-0.2837055027484894,0.7860319614410400,-0.2027616798877716,-0.4297810494899750) * MODEL4_texOff(vec2(0,0)); +res += mat4(0.0459526479244232,0.2253930121660233,-0.1006621196866035,-0.3292084634304047,0.0446605868637562,-0.2177486866712570,-0.0548334866762161,-0.2977205514907837,0.1104483753442764,0.0816389992833138,0.1431364119052887,0.0702833682298660,-0.2710016071796417,-0.1197729110717773,-0.0982481837272644,0.2712083756923676) * MODEL1_texOff(vec2(0,1)); +res += mat4(-0.2157401442527771,-0.0775162652134895,0.4440428316593170,-0.6906740069389343,0.2072909325361252,-0.0245185904204845,-0.0075218183919787,-0.2698760926723480,-0.1381023973226547,-0.5785195231437683,0.6836381554603577,-0.2779017984867096,0.1575073450803757,-0.0533783882856369,0.1232813969254494,0.3853336870670319) * MODEL2_texOff(vec2(0,1)); +res += mat4(0.2543635964393616,-0.1031905189156532,-0.1863321214914322,0.1541504561901093,0.0573079325258732,-0.0309962946921587,-0.0597893632948399,0.1371916234493256,-0.1392024308443069,-0.1404805779457092,-0.0184998251497746,-0.3532753884792328,0.1169531121850014,-0.1732151508331299,0.1489966958761215,-0.3539541065692902) * MODEL3_texOff(vec2(0,1)); +res += mat4(-0.1335048824548721,-0.0026021120138466,-0.2061898857355118,-0.0614206343889236,0.1404600590467453,-0.0945246815681458,0.0452495291829109,0.1688058525323868,-0.0646559670567513,0.4283471107482910,0.1381076723337173,-0.1573742926120758,0.1510650962591171,0.1086952090263367,0.1548220962285995,0.0828442424535751) * MODEL4_texOff(vec2(0,1)); +res += mat4(-0.0242201369255781,0.0997985452413559,-0.1483216881752014,0.1901189386844635,-0.0716479793190956,0.1051960438489914,-0.0346695780754089,0.0622938871383667,0.1448462009429932,0.1205437332391739,0.0731006562709808,0.0288040526211262,-0.0466316454112530,-0.2884612679481506,0.0575182922184467,0.1197100803256035) * MODEL1_texOff(vec2(1,-1)); +res += mat4(0.0110533563420177,0.1390976607799530,-0.0671180188655853,0.0268602054566145,0.0147142149507999,-0.1020987257361412,0.0262565556913614,0.0969162508845329,-0.0498718880116940,-0.1287681758403778,0.0755067318677902,0.0858733430504799,0.1504770666360855,-0.1764158755540848,0.0081835035234690,0.0668434947729111) * MODEL2_texOff(vec2(1,-1)); +res += mat4(-0.0589775331318378,0.1392201185226440,-0.0361892916262150,-0.2372763007879257,0.1082609817385674,0.0466561466455460,0.0278300307691097,0.0998477637767792,0.0669115632772446,-0.2091742604970932,0.1381004750728607,0.0766300112009048,0.1446924954652786,0.1631669253110886,-0.0644430965185165,0.0767935365438461) * MODEL3_texOff(vec2(1,-1)); +res += mat4(0.0524473711848259,-0.1524970829486847,0.1444454789161682,-0.1205128729343414,0.0662038400769234,0.1602598577737808,0.0945349857211113,0.2149742394685745,-0.0533903911709785,0.3189899027347565,-0.1177339255809784,0.0019386430503801,0.1200195476412773,-0.2956101298332214,0.1650701165199280,0.0415289178490639) * MODEL4_texOff(vec2(1,-1)); +res += mat4(-0.0486291609704494,0.3953767120838165,-0.1255990713834763,-0.3293313086032867,0.1416009515523911,0.1239224448800087,0.2408447265625000,0.2534500956535339,0.1353967189788818,0.0096069956198335,0.0511887893080711,-0.1374846547842026,-0.2171303778886795,-0.0621167272329330,0.0551748014986515,-0.1582599282264709) * MODEL1_texOff(vec2(1,0)); +res += mat4(-0.1558980643749237,0.2135347872972488,-0.0382786728441715,0.0563892051577568,0.2865737378597260,-0.2930139899253845,0.1893816143274307,0.0373828299343586,0.1701010316610336,-0.1615521311759949,-0.0457543432712555,0.0079989656805992,0.4211249053478241,-0.2294072806835175,0.0191718637943268,-0.2165979892015457) * MODEL2_texOff(vec2(1,0)); +res += mat4(-0.0352835580706596,0.0126804132014513,0.1060079634189606,0.0810654908418655,0.0728891044855118,-0.0235399026423693,0.0480183027684689,-0.5944545269012451,0.0423041731119156,0.0811937302350998,0.1780243217945099,-0.3017739951610565,0.0543744824826717,0.0653476417064667,0.0503508001565933,0.0260920189321041) * MODEL3_texOff(vec2(1,0)); +res += mat4(-0.4671322107315063,-0.0928015857934952,0.2024582177400589,-0.2208473086357117,0.2275488525629044,0.1748902946710587,0.1170512139797211,-0.2093700170516968,-0.1567525714635849,0.7000426650047302,0.1178150996565819,0.0175986383110285,0.0477720387279987,-0.6606707572937012,0.2863810062408447,-0.3851889967918396) * MODEL4_texOff(vec2(1,0)); +res += mat4(0.2252556532621384,-0.2217492759227753,-0.0934017598628998,-0.0658233538269997,0.0241077225655317,-0.1290224492549896,0.0603329613804817,-0.0828618034720421,0.1114495173096657,0.0259773936122656,0.1097635626792908,0.0774067267775536,0.0278273224830627,-0.0860898271203041,-0.0221626814454794,-0.1882199347019196) * MODEL1_texOff(vec2(1,1)); +res += mat4(-0.1687875241041183,0.0478606447577477,-0.0516307912766933,-0.3704669475555420,0.1190483495593071,-0.1301420480012894,0.1876411139965057,0.0759634152054787,-0.0653661862015724,-0.0197278223931789,0.1632201224565506,0.1205626502633095,0.1190266013145447,0.2711841762065887,0.0045819743536413,-0.3520955741405487) * MODEL2_texOff(vec2(1,1)); +res += mat4(0.0539962351322174,-0.0687875524163246,0.0390589311718941,0.3079180121421814,-0.1250923424959183,-0.1496006846427917,0.0689963996410370,0.1750945746898651,-0.1237833872437477,0.2568069696426392,-0.0401086509227753,-0.6318426728248596,0.2254602909088135,0.1945572644472122,0.1131982803344727,0.2567225992679596) * MODEL3_texOff(vec2(1,1)); +res += mat4(-0.2952269017696381,-0.0350491218268871,-0.0263390596956015,0.0551356598734856,0.1985633224248886,-0.1453243643045425,0.0687370896339417,0.2197585701942444,-0.2182653546333313,0.2905139923095703,-0.0267444811761379,-0.2130593657493591,0.0779621079564095,-0.1403796523809433,0.2053179889917374,0.3907326459884644) * MODEL4_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(-0.1542360335588455,0.1412342339754105,0.2793002426624298,-0.0122240018099546) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Mapping 4_1 +//!BIND MODEL21 +//!BIND MODEL22 +//!BIND MODEL23 +//!BIND MODEL24 +//!SAVE MODEL1 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.4017260372638702,-0.2961334884166718,-0.1361677497625351,-0.0893436446785927); +res += mat4(0.2097381800413132,0.0455209799110889,0.0259832218289375,-0.0885811075568199,-0.0067618829198182,-0.0790565013885498,-0.1110692024230957,-0.0180842950940132,0.0158209800720215,-0.0187969636172056,-0.0204427260905504,-0.2228807806968689,-0.0711185410618782,-0.0127975698560476,0.0209482349455357,0.0492094419896603) * MODEL21_texOff(vec2(-1,-1)); +res += mat4(0.0825126916170120,0.0142949596047401,0.0014128192560747,0.1430399119853973,-0.1104710847139359,0.0465638190507889,-0.0133922407403588,-0.1491267383098602,-0.0963994413614273,-0.0794140994548798,-0.0114508774131536,0.2101793587207794,0.0521571338176727,0.0200386326760054,0.0641321614384651,-0.0391873233020306) * MODEL22_texOff(vec2(-1,-1)); +res += mat4(-0.1520352214574814,0.0362231470644474,-0.1735580861568451,-0.0480187125504017,0.0255993194878101,0.0021788808517158,0.0240470990538597,-0.0222435146570206,0.0286579951643944,0.0400702878832817,0.0619828291237354,0.1402423828840256,-0.0478758364915848,-0.0099906520918012,-0.0750462785363197,-0.0264946576207876) * MODEL23_texOff(vec2(-1,-1)); +res += mat4(-0.0258351694792509,0.0523434728384018,-0.0001439041661797,-0.4302446544170380,0.2808142602443695,0.0586529597640038,0.0233658440411091,0.0250332076102495,-0.1439442187547684,0.0323054641485214,0.0306089632213116,-0.0787173062562943,0.2927255332469940,-0.0432015433907509,0.1597368568181992,0.0631633177399635) * MODEL24_texOff(vec2(-1,-1)); +res += mat4(-0.0406202860176563,0.0948056876659393,-0.0016681901179254,0.0702174976468086,0.1148841306567192,-0.1661987155675888,0.0636739060282707,-0.0837402492761612,0.1120814383029938,-0.0271764490753412,-0.0322991609573364,-0.1166550219058990,-0.1365866363048553,-0.0204168818891048,-0.0006664992542937,-0.0552206113934517) * MODEL21_texOff(vec2(-1,0)); +res += mat4(-0.2642927765846252,0.0292292218655348,-0.0285296738147736,-0.0599881522357464,-0.0689995810389519,-0.1233489960432053,-0.1328419595956802,-0.2746882438659668,-0.2931686937808990,0.1162078306078911,-0.0205998104065657,-0.2093065381050110,0.4624252617359161,0.1201894655823708,0.1537899672985077,-0.1396795362234116) * MODEL22_texOff(vec2(-1,0)); +res += mat4(-0.0468857064843178,0.0680844113230705,-0.0621197260916233,-0.1120299324393272,0.2493423074483871,-0.0360720269382000,0.1085719913244247,0.0258240625262260,0.0603066310286522,-0.0100611504167318,0.0094873001798987,0.0243063438683748,-0.0421180427074432,0.0433366373181343,-0.0360187962651253,-0.0118739269673824) * MODEL23_texOff(vec2(-1,0)); +res += mat4(0.0021250096615404,0.0066482825204730,0.0012090024538338,-0.0424312166869640,-0.2473762929439545,0.0487834848463535,-0.0168533548712730,-0.0338227190077305,0.1850264370441437,0.1778176277875900,0.0584322102367878,-0.0196400973945856,0.0880245119333267,-0.0483354441821575,-0.0032457294873893,0.3941470980644226) * MODEL24_texOff(vec2(-1,0)); +res += mat4(0.1407747119665146,0.0285373218357563,-0.0326111093163490,-0.0126952938735485,-0.0986694246530533,-0.1084323599934578,0.2191060334444046,0.0870947688817978,-0.4361937344074249,-0.0923902466893196,-0.0366748645901680,-0.0339165031909943,-0.3207955658435822,0.0006921324529685,0.0325197428464890,-0.0059981741942465) * MODEL21_texOff(vec2(-1,1)); +res += mat4(0.0493194982409477,0.0047612232156098,-0.0501776710152626,0.0761292353272438,0.0440238378942013,-0.0962646976113319,-0.0159055087715387,-0.0891461148858070,-0.0807150751352310,0.1511806398630142,-0.0009086466743611,0.0526818148791790,0.0227832496166229,0.0163672640919685,0.1001215651631355,-0.0190013367682695) * MODEL22_texOff(vec2(-1,1)); +res += mat4(0.1284213811159134,0.0020348706748337,-0.0224223677068949,0.0618590824306011,-0.0182180218398571,-0.1362143009901047,-0.0246695056557655,-0.0094380369409919,0.0524647533893585,0.0233174934983253,-0.0424746274948120,-0.0974605008959770,0.0615278035402298,-0.0220964886248112,-0.0383524969220161,-0.0995529666543007) * MODEL23_texOff(vec2(-1,1)); +res += mat4(-0.0797834247350693,0.0756283625960350,-0.0404821448028088,-0.1541213095188141,0.2288120239973068,0.0381797179579735,-0.0554104149341583,-0.0191117413341999,0.1889799833297729,0.0610259659588337,-0.0413142666220665,-0.0681122764945030,-0.2335439771413803,0.0230415090918541,0.0580160096287727,-0.0376873239874840) * MODEL24_texOff(vec2(-1,1)); +res += mat4(0.1205652803182602,0.0567708238959312,0.0532078668475151,0.0023451852612197,0.0004279239219613,0.1615711599588394,0.0226642377674580,0.0061074844561517,0.0973163396120071,0.0454865433275700,0.0075657670386136,-0.0291110761463642,-0.2150427550077438,-0.0380354188382626,0.0195998251438141,0.0733001306653023) * MODEL21_texOff(vec2(0,-1)); +res += mat4(-0.0121162114664912,0.0026517154183239,0.1457572430372238,0.1338728964328766,0.0548631958663464,-0.0518958866596222,0.1171092316508293,0.1558521389961243,-0.1996449083089828,0.0507291331887245,-0.0580380372703075,-0.0554652661085129,0.1130587980151176,-0.0673785731196404,0.0412916131317616,0.0101153869181871) * MODEL22_texOff(vec2(0,-1)); +res += mat4(-0.0724401921033859,0.1120468005537987,-0.2719030678272247,-0.0212808307260275,0.2433746457099915,-0.0861721932888031,0.0562748312950134,-0.0693661868572235,-0.2198645323514938,-0.0902982130646706,0.0976229459047318,-0.0972380563616753,-0.1861834973096848,-0.0242842808365822,0.0934249460697174,-0.0893250033259392) * MODEL23_texOff(vec2(0,-1)); +res += mat4(0.1657098382711411,0.0126938382163644,-0.0438225679099560,-0.0742039903998375,0.2963215410709381,-0.0713309645652771,0.0827048197388649,0.0660631582140923,-0.1251822412014008,-0.0499160476028919,-0.2584874331951141,-0.1251225322484970,0.1618934273719788,-0.1064148470759392,0.1819295287132263,0.2171864509582520) * MODEL24_texOff(vec2(0,-1)); +res += mat4(0.1569976806640625,0.3101954758167267,0.0150568205863237,-0.0887403264641762,0.0229867883026600,0.4311129748821259,-0.1446330398321152,-0.1213236078619957,-0.0203808881342411,0.2042820155620575,-0.0433217436075211,-0.0179664622992277,-0.2846025526523590,-0.0990165472030640,0.0056579820811749,-0.0683584734797478) * MODEL21_texOff(vec2(0,0)); +res += mat4(-0.0853557437658310,-0.0774037018418312,-0.0415960364043713,-0.1887119114398956,-0.5862891077995300,0.0278921741992235,0.0256915763020515,-0.0210970006883144,0.2069407552480698,-0.1677509099245071,-0.0279460810124874,0.0731252431869507,0.5933819413185120,-0.1151936426758766,-0.0640015155076981,-0.0522294752299786) * MODEL22_texOff(vec2(0,0)); +res += mat4(-0.1260266751050949,-0.2648131549358368,-0.1370221376419067,0.2285791039466858,0.2001305967569351,0.1079795658588409,0.2466328740119934,0.0457031726837158,-0.0482302606105804,0.0922641381621361,0.1157679036259651,0.0874616578221321,-0.2405085563659668,0.2206059396266937,-0.1060627028346062,-0.1089278236031532) * MODEL23_texOff(vec2(0,0)); +res += mat4(-0.1133070364594460,0.0483875982463360,0.0714892596006393,-0.1741379052400589,-0.0075362133793533,-0.1605125516653061,-0.0356721058487892,-0.1034936383366585,-0.3046982884407043,-0.2816949784755707,0.1567458659410477,0.0703221932053566,-0.3049350976943970,0.0748891606926918,-0.3223647773265839,0.3255655467510223) * MODEL24_texOff(vec2(0,0)); +res += mat4(0.2866676747798920,0.0061847539618611,-0.0146162826567888,-0.0140134487301111,-0.0492958836257458,0.2509532868862152,0.2757189273834229,0.0991292446851730,-0.0792517438530922,0.2112044692039490,0.0271733049303293,0.0229198448359966,-0.1673509776592255,-0.1144836321473122,-0.0379185862839222,-0.1211301758885384) * MODEL21_texOff(vec2(0,1)); +res += mat4(0.3355725407600403,0.0442647859454155,-0.0838595926761627,0.1079318448901176,-0.2963336408138275,0.0576937161386013,-0.1598837226629257,0.0096225263550878,0.1108556762337685,-0.0730845928192139,0.0671025812625885,-0.0082114962860942,0.2242141515016556,0.1097397506237030,0.0286945737898350,0.1402641087770462) * MODEL22_texOff(vec2(0,1)); +res += mat4(0.0355083383619785,0.0025727578904480,0.0215286500751972,0.0641032680869102,0.1199254021048546,0.2343555688858032,-0.1932496577501297,-0.0099069811403751,0.2384359985589981,-0.0141440071165562,-0.1757063120603561,-0.0082274377346039,-0.0970101431012154,-0.0258587580174208,-0.1223197653889656,-0.0665969997644424) * MODEL23_texOff(vec2(0,1)); +res += mat4(-0.5002747178077698,-0.1544622480869293,0.0256742816418409,0.1729249954223633,-0.0812580212950706,-0.0510701090097427,0.0390088669955730,0.0295602343976498,-0.1957711130380630,-0.1831477880477905,-0.0720937699079514,0.0142635153606534,-0.2937955260276794,0.0205176435410976,0.0880671143531799,-0.0333128981292248) * MODEL24_texOff(vec2(0,1)); +res += mat4(0.0517796464264393,-0.0542778223752975,0.0063309129327536,0.0192148517817259,-0.1953081041574478,-0.0495741665363312,-0.0320096313953400,0.0262839626520872,0.1965485662221909,0.0579232648015022,0.0040284935384989,0.0084932213649154,-0.0804616361856461,-0.0339209511876106,-0.0477394163608551,-0.0912244990468025) * MODEL21_texOff(vec2(1,-1)); +res += mat4(0.1388270705938339,-0.0794934481382370,-0.0060276612639427,0.0195973459631205,0.1203104034066200,-0.0191927794367075,0.0834798216819763,-0.0049274601042271,-0.2150519788265228,-0.0466494448482990,-0.1428831666707993,-0.0850805714726448,0.1603372097015381,0.0740652829408646,0.0193773657083511,-0.1526438742876053) * MODEL22_texOff(vec2(1,-1)); +res += mat4(-0.3676199316978455,-0.0407186113297939,-0.0791402086615562,0.0401397943496704,-0.2821306586265564,0.1057764440774918,-0.0107554029673338,0.0340133756399155,-0.0502954721450806,0.1529730111360550,0.0264162663370371,-0.0219731032848358,-0.0581691265106201,0.0023856244515628,-0.0353333987295628,0.0176197551190853) * MODEL23_texOff(vec2(1,-1)); +res += mat4(-0.6594786643981934,-0.1180216446518898,-0.0536138117313385,-0.0736580863595009,0.3629510402679443,-0.0126025620847940,0.0704809352755547,0.0210348665714264,0.0380675010383129,0.1170240938663483,-0.0444464273750782,-0.0492949001491070,0.0362430326640606,0.0684820264577866,0.0186503622680902,0.0150468759238720) * MODEL24_texOff(vec2(1,-1)); +res += mat4(0.1482787728309631,-0.0365413613617420,0.0086090015247464,-0.0034506188239902,0.1712284833192825,-0.3256959319114685,-0.0199483390897512,-0.0377518758177757,-0.4051332771778107,-0.0191734265536070,-0.0113983657211065,0.0821225270628929,-0.4675072133541107,-0.2551299333572388,0.0303181782364845,-0.0401000455021858) * MODEL21_texOff(vec2(1,0)); +res += mat4(-0.3577684164047241,-0.1069141551852226,-0.0075849895365536,0.0423410274088383,-0.2249272912740707,0.1607808619737625,-0.0434508286416531,-0.0630646347999573,0.0467253662645817,-0.0850183889269829,0.0327854491770267,0.2028924971818924,0.4897454082965851,-0.0970613285899162,0.0489688776433468,-0.0030162953771651) * MODEL22_texOff(vec2(1,0)); +res += mat4(-0.0016830641543493,0.0805390849709511,-0.1892860084772110,-0.1161972433328629,-0.0632022395730019,0.1641979813575745,0.0994559228420258,-0.2015440464019775,0.0025371038354933,0.0016705504385754,0.0146092707291245,0.0851408392190933,-0.1325370669364929,0.0693494006991386,-0.0077681690454483,0.0221750363707542) * MODEL23_texOff(vec2(1,0)); +res += mat4(0.1509591937065125,0.0103544639423490,-0.0993898361921310,-0.1025217771530151,-0.3009583950042725,-0.0696848407387733,-0.0247161574661732,0.0697777643799782,-0.0050856992602348,-0.1217825189232826,0.0495748966932297,0.1007262021303177,-0.3699915111064911,0.0564243532717228,0.0082164555788040,0.0585284866392612) * MODEL24_texOff(vec2(1,0)); +res += mat4(0.0351840443909168,-0.0647222995758057,-0.0100252823904157,-0.0335104949772358,-0.2296986281871796,-0.1618685126304626,0.0621194280683994,-0.0818901062011719,0.1464237421751022,0.0368709973990917,-0.0003796320233960,-0.0569860376417637,-0.2498854845762253,-0.1455738246440887,0.0041685332544148,-0.0121320234611630) * MODEL21_texOff(vec2(1,1)); +res += mat4(0.2348484843969345,0.0012038116110489,-0.0960916578769684,0.1704002171754837,-0.2120207697153091,0.0348598435521126,-0.0052639539353549,0.0917042419314384,-0.7559375166893005,-0.2539097964763641,0.0407256148755550,-0.1221201717853546,0.3407650887966156,-0.1105026379227638,-0.0182420276105404,-0.0694810226559639) * MODEL22_texOff(vec2(1,1)); +res += mat4(-0.0135694928467274,-0.0555824525654316,-0.0049720159731805,-0.0731092318892479,-0.2569287121295929,0.2798099219799042,-0.0756197869777679,-0.0065567190758884,0.1923488527536392,-0.0026427132543176,-0.0308974441140890,0.0103814210742712,0.1518303751945496,0.0891486555337906,-0.0057648457586765,-0.0346083641052246) * MODEL23_texOff(vec2(1,1)); +res += mat4(-0.1657511144876480,0.0101053500548005,0.0973210036754608,-0.0716674402356148,0.2944849431514740,0.0328244790434837,-0.0530092269182205,-0.0151719739660621,0.1255925446748734,0.0991518944501877,0.0034502455964684,0.0031958257313818,-0.0669909268617630,0.0833601877093315,-0.0631546378135681,0.0264812838286161) * MODEL24_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(-0.0738428458571434,-0.0537280328571796,0.1541616767644882,0.0600824654102325) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Mapping 4_2 +//!BIND MODEL21 +//!BIND MODEL22 +//!BIND MODEL23 +//!BIND MODEL24 +//!SAVE MODEL2 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-1.3576488494873047,-1.2308499813079834,-0.0150942681357265,-0.1689438074827194); +res += mat4(0.0002222305047326,0.2126581817865372,-0.4436426460742950,-0.0265662744641304,0.0120948767289519,0.2213644683361053,-0.1760943531990051,0.1429262906312943,-0.2877714037895203,-0.0088296765461564,-1.9501984119415283,0.0885886475443840,-0.1727663576602936,-0.1734728217124939,-1.9370113611221313,-0.0425419993698597) * MODEL21_texOff(vec2(-1,-1)); +res += mat4(-0.0526014566421509,0.0003678515495267,0.2852052450180054,-0.0790593400597572,-0.3033583164215088,-0.1894276589155197,-1.5888235569000244,-0.0376820005476475,0.0662743598222733,-0.4705247879028320,-0.8843554258346558,0.0803821012377739,0.1606564372777939,-0.1361556947231293,0.0592208355665207,0.0616206489503384) * MODEL22_texOff(vec2(-1,-1)); +res += mat4(-0.0321790128946304,0.2487015426158905,-0.3988892734050751,0.0128471786156297,-0.0173364486545324,-0.1853401660919189,-0.2320190221071243,-0.0286743044853210,-0.0776202753186226,0.0980081930756569,0.0480991043150425,0.0124340718612075,-0.0705425217747688,0.0209217481315136,-0.5196899771690369,-0.0973696857690811) * MODEL23_texOff(vec2(-1,-1)); +res += mat4(-0.0016310828505084,-0.1694957464933395,-3.7118730545043945,-0.0495798103511333,-0.0887507721781731,-0.1900598108768463,0.1969994455575943,-0.1086452603340149,-0.0323995985090733,-0.1345285028219223,0.1391065418720245,0.0422845482826233,0.5854858160018921,-0.8024836182594299,-1.3573205471038818,0.1715474575757980) * MODEL24_texOff(vec2(-1,-1)); +res += mat4(-0.5026074051856995,0.9941442608833313,-0.1181278079748154,-0.1071377545595169,-0.3640037477016449,0.1423653513193130,0.1483183354139328,0.1491519063711166,0.4714116454124451,-0.6614524722099304,0.0689334198832512,0.4130813181400299,-0.2428199052810669,-0.5482697486877441,-0.0643231868743896,0.0820593982934952) * MODEL21_texOff(vec2(-1,0)); +res += mat4(0.3884255290031433,0.0864198803901672,0.0709599480032921,-0.0727549865841866,-0.0210617538541555,-0.5082446336746216,0.0696677193045616,-0.0653665512800217,-0.3965116739273071,-0.5612360239028931,-0.0430528111755848,-0.1742940098047256,-0.0391180962324142,0.0120964674279094,0.0278037898242474,-0.1474379450082779) * MODEL22_texOff(vec2(-1,0)); +res += mat4(-0.0801782086491585,-0.3312005102634430,-0.0722291469573975,0.1868390589952469,-0.1296129226684570,-0.0983095318078995,0.1288020163774490,0.0442728921771049,-0.1188574805855751,-0.2784206569194794,0.0334004350006580,0.0193342156708241,-0.2584644556045532,0.2669636309146881,-0.0028693764470518,-0.1062500998377800) * MODEL23_texOff(vec2(-1,0)); +res += mat4(0.0388953760266304,0.0024954907130450,-0.1337166726589203,-0.1613133698701859,0.1160835772752762,0.1638180911540985,-0.0579901784658432,0.0131390430033207,-0.2732858955860138,-0.3843875527381897,-0.0702876299619675,-0.1991503983736038,-0.6187487840652466,0.1528591811656952,0.0061654588207603,-0.2680108845233917) * MODEL24_texOff(vec2(-1,0)); +res += mat4(-0.2792676091194153,0.0347407497465611,-0.0249916408210993,-0.0471252836287022,0.0655104964971542,0.2337010949850082,0.0092136999592185,0.0498593896627426,0.2532851994037628,-0.3329302668571472,0.0197737384587526,0.2485453784465790,-0.0320697724819183,-0.2859528362751007,-0.0262277740985155,-0.0102716153487563) * MODEL21_texOff(vec2(-1,1)); +res += mat4(-0.1766127049922943,-0.2082416713237762,0.0884197950363159,0.0531922541558743,0.0156908091157675,0.0239643827080727,0.0414093174040318,0.0693400129675865,-0.0447647050023079,0.0395914763212204,0.0231642629951239,-0.0426138713955879,-0.1834529191255569,0.0084871575236320,-0.0274198353290558,-0.0644422397017479) * MODEL22_texOff(vec2(-1,1)); +res += mat4(-0.0741052180528641,0.0246290937066078,-0.0369153693318367,0.0561013817787170,0.1028454825282097,0.0061585321091115,-0.0537896417081356,-0.0337303876876831,-0.0662548840045929,-0.0498280376195908,0.0457142703235149,0.0811578556895256,-0.1037622764706612,-0.0888546183705330,-0.0436059087514877,-0.0936727076768875) * MODEL23_texOff(vec2(-1,1)); +res += mat4(-0.2277279943227768,-0.1982262581586838,-0.0134356319904327,-0.2890455722808838,-0.0378793254494667,0.0101268338039517,-0.0035741112660617,-0.0955145284533501,-0.0813091322779655,-0.0232999380677938,0.0124657666310668,0.0689150840044022,0.0433216728270054,0.2974031269550323,0.0363154485821724,0.0258811712265015) * MODEL24_texOff(vec2(-1,1)); +res += mat4(-0.0491647906601429,0.0150416148826480,0.0893379226326942,0.1105656847357750,-0.1163008585572243,-0.1098743379116058,0.0009594966541044,-0.0562435500323772,0.0399161949753761,0.0971821621060371,0.0255073197185993,0.0342289730906487,-0.1388117969036102,-0.2983616590499878,-0.0290130954235792,-0.0430332459509373) * MODEL21_texOff(vec2(0,-1)); +res += mat4(0.1405151784420013,-0.1738028973340988,0.0729382410645485,0.0060116075910628,-0.1093452870845795,-0.3609048128128052,0.0800551176071167,-0.1479738205671310,-0.0661064237356186,0.0784058421850204,0.0276903901249170,-0.1308635324239731,-0.3087964355945587,0.2989252507686615,0.0413251183927059,0.0298706330358982) * MODEL22_texOff(vec2(0,-1)); +res += mat4(-0.4313424229621887,-0.0101253967732191,-0.0788659304380417,0.1731674820184708,-0.0627171993255615,-0.0078195510432124,0.0234318710863590,-0.1402248293161392,-1.7050009965896606,-0.1074014008045197,0.0621128939092159,0.0886992216110229,0.1283528059720993,-0.0102964043617249,-0.0357159823179245,0.0694401115179062) * MODEL23_texOff(vec2(0,-1)); +res += mat4(-0.2309935092926025,-0.3976728916168213,-0.1636141389608383,-0.0505089759826660,0.0542949028313160,-0.0111915767192841,0.0006312167388387,0.1045704483985901,-0.0083215739578009,0.0779492780566216,-0.1483388245105743,-0.1207443773746490,0.5473612546920776,-0.0428715869784355,0.0853060111403465,-0.3940364718437195) * MODEL24_texOff(vec2(0,-1)); +res += mat4(-0.0491685457527637,-0.4690579175949097,0.0852821841835976,0.1396847814321518,0.3277880549430847,0.0143328038975596,0.1600318551063538,-0.0773719325661659,-2.0900523662567139,-0.8753762245178223,-0.0359358787536621,0.5931379199028015,-1.8106154203414917,-1.9298766851425171,-0.0305595826357603,-0.2771121561527252) * MODEL21_texOff(vec2(0,0)); +res += mat4(-0.5724825263023376,-0.3126274943351746,-0.1602590829133987,-0.1358845680952072,-0.3762953877449036,0.4733247160911560,-0.1556626856327057,-0.1226351782679558,0.3881927132606506,-0.7162722349166870,0.0828518494963646,-0.1600222438573837,0.3124102056026459,-0.2831121385097504,0.1034529954195023,0.1893790364265442) * MODEL22_texOff(vec2(0,0)); +res += mat4(0.5791679620742798,0.4442782700061798,-0.0131130153313279,-0.0340854935348034,-0.5826350450515747,0.3008985519409180,0.1346484422683716,-0.0789088234305382,0.2625213563442230,-0.2921890914440155,-0.0083887400105596,-0.0039507765322924,-0.3452711403369904,-1.0642710924148560,0.1451635956764221,0.6255943775177002) * MODEL23_texOff(vec2(0,0)); +res += mat4(-0.5329001545906067,-0.2816036939620972,0.1381849050521851,0.1182930096983910,-0.5080990195274353,-0.4889704585075378,0.1049989685416222,0.3051874935626984,0.7868168354034424,-0.4957133829593658,-0.0782789364457130,0.1021046563982964,-1.4790620803833008,-0.4282301962375641,0.0350809842348099,0.1706625968217850) * MODEL24_texOff(vec2(0,0)); +res += mat4(-0.1630038321018219,-0.1386075019836426,-0.0036164813209325,0.1390982419252396,-0.0548254437744617,0.2364829033613205,-0.0585732832551003,0.0257268603891134,-0.4578105807304382,0.2689254581928253,-0.0008447229629382,0.1336311846971512,-0.2541263699531555,-0.9333946108818054,-0.0084364973008633,-0.1582275032997131) * MODEL21_texOff(vec2(0,1)); +res += mat4(-0.0611987821757793,0.3971358239650726,0.0519041791558266,-0.2514325678348541,-0.4202302098274231,0.1293289810419083,0.0303316470235586,-0.1522188931703568,-0.3939264118671417,-0.8553654551506042,0.0072963964194059,0.0974675714969635,-0.2082433849573135,-0.0826819464564323,-0.0346855260431767,-0.0538582429289818) * MODEL22_texOff(vec2(0,1)); +res += mat4(-0.3731344044208527,-0.3428409397602081,-0.0580359585583210,0.0011560770217329,-0.4720404148101807,0.0411235652863979,-0.0730860307812691,-0.1378994882106781,-0.2114659398794174,-0.2510804831981659,0.0324120186269283,-0.0588292889297009,-0.0750492289662361,0.0516041405498981,0.0142624052241445,0.0762141942977905) * MODEL23_texOff(vec2(0,1)); +res += mat4(0.2003266066312790,-0.3097744882106781,-0.0497338101267815,0.1900421231985092,0.2505185008049011,0.2198565602302551,0.0431300476193428,0.0684944465756416,-0.5235838890075684,0.0500761978328228,0.0365656577050686,-0.0031358739361167,-0.2059436887502670,0.1846282482147217,0.0071397400461137,0.0693401098251343) * MODEL24_texOff(vec2(0,1)); +res += mat4(-0.0042014140635729,-0.0525740236043930,-0.0171905551105738,-0.0581245087087154,0.0485358685255051,-0.0782260224223137,-0.0030551524832845,-0.0716038197278976,-0.0489421710371971,-0.0497942827641964,0.0204748343676329,-0.0116019900888205,-0.1027395874261856,-0.2276215404272079,-0.0065505700185895,0.0101102003827691) * MODEL21_texOff(vec2(1,-1)); +res += mat4(-0.0748871713876724,-0.1956935524940491,0.0010277481051162,-0.0725164115428925,-0.1371487826108932,-0.2153946757316589,0.0289711598306894,0.0479902103543282,-0.3926549851894379,-0.3859789967536926,-0.0123246852308512,0.0445899255573750,-0.0373382009565830,-0.0602863170206547,-0.0710507780313492,-0.0711589530110359) * MODEL22_texOff(vec2(1,-1)); +res += mat4(0.0720328018069267,0.2373535484075546,-0.0241738017648458,-0.0539755597710609,-0.0287363287061453,0.1945647597312927,-0.0113422973081470,0.2388608008623123,0.1582005470991135,0.4138346910476685,-0.0016715164529160,0.0711019933223724,-0.1226481050252914,-0.0764425471425056,-0.0585050545632839,-0.0245702769607306) * MODEL23_texOff(vec2(1,-1)); +res += mat4(-0.2826507687568665,-0.1364578604698181,-0.0561215952038765,-0.0743082463741302,-0.2760685682296753,-0.0331254787743092,0.0283021926879883,0.1009528338909149,0.0032031354494393,0.0542680397629738,-0.0284216683357954,-0.0048767263069749,-0.3685995340347290,-0.1592012792825699,0.0067512779496610,0.1387375891208649) * MODEL24_texOff(vec2(1,-1)); +res += mat4(0.0073975622653961,0.2009483426809311,-0.0117812231183052,-0.0740807130932808,-0.2477743327617645,-0.3778422772884369,0.0459524206817150,-0.0773427635431290,0.1540841013193130,0.3211053013801575,-0.0188168492168188,-0.0615393407642841,0.0032952076289803,-0.2650936841964722,-0.0279312487691641,-0.1892956048250198) * MODEL21_texOff(vec2(1,0)); +res += mat4(-0.0320254303514957,0.0943216234445572,-0.0224026683717966,-0.1085841134190559,-0.8607506155967712,-0.9446119070053101,0.0583956837654114,0.0846797972917557,-0.3580646812915802,-0.1429646909236908,0.0066589307971299,0.0307449307292700,0.3498374819755554,0.0596029423177242,-0.0778255090117455,-0.2372472286224365) * MODEL22_texOff(vec2(1,0)); +res += mat4(-0.3538910746574402,-0.5438384413719177,0.0300271715968847,0.0259353835135698,-0.0217854585498571,0.1497974097728729,0.0079162567853928,0.1637305915355682,-0.1231346353888512,-0.0285450499504805,-0.0020361966453493,0.0748025998473167,-0.1468269675970078,0.0726128518581390,0.0329792387783527,-0.0343051739037037) * MODEL23_texOff(vec2(1,0)); +res += mat4(-0.3467789888381958,-0.6177062988281250,-0.0004547669668682,-0.0695421993732452,0.0771730020642281,0.4323795735836029,-0.0108288945630193,-0.2320528030395508,-0.3504230678081512,-0.2344139665365219,-0.0060447426512837,0.0424748435616493,-0.3702187836170197,-0.1867645382881165,0.0227929949760437,-0.0589118450880051) * MODEL24_texOff(vec2(1,0)); +res += mat4(-0.1212871819734573,-0.0925505831837654,-0.0210698843002319,-0.1102557256817818,0.0964596942067146,-0.1762590408325195,-0.0260235387831926,-0.0322984941303730,-0.2268410772085190,-0.1099716052412987,0.0028596802148968,-0.0435424409806728,0.0338655002415180,-0.0084998104721308,0.0110553447157145,-0.0637936368584633) * MODEL21_texOff(vec2(1,1)); +res += mat4(-0.3963612020015717,-0.7054618597030640,0.0888577476143837,0.0486618503928185,-0.2505936920642853,-0.0695356801152229,0.0166353881359100,0.0361196286976337,0.1280656009912491,0.1052540093660355,-0.0460976138710976,-0.4243462979793549,-0.1481497287750244,-0.3150199055671692,-0.0155357057228684,-0.0100513044744730) * MODEL22_texOff(vec2(1,1)); +res += mat4(0.0335134156048298,-0.0727859139442444,-0.0133455023169518,0.0521334595978260,-0.1833966523408890,0.1802965402603149,0.0792936831712723,0.4655365049839020,0.1774647384881973,0.1161453500390053,0.0228213164955378,0.0274636540561914,0.0343310683965683,-0.0128710521385074,-0.0213328227400780,-0.0579575076699257) * MODEL23_texOff(vec2(1,1)); +res += mat4(0.0513603501021862,0.0107538942247629,-0.0082096224650741,-0.0443236157298088,0.1392785608768463,0.3404515385627747,0.0024068458005786,0.0242234971374273,0.1059209108352661,0.1276680678129196,0.0005027093575336,0.0201072059571743,-0.1857346147298813,-0.1753924787044525,-0.0199812017381191,-0.0288379266858101) * MODEL24_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(0.0588584952056408,0.0545518882572651,0.0072807688266039,0.1775767654180527) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Mapping 4_3 +//!BIND MODEL21 +//!BIND MODEL22 +//!BIND MODEL23 +//!BIND MODEL24 +//!SAVE MODEL3 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.1500374227762222,-0.5942718982696533,-0.2223509401082993,-0.7379623055458069); +res += mat4(0.0377564951777458,-0.0878159105777740,-0.0640691071748734,-0.1205077320337296,0.0063348636031151,-0.0615546405315399,0.0725330412387848,0.0315341800451279,0.0305612366646528,-0.1050232648849487,0.0199433136731386,-0.0293507445603609,0.0054702782072127,-0.1033336594700813,-0.0246256664395332,-0.0293234679847956) * MODEL21_texOff(vec2(-1,-1)); +res += mat4(0.0960297584533691,0.0489416979253292,0.0456786714494228,-0.0304410420358181,-0.0264467485249043,-0.1808978915214539,0.0002239939494757,0.0978726968169212,0.0576720982789993,0.0627044662833214,0.1644076406955719,-0.1149405092000961,-0.0502514913678169,0.0530369617044926,-0.0983912944793701,-0.0911485180258751) * MODEL22_texOff(vec2(-1,-1)); +res += mat4(0.0192345343530178,0.0737345293164253,-0.0694067627191544,-0.1192083954811096,-0.0153750851750374,-0.0094519695267081,0.0430041737854481,-0.0007860237383284,0.0574510805308819,-0.0099295461550355,-0.0037663441617042,-0.0417793281376362,-0.0447106771171093,0.0573733784258366,-0.0056610680185258,-0.1495522707700729) * MODEL23_texOff(vec2(-1,-1)); +res += mat4(0.0020685896743089,-0.1271421909332275,-0.0915819332003593,-0.1303324252367020,-0.0046015819534659,-0.0537667907774448,-0.0757439434528351,-0.1034274026751518,-0.0360045954585075,0.1330265849828720,-0.1028348729014397,0.0029844422824681,-0.1337770670652390,0.0038527846336365,0.1660691797733307,-0.1233417540788651) * MODEL24_texOff(vec2(-1,-1)); +res += mat4(0.1424528658390045,-0.3160114586353302,0.1415333896875381,0.3533829748630524,-0.0286452919244766,-0.3519482910633087,-0.0720888450741768,0.0498850271105766,-0.0992853417992592,-0.1978190243244171,0.1384896934032440,-0.9744571447372437,-0.0627422258257866,0.0621821247041225,-0.0077503439970315,-0.6523983478546143) * MODEL21_texOff(vec2(-1,0)); +res += mat4(0.1006538048386574,0.2699738442897797,-0.0071857841685414,0.1695696413516998,0.0032719045411795,-0.6151775121688843,0.0345238298177719,-0.2692067325115204,0.0156748909503222,0.0570620149374008,-0.1344172209501266,-0.1108755916357040,0.0470011979341507,0.1119287982583046,0.0036730696447194,0.0595798902213573) * MODEL22_texOff(vec2(-1,0)); +res += mat4(-0.0951662063598633,-0.1915390044450760,0.0358977876603603,-0.0575600825250149,0.0578359439969063,-0.1603155881166458,-0.0611245594918728,-0.0717436149716377,-0.0712571591138840,-0.0973955020308495,-0.0607430003583431,-0.2901412248611450,-0.0458060204982758,-0.0617536008358002,0.0254287105053663,0.1835725605487823) * MODEL23_texOff(vec2(-1,0)); +res += mat4(0.0369277596473694,0.1574100255966187,-0.1701986193656921,-0.0723235905170441,-0.0370706990361214,0.0901095569133759,0.0174682717770338,0.1185340285301208,-0.0318144150078297,0.1076717376708984,0.0036862681154162,0.2513314783573151,-0.0918712839484215,0.0061007686890662,-0.0271367914974689,0.0996778458356857) * MODEL24_texOff(vec2(-1,0)); +res += mat4(-0.2165136039257050,-0.1521220058202744,0.0699792578816414,-0.3011166453361511,0.0376400910317898,0.0138800414279103,-0.0751532092690468,0.2856407761573792,-0.0486437380313873,-0.4256193339824677,-0.0754015594720840,0.1991343349218369,0.0650824233889580,0.0828495621681213,-0.0835029110312462,-0.0316090695559978) * MODEL21_texOff(vec2(-1,1)); +res += mat4(-0.0260196980088949,-0.1864022314548492,-0.0310866907238960,-0.0623466856777668,-0.0642979294061661,-0.1373288780450821,-0.0159831158816814,-0.0124002248048782,0.0798067525029182,0.1961414515972137,0.1806756108999252,-0.1208630427718163,-0.0814799442887306,0.0403802730143070,-0.0328070558607578,-0.1056066974997520) * MODEL22_texOff(vec2(-1,1)); +res += mat4(-0.0299819316715002,-0.0889745429158211,0.0569998808205128,0.0332611165940762,0.0115742832422256,0.1793977320194244,0.0184927303344011,0.2229049056768417,-0.0112913632765412,-0.0566435828804970,0.0235551521182060,-0.0210226234048605,-0.0147442752495408,-0.0738831833004951,-0.0232846438884735,-0.2047595083713531) * MODEL23_texOff(vec2(-1,1)); +res += mat4(-0.0327938608825207,-0.0907200723886490,-0.0786106139421463,-0.1022977158427238,-0.0338565595448017,0.0219198167324066,0.0460100173950195,-0.0048057329840958,0.0835243389010429,-0.1593090891838074,0.0768458098173141,-0.2045104503631592,0.0142094166949391,0.0893841013312340,0.0081078819930553,0.0187870431691408) * MODEL24_texOff(vec2(-1,1)); +res += mat4(0.0743091925978661,0.1794881671667099,-0.0103652523830533,-0.0236152894794941,0.0288069024682045,0.0337621532380581,-0.2239373475313187,-0.2287402004003525,0.0656228065490723,-0.1356081217527390,-0.0215050932019949,-0.0495702549815178,-0.0080893067643046,-0.0129955671727657,-0.0376574248075485,-0.1526909023523331) * MODEL21_texOff(vec2(0,-1)); +res += mat4(0.1155378967523575,0.0461832843720913,0.0694100186228752,0.0977504998445511,0.1158053204417229,-0.4835779368877411,-0.1165023297071457,-0.3830997645854950,-0.0268404856324196,0.1766329109668732,-0.0935022532939911,0.2643847167491913,0.1049658805131912,-0.2734475135803223,0.1369055956602097,-0.1859778463840485) * MODEL22_texOff(vec2(0,-1)); +res += mat4(0.0853447467088699,-0.2528608143329620,0.1267696619033813,-0.2803182601928711,-0.0168390404433012,-0.0977839827537537,-0.0200390461832285,-0.0927241444587708,0.2636003494262695,-0.3587063848972321,0.0953568816184998,-0.2884494066238403,0.0479793325066566,-0.0213569868355989,0.1081461161375046,0.1447212696075439) * MODEL23_texOff(vec2(0,-1)); +res += mat4(0.0436067730188370,-0.1798084676265717,-0.0948345884680748,-0.2366777062416077,0.0355512723326683,0.0659205242991447,0.0968739762902260,0.0681645944714546,-0.0963704809546471,-0.2047032862901688,0.0296659562736750,0.2185016721487045,0.0729882717132568,-0.2979782521724701,0.0987690463662148,0.1509135216474533) * MODEL24_texOff(vec2(0,-1)); +res += mat4(-0.3182998895645142,0.3356809318065643,0.0111110834404826,0.0150333689525723,0.1041853725910187,0.4490790963172913,0.0896795317530632,-0.0866959914565086,0.0392647124826908,-0.1925222277641296,0.1741016954183578,-0.4646819829940796,0.0497794710099697,-0.5663666725158691,-0.2714867889881134,-0.0592256747186184) * MODEL21_texOff(vec2(0,0)); +res += mat4(0.1111427769064903,-0.1000821515917778,-0.0178503897041082,-0.1479834318161011,-0.1389848440885544,-1.0152058601379395,0.0488378591835499,-0.9044187664985657,-0.0814175009727478,0.1881174147129059,0.1010084003210068,-0.0512255541980267,-0.2274746447801590,0.1815966516733170,0.1712158620357513,0.4774157404899597) * MODEL22_texOff(vec2(0,0)); +res += mat4(-0.0059305485337973,-0.1144885420799255,-0.2710224986076355,-0.1402731090784073,0.1813898980617523,-0.2947344481945038,-0.1376086026430130,0.0725278779864311,-0.3061678409576416,-0.5112835168838501,0.0217667482793331,-0.8153681159019470,-0.0844952687621117,-0.2149795889854431,0.1889654546976089,-1.2212493419647217) * MODEL23_texOff(vec2(0,0)); +res += mat4(-0.0341001749038696,-0.1420918703079224,0.1134353876113892,-0.4964024424552917,-0.1400564312934875,-0.1850375086069107,-0.0509905591607094,-0.3107085227966309,-0.1972130686044693,-0.2262127101421356,-0.2440759539604187,-0.9205277562141418,0.0067904163151979,-0.1521847695112228,-0.0305872578173876,-0.1767082661390305) * MODEL24_texOff(vec2(0,0)); +res += mat4(0.1605410724878311,0.3388625383377075,0.0714963674545288,-0.1148637980222702,-0.0052194483578205,-0.0250399727374315,0.0900572389364243,-0.2010394185781479,-0.0373205728828907,0.2243118286132812,0.0030151007231325,-0.2477314919233322,-0.0448656566441059,-0.1584238708019257,-0.0071867620572448,-0.1099929586052895) * MODEL21_texOff(vec2(0,1)); +res += mat4(0.2631414830684662,0.1322173625230789,0.0458182729780674,-0.3096752762794495,-0.0986642092466354,-0.0550793372094631,0.0348238013684750,-0.1960585862398148,0.0001171030016849,-0.0951457470655441,-0.0208438690751791,0.3503931760787964,-0.1294434219598770,-0.2129892706871033,-0.0337771810591221,-0.3645725846290588) * MODEL22_texOff(vec2(0,1)); +res += mat4(0.0230048038065434,-0.3137907087802887,-0.0455664396286011,-0.3168298602104187,-0.1254154592752457,-0.3636295497417450,0.0555187463760376,-0.5812803506851196,0.0968207567930222,0.0430275276303291,0.0260681677609682,0.0166934933513403,-0.0593838915228844,-0.0298860482871532,-0.0491982251405716,0.1096109300851822) * MODEL23_texOff(vec2(0,1)); +res += mat4(-0.0425861254334450,0.2389982491731644,-0.2154820412397385,0.0344516113400459,0.0133962258696556,0.1938802748918533,-0.0303258616477251,0.1895022094249725,0.1505155861377716,-0.2698439359664917,0.0434911847114563,-0.0383978523313999,-0.0998124107718468,-0.0785168483853340,0.0346746817231178,-0.3279105126857758) * MODEL24_texOff(vec2(0,1)); +res += mat4(-0.0323498025536537,0.0846708193421364,0.0160553399473429,0.0838855579495430,0.0505255311727524,0.0333184413611889,0.0966457277536392,-0.0295467507094145,0.0452348515391350,-0.0351583436131477,-0.0023901220411062,-0.0617642849683762,-0.1099836751818657,0.0652595907449722,-0.1435693353414536,0.0057237530127168) * MODEL21_texOff(vec2(1,-1)); +res += mat4(-0.0193974375724792,0.0016734238015488,0.0061322576366365,0.1420889347791672,0.1173601076006889,-0.2071816623210907,-0.0622596442699432,-0.1906256228685379,-0.0246932730078697,-0.0615690983831882,0.1726177930831909,-0.2643700242042542,-0.0333817377686501,0.0129060298204422,0.0331733487546444,-0.1577276885509491) * MODEL22_texOff(vec2(1,-1)); +res += mat4(0.0801763385534286,-0.0372839346528053,-0.0168425142765045,-0.2399083971977234,-0.0189349614083767,0.0942898318171501,-0.0729247778654099,-0.0238776616752148,0.1150797605514526,0.1397802680730820,-0.0183684974908829,0.1276283115148544,-0.0157978404313326,-0.0528203174471855,-0.1145365387201309,0.1804308444261551) * MODEL23_texOff(vec2(1,-1)); +res += mat4(0.0500828027725220,-0.0335871949791908,-0.2075745761394501,-0.1354399025440216,-0.0421485789120197,-0.1626830250024796,-0.0355155467987061,0.2916752696037292,0.0702783986926079,0.1286368221044540,0.0692304298281670,-0.0455261133611202,-0.0741670653223991,-0.0544008165597916,-0.0917922481894493,-0.0997074395418167) * MODEL24_texOff(vec2(1,-1)); +res += mat4(-0.0355155616998672,-0.0909207761287689,-0.1253741830587387,0.1635140925645828,0.1276675611734390,-0.0806095600128174,-0.1514761596918106,0.0043431958183646,0.0002952353679575,-0.0139419650658965,0.0475891306996346,0.0351057685911655,-0.0728895291686058,-0.1997010409832001,-0.0971152633428574,-0.1916919946670532) * MODEL21_texOff(vec2(1,0)); +res += mat4(0.1372255682945251,-0.0207272171974182,0.0889865458011627,-0.2631049454212189,-0.2188265025615692,0.0158922318369150,0.1334166079759598,-0.0689261108636856,0.0453482381999493,-0.0496409982442856,-0.2181027680635452,0.1843331903219223,-0.1296746879816055,0.0919201672077179,-0.1342144906520844,0.1672039926052094) * MODEL22_texOff(vec2(1,0)); +res += mat4(-0.1896142363548279,-0.0512465536594391,0.0234036892652512,-0.1613356769084930,0.0824260115623474,0.1054236441850662,0.0918725058436394,-0.3392824828624725,0.1978214532136917,0.0938010141253471,0.0898380726575851,-0.0236080754548311,-0.0496704280376434,-0.2935241758823395,0.0667751133441925,-0.0413334220647812) * MODEL23_texOff(vec2(1,0)); +res += mat4(-0.2518352568149567,-0.0967062264680862,-0.0311718937009573,-0.1696653813123703,0.0618922710418701,-0.1388243883848190,-0.1375103592872620,-0.0170210711658001,-0.1778676807880402,-0.0918823927640915,0.0683643892407417,0.1721435934305191,-0.0004981383099221,-0.0015442923177034,0.0468944981694221,-0.2256978154182434) * MODEL24_texOff(vec2(1,0)); +res += mat4(0.0285391937941313,-0.0687587484717369,-0.0310993380844593,0.0689143836498260,-0.0630959719419479,-0.0410000756382942,0.0744176656007767,0.1270437687635422,-0.0114579461514950,-0.1284157335758209,0.0115379542112350,-0.2296856939792633,-0.0008102712454274,0.0451832450926304,0.0238849166780710,-0.1001020148396492) * MODEL21_texOff(vec2(1,1)); +res += mat4(0.1745711863040924,-0.1091389134526253,0.1056216657161713,-0.2693535089492798,0.0516469962894917,-0.0944463908672333,-0.1669354140758514,-0.2559992372989655,-0.1755313277244568,0.0471935942769051,0.1343710720539093,-0.0531820692121983,-0.0740357264876366,0.0620074383914471,0.0233539957553148,0.1963060945272446) * MODEL22_texOff(vec2(1,1)); +res += mat4(0.0198090206831694,-0.0145830921828747,0.0248054042458534,0.0190177466720343,0.0270872525870800,0.1001457944512367,-0.1013614386320114,-0.2797769010066986,0.0309396479278803,-0.0560803562402725,-0.0174046792089939,0.0804931297898293,0.0086273970082402,0.1054844632744789,-0.0108949420973659,0.0660903900861740) * MODEL23_texOff(vec2(1,1)); +res += mat4(-0.0267767459154129,-0.2279723435640335,0.0914289280772209,0.0536161959171295,-0.1565176099538803,-0.1910002529621124,0.0184659957885742,-0.0085408445447683,0.1435611546039581,0.0478647537529469,-0.0153546296060085,-0.1074507609009743,-0.0590481050312519,-0.0880034863948822,-0.0324065126478672,-0.1419066786766052) * MODEL24_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(0.1263981312513351,0.1096418797969818,0.0206240471452475,0.0498061478137970) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Mapping 4_4 +//!BIND MODEL21 +//!BIND MODEL22 +//!BIND MODEL23 +//!BIND MODEL24 +//!SAVE MODEL4 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.6117309331893921,-0.2601747810840607,-0.1224166676402092,-0.0921374112367630); +res += mat4(0.0588301829993725,0.1117252707481384,0.0290296375751495,-0.0075088986195624,-0.2325710505247116,-0.0747735947370529,0.0284211989492178,0.0291971098631620,-0.0733436122536659,-0.0913104042410851,0.0549855045974255,-0.0942513719201088,-0.1460192650556564,0.1396849751472473,0.0367813184857368,-0.1054962798953056) * MODEL21_texOff(vec2(-1,-1)); +res += mat4(-0.0784313306212425,-0.0461387373507023,-0.0727669522166252,0.0118116578087211,-0.1512983143329620,-0.0355164147913456,0.0369271598756313,-0.0068201655521989,-0.2708147764205933,-0.1983853131532669,-0.3019596636295319,-0.1962331533432007,0.0822714418172836,-0.0831912979483604,-0.0377775803208351,0.0309812836349010) * MODEL22_texOff(vec2(-1,-1)); +res += mat4(-0.3031086027622223,-0.2022219151258469,0.0690917819738388,0.0061479001305997,-0.0775924474000931,0.0018291157903150,0.0206548795104027,0.0031519813928753,-0.0045580794103444,0.1408297717571259,0.0968878120183945,-0.0543158203363419,-0.0320595875382423,-0.0856794491410255,-0.0074029173702002,-0.0381582640111446) * MODEL23_texOff(vec2(-1,-1)); +res += mat4(0.0502191707491875,-0.0144976442679763,-0.0172777995467186,0.0511240437626839,-0.1379772424697876,0.0781990662217140,-0.0490357093513012,0.0095915235579014,0.0698529779911041,-0.1821251213550568,0.0341909043490887,0.0522364303469658,0.3007288575172424,0.5696339011192322,0.0366077609360218,0.1034736111760139) * MODEL24_texOff(vec2(-1,-1)); +res += mat4(-0.0080737425014377,-0.0355745144188404,0.0014717100420967,0.0775283500552177,0.0521322488784790,0.0694085732102394,-0.0287078022956848,0.0724895447492599,-0.3758259117603302,0.2388086169958115,-0.2982285916805267,0.0783643573522568,-0.3888894319534302,-0.1828081458806992,0.0064303274266422,-0.0228065531700850) * MODEL21_texOff(vec2(-1,0)); +res += mat4(0.1062617301940918,-0.1536732017993927,0.1790993064641953,-0.1221694126725197,-0.0649711787700653,-0.0404628328979015,0.0378675349056721,0.0112943490967155,-0.1770968586206436,-0.0647308602929115,0.0703201144933701,-0.0830667614936829,0.1437005847692490,0.2010622769594193,-0.1075596585869789,0.0721796378493309) * MODEL22_texOff(vec2(-1,0)); +res += mat4(-0.4432499110698700,0.0662404224276543,-0.0012972981203347,-0.0641796439886093,-0.1632681190967560,0.2097074985504150,0.0027037130203098,0.0656440407037735,-0.1145439520478249,-0.0657788291573524,0.0632528811693192,0.0139947058632970,-0.3886598050594330,0.0857761129736900,-0.1246560290455818,-0.0749224871397018) * MODEL23_texOff(vec2(-1,0)); +res += mat4(-0.1543783098459244,-0.0005317142349668,0.0304446890950203,-0.0185355897992849,-0.0794916823506355,-0.0090007977560163,0.0349782891571522,-0.0200218036770821,-0.0618562102317810,-0.0984001308679581,-0.0182003285735846,-0.0028434169944376,0.2633704543113708,0.1335592716932297,0.0175556372851133,0.0097391176968813) * MODEL24_texOff(vec2(-1,0)); +res += mat4(-0.1916415244340897,0.0176885668188334,-0.0010301425354555,-0.0303842704743147,0.4026271402835846,0.0028871756512672,0.0946683585643768,0.0258910451084375,-0.2777474820613861,-0.1369234770536423,0.1530053317546844,0.0188194774091244,0.0261684823781252,-0.0732094198465347,0.0251430086791515,-0.0204035751521587) * MODEL21_texOff(vec2(-1,1)); +res += mat4(-0.2784962654113770,0.0650645866990089,-0.0385713949799538,0.0038350508548319,0.1441659182310104,0.0722042471170425,-0.0898543149232864,0.0076085105538368,-0.1453610211610794,-0.1651353538036346,-0.0508589819073677,0.0093160448595881,0.0937918201088905,-0.0456123910844326,0.0581589378416538,0.0176383275538683) * MODEL22_texOff(vec2(-1,1)); +res += mat4(-0.0702055096626282,-0.0406810194253922,-0.0525443106889725,0.0150361964479089,0.1566798388957977,-0.0621452368795872,0.0586791262030602,-0.0347721055150032,-0.1604612320661545,0.1239183172583580,-0.0497633032500744,0.0080846343189478,-0.0567909032106400,0.0014030648162588,0.0475553460419178,-0.0038453373126686) * MODEL23_texOff(vec2(-1,1)); +res += mat4(-0.1280421465635300,-0.0095578841865063,-0.0669014528393745,0.0325631424784660,-0.0902950242161751,-0.0520857498049736,-0.0410674624145031,0.0060283262282610,-0.2110912352800369,0.2167985439300537,-0.0017860599327832,0.0106685347855091,0.0589333102107048,0.0673409774899483,0.1835579872131348,-0.0222739614546299) * MODEL24_texOff(vec2(-1,1)); +res += mat4(0.3193575441837311,0.1526530683040619,0.0688570886850357,-0.0523017607629299,-0.0355069674551487,-0.0414056740701199,0.0593797154724598,-0.1457111537456512,0.1123095601797104,0.0547662116587162,-0.0618266090750694,0.0241949036717415,-0.5081633329391479,0.2198492884635925,-0.2311547696590424,0.0886767283082008) * MODEL21_texOff(vec2(0,-1)); +res += mat4(0.0350187979638577,0.1337995529174805,-0.1493063867092133,-0.0603591017425060,0.2146350592374802,0.0859285071492195,-0.1323813050985336,-0.0390987657010555,-0.2041820734739304,-0.1156193763017654,0.0565129481256008,0.0598160736262798,-0.0166044365614653,-0.0735203996300697,0.0949761494994164,0.0783202648162842) * MODEL22_texOff(vec2(0,-1)); +res += mat4(-0.2893728017807007,-0.2627750039100647,0.3722718954086304,-0.0792744681239128,-0.2059971690177917,0.0250780824571848,-0.0059698885306716,0.0627116337418556,-0.2310166954994202,0.1220641285181046,0.4420708715915680,-0.0523065738379955,0.6394421458244324,0.0480617098510265,-0.1123329624533653,-0.1512102782726288) * MODEL23_texOff(vec2(0,-1)); +res += mat4(-0.3148698806762695,-0.2718702256679535,0.0451150685548782,-0.0301917884498835,-0.1496489495038986,0.1856218129396439,-0.0316816195845604,-0.0149062424898148,0.1320873796939850,-0.4058004319667816,0.0752313062548637,-0.0841734260320663,0.0650784373283386,0.2807834744453430,0.1322926729917526,0.2572420537471771) * MODEL24_texOff(vec2(0,-1)); +res += mat4(-0.5741783976554871,0.0708733573555946,-0.0278440415859222,0.0807770118117332,-0.4908486306667328,-0.0314228646457195,-0.2657569348812103,0.3589760959148407,0.2063553035259247,-0.1892435550689697,0.0999130755662918,-0.0633614584803581,-1.3165725469589233,-0.2463347613811493,-0.0429119206964970,-0.0830666646361351) * MODEL21_texOff(vec2(0,0)); +res += mat4(-0.6296326518058777,0.0223524719476700,0.3363357186317444,-0.0321827568113804,0.1343389004468918,-0.0002569323114585,0.3277089595794678,-0.0482071489095688,-0.7526341080665588,-0.4833517670631409,-0.1878197491168976,0.0168213583528996,0.5115908384323120,0.3069213628768921,-0.0195354912430048,0.2755083739757538) * MODEL22_texOff(vec2(0,0)); +res += mat4(0.4816035926342010,-0.0118750659748912,-0.5715824961662292,0.3641453385353088,-0.2267543822526932,0.3607449531555176,0.1609801650047302,0.0312804840505123,-1.1321628093719482,-0.0340943932533264,0.5982204079627991,-0.0645050927996635,-0.9616246819496155,-0.0790921300649643,0.0994648709893227,-0.0525478385388851) * MODEL23_texOff(vec2(0,0)); +res += mat4(-0.1681258827447891,0.3006833493709564,-0.1290128231048584,0.0994041785597801,0.0419847816228867,-0.0162974465638399,0.0750185772776604,0.0067303152754903,-0.5632289052009583,-0.6013663411140442,0.1094968020915985,-0.0669717490673065,-0.0433492772281170,0.1537660658359528,0.2179587930440903,0.2389836013317108) * MODEL24_texOff(vec2(0,0)); +res += mat4(-0.1355514526367188,0.0764053314924240,0.0782326161861420,0.0052023138850927,-0.0493257232010365,-0.0347116813063622,0.2622268795967102,-0.0836203470826149,0.2588089704513550,0.0903544947504997,-0.1340770274400711,-0.0735411271452904,-0.8339405655860901,-0.3164103925228119,0.0937255769968033,0.0183939673006535) * MODEL21_texOff(vec2(0,1)); +res += mat4(-0.0299103204160929,0.2381526976823807,-0.0743641108274460,0.0692583620548248,0.2554559111595154,0.0813719108700752,-0.1800950467586517,-0.0378679186105728,-0.7257626652717590,-0.1854881495237350,-0.0862643644213676,-0.0597154051065445,-0.2556095719337463,-0.1928845345973969,0.0932397618889809,-0.0223879218101501) * MODEL22_texOff(vec2(0,1)); +res += mat4(-0.3263361155986786,-0.0260708797723055,-0.1460820287466049,-0.0375549383461475,-0.6202657222747803,0.0670073628425598,0.1381717473268509,-0.0525274127721786,0.0015859459526837,0.0923536643385887,-0.0649344399571419,0.0501156300306320,0.1358997970819473,0.1016764789819717,-0.0658142641186714,0.0008362260996364) * MODEL23_texOff(vec2(0,1)); +res += mat4(-0.1045667529106140,-0.1845665425062180,0.1492197811603546,-0.0243269335478544,0.2153147906064987,0.0400264747440815,-0.0199366249144077,-0.0087428214028478,0.2773247361183167,0.2803338170051575,-0.3493885695934296,0.0705009847879410,-0.0007065620156936,0.0782219246029854,0.1402112096548080,-0.0266525372862816) * MODEL24_texOff(vec2(0,1)); +res += mat4(-0.0687473416328430,-0.0976584330201149,-0.0204729977995157,0.0394477620720863,-0.0760568827390671,-0.1528743654489517,-0.0427904799580574,-0.0270075369626284,-0.0428314357995987,0.1161894425749779,0.0378351584076881,-0.0166105981916189,-0.3585070669651031,0.0260688569396734,-0.0470666438341141,-0.0668430775403976) * MODEL21_texOff(vec2(1,-1)); +res += mat4(-0.2025795578956604,-0.1040630340576172,0.0077593000605702,-0.0085673155263066,0.2008401304483414,0.0450796410441399,-0.0514111481606960,0.0697687268257141,-0.8376560807228088,-0.0572007037699223,0.0195921938866377,-0.0302999522536993,0.1791645884513855,0.0291367080062628,0.0256281513720751,0.1226494833827019) * MODEL22_texOff(vec2(1,-1)); +res += mat4(0.2643510997295380,-0.1555069983005524,-0.0438335798680782,-0.0753439068794250,-0.0654477328062057,-0.1468031555414200,0.0201415866613388,0.0347742103040218,0.4952626526355743,0.0354427844285965,0.1585405319929123,0.0533435493707657,-0.1004230752587318,-0.0073178131133318,-0.0025874432176352,-0.0168156363070011) * MODEL23_texOff(vec2(1,-1)); +res += mat4(0.0305943284183741,-0.0923460796475410,0.2677863836288452,-0.1577823907136917,-0.1658991575241089,0.1487926542758942,-0.0842318758368492,0.1213353276252747,0.1446245312690735,0.1689673364162445,0.1651263386011124,0.0070332037284970,-0.1205493360757828,0.0841202288866043,0.0706500336527824,0.1018933504819870) * MODEL24_texOff(vec2(1,-1)); +res += mat4(0.0058475290425122,-0.0147246504202485,-0.0711641162633896,0.0262836534529924,-0.1645931154489517,-0.0062692351639271,-0.0730468332767487,-0.0025198473595083,-0.0626813247799873,-0.0695614293217659,0.0290160402655602,-0.0316769331693649,-0.6183116436004639,-0.0400702990591526,-0.1214808225631714,0.0002649093512446) * MODEL21_texOff(vec2(1,0)); +res += mat4(0.1040114238858223,0.0050341086462140,0.1487061679363251,-0.0124844061210752,-0.0512321032583714,-0.0299732834100723,0.0485554710030556,0.0502416752278805,-0.7323374152183533,0.0262728352099657,-0.2605053484439850,-0.0820339992642403,0.3148089647293091,0.0988902598619461,-0.0878399088978767,0.0049472432583570) * MODEL22_texOff(vec2(1,0)); +res += mat4(-0.6670171618461609,-0.0419046916067600,-0.1335263699293137,-0.1558401286602020,0.3467949926853180,0.0999339222908020,0.0650746077299118,0.0115758376196027,0.2258281856775284,0.0860922858119011,0.0232560746371746,-0.0429502837359905,0.0903110504150391,-0.0678725913167000,-0.0120888268575072,-0.0215729400515556) * MODEL23_texOff(vec2(1,0)); +res += mat4(-0.9070100188255310,0.2937509715557098,-0.2831438779830933,0.1536857038736343,-0.3677567541599274,-0.0543512813746929,0.0991915985941887,-0.0454416386783123,-0.0357653610408306,0.0163458101451397,-0.0842088386416435,-0.0565353184938431,-0.3366691768169403,0.1085810437798500,0.0516485534608364,0.0113117303699255) * MODEL24_texOff(vec2(1,0)); +res += mat4(-0.0568292513489723,0.0104662915691733,0.0623478703200817,-0.0014252853579819,-0.0979081839323044,0.0609358027577400,0.1053483039140701,0.0708121657371521,-0.1396476030349731,0.0478940345346928,-0.0240719709545374,0.0486258938908577,-0.0907382741570473,-0.0414548330008984,0.0288387108594179,-0.0126393558457494) * MODEL21_texOff(vec2(1,1)); +res += mat4(-0.5088644623756409,0.1501386016607285,-0.0918121039867401,-0.0677468329668045,-0.0786677002906799,-0.1030455604195595,0.0109195560216904,-0.0461675822734833,-0.4709203541278839,-0.2292010337114334,0.1345106065273285,-0.0504489876329899,0.0237664654850960,-0.0646439492702484,-0.0267701372504234,0.0238957721740007) * MODEL22_texOff(vec2(1,1)); +res += mat4(-0.0895369723439217,-0.0949736088514328,-0.0357055142521858,0.0383817180991173,0.1084862425923347,-0.0324429087340832,-0.0470693334937096,0.0320119112730026,-0.0884663164615631,0.0110423937439919,-0.0695655867457390,-0.0641552731394768,-0.0534201189875603,0.1069035902619362,-0.0068280585110188,-0.0280597191303968) * MODEL23_texOff(vec2(1,1)); +res += mat4(0.0298939421772957,-0.2368630617856979,0.1043336987495422,-0.0642990842461586,0.1983366906642914,0.0042332601733506,-0.0626417845487595,0.0139195146039128,-0.0387627035379410,0.0920238122344017,-0.0391244664788246,-0.0123970182612538,-0.0278437342494726,-0.0243430268019438,0.0272651109844446,-0.0030155780259520) * MODEL24_texOff(vec2(1,1)); +res = max(res, vec4(0.0)) + vec4(-0.0744055807590485,0.0582032799720764,0.1600257009267807,0.2022268623113632) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Sub-band Residuals 1 +//!BIND MODEL1 +//!BIND MODEL2 +//!BIND MODEL3 +//!BIND MODEL4 +//!BIND FEATURE1 +//!SAVE RES1 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0218873005360365,-0.0149576151743531,-0.0256180185824633,-0.0858701169490814); +res += mat4(0.0221681538969278,-0.2356450855731964,0.0643408298492432,-1.1138032674789429,0.1064624637365341,-0.8914715647697449,-0.0294173005968332,-0.0022653567139059,-0.0252699330449104,-0.1230333074927330,-0.0858245044946671,0.0581396929919720,0.0181231293827295,0.1111536994576454,0.0935193970799446,-0.0742835476994514) * MODEL1_texOff(0); +res += mat4(0.0736283138394356,0.0147979715839028,0.0464740432798862,-0.2148900032043457,0.4483453333377838,0.2830028533935547,0.0562076941132545,0.3613960742950439,0.0668433532118797,-0.2692199349403381,0.0970326364040375,0.1248507574200630,0.0208180323243141,0.0532030761241913,-0.0098368674516678,0.0498967394232750) * MODEL2_texOff(0); +res += mat4(-0.0427469126880169,0.1918861865997314,-0.0468214377760887,-0.1154606193304062,-0.8018212318420410,0.3941400647163391,0.0562537945806980,0.2459305673837662,-0.0034576300531626,-0.4044605493545532,0.0631769001483917,0.2570861279964447,0.3880051076412201,0.2102442532777786,0.1035031601786613,-0.1845092624425888) * MODEL3_texOff(0); +res += mat4(-0.0736504569649696,-0.4329134225845337,-0.0331883579492569,0.4859155714511871,0.0300663169473410,-0.1431413143873215,0.0900689288973808,0.0027509836945683,-0.0178727619349957,-0.1037448570132256,-0.0429062619805336,0.0104557601734996,-0.0787484720349312,0.0334280952811241,-0.0210850816220045,-0.2790249288082123) * MODEL4_texOff(0); +res += FEATURE1_texOff(0); +res = max(res, vec4(0.0)) + vec4(-0.0009421827271581,0.0372365266084671,0.5457454919815063,-0.0045580286532640) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Sub-band Residuals 2 +//!BIND MODEL1 +//!BIND MODEL2 +//!BIND MODEL3 +//!BIND MODEL4 +//!BIND FEATURE2 +//!SAVE RES2 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0132746873423457,0.0731124207377434,0.0296694040298462,-0.0570529401302338); +res += mat4(0.0329166017472744,0.0485021844506264,-0.4523101150989532,-0.0322404317557812,-0.0172702632844448,-0.0456021204590797,-0.3700943291187286,0.0706288889050484,-0.0264692343771458,0.0057114795781672,0.1072568818926811,-0.0367026627063751,0.0059698573313653,0.0111432811245322,-0.1592733412981033,-0.0146981095895171) * MODEL1_texOff(0); +res += mat4(-0.0338360369205475,-0.1407372504472733,0.8440989255905151,0.2665281593799591,-0.0766022056341171,0.1776377707719803,0.6822218894958496,-0.2348744422197342,-0.0140444673597813,-0.0049600838683546,-0.1120925694704056,0.0485411062836647,0.0048136659897864,-0.0084126451984048,0.0507854782044888,0.0059754410758615) * MODEL2_texOff(0); +res += mat4(0.0534943863749504,-0.0054587344639003,-0.2227865755558014,0.0236868932843208,0.0262969471514225,0.1232359185814857,0.1288655251264572,-0.1138820722699165,-0.0812139436602592,-0.0455541759729385,0.0849144086241722,0.0463144332170486,-0.1888351738452911,-0.4850543141365051,-0.1564003974199295,0.2618831992149353) * MODEL3_texOff(0); +res += mat4(-0.0221897140145302,0.0031840829178691,0.1487526446580887,-0.0075739510357380,-0.0042014098726213,0.0185069050639868,-0.0972303748130798,-0.0048297117464244,-0.0396384298801422,-0.0136362798511982,0.1502435356378555,0.0022969150450081,0.0987038090825081,-0.0011944774305448,-0.3419188559055328,0.0331442765891552) * MODEL4_texOff(0); +res += FEATURE2_texOff(0); +res = max(res, vec4(0.0)) + vec4(1.1018482446670532,0.9337472915649414,0.0558062084019184,1.0061426162719727) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Sub-band Residuals 3 +//!BIND MODEL1 +//!BIND MODEL2 +//!BIND MODEL3 +//!BIND MODEL4 +//!BIND FEATURE3 +//!SAVE RES3 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0231755860149860,-0.0123003274202347,-0.0431877225637436,-0.0482062324881554); +res += mat4(0.0061688339337707,-0.3225260674953461,-0.1020668447017670,0.0756559520959854,0.0190322343260050,0.0429529212415218,0.0133566455915570,-0.0357269980013371,-0.0511975735425949,0.0205178000032902,0.0802695825695992,-0.0699724704027176,0.0727552399039268,-0.0051232990808785,-0.0231811776757240,0.0385252349078655) * MODEL1_texOff(0); +res += mat4(0.0003796273667831,-0.1514156907796860,-0.0766110196709633,0.0278693865984678,0.3816023766994476,0.1842953413724899,-0.3427250981330872,-0.0513318441808224,0.0783963724970818,0.1034169569611549,0.1413960307836533,0.1308334171772003,0.0067153824493289,0.0158144067972898,-0.0463985614478588,0.1229471415281296) * MODEL2_texOff(0); +res += mat4(0.1385668069124222,-0.3332454562187195,-0.0325091183185577,-0.0500471331179142,0.0109276790171862,0.1346410959959030,-0.2194238454103470,-0.3841372132301331,0.2030243873596191,0.0367027409374714,0.0746235847473145,0.0858945399522781,-0.0915820300579071,0.4482104778289795,-0.3705481290817261,-0.4631932377815247) * MODEL3_texOff(0); +res += mat4(0.0772577896714211,-0.4344681203365326,-0.5865671634674072,-0.9034788608551025,0.0337008647620678,-0.0119147822260857,0.0028720106929541,0.0309769921004772,-0.0911888480186462,0.2908170223236084,0.0235594492405653,0.0098438179120421,0.0186014920473099,-0.0568258389830589,-0.0455871261656284,-0.1069583073258400) * MODEL4_texOff(0); +res += FEATURE3_texOff(0); +res = max(res, vec4(0.0)) + vec4(0.0984692946076393,-0.0528433769941330,0.1861927509307861,-0.0793913379311562) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Sub-band Residuals 4 +//!BIND MODEL1 +//!BIND MODEL2 +//!BIND MODEL3 +//!BIND MODEL4 +//!BIND FEATURE4 +//!SAVE RES4 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(-0.0254043601453304,-0.0337074063718319,0.0073674134910107,-0.0777111053466797); +res += mat4(-0.0152108408510685,-0.0290673710405827,0.0152149023488164,0.0001182962441817,-0.0191980488598347,0.0593055188655853,-0.1341477930545807,-0.0611830428242683,-0.0543372966349125,0.0298834946006536,0.1418028175830841,-0.2027935534715652,0.0062750629149377,0.0106279915198684,0.0231198258697987,-0.0041293469257653) * MODEL1_texOff(0); +res += mat4(0.1140645742416382,-0.1693866401910782,-0.5153092145919800,-0.1875651776790619,-0.0672051906585693,0.6262952089309692,0.5045496225357056,-0.0827279761433601,0.0161168053746223,-0.1674159020185471,-0.1741122007369995,0.0655852109193802,-0.0021867123432457,-0.1953728497028351,-0.0054047326557338,-0.0233427695930004) * MODEL2_texOff(0); +res += mat4(0.0293430704623461,-0.0239756125956774,-0.0894790217280388,-0.3600888848304749,0.0042837061919272,0.0316841900348663,0.1484906524419785,0.0149612911045551,0.0249301753938198,-0.0022203570697457,-0.0415629185736179,0.0302883405238390,0.0327147059142590,-0.1360170692205429,-0.1607593148946762,-0.6076013445854187) * MODEL3_texOff(0); +res += mat4(-0.0638960301876068,0.0897183865308762,0.0621560215950012,-0.5748775005340576,0.0110273323953152,-0.0082545885816216,-0.0169698987156153,0.0448103360831738,-0.0238428302109241,-0.0090155471116304,0.0205770675092936,-0.0579754747450352,0.0513568818569183,0.0123459398746490,-0.1044728681445122,0.1379940360784531) * MODEL4_texOff(0); +res += FEATURE4_texOff(0); +res = max(res, vec4(0.0)) + vec4(0.9187455177307129,0.3813512325286865,1.0033930540084839,0.1104508787393570) * min(res, vec4(0.0)); +return res; +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX Sub-pixel Convolution 1 +//!BIND RES1 +//!BIND RES2 +//!BIND RES3 +//!BIND RES4 +//!SAVE SUBCONV1 +//!COMPONENTS 4 +vec4 hook() +{ +vec4 res = vec4(0.2004896253347397,0.1965623348951340,0.2031263858079910,0.1992818266153336); +res += mat4x4(-0.0094980411231518,0.0023788863327354,-0.0022216471843421,0.0003509943489917,-0.0552016757428646,0.0855648964643478,0.0698453187942505,-0.0073109264485538,-0.0066510867327452,0.0147740254178643,0.0113036027178168,0.0048131505027413,-0.0040690936148167,0.0065816720016301,-0.0004572885518428,-0.0090634562075138) * RES1_texOff(vec2(-1,-1)); +res += mat4x4(-0.0134373474866152,0.0051314681768417,0.0116530936211348,0.0104887820780277,0.0247752983123064,-0.0160156358033419,-0.0261716526001692,-0.0161977726966143,0.0369832850992680,-0.1506783068180084,0.0486416928470135,-0.0316048339009285,-0.0061850538477302,0.0044224648736417,0.0053729196079075,0.0004756637790706) * RES2_texOff(vec2(-1,-1)); +res += mat4x4(0.0010956295300275,-0.0006739810341969,-0.0023001984227449,-0.0046076728031039,-0.0086221992969513,-0.0076229758560658,-0.0009145328658633,-0.0054856799542904,0.0039743827655911,-0.0010353162651882,-0.0013344871113077,-0.0032652264926583,0.0075248428620398,-0.0015257894992828,-0.0042923530563712,0.0093235671520233) * RES3_texOff(vec2(-1,-1)); +res += mat4x4(-0.0021727732382715,0.0007165882270783,-0.0062267961911857,0.0109751019626856,0.0139423953369260,-0.0074228323064744,-0.0275850314646959,-0.0084508210420609,0.0104034338146448,0.0014346154639497,0.0112520074471831,0.0052605904638767,0.0638059675693512,-0.0249607227742672,-0.0104660186916590,-0.0186718292534351) * RES4_texOff(vec2(-1,-1)); +res += mat4x4(0.0265536569058895,0.0001271427026950,-0.0261117573827505,-0.0235340055078268,0.3512704372406006,0.0999423563480377,0.0193040892481804,0.1757085025310516,0.0103672035038471,-0.0012839237460867,0.0179779101163149,0.0041811168193817,0.0040395306423306,-0.0499604344367981,0.0245391409844160,0.0226321499794722) * RES1_texOff(vec2(-1,0)); +res += mat4x4(0.0384991914033890,-0.0450659804046154,-0.0101390583440661,0.0220608171075583,0.0418405607342720,0.0510034635663033,-0.0249340515583754,-0.0456024855375290,-0.1545022726058960,0.2145315408706665,-0.1191349253058434,-0.0326999053359032,-0.0053544868715107,-0.0073985042981803,0.0037008037324995,0.0099292118102312) * RES2_texOff(vec2(-1,0)); +res += mat4x4(-0.0202872715890408,0.0307369828224182,-0.0144446128979325,0.0071235611103475,-0.0376118794083595,0.0325335487723351,-0.0112367551773787,0.0102629121392965,-0.0383120849728584,0.0423947423696518,0.0243418365716934,0.0210620071738958,0.0132888518273830,0.0360053405165672,0.0100925499573350,-0.0135364001616836) * RES3_texOff(vec2(-1,0)); +res += mat4x4(-0.0057181096635759,-0.0204568132758141,-0.0183743461966515,-0.0151624437421560,0.0028684337157756,0.0245951302349567,-0.0505386032164097,-0.0526789799332619,-0.0125096822157502,-0.0006854855455458,0.0087874904274940,0.0151118943467736,-0.0449581444263458,0.0157140661031008,0.0004651887866203,0.0124214673414826) * RES4_texOff(vec2(-1,0)); +res += mat4x4(-0.0024702695664018,0.0064441123977304,0.0018684890819713,-0.0075190430507064,-0.0822586268186569,0.0438106693327427,0.0218858793377876,-0.0781861469149590,-0.0030735647305846,-0.0170502737164497,0.0035027237609029,0.0147414589300752,-0.0028982846997678,0.0342733748257160,-0.0081898812204599,-0.0086565474048257) * RES1_texOff(vec2(-1,1)); +res += mat4x4(-0.0035721133463085,0.0204634200781584,-0.0043158503249288,-0.0032766335643828,-0.0237986985594034,0.0068355891853571,-0.0162488855421543,-0.0227953065186739,0.0675579383969307,-0.0396639332175255,-0.0059354491531849,0.0051652374677360,0.0041596912778914,-0.0034006051719189,0.0025730042252690,0.0046709501184523) * RES2_texOff(vec2(-1,1)); +res += mat4x4(0.0174455400556326,-0.0353569723665714,0.0072374437004328,0.0190037265419960,0.0095157930627465,0.0083068385720253,0.0079982848837972,-0.0021254434250295,0.0199435707181692,-0.0410243608057499,0.0019970838911831,-0.0007492507575080,-0.0055135628208518,-0.0148889161646366,0.0085017476230860,0.0147673422470689) * RES3_texOff(vec2(-1,1)); +res += mat4x4(0.0040913843549788,0.0095514366403222,0.0025204438716173,-0.0062991455197334,-0.0084351906552911,-0.0107593908905983,-0.0031122143846005,-0.0152742723003030,0.0180264879018068,0.0035381091292948,0.0072233397513628,0.0141055267304182,-0.0047497055493295,0.0139257498085499,0.0008672008989379,0.0056309537030756) * RES4_texOff(vec2(-1,1)); +res += mat4x4(-0.0205192342400551,0.0035032271407545,0.0511485636234283,-0.0024385969154537,-0.0881214737892151,0.3079357743263245,-0.3256671428680420,0.2675876915454865,0.0045523792505264,0.0296388268470764,-0.0116298887878656,0.0326066017150879,-0.0258616954088211,-0.0029669052455574,0.0351182892918587,0.0021836776286364) * RES1_texOff(vec2(0,-1)); +res += mat4x4(0.0273221414536238,-0.0257267896085978,-0.0050437781028450,-0.0224122107028961,0.0542206130921841,-0.0279902089387178,0.0579320825636387,-0.0361812375485897,0.1095771044492722,-0.1980792731046677,0.0754484012722969,-0.2903145253658295,-0.0108189834281802,0.0070500555448234,-0.0098569672554731,0.0098409783095121) * RES2_texOff(vec2(0,-1)); +res += mat4x4(0.0182558707892895,-0.0004734874528367,-0.0078873941674829,-0.0000882323365659,-0.0150029920041561,-0.0083330124616623,-0.0198020357638597,-0.0081914011389017,-0.0084193097427487,0.0029257496353239,-0.0043335305526853,0.0031402623280883,-0.0062353843823075,0.0042604114860296,-0.0014385635731742,-0.0153938829898834) * RES3_texOff(vec2(0,-1)); +res += mat4x4(-0.0146446321159601,-0.0020139440894127,-0.0195920094847679,0.0131280329078436,-0.0573658235371113,0.0003872774250340,0.0434953272342682,-0.0096412943676114,0.0132301421836019,-0.0086105931550264,-0.0038419184274971,0.0006242461386137,-0.0479317568242550,0.0343790166079998,0.0496469177305698,0.0063778031617403) * RES4_texOff(vec2(0,-1)); +res += mat4x4(-0.0886482372879982,-0.1149815395474434,0.0364607945084572,0.1096290275454521,0.1008122637867928,0.0281752888113260,0.3008427619934082,0.0804056376218796,0.2204556763172150,-0.2482117563486099,0.1546043306589127,-0.0760536938905716,0.0558703318238258,0.0110450601205230,-0.0682374238967896,0.0286046285182238) * RES1_texOff(vec2(0,0)); +res += mat4x4(0.0509124360978603,-0.1266279220581055,0.2212082296609879,-0.1488939523696899,0.3209297955036163,0.4181137681007385,0.2016167342662811,0.3663260638713837,-0.0981808155775070,0.1554665118455887,-0.1419739574193954,0.1935243159532547,0.5998122692108154,0.5774222612380981,0.6332547664642334,0.5999547839164734) * RES2_texOff(vec2(0,0)); +res += mat4x4(-0.0132361799478531,-0.0487179905176163,0.0883441641926765,-0.0214207563549280,-0.0519132018089294,0.0597040131688118,-0.0639006718993187,0.0623196884989738,0.0265893898904324,-0.0472132489085197,-0.1152362823486328,-0.0002589400392026,0.1015622764825821,0.0238978657871485,-0.0931206196546555,-0.0433236174285412) * RES3_texOff(vec2(0,0)); +res += mat4x4(0.1458993703126907,0.0153151275590062,-0.1496266722679138,-0.3040931522846222,-0.1793874502182007,-0.2153502255678177,0.2235168665647507,0.2049497067928314,0.1524304300546646,0.1716024577617645,0.1148274764418602,0.0788738727569580,0.0443262755870819,-0.0094674434512854,0.0095163015648723,-0.0466275624930859) * RES4_texOff(vec2(0,0)); +res += mat4x4(-0.0046434928663075,-0.0003897719143424,0.0028130675200373,-0.0085096163675189,-0.1916470676660538,0.2195042073726654,-0.2039673179388046,0.1004208773374557,-0.0287556014955044,0.0299344193190336,-0.0242406297475100,-0.0310826431959867,-0.0059730121865869,0.0066875112242997,0.0053000268526375,-0.0125830061733723) * RES1_texOff(vec2(0,1)); +res += mat4x4(0.0447437874972820,-0.0225228350609541,0.0237912647426128,0.0244589075446129,-0.0828435197472572,0.0348524712026119,-0.0545933209359646,0.0271499827504158,0.0855012536048889,0.0196409244090319,0.0961431562900543,-0.0927204564213753,0.0164071917533875,-0.0032793551217765,0.0095342965796590,-0.0037637823261321) * RES2_texOff(vec2(0,1)); +res += mat4x4(-0.0116172991693020,0.0510076172649860,-0.0091573577374220,-0.0473218895494938,0.0069195278920233,0.0125233512371778,0.0044246641919017,0.0228615943342447,0.0027514654211700,0.0754077881574631,0.0371949858963490,-0.0247637983411551,-0.0058305920101702,0.0521190911531448,0.0077110137790442,-0.0160914603620768) * RES3_texOff(vec2(0,1)); +res += mat4x4(-0.0023388352710754,-0.0146656855940819,0.0021010492928326,-0.0042505273595452,-0.0047369911335409,-0.0313913896679878,0.0011872148606926,0.0643994882702827,0.0725545957684517,-0.0238730907440186,0.0550865903496742,-0.0257390290498734,0.0021659301128238,-0.0376078188419342,-0.0114223891869187,0.0003648806596175) * RES4_texOff(vec2(0,1)); +res += mat4x4(0.0165412686765194,0.0023022976238281,-0.0271380208432674,0.0095817185938358,0.0084499921649694,-0.0126049844548106,0.0269258525222540,0.0366241224110126,0.0071499678306282,0.0176498852670193,0.0088612614199519,0.0117251062765718,0.0062044579535723,-0.0003486862697173,0.0034539531916380,0.0026289536617696) * RES1_texOff(vec2(1,-1)); +res += mat4x4(-0.0072817839682102,-0.0031623679678887,0.0006788446917199,-0.0174324437975883,-0.0143718319013715,-0.0093826102092862,0.0221808739006519,-0.0059602400287986,-0.0524991862475872,-0.0554307326674461,-0.0234730504453182,-0.0944415479898453,0.0027662173379213,-0.0000003128636763,-0.0070756948553026,0.0003757302765734) * RES2_texOff(vec2(1,-1)); +res += mat4x4(-0.0059956023469567,-0.0109885698184371,0.0131031777709723,-0.0064099249430001,-0.0007332267705351,-0.0054377247579396,-0.0042348760180175,-0.0079171815887094,0.0042275548912585,0.0038190928753465,0.0012226465623826,-0.0091538941487670,-0.0047898464836180,0.0020623977761716,0.0052864491008222,-0.0035777383018285) * RES3_texOff(vec2(1,-1)); +res += mat4x4(0.0133276600390673,0.0030601196922362,-0.0000833513477119,0.0117228757590055,0.0180890634655952,0.0006835858803242,0.0155890220776200,0.0023330044932663,0.0016764352330938,-0.0001878916082205,0.0077882641926408,0.0030453875660896,0.0007069727871567,-0.0032804955262691,-0.0258806515485048,0.0120186852291226) * RES4_texOff(vec2(1,-1)); +res += mat4x4(0.0138642648234963,0.0450335033237934,0.0573485493659973,-0.0283165313303471,-0.0353950075805187,-0.0246198587119579,0.1079513281583786,-0.0786227360367775,-0.0199374537914991,-0.0203778892755508,0.0989598408341408,-0.1151264309883118,-0.0075402003712952,0.0069887228310108,-0.0005508214817382,-0.0211458336561918) * RES1_texOff(vec2(1,0)); +res += mat4x4(-0.0173939410597086,-0.0076088067144156,-0.0270000118762255,0.0400075353682041,-0.0209513846784830,-0.0395910814404488,0.0813595503568649,0.0521225370466709,-0.1410388797521591,-0.0733730420470238,0.0030183335766196,0.2795495092868805,0.0052713518962264,0.0093284752219915,-0.0111799864098430,-0.0086231678724289) * RES2_texOff(vec2(1,0)); +res += mat4x4(-0.0051672095432878,0.0126797044649720,-0.0475894063711166,0.0283157788217068,-0.0130900656804442,0.0079299174249172,-0.0232257433235645,0.0235086344182491,-0.0172755066305399,-0.0176396835595369,0.0426433272659779,-0.0097808614373207,-0.0175288487225771,-0.0215636640787125,-0.0089064724743366,0.0157484728842974) * RES3_texOff(vec2(1,0)); +res += mat4x4(0.0398572608828545,0.0358022972941399,-0.0244492460042238,-0.0299847554415464,0.0384783037006855,0.0354996435344219,-0.0414791777729988,0.0031456071883440,0.0217112209647894,0.0295640993863344,-0.0574064217507839,-0.0089215245097876,-0.0100018810480833,0.0062383566983044,-0.0062790168449283,0.0353761576116085) * RES4_texOff(vec2(1,0)); +res += mat4x4(0.0005601430893876,-0.0111780380830169,-0.0034504993818700,0.0335592329502106,-0.0091825602576137,-0.0629493743181229,-0.0673106834292412,0.0803333818912506,-0.0166647452861071,-0.0052054836414754,-0.0284464918076992,0.0311517249792814,-0.0081933317705989,-0.0097267255187035,0.0085491342470050,0.0063192397356033) * RES1_texOff(vec2(1,1)); +res += mat4x4(0.0045089237391949,0.0023073307238519,0.0163356605917215,-0.0106160407885909,-0.0110078146681190,-0.0141240349039435,-0.0408387668430805,0.0008771637803875,-0.0169897880405188,-0.0579932145774364,0.0061155906878412,-0.0052699390798807,-0.0005207836511545,0.0013564876280725,0.0064209848642349,-0.0011977740796283) * RES2_texOff(vec2(1,1)); +res += mat4x4(0.0042469059117138,-0.0113333491608500,-0.0050657880492508,0.0154049899429083,0.0083776470273733,-0.0045062573626637,0.0149497529491782,-0.0006315388600342,-0.0074721821583807,-0.0056236772798002,-0.0164248198270798,0.0365500412881374,0.0061139329336584,0.0037679118104279,-0.0104186907410622,-0.0330689847469330) * RES3_texOff(vec2(1,1)); +res += mat4x4(0.0021872087381780,0.0173248164355755,0.0193927604705095,-0.0043931179679930,0.0088961208239198,0.0238487515598536,0.0053819441236556,-0.0194583926349878,0.0060333325527608,0.0123941889032722,0.0321498438715935,-0.0068496093153954,0.0071646152064204,0.0009137570741586,0.0105294361710548,-0.0256906449794769) * RES4_texOff(vec2(1,1)); +return vec4(res); +} + +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!WIDTH LUMA.w 2 * +//!HEIGHT LUMA.h 2 * +//!DESC FSRCNNX Aggregation [x2_16] +//!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); +} \ No newline at end of file diff --git a/shaders/igv/FSRCNNX_x2_8-0-4-1.glsl b/shaders/igv/FSRCNNX_x2_8-0-4-1.glsl new file mode 100644 index 0000000..dc35160 --- /dev/null +++ b/shaders/igv/FSRCNNX_x2_8-0-4-1.glsl @@ -0,0 +1,411 @@ +//!HOOK LUMA +//!WHEN OUTPUT.w LUMA.w / 1.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX 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.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX 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.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX 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.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX 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.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX 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.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX 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.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX 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.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX 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.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX 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.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX 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.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX 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.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX 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.200 > OUTPUT.h LUMA.h / 1.200 > * +//!DESC FSRCNNX 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.200 > OUTPUT.h LUMA.h / 1.200 > * +//!WIDTH LUMA.w 2 * +//!HEIGHT LUMA.h 2 * +//!DESC FSRCNNX Aggregation [x2_8] +//!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); +} \ No newline at end of file diff --git a/shaders/igv/KrigBilateral.glsl b/shaders/igv/KrigBilateral.glsl new file mode 100644 index 0000000..c807ef4 --- /dev/null +++ b/shaders/igv/KrigBilateral.glsl @@ -0,0 +1,213 @@ +// KrigBilateral by Shiandow +// +// This library 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 library 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 library. + +//!HOOK CHROMA +//!BIND LUMA +//!BIND HOOKED +//!SAVE LOWRES_Y +//!WIDTH LUMA.w +//!WHEN CHROMA.w LUMA.w < +//!DESC KrigBilateral Downscaling Y pass 1 + +#define offset vec2(0) + +#define axis 1 + +#define Kernel(x) dot(vec3(0.42659, -0.49656, 0.076849), cos(vec3(0, 1, 2) * acos(-1.) * (x + 1.))) + +vec4 hook() { + // Calculate bounds + float low = ceil((LUMA_pos - CHROMA_pt) * LUMA_size - offset - 0.5)[axis]; + float high = floor((LUMA_pos + CHROMA_pt) * LUMA_size - offset - 0.5)[axis]; + + float W = 0.0; + vec4 avg = vec4(0); + vec2 pos = LUMA_pos; + + for (float k = low; k <= high; k++) { + pos[axis] = LUMA_pt[axis] * (k - offset[axis] + 0.5); + float rel = (pos[axis] - LUMA_pos[axis])*CHROMA_size[axis]; + float w = Kernel(rel); + + vec4 y = textureGrad(LUMA_raw, pos, vec2(0.0), vec2(0.0)).xxxx * LUMA_mul; + y.y *= y.y; + avg += w * y; + W += w; + } + avg /= W; + avg.y = abs(avg.y - avg.x * avg.x); + return avg; +} + +//!HOOK CHROMA +//!BIND LOWRES_Y +//!BIND HOOKED +//!SAVE LOWRES_Y +//!WHEN CHROMA.w LUMA.w < +//!DESC KrigBilateral Downscaling Y pass 2 + +#define offset vec2(0) + +#define axis 0 + +#define Kernel(x) dot(vec3(0.42659, -0.49656, 0.076849), cos(vec3(0, 1, 2) * acos(-1.) * (x + 1.))) + +vec4 hook() { + // Calculate bounds + float low = ceil((LOWRES_Y_pos - CHROMA_pt) * LOWRES_Y_size - offset - 0.5)[axis]; + float high = floor((LOWRES_Y_pos + CHROMA_pt) * LOWRES_Y_size - offset - 0.5)[axis]; + + float W = 0.0; + vec4 avg = vec4(0); + vec2 pos = LOWRES_Y_pos; + + for (float k = low; k <= high; k++) { + pos[axis] = LOWRES_Y_pt[axis] * (k - offset[axis] + 0.5); + float rel = (pos[axis] - LOWRES_Y_pos[axis])*CHROMA_size[axis]; + float w = Kernel(rel); + + vec4 y = textureGrad(LOWRES_Y_raw, pos, vec2(0.0), vec2(0.0)).xxxx * LOWRES_Y_mul; + y.y *= y.y; + avg += w * y; + W += w; + } + avg /= W; + avg.y = abs(avg.y - avg.x * avg.x) + LOWRES_Y_texOff(0).y; + return avg; +} + +//!HOOK CHROMA +//!BIND HOOKED +//!BIND LUMA +//!BIND LOWRES_Y +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!WHEN CHROMA.w LUMA.w < +//!OFFSET ALIGN +//!DESC KrigBilateral Upscaling UV + +#define sigma_nsq 256.0/(255.0*255.0) +#define N 8 +#define sqr(x) dot(x,x) + +#define M(i,j) Mx[min(i,j)*N + max(i,j) - (min(i,j)*(min(i,j)+1))/2] + +#define C(i,j) (inversesqrt(1.0 + (X[i].y + X[j].y) / Var) * exp(-0.5 * (sqr(X[i].x - X[j].x) / (localVar + X[i].y + X[j].y) + sqr((coords[i] - coords[j]) / radius))) /*+ (X[i].x - y) * (X[j].x - y) / Var*/) // commented out part works well only on test patterns +#define c(i) (inversesqrt(1.0 + X[i].y / Var) * exp(-0.5 * (sqr(X[i].x - y) / (localVar + X[i].y) + sqr((coords[i] - offset) / radius)))) + +#define getnsum(i) X[i] = vec4(LOWRES_Y_tex(LOWRES_Y_pt*(pos+coords[i]+vec2(0.5))).xy, \ + CHROMA_tex(CHROMA_pt*(pos+coords[i]+vec2(0.5))).xy); \ + w = clamp(1.5 - abs(coords[i]), 0.0, 1.0); \ + total += w.x*w.y*vec4(X[i].x, X[i].x * X[i].x, X[i].y, 1.0); + +#define I3(f, n) f(n) f(n+1) f(n+2) +#define I9(f, n) I3(f, n) I3(f, n+3) I3(f, n+6) + +vec4 hook() { + vec2 pos = CHROMA_pos * HOOKED_size - vec2(0.5); + vec2 offset = pos - round(pos); + pos -= offset; + + vec2 coords[N+1]; + vec4 X[N+1]; + vec2 w; + vec4 total = vec4(0); + + coords[0] = vec2(-1,-1); coords[1] = vec2(-1, 0); coords[2] = vec2(-1, 1); + coords[3] = vec2( 0,-1); coords[4] = vec2( 0, 1); coords[5] = vec2( 1,-1); + coords[6] = vec2( 1, 0); coords[7] = vec2( 1, 1); coords[8] = vec2( 0, 0); + + I9(getnsum, 0) + + total.xyz /= total.w; + float localVar = abs(total.y - total.x * total.x) + sigma_nsq; + float Var = localVar + total.z; + float radius = 1.5; // mix(1.5, 1.0, sigma_nsq / Var); + + float y = LUMA_texOff(0).x; + float Mx[(N*(N+1))/2]; + float b[N]; + vec2 interp = X[N].zw; + + b[0] = c(0) - c(N) - C(0,N) + C(N,N); M(0, 0) = C(0,0) - C(0,N) - C(0,N) + C(N,N); M(0, 1) = C(0,1) - C(1,N) - C(0,N) + C(N,N); M(0, 2) = C(0,2) - C(2,N) - C(0,N) + C(N,N); M(0, 3) = C(0,3) - C(3,N) - C(0,N) + C(N,N); M(0, 4) = C(0,4) - C(4,N) - C(0,N) + C(N,N); M(0, 5) = C(0,5) - C(5,N) - C(0,N) + C(N,N); M(0, 6) = C(0,6) - C(6,N) - C(0,N) + C(N,N); M(0, 7) = C(0,7) - C(7,N) - C(0,N) + C(N,N); + b[1] = c(1) - c(N) - C(1,N) + C(N,N); M(1, 1) = C(1,1) - C(1,N) - C(1,N) + C(N,N); M(1, 2) = C(1,2) - C(2,N) - C(1,N) + C(N,N); M(1, 3) = C(1,3) - C(3,N) - C(1,N) + C(N,N); M(1, 4) = C(1,4) - C(4,N) - C(1,N) + C(N,N); M(1, 5) = C(1,5) - C(5,N) - C(1,N) + C(N,N); M(1, 6) = C(1,6) - C(6,N) - C(1,N) + C(N,N); M(1, 7) = C(1,7) - C(7,N) - C(1,N) + C(N,N); + b[2] = c(2) - c(N) - C(2,N) + C(N,N); M(2, 2) = C(2,2) - C(2,N) - C(2,N) + C(N,N); M(2, 3) = C(2,3) - C(3,N) - C(2,N) + C(N,N); M(2, 4) = C(2,4) - C(4,N) - C(2,N) + C(N,N); M(2, 5) = C(2,5) - C(5,N) - C(2,N) + C(N,N); M(2, 6) = C(2,6) - C(6,N) - C(2,N) + C(N,N); M(2, 7) = C(2,7) - C(7,N) - C(2,N) + C(N,N); + b[3] = c(3) - c(N) - C(3,N) + C(N,N); M(3, 3) = C(3,3) - C(3,N) - C(3,N) + C(N,N); M(3, 4) = C(3,4) - C(4,N) - C(3,N) + C(N,N); M(3, 5) = C(3,5) - C(5,N) - C(3,N) + C(N,N); M(3, 6) = C(3,6) - C(6,N) - C(3,N) + C(N,N); M(3, 7) = C(3,7) - C(7,N) - C(3,N) + C(N,N); + b[4] = c(4) - c(N) - C(4,N) + C(N,N); M(4, 4) = C(4,4) - C(4,N) - C(4,N) + C(N,N); M(4, 5) = C(4,5) - C(5,N) - C(4,N) + C(N,N); M(4, 6) = C(4,6) - C(6,N) - C(4,N) + C(N,N); M(4, 7) = C(4,7) - C(7,N) - C(4,N) + C(N,N); + b[5] = c(5) - c(N) - C(5,N) + C(N,N); M(5, 5) = C(5,5) - C(5,N) - C(5,N) + C(N,N); M(5, 6) = C(5,6) - C(6,N) - C(5,N) + C(N,N); M(5, 7) = C(5,7) - C(7,N) - C(5,N) + C(N,N); + b[6] = c(6) - c(N) - C(6,N) + C(N,N); M(6, 6) = C(6,6) - C(6,N) - C(6,N) + C(N,N); M(6, 7) = C(6,7) - C(7,N) - C(6,N) + C(N,N); + b[7] = c(7) - c(N) - C(7,N) + C(N,N); M(7, 7) = C(7,7) - C(7,N) - C(7,N) + C(N,N); + + b[1] -= b[0] * M(0, 1) / M(0, 0); M(1, 1) -= M(0, 1) * M(0, 1) / M(0, 0); M(1, 2) -= M(0, 2) * M(0, 1) / M(0, 0); M(1, 3) -= M(0, 3) * M(0, 1) / M(0, 0); M(1, 4) -= M(0, 4) * M(0, 1) / M(0, 0); M(1, 5) -= M(0, 5) * M(0, 1) / M(0, 0); M(1, 6) -= M(0, 6) * M(0, 1) / M(0, 0); M(1, 7) -= M(0, 7) * M(0, 1) / M(0, 0); + b[2] -= b[0] * M(0, 2) / M(0, 0); M(2, 2) -= M(0, 2) * M(0, 2) / M(0, 0); M(2, 3) -= M(0, 3) * M(0, 2) / M(0, 0); M(2, 4) -= M(0, 4) * M(0, 2) / M(0, 0); M(2, 5) -= M(0, 5) * M(0, 2) / M(0, 0); M(2, 6) -= M(0, 6) * M(0, 2) / M(0, 0); M(2, 7) -= M(0, 7) * M(0, 2) / M(0, 0); + b[3] -= b[0] * M(0, 3) / M(0, 0); M(3, 3) -= M(0, 3) * M(0, 3) / M(0, 0); M(3, 4) -= M(0, 4) * M(0, 3) / M(0, 0); M(3, 5) -= M(0, 5) * M(0, 3) / M(0, 0); M(3, 6) -= M(0, 6) * M(0, 3) / M(0, 0); M(3, 7) -= M(0, 7) * M(0, 3) / M(0, 0); + b[4] -= b[0] * M(0, 4) / M(0, 0); M(4, 4) -= M(0, 4) * M(0, 4) / M(0, 0); M(4, 5) -= M(0, 5) * M(0, 4) / M(0, 0); M(4, 6) -= M(0, 6) * M(0, 4) / M(0, 0); M(4, 7) -= M(0, 7) * M(0, 4) / M(0, 0); + b[5] -= b[0] * M(0, 5) / M(0, 0); M(5, 5) -= M(0, 5) * M(0, 5) / M(0, 0); M(5, 6) -= M(0, 6) * M(0, 5) / M(0, 0); M(5, 7) -= M(0, 7) * M(0, 5) / M(0, 0); + b[6] -= b[0] * M(0, 6) / M(0, 0); M(6, 6) -= M(0, 6) * M(0, 6) / M(0, 0); M(6, 7) -= M(0, 7) * M(0, 6) / M(0, 0); + b[7] -= b[0] * M(0, 7) / M(0, 0); M(7, 7) -= M(0, 7) * M(0, 7) / M(0, 0); + + b[2] -= b[1] * M(1, 2) / M(1, 1); M(2, 2) -= M(1, 2) * M(1, 2) / M(1, 1); M(2, 3) -= M(1, 3) * M(1, 2) / M(1, 1); M(2, 4) -= M(1, 4) * M(1, 2) / M(1, 1); M(2, 5) -= M(1, 5) * M(1, 2) / M(1, 1); M(2, 6) -= M(1, 6) * M(1, 2) / M(1, 1); M(2, 7) -= M(1, 7) * M(1, 2) / M(1, 1); + b[3] -= b[1] * M(1, 3) / M(1, 1); M(3, 3) -= M(1, 3) * M(1, 3) / M(1, 1); M(3, 4) -= M(1, 4) * M(1, 3) / M(1, 1); M(3, 5) -= M(1, 5) * M(1, 3) / M(1, 1); M(3, 6) -= M(1, 6) * M(1, 3) / M(1, 1); M(3, 7) -= M(1, 7) * M(1, 3) / M(1, 1); + b[4] -= b[1] * M(1, 4) / M(1, 1); M(4, 4) -= M(1, 4) * M(1, 4) / M(1, 1); M(4, 5) -= M(1, 5) * M(1, 4) / M(1, 1); M(4, 6) -= M(1, 6) * M(1, 4) / M(1, 1); M(4, 7) -= M(1, 7) * M(1, 4) / M(1, 1); + b[5] -= b[1] * M(1, 5) / M(1, 1); M(5, 5) -= M(1, 5) * M(1, 5) / M(1, 1); M(5, 6) -= M(1, 6) * M(1, 5) / M(1, 1); M(5, 7) -= M(1, 7) * M(1, 5) / M(1, 1); + b[6] -= b[1] * M(1, 6) / M(1, 1); M(6, 6) -= M(1, 6) * M(1, 6) / M(1, 1); M(6, 7) -= M(1, 7) * M(1, 6) / M(1, 1); + b[7] -= b[1] * M(1, 7) / M(1, 1); M(7, 7) -= M(1, 7) * M(1, 7) / M(1, 1); + + b[3] -= b[2] * M(2, 3) / M(2, 2); M(3, 3) -= M(2, 3) * M(2, 3) / M(2, 2); M(3, 4) -= M(2, 4) * M(2, 3) / M(2, 2); M(3, 5) -= M(2, 5) * M(2, 3) / M(2, 2); M(3, 6) -= M(2, 6) * M(2, 3) / M(2, 2); M(3, 7) -= M(2, 7) * M(2, 3) / M(2, 2); + b[4] -= b[2] * M(2, 4) / M(2, 2); M(4, 4) -= M(2, 4) * M(2, 4) / M(2, 2); M(4, 5) -= M(2, 5) * M(2, 4) / M(2, 2); M(4, 6) -= M(2, 6) * M(2, 4) / M(2, 2); M(4, 7) -= M(2, 7) * M(2, 4) / M(2, 2); + b[5] -= b[2] * M(2, 5) / M(2, 2); M(5, 5) -= M(2, 5) * M(2, 5) / M(2, 2); M(5, 6) -= M(2, 6) * M(2, 5) / M(2, 2); M(5, 7) -= M(2, 7) * M(2, 5) / M(2, 2); + b[6] -= b[2] * M(2, 6) / M(2, 2); M(6, 6) -= M(2, 6) * M(2, 6) / M(2, 2); M(6, 7) -= M(2, 7) * M(2, 6) / M(2, 2); + b[7] -= b[2] * M(2, 7) / M(2, 2); M(7, 7) -= M(2, 7) * M(2, 7) / M(2, 2); + + b[4] -= b[3] * M(3, 4) / M(3, 3); M(4, 4) -= M(3, 4) * M(3, 4) / M(3, 3); M(4, 5) -= M(3, 5) * M(3, 4) / M(3, 3); M(4, 6) -= M(3, 6) * M(3, 4) / M(3, 3); M(4, 7) -= M(3, 7) * M(3, 4) / M(3, 3); + b[5] -= b[3] * M(3, 5) / M(3, 3); M(5, 5) -= M(3, 5) * M(3, 5) / M(3, 3); M(5, 6) -= M(3, 6) * M(3, 5) / M(3, 3); M(5, 7) -= M(3, 7) * M(3, 5) / M(3, 3); + b[6] -= b[3] * M(3, 6) / M(3, 3); M(6, 6) -= M(3, 6) * M(3, 6) / M(3, 3); M(6, 7) -= M(3, 7) * M(3, 6) / M(3, 3); + b[7] -= b[3] * M(3, 7) / M(3, 3); M(7, 7) -= M(3, 7) * M(3, 7) / M(3, 3); + + b[5] -= b[4] * M(4, 5) / M(4, 4); M(5, 5) -= M(4, 5) * M(4, 5) / M(4, 4); M(5, 6) -= M(4, 6) * M(4, 5) / M(4, 4); M(5, 7) -= M(4, 7) * M(4, 5) / M(4, 4); + b[6] -= b[4] * M(4, 6) / M(4, 4); M(6, 6) -= M(4, 6) * M(4, 6) / M(4, 4); M(6, 7) -= M(4, 7) * M(4, 6) / M(4, 4); + b[7] -= b[4] * M(4, 7) / M(4, 4); M(7, 7) -= M(4, 7) * M(4, 7) / M(4, 4); + + b[6] -= b[5] * M(5, 6) / M(5, 5); M(6, 6) -= M(5, 6) * M(5, 6) / M(5, 5); M(6, 7) -= M(5, 7) * M(5, 6) / M(5, 5); + b[7] -= b[5] * M(5, 7) / M(5, 5); M(7, 7) -= M(5, 7) * M(5, 7) / M(5, 5); + + b[7] -= b[6] * M(6, 7) / M(6, 6); M(7, 7) -= M(6, 7) * M(6, 7) / M(6, 6); + + b[7] /= M(7, 7); + interp += b[7] * (X[7] - X[N]).zw; + + b[6] -= M(6, 7) * b[7]; b[6] /= M(6, 6); + interp += b[6] * (X[6] - X[N]).zw; + + b[5] -= M(5, 6) * b[6]; b[5] -= M(5, 7) * b[7]; b[5] /= M(5, 5); + interp += b[5] * (X[5] - X[N]).zw; + + b[4] -= M(4, 5) * b[5]; b[4] -= M(4, 6) * b[6]; b[4] -= M(4, 7) * b[7]; b[4] /= M(4, 4); + interp += b[4] * (X[4] - X[N]).zw; + + b[3] -= M(3, 4) * b[4]; b[3] -= M(3, 5) * b[5]; b[3] -= M(3, 6) * b[6]; b[3] -= M(3, 7) * b[7]; b[3] /= M(3, 3); + interp += b[3] * (X[3] - X[N]).zw; + + b[2] -= M(2, 3) * b[3]; b[2] -= M(2, 4) * b[4]; b[2] -= M(2, 5) * b[5]; b[2] -= M(2, 6) * b[6]; b[2] -= M(2, 7) * b[7]; b[2] /= M(2, 2); + interp += b[2] * (X[2] - X[N]).zw; + + b[1] -= M(1, 2) * b[2]; b[1] -= M(1, 3) * b[3]; b[1] -= M(1, 4) * b[4]; b[1] -= M(1, 5) * b[5]; b[1] -= M(1, 6) * b[6]; b[1] -= M(1, 7) * b[7]; b[1] /= M(1, 1); + interp += b[1] * (X[1] - X[N]).zw; + + b[0] -= M(0, 1) * b[1]; b[0] -= M(0, 2) * b[2]; b[0] -= M(0, 3) * b[3]; b[0] -= M(0, 4) * b[4]; b[0] -= M(0, 5) * b[5]; b[0] -= M(0, 6) * b[6]; b[0] -= M(0, 7) * b[7]; b[0] /= M(0, 0); + interp += b[0] * (X[0] - X[N]).zw; + + return interp.xyxy; +} \ No newline at end of file diff --git a/shaders/igv/SSimDownscaler.glsl b/shaders/igv/SSimDownscaler.glsl new file mode 100644 index 0000000..1808d9c --- /dev/null +++ b/shaders/igv/SSimDownscaler.glsl @@ -0,0 +1,214 @@ +// This library 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 library 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 library. + +//!HOOK POSTKERNEL +//!BIND PREKERNEL +//!BIND HOOKED +//!SAVE L2 +//!WIDTH NATIVE_CROPPED.w +//!WHEN NATIVE_CROPPED.h POSTKERNEL.h > +//!COMPONENTS 3 +//!DESC SSimDownscaler L2 pass 1 + +#define axis 1 + +#define offset vec2(0,0) + +#define MN(B,C,x) (x < 1.0 ? ((2.-1.5*B-(C))*x + (-3.+2.*B+C))*x*x + (1.-(B)/3.) : (((-(B)/6.-(C))*x + (B+5.*C))*x + (-2.*B-8.*C))*x+((4./3.)*B+4.*C)) +#define Kernel(x) MN(.0, .5, abs(x)) +#define taps 2.0 + +vec4 hook() { + vec2 base = PREKERNEL_pt * (PREKERNEL_pos * input_size + tex_offset); + + float low = ceil((PREKERNEL_pos - taps*POSTKERNEL_pt) * input_size - offset + tex_offset - 0.5)[axis]; + float high = floor((PREKERNEL_pos + taps*POSTKERNEL_pt) * input_size - offset + tex_offset - 0.5)[axis]; + + float W = 0.0; + vec4 avg = vec4(0); + vec2 pos = base; + + for (float k = low; k <= high; k++) { + pos[axis] = PREKERNEL_pt[axis] * (k - offset[axis] + 0.5); + float rel = (pos[axis] - base[axis])*POSTKERNEL_size[axis]; + float w = Kernel(rel); + + vec4 tex = textureLod(PREKERNEL_raw, pos, 0.0) * PREKERNEL_mul; + avg += w * tex * tex; + W += w; + } + avg /= W; + + return avg; +} + +//!HOOK POSTKERNEL +//!BIND L2 +//!BIND HOOKED +//!SAVE L2 +//!WHEN NATIVE_CROPPED.w POSTKERNEL.w > +//!COMPONENTS 3 +//!DESC SSimDownscaler L2 pass 2 + +#define axis 0 + +#define offset vec2(0,0) + +#define MN(B,C,x) (x < 1.0 ? ((2.-1.5*B-(C))*x + (-3.+2.*B+C))*x*x + (1.-(B)/3.) : (((-(B)/6.-(C))*x + (B+5.*C))*x + (-2.*B-8.*C))*x+((4./3.)*B+4.*C)) +#define Kernel(x) MN(.0, .5, abs(x)) +#define taps 2.0 + +vec4 hook() { + float low = ceil((L2_pos - taps*POSTKERNEL_pt) * L2_size - offset - 0.5)[axis]; + float high = floor((L2_pos + taps*POSTKERNEL_pt) * L2_size - offset - 0.5)[axis]; + + float W = 0.0; + vec4 avg = vec4(0); + vec2 pos = L2_pos; + + for (float k = low; k <= high; k++) { + pos[axis] = L2_pt[axis] * (k - offset[axis] + 0.5); + float rel = (pos[axis] - L2_pos[axis])*POSTKERNEL_size[axis]; + float w = Kernel(rel); + + avg += w * textureLod(L2_raw, pos, 0.0) * L2_mul; + W += w; + } + avg /= W; + + return avg; +} + +//!HOOK POSTKERNEL +//!BIND HOOKED +//!BIND L2 +//!SAVE MR +//!WHEN NATIVE_CROPPED.h POSTKERNEL.h > +//!COMPONENTS 4 +//!DESC SSimDownscaler mean & R + +#define oversharp 0.0 + +#define sigma_nsq 10. / (255.*255.) +#define locality 2.0 + +#define offset vec2(0,0) + +#define Kernel(x) pow(1.0 / locality, abs(x)) +#define taps 3.0 + +#define Luma(rgb) ( dot(rgb, vec3(0.2126, 0.7152, 0.0722)) ) + +mat3x3 ScaleH(vec2 pos) { + float low = ceil(-0.5*taps - offset)[0]; + float high = floor(0.5*taps - offset)[0]; + + float W = 0.0; + mat3x3 avg = mat3x3(0); + + for (float k = low; k <= high; k++) { + pos[0] = HOOKED_pos[0] + HOOKED_pt[0] * k; + float rel = k + offset[0]; + float w = Kernel(rel); + + vec3 L = POSTKERNEL_tex(pos).rgb; + avg += w * mat3x3(L, L*L, L2_tex(pos).rgb); + W += w; + } + avg /= W; + + return avg; +} + +vec4 hook() { + vec2 pos = HOOKED_pos; + + float low = ceil(-0.5*taps - offset)[1]; + float high = floor(0.5*taps - offset)[1]; + + float W = 0.0; + mat3x3 avg = mat3x3(0); + + for (float k = low; k <= high; k++) { + pos[1] = HOOKED_pos[1] + HOOKED_pt[1] * k; + float rel = k + offset[1]; + float w = Kernel(rel); + + avg += w * ScaleH(pos); + W += w; + } + avg /= W; + + float Sl = Luma(max(avg[1] - avg[0] * avg[0], 0.)); + float Sh = Luma(max(avg[2] - avg[0] * avg[0], 0.)); + return vec4(avg[0], mix(sqrt((Sh + sigma_nsq) / (Sl + sigma_nsq)) * (1. + oversharp), clamp(Sh / Sl, 0., 1.), float(Sl > Sh))); +} + +//!HOOK POSTKERNEL +//!BIND HOOKED +//!BIND MR +//!WHEN NATIVE_CROPPED.h POSTKERNEL.h > +//!DESC SSimDownscaler final pass + +#define locality 2.0 + +#define offset vec2(0,0) + +#define Kernel(x) pow(1.0 / locality, abs(x)) +#define taps 3.0 + +#define Gamma(x) ( pow(x, vec3(1.0/2.0)) ) +#define GammaInv(x) ( pow(clamp(x, 0.0, 1.0), vec3(2.0)) ) + +mat3x3 ScaleH(vec2 pos) { + float low = ceil(-0.5*taps - offset)[0]; + float high = floor(0.5*taps - offset)[0]; + + float W = 0.0; + mat3x3 avg = mat3x3(0); + + for (float k = low; k <= high; k++) { + pos[0] = HOOKED_pos[0] + HOOKED_pt[0] * k; + float rel = k + offset[0]; + float w = Kernel(rel); + + vec4 MR = MR_tex(pos); + avg += w * mat3x3(MR.a*MR.rgb, MR.rgb, MR.aaa); + W += w; + } + avg /= W; + + return avg; +} + +vec4 hook() { + vec2 pos = HOOKED_pos; + + float low = ceil(-0.5*taps - offset)[1]; + float high = floor(0.5*taps - offset)[1]; + + float W = 0.0; + mat3x3 avg = mat3x3(0); + + for (float k = low; k <= high; k++) { + pos[1] = HOOKED_pos[1] + HOOKED_pt[1] * k; + float rel = k + offset[1]; + float w = Kernel(rel); + + avg += w * ScaleH(pos); + W += w; + } + avg /= W; + vec4 L = POSTKERNEL_texOff(0); + return vec4(avg[1] + avg[2] * L.rgb - avg[0], L.a); +} \ No newline at end of file diff --git a/shaders/igv/SSimSuperRes.glsl b/shaders/igv/SSimSuperRes.glsl new file mode 100644 index 0000000..4b77f4f --- /dev/null +++ b/shaders/igv/SSimSuperRes.glsl @@ -0,0 +1,203 @@ +// SSimSuperRes by Shiandow +// +// This library 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 library 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 library. + +//!HOOK POSTKERNEL +//!BIND HOOKED +//!SAVE LOWRES +//!HEIGHT NATIVE_CROPPED.h +//!WHEN NATIVE_CROPPED.h OUTPUT.h < +//!COMPONENTS 4 +//!DESC SSSR Downscaling I + +#define axis 1 + +#define offset vec2(0,0) + +#define MN(B,C,x) (x < 1.0 ? ((2.-1.5*B-(C))*x + (-3.+2.*B+C))*x*x + (1.-(B)/3.) : (((-(B)/6.-(C))*x + (B+5.*C))*x + (-2.*B-8.*C))*x+((4./3.)*B+4.*C)) +#define Kernel(x) MN(0.334, 0.333, abs(x)) +#define taps 2.0 + +#define Luma(rgb) dot(rgb*rgb, vec3(0.2126, 0.7152, 0.0722)) + +vec4 hook() { + float low = ceil((HOOKED_pos - taps/input_size) * HOOKED_size - offset - 0.5)[axis]; + float high = floor((HOOKED_pos + taps/input_size) * HOOKED_size - offset - 0.5)[axis]; + + float W = 0.0; + vec4 avg = vec4(0); + vec2 pos = HOOKED_pos; + vec4 tex; + + for (float k = low; k <= high; k++) { + pos[axis] = HOOKED_pt[axis] * (k - offset[axis] + 0.5); + float rel = (pos[axis] - HOOKED_pos[axis])*input_size[axis]; + float w = Kernel(rel); + + tex.rgb = textureLod(HOOKED_raw, pos, 0.0).rgb * HOOKED_mul; + tex.a = Luma(tex.rgb); + avg += w * tex; + W += w; + } + avg /= W; + + return vec4(avg.rgb, max(abs(avg.a - Luma(avg.rgb)), 5e-7)); +} + +//!HOOK POSTKERNEL +//!BIND LOWRES +//!SAVE LOWRES +//!WIDTH NATIVE_CROPPED.w +//!HEIGHT NATIVE_CROPPED.h +//!WHEN NATIVE_CROPPED.w OUTPUT.w < +//!COMPONENTS 4 +//!DESC SSSR Downscaling II + +#define axis 0 + +#define offset vec2(0,0) + +#define MN(B,C,x) (x < 1.0 ? ((2.-1.5*B-(C))*x + (-3.+2.*B+C))*x*x + (1.-(B)/3.) : (((-(B)/6.-(C))*x + (B+5.*C))*x + (-2.*B-8.*C))*x+((4./3.)*B+4.*C)) +#define Kernel(x) MN(0.334, 0.333, abs(x)) +#define taps 2.0 + +#define Luma(rgb) dot(rgb*rgb, vec3(0.2126, 0.7152, 0.0722)) + +vec4 hook() { + float low = ceil((LOWRES_pos - taps/input_size) * LOWRES_size - offset - 0.5)[axis]; + float high = floor((LOWRES_pos + taps/input_size) * LOWRES_size - offset - 0.5)[axis]; + + float W = 0.0; + vec4 avg = vec4(0); + vec2 pos = LOWRES_pos; + vec4 tex; + + for (float k = low; k <= high; k++) { + pos[axis] = LOWRES_pt[axis] * (k - offset[axis] + 0.5); + float rel = (pos[axis] - LOWRES_pos[axis])*input_size[axis]; + float w = Kernel(rel); + + tex.rgb = textureLod(LOWRES_raw, pos, 0.0).rgb * LOWRES_mul; + tex.a = Luma(tex.rgb); + avg += w * tex; + W += w; + } + avg /= W; + + return vec4(avg.rgb, max(abs(avg.a - Luma(avg.rgb)), 5e-7) + LOWRES_texOff(0).a); +} + +//!HOOK POSTKERNEL +//!BIND PREKERNEL +//!BIND LOWRES +//!SAVE var +//!WIDTH NATIVE_CROPPED.w +//!HEIGHT NATIVE_CROPPED.h +//!WHEN NATIVE_CROPPED.h OUTPUT.h < +//!COMPONENTS 2 +//!DESC SSSR var + +#define spread 1.0 / 4.0 + +#define GetL(x,y) PREKERNEL_tex(PREKERNEL_pt * (PREKERNEL_pos * input_size + tex_offset + vec2(x,y))).rgb +#define GetH(x,y) LOWRES_texOff(vec2(x,y)).rgb + +#define Luma(rgb) dot(rgb*rgb, vec3(0.2126, 0.7152, 0.0722)) +#define diff(x,y) vec2(Luma((GetL(x,y) - meanL)), Luma((GetH(x,y) - meanH))) + +vec4 hook() { + vec3 meanL = GetL(0,0); + vec3 meanH = GetH(0,0); + for (int X=-1; X<=1; X+=2) { + meanL += GetL(X,0) * spread; + meanH += GetH(X,0) * spread; + } + for (int Y=-1; Y<=1; Y+=2) { + meanL += GetL(0,Y) * spread; + meanH += GetH(0,Y) * spread; + } + meanL /= (1.0 + 4.0*spread); + meanH /= (1.0 + 4.0*spread); + + vec2 var = diff(0,0); + for (int X=-1; X<=1; X+=2) + var += diff(X,0) * spread; + + for (int Y=-1; Y<=1; Y+=2) + var += diff(0,Y) * spread; + + return vec4(max(var / (1.0 + 4.0*spread), vec2(1e-6)), 0, 0); +} + +//!HOOK POSTKERNEL +//!BIND HOOKED +//!BIND PREKERNEL +//!BIND LOWRES +//!BIND var +//!WHEN NATIVE_CROPPED.h OUTPUT.h < +//!DESC SSSR final pass + +#define oversharp 0.5 + +// -- Window Size -- +#define taps 3.0 +#define even (taps - 2.0 * floor(taps / 2.0) == 0.0) +#define minX int(1.0-ceil(taps/2.0)) +#define maxX int(floor(taps/2.0)) + +#define Kernel(x) cos(acos(-1.0)*(x)/taps) // Hann kernel + +// -- Input processing -- +#define var(x,y) var_tex(var_pt * (pos + vec2(x,y) + 0.5)).rg +#define GetL(x,y) PREKERNEL_tex(PREKERNEL_pt * (pos + tex_offset + vec2(x,y) + 0.5)).rgb +#define GetH(x,y) LOWRES_tex(LOWRES_pt * (pos + vec2(x,y) + 0.5)) + +#define Luma(rgb) dot(rgb*rgb, vec3(0.2126, 0.7152, 0.0722)) + +vec4 hook() { + vec4 c0 = HOOKED_texOff(0); + + vec2 pos = HOOKED_pos * LOWRES_size - vec2(0.5); + vec2 offset = pos - (even ? floor(pos) : round(pos)); + pos -= offset; + + vec2 mVar = vec2(0.0); + for (int X=-1; X<=1; X++) + for (int Y=-1; Y<=1; Y++) { + vec2 w = clamp(1.5 - abs(vec2(X,Y)), 0.0, 1.0); + mVar += w.r * w.g * vec2(GetH(X,Y).a, 1.0); + } + mVar.r /= mVar.g; + + // Calculate faithfulness force + float weightSum = 0.0; + vec3 diff = vec3(0); + + for (int X = minX; X <= maxX; X++) + for (int Y = minX; Y <= maxX; Y++) + { + float R = (-1.0 - oversharp) * sqrt(var(X,Y).r / (var(X,Y).g + mVar.r)); + + vec2 krnl = Kernel(vec2(X,Y) - offset); + float weight = krnl.r * krnl.g / (Luma((c0.rgb - GetH(X,Y).rgb)) + GetH(X,Y).a); + + diff += weight * (GetL(X,Y) + GetH(X,Y).rgb * R + (-1.0 - R) * (c0.rgb)); + weightSum += weight; + } + diff /= weightSum; + + c0.rgb = ((c0.rgb) + diff); + + return c0; +} \ No newline at end of file diff --git a/shaders/igv/adaptive-sharpen.glsl b/shaders/igv/adaptive-sharpen.glsl new file mode 100644 index 0000000..94dde85 --- /dev/null +++ b/shaders/igv/adaptive-sharpen.glsl @@ -0,0 +1,230 @@ +// Copyright (c) 2015-2021, bacondither +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer +// in this position and unchanged. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Adaptive sharpen - version 2021-10-17 +// Tuned for use post-resize + +//!HOOK OUTPUT +//!BIND HOOKED +//!DESC adaptive-sharpen + +//--------------------------------------- Settings ------------------------------------------------ + +#define curve_height 1.0 // Main control of sharpening strength [>0] + // 0.3 <-> 2.0 is a reasonable range of values + +#define overshoot_ctrl false // Allow for higher overshoot if the current edge pixel + // is surrounded by similar edge pixels + +// Defined values under this row are "optimal" DO NOT CHANGE IF YOU DO NOT KNOW WHAT YOU ARE DOING! + +#define curveslope 0.5 // Sharpening curve slope, high edge values + +#define L_compr_low 0.167 // Light compression, default (0.167=~6x) +#define L_compr_high 0.334 // Light compression, surrounded by edges (0.334=~3x) + +#define D_compr_low 0.250 // Dark compression, default (0.250=4x) +#define D_compr_high 0.500 // Dark compression, surrounded by edges (0.500=2x) + +#define scale_lim 0.1 // Abs max change before compression [>0.01] +#define scale_cs 0.056 // Compression slope above scale_lim + +#define pm_p 1.0 // Power mean p-value [>0-1.0] +//------------------------------------------------------------------------------------------------- + +#define max4(a,b,c,d) ( max(max(a, b), max(c, d)) ) + +// Soft if, fast linear approx +#define soft_if(a,b,c) ( sat((a + b + c + 0.056/2.5)/(maxedge + 0.03/2.5) - 0.85) ) + +// Soft limit, modified tanh approx +#define soft_lim(v,s) ( sat(abs(v/s)*(27.0 + pow(v/s, 2.0))/(27.0 + 9.0*pow(v/s, 2.0)))*s ) + +// Weighted power mean +#define wpmean(a,b,w) ( pow(w*pow(abs(a), pm_p) + abs(1.0-w)*pow(abs(b), pm_p), (1.0/pm_p)) ) + +// Get destination pixel values +#define get(x,y) ( HOOKED_texOff(vec2(x, y)).rgb ) +#define sat(x) ( clamp(x, 0.0, 1.0) ) +#define dxdy(val) ( length(fwidth(val)) ) // =~1/2.5 hq edge without c_comp + +#ifdef LUMA_tex +#define CtL(RGB) RGB.x +#else +#define CtL(RGB) ( sqrt(dot(sat(RGB)*sat(RGB), vec3(0.2126, 0.7152, 0.0722))) ) +#endif + +#define b_diff(pix) ( (blur-luma[pix])*(blur-luma[pix]) ) + +vec4 hook() { + + // [ c22 ] + // [ c24, c9, c23 ] + // [ c21, c1, c2, c3, c18 ] + // [ c19, c10, c4, c0, c5, c11, c16 ] + // [ c20, c6, c7, c8, c17 ] + // [ c15, c12, c14 ] + // [ c13 ] + vec3 c[25] = vec3[](get( 0, 0), get(-1,-1), get( 0,-1), get( 1,-1), get(-1, 0), + get( 1, 0), get(-1, 1), get( 0, 1), get( 1, 1), get( 0,-2), + get(-2, 0), get( 2, 0), get( 0, 2), get( 0, 3), get( 1, 2), + get(-1, 2), get( 3, 0), get( 2, 1), get( 2,-1), get(-3, 0), + get(-2, 1), get(-2,-1), get( 0,-3), get( 1,-2), get(-1,-2)); + + float e[13] = float[](dxdy(c[0]), dxdy(c[1]), dxdy(c[2]), dxdy(c[3]), dxdy(c[4]), + dxdy(c[5]), dxdy(c[6]), dxdy(c[7]), dxdy(c[8]), dxdy(c[9]), + dxdy(c[10]), dxdy(c[11]), dxdy(c[12])); + + // RGB to luma + float luma[25] = float[](CtL(c[0]), CtL(c[1]), CtL(c[2]), CtL(c[3]), CtL(c[4]), CtL(c[5]), CtL(c[6]), + CtL(c[7]), CtL(c[8]), CtL(c[9]), CtL(c[10]), CtL(c[11]), CtL(c[12]), + CtL(c[13]), CtL(c[14]), CtL(c[15]), CtL(c[16]), CtL(c[17]), CtL(c[18]), + CtL(c[19]), CtL(c[20]), CtL(c[21]), CtL(c[22]), CtL(c[23]), CtL(c[24])); + + float c0_Y = luma[0]; + + // Blur, gauss 3x3 + float blur = (2.0 * (luma[2]+luma[4]+luma[5]+luma[7]) + (luma[1]+luma[3]+luma[6]+luma[8]) + 4.0 * luma[0]) / 16.0; + + // Contrast compression, center = 0.5 + float c_comp = sat(0.266666681f + 0.9*exp2(blur * blur * -7.4)); + + // Edge detection + // Relative matrix weights + // [ 1 ] + // [ 4, 5, 4 ] + // [ 1, 5, 6, 5, 1 ] + // [ 4, 5, 4 ] + // [ 1 ] + float edge = ( 1.38*b_diff(0) + + 1.15*(b_diff(2) + b_diff(4) + b_diff(5) + b_diff(7)) + + 0.92*(b_diff(1) + b_diff(3) + b_diff(6) + b_diff(8)) + + 0.23*(b_diff(9) + b_diff(10) + b_diff(11) + b_diff(12)) ) * c_comp; + + vec2 cs = vec2(L_compr_low, D_compr_low); + + if (overshoot_ctrl) { + float maxedge = max4( max4(e[1],e[2],e[3],e[4]), max4(e[5],e[6],e[7],e[8]), + max4(e[9],e[10],e[11],e[12]), e[0] ); + + // [ x ] + // [ z, x, w ] + // [ z, z, x, w, w ] + // [ y, y, y, 0, y, y, y ] + // [ w, w, x, z, z ] + // [ w, x, z ] + // [ x ] + float sbe = soft_if(e[2],e[9], dxdy(c[22]))*soft_if(e[7],e[12],dxdy(c[13])) // x dir + + soft_if(e[4],e[10],dxdy(c[19]))*soft_if(e[5],e[11],dxdy(c[16])) // y dir + + soft_if(e[1],dxdy(c[24]),dxdy(c[21]))*soft_if(e[8],dxdy(c[14]),dxdy(c[17])) // z dir + + soft_if(e[3],dxdy(c[23]),dxdy(c[18]))*soft_if(e[6],dxdy(c[20]),dxdy(c[15])); // w dir + + cs = mix(cs, vec2(L_compr_high, D_compr_high), sat(2.4002*sbe - 2.282)); + } + + // Precalculated default squared kernel weights + const vec3 w1 = vec3(0.5, 1.0, 1.41421356237); // 0.25, 1.0, 2.0 + const vec3 w2 = vec3(0.86602540378, 1.0, 0.54772255751); // 0.75, 1.0, 0.3 + + // Transition to a concave kernel if the center edge val is above thr + vec3 dW = pow(mix( w1, w2, sat(2.4*edge - 0.82)), vec3(2.0)); + + // Use lower weights for pixels in a more active area relative to center pixel area + // This results in narrower and less visible overshoots around sharp edges + float modif_e0 = 3.0 * e[0] + 0.02/2.5; + + float weights[12] = float[](( min(modif_e0/e[1], dW.y) ), + ( dW.x ), + ( min(modif_e0/e[3], dW.y) ), + ( dW.x ), + ( dW.x ), + ( min(modif_e0/e[6], dW.y) ), + ( dW.x ), + ( min(modif_e0/e[8], dW.y) ), + ( min(modif_e0/e[9], dW.z) ), + ( min(modif_e0/e[10], dW.z) ), + ( min(modif_e0/e[11], dW.z) ), + ( min(modif_e0/e[12], dW.z) )); + + weights[0] = (max(max((weights[8] + weights[9])/4.0, weights[0]), 0.25) + weights[0])/2.0; + weights[2] = (max(max((weights[8] + weights[10])/4.0, weights[2]), 0.25) + weights[2])/2.0; + weights[5] = (max(max((weights[9] + weights[11])/4.0, weights[5]), 0.25) + weights[5])/2.0; + weights[7] = (max(max((weights[10] + weights[11])/4.0, weights[7]), 0.25) + weights[7])/2.0; + + // Calculate the negative part of the laplace kernel and the low threshold weight + float lowthrsum = 0.0; + float weightsum = 0.0; + float neg_laplace = 0.0; + + for (int pix = 0; pix < 12; ++pix) + { + float lowthr = sat((20.*4.5*c_comp*e[pix + 1] - 0.221)); + + neg_laplace += luma[pix+1] * luma[pix+1] * weights[pix] * lowthr; + weightsum += weights[pix] * lowthr; + lowthrsum += lowthr / 12.0; + } + + neg_laplace = sqrt(neg_laplace / weightsum); + + // Compute sharpening magnitude function + float sharpen_val = curve_height/(curve_height*curveslope*edge + 0.625); + + // Calculate sharpening diff and scale + float sharpdiff = (c0_Y - neg_laplace)*(lowthrsum*sharpen_val + 0.01); + + // Calculate local near min & max, partial sort + float temp; + + for (int i1 = 0; i1 < 24; i1 += 2) + { + temp = luma[i1]; + luma[i1] = min(luma[i1], luma[i1+1]); + luma[i1+1] = max(temp, luma[i1+1]); + } + + for (int i2 = 24; i2 > 0; i2 -= 2) + { + temp = luma[0]; + luma[0] = min(luma[0], luma[i2]); + luma[i2] = max(temp, luma[i2]); + + temp = luma[24]; + luma[24] = max(luma[24], luma[i2-1]); + luma[i2-1] = min(temp, luma[i2-1]); + } + + float min_dist = min(abs(luma[24] - c0_Y), abs(c0_Y - luma[0])); + min_dist = min(min_dist, scale_lim*(1.0 - scale_cs) + min_dist*scale_cs); + + // Soft limited anti-ringing with tanh, wpmean to control compression slope + sharpdiff = wpmean(max(sharpdiff, 0.0), soft_lim( max(sharpdiff, 0.0), min_dist ), cs.x ) + - wpmean(min(sharpdiff, 0.0), soft_lim( min(sharpdiff, 0.0), min_dist ), cs.y ); + + float sharpdiff_lim = sat(c0_Y + sharpdiff) - c0_Y; + /*float satmul = (c0_Y + max(sharpdiff_lim*0.9, sharpdiff_lim)*1.03 + 0.03)/(c0_Y + 0.03); + vec3 res = c0_Y + sharpdiff_lim + (c[0] - c0_Y)*satmul; + */ + return vec4(sharpdiff_lim + c[0], HOOKED_texOff(0).a); +} \ No newline at end of file diff --git a/shaders/igv/adaptive-sharpen_luma.glsl b/shaders/igv/adaptive-sharpen_luma.glsl new file mode 100644 index 0000000..0616f3e --- /dev/null +++ b/shaders/igv/adaptive-sharpen_luma.glsl @@ -0,0 +1,436 @@ +// Copyright (c) 2015-2021, bacondither +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer +// in this position and unchanged. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Adaptive sharpen - version 2021-10-17 +// Tuned for use post-resize + +//!HOOK LUMA +//!BIND HOOKED +//!WHEN HOOKED.w OUTPUT.w < HOOKED.h OUTPUT.h < * +//!DESC adaptive-sharpen_luma + +//--------------------------------------- Settings ------------------------------------------------ + +#define curve_height 0.3 // Main control of sharpening strength [>0] + // 0.3 <-> 2.0 is a reasonable range of values + +#define overshoot_ctrl false // Allow for higher overshoot if the current edge pixel + // is surrounded by similar edge pixels + +// Defined values under this row are "optimal" DO NOT CHANGE IF YOU DO NOT KNOW WHAT YOU ARE DOING! + +#define curveslope 0.5 // Sharpening curve slope, high edge values + +#define L_compr_low 0.167 // Light compression, default (0.167=~6x) +#define L_compr_high 0.334 // Light compression, surrounded by edges (0.334=~3x) + +#define D_compr_low 0.250 // Dark compression, default (0.250=4x) +#define D_compr_high 0.500 // Dark compression, surrounded by edges (0.500=2x) + +#define scale_lim 0.1 // Abs max change before compression [>0.01] +#define scale_cs 0.056 // Compression slope above scale_lim + +#define pm_p 1.0 // Power mean p-value [>0-1.0] +//------------------------------------------------------------------------------------------------- + +#define max4(a,b,c,d) ( max(max(a, b), max(c, d)) ) + +// Soft if, fast linear approx +#define soft_if(a,b,c) ( sat((a + b + c + 0.056/2.5)/(maxedge + 0.03/2.5) - 0.85) ) + +// Soft limit, modified tanh approx +#define soft_lim(v,s) ( sat(abs(v/s)*(27.0 + pow(v/s, 2.0))/(27.0 + 9.0*pow(v/s, 2.0)))*s ) + +// Weighted power mean +#define wpmean(a,b,w) ( pow(w*pow(abs(a), pm_p) + abs(1.0-w)*pow(abs(b), pm_p), (1.0/pm_p)) ) + +// Get destination pixel values +#define get(x,y) ( HOOKED_texOff(vec2(x, y)).rgb ) +#define sat(x) ( clamp(x, 0.0, 1.0) ) +#define dxdy(val) ( length(fwidth(val)) ) // =~1/2.5 hq edge without c_comp + +#ifdef LUMA_tex +#define CtL(RGB) RGB.x +#else +#define CtL(RGB) ( sqrt(dot(sat(RGB)*sat(RGB), vec3(0.2126, 0.7152, 0.0722))) ) +#endif + +#define b_diff(pix) ( (blur-luma[pix])*(blur-luma[pix]) ) + +vec4 hook() { + + // [ c22 ] + // [ c24, c9, c23 ] + // [ c21, c1, c2, c3, c18 ] + // [ c19, c10, c4, c0, c5, c11, c16 ] + // [ c20, c6, c7, c8, c17 ] + // [ c15, c12, c14 ] + // [ c13 ] + vec3 c[25] = vec3[](get( 0, 0), get(-1,-1), get( 0,-1), get( 1,-1), get(-1, 0), + get( 1, 0), get(-1, 1), get( 0, 1), get( 1, 1), get( 0,-2), + get(-2, 0), get( 2, 0), get( 0, 2), get( 0, 3), get( 1, 2), + get(-1, 2), get( 3, 0), get( 2, 1), get( 2,-1), get(-3, 0), + get(-2, 1), get(-2,-1), get( 0,-3), get( 1,-2), get(-1,-2)); + + float e[13] = float[](dxdy(c[0]), dxdy(c[1]), dxdy(c[2]), dxdy(c[3]), dxdy(c[4]), + dxdy(c[5]), dxdy(c[6]), dxdy(c[7]), dxdy(c[8]), dxdy(c[9]), + dxdy(c[10]), dxdy(c[11]), dxdy(c[12])); + + // RGB to luma + float luma[25] = float[](CtL(c[0]), CtL(c[1]), CtL(c[2]), CtL(c[3]), CtL(c[4]), CtL(c[5]), CtL(c[6]), + CtL(c[7]), CtL(c[8]), CtL(c[9]), CtL(c[10]), CtL(c[11]), CtL(c[12]), + CtL(c[13]), CtL(c[14]), CtL(c[15]), CtL(c[16]), CtL(c[17]), CtL(c[18]), + CtL(c[19]), CtL(c[20]), CtL(c[21]), CtL(c[22]), CtL(c[23]), CtL(c[24])); + + float c0_Y = luma[0]; + + // Blur, gauss 3x3 + float blur = (2.0 * (luma[2]+luma[4]+luma[5]+luma[7]) + (luma[1]+luma[3]+luma[6]+luma[8]) + 4.0 * luma[0]) / 16.0; + + // Contrast compression, center = 0.5 + float c_comp = sat(0.266666681f + 0.9*exp2(blur * blur * -7.4)); + + // Edge detection + // Relative matrix weights + // [ 1 ] + // [ 4, 5, 4 ] + // [ 1, 5, 6, 5, 1 ] + // [ 4, 5, 4 ] + // [ 1 ] + float edge = ( 1.38*b_diff(0) + + 1.15*(b_diff(2) + b_diff(4) + b_diff(5) + b_diff(7)) + + 0.92*(b_diff(1) + b_diff(3) + b_diff(6) + b_diff(8)) + + 0.23*(b_diff(9) + b_diff(10) + b_diff(11) + b_diff(12)) ) * c_comp; + + vec2 cs = vec2(L_compr_low, D_compr_low); + + if (overshoot_ctrl) { + float maxedge = max4( max4(e[1],e[2],e[3],e[4]), max4(e[5],e[6],e[7],e[8]), + max4(e[9],e[10],e[11],e[12]), e[0] ); + + // [ x ] + // [ z, x, w ] + // [ z, z, x, w, w ] + // [ y, y, y, 0, y, y, y ] + // [ w, w, x, z, z ] + // [ w, x, z ] + // [ x ] + float sbe = soft_if(e[2],e[9], dxdy(c[22]))*soft_if(e[7],e[12],dxdy(c[13])) // x dir + + soft_if(e[4],e[10],dxdy(c[19]))*soft_if(e[5],e[11],dxdy(c[16])) // y dir + + soft_if(e[1],dxdy(c[24]),dxdy(c[21]))*soft_if(e[8],dxdy(c[14]),dxdy(c[17])) // z dir + + soft_if(e[3],dxdy(c[23]),dxdy(c[18]))*soft_if(e[6],dxdy(c[20]),dxdy(c[15])); // w dir + + cs = mix(cs, vec2(L_compr_high, D_compr_high), sat(2.4002*sbe - 2.282)); + } + + // Precalculated default squared kernel weights + const vec3 w1 = vec3(0.5, 1.0, 1.41421356237); // 0.25, 1.0, 2.0 + const vec3 w2 = vec3(0.86602540378, 1.0, 0.54772255751); // 0.75, 1.0, 0.3 + + // Transition to a concave kernel if the center edge val is above thr + vec3 dW = pow(mix( w1, w2, sat(2.4*edge - 0.82)), vec3(2.0)); + + // Use lower weights for pixels in a more active area relative to center pixel area + // This results in narrower and less visible overshoots around sharp edges + float modif_e0 = 3.0 * e[0] + 0.02/2.5; + + float weights[12] = float[](( min(modif_e0/e[1], dW.y) ), + ( dW.x ), + ( min(modif_e0/e[3], dW.y) ), + ( dW.x ), + ( dW.x ), + ( min(modif_e0/e[6], dW.y) ), + ( dW.x ), + ( min(modif_e0/e[8], dW.y) ), + ( min(modif_e0/e[9], dW.z) ), + ( min(modif_e0/e[10], dW.z) ), + ( min(modif_e0/e[11], dW.z) ), + ( min(modif_e0/e[12], dW.z) )); + + weights[0] = (max(max((weights[8] + weights[9])/4.0, weights[0]), 0.25) + weights[0])/2.0; + weights[2] = (max(max((weights[8] + weights[10])/4.0, weights[2]), 0.25) + weights[2])/2.0; + weights[5] = (max(max((weights[9] + weights[11])/4.0, weights[5]), 0.25) + weights[5])/2.0; + weights[7] = (max(max((weights[10] + weights[11])/4.0, weights[7]), 0.25) + weights[7])/2.0; + + // Calculate the negative part of the laplace kernel and the low threshold weight + float lowthrsum = 0.0; + float weightsum = 0.0; + float neg_laplace = 0.0; + + for (int pix = 0; pix < 12; ++pix) + { + float lowthr = sat((20.*4.5*c_comp*e[pix + 1] - 0.221)); + + neg_laplace += luma[pix+1] * luma[pix+1] * weights[pix] * lowthr; + weightsum += weights[pix] * lowthr; + lowthrsum += lowthr / 12.0; + } + + neg_laplace = sqrt(neg_laplace / weightsum); + + // Compute sharpening magnitude function + float sharpen_val = curve_height/(curve_height*curveslope*edge + 0.625); + + // Calculate sharpening diff and scale + float sharpdiff = (c0_Y - neg_laplace)*(lowthrsum*sharpen_val + 0.01); + + // Calculate local near min & max, partial sort + float temp; + + for (int i1 = 0; i1 < 24; i1 += 2) + { + temp = luma[i1]; + luma[i1] = min(luma[i1], luma[i1+1]); + luma[i1+1] = max(temp, luma[i1+1]); + } + + for (int i2 = 24; i2 > 0; i2 -= 2) + { + temp = luma[0]; + luma[0] = min(luma[0], luma[i2]); + luma[i2] = max(temp, luma[i2]); + + temp = luma[24]; + luma[24] = max(luma[24], luma[i2-1]); + luma[i2-1] = min(temp, luma[i2-1]); + } + + float min_dist = min(abs(luma[24] - c0_Y), abs(c0_Y - luma[0])); + min_dist = min(min_dist, scale_lim*(1.0 - scale_cs) + min_dist*scale_cs); + + // Soft limited anti-ringing with tanh, wpmean to control compression slope + sharpdiff = wpmean(max(sharpdiff, 0.0), soft_lim( max(sharpdiff, 0.0), min_dist ), cs.x ) + - wpmean(min(sharpdiff, 0.0), soft_lim( min(sharpdiff, 0.0), min_dist ), cs.y ); + + float sharpdiff_lim = sat(c0_Y + sharpdiff) - c0_Y; + /*float satmul = (c0_Y + max(sharpdiff_lim*0.9, sharpdiff_lim)*1.03 + 0.03)/(c0_Y + 0.03); + vec3 res = c0_Y + sharpdiff_lim + (c[0] - c0_Y)*satmul; + */ + return vec4(sharpdiff_lim + c[0], HOOKED_texOff(0).a); +} + +//!HOOK LUMA +//!BIND HOOKED +//!WHEN HOOKED.w OUTPUT.w > HOOKED.h OUTPUT.h > * +//!DESC adaptive-sharpen_luma + +//--------------------------------------- Settings ------------------------------------------------ + +#define curve_height 0.3 // Main control of sharpening strength [>0] + // 0.3 <-> 2.0 is a reasonable range of values + +#define overshoot_ctrl false // Allow for higher overshoot if the current edge pixel + // is surrounded by similar edge pixels + +// Defined values under this row are "optimal" DO NOT CHANGE IF YOU DO NOT KNOW WHAT YOU ARE DOING! + +#define curveslope 0.5 // Sharpening curve slope, high edge values + +#define L_compr_low 0.167 // Light compression, default (0.167=~6x) +#define L_compr_high 0.334 // Light compression, surrounded by edges (0.334=~3x) + +#define D_compr_low 0.250 // Dark compression, default (0.250=4x) +#define D_compr_high 0.500 // Dark compression, surrounded by edges (0.500=2x) + +#define scale_lim 0.1 // Abs max change before compression [>0.01] +#define scale_cs 0.056 // Compression slope above scale_lim + +#define pm_p 1.0 // Power mean p-value [>0-1.0] +//------------------------------------------------------------------------------------------------- + +#define max4(a,b,c,d) ( max(max(a, b), max(c, d)) ) + +// Soft if, fast linear approx +#define soft_if(a,b,c) ( sat((a + b + c + 0.056/2.5)/(maxedge + 0.03/2.5) - 0.85) ) + +// Soft limit, modified tanh approx +#define soft_lim(v,s) ( sat(abs(v/s)*(27.0 + pow(v/s, 2.0))/(27.0 + 9.0*pow(v/s, 2.0)))*s ) + +// Weighted power mean +#define wpmean(a,b,w) ( pow(w*pow(abs(a), pm_p) + abs(1.0-w)*pow(abs(b), pm_p), (1.0/pm_p)) ) + +// Get destination pixel values +#define get(x,y) ( HOOKED_texOff(vec2(x, y)).rgb ) +#define sat(x) ( clamp(x, 0.0, 1.0) ) +#define dxdy(val) ( length(fwidth(val)) ) // =~1/2.5 hq edge without c_comp + +#ifdef LUMA_tex +#define CtL(RGB) RGB.x +#else +#define CtL(RGB) ( sqrt(dot(sat(RGB)*sat(RGB), vec3(0.2126, 0.7152, 0.0722))) ) +#endif + +#define b_diff(pix) ( (blur-luma[pix])*(blur-luma[pix]) ) + +vec4 hook() { + + // [ c22 ] + // [ c24, c9, c23 ] + // [ c21, c1, c2, c3, c18 ] + // [ c19, c10, c4, c0, c5, c11, c16 ] + // [ c20, c6, c7, c8, c17 ] + // [ c15, c12, c14 ] + // [ c13 ] + vec3 c[25] = vec3[](get( 0, 0), get(-1,-1), get( 0,-1), get( 1,-1), get(-1, 0), + get( 1, 0), get(-1, 1), get( 0, 1), get( 1, 1), get( 0,-2), + get(-2, 0), get( 2, 0), get( 0, 2), get( 0, 3), get( 1, 2), + get(-1, 2), get( 3, 0), get( 2, 1), get( 2,-1), get(-3, 0), + get(-2, 1), get(-2,-1), get( 0,-3), get( 1,-2), get(-1,-2)); + + float e[13] = float[](dxdy(c[0]), dxdy(c[1]), dxdy(c[2]), dxdy(c[3]), dxdy(c[4]), + dxdy(c[5]), dxdy(c[6]), dxdy(c[7]), dxdy(c[8]), dxdy(c[9]), + dxdy(c[10]), dxdy(c[11]), dxdy(c[12])); + + // RGB to luma + float luma[25] = float[](CtL(c[0]), CtL(c[1]), CtL(c[2]), CtL(c[3]), CtL(c[4]), CtL(c[5]), CtL(c[6]), + CtL(c[7]), CtL(c[8]), CtL(c[9]), CtL(c[10]), CtL(c[11]), CtL(c[12]), + CtL(c[13]), CtL(c[14]), CtL(c[15]), CtL(c[16]), CtL(c[17]), CtL(c[18]), + CtL(c[19]), CtL(c[20]), CtL(c[21]), CtL(c[22]), CtL(c[23]), CtL(c[24])); + + float c0_Y = luma[0]; + + // Blur, gauss 3x3 + float blur = (2.0 * (luma[2]+luma[4]+luma[5]+luma[7]) + (luma[1]+luma[3]+luma[6]+luma[8]) + 4.0 * luma[0]) / 16.0; + + // Contrast compression, center = 0.5 + float c_comp = sat(0.266666681f + 0.9*exp2(blur * blur * -7.4)); + + // Edge detection + // Relative matrix weights + // [ 1 ] + // [ 4, 5, 4 ] + // [ 1, 5, 6, 5, 1 ] + // [ 4, 5, 4 ] + // [ 1 ] + float edge = ( 1.38*b_diff(0) + + 1.15*(b_diff(2) + b_diff(4) + b_diff(5) + b_diff(7)) + + 0.92*(b_diff(1) + b_diff(3) + b_diff(6) + b_diff(8)) + + 0.23*(b_diff(9) + b_diff(10) + b_diff(11) + b_diff(12)) ) * c_comp; + + vec2 cs = vec2(L_compr_low, D_compr_low); + + if (overshoot_ctrl) { + float maxedge = max4( max4(e[1],e[2],e[3],e[4]), max4(e[5],e[6],e[7],e[8]), + max4(e[9],e[10],e[11],e[12]), e[0] ); + + // [ x ] + // [ z, x, w ] + // [ z, z, x, w, w ] + // [ y, y, y, 0, y, y, y ] + // [ w, w, x, z, z ] + // [ w, x, z ] + // [ x ] + float sbe = soft_if(e[2],e[9], dxdy(c[22]))*soft_if(e[7],e[12],dxdy(c[13])) // x dir + + soft_if(e[4],e[10],dxdy(c[19]))*soft_if(e[5],e[11],dxdy(c[16])) // y dir + + soft_if(e[1],dxdy(c[24]),dxdy(c[21]))*soft_if(e[8],dxdy(c[14]),dxdy(c[17])) // z dir + + soft_if(e[3],dxdy(c[23]),dxdy(c[18]))*soft_if(e[6],dxdy(c[20]),dxdy(c[15])); // w dir + + cs = mix(cs, vec2(L_compr_high, D_compr_high), sat(2.4002*sbe - 2.282)); + } + + // Precalculated default squared kernel weights + const vec3 w1 = vec3(0.5, 1.0, 1.41421356237); // 0.25, 1.0, 2.0 + const vec3 w2 = vec3(0.86602540378, 1.0, 0.54772255751); // 0.75, 1.0, 0.3 + + // Transition to a concave kernel if the center edge val is above thr + vec3 dW = pow(mix( w1, w2, sat(2.4*edge - 0.82)), vec3(2.0)); + + // Use lower weights for pixels in a more active area relative to center pixel area + // This results in narrower and less visible overshoots around sharp edges + float modif_e0 = 3.0 * e[0] + 0.02/2.5; + + float weights[12] = float[](( min(modif_e0/e[1], dW.y) ), + ( dW.x ), + ( min(modif_e0/e[3], dW.y) ), + ( dW.x ), + ( dW.x ), + ( min(modif_e0/e[6], dW.y) ), + ( dW.x ), + ( min(modif_e0/e[8], dW.y) ), + ( min(modif_e0/e[9], dW.z) ), + ( min(modif_e0/e[10], dW.z) ), + ( min(modif_e0/e[11], dW.z) ), + ( min(modif_e0/e[12], dW.z) )); + + weights[0] = (max(max((weights[8] + weights[9])/4.0, weights[0]), 0.25) + weights[0])/2.0; + weights[2] = (max(max((weights[8] + weights[10])/4.0, weights[2]), 0.25) + weights[2])/2.0; + weights[5] = (max(max((weights[9] + weights[11])/4.0, weights[5]), 0.25) + weights[5])/2.0; + weights[7] = (max(max((weights[10] + weights[11])/4.0, weights[7]), 0.25) + weights[7])/2.0; + + // Calculate the negative part of the laplace kernel and the low threshold weight + float lowthrsum = 0.0; + float weightsum = 0.0; + float neg_laplace = 0.0; + + for (int pix = 0; pix < 12; ++pix) + { + float lowthr = sat((20.*4.5*c_comp*e[pix + 1] - 0.221)); + + neg_laplace += luma[pix+1] * luma[pix+1] * weights[pix] * lowthr; + weightsum += weights[pix] * lowthr; + lowthrsum += lowthr / 12.0; + } + + neg_laplace = sqrt(neg_laplace / weightsum); + + // Compute sharpening magnitude function + float sharpen_val = curve_height/(curve_height*curveslope*edge + 0.625); + + // Calculate sharpening diff and scale + float sharpdiff = (c0_Y - neg_laplace)*(lowthrsum*sharpen_val + 0.01); + + // Calculate local near min & max, partial sort + float temp; + + for (int i1 = 0; i1 < 24; i1 += 2) + { + temp = luma[i1]; + luma[i1] = min(luma[i1], luma[i1+1]); + luma[i1+1] = max(temp, luma[i1+1]); + } + + for (int i2 = 24; i2 > 0; i2 -= 2) + { + temp = luma[0]; + luma[0] = min(luma[0], luma[i2]); + luma[i2] = max(temp, luma[i2]); + + temp = luma[24]; + luma[24] = max(luma[24], luma[i2-1]); + luma[i2-1] = min(temp, luma[i2-1]); + } + + float min_dist = min(abs(luma[24] - c0_Y), abs(c0_Y - luma[0])); + min_dist = min(min_dist, scale_lim*(1.0 - scale_cs) + min_dist*scale_cs); + + // Soft limited anti-ringing with tanh, wpmean to control compression slope + sharpdiff = wpmean(max(sharpdiff, 0.0), soft_lim( max(sharpdiff, 0.0), min_dist ), cs.x ) + - wpmean(min(sharpdiff, 0.0), soft_lim( min(sharpdiff, 0.0), min_dist ), cs.y ); + + float sharpdiff_lim = sat(c0_Y + sharpdiff) - c0_Y; + /*float satmul = (c0_Y + max(sharpdiff_lim*0.9, sharpdiff_lim)*1.03 + 0.03)/(c0_Y + 0.03); + vec3 res = c0_Y + sharpdiff_lim + (c[0] - c0_Y)*satmul; + */ + return vec4(sharpdiff_lim + c[0], HOOKED_texOff(0).a); +} diff --git a/shaders/nnedi3/gather/nnedi3-nns128-win8x4.glsl b/shaders/nnedi3/gather/nnedi3-nns128-win8x4.glsl new file mode 100644 index 0000000..f1fdfa6 --- /dev/null +++ b/shaders/nnedi3/gather/nnedi3-nns128-win8x4.glsl @@ -0,0 +1,370 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns128, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1104338237,-1108550970,-1134422686,-1106336704)+W(1,-1112016931,-1117701445,-1135080854,1041734649)+W(2,1036063029,1068454954,-1096794255,-1097058997)+W(3,-1099451832,-1092648385,1068510503,1053379177)+W(4,1045547931,-1102009308,-1108910446,-1096428577)+W(5,-1101312270,-1118387353,-1146436468,-1114733521)+W(6,-1122481515,1017740065,-1101174078,-1110459731)+W(7,-1118789516,-1107281979,-1113618698,-1107441476);sum2=W(0,1034572820,1003346080,1022891960,-1107960738)+W(1,-1147785184,1035529310,-1103397515,-1105088633)+W(2,-1096749055,1067566060,-1099542471,-1112828174)+W(3,-1105585021,1034766166,-1127174872,1056062200)+W(4,-1090311143,1028295012,-1124169384,1028527356)+W(5,-1117109292,-1116900804,-1106700271,1048792675)+W(6,-1101382023,-1102277943,1019646072,1003609248)+W(7,-1121486356,-1114899026,1037356874,1033154740);WS(-1075683047,-1087125913); +sum1=W(0,1052977914,1046022844,1034752002,1042687663)+W(1,1041384601,1034807969,-1097639380,-1087267578)+W(2,1051043629,1049374510,1043598702,1020877136)+W(3,1037740431,1044538321,-1095656786,-1087388173)+W(4,1044576234,-1108783446,1049059763,1032834596)+W(5,-1113942663,1043415765,-1101488315,-1108370107)+W(6,-1105784362,-1089957133,1050972591,1041786741)+W(7,1011031587,1034104676,-1108747496,-1111228387);sum2=W(0,-1112916736,-1120018795,-1149557934,-1129327146)+W(1,-1168639863,-1122303521,1012425107,-1109246006)+W(2,-1105442406,1056936993,-1116270499,1027469999)+W(3,-1114911422,-1109477794,1054092693,1044505132)+W(4,1036431709,1029410453,-1114668504,-1107094547)+W(5,-1122292075,1038663029,-1102188513,1015080154)+W(6,-1126491682,-1112281372,-1115408970,-1136313139)+W(7,-1124857486,1004657207,-1115235380,-1123974759);WS(1042212664,-1102203684); +sum1=W(0,1040147851,-1104962202,1019874102,-1140902818)+W(1,-1111794429,1033944684,1045102086,1035472140)+W(2,-1102798136,-1085739950,1041713132,-1138465404)+W(3,-1122108180,1042129278,1052255697,1044852023)+W(4,-1090423514,-1096835716,1032244040,1031911135)+W(5,1026181805,1045351411,-1114874577,1050093153)+W(6,1015091005,-1100137137,1032066151,-1122713961)+W(7,1045226448,1037723887,1025859399,-1125530488);sum2=W(0,-1109152196,-1122141349,-1119436548,1025219442)+W(1,-1136900198,-1112897189,1040314652,1026944460)+W(2,1032935700,-1095545125,1026037858,1041363772)+W(3,-1144192892,1046665648,-1132954458,-1124096755)+W(4,1029288712,1048235476,-1148187164,-1106963956)+W(5,-1112667488,-1091150222,1044093468,1063106013)+W(6,1017807431,-1124373883,1027834104,-1115265228)+W(7,-1098670428,-1099776205,-1115291573,-1119277141);WS(-1106435384,1038338229); +sum1=W(0,1057302312,1048464174,1019822615,1040095954)+W(1,1038469973,1008999077,-1109673285,-1085504617)+W(2,1048602738,1046177110,1041126536,1037825128)+W(3,1047759857,1042217259,-1089584127,-1088007186)+W(4,-1113571175,1010729037,1046281616,1042659628)+W(5,-1122205838,1042535855,-1099904421,-1112427435)+W(6,-1116720143,-1090676327,1052688116,1025627498)+W(7,1020820192,1034203799,-1109333660,985851280);sum2=W(0,1059204215,1059357388,1025056091,1016257202)+W(1,1045786159,-1115583727,1057901024,1078138204)+W(2,-1096239491,-1080318626,-1117490597,-1123344133)+W(3,1040463834,1043123901,-1073900782,-1075026282)+W(4,-1097775023,-1121076469,-1121712633,-1139226916)+W(5,1021989454,-1105966927,1040778731,1041808545)+W(6,-1108589001,1042934709,1018740994,1032149092)+W(7,1015040126,-1147555881,1013253724,1040543247);WS(-1079558823,-1098708322); +sum1=W(0,-1102044491,-1098872409,1025234303,-1107155318)+W(1,1018716763,1032647774,1050456336,-1157836704)+W(2,-1087610848,-1086405173,1036194249,1015859078)+W(3,1043448582,1041211303,1051086989,1055919296)+W(4,1049149960,-1113006787,-1106597869,-1109510417)+W(5,1032229161,-1113988824,1047976577,1049231261)+W(6,1034815041,-1109243348,-1107821257,-1106784003)+W(7,-1114873522,-1115826050,1045770027,1037659280);sum2=W(0,1038073794,-1114116718,1012713185,-1115121954)+W(1,-1116577465,-1124395325,1041575276,-1128914993)+W(2,1048906430,-1089285214,979525395,-1120959275)+W(3,1055266270,1060162115,-1076455267,1074552079)+W(4,1044939824,960279117,1023425822,1031308048)+W(5,-1098098687,1021768571,-1109266711,-1081125046)+W(6,-1114246838,-1116674868,1015643115,1008898041)+W(7,-1124862202,1013382601,-1116558128,1028966618);WS(1045132600,-1120782135); +sum1=W(0,1057393815,1048859946,-1105178898,-1105751784)+W(1,-1117651397,1030868229,-1097544977,-1105555137)+W(2,1059464001,1046945589,-1114219853,-1104184899)+W(3,-1113548192,-1114482291,-1096850414,-1093321826)+W(4,-1115358437,-1101266388,1038688878,-1110381909)+W(5,-1100710867,-1101910270,1054674458,1045680426)+W(6,1006928425,1001553277,1028338913,-1129240105)+W(7,-1109195062,-1106616547,1051440502,1040711722);sum2=W(0,1041015042,1031690548,-1109811903,1017265392)+W(1,1015388608,-1118750728,-1110095441,-1100279165)+W(2,1041543835,1061785433,-1113627340,1023756444)+W(3,1018680528,-1143924414,1052269299,-1121800962)+W(4,-1112539854,1033767962,-1145950526,1014378799)+W(5,-1099334823,1020584168,-1103181542,1027655784)+W(6,-1111764061,-1098545742,1013677319,-1129429444)+W(7,-1108053853,1036964648,-1106577514,-1110834939);WS(1052573852,-1122511817); +sum1=W(0,-1107197216,-1104137920,1036520122,-1122539822)+W(1,1051517474,1023654291,1038549849,-1123108403)+W(2,-1095755763,-1089160552,-1131456914,-1150669710)+W(3,1039184399,1041388597,1050538028,1032946604)+W(4,-1090293588,-1090056564,1032118773,1027717464)+W(5,-1168884669,1033029075,1057974832,1052989852)+W(6,-1092174087,-1086001910,1030809195,1021054902)+W(7,1028526105,1041880934,1057808582,1053464075);sum2=W(0,-1108201039,-1090848333,1038192816,-1085894681)+W(1,-1081052443,-1102549623,-1093216289,1070882268)+W(2,1052221636,1071505414,-1102898046,-1098445483)+W(3,-1087793608,-1090403840,1073865984,1067999858)+W(4,-1098981857,-1086351349,1050638036,1008806191)+W(5,-1095780376,1055133376,-1083525828,1058878464)+W(6,-1096799400,-1088620184,1057325981,-1102617523)+W(7,-1096503933,1053790412,-1083206959,-1107159037);WS(-1073219892,-1080326418); +sum1=W(0,-1101602915,-1103425331,-1142635506,-1114077580)+W(1,-1151047116,-1114784094,1053716920,1057495924)+W(2,-1090278522,-1092662145,-1123237842,-1142955026)+W(3,-1111276924,-1121668701,1051447237,1055741332)+W(4,-1091646784,-1114692451,-1103324917,1038107057)+W(5,1000704387,-1109204280,1049044089,1052494629)+W(6,-1101848592,1038718196,-1095875035,1026598572)+W(7,1010568075,-1156952092,1047828379,1043005848);sum2=W(0,-1095443331,1050195534,-1116542136,-1121663397)+W(1,1005231721,974104521,-1071776975,-1067370736)+W(2,-1123573301,-1100504352,1037730633,1042431779)+W(3,-1111985184,1047585075,1077012119,1068672794)+W(4,1043186658,-1102861372,-1137348615,1010053773)+W(5,1016528922,-1109020232,1045361006,1070664889)+W(6,-1110454800,1040229501,-1119025600,1028087910)+W(7,1037668055,-1117277443,1027642294,-1123945395);WS(-1130027456,1047744266); +sum1=W(0,-1103440100,1043447132,-1100312969,1030328637)+W(1,-1130350917,-1105733872,1038395889,1050534604)+W(2,-1096543805,-1093151398,1044449278,1036569044)+W(3,1043114871,1022399622,-1106526388,1037345619)+W(4,1024264999,-1115860524,1046212150,-1106699970)+W(5,1020228332,1024836117,1035372917,-1115006287)+W(6,1041344218,1032410566,-1124975021,-1104762293)+W(7,-1123108872,-1112803412,1044066628,980910400);sum2=W(0,1033391383,1041649400,-1098453144,1029880722)+W(1,-1114516031,1025620716,-1137377888,-1137819024)+W(2,-1095624145,-1082091368,1067660000,1029103498)+W(3,1035240799,1066795978,-1080643124,1040796761)+W(4,1056223691,1027973488,1046293202,-1094604015)+W(5,-1098376459,1036814117,-1121978412,-1102259819)+W(6,1034193475,1034286113,-1117927817,-1104816365)+W(7,-1107858514,-1114981924,1041009105,-1148596400);WS(1049012636,1037011386); +sum1=W(0,-1097922903,-1089977373,1042768739,-1108102978)+W(1,1041216474,-1106782690,1052134241,1049818257)+W(2,-1083790961,1050515995,-1105146600,1036457352)+W(3,-1120768141,975424142,1062551839,1059747641)+W(4,1053649082,1044221701,-1100160944,-1100621772)+W(5,1042971413,1047421135,-1093385002,-1088576433)+W(6,1020595485,-1110188826,-1116535239,-1149100234)+W(7,-1142399358,1034144007,-1147628986,-1108848982);sum2=W(0,-1109271051,1040605589,-1109307779,-1130376652)+W(1,1029552052,-1097745138,-1097221185,-1098570547)+W(2,-1117670218,1068278024,-1105231849,998991648)+W(3,-1101762859,-1100990121,1068017963,-1087670872)+W(4,-1099193318,1035466738,-1110904873,-1124853008)+W(5,-1094879980,-1119653306,1049832589,-1103240593)+W(6,-1111928806,1025845624,1012787248,1033926100)+W(7,-1099498770,1046656503,1035573068,1018913792);WS(-1099128120,1074104605); +sum1=W(0,1031876531,1036082771,-1114738061,1001695642)+W(1,1039516460,1037331996,-1127447088,-1106225286)+W(2,1049670772,1045634202,1035838167,-1137881464)+W(3,1048871226,1024672505,-1084335000,-1114090766)+W(4,1039176783,1044499416,1043227732,1036976671)+W(5,-1111706306,1040216275,-1106295064,-1092101927)+W(6,-1115296143,1036111714,1041576607,1024532056)+W(7,1018355325,-1129216251,-1103209586,-1108352670);sum2=W(0,1057121124,1048908439,1026289226,-1125983803)+W(1,-1097055530,-1105528539,-1081617292,-1097673861)+W(2,1042597022,-1101738899,1036989304,1003361806)+W(3,-1094090339,1060807350,1066557847,-1083990029)+W(4,-1101518001,-1114490175,-1127516251,-1121376018)+W(5,1045798092,1007168711,1021212715,1050089807)+W(6,1032222895,-1111061815,1020382491,999276462)+W(7,1021142275,1024157832,1048167829,-1107462587);WS(1043392312,-1114334171); +sum1=W(0,1046571639,1051603231,1027676176,1041086874)+W(1,-1108043111,1031499310,-1100311555,-1101297859)+W(2,-1114765098,1063881062,1038182418,1029494548)+W(3,-1123479337,1047470620,-1092551191,-1090719068)+W(4,1036439434,1039261900,1014428948,1033375641)+W(5,1029157954,-1113522785,-1095549099,-1093343060)+W(6,1049353410,1039119196,1036956537,1016176348)+W(7,1032866554,-1108903402,-1097401399,-1102133676);sum2=W(0,-1110774431,1041464609,1034144522,1032922039)+W(1,-1111786600,1038622987,1024001520,1024080221)+W(2,-1089347840,1063858171,-1106146153,1035186417)+W(3,-1098326560,-1094555153,1062496232,-1102975683)+W(4,-1103182741,-1105498679,1014708981,995983013)+W(5,-1110476474,-1107944280,1034761930,-1104694448)+W(6,1046443094,-1107403517,-1122673776,-1118508182)+W(7,1045574278,-1119406695,-1126790312,-1113235807);WS(1055141020,1060902337); +sum1=W(0,1057965143,1052483105,-1133288704,1034435725)+W(1,-1104499136,1006999415,-1121795134,-1123568702)+W(2,1052696320,-1122504460,1033934442,1026181508)+W(3,-1153162900,1029709087,-1084201687,-1094115828)+W(4,1052884304,1049027177,-1118188821,1030709219)+W(5,1036285529,-1155692311,-1096042081,-1093347107)+W(6,1046782257,1045790650,1035419593,1027652318)+W(7,1013713298,-1111952258,-1101051195,-1098441692);sum2=W(0,-1070666261,-1075189642,1017945729,1043194323)+W(1,-1101126135,1010301074,-1106608294,-1098866335)+W(2,1068575013,1076566585,-1117717167,992756489)+W(3,-1107911121,1046700061,1049134123,1051129947)+W(4,1056539999,-1098049115,-1108161809,1023440269)+W(5,1020103457,1026363561,-1097073139,1047751107)+W(6,1036076910,-1112346970,-1115924363,1034607052)+W(7,1035420194,-1137869730,1016205049,1011007330);WS(-1090579868,1070279725); +sum1=W(0,1048430680,1050349544,-1102328821,1032329895)+W(1,-1129281319,1012204235,-1091335294,-1101560157)+W(2,1052980239,1057014372,-1098061089,-1113203900)+W(3,1033674783,-1115372202,-1084573078,1039656780)+W(4,1057962188,1038273502,1034205973,-1105344998)+W(5,-1108117804,-1111454739,1043587871,-1103450436)+W(6,1046276062,1049777060,1041435478,-1106552005)+W(7,-1115265901,-1109943484,1002064136,-1098888483);sum2=W(0,1027892228,-1102736131,1036995374,987673807)+W(1,1005138532,1028221332,1049007178,-1103141235)+W(2,1034852634,1059241808,-1094252408,-1095509641)+W(3,-1123669832,-1128511149,1060311666,-1090760003)+W(4,-1103859919,1043446486,-1103179232,-1119095571)+W(5,1032914452,1006285508,-1100012675,-1129798465)+W(6,-1109795439,1004807604,-1114181285,1040985329)+W(7,-1122773902,987177167,-1113144024,1051746582);WS(1058381774,-1086956646); +sum1=W(0,-1096145742,-1100460324,-1149835360,1005434106)+W(1,1026532260,-1120107684,1039571170,1046241393)+W(2,-1096424577,1033532617,1036055789,1034370117)+W(3,-1107524072,-1123297125,-1110152984,1054608457)+W(4,1049990129,1042033667,-1173712576,1007595428)+W(5,1032832748,1041584782,-1103984787,-1100950084)+W(6,-1147483724,1021597150,-1119060568,-1122685332)+W(7,-1111048693,1023439817,1016207588,-1122634471);sum2=W(0,1049113865,1035642194,1069067455,1073050559)+W(1,-1123382260,1035361564,-1101089925,1048373410)+W(2,-1105600932,-1114871718,-1073893027,-1096535796)+W(3,-1105239942,1000972215,-1113393188,1050248373)+W(4,-1104998692,1034875990,1038335059,-1077684470)+W(5,-1112223483,987872957,1032989733,1015693919)+W(6,1004288083,1019116562,-1109196141,994568047)+W(7,1016564448,1019016937,1041247426,1024635942);WS(1051792028,1027146209); +sum1=W(0,-1096555104,-1099279313,1031492470,-1173418992)+W(1,1037767898,1032372106,1043543405,1048715847)+W(2,-1102472206,-1086728512,-1111745573,1030866682)+W(3,1031937048,1030986133,1048944276,1045948678)+W(4,-1098029143,-1099704976,1032231158,1037975597)+W(5,1035090980,1038793940,1041023999,1053562136)+W(6,-1107704157,-1088435526,1029296729,1021051177)+W(7,1031982829,1043937550,1046674105,1031959404);sum2=W(0,-1071495861,-1080654015,1067013205,1076285256)+W(1,1024798548,-1130255717,1044446905,-1089164092)+W(2,-1092768710,1053690657,-1103468782,1054912747)+W(3,-1111620633,-1129289568,1049463752,-1089831336)+W(4,1062196550,1059230433,-1086354611,-1082179927)+W(5,1022374674,-1147177200,1055604285,-1116071286)+W(6,1065208788,1069826015,-1077304359,-1086555076)+W(7,1008723412,990531682,1049830695,-1102169042);WS(-1116843232,1041538044); +sum1=W(0,1050813118,1048646402,1041393778,1038718416)+W(1,-1107356403,1032833522,-1107072481,-1091780513)+W(2,1043671731,1037057641,1040958951,1023355030)+W(3,-1126022145,-1185162751,-1088265503,-1097953353)+W(4,1050123337,1052799074,-1112360254,1040537034)+W(5,1038008293,-1123581176,-1091053114,-1105750724)+W(6,1037436293,1042212684,1047211822,1043346413)+W(7,1033129910,-1116284746,-1091261766,-1121572392);sum2=W(0,-1090048491,-1124324076,1025248710,-1127892588)+W(1,1071993665,1067215194,-1080184847,-1076486023)+W(2,-1092974499,1047668544,-1114879615,-1127740272)+W(3,1068762214,1014309155,1048567939,-1080442855)+W(4,1042122418,1052455522,-1135605467,-1125515678)+W(5,-1079656754,-1077318729,1068938556,1066323214)+W(6,-1102075660,1052515578,-1118452308,1015277154)+W(7,-1083078137,-1086246531,1058048535,1066205534);WS(1045082936,1047750074); +sum1=W(0,1038967959,1036533543,-1105827232,1017867382)+W(1,-1117189504,1000061951,-1101431328,-1107005280)+W(2,1048524561,1057427781,-1098507795,-1139557912)+W(3,1034808454,-1102176472,-1099209723,1044741561)+W(4,1057555836,1044700722,-1113781499,-1112138258)+W(5,-1102736460,-1102956733,-1117912777,-1103886606)+W(6,1037485187,1046059755,1024003356,-1117154624)+W(7,-1113728179,-1108156515,1024367918,-1108908881);sum2=W(0,1024857236,-1109323954,971431442,1003184961)+W(1,1037587704,-1121823736,1030818718,-1114215978)+W(2,1026446282,-1105665514,-1133283297,-1131894760)+W(3,1045339410,-1107079097,1056963612,1031262679)+W(4,-1116186208,1024492508,1031831407,984723076)+W(5,-1090072253,-1102678968,975724297,1055283667)+W(6,-1121629964,-1148808497,1031681833,-1125590160)+W(7,-1103014356,-1123463096,1026784592,-1116339968);WS(1059869006,1015916977); +sum1=W(0,-1103727218,-1102716146,1039164638,-1111801867)+W(1,-1115491581,-1106752078,1051739903,1051877295)+W(2,-1089648586,-1092420393,-1118862224,1023424768)+W(3,-1104830517,-1112797325,1055627629,1057614174)+W(4,1049092536,1052180160,-1099094340,-1114194639)+W(5,1038662167,1030088557,1008315659,-1096079006)+W(6,1032231232,1046058153,-1096321008,-1118811114)+W(7,-1131680577,-1175801754,1039975892,-1121275805);sum2=W(0,-1090644207,-1091764889,-1104433368,-1113427160)+W(1,1038986783,-1135559136,-1120815960,1034414883)+W(2,-1109333336,1065407690,-1117600576,-1104169884)+W(3,1033390214,-1120264784,1059846520,995253792)+W(4,-1098732665,-1109931470,1039627671,-1102319880)+W(5,-1104270640,1019376128,1008884504,1048874179)+W(6,1043714297,1041133481,1047721667,-1097619580)+W(7,-1111461786,-1142244432,-1103318888,1021072320);WS(1054131356,-1077482588); +sum1=W(0,-1101215881,-1100083265,989703980,-1100136045)+W(1,1047064142,-1120855287,1039854844,1045307006)+W(2,-1091699940,-1088812180,-1117800461,-1114161471)+W(3,1042850313,-1122501592,1056393300,1051542530)+W(4,-1095974704,1033042241,-1112319975,1013262449)+W(5,-1118254671,-1111473941,1059113280,1053327664)+W(6,-1095224480,-1102789769,-1103330903,1027862775)+W(7,-1119385054,-1109190398,1055440053,1049428707);sum2=W(0,1063396296,1024719031,1055692800,-1098032416)+W(1,-1093635160,1049215120,1032661901,1043414797)+W(2,1065491656,1073645059,-1100435053,-1101668743)+W(3,-1090478816,1050905898,1063424749,1058961916)+W(4,1060161647,-1074198531,-1094416925,-1089098280)+W(5,-1135528507,1042380471,-1098776178,-1096580753)+W(6,-1081296593,-1083400329,-1104551065,-1099202751)+W(7,1032695397,1054277265,-1092624053,-1115458644);WS(-1082679118,-1072338335); +sum1=W(0,-1092407662,-1099976035,998650886,-1126832308)+W(1,1032452512,-1118647007,1035459839,1041636256)+W(2,-1098757312,1049242330,1045660229,1029713605)+W(3,-1113994637,1019901759,-1097348797,1053507448)+W(4,1052609817,1049104969,1001090478,-1125245511)+W(5,1026546307,1041545965,-1099322690,-1097111418)+W(6,958956607,-1170516592,-1128346278,-1126242526)+W(7,-1113342195,1027607012,1009511091,-1116731426);sum2=W(0,-1099529380,1043301860,-1073602631,-1069228184)+W(1,-1144476451,-1112019052,1041147606,-1112044089)+W(2,1054858487,1044685536,1076866983,1021776922)+W(3,1036271953,1018899191,-1106846135,-1119872164)+W(4,1062109344,-1097491140,-1101499289,1069809281)+W(5,-1114284680,-1126672913,1035368326,1042271976)+W(6,-1149319294,-1113127688,1036050969,1013617559)+W(7,-1112053703,-1146921887,-1115137330,1025827813);WS(-1125906880,1029353026); +sum1=W(0,-1082830235,-1087911853,1040928385,1052620124)+W(1,1033131793,1031982257,1048894344,1044570800)+W(2,-1088553290,-1115166792,1034478636,1053619569)+W(3,-1118254573,1037418321,1052323270,1054767249)+W(4,-1104403058,1046902211,1027228408,-1149501032)+W(5,1045103465,1053685367,-1092690897,-1096342700)+W(6,-1140598044,-1115398454,-1143379631,1033816441)+W(7,1032758420,1056771243,-1089842615,-1112660402);sum2=W(0,-1123374674,1032004261,-1105901664,1052242091)+W(1,-1109756837,-1117902306,-1109896025,-1088438592)+W(2,1057464262,1055897675,-1098081544,1041713460)+W(3,-1106560728,-1101499608,1057898227,-1106721416)+W(4,-1108453649,-1099401944,-1140318759,-1101414896)+W(5,-1114554169,1042131382,1041656473,1044097375)+W(6,1039811869,-1092934450,-1108472633,-1123485994)+W(7,-1104786072,1048148308,1033994653,1042751001);WS(-1080878567,1068324028); +sum1=W(0,-1095139206,-1103458412,1019310859,-1115471279)+W(1,1032811018,-1118469827,1049561152,1057833304)+W(2,-1090917913,-1094785898,-1115193805,-1121098697)+W(3,-1107876783,-1109399058,1054221326,1058273109)+W(4,-1100131090,-1118370765,-1104713039,-1153442440)+W(5,-1121957752,-1109945243,1048985266,1050583410)+W(6,-1102569730,1044057356,-1094675607,1023975060)+W(7,-1125987028,-1144681671,1045920684,1041261354);sum2=W(0,1052263517,-1132353885,1032420914,-1122597644)+W(1,1037076324,1017945885,1077171750,1084267296)+W(2,-1113437764,-1086124512,1029919127,-1109997244)+W(3,1045994672,-1105598049,-1066836895,-1076080701)+W(4,-1134522929,-1137529969,1025876905,-1129031901)+W(5,-1115453382,1027437378,-1128728545,-1073829589)+W(6,1041285329,-1111439550,1025649559,-1121404056)+W(7,-1112127416,1032857588,-1109934248,-1128683125);WS(-1106960696,-1099012034); +sum1=W(0,-1099071342,-1099370430,-1119077260,-1114528403)+W(1,-1109121109,-1115766890,1049964157,1055554285)+W(2,-1089278443,-1086538844,-1119877760,-1143558020)+W(3,-1114965299,-1120868875,1056629915,1061104081)+W(4,1010994112,1041376829,-1096650748,-1109244232)+W(5,1034547527,-1114495407,1042073805,1049997315)+W(6,1042854492,1049345155,-1100402892,-1112604445)+W(7,-1139584324,-1118254096,-1123516568,1031563405);sum2=W(0,1027806287,-1136470458,1028908115,-1116593925)+W(1,1024756439,-1116529299,1006654490,1032648371)+W(2,1039840949,-1122048333,1037914955,999050165)+W(3,-1107372324,-1128153177,1057985079,1052059722)+W(4,1057135276,-1105275062,-1105957739,-1106109711)+W(5,-1142966917,-1123338691,-1131926605,-1090440242)+W(6,-1096566133,-1105721601,-1113783754,-1123834115)+W(7,1013415162,1018182189,-1124260101,1018741845);WS(-1103089976,1059868827); +sum1=W(0,-1091300264,-1096562704,1033737723,1026631887)+W(1,1031003956,-1140469197,1050565142,1056895190)+W(2,-1087537316,-1094386976,-1130496915,1034000797)+W(3,-1108911023,1032926090,1053939124,1059766350)+W(4,1044429902,1045093007,-1105866475,-1106694966)+W(5,-1120892680,1034482579,-1109922270,-1108577640)+W(6,1040636078,1044615672,-1098705919,-1106727101)+W(7,-1136817768,1045052014,-1100982776,-1122075862);sum2=W(0,1044376552,-1101986459,1038307608,-1114832682)+W(1,-1084839384,-1076225566,-1094811671,1052671036)+W(2,1025272345,-1112738770,1031259614,-1109268272)+W(3,-1074779618,-1088390497,1052706603,-1106762472)+W(4,1014008179,1042085570,-1118450441,-1136199018)+W(5,1066038403,1071357616,-1100877636,1040752903)+W(6,-1110075404,1027010884,-1125957173,1025376385)+W(7,1068318141,1050587817,1036345951,1051973899);WS(-1089897038,998399462); +sum1=W(0,-1114312802,-1109889234,-1099771006,-1100326508)+W(1,-1141222070,-1114407115,1047140918,1049930251)+W(2,-1092992143,-1098209637,1030998252,-1103969415)+W(3,-1106384368,1017922927,1062808044,1060325312)+W(4,-1116385180,-1096464604,-1129527451,-1111096702)+W(5,1023432554,-1125954964,1048691588,-1128865717)+W(6,-1111889198,-1109224641,-1124899748,-1115021151)+W(7,-1121716413,1020452535,1043572929,-1137813989);sum2=W(0,-1113696880,1032844980,-1089233591,-1094975511)+W(1,1029862812,-1117299445,1036803698,1023473326)+W(2,1066397244,1037917830,1033778332,-1089977002)+W(3,1025970568,1031377784,-1104280508,-1129026618)+W(4,1039504138,1032622380,-1137053176,1006981461)+W(5,-1122944997,1022461928,-1121975322,1024702770)+W(6,1021506052,-1119563165,979684320,-1125132764)+W(7,-1130740686,1024270227,-1138205260,974010432);WS(-1096120220,-1099720911); +sum1=W(0,-1105594052,1050583742,1027883172,1052677544)+W(1,990296621,1026529890,-1120505890,-1101878153)+W(2,1030711656,1050761182,1036941212,1046184634)+W(3,1039246623,1031039363,-1087347673,-1094174707)+W(4,1044997418,1051859318,1039372749,1037786724)+W(5,1038193547,1036921611,-1092171165,-1091299260)+W(6,1041579690,1052858474,1040590154,992842790)+W(7,-1115076484,1007468831,-1087724293,-1105854769);sum2=W(0,1023777345,-1095435966,-1131846701,1040381409)+W(1,1022623295,-1096899181,-1146822820,-1110031849)+W(2,-1111411494,-1085163747,1015259161,1030695069)+W(3,1049343346,-1107180310,-1074171332,-1089001391)+W(4,-1100600319,1052695808,-1164136976,1026868853)+W(5,1043071461,1020495459,1048168469,-1078760233)+W(6,1041440525,1051545155,-1109936403,-1121164685)+W(7,1017314953,1050115198,1072577306,1074132102);WS(-1080112807,-1111145054); +sum1=W(0,1049824404,1049617192,-1106341774,-1103297132)+W(1,1026400021,1042898005,-1122989109,-1133975251)+W(2,1059552348,1031972225,1024154699,-1098278655)+W(3,1041608840,-1145221295,-1137351813,-1086286580)+W(4,-1085661228,-1097823136,1034961350,1037514093)+W(5,-1102084285,1041904442,992708574,1056970252)+W(6,-1114326813,-1119831648,-1109009483,-1125780682)+W(7,1038246926,1042525799,1040424089,1021582000);sum2=W(0,989910477,-1100922013,-1109734283,1041258750)+W(1,-1109794979,1041809078,1016064722,-1134607603)+W(2,-1096844113,1051742866,-1113561957,-1123542769)+W(3,-1126381362,982123162,1057819912,1041392492)+W(4,-1100235579,-1105813951,1026811493,-1110564237)+W(5,-1119465765,1026735929,-1113868277,1047439582)+W(6,-1151284621,-1136706867,1024057869,-1130694514)+W(7,1019553626,-1114678252,-1114600003,-1118083589);WS(1043409720,-1105036943); +sum1=W(0,-1096303173,-1095924673,1033970558,1040191749)+W(1,1041655059,1041917006,1041748910,-1115184605)+W(2,-1093807736,-1092831585,1046767380,1042494496)+W(3,-1160531625,1039311757,1042876074,1044442592)+W(4,-1096756208,-1126846855,1032778168,972615552)+W(5,1020654492,1043700571,1018241414,-1140612185)+W(6,-1115229280,-1098580285,1032356247,1032217109)+W(7,1034107952,1036396440,1034858676,1027878365);sum2=W(0,-1139047739,1043340308,1010119787,1027808259)+W(1,-1095774205,-1093511024,1026247831,986751832)+W(2,-1106790738,-1096910874,-1113418759,-1111510504)+W(3,-1089533357,1053173071,1040723354,1065364148)+W(4,1040059331,-1115460243,-1121052855,1032132185)+W(5,-1106558855,1027584935,-1113647147,1038861011)+W(6,1017581734,-1120741339,1010692603,1014515195)+W(7,-1121443175,1014681515,-1135975307,1041604470);WS(1035857520,1029952289); +sum1=W(0,1037051011,1029971495,-1105351783,-1143077795)+W(1,-1121149466,1043652126,-1106469910,-1110400621)+W(2,1049064844,1035603988,-1106526780,-1113811952)+W(3,1027875988,1035104701,1058276716,-1094483622)+W(4,-1083894414,-1098557596,999420801,1035289215)+W(5,-1114346217,-1123554317,1050633420,1056346487)+W(6,-1111645039,-1130790920,-1113970285,-1129002434)+W(7,-1130799743,1025377311,1026109447,1042325343);sum2=W(0,1026484093,1046485772,-1101077931,-1118517607)+W(1,1008581907,-1114630284,1030900361,1039465846)+W(2,-1098019518,1071267691,-1087996420,1029148161)+W(3,-1106945018,-1097625455,1064954318,1048118782)+W(4,-1082674625,1032470282,-1108756119,1047526016)+W(5,-1156379726,1024110641,-1118487613,-1084489705)+W(6,-1106613565,-1113199029,1024464693,1038718292)+W(7,1020048570,1036291722,-1120012731,-1112021711);WS(1058189134,1034857672); +sum1=W(0,1031241360,1044072484,-1105475825,-1171748679)+W(1,987174985,1045893176,-1094075536,-1100969760)+W(2,1057114388,1051374554,-1108837708,-1097172873)+W(3,1042860595,1031954257,1060030327,-1082247827)+W(4,-1083662360,-1099379283,-1131134898,1038034707)+W(5,-1120638978,-1137288661,1046921459,1058651386)+W(6,-1121036423,1018101850,-1119273967,-1113151849)+W(7,1037681908,1029972391,1036514264,1041721673);sum2=W(0,1020569783,-1114489126,1036204547,1003810984)+W(1,1043745048,-1104004872,-1099380876,-1128982694)+W(2,-1121260135,1052640914,1041029203,-1101998989)+W(3,-1104165612,-1121067579,1059611184,-1101918458)+W(4,1059150102,-1098121773,1044393168,-1098215637)+W(5,-1100369008,1032515174,-1094102036,1040381797)+W(6,1037147118,-1110248773,1027560485,-1110527635)+W(7,-1114899975,1000033398,-1113935142,1028175839);WS(-1107450480,1040804833); +sum1=W(0,1040473489,1047969017,1022226221,1040192716)+W(1,-1124855402,1020416041,-1098407451,-1095196747)+W(2,1044185574,1060667554,-1117682794,1002013395)+W(3,-1160070647,1045737613,-1089168888,-1087290490)+W(4,1057909434,1049088596,1000424795,1001040843)+W(5,-1101676720,-1103624738,-1119291421,-1111951852)+W(6,1038016429,1042416864,1025306833,-1120982404)+W(7,-1104451167,-1115902938,-1112956481,1031577591);sum2=W(0,-1124633329,-1107065949,-1117243126,1014727333)+W(1,-1111611661,-1136702760,-1111801245,1026257754)+W(2,1041729284,-1094200388,1027900147,1029406572)+W(3,-1103677442,1050798725,1052541581,-1084100906)+W(4,-1104959017,1040214496,-1114664521,-1112527674)+W(5,-1105828213,-1111536822,-1111707080,1070744988)+W(6,1005029260,1049039902,-1107116047,-1111634336)+W(7,-1106506739,-1140667375,-1107038609,-1127513012);WS(-1113867888,1064515135); +sum1=W(0,1048061265,1043460993,-1107046062,-1113562537)+W(1,-1105945126,-1148623547,-1098944190,1011269086)+W(2,1060048584,1062873548,-1098739202,-1103978495)+W(3,-1111558073,-1114838028,1045822761,-1107431310)+W(4,-1119786749,1023528257,1019693149,-1122423580)+W(5,-1101841139,-1117915947,-1112998912,1025265092)+W(6,-1106657727,-1137576074,1020558520,-1116789880)+W(7,-1106868487,-1122252061,-1104660585,-1142662356);sum2=W(0,1022878354,-1129472106,1012385731,-1145158406)+W(1,1010204019,-1123973089,1015658802,-1111624996)+W(2,1044961455,1049544336,1024197601,1016118130)+W(3,-1157676569,1022031298,1057430996,1040055751)+W(4,1030346877,-1131221354,-1119519161,-1112179804)+W(5,-1124728962,1023003938,1020564842,-1114498280)+W(6,-1095482557,-1093377057,-1113792718,-1127326042)+W(7,-1121117277,-1141925830,1019749938,-1112131584);WS(1051333020,-1087054195); +sum1=W(0,-1104387605,-1096771599,1019002067,-1112042433)+W(1,-1113527444,-1098301717,1048899277,1052246829)+W(2,-1102529947,-1093976551,1046618143,-1115058903)+W(3,-1095193948,1044013586,1044227957,1054136106)+W(4,-1089735051,-1129150690,-1148774132,-1107874438)+W(5,-1107288943,1038700845,1046377228,1060328029)+W(6,-1101876091,-1098135714,-1154881470,1036768028)+W(7,1024370318,1019966234,1045432325,1045160291);sum2=W(0,1041392892,-1112610934,1029900262,-1114066012)+W(1,-1097547793,-1095644935,1046575198,1044719218)+W(2,1041587346,1025557898,-1110038644,-1114806697)+W(3,-1102972970,-1095936036,1055420600,1050162797)+W(4,1055783298,-1102485451,-1110070018,1036646832)+W(5,1028020818,-1113902766,-1100701871,-1099287148)+W(6,988088600,1039502616,987867800,1020625547)+W(7,-1135974783,1018696751,-1119304428,1033323822);WS(-1120103648,-1090070191); +sum1=W(0,1049030490,1050801054,1024592611,-1117418940)+W(1,-1114427969,1032013281,-1094705236,-1112262737)+W(2,-1111205267,-1116228463,1049918615,1040968250)+W(3,-1110419822,1047944497,-1085341341,1042055990)+W(4,1050512309,-1102511675,1035134604,1034410595)+W(5,-1132367051,1025392341,1036298997,-1106227665)+W(6,1034763283,1039656998,-1144523437,-1119948353)+W(7,-1111046724,-1120201127,-1110564136,-1138448657);sum2=W(0,1046354401,1040228902,-1141997982,-1122606938)+W(1,-1118515993,1036845124,-1102583710,-1124762815)+W(2,-1143835982,1061896257,-1120462650,1027805544)+W(3,-1106443071,1043676745,1059397472,1052785838)+W(4,-1080731069,-1098049024,-1105726471,-1100560083)+W(5,995709275,-1128858827,-1126645315,-1120768779)+W(6,1026943708,1032253740,-1113668318,1025575588)+W(7,-1112152255,-1127110207,-1122685018,1011421951);WS(1060158670,1068766623); +sum1=W(0,1056712636,1049784895,-1131098839,-1116432453)+W(1,1040295867,1033948341,-1102593034,-1087151539)+W(2,1057908127,1044163070,1034945056,-1099753724)+W(3,1031077093,1027113355,-1094800699,-1089291740)+W(4,1028198895,-1122504371,1040823512,-1122123599)+W(5,-1132674679,-1117547229,-1120242995,1036808107)+W(6,-1123329903,-1096645803,1050332416,1040184285)+W(7,1040274980,-1137741501,-1132187055,-1127465369);sum2=W(0,-1098232449,1058983203,-1108907739,1036379663)+W(1,-1120677803,-1120240179,1035811659,-1128107780)+W(2,1016986873,1047923452,1073213180,1070189048)+W(3,1029686139,-1109097268,-1105399966,1040144345)+W(4,1033582270,1031365639,-1076673488,1065321765)+W(5,1041308319,-1109042515,1039880527,-1110681209)+W(6,1038048757,-1107019906,-1072585926,-1079893128)+W(7,1034493417,-1131123922,1018297481,-1116001167);WS(-1112459888,1031046963); +sum1=W(0,-1128634346,-1120462421,-1129483154,-1112719265)+W(1,-1115081924,-1114915140,-1103778738,1043326546)+W(2,-1112785958,1056781779,-1091575740,-1103727283)+W(3,-1104237825,-1096588493,1067939282,1050524372)+W(4,-1153409228,-1108013960,-1155155940,-1104335643)+W(5,-1108534894,-1114726045,-1132710977,1048587330)+W(6,-1118230989,1027667442,-1105426861,-1114094348)+W(7,991235804,-1111746006,1036777787,-1109505653);sum2=W(0,1037241732,-1129818230,1013020612,-1119086167)+W(1,-1131518324,-1115730540,1028260797,-1114652243)+W(2,1029187991,-1074141953,-1108719150,-1141008560)+W(3,1036245214,1034705438,1072760747,-1112264831)+W(4,1019083994,-1124211508,-1145112744,1023891147)+W(5,-1119172530,-1133917220,-1131878972,1042535682)+W(6,-1122886966,1027168441,-1116478859,1018251990)+W(7,-1114007324,1018465006,-1129254230,1037493286);WS(-1086783566,-1086791567); +sum1=W(0,-1095708330,-1093442522,-1153026662,-1115195632)+W(1,1041725033,-1121101892,1018199561,-1123676804)+W(2,-1098161001,1044632085,-1108787789,-1134496297)+W(3,1034570216,-1103584185,1064261167,1037878573)+W(4,-1091375169,-1107384199,-1145121243,-1119803561)+W(5,-1108866704,-1122033784,1052226946,1057417647)+W(6,-1100078210,-1104664012,-1110064394,-1131708777)+W(7,-1117964907,1022321300,1047330733,1046948682);sum2=W(0,-1077397139,-1079753374,-1121810184,1031515378)+W(1,-1112896962,1035985281,-1097085111,-1134939312)+W(2,1044674665,1073378801,-1119765868,1010081392)+W(3,-1105060263,1031953140,1007836336,1052841311)+W(4,1056367001,-1109376902,-1106495935,1035546479)+W(5,1022446080,1031289566,-1118570548,1044809025)+W(6,1035615024,-1118889676,1003402623,1028378344)+W(7,1032016077,-1150317246,1010750288,992033726);WS(-1096711324,-1080143969); +sum1=W(0,-1095339398,-1094144146,1025399430,-1135181951)+W(1,1026786373,-1123204644,1049483953,1050582337)+W(2,-1093853897,-1089314149,1041786535,1033906501)+W(3,1006467326,1031608549,1046728732,1045129706)+W(4,-1089126233,-1110956839,1003671004,-1133559462)+W(5,-1135165794,1017185520,1051092970,1045641984)+W(6,-1129083412,-1113909272,-1105366874,-1123695637)+W(7,996324016,1009923752,1057307443,1049638101);sum2=W(0,-1108118447,-1134375038,1004932796,1023911567)+W(1,-1112738860,1020475455,-1138359022,1044892126)+W(2,1035251904,1037995724,1022775023,-1119124867)+W(3,-1102926770,1047698054,1074655410,1063133445)+W(4,1050162042,1037707684,1036397588,1011639102)+W(5,-1113839430,-1117927031,-1083132698,1070062472)+W(6,-1111062570,-1101285996,-1106309084,999444348)+W(7,1017195567,1041743674,-1073687480,-1073510095);WS(-1089880270,1068594400); +sum1=W(0,-1104513741,-1091458130,1023170830,-1114467040)+W(1,-1118490053,-1120682309,1042545281,1050219169)+W(2,1034367029,-1100997781,-1107800974,1036273894)+W(3,1031296832,-1110241363,1042739212,1048674674)+W(4,-1095286649,1047811540,-1106779367,1029867434)+W(5,1034289100,-1107012174,1034908007,1053624831)+W(6,-1096228817,-1109179032,-1110449433,1024593089)+W(7,1021221591,-1126204757,1049808694,1034674708);sum2=W(0,-1133064657,-1134091777,-1117028113,1030004067)+W(1,-1119836251,1025775761,-1113615539,1024174065)+W(2,1045929484,1081917443,-1066126465,-1105887481)+W(3,-1118489229,1041573100,-1097201480,1032698350)+W(4,1043726141,1028310407,-1122550707,-1104777348)+W(5,-1124268877,1030764051,-1107697461,1033613382)+W(6,1016764395,-1116064873,1023720579,-1130918117)+W(7,-1116797441,1018350967,1018371831,1029778305);WS(1067475431,-1126058166); +sum1=W(0,-1097851361,-1108210069,1043040440,-1108052732)+W(1,1040199303,-1109622414,1048929252,1049362324)+W(2,-1084429932,1055911149,-1097574342,1048922396)+W(3,1041203782,-1104274751,1047147106,1054104112)+W(4,1041902328,1035827603,-1101774749,-1119673025)+W(5,1047880876,-1116198608,1049622021,-1085779789)+W(6,-1115594513,-1107003538,1007801026,1019400344)+W(7,-1107876353,1036701569,1037086373,1019477630);sum2=W(0,1020731454,1046742995,-1113150555,1013753738)+W(1,1009873360,-1099358283,1034035253,-1120697178)+W(2,1045156685,-1104352239,1042650722,1015248850)+W(3,1039470065,1046693145,-1128318417,-1094710566)+W(4,-1089864705,1045331461,-1105652199,1040818978)+W(5,1036008061,1030627793,1025091411,1045040370)+W(6,-1109224259,1016214593,-1120377801,1033430289)+W(7,1017876415,-1132110931,1019751894,-1106535436);WS(1060496974,-1099362699); +sum1=W(0,-1109706041,1041317773,1036662868,1054706808)+W(1,-1129324363,1015757258,-1123237413,-1098091909)+W(2,1051554925,1049334366,1033303646,1045895019)+W(3,1021341985,-1112852963,-1083798889,-1091928498)+W(4,1051166813,1053590462,-1130190200,1044095763)+W(5,1041804248,-1127492145,-1087007295,-1095315343)+W(6,1049285205,1055551482,1040746168,1035564779)+W(7,1039262630,-1114905285,-1094550458,-1097088265);sum2=W(0,1077926840,1058818874,-1084887580,-1073385920)+W(1,-1094451238,-1121878040,-1089669880,1032559783)+W(2,1060159151,1074845707,-1081800202,-1083140914)+W(3,-1173171215,-1120435570,1059775011,1045764296)+W(4,1061906872,-1084431515,1037413129,-1085954594)+W(5,-1115590029,1053315192,-1094536545,-1103860568)+W(6,-1126824848,-1087315344,1054210787,-1096433065)+W(7,-1107838893,1052978812,-1099186518,-1133232881);WS(-1078369703,1041267413); +sum1=W(0,1041630887,-1112635974,-1098405416,1024386586)+W(1,1016693023,1018393854,1051293608,-1102607056)+W(2,-1132435208,1041292515,-1098286219,1044040033)+W(3,1046099151,-1095618428,1052507157,-1094040968)+W(4,-1091497929,1016159377,1045750173,-1130684104)+W(5,1018959206,-1117949682,-1105775474,1056853585)+W(6,-1139597330,-1101611546,1041584973,-1098338270)+W(7,-1118540325,1040982949,1026100205,1049412460);sum2=W(0,-1097925659,1038714809,1028814353,1035615459)+W(1,1020457849,-1103657321,1033337220,1043665288)+W(2,-1077657685,-1101970047,1052250964,1062855981)+W(3,-1109823715,1058024935,-1113114333,1051048913)+W(4,-1098468896,-1114182260,-1106019250,1056109526)+W(5,1056999181,-1105846491,1040975429,-1085664062)+W(6,-1104046747,-1130122971,-1115640692,1048995011)+W(7,1042595027,-1112374505,1034778788,-1109605260);WS(1049151900,-1114127847); +sum1=W(0,1044969414,1047621718,1000015204,1050216581)+W(1,-1099359923,-1148711507,-1112471205,-1106856243)+W(2,1057314961,1055877843,1023136961,-1136218178)+W(3,-1133921207,-1112054390,-1092033343,-1091938023)+W(4,1054358666,1052966059,-1133465094,-1130455775)+W(5,1034273823,-1122838974,-1089783713,-1099719178)+W(6,1045850836,1052491071,1035991733,-1160090192)+W(7,1019980258,-1112322824,-1087984664,-1099053307);sum2=W(0,1011113448,1050864081,1039552519,-1105478410)+W(1,-1082501551,1059003564,-1103020148,1068049752)+W(2,-1125310098,1043215106,-1099466970,-1131405058)+W(3,-1098156272,1039344435,1074596924,1066695202)+W(4,1034334973,-1095883745,-1115050596,1049027924)+W(5,-1099880092,-1107282542,-1084539788,1067601936)+W(6,1036178144,-1088635155,1049583286,-1129231446)+W(7,-1097076855,1042018058,-1074115054,-1075514015);WS(-1081332839,-1093454830); +sum1=W(0,1035356975,1037116623,-1104916884,-1109709318)+W(1,-1111308088,1014687039,-1122158672,1039420520)+W(2,-1125155242,1030327966,-1117212646,-1108177419)+W(3,-1112931654,1020526050,-1104761999,1053028347)+W(4,1050241163,-1103907222,1032417267,-1119705461)+W(5,-1119448076,-1112611266,-1115200780,1032136206)+W(6,1046095669,1033262333,987327371,-1118748528)+W(7,-1136487898,-1104533373,1029855614,-1115609017);sum2=W(0,-1118344664,1028266047,-1127355075,1013207527)+W(1,1036829905,1016171285,-1117884424,-1124997045)+W(2,1043690369,1051132935,1040955478,-1103159789)+W(3,1024917624,1041601336,1047094008,-1116887196)+W(4,-1108842627,1041402295,-1116686760,1008876024)+W(5,-1127506713,1033786361,-1100609336,1057384051)+W(6,-1105537330,-1128237045,-1154118338,1035764738)+W(7,-1114313206,-1102385561,-1089828796,-1098518151);WS(1063446990,1030048893); +sum1=W(0,1043069042,1049571969,-1099483503,-1131562670)+W(1,-1108650254,-1106453175,-1106599551,-1108681470)+W(2,1061428532,1053095529,-1102405700,-1106193120)+W(3,1008661917,-1102088711,1046689338,-1097709592)+W(4,-1115069793,-1119868742,-1113568905,1021119810)+W(5,-1123233168,-1104754348,1006738196,1029025472)+W(6,1027160065,1043118346,1030255032,1009340592)+W(7,-1136963210,-1114502129,-1111789333,-1120287391);sum2=W(0,1017109065,-1115161102,-1149491589,1012371361)+W(1,-1103671135,-1097972516,-1109821790,-1110016822)+W(2,1012418345,-1111308586,-1165255819,1023756477)+W(3,-1094449842,1049769129,1031379047,1060485172)+W(4,1015942947,-1106016138,1019335917,-1111467932)+W(5,999148403,1022790203,-1114576028,1046805034)+W(6,1015823021,1026481588,1010513313,-1140694601)+W(7,1032463998,-1146831635,-1114618076,1024897044);WS(1060385486,1040268319); +sum1=W(0,-1105770459,-1104706211,-1113839600,-1115333181)+W(1,1022495614,-1115044751,-1122113023,1048230464)+W(2,-1085502934,-1112644646,1041834949,1026945989)+W(3,997701279,1044329112,1065603891,1051932092)+W(4,-1102865873,-1112283012,1010458454,-1100015113)+W(5,1038196649,-1113673817,1054415097,-1105250533)+W(6,-1108020290,-1115522389,-1110169699,-1113704543)+W(7,-1105082025,-1115640050,1046973419,-1122402466);sum2=W(0,1041813775,1041645390,-1122287706,-1115664423)+W(1,-1120925434,-1119842210,-1094011677,-1142717933)+W(2,-1087138046,1067461852,-1099350461,1044568139)+W(3,-1120985148,-1113918825,1027339570,-1124627987)+W(4,-1116572542,-1109622665,1042022920,-1102715015)+W(5,-1100833175,-1101147879,1054026149,1045144111)+W(6,-1113357449,-1110133469,1032474264,1031291077)+W(7,-1112018489,-1109170005,1047364150,-1122353792);WS(1049043868,1050086952); +sum1=W(0,-1091279607,-1101354119,1025810768,-1127858130)+W(1,1028884238,1022883995,1044465651,1054362490)+W(2,-1089232423,-1092016019,989092984,1034666762)+W(3,1032068165,1005443958,1058690160,1050465752)+W(4,-1089729669,-1104525366,-1119959429,-1115481017)+W(5,1007092039,-1149438996,1051092259,1053482909)+W(6,-1121438163,-1160888088,-1097661520,1012364567)+W(7,-1137072337,1017307814,1051219071,1019953121);sum2=W(0,-1099759289,1050936278,1012065197,1030282550)+W(1,-1078832473,-1076346523,1068820850,1070065566)+W(2,1018991152,1050588571,-1101566471,1049708534)+W(3,-1075628240,-1072955990,1075164582,1068572253)+W(4,-1112383125,-1121285468,1038111746,1043525707)+W(5,-1093459475,-1088795804,1053555382,1046261639)+W(6,1039884984,-1113841779,-1106531005,1040589253)+W(7,-1099780818,-1090423367,1058828770,1040055978);WS(-1083655502,1074535575); +sum1=W(0,-1100106921,-1096173461,1028862937,973651072)+W(1,-1122472503,996549482,1052529147,1049212555)+W(2,-1088250868,-1101351113,-1111330742,1029517469)+W(3,-1111380529,-1125410415,1060855844,1057957824)+W(4,-1092528244,1034877328,-1105397947,1043404639)+W(5,-1109626381,-1122247818,-1104065896,1050267538)+W(6,-1113904430,-1118418050,-1099887737,-1129726574)+W(7,-1108333759,1037233742,1047916353,1041335934);sum2=W(0,-1116649305,-1112916551,1032149251,1037582341)+W(1,1040538112,-1112067691,1041643977,-1107051108)+W(2,1044443302,-1117703407,-1107247151,-1135487115)+W(3,1036263743,-1115814520,1053360182,1030763641)+W(4,1049963138,1042101117,-1096732175,1053968825)+W(5,1035849297,-1104153316,-1089009482,-1087331905)+W(6,1046616621,-1127010106,-1094249638,1034930229)+W(7,-1104877620,-1116847106,1059951262,-1110671517);WS(-1132786560,1056578758); +sum1=W(0,1043718831,1050053971,1019453021,1031072232)+W(1,-1123786893,1030360908,-1104586611,-1098888378)+W(2,1057505465,1049535379,-1127115205,-1112153353)+W(3,-1123598824,1035671447,-1081773448,-1090760605)+W(4,1052394474,1045418390,-1105591705,-1153314582)+W(5,1044649456,-1105554848,-1120283669,-1106021324)+W(6,1044283028,1048806335,1024604121,986346381)+W(7,1033186457,-1108912601,-1103287167,1036365944);sum2=W(0,1011638864,1020064744,-1106354313,1040658557)+W(1,-1109113498,1033931950,-1103147627,1041865287)+W(2,1049840877,1050147177,-1103628435,1027144364)+W(3,-1120927100,-1102211113,1053587315,1026998340)+W(4,-1117174472,-1105120318,-1130705048,-1123462592)+W(5,1033328738,-1101351534,1036775410,-1118058864)+W(6,-1113970774,-1135769248,1016031184,-1126068784)+W(7,1028877580,-1112076066,1030416564,-1104140895);WS(1062711758,-1109562142); +sum1=W(0,-1100622401,-1104747337,-1125545776,-1107075140)+W(1,1017596397,1007433175,1049612355,1053288051)+W(2,-1103229831,-1083301774,-1112684886,-1121788380)+W(3,-1120034657,-1098025711,1048337697,1059638178)+W(4,1050510715,-1097610180,-1102890883,-1128625782)+W(5,-1112854653,-1108240645,1051307580,1052952654)+W(6,-1109077454,1030737729,-1102110160,-1129119788)+W(7,1022176121,1020667959,1049115768,1041285742);sum2=W(0,977550902,-1105772859,1033804876,1022257834)+W(1,1036504102,-1107093105,1042844173,-1113927342)+W(2,-1098748483,1063293804,-1113268759,1033963400)+W(3,1028160469,-1089861840,1059312088,-1096777339)+W(4,-1090033704,1051039483,1029999681,-1123922685)+W(5,-1101525036,1017532722,1037687330,-1134320563)+W(6,-1104977553,1022914778,-1125618402,1015463858)+W(7,-1122996995,-1116068477,1004875175,1024487701);WS(1046002488,-1083997249); +sum1=W(0,-1099156844,1028498222,1044431961,-1116203964)+W(1,1025075217,1035032656,1049400252,1050076828)+W(2,-1096363997,-1079124621,1046371486,1041235242)+W(3,1032516798,1050189128,1020370202,1050263757)+W(4,-1088685662,-1103556299,-1117705943,-1106267745)+W(5,1042510329,1039724554,1053355933,1048790666)+W(6,999993136,-1106798659,-1109240562,-1122870401)+W(7,1027729159,1037249299,1037276039,1034829570);sum2=W(0,1041875660,-1091311273,1024745423,-1094982381)+W(1,1045890174,-1107764806,1044409386,1017839086)+W(2,1042706326,-1148119319,1017043870,-1097113645)+W(3,1048260200,-1118443235,1061393923,974632891)+W(4,-1098101314,1010824956,-1107563793,1052555320)+W(5,-1097368628,1041238578,-1098402228,1043955676)+W(6,-1094774489,1030619863,-1118735987,1049262968)+W(7,-1116185663,1042214090,-1094515595,1042935118);WS(-1083255246,-1075588436); +sum1=W(0,1026375684,1036249778,-1106371438,-1154522904)+W(1,1037990411,-1119606102,-1113752075,-1099839750)+W(2,1056687627,-1097055709,1036086422,-1105464695)+W(3,1043935324,1036476796,1050924256,-1092436626)+W(4,-1088556578,-1108055408,-1127243930,1023783355)+W(5,-1111337285,-1110940389,1045926824,1056650964)+W(6,-1105944807,-1123388097,1031412139,1030176790)+W(7,-1124332025,1021333175,1041066449,1039385437);sum2=W(0,1032531181,-1114369361,1023708058,-1117330831)+W(1,1060766869,1067300065,1031926890,1043756688)+W(2,1017487862,1047518334,-1122435213,-1133288218)+W(3,-1105945514,-1075696003,1043258354,-1104593512)+W(4,-1122916014,1027012545,1020252429,-1139180683)+W(5,-1102393264,-1106946489,1049767697,-1096895795)+W(6,-1103557501,1046855474,-1109968059,1025188082)+W(7,1020047431,-1113285900,-1112657711,1019544307);WS(1056055196,1023945849); +sum1=W(0,1036175954,-1138851412,-1139517988,-1104545849)+W(1,-1111539988,1026875367,1009002268,1032040419)+W(2,1048468083,-1097789539,-1136100212,-1101013315)+W(3,-1104005681,-1112873620,1059870683,1040659763)+W(4,-1096999890,-1097071058,1013350648,-1148373856)+W(5,-1135793772,-1132670698,1053644410,1039368714)+W(6,995622088,-1128233700,-1108930702,-1120654743)+W(7,1028030253,-1133516850,1033002810,-1122818538);sum2=W(0,-1110992702,1041801313,-1135790885,1033182461)+W(1,-1116812221,-1135785781,976542168,1011638125)+W(2,-1115959119,-1083556559,-1145806187,1036058972)+W(3,1013579453,1034110873,-1068720208,-1106760241)+W(4,1047402951,1026458945,-1125994579,1026470367)+W(5,1048786168,-1124564059,1043021822,1080067579)+W(6,1021989349,1029289545,-1152817846,-1123856921)+W(7,-1115658442,-1110636256,1027196491,-1118809257);WS(1047050040,1036867972); +sum1=W(0,1041031945,1050476745,1040033213,1031952202)+W(1,-1117663192,1033331580,-1097704487,-1098508279)+W(2,1016870010,1054273441,1052329098,1049413776)+W(3,1012948685,1043041286,-1087382286,-1091275871)+W(4,1041748879,1035493153,1023712847,-1134253939)+W(5,-1131302504,-1125396951,-1117526273,-1095309386)+W(6,1041656495,1041394937,1023414180,-1129317744)+W(7,-1153578470,-1112644847,-1108492595,-1112254893);sum2=W(0,-1138324119,1042859622,-1098653081,-1120609508)+W(1,1021280635,1026624912,1038385587,-1110367912)+W(2,1072071026,1068070176,-1081276780,-1074671298)+W(3,1026288466,-1122098825,-1107049493,1026263792)+W(4,1044485226,1040658983,-1110118090,-1097107702)+W(5,1040255596,-1152233050,-1122488627,1024907208)+W(6,-1118978815,1035453187,-1119823807,-1137118351)+W(7,-1126727249,1006813455,-1111098449,1038809437);WS(1047287096,1059538103); +sum1=W(0,1034749929,1051408038,-1111595219,1030804480)+W(1,1013951379,1039425378,-1094490621,-1102474905)+W(2,1049213285,1057344539,-1098057279,-1123153834)+W(3,-1112788128,-1098419769,1048597242,-1099609086)+W(4,1048793645,-1106759404,1018775223,1007980582)+W(5,-1118093753,-1108341356,1046324795,-1094890059)+W(6,-1115115061,1033654600,1030691489,1036089754)+W(7,-1120388747,-1135294247,-1126686757,1003815995);sum2=W(0,1024004698,-1109416755,1034721747,-1112864979)+W(1,1004307827,-1116757818,1041661735,1034996841)+W(2,988806988,1058238498,1023366533,-1108077379)+W(3,1037366938,-1107547239,1008174217,1041642045)+W(4,-1115279539,1041332549,1032508120,1021246669)+W(5,-1108868659,-1128614293,-1089151778,-1122858630)+W(6,1033457886,1018109285,-1153257254,-1113986367)+W(7,-1130732717,-1122125438,-1111548255,-1130797677);WS(1066216871,-1084582294); +sum1=W(0,-1095963722,-1096473834,1023325836,1009745022)+W(1,1027534757,-1126933960,1046303345,1050775177)+W(2,-1087129751,-1142570129,-1103455511,1034246149)+W(3,-1118146623,-1103828265,1064400323,1057767679)+W(4,-1094684497,-1107829831,-1105242559,1025953385)+W(5,1018950609,1030437560,992534739,1038452388)+W(6,-1107520037,-1117719279,-1107601837,988118663)+W(7,1020674901,1033139589,1044853309,1025316967);sum2=W(0,1031626404,-1117975133,1018526115,-1127013105)+W(1,1017794797,1023300847,-1113082476,1029958550)+W(2,1062148372,1074624908,1052346460,-1123587641)+W(3,-1145491637,1041942663,-1130733653,1035325186)+W(4,-1090512380,-1070854231,1029804743,-1098654594)+W(5,-1113152926,-1139181075,-1113725416,1046581721)+W(6,-1095518794,1041467716,1030491706,-1118240305)+W(7,-1120299385,-1142763637,-1115594754,1031776819);WS(1033725552,-1082653885); +sum1=W(0,-1091894661,-1094613753,1033791775,1027658456)+W(1,1024810077,1020875129,1052727904,1054730080)+W(2,-1085886368,-1094605577,-1130834725,1038169633)+W(3,-1114253244,1021660859,1054915405,1060322284)+W(4,1049096200,1038006563,-1107114253,-1105755912)+W(5,1010914050,1032412472,-1113871235,-1115316932)+W(6,1040399888,1038046228,-1102176852,-1106878767)+W(7,1016596422,1044096992,-1098681477,-1114082704);sum2=W(0,-1109006144,1050929158,-1111819446,-1126607908)+W(1,1059727060,1073053378,1063076656,-1093467963)+W(2,1025316173,-1107176811,-1119610542,1032709615)+W(3,1073749745,1058093447,-1090320472,1048889614)+W(4,-1123863107,-1122531221,1029384695,1027594385)+W(5,-1079533534,-1073154062,1051206364,1046933317)+W(6,1026796828,-1115616555,1032209203,-1115269200)+W(7,-1075936158,-1088004581,-1109796884,997945380);WS(-1087442510,1045166814); +sum1=W(0,1032009478,-1127325529,1032907600,-1106921670)+W(1,-1110338367,1042108264,-1100890040,1041337656)+W(2,-1106321881,-1085655355,1047421629,-1111070674)+W(3,-1105899594,1027442111,1044767811,1060092296)+W(4,1057239638,-1098381173,1031075349,-1094092352)+W(5,-1105935775,1037469097,1037296628,1040377247)+W(6,-1128650952,-1107389381,-1129052086,-1136240762)+W(7,1027139781,991481919,1037463686,-1131454723);sum2=W(0,1040351141,1043540747,-1109786529,-1119426781)+W(1,1015410156,1043466418,-1106797782,-1104019881)+W(2,-1105926532,-1133247980,1018220925,1041819143)+W(3,1048709183,-1092013542,1066013053,-1098594115)+W(4,-1096724541,1038612076,-1124599508,-1103055916)+W(5,-1109288787,1027934232,-1097021086,-1136157126)+W(6,1019567362,-1143357456,1024618671,986571056)+W(7,-1140871148,1027080058,1008181894,1025702119);WS(1059279054,1041683061); +sum1=W(0,-1096417644,-1095251776,1033060856,1028823114)+W(1,1040139175,-1133443258,1051348966,1041071884)+W(2,-1096755466,-1095420880,1041097809,-1136683218)+W(3,1027763154,1037083176,1062896338,-1106154521)+W(4,-1087904547,-1117180600,-1099515041,-1108712682)+W(5,-1109247178,-1169250436,1050313119,1057053635)+W(6,-1113115866,-1121084634,-1105525449,-1114499693)+W(7,1007514196,1031868218,1043053335,1041134484);sum2=W(0,1039900182,1044206765,-1113246189,-1104031080)+W(1,-1125301559,1027754708,-1122555834,1028023758)+W(2,1043086617,1057123143,-1107688308,-1124792744)+W(3,-1129842792,1022410763,-1100462314,1041018096)+W(4,1066602722,1037219700,-1089958554,-1084040655)+W(5,1034604384,1029558442,1032289221,-1123151815)+W(6,-1111210157,1036938090,-1098033920,-1098618924)+W(7,-1139711519,-1122704124,-1143651414,1028867168);WS(-1093886876,-1092780259); +sum1=W(0,1034696971,1027092583,1040859655,1031521076)+W(1,991412379,1023411481,-1107551117,-1098366291)+W(2,1057011018,1055452141,-1115369432,-1123954783)+W(3,1037665034,1037775165,-1086775792,-1084481759)+W(4,1055461116,1043845385,-1130075936,1027325374)+W(5,-1102735091,-1106471523,-1098824964,1050583573)+W(6,1041326696,1045628689,1005655277,1017430099)+W(7,-1113156096,-1108701199,-1110858724,1032795870);sum2=W(0,-1115620025,-1110046443,-1101982776,-1099549152)+W(1,-1128057356,-1104607948,-1138118945,1042476476)+W(2,1067650764,-1096892917,1065032135,1039636960)+W(3,-1129519972,1039009532,-1084935200,1056117723)+W(4,-1084058149,-1089814493,-1112740199,1046191187)+W(5,1042222420,-1114781123,-1116550886,1043334912)+W(6,1022618460,-1106519005,-1138571865,-1120755726)+W(7,1023299940,1029490149,-1123579094,1030169574);WS(-1103384376,1050555318); +sum1=W(0,1056616014,1049493908,-1104723373,990997212)+W(1,-1104278389,-1112669305,-1101985253,-1113359817)+W(2,1060440249,1063537686,-1110645588,-1102560870)+W(3,-1117918862,-1124628967,-1091747296,-1095607555)+W(4,1049398171,-1123261404,1006886950,-1114771100)+W(5,-1120789735,1020875660,-1094355067,-1098384586)+W(6,1042753094,1041297647,1041403778,1011892746)+W(7,1029891897,-1143354303,-1099641616,-1098733239);sum2=W(0,1056762738,998260703,-1102268820,-1097904627)+W(1,-1113205081,-1105114179,-1102966386,1033294591)+W(2,1049156882,1055125136,-1102083058,-1101696600)+W(3,1028552759,1023069474,1048772561,1040206209)+W(4,1040009482,-1099421122,1022682138,-1100977750)+W(5,-1108173489,1040370279,1040485303,1004029807)+W(6,-1114104451,-1112582051,1035758392,-1105396681)+W(7,-1109779069,-1135668672,1040482786,-1118051402);WS(1042369848,-1095650924); +sum1=W(0,1060985291,1056066249,-1124780413,1032801852)+W(1,-1154392525,1017158008,-1093287088,-1088222536)+W(2,1059062488,1046815795,1031124370,-1142443027)+W(3,1041310978,-1111535759,-1084610255,-1089766974)+W(4,1051554984,1026983110,1037041722,1024489633)+W(5,-1118760812,-1118618480,1035048291,-1096293908)+W(6,1037131073,1028118439,1048283534,-1157391942)+W(7,1032589425,-1101944856,-1107690581,-1113190096);sum2=W(0,-1084477192,1041984407,-1118435725,1056251107)+W(1,1053829707,-1113013425,-1086371528,-1077785336)+W(2,-1093515412,1073185178,-1090037466,-1111043713)+W(3,1046411943,-1090694669,1074151927,-1093010832)+W(4,1051712939,1053076395,-1093926860,-1129656805)+W(5,-1095714333,-1103046632,-1094829660,1054463958)+W(6,-1096065312,1066458198,-1083761792,1052716525)+W(7,1035367276,-1087950464,1063500158,-1090812268);WS(-1081634407,-1072784825); +sum1=W(0,1024862651,1046040367,-1115394775,-1102740818)+W(1,1016622683,-1112643478,1027952685,1056867014)+W(2,-1109613465,-1115978107,-1100839185,-1101924733)+W(3,-1096240139,-1101581667,1050187219,1058509811)+W(4,1049722038,-1098661743,-1140848016,-1123768914)+W(5,1008822020,1023463264,1033615035,-1098437541)+W(6,-1138059466,1025943000,-1116477425,-1118249725)+W(7,-1116668435,1036595961,-1132571500,-1143195264);sum2=W(0,1046126277,-1111752353,-1126178115,-1139809909)+W(1,1040903120,-1104413152,1055245806,-1119940899)+W(2,1034216546,1042101074,-1097752958,1032546581)+W(3,1019748625,-1089277711,1058677046,-1088954301)+W(4,1043290796,-1112722386,-1118367610,1042272246)+W(5,1028591970,-1139620757,1048637958,-1087007443)+W(6,1034532478,1030093406,1017774855,-1138081685)+W(7,1017306737,1033828758,1029648824,-1140548675);WS(1050645916,1033550915); +sum1=W(0,-1107219907,1043545243,-1108262319,-1118556120)+W(1,1030703933,-1110184190,-1145250020,1039060494)+W(2,-1086762442,-1104041435,-1094947334,1043230361)+W(3,-1110311564,-1100512367,1057758321,1059123936)+W(4,1058293794,-1097977901,1018079143,-1103841584)+W(5,1044416908,-1132472896,1039599795,-1096913490)+W(6,1041130248,-1123331655,1008731683,1032598742)+W(7,-1147952664,1022228292,-1123961290,-1151122424);sum2=W(0,-1112791644,-1110540665,1048409433,1040267615)+W(1,1024308395,1041630361,1032365064,1010515766)+W(2,-1088877638,1053330884,-1086251247,-1107165984)+W(3,1040244783,1037513285,1049266570,-1090038325)+W(4,1057377190,1057673067,-1107976602,-1113957324)+W(5,-1098504745,1039941233,-1103454662,1028890653)+W(6,1024512949,1042772014,-1111525785,-1122078587)+W(7,-1103661415,1024552651,-1143554104,1041725883);WS(1051978908,-1102077462); +sum1=W(0,1045761591,1051430047,-1117187439,-1132165009)+W(1,-1106078467,1014010165,-1096198150,1013540534)+W(2,1060286099,1046972447,1037183202,-1108837850)+W(3,-1121999817,1030141582,-1085387922,-1130717861)+W(4,-1128782822,1028047735,1045655273,1028473682)+W(5,1008925446,1018887490,-1101497054,-1105434962)+W(6,-1178179968,1035331372,1033734537,1025240990)+W(7,-1122721428,1026996307,-1102517015,-1110960744);sum2=W(0,974611657,1047662948,-1125531833,1023072493)+W(1,-1112121991,1037288067,1051899312,-1101792417)+W(2,1035351326,-1090109833,-1118880502,1030396885)+W(3,1042102238,-1113214479,-1069022098,1080526024)+W(4,-1110942359,1033315833,-1161271853,1027419877)+W(5,1032127295,-1143368203,1036440530,-1087739606)+W(6,1010290822,-1156901930,1028708277,1019485964)+W(7,-1132377096,-1141169667,-1114394737,-1124554651);WS(1058455886,-1096183470); +sum1=W(0,-1112611850,1032735242,-1112035684,-1105360672)+W(1,-1104075433,-1111940643,1033545283,1060616064)+W(2,1048808633,1042817013,-1103063975,-1105059667)+W(3,-1115570744,-1097216429,-1097442806,1051085625)+W(4,1058906409,1047248804,-1104182327,-1112638549)+W(5,-1107200030,-1108265532,-1103229812,-1102188695)+W(6,1047193699,1057710235,-1103319623,-1106250503)+W(7,-1119499692,-1106901731,-1109193562,-1106970890);sum2=W(0,-1114274101,1016197705,-1131009665,-1135393651)+W(1,-1110403581,-1136444051,-1130986601,-1117767149)+W(2,-1143366053,1051632163,-1111055824,1004138181)+W(3,-1112183743,-1121253595,1048764370,1026922589)+W(4,-1111579981,1038147066,-1127256265,-1134829555)+W(5,1009689523,989872074,-1112945554,1036257166)+W(6,1025185617,-1137859715,1010148467,-1113946573)+W(7,-1123668797,-1123716033,-1123068365,-1143942149);WS(-1103618872,1023577831); +sum1=W(0,1057806109,997904496,1032268701,1041702149)+W(1,1022049043,-1102660926,-1106010126,-1091063799)+W(2,1057675340,-1129702414,1032012647,1021026046)+W(3,1046995709,-1100395542,-1094077941,-1090884608)+W(4,1056283152,1039716321,-1111766616,1023662430)+W(5,1050214494,-1096243374,-1100869456,-1094732237)+W(6,1049875952,1054291708,1042231991,-1112590149)+W(7,1047647816,-1100607928,-1098425069,-1105996279);sum2=W(0,-1072987051,-1080077361,1069429154,1073849383)+W(1,1022236877,-1128073567,-1098556311,1040644897)+W(2,-1076996297,-1086754234,1066905653,1070121938)+W(3,-1118780260,1027638421,-1095882058,-1124122091)+W(4,1060194671,1067521081,-1080359597,-1087755842)+W(5,1012182550,-1129108935,1048551041,-1096747545)+W(6,1074652354,1075883836,-1070245916,-1073496568)+W(7,-1130588931,1001812541,1058695504,-1092793409);WS(1010873216,-1100304815); +sum1=W(0,1045945805,1051026373,1028741017,-1154187044)+W(1,-1113759340,1022415534,-1103217414,-1102222630)+W(2,1058185854,1059904750,-1099084427,-1114247598)+W(3,-1105383733,-1111624796,-1091550752,-1097780567)+W(4,1052860588,1038231664,994968800,-1104966895)+W(5,-1114326870,-1110217221,-1110664976,-1108718914)+W(6,1040557287,1032103905,1028263947,-1113228468)+W(7,-1108875519,-1109350878,1017865354,1017403508);sum2=W(0,-1100331344,1069298433,1039210963,-1114639192)+W(1,1012858414,-1126620651,1043940791,1035901690)+W(2,1080352854,-1067747068,-1099502544,1047528380)+W(3,1036529177,-1099630936,-1084572959,1030733380)+W(4,-1080996124,1032407437,-1108972702,1041344628)+W(5,1043527822,-1119860547,1045939813,1003800555)+W(6,-1121090437,1016604711,-1116883371,1021595805)+W(7,-1145664907,1034105585,-1122259179,-1121287047);WS(1044302648,-1104457270); +sum1=W(0,1029190781,1045938783,-1101763748,-1115179413)+W(1,-1115207128,1013266237,-1102720380,-1108944696)+W(2,1034810490,1055724168,-1106420033,999269803)+W(3,1025157307,-1105407492,-1101615303,1038235218)+W(4,1053359959,-1100033022,-1128885581,1041707045)+W(5,1045691477,-1113033137,1043259278,-1094303566)+W(6,1037908026,1035419021,1029110244,-1110751840)+W(7,-1114066571,-1113282394,-1123807773,1011056201);sum2=W(0,-1109414288,-1128441429,-1115295266,-1117238549)+W(1,1023475415,1024122972,-1121954754,-1115125848)+W(2,-1104877135,1053172955,-1095438097,1033754662)+W(3,1002646200,-1106263750,1038786210,1018153798)+W(4,1056926069,-1108715476,1011060498,-1106855439)+W(5,1034246226,1025499367,1043675119,-1104082080)+W(6,1036225840,-1114450934,1032653312,-1117460606)+W(7,-1107090094,1013321052,1018894269,1008366234);WS(1068015911,1043072951); +sum1=W(0,-1101991257,-1091973141,1035792844,-1127841379)+W(1,1035382295,-1098419575,1040826438,1041159238)+W(2,-1110119406,-1095315357,1018341976,-1155603908)+W(3,1043898844,1030324599,1053842800,1052691071)+W(4,-1107228151,-1111437840,1044403491,-1111053022)+W(5,-1108241413,1043481954,1050221764,1042506601)+W(6,-1097295811,-1103670736,1005208661,-1112313859)+W(7,-1098652336,1032196534,1046985745,1030249017);sum2=W(0,-1125722365,1019923991,1033824390,-1134315530)+W(1,-1118933131,1027495017,998580556,-1135384490)+W(2,1039464885,-1087456726,1039862799,-1112867968)+W(3,1045077367,1087627027,-1061395777,-1093291922)+W(4,-1119378177,1042059959,-1114969920,1005143468)+W(5,1034637079,-1148550692,-1121281813,-1106942114)+W(6,-1113780490,1009971850,-1131720457,1030354102)+W(7,-1118611519,-1117397469,1032010553,1034179020);WS(1060186318,-1131602669); +sum1=W(0,1050205114,1052887138,-1102049002,1022422466)+W(1,-1112848707,-1106285089,-1102238785,-1099402401)+W(2,1052456073,1049038746,-1097141731,1050775273)+W(3,1039607513,-1098786589,-1088759247,-1100510367)+W(4,1040490435,1039690728,-1099566807,1056872997)+W(5,1048305743,-1104192622,-1099089908,-1122526498)+W(6,1043457059,1045856748,1032894309,1025667942)+W(7,1032266998,-1118572779,-1106963501,-1102859210);sum2=W(0,-1120410947,1050158699,-1108234271,989650422)+W(1,-1081060940,-1074101109,1066272871,1047633630)+W(2,-1092804082,1024838498,1045260201,-1120122674)+W(3,-1079387458,1050344942,1061734347,1075424781)+W(4,-1125280065,-1119936776,1037831837,-1114112879)+W(5,1043540897,1039609275,1003481288,-1091697647)+W(6,-1114421818,1035095434,1024132690,-1117501250)+W(7,-1131708367,1026462111,-1106020023,1011848513);WS(1057810382,986287880); +sum1=W(0,-1110142276,-1106138450,1027767677,-1105255365)+W(1,1050176972,-1130243957,1031406779,1041191503)+W(2,-1092238936,-1090210593,1038550632,1037147968)+W(3,1041310918,1041377527,1049547413,1027980992)+W(4,-1089134184,-1093055129,1035749561,-1136315263)+W(5,-1115128119,1033537239,1057536820,1052451129)+W(6,-1097497096,-1089420006,1028257967,-1115075413)+W(7,-1127231554,1031965752,1058108487,1050343212);sum2=W(0,1070708271,-1104040400,-1113793286,-1099824579)+W(1,-1097074436,1023561426,-1084124078,1075074245)+W(2,-1091831853,-1072548459,-1112943238,1053512844)+W(3,1039380165,1009216489,-1072503695,-1082668198)+W(4,-1093778092,1057576575,-1099992002,1041834894)+W(5,1043969626,-1107563771,1053907302,1056090411)+W(6,1064181862,1051972140,1024916046,-1120789532)+W(7,1034348623,-1106961801,1054786345,1058602971);WS(-1075707047,1038147646); +sum1=W(0,1050722763,1026800423,-1115961531,1038492938)+W(1,1040870942,-1122935577,-1103730686,-1095596015)+W(2,1055626176,1052178217,1041066756,1036899040)+W(3,1047700685,1036539085,-1090286882,-1091210886)+W(4,1027667391,1053246416,1045702796,1038870159)+W(5,-1102625947,1048523811,-1095582752,-1094135001)+W(6,-1100305296,1049962981,1044017707,1022987667)+W(7,-1105859960,-1117734303,-1093296229,-1109653838);sum2=W(0,1027969677,-1095928859,-1113260796,-1145353723)+W(1,1052090154,-1110261785,1031463199,-1115030411)+W(2,1052169305,1052353113,-1113367096,-1112198364)+W(3,1041877601,-1099630700,1051016428,-1108227013)+W(4,-1129450520,1051473061,1047146251,1007958125)+W(5,-1087173862,-1102681887,1045242344,1041462653)+W(6,-1091037095,1050393555,1021064313,-1122974002)+W(7,-1095485390,-1111896409,1020102815,1032341221);WS(-1102302520,1068562064); +sum1=W(0,-1101486038,-1094978851,1029216267,-1130894152)+W(1,1031789673,-1102217970,1029251017,1044130034)+W(2,-1104755260,-1093484995,1029804895,1029150351)+W(3,1042516209,1040658618,1050941559,1053252560)+W(4,-1110271975,-1106599349,1046304488,-1108054071)+W(5,-1113036417,1041743615,1050863202,1036880709)+W(6,-1102131284,-1102274525,1018120580,-1107326720)+W(7,-1102226940,1032422999,1047248574,-1128083416);sum2=W(0,1022527979,-1111065998,-1123809812,1019111797)+W(1,1029130971,-1117143513,1023737355,-1131519898)+W(2,1031759809,-1095097056,1041109085,1006739898)+W(3,-1106220344,-1064938697,1082939698,1045357020)+W(4,1034613952,-1107360163,1028972357,-1126211453)+W(5,-1122955245,-1112280546,1033832936,1027342607)+W(6,1033659253,-1118642675,1025713585,-1118372569)+W(7,1032152906,1028082979,-1118824157,-1112248823);WS(1066566439,-1125753148); +sum1=W(0,-1096367972,-1098758994,1041951168,1020091828)+W(1,1030663671,1025331919,1048997640,1038767583)+W(2,-1093467737,-1089881409,1052053147,-1130301450)+W(3,-1108818909,1044746920,1064063659,-1130818632)+W(4,-1092544881,-1098181717,1033588155,-1131231944)+W(5,1022962726,1041997189,1042770882,-1116991019)+W(6,-1110070786,-1096392077,-1116682291,1009411772)+W(7,1018371147,1038578846,1027361773,1046860728);sum2=W(0,1019815533,1047279899,-1149004498,-1105507764)+W(1,1024962860,1041000955,-1121679526,-1136431769)+W(2,-1106660204,1058550934,-1115729482,-1098298748)+W(3,-1107413740,1027135608,1058580319,-1096656341)+W(4,1031191852,1032716298,-1111478010,-1094576030)+W(5,-1101441076,1035067556,1041490224,-1098228632)+W(6,-1117054989,1019851909,1018600957,-1129010369)+W(7,-1123460834,1005788722,-1106522387,1047791827);WS(1050996380,1066787661); +sum1=W(0,-1109518091,1043911830,-1120310187,1042843177)+W(1,-1112832565,-1133582755,-1097687209,-1098674409)+W(2,1059519229,1061971625,-1107450543,1033453959)+W(3,-1116528532,-1105396874,-1098011863,-1096304487)+W(4,1051823058,1046601317,-1134072575,1017862620)+W(5,1033796902,999923683,-1095249970,-1095767039)+W(6,1042112788,1046863997,1033769739,1025308393)+W(7,1030029487,-1109771063,-1098417599,-1098354285);sum2=W(0,-1087654445,-1114493691,1033376724,-1103321099)+W(1,1013739975,1015354012,-1096458683,-1098379129)+W(2,1049058628,1065240604,1033194077,-1108916223)+W(3,-1121134774,-1115257551,1054396447,1036368268)+W(4,-1128335788,-1094150295,1032881798,1038197771)+W(5,-1129699908,1021079748,-1108472207,1049730119)+W(6,1006224046,-1112103411,-1138730935,1017830932)+W(7,-1117224382,1038189385,-1102017203,1031462702);WS(1027314912,-1081149641); +sum1=W(0,1051429188,1053252314,-1114947760,-1109480125)+W(1,-1097611416,1034118735,-1094077252,-1118844062)+W(2,1058130398,1061393767,-1132100201,-1101195017)+W(3,-1104617542,1035982720,-1085308129,-1113091794)+W(4,1057940398,-1104522586,1044342469,-1103759537)+W(5,-1114189097,1036294793,-1094497965,-1102037735)+W(6,1055491172,-1120202825,1051194426,-1111893319)+W(7,-1128796810,1030785028,-1094870250,-1103334896);sum2=W(0,-1098833779,-1124760267,1024995350,-1131039707)+W(1,1035790053,995065627,1057070390,-1147567565)+W(2,-1078713050,-1065942779,1015537291,-1104486127)+W(3,1037354874,-1154356731,-1081156610,-1091843304)+W(4,1047686732,1084085461,-1103676904,1053996441)+W(5,-1107145709,1026796886,1060423478,-1094140189)+W(6,1064521940,-1093915430,-1111129691,1047124046)+W(7,-1108476011,1038591472,1018309905,1046849692);WS(-1081542375,1044780323); +sum1=W(0,1046719985,1054288460,-1100303790,1026864081)+W(1,-1114219435,-1104586877,-1108679899,-1098857847)+W(2,1054459103,1048901488,-1098110473,1048337215)+W(3,1041408644,-1098306531,-1093175556,-1098101851)+W(4,1041639871,1034589376,-1099969099,1054474587)+W(5,1046672715,-1104199322,-1107626335,-1104037973)+W(6,1043694031,1046235480,1028627178,1023999910)+W(7,1022681657,-1126646775,-1106600025,-1101510966);sum2=W(0,1024212320,-1098721130,1027847194,1017985090)+W(1,1067245211,1074345814,-1081468176,-1099849981)+W(2,1050387030,-1094712479,-1113167123,1036519222)+W(3,1070597407,-1088417301,-1096550174,-1070464929)+W(4,-1100822056,1028269032,-1113380621,1037009826)+W(5,-1104880956,-1102737214,1042714784,1057690620)+W(6,1009055356,-1113841920,-1115360802,1031131596)+W(7,1000105719,-1112342255,1046010973,-1145638655);WS(1059294542,1020616832); +sum1=W(0,-1096856701,1044861738,1039080142,-1157534552)+W(1,-1112831597,1046540791,1041652423,1050532499)+W(2,-1089052876,-1085780263,1031217968,-1097783100)+W(3,-1098369827,1040272239,1047119538,1057029426)+W(4,1044573672,-1097342660,-1138897989,-1164216296)+W(5,1024931118,-1103025619,1043073721,1039715347)+W(6,1041475528,-1105558033,-1105498094,1026686634)+W(7,1045404192,-1114523696,1048391538,1040308239);sum2=W(0,1040318024,-1105705183,1001372950,-1106291706)+W(1,-1142193319,-1145917455,-1116263519,-1114208076)+W(2,1045484852,1061316313,-1093748925,-1099590495)+W(3,1036599633,-1108356360,1049891427,-1108179199)+W(4,-1098311584,1041085521,-1105937891,1015225205)+W(5,-1148092276,1032743264,-1111581107,1040668388)+W(6,1028378294,1035732349,995169980,-1112612361)+W(7,1021281994,1024794158,-1113959318,-1115787941);WS(1059376718,-1137270291); +sum1=W(0,1043258576,-1106073464,1037392427,-1118257199)+W(1,-1112002778,1022160871,-1124279079,-1114290826)+W(2,1054680411,-1099046488,1035766677,-1097794403)+W(3,1045843716,1011458515,1052189312,-1115190716)+W(4,-1088020070,1041392887,1032186693,1026067385)+W(5,-1110958220,1046761570,-1097245116,1054691490)+W(6,-1113652045,-1111666975,-1139304576,-1108679762)+W(7,-1117145658,1032305501,-1123561026,1025610423);sum2=W(0,1033595807,-1087687504,-1122852568,1025244035)+W(1,1002397687,-1104089806,1048825911,1016573022)+W(2,1066421651,1047700223,1038019467,-1092220395)+W(3,-1130145014,-1111655831,-1089540205,1058107887)+W(4,-1084925862,1050883425,-1113553750,1048072683)+W(5,1032935415,1015641098,-1098430697,1045215493)+W(6,-1105555859,-1146566911,-1139793711,-1119930901)+W(7,1001885951,-1131703250,-1124843514,1041208433);WS(1058596686,1013962118); +sum1=W(0,1052551424,1049056438,-1127551432,1000024554)+W(1,1039656505,1034731345,-1098656348,-1088298614)+W(2,1057499982,1036076760,1035333436,-1100000762)+W(3,1019232187,1033429441,-1097067922,-1090756927)+W(4,-1127972943,-1116046252,1044766998,-1122612871)+W(5,-1125045580,-1113717771,1015197910,1040213184)+W(6,-1118015335,-1099275107,1051562743,1041477861)+W(7,1037833508,-1122272135,-1122278672,-1123679237);sum2=W(0,1048601996,-1091369704,1029025211,-1104434141)+W(1,1004930429,1028438774,-1119340081,1033271157)+W(2,1052827694,-1106615386,-1079110377,-1078497608)+W(3,-1106316897,1034989376,-1109539756,1025214064)+W(4,-1115334546,1037382016,1066279808,-1085502108)+W(5,-1108631008,1023198169,-1106594885,1050957039)+W(6,-1122817088,1048688798,1068620036,1062913146)+W(7,-1134348613,-1139733884,-1118139306,1036274829);WS(1044771128,1023341948); +sum1=W(0,-1092336191,-1098819215,1034545464,-1156220044)+W(1,1036528391,1029114797,1044146859,1051560294)+W(2,-1096491302,-1086850728,-1111313058,1033488922)+W(3,1022761170,1029767950,1045449190,1051910286)+W(4,-1102939421,-1100928894,1008511890,1038420969)+W(5,1041877300,1034675856,1038883707,1053458817)+W(6,-1115524377,-1089482302,1011084871,1013986230)+W(7,1037411178,1043196317,1046748951,1012126018);sum2=W(0,1076503146,1066884159,-1080574884,-1071004894)+W(1,-1122913984,-1130255370,-1107351326,1057610169)+W(2,1058011283,-1098882467,1049506323,-1089987082)+W(3,1038970611,1014162118,-1090234844,1054000347)+W(4,-1084978169,-1088626314,1062249589,1065282653)+W(5,-1114000490,1022492087,-1090230279,1030898490)+W(6,-1082249713,-1077734377,1070844945,1060165079)+W(7,-1131621088,1013009282,-1096516163,1044380003);WS(-1111817840,-1134998409); +sum1=W(0,-1102901203,-1094315057,1045262352,1022731056)+W(1,1021112442,-1107194439,1052915216,1029699069)+W(2,-1085070720,-1111793509,1029818259,1044888721)+W(3,-1097785743,-1117717150,1057078063,1058770140)+W(4,1055206544,1046806370,-1114660906,-1105915720)+W(5,1040740592,1036425016,-1097451385,-1095183540)+W(6,-1123039746,-1136267423,991785104,1027479949)+W(7,1005586201,1016465988,-1114500629,-1112670352);sum2=W(0,-1113356803,1026318374,1030842707,-1129690332)+W(1,1015499837,-1180561029,-1119512995,997943457)+W(2,1041923626,-1089332833,1054087898,-1123486113)+W(3,-1144014736,1037328869,-1088292904,1037525758)+W(4,1068558125,-1141184456,-1097205966,-1105176966)+W(5,-1107365912,-1114055561,1050151959,1040210770)+W(6,-1107728348,-1104288342,-1106929221,-1098021434)+W(7,1009592392,1013301204,1006954668,1018682892);WS(-1100650808,1043653943); +sum1=W(0,1044290651,1040683515,1032036848,1038392637)+W(1,1033771919,1038316223,-1115398639,-1095199164)+W(2,-1106266873,-1090111931,1043637149,-1120772452)+W(3,1042896310,1045751664,-1097393337,-1094097345)+W(4,-1133467790,1044787930,1047398869,1040259489)+W(5,-1159203906,1015063331,-1101572298,-1104941765)+W(6,1023591523,1037223428,1050576478,1038054351)+W(7,1030908740,-1125005703,-1102689443,1016760834);sum2=W(0,1046306039,1043541862,1000548496,1018053796)+W(1,1031448374,-1112893849,1029064982,-1101305605)+W(2,1010667960,1064529690,1039189619,1049079603)+W(3,1021972628,-1105518867,1038487223,-1116813778)+W(4,1047996002,-1087406141,-1118597354,-1128574308)+W(5,1037842238,1033382833,1048794746,-1100258391)+W(6,-1095617964,-1086946593,-1104543855,-1106984497)+W(7,1021089548,-1140458600,1045938007,-1114392997);WS(-1121537248,1047151836); +sum1=W(0,1052654400,1035132488,-1113135282,-1096325448)+W(1,-1116556387,1023519458,-1110395025,1000450324)+W(2,1046868890,-1134150082,-1112146268,-1098188693)+W(3,-1111260975,-1110207458,1049727010,-1139200797)+W(4,-1129891280,-1098847494,-1117696601,-1108791588)+W(5,-1104838938,-1098805187,1056884317,1041189572)+W(6,1032919412,-1107856679,-1114157115,-1123869651)+W(7,-1146298440,-1103148146,1058220805,1041128337);sum2=W(0,1043572739,1026011378,1021304865,-1142864271)+W(1,-1107989855,-1140649559,1028667063,-1125571574)+W(2,-1102859954,-1080136051,-1107584343,1043366966)+W(3,1020722946,-1132367054,-1072538638,1022196210)+W(4,-1103597159,-1115654645,-1130465374,1014758407)+W(5,1041979768,-1126224006,1048815254,-1076945816)+W(6,1046511165,1053224660,1000478551,-1120740451)+W(7,1027667511,1048839210,1074776028,1072551214);WS(-1086568910,969651201); +sum1=W(0,-1096064919,-1089612648,1044154939,-1128189323)+W(1,1043461231,-1099266659,1054908701,1047521403)+W(2,-1084798775,1053159863,-1114366976,1043534732)+W(3,-1113308531,-1152040120,1057685165,1056987371)+W(4,1053431542,1050787607,-1101372520,-1098469330)+W(5,1042761408,1049635020,-1090701774,-1089249613)+W(6,1036747448,-1116020373,-1132910587,-1123038043)+W(7,1010635844,1018344000,1027268120,-1105030179);sum2=W(0,-1103892922,1060495074,-1103428495,1042932965)+W(1,-1139842168,-1118896922,1060109323,-1104364155)+W(2,1052448567,-1075640666,-1093583228,1039997403)+W(3,991756114,-1097481656,-1073056297,1064108701)+W(4,1057723154,1057002090,-1121819542,1044856824)+W(5,1040659602,-1099984054,1060503917,1055665788)+W(6,-1112150955,-1118134166,1028413178,-1177180368)+W(7,1034919451,1041069777,-1110515035,-1116550688);WS(-1084093518,-1116656412); +sum1=W(0,1058416208,1026388179,959481663,1002008836)+W(1,-1112390467,1023428581,-1109778819,-1096672513)+W(2,1059097973,1042079029,1050696243,-1104590931)+W(3,-1112632704,1040470858,-1096264126,-1088144465)+W(4,1041679827,1049127990,1047962207,-1106608235)+W(5,-1102954054,1047012782,-1100480244,-1101432288)+W(6,1031439243,1042535660,1015783795,1030562773)+W(7,-1112144502,-1145396437,-1093923750,-1113594772);sum2=W(0,1027407916,1010716935,-1110192070,1007960967)+W(1,-1132155403,-1121935910,1018303319,-1129957403)+W(2,-1097456083,-1070859565,1056650247,1049899326)+W(3,-1137993343,-1142796285,-1094713389,1037417999)+W(4,-1068241064,-1079514242,1081472440,1078512141)+W(5,1039214170,-1111213656,1043613542,-1096379657)+W(6,-1094427160,1030657127,999915485,1058404171)+W(7,1032528613,1024356221,-1116925932,1025537830);WS(1052225948,1018668194); +sum1=W(0,1051775516,1048325451,-1123160289,-1120453498)+W(1,-1107074656,-1112742544,-1111291056,-1117579103)+W(2,1058214550,1064670427,-1104839613,-1108654867)+W(3,-1147977428,-1119335936,-1091445969,-1093397513)+W(4,-1126638409,1049967085,1036965515,1041378113)+W(5,-1109154218,1034167881,-1099225050,-1092047898)+W(6,-1096299613,-1128237844,1034438594,1044186084)+W(7,-1138567959,1019177609,-1112057991,-1112850625);sum2=W(0,-1117606942,-1111847761,-1148685985,-1121001958)+W(1,-1130038396,-1112487949,1021935234,-1103097305)+W(2,-1120566718,-1076982600,1021815720,1018483434)+W(3,1038078839,-1125812992,-1081972918,1049895592)+W(4,1074852012,1048076514,-1108634723,1049361594)+W(5,-1152546434,-1104919092,1040925857,1051964198)+W(6,-1102180777,-1116866514,-1105580672,-1132118692)+W(7,1026180028,-1123068468,1040155911,1017568960);WS(-1096382876,-1091051652); +sum1=W(0,1057278592,1048826126,-1113197617,-1116126267)+W(1,-1116910752,-1140807037,-1097274020,-1096000788)+W(2,1058810754,1056304110,-1124324715,-1112424211)+W(3,1039925053,-1132679170,-1091311905,-1088739494)+W(4,1041995897,1016295122,1040875430,-1136579346)+W(5,-1107191661,-1119450067,1038826452,-1114916522)+W(6,1024916389,1042534003,1017323784,-1113905512)+W(7,1023437062,-1098370349,1017648027,-1128507781);sum2=W(0,1025682064,-1107470193,1036113080,-1120311657)+W(1,-1108273289,1012612647,-1108061877,1036682152)+W(2,1035621932,-1118009189,1029662296,-1109045199)+W(3,-1101063214,-1076098595,-1101792442,1051542033)+W(4,1045290388,1009830751,-1114085873,-1122358251)+W(5,-1080861029,1039398973,1056395710,-1093646778)+W(6,1035169596,1030264440,-1115835645,1016737279)+W(7,1065137390,1072502688,1052430993,-1091719234);WS(1040082544,-1114755812); +sum1=W(0,-1110974758,-1108514902,1037505264,1017784372)+W(1,1024480479,-1104471944,1041424680,1040296296)+W(2,-1095324708,1052579502,1019379817,1045745417)+W(3,-1106439461,-1115066496,-1106396419,1054913780)+W(4,1058051822,1046163210,-1124056118,-1109308706)+W(5,1040857799,1001482384,-1093666877,-1087512533)+W(6,1038459986,998280780,1039469090,1025470519)+W(7,995688529,-1108404770,-1109356390,-1106674096);sum2=W(0,1045315846,-1118054954,-1117720653,-1162396366)+W(1,1035646876,-1100298043,1034773210,1034748092)+W(2,1057942904,1059476362,-1105580348,-1104226850)+W(3,-1097646834,-1093789486,1067689202,1043388435)+W(4,-1090022037,1045409162,1031813906,-1105643813)+W(5,1040357620,-1113573448,-1101262587,-1083232471)+W(6,-1106412098,1023977529,1018164327,1011045214)+W(7,1012935222,1024454049,-1102021751,-1124577575);WS(1036525168,-1082462584); +sum1=W(0,-1085123800,-1087372070,1037298441,-1116308971)+W(1,1019612704,1027541711,1051660338,1057675329)+W(2,-1086414101,-1096064460,-1122874917,1027885589)+W(3,-1109257541,1041073820,1059581688,1059597873)+W(4,-1099879381,-1104319094,-1108384819,-1154089797)+W(5,1028059367,1045372305,-1117339864,1052784510)+W(6,-1127380522,-1096394215,1003463273,1028179743)+W(7,1031554934,1053758651,-1110971807,1039251609);sum2=W(0,-1081285622,-1090050073,-1103295177,1060691160)+W(1,1052276353,-1106187369,1050684042,-1080809247)+W(2,-1102851017,1072728426,-1085964582,1035985281)+W(3,1048638013,-1090587145,1060852217,-1087522637)+W(4,1060511611,1033954581,-1107551093,-1105398566)+W(5,1029176048,-1094879840,1041242888,1058511518)+W(6,-1086630634,1058069039,-1090293163,1049030608)+W(7,1046256182,-1087039462,1062481845,1028348456);WS(-1074352935,1040600857); +sum1=W(0,1057627204,1025049468,1028652336,1042034194)+W(1,1024364622,-1105990299,-1105875707,-1090157751)+W(2,1057567995,1022098295,1030695172,1024054004)+W(3,1048022018,-1100928004,-1095088235,-1088931067)+W(4,1052602222,1039437212,-1117605317,1029627411)+W(5,1049957878,-1095846092,-1104356174,-1094832321)+W(6,1049556590,1053416947,1041624512,-1114002447)+W(7,1047165477,-1098759166,-1101255271,-1107260676);sum2=W(0,1073165865,1065983198,-1079714919,-1075440350)+W(1,-1148975848,-1115591486,1048707236,-1112383192)+W(2,1068716226,1066499710,-1081735031,-1079134350)+W(3,1038054064,-1125971282,-1098543278,-1135853868)+W(4,-1095308006,-1080754250,1066585571,1055569671)+W(5,1040311395,-1110109816,-1108920844,1021808504)+W(6,-1074800849,-1073191304,1075476470,1071644179)+W(7,1035370814,-1120408347,-1090378667,1050977418);WS(1041022776,1033480094); +sum1=W(0,1026327841,1042302896,-1123321429,-1132576057)+W(1,-1119031508,1021323174,-1109312954,-1110434490)+W(2,1052457903,1063677500,-1104176578,1028959481)+W(3,1029242558,-1118638740,1025377120,-1089918670)+W(4,-1097607903,-1123802109,-1121060138,1046472198)+W(5,1013298461,-1106699146,1046523967,-1090934974)+W(6,-1118671609,1039698959,-1115611836,1027556403)+W(7,1030036314,-1116635705,1000531209,-1112257611);sum2=W(0,1049930690,-1127267122,-1122286155,-1106027239)+W(1,1034564779,1018367610,-1108798456,-1110218398)+W(2,1041115945,-1091935564,1055155948,-1102546078)+W(3,-1095860458,1043590800,1075372513,1058786995)+W(4,1052250618,-1103388917,1032068992,-1096754888)+W(5,-1112711414,-1119323979,-1123143101,-1071163371)+W(6,1038737216,-1108790214,1036170969,-1121774513)+W(7,1016553114,1017858173,1032355550,-1121707895);WS(1055618972,-1117202987); +sum1=W(0,1039894129,1053882576,-1101414710,1030962480)+W(1,1031993659,1048656807,-1089999221,-1101932469)+W(2,1057347458,1049814740,-1111740150,-1098100923)+W(3,1043352452,1031031542,1051098296,-1085784352)+W(4,-1090053902,-1088233382,1041005827,1036980413)+W(5,-1104607674,-1119077705,1051763396,1056052448)+W(6,-1105970903,-1117339136,-1112834597,1021681163)+W(7,1022017143,1039235901,1032801282,1044301630);sum2=W(0,-1101541229,1043634319,-1123577690,-1114659327)+W(1,1039378885,-1111523166,1057974128,-1107338771)+W(2,1066882360,-1077668162,-1105097716,1042921002)+W(3,1040130625,-1104122760,-1080704784,1050113378)+W(4,1037629509,1058638399,-1093975266,1042773509)+W(5,1012227066,-1110420726,1052705661,1051155360)+W(6,-1108208741,-1131856909,1000405669,1032061179)+W(7,-1125218199,1025207949,-1111189711,1008396554);WS(-1091387548,-1116324289); +sum1=W(0,-1112220622,-1093973688,1044682252,1026642697)+W(1,1027958127,-1098544270,1047211372,1049897926)+W(2,1046046637,-1086442024,1032214050,1041967213)+W(3,-1112662293,-1106755108,-1112122925,1050365286)+W(4,-1099996941,1053177927,1015214154,-1131062694)+W(5,-1116559746,1034258897,-1132096750,1046223135)+W(6,-1098783494,1037567917,-1110158325,-1137069945)+W(7,-1111108842,1031638516,1042021623,1024489425);sum2=W(0,1011776651,1024100809,1016776222,-1108095393)+W(1,1019145070,1032882678,-1105403134,-1101257730)+W(2,-1097248934,1057627889,-1122468710,977935538)+W(3,-1124027994,-1103033100,1060632600,-1101986254)+W(4,1042194141,-1117226417,1030099429,1019959206)+W(5,1039533068,-1110127978,1037412790,-1090719303)+W(6,1051928720,1041814459,1002749526,-1104930054)+W(7,-1125661478,-1108291818,-1115385474,-1109292621);WS(1057965518,-1118811194); +sum1=W(0,-1106566686,-1112643723,1038892389,-1104352985)+W(1,-1107147458,-1114250980,1003767366,1052732873)+W(2,1026830542,-1091938531,1042490232,-1105058276)+W(3,-1096574819,1048844541,1019887594,1060358287)+W(4,1058056073,-1101314965,-1099594944,-1121521774)+W(5,1024329053,-1107780158,1042464324,-1118338013)+W(6,-1098044778,1039936570,-1095161930,1033536020)+W(7,1032778872,-1107207172,1046000094,1024562028);sum2=W(0,993944814,-1113078065,1042905425,-1116205334)+W(1,-1106373772,1039619019,-1104977559,1032713731)+W(2,1044406596,1040105843,1044205280,-1109155755)+W(3,-1115343154,1048332350,-1104277422,1048672381)+W(4,1043112037,-1123380436,1008636092,1035597621)+W(5,999501191,-1106439836,-1153474446,-1103087244)+W(6,-1105268129,1005260887,-1092853308,1036458751)+W(7,1021528398,-1106473413,1036094123,1015784078);WS(1053420700,1049909457); +sum1=W(0,-1106165874,-1089903413,1034071238,-1115258034)+W(1,-1113250117,1023742249,1041332866,1050401361)+W(2,1036166247,-1100423414,-1115686559,1027276239)+W(3,-1130552842,-1120158506,1037380859,1049384898)+W(4,-1093491554,1049835542,-1102788144,1041096236)+W(5,1037333727,-1103514783,1034784425,1052388787)+W(6,-1095323722,-1110396954,-1107460367,1034068157)+W(7,1037170040,-1114330639,1050882791,1031952854);sum2=W(0,1024557142,-1165623582,1028289272,-1112500393)+W(1,1020782048,-1122738507,1035333264,-1136367764)+W(2,-1095250820,-1062269001,1086771603,1049127312)+W(3,1025362120,1034731082,-1087155359,-1114028070)+W(4,-1095068995,999933935,1020087240,1048088739)+W(5,-1125007838,-1120796207,1034746908,1022077560)+W(6,-1135945992,1025716258,-1146529543,1014851096)+W(7,1026594640,-1128255426,-1127622484,-1120864651);WS(1063806286,1027083983); +sum1=W(0,1045480194,1039206373,1030313470,-1114823180)+W(1,-1109705966,1020453816,-1106496703,-1118427516)+W(2,1061885616,1050451993,-1111977289,-1111791457)+W(3,-1103432478,1039658735,-1083830979,1010686340)+W(4,1057912708,1036575619,1019729830,-1108043857)+W(5,-1114670584,-1109909656,-1105267089,-1099420545)+W(6,1039765761,1034424532,1033983240,-1114640622)+W(7,-1113587473,-1112770081,-1125840468,-1131920190);sum2=W(0,-1122290634,-1091664523,-1100194899,1033978022)+W(1,-1164938552,1002490582,-1103111994,1016780797)+W(2,-1071413373,1075108998,1050426550,1033701105)+W(3,-1105595809,1051489664,-1096749849,1047766898)+W(4,1062092502,-1103668501,1034191613,-1104028404)+W(5,-1108336227,1021076655,-1131589290,1027350687)+W(6,1034149895,-1140709165,1010895851,-1141130302)+W(7,-1149103768,-1131210373,1027888251,-1131724600);WS(1058288590,1045994186); +sum1=W(0,-1093342072,-1096797372,-1123855059,1018135640)+W(1,1038262801,1015346466,1041780692,1052167946)+W(2,-1086390197,-1105293320,-1112801779,1040223430)+W(3,-1132654257,-1134794696,1059840396,1052872019)+W(4,-1091216419,-1117054299,-1098800665,1036317947)+W(5,-1117665797,1012611090,1050341107,1051866430)+W(6,-1096209979,1023470716,-1096517871,1034707665)+W(7,-1139713758,1010858330,1050625648,1048652350);sum2=W(0,-1099008397,1047276236,-1099284356,1041114210)+W(1,-1125418381,-1120564910,-1111523652,-1123917868)+W(2,-1081084758,-1071665325,-1092208278,1038292116)+W(3,1020505319,-1100128811,-1086778305,1037708884)+W(4,1054365119,1081581342,-1104534119,1054381469)+W(5,1024474915,-1125603475,1026238413,-1101037019)+W(6,1062322644,-1093538640,1033400256,1025804573)+W(7,1025011807,-1103707544,1052085127,-1134916894);WS(-1088887374,1070119449); +sum1=W(0,1052058645,1048371361,1041554590,1040460421)+W(1,-1105506686,1029097335,-1115426747,-1090595183)+W(2,1048732808,1042754705,1038262022,1013850612)+W(3,-1129317061,1001782464,-1087902678,-1094790815)+W(4,1047384127,1054439312,-1106869091,1042710919)+W(5,1038072126,-1131475029,-1090477876,-1106656361)+W(6,1032508990,1042772520,1046057615,1044864290)+W(7,1028935005,-1119515740,-1091795237,-1122940954);sum2=W(0,1056461606,1030035123,-1112923336,1024604999)+W(1,-1075212110,-1080779344,1066713447,1071685965)+W(2,1050727550,-1090534096,1025504127,1027433809)+W(3,-1078194918,-1153515923,1028028856,1068313262)+W(4,-1105339223,-1095507508,-1144581942,1007245204)+W(5,1068056044,1069903211,-1078816510,-1081367671)+W(6,1043793174,-1095638178,1021294865,-1129047399)+W(7,1064173276,1060536751,-1090770344,-1081156501);WS(1040470840,1011790950); +sum1=W(0,1043725275,1051465082,-1120734562,1015095158)+W(1,-1108386992,1030149375,-1108441440,-1105535856)+W(2,1058372660,1055309890,-1118217942,-1116691398)+W(3,-1112701741,1026499745,-1081260869,-1095343471)+W(4,1046636817,1044874098,-1123629847,1019898057)+W(5,1032201014,-1115283258,-1093096561,1047492563)+W(6,1043010193,1040878843,1041822001,1034607368)+W(7,1028457510,-1112399171,-1106259483,-1105294873);sum2=W(0,-1117997331,-1110014342,1021246145,1022830461)+W(1,1023767946,-1130403951,-1125616185,1037270083)+W(2,-1111993293,1036613835,-1114703004,1015115055)+W(3,1025796328,1050812248,1073620398,1044158772)+W(4,1023720090,-1117604953,1015720307,-1120910531)+W(5,-1112499600,1028283916,-1087890801,-1076883688)+W(6,-1120463052,1036937497,-1123770073,983370825)+W(7,-1104874229,1033737696,-1113287589,1025754476);WS(1058309838,-1101980246); +sum1=W(0,-1110907254,1049643561,-1098779704,-1118965337)+W(1,1028903966,-1108240479,1038999679,1038642111)+W(2,-1081904943,1042163763,-1113399754,1049071256)+W(3,1040887994,-1118832415,1056093093,1054751182)+W(4,1052138696,-1106220306,-1110569018,1026571427)+W(5,1046797612,-1104697276,1050507993,-1083956910)+W(6,1025191299,-1129449041,-1128371676,-1131332475)+W(7,-1123883748,1017502086,1030864044,-1146247429);sum2=W(0,-1111106723,1033166752,1043191716,-1137655511)+W(1,-1112318930,1027572041,-1112822728,1035105104)+W(2,1033268708,1052576386,-1097517035,-1121349336)+W(3,1035699332,-1097542777,1055574555,-1104857525)+W(4,-1107318253,-1102887232,-1129223371,1046822141)+W(5,-1110157019,1031007843,-1121581721,-1114990789)+W(6,1040601750,993535634,-1124684976,-1116759551)+W(7,-1157281192,1025775603,-1107957817,-1152414880);WS(1063710542,-1111213649); +sum1=W(0,1052251350,1049489370,-1110192145,1039559517)+W(1,-1113889808,1031901152,-1097695264,-1101160384)+W(2,1058328276,1061120005,-1118762901,-1107309859)+W(3,-1104513406,-1097003636,-1096321197,-1093740712)+W(4,1049656673,1033876357,1037245627,-1108199122)+W(5,-1112381384,-1176476024,-1114972772,-1097289639)+W(6,1041987905,1045428971,1035326852,-1139769966)+W(7,1022802380,-1115185874,-1103522251,-1102516745);sum2=W(0,-1115186477,1031459540,1021750253,1026803387)+W(1,-1112425236,-1106593609,1031446318,999853755)+W(2,-1116326399,1040651083,-1107480079,1040812059)+W(3,-1086524651,-1075753828,1071698983,1058720440)+W(4,1020594503,1033768858,-1115082464,1041131835)+W(5,-1096266051,-1108942599,1034660038,1051128601)+W(6,-1132516997,1015478283,1001155939,1006187407)+W(7,-1123360193,-1104453127,1041372466,1027131696);WS(1039772272,-1082982873); +sum1=W(0,1049032497,1053169593,-1106264016,1039127452)+W(1,-1155633625,1043520647,-1088020664,-1098139952)+W(2,1060522592,1056693961,-1145518233,-1104546353)+W(3,1040400554,-1139907193,1038834197,-1087153807)+W(4,-1095982984,-1088607916,1044410893,1041713673)+W(5,-1104883452,-1103034636,1048228018,1053429837)+W(6,-1099512929,-1120546088,1007790526,1039725795)+W(7,-1134131855,1012687882,-1130616150,1030077856);sum2=W(0,-1092902636,1037122437,-1102803435,1032987173)+W(1,1032111389,-1101516234,1039508875,1027660911)+W(2,-1083842457,1067610414,-1101871105,-1097110538)+W(3,1001644292,-1104358647,1067552095,-1115097563)+W(4,1033006847,1041814167,-1123533577,-1101555589)+W(5,-1145661076,-1104681426,1026567371,-1096151174)+W(6,1045724867,999019252,1048796624,-1098769512)+W(7,1020958965,1028203943,-1105667947,-1107225085);WS(-1101412664,1073047832); +sum1=W(0,1059007377,1047579477,-1123950537,-1113880945)+W(1,-1133362719,-1131741454,-1097814305,-1091904865)+W(2,1060416389,1056063051,-1123565085,-1109995975)+W(3,1032803377,-1113780884,-1092124214,-1087199740)+W(4,1046383171,1040643140,1035385983,-1123728428)+W(5,-1113889390,-1126485237,1038341800,-1099567891)+W(6,1033389702,1041003725,1010675502,-1115318676)+W(7,1012558775,-1096461162,1042882861,-1119557930);sum2=W(0,1030949359,1039110679,-1123503757,1013686761)+W(1,-1132915573,996209923,1035635962,-1109223248)+W(2,-1105775253,1027204409,-1115490710,1035262859)+W(3,1029135163,1070858778,1057425426,-1106751414)+W(4,1019519396,-1111394964,980681483,1025861040)+W(5,1067133266,-1098902818,-1098000154,1043312829)+W(6,1024413043,-1126757058,-1129892230,-1125276038)+W(7,-1083268694,-1073095921,-1103421662,1051287795);WS(-1103532344,-1105840701); +sum1=W(0,-1105825052,1053932942,-1106322913,-1106756472)+W(1,1044840709,-1104890465,1007328528,1050195304)+W(2,-1086676361,-1098358914,-1096389739,1029810954)+W(3,-1144507642,-1098185309,1054492326,1057202097)+W(4,1054020609,-1096691570,1035916925,-1116067305)+W(5,1032208700,1048715303,1012599092,-1093369370)+W(6,1051257001,1026552303,1034505108,-1105566449)+W(7,-1100267787,1050640157,-1101687900,1027855335);sum2=W(0,-1101137684,-1109186725,-1119262447,-1111707317)+W(1,-1103752872,1034593530,-1107841286,-1116414033)+W(2,1049211868,-1099242284,1056036881,1037989791)+W(3,-1110917586,1049861706,-1094543747,1056722210)+W(4,1038198606,-1118866635,1006194414,-1105645897)+W(5,1030171051,-1103907620,-1104714858,1053421235)+W(6,-1109483964,-1114787638,-1129479912,-1146663095)+W(7,1032413269,1029169157,-1115357885,-1120693058);WS(1045178680,-1115117954); +sum1=W(0,1048681528,-1113607536,-1123018420,-1102680211)+W(1,1008490315,1012835273,1040296293,1019008549)+W(2,-1092105355,-1093530556,1024407336,-1116849368)+W(3,1027033246,-1128145511,1061339424,1035615004)+W(4,-1096193779,-1102060551,1026392201,-1107241006)+W(5,-1103222073,-1110547491,1055864515,1057711678)+W(6,-1102337510,-1095199752,-1123314455,-1107918421)+W(7,-1110097884,1020395952,1052562824,1045891981);sum2=W(0,-1096948503,-1104693583,-1115537892,-1108321996)+W(1,1026091852,1022753169,-1112710060,-1112108000)+W(2,1047339287,1055675007,998645667,-1106228104)+W(3,-1120501740,-1105262859,1051246853,-1126080161)+W(4,1049114511,-1100682049,1035781218,-1112292909)+W(5,-1123292948,-1139782977,1025978716,1041989299)+W(6,1032758858,-1113969306,1018530825,-1111036660)+W(7,-1111667328,1033000622,-1113712936,1034053890);WS(1044590904,1058699692); +sum1=W(0,-1092606720,-1090621088,1034192409,985175380)+W(1,1009220799,-1109361592,1050384326,1051210502)+W(2,-1093618783,-1113905855,1024014533,1020554347)+W(3,-1117059707,-1128567457,1062574818,1055009987)+W(4,-1096920415,-1112503613,-1128687821,-1115433194)+W(5,1015981863,1039114097,1031218808,1054554325)+W(6,-1100279725,-1101027255,-1115445028,1008304190)+W(7,-1127205548,1035507338,-1144235755,-1105751509);sum2=W(0,-1108619644,1041337919,-1117283755,1036009101)+W(1,-1131279719,1035041542,-1100684466,1010492213)+W(2,1012813669,1053310286,-1107239966,1033667347)+W(3,-1124020763,1025470531,1056064408,1015579759)+W(4,-1103814148,1029066827,-1128406639,1034685217)+W(5,1032198922,-1104788458,-1113069964,1050883237)+W(6,-1109499964,-1123197815,-1125402335,-1123321687)+W(7,1024066141,-1108347132,-1096911819,-1098878001);WS(1044030776,-1089132931); +sum1=W(0,-1093699058,-1097458090,1032883970,1034269487)+W(1,1040395197,-1135242887,1050995424,1045160768)+W(2,-1086092656,-1078975458,1044751430,1042439154)+W(3,1040422743,1048952172,-1096290982,1057188990)+W(4,1035194756,1038040390,1041434446,1019707982)+W(5,1042217766,1043586045,1043682915,1032938655)+W(6,-1131544335,-1101499019,-1128708109,-1133288904)+W(7,1029073256,1044718778,1043305900,1022768458);sum2=W(0,-1107262777,-1107127922,-1127265324,1043294282)+W(1,-1112978295,-1101649503,-1133435576,-1132728616)+W(2,1048700262,-1114081637,1051203976,1035036911)+W(3,-1142433873,-1138065032,1060204569,-1115280193)+W(4,1027047222,-1087538045,1037063919,-1092441683)+W(5,1049542158,1027406094,1059699424,-1096051714)+W(6,1043898666,-1114635611,-1096741875,-1095318743)+W(7,1036599707,-1117298502,1057805441,-1091030613);WS(-1083489614,-1078579141); +sum1=W(0,-1091060438,-1104759380,1048897616,-1113694287)+W(1,1022130309,1045345264,1055607032,1048678744)+W(2,-1089217572,-1096433234,1029397720,-1104500498)+W(3,-1098656951,1045280313,1056656214,1025763911)+W(4,-1090900481,-1103761763,-1099529286,1039983475)+W(5,1003335600,-1104729181,1039576037,1055730826)+W(6,-1126261903,-1098862766,-1100400745,1047818144)+W(7,1045845834,-1124798927,1044462332,1050842685);sum2=W(0,-1113896283,1008734783,1036831152,1034867092)+W(1,1053130734,1048547317,-1143881728,-1089397746)+W(2,-1107821706,1036439980,1050005016,-1155378720)+W(3,1050664536,-1081990202,1067046868,-1090933436)+W(4,-1105188391,-1103852014,-1107857756,-1109019109)+W(5,-1073616958,-1073650181,1073004488,1074023168)+W(6,-1113326142,1036502992,-1105627363,1025727369)+W(7,-1078582463,-1079035066,1068047188,1071596064);WS(-1123566816,-1118788492); +sum1=W(0,-1131696345,1054570946,-1136553988,1034266605)+W(1,1029920799,1027694719,-1101485920,-1102436480)+W(2,1043367745,1057910725,-1119057557,1032767842)+W(3,1029228634,1038070160,-1081257723,-1093672570)+W(4,1051309065,1050053561,-1138237144,1032596498)+W(5,1041012541,-1104490509,-1097237249,-1104247863)+W(6,1044754161,1047609962,1038972738,1034235800)+W(7,1036672371,-1101643609,-1118734125,-1100737384);sum2=W(0,-1108935456,1048575251,1006355343,1001205015)+W(1,-1151981614,-1123825361,1037564428,-1123729961)+W(2,-1114918170,-1088419213,-1119701641,1030505158)+W(3,1015236500,-1095410362,-1068662368,-1096130861)+W(4,1032736312,1045905661,-1107202062,1039794598)+W(5,1049774729,-1105335733,1068403675,1076967646)+W(6,-1116946341,1003805295,-1115440174,1026836118)+W(7,1050153445,-1103176791,-1124006983,-1104305708);WS(-1103567160,1051728620); +sum1=W(0,1037463598,1027268637,-1105517764,1022317012)+W(1,1033922872,1024776175,-1107670055,-1094952698)+W(2,1052072875,-1094107172,1030946149,-1109296554)+W(3,1038888053,1043766492,1052944567,-1103880757)+W(4,-1087396213,-1098739651,-1117957958,1032988986)+W(5,-1110506946,-1108829569,1052382091,1057943536)+W(6,-1104965205,1017302004,1009731405,1025729823)+W(7,-1132271979,1015545129,1041821631,1036164793);sum2=W(0,-1127050317,1026829489,-1114551402,1031290011)+W(1,-1080536402,-1076466135,1042490649,-1113481669)+W(2,1032334734,-1098446681,1025723227,-1137203270)+W(3,1038797044,1074254195,-1127701979,1043198364)+W(4,1041359246,1041376772,-1107112701,1020823723)+W(5,1035340712,-1118262367,-1100591458,1057793899)+W(6,1034398482,-1104694439,-1140368490,-1156747895)+W(7,1013380262,1032104302,1037536680,-1114292550);WS(-1106439480,1029090439); +sum1=W(0,1042655458,1030625962,-1151887836,1034559195)+W(1,1026400220,1035325646,-1115609614,-1102396839)+W(2,1059377738,-1084013087,1042053132,1020849475)+W(3,1042909598,1039293086,-1083731653,-1089162129)+W(4,-1107145304,1032281331,1043814293,1043127920)+W(5,1029716960,1024778063,-1107154457,1052971191)+W(6,1040913704,1033172451,1043715864,1037260390)+W(7,1028666946,-1130742978,1017680531,-1113717087);sum2=W(0,1021999108,-1148550480,-1123636938,-1129107524)+W(1,-1129901940,-1140398984,1016982596,1022835844)+W(2,-1104180688,1058583951,1035143287,-1116921954)+W(3,1030858450,-1117386658,1054454385,1016773924)+W(4,-1112895549,-1116180274,1026655402,1036996009)+W(5,-1108156993,-1118751234,-1099699990,-1097314323)+W(6,-1131502740,-1138164712,-1126794884,-1117010042)+W(7,1016259828,-1117013506,-1129763396,-1132536424);WS(1048151864,1059242544); +sum1=W(0,-1097114939,-1097911384,-1121466768,-1122367849)+W(1,1026875087,1014185912,1033810391,1043794348)+W(2,-1085899247,1042506911,-1116044868,1042165293)+W(3,-1106211614,-1111561384,1042284551,1063564267)+W(4,1056857214,-1105063934,1037358179,-1105437493)+W(5,1040868541,1028107682,1049648847,-1089674786)+W(6,-1123578292,-1106114902,-1111398955,-1125163356)+W(7,-1111395274,1010402126,1045389303,1021855394);sum2=W(0,-1110557326,1041627874,-1108856547,-1139648101)+W(1,1039330638,987619817,-1106727608,-1106733442)+W(2,1032833232,1054902128,-1095822659,1015236663)+W(3,1025349119,-1095503796,1055403310,1048813377)+W(4,-1098765424,-1121592121,1038373686,-1137977893)+W(5,1050144719,-1108448514,1045561320,-1097123375)+W(6,-1106594443,-1117564251,1025690243,1015865663)+W(7,1041979856,-1105901385,1017823319,-1106386080);WS(1058511566,1043187024); +sum1=W(0,1041476871,1044640335,1027981614,1042620242)+W(1,1043942651,1040914531,-1120607404,-1106861387)+W(2,1039039385,-1085132912,1050564856,1037513401)+W(3,1040902562,1048598306,-1089194338,-1101062960)+W(4,-1095196494,-1116362934,1044188393,1040390932)+W(5,1019897185,1032634704,-1134658518,1032203084)+W(6,-1107832665,-1105825814,1043046140,1032851398)+W(7,1027555603,1032742569,-1105488567,1026497359);sum2=W(0,-1083260450,-1089624726,-1132385524,-1094808435)+W(1,1026111290,1034887813,-1102801635,1041967320)+W(2,-1098133391,1063143581,1039748829,-1110994277)+W(3,-1123786474,1033106845,1037743779,1050258559)+W(4,1043371703,1040218148,1012861192,1038866141)+W(5,-1110363077,-1121754906,-1112998265,1048943341)+W(6,1012758152,1052570990,-1132742376,1030487914)+W(7,1012203560,-1111765769,-1105604919,1031702418);WS(-1087236686,1061665912); +sum1=W(0,1023071688,1030200068,-1116162424,-1115274057)+W(1,-1119301463,-1128116268,-1101866270,-1107980923)+W(2,1054050807,1067462106,-1093387666,-1104461343)+W(3,-1109238785,-1095571507,1056570668,-1092884195)+W(4,1050597447,1031104576,-1115159031,-1113556238)+W(5,-1103733247,-1111522325,-1106234576,1044256537)+W(6,-1121547516,1042315272,-1121543315,-1126942285)+W(7,-1111458030,-1109780718,-1114796114,-1128835891);sum2=W(0,1024134807,1020748524,1024854732,-1127633710)+W(1,-1109129714,1025355297,-1098546148,-1114424195)+W(2,-1117094752,1065417820,1040493279,-1123781128)+W(3,-1102118069,-1114766469,1059484680,-1079772750)+W(4,1047826025,-1102101577,1033983514,-1105896535)+W(5,1033237727,-1154145757,1049649199,-1107504040)+W(6,1040101538,-1124130304,-1120616672,-1122459292)+W(7,1012710689,-1123999628,1041220419,-1105983778);WS(-1092106140,-1084163121); +sum1=W(0,1049849489,1040213041,1016904817,1036347305)+W(1,-1106738110,-1115216475,-1152694122,-1101083230)+W(2,1056746079,1048812489,1040590819,1034414494)+W(3,1039797369,1022569263,-1107117385,-1083169173)+W(4,-1084779712,1040726752,1030378702,1047670567)+W(5,-1112982247,-1125038036,-1109066592,1051667767)+W(6,1033236350,1034988241,1037868673,-1114654031)+W(7,1025136605,-1146668256,-1107106473,1024925978);sum2=W(0,-1111008682,-1134810723,-1128843246,-1144361879)+W(1,1021883158,-1116668390,-1121102479,-1092072719)+W(2,1041181160,1054697191,-1104940693,1005924247)+W(3,-1109114373,-1113715104,1046555600,1045581242)+W(4,1052731012,1042931729,1030348431,-1123234701)+W(5,-1128555074,1032936433,-1104348933,-1103970223)+W(6,-1112071203,-1111460488,1024671661,1032437115)+W(7,-1136719027,-1114960949,-1129885552,-1113690885);WS(1058637774,-1109876822); +sum1=W(0,1042623060,-1105094644,1041301297,-1123254812)+W(1,-1112485473,1037949088,-1111052512,-1126486401)+W(2,1059472952,1043969956,-1113241451,-1108082435)+W(3,1016105496,1038892497,-1094009726,-1094910408)+W(4,-1113269955,1026816394,1027216056,-1110973875)+W(5,-1093047519,1032398170,-1100061186,1058531737)+W(6,-1130602892,1026167148,1019588394,1014894339)+W(7,-1128303438,1021704844,-1117291247,1032486130);sum2=W(0,-1103677237,1026573624,1031923668,1019183838)+W(1,-1115238116,1024201143,1025625867,1041385745)+W(2,-1101357077,1060010174,-1096362417,1049015983)+W(3,1024442030,-1122837727,-1096248497,-1095136476)+W(4,-1122620605,-1106684685,1036998273,1005830618)+W(5,1034369966,1031554545,1049273019,-1115221092)+W(6,1023743335,970656667,-1125844722,-1119396253)+W(7,1004099770,1010302645,1011280453,-1112424814);WS(1068382951,-1145853862); +sum1=W(0,-1104283584,-1104742016,-1120835030,-1109092968)+W(1,-1142984099,1035504970,1048835390,-1126224104)+W(2,-1087137628,-1082841532,1033165317,1015957108)+W(3,1044651720,1036256010,1050512116,1060142968)+W(4,1048723479,-1119342334,-1098982451,1015780402)+W(5,1040271692,-1112268532,1046183055,1050625794)+W(6,1037068029,998682871,-1105810191,-1106789039)+W(7,-1115364877,-1113754717,1042826568,1033167819);sum2=W(0,-1105845074,1032442894,-1123754179,1042289605)+W(1,1041479887,1028813354,-1106552079,-1105090355)+W(2,-1090127653,1055606718,1025996190,1040865617)+W(3,-1087510643,-1084272058,1073431719,-1075116096)+W(4,-1104101067,1026136504,-1118459936,-1100913998)+W(5,1045036562,-1131666845,1042119939,1067916428)+W(6,1031986833,1045409779,-1118182115,-1114401734)+W(7,1021173748,-1131440550,1031635830,-1112990087);WS(-1115823328,-1115141930); +sum1=W(0,-1096937968,-1093401724,1043355533,994860217)+W(1,1022968545,-1100277972,1045563268,1034643656)+W(2,-1082957735,1057829358,1031967699,1046651158)+W(3,-1106135459,-1113373017,1053028032,1056739037)+W(4,1054780763,1049387203,-1139800861,-1112906011)+W(5,1036473238,1042166401,-1100812438,-1085595451)+W(6,1029694230,1032667294,1021673189,1032268536)+W(7,-1109328859,1026417494,-1163065290,-1112691098);sum2=W(0,1006794492,1034312638,-1106230161,1041009418)+W(1,-1126244586,1021996758,-1120362931,1023178506)+W(2,-1108126219,1060460225,-1100787264,-1113994011)+W(3,-1131146954,997147503,1054015707,-1105213924)+W(4,-1119222967,-1097084093,-1114680808,-1102450993)+W(5,-1107185372,-1126416406,-1133314452,1053508358)+W(6,-1125377404,-1105852265,-1145068408,1031764893)+W(7,-1126617106,-1131039214,-1120752408,-1141774536);WS(1044911928,1063248560); +sum1=W(0,-1089987573,1006551364,1045807559,-1117210934)+W(1,-1154913199,1049427019,1049202419,1050931427)+W(2,-1085623154,-1098705597,-1122601008,-1116245664)+W(3,-1098224261,1043742399,1056494849,1044690392)+W(4,-1089608778,-1098692501,-1102494868,1041679280)+W(5,1009817082,-1102952115,1047881833,1054654497)+W(6,1040126000,-1100421777,-1101059428,1044187563)+W(7,1048685800,-1132265536,1043071666,1043119951);sum2=W(0,1031814971,-1126406622,-1104703066,-1110897864)+W(1,-1090228093,-1097166620,1034850394,1060526454)+W(2,-1112535334,-1088994686,-1102025112,1039476246)+W(3,-1091926928,1063814816,-1088701567,1060516426)+W(4,1050082866,1038057456,1044782005,1041770976)+W(5,1074296249,1073862535,-1075073775,-1072347435)+W(6,1029663347,-1098794387,1045848501,-1112640404)+W(7,1067261757,1067785227,-1081012351,-1077197270);WS(-1105546040,1026157880); +sum1=W(0,1040614249,1043435937,1036866652,1040950836)+W(1,1036650571,1032871003,1032157499,-1102499357)+W(2,1048836647,-1092874056,1057171433,1045419231)+W(3,1035867609,1040635958,-1078642173,-1088963702)+W(4,1049109967,1037560064,1040737235,1039696013)+W(5,1039966133,1035782037,999044599,-1094603626)+W(6,1039556030,1020658754,1043417390,1031337694)+W(7,1034875342,1029450491,-1101965321,-1107844556);sum2=W(0,1033414560,-1142972544,965076992,999804672)+W(1,-1111239120,-1114613368,-1152459008,-1131242272)+W(2,-1117537424,-1080122522,-1113573416,1017997216)+W(3,1024438240,1009242816,1068973644,1043660652)+W(4,-1116987776,1009041344,1013150208,1015814944)+W(5,1026341216,-1111376032,1023678672,-1113471168)+W(6,1030258512,-1123867424,-1116017408,1004325632)+W(7,-1124670336,1011147520,1025739248,-1115573696);WS(-1081027239,1060388068); +sum1=W(0,1049191505,1052335227,1018532824,1040945153)+W(1,-1142725077,-1126830164,-1106690587,-1103567931)+W(2,1053224518,-1089652372,1050078256,1048158700)+W(3,1044049241,1037048166,-1079677805,-1098210230)+W(4,1050009062,1019623144,1045983912,1043330564)+W(5,1037549983,-1124021470,-1102526621,-1090769236)+W(6,1043374892,1037373643,1042366848,1034126717)+W(7,1031972104,1000910717,-1106920486,-1113976903);sum2=W(0,-1119356133,1031916514,1023484285,1029289565)+W(1,-1119814653,-1133461586,-1111485988,-1126159585)+W(2,-1120749829,1057057740,1044843621,1041097307)+W(3,-1112201820,1001931237,1024531885,-1121314077)+W(4,1055633817,-1098024997,-1108647964,-1101664529)+W(5,1035253182,1019582313,1016983721,-1102656055)+W(6,1038083406,-1101101054,-1129898257,-1111945130)+W(7,1011319026,-1110859200,1022769465,-1105960100);WS(-1121436896,-1083449266); +sum1=W(0,1057845458,1026072602,-1126965659,-1131437006)+W(1,-1112818966,1025271436,-1106937331,-1096100393)+W(2,1058188821,1047051462,1049661628,-1106898372)+W(3,-1120770471,1039868950,-1093909527,-1089458543)+W(4,1036301673,1049513187,1048826500,-1110051320)+W(5,-1101852248,1048680544,-1097831955,-1105302990)+W(6,1026266705,1043516478,1030351624,1018834023)+W(7,-1111779257,-1137214404,-1094725407,-1115312055);sum2=W(0,-1118806788,1030590564,1016993788,1025140224)+W(1,1031495588,991152164,-1118559458,-1126785121)+W(2,1042721449,1078987048,-1085967118,-1106156741)+W(3,1038491925,1040984057,-1100137345,-1106137914)+W(4,1078555235,1069325982,-1066270592,-1070014283)+W(5,-1111978905,1030579932,-1105174392,1044823121)+W(6,1051485796,1026006822,-1115300709,-1089828448)+W(7,-1113499951,-1120641633,1011662011,-1121082393);WS(1060473294,-1125032523); +sum1=W(0,1043924207,1048790648,-1131528546,-1118381578)+W(1,-1103983036,1032416951,-1094915206,1028842287)+W(2,1057928103,-1096003632,1044891665,-1103035725)+W(3,-1131359957,1041536420,-1089668066,1048586166)+W(4,-1104437021,-1127678449,1038728371,1017562024)+W(5,-1119623443,1026802338,-1106021950,1048997587)+W(6,-1138265298,1019650740,1017619335,1013193724)+W(7,-1112764523,1028850580,-1112334062,1016196772);sum2=W(0,1023871771,-1104183315,-1154979909,-1124013145)+W(1,1027246941,-1105906795,-1104961174,1041717973)+W(2,1024353365,-1099433949,1042673063,-1113455493)+W(3,-1114760758,1048045634,1075222357,-1071159846)+W(4,1037029004,-1106752952,-1131887235,1009341589)+W(5,-1101645527,1027783079,-1106459992,1061754151)+W(6,-1136822537,-1135604889,-1120394460,-1126494367)+W(7,-1130069351,1023779471,1020599743,1037905746);WS(1063175758,1049951270); +sum1=W(0,-1084051495,-1091045702,1041620825,1051934199)+W(1,1028219745,1028165760,1046456792,1040719576)+W(2,-1089200998,-1103613676,1019501037,1053157077)+W(3,-1110307566,1037889601,1050464826,1054477181)+W(4,-1103906809,1042850683,1024394007,-1121035141)+W(5,1045652053,1054554722,-1097805325,-1098419444)+W(6,-1117239270,-1106705027,999909159,1034798936)+W(7,1031152711,1056053333,-1091232034,1011564046);sum2=W(0,1062079447,-1095572989,1042259987,-1091471926)+W(1,1015596856,1033532620,1041645665,1055700238)+W(2,-1089203271,-1092861102,1049412228,-1103057728)+W(3,1035045090,1042934527,-1093629070,1037140407)+W(4,1034556296,1047552828,-1116401558,1044973062)+W(5,1032040702,-1106239816,-1106623325,-1095940003)+W(6,-1110031497,1051271629,-1130123924,1011000463)+W(7,1033073048,-1095799213,1053844390,-1107294450);WS(-1085388366,-1090694979); +sum1=W(0,1044273497,-1130943626,-1119481145,-1123787314)+W(1,-1115475932,-1117135031,1041576542,-1108110651)+W(2,1047368143,1059845268,-1112850502,1032777214)+W(3,1040347561,-1101064470,1027588771,-1087220302)+W(4,-1095680144,1039407200,-1125429276,1041751591)+W(5,1037523789,-1126225621,-1111657568,1036323946)+W(6,990533574,1032644049,-1113892940,-1140788444)+W(7,-1134357621,-1109271006,-1143449895,1021334836);sum2=W(0,1037736456,-1105376838,1013881877,-1107190004)+W(1,-1120404934,-1122228614,1040619572,-1125693587)+W(2,-1123416196,1042717593,-1121103222,-1118295314)+W(3,1051908042,-1087341114,1068021664,-1082924015)+W(4,-1115549939,1043660085,-1115317828,-1127822751)+W(5,1042189807,-1125959243,-1108863865,1016978358)+W(6,-1126402007,1040920849,-1114801766,-1126179247)+W(7,1038966556,1023515477,-1107267301,-1136349779);WS(1065904679,-1122628785); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, -1), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 1), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -1), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 1), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -1), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 1), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, -1), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, 1), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns128, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns128, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1134422686,-1108550970,-1104338237,-1106336704)+W(1,-1096794255,1068454954,1036063029,-1097058997)+W(2,-1108910446,-1102009308,1045547931,-1096428577)+W(3,-1101174078,1017740065,-1122481515,-1110459731)+W(4,-1135080854,-1117701445,-1112016931,1041734649)+W(5,1068510503,-1092648385,-1099451832,1053379177)+W(6,-1146436468,-1118387353,-1101312270,-1114733521)+W(7,-1113618698,-1107281979,-1118789516,-1107441476);sum2=W(0,1022891960,1003346080,1034572820,-1107960738)+W(1,-1099542471,1067566060,-1096749055,-1112828174)+W(2,-1124169384,1028295012,-1090311143,1028527356)+W(3,1019646072,-1102277943,-1101382023,1003609248)+W(4,-1103397515,1035529310,-1147785184,-1105088633)+W(5,-1127174872,1034766166,-1105585021,1056062200)+W(6,-1106700271,-1116900804,-1117109292,1048792675)+W(7,1037356874,-1114899026,-1121486356,1033154740);WS(-1075683047,-1087125913); +sum1=W(0,1034752002,1046022844,1052977914,1042687663)+W(1,1043598702,1049374510,1051043629,1020877136)+W(2,1049059763,-1108783446,1044576234,1032834596)+W(3,1050972591,-1089957133,-1105784362,1041786741)+W(4,-1097639380,1034807969,1041384601,-1087267578)+W(5,-1095656786,1044538321,1037740431,-1087388173)+W(6,-1101488315,1043415765,-1113942663,-1108370107)+W(7,-1108747496,1034104676,1011031587,-1111228387);sum2=W(0,-1149557934,-1120018795,-1112916736,-1129327146)+W(1,-1116270499,1056936993,-1105442406,1027469999)+W(2,-1114668504,1029410453,1036431709,-1107094547)+W(3,-1115408970,-1112281372,-1126491682,-1136313139)+W(4,1012425107,-1122303521,-1168639863,-1109246006)+W(5,1054092693,-1109477794,-1114911422,1044505132)+W(6,-1102188513,1038663029,-1122292075,1015080154)+W(7,-1115235380,1004657207,-1124857486,-1123974759);WS(1042212664,-1102203684); +sum1=W(0,1019874102,-1104962202,1040147851,-1140902818)+W(1,1041713132,-1085739950,-1102798136,-1138465404)+W(2,1032244040,-1096835716,-1090423514,1031911135)+W(3,1032066151,-1100137137,1015091005,-1122713961)+W(4,1045102086,1033944684,-1111794429,1035472140)+W(5,1052255697,1042129278,-1122108180,1044852023)+W(6,-1114874577,1045351411,1026181805,1050093153)+W(7,1025859399,1037723887,1045226448,-1125530488);sum2=W(0,-1119436548,-1122141349,-1109152196,1025219442)+W(1,1026037858,-1095545125,1032935700,1041363772)+W(2,-1148187164,1048235476,1029288712,-1106963956)+W(3,1027834104,-1124373883,1017807431,-1115265228)+W(4,1040314652,-1112897189,-1136900198,1026944460)+W(5,-1132954458,1046665648,-1144192892,-1124096755)+W(6,1044093468,-1091150222,-1112667488,1063106013)+W(7,-1115291573,-1099776205,-1098670428,-1119277141);WS(-1106435384,1038338229); +sum1=W(0,1019822615,1048464174,1057302312,1040095954)+W(1,1041126536,1046177110,1048602738,1037825128)+W(2,1046281616,1010729037,-1113571175,1042659628)+W(3,1052688116,-1090676327,-1116720143,1025627498)+W(4,-1109673285,1008999077,1038469973,-1085504617)+W(5,-1089584127,1042217259,1047759857,-1088007186)+W(6,-1099904421,1042535855,-1122205838,-1112427435)+W(7,-1109333660,1034203799,1020820192,985851280);sum2=W(0,1025056091,1059357388,1059204215,1016257202)+W(1,-1117490597,-1080318626,-1096239491,-1123344133)+W(2,-1121712633,-1121076469,-1097775023,-1139226916)+W(3,1018740994,1042934709,-1108589001,1032149092)+W(4,1057901024,-1115583727,1045786159,1078138204)+W(5,-1073900782,1043123901,1040463834,-1075026282)+W(6,1040778731,-1105966927,1021989454,1041808545)+W(7,1013253724,-1147555881,1015040126,1040543247);WS(-1079558823,-1098708322); +sum1=W(0,1025234303,-1098872409,-1102044491,-1107155318)+W(1,1036194249,-1086405173,-1087610848,1015859078)+W(2,-1106597869,-1113006787,1049149960,-1109510417)+W(3,-1107821257,-1109243348,1034815041,-1106784003)+W(4,1050456336,1032647774,1018716763,-1157836704)+W(5,1051086989,1041211303,1043448582,1055919296)+W(6,1047976577,-1113988824,1032229161,1049231261)+W(7,1045770027,-1115826050,-1114873522,1037659280);sum2=W(0,1012713185,-1114116718,1038073794,-1115121954)+W(1,979525395,-1089285214,1048906430,-1120959275)+W(2,1023425822,960279117,1044939824,1031308048)+W(3,1015643115,-1116674868,-1114246838,1008898041)+W(4,1041575276,-1124395325,-1116577465,-1128914993)+W(5,-1076455267,1060162115,1055266270,1074552079)+W(6,-1109266711,1021768571,-1098098687,-1081125046)+W(7,-1116558128,1013382601,-1124862202,1028966618);WS(1045132600,-1120782135); +sum1=W(0,-1105178898,1048859946,1057393815,-1105751784)+W(1,-1114219853,1046945589,1059464001,-1104184899)+W(2,1038688878,-1101266388,-1115358437,-1110381909)+W(3,1028338913,1001553277,1006928425,-1129240105)+W(4,-1097544977,1030868229,-1117651397,-1105555137)+W(5,-1096850414,-1114482291,-1113548192,-1093321826)+W(6,1054674458,-1101910270,-1100710867,1045680426)+W(7,1051440502,-1106616547,-1109195062,1040711722);sum2=W(0,-1109811903,1031690548,1041015042,1017265392)+W(1,-1113627340,1061785433,1041543835,1023756444)+W(2,-1145950526,1033767962,-1112539854,1014378799)+W(3,1013677319,-1098545742,-1111764061,-1129429444)+W(4,-1110095441,-1118750728,1015388608,-1100279165)+W(5,1052269299,-1143924414,1018680528,-1121800962)+W(6,-1103181542,1020584168,-1099334823,1027655784)+W(7,-1106577514,1036964648,-1108053853,-1110834939);WS(1052573852,-1122511817); +sum1=W(0,1036520122,-1104137920,-1107197216,-1122539822)+W(1,-1131456914,-1089160552,-1095755763,-1150669710)+W(2,1032118773,-1090056564,-1090293588,1027717464)+W(3,1030809195,-1086001910,-1092174087,1021054902)+W(4,1038549849,1023654291,1051517474,-1123108403)+W(5,1050538028,1041388597,1039184399,1032946604)+W(6,1057974832,1033029075,-1168884669,1052989852)+W(7,1057808582,1041880934,1028526105,1053464075);sum2=W(0,1038192816,-1090848333,-1108201039,-1085894681)+W(1,-1102898046,1071505414,1052221636,-1098445483)+W(2,1050638036,-1086351349,-1098981857,1008806191)+W(3,1057325981,-1088620184,-1096799400,-1102617523)+W(4,-1093216289,-1102549623,-1081052443,1070882268)+W(5,1073865984,-1090403840,-1087793608,1067999858)+W(6,-1083525828,1055133376,-1095780376,1058878464)+W(7,-1083206959,1053790412,-1096503933,-1107159037);WS(-1073219892,-1080326418); +sum1=W(0,-1142635506,-1103425331,-1101602915,-1114077580)+W(1,-1123237842,-1092662145,-1090278522,-1142955026)+W(2,-1103324917,-1114692451,-1091646784,1038107057)+W(3,-1095875035,1038718196,-1101848592,1026598572)+W(4,1053716920,-1114784094,-1151047116,1057495924)+W(5,1051447237,-1121668701,-1111276924,1055741332)+W(6,1049044089,-1109204280,1000704387,1052494629)+W(7,1047828379,-1156952092,1010568075,1043005848);sum2=W(0,-1116542136,1050195534,-1095443331,-1121663397)+W(1,1037730633,-1100504352,-1123573301,1042431779)+W(2,-1137348615,-1102861372,1043186658,1010053773)+W(3,-1119025600,1040229501,-1110454800,1028087910)+W(4,-1071776975,974104521,1005231721,-1067370736)+W(5,1077012119,1047585075,-1111985184,1068672794)+W(6,1045361006,-1109020232,1016528922,1070664889)+W(7,1027642294,-1117277443,1037668055,-1123945395);WS(-1130027456,1047744266); +sum1=W(0,-1100312969,1043447132,-1103440100,1030328637)+W(1,1044449278,-1093151398,-1096543805,1036569044)+W(2,1046212150,-1115860524,1024264999,-1106699970)+W(3,-1124975021,1032410566,1041344218,-1104762293)+W(4,1038395889,-1105733872,-1130350917,1050534604)+W(5,-1106526388,1022399622,1043114871,1037345619)+W(6,1035372917,1024836117,1020228332,-1115006287)+W(7,1044066628,-1112803412,-1123108872,980910400);sum2=W(0,-1098453144,1041649400,1033391383,1029880722)+W(1,1067660000,-1082091368,-1095624145,1029103498)+W(2,1046293202,1027973488,1056223691,-1094604015)+W(3,-1117927817,1034286113,1034193475,-1104816365)+W(4,-1137377888,1025620716,-1114516031,-1137819024)+W(5,-1080643124,1066795978,1035240799,1040796761)+W(6,-1121978412,1036814117,-1098376459,-1102259819)+W(7,1041009105,-1114981924,-1107858514,-1148596400);WS(1049012636,1037011386); +sum1=W(0,1042768739,-1089977373,-1097922903,-1108102978)+W(1,-1105146600,1050515995,-1083790961,1036457352)+W(2,-1100160944,1044221701,1053649082,-1100621772)+W(3,-1116535239,-1110188826,1020595485,-1149100234)+W(4,1052134241,-1106782690,1041216474,1049818257)+W(5,1062551839,975424142,-1120768141,1059747641)+W(6,-1093385002,1047421135,1042971413,-1088576433)+W(7,-1147628986,1034144007,-1142399358,-1108848982);sum2=W(0,-1109307779,1040605589,-1109271051,-1130376652)+W(1,-1105231849,1068278024,-1117670218,998991648)+W(2,-1110904873,1035466738,-1099193318,-1124853008)+W(3,1012787248,1025845624,-1111928806,1033926100)+W(4,-1097221185,-1097745138,1029552052,-1098570547)+W(5,1068017963,-1100990121,-1101762859,-1087670872)+W(6,1049832589,-1119653306,-1094879980,-1103240593)+W(7,1035573068,1046656503,-1099498770,1018913792);WS(-1099128120,1074104605); +sum1=W(0,-1114738061,1036082771,1031876531,1001695642)+W(1,1035838167,1045634202,1049670772,-1137881464)+W(2,1043227732,1044499416,1039176783,1036976671)+W(3,1041576607,1036111714,-1115296143,1024532056)+W(4,-1127447088,1037331996,1039516460,-1106225286)+W(5,-1084335000,1024672505,1048871226,-1114090766)+W(6,-1106295064,1040216275,-1111706306,-1092101927)+W(7,-1103209586,-1129216251,1018355325,-1108352670);sum2=W(0,1026289226,1048908439,1057121124,-1125983803)+W(1,1036989304,-1101738899,1042597022,1003361806)+W(2,-1127516251,-1114490175,-1101518001,-1121376018)+W(3,1020382491,-1111061815,1032222895,999276462)+W(4,-1081617292,-1105528539,-1097055530,-1097673861)+W(5,1066557847,1060807350,-1094090339,-1083990029)+W(6,1021212715,1007168711,1045798092,1050089807)+W(7,1048167829,1024157832,1021142275,-1107462587);WS(1043392312,-1114334171); +sum1=W(0,1027676176,1051603231,1046571639,1041086874)+W(1,1038182418,1063881062,-1114765098,1029494548)+W(2,1014428948,1039261900,1036439434,1033375641)+W(3,1036956537,1039119196,1049353410,1016176348)+W(4,-1100311555,1031499310,-1108043111,-1101297859)+W(5,-1092551191,1047470620,-1123479337,-1090719068)+W(6,-1095549099,-1113522785,1029157954,-1093343060)+W(7,-1097401399,-1108903402,1032866554,-1102133676);sum2=W(0,1034144522,1041464609,-1110774431,1032922039)+W(1,-1106146153,1063858171,-1089347840,1035186417)+W(2,1014708981,-1105498679,-1103182741,995983013)+W(3,-1122673776,-1107403517,1046443094,-1118508182)+W(4,1024001520,1038622987,-1111786600,1024080221)+W(5,1062496232,-1094555153,-1098326560,-1102975683)+W(6,1034761930,-1107944280,-1110476474,-1104694448)+W(7,-1126790312,-1119406695,1045574278,-1113235807);WS(1055141020,1060902337); +sum1=W(0,-1133288704,1052483105,1057965143,1034435725)+W(1,1033934442,-1122504460,1052696320,1026181508)+W(2,-1118188821,1049027177,1052884304,1030709219)+W(3,1035419593,1045790650,1046782257,1027652318)+W(4,-1121795134,1006999415,-1104499136,-1123568702)+W(5,-1084201687,1029709087,-1153162900,-1094115828)+W(6,-1096042081,-1155692311,1036285529,-1093347107)+W(7,-1101051195,-1111952258,1013713298,-1098441692);sum2=W(0,1017945729,-1075189642,-1070666261,1043194323)+W(1,-1117717167,1076566585,1068575013,992756489)+W(2,-1108161809,-1098049115,1056539999,1023440269)+W(3,-1115924363,-1112346970,1036076910,1034607052)+W(4,-1106608294,1010301074,-1101126135,-1098866335)+W(5,1049134123,1046700061,-1107911121,1051129947)+W(6,-1097073139,1026363561,1020103457,1047751107)+W(7,1016205049,-1137869730,1035420194,1011007330);WS(-1090579868,1070279725); +sum1=W(0,-1102328821,1050349544,1048430680,1032329895)+W(1,-1098061089,1057014372,1052980239,-1113203900)+W(2,1034205973,1038273502,1057962188,-1105344998)+W(3,1041435478,1049777060,1046276062,-1106552005)+W(4,-1091335294,1012204235,-1129281319,-1101560157)+W(5,-1084573078,-1115372202,1033674783,1039656780)+W(6,1043587871,-1111454739,-1108117804,-1103450436)+W(7,1002064136,-1109943484,-1115265901,-1098888483);sum2=W(0,1036995374,-1102736131,1027892228,987673807)+W(1,-1094252408,1059241808,1034852634,-1095509641)+W(2,-1103179232,1043446486,-1103859919,-1119095571)+W(3,-1114181285,1004807604,-1109795439,1040985329)+W(4,1049007178,1028221332,1005138532,-1103141235)+W(5,1060311666,-1128511149,-1123669832,-1090760003)+W(6,-1100012675,1006285508,1032914452,-1129798465)+W(7,-1113144024,987177167,-1122773902,1051746582);WS(1058381774,-1086956646); +sum1=W(0,-1149835360,-1100460324,-1096145742,1005434106)+W(1,1036055789,1033532617,-1096424577,1034370117)+W(2,-1173712576,1042033667,1049990129,1007595428)+W(3,-1119060568,1021597150,-1147483724,-1122685332)+W(4,1039571170,-1120107684,1026532260,1046241393)+W(5,-1110152984,-1123297125,-1107524072,1054608457)+W(6,-1103984787,1041584782,1032832748,-1100950084)+W(7,1016207588,1023439817,-1111048693,-1122634471);sum2=W(0,1069067455,1035642194,1049113865,1073050559)+W(1,-1073893027,-1114871718,-1105600932,-1096535796)+W(2,1038335059,1034875990,-1104998692,-1077684470)+W(3,-1109196141,1019116562,1004288083,994568047)+W(4,-1101089925,1035361564,-1123382260,1048373410)+W(5,-1113393188,1000972215,-1105239942,1050248373)+W(6,1032989733,987872957,-1112223483,1015693919)+W(7,1041247426,1019016937,1016564448,1024635942);WS(1051792028,1027146209); +sum1=W(0,1031492470,-1099279313,-1096555104,-1173418992)+W(1,-1111745573,-1086728512,-1102472206,1030866682)+W(2,1032231158,-1099704976,-1098029143,1037975597)+W(3,1029296729,-1088435526,-1107704157,1021051177)+W(4,1043543405,1032372106,1037767898,1048715847)+W(5,1048944276,1030986133,1031937048,1045948678)+W(6,1041023999,1038793940,1035090980,1053562136)+W(7,1046674105,1043937550,1031982829,1031959404);sum2=W(0,1067013205,-1080654015,-1071495861,1076285256)+W(1,-1103468782,1053690657,-1092768710,1054912747)+W(2,-1086354611,1059230433,1062196550,-1082179927)+W(3,-1077304359,1069826015,1065208788,-1086555076)+W(4,1044446905,-1130255717,1024798548,-1089164092)+W(5,1049463752,-1129289568,-1111620633,-1089831336)+W(6,1055604285,-1147177200,1022374674,-1116071286)+W(7,1049830695,990531682,1008723412,-1102169042);WS(-1116843232,1041538044); +sum1=W(0,1041393778,1048646402,1050813118,1038718416)+W(1,1040958951,1037057641,1043671731,1023355030)+W(2,-1112360254,1052799074,1050123337,1040537034)+W(3,1047211822,1042212684,1037436293,1043346413)+W(4,-1107072481,1032833522,-1107356403,-1091780513)+W(5,-1088265503,-1185162751,-1126022145,-1097953353)+W(6,-1091053114,-1123581176,1038008293,-1105750724)+W(7,-1091261766,-1116284746,1033129910,-1121572392);sum2=W(0,1025248710,-1124324076,-1090048491,-1127892588)+W(1,-1114879615,1047668544,-1092974499,-1127740272)+W(2,-1135605467,1052455522,1042122418,-1125515678)+W(3,-1118452308,1052515578,-1102075660,1015277154)+W(4,-1080184847,1067215194,1071993665,-1076486023)+W(5,1048567939,1014309155,1068762214,-1080442855)+W(6,1068938556,-1077318729,-1079656754,1066323214)+W(7,1058048535,-1086246531,-1083078137,1066205534);WS(1045082936,1047750074); +sum1=W(0,-1105827232,1036533543,1038967959,1017867382)+W(1,-1098507795,1057427781,1048524561,-1139557912)+W(2,-1113781499,1044700722,1057555836,-1112138258)+W(3,1024003356,1046059755,1037485187,-1117154624)+W(4,-1101431328,1000061951,-1117189504,-1107005280)+W(5,-1099209723,-1102176472,1034808454,1044741561)+W(6,-1117912777,-1102956733,-1102736460,-1103886606)+W(7,1024367918,-1108156515,-1113728179,-1108908881);sum2=W(0,971431442,-1109323954,1024857236,1003184961)+W(1,-1133283297,-1105665514,1026446282,-1131894760)+W(2,1031831407,1024492508,-1116186208,984723076)+W(3,1031681833,-1148808497,-1121629964,-1125590160)+W(4,1030818718,-1121823736,1037587704,-1114215978)+W(5,1056963612,-1107079097,1045339410,1031262679)+W(6,975724297,-1102678968,-1090072253,1055283667)+W(7,1026784592,-1123463096,-1103014356,-1116339968);WS(1059869006,1015916977); +sum1=W(0,1039164638,-1102716146,-1103727218,-1111801867)+W(1,-1118862224,-1092420393,-1089648586,1023424768)+W(2,-1099094340,1052180160,1049092536,-1114194639)+W(3,-1096321008,1046058153,1032231232,-1118811114)+W(4,1051739903,-1106752078,-1115491581,1051877295)+W(5,1055627629,-1112797325,-1104830517,1057614174)+W(6,1008315659,1030088557,1038662167,-1096079006)+W(7,1039975892,-1175801754,-1131680577,-1121275805);sum2=W(0,-1104433368,-1091764889,-1090644207,-1113427160)+W(1,-1117600576,1065407690,-1109333336,-1104169884)+W(2,1039627671,-1109931470,-1098732665,-1102319880)+W(3,1047721667,1041133481,1043714297,-1097619580)+W(4,-1120815960,-1135559136,1038986783,1034414883)+W(5,1059846520,-1120264784,1033390214,995253792)+W(6,1008884504,1019376128,-1104270640,1048874179)+W(7,-1103318888,-1142244432,-1111461786,1021072320);WS(1054131356,-1077482588); +sum1=W(0,989703980,-1100083265,-1101215881,-1100136045)+W(1,-1117800461,-1088812180,-1091699940,-1114161471)+W(2,-1112319975,1033042241,-1095974704,1013262449)+W(3,-1103330903,-1102789769,-1095224480,1027862775)+W(4,1039854844,-1120855287,1047064142,1045307006)+W(5,1056393300,-1122501592,1042850313,1051542530)+W(6,1059113280,-1111473941,-1118254671,1053327664)+W(7,1055440053,-1109190398,-1119385054,1049428707);sum2=W(0,1055692800,1024719031,1063396296,-1098032416)+W(1,-1100435053,1073645059,1065491656,-1101668743)+W(2,-1094416925,-1074198531,1060161647,-1089098280)+W(3,-1104551065,-1083400329,-1081296593,-1099202751)+W(4,1032661901,1049215120,-1093635160,1043414797)+W(5,1063424749,1050905898,-1090478816,1058961916)+W(6,-1098776178,1042380471,-1135528507,-1096580753)+W(7,-1092624053,1054277265,1032695397,-1115458644);WS(-1082679118,-1072338335); +sum1=W(0,998650886,-1099976035,-1092407662,-1126832308)+W(1,1045660229,1049242330,-1098757312,1029713605)+W(2,1001090478,1049104969,1052609817,-1125245511)+W(3,-1128346278,-1170516592,958956607,-1126242526)+W(4,1035459839,-1118647007,1032452512,1041636256)+W(5,-1097348797,1019901759,-1113994637,1053507448)+W(6,-1099322690,1041545965,1026546307,-1097111418)+W(7,1009511091,1027607012,-1113342195,-1116731426);sum2=W(0,-1073602631,1043301860,-1099529380,-1069228184)+W(1,1076866983,1044685536,1054858487,1021776922)+W(2,-1101499289,-1097491140,1062109344,1069809281)+W(3,1036050969,-1113127688,-1149319294,1013617559)+W(4,1041147606,-1112019052,-1144476451,-1112044089)+W(5,-1106846135,1018899191,1036271953,-1119872164)+W(6,1035368326,-1126672913,-1114284680,1042271976)+W(7,-1115137330,-1146921887,-1112053703,1025827813);WS(-1125906880,1029353026); +sum1=W(0,1040928385,-1087911853,-1082830235,1052620124)+W(1,1034478636,-1115166792,-1088553290,1053619569)+W(2,1027228408,1046902211,-1104403058,-1149501032)+W(3,-1143379631,-1115398454,-1140598044,1033816441)+W(4,1048894344,1031982257,1033131793,1044570800)+W(5,1052323270,1037418321,-1118254573,1054767249)+W(6,-1092690897,1053685367,1045103465,-1096342700)+W(7,-1089842615,1056771243,1032758420,-1112660402);sum2=W(0,-1105901664,1032004261,-1123374674,1052242091)+W(1,-1098081544,1055897675,1057464262,1041713460)+W(2,-1140318759,-1099401944,-1108453649,-1101414896)+W(3,-1108472633,-1092934450,1039811869,-1123485994)+W(4,-1109896025,-1117902306,-1109756837,-1088438592)+W(5,1057898227,-1101499608,-1106560728,-1106721416)+W(6,1041656473,1042131382,-1114554169,1044097375)+W(7,1033994653,1048148308,-1104786072,1042751001);WS(-1080878567,1068324028); +sum1=W(0,1019310859,-1103458412,-1095139206,-1115471279)+W(1,-1115193805,-1094785898,-1090917913,-1121098697)+W(2,-1104713039,-1118370765,-1100131090,-1153442440)+W(3,-1094675607,1044057356,-1102569730,1023975060)+W(4,1049561152,-1118469827,1032811018,1057833304)+W(5,1054221326,-1109399058,-1107876783,1058273109)+W(6,1048985266,-1109945243,-1121957752,1050583410)+W(7,1045920684,-1144681671,-1125987028,1041261354);sum2=W(0,1032420914,-1132353885,1052263517,-1122597644)+W(1,1029919127,-1086124512,-1113437764,-1109997244)+W(2,1025876905,-1137529969,-1134522929,-1129031901)+W(3,1025649559,-1111439550,1041285329,-1121404056)+W(4,1077171750,1017945885,1037076324,1084267296)+W(5,-1066836895,-1105598049,1045994672,-1076080701)+W(6,-1128728545,1027437378,-1115453382,-1073829589)+W(7,-1109934248,1032857588,-1112127416,-1128683125);WS(-1106960696,-1099012034); +sum1=W(0,-1119077260,-1099370430,-1099071342,-1114528403)+W(1,-1119877760,-1086538844,-1089278443,-1143558020)+W(2,-1096650748,1041376829,1010994112,-1109244232)+W(3,-1100402892,1049345155,1042854492,-1112604445)+W(4,1049964157,-1115766890,-1109121109,1055554285)+W(5,1056629915,-1120868875,-1114965299,1061104081)+W(6,1042073805,-1114495407,1034547527,1049997315)+W(7,-1123516568,-1118254096,-1139584324,1031563405);sum2=W(0,1028908115,-1136470458,1027806287,-1116593925)+W(1,1037914955,-1122048333,1039840949,999050165)+W(2,-1105957739,-1105275062,1057135276,-1106109711)+W(3,-1113783754,-1105721601,-1096566133,-1123834115)+W(4,1006654490,-1116529299,1024756439,1032648371)+W(5,1057985079,-1128153177,-1107372324,1052059722)+W(6,-1131926605,-1123338691,-1142966917,-1090440242)+W(7,-1124260101,1018182189,1013415162,1018741845);WS(-1103089976,1059868827); +sum1=W(0,1033737723,-1096562704,-1091300264,1026631887)+W(1,-1130496915,-1094386976,-1087537316,1034000797)+W(2,-1105866475,1045093007,1044429902,-1106694966)+W(3,-1098705919,1044615672,1040636078,-1106727101)+W(4,1050565142,-1140469197,1031003956,1056895190)+W(5,1053939124,1032926090,-1108911023,1059766350)+W(6,-1109922270,1034482579,-1120892680,-1108577640)+W(7,-1100982776,1045052014,-1136817768,-1122075862);sum2=W(0,1038307608,-1101986459,1044376552,-1114832682)+W(1,1031259614,-1112738770,1025272345,-1109268272)+W(2,-1118450441,1042085570,1014008179,-1136199018)+W(3,-1125957173,1027010884,-1110075404,1025376385)+W(4,-1094811671,-1076225566,-1084839384,1052671036)+W(5,1052706603,-1088390497,-1074779618,-1106762472)+W(6,-1100877636,1071357616,1066038403,1040752903)+W(7,1036345951,1050587817,1068318141,1051973899);WS(-1089897038,998399462); +sum1=W(0,-1099771006,-1109889234,-1114312802,-1100326508)+W(1,1030998252,-1098209637,-1092992143,-1103969415)+W(2,-1129527451,-1096464604,-1116385180,-1111096702)+W(3,-1124899748,-1109224641,-1111889198,-1115021151)+W(4,1047140918,-1114407115,-1141222070,1049930251)+W(5,1062808044,1017922927,-1106384368,1060325312)+W(6,1048691588,-1125954964,1023432554,-1128865717)+W(7,1043572929,1020452535,-1121716413,-1137813989);sum2=W(0,-1089233591,1032844980,-1113696880,-1094975511)+W(1,1033778332,1037917830,1066397244,-1089977002)+W(2,-1137053176,1032622380,1039504138,1006981461)+W(3,979684320,-1119563165,1021506052,-1125132764)+W(4,1036803698,-1117299445,1029862812,1023473326)+W(5,-1104280508,1031377784,1025970568,-1129026618)+W(6,-1121975322,1022461928,-1122944997,1024702770)+W(7,-1138205260,1024270227,-1130740686,974010432);WS(-1096120220,-1099720911); +sum1=W(0,1027883172,1050583742,-1105594052,1052677544)+W(1,1036941212,1050761182,1030711656,1046184634)+W(2,1039372749,1051859318,1044997418,1037786724)+W(3,1040590154,1052858474,1041579690,992842790)+W(4,-1120505890,1026529890,990296621,-1101878153)+W(5,-1087347673,1031039363,1039246623,-1094174707)+W(6,-1092171165,1036921611,1038193547,-1091299260)+W(7,-1087724293,1007468831,-1115076484,-1105854769);sum2=W(0,-1131846701,-1095435966,1023777345,1040381409)+W(1,1015259161,-1085163747,-1111411494,1030695069)+W(2,-1164136976,1052695808,-1100600319,1026868853)+W(3,-1109936403,1051545155,1041440525,-1121164685)+W(4,-1146822820,-1096899181,1022623295,-1110031849)+W(5,-1074171332,-1107180310,1049343346,-1089001391)+W(6,1048168469,1020495459,1043071461,-1078760233)+W(7,1072577306,1050115198,1017314953,1074132102);WS(-1080112807,-1111145054); +sum1=W(0,-1106341774,1049617192,1049824404,-1103297132)+W(1,1024154699,1031972225,1059552348,-1098278655)+W(2,1034961350,-1097823136,-1085661228,1037514093)+W(3,-1109009483,-1119831648,-1114326813,-1125780682)+W(4,-1122989109,1042898005,1026400021,-1133975251)+W(5,-1137351813,-1145221295,1041608840,-1086286580)+W(6,992708574,1041904442,-1102084285,1056970252)+W(7,1040424089,1042525799,1038246926,1021582000);sum2=W(0,-1109734283,-1100922013,989910477,1041258750)+W(1,-1113561957,1051742866,-1096844113,-1123542769)+W(2,1026811493,-1105813951,-1100235579,-1110564237)+W(3,1024057869,-1136706867,-1151284621,-1130694514)+W(4,1016064722,1041809078,-1109794979,-1134607603)+W(5,1057819912,982123162,-1126381362,1041392492)+W(6,-1113868277,1026735929,-1119465765,1047439582)+W(7,-1114600003,-1114678252,1019553626,-1118083589);WS(1043409720,-1105036943); +sum1=W(0,1033970558,-1095924673,-1096303173,1040191749)+W(1,1046767380,-1092831585,-1093807736,1042494496)+W(2,1032778168,-1126846855,-1096756208,972615552)+W(3,1032356247,-1098580285,-1115229280,1032217109)+W(4,1041748910,1041917006,1041655059,-1115184605)+W(5,1042876074,1039311757,-1160531625,1044442592)+W(6,1018241414,1043700571,1020654492,-1140612185)+W(7,1034858676,1036396440,1034107952,1027878365);sum2=W(0,1010119787,1043340308,-1139047739,1027808259)+W(1,-1113418759,-1096910874,-1106790738,-1111510504)+W(2,-1121052855,-1115460243,1040059331,1032132185)+W(3,1010692603,-1120741339,1017581734,1014515195)+W(4,1026247831,-1093511024,-1095774205,986751832)+W(5,1040723354,1053173071,-1089533357,1065364148)+W(6,-1113647147,1027584935,-1106558855,1038861011)+W(7,-1135975307,1014681515,-1121443175,1041604470);WS(1035857520,1029952289); +sum1=W(0,-1105351783,1029971495,1037051011,-1143077795)+W(1,-1106526780,1035603988,1049064844,-1113811952)+W(2,999420801,-1098557596,-1083894414,1035289215)+W(3,-1113970285,-1130790920,-1111645039,-1129002434)+W(4,-1106469910,1043652126,-1121149466,-1110400621)+W(5,1058276716,1035104701,1027875988,-1094483622)+W(6,1050633420,-1123554317,-1114346217,1056346487)+W(7,1026109447,1025377311,-1130799743,1042325343);sum2=W(0,-1101077931,1046485772,1026484093,-1118517607)+W(1,-1087996420,1071267691,-1098019518,1029148161)+W(2,-1108756119,1032470282,-1082674625,1047526016)+W(3,1024464693,-1113199029,-1106613565,1038718292)+W(4,1030900361,-1114630284,1008581907,1039465846)+W(5,1064954318,-1097625455,-1106945018,1048118782)+W(6,-1118487613,1024110641,-1156379726,-1084489705)+W(7,-1120012731,1036291722,1020048570,-1112021711);WS(1058189134,1034857672); +sum1=W(0,-1105475825,1044072484,1031241360,-1171748679)+W(1,-1108837708,1051374554,1057114388,-1097172873)+W(2,-1131134898,-1099379283,-1083662360,1038034707)+W(3,-1119273967,1018101850,-1121036423,-1113151849)+W(4,-1094075536,1045893176,987174985,-1100969760)+W(5,1060030327,1031954257,1042860595,-1082247827)+W(6,1046921459,-1137288661,-1120638978,1058651386)+W(7,1036514264,1029972391,1037681908,1041721673);sum2=W(0,1036204547,-1114489126,1020569783,1003810984)+W(1,1041029203,1052640914,-1121260135,-1101998989)+W(2,1044393168,-1098121773,1059150102,-1098215637)+W(3,1027560485,-1110248773,1037147118,-1110527635)+W(4,-1099380876,-1104004872,1043745048,-1128982694)+W(5,1059611184,-1121067579,-1104165612,-1101918458)+W(6,-1094102036,1032515174,-1100369008,1040381797)+W(7,-1113935142,1000033398,-1114899975,1028175839);WS(-1107450480,1040804833); +sum1=W(0,1022226221,1047969017,1040473489,1040192716)+W(1,-1117682794,1060667554,1044185574,1002013395)+W(2,1000424795,1049088596,1057909434,1001040843)+W(3,1025306833,1042416864,1038016429,-1120982404)+W(4,-1098407451,1020416041,-1124855402,-1095196747)+W(5,-1089168888,1045737613,-1160070647,-1087290490)+W(6,-1119291421,-1103624738,-1101676720,-1111951852)+W(7,-1112956481,-1115902938,-1104451167,1031577591);sum2=W(0,-1117243126,-1107065949,-1124633329,1014727333)+W(1,1027900147,-1094200388,1041729284,1029406572)+W(2,-1114664521,1040214496,-1104959017,-1112527674)+W(3,-1107116047,1049039902,1005029260,-1111634336)+W(4,-1111801245,-1136702760,-1111611661,1026257754)+W(5,1052541581,1050798725,-1103677442,-1084100906)+W(6,-1111707080,-1111536822,-1105828213,1070744988)+W(7,-1107038609,-1140667375,-1106506739,-1127513012);WS(-1113867888,1064515135); +sum1=W(0,-1107046062,1043460993,1048061265,-1113562537)+W(1,-1098739202,1062873548,1060048584,-1103978495)+W(2,1019693149,1023528257,-1119786749,-1122423580)+W(3,1020558520,-1137576074,-1106657727,-1116789880)+W(4,-1098944190,-1148623547,-1105945126,1011269086)+W(5,1045822761,-1114838028,-1111558073,-1107431310)+W(6,-1112998912,-1117915947,-1101841139,1025265092)+W(7,-1104660585,-1122252061,-1106868487,-1142662356);sum2=W(0,1012385731,-1129472106,1022878354,-1145158406)+W(1,1024197601,1049544336,1044961455,1016118130)+W(2,-1119519161,-1131221354,1030346877,-1112179804)+W(3,-1113792718,-1093377057,-1095482557,-1127326042)+W(4,1015658802,-1123973089,1010204019,-1111624996)+W(5,1057430996,1022031298,-1157676569,1040055751)+W(6,1020564842,1023003938,-1124728962,-1114498280)+W(7,1019749938,-1141925830,-1121117277,-1112131584);WS(1051333020,-1087054195); +sum1=W(0,1019002067,-1096771599,-1104387605,-1112042433)+W(1,1046618143,-1093976551,-1102529947,-1115058903)+W(2,-1148774132,-1129150690,-1089735051,-1107874438)+W(3,-1154881470,-1098135714,-1101876091,1036768028)+W(4,1048899277,-1098301717,-1113527444,1052246829)+W(5,1044227957,1044013586,-1095193948,1054136106)+W(6,1046377228,1038700845,-1107288943,1060328029)+W(7,1045432325,1019966234,1024370318,1045160291);sum2=W(0,1029900262,-1112610934,1041392892,-1114066012)+W(1,-1110038644,1025557898,1041587346,-1114806697)+W(2,-1110070018,-1102485451,1055783298,1036646832)+W(3,987867800,1039502616,988088600,1020625547)+W(4,1046575198,-1095644935,-1097547793,1044719218)+W(5,1055420600,-1095936036,-1102972970,1050162797)+W(6,-1100701871,-1113902766,1028020818,-1099287148)+W(7,-1119304428,1018696751,-1135974783,1033323822);WS(-1120103648,-1090070191); +sum1=W(0,1024592611,1050801054,1049030490,-1117418940)+W(1,1049918615,-1116228463,-1111205267,1040968250)+W(2,1035134604,-1102511675,1050512309,1034410595)+W(3,-1144523437,1039656998,1034763283,-1119948353)+W(4,-1094705236,1032013281,-1114427969,-1112262737)+W(5,-1085341341,1047944497,-1110419822,1042055990)+W(6,1036298997,1025392341,-1132367051,-1106227665)+W(7,-1110564136,-1120201127,-1111046724,-1138448657);sum2=W(0,-1141997982,1040228902,1046354401,-1122606938)+W(1,-1120462650,1061896257,-1143835982,1027805544)+W(2,-1105726471,-1098049024,-1080731069,-1100560083)+W(3,-1113668318,1032253740,1026943708,1025575588)+W(4,-1102583710,1036845124,-1118515993,-1124762815)+W(5,1059397472,1043676745,-1106443071,1052785838)+W(6,-1126645315,-1128858827,995709275,-1120768779)+W(7,-1122685018,-1127110207,-1112152255,1011421951);WS(1060158670,1068766623); +sum1=W(0,-1131098839,1049784895,1056712636,-1116432453)+W(1,1034945056,1044163070,1057908127,-1099753724)+W(2,1040823512,-1122504371,1028198895,-1122123599)+W(3,1050332416,-1096645803,-1123329903,1040184285)+W(4,-1102593034,1033948341,1040295867,-1087151539)+W(5,-1094800699,1027113355,1031077093,-1089291740)+W(6,-1120242995,-1117547229,-1132674679,1036808107)+W(7,-1132187055,-1137741501,1040274980,-1127465369);sum2=W(0,-1108907739,1058983203,-1098232449,1036379663)+W(1,1073213180,1047923452,1016986873,1070189048)+W(2,-1076673488,1031365639,1033582270,1065321765)+W(3,-1072585926,-1107019906,1038048757,-1079893128)+W(4,1035811659,-1120240179,-1120677803,-1128107780)+W(5,-1105399966,-1109097268,1029686139,1040144345)+W(6,1039880527,-1109042515,1041308319,-1110681209)+W(7,1018297481,-1131123922,1034493417,-1116001167);WS(-1112459888,1031046963); +sum1=W(0,-1129483154,-1120462421,-1128634346,-1112719265)+W(1,-1091575740,1056781779,-1112785958,-1103727283)+W(2,-1155155940,-1108013960,-1153409228,-1104335643)+W(3,-1105426861,1027667442,-1118230989,-1114094348)+W(4,-1103778738,-1114915140,-1115081924,1043326546)+W(5,1067939282,-1096588493,-1104237825,1050524372)+W(6,-1132710977,-1114726045,-1108534894,1048587330)+W(7,1036777787,-1111746006,991235804,-1109505653);sum2=W(0,1013020612,-1129818230,1037241732,-1119086167)+W(1,-1108719150,-1074141953,1029187991,-1141008560)+W(2,-1145112744,-1124211508,1019083994,1023891147)+W(3,-1116478859,1027168441,-1122886966,1018251990)+W(4,1028260797,-1115730540,-1131518324,-1114652243)+W(5,1072760747,1034705438,1036245214,-1112264831)+W(6,-1131878972,-1133917220,-1119172530,1042535682)+W(7,-1129254230,1018465006,-1114007324,1037493286);WS(-1086783566,-1086791567); +sum1=W(0,-1153026662,-1093442522,-1095708330,-1115195632)+W(1,-1108787789,1044632085,-1098161001,-1134496297)+W(2,-1145121243,-1107384199,-1091375169,-1119803561)+W(3,-1110064394,-1104664012,-1100078210,-1131708777)+W(4,1018199561,-1121101892,1041725033,-1123676804)+W(5,1064261167,-1103584185,1034570216,1037878573)+W(6,1052226946,-1122033784,-1108866704,1057417647)+W(7,1047330733,1022321300,-1117964907,1046948682);sum2=W(0,-1121810184,-1079753374,-1077397139,1031515378)+W(1,-1119765868,1073378801,1044674665,1010081392)+W(2,-1106495935,-1109376902,1056367001,1035546479)+W(3,1003402623,-1118889676,1035615024,1028378344)+W(4,-1097085111,1035985281,-1112896962,-1134939312)+W(5,1007836336,1031953140,-1105060263,1052841311)+W(6,-1118570548,1031289566,1022446080,1044809025)+W(7,1010750288,-1150317246,1032016077,992033726);WS(-1096711324,-1080143969); +sum1=W(0,1025399430,-1094144146,-1095339398,-1135181951)+W(1,1041786535,-1089314149,-1093853897,1033906501)+W(2,1003671004,-1110956839,-1089126233,-1133559462)+W(3,-1105366874,-1113909272,-1129083412,-1123695637)+W(4,1049483953,-1123204644,1026786373,1050582337)+W(5,1046728732,1031608549,1006467326,1045129706)+W(6,1051092970,1017185520,-1135165794,1045641984)+W(7,1057307443,1009923752,996324016,1049638101);sum2=W(0,1004932796,-1134375038,-1108118447,1023911567)+W(1,1022775023,1037995724,1035251904,-1119124867)+W(2,1036397588,1037707684,1050162042,1011639102)+W(3,-1106309084,-1101285996,-1111062570,999444348)+W(4,-1138359022,1020475455,-1112738860,1044892126)+W(5,1074655410,1047698054,-1102926770,1063133445)+W(6,-1083132698,-1117927031,-1113839430,1070062472)+W(7,-1073687480,1041743674,1017195567,-1073510095);WS(-1089880270,1068594400); +sum1=W(0,1023170830,-1091458130,-1104513741,-1114467040)+W(1,-1107800974,-1100997781,1034367029,1036273894)+W(2,-1106779367,1047811540,-1095286649,1029867434)+W(3,-1110449433,-1109179032,-1096228817,1024593089)+W(4,1042545281,-1120682309,-1118490053,1050219169)+W(5,1042739212,-1110241363,1031296832,1048674674)+W(6,1034908007,-1107012174,1034289100,1053624831)+W(7,1049808694,-1126204757,1021221591,1034674708);sum2=W(0,-1117028113,-1134091777,-1133064657,1030004067)+W(1,-1066126465,1081917443,1045929484,-1105887481)+W(2,-1122550707,1028310407,1043726141,-1104777348)+W(3,1023720579,-1116064873,1016764395,-1130918117)+W(4,-1113615539,1025775761,-1119836251,1024174065)+W(5,-1097201480,1041573100,-1118489229,1032698350)+W(6,-1107697461,1030764051,-1124268877,1033613382)+W(7,1018371831,1018350967,-1116797441,1029778305);WS(1067475431,-1126058166); +sum1=W(0,1043040440,-1108210069,-1097851361,-1108052732)+W(1,-1097574342,1055911149,-1084429932,1048922396)+W(2,-1101774749,1035827603,1041902328,-1119673025)+W(3,1007801026,-1107003538,-1115594513,1019400344)+W(4,1048929252,-1109622414,1040199303,1049362324)+W(5,1047147106,-1104274751,1041203782,1054104112)+W(6,1049622021,-1116198608,1047880876,-1085779789)+W(7,1037086373,1036701569,-1107876353,1019477630);sum2=W(0,-1113150555,1046742995,1020731454,1013753738)+W(1,1042650722,-1104352239,1045156685,1015248850)+W(2,-1105652199,1045331461,-1089864705,1040818978)+W(3,-1120377801,1016214593,-1109224259,1033430289)+W(4,1034035253,-1099358283,1009873360,-1120697178)+W(5,-1128318417,1046693145,1039470065,-1094710566)+W(6,1025091411,1030627793,1036008061,1045040370)+W(7,1019751894,-1132110931,1017876415,-1106535436);WS(1060496974,-1099362699); +sum1=W(0,1036662868,1041317773,-1109706041,1054706808)+W(1,1033303646,1049334366,1051554925,1045895019)+W(2,-1130190200,1053590462,1051166813,1044095763)+W(3,1040746168,1055551482,1049285205,1035564779)+W(4,-1123237413,1015757258,-1129324363,-1098091909)+W(5,-1083798889,-1112852963,1021341985,-1091928498)+W(6,-1087007295,-1127492145,1041804248,-1095315343)+W(7,-1094550458,-1114905285,1039262630,-1097088265);sum2=W(0,-1084887580,1058818874,1077926840,-1073385920)+W(1,-1081800202,1074845707,1060159151,-1083140914)+W(2,1037413129,-1084431515,1061906872,-1085954594)+W(3,1054210787,-1087315344,-1126824848,-1096433065)+W(4,-1089669880,-1121878040,-1094451238,1032559783)+W(5,1059775011,-1120435570,-1173171215,1045764296)+W(6,-1094536545,1053315192,-1115590029,-1103860568)+W(7,-1099186518,1052978812,-1107838893,-1133232881);WS(-1078369703,1041267413); +sum1=W(0,-1098405416,-1112635974,1041630887,1024386586)+W(1,-1098286219,1041292515,-1132435208,1044040033)+W(2,1045750173,1016159377,-1091497929,-1130684104)+W(3,1041584973,-1101611546,-1139597330,-1098338270)+W(4,1051293608,1018393854,1016693023,-1102607056)+W(5,1052507157,-1095618428,1046099151,-1094040968)+W(6,-1105775474,-1117949682,1018959206,1056853585)+W(7,1026100205,1040982949,-1118540325,1049412460);sum2=W(0,1028814353,1038714809,-1097925659,1035615459)+W(1,1052250964,-1101970047,-1077657685,1062855981)+W(2,-1106019250,-1114182260,-1098468896,1056109526)+W(3,-1115640692,-1130122971,-1104046747,1048995011)+W(4,1033337220,-1103657321,1020457849,1043665288)+W(5,-1113114333,1058024935,-1109823715,1051048913)+W(6,1040975429,-1105846491,1056999181,-1085664062)+W(7,1034778788,-1112374505,1042595027,-1109605260);WS(1049151900,-1114127847); +sum1=W(0,1000015204,1047621718,1044969414,1050216581)+W(1,1023136961,1055877843,1057314961,-1136218178)+W(2,-1133465094,1052966059,1054358666,-1130455775)+W(3,1035991733,1052491071,1045850836,-1160090192)+W(4,-1112471205,-1148711507,-1099359923,-1106856243)+W(5,-1092033343,-1112054390,-1133921207,-1091938023)+W(6,-1089783713,-1122838974,1034273823,-1099719178)+W(7,-1087984664,-1112322824,1019980258,-1099053307);sum2=W(0,1039552519,1050864081,1011113448,-1105478410)+W(1,-1099466970,1043215106,-1125310098,-1131405058)+W(2,-1115050596,-1095883745,1034334973,1049027924)+W(3,1049583286,-1088635155,1036178144,-1129231446)+W(4,-1103020148,1059003564,-1082501551,1068049752)+W(5,1074596924,1039344435,-1098156272,1066695202)+W(6,-1084539788,-1107282542,-1099880092,1067601936)+W(7,-1074115054,1042018058,-1097076855,-1075514015);WS(-1081332839,-1093454830); +sum1=W(0,-1104916884,1037116623,1035356975,-1109709318)+W(1,-1117212646,1030327966,-1125155242,-1108177419)+W(2,1032417267,-1103907222,1050241163,-1119705461)+W(3,987327371,1033262333,1046095669,-1118748528)+W(4,-1122158672,1014687039,-1111308088,1039420520)+W(5,-1104761999,1020526050,-1112931654,1053028347)+W(6,-1115200780,-1112611266,-1119448076,1032136206)+W(7,1029855614,-1104533373,-1136487898,-1115609017);sum2=W(0,-1127355075,1028266047,-1118344664,1013207527)+W(1,1040955478,1051132935,1043690369,-1103159789)+W(2,-1116686760,1041402295,-1108842627,1008876024)+W(3,-1154118338,-1128237045,-1105537330,1035764738)+W(4,-1117884424,1016171285,1036829905,-1124997045)+W(5,1047094008,1041601336,1024917624,-1116887196)+W(6,-1100609336,1033786361,-1127506713,1057384051)+W(7,-1089828796,-1102385561,-1114313206,-1098518151);WS(1063446990,1030048893); +sum1=W(0,-1099483503,1049571969,1043069042,-1131562670)+W(1,-1102405700,1053095529,1061428532,-1106193120)+W(2,-1113568905,-1119868742,-1115069793,1021119810)+W(3,1030255032,1043118346,1027160065,1009340592)+W(4,-1106599551,-1106453175,-1108650254,-1108681470)+W(5,1046689338,-1102088711,1008661917,-1097709592)+W(6,1006738196,-1104754348,-1123233168,1029025472)+W(7,-1111789333,-1114502129,-1136963210,-1120287391);sum2=W(0,-1149491589,-1115161102,1017109065,1012371361)+W(1,-1165255819,-1111308586,1012418345,1023756477)+W(2,1019335917,-1106016138,1015942947,-1111467932)+W(3,1010513313,1026481588,1015823021,-1140694601)+W(4,-1109821790,-1097972516,-1103671135,-1110016822)+W(5,1031379047,1049769129,-1094449842,1060485172)+W(6,-1114576028,1022790203,999148403,1046805034)+W(7,-1114618076,-1146831635,1032463998,1024897044);WS(1060385486,1040268319); +sum1=W(0,-1113839600,-1104706211,-1105770459,-1115333181)+W(1,1041834949,-1112644646,-1085502934,1026945989)+W(2,1010458454,-1112283012,-1102865873,-1100015113)+W(3,-1110169699,-1115522389,-1108020290,-1113704543)+W(4,-1122113023,-1115044751,1022495614,1048230464)+W(5,1065603891,1044329112,997701279,1051932092)+W(6,1054415097,-1113673817,1038196649,-1105250533)+W(7,1046973419,-1115640050,-1105082025,-1122402466);sum2=W(0,-1122287706,1041645390,1041813775,-1115664423)+W(1,-1099350461,1067461852,-1087138046,1044568139)+W(2,1042022920,-1109622665,-1116572542,-1102715015)+W(3,1032474264,-1110133469,-1113357449,1031291077)+W(4,-1094011677,-1119842210,-1120925434,-1142717933)+W(5,1027339570,-1113918825,-1120985148,-1124627987)+W(6,1054026149,-1101147879,-1100833175,1045144111)+W(7,1047364150,-1109170005,-1112018489,-1122353792);WS(1049043868,1050086952); +sum1=W(0,1025810768,-1101354119,-1091279607,-1127858130)+W(1,989092984,-1092016019,-1089232423,1034666762)+W(2,-1119959429,-1104525366,-1089729669,-1115481017)+W(3,-1097661520,-1160888088,-1121438163,1012364567)+W(4,1044465651,1022883995,1028884238,1054362490)+W(5,1058690160,1005443958,1032068165,1050465752)+W(6,1051092259,-1149438996,1007092039,1053482909)+W(7,1051219071,1017307814,-1137072337,1019953121);sum2=W(0,1012065197,1050936278,-1099759289,1030282550)+W(1,-1101566471,1050588571,1018991152,1049708534)+W(2,1038111746,-1121285468,-1112383125,1043525707)+W(3,-1106531005,-1113841779,1039884984,1040589253)+W(4,1068820850,-1076346523,-1078832473,1070065566)+W(5,1075164582,-1072955990,-1075628240,1068572253)+W(6,1053555382,-1088795804,-1093459475,1046261639)+W(7,1058828770,-1090423367,-1099780818,1040055978);WS(-1083655502,1074535575); +sum1=W(0,1028862937,-1096173461,-1100106921,973651072)+W(1,-1111330742,-1101351113,-1088250868,1029517469)+W(2,-1105397947,1034877328,-1092528244,1043404639)+W(3,-1099887737,-1118418050,-1113904430,-1129726574)+W(4,1052529147,996549482,-1122472503,1049212555)+W(5,1060855844,-1125410415,-1111380529,1057957824)+W(6,-1104065896,-1122247818,-1109626381,1050267538)+W(7,1047916353,1037233742,-1108333759,1041335934);sum2=W(0,1032149251,-1112916551,-1116649305,1037582341)+W(1,-1107247151,-1117703407,1044443302,-1135487115)+W(2,-1096732175,1042101117,1049963138,1053968825)+W(3,-1094249638,-1127010106,1046616621,1034930229)+W(4,1041643977,-1112067691,1040538112,-1107051108)+W(5,1053360182,-1115814520,1036263743,1030763641)+W(6,-1089009482,-1104153316,1035849297,-1087331905)+W(7,1059951262,-1116847106,-1104877620,-1110671517);WS(-1132786560,1056578758); +sum1=W(0,1019453021,1050053971,1043718831,1031072232)+W(1,-1127115205,1049535379,1057505465,-1112153353)+W(2,-1105591705,1045418390,1052394474,-1153314582)+W(3,1024604121,1048806335,1044283028,986346381)+W(4,-1104586611,1030360908,-1123786893,-1098888378)+W(5,-1081773448,1035671447,-1123598824,-1090760605)+W(6,-1120283669,-1105554848,1044649456,-1106021324)+W(7,-1103287167,-1108912601,1033186457,1036365944);sum2=W(0,-1106354313,1020064744,1011638864,1040658557)+W(1,-1103628435,1050147177,1049840877,1027144364)+W(2,-1130705048,-1105120318,-1117174472,-1123462592)+W(3,1016031184,-1135769248,-1113970774,-1126068784)+W(4,-1103147627,1033931950,-1109113498,1041865287)+W(5,1053587315,-1102211113,-1120927100,1026998340)+W(6,1036775410,-1101351534,1033328738,-1118058864)+W(7,1030416564,-1112076066,1028877580,-1104140895);WS(1062711758,-1109562142); +sum1=W(0,-1125545776,-1104747337,-1100622401,-1107075140)+W(1,-1112684886,-1083301774,-1103229831,-1121788380)+W(2,-1102890883,-1097610180,1050510715,-1128625782)+W(3,-1102110160,1030737729,-1109077454,-1129119788)+W(4,1049612355,1007433175,1017596397,1053288051)+W(5,1048337697,-1098025711,-1120034657,1059638178)+W(6,1051307580,-1108240645,-1112854653,1052952654)+W(7,1049115768,1020667959,1022176121,1041285742);sum2=W(0,1033804876,-1105772859,977550902,1022257834)+W(1,-1113268759,1063293804,-1098748483,1033963400)+W(2,1029999681,1051039483,-1090033704,-1123922685)+W(3,-1125618402,1022914778,-1104977553,1015463858)+W(4,1042844173,-1107093105,1036504102,-1113927342)+W(5,1059312088,-1089861840,1028160469,-1096777339)+W(6,1037687330,1017532722,-1101525036,-1134320563)+W(7,1004875175,-1116068477,-1122996995,1024487701);WS(1046002488,-1083997249); +sum1=W(0,1044431961,1028498222,-1099156844,-1116203964)+W(1,1046371486,-1079124621,-1096363997,1041235242)+W(2,-1117705943,-1103556299,-1088685662,-1106267745)+W(3,-1109240562,-1106798659,999993136,-1122870401)+W(4,1049400252,1035032656,1025075217,1050076828)+W(5,1020370202,1050189128,1032516798,1050263757)+W(6,1053355933,1039724554,1042510329,1048790666)+W(7,1037276039,1037249299,1027729159,1034829570);sum2=W(0,1024745423,-1091311273,1041875660,-1094982381)+W(1,1017043870,-1148119319,1042706326,-1097113645)+W(2,-1107563793,1010824956,-1098101314,1052555320)+W(3,-1118735987,1030619863,-1094774489,1049262968)+W(4,1044409386,-1107764806,1045890174,1017839086)+W(5,1061393923,-1118443235,1048260200,974632891)+W(6,-1098402228,1041238578,-1097368628,1043955676)+W(7,-1094515595,1042214090,-1116185663,1042935118);WS(-1083255246,-1075588436); +sum1=W(0,-1106371438,1036249778,1026375684,-1154522904)+W(1,1036086422,-1097055709,1056687627,-1105464695)+W(2,-1127243930,-1108055408,-1088556578,1023783355)+W(3,1031412139,-1123388097,-1105944807,1030176790)+W(4,-1113752075,-1119606102,1037990411,-1099839750)+W(5,1050924256,1036476796,1043935324,-1092436626)+W(6,1045926824,-1110940389,-1111337285,1056650964)+W(7,1041066449,1021333175,-1124332025,1039385437);sum2=W(0,1023708058,-1114369361,1032531181,-1117330831)+W(1,-1122435213,1047518334,1017487862,-1133288218)+W(2,1020252429,1027012545,-1122916014,-1139180683)+W(3,-1109968059,1046855474,-1103557501,1025188082)+W(4,1031926890,1067300065,1060766869,1043756688)+W(5,1043258354,-1075696003,-1105945514,-1104593512)+W(6,1049767697,-1106946489,-1102393264,-1096895795)+W(7,-1112657711,-1113285900,1020047431,1019544307);WS(1056055196,1023945849); +sum1=W(0,-1139517988,-1138851412,1036175954,-1104545849)+W(1,-1136100212,-1097789539,1048468083,-1101013315)+W(2,1013350648,-1097071058,-1096999890,-1148373856)+W(3,-1108930702,-1128233700,995622088,-1120654743)+W(4,1009002268,1026875367,-1111539988,1032040419)+W(5,1059870683,-1112873620,-1104005681,1040659763)+W(6,1053644410,-1132670698,-1135793772,1039368714)+W(7,1033002810,-1133516850,1028030253,-1122818538);sum2=W(0,-1135790885,1041801313,-1110992702,1033182461)+W(1,-1145806187,-1083556559,-1115959119,1036058972)+W(2,-1125994579,1026458945,1047402951,1026470367)+W(3,-1152817846,1029289545,1021989349,-1123856921)+W(4,976542168,-1135785781,-1116812221,1011638125)+W(5,-1068720208,1034110873,1013579453,-1106760241)+W(6,1043021822,-1124564059,1048786168,1080067579)+W(7,1027196491,-1110636256,-1115658442,-1118809257);WS(1047050040,1036867972); +sum1=W(0,1040033213,1050476745,1041031945,1031952202)+W(1,1052329098,1054273441,1016870010,1049413776)+W(2,1023712847,1035493153,1041748879,-1134253939)+W(3,1023414180,1041394937,1041656495,-1129317744)+W(4,-1097704487,1033331580,-1117663192,-1098508279)+W(5,-1087382286,1043041286,1012948685,-1091275871)+W(6,-1117526273,-1125396951,-1131302504,-1095309386)+W(7,-1108492595,-1112644847,-1153578470,-1112254893);sum2=W(0,-1098653081,1042859622,-1138324119,-1120609508)+W(1,-1081276780,1068070176,1072071026,-1074671298)+W(2,-1110118090,1040658983,1044485226,-1097107702)+W(3,-1119823807,1035453187,-1118978815,-1137118351)+W(4,1038385587,1026624912,1021280635,-1110367912)+W(5,-1107049493,-1122098825,1026288466,1026263792)+W(6,-1122488627,-1152233050,1040255596,1024907208)+W(7,-1111098449,1006813455,-1126727249,1038809437);WS(1047287096,1059538103); +sum1=W(0,-1111595219,1051408038,1034749929,1030804480)+W(1,-1098057279,1057344539,1049213285,-1123153834)+W(2,1018775223,-1106759404,1048793645,1007980582)+W(3,1030691489,1033654600,-1115115061,1036089754)+W(4,-1094490621,1039425378,1013951379,-1102474905)+W(5,1048597242,-1098419769,-1112788128,-1099609086)+W(6,1046324795,-1108341356,-1118093753,-1094890059)+W(7,-1126686757,-1135294247,-1120388747,1003815995);sum2=W(0,1034721747,-1109416755,1024004698,-1112864979)+W(1,1023366533,1058238498,988806988,-1108077379)+W(2,1032508120,1041332549,-1115279539,1021246669)+W(3,-1153257254,1018109285,1033457886,-1113986367)+W(4,1041661735,-1116757818,1004307827,1034996841)+W(5,1008174217,-1107547239,1037366938,1041642045)+W(6,-1089151778,-1128614293,-1108868659,-1122858630)+W(7,-1111548255,-1122125438,-1130732717,-1130797677);WS(1066216871,-1084582294); +sum1=W(0,1023325836,-1096473834,-1095963722,1009745022)+W(1,-1103455511,-1142570129,-1087129751,1034246149)+W(2,-1105242559,-1107829831,-1094684497,1025953385)+W(3,-1107601837,-1117719279,-1107520037,988118663)+W(4,1046303345,-1126933960,1027534757,1050775177)+W(5,1064400323,-1103828265,-1118146623,1057767679)+W(6,992534739,1030437560,1018950609,1038452388)+W(7,1044853309,1033139589,1020674901,1025316967);sum2=W(0,1018526115,-1117975133,1031626404,-1127013105)+W(1,1052346460,1074624908,1062148372,-1123587641)+W(2,1029804743,-1070854231,-1090512380,-1098654594)+W(3,1030491706,1041467716,-1095518794,-1118240305)+W(4,-1113082476,1023300847,1017794797,1029958550)+W(5,-1130733653,1041942663,-1145491637,1035325186)+W(6,-1113725416,-1139181075,-1113152926,1046581721)+W(7,-1115594754,-1142763637,-1120299385,1031776819);WS(1033725552,-1082653885); +sum1=W(0,1033791775,-1094613753,-1091894661,1027658456)+W(1,-1130834725,-1094605577,-1085886368,1038169633)+W(2,-1107114253,1038006563,1049096200,-1105755912)+W(3,-1102176852,1038046228,1040399888,-1106878767)+W(4,1052727904,1020875129,1024810077,1054730080)+W(5,1054915405,1021660859,-1114253244,1060322284)+W(6,-1113871235,1032412472,1010914050,-1115316932)+W(7,-1098681477,1044096992,1016596422,-1114082704);sum2=W(0,-1111819446,1050929158,-1109006144,-1126607908)+W(1,-1119610542,-1107176811,1025316173,1032709615)+W(2,1029384695,-1122531221,-1123863107,1027594385)+W(3,1032209203,-1115616555,1026796828,-1115269200)+W(4,1063076656,1073053378,1059727060,-1093467963)+W(5,-1090320472,1058093447,1073749745,1048889614)+W(6,1051206364,-1073154062,-1079533534,1046933317)+W(7,-1109796884,-1088004581,-1075936158,997945380);WS(-1087442510,1045166814); +sum1=W(0,1032907600,-1127325529,1032009478,-1106921670)+W(1,1047421629,-1085655355,-1106321881,-1111070674)+W(2,1031075349,-1098381173,1057239638,-1094092352)+W(3,-1129052086,-1107389381,-1128650952,-1136240762)+W(4,-1100890040,1042108264,-1110338367,1041337656)+W(5,1044767811,1027442111,-1105899594,1060092296)+W(6,1037296628,1037469097,-1105935775,1040377247)+W(7,1037463686,991481919,1027139781,-1131454723);sum2=W(0,-1109786529,1043540747,1040351141,-1119426781)+W(1,1018220925,-1133247980,-1105926532,1041819143)+W(2,-1124599508,1038612076,-1096724541,-1103055916)+W(3,1024618671,-1143357456,1019567362,986571056)+W(4,-1106797782,1043466418,1015410156,-1104019881)+W(5,1066013053,-1092013542,1048709183,-1098594115)+W(6,-1097021086,1027934232,-1109288787,-1136157126)+W(7,1008181894,1027080058,-1140871148,1025702119);WS(1059279054,1041683061); +sum1=W(0,1033060856,-1095251776,-1096417644,1028823114)+W(1,1041097809,-1095420880,-1096755466,-1136683218)+W(2,-1099515041,-1117180600,-1087904547,-1108712682)+W(3,-1105525449,-1121084634,-1113115866,-1114499693)+W(4,1051348966,-1133443258,1040139175,1041071884)+W(5,1062896338,1037083176,1027763154,-1106154521)+W(6,1050313119,-1169250436,-1109247178,1057053635)+W(7,1043053335,1031868218,1007514196,1041134484);sum2=W(0,-1113246189,1044206765,1039900182,-1104031080)+W(1,-1107688308,1057123143,1043086617,-1124792744)+W(2,-1089958554,1037219700,1066602722,-1084040655)+W(3,-1098033920,1036938090,-1111210157,-1098618924)+W(4,-1122555834,1027754708,-1125301559,1028023758)+W(5,-1100462314,1022410763,-1129842792,1041018096)+W(6,1032289221,1029558442,1034604384,-1123151815)+W(7,-1143651414,-1122704124,-1139711519,1028867168);WS(-1093886876,-1092780259); +sum1=W(0,1040859655,1027092583,1034696971,1031521076)+W(1,-1115369432,1055452141,1057011018,-1123954783)+W(2,-1130075936,1043845385,1055461116,1027325374)+W(3,1005655277,1045628689,1041326696,1017430099)+W(4,-1107551117,1023411481,991412379,-1098366291)+W(5,-1086775792,1037775165,1037665034,-1084481759)+W(6,-1098824964,-1106471523,-1102735091,1050583573)+W(7,-1110858724,-1108701199,-1113156096,1032795870);sum2=W(0,-1101982776,-1110046443,-1115620025,-1099549152)+W(1,1065032135,-1096892917,1067650764,1039636960)+W(2,-1112740199,-1089814493,-1084058149,1046191187)+W(3,-1138571865,-1106519005,1022618460,-1120755726)+W(4,-1138118945,-1104607948,-1128057356,1042476476)+W(5,-1084935200,1039009532,-1129519972,1056117723)+W(6,-1116550886,-1114781123,1042222420,1043334912)+W(7,-1123579094,1029490149,1023299940,1030169574);WS(-1103384376,1050555318); +sum1=W(0,-1104723373,1049493908,1056616014,990997212)+W(1,-1110645588,1063537686,1060440249,-1102560870)+W(2,1006886950,-1123261404,1049398171,-1114771100)+W(3,1041403778,1041297647,1042753094,1011892746)+W(4,-1101985253,-1112669305,-1104278389,-1113359817)+W(5,-1091747296,-1124628967,-1117918862,-1095607555)+W(6,-1094355067,1020875660,-1120789735,-1098384586)+W(7,-1099641616,-1143354303,1029891897,-1098733239);sum2=W(0,-1102268820,998260703,1056762738,-1097904627)+W(1,-1102083058,1055125136,1049156882,-1101696600)+W(2,1022682138,-1099421122,1040009482,-1100977750)+W(3,1035758392,-1112582051,-1114104451,-1105396681)+W(4,-1102966386,-1105114179,-1113205081,1033294591)+W(5,1048772561,1023069474,1028552759,1040206209)+W(6,1040485303,1040370279,-1108173489,1004029807)+W(7,1040482786,-1135668672,-1109779069,-1118051402);WS(1042369848,-1095650924); +sum1=W(0,-1124780413,1056066249,1060985291,1032801852)+W(1,1031124370,1046815795,1059062488,-1142443027)+W(2,1037041722,1026983110,1051554984,1024489633)+W(3,1048283534,1028118439,1037131073,-1157391942)+W(4,-1093287088,1017158008,-1154392525,-1088222536)+W(5,-1084610255,-1111535759,1041310978,-1089766974)+W(6,1035048291,-1118618480,-1118760812,-1096293908)+W(7,-1107690581,-1101944856,1032589425,-1113190096);sum2=W(0,-1118435725,1041984407,-1084477192,1056251107)+W(1,-1090037466,1073185178,-1093515412,-1111043713)+W(2,-1093926860,1053076395,1051712939,-1129656805)+W(3,-1083761792,1066458198,-1096065312,1052716525)+W(4,-1086371528,-1113013425,1053829707,-1077785336)+W(5,1074151927,-1090694669,1046411943,-1093010832)+W(6,-1094829660,-1103046632,-1095714333,1054463958)+W(7,1063500158,-1087950464,1035367276,-1090812268);WS(-1081634407,-1072784825); +sum1=W(0,-1115394775,1046040367,1024862651,-1102740818)+W(1,-1100839185,-1115978107,-1109613465,-1101924733)+W(2,-1140848016,-1098661743,1049722038,-1123768914)+W(3,-1116477425,1025943000,-1138059466,-1118249725)+W(4,1027952685,-1112643478,1016622683,1056867014)+W(5,1050187219,-1101581667,-1096240139,1058509811)+W(6,1033615035,1023463264,1008822020,-1098437541)+W(7,-1132571500,1036595961,-1116668435,-1143195264);sum2=W(0,-1126178115,-1111752353,1046126277,-1139809909)+W(1,-1097752958,1042101074,1034216546,1032546581)+W(2,-1118367610,-1112722386,1043290796,1042272246)+W(3,1017774855,1030093406,1034532478,-1138081685)+W(4,1055245806,-1104413152,1040903120,-1119940899)+W(5,1058677046,-1089277711,1019748625,-1088954301)+W(6,1048637958,-1139620757,1028591970,-1087007443)+W(7,1029648824,1033828758,1017306737,-1140548675);WS(1050645916,1033550915); +sum1=W(0,-1108262319,1043545243,-1107219907,-1118556120)+W(1,-1094947334,-1104041435,-1086762442,1043230361)+W(2,1018079143,-1097977901,1058293794,-1103841584)+W(3,1008731683,-1123331655,1041130248,1032598742)+W(4,-1145250020,-1110184190,1030703933,1039060494)+W(5,1057758321,-1100512367,-1110311564,1059123936)+W(6,1039599795,-1132472896,1044416908,-1096913490)+W(7,-1123961290,1022228292,-1147952664,-1151122424);sum2=W(0,1048409433,-1110540665,-1112791644,1040267615)+W(1,-1086251247,1053330884,-1088877638,-1107165984)+W(2,-1107976602,1057673067,1057377190,-1113957324)+W(3,-1111525785,1042772014,1024512949,-1122078587)+W(4,1032365064,1041630361,1024308395,1010515766)+W(5,1049266570,1037513285,1040244783,-1090038325)+W(6,-1103454662,1039941233,-1098504745,1028890653)+W(7,-1143554104,1024552651,-1103661415,1041725883);WS(1051978908,-1102077462); +sum1=W(0,-1117187439,1051430047,1045761591,-1132165009)+W(1,1037183202,1046972447,1060286099,-1108837850)+W(2,1045655273,1028047735,-1128782822,1028473682)+W(3,1033734537,1035331372,-1178179968,1025240990)+W(4,-1096198150,1014010165,-1106078467,1013540534)+W(5,-1085387922,1030141582,-1121999817,-1130717861)+W(6,-1101497054,1018887490,1008925446,-1105434962)+W(7,-1102517015,1026996307,-1122721428,-1110960744);sum2=W(0,-1125531833,1047662948,974611657,1023072493)+W(1,-1118880502,-1090109833,1035351326,1030396885)+W(2,-1161271853,1033315833,-1110942359,1027419877)+W(3,1028708277,-1156901930,1010290822,1019485964)+W(4,1051899312,1037288067,-1112121991,-1101792417)+W(5,-1069022098,-1113214479,1042102238,1080526024)+W(6,1036440530,-1143368203,1032127295,-1087739606)+W(7,-1114394737,-1141169667,-1132377096,-1124554651);WS(1058455886,-1096183470); +sum1=W(0,-1112035684,1032735242,-1112611850,-1105360672)+W(1,-1103063975,1042817013,1048808633,-1105059667)+W(2,-1104182327,1047248804,1058906409,-1112638549)+W(3,-1103319623,1057710235,1047193699,-1106250503)+W(4,1033545283,-1111940643,-1104075433,1060616064)+W(5,-1097442806,-1097216429,-1115570744,1051085625)+W(6,-1103229812,-1108265532,-1107200030,-1102188695)+W(7,-1109193562,-1106901731,-1119499692,-1106970890);sum2=W(0,-1131009665,1016197705,-1114274101,-1135393651)+W(1,-1111055824,1051632163,-1143366053,1004138181)+W(2,-1127256265,1038147066,-1111579981,-1134829555)+W(3,1010148467,-1137859715,1025185617,-1113946573)+W(4,-1130986601,-1136444051,-1110403581,-1117767149)+W(5,1048764370,-1121253595,-1112183743,1026922589)+W(6,-1112945554,989872074,1009689523,1036257166)+W(7,-1123068365,-1123716033,-1123668797,-1143942149);WS(-1103618872,1023577831); +sum1=W(0,1032268701,997904496,1057806109,1041702149)+W(1,1032012647,-1129702414,1057675340,1021026046)+W(2,-1111766616,1039716321,1056283152,1023662430)+W(3,1042231991,1054291708,1049875952,-1112590149)+W(4,-1106010126,-1102660926,1022049043,-1091063799)+W(5,-1094077941,-1100395542,1046995709,-1090884608)+W(6,-1100869456,-1096243374,1050214494,-1094732237)+W(7,-1098425069,-1100607928,1047647816,-1105996279);sum2=W(0,1069429154,-1080077361,-1072987051,1073849383)+W(1,1066905653,-1086754234,-1076996297,1070121938)+W(2,-1080359597,1067521081,1060194671,-1087755842)+W(3,-1070245916,1075883836,1074652354,-1073496568)+W(4,-1098556311,-1128073567,1022236877,1040644897)+W(5,-1095882058,1027638421,-1118780260,-1124122091)+W(6,1048551041,-1129108935,1012182550,-1096747545)+W(7,1058695504,1001812541,-1130588931,-1092793409);WS(1010873216,-1100304815); +sum1=W(0,1028741017,1051026373,1045945805,-1154187044)+W(1,-1099084427,1059904750,1058185854,-1114247598)+W(2,994968800,1038231664,1052860588,-1104966895)+W(3,1028263947,1032103905,1040557287,-1113228468)+W(4,-1103217414,1022415534,-1113759340,-1102222630)+W(5,-1091550752,-1111624796,-1105383733,-1097780567)+W(6,-1110664976,-1110217221,-1114326870,-1108718914)+W(7,1017865354,-1109350878,-1108875519,1017403508);sum2=W(0,1039210963,1069298433,-1100331344,-1114639192)+W(1,-1099502544,-1067747068,1080352854,1047528380)+W(2,-1108972702,1032407437,-1080996124,1041344628)+W(3,-1116883371,1016604711,-1121090437,1021595805)+W(4,1043940791,-1126620651,1012858414,1035901690)+W(5,-1084572959,-1099630936,1036529177,1030733380)+W(6,1045939813,-1119860547,1043527822,1003800555)+W(7,-1122259179,1034105585,-1145664907,-1121287047);WS(1044302648,-1104457270); +sum1=W(0,-1101763748,1045938783,1029190781,-1115179413)+W(1,-1106420033,1055724168,1034810490,999269803)+W(2,-1128885581,-1100033022,1053359959,1041707045)+W(3,1029110244,1035419021,1037908026,-1110751840)+W(4,-1102720380,1013266237,-1115207128,-1108944696)+W(5,-1101615303,-1105407492,1025157307,1038235218)+W(6,1043259278,-1113033137,1045691477,-1094303566)+W(7,-1123807773,-1113282394,-1114066571,1011056201);sum2=W(0,-1115295266,-1128441429,-1109414288,-1117238549)+W(1,-1095438097,1053172955,-1104877135,1033754662)+W(2,1011060498,-1108715476,1056926069,-1106855439)+W(3,1032653312,-1114450934,1036225840,-1117460606)+W(4,-1121954754,1024122972,1023475415,-1115125848)+W(5,1038786210,-1106263750,1002646200,1018153798)+W(6,1043675119,1025499367,1034246226,-1104082080)+W(7,1018894269,1013321052,-1107090094,1008366234);WS(1068015911,1043072951); +sum1=W(0,1035792844,-1091973141,-1101991257,-1127841379)+W(1,1018341976,-1095315357,-1110119406,-1155603908)+W(2,1044403491,-1111437840,-1107228151,-1111053022)+W(3,1005208661,-1103670736,-1097295811,-1112313859)+W(4,1040826438,-1098419575,1035382295,1041159238)+W(5,1053842800,1030324599,1043898844,1052691071)+W(6,1050221764,1043481954,-1108241413,1042506601)+W(7,1046985745,1032196534,-1098652336,1030249017);sum2=W(0,1033824390,1019923991,-1125722365,-1134315530)+W(1,1039862799,-1087456726,1039464885,-1112867968)+W(2,-1114969920,1042059959,-1119378177,1005143468)+W(3,-1131720457,1009971850,-1113780490,1030354102)+W(4,998580556,1027495017,-1118933131,-1135384490)+W(5,-1061395777,1087627027,1045077367,-1093291922)+W(6,-1121281813,-1148550692,1034637079,-1106942114)+W(7,1032010553,-1117397469,-1118611519,1034179020);WS(1060186318,-1131602669); +sum1=W(0,-1102049002,1052887138,1050205114,1022422466)+W(1,-1097141731,1049038746,1052456073,1050775273)+W(2,-1099566807,1039690728,1040490435,1056872997)+W(3,1032894309,1045856748,1043457059,1025667942)+W(4,-1102238785,-1106285089,-1112848707,-1099402401)+W(5,-1088759247,-1098786589,1039607513,-1100510367)+W(6,-1099089908,-1104192622,1048305743,-1122526498)+W(7,-1106963501,-1118572779,1032266998,-1102859210);sum2=W(0,-1108234271,1050158699,-1120410947,989650422)+W(1,1045260201,1024838498,-1092804082,-1120122674)+W(2,1037831837,-1119936776,-1125280065,-1114112879)+W(3,1024132690,1035095434,-1114421818,-1117501250)+W(4,1066272871,-1074101109,-1081060940,1047633630)+W(5,1061734347,1050344942,-1079387458,1075424781)+W(6,1003481288,1039609275,1043540897,-1091697647)+W(7,-1106020023,1026462111,-1131708367,1011848513);WS(1057810382,986287880); +sum1=W(0,1027767677,-1106138450,-1110142276,-1105255365)+W(1,1038550632,-1090210593,-1092238936,1037147968)+W(2,1035749561,-1093055129,-1089134184,-1136315263)+W(3,1028257967,-1089420006,-1097497096,-1115075413)+W(4,1031406779,-1130243957,1050176972,1041191503)+W(5,1049547413,1041377527,1041310918,1027980992)+W(6,1057536820,1033537239,-1115128119,1052451129)+W(7,1058108487,1031965752,-1127231554,1050343212);sum2=W(0,-1113793286,-1104040400,1070708271,-1099824579)+W(1,-1112943238,-1072548459,-1091831853,1053512844)+W(2,-1099992002,1057576575,-1093778092,1041834894)+W(3,1024916046,1051972140,1064181862,-1120789532)+W(4,-1084124078,1023561426,-1097074436,1075074245)+W(5,-1072503695,1009216489,1039380165,-1082668198)+W(6,1053907302,-1107563771,1043969626,1056090411)+W(7,1054786345,-1106961801,1034348623,1058602971);WS(-1075707047,1038147646); +sum1=W(0,-1115961531,1026800423,1050722763,1038492938)+W(1,1041066756,1052178217,1055626176,1036899040)+W(2,1045702796,1053246416,1027667391,1038870159)+W(3,1044017707,1049962981,-1100305296,1022987667)+W(4,-1103730686,-1122935577,1040870942,-1095596015)+W(5,-1090286882,1036539085,1047700685,-1091210886)+W(6,-1095582752,1048523811,-1102625947,-1094135001)+W(7,-1093296229,-1117734303,-1105859960,-1109653838);sum2=W(0,-1113260796,-1095928859,1027969677,-1145353723)+W(1,-1113367096,1052353113,1052169305,-1112198364)+W(2,1047146251,1051473061,-1129450520,1007958125)+W(3,1021064313,1050393555,-1091037095,-1122974002)+W(4,1031463199,-1110261785,1052090154,-1115030411)+W(5,1051016428,-1099630700,1041877601,-1108227013)+W(6,1045242344,-1102681887,-1087173862,1041462653)+W(7,1020102815,-1111896409,-1095485390,1032341221);WS(-1102302520,1068562064); +sum1=W(0,1029216267,-1094978851,-1101486038,-1130894152)+W(1,1029804895,-1093484995,-1104755260,1029150351)+W(2,1046304488,-1106599349,-1110271975,-1108054071)+W(3,1018120580,-1102274525,-1102131284,-1107326720)+W(4,1029251017,-1102217970,1031789673,1044130034)+W(5,1050941559,1040658618,1042516209,1053252560)+W(6,1050863202,1041743615,-1113036417,1036880709)+W(7,1047248574,1032422999,-1102226940,-1128083416);sum2=W(0,-1123809812,-1111065998,1022527979,1019111797)+W(1,1041109085,-1095097056,1031759809,1006739898)+W(2,1028972357,-1107360163,1034613952,-1126211453)+W(3,1025713585,-1118642675,1033659253,-1118372569)+W(4,1023737355,-1117143513,1029130971,-1131519898)+W(5,1082939698,-1064938697,-1106220344,1045357020)+W(6,1033832936,-1112280546,-1122955245,1027342607)+W(7,-1118824157,1028082979,1032152906,-1112248823);WS(1066566439,-1125753148); +sum1=W(0,1041951168,-1098758994,-1096367972,1020091828)+W(1,1052053147,-1089881409,-1093467737,-1130301450)+W(2,1033588155,-1098181717,-1092544881,-1131231944)+W(3,-1116682291,-1096392077,-1110070786,1009411772)+W(4,1048997640,1025331919,1030663671,1038767583)+W(5,1064063659,1044746920,-1108818909,-1130818632)+W(6,1042770882,1041997189,1022962726,-1116991019)+W(7,1027361773,1038578846,1018371147,1046860728);sum2=W(0,-1149004498,1047279899,1019815533,-1105507764)+W(1,-1115729482,1058550934,-1106660204,-1098298748)+W(2,-1111478010,1032716298,1031191852,-1094576030)+W(3,1018600957,1019851909,-1117054989,-1129010369)+W(4,-1121679526,1041000955,1024962860,-1136431769)+W(5,1058580319,1027135608,-1107413740,-1096656341)+W(6,1041490224,1035067556,-1101441076,-1098228632)+W(7,-1106522387,1005788722,-1123460834,1047791827);WS(1050996380,1066787661); +sum1=W(0,-1120310187,1043911830,-1109518091,1042843177)+W(1,-1107450543,1061971625,1059519229,1033453959)+W(2,-1134072575,1046601317,1051823058,1017862620)+W(3,1033769739,1046863997,1042112788,1025308393)+W(4,-1097687209,-1133582755,-1112832565,-1098674409)+W(5,-1098011863,-1105396874,-1116528532,-1096304487)+W(6,-1095249970,999923683,1033796902,-1095767039)+W(7,-1098417599,-1109771063,1030029487,-1098354285);sum2=W(0,1033376724,-1114493691,-1087654445,-1103321099)+W(1,1033194077,1065240604,1049058628,-1108916223)+W(2,1032881798,-1094150295,-1128335788,1038197771)+W(3,-1138730935,-1112103411,1006224046,1017830932)+W(4,-1096458683,1015354012,1013739975,-1098379129)+W(5,1054396447,-1115257551,-1121134774,1036368268)+W(6,-1108472207,1021079748,-1129699908,1049730119)+W(7,-1102017203,1038189385,-1117224382,1031462702);WS(1027314912,-1081149641); +sum1=W(0,-1114947760,1053252314,1051429188,-1109480125)+W(1,-1132100201,1061393767,1058130398,-1101195017)+W(2,1044342469,-1104522586,1057940398,-1103759537)+W(3,1051194426,-1120202825,1055491172,-1111893319)+W(4,-1094077252,1034118735,-1097611416,-1118844062)+W(5,-1085308129,1035982720,-1104617542,-1113091794)+W(6,-1094497965,1036294793,-1114189097,-1102037735)+W(7,-1094870250,1030785028,-1128796810,-1103334896);sum2=W(0,1024995350,-1124760267,-1098833779,-1131039707)+W(1,1015537291,-1065942779,-1078713050,-1104486127)+W(2,-1103676904,1084085461,1047686732,1053996441)+W(3,-1111129691,-1093915430,1064521940,1047124046)+W(4,1057070390,995065627,1035790053,-1147567565)+W(5,-1081156610,-1154356731,1037354874,-1091843304)+W(6,1060423478,1026796886,-1107145709,-1094140189)+W(7,1018309905,1038591472,-1108476011,1046849692);WS(-1081542375,1044780323); +sum1=W(0,-1100303790,1054288460,1046719985,1026864081)+W(1,-1098110473,1048901488,1054459103,1048337215)+W(2,-1099969099,1034589376,1041639871,1054474587)+W(3,1028627178,1046235480,1043694031,1023999910)+W(4,-1108679899,-1104586877,-1114219435,-1098857847)+W(5,-1093175556,-1098306531,1041408644,-1098101851)+W(6,-1107626335,-1104199322,1046672715,-1104037973)+W(7,-1106600025,-1126646775,1022681657,-1101510966);sum2=W(0,1027847194,-1098721130,1024212320,1017985090)+W(1,-1113167123,-1094712479,1050387030,1036519222)+W(2,-1113380621,1028269032,-1100822056,1037009826)+W(3,-1115360802,-1113841920,1009055356,1031131596)+W(4,-1081468176,1074345814,1067245211,-1099849981)+W(5,-1096550174,-1088417301,1070597407,-1070464929)+W(6,1042714784,-1102737214,-1104880956,1057690620)+W(7,1046010973,-1112342255,1000105719,-1145638655);WS(1059294542,1020616832); +sum1=W(0,1039080142,1044861738,-1096856701,-1157534552)+W(1,1031217968,-1085780263,-1089052876,-1097783100)+W(2,-1138897989,-1097342660,1044573672,-1164216296)+W(3,-1105498094,-1105558033,1041475528,1026686634)+W(4,1041652423,1046540791,-1112831597,1050532499)+W(5,1047119538,1040272239,-1098369827,1057029426)+W(6,1043073721,-1103025619,1024931118,1039715347)+W(7,1048391538,-1114523696,1045404192,1040308239);sum2=W(0,1001372950,-1105705183,1040318024,-1106291706)+W(1,-1093748925,1061316313,1045484852,-1099590495)+W(2,-1105937891,1041085521,-1098311584,1015225205)+W(3,995169980,1035732349,1028378294,-1112612361)+W(4,-1116263519,-1145917455,-1142193319,-1114208076)+W(5,1049891427,-1108356360,1036599633,-1108179199)+W(6,-1111581107,1032743264,-1148092276,1040668388)+W(7,-1113959318,1024794158,1021281994,-1115787941);WS(1059376718,-1137270291); +sum1=W(0,1037392427,-1106073464,1043258576,-1118257199)+W(1,1035766677,-1099046488,1054680411,-1097794403)+W(2,1032186693,1041392887,-1088020070,1026067385)+W(3,-1139304576,-1111666975,-1113652045,-1108679762)+W(4,-1124279079,1022160871,-1112002778,-1114290826)+W(5,1052189312,1011458515,1045843716,-1115190716)+W(6,-1097245116,1046761570,-1110958220,1054691490)+W(7,-1123561026,1032305501,-1117145658,1025610423);sum2=W(0,-1122852568,-1087687504,1033595807,1025244035)+W(1,1038019467,1047700223,1066421651,-1092220395)+W(2,-1113553750,1050883425,-1084925862,1048072683)+W(3,-1139793711,-1146566911,-1105555859,-1119930901)+W(4,1048825911,-1104089806,1002397687,1016573022)+W(5,-1089540205,-1111655831,-1130145014,1058107887)+W(6,-1098430697,1015641098,1032935415,1045215493)+W(7,-1124843514,-1131703250,1001885951,1041208433);WS(1058596686,1013962118); +sum1=W(0,-1127551432,1049056438,1052551424,1000024554)+W(1,1035333436,1036076760,1057499982,-1100000762)+W(2,1044766998,-1116046252,-1127972943,-1122612871)+W(3,1051562743,-1099275107,-1118015335,1041477861)+W(4,-1098656348,1034731345,1039656505,-1088298614)+W(5,-1097067922,1033429441,1019232187,-1090756927)+W(6,1015197910,-1113717771,-1125045580,1040213184)+W(7,-1122278672,-1122272135,1037833508,-1123679237);sum2=W(0,1029025211,-1091369704,1048601996,-1104434141)+W(1,-1079110377,-1106615386,1052827694,-1078497608)+W(2,1066279808,1037382016,-1115334546,-1085502108)+W(3,1068620036,1048688798,-1122817088,1062913146)+W(4,-1119340081,1028438774,1004930429,1033271157)+W(5,-1109539756,1034989376,-1106316897,1025214064)+W(6,-1106594885,1023198169,-1108631008,1050957039)+W(7,-1118139306,-1139733884,-1134348613,1036274829);WS(1044771128,1023341948); +sum1=W(0,1034545464,-1098819215,-1092336191,-1156220044)+W(1,-1111313058,-1086850728,-1096491302,1033488922)+W(2,1008511890,-1100928894,-1102939421,1038420969)+W(3,1011084871,-1089482302,-1115524377,1013986230)+W(4,1044146859,1029114797,1036528391,1051560294)+W(5,1045449190,1029767950,1022761170,1051910286)+W(6,1038883707,1034675856,1041877300,1053458817)+W(7,1046748951,1043196317,1037411178,1012126018);sum2=W(0,-1080574884,1066884159,1076503146,-1071004894)+W(1,1049506323,-1098882467,1058011283,-1089987082)+W(2,1062249589,-1088626314,-1084978169,1065282653)+W(3,1070844945,-1077734377,-1082249713,1060165079)+W(4,-1107351326,-1130255370,-1122913984,1057610169)+W(5,-1090234844,1014162118,1038970611,1054000347)+W(6,-1090230279,1022492087,-1114000490,1030898490)+W(7,-1096516163,1013009282,-1131621088,1044380003);WS(-1111817840,-1134998409); +sum1=W(0,1045262352,-1094315057,-1102901203,1022731056)+W(1,1029818259,-1111793509,-1085070720,1044888721)+W(2,-1114660906,1046806370,1055206544,-1105915720)+W(3,991785104,-1136267423,-1123039746,1027479949)+W(4,1052915216,-1107194439,1021112442,1029699069)+W(5,1057078063,-1117717150,-1097785743,1058770140)+W(6,-1097451385,1036425016,1040740592,-1095183540)+W(7,-1114500629,1016465988,1005586201,-1112670352);sum2=W(0,1030842707,1026318374,-1113356803,-1129690332)+W(1,1054087898,-1089332833,1041923626,-1123486113)+W(2,-1097205966,-1141184456,1068558125,-1105176966)+W(3,-1106929221,-1104288342,-1107728348,-1098021434)+W(4,-1119512995,-1180561029,1015499837,997943457)+W(5,-1088292904,1037328869,-1144014736,1037525758)+W(6,1050151959,-1114055561,-1107365912,1040210770)+W(7,1006954668,1013301204,1009592392,1018682892);WS(-1100650808,1043653943); +sum1=W(0,1032036848,1040683515,1044290651,1038392637)+W(1,1043637149,-1090111931,-1106266873,-1120772452)+W(2,1047398869,1044787930,-1133467790,1040259489)+W(3,1050576478,1037223428,1023591523,1038054351)+W(4,-1115398639,1038316223,1033771919,-1095199164)+W(5,-1097393337,1045751664,1042896310,-1094097345)+W(6,-1101572298,1015063331,-1159203906,-1104941765)+W(7,-1102689443,-1125005703,1030908740,1016760834);sum2=W(0,1000548496,1043541862,1046306039,1018053796)+W(1,1039189619,1064529690,1010667960,1049079603)+W(2,-1118597354,-1087406141,1047996002,-1128574308)+W(3,-1104543855,-1086946593,-1095617964,-1106984497)+W(4,1029064982,-1112893849,1031448374,-1101305605)+W(5,1038487223,-1105518867,1021972628,-1116813778)+W(6,1048794746,1033382833,1037842238,-1100258391)+W(7,1045938007,-1140458600,1021089548,-1114392997);WS(-1121537248,1047151836); +sum1=W(0,-1113135282,1035132488,1052654400,-1096325448)+W(1,-1112146268,-1134150082,1046868890,-1098188693)+W(2,-1117696601,-1098847494,-1129891280,-1108791588)+W(3,-1114157115,-1107856679,1032919412,-1123869651)+W(4,-1110395025,1023519458,-1116556387,1000450324)+W(5,1049727010,-1110207458,-1111260975,-1139200797)+W(6,1056884317,-1098805187,-1104838938,1041189572)+W(7,1058220805,-1103148146,-1146298440,1041128337);sum2=W(0,1021304865,1026011378,1043572739,-1142864271)+W(1,-1107584343,-1080136051,-1102859954,1043366966)+W(2,-1130465374,-1115654645,-1103597159,1014758407)+W(3,1000478551,1053224660,1046511165,-1120740451)+W(4,1028667063,-1140649559,-1107989855,-1125571574)+W(5,-1072538638,-1132367054,1020722946,1022196210)+W(6,1048815254,-1126224006,1041979768,-1076945816)+W(7,1074776028,1048839210,1027667511,1072551214);WS(-1086568910,969651201); +sum1=W(0,1044154939,-1089612648,-1096064919,-1128189323)+W(1,-1114366976,1053159863,-1084798775,1043534732)+W(2,-1101372520,1050787607,1053431542,-1098469330)+W(3,-1132910587,-1116020373,1036747448,-1123038043)+W(4,1054908701,-1099266659,1043461231,1047521403)+W(5,1057685165,-1152040120,-1113308531,1056987371)+W(6,-1090701774,1049635020,1042761408,-1089249613)+W(7,1027268120,1018344000,1010635844,-1105030179);sum2=W(0,-1103428495,1060495074,-1103892922,1042932965)+W(1,-1093583228,-1075640666,1052448567,1039997403)+W(2,-1121819542,1057002090,1057723154,1044856824)+W(3,1028413178,-1118134166,-1112150955,-1177180368)+W(4,1060109323,-1118896922,-1139842168,-1104364155)+W(5,-1073056297,-1097481656,991756114,1064108701)+W(6,1060503917,-1099984054,1040659602,1055665788)+W(7,-1110515035,1041069777,1034919451,-1116550688);WS(-1084093518,-1116656412); +sum1=W(0,959481663,1026388179,1058416208,1002008836)+W(1,1050696243,1042079029,1059097973,-1104590931)+W(2,1047962207,1049127990,1041679827,-1106608235)+W(3,1015783795,1042535660,1031439243,1030562773)+W(4,-1109778819,1023428581,-1112390467,-1096672513)+W(5,-1096264126,1040470858,-1112632704,-1088144465)+W(6,-1100480244,1047012782,-1102954054,-1101432288)+W(7,-1093923750,-1145396437,-1112144502,-1113594772);sum2=W(0,-1110192070,1010716935,1027407916,1007960967)+W(1,1056650247,-1070859565,-1097456083,1049899326)+W(2,1081472440,-1079514242,-1068241064,1078512141)+W(3,999915485,1030657127,-1094427160,1058404171)+W(4,1018303319,-1121935910,-1132155403,-1129957403)+W(5,-1094713389,-1142796285,-1137993343,1037417999)+W(6,1043613542,-1111213656,1039214170,-1096379657)+W(7,-1116925932,1024356221,1032528613,1025537830);WS(1052225948,1018668194); +sum1=W(0,-1123160289,1048325451,1051775516,-1120453498)+W(1,-1104839613,1064670427,1058214550,-1108654867)+W(2,1036965515,1049967085,-1126638409,1041378113)+W(3,1034438594,-1128237844,-1096299613,1044186084)+W(4,-1111291056,-1112742544,-1107074656,-1117579103)+W(5,-1091445969,-1119335936,-1147977428,-1093397513)+W(6,-1099225050,1034167881,-1109154218,-1092047898)+W(7,-1112057991,1019177609,-1138567959,-1112850625);sum2=W(0,-1148685985,-1111847761,-1117606942,-1121001958)+W(1,1021815720,-1076982600,-1120566718,1018483434)+W(2,-1108634723,1048076514,1074852012,1049361594)+W(3,-1105580672,-1116866514,-1102180777,-1132118692)+W(4,1021935234,-1112487949,-1130038396,-1103097305)+W(5,-1081972918,-1125812992,1038078839,1049895592)+W(6,1040925857,-1104919092,-1152546434,1051964198)+W(7,1040155911,-1123068468,1026180028,1017568960);WS(-1096382876,-1091051652); +sum1=W(0,-1113197617,1048826126,1057278592,-1116126267)+W(1,-1124324715,1056304110,1058810754,-1112424211)+W(2,1040875430,1016295122,1041995897,-1136579346)+W(3,1017323784,1042534003,1024916389,-1113905512)+W(4,-1097274020,-1140807037,-1116910752,-1096000788)+W(5,-1091311905,-1132679170,1039925053,-1088739494)+W(6,1038826452,-1119450067,-1107191661,-1114916522)+W(7,1017648027,-1098370349,1023437062,-1128507781);sum2=W(0,1036113080,-1107470193,1025682064,-1120311657)+W(1,1029662296,-1118009189,1035621932,-1109045199)+W(2,-1114085873,1009830751,1045290388,-1122358251)+W(3,-1115835645,1030264440,1035169596,1016737279)+W(4,-1108061877,1012612647,-1108273289,1036682152)+W(5,-1101792442,-1076098595,-1101063214,1051542033)+W(6,1056395710,1039398973,-1080861029,-1093646778)+W(7,1052430993,1072502688,1065137390,-1091719234);WS(1040082544,-1114755812); +sum1=W(0,1037505264,-1108514902,-1110974758,1017784372)+W(1,1019379817,1052579502,-1095324708,1045745417)+W(2,-1124056118,1046163210,1058051822,-1109308706)+W(3,1039469090,998280780,1038459986,1025470519)+W(4,1041424680,-1104471944,1024480479,1040296296)+W(5,-1106396419,-1115066496,-1106439461,1054913780)+W(6,-1093666877,1001482384,1040857799,-1087512533)+W(7,-1109356390,-1108404770,995688529,-1106674096);sum2=W(0,-1117720653,-1118054954,1045315846,-1162396366)+W(1,-1105580348,1059476362,1057942904,-1104226850)+W(2,1031813906,1045409162,-1090022037,-1105643813)+W(3,1018164327,1023977529,-1106412098,1011045214)+W(4,1034773210,-1100298043,1035646876,1034748092)+W(5,1067689202,-1093789486,-1097646834,1043388435)+W(6,-1101262587,-1113573448,1040357620,-1083232471)+W(7,-1102021751,1024454049,1012935222,-1124577575);WS(1036525168,-1082462584); +sum1=W(0,1037298441,-1087372070,-1085123800,-1116308971)+W(1,-1122874917,-1096064460,-1086414101,1027885589)+W(2,-1108384819,-1104319094,-1099879381,-1154089797)+W(3,1003463273,-1096394215,-1127380522,1028179743)+W(4,1051660338,1027541711,1019612704,1057675329)+W(5,1059581688,1041073820,-1109257541,1059597873)+W(6,-1117339864,1045372305,1028059367,1052784510)+W(7,-1110971807,1053758651,1031554934,1039251609);sum2=W(0,-1103295177,-1090050073,-1081285622,1060691160)+W(1,-1085964582,1072728426,-1102851017,1035985281)+W(2,-1107551093,1033954581,1060511611,-1105398566)+W(3,-1090293163,1058069039,-1086630634,1049030608)+W(4,1050684042,-1106187369,1052276353,-1080809247)+W(5,1060852217,-1090587145,1048638013,-1087522637)+W(6,1041242888,-1094879840,1029176048,1058511518)+W(7,1062481845,-1087039462,1046256182,1028348456);WS(-1074352935,1040600857); +sum1=W(0,1028652336,1025049468,1057627204,1042034194)+W(1,1030695172,1022098295,1057567995,1024054004)+W(2,-1117605317,1039437212,1052602222,1029627411)+W(3,1041624512,1053416947,1049556590,-1114002447)+W(4,-1105875707,-1105990299,1024364622,-1090157751)+W(5,-1095088235,-1100928004,1048022018,-1088931067)+W(6,-1104356174,-1095846092,1049957878,-1094832321)+W(7,-1101255271,-1098759166,1047165477,-1107260676);sum2=W(0,-1079714919,1065983198,1073165865,-1075440350)+W(1,-1081735031,1066499710,1068716226,-1079134350)+W(2,1066585571,-1080754250,-1095308006,1055569671)+W(3,1075476470,-1073191304,-1074800849,1071644179)+W(4,1048707236,-1115591486,-1148975848,-1112383192)+W(5,-1098543278,-1125971282,1038054064,-1135853868)+W(6,-1108920844,-1110109816,1040311395,1021808504)+W(7,-1090378667,-1120408347,1035370814,1050977418);WS(1041022776,1033480094); +sum1=W(0,-1123321429,1042302896,1026327841,-1132576057)+W(1,-1104176578,1063677500,1052457903,1028959481)+W(2,-1121060138,-1123802109,-1097607903,1046472198)+W(3,-1115611836,1039698959,-1118671609,1027556403)+W(4,-1109312954,1021323174,-1119031508,-1110434490)+W(5,1025377120,-1118638740,1029242558,-1089918670)+W(6,1046523967,-1106699146,1013298461,-1090934974)+W(7,1000531209,-1116635705,1030036314,-1112257611);sum2=W(0,-1122286155,-1127267122,1049930690,-1106027239)+W(1,1055155948,-1091935564,1041115945,-1102546078)+W(2,1032068992,-1103388917,1052250618,-1096754888)+W(3,1036170969,-1108790214,1038737216,-1121774513)+W(4,-1108798456,1018367610,1034564779,-1110218398)+W(5,1075372513,1043590800,-1095860458,1058786995)+W(6,-1123143101,-1119323979,-1112711414,-1071163371)+W(7,1032355550,1017858173,1016553114,-1121707895);WS(1055618972,-1117202987); +sum1=W(0,-1101414710,1053882576,1039894129,1030962480)+W(1,-1111740150,1049814740,1057347458,-1098100923)+W(2,1041005827,-1088233382,-1090053902,1036980413)+W(3,-1112834597,-1117339136,-1105970903,1021681163)+W(4,-1089999221,1048656807,1031993659,-1101932469)+W(5,1051098296,1031031542,1043352452,-1085784352)+W(6,1051763396,-1119077705,-1104607674,1056052448)+W(7,1032801282,1039235901,1022017143,1044301630);sum2=W(0,-1123577690,1043634319,-1101541229,-1114659327)+W(1,-1105097716,-1077668162,1066882360,1042921002)+W(2,-1093975266,1058638399,1037629509,1042773509)+W(3,1000405669,-1131856909,-1108208741,1032061179)+W(4,1057974128,-1111523166,1039378885,-1107338771)+W(5,-1080704784,-1104122760,1040130625,1050113378)+W(6,1052705661,-1110420726,1012227066,1051155360)+W(7,-1111189711,1025207949,-1125218199,1008396554);WS(-1091387548,-1116324289); +sum1=W(0,1044682252,-1093973688,-1112220622,1026642697)+W(1,1032214050,-1086442024,1046046637,1041967213)+W(2,1015214154,1053177927,-1099996941,-1131062694)+W(3,-1110158325,1037567917,-1098783494,-1137069945)+W(4,1047211372,-1098544270,1027958127,1049897926)+W(5,-1112122925,-1106755108,-1112662293,1050365286)+W(6,-1132096750,1034258897,-1116559746,1046223135)+W(7,1042021623,1031638516,-1111108842,1024489425);sum2=W(0,1016776222,1024100809,1011776651,-1108095393)+W(1,-1122468710,1057627889,-1097248934,977935538)+W(2,1030099429,-1117226417,1042194141,1019959206)+W(3,1002749526,1041814459,1051928720,-1104930054)+W(4,-1105403134,1032882678,1019145070,-1101257730)+W(5,1060632600,-1103033100,-1124027994,-1101986254)+W(6,1037412790,-1110127978,1039533068,-1090719303)+W(7,-1115385474,-1108291818,-1125661478,-1109292621);WS(1057965518,-1118811194); +sum1=W(0,1038892389,-1112643723,-1106566686,-1104352985)+W(1,1042490232,-1091938531,1026830542,-1105058276)+W(2,-1099594944,-1101314965,1058056073,-1121521774)+W(3,-1095161930,1039936570,-1098044778,1033536020)+W(4,1003767366,-1114250980,-1107147458,1052732873)+W(5,1019887594,1048844541,-1096574819,1060358287)+W(6,1042464324,-1107780158,1024329053,-1118338013)+W(7,1046000094,-1107207172,1032778872,1024562028);sum2=W(0,1042905425,-1113078065,993944814,-1116205334)+W(1,1044205280,1040105843,1044406596,-1109155755)+W(2,1008636092,-1123380436,1043112037,1035597621)+W(3,-1092853308,1005260887,-1105268129,1036458751)+W(4,-1104977559,1039619019,-1106373772,1032713731)+W(5,-1104277422,1048332350,-1115343154,1048672381)+W(6,-1153474446,-1106439836,999501191,-1103087244)+W(7,1036094123,-1106473413,1021528398,1015784078);WS(1053420700,1049909457); +sum1=W(0,1034071238,-1089903413,-1106165874,-1115258034)+W(1,-1115686559,-1100423414,1036166247,1027276239)+W(2,-1102788144,1049835542,-1093491554,1041096236)+W(3,-1107460367,-1110396954,-1095323722,1034068157)+W(4,1041332866,1023742249,-1113250117,1050401361)+W(5,1037380859,-1120158506,-1130552842,1049384898)+W(6,1034784425,-1103514783,1037333727,1052388787)+W(7,1050882791,-1114330639,1037170040,1031952854);sum2=W(0,1028289272,-1165623582,1024557142,-1112500393)+W(1,1086771603,-1062269001,-1095250820,1049127312)+W(2,1020087240,999933935,-1095068995,1048088739)+W(3,-1146529543,1025716258,-1135945992,1014851096)+W(4,1035333264,-1122738507,1020782048,-1136367764)+W(5,-1087155359,1034731082,1025362120,-1114028070)+W(6,1034746908,-1120796207,-1125007838,1022077560)+W(7,-1127622484,-1128255426,1026594640,-1120864651);WS(1063806286,1027083983); +sum1=W(0,1030313470,1039206373,1045480194,-1114823180)+W(1,-1111977289,1050451993,1061885616,-1111791457)+W(2,1019729830,1036575619,1057912708,-1108043857)+W(3,1033983240,1034424532,1039765761,-1114640622)+W(4,-1106496703,1020453816,-1109705966,-1118427516)+W(5,-1083830979,1039658735,-1103432478,1010686340)+W(6,-1105267089,-1109909656,-1114670584,-1099420545)+W(7,-1125840468,-1112770081,-1113587473,-1131920190);sum2=W(0,-1100194899,-1091664523,-1122290634,1033978022)+W(1,1050426550,1075108998,-1071413373,1033701105)+W(2,1034191613,-1103668501,1062092502,-1104028404)+W(3,1010895851,-1140709165,1034149895,-1141130302)+W(4,-1103111994,1002490582,-1164938552,1016780797)+W(5,-1096749849,1051489664,-1105595809,1047766898)+W(6,-1131589290,1021076655,-1108336227,1027350687)+W(7,1027888251,-1131210373,-1149103768,-1131724600);WS(1058288590,1045994186); +sum1=W(0,-1123855059,-1096797372,-1093342072,1018135640)+W(1,-1112801779,-1105293320,-1086390197,1040223430)+W(2,-1098800665,-1117054299,-1091216419,1036317947)+W(3,-1096517871,1023470716,-1096209979,1034707665)+W(4,1041780692,1015346466,1038262801,1052167946)+W(5,1059840396,-1134794696,-1132654257,1052872019)+W(6,1050341107,1012611090,-1117665797,1051866430)+W(7,1050625648,1010858330,-1139713758,1048652350);sum2=W(0,-1099284356,1047276236,-1099008397,1041114210)+W(1,-1092208278,-1071665325,-1081084758,1038292116)+W(2,-1104534119,1081581342,1054365119,1054381469)+W(3,1033400256,-1093538640,1062322644,1025804573)+W(4,-1111523652,-1120564910,-1125418381,-1123917868)+W(5,-1086778305,-1100128811,1020505319,1037708884)+W(6,1026238413,-1125603475,1024474915,-1101037019)+W(7,1052085127,-1103707544,1025011807,-1134916894);WS(-1088887374,1070119449); +sum1=W(0,1041554590,1048371361,1052058645,1040460421)+W(1,1038262022,1042754705,1048732808,1013850612)+W(2,-1106869091,1054439312,1047384127,1042710919)+W(3,1046057615,1042772520,1032508990,1044864290)+W(4,-1115426747,1029097335,-1105506686,-1090595183)+W(5,-1087902678,1001782464,-1129317061,-1094790815)+W(6,-1090477876,-1131475029,1038072126,-1106656361)+W(7,-1091795237,-1119515740,1028935005,-1122940954);sum2=W(0,-1112923336,1030035123,1056461606,1024604999)+W(1,1025504127,-1090534096,1050727550,1027433809)+W(2,-1144581942,-1095507508,-1105339223,1007245204)+W(3,1021294865,-1095638178,1043793174,-1129047399)+W(4,1066713447,-1080779344,-1075212110,1071685965)+W(5,1028028856,-1153515923,-1078194918,1068313262)+W(6,-1078816510,1069903211,1068056044,-1081367671)+W(7,-1090770344,1060536751,1064173276,-1081156501);WS(1040470840,1011790950); +sum1=W(0,-1120734562,1051465082,1043725275,1015095158)+W(1,-1118217942,1055309890,1058372660,-1116691398)+W(2,-1123629847,1044874098,1046636817,1019898057)+W(3,1041822001,1040878843,1043010193,1034607368)+W(4,-1108441440,1030149375,-1108386992,-1105535856)+W(5,-1081260869,1026499745,-1112701741,-1095343471)+W(6,-1093096561,-1115283258,1032201014,1047492563)+W(7,-1106259483,-1112399171,1028457510,-1105294873);sum2=W(0,1021246145,-1110014342,-1117997331,1022830461)+W(1,-1114703004,1036613835,-1111993293,1015115055)+W(2,1015720307,-1117604953,1023720090,-1120910531)+W(3,-1123770073,1036937497,-1120463052,983370825)+W(4,-1125616185,-1130403951,1023767946,1037270083)+W(5,1073620398,1050812248,1025796328,1044158772)+W(6,-1087890801,1028283916,-1112499600,-1076883688)+W(7,-1113287589,1033737696,-1104874229,1025754476);WS(1058309838,-1101980246); +sum1=W(0,-1098779704,1049643561,-1110907254,-1118965337)+W(1,-1113399754,1042163763,-1081904943,1049071256)+W(2,-1110569018,-1106220306,1052138696,1026571427)+W(3,-1128371676,-1129449041,1025191299,-1131332475)+W(4,1038999679,-1108240479,1028903966,1038642111)+W(5,1056093093,-1118832415,1040887994,1054751182)+W(6,1050507993,-1104697276,1046797612,-1083956910)+W(7,1030864044,1017502086,-1123883748,-1146247429);sum2=W(0,1043191716,1033166752,-1111106723,-1137655511)+W(1,-1097517035,1052576386,1033268708,-1121349336)+W(2,-1129223371,-1102887232,-1107318253,1046822141)+W(3,-1124684976,993535634,1040601750,-1116759551)+W(4,-1112822728,1027572041,-1112318930,1035105104)+W(5,1055574555,-1097542777,1035699332,-1104857525)+W(6,-1121581721,1031007843,-1110157019,-1114990789)+W(7,-1107957817,1025775603,-1157281192,-1152414880);WS(1063710542,-1111213649); +sum1=W(0,-1110192145,1049489370,1052251350,1039559517)+W(1,-1118762901,1061120005,1058328276,-1107309859)+W(2,1037245627,1033876357,1049656673,-1108199122)+W(3,1035326852,1045428971,1041987905,-1139769966)+W(4,-1097695264,1031901152,-1113889808,-1101160384)+W(5,-1096321197,-1097003636,-1104513406,-1093740712)+W(6,-1114972772,-1176476024,-1112381384,-1097289639)+W(7,-1103522251,-1115185874,1022802380,-1102516745);sum2=W(0,1021750253,1031459540,-1115186477,1026803387)+W(1,-1107480079,1040651083,-1116326399,1040812059)+W(2,-1115082464,1033768858,1020594503,1041131835)+W(3,1001155939,1015478283,-1132516997,1006187407)+W(4,1031446318,-1106593609,-1112425236,999853755)+W(5,1071698983,-1075753828,-1086524651,1058720440)+W(6,1034660038,-1108942599,-1096266051,1051128601)+W(7,1041372466,-1104453127,-1123360193,1027131696);WS(1039772272,-1082982873); +sum1=W(0,-1106264016,1053169593,1049032497,1039127452)+W(1,-1145518233,1056693961,1060522592,-1104546353)+W(2,1044410893,-1088607916,-1095982984,1041713673)+W(3,1007790526,-1120546088,-1099512929,1039725795)+W(4,-1088020664,1043520647,-1155633625,-1098139952)+W(5,1038834197,-1139907193,1040400554,-1087153807)+W(6,1048228018,-1103034636,-1104883452,1053429837)+W(7,-1130616150,1012687882,-1134131855,1030077856);sum2=W(0,-1102803435,1037122437,-1092902636,1032987173)+W(1,-1101871105,1067610414,-1083842457,-1097110538)+W(2,-1123533577,1041814167,1033006847,-1101555589)+W(3,1048796624,999019252,1045724867,-1098769512)+W(4,1039508875,-1101516234,1032111389,1027660911)+W(5,1067552095,-1104358647,1001644292,-1115097563)+W(6,1026567371,-1104681426,-1145661076,-1096151174)+W(7,-1105667947,1028203943,1020958965,-1107225085);WS(-1101412664,1073047832); +sum1=W(0,-1123950537,1047579477,1059007377,-1113880945)+W(1,-1123565085,1056063051,1060416389,-1109995975)+W(2,1035385983,1040643140,1046383171,-1123728428)+W(3,1010675502,1041003725,1033389702,-1115318676)+W(4,-1097814305,-1131741454,-1133362719,-1091904865)+W(5,-1092124214,-1113780884,1032803377,-1087199740)+W(6,1038341800,-1126485237,-1113889390,-1099567891)+W(7,1042882861,-1096461162,1012558775,-1119557930);sum2=W(0,-1123503757,1039110679,1030949359,1013686761)+W(1,-1115490710,1027204409,-1105775253,1035262859)+W(2,980681483,-1111394964,1019519396,1025861040)+W(3,-1129892230,-1126757058,1024413043,-1125276038)+W(4,1035635962,996209923,-1132915573,-1109223248)+W(5,1057425426,1070858778,1029135163,-1106751414)+W(6,-1098000154,-1098902818,1067133266,1043312829)+W(7,-1103421662,-1073095921,-1083268694,1051287795);WS(-1103532344,-1105840701); +sum1=W(0,-1106322913,1053932942,-1105825052,-1106756472)+W(1,-1096389739,-1098358914,-1086676361,1029810954)+W(2,1035916925,-1096691570,1054020609,-1116067305)+W(3,1034505108,1026552303,1051257001,-1105566449)+W(4,1007328528,-1104890465,1044840709,1050195304)+W(5,1054492326,-1098185309,-1144507642,1057202097)+W(6,1012599092,1048715303,1032208700,-1093369370)+W(7,-1101687900,1050640157,-1100267787,1027855335);sum2=W(0,-1119262447,-1109186725,-1101137684,-1111707317)+W(1,1056036881,-1099242284,1049211868,1037989791)+W(2,1006194414,-1118866635,1038198606,-1105645897)+W(3,-1129479912,-1114787638,-1109483964,-1146663095)+W(4,-1107841286,1034593530,-1103752872,-1116414033)+W(5,-1094543747,1049861706,-1110917586,1056722210)+W(6,-1104714858,-1103907620,1030171051,1053421235)+W(7,-1115357885,1029169157,1032413269,-1120693058);WS(1045178680,-1115117954); +sum1=W(0,-1123018420,-1113607536,1048681528,-1102680211)+W(1,1024407336,-1093530556,-1092105355,-1116849368)+W(2,1026392201,-1102060551,-1096193779,-1107241006)+W(3,-1123314455,-1095199752,-1102337510,-1107918421)+W(4,1040296293,1012835273,1008490315,1019008549)+W(5,1061339424,-1128145511,1027033246,1035615004)+W(6,1055864515,-1110547491,-1103222073,1057711678)+W(7,1052562824,1020395952,-1110097884,1045891981);sum2=W(0,-1115537892,-1104693583,-1096948503,-1108321996)+W(1,998645667,1055675007,1047339287,-1106228104)+W(2,1035781218,-1100682049,1049114511,-1112292909)+W(3,1018530825,-1113969306,1032758858,-1111036660)+W(4,-1112710060,1022753169,1026091852,-1112108000)+W(5,1051246853,-1105262859,-1120501740,-1126080161)+W(6,1025978716,-1139782977,-1123292948,1041989299)+W(7,-1113712936,1033000622,-1111667328,1034053890);WS(1044590904,1058699692); +sum1=W(0,1034192409,-1090621088,-1092606720,985175380)+W(1,1024014533,-1113905855,-1093618783,1020554347)+W(2,-1128687821,-1112503613,-1096920415,-1115433194)+W(3,-1115445028,-1101027255,-1100279725,1008304190)+W(4,1050384326,-1109361592,1009220799,1051210502)+W(5,1062574818,-1128567457,-1117059707,1055009987)+W(6,1031218808,1039114097,1015981863,1054554325)+W(7,-1144235755,1035507338,-1127205548,-1105751509);sum2=W(0,-1117283755,1041337919,-1108619644,1036009101)+W(1,-1107239966,1053310286,1012813669,1033667347)+W(2,-1128406639,1029066827,-1103814148,1034685217)+W(3,-1125402335,-1123197815,-1109499964,-1123321687)+W(4,-1100684466,1035041542,-1131279719,1010492213)+W(5,1056064408,1025470531,-1124020763,1015579759)+W(6,-1113069964,-1104788458,1032198922,1050883237)+W(7,-1096911819,-1108347132,1024066141,-1098878001);WS(1044030776,-1089132931); +sum1=W(0,1032883970,-1097458090,-1093699058,1034269487)+W(1,1044751430,-1078975458,-1086092656,1042439154)+W(2,1041434446,1038040390,1035194756,1019707982)+W(3,-1128708109,-1101499019,-1131544335,-1133288904)+W(4,1050995424,-1135242887,1040395197,1045160768)+W(5,-1096290982,1048952172,1040422743,1057188990)+W(6,1043682915,1043586045,1042217766,1032938655)+W(7,1043305900,1044718778,1029073256,1022768458);sum2=W(0,-1127265324,-1107127922,-1107262777,1043294282)+W(1,1051203976,-1114081637,1048700262,1035036911)+W(2,1037063919,-1087538045,1027047222,-1092441683)+W(3,-1096741875,-1114635611,1043898666,-1095318743)+W(4,-1133435576,-1101649503,-1112978295,-1132728616)+W(5,1060204569,-1138065032,-1142433873,-1115280193)+W(6,1059699424,1027406094,1049542158,-1096051714)+W(7,1057805441,-1117298502,1036599707,-1091030613);WS(-1083489614,-1078579141); +sum1=W(0,1048897616,-1104759380,-1091060438,-1113694287)+W(1,1029397720,-1096433234,-1089217572,-1104500498)+W(2,-1099529286,-1103761763,-1090900481,1039983475)+W(3,-1100400745,-1098862766,-1126261903,1047818144)+W(4,1055607032,1045345264,1022130309,1048678744)+W(5,1056656214,1045280313,-1098656951,1025763911)+W(6,1039576037,-1104729181,1003335600,1055730826)+W(7,1044462332,-1124798927,1045845834,1050842685);sum2=W(0,1036831152,1008734783,-1113896283,1034867092)+W(1,1050005016,1036439980,-1107821706,-1155378720)+W(2,-1107857756,-1103852014,-1105188391,-1109019109)+W(3,-1105627363,1036502992,-1113326142,1025727369)+W(4,-1143881728,1048547317,1053130734,-1089397746)+W(5,1067046868,-1081990202,1050664536,-1090933436)+W(6,1073004488,-1073650181,-1073616958,1074023168)+W(7,1068047188,-1079035066,-1078582463,1071596064);WS(-1123566816,-1118788492); +sum1=W(0,-1136553988,1054570946,-1131696345,1034266605)+W(1,-1119057557,1057910725,1043367745,1032767842)+W(2,-1138237144,1050053561,1051309065,1032596498)+W(3,1038972738,1047609962,1044754161,1034235800)+W(4,-1101485920,1027694719,1029920799,-1102436480)+W(5,-1081257723,1038070160,1029228634,-1093672570)+W(6,-1097237249,-1104490509,1041012541,-1104247863)+W(7,-1118734125,-1101643609,1036672371,-1100737384);sum2=W(0,1006355343,1048575251,-1108935456,1001205015)+W(1,-1119701641,-1088419213,-1114918170,1030505158)+W(2,-1107202062,1045905661,1032736312,1039794598)+W(3,-1115440174,1003805295,-1116946341,1026836118)+W(4,1037564428,-1123825361,-1151981614,-1123729961)+W(5,-1068662368,-1095410362,1015236500,-1096130861)+W(6,1068403675,-1105335733,1049774729,1076967646)+W(7,-1124006983,-1103176791,1050153445,-1104305708);WS(-1103567160,1051728620); +sum1=W(0,-1105517764,1027268637,1037463598,1022317012)+W(1,1030946149,-1094107172,1052072875,-1109296554)+W(2,-1117957958,-1098739651,-1087396213,1032988986)+W(3,1009731405,1017302004,-1104965205,1025729823)+W(4,-1107670055,1024776175,1033922872,-1094952698)+W(5,1052944567,1043766492,1038888053,-1103880757)+W(6,1052382091,-1108829569,-1110506946,1057943536)+W(7,1041821631,1015545129,-1132271979,1036164793);sum2=W(0,-1114551402,1026829489,-1127050317,1031290011)+W(1,1025723227,-1098446681,1032334734,-1137203270)+W(2,-1107112701,1041376772,1041359246,1020823723)+W(3,-1140368490,-1104694439,1034398482,-1156747895)+W(4,1042490649,-1076466135,-1080536402,-1113481669)+W(5,-1127701979,1074254195,1038797044,1043198364)+W(6,-1100591458,-1118262367,1035340712,1057793899)+W(7,1037536680,1032104302,1013380262,-1114292550);WS(-1106439480,1029090439); +sum1=W(0,-1151887836,1030625962,1042655458,1034559195)+W(1,1042053132,-1084013087,1059377738,1020849475)+W(2,1043814293,1032281331,-1107145304,1043127920)+W(3,1043715864,1033172451,1040913704,1037260390)+W(4,-1115609614,1035325646,1026400220,-1102396839)+W(5,-1083731653,1039293086,1042909598,-1089162129)+W(6,-1107154457,1024778063,1029716960,1052971191)+W(7,1017680531,-1130742978,1028666946,-1113717087);sum2=W(0,-1123636938,-1148550480,1021999108,-1129107524)+W(1,1035143287,1058583951,-1104180688,-1116921954)+W(2,1026655402,-1116180274,-1112895549,1036996009)+W(3,-1126794884,-1138164712,-1131502740,-1117010042)+W(4,1016982596,-1140398984,-1129901940,1022835844)+W(5,1054454385,-1117386658,1030858450,1016773924)+W(6,-1099699990,-1118751234,-1108156993,-1097314323)+W(7,-1129763396,-1117013506,1016259828,-1132536424);WS(1048151864,1059242544); +sum1=W(0,-1121466768,-1097911384,-1097114939,-1122367849)+W(1,-1116044868,1042506911,-1085899247,1042165293)+W(2,1037358179,-1105063934,1056857214,-1105437493)+W(3,-1111398955,-1106114902,-1123578292,-1125163356)+W(4,1033810391,1014185912,1026875087,1043794348)+W(5,1042284551,-1111561384,-1106211614,1063564267)+W(6,1049648847,1028107682,1040868541,-1089674786)+W(7,1045389303,1010402126,-1111395274,1021855394);sum2=W(0,-1108856547,1041627874,-1110557326,-1139648101)+W(1,-1095822659,1054902128,1032833232,1015236663)+W(2,1038373686,-1121592121,-1098765424,-1137977893)+W(3,1025690243,-1117564251,-1106594443,1015865663)+W(4,-1106727608,987619817,1039330638,-1106733442)+W(5,1055403310,-1095503796,1025349119,1048813377)+W(6,1045561320,-1108448514,1050144719,-1097123375)+W(7,1017823319,-1105901385,1041979856,-1106386080);WS(1058511566,1043187024); +sum1=W(0,1027981614,1044640335,1041476871,1042620242)+W(1,1050564856,-1085132912,1039039385,1037513401)+W(2,1044188393,-1116362934,-1095196494,1040390932)+W(3,1043046140,-1105825814,-1107832665,1032851398)+W(4,-1120607404,1040914531,1043942651,-1106861387)+W(5,-1089194338,1048598306,1040902562,-1101062960)+W(6,-1134658518,1032634704,1019897185,1032203084)+W(7,-1105488567,1032742569,1027555603,1026497359);sum2=W(0,-1132385524,-1089624726,-1083260450,-1094808435)+W(1,1039748829,1063143581,-1098133391,-1110994277)+W(2,1012861192,1040218148,1043371703,1038866141)+W(3,-1132742376,1052570990,1012758152,1030487914)+W(4,-1102801635,1034887813,1026111290,1041967320)+W(5,1037743779,1033106845,-1123786474,1050258559)+W(6,-1112998265,-1121754906,-1110363077,1048943341)+W(7,-1105604919,-1111765769,1012203560,1031702418);WS(-1087236686,1061665912); +sum1=W(0,-1116162424,1030200068,1023071688,-1115274057)+W(1,-1093387666,1067462106,1054050807,-1104461343)+W(2,-1115159031,1031104576,1050597447,-1113556238)+W(3,-1121543315,1042315272,-1121547516,-1126942285)+W(4,-1101866270,-1128116268,-1119301463,-1107980923)+W(5,1056570668,-1095571507,-1109238785,-1092884195)+W(6,-1106234576,-1111522325,-1103733247,1044256537)+W(7,-1114796114,-1109780718,-1111458030,-1128835891);sum2=W(0,1024854732,1020748524,1024134807,-1127633710)+W(1,1040493279,1065417820,-1117094752,-1123781128)+W(2,1033983514,-1102101577,1047826025,-1105896535)+W(3,-1120616672,-1124130304,1040101538,-1122459292)+W(4,-1098546148,1025355297,-1109129714,-1114424195)+W(5,1059484680,-1114766469,-1102118069,-1079772750)+W(6,1049649199,-1154145757,1033237727,-1107504040)+W(7,1041220419,-1123999628,1012710689,-1105983778);WS(-1092106140,-1084163121); +sum1=W(0,1016904817,1040213041,1049849489,1036347305)+W(1,1040590819,1048812489,1056746079,1034414494)+W(2,1030378702,1040726752,-1084779712,1047670567)+W(3,1037868673,1034988241,1033236350,-1114654031)+W(4,-1152694122,-1115216475,-1106738110,-1101083230)+W(5,-1107117385,1022569263,1039797369,-1083169173)+W(6,-1109066592,-1125038036,-1112982247,1051667767)+W(7,-1107106473,-1146668256,1025136605,1024925978);sum2=W(0,-1128843246,-1134810723,-1111008682,-1144361879)+W(1,-1104940693,1054697191,1041181160,1005924247)+W(2,1030348431,1042931729,1052731012,-1123234701)+W(3,1024671661,-1111460488,-1112071203,1032437115)+W(4,-1121102479,-1116668390,1021883158,-1092072719)+W(5,1046555600,-1113715104,-1109114373,1045581242)+W(6,-1104348933,1032936433,-1128555074,-1103970223)+W(7,-1129885552,-1114960949,-1136719027,-1113690885);WS(1058637774,-1109876822); +sum1=W(0,1041301297,-1105094644,1042623060,-1123254812)+W(1,-1113241451,1043969956,1059472952,-1108082435)+W(2,1027216056,1026816394,-1113269955,-1110973875)+W(3,1019588394,1026167148,-1130602892,1014894339)+W(4,-1111052512,1037949088,-1112485473,-1126486401)+W(5,-1094009726,1038892497,1016105496,-1094910408)+W(6,-1100061186,1032398170,-1093047519,1058531737)+W(7,-1117291247,1021704844,-1128303438,1032486130);sum2=W(0,1031923668,1026573624,-1103677237,1019183838)+W(1,-1096362417,1060010174,-1101357077,1049015983)+W(2,1036998273,-1106684685,-1122620605,1005830618)+W(3,-1125844722,970656667,1023743335,-1119396253)+W(4,1025625867,1024201143,-1115238116,1041385745)+W(5,-1096248497,-1122837727,1024442030,-1095136476)+W(6,1049273019,1031554545,1034369966,-1115221092)+W(7,1011280453,1010302645,1004099770,-1112424814);WS(1068382951,-1145853862); +sum1=W(0,-1120835030,-1104742016,-1104283584,-1109092968)+W(1,1033165317,-1082841532,-1087137628,1015957108)+W(2,-1098982451,-1119342334,1048723479,1015780402)+W(3,-1105810191,998682871,1037068029,-1106789039)+W(4,1048835390,1035504970,-1142984099,-1126224104)+W(5,1050512116,1036256010,1044651720,1060142968)+W(6,1046183055,-1112268532,1040271692,1050625794)+W(7,1042826568,-1113754717,-1115364877,1033167819);sum2=W(0,-1123754179,1032442894,-1105845074,1042289605)+W(1,1025996190,1055606718,-1090127653,1040865617)+W(2,-1118459936,1026136504,-1104101067,-1100913998)+W(3,-1118182115,1045409779,1031986833,-1114401734)+W(4,-1106552079,1028813354,1041479887,-1105090355)+W(5,1073431719,-1084272058,-1087510643,-1075116096)+W(6,1042119939,-1131666845,1045036562,1067916428)+W(7,1031635830,-1131440550,1021173748,-1112990087);WS(-1115823328,-1115141930); +sum1=W(0,1043355533,-1093401724,-1096937968,994860217)+W(1,1031967699,1057829358,-1082957735,1046651158)+W(2,-1139800861,1049387203,1054780763,-1112906011)+W(3,1021673189,1032667294,1029694230,1032268536)+W(4,1045563268,-1100277972,1022968545,1034643656)+W(5,1053028032,-1113373017,-1106135459,1056739037)+W(6,-1100812438,1042166401,1036473238,-1085595451)+W(7,-1163065290,1026417494,-1109328859,-1112691098);sum2=W(0,-1106230161,1034312638,1006794492,1041009418)+W(1,-1100787264,1060460225,-1108126219,-1113994011)+W(2,-1114680808,-1097084093,-1119222967,-1102450993)+W(3,-1145068408,-1105852265,-1125377404,1031764893)+W(4,-1120362931,1021996758,-1126244586,1023178506)+W(5,1054015707,997147503,-1131146954,-1105213924)+W(6,-1133314452,-1126416406,-1107185372,1053508358)+W(7,-1120752408,-1131039214,-1126617106,-1141774536);WS(1044911928,1063248560); +sum1=W(0,1045807559,1006551364,-1089987573,-1117210934)+W(1,-1122601008,-1098705597,-1085623154,-1116245664)+W(2,-1102494868,-1098692501,-1089608778,1041679280)+W(3,-1101059428,-1100421777,1040126000,1044187563)+W(4,1049202419,1049427019,-1154913199,1050931427)+W(5,1056494849,1043742399,-1098224261,1044690392)+W(6,1047881833,-1102952115,1009817082,1054654497)+W(7,1043071666,-1132265536,1048685800,1043119951);sum2=W(0,-1104703066,-1126406622,1031814971,-1110897864)+W(1,-1102025112,-1088994686,-1112535334,1039476246)+W(2,1044782005,1038057456,1050082866,1041770976)+W(3,1045848501,-1098794387,1029663347,-1112640404)+W(4,1034850394,-1097166620,-1090228093,1060526454)+W(5,-1088701567,1063814816,-1091926928,1060516426)+W(6,-1075073775,1073862535,1074296249,-1072347435)+W(7,-1081012351,1067785227,1067261757,-1077197270);WS(-1105546040,1026157880); +sum1=W(0,1036866652,1043435937,1040614249,1040950836)+W(1,1057171433,-1092874056,1048836647,1045419231)+W(2,1040737235,1037560064,1049109967,1039696013)+W(3,1043417390,1020658754,1039556030,1031337694)+W(4,1032157499,1032871003,1036650571,-1102499357)+W(5,-1078642173,1040635958,1035867609,-1088963702)+W(6,999044599,1035782037,1039966133,-1094603626)+W(7,-1101965321,1029450491,1034875342,-1107844556);sum2=W(0,965076992,-1142972544,1033414560,999804672)+W(1,-1113573416,-1080122522,-1117537424,1017997216)+W(2,1013150208,1009041344,-1116987776,1015814944)+W(3,-1116017408,-1123867424,1030258512,1004325632)+W(4,-1152459008,-1114613368,-1111239120,-1131242272)+W(5,1068973644,1009242816,1024438240,1043660652)+W(6,1023678672,-1111376032,1026341216,-1113471168)+W(7,1025739248,1011147520,-1124670336,-1115573696);WS(-1081027239,1060388068); +sum1=W(0,1018532824,1052335227,1049191505,1040945153)+W(1,1050078256,-1089652372,1053224518,1048158700)+W(2,1045983912,1019623144,1050009062,1043330564)+W(3,1042366848,1037373643,1043374892,1034126717)+W(4,-1106690587,-1126830164,-1142725077,-1103567931)+W(5,-1079677805,1037048166,1044049241,-1098210230)+W(6,-1102526621,-1124021470,1037549983,-1090769236)+W(7,-1106920486,1000910717,1031972104,-1113976903);sum2=W(0,1023484285,1031916514,-1119356133,1029289565)+W(1,1044843621,1057057740,-1120749829,1041097307)+W(2,-1108647964,-1098024997,1055633817,-1101664529)+W(3,-1129898257,-1101101054,1038083406,-1111945130)+W(4,-1111485988,-1133461586,-1119814653,-1126159585)+W(5,1024531885,1001931237,-1112201820,-1121314077)+W(6,1016983721,1019582313,1035253182,-1102656055)+W(7,1022769465,-1110859200,1011319026,-1105960100);WS(-1121436896,-1083449266); +sum1=W(0,-1126965659,1026072602,1057845458,-1131437006)+W(1,1049661628,1047051462,1058188821,-1106898372)+W(2,1048826500,1049513187,1036301673,-1110051320)+W(3,1030351624,1043516478,1026266705,1018834023)+W(4,-1106937331,1025271436,-1112818966,-1096100393)+W(5,-1093909527,1039868950,-1120770471,-1089458543)+W(6,-1097831955,1048680544,-1101852248,-1105302990)+W(7,-1094725407,-1137214404,-1111779257,-1115312055);sum2=W(0,1016993788,1030590564,-1118806788,1025140224)+W(1,-1085967118,1078987048,1042721449,-1106156741)+W(2,-1066270592,1069325982,1078555235,-1070014283)+W(3,-1115300709,1026006822,1051485796,-1089828448)+W(4,-1118559458,991152164,1031495588,-1126785121)+W(5,-1100137345,1040984057,1038491925,-1106137914)+W(6,-1105174392,1030579932,-1111978905,1044823121)+W(7,1011662011,-1120641633,-1113499951,-1121082393);WS(1060473294,-1125032523); +sum1=W(0,-1131528546,1048790648,1043924207,-1118381578)+W(1,1044891665,-1096003632,1057928103,-1103035725)+W(2,1038728371,-1127678449,-1104437021,1017562024)+W(3,1017619335,1019650740,-1138265298,1013193724)+W(4,-1094915206,1032416951,-1103983036,1028842287)+W(5,-1089668066,1041536420,-1131359957,1048586166)+W(6,-1106021950,1026802338,-1119623443,1048997587)+W(7,-1112334062,1028850580,-1112764523,1016196772);sum2=W(0,-1154979909,-1104183315,1023871771,-1124013145)+W(1,1042673063,-1099433949,1024353365,-1113455493)+W(2,-1131887235,-1106752952,1037029004,1009341589)+W(3,-1120394460,-1135604889,-1136822537,-1126494367)+W(4,-1104961174,-1105906795,1027246941,1041717973)+W(5,1075222357,1048045634,-1114760758,-1071159846)+W(6,-1106459992,1027783079,-1101645527,1061754151)+W(7,1020599743,1023779471,-1130069351,1037905746);WS(1063175758,1049951270); +sum1=W(0,1041620825,-1091045702,-1084051495,1051934199)+W(1,1019501037,-1103613676,-1089200998,1053157077)+W(2,1024394007,1042850683,-1103906809,-1121035141)+W(3,999909159,-1106705027,-1117239270,1034798936)+W(4,1046456792,1028165760,1028219745,1040719576)+W(5,1050464826,1037889601,-1110307566,1054477181)+W(6,-1097805325,1054554722,1045652053,-1098419444)+W(7,-1091232034,1056053333,1031152711,1011564046);sum2=W(0,1042259987,-1095572989,1062079447,-1091471926)+W(1,1049412228,-1092861102,-1089203271,-1103057728)+W(2,-1116401558,1047552828,1034556296,1044973062)+W(3,-1130123924,1051271629,-1110031497,1011000463)+W(4,1041645665,1033532620,1015596856,1055700238)+W(5,-1093629070,1042934527,1035045090,1037140407)+W(6,-1106623325,-1106239816,1032040702,-1095940003)+W(7,1053844390,-1095799213,1033073048,-1107294450);WS(-1085388366,-1090694979); +sum1=W(0,-1119481145,-1130943626,1044273497,-1123787314)+W(1,-1112850502,1059845268,1047368143,1032777214)+W(2,-1125429276,1039407200,-1095680144,1041751591)+W(3,-1113892940,1032644049,990533574,-1140788444)+W(4,1041576542,-1117135031,-1115475932,-1108110651)+W(5,1027588771,-1101064470,1040347561,-1087220302)+W(6,-1111657568,-1126225621,1037523789,1036323946)+W(7,-1143449895,-1109271006,-1134357621,1021334836);sum2=W(0,1013881877,-1105376838,1037736456,-1107190004)+W(1,-1121103222,1042717593,-1123416196,-1118295314)+W(2,-1115317828,1043660085,-1115549939,-1127822751)+W(3,-1114801766,1040920849,-1126402007,-1126179247)+W(4,1040619572,-1122228614,-1120404934,-1125693587)+W(5,1068021664,-1087341114,1051908042,-1082924015)+W(6,-1108863865,-1125959243,1042189807,1016978358)+W(7,-1107267301,1023515477,1038966556,-1136349779);WS(1065904679,-1122628785); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -3), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -1), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 1), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 3), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -3), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -1), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 1), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 3), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns128, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/gather/nnedi3-nns128-win8x6.glsl b/shaders/nnedi3/gather/nnedi3-nns128-win8x6.glsl new file mode 100644 index 0000000..4c423c6 --- /dev/null +++ b/shaders/nnedi3/gather/nnedi3-nns128-win8x6.glsl @@ -0,0 +1,378 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns128, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,1017020226,-1120184142,-1151849881,-1138315554)+W(1,-1098719688,-1094289569,1052033568,1054031418)+W(2,-1144117236,1029415347,1026313661,-1110814528)+W(3,-1113913797,-1137890034,-1139428474,-1130100551)+W(4,-1094215666,-1084764287,1050615732,1057266643)+W(5,-1122295896,-1158862002,1037955767,-1136459684)+W(6,-1105019328,1030136834,1024054031,-1115186183)+W(7,-1093503073,-1122358095,1051842684,1060278709)+W(8,-1115484761,1027215228,-1118592012,-1125342359)+W(9,-1119041199,1009291685,-1134121575,-1123693866)+W(10,-1104408867,-1101060057,1050624038,1049323809)+W(11,-1148196514,-1131405947,-1117980571,-1141919603);sum2=W(0,-1112090344,1032910614,1021515189,1011608699)+W(1,1018826733,-1103038162,-1112298310,1035039469)+W(2,-1126912052,1027816837,1030536589,-1130070276)+W(3,-1111235489,1050015381,-1109181339,-1133688887)+W(4,1035541017,-1096237270,1079505355,1068933685)+W(5,-1119314146,-1132054353,1047170650,1002846254)+W(6,1041065097,-1106592726,-1120491130,1032724543)+W(7,1051919390,-1101133158,-1067816278,-1082386736)+W(8,1004049262,1017068057,-1108914015,1012706615)+W(9,-1112521193,1032648390,1020760181,997621755)+W(10,-1120644044,1029904493,-1123411157,-1094139890)+W(11,1020965593,1017829425,-1115273665,1011888367);WS(1038714296,1044827315); +sum1=W(0,-1137155124,-1139148008,1000000044,1008773074)+W(1,-1100726684,-1106613964,1051571686,1058392080)+W(2,1034472653,-1136883834,1034039029,-1097060854)+W(3,-1110040196,-1114984084,-1155069097,-1125197471)+W(4,-1093356205,-1087655353,1059856605,1058043460)+W(5,1033872898,-1122772178,-1137125990,-1112523275)+W(6,-1117135435,1038803511,-1147450330,-1128457331)+W(7,-1093486798,-1088451200,1050763009,1053821137)+W(8,-1125370043,1027534056,-1131894321,-1134047198)+W(9,-1110360429,1046900069,-1131672268,-1142834606)+W(10,-1109846237,-1093848946,1049636107,1046500044)+W(11,-1126166913,1020331091,-1108292068,1021083253);sum2=W(0,-1116671780,-1111301077,982126402,-1123255245)+W(1,1061532718,1066141278,1053914306,1046375724)+W(2,-1094346395,-1108898352,1041257894,998291536)+W(3,1011773496,-1102830064,1036976721,1020504368)+W(4,1064263836,1055449836,-1106352300,1013495848)+W(5,1023084860,1037821947,-1101238723,1023442398)+W(6,1031803093,1045043848,-1157600449,-1113656730)+W(7,-1076699072,-1085904680,-1094946683,-1103067006)+W(8,-1123876988,1041381351,1048924521,-1103198508)+W(9,1026389126,1022832316,1032297389,-1129338356)+W(10,-1099822488,-1092845936,-1098417421,1036977493)+W(11,-1109391389,1023206676,1053328593,-1109968297);WS(-1087781687,-1134030789); +sum1=W(0,-1113846601,-1129634048,1037437606,1028179002)+W(1,1056064759,1049319247,-1098510574,-1090428884)+W(2,-1123784128,1016685513,-1105760812,-1116809458)+W(3,1045066941,-1108576055,1040743460,-1106850597)+W(4,1048732210,1054487227,-1094444002,-1095161561)+W(5,-1105661778,1048222150,1050640540,1007721067)+W(6,1030205873,-1117192467,-1122790273,-1123964671)+W(7,1044300425,1055338520,-1098192922,-1095134094)+W(8,-1110013906,1033480951,-1106372902,1040160031)+W(9,1027547489,-1110675758,1027799500,1036030878)+W(10,1034894336,1053272331,-1095206484,-1101066654)+W(11,-1112122819,1033810456,-1138309939,-1109703824);sum2=W(0,-1119401943,1013558867,-1134698244,1023697539)+W(1,1025267901,1033970227,-1112961274,1010071413)+W(2,-1122026299,1005039212,-1116217767,988018625)+W(3,-1119659280,1038666215,1024534132,1018187921)+W(4,1048742053,1082848284,-1097296472,1019163177)+W(5,-1115786374,1042066180,-1064739318,-1103390691)+W(6,-1120396841,1035154544,-1142625275,-1145140771)+W(7,1060700209,-1115995862,-1105855221,1033089456)+W(8,1017803659,-1115628759,1042818438,-1086947071)+W(9,-1131590401,1021197862,1007645751,-1141296989)+W(10,1035612397,-1123714371,-1120357988,-1156341795)+W(11,-1150181080,1011442501,1029308077,-1109434149);WS(1060770743,-1108197568); +sum1=W(0,1029069588,1038531041,-1160198547,1016886775)+W(1,1046558478,1048524254,-1096395039,-1095627128)+W(2,1009558662,1033422755,-1097778094,-1146067869)+W(3,1041390628,1022402527,-1139668038,1015246637)+W(4,1058409012,1050284011,1057717017,-1086831062)+W(5,1033638277,1029754521,-1110221104,-1098986327)+W(6,-1103954605,-1112398730,1019206597,1034731136)+W(7,-1083755424,-1092005688,1053908426,1056693263)+W(8,-1119102757,-1130383710,1037994808,1042951984)+W(9,-1117714338,1039312430,-1115649126,-1123983389)+W(10,-1101033824,-1131529899,1038174992,1043180606)+W(11,-1114155844,-1129441697,1000398449,1025216609);sum2=W(0,1041755532,-1099902739,1026676440,-1104188915)+W(1,1028942726,-1105392496,1048552390,1039915367)+W(2,-1104654601,1033528857,-1104867005,1030445090)+W(3,1020538503,-1096783078,1024214572,-1122447814)+W(4,-1106738713,1066518668,1068731351,-1105911641)+W(5,989961401,-1133955554,-1126700225,-1106850996)+W(6,-1094671115,-1096595186,1039804037,1036156927)+W(7,-1122053390,-1123632409,-1091471401,-1096057439)+W(8,-1153726297,1032072745,-1113480650,1025639958)+W(9,-1108992818,1023478108,1023379743,-1140508998)+W(10,1032650381,-1109607147,-1096750685,1033306823)+W(11,-1128986161,1023561226,1031767054,-1115144981);WS(-1105940700,1068951582); +sum1=W(0,-1126610867,-1119652358,1035444041,1000087558)+W(1,-1103531583,-1095183320,1048983991,1040363554)+W(2,1033586531,1011542187,1041424541,-1126498674)+W(3,-1105308514,1025089333,1033866603,1016288952)+W(4,1035540828,-1091977028,1043404182,-1129232537)+W(5,1018737568,1021129404,-1108874003,-1116171169)+W(6,-1101500686,1024487034,1030903912,1023501510)+W(7,-1098956255,1016827662,1032787659,1050470779)+W(8,1033496245,1023594100,-1115835365,-1107291841)+W(9,1036868116,-1137536646,-1139243976,-1121882082)+W(10,-1107477027,-1111432589,1051055933,1042688239)+W(11,1015384473,1034920923,-1101253029,1038297635);sum2=W(0,-1102554320,1044079872,-1122059260,-1123978268)+W(1,1026913323,1056944699,-1111536011,1043643239)+W(2,-1112242992,1005844362,1037617295,1031431539)+W(3,-1093658955,-1094337979,1036141312,-1123592170)+W(4,-1093217948,1064662115,1067907418,1042723115)+W(5,-1101249260,1042545272,-1090550375,-1103624535)+W(6,1045282706,-1139302445,-1127043568,-1111710804)+W(7,-1091166584,-1092135065,1035940631,-1118927202)+W(8,-1111294278,1025042022,-1112133073,-1119161360)+W(9,983065168,-1105233712,-1120657957,1040694361)+W(10,1041761864,-1104693620,1027935282,1016057395)+W(11,1026789959,-1114223884,-1106943303,1014979737);WS(1061289911,-1074625008); +sum1=W(0,1035013222,-1110099132,1042690449,-1118986355)+W(1,-1087592511,1013931199,1047068971,1058027688)+W(2,1048036382,-1106703359,1008030621,-1107213995)+W(3,1048074309,-1101544522,1032007652,1022020251)+W(4,-1088015817,-1099315493,1058005973,1036127926)+W(5,1044183504,1029001296,-1093058723,1042727509)+W(6,-1102744618,1043103143,-1108674269,1040686510)+W(7,-1091144488,-1088950448,1057593649,1048070472)+W(8,-1106075703,1048869669,1002612916,1042938237)+W(9,-1099009366,1038471242,1033202498,-1123719572)+W(10,1033106140,-1090129177,1055515931,1043345580)+W(11,-1107279296,1042195418,-1113377491,-1110941900);sum2=W(0,1047600068,1074182899,-1104469346,1034897388)+W(1,1032211690,-1124075063,-1074957140,-1092005485)+W(2,-1111289614,990179414,981988140,1046053217)+W(3,1080728354,1077196082,1033162274,-1104312342)+W(4,-1100127529,-1093339345,-1071410100,-1067981267)+W(5,-1123826485,-1109598746,1030504779,1036844207)+W(6,1039546617,-1121476275,-1119055011,1001538203)+W(7,1036352485,1008083901,1042351425,-1101189403)+W(8,1036519612,-1146561467,-1101604075,1025223671)+W(9,-1113609974,-1124909535,-1122390571,1036889309)+W(10,1032631324,1002134635,1037135096,-1113906708)+W(11,1017678167,-1132393287,-1113103836,1034478190);WS(-1106894556,1030995446); +sum1=W(0,1033805806,1025291593,-1123387156,1025589699)+W(1,-1098701288,-1096105008,1054610112,1034528997)+W(2,1027839817,-1123546765,1037953340,-1119393787)+W(3,-1127599047,-1105750398,-1139656804,1028556318)+W(4,-1091536615,-1090836572,1065523109,1039781117)+W(5,1027349522,1022652480,-1103173850,-1120434724)+W(6,-1104274718,-1117867836,-1128131860,980812294)+W(7,-1097995702,1039238949,1045458038,1054896451)+W(8,-1135075504,-1125284461,-1104116474,-1111869411)+W(9,1018769427,-1114245906,1017797929,-1137342353)+W(10,-1110811780,1001735913,1047692618,1040199808)+W(11,-1152753902,-1131064048,-1106977725,-1129786002);sum2=W(0,-1096073996,-1132437108,-1110091164,1030581609)+W(1,1036583621,1040176294,1031847146,-1104952058)+W(2,1023568502,-1124563800,-1120421639,1006888722)+W(3,1051933742,1042406776,-1124528958,1024868796)+W(4,1056082302,-1080138625,-1071401906,1077840619)+W(5,1026684617,-1114165836,1012484405,-1114613612)+W(6,-1117745155,-1117509823,1022252519,-1175372351)+W(7,1039833458,1041695761,-1107574374,-1108532142)+W(8,-1139194300,1023135287,-1112420268,1044393926)+W(9,-1110977956,1029056744,-1123316826,-1123141270)+W(10,-1119756119,977900031,1034383482,1034777920)+W(11,-1122696127,1034470668,1027961212,1028893644);WS(-1094248046,1034739186); +sum1=W(0,1043421097,-1114752489,-1148807918,-1121641997)+W(1,1057979744,1045790578,-1097763033,-1090462057)+W(2,1019430629,-1115505835,-1105205440,1042504017)+W(3,1040593858,1043491504,-1118546659,-1119896808)+W(4,1054873978,1054724534,-1089142502,-1089339622)+W(5,1008619887,1038945077,-1114903193,1029920941)+W(6,1033892386,1035924243,1027770003,-1117202258)+W(7,1056858543,1046524773,-1098379668,-1089696734)+W(8,1025474934,-1148381698,1042806872,-1102740772)+W(9,1032482905,1031829015,-1114510703,-1121511758)+W(10,1049846778,1056083605,-1089945727,-1096843609)+W(11,1017864241,1029503362,1031492831,-1103488653);sum2=W(0,-1111104155,1022922994,1024571549,1032629114)+W(1,1069180600,1065968459,1047799465,-1111175727)+W(2,-1081878912,-1085703668,-1106624299,-1092657949)+W(3,1036988882,-1104365480,-1120833813,-1123705993)+W(4,1066031139,1064223912,-1098359864,-1121840686)+W(5,-1080884055,-1079207816,1044325339,1026540087)+W(6,1038064580,-1119955010,-1113289848,1031286487)+W(7,1062275672,1060225053,-1115327032,1008715668)+W(8,-1083548865,-1085294305,-1117772151,1048614780)+W(9,1018164430,-1144675449,1035572024,1033808184)+W(10,1060364945,1057151625,-1114533548,1042276675)+W(11,-1090372695,-1100806033,-1103516228,-1105153406);WS(-1095016302,1049780935); +sum1=W(0,1050711943,-1110792724,1008440267,-1140214663)+W(1,-1092537964,-1101785640,1051364259,1044505338)+W(2,1025322472,1024485132,1026645590,-1110639373)+W(3,1036012635,-1104496021,1035221148,-1137823987)+W(4,-1091742968,-1090015552,1058946996,1051977632)+W(5,1018037601,1032762847,-1106527650,-1130979716)+W(6,-1145733059,-1109552317,1029727784,1007510683)+W(7,-1090979415,-1088424934,1057598839,1056967247)+W(8,1010918699,1027572437,1015167915,-1146016549)+W(9,-1115585956,-1142816275,1025812851,-1142229143)+W(10,-1096995861,-1095074239,1058283380,1050931556)+W(11,-1127055707,1011865435,-1105047309,1009720606);sum2=W(0,-1087779211,1033693595,1036141535,1040969494)+W(1,1059045592,1037950807,-1095617275,1056604611)+W(2,1035668628,-1110274633,1051875566,-1085730308)+W(3,-1096934819,1042126031,1015318832,-1136101349)+W(4,1059474718,1079595174,1059711341,1057610078)+W(5,-1106464684,-1106179801,1011257519,-1104408796)+W(6,1036377831,1046621966,-1111621316,-1112220931)+W(7,1065421414,-1079659864,-1088974739,-1098744628)+W(8,1035078820,1045400280,-1097874228,-1102027272)+W(9,-1129542795,1052735842,-1115487487,1042180910)+W(10,-1077353318,-1076641223,-1089093989,-1112239718)+W(11,-1122902412,1057832501,-1089345613,-1123714793);WS(-1081166556,-1096725839); +sum1=W(0,-1114510289,-1119269199,-1130642485,-1146977357)+W(1,-1102646113,-1098664649,1045921361,1050030946)+W(2,-1114582784,1022415207,992772066,-1113153825)+W(3,1038356317,-1095921640,-1111253552,1032268722)+W(4,1027769520,-1089074675,1057711094,1039889859)+W(5,1025422681,-1098886685,-1107182252,1041426283)+W(6,1038758688,-1102108905,1021187873,1024786511)+W(7,-1098156409,-1106011300,1045805544,1053078718)+W(8,1036466489,-1129952762,-1131324475,1043642083)+W(9,-1117501552,1024092394,1021141494,-1115200917)+W(10,-1102728052,-1107570834,1052716334,1042557010)+W(11,-1133449046,1012650491,-1153593794,-1148235644);sum2=W(0,1032309947,1017679770,-1120032365,-1154116071)+W(1,-1133231158,-1134787122,1025906643,-1123962703)+W(2,1035599863,1039832482,-1108727038,-1128886461)+W(3,-1118521489,1020082264,-1132933754,1033357218)+W(4,-1096414395,1064675801,-1114291801,1007375557)+W(5,1035524914,1059399952,-1080568363,1020492423)+W(6,-1122971142,1015972752,1029048100,-1165588207)+W(7,-1097709607,1040110606,1031540723,-1114360955)+W(8,1040378905,1024318985,-1112615988,-1108104258)+W(9,1021714009,-1134334294,1020455541,-1115144648)+W(10,-1121524587,-1119507729,1014310369,-1136421576)+W(11,1036458899,-1122706022,1028363593,-1111963053);WS(1058284215,-1100256461); +sum1=W(0,1042064203,1017583666,977549609,-1136333391)+W(1,-1108621703,-1098054746,1037147366,1048792691)+W(2,1009105958,-1118222526,1036542212,-1107171315)+W(3,-1103445177,1003134525,1032458293,1023954799)+W(4,-1084539629,-1105743629,1055543997,1061193316)+W(5,1005641493,1001049989,-1113492892,1001865121)+W(6,1030077610,1044505715,-1132003829,-1131855793)+W(7,1061657482,-1111653453,-1102389770,-1089393894)+W(8,-1141919717,1031530183,1000070140,-1095280499)+W(9,1034368605,-1109681210,1007647892,1014651348)+W(10,1032593324,-1134741175,1030932473,-1126089633)+W(11,957669220,-1123915241,1012906393,-1124982771);sum2=W(0,1018718450,1033569638,-1112523495,1025749667)+W(1,-1109821356,1026676021,-1111912018,-1104497483)+W(2,1009497507,1017944258,-1114119398,1032840840)+W(3,-1099586256,-1096388774,1021531102,1034709000)+W(4,-1092985416,1065372034,1061077725,-1087345020)+W(5,1033599708,-1109427758,-1129773592,1018773778)+W(6,-1109846828,-1112379914,1006685387,-1129693762)+W(7,1048850468,-1106255761,-1117456886,1049253485)+W(8,1029395381,-1106769492,1043058397,-1101038787)+W(9,1008781387,1045287677,-1106459716,-1119027428)+W(10,1013968523,-1138431127,-1135366091,1038233914)+W(11,1020319838,-1113647178,1037121278,-1113511705);WS(1048665454,1062854025); +sum1=W(0,-1140401360,-1099989608,1032679478,1004974300)+W(1,-1107105990,-1094089019,1038119146,1040482153)+W(2,1004764812,-1132148363,1043046180,-1113947114)+W(3,-1108003052,-1103518244,1026224498,1041394910)+W(4,-1084721726,1054691719,1054936910,1050737065)+W(5,1022372181,-1113753404,1025601857,1044891839)+W(6,1044968661,1040271757,-1137588617,-1128844481)+W(7,1057517320,1035416977,-1099872844,-1084409495)+W(8,1033354242,-1131287582,1017193535,1022006333)+W(9,1031459778,-1114933822,-1128306202,-1115578718)+W(10,1033669936,1032390235,1038726400,-1107158134)+W(11,-1112957780,1012659010,1023203548,1025595521);sum2=W(0,-1116919239,1034599590,-1137390044,-1120028750)+W(1,1032246372,-1095438265,-1105861815,1026537129)+W(2,-1102851233,-1129352893,1022176478,1047938064)+W(3,-1110926857,1037510574,-1112211314,1031876652)+W(4,-1093245727,1062401065,1054207178,-1114848017)+W(5,1046245506,-1106645860,-1118385188,-1093210017)+W(6,-1091078601,1052042083,-1105672202,1041988042)+W(7,-1115099719,-1100501338,-1104155840,1059021754)+W(8,1043294706,1016480352,1013766280,-1104427658)+W(9,-1102117757,1043447553,-1122489809,1032816067)+W(10,-1112097107,-1102195598,-1115066040,1047757772)+W(11,-1113418727,1030659187,1027463789,1027075631);WS(1046819548,-1112403026); +sum1=W(0,-1096536373,1040283909,-1118831073,1043575156)+W(1,1042563315,-1108795847,1047473762,1028458839)+W(2,-1134760216,1037371629,-1115473730,-1147631681)+W(3,1049135339,-1115136450,1025124390,1028002987)+W(4,1040849058,1045384892,1052252597,-1083606160)+W(5,1036578576,-1147407721,-1102431101,1015994849)+W(6,-1127238030,1042113706,1034880715,1023377962)+W(7,-1081137782,1040945110,-1106041242,1054448495)+W(8,1029054905,-1113175874,1026652836,1046487189)+W(9,-1124049974,1045174012,-1144027915,-1125071779)+W(10,1026387221,-1122981994,-1138801364,1031800519)+W(11,1032040846,-1121286085,1030118403,-1096718751);sum2=W(0,1036928405,-1122373594,1025044698,-1116472244)+W(1,-1121318128,-1104861162,1040619830,1035706238)+W(2,1033058067,-1110745183,1034962287,-1114868876)+W(3,-1111538981,-1111848203,1003069456,-1123391126)+W(4,1038958235,1050016986,1044878634,1046111644)+W(5,-1130393948,1005454840,-1113883437,1034772140)+W(6,1027481573,990411281,-1110477199,-1129719684)+W(7,1040124875,-1116142138,1030695866,1017226015)+W(8,-1105702279,1029172520,-1102609372,-1114732111)+W(9,-1136822924,-1136314996,989635105,1023677849)+W(10,-1113301330,-1112411005,1007553654,-1114454329)+W(11,-1112847239,-1150621057,-1109652887,1029458562);WS(1054158702,-1098491196); +sum1=W(0,-1119237644,1026235385,983582877,-1129450472)+W(1,1033589815,1048228620,-1098493798,-1101713087)+W(2,1023147092,-1173092218,-1123359016,1034513750)+W(3,1037197666,1031464488,-1121678922,-1121209423)+W(4,1060260620,1056756834,-1103778771,-1083899440)+W(5,1035595873,1020058530,-1122982297,-1103037013)+W(6,-1099798307,-1102325483,-1119715259,1031290553)+W(7,-1093716116,-1102446942,1046824098,1057005120)+W(8,-1117980637,-1124996559,1028221304,1049393023)+W(9,-1107157175,1036899466,-1115265987,1032360987)+W(10,-1111054172,-1132207900,1011053924,1037130136)+W(11,-1115548960,995105423,992781927,1041637742);sum2=W(0,1013555797,1016103802,-1115650269,1022318336)+W(1,1023151297,-1114491928,-1119261847,-1107715656)+W(2,-1133592549,-1142562170,-1130031974,1033284778)+W(3,1041650416,1052577828,-1109544964,1023537352)+W(4,1042399799,-1088107917,-1093802466,1043696631)+W(5,-1132296546,1012286637,1027122983,-1108010060)+W(6,-1105646271,-1089308865,1016525394,-1104797311)+W(7,1046742027,1041655381,-1101461419,1070961498)+W(8,-1129646858,-1123666701,1023301191,-1123089325)+W(9,-1093424353,-1123233885,1033208955,1034835508)+W(10,1027817568,-1123805293,-1103638866,-1129647390)+W(11,1020078242,1017326494,1027104379,1010592861);WS(-1098756718,1025257793); +sum1=W(0,1023803110,-1138344011,992949730,-1170432841)+W(1,1057699745,1040420307,-1107275570,-1090131561)+W(2,1012926412,-1123369303,-1117188674,-1119694405)+W(3,1026014126,-1121590721,1015181254,1001883457)+W(4,1054103406,1044394251,-1096688477,-1096556254)+W(5,-1127845816,1035099253,1029634610,-1115724526)+W(6,-1118191492,-1131017933,1025052052,-1113865961)+W(7,1054646511,1053702338,-1105028073,-1094031636)+W(8,-1114907963,1041135600,-1105231572,-1140440641)+W(9,992699702,-1125677724,1028407518,-1142935155)+W(10,1018441892,1056434389,-1094260670,-1106433523)+W(11,-1110839852,1033590433,-1115106656,1028218227);sum2=W(0,1035336978,977119295,1017397942,-1113857499)+W(1,1016146718,-1139136560,-1169985407,1003212424)+W(2,1007728744,1015257206,-1127032094,-1124908942)+W(3,1058657166,1082282453,-1107301692,994248048)+W(4,1029663775,-1088717558,-1067974855,-1086726098)+W(5,-1139895388,989071903,1045162011,-1128987279)+W(6,1081592322,1057428850,-1099171315,-1114604929)+W(7,1032721198,-1109521003,-1101606461,-1065596346)+W(8,-1115423533,1026551071,1001306728,-1132432620)+W(9,1029982493,1050573738,-1105825924,-1128156929)+W(10,1035913834,-1115579388,-1113547007,-1114706375)+W(11,-1124574009,999865176,1022139202,-1127893472);WS(1057488311,1032489366); +sum1=W(0,-1107316871,1034785118,-1126361486,998859696)+W(1,1045821468,1031878554,-1098594694,-1130375162)+W(2,-1127874328,-1124885440,-1137835434,1009430200)+W(3,-1114064513,1048520075,-1139957040,1028022609)+W(4,1057263754,-1127500588,-1099155379,-1105098668)+W(5,-1121514949,1026343507,1033795278,-1104540630)+W(6,-1112481238,-1154023155,-1122345661,1015295094)+W(7,1049599048,1025402492,-1112014022,-1109749909)+W(8,1007199100,-1119007402,1046311438,-1105774078)+W(9,-1133481329,-1108825451,-1129886863,-1126668079)+W(10,1034877470,1046739556,-1116334683,-1114013594)+W(11,1026086402,-1138298796,-1119327433,-1109189150);sum2=W(0,1036764889,-1115068573,1035973522,-1131728975)+W(1,-1128881737,1043114423,1022919798,-1111227173)+W(2,-1122740141,-1130091274,990889655,1037242625)+W(3,-1096357732,-1081650015,1057647035,1044679054)+W(4,-1098903856,-1105946360,1064645808,-1128128484)+W(5,-1126568042,1036162942,997618289,1034691185)+W(6,1008652352,1020148594,-1120435503,1029801795)+W(7,-1121257166,-1122224678,1034184152,-1094730608)+W(8,-1145265129,1016517254,-1123774451,-1119761613)+W(9,1019038058,-1125968836,1001204178,1040526136)+W(10,1033879187,-1125677560,-1141167471,-1110501324)+W(11,1025838030,-1121815648,1017460301,1017411026);WS(1059796919,-1120566973); +sum1=W(0,-1112300176,1042197939,-1121363289,-1128913552)+W(1,1051198984,1044389601,-1097436160,-1105877684)+W(2,-1128535084,1024751122,-1156941767,1031319296)+W(3,1034918960,1019526904,-1170089852,-1114223569)+W(4,1058261945,1057668526,1000497399,-1084964393)+W(5,1025460631,1032881746,1032065846,-1115209492)+W(6,-1097594444,-1109654209,1007200827,1032486790)+W(7,-1083919657,-1093305914,1031553246,1058860547)+W(8,1010383044,986576750,1041280427,1045243539)+W(9,-1121876014,-1114258964,1025411673,1031548233)+W(10,-1113158982,1024357474,-1106885131,1038828418)+W(11,1034628234,1012703988,-1128319413,1014469175);sum2=W(0,1030657759,-1114346787,1024653023,-1143612781)+W(1,-1116365956,-1122350618,-1145631357,-1142189493)+W(2,-1144957229,1013910379,-1120960689,-1108113093)+W(3,-1115709916,-1122961088,-1118229715,1031492195)+W(4,-1109597137,1063925227,1058735511,1041520845)+W(5,1028619709,1003281301,-1102646250,-1100459142)+W(6,1023143173,1032102149,-1103747903,1037055061)+W(7,-1097941231,-1096423541,-1113230658,-1123318690)+W(8,1040501280,1015718737,-1119600722,-1097541479)+W(9,1035049663,-1115297076,-1120661119,1027878177)+W(10,1034348655,-1104473650,1029140405,-1107577516)+W(11,-1116733621,-1122107736,1048901284,994779835);WS(1025862512,-1097886171); +sum1=W(0,1039868615,1039095646,1028206791,1017995501)+W(1,1048852846,1046495341,-1095591910,-1084617440)+W(2,1003283810,1031081728,1032043925,1036255511)+W(3,1044724702,1040670187,1023900364,-1115115241)+W(4,1053236428,1054642003,-1089161581,-1088992852)+W(5,-1128580235,1033561578,1024473755,974144948)+W(6,1036683863,-1105649212,1028215869,973319892)+W(7,1050422468,1049220624,-1107053347,-1092805231)+W(8,1012484477,-1126192084,-1120787802,-1132527589)+W(9,1040757263,-1101644966,1031994596,1033665516)+W(10,1039010398,1042256548,-1102281943,-1107160205)+W(11,1035723265,-1141688154,1034960116,1025750940);sum2=W(0,-1113384832,-1105498372,-1115898040,1017309480)+W(1,-1106075829,1041703091,1043260681,1051665642)+W(2,-1143916576,-1119502308,-1122221676,1041533127)+W(3,-1140340528,-1101077232,-1131938440,1026950620)+W(4,-1109231476,1049668212,1039662810,-1109716244)+W(5,1032670038,-1130795288,-1109791178,1047102067)+W(6,-1114410560,1042402941,-1147724576,-1120377052)+W(7,1032262130,1040746517,-1097796100,-1113565360)+W(8,-1112068676,1031201932,-1131969000,1039963022)+W(9,-1114542528,1040078450,-1120540424,-1108926548)+W(10,-1140600496,1048026467,-1097463639,-1108348496)+W(11,-1108483346,1028500076,-1107112902,1032294606);WS(1059594295,-1081462343); +sum1=W(0,1043504002,-1116748340,978268098,1027153262)+W(1,-1087238767,-1102654539,1047257898,1052804111)+W(2,1012415888,-1165722369,1038115889,1041162890)+W(3,1039643767,1038369681,1037283618,1020914066)+W(4,-1086204143,-1088075529,1054855273,1049749519)+W(5,1033818911,1032180390,1037006730,1044063108)+W(6,1034058802,1040894970,1024040629,1001487768)+W(7,-1086503800,-1098202447,1052275873,1047397560)+W(8,991868273,1034352017,1024505810,-1117492081)+W(9,-1111840522,1036921959,1022356543,-1121199663)+W(10,-1107277965,-1098696769,1026848211,1039603542)+W(11,-1131707508,-1136594828,1036480704,995252542);sum2=W(0,-1120219585,-1127812186,-1110777341,1028621181)+W(1,1034472183,-1129759266,-1126856730,1035384087)+W(2,-1120488613,-1132463093,-1106344343,-1123130413)+W(3,-1121966109,-1109734497,1030597213,1027102605)+W(4,-1123472797,1054407172,1046142043,1038893967)+W(5,-1111137329,1013238549,-1110811845,-1121376361)+W(6,-1139970197,1005564394,1041951037,-1106396561)+W(7,-1114873213,1049042812,1024169581,-1102581665)+W(8,-1113345499,1010521365,1023037898,-1147353578)+W(9,1027913013,1021745754,1026771477,-1110468651)+W(10,-1104920828,-1117275361,1045072501,-1119264521)+W(11,-1123696429,934750635,-1108801471,-1123538565);WS(1001790336,1033193226); +sum1=W(0,1018580889,-1115176285,-1131356554,-1113292474)+W(1,1052553934,-1113855449,1046326027,-1117909243)+W(2,-1129785460,-1156866531,-1112351060,-1104113579)+W(3,-1102427201,-1094752997,-1118664394,-1133969725)+W(4,1060794158,999804065,1062953181,1041639692)+W(5,-1132017542,-1130622370,-1105541862,-1095014251)+W(6,-1105768635,-1119059021,-1111709325,1027204153)+W(7,-1122254720,-1110352445,1040555139,1031529696)+W(8,1022740922,-1121415144,1031818996,-1102735326)+W(9,-1121009370,-1131789226,-1127980619,1024655285)+W(10,1026923705,-1100154756,1030139737,-1115548569)+W(11,1008916224,-1122315305,1016036429,1008421480);sum2=W(0,1019371878,-1137594745,-1130012060,999771042)+W(1,-1106457448,1043986431,991329315,1035878909)+W(2,-1118330440,-1156785507,-1108709562,1038257769)+W(3,1002965746,-1114341154,1018901632,-1123589256)+W(4,-1118271248,1057361082,1053769225,1042318306)+W(5,-1134019065,1021163648,-1113472862,1025444512)+W(6,-1115605194,1017493044,1017234680,-1124249760)+W(7,-1102884302,1037230696,-1099274218,1010690665)+W(8,-1123825168,1025071687,-1115820708,1015483632)+W(9,1015905000,1024661143,1016197020,-1118367200)+W(10,-1112309114,1036147884,-1092869373,-1101115118)+W(11,-1126466092,1013380697,1016005876,1020142296);WS(-1096043118,-1087645231); +sum1=W(0,1029203067,-1099485226,1032694426,-1115587665)+W(1,-1106908023,1052615508,1017432376,1045341850)+W(2,-1114910160,-1127306394,-1113683692,-1131991862)+W(3,-1113336032,-1121275799,1023546425,1031441086)+W(4,-1082902530,1045376289,1050158903,1054321442)+W(5,998100766,-1147820543,-1116607496,1050084000)+W(6,1051148019,-1118364796,-1147531597,-1130229584)+W(7,1057440145,-1118131945,1047006846,-1081266857)+W(8,1021215128,991663462,-1120491559,1027649766)+W(9,-1127235090,-1119188228,-1115129818,1019733960)+W(10,-1134199968,1018710010,1041137522,-1106232936)+W(11,-1123554607,-1124042776,-1131853547,1027530281);sum2=W(0,1023515648,-1119658781,1023861908,-1129211209)+W(1,-1110890211,-1133136545,-1108471855,1040374834)+W(2,1023672492,-1109425046,1048083250,1020265593)+W(3,-1121364796,-1103304652,1029997412,1038235290)+W(4,1044872450,1050855479,1039720436,-1096619497)+W(5,-1121333166,-1130250517,-1102257516,1034188808)+W(6,-1109858923,1044349350,-1107362446,-1125523437)+W(7,-1117035130,-1107498682,1038091910,-1113539350)+W(8,1029442100,-1122118916,1024895152,1022698753)+W(9,1032218024,1027861436,1013933265,-1114850415)+W(10,-1130602657,-1128608489,982770184,-1121557752)+W(11,1020180841,939323929,-1129090321,-1162309256);WS(1062090935,1058767985); +sum1=W(0,-1111629724,1016014666,-1127587553,1016379967)+W(1,1040669191,-1131263417,1046030390,-1115487571)+W(2,-1131647467,1039946613,-1107621674,-1124650927)+W(3,1045897412,1039181162,1030044278,-1124869109)+W(4,1049140321,1046027952,-1107063038,-1089079359)+W(5,-1197661491,1033161790,1035258018,-1120715392)+W(6,-1111908667,1032078908,1021197901,-1135267218)+W(7,-1082917799,1040408361,-1100036461,1056809425)+W(8,-1129645073,-1124734374,-1117322707,1051125844)+W(9,-1129970444,1037221664,1001072263,-1146487047)+W(10,-1115518322,1034380765,-1118068997,1008766834)+W(11,1029976235,-1119763541,-1135017032,-1115270659);sum2=W(0,-1111327982,1041352776,-1116547758,1033054007)+W(1,1038740385,-1115132829,1034677105,-1121722910)+W(2,-1124024618,1035204548,-1124364804,-1119336676)+W(3,1032790615,1012971008,1033469023,-1123189128)+W(4,-1092378351,-1108961666,1033020303,1033549613)+W(5,1032784783,1032253989,-1106694042,-1102497930)+W(6,-1098982462,1042838787,1026371779,-1122818756)+W(7,-1121004928,1045175561,-1098306997,1051050782)+W(8,1009754028,-1118316692,1039643256,1035128176)+W(9,-1110172088,1004924993,-1137766108,-1136838880)+W(10,1019964530,1027487385,-1120000922,1034801784)+W(11,-1125398316,1028774587,1017988993,1015821086);WS(1065136439,1040354336); +sum1=W(0,-1108811053,-1107804932,-1120274067,-1140671753)+W(1,-1099781359,-1098842784,1050226223,1057254373)+W(2,1003726785,-1112753158,1010162395,1009251305)+W(3,-1110160675,-1105899870,-1124666160,1022747450)+W(4,-1092867554,1000731409,1031464345,1059609336)+W(5,-1120831377,-1112429520,-1114655220,1036945681)+W(6,1025125049,1033405406,-1131113682,-1123069063)+W(7,1058399851,1055942809,-1111386668,-1093137163)+W(8,-1119063979,-1146511789,-1101547023,-1109467235)+W(9,-1129239633,1016924742,-1126498983,-1118356003)+W(10,1044975810,1051704028,-1111235284,-1105328992)+W(11,-1116155918,-1117793303,-1104493413,-1113825780);sum2=W(0,1034041544,1018598993,998321428,-1139839138)+W(1,-1095769692,-1114897304,-1116818777,1034669108)+W(2,1039138956,-1145690340,-1105398904,-1105759439)+W(3,987604943,-1102834025,1024466364,-1134067290)+W(4,-1102588486,1062722215,1061492513,1007335842)+W(5,1018314989,1025712340,-1098749835,-1108283066)+W(6,-1131349085,-1118877643,-1119932526,1008723794)+W(7,-1107691916,-1117176868,-1116983417,-1121214551)+W(8,1022467761,-1121476700,1041629273,-1108418109)+W(9,1031347596,-1113750023,-1132382549,1028368392)+W(10,1009572226,1035794880,-1103912225,-1114752830)+W(11,1033232162,-1110829011,1046707789,-1103951670);WS(1015535328,-1084984071); +sum1=W(0,-1108603860,-1120445077,1017574081,-1114800552)+W(1,1058689409,1050368026,-1098244185,-1099862310)+W(2,-1119809253,-1119794874,-1113854018,-1114937124)+W(3,-1120661414,1038434434,-1121642214,-1121052395)+W(4,1059588503,1053265766,-1091868509,-1094435959)+W(5,-1117398367,-1124845785,1038069402,-1120887600)+W(6,1004694578,983354644,-1119258038,1031943978)+W(7,1053762387,1049777811,-1090330210,-1100742889)+W(8,-1126829041,-1124490374,1033335786,1032168457)+W(9,-1131668588,-1117988144,-1152091148,1015340962)+W(10,1042220181,1044693386,-1096238847,-1106546547)+W(11,-1122991451,1025017029,1033654385,-1112611163);sum2=W(0,-1123863865,-1117743388,-1113925793,-1113763234)+W(1,-1153318001,-1115051721,1049718598,-1152383745)+W(2,-1112434267,1017487533,-1108241407,1032880554)+W(3,1031541130,1034144457,1016562523,-1117079348)+W(4,-1111062529,1029337732,1045174355,1054034272)+W(5,-1115045873,-1115252534,1040219109,1025815300)+W(6,-1108434934,1028245712,1021767953,-1106152769)+W(7,-1107848604,1036566626,1048832333,1019958281)+W(8,-1112234054,-1144290245,1032317223,-1122950542)+W(9,-1107854239,-1131124226,-1118706081,-1110489214)+W(10,-1106439039,-1100833945,1041167636,1037079656)+W(11,-1111099643,-1123196065,1023645948,-1114917041);WS(1058837943,1069665989); +sum1=W(0,-1123278397,-1133106088,-1131526763,962159770)+W(1,-1100091288,-1100255560,1052414436,1059574623)+W(2,1026912571,1026538575,1034080493,-1106975399)+W(3,-1111839826,-1119033369,1016761717,-1123587520)+W(4,-1090882007,-1089604336,1050778647,1056026369)+W(5,-1128992103,-1142474253,1030312842,1026032901)+W(6,-1112323118,-1123741278,1020359383,-1116652202)+W(7,-1090318286,-1098258189,1051933055,1057288447)+W(8,-1126485147,1024876312,-1123145400,-1115237492)+W(9,-1111587013,1031183749,-1120750038,-1124916236)+W(10,-1098860821,-1113801599,1050858601,1049400292)+W(11,-1130617057,-1147252941,-1102573630,1023272149);sum2=W(0,1031898082,-1123032728,-1121672345,1031825723)+W(1,-1097279430,1042495248,-1070958719,-1068962638)+W(2,1033946762,1015278793,1004890268,-1106804175)+W(3,-1149677000,1042326937,1003655756,-1128689519)+W(4,1042236169,-1097154173,1079716701,1062859919)+W(5,-1125393239,-1129356209,1047991146,1033261211)+W(6,1016978721,-1135526098,1021714543,-1112729716)+W(7,1043003442,-1101596383,-1106783417,1069238165)+W(8,-1130449529,-1143028884,1006662138,1029430153)+W(9,1017362221,-1115756346,1015056847,-1143241256)+W(10,-1114855682,1029691669,1030095799,1038638730)+W(11,1021676019,1007567766,-1116617969,1016716693);WS(1027937136,1051433372); +sum1=W(0,1027262836,1034970897,-1131494490,1024223452)+W(1,1036904555,1043230726,-1102510757,-1095583884)+W(2,1026871330,-1131579916,-1126475809,1037383306)+W(3,1041574867,1051529138,-1113660825,1034208027)+W(4,1043513377,-1088109312,-1082034838,-1088128354)+W(5,1022249046,-1121104697,1049740992,1038022750)+W(6,1043759333,1035492122,1007645322,1026687777)+W(7,1040837474,1023668834,1021392868,-1107709564)+W(8,1030621125,-1128113439,1040579632,1043020088)+W(9,1025216066,1033175550,1023660333,1019229306)+W(10,1033050768,1041627229,1019915650,-1116281753)+W(11,1026071912,1024084817,1040383308,968839375);sum2=W(0,1019704225,1037288383,-1114076695,-1122636491)+W(1,-1108218455,1029534785,1032297878,1049771287)+W(2,1007985666,1019192761,-1114871835,1003686724)+W(3,1038646185,-1113812515,-1121313911,-1122337791)+W(4,1038576544,1058416091,1058219066,1050229287)+W(5,-1146139348,1021492965,-1129529893,1026526587)+W(6,-1115379683,-1144905268,1032037049,1019616565)+W(7,-1096957025,1029636273,-1089173556,-1126947029)+W(8,-1131201101,-1129337357,1011141050,1020162449)+W(9,-1124810757,-1104091459,1035628188,-1121846167)+W(10,-1112204367,1039375301,-1085784913,-1109798125)+W(11,-1117257463,1026702945,-1169657505,1015768281);WS(-1087300279,1060388257); +sum1=W(0,1023690092,1041026294,1031115364,-1129462823)+W(1,-1106106692,1045171988,-1092905754,-1095623283)+W(2,-1130365587,-1127843579,-1113959460,1037669414)+W(3,1027269348,1022155151,1025637865,-1114720439)+W(4,1058204318,1060821043,-1092295181,-1093094418)+W(5,-1122973026,1027810288,1044954958,-1142625182)+W(6,1032140389,1019365849,1019407412,-1150727557)+W(7,1047241920,1051757075,-1094422277,-1091295733)+W(8,1008074737,1005685302,1022315054,1031904715)+W(9,1035913085,-1142073248,-1144567588,1005184420)+W(10,1047453654,1052799910,-1089577936,-1097873082)+W(11,1011776124,1023937224,1027854342,-1121754201);sum2=W(0,-1166872476,1004777140,-1141459412,-1120594034)+W(1,-1102509951,-1110936244,-1122900789,1040489823)+W(2,1045679794,-1104593759,-1095818924,-1086857984)+W(3,-1113289360,1013932442,1028313984,-1136839806)+W(4,1067324619,1045560576,-1095750682,1021539093)+W(5,-1110068744,-1103109579,1065644346,-1093760272)+W(6,1019995585,-1124945717,-1122936307,-1127607807)+W(7,-1096904945,-1100965201,1031026044,1045364618)+W(8,1034732462,1018809021,1042979309,-1123950010)+W(9,-1145964804,-1157638606,-1134584398,1007613018)+W(10,1000232964,-1108078168,-1125456395,1033830372)+W(11,-1152320711,980148252,1026162850,-1121148085);WS(-1090838638,1050174926); +sum1=W(0,-1109115088,1049593122,1033853293,1024715784)+W(1,1038102082,1051782073,-1120751425,-1106716164)+W(2,1016756989,1035169257,-1136454131,-1115525408)+W(3,994296459,1045373935,1042483832,-1106406969)+W(4,1043814476,1058236139,-1086184702,-1094496661)+W(5,-1108133484,1042591993,1033520471,-1105105482)+W(6,1015694078,-1112080289,-1138965820,1025782733)+W(7,1045378621,1042079876,-1095245812,-1092092861)+W(8,-1140252101,-1115290814,-1106373991,1029286795)+W(9,1045351388,-1114987669,-1139164262,1038488261)+W(10,1050438570,1040938025,-1094326222,-1100690449)+W(11,1041627941,1001134058,-1122199803,1034575399);sum2=W(0,-1087153288,-1111682644,1047565246,1051544715)+W(1,1047568122,1032035298,-1099176408,-1090874159)+W(2,1034895049,-1131191613,1040133461,-1111412903)+W(3,-1081925443,1060283907,-1105592564,1046232208)+W(4,-1119008010,1036693685,1048906709,-1105576760)+W(5,-1112144320,1040322447,-1107739759,-1140028602)+W(6,1062548140,-1127110112,-1105924841,-1094324661)+W(7,-1119206793,-1158298480,1049091960,-1112367085)+W(8,-1130045765,1011461326,-1096403637,1044620924)+W(9,1051334754,1033462267,-1103932050,1021200095)+W(10,1036759049,-1114785543,1048824237,-1107585156)+W(11,1012649582,-1111955333,-1114351857,1046459856);WS(1039738296,1044009556); +sum1=W(0,-1113116036,-1126664684,-1118478209,1031992376)+W(1,-1088719167,-1107130859,1042459434,1058890327)+W(2,-1107110028,1036863629,-1129453002,1040542090)+W(3,1028656912,-1095949365,1042319122,1036413734)+W(4,-1088309806,-1090115281,1057173004,1054229481)+W(5,-1133301245,-1121635021,-1127816747,1042227988)+W(6,1046101634,-1104617834,1019779694,1025321013)+W(7,-1090901446,-1096019759,1052520321,1048940614)+W(8,-1120611033,1022364232,-1119199044,1048439133)+W(9,-1111694091,1029160593,1028741314,-1126468451)+W(10,-1098195015,-1090793697,1057385245,1047137387)+W(11,-1108092830,-1129794251,1040359505,1036380619);sum2=W(0,1009251693,-1107842867,-1089163817,-1088996856)+W(1,-1115283476,1042234988,1057525018,1062110924)+W(2,1034262626,-1123202523,1032774718,1030923639)+W(3,-1124806950,1052635731,-1080285142,-1081345153)+W(4,-1104109471,-1112028150,1067630395,1064189433)+W(5,-1130902850,1036915346,1034769026,-1126776930)+W(6,-1106464080,-1125456570,-1089981167,-1079794071)+W(7,-1113992476,1045262592,1062842970,1063058829)+W(8,-1110986466,1035294670,-1136163037,-1106165885)+W(9,-1115606726,-1106662163,-1099490886,-1091438196)+W(10,1042247754,-1104249669,1053790298,1054193960)+W(11,-1135519157,1024576891,-1108359351,1032379012);WS(-1096394862,1050867114); +sum1=W(0,1011677768,-1097606072,1035680965,975777376)+W(1,-1095631255,-1108785275,1041761501,1050217928)+W(2,1033079080,-1107649602,1035556439,-1105375964)+W(3,1017467204,-1122057965,-1164976624,1017323049)+W(4,-1088500104,-1111108333,-1098739346,1059053443)+W(5,1020084753,-1112750027,1025006046,1042635014)+W(6,1039142936,-1137149130,-1117859264,-1126109949)+W(7,1062642602,1040456976,-1104430516,-1089683010)+W(8,-1142614292,1017623258,1027021261,1038036638)+W(9,1023416416,-1112401517,-1122131819,1011370603)+W(10,1016594173,-1120553683,1042596520,-1115445691)+W(11,-1113983747,-1124248029,1029575724,1041295544);sum2=W(0,1029829507,-1108448221,1024840523,-1131210775)+W(1,-1122984086,-1132016729,-1117395779,1018275001)+W(2,1033255054,-1103146109,-1114466007,-1096338526)+W(3,1046565608,-1107856867,1022860453,1024067225)+W(4,1059140985,-1089805596,-1092962046,1042461338)+W(5,-1119288636,-1099911282,-1166014069,-1107995649)+W(6,1042031083,-1106481128,-1130239171,-1125865258)+W(7,1058514952,1027704725,-1102214835,1053212914)+W(8,-1113255745,-1106771914,1041713274,1052927486)+W(9,-1127390051,-1124576676,-1117571915,1024964869)+W(10,-1118917379,1032905776,991892650,-1114692565)+W(11,-1111017176,1000523989,1032336370,1037010892);WS(-1112511928,1031640207); +sum1=W(0,-1102373753,1048837234,-1130112569,1037301926)+W(1,-1091912761,-1095738529,1051625169,1058068053)+W(2,-1112730073,1045904421,1045615952,1030698115)+W(3,-1091456672,1045582560,1044751592,-1119711398)+W(4,-1101742756,-1090186767,1044375881,1054040787)+W(5,-1098654019,-1111879892,1051640030,-1104227307)+W(6,-1119033858,-1093436941,1042267541,-1102628100)+W(7,-1090190311,-1110077161,1051238780,1057193534)+W(8,-1123401908,-1101737376,1008998972,-1111999463)+W(9,1050238014,-1100593739,-1122521821,1021159833)+W(10,-1098844722,-1090967581,1058222955,1045936610)+W(11,1043894710,-1112695488,-1108465231,1050341641);sum2=W(0,1024549194,-1117974589,1009444234,1016218439)+W(1,1037076368,-1110249739,-1111737758,-1121292007)+W(2,1032984152,-1112172263,1020335555,-1112700443)+W(3,1042315856,-1106327815,1026480303,-1111008440)+W(4,-1086831522,-1069929292,-1089871257,1047393563)+W(5,1060801772,1079084175,-1111547810,1038599637)+W(6,1040022175,1025059842,-1115006890,1015374231)+W(7,-1085683537,1033002057,1043300713,-1115783084)+W(8,1057876572,1033693800,-1118960414,1049254465)+W(9,-1110870197,1033099318,-1122692269,1027237715)+W(10,1033912191,1032775289,1022298131,-1103999090)+W(11,-1104475663,1045399536,-1104218510,-1118358651);WS(-1106120924,1033431669); +sum1=W(0,1035990878,1041817850,-1146851238,1016553159)+W(1,1042266392,1027850273,1024013341,-1101729723)+W(2,1018305971,1021653787,1026394008,1024064284)+W(3,1041767260,1047579686,1026515514,1024375743)+W(4,977256084,-1090381288,-1085522812,-1116899488)+W(5,996614956,-1125739905,1048833585,990294084)+W(6,1031819293,1026577053,1029812010,1005429062)+W(7,1048109660,-1113190325,-1118087802,-1090064383)+W(8,1016883609,-1121801815,1040657490,1038017843)+W(9,1014785832,1011005202,1021177962,1008887700)+W(10,1024173993,-1127218683,1025078601,-1126747713)+W(11,1027952623,-1132785763,1041410670,1020235411);sum2=W(0,-1110721648,-1116342888,1019641904,1032555846)+W(1,1030929664,-1112511004,-1089264280,-1094136567)+W(2,1018020888,-1125819008,1032788860,-1146526593)+W(3,-1102693078,1027573888,-1123545328,1015684488)+W(4,1046449598,1052843165,1056898914,-1097199465)+W(5,1004426241,-1122415072,1033507644,1012812816)+W(6,1043950970,1021888896,-1117707424,-1118308408)+W(7,1024674316,-1109778580,1041236542,1037769558)+W(8,1028547840,996318210,1017687520,-1106559340)+W(9,1007632640,1023916088,-1152988290,-1137876352)+W(10,-1123597216,-1105717038,1046276806,1026403708)+W(11,-1149117889,-1132920416,-1122312832,1028523456);WS(1034973624,1056792353); +sum1=W(0,-1130821617,-1114464179,-1121055921,-1120658336)+W(1,-1130597942,-1102939831,-1125024178,-1114903379)+W(2,-1124529164,-1124681556,-1115164458,-1109039532)+W(3,-1106629009,-1093463666,1021962732,-1128295926)+W(4,-1118485143,1067744046,1062068439,1008426736)+W(5,-1138254780,993935312,-1094141737,-1104109440)+W(6,-1097245927,-1132912612,-1119904327,-1127490506)+W(7,1049107361,1045213129,-1107542555,1050479246)+W(8,-1132704804,-1120970067,-1119937620,-1105858697)+W(9,-1118132038,-1115274080,-1119710033,-1122942113)+W(10,-1113875250,1036565277,1025872901,1028006365)+W(11,-1122550700,-1120520661,-1121170098,-1141854766);sum2=W(0,-1120501349,996214904,1017661559,1020401308)+W(1,-1090330474,-1084580575,-1116129767,1037264768)+W(2,1023925581,-1119976615,1032645479,-1105802125)+W(3,-1140432422,1024553914,-1130735541,-1129375401)+W(4,-1097846115,1064606263,1051779064,1035443152)+W(5,1025111856,-1136822486,1038402436,-1102145888)+W(6,1006774606,-1124013507,-1166762145,-1146688164)+W(7,1048687051,1019182043,1025600009,1039827062)+W(8,-1121332237,1015612208,1025151371,1000828364)+W(9,1033491675,-1117903931,-1137125822,-1130185789)+W(10,-1117487855,1037037513,1032817572,-1114545658)+W(11,-1119338761,999461036,-1112238814,1028059566);WS(-1082445367,-1085006700); +sum1=W(0,1041974800,1043293403,1034878908,-1131835086)+W(1,1054173212,1051286356,-1092276724,-1081109875)+W(2,-1137431795,1038048136,1034209806,1035072463)+W(3,1042063924,1045196135,1037617118,-1106661648)+W(4,1055927462,1058619216,-1094524616,-1086386347)+W(5,-1110863483,1042877649,1036390662,-1114712644)+W(6,1037212703,-1105403448,1022066011,-1121819052)+W(7,1050138098,1028915053,-1104988703,-1094507255)+W(8,-1123146704,-1114994477,-1139447658,1015171028)+W(9,1046411795,-1100599618,1033542412,1036207796)+W(10,1041419787,-1130824962,-1096619449,-1105674409)+W(11,1040360493,-1121943708,1045523870,1026111277);sum2=W(0,1043137200,1000796272,1025676326,-1112963339)+W(1,-1089890678,-1102855534,1031859059,1014823768)+W(2,-1128614108,1018516204,1031913791,1022229356)+W(3,993751520,-1098528956,1036266015,-1117465202)+W(4,1018575516,1061198225,1055374057,1020211292)+W(5,-1138611816,1020738140,-1098119563,-1120060570)+W(6,1032573075,-1097473255,1019242508,-1124864900)+W(7,1038055959,1050136287,-1125510524,986723264)+W(8,-1132953832,-1123833514,-1098582022,-1106568385)+W(9,1049454991,-1090503899,1039721851,1017632828)+W(10,-1109681619,1054985311,1007293144,-1111044051)+W(11,1035860627,-1110059149,-1101215648,1030233630);WS(-1089141943,1068474134); +sum1=W(0,-1121972404,1041396360,-1101143803,1024130588)+W(1,1036801227,-1094238571,1045416789,1032495505)+W(2,-1114425265,1024684838,1039470024,-1117579092)+W(3,-1105946681,1052602058,-1124204515,1039148539)+W(4,1057861426,-1098420551,-1094942270,-1106461946)+W(5,-1108918837,-1127532529,1047303536,-1113046718)+W(6,-1091638882,1032280890,1018218693,1026773217)+W(7,1040764762,1033290001,-1106993164,1059099726)+W(8,1027200645,-1103088708,1040300696,-1094617668)+W(9,1041946144,-1138642417,-1123573325,-1104179471)+W(10,-1105244536,1037819035,1009482242,1045088278)+W(11,1043167338,-1116739793,-1108347351,-1110195745);sum2=W(0,-1134771145,-1114282184,998892514,1016644168)+W(1,-1114142714,-1101404122,1049635340,-1129326838)+W(2,1025799488,1041138771,-1114952606,1012771369)+W(3,1042383274,1025008594,1033248586,-1116049462)+W(4,-1095734150,1060588986,-1102476512,-1147070546)+W(5,-1095991584,1027653952,-1111850310,1057697290)+W(6,-1104878488,-1101611481,1041609896,-1110140123)+W(7,1052949499,-1143476482,1046973498,-1090718582)+W(8,-1127102864,1035005082,-1114336646,-1096580248)+W(9,1048842205,-1122288558,1030835892,-1103095555)+W(10,-1110997031,1022411808,1028769716,-1115539252)+W(11,992902692,-1120028296,-1118966953,1031782132);WS(1055908206,1023803300); +sum1=W(0,-1114766205,1011459483,-1128828388,1033033649)+W(1,-1093070812,-1094569204,1054454099,1059767687)+W(2,-1139512861,1016172182,1029622486,-1106762950)+W(3,-1106069078,-1116675477,1024886583,1027156540)+W(4,-1086765600,-1090099632,1059734148,1057986836)+W(5,1027600816,1027525694,-1098865153,991938588)+W(6,-1116893112,1045609495,1032744244,-1122498726)+W(7,-1094363024,-1102732570,1043829406,1056528229)+W(8,-1135964969,1036132330,-1139103892,-1101593593)+W(9,-1113403236,1049123968,1005980052,-1114524705)+W(10,-1103438026,-1098493775,1049516377,1047712168)+W(11,-1117700205,1035501771,-1097177334,1022039246);sum2=W(0,1052224655,1029199567,-1115143239,1025334517)+W(1,-1083097675,-1079915962,-1092254017,-1085507535)+W(2,1062578782,1029921983,-1092877982,-1097828858)+W(3,1050599738,-1137182696,-1115511381,-1112308287)+W(4,-1078367265,-1085955474,1050309385,-1091835304)+W(5,1036651638,1017725718,1031547399,-1101001669)+W(6,-1101494467,-1094150391,1031444191,1042864237)+W(7,1077549274,1068550083,1058681981,1052849573)+W(8,-1103762806,-1106558945,-1100178328,974314816)+W(9,-1116631442,-1092627938,-1111573417,1040795754)+W(10,1054678659,1059124396,1066882777,-1093246396)+W(11,1039431488,-1098096651,-1088438520,1046838481);WS(-1078207964,-1098790270); +sum1=W(0,1017293260,-1121106131,1039615439,-1117816013)+W(1,-1100878354,1049964833,-1100078274,1049047675)+W(2,-1126192007,-1122801847,-1107321921,1032784131)+W(3,-1098516348,-1100564368,1032454162,1040159636)+W(4,-1094050686,-1119951725,1041647209,1057717203)+W(5,1034337038,1014677674,-1099964381,1040450075)+W(6,-1142189601,-1115831559,1026856980,1029735698)+W(7,1052197359,-1110599850,1041839801,-1090236946)+W(8,1028031798,1027844545,1034137049,-1116032848)+W(9,-1129405415,-1114960439,1002339317,-1128361629)+W(10,1009705546,1020602063,1034781465,-1114821509)+W(11,-1121696025,-1130484229,993360895,1036993018);sum2=W(0,-1104367710,-1132455965,-1115606678,1025029135)+W(1,1051361304,-1090262380,1051294613,-1119205162)+W(2,1037239658,1027534783,1046775583,-1097951274)+W(3,1054704406,1035843132,-1111864983,-1098891737)+W(4,-1094584814,1042639742,1040638061,-1118431701)+W(5,-1137589907,-1161598998,-1115582191,-1111734067)+W(6,1038310704,1037432870,1017169741,-1112278329)+W(7,1042180969,1054301740,-1095570314,1033551568)+W(8,-1113612863,-1137659371,-1102111461,-1116801751)+W(9,-1137648567,-1122384617,1031819582,-1123958951)+W(10,1006683771,1032304440,1008777251,1040693441)+W(11,1017443081,1038413214,-1103720876,-1108749213);WS(1060561207,-1110135205); +sum1=W(0,1049197464,-1108658488,-1124131449,-1114856118)+W(1,1057921518,1045522218,-1095755605,-1091745710)+W(2,1021270499,-1112929307,-1100746808,1045672489)+W(3,1041962623,1047635080,-1112340961,-1121034566)+W(4,1055093690,1056738433,-1089785676,-1091090769)+W(5,-1157317541,1036938084,-1111234056,1019645080)+W(6,1029521634,1045001085,1034679769,-1112123800)+W(7,1057086969,1048793054,-1105390912,-1088312300)+W(8,-1148757666,1026507103,1047514180,-1095870350)+W(9,1019494819,1038785126,-1107671902,-1115322038)+W(10,1049205462,1057170552,-1089779917,-1095959893)+W(11,1019330670,1029094240,1022895484,-1099214252);sum2=W(0,1041894205,-1115970606,-1122184691,-1110883135)+W(1,-1082032478,-1081043792,-1118217955,-1114700148)+W(2,1064081845,1059051295,1049320576,1046875162)+W(3,982318965,1040255170,1033395903,1008834310)+W(4,-1085641610,-1095688614,-1109327580,-1097954058)+W(5,1064706681,1066526360,-1107088758,982336213)+W(6,-1134396672,1031402202,1024095030,-1110716892)+W(7,-1084362127,-1093205100,-1114148625,-1107386491)+W(8,1060847547,1058657081,-1122373488,1032307660)+W(9,-1121857157,1031923695,-1113542640,-1113505190)+W(10,-1087863650,-1094939475,-1128842340,-1116084956)+W(11,1055302318,1041403755,1044473869,1045820748);WS(-1088848183,-1091270356); +sum1=W(0,1022583331,1011517178,-1127291412,-1113444636)+W(1,1050793382,1055228191,-1094397598,-1092936920)+W(2,-1115063927,1007040780,-1112816343,1035173048)+W(3,1047190142,1040877723,-1105736260,-1131637032)+W(4,1056457416,1051083611,-1086200137,-1092945549)+W(5,-1118782984,-1114815627,1039289519,1039723405)+W(6,1035565944,-1097520394,-1127378047,1030983166)+W(7,1056969730,1051399464,-1104020948,-1102025475)+W(8,998545680,-1127143385,-1108815670,1015654008)+W(9,-1114602800,-1108205485,-1115666437,1037357901)+W(10,1044492479,1047811509,-1102830535,-1116833526)+W(11,1025703109,-1123886254,1032741190,-1116817631);sum2=W(0,1067295699,1065087692,-1110646223,1023906737)+W(1,-1097077469,1037915281,-1085042817,-1081442287)+W(2,1026431960,-1132623721,1015927544,1029195957)+W(3,1065459703,-1118952488,1010017751,-1119411664)+W(4,-1096872835,-1110920551,1050008558,-1083251842)+W(5,1018762696,-1124571002,1042598936,1018101230)+W(6,-1081475488,-1083105366,1029589423,-1108429461)+W(7,1006981249,1036080906,1064469883,1064700095)+W(8,1020104602,-1114107558,1041992018,-1103158035)+W(9,-1095503285,-1083389324,-1125097343,-1110439418)+W(10,-1106015672,1051761632,1061045473,1057972141)+W(11,1036691137,-1119006739,-1114827780,-1108943564);WS(1034259896,1039623341); +sum1=W(0,-1137539339,-1104998988,1028460795,1016878676)+W(1,-1088089066,-1091378989,1047938201,1055868742)+W(2,984347141,-1121755284,1036240559,1043298073)+W(3,-1129847248,1015052988,1011385345,1034359235)+W(4,-1090213650,-1114958501,1043619008,1058114664)+W(5,932956556,1018241806,-1119276751,1043122195)+W(6,1032818160,1044006969,1016831138,1015855070)+W(7,1054476715,1049053750,-1092418872,-1096687428)+W(8,1026808723,1034235663,-1101201217,-1110579607)+W(9,1033445320,1043524531,1025908283,-1128588247)+W(10,1040121848,1044746961,-1095896370,-1100196186)+W(11,1010316760,-1120101215,1018213241,-1106781444);sum2=W(0,-1108037836,-1102042508,1033659165,951810592)+W(1,-1130209970,-1115641842,-1107310314,-1092018666)+W(2,1009312276,1032067593,-1110096702,1022643242)+W(3,-1103529440,-1102191435,1037243759,1002259560)+W(4,1041635941,1067062587,1066447662,-1101738099)+W(5,-1114108683,1041326077,-1100161415,1034513697)+W(6,-1111056455,-1119026649,1034753865,-1112310958)+W(7,-1098661250,-1099014553,1031795157,1032823775)+W(8,-1120382671,1026651225,-1096684817,1027860693)+W(9,-1101647251,1024637657,-1114454490,992340497)+W(10,-1117726225,-1111013301,1046257437,1040899047)+W(11,1038338139,-1106704138,-1112982645,-1114962434);WS(-1096556910,1067967914); +sum1=W(0,-1122886335,1031668012,1024354487,1032707155)+W(1,1055235700,1048353625,-1103532312,-1095119782)+W(2,1031514684,-1126996321,-1105977207,-1120012638)+W(3,1021347526,1041914807,1043480447,-1131915011)+W(4,1044387963,1053060297,-1090836352,-1095435756)+W(5,-1116416117,1043128001,-1133082414,-1105830818)+W(6,1036630543,1034774528,-1132633269,-1118942187)+W(7,1041581564,1052242886,-1104917967,-1091218783)+W(8,-1110350280,1039162573,-1121967338,1017318739)+W(9,-1125222297,-1106257250,1031513592,1031302952)+W(10,1033613430,1050269976,-1104067043,-1100801113)+W(11,-1148985233,1034839630,-1109204860,-1130484760);sum2=W(0,1041393774,1032139854,-1120747465,-1125934657)+W(1,1047775001,-1105604596,-1114660789,-1097497496)+W(2,-1122059316,-1129241452,1018330620,-1131783044)+W(3,-1107151652,1046075673,1019390634,-1126946517)+W(4,1048515105,1059160295,1057927405,-1096477783)+W(5,-1147658728,1011994599,1041946221,-1096755902)+W(6,-1090083756,1024325836,1045993569,-1140291646)+W(7,1043731078,1039621515,-1137735680,-1110210473)+W(8,1032850220,-1126091098,1046026631,-1091797353)+W(9,-1116058677,-1097350707,1038335355,-1110717499)+W(10,-1116506490,987432265,-1127153776,1033250412)+W(11,1009337229,-1124186068,-1124643180,-1106745231);WS(1061843767,-1077951557); +sum1=W(0,-1106366502,-1131166601,-1120114128,1026388735)+W(1,-1088217072,-1105977039,1043697070,1059311576)+W(2,-1102542817,1039925540,-1130669927,1041378862)+W(3,1029755951,-1091391038,1029309653,1037862893)+W(4,-1091419383,-1089136642,1057568381,1054385928)+W(5,989452730,-1105668215,-1111164306,1047467576)+W(6,1048316317,-1099454574,-1122000006,1036389538)+W(7,-1092475601,-1095416897,1049723715,1054220568)+W(8,-1138232735,-1130981221,-1108260705,1053509792)+W(9,-1106178153,1034019808,1030215888,-1126306304)+W(10,-1096877448,-1091809363,1058416302,1050234615)+W(11,-1107228323,-1116719540,1045917860,1038585474);sum2=W(0,1041546460,1044663473,1062451832,1061533858)+W(1,-1104625991,-1116240264,-1084977950,-1081881922)+W(2,-1112819836,-1146254682,-1107478927,1020257203)+W(3,1019905335,-1103665132,1070735043,1068272760)+W(4,-1115490290,-1094934042,-1079025547,-1081565785)+W(5,1018218872,-1108448519,-1129735749,1038097782)+W(6,1027882908,1053579543,1058522058,1070929067)+W(7,1002519540,-1096683616,-1079765468,-1082597652)+W(8,1032555484,-1111378699,997759194,1043320870)+W(9,1030217484,1042937819,1052624489,1059576348)+W(10,-1103272320,1039524167,-1090364693,-1088759123)+W(11,1018278443,-1120119454,1041293151,-1110736144);WS(-1084224055,-1088316584); +sum1=W(0,-1107673717,1028109079,1003388692,-1113613001)+W(1,1039555654,1048291572,-1098426505,1006747746)+W(2,-1159624430,-1124153911,1024741190,1033838821)+W(3,1012698375,1027116933,1016662735,-1106869627)+W(4,1059475506,1054502102,-1097246285,-1088923256)+W(5,1033833840,1010228666,1019707757,-1120760050)+W(6,-1094644889,1023495179,-1136760929,1022316973)+W(7,-1093203288,-1098003683,1033746004,1057877820)+W(8,-1114819581,-1110624834,1036081339,1048977331)+W(9,-1107590588,1024116594,984919127,1028746387)+W(10,-1105649846,-1114921814,1022736621,1041863252)+W(11,-1119454813,-1122201606,-1127589064,1041797102);sum2=W(0,-1113301472,-1150409563,-1113948506,1015245257)+W(1,-1122805777,-1121614859,1027745966,-1126889814)+W(2,-1125306444,-1120982285,1024732276,1024783162)+W(3,-1113241340,988101766,1007533655,-1130594159)+W(4,1035094088,-1117590123,-1115083078,1053517180)+W(5,-1117285071,-1115586407,1033594898,1035927962)+W(6,-1114338752,1042344950,-1131246557,-1122336092)+W(7,1041346715,1010321235,1009652067,-1120298083)+W(8,-1179946326,-1122655190,-1112303516,-1136757529)+W(9,1024929700,1034588627,-1112003767,-1121042747)+W(10,1022595647,1021357977,1015099871,1023796132)+W(11,1031780006,-1109817399,-1116844702,-1107129305);WS(1056759150,1060224665); +sum1=W(0,-1132085157,1023919167,995010733,-1139374311)+W(1,1041263149,-1143162806,-1105275165,-1099925456)+W(2,-1131329248,-1128574472,1020125661,1033127353)+W(3,1047983919,1035204919,-1108849608,-1111414410)+W(4,1045591848,1054640011,1047380996,-1089721802)+W(5,-1124813330,-1115433611,-1109178223,1047176279)+W(6,1044747100,1009635916,1016981889,1028987391)+W(7,-1086265361,1052567064,-1106656308,-1111752399)+W(8,1014274699,-1114033239,1025513390,1047077327)+W(9,1026679904,-1133052010,-1129401942,-1123115291)+W(10,-1119813375,1036660778,-1103728616,-1119632759)+W(11,-1135589654,-1154487021,1026259564,1020940735);sum2=W(0,-1114834111,-1123243930,1023565277,1023227060)+W(1,-1111609489,-1109001470,1036838581,-1123255684)+W(2,1009084849,-1110362282,1046335474,1029177075)+W(3,-1110717616,-1119831250,-1127246210,1023373012)+W(4,-1106028739,1068968933,-1128787384,-1121973236)+W(5,1030364025,1038001226,-1085459757,1040383540)+W(6,995075850,-1112704991,-1115895934,1035525242)+W(7,-1084327071,1049794788,1017209933,-1106791563)+W(8,1004844681,-1109625554,-1106438120,1055427968)+W(9,-1137853837,-1177558227,-1115664904,1032252451)+W(10,-1103092626,1033559138,-1117762720,1025363014)+W(11,1026824663,1027051057,-1108939748,1039281515);WS(1059198391,-1114206899); +sum1=W(0,1047908609,-1113872057,1033309054,-1123230572)+W(1,-1111534963,-1127426130,1005036838,-1086695351)+W(2,-1168813170,1029018614,1035651728,1041894153)+W(3,-1131612168,1032838544,1042361008,-1136657179)+W(4,-1097279138,1032841926,1063074340,1053830093)+W(5,1015674230,-1115081892,1042266564,-1114797926)+W(6,1018582917,1025662981,1026831155,-1127872354)+W(7,-1102974814,-1086802103,1048968528,1022976638)+W(8,1022213546,-1119589535,1043048448,1036160183)+W(9,-1122684754,1042918755,1027013917,1034821095)+W(10,-1094977286,-1080167184,1045668084,1037218004)+W(11,1023015663,-1121567905,1051954532,1028546130);sum2=W(0,-1116747636,-1095594447,1044771761,-1109294951)+W(1,-1093594252,1044254591,-1102224225,1053044316)+W(2,1036768486,-1122217612,-1148207325,-1105874671)+W(3,-1091993541,-1098134808,1037653814,-1106240469)+W(4,-1103264547,1059446961,1060397410,1065361960)+W(5,1038496462,-1106764847,-1110887683,-1098859579)+W(6,1045429231,-1112675284,-1129034439,-1132138943)+W(7,1053539276,-1147713757,-1139768526,-1095097189)+W(8,1035231626,-1112984312,1018090127,-1103270924)+W(9,1030264036,1027709116,-1126749735,1027920896)+W(10,-1115698004,-1131922215,-1095674438,-1100471477)+W(11,1037287074,-1106415399,1044415945,-1105560593);WS(-1081905372,1072993545); +sum1=W(0,-1111485397,1044870886,-1113931058,1004609681)+W(1,1052555682,1050421002,-1103601459,-1100618406)+W(2,-1113131956,-1119475260,-1125853837,-1113666277)+W(3,-1101161424,1042868018,-1110350900,1017897178)+W(4,1053397115,1057434595,-1088871615,-1117978262)+W(5,-1119057377,-1116054255,-1108715676,-1109207833)+W(6,1016958866,1036666966,1029593625,-1119842647)+W(7,1037835279,1054502387,-1090419947,-1096217303)+W(8,1033629886,1019600139,-1131918060,1041223333)+W(9,1034341084,-1123516147,1026419555,-1114320538)+W(10,1036260396,1041011339,-1100180286,-1105396084)+W(11,1034832815,1025124935,-1108472674,1046093262);sum2=W(0,-1134820995,1019005665,-1131003531,1027207918)+W(1,1022927690,1039006609,992028222,-1123507780)+W(2,-1124904791,1019252639,-1114458430,-1148644129)+W(3,1018656479,1016837667,-1144704129,-1155176792)+W(4,-1108026125,-1075529389,-1093100477,1020777698)+W(5,1019665619,-1148497627,-1165905039,985006155)+W(6,-1133755465,1007330736,1018692534,-1120277627)+W(7,-1071234400,-1098388857,1026210395,-1106617270)+W(8,-1154476856,1041946375,1080134310,1009164120)+W(9,1008190855,1024160458,1016313728,-1122116985)+W(10,1043410538,-1127804151,1009441727,1015481059)+W(11,-1120913968,-1102924087,1038162442,1068769301);WS(1052536174,-1151096569); +sum1=W(0,-1128173243,-1146822742,1033302347,991116371)+W(1,1032573088,-1120898050,1034951935,-1103836723)+W(2,1037991630,1035558856,-1138114279,999976938)+W(3,1036050892,1034768509,-1115536654,-1116642336)+W(4,1057405287,-1120590821,-1106200391,-1087917523)+W(5,1042054293,986260550,-1118223722,-1098834165)+W(6,-1102372039,1030675614,-1114833734,1020657940)+W(7,-1082912644,1002819162,1041046871,1061554222)+W(8,-1130396508,1023135729,-1107937520,1047922098)+W(9,-1114628406,1032401267,-1158391502,1031490598)+W(10,-1124848916,-1124036191,1027714602,1046795201)+W(11,-1142052488,-1177279769,-1118805976,1038688870);sum2=W(0,1038869307,1034423710,-1127800761,1035223119)+W(1,-1105867416,-1109342419,-1116666352,-1108836158)+W(2,1028503999,-1119414296,1047028407,-1106282608)+W(3,-1109261585,-1095895125,1028905699,1038890181)+W(4,1027333841,1057224086,1061176216,-1087753137)+W(5,-1113209005,1010099974,-1148022324,-1148256348)+W(6,-1098712671,1032845262,-1127955051,994981383)+W(7,1049674522,1011854042,-1208820627,-1099737664)+W(8,1020393479,-1115953239,1043242553,-1103462952)+W(9,1030375171,-1114148994,-1121293280,998786660)+W(10,1017325847,-1120003540,1042226462,-1126035264)+W(11,1024565993,1001260628,-1117125009,-1121350765);WS(1058902967,-1081860445); +sum1=W(0,-1116017491,-1110722656,1029881036,-1121371387)+W(1,-1144385454,1046612526,-1096281750,-1114517185)+W(2,-1133995267,-1118231237,1032371736,1031405875)+W(3,-1103068528,-1120254383,-1117974353,992316765)+W(4,1050079932,1061346066,-1087192661,-1110556335)+W(5,1037331941,-1117606232,-1113719056,-1114542190)+W(6,-1111729689,-1123116948,-1115308289,1019164800)+W(7,1054224317,1023689473,-1119671953,-1138608617)+W(8,1027634660,-1114416951,-1121094047,-1147587566)+W(9,-1110978129,1027465948,-1118946572,1031905998)+W(10,1034730016,990814541,1026550240,1026716344)+W(11,-1150819433,1002408318,1025765741,1032702160);sum2=W(0,1017520494,-1110533731,1008157504,-1127268449)+W(1,-1104246964,-1126879265,1053115740,1046612660)+W(2,1019779427,-1135658469,-1103206877,-1098833757)+W(3,-1110799425,1038116680,-1129508015,1022079949)+W(4,1071620340,-1082767624,-1081939523,1042237616)+W(5,-1112586418,1021781126,1046386206,1047260740)+W(6,-1149062134,-1109564641,987488696,1023435994)+W(7,-1091995420,-1133233221,1019421448,1046590815)+W(8,1021597755,1025921212,-1113663072,1034566387)+W(9,1031926637,-1140288129,1025441916,-1149203238)+W(10,-1113723868,1008464055,1002014090,1025089506)+W(11,1022181144,-1133866981,-1120607589,-1131415815);WS(-1118927728,-1114990634); +sum1=W(0,1033195056,-1114716774,1040612950,-1123938375)+W(1,-1087859524,-1132924433,1047260544,1057535917)+W(2,1047574307,-1106834116,1007112943,-1107191040)+W(3,1048819881,-1104426015,1022214714,1024746402)+W(4,-1087499341,-1097320317,1057677234,1042772673)+W(5,1044210486,1028537764,-1093740782,1043648426)+W(6,-1105195831,1042575344,-1112630087,1038811590)+W(7,-1091890215,-1089715893,1057533694,1045869257)+W(8,-1106862316,1047539199,1020754614,1042013107)+W(9,-1098438774,1038434900,1031232344,-1118622728)+W(10,1029276300,-1091230428,1055588422,1042859777)+W(11,-1107232885,1041569343,-1113991309,-1107815558);sum2=W(0,-1098776947,-1074997876,1034943831,-1117938617)+W(1,-1111689798,1008522816,1071950042,1052841626)+W(2,1034353164,1019125592,1023979086,-1101990052)+W(3,-1067348911,-1073328658,-1112881764,1047294563)+W(4,1042633900,-1105497105,1075942353,1078478928)+W(5,1021696573,1032192788,1040726051,-1106116215)+W(6,-1106856879,1007574096,1017166837,-1113196518)+W(7,-1100859969,1027760421,-1110198115,1048374094)+W(8,-1129459590,-1114781060,1041816709,-1128120408)+W(9,1040326435,1003760381,-1122537978,-1119652380)+W(10,-1106280857,-1146348222,-1132261857,1016518417)+W(11,983174391,1019612376,1015700123,1015116440);WS(1034111416,-1106797037); +sum1=W(0,-1113852291,1035613338,-1146675705,-1127934684)+W(1,1052464285,1042719307,-1102929642,-1096035023)+W(2,-1113420426,1025128440,-1114220817,1032415443)+W(3,1034804131,1037672145,-1113401378,1006977829)+W(4,1054858571,1057164897,-1089088820,-1090308252)+W(5,-1114922591,-1136503085,-1123663635,1032020487)+W(6,1044038057,-1106829090,1016064490,1019549798)+W(7,1050796251,1048920159,-1097224209,-1096624416)+W(8,1026704599,-1109868785,-1131720964,1035431737)+W(9,1033066250,995721454,998716411,-1139061950)+W(10,1042039981,1049209393,-1095532026,-1104516203)+W(11,1024811962,-1138798477,1041424208,-1114943722);sum2=W(0,1030944977,1035483586,-1117669473,1018373307)+W(1,-1139755202,-1114451942,-1113169149,-1120549779)+W(2,1049483493,1049560407,-1102665013,-1101691927)+W(3,-1120221588,-1138388666,-1107254646,1036793172)+W(4,1047991436,1050438576,-1118729068,1031305133)+W(5,1057078402,1060878230,-1083351573,-1083948126)+W(6,-1119036598,1026801669,983011887,1027210469)+W(7,1058194810,-1103576008,-1136088418,-1123944089)+W(8,1058504911,1044728114,-1106933299,-1081291530)+W(9,-1120993070,1036234905,999841656,-1124389554)+W(10,1037255439,-1114267729,-1110162376,1045466087)+W(11,1047223280,1036725012,-1124771645,-1095248620);WS(1038841272,1052605132); +sum1=W(0,-1100459309,1046914264,-1104568331,1031922765)+W(1,1026910357,-1101939446,1041702805,1037270288)+W(2,-1104596348,1044685961,-1114279623,1023447506)+W(3,-1120141702,-1117060814,-1109808312,1037544250)+W(4,1040827436,1037079325,1045728636,-1098675705)+W(5,-1104877098,-1117405559,-1115507167,1048352911)+W(6,1046551204,-1097718198,1042593752,-1115625903)+W(7,-1095425143,1046662664,999474559,1017164043)+W(8,1032200833,-1104511859,1038294495,1040518727)+W(9,1032086688,-1112841053,1033924054,-1105481799)+W(10,-1103113592,1015870568,1034794943,1031450455)+W(11,1039045107,-1111795079,1041969331,-1106032688);sum2=W(0,992683382,-1104347191,1033659476,-1119788132)+W(1,1022669528,1043646320,1020892153,1018867293)+W(2,-1102594356,-1105788334,1022003003,1044098145)+W(3,1044081475,1034564598,1008462738,-1112158198)+W(4,1053457206,-1103925357,-1098943438,-1090780387)+W(5,-1097169858,-1089462725,1061138285,1053806225)+W(6,1037093866,-1118342628,-1135723434,-1128623485)+W(7,-1094689316,-1130567667,1037085984,1024702018)+W(8,-1090351234,-1124000960,1042502677,1061570617)+W(9,1008221186,-1116661382,-1125624097,1030330775)+W(10,-1111881166,1006874186,1041747819,-1108937272)+W(11,-1102638867,-1119261652,1015917808,1045330453);WS(1059476151,-1123203418); +sum1=W(0,1035594491,1034919857,1032359159,-1111725774)+W(1,1057461865,1048140086,-1140486487,-1091810916)+W(2,-1123857235,1028750247,1034245225,1016189354)+W(3,-1111760306,1046155316,-1105544893,-1110577724)+W(4,1060577506,1052038472,-1086139015,-1084838663)+W(5,-1113205590,-1121460986,1027870402,-1104347695)+W(6,1044165509,1020829292,-1115245634,-1121304930)+W(7,1057513991,1053266340,-1096673622,-1095808892)+W(8,-1148349487,-1113141864,-1108853472,-1103056264)+W(9,1039852002,-1120384574,-1110517831,1036887935)+W(10,1045123672,1055106407,-1090491960,-1127813812)+W(11,1036934292,1011178567,-1133152957,1031021091);sum2=W(0,1026556603,-1115461868,-1107973502,-1114868977)+W(1,1034344926,1042028492,-1092079110,1004734644)+W(2,-1131620842,-1105590488,-1103991549,1040708934)+W(3,-1104823400,-1105554340,-1101288212,1044770988)+W(4,1024895663,1050688149,1045430990,1059587552)+W(5,1029419915,-1114582112,-1095880897,1051421807)+W(6,1036199790,-1116199065,1028043472,1025917421)+W(7,1047334362,-1116948841,-1137785064,1037874646)+W(8,1015496806,-1121536685,-1122024357,-1118101029)+W(9,1020651575,-1128075734,-1123193100,-1111158861)+W(10,1044938016,1042458099,-1127404110,-1093651456)+W(11,-1121478353,-1127827256,1007412048,-1099771430);WS(-1096078190,-1082738059); +sum1=W(0,-1108860284,1046670329,-1114850361,1007239809)+W(1,1053165251,1050939564,-1101169270,-1100207850)+W(2,-1115685558,-1124400725,-1126100266,-1112013420)+W(3,-1103368477,1045976117,-1112210107,-1130257143)+W(4,1051252601,1056131912,-1088435015,-1116530972)+W(5,-1112871192,-1117830909,-1124484747,-1112810720)+W(6,1029494103,1036298605,1028242343,-1118665957)+W(7,1045571555,1053021861,-1090334611,-1092482434)+W(8,1031308937,-1143992478,1032260218,1041969097)+W(9,1029804679,-1128309634,1022403683,-1116764258)+W(10,1035862579,1038809821,-1099682433,-1105280439)+W(11,1037078646,1016808747,-1114977769,1044490698);sum2=W(0,1027229337,1032424255,-1147891684,-1133820219)+W(1,1007940354,-1125237780,-1107406978,-1115513384)+W(2,1020775992,994071912,1031863482,-1156542700)+W(3,-1137665638,1045946307,-1127200453,-1127336652)+W(4,1044701152,1067148595,-1096925824,1037916056)+W(5,-1127018949,-1115116116,1048747828,-1113898133)+W(6,-1116510358,-1145031593,1001166860,1020736496)+W(7,1076670751,1039470145,-1138759126,1031285965)+W(8,-1122694416,-1106720041,-1070343554,-1101339101)+W(9,-1116471963,-1126621635,-1135690985,1022486646)+W(10,-1109537872,1025436583,-1122394148,1020254812)+W(11,1034791139,1039293842,-1107321525,-1082365934);WS(1056919406,-1123699093); +sum1=W(0,985933670,-1142160193,1016658279,-1153021483)+W(1,1058308826,1043832952,-1106728023,-1089586019)+W(2,-1130942473,-1162334614,-1111941676,-1122912091)+W(3,1032391598,-1109380555,-1131540465,-1169964908)+W(4,1054485203,1051425640,-1095937215,-1095447822)+W(5,-1115887538,1035573952,1038539876,-1114359010)+W(6,-1112807501,-1115139838,1018808083,-1116724456)+W(7,1057168451,1053123845,-1105250414,-1092279079)+W(8,-1120065804,1037216107,-1105627696,-1129000267)+W(9,1023499017,-1119658051,1026972628,986184318)+W(10,1034402292,1056025192,-1093497009,-1104943256)+W(11,-1114397383,1031803900,-1129701482,1011544866);sum2=W(0,-1104410341,1032410612,-1126716121,1034281368)+W(1,-1138447737,-1115589617,1017706532,1018060402)+W(2,-1140256393,-1133676977,1029627322,994323516)+W(3,-1087414339,-1068615761,1045372780,-1121241308)+W(4,1021983592,-1100339818,1078313037,1061712823)+W(5,1012505315,-1130902073,1015111478,-1133709215)+W(6,-1067644471,-1091405946,1047600787,1035929285)+W(7,-1123293195,1030149270,1048822788,1079888634)+W(8,1028720332,-1123320040,-1124744731,1023885100)+W(9,-1118166494,-1097556864,1041718259,1004087438)+W(10,-1120625820,1021734756,1035128990,1023636550)+W(11,1022959192,-1136405679,1009567515,1010097407);WS(1057577783,-1116545908); +sum1=W(0,1023488522,1007841757,-1119858755,-1140559047)+W(1,-1127758170,-1102068668,1034355893,1031631673)+W(2,-1129099776,1023940956,1038802963,1037581685)+W(3,-1099448121,-1135636631,1019558160,1001413734)+W(4,-1139646818,1043309332,-1095265297,1034820815)+W(5,1023108226,-1133216315,-1118918103,1020321573)+W(6,-1106014610,-1112832085,-1123065945,1027838711)+W(7,1058446926,1018622064,976310772,-1133110549)+W(8,1027058075,-1123708581,-1110623851,-1104027725)+W(9,-1132115376,1007686986,-1116764451,-1133184076)+W(10,1033516923,1033353766,1033492939,1031909175)+W(11,1025545342,-1118432359,-1114622946,-1124259695);sum2=W(0,-1124752720,-1121090060,1036960926,-1139693312)+W(1,999696497,1034222778,-1103693150,-1098950560)+W(2,1026280044,1014405392,-1119707404,-1111434581)+W(3,-1099787410,-1112556974,990661185,-1143311649)+W(4,-1104157082,1058657457,1052753541,1033289622)+W(5,-1121205834,1023217352,-1108624084,1018041096)+W(6,-1123282486,-1104610584,1000525745,1015972640)+W(7,1042484509,1044261031,1031872996,-1106573325)+W(8,1005957425,1017712752,-1121815492,-1111132399)+W(9,1028371280,-1104217347,1028832752,-1129692664)+W(10,1026599244,1041506121,-1115847157,-1115662969)+W(11,-1139874592,1010211304,-1129135268,1018446608);WS(1063874743,-1123600943); +sum1=W(0,-1110972995,1029034162,1005084141,1026726381)+W(1,1060534134,1052968261,-1096434085,-1088392527)+W(2,1017113381,1023149165,-1125442370,-1131352649)+W(3,1029564141,1019350337,1022502021,-1121313992)+W(4,1061531727,1048937234,-1089197156,-1088422197)+W(5,-1121647548,1028622922,1007055431,-1111100967)+W(6,1021423943,-1112342611,1012880846,1010678471)+W(7,1053585019,1049533342,-1099324833,-1089730182)+W(8,-1132301739,-1122598880,1037169096,-1124123103)+W(9,1036724585,-1096649610,1031948511,1016038684)+W(10,1044791660,1047748258,-1102131796,-1105649226)+W(11,1017220849,-1134858375,1048887628,-1119334386);sum2=W(0,-1098661524,-1113317539,-1114001722,1041516351)+W(1,1067471192,1062194047,1066164852,1065773241)+W(2,1025030832,1015621429,1029392016,-1095722385)+W(3,1041960143,-1113172562,-1127882717,1031962338)+W(4,-1131590099,-1071391818,-1071023147,-1094243603)+W(5,1033273068,-1106774969,1027735196,1045112423)+W(6,1057245216,-1108932190,-1116893380,1024371132)+W(7,-1082288010,1036914992,1043021464,-1087722937)+W(8,1021784721,-1147670187,-1110460182,1047570295)+W(9,1040530840,-1090505328,1035584360,-1137233618)+W(10,1056604249,1065534266,1062948018,1059923771)+W(11,-1157997580,1025226110,-1096088381,1008215114);WS(-1081605212,1037230241); +sum1=W(0,-1115600951,-1127078325,-1127382348,-1129286954)+W(1,1042245092,-1101819637,1037397159,-1139829872)+W(2,-1191245347,-1140137724,1025459530,-1130516890)+W(3,1045220821,1032978341,-1119205995,-1114123448)+W(4,1057239854,-1089716883,1057561887,-1103957592)+W(5,-1135821456,-1153142562,1040837167,-1098019463)+W(6,1031622828,1039357911,-1114061454,-1116053850)+W(7,-1088291628,-1162281827,-1103125195,1057799156)+W(8,-1123070334,-1115244132,-1123433113,1039979404)+W(9,1020277751,1026874614,-1165173963,1024011222)+W(10,-1111135597,-1144308089,-1159950147,1035843369)+W(11,975751222,-1121723210,-1115664788,1008116332);sum2=W(0,1027890930,-1115667911,-1132201467,-1129847377)+W(1,-1131041629,-1086235324,-1139027758,1045384717)+W(2,-1129495121,1022067627,1015945835,-1118537275)+W(3,-1109124506,-1115518668,1032250249,-1111059277)+W(4,1071241567,-1104078593,-1088514518,1062718876)+W(5,-1139816838,-1109320206,1050303031,-1090110249)+W(6,-1131706033,1033851379,-1175110606,1003251981)+W(7,-1091065468,1021865867,-1096199608,1043614591)+W(8,1035917053,-1140186118,1030828678,-1130925231)+W(9,1008685286,-1130851063,1007928974,-1119100754)+W(10,-1113376611,-1120766781,-1126833063,1038009999)+W(11,1027374356,-1130315761,-1121346672,-1128909271);WS(1048635758,-1111558989); +sum1=W(0,-1114167026,-1144951432,1007517554,-1116715915)+W(1,1046236914,1042364482,-1100411873,1019884197)+W(2,-1123924777,-1115625243,1030303424,1023679491)+W(3,1032434734,-1116349759,-1130676803,-1125319757)+W(4,1057088310,1060062511,-1099356457,-1082609609)+W(5,1018952757,-1117219752,1027068912,1025882348)+W(6,1007313161,1037795522,-1122176818,1032051720)+W(7,-1105629450,1032549225,-1098216348,-1114189151)+W(8,-1128015465,-1117338239,1037080648,1046455412)+W(9,1011561671,1022555096,-1125995833,1019813529)+W(10,-1156935944,1017135051,-1115419480,-1118483848)+W(11,1001454266,1015509889,1020138940,1024380849);sum2=W(0,1032764106,1032749056,-1128076598,1017200252)+W(1,-1120952053,-1105592489,1036328960,-1100965710)+W(2,1026555164,-1121478225,1037836738,1023440400)+W(3,1042154489,-1091917968,1027061114,1020177744)+W(4,-1093732085,1053281179,1069362278,-1079875623)+W(5,1032334674,1004458190,-1110949820,-1110726007)+W(6,-1115647155,-1109350747,1007295183,-1120062015)+W(7,1053015354,1023497366,-1121245377,1041923814)+W(8,1030547292,-1115087241,1029656316,-1097734576)+W(9,-1136438311,-1152745757,-1120999608,1005463470)+W(10,1044015507,1040619345,-1115720719,1023734232)+W(11,1024950244,-1107079388,1039138178,-1107014120);WS(1057226679,-1099093504); +sum1=W(0,-1106860569,-1097721634,-1111361838,-1117743115)+W(1,-1116606854,-1113320356,1043835217,1059123761)+W(2,-1126837697,-1108681130,1021938430,-1117312579)+W(3,1017711998,-1098477656,-1115584496,-1142218540)+W(4,-1098795498,1036044245,1036645937,1054886149)+W(5,-1128001843,-1126342351,-1113074392,1024346219)+W(6,1017808579,-1127808199,-1112915081,-1144474236)+W(7,1058878095,1054951826,-1102898152,-1096319852)+W(8,-1145404316,1022603516,-1104150268,-1113306631)+W(9,-1110778360,988685674,-1124754680,-1118048876)+W(10,1042821748,1057715322,-1103594844,-1108186916)+W(11,-1113519979,-1166667748,-1104945799,-1109837016);sum2=W(0,-1115134458,-1113297695,-1121365003,1017552406)+W(1,1040415751,-1119377084,1033578978,-1123239700)+W(2,-1116030864,-1154029132,-1140510683,1024802817)+W(3,-1121331284,1034056828,-1126393870,1024315197)+W(4,1033268884,1042552247,-1122610502,1032104202)+W(5,-1127078294,-1123710517,1027588477,1031096569)+W(6,-1116036592,-1122098200,1026122801,1006096662)+W(7,1014688747,1038912262,-1128246386,1042239151)+W(8,-1142638070,1002524342,-1106292650,-1116363642)+W(9,-1138309587,-1114451237,1010820131,-1115019758)+W(10,1011328923,1013103251,1021632898,-1130645774)+W(11,-1123496021,1026182445,-1106135611,-1119712705);WS(-1108758968,-1120615143); +sum1=W(0,1043847294,-1115009907,-1118729201,1007512449)+W(1,-1089504654,-1097300100,1047642150,1041722714)+W(2,1021562716,-1157490338,1024857813,1035899020)+W(3,1038269372,-1103491829,-1188181540,1033236958)+W(4,-1092318719,-1092329088,1056274631,1052029054)+W(5,1033997944,-1127937658,-1115586563,1041772976)+W(6,1026842103,1028990457,-1139132956,1032455763)+W(7,-1088834696,-1094694701,1044856958,1057598894)+W(8,1034853541,-1139535439,1028932916,1037648114)+W(9,-1112992067,1045480960,1028445809,-1126666947)+W(10,-1102944265,-1095636207,1008203541,1049081300)+W(11,999073631,1033314299,987483733,1031373190);sum2=W(0,-1119857460,1016942723,1027503424,1022601823)+W(1,-1068582801,-1076271776,-1112391205,-1099325942)+W(2,1015907333,1016973548,-1104095012,1035739756)+W(3,-1113768249,1049278985,1031020236,-1114440342)+W(4,1067690352,1077639092,-1097330938,1050839307)+W(5,-1122697579,1015148595,1047876791,1026494027)+W(6,1023747258,1008539869,1028798660,-1115479573)+W(7,1061065209,-1120523343,-1108724816,1019565806)+W(8,-1106941761,1032414836,-1115660355,1016405011)+W(9,1030670036,-1124354630,973255146,-1137878778)+W(10,1002861982,1029925423,-1115374863,-1143955309)+W(11,-1126087053,-1124658022,1033007729,1022661839);WS(-1125070560,-1096513533); +sum1=W(0,1032850683,1035442769,-1141896047,-1112401838)+W(1,1046757622,1047296038,-1105684773,-1111199410)+W(2,-1110786345,-1113414691,1013771590,1033951818)+W(3,1027743049,1036941992,-1125005414,-1114813980)+W(4,1061969278,-1107426238,-1099350541,-1093508577)+W(5,-1131095256,-1114443933,1023589122,-1100008383)+W(6,-1104378805,1037833707,-1115056418,1026386210)+W(7,-1092774776,1028130403,-1112618105,1060063436)+W(8,996299870,-1117830096,-1110298148,-1122038496)+W(9,1022681350,1033887999,-1125623196,1012901881)+W(10,-1127381572,1016528878,988362813,1035294797)+W(11,-1140100259,1014753608,-1106008748,1030080099);sum2=W(0,1024340419,1043920397,-1110645236,-1128089453)+W(1,-1103821003,-1097377481,-1114712453,-1102023306)+W(2,-1119644228,1026656603,-1109265540,1043342989)+W(3,-1129344777,1009781987,1026446699,-1130916401)+W(4,972074333,1059140954,1057874897,1028225499)+W(5,1034952995,1032660433,-1103696793,-1100613575)+W(6,-1102796808,1037523581,1032679495,-1115610756)+W(7,1038144249,-1107293486,-1102216434,1052660862)+W(8,-1130501689,1029362471,-1131885037,-1116201867)+W(9,1023912055,1026431795,-1123355757,-1114433002)+W(10,1006589878,-1102041035,-1128264837,-1127455825)+W(11,1013212643,1005668278,-1127587329,-1105206442);WS(1049867118,1034735186); +sum1=W(0,1029333619,-1123455456,-1117373036,-1127774262)+W(1,1024964758,1032014380,1040322517,1019113028)+W(2,-1121402761,-1118901061,1019723167,1007980364)+W(3,-1105261096,-1096141178,-1112922680,1031064438)+W(4,1048588372,1050135703,-1101685436,1040279186)+W(5,-1126411220,-1110911420,-1100797936,-1114399774)+W(6,-1120189874,1024540628,-1132535687,1012648832)+W(7,1034886579,1040490120,-1121818673,1044944438)+W(8,1019321608,-1114680743,-1150021355,-1113398479)+W(9,-1138107141,1000234461,-1140537009,-1120670652)+W(10,1016312768,1034120602,1032620736,1035373868)+W(11,-1121234663,-1121766352,1008873398,-1128775361);sum2=W(0,-1111556088,-1127668568,1020587590,-1161289046)+W(1,1024158411,1018324827,-1130067243,1038429491)+W(2,1016121349,-1127328688,1035096674,-1123794133)+W(3,-1095922552,-1092239431,1031608572,1029682388)+W(4,-1123472030,-1093717514,1058359401,1050898724)+W(5,-1126947701,-1126252937,1042534485,-1142905112)+W(6,-1165373610,-1120133906,-1129471662,-1117304231)+W(7,-1118204561,-1112781150,1044552317,1040200303)+W(8,-1122434117,-1137031592,-1136196985,-1137719883)+W(9,1007233453,1019046119,-1134569151,965398246)+W(10,1017795291,-1120826542,1031851372,-1132308256)+W(11,-1121369248,-1162116006,-1128305748,1027736448);WS(1063598519,1040709546); +sum1=W(0,-1129964132,1018517694,1025004011,989424433)+W(1,1056340507,1052096915,-1096845618,-1092181324)+W(2,1007420926,1025298052,-1124688156,-1140166214)+W(3,1036280904,1042042835,1010227902,-1117397173)+W(4,1055848084,-1117189370,-1082263275,-1092686069)+W(5,-1114706068,1030527159,1041673920,1027380346)+W(6,1025484624,-1108371497,1035862832,-1116859551)+W(7,1053023013,1053676604,-1124000752,-1087946945)+W(8,1004378644,-1130325786,1021321051,1025279965)+W(9,1028794752,-1105766207,1028295307,1012428267)+W(10,1044581128,1048031389,-1108973663,977020321)+W(11,1025029349,1015026205,1035434166,-1125256895);sum2=W(0,1040099849,992269838,-1132752301,-1128989779)+W(1,1021993174,-1130867684,1034251701,-1100874000)+W(2,1011642260,-1123860313,1034483450,-1130783901)+W(3,1034828720,1034859451,-1112228563,-1121498089)+W(4,-1113539068,1053848304,1044543345,-1104384455)+W(5,1016725938,-1122625223,1016645052,-1122004711)+W(6,1034954038,-1122349299,-1111737432,1023519830)+W(7,-1104908283,-1100179639,1028583216,1046406891)+W(8,1011006880,-1114528083,1016210650,1032774629)+W(9,1019899084,-1112348174,-1134051546,1023675120)+W(10,-1111378604,-1097476412,1040182737,-1114022376)+W(11,1021084026,-1141294629,1025418184,1033297067);WS(1052377710,-1116561061); +sum1=W(0,1026711393,1046449684,-1112995181,-1122160137)+W(1,1023922180,-1112523427,-1103073456,1034438088)+W(2,1014756539,-1110629817,1036366239,-1115207840)+W(3,-1094207935,1051777944,1017022397,1021266631)+W(4,1031595583,-1107259466,-1091454284,1059878180)+W(5,1025340632,-1122333286,1043506315,-1096200621)+W(6,-1105978112,1045042328,-1105019076,1032809511)+W(7,1059633699,-1094439010,-1137740923,-1108523806)+W(8,-1126028515,-1114494718,1043730779,-1105628259)+W(9,-1140860791,-1140595366,-1119221338,1019774100)+W(10,1048809290,1019553093,1015748571,-1113848547)+W(11,1024493780,-1121208702,-1117446555,-1114298535);sum2=W(0,1023545558,-1122326332,-1110204990,-1125003387)+W(1,1019826271,-1106041547,1049948311,1001356924)+W(2,-1114113554,1028296019,-1122275300,1029018751)+W(3,1039271760,997586352,-1110854180,1008672566)+W(4,1040609653,1057375034,-1099440370,-1104177316)+W(5,-1143932072,-1122149120,-1099421810,1017003703)+W(6,1043658401,-1126010948,1007507570,1015432805)+W(7,-1098469549,1041033112,-1112581048,-1101604747)+W(8,-1118594118,-1129527698,1018898909,1052007058)+W(9,-1128126180,1018354299,-1145172348,-1129875419)+W(10,-1108980340,1026776081,-1118892801,1034699764)+W(11,1031512617,-1147650596,-1123423040,-1118843549);WS(1066846108,1044745002); +sum1=W(0,1049403789,-1107121557,978233216,1019372186)+W(1,-1091781177,-1100692098,1051348497,1042475733)+W(2,1015897062,1009376476,1039801345,-1124410122)+W(3,1041504923,-1134682116,1025331363,-1129136976)+W(4,-1091573825,-1089263023,1054698948,1048713517)+W(5,-1126291000,1006187856,1040511932,1032893815)+W(6,1039399714,-1122699462,1015116199,-1142297744)+W(7,-1091452887,-1090043533,1058118606,1049146911)+W(8,1016897132,1012743170,1032222216,-1146055296)+W(9,-1121336819,1026221102,1016287548,1015645340)+W(10,-1102394372,-1091564925,1056609718,1046729314)+W(11,1010428515,1000566800,-1107840672,-1115550793);sum2=W(0,1040076187,-1110698495,1025173682,-1121498998)+W(1,-1097642453,1032193313,1027215822,1040991236)+W(2,-1143069461,-1127878497,-1107046015,1041191639)+W(3,1046879062,-1114452496,-1123064681,-1127952317)+W(4,-1089335507,-1070315938,-1079622690,-1097422534)+W(5,1033858873,1031644922,-1107556506,1027648922)+W(6,1037259271,-1113826794,1031547392,1031325102)+W(7,-1080614075,1063284099,1059352243,-1113150532)+W(8,-1125227083,-1135729999,1044912350,1040688678)+W(9,-1113826560,-1114840697,1013263415,-1116804726)+W(10,1075195474,1071802337,1048220488,1032134129)+W(11,-1112123781,-1104322253,1050907604,-1107091577);WS(-1083170743,1032719415); +sum1=W(0,-1115388842,1037576352,1027723212,1023701883)+W(1,-1131637740,1047136718,-1104329709,-1095142736)+W(2,1012236805,-1143133226,-1114738168,1043889005)+W(3,1028066352,1034436696,989186599,-1122560214)+W(4,1050356544,1058921626,-1091782714,-1093573195)+W(5,-1126174356,1024911192,1035779088,1032119470)+W(6,1046871436,1036384970,-1118377474,1018265472)+W(7,1057401704,1046747968,-1088395265,-1090370147)+W(8,1033076018,-1122725807,1026791695,-1119260798)+W(9,1041769608,1033711598,-1143849572,1034616094)+W(10,1048250192,1051022467,-1085234190,-1092608855)+W(11,1033024419,1028803056,1035213927,1007978244);sum2=W(0,-1091007599,1043419584,-1148866748,1040592912)+W(1,1061904811,-1110256028,-1102576481,-1122569720)+W(2,-1107753434,1043044202,-1106770914,-1096410255)+W(3,-1111893630,-1100951705,-1113675298,1032765896)+W(4,1042199718,1060838438,1060370086,-1114969246)+W(5,-1138614142,-1121677972,-1088153932,-1108992598)+W(6,1030657616,-1123081200,-1111525482,1035431068)+W(7,1061366749,-1086083341,-1112438148,1018512847)+W(8,1049599377,-1117594428,1039676388,-1091610254)+W(9,1009914590,1048594219,-1111672592,1031171080)+W(10,1029235040,-1090315205,-1120657004,1033713452)+W(11,-1154941432,1041324320,1040642594,-1104419583);WS(-1087374135,1068569819); +sum1=W(0,1036038485,-1134485343,-1114460210,1034522569)+W(1,-1092286050,-1097395434,1048850073,1051494643)+W(2,-1124293233,1035227470,-1155697773,1024631242)+W(3,998999958,-1102898978,-1156322949,1040675195)+W(4,-1093950865,-1086427635,1058980799,1055860825)+W(5,1022306499,-1115248568,1036357020,1034953465)+W(6,1032174021,1032843110,1038944141,-1126356143)+W(7,-1097745188,-1098221875,1048730421,1050366134)+W(8,1025097211,1020281868,1020968428,-1115522123)+W(9,-1112707068,1041667373,-1147588893,-1123272884)+W(10,-1095510475,-1093210118,1049367775,1043911796)+W(11,-1112095119,1003691067,-1134843155,1032316940);sum2=W(0,-1101176821,1040154700,-1109420523,1036982689)+W(1,1031712503,1051308638,1008871494,1032029724)+W(2,-1135236510,1036178124,-1089037290,-1095262307)+W(3,-1103427381,1011961296,-1114883799,1038171016)+W(4,-1103617514,-1090481186,-1094943648,1053639476)+W(5,1056219784,1063074442,-1077304111,-1077227331)+W(6,-1115041464,-1112162319,1023400751,1032698755)+W(7,1048516585,-1110670159,1015257266,1046242469)+W(8,1070767205,1074120487,-1086532256,-1075605762)+W(9,-1114657793,-1117007917,1034471555,-1119043865)+W(10,1026474691,1044794303,1031877719,1018562568)+W(11,1066414901,1052188053,-1110424851,-1115849955);WS(-1094340206,1025238393); +sum1=W(0,1041212259,-1123694073,-1120317764,1025401267)+W(1,-1087771683,-1099303356,1044638395,1051626551)+W(2,1024873417,1003045609,1027277160,1026720107)+W(3,1040075594,-1128349902,1017691154,1029217422)+W(4,-1089805402,-1090474853,1049159169,1051991350)+W(5,1025974530,-1140916353,1032035372,1042793877)+W(6,1030937834,1030337996,1006374863,1015273200)+W(7,-1089928234,-1095611655,1045537234,1055056667)+W(8,1026491292,-1125445197,1028636183,1038797403)+W(9,-1112880429,1048792866,1023921508,-1149759301)+W(10,-1103717662,-1097665994,-1109761292,1047952828)+W(11,1018728702,1024842472,1024357062,1034683820);sum2=W(0,-1117564089,1007328518,-1125328223,1016272983)+W(1,1082928383,1074423709,1047318060,1054344808)+W(2,-1113989008,-1137080694,1037006400,1043627742)+W(3,1038058236,-1106032359,-1136495190,1019432157)+W(4,-1074337637,-1066615612,-1084625245,-1095657702)+W(5,1017883877,-1126758430,-1106132294,1040243063)+W(6,1036423350,-1129861056,-1122054341,1024638490)+W(7,-1087090886,1034359725,1036648948,-1124414562)+W(8,1040797418,-1113361096,1004167460,-1119023275)+W(9,-1141592892,1032273458,-1137665190,1016158573)+W(10,999766988,-1114245215,1033205457,-1120282232)+W(11,1023713345,1022755221,-1113153751,1002865564);WS(-1098231918,1035887052); +sum1=W(0,-1117693688,-1119004197,-1112046456,1007686525)+W(1,-1105099271,-1097653932,1036810732,1048268202)+W(2,1016554315,-1115219957,-1130249512,-1110112236)+W(3,-1104788790,-1092353842,1025581173,-1136641001)+W(4,-1098720398,1066085926,1069647932,1055375147)+W(5,-1142876018,-1143806946,-1091717545,-1106155488)+W(6,-1104580134,-1146015939,-1165513922,-1121240420)+W(7,-1093227035,-1123833253,1020096363,1052170270)+W(8,-1113561092,-1123809427,-1108464746,-1110987409)+W(9,-1162096818,-1117522176,-1123656209,-1114143760)+W(10,-1107379122,-1130540403,1031911554,-1125578169)+W(11,-1113074326,-1120698772,-1106840908,-1156567122);sum2=W(0,-1121500935,1033326245,-1139529830,-1125891647)+W(1,1017645919,-1167588957,-1133323886,1021750179)+W(2,-1118741587,1021086319,1018366499,-1130193055)+W(3,-1110257678,1033808587,-1119620679,-1127048511)+W(4,-1108825416,1055027509,1061147710,1040835222)+W(5,-1113356630,-1123951235,1035778772,-1144215516)+W(6,-1152963927,1023704513,-1133002574,1015042367)+W(7,-1105425292,-1090179180,1035246842,-1110018076)+W(8,-1124596863,995355927,1019226535,-1105010302)+W(9,-1125968895,-1159911790,-1136336990,1001053676)+W(10,1035235033,-1104047270,-1144777900,-1123027527)+W(11,-1135606974,-1141401292,-1137733870,-1113493000);WS(-1081201436,-1083122818); +sum1=W(0,-1118776317,-1121204906,1040103323,1024396773)+W(1,1056470156,1048677796,-1098486564,-1090317103)+W(2,-1124728406,1010393788,-1105729174,-1120183581)+W(3,1048678635,-1101546374,1042893967,-1104054160)+W(4,1048629197,1052113969,-1101075087,-1094484293)+W(5,-1105359341,1048587688,1048228642,1032093347)+W(6,1036673102,-1112386175,-1122190892,-1121710378)+W(7,1033707976,1057451847,-1099326495,-1095873942)+W(8,-1107414311,1034642220,-1102747354,1044099610)+W(9,1022162966,-1111471555,1020559724,1038539251)+W(10,1027207978,1053998976,-1095630377,-1101153544)+W(11,-1109685144,1033222029,-1125760751,-1114063013);sum2=W(0,1029357099,-1139320303,-1128601535,-1130151079)+W(1,-1126143047,-1124015138,1027307392,-1141051917)+W(2,1016378649,-1128887123,1026568428,-1138853383)+W(3,1016703563,1036545095,-1116462462,1016586775)+W(4,-1090482710,-1061542668,-1084177500,1040480663)+W(5,1024508650,-1109325640,1087807110,1051692940)+W(6,1027702761,-1115282656,-1136401487,1006316053)+W(7,-1081711054,1042416533,1033882273,1027514935)+W(8,-1115450794,1030137534,-1101742731,1065457143)+W(9,1025282364,-1128863347,1015531121,-1134837023)+W(10,-1107083018,1030037156,1013565163,975470826)+W(11,1016609727,-1122133136,-1123914522,1035528582);WS(1056806766,1019813151); +sum1=W(0,1038862168,-1098777292,1027672232,-1109922347)+W(1,1045176100,1046907893,1025923920,-1094336356)+W(2,-1117706029,-1143840774,-1097985673,1023835087)+W(3,1057340869,-1131946518,-1106442907,-1113027385)+W(4,1028090813,1060367739,1049099726,-1089223672)+W(5,-1111671123,1025756788,1010151151,1044113854)+W(6,1048903346,-1100586740,-1127683323,-1119504732)+W(7,-1102839017,1052174932,-1122538541,-1102142547)+W(8,-1111600768,1040843731,-1093148714,1051267347)+W(9,1027127869,-1136830686,-1122196904,1015134384)+W(10,1024110556,1047790604,-1100472159,-1099585557)+W(11,-1107564881,-1131252120,-1137237669,1029024221);sum2=W(0,-1119367753,1033363716,-1116580030,1016054025)+W(1,1024987046,-1114756690,-1119979151,-1115811972)+W(2,1007599121,-1120202841,1025664850,1016843613)+W(3,-1107794961,-1129548157,1024017790,-1128856269)+W(4,-1100926142,1048732221,1051115205,1046175546)+W(5,-1144919563,-1123931557,1029232538,1028330842)+W(6,1034251322,1039517400,1003808451,-1120027976)+W(7,1044324276,-1104827086,-1127431641,-1095340379)+W(8,-1122027017,-1118580981,1042504965,-1105635461)+W(9,1019337653,-1174223189,1020365697,-1120561807)+W(10,-1139095561,-1138276477,-1148320619,976018325)+W(11,1016896817,1009819353,-1117203320,-1118828309);WS(1067549148,1061168738); +sum1=W(0,1041916271,-1102760394,1019396970,-1136860560)+W(1,-1099729080,-1097589844,1046914407,1043173595)+W(2,-1117900922,-1118556558,1036811500,1028345500)+W(3,-1100215160,-1127917744,1031876061,1034693791)+W(4,-1085101004,1044764001,1041579695,1063664325)+W(5,-1118557363,-1148658183,-1111608196,1044130369)+W(6,1038708237,1042570959,1026075051,-1126960466)+W(7,1062969721,1046958554,-1099553438,-1084953669)+W(8,1028601293,1014732126,-1104831702,-1096862061)+W(9,1024557450,-1114527138,-1125694250,-1129065354)+W(10,1031927572,-1129394940,1036161892,-1111656016)+W(11,999719805,-1111432076,1028864534,-1121741642);sum2=W(0,-1097183834,-1096035348,-1109648154,1037988572)+W(1,-1112255513,1047451704,1046143856,-1096111302)+W(2,-1131066844,1021094187,-1109281762,1025606252)+W(3,-1106718097,1044362532,-1110735622,-1115314649)+W(4,1048785443,-1089624797,-1100541529,1065688064)+W(5,-1118872350,1035314838,-1124926742,1025033440)+W(6,1044653749,-1118097482,-1115532881,1029414023)+W(7,1040629892,-1135819985,1041170408,1022961930)+W(8,-1132267648,1004115214,-1109992198,1024229044)+W(9,1036871139,1035597348,-1123631499,-1114457629)+W(10,-1109975688,1030316886,-1109551474,-1121640520)+W(11,-1128646118,-1117895342,1031542857,1007526703);WS(-1090126519,1034760182); +sum1=W(0,1038732905,1040082783,987019599,1022234099)+W(1,1049091087,1049531159,-1096833350,-1095221408)+W(2,-1130848127,1036771650,-1100657291,-1141106060)+W(3,1042926010,1019049563,-1125185183,1021371561)+W(4,1052645704,1048882035,1049172122,-1090005917)+W(5,1035488804,1025403478,-1113910991,-1098472859)+W(6,-1101231100,-1108355337,1005824514,1040030303)+W(7,-1086324445,-1089320760,1052986466,1056956325)+W(8,1007113098,-1138596020,1033537135,1041783487)+W(9,-1115211984,1035983309,-1120592523,1028122555)+W(10,-1101798768,-1123937043,1025899358,1046568014)+W(11,-1128732298,-1127374557,-1125397784,1037621024);sum2=W(0,1032939170,-1102682487,1011977196,1016736022)+W(1,-1102551566,1060805847,1060510561,-1122689775)+W(2,1026411789,-1128029215,-1122236502,-1122487238)+W(3,1037611888,-1102949496,1019963070,-1137999416)+W(4,1057985083,-1073393989,-1073351999,1051792579)+W(5,1019619350,-1125796177,-1103029047,1036808922)+W(6,1039010410,-1110345340,-1122046802,1030437859)+W(7,1057367527,1062012989,1062467108,1059164734)+W(8,1024266957,-1119780381,-1106860549,1039165500)+W(9,-1124097437,-1113761662,1018753414,-1142727409)+W(10,-1147452225,-1099879364,-1101619274,1031495287)+W(11,1024156551,1016465010,1015482390,-1143421321);WS(-1089242039,-1127205581); +sum1=W(0,1047404342,-1111320098,1037734344,-1124452989)+W(1,-1114062493,998659036,1001557948,-1086849964)+W(2,1010360274,1032729828,1038364441,1042532510)+W(3,-1115981071,1038279993,1045032037,-1136469606)+W(4,-1096047365,-1107330927,1059294849,1055753134)+W(5,1015888923,-1118190491,1044317529,-1118490271)+W(6,1006926037,1030509432,1029283077,-1131176455)+W(7,-1105936042,-1087265492,1049404683,1006841992)+W(8,1021147727,-1123196402,1043122385,1035319841)+W(9,-1123275877,1043334248,1029887056,1038076384)+W(10,-1095492784,-1080260267,1044156233,1037635838)+W(11,1027584778,-1118995315,1053177470,1027367204);sum2=W(0,-1102843967,1046605828,-1114965417,1029897599)+W(1,1049416264,-1100594038,1025076963,1001547796)+W(2,-1115391670,1020641677,1041915682,-1120840401)+W(3,1033633995,1048791648,-1121485495,1025776431)+W(4,-1096668289,-1117020477,1044097140,-1090433692)+W(5,-1111492899,1034331443,1042521794,1040646462)+W(6,-1104898739,1031053127,-1113546368,-1140617930)+W(7,-1102246327,1034926551,-1118485295,1042488362)+W(8,-1115861875,-1134127978,-1109164591,-1112857889)+W(9,-1108448442,-1108356905,-1117524097,1031651703)+W(10,1047237110,1044694712,1040816680,1045463546)+W(11,-1120855845,-1124879769,-1109851905,1015998805);WS(-1081567068,-1085072352); +sum1=W(0,1008391383,-1102096537,1017630556,1026202077)+W(1,-1106037014,-1113878797,1035138955,1043376377)+W(2,1015626934,-1112723700,1041401156,-1119432853)+W(3,-1105309517,-1113888457,-1120073907,1034866076)+W(4,-1091962582,-1099527071,-1088326467,1062685095)+W(5,995954372,-1112822301,1036249665,1028045374)+W(6,1038015146,1010107993,-1122725732,990337572)+W(7,1065743931,1048331161,-1095652846,-1087780001)+W(8,1036674595,-1165855255,1030964177,-1122166240)+W(9,1035371298,-1107104879,-1135328058,1016189565)+W(10,1035819857,1033560764,-1134788873,-1111927693)+W(11,1020668626,-1140134473,1034792920,1030882915);sum2=W(0,1025808817,-1110518368,1034880732,-1101998430)+W(1,1041383807,1044537615,1035202798,1026331301)+W(2,-1108635033,1042833515,-1096440885,1033833028)+W(3,-1090739547,-1098171169,1034691412,-1111573656)+W(4,1045506861,1069658374,1068344140,-1095903349)+W(5,-1107072548,1037649108,-1094064924,1030373631)+W(6,1047617175,-1112107064,1032207084,1017688506)+W(7,-1090700374,-1135142667,-1108916250,-1085314459)+W(8,-1117475933,996218700,-1113568166,-1106284721)+W(9,1027687639,1035291452,995363580,1002612774)+W(10,-1106371211,-1105384559,-1111293323,-1113844364)+W(11,-1115713024,1031725587,-1113615358,1043762008);WS(-1122270064,-1083487436); +sum1=W(0,-1111938972,1031069285,1000846209,1022021054)+W(1,1061173530,1053406092,-1092279467,-1089129474)+W(2,990992466,997371026,-1112839626,-1117042135)+W(3,1035108132,-1122478547,-1133172181,-1120651002)+W(4,1061891890,1046812368,-1088959911,-1089405705)+W(5,-1123767278,-1136588785,1035227362,-1115403968)+W(6,1022898156,-1109542844,1008528664,1015175368)+W(7,1052509753,1035774995,-1113192731,-1101358829)+W(8,1014548513,-1120262163,1035355065,983155781)+W(9,1003755051,-1099224128,1032206792,1014262402)+W(10,1040815801,1041852206,-1105614817,-1110785838)+W(11,-1139309996,-1196238920,1046440556,-1114859906);sum2=W(0,-1111986018,998943655,1022028328,1044179919)+W(1,-1092393621,1029389095,-1088604014,-1080384748)+W(2,1031858735,1021777892,1009323699,1048581079)+W(3,-1095034556,-1095846499,-1118974089,1040258943)+W(4,-1090514887,1071708766,1073459027,-1104000317)+W(5,1024626196,1024702395,-1097133430,1015383036)+W(6,-1110448374,-1099083231,-1117110809,1033279863)+W(7,1012336831,1049307354,1045892370,-1098039236)+W(8,1031448400,1030521846,-1097759856,-1122793353)+W(9,-1120681553,-1101323001,-1103290765,1031745329)+W(10,-1100485937,1051814517,1055006842,-1111672860)+W(11,1016567237,1029007432,-1091667564,1041920736);WS(-1097130350,-1073679750); +sum1=W(0,-1142702368,1008724804,1025389788,-1154560184)+W(1,1034517635,1053502809,-1096179481,-1095841490)+W(2,992206103,-1143244972,-1112918112,1044574577)+W(3,1035954194,1046084016,1000633100,-1145657140)+W(4,1045830013,1057148843,-1085973126,-1095185831)+W(5,-1122388570,-1139683234,1025817904,1042446427)+W(6,1042008657,-1106616153,1032643785,-1120139600)+W(7,1051926551,1052799826,-1096805620,-1089907161)+W(8,1018417129,1017209342,-1123577295,1017272605)+W(9,1025929714,-1102859291,1030414749,1008755251)+W(10,1043469780,1050172789,-1107347576,-1098086361)+W(11,1016358830,1026775680,1014891512,-1143679882);sum2=W(0,-1106123822,-1137197699,-1140009235,1021941992)+W(1,-1135582819,1048777558,1040410800,1031547466)+W(2,1017098260,-1129449426,-1114989513,1018035752)+W(3,-1104678389,-1103278668,1025391436,1026649920)+W(4,-1102399061,-1086654414,-1069452203,-1091687878)+W(5,-1170697076,-1134437671,-1112110740,1038853959)+W(6,1049392706,1026389826,-1110654493,1033557641)+W(7,1036526271,1051671224,1075377385,1071493698)+W(8,1030635558,-1127657747,-1119910153,-1155541821)+W(9,1046385471,-1107040085,1031221238,-1117894486)+W(10,1003979070,1042747507,-1101021764,-1093315115)+W(11,1010389927,1007123883,-1119798403,-1130248744);WS(-1110542776,1046722292); +sum1=W(0,1033517476,-1108629467,1016022658,-1112464600)+W(1,-1131671638,1032980471,-1133454244,1047470894)+W(2,-1142745264,1026603482,-1105826521,1005087552)+W(3,-1106997347,-1113497042,981819586,1027765771)+W(4,-1092318054,1042288212,-1100439522,1053995028)+W(5,-1129658366,1017901338,-1109105451,1042584756)+W(6,-1116788199,-1106078850,1025143735,1026835189)+W(7,1061947018,-1121614518,1048713001,-1093531706)+W(8,-1142191304,1040275689,-1105038597,-1098489206)+W(9,1041100086,-1124631714,1024330241,-1111607705)+W(10,1012478420,1041393523,-1115421707,-1106135867)+W(11,1016467704,1020475210,-1114990145,977775992);sum2=W(0,-1132232893,-1116591675,992881643,1031452303)+W(1,1018866101,-1116915567,1032912109,-1109510079)+W(2,1032688527,-1114177042,1024567259,1014551643)+W(3,1016124301,-1114931492,-1121457613,978475180)+W(4,1055420465,1059251768,1032060799,-1114514404)+W(5,1042584708,-1109972047,-1118272021,-1097097100)+W(6,-1094590847,1040974964,-1130052481,1034445399)+W(7,-1088887374,1044275534,-1087149232,1051504728)+W(8,1024892699,-1108606213,1035881493,1048490818)+W(9,-1110729382,1035934107,-1116902843,1032145701)+W(10,-1114948355,-1104983612,1032317221,1039284419)+W(11,-1121421993,-1133789139,1032032409,1032922179);WS(1059165367,-1104520251); +sum1=W(0,-1108628644,1046236477,-1117692608,1007492796)+W(1,1041312427,-1118419948,-1094176525,-1117534006)+W(2,-1124001749,-1113899741,1029454180,-1113108212)+W(3,-1120534447,1052736188,-1115310467,1009135144)+W(4,-1107420459,-1097199722,1041258594,1053590938)+W(5,-1131761404,-1114949702,1053879643,-1110779368)+W(6,-1118278150,1036684740,-1113191163,1014125520)+W(7,1055263011,-1100739533,-1106455985,1001540436)+W(8,1025063448,-1105125705,1045621277,-1098892966)+W(9,1015268651,1008090175,-1118876992,-1129119585)+W(10,1040471133,1020553106,-1114551242,-1112388022)+W(11,-1126282358,-1127494856,1026632706,-1126748266);sum2=W(0,-1104527074,1048986559,-1115834059,1027505664)+W(1,1041601252,-1125657446,-1098163961,1034957797)+W(2,-1122847824,1034858548,1041896195,-1108054404)+W(3,-1089420265,-1098414029,1029257304,1029084872)+W(4,1045110551,1041501740,1053778056,1051828462)+W(5,-1116127595,-1170669534,-1129563106,-1099714824)+W(6,-1104406791,1040673804,-1138405484,-1128264406)+W(7,1041829791,-1119286592,-1106881855,1048509414)+W(8,1037831890,-1107117839,1049994472,-1092212913)+W(9,-1203758566,-1117936348,-1127212263,-1118563560)+W(10,1045914276,1022365337,-1136870020,-1113115951)+W(11,1031508216,-1127498142,-1139619400,-1105182054);WS(1064754871,1064755352); +sum1=W(0,1039345889,1034558935,-1126765813,-1124996947)+W(1,1051509189,1048609181,-1096907004,-1096693846)+W(2,1036233792,981607022,-1122110878,-1110987505)+W(3,1025078634,1031530717,995438583,-1111973122)+W(4,1055455058,1038916133,1042155040,-1092723587)+W(5,1033037628,1028131846,1036071207,-1103910610)+W(6,-1102805216,-1112086641,1011044801,-1131935965)+W(7,-1085470304,-1096310694,1050402072,1055052309)+W(8,-1113728073,-1155599823,1042970795,1036962198)+W(9,-1108706152,-1125705364,-1117569083,1017902933)+W(10,-1110967031,-1114430562,1036105095,1045488762)+W(11,-1121653045,-1131031997,1043170799,999916154);sum2=W(0,1035315397,-1104375670,1023646322,-1133117125)+W(1,-1093657955,1053589289,1023753609,1034291601)+W(2,1063017252,-1117431336,-1096844972,-1083656994)+W(3,1045506061,-1100884270,1016880452,1023723550)+W(4,-1104725243,1040733712,1046403885,-1107539440)+W(5,1065218548,-1110535684,-1108767061,-1079943056)+W(6,1037072250,-1100571834,1032406499,-1128763803)+W(7,987308827,1047435788,1040670310,-1123261308)+W(8,-1088643610,-1092199491,1056439411,1066015084)+W(9,1043010850,-1106522969,1024272758,-1112596197)+W(10,-1103530057,1046389911,1037357283,-1109210140)+W(11,-1140617522,-1093142505,1050581867,1038430454);WS(-1141889920,-1150694570); +sum1=W(0,-1156363954,1043244278,1035438770,-1121776659)+W(1,-1150990554,1049522698,-1108191526,-1110656781)+W(2,1009891810,1026909213,1024784007,1001967189)+W(3,1039611642,1044045394,1029335145,-1107472311)+W(4,1047918398,1044281805,-1089342271,-1092681840)+W(5,-1115519345,1032535224,1041259438,-1120026675)+W(6,1031781705,-1113754566,-1122959321,1032163820)+W(7,-1142656241,-1118178969,-1110931796,-1107172434)+W(8,-1156224954,-1114416227,-1114065315,1035091531)+W(9,1041298854,-1113010266,1006930832,1035788170)+W(10,1044014582,1035377494,-1098776751,-1106653204)+W(11,1034927023,-1127266575,968315538,1037418924);sum2=W(0,1059540854,1039622534,-1102787949,-1096670021)+W(1,-1133958494,1013042349,1037899964,1045575353)+W(2,-1118270456,988987510,-1110193614,1031038260)+W(3,1064198145,-1086802625,1043637876,-1099441746)+W(4,1040028330,1036771998,-1101655681,1030855272)+W(5,1032105974,-1117707023,-1125265460,-1117097690)+W(6,-1085971065,-1113298762,1042101483,1052388948)+W(7,1032851236,-1120619083,-1105771070,1033969343)+W(8,-1134648980,1021389004,1049976190,-1103569731)+W(9,-1098667485,-1104634628,1042670443,-1135324433)+W(10,981463467,1030229840,-1104173140,1036465297)+W(11,-1119296945,1035007302,1035574893,-1101523135);WS(1060329015,-1107100438); +sum1=W(0,1016013223,-1108878752,-1126768152,-1139109867)+W(1,-1098269535,-1103310414,1042283693,1052529520)+W(2,1025836257,-1113589378,1033078264,-1120993331)+W(3,-1139382101,1046477388,1024792785,-1154508124)+W(4,-1093610355,-1088582834,1051787130,1051369597)+W(5,1029380042,-1124637616,1015463488,1033661966)+W(6,1046417836,1044791733,-1121126338,-1145234942)+W(7,-1090008057,-1097854544,1046651812,1040695538)+W(8,-1127749832,1030094510,1029328303,1035018943)+W(9,-1115375281,1030070044,-1128378904,-1165337473)+W(10,-1110993568,-1105218789,1046922680,1039020124)+W(11,-1117533511,1016154976,-1121430349,980238373);sum2=W(0,1039646422,-1156337616,1016851522,-1122821091)+W(1,1020520346,-1105518185,-1123806894,-1126218548)+W(2,1003947528,980292032,1031650855,1030755819)+W(3,-1131895450,-1080883791,-1109184296,-1106087013)+W(4,999070248,-1096231655,1071805249,1035943528)+W(5,-1123933765,-1122746065,1043321474,1015158698)+W(6,-1074990048,-1105476432,1015529466,1045004090)+W(7,-1125969764,1028426171,-1126394390,1071092779)+W(8,1018391998,-1126690400,1026097175,-1125796080)+W(9,-1104782698,1022339242,-1115690469,1026918939)+W(10,1030594487,-1127395662,-1122803425,1031828962)+W(11,1018627618,-1149029768,-1110808154,-1140334484);WS(1004067712,1029538397); +sum1=W(0,1025050595,-1112884456,-1113057966,1039684517)+W(1,-1093421305,-1096595713,1052279792,1055781642)+W(2,1033902960,-1134909265,1008080123,-1134522377)+W(3,-1120136235,-1106127376,976341006,1034662227)+W(4,-1096171643,-1083333863,1048957300,1057037092)+W(5,1000314570,1017566030,-1104830972,1038845557)+W(6,-1108532672,-1136083213,1039793800,-1116361615)+W(7,-1093970477,1050503466,1049781884,1059667231)+W(8,-1120056627,1034175935,-1105145436,-1107387175)+W(9,-1109109944,1026195563,1023346679,-1114202454)+W(10,-1098876866,-1119746148,1052752022,1046150498)+W(11,-1129568684,1002478074,-1106375815,-1111371224);sum2=W(0,1023361218,-1129026548,1033154491,996458418)+W(1,-1105686968,-1136279909,1036155261,1020176326)+W(2,1016740014,-1122796554,1029838361,-1112170015)+W(3,-1113149678,-1096377075,983965669,-1124552606)+W(4,-1101182829,1059185253,1064108379,-1107309754)+W(5,1027141165,-1111484496,1029555247,-1110765232)+W(6,-1108470744,-1107366613,-1118592979,-1113544599)+W(7,-1094171461,-1097506500,-1147140265,-1113642974)+W(8,1033692775,-1108579478,995412594,1048386684)+W(9,1040480632,978762058,-1120675710,1024911403)+W(10,1038318571,1027330889,-1127049668,-1123866147)+W(11,-1126067866,1023291782,-1102738273,1045927904);WS(1047133404,-1079170418); +sum1=W(0,-1122581460,-1127398915,-1116032717,1009155056)+W(1,1030334583,-1113404572,1041078541,1042667713)+W(2,1027163842,-1122554086,-1123819760,-1108143194)+W(3,-1111731450,-1098422622,-1132905800,-1135035740)+W(4,-1111377849,-1104817319,1065228285,1051022508)+W(5,1023811915,-1133181796,-1102890728,-1112180142)+W(6,-1136427723,1019095722,-1123509635,1006908676)+W(7,-1091891141,-1103926112,1050271906,1042380775)+W(8,1001483047,-1116735535,1023382911,-1111098047)+W(9,1037504657,1012838771,-1147535977,-1129150906)+W(10,-1121675713,-1123007382,1023931745,-1107182030)+W(11,1015217807,-1130799202,-1123177070,-1136273159);sum2=W(0,1017708852,-1121981859,-1155029688,-1151544588)+W(1,1008923057,1024218233,-1129630940,-1147640076)+W(2,1018406594,-1133221663,998377109,1011942449)+W(3,-1114670464,1049278985,1007239987,1018065470)+W(4,-1119653793,-1083801634,-1077783117,-1093073209)+W(5,1025316590,-1123603132,1041518161,-1131988255)+W(6,1041079714,-1156221672,-1118997712,-1125453823)+W(7,1047560438,1028846010,1034878186,1074285479)+W(8,-1131599727,1024940191,-1118519138,-1114079754)+W(9,-1120658712,-1113215345,-1133631258,1007542759)+W(10,1036336794,1022080564,1033160981,1016277382)+W(11,-1131785133,-1130450701,1027490516,-1121956184);WS(1043550940,1028476494); +sum1=W(0,-1130981802,-1102302048,-1121780237,-1115183742)+W(1,1051762223,1040535662,-1105099981,-1100607937)+W(2,-1121847282,-1111548899,-1138550724,1000007075)+W(3,-1117998761,-1094318158,-1110838377,-1117842775)+W(4,1059510884,1068023761,1062548805,-1096882923)+W(5,-1132334487,1013492582,-1099046056,-1102853271)+W(6,-1102037997,-1115328139,-1111061058,991794198)+W(7,1055882697,1041348961,-1097580450,-1103616404)+W(8,1018468811,-1119471984,-1131654944,-1102330336)+W(9,-1113105937,-1106426583,-1113960535,1015980795)+W(10,1034161697,1044552262,-1100373208,-1103768718)+W(11,-1129682576,-1148988811,-1110284503,-1112888641);sum2=W(0,-1103820712,1043435491,-1115037203,1029690847)+W(1,1028297515,1046052979,-1096312501,998970743)+W(2,-1133991676,1007821180,-1115911439,-1122562191)+W(3,-1100462798,1028701483,1036903221,-1127742454)+W(4,-1099477234,1065575031,1041049643,1044923803)+W(5,-1113716427,1036974934,-1096910875,1030898927)+W(6,-1121926871,-1126383902,1039025001,-1106227374)+W(7,-1098681477,1040854499,-1125321886,1030485727)+W(8,-1111652935,-1126914630,-1115709255,1034498637)+W(9,1017141302,-1115441627,1016988574,-1108879063)+W(10,-1106467082,-1122382559,1033537170,1008577020)+W(11,-1128843302,-1114648723,-1129067614,1013474716);WS(-1079050332,-1087647968); +sum1=W(0,-1112879708,1026750308,-1122115440,-1138480508)+W(1,1054719611,1048762675,-1102419558,-1095708941)+W(2,-1122888245,-1139407140,-1106236805,1031575959)+W(3,1027382179,-1116109267,-1106223181,1024624314)+W(4,1057423590,1057166968,-1083772539,-1136300523)+W(5,-1136279992,-1112079518,-1096438944,-1115045376)+W(6,1024806390,-1128868784,-1120448614,1029330596)+W(7,1058690419,1049252525,-1102450653,-1103579129)+W(8,1025354440,-1128866725,-1116410163,-1115914082)+W(9,1022822666,-1115751616,1004544641,-1134294785)+W(10,1046884233,1051036287,-1099401009,-1100406055)+W(11,1008311211,1030150228,1031406769,-1127656777);sum2=W(0,-1121226957,-1128043345,1018735508,1018441725)+W(1,-1143973174,1028848366,1035475244,1025980595)+W(2,-1118705847,1001175670,1010180031,-1145354702)+W(3,1036012925,-1105109021,1042307735,-1106801879)+W(4,-1119821797,1055391108,1063056253,-1093599779)+W(5,-1114705464,1024485983,-1103238145,-1106432772)+W(6,1026535678,1024075219,-1153036923,-1108191465)+W(7,-1118265757,1031788992,1035122552,-1097885523)+W(8,-1109715589,1025382280,-1114303163,-1114258989)+W(9,-1143871918,-1115606924,-1130614305,1023515972)+W(10,-1122707515,-1149779899,-1124060823,1028845741)+W(11,-1125366621,-1122890135,-1117711701,1031455538);WS(1061221431,1002405371); +sum1=W(0,-1123480946,1033046959,-1109190069,-1123061017)+W(1,1054235011,1044209302,-1104934581,-1090405194)+W(2,1000058490,-1121369187,-1108435303,1026563665)+W(3,1050201177,1042710035,-1094345134,-1111043962)+W(4,1057895846,1052530935,-1086823335,-1102475777)+W(5,1030151784,-1111380603,-1102625680,1037490845)+W(6,1050099666,1026923762,-1113941840,-1146354418)+W(7,1058601910,1050794548,-1091215734,-1097235340)+W(8,1040756961,-1126829850,-1126650490,1033897294)+W(9,1032794752,1029204218,1017803349,-1145213652)+W(10,1041457976,1055600534,-1089600016,-1094526523)+W(11,1032331475,1033488871,1021417496,-1110275296);sum2=W(0,-1089706816,-1087536311,1058657690,1049937345)+W(1,1030967529,-1105431871,-1106625833,1050626093)+W(2,1039088353,-1109192755,1036734782,-1115709839)+W(3,-1078069733,-1078647761,1072348129,1071079778)+W(4,1044296437,-1112600090,-1094966474,1020012689)+W(5,1031394755,-1116226089,-1122763227,-1122006247)+W(6,-1079714039,-1090508646,1049150259,1066389113)+W(7,1038432439,1044145959,1050328795,-1098171132)+W(8,1022577738,1012728894,1024733405,-1130276743)+W(9,1022376790,-1103849791,-1113785170,-1119844839)+W(10,-1126694997,1034822829,1052174137,-1105718319)+W(11,-1123093509,1013882918,-1112758982,1021875579);WS(-1092893294,-1089220584); +sum1=W(0,-1127519944,-1118558929,1010493299,1008699951)+W(1,-1103359682,-1096189801,1051919929,1053766130)+W(2,998920846,1028526614,1032200864,-1104704049)+W(3,-1106263811,-1113928672,1025199074,-1124403149)+W(4,-1097091836,-1086367179,1052175436,1056071340)+W(5,-1149496748,1019181009,1015736929,-1111082358)+W(6,-1098638288,1041393441,1015178277,-1117387089)+W(7,-1096005139,-1102452900,1047707912,1062605050)+W(8,-1115659002,1027645503,-1123219920,-1120379023)+W(9,-1112838969,1035998582,-1130896954,-1125915034)+W(10,-1101730612,-1095432549,1049473086,1053546873)+W(11,-1131717807,-1136451331,-1136688761,1019333603);sum2=W(0,1034689803,-1109431235,992704062,-1143112647)+W(1,-1121270233,1048248946,1039097516,-1115356591)+W(2,1021729984,1005857263,-1124530814,1017968792)+W(3,1033324328,-1098090520,1038449046,-1124855502)+W(4,-1106299172,-1091325299,-1063972596,-1073085951)+W(5,-1126326370,1015994888,-1113483013,1023517229)+W(6,1038361982,1040866773,1035072543,-1105916124)+W(7,-1090314642,1056006422,1085456662,1062319475)+W(8,1013997779,-1134900259,1034240002,-1141826407)+W(9,1032024575,-1164332444,1019251456,-1114904409)+W(10,1043935118,-1107459099,-1102205120,1062308854)+W(11,-1135264403,1001043447,1032935811,-1124783482);WS(-1104754908,-1106735671); +sum1=W(0,-1117923535,1002237924,1032595044,1030490103)+W(1,1033028505,1029213684,-1094516030,-1088908700)+W(2,-1120248133,1015682178,-1144798556,1045999740)+W(3,-1122216143,-1120462507,1032319302,-1128810020)+W(4,1050263192,1063837581,-1102093923,-1092804364)+W(5,-1129595020,1030078356,-1106958295,1022746927)+W(6,1025980110,-1123369072,1025969502,1019231224)+W(7,1058220138,1054477272,-1096286026,-1088198897)+W(8,1021953856,-1153493672,995801516,-1107413149)+W(9,1034830735,-1104242198,1024124136,1016077744)+W(10,1045907999,1049334234,-1103741447,-1102086589)+W(11,1019926661,1022398552,1030012489,-1115665070);sum2=W(0,1035833889,-1107082251,1015145430,-1116247065)+W(1,-1107323417,-1102842161,-1079268655,-1087068607)+W(2,1021616338,-1133554677,1016322550,-1109274147)+W(3,-1114579693,1043695503,-1117862601,986051432)+W(4,1049680335,1032100715,1067901888,1022672030)+W(5,1010843781,1017398706,1026073955,-1111459111)+W(6,1039299404,-1114493167,1034116930,-1114715779)+W(7,1040660749,-1115195239,1008422125,1059152338)+W(8,998891466,-1139208557,-1173738319,992278036)+W(9,-1120378069,1019204162,1026244953,-1144744186)+W(10,1018816198,1021018582,-1111927269,1020328850)+W(11,-1138764845,1016479082,-1123657301,1033325633);WS(-1092340590,-1082645376); +sum1=W(0,1033191659,-1106475329,1018184990,1018128252)+W(1,-1112709788,-1105689791,1036685563,1040446513)+W(2,-1113441282,-1127103440,1040219053,1031456758)+W(3,-1101261661,-1102532636,-1117677972,1028162329)+W(4,-1086509296,1038532783,1042646693,1061713267)+W(5,-1123459213,1018898486,-1111899057,1042438664)+W(6,1031605429,1010011868,-1115409474,-1115495745)+W(7,1064314083,1046976369,-1106573237,-1089327101)+W(8,1033438227,1029058545,-1105951352,-1100451664)+W(9,-1127814216,-1112449263,-1118723567,1015642046)+W(10,1039016129,1030956248,-1112423953,-1105713919)+W(11,1013299750,-1130132966,1022848097,1010066702);sum2=W(0,1040551451,1042459857,-1121347079,-1107775669)+W(1,1033412933,-1113656153,-1122087227,1027302533)+W(2,-1131050762,-1130160250,1017950151,-1135101756)+W(3,1031184422,-1152381105,-1121125435,-1118975841)+W(4,1035641742,-1114487413,989383522,1016161914)+W(5,1017438602,987844130,1046120628,-1109563699)+W(6,-1105935240,-1115286413,1012434826,-1123325897)+W(7,1041762467,1029416951,-1125562074,1045806619)+W(8,-1117833439,-1173771715,1035110196,-1114574520)+W(9,-1124425722,-1111096901,1006663086,-1129695564)+W(10,1028252326,-1127668218,-1114174571,-1111270899)+W(11,-1121778743,-1126450718,997585257,998528980);WS(1052284526,1042464092); +sum1=W(0,999914700,-1110845507,-1136974408,1010280196)+W(1,-1098111272,-1100087104,1046554367,1057530557)+W(2,1027464615,-1128121686,-1110795931,-1101387838)+W(3,-1109035161,-1110448219,1020617774,1026365340)+W(4,-1090659644,-1094987596,1063323154,1060667985)+W(5,1001926272,1025859742,-1105684762,-1102616600)+W(6,-1110075532,1038195741,-1127515216,1023947782)+W(7,-1095988958,-1097163609,1050039723,1043924417)+W(8,1017827156,1034844538,1018127786,-1124311688)+W(9,-1114945332,1019473092,1007810505,-1129271461)+W(10,-1105136802,-1095692091,1052688005,1042422080)+W(11,-1130637466,1027019478,-1114597706,-1124435598);sum2=W(0,-1119913429,1010871130,-1124685033,1025355846)+W(1,-1140464466,1032812135,1036346050,1034044275)+W(2,1041357090,1037018199,-1086522508,-1091074448)+W(3,1016143206,1033794365,1011755468,1029205900)+W(4,1071964190,1067600837,-1133342818,-1128364593)+W(5,1033277276,-1111447139,-1089329657,-1074918519)+W(6,-1140030878,1020099653,1035269289,-1113277680)+W(7,1039362648,1033733070,1035477071,1020927778)+W(8,-1118126225,1032003060,-1108456989,-1106053895)+W(9,991986873,1035095720,1013457876,-1122502097)+W(10,1008065452,994468553,1029499077,1011575434)+W(11,-1117647411,1009180302,-1106105254,-1146528221);WS(-1085785015,-1080175544); +sum1=W(0,-1103151077,1045216768,-1125806618,1035373246)+W(1,-1091874455,-1094766367,1050584367,1058377668)+W(2,-1111695537,1043525714,1043611260,1025579124)+W(3,-1094452856,1039875576,1044894533,-1118822551)+W(4,-1107649205,-1090132878,1046782533,1054861331)+W(5,-1102079139,-1105407270,1049375324,-1106387815)+W(6,-1151103277,-1094574331,1041222777,-1102223008)+W(7,-1090472533,-1111571937,1051791466,1057861265)+W(8,-1144672552,-1102123612,-1137989279,-1115030560)+W(9,1048044105,-1103877399,-1122183565,1023709757)+W(10,-1098390656,-1092114299,1058273114,1043274206)+W(11,1041305154,-1116205169,-1106419572,1049548184);sum2=W(0,-1118465870,1035743758,-1121990028,998449416)+W(1,-1148690252,1001004257,1040306990,-1124628345)+W(2,-1105952484,1037805583,-1132010249,1037770975)+W(3,-1103571680,1049274722,-1115523342,1039055377)+W(4,1060096717,1077176219,964150684,-1098483719)+W(5,-1087084008,-1070507600,1047972499,-1108861100)+W(6,-1106547389,-1126693677,1032292249,-1132069983)+W(7,1060014437,1016774454,-1103504000,1024621733)+W(8,-1092504349,-1105946989,1034159573,-1098623231)+W(9,1034009109,-1116877357,998312734,-1128335569)+W(10,-1107960970,-1139511962,-1116867442,1043582890)+W(11,1041667680,-1102914489,1042264637,1020716885);WS(1041580764,1025947967); +sum1=W(0,1034662848,-1104706235,-1116825273,1032565172)+W(1,-1093835868,-1092905173,1050747028,1053611982)+W(2,1036244351,-1119290642,-1131069497,-1131110976)+W(3,-1115255997,-1107214727,1022134396,1019951750)+W(4,-1095669879,-1096926641,1063007652,1050206724)+W(5,1017394926,1029927621,-1105182467,1036897764)+W(6,-1098820316,1032808736,1034025399,-1111515158)+W(7,-1089733625,1049974094,1052025888,1060757006)+W(8,-1106823604,1037476046,-1104277767,-1098715869)+W(9,-1102823188,1021100817,-1159719714,-1110133221)+W(10,-1099659531,-1119725058,1052817434,1043880105)+W(11,-1114565306,-1122404893,-1106408671,-1106501955);sum2=W(0,1031078182,1029631070,986836209,-1132209742)+W(1,-1109418986,-1129378830,1025515900,-1131885988)+W(2,-1135041624,1012367442,1027058278,969823813)+W(3,-1119773491,1020231728,-1170553346,-1121945777)+W(4,-1113141662,1055904551,-1120148774,1029199828)+W(5,-1116640321,1014349374,-1099466937,1030656895)+W(6,1023900693,-1133642976,-1127752664,-1138085578)+W(7,1057958803,1044815557,1019687015,-1122079840)+W(8,1019607807,1019685270,-1096970616,-1089769002)+W(9,1016594015,-1123929889,-1170071298,1024317954)+W(10,-1115676013,1040873658,-1134784812,1019770946)+W(11,1040370156,1020720783,-1104818759,-1105180704);WS(-1101021916,-1101341893); +sum1=W(0,-1104193847,1029994953,-1128959914,1026213188)+W(1,1055643976,1049220736,-1096018912,-1099125811)+W(2,-1110018309,1025253614,-1111820508,1025577212)+W(3,-1146733010,1036038140,-1114900877,1026395551)+W(4,1055313981,1052012604,-1086773562,-1093634574)+W(5,-1114303945,-1123712161,-1127551698,-1119144868)+W(6,1031817213,-1118727997,1012420650,-1152047246)+W(7,1060627153,1051291321,-1107844781,-1090412335)+W(8,1028280877,-1119269431,1025725832,-1111302883)+W(9,1021561044,-1106810537,1026345301,1006057769)+W(10,1049980081,1047342967,-1104632714,-1104575744)+W(11,1031833384,999050183,1003961523,-1112108341);sum2=W(0,-1111316079,1007442131,1023490159,-1131988010)+W(1,1024389323,1055734435,-1100903601,1041465340)+W(2,-1149117460,-1131908940,-1125698351,-1121573843)+W(3,-1122871173,1046145376,-1164111651,-1126411872)+W(4,1080207498,1078445253,-1093182708,1038743702)+W(5,-1114017647,-1119425741,1049726225,1043717463)+W(6,1040330964,-1109560063,1031886393,-1121501747)+W(7,-1068399047,-1066503158,-1098635398,1049859497)+W(8,1019240934,1009702615,-1100760677,-1122596352)+W(9,1016982738,1005935896,1035364539,-1117332099)+W(10,-1109489195,1012210427,-1113093917,1035352171)+W(11,1032687935,-1141270643,1035980752,-1113462329);WS(1046490332,1041425064); +sum1=W(0,-1116828595,1002731779,1033054902,1024529499)+W(1,1043650965,1045029126,-1098109922,-1093042204)+W(2,1019425762,995804238,-1106337284,1015429414)+W(3,1040980232,-1160896989,-1146773895,1031945755)+W(4,1058500980,1055608303,-1086741475,-1092614541)+W(5,1032419541,-1179835378,-1109695552,1033182334)+W(6,1052617834,1015420456,1004520717,1029605664)+W(7,1058257970,1019101890,-1090483479,-1091564618)+W(8,1044059953,-1127672093,1029823567,-1174108025)+W(9,1044142352,1032157630,1024614604,1031502108)+W(10,1041689704,1049761551,-1086427940,-1094325635)+W(11,1032927635,1040104968,1041880275,-1123497953);sum2=W(0,1026151548,-1106953243,-1114479591,-1122431319)+W(1,1049905644,-1108260971,999999917,-1122010793)+W(2,-1124048569,-1126306455,-1125976243,-1102178930)+W(3,1048064546,-1097347844,-1100833312,1024826864)+W(4,1050719290,1045454882,1040448763,992235770)+W(5,1025075060,-1105554812,-1096948195,-1123774104)+W(6,1037967160,-1109085075,-1109354990,1043724086)+W(7,1049686405,-1111087807,1032432738,1044292364)+W(8,1034346164,-1114960687,-1108325988,1038302972)+W(9,-1110876131,1007980535,1015245663,-1130104331)+W(10,-1098496523,1043523736,1040568157,-1143420941)+W(11,994535386,1032072922,-1113347688,-1118752296);WS(-1096079726,-1086813702); +sum1=W(0,-1105268453,-1134572551,1020632987,-1135457777)+W(1,-1104980990,-1125909619,1038076635,1045566625)+W(2,-1128467237,1035122115,-1145052038,-1105625101)+W(3,-1100910973,-1166801940,1041289173,-1136898909)+W(4,-1094783105,1057673490,1058638213,-1141635906)+W(5,-1125440663,1035865453,1030475041,1032999502)+W(6,1038525034,-1102504381,1002632984,1012368645)+W(7,-1100424110,-1111352769,1033251913,-1104077708)+W(8,988204202,-1119749552,-1113040784,-1113674176)+W(9,1029902179,-1110256943,-1127204699,1024629150)+W(10,1012100357,-1133590617,1022942147,1009307365)+W(11,1027550920,-1124393059,-1114381639,992583714);sum2=W(0,-1117003048,1013092463,-1120740066,1009177065)+W(1,-1105766164,1042721142,1025589372,1042183695)+W(2,1019480223,1026018809,-1113055730,-1112946812)+W(3,-1102800003,-1090661723,1041576942,1031366584)+W(4,-1149080533,1040487387,1068855162,-1111208570)+W(5,1020058227,1007104581,1030911277,-1103263899)+W(6,1059100650,-1097382737,1045439690,-1100270767)+W(7,1023619821,-1099098175,1044086134,-1085550755)+W(8,1029611268,-1162581429,-1114239046,-1103276630)+W(9,1022453518,-1106788899,1033773937,-1125959183)+W(10,-1126080241,-1106320787,1025170288,1032267243)+W(11,1037226018,-1116554192,1019625936,-1107084863);WS(1059841719,1028884484); +sum1=W(0,-1108411818,-1111506273,-1112448166,-1113543486)+W(1,1058342439,1041783662,1034453786,-1112074625)+W(2,-1143395087,-1122260358,-1112657624,-1101044205)+W(3,-1104706915,-1096756366,1014814024,-1123514455)+W(4,1050338440,1043430567,1052483434,1033474668)+W(5,-1124590486,-1132902244,-1099567912,-1103529079)+W(6,-1106354949,-1107115957,-1120616579,-1116573889)+W(7,-1116369607,-1117001986,1049505778,1048710884)+W(8,-1118491109,-1118809775,-1119641312,-1110811775)+W(9,-1117349474,-1105758103,-1127146586,-1132301434)+W(10,1011608836,-1106214629,1056594572,1050151687)+W(11,996976763,-1114523384,-1113349351,-1133908615);sum2=W(0,-1142019487,973346488,999597315,-1131846847)+W(1,1043688817,-1112114230,-1113005256,-1119272484)+W(2,-1128104285,1003422803,-1112619479,-1110979463)+W(3,-1127636492,-1114646695,-1114921220,997751878)+W(4,1056371527,1041350431,1055277760,-1113445057)+W(5,1021279303,-1127196333,1019660165,-1097247478)+W(6,-1098897499,1027087956,-1115596944,1031101790)+W(7,1038923617,-1123786644,1036539833,1032426103)+W(8,-1138766624,-1129408714,1026606310,-1105379211)+W(9,-1111832500,1029100436,-1120544321,1024706196)+W(10,-1130636099,-1123180191,1010252474,-1114392819)+W(11,-1130181692,-1164469676,-1125326592,1012894502);WS(-1092619630,-1089382730); +sum1=W(0,1023648980,1020312451,1043539187,-1111364766)+W(1,-1112475547,1048019422,-1096148415,1039669985)+W(2,1036516737,-1110790259,1027548272,-1102256285)+W(3,-1115220152,-1101226428,1030068626,984781533)+W(4,-1085560118,1059189430,1026945555,1055391282)+W(5,1016263062,-1120756633,-1108016176,1048070471)+W(6,1038621209,-1105671421,-1111039089,1026274177)+W(7,1059392734,-1105049488,1045179252,-1081505706)+W(8,1007770772,1034683832,1037378816,1040580240)+W(9,-1101912057,1015856825,-1120853581,1024515101)+W(10,1041558112,-1133761880,1027675681,-1132720100)+W(11,-1109624324,1021933410,1032748839,1031071010);sum2=W(0,-1111677325,1031932470,-1117827136,1021752691)+W(1,1033183913,1038437939,-1110048197,-1108952074)+W(2,-1113755692,1027358915,-1103930854,1044091848)+W(3,-1130612142,-1104195843,990310070,-1125983252)+W(4,1050756049,1045197632,1051763659,1045228241)+W(5,-1104619422,1032921649,-1105931725,1008734718)+W(6,-1168184730,-1105272655,1040724727,-1109957501)+W(7,-1115591069,-1123843648,-1136328910,1028013889)+W(8,-1117367196,-1140627498,1020655719,-1149204891)+W(9,1035492359,-1103738768,1031887118,-1109878975)+W(10,-1120329563,1035246991,-1114723198,-1114456338)+W(11,1033876328,-1121880867,-1121689275,-1120613434);WS(1051433070,1041054969); +sum1=W(0,1025557871,1019369911,995089009,1027474774)+W(1,1035613609,1037418314,1032468488,-1105663671)+W(2,1027665948,-1122283488,1036952965,1041537220)+W(3,1049084179,1046403907,-1109189270,1034863641)+W(4,1039456478,-1080639932,-1082587707,-1096978722)+W(5,1041167849,-1112387034,1049567823,1041156238)+W(6,1044512531,1035909664,-1126811322,1039503310)+W(7,1026454114,1042549431,-1107200379,-1102025153)+W(8,1039611744,-1137459494,1039105725,1040087661)+W(9,1033234174,1028564471,1010666397,1033371404)+W(10,1042229543,1034360184,-1106755535,-1104819461)+W(11,1031071714,1033297350,1031577769,-1131034584);sum2=W(0,-1103860174,-1106733661,-1128793460,1039097792)+W(1,1004583985,-1097187313,1050938198,-1106228186)+W(2,-1133334119,-1107245750,1046933969,1031892389)+W(3,1043000544,-1106671798,1022871695,-1140010118)+W(4,1021007203,1053089515,1039252188,-1100268114)+W(5,1039577114,-1104825734,1049075999,-1107049139)+W(6,1046664654,-1123142296,-1112923836,-1138263433)+W(7,1048715277,-1114597930,-1121884665,-1099105674)+W(8,1030321621,-1117968576,1022883749,-1103930146)+W(9,1037719970,1042580191,-1110368657,1026478628)+W(10,1047464456,-1106315502,1034926170,-1100173198)+W(11,1036807670,1018138445,-1108178582,-1098080196);WS(-1097236334,-1078251511); +sum1=W(0,-1107131303,1007351583,981774949,-1147379729)+W(1,1058323440,1053289720,-1125527926,-1102832418)+W(2,-1116361496,-1124892056,-1121375351,1023750586)+W(3,1033603653,1043141838,-1112510828,-1145120489)+W(4,1056660465,1032726417,-1082084799,-1095625930)+W(5,-1128008098,-1117973855,1033795604,1026746467)+W(6,1029606457,938727969,1008364580,975327689)+W(7,1058345481,1053416161,-1093823475,-1090577043)+W(8,-1148460889,-1125502955,-1131151340,1025947909)+W(9,1020032977,-1108966769,1022969831,-1140670990)+W(10,1046390514,1049766564,-1096801949,-1098508888)+W(11,999577711,1010324189,1037296218,-1119905544);sum2=W(0,-1102276353,1025017931,1020144998,1024894779)+W(1,-1081787381,-1080908066,-1096890621,-1120020336)+W(2,1023553607,-1118655405,992888305,1039662448)+W(3,-1107221556,1046635995,1007750652,-1118791847)+W(4,-1102161510,1072604155,1039741552,1050182775)+W(5,-1120230550,-1126400334,1039835396,-1130889346)+W(6,-1132306598,1023586615,1023698735,-1137666916)+W(7,1055213170,-1115556916,-1108361045,1043589185)+W(8,1020541198,1020891302,-1122324709,-1110509653)+W(9,1030880679,1015842286,-1129126018,1009542396)+W(10,1037616572,-1105259074,1024872627,-1114600836)+W(11,-1119304668,1033066840,-1124270218,1000980713);WS(-1095840110,1065907853); +sum1=W(0,-1123781617,-1130903741,1029310442,-1149009607)+W(1,-1102734645,1041326469,1048478500,1057715094)+W(2,1034276991,1021921030,1036129479,-1101560548)+W(3,-1115466131,964920945,-1136794300,-1122029108)+W(4,-1088947208,-1083008792,1045634572,1058442742)+W(5,1036949012,1024401462,-1109559039,-1107277134)+W(6,-1115351608,1043406509,-1132243967,-1118254622)+W(7,-1096684061,-1089856222,1053323726,1052165513)+W(8,-1114280609,1035777670,1024712701,1036543086)+W(9,-1116119295,1040435870,1010554921,-1126823604)+W(10,-1127763004,-1095672430,1051535704,1042519141)+W(11,-1132072137,1024787534,-1114598742,1009014011);sum2=W(0,-1112086475,-1118318168,-1119761608,-1122765153)+W(1,966593378,-1102263327,1023061820,1040388299)+W(2,975247631,-1137846028,-1113965021,-1114107386)+W(3,-1121250504,-1119202357,-1123357438,-1115823403)+W(4,-1110151426,1059190541,1057284387,-1128744886)+W(5,-1111548146,1023792011,-1118800384,1045334069)+W(6,1024515185,-1130234658,1031734555,-1105805209)+W(7,-1106793279,1050053336,1037222780,-1103324019)+W(8,-1112106446,1020007628,1025627836,-1164047122)+W(9,-1134784044,1026675759,-1126486235,-1111986136)+W(10,-1107073751,1021583022,-1117543075,-1110952019)+W(11,-1125560981,-1131408661,-1124432766,-1114668630);WS(1024351088,-1094038469); +sum1=W(0,1038061004,-1118029957,1024919184,1016930687)+W(1,-1086527812,-1103330015,1050276351,1052546457)+W(2,1006605995,1004978763,1027568116,1040515838)+W(3,1005748798,1038925818,1038267403,988693323)+W(4,-1085615881,-1097782940,1062157201,1052906127)+W(5,1030413326,1031140124,-1124671689,1040353352)+W(6,1032752795,1034287148,-1123840710,1001354275)+W(7,-1088621706,-1090365828,1050137483,1055274272)+W(8,1009586849,1023985459,1017331974,-1113419105)+W(9,-1110688307,1036629872,-1120680465,-1125725377)+W(10,-1108159426,-1098987606,-1112935826,1036684158)+W(11,-1129057942,-1120649652,1039926041,1018660298);sum2=W(0,1033363591,1031409358,-1131745232,1018662896)+W(1,-1107389045,1050735765,-1109130821,-1101021011)+W(2,-1120396150,1024022584,-1122086781,1013978472)+W(3,1036576685,1060006588,-1110788716,-1136728576)+W(4,1043333749,-1120731420,1058553385,-1097527529)+W(5,1015209616,1030135008,-1118628277,1029525730)+W(6,1052968790,-1102632350,-1101470606,-1123530251)+W(7,-1100470754,-1097217661,1057288665,1023922010)+W(8,1018906596,-1121049341,-1112638769,-1117232951)+W(9,-1105224546,-1083015355,-1125138150,-1110519714)+W(10,1038218737,1047940150,1034932287,-1111209476)+W(11,1024891644,-1113292326,1023530026,-1121310567);WS(-1086599863,1058406314); +sum1=W(0,1027409257,-1121445206,-1133002117,-1165120005)+W(1,-1093079745,-1099695891,1049800473,1060099497)+W(2,1019186220,1025328858,1033258882,-1114693988)+W(3,-1106007410,-1105883025,1024249318,-1129945046)+W(4,-1091476505,-1093891126,1051534797,1059141168)+W(5,-1128567742,1017248474,-1124179562,-1129815521)+W(6,-1105279538,-1127421331,1026085015,-1119162837)+W(7,-1094225343,-1106347590,1051659429,1058010671)+W(8,-1123837177,1031899202,-1112036922,-1106482085)+W(9,-1109094875,1024561201,-1127955907,-1121003281)+W(10,-1098091099,999784785,1050835423,1047889907)+W(11,-1123224348,-1141903913,-1097732400,1030868870);sum2=W(0,1031543998,1029140379,1016621488,-1116781913)+W(1,1050004941,1028477447,1078957479,1082393585)+W(2,-1123250937,-1125975170,1010603263,1025243259)+W(3,1044191480,-1105795809,-1124282558,-1133566515)+W(4,-1104837212,-1086493521,-1065075267,-1080327233)+W(5,1007793087,1028403247,-1117319975,-1125439138)+W(6,1017978886,-1175609568,-1128560494,1034216133)+W(7,-1109285108,1045155438,1030943022,-1076777978)+W(8,-1125200922,1020903576,1024551608,988101688)+W(9,-1120640387,1019924506,1017899660,991940908)+W(10,1033432207,-1130476854,-1113970478,-1110243052)+W(11,-1119399555,1028374268,1020472787,-1129511338);WS(-1102531292,-1104168529); +sum1=W(0,1032023755,-1123937923,-1156103398,-1149508566)+W(1,-1091020399,-1093487559,1044530702,1058049088)+W(2,1018386839,1022122127,1028416434,-1123106485)+W(3,-1114986325,-1105594348,1019304359,1005530819)+W(4,-1088576155,-1113700815,1061967565,1057825341)+W(5,1027828556,1023613146,-1132463754,-1124442300)+W(6,-1100927253,1042848102,-1152861762,-1111288609)+W(7,-1096522221,-1100187457,1043852869,1057378026)+W(8,-1118265958,1031835352,1030031137,-1107169312)+W(9,-1131000647,1048571064,992160490,-1123770879)+W(10,-1097716728,-1095320739,1021567685,1032195229)+W(11,-1124424850,-1151822630,1015048992,-1127676038);sum2=W(0,1034684305,1035765483,-1130983341,-1112466451)+W(1,-1100658772,-1100149859,-1113050760,-1101371049)+W(2,-1119405084,-1140521940,1039321546,1043071493)+W(3,-1117553496,-1101908611,-1114093653,1032826781)+W(4,1042208912,1062452463,1063677104,-1096382267)+W(5,-1127348451,1028341682,-1106482074,-1131759707)+W(6,-1105770401,-1106309648,-1154197073,1040752192)+W(7,1047214162,-1095028755,-1114901667,-1132405995)+W(8,1022142418,-1118255322,1034888818,-1105645940)+W(9,984953298,-1113409477,1032051747,1026229169)+W(10,-1109270652,-1107539022,-1104964374,1023704972)+W(11,-1118485150,1025943565,1008251057,1035103126);WS(-1107552696,-1110437397); +sum1=W(0,-1114854865,-1115498472,-1123893979,994440345)+W(1,-1169396004,-1103811554,-1143015444,1038159592)+W(2,1003079356,-1126823399,-1176837895,-1112745281)+W(3,-1107252796,-1098484960,1033249360,-1123659045)+W(4,-1102945115,1054059005,1066459081,1048547885)+W(5,-1127252913,1036761683,-1092775086,-1113210869)+W(6,-1105215024,-1113844817,1025628848,-1115012423)+W(7,-1110458371,1027966800,-1114931568,1050116824)+W(8,-1117476787,-1139958260,-1115481499,-1107508006)+W(9,1015022176,-1112267573,-1138236651,-1120012907)+W(10,-1137430074,1038350450,1030992175,-1139703834)+W(11,-1143819946,-1119805695,-1114208046,-1123286831);sum2=W(0,1032112026,-1121844433,-1134566747,-1128900045)+W(1,1020429393,1031965476,1023900033,-1122103841)+W(2,1025087925,-1116320886,-1168200234,-1123818335)+W(3,1024457633,1041370918,-1119409466,1023101249)+W(4,1010339139,-1073631838,1071310745,-1130431017)+W(5,1037399444,-1131868341,-1111141033,-1111989275)+W(6,-1138667107,1023011873,-1124604689,1014344875)+W(7,1024644617,1038341472,1025187637,1015570157)+W(8,1027301561,-1118206868,1032459330,-1128248465)+W(9,-1123574415,1018662193,1011013307,-1135550339)+W(10,-1117036677,1034637136,-1118001398,1029193653)+W(11,-1124415769,-1136885571,1020580065,999769253);WS(-1106869980,-1095812171); +sum1=W(0,1030538232,1032306163,-1132768195,998635262)+W(1,1021368885,1042581143,1027943897,-1104276842)+W(2,1012233735,-1127936403,-1130589992,1037657452)+W(3,1040655940,1049530762,-1109012795,1031165051)+W(4,1043839724,-1098205560,-1079963696,-1094369165)+W(5,1030674671,-1106402911,1052736873,1045125152)+W(6,1035845131,1029124089,959153786,1031921458)+W(7,1041010327,1043286153,-1138415831,-1094529094)+W(8,1035635524,-1117746707,1033263566,1041646697)+W(9,1034791747,-1126776961,1020404450,1015400066)+W(10,1040781721,1032119517,-1127281161,-1107836910)+W(11,1026900011,1007765715,1032079673,-1127518347);sum2=W(0,1016897725,-1123613558,-1152109415,-1137391706)+W(1,1032188407,1034093919,-1117579022,-1122041158)+W(2,1004755699,-1142267571,-1123954990,959684203)+W(3,1031100358,1031185182,-1108578627,1015680093)+W(4,-1107212716,-1079207220,1068869480,1032233585)+W(5,1020208893,-1131161181,-1112638895,-1144448755)+W(6,1018767069,1016912269,-1126811133,1012334874)+W(7,-1118301998,1010098650,-1135215962,1031129926)+W(8,1014639674,1010341946,1002322227,-1145613555)+W(9,-1123894542,-1129388765,1013671002,-1146463859)+W(10,1010207290,998321459,1025914590,-1172726683)+W(11,-1128211133,1014227898,-1185201771,-1163026381);WS(-1106551004,1058945856); +sum1=W(0,1027999917,-1110759309,1029534949,-1136733265)+W(1,1021052191,-1090459221,1039804839,1036329486)+W(2,996925861,-1126301053,1042972690,-1112842790)+W(3,-1101184472,-1136820001,1023973738,1040114552)+W(4,-1088507490,-1102642413,1045009467,1055915689)+W(5,1035692146,-1116120689,1048917175,-1116549941)+W(6,-1120539979,1050535890,-1121731675,1008178533)+W(7,1057115504,-1141944531,-1092228133,-1099722578)+W(8,1032281663,1025401864,1042662182,-1103385510)+W(9,1036280349,-1112884987,998670125,-1122738710)+W(10,1036514925,1024140334,-1133144549,-1110742697)+W(11,-1122836256,1009223461,1040183891,-1123309658);sum2=W(0,1029866216,-1111274931,1008667864,-1166199047)+W(1,1016771040,1050961303,1037662319,-1143586281)+W(2,-1174784654,-1119230230,1039205717,-1123676489)+W(3,1026227362,-1119220040,-1142224481,-1137339492)+W(4,1073672156,-1075413433,-1079795268,1052978055)+W(5,-1117826448,1028246046,1028203090,1048063806)+W(6,1031356244,-1116678638,1020018908,-1152330850)+W(7,1029037052,1026323256,1041694498,-1109068899)+W(8,-1160612324,1024440460,-1115208722,-1113725553)+W(9,1026327024,-1189397276,1015962596,-1116618549)+W(10,1021575344,-1119692611,1027749752,-1122243464)+W(11,-1126523302,1031666290,-1114291930,1002430881);WS(1045979868,-1116118129); +sum1=W(0,-1115974509,-1114857165,-1124899402,1019079208)+W(1,-1096855346,-1098629066,1046800787,1054347779)+W(2,-1120438410,1017939836,1029706377,-1118610636)+W(3,-1110287856,-1099509298,1011594153,-1142300538)+W(4,-1093283235,-1097005655,1063937495,1053005207)+W(5,-1131155654,-1116499825,1015974258,1028644213)+W(6,-1112842949,-1107483943,-1132197046,-1134190949)+W(7,-1090046872,-1104885511,1048177899,1058166871)+W(8,-1119992573,-1120133576,-1129150352,1040979430)+W(9,-1111331677,1018268010,-1135144470,-1116332853)+W(10,-1102896822,-1096686406,1056893199,1047873428)+W(11,-1118080608,-1112688517,-1118433447,1028514810);sum2=W(0,1034058342,-1116250603,-1115410889,-1132220574)+W(1,-1132397996,-1097158033,-1126553639,1008450820)+W(2,1025437040,-1118211898,-1108668742,-1105536207)+W(3,1029372102,-1101916549,-1123931551,1017347763)+W(4,1060185134,1060913993,1053545154,-1105866140)+W(5,1034066570,-1102379864,-1104852271,-1106418349)+W(6,-1104316591,1035393713,-1111299822,1027749497)+W(7,1033775493,-1115290197,-1102688086,1054419707)+W(8,-1133416673,-1209279719,-1102129692,-1106993048)+W(9,-1107314572,1033668899,-1123916419,1025854529)+W(10,-1106841697,990325833,-1144517652,1036131430)+W(11,-1133826631,-1129688184,-1114889391,-1149271050);WS(1058774455,1069380246); +sum1=W(0,-1114780225,1038823639,-1119757626,1032626516)+W(1,-1111975378,-1115053555,1040221656,1045065548)+W(2,-1121960111,1037972921,1020222778,1025328225)+W(3,-1098306133,1034533838,1015522813,1033017026)+W(4,1050529784,-1095104409,-1082356272,1021036585)+W(5,-1112361500,-1139302935,1045288819,-1115391173)+W(6,-1103839696,-1112718001,1036888920,-1128327131)+W(7,-1133328720,-1111385431,1032300191,1057244812)+W(8,1018289699,-1110693582,1042918995,-1116298540)+W(9,-1126986782,1012070438,-1148588495,1032769109)+W(10,-1124233691,-1105784401,1045596067,1043416793)+W(11,1027375220,-1114680879,1037659662,1029500622);sum2=W(0,1017265095,-1124971531,1019234847,-1129789987)+W(1,-1116091154,1022067335,-1114025560,-1124616639)+W(2,1011223606,-1117824661,-1114442452,1033010488)+W(3,1043137983,1047657371,-1112792165,-1128803579)+W(4,-1102585265,1052022695,-1114992592,-1132476030)+W(5,1031833634,-1136738894,-1115343414,1028851843)+W(6,1034970984,1010908150,995307959,1011967806)+W(7,1033604172,1031244615,-1115509379,-1098689491)+W(8,988094894,1025799099,-1121158047,1002830796)+W(9,-1107223361,1027672251,-1112288614,1018394359)+W(10,1032350856,1024636851,-1128503755,1006851110)+W(11,-1118870225,-1127411999,1027935499,-1114060980);WS(1065814108,-1098421406); +sum1=W(0,-1104400078,1022555209,-1131576032,1030554015)+W(1,1050276747,1048827844,-1099298246,-1097091133)+W(2,-1119880969,-1132305362,-1106685173,1045406982)+W(3,-1130072911,-1118231891,1019668842,1020712308)+W(4,1057743463,1051719984,-1084181571,-1094842433)+W(5,-1122176686,1026194364,1018405640,1040093248)+W(6,1041059117,-1115494780,1023970854,-1178997255)+W(7,1058357819,1056339293,-1094912271,-1098796514)+W(8,1004376640,1024072531,-1115388505,-1118903138)+W(9,1035736611,-1104560304,1023862096,1011631425)+W(10,1051879221,1057941592,-1092396649,-1090107010)+W(11,1009992363,1029155252,-1118151090,-1113309730);sum2=W(0,-1085961218,1036459641,1027104118,-1104337717)+W(1,1055232204,-1101810882,-1117484391,1065899128)+W(2,1023963317,1014918739,1052764213,-1090132108)+W(3,-1092980271,-1101372003,-1122138940,-1114433477)+W(4,1049041629,1071302707,1077763913,1062039746)+W(5,1035158266,1027553578,-1123596042,-1092098978)+W(6,-1098271754,-1115566688,1018207462,1048327612)+W(7,-1084489503,-1087139921,-1079225367,-1088377514)+W(8,-1115760458,1025357528,1042626102,1027311380)+W(9,-1101224844,-1105452167,1054676844,1015118770)+W(10,1036291830,-1090077553,-1079350028,-1106150830)+W(11,1032466828,-1115160051,1053993534,-1105072819);WS(-1083527351,-1082119000); +sum1=W(0,-1100516229,1028453762,-1132057884,1025283773)+W(1,1054198743,1048327710,-1097545679,-1103907601)+W(2,-1115248201,1021031566,-1114897689,-1139734483)+W(3,-1124447466,1027818609,-1117776915,1024000280)+W(4,1054350616,1057412078,-1088298777,-1096840081)+W(5,-1115380998,-1139302503,-1112548849,-1109407791)+W(6,1030853236,-1120656758,-1146975260,994019357)+W(7,1059405315,1052404744,-1097629690,-1090997910)+W(8,1029448614,-1119316016,1035903152,-1107996896)+W(9,1023329542,-1111423375,1016847260,1021506300)+W(10,1051692752,1047886934,-1097673748,-1102673054)+W(11,1026998601,-1149960989,1034953432,-1110888465);sum2=W(0,1034248479,-1120794590,996584188,1023717076)+W(1,-1113079527,-1094151830,1045315954,-1110594365)+W(2,999456782,1021526858,-1113958061,1030579691)+W(3,1037241484,-1124781820,1005163886,-1122858228)+W(4,-1064957365,-1066051811,-1088752945,-1111180041)+W(5,1018369486,1031457177,-1113733983,-1106054130)+W(6,-1115274025,1026099362,-1118691920,1025356913)+W(7,1081496726,1084041658,1052626156,-1100621689)+W(8,-1112407773,1022214782,1032870315,1049150725)+W(9,-1121079636,1010502519,-1114207359,1028885707)+W(10,1034711477,-1115018893,1038857859,-1114153113)+W(11,-1108284893,1023330420,-1106741724,1042989109);WS(1031453552,-1108810221); +sum1=W(0,-1106571135,1028200745,-1141490084,-1122540068)+W(1,1051764564,-1104087736,1023785053,-1105389195)+W(2,-1136080166,1023137883,1027661528,-1121040220)+W(3,-1106394603,1029495448,1029503994,-1132153597)+W(4,1055195957,-1096098616,-1089108304,1041720002)+W(5,-1123745267,1034024448,1031937892,-1111907522)+W(6,-1118016922,1043712879,-1127727061,-1126370513)+W(7,1047204316,1028938666,-1092241143,1047749927)+W(8,-1121356173,1028910871,1025162247,-1112974291)+W(9,1035505061,1041979953,1024122485,-1132743443)+W(10,1043190746,1039644831,-1098695505,998106632)+W(11,-1121641711,1025100697,1002213552,-1152510101);sum2=W(0,-1117365450,1033736971,-1122133197,1032316109)+W(1,-1106184057,1045998485,-1104139010,1028239450)+W(2,-1127567978,1029398164,-1126266788,1039709205)+W(3,-1117276879,1009179554,-1122180337,1021061413)+W(4,-1087751568,1065712953,1022309577,-1090538079)+W(5,-1106793212,1016414657,-1098763613,1056538813)+W(6,1034450077,-1100616286,-1123716599,-1115376331)+W(7,-1100319643,-1100023584,1059658657,-1125496737)+W(8,1032114232,-1113653553,1022563437,1017435581)+W(9,-1130550593,-1102305630,-1144451812,1008734994)+W(10,-1115246006,-1107982835,1053491799,1014965154)+W(11,1034308617,1020870093,-1103966134,980175008);WS(1060627383,-1111244297); +sum1=W(0,1041984816,1023856878,-1124233202,-1124372048)+W(1,1048999428,1050454749,-1097555068,-1098607926)+W(2,1037179887,-1124350564,-1119853981,-1110297584)+W(3,1037843884,1013283185,-1126359548,-1115057922)+W(4,1057072683,1037566628,1035134080,-1092180401)+W(5,1037306108,-1180500637,-1117600845,-1100337986)+W(6,-1106598024,-1109047521,999175032,-1135390133)+W(7,-1088869991,-1097603878,1050330552,1055432750)+W(8,-1107300041,-1132131255,1040799043,1045634091)+W(9,-1108189319,-1127664786,-1120904377,-1137033126)+W(10,-1106138715,-1115643873,1039361415,1046692025)+W(11,-1126029544,-1132202938,1042168959,-1129123036);sum2=W(0,-1105419467,1035214610,-1128416633,1027553654)+W(1,1051401064,-1098506313,992160749,-1141314538)+W(2,-1086513034,1023990179,1048701957,1061407816)+W(3,-1102082588,1034096310,1026192109,-1120268362)+W(4,1041311911,1044707561,1028842291,1039698771)+W(5,-1083801169,1027929117,-1108357660,1065441970)+W(6,-1109637676,1042926233,-1133939099,1010812163)+W(7,1040877432,-1107620104,-1110346070,-1128101012)+W(8,1058347144,1054974548,-1089748519,-1080219839)+W(9,-1103557522,1039202903,1007338654,1033310247)+W(10,1044637450,-1101325278,-1150310139,1041169016)+W(11,1012370076,1054706164,-1094091750,-1106511250);WS(1037089208,-1117319375); +sum1=W(0,-1127081515,1037266337,-1109658215,-1117307261)+W(1,1055484319,1036834781,-1103803502,-1090315640)+W(2,-1140393804,-1122236391,-1121027890,1019801962)+W(3,1045840649,1048384396,-1095157370,-1104716662)+W(4,1059715066,1050929076,-1089739445,-1108965493)+W(5,1007521585,-1115666157,-1115632913,-1120952094)+W(6,1042005149,1026318614,-1113906562,-1115283233)+W(7,1059599591,1050537744,-1090508193,-1098438340)+W(8,1038771059,-1114842616,1036887192,-1115851136)+W(9,1035073906,-1129730364,-1150522598,-1127634429)+W(10,1039184033,1056916499,-1090097982,-1096110967)+W(11,1040209394,1023772594,994450682,-1109698481);sum2=W(0,1051991389,1059199896,-1086741683,-1096641595)+W(1,-1120991144,1025236133,1044105651,-1107135642)+W(2,-1119770484,1020415755,1032269711,-1123228782)+W(3,1069582799,1070628328,-1071753138,-1073585699)+W(4,-1123268190,-1098135951,1065961920,1057042277)+W(5,-1119862022,1033682735,-1144560253,-1116194138)+W(6,1067042424,1055331220,-1096289506,-1078410756)+W(7,1032298014,-1106950583,-1098611055,1057516905)+W(8,-1113740644,1022995083,-1155415556,1026966393)+W(9,1015112751,1024293693,997353903,-1145261363)+W(10,1007537613,1025642916,-1101981251,1043415065)+W(11,-1144895945,-1130196038,1011854094,992611856);WS(-1089262391,1050517969); +sum1=W(0,956356282,1032255106,1040766980,-1112721887)+W(1,-1112851037,-1136806893,-1099047838,1041136081)+W(2,1033047322,-1110781188,1044101949,-1118798326)+W(3,-1115255965,1053521294,-1109323658,-1116916633)+W(4,1047658201,-1090498606,-1090918435,1050954387)+W(5,1022949658,984126311,1048722524,-1099177336)+W(6,-1109293354,1024224759,-1102481809,1043853249)+W(7,-1111100085,-1101889105,1046323061,1049475859)+W(8,-1111349460,-1151794972,-1109421665,1044026608)+W(9,1036451442,998852344,-1134508350,1025978335)+W(10,-1112184834,1037224108,-1126452038,-1129023222)+W(11,-1140137768,-1119083507,-1113020120,1044252857);sum2=W(0,-1104964203,-1097077111,1042905493,-1120544497)+W(1,-1109256198,1026029661,-1118581415,1056285145)+W(2,1033408182,-1118988963,1025674690,-1107706742)+W(3,-1098230931,1057982485,-1104438232,1045262161)+W(4,1056552993,-1104081201,1057557770,-1079914544)+W(5,1021102038,-1136298684,1048351556,-1103396776)+W(6,-1106247773,1011970003,-1122372280,1023630957)+W(7,-1114436673,1033190701,1020547274,1048964135)+W(8,-1112938187,1034200267,-1103728916,1018818866)+W(9,1026340389,1016978228,-1121491826,1027866949)+W(10,-1107460568,1034442922,1034078959,-1113753028)+W(11,-1117493164,-1172844144,-1106194166,1046941904);WS(1055467886,-1126093527); +sum1=W(0,1037777366,-1126460340,1039731987,-1115675946)+W(1,-1096353162,1012406341,-1103677379,1043818615)+W(2,1035905869,-1103947080,1031349769,-1150025924)+W(3,-1145838757,1049783617,1014043817,-1108949528)+W(4,-1088026493,-1095567535,-1102044139,1060367897)+W(5,1034985426,-1129716323,1044285022,1034695514)+W(6,991251120,1042727635,-1102050167,1025589529)+W(7,1051881528,-1095440907,1049311757,-1109258124)+W(8,-1107675487,1042590402,-1115570324,1011738461)+W(9,-1123043835,1024161077,-1114599603,1035820699)+W(10,1032817677,-1116994158,1046137806,-1116399889)+W(11,-1104125432,-1140552997,-1110796915,1040150333);sum2=W(0,-1111463085,1009748958,1042939513,-1115939175)+W(1,1015189774,1048391804,-1101036999,1026058510)+W(2,1003109525,-1128500291,1019493983,-1116961377)+W(3,-1104760450,1026404786,1036071940,-1106984126)+W(4,-1101164712,1059732347,1060091622,1046231331)+W(5,-1127287103,1036806652,-1113485706,1013441892)+W(6,1042746589,1018643239,-1110872047,-1133154938)+W(7,-1090421446,-1092755101,1042116887,-1109115274)+W(8,-1110906499,1042929180,-1104832958,-1102245299)+W(9,1024219237,-1107044825,-1124388167,1038271101)+W(10,1018386748,-1112446842,-1137025366,-1104891113)+W(11,-1108912836,1034520620,-1123717753,1043357489);WS(1062208951,1065603754); +sum1=W(0,1029341462,1027274819,1012820793,1032466911)+W(1,-1090134924,-1094303727,1052950767,1059167044)+W(2,987089513,1032570772,1027990706,-1133534677)+W(3,997585115,1040141401,1020285479,1029562264)+W(4,-1085543304,-1080037127,-1108524682,1057349364)+W(5,-1136982833,-1125543221,1037410929,1035990447)+W(6,1032063722,-1153074023,1033268866,993753125)+W(7,-1095616607,-1112675170,1048703978,1049874906)+W(8,1015158861,-1145342854,1023735025,1039846496)+W(9,1015103815,1040294280,1028903855,-1131051261)+W(10,-1111683969,-1091636059,1053103700,1050186639)+W(11,1031358985,1022936933,-1118753424,1040888889);sum2=W(0,1042887622,-1099060438,1023547272,1035386648)+W(1,-1090258329,-1112148135,1053956416,-1086410483)+W(2,-1113981975,-1099847621,1050315819,1060158548)+W(3,-1099619867,-1099104088,1026832668,1025878508)+W(4,-1093316197,1060781490,1069089225,-1094814183)+W(5,1046524888,-1112424275,-1103190742,1046080958)+W(6,1048769602,-1121505868,-1098240729,1029828312)+W(7,-1091192206,-1105713821,1035342184,1044213412)+W(8,1051146364,1019461112,-1084784918,-1105160931)+W(9,1040524432,-1115369075,-1103643200,1044150428)+W(10,-1089411157,1058550641,1049544904,1040447750)+W(11,1028619520,1040133188,-1080579858,1058372334);WS(-1078970012,-1070975772); +sum1=W(0,-1111813336,1034628686,1008154783,1023443287)+W(1,1048282532,1052880922,-1098370186,-1095332548)+W(2,999582566,-1140663171,-1109395910,1036630695)+W(3,1020510238,-1119594955,1032996598,1008498119)+W(4,1054365856,1065196819,-1097391342,-1091304148)+W(5,-1128098380,1030941172,-1105409007,1031904252)+W(6,1037186855,-1129455456,1026985054,-1130007992)+W(7,1037830473,1040256647,-1093273302,-1088889903)+W(8,1003729918,-1138808617,1030320779,1022933044)+W(9,1024916861,-1118416824,1027285064,1001505728)+W(10,1042516535,1044458956,-1097408559,-1097878954)+W(11,1018809669,1005961310,1037289397,-1131972409);sum2=W(0,1019032853,-1143037026,1035366037,-1114009537)+W(1,1029944441,-1105571142,-1101234014,1024640816)+W(2,-1136399129,1018164069,1031686749,-1146945026)+W(3,-1122373240,1056620469,-1119334122,-1111463643)+W(4,1044188353,-1093783941,1075463933,1068131945)+W(5,-1125359481,999713778,1046426762,-1128619453)+W(6,-1103744316,1002774938,1001109746,-1132366661)+W(7,1050699227,-1098127223,-1072865378,-1075751794)+W(8,-1123073190,1019524751,-1131952529,-1109652943)+W(9,-1102405348,1046894720,-1112054465,1035022899)+W(10,1028903402,-1119380340,1019415611,1052446989)+W(11,983357578,1013611461,1017598049,-1123943246);WS(-1137905088,-1096938393); +sum1=W(0,-1116133184,1040763803,-1139830244,-1127951952)+W(1,1045295113,1046745657,-1104553656,-1092624022)+W(2,1031880695,1040451684,-1103252327,1023908704)+W(3,1041221580,1009683312,1019792636,-1108742721)+W(4,1057147883,-1112574564,1044078592,-1090149133)+W(5,1026434167,1007135764,-1127338650,-1103732914)+W(6,-1107181880,1002965001,1020799581,1018370522)+W(7,-1085568476,-1103617227,1043495791,1058802794)+W(8,1014113348,-1125537591,991652540,1040869579)+W(9,1022849180,1039287108,-1148599498,1021418002)+W(10,1032014262,1022418564,-1113073030,1033578226)+W(11,1016284007,-1116579933,1011288682,1013121207);sum2=W(0,-1097965159,-1101551098,1017461301,1036469548)+W(1,1001756270,-1115644020,-1125992347,-1116680345)+W(2,-1131471357,1016380025,-1124365977,1032969412)+W(3,-1094477168,1035631286,-1095997080,1017339130)+W(4,1035448965,-1105032669,-1103956246,1058922542)+W(5,1001720584,-1115585175,-1112710338,1040541302)+W(6,1054988432,1047389393,-1105423964,-1099654066)+W(7,1039533461,-1122662741,1040203374,1040393300)+W(8,1001178742,1001141734,-1114085496,1017600743)+W(9,1041958533,1043362318,-1131580992,-1113359567)+W(10,-1130070269,1025676040,1024609216,-1108890296)+W(11,1010209588,-1122393401,1015920174,-1134082186);WS(1017525984,1039916017); +sum1=W(0,1018048624,-1127291978,-1147061122,-1124853567)+W(1,1045916039,1043181303,-1104996150,-1095739637)+W(2,1019449355,-1118699785,1038596810,1035770156)+W(3,1049183858,1032566282,-1119594613,-1129462517)+W(4,1054258797,1054999864,-1090223247,-1085471393)+W(5,1018729693,-1125493497,1024906308,1048116160)+W(6,1036307723,-1150114695,-1156505185,999306018)+W(7,-1108082389,1055713893,-1105492077,-1104470177)+W(8,-1111613764,1013642059,-1114305018,1035021201)+W(9,-1116656134,-1111959392,1010192066,1012193026)+W(10,-1134406033,1049351719,-1107232129,-1109848430)+W(11,-1117195563,990662981,-1132413284,1014226964);sum2=W(0,-1113611213,1038354785,-1123818427,1033095635)+W(1,1010827478,1005632845,1043017802,-1120605005)+W(2,992544217,1043858115,-1090567932,-1096460028)+W(3,-1136308834,1031365710,-1115456886,1023960168)+W(4,1067061797,1065783254,-1105318511,1016597499)+W(5,1041505996,-1104546945,-1094955795,-1078682340)+W(6,-1121052824,1037262635,-1134763238,-1130014725)+W(7,1033387493,1024758296,-1129541437,1032279133)+W(8,-1114466677,-1115137122,994121897,-1114814318)+W(9,-1129095405,1030934712,1030713030,1020936831)+W(10,-1141733133,973320358,969324748,1028982810)+W(11,1007094454,-1122716507,-1148320949,-1126300988);WS(1033221560,1063777383); +sum1=W(0,-1112638616,-1107233655,1022703059,1019126833)+W(1,-1088696201,-1093677291,1049316970,1057738402)+W(2,-1130166589,-1127677637,1018619290,1044063732)+W(3,-1107419652,1017313945,-1141147507,1034317754)+W(4,-1091493000,-1105678958,1039925560,1057780266)+W(5,-1141893947,-1141892011,-1123751101,1042363102)+W(6,1030431247,1043218964,-1145478905,1023815261)+W(7,1054033952,1050643572,-1097249286,-1101232178)+W(8,1028589441,1032480102,-1099574259,-1103422471)+W(9,1030899327,1042038278,1017044691,-1139797991)+W(10,1039373871,1044902925,-1097041200,-1105363093)+W(11,1000558881,-1115509735,-1143343447,-1109462943);sum2=W(0,-1106875761,1011019608,1021127838,-1130982538)+W(1,1055977286,1058761027,1055137831,1056618334)+W(2,1020425242,1013848532,-1115387544,-1102508839)+W(3,1024572751,1039986653,-1227267307,1013698904)+W(4,-1103617496,-1072531400,-1073860127,1048771047)+W(5,1016018634,-1112657573,1043687089,-1128394642)+W(6,-1113103478,-1104759550,-1130392938,-1180063220)+W(7,1052255088,1063802283,1059126644,-1108123535)+W(8,1035781641,-1125248586,-1109991236,-1126700500)+W(9,1035543741,-1129087757,1032270489,-1129014326)+W(10,1048895081,1016319978,1042704754,1045481337)+W(11,-1126407949,1030839801,-1121934766,1031917163);WS(-1091503470,-1126838795); +sum1=W(0,-1134568843,-1126036384,-1113414670,-1124121237)+W(1,-1109412515,-1103447906,1049117760,1047693172)+W(2,1024589216,-1113770234,1034526751,-1129997061)+W(3,1033159265,1037814911,-1111356688,1028321829)+W(4,-1096437464,-1098797565,1058889082,-1105247938)+W(5,1036105485,-1114645460,1022658271,-1143270742)+W(6,1031580097,1040854417,-1121133649,1026686479)+W(7,-1104719461,-1106636212,-1120516448,1012762455)+W(8,1023714995,-1138248951,1042645116,-1109175079)+W(9,-1106928812,1027944427,-1126384695,-1120913068)+W(10,-1129886751,-1106734009,1040171928,1049438209)+W(11,-1132081196,-1145462266,1012750451,-1104071908);sum2=W(0,1025966975,1042653975,-1109269766,-1121971015)+W(1,1032121603,-1104797770,1038662008,-1127561691)+W(2,-1147835451,1023052754,1018661176,-1118316871)+W(3,1058579369,1055073186,-1096349825,-1096046215)+W(4,1041625968,-1098327149,-1156170871,-1095336395)+W(5,-1129857431,-1114991229,1035437895,-1131103951)+W(6,1043843774,1043492169,-1105457821,-1104467071)+W(7,-1090818470,1028261711,-1116732629,1054347264)+W(8,1011784142,-1157273063,-1115472379,1042639369)+W(9,-1138844670,1035958317,-1113812495,-1114558576)+W(10,-1117277405,-1130419167,1025184897,1043300107)+W(11,1024244091,-1148362739,-1130646919,-1115061521);WS(1065968028,1020949470); +sum1=W(0,1043191673,1020082981,1018701500,1032158503)+W(1,-1089572661,-1139338281,1043953282,1050691771)+W(2,1033006978,-1139648989,1041437600,983294118)+W(3,999481917,1033906881,1031923218,1028916776)+W(4,-1091936976,-1081715803,1032996498,1047062836)+W(5,1033705422,-1132542121,1040306653,1042367115)+W(6,-1123072324,1012896153,1005807263,-1143490705)+W(7,-1087112685,-1088032573,1057445286,1057457238)+W(8,-1138694873,1033839136,-1123572193,1019100064)+W(9,1015001550,1035245559,1026731038,1028568398)+W(10,-1100585253,-1095410205,1057446979,1051530049)+W(11,1027376729,1015844228,-1104642968,1039280729);sum2=W(0,-1098284578,1050997929,-1114179967,-1107158830)+W(1,1059101624,-1084072333,-1120628180,1059620359)+W(2,1041045600,1041809552,1055292451,-1080819081)+W(3,1032837846,-1138556160,-1112529879,-1106205598)+W(4,1033838752,1049137220,1064698181,1056621385)+W(5,-1150759871,1036987884,-1118657190,-1084530179)+W(6,-1103494095,1033058370,1045048740,1036191348)+W(7,-1100194061,-1096659207,-1087565422,1049117565)+W(8,1040790470,-1098721116,1055648971,1035375516)+W(9,-1109765233,1040601336,1045813672,-1112261511)+W(10,1042760064,-1087988644,-1087363324,1050635491)+W(11,1028926760,-1118399816,1059720072,-1101810418);WS(-1079370588,-1069938997); +sum1=W(0,1024046068,1040468568,1031876694,-1107111607)+W(1,-1106911318,-1106422470,1048995971,1034755057)+W(2,-1122522177,-1133546645,1043602212,1032333322)+W(3,-1110778478,1041967908,1007409349,-1108546779)+W(4,-1092550445,-1089848952,1056322870,1044693184)+W(5,-1123999146,-1129245296,1044063648,-1124221431)+W(6,1037532265,1027170100,-1110402417,-1119937056)+W(7,-1115839591,-1098485404,-1123931633,992363881)+W(8,-1121719236,1009488187,1015794334,-1137125241)+W(9,1028424065,1030920188,-1115195974,1034313646)+W(10,1027494176,-1101830589,1034999584,1041273350)+W(11,-1146748727,-1115284904,1024639630,1038675968);sum2=W(0,1044972838,-1094195694,1039856206,-1116010697)+W(1,1025111869,-1105218154,1054041965,-1107525170)+W(2,1027404867,-1122132060,1021276689,-1115770744)+W(3,1041658757,-1090167008,1047723216,1025692273)+W(4,1047241736,-1103340827,1054432792,-1095593913)+W(5,1036997767,-1109230755,1030984707,-1113081166)+W(6,-1087657974,-1114739465,1045538686,1054500142)+W(7,-1105033641,1043141319,-1099510609,1048962216)+W(8,1000189578,949401483,1008623973,1026520309)+W(9,-1103808398,1025495534,1037455508,1020883249)+W(10,-1104502432,1020729805,-1112321007,1041852115)+W(11,-1121181330,989367833,1034321699,1031142833);WS(1051966318,-1113875142); +sum1=W(0,1040145278,-1135399329,-1111332346,1035883793)+W(1,-1091560996,-1096861164,1051177307,1051696565)+W(2,-1126824689,1039745286,-1117751383,-1133003627)+W(3,1017502534,-1096989371,1006041029,1045917727)+W(4,-1091248610,-1087158964,1061428120,1054251573)+W(5,1020593891,1008594943,-1126263439,-1178468754)+W(6,1043615094,1025318012,1042663274,-1129901007)+W(7,-1098884432,-1096301045,1050890887,1037934795)+W(8,1037849734,1035118155,1017933485,-1106662601)+W(9,-1113005508,1043398529,1014471632,-1119690564)+W(10,-1093706893,-1093100168,1049249377,1046007992)+W(11,-1114145271,1028529816,-1116546293,1038615540);sum2=W(0,995641288,1034430176,1032134121,-1120038729)+W(1,1011267102,-1099374838,-1099098436,1035481768)+W(2,1026093812,-1113501317,1055985885,1042749492)+W(3,1011533369,1032554184,1014623636,-1112337284)+W(4,1055781369,1046041384,-1122840036,960227969)+W(5,-1095011910,-1086401299,1069533386,1067101038)+W(6,-1114631943,1037430467,-1111055788,1015804972)+W(7,1055178264,-1124103196,-1115890560,-1123247827)+W(8,-1079450114,-1075689828,1058921177,1065618150)+W(9,1022278663,1020696197,-1118260382,1025605092)+W(10,1039303021,-1116158530,1010081074,1022436109)+W(11,-1082339747,-1095588850,-1118372702,-1106092627);WS(-1087762743,-1114043214); +sum1=W(0,1040067739,981566559,-1111481047,1028903325)+W(1,-1095653187,-1096161947,1050679259,1045936105)+W(2,1029496147,-1149217596,1026181394,-1122706133)+W(3,1032756947,-1130847267,-1117223539,1010874850)+W(4,-1090950614,-1084280212,1055533279,1052053924)+W(5,-1132850610,-1154701224,1030922562,1034645023)+W(6,-1123313460,-1113871531,1027957028,-1114811697)+W(7,-1097768267,1005713692,1053658934,1059392176)+W(8,-1113406339,1020850850,-1102292436,1030340896)+W(9,-1126050567,-1113266015,1025677743,-1115120063)+W(10,-1120312930,-1118568631,1051823712,1039338221)+W(11,1017761874,-1117302546,-1112577800,-1107839810);sum2=W(0,-1150454109,-1111980552,-1125241033,1001016005)+W(1,983352173,-1103460210,1031575403,1001531747)+W(2,-1157019725,1023495862,1036252996,-1106746798)+W(3,1033028659,1037513337,-1111720092,1018218852)+W(4,-1103428024,-1076627395,-1085543392,1016765132)+W(5,1033057508,-1112606370,1046375720,-1128273041)+W(6,-1109924763,-1144232926,-1140722987,1015413875)+W(7,1074369634,1051272122,1054900052,1053354837)+W(8,1019967806,-1107285947,-1094917738,1055587240)+W(9,-1117260807,-1113652225,1010568725,-1138333196)+W(10,-1098379064,-1098914955,1045881209,1041131548)+W(11,1012881631,1031041657,-1098562564,-1106193524);WS(-1090517687,-1095444575); +sum1=W(0,1032739299,-1106175885,-1111454559,1025742446)+W(1,-1095546301,-1101847659,1031326631,1054789967)+W(2,1028563508,-1117676152,-1107099097,1033023507)+W(3,-1110724347,-1118213794,1035513890,1040962578)+W(4,-1090925684,-1089262225,1059778428,1052551894)+W(5,1036888990,1007580971,1035395209,1036045063)+W(6,-1103218657,1040368314,1041617005,1025779251)+W(7,-1096439373,-1099734269,1051667296,1045793474)+W(8,949923192,1037985265,1050132438,-1101529212)+W(9,-1105137317,1024907982,1024699903,-1106922364)+W(10,-1104705805,-1097282993,1052247674,1040121301)+W(11,-1113513373,1026673059,1016797696,-1102593253);sum2=W(0,-1095438834,-1104348375,1035064858,1052208474)+W(1,-1101013864,1048824145,-1095663473,1040952518)+W(2,-1125550479,-1127115193,-1099869349,1045777263)+W(3,-1079843968,-1084432555,1055780907,1064043431)+W(4,-1097227129,-1105218176,1054823629,1060639651)+W(5,1024044553,972648308,-1118379111,1049789703)+W(6,-1106077690,-1086965748,1057138231,1048070172)+W(7,1048082838,-1106201667,1057295667,-1098542607)+W(8,1021849499,1016298873,1043327775,-1102784042)+W(9,1048708391,-1106942577,1042120650,-1100953655)+W(10,1042233875,-1136871967,1035260440,-1095587456)+W(11,-1116706874,1030896448,1006771796,-1107731485);WS(-1115614648,1042425791); +sum1=W(0,-1115327070,1016926292,-1124027509,-1120207204)+W(1,1053481388,1053311332,-1096731140,-1093340989)+W(2,-1113874973,1010793530,-1116407641,1030984860)+W(3,1038910502,1037845356,-1105701711,-1144413692)+W(4,1057006919,1049566369,-1085064420,-1096554678)+W(5,-1116271283,-1114795809,1043585442,1038600290)+W(6,1042236823,-1105850383,-1120774251,1014568102)+W(7,1056376458,1048579325,-1098496607,-1100005974)+W(8,992031960,-1130485552,-1122768840,1018535375)+W(9,-1134596907,-1117126533,-1119274774,1029691462)+W(10,1042582346,1043887136,-1098152617,-1135406214)+W(11,1029193328,-1140222054,1035562443,-1120431498);sum2=W(0,-1079712608,-1082891577,1024332524,-1127240204)+W(1,1049757184,1025750476,1063276166,1066527571)+W(2,-1120167031,976948665,-1127423195,-1122509441)+W(3,-1081879450,1047818786,-1111478947,-1145474239)+W(4,1045572932,-1093152038,1033988518,1065092416)+W(5,-1123809997,1030959654,-1126799575,-1127801782)+W(6,1066272635,1064292926,-1112394176,1029335642)+W(7,-1129453741,-1107360776,-1085935960,-1081647719)+W(8,995040830,1026103880,-1109456127,1033523902)+W(9,1048742105,1063028070,-1152251822,1042612281)+W(10,1042389166,-1095668919,-1088819358,-1090025738)+W(11,-1116538748,1033003323,-1163717821,1029374360);WS(1005558656,-1134386388); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, -2), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 0), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 2), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -2), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 0), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 2), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -2), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 0), 0); +samples[8] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 2), 0); +samples[9] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, -2), 0); +samples[10] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, 0), 0); +samples[11] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, 2), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns128, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns128, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1151849881,-1120184142,1017020226,-1138315554)+W(1,-1139428474,-1137890034,-1113913797,-1130100551)+W(2,1024054031,1030136834,-1105019328,-1115186183)+W(3,-1134121575,1009291685,-1119041199,-1123693866)+W(4,1052033568,-1094289569,-1098719688,1054031418)+W(5,1050615732,-1084764287,-1094215666,1057266643)+W(6,1051842684,-1122358095,-1093503073,1060278709)+W(7,1050624038,-1101060057,-1104408867,1049323809)+W(8,1026313661,1029415347,-1144117236,-1110814528)+W(9,1037955767,-1158862002,-1122295896,-1136459684)+W(10,-1118592012,1027215228,-1115484761,-1125342359)+W(11,-1117980571,-1131405947,-1148196514,-1141919603);sum2=W(0,1021515189,1032910614,-1112090344,1011608699)+W(1,-1109181339,1050015381,-1111235489,-1133688887)+W(2,-1120491130,-1106592726,1041065097,1032724543)+W(3,1020760181,1032648390,-1112521193,997621755)+W(4,-1112298310,-1103038162,1018826733,1035039469)+W(5,1079505355,-1096237270,1035541017,1068933685)+W(6,-1067816278,-1101133158,1051919390,-1082386736)+W(7,-1123411157,1029904493,-1120644044,-1094139890)+W(8,1030536589,1027816837,-1126912052,-1130070276)+W(9,1047170650,-1132054353,-1119314146,1002846254)+W(10,-1108914015,1017068057,1004049262,1012706615)+W(11,-1115273665,1017829425,1020965593,1011888367);WS(1038714296,1044827315); +sum1=W(0,1000000044,-1139148008,-1137155124,1008773074)+W(1,-1155069097,-1114984084,-1110040196,-1125197471)+W(2,-1147450330,1038803511,-1117135435,-1128457331)+W(3,-1131672268,1046900069,-1110360429,-1142834606)+W(4,1051571686,-1106613964,-1100726684,1058392080)+W(5,1059856605,-1087655353,-1093356205,1058043460)+W(6,1050763009,-1088451200,-1093486798,1053821137)+W(7,1049636107,-1093848946,-1109846237,1046500044)+W(8,1034039029,-1136883834,1034472653,-1097060854)+W(9,-1137125990,-1122772178,1033872898,-1112523275)+W(10,-1131894321,1027534056,-1125370043,-1134047198)+W(11,-1108292068,1020331091,-1126166913,1021083253);sum2=W(0,982126402,-1111301077,-1116671780,-1123255245)+W(1,1036976721,-1102830064,1011773496,1020504368)+W(2,-1157600449,1045043848,1031803093,-1113656730)+W(3,1032297389,1022832316,1026389126,-1129338356)+W(4,1053914306,1066141278,1061532718,1046375724)+W(5,-1106352300,1055449836,1064263836,1013495848)+W(6,-1094946683,-1085904680,-1076699072,-1103067006)+W(7,-1098417421,-1092845936,-1099822488,1036977493)+W(8,1041257894,-1108898352,-1094346395,998291536)+W(9,-1101238723,1037821947,1023084860,1023442398)+W(10,1048924521,1041381351,-1123876988,-1103198508)+W(11,1053328593,1023206676,-1109391389,-1109968297);WS(-1087781687,-1134030789); +sum1=W(0,1037437606,-1129634048,-1113846601,1028179002)+W(1,1040743460,-1108576055,1045066941,-1106850597)+W(2,-1122790273,-1117192467,1030205873,-1123964671)+W(3,1027799500,-1110675758,1027547489,1036030878)+W(4,-1098510574,1049319247,1056064759,-1090428884)+W(5,-1094444002,1054487227,1048732210,-1095161561)+W(6,-1098192922,1055338520,1044300425,-1095134094)+W(7,-1095206484,1053272331,1034894336,-1101066654)+W(8,-1105760812,1016685513,-1123784128,-1116809458)+W(9,1050640540,1048222150,-1105661778,1007721067)+W(10,-1106372902,1033480951,-1110013906,1040160031)+W(11,-1138309939,1033810456,-1112122819,-1109703824);sum2=W(0,-1134698244,1013558867,-1119401943,1023697539)+W(1,1024534132,1038666215,-1119659280,1018187921)+W(2,-1142625275,1035154544,-1120396841,-1145140771)+W(3,1007645751,1021197862,-1131590401,-1141296989)+W(4,-1112961274,1033970227,1025267901,1010071413)+W(5,-1097296472,1082848284,1048742053,1019163177)+W(6,-1105855221,-1115995862,1060700209,1033089456)+W(7,-1120357988,-1123714371,1035612397,-1156341795)+W(8,-1116217767,1005039212,-1122026299,988018625)+W(9,-1064739318,1042066180,-1115786374,-1103390691)+W(10,1042818438,-1115628759,1017803659,-1086947071)+W(11,1029308077,1011442501,-1150181080,-1109434149);WS(1060770743,-1108197568); +sum1=W(0,-1160198547,1038531041,1029069588,1016886775)+W(1,-1139668038,1022402527,1041390628,1015246637)+W(2,1019206597,-1112398730,-1103954605,1034731136)+W(3,-1115649126,1039312430,-1117714338,-1123983389)+W(4,-1096395039,1048524254,1046558478,-1095627128)+W(5,1057717017,1050284011,1058409012,-1086831062)+W(6,1053908426,-1092005688,-1083755424,1056693263)+W(7,1038174992,-1131529899,-1101033824,1043180606)+W(8,-1097778094,1033422755,1009558662,-1146067869)+W(9,-1110221104,1029754521,1033638277,-1098986327)+W(10,1037994808,-1130383710,-1119102757,1042951984)+W(11,1000398449,-1129441697,-1114155844,1025216609);sum2=W(0,1026676440,-1099902739,1041755532,-1104188915)+W(1,1024214572,-1096783078,1020538503,-1122447814)+W(2,1039804037,-1096595186,-1094671115,1036156927)+W(3,1023379743,1023478108,-1108992818,-1140508998)+W(4,1048552390,-1105392496,1028942726,1039915367)+W(5,1068731351,1066518668,-1106738713,-1105911641)+W(6,-1091471401,-1123632409,-1122053390,-1096057439)+W(7,-1096750685,-1109607147,1032650381,1033306823)+W(8,-1104867005,1033528857,-1104654601,1030445090)+W(9,-1126700225,-1133955554,989961401,-1106850996)+W(10,-1113480650,1032072745,-1153726297,1025639958)+W(11,1031767054,1023561226,-1128986161,-1115144981);WS(-1105940700,1068951582); +sum1=W(0,1035444041,-1119652358,-1126610867,1000087558)+W(1,1033866603,1025089333,-1105308514,1016288952)+W(2,1030903912,1024487034,-1101500686,1023501510)+W(3,-1139243976,-1137536646,1036868116,-1121882082)+W(4,1048983991,-1095183320,-1103531583,1040363554)+W(5,1043404182,-1091977028,1035540828,-1129232537)+W(6,1032787659,1016827662,-1098956255,1050470779)+W(7,1051055933,-1111432589,-1107477027,1042688239)+W(8,1041424541,1011542187,1033586531,-1126498674)+W(9,-1108874003,1021129404,1018737568,-1116171169)+W(10,-1115835365,1023594100,1033496245,-1107291841)+W(11,-1101253029,1034920923,1015384473,1038297635);sum2=W(0,-1122059260,1044079872,-1102554320,-1123978268)+W(1,1036141312,-1094337979,-1093658955,-1123592170)+W(2,-1127043568,-1139302445,1045282706,-1111710804)+W(3,-1120657957,-1105233712,983065168,1040694361)+W(4,-1111536011,1056944699,1026913323,1043643239)+W(5,1067907418,1064662115,-1093217948,1042723115)+W(6,1035940631,-1092135065,-1091166584,-1118927202)+W(7,1027935282,-1104693620,1041761864,1016057395)+W(8,1037617295,1005844362,-1112242992,1031431539)+W(9,-1090550375,1042545272,-1101249260,-1103624535)+W(10,-1112133073,1025042022,-1111294278,-1119161360)+W(11,-1106943303,-1114223884,1026789959,1014979737);WS(1061289911,-1074625008); +sum1=W(0,1042690449,-1110099132,1035013222,-1118986355)+W(1,1032007652,-1101544522,1048074309,1022020251)+W(2,-1108674269,1043103143,-1102744618,1040686510)+W(3,1033202498,1038471242,-1099009366,-1123719572)+W(4,1047068971,1013931199,-1087592511,1058027688)+W(5,1058005973,-1099315493,-1088015817,1036127926)+W(6,1057593649,-1088950448,-1091144488,1048070472)+W(7,1055515931,-1090129177,1033106140,1043345580)+W(8,1008030621,-1106703359,1048036382,-1107213995)+W(9,-1093058723,1029001296,1044183504,1042727509)+W(10,1002612916,1048869669,-1106075703,1042938237)+W(11,-1113377491,1042195418,-1107279296,-1110941900);sum2=W(0,-1104469346,1074182899,1047600068,1034897388)+W(1,1033162274,1077196082,1080728354,-1104312342)+W(2,-1119055011,-1121476275,1039546617,1001538203)+W(3,-1122390571,-1124909535,-1113609974,1036889309)+W(4,-1074957140,-1124075063,1032211690,-1092005485)+W(5,-1071410100,-1093339345,-1100127529,-1067981267)+W(6,1042351425,1008083901,1036352485,-1101189403)+W(7,1037135096,1002134635,1032631324,-1113906708)+W(8,981988140,990179414,-1111289614,1046053217)+W(9,1030504779,-1109598746,-1123826485,1036844207)+W(10,-1101604075,-1146561467,1036519612,1025223671)+W(11,-1113103836,-1132393287,1017678167,1034478190);WS(-1106894556,1030995446); +sum1=W(0,-1123387156,1025291593,1033805806,1025589699)+W(1,-1139656804,-1105750398,-1127599047,1028556318)+W(2,-1128131860,-1117867836,-1104274718,980812294)+W(3,1017797929,-1114245906,1018769427,-1137342353)+W(4,1054610112,-1096105008,-1098701288,1034528997)+W(5,1065523109,-1090836572,-1091536615,1039781117)+W(6,1045458038,1039238949,-1097995702,1054896451)+W(7,1047692618,1001735913,-1110811780,1040199808)+W(8,1037953340,-1123546765,1027839817,-1119393787)+W(9,-1103173850,1022652480,1027349522,-1120434724)+W(10,-1104116474,-1125284461,-1135075504,-1111869411)+W(11,-1106977725,-1131064048,-1152753902,-1129786002);sum2=W(0,-1110091164,-1132437108,-1096073996,1030581609)+W(1,-1124528958,1042406776,1051933742,1024868796)+W(2,1022252519,-1117509823,-1117745155,-1175372351)+W(3,-1123316826,1029056744,-1110977956,-1123141270)+W(4,1031847146,1040176294,1036583621,-1104952058)+W(5,-1071401906,-1080138625,1056082302,1077840619)+W(6,-1107574374,1041695761,1039833458,-1108532142)+W(7,1034383482,977900031,-1119756119,1034777920)+W(8,-1120421639,-1124563800,1023568502,1006888722)+W(9,1012484405,-1114165836,1026684617,-1114613612)+W(10,-1112420268,1023135287,-1139194300,1044393926)+W(11,1027961212,1034470668,-1122696127,1028893644);WS(-1094248046,1034739186); +sum1=W(0,-1148807918,-1114752489,1043421097,-1121641997)+W(1,-1118546659,1043491504,1040593858,-1119896808)+W(2,1027770003,1035924243,1033892386,-1117202258)+W(3,-1114510703,1031829015,1032482905,-1121511758)+W(4,-1097763033,1045790578,1057979744,-1090462057)+W(5,-1089142502,1054724534,1054873978,-1089339622)+W(6,-1098379668,1046524773,1056858543,-1089696734)+W(7,-1089945727,1056083605,1049846778,-1096843609)+W(8,-1105205440,-1115505835,1019430629,1042504017)+W(9,-1114903193,1038945077,1008619887,1029920941)+W(10,1042806872,-1148381698,1025474934,-1102740772)+W(11,1031492831,1029503362,1017864241,-1103488653);sum2=W(0,1024571549,1022922994,-1111104155,1032629114)+W(1,-1120833813,-1104365480,1036988882,-1123705993)+W(2,-1113289848,-1119955010,1038064580,1031286487)+W(3,1035572024,-1144675449,1018164430,1033808184)+W(4,1047799465,1065968459,1069180600,-1111175727)+W(5,-1098359864,1064223912,1066031139,-1121840686)+W(6,-1115327032,1060225053,1062275672,1008715668)+W(7,-1114533548,1057151625,1060364945,1042276675)+W(8,-1106624299,-1085703668,-1081878912,-1092657949)+W(9,1044325339,-1079207816,-1080884055,1026540087)+W(10,-1117772151,-1085294305,-1083548865,1048614780)+W(11,-1103516228,-1100806033,-1090372695,-1105153406);WS(-1095016302,1049780935); +sum1=W(0,1008440267,-1110792724,1050711943,-1140214663)+W(1,1035221148,-1104496021,1036012635,-1137823987)+W(2,1029727784,-1109552317,-1145733059,1007510683)+W(3,1025812851,-1142816275,-1115585956,-1142229143)+W(4,1051364259,-1101785640,-1092537964,1044505338)+W(5,1058946996,-1090015552,-1091742968,1051977632)+W(6,1057598839,-1088424934,-1090979415,1056967247)+W(7,1058283380,-1095074239,-1096995861,1050931556)+W(8,1026645590,1024485132,1025322472,-1110639373)+W(9,-1106527650,1032762847,1018037601,-1130979716)+W(10,1015167915,1027572437,1010918699,-1146016549)+W(11,-1105047309,1011865435,-1127055707,1009720606);sum2=W(0,1036141535,1033693595,-1087779211,1040969494)+W(1,1015318832,1042126031,-1096934819,-1136101349)+W(2,-1111621316,1046621966,1036377831,-1112220931)+W(3,-1115487487,1052735842,-1129542795,1042180910)+W(4,-1095617275,1037950807,1059045592,1056604611)+W(5,1059711341,1079595174,1059474718,1057610078)+W(6,-1088974739,-1079659864,1065421414,-1098744628)+W(7,-1089093989,-1076641223,-1077353318,-1112239718)+W(8,1051875566,-1110274633,1035668628,-1085730308)+W(9,1011257519,-1106179801,-1106464684,-1104408796)+W(10,-1097874228,1045400280,1035078820,-1102027272)+W(11,-1089345613,1057832501,-1122902412,-1123714793);WS(-1081166556,-1096725839); +sum1=W(0,-1130642485,-1119269199,-1114510289,-1146977357)+W(1,-1111253552,-1095921640,1038356317,1032268722)+W(2,1021187873,-1102108905,1038758688,1024786511)+W(3,1021141494,1024092394,-1117501552,-1115200917)+W(4,1045921361,-1098664649,-1102646113,1050030946)+W(5,1057711094,-1089074675,1027769520,1039889859)+W(6,1045805544,-1106011300,-1098156409,1053078718)+W(7,1052716334,-1107570834,-1102728052,1042557010)+W(8,992772066,1022415207,-1114582784,-1113153825)+W(9,-1107182252,-1098886685,1025422681,1041426283)+W(10,-1131324475,-1129952762,1036466489,1043642083)+W(11,-1153593794,1012650491,-1133449046,-1148235644);sum2=W(0,-1120032365,1017679770,1032309947,-1154116071)+W(1,-1132933754,1020082264,-1118521489,1033357218)+W(2,1029048100,1015972752,-1122971142,-1165588207)+W(3,1020455541,-1134334294,1021714009,-1115144648)+W(4,1025906643,-1134787122,-1133231158,-1123962703)+W(5,-1114291801,1064675801,-1096414395,1007375557)+W(6,1031540723,1040110606,-1097709607,-1114360955)+W(7,1014310369,-1119507729,-1121524587,-1136421576)+W(8,-1108727038,1039832482,1035599863,-1128886461)+W(9,-1080568363,1059399952,1035524914,1020492423)+W(10,-1112615988,1024318985,1040378905,-1108104258)+W(11,1028363593,-1122706022,1036458899,-1111963053);WS(1058284215,-1100256461); +sum1=W(0,977549609,1017583666,1042064203,-1136333391)+W(1,1032458293,1003134525,-1103445177,1023954799)+W(2,-1132003829,1044505715,1030077610,-1131855793)+W(3,1007647892,-1109681210,1034368605,1014651348)+W(4,1037147366,-1098054746,-1108621703,1048792691)+W(5,1055543997,-1105743629,-1084539629,1061193316)+W(6,-1102389770,-1111653453,1061657482,-1089393894)+W(7,1030932473,-1134741175,1032593324,-1126089633)+W(8,1036542212,-1118222526,1009105958,-1107171315)+W(9,-1113492892,1001049989,1005641493,1001865121)+W(10,1000070140,1031530183,-1141919717,-1095280499)+W(11,1012906393,-1123915241,957669220,-1124982771);sum2=W(0,-1112523495,1033569638,1018718450,1025749667)+W(1,1021531102,-1096388774,-1099586256,1034709000)+W(2,1006685387,-1112379914,-1109846828,-1129693762)+W(3,-1106459716,1045287677,1008781387,-1119027428)+W(4,-1111912018,1026676021,-1109821356,-1104497483)+W(5,1061077725,1065372034,-1092985416,-1087345020)+W(6,-1117456886,-1106255761,1048850468,1049253485)+W(7,-1135366091,-1138431127,1013968523,1038233914)+W(8,-1114119398,1017944258,1009497507,1032840840)+W(9,-1129773592,-1109427758,1033599708,1018773778)+W(10,1043058397,-1106769492,1029395381,-1101038787)+W(11,1037121278,-1113647178,1020319838,-1113511705);WS(1048665454,1062854025); +sum1=W(0,1032679478,-1099989608,-1140401360,1004974300)+W(1,1026224498,-1103518244,-1108003052,1041394910)+W(2,-1137588617,1040271757,1044968661,-1128844481)+W(3,-1128306202,-1114933822,1031459778,-1115578718)+W(4,1038119146,-1094089019,-1107105990,1040482153)+W(5,1054936910,1054691719,-1084721726,1050737065)+W(6,-1099872844,1035416977,1057517320,-1084409495)+W(7,1038726400,1032390235,1033669936,-1107158134)+W(8,1043046180,-1132148363,1004764812,-1113947114)+W(9,1025601857,-1113753404,1022372181,1044891839)+W(10,1017193535,-1131287582,1033354242,1022006333)+W(11,1023203548,1012659010,-1112957780,1025595521);sum2=W(0,-1137390044,1034599590,-1116919239,-1120028750)+W(1,-1112211314,1037510574,-1110926857,1031876652)+W(2,-1105672202,1052042083,-1091078601,1041988042)+W(3,-1122489809,1043447553,-1102117757,1032816067)+W(4,-1105861815,-1095438265,1032246372,1026537129)+W(5,1054207178,1062401065,-1093245727,-1114848017)+W(6,-1104155840,-1100501338,-1115099719,1059021754)+W(7,-1115066040,-1102195598,-1112097107,1047757772)+W(8,1022176478,-1129352893,-1102851233,1047938064)+W(9,-1118385188,-1106645860,1046245506,-1093210017)+W(10,1013766280,1016480352,1043294706,-1104427658)+W(11,1027463789,1030659187,-1113418727,1027075631);WS(1046819548,-1112403026); +sum1=W(0,-1118831073,1040283909,-1096536373,1043575156)+W(1,1025124390,-1115136450,1049135339,1028002987)+W(2,1034880715,1042113706,-1127238030,1023377962)+W(3,-1144027915,1045174012,-1124049974,-1125071779)+W(4,1047473762,-1108795847,1042563315,1028458839)+W(5,1052252597,1045384892,1040849058,-1083606160)+W(6,-1106041242,1040945110,-1081137782,1054448495)+W(7,-1138801364,-1122981994,1026387221,1031800519)+W(8,-1115473730,1037371629,-1134760216,-1147631681)+W(9,-1102431101,-1147407721,1036578576,1015994849)+W(10,1026652836,-1113175874,1029054905,1046487189)+W(11,1030118403,-1121286085,1032040846,-1096718751);sum2=W(0,1025044698,-1122373594,1036928405,-1116472244)+W(1,1003069456,-1111848203,-1111538981,-1123391126)+W(2,-1110477199,990411281,1027481573,-1129719684)+W(3,989635105,-1136314996,-1136822924,1023677849)+W(4,1040619830,-1104861162,-1121318128,1035706238)+W(5,1044878634,1050016986,1038958235,1046111644)+W(6,1030695866,-1116142138,1040124875,1017226015)+W(7,1007553654,-1112411005,-1113301330,-1114454329)+W(8,1034962287,-1110745183,1033058067,-1114868876)+W(9,-1113883437,1005454840,-1130393948,1034772140)+W(10,-1102609372,1029172520,-1105702279,-1114732111)+W(11,-1109652887,-1150621057,-1112847239,1029458562);WS(1054158702,-1098491196); +sum1=W(0,983582877,1026235385,-1119237644,-1129450472)+W(1,-1121678922,1031464488,1037197666,-1121209423)+W(2,-1119715259,-1102325483,-1099798307,1031290553)+W(3,-1115265987,1036899466,-1107157175,1032360987)+W(4,-1098493798,1048228620,1033589815,-1101713087)+W(5,-1103778771,1056756834,1060260620,-1083899440)+W(6,1046824098,-1102446942,-1093716116,1057005120)+W(7,1011053924,-1132207900,-1111054172,1037130136)+W(8,-1123359016,-1173092218,1023147092,1034513750)+W(9,-1122982297,1020058530,1035595873,-1103037013)+W(10,1028221304,-1124996559,-1117980637,1049393023)+W(11,992781927,995105423,-1115548960,1041637742);sum2=W(0,-1115650269,1016103802,1013555797,1022318336)+W(1,-1109544964,1052577828,1041650416,1023537352)+W(2,1016525394,-1089308865,-1105646271,-1104797311)+W(3,1033208955,-1123233885,-1093424353,1034835508)+W(4,-1119261847,-1114491928,1023151297,-1107715656)+W(5,-1093802466,-1088107917,1042399799,1043696631)+W(6,-1101461419,1041655381,1046742027,1070961498)+W(7,-1103638866,-1123805293,1027817568,-1129647390)+W(8,-1130031974,-1142562170,-1133592549,1033284778)+W(9,1027122983,1012286637,-1132296546,-1108010060)+W(10,1023301191,-1123666701,-1129646858,-1123089325)+W(11,1027104379,1017326494,1020078242,1010592861);WS(-1098756718,1025257793); +sum1=W(0,992949730,-1138344011,1023803110,-1170432841)+W(1,1015181254,-1121590721,1026014126,1001883457)+W(2,1025052052,-1131017933,-1118191492,-1113865961)+W(3,1028407518,-1125677724,992699702,-1142935155)+W(4,-1107275570,1040420307,1057699745,-1090131561)+W(5,-1096688477,1044394251,1054103406,-1096556254)+W(6,-1105028073,1053702338,1054646511,-1094031636)+W(7,-1094260670,1056434389,1018441892,-1106433523)+W(8,-1117188674,-1123369303,1012926412,-1119694405)+W(9,1029634610,1035099253,-1127845816,-1115724526)+W(10,-1105231572,1041135600,-1114907963,-1140440641)+W(11,-1115106656,1033590433,-1110839852,1028218227);sum2=W(0,1017397942,977119295,1035336978,-1113857499)+W(1,-1107301692,1082282453,1058657166,994248048)+W(2,-1099171315,1057428850,1081592322,-1114604929)+W(3,-1105825924,1050573738,1029982493,-1128156929)+W(4,-1169985407,-1139136560,1016146718,1003212424)+W(5,-1067974855,-1088717558,1029663775,-1086726098)+W(6,-1101606461,-1109521003,1032721198,-1065596346)+W(7,-1113547007,-1115579388,1035913834,-1114706375)+W(8,-1127032094,1015257206,1007728744,-1124908942)+W(9,1045162011,989071903,-1139895388,-1128987279)+W(10,1001306728,1026551071,-1115423533,-1132432620)+W(11,1022139202,999865176,-1124574009,-1127893472);WS(1057488311,1032489366); +sum1=W(0,-1126361486,1034785118,-1107316871,998859696)+W(1,-1139957040,1048520075,-1114064513,1028022609)+W(2,-1122345661,-1154023155,-1112481238,1015295094)+W(3,-1129886863,-1108825451,-1133481329,-1126668079)+W(4,-1098594694,1031878554,1045821468,-1130375162)+W(5,-1099155379,-1127500588,1057263754,-1105098668)+W(6,-1112014022,1025402492,1049599048,-1109749909)+W(7,-1116334683,1046739556,1034877470,-1114013594)+W(8,-1137835434,-1124885440,-1127874328,1009430200)+W(9,1033795278,1026343507,-1121514949,-1104540630)+W(10,1046311438,-1119007402,1007199100,-1105774078)+W(11,-1119327433,-1138298796,1026086402,-1109189150);sum2=W(0,1035973522,-1115068573,1036764889,-1131728975)+W(1,1057647035,-1081650015,-1096357732,1044679054)+W(2,-1120435503,1020148594,1008652352,1029801795)+W(3,1001204178,-1125968836,1019038058,1040526136)+W(4,1022919798,1043114423,-1128881737,-1111227173)+W(5,1064645808,-1105946360,-1098903856,-1128128484)+W(6,1034184152,-1122224678,-1121257166,-1094730608)+W(7,-1141167471,-1125677560,1033879187,-1110501324)+W(8,990889655,-1130091274,-1122740141,1037242625)+W(9,997618289,1036162942,-1126568042,1034691185)+W(10,-1123774451,1016517254,-1145265129,-1119761613)+W(11,1017460301,-1121815648,1025838030,1017411026);WS(1059796919,-1120566973); +sum1=W(0,-1121363289,1042197939,-1112300176,-1128913552)+W(1,-1170089852,1019526904,1034918960,-1114223569)+W(2,1007200827,-1109654209,-1097594444,1032486790)+W(3,1025411673,-1114258964,-1121876014,1031548233)+W(4,-1097436160,1044389601,1051198984,-1105877684)+W(5,1000497399,1057668526,1058261945,-1084964393)+W(6,1031553246,-1093305914,-1083919657,1058860547)+W(7,-1106885131,1024357474,-1113158982,1038828418)+W(8,-1156941767,1024751122,-1128535084,1031319296)+W(9,1032065846,1032881746,1025460631,-1115209492)+W(10,1041280427,986576750,1010383044,1045243539)+W(11,-1128319413,1012703988,1034628234,1014469175);sum2=W(0,1024653023,-1114346787,1030657759,-1143612781)+W(1,-1118229715,-1122961088,-1115709916,1031492195)+W(2,-1103747903,1032102149,1023143173,1037055061)+W(3,-1120661119,-1115297076,1035049663,1027878177)+W(4,-1145631357,-1122350618,-1116365956,-1142189493)+W(5,1058735511,1063925227,-1109597137,1041520845)+W(6,-1113230658,-1096423541,-1097941231,-1123318690)+W(7,1029140405,-1104473650,1034348655,-1107577516)+W(8,-1120960689,1013910379,-1144957229,-1108113093)+W(9,-1102646250,1003281301,1028619709,-1100459142)+W(10,-1119600722,1015718737,1040501280,-1097541479)+W(11,1048901284,-1122107736,-1116733621,994779835);WS(1025862512,-1097886171); +sum1=W(0,1028206791,1039095646,1039868615,1017995501)+W(1,1023900364,1040670187,1044724702,-1115115241)+W(2,1028215869,-1105649212,1036683863,973319892)+W(3,1031994596,-1101644966,1040757263,1033665516)+W(4,-1095591910,1046495341,1048852846,-1084617440)+W(5,-1089161581,1054642003,1053236428,-1088992852)+W(6,-1107053347,1049220624,1050422468,-1092805231)+W(7,-1102281943,1042256548,1039010398,-1107160205)+W(8,1032043925,1031081728,1003283810,1036255511)+W(9,1024473755,1033561578,-1128580235,974144948)+W(10,-1120787802,-1126192084,1012484477,-1132527589)+W(11,1034960116,-1141688154,1035723265,1025750940);sum2=W(0,-1115898040,-1105498372,-1113384832,1017309480)+W(1,-1131938440,-1101077232,-1140340528,1026950620)+W(2,-1147724576,1042402941,-1114410560,-1120377052)+W(3,-1120540424,1040078450,-1114542528,-1108926548)+W(4,1043260681,1041703091,-1106075829,1051665642)+W(5,1039662810,1049668212,-1109231476,-1109716244)+W(6,-1097796100,1040746517,1032262130,-1113565360)+W(7,-1097463639,1048026467,-1140600496,-1108348496)+W(8,-1122221676,-1119502308,-1143916576,1041533127)+W(9,-1109791178,-1130795288,1032670038,1047102067)+W(10,-1131969000,1031201932,-1112068676,1039963022)+W(11,-1107112902,1028500076,-1108483346,1032294606);WS(1059594295,-1081462343); +sum1=W(0,978268098,-1116748340,1043504002,1027153262)+W(1,1037283618,1038369681,1039643767,1020914066)+W(2,1024040629,1040894970,1034058802,1001487768)+W(3,1022356543,1036921959,-1111840522,-1121199663)+W(4,1047257898,-1102654539,-1087238767,1052804111)+W(5,1054855273,-1088075529,-1086204143,1049749519)+W(6,1052275873,-1098202447,-1086503800,1047397560)+W(7,1026848211,-1098696769,-1107277965,1039603542)+W(8,1038115889,-1165722369,1012415888,1041162890)+W(9,1037006730,1032180390,1033818911,1044063108)+W(10,1024505810,1034352017,991868273,-1117492081)+W(11,1036480704,-1136594828,-1131707508,995252542);sum2=W(0,-1110777341,-1127812186,-1120219585,1028621181)+W(1,1030597213,-1109734497,-1121966109,1027102605)+W(2,1041951037,1005564394,-1139970197,-1106396561)+W(3,1026771477,1021745754,1027913013,-1110468651)+W(4,-1126856730,-1129759266,1034472183,1035384087)+W(5,1046142043,1054407172,-1123472797,1038893967)+W(6,1024169581,1049042812,-1114873213,-1102581665)+W(7,1045072501,-1117275361,-1104920828,-1119264521)+W(8,-1106344343,-1132463093,-1120488613,-1123130413)+W(9,-1110811845,1013238549,-1111137329,-1121376361)+W(10,1023037898,1010521365,-1113345499,-1147353578)+W(11,-1108801471,934750635,-1123696429,-1123538565);WS(1001790336,1033193226); +sum1=W(0,-1131356554,-1115176285,1018580889,-1113292474)+W(1,-1118664394,-1094752997,-1102427201,-1133969725)+W(2,-1111709325,-1119059021,-1105768635,1027204153)+W(3,-1127980619,-1131789226,-1121009370,1024655285)+W(4,1046326027,-1113855449,1052553934,-1117909243)+W(5,1062953181,999804065,1060794158,1041639692)+W(6,1040555139,-1110352445,-1122254720,1031529696)+W(7,1030139737,-1100154756,1026923705,-1115548569)+W(8,-1112351060,-1156866531,-1129785460,-1104113579)+W(9,-1105541862,-1130622370,-1132017542,-1095014251)+W(10,1031818996,-1121415144,1022740922,-1102735326)+W(11,1016036429,-1122315305,1008916224,1008421480);sum2=W(0,-1130012060,-1137594745,1019371878,999771042)+W(1,1018901632,-1114341154,1002965746,-1123589256)+W(2,1017234680,1017493044,-1115605194,-1124249760)+W(3,1016197020,1024661143,1015905000,-1118367200)+W(4,991329315,1043986431,-1106457448,1035878909)+W(5,1053769225,1057361082,-1118271248,1042318306)+W(6,-1099274218,1037230696,-1102884302,1010690665)+W(7,-1092869373,1036147884,-1112309114,-1101115118)+W(8,-1108709562,-1156785507,-1118330440,1038257769)+W(9,-1113472862,1021163648,-1134019065,1025444512)+W(10,-1115820708,1025071687,-1123825168,1015483632)+W(11,1016005876,1013380697,-1126466092,1020142296);WS(-1096043118,-1087645231); +sum1=W(0,1032694426,-1099485226,1029203067,-1115587665)+W(1,1023546425,-1121275799,-1113336032,1031441086)+W(2,-1147531597,-1118364796,1051148019,-1130229584)+W(3,-1115129818,-1119188228,-1127235090,1019733960)+W(4,1017432376,1052615508,-1106908023,1045341850)+W(5,1050158903,1045376289,-1082902530,1054321442)+W(6,1047006846,-1118131945,1057440145,-1081266857)+W(7,1041137522,1018710010,-1134199968,-1106232936)+W(8,-1113683692,-1127306394,-1114910160,-1131991862)+W(9,-1116607496,-1147820543,998100766,1050084000)+W(10,-1120491559,991663462,1021215128,1027649766)+W(11,-1131853547,-1124042776,-1123554607,1027530281);sum2=W(0,1023861908,-1119658781,1023515648,-1129211209)+W(1,1029997412,-1103304652,-1121364796,1038235290)+W(2,-1107362446,1044349350,-1109858923,-1125523437)+W(3,1013933265,1027861436,1032218024,-1114850415)+W(4,-1108471855,-1133136545,-1110890211,1040374834)+W(5,1039720436,1050855479,1044872450,-1096619497)+W(6,1038091910,-1107498682,-1117035130,-1113539350)+W(7,982770184,-1128608489,-1130602657,-1121557752)+W(8,1048083250,-1109425046,1023672492,1020265593)+W(9,-1102257516,-1130250517,-1121333166,1034188808)+W(10,1024895152,-1122118916,1029442100,1022698753)+W(11,-1129090321,939323929,1020180841,-1162309256);WS(1062090935,1058767985); +sum1=W(0,-1127587553,1016014666,-1111629724,1016379967)+W(1,1030044278,1039181162,1045897412,-1124869109)+W(2,1021197901,1032078908,-1111908667,-1135267218)+W(3,1001072263,1037221664,-1129970444,-1146487047)+W(4,1046030390,-1131263417,1040669191,-1115487571)+W(5,-1107063038,1046027952,1049140321,-1089079359)+W(6,-1100036461,1040408361,-1082917799,1056809425)+W(7,-1118068997,1034380765,-1115518322,1008766834)+W(8,-1107621674,1039946613,-1131647467,-1124650927)+W(9,1035258018,1033161790,-1197661491,-1120715392)+W(10,-1117322707,-1124734374,-1129645073,1051125844)+W(11,-1135017032,-1119763541,1029976235,-1115270659);sum2=W(0,-1116547758,1041352776,-1111327982,1033054007)+W(1,1033469023,1012971008,1032790615,-1123189128)+W(2,1026371779,1042838787,-1098982462,-1122818756)+W(3,-1137766108,1004924993,-1110172088,-1136838880)+W(4,1034677105,-1115132829,1038740385,-1121722910)+W(5,1033020303,-1108961666,-1092378351,1033549613)+W(6,-1098306997,1045175561,-1121004928,1051050782)+W(7,-1120000922,1027487385,1019964530,1034801784)+W(8,-1124364804,1035204548,-1124024618,-1119336676)+W(9,-1106694042,1032253989,1032784783,-1102497930)+W(10,1039643256,-1118316692,1009754028,1035128176)+W(11,1017988993,1028774587,-1125398316,1015821086);WS(1065136439,1040354336); +sum1=W(0,-1120274067,-1107804932,-1108811053,-1140671753)+W(1,-1124666160,-1105899870,-1110160675,1022747450)+W(2,-1131113682,1033405406,1025125049,-1123069063)+W(3,-1126498983,1016924742,-1129239633,-1118356003)+W(4,1050226223,-1098842784,-1099781359,1057254373)+W(5,1031464345,1000731409,-1092867554,1059609336)+W(6,-1111386668,1055942809,1058399851,-1093137163)+W(7,-1111235284,1051704028,1044975810,-1105328992)+W(8,1010162395,-1112753158,1003726785,1009251305)+W(9,-1114655220,-1112429520,-1120831377,1036945681)+W(10,-1101547023,-1146511789,-1119063979,-1109467235)+W(11,-1104493413,-1117793303,-1116155918,-1113825780);sum2=W(0,998321428,1018598993,1034041544,-1139839138)+W(1,1024466364,-1102834025,987604943,-1134067290)+W(2,-1119932526,-1118877643,-1131349085,1008723794)+W(3,-1132382549,-1113750023,1031347596,1028368392)+W(4,-1116818777,-1114897304,-1095769692,1034669108)+W(5,1061492513,1062722215,-1102588486,1007335842)+W(6,-1116983417,-1117176868,-1107691916,-1121214551)+W(7,-1103912225,1035794880,1009572226,-1114752830)+W(8,-1105398904,-1145690340,1039138956,-1105759439)+W(9,-1098749835,1025712340,1018314989,-1108283066)+W(10,1041629273,-1121476700,1022467761,-1108418109)+W(11,1046707789,-1110829011,1033232162,-1103951670);WS(1015535328,-1084984071); +sum1=W(0,1017574081,-1120445077,-1108603860,-1114800552)+W(1,-1121642214,1038434434,-1120661414,-1121052395)+W(2,-1119258038,983354644,1004694578,1031943978)+W(3,-1152091148,-1117988144,-1131668588,1015340962)+W(4,-1098244185,1050368026,1058689409,-1099862310)+W(5,-1091868509,1053265766,1059588503,-1094435959)+W(6,-1090330210,1049777811,1053762387,-1100742889)+W(7,-1096238847,1044693386,1042220181,-1106546547)+W(8,-1113854018,-1119794874,-1119809253,-1114937124)+W(9,1038069402,-1124845785,-1117398367,-1120887600)+W(10,1033335786,-1124490374,-1126829041,1032168457)+W(11,1033654385,1025017029,-1122991451,-1112611163);sum2=W(0,-1113925793,-1117743388,-1123863865,-1113763234)+W(1,1016562523,1034144457,1031541130,-1117079348)+W(2,1021767953,1028245712,-1108434934,-1106152769)+W(3,-1118706081,-1131124226,-1107854239,-1110489214)+W(4,1049718598,-1115051721,-1153318001,-1152383745)+W(5,1045174355,1029337732,-1111062529,1054034272)+W(6,1048832333,1036566626,-1107848604,1019958281)+W(7,1041167636,-1100833945,-1106439039,1037079656)+W(8,-1108241407,1017487533,-1112434267,1032880554)+W(9,1040219109,-1115252534,-1115045873,1025815300)+W(10,1032317223,-1144290245,-1112234054,-1122950542)+W(11,1023645948,-1123196065,-1111099643,-1114917041);WS(1058837943,1069665989); +sum1=W(0,-1131526763,-1133106088,-1123278397,962159770)+W(1,1016761717,-1119033369,-1111839826,-1123587520)+W(2,1020359383,-1123741278,-1112323118,-1116652202)+W(3,-1120750038,1031183749,-1111587013,-1124916236)+W(4,1052414436,-1100255560,-1100091288,1059574623)+W(5,1050778647,-1089604336,-1090882007,1056026369)+W(6,1051933055,-1098258189,-1090318286,1057288447)+W(7,1050858601,-1113801599,-1098860821,1049400292)+W(8,1034080493,1026538575,1026912571,-1106975399)+W(9,1030312842,-1142474253,-1128992103,1026032901)+W(10,-1123145400,1024876312,-1126485147,-1115237492)+W(11,-1102573630,-1147252941,-1130617057,1023272149);sum2=W(0,-1121672345,-1123032728,1031898082,1031825723)+W(1,1003655756,1042326937,-1149677000,-1128689519)+W(2,1021714543,-1135526098,1016978721,-1112729716)+W(3,1015056847,-1115756346,1017362221,-1143241256)+W(4,-1070958719,1042495248,-1097279430,-1068962638)+W(5,1079716701,-1097154173,1042236169,1062859919)+W(6,-1106783417,-1101596383,1043003442,1069238165)+W(7,1030095799,1029691669,-1114855682,1038638730)+W(8,1004890268,1015278793,1033946762,-1106804175)+W(9,1047991146,-1129356209,-1125393239,1033261211)+W(10,1006662138,-1143028884,-1130449529,1029430153)+W(11,-1116617969,1007567766,1021676019,1016716693);WS(1027937136,1051433372); +sum1=W(0,-1131494490,1034970897,1027262836,1024223452)+W(1,-1113660825,1051529138,1041574867,1034208027)+W(2,1007645322,1035492122,1043759333,1026687777)+W(3,1023660333,1033175550,1025216066,1019229306)+W(4,-1102510757,1043230726,1036904555,-1095583884)+W(5,-1082034838,-1088109312,1043513377,-1088128354)+W(6,1021392868,1023668834,1040837474,-1107709564)+W(7,1019915650,1041627229,1033050768,-1116281753)+W(8,-1126475809,-1131579916,1026871330,1037383306)+W(9,1049740992,-1121104697,1022249046,1038022750)+W(10,1040579632,-1128113439,1030621125,1043020088)+W(11,1040383308,1024084817,1026071912,968839375);sum2=W(0,-1114076695,1037288383,1019704225,-1122636491)+W(1,-1121313911,-1113812515,1038646185,-1122337791)+W(2,1032037049,-1144905268,-1115379683,1019616565)+W(3,1035628188,-1104091459,-1124810757,-1121846167)+W(4,1032297878,1029534785,-1108218455,1049771287)+W(5,1058219066,1058416091,1038576544,1050229287)+W(6,-1089173556,1029636273,-1096957025,-1126947029)+W(7,-1085784913,1039375301,-1112204367,-1109798125)+W(8,-1114871835,1019192761,1007985666,1003686724)+W(9,-1129529893,1021492965,-1146139348,1026526587)+W(10,1011141050,-1129337357,-1131201101,1020162449)+W(11,-1169657505,1026702945,-1117257463,1015768281);WS(-1087300279,1060388257); +sum1=W(0,1031115364,1041026294,1023690092,-1129462823)+W(1,1025637865,1022155151,1027269348,-1114720439)+W(2,1019407412,1019365849,1032140389,-1150727557)+W(3,-1144567588,-1142073248,1035913085,1005184420)+W(4,-1092905754,1045171988,-1106106692,-1095623283)+W(5,-1092295181,1060821043,1058204318,-1093094418)+W(6,-1094422277,1051757075,1047241920,-1091295733)+W(7,-1089577936,1052799910,1047453654,-1097873082)+W(8,-1113959460,-1127843579,-1130365587,1037669414)+W(9,1044954958,1027810288,-1122973026,-1142625182)+W(10,1022315054,1005685302,1008074737,1031904715)+W(11,1027854342,1023937224,1011776124,-1121754201);sum2=W(0,-1141459412,1004777140,-1166872476,-1120594034)+W(1,1028313984,1013932442,-1113289360,-1136839806)+W(2,-1122936307,-1124945717,1019995585,-1127607807)+W(3,-1134584398,-1157638606,-1145964804,1007613018)+W(4,-1122900789,-1110936244,-1102509951,1040489823)+W(5,-1095750682,1045560576,1067324619,1021539093)+W(6,1031026044,-1100965201,-1096904945,1045364618)+W(7,-1125456395,-1108078168,1000232964,1033830372)+W(8,-1095818924,-1104593759,1045679794,-1086857984)+W(9,1065644346,-1103109579,-1110068744,-1093760272)+W(10,1042979309,1018809021,1034732462,-1123950010)+W(11,1026162850,980148252,-1152320711,-1121148085);WS(-1090838638,1050174926); +sum1=W(0,1033853293,1049593122,-1109115088,1024715784)+W(1,1042483832,1045373935,994296459,-1106406969)+W(2,-1138965820,-1112080289,1015694078,1025782733)+W(3,-1139164262,-1114987669,1045351388,1038488261)+W(4,-1120751425,1051782073,1038102082,-1106716164)+W(5,-1086184702,1058236139,1043814476,-1094496661)+W(6,-1095245812,1042079876,1045378621,-1092092861)+W(7,-1094326222,1040938025,1050438570,-1100690449)+W(8,-1136454131,1035169257,1016756989,-1115525408)+W(9,1033520471,1042591993,-1108133484,-1105105482)+W(10,-1106373991,-1115290814,-1140252101,1029286795)+W(11,-1122199803,1001134058,1041627941,1034575399);sum2=W(0,1047565246,-1111682644,-1087153288,1051544715)+W(1,-1105592564,1060283907,-1081925443,1046232208)+W(2,-1105924841,-1127110112,1062548140,-1094324661)+W(3,-1103932050,1033462267,1051334754,1021200095)+W(4,-1099176408,1032035298,1047568122,-1090874159)+W(5,1048906709,1036693685,-1119008010,-1105576760)+W(6,1049091960,-1158298480,-1119206793,-1112367085)+W(7,1048824237,-1114785543,1036759049,-1107585156)+W(8,1040133461,-1131191613,1034895049,-1111412903)+W(9,-1107739759,1040322447,-1112144320,-1140028602)+W(10,-1096403637,1011461326,-1130045765,1044620924)+W(11,-1114351857,-1111955333,1012649582,1046459856);WS(1039738296,1044009556); +sum1=W(0,-1118478209,-1126664684,-1113116036,1031992376)+W(1,1042319122,-1095949365,1028656912,1036413734)+W(2,1019779694,-1104617834,1046101634,1025321013)+W(3,1028741314,1029160593,-1111694091,-1126468451)+W(4,1042459434,-1107130859,-1088719167,1058890327)+W(5,1057173004,-1090115281,-1088309806,1054229481)+W(6,1052520321,-1096019759,-1090901446,1048940614)+W(7,1057385245,-1090793697,-1098195015,1047137387)+W(8,-1129453002,1036863629,-1107110028,1040542090)+W(9,-1127816747,-1121635021,-1133301245,1042227988)+W(10,-1119199044,1022364232,-1120611033,1048439133)+W(11,1040359505,-1129794251,-1108092830,1036380619);sum2=W(0,-1089163817,-1107842867,1009251693,-1088996856)+W(1,-1080285142,1052635731,-1124806950,-1081345153)+W(2,-1089981167,-1125456570,-1106464080,-1079794071)+W(3,-1099490886,-1106662163,-1115606726,-1091438196)+W(4,1057525018,1042234988,-1115283476,1062110924)+W(5,1067630395,-1112028150,-1104109471,1064189433)+W(6,1062842970,1045262592,-1113992476,1063058829)+W(7,1053790298,-1104249669,1042247754,1054193960)+W(8,1032774718,-1123202523,1034262626,1030923639)+W(9,1034769026,1036915346,-1130902850,-1126776930)+W(10,-1136163037,1035294670,-1110986466,-1106165885)+W(11,-1108359351,1024576891,-1135519157,1032379012);WS(-1096394862,1050867114); +sum1=W(0,1035680965,-1097606072,1011677768,975777376)+W(1,-1164976624,-1122057965,1017467204,1017323049)+W(2,-1117859264,-1137149130,1039142936,-1126109949)+W(3,-1122131819,-1112401517,1023416416,1011370603)+W(4,1041761501,-1108785275,-1095631255,1050217928)+W(5,-1098739346,-1111108333,-1088500104,1059053443)+W(6,-1104430516,1040456976,1062642602,-1089683010)+W(7,1042596520,-1120553683,1016594173,-1115445691)+W(8,1035556439,-1107649602,1033079080,-1105375964)+W(9,1025006046,-1112750027,1020084753,1042635014)+W(10,1027021261,1017623258,-1142614292,1038036638)+W(11,1029575724,-1124248029,-1113983747,1041295544);sum2=W(0,1024840523,-1108448221,1029829507,-1131210775)+W(1,1022860453,-1107856867,1046565608,1024067225)+W(2,-1130239171,-1106481128,1042031083,-1125865258)+W(3,-1117571915,-1124576676,-1127390051,1024964869)+W(4,-1117395779,-1132016729,-1122984086,1018275001)+W(5,-1092962046,-1089805596,1059140985,1042461338)+W(6,-1102214835,1027704725,1058514952,1053212914)+W(7,991892650,1032905776,-1118917379,-1114692565)+W(8,-1114466007,-1103146109,1033255054,-1096338526)+W(9,-1166014069,-1099911282,-1119288636,-1107995649)+W(10,1041713274,-1106771914,-1113255745,1052927486)+W(11,1032336370,1000523989,-1111017176,1037010892);WS(-1112511928,1031640207); +sum1=W(0,-1130112569,1048837234,-1102373753,1037301926)+W(1,1044751592,1045582560,-1091456672,-1119711398)+W(2,1042267541,-1093436941,-1119033858,-1102628100)+W(3,-1122521821,-1100593739,1050238014,1021159833)+W(4,1051625169,-1095738529,-1091912761,1058068053)+W(5,1044375881,-1090186767,-1101742756,1054040787)+W(6,1051238780,-1110077161,-1090190311,1057193534)+W(7,1058222955,-1090967581,-1098844722,1045936610)+W(8,1045615952,1045904421,-1112730073,1030698115)+W(9,1051640030,-1111879892,-1098654019,-1104227307)+W(10,1008998972,-1101737376,-1123401908,-1111999463)+W(11,-1108465231,-1112695488,1043894710,1050341641);sum2=W(0,1009444234,-1117974589,1024549194,1016218439)+W(1,1026480303,-1106327815,1042315856,-1111008440)+W(2,-1115006890,1025059842,1040022175,1015374231)+W(3,-1122692269,1033099318,-1110870197,1027237715)+W(4,-1111737758,-1110249739,1037076368,-1121292007)+W(5,-1089871257,-1069929292,-1086831522,1047393563)+W(6,1043300713,1033002057,-1085683537,-1115783084)+W(7,1022298131,1032775289,1033912191,-1103999090)+W(8,1020335555,-1112172263,1032984152,-1112700443)+W(9,-1111547810,1079084175,1060801772,1038599637)+W(10,-1118960414,1033693800,1057876572,1049254465)+W(11,-1104218510,1045399536,-1104475663,-1118358651);WS(-1106120924,1033431669); +sum1=W(0,-1146851238,1041817850,1035990878,1016553159)+W(1,1026515514,1047579686,1041767260,1024375743)+W(2,1029812010,1026577053,1031819293,1005429062)+W(3,1021177962,1011005202,1014785832,1008887700)+W(4,1024013341,1027850273,1042266392,-1101729723)+W(5,-1085522812,-1090381288,977256084,-1116899488)+W(6,-1118087802,-1113190325,1048109660,-1090064383)+W(7,1025078601,-1127218683,1024173993,-1126747713)+W(8,1026394008,1021653787,1018305971,1024064284)+W(9,1048833585,-1125739905,996614956,990294084)+W(10,1040657490,-1121801815,1016883609,1038017843)+W(11,1041410670,-1132785763,1027952623,1020235411);sum2=W(0,1019641904,-1116342888,-1110721648,1032555846)+W(1,-1123545328,1027573888,-1102693078,1015684488)+W(2,-1117707424,1021888896,1043950970,-1118308408)+W(3,-1152988290,1023916088,1007632640,-1137876352)+W(4,-1089264280,-1112511004,1030929664,-1094136567)+W(5,1056898914,1052843165,1046449598,-1097199465)+W(6,1041236542,-1109778580,1024674316,1037769558)+W(7,1046276806,-1105717038,-1123597216,1026403708)+W(8,1032788860,-1125819008,1018020888,-1146526593)+W(9,1033507644,-1122415072,1004426241,1012812816)+W(10,1017687520,996318210,1028547840,-1106559340)+W(11,-1122312832,-1132920416,-1149117889,1028523456);WS(1034973624,1056792353); +sum1=W(0,-1121055921,-1114464179,-1130821617,-1120658336)+W(1,1021962732,-1093463666,-1106629009,-1128295926)+W(2,-1119904327,-1132912612,-1097245927,-1127490506)+W(3,-1119710033,-1115274080,-1118132038,-1122942113)+W(4,-1125024178,-1102939831,-1130597942,-1114903379)+W(5,1062068439,1067744046,-1118485143,1008426736)+W(6,-1107542555,1045213129,1049107361,1050479246)+W(7,1025872901,1036565277,-1113875250,1028006365)+W(8,-1115164458,-1124681556,-1124529164,-1109039532)+W(9,-1094141737,993935312,-1138254780,-1104109440)+W(10,-1119937620,-1120970067,-1132704804,-1105858697)+W(11,-1121170098,-1120520661,-1122550700,-1141854766);sum2=W(0,1017661559,996214904,-1120501349,1020401308)+W(1,-1130735541,1024553914,-1140432422,-1129375401)+W(2,-1166762145,-1124013507,1006774606,-1146688164)+W(3,-1137125822,-1117903931,1033491675,-1130185789)+W(4,-1116129767,-1084580575,-1090330474,1037264768)+W(5,1051779064,1064606263,-1097846115,1035443152)+W(6,1025600009,1019182043,1048687051,1039827062)+W(7,1032817572,1037037513,-1117487855,-1114545658)+W(8,1032645479,-1119976615,1023925581,-1105802125)+W(9,1038402436,-1136822486,1025111856,-1102145888)+W(10,1025151371,1015612208,-1121332237,1000828364)+W(11,-1112238814,999461036,-1119338761,1028059566);WS(-1082445367,-1085006700); +sum1=W(0,1034878908,1043293403,1041974800,-1131835086)+W(1,1037617118,1045196135,1042063924,-1106661648)+W(2,1022066011,-1105403448,1037212703,-1121819052)+W(3,1033542412,-1100599618,1046411795,1036207796)+W(4,-1092276724,1051286356,1054173212,-1081109875)+W(5,-1094524616,1058619216,1055927462,-1086386347)+W(6,-1104988703,1028915053,1050138098,-1094507255)+W(7,-1096619449,-1130824962,1041419787,-1105674409)+W(8,1034209806,1038048136,-1137431795,1035072463)+W(9,1036390662,1042877649,-1110863483,-1114712644)+W(10,-1139447658,-1114994477,-1123146704,1015171028)+W(11,1045523870,-1121943708,1040360493,1026111277);sum2=W(0,1025676326,1000796272,1043137200,-1112963339)+W(1,1036266015,-1098528956,993751520,-1117465202)+W(2,1019242508,-1097473255,1032573075,-1124864900)+W(3,1039721851,-1090503899,1049454991,1017632828)+W(4,1031859059,-1102855534,-1089890678,1014823768)+W(5,1055374057,1061198225,1018575516,1020211292)+W(6,-1125510524,1050136287,1038055959,986723264)+W(7,1007293144,1054985311,-1109681619,-1111044051)+W(8,1031913791,1018516204,-1128614108,1022229356)+W(9,-1098119563,1020738140,-1138611816,-1120060570)+W(10,-1098582022,-1123833514,-1132953832,-1106568385)+W(11,-1101215648,-1110059149,1035860627,1030233630);WS(-1089141943,1068474134); +sum1=W(0,-1101143803,1041396360,-1121972404,1024130588)+W(1,-1124204515,1052602058,-1105946681,1039148539)+W(2,1018218693,1032280890,-1091638882,1026773217)+W(3,-1123573325,-1138642417,1041946144,-1104179471)+W(4,1045416789,-1094238571,1036801227,1032495505)+W(5,-1094942270,-1098420551,1057861426,-1106461946)+W(6,-1106993164,1033290001,1040764762,1059099726)+W(7,1009482242,1037819035,-1105244536,1045088278)+W(8,1039470024,1024684838,-1114425265,-1117579092)+W(9,1047303536,-1127532529,-1108918837,-1113046718)+W(10,1040300696,-1103088708,1027200645,-1094617668)+W(11,-1108347351,-1116739793,1043167338,-1110195745);sum2=W(0,998892514,-1114282184,-1134771145,1016644168)+W(1,1033248586,1025008594,1042383274,-1116049462)+W(2,1041609896,-1101611481,-1104878488,-1110140123)+W(3,1030835892,-1122288558,1048842205,-1103095555)+W(4,1049635340,-1101404122,-1114142714,-1129326838)+W(5,-1102476512,1060588986,-1095734150,-1147070546)+W(6,1046973498,-1143476482,1052949499,-1090718582)+W(7,1028769716,1022411808,-1110997031,-1115539252)+W(8,-1114952606,1041138771,1025799488,1012771369)+W(9,-1111850310,1027653952,-1095991584,1057697290)+W(10,-1114336646,1035005082,-1127102864,-1096580248)+W(11,-1118966953,-1120028296,992902692,1031782132);WS(1055908206,1023803300); +sum1=W(0,-1128828388,1011459483,-1114766205,1033033649)+W(1,1024886583,-1116675477,-1106069078,1027156540)+W(2,1032744244,1045609495,-1116893112,-1122498726)+W(3,1005980052,1049123968,-1113403236,-1114524705)+W(4,1054454099,-1094569204,-1093070812,1059767687)+W(5,1059734148,-1090099632,-1086765600,1057986836)+W(6,1043829406,-1102732570,-1094363024,1056528229)+W(7,1049516377,-1098493775,-1103438026,1047712168)+W(8,1029622486,1016172182,-1139512861,-1106762950)+W(9,-1098865153,1027525694,1027600816,991938588)+W(10,-1139103892,1036132330,-1135964969,-1101593593)+W(11,-1097177334,1035501771,-1117700205,1022039246);sum2=W(0,-1115143239,1029199567,1052224655,1025334517)+W(1,-1115511381,-1137182696,1050599738,-1112308287)+W(2,1031444191,-1094150391,-1101494467,1042864237)+W(3,-1111573417,-1092627938,-1116631442,1040795754)+W(4,-1092254017,-1079915962,-1083097675,-1085507535)+W(5,1050309385,-1085955474,-1078367265,-1091835304)+W(6,1058681981,1068550083,1077549274,1052849573)+W(7,1066882777,1059124396,1054678659,-1093246396)+W(8,-1092877982,1029921983,1062578782,-1097828858)+W(9,1031547399,1017725718,1036651638,-1101001669)+W(10,-1100178328,-1106558945,-1103762806,974314816)+W(11,-1088438520,-1098096651,1039431488,1046838481);WS(-1078207964,-1098790270); +sum1=W(0,1039615439,-1121106131,1017293260,-1117816013)+W(1,1032454162,-1100564368,-1098516348,1040159636)+W(2,1026856980,-1115831559,-1142189601,1029735698)+W(3,1002339317,-1114960439,-1129405415,-1128361629)+W(4,-1100078274,1049964833,-1100878354,1049047675)+W(5,1041647209,-1119951725,-1094050686,1057717203)+W(6,1041839801,-1110599850,1052197359,-1090236946)+W(7,1034781465,1020602063,1009705546,-1114821509)+W(8,-1107321921,-1122801847,-1126192007,1032784131)+W(9,-1099964381,1014677674,1034337038,1040450075)+W(10,1034137049,1027844545,1028031798,-1116032848)+W(11,993360895,-1130484229,-1121696025,1036993018);sum2=W(0,-1115606678,-1132455965,-1104367710,1025029135)+W(1,-1111864983,1035843132,1054704406,-1098891737)+W(2,1017169741,1037432870,1038310704,-1112278329)+W(3,1031819582,-1122384617,-1137648567,-1123958951)+W(4,1051294613,-1090262380,1051361304,-1119205162)+W(5,1040638061,1042639742,-1094584814,-1118431701)+W(6,-1095570314,1054301740,1042180969,1033551568)+W(7,1008777251,1032304440,1006683771,1040693441)+W(8,1046775583,1027534783,1037239658,-1097951274)+W(9,-1115582191,-1161598998,-1137589907,-1111734067)+W(10,-1102111461,-1137659371,-1113612863,-1116801751)+W(11,-1103720876,1038413214,1017443081,-1108749213);WS(1060561207,-1110135205); +sum1=W(0,-1124131449,-1108658488,1049197464,-1114856118)+W(1,-1112340961,1047635080,1041962623,-1121034566)+W(2,1034679769,1045001085,1029521634,-1112123800)+W(3,-1107671902,1038785126,1019494819,-1115322038)+W(4,-1095755605,1045522218,1057921518,-1091745710)+W(5,-1089785676,1056738433,1055093690,-1091090769)+W(6,-1105390912,1048793054,1057086969,-1088312300)+W(7,-1089779917,1057170552,1049205462,-1095959893)+W(8,-1100746808,-1112929307,1021270499,1045672489)+W(9,-1111234056,1036938084,-1157317541,1019645080)+W(10,1047514180,1026507103,-1148757666,-1095870350)+W(11,1022895484,1029094240,1019330670,-1099214252);sum2=W(0,-1122184691,-1115970606,1041894205,-1110883135)+W(1,1033395903,1040255170,982318965,1008834310)+W(2,1024095030,1031402202,-1134396672,-1110716892)+W(3,-1113542640,1031923695,-1121857157,-1113505190)+W(4,-1118217955,-1081043792,-1082032478,-1114700148)+W(5,-1109327580,-1095688614,-1085641610,-1097954058)+W(6,-1114148625,-1093205100,-1084362127,-1107386491)+W(7,-1128842340,-1094939475,-1087863650,-1116084956)+W(8,1049320576,1059051295,1064081845,1046875162)+W(9,-1107088758,1066526360,1064706681,982336213)+W(10,-1122373488,1058657081,1060847547,1032307660)+W(11,1044473869,1041403755,1055302318,1045820748);WS(-1088848183,-1091270356); +sum1=W(0,-1127291412,1011517178,1022583331,-1113444636)+W(1,-1105736260,1040877723,1047190142,-1131637032)+W(2,-1127378047,-1097520394,1035565944,1030983166)+W(3,-1115666437,-1108205485,-1114602800,1037357901)+W(4,-1094397598,1055228191,1050793382,-1092936920)+W(5,-1086200137,1051083611,1056457416,-1092945549)+W(6,-1104020948,1051399464,1056969730,-1102025475)+W(7,-1102830535,1047811509,1044492479,-1116833526)+W(8,-1112816343,1007040780,-1115063927,1035173048)+W(9,1039289519,-1114815627,-1118782984,1039723405)+W(10,-1108815670,-1127143385,998545680,1015654008)+W(11,1032741190,-1123886254,1025703109,-1116817631);sum2=W(0,-1110646223,1065087692,1067295699,1023906737)+W(1,1010017751,-1118952488,1065459703,-1119411664)+W(2,1029589423,-1083105366,-1081475488,-1108429461)+W(3,-1125097343,-1083389324,-1095503285,-1110439418)+W(4,-1085042817,1037915281,-1097077469,-1081442287)+W(5,1050008558,-1110920551,-1096872835,-1083251842)+W(6,1064469883,1036080906,1006981249,1064700095)+W(7,1061045473,1051761632,-1106015672,1057972141)+W(8,1015927544,-1132623721,1026431960,1029195957)+W(9,1042598936,-1124571002,1018762696,1018101230)+W(10,1041992018,-1114107558,1020104602,-1103158035)+W(11,-1114827780,-1119006739,1036691137,-1108943564);WS(1034259896,1039623341); +sum1=W(0,1028460795,-1104998988,-1137539339,1016878676)+W(1,1011385345,1015052988,-1129847248,1034359235)+W(2,1016831138,1044006969,1032818160,1015855070)+W(3,1025908283,1043524531,1033445320,-1128588247)+W(4,1047938201,-1091378989,-1088089066,1055868742)+W(5,1043619008,-1114958501,-1090213650,1058114664)+W(6,-1092418872,1049053750,1054476715,-1096687428)+W(7,-1095896370,1044746961,1040121848,-1100196186)+W(8,1036240559,-1121755284,984347141,1043298073)+W(9,-1119276751,1018241806,932956556,1043122195)+W(10,-1101201217,1034235663,1026808723,-1110579607)+W(11,1018213241,-1120101215,1010316760,-1106781444);sum2=W(0,1033659165,-1102042508,-1108037836,951810592)+W(1,1037243759,-1102191435,-1103529440,1002259560)+W(2,1034753865,-1119026649,-1111056455,-1112310958)+W(3,-1114454490,1024637657,-1101647251,992340497)+W(4,-1107310314,-1115641842,-1130209970,-1092018666)+W(5,1066447662,1067062587,1041635941,-1101738099)+W(6,1031795157,-1099014553,-1098661250,1032823775)+W(7,1046257437,-1111013301,-1117726225,1040899047)+W(8,-1110096702,1032067593,1009312276,1022643242)+W(9,-1100161415,1041326077,-1114108683,1034513697)+W(10,-1096684817,1026651225,-1120382671,1027860693)+W(11,-1112982645,-1106704138,1038338139,-1114962434);WS(-1096556910,1067967914); +sum1=W(0,1024354487,1031668012,-1122886335,1032707155)+W(1,1043480447,1041914807,1021347526,-1131915011)+W(2,-1132633269,1034774528,1036630543,-1118942187)+W(3,1031513592,-1106257250,-1125222297,1031302952)+W(4,-1103532312,1048353625,1055235700,-1095119782)+W(5,-1090836352,1053060297,1044387963,-1095435756)+W(6,-1104917967,1052242886,1041581564,-1091218783)+W(7,-1104067043,1050269976,1033613430,-1100801113)+W(8,-1105977207,-1126996321,1031514684,-1120012638)+W(9,-1133082414,1043128001,-1116416117,-1105830818)+W(10,-1121967338,1039162573,-1110350280,1017318739)+W(11,-1109204860,1034839630,-1148985233,-1130484760);sum2=W(0,-1120747465,1032139854,1041393774,-1125934657)+W(1,1019390634,1046075673,-1107151652,-1126946517)+W(2,1045993569,1024325836,-1090083756,-1140291646)+W(3,1038335355,-1097350707,-1116058677,-1110717499)+W(4,-1114660789,-1105604596,1047775001,-1097497496)+W(5,1057927405,1059160295,1048515105,-1096477783)+W(6,-1137735680,1039621515,1043731078,-1110210473)+W(7,-1127153776,987432265,-1116506490,1033250412)+W(8,1018330620,-1129241452,-1122059316,-1131783044)+W(9,1041946221,1011994599,-1147658728,-1096755902)+W(10,1046026631,-1126091098,1032850220,-1091797353)+W(11,-1124643180,-1124186068,1009337229,-1106745231);WS(1061843767,-1077951557); +sum1=W(0,-1120114128,-1131166601,-1106366502,1026388735)+W(1,1029309653,-1091391038,1029755951,1037862893)+W(2,-1122000006,-1099454574,1048316317,1036389538)+W(3,1030215888,1034019808,-1106178153,-1126306304)+W(4,1043697070,-1105977039,-1088217072,1059311576)+W(5,1057568381,-1089136642,-1091419383,1054385928)+W(6,1049723715,-1095416897,-1092475601,1054220568)+W(7,1058416302,-1091809363,-1096877448,1050234615)+W(8,-1130669927,1039925540,-1102542817,1041378862)+W(9,-1111164306,-1105668215,989452730,1047467576)+W(10,-1108260705,-1130981221,-1138232735,1053509792)+W(11,1045917860,-1116719540,-1107228323,1038585474);sum2=W(0,1062451832,1044663473,1041546460,1061533858)+W(1,1070735043,-1103665132,1019905335,1068272760)+W(2,1058522058,1053579543,1027882908,1070929067)+W(3,1052624489,1042937819,1030217484,1059576348)+W(4,-1084977950,-1116240264,-1104625991,-1081881922)+W(5,-1079025547,-1094934042,-1115490290,-1081565785)+W(6,-1079765468,-1096683616,1002519540,-1082597652)+W(7,-1090364693,1039524167,-1103272320,-1088759123)+W(8,-1107478927,-1146254682,-1112819836,1020257203)+W(9,-1129735749,-1108448519,1018218872,1038097782)+W(10,997759194,-1111378699,1032555484,1043320870)+W(11,1041293151,-1120119454,1018278443,-1110736144);WS(-1084224055,-1088316584); +sum1=W(0,1003388692,1028109079,-1107673717,-1113613001)+W(1,1016662735,1027116933,1012698375,-1106869627)+W(2,-1136760929,1023495179,-1094644889,1022316973)+W(3,984919127,1024116594,-1107590588,1028746387)+W(4,-1098426505,1048291572,1039555654,1006747746)+W(5,-1097246285,1054502102,1059475506,-1088923256)+W(6,1033746004,-1098003683,-1093203288,1057877820)+W(7,1022736621,-1114921814,-1105649846,1041863252)+W(8,1024741190,-1124153911,-1159624430,1033838821)+W(9,1019707757,1010228666,1033833840,-1120760050)+W(10,1036081339,-1110624834,-1114819581,1048977331)+W(11,-1127589064,-1122201606,-1119454813,1041797102);sum2=W(0,-1113948506,-1150409563,-1113301472,1015245257)+W(1,1007533655,988101766,-1113241340,-1130594159)+W(2,-1131246557,1042344950,-1114338752,-1122336092)+W(3,-1112003767,1034588627,1024929700,-1121042747)+W(4,1027745966,-1121614859,-1122805777,-1126889814)+W(5,-1115083078,-1117590123,1035094088,1053517180)+W(6,1009652067,1010321235,1041346715,-1120298083)+W(7,1015099871,1021357977,1022595647,1023796132)+W(8,1024732276,-1120982285,-1125306444,1024783162)+W(9,1033594898,-1115586407,-1117285071,1035927962)+W(10,-1112303516,-1122655190,-1179946326,-1136757529)+W(11,-1116844702,-1109817399,1031780006,-1107129305);WS(1056759150,1060224665); +sum1=W(0,995010733,1023919167,-1132085157,-1139374311)+W(1,-1108849608,1035204919,1047983919,-1111414410)+W(2,1016981889,1009635916,1044747100,1028987391)+W(3,-1129401942,-1133052010,1026679904,-1123115291)+W(4,-1105275165,-1143162806,1041263149,-1099925456)+W(5,1047380996,1054640011,1045591848,-1089721802)+W(6,-1106656308,1052567064,-1086265361,-1111752399)+W(7,-1103728616,1036660778,-1119813375,-1119632759)+W(8,1020125661,-1128574472,-1131329248,1033127353)+W(9,-1109178223,-1115433611,-1124813330,1047176279)+W(10,1025513390,-1114033239,1014274699,1047077327)+W(11,1026259564,-1154487021,-1135589654,1020940735);sum2=W(0,1023565277,-1123243930,-1114834111,1023227060)+W(1,-1127246210,-1119831250,-1110717616,1023373012)+W(2,-1115895934,-1112704991,995075850,1035525242)+W(3,-1115664904,-1177558227,-1137853837,1032252451)+W(4,1036838581,-1109001470,-1111609489,-1123255684)+W(5,-1128787384,1068968933,-1106028739,-1121973236)+W(6,1017209933,1049794788,-1084327071,-1106791563)+W(7,-1117762720,1033559138,-1103092626,1025363014)+W(8,1046335474,-1110362282,1009084849,1029177075)+W(9,-1085459757,1038001226,1030364025,1040383540)+W(10,-1106438120,-1109625554,1004844681,1055427968)+W(11,-1108939748,1027051057,1026824663,1039281515);WS(1059198391,-1114206899); +sum1=W(0,1033309054,-1113872057,1047908609,-1123230572)+W(1,1042361008,1032838544,-1131612168,-1136657179)+W(2,1026831155,1025662981,1018582917,-1127872354)+W(3,1027013917,1042918755,-1122684754,1034821095)+W(4,1005036838,-1127426130,-1111534963,-1086695351)+W(5,1063074340,1032841926,-1097279138,1053830093)+W(6,1048968528,-1086802103,-1102974814,1022976638)+W(7,1045668084,-1080167184,-1094977286,1037218004)+W(8,1035651728,1029018614,-1168813170,1041894153)+W(9,1042266564,-1115081892,1015674230,-1114797926)+W(10,1043048448,-1119589535,1022213546,1036160183)+W(11,1051954532,-1121567905,1023015663,1028546130);sum2=W(0,1044771761,-1095594447,-1116747636,-1109294951)+W(1,1037653814,-1098134808,-1091993541,-1106240469)+W(2,-1129034439,-1112675284,1045429231,-1132138943)+W(3,-1126749735,1027709116,1030264036,1027920896)+W(4,-1102224225,1044254591,-1093594252,1053044316)+W(5,1060397410,1059446961,-1103264547,1065361960)+W(6,-1139768526,-1147713757,1053539276,-1095097189)+W(7,-1095674438,-1131922215,-1115698004,-1100471477)+W(8,-1148207325,-1122217612,1036768486,-1105874671)+W(9,-1110887683,-1106764847,1038496462,-1098859579)+W(10,1018090127,-1112984312,1035231626,-1103270924)+W(11,1044415945,-1106415399,1037287074,-1105560593);WS(-1081905372,1072993545); +sum1=W(0,-1113931058,1044870886,-1111485397,1004609681)+W(1,-1110350900,1042868018,-1101161424,1017897178)+W(2,1029593625,1036666966,1016958866,-1119842647)+W(3,1026419555,-1123516147,1034341084,-1114320538)+W(4,-1103601459,1050421002,1052555682,-1100618406)+W(5,-1088871615,1057434595,1053397115,-1117978262)+W(6,-1090419947,1054502387,1037835279,-1096217303)+W(7,-1100180286,1041011339,1036260396,-1105396084)+W(8,-1125853837,-1119475260,-1113131956,-1113666277)+W(9,-1108715676,-1116054255,-1119057377,-1109207833)+W(10,-1131918060,1019600139,1033629886,1041223333)+W(11,-1108472674,1025124935,1034832815,1046093262);sum2=W(0,-1131003531,1019005665,-1134820995,1027207918)+W(1,-1144704129,1016837667,1018656479,-1155176792)+W(2,1018692534,1007330736,-1133755465,-1120277627)+W(3,1016313728,1024160458,1008190855,-1122116985)+W(4,992028222,1039006609,1022927690,-1123507780)+W(5,-1093100477,-1075529389,-1108026125,1020777698)+W(6,1026210395,-1098388857,-1071234400,-1106617270)+W(7,1009441727,-1127804151,1043410538,1015481059)+W(8,-1114458430,1019252639,-1124904791,-1148644129)+W(9,-1165905039,-1148497627,1019665619,985006155)+W(10,1080134310,1041946375,-1154476856,1009164120)+W(11,1038162442,-1102924087,-1120913968,1068769301);WS(1052536174,-1151096569); +sum1=W(0,1033302347,-1146822742,-1128173243,991116371)+W(1,-1115536654,1034768509,1036050892,-1116642336)+W(2,-1114833734,1030675614,-1102372039,1020657940)+W(3,-1158391502,1032401267,-1114628406,1031490598)+W(4,1034951935,-1120898050,1032573088,-1103836723)+W(5,-1106200391,-1120590821,1057405287,-1087917523)+W(6,1041046871,1002819162,-1082912644,1061554222)+W(7,1027714602,-1124036191,-1124848916,1046795201)+W(8,-1138114279,1035558856,1037991630,999976938)+W(9,-1118223722,986260550,1042054293,-1098834165)+W(10,-1107937520,1023135729,-1130396508,1047922098)+W(11,-1118805976,-1177279769,-1142052488,1038688870);sum2=W(0,-1127800761,1034423710,1038869307,1035223119)+W(1,1028905699,-1095895125,-1109261585,1038890181)+W(2,-1127955051,1032845262,-1098712671,994981383)+W(3,-1121293280,-1114148994,1030375171,998786660)+W(4,-1116666352,-1109342419,-1105867416,-1108836158)+W(5,1061176216,1057224086,1027333841,-1087753137)+W(6,-1208820627,1011854042,1049674522,-1099737664)+W(7,1042226462,-1120003540,1017325847,-1126035264)+W(8,1047028407,-1119414296,1028503999,-1106282608)+W(9,-1148022324,1010099974,-1113209005,-1148256348)+W(10,1043242553,-1115953239,1020393479,-1103462952)+W(11,-1117125009,1001260628,1024565993,-1121350765);WS(1058902967,-1081860445); +sum1=W(0,1029881036,-1110722656,-1116017491,-1121371387)+W(1,-1117974353,-1120254383,-1103068528,992316765)+W(2,-1115308289,-1123116948,-1111729689,1019164800)+W(3,-1118946572,1027465948,-1110978129,1031905998)+W(4,-1096281750,1046612526,-1144385454,-1114517185)+W(5,-1087192661,1061346066,1050079932,-1110556335)+W(6,-1119671953,1023689473,1054224317,-1138608617)+W(7,1026550240,990814541,1034730016,1026716344)+W(8,1032371736,-1118231237,-1133995267,1031405875)+W(9,-1113719056,-1117606232,1037331941,-1114542190)+W(10,-1121094047,-1114416951,1027634660,-1147587566)+W(11,1025765741,1002408318,-1150819433,1032702160);sum2=W(0,1008157504,-1110533731,1017520494,-1127268449)+W(1,-1129508015,1038116680,-1110799425,1022079949)+W(2,987488696,-1109564641,-1149062134,1023435994)+W(3,1025441916,-1140288129,1031926637,-1149203238)+W(4,1053115740,-1126879265,-1104246964,1046612660)+W(5,-1081939523,-1082767624,1071620340,1042237616)+W(6,1019421448,-1133233221,-1091995420,1046590815)+W(7,1002014090,1008464055,-1113723868,1025089506)+W(8,-1103206877,-1135658469,1019779427,-1098833757)+W(9,1046386206,1021781126,-1112586418,1047260740)+W(10,-1113663072,1025921212,1021597755,1034566387)+W(11,-1120607589,-1133866981,1022181144,-1131415815);WS(-1118927728,-1114990634); +sum1=W(0,1040612950,-1114716774,1033195056,-1123938375)+W(1,1022214714,-1104426015,1048819881,1024746402)+W(2,-1112630087,1042575344,-1105195831,1038811590)+W(3,1031232344,1038434900,-1098438774,-1118622728)+W(4,1047260544,-1132924433,-1087859524,1057535917)+W(5,1057677234,-1097320317,-1087499341,1042772673)+W(6,1057533694,-1089715893,-1091890215,1045869257)+W(7,1055588422,-1091230428,1029276300,1042859777)+W(8,1007112943,-1106834116,1047574307,-1107191040)+W(9,-1093740782,1028537764,1044210486,1043648426)+W(10,1020754614,1047539199,-1106862316,1042013107)+W(11,-1113991309,1041569343,-1107232885,-1107815558);sum2=W(0,1034943831,-1074997876,-1098776947,-1117938617)+W(1,-1112881764,-1073328658,-1067348911,1047294563)+W(2,1017166837,1007574096,-1106856879,-1113196518)+W(3,-1122537978,1003760381,1040326435,-1119652380)+W(4,1071950042,1008522816,-1111689798,1052841626)+W(5,1075942353,-1105497105,1042633900,1078478928)+W(6,-1110198115,1027760421,-1100859969,1048374094)+W(7,-1132261857,-1146348222,-1106280857,1016518417)+W(8,1023979086,1019125592,1034353164,-1101990052)+W(9,1040726051,1032192788,1021696573,-1106116215)+W(10,1041816709,-1114781060,-1129459590,-1128120408)+W(11,1015700123,1019612376,983174391,1015116440);WS(1034111416,-1106797037); +sum1=W(0,-1146675705,1035613338,-1113852291,-1127934684)+W(1,-1113401378,1037672145,1034804131,1006977829)+W(2,1016064490,-1106829090,1044038057,1019549798)+W(3,998716411,995721454,1033066250,-1139061950)+W(4,-1102929642,1042719307,1052464285,-1096035023)+W(5,-1089088820,1057164897,1054858571,-1090308252)+W(6,-1097224209,1048920159,1050796251,-1096624416)+W(7,-1095532026,1049209393,1042039981,-1104516203)+W(8,-1114220817,1025128440,-1113420426,1032415443)+W(9,-1123663635,-1136503085,-1114922591,1032020487)+W(10,-1131720964,-1109868785,1026704599,1035431737)+W(11,1041424208,-1138798477,1024811962,-1114943722);sum2=W(0,-1117669473,1035483586,1030944977,1018373307)+W(1,-1107254646,-1138388666,-1120221588,1036793172)+W(2,983011887,1026801669,-1119036598,1027210469)+W(3,999841656,1036234905,-1120993070,-1124389554)+W(4,-1113169149,-1114451942,-1139755202,-1120549779)+W(5,-1118729068,1050438576,1047991436,1031305133)+W(6,-1136088418,-1103576008,1058194810,-1123944089)+W(7,-1110162376,-1114267729,1037255439,1045466087)+W(8,-1102665013,1049560407,1049483493,-1101691927)+W(9,-1083351573,1060878230,1057078402,-1083948126)+W(10,-1106933299,1044728114,1058504911,-1081291530)+W(11,-1124771645,1036725012,1047223280,-1095248620);WS(1038841272,1052605132); +sum1=W(0,-1104568331,1046914264,-1100459309,1031922765)+W(1,-1109808312,-1117060814,-1120141702,1037544250)+W(2,1042593752,-1097718198,1046551204,-1115625903)+W(3,1033924054,-1112841053,1032086688,-1105481799)+W(4,1041702805,-1101939446,1026910357,1037270288)+W(5,1045728636,1037079325,1040827436,-1098675705)+W(6,999474559,1046662664,-1095425143,1017164043)+W(7,1034794943,1015870568,-1103113592,1031450455)+W(8,-1114279623,1044685961,-1104596348,1023447506)+W(9,-1115507167,-1117405559,-1104877098,1048352911)+W(10,1038294495,-1104511859,1032200833,1040518727)+W(11,1041969331,-1111795079,1039045107,-1106032688);sum2=W(0,1033659476,-1104347191,992683382,-1119788132)+W(1,1008462738,1034564598,1044081475,-1112158198)+W(2,-1135723434,-1118342628,1037093866,-1128623485)+W(3,-1125624097,-1116661382,1008221186,1030330775)+W(4,1020892153,1043646320,1022669528,1018867293)+W(5,-1098943438,-1103925357,1053457206,-1090780387)+W(6,1037085984,-1130567667,-1094689316,1024702018)+W(7,1041747819,1006874186,-1111881166,-1108937272)+W(8,1022003003,-1105788334,-1102594356,1044098145)+W(9,1061138285,-1089462725,-1097169858,1053806225)+W(10,1042502677,-1124000960,-1090351234,1061570617)+W(11,1015917808,-1119261652,-1102638867,1045330453);WS(1059476151,-1123203418); +sum1=W(0,1032359159,1034919857,1035594491,-1111725774)+W(1,-1105544893,1046155316,-1111760306,-1110577724)+W(2,-1115245634,1020829292,1044165509,-1121304930)+W(3,-1110517831,-1120384574,1039852002,1036887935)+W(4,-1140486487,1048140086,1057461865,-1091810916)+W(5,-1086139015,1052038472,1060577506,-1084838663)+W(6,-1096673622,1053266340,1057513991,-1095808892)+W(7,-1090491960,1055106407,1045123672,-1127813812)+W(8,1034245225,1028750247,-1123857235,1016189354)+W(9,1027870402,-1121460986,-1113205590,-1104347695)+W(10,-1108853472,-1113141864,-1148349487,-1103056264)+W(11,-1133152957,1011178567,1036934292,1031021091);sum2=W(0,-1107973502,-1115461868,1026556603,-1114868977)+W(1,-1101288212,-1105554340,-1104823400,1044770988)+W(2,1028043472,-1116199065,1036199790,1025917421)+W(3,-1123193100,-1128075734,1020651575,-1111158861)+W(4,-1092079110,1042028492,1034344926,1004734644)+W(5,1045430990,1050688149,1024895663,1059587552)+W(6,-1137785064,-1116948841,1047334362,1037874646)+W(7,-1127404110,1042458099,1044938016,-1093651456)+W(8,-1103991549,-1105590488,-1131620842,1040708934)+W(9,-1095880897,-1114582112,1029419915,1051421807)+W(10,-1122024357,-1121536685,1015496806,-1118101029)+W(11,1007412048,-1127827256,-1121478353,-1099771430);WS(-1096078190,-1082738059); +sum1=W(0,-1114850361,1046670329,-1108860284,1007239809)+W(1,-1112210107,1045976117,-1103368477,-1130257143)+W(2,1028242343,1036298605,1029494103,-1118665957)+W(3,1022403683,-1128309634,1029804679,-1116764258)+W(4,-1101169270,1050939564,1053165251,-1100207850)+W(5,-1088435015,1056131912,1051252601,-1116530972)+W(6,-1090334611,1053021861,1045571555,-1092482434)+W(7,-1099682433,1038809821,1035862579,-1105280439)+W(8,-1126100266,-1124400725,-1115685558,-1112013420)+W(9,-1124484747,-1117830909,-1112871192,-1112810720)+W(10,1032260218,-1143992478,1031308937,1041969097)+W(11,-1114977769,1016808747,1037078646,1044490698);sum2=W(0,-1147891684,1032424255,1027229337,-1133820219)+W(1,-1127200453,1045946307,-1137665638,-1127336652)+W(2,1001166860,-1145031593,-1116510358,1020736496)+W(3,-1135690985,-1126621635,-1116471963,1022486646)+W(4,-1107406978,-1125237780,1007940354,-1115513384)+W(5,-1096925824,1067148595,1044701152,1037916056)+W(6,-1138759126,1039470145,1076670751,1031285965)+W(7,-1122394148,1025436583,-1109537872,1020254812)+W(8,1031863482,994071912,1020775992,-1156542700)+W(9,1048747828,-1115116116,-1127018949,-1113898133)+W(10,-1070343554,-1106720041,-1122694416,-1101339101)+W(11,-1107321525,1039293842,1034791139,-1082365934);WS(1056919406,-1123699093); +sum1=W(0,1016658279,-1142160193,985933670,-1153021483)+W(1,-1131540465,-1109380555,1032391598,-1169964908)+W(2,1018808083,-1115139838,-1112807501,-1116724456)+W(3,1026972628,-1119658051,1023499017,986184318)+W(4,-1106728023,1043832952,1058308826,-1089586019)+W(5,-1095937215,1051425640,1054485203,-1095447822)+W(6,-1105250414,1053123845,1057168451,-1092279079)+W(7,-1093497009,1056025192,1034402292,-1104943256)+W(8,-1111941676,-1162334614,-1130942473,-1122912091)+W(9,1038539876,1035573952,-1115887538,-1114359010)+W(10,-1105627696,1037216107,-1120065804,-1129000267)+W(11,-1129701482,1031803900,-1114397383,1011544866);sum2=W(0,-1126716121,1032410612,-1104410341,1034281368)+W(1,1045372780,-1068615761,-1087414339,-1121241308)+W(2,1047600787,-1091405946,-1067644471,1035929285)+W(3,1041718259,-1097556864,-1118166494,1004087438)+W(4,1017706532,-1115589617,-1138447737,1018060402)+W(5,1078313037,-1100339818,1021983592,1061712823)+W(6,1048822788,1030149270,-1123293195,1079888634)+W(7,1035128990,1021734756,-1120625820,1023636550)+W(8,1029627322,-1133676977,-1140256393,994323516)+W(9,1015111478,-1130902073,1012505315,-1133709215)+W(10,-1124744731,-1123320040,1028720332,1023885100)+W(11,1009567515,-1136405679,1022959192,1010097407);WS(1057577783,-1116545908); +sum1=W(0,-1119858755,1007841757,1023488522,-1140559047)+W(1,1019558160,-1135636631,-1099448121,1001413734)+W(2,-1123065945,-1112832085,-1106014610,1027838711)+W(3,-1116764451,1007686986,-1132115376,-1133184076)+W(4,1034355893,-1102068668,-1127758170,1031631673)+W(5,-1095265297,1043309332,-1139646818,1034820815)+W(6,976310772,1018622064,1058446926,-1133110549)+W(7,1033492939,1033353766,1033516923,1031909175)+W(8,1038802963,1023940956,-1129099776,1037581685)+W(9,-1118918103,-1133216315,1023108226,1020321573)+W(10,-1110623851,-1123708581,1027058075,-1104027725)+W(11,-1114622946,-1118432359,1025545342,-1124259695);sum2=W(0,1036960926,-1121090060,-1124752720,-1139693312)+W(1,990661185,-1112556974,-1099787410,-1143311649)+W(2,1000525745,-1104610584,-1123282486,1015972640)+W(3,1028832752,-1104217347,1028371280,-1129692664)+W(4,-1103693150,1034222778,999696497,-1098950560)+W(5,1052753541,1058657457,-1104157082,1033289622)+W(6,1031872996,1044261031,1042484509,-1106573325)+W(7,-1115847157,1041506121,1026599244,-1115662969)+W(8,-1119707404,1014405392,1026280044,-1111434581)+W(9,-1108624084,1023217352,-1121205834,1018041096)+W(10,-1121815492,1017712752,1005957425,-1111132399)+W(11,-1129135268,1010211304,-1139874592,1018446608);WS(1063874743,-1123600943); +sum1=W(0,1005084141,1029034162,-1110972995,1026726381)+W(1,1022502021,1019350337,1029564141,-1121313992)+W(2,1012880846,-1112342611,1021423943,1010678471)+W(3,1031948511,-1096649610,1036724585,1016038684)+W(4,-1096434085,1052968261,1060534134,-1088392527)+W(5,-1089197156,1048937234,1061531727,-1088422197)+W(6,-1099324833,1049533342,1053585019,-1089730182)+W(7,-1102131796,1047748258,1044791660,-1105649226)+W(8,-1125442370,1023149165,1017113381,-1131352649)+W(9,1007055431,1028622922,-1121647548,-1111100967)+W(10,1037169096,-1122598880,-1132301739,-1124123103)+W(11,1048887628,-1134858375,1017220849,-1119334386);sum2=W(0,-1114001722,-1113317539,-1098661524,1041516351)+W(1,-1127882717,-1113172562,1041960143,1031962338)+W(2,-1116893380,-1108932190,1057245216,1024371132)+W(3,1035584360,-1090505328,1040530840,-1137233618)+W(4,1066164852,1062194047,1067471192,1065773241)+W(5,-1071023147,-1071391818,-1131590099,-1094243603)+W(6,1043021464,1036914992,-1082288010,-1087722937)+W(7,1062948018,1065534266,1056604249,1059923771)+W(8,1029392016,1015621429,1025030832,-1095722385)+W(9,1027735196,-1106774969,1033273068,1045112423)+W(10,-1110460182,-1147670187,1021784721,1047570295)+W(11,-1096088381,1025226110,-1157997580,1008215114);WS(-1081605212,1037230241); +sum1=W(0,-1127382348,-1127078325,-1115600951,-1129286954)+W(1,-1119205995,1032978341,1045220821,-1114123448)+W(2,-1114061454,1039357911,1031622828,-1116053850)+W(3,-1165173963,1026874614,1020277751,1024011222)+W(4,1037397159,-1101819637,1042245092,-1139829872)+W(5,1057561887,-1089716883,1057239854,-1103957592)+W(6,-1103125195,-1162281827,-1088291628,1057799156)+W(7,-1159950147,-1144308089,-1111135597,1035843369)+W(8,1025459530,-1140137724,-1191245347,-1130516890)+W(9,1040837167,-1153142562,-1135821456,-1098019463)+W(10,-1123433113,-1115244132,-1123070334,1039979404)+W(11,-1115664788,-1121723210,975751222,1008116332);sum2=W(0,-1132201467,-1115667911,1027890930,-1129847377)+W(1,1032250249,-1115518668,-1109124506,-1111059277)+W(2,-1175110606,1033851379,-1131706033,1003251981)+W(3,1007928974,-1130851063,1008685286,-1119100754)+W(4,-1139027758,-1086235324,-1131041629,1045384717)+W(5,-1088514518,-1104078593,1071241567,1062718876)+W(6,-1096199608,1021865867,-1091065468,1043614591)+W(7,-1126833063,-1120766781,-1113376611,1038009999)+W(8,1015945835,1022067627,-1129495121,-1118537275)+W(9,1050303031,-1109320206,-1139816838,-1090110249)+W(10,1030828678,-1140186118,1035917053,-1130925231)+W(11,-1121346672,-1130315761,1027374356,-1128909271);WS(1048635758,-1111558989); +sum1=W(0,1007517554,-1144951432,-1114167026,-1116715915)+W(1,-1130676803,-1116349759,1032434734,-1125319757)+W(2,-1122176818,1037795522,1007313161,1032051720)+W(3,-1125995833,1022555096,1011561671,1019813529)+W(4,-1100411873,1042364482,1046236914,1019884197)+W(5,-1099356457,1060062511,1057088310,-1082609609)+W(6,-1098216348,1032549225,-1105629450,-1114189151)+W(7,-1115419480,1017135051,-1156935944,-1118483848)+W(8,1030303424,-1115625243,-1123924777,1023679491)+W(9,1027068912,-1117219752,1018952757,1025882348)+W(10,1037080648,-1117338239,-1128015465,1046455412)+W(11,1020138940,1015509889,1001454266,1024380849);sum2=W(0,-1128076598,1032749056,1032764106,1017200252)+W(1,1027061114,-1091917968,1042154489,1020177744)+W(2,1007295183,-1109350747,-1115647155,-1120062015)+W(3,-1120999608,-1152745757,-1136438311,1005463470)+W(4,1036328960,-1105592489,-1120952053,-1100965710)+W(5,1069362278,1053281179,-1093732085,-1079875623)+W(6,-1121245377,1023497366,1053015354,1041923814)+W(7,-1115720719,1040619345,1044015507,1023734232)+W(8,1037836738,-1121478225,1026555164,1023440400)+W(9,-1110949820,1004458190,1032334674,-1110726007)+W(10,1029656316,-1115087241,1030547292,-1097734576)+W(11,1039138178,-1107079388,1024950244,-1107014120);WS(1057226679,-1099093504); +sum1=W(0,-1111361838,-1097721634,-1106860569,-1117743115)+W(1,-1115584496,-1098477656,1017711998,-1142218540)+W(2,-1112915081,-1127808199,1017808579,-1144474236)+W(3,-1124754680,988685674,-1110778360,-1118048876)+W(4,1043835217,-1113320356,-1116606854,1059123761)+W(5,1036645937,1036044245,-1098795498,1054886149)+W(6,-1102898152,1054951826,1058878095,-1096319852)+W(7,-1103594844,1057715322,1042821748,-1108186916)+W(8,1021938430,-1108681130,-1126837697,-1117312579)+W(9,-1113074392,-1126342351,-1128001843,1024346219)+W(10,-1104150268,1022603516,-1145404316,-1113306631)+W(11,-1104945799,-1166667748,-1113519979,-1109837016);sum2=W(0,-1121365003,-1113297695,-1115134458,1017552406)+W(1,-1126393870,1034056828,-1121331284,1024315197)+W(2,1026122801,-1122098200,-1116036592,1006096662)+W(3,1010820131,-1114451237,-1138309587,-1115019758)+W(4,1033578978,-1119377084,1040415751,-1123239700)+W(5,-1122610502,1042552247,1033268884,1032104202)+W(6,-1128246386,1038912262,1014688747,1042239151)+W(7,1021632898,1013103251,1011328923,-1130645774)+W(8,-1140510683,-1154029132,-1116030864,1024802817)+W(9,1027588477,-1123710517,-1127078294,1031096569)+W(10,-1106292650,1002524342,-1142638070,-1116363642)+W(11,-1106135611,1026182445,-1123496021,-1119712705);WS(-1108758968,-1120615143); +sum1=W(0,-1118729201,-1115009907,1043847294,1007512449)+W(1,-1188181540,-1103491829,1038269372,1033236958)+W(2,-1139132956,1028990457,1026842103,1032455763)+W(3,1028445809,1045480960,-1112992067,-1126666947)+W(4,1047642150,-1097300100,-1089504654,1041722714)+W(5,1056274631,-1092329088,-1092318719,1052029054)+W(6,1044856958,-1094694701,-1088834696,1057598894)+W(7,1008203541,-1095636207,-1102944265,1049081300)+W(8,1024857813,-1157490338,1021562716,1035899020)+W(9,-1115586563,-1127937658,1033997944,1041772976)+W(10,1028932916,-1139535439,1034853541,1037648114)+W(11,987483733,1033314299,999073631,1031373190);sum2=W(0,1027503424,1016942723,-1119857460,1022601823)+W(1,1031020236,1049278985,-1113768249,-1114440342)+W(2,1028798660,1008539869,1023747258,-1115479573)+W(3,973255146,-1124354630,1030670036,-1137878778)+W(4,-1112391205,-1076271776,-1068582801,-1099325942)+W(5,-1097330938,1077639092,1067690352,1050839307)+W(6,-1108724816,-1120523343,1061065209,1019565806)+W(7,-1115374863,1029925423,1002861982,-1143955309)+W(8,-1104095012,1016973548,1015907333,1035739756)+W(9,1047876791,1015148595,-1122697579,1026494027)+W(10,-1115660355,1032414836,-1106941761,1016405011)+W(11,1033007729,-1124658022,-1126087053,1022661839);WS(-1125070560,-1096513533); +sum1=W(0,-1141896047,1035442769,1032850683,-1112401838)+W(1,-1125005414,1036941992,1027743049,-1114813980)+W(2,-1115056418,1037833707,-1104378805,1026386210)+W(3,-1125623196,1033887999,1022681350,1012901881)+W(4,-1105684773,1047296038,1046757622,-1111199410)+W(5,-1099350541,-1107426238,1061969278,-1093508577)+W(6,-1112618105,1028130403,-1092774776,1060063436)+W(7,988362813,1016528878,-1127381572,1035294797)+W(8,1013771590,-1113414691,-1110786345,1033951818)+W(9,1023589122,-1114443933,-1131095256,-1100008383)+W(10,-1110298148,-1117830096,996299870,-1122038496)+W(11,-1106008748,1014753608,-1140100259,1030080099);sum2=W(0,-1110645236,1043920397,1024340419,-1128089453)+W(1,1026446699,1009781987,-1129344777,-1130916401)+W(2,1032679495,1037523581,-1102796808,-1115610756)+W(3,-1123355757,1026431795,1023912055,-1114433002)+W(4,-1114712453,-1097377481,-1103821003,-1102023306)+W(5,1057874897,1059140954,972074333,1028225499)+W(6,-1102216434,-1107293486,1038144249,1052660862)+W(7,-1128264837,-1102041035,1006589878,-1127455825)+W(8,-1109265540,1026656603,-1119644228,1043342989)+W(9,-1103696793,1032660433,1034952995,-1100613575)+W(10,-1131885037,1029362471,-1130501689,-1116201867)+W(11,-1127587329,1005668278,1013212643,-1105206442);WS(1049867118,1034735186); +sum1=W(0,-1117373036,-1123455456,1029333619,-1127774262)+W(1,-1112922680,-1096141178,-1105261096,1031064438)+W(2,-1132535687,1024540628,-1120189874,1012648832)+W(3,-1140537009,1000234461,-1138107141,-1120670652)+W(4,1040322517,1032014380,1024964758,1019113028)+W(5,-1101685436,1050135703,1048588372,1040279186)+W(6,-1121818673,1040490120,1034886579,1044944438)+W(7,1032620736,1034120602,1016312768,1035373868)+W(8,1019723167,-1118901061,-1121402761,1007980364)+W(9,-1100797936,-1110911420,-1126411220,-1114399774)+W(10,-1150021355,-1114680743,1019321608,-1113398479)+W(11,1008873398,-1121766352,-1121234663,-1128775361);sum2=W(0,1020587590,-1127668568,-1111556088,-1161289046)+W(1,1031608572,-1092239431,-1095922552,1029682388)+W(2,-1129471662,-1120133906,-1165373610,-1117304231)+W(3,-1134569151,1019046119,1007233453,965398246)+W(4,-1130067243,1018324827,1024158411,1038429491)+W(5,1058359401,-1093717514,-1123472030,1050898724)+W(6,1044552317,-1112781150,-1118204561,1040200303)+W(7,1031851372,-1120826542,1017795291,-1132308256)+W(8,1035096674,-1127328688,1016121349,-1123794133)+W(9,1042534485,-1126252937,-1126947701,-1142905112)+W(10,-1136196985,-1137031592,-1122434117,-1137719883)+W(11,-1128305748,-1162116006,-1121369248,1027736448);WS(1063598519,1040709546); +sum1=W(0,1025004011,1018517694,-1129964132,989424433)+W(1,1010227902,1042042835,1036280904,-1117397173)+W(2,1035862832,-1108371497,1025484624,-1116859551)+W(3,1028295307,-1105766207,1028794752,1012428267)+W(4,-1096845618,1052096915,1056340507,-1092181324)+W(5,-1082263275,-1117189370,1055848084,-1092686069)+W(6,-1124000752,1053676604,1053023013,-1087946945)+W(7,-1108973663,1048031389,1044581128,977020321)+W(8,-1124688156,1025298052,1007420926,-1140166214)+W(9,1041673920,1030527159,-1114706068,1027380346)+W(10,1021321051,-1130325786,1004378644,1025279965)+W(11,1035434166,1015026205,1025029349,-1125256895);sum2=W(0,-1132752301,992269838,1040099849,-1128989779)+W(1,-1112228563,1034859451,1034828720,-1121498089)+W(2,-1111737432,-1122349299,1034954038,1023519830)+W(3,-1134051546,-1112348174,1019899084,1023675120)+W(4,1034251701,-1130867684,1021993174,-1100874000)+W(5,1044543345,1053848304,-1113539068,-1104384455)+W(6,1028583216,-1100179639,-1104908283,1046406891)+W(7,1040182737,-1097476412,-1111378604,-1114022376)+W(8,1034483450,-1123860313,1011642260,-1130783901)+W(9,1016645052,-1122625223,1016725938,-1122004711)+W(10,1016210650,-1114528083,1011006880,1032774629)+W(11,1025418184,-1141294629,1021084026,1033297067);WS(1052377710,-1116561061); +sum1=W(0,-1112995181,1046449684,1026711393,-1122160137)+W(1,1017022397,1051777944,-1094207935,1021266631)+W(2,-1105019076,1045042328,-1105978112,1032809511)+W(3,-1119221338,-1140595366,-1140860791,1019774100)+W(4,-1103073456,-1112523427,1023922180,1034438088)+W(5,-1091454284,-1107259466,1031595583,1059878180)+W(6,-1137740923,-1094439010,1059633699,-1108523806)+W(7,1015748571,1019553093,1048809290,-1113848547)+W(8,1036366239,-1110629817,1014756539,-1115207840)+W(9,1043506315,-1122333286,1025340632,-1096200621)+W(10,1043730779,-1114494718,-1126028515,-1105628259)+W(11,-1117446555,-1121208702,1024493780,-1114298535);sum2=W(0,-1110204990,-1122326332,1023545558,-1125003387)+W(1,-1110854180,997586352,1039271760,1008672566)+W(2,1007507570,-1126010948,1043658401,1015432805)+W(3,-1145172348,1018354299,-1128126180,-1129875419)+W(4,1049948311,-1106041547,1019826271,1001356924)+W(5,-1099440370,1057375034,1040609653,-1104177316)+W(6,-1112581048,1041033112,-1098469549,-1101604747)+W(7,-1118892801,1026776081,-1108980340,1034699764)+W(8,-1122275300,1028296019,-1114113554,1029018751)+W(9,-1099421810,-1122149120,-1143932072,1017003703)+W(10,1018898909,-1129527698,-1118594118,1052007058)+W(11,-1123423040,-1147650596,1031512617,-1118843549);WS(1066846108,1044745002); +sum1=W(0,978233216,-1107121557,1049403789,1019372186)+W(1,1025331363,-1134682116,1041504923,-1129136976)+W(2,1015116199,-1122699462,1039399714,-1142297744)+W(3,1016287548,1026221102,-1121336819,1015645340)+W(4,1051348497,-1100692098,-1091781177,1042475733)+W(5,1054698948,-1089263023,-1091573825,1048713517)+W(6,1058118606,-1090043533,-1091452887,1049146911)+W(7,1056609718,-1091564925,-1102394372,1046729314)+W(8,1039801345,1009376476,1015897062,-1124410122)+W(9,1040511932,1006187856,-1126291000,1032893815)+W(10,1032222216,1012743170,1016897132,-1146055296)+W(11,-1107840672,1000566800,1010428515,-1115550793);sum2=W(0,1025173682,-1110698495,1040076187,-1121498998)+W(1,-1123064681,-1114452496,1046879062,-1127952317)+W(2,1031547392,-1113826794,1037259271,1031325102)+W(3,1013263415,-1114840697,-1113826560,-1116804726)+W(4,1027215822,1032193313,-1097642453,1040991236)+W(5,-1079622690,-1070315938,-1089335507,-1097422534)+W(6,1059352243,1063284099,-1080614075,-1113150532)+W(7,1048220488,1071802337,1075195474,1032134129)+W(8,-1107046015,-1127878497,-1143069461,1041191639)+W(9,-1107556506,1031644922,1033858873,1027648922)+W(10,1044912350,-1135729999,-1125227083,1040688678)+W(11,1050907604,-1104322253,-1112123781,-1107091577);WS(-1083170743,1032719415); +sum1=W(0,1027723212,1037576352,-1115388842,1023701883)+W(1,989186599,1034436696,1028066352,-1122560214)+W(2,-1118377474,1036384970,1046871436,1018265472)+W(3,-1143849572,1033711598,1041769608,1034616094)+W(4,-1104329709,1047136718,-1131637740,-1095142736)+W(5,-1091782714,1058921626,1050356544,-1093573195)+W(6,-1088395265,1046747968,1057401704,-1090370147)+W(7,-1085234190,1051022467,1048250192,-1092608855)+W(8,-1114738168,-1143133226,1012236805,1043889005)+W(9,1035779088,1024911192,-1126174356,1032119470)+W(10,1026791695,-1122725807,1033076018,-1119260798)+W(11,1035213927,1028803056,1033024419,1007978244);sum2=W(0,-1148866748,1043419584,-1091007599,1040592912)+W(1,-1113675298,-1100951705,-1111893630,1032765896)+W(2,-1111525482,-1123081200,1030657616,1035431068)+W(3,-1111672592,1048594219,1009914590,1031171080)+W(4,-1102576481,-1110256028,1061904811,-1122569720)+W(5,1060370086,1060838438,1042199718,-1114969246)+W(6,-1112438148,-1086083341,1061366749,1018512847)+W(7,-1120657004,-1090315205,1029235040,1033713452)+W(8,-1106770914,1043044202,-1107753434,-1096410255)+W(9,-1088153932,-1121677972,-1138614142,-1108992598)+W(10,1039676388,-1117594428,1049599377,-1091610254)+W(11,1040642594,1041324320,-1154941432,-1104419583);WS(-1087374135,1068569819); +sum1=W(0,-1114460210,-1134485343,1036038485,1034522569)+W(1,-1156322949,-1102898978,998999958,1040675195)+W(2,1038944141,1032843110,1032174021,-1126356143)+W(3,-1147588893,1041667373,-1112707068,-1123272884)+W(4,1048850073,-1097395434,-1092286050,1051494643)+W(5,1058980799,-1086427635,-1093950865,1055860825)+W(6,1048730421,-1098221875,-1097745188,1050366134)+W(7,1049367775,-1093210118,-1095510475,1043911796)+W(8,-1155697773,1035227470,-1124293233,1024631242)+W(9,1036357020,-1115248568,1022306499,1034953465)+W(10,1020968428,1020281868,1025097211,-1115522123)+W(11,-1134843155,1003691067,-1112095119,1032316940);sum2=W(0,-1109420523,1040154700,-1101176821,1036982689)+W(1,-1114883799,1011961296,-1103427381,1038171016)+W(2,1023400751,-1112162319,-1115041464,1032698755)+W(3,1034471555,-1117007917,-1114657793,-1119043865)+W(4,1008871494,1051308638,1031712503,1032029724)+W(5,-1094943648,-1090481186,-1103617514,1053639476)+W(6,1015257266,-1110670159,1048516585,1046242469)+W(7,1031877719,1044794303,1026474691,1018562568)+W(8,-1089037290,1036178124,-1135236510,-1095262307)+W(9,-1077304111,1063074442,1056219784,-1077227331)+W(10,-1086532256,1074120487,1070767205,-1075605762)+W(11,-1110424851,1052188053,1066414901,-1115849955);WS(-1094340206,1025238393); +sum1=W(0,-1120317764,-1123694073,1041212259,1025401267)+W(1,1017691154,-1128349902,1040075594,1029217422)+W(2,1006374863,1030337996,1030937834,1015273200)+W(3,1023921508,1048792866,-1112880429,-1149759301)+W(4,1044638395,-1099303356,-1087771683,1051626551)+W(5,1049159169,-1090474853,-1089805402,1051991350)+W(6,1045537234,-1095611655,-1089928234,1055056667)+W(7,-1109761292,-1097665994,-1103717662,1047952828)+W(8,1027277160,1003045609,1024873417,1026720107)+W(9,1032035372,-1140916353,1025974530,1042793877)+W(10,1028636183,-1125445197,1026491292,1038797403)+W(11,1024357062,1024842472,1018728702,1034683820);sum2=W(0,-1125328223,1007328518,-1117564089,1016272983)+W(1,-1136495190,-1106032359,1038058236,1019432157)+W(2,-1122054341,-1129861056,1036423350,1024638490)+W(3,-1137665190,1032273458,-1141592892,1016158573)+W(4,1047318060,1074423709,1082928383,1054344808)+W(5,-1084625245,-1066615612,-1074337637,-1095657702)+W(6,1036648948,1034359725,-1087090886,-1124414562)+W(7,1033205457,-1114245215,999766988,-1120282232)+W(8,1037006400,-1137080694,-1113989008,1043627742)+W(9,-1106132294,-1126758430,1017883877,1040243063)+W(10,1004167460,-1113361096,1040797418,-1119023275)+W(11,-1113153751,1022755221,1023713345,1002865564);WS(-1098231918,1035887052); +sum1=W(0,-1112046456,-1119004197,-1117693688,1007686525)+W(1,1025581173,-1092353842,-1104788790,-1136641001)+W(2,-1165513922,-1146015939,-1104580134,-1121240420)+W(3,-1123656209,-1117522176,-1162096818,-1114143760)+W(4,1036810732,-1097653932,-1105099271,1048268202)+W(5,1069647932,1066085926,-1098720398,1055375147)+W(6,1020096363,-1123833253,-1093227035,1052170270)+W(7,1031911554,-1130540403,-1107379122,-1125578169)+W(8,-1130249512,-1115219957,1016554315,-1110112236)+W(9,-1091717545,-1143806946,-1142876018,-1106155488)+W(10,-1108464746,-1123809427,-1113561092,-1110987409)+W(11,-1106840908,-1120698772,-1113074326,-1156567122);sum2=W(0,-1139529830,1033326245,-1121500935,-1125891647)+W(1,-1119620679,1033808587,-1110257678,-1127048511)+W(2,-1133002574,1023704513,-1152963927,1015042367)+W(3,-1136336990,-1159911790,-1125968895,1001053676)+W(4,-1133323886,-1167588957,1017645919,1021750179)+W(5,1061147710,1055027509,-1108825416,1040835222)+W(6,1035246842,-1090179180,-1105425292,-1110018076)+W(7,-1144777900,-1104047270,1035235033,-1123027527)+W(8,1018366499,1021086319,-1118741587,-1130193055)+W(9,1035778772,-1123951235,-1113356630,-1144215516)+W(10,1019226535,995355927,-1124596863,-1105010302)+W(11,-1137733870,-1141401292,-1135606974,-1113493000);WS(-1081201436,-1083122818); +sum1=W(0,1040103323,-1121204906,-1118776317,1024396773)+W(1,1042893967,-1101546374,1048678635,-1104054160)+W(2,-1122190892,-1112386175,1036673102,-1121710378)+W(3,1020559724,-1111471555,1022162966,1038539251)+W(4,-1098486564,1048677796,1056470156,-1090317103)+W(5,-1101075087,1052113969,1048629197,-1094484293)+W(6,-1099326495,1057451847,1033707976,-1095873942)+W(7,-1095630377,1053998976,1027207978,-1101153544)+W(8,-1105729174,1010393788,-1124728406,-1120183581)+W(9,1048228642,1048587688,-1105359341,1032093347)+W(10,-1102747354,1034642220,-1107414311,1044099610)+W(11,-1125760751,1033222029,-1109685144,-1114063013);sum2=W(0,-1128601535,-1139320303,1029357099,-1130151079)+W(1,-1116462462,1036545095,1016703563,1016586775)+W(2,-1136401487,-1115282656,1027702761,1006316053)+W(3,1015531121,-1128863347,1025282364,-1134837023)+W(4,1027307392,-1124015138,-1126143047,-1141051917)+W(5,-1084177500,-1061542668,-1090482710,1040480663)+W(6,1033882273,1042416533,-1081711054,1027514935)+W(7,1013565163,1030037156,-1107083018,975470826)+W(8,1026568428,-1128887123,1016378649,-1138853383)+W(9,1087807110,-1109325640,1024508650,1051692940)+W(10,-1101742731,1030137534,-1115450794,1065457143)+W(11,-1123914522,-1122133136,1016609727,1035528582);WS(1056806766,1019813151); +sum1=W(0,1027672232,-1098777292,1038862168,-1109922347)+W(1,-1106442907,-1131946518,1057340869,-1113027385)+W(2,-1127683323,-1100586740,1048903346,-1119504732)+W(3,-1122196904,-1136830686,1027127869,1015134384)+W(4,1025923920,1046907893,1045176100,-1094336356)+W(5,1049099726,1060367739,1028090813,-1089223672)+W(6,-1122538541,1052174932,-1102839017,-1102142547)+W(7,-1100472159,1047790604,1024110556,-1099585557)+W(8,-1097985673,-1143840774,-1117706029,1023835087)+W(9,1010151151,1025756788,-1111671123,1044113854)+W(10,-1093148714,1040843731,-1111600768,1051267347)+W(11,-1137237669,-1131252120,-1107564881,1029024221);sum2=W(0,-1116580030,1033363716,-1119367753,1016054025)+W(1,1024017790,-1129548157,-1107794961,-1128856269)+W(2,1003808451,1039517400,1034251322,-1120027976)+W(3,1020365697,-1174223189,1019337653,-1120561807)+W(4,-1119979151,-1114756690,1024987046,-1115811972)+W(5,1051115205,1048732221,-1100926142,1046175546)+W(6,-1127431641,-1104827086,1044324276,-1095340379)+W(7,-1148320619,-1138276477,-1139095561,976018325)+W(8,1025664850,-1120202841,1007599121,1016843613)+W(9,1029232538,-1123931557,-1144919563,1028330842)+W(10,1042504965,-1118580981,-1122027017,-1105635461)+W(11,-1117203320,1009819353,1016896817,-1118828309);WS(1067549148,1061168738); +sum1=W(0,1019396970,-1102760394,1041916271,-1136860560)+W(1,1031876061,-1127917744,-1100215160,1034693791)+W(2,1026075051,1042570959,1038708237,-1126960466)+W(3,-1125694250,-1114527138,1024557450,-1129065354)+W(4,1046914407,-1097589844,-1099729080,1043173595)+W(5,1041579695,1044764001,-1085101004,1063664325)+W(6,-1099553438,1046958554,1062969721,-1084953669)+W(7,1036161892,-1129394940,1031927572,-1111656016)+W(8,1036811500,-1118556558,-1117900922,1028345500)+W(9,-1111608196,-1148658183,-1118557363,1044130369)+W(10,-1104831702,1014732126,1028601293,-1096862061)+W(11,1028864534,-1111432076,999719805,-1121741642);sum2=W(0,-1109648154,-1096035348,-1097183834,1037988572)+W(1,-1110735622,1044362532,-1106718097,-1115314649)+W(2,-1115532881,-1118097482,1044653749,1029414023)+W(3,-1123631499,1035597348,1036871139,-1114457629)+W(4,1046143856,1047451704,-1112255513,-1096111302)+W(5,-1100541529,-1089624797,1048785443,1065688064)+W(6,1041170408,-1135819985,1040629892,1022961930)+W(7,-1109551474,1030316886,-1109975688,-1121640520)+W(8,-1109281762,1021094187,-1131066844,1025606252)+W(9,-1124926742,1035314838,-1118872350,1025033440)+W(10,-1109992198,1004115214,-1132267648,1024229044)+W(11,1031542857,-1117895342,-1128646118,1007526703);WS(-1090126519,1034760182); +sum1=W(0,987019599,1040082783,1038732905,1022234099)+W(1,-1125185183,1019049563,1042926010,1021371561)+W(2,1005824514,-1108355337,-1101231100,1040030303)+W(3,-1120592523,1035983309,-1115211984,1028122555)+W(4,-1096833350,1049531159,1049091087,-1095221408)+W(5,1049172122,1048882035,1052645704,-1090005917)+W(6,1052986466,-1089320760,-1086324445,1056956325)+W(7,1025899358,-1123937043,-1101798768,1046568014)+W(8,-1100657291,1036771650,-1130848127,-1141106060)+W(9,-1113910991,1025403478,1035488804,-1098472859)+W(10,1033537135,-1138596020,1007113098,1041783487)+W(11,-1125397784,-1127374557,-1128732298,1037621024);sum2=W(0,1011977196,-1102682487,1032939170,1016736022)+W(1,1019963070,-1102949496,1037611888,-1137999416)+W(2,-1122046802,-1110345340,1039010410,1030437859)+W(3,1018753414,-1113761662,-1124097437,-1142727409)+W(4,1060510561,1060805847,-1102551566,-1122689775)+W(5,-1073351999,-1073393989,1057985083,1051792579)+W(6,1062467108,1062012989,1057367527,1059164734)+W(7,-1101619274,-1099879364,-1147452225,1031495287)+W(8,-1122236502,-1128029215,1026411789,-1122487238)+W(9,-1103029047,-1125796177,1019619350,1036808922)+W(10,-1106860549,-1119780381,1024266957,1039165500)+W(11,1015482390,1016465010,1024156551,-1143421321);WS(-1089242039,-1127205581); +sum1=W(0,1037734344,-1111320098,1047404342,-1124452989)+W(1,1045032037,1038279993,-1115981071,-1136469606)+W(2,1029283077,1030509432,1006926037,-1131176455)+W(3,1029887056,1043334248,-1123275877,1038076384)+W(4,1001557948,998659036,-1114062493,-1086849964)+W(5,1059294849,-1107330927,-1096047365,1055753134)+W(6,1049404683,-1087265492,-1105936042,1006841992)+W(7,1044156233,-1080260267,-1095492784,1037635838)+W(8,1038364441,1032729828,1010360274,1042532510)+W(9,1044317529,-1118190491,1015888923,-1118490271)+W(10,1043122385,-1123196402,1021147727,1035319841)+W(11,1053177470,-1118995315,1027584778,1027367204);sum2=W(0,-1114965417,1046605828,-1102843967,1029897599)+W(1,-1121485495,1048791648,1033633995,1025776431)+W(2,-1113546368,1031053127,-1104898739,-1140617930)+W(3,-1117524097,-1108356905,-1108448442,1031651703)+W(4,1025076963,-1100594038,1049416264,1001547796)+W(5,1044097140,-1117020477,-1096668289,-1090433692)+W(6,-1118485295,1034926551,-1102246327,1042488362)+W(7,1040816680,1044694712,1047237110,1045463546)+W(8,1041915682,1020641677,-1115391670,-1120840401)+W(9,1042521794,1034331443,-1111492899,1040646462)+W(10,-1109164591,-1134127978,-1115861875,-1112857889)+W(11,-1109851905,-1124879769,-1120855845,1015998805);WS(-1081567068,-1085072352); +sum1=W(0,1017630556,-1102096537,1008391383,1026202077)+W(1,-1120073907,-1113888457,-1105309517,1034866076)+W(2,-1122725732,1010107993,1038015146,990337572)+W(3,-1135328058,-1107104879,1035371298,1016189565)+W(4,1035138955,-1113878797,-1106037014,1043376377)+W(5,-1088326467,-1099527071,-1091962582,1062685095)+W(6,-1095652846,1048331161,1065743931,-1087780001)+W(7,-1134788873,1033560764,1035819857,-1111927693)+W(8,1041401156,-1112723700,1015626934,-1119432853)+W(9,1036249665,-1112822301,995954372,1028045374)+W(10,1030964177,-1165855255,1036674595,-1122166240)+W(11,1034792920,-1140134473,1020668626,1030882915);sum2=W(0,1034880732,-1110518368,1025808817,-1101998430)+W(1,1034691412,-1098171169,-1090739547,-1111573656)+W(2,1032207084,-1112107064,1047617175,1017688506)+W(3,995363580,1035291452,1027687639,1002612774)+W(4,1035202798,1044537615,1041383807,1026331301)+W(5,1068344140,1069658374,1045506861,-1095903349)+W(6,-1108916250,-1135142667,-1090700374,-1085314459)+W(7,-1111293323,-1105384559,-1106371211,-1113844364)+W(8,-1096440885,1042833515,-1108635033,1033833028)+W(9,-1094064924,1037649108,-1107072548,1030373631)+W(10,-1113568166,996218700,-1117475933,-1106284721)+W(11,-1113615358,1031725587,-1115713024,1043762008);WS(-1122270064,-1083487436); +sum1=W(0,1000846209,1031069285,-1111938972,1022021054)+W(1,-1133172181,-1122478547,1035108132,-1120651002)+W(2,1008528664,-1109542844,1022898156,1015175368)+W(3,1032206792,-1099224128,1003755051,1014262402)+W(4,-1092279467,1053406092,1061173530,-1089129474)+W(5,-1088959911,1046812368,1061891890,-1089405705)+W(6,-1113192731,1035774995,1052509753,-1101358829)+W(7,-1105614817,1041852206,1040815801,-1110785838)+W(8,-1112839626,997371026,990992466,-1117042135)+W(9,1035227362,-1136588785,-1123767278,-1115403968)+W(10,1035355065,-1120262163,1014548513,983155781)+W(11,1046440556,-1196238920,-1139309996,-1114859906);sum2=W(0,1022028328,998943655,-1111986018,1044179919)+W(1,-1118974089,-1095846499,-1095034556,1040258943)+W(2,-1117110809,-1099083231,-1110448374,1033279863)+W(3,-1103290765,-1101323001,-1120681553,1031745329)+W(4,-1088604014,1029389095,-1092393621,-1080384748)+W(5,1073459027,1071708766,-1090514887,-1104000317)+W(6,1045892370,1049307354,1012336831,-1098039236)+W(7,1055006842,1051814517,-1100485937,-1111672860)+W(8,1009323699,1021777892,1031858735,1048581079)+W(9,-1097133430,1024702395,1024626196,1015383036)+W(10,-1097759856,1030521846,1031448400,-1122793353)+W(11,-1091667564,1029007432,1016567237,1041920736);WS(-1097130350,-1073679750); +sum1=W(0,1025389788,1008724804,-1142702368,-1154560184)+W(1,1000633100,1046084016,1035954194,-1145657140)+W(2,1032643785,-1106616153,1042008657,-1120139600)+W(3,1030414749,-1102859291,1025929714,1008755251)+W(4,-1096179481,1053502809,1034517635,-1095841490)+W(5,-1085973126,1057148843,1045830013,-1095185831)+W(6,-1096805620,1052799826,1051926551,-1089907161)+W(7,-1107347576,1050172789,1043469780,-1098086361)+W(8,-1112918112,-1143244972,992206103,1044574577)+W(9,1025817904,-1139683234,-1122388570,1042446427)+W(10,-1123577295,1017209342,1018417129,1017272605)+W(11,1014891512,1026775680,1016358830,-1143679882);sum2=W(0,-1140009235,-1137197699,-1106123822,1021941992)+W(1,1025391436,-1103278668,-1104678389,1026649920)+W(2,-1110654493,1026389826,1049392706,1033557641)+W(3,1031221238,-1107040085,1046385471,-1117894486)+W(4,1040410800,1048777558,-1135582819,1031547466)+W(5,-1069452203,-1086654414,-1102399061,-1091687878)+W(6,1075377385,1051671224,1036526271,1071493698)+W(7,-1101021764,1042747507,1003979070,-1093315115)+W(8,-1114989513,-1129449426,1017098260,1018035752)+W(9,-1112110740,-1134437671,-1170697076,1038853959)+W(10,-1119910153,-1127657747,1030635558,-1155541821)+W(11,-1119798403,1007123883,1010389927,-1130248744);WS(-1110542776,1046722292); +sum1=W(0,1016022658,-1108629467,1033517476,-1112464600)+W(1,981819586,-1113497042,-1106997347,1027765771)+W(2,1025143735,-1106078850,-1116788199,1026835189)+W(3,1024330241,-1124631714,1041100086,-1111607705)+W(4,-1133454244,1032980471,-1131671638,1047470894)+W(5,-1100439522,1042288212,-1092318054,1053995028)+W(6,1048713001,-1121614518,1061947018,-1093531706)+W(7,-1115421707,1041393523,1012478420,-1106135867)+W(8,-1105826521,1026603482,-1142745264,1005087552)+W(9,-1109105451,1017901338,-1129658366,1042584756)+W(10,-1105038597,1040275689,-1142191304,-1098489206)+W(11,-1114990145,1020475210,1016467704,977775992);sum2=W(0,992881643,-1116591675,-1132232893,1031452303)+W(1,-1121457613,-1114931492,1016124301,978475180)+W(2,-1130052481,1040974964,-1094590847,1034445399)+W(3,-1116902843,1035934107,-1110729382,1032145701)+W(4,1032912109,-1116915567,1018866101,-1109510079)+W(5,1032060799,1059251768,1055420465,-1114514404)+W(6,-1087149232,1044275534,-1088887374,1051504728)+W(7,1032317221,-1104983612,-1114948355,1039284419)+W(8,1024567259,-1114177042,1032688527,1014551643)+W(9,-1118272021,-1109972047,1042584708,-1097097100)+W(10,1035881493,-1108606213,1024892699,1048490818)+W(11,1032032409,-1133789139,-1121421993,1032922179);WS(1059165367,-1104520251); +sum1=W(0,-1117692608,1046236477,-1108628644,1007492796)+W(1,-1115310467,1052736188,-1120534447,1009135144)+W(2,-1113191163,1036684740,-1118278150,1014125520)+W(3,-1118876992,1008090175,1015268651,-1129119585)+W(4,-1094176525,-1118419948,1041312427,-1117534006)+W(5,1041258594,-1097199722,-1107420459,1053590938)+W(6,-1106455985,-1100739533,1055263011,1001540436)+W(7,-1114551242,1020553106,1040471133,-1112388022)+W(8,1029454180,-1113899741,-1124001749,-1113108212)+W(9,1053879643,-1114949702,-1131761404,-1110779368)+W(10,1045621277,-1105125705,1025063448,-1098892966)+W(11,1026632706,-1127494856,-1126282358,-1126748266);sum2=W(0,-1115834059,1048986559,-1104527074,1027505664)+W(1,1029257304,-1098414029,-1089420265,1029084872)+W(2,-1138405484,1040673804,-1104406791,-1128264406)+W(3,-1127212263,-1117936348,-1203758566,-1118563560)+W(4,-1098163961,-1125657446,1041601252,1034957797)+W(5,1053778056,1041501740,1045110551,1051828462)+W(6,-1106881855,-1119286592,1041829791,1048509414)+W(7,-1136870020,1022365337,1045914276,-1113115951)+W(8,1041896195,1034858548,-1122847824,-1108054404)+W(9,-1129563106,-1170669534,-1116127595,-1099714824)+W(10,1049994472,-1107117839,1037831890,-1092212913)+W(11,-1139619400,-1127498142,1031508216,-1105182054);WS(1064754871,1064755352); +sum1=W(0,-1126765813,1034558935,1039345889,-1124996947)+W(1,995438583,1031530717,1025078634,-1111973122)+W(2,1011044801,-1112086641,-1102805216,-1131935965)+W(3,-1117569083,-1125705364,-1108706152,1017902933)+W(4,-1096907004,1048609181,1051509189,-1096693846)+W(5,1042155040,1038916133,1055455058,-1092723587)+W(6,1050402072,-1096310694,-1085470304,1055052309)+W(7,1036105095,-1114430562,-1110967031,1045488762)+W(8,-1122110878,981607022,1036233792,-1110987505)+W(9,1036071207,1028131846,1033037628,-1103910610)+W(10,1042970795,-1155599823,-1113728073,1036962198)+W(11,1043170799,-1131031997,-1121653045,999916154);sum2=W(0,1023646322,-1104375670,1035315397,-1133117125)+W(1,1016880452,-1100884270,1045506061,1023723550)+W(2,1032406499,-1100571834,1037072250,-1128763803)+W(3,1024272758,-1106522969,1043010850,-1112596197)+W(4,1023753609,1053589289,-1093657955,1034291601)+W(5,1046403885,1040733712,-1104725243,-1107539440)+W(6,1040670310,1047435788,987308827,-1123261308)+W(7,1037357283,1046389911,-1103530057,-1109210140)+W(8,-1096844972,-1117431336,1063017252,-1083656994)+W(9,-1108767061,-1110535684,1065218548,-1079943056)+W(10,1056439411,-1092199491,-1088643610,1066015084)+W(11,1050581867,-1093142505,-1140617522,1038430454);WS(-1141889920,-1150694570); +sum1=W(0,1035438770,1043244278,-1156363954,-1121776659)+W(1,1029335145,1044045394,1039611642,-1107472311)+W(2,-1122959321,-1113754566,1031781705,1032163820)+W(3,1006930832,-1113010266,1041298854,1035788170)+W(4,-1108191526,1049522698,-1150990554,-1110656781)+W(5,-1089342271,1044281805,1047918398,-1092681840)+W(6,-1110931796,-1118178969,-1142656241,-1107172434)+W(7,-1098776751,1035377494,1044014582,-1106653204)+W(8,1024784007,1026909213,1009891810,1001967189)+W(9,1041259438,1032535224,-1115519345,-1120026675)+W(10,-1114065315,-1114416227,-1156224954,1035091531)+W(11,968315538,-1127266575,1034927023,1037418924);sum2=W(0,-1102787949,1039622534,1059540854,-1096670021)+W(1,1043637876,-1086802625,1064198145,-1099441746)+W(2,1042101483,-1113298762,-1085971065,1052388948)+W(3,1042670443,-1104634628,-1098667485,-1135324433)+W(4,1037899964,1013042349,-1133958494,1045575353)+W(5,-1101655681,1036771998,1040028330,1030855272)+W(6,-1105771070,-1120619083,1032851236,1033969343)+W(7,-1104173140,1030229840,981463467,1036465297)+W(8,-1110193614,988987510,-1118270456,1031038260)+W(9,-1125265460,-1117707023,1032105974,-1117097690)+W(10,1049976190,1021389004,-1134648980,-1103569731)+W(11,1035574893,1035007302,-1119296945,-1101523135);WS(1060329015,-1107100438); +sum1=W(0,-1126768152,-1108878752,1016013223,-1139109867)+W(1,1024792785,1046477388,-1139382101,-1154508124)+W(2,-1121126338,1044791733,1046417836,-1145234942)+W(3,-1128378904,1030070044,-1115375281,-1165337473)+W(4,1042283693,-1103310414,-1098269535,1052529520)+W(5,1051787130,-1088582834,-1093610355,1051369597)+W(6,1046651812,-1097854544,-1090008057,1040695538)+W(7,1046922680,-1105218789,-1110993568,1039020124)+W(8,1033078264,-1113589378,1025836257,-1120993331)+W(9,1015463488,-1124637616,1029380042,1033661966)+W(10,1029328303,1030094510,-1127749832,1035018943)+W(11,-1121430349,1016154976,-1117533511,980238373);sum2=W(0,1016851522,-1156337616,1039646422,-1122821091)+W(1,-1109184296,-1080883791,-1131895450,-1106087013)+W(2,1015529466,-1105476432,-1074990048,1045004090)+W(3,-1115690469,1022339242,-1104782698,1026918939)+W(4,-1123806894,-1105518185,1020520346,-1126218548)+W(5,1071805249,-1096231655,999070248,1035943528)+W(6,-1126394390,1028426171,-1125969764,1071092779)+W(7,-1122803425,-1127395662,1030594487,1031828962)+W(8,1031650855,980292032,1003947528,1030755819)+W(9,1043321474,-1122746065,-1123933765,1015158698)+W(10,1026097175,-1126690400,1018391998,-1125796080)+W(11,-1110808154,-1149029768,1018627618,-1140334484);WS(1004067712,1029538397); +sum1=W(0,-1113057966,-1112884456,1025050595,1039684517)+W(1,976341006,-1106127376,-1120136235,1034662227)+W(2,1039793800,-1136083213,-1108532672,-1116361615)+W(3,1023346679,1026195563,-1109109944,-1114202454)+W(4,1052279792,-1096595713,-1093421305,1055781642)+W(5,1048957300,-1083333863,-1096171643,1057037092)+W(6,1049781884,1050503466,-1093970477,1059667231)+W(7,1052752022,-1119746148,-1098876866,1046150498)+W(8,1008080123,-1134909265,1033902960,-1134522377)+W(9,-1104830972,1017566030,1000314570,1038845557)+W(10,-1105145436,1034175935,-1120056627,-1107387175)+W(11,-1106375815,1002478074,-1129568684,-1111371224);sum2=W(0,1033154491,-1129026548,1023361218,996458418)+W(1,983965669,-1096377075,-1113149678,-1124552606)+W(2,-1118592979,-1107366613,-1108470744,-1113544599)+W(3,-1120675710,978762058,1040480632,1024911403)+W(4,1036155261,-1136279909,-1105686968,1020176326)+W(5,1064108379,1059185253,-1101182829,-1107309754)+W(6,-1147140265,-1097506500,-1094171461,-1113642974)+W(7,-1127049668,1027330889,1038318571,-1123866147)+W(8,1029838361,-1122796554,1016740014,-1112170015)+W(9,1029555247,-1111484496,1027141165,-1110765232)+W(10,995412594,-1108579478,1033692775,1048386684)+W(11,-1102738273,1023291782,-1126067866,1045927904);WS(1047133404,-1079170418); +sum1=W(0,-1116032717,-1127398915,-1122581460,1009155056)+W(1,-1132905800,-1098422622,-1111731450,-1135035740)+W(2,-1123509635,1019095722,-1136427723,1006908676)+W(3,-1147535977,1012838771,1037504657,-1129150906)+W(4,1041078541,-1113404572,1030334583,1042667713)+W(5,1065228285,-1104817319,-1111377849,1051022508)+W(6,1050271906,-1103926112,-1091891141,1042380775)+W(7,1023931745,-1123007382,-1121675713,-1107182030)+W(8,-1123819760,-1122554086,1027163842,-1108143194)+W(9,-1102890728,-1133181796,1023811915,-1112180142)+W(10,1023382911,-1116735535,1001483047,-1111098047)+W(11,-1123177070,-1130799202,1015217807,-1136273159);sum2=W(0,-1155029688,-1121981859,1017708852,-1151544588)+W(1,1007239987,1049278985,-1114670464,1018065470)+W(2,-1118997712,-1156221672,1041079714,-1125453823)+W(3,-1133631258,-1113215345,-1120658712,1007542759)+W(4,-1129630940,1024218233,1008923057,-1147640076)+W(5,-1077783117,-1083801634,-1119653793,-1093073209)+W(6,1034878186,1028846010,1047560438,1074285479)+W(7,1033160981,1022080564,1036336794,1016277382)+W(8,998377109,-1133221663,1018406594,1011942449)+W(9,1041518161,-1123603132,1025316590,-1131988255)+W(10,-1118519138,1024940191,-1131599727,-1114079754)+W(11,1027490516,-1130450701,-1131785133,-1121956184);WS(1043550940,1028476494); +sum1=W(0,-1121780237,-1102302048,-1130981802,-1115183742)+W(1,-1110838377,-1094318158,-1117998761,-1117842775)+W(2,-1111061058,-1115328139,-1102037997,991794198)+W(3,-1113960535,-1106426583,-1113105937,1015980795)+W(4,-1105099981,1040535662,1051762223,-1100607937)+W(5,1062548805,1068023761,1059510884,-1096882923)+W(6,-1097580450,1041348961,1055882697,-1103616404)+W(7,-1100373208,1044552262,1034161697,-1103768718)+W(8,-1138550724,-1111548899,-1121847282,1000007075)+W(9,-1099046056,1013492582,-1132334487,-1102853271)+W(10,-1131654944,-1119471984,1018468811,-1102330336)+W(11,-1110284503,-1148988811,-1129682576,-1112888641);sum2=W(0,-1115037203,1043435491,-1103820712,1029690847)+W(1,1036903221,1028701483,-1100462798,-1127742454)+W(2,1039025001,-1126383902,-1121926871,-1106227374)+W(3,1016988574,-1115441627,1017141302,-1108879063)+W(4,-1096312501,1046052979,1028297515,998970743)+W(5,1041049643,1065575031,-1099477234,1044923803)+W(6,-1125321886,1040854499,-1098681477,1030485727)+W(7,1033537170,-1122382559,-1106467082,1008577020)+W(8,-1115911439,1007821180,-1133991676,-1122562191)+W(9,-1096910875,1036974934,-1113716427,1030898927)+W(10,-1115709255,-1126914630,-1111652935,1034498637)+W(11,-1129067614,-1114648723,-1128843302,1013474716);WS(-1079050332,-1087647968); +sum1=W(0,-1122115440,1026750308,-1112879708,-1138480508)+W(1,-1106223181,-1116109267,1027382179,1024624314)+W(2,-1120448614,-1128868784,1024806390,1029330596)+W(3,1004544641,-1115751616,1022822666,-1134294785)+W(4,-1102419558,1048762675,1054719611,-1095708941)+W(5,-1083772539,1057166968,1057423590,-1136300523)+W(6,-1102450653,1049252525,1058690419,-1103579129)+W(7,-1099401009,1051036287,1046884233,-1100406055)+W(8,-1106236805,-1139407140,-1122888245,1031575959)+W(9,-1096438944,-1112079518,-1136279992,-1115045376)+W(10,-1116410163,-1128866725,1025354440,-1115914082)+W(11,1031406769,1030150228,1008311211,-1127656777);sum2=W(0,1018735508,-1128043345,-1121226957,1018441725)+W(1,1042307735,-1105109021,1036012925,-1106801879)+W(2,-1153036923,1024075219,1026535678,-1108191465)+W(3,-1130614305,-1115606924,-1143871918,1023515972)+W(4,1035475244,1028848366,-1143973174,1025980595)+W(5,1063056253,1055391108,-1119821797,-1093599779)+W(6,1035122552,1031788992,-1118265757,-1097885523)+W(7,-1124060823,-1149779899,-1122707515,1028845741)+W(8,1010180031,1001175670,-1118705847,-1145354702)+W(9,-1103238145,1024485983,-1114705464,-1106432772)+W(10,-1114303163,1025382280,-1109715589,-1114258989)+W(11,-1117711701,-1122890135,-1125366621,1031455538);WS(1061221431,1002405371); +sum1=W(0,-1109190069,1033046959,-1123480946,-1123061017)+W(1,-1094345134,1042710035,1050201177,-1111043962)+W(2,-1113941840,1026923762,1050099666,-1146354418)+W(3,1017803349,1029204218,1032794752,-1145213652)+W(4,-1104934581,1044209302,1054235011,-1090405194)+W(5,-1086823335,1052530935,1057895846,-1102475777)+W(6,-1091215734,1050794548,1058601910,-1097235340)+W(7,-1089600016,1055600534,1041457976,-1094526523)+W(8,-1108435303,-1121369187,1000058490,1026563665)+W(9,-1102625680,-1111380603,1030151784,1037490845)+W(10,-1126650490,-1126829850,1040756961,1033897294)+W(11,1021417496,1033488871,1032331475,-1110275296);sum2=W(0,1058657690,-1087536311,-1089706816,1049937345)+W(1,1072348129,-1078647761,-1078069733,1071079778)+W(2,1049150259,-1090508646,-1079714039,1066389113)+W(3,-1113785170,-1103849791,1022376790,-1119844839)+W(4,-1106625833,-1105431871,1030967529,1050626093)+W(5,-1094966474,-1112600090,1044296437,1020012689)+W(6,1050328795,1044145959,1038432439,-1098171132)+W(7,1052174137,1034822829,-1126694997,-1105718319)+W(8,1036734782,-1109192755,1039088353,-1115709839)+W(9,-1122763227,-1116226089,1031394755,-1122006247)+W(10,1024733405,1012728894,1022577738,-1130276743)+W(11,-1112758982,1013882918,-1123093509,1021875579);WS(-1092893294,-1089220584); +sum1=W(0,1010493299,-1118558929,-1127519944,1008699951)+W(1,1025199074,-1113928672,-1106263811,-1124403149)+W(2,1015178277,1041393441,-1098638288,-1117387089)+W(3,-1130896954,1035998582,-1112838969,-1125915034)+W(4,1051919929,-1096189801,-1103359682,1053766130)+W(5,1052175436,-1086367179,-1097091836,1056071340)+W(6,1047707912,-1102452900,-1096005139,1062605050)+W(7,1049473086,-1095432549,-1101730612,1053546873)+W(8,1032200864,1028526614,998920846,-1104704049)+W(9,1015736929,1019181009,-1149496748,-1111082358)+W(10,-1123219920,1027645503,-1115659002,-1120379023)+W(11,-1136688761,-1136451331,-1131717807,1019333603);sum2=W(0,992704062,-1109431235,1034689803,-1143112647)+W(1,1038449046,-1098090520,1033324328,-1124855502)+W(2,1035072543,1040866773,1038361982,-1105916124)+W(3,1019251456,-1164332444,1032024575,-1114904409)+W(4,1039097516,1048248946,-1121270233,-1115356591)+W(5,-1063972596,-1091325299,-1106299172,-1073085951)+W(6,1085456662,1056006422,-1090314642,1062319475)+W(7,-1102205120,-1107459099,1043935118,1062308854)+W(8,-1124530814,1005857263,1021729984,1017968792)+W(9,-1113483013,1015994888,-1126326370,1023517229)+W(10,1034240002,-1134900259,1013997779,-1141826407)+W(11,1032935811,1001043447,-1135264403,-1124783482);WS(-1104754908,-1106735671); +sum1=W(0,1032595044,1002237924,-1117923535,1030490103)+W(1,1032319302,-1120462507,-1122216143,-1128810020)+W(2,1025969502,-1123369072,1025980110,1019231224)+W(3,1024124136,-1104242198,1034830735,1016077744)+W(4,-1094516030,1029213684,1033028505,-1088908700)+W(5,-1102093923,1063837581,1050263192,-1092804364)+W(6,-1096286026,1054477272,1058220138,-1088198897)+W(7,-1103741447,1049334234,1045907999,-1102086589)+W(8,-1144798556,1015682178,-1120248133,1045999740)+W(9,-1106958295,1030078356,-1129595020,1022746927)+W(10,995801516,-1153493672,1021953856,-1107413149)+W(11,1030012489,1022398552,1019926661,-1115665070);sum2=W(0,1015145430,-1107082251,1035833889,-1116247065)+W(1,-1117862601,1043695503,-1114579693,986051432)+W(2,1034116930,-1114493167,1039299404,-1114715779)+W(3,1026244953,1019204162,-1120378069,-1144744186)+W(4,-1079268655,-1102842161,-1107323417,-1087068607)+W(5,1067901888,1032100715,1049680335,1022672030)+W(6,1008422125,-1115195239,1040660749,1059152338)+W(7,-1111927269,1021018582,1018816198,1020328850)+W(8,1016322550,-1133554677,1021616338,-1109274147)+W(9,1026073955,1017398706,1010843781,-1111459111)+W(10,-1173738319,-1139208557,998891466,992278036)+W(11,-1123657301,1016479082,-1138764845,1033325633);WS(-1092340590,-1082645376); +sum1=W(0,1018184990,-1106475329,1033191659,1018128252)+W(1,-1117677972,-1102532636,-1101261661,1028162329)+W(2,-1115409474,1010011868,1031605429,-1115495745)+W(3,-1118723567,-1112449263,-1127814216,1015642046)+W(4,1036685563,-1105689791,-1112709788,1040446513)+W(5,1042646693,1038532783,-1086509296,1061713267)+W(6,-1106573237,1046976369,1064314083,-1089327101)+W(7,-1112423953,1030956248,1039016129,-1105713919)+W(8,1040219053,-1127103440,-1113441282,1031456758)+W(9,-1111899057,1018898486,-1123459213,1042438664)+W(10,-1105951352,1029058545,1033438227,-1100451664)+W(11,1022848097,-1130132966,1013299750,1010066702);sum2=W(0,-1121347079,1042459857,1040551451,-1107775669)+W(1,-1121125435,-1152381105,1031184422,-1118975841)+W(2,1012434826,-1115286413,-1105935240,-1123325897)+W(3,1006663086,-1111096901,-1124425722,-1129695564)+W(4,-1122087227,-1113656153,1033412933,1027302533)+W(5,989383522,-1114487413,1035641742,1016161914)+W(6,-1125562074,1029416951,1041762467,1045806619)+W(7,-1114174571,-1127668218,1028252326,-1111270899)+W(8,1017950151,-1130160250,-1131050762,-1135101756)+W(9,1046120628,987844130,1017438602,-1109563699)+W(10,1035110196,-1173771715,-1117833439,-1114574520)+W(11,997585257,-1126450718,-1121778743,998528980);WS(1052284526,1042464092); +sum1=W(0,-1136974408,-1110845507,999914700,1010280196)+W(1,1020617774,-1110448219,-1109035161,1026365340)+W(2,-1127515216,1038195741,-1110075532,1023947782)+W(3,1007810505,1019473092,-1114945332,-1129271461)+W(4,1046554367,-1100087104,-1098111272,1057530557)+W(5,1063323154,-1094987596,-1090659644,1060667985)+W(6,1050039723,-1097163609,-1095988958,1043924417)+W(7,1052688005,-1095692091,-1105136802,1042422080)+W(8,-1110795931,-1128121686,1027464615,-1101387838)+W(9,-1105684762,1025859742,1001926272,-1102616600)+W(10,1018127786,1034844538,1017827156,-1124311688)+W(11,-1114597706,1027019478,-1130637466,-1124435598);sum2=W(0,-1124685033,1010871130,-1119913429,1025355846)+W(1,1011755468,1033794365,1016143206,1029205900)+W(2,1035269289,1020099653,-1140030878,-1113277680)+W(3,1013457876,1035095720,991986873,-1122502097)+W(4,1036346050,1032812135,-1140464466,1034044275)+W(5,-1133342818,1067600837,1071964190,-1128364593)+W(6,1035477071,1033733070,1039362648,1020927778)+W(7,1029499077,994468553,1008065452,1011575434)+W(8,-1086522508,1037018199,1041357090,-1091074448)+W(9,-1089329657,-1111447139,1033277276,-1074918519)+W(10,-1108456989,1032003060,-1118126225,-1106053895)+W(11,-1106105254,1009180302,-1117647411,-1146528221);WS(-1085785015,-1080175544); +sum1=W(0,-1125806618,1045216768,-1103151077,1035373246)+W(1,1044894533,1039875576,-1094452856,-1118822551)+W(2,1041222777,-1094574331,-1151103277,-1102223008)+W(3,-1122183565,-1103877399,1048044105,1023709757)+W(4,1050584367,-1094766367,-1091874455,1058377668)+W(5,1046782533,-1090132878,-1107649205,1054861331)+W(6,1051791466,-1111571937,-1090472533,1057861265)+W(7,1058273114,-1092114299,-1098390656,1043274206)+W(8,1043611260,1043525714,-1111695537,1025579124)+W(9,1049375324,-1105407270,-1102079139,-1106387815)+W(10,-1137989279,-1102123612,-1144672552,-1115030560)+W(11,-1106419572,-1116205169,1041305154,1049548184);sum2=W(0,-1121990028,1035743758,-1118465870,998449416)+W(1,-1115523342,1049274722,-1103571680,1039055377)+W(2,1032292249,-1126693677,-1106547389,-1132069983)+W(3,998312734,-1116877357,1034009109,-1128335569)+W(4,1040306990,1001004257,-1148690252,-1124628345)+W(5,964150684,1077176219,1060096717,-1098483719)+W(6,-1103504000,1016774454,1060014437,1024621733)+W(7,-1116867442,-1139511962,-1107960970,1043582890)+W(8,-1132010249,1037805583,-1105952484,1037770975)+W(9,1047972499,-1070507600,-1087084008,-1108861100)+W(10,1034159573,-1105946989,-1092504349,-1098623231)+W(11,1042264637,-1102914489,1041667680,1020716885);WS(1041580764,1025947967); +sum1=W(0,-1116825273,-1104706235,1034662848,1032565172)+W(1,1022134396,-1107214727,-1115255997,1019951750)+W(2,1034025399,1032808736,-1098820316,-1111515158)+W(3,-1159719714,1021100817,-1102823188,-1110133221)+W(4,1050747028,-1092905173,-1093835868,1053611982)+W(5,1063007652,-1096926641,-1095669879,1050206724)+W(6,1052025888,1049974094,-1089733625,1060757006)+W(7,1052817434,-1119725058,-1099659531,1043880105)+W(8,-1131069497,-1119290642,1036244351,-1131110976)+W(9,-1105182467,1029927621,1017394926,1036897764)+W(10,-1104277767,1037476046,-1106823604,-1098715869)+W(11,-1106408671,-1122404893,-1114565306,-1106501955);sum2=W(0,986836209,1029631070,1031078182,-1132209742)+W(1,-1170553346,1020231728,-1119773491,-1121945777)+W(2,-1127752664,-1133642976,1023900693,-1138085578)+W(3,-1170071298,-1123929889,1016594015,1024317954)+W(4,1025515900,-1129378830,-1109418986,-1131885988)+W(5,-1120148774,1055904551,-1113141662,1029199828)+W(6,1019687015,1044815557,1057958803,-1122079840)+W(7,-1134784812,1040873658,-1115676013,1019770946)+W(8,1027058278,1012367442,-1135041624,969823813)+W(9,-1099466937,1014349374,-1116640321,1030656895)+W(10,-1096970616,1019685270,1019607807,-1089769002)+W(11,-1104818759,1020720783,1040370156,-1105180704);WS(-1101021916,-1101341893); +sum1=W(0,-1128959914,1029994953,-1104193847,1026213188)+W(1,-1114900877,1036038140,-1146733010,1026395551)+W(2,1012420650,-1118727997,1031817213,-1152047246)+W(3,1026345301,-1106810537,1021561044,1006057769)+W(4,-1096018912,1049220736,1055643976,-1099125811)+W(5,-1086773562,1052012604,1055313981,-1093634574)+W(6,-1107844781,1051291321,1060627153,-1090412335)+W(7,-1104632714,1047342967,1049980081,-1104575744)+W(8,-1111820508,1025253614,-1110018309,1025577212)+W(9,-1127551698,-1123712161,-1114303945,-1119144868)+W(10,1025725832,-1119269431,1028280877,-1111302883)+W(11,1003961523,999050183,1031833384,-1112108341);sum2=W(0,1023490159,1007442131,-1111316079,-1131988010)+W(1,-1164111651,1046145376,-1122871173,-1126411872)+W(2,1031886393,-1109560063,1040330964,-1121501747)+W(3,1035364539,1005935896,1016982738,-1117332099)+W(4,-1100903601,1055734435,1024389323,1041465340)+W(5,-1093182708,1078445253,1080207498,1038743702)+W(6,-1098635398,-1066503158,-1068399047,1049859497)+W(7,-1113093917,1012210427,-1109489195,1035352171)+W(8,-1125698351,-1131908940,-1149117460,-1121573843)+W(9,1049726225,-1119425741,-1114017647,1043717463)+W(10,-1100760677,1009702615,1019240934,-1122596352)+W(11,1035980752,-1141270643,1032687935,-1113462329);WS(1046490332,1041425064); +sum1=W(0,1033054902,1002731779,-1116828595,1024529499)+W(1,-1146773895,-1160896989,1040980232,1031945755)+W(2,1004520717,1015420456,1052617834,1029605664)+W(3,1024614604,1032157630,1044142352,1031502108)+W(4,-1098109922,1045029126,1043650965,-1093042204)+W(5,-1086741475,1055608303,1058500980,-1092614541)+W(6,-1090483479,1019101890,1058257970,-1091564618)+W(7,-1086427940,1049761551,1041689704,-1094325635)+W(8,-1106337284,995804238,1019425762,1015429414)+W(9,-1109695552,-1179835378,1032419541,1033182334)+W(10,1029823567,-1127672093,1044059953,-1174108025)+W(11,1041880275,1040104968,1032927635,-1123497953);sum2=W(0,-1114479591,-1106953243,1026151548,-1122431319)+W(1,-1100833312,-1097347844,1048064546,1024826864)+W(2,-1109354990,-1109085075,1037967160,1043724086)+W(3,1015245663,1007980535,-1110876131,-1130104331)+W(4,999999917,-1108260971,1049905644,-1122010793)+W(5,1040448763,1045454882,1050719290,992235770)+W(6,1032432738,-1111087807,1049686405,1044292364)+W(7,1040568157,1043523736,-1098496523,-1143420941)+W(8,-1125976243,-1126306455,-1124048569,-1102178930)+W(9,-1096948195,-1105554812,1025075060,-1123774104)+W(10,-1108325988,-1114960687,1034346164,1038302972)+W(11,-1113347688,1032072922,994535386,-1118752296);WS(-1096079726,-1086813702); +sum1=W(0,1020632987,-1134572551,-1105268453,-1135457777)+W(1,1041289173,-1166801940,-1100910973,-1136898909)+W(2,1002632984,-1102504381,1038525034,1012368645)+W(3,-1127204699,-1110256943,1029902179,1024629150)+W(4,1038076635,-1125909619,-1104980990,1045566625)+W(5,1058638213,1057673490,-1094783105,-1141635906)+W(6,1033251913,-1111352769,-1100424110,-1104077708)+W(7,1022942147,-1133590617,1012100357,1009307365)+W(8,-1145052038,1035122115,-1128467237,-1105625101)+W(9,1030475041,1035865453,-1125440663,1032999502)+W(10,-1113040784,-1119749552,988204202,-1113674176)+W(11,-1114381639,-1124393059,1027550920,992583714);sum2=W(0,-1120740066,1013092463,-1117003048,1009177065)+W(1,1041576942,-1090661723,-1102800003,1031366584)+W(2,1045439690,-1097382737,1059100650,-1100270767)+W(3,1033773937,-1106788899,1022453518,-1125959183)+W(4,1025589372,1042721142,-1105766164,1042183695)+W(5,1068855162,1040487387,-1149080533,-1111208570)+W(6,1044086134,-1099098175,1023619821,-1085550755)+W(7,1025170288,-1106320787,-1126080241,1032267243)+W(8,-1113055730,1026018809,1019480223,-1112946812)+W(9,1030911277,1007104581,1020058227,-1103263899)+W(10,-1114239046,-1162581429,1029611268,-1103276630)+W(11,1019625936,-1116554192,1037226018,-1107084863);WS(1059841719,1028884484); +sum1=W(0,-1112448166,-1111506273,-1108411818,-1113543486)+W(1,1014814024,-1096756366,-1104706915,-1123514455)+W(2,-1120616579,-1107115957,-1106354949,-1116573889)+W(3,-1127146586,-1105758103,-1117349474,-1132301434)+W(4,1034453786,1041783662,1058342439,-1112074625)+W(5,1052483434,1043430567,1050338440,1033474668)+W(6,1049505778,-1117001986,-1116369607,1048710884)+W(7,1056594572,-1106214629,1011608836,1050151687)+W(8,-1112657624,-1122260358,-1143395087,-1101044205)+W(9,-1099567912,-1132902244,-1124590486,-1103529079)+W(10,-1119641312,-1118809775,-1118491109,-1110811775)+W(11,-1113349351,-1114523384,996976763,-1133908615);sum2=W(0,999597315,973346488,-1142019487,-1131846847)+W(1,-1114921220,-1114646695,-1127636492,997751878)+W(2,-1115596944,1027087956,-1098897499,1031101790)+W(3,-1120544321,1029100436,-1111832500,1024706196)+W(4,-1113005256,-1112114230,1043688817,-1119272484)+W(5,1055277760,1041350431,1056371527,-1113445057)+W(6,1036539833,-1123786644,1038923617,1032426103)+W(7,1010252474,-1123180191,-1130636099,-1114392819)+W(8,-1112619479,1003422803,-1128104285,-1110979463)+W(9,1019660165,-1127196333,1021279303,-1097247478)+W(10,1026606310,-1129408714,-1138766624,-1105379211)+W(11,-1125326592,-1164469676,-1130181692,1012894502);WS(-1092619630,-1089382730); +sum1=W(0,1043539187,1020312451,1023648980,-1111364766)+W(1,1030068626,-1101226428,-1115220152,984781533)+W(2,-1111039089,-1105671421,1038621209,1026274177)+W(3,-1120853581,1015856825,-1101912057,1024515101)+W(4,-1096148415,1048019422,-1112475547,1039669985)+W(5,1026945555,1059189430,-1085560118,1055391282)+W(6,1045179252,-1105049488,1059392734,-1081505706)+W(7,1027675681,-1133761880,1041558112,-1132720100)+W(8,1027548272,-1110790259,1036516737,-1102256285)+W(9,-1108016176,-1120756633,1016263062,1048070471)+W(10,1037378816,1034683832,1007770772,1040580240)+W(11,1032748839,1021933410,-1109624324,1031071010);sum2=W(0,-1117827136,1031932470,-1111677325,1021752691)+W(1,990310070,-1104195843,-1130612142,-1125983252)+W(2,1040724727,-1105272655,-1168184730,-1109957501)+W(3,1031887118,-1103738768,1035492359,-1109878975)+W(4,-1110048197,1038437939,1033183913,-1108952074)+W(5,1051763659,1045197632,1050756049,1045228241)+W(6,-1136328910,-1123843648,-1115591069,1028013889)+W(7,-1114723198,1035246991,-1120329563,-1114456338)+W(8,-1103930854,1027358915,-1113755692,1044091848)+W(9,-1105931725,1032921649,-1104619422,1008734718)+W(10,1020655719,-1140627498,-1117367196,-1149204891)+W(11,-1121689275,-1121880867,1033876328,-1120613434);WS(1051433070,1041054969); +sum1=W(0,995089009,1019369911,1025557871,1027474774)+W(1,-1109189270,1046403907,1049084179,1034863641)+W(2,-1126811322,1035909664,1044512531,1039503310)+W(3,1010666397,1028564471,1033234174,1033371404)+W(4,1032468488,1037418314,1035613609,-1105663671)+W(5,-1082587707,-1080639932,1039456478,-1096978722)+W(6,-1107200379,1042549431,1026454114,-1102025153)+W(7,-1106755535,1034360184,1042229543,-1104819461)+W(8,1036952965,-1122283488,1027665948,1041537220)+W(9,1049567823,-1112387034,1041167849,1041156238)+W(10,1039105725,-1137459494,1039611744,1040087661)+W(11,1031577769,1033297350,1031071714,-1131034584);sum2=W(0,-1128793460,-1106733661,-1103860174,1039097792)+W(1,1022871695,-1106671798,1043000544,-1140010118)+W(2,-1112923836,-1123142296,1046664654,-1138263433)+W(3,-1110368657,1042580191,1037719970,1026478628)+W(4,1050938198,-1097187313,1004583985,-1106228186)+W(5,1039252188,1053089515,1021007203,-1100268114)+W(6,-1121884665,-1114597930,1048715277,-1099105674)+W(7,1034926170,-1106315502,1047464456,-1100173198)+W(8,1046933969,-1107245750,-1133334119,1031892389)+W(9,1049075999,-1104825734,1039577114,-1107049139)+W(10,1022883749,-1117968576,1030321621,-1103930146)+W(11,-1108178582,1018138445,1036807670,-1098080196);WS(-1097236334,-1078251511); +sum1=W(0,981774949,1007351583,-1107131303,-1147379729)+W(1,-1112510828,1043141838,1033603653,-1145120489)+W(2,1008364580,938727969,1029606457,975327689)+W(3,1022969831,-1108966769,1020032977,-1140670990)+W(4,-1125527926,1053289720,1058323440,-1102832418)+W(5,-1082084799,1032726417,1056660465,-1095625930)+W(6,-1093823475,1053416161,1058345481,-1090577043)+W(7,-1096801949,1049766564,1046390514,-1098508888)+W(8,-1121375351,-1124892056,-1116361496,1023750586)+W(9,1033795604,-1117973855,-1128008098,1026746467)+W(10,-1131151340,-1125502955,-1148460889,1025947909)+W(11,1037296218,1010324189,999577711,-1119905544);sum2=W(0,1020144998,1025017931,-1102276353,1024894779)+W(1,1007750652,1046635995,-1107221556,-1118791847)+W(2,1023698735,1023586615,-1132306598,-1137666916)+W(3,-1129126018,1015842286,1030880679,1009542396)+W(4,-1096890621,-1080908066,-1081787381,-1120020336)+W(5,1039741552,1072604155,-1102161510,1050182775)+W(6,-1108361045,-1115556916,1055213170,1043589185)+W(7,1024872627,-1105259074,1037616572,-1114600836)+W(8,992888305,-1118655405,1023553607,1039662448)+W(9,1039835396,-1126400334,-1120230550,-1130889346)+W(10,-1122324709,1020891302,1020541198,-1110509653)+W(11,-1124270218,1033066840,-1119304668,1000980713);WS(-1095840110,1065907853); +sum1=W(0,1029310442,-1130903741,-1123781617,-1149009607)+W(1,-1136794300,964920945,-1115466131,-1122029108)+W(2,-1132243967,1043406509,-1115351608,-1118254622)+W(3,1010554921,1040435870,-1116119295,-1126823604)+W(4,1048478500,1041326469,-1102734645,1057715094)+W(5,1045634572,-1083008792,-1088947208,1058442742)+W(6,1053323726,-1089856222,-1096684061,1052165513)+W(7,1051535704,-1095672430,-1127763004,1042519141)+W(8,1036129479,1021921030,1034276991,-1101560548)+W(9,-1109559039,1024401462,1036949012,-1107277134)+W(10,1024712701,1035777670,-1114280609,1036543086)+W(11,-1114598742,1024787534,-1132072137,1009014011);sum2=W(0,-1119761608,-1118318168,-1112086475,-1122765153)+W(1,-1123357438,-1119202357,-1121250504,-1115823403)+W(2,1031734555,-1130234658,1024515185,-1105805209)+W(3,-1126486235,1026675759,-1134784044,-1111986136)+W(4,1023061820,-1102263327,966593378,1040388299)+W(5,1057284387,1059190541,-1110151426,-1128744886)+W(6,1037222780,1050053336,-1106793279,-1103324019)+W(7,-1117543075,1021583022,-1107073751,-1110952019)+W(8,-1113965021,-1137846028,975247631,-1114107386)+W(9,-1118800384,1023792011,-1111548146,1045334069)+W(10,1025627836,1020007628,-1112106446,-1164047122)+W(11,-1124432766,-1131408661,-1125560981,-1114668630);WS(1024351088,-1094038469); +sum1=W(0,1024919184,-1118029957,1038061004,1016930687)+W(1,1038267403,1038925818,1005748798,988693323)+W(2,-1123840710,1034287148,1032752795,1001354275)+W(3,-1120680465,1036629872,-1110688307,-1125725377)+W(4,1050276351,-1103330015,-1086527812,1052546457)+W(5,1062157201,-1097782940,-1085615881,1052906127)+W(6,1050137483,-1090365828,-1088621706,1055274272)+W(7,-1112935826,-1098987606,-1108159426,1036684158)+W(8,1027568116,1004978763,1006605995,1040515838)+W(9,-1124671689,1031140124,1030413326,1040353352)+W(10,1017331974,1023985459,1009586849,-1113419105)+W(11,1039926041,-1120649652,-1129057942,1018660298);sum2=W(0,-1131745232,1031409358,1033363591,1018662896)+W(1,-1110788716,1060006588,1036576685,-1136728576)+W(2,-1101470606,-1102632350,1052968790,-1123530251)+W(3,-1125138150,-1083015355,-1105224546,-1110519714)+W(4,-1109130821,1050735765,-1107389045,-1101021011)+W(5,1058553385,-1120731420,1043333749,-1097527529)+W(6,1057288665,-1097217661,-1100470754,1023922010)+W(7,1034932287,1047940150,1038218737,-1111209476)+W(8,-1122086781,1024022584,-1120396150,1013978472)+W(9,-1118628277,1030135008,1015209616,1029525730)+W(10,-1112638769,-1121049341,1018906596,-1117232951)+W(11,1023530026,-1113292326,1024891644,-1121310567);WS(-1086599863,1058406314); +sum1=W(0,-1133002117,-1121445206,1027409257,-1165120005)+W(1,1024249318,-1105883025,-1106007410,-1129945046)+W(2,1026085015,-1127421331,-1105279538,-1119162837)+W(3,-1127955907,1024561201,-1109094875,-1121003281)+W(4,1049800473,-1099695891,-1093079745,1060099497)+W(5,1051534797,-1093891126,-1091476505,1059141168)+W(6,1051659429,-1106347590,-1094225343,1058010671)+W(7,1050835423,999784785,-1098091099,1047889907)+W(8,1033258882,1025328858,1019186220,-1114693988)+W(9,-1124179562,1017248474,-1128567742,-1129815521)+W(10,-1112036922,1031899202,-1123837177,-1106482085)+W(11,-1097732400,-1141903913,-1123224348,1030868870);sum2=W(0,1016621488,1029140379,1031543998,-1116781913)+W(1,-1124282558,-1105795809,1044191480,-1133566515)+W(2,-1128560494,-1175609568,1017978886,1034216133)+W(3,1017899660,1019924506,-1120640387,991940908)+W(4,1078957479,1028477447,1050004941,1082393585)+W(5,-1065075267,-1086493521,-1104837212,-1080327233)+W(6,1030943022,1045155438,-1109285108,-1076777978)+W(7,-1113970478,-1130476854,1033432207,-1110243052)+W(8,1010603263,-1125975170,-1123250937,1025243259)+W(9,-1117319975,1028403247,1007793087,-1125439138)+W(10,1024551608,1020903576,-1125200922,988101688)+W(11,1020472787,1028374268,-1119399555,-1129511338);WS(-1102531292,-1104168529); +sum1=W(0,-1156103398,-1123937923,1032023755,-1149508566)+W(1,1019304359,-1105594348,-1114986325,1005530819)+W(2,-1152861762,1042848102,-1100927253,-1111288609)+W(3,992160490,1048571064,-1131000647,-1123770879)+W(4,1044530702,-1093487559,-1091020399,1058049088)+W(5,1061967565,-1113700815,-1088576155,1057825341)+W(6,1043852869,-1100187457,-1096522221,1057378026)+W(7,1021567685,-1095320739,-1097716728,1032195229)+W(8,1028416434,1022122127,1018386839,-1123106485)+W(9,-1132463754,1023613146,1027828556,-1124442300)+W(10,1030031137,1031835352,-1118265958,-1107169312)+W(11,1015048992,-1151822630,-1124424850,-1127676038);sum2=W(0,-1130983341,1035765483,1034684305,-1112466451)+W(1,-1114093653,-1101908611,-1117553496,1032826781)+W(2,-1154197073,-1106309648,-1105770401,1040752192)+W(3,1032051747,-1113409477,984953298,1026229169)+W(4,-1113050760,-1100149859,-1100658772,-1101371049)+W(5,1063677104,1062452463,1042208912,-1096382267)+W(6,-1114901667,-1095028755,1047214162,-1132405995)+W(7,-1104964374,-1107539022,-1109270652,1023704972)+W(8,1039321546,-1140521940,-1119405084,1043071493)+W(9,-1106482074,1028341682,-1127348451,-1131759707)+W(10,1034888818,-1118255322,1022142418,-1105645940)+W(11,1008251057,1025943565,-1118485150,1035103126);WS(-1107552696,-1110437397); +sum1=W(0,-1123893979,-1115498472,-1114854865,994440345)+W(1,1033249360,-1098484960,-1107252796,-1123659045)+W(2,1025628848,-1113844817,-1105215024,-1115012423)+W(3,-1138236651,-1112267573,1015022176,-1120012907)+W(4,-1143015444,-1103811554,-1169396004,1038159592)+W(5,1066459081,1054059005,-1102945115,1048547885)+W(6,-1114931568,1027966800,-1110458371,1050116824)+W(7,1030992175,1038350450,-1137430074,-1139703834)+W(8,-1176837895,-1126823399,1003079356,-1112745281)+W(9,-1092775086,1036761683,-1127252913,-1113210869)+W(10,-1115481499,-1139958260,-1117476787,-1107508006)+W(11,-1114208046,-1119805695,-1143819946,-1123286831);sum2=W(0,-1134566747,-1121844433,1032112026,-1128900045)+W(1,-1119409466,1041370918,1024457633,1023101249)+W(2,-1124604689,1023011873,-1138667107,1014344875)+W(3,1011013307,1018662193,-1123574415,-1135550339)+W(4,1023900033,1031965476,1020429393,-1122103841)+W(5,1071310745,-1073631838,1010339139,-1130431017)+W(6,1025187637,1038341472,1024644617,1015570157)+W(7,-1118001398,1034637136,-1117036677,1029193653)+W(8,-1168200234,-1116320886,1025087925,-1123818335)+W(9,-1111141033,-1131868341,1037399444,-1111989275)+W(10,1032459330,-1118206868,1027301561,-1128248465)+W(11,1020580065,-1136885571,-1124415769,999769253);WS(-1106869980,-1095812171); +sum1=W(0,-1132768195,1032306163,1030538232,998635262)+W(1,-1109012795,1049530762,1040655940,1031165051)+W(2,959153786,1029124089,1035845131,1031921458)+W(3,1020404450,-1126776961,1034791747,1015400066)+W(4,1027943897,1042581143,1021368885,-1104276842)+W(5,-1079963696,-1098205560,1043839724,-1094369165)+W(6,-1138415831,1043286153,1041010327,-1094529094)+W(7,-1127281161,1032119517,1040781721,-1107836910)+W(8,-1130589992,-1127936403,1012233735,1037657452)+W(9,1052736873,-1106402911,1030674671,1045125152)+W(10,1033263566,-1117746707,1035635524,1041646697)+W(11,1032079673,1007765715,1026900011,-1127518347);sum2=W(0,-1152109415,-1123613558,1016897725,-1137391706)+W(1,-1108578627,1031185182,1031100358,1015680093)+W(2,-1126811133,1016912269,1018767069,1012334874)+W(3,1013671002,-1129388765,-1123894542,-1146463859)+W(4,-1117579022,1034093919,1032188407,-1122041158)+W(5,1068869480,-1079207220,-1107212716,1032233585)+W(6,-1135215962,1010098650,-1118301998,1031129926)+W(7,1025914590,998321459,1010207290,-1172726683)+W(8,-1123954990,-1142267571,1004755699,959684203)+W(9,-1112638895,-1131161181,1020208893,-1144448755)+W(10,1002322227,1010341946,1014639674,-1145613555)+W(11,-1185201771,1014227898,-1128211133,-1163026381);WS(-1106551004,1058945856); +sum1=W(0,1029534949,-1110759309,1027999917,-1136733265)+W(1,1023973738,-1136820001,-1101184472,1040114552)+W(2,-1121731675,1050535890,-1120539979,1008178533)+W(3,998670125,-1112884987,1036280349,-1122738710)+W(4,1039804839,-1090459221,1021052191,1036329486)+W(5,1045009467,-1102642413,-1088507490,1055915689)+W(6,-1092228133,-1141944531,1057115504,-1099722578)+W(7,-1133144549,1024140334,1036514925,-1110742697)+W(8,1042972690,-1126301053,996925861,-1112842790)+W(9,1048917175,-1116120689,1035692146,-1116549941)+W(10,1042662182,1025401864,1032281663,-1103385510)+W(11,1040183891,1009223461,-1122836256,-1123309658);sum2=W(0,1008667864,-1111274931,1029866216,-1166199047)+W(1,-1142224481,-1119220040,1026227362,-1137339492)+W(2,1020018908,-1116678638,1031356244,-1152330850)+W(3,1015962596,-1189397276,1026327024,-1116618549)+W(4,1037662319,1050961303,1016771040,-1143586281)+W(5,-1079795268,-1075413433,1073672156,1052978055)+W(6,1041694498,1026323256,1029037052,-1109068899)+W(7,1027749752,-1119692611,1021575344,-1122243464)+W(8,1039205717,-1119230230,-1174784654,-1123676489)+W(9,1028203090,1028246046,-1117826448,1048063806)+W(10,-1115208722,1024440460,-1160612324,-1113725553)+W(11,-1114291930,1031666290,-1126523302,1002430881);WS(1045979868,-1116118129); +sum1=W(0,-1124899402,-1114857165,-1115974509,1019079208)+W(1,1011594153,-1099509298,-1110287856,-1142300538)+W(2,-1132197046,-1107483943,-1112842949,-1134190949)+W(3,-1135144470,1018268010,-1111331677,-1116332853)+W(4,1046800787,-1098629066,-1096855346,1054347779)+W(5,1063937495,-1097005655,-1093283235,1053005207)+W(6,1048177899,-1104885511,-1090046872,1058166871)+W(7,1056893199,-1096686406,-1102896822,1047873428)+W(8,1029706377,1017939836,-1120438410,-1118610636)+W(9,1015974258,-1116499825,-1131155654,1028644213)+W(10,-1129150352,-1120133576,-1119992573,1040979430)+W(11,-1118433447,-1112688517,-1118080608,1028514810);sum2=W(0,-1115410889,-1116250603,1034058342,-1132220574)+W(1,-1123931551,-1101916549,1029372102,1017347763)+W(2,-1111299822,1035393713,-1104316591,1027749497)+W(3,-1123916419,1033668899,-1107314572,1025854529)+W(4,-1126553639,-1097158033,-1132397996,1008450820)+W(5,1053545154,1060913993,1060185134,-1105866140)+W(6,-1102688086,-1115290197,1033775493,1054419707)+W(7,-1144517652,990325833,-1106841697,1036131430)+W(8,-1108668742,-1118211898,1025437040,-1105536207)+W(9,-1104852271,-1102379864,1034066570,-1106418349)+W(10,-1102129692,-1209279719,-1133416673,-1106993048)+W(11,-1114889391,-1129688184,-1133826631,-1149271050);WS(1058774455,1069380246); +sum1=W(0,-1119757626,1038823639,-1114780225,1032626516)+W(1,1015522813,1034533838,-1098306133,1033017026)+W(2,1036888920,-1112718001,-1103839696,-1128327131)+W(3,-1148588495,1012070438,-1126986782,1032769109)+W(4,1040221656,-1115053555,-1111975378,1045065548)+W(5,-1082356272,-1095104409,1050529784,1021036585)+W(6,1032300191,-1111385431,-1133328720,1057244812)+W(7,1045596067,-1105784401,-1124233691,1043416793)+W(8,1020222778,1037972921,-1121960111,1025328225)+W(9,1045288819,-1139302935,-1112361500,-1115391173)+W(10,1042918995,-1110693582,1018289699,-1116298540)+W(11,1037659662,-1114680879,1027375220,1029500622);sum2=W(0,1019234847,-1124971531,1017265095,-1129789987)+W(1,-1112792165,1047657371,1043137983,-1128803579)+W(2,995307959,1010908150,1034970984,1011967806)+W(3,-1112288614,1027672251,-1107223361,1018394359)+W(4,-1114025560,1022067335,-1116091154,-1124616639)+W(5,-1114992592,1052022695,-1102585265,-1132476030)+W(6,-1115509379,1031244615,1033604172,-1098689491)+W(7,-1128503755,1024636851,1032350856,1006851110)+W(8,-1114442452,-1117824661,1011223606,1033010488)+W(9,-1115343414,-1136738894,1031833634,1028851843)+W(10,-1121158047,1025799099,988094894,1002830796)+W(11,1027935499,-1127411999,-1118870225,-1114060980);WS(1065814108,-1098421406); +sum1=W(0,-1131576032,1022555209,-1104400078,1030554015)+W(1,1019668842,-1118231891,-1130072911,1020712308)+W(2,1023970854,-1115494780,1041059117,-1178997255)+W(3,1023862096,-1104560304,1035736611,1011631425)+W(4,-1099298246,1048827844,1050276747,-1097091133)+W(5,-1084181571,1051719984,1057743463,-1094842433)+W(6,-1094912271,1056339293,1058357819,-1098796514)+W(7,-1092396649,1057941592,1051879221,-1090107010)+W(8,-1106685173,-1132305362,-1119880969,1045406982)+W(9,1018405640,1026194364,-1122176686,1040093248)+W(10,-1115388505,1024072531,1004376640,-1118903138)+W(11,-1118151090,1029155252,1009992363,-1113309730);sum2=W(0,1027104118,1036459641,-1085961218,-1104337717)+W(1,-1122138940,-1101372003,-1092980271,-1114433477)+W(2,1018207462,-1115566688,-1098271754,1048327612)+W(3,1054676844,-1105452167,-1101224844,1015118770)+W(4,-1117484391,-1101810882,1055232204,1065899128)+W(5,1077763913,1071302707,1049041629,1062039746)+W(6,-1079225367,-1087139921,-1084489503,-1088377514)+W(7,-1079350028,-1090077553,1036291830,-1106150830)+W(8,1052764213,1014918739,1023963317,-1090132108)+W(9,-1123596042,1027553578,1035158266,-1092098978)+W(10,1042626102,1025357528,-1115760458,1027311380)+W(11,1053993534,-1115160051,1032466828,-1105072819);WS(-1083527351,-1082119000); +sum1=W(0,-1132057884,1028453762,-1100516229,1025283773)+W(1,-1117776915,1027818609,-1124447466,1024000280)+W(2,-1146975260,-1120656758,1030853236,994019357)+W(3,1016847260,-1111423375,1023329542,1021506300)+W(4,-1097545679,1048327710,1054198743,-1103907601)+W(5,-1088298777,1057412078,1054350616,-1096840081)+W(6,-1097629690,1052404744,1059405315,-1090997910)+W(7,-1097673748,1047886934,1051692752,-1102673054)+W(8,-1114897689,1021031566,-1115248201,-1139734483)+W(9,-1112548849,-1139302503,-1115380998,-1109407791)+W(10,1035903152,-1119316016,1029448614,-1107996896)+W(11,1034953432,-1149960989,1026998601,-1110888465);sum2=W(0,996584188,-1120794590,1034248479,1023717076)+W(1,1005163886,-1124781820,1037241484,-1122858228)+W(2,-1118691920,1026099362,-1115274025,1025356913)+W(3,-1114207359,1010502519,-1121079636,1028885707)+W(4,1045315954,-1094151830,-1113079527,-1110594365)+W(5,-1088752945,-1066051811,-1064957365,-1111180041)+W(6,1052626156,1084041658,1081496726,-1100621689)+W(7,1038857859,-1115018893,1034711477,-1114153113)+W(8,-1113958061,1021526858,999456782,1030579691)+W(9,-1113733983,1031457177,1018369486,-1106054130)+W(10,1032870315,1022214782,-1112407773,1049150725)+W(11,-1106741724,1023330420,-1108284893,1042989109);WS(1031453552,-1108810221); +sum1=W(0,-1141490084,1028200745,-1106571135,-1122540068)+W(1,1029503994,1029495448,-1106394603,-1132153597)+W(2,-1127727061,1043712879,-1118016922,-1126370513)+W(3,1024122485,1041979953,1035505061,-1132743443)+W(4,1023785053,-1104087736,1051764564,-1105389195)+W(5,-1089108304,-1096098616,1055195957,1041720002)+W(6,-1092241143,1028938666,1047204316,1047749927)+W(7,-1098695505,1039644831,1043190746,998106632)+W(8,1027661528,1023137883,-1136080166,-1121040220)+W(9,1031937892,1034024448,-1123745267,-1111907522)+W(10,1025162247,1028910871,-1121356173,-1112974291)+W(11,1002213552,1025100697,-1121641711,-1152510101);sum2=W(0,-1122133197,1033736971,-1117365450,1032316109)+W(1,-1122180337,1009179554,-1117276879,1021061413)+W(2,-1123716599,-1100616286,1034450077,-1115376331)+W(3,-1144451812,-1102305630,-1130550593,1008734994)+W(4,-1104139010,1045998485,-1106184057,1028239450)+W(5,1022309577,1065712953,-1087751568,-1090538079)+W(6,1059658657,-1100023584,-1100319643,-1125496737)+W(7,1053491799,-1107982835,-1115246006,1014965154)+W(8,-1126266788,1029398164,-1127567978,1039709205)+W(9,-1098763613,1016414657,-1106793212,1056538813)+W(10,1022563437,-1113653553,1032114232,1017435581)+W(11,-1103966134,1020870093,1034308617,980175008);WS(1060627383,-1111244297); +sum1=W(0,-1124233202,1023856878,1041984816,-1124372048)+W(1,-1126359548,1013283185,1037843884,-1115057922)+W(2,999175032,-1109047521,-1106598024,-1135390133)+W(3,-1120904377,-1127664786,-1108189319,-1137033126)+W(4,-1097555068,1050454749,1048999428,-1098607926)+W(5,1035134080,1037566628,1057072683,-1092180401)+W(6,1050330552,-1097603878,-1088869991,1055432750)+W(7,1039361415,-1115643873,-1106138715,1046692025)+W(8,-1119853981,-1124350564,1037179887,-1110297584)+W(9,-1117600845,-1180500637,1037306108,-1100337986)+W(10,1040799043,-1132131255,-1107300041,1045634091)+W(11,1042168959,-1132202938,-1126029544,-1129123036);sum2=W(0,-1128416633,1035214610,-1105419467,1027553654)+W(1,1026192109,1034096310,-1102082588,-1120268362)+W(2,-1133939099,1042926233,-1109637676,1010812163)+W(3,1007338654,1039202903,-1103557522,1033310247)+W(4,992160749,-1098506313,1051401064,-1141314538)+W(5,1028842291,1044707561,1041311911,1039698771)+W(6,-1110346070,-1107620104,1040877432,-1128101012)+W(7,-1150310139,-1101325278,1044637450,1041169016)+W(8,1048701957,1023990179,-1086513034,1061407816)+W(9,-1108357660,1027929117,-1083801169,1065441970)+W(10,-1089748519,1054974548,1058347144,-1080219839)+W(11,-1094091750,1054706164,1012370076,-1106511250);WS(1037089208,-1117319375); +sum1=W(0,-1109658215,1037266337,-1127081515,-1117307261)+W(1,-1095157370,1048384396,1045840649,-1104716662)+W(2,-1113906562,1026318614,1042005149,-1115283233)+W(3,-1150522598,-1129730364,1035073906,-1127634429)+W(4,-1103803502,1036834781,1055484319,-1090315640)+W(5,-1089739445,1050929076,1059715066,-1108965493)+W(6,-1090508193,1050537744,1059599591,-1098438340)+W(7,-1090097982,1056916499,1039184033,-1096110967)+W(8,-1121027890,-1122236391,-1140393804,1019801962)+W(9,-1115632913,-1115666157,1007521585,-1120952094)+W(10,1036887192,-1114842616,1038771059,-1115851136)+W(11,994450682,1023772594,1040209394,-1109698481);sum2=W(0,-1086741683,1059199896,1051991389,-1096641595)+W(1,-1071753138,1070628328,1069582799,-1073585699)+W(2,-1096289506,1055331220,1067042424,-1078410756)+W(3,997353903,1024293693,1015112751,-1145261363)+W(4,1044105651,1025236133,-1120991144,-1107135642)+W(5,1065961920,-1098135951,-1123268190,1057042277)+W(6,-1098611055,-1106950583,1032298014,1057516905)+W(7,-1101981251,1025642916,1007537613,1043415065)+W(8,1032269711,1020415755,-1119770484,-1123228782)+W(9,-1144560253,1033682735,-1119862022,-1116194138)+W(10,-1155415556,1022995083,-1113740644,1026966393)+W(11,1011854094,-1130196038,-1144895945,992611856);WS(-1089262391,1050517969); +sum1=W(0,1040766980,1032255106,956356282,-1112721887)+W(1,-1109323658,1053521294,-1115255965,-1116916633)+W(2,-1102481809,1024224759,-1109293354,1043853249)+W(3,-1134508350,998852344,1036451442,1025978335)+W(4,-1099047838,-1136806893,-1112851037,1041136081)+W(5,-1090918435,-1090498606,1047658201,1050954387)+W(6,1046323061,-1101889105,-1111100085,1049475859)+W(7,-1126452038,1037224108,-1112184834,-1129023222)+W(8,1044101949,-1110781188,1033047322,-1118798326)+W(9,1048722524,984126311,1022949658,-1099177336)+W(10,-1109421665,-1151794972,-1111349460,1044026608)+W(11,-1113020120,-1119083507,-1140137768,1044252857);sum2=W(0,1042905493,-1097077111,-1104964203,-1120544497)+W(1,-1104438232,1057982485,-1098230931,1045262161)+W(2,-1122372280,1011970003,-1106247773,1023630957)+W(3,-1121491826,1016978228,1026340389,1027866949)+W(4,-1118581415,1026029661,-1109256198,1056285145)+W(5,1057557770,-1104081201,1056552993,-1079914544)+W(6,1020547274,1033190701,-1114436673,1048964135)+W(7,1034078959,1034442922,-1107460568,-1113753028)+W(8,1025674690,-1118988963,1033408182,-1107706742)+W(9,1048351556,-1136298684,1021102038,-1103396776)+W(10,-1103728916,1034200267,-1112938187,1018818866)+W(11,-1106194166,-1172844144,-1117493164,1046941904);WS(1055467886,-1126093527); +sum1=W(0,1039731987,-1126460340,1037777366,-1115675946)+W(1,1014043817,1049783617,-1145838757,-1108949528)+W(2,-1102050167,1042727635,991251120,1025589529)+W(3,-1114599603,1024161077,-1123043835,1035820699)+W(4,-1103677379,1012406341,-1096353162,1043818615)+W(5,-1102044139,-1095567535,-1088026493,1060367897)+W(6,1049311757,-1095440907,1051881528,-1109258124)+W(7,1046137806,-1116994158,1032817677,-1116399889)+W(8,1031349769,-1103947080,1035905869,-1150025924)+W(9,1044285022,-1129716323,1034985426,1034695514)+W(10,-1115570324,1042590402,-1107675487,1011738461)+W(11,-1110796915,-1140552997,-1104125432,1040150333);sum2=W(0,1042939513,1009748958,-1111463085,-1115939175)+W(1,1036071940,1026404786,-1104760450,-1106984126)+W(2,-1110872047,1018643239,1042746589,-1133154938)+W(3,-1124388167,-1107044825,1024219237,1038271101)+W(4,-1101036999,1048391804,1015189774,1026058510)+W(5,1060091622,1059732347,-1101164712,1046231331)+W(6,1042116887,-1092755101,-1090421446,-1109115274)+W(7,-1137025366,-1112446842,1018386748,-1104891113)+W(8,1019493983,-1128500291,1003109525,-1116961377)+W(9,-1113485706,1036806652,-1127287103,1013441892)+W(10,-1104832958,1042929180,-1110906499,-1102245299)+W(11,-1123717753,1034520620,-1108912836,1043357489);WS(1062208951,1065603754); +sum1=W(0,1012820793,1027274819,1029341462,1032466911)+W(1,1020285479,1040141401,997585115,1029562264)+W(2,1033268866,-1153074023,1032063722,993753125)+W(3,1028903855,1040294280,1015103815,-1131051261)+W(4,1052950767,-1094303727,-1090134924,1059167044)+W(5,-1108524682,-1080037127,-1085543304,1057349364)+W(6,1048703978,-1112675170,-1095616607,1049874906)+W(7,1053103700,-1091636059,-1111683969,1050186639)+W(8,1027990706,1032570772,987089513,-1133534677)+W(9,1037410929,-1125543221,-1136982833,1035990447)+W(10,1023735025,-1145342854,1015158861,1039846496)+W(11,-1118753424,1022936933,1031358985,1040888889);sum2=W(0,1023547272,-1099060438,1042887622,1035386648)+W(1,1026832668,-1099104088,-1099619867,1025878508)+W(2,-1098240729,-1121505868,1048769602,1029828312)+W(3,-1103643200,-1115369075,1040524432,1044150428)+W(4,1053956416,-1112148135,-1090258329,-1086410483)+W(5,1069089225,1060781490,-1093316197,-1094814183)+W(6,1035342184,-1105713821,-1091192206,1044213412)+W(7,1049544904,1058550641,-1089411157,1040447750)+W(8,1050315819,-1099847621,-1113981975,1060158548)+W(9,-1103190742,-1112424275,1046524888,1046080958)+W(10,-1084784918,1019461112,1051146364,-1105160931)+W(11,-1080579858,1040133188,1028619520,1058372334);WS(-1078970012,-1070975772); +sum1=W(0,1008154783,1034628686,-1111813336,1023443287)+W(1,1032996598,-1119594955,1020510238,1008498119)+W(2,1026985054,-1129455456,1037186855,-1130007992)+W(3,1027285064,-1118416824,1024916861,1001505728)+W(4,-1098370186,1052880922,1048282532,-1095332548)+W(5,-1097391342,1065196819,1054365856,-1091304148)+W(6,-1093273302,1040256647,1037830473,-1088889903)+W(7,-1097408559,1044458956,1042516535,-1097878954)+W(8,-1109395910,-1140663171,999582566,1036630695)+W(9,-1105409007,1030941172,-1128098380,1031904252)+W(10,1030320779,-1138808617,1003729918,1022933044)+W(11,1037289397,1005961310,1018809669,-1131972409);sum2=W(0,1035366037,-1143037026,1019032853,-1114009537)+W(1,-1119334122,1056620469,-1122373240,-1111463643)+W(2,1001109746,1002774938,-1103744316,-1132366661)+W(3,-1112054465,1046894720,-1102405348,1035022899)+W(4,-1101234014,-1105571142,1029944441,1024640816)+W(5,1075463933,-1093783941,1044188353,1068131945)+W(6,-1072865378,-1098127223,1050699227,-1075751794)+W(7,1019415611,-1119380340,1028903402,1052446989)+W(8,1031686749,1018164069,-1136399129,-1146945026)+W(9,1046426762,999713778,-1125359481,-1128619453)+W(10,-1131952529,1019524751,-1123073190,-1109652943)+W(11,1017598049,1013611461,983357578,-1123943246);WS(-1137905088,-1096938393); +sum1=W(0,-1139830244,1040763803,-1116133184,-1127951952)+W(1,1019792636,1009683312,1041221580,-1108742721)+W(2,1020799581,1002965001,-1107181880,1018370522)+W(3,-1148599498,1039287108,1022849180,1021418002)+W(4,-1104553656,1046745657,1045295113,-1092624022)+W(5,1044078592,-1112574564,1057147883,-1090149133)+W(6,1043495791,-1103617227,-1085568476,1058802794)+W(7,-1113073030,1022418564,1032014262,1033578226)+W(8,-1103252327,1040451684,1031880695,1023908704)+W(9,-1127338650,1007135764,1026434167,-1103732914)+W(10,991652540,-1125537591,1014113348,1040869579)+W(11,1011288682,-1116579933,1016284007,1013121207);sum2=W(0,1017461301,-1101551098,-1097965159,1036469548)+W(1,-1095997080,1035631286,-1094477168,1017339130)+W(2,-1105423964,1047389393,1054988432,-1099654066)+W(3,-1131580992,1043362318,1041958533,-1113359567)+W(4,-1125992347,-1115644020,1001756270,-1116680345)+W(5,-1103956246,-1105032669,1035448965,1058922542)+W(6,1040203374,-1122662741,1039533461,1040393300)+W(7,1024609216,1025676040,-1130070269,-1108890296)+W(8,-1124365977,1016380025,-1131471357,1032969412)+W(9,-1112710338,-1115585175,1001720584,1040541302)+W(10,-1114085496,1001141734,1001178742,1017600743)+W(11,1015920174,-1122393401,1010209588,-1134082186);WS(1017525984,1039916017); +sum1=W(0,-1147061122,-1127291978,1018048624,-1124853567)+W(1,-1119594613,1032566282,1049183858,-1129462517)+W(2,-1156505185,-1150114695,1036307723,999306018)+W(3,1010192066,-1111959392,-1116656134,1012193026)+W(4,-1104996150,1043181303,1045916039,-1095739637)+W(5,-1090223247,1054999864,1054258797,-1085471393)+W(6,-1105492077,1055713893,-1108082389,-1104470177)+W(7,-1107232129,1049351719,-1134406033,-1109848430)+W(8,1038596810,-1118699785,1019449355,1035770156)+W(9,1024906308,-1125493497,1018729693,1048116160)+W(10,-1114305018,1013642059,-1111613764,1035021201)+W(11,-1132413284,990662981,-1117195563,1014226964);sum2=W(0,-1123818427,1038354785,-1113611213,1033095635)+W(1,-1115456886,1031365710,-1136308834,1023960168)+W(2,-1134763238,1037262635,-1121052824,-1130014725)+W(3,1030713030,1030934712,-1129095405,1020936831)+W(4,1043017802,1005632845,1010827478,-1120605005)+W(5,-1105318511,1065783254,1067061797,1016597499)+W(6,-1129541437,1024758296,1033387493,1032279133)+W(7,969324748,973320358,-1141733133,1028982810)+W(8,-1090567932,1043858115,992544217,-1096460028)+W(9,-1094955795,-1104546945,1041505996,-1078682340)+W(10,994121897,-1115137122,-1114466677,-1114814318)+W(11,-1148320949,-1122716507,1007094454,-1126300988);WS(1033221560,1063777383); +sum1=W(0,1022703059,-1107233655,-1112638616,1019126833)+W(1,-1141147507,1017313945,-1107419652,1034317754)+W(2,-1145478905,1043218964,1030431247,1023815261)+W(3,1017044691,1042038278,1030899327,-1139797991)+W(4,1049316970,-1093677291,-1088696201,1057738402)+W(5,1039925560,-1105678958,-1091493000,1057780266)+W(6,-1097249286,1050643572,1054033952,-1101232178)+W(7,-1097041200,1044902925,1039373871,-1105363093)+W(8,1018619290,-1127677637,-1130166589,1044063732)+W(9,-1123751101,-1141892011,-1141893947,1042363102)+W(10,-1099574259,1032480102,1028589441,-1103422471)+W(11,-1143343447,-1115509735,1000558881,-1109462943);sum2=W(0,1021127838,1011019608,-1106875761,-1130982538)+W(1,-1227267307,1039986653,1024572751,1013698904)+W(2,-1130392938,-1104759550,-1113103478,-1180063220)+W(3,1032270489,-1129087757,1035543741,-1129014326)+W(4,1055137831,1058761027,1055977286,1056618334)+W(5,-1073860127,-1072531400,-1103617496,1048771047)+W(6,1059126644,1063802283,1052255088,-1108123535)+W(7,1042704754,1016319978,1048895081,1045481337)+W(8,-1115387544,1013848532,1020425242,-1102508839)+W(9,1043687089,-1112657573,1016018634,-1128394642)+W(10,-1109991236,-1125248586,1035781641,-1126700500)+W(11,-1121934766,1030839801,-1126407949,1031917163);WS(-1091503470,-1126838795); +sum1=W(0,-1113414670,-1126036384,-1134568843,-1124121237)+W(1,-1111356688,1037814911,1033159265,1028321829)+W(2,-1121133649,1040854417,1031580097,1026686479)+W(3,-1126384695,1027944427,-1106928812,-1120913068)+W(4,1049117760,-1103447906,-1109412515,1047693172)+W(5,1058889082,-1098797565,-1096437464,-1105247938)+W(6,-1120516448,-1106636212,-1104719461,1012762455)+W(7,1040171928,-1106734009,-1129886751,1049438209)+W(8,1034526751,-1113770234,1024589216,-1129997061)+W(9,1022658271,-1114645460,1036105485,-1143270742)+W(10,1042645116,-1138248951,1023714995,-1109175079)+W(11,1012750451,-1145462266,-1132081196,-1104071908);sum2=W(0,-1109269766,1042653975,1025966975,-1121971015)+W(1,-1096349825,1055073186,1058579369,-1096046215)+W(2,-1105457821,1043492169,1043843774,-1104467071)+W(3,-1113812495,1035958317,-1138844670,-1114558576)+W(4,1038662008,-1104797770,1032121603,-1127561691)+W(5,-1156170871,-1098327149,1041625968,-1095336395)+W(6,-1116732629,1028261711,-1090818470,1054347264)+W(7,1025184897,-1130419167,-1117277405,1043300107)+W(8,1018661176,1023052754,-1147835451,-1118316871)+W(9,1035437895,-1114991229,-1129857431,-1131103951)+W(10,-1115472379,-1157273063,1011784142,1042639369)+W(11,-1130646919,-1148362739,1024244091,-1115061521);WS(1065968028,1020949470); +sum1=W(0,1018701500,1020082981,1043191673,1032158503)+W(1,1031923218,1033906881,999481917,1028916776)+W(2,1005807263,1012896153,-1123072324,-1143490705)+W(3,1026731038,1035245559,1015001550,1028568398)+W(4,1043953282,-1139338281,-1089572661,1050691771)+W(5,1032996498,-1081715803,-1091936976,1047062836)+W(6,1057445286,-1088032573,-1087112685,1057457238)+W(7,1057446979,-1095410205,-1100585253,1051530049)+W(8,1041437600,-1139648989,1033006978,983294118)+W(9,1040306653,-1132542121,1033705422,1042367115)+W(10,-1123572193,1033839136,-1138694873,1019100064)+W(11,-1104642968,1015844228,1027376729,1039280729);sum2=W(0,-1114179967,1050997929,-1098284578,-1107158830)+W(1,-1112529879,-1138556160,1032837846,-1106205598)+W(2,1045048740,1033058370,-1103494095,1036191348)+W(3,1045813672,1040601336,-1109765233,-1112261511)+W(4,-1120628180,-1084072333,1059101624,1059620359)+W(5,1064698181,1049137220,1033838752,1056621385)+W(6,-1087565422,-1096659207,-1100194061,1049117565)+W(7,-1087363324,-1087988644,1042760064,1050635491)+W(8,1055292451,1041809552,1041045600,-1080819081)+W(9,-1118657190,1036987884,-1150759871,-1084530179)+W(10,1055648971,-1098721116,1040790470,1035375516)+W(11,1059720072,-1118399816,1028926760,-1101810418);WS(-1079370588,-1069938997); +sum1=W(0,1031876694,1040468568,1024046068,-1107111607)+W(1,1007409349,1041967908,-1110778478,-1108546779)+W(2,-1110402417,1027170100,1037532265,-1119937056)+W(3,-1115195974,1030920188,1028424065,1034313646)+W(4,1048995971,-1106422470,-1106911318,1034755057)+W(5,1056322870,-1089848952,-1092550445,1044693184)+W(6,-1123931633,-1098485404,-1115839591,992363881)+W(7,1034999584,-1101830589,1027494176,1041273350)+W(8,1043602212,-1133546645,-1122522177,1032333322)+W(9,1044063648,-1129245296,-1123999146,-1124221431)+W(10,1015794334,1009488187,-1121719236,-1137125241)+W(11,1024639630,-1115284904,-1146748727,1038675968);sum2=W(0,1039856206,-1094195694,1044972838,-1116010697)+W(1,1047723216,-1090167008,1041658757,1025692273)+W(2,1045538686,-1114739465,-1087657974,1054500142)+W(3,1037455508,1025495534,-1103808398,1020883249)+W(4,1054041965,-1105218154,1025111869,-1107525170)+W(5,1054432792,-1103340827,1047241736,-1095593913)+W(6,-1099510609,1043141319,-1105033641,1048962216)+W(7,-1112321007,1020729805,-1104502432,1041852115)+W(8,1021276689,-1122132060,1027404867,-1115770744)+W(9,1030984707,-1109230755,1036997767,-1113081166)+W(10,1008623973,949401483,1000189578,1026520309)+W(11,1034321699,989367833,-1121181330,1031142833);WS(1051966318,-1113875142); +sum1=W(0,-1111332346,-1135399329,1040145278,1035883793)+W(1,1006041029,-1096989371,1017502534,1045917727)+W(2,1042663274,1025318012,1043615094,-1129901007)+W(3,1014471632,1043398529,-1113005508,-1119690564)+W(4,1051177307,-1096861164,-1091560996,1051696565)+W(5,1061428120,-1087158964,-1091248610,1054251573)+W(6,1050890887,-1096301045,-1098884432,1037934795)+W(7,1049249377,-1093100168,-1093706893,1046007992)+W(8,-1117751383,1039745286,-1126824689,-1133003627)+W(9,-1126263439,1008594943,1020593891,-1178468754)+W(10,1017933485,1035118155,1037849734,-1106662601)+W(11,-1116546293,1028529816,-1114145271,1038615540);sum2=W(0,1032134121,1034430176,995641288,-1120038729)+W(1,1014623636,1032554184,1011533369,-1112337284)+W(2,-1111055788,1037430467,-1114631943,1015804972)+W(3,-1118260382,1020696197,1022278663,1025605092)+W(4,-1099098436,-1099374838,1011267102,1035481768)+W(5,-1122840036,1046041384,1055781369,960227969)+W(6,-1115890560,-1124103196,1055178264,-1123247827)+W(7,1010081074,-1116158530,1039303021,1022436109)+W(8,1055985885,-1113501317,1026093812,1042749492)+W(9,1069533386,-1086401299,-1095011910,1067101038)+W(10,1058921177,-1075689828,-1079450114,1065618150)+W(11,-1118372702,-1095588850,-1082339747,-1106092627);WS(-1087762743,-1114043214); +sum1=W(0,-1111481047,981566559,1040067739,1028903325)+W(1,-1117223539,-1130847267,1032756947,1010874850)+W(2,1027957028,-1113871531,-1123313460,-1114811697)+W(3,1025677743,-1113266015,-1126050567,-1115120063)+W(4,1050679259,-1096161947,-1095653187,1045936105)+W(5,1055533279,-1084280212,-1090950614,1052053924)+W(6,1053658934,1005713692,-1097768267,1059392176)+W(7,1051823712,-1118568631,-1120312930,1039338221)+W(8,1026181394,-1149217596,1029496147,-1122706133)+W(9,1030922562,-1154701224,-1132850610,1034645023)+W(10,-1102292436,1020850850,-1113406339,1030340896)+W(11,-1112577800,-1117302546,1017761874,-1107839810);sum2=W(0,-1125241033,-1111980552,-1150454109,1001016005)+W(1,-1111720092,1037513337,1033028659,1018218852)+W(2,-1140722987,-1144232926,-1109924763,1015413875)+W(3,1010568725,-1113652225,-1117260807,-1138333196)+W(4,1031575403,-1103460210,983352173,1001531747)+W(5,-1085543392,-1076627395,-1103428024,1016765132)+W(6,1054900052,1051272122,1074369634,1053354837)+W(7,1045881209,-1098914955,-1098379064,1041131548)+W(8,1036252996,1023495862,-1157019725,-1106746798)+W(9,1046375720,-1112606370,1033057508,-1128273041)+W(10,-1094917738,-1107285947,1019967806,1055587240)+W(11,-1098562564,1031041657,1012881631,-1106193524);WS(-1090517687,-1095444575); +sum1=W(0,-1111454559,-1106175885,1032739299,1025742446)+W(1,1035513890,-1118213794,-1110724347,1040962578)+W(2,1041617005,1040368314,-1103218657,1025779251)+W(3,1024699903,1024907982,-1105137317,-1106922364)+W(4,1031326631,-1101847659,-1095546301,1054789967)+W(5,1059778428,-1089262225,-1090925684,1052551894)+W(6,1051667296,-1099734269,-1096439373,1045793474)+W(7,1052247674,-1097282993,-1104705805,1040121301)+W(8,-1107099097,-1117676152,1028563508,1033023507)+W(9,1035395209,1007580971,1036888990,1036045063)+W(10,1050132438,1037985265,949923192,-1101529212)+W(11,1016797696,1026673059,-1113513373,-1102593253);sum2=W(0,1035064858,-1104348375,-1095438834,1052208474)+W(1,1055780907,-1084432555,-1079843968,1064043431)+W(2,1057138231,-1086965748,-1106077690,1048070172)+W(3,1042120650,-1106942577,1048708391,-1100953655)+W(4,-1095663473,1048824145,-1101013864,1040952518)+W(5,1054823629,-1105218176,-1097227129,1060639651)+W(6,1057295667,-1106201667,1048082838,-1098542607)+W(7,1035260440,-1136871967,1042233875,-1095587456)+W(8,-1099869349,-1127115193,-1125550479,1045777263)+W(9,-1118379111,972648308,1024044553,1049789703)+W(10,1043327775,1016298873,1021849499,-1102784042)+W(11,1006771796,1030896448,-1116706874,-1107731485);WS(-1115614648,1042425791); +sum1=W(0,-1124027509,1016926292,-1115327070,-1120207204)+W(1,-1105701711,1037845356,1038910502,-1144413692)+W(2,-1120774251,-1105850383,1042236823,1014568102)+W(3,-1119274774,-1117126533,-1134596907,1029691462)+W(4,-1096731140,1053311332,1053481388,-1093340989)+W(5,-1085064420,1049566369,1057006919,-1096554678)+W(6,-1098496607,1048579325,1056376458,-1100005974)+W(7,-1098152617,1043887136,1042582346,-1135406214)+W(8,-1116407641,1010793530,-1113874973,1030984860)+W(9,1043585442,-1114795809,-1116271283,1038600290)+W(10,-1122768840,-1130485552,992031960,1018535375)+W(11,1035562443,-1140222054,1029193328,-1120431498);sum2=W(0,1024332524,-1082891577,-1079712608,-1127240204)+W(1,-1111478947,1047818786,-1081879450,-1145474239)+W(2,-1112394176,1064292926,1066272635,1029335642)+W(3,-1152251822,1063028070,1048742105,1042612281)+W(4,1063276166,1025750476,1049757184,1066527571)+W(5,1033988518,-1093152038,1045572932,1065092416)+W(6,-1085935960,-1107360776,-1129453741,-1081647719)+W(7,-1088819358,-1095668919,1042389166,-1090025738)+W(8,-1127423195,976948665,-1120167031,-1122509441)+W(9,-1126799575,1030959654,-1123809997,-1127801782)+W(10,-1109456127,1026103880,995040830,1033523902)+W(11,-1163717821,1033003323,-1116538748,1029374360);WS(1005558656,-1134386388); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, -3), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, -1), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, 1), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, 3), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, -3), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, -1), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, 1), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, 3), 0); +samples[8] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, -3), 0); +samples[9] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, -1), 0); +samples[10] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, 1), 0); +samples[11] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, 3), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns128, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/gather/nnedi3-nns16-win8x4.glsl b/shaders/nnedi3/gather/nnedi3-nns16-win8x4.glsl new file mode 100644 index 0000000..bc2ecc4 --- /dev/null +++ b/shaders/nnedi3/gather/nnedi3-nns16-win8x4.glsl @@ -0,0 +1,146 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns16, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1112248839,1024662558,-1118620174,-1123354974)+W(1,-1143613552,-1129268360,1028038478,1046299686)+W(2,-1087068557,1048182784,-1103968288,1016130204)+W(3,-1103342192,-1115088511,1047279381,1063313277)+W(4,1059583965,-1119323982,-1117908518,-1101453425)+W(5,1003350800,-1134684248,1034186247,-1088182320)+W(6,1027638054,-1137723992,-1122818124,-1122284590)+W(7,-1111377363,1028117438,978245507,-1124394588);sum2=W(0,-1131063526,-1131086728,-1136248556,-1162931039)+W(1,-1117642655,-1128864654,1031011705,1029801649)+W(2,-1128443230,1044675527,-1119907402,-1115594515)+W(3,-1107118398,-1113986381,1050674207,1042762789)+W(4,-1107588397,-1111169922,1017500018,1022791334)+W(5,-1186206458,1017255694,-1112569685,1009001220)+W(6,-1125594766,-1135599628,1014782692,-1156766128)+W(7,993928432,1007622876,-1114139175,-1148613464);WS(1038828992,1041685264); +sum1=W(0,1049950910,1027336960,995958527,-1114329248)+W(1,1028668144,1025858258,-1107326552,-1097681183)+W(2,1060640651,1045782072,1034401008,-1117673776)+W(3,1033402064,-1122828000,-1105157973,-1085831405)+W(4,-1098159517,-1106507532,1035088196,1038612842)+W(5,-1110558370,-1113173980,1032016120,1053136924)+W(6,-1124000392,-1105439902,1029875310,1008781376)+W(7,1012109856,-1114749520,1034119968,1023707152);sum2=W(0,-1099468189,-1140834082,-1131767489,1031315360)+W(1,1036663822,-1122285462,1024287080,-1112139926)+W(2,-1100127579,1052854494,-1107869385,1023637252)+W(3,1038018354,-1112496415,1052996200,-1117241706)+W(4,1034036134,1024451620,-1117110288,-1107666272)+W(5,-1110479054,-1112615559,1027157968,1027811452)+W(6,1003450083,1041131277,-1110538107,-1124350185)+W(7,998992195,-1106762474,1035032776,-1131082337);WS(-1086074680,1053637716); +sum1=W(0,1042002951,-1165378922,-1148805338,-1121345387)+W(1,-1121398619,991217235,-1115297518,-1113042450)+W(2,1052460699,-1094571489,1049266593,-1136570733)+W(3,-1117268427,1036113926,-1098765182,-1107443934)+W(4,-1124281856,1040734807,-1133439181,1027081787)+W(5,-1136658365,-1112513138,1006695533,1043313411)+W(6,-1121708851,1035650578,-1120818857,-1158465386)+W(7,1021173351,-1106476275,1027853163,1016359031);sum2=W(0,-1170492850,1003954710,1017334370,1026517575)+W(1,-1143472678,998846550,-1132363566,-1138816415)+W(2,-1096673587,-1077357700,1071692777,1051558711)+W(3,-1124275402,1018703670,-1098960792,-1136175651)+W(4,-1098179385,996694924,1020207734,1049822619)+W(5,1007812651,1007766851,1003290486,-1116986501)+W(6,-1122577241,1015494226,1019995718,1022251878)+W(7,1009415395,-1163222937,-1126828734,-1141894102);WS(1051521136,1027207116); +sum1=W(0,1010830545,-1124202632,-1121133108,-1122694020)+W(1,1018062184,-1116091286,1037913146,-1124291704)+W(2,1057246783,1026322980,-1116351908,-1102175837)+W(3,1041281977,-1125394504,982577970,-1093542759)+W(4,-1089509425,1025178484,1009393969,1045518980)+W(5,1008755233,-1127575032,-1118947636,1055793637)+W(6,-1117338572,1009646833,1015772516,1008379217)+W(7,1015898776,-1121163492,1001810977,1001093793);sum2=W(0,-1135527491,-1123650952,1013616911,-1137495011)+W(1,-1118108263,-1128775579,1024465134,1027730022)+W(2,1013443151,-1114797945,1029346938,-1135578111)+W(3,-1098008683,-1080443718,1068130737,1049128967)+W(4,-1122100892,-1128721387,1012413655,1017473747)+W(5,-1101482344,-1137148015,-1143058109,1046423571)+W(6,-1166794345,-1156685818,1008139351,-1133405571)+W(7,-1128178767,991435034,-1126785325,1020545683);WS(1057767608,-1132080751); +sum1=W(0,1025766741,-1135552917,1026017621,1026028453)+W(1,1012106581,-1138611630,1040474693,1035118319)+W(2,1051769667,-1083959172,1048679017,-1117947285)+W(3,1030333189,1045191121,-1084413328,-1111744027)+W(4,-1120826122,1045191525,1011196341,1025261389)+W(5,-1122181545,1030480605,-1110336171,1049618505)+W(6,1028389741,1039505775,1025013027,1015828970)+W(7,1027514349,1020294666,-1123719333,1028257397);sum2=W(0,-1101123140,-1103020887,1028118553,1017587161)+W(1,988296658,1010063898,1022642341,1040188371)+W(2,-1099714612,1049070164,1005112948,1008167722)+W(3,1026403646,1033545355,1046164698,1039093756)+W(4,1032013714,1022049457,1015776789,-1125344655)+W(5,1002132020,1037334715,-1098832696,-1111525569)+W(6,1009340114,-1167693540,-1138850406,-1148301500)+W(7,-1139728254,1035581889,-1103378287,-1115917000);WS(-1099372256,-1088618788); +sum1=W(0,1048693927,1033711782,-1113349022,-1112538182)+W(1,-1109099742,-1110127398,-1129092599,-1112344546)+W(2,1064716592,-1143605597,1024020908,-1103996671)+W(3,1032699126,-1121424940,1044926535,-1086749016)+W(4,-1085173359,1004694493,-1111225386,1046614908)+W(5,-1130166943,-1106709441,1040479887,1062252083)+W(6,-1108087402,-1138402062,-1114146165,-1110537326)+W(7,-1120726228,-1106064827,1042110371,1034104622);sum2=W(0,1013472954,-1131186779,-1144106823,987083788)+W(1,979955865,-1163904780,-1122269098,-1120418118)+W(2,-1139561796,1044091298,-1121977305,-1120467381)+W(3,-1115615181,-1127292875,1042996066,1038342084)+W(4,1038343490,-1115306287,-1162389292,-1118651341)+W(5,-1123141745,1014320394,-1128689408,-1118476220)+W(6,-1155962630,-1117365756,964510307,-1152635694)+W(7,-1135582470,1008840046,-1141833923,-1132569906);WS(1041282784,1044242623); +sum1=W(0,-1171512555,-1121861252,-1119816052,-1119885764)+W(1,1025494836,-1113504879,1040963149,1003864029)+W(2,1057266723,1010135439,-1113812594,-1100880653)+W(3,1043843337,-1125989575,-1118004569,-1094412795)+W(4,-1089952515,1031135156,1015358999,1046531310)+W(5,-1156936827,-1122714492,-1114099002,1056310444)+W(6,-1115226950,1003139037,1021011107,1005085853)+W(7,1003362397,-1120612644,992693307,1015234855);sum2=W(0,-1142619324,1012902153,-1143827754,1005317381)+W(1,1026462555,1020893616,-1128784654,-1126266146)+W(2,-1114788024,-1098688460,1009279342,1019060164)+W(3,1054132458,1070492026,-1078812823,-1094218173)+W(4,-1120377499,1017453102,-1131000233,1014092605)+W(5,1048935725,1011358224,1007638067,-1099532818)+W(6,-1139793504,-1147729078,-1137528453,1012779564)+W(7,1015734963,987943782,1018177647,-1130333980);WS(1046635232,1024078131); +sum1=W(0,1035063871,1034039879,1025138813,1002735212)+W(1,1040314319,1035664624,-1105608655,-1097977761)+W(2,1044122447,-1110416695,-1132524982,1017042555)+W(3,1038536855,-1114843703,1051547730,-1094991056)+W(4,-1092481954,-1094320024,1033606155,1031803657)+W(5,1003107468,1019470987,1047410847,1050188814)+W(6,-1107502027,-1103391009,1015508823,1021596219)+W(7,1021345835,-1136683190,1046101811,1031346589);sum2=W(0,1044036812,-1112231286,-1112281069,-1096475926)+W(1,-1106234474,-1121785528,1024115789,1052862983)+W(2,-1111398905,-1096068583,1041647377,-1116645717)+W(3,-1130292776,1037359643,1038036111,1051331710)+W(4,1026411348,-1114320784,1023473494,-1113263240)+W(5,-1111704128,-1123406807,1028002558,1042458641)+W(6,-1138574198,-1104710548,1039764966,-1117017643)+W(7,-1109714921,1041123403,-1106844581,1037890580);WS(-1088554040,-1076674880); +sum1=W(0,-1132973070,1034501898,1016736263,1026292820)+W(1,-1130131975,1028857234,-1110973538,-1144171612)+W(2,-1089525132,1037427962,-1110236986,1042339025)+W(3,-1108906970,-1112145786,-1123890785,1052671191)+W(4,1056478885,-1118983748,1016313655,-1103961368)+W(5,1002874044,1025897228,1041641985,-1092344862)+W(6,1038469390,-1123320716,1014755782,-1151588920)+W(7,-1130905399,1033705562,1017396903,1010979982);sum2=W(0,-1133182691,1024414743,1007730851,1013915195)+W(1,1020584890,1005058566,-1121307593,-1127318198)+W(2,-1111248658,1040952978,1028189234,981970521)+W(3,-1124411850,1029625115,1057294107,1035588225)+W(4,-1109339192,-1094377458,-1142484934,-1121038101)+W(5,1026110889,1023925523,1024397525,-1107404728)+W(6,-1116592821,-1112421528,1010322539,-1146368902)+W(7,-1140327971,-1199698720,1019759378,-1118541421);WS(1063581112,1015292283); +sum1=W(0,-1125096044,1037634467,-1124445804,-1123806598)+W(1,-1117498166,1006823135,1028314614,1046804719)+W(2,-1083793455,-1098422117,-1112186771,1036776315)+W(3,-1106689849,1004978479,1034155462,1064148787)+W(4,1058965073,-1106625757,-1117642958,-1102837698)+W(5,1033810693,1029436414,1037373467,-1089226130)+W(6,1036181095,-1127761788,1010580432,-1137018200)+W(7,-1119765454,1034713459,1021285644,994321759);sum2=W(0,-1110373665,-1122115974,-1129458054,-1127012521)+W(1,1021812843,1015201109,-1121551577,-1121983257)+W(2,-1118435057,1041258512,-1113739078,-1134632819)+W(3,1039413537,-1127386873,1043546644,-1107711610)+W(4,1025961773,1041055451,-1115241196,-1106078947)+W(5,-1110385416,-1135801459,-1131486243,1048226293)+W(6,1025056413,1029845331,-1119046895,-1122814807)+W(7,-1132245806,-1140149017,1018415015,-1139476701);WS(-1109010880,-1087548956); +sum1=W(0,-1095012676,-1102610188,1034343312,1034947768)+W(1,1029737824,1025692706,1039446704,1046023882)+W(2,-1096454908,-1091443170,1019661856,1016751552)+W(3,1038373096,1039271048,-1105694067,1042564604)+W(4,-1131030249,1042942296,1017025648,-1126501287)+W(5,1012879825,1041317114,-1103700296,1044246468)+W(6,1019936112,1024647464,-1140792121,1030724160)+W(7,1029263800,1041193844,-1107855416,-1141422594);sum2=W(0,-1107522705,-1121503695,-1113997103,1034034732)+W(1,1021740679,-1112744336,1038975878,-1105460279)+W(2,-1114143244,-1105773446,1025456143,1028771217)+W(3,-1121564954,1024971971,1059420344,1032873918)+W(4,-1109746606,-1106040358,-1102403849,1035315492)+W(5,-1122379806,-1106873869,1046039582,1040681265)+W(6,-1106459627,1039219872,-1099438501,1018212015)+W(7,-1130313815,-1105420350,1046943722,1026290649);WS(-1086299832,-1077288694); +sum1=W(0,-1099039878,-1108540692,-1132921948,1021716686)+W(1,1039618828,-1131678690,1021468846,-1111509136)+W(2,-1158126306,1055092577,-1108835908,-1113901292)+W(3,1041516082,-1118733319,1062013047,-1096197083)+W(4,-1089051407,-1113759276,965138311,1023078294)+W(5,-1122936235,1015065790,1022391342,1050708993)+W(6,-1107695832,-1113503632,-1130194922,998651320)+W(7,997649137,1023538631,991635057,-1133490396);sum2=W(0,1035891239,1030599513,1027343155,-1133976495)+W(1,-1113698362,1016406968,-1108453664,-1130801609)+W(2,1037590422,1054189655,-1119506980,-1149877867)+W(3,-1108226898,-1120928356,-1119322812,1012747883)+W(4,1041308688,-1112736561,1016526837,-1126385541)+W(5,1016225738,988482485,-1119223720,-1107379808)+W(6,1004824957,-1120347934,-1140785051,994153115)+W(7,1018050885,-1117792638,-1129452107,-1116360142);WS(-1113279936,1066223903); +sum1=W(0,1040261344,-1140107833,-1141738481,-1128171420)+W(1,-1123695998,-1154978689,-1116929726,-1112013315)+W(2,1050703688,-1100167260,1044160156,-1138940153)+W(3,-1123177006,1034288823,-1100730273,-1108200895)+W(4,-1130335589,1035637471,-1129655596,1020686276)+W(5,-1141423761,-1114187043,1024316286,1040782300)+W(6,-1124525100,1032644739,-1123239900,964173357)+W(7,1013984857,-1108229911,1029624526,1014134393);sum2=W(0,1021458196,1017345212,-1125272644,-1115606620)+W(1,-1131253088,-1143902384,1016051020,1009639320)+W(2,1047257730,1068148121,-1080575150,-1099614716)+W(3,1020803060,1032085971,-1113655261,-1120838650)+W(4,1044966894,1026244022,-1122847678,-1102155153)+W(5,1016311348,-1137376840,-1130782536,-1132238288)+W(6,1017049220,1010161976,-1129056732,-1123394906)+W(7,-1137115752,-1136984808,1004223696,967940860);WS(1060545080,-1126581603); +sum1=W(0,-1112268976,-1128752350,1037657648,1032630360)+W(1,-1125010622,1029508223,1032285712,1045186906)+W(2,-1090205186,1048595306,1037448680,1043836232)+W(3,-1108078856,1041691860,-1094666759,1053340438)+W(4,1057651571,1035187792,1031833596,976149203)+W(5,1042698525,1040118132,-1092127852,-1082657749)+W(6,1034806588,1043419290,1025282125,1031675647)+W(7,1033087420,1034587656,-1096441814,-1104761760);sum2=W(0,1034075649,1026991402,-1126365381,-1123698886)+W(1,-1113635181,-1168196508,-1118780236,998149095)+W(2,1019253181,1047572688,-1121651762,-1135914762)+W(3,-1114469118,-1145545780,1038479879,1023543366)+W(4,1035108181,-1115886918,-1122087574,-1118625490)+W(5,992781287,-1139655050,1011684618,-1114677625)+W(6,1016718341,-1117034488,-1134045690,-1147908244)+W(7,-1142844852,1007905050,-1137057610,-1132109957);WS(-1083899832,-1105526146); +sum1=W(0,-1119744955,-1125720471,-1139718894,1026357515)+W(1,-1111407198,-1152407445,-1106102943,-1117075907)+W(2,-1092285679,1062437883,-1105573131,1044187583)+W(3,-1107209883,-1107292779,1052836221,1048719011)+W(4,1058460257,1022150135,-1119529939,-1104526300)+W(5,-1122559055,-1119739267,-1123085499,-1089717563)+W(6,1033366698,1009731342,-1132776678,-1125768375)+W(7,-1119196243,-1129505495,-1112611206,-1114009838);sum2=W(0,1025172792,-1117035240,-1129400032,-1110807022)+W(1,-1123816828,-1144812946,999654946,1033543849)+W(2,1035443403,-1135427545,-1123619892,-1105612607)+W(3,-1120747576,-1113498942,1053020794,1039345667)+W(4,-1111010692,-1115955576,1016529300,-1131262448)+W(5,-1113301822,-1146605522,-1135856481,1047843748)+W(6,-1117326476,-1121250556,-1136239801,-1129444600)+W(7,-1119691028,-1135792457,998047364,1022819536);WS(-1107513792,1064663354); +sum1=W(0,-1113532308,1021510766,-1161118946,1030862455)+W(1,-1123071015,1009770420,-1127591630,1032378968)+W(2,-1091621085,1046262406,-1104300038,1040244826)+W(3,-1107582956,-1108820108,1034822530,1051734861)+W(4,1054782000,1019068110,-1135077628,-1102940181)+W(5,-1125175670,1025488559,1031948820,-1095483267)+W(6,1036941280,-1128724830,1011863892,-1135539484)+W(7,-1126076542,1036426604,-1120336759,-1172984259);sum2=W(0,-1140752647,-1123380440,-1139065871,-1135206239)+W(1,974924014,-1133276463,1021581075,1022777359)+W(2,988696695,-1092786651,1025917606,1026230428)+W(3,1029689087,-1140169471,-1085937537,-1122295168)+W(4,1049996339,1057784826,1013849783,1027050280)+W(5,-1135329695,-1124883951,-1130048007,1032573953)+W(6,1033822297,1034470972,-1127829351,1016077019)+W(7,1011238415,1001568686,-1137094527,1032545188);WS(1058918200,-1121082995); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, -1), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 1), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -1), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 1), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -1), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 1), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, -1), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, 1), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns16, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns16, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1118620174,1024662558,-1112248839,-1123354974)+W(1,-1103968288,1048182784,-1087068557,1016130204)+W(2,-1117908518,-1119323982,1059583965,-1101453425)+W(3,-1122818124,-1137723992,1027638054,-1122284590)+W(4,1028038478,-1129268360,-1143613552,1046299686)+W(5,1047279381,-1115088511,-1103342192,1063313277)+W(6,1034186247,-1134684248,1003350800,-1088182320)+W(7,978245507,1028117438,-1111377363,-1124394588);sum2=W(0,-1136248556,-1131086728,-1131063526,-1162931039)+W(1,-1119907402,1044675527,-1128443230,-1115594515)+W(2,1017500018,-1111169922,-1107588397,1022791334)+W(3,1014782692,-1135599628,-1125594766,-1156766128)+W(4,1031011705,-1128864654,-1117642655,1029801649)+W(5,1050674207,-1113986381,-1107118398,1042762789)+W(6,-1112569685,1017255694,-1186206458,1009001220)+W(7,-1114139175,1007622876,993928432,-1148613464);WS(1038828992,1041685264); +sum1=W(0,995958527,1027336960,1049950910,-1114329248)+W(1,1034401008,1045782072,1060640651,-1117673776)+W(2,1035088196,-1106507532,-1098159517,1038612842)+W(3,1029875310,-1105439902,-1124000392,1008781376)+W(4,-1107326552,1025858258,1028668144,-1097681183)+W(5,-1105157973,-1122828000,1033402064,-1085831405)+W(6,1032016120,-1113173980,-1110558370,1053136924)+W(7,1034119968,-1114749520,1012109856,1023707152);sum2=W(0,-1131767489,-1140834082,-1099468189,1031315360)+W(1,-1107869385,1052854494,-1100127579,1023637252)+W(2,-1117110288,1024451620,1034036134,-1107666272)+W(3,-1110538107,1041131277,1003450083,-1124350185)+W(4,1024287080,-1122285462,1036663822,-1112139926)+W(5,1052996200,-1112496415,1038018354,-1117241706)+W(6,1027157968,-1112615559,-1110479054,1027811452)+W(7,1035032776,-1106762474,998992195,-1131082337);WS(-1086074680,1053637716); +sum1=W(0,-1148805338,-1165378922,1042002951,-1121345387)+W(1,1049266593,-1094571489,1052460699,-1136570733)+W(2,-1133439181,1040734807,-1124281856,1027081787)+W(3,-1120818857,1035650578,-1121708851,-1158465386)+W(4,-1115297518,991217235,-1121398619,-1113042450)+W(5,-1098765182,1036113926,-1117268427,-1107443934)+W(6,1006695533,-1112513138,-1136658365,1043313411)+W(7,1027853163,-1106476275,1021173351,1016359031);sum2=W(0,1017334370,1003954710,-1170492850,1026517575)+W(1,1071692777,-1077357700,-1096673587,1051558711)+W(2,1020207734,996694924,-1098179385,1049822619)+W(3,1019995718,1015494226,-1122577241,1022251878)+W(4,-1132363566,998846550,-1143472678,-1138816415)+W(5,-1098960792,1018703670,-1124275402,-1136175651)+W(6,1003290486,1007766851,1007812651,-1116986501)+W(7,-1126828734,-1163222937,1009415395,-1141894102);WS(1051521136,1027207116); +sum1=W(0,-1121133108,-1124202632,1010830545,-1122694020)+W(1,-1116351908,1026322980,1057246783,-1102175837)+W(2,1009393969,1025178484,-1089509425,1045518980)+W(3,1015772516,1009646833,-1117338572,1008379217)+W(4,1037913146,-1116091286,1018062184,-1124291704)+W(5,982577970,-1125394504,1041281977,-1093542759)+W(6,-1118947636,-1127575032,1008755233,1055793637)+W(7,1001810977,-1121163492,1015898776,1001093793);sum2=W(0,1013616911,-1123650952,-1135527491,-1137495011)+W(1,1029346938,-1114797945,1013443151,-1135578111)+W(2,1012413655,-1128721387,-1122100892,1017473747)+W(3,1008139351,-1156685818,-1166794345,-1133405571)+W(4,1024465134,-1128775579,-1118108263,1027730022)+W(5,1068130737,-1080443718,-1098008683,1049128967)+W(6,-1143058109,-1137148015,-1101482344,1046423571)+W(7,-1126785325,991435034,-1128178767,1020545683);WS(1057767608,-1132080751); +sum1=W(0,1026017621,-1135552917,1025766741,1026028453)+W(1,1048679017,-1083959172,1051769667,-1117947285)+W(2,1011196341,1045191525,-1120826122,1025261389)+W(3,1025013027,1039505775,1028389741,1015828970)+W(4,1040474693,-1138611630,1012106581,1035118319)+W(5,-1084413328,1045191121,1030333189,-1111744027)+W(6,-1110336171,1030480605,-1122181545,1049618505)+W(7,-1123719333,1020294666,1027514349,1028257397);sum2=W(0,1028118553,-1103020887,-1101123140,1017587161)+W(1,1005112948,1049070164,-1099714612,1008167722)+W(2,1015776789,1022049457,1032013714,-1125344655)+W(3,-1138850406,-1167693540,1009340114,-1148301500)+W(4,1022642341,1010063898,988296658,1040188371)+W(5,1046164698,1033545355,1026403646,1039093756)+W(6,-1098832696,1037334715,1002132020,-1111525569)+W(7,-1103378287,1035581889,-1139728254,-1115917000);WS(-1099372256,-1088618788); +sum1=W(0,-1113349022,1033711782,1048693927,-1112538182)+W(1,1024020908,-1143605597,1064716592,-1103996671)+W(2,-1111225386,1004694493,-1085173359,1046614908)+W(3,-1114146165,-1138402062,-1108087402,-1110537326)+W(4,-1129092599,-1110127398,-1109099742,-1112344546)+W(5,1044926535,-1121424940,1032699126,-1086749016)+W(6,1040479887,-1106709441,-1130166943,1062252083)+W(7,1042110371,-1106064827,-1120726228,1034104622);sum2=W(0,-1144106823,-1131186779,1013472954,987083788)+W(1,-1121977305,1044091298,-1139561796,-1120467381)+W(2,-1162389292,-1115306287,1038343490,-1118651341)+W(3,964510307,-1117365756,-1155962630,-1152635694)+W(4,-1122269098,-1163904780,979955865,-1120418118)+W(5,1042996066,-1127292875,-1115615181,1038342084)+W(6,-1128689408,1014320394,-1123141745,-1118476220)+W(7,-1141833923,1008840046,-1135582470,-1132569906);WS(1041282784,1044242623); +sum1=W(0,-1119816052,-1121861252,-1171512555,-1119885764)+W(1,-1113812594,1010135439,1057266723,-1100880653)+W(2,1015358999,1031135156,-1089952515,1046531310)+W(3,1021011107,1003139037,-1115226950,1005085853)+W(4,1040963149,-1113504879,1025494836,1003864029)+W(5,-1118004569,-1125989575,1043843337,-1094412795)+W(6,-1114099002,-1122714492,-1156936827,1056310444)+W(7,992693307,-1120612644,1003362397,1015234855);sum2=W(0,-1143827754,1012902153,-1142619324,1005317381)+W(1,1009279342,-1098688460,-1114788024,1019060164)+W(2,-1131000233,1017453102,-1120377499,1014092605)+W(3,-1137528453,-1147729078,-1139793504,1012779564)+W(4,-1128784654,1020893616,1026462555,-1126266146)+W(5,-1078812823,1070492026,1054132458,-1094218173)+W(6,1007638067,1011358224,1048935725,-1099532818)+W(7,1018177647,987943782,1015734963,-1130333980);WS(1046635232,1024078131); +sum1=W(0,1025138813,1034039879,1035063871,1002735212)+W(1,-1132524982,-1110416695,1044122447,1017042555)+W(2,1033606155,-1094320024,-1092481954,1031803657)+W(3,1015508823,-1103391009,-1107502027,1021596219)+W(4,-1105608655,1035664624,1040314319,-1097977761)+W(5,1051547730,-1114843703,1038536855,-1094991056)+W(6,1047410847,1019470987,1003107468,1050188814)+W(7,1046101811,-1136683190,1021345835,1031346589);sum2=W(0,-1112281069,-1112231286,1044036812,-1096475926)+W(1,1041647377,-1096068583,-1111398905,-1116645717)+W(2,1023473494,-1114320784,1026411348,-1113263240)+W(3,1039764966,-1104710548,-1138574198,-1117017643)+W(4,1024115789,-1121785528,-1106234474,1052862983)+W(5,1038036111,1037359643,-1130292776,1051331710)+W(6,1028002558,-1123406807,-1111704128,1042458641)+W(7,-1106844581,1041123403,-1109714921,1037890580);WS(-1088554040,-1076674880); +sum1=W(0,1016736263,1034501898,-1132973070,1026292820)+W(1,-1110236986,1037427962,-1089525132,1042339025)+W(2,1016313655,-1118983748,1056478885,-1103961368)+W(3,1014755782,-1123320716,1038469390,-1151588920)+W(4,-1110973538,1028857234,-1130131975,-1144171612)+W(5,-1123890785,-1112145786,-1108906970,1052671191)+W(6,1041641985,1025897228,1002874044,-1092344862)+W(7,1017396903,1033705562,-1130905399,1010979982);sum2=W(0,1007730851,1024414743,-1133182691,1013915195)+W(1,1028189234,1040952978,-1111248658,981970521)+W(2,-1142484934,-1094377458,-1109339192,-1121038101)+W(3,1010322539,-1112421528,-1116592821,-1146368902)+W(4,-1121307593,1005058566,1020584890,-1127318198)+W(5,1057294107,1029625115,-1124411850,1035588225)+W(6,1024397525,1023925523,1026110889,-1107404728)+W(7,1019759378,-1199698720,-1140327971,-1118541421);WS(1063581112,1015292283); +sum1=W(0,-1124445804,1037634467,-1125096044,-1123806598)+W(1,-1112186771,-1098422117,-1083793455,1036776315)+W(2,-1117642958,-1106625757,1058965073,-1102837698)+W(3,1010580432,-1127761788,1036181095,-1137018200)+W(4,1028314614,1006823135,-1117498166,1046804719)+W(5,1034155462,1004978479,-1106689849,1064148787)+W(6,1037373467,1029436414,1033810693,-1089226130)+W(7,1021285644,1034713459,-1119765454,994321759);sum2=W(0,-1129458054,-1122115974,-1110373665,-1127012521)+W(1,-1113739078,1041258512,-1118435057,-1134632819)+W(2,-1115241196,1041055451,1025961773,-1106078947)+W(3,-1119046895,1029845331,1025056413,-1122814807)+W(4,-1121551577,1015201109,1021812843,-1121983257)+W(5,1043546644,-1127386873,1039413537,-1107711610)+W(6,-1131486243,-1135801459,-1110385416,1048226293)+W(7,1018415015,-1140149017,-1132245806,-1139476701);WS(-1109010880,-1087548956); +sum1=W(0,1034343312,-1102610188,-1095012676,1034947768)+W(1,1019661856,-1091443170,-1096454908,1016751552)+W(2,1017025648,1042942296,-1131030249,-1126501287)+W(3,-1140792121,1024647464,1019936112,1030724160)+W(4,1039446704,1025692706,1029737824,1046023882)+W(5,-1105694067,1039271048,1038373096,1042564604)+W(6,-1103700296,1041317114,1012879825,1044246468)+W(7,-1107855416,1041193844,1029263800,-1141422594);sum2=W(0,-1113997103,-1121503695,-1107522705,1034034732)+W(1,1025456143,-1105773446,-1114143244,1028771217)+W(2,-1102403849,-1106040358,-1109746606,1035315492)+W(3,-1099438501,1039219872,-1106459627,1018212015)+W(4,1038975878,-1112744336,1021740679,-1105460279)+W(5,1059420344,1024971971,-1121564954,1032873918)+W(6,1046039582,-1106873869,-1122379806,1040681265)+W(7,1046943722,-1105420350,-1130313815,1026290649);WS(-1086299832,-1077288694); +sum1=W(0,-1132921948,-1108540692,-1099039878,1021716686)+W(1,-1108835908,1055092577,-1158126306,-1113901292)+W(2,965138311,-1113759276,-1089051407,1023078294)+W(3,-1130194922,-1113503632,-1107695832,998651320)+W(4,1021468846,-1131678690,1039618828,-1111509136)+W(5,1062013047,-1118733319,1041516082,-1096197083)+W(6,1022391342,1015065790,-1122936235,1050708993)+W(7,991635057,1023538631,997649137,-1133490396);sum2=W(0,1027343155,1030599513,1035891239,-1133976495)+W(1,-1119506980,1054189655,1037590422,-1149877867)+W(2,1016526837,-1112736561,1041308688,-1126385541)+W(3,-1140785051,-1120347934,1004824957,994153115)+W(4,-1108453664,1016406968,-1113698362,-1130801609)+W(5,-1119322812,-1120928356,-1108226898,1012747883)+W(6,-1119223720,988482485,1016225738,-1107379808)+W(7,-1129452107,-1117792638,1018050885,-1116360142);WS(-1113279936,1066223903); +sum1=W(0,-1141738481,-1140107833,1040261344,-1128171420)+W(1,1044160156,-1100167260,1050703688,-1138940153)+W(2,-1129655596,1035637471,-1130335589,1020686276)+W(3,-1123239900,1032644739,-1124525100,964173357)+W(4,-1116929726,-1154978689,-1123695998,-1112013315)+W(5,-1100730273,1034288823,-1123177006,-1108200895)+W(6,1024316286,-1114187043,-1141423761,1040782300)+W(7,1029624526,-1108229911,1013984857,1014134393);sum2=W(0,-1125272644,1017345212,1021458196,-1115606620)+W(1,-1080575150,1068148121,1047257730,-1099614716)+W(2,-1122847678,1026244022,1044966894,-1102155153)+W(3,-1129056732,1010161976,1017049220,-1123394906)+W(4,1016051020,-1143902384,-1131253088,1009639320)+W(5,-1113655261,1032085971,1020803060,-1120838650)+W(6,-1130782536,-1137376840,1016311348,-1132238288)+W(7,1004223696,-1136984808,-1137115752,967940860);WS(1060545080,-1126581603); +sum1=W(0,1037657648,-1128752350,-1112268976,1032630360)+W(1,1037448680,1048595306,-1090205186,1043836232)+W(2,1031833596,1035187792,1057651571,976149203)+W(3,1025282125,1043419290,1034806588,1031675647)+W(4,1032285712,1029508223,-1125010622,1045186906)+W(5,-1094666759,1041691860,-1108078856,1053340438)+W(6,-1092127852,1040118132,1042698525,-1082657749)+W(7,-1096441814,1034587656,1033087420,-1104761760);sum2=W(0,-1126365381,1026991402,1034075649,-1123698886)+W(1,-1121651762,1047572688,1019253181,-1135914762)+W(2,-1122087574,-1115886918,1035108181,-1118625490)+W(3,-1134045690,-1117034488,1016718341,-1147908244)+W(4,-1118780236,-1168196508,-1113635181,998149095)+W(5,1038479879,-1145545780,-1114469118,1023543366)+W(6,1011684618,-1139655050,992781287,-1114677625)+W(7,-1137057610,1007905050,-1142844852,-1132109957);WS(-1083899832,-1105526146); +sum1=W(0,-1139718894,-1125720471,-1119744955,1026357515)+W(1,-1105573131,1062437883,-1092285679,1044187583)+W(2,-1119529939,1022150135,1058460257,-1104526300)+W(3,-1132776678,1009731342,1033366698,-1125768375)+W(4,-1106102943,-1152407445,-1111407198,-1117075907)+W(5,1052836221,-1107292779,-1107209883,1048719011)+W(6,-1123085499,-1119739267,-1122559055,-1089717563)+W(7,-1112611206,-1129505495,-1119196243,-1114009838);sum2=W(0,-1129400032,-1117035240,1025172792,-1110807022)+W(1,-1123619892,-1135427545,1035443403,-1105612607)+W(2,1016529300,-1115955576,-1111010692,-1131262448)+W(3,-1136239801,-1121250556,-1117326476,-1129444600)+W(4,999654946,-1144812946,-1123816828,1033543849)+W(5,1053020794,-1113498942,-1120747576,1039345667)+W(6,-1135856481,-1146605522,-1113301822,1047843748)+W(7,998047364,-1135792457,-1119691028,1022819536);WS(-1107513792,1064663354); +sum1=W(0,-1161118946,1021510766,-1113532308,1030862455)+W(1,-1104300038,1046262406,-1091621085,1040244826)+W(2,-1135077628,1019068110,1054782000,-1102940181)+W(3,1011863892,-1128724830,1036941280,-1135539484)+W(4,-1127591630,1009770420,-1123071015,1032378968)+W(5,1034822530,-1108820108,-1107582956,1051734861)+W(6,1031948820,1025488559,-1125175670,-1095483267)+W(7,-1120336759,1036426604,-1126076542,-1172984259);sum2=W(0,-1139065871,-1123380440,-1140752647,-1135206239)+W(1,1025917606,-1092786651,988696695,1026230428)+W(2,1013849783,1057784826,1049996339,1027050280)+W(3,-1127829351,1034470972,1033822297,1016077019)+W(4,1021581075,-1133276463,974924014,1022777359)+W(5,-1085937537,-1140169471,1029689087,-1122295168)+W(6,-1130048007,-1124883951,-1135329695,1032573953)+W(7,-1137094527,1001568686,1011238415,1032545188);WS(1058918200,-1121082995); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -3), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -1), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 1), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 3), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -3), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -1), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 1), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 3), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns16, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/gather/nnedi3-nns16-win8x6.glsl b/shaders/nnedi3/gather/nnedi3-nns16-win8x6.glsl new file mode 100644 index 0000000..d72c453 --- /dev/null +++ b/shaders/nnedi3/gather/nnedi3-nns16-win8x6.glsl @@ -0,0 +1,154 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns16, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,1027745880,-1121396864,-1130469888,-1126897990)+W(1,1024642508,-1107295041,1039079928,1024250604)+W(2,-1149906049,-1126556538,-1147395201,-1121959908)+W(3,1041026790,1042195560,-1116173177,-1113607518)+W(4,1044630722,999141354,-1098313415,1022159130)+W(5,1005058137,1007702352,1019497054,-1107136294)+W(6,1018714920,1026239260,-1133977224,1015526727)+W(7,-1106681307,1038936227,-1106606352,1042189511)+W(8,-1121374916,1025050132,-1124106064,1035880216)+W(9,-1131068140,1015308851,-1122292152,990390561)+W(10,-1122507740,1031978820,-1122039043,1013770942)+W(11,-1135809122,1018900008,-1116330759,-1136584888);sum2=W(0,1011515348,1029416248,1023321012,1017133506)+W(1,-1123730089,1020129658,-1115999672,-1139818306)+W(2,-1138856554,1007066512,1015618084,996184056)+W(3,1057587887,1071604647,-1112177411,-1119553894)+W(4,-1109933138,-1097028615,-1079392139,-1090489276)+W(5,-1145378916,1008681896,1028448562,1016266760)+W(6,1051025857,1035052104,-1133574805,-1165256880)+W(7,-1105405946,-1135392452,-1139515542,-1098617840)+W(8,1000343320,991053648,-1138601606,-1155286464)+W(9,1010374724,1018728192,-1135761830,1020043526)+W(10,-1142174380,1002597928,1024878156,-1121583660)+W(11,-1155288808,-1132781834,-1131188096,997185888);WS(1018288640,1027735986); +sum1=W(0,-1178449286,-1114624234,1006778572,1012158232)+W(1,-1128542910,1027108853,1032943202,1044498160)+W(2,1002517720,964628492,1017365062,-1115962871)+W(3,-1104570115,1028919475,-1156175041,1025063871)+W(4,-1088743921,-1106124541,-1097612337,1059928494)+W(5,-1134936888,-1146238776,1026836706,1032615126)+W(6,1034856692,-1127457566,-1140348884,1010747802)+W(7,1059914122,1032056909,1031833306,-1085331503)+W(8,1020458158,1016604174,-1122073627,-1114177498)+W(9,-1122825993,-1115773453,-1172026051,1020162890)+W(10,1033999672,1027508251,1038136595,-1119592595)+W(11,998219705,1023799671,-1129465364,1022377282);sum2=W(0,-1130460798,985194115,-1145399745,-1126840972)+W(1,1017322604,-1129997452,-1120812206,1019075916)+W(2,-1131047996,-1143360737,1006903064,-1131054760)+W(3,-1112997847,-1120456092,991527106,-1139273136)+W(4,1042717692,1051048254,1043975251,-1139625904)+W(5,-1130986946,1007107280,-1113881740,-1114175000)+W(6,1001121889,1017866680,-1139461992,-1135317632)+W(7,-1121880440,-1112673669,-1128878392,-1150833602)+W(8,-1143215153,-1125685806,1026044394,978663174)+W(9,1006765920,1000306721,995542402,-1129486378)+W(10,-1126929736,-1114488494,-1142139489,-1133504840)+W(11,-1144361281,-1134951296,1007041936,1014584312);WS(1042433344,-1111851638); +sum1=W(0,-1112658226,-1123380939,-1139940268,-1128612156)+W(1,1043958886,1033805831,-1126908022,-1119638967)+W(2,-1128976934,-1142120768,-1115346894,-1120465263)+W(3,-1128727592,-1107767030,984858240,-1122042583)+W(4,1057665642,1046318672,1052387104,-1097703246)+W(5,1005565040,-1148354296,-1108167869,-1104545545)+W(6,-1114896432,-1115281716,-1146630760,999630836)+W(7,-1095395475,-1117224401,1030603948,1054789077)+W(8,-1133849404,-1117808895,-1163176544,1029397739)+W(9,-1129996802,-1123547845,996431920,-1126512698)+W(10,-1123618471,-1113258842,1026334318,1028419819)+W(11,1013349902,-1120421311,-1134051464,-1117439993);sum2=W(0,-1109389142,-1119299282,-1132240188,1022431497)+W(1,1028727631,-1129989652,-1139248009,1004613154)+W(2,-1132574761,-1114039002,-1140046689,1029503922)+W(3,-1107432916,1044244351,-1114822837,1024165374)+W(4,1047487962,-1100679909,-1108646182,1041447926)+W(5,-1135952741,-1123756570,1040665470,1017218352)+W(6,1031006195,983982854,-1124855948,-1120729932)+W(7,-1126089152,1033956847,1009435309,1047688354)+W(8,-1148002498,1028342876,-1107003694,-1120804126)+W(9,-1158996358,-1121099750,-1128289576,-1126342960)+W(10,-1123334894,1039673953,1036127241,-1122846542)+W(11,-1117057946,1026336008,-1102421772,-1140927562);WS(1015433728,1058400049); +sum1=W(0,1031161269,1032977294,-1133909491,-1139873791)+W(1,1033801204,-1131731326,-1112917766,-1113693508)+W(2,-1143910182,1019358132,989007258,-1119172737)+W(3,-1116372870,1035249566,-1230944644,1023506921)+W(4,1045725159,-1102794347,-1103376612,-1116140698)+W(5,1008313039,-1115540344,1044071755,-1122523445)+W(6,-1120831281,-1114963068,1028378783,-1118840528)+W(7,-1116748777,1032646513,-1141442286,1044830734)+W(8,-1126204226,-1118552369,1018738506,1030473357)+W(9,1032892305,-1105610222,1033465034,-1121050287)+W(10,-1112562780,1030129285,1034039600,1023234585)+W(11,1016154651,-1124368226,-1122899972,1021910870);sum2=W(0,-1158711528,1013039401,992976916,-1138428449)+W(1,-1140697417,-1123518198,-1130455464,-1124467432)+W(2,1012442941,975746961,1033499227,1030243467)+W(3,-1128734961,1036130613,976851025,-1142924106)+W(4,-1099387353,-1077268149,-1097860430,-1113146735)+W(5,-1122081826,-1117904739,1072898808,1051222006)+W(6,1010050489,-1137359275,997652548,989093448)+W(7,-1091225653,1032494444,-1122996798,-1108810723)+W(8,-1131990027,951236744,1025590581,1056060393)+W(9,990210276,-1138876101,-1134977059,-1153131756)+W(10,-1115493835,1018469149,-1127238416,-1140348735)+W(11,1006284898,-1146863422,1026307569,1025171621);WS(-1143089152,1030017260); +sum1=W(0,-1116644609,-1127223379,1001605962,1012276081)+W(1,-1124688427,1035777366,-1119160665,1019444907)+W(2,-1130860131,-1130309965,-1136557285,1029853709)+W(3,-1109637089,-1115433381,-1155861797,1024406997)+W(4,-1098625404,1006101820,1044433671,1048989101)+W(5,-1130883561,1009046005,-1111190908,1038057505)+W(6,1036571679,1028189701,-1122534699,-1155627981)+W(7,1048780603,-1104960796,1039597237,-1098184025)+W(8,1025361773,1018788475,-1130076067,-1112291813)+W(9,-1126280255,1036379833,-1120990241,1018348791)+W(10,1029641477,-1111599465,-1136463217,-1117935161)+W(11,-1125993892,1020397819,-1154886405,1012573277);sum2=W(0,1008405084,985822624,-1147284080,-1153319600)+W(1,-1140784820,-1129308604,1010505984,-1118973116)+W(2,1010769460,1001814848,1021293048,1012585128)+W(3,-1142311064,1022276922,995456320,1008968960)+W(4,1037448945,1057794596,-1089187936,-1101248908)+W(5,-1160749952,-1123619202,1033366347,1024969278)+W(6,-1140411728,1005012008,-1146954776,-1140178660)+W(7,1029773785,1015531414,1017518401,-1109859050)+W(8,-1136545168,1000322872,1007802556,1024400778)+W(9,1003782736,1006946188,-1170856127,-1142030464)+W(10,974134143,960534268,995727232,982409184)+W(11,-1152799248,985284128,1009923956,1003482728);WS(1064472528,-1121594920); +sum1=W(0,1027230343,1032290711,-1143599223,-1142654991)+W(1,1027061019,1016010466,-1113392623,-1112807213)+W(2,-1164359388,1014490160,991342574,-1128825126)+W(3,-1136037408,1002050167,1010500896,1014568428)+W(4,1034098395,-1112872467,-1113734161,-1115590690)+W(5,-1148094031,-1127829894,1027642302,1008695068)+W(6,-1122938499,-1120250507,1020884834,-1124387333)+W(7,-1130883382,1015162858,1029912912,1038834309)+W(8,-1138058188,-1124941766,1015817710,1013984188)+W(9,1025589157,-1110863224,1026841191,-1131205634)+W(10,-1123484555,1019435182,1031947569,1019867389)+W(11,1008886302,-1130075526,-1129521612,1015459258);sum2=W(0,-1154115373,-1139843175,-1147429191,1003807591)+W(1,1017182228,1024488826,1001833687,1000124719)+W(2,-1130234859,987658746,-1116401990,-1126980607)+W(3,1018649088,1016729308,-1132089351,1002635095)+W(4,1040714709,1063780536,-1105992985,1008095031)+W(5,1013729967,1024604622,-1085442794,-1105844805)+W(6,1024344696,-1155997437,-1151072125,-1147602519)+W(7,1047200342,1020609216,-1132427785,1014141127)+W(8,995366957,-1147894927,-1122913939,-1101306502)+W(9,1001714367,-1141691791,1011860423,964968041)+W(10,1023684454,1017456200,-1139390003,-1141957575)+W(11,-1146690231,-1146063807,-1128761080,-1125194898);WS(1061878800,-1131153991); +sum1=W(0,1015115512,1031144036,1018625288,-1123872727)+W(1,1041224340,1009910425,-1102371221,-1099302516)+W(2,-1171049230,1022902338,1014687697,-1144166978)+W(3,1036357847,-1108974562,1026350045,-1127640224)+W(4,1052022073,1058525661,1059569738,-1085394744)+W(5,-1132534141,1016189168,-1125187302,-1115552350)+W(6,-1107191102,1006433282,1018183052,1013916191)+W(7,-1088226291,-1097316565,1032504563,1050617832)+W(8,-1123531112,-1127405808,1040234099,1037730450)+W(9,1014427177,1026198990,1016048056,-1145362866)+W(10,-1109508096,-1098228398,1033421596,1031877738)+W(11,1018548825,-1137247201,1035235966,1015825508);sum2=W(0,1031269327,-1131640108,973798558,-1131301730)+W(1,-1109842974,-1125259759,1028981651,-1127010401)+W(2,-1180777340,-1160957999,-1167651134,-1181736700)+W(3,1013454096,-1109509101,1013478572,-1127780866)+W(4,-1113692773,1047088883,1051779317,-1149526184)+W(5,993986728,1020962386,-1109788940,-1123287814)+W(6,-1117315078,-1131160392,-1135840779,-1160424319)+W(7,-1134194124,1028175261,-1137527992,1028380081)+W(8,-1136947718,-1138138790,-1121515979,-1115287133)+W(9,-1145619912,-1127332243,-1138738786,-1164912671)+W(10,1018886164,1027237057,-1148504424,998238336)+W(11,-1152989064,-1123011340,-1142455024,-1125209194);WS(-1146021888,1053974589); +sum1=W(0,-1119368753,-1134074211,1013890275,1029642476)+W(1,-1095098901,-1107285127,1042359026,1042969521)+W(2,984849429,-1135393367,1031018217,1046685039)+W(3,1007708103,1017736689,1022266947,-1176939092)+W(4,-1096985546,1034918881,-1101301107,1045769551)+W(5,-1139413615,1024875117,1003810877,1036262392)+W(6,1027345005,1032510570,1004183253,-1146466657)+W(7,1050538529,1051699648,-1091538585,-1094644679)+W(8,-1172526890,1017671961,1011534979,-1120828825)+W(9,1019378973,1031489314,-1127783457,-1160650069)+W(10,1036824506,1048776768,-1095508207,-1107179580)+W(11,-1160823333,1006585957,1035618600,-1133351451);sum2=W(0,-1091101506,1001500224,1030774484,1031363252)+W(1,1057852755,-1132290932,-1110436898,1048232756)+W(2,1016290300,-1126601761,-1131305343,-1095952784)+W(3,-1110787951,965388167,1007437656,1015165558)+W(4,1043794074,1047525730,1014973676,1016237906)+W(5,1003743696,1022650220,-1152923833,-1113356328)+W(6,1003188992,1041338676,-1158035650,1020087968)+W(7,1011818344,-1129296549,-1105090874,-1123006886)+W(8,1021501454,1017537464,-1131940021,-1111245491)+W(9,-1134903850,1033269727,1018262350,-1137051446)+W(10,1034851396,-1106365430,-1104724635,-1123217223)+W(11,-1133259176,1019937714,1024945328,-1117639196);WS(-1077057896,-1083600334); +sum1=W(0,1011471785,1019976613,1014201033,1017420011)+W(1,-1116040414,1015478313,-1126437509,1029223422)+W(2,1016511669,-1167731667,1024110818,1017123181)+W(3,-1138042285,1040273597,999765850,1017846781)+W(4,-1103217262,-1087230893,-1090770241,1049638570)+W(5,1009386661,1023090125,1030676769,1023111893)+W(6,1016487629,1027730222,985808522,-1162024122)+W(7,1046437488,1024768280,1037672698,1029091694)+W(8,1020460717,1025489318,-1120839802,-1112046985)+W(9,1010855969,1025127228,1011766057,1019153993)+W(10,1028909230,1017109109,1025680213,1027546578)+W(11,-1134545259,1027741830,-1128064723,1023955584);sum2=W(0,-1107003878,1013240776,-1152708847,1023774756)+W(1,-1118294055,-1128830540,-1108605887,1020767940)+W(2,1021408408,-1119578529,-1139588328,-1113997093)+W(3,-1108761818,1032847770,-1128030280,1005727232)+W(4,-1097736561,1008347200,1058054639,1050907301)+W(5,-1135972104,-1131826954,1039669350,1032528025)+W(6,1024878510,-1129071264,-1116453887,1004577664)+W(7,1049418167,-1105809360,1040942692,-1106188814)+W(8,999382680,1019392776,-1104688291,-1108856812)+W(9,-1124253692,-1114566712,-1127775332,1020705336)+W(10,1014050712,-1132221182,1042743894,-1115446820)+W(11,-1117167612,1022204104,-1103534695,1018266740);WS(1034686080,-1080904524); +sum1=W(0,1025190657,1024127465,-1156631187,-1139332721)+W(1,1041601261,1028605547,1040892278,-1143163562)+W(2,-1137907141,1012089369,-1129308018,1024768205)+W(3,1006799241,-1145135178,1011454089,1023562901)+W(4,1052908885,-1091833281,-1089193318,-1104914606)+W(5,1019594656,-1143330794,1036300940,-1117860929)+W(6,-1129417722,1017495114,1012327853,1009225011)+W(7,-1103073573,1025246703,-1119873834,1043909393)+W(8,992909011,-1123933213,1033652713,1040987970)+W(9,1027561839,1010795083,1010798725,1010687981)+W(10,-1124345098,1032670633,-1118482716,-1136185891)+W(11,1018355139,-1123266333,1027144528,1024209623);sum2=W(0,-1124228589,1028193069,-1136847690,998154484)+W(1,-1115676434,-1123302060,-1123281782,-1132108902)+W(2,1004957466,1011392625,-1132306691,-1123985162)+W(3,1043298286,-1115567961,-1145824866,-1120010648)+W(4,1027211577,1034703777,1059221182,-1097765474)+W(5,-1127542967,1022587458,-1131429597,-1114822183)+W(6,-1106126812,-1111174068,994166396,1015307650)+W(7,-1099334080,1015056080,-1130476352,1048600788)+W(8,-1127163397,-1122559367,1023836215,1029215805)+W(9,-1128437454,-1110538383,1010815409,1000606426)+W(10,-1137618020,1028199647,-1118584150,1026255089)+W(11,-1171736302,-1124423270,1025007180,-1127893362);WS(-1097173920,-1100403112); +sum1=W(0,-1126599342,-1134319356,-1124511038,-1133792968)+W(1,-1109988694,-1122054529,-1112479512,1026626987)+W(2,-1124691470,-1131431128,-1138055228,-1128510918)+W(3,-1113753548,-1113718896,-1126404688,-1133667884)+W(4,-1097159959,1058630415,1058852431,1051379210)+W(5,-1128464692,-1122909907,-1108453759,1031366423)+W(6,1034489098,1017816566,-1123548289,-1129657589)+W(7,1049904553,-1104990865,1007326848,-1097104011)+W(8,1006087192,-1138955724,-1129654222,-1111244112)+W(9,-1122628437,1029275393,-1120375479,-1134226372)+W(10,983139170,-1110311540,-1116837058,-1112737379)+W(11,-1123473736,-1149064600,-1132471000,-1143321192);sum2=W(0,-1145103116,1024883426,-1170659932,-1133003813)+W(1,1033080040,1028547885,-1117429423,-1105221269)+W(2,-1129731365,-1147341896,-1128891234,1016862101)+W(3,-1122208183,-1101651786,1031055883,1006656308)+W(4,1042272545,1058321046,1055658740,-1098340061)+W(5,-1121650606,1031708925,-1100689547,-1121562483)+W(6,-1107240567,-1137951645,-1138148825,-1122785076)+W(7,-1112738821,1003752088,-1131811521,1035604404)+W(8,-1123396988,-1133076983,1026865631,-1115182870)+W(9,-1131665157,-1116779622,-1131089901,-1134424500)+W(10,1015669581,1033205575,-1123356625,-1130287800)+W(11,-1131162259,-1127933595,-1134576021,-1129373191);WS(1049422752,1064394145); +sum1=W(0,-1106085006,-1123841888,997641734,1016583527)+W(1,1042273115,1021597381,1031369872,995307718)+W(2,1025810280,1006187755,-1122854832,-1113049442)+W(3,1041111742,1032245856,-1131677043,-1129211865)+W(4,1058826428,-1105331685,-1098988005,-1088517333)+W(5,1019889767,-1131685097,1032610296,-1113933244)+W(6,-1110939130,-1105269375,1021691141,1021172552)+W(7,-1090507155,1043687978,1030057089,1058612208)+W(8,-1155049030,-1134096210,-1122591528,1037338632)+W(9,-1137128282,-1106745812,1026669144,-1133007562)+W(10,-1120823228,1038691348,1034516890,1036830720)+W(11,1025994697,-1126546729,-1117945591,-1116248270);sum2=W(0,-1138201662,-1140877219,-1124041461,1015668141)+W(1,-1127284815,-1123578506,-1116450062,-1111996311)+W(2,1020174885,-1139064970,1024732308,-1125087482)+W(3,1027346708,1016303395,1015274173,1005775275)+W(4,-1106280325,1052974100,-1108948194,-1125910350)+W(5,-1133423524,-1161498797,1032925063,1034158307)+W(6,-1106503093,-1117618841,992639399,-1138139200)+W(7,1053021197,957951850,1031763952,-1104963655)+W(8,-1134898868,1013272790,994113735,-1107449032)+W(9,-1115775134,-1122071744,-1129319398,-1132053353)+W(10,1016609913,-1140595900,1034411590,1015724405)+W(11,-1132485274,-1164791981,-1140186580,-1132927280);WS(-1101497152,-1084603877); +sum1=W(0,1016522037,-1157845066,-1140218249,-1136425045)+W(1,1019848413,-1119357636,1029505522,967194407)+W(2,-1142614610,-1135395837,-1140249161,-1129523533)+W(3,1035402982,1027884002,-1122160667,-1121565262)+W(4,1027088345,1024422013,-1107598171,1022903246)+W(5,-1148904362,1002411186,-1127296803,-1121932442)+W(6,1025282390,1022271101,-1132497425,1006883159)+W(7,-1117602990,1030415880,-1120772739,1025270942)+W(8,-1130529549,1018540973,-1129818261,1030372258)+W(9,-1138792353,995143101,-1128604789,1004502690)+W(10,-1171556244,1025955498,-1128284203,-1154700189)+W(11,-1138856043,1011955033,-1121511513,-1138666305);sum2=W(0,-1131366283,-1117612139,-1137964827,-1126668299)+W(1,1000957181,-1119890411,1034620123,1024971228)+W(2,1005199725,-1136862175,-1145021381,-1151515419)+W(3,-1097765254,-1083955387,1030757650,1015963121)+W(4,1026062254,-1107214224,1064229708,1049249869)+W(5,1007955643,-1125717658,1026637176,1001872029)+W(6,-1103492737,-1118797430,997720155,-1137547503)+W(7,-1122275403,1016072153,1017921725,1047078464)+W(8,-1169614250,923654805,-1135832789,1027173860)+W(9,-1131387718,-1140632131,-1152589275,-1132279825)+W(10,-1133941049,996433547,-1144191965,1024786888)+W(11,1002011725,1005736109,-1140699475,-1148432117);WS(1059552336,-1136539026); +sum1=W(0,1041343484,1036710283,1010957914,990367896)+W(1,1033353841,1029016441,-1107358947,-1096612504)+W(2,1028944863,1024290996,-1132821402,-1125599349)+W(3,1045269292,-1112141659,1017372383,-1154541352)+W(4,1042554433,1029783110,1058232297,-1087221074)+W(5,1023892422,1023410731,-1114120867,-1154580200)+W(6,-1116984235,1018013925,1015461809,1026284586)+W(7,-1087458720,-1095293300,1047713030,1051438086)+W(8,-1144215764,-1144750420,1032365167,1033522371)+W(9,1006339428,1032228520,1021777309,1014364322)+W(10,-1114380761,-1099415088,1045851190,1032067931)+W(11,1001346936,-1130073781,1030006574,1004597796);sum2=W(0,-1101809160,-1115520194,-1126180245,-1153914788)+W(1,1046574229,1000424166,1022007580,1052877341)+W(2,1023520281,1021218858,-1113807813,-1095334336)+W(3,-1114410922,1033573989,-1141303142,995844276)+W(4,1034680258,-1098051352,-1098900400,1055965696)+W(5,1008634443,-1115608949,1033797491,-1109583292)+W(6,998799030,-1110191966,990856044,1026951758)+W(7,1045079279,-1106708743,1023185808,1023481081)+W(8,1032307290,-1128938562,1025876178,1032986287)+W(9,-1129252703,1016759632,1015235936,1004850742)+W(10,984863273,-1103050031,-1104219784,1031073312)+W(11,1017335440,1020607644,1038371038,-1137844345);WS(-1080660584,-1085825159); +sum1=W(0,-1123370319,-1131079022,998525366,1013708199)+W(1,-1118786339,1035331132,-1111041043,-1145658646)+W(2,-1144908790,-1131113128,1017605134,1028171867)+W(3,-1110742584,-1113918027,1009982783,1026247587)+W(4,-1095527502,1041941518,1038280501,1047524760)+W(5,-1130744068,992723116,-1110999603,1042485668)+W(6,1032009669,1025751155,-1128223794,-1136883881)+W(7,1051037928,-1106649743,1042402294,-1096311074)+W(8,1025830203,1017749654,-1132447358,-1106204846)+W(9,-1126831290,1033490448,-1126850910,999596614)+W(10,1032615945,-1111971999,1023947050,-1118872454)+W(11,-1127230527,1018668086,971034337,1002160934);sum2=W(0,1017543700,1002138986,-1145776834,988660617)+W(1,-1133704409,1024621822,1001599498,1015794522)+W(2,-1140119133,-1136500105,-1135257421,1003471274)+W(3,1031822055,1032911160,-1126488793,-1133422913)+W(4,-1102581932,-1089051586,1056510750,1041494739)+W(5,-1163479081,1009057465,1026713544,970658596)+W(6,1018658069,1007351961,999055930,999416722)+W(7,-1111744235,1009295285,-1138508317,1023998101)+W(8,1000517690,-1137960905,998080468,945757471)+W(9,-1162261577,999395634,-1179419172,987033481)+W(10,-1140892226,-1147317506,-1141702058,991201876)+W(11,-1186683976,-1146609818,1007988669,-1156050276);WS(1064784784,-1120346387); +sum1=W(0,1015721531,-1110077251,1000581420,-1150678408)+W(1,-1099108228,-1107416484,1043607805,1049255678)+W(2,-1136953142,-1140022794,1017163947,-1149551256)+W(3,-1107299655,-1132691862,1015088861,1006062348)+W(4,-1089544734,-1130977491,-1123916922,1059242626)+W(5,-1139533474,1012221798,1022505321,1023526494)+W(6,-1148196556,1013224070,-1126533711,-1136518116)+W(7,1057929313,1048500643,-1100407642,-1096371932)+W(8,1014035238,1026165050,-1111675367,-1104456865)+W(9,-1124886999,1014270588,-1122704190,1012432222)+W(10,1035479729,1044504531,-1102354822,-1132580564)+W(11,-1136458552,1017479699,1007459698,-1127245287);sum2=W(0,1031694512,-1122230843,-1125513054,-1140771860)+W(1,-1115570202,1042093481,993388690,-1104948969)+W(2,-1127298441,995262946,-1111499166,1040745971)+W(3,979286214,1025077104,-1131288705,-1131667695)+W(4,1042830623,-1112764939,-1111209187,1026183534)+W(5,1002124441,-1123012516,982469091,-1119680402)+W(6,-1108853537,-1102087836,1012596136,978159878)+W(7,1043422569,1034771561,1045410736,1041617383)+W(8,-1129740789,-1125016939,-1109907689,-1120447085)+W(9,-1117751010,-1113389694,-1121534607,1011933560)+W(10,1014235016,1025820984,1044425994,1030126174)+W(11,1004566649,-1119639931,-1115100280,-1127258987);WS(-1088649680,1067112300); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, -2), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 0), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 2), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -2), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 0), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 2), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -2), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 0), 0); +samples[8] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 2), 0); +samples[9] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, -2), 0); +samples[10] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, 0), 0); +samples[11] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, 2), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns16, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns16, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1130469888,-1121396864,1027745880,-1126897990)+W(1,-1116173177,1042195560,1041026790,-1113607518)+W(2,-1133977224,1026239260,1018714920,1015526727)+W(3,-1122292152,1015308851,-1131068140,990390561)+W(4,1039079928,-1107295041,1024642508,1024250604)+W(5,-1098313415,999141354,1044630722,1022159130)+W(6,-1106606352,1038936227,-1106681307,1042189511)+W(7,-1122039043,1031978820,-1122507740,1013770942)+W(8,-1147395201,-1126556538,-1149906049,-1121959908)+W(9,1019497054,1007702352,1005058137,-1107136294)+W(10,-1124106064,1025050132,-1121374916,1035880216)+W(11,-1116330759,1018900008,-1135809122,-1136584888);sum2=W(0,1023321012,1029416248,1011515348,1017133506)+W(1,-1112177411,1071604647,1057587887,-1119553894)+W(2,-1133574805,1035052104,1051025857,-1165256880)+W(3,-1135761830,1018728192,1010374724,1020043526)+W(4,-1115999672,1020129658,-1123730089,-1139818306)+W(5,-1079392139,-1097028615,-1109933138,-1090489276)+W(6,-1139515542,-1135392452,-1105405946,-1098617840)+W(7,1024878156,1002597928,-1142174380,-1121583660)+W(8,1015618084,1007066512,-1138856554,996184056)+W(9,1028448562,1008681896,-1145378916,1016266760)+W(10,-1138601606,991053648,1000343320,-1155286464)+W(11,-1131188096,-1132781834,-1155288808,997185888);WS(1018288640,1027735986); +sum1=W(0,1006778572,-1114624234,-1178449286,1012158232)+W(1,-1156175041,1028919475,-1104570115,1025063871)+W(2,-1140348884,-1127457566,1034856692,1010747802)+W(3,-1172026051,-1115773453,-1122825993,1020162890)+W(4,1032943202,1027108853,-1128542910,1044498160)+W(5,-1097612337,-1106124541,-1088743921,1059928494)+W(6,1031833306,1032056909,1059914122,-1085331503)+W(7,1038136595,1027508251,1033999672,-1119592595)+W(8,1017365062,964628492,1002517720,-1115962871)+W(9,1026836706,-1146238776,-1134936888,1032615126)+W(10,-1122073627,1016604174,1020458158,-1114177498)+W(11,-1129465364,1023799671,998219705,1022377282);sum2=W(0,-1145399745,985194115,-1130460798,-1126840972)+W(1,991527106,-1120456092,-1112997847,-1139273136)+W(2,-1139461992,1017866680,1001121889,-1135317632)+W(3,995542402,1000306721,1006765920,-1129486378)+W(4,-1120812206,-1129997452,1017322604,1019075916)+W(5,1043975251,1051048254,1042717692,-1139625904)+W(6,-1128878392,-1112673669,-1121880440,-1150833602)+W(7,-1142139489,-1114488494,-1126929736,-1133504840)+W(8,1006903064,-1143360737,-1131047996,-1131054760)+W(9,-1113881740,1007107280,-1130986946,-1114175000)+W(10,1026044394,-1125685806,-1143215153,978663174)+W(11,1007041936,-1134951296,-1144361281,1014584312);WS(1042433344,-1111851638); +sum1=W(0,-1139940268,-1123380939,-1112658226,-1128612156)+W(1,984858240,-1107767030,-1128727592,-1122042583)+W(2,-1146630760,-1115281716,-1114896432,999630836)+W(3,996431920,-1123547845,-1129996802,-1126512698)+W(4,-1126908022,1033805831,1043958886,-1119638967)+W(5,1052387104,1046318672,1057665642,-1097703246)+W(6,1030603948,-1117224401,-1095395475,1054789077)+W(7,1026334318,-1113258842,-1123618471,1028419819)+W(8,-1115346894,-1142120768,-1128976934,-1120465263)+W(9,-1108167869,-1148354296,1005565040,-1104545545)+W(10,-1163176544,-1117808895,-1133849404,1029397739)+W(11,-1134051464,-1120421311,1013349902,-1117439993);sum2=W(0,-1132240188,-1119299282,-1109389142,1022431497)+W(1,-1114822837,1044244351,-1107432916,1024165374)+W(2,-1124855948,983982854,1031006195,-1120729932)+W(3,-1128289576,-1121099750,-1158996358,-1126342960)+W(4,-1139248009,-1129989652,1028727631,1004613154)+W(5,-1108646182,-1100679909,1047487962,1041447926)+W(6,1009435309,1033956847,-1126089152,1047688354)+W(7,1036127241,1039673953,-1123334894,-1122846542)+W(8,-1140046689,-1114039002,-1132574761,1029503922)+W(9,1040665470,-1123756570,-1135952741,1017218352)+W(10,-1107003694,1028342876,-1148002498,-1120804126)+W(11,-1102421772,1026336008,-1117057946,-1140927562);WS(1015433728,1058400049); +sum1=W(0,-1133909491,1032977294,1031161269,-1139873791)+W(1,-1230944644,1035249566,-1116372870,1023506921)+W(2,1028378783,-1114963068,-1120831281,-1118840528)+W(3,1033465034,-1105610222,1032892305,-1121050287)+W(4,-1112917766,-1131731326,1033801204,-1113693508)+W(5,-1103376612,-1102794347,1045725159,-1116140698)+W(6,-1141442286,1032646513,-1116748777,1044830734)+W(7,1034039600,1030129285,-1112562780,1023234585)+W(8,989007258,1019358132,-1143910182,-1119172737)+W(9,1044071755,-1115540344,1008313039,-1122523445)+W(10,1018738506,-1118552369,-1126204226,1030473357)+W(11,-1122899972,-1124368226,1016154651,1021910870);sum2=W(0,992976916,1013039401,-1158711528,-1138428449)+W(1,976851025,1036130613,-1128734961,-1142924106)+W(2,997652548,-1137359275,1010050489,989093448)+W(3,-1134977059,-1138876101,990210276,-1153131756)+W(4,-1130455464,-1123518198,-1140697417,-1124467432)+W(5,-1097860430,-1077268149,-1099387353,-1113146735)+W(6,-1122996798,1032494444,-1091225653,-1108810723)+W(7,-1127238416,1018469149,-1115493835,-1140348735)+W(8,1033499227,975746961,1012442941,1030243467)+W(9,1072898808,-1117904739,-1122081826,1051222006)+W(10,1025590581,951236744,-1131990027,1056060393)+W(11,1026307569,-1146863422,1006284898,1025171621);WS(-1143089152,1030017260); +sum1=W(0,1001605962,-1127223379,-1116644609,1012276081)+W(1,-1155861797,-1115433381,-1109637089,1024406997)+W(2,-1122534699,1028189701,1036571679,-1155627981)+W(3,-1120990241,1036379833,-1126280255,1018348791)+W(4,-1119160665,1035777366,-1124688427,1019444907)+W(5,1044433671,1006101820,-1098625404,1048989101)+W(6,1039597237,-1104960796,1048780603,-1098184025)+W(7,-1136463217,-1111599465,1029641477,-1117935161)+W(8,-1136557285,-1130309965,-1130860131,1029853709)+W(9,-1111190908,1009046005,-1130883561,1038057505)+W(10,-1130076067,1018788475,1025361773,-1112291813)+W(11,-1154886405,1020397819,-1125993892,1012573277);sum2=W(0,-1147284080,985822624,1008405084,-1153319600)+W(1,995456320,1022276922,-1142311064,1008968960)+W(2,-1146954776,1005012008,-1140411728,-1140178660)+W(3,-1170856127,1006946188,1003782736,-1142030464)+W(4,1010505984,-1129308604,-1140784820,-1118973116)+W(5,-1089187936,1057794596,1037448945,-1101248908)+W(6,1017518401,1015531414,1029773785,-1109859050)+W(7,995727232,960534268,974134143,982409184)+W(8,1021293048,1001814848,1010769460,1012585128)+W(9,1033366347,-1123619202,-1160749952,1024969278)+W(10,1007802556,1000322872,-1136545168,1024400778)+W(11,1009923956,985284128,-1152799248,1003482728);WS(1064472528,-1121594920); +sum1=W(0,-1143599223,1032290711,1027230343,-1142654991)+W(1,1010500896,1002050167,-1136037408,1014568428)+W(2,1020884834,-1120250507,-1122938499,-1124387333)+W(3,1026841191,-1110863224,1025589157,-1131205634)+W(4,-1113392623,1016010466,1027061019,-1112807213)+W(5,-1113734161,-1112872467,1034098395,-1115590690)+W(6,1029912912,1015162858,-1130883382,1038834309)+W(7,1031947569,1019435182,-1123484555,1019867389)+W(8,991342574,1014490160,-1164359388,-1128825126)+W(9,1027642302,-1127829894,-1148094031,1008695068)+W(10,1015817710,-1124941766,-1138058188,1013984188)+W(11,-1129521612,-1130075526,1008886302,1015459258);sum2=W(0,-1147429191,-1139843175,-1154115373,1003807591)+W(1,-1132089351,1016729308,1018649088,1002635095)+W(2,-1151072125,-1155997437,1024344696,-1147602519)+W(3,1011860423,-1141691791,1001714367,964968041)+W(4,1001833687,1024488826,1017182228,1000124719)+W(5,-1105992985,1063780536,1040714709,1008095031)+W(6,-1132427785,1020609216,1047200342,1014141127)+W(7,-1139390003,1017456200,1023684454,-1141957575)+W(8,-1116401990,987658746,-1130234859,-1126980607)+W(9,-1085442794,1024604622,1013729967,-1105844805)+W(10,-1122913939,-1147894927,995366957,-1101306502)+W(11,-1128761080,-1146063807,-1146690231,-1125194898);WS(1061878800,-1131153991); +sum1=W(0,1018625288,1031144036,1015115512,-1123872727)+W(1,1026350045,-1108974562,1036357847,-1127640224)+W(2,1018183052,1006433282,-1107191102,1013916191)+W(3,1016048056,1026198990,1014427177,-1145362866)+W(4,-1102371221,1009910425,1041224340,-1099302516)+W(5,1059569738,1058525661,1052022073,-1085394744)+W(6,1032504563,-1097316565,-1088226291,1050617832)+W(7,1033421596,-1098228398,-1109508096,1031877738)+W(8,1014687697,1022902338,-1171049230,-1144166978)+W(9,-1125187302,1016189168,-1132534141,-1115552350)+W(10,1040234099,-1127405808,-1123531112,1037730450)+W(11,1035235966,-1137247201,1018548825,1015825508);sum2=W(0,973798558,-1131640108,1031269327,-1131301730)+W(1,1013478572,-1109509101,1013454096,-1127780866)+W(2,-1135840779,-1131160392,-1117315078,-1160424319)+W(3,-1138738786,-1127332243,-1145619912,-1164912671)+W(4,1028981651,-1125259759,-1109842974,-1127010401)+W(5,1051779317,1047088883,-1113692773,-1149526184)+W(6,-1137527992,1028175261,-1134194124,1028380081)+W(7,-1148504424,1027237057,1018886164,998238336)+W(8,-1167651134,-1160957999,-1180777340,-1181736700)+W(9,-1109788940,1020962386,993986728,-1123287814)+W(10,-1121515979,-1138138790,-1136947718,-1115287133)+W(11,-1142455024,-1123011340,-1152989064,-1125209194);WS(-1146021888,1053974589); +sum1=W(0,1013890275,-1134074211,-1119368753,1029642476)+W(1,1022266947,1017736689,1007708103,-1176939092)+W(2,1004183253,1032510570,1027345005,-1146466657)+W(3,-1127783457,1031489314,1019378973,-1160650069)+W(4,1042359026,-1107285127,-1095098901,1042969521)+W(5,-1101301107,1034918881,-1096985546,1045769551)+W(6,-1091538585,1051699648,1050538529,-1094644679)+W(7,-1095508207,1048776768,1036824506,-1107179580)+W(8,1031018217,-1135393367,984849429,1046685039)+W(9,1003810877,1024875117,-1139413615,1036262392)+W(10,1011534979,1017671961,-1172526890,-1120828825)+W(11,1035618600,1006585957,-1160823333,-1133351451);sum2=W(0,1030774484,1001500224,-1091101506,1031363252)+W(1,1007437656,965388167,-1110787951,1015165558)+W(2,-1158035650,1041338676,1003188992,1020087968)+W(3,1018262350,1033269727,-1134903850,-1137051446)+W(4,-1110436898,-1132290932,1057852755,1048232756)+W(5,1014973676,1047525730,1043794074,1016237906)+W(6,-1105090874,-1129296549,1011818344,-1123006886)+W(7,-1104724635,-1106365430,1034851396,-1123217223)+W(8,-1131305343,-1126601761,1016290300,-1095952784)+W(9,-1152923833,1022650220,1003743696,-1113356328)+W(10,-1131940021,1017537464,1021501454,-1111245491)+W(11,1024945328,1019937714,-1133259176,-1117639196);WS(-1077057896,-1083600334); +sum1=W(0,1014201033,1019976613,1011471785,1017420011)+W(1,999765850,1040273597,-1138042285,1017846781)+W(2,985808522,1027730222,1016487629,-1162024122)+W(3,1011766057,1025127228,1010855969,1019153993)+W(4,-1126437509,1015478313,-1116040414,1029223422)+W(5,-1090770241,-1087230893,-1103217262,1049638570)+W(6,1037672698,1024768280,1046437488,1029091694)+W(7,1025680213,1017109109,1028909230,1027546578)+W(8,1024110818,-1167731667,1016511669,1017123181)+W(9,1030676769,1023090125,1009386661,1023111893)+W(10,-1120839802,1025489318,1020460717,-1112046985)+W(11,-1128064723,1027741830,-1134545259,1023955584);sum2=W(0,-1152708847,1013240776,-1107003878,1023774756)+W(1,-1128030280,1032847770,-1108761818,1005727232)+W(2,-1116453887,-1129071264,1024878510,1004577664)+W(3,-1127775332,-1114566712,-1124253692,1020705336)+W(4,-1108605887,-1128830540,-1118294055,1020767940)+W(5,1058054639,1008347200,-1097736561,1050907301)+W(6,1040942692,-1105809360,1049418167,-1106188814)+W(7,1042743894,-1132221182,1014050712,-1115446820)+W(8,-1139588328,-1119578529,1021408408,-1113997093)+W(9,1039669350,-1131826954,-1135972104,1032528025)+W(10,-1104688291,1019392776,999382680,-1108856812)+W(11,-1103534695,1022204104,-1117167612,1018266740);WS(1034686080,-1080904524); +sum1=W(0,-1156631187,1024127465,1025190657,-1139332721)+W(1,1011454089,-1145135178,1006799241,1023562901)+W(2,1012327853,1017495114,-1129417722,1009225011)+W(3,1010798725,1010795083,1027561839,1010687981)+W(4,1040892278,1028605547,1041601261,-1143163562)+W(5,-1089193318,-1091833281,1052908885,-1104914606)+W(6,-1119873834,1025246703,-1103073573,1043909393)+W(7,-1118482716,1032670633,-1124345098,-1136185891)+W(8,-1129308018,1012089369,-1137907141,1024768205)+W(9,1036300940,-1143330794,1019594656,-1117860929)+W(10,1033652713,-1123933213,992909011,1040987970)+W(11,1027144528,-1123266333,1018355139,1024209623);sum2=W(0,-1136847690,1028193069,-1124228589,998154484)+W(1,-1145824866,-1115567961,1043298286,-1120010648)+W(2,994166396,-1111174068,-1106126812,1015307650)+W(3,1010815409,-1110538383,-1128437454,1000606426)+W(4,-1123281782,-1123302060,-1115676434,-1132108902)+W(5,1059221182,1034703777,1027211577,-1097765474)+W(6,-1130476352,1015056080,-1099334080,1048600788)+W(7,-1118584150,1028199647,-1137618020,1026255089)+W(8,-1132306691,1011392625,1004957466,-1123985162)+W(9,-1131429597,1022587458,-1127542967,-1114822183)+W(10,1023836215,-1122559367,-1127163397,1029215805)+W(11,1025007180,-1124423270,-1171736302,-1127893362);WS(-1097173920,-1100403112); +sum1=W(0,-1124511038,-1134319356,-1126599342,-1133792968)+W(1,-1126404688,-1113718896,-1113753548,-1133667884)+W(2,-1123548289,1017816566,1034489098,-1129657589)+W(3,-1120375479,1029275393,-1122628437,-1134226372)+W(4,-1112479512,-1122054529,-1109988694,1026626987)+W(5,1058852431,1058630415,-1097159959,1051379210)+W(6,1007326848,-1104990865,1049904553,-1097104011)+W(7,-1116837058,-1110311540,983139170,-1112737379)+W(8,-1138055228,-1131431128,-1124691470,-1128510918)+W(9,-1108453759,-1122909907,-1128464692,1031366423)+W(10,-1129654222,-1138955724,1006087192,-1111244112)+W(11,-1132471000,-1149064600,-1123473736,-1143321192);sum2=W(0,-1170659932,1024883426,-1145103116,-1133003813)+W(1,1031055883,-1101651786,-1122208183,1006656308)+W(2,-1138148825,-1137951645,-1107240567,-1122785076)+W(3,-1131089901,-1116779622,-1131665157,-1134424500)+W(4,-1117429423,1028547885,1033080040,-1105221269)+W(5,1055658740,1058321046,1042272545,-1098340061)+W(6,-1131811521,1003752088,-1112738821,1035604404)+W(7,-1123356625,1033205575,1015669581,-1130287800)+W(8,-1128891234,-1147341896,-1129731365,1016862101)+W(9,-1100689547,1031708925,-1121650606,-1121562483)+W(10,1026865631,-1133076983,-1123396988,-1115182870)+W(11,-1134576021,-1127933595,-1131162259,-1129373191);WS(1049422752,1064394145); +sum1=W(0,997641734,-1123841888,-1106085006,1016583527)+W(1,-1131677043,1032245856,1041111742,-1129211865)+W(2,1021691141,-1105269375,-1110939130,1021172552)+W(3,1026669144,-1106745812,-1137128282,-1133007562)+W(4,1031369872,1021597381,1042273115,995307718)+W(5,-1098988005,-1105331685,1058826428,-1088517333)+W(6,1030057089,1043687978,-1090507155,1058612208)+W(7,1034516890,1038691348,-1120823228,1036830720)+W(8,-1122854832,1006187755,1025810280,-1113049442)+W(9,1032610296,-1131685097,1019889767,-1113933244)+W(10,-1122591528,-1134096210,-1155049030,1037338632)+W(11,-1117945591,-1126546729,1025994697,-1116248270);sum2=W(0,-1124041461,-1140877219,-1138201662,1015668141)+W(1,1015274173,1016303395,1027346708,1005775275)+W(2,992639399,-1117618841,-1106503093,-1138139200)+W(3,-1129319398,-1122071744,-1115775134,-1132053353)+W(4,-1116450062,-1123578506,-1127284815,-1111996311)+W(5,-1108948194,1052974100,-1106280325,-1125910350)+W(6,1031763952,957951850,1053021197,-1104963655)+W(7,1034411590,-1140595900,1016609913,1015724405)+W(8,1024732308,-1139064970,1020174885,-1125087482)+W(9,1032925063,-1161498797,-1133423524,1034158307)+W(10,994113735,1013272790,-1134898868,-1107449032)+W(11,-1140186580,-1164791981,-1132485274,-1132927280);WS(-1101497152,-1084603877); +sum1=W(0,-1140218249,-1157845066,1016522037,-1136425045)+W(1,-1122160667,1027884002,1035402982,-1121565262)+W(2,-1132497425,1022271101,1025282390,1006883159)+W(3,-1128604789,995143101,-1138792353,1004502690)+W(4,1029505522,-1119357636,1019848413,967194407)+W(5,-1107598171,1024422013,1027088345,1022903246)+W(6,-1120772739,1030415880,-1117602990,1025270942)+W(7,-1128284203,1025955498,-1171556244,-1154700189)+W(8,-1140249161,-1135395837,-1142614610,-1129523533)+W(9,-1127296803,1002411186,-1148904362,-1121932442)+W(10,-1129818261,1018540973,-1130529549,1030372258)+W(11,-1121511513,1011955033,-1138856043,-1138666305);sum2=W(0,-1137964827,-1117612139,-1131366283,-1126668299)+W(1,1030757650,-1083955387,-1097765254,1015963121)+W(2,997720155,-1118797430,-1103492737,-1137547503)+W(3,-1152589275,-1140632131,-1131387718,-1132279825)+W(4,1034620123,-1119890411,1000957181,1024971228)+W(5,1064229708,-1107214224,1026062254,1049249869)+W(6,1017921725,1016072153,-1122275403,1047078464)+W(7,-1144191965,996433547,-1133941049,1024786888)+W(8,-1145021381,-1136862175,1005199725,-1151515419)+W(9,1026637176,-1125717658,1007955643,1001872029)+W(10,-1135832789,923654805,-1169614250,1027173860)+W(11,-1140699475,1005736109,1002011725,-1148432117);WS(1059552336,-1136539026); +sum1=W(0,1010957914,1036710283,1041343484,990367896)+W(1,1017372383,-1112141659,1045269292,-1154541352)+W(2,1015461809,1018013925,-1116984235,1026284586)+W(3,1021777309,1032228520,1006339428,1014364322)+W(4,-1107358947,1029016441,1033353841,-1096612504)+W(5,1058232297,1029783110,1042554433,-1087221074)+W(6,1047713030,-1095293300,-1087458720,1051438086)+W(7,1045851190,-1099415088,-1114380761,1032067931)+W(8,-1132821402,1024290996,1028944863,-1125599349)+W(9,-1114120867,1023410731,1023892422,-1154580200)+W(10,1032365167,-1144750420,-1144215764,1033522371)+W(11,1030006574,-1130073781,1001346936,1004597796);sum2=W(0,-1126180245,-1115520194,-1101809160,-1153914788)+W(1,-1141303142,1033573989,-1114410922,995844276)+W(2,990856044,-1110191966,998799030,1026951758)+W(3,1015235936,1016759632,-1129252703,1004850742)+W(4,1022007580,1000424166,1046574229,1052877341)+W(5,-1098900400,-1098051352,1034680258,1055965696)+W(6,1023185808,-1106708743,1045079279,1023481081)+W(7,-1104219784,-1103050031,984863273,1031073312)+W(8,-1113807813,1021218858,1023520281,-1095334336)+W(9,1033797491,-1115608949,1008634443,-1109583292)+W(10,1025876178,-1128938562,1032307290,1032986287)+W(11,1038371038,1020607644,1017335440,-1137844345);WS(-1080660584,-1085825159); +sum1=W(0,998525366,-1131079022,-1123370319,1013708199)+W(1,1009982783,-1113918027,-1110742584,1026247587)+W(2,-1128223794,1025751155,1032009669,-1136883881)+W(3,-1126850910,1033490448,-1126831290,999596614)+W(4,-1111041043,1035331132,-1118786339,-1145658646)+W(5,1038280501,1041941518,-1095527502,1047524760)+W(6,1042402294,-1106649743,1051037928,-1096311074)+W(7,1023947050,-1111971999,1032615945,-1118872454)+W(8,1017605134,-1131113128,-1144908790,1028171867)+W(9,-1110999603,992723116,-1130744068,1042485668)+W(10,-1132447358,1017749654,1025830203,-1106204846)+W(11,971034337,1018668086,-1127230527,1002160934);sum2=W(0,-1145776834,1002138986,1017543700,988660617)+W(1,-1126488793,1032911160,1031822055,-1133422913)+W(2,999055930,1007351961,1018658069,999416722)+W(3,-1179419172,999395634,-1162261577,987033481)+W(4,1001599498,1024621822,-1133704409,1015794522)+W(5,1056510750,-1089051586,-1102581932,1041494739)+W(6,-1138508317,1009295285,-1111744235,1023998101)+W(7,-1141702058,-1147317506,-1140892226,991201876)+W(8,-1135257421,-1136500105,-1140119133,1003471274)+W(9,1026713544,1009057465,-1163479081,970658596)+W(10,998080468,-1137960905,1000517690,945757471)+W(11,1007988669,-1146609818,-1186683976,-1156050276);WS(1064784784,-1120346387); +sum1=W(0,1000581420,-1110077251,1015721531,-1150678408)+W(1,1015088861,-1132691862,-1107299655,1006062348)+W(2,-1126533711,1013224070,-1148196556,-1136518116)+W(3,-1122704190,1014270588,-1124886999,1012432222)+W(4,1043607805,-1107416484,-1099108228,1049255678)+W(5,-1123916922,-1130977491,-1089544734,1059242626)+W(6,-1100407642,1048500643,1057929313,-1096371932)+W(7,-1102354822,1044504531,1035479729,-1132580564)+W(8,1017163947,-1140022794,-1136953142,-1149551256)+W(9,1022505321,1012221798,-1139533474,1023526494)+W(10,-1111675367,1026165050,1014035238,-1104456865)+W(11,1007459698,1017479699,-1136458552,-1127245287);sum2=W(0,-1125513054,-1122230843,1031694512,-1140771860)+W(1,-1131288705,1025077104,979286214,-1131667695)+W(2,1012596136,-1102087836,-1108853537,978159878)+W(3,-1121534607,-1113389694,-1117751010,1011933560)+W(4,993388690,1042093481,-1115570202,-1104948969)+W(5,-1111209187,-1112764939,1042830623,1026183534)+W(6,1045410736,1034771561,1043422569,1041617383)+W(7,1044425994,1025820984,1014235016,1030126174)+W(8,-1111499166,995262946,-1127298441,1040745971)+W(9,982469091,-1123012516,1002124441,-1119680402)+W(10,-1109907689,-1125016939,-1129740789,-1120447085)+W(11,-1115100280,-1119639931,1004566649,-1127258987);WS(-1088649680,1067112300); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, -3), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, -1), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, 1), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, 3), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, -3), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, -1), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, 1), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, 3), 0); +samples[8] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, -3), 0); +samples[9] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, -1), 0); +samples[10] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, 1), 0); +samples[11] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, 3), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns16, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/gather/nnedi3-nns256-win8x4.glsl b/shaders/nnedi3/gather/nnedi3-nns256-win8x4.glsl new file mode 100644 index 0000000..67acfbb --- /dev/null +++ b/shaders/nnedi3/gather/nnedi3-nns256-win8x4.glsl @@ -0,0 +1,626 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns256, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1091961907,-1103990249,1026430476,1024871952)+W(1,1023328805,994719130,1052012307,1049937838)+W(2,-1086639391,-1085365048,992987016,1041094851)+W(3,-1110763811,-1102193240,1063527595,1057524239)+W(4,-1087585419,-1093414958,1007997243,1034372511)+W(5,1046466539,-1131716095,1057188600,1061081007)+W(6,-1100793414,-1099588502,1009484684,1038248733)+W(7,1042167685,1037858632,-1114088341,-1104832955);sum2=W(0,-1115075619,1050294809,-1117362461,-1122170202)+W(1,1016746290,1016781702,1022334174,-1113824159)+W(2,1041506545,-1100233118,-1100385246,-1125932452)+W(3,1031697879,1033455014,-1104291570,-1098709995)+W(4,-1100362988,1047005177,1025043913,1020071642)+W(5,1050444141,-1106922881,1053652830,1072797337)+W(6,1012082941,-1112302377,1018043750,1017078274)+W(7,-1081909907,-1086585813,-1155649364,-1100425628);WS(-1096195455,1061976972); +sum1=W(0,-1094469481,-1104061589,1045016510,-1107583849)+W(1,1032308806,1046697387,1051975353,1057261454)+W(2,-1082981042,-1086991635,1050507709,-1102048399)+W(3,-1093320254,1051876218,1061386858,1058403546)+W(4,-1087760032,-1088999402,1004076226,-1138600128)+W(5,-1106246183,-1112945129,1052828202,1052980216)+W(6,-1111975782,-1089081125,-1106918697,1049677870)+W(7,1045880594,-1116677906,1048525839,1055128500);sum2=W(0,-1095110912,-1114450783,1043646796,976892690)+W(1,1075827337,1075290035,-1074060607,-1080663089)+W(2,1052886335,-1113296119,1047930742,-1131052969)+W(3,1070007941,1046007784,1048011859,-1068434194)+W(4,-1088067101,1040578653,1035354913,-1099144563)+W(5,-1090506241,-1099371585,1058047003,1042920440)+W(6,-1102673565,1051335047,-1111106463,-1115191227)+W(7,-1096675048,-1096378099,1038060178,1057110709);WS(-1095930303,-1128843438); +sum1=W(0,1000563038,-1103461662,1030842449,-1113225514)+W(1,-1104281110,-1105449143,1052682210,1038763268)+W(2,-1098779087,-1156245815,-1111398934,-1120882464)+W(3,-1106219642,-1105879965,1046999855,1055587560)+W(4,1057689814,1058114717,-1098728413,-1098488134)+W(5,1039743648,1030902068,-1106232348,-1090605975)+W(6,1041725787,1046074787,-1104159890,-1111237296)+W(7,-1111582036,1033984854,-1119168797,-1106563184);sum2=W(0,-1078961084,-1081851502,-1087141194,-1109947141)+W(1,1049299145,1040634467,-1102894339,1053833634)+W(2,1057831088,1067440534,-1099413759,1007133897)+W(3,1035108031,-1114324751,1058568743,1046573470)+W(4,-1095618356,1022398658,1045509921,1026690396)+W(5,-1094447449,1023241606,-1115002147,1058025266)+W(6,1029712906,1049871690,1051942463,-1117657274)+W(7,987652806,-1104714655,-1099467737,-1109832065);WS(1018627052,-1077328537); +sum1=W(0,-1098360952,-1103889731,1011043872,-1107592280)+W(1,-1121256842,1016847523,1045838144,1054425801)+W(2,-1088654431,-1079526160,1041422472,-1138466445)+W(3,-1114759963,-1109966789,1057394281,1063939041)+W(4,-1109020730,-1095389295,1012707679,-1112294435)+W(5,-1115564074,-1117689671,1057286118,1061143403)+W(6,-1102056896,-1101414784,-1118891707,-1150731309)+W(7,-1133534770,1028492087,1042544156,1040465365);sum2=W(0,1033867626,-1115218580,-1138679732,-1161717665)+W(1,-1124228530,1029766795,-1096378423,1028201267)+W(2,1030621655,-1096361601,1050854432,-1121504639)+W(3,-1128256742,1035298280,1079482342,1071708903)+W(4,1044499063,-1104067382,1030373815,-1106511096)+W(5,1035336882,-1105361644,-1089118805,-1064184100)+W(6,1040061476,-1122098343,1031200951,980628162)+W(7,-1119150405,1035049634,-1109436715,1048273255);WS(1045693694,1057374369); +sum1=W(0,1034312519,1045853799,-1104752283,1048369598)+W(1,-1099588978,1019902402,-1098373234,-1131023893)+W(2,1057046586,1065585622,-1123958928,1031950009)+W(3,-1105510198,1033283356,-1089164628,-1095062180)+W(4,1061666460,1060939321,-1106189273,-1103831441)+W(5,-1115031649,-1122647270,-1087345809,-1092432965)+W(6,1050689810,1060417841,-1110300085,-1103850789)+W(7,-1126666680,-1103574093,-1091010256,-1092965100);sum2=W(0,-1098709872,-1099141199,1058683530,-1087427905)+W(1,-1089481634,1056590706,-1088885778,1072153031)+W(2,1032637312,1072181481,1050776004,-1081734921)+W(3,-1092495010,1048814690,1071890032,1061509476)+W(4,1036599206,-1080357543,1025544982,1042479954)+W(5,-1095810808,-1097308566,-1080881103,1052304550)+W(6,-1113642582,-1086527647,1058740427,-1105492903)+W(7,-1094462248,1039671439,-1078556244,1050862866);WS(-1081549664,1060153996); +sum1=W(0,1063391104,1055271797,-1115318586,992286043)+W(1,-1105647870,1025423024,-1095899708,-1087586274)+W(2,1062019397,1061503832,1026471870,-1105782456)+W(3,1033921889,-1113405924,-1089250259,-1085498120)+W(4,1058772501,1045594046,1037910210,-1114468402)+W(5,-1113674825,-1106446561,-1102496824,-1090055577)+W(6,1049908468,1040755007,1043803882,-1130210466)+W(7,-1118412923,-1096097592,-1104619012,-1103786988);sum2=W(0,-1080860351,-1097530578,-1110257416,1053790549)+W(1,-1082483044,-1088866791,-1077346152,-1068185653)+W(2,1041061421,1064966059,-1102619530,1033688102)+W(3,1052658871,-1104178634,1072556372,1052310674)+W(4,1050344847,1040479494,-1098152061,-1117483359)+W(5,-1108410079,1040931499,1064749402,1075004369)+W(6,1051151965,1065962098,-1083553679,-1105743952)+W(7,-1137891932,1053124980,1045213317,-1110156824);WS(-1079020096,-1097079011); +sum1=W(0,-1096742621,-1092191510,1033910555,-1109501731)+W(1,1016000225,1020967408,1055662529,1057943754)+W(2,-1089091160,-1087072713,-1108027795,1015347636)+W(3,-1102027816,-1109882648,1068092504,1059647341)+W(4,-1087558450,-1089417126,1019929124,1042979875)+W(5,-1106889398,-1117366414,-1117499817,1059824411)+W(6,-1104831498,-1091818621,-1134559750,1040369234)+W(7,-1104827345,1049289276,1050143023,1043480574);sum2=W(0,-1097479797,1051380185,-1105851814,1037631964)+W(1,1045348435,1028003104,-1097950410,1051023588)+W(2,1028410699,1044594400,-1110757790,1036652885)+W(3,-1113269608,1041832368,1053237761,1034374804)+W(4,1041068006,1046036650,-1139201564,1024508007)+W(5,1033918380,-1089693526,-1088293598,-1132209182)+W(6,1054960427,-1105334641,-1104657620,-1113225064)+W(7,-1099925151,-1106359824,1065714224,-1081781977);WS(-1087384991,1052875812); +sum1=W(0,-1109905397,-1104994285,-1138647561,1041733252)+W(1,-1113613058,-1117825756,1032882549,1041497057)+W(2,-1107522048,1057597757,-1106477875,1034391503)+W(3,-1108789794,1028766931,-1091247383,1050093354)+W(4,1062613266,1055828187,-1098694249,-1100509868)+W(5,1042722079,1013355333,-1090201627,-1087942224)+W(6,1052485297,1044647290,-1120730421,-1110959830)+W(7,1034047139,1038812681,-1100016695,-1098203032);sum2=W(0,1041831066,-1130655130,-1111428867,1019350107)+W(1,-1103332568,-1077765094,-1112274143,1051650697)+W(2,-1138336400,1035402260,-1112005123,1017374087)+W(3,-1073481211,-1087514353,-1114034096,-1092155273)+W(4,-1116945124,1041636268,-1112772903,1028700445)+W(5,1069095754,1074086485,1041190902,1045953881)+W(6,-1107238338,1033528252,999439052,1027823157)+W(7,1057277153,-1107727987,1027833254,1049171133);WS(1050457727,1041689780); +sum1=W(0,992358355,1014710691,-1116681402,-1131312139)+W(1,1048008788,1036450832,1027381214,-1092744895)+W(2,1040368912,-1105027369,-1140959985,1030961105)+W(3,1053966377,933247243,1050737138,-1089348299)+W(4,-1089290871,-1090315138,1048638526,1046496193)+W(5,1043432004,-1119062181,1055368676,1038810352)+W(6,-1098770776,-1086147588,1049181764,1007270019)+W(7,1023583738,1037141075,1051301702,1040416748);sum2=W(0,1057496780,1031729137,1019433289,-1107193278)+W(1,-1080570956,1054527180,-1080020989,1072935738)+W(2,1037283932,-1086728254,-1123892633,1039188525)+W(3,-1096917141,1050123895,-1087453268,-1078950448)+W(4,-1087309268,-1092570464,1032631611,1039851328)+W(5,1053948249,1042769096,1059438018,1051352061)+W(6,1035754242,1063903066,-1097026795,1044641782)+W(7,1029707984,-1106545458,1056300653,1051006721);WS(-1084263519,-1088250567); +sum1=W(0,1048954180,-1096698757,1049480649,-1107101246)+W(1,-1111017296,1043604572,1027018719,-1118116730)+W(2,1059331526,-1119095878,1049647488,-1097447514)+W(3,-1098833704,1050343697,-1090501921,-1108150329)+W(4,1040553109,1041330418,1018612505,-1099235545)+W(5,-1096264890,1044030041,-1094468036,1044929028)+W(6,1040723088,1023387386,1032447885,-1103944776)+W(7,-1121471547,-1175819022,-1106285556,1047463532);sum2=W(0,-1157381748,-1121095386,1034086314,991719940)+W(1,1029794653,1016292894,1027786887,-1100952734)+W(2,-1103829652,-1100672658,1034571486,1055828179)+W(3,1067178121,-1098007098,-1118546758,-1085350121)+W(4,-1090417467,1050795943,-1098363481,1049088345)+W(5,1008607005,-1110134488,-1140682323,1049271738)+W(6,-1113801830,1037803588,-1111365517,-1111430799)+W(7,-1115483467,-1133015817,-1164121191,1035813474);WS(1066054400,-1125664425); +sum1=W(0,1054574294,1053284635,-1108545200,1015260777)+W(1,-1127045294,-1111343263,-1094415406,-1095241461)+W(2,1059735702,1058150961,-1109354663,1023624464)+W(3,1041542629,-1130514988,-1078845388,-1088764634)+W(4,1058102002,1063397581,-1108921531,1023465234)+W(5,1035892576,-1136829776,-1105651068,-1090401103)+W(6,1046571067,1046728251,-1128865616,-1116445024)+W(7,1030749305,-1106930027,-1104354311,-1116790272);sum2=W(0,-1104697837,1029373537,-1103469615,1041565398)+W(1,-1158883614,1035036640,1031260861,-1115419200)+W(2,1057447179,1080145714,1035794320,1029690269)+W(3,1034486240,1041655252,1043319440,1026403525)+W(4,-1103623095,-1066097425,-1107146771,1035452008)+W(5,-1114789346,-1114794272,-1103531154,1050811672)+W(6,-1097535851,-1103109309,1040850628,-1124704946)+W(7,1036709484,-1102936938,1055196268,-1090176537);WS(-1087901375,1071177135); +sum1=W(0,-1110224028,-1109965218,-1122618691,-1121594272)+W(1,994425384,1027034090,1047787782,1030219348)+W(2,-1120206908,1010935165,1044010486,-1114434254)+W(3,-1106192913,1040356168,-1113546820,-1114914192)+W(4,-1108541318,1041417229,-1108159437,-1113833999)+W(5,-1112701798,-1130438655,1035224125,1046030645)+W(6,-1109330685,1039497451,-1123472883,997526195)+W(7,-1151173965,-1125745551,1022061139,1017890711);sum2=W(0,-1116367239,1042859710,-1108814485,1042217679)+W(1,-1140328609,-1114630403,1027395369,1026421701)+W(2,-1078638996,1073929687,-1080767453,1058334461)+W(3,-1105295199,1028261520,-1097310248,1028343990)+W(4,-1092080339,-1116721722,1030602271,1050991857)+W(5,-1122297114,-1105219597,1051491707,1042808122)+W(6,-1106162437,1035114111,-1127683613,1034906705)+W(7,997359482,1017171678,-1112071525,1024141024);WS(1066545696,-1154623394); +sum1=W(0,-1114054203,-1098488296,-1115505461,-1105442505)+W(1,-1123432545,1010507424,1049322687,1057182265)+W(2,-1092352928,-1089108436,1023914903,-1102287846)+W(3,-1097309632,1045294808,1059635472,1062190966)+W(4,-1087887754,-1096061654,1016559928,1021900696)+W(5,-1098559779,1042399967,1043675118,1057132007)+W(6,-1097827287,-1095543703,-1129232035,-1142506442)+W(7,-1110816589,1026256390,1055016957,1048482034);sum2=W(0,1040526244,-1119660436,-1073520568,-1094410020)+W(1,-1120085021,1014274624,-1105577163,1038890507)+W(2,1072065972,1074284701,1007932024,-1076806727)+W(3,-1119386280,1032586275,-1096715819,1038803075)+W(4,1045336233,-1114285571,-1126774165,-1129053184)+W(5,-1148623280,1033069015,-1106066396,1048625414)+W(6,1027498382,-1109537500,1026440100,1016297320)+W(7,-1113847206,1028560484,-1128514892,1035667090);WS(1055250687,-1106970626); +sum1=W(0,1042190962,1055784922,-1105149829,1033119688)+W(1,-1117586055,-1125652468,-1103230410,-1096546392)+W(2,1039447718,1060328969,-1098690473,1043588463)+W(3,1035816565,-1103963220,-1094495495,-1093610964)+W(4,-1105877415,1050469874,-1111820283,1051357302)+W(5,1047255951,-1108600424,-1102978667,-1104321127)+W(6,-1123255849,1044861546,-1119401059,1036109552)+W(7,-1157028943,1018776031,-1097968467,1034127854);sum2=W(0,1030211853,-1147844455,-1111076574,1038757267)+W(1,-1133782171,-1117005539,1039985174,1033894636)+W(2,1002666567,-1080902130,-1107631850,1036628998)+W(3,-1150866734,1049641986,-1084645521,-1092985165)+W(4,-1089131777,1067727291,-1126199158,1045867530)+W(5,1051354211,-1100550183,-1096580382,1069738325)+W(6,1050167793,-1114432338,1014361489,1034641438)+W(7,-1104598763,1033251244,-1100261485,-1100096489);WS(1063662431,1022143153); +sum1=W(0,1028101088,-1100200043,1044567949,-1101665898)+W(1,-1107336877,1049135824,-1112112432,1045825111)+W(2,-1110575390,-1090770105,1054985008,-1113912242)+W(3,-1117269540,1043762234,1036354680,1011332621)+W(4,1042239925,1034205190,1031890901,-1089448239)+W(5,-1090665684,1045380738,1020582213,1053092900)+W(6,1041117720,1032506575,1016341751,-1106608329)+W(7,-1108114694,1027635960,1037368233,-1122250931);sum2=W(0,995625223,-1125871763,1044140338,-1109621945)+W(1,-1127273987,1031533647,-1131300267,1033690799)+W(2,1059194369,-1085775903,1054192939,1011973298)+W(3,-1100093028,1049649037,-1105557074,1019603073)+W(4,-1085690186,1055305067,1050669158,-1083519810)+W(5,-1099380904,1041330252,-1093331249,1066625604)+W(6,-1115586758,1024423563,1007706050,1015542539)+W(7,-1109873113,1021669909,-1163078190,1025625789);WS(1065395904,1046290614); +sum1=W(0,-1125542553,1043656950,1015596034,996799560)+W(1,-1122586727,1036793959,-1105153011,1038203972)+W(2,1056396433,1054862894,-1100927819,-1100668872)+W(3,1049715632,1035554923,-1101762943,-1085640859)+W(4,-1088911438,-1099487682,1025322396,1043886221)+W(5,-1115152096,-1122121748,1036429768,1057024083)+W(6,-1105531411,-1117673547,-1114934548,1035443240)+W(7,1039652277,1024299964,1035195023,1021072448);sum2=W(0,1017509749,-1140172751,-1133651707,1029237671)+W(1,1032328729,1037378915,1038596873,-1104176053)+W(2,1030543605,-1092617066,-1114162505,-1114304490)+W(3,-1104642832,1049979232,-1093179067,1050264307)+W(4,1051105475,1033357967,-1112015576,-1125875827)+W(5,-1110244360,-1085540383,-1090684841,1071302855)+W(6,1011455075,-1105982664,1035088799,1015895733)+W(7,-1135016203,1015899853,1003487558,-1100815852);WS(1058730335,1038095077); +sum1=W(0,-1090412329,1022785342,-1156396202,1050009523)+W(1,-1120619710,1033123659,-1112028282,-1116071407)+W(2,990514519,1051849503,-1123440788,1045232946)+W(3,-1138222105,1042856679,1025171300,1027669243)+W(4,1050259497,1048747736,1029074928,994853272)+W(5,1043400402,1046148791,-1091116387,-1091444451)+W(6,1040337077,1047238893,1016043038,-1116532263)+W(7,1031722640,1050565349,-1085293672,-1095024325);sum2=W(0,1056160584,1047372879,-1119023958,1046272294)+W(1,-1086350256,1012350161,-1100807597,-1069609928)+W(2,1066704996,1062851774,-1097641458,-1106071503)+W(3,-1093103672,-1165704932,1071319304,1063602974)+W(4,-1127558738,-1095719050,-1122591395,-1099339001)+W(5,-1099266547,1039176837,1049925865,-1123458905)+W(6,1012197993,-1094334166,-1112624405,-1120322169)+W(7,-1104052164,1043315186,1046841945,1037702687);WS(-1102208382,1082454872); +sum1=W(0,-1097489215,-1109352802,1019782131,-1121527792)+W(1,1024559218,1025756170,1043005718,1044710709)+W(2,-1089475261,-1094323164,1042764822,-1111677734)+W(3,-1098383546,1034230961,-1113184692,1059136208)+W(4,1057233791,1055571354,-1109244559,-1098291428)+W(5,-1121795355,1034138424,-1113821821,-1102862820)+W(6,1036609181,1023873367,1023050790,-1122839755)+W(7,-1148370726,1021065311,-1122283881,1016630678);sum2=W(0,-1113722375,-1113902527,1033684352,1012975921)+W(1,1009270385,1034062718,-1108511603,-1109752074)+W(2,1034379158,1065557700,1048900749,-1119837718)+W(3,-1096952633,1042274647,1065261424,1047596894)+W(4,1033601684,-1078602486,-1106132930,-1088385914)+W(5,-1110816087,1038223706,-1113936114,-1110433219)+W(6,1048231286,-1117907500,1047279942,-1107812043)+W(7,1037668398,-1111923151,-1110420048,-1106600777);WS(1055139903,1066543323); +sum1=W(0,1025777755,-1106690282,1034160554,-1113216706)+W(1,-1094834883,-1115394087,1047449287,1062476912)+W(2,1025857819,-1108040417,-1104052311,-1110997976)+W(3,-1100641176,-1109281747,-1088276389,1040533578)+W(4,1042814916,1058801014,-1100344024,-1130057219)+W(5,-1111790927,-1131081926,-1096553156,1043316038)+W(6,1040801319,1061190298,-1102181302,-1109060119)+W(7,-1127882001,-1116502963,-1109923206,1003175286);sum2=W(0,-1093611286,-1143136704,1026043047,1032900543)+W(1,-1103368978,996537094,-1104881087,-1093105706)+W(2,-1129502699,1065137024,1005946567,1011969739)+W(3,-1097512177,1038772124,1062580590,1056641171)+W(4,1034934846,1044311979,-1106573410,-1104378201)+W(5,-1108835309,1035638256,-1102271464,-1137732946)+W(6,-1128312106,-1107526541,-1098913457,-1149079854)+W(7,1028654910,-1144299515,-1097055308,-1106196955);WS(1037662203,-1095462961); +sum1=W(0,1054332722,1048962332,1007151360,1051208476)+W(1,1009988859,-1120684294,-1096098779,-1088537607)+W(2,1056131053,1060311124,-1120692693,1047867778)+W(3,1043868050,1008468855,-1086623130,-1089718811)+W(4,1053179033,1057524976,1029685138,-1102286423)+W(5,1024446024,1041242535,-1093380227,-1088149909)+W(6,1045179237,1053688986,998066935,-1117174983)+W(7,-1121112609,1022948968,-1094538289,-1094989189);sum2=W(0,1064397427,1070403917,-1078284587,-1075642964)+W(1,1049259770,-1100572061,1050515956,1042055631)+W(2,1072178178,1071930150,-1086975712,-1077677369)+W(3,1038272909,-1110188613,-1096417404,-1094922849)+W(4,-1093947328,-1119680819,-1109971278,1050575143)+W(5,1033007627,-1109186235,1045435393,-1094640520)+W(6,-1134729809,-1094009133,1046375822,1043550667)+W(7,1040318497,1038207101,-1106076462,-1109099138);WS(-1091974591,1028524890); +sum1=W(0,1050666155,-1101120961,1034997099,-1119527298)+W(1,-1119869997,1044100139,-1100807815,-1104886813)+W(2,1057798952,-1146674958,1033463662,-1099802012)+W(3,-1103774309,-1112176434,1021707158,-1099838668)+W(4,1048486316,1054164791,1044419888,-1090658116)+W(5,-1094617942,1036492177,-1093871840,1057612011)+W(6,1033437822,1053708795,-1110855131,-1099353751)+W(7,-1113521820,1028051362,-1104286795,1029138830);sum2=W(0,-1114745613,1037297246,-1113245689,1029285075)+W(1,-1127985632,-1103172653,1034295695,1024121756)+W(2,-1113507597,1057852752,-1099734421,1046869988)+W(3,-1097344586,-1092930743,1063764387,-1081105309)+W(4,1031538739,1019950674,-1099048447,1045806866)+W(5,1039548141,-1113791115,1060684479,-1093953622)+W(6,1039903515,-1115367833,-1129472848,1040440310)+W(7,1024790472,-1106398082,1051222485,-1099720743);WS(1058893599,-1078409713); +sum1=W(0,-1102829117,-1100240992,1036724056,-1115244150)+W(1,-1115623287,-1114512019,1053376406,1039336887)+W(2,-1094663483,-1084866106,1049246955,-1098555735)+W(3,1041993169,1018575674,1065100884,1053054383)+W(4,-1085064800,-1093243506,-1138283737,1045222582)+W(5,-1114852275,-1108377677,1056764679,1054590883)+W(6,-1093950047,-1095580366,-1115412967,1044966206)+W(7,-1118180448,-1122449691,1050610273,1053059489);sum2=W(0,-1101060123,-1090337753,1009552185,-1130929736)+W(1,-1105822172,-1103557108,1061442923,1045192083)+W(2,1072779570,1053567468,1050909748,-1084383778)+W(3,-1106762492,-1117595750,-1089269841,1050903982)+W(4,-1079161361,1057662166,-1096700837,1049209322)+W(5,-1111371347,1025228376,-1094014597,1029505799)+W(6,-1097661058,-1112521942,-1129474226,1051369678)+W(7,-1138825972,1030887459,-1105984421,1046387683);WS(-1109369595,1048740969); +sum1=W(0,1051718495,1050319297,1030414773,1040995480)+W(1,-1125552391,1032958437,-1095167863,-1091711555)+W(2,1059003715,1046504696,1043594790,-1118646413)+W(3,1042985722,1045509569,-1083562713,-1085356599)+W(4,-1135436979,1043825845,1037121811,-1129436350)+W(5,1023899916,1019546753,-1098326935,-1096690237)+W(6,1049475887,1058279379,1043560049,1030207412)+W(7,-1130219052,-1105013544,-1098718953,-1120665100);sum2=W(0,-1117552581,-1109343151,1043809265,-1113177829)+W(1,1041583669,1009024316,1039662186,-1100446453)+W(2,1052574118,1063553374,1034071291,-1095416462)+W(3,-1118793923,1018689733,1053677817,-1114145263)+W(4,1070912061,-1112203792,1043900974,-1120341831)+W(5,1031195477,-1105538343,1042882834,-1101063801)+W(6,-1091338378,-1072794661,-1119209873,1020015593)+W(7,-1114748986,-1109237633,1055602011,-1094258913);WS(-1093437503,1065718162); +sum1=W(0,1049488055,1042594425,-1101135841,1037550096)+W(1,-1114711965,-1097873069,1046266118,-1103061781)+W(2,1049041945,1066142676,-1107014286,1044878747)+W(3,1046063170,-1091362312,-1106438298,-1087470164)+W(4,-1100146203,1045825417,1037051057,1042111087)+W(5,1037494709,1040258368,-1091131027,-1111606545)+W(6,1040663590,-1119554198,1041500301,-1099961615)+W(7,-1109172298,1033770775,-1103590594,-1133427370);sum2=W(0,-1123106758,-1113590739,1026201604,-1106488910)+W(1,-1124712996,1043391307,-1092748399,1050172947)+W(2,-1084666863,1061776657,1060425407,1035711566)+W(3,-1098783459,1048423650,-1099741350,-1097703384)+W(4,1055047321,-1119175762,-1096618367,-1098764525)+W(5,1041036039,-1099280352,1050324229,-1120322586)+W(6,-1103500958,1041613778,-1127820908,-1182808622)+W(7,1048645442,-1118590758,-1105222946,1025620288);WS(1056660607,-1113798601); +sum1=W(0,1041913228,1008348404,-1101671294,-1115305597)+W(1,1026504084,-1151777337,998498191,1012656821)+W(2,1031963795,-1093680051,1039904137,1016801995)+W(3,1032505286,-1108358078,1057450908,-1102006873)+W(4,-1089471492,1034024758,1040453028,1037148876)+W(5,1031920291,1043455038,-1111681498,1049874551)+W(6,-1111400057,1031051312,-1154296528,-1110559226)+W(7,-1129849213,-1125050675,1036430914,-1109457443);sum2=W(0,1024638457,-1101207597,-1114796094,1042939003)+W(1,998901155,1022659417,1042777565,-1123927190)+W(2,1027593065,-1097759574,-1124781020,1044529628)+W(3,1017512357,-1104939928,1059165645,-1098782283)+W(4,-1130307786,1033669310,1016881133,-1106748864)+W(5,-1098668376,-1089791762,1017094385,1062760553)+W(6,1022409637,1019735589,1027959261,-1108227590)+W(7,-1106217568,-1115680109,-1125388747,-1160993898);WS(1066155712,1004288134); +sum1=W(0,1049267618,1048612844,1029697589,1047132567)+W(1,-1138510971,1046969501,-1092380195,-1089062279)+W(2,1055750611,1059093756,1041631965,1014062303)+W(3,1024451359,1049129552,-1084647474,-1088453014)+W(4,1057479944,1056993158,-1123217244,991515041)+W(5,1040560290,1043007167,-1088742789,-1091963789)+W(6,1047138005,1055767146,1030265807,-1154741365)+W(7,-1122630737,-1122583780,-1086886676,-1098495965);sum2=W(0,1040858440,-1103755803,-1111382628,1011892235)+W(1,1010964983,-1106716388,-1109875610,-1127819845)+W(2,-1125277089,-1084511950,1032283234,1037768402)+W(3,1032593498,1040462902,-1071556311,-1096621612)+W(4,-1090323786,-1159433014,1009460031,-1114728106)+W(5,-1100404332,1040394500,-1099343032,-1071973667)+W(6,1053584755,1052886875,1030203700,-1112526532)+W(7,1007208771,1051792925,1079690007,1076043190);WS(-1086041375,1049976369); +sum1=W(0,-1096855193,-1097190986,1025261033,-1125608345)+W(1,1048607039,1030637974,1051176741,1037693680)+W(2,-1086237883,-1083643033,1046732297,1032012444)+W(3,1026121224,-1103554484,1062665585,1059434222)+W(4,-1093631755,-1095059844,1036081274,-1114869141)+W(5,-1110078044,-1109004102,1052562329,1052924527)+W(6,-1132519191,-1095180224,-1119140736,1036645660)+W(7,1035782593,-1118200972,1048775023,1041010310);sum2=W(0,-1115199196,1026958814,-1144560396,1029601330)+W(1,-1079547524,-1081990625,-1100298556,-1096390757)+W(2,1032369083,-1106065675,-1115106220,1032763954)+W(3,1041174181,1041059708,-1108884178,1076866217)+W(4,1042189754,1029124674,-1121335223,-1111454114)+W(5,1024602232,-1127158528,1025985538,-1116766618)+W(6,1022674491,1026253022,1021645795,-1109520646)+W(7,1007020790,1003377428,1011072742,-1115268590);WS(-1111980027,1060626277); +sum1=W(0,-1102882983,-1092055397,1032179266,1023621139)+W(1,1028429765,-1113080214,1043529367,1044706422)+W(2,-1089823274,-1095093232,1037158526,1030954414)+W(3,-1101761443,-1098683411,1064981515,1057090380)+W(4,-1090725010,-1139402199,1036680203,1036765152)+W(5,1033439719,1030304674,1042557255,1047303429)+W(6,-1116432156,-1108873773,-1119312598,-1146606447)+W(7,-1104492078,-1112219839,1041638915,1028925358);sum2=W(0,1045439570,-1090239140,1046455264,-1107703976)+W(1,-1122224669,1035962913,-1096329612,1032849260)+W(2,1028879562,1064195571,1048924762,-1093472442)+W(3,-1098806672,1041148911,1036056807,1030082819)+W(4,1016778259,1027385222,1049435664,-1097201227)+W(5,-1091828205,1041687668,-1091675747,1059898488)+W(6,1028121257,-1105208479,-1119402461,-1106239872)+W(7,-1098243254,-1104565052,-1117889585,1053658286);WS(1062681599,1040842201); +sum1=W(0,-1104300209,1050445194,-1115361429,-1108789463)+W(1,-1118282400,-1114475276,-1097788769,1042117608)+W(2,-1089127203,1063952639,-1092926921,1048981817)+W(3,1049574381,-1090427073,1049970971,1032428200)+W(4,1043197406,-1106041808,1029602904,1054602509)+W(5,1045778638,-1112080775,1049956321,-1088418847)+W(6,1039191171,-1114238594,1025443329,-1117967305)+W(7,-1097758566,1033393295,-1123051255,-1112931212);sum2=W(0,-1126315713,1043050536,-1100048068,1038735267)+W(1,-1111656758,-1115683900,-1115313021,-1111714958)+W(2,1053683464,1058830244,-1110884051,-1115453090)+W(3,-1093358619,-1105966973,1061563017,1046662525)+W(4,-1100540415,1037942519,-1153955669,-1090743949)+W(5,1037413595,-1101879362,-1104363663,1052621807)+W(6,-1098889179,1040830228,-1103797208,-1112598570)+W(7,1044482581,-1098877089,1007755797,-1118760183);WS(1062776447,1069975051); +sum1=W(0,1036893844,-1114635034,-1112835078,-1130308944)+W(1,-1108240801,1029922778,-1098478453,-1104137265)+W(2,1050058840,1071110128,-1094805377,-1113144126)+W(3,-1111877761,-1088740684,1041368142,-1104852259)+W(4,1061455014,1044746969,-1114270939,-1098008538)+W(5,-1112520550,-1119589855,-1109080309,-1095764665)+W(6,1018226642,1049407081,-1117827459,-1117364667)+W(7,-1121527653,-1103102129,-1120810969,-1103882015);sum2=W(0,-1113117380,1026197871,-1110297977,1028834725)+W(1,-1113210551,1032917698,996515330,1037052904)+W(2,-1099362318,1077416661,1034973002,1035091068)+W(3,-1106692355,-1103487680,-1069860026,1043940575)+W(4,1050456944,-1112814852,-1154986018,-1110025415)+W(5,1034055293,1006658352,1021906202,969317772)+W(6,1027999489,1016280910,1030684381,-1120031976)+W(7,1018186436,-1124181989,1013156184,-1115577362);WS(-1082599007,-1084302409); +sum1=W(0,1056665680,1052281350,1011517278,-1127095446)+W(1,1035858193,-1128228554,-1096260148,-1087212124)+W(2,1058821842,1061132051,1024933540,-1110892475)+W(3,1043137767,1023709101,-1087957451,-1085877656)+W(4,1054434479,1052720805,1039136849,-1111586789)+W(5,1037286635,-1111842501,-1102718609,-1089270826)+W(6,1043783817,-1159632952,1049617952,-1108207315)+W(7,-1130056576,-1115207149,-1106709957,-1106422582);sum2=W(0,-1095160239,1065850492,1071226724,1048459811)+W(1,-1123792544,-1127547903,1043007163,1026509768)+W(2,-1121381976,-1099027008,1074401127,1075494724)+W(3,1027169380,-1107011198,-1093896652,1043168485)+W(4,1031151008,1057399482,-1077687291,1044864951)+W(5,1037067951,1021690579,1019701051,1012395574)+W(6,1045213405,-1095971461,-1066953112,-1072311776)+W(7,-1124089088,-1166810856,1027278540,-1109946848);WS(-1118215158,-1130722305); +sum1=W(0,1045520358,1040649785,-1119983743,1039784439)+W(1,966095017,-1166742058,-1098235299,-1094865274)+W(2,-1126797149,1070303194,-1101267710,1027132090)+W(3,1023429181,-1127173569,-1106608186,-1085881139)+W(4,1059129261,1056727436,-1119840977,-1106141431)+W(5,-1112024885,1030946302,-1093134907,-1088850304)+W(6,1040938982,1050582583,-1158357571,-1131926580)+W(7,-1160489077,-1106263629,-1104503154,-1098615277);sum2=W(0,1043676402,-1092335308,1029904221,-1122933952)+W(1,1034421913,-1121365342,-1096734640,-1122578476)+W(2,1050667883,-1106663265,1044174015,-1104768174)+W(3,-1103315560,1049347404,1078656606,-1067932755)+W(4,1035773679,1033986578,1032455763,-1122786276)+W(5,1027752905,-1114333025,-1106732625,1056344301)+W(6,-1123822916,1030027555,-1120585334,-1118952582)+W(7,1025409455,-1129253837,-1116084330,1033374173);WS(-1112296443,-1083191171); +sum1=W(0,1049894985,1052276159,-1102688301,1030599873)+W(1,-1124642344,-1114229790,-1095734081,-1100141489)+W(2,1055519004,1061107959,-1091052013,1038739494)+W(3,1039505712,-1108354137,-1078809864,1044438853)+W(4,1059731464,1052059899,-1118018759,-1120252367)+W(5,1037196526,-1129006466,-1095185489,-1100785926)+W(6,1050382861,1050879021,1036799090,-1105737735)+W(7,1034647259,-1123394945,-1113977245,-1092887220);sum2=W(0,1032198029,-1093721101,1040286055,-1134366274)+W(1,-1113629492,-1099320981,1059013351,-1102569648)+W(2,1064064153,1038410574,-1089934078,-1103185345)+W(3,1062572765,-1079072621,1075980540,-1076328416)+W(4,1053501328,1053898256,-1135474394,-1104699884)+W(5,1057269325,1039501040,-1093863519,-1081344728)+W(6,-1088730122,1045555557,984214720,1039368980)+W(7,-1089994189,1050815727,-1089334779,1061819985);WS(1051639487,-1077445112); +sum1=W(0,-1087680633,-1097242582,1019039018,1023584208)+W(1,1019116206,-1110819225,1049175941,1058381481)+W(2,-1087958558,-1084584703,-1114024277,1046978951)+W(3,1041321753,-1110784681,1058705186,1059595066)+W(4,-1089578188,-1090497932,1036430651,1042440780)+W(5,-1120949436,-1111841304,1057261083,1060807824)+W(6,-1100840226,-1089989738,1017051223,1019910405)+W(7,-1108976675,1037750032,1052092149,1047705823);sum2=W(0,1043027417,1024633771,-1103949071,-1103483317)+W(1,-1126025102,-1101612494,-1105891820,1043672886)+W(2,1050158855,-1096718424,-1096200772,1036613850)+W(3,1051748473,-1144187697,1053817256,-1113242263)+W(4,1057240079,1037855330,-1090478844,-1094761445)+W(5,-1129269697,-1114569970,1053166295,1043447632)+W(6,1036780676,-1103545669,1024429003,-1091384835)+W(7,-1102484885,1044262941,1034776200,1043680942);WS(-1102141694,1066754929); +sum1=W(0,-1097150806,-1105574095,1028037205,1024767465)+W(1,1047316983,-1123186307,1021251426,-1121670572)+W(2,-1092607882,-1086231302,996156698,-1148374821)+W(3,1027553675,1037457517,1064662112,1053426631)+W(4,-1085570014,-1090150659,1011245536,1034886379)+W(5,-1103359865,1031219256,1058905527,1060264850)+W(6,-1093685286,-1100403588,1023537404,1017269224)+W(7,-1108923303,1039125668,1048736520,1047037217);sum2=W(0,1005444026,-1121000217,1031019669,-1127568330)+W(1,-1069105992,-1075891845,1052911126,-1099850392)+W(2,-1135062981,-1099801823,-1123247753,1013355589)+W(3,1052106082,1078854269,-1120914990,1040255711)+W(4,1044314830,1052295626,-1126559289,-1131101666)+W(5,1061745892,-1097592921,-1112663055,1055431083)+W(6,-1112001042,1018744598,-1122774763,-1128009624)+W(7,1033712114,1037317546,-1105142519,1029993103);WS(-1092827839,1049601702); +sum1=W(0,-1114726817,-1100496851,1048973336,-1102748075)+W(1,1001409895,1025584388,1037939345,1043768535)+W(2,1056141590,-1092935501,1035794226,-1101661842)+W(3,1043222609,1028885900,1048278549,-1092531310)+W(4,-1090189951,-1127762491,951002293,1035295380)+W(5,-1097823129,1046084402,-1107678146,1059458263)+W(6,-1107070641,-1116434785,1019995195,1028700102)+W(7,1018269854,1033486885,-1103464157,1040739973);sum2=W(0,-1099866854,-1087014785,1049954711,1047648616)+W(1,-1104812914,1032774583,-1127547935,1040911688)+W(2,1059941103,1059724034,1036131868,-1086499077)+W(3,-1118719608,-1112213150,-1147690453,1006897087)+W(4,-1104253425,-1116739540,-1144052469,1021844703)+W(5,1020986307,1037506252,1046092804,-1094365093)+W(6,-1123734224,-1119117496,-1114852932,1036766656)+W(7,1020773629,-1120467144,1045874226,-1117733622);WS(1062974879,-1132215613); +sum1=W(0,-1096960767,-1103300066,1033235448,-1181157822)+W(1,1046591191,1028472621,1024586364,1047884458)+W(2,-1098273063,-1084817024,1032693326,-1120645311)+W(3,1027902609,-1105457745,1065496294,1040665968)+W(4,-1086871647,-1093312183,1012846527,1014937094)+W(5,-1099580452,-1121668195,1057013666,1061273423)+W(6,-1094276984,-1099477807,1027727527,1029466479)+W(7,-1123904424,1033797162,1049029078,1048826162);sum2=W(0,-1114727130,-1127207629,1023555157,-1120861164)+W(1,1073213517,1067585393,1021361633,1051943787)+W(2,1049207316,-1100512081,1039733942,-1114715157)+W(3,-1095215585,-1072102567,1049204344,-1100379929)+W(4,1044392032,-1113639142,-1121732899,-1111876903)+W(5,-1085077901,1017790060,1040523175,1029680046)+W(6,-1107243417,1035475508,-1136150442,1028106223)+W(7,-1115100698,-1111101803,1017564481,-1113800818);WS(1038961915,-1122010239); +sum1=W(0,1048595660,1052250558,-1113106351,1004620105)+W(1,-1116246236,1027857155,-1096833644,-1099376311)+W(2,1058549636,1061573929,-1125534724,-1112775210)+W(3,1036452944,1040782707,-1086812373,-1088891129)+W(4,1057522353,1048822826,-1126589322,-1137271196)+W(5,1018281129,-1113857108,-1095914356,-1093214133)+W(6,1040718305,1048641524,-1119328748,1026657556)+W(7,1010557432,-1106455448,-1103878453,-1105329661);sum2=W(0,1027562258,-1162615720,1024927837,-1116580406)+W(1,1077914250,1064911462,-1098456431,1055923683)+W(2,1047581344,-1109513493,-1115420496,-1129828931)+W(3,-1076359256,-1072190840,-1093462217,-1107918233)+W(4,1038795182,-1118168090,-1123989928,1011185933)+W(5,1023726209,-1114062645,1042713369,1043574176)+W(6,1030671240,1038841827,-1132229127,-1146345634)+W(7,-1119388396,-1111766417,1029869485,-1118222006);WS(1058520191,-1103814144); +sum1=W(0,-1136595532,1016280509,1027734728,1017038583)+W(1,1027978638,-1097122909,-1128563239,-1118053743)+W(2,-1109207324,1062837304,-1107262661,1045254802)+W(3,-1104843131,1033499055,-1096672636,1044218638)+W(4,1058887264,1040464732,1031430877,-1105442246)+W(5,1025985831,1030848699,-1103880229,-1085861660)+W(6,1030731221,1029953906,1024536063,-1126950445)+W(7,-1131329888,-1109411553,-1145128486,-1107144426);sum2=W(0,-1176551015,-1168898884,-1125598974,1034702970)+W(1,-1110263367,-1089294892,-1090251816,1007931783)+W(2,1041527709,-1101298022,1027536136,-1114553387)+W(3,-1085860022,1061443693,1043575777,1067159008)+W(4,1036785061,-1106074654,1035052048,-1115924578)+W(5,-1099982080,1042454777,-1104273626,1028484706)+W(6,1030578400,1024211757,1025333585,-1132148431)+W(7,1027614804,-1123742626,-1114791455,-1148595850);WS(1061983711,-1098811342); +sum1=W(0,1051270689,1046420622,-1126897281,1012577103)+W(1,-1107438075,-1107699151,-1106195699,-1108510228)+W(2,1058683087,1058369439,1024253613,-1105225996)+W(3,1036711743,1026749110,-1089548804,-1088411008)+W(4,-1097514912,1052214131,-1137207095,1053413654)+W(5,-1116819519,1024709491,-1096732498,-1118840551)+W(6,-1105013139,1050302029,-1109172700,1042674340)+W(7,-1140694819,-1154413112,-1103000311,-1109015536);sum2=W(0,1036503366,1041828239,-1110181012,1018267361)+W(1,-1099489904,-1102883314,-1116783782,-1126101987)+W(2,1050199247,-1085432172,1038715850,-1146613180)+W(3,1052019906,1047113133,-1080125372,1071387060)+W(4,1038941240,-1123003584,1036970119,1024296823)+W(5,1035497971,-1112911441,-1114155200,-1093021050)+W(6,1013422114,1021003447,-1124702635,1022003098)+W(7,-1119585859,-1131838862,-1143100940,-1149124484);WS(1061194367,-1092415693); +sum1=W(0,1051201914,1053058480,-1126263470,1036390333)+W(1,-1115149537,1030237668,-1172862130,-1104881972)+W(2,1054554894,1047231542,1043857157,1025725222)+W(3,1021350042,1036659934,-1076465248,-1093268199)+W(4,1057662314,1050872286,1044002978,1035642972)+W(5,1039247491,1026362746,-1093150623,-1087389459)+W(6,1045022613,1049392206,1045699251,998479342)+W(7,1017611295,1018350484,-1095910796,-1111846627);sum2=W(0,1018376667,-1087595144,1042193002,-1129487679)+W(1,-1117386048,-1106566736,-1098446206,-1097777178)+W(2,1054016721,1063707892,-1095819059,-1108339354)+W(3,-1108034123,-1104582586,1068295659,-1106280983)+W(4,1036978867,-1103064253,-1103499785,1041127864)+W(5,-1102127104,1036459063,-1110264861,1052165187)+W(6,-1103241982,-1112191100,-1118637794,1034257999)+W(7,-1104779766,996655259,-1107248782,-1135489703);WS(-1094699455,1066131816); +sum1=W(0,-1081848423,-1088299640,1029004921,1049793485)+W(1,1042128105,-1139594888,1048637514,1059460685)+W(2,-1084057276,-1084821317,1043166228,1050253240)+W(3,1026023615,1020508084,1059873140,1060796209)+W(4,-1084563631,-1104203619,1041612884,1029407446)+W(5,-1125172935,1048504406,1047596309,1055943200)+W(6,-1099802604,-1096241030,1012128942,1035949114)+W(7,-1115227886,1051471881,-1105809528,1050483936);sum2=W(0,1051802488,-1097493973,-1118034101,1060779432)+W(1,-1114203174,-1112558489,998397725,-1086062785)+W(2,1057101737,1060027297,-1119327164,-1104519356)+W(3,-1099984065,-1091352583,1066349798,-1092333837)+W(4,1044004337,1057962293,-1106905521,-1101970936)+W(5,-1094257268,-1102635709,-1133317807,979464170)+W(6,-1098665363,-1086721729,-1082144605,1002331293)+W(7,-1094504499,-1114333706,1070824403,1046794021);WS(-1074268304,1079667699); +sum1=W(0,-1101508903,-1090199334,1027760991,-1107189325)+W(1,1035260131,-1107632246,1054303683,1054199089)+W(2,-1090363950,-1087996124,-1113641470,-1136873402)+W(3,1005391451,-1101800081,1067750847,1062422475)+W(4,-1083961527,-1096484091,1033891144,1031162561)+W(5,1034855959,1046337921,1052689284,-1113534839)+W(6,-1098094611,-1093567651,1035917755,-1126712892)+W(7,-1150999418,1042992013,1045977323,1031942551);sum2=W(0,-1100757902,1045040397,-1121805095,-1109104193)+W(1,-1125509919,1026278254,-1125556022,1040683096)+W(2,1080470972,-1080397282,1048674700,1045986101)+W(3,-1112163985,1050380898,-1095181876,1049174250)+W(4,-1070026310,1054845861,1048446997,-1091901802)+W(5,-1131668233,1033243862,-1110936398,-1122013099)+W(6,-1109557127,-1113850952,1027039508,-1113936425)+W(7,-1144282357,1036778147,-1103996340,1038355211);WS(-1085238047,-1082053459); +sum1=W(0,1039996894,1010512412,-1138285833,-1106787663)+W(1,-1104330662,-1128637723,-1119213276,1048926451)+W(2,1053399812,1045540841,-1094657608,-1108632776)+W(3,-1108017347,-1096910157,1010216242,-1130975030)+W(4,1051732998,1044326914,1037328759,-1101713608)+W(5,-1101323868,1015829447,1025236158,1034301867)+W(6,976543556,1057105320,-1109379868,-1111697288)+W(7,-1111437732,-1108664266,-1109745879,-1128978334);sum2=W(0,1025825838,-1119700813,1032956443,-1124623913)+W(1,1021162350,-1114452863,-1135835500,1042257288)+W(2,1032253087,1046009611,-1101336864,1027185909)+W(3,-1109212782,-1102267892,1048892371,1053804277)+W(4,1060071017,-1108021530,1029736763,-1094263361)+W(5,-1105958464,1037505372,-1101254223,1036906607)+W(6,-1111711122,-1092338318,1039412150,-1112090109)+W(7,996911332,-1125671849,-1114145526,-1115069322);WS(1060867039,-1136390908); +sum1=W(0,-1085412379,-1094311080,1034805910,-1127355032)+W(1,1047055468,-1108149971,1049208039,1049179798)+W(2,-1093352008,-1084691216,1029669941,1035163860)+W(3,1036232649,-1103012671,1063283264,1060583566)+W(4,-1088428116,-1088125293,1021674692,1042066222)+W(5,1024178471,1026233836,1055147879,1058522472)+W(6,-1096644095,-1091872390,1021261983,1040577786)+W(7,-1126656770,1049799631,1041474713,1050065089);sum2=W(0,-1063752230,-1085747691,-1098827199,1035672114)+W(1,1013645866,1034418818,1041803367,-1093487673)+W(2,1077059336,1075347264,1035178389,1049155846)+W(3,-1106855503,1049524211,-1096808218,1041184099)+W(4,1056308660,1034654874,-1144855824,-1107113032)+W(5,-1122362105,1030856901,-1119639669,-1129382302)+W(6,-1121418857,1014935340,-1127184278,1035201737)+W(7,1027103888,-1115004359,1011408026,-1122522987);WS(-1090674303,-1100343233); +sum1=W(0,-1091881416,-1094093465,1040422273,-1120232797)+W(1,1036288004,1023553551,1052500896,1051419109)+W(2,-1085938046,-1089254334,-1138867958,1026412864)+W(3,-1112170192,-1115349187,1067891162,1061270771)+W(4,-1089797193,-1085407367,1033565615,1033879777)+W(5,-1112030904,998486818,1016645247,1060067146)+W(6,-1095206984,-1105032111,988102399,1019476032)+W(7,1027103050,1040345019,1036835111,1041715172);sum2=W(0,-1101425729,1043012943,-1114130867,1040618154)+W(1,-1121139419,1033653009,-1135257643,1012698939)+W(2,1049717343,1078734719,1044229537,-1122148687)+W(3,1038119907,-1131387750,1020747990,1047429512)+W(4,1058416067,-1066172228,-1097134960,-1110193301)+W(5,-1162837210,-1124290574,-1105653505,1045573328)+W(6,-1087270128,1051160418,1037459780,1037070268)+W(7,-1142454518,-1119987003,1029335953,-1098650023);WS(-1083751903,-1076119444); +sum1=W(0,1056842307,1054460828,-1106029427,-1115245576)+W(1,-1108216057,-1118873130,-1096614035,-1093345814)+W(2,1062160243,1061549380,-1113929101,-1102084379)+W(3,1032187759,-1118044066,-1088621915,-1087844584)+W(4,1051628466,1034628298,1029734646,-1115339007)+W(5,-1125935063,-1114025640,1039622221,-1095344475)+W(6,1040780998,1027250487,-1147960477,-1110488366)+W(7,-1103117229,-1101242061,1052549785,1023285463);sum2=W(0,1041896729,-1133541327,-1105635988,-1142266798)+W(1,-1116438034,-1143926222,-1119640286,-1109207785)+W(2,1052249127,1059101684,-1104742183,-1108468488)+W(3,-1116983273,-1107716245,1057719514,-1132044399)+W(4,-1116644500,1022626513,-1111519795,1004562934)+W(5,1036001553,-1093640310,1040987637,1049160976)+W(6,1036478091,-1114250343,1007186587,1009402627)+W(7,-1115139384,-1102449905,-1094402391,-1103527129);WS(1032624635,1033521535); +sum1=W(0,-1098906814,-1100587359,-1117491096,-1131553039)+W(1,1045470610,1025984961,1047570260,1051615627)+W(2,-1081513385,-1078593782,1049918570,-1112834618)+W(3,1036113314,1040182861,1043587024,1060987922)+W(4,-1105649745,-1092053629,1016822387,1045795365)+W(5,1012071435,1032631435,1059398075,1056209202)+W(6,-1096260814,-1095243062,-1113168565,1035361729)+W(7,1023888652,1034850724,1051600524,1049440024);sum2=W(0,-1092384767,1027875109,-1099208280,-1111826236)+W(1,1034661269,1048636172,-1100947515,-1095745094)+W(2,1064661507,1062273543,-1106561040,1026789677)+W(3,-1098451609,-1099981129,1068550638,-1112642295)+W(4,-1087164405,-1108191451,1046407154,-1093448876)+W(5,-1118651857,1049739863,-1106740917,-1104229197)+W(6,1044380270,-1104593420,1042570396,-1102666308)+W(7,-1095995165,1048025970,-1105841536,-1103404028);WS(-1085606847,1061985400); +sum1=W(0,-1089905075,-1114895517,-1117164584,-1108997980)+W(1,1040581229,-1114811305,1056544190,1057688104)+W(2,-1095264598,-1077801587,-1103105924,1031768707)+W(3,-1107526493,-1110202349,1055481056,1062390314)+W(4,-1097956992,-1088999487,-1110420181,1041900981)+W(5,-1118208771,-1108027100,1051900674,1062127874)+W(6,-1098379486,-1096151518,1014163116,1037113665)+W(7,1024450541,1041210774,1057425872,1048102065);sum2=W(0,1048760593,-1090084783,1048912334,1025785873)+W(1,-1126760968,1008603006,-1119218892,1035955606)+W(2,-1114768213,1066763200,1056133856,-1096464036)+W(3,-1094704139,-1080670875,1064934573,1007739746)+W(4,-1086306359,1058187354,-1121968309,-1104154812)+W(5,1031309677,-1125625514,1050702067,-1089946445)+W(6,-1113492694,-1128581905,1015120151,1033410161)+W(7,-1109240237,1039335694,-1102128709,1025685973);WS(-1090966143,-1078936607); +sum1=W(0,-1086961670,-1108945587,-1108278025,-1116393227)+W(1,-1116819366,1035952359,1041859343,1058706816)+W(2,-1086695325,-1081986687,-1105522375,1051625062)+W(3,1041797992,-1104043025,1059190367,1060094467)+W(4,-1089148367,-1086453117,-1091195697,1058727904)+W(5,1053094890,-1093101306,1055062080,1061098519)+W(6,-1092689140,-1091172115,-1109728971,1052016408)+W(7,1015960496,1034498693,1058930855,1056115606);sum2=W(0,-1118025227,1050920275,-1119417071,1023528661)+W(1,-1073269716,-1077701631,1065042273,1075422545)+W(2,-1112399565,-1098493686,1009798795,-1105978590)+W(3,-1078616397,-1083676116,1067662601,1069638520)+W(4,1036263434,-1124489419,-1111364082,1040834561)+W(5,1044144047,1070390370,-1079439326,-1093932676)+W(6,1048582480,-1089345484,1033368796,1041397121)+W(7,1068400636,1077727906,-1070108577,-1078082886);WS(-1079921856,1049308945); +sum1=W(0,-1165865787,-1118082277,-1133949626,1030068962)+W(1,1025440517,-1111921110,-1108803021,-1187780005)+W(2,1053008345,-1094507016,1018623990,1050882798)+W(3,-1120535059,-1104818073,-1106873963,1038634079)+W(4,1052481994,1043504665,-1146454049,-1106924392)+W(5,1046575523,1041667424,-1101591143,-1087778738)+W(6,1047635255,1026870489,1040905769,-1116987117)+W(7,1031519031,1031554658,-1110197734,-1101174683);sum2=W(0,1059176005,1038856572,-1095066961,-1116556974)+W(1,-1114011261,-1173649795,1050790436,-1096412953)+W(2,-1076691076,1055715442,1050308919,-1100395256)+W(3,1024138419,1040413046,-1097771226,1058179896)+W(4,1046498927,-1123959066,1032406727,1040792410)+W(5,-1106323994,1033840078,-1106160519,1039711359)+W(6,1028959950,1032868606,-1141998384,1011901446)+W(7,-1127468978,-1107910389,1038360912,1018212767);WS(1060842367,-1123947436); +sum1=W(0,1048950736,1047784339,1023159627,1024730985)+W(1,-1122548355,1026072115,-1098772880,-1097448124)+W(2,1057388094,1060112037,1017803651,-1105241169)+W(3,1037590622,1037652837,-1085451727,-1087773444)+W(4,1062491953,1057656339,1035962309,1037913699)+W(5,1034810634,1033785172,-1089872870,-1088044111)+W(6,-1114528913,997860858,1032728670,1028045772)+W(7,1008900343,-1114288296,-1103124285,-1102522557);sum2=W(0,1001103237,-1121600279,-1112740722,1026131421)+W(1,-1114822986,-1108393699,1038637096,-1133854939)+W(2,-1108221277,-1097923247,1032928238,1046858645)+W(3,1029862733,-1101308237,-1103185020,1037424280)+W(4,1069212508,1057336110,1040344552,1042166107)+W(5,1036213344,-1145606165,1019342369,-1120290433)+W(6,-1095628134,-1107037379,-1091819295,-1082879617)+W(7,-1111520861,1034167562,-1122429445,1039461314);WS(1038606587,1058047160); +sum1=W(0,-1095018974,-1093024127,1042118304,1026865207)+W(1,-1136300775,-1117800769,1048945010,1044423619)+W(2,-1082724754,-1100730470,1033639368,1051307036)+W(3,1005722288,1044405134,-1097872036,1054092644)+W(4,1036658562,1040951763,-1109598961,1046742309)+W(5,1047528601,1044812414,1033100505,-1091674216)+W(6,-1113143704,-1098528366,1015037525,1028927539)+W(7,1032954286,1044220906,1047837568,1030352835);sum2=W(0,1045860939,1052242374,-1103301852,1050657429)+W(1,-1103122208,-1106328874,1013554208,-1111592920)+W(2,-1100974944,1066745360,-1091436731,1060573163)+W(3,1015168980,-1113723980,1055083328,-1111727364)+W(4,-1079344782,-1113016512,-1097267636,-1104427284)+W(5,1051192034,1034643320,1034990326,-1098647652)+W(6,-1119497008,-1113648424,-1107511544,1038196249)+W(7,-1122594772,-1140986496,1042188938,-1110499846);WS(-1095257599,1052962039); +sum1=W(0,-1097695335,-1111219488,1031300369,-1106746181)+W(1,1036635571,1032102291,1042046133,1053309708)+W(2,-1083536631,-1088861218,1037361867,1046667354)+W(3,-1110849586,-1103814096,1053570633,1060606673)+W(4,-1107201338,-1115618056,-1128966365,1040829967)+W(5,-1130665360,1023220920,1033575580,-1101583222)+W(6,-1117058422,-1138753100,-1115420664,1034540700)+W(7,1009452933,1041468947,1041019129,1029127944);sum2=W(0,-1089705070,1025195792,-1121249932,-1137205193)+W(1,-1106134583,-1131583764,1014073009,-1116057142)+W(2,1049206515,1054529493,-1101149788,-1137006201)+W(3,1023734245,1030258377,1044729510,1040872535)+W(4,1039074115,1050074620,-1115985020,1034796937)+W(5,1045578999,1041497164,-1108168105,1024555690)+W(6,-1104546681,-1103055048,1026538132,-1140489533)+W(7,-1131316168,1036128894,-1093226929,-1105229574);WS(1058062751,-1100017341); +sum1=W(0,1055064995,1054737968,1020928695,-1129599006)+W(1,-1110864465,1035506764,-1108714620,-1094744478)+W(2,1061839865,1057524464,-1111175932,-1098371705)+W(3,-1103907470,-1115102560,-1081607655,-1089137095)+W(4,1062722401,1039434185,-1108487635,-1108928286)+W(5,1038105413,-1103382940,-1089739654,-1111400813)+W(6,1053936411,1054765971,-1134533769,1028685770)+W(7,1038153674,-1101904010,-1094983833,1037008853);sum2=W(0,1034733544,-1100522159,-1114205611,1046625968)+W(1,1026537136,-1103988998,-1093312378,-1147999170)+W(2,1034693600,1066071967,-1079666171,-1097342682)+W(3,1049229753,-1114956972,1059803421,1057288295)+W(4,-1087077400,1062799024,977545170,1041595755)+W(5,-1104980683,1050850828,1057064650,-1088579916)+W(6,-1097179722,1015933409,-1145403458,-1106070846)+W(7,997711860,-1115357129,1055355590,-1086854504);WS(1033636603,-1075190676); +sum1=W(0,1051253486,1043969999,-1125697208,1030520392)+W(1,-1117233131,-1122877346,-1100430004,-1096251285)+W(2,1058583983,1064791929,-1109653337,-1114269946)+W(3,1036037681,-1109909101,-1093290764,-1085953223)+W(4,1057642082,1055881859,1032435172,-1102211630)+W(5,-1123582788,1029223000,-1098086422,-1088005167)+W(6,1033241689,1053053914,996293820,-1120127764)+W(7,-1125435099,-1103406294,-1119839106,-1102333361);sum2=W(0,-1113787644,1041562727,1024626781,-1120200303)+W(1,1041916719,1028143351,-1106166077,-1109535466)+W(2,-1114475538,-1112371618,-1124733431,1013431061)+W(3,-1097688999,1068535590,1051805575,1029531851)+W(4,1032748777,-1098117165,999438554,1027814217)+W(5,1074776935,1029048009,-1114245048,1061661699)+W(6,1042886038,-1140542509,1007930813,-1116912567)+W(7,-1076933565,-1072079702,-1093997696,1039886302);WS(1051996799,1040628126); +sum1=W(0,-1096999331,-1106536569,1042171100,-1106876926)+W(1,1032518006,-1132737450,1056769919,1064227732)+W(2,-1087433914,-1079279688,1040804174,1014013938)+W(3,-1121739327,1035728257,1052514885,1057736892)+W(4,-1085040172,-1090750082,1024260165,1038633599)+W(5,-1115112214,-1126170017,1058371760,1059334684)+W(6,-1096245875,-1091794355,-1111941370,1032103150)+W(7,-1129820331,1036168684,1050507101,1051111478);sum2=W(0,-1105938617,-1119182790,1040517176,-1097197656)+W(1,1047663602,-1106333570,-1072247475,-1063141508)+W(2,1048788314,1048225474,1050425804,-1107105879)+W(3,1017343300,1014706728,1082212097,1073986693)+W(4,1050055380,-1097162220,1044838414,-1108102513)+W(5,1023560998,-1105252179,-1108483496,1063649950)+W(6,1028263310,1043193320,978890108,1026907274)+W(7,1016727612,1025416282,-1096883524,1040597170);WS(-1079662656,1075711984); +sum1=W(0,1054381451,1049467004,-1108214827,-1136749190)+W(1,-1111920714,-1124862997,-1104318006,-1099895821)+W(2,1060357369,1064079536,-1102094902,-1112256994)+W(3,-1099490085,-1093653775,-1088977984,-1094055613)+W(4,1058102849,1050217386,-1113236619,1019461885)+W(5,1047054555,1026036560,-1093377643,-1094018397)+W(6,1046694646,1053154499,1015637672,-1115387518)+W(7,-1122648846,-1117787456,-1097489705,-1102869707);sum2=W(0,-1120307380,1049653321,1027700788,1021596406)+W(1,-1094559059,-1099826066,1038499992,1037868882)+W(2,-1100871897,1054975194,1035450862,1031902674)+W(3,-1070411479,-1076192259,1073269037,1074972319)+W(4,-1106853601,1042197470,1036068426,-1146279384)+W(5,1024067187,-1107184127,1032586692,992333684)+W(6,1034125536,-1133477273,1030087008,-1108044351)+W(7,1032061183,-1104237818,1010404410,-1129244749);WS(-1121360374,-1077155152); +sum1=W(0,-1092428892,-1091586093,1042009047,-1105583845)+W(1,1036329976,1039912928,1057449542,1053987635)+W(2,-1087526962,-1088356100,1057317824,-1135496901)+W(3,-1114441548,1035631092,1067018703,1037542524)+W(4,-1084718223,-1086275726,1028773828,1037107234)+W(5,1024846769,1020991498,1051794540,1053143538)+W(6,-1096882940,-1086839898,-1116736729,1042777544)+W(7,1032759069,1041911145,1050512766,1049337758);sum2=W(0,-1108922684,1050237475,1027223630,-1122349048)+W(1,1024154790,-1105600910,1047134367,-1102817435)+W(2,-1093984844,1061603028,-1097496437,-1123059666)+W(3,1041276041,-1090292072,1069845393,-1086242189)+W(4,1054912466,-1136134543,1008041239,-1101147358)+W(5,-1122818012,-1109079234,-1107987422,-1091188340)+W(6,1050990810,1037079763,-1103013196,-1113710228)+W(7,1047206075,-1109791787,-1097181289,-1126348732);WS(-1087087711,1067831143); +sum1=W(0,-1110686621,-1094089577,1043354114,1034272753)+W(1,1006467012,-1097882829,1051348739,1034360523)+W(2,-1090322161,1019000899,1041026663,1046815315)+W(3,-1098171061,-1099191041,1049291409,1056352764)+W(4,1048378971,1054466495,-1131457456,-1116058688)+W(5,1036956791,1036945505,-1090870248,-1098372646)+W(6,1045446607,1043401342,1032034947,-1115558139)+W(7,-1124941614,1026141794,-1098529593,-1103803571);sum2=W(0,-1147554302,1065651536,-1114282503,1046033632)+W(1,1034466187,-1117467216,1061103542,1021728539)+W(2,1052996561,-1076523823,-1106001859,1044655964)+W(3,1040544990,-1105745303,-1081697027,1047372498)+W(4,-1095873418,1059971501,-1101664028,-1104436397)+W(5,-1119054372,-1110996319,1058036758,-1094800655)+W(6,1037179306,-1119149512,1023732858,1015764662)+W(7,-1120190386,1028498617,1033040332,-1113369666);WS(1040537598,-1164677141); +sum1=W(0,1058921623,1052904912,987031402,1044447583)+W(1,1051360885,1009017491,-1089009751,-1079854668)+W(2,1059494147,1059765434,1042738997,-1121775302)+W(3,1049103971,1042102879,-1085199868,-1082135643)+W(4,1053249925,1045203303,1049696256,1038434732)+W(5,1037325507,1033340813,-1094593271,-1087718171)+W(6,1049549231,1032179929,1044766000,1024826006)+W(7,1040792940,-1103499809,-1111725730,-1098502833);sum2=W(0,-1076904032,-1110661913,-1099930216,-1105450770)+W(1,1064235564,-1133206564,-1104228342,1034745372)+W(2,1054929191,1067640588,-1097641768,-1087670985)+W(3,-1159337186,-1095527236,1058849806,1055270313)+W(4,1043325457,1041628489,1034849198,-1093727900)+W(5,-1097371942,-1123329564,1047258529,1055379319)+W(6,1024934811,1071055811,1026936119,-1089823109)+W(7,1053074558,-1079977593,-1093861556,-1091022953);WS(-1072228928,1076959210); +sum1=W(0,-1102211417,-1090494943,-1100954468,1049440860)+W(1,1046258910,-1094165323,1049042513,1052420434)+W(2,-1089397123,-1085929645,1055014377,1040518102)+W(3,-1113742940,-1115570152,1059399711,1057628335)+W(4,-1092416799,-1103710088,1056933930,-1102413547)+W(5,-1095616949,1054320058,1056457065,1055649007)+W(6,-1099959722,-1097219837,1025160513,-1100924366)+W(7,-1096288332,-1113497047,1043339918,1043274798);sum2=W(0,-1091193116,1057292562,-1106259401,1037249746)+W(1,-1099278743,1035766214,-1089499743,1058952598)+W(2,1045032769,-1101074553,1033553146,-1118512137)+W(3,-1120311473,-1107284433,1052938455,990544085)+W(4,1047290760,-1085599381,1049532353,-1118437421)+W(5,1032001159,-1105441959,1060306657,-1096914685)+W(6,1045403080,1036239865,-1112769969,-1112295163)+W(7,1037527897,-1117837555,1036770528,-1095081062);WS(-1095248895,-1088416713); +sum1=W(0,-1112623265,1023033498,1041397006,991086878)+W(1,1025280780,1018002536,-1129854724,1049658160)+W(2,-1095527100,-1085500137,-1106522737,-1100414321)+W(3,-1101036339,-1098081679,1061179113,1056723856)+W(4,-1103431285,-1093888960,1040515607,1032194452)+W(5,-1121954805,1040437430,1055178889,1050067968)+W(6,1025813699,-1112974208,-1119710941,-1113785099)+W(7,-1107604207,-1122583614,1044420741,1027165141);sum2=W(0,1049351198,-1105447726,1038308115,-1115281709)+W(1,-1132663474,1036918381,1044927538,-1101546004)+W(2,1061131477,1070791012,-1079410563,-1086190321)+W(3,-1104633062,1035199903,-1124003323,-1105825160)+W(4,-1080774986,1050939464,-1106071111,1055352031)+W(5,-1119052371,1038597174,-1100497740,1054621998)+W(6,-1096576742,1021655353,999244165,1042421121)+W(7,-1126972585,-1141223925,-1123561791,1042910101);WS(1057802399,-1081431823); +sum1=W(0,-1093480916,-1097592621,-1131892376,-1122831751)+W(1,1031929377,1003466633,1050095280,1050038833)+W(2,-1087992005,-1086955360,1034931072,1041203877)+W(3,-1150646211,-1108251076,1062569267,1058335651)+W(4,-1094219074,-1099624791,1023514439,1020249162)+W(5,-1123920403,-1110979235,1053253320,1052617634)+W(6,-1104094712,-1103351679,-1102408215,-1183605377)+W(7,1022403704,1031403703,1047799764,1037479577);sum2=W(0,1032567526,1015597088,1035677532,-1104748298)+W(1,1028805714,1010146816,-1106402955,1030425414)+W(2,1042180726,-1131466492,-1071563129,-1097271446)+W(3,-1122721452,-1139412188,1026492053,1036072793)+W(4,-1088097679,1049167232,-1105574565,-1073203825)+W(5,-1121571686,1013464552,1046304011,1021201077)+W(6,-1104411749,1054919113,1076846054,1074066983)+W(7,-1115684312,-1159010626,1040423027,-1108010622);WS(1057159391,-1098185256); +sum1=W(0,1062337777,1059107990,-1139848194,-1115997840)+W(1,-1108105457,1026934458,-1096884471,-1099145229)+W(2,1058844902,1060188982,1040272534,-1110900998)+W(3,-1128707950,1050661700,-1081840204,-1083284577)+W(4,1050305613,1055455830,1022311680,-1124007614)+W(5,1025671020,1018441343,-1088086212,-1086268415)+W(6,1052112283,1058488623,1025640163,-1122049771)+W(7,1032949738,-1115150240,-1095187909,-1093503993);sum2=W(0,-1063663228,-1065703489,-1087901783,1056249112)+W(1,-1098679170,1049727089,1049313091,-1090194820)+W(2,1050922399,1074103439,-1096100666,1050240307)+W(3,-1118968312,1043947681,-1091782161,1059446328)+W(4,1078895155,1075028289,1046757851,1050011361)+W(5,-1103451878,1046896549,999915799,1051412884)+W(6,1011769164,1041242105,1031802636,-1111613200)+W(7,1036070334,-1120669738,1040180956,-1097222567);WS(-1076050352,1072169512); +sum1=W(0,-1127017300,-1096217239,-1110549812,-1112010473)+W(1,-1127012698,1017026201,1055039585,1032805651)+W(2,-1101316183,-1098236010,-1102358403,1041474168)+W(3,1027743346,-1103052317,1058693100,-1107675851)+W(4,-1097462672,1015309803,-1103941101,1035256808)+W(5,1025923518,-1108585145,1047069339,1050718238)+W(6,-1109990262,-1124828306,-1127729580,-1126807163)+W(7,1029935559,1030091394,1033573870,1040782175);sum2=W(0,1013406324,1044516259,-1103808603,-1115222730)+W(1,-1105744683,1036643390,-1091636530,1048651312)+W(2,1056099238,-1093760521,1035011293,-1133607278)+W(3,1056116581,-1087652578,1065398243,-1082257366)+W(4,-1097063741,1046105407,1005150868,1045426354)+W(5,-1106429625,1031045850,-1105190986,1052543946)+W(6,-1106358807,1034790704,1014354189,1038138903)+W(7,-1129675875,1033997397,-1124610775,-1143243436);WS(1065781680,1039008007); +sum1=W(0,1052873269,1052030887,-1132228043,1041247860)+W(1,-1122380132,1043969975,-1090939837,-1087848896)+W(2,1057769989,1065817909,1029031978,-1116017645)+W(3,-1167945460,1043124941,-1090130600,-1086321043)+W(4,1059292430,1052683781,1018467582,-1114552992)+W(5,1037414446,1037105136,-1089813139,-1093123180)+W(6,1045381867,1042767258,1039500994,-1119698444)+W(7,1016187596,-1139723011,-1088918334,-1093950448);sum2=W(0,-1105284792,-1131141686,1024852101,1038177586)+W(1,1023745983,1044997454,-1105200928,-1114385091)+W(2,-1123455081,999573799,1016571646,1031995320)+W(3,-1102654886,1045931554,1073904332,1057384109)+W(4,-1107419527,1052574782,-1108656521,1033741319)+W(5,-1113399825,1041285787,-1130292726,1075963065)+W(6,-1099142208,-1103717942,-1120710323,1035134998)+W(7,-1101763500,1044467987,-1070457563,-1072886122);WS(-1090516543,-1087531312); +sum1=W(0,1040358473,1025750638,-1135375282,-1105337757)+W(1,-1112133319,1043065477,-1109155234,1026287071)+W(2,1034124454,-1082649657,-1111479074,-1113059195)+W(3,1049735832,1048811350,-1113637434,-1111070925)+W(4,-1098312091,-1114570479,1036163039,1044282546)+W(5,-1104740686,-1111303053,1044131649,1056333811)+W(6,-1112260786,1044483760,-1110047807,-1123738614)+W(7,-1128712224,-1136462731,1039433994,1049914271);sum2=W(0,1027164873,-1112829049,1009904581,-1122757257)+W(1,-1111953049,-1116391321,-1115430893,1002742314)+W(2,1020364514,1064179702,-1099518373,-1113467627)+W(3,1025748661,-1098741962,1059311413,-1098221748)+W(4,-1092934445,1039050377,-1095677862,1032421699)+W(5,1036551469,-1119491053,1041708988,-1139891301)+W(6,-1106885375,1022655162,-1112743661,1020800146)+W(7,1025848261,-1122814953,1032689603,-1124766450);WS(1059528063,1057564569); +sum1=W(0,-1096201122,-1112481934,1023855952,993737087)+W(1,1036364765,-1119101474,1044928820,1052073475)+W(2,-1089271861,-1101379550,-1100822612,1051519336)+W(3,1026047377,-1095066725,-1090210244,1057871347)+W(4,-1129312776,-1101173547,-1109486813,1027584566)+W(5,1043887545,1038809676,1051680014,1027452795)+W(6,1031993577,-1097162722,1035631854,-1127107174)+W(7,-1152581582,1037595092,1050823828,1038521522);sum2=W(0,-1115270098,1029678117,1034094594,-1106514375)+W(1,-1109616345,1044342701,-1103891997,1025588625)+W(2,-1095879627,1052560633,1009317700,-1112949179)+W(3,-1107320484,-1103446924,1062070608,1029083209)+W(4,-1128108776,1034084538,1021633582,-1126355148)+W(5,-1131810302,-1098743078,1035054672,-1100067512)+W(6,1040297892,1049223604,-1106252693,1010987268)+W(7,-1123491293,-1102218346,990783407,-1117785257);WS(1061977215,-1122204685); +sum1=W(0,1053794732,1053305789,-1109554099,-1124031333)+W(1,1017895407,1027213295,-1096176108,-1090279300)+W(2,1058003360,1059361796,1036027519,-1105250724)+W(3,1024566052,1033714163,-1081723655,-1093816822)+W(4,1055117810,1051669497,1055353398,959521497)+W(5,-1125004641,1006220452,-1097892492,-1090510080)+W(6,1037705519,1047158647,-1136942561,1038275624)+W(7,-1112881733,-1145512357,-1098784634,-1101480172);sum2=W(0,1028856727,1021325630,1032430477,-1113155109)+W(1,1036996819,-1139715524,-1128331832,993552399)+W(2,1050891972,1070862297,1048044904,-1105712018)+W(3,-1111526035,1040898786,1042132916,1042508384)+W(4,1074403261,1035516985,-1070110178,-1081128362)+W(5,1025048067,1038841221,-1115800491,1044319918)+W(6,-1108990845,-1122256510,-1092804751,-1092435520)+W(7,-1119663830,1007165668,-1109033129,1033559089);WS(-1096328959,1070879408); +sum1=W(0,1056909741,1050717891,-1131726569,1047483149)+W(1,1043610432,-1120381614,-1097194674,-1084253114)+W(2,1049879450,1064784543,1016192218,1017405984)+W(3,1029856307,1046790989,-1088019878,-1084428714)+W(4,1054175424,1055866677,-1130210629,-1134185032)+W(5,1044095416,-1106891777,-1096076442,-1087922381)+W(6,1052923070,1050331269,1022798351,1039283496)+W(7,1045347898,-1103492015,-1089646420,-1098682228);sum2=W(0,-1092572599,-1083918511,1041094096,-1096731787)+W(1,1074300082,1061218424,-1081783724,-1072213302)+W(2,-1081752188,1050600846,-1134738767,1030029833)+W(3,1062246408,1055931246,-1098909280,-1088492050)+W(4,1060518769,1056806956,1049526473,-1112066554)+W(5,1030722387,-1080408758,1066457366,1054813136)+W(6,1052566197,1040255570,1038503381,-1103571503)+W(7,-1082314750,-1074863778,1074348460,1061557517);WS(-1093955647,1022010191); +sum1=W(0,1051129150,1040858863,-1118029508,1027472455)+W(1,-1110971745,-1129027011,-1110637352,-1126583382)+W(2,1058284788,1064764899,-1100976252,1017520774)+W(3,1043546956,1032062845,-1092969620,-1083829535)+W(4,-1094249656,1054989120,1019653215,1048038797)+W(5,1049944248,-1114080636,-1098669306,-1093269900)+W(6,-1137681219,1047833420,1006149335,1015004427)+W(7,1039113958,-1120661351,-1092663640,-1101321193);sum2=W(0,-1109340305,-1099241242,1010923567,-1125700855)+W(1,-1138307987,1010348245,-1121076246,1041739108)+W(2,-1097784845,1061340682,-1086770251,-1097524591)+W(3,1043843262,-1104554020,1059475190,-1122648580)+W(4,-1091236020,1059369820,-1136610695,-1119687254)+W(5,1042867821,-1105357691,1048517727,-1097965354)+W(6,-1103210716,1042204527,-1146172877,1034141799)+W(7,1021404807,1026766467,-1117941982,1020884025);WS(1057685119,1067243116); +sum1=W(0,-1098308652,-1100618635,1016923756,-1129459555)+W(1,1029422892,-1111775882,1049587364,1053516928)+W(2,-1090418529,-1088191051,-1095493364,1004671913)+W(3,-1114348966,-1112549294,1065512192,1057639529)+W(4,-1089905135,-1101363479,-1112175056,-1098633785)+W(5,-1103551521,-1111153757,1052631981,1058720438)+W(6,-1106099897,-1097291652,-1131471418,1046138501)+W(7,995391206,1020473821,1052947846,1043712557);sum2=W(0,-1140292462,1023877693,-1130956898,-1131225411)+W(1,1018006973,-1128428036,-1137158572,1018110051)+W(2,1042914798,1069127322,-1077027280,-1103681442)+W(3,1020723155,-1147115303,1043315619,-1224504659)+W(4,1071847872,-1103125793,1031803188,-1076028808)+W(5,1020554514,-1133954299,1043270022,-1120948958)+W(6,1043076855,-1132087796,949706042,-1101294062)+W(7,990350747,1025989218,1015417250,-1113817590);WS(-1097928959,-1082976358); +sum1=W(0,1057835343,1050550727,-1123678010,1027664520)+W(1,-1108038941,1032858337,-1096462854,-1089326063)+W(2,1057764410,1062299789,1052451146,-1106569905)+W(3,1021803093,1042469806,-1087127986,-1083721351)+W(4,1049034640,1057826487,1038567635,-1103556709)+W(5,-1104920125,1031016631,-1094118206,-1097735566)+W(6,1041175724,1060823717,1040222651,-1108799690)+W(7,-1129264698,-1107162784,-1089053734,-1100805265);sum2=W(0,-1087082495,-1095900368,1048150071,1059738223)+W(1,1034470847,1025055065,1046247330,-1092378156)+W(2,-1108343021,1063110279,-1080186607,1052511773)+W(3,1045395587,-1094453880,-1090059649,1033545850)+W(4,1074904245,1071639576,-1072132845,-1078381471)+W(5,1053230483,-1103894182,1039712953,-1107095292)+W(6,1076364217,1077341373,-1071397334,-1071450961)+W(7,1032308634,-1120241798,1049211915,-1113577164);WS(-1093482751,1040242403); +sum1=W(0,1051279307,1045008905,-1123956286,-1101135214)+W(1,-1112732162,-1135242283,-1106067054,-1160860306)+W(2,1049489177,-1132973569,-1138012647,-1107524598)+W(3,1029341500,-1121978915,-1113266773,-1101021318)+W(4,-1096848358,-1098383795,1042720691,1034129455)+W(5,-1098727290,-1102892456,1059206814,1049504725)+W(6,-1104810279,-1118268600,998898338,-1130324184)+W(7,-1104163113,-1099073308,1052043149,1049756222);sum2=W(0,1055811875,-1122671355,-1101078445,1050603120)+W(1,1034695967,-1108269543,-1087609936,-1086548128)+W(2,1038805789,1066111209,-1105220793,1048531671)+W(3,-1089139562,-1104320030,1071017234,-1088336312)+W(4,1026095418,-1130092003,1034851673,-1091713187)+W(5,-1100901763,1049804877,-1089969509,-1115602704)+W(6,-1137910742,-1094690648,1020293663,-1122031169)+W(7,-1103744367,1054827086,1053616941,-1121274059);WS(-1112146683,-1077736475); +sum1=W(0,-1099064529,-1090490649,-1130792414,-1128590341)+W(1,1039097715,1017948777,1028859267,1049253908)+W(2,-1086623314,-1101063739,-1117834531,-1147973299)+W(3,1025770233,-1115616742,1068918685,1040872136)+W(4,-1084449173,-1094725676,1033724609,1007065251)+W(5,-1104116690,-1132647657,1057886934,1059458719)+W(6,-1097837640,-1097461352,-1122914526,1024083798)+W(7,998082042,1030833130,1048946351,1044653558);sum2=W(0,1044965772,-1073797636,-1104316542,1038545045)+W(1,1032278560,-1115941315,-1092377302,1038508364)+W(2,-1069601753,1079919017,1054073276,-1098913527)+W(3,-1109127211,1042591612,1044931722,1050236814)+W(4,1065620582,-1103381017,-1111960943,990615436)+W(5,997021068,1042220416,1033398315,1034922622)+W(6,1039512539,-1105195767,-1131799749,-1127436605)+W(7,-1138197651,-1121388557,1039327537,-1113162193);WS(-1090505151,-1074550453); +sum1=W(0,-1106878250,-1103427629,1028498739,-1112838599)+W(1,-1131143051,1023192930,1042960070,1057615003)+W(2,-1088602192,-1088941275,-1117182312,1023419227)+W(3,-1096958907,1048242260,1053033883,1063645564)+W(4,-1087514842,-1096920942,-1126145258,1018948122)+W(5,-1098164287,1045189988,1043052986,1058641540)+W(6,-1096615233,-1095073209,-1125422420,1024711581)+W(7,-1105551137,1026824959,1053972531,1050742275);sum2=W(0,1021553919,-1111116920,1081443218,1051549752)+W(1,1031994963,-1113046369,1044837835,-1106404197)+W(2,-1073777225,-1067599847,1048388769,1072492444)+W(3,1032624041,1025956540,-1089379201,-1113676512)+W(4,-1096587672,1029232562,-1139079606,1035162847)+W(5,1027498280,-1132168419,1030543674,-1109546151)+W(6,-1115288719,1042218632,-1123800689,-1121149576)+W(7,1034044071,-1115044631,-1125599605,-1122606689);WS(1051119487,1041244378); +sum1=W(0,-1137238551,-1113671305,1028120435,-1124974044)+W(1,-1121323393,1033078132,-1103177170,-1116593698)+W(2,1036964902,1061504071,1037118035,1048876359)+W(3,-1156053771,-1129960608,-1104164974,-1099611151)+W(4,1047204942,1050660570,-1118427428,-1131477080)+W(5,1048068278,1011539382,-1114906180,-1081804989)+W(6,1030267847,1049717597,-1125985859,-1120234265)+W(7,1035846233,-1115091743,-1103929310,-1098831475);sum2=W(0,1027537220,1048078363,-1104952272,1018090488)+W(1,-1117503915,1045164128,-1095697091,1019973834)+W(2,1055192952,-1102612387,-1128161694,-1105226064)+W(3,-1106818318,-1087428157,1074095781,-1101823824)+W(4,-1102761937,-1101688104,1024328280,-1134153828)+W(5,1061969021,-1092430375,1063478353,-1074759173)+W(6,1035228556,1016223417,-1117225997,-1118410723)+W(7,1050476000,-1110796930,1041310640,-1092594125);WS(1062303263,1031082743); +sum1=W(0,1050954912,1012178225,-1099215391,-1113216195)+W(1,-1121789260,1027015379,-1095180416,-1095964628)+W(2,1065129152,1047492794,1026092610,1052151297)+W(3,1041954507,-1107401421,-1089641431,-1088785601)+W(4,1063700475,1049517720,-1098039588,1051942565)+W(5,1049634587,-1112964196,-1091476104,-1089295544)+W(6,1028060738,1054989200,1008063218,-1101893697)+W(7,1035520455,-1114231491,-1096414030,-1102410709);sum2=W(0,-1175661064,-1152013649,-1111827051,1033145987)+W(1,-1165845202,-1187919119,-1104895942,1021827842)+W(2,1050523165,1084357731,-1063595607,-1103256184)+W(3,-1125020091,1042933311,-1094652398,1034611383)+W(4,1048919805,1025442742,-1141099147,-1101985731)+W(5,-1108910008,1040766920,-1102082303,1029250458)+W(6,-1145624409,-1133270551,1030655939,-1136421288)+W(7,-1126731425,1017996705,-1121842648,1021034188);WS(1057958943,-1104691893); +sum1=W(0,-1105424217,1046008396,-1128240917,-1111014615)+W(1,-1118336456,1038452148,-1100901945,1044401084)+W(2,-1090082375,1054329938,-1095236657,-1146251723)+W(3,-1119525902,-1093887914,1040293502,1057785284)+W(4,1003615948,1013130820,-1103203951,1047913107)+W(5,1045607070,-1107674167,1051440085,-1099597392)+W(6,1044802714,-1101796865,1023941889,1033356080)+W(7,-1113361665,1037874639,1036253756,-1102604718);sum2=W(0,1041119120,-1111572952,-1105807463,1010987018)+W(1,-1127404253,1029477872,1045029856,-1110188142)+W(2,-1117220749,-1087890507,1054217500,-1102396693)+W(3,1019931869,1056265374,-1087358521,1057260834)+W(4,1070205457,-1101117061,1029628166,-1123211893)+W(5,-1091128546,-1124058781,1051101181,-1081682663)+W(6,-1113015450,-1121743361,1028744914,-1106898625)+W(7,1025549544,992401866,-1135525482,1042553654);WS(1063883327,-1171419961); +sum1=W(0,1049833398,-1123871229,1021098616,-1131801844)+W(1,-1101850371,1031224740,-1097479398,-1102183011)+W(2,1009731296,1044941350,-1121742227,1022023532)+W(3,-1123343997,-1127214008,1041013425,1056730033)+W(4,1060653970,1043051923,1024490200,-1090925859)+W(5,-1107029405,1042080318,-1097251239,-1095529687)+W(6,1048967870,1050859794,-1123544461,-1102607801)+W(7,-1107657120,1009310536,-1097963532,-1104750961);sum2=W(0,1047581965,-1108094251,1041248381,-1106082604)+W(1,-1113941985,-1131232309,-1105642610,-1097195715)+W(2,-1111186257,1050591326,-1106587714,-1132935321)+W(3,1050509566,-1103031697,1048334662,1042983438)+W(4,1039028256,1025922877,-1118244665,-1104172881)+W(5,-1127691207,-1115007353,-1128737701,1046273630)+W(6,-1111866155,-1104769894,-1139264801,-1115368488)+W(7,-1112751356,1031938310,-1122157893,1044426238);WS(1064944927,1037595256); +sum1=W(0,-1089228760,-1095304482,1023806679,-1116864018)+W(1,-1107296590,-1106875789,1057549004,1063040538)+W(2,-1087165700,-1086682215,1009660557,1017115436)+W(3,-1103245163,-1106392275,1064233001,1060715233)+W(4,-1088874517,-1099761351,-1109610248,1028149000)+W(5,-1132085516,-1107160974,1052917089,1056983460)+W(6,-1116139780,-1131587330,-1102752831,-1148661421)+W(7,-1129006079,-1152394658,1045020525,1041500021);sum2=W(0,-1084008560,1049995423,-1110716731,1045832950)+W(1,1058474163,-1102301410,-1093173621,-1084775302)+W(2,-1089165996,1066542501,-1098226948,1025147898)+W(3,-1128684365,1031931484,1068786857,1054478967)+W(4,1049362032,1055260506,-1098250414,-1099749141)+W(5,-1091779956,-1105326436,-1126019654,1047038722)+W(6,-1086997229,1067285885,-1089530617,1042544569)+W(7,1053449115,-1090548395,-1088213452,-1127724076);WS(-1082101344,-1089856493); +sum1=W(0,-1105691402,1030717682,-1112019073,1050831902)+W(1,1029275441,-1120813832,-1098775681,-1101015969)+W(2,1055521064,1064695661,-1129997454,1030303546)+W(3,-1139280937,965412887,-1085520515,-1097748442)+W(4,1061962758,1058754169,-1117704076,-1110327174)+W(5,1041358014,-1122362798,-1089610799,-1086646154)+W(6,1047731210,1056158989,-1131596868,-1112251093)+W(7,1028938947,1016935004,-1094349907,-1093958751);sum2=W(0,-1101130808,1050826865,-1076824095,-1065128139)+W(1,-1119435550,1023890205,-1109355365,1034565987)+W(2,1046966330,1049869634,1079260085,1067439244)+W(3,1012867020,1015248786,-1112614302,-1109830496)+W(4,1051236860,-1114183173,-1103928218,1056740148)+W(5,-1122661198,-1136992532,1051726295,-1123646153)+W(6,1033256035,-1104627926,1039164015,-1135208116)+W(7,-1119472799,-1136910724,-1109091637,1035002893);WS(-1090711679,1035967541); +sum1=W(0,-1104454427,1029360119,1015715144,-1111795270)+W(1,1030482278,-1138269301,1050454265,1050513973)+W(2,-1084526809,-1083278737,-1124564760,-1118064815)+W(3,-1132452908,1007072853,1060834888,1063535365)+W(4,-1083950349,-1091233609,1041725555,1033380937)+W(5,1028355007,1029566323,1054941014,1050327592)+W(6,-1102432923,-1097260861,1036708611,1039158191)+W(7,-1140656289,1035976950,1042099839,1040417584);sum2=W(0,-1099705557,-1088930785,-1104698754,1030795338)+W(1,-1124401732,1047822852,-1129318753,-1100315818)+W(2,-1087114188,1063363970,-1086674278,-1086482027)+W(3,1041847465,1007827043,1059258270,-1088371087)+W(4,1066258058,1055138353,-1101252049,1048689193)+W(5,-1114489829,1039056173,1035784301,1052412907)+W(6,-1113111809,1050900036,-1097010897,-1127107620)+W(7,1036879119,-1112035485,1046424313,-1107499570);WS(-1098505599,-1075865372); +sum1=W(0,-1131715643,1032178901,1024188415,-1119631078)+W(1,-1113178620,1024883696,-1128987132,-1121509433)+W(2,1056750314,1055366257,-1113150415,-1125460739)+W(3,-1114020928,-1102601578,-1096447994,-1131145214)+W(4,1063530169,1038512989,1028789822,-1098117352)+W(5,-1111953177,-1101470933,-1117796833,-1086227497)+W(6,1036256496,1042179631,-1134520549,-1115205937)+W(7,-1141768534,-1114797153,1032402616,1016180195);sum2=W(0,1039073687,1047439072,-1112826554,-1098762498)+W(1,1030962008,981436096,1032611741,1035541163)+W(2,1024348972,1068429254,-1090598021,-1099883844)+W(3,1048715774,-1089341195,1066295533,1050751610)+W(4,-1078855206,1052294530,-1101866176,1060690639)+W(5,-1094541311,1041458546,-1097770507,-1081223881)+W(6,-1095975199,1034134076,-1111565268,1051055486)+W(7,1044471119,1024624177,-1121819739,-1126362074);WS(1057165023,-1106509195); +sum1=W(0,-1090373040,-1094296089,1023353031,-1110663097)+W(1,1036322023,-1110472134,1051297995,1057389257)+W(2,-1087820187,-1090764772,-1116674588,1009641338)+W(3,-1103525103,-1108191858,1064337073,1064196683)+W(4,-1101809276,-1095695571,-1127866586,-1121179137)+W(5,-1105116828,-1130262917,1053143796,1058239248)+W(6,-1097119704,-1088811352,-1105922998,1019708412)+W(7,-1117889432,1047174317,1042633923,1049182394);sum2=W(0,-1106822390,-1115190843,1048482322,-1112942365)+W(1,1043730009,1035412483,1042851055,-1102090209)+W(2,1034045428,1068163863,-1097118067,-1100072975)+W(3,-1105576965,1028572696,1056641862,-1103979279)+W(4,1063618710,-1107942623,-1108096389,991349250)+W(5,-1113934073,-1105853831,1049912171,-1105663689)+W(6,-1090492700,-1076676559,1000921969,1053525633)+W(7,1039916278,-1106999228,-1111476815,-1130278628);WS(-1086493375,-1079336981); +sum1=W(0,-1102983835,-1108602044,-1123924042,977772865)+W(1,1015269519,1049374456,-1098146918,1026410857)+W(2,1041059645,-1094902379,-1107908519,-1109993624)+W(3,1036994068,1041174790,1061697492,-1106936850)+W(4,-1083260999,-1084987377,1038934102,1036636329)+W(5,-1103125248,-1125738921,1057432285,1061962303)+W(6,-1102484540,-1108629750,-1099048778,1034769240)+W(7,-1130650164,1040252563,1050989872,1051050960);sum2=W(0,1042634099,-1097448347,1018133697,-1104970914)+W(1,-1112577728,-1096543501,-1108255972,1052960430)+W(2,1055662701,1074010545,-1093587851,1040842491)+W(3,-1090800341,-1093194079,1064732329,1062139198)+W(4,-1089724369,-1099392752,-1102375178,-1093237537)+W(5,1015865539,991452982,1025575413,-1083390778)+W(6,1049771835,-1092159031,1054809337,-1099804326)+W(7,-1126119433,1028159711,-1096888027,-1104347883);WS(-1088469887,1068090411); +sum1=W(0,1001301201,1023861926,-1123900274,-1113244581)+W(1,-1124374314,-1105829923,1035790701,-1115331947)+W(2,-1082959002,1050701400,-1110903326,1049496346)+W(3,-1096521435,-1119292644,1048296635,1057295251)+W(4,1060902689,1043052181,1031904934,-1119953152)+W(5,1048590454,1027826066,-1113327662,-1081663133)+W(6,1043817559,1038313117,1025939062,1034227191)+W(7,-1106468266,-1117293966,1034951606,-1110964279);sum2=W(0,-1106472578,-1114867820,1033420508,1046922708)+W(1,-1111979165,1050643686,-1109208012,1033443280)+W(2,-1087802072,1058113813,-1096930035,-1112865289)+W(3,-1101832932,-1129026525,1048730658,1020845388)+W(4,1050476308,-1103417477,1017341032,-1101802092)+W(5,-1104558996,-1135034393,-1107242470,1059721445)+W(6,-1105807138,1033379085,-1107450994,1036773342)+W(7,1037376476,1023773731,-1104249476,-1136542442);WS(1052578175,-1092643724); +sum1=W(0,-1102735475,-1100779014,1030893452,-1106584961)+W(1,993436516,1037510015,1049737317,1053304083)+W(2,-1082492039,-1086815439,1037358070,1033955624)+W(3,-1101687426,-1103135573,1065824329,1060101900)+W(4,-1088009424,-1095075429,-1128189432,1036710537)+W(5,1029815263,1040440469,1057719155,1041943502)+W(6,-1106908643,-1102841939,-1129060558,-1118327615)+W(7,-1106074638,1027836379,1036237087,1051335460);sum2=W(0,1015710974,1033337736,1029771501,-1115440098)+W(1,-1130229431,1034787000,-1114856806,1041402597)+W(2,-1094728975,1039453548,999202537,1018065220)+W(3,-1082769104,-1074584982,1064530169,1037520917)+W(4,1050012979,1032576025,-1111720654,1036811205)+W(5,-1090370130,1032162938,1073761042,-1094040689)+W(6,-1103861773,1040788513,1019498859,-1125064265)+W(7,-1105633547,1034133532,-1090935047,1063409170);WS(-1104397694,1058392920); +sum1=W(0,1051523414,1050625047,-1126111401,1012876448)+W(1,1023486907,1033392977,-1106828476,-1094911217)+W(2,1043902243,1063861817,-1115125816,-1142522206)+W(3,-1119682235,1019625524,-1093833780,-1089440467)+W(4,1056801600,1053396405,999529969,-1103048369)+W(5,-1096529922,1015514383,-1107310585,-1087921625)+W(6,1042081404,1054067798,-1117545451,1016404519)+W(7,1039287934,-1113687714,-1097217844,-1104958721);sum2=W(0,1013515790,-1106180134,1027809153,-1130009672)+W(1,-1153587550,1024050371,1023886448,1013756514)+W(2,1042067106,-1094561503,1051460883,-1106384796)+W(3,-1094102229,-1070026280,1078005003,1052609397)+W(4,1032257325,-1124940473,1033821004,-1104521112)+W(5,-1075632186,1053282219,-1094906083,1072194837)+W(6,-1168427353,-1120291522,1028508475,-1112259960)+W(7,-1098407638,1033718481,-1140922271,1046140857);WS(1063327007,-1121248448); +sum1=W(0,-1113236667,-1096763312,1043030576,1017612078)+W(1,1035231217,-1115130868,1049218219,1042967269)+W(2,-1091103118,1053297652,-1115811128,1039059525)+W(3,-1107367965,1009543939,1033504868,1058517677)+W(4,1063340055,1054079124,-1099887459,-1095615210)+W(5,1047061435,1042859328,-1088587000,-1082785422)+W(6,1041492110,-1126620524,-1120397682,-1140707177)+W(7,-1120288724,-1104957341,1029718569,-1101731443);sum2=W(0,-1119813454,1048025725,-1098298527,1037909727)+W(1,1032936033,-1097673782,1045330821,-1099212072)+W(2,1041835288,1067026849,-1106955476,-1126569464)+W(3,-1109675885,-1092590328,1067954224,-1106229244)+W(4,-1085288934,1042571631,-1118592354,-1096969233)+W(5,1004812688,-1096486003,-1108169766,-1095495837)+W(6,-1117602980,-1116313332,1037216424,1042882430)+W(7,1034064234,1045459772,-1100305071,-1164085849);WS(-1114652667,1051933605); +sum1=W(0,-1102428549,-1105027032,1037508767,1026700110)+W(1,-1109604752,-1113263092,1048715843,1043087092)+W(2,-1106431647,1043250735,1034155035,-1128033780)+W(3,-1098797270,1023780992,-1089603768,1062796090)+W(4,1059213449,1038435705,1024543544,-1102462575)+W(5,-1112475685,-1121524254,-1106007014,-1090890112)+W(6,1038748492,1016229610,1032374633,-1147042251)+W(7,986589794,1007891224,-1104514210,-1119096106);sum2=W(0,1043866561,-1096921120,-1106880495,-1129141996)+W(1,1050935854,-1111274547,-1092013580,1029019378)+W(2,-1123077406,1064276171,-1102244397,1031191254)+W(3,-1096956427,-1115781076,1064706574,-1086673510)+W(4,1061828176,-1095750750,1046080919,-1101040753)+W(5,-1106057540,1029696990,-1091369762,-1113110329)+W(6,1042185570,-1128566730,1031234782,-1112883155)+W(7,-1113619581,1012473722,-1105256367,1042119352);WS(1059465279,-1101420399); +sum1=W(0,1043444330,1000916382,-1124176798,1033088680)+W(1,-1124073107,-1118729178,-1126261266,-1101682761)+W(2,1057398923,1034190184,1035053989,1014063089)+W(3,1032573720,-1114558729,1039770557,-1089602004)+W(4,-1087528660,1036787650,1038292302,1045820204)+W(5,-1096323421,1041172764,-1106381771,1057859064)+W(6,1027988010,1042732770,-1131477704,-1115007182)+W(7,1024683157,1029511616,-1102530758,-1104773247);sum2=W(0,-1081648717,-1096055698,-1100338012,-1093261173)+W(1,1020947921,-1121572837,1016623505,-1107343332)+W(2,1049309077,1060463741,-1160318928,1016590929)+W(3,1035038069,-1121635630,1061699617,1058913944)+W(4,-1123677731,1042247124,1032510827,-1111261089)+W(5,-1116667427,-1130213341,988275856,-1095509190)+W(6,1035681279,1035240533,-1106728517,1037987285)+W(7,1033159595,-1112486763,979544481,-1111758125);WS(1060076127,1072958059); +sum1=W(0,-1090537599,-1097065432,1043365506,-1103118654)+W(1,-1129584897,1025963976,1046496158,1060753617)+W(2,-1086314390,-1088162978,1031523031,-1115420333)+W(3,-1106610556,1040410096,1055888777,1060760746)+W(4,-1089193875,-1091959462,1032254402,1033412302)+W(5,-1138875303,1032279415,1054239287,1052645932)+W(6,-1111327644,-1086013855,-1127560355,1031863013)+W(7,1032182482,1044337291,1056703661,1044639698);sum2=W(0,-1122429687,-1113650971,1026722605,1034238418)+W(1,-1105287037,-1106809975,1047703041,1038471498)+W(2,-1101416602,-1095747837,1044566349,-1123083006)+W(3,-1099784158,-1077245954,1073798913,1050567163)+W(4,1044375513,1032414162,1029836970,-1114043742)+W(5,-1072322090,-1070521946,1076147895,1074668356)+W(6,-1132025334,-1112893824,-1112207598,-1124457715)+W(7,-1071353549,-1076180558,1071535287,1076524889);WS(-1114470395,-1114976351); +sum1=W(0,991904560,1041627584,1040990896,1017446070)+W(1,-1110976571,-1099251857,-1107221597,1034584479)+W(2,1047992216,1061349282,-1120446036,-1129681934)+W(3,-1111571481,1039733326,-1083497834,-1115356259)+W(4,1061559014,1055187519,-1110115727,-1097641691)+W(5,1036247843,-1114440077,-1098995485,-1089507216)+W(6,1045114861,1047040436,1033457695,-1110184487)+W(7,-1115117640,-1120899067,-1107186297,-1109668803);sum2=W(0,-1084434022,1057422860,1002676269,-1093678598)+W(1,1042743345,-1108978134,1067683118,1064533419)+W(2,1066493380,-1079318791,1044340647,1055748356)+W(3,-1117769694,1015093293,-1079939901,-1078621547)+W(4,-1116089022,1044705221,-1120084888,-1118111722)+W(5,1049699290,986467602,1039926847,1054002901)+W(6,-1112694927,1031220790,-1123642691,1001595675)+W(7,-1107171922,1037662763,1023903081,-1112070298);WS(1048785023,1039045299); +sum1=W(0,-1090140327,-1100442863,1043168659,-1104130562)+W(1,-1133671882,1032880081,1040570004,1061197562)+W(2,-1085428843,-1093347651,1029857553,-1117502116)+W(3,-1102819715,1038995485,1050495728,1062309944)+W(4,-1089406196,-1093521697,1027207566,1034838603)+W(5,-1127149063,1026681976,1054560318,1050259320)+W(6,-1120775857,-1086838999,-1130533431,1024393315)+W(7,1035433414,1041402190,1056208688,1039464338);sum2=W(0,-1142302474,1025023956,1011712973,-1118465298)+W(1,1037219807,1039062755,-1104707163,-1114395216)+W(2,1041730218,-1097771962,1029767219,-1128433260)+W(3,1046574176,1069124140,-1080533844,-1095905892)+W(4,-1094677866,-1122047812,982009542,1021354231)+W(5,1073795377,1075522683,-1072373863,-1075595300)+W(6,1028525757,1020814500,1033540398,1014788797)+W(7,1074436097,1068741752,-1078361330,-1072719492);WS(1040594174,1002085105); +sum1=W(0,-1113198522,1055071640,-1097746587,1041861603)+W(1,1041085614,-1121524679,-1100468781,-1137236930)+W(2,-1088672026,1050744420,1031577622,1032164980)+W(3,-1109849488,1048884604,-1105375081,1047493466)+W(4,1057599999,-1103363988,1044101411,-1102982955)+W(5,-1113508732,-1098107838,1050064611,-1087672398)+W(6,1036351259,1034848362,1026039088,1034678964)+W(7,1043931332,-1106488144,1033863059,-1102178050);sum2=W(0,1011906269,1026663055,1035577370,-1099743490)+W(1,-1108436276,991169347,-1152297667,1037961444)+W(2,1057096352,979639118,-1102421679,-1115293072)+W(3,1045881501,-1097952901,1050233559,-1095995741)+W(4,1044440375,1032214892,1032210717,1038726510)+W(5,-1122343653,1026937641,-1139108605,1022991474)+W(6,1028754425,-1123040177,-1120037205,-1107407193)+W(7,-1105994898,1022469878,-1104470915,-1115369483);WS(1066613200,-1123971367); +sum1=W(0,-1096708150,-1090955664,-1125712504,1021072883)+W(1,1026036124,-1108624754,1051398158,1051074184)+W(2,-1159875842,-1079911082,-1106077125,1041158633)+W(3,1040756057,-1090753503,1061682240,1058934814)+W(4,-1093258685,-1103560179,1032267227,1036847484)+W(5,-1114271443,1025501945,1054180539,1055629981)+W(6,-1089925031,-1106725252,1031886911,1016782186)+W(7,-1105228376,1043536294,1047227273,1052861897);sum2=W(0,-1102098813,1059079365,-1104595791,-1120579723)+W(1,1039910130,-1110832147,1035649855,-1103583809)+W(2,-1078775742,1070420847,-1081375340,1060943463)+W(3,-1115424415,-1092581761,1036446407,1055196914)+W(4,-1106373275,-1084015554,1049316438,1048074442)+W(5,-1101688097,-1115969635,1050724789,1050043459)+W(6,1065759760,-1087995034,1054216959,-1088959333)+W(7,1051846236,-1103333947,1052608338,-1088425301);WS(1015488492,-1082266482); +sum1=W(0,-1096364772,1036768790,1041881447,-1115294884)+W(1,-1109722877,1018280484,1051075280,1054950795)+W(2,-1083421327,-1079950554,1028536641,-1116482020)+W(3,-1105734603,-1124656723,1057564011,1062057653)+W(4,-1088856963,-1096513911,-1108243791,1044897017)+W(5,-1129161159,-1113027740,1056273768,1054170231)+W(6,-1104622888,-1096156044,1015505847,1033207234)+W(7,-1132093050,1025701004,1054606378,1056919206);sum2=W(0,-1123809016,-1080484881,-1087173612,-1103335141)+W(1,-1093357581,-1112078382,1047550056,1056172663)+W(2,1068142929,1065979347,-1106751239,1045744538)+W(3,-1102262951,-1097769156,1064817240,1051886373)+W(4,1048007586,-1086806497,1054342226,-1089877767)+W(5,-1095892093,1033891425,-1098340366,1065470183)+W(6,-1098712592,-1082944418,-1120076732,1047940388)+W(7,-1105000175,1059622670,-1088981287,-1102735881);WS(-1089551423,-1072840444); +sum1=W(0,1055991358,1057526040,1022173115,1041019406)+W(1,1027645528,-1141651861,-1100702364,-1086576149)+W(2,1036785718,1059475300,1015463395,-1113297010)+W(3,1016689751,1031793146,-1089572736,-1093552675)+W(4,1056836657,1050051043,1040814976,-1103473726)+W(5,-1125097480,1041821422,-1090411145,-1091007140)+W(6,1050846086,1053584058,1029778436,1007312016)+W(7,1015074267,-1104623366,-1097362556,-1098618125);sum2=W(0,-1076703167,-1073855626,1072187327,1069423067)+W(1,1032293264,1008297781,-1115348910,1041694716)+W(2,-1079134619,-1077864031,1072314518,1072064387)+W(3,-1120515458,1037018177,-1089838794,-1107764634)+W(4,-1081021850,-1081933355,1063804587,1066704589)+W(5,-1121141704,1025803257,1028352388,1036250076)+W(6,-1094622730,-1099654949,1042659879,1053139391)+W(7,-1123317222,1027779018,1035224325,-1114321992);WS(1053893247,-1106302313); +sum1=W(0,1044357278,1051962248,-1110506435,1031892188)+W(1,-1124627014,-1121076939,-1098499127,-1093335703)+W(2,1061666784,1064449402,1047997302,-1127073177)+W(3,1038775118,1042378233,-1082436051,-1085429924)+W(4,1041901099,1053582704,-1107646187,1033243951)+W(5,-1100759903,-1107823800,-1104422127,-1118050391)+W(6,1037482077,1050110011,-1112631434,-1112186286)+W(7,-1134911574,-1111029158,-1103845867,-1118004236);sum2=W(0,-1106914963,-1105365809,-1136883904,1045534781)+W(1,1048929407,-1099297773,1058094665,-1093884354)+W(2,-1087950271,1049402813,-1091599460,1027794169)+W(3,1057853479,-1101014716,1070891205,-1076257974)+W(4,1059435817,1056244223,-1110353364,-1105954111)+W(5,-1088483015,-1116753268,-1096007662,1057695328)+W(6,-1106437513,1049633694,-1105327762,1026306116)+W(7,-1107558514,-1111740866,1019026622,1042940020);WS(1043803134,1031905225); +sum1=W(0,1045344728,1015450714,-1137620096,-1113675573)+W(1,-1125193272,-1142985628,1039772705,-1093561052)+W(2,1036603287,1057861093,1047471777,1045527725)+W(3,1043570724,1032608022,-1131204708,-1087612823)+W(4,1007995990,1048683192,-1101766076,1025442024)+W(5,-1125123818,1017746514,-1098589181,-1109713128)+W(6,-1103914745,1053784172,-1104559247,1041363873)+W(7,-1137687994,-1120823545,-1096789826,-1142310312);sum2=W(0,1052608919,-1112317124,1042572795,-1102611800)+W(1,1033368250,-1099740129,1050084573,-1092971881)+W(2,1036000712,1058925768,1047906835,-1143715563)+W(3,1046340985,-1106615878,1062269077,-1099050864)+W(4,-1089628524,-1097284017,-1097650393,1034463821)+W(5,-1143169701,1034459058,-1155008883,-1100033854)+W(6,-1090965565,1053414419,-1105069125,1044772028)+W(7,-1102441858,-1145018737,-1099181286,1043620595);WS(1065606800,1041895077); +sum1=W(0,1041397665,1050236482,-1113293285,1041785011)+W(1,-1113822832,-1105474774,-1089967688,-1108226929)+W(2,1063682744,1055253222,-1114204019,1031552121)+W(3,1045393909,-1106251932,-1085544687,-1092426598)+W(4,1057927896,1054837340,1032452466,1014586031)+W(5,1018782386,-1135035573,-1094102329,-1092878524)+W(6,1043307490,1058487624,1025447425,-1103346054)+W(7,-1114747425,-1119448485,-1098262983,-1097746379);sum2=W(0,-1094743304,-1106563024,1032193624,1038489223)+W(1,1069957645,1074314813,-1075431018,-1079775068)+W(2,1029053577,-1103121169,1048862753,-1137158564)+W(3,1067854461,-1090496129,1061439417,-1075905408)+W(4,1018988618,1015522148,-1112577633,-1107218869)+W(5,-1083145579,-1093776696,1055667456,1061842524)+W(6,-1107822714,1017646246,-1110240510,1034028859)+W(7,1038458963,-1100108785,1047594841,1032002642);WS(1050857279,1035401177); +sum1=W(0,1049972466,1045749679,-1121232094,1029370009)+W(1,-1114359850,-1119608387,-1097541146,-1100844155)+W(2,1054737744,1064433520,-1116554354,-1118971861)+W(3,1032044074,1039513726,-1088203652,-1089471141)+W(4,1057059356,1055161550,1035949272,-1102118870)+W(5,1028806533,1039358524,-1095333099,-1089223685)+W(6,1035470985,1050840570,-1155732684,-1118591397)+W(7,-1114373271,-1113669781,-1105548665,-1098430605);sum2=W(0,1040723224,-1118965841,-1111920318,1034282103)+W(1,-1104697256,-1123254751,1031483971,1028955705)+W(2,-1128437695,1038672881,-1133376386,1023538768)+W(3,1034554870,-1078609243,-1148076972,1043259383)+W(4,993338648,1050613235,1014776166,-1119100907)+W(5,-1075024478,-1100774866,1050550535,-1084940093)+W(6,-1108740075,1040276790,-1121555310,-1117007635)+W(7,1069274341,1072481706,1054296012,-1098463376);WS(1059068159,-1095269543); +sum1=W(0,1058751902,1052633434,-1126585055,1022243158)+W(1,1040310153,1009201364,-1095802212,-1083015108)+W(2,1061437964,1062365313,1034732162,-1113503115)+W(3,1040208083,-1116554445,-1087136899,-1083734386)+W(4,1054753811,1047783152,1045709362,1029695369)+W(5,1044292534,-1141695574,-1093733821,-1089074173)+W(6,1043895001,-1119990530,1049870212,1005846771)+W(7,1042140272,-1106848091,-1106170901,-1096742887);sum2=W(0,1048158098,-1117235638,-1118716929,-1110453349)+W(1,-1096499673,1023790996,-1122504669,1064329884)+W(2,1037169053,1044450691,1027079271,-1111084235)+W(3,1035642078,-1103100998,-1106426334,1037379653)+W(4,-1086959067,-1096141012,1060433363,1058163522)+W(5,1059064502,-1109003581,-1081432626,-1081956377)+W(6,-1102281652,1061563184,-1077532089,1058751114)+W(7,1048822766,-1089552462,1073667932,-1086790317);WS(-1079238176,-1098575359); +sum1=W(0,1040856756,-1098659523,1012614613,-1122061272)+W(1,-1113276757,-1110111537,1049053518,-1106993315)+W(2,1050219649,1046432350,-1091368434,1049213476)+W(3,1048270483,-1098550683,1061247706,-1088887964)+W(4,-1092787824,1045840143,-1115399887,1050034455)+W(5,1053252708,-1120030007,-1096901418,-1113029435)+W(6,-1102913028,-1104981396,1040609063,-1105000541)+W(7,-1144293604,1037272948,-1106428832,1045569657);sum2=W(0,-1096995906,1032410306,1033447544,1035271628)+W(1,1051183735,-1095652467,1048740225,-1097624644)+W(2,1053850685,1054515359,-1104023060,-1113618952)+W(3,1037584786,-1116173683,1058355960,-1109777102)+W(4,-1114408860,1030897990,-1104458884,1022009109)+W(5,-1096371453,1030595307,-1116975083,-1139294461)+W(6,-1115683354,-1106540716,-1104406640,1044684178)+W(7,-1117706649,-1108415342,1036671037,-1099524388);WS(1064155455,1041078114); +sum1=W(0,-1133388468,-1103926126,1038026665,-1114884791)+W(1,-1116707016,-1135572861,1051074474,1031759625)+W(2,-1088265213,-1088521037,-1123095214,1040569148)+W(3,-1145284192,-1110455500,1060913876,1049866386)+W(4,-1094483240,1052099081,-1098688777,-1113346810)+W(5,-1116167073,1029730485,1034732568,1044072016)+W(6,1038941559,1027852876,1033022404,-1106297864)+W(7,1017022612,1028095637,1019301565,-1138713347);sum2=W(0,-1120484835,-1115316427,-1111732215,1027468398)+W(1,1037828351,-1102210431,-1113615213,1033713911)+W(2,1042551085,-1101059653,-1136133524,-1149402831)+W(3,1027887653,-1105049969,1005178376,1015721118)+W(4,1067179636,-1093846517,-1084703700,1058132410)+W(5,1033627060,-1112780439,1036573120,-1112798365)+W(6,1015696434,-1119207903,1011948492,-1103172541)+W(7,1025169534,1034168377,-1106241198,1035924289);WS(1056869759,-1097268032); +sum1=W(0,1036411431,1007771751,-1105532941,1018133293)+W(1,-1111689725,-1107937040,1034605623,1039633317)+W(2,-1116024394,1032024955,-1097428310,1027243330)+W(3,-1105991139,-1109581452,1010531964,1050783724)+W(4,-1130187397,1034973653,-1133851766,-1099204213)+W(5,-1103861656,1044990678,1044277428,1045069064)+W(6,-1114469768,-1118964077,-1118550618,-1138393927)+W(7,-1106353867,-1155661924,1036629184,1046520720);sum2=W(0,1040620760,1045122152,-1113612713,1031819015)+W(1,-1130628701,-1118722775,-1113774176,-1130428603)+W(2,-1122637452,-1080510307,-1113225510,1040659447)+W(3,1015363301,-1129641903,-1073670430,-1093905874)+W(4,-1103769905,1050277803,-1115035325,1023788280)+W(5,1045479736,997650792,1074164392,1040925011)+W(6,1041168723,-1112728330,1023947578,1009487418)+W(7,1043373785,-1122436477,1044922942,1056579340);WS(1064095487,1025785067); +sum1=W(0,-1106851535,1042476562,-1097495743,1026371284)+W(1,1040514533,-1103190740,1049973404,-1128892272)+W(2,-1104849584,-1085976658,1008396404,1050378694)+W(3,1040022019,1040395090,1058008769,-1115675316)+W(4,-1097042470,-1109264236,-1103138663,1042871873)+W(5,1050097558,-1102548473,1052615848,-1098054097)+W(6,1035073279,-1094929447,1034556564,-1136206974)+W(7,-1157051795,1023679636,1045135411,1037088776);sum2=W(0,1033420628,-1100145939,-1114618025,-1124722923)+W(1,1029168594,1048079041,1047309531,-1105442746)+W(2,-1115804833,1057589449,1036363299,1043439029)+W(3,-1101613108,1042227257,-1089136554,-1084852425)+W(4,1053618149,-1091358477,1049502378,-1096133271)+W(5,1045151454,1041752672,1056312267,1028964970)+W(6,1030436134,-1119548384,1013819494,-1106999272)+W(7,1036382707,-1113267324,1043379377,-1100909906);WS(1060109055,1023402244); +sum1=W(0,1051909299,1054481389,-1109278395,1039025762)+W(1,-1107880995,1018380380,-1093104548,-1098089231)+W(2,1061074499,1069080830,-1107337262,-1125210976)+W(3,-1167447218,-1119879878,-1092709234,-1087624466)+W(4,991275263,1049054227,1038278743,-1119314274)+W(5,1030906608,1028271716,-1093068092,-1085745760)+W(6,1043342663,1051802331,1024999351,-1120902815)+W(7,-1122586985,-1107737008,-1098889074,-1102438460);sum2=W(0,1035578813,-1121421677,1033194341,995982518)+W(1,-1115504751,-1108849613,-1114972659,-1118279893)+W(2,1046888388,-1103362299,1040171687,1038373562)+W(3,1041670894,1050450381,1078927590,1069469835)+W(4,1050255581,-1096418856,1027047733,-1108098969)+W(5,-1097423961,-1114805949,-1082214759,-1065023683)+W(6,1042040695,-1116244525,1033796110,-1147696971)+W(7,964966831,1025540676,-1112457727,1045909115);WS(-1092049407,-1078216845); +sum1=W(0,1057591089,1050969332,1030002432,1019093687)+W(1,-1109784091,1043174565,-1096074010,-1089127853)+W(2,1056027116,1063070242,1055647027,-1100550858)+W(3,-1126191805,1049441628,-1088645600,-1082843219)+W(4,1039049940,1057957242,1041444210,-1103872766)+W(5,-1097650089,1024042875,-1095349663,-1097545633)+W(6,1034942714,1059965491,1042339236,-1115845919)+W(7,-1123963793,-1105758607,-1089209262,-1103665506);sum2=W(0,1062347208,1055082976,-1096143108,-1086426610)+W(1,-1108806990,-1138780047,-1101252044,1053593730)+W(2,1045157118,1048769854,1062855195,-1089951657)+W(3,-1099705126,1058343455,1037201995,-1111940928)+W(4,-1073459143,-1078468086,1074016711,1068897447)+W(5,-1094950430,1046274438,-1119407664,-1091098547)+W(6,-1071781830,-1072043968,1074160921,1075026151)+W(7,-1128975824,1035271906,-1095931446,1031118734);WS(-1092377983,1032564911); +sum1=W(0,1051240140,-1135919542,1001025293,1026968586)+W(1,-1108814006,1031981930,-1114206145,-1140824311)+W(2,1047585891,1046337282,-1099757657,-1101464865)+W(3,-1105914151,-1111723206,-1093593858,1035412731)+W(4,1042168181,1042765483,1021990836,-1099131534)+W(5,-1114245051,1047084274,-1105010841,1042300945)+W(6,1039475666,1031087233,1016095931,-1124857771)+W(7,-1110153104,1021006644,-1150842169,-1129901419);sum2=W(0,-1103837493,-1102219265,-1114711758,-1152594313)+W(1,1035550709,-1111809635,1049238470,-1119502913)+W(2,1021928584,1043085394,-1119994373,-1122222477)+W(3,1038283603,-1113383091,1069806319,1051353268)+W(4,-1098150014,-1114380427,-1136114154,-1117872135)+W(5,1038911980,-1106271331,-1084770114,1040245198)+W(6,-1103586212,999997765,-1120239593,-1118889611)+W(7,-1109409577,-1130668925,1032457879,-1097500544);WS(1066805616,-1146277627); +sum1=W(0,-1097679853,-1106566573,-1149155717,-1135230785)+W(1,1036204713,-1098488427,1047676826,1046488473)+W(2,-1092037473,-1085421897,1042337650,1034010150)+W(3,-1103697017,1057957971,1062693860,1047117051)+W(4,-1091217395,-1094061036,1036367663,-1127867356)+W(5,-1114566390,1034870184,1056189429,1049537116)+W(6,-1108406741,-1096997053,998521116,1011804270)+W(7,-1103604141,1029261884,1049188263,1017502967);sum2=W(0,1035645255,-1111163705,1029215207,-1122819855)+W(1,1042480496,-1107159841,1019166485,-1107161682)+W(2,1026839491,-1095838714,1044451524,-1109976389)+W(3,-1115971786,-1067229991,1082201538,-1129473215)+W(4,-1147512571,-1156411358,1027965847,-1130065951)+W(5,-1091650896,-1142132409,1033233466,1052773623)+W(6,-1110332882,-1114357123,1036873692,-1119702735)+W(7,-1107215185,1025815163,1001850219,1034307583);WS(1040205182,1040987841); +sum1=W(0,1050828331,1054299632,1028035406,1032709552)+W(1,-1130845956,-1131566290,-1102534446,-1098789018)+W(2,1000765841,1064828620,1047238622,-1152624047)+W(3,1024089890,1044521480,-1084918512,-1087146945)+W(4,1059217829,1057730984,-1160283945,-1110798127)+W(5,1041701723,-1105870556,-1094152707,-1080798168)+W(6,1050797759,1040620053,1035307633,-1129145589)+W(7,-1121779940,-1110323595,-1104995442,-1154982570);sum2=W(0,1039834326,1050496819,-1098615503,-1104834685)+W(1,-1113573633,-1119108596,1034170750,1040649104)+W(2,1045914856,1070974917,-1080862372,-1090508283)+W(3,-1128160390,-1095002000,-1102559609,-1118657109)+W(4,-1085801376,-1081343708,1063492499,1048874616)+W(5,1053594264,1022825140,1047362948,1041220807)+W(6,1033985362,-1089072248,1062512173,1035824034)+W(7,1041895669,-1115149866,-1130222490,-1099586035);WS(-1087487423,1060332710); +sum1=W(0,-1095746139,-1089004262,1042437466,-1105878689)+W(1,1037671952,-1117440135,1055197099,1053913286)+W(2,-1081828961,-1099866351,-1121111477,1040585322)+W(3,-1114610404,1028605502,1061690846,1059867107)+W(4,-1115422148,1039314504,-1112892785,-1112195269)+W(5,1040822242,1041433743,-1102951638,-1104536871)+W(6,-1117471766,-1108492170,1012646976,-1122925576)+W(7,1048192776,1029799624,-1130420108,-1107184778);sum2=W(0,-1097747777,1040900608,-1104677463,1017331955)+W(1,-1162485367,-1104406873,1016355419,-1097037835)+W(2,-1081336501,1073518733,-1094338757,-1117673238)+W(3,-1117660642,-1096388411,1068423959,-1089023490)+W(4,-1103573743,-1106204508,-1104710153,-1119646366)+W(5,-1093216188,1028492960,1057220074,1048344480)+W(6,1041186571,-1097636016,1022869095,-1107625181)+W(7,-1092192530,1049060345,1053959289,1033091565);WS(-1096756863,1051174382); +sum1=W(0,-1115668125,1039995714,-1106905723,1025372546)+W(1,1034391118,1041916975,-1105014230,1000611497)+W(2,1043101563,-1089490746,1025624474,-1114360751)+W(3,1027806076,-1111998130,1058174613,-1117013085)+W(4,-1092891318,-1107085565,1032794399,1037998160)+W(5,1008039732,1030397185,1035643438,1045000731)+W(6,-1114405501,-1168885266,-1114244794,1034992970)+W(7,1018926829,1029203969,-1120880459,-1121180749);sum2=W(0,-1095856011,-1106157919,-1092452707,-1089960886)+W(1,1036775569,-1107942220,1041476280,1007316785)+W(2,1074170001,-1085150802,1032119458,1049541326)+W(3,1021239050,-1132331444,-1083810164,1050706137)+W(4,1046048366,-1112079347,-1110883627,1032929374)+W(5,1036225521,-1113579728,-1129593193,1043182557)+W(6,1027735021,-1111935169,1026522309,-1123073435)+W(7,1009639193,1022066674,1009058861,-1214669080);WS(1063524863,1010978751); +sum1=W(0,-1090913225,-1094935586,1035248130,1033376264)+W(1,1034437913,1040021853,1045510498,1054337940)+W(2,-1084407830,-1085174115,1040606570,1029138555)+W(3,-1141033844,1032741433,1062831778,1057961148)+W(4,-1080254739,-1094320024,-1122169062,-1146340206)+W(5,-1127614262,-1136275261,1058700983,1060252175)+W(6,1033710501,955403507,-1115451138,-1113033206)+W(7,1007782611,1030604567,1033261261,1045946247);sum2=W(0,1053621644,1009306318,1043917783,-1096400044)+W(1,1037111777,-1106811629,1005897821,1017015195)+W(2,1051339656,1062093709,-1090244436,-1123678571)+W(3,1047789047,-1093438727,1065539532,-1141989437)+W(4,-1080576226,-1106342004,1048870815,1046901313)+W(5,1049955112,1043219374,-1097183812,-1083332175)+W(6,-1098524562,-1124418811,1053211427,1033884063)+W(7,1050393105,1044056917,-1092155120,-1097464341);WS(-1085369887,-1080302329); +sum1=W(0,-1112260523,-1119192737,-1121762938,1021216124)+W(1,-1110274640,-1111476420,1049037307,1035888345)+W(2,1050211017,1058411732,-1094342263,-1103047566)+W(3,-1097892613,-1097171068,1044828010,1061443675)+W(4,-1139271463,1042276856,-1107174593,-1105630871)+W(5,-1112160677,1026261917,-1100915542,-1119204121)+W(6,-1113852108,-1119668597,-1146340105,1025950537)+W(7,-1110403297,-1132483222,-1119790119,-1174284878);sum2=W(0,1035074177,1040461813,-1146353705,-1115512925)+W(1,-1115656893,-1137020948,1043381354,-1191992884)+W(2,1042528734,1058355837,-1134998124,1036066439)+W(3,1021899784,-1112812041,1058956516,1059049535)+W(4,-1081621864,-1089980594,-1122018103,-1093678923)+W(5,1012903452,-1123282157,1050844919,-1095612272)+W(6,1049357806,-1101025299,1002801625,-1110317749)+W(7,-1122890057,1023124620,1036998024,-1100731037);WS(-1106521214,-1077666555); +sum1=W(0,1052142545,1052094618,-1120901013,1003321829)+W(1,-1108686032,-1118608535,-1105733097,-1102912320)+W(2,1060439250,1059969903,-1107011833,-1105222370)+W(3,1045702647,-1106161276,-1113880763,-1085669204)+W(4,-1095361591,1039904896,1000924822,1029823211)+W(5,-1103122454,-1106172071,-1107186882,1052882623)+W(6,1000548911,1046166153,1027793952,-1127794128)+W(7,-1113781993,-1132637458,-1096551831,-1118745688);sum2=W(0,1025264110,-1119278092,-1123608512,1034079401)+W(1,-1116991392,-1156408861,-1104246380,-1123371956)+W(2,1031056700,1059405503,-1128074608,999851902)+W(3,-1098806852,1038716729,1063218900,1051208451)+W(4,-1123208440,-1081290516,-1109589984,-1102099502)+W(5,-1136590423,1034885175,-1131612640,-1110007228)+W(6,1015173988,-1121242732,1032460032,-1127758712)+W(7,1009682031,-1115963068,1025045004,-1124651080);WS(1061862175,-1081928168); +sum1=W(0,-1105871745,-1093982770,1024897880,-1105584175)+W(1,1027658214,992865878,1052657028,1043886056)+W(2,-1092069365,-1083616743,1040792761,1038516044)+W(3,-1121064957,-1106374835,1065026281,1055074797)+W(4,-1089303929,-1089274268,-1146323132,1041867802)+W(5,1015027694,-1132520748,1054263413,1056987882)+W(6,-1106858177,-1096909360,-1113939311,1033649803)+W(7,-1137844354,1017619030,1049053899,1043742846);sum2=W(0,1027322757,1044756153,1056220347,1078367032)+W(1,-1115583846,993742973,-1148770222,1023449836)+W(2,-1096547764,-1101560565,-1073546091,-1078889751)+W(3,-1130380138,-1147412718,-1126862726,1043960988)+W(4,1042443775,1048890957,-1129365336,-1104234997)+W(5,-1115461788,1019814478,-1133306383,1029550531)+W(6,-1104280017,1028418751,-1105729449,-1132392998)+W(7,-1143007558,-1123464959,1042854212,-1130422948);WS(1052938943,-1103606318); +sum1=W(0,-1087051802,-1108424920,-1110318513,-1114719934)+W(1,-1114447856,1040769086,1044445625,1058073278)+W(2,-1085940948,-1082198177,-1100729633,1051495307)+W(3,1037779432,-1103818980,1058839039,1060893495)+W(4,-1090825863,-1088355266,-1090569589,1058926789)+W(5,1053070735,-1091337376,1053564817,1060585177)+W(6,-1096343413,-1090847836,-1120060704,1050591187)+W(7,-1131842819,1026807692,1059253187,1054456219);sum2=W(0,1033006755,-1098289077,1032703681,1015621136)+W(1,1074691924,1067219112,-1084108607,-1072583370)+W(2,-1098808895,1046984196,-1098355550,1048700747)+W(3,1064576163,1066863963,-1081041246,-1081224226)+W(4,-1083721832,1061110777,-1097901072,1047054427)+W(5,-1084686190,-1086075738,1046858869,1069053051)+W(6,-1109410901,1047097145,-1165737020,-1126056922)+W(7,-1079374171,-1071293986,1076043754,1068664236);WS(-1083248351,1041375270); +sum1=W(0,-1087439008,-1092067298,-1142901727,998616699)+W(1,1045294540,-1128264947,1052452449,1054645196)+W(2,-1097778587,-1084179155,-1128981712,1043282847)+W(3,1042620067,-1146688137,1058025241,1050602866)+W(4,-1090979219,-1086455104,-1110272759,1049050406)+W(5,-1127282486,-1125997182,1053431193,1061357806)+W(6,-1095775369,-1087021556,-1170526381,1045114289)+W(7,981342481,1046767364,1053157267,1052134295);sum2=W(0,1068235144,1068687973,-1079299620,-1076239116)+W(1,-1114529265,-1116897962,1019509447,1054062613)+W(2,1068481951,1066921525,-1083365485,-1079042334)+W(3,1041823371,1032806429,-1100834259,1057377046)+W(4,-1106704213,-1080829299,1066758659,1049726715)+W(5,-1104989857,-1107915189,-1107253929,-1095788298)+W(6,-1077473679,-1073149491,1075688460,1069675355)+W(7,1021289065,1034867372,-1090199615,-1112126912);WS(-1089965567,1041739713); +sum1=W(0,1050606464,1046384755,-1109541748,1014059625)+W(1,1016608410,-1110057610,-1098095776,-1097348868)+W(2,1052952467,1062759283,-1113826001,-1120181702)+W(3,-1165355548,-1103909923,-1097909490,-1098227712)+W(4,1061539071,1056969105,-1107441048,-1099389050)+W(5,1018410859,-1097884829,-1097990985,-1089710746)+W(6,1043585729,1054439728,-1129336123,-1110918155)+W(7,-1109883584,-1118732474,-1101291373,-1112431723);sum2=W(0,-1113211599,1037267536,-1112359157,1035083591)+W(1,-1112771443,999833884,-1129901649,1032203968)+W(2,-1110383577,1053336900,-1119560270,1037205500)+W(3,-1113848439,1048127168,1062183610,1050641640)+W(4,1036846600,1029308948,1033928454,-1130432545)+W(5,-1087091182,-1080175934,1037218786,1052549520)+W(6,1035214305,-1137000642,1027763767,-1111608107)+W(7,-1106600446,-1105808372,1041216407,-1098666781);WS(1040803966,-1079223548); +sum1=W(0,-1108233168,-1097729981,-1113401739,-1103550802)+W(1,1021078213,-1123835458,1016715200,-1115946235)+W(2,-1112466052,1056711305,-1095164520,-1105545077)+W(3,-1103483180,-1092700173,1072346450,1051122342)+W(4,1033129898,-1100704991,-1106149592,-1102562113)+W(5,-1104392485,1033532004,1041579689,1046866637)+W(6,-1106323272,-1109921151,-1105989383,-1123094707)+W(7,-1128003929,-1109398092,1019070562,1017795558);sum2=W(0,-1097131135,-1098724323,-1126076753,-1132003761)+W(1,-1114013558,1027012993,-1102131199,1033952970)+W(2,-1094337061,1075670208,-1094940877,1028715469)+W(3,-1109613274,1026138301,1037045260,1043946979)+W(4,-1092647285,-1119763725,1050064171,-1096054213)+W(5,-1107006741,1032910718,-1101691459,1052392413)+W(6,-1104609741,-1103386045,1024912709,-1095828963)+W(7,-1127911473,-1109320626,1042676905,-1104710657);WS(-1077711088,-1080462700); +sum1=W(0,-1095463505,-1094028818,-1143635214,1016976667)+W(1,1033669226,1023995271,1043759401,1048382760)+W(2,-1084473735,-1081613943,1025648038,1050435883)+W(3,1038367764,-1104130812,1061061657,1060944248)+W(4,-1092817267,-1089963906,-1119077035,1033190198)+W(5,1035230572,-1115548134,1058923652,1059085444)+W(6,-1112556483,-1096263708,-1124293633,-1127874241)+W(7,998948881,1035279350,1052630131,1024757337);sum2=W(0,1038737245,1033599435,-1128906105,-1118714905)+W(1,-1084863446,-1120736313,-1124872105,1045939428)+W(2,1047074065,-1081197801,-1102497202,-1104617441)+W(3,1072627800,1076529178,-1069501955,1073600723)+W(4,1051590837,1036478618,1025452854,1052988680)+W(5,1066278053,-1115729701,-1078626366,-1078764847)+W(6,1034730428,-1096538670,1045309195,-1147569173)+W(7,-1119746081,1001372341,-1097394746,-1094352359);WS(-1085605823,1039908372); +sum1=W(0,-1101464226,-1097280531,998302542,-1110519177)+W(1,-1136474287,1017687606,1040574050,1050281295)+W(2,1050325520,-1093718398,1051114493,-1105109851)+W(3,1027599892,1038451002,-1095999987,-1112501642)+W(4,-1109283231,-1103804777,1047411644,1047758692)+W(5,-1112873934,1026946257,1013903280,1052111506)+W(6,-1107759461,-1099881946,1027414133,1008966514)+W(7,1007362713,1030395745,1037344125,-1131548857);sum2=W(0,-1098998597,-1104582263,-1129481498,-1115357326)+W(1,-1119934044,-1109942748,1041990652,1033193484)+W(2,-1098625511,1036322812,-1149109833,1037423788)+W(3,1028176618,1032249206,1029624616,1052524895)+W(4,1050926614,1045914812,-1098320683,-1107237807)+W(5,-1117055607,1026298641,1016354632,-1102468922)+W(6,1029306918,1035368549,-1111060805,-1118016391)+W(7,-1116685452,-1113790705,1036818044,1029333966);WS(1066221936,-1112686252); +sum1=W(0,1042737360,-1108750629,1049363148,-1111426931)+W(1,-1110677245,1035534704,-1105687720,1039181581)+W(2,1053136109,-1095853365,1038796336,-1090113310)+W(3,-1101864162,1019901392,1031102479,1051677110)+W(4,-1108890233,1023718298,1041899238,-1102958241)+W(5,-1107302241,1048841797,-1089545128,1058267293)+W(6,1033191264,-1165972390,-1112879133,-1104001476)+W(7,-1106653499,989728967,1010166848,1047293124);sum2=W(0,-1121628281,1041466962,-1115216952,1019579309)+W(1,-1133616314,1046938970,-1110659898,-1104132268)+W(2,1044350744,-1096356807,1035949455,-1101014764)+W(3,-1089581193,-1097777539,1067161402,-1092586315)+W(4,1019949697,1011899626,1020295703,-1125343389)+W(5,1025080038,1042942659,1028945397,1044980625)+W(6,1020414781,-1108620092,1032252124,-1107189524)+W(7,1000298789,1034429670,-1106879950,1024223321);WS(1065647552,1042223795); +sum1=W(0,-1090185691,-1099254654,1047859212,-1118213891)+W(1,1042956769,1045938459,1056675965,1054600851)+W(2,-1085546115,-1090115457,1049817209,-1102035956)+W(3,-1095542592,1048397149,1060918524,1052764224)+W(4,-1086839140,-1089622500,1018314812,-1136727619)+W(5,-1107166488,-1115710386,1053194074,1050058698)+W(6,-1103143659,-1088857895,-1111834851,1048950515)+W(7,1046421002,1019098869,1046059111,1055030644);sum2=W(0,1045715537,-1109612723,-1100534663,1038047795)+W(1,-1074982428,-1071944747,1074456323,1062099960)+W(2,-1109559353,-1088589586,-1098906327,1043709757)+W(3,-1086420775,-1087600981,1061406543,1074047524)+W(4,1046750383,1030039799,-1097979318,1054998296)+W(5,1058024333,1040647828,-1095255331,-1109444720)+W(6,-1112135838,-1108474833,-1135615252,1042447686)+W(7,1042372587,1051479186,-1098188594,-1106577876);WS(-1099261566,-1102058551); +sum1=W(0,-1099740733,1038344912,-1118752449,1037460750)+W(1,1046250530,1040547388,1028635221,1035868896)+W(2,-1097823268,-1077722267,1046116085,1048855473)+W(3,1049218244,1053686776,-1089090112,-1135561696)+W(4,-1086845489,-1109540512,1043443965,1041532007)+W(5,1041462458,1041323791,1036245196,1054063629)+W(6,-1112472539,1006300060,1048656673,1035797482)+W(7,-1116084210,1050214602,-1115462467,1039520068);sum2=W(0,-1099880087,1049640504,-1103130345,-1107023704)+W(1,-1106650230,1035820630,-1100868353,1047853298)+W(2,-1099241173,1060797185,1007138702,1025081245)+W(3,-1111373979,1048085306,-1096656068,1050410790)+W(4,-1096100738,1034621436,1042694232,1020633935)+W(5,-1098540289,1045275377,-1092716332,1053061345)+W(6,-1100840753,1051814059,-1117764771,-1116958023)+W(7,-1095110662,1026583068,-1092707384,1057695342);WS(-1081437504,-1086037448); +sum1=W(0,1048903167,1048827465,1034161364,1002898847)+W(1,-1124004134,1038960439,-1110924302,-1098037791)+W(2,1058952469,1062493730,-1102052735,-1097339820)+W(3,-1109622563,1046141833,-1082951605,-1089826679)+W(4,1056452878,1052097743,-1116847174,-1122224578)+W(5,1037494008,-1142221339,-1093057352,-1095802941)+W(6,1046287775,1051622635,-1114337484,-1124219870)+W(7,1018754897,-1115514650,-1097214606,-1115921615);sum2=W(0,-1098267531,1054123387,1046658552,1026296217)+W(1,-1107249906,1049528827,-1080723543,1056065541)+W(2,1031912087,-1103258874,1048926974,-1092482457)+W(3,-1094476247,-1114829012,-1095327126,1068312252)+W(4,1064081451,-1081783631,1051240634,-1093986590)+W(5,-1110151549,-1109929036,1054428583,-1101319294)+W(6,1052301313,-1136084293,-1116201775,1031417427)+W(7,1023898518,-1131461985,1032992382,-1095108256);WS(1059931039,1045326059); +sum1=W(0,1027626820,-1102542884,-1116497429,-1105339195)+W(1,1020852317,-1110241387,1045819641,1035394960)+W(2,1042432944,-1087368655,1048600749,-1104905094)+W(3,-1120454715,1028063406,1050459387,1050447189)+W(4,-1090841955,-1098837680,1028510504,1017781140)+W(5,-1135766366,1046575867,1038310627,1058872902)+W(6,-1135818261,-1102238241,1006123003,-1104151378)+W(7,-1121800177,-1138241103,1039487803,1009721182);sum2=W(0,1033521028,-1107049318,-1125695753,-1108715925)+W(1,1043372642,-1096562690,1043711791,-1130002309)+W(2,-1126359337,1024736242,1037467647,-1106861101)+W(3,1055907536,-1077602923,1069236178,1069432650)+W(4,-1096919459,1030099711,-1108013135,1049447879)+W(5,-1079492159,1048192702,-1104043463,-1089672176)+W(6,1038861546,1027296385,1025122350,1016159100)+W(7,1041544949,1038199238,-1115278753,-1102967963);WS(1065273279,-1155200022); +sum1=W(0,-1110724474,-1113644224,1042748400,1032043190)+W(1,-1107914275,1017813644,-1113329098,1048813356)+W(2,-1103694886,1049530899,-1101712885,1044363154)+W(3,-1119126921,1030506334,1013956115,-1138873982)+W(4,1032343156,-1119655327,1042545917,1020290996)+W(5,1047677002,1035449518,-1118975351,-1088512539)+W(6,-1113927803,1014066252,969146311,1023679047)+W(7,1040385292,1037002750,-1102619473,-1112426340);sum2=W(0,1040024171,1033596237,-1114326988,-1105379539)+W(1,1020126178,1058095820,-1100858724,1054804566)+W(2,1027874005,-1090164335,-1127815582,-1128505094)+W(3,-1095228668,-1114002666,1015111122,-1108932212)+W(4,1026082941,-1098155637,1011114412,-1144273240)+W(5,-1109234902,-1117423595,-1123558275,1057491035)+W(6,1010514392,-1110656550,1008109660,1010998384)+W(7,-1148517800,1028462436,1025837089,1041639386);WS(1064822335,-1095840736); +sum1=W(0,1056391992,1052717533,-1114924672,1049019197)+W(1,1047279757,-1158101509,-1097259572,-1082098174)+W(2,1053226600,1063307800,1027273471,1006539024)+W(3,1028150783,1048033194,-1085358981,-1083318869)+W(4,1051465786,1056189595,1023329786,1024001604)+W(5,1040827508,-1122795750,-1096912972,-1093212548)+W(6,1051405604,1049885284,1032078653,1034076369)+W(7,1040247311,-1102713147,-1090164049,-1097995110);sum2=W(0,1057945825,1059138923,-1105536143,1044291516)+W(1,-1075047571,-1084742426,1063262829,1075245425)+W(2,1064153610,-1117658388,-1102729189,-1123279074)+W(3,-1087050661,-1094508761,1055818216,1058517731)+W(4,-1082824416,-1088923796,-1098099014,1019015608)+W(5,-1107921801,1066223948,-1082492094,-1095331241)+W(6,-1114762777,-1093119165,-1116414073,1041233257)+W(7,1065694420,1070896480,-1076437009,-1084810008);WS(-1090760447,1052695066); +sum1=W(0,-1086160295,-1100507696,1004836815,1032827391)+W(1,-1122589400,1011775197,1050270371,1058956361)+W(2,-1085279840,-1085951050,1033221771,1040820154)+W(3,-1126907788,-1109718672,1060000376,1061054293)+W(4,-1090476887,-1096291378,1019263487,-1142824410)+W(5,1031459881,1014310644,1052048107,1053225609)+W(6,-1104244158,-1096098979,1030288497,1033909728)+W(7,1002236306,1050105184,-1123372967,1044967298);sum2=W(0,-1119133376,1054475337,1010795990,-1115548553)+W(1,-1106450540,-1130742967,1049648601,1034230379)+W(2,-1126101085,-1096206384,-1108773712,1025233265)+W(3,1074765700,1076253468,1056453743,1031862009)+W(4,1025243447,-1123699076,-1123367926,1028577219)+W(5,1067142167,-1082850789,1040231624,-1092511031)+W(6,-1116348436,1026289255,1016487959,1027045545)+W(7,-1074864896,-1066441953,-1098871930,1052333940);WS(-1098442559,1026469881); +sum1=W(0,1050517915,1049663660,-1119522441,-1149983818)+W(1,-1106643136,-1107005098,-1102209381,-1114000872)+W(2,1057681670,1054270423,-1148708523,-1111872220)+W(3,-1107624656,1044397088,-1080449641,-1097110004)+W(4,1065584902,1060962908,1034687077,1033974589)+W(5,1040137492,1011262833,-1088971425,-1089390067)+W(6,1043551013,1037520938,1040191316,-1121497336)+W(7,-1152197144,-1111636393,-1098201593,-1096207069);sum2=W(0,1067471948,-1083836095,1049995354,-1093666199)+W(1,-1087858714,1040673003,-1089657247,1044138823)+W(2,1067519925,1075025493,-1108191449,-1104373549)+W(3,-1086283540,-1107890740,1070698122,1068116530)+W(4,-1079149522,-1092122258,-1109961150,-1086862321)+W(5,1052510667,1044801958,-1092830464,-1077256496)+W(6,-1118106953,-1090446878,1057348983,-1105617480)+W(7,-1113062539,1040940184,-1095892285,-1104600439);WS(-1089367999,-1080592817); +sum1=W(0,1020565079,1046045566,-1142600967,1050901372)+W(1,-1123752726,1032349343,-1094642094,-1098563453)+W(2,1051791856,1059303201,1042662963,1043029392)+W(3,1017360893,1040706037,-1082254536,-1092783656)+W(4,1060541458,1057651322,1028335344,-1131715556)+W(5,1038984656,1042767141,-1083519131,-1088235102)+W(6,1050310918,1061742083,1040529906,1009439676)+W(7,1039511244,1037250730,-1084895582,-1088554180);sum2=W(0,1072921984,-1096214776,1044777691,-1086948904)+W(1,-1081008410,1053678014,-1086612116,-1102597600)+W(2,1069427540,1069014322,-1107333159,-1085906527)+W(3,-1094318103,1040782350,1068187895,1055370552)+W(4,1068759557,-1095651744,-1101622483,-1094251850)+W(5,-1097053445,1052418274,-1098339283,1049876941)+W(6,-1080635176,-1071443034,-1095334551,1054103540)+W(7,-1116179967,1057760894,-1119710681,-1098368915);WS(-1072329816,1074376722); +sum1=W(0,-1097135645,-1100415357,1034466519,-1119826815)+W(1,1001332238,1009264740,1050212013,1051061560)+W(2,-1123247055,-1078161261,1040071236,-1121811611)+W(3,-1119531350,1047608180,1050094223,1057003368)+W(4,-1086793716,-1092987820,-1125783811,1034412551)+W(5,-1139666027,1053959834,1053182609,1060987117)+W(6,-1117997032,-1097292445,989295697,1025497578)+W(7,-1130537576,1003451511,1040352158,1030369595);sum2=W(0,1033963983,1024673399,-1119692159,1010850411)+W(1,-1110591524,1039643589,-1126975570,1041326744)+W(2,-1107122545,1041917938,1041465994,-1110113403)+W(3,-1098235771,1061676083,1075051781,1049177676)+W(4,1031918417,1016152214,1041361680,1019542894)+W(5,-1072022345,-1080793678,-1100210466,1057547658)+W(6,-1119110501,-1108745692,1035827461,-1128076954)+W(7,1038326573,-1115279667,-1111890885,-1101468559);WS(-1089734463,1065567745); +sum1=W(0,-1089748010,1033541431,1048676446,-1115310942)+W(1,1041536229,-1111760907,1047890913,1053493076)+W(2,-1091844976,-1078026925,1041943745,1051913151)+W(3,1031051700,1033727319,1057682191,1060749357)+W(4,-1083863979,-1088695462,-1123414147,1032260949)+W(5,-1117552023,-1123512523,1057895644,1060855949)+W(6,-1097284573,-1090712276,-1118314271,1025799735)+W(7,-1134918146,1037093278,1052101531,1049355215);sum2=W(0,1067110585,-1073947481,-1089227831,-1087048499)+W(1,-1088705293,1063056164,-1107011493,1062551012)+W(2,-1100054441,1057992187,-1106022394,-1081828818)+W(3,-1091908804,1049660447,1053279159,1044700801)+W(4,-1096117153,1049824990,1053589051,1057638724)+W(5,1041467137,-1112699600,-1098858111,1047077354)+W(6,1008667589,1047082764,1050363813,1030725267)+W(7,991046018,-1118599281,-1093863007,1055551992);WS(-1079109040,-1085312521); +sum1=W(0,1037365911,-1117579705,-1140282322,1023769582)+W(1,-1127522065,-1098682508,1042794748,-1113299189)+W(2,1052645482,1061549365,1041551140,-1105105824)+W(3,1041518392,1049784787,-1087637436,-1086336671)+W(4,-1092653220,1050958145,-1111084358,1030694836)+W(5,-1104535548,-1112540051,-1111723928,1051894263)+W(6,-1113919416,1047664699,-1133450021,955351653)+W(7,997865134,-1121426302,-1111528112,1039072513);sum2=W(0,-1182735741,-1116775242,1037755147,-1112127727)+W(1,-1099828018,-1106208929,-1108084106,1027967369)+W(2,-1110833901,1050960349,-1096944427,-1117076760)+W(3,-1106621688,-1093670465,1057406540,1047419656)+W(4,1057824022,1025802869,-1126463908,920706880)+W(5,1046907280,-1104727129,1030718323,-1106635563)+W(6,-1117624689,-1106817101,1016301114,1025583781)+W(7,1024731263,-1133403952,-1146210056,-1129307942);WS(1066445424,-1114782683); +sum1=W(0,-1110498524,-1092096849,1037849343,-1105169880)+W(1,1033176686,1027992139,1045982494,1042140161)+W(2,-1089773556,-1093199580,1053025475,-1111719878)+W(3,-1104315937,1034263873,1058443885,1059787797)+W(4,-1085224723,1017432168,-1118185334,-1106443352)+W(5,-1099213011,1015617473,1051015495,1058982105)+W(6,-1097477655,-1120659192,-1104379365,-1115180998)+W(7,-1134277975,-1124174113,1047806371,1049335790);sum2=W(0,-1104443938,-1111353322,1010861092,1035156885)+W(1,1034215267,-1119467871,-1131256669,1020765936)+W(2,-1092519845,1033492110,1050643378,1053142713)+W(3,1043572605,-1120345789,-1093594884,1043066295)+W(4,1061622434,1045835461,-1100307988,-1093995815)+W(5,1035132204,-1120193257,1051701313,-1090891830)+W(6,1054276307,-1118030035,-1095534688,-1094190457)+W(7,-1107758441,1010759898,1044764145,-1115303200);WS(1053797695,1034928741); +sum1=W(0,1027306577,1036410350,-1101985872,-1113709609)+W(1,1039738506,1041675949,-1094568298,-1089618673)+W(2,1048222316,1049396519,-1106547453,-1098832221)+W(3,1049870789,1032602030,1057932790,-1089721378)+W(4,-1093507345,-1098128846,1038712045,1032341932)+W(5,1041034929,1020376402,1042310981,1051551069)+W(6,-1102358117,-1095739626,1037110646,1020651977)+W(7,1038606871,1036847389,1049811664,1032076306);sum2=W(0,-1096371488,-1100415470,1048834253,-1107569978)+W(1,-1113379832,-1098639187,-1140716449,-1091206842)+W(2,-1097656368,1057366407,1047116738,1032955728)+W(3,-1102236471,-1112454303,1067804624,-1099982688)+W(4,1049724515,1047568587,1024141754,-1095875849)+W(5,1037256860,1039735469,-1101898886,-1107732848)+W(6,1025784853,1040928209,1031286951,-1117854930)+W(7,1034482735,-1122662653,-1099991629,-1104360749);WS(-1100599294,-1113486107); +sum1=W(0,1058015130,1043005476,-1113994869,1041832895)+W(1,-1123207408,-1120610968,-1095369841,-1095482492)+W(2,1065539217,1054749782,-1100675730,-1101582062)+W(3,1040056719,-1111595960,-1085935041,-1088297536)+W(4,1046936430,1043027144,1033573462,1015862616)+W(5,-1110844045,1041950395,-1096194081,1054414015)+W(6,-1122192647,1047923809,-1147102474,-1123901241)+W(7,1007333963,-1097939280,-1106262926,-1118572185);sum2=W(0,-1105017139,1043450683,-1118187780,1033496750)+W(1,1012703263,1009095593,-1142467441,-1118941046)+W(2,-1106458832,1057933296,-1102935461,1041080086)+W(3,1025973118,-1089439993,1063076098,-1096734279)+W(4,-1098239652,-1111698692,-1122438380,1023898015)+W(5,-1124882200,1004297609,1048742138,-1119844388)+W(6,1023645924,1034431733,999989929,1007185073)+W(7,1046154393,1048791679,-1090457759,-1096898561);WS(1058454143,-1086058342); +sum1=W(0,1051341170,1054019099,-1099743710,-1115074879)+W(1,1040408770,1042487060,-1112675511,-1123276713)+W(2,1057240637,-1085932301,-1113530407,-1103933280)+W(3,1044345774,1034191179,1048593300,-1095853513)+W(4,-1090466976,-1097279225,-1115568198,-1124606630)+W(5,-1105205160,-1111240730,1052135974,1059272419)+W(6,-1108988935,-1095706385,-1118699368,-1123572016)+W(7,-1135917288,1043157563,1041536544,1039376368);sum2=W(0,-1106684338,-1104496052,-1094360366,1047642666)+W(1,1038757740,-1120606628,-1137000462,-1097565895)+W(2,-1101578828,1062389037,-1101124559,-1111839157)+W(3,1043520604,-1110716481,1056361687,1017360469)+W(4,-1099504899,-1102577927,-1114275291,-1119401007)+W(5,-1121032787,-1174578992,-1111580608,1057357121)+W(6,-1121638606,-1100286365,1018914035,1010413358)+W(7,1020758339,1031842399,-1108198790,1047557438);WS(-1116191222,-1087222261); +sum1=W(0,-1092140039,1041212802,1026061480,1051378220)+W(1,-1115126509,1018050395,-1108686318,-1098282527)+W(2,1028855632,1054776996,-1131139769,1051132746)+W(3,1028919646,1031880915,-1096808426,-1114615088)+W(4,1052461054,1056191968,1010253799,1029438530)+W(5,1047407636,1041055121,-1089672580,-1090181940)+W(6,1041996679,1051463563,1032111196,-1140691900)+W(7,1025713945,1049760258,-1084069643,-1095415146);sum2=W(0,1075791226,-1079951996,988781159,-1120688670)+W(1,1033088733,-1126178338,-1096143661,1072772368)+W(2,-1080919050,-1078043585,1034244658,1023531678)+W(3,1039982901,-1153355920,-1074830486,-1087274515)+W(4,1061514147,1050383220,-1125227753,1038669521)+W(5,1047086021,-1117938706,-1091737459,-1138433181)+W(6,1043495776,1056154705,-1123518214,-1122152897)+W(7,1036258954,-1090859740,1064633897,1043710967);WS(-1086114623,-1084816591); +sum1=W(0,1036163639,-1112478813,1041053515,-1119067590)+W(1,1015833809,1041839788,-1114565991,-1106221778)+W(2,1045609440,-1091176571,1050414506,-1123050946)+W(3,1038604869,1049671879,1041957568,-1102274148)+W(4,-1096458464,-1092456237,1033253648,1017204584)+W(5,1016035267,1004159150,1042499428,-1140250052)+W(6,1039781304,1019336538,-1142909644,-1109025761)+W(7,1019624502,1038938427,-1110741472,1024592194);sum2=W(0,-1115603798,-1129023472,-1145756082,1006657945)+W(1,1032033598,-1122908214,1029036192,1043167348)+W(2,1024575987,-1070476153,1043063832,-1102183527)+W(3,1013148193,-1117007948,-1079118960,-1134024937)+W(4,1078068971,1034687231,1030027167,1048257970)+W(5,1026806223,-1106350665,1026633068,1058188063)+W(6,1014471457,998969122,-1120006792,-1129422896)+W(7,1037397710,-1119066852,1035752331,-1138449465);WS(1058895967,-1115291633); +sum1=W(0,-1118075736,1028840739,-1110715998,-1125313920)+W(1,-1102743433,-1113756805,-1106860038,-1101537045)+W(2,1050429809,1056177832,-1093243535,-1110540830)+W(3,-1112821659,-1094426092,1062536899,-1109809347)+W(4,1050921353,1021103494,-1114664694,-1098773368)+W(5,-1112140166,-1105504016,1042267175,1050429425)+W(6,1039051533,1048765371,-1128878150,-1108229374)+W(7,-1123143221,-1113092552,1019165331,-1104944731);sum2=W(0,1049660250,-1092533458,1035161218,-1118991740)+W(1,-1093107290,-1131472334,-1084844108,-1072802862)+W(2,1052404039,1059098325,1025873763,1031409558)+W(3,-1099814906,1050189246,1066715964,1059153934)+W(4,1035329255,1033133876,-1109675818,-1130385854)+W(5,1033113369,1032032260,-1121630224,1054800035)+W(6,-1100849576,1041079456,-1106515599,1035221069)+W(7,999987753,-1109656332,1051036492,1017402854);WS(-1088275071,-1079832501); +sum1=W(0,-1140631216,1001216956,1054795207,-1121609972)+W(1,-1114449795,1049117898,1053928586,1031902612)+W(2,-1109051587,-1108520810,1036185063,-1091175970)+W(3,-1089874193,1024185910,-1118566269,-1100362195)+W(4,-1112588624,-1111932116,-1095852779,1036253081)+W(5,1033419200,-1098704820,-1106845532,1050418310)+W(6,1018114011,-1114447781,-1099614386,1056993046)+W(7,1052334541,-1103629998,-1106898567,1057036918);sum2=W(0,-1099753021,1036479145,981839325,1034198694)+W(1,-1101897553,-1125560160,1033443852,1052074243)+W(2,-1087878645,-1099082069,1043520387,1050051875)+W(3,-1090657055,-1126528836,1044393022,1061175239)+W(4,1049181233,-1106552091,1020237946,-1099547613)+W(5,-1113239720,-1111189720,-1125692060,1036533430)+W(6,1051666481,-1105193718,1032634213,-1112528204)+W(7,1038783930,-1110455840,1038429221,-1100952955);WS(1055684799,1057467177); +sum1=W(0,-1084593518,-1097583958,1040983065,-1115635180)+W(1,1044528285,-1108137881,1048845932,1057349085)+W(2,-1088354001,-1083875169,1047016048,1033664034)+W(3,1042415046,-1130549589,1057461395,1059080519)+W(4,-1089538899,-1090088564,1031194256,1040303666)+W(5,1025308788,1040121956,1052697432,1055847004)+W(6,-1096939300,-1092334596,1031542812,1036112338)+W(7,-1124884732,1051059157,1025617138,1050363555);sum2=W(0,1084724252,1057352437,1043377438,1039076253)+W(1,-1111202323,982595482,-1108204793,1055999642)+W(2,-1070809771,-1070013447,-1129064764,-1111770710)+W(3,1026864091,1008953953,-1084654208,-1115649819)+W(4,1024963427,-1115045950,-1117340191,1041506513)+W(5,1041107952,-1112891517,1023558847,1027889169)+W(6,1037860995,-1120758055,1006037802,-1113661124)+W(7,-1161342746,1036271073,1034794526,-1108774739);WS(-1089965247,1033154456); +sum1=W(0,1037068672,-1091726905,1043361746,-1118330000)+W(1,-1112803845,1030795409,1027410848,1043453383)+W(2,-1106295439,-1087991002,-1106541856,1028536899)+W(3,-1111747193,-1109712917,1053447482,1047994631)+W(4,-1094017778,1026207675,1037178020,-1103233833)+W(5,-1110327970,-1111739348,1049286760,1058853977)+W(6,-1102222128,-1106998176,-1148310999,-1122355891)+W(7,1037236782,-1104668925,1056026770,1044913013);sum2=W(0,-1104712414,1065017407,-1115350296,-1104081637)+W(1,-1102746442,1038124336,1027805677,1038273275)+W(2,-1101193417,1054909386,1033477476,-1102551062)+W(3,1025981021,-1090398660,1069044481,-1097697554)+W(4,-1096226206,-1094950793,-1092653578,1048930937)+W(5,1049254524,-1111378843,-1097937335,1051154993)+W(6,1042131871,-1100838677,-1095610208,1049862570)+W(7,-1100983150,1038627466,-1090656582,-1115393002);WS(1053522367,-1088249107); +sum1=W(0,1049354980,1050121221,-1109062519,1041083642)+W(1,-1116245577,-1108913352,-1089361286,-1104528935)+W(2,1062047573,1050256849,-1129341567,1041255149)+W(3,1044478835,-1106612546,-1085946707,-1094323010)+W(4,1058306025,1054029415,1034422596,-1122816004)+W(5,1010650184,-1127765836,-1096738148,-1092704114)+W(6,1043380368,1057986114,1002201935,-1105678140)+W(7,1004046811,-1116617606,-1098664466,-1095183726);sum2=W(0,1047105417,1040512713,-1122196578,-1115691041)+W(1,-1078420733,-1074089832,1072356775,1066880006)+W(2,-1115639944,-1093984910,-1119943136,-1133382325)+W(3,-1079250237,1053171659,-1106032356,1070833917)+W(4,-1128164365,-1112542694,1026693101,1035619338)+W(5,1063302165,1050228647,-1103058628,-1084317659)+W(6,1040561229,-1122951759,1035287249,-1121646682)+W(7,-1111273903,1041535222,-1109474775,-1106694088);WS(1054980735,-1118400611); +sum1=W(0,1056052581,1054619866,-1136534172,1023857233)+W(1,-1098911041,1014993130,-1084632317,-1108899938)+W(2,1062631892,1063340895,1024279465,-1109579886)+W(3,1019079234,984908360,-1087714282,-1087670245)+W(4,1054891904,1032051762,1042081899,1031638446)+W(5,1040973935,1034243544,-1091518889,-1089981519)+W(6,1036582853,1040187076,1037741818,1025101580)+W(7,1038263499,1035333164,-1096282711,-1100292439);sum2=W(0,-1103126769,-1089284711,-1115607290,1048663857)+W(1,-1135969141,-1096474341,-1135630263,-1090522781)+W(2,-1106476140,1065597134,-1094885185,1050959246)+W(3,-1110761886,-1097679100,1068281966,-1116194786)+W(4,-1114774312,1044112203,-1094433235,1032263390)+W(5,1030603925,1025157613,1034641663,-1114594327)+W(6,-1110680696,1044150663,-1100445080,1034671855)+W(7,-1121778209,-1101519530,1039802827,-1120338125);WS(-1099426814,1028666567); +sum1=W(0,1050515008,1054909169,-1114817850,1017347599)+W(1,-1122852442,1034424401,-1091252816,-1097546199)+W(2,1058789976,1049870885,1038414608,-1102332157)+W(3,1040697053,-1119196265,1026332624,-1088740593)+W(4,-1096181150,-1094822147,1043586729,1040863441)+W(5,-1096850298,-1101867410,1046083753,1050979384)+W(6,-1110297504,1035801215,1024225691,1033560385)+W(7,-1112505198,1022200238,-1106319780,1043042893);sum2=W(0,-1113854030,1056314261,-1113414658,1032296335)+W(1,1034439881,-1106401889,1057288090,-1123218166)+W(2,1056282685,-1076472908,-1096252543,1032045591)+W(3,1027355020,-1099548772,-1076465599,1048444709)+W(4,1041975936,1060789196,-1130462124,1039836782)+W(5,1041344971,-1137373456,1064414385,1054239999)+W(6,-1113045826,-1114544525,1017080436,1032505935)+W(7,1031341874,-1131418272,1017354944,-1101415652);WS(1048405758,1021439377); +sum1=W(0,1056714988,1053912029,1004365570,-1095783591)+W(1,-1099026446,1040281084,-1097931508,-1095028931)+W(2,1060368018,1058906144,-1090472608,-1111296393)+W(3,1042667324,-1099317986,-1084869763,-1093355890)+W(4,1059710205,1050004859,-1096289768,1053249340)+W(5,1058667863,-1094050929,-1089344390,-1111710658)+W(6,1050104788,1057263364,1031327257,-1116930177)+W(7,1032145973,-1127343131,-1095692170,-1098648430);sum2=W(0,-1102128439,1038586891,-1108324664,-1137650289)+W(1,-1085103011,-1096095433,1042582877,1065729447)+W(2,-1102631398,-1096144010,1053004242,-1107068637)+W(3,-1096657292,-1084794119,1066736444,1055966210)+W(4,1065778432,-1087564484,1044011702,-1096186406)+W(5,1061684194,1053274132,-1109340585,-1077760412)+W(6,1041037240,-1095964556,1016473473,1031462490)+W(7,1060428365,1070082531,-1079487884,-1088233524);WS(-1120621558,-1109747932); +sum1=W(0,1056552380,1057052863,1034046808,1041405257)+W(1,1021959803,1009707220,-1102283433,-1086075216)+W(2,1034826244,1061462741,1031113092,-1118447615)+W(3,1002695151,1030648525,-1087896594,-1089852749)+W(4,1057041023,1051800560,1039149197,-1118172841)+W(5,1017359341,1034838445,-1089266110,-1089300195)+W(6,1051243933,1054503948,1023987646,1025628006)+W(7,1033512688,-1099231069,-1098034299,-1098077639);sum2=W(0,1076686179,1075980741,-1071453180,-1072120352)+W(1,-1109988374,-1125676035,1055107632,-1096491690)+W(2,1075876198,1076219984,-1071241469,-1069998225)+W(3,1033428305,1018908197,1048961210,-1100816518)+W(4,1072219376,1071235859,-1079882002,-1073669228)+W(5,1040773271,-1129279043,-1097056656,-1123192163)+W(6,1056170781,1057784547,-1096258120,-1086087106)+W(7,1030403985,-1116156171,-1098632303,1049622318);WS(1014286296,1057122707); +sum1=W(0,1045128364,-1112841149,-1134927261,-1100574608)+W(1,-1113867461,1021982785,1041785732,1045637171)+W(2,1023155519,-1094208427,-1115033128,-1096946922)+W(3,-1106336253,-1099783438,1066937726,1051848326)+W(4,-1099169249,-1097752701,-1121259095,-1104533485)+W(5,-1105189673,-1131816685,1049921902,1058599142)+W(6,-1111007544,-1093400894,-1118839498,-1131995140)+W(7,-1114789302,-1116552190,1043420320,-1118760834);sum2=W(0,-1095117458,1054995367,-1094509070,1049653051)+W(1,1018695699,-1101605993,1021265631,1052542945)+W(2,1042728281,1058124872,-1103662151,1050525055)+W(3,1044635344,-1104882803,1063131010,1046926465)+W(4,1049859565,-1097129382,-1102028885,1043452805)+W(5,1042944443,-1110047725,-1116537562,1029162962)+W(6,-1098619851,1051259496,-1111709279,-1109754017)+W(7,-1107003327,-1114867517,-1078653130,-1092457406);WS(-1089617919,-1078924764); +sum1=W(0,1054651431,1043170193,-1112517470,1038586191)+W(1,1032587193,-1121720345,-1101086846,-1087542485)+W(2,1058605998,1062049174,-1148410045,1021690773)+W(3,1034793549,-1139319682,-1087004528,-1088163691)+W(4,1056236357,1058401044,1037589846,-1123773533)+W(5,1040971627,1052009144,-1089711896,-1089020247)+W(6,1034515388,1056139353,1015916580,-1114886949)+W(7,1017461287,-1138694970,-1089662071,-1095006441);sum2=W(0,-1104791361,-1103309504,-1109901203,1041183203)+W(1,1040266660,-1124518657,1018299463,-1113641717)+W(2,-1109225788,1050748307,-1146453442,1047303939)+W(3,1039912380,-1107008276,1050538753,993644855)+W(4,1032462009,1055570013,1035308463,-1103370030)+W(5,-1094411631,-1087158984,1058013570,1024125183)+W(6,-1104507532,1050955773,-1129723226,-1107592095)+W(7,-1091454514,-1122733934,-1110543421,1044744090);WS(-1102088830,1068463311); +sum1=W(0,1054791531,1051084317,-1114291787,1007817678)+W(1,1034628887,-1130503387,-1097682087,-1088166471)+W(2,1059023407,1060487316,-1121377148,-1106493040)+W(3,1042839161,1025313797,-1087032009,-1087032011)+W(4,1053262386,1049438849,1037434082,-1120569345)+W(5,1040112167,-1112558866,-1104445288,-1090195409)+W(6,1043319351,1037267389,1048479966,-1121570543)+W(7,-1130274577,-1107488086,-1112047510,-1110294871);sum2=W(0,1046572938,-1092761370,-1078842502,-1092702026)+W(1,1023924734,-1134107544,1010298098,-1113806693)+W(2,1048469719,1050413401,-1075365553,-1073165872)+W(3,-1114438827,1017902665,1041503306,-1106037347)+W(4,-1110447061,-1104166524,1066341075,-1101579557)+W(5,1011674154,-1109271682,1033398310,1037192623)+W(6,-1123716833,1056626852,1076187261,1071992070)+W(7,1028552632,-1123830383,-1110743783,1031702363);WS(1050299903,-1120086405); +sum1=W(0,1015037916,1042953374,1051426245,1001761330)+W(1,1032160884,-1131440192,-1094503950,1045981578)+W(2,-1103780307,-1082933123,1050955122,-1097473350)+W(3,-1100940622,1056645367,-1099126616,1055197076)+W(4,1055455844,-1145769035,-1119699408,-1098718343)+W(5,-1095742542,1031622998,1049761702,-1118831961)+W(6,-1132909758,1039587926,-1107622229,1038117517)+W(7,1041481643,-1103124921,1047033256,-1105955296);sum2=W(0,-1100025935,1036668146,1004282338,1033493706)+W(1,-1131691420,1042472719,-1097774825,-1117747708)+W(2,1043333590,1058018229,1035721710,1032395114)+W(3,-1122758767,-1106477628,-1110236537,-1106149887)+W(4,1035348312,1040910383,-1094630455,-1138557465)+W(5,1046834331,-1101697584,1017216296,-1105971349)+W(6,1034465026,1044530527,-1102984389,1050323990)+W(7,1040100106,-1099114129,-1108832665,-1110352462);WS(1059761855,-1093333930); +sum1=W(0,1026403632,1045397583,-1114617627,-1114738580)+W(1,-1114933837,1044731740,-1109519752,-1105736123)+W(2,1028768699,1067649611,1053910378,-1102727321)+W(3,-1111636685,1058839312,-1090720496,-1092041414)+W(4,-1104323849,1042776267,-1107452471,-1094270689)+W(5,-1095377736,1034877772,-1103704317,-1112030179)+W(6,1036450873,1044075076,-1108958070,-1130455238)+W(7,1031929286,-1113359528,-1106063752,-1131764742);sum2=W(0,-1111931472,1032416705,-1102724392,1033753751)+W(1,1023732592,-1126463180,-1105246922,1037689465)+W(2,1029992729,1069568682,-1083668043,-1104466296)+W(3,-1118149766,-1106129378,-1090236396,1052475163)+W(4,-1114422988,-1133345747,-1130490520,1048180527)+W(5,1038071226,-1124715334,-1123788932,-1122305941)+W(6,1038116955,-1129834714,1029490699,-1103926430)+W(7,-1117123194,1029091180,-1122171294,-1127253836);WS(1058247519,1058950523); +sum1=W(0,-1088063023,-1093535488,1038957612,-1149972914)+W(1,1037155715,1026693813,1052729022,1055543086)+W(2,-1086741707,-1077128706,1008158544,1039970419)+W(3,1030719286,1032127358,1057693884,1058924163)+W(4,-1087332234,1032313207,1036144305,1041515382)+W(5,1000958261,-1112386573,1056531259,1060656868)+W(6,-1113848378,-1089306475,-1101573740,1048236362)+W(7,-1144612480,1039554949,1052006205,1049522521);sum2=W(0,1050553491,1004874497,-1128637884,1037957789)+W(1,1050994656,-1095571828,1058234547,-1089722328)+W(2,-1106433025,1058989771,1052981065,-1110859440)+W(3,1041665953,-1129708900,1052545864,-1098594890)+W(4,1058251934,-1076253449,-1090346288,1040710261)+W(5,-1111634443,1015279680,1032950959,-1106724054)+W(6,-1079150504,1073146781,-1092015484,-1107045102)+W(7,1053553553,-1088813426,993278274,1055215751);WS(-1079689312,1054955487); +sum1=W(0,-1094091800,-1099397203,1038847520,-1112827293)+W(1,1046408387,-1099233409,1057879171,1053343716)+W(2,-1102151838,-1086663035,1038138418,-1106748654)+W(3,-1154890390,1012875058,1057249493,1023820222)+W(4,-1087965823,-1095805620,1020226162,1035397268)+W(5,-1109124523,-1126965269,1053821069,1057985827)+W(6,-1098762192,-1096846716,-1108673687,1030022886)+W(7,1036334304,1027304762,1049463311,1051466543);sum2=W(0,-1118908362,-1110004947,-1110945783,1029906557)+W(1,1069116571,1067844910,-1081100797,-1075330978)+W(2,-1089040350,-1106443118,-1121400966,1046588193)+W(3,1066162938,1048795077,-1103643831,-1089891752)+W(4,1054044230,-1115139995,1040948990,-1106274145)+W(5,1049522444,1042365723,-1120742988,-1095873523)+W(6,-1112260837,1025987216,1030737726,-1114149785)+W(7,1011222152,1031208089,1017833328,-1107023588);WS(1045323518,-1099573370); +sum1=W(0,1054678847,1050638833,-1110296205,1043494028)+W(1,1041221965,1038272854,-1098183847,-1087400961)+W(2,1058657792,1062545342,1040205415,-1129034139)+W(3,1035507984,1038672050,-1082320511,-1085969705)+W(4,1053087270,1054717567,1037480760,1019451328)+W(5,1018934299,1028598065,-1090230188,-1092792902)+W(6,1044080591,1056118375,1019441962,-1144942569)+W(7,1032398451,-1135273190,-1090342307,-1094581114);sum2=W(0,-1100272494,-1113941052,1028786141,-1115726367)+W(1,-1095030133,1043410282,-1107020345,1026681555)+W(2,-1104186275,1042859033,-1097529180,1044450180)+W(3,-1120312046,-1093369648,1067055887,1044693748)+W(4,-1097402721,1051025911,-1105649332,1047479398)+W(5,-1083945294,-1073003592,1073649944,1064288021)+W(6,1025042835,-1139194229,1035799966,-1127420023)+W(7,-1079526678,-1086831079,1054550763,1067916626);WS(-1086660959,-1095040438); +sum1=W(0,-1101831491,-1108733164,-1103872010,-1137772688)+W(1,1026497863,-1112526127,1048734598,1047762270)+W(2,-1099393082,-1091611870,-1114303830,1033664792)+W(3,1036444877,-1105948909,1032897582,1053294440)+W(4,-1111668992,-1092153253,-1110960013,1043631948)+W(5,1045765800,-1102627253,1051790266,1054700448)+W(6,-1104258339,-1111896549,1004207675,-1112201312)+W(7,1030853145,1024477884,1042342295,1038982672);sum2=W(0,-1100773581,1019143260,1032860761,1047134358)+W(1,-1121016162,1027754828,-1097448906,1038575217)+W(2,-1086969962,1060822499,-1089859690,1058187056)+W(3,-1118814167,1047705700,-1092585260,1050436365)+W(4,1074524802,-1127402252,-1113017653,-1073724300)+W(5,992280012,-1115523910,1052022456,-1097001013)+W(6,986153015,1026902445,1005834992,-1123513506)+W(7,1026625966,-1115254226,1040058169,-1101541136);WS(1065625968,1033455989); +sum1=W(0,-1151616802,-1099349487,-1137040283,1037701789)+W(1,1035789757,-1106274637,1053320242,-1102944307)+W(2,1047711372,-1115632781,-1094784938,1000406064)+W(3,1048627484,-1098374228,1053161728,-1098462560)+W(4,-1088133648,1049293870,-1103592251,1050863995)+W(5,-1120581030,-1114622845,-1128175786,1049613697)+W(6,-1118922740,-1120882929,1038622703,1032127959)+W(7,1038993832,-1165953346,-1119810116,1017489163);sum2=W(0,-1099238508,1047962584,-1103116216,1035866397)+W(1,-1107491561,1027069673,-1105248240,1052038184)+W(2,-1082734190,-1088122523,1058384307,1059558286)+W(3,-1098068789,1053762892,-1091086098,1057669233)+W(4,1056069525,-1106560803,1042132369,-1096953271)+W(5,1064349048,-1107462772,1032403631,-1083280561)+W(6,1038442279,1028886015,-1128202268,-1111426470)+W(7,1040922744,1012204557,-1150402298,-1104452063);WS(1066439152,-1108830929); +sum1=W(0,1055608939,1051866141,-1108788820,-1102916748)+W(1,1013732302,1035488645,-1097938907,-1103898045)+W(2,1058768962,1030462560,-1099017414,-1097607254)+W(3,1043113957,1027216291,-1125603603,-1093577324)+W(4,-1113005110,-1109987210,-1109193920,-1168846782)+W(5,-1143171172,-1118580993,1050862423,1040477611)+W(6,-1109670205,-1105116142,-1106724277,-1128476473)+W(7,-1107320747,-1107171108,1053895221,1039038758);sum2=W(0,1051409035,-1107944278,1051922636,1050905005)+W(1,-1099079861,1035659117,-1131839644,-1123874142)+W(2,1040207956,1060123319,1005525738,1052154527)+W(3,-1109355656,1029590720,1046139234,-1100926997)+W(4,1032045878,-1096175996,-1094205878,1024591478)+W(5,1032543174,1044310065,1039675350,-1113252250)+W(6,-1086096303,-1081193369,-1105421569,-1094330307)+W(7,-1129395200,1042520685,1062516858,-1128729660);WS(-1094347903,1040885342); +sum1=W(0,-1119901274,1047615033,-1097151811,1027015666)+W(1,-1145327523,-1096635113,1051228067,-1109404651)+W(2,-1115052947,1051587896,-1106442815,1050782150)+W(3,1048638245,-1105180361,-1096200649,-1096976391)+W(4,-1105704339,1046407197,-1091810963,1051184308)+W(5,1051518582,-1092825760,1040585575,-1126487153)+W(6,1009768300,-1122889273,1042242605,1034433919)+W(7,1038762547,1040013733,-1108464678,-1132445914);sum2=W(0,-1124056141,-1109805410,1031829824,-1121205117)+W(1,1026565438,1029970286,1007706034,-1106581817)+W(2,1045427632,1059020251,-1090390675,-1105324964)+W(3,1047283254,-1089850616,1057752640,1046732003)+W(4,-1107061510,-1118368537,1018005966,-1110420773)+W(5,1031976810,1036394258,-1103994134,-1101115525)+W(6,-1115675784,-1113920834,1032068637,-1113281242)+W(7,-1112565336,-1145818031,1042522746,1036673543);WS(1066366016,-1121083386); +sum1=W(0,1026624689,-1114017662,-1122305754,-1127500850)+W(1,-1127181143,1035730049,1052467062,1013565235)+W(2,-1088657475,-1098749979,-1104671484,1025706181)+W(3,1045310349,1026340635,1066224034,-1121688536)+W(4,-1085705014,1037547214,-1111488580,1043832110)+W(5,-1121566277,-1127673329,1041900405,-1112016562)+W(6,-1112264441,-1105147876,1015742169,-1123271764)+W(7,998683632,-1132045794,1022047173,1043675185);sum2=W(0,1043023116,-1093545812,1044058166,-1102951634)+W(1,1035018995,-1112978123,1058451408,-1104735391)+W(2,-1093647750,1070997171,-1091261805,1037657608)+W(3,1043811519,1052846459,-1105620254,-1104370519)+W(4,-1082044166,1051593249,-1106029228,1057746121)+W(5,-1097428497,-1127092852,-1096225251,-1091103100)+W(6,-1100798567,1013819138,-1119100020,1006392595)+W(7,-1107453736,1041369362,-1121077487,1052307063);WS(1059191103,1030618557); +sum1=W(0,1032351793,1049973094,1053678608,1034200101)+W(1,-1148363237,1026486548,-1098031908,-1100440271)+W(2,1058794603,1053292689,1047695489,-1114145283)+W(3,-1194991971,1043453347,-1078695803,-1087452589)+W(4,1055818163,1053263444,-1137634576,-1114663316)+W(5,1033675947,966472909,-1094543429,-1125225546)+W(6,1041016873,1043320696,-1138534517,-1125278731)+W(7,-1115520783,-1119664758,-1104858229,-1116533557);sum2=W(0,-1095812325,-1094113031,-1072453458,1021496216)+W(1,1031503244,1023122856,-1112299630,-1116672596)+W(2,1068683999,1074699170,1063841069,-1079530578)+W(3,1036078566,1036242384,-1126165044,-1135088113)+W(4,1043477830,1031880682,1042172731,-1095958945)+W(5,-1100441243,1009915385,-1119142347,-1107446259)+W(6,-1121439437,-1115200049,-1132334880,1015153576)+W(7,-1114450875,1017712520,1034903618,1037216194);WS(-1096433855,1052342409); +sum1=W(0,1042163431,-1095385709,1041070378,-1117693364)+W(1,-1113444755,1049542464,1034697390,1006023611)+W(2,1060080198,-1090036408,1052133240,-1105417036)+W(3,-1112382959,1048891757,-1085473397,-1109633387)+W(4,-1090327769,1043184694,-1123398616,1042648272)+W(5,-1111238376,-1106505885,-1105658040,1057448056)+W(6,-1111854479,1043408999,-1105041790,1044512510)+W(7,1049508979,-1110665802,1041051171,-1104977148);sum2=W(0,1043188759,-1082984200,-1119373866,1039259027)+W(1,-1113326246,1045229872,-1105050294,-1165551167)+W(2,-1077733706,1067327309,1052826002,-1086821333)+W(3,-1109909290,1052700624,1068967257,-1103802686)+W(4,-1149070344,1052358305,1036052293,-1117342490)+W(5,-1098764713,-1099183932,-1101813629,1054626023)+W(6,-1102382047,1050777563,-1101694007,1037381955)+W(7,1052205497,-1096821402,-1106555317,-1103461210);WS(1046655614,1069864308); +sum1=W(0,-1106200785,1031319761,1040943483,1035633391)+W(1,1050507575,1034433460,1026979270,-1105260712)+W(2,-1120751363,-1093886310,1043913370,1045417382)+W(3,1045765948,1041581532,-1121044950,-1106053451)+W(4,-1098821847,-1088130094,1047844019,1050212129)+W(5,1029812249,1017929306,1049054225,1042106970)+W(6,-1092291401,-1082722808,1043891960,1039058852)+W(7,1028938706,1034869942,1042598038,1041620790);sum2=W(0,-1082465618,-1084472150,-1101136548,-1098805029)+W(1,1045866690,1039888035,-1108050411,1017798412)+W(2,-1085764460,-1140347496,-1097728468,-1094351375)+W(3,1027046574,1038111290,1053843229,1031330790)+W(4,-1100091144,1049328541,1049713965,1040878916)+W(5,-1100094208,-1104239104,986797508,1043199898)+W(6,1062808960,1071144827,1058810464,1037060075)+W(7,-1098800085,1017716576,-1097822096,-1119994130);WS(-1077527440,1065234224); +sum1=W(0,-1088676934,-1098001853,1014606833,1031059492)+W(1,-1159469258,1001612013,1051162632,1055802445)+W(2,-1087241405,-1083911392,1031584061,1041495444)+W(3,-1109463457,-1105280809,1061276187,1059501583)+W(4,-1095088526,-1096536807,-1140389945,-1143158030)+W(5,1038556792,986827883,1049527800,1050088278)+W(6,-1104484775,-1100223239,1013235228,1035424519)+W(7,1030875577,1047418837,1037087943,1042937212);sum2=W(0,1019217071,-1098369589,1006719462,1026928347)+W(1,-1112677997,-1146387796,-1099640354,1027288437)+W(2,1041304779,-1134457784,1043604137,-1103317527)+W(3,-1072403340,-1071428003,-1112266437,1050941648)+W(4,1048134757,-1118427047,1034526167,-1106627965)+W(5,-1082446250,1059493547,1040843010,1027462477)+W(6,1029994729,-1113504087,-1134258967,-1117999031)+W(7,1072461191,1077848621,1054764710,-1104465031);WS(1034219259,-1130863201); +sum1=W(0,1036468120,1031973022,-1125729883,-1122470601)+W(1,-1104067775,-1112351746,-1125640547,1033355302)+W(2,1045421587,1062931954,-1092963050,-1119868741)+W(3,-1106594245,-1094830635,1044707408,-1122038588)+W(4,1062738826,1050208654,1017182198,-1102984950)+W(5,-1127079049,-1109997276,-1106320445,-1104269382)+W(6,990945063,1023027040,-1116589116,-1107264969)+W(7,-1112571199,-1117279521,-1098846428,-1110744610);sum2=W(0,1041156572,1029144962,999703935,-1120041672)+W(1,1036471018,-1107170022,1036670980,-1103868400)+W(2,1037796455,1046556501,1041627711,-1109032994)+W(3,-1115113192,1029249656,1059414852,1043292537)+W(4,1060385029,1040466231,1029813110,-1111815622)+W(5,-1126242312,1043143286,-1105513272,1048639871)+W(6,-1103822492,-1076222058,-1114401610,-1110751572)+W(7,-1101226736,1034327293,1043280503,-1100107078);WS(-1097041087,-1081891922); +sum1=W(0,-1097075376,-1091271089,1042240134,1045201037)+W(1,-1115394372,-1097795722,1049467348,-1126257330)+W(2,-1094847921,1059654550,1039927583,1049780286)+W(3,-1097045891,-1103383438,-1141428591,1057610047)+W(4,1056430510,1057233913,-1110484942,-1122695635)+W(5,1036098616,1033721138,-1087958744,-1089703504)+W(6,1041827328,1050554535,1039840796,-1117417409)+W(7,1035539581,-1131932502,-1096159486,-1096746586);sum2=W(0,1052214657,1042508745,-1101224821,1012982255)+W(1,1032353073,1020863779,-1093748656,-1136022111)+W(2,1042044290,1071547407,-1116588919,-1109376974)+W(3,-1113516472,1040242686,1065241977,1045672838)+W(4,-1089469015,-1090264503,-1092858264,-1096183361)+W(5,-1120964187,-1103746594,1047260540,1049249478)+W(6,1039700797,-1083767147,-1119652925,-1090462581)+W(7,-1100885683,1028764718,-1107087862,1046964814);WS(-1088621983,1079497913); +sum1=W(0,1052712773,1051824794,-1102075462,1027161409)+W(1,-1100368317,1021667349,-1098602113,-1102058289)+W(2,1057942154,1060662493,-1109063205,-1120075900)+W(3,-1106147487,1039175801,-1082645434,-1096292664)+W(4,1062931830,1057800198,-1136555883,-1104005172)+W(5,-1129475640,1036809656,-1090185155,-1090788424)+W(6,1047971474,1059753504,1033292370,-1112015962)+W(7,1009161622,-1143403778,-1088742454,-1098101583);sum2=W(0,-1095235693,-1115238312,-1114056841,-1150684740)+W(1,1035589955,-1108218072,-1127339724,1044985054)+W(2,-1080604054,-1071093346,1034698244,-1164208415)+W(3,1022130402,-1106288272,-1080554397,-1106549807)+W(4,-1083926997,1068501149,1043895716,-1134574697)+W(5,1024268734,1036117000,1052487431,-1104923511)+W(6,1079699126,1056576712,1050191679,-1101980686)+W(7,-1130803558,1031345667,1029700329,1054997905);WS(-1087955103,1023517655); +sum1=W(0,-1090071677,-1103425461,1037773274,-1106663590)+W(1,1013889298,-1100022495,1055773525,1062902614)+W(2,-1089596734,-1082614473,1022742037,-1116651838)+W(3,-1101161913,1030094516,1060267482,1059014377)+W(4,-1088542372,-1092404165,-1117813952,1040438284)+W(5,-1120043085,-1116951793,1054561254,1057943128)+W(6,-1100716355,-1098396937,-1102318801,1032561623)+W(7,1035114019,1026546470,1049819671,1051603940);sum2=W(0,-1094858135,1061839668,1032757863,-1107653444)+W(1,-1065438414,-1069856939,1074196920,1084595456)+W(2,1049735190,-1123088190,1037010009,-1150202006)+W(3,-1073375528,-1082206819,1070729644,1067688119)+W(4,-1089824138,-1098358767,1041748319,1026258576)+W(5,-1086758222,-1097734258,1057889952,1050587980)+W(6,1049699018,-1103776938,-1112646994,-1131622502)+W(7,-1106404220,-1098587943,1048602984,-1127981435);WS(-1089607615,1063931357); +sum1=W(0,-1089422721,-1099513696,1033042784,-1156148665)+W(1,1041177357,-1107985659,1053472432,1059281720)+W(2,-1086976804,-1083936660,-1117005684,1027235975)+W(3,-1122980350,-1103260375,1061258678,1060428066)+W(4,-1089259880,-1092850238,-1112863441,1045226606)+W(5,-1111710595,-1109580750,1057981025,1055780369)+W(6,-1096473171,-1096124078,-1102751384,1040283212)+W(7,-1125267169,1035448166,1054893029,1051704489);sum2=W(0,1074606150,1048614297,1037699935,1024298597)+W(1,1030125639,-1121834510,1047271097,1080820206)+W(2,-1085515118,-1071672142,-1094400051,1030404477)+W(3,-1166463196,-1101580999,-1066721483,-1079656120)+W(4,-1091215560,-1095087497,1024136176,1052543759)+W(5,1028051862,1009399200,-1096732136,-1078287609)+W(6,1050441058,1071366890,-1102232478,-1159281410)+W(7,-1117118368,-1113696211,1074685383,1057126689);WS(-1083901183,1060981851); +sum1=W(0,1048978486,-1107896957,1039492049,-1106299749)+W(1,-1121286832,1049662006,-1115539879,1016862419)+W(2,-1119192025,-1090009641,1055856482,-1113140273)+W(3,-1106196840,-1149152444,1058119768,-1098481927)+W(4,-1088174932,1034759564,-1108369378,-1103186821)+W(5,-1101797848,-1146708651,1048477348,1052019064)+W(6,1008970428,1027686380,-1127954738,-1115937041)+W(7,1024756171,-1111878699,1044214632,1034559233);sum2=W(0,-1130369060,1056034410,-1110488253,1030335348)+W(1,1006653296,-1094310491,1040331307,-1106797797)+W(2,-1097486091,-1094958491,1042224202,-1096373435)+W(3,-1113782011,1042512890,-1106971469,1063611375)+W(4,1057631708,-1114209587,-1117770266,1038378538)+W(5,-1140559356,-1114686161,1037075531,-1093142933)+W(6,-1105273765,-1115537765,-1168276161,1036930446)+W(7,-1115373149,1026640233,1025218793,-1115233817);WS(1063762143,-1098158381); +sum1=W(0,-1106988831,1049655577,-1113176415,1027555010)+W(1,1033567284,-1099137927,1032851437,1031921883)+W(2,-1089572014,1041189880,-1094480963,1044835884)+W(3,1052671923,-1101762329,1057311541,-1106152127)+W(4,1035602487,-1095655321,1038186408,1042205032)+W(5,-1106014811,1044902280,1046700975,-1100163979)+W(6,995617211,-1102946366,1041241393,-1112247611)+W(7,-1094051821,1044480349,-1119959180,1050763922);sum2=W(0,1040615985,1037755544,-1108274646,1010916279)+W(1,-1126424725,-1119616718,1053142923,-1103581164)+W(2,-1107213139,-1085933104,1049469526,-1108043460)+W(3,1062997316,1050086980,-1093682556,-1091384808)+W(4,-1098201753,1027381238,-1097521196,1061284555)+W(5,1044548392,-1099920539,1044225612,-1095835641)+W(6,1007266289,1039340208,-1106103943,1047936551)+W(7,1043928239,-1120667237,1011948943,-1101597200);WS(1060336095,-1119657045); +sum1=W(0,1048279897,1044311660,-1117126579,1023788715)+W(1,-1110161279,-1136931731,-1096869700,-1106238784)+W(2,1062204714,1060724749,1022815367,-1108875843)+W(3,-1115905233,1034904806,-1081389759,1019770348)+W(4,1063043033,1050929706,1043213137,-1100562722)+W(5,-1124661292,1017832853,-1097593661,-1084472996)+W(6,1037241746,1051192212,-1142747249,-1111482971)+W(7,-1109716592,-1109353889,-1102133781,-1106654286);sum2=W(0,1009247708,-1126560341,-1103288529,1036664563)+W(1,1035577258,1008412166,-1102369678,1013790140)+W(2,-1067246446,1067728497,1057556566,-1102134383)+W(3,1016094574,1045655865,-1093152080,1047852878)+W(4,1078180911,-1085231458,1031668335,-1099512639)+W(5,-1123477495,1023608957,1042704555,-1110504691)+W(6,1047956293,-1114058193,1028018661,-1103860103)+W(7,-1112760821,-1120624893,1030531898,-1132621098);WS(1035518203,1045613832); +sum1=W(0,1057279232,1043513429,-1096085823,1044215468)+W(1,1042423606,-1098498663,-1096451901,-1097478568)+W(2,1057361220,1061539183,1007706274,-1102751483)+W(3,1012832112,1054368634,-1085528932,-1091716958)+W(4,1057962612,1058710773,1051305356,-1098118842)+W(5,-1103819295,1057808613,-1091718961,-1093017477)+W(6,1037420261,1053125757,-1106455273,-1096250919)+W(7,-1100568821,-1111733504,-1097230063,-1100741095);sum2=W(0,1058997495,-1084246791,1050542737,-1105709018)+W(1,1022365788,-1101303092,1065459234,-1086433444)+W(2,-1103685622,-1106510960,1027983028,-1106108137)+W(3,1040995532,1044759128,-1102412567,1055198365)+W(4,-1089515541,1066680974,-1091042532,1053295819)+W(5,-1104466949,1043286350,-1080963495,1057925132)+W(6,-1088412186,1037143386,-1108416827,1049054259)+W(7,-1096360229,-1106131860,1049505110,1056230430);WS(-1103921662,1072713673); +sum1=W(0,-1111681022,-1104528338,-1130675027,1042712209)+W(1,-1123292759,-1124533373,1032835743,1029885560)+W(2,-1103688784,1055222237,-1108819823,1041149044)+W(3,-1101763282,-1143773237,-1089836355,1053127408)+W(4,1063848575,1053207587,-1102885798,-1099465033)+W(5,1044926036,1032528402,-1090841456,-1089832742)+W(6,1051374172,1044600823,-1122152216,-1108891552)+W(7,1040294582,1018003689,-1101098252,-1098121506);sum2=W(0,1017580326,1031996320,1032691193,-1116466906)+W(1,1018640494,1067424527,1045143645,-1100144980)+W(2,1040673767,-1121084452,-1134651946,-1110682367)+W(3,1071822180,1057195246,-1112456349,1055366708)+W(4,1012141662,-1123645954,1020309206,1019799157)+W(5,-1078565795,-1073530916,1036705771,1037079065)+W(6,-1125118807,1005021204,-1118897648,1028255175)+W(7,-1087156462,1033125682,1021253254,-1112096331);WS(1054959295,1011151216); +sum1=W(0,1043778462,-1104732576,1028540695,-1124554365)+W(1,-1103855992,-1113072532,-1111020475,-1140499785)+W(2,1063706911,1052343180,-1135601758,-1107828893)+W(3,-1121738665,1048654720,-1081762405,-1098481604)+W(4,1050410381,-1128754020,1032466990,-1135515507)+W(5,-1096321673,1012954617,-1112972157,1053053447)+W(6,1034222620,1043960229,950109203,-1110097877)+W(7,-1110289546,-1114439871,-1120112616,1023071124);sum2=W(0,1047456971,-1094867354,1047690020,-1104841432)+W(1,991739097,-1129013032,1033457856,1024424907)+W(2,1068880529,1065412328,-1086552004,-1084375561)+W(3,-1103560341,1059009805,-1087761187,1046341732)+W(4,-1080289298,-1110380578,1025710892,1046416693)+W(5,-1098849357,1045332030,-1103331799,1062384539)+W(6,-1105039836,1016290713,-1113936449,-1130856953)+W(7,-1104241974,1019994493,-1126452938,1024509174);WS(1061669311,1066543312); +sum1=W(0,-1097490380,1051889621,-1111872182,-1120030840)+W(1,1026361650,-1112085217,-1110528784,1038501126)+W(2,-1085299564,1043197314,-1109640224,1046388965)+W(3,1019064063,-1116217609,1054292822,1050043436)+W(4,-1099578605,-1114905437,-1104742312,1051640445)+W(5,1045441021,-1097066005,1056051928,-1095700775)+W(6,1033952272,-1095793020,1018742870,1040612129)+W(7,-1146667493,1039394788,1044337364,-1108619674);sum2=W(0,-1098300344,-1147221163,1040922446,1041249103)+W(1,-1123648820,-1115292810,1014590689,1041141085)+W(2,-1097103704,1055827658,-1133026152,1047169006)+W(3,1021735499,1023898168,1056443342,-1094689158)+W(4,-1082349433,-1105225178,-1121038685,1045305983)+W(5,-1153021086,1038130213,1035590360,1051958562)+W(6,1036618956,-1102095468,986169209,1032067159)+W(7,1035045284,1030074795,-1145857885,-1098250629);WS(1066007616,1040865170); +sum1=W(0,-1154003525,1038441464,-1106398093,1016703369)+W(1,-1111826720,-1146451379,1031083397,-1104662792)+W(2,-1112021256,1050813825,-1096325697,-1114560988)+W(3,-1102003526,-1102172436,1061249791,1052887594)+W(4,1059033474,-1108543232,1023023221,-1094335779)+W(5,-1104413998,-1109007926,-1106571274,-1126656183)+W(6,1040892233,1034570898,1022983872,-1113231876)+W(7,-1112600993,-1123919488,-1115038347,-1121820472);sum2=W(0,-1109314178,-1103775527,1036640719,-1117895883)+W(1,1029963629,-1117061975,1047073701,1043196819)+W(2,-1079308608,-1088245301,-1109277526,-1092695525)+W(3,1053147047,-1113344034,1071134194,1032498235)+W(4,1032194306,1058556412,-1102073467,1054484712)+W(5,1027577620,-1104158962,-1102222667,-1098274857)+W(6,-1097777200,1049638324,-1115714917,1047716642)+W(7,1019489703,-1106961770,-1109885254,1028797614);WS(-1112959995,-1090797387); +sum1=W(0,-1107113888,-1157171375,-1102515009,998546749)+W(1,1034524319,-1109045169,1043372984,1042251615)+W(2,-1095395659,-1088418302,1024148768,1018649191)+W(3,1025715818,-1107024218,1049085946,1057847906)+W(4,-1108499994,-1092700079,991750171,1036601843)+W(5,1036766314,-1102346050,1052242560,1054314562)+W(6,-1100812608,-1106951576,1024106779,-1134314668)+W(7,1041369791,-1136260253,1043704436,1010001228);sum2=W(0,1045091130,1024736081,1000463738,-1097076796)+W(1,1016501386,-1122385083,1040206702,1028367411)+W(2,1064625577,-1096201033,1064100942,-1083533587)+W(3,-1104146558,1050125885,-1086258418,-1112850496)+W(4,-1071550159,-1106033160,1043707697,1074997490)+W(5,-1105686824,1041978517,-1098690685,1052069491)+W(6,-1118548401,-1111712908,-1152835380,1028507309)+W(7,-1109567340,1032203802,-1113053149,1050202273);WS(1065286463,-1155116140); +sum1=W(0,-1099417962,-1091060822,1036265535,-1127743664)+W(1,1035108393,-1121911642,1038987540,1047837241)+W(2,-1088882712,-1089265061,-1121018025,-1118137852)+W(3,-1119901843,-1100290432,1069311516,1061626690)+W(4,-1088513194,-1090887512,1028265374,1024160014)+W(5,-1101311755,980641778,1051214117,1053957977)+W(6,-1097685517,-1096201501,-1116217572,1031461691)+W(7,1030945477,1036102670,1045642342,1050330231);sum2=W(0,-1104287950,-1098771138,1054178647,1023964675)+W(1,-1107378538,-1107123343,-1106164282,-1095527688)+W(2,1030951671,1062304002,-1088748842,-1104607531)+W(3,-1102317974,-1093097006,1069791349,1049293814)+W(4,1056993385,-1095484784,1027793575,1034720649)+W(5,-1107155572,-1104614583,-1093744890,-1106129898)+W(6,-1103591056,-1115722179,1048440611,1026748348)+W(7,-1111048704,1036145149,-1102843948,1040804508);WS(-1107864827,-1106183398); +sum1=W(0,1028246417,-1105288567,1032383543,-1106667222)+W(1,-1094330385,-1113355593,1048732230,1062610107)+W(2,1024277645,1031807228,-1105126732,-1104095901)+W(3,-1100412503,-1110531197,-1097352540,1033194034)+W(4,1024663749,1059042594,-1099092218,-1119082647)+W(5,-1106817153,-1119219065,-1097841594,1042072353)+W(6,1038514313,1061247795,-1100466619,-1106477481)+W(7,-1116226478,-1112377140,-1116357250,-1132497297);sum2=W(0,1049202878,1029365940,-1107748661,-1124057659)+W(1,1043135164,-1120955446,1040631102,1055877653)+W(2,-1100669682,-1090514146,-1106278570,-1106641450)+W(3,1048773070,-1096084011,-1097531540,-1121942624)+W(4,1050790854,-1101749265,1045306633,-1115427744)+W(5,1040842880,-1101432694,1044511371,-1095195500)+W(6,1044664667,1051259000,1044220643,-1107251222)+W(7,-1108344435,-1156279482,1035140356,-1123742683);WS(-1107710971,-1103335008); +sum1=W(0,1057965326,1052789750,-1097452822,1020774038)+W(1,-1108312647,1007270548,-1097416740,-1096736580)+W(2,1061528673,1059882105,-1142400543,-1103681302)+W(3,1008435167,1032878150,-1082070814,-1090723228)+W(4,1058381533,1052101646,1035627390,-1130541650)+W(5,1024150455,1029066731,-1092903493,-1096313647)+W(6,1047827121,1048909172,1026933710,1026485526)+W(7,1024752368,-1129872006,-1094072619,-1095953623);sum2=W(0,1051358993,1056674994,-1096592719,-1091198687)+W(1,1036983987,-1112372364,-1102658445,1026242284)+W(2,1050253089,1057806550,1017819408,-1088722291)+W(3,-1109827680,1033031265,1048044980,1039492851)+W(4,-1098514434,-1095745001,1047280108,-1104841225)+W(5,-1106004699,-1128936304,-1114927114,1047848116)+W(6,-1121773836,-1101840089,1046210234,-1133964792)+W(7,1044703642,-1121859563,-1115459009,1009730080);WS(1046617982,-1079283690); +sum1=W(0,-1103103206,1005568807,-1112371935,-1112235521)+W(1,1031782004,-1112406582,1053710959,1050398983)+W(2,-1082068590,1053438832,-1114138877,1046025067)+W(3,-1109731202,-1120370051,1056782757,1059470764)+W(4,1050481934,-1113851306,-1106636112,-1100106092)+W(5,1047048563,-1114617505,1044662919,-1084354719)+W(6,-1101804759,-1101795702,-1134743124,1006684852)+W(7,-1122334215,1035089325,1040488963,1028720557);sum2=W(0,-1114190125,-1107057915,1041752924,-1123583696)+W(1,1035265901,1011193218,-1108427412,-1123424510)+W(2,1054169171,1066165326,1045050816,-1096033091)+W(3,-1097576107,1037309084,1060681517,-1101097272)+W(4,-1090934807,-1094482563,1044170848,-1111810372)+W(5,-1094306097,1047478278,-1094742214,-1093738003)+W(6,1030376713,-1140242036,-1107148363,1035342189)+W(7,999245333,-1118953940,1046835784,-1122528198);WS(1057107647,-1115492411); +sum1=W(0,1037909322,1044219192,1017716083,1043432615)+W(1,1042270260,1036944691,-1094557923,-1092726398)+W(2,1059480955,1055275264,1034158091,-1115224236)+W(3,1049175094,1036017407,-1079486955,-1089724826)+W(4,1062186253,1051479740,1040917102,1031606075)+W(5,-1112299996,1012181234,-1090199321,-1094016652)+W(6,1036604907,1049031914,1006053250,-1119339928)+W(7,1026270626,-1106538704,-1124163213,-1111430132);sum2=W(0,1037675363,1041358579,-1107779390,1018646782)+W(1,-1095820604,-1106961783,-1114299594,1056993548)+W(2,-1103110037,1063077105,-1094766117,1048577488)+W(3,-1113810892,-1094104293,1069120744,-1108103869)+W(4,-1094239344,-1097294293,-1115207772,1029078775)+W(5,-1100654825,1030620215,-1090842684,1019393926)+W(6,-1106609062,1005749079,-1134027235,1041354677)+W(7,1015746998,1031888221,-1111892981,-1103795001);WS(1038408187,-1104646224); +sum1=W(0,1031841147,-1095811512,1032659338,-1100666444)+W(1,-1121385297,-1115316924,1046356758,1045835257)+W(2,1046629869,-1086582314,1050254507,-1096791479)+W(3,-1109718991,1043876936,1049546009,1055310447)+W(4,-1092033141,-1095590162,1034716030,-1125163769)+W(5,-1115882186,1051195252,1032941357,1059064223)+W(6,1012740704,-1097384267,1024265746,-1104041563)+W(7,-1110386378,-1121465454,1043234370,1016606100);sum2=W(0,1033178697,1013274853,1034495435,1033146053)+W(1,-1107600367,1046600596,-1103797816,-1110558215)+W(2,1044565157,-1083473003,1015618236,1033891153)+W(3,-1096372667,1071496075,-1075035519,-1074394842)+W(4,1047899954,1033829854,1026402836,-1102272365)+W(5,1070598351,-1103057086,-1107786181,1070896015)+W(6,1026659107,-1129244632,-1130670616,-1126192412)+W(7,-1099451771,-1106841766,1033633210,1039466503);WS(1060540543,-1145107984); +sum1=W(0,-1111708420,-1115158282,1033700674,1016949312)+W(1,-1110878953,1034636061,1037057540,999025948)+W(2,-1112773425,-1105627788,1050394829,1008485935)+W(3,1006219749,1047777444,-1105528438,-1111113150)+W(4,-1166436080,1049090616,1027755062,1025975118)+W(5,1034379342,1023310559,-1097657169,-1092533512)+W(6,-1131929874,1027903943,1036625882,-1166944971)+W(7,1042471825,1029991232,-1104970374,-1125616567);sum2=W(0,1028528033,1047913039,1041061913,-1112727972)+W(1,1039139414,-1090975722,-1120606988,1050127712)+W(2,1058299937,-1088725965,1049192765,1030171918)+W(3,-1096898908,1056682084,1051042420,-1075312291)+W(4,1006741474,1028842331,-1108991614,-1097932217)+W(5,1043329296,-1136718330,-1120436768,1061621025)+W(6,-1119404040,1019613109,-1128975721,-1128255593)+W(7,1019658885,1017746289,1038145345,1041035795);WS(1058512095,1047466767); +sum1=W(0,-1102753041,1015664161,1032743763,1025672397)+W(1,1037433000,1033220516,1032570339,1037445664)+W(2,-1102686879,-1099087483,1040236986,1046625694)+W(3,1035056566,1024398415,-1089271035,-1091026739)+W(4,-1097904327,-1097334084,1042422310,1041791363)+W(5,1043847942,1042353123,1051389809,-1100626131)+W(6,-1123206279,-1096407969,1034505416,1024317081)+W(7,1037697617,1047698739,1050962859,1041773046);sum2=W(0,-1097429792,1040318944,-1113457231,-1111694157)+W(1,-1115035673,-1108486657,-1131566802,1052756319)+W(2,-1109123041,-1087577139,-1110494513,1007020677)+W(3,1057627634,1052796029,1071158756,1066240251)+W(4,-1115766281,1033854974,1042151096,1036239980)+W(5,1037312144,1031946717,-1085216854,1055974927)+W(6,1056323633,1058473731,1038268008,1014804229)+W(7,-1107413695,-1088208012,-1078122726,-1076147337);WS(-1087119871,1051442968); +sum1=W(0,-1101188351,-1102133666,1026199466,-1106951233)+W(1,-1118371512,1024298399,1046522759,1055191809)+W(2,-1096477343,-1081083296,1034911407,-1111827529)+W(3,-1102462991,-1118895495,1062137809,1061746551)+W(4,-1093686286,-1089794286,1036906330,-1110066258)+W(5,-1105243164,1028468933,1061657374,1056808794)+W(6,-1102503648,-1096524016,-1123695161,-1121489041)+W(7,1001909715,1039027467,1043754020,1025414769);sum2=W(0,-1111568121,1023613585,-1136414534,1036012528)+W(1,1019317279,-1141870971,1037328619,-1125130883)+W(2,1046290638,-1086518431,1018170307,1028357901)+W(3,-1105362146,1041918725,-1068062671,-1077265349)+W(4,1032866656,1040198779,-1115554829,996800246)+W(5,1040576139,-1110577355,1057186482,1083861052)+W(6,-1115393969,1031067220,-1128152611,1018408279)+W(7,1032099345,-1109411807,1024816461,-1101393956);WS(1041081598,-1101063046); +sum1=W(0,-1123374599,1048894326,-1105628103,1038662072)+W(1,-1104056554,1009505700,-1098151405,1035193857)+W(2,1044003395,1062900743,-1112508084,1046838359)+W(3,-1107771451,1039692648,-1082115704,-1109376817)+W(4,1058339600,1041428913,1047812813,-1112561351)+W(5,1049374543,-1126547869,-1097118497,-1087104856)+W(6,1044355834,1013224727,1045311157,-1106996345)+W(7,1037690530,-1121969199,-1110120844,-1098603955);sum2=W(0,-1102665080,1066739686,-1110454828,1034938637)+W(1,-1096043986,1050111041,1057500561,-1083931487)+W(2,1063593500,-1072571644,-1094841314,1044300205)+W(3,1057117236,-1094917255,-1073076170,1069787057)+W(4,1050585763,1033188794,-1123904781,1049263704)+W(5,992791419,-1119131193,1049962317,1057940110)+W(6,1040935597,992411043,1018550156,1032882093)+W(7,-1129197337,-1139242755,1032437745,-1103057884);WS(1047493374,1019974383); +sum1=W(0,1024992878,1056719767,1022499782,1039818779)+W(1,-1119405261,1017537921,-1093967742,-1099980259)+W(2,1056992349,1066523241,-1128872350,-1111466513)+W(3,-1134657044,1032226588,-1081677329,-1089692488)+W(4,1057279594,1050310409,1027318580,-1102282821)+W(5,-1110606353,1029746358,-1095763174,-1104336096)+W(6,1043633508,1050332018,-1121442618,-1112367361)+W(7,-1105211995,-1109613299,-1103201160,-1147598863);sum2=W(0,-1099927212,1048105027,1024006001,-1109381660)+W(1,1013674604,-1113331152,1031703418,1032613200)+W(2,1083214625,-1068785948,1030946168,1048332575)+W(3,1010546556,-1137462284,-1082836395,1051352300)+W(4,-1080184440,-1125303858,-1115660792,-1111460550)+W(5,1033485356,1034637753,1027323348,1047472657)+W(6,-1129923962,972536438,-1125113546,1027780517)+W(7,-1112671380,1033990282,-1123338357,1006215943);WS(1049191295,1026054180); +sum1=W(0,-1104530451,1045418990,-1114491642,1015431080)+W(1,1041795830,-1107859847,-1105318659,-1120791464)+W(2,-1091806904,-1092275830,1052544606,-1106844240)+W(3,1035107546,1050727987,-1096734436,1059085476)+W(4,1032037152,-1091613549,1006821496,-1101337172)+W(5,-1098252244,1024892180,1054997266,1055073816)+W(6,-1136631349,-1104046587,-1107367092,1048579163)+W(7,-1114835508,-1107321874,1054027444,-1117752159);sum2=W(0,1045033945,1052123052,-1099170713,1026733028)+W(1,1045459634,1045732660,-1100795787,1006278578)+W(2,1011374557,1034116255,-1119731112,-1116840904)+W(3,1036547859,1049735621,-1093051584,-1137517037)+W(4,1042679995,-1103542762,1023766170,-1105853851)+W(5,-1115758581,1012804929,1030006514,1032967726)+W(6,1002727514,-1116987471,-1110446049,-1109160117)+W(7,-1107202197,-1108882618,1032206215,1010971477);WS(1061349183,1052960956); +sum1=W(0,-1091852750,-1098630008,-1138324169,-1129777715)+W(1,1028688348,1001458973,1050117038,1051531432)+W(2,-1086948121,-1087783598,-1113069161,1040354025)+W(3,1026112190,-1101543047,1063142264,1058780391)+W(4,-1090578505,-1098392878,-1148679486,1026875928)+W(5,1001807913,-1107707133,1055753851,1054898923)+W(6,-1105317245,-1113156712,-1099366619,1026350741)+W(7,1009551482,1035358529,1049214940,1035239971);sum2=W(0,1016786912,-1111442214,-1114101658,1030464194)+W(1,-1112870762,1035127660,1036708968,-1124271380)+W(2,1040962599,1052649879,1076423743,1031167290)+W(3,-1119263136,1030450749,-1106763968,-1145350210)+W(4,1059016603,-1109148248,-1122765276,1075592137)+W(5,-1114823676,1030453841,-1102467968,1036666460)+W(6,1031660172,-1093716078,-1067763317,-1073082101)+W(7,-1120712732,1004437586,-1123536642,1040647493);WS(1049240575,1032641532); +sum1=W(0,1058635434,1033988870,-1105480706,1013730783)+W(1,-1112522509,-1114702617,-1101342144,-1096215015)+W(2,1060052265,1060507082,-1113879072,-1114036922)+W(3,1026538642,-1118644393,-1090178495,-1095577996)+W(4,1060417175,1056801557,-1108053747,-1104229785)+W(5,1026113715,-1115402364,-1096180920,-1088104859)+W(6,1045744608,1050162924,-1146082265,-1114764169)+W(7,-1165415829,-1096614130,1035143657,-1096622362);sum2=W(0,-1070701037,-1088124412,1035291415,-1122276311)+W(1,-1123484857,-1122878839,-1135890037,-1102500792)+W(2,1066415245,1074084237,1040446858,-1120194245)+W(3,1004310705,1043449641,-1104713726,1041496354)+W(4,1049852139,-1122804719,-1138075205,-1120530587)+W(5,1033156545,1027648711,-1103825640,-1121031703)+W(6,1023048268,-1139513797,-1118638617,1025217366)+W(7,1022832518,-1136916673,1028358694,-1123990667);WS(1058199967,1050173679); +sum1=W(0,1049466778,1058691576,1027370573,1035142580)+W(1,-1180331449,1040649373,-1101732588,-1090097411)+W(2,1039593430,1068404719,1035504777,-1130262537)+W(3,-1120260556,1040680775,-1088745136,-1086371009)+W(4,1055172389,1049428736,-1117883815,-1114438555)+W(5,1044382793,-1124005336,-1087836907,-1085029652)+W(6,1057860609,1038434456,1002653538,1019391016)+W(7,1042216563,-1112700144,-1090680108,-1099893249);sum2=W(0,-1098591960,1057696884,1053572077,-1116884059)+W(1,-1103314039,-1088718218,1027480579,1049382153)+W(2,-1094622297,1068603564,1052736946,-1098664530)+W(3,-1083506692,-1093271444,1060239128,-1090176467)+W(4,-1110319390,-1092295148,-1100793752,-1109898534)+W(5,-1100206230,1032439700,-1110105636,1035982822)+W(6,1060435963,-1093610507,-1110972354,1049155169)+W(7,1034453968,1006875670,1038370396,1048950002);WS(-1089372991,1071972514); +sum1=W(0,1036533027,-1104793556,-1111770809,-1138920887)+W(1,994211079,-1105180974,1048489074,-1102318256)+W(2,1055175791,-1099167419,-1115715559,-1102811010)+W(3,1048668925,1002658941,1059252133,-1087761408)+W(4,-1087507272,1049070430,-1097310634,1039086134)+W(5,-1118760057,1015366427,-1114433380,1053162297)+W(6,-1119324807,1003453989,1025838913,1031148825)+W(7,1042346841,1035401151,1042268638,-1118494745);sum2=W(0,1042265630,1036120703,-1120976510,1030112837)+W(1,-1110663804,1036038820,-1114486026,1026971571)+W(2,1034066763,1054439327,-1093456890,990074782)+W(3,-1093575269,-1097582212,1048349987,1060265655)+W(4,-1093016348,1018637880,1026987255,1037465699)+W(5,1034062294,1015927322,1021593632,-1099844302)+W(6,-1135344000,1039303764,-1139369648,-1141406991)+W(7,-1131991172,-1112258092,-1105461723,-1122669452);WS(1064707295,-1106068023); +sum1=W(0,-1122722466,-1096714286,1035233224,-1099232505)+W(1,-1163785122,1029641572,1050648196,1050522762)+W(2,-1092366070,-1085444145,-1113461090,1008917721)+W(3,-1106158547,-1112344246,1065526616,1057836626)+W(4,-1087864449,-1089654074,1004172005,1030936392)+W(5,-1120989814,1023496586,1053303385,1058128499)+W(6,-1109977746,-1096643772,-1115756158,1027313190)+W(7,-1132212895,1026679026,1045431365,1046037453);sum2=W(0,-1093639717,1052279998,-1081497441,-1064765544)+W(1,-1118670633,1026058867,-1106897145,1043466147)+W(2,1049786220,1062543003,1076205171,1073825520)+W(3,-1120615525,1005098917,1028519541,-1111313590)+W(4,-1112239696,-1095053933,1027623494,-1119211273)+W(5,1002459349,1024155429,1038884306,-1110796836)+W(6,1041086677,-1111173396,1044157267,1025169073)+W(7,-1139354443,1031190784,-1103601885,-1138045203);WS(-1111449083,-1157616163); +sum1=W(0,1050785866,1041550344,-1108906886,-1140902742)+W(1,-1106580347,-1111739842,-1095149714,-1096435822)+W(2,1063519767,1070223306,-1091492130,-1107746707)+W(3,-1112949561,-1090511327,1059314470,-1097214657)+W(4,1056548545,1033679887,-1123578095,-1106259270)+W(5,-1115482851,-1102694659,-1102873285,-1091358630)+W(6,1033485706,1037279241,-1129218172,-1112828291)+W(7,-1119291392,-1105806553,-1105253969,-1098893397);sum2=W(0,-1106537131,1029358898,-1107073590,1036877913)+W(1,-1107276407,-1158332371,-1148982309,1030920508)+W(2,1059152956,1059494373,1043855187,-1107699229)+W(3,-1104066278,1057817844,1057939604,-1101290720)+W(4,-1100478450,1042289801,1015957137,-1112562117)+W(5,-1089434898,1041374005,-1078154452,1054005616)+W(6,-1117856531,1034651775,-1113777301,-1137092650)+W(7,-1109759735,-1112996199,-1095096566,1052159854);WS(-1078462192,-1081042006); +sum1=W(0,-1099264287,1043123090,1032754472,1031777492)+W(1,987183826,1036343655,-1098614104,1046006998)+W(2,-1089905073,1061087074,-1097597536,1041664052)+W(3,1009990171,-1097811109,-1106235787,-1129274543)+W(4,1058804947,1049386855,-1113883983,-1104816664)+W(5,1031138063,-1097275448,1054195792,-1084543524)+W(6,1033759807,1048603595,-1123431127,1034668408)+W(7,1026038601,-1120606380,1024992909,-1107840264);sum2=W(0,1042319052,-1104675582,-1114091637,1045113399)+W(1,-1116743882,-1101972302,-1111655631,-1096815184)+W(2,-1091877193,1051152873,-1138476145,-1107885511)+W(3,1050965596,1049921296,1061790396,-1112520325)+W(4,-1091823953,1034466874,1035866831,-1105540689)+W(5,-1092103725,1042351236,-1097657024,1058061302)+W(6,1039480371,1012452041,1027850472,-1106333432)+W(7,-1102843808,-1125733657,-1158709515,1040922298);WS(1056694143,-1116016311); +sum1=W(0,1051083644,-1126988186,-1100431022,-1113789237)+W(1,-1123205479,1034447326,-1094809972,-1097139864)+W(2,1064972735,1040063173,1018856325,1050877939)+W(3,1036660918,-1108178982,-1094444318,-1089357240)+W(4,1063261729,1049408537,-1097203011,1050520537)+W(5,1047968461,-1113292277,-1094346349,-1089641983)+W(6,1026641091,1053332672,-1146363818,-1103919120)+W(7,1038849023,-1114302469,-1097363714,-1100978845);sum2=W(0,1019359999,-1145413682,1013765983,-1117908102)+W(1,1017197102,1027705717,1028148573,-1120905960)+W(2,-1095749402,-1062836828,1086231745,1045942570)+W(3,-1127537989,1031521084,-1087097136,1032861566)+W(4,-1094656357,1037693606,-1110131683,1048993826)+W(5,1027867224,-1114691836,1040390747,-1145044098)+W(6,-1125761673,1018172516,-1126497913,1005670802)+W(7,1031905995,-1122299754,1016402027,-1112982831);WS(1058898623,-1129627348); +sum1=W(0,1024824451,1028416398,-1114910804,-1115961291)+W(1,-1111982511,1040362701,-1107386562,1015893437)+W(2,1053775806,1049045373,1014875535,-1099814536)+W(3,1049488325,1016424474,1054905786,-1081677098)+W(4,-1081844071,1031972351,1008636276,1042946610)+W(5,-1105282974,-1118478155,1045923489,1057687981)+W(6,1007262993,1044145240,-1120594878,-1106406626)+W(7,1018226304,1008933435,1016529769,1043411542);sum2=W(0,1024635319,-1104650552,1048887568,-1133545882)+W(1,1049399700,-1109494815,1009836758,-1123675276)+W(2,-1106613727,1061771033,1040041167,-1092588040)+W(3,-1105276085,-1099749985,1063348295,-1090053582)+W(4,1059347143,1020453405,1009986974,-1098849827)+W(5,-1094328117,1040581639,-1091467004,-1095509129)+W(6,-1100016935,1003801667,-1120224962,1044263399)+W(7,1041257354,-1116729410,1013849670,1034750124);WS(1051954047,1053754534); +sum1=W(0,1038078984,1036755054,1024010640,-1115617616)+W(1,-1106689047,1027644834,-1111840872,1012663597)+W(2,1063482792,1054877383,-1104806436,-1105864485)+W(3,1000291764,-1099610254,-1088048944,-1094956956)+W(4,1061183100,1032370277,-1116880702,-1109064955)+W(5,1030290339,-1110075188,-1106496725,-1092794954)+W(6,1043596932,1041423460,1017392662,-1125878182)+W(7,-1134690355,-1125796047,1027390113,-1106933961);sum2=W(0,1041153226,1038083675,-1120362784,1032585330)+W(1,1045110917,1041971655,-1097998955,-1098242715)+W(2,-1085822417,1062089523,-1103911013,1053495069)+W(3,-1094674500,-1090235355,1056336567,-1097864806)+W(4,-1088542584,1044421032,-1128147020,-1152525762)+W(5,-1100885631,-1141849761,1046053205,1061326318)+W(6,-1113855086,1041652917,-1104983105,1012657824)+W(7,-1114518568,1032164357,-1160964996,1042938789);WS(1061027871,-1104546242); +sum1=W(0,999947493,-1093243621,1044372474,-1105616597)+W(1,1044086916,-1111771647,1054887248,1020340785)+W(2,-1093936864,-1082760108,1044930783,1021564129)+W(3,1042456335,-1109427891,1059757863,1050165368)+W(4,-1089254915,-1087020314,1039863327,1046184033)+W(5,-1109416824,-1114227250,1055330116,1059995997)+W(6,-1095491356,-1089177610,1036593932,1037242932)+W(7,-1119355674,1025046581,1053764638,1049586618);sum2=W(0,1060306884,-1087262504,1026041138,-1071093827)+W(1,-1107356858,1030953599,-1137957530,1049935328)+W(2,-1080863241,-1104665609,1068180608,1068370917)+W(3,1026067688,-1149593287,-1097098353,1024099582)+W(4,1065726420,1036496204,-1126398467,-1099034443)+W(5,1031805059,-1111590832,1043337171,-1115701817)+W(6,1052019191,-1112342652,1032038973,-1114641099)+W(7,-1110320626,-1165279566,1039831002,-1155572887);WS(-1085156031,1045210454); +sum1=W(0,1062377574,1050029461,-1111119484,1032928297)+W(1,-1097791665,1025846477,-1097825399,-1090582815)+W(2,1062121112,1061895670,1012189550,1023710638)+W(3,1032229097,1038427330,-1084850381,-1087364538)+W(4,1058328143,1050106073,1039427612,-1119437633)+W(5,1040335420,1036234257,-1087870448,-1086721078)+W(6,1051812528,1050020631,1039591187,-1114651991)+W(7,1026163704,-1146480404,-1089842983,-1095972450);sum2=W(0,1061817512,1048143772,1039341132,-1123647935)+W(1,1056516802,1037735150,1075567701,1083879676)+W(2,-1106274437,-1080635557,-1100132407,1035983028)+W(3,1028242764,-1096421593,-1069811820,-1081957201)+W(4,-1101127944,-1113472410,1035406254,-1107056231)+W(5,1035329144,1030744652,-1083251742,-1080342730)+W(6,1025367216,-1101636583,1039408558,-1116224056)+W(7,-1094803270,1049804166,-1087422720,-1113852980);WS(-1079692512,1054562755); +sum1=W(0,1042438683,1049923207,-1107273417,-1109749038)+W(1,1050333996,1042543591,-1091034933,-1092016161)+W(2,1044388569,-1113189609,1030213964,-1102577952)+W(3,1055304278,1034159515,1050309800,-1089719139)+W(4,-1089184118,-1087748930,1046944740,1036563817)+W(5,1040366472,-1122229091,1053009554,1048990040)+W(6,-1096053014,-1091524869,1050658577,1031914983)+W(7,1006842402,1034826102,1049517424,1048709856);sum2=W(0,-1094982607,1045744428,-1097603156,1041125733)+W(1,1061130686,990353951,1049918932,1055140379)+W(2,-1102781952,1063877853,-1107000988,-1103003109)+W(3,1058588396,-1096233798,1066829095,-1106862916)+W(4,-1096755169,1041101455,1048646468,1032085636)+W(5,-1095838692,-1089860215,-1081598978,-1090474230)+W(6,1038162032,-1106723297,1056003520,-1094740103)+W(7,-1096717844,1044183141,-1085369603,1049572267);WS(-1080283264,1053171958); +sum1=W(0,1054395509,1050045174,-1113658461,1045885175)+W(1,1028512496,1035446876,-1095192933,-1083475508)+W(2,1055879386,1060600957,974135701,1034538909)+W(3,1026195253,1044250612,-1084797135,-1085810962)+W(4,1061640838,1060753746,-1118011958,-1122513036)+W(5,1037521197,-1117222317,-1087204563,-1086057732)+W(6,1054788217,1061053402,-1108239136,998696774)+W(7,1038575473,-1101819472,-1108529436,-1092652351);sum2=W(0,1082611215,1077078383,-1132622893,1049760823)+W(1,-1130959534,1035090608,1055018182,-1114287788)+W(2,1066257283,986681348,-1136534149,1033001558)+W(3,-1112584386,-1090394759,-1078537691,-1101461080)+W(4,-1084657320,-1069070549,-1092886300,1043696998)+W(5,1058031741,1038822180,1065047159,1054805894)+W(6,-1072372844,-1074505611,1058228696,-1098156850)+W(7,1041633511,-1115499033,-1082348593,1049854091);WS(-1073398920,1057727890); +sum1=W(0,1052994159,1056847849,-1106188342,1041979362)+W(1,-1110295050,1033778006,-1087976920,-1092671491)+W(2,1060197326,1059196498,1040300287,-1108985859)+W(3,1040328063,-1114468666,-1108460501,-1085676269)+W(4,-1094535618,-1094105983,1046284093,1044683952)+W(5,-1102804911,-1098429184,1046385743,1051731585)+W(6,-1102914751,1043962286,990388050,1044621499)+W(7,-1104640754,1033981777,-1104493131,1031818215);sum2=W(0,-1089430647,-1135654176,-1093219342,1021160276)+W(1,1031984432,-1096279754,1044152573,-1102895535)+W(2,-1079796815,1074674993,-1106388958,-1089562294)+W(3,1011763192,-1101895278,1074136497,-1095163331)+W(4,-1098010580,1052929457,-1180890998,-1099093932)+W(5,-1117345690,-1095468231,-1099885509,-1095203310)+W(6,1040584224,1047748991,1057228486,-1090965228)+W(7,-1107912603,1045144673,-1131585606,1041387674);WS(-1087643711,1073414034); +sum1=W(0,1043019738,1056957030,-1116796288,1043421796)+W(1,1028452722,-1112484637,-1093379129,-1091862260)+W(2,1048028053,1065994910,-1098636497,1042590607)+W(3,1043084437,-1120978641,-1081315117,-1089120888)+W(4,1061262410,1059267719,1005024220,1008405302)+W(5,1046109207,-1105879924,-1093593189,-1088787029)+W(6,1045820026,1054563645,1029633907,-1106384411)+W(7,1024805700,-1095994501,-1106230054,-1108751805);sum2=W(0,-1101361376,1051853927,-1117575950,1015257573)+W(1,-1114431290,-1122150057,-1126719224,-1151605286)+W(2,1007636882,-1085239439,1040031817,1040590395)+W(3,-1123376079,-1122292554,-1069257368,-1099060090)+W(4,1029484438,1055085469,-1111928738,-1104875608)+W(5,1045790053,-1105709439,1065488662,1078894141)+W(6,-1104410806,1055334030,-1104400845,-1124331304)+W(7,1046590167,-1096100911,-1099504604,-1097362053);WS(-1089052703,1050218486); +sum1=W(0,1032977094,1048865735,-1124263665,1024924308)+W(1,1016061078,1027347950,-1103037451,-1127622480)+W(2,1032370348,1057017435,-1101857739,-1114112032)+W(3,1047024376,-1114101947,-1130658874,-1093324152)+W(4,-1096925880,-1106597310,-1132101549,1004177297)+W(5,-1136753151,-1136950735,-1147023991,1049797356)+W(6,-1101706323,-1138126252,-1127618735,1037546120)+W(7,1016234194,-1135392976,1041185327,-1148374781);sum2=W(0,1033687244,-1111330163,1034551493,-1103127935)+W(1,-1115309191,-1101537844,-1132159854,1044282132)+W(2,-1111327049,-1097897810,1056852609,-1131095837)+W(3,989659429,-1126658673,1038437355,1043675418)+W(4,-1092598078,1027703970,1031312786,1041291951)+W(5,-1101159602,1065573620,-1122838335,-1085166716)+W(6,-1119650108,1037109557,-1125922018,-1119687326)+W(7,1035948285,1021015548,-1115941571,1030316614);WS(1065854560,-1114586365); +sum1=W(0,-1093129789,-1097600366,-1132208108,1025132845)+W(1,1052478106,-1114318540,1047014713,1039292161)+W(2,-1094779500,-1085251325,1036127555,1043375962)+W(3,1045472794,1040640636,1059484531,1054220253)+W(4,-1085614646,-1083792532,1042302785,1042813603)+W(5,1026772633,1030110605,1058554289,1058902029)+W(6,-1088034874,-1081301837,1044294516,1041475414)+W(7,-1123458066,1048041627,1057966909,1049492791);sum2=W(0,-1085719643,1026206592,1044643809,-1082315074)+W(1,-1097858732,-1097387905,-1098026838,1072912386)+W(2,1060376399,1066420950,1032322202,-1098370418)+W(3,-1097681385,-1095903963,1072201946,1068488422)+W(4,1042910065,1025783712,1057109638,-1088636595)+W(5,-1092707091,-1104219349,-1087763572,1055106268)+W(6,-1117795056,-1120476284,1061431798,-1093539506)+W(7,-1087895305,-1105350768,-1077472196,-1084317601);WS(-1071370880,1080498273); +sum1=W(0,-1117320376,-1100646881,1039364315,-1117491793)+W(1,-1112958490,-1103504723,1049740511,1025681812)+W(2,-1094786920,1045848824,1023528601,1035846886)+W(3,-1105396320,1032469201,-1094741601,1058631773)+W(4,1057069771,1055228236,-1106314247,-1131889533)+W(5,1034336534,-1144513794,-1102894479,-1088346742)+W(6,1020389492,-1127017775,1013100112,1028375004)+W(7,-1116565942,1002008579,995411618,-1138962992);sum2=W(0,-1108946242,-1114277717,-1107398437,-1097850747)+W(1,1024320851,1012636527,-1118690429,-1129761151)+W(2,1063125687,-1084555354,1042292809,-1085613590)+W(3,1029278628,1026191463,-1101999238,1040789135)+W(4,1059764079,1041901467,-1106648125,1054106205)+W(5,-1119736004,-1127460399,-1128317719,1051725304)+W(6,-1103098774,-1148617751,-1122554235,1035361236)+W(7,-1115360404,997652141,1025957669,1022272136);WS(1058528159,1053906024); +sum1=W(0,-1104256080,-1092229473,1035675727,-1112917396)+W(1,1039659283,1021887717,1058833811,1023681564)+W(2,-1097223269,-1082484606,1040468760,-1104938189)+W(3,1033492802,-1119337706,1061928249,1051100098)+W(4,-1103704557,-1100912091,1020887917,-1105254898)+W(5,-1099217437,-1127325712,1047691241,1057519273)+W(6,-1118771074,-1099449368,-1149793215,-1113141838)+W(7,-1114402703,1024214504,1044776397,1047329733);sum2=W(0,1040644144,1033307012,1023778714,-1129442596)+W(1,-1105488042,1014815489,1056981996,-1106302200)+W(2,1056896617,-1080168883,1026809294,-1113953277)+W(3,1048992482,1043950232,-1064674592,1082625405)+W(4,1030172798,1046899220,1034718426,1035644478)+W(5,-1120732434,-1121557578,-1107268878,-1098216535)+W(6,-1114672577,-1138817753,1038084720,1016827280)+W(7,1026207834,-1122753582,-1118740750,-1138831353);WS(1050028863,1057904824); +sum1=W(0,-1115527732,-1114471481,1031484924,1016998719)+W(1,1033316845,1045307870,-1097014217,1049960370)+W(2,-1092713340,-1086973069,1035763396,-1113918453)+W(3,-1113659631,-1113580281,1055821255,1059124695)+W(4,1048884339,-1093669960,1046082071,-1100192683)+W(5,-1104759887,1024760783,1046233018,1045748179)+W(6,-1109475380,-1102684193,-1109585801,1023767163)+W(7,1028768132,-1118597711,1047341446,972758359);sum2=W(0,1058174637,1022451597,1035985609,1042577042)+W(1,1036828005,1036599280,1028288917,-1093234196)+W(2,-1083350192,-1102051996,-1108557005,-1132583692)+W(3,1043707159,-1099096459,1066585170,-1089654696)+W(4,-1096734805,1040525485,1049978360,1045882832)+W(5,-1117191962,1038823523,-1101233023,-1112976831)+W(6,-1111555351,1012738322,1037998467,-1123148614)+W(7,1010883764,-1106116243,1035922998,1016281700);WS(1064158815,1035299335); +sum1=W(0,1016610641,-1111853690,987363362,-1112803360)+W(1,1023721675,-1114846141,-1116662313,1043480489)+W(2,-1090418272,-1086418793,-1148543050,1040202935)+W(3,1040437218,1044974085,1062267936,1043761841)+W(4,-1096774480,-1106302329,1016866897,-1119103150)+W(5,-1112576238,1035797256,1046949595,1026731899)+W(6,-1125874772,-1111706212,-1136961231,-1120253212)+W(7,-1118929285,1017229376,1038415821,1044534239);sum2=W(0,-1130481715,-1105443060,1032509555,982347958)+W(1,1029826582,-1106323503,-1102232537,1039697927)+W(2,1041532435,-1090026061,1034453505,-1111294086)+W(3,-1087181565,-1095157490,1065332554,1059036310)+W(4,-1115327745,-1099067440,1047671755,-1107492941)+W(5,1032022369,-1113855935,1035057967,1049776291)+W(6,1007189687,-1106888056,1041657921,-1114281099)+W(7,-1137758215,-1116441678,1039394631,-1116755236);WS(1064590463,1056702913); +sum1=W(0,-1118119137,1049750478,1053372231,1029043770)+W(1,-1108622774,1055292354,1040212560,1044521535)+W(2,-1090400466,-1089893441,1042753121,-1096751755)+W(3,-1086796959,1028130891,-1098259842,1048069253)+W(4,1035942347,-1098407696,-1098166823,-1132040847)+W(5,1043794349,-1097599727,-1126503113,1046519145)+W(6,1057009004,-1105867448,-1101919647,1054745035)+W(7,1057963224,-1099480944,-1137574860,1029470901);sum2=W(0,1047380321,1048112351,-1109993908,-1112469736)+W(1,-1130012001,1044766357,-1096267194,-1107309008)+W(2,1039961237,1053720344,-1101975228,-1113626244)+W(3,1024449363,-1105185961,1041967405,-1149218892)+W(4,1033059361,-1117206471,-1115391866,-1113395603)+W(5,1034928166,-1103730760,1041082150,-1105421186)+W(6,1050486894,1029031616,-1114050909,-1111764318)+W(7,1041700935,-1133808950,-1116211284,-1097114178);WS(1049282175,-1081654589); +sum1=W(0,1056840376,1051340514,-1106636470,1026879882)+W(1,1023576205,1019713064,-1103588481,-1089715922)+W(2,1059046350,1060994015,-1120434947,1025593670)+W(3,1018583793,-1116831948,-1081081863,-1087728227)+W(4,1062254571,1054415372,-1103814142,-1109057316)+W(5,1040563949,-1148705741,-1110084674,-1089160278)+W(6,1044610849,1057281100,1025046173,-1108405355)+W(7,-1130543166,-1108038889,-1102762237,-1097611347);sum2=W(0,-1112389783,-1154883848,-1117500355,1021240677)+W(1,-1104779102,1051908652,-1096682611,1025718250)+W(2,-1102583420,1061056453,-1110155670,-1104166105)+W(3,-1093040032,1051220588,1065471868,1048911763)+W(4,-1123615532,1038434309,-1099065181,-1101525323)+W(5,-1113750073,-1098156535,-1090281103,-1149445264)+W(6,1041908272,-1120914319,-1100288377,-1135933351)+W(7,1046751376,-1100861861,-1131934595,1042017461);WS(1044733566,-1111466942); +sum1=W(0,1060020808,1041929508,-1105078967,1033634167)+W(1,-1112663104,-1134753630,-1103349137,-1092913556)+W(2,1062221635,1060048443,-1106426842,-1104340430)+W(3,-1126194825,-1110397240,-1090785767,-1092289734)+W(4,1059584252,1054717575,-1110993602,-1101553619)+W(5,-1114529117,-1113238887,-1097827057,-1094348262)+W(6,1044713794,1047352089,1020428386,-1113465444)+W(7,-1140846474,-1094820883,1041060918,-1098824243);sum2=W(0,1084299283,1066146464,-1113076108,1040248415)+W(1,1002599056,1029289900,1032173778,1054267917)+W(2,-1073408210,-1067326117,-1105221470,1043824330)+W(3,1027082476,-1116688572,-1084477148,-1102778436)+W(4,-1097425816,1016852200,-1134849104,1036602392)+W(5,1024010398,-1121212984,1040914456,-1149511007)+W(6,-1119512248,-1118870508,1011808464,-1163695359)+W(7,1007530464,1020903456,1011171408,1026379762);WS(1041204862,1020998748); +sum1=W(0,1040787048,1044400490,-1111643799,1041320410)+W(1,-1136864165,-1123167632,-1096018340,-1129649268)+W(2,-1112000574,1057857240,1033305824,1033147201)+W(3,1014392453,1043382402,-1090212595,1041936758)+W(4,1058317173,1013490791,1048653459,-1110534482)+W(5,1046901861,1040774794,-1108280561,-1083609992)+W(6,1040475768,1032979455,-1129433652,-1106102028)+W(7,-1121200123,-1123801518,-1104103124,-1098465902);sum2=W(0,-1105739926,1041467605,1036408153,1033367466)+W(1,-1121294834,1020242785,-1116824529,1035166617)+W(2,-1097896497,1069287141,-1116950481,1049195658)+W(3,1024987646,-1113169844,-1103787577,-1127250349)+W(4,1045676499,-1097322898,1035726191,-1081345874)+W(5,-1109755223,-1162599282,-1110450029,-1104285546)+W(6,1034595972,1022861151,1034565507,-1109751565)+W(7,-1128984227,1015705141,-1111377560,1041775082);WS(1061587071,-1140717261); +sum1=W(0,-1082585266,-1091946062,1035683412,-1112565188)+W(1,1029148274,-1133150565,1057075562,1063001355)+W(2,-1086181493,-1084260507,-1105710858,1034588141)+W(3,-1121255338,1031972073,1062016535,1061257307)+W(4,-1087521200,-1094344584,-1104681461,1024277837)+W(5,-1140527211,1015752222,1051726365,1059484653)+W(6,-1109665588,-1092361421,-1097426768,1033519565)+W(7,-1140031633,1054184694,1050023351,1053582679);sum2=W(0,-1068831962,-1076957703,1040595366,1052095029)+W(1,1061242602,1046002483,-1081349117,-1076286348)+W(2,-1081538085,1037971476,-1084153168,-1098987175)+W(3,1040290526,-1093902656,1057908839,-1088771362)+W(4,1070110671,1069986978,-1096720628,-1091290481)+W(5,-1094367529,-1094489561,1063483875,-1114213425)+W(6,1074264190,1070997731,1044734380,-1101102486)+W(7,-1099236623,-1081182731,1075267150,1068552571);WS(-1071242520,-1095264341); +sum1=W(0,1057257956,1050464317,1017326143,-1097248122)+W(1,-1098637431,1039614697,-1098731544,-1095464807)+W(2,1059871125,1058219580,-1091856432,-1105336241)+W(3,1034135507,-1098503641,-1088025845,-1096805078)+W(4,1056167546,1051126389,-1097210280,1051920949)+W(5,1057766069,-1095933097,-1089070234,1032394345)+W(6,1047883744,1055359408,999615444,-1122345698)+W(7,1030493340,-1112287963,-1098523426,-1102431837);sum2=W(0,1038597560,-1114842936,1034954689,-1132961311)+W(1,1055074030,1048893008,-1113751042,-1089057302)+W(2,1039456110,-1104727669,-1105685093,-1131131128)+W(3,1046429121,1057064004,-1097910004,-1095192990)+W(4,-1085849936,1053272959,-1118659572,1044104138)+W(5,-1091871118,-1096323208,1045257331,1064526735)+W(6,-1117746499,1049759548,-1140373421,-1117347443)+W(7,-1090448877,-1081803378,1062278408,1054461586);WS(1055746431,1040288248); +sum1=W(0,1057716289,1055590360,-1117613130,-1154016945)+W(1,-1122750430,-1117149477,-1094487986,-1093759650)+W(2,1059644857,1067207252,-1114072538,-1108247483)+W(3,1031955359,1016534394,-1085229664,-1089867895)+W(4,1062212336,-1104299500,-1134724696,-1103530014)+W(5,1044969554,-1137442922,-1088563377,-1089860607)+W(6,1049302591,1054319858,1046496384,-1102903742)+W(7,1035178328,-1108831509,-1094962569,-1097577389);sum2=W(0,1051752153,-1115260470,1026703145,1041968914)+W(1,-1117011966,1031245794,1035127537,-1123800846)+W(2,1038625472,1052354182,1035338047,1033601916)+W(3,-1109678904,1050054059,1035609386,1035458769)+W(4,-1118891350,-1081023345,-1094112140,-1106207855)+W(5,-1098815779,1038926653,-1104080857,1057116581)+W(6,-1084581041,1066756564,-1106593629,-1100978937)+W(7,-1108176195,-1107244818,-1101750238,1055976243);WS(-1089881759,1037957184); +sum1=W(0,-1098029886,-1095515176,-1117869170,1000251530)+W(1,1041712355,1040628361,1060224425,-1105974859)+W(2,-1089055515,-1079829205,1031851625,1029072469)+W(3,1042449912,-1119516507,1061092856,1060210489)+W(4,-1094362449,-1105281331,-1105582638,1024508279)+W(5,-1102207965,-1107063314,1056017638,1060581840)+W(6,-1112643769,-1102959900,-1105403363,-1121710869)+W(7,-1112932479,-1124065669,1050032516,1040568609);sum2=W(0,-1102532150,-1114476854,-1105565679,1051114274)+W(1,1042271071,-1112348507,1038543175,-1093533301)+W(2,-1082969540,1064670328,-1098769061,1055378846)+W(3,-1087360189,-1100903801,1077554590,-1075201485)+W(4,-1102001010,1044770567,-1101598109,-1106275827)+W(5,-1115312306,1031777408,1040464379,1048871628)+W(6,-1114021751,1049459491,-1104426610,-1109849433)+W(7,-1125205988,-1104546886,1049461049,-1111404687);WS(-1089609215,-1090633405); +sum1=W(0,1060468726,-1114989785,-1131730646,-1095985139)+W(1,-1106189340,-1121474072,1035463235,1029992257)+W(2,-1111340153,-1083229835,-1120898567,-1106836118)+W(3,-1109753904,-1170836447,1057093887,1053834481)+W(4,-1097505195,-1091862496,-1108220230,-1122196780)+W(5,-1099640750,-1106303115,1056095953,1060127651)+W(6,-1118278055,-1094974325,-1111282801,-1113602180)+W(7,-1102165833,-1114233933,1060964715,1053644551);sum2=W(0,1028184991,1018963304,-1123071369,-1102755055)+W(1,1018724927,-1154538439,1034540123,1014375557)+W(2,1042446539,1048904011,-1121616776,-1101642458)+W(3,1030328833,-1104340897,1055634924,-1110958917)+W(4,1022095962,-1102092583,1034971308,-1123659230)+W(5,-1123674010,-1103087688,1047229966,-1122273513)+W(6,-1115812270,-1115600403,992820811,-1114444448)+W(7,-1118183380,-1116477720,1032293939,1006913192);WS(-1089497119,-1083970920); +sum1=W(0,1017038202,1054102421,-1112985379,1049400081)+W(1,-1129668560,1023489999,-1092440080,-1096866095)+W(2,1052273107,1050677101,1046931016,1032734776)+W(3,1039999326,1047866250,-1077775563,-1090492445)+W(4,1056472798,1054012759,1026703569,1032966898)+W(5,1031139121,-1128248842,-1141821439,-1095500286)+W(6,1046736000,1054561791,1020804657,1023567673)+W(7,1037611037,-1102316761,-1096856494,-1103091876);sum2=W(0,-1113150368,-1107904829,-1114702364,-1119432539)+W(1,-1123950204,1034167140,-1109676099,1049552369)+W(2,1051795717,1065572002,1045807900,-1131454616)+W(3,1018171432,1024318084,1052256292,1049548364)+W(4,-1104213250,-1096394963,-1138592655,-1107556037)+W(5,-1104886632,-1103410805,-1077576443,1058452060)+W(6,991774812,991245404,-1116354551,-1120197723)+W(7,-1103678409,-1123412946,1049782966,-1102019177);WS(-1092399743,1070790531); +sum1=W(0,-1110110152,-1123928476,1024013147,1031557241)+W(1,1040307665,1029330819,-1104003948,-1086332927)+W(2,-1100428029,-1093314535,1049827334,1045977841)+W(3,1054647477,1048337215,-1110202001,-1091187884)+W(4,-1098211617,-1120318828,1042539942,1044712430)+W(5,1045074033,1042256462,1031171411,1031718940)+W(6,-1110797385,-1103475236,1042631871,1022243624)+W(7,1034920639,1041342974,1047659449,-1118825252);sum2=W(0,1049091174,1049791001,-1111978522,1035080118)+W(1,1056655092,-1120502660,1068692590,1068767241)+W(2,1038894820,-1088677682,-1107203795,1043189101)+W(3,1054889999,-1094007639,-1079138335,1041587068)+W(4,-1074681252,1032440616,1040978901,1020874649)+W(5,-1106617291,1037089622,1033618204,-1088844169)+W(6,-1139760881,-1132242473,1014904337,-1103963851)+W(7,-1115116202,1029103732,1040720920,1036797334);WS(-1076899872,-1090262268); +sum1=W(0,-1105212520,-1109220950,-1105515965,-1111775583)+W(1,-1130865048,-1124779047,1044900104,1053805936)+W(2,-1105276619,-1081197371,-1152866339,1031134981)+W(3,-1108606366,1012899053,1056451270,1061229259)+W(4,-1085735312,-1090100176,1031461535,1022185487)+W(5,-1111684786,1038272628,1061600458,1061180827)+W(6,-1106571081,-1094472404,1013082739,991487050)+W(7,-1123743158,1043636133,-1114201801,1040836429);sum2=W(0,1054372816,1036990346,-1099940688,-1092758077)+W(1,1025560437,1015649794,1044094629,1025999909)+W(2,-1102824961,1072234824,-1093749782,-1096959860)+W(3,-1134776466,-1118772240,1074465248,-1093700170)+W(4,-1091574668,-1098403340,-1120633714,1047974360)+W(5,-1097328702,1035273338,-1083936129,-1086059593)+W(6,-1097220109,1024848209,-1113388587,1036248767)+W(7,-1098634116,1051989609,-1093741871,1045585843);WS(-1097318719,-1106686758); +sum1=W(0,1031803579,-1105675680,1022220430,-1138034233)+W(1,-1118470609,1013564641,-1110575515,-1107190316)+W(2,1060345356,1040095311,1037878284,-1115259277)+W(3,1028754310,1043380040,-1082557626,-1091489993)+W(4,1057210483,1018511203,-1118564628,-1109043646)+W(5,-1126688788,-1103180903,-1113047197,1054616755)+W(6,1038086620,1040876381,-1123355602,-1132126739)+W(7,-1105313401,-1110366427,1040895458,1037558661);sum2=W(0,1011610145,-1109786563,1034654933,-1116780480)+W(1,1031867194,-1117436106,1049246354,-1126532250)+W(2,1034290987,1058839838,-1106740681,1033980194)+W(3,1050453777,-1098876833,1055488745,-1098441369)+W(4,-1112504437,1048688059,-1110588743,1037910476)+W(5,-1101879397,-1105182695,-1109313096,-1081564854)+W(6,-1100404580,1024874106,1006481529,1033369701)+W(7,1033744368,1042001428,-1122526519,1046210019);WS(1061957727,1058150789); +sum1=W(0,-1099288198,-1097230757,1031914819,1009728708)+W(1,1036440691,-1109853493,1055587995,1046412713)+W(2,-1087266183,1043273168,-1106863550,1043097483)+W(3,-1106212891,1023154886,1049133325,1056802398)+W(4,1055416522,1050026271,-1108191069,-1097372952)+W(5,1047286155,1036106272,-1105368103,-1086687979)+W(6,-1110590381,-1108247452,-1129266281,1032793786)+W(7,1024106902,-1120124353,1042988739,-1107437206);sum2=W(0,1026925373,1041631623,-1104415808,1021676194)+W(1,1011207236,-1118374396,1047340087,-1130821928)+W(2,1049347642,-1075706495,-1104915444,1041444786)+W(3,1032289888,-1097824639,-1078646873,1055108729)+W(4,1068941883,1049874161,1025561656,1042839409)+W(5,1041964936,-1122940124,1054741696,1058328878)+W(6,-1096918949,1030080935,-1119893126,-1111488206)+W(7,1033049167,-1131526532,-1107876167,-1108156193);WS(1058678303,1013994144); +sum1=W(0,1050426208,1032382213,-1145988558,-1118673511)+W(1,-1110204509,-1116037137,1019043839,-1111022430)+W(2,1059103555,1061451838,-1097799452,-1107600786)+W(3,1043824660,-1111434373,-1090188381,-1086017695)+W(4,-1098106458,1032049821,1025019066,1050901309)+W(5,-1123560275,1043538778,-1093177128,1050664020)+W(6,1038038624,1043957152,-1117490811,1034380585)+W(7,-1104489131,-1110765932,-1113568728,-1133222475);sum2=W(0,1052524883,-1096529292,1047608842,-1105859137)+W(1,1025172812,1035180205,1033298597,-1116369180)+W(2,-1103682938,1018027622,1011548907,-1101390223)+W(3,-1138831970,-1096368530,1063707518,-1095014501)+W(4,1039330573,-1101134187,1047719826,-1098146078)+W(5,-1094263126,1061932077,-1086128756,1056731707)+W(6,1054816538,-1105962981,1028887915,-1099968186)+W(7,-1095466983,1016476277,-1150004284,1037701277);WS(1063038079,1033861047); +sum1=W(0,1016779545,1014390112,1040884807,-1111914898)+W(1,-1114919788,-1162045399,1045397811,-1107257338)+W(2,-1109833994,-1095449911,1061986003,-1102681756)+W(3,-1101855164,1049909751,1065846455,-1096677860)+W(4,-1097838100,1019923216,-1109559865,-1095429920)+W(5,-1097193708,-1113534130,1039008680,1029008656)+W(6,-1148961393,1009274926,-1104233906,1034752240)+W(7,1007645095,-1103320918,1029851870,1033037520);sum2=W(0,-1117177515,1017665294,-1106002020,-1112457849)+W(1,-1106095669,1041685053,1033022206,1031942991)+W(2,-1098231154,1062239338,-1114732591,-1103752624)+W(3,-1095196752,1046863079,1061426536,-1133545004)+W(4,-1097906884,-1101585142,1029961226,-1102536580)+W(5,-1105989872,-1120505375,1032626487,-1109528685)+W(6,1037597321,-1112453861,1038070251,-1114728817)+W(7,1028074076,-1124888510,1032988844,-1114069131);WS(1060691839,-1121680521); +sum1=W(0,-1105323108,-1097943963,1034282296,-1112633460)+W(1,-1113361469,-1109479713,-1117038833,1045243383)+W(2,-1091137362,-1083253895,-1124091490,1016470792)+W(3,-1110311799,-1102522287,1065759511,1060606770)+W(4,-1090987401,-1090137469,-1110508885,1036530779)+W(5,-1114082482,-1104777690,1056765570,1062311590)+W(6,-1098291034,-1093525810,-1133939630,1036991882)+W(7,1016563642,-1167556095,1057599172,1054157412);sum2=W(0,1057901747,1039698409,1041454563,-1097189010)+W(1,-1086497310,-1090377488,-1087530727,-1086723052)+W(2,-1122301550,-1125642190,1043926258,-1110771302)+W(3,-1110538585,1061014784,1064818137,-1094374456)+W(4,-1108285138,1020817735,-1109768355,-1109373654)+W(5,1034378960,1044647130,-1109979249,1036021291)+W(6,1040279727,-1101494695,1043669875,-1114304258)+W(7,1013465199,1050381101,1040712355,1055924705);WS(-1087684831,-1094525449); +sum1=W(0,-1093934649,-1096975274,-1121734275,1038107891)+W(1,1038198313,-1113930844,1049163549,1052573184)+W(2,-1093954738,-1090018791,-1107604308,1035814365)+W(3,1035537105,-1102439448,1066601083,1040479417)+W(4,-1088075930,-1090123804,-1101928869,1038052214)+W(5,-1113118893,-1148589172,1057618495,1058232216)+W(6,-1106254226,-1100235009,-1127021124,-1104767443)+W(7,-1146582942,1033628463,1051666987,1040796439);sum2=W(0,1038892506,1032348345,1032495868,-1102391770)+W(1,1034045130,-1111661823,1035913564,-1109920182)+W(2,1055934176,1066287204,1051494072,-1140349122)+W(3,-1148365864,1035742233,1049172795,1043439866)+W(4,1070533091,1056179234,-1072283498,-1080481573)+W(5,1024670194,1043482108,-1122911277,1048700512)+W(6,-1098172645,1038613315,-1091499210,-1085993190)+W(7,-1117726050,1024343165,-1103404378,1042548330);WS(-1095407551,-1073547033); +sum1=W(0,1043640456,1041775803,-1101976843,-1103915126)+W(1,-1099126911,1023142916,-1098551608,-1106314263)+W(2,1061599658,1057524528,-1108044768,1024335748)+W(3,-1110220795,-1106562202,-1095708126,-1096990689)+W(4,1060862745,1028413803,-1095324014,1050893513)+W(5,1056016670,-1099653918,-1092797676,-1102020840)+W(6,1044362232,1051352312,-1114975198,-1107189281)+W(7,1031215069,-1138223071,-1097969466,-1110398586);sum2=W(0,1034632723,-1122920764,-1111493200,-1112168075)+W(1,-1112860057,-1108202591,1040740621,1034960798)+W(2,1009053647,1049936313,1022286331,-1123529566)+W(3,-1115675116,-1112708946,1057592446,-1105159128)+W(4,1051909492,-1099948229,1035493883,-1103466952)+W(5,-1146770753,-1116950762,1041517424,-1126339526)+W(6,1029419308,-1107051081,-1106265315,-1113566520)+W(7,-1115594520,-1103163741,1024151142,1016655048);WS(1063407871,1051042354); +sum1=W(0,1049807310,1052429035,-1120529264,1005154604)+W(1,-1107282310,1042685852,-1100831547,-1113122997)+W(2,1057743574,1063894449,-1130858780,-1106161584)+W(3,-1113923042,-1129272494,-1086654500,-1088929544)+W(4,1058090310,1052514789,-1127255711,-1114354154)+W(5,-1164896285,-1131567786,-1092092086,-1089886688)+W(6,1044231916,1049931918,-1115504868,1023693521)+W(7,-1131959253,-1115987013,-1097639884,-1106897472);sum2=W(0,1043434467,-1108784254,1030565628,-1113031572)+W(1,-1067187434,-1079041185,1056568736,-1088941888)+W(2,-1111949688,1036810375,992883874,-1127702936)+W(3,1074040966,1075709893,1060861120,1036016830)+W(4,-1111107284,1042918247,990495554,1014952720)+W(5,-1099161149,992814626,-1098281783,1023742716)+W(6,-1120169364,-1112993936,1023316920,1018238740)+W(7,1039733673,1028892682,-1112517088,1022041004);WS(1053166591,-1107822593); +sum1=W(0,-1120335240,1031831786,1022746982,1033874440)+W(1,1042509273,1008295657,-1108379508,-1105709561)+W(2,1052124034,1048792350,1019810386,1035703758)+W(3,1044631286,-1124953572,1046826502,-1093762507)+W(4,-1095582904,-1088629918,1042374543,1044260196)+W(5,-1112928126,-1113071488,1045805451,1053612659)+W(6,-1097950065,-1085974448,1041374685,1040749291)+W(7,-1120529605,-1132054272,1042845918,1037463342);sum2=W(0,-1096561981,-1097601992,1039106059,1010990056)+W(1,-1119485380,-1115258493,1052717590,1040308359)+W(2,1031463124,1058004743,-1114641521,-1102786881)+W(3,-1101721469,-1138490792,1045709336,1058176412)+W(4,1042505523,1041182740,-1101476912,-1133768253)+W(5,-1101570252,1029590734,-1096768246,1034355291)+W(6,-1105959219,-1099775079,-1113060394,-1103607882)+W(7,1037679123,1036565969,-1105804625,1033275384);WS(1028916214,1067075549); +sum1=W(0,-1148995491,-1109885152,-1119264713,1039584518)+W(1,1026160863,1022848653,-1096386895,-1098323934)+W(2,1055889168,1067421167,-1105861885,1016298993)+W(3,-1150434165,1034469007,-1085982162,-1096985498)+W(4,1059632007,1055091716,1020015061,-1113980813)+W(5,1044152506,1024761132,-1088331431,-1087532161)+W(6,1045130509,1052375930,1032661512,-1134777055)+W(7,1032543553,-1104676378,-1104015130,-1095878225);sum2=W(0,-1101422768,-1103630239,-1096222017,-1120016029)+W(1,-1122344899,1042131820,-1105545071,-1104653664)+W(2,1040689805,1064582511,-1092715875,-1119382227)+W(3,-1120071349,-1101606830,1058022283,-1120927281)+W(4,1043406218,-1089499537,1049876716,-1110818689)+W(5,-1096987934,1051590178,-1107109410,1060808344)+W(6,1029271710,-1117522613,1032841990,-1103484103)+W(7,-1099435532,1050342947,-1105419897,-1107008053);WS(1047020030,1040511430); +sum1=W(0,-1092384755,-1090443530,1033110649,-1108637223)+W(1,1031927268,-1122999800,1053549631,1057603229)+W(2,-1085982557,-1080046633,1043424750,1044090139)+W(3,1026366340,1032840448,1047924234,1061618217)+W(4,-1083957593,-1096279270,-1120308481,1036624046)+W(5,1015929108,1020572028,1057048888,1053999549)+W(6,-1149642107,-1100324533,-1106849700,1033721201)+W(7,994286645,1039624063,1052833857,1057845673);sum2=W(0,-1124082321,1008382386,1043030610,1035208568)+W(1,1048736861,-1118377912,1050323039,-1093736918)+W(2,-1107061123,1049576136,1044796248,-1107699159)+W(3,-1106119918,-1111443567,1074526989,-1114950423)+W(4,1051573865,1048541752,-1103668262,1034655700)+W(5,-1132389881,1034733436,-1080621030,1073198167)+W(6,-1093669891,-1134934914,-1095424772,1045164876)+W(7,1034120076,1029501600,-1079139349,-1074078238);WS(-1080108544,1072234904); +sum1=W(0,1027588151,1029085890,-1130610603,-1115070415)+W(1,1018404227,1044293186,-1104252646,1031137458)+W(2,1032775046,-1089931562,1057466749,-1098588213)+W(3,1028038521,1050777268,-1083673968,1056995037)+W(4,-1123371019,-1094030554,1029557602,-1104374087)+W(5,-1093125043,1046325824,1050628415,1052314097)+W(6,1034779836,999211181,1001112594,1018553236)+W(7,-1108340394,1020739741,1036988180,1033643941);sum2=W(0,1043108929,1033401680,-1118678156,-1115557063)+W(1,-1108049897,-1109597407,-1093193803,-1138826120)+W(2,1036186051,-1124450766,-1102856438,1045099863)+W(3,1013268663,1049634970,1068262877,-1079584214)+W(4,-1112637977,-1114646959,1035167397,1035209289)+W(5,1046161245,-1111895568,1041792105,-1121148137)+W(6,1012643139,-1132473655,-1120387027,-1117208818)+W(7,-1127251156,-1116707942,1032348301,-1138286224);WS(1061770399,1033097145); +sum1=W(0,-1100493560,-1122290538,-1108446526,-1127803310)+W(1,-1117956049,-1101349332,1040952192,1049484359)+W(2,-1090144134,-1124504076,-1102069216,1046619869)+W(3,1015706547,1051006353,1060283011,1049567736)+W(4,-1096124978,-1113245389,-1107462472,-1115166002)+W(5,1027971186,-1105896346,1049188012,1036170309)+W(6,-1115437168,-1114380655,-1109525661,-1113123881)+W(7,1011773295,-1118021614,1043620172,1004781969);sum2=W(0,1035607607,1032878473,-1146121477,-1115090363)+W(1,-1102631851,-1105868946,1008730983,1036976780)+W(2,1020296178,-1094567498,1039239074,1029869322)+W(3,-1106613659,1056742871,1060438996,1050702114)+W(4,-1133024223,-1111505684,-1123569769,-1123366919)+W(5,1056526109,-1103439045,-1088372125,-1092544833)+W(6,1036037468,1025152664,1022224092,-1115297931)+W(7,-1114092237,-1109382916,1015952550,-1119747923);WS(1063262431,1041246684); +sum1=W(0,-1094141452,-1103734011,1035931377,-1095604910)+W(1,1050361575,1015464930,1050116188,1054301899)+W(2,-1088213584,-1084116356,-1113418944,-1116408259)+W(3,-1130477940,1005018697,1063045487,1059695011)+W(4,-1088057339,-1084926720,-1109446615,1035543059)+W(5,-1114430457,-1112900435,1062081288,1060587189)+W(6,-1095142868,-1085134126,-1111045021,1041501409)+W(7,968128030,1012274924,1061043357,1055163174);sum2=W(0,1079171932,1073764649,-1101936220,-1088652568)+W(1,-1089634291,-1106083041,1062997529,1068650823)+W(2,1074855165,-1113430470,-1102444501,-1091191468)+W(3,-1102140198,-1123235056,1039600983,1053027607)+W(4,-1095064501,-1078839186,-1111069004,-1123800532)+W(5,1028735871,1056073450,-1082346847,-1105207914)+W(6,-1078450334,-1071519758,1050243792,-1088813372)+W(7,-1114344542,1060600412,-1081653443,-1088354544);WS(-1071343712,-1080188504); +sum1=W(0,1024112567,992179242,-1112944093,1048814204)+W(1,-1155239198,-1115614373,-1105846854,-1101821021)+W(2,1035991718,1065540811,-1110388460,1038698214)+W(3,-1117961066,1022833410,-1086620536,-1110088095)+W(4,1062800155,1057270438,-1113346827,-1102353903)+W(5,1037955557,-1130491710,-1092189183,-1085891530)+W(6,1047814390,1055244391,-1172877482,-1115354285)+W(7,1026576596,1021561214,-1096652125,-1094362793);sum2=W(0,1057844910,1017329883,1067869852,1077488778)+W(1,-1157420388,1016773013,-1123912240,-1110901413)+W(2,-1112258962,1038200220,-1070445594,-1080283979)+W(3,-1127671945,1027002057,-1103189448,1048616910)+W(4,1045877800,1016515143,-1113067149,-1085461181)+W(5,-1139116556,-1108492850,-1113680120,1033584054)+W(6,1029029881,1026840239,-1105631704,-1135625536)+W(7,1033508697,-1122607860,1028070058,1006246833);WS(-1114300667,-1123436789); +sum1=W(0,1024457460,1049280824,-1106612992,1048745214)+W(1,-1124831645,-1120312678,-1099711469,-1084727981)+W(2,1061265254,1066754197,-1101020989,1040619730)+W(3,991636461,-1115033343,-1090437274,-1091611130)+W(4,1060475010,1056957204,-1129452308,-1120049178)+W(5,1037659252,1036876438,-1087165059,-1087975654)+W(6,1052291799,1051532558,1040777596,-1112058252)+W(7,1024723233,-1128167880,-1091858685,-1095257281);sum2=W(0,-1096018291,1033992894,1045758589,-1102675226)+W(1,1050758265,-1091427154,-1078407710,-1064870457)+W(2,1053924217,1023354017,1037856863,-1106608364)+W(3,1044800412,-1122690967,1077566439,1074354229)+W(4,1045521037,-1112080608,1038509645,-1121700495)+W(5,1037435194,-1101170582,-1100523264,1055978728)+W(6,1019757091,-1111416466,1013024414,1041300787)+W(7,1048475585,1031501486,-1096094745,1032114149);WS(-1081349952,-1073531246); +sum1=W(0,-1092471918,-1094799967,-1123247001,-1130396178)+W(1,-1120779255,1032899791,1040552427,1052933181)+W(2,-1087091570,-1083589055,-1123595694,1049234666)+W(3,1048808240,1047688662,1056428784,1062313536)+W(4,-1090515766,-1088301188,-1118849787,1044575749)+W(5,1025076592,-1104574961,1052569014,1060166366)+W(6,-1100895532,-1095518837,1015989072,1027091408)+W(7,-1114767697,1028829344,1057005798,956727337);sum2=W(0,-1101780564,1036224480,1038605852,1036727690)+W(1,-1095151348,-1101329253,1003722492,1047063866)+W(2,1043313873,1058417373,-1108807283,1000461252)+W(3,-1071443435,-1072909475,1075919102,1071364196)+W(4,-1110550387,1041024731,1040753555,-1118764382)+W(5,-1137970650,-1094681513,1052825370,1031984760)+W(6,1032765623,-1114514162,1026410269,1025474323)+W(7,-1130737363,-1100563228,1049040777,-1104266299);WS(-1087415039,1075227720); +sum1=W(0,1030200505,-1093044977,-1121306305,1014202565)+W(1,1032642210,1039690838,1045750086,1042588557)+W(2,1052765481,-1086016434,1055732347,-1115466670)+W(3,-1099716881,1054066516,-1102841730,-1099185023)+W(4,-1108244135,1044242725,1045428619,-1088701572)+W(5,-1089156724,1045967960,1001272287,1060432915)+W(6,-1102530383,1042147022,-1113272762,-1106855619)+W(7,994787170,-1114980876,1043051755,1047811955);sum2=W(0,1033088277,-1115275500,-1106843150,1034817173)+W(1,-1119967238,-1122100142,1042281307,-1105460751)+W(2,-1108330169,1059951304,-1117324330,1035283571)+W(3,-1118763227,1033190213,1055263105,-1117933953)+W(4,-1114610359,-1130129964,1033652183,-1106783723)+W(5,-1099584511,-1097591398,1034893511,1036736577)+W(6,-1100855920,1017452836,-1109219720,-1105003316)+W(7,1043864443,-1097701018,1026860110,1040893249);WS(1061885343,-1093433134); +sum1=W(0,-1116612499,-1106037336,1040591342,-1119074171)+W(1,1026065358,1035233146,1035985530,1043937396)+W(2,-1090085717,-1110885309,-1112185530,1024365415)+W(3,1023445318,1041032751,-1105284753,1054530437)+W(4,1058148680,-1098920364,1047951017,-1102861510)+W(5,1043298226,1028431483,1042740717,-1085809524)+W(6,-1104145445,-1102965524,1030794670,1033079635)+W(7,1030877520,-1110782149,1048819605,-1143903027);sum2=W(0,-1115506247,-1109249837,1041777983,-1120425303)+W(1,-1106986872,-1093100415,-1082926483,-1089905659)+W(2,1051302633,1062460419,1038578170,1008642595)+W(3,-1100742938,-1121360027,1062992305,976609774)+W(4,1046700430,-1110379832,-1144970974,-1103931105)+W(5,1026171953,-1123505732,1046952726,1016533657)+W(6,-1121481149,-1125592805,-1105571910,-1139607395)+W(7,1047068010,-1108759193,1044012895,-1128426413);WS(1057387711,1071476886); +sum1=W(0,-1088145158,-1090879061,1046876472,1029774760)+W(1,1026644842,-1124024690,1046940920,1058722665)+W(2,-1087750555,-1081209882,-1104814472,1049447728)+W(3,1034805113,-1101227374,1060559271,1062289140)+W(4,-1102041597,-1088704948,-1107998911,1047761369)+W(5,1041428045,-1112057972,1046238393,1057163193)+W(6,-1101378696,-1090772220,1025453339,1035672969)+W(7,-1123650077,1045125730,1051154538,1049034574);sum2=W(0,1066168402,1072246945,-1076424748,-1079574021)+W(1,1033041398,1025560740,1039775524,-1106633910)+W(2,1055648588,1069722149,-1079383446,-1084651933)+W(3,1042767844,-1122422479,1050613020,-1122282375)+W(4,-1105729737,1052366950,-1105513599,-1094010079)+W(5,1029478726,1029747528,1046757765,-1112550614)+W(6,1046266897,1064021500,-1083946107,-1094989946)+W(7,-1132333344,-1110924549,-1117589808,1041413657);WS(-1088291167,-1076464582); +sum1=W(0,1048475643,1039614653,1013092187,1038365083)+W(1,-1113517956,-1118168192,-1115741870,-1115380053)+W(2,-1105893787,-1090164821,-1096083994,1049005176)+W(3,1038779144,-1103584918,-1106465144,-1115211424)+W(4,1048630844,1052597003,1029385568,1046666973)+W(5,1051487172,1036949051,-1097273638,-1092124773)+W(6,1030762351,1049653618,1035921309,-1130846211)+W(7,1029432699,1041505439,-1098780292,-1104199584);sum2=W(0,-1119046775,-1103497340,1042447103,-1102442432)+W(1,-1116688635,-1109692823,-1117033259,1038119755)+W(2,-1108371687,1063726871,-1140140535,1009200726)+W(3,-1136365839,-1103585210,1053430514,-1111757198)+W(4,1023996549,-1100556235,1038566242,1018235219)+W(5,1035998106,-1122627505,-1130738637,-1097582390)+W(6,-1134905751,-1115426548,-1119461411,-1105836948)+W(7,-1113769016,-1131103707,1038939472,1027482933);WS(1063535295,-1106643391); +sum1=W(0,1049160779,1050551697,-1114069468,998897947)+W(1,1022592892,1035333911,-1114097198,-1095715331)+W(2,1037435628,1059662980,-1120649212,1030590255)+W(3,-1105875754,1036951763,-1098500149,-1091439068)+W(4,1051258674,1051146291,-1135800742,-1112623985)+W(5,-1097348874,1021555078,-1112852607,-1093374928)+W(6,1042046535,1051522915,-1118923687,-1126057998)+W(7,1032877804,-1118947123,-1098602138,-1104302276);sum2=W(0,1023004440,1035188360,-1119848331,1020791040)+W(1,-1130592194,-1114014595,1010552055,-1131522740)+W(2,1036866165,-1081188844,1024075228,1028098574)+W(3,1057774258,1085749988,-1063807577,-1087402238)+W(4,1036267331,1020492762,-1114214294,1036335573)+W(5,1072260443,-1101071935,1044255896,-1074297638)+W(6,1026996488,1028180222,-1123998545,1028067710)+W(7,1041502854,-1121770211,-1125487816,-1109527927);WS(1065370528,-1140007425); +sum1=W(0,-1089109360,-1093467562,-1123119348,-1119191691)+W(1,1048704645,-1120571445,1051845168,1051697742)+W(2,-1104035088,-1082641845,-1144777506,1043193134)+W(3,1047054964,-1128753754,1058881533,1049231373)+W(4,-1090665335,-1085597050,-1114692372,1048874737)+W(5,-1122636375,-1135014444,1053776045,1060727795)+W(6,-1097312497,-1084438004,1028382351,1047204584)+W(7,962936920,1047044271,1054559607,1050811579);sum2=W(0,-1078126224,-1079031251,1068804680,1072219394)+W(1,1011861728,1040923692,-1110022070,-1093298188)+W(2,-1078951161,-1087436811,1066171639,1068134846)+W(3,-1105857084,-1121892273,-1107767815,-1084926454)+W(4,1039512383,1067164113,-1080918851,-1095987744)+W(5,1026590003,1040751494,1031793821,1055586357)+W(6,1069504242,1075315134,-1071545857,-1077110574)+W(7,-1123439499,-1109554506,1055897321,1041030661);WS(-1089696543,-1143233957); +sum1=W(0,-1129127938,-1098483714,1045323653,-1115482013)+W(1,-1122467892,1049605572,-1110243009,1041381507)+W(2,1045383939,-1091150045,1035013745,-1096516931)+W(3,-1090424421,1043667267,-1106321908,1059582003)+W(4,1043411549,-1086835476,1054106403,-1162367211)+W(5,-1109629626,1048548650,1026676964,1034020454)+W(6,1048447553,-1103773800,1036179510,-1107204469)+W(7,-1105600748,1035568493,-1159158363,1034191370);sum2=W(0,1032064725,-1121806942,-1125596513,-1134008573)+W(1,-1113496357,998755498,1035355315,-1117795542)+W(2,1045441656,1065460002,1051842604,1011008945)+W(3,-1119910472,1041632626,-1089961367,1024667789)+W(4,-1114964420,-1130705389,-1118729604,-1125276577)+W(5,1035390555,1032979221,1026896379,-1081892598)+W(6,-1121883022,1034360078,-1117720498,-1111959837)+W(7,-1129745921,-1115672512,1023648883,1020053498);WS(1065278079,-1120402802); +sum1=W(0,1052390115,1049303261,-1115548942,1031924074)+W(1,-1116671142,-1118597165,-1099757447,-1097070063)+W(2,1045251552,1060948388,-1112658654,-1106896516)+W(3,1041336272,1043338841,-1081623390,1040981136)+W(4,1062622505,1054395391,-1121670257,-1103991244)+W(5,-1145407604,1032773481,-1096062708,-1085365853)+W(6,1045812503,1048618059,1031270934,-1115583119)+W(7,-1123616408,-1127437558,-1099232531,-1101077740);sum2=W(0,-1110767736,-1122384971,1032565152,-1114021356)+W(1,1034493514,1019779384,1041858293,-1100377718)+W(2,-1085457975,1068814369,-1085160508,1056835748)+W(3,1016590225,-1097525969,1060746614,-1085697040)+W(4,-1085213012,1063574785,-1086618535,1058685385)+W(5,1043875459,-1097974912,-1094120608,1057245366)+W(6,-1144776155,-1097434793,1032715041,1047242231)+W(7,1054776673,-1096653037,1056356490,-1093482365);WS(1055688959,-1109584743); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, -1), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 1), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -1), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 1), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -1), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 1), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, -1), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, 1), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns256, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns256, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,1026430476,-1103990249,-1091961907,1024871952)+W(1,992987016,-1085365048,-1086639391,1041094851)+W(2,1007997243,-1093414958,-1087585419,1034372511)+W(3,1009484684,-1099588502,-1100793414,1038248733)+W(4,1052012307,994719130,1023328805,1049937838)+W(5,1063527595,-1102193240,-1110763811,1057524239)+W(6,1057188600,-1131716095,1046466539,1061081007)+W(7,-1114088341,1037858632,1042167685,-1104832955);sum2=W(0,-1117362461,1050294809,-1115075619,-1122170202)+W(1,-1100385246,-1100233118,1041506545,-1125932452)+W(2,1025043913,1047005177,-1100362988,1020071642)+W(3,1018043750,-1112302377,1012082941,1017078274)+W(4,1022334174,1016781702,1016746290,-1113824159)+W(5,-1104291570,1033455014,1031697879,-1098709995)+W(6,1053652830,-1106922881,1050444141,1072797337)+W(7,-1155649364,-1086585813,-1081909907,-1100425628);WS(-1096195455,1061976972); +sum1=W(0,1045016510,-1104061589,-1094469481,-1107583849)+W(1,1050507709,-1086991635,-1082981042,-1102048399)+W(2,1004076226,-1088999402,-1087760032,-1138600128)+W(3,-1106918697,-1089081125,-1111975782,1049677870)+W(4,1051975353,1046697387,1032308806,1057261454)+W(5,1061386858,1051876218,-1093320254,1058403546)+W(6,1052828202,-1112945129,-1106246183,1052980216)+W(7,1048525839,-1116677906,1045880594,1055128500);sum2=W(0,1043646796,-1114450783,-1095110912,976892690)+W(1,1047930742,-1113296119,1052886335,-1131052969)+W(2,1035354913,1040578653,-1088067101,-1099144563)+W(3,-1111106463,1051335047,-1102673565,-1115191227)+W(4,-1074060607,1075290035,1075827337,-1080663089)+W(5,1048011859,1046007784,1070007941,-1068434194)+W(6,1058047003,-1099371585,-1090506241,1042920440)+W(7,1038060178,-1096378099,-1096675048,1057110709);WS(-1095930303,-1128843438); +sum1=W(0,1030842449,-1103461662,1000563038,-1113225514)+W(1,-1111398934,-1156245815,-1098779087,-1120882464)+W(2,-1098728413,1058114717,1057689814,-1098488134)+W(3,-1104159890,1046074787,1041725787,-1111237296)+W(4,1052682210,-1105449143,-1104281110,1038763268)+W(5,1046999855,-1105879965,-1106219642,1055587560)+W(6,-1106232348,1030902068,1039743648,-1090605975)+W(7,-1119168797,1033984854,-1111582036,-1106563184);sum2=W(0,-1087141194,-1081851502,-1078961084,-1109947141)+W(1,-1099413759,1067440534,1057831088,1007133897)+W(2,1045509921,1022398658,-1095618356,1026690396)+W(3,1051942463,1049871690,1029712906,-1117657274)+W(4,-1102894339,1040634467,1049299145,1053833634)+W(5,1058568743,-1114324751,1035108031,1046573470)+W(6,-1115002147,1023241606,-1094447449,1058025266)+W(7,-1099467737,-1104714655,987652806,-1109832065);WS(1018627052,-1077328537); +sum1=W(0,1011043872,-1103889731,-1098360952,-1107592280)+W(1,1041422472,-1079526160,-1088654431,-1138466445)+W(2,1012707679,-1095389295,-1109020730,-1112294435)+W(3,-1118891707,-1101414784,-1102056896,-1150731309)+W(4,1045838144,1016847523,-1121256842,1054425801)+W(5,1057394281,-1109966789,-1114759963,1063939041)+W(6,1057286118,-1117689671,-1115564074,1061143403)+W(7,1042544156,1028492087,-1133534770,1040465365);sum2=W(0,-1138679732,-1115218580,1033867626,-1161717665)+W(1,1050854432,-1096361601,1030621655,-1121504639)+W(2,1030373815,-1104067382,1044499063,-1106511096)+W(3,1031200951,-1122098343,1040061476,980628162)+W(4,-1096378423,1029766795,-1124228530,1028201267)+W(5,1079482342,1035298280,-1128256742,1071708903)+W(6,-1089118805,-1105361644,1035336882,-1064184100)+W(7,-1109436715,1035049634,-1119150405,1048273255);WS(1045693694,1057374369); +sum1=W(0,-1104752283,1045853799,1034312519,1048369598)+W(1,-1123958928,1065585622,1057046586,1031950009)+W(2,-1106189273,1060939321,1061666460,-1103831441)+W(3,-1110300085,1060417841,1050689810,-1103850789)+W(4,-1098373234,1019902402,-1099588978,-1131023893)+W(5,-1089164628,1033283356,-1105510198,-1095062180)+W(6,-1087345809,-1122647270,-1115031649,-1092432965)+W(7,-1091010256,-1103574093,-1126666680,-1092965100);sum2=W(0,1058683530,-1099141199,-1098709872,-1087427905)+W(1,1050776004,1072181481,1032637312,-1081734921)+W(2,1025544982,-1080357543,1036599206,1042479954)+W(3,1058740427,-1086527647,-1113642582,-1105492903)+W(4,-1088885778,1056590706,-1089481634,1072153031)+W(5,1071890032,1048814690,-1092495010,1061509476)+W(6,-1080881103,-1097308566,-1095810808,1052304550)+W(7,-1078556244,1039671439,-1094462248,1050862866);WS(-1081549664,1060153996); +sum1=W(0,-1115318586,1055271797,1063391104,992286043)+W(1,1026471870,1061503832,1062019397,-1105782456)+W(2,1037910210,1045594046,1058772501,-1114468402)+W(3,1043803882,1040755007,1049908468,-1130210466)+W(4,-1095899708,1025423024,-1105647870,-1087586274)+W(5,-1089250259,-1113405924,1033921889,-1085498120)+W(6,-1102496824,-1106446561,-1113674825,-1090055577)+W(7,-1104619012,-1096097592,-1118412923,-1103786988);sum2=W(0,-1110257416,-1097530578,-1080860351,1053790549)+W(1,-1102619530,1064966059,1041061421,1033688102)+W(2,-1098152061,1040479494,1050344847,-1117483359)+W(3,-1083553679,1065962098,1051151965,-1105743952)+W(4,-1077346152,-1088866791,-1082483044,-1068185653)+W(5,1072556372,-1104178634,1052658871,1052310674)+W(6,1064749402,1040931499,-1108410079,1075004369)+W(7,1045213317,1053124980,-1137891932,-1110156824);WS(-1079020096,-1097079011); +sum1=W(0,1033910555,-1092191510,-1096742621,-1109501731)+W(1,-1108027795,-1087072713,-1089091160,1015347636)+W(2,1019929124,-1089417126,-1087558450,1042979875)+W(3,-1134559750,-1091818621,-1104831498,1040369234)+W(4,1055662529,1020967408,1016000225,1057943754)+W(5,1068092504,-1109882648,-1102027816,1059647341)+W(6,-1117499817,-1117366414,-1106889398,1059824411)+W(7,1050143023,1049289276,-1104827345,1043480574);sum2=W(0,-1105851814,1051380185,-1097479797,1037631964)+W(1,-1110757790,1044594400,1028410699,1036652885)+W(2,-1139201564,1046036650,1041068006,1024508007)+W(3,-1104657620,-1105334641,1054960427,-1113225064)+W(4,-1097950410,1028003104,1045348435,1051023588)+W(5,1053237761,1041832368,-1113269608,1034374804)+W(6,-1088293598,-1089693526,1033918380,-1132209182)+W(7,1065714224,-1106359824,-1099925151,-1081781977);WS(-1087384991,1052875812); +sum1=W(0,-1138647561,-1104994285,-1109905397,1041733252)+W(1,-1106477875,1057597757,-1107522048,1034391503)+W(2,-1098694249,1055828187,1062613266,-1100509868)+W(3,-1120730421,1044647290,1052485297,-1110959830)+W(4,1032882549,-1117825756,-1113613058,1041497057)+W(5,-1091247383,1028766931,-1108789794,1050093354)+W(6,-1090201627,1013355333,1042722079,-1087942224)+W(7,-1100016695,1038812681,1034047139,-1098203032);sum2=W(0,-1111428867,-1130655130,1041831066,1019350107)+W(1,-1112005123,1035402260,-1138336400,1017374087)+W(2,-1112772903,1041636268,-1116945124,1028700445)+W(3,999439052,1033528252,-1107238338,1027823157)+W(4,-1112274143,-1077765094,-1103332568,1051650697)+W(5,-1114034096,-1087514353,-1073481211,-1092155273)+W(6,1041190902,1074086485,1069095754,1045953881)+W(7,1027833254,-1107727987,1057277153,1049171133);WS(1050457727,1041689780); +sum1=W(0,-1116681402,1014710691,992358355,-1131312139)+W(1,-1140959985,-1105027369,1040368912,1030961105)+W(2,1048638526,-1090315138,-1089290871,1046496193)+W(3,1049181764,-1086147588,-1098770776,1007270019)+W(4,1027381214,1036450832,1048008788,-1092744895)+W(5,1050737138,933247243,1053966377,-1089348299)+W(6,1055368676,-1119062181,1043432004,1038810352)+W(7,1051301702,1037141075,1023583738,1040416748);sum2=W(0,1019433289,1031729137,1057496780,-1107193278)+W(1,-1123892633,-1086728254,1037283932,1039188525)+W(2,1032631611,-1092570464,-1087309268,1039851328)+W(3,-1097026795,1063903066,1035754242,1044641782)+W(4,-1080020989,1054527180,-1080570956,1072935738)+W(5,-1087453268,1050123895,-1096917141,-1078950448)+W(6,1059438018,1042769096,1053948249,1051352061)+W(7,1056300653,-1106545458,1029707984,1051006721);WS(-1084263519,-1088250567); +sum1=W(0,1049480649,-1096698757,1048954180,-1107101246)+W(1,1049647488,-1119095878,1059331526,-1097447514)+W(2,1018612505,1041330418,1040553109,-1099235545)+W(3,1032447885,1023387386,1040723088,-1103944776)+W(4,1027018719,1043604572,-1111017296,-1118116730)+W(5,-1090501921,1050343697,-1098833704,-1108150329)+W(6,-1094468036,1044030041,-1096264890,1044929028)+W(7,-1106285556,-1175819022,-1121471547,1047463532);sum2=W(0,1034086314,-1121095386,-1157381748,991719940)+W(1,1034571486,-1100672658,-1103829652,1055828179)+W(2,-1098363481,1050795943,-1090417467,1049088345)+W(3,-1111365517,1037803588,-1113801830,-1111430799)+W(4,1027786887,1016292894,1029794653,-1100952734)+W(5,-1118546758,-1098007098,1067178121,-1085350121)+W(6,-1140682323,-1110134488,1008607005,1049271738)+W(7,-1164121191,-1133015817,-1115483467,1035813474);WS(1066054400,-1125664425); +sum1=W(0,-1108545200,1053284635,1054574294,1015260777)+W(1,-1109354663,1058150961,1059735702,1023624464)+W(2,-1108921531,1063397581,1058102002,1023465234)+W(3,-1128865616,1046728251,1046571067,-1116445024)+W(4,-1094415406,-1111343263,-1127045294,-1095241461)+W(5,-1078845388,-1130514988,1041542629,-1088764634)+W(6,-1105651068,-1136829776,1035892576,-1090401103)+W(7,-1104354311,-1106930027,1030749305,-1116790272);sum2=W(0,-1103469615,1029373537,-1104697837,1041565398)+W(1,1035794320,1080145714,1057447179,1029690269)+W(2,-1107146771,-1066097425,-1103623095,1035452008)+W(3,1040850628,-1103109309,-1097535851,-1124704946)+W(4,1031260861,1035036640,-1158883614,-1115419200)+W(5,1043319440,1041655252,1034486240,1026403525)+W(6,-1103531154,-1114794272,-1114789346,1050811672)+W(7,1055196268,-1102936938,1036709484,-1090176537);WS(-1087901375,1071177135); +sum1=W(0,-1122618691,-1109965218,-1110224028,-1121594272)+W(1,1044010486,1010935165,-1120206908,-1114434254)+W(2,-1108159437,1041417229,-1108541318,-1113833999)+W(3,-1123472883,1039497451,-1109330685,997526195)+W(4,1047787782,1027034090,994425384,1030219348)+W(5,-1113546820,1040356168,-1106192913,-1114914192)+W(6,1035224125,-1130438655,-1112701798,1046030645)+W(7,1022061139,-1125745551,-1151173965,1017890711);sum2=W(0,-1108814485,1042859710,-1116367239,1042217679)+W(1,-1080767453,1073929687,-1078638996,1058334461)+W(2,1030602271,-1116721722,-1092080339,1050991857)+W(3,-1127683613,1035114111,-1106162437,1034906705)+W(4,1027395369,-1114630403,-1140328609,1026421701)+W(5,-1097310248,1028261520,-1105295199,1028343990)+W(6,1051491707,-1105219597,-1122297114,1042808122)+W(7,-1112071525,1017171678,997359482,1024141024);WS(1066545696,-1154623394); +sum1=W(0,-1115505461,-1098488296,-1114054203,-1105442505)+W(1,1023914903,-1089108436,-1092352928,-1102287846)+W(2,1016559928,-1096061654,-1087887754,1021900696)+W(3,-1129232035,-1095543703,-1097827287,-1142506442)+W(4,1049322687,1010507424,-1123432545,1057182265)+W(5,1059635472,1045294808,-1097309632,1062190966)+W(6,1043675118,1042399967,-1098559779,1057132007)+W(7,1055016957,1026256390,-1110816589,1048482034);sum2=W(0,-1073520568,-1119660436,1040526244,-1094410020)+W(1,1007932024,1074284701,1072065972,-1076806727)+W(2,-1126774165,-1114285571,1045336233,-1129053184)+W(3,1026440100,-1109537500,1027498382,1016297320)+W(4,-1105577163,1014274624,-1120085021,1038890507)+W(5,-1096715819,1032586275,-1119386280,1038803075)+W(6,-1106066396,1033069015,-1148623280,1048625414)+W(7,-1128514892,1028560484,-1113847206,1035667090);WS(1055250687,-1106970626); +sum1=W(0,-1105149829,1055784922,1042190962,1033119688)+W(1,-1098690473,1060328969,1039447718,1043588463)+W(2,-1111820283,1050469874,-1105877415,1051357302)+W(3,-1119401059,1044861546,-1123255849,1036109552)+W(4,-1103230410,-1125652468,-1117586055,-1096546392)+W(5,-1094495495,-1103963220,1035816565,-1093610964)+W(6,-1102978667,-1108600424,1047255951,-1104321127)+W(7,-1097968467,1018776031,-1157028943,1034127854);sum2=W(0,-1111076574,-1147844455,1030211853,1038757267)+W(1,-1107631850,-1080902130,1002666567,1036628998)+W(2,-1126199158,1067727291,-1089131777,1045867530)+W(3,1014361489,-1114432338,1050167793,1034641438)+W(4,1039985174,-1117005539,-1133782171,1033894636)+W(5,-1084645521,1049641986,-1150866734,-1092985165)+W(6,-1096580382,-1100550183,1051354211,1069738325)+W(7,-1100261485,1033251244,-1104598763,-1100096489);WS(1063662431,1022143153); +sum1=W(0,1044567949,-1100200043,1028101088,-1101665898)+W(1,1054985008,-1090770105,-1110575390,-1113912242)+W(2,1031890901,1034205190,1042239925,-1089448239)+W(3,1016341751,1032506575,1041117720,-1106608329)+W(4,-1112112432,1049135824,-1107336877,1045825111)+W(5,1036354680,1043762234,-1117269540,1011332621)+W(6,1020582213,1045380738,-1090665684,1053092900)+W(7,1037368233,1027635960,-1108114694,-1122250931);sum2=W(0,1044140338,-1125871763,995625223,-1109621945)+W(1,1054192939,-1085775903,1059194369,1011973298)+W(2,1050669158,1055305067,-1085690186,-1083519810)+W(3,1007706050,1024423563,-1115586758,1015542539)+W(4,-1131300267,1031533647,-1127273987,1033690799)+W(5,-1105557074,1049649037,-1100093028,1019603073)+W(6,-1093331249,1041330252,-1099380904,1066625604)+W(7,-1163078190,1021669909,-1109873113,1025625789);WS(1065395904,1046290614); +sum1=W(0,1015596034,1043656950,-1125542553,996799560)+W(1,-1100927819,1054862894,1056396433,-1100668872)+W(2,1025322396,-1099487682,-1088911438,1043886221)+W(3,-1114934548,-1117673547,-1105531411,1035443240)+W(4,-1105153011,1036793959,-1122586727,1038203972)+W(5,-1101762943,1035554923,1049715632,-1085640859)+W(6,1036429768,-1122121748,-1115152096,1057024083)+W(7,1035195023,1024299964,1039652277,1021072448);sum2=W(0,-1133651707,-1140172751,1017509749,1029237671)+W(1,-1114162505,-1092617066,1030543605,-1114304490)+W(2,-1112015576,1033357967,1051105475,-1125875827)+W(3,1035088799,-1105982664,1011455075,1015895733)+W(4,1038596873,1037378915,1032328729,-1104176053)+W(5,-1093179067,1049979232,-1104642832,1050264307)+W(6,-1090684841,-1085540383,-1110244360,1071302855)+W(7,1003487558,1015899853,-1135016203,-1100815852);WS(1058730335,1038095077); +sum1=W(0,-1156396202,1022785342,-1090412329,1050009523)+W(1,-1123440788,1051849503,990514519,1045232946)+W(2,1029074928,1048747736,1050259497,994853272)+W(3,1016043038,1047238893,1040337077,-1116532263)+W(4,-1112028282,1033123659,-1120619710,-1116071407)+W(5,1025171300,1042856679,-1138222105,1027669243)+W(6,-1091116387,1046148791,1043400402,-1091444451)+W(7,-1085293672,1050565349,1031722640,-1095024325);sum2=W(0,-1119023958,1047372879,1056160584,1046272294)+W(1,-1097641458,1062851774,1066704996,-1106071503)+W(2,-1122591395,-1095719050,-1127558738,-1099339001)+W(3,-1112624405,-1094334166,1012197993,-1120322169)+W(4,-1100807597,1012350161,-1086350256,-1069609928)+W(5,1071319304,-1165704932,-1093103672,1063602974)+W(6,1049925865,1039176837,-1099266547,-1123458905)+W(7,1046841945,1043315186,-1104052164,1037702687);WS(-1102208382,1082454872); +sum1=W(0,1019782131,-1109352802,-1097489215,-1121527792)+W(1,1042764822,-1094323164,-1089475261,-1111677734)+W(2,-1109244559,1055571354,1057233791,-1098291428)+W(3,1023050790,1023873367,1036609181,-1122839755)+W(4,1043005718,1025756170,1024559218,1044710709)+W(5,-1113184692,1034230961,-1098383546,1059136208)+W(6,-1113821821,1034138424,-1121795355,-1102862820)+W(7,-1122283881,1021065311,-1148370726,1016630678);sum2=W(0,1033684352,-1113902527,-1113722375,1012975921)+W(1,1048900749,1065557700,1034379158,-1119837718)+W(2,-1106132930,-1078602486,1033601684,-1088385914)+W(3,1047279942,-1117907500,1048231286,-1107812043)+W(4,-1108511603,1034062718,1009270385,-1109752074)+W(5,1065261424,1042274647,-1096952633,1047596894)+W(6,-1113936114,1038223706,-1110816087,-1110433219)+W(7,-1110420048,-1111923151,1037668398,-1106600777);WS(1055139903,1066543323); +sum1=W(0,1034160554,-1106690282,1025777755,-1113216706)+W(1,-1104052311,-1108040417,1025857819,-1110997976)+W(2,-1100344024,1058801014,1042814916,-1130057219)+W(3,-1102181302,1061190298,1040801319,-1109060119)+W(4,1047449287,-1115394087,-1094834883,1062476912)+W(5,-1088276389,-1109281747,-1100641176,1040533578)+W(6,-1096553156,-1131081926,-1111790927,1043316038)+W(7,-1109923206,-1116502963,-1127882001,1003175286);sum2=W(0,1026043047,-1143136704,-1093611286,1032900543)+W(1,1005946567,1065137024,-1129502699,1011969739)+W(2,-1106573410,1044311979,1034934846,-1104378201)+W(3,-1098913457,-1107526541,-1128312106,-1149079854)+W(4,-1104881087,996537094,-1103368978,-1093105706)+W(5,1062580590,1038772124,-1097512177,1056641171)+W(6,-1102271464,1035638256,-1108835309,-1137732946)+W(7,-1097055308,-1144299515,1028654910,-1106196955);WS(1037662203,-1095462961); +sum1=W(0,1007151360,1048962332,1054332722,1051208476)+W(1,-1120692693,1060311124,1056131053,1047867778)+W(2,1029685138,1057524976,1053179033,-1102286423)+W(3,998066935,1053688986,1045179237,-1117174983)+W(4,-1096098779,-1120684294,1009988859,-1088537607)+W(5,-1086623130,1008468855,1043868050,-1089718811)+W(6,-1093380227,1041242535,1024446024,-1088149909)+W(7,-1094538289,1022948968,-1121112609,-1094989189);sum2=W(0,-1078284587,1070403917,1064397427,-1075642964)+W(1,-1086975712,1071930150,1072178178,-1077677369)+W(2,-1109971278,-1119680819,-1093947328,1050575143)+W(3,1046375822,-1094009133,-1134729809,1043550667)+W(4,1050515956,-1100572061,1049259770,1042055631)+W(5,-1096417404,-1110188613,1038272909,-1094922849)+W(6,1045435393,-1109186235,1033007627,-1094640520)+W(7,-1106076462,1038207101,1040318497,-1109099138);WS(-1091974591,1028524890); +sum1=W(0,1034997099,-1101120961,1050666155,-1119527298)+W(1,1033463662,-1146674958,1057798952,-1099802012)+W(2,1044419888,1054164791,1048486316,-1090658116)+W(3,-1110855131,1053708795,1033437822,-1099353751)+W(4,-1100807815,1044100139,-1119869997,-1104886813)+W(5,1021707158,-1112176434,-1103774309,-1099838668)+W(6,-1093871840,1036492177,-1094617942,1057612011)+W(7,-1104286795,1028051362,-1113521820,1029138830);sum2=W(0,-1113245689,1037297246,-1114745613,1029285075)+W(1,-1099734421,1057852752,-1113507597,1046869988)+W(2,-1099048447,1019950674,1031538739,1045806866)+W(3,-1129472848,-1115367833,1039903515,1040440310)+W(4,1034295695,-1103172653,-1127985632,1024121756)+W(5,1063764387,-1092930743,-1097344586,-1081105309)+W(6,1060684479,-1113791115,1039548141,-1093953622)+W(7,1051222485,-1106398082,1024790472,-1099720743);WS(1058893599,-1078409713); +sum1=W(0,1036724056,-1100240992,-1102829117,-1115244150)+W(1,1049246955,-1084866106,-1094663483,-1098555735)+W(2,-1138283737,-1093243506,-1085064800,1045222582)+W(3,-1115412967,-1095580366,-1093950047,1044966206)+W(4,1053376406,-1114512019,-1115623287,1039336887)+W(5,1065100884,1018575674,1041993169,1053054383)+W(6,1056764679,-1108377677,-1114852275,1054590883)+W(7,1050610273,-1122449691,-1118180448,1053059489);sum2=W(0,1009552185,-1090337753,-1101060123,-1130929736)+W(1,1050909748,1053567468,1072779570,-1084383778)+W(2,-1096700837,1057662166,-1079161361,1049209322)+W(3,-1129474226,-1112521942,-1097661058,1051369678)+W(4,1061442923,-1103557108,-1105822172,1045192083)+W(5,-1089269841,-1117595750,-1106762492,1050903982)+W(6,-1094014597,1025228376,-1111371347,1029505799)+W(7,-1105984421,1030887459,-1138825972,1046387683);WS(-1109369595,1048740969); +sum1=W(0,1030414773,1050319297,1051718495,1040995480)+W(1,1043594790,1046504696,1059003715,-1118646413)+W(2,1037121811,1043825845,-1135436979,-1129436350)+W(3,1043560049,1058279379,1049475887,1030207412)+W(4,-1095167863,1032958437,-1125552391,-1091711555)+W(5,-1083562713,1045509569,1042985722,-1085356599)+W(6,-1098326935,1019546753,1023899916,-1096690237)+W(7,-1098718953,-1105013544,-1130219052,-1120665100);sum2=W(0,1043809265,-1109343151,-1117552581,-1113177829)+W(1,1034071291,1063553374,1052574118,-1095416462)+W(2,1043900974,-1112203792,1070912061,-1120341831)+W(3,-1119209873,-1072794661,-1091338378,1020015593)+W(4,1039662186,1009024316,1041583669,-1100446453)+W(5,1053677817,1018689733,-1118793923,-1114145263)+W(6,1042882834,-1105538343,1031195477,-1101063801)+W(7,1055602011,-1109237633,-1114748986,-1094258913);WS(-1093437503,1065718162); +sum1=W(0,-1101135841,1042594425,1049488055,1037550096)+W(1,-1107014286,1066142676,1049041945,1044878747)+W(2,1037051057,1045825417,-1100146203,1042111087)+W(3,1041500301,-1119554198,1040663590,-1099961615)+W(4,1046266118,-1097873069,-1114711965,-1103061781)+W(5,-1106438298,-1091362312,1046063170,-1087470164)+W(6,-1091131027,1040258368,1037494709,-1111606545)+W(7,-1103590594,1033770775,-1109172298,-1133427370);sum2=W(0,1026201604,-1113590739,-1123106758,-1106488910)+W(1,1060425407,1061776657,-1084666863,1035711566)+W(2,-1096618367,-1119175762,1055047321,-1098764525)+W(3,-1127820908,1041613778,-1103500958,-1182808622)+W(4,-1092748399,1043391307,-1124712996,1050172947)+W(5,-1099741350,1048423650,-1098783459,-1097703384)+W(6,1050324229,-1099280352,1041036039,-1120322586)+W(7,-1105222946,-1118590758,1048645442,1025620288);WS(1056660607,-1113798601); +sum1=W(0,-1101671294,1008348404,1041913228,-1115305597)+W(1,1039904137,-1093680051,1031963795,1016801995)+W(2,1040453028,1034024758,-1089471492,1037148876)+W(3,-1154296528,1031051312,-1111400057,-1110559226)+W(4,998498191,-1151777337,1026504084,1012656821)+W(5,1057450908,-1108358078,1032505286,-1102006873)+W(6,-1111681498,1043455038,1031920291,1049874551)+W(7,1036430914,-1125050675,-1129849213,-1109457443);sum2=W(0,-1114796094,-1101207597,1024638457,1042939003)+W(1,-1124781020,-1097759574,1027593065,1044529628)+W(2,1016881133,1033669310,-1130307786,-1106748864)+W(3,1027959261,1019735589,1022409637,-1108227590)+W(4,1042777565,1022659417,998901155,-1123927190)+W(5,1059165645,-1104939928,1017512357,-1098782283)+W(6,1017094385,-1089791762,-1098668376,1062760553)+W(7,-1125388747,-1115680109,-1106217568,-1160993898);WS(1066155712,1004288134); +sum1=W(0,1029697589,1048612844,1049267618,1047132567)+W(1,1041631965,1059093756,1055750611,1014062303)+W(2,-1123217244,1056993158,1057479944,991515041)+W(3,1030265807,1055767146,1047138005,-1154741365)+W(4,-1092380195,1046969501,-1138510971,-1089062279)+W(5,-1084647474,1049129552,1024451359,-1088453014)+W(6,-1088742789,1043007167,1040560290,-1091963789)+W(7,-1086886676,-1122583780,-1122630737,-1098495965);sum2=W(0,-1111382628,-1103755803,1040858440,1011892235)+W(1,1032283234,-1084511950,-1125277089,1037768402)+W(2,1009460031,-1159433014,-1090323786,-1114728106)+W(3,1030203700,1052886875,1053584755,-1112526532)+W(4,-1109875610,-1106716388,1010964983,-1127819845)+W(5,-1071556311,1040462902,1032593498,-1096621612)+W(6,-1099343032,1040394500,-1100404332,-1071973667)+W(7,1079690007,1051792925,1007208771,1076043190);WS(-1086041375,1049976369); +sum1=W(0,1025261033,-1097190986,-1096855193,-1125608345)+W(1,1046732297,-1083643033,-1086237883,1032012444)+W(2,1036081274,-1095059844,-1093631755,-1114869141)+W(3,-1119140736,-1095180224,-1132519191,1036645660)+W(4,1051176741,1030637974,1048607039,1037693680)+W(5,1062665585,-1103554484,1026121224,1059434222)+W(6,1052562329,-1109004102,-1110078044,1052924527)+W(7,1048775023,-1118200972,1035782593,1041010310);sum2=W(0,-1144560396,1026958814,-1115199196,1029601330)+W(1,-1115106220,-1106065675,1032369083,1032763954)+W(2,-1121335223,1029124674,1042189754,-1111454114)+W(3,1021645795,1026253022,1022674491,-1109520646)+W(4,-1100298556,-1081990625,-1079547524,-1096390757)+W(5,-1108884178,1041059708,1041174181,1076866217)+W(6,1025985538,-1127158528,1024602232,-1116766618)+W(7,1011072742,1003377428,1007020790,-1115268590);WS(-1111980027,1060626277); +sum1=W(0,1032179266,-1092055397,-1102882983,1023621139)+W(1,1037158526,-1095093232,-1089823274,1030954414)+W(2,1036680203,-1139402199,-1090725010,1036765152)+W(3,-1119312598,-1108873773,-1116432156,-1146606447)+W(4,1043529367,-1113080214,1028429765,1044706422)+W(5,1064981515,-1098683411,-1101761443,1057090380)+W(6,1042557255,1030304674,1033439719,1047303429)+W(7,1041638915,-1112219839,-1104492078,1028925358);sum2=W(0,1046455264,-1090239140,1045439570,-1107703976)+W(1,1048924762,1064195571,1028879562,-1093472442)+W(2,1049435664,1027385222,1016778259,-1097201227)+W(3,-1119402461,-1105208479,1028121257,-1106239872)+W(4,-1096329612,1035962913,-1122224669,1032849260)+W(5,1036056807,1041148911,-1098806672,1030082819)+W(6,-1091675747,1041687668,-1091828205,1059898488)+W(7,-1117889585,-1104565052,-1098243254,1053658286);WS(1062681599,1040842201); +sum1=W(0,-1115361429,1050445194,-1104300209,-1108789463)+W(1,-1092926921,1063952639,-1089127203,1048981817)+W(2,1029602904,-1106041808,1043197406,1054602509)+W(3,1025443329,-1114238594,1039191171,-1117967305)+W(4,-1097788769,-1114475276,-1118282400,1042117608)+W(5,1049970971,-1090427073,1049574381,1032428200)+W(6,1049956321,-1112080775,1045778638,-1088418847)+W(7,-1123051255,1033393295,-1097758566,-1112931212);sum2=W(0,-1100048068,1043050536,-1126315713,1038735267)+W(1,-1110884051,1058830244,1053683464,-1115453090)+W(2,-1153955669,1037942519,-1100540415,-1090743949)+W(3,-1103797208,1040830228,-1098889179,-1112598570)+W(4,-1115313021,-1115683900,-1111656758,-1111714958)+W(5,1061563017,-1105966973,-1093358619,1046662525)+W(6,-1104363663,-1101879362,1037413595,1052621807)+W(7,1007755797,-1098877089,1044482581,-1118760183);WS(1062776447,1069975051); +sum1=W(0,-1112835078,-1114635034,1036893844,-1130308944)+W(1,-1094805377,1071110128,1050058840,-1113144126)+W(2,-1114270939,1044746969,1061455014,-1098008538)+W(3,-1117827459,1049407081,1018226642,-1117364667)+W(4,-1098478453,1029922778,-1108240801,-1104137265)+W(5,1041368142,-1088740684,-1111877761,-1104852259)+W(6,-1109080309,-1119589855,-1112520550,-1095764665)+W(7,-1120810969,-1103102129,-1121527653,-1103882015);sum2=W(0,-1110297977,1026197871,-1113117380,1028834725)+W(1,1034973002,1077416661,-1099362318,1035091068)+W(2,-1154986018,-1112814852,1050456944,-1110025415)+W(3,1030684381,1016280910,1027999489,-1120031976)+W(4,996515330,1032917698,-1113210551,1037052904)+W(5,-1069860026,-1103487680,-1106692355,1043940575)+W(6,1021906202,1006658352,1034055293,969317772)+W(7,1013156184,-1124181989,1018186436,-1115577362);WS(-1082599007,-1084302409); +sum1=W(0,1011517278,1052281350,1056665680,-1127095446)+W(1,1024933540,1061132051,1058821842,-1110892475)+W(2,1039136849,1052720805,1054434479,-1111586789)+W(3,1049617952,-1159632952,1043783817,-1108207315)+W(4,-1096260148,-1128228554,1035858193,-1087212124)+W(5,-1087957451,1023709101,1043137767,-1085877656)+W(6,-1102718609,-1111842501,1037286635,-1089270826)+W(7,-1106709957,-1115207149,-1130056576,-1106422582);sum2=W(0,1071226724,1065850492,-1095160239,1048459811)+W(1,1074401127,-1099027008,-1121381976,1075494724)+W(2,-1077687291,1057399482,1031151008,1044864951)+W(3,-1066953112,-1095971461,1045213405,-1072311776)+W(4,1043007163,-1127547903,-1123792544,1026509768)+W(5,-1093896652,-1107011198,1027169380,1043168485)+W(6,1019701051,1021690579,1037067951,1012395574)+W(7,1027278540,-1166810856,-1124089088,-1109946848);WS(-1118215158,-1130722305); +sum1=W(0,-1119983743,1040649785,1045520358,1039784439)+W(1,-1101267710,1070303194,-1126797149,1027132090)+W(2,-1119840977,1056727436,1059129261,-1106141431)+W(3,-1158357571,1050582583,1040938982,-1131926580)+W(4,-1098235299,-1166742058,966095017,-1094865274)+W(5,-1106608186,-1127173569,1023429181,-1085881139)+W(6,-1093134907,1030946302,-1112024885,-1088850304)+W(7,-1104503154,-1106263629,-1160489077,-1098615277);sum2=W(0,1029904221,-1092335308,1043676402,-1122933952)+W(1,1044174015,-1106663265,1050667883,-1104768174)+W(2,1032455763,1033986578,1035773679,-1122786276)+W(3,-1120585334,1030027555,-1123822916,-1118952582)+W(4,-1096734640,-1121365342,1034421913,-1122578476)+W(5,1078656606,1049347404,-1103315560,-1067932755)+W(6,-1106732625,-1114333025,1027752905,1056344301)+W(7,-1116084330,-1129253837,1025409455,1033374173);WS(-1112296443,-1083191171); +sum1=W(0,-1102688301,1052276159,1049894985,1030599873)+W(1,-1091052013,1061107959,1055519004,1038739494)+W(2,-1118018759,1052059899,1059731464,-1120252367)+W(3,1036799090,1050879021,1050382861,-1105737735)+W(4,-1095734081,-1114229790,-1124642344,-1100141489)+W(5,-1078809864,-1108354137,1039505712,1044438853)+W(6,-1095185489,-1129006466,1037196526,-1100785926)+W(7,-1113977245,-1123394945,1034647259,-1092887220);sum2=W(0,1040286055,-1093721101,1032198029,-1134366274)+W(1,-1089934078,1038410574,1064064153,-1103185345)+W(2,-1135474394,1053898256,1053501328,-1104699884)+W(3,984214720,1045555557,-1088730122,1039368980)+W(4,1059013351,-1099320981,-1113629492,-1102569648)+W(5,1075980540,-1079072621,1062572765,-1076328416)+W(6,-1093863519,1039501040,1057269325,-1081344728)+W(7,-1089334779,1050815727,-1089994189,1061819985);WS(1051639487,-1077445112); +sum1=W(0,1019039018,-1097242582,-1087680633,1023584208)+W(1,-1114024277,-1084584703,-1087958558,1046978951)+W(2,1036430651,-1090497932,-1089578188,1042440780)+W(3,1017051223,-1089989738,-1100840226,1019910405)+W(4,1049175941,-1110819225,1019116206,1058381481)+W(5,1058705186,-1110784681,1041321753,1059595066)+W(6,1057261083,-1111841304,-1120949436,1060807824)+W(7,1052092149,1037750032,-1108976675,1047705823);sum2=W(0,-1103949071,1024633771,1043027417,-1103483317)+W(1,-1096200772,-1096718424,1050158855,1036613850)+W(2,-1090478844,1037855330,1057240079,-1094761445)+W(3,1024429003,-1103545669,1036780676,-1091384835)+W(4,-1105891820,-1101612494,-1126025102,1043672886)+W(5,1053817256,-1144187697,1051748473,-1113242263)+W(6,1053166295,-1114569970,-1129269697,1043447632)+W(7,1034776200,1044262941,-1102484885,1043680942);WS(-1102141694,1066754929); +sum1=W(0,1028037205,-1105574095,-1097150806,1024767465)+W(1,996156698,-1086231302,-1092607882,-1148374821)+W(2,1011245536,-1090150659,-1085570014,1034886379)+W(3,1023537404,-1100403588,-1093685286,1017269224)+W(4,1021251426,-1123186307,1047316983,-1121670572)+W(5,1064662112,1037457517,1027553675,1053426631)+W(6,1058905527,1031219256,-1103359865,1060264850)+W(7,1048736520,1039125668,-1108923303,1047037217);sum2=W(0,1031019669,-1121000217,1005444026,-1127568330)+W(1,-1123247753,-1099801823,-1135062981,1013355589)+W(2,-1126559289,1052295626,1044314830,-1131101666)+W(3,-1122774763,1018744598,-1112001042,-1128009624)+W(4,1052911126,-1075891845,-1069105992,-1099850392)+W(5,-1120914990,1078854269,1052106082,1040255711)+W(6,-1112663055,-1097592921,1061745892,1055431083)+W(7,-1105142519,1037317546,1033712114,1029993103);WS(-1092827839,1049601702); +sum1=W(0,1048973336,-1100496851,-1114726817,-1102748075)+W(1,1035794226,-1092935501,1056141590,-1101661842)+W(2,951002293,-1127762491,-1090189951,1035295380)+W(3,1019995195,-1116434785,-1107070641,1028700102)+W(4,1037939345,1025584388,1001409895,1043768535)+W(5,1048278549,1028885900,1043222609,-1092531310)+W(6,-1107678146,1046084402,-1097823129,1059458263)+W(7,-1103464157,1033486885,1018269854,1040739973);sum2=W(0,1049954711,-1087014785,-1099866854,1047648616)+W(1,1036131868,1059724034,1059941103,-1086499077)+W(2,-1144052469,-1116739540,-1104253425,1021844703)+W(3,-1114852932,-1119117496,-1123734224,1036766656)+W(4,-1127547935,1032774583,-1104812914,1040911688)+W(5,-1147690453,-1112213150,-1118719608,1006897087)+W(6,1046092804,1037506252,1020986307,-1094365093)+W(7,1045874226,-1120467144,1020773629,-1117733622);WS(1062974879,-1132215613); +sum1=W(0,1033235448,-1103300066,-1096960767,-1181157822)+W(1,1032693326,-1084817024,-1098273063,-1120645311)+W(2,1012846527,-1093312183,-1086871647,1014937094)+W(3,1027727527,-1099477807,-1094276984,1029466479)+W(4,1024586364,1028472621,1046591191,1047884458)+W(5,1065496294,-1105457745,1027902609,1040665968)+W(6,1057013666,-1121668195,-1099580452,1061273423)+W(7,1049029078,1033797162,-1123904424,1048826162);sum2=W(0,1023555157,-1127207629,-1114727130,-1120861164)+W(1,1039733942,-1100512081,1049207316,-1114715157)+W(2,-1121732899,-1113639142,1044392032,-1111876903)+W(3,-1136150442,1035475508,-1107243417,1028106223)+W(4,1021361633,1067585393,1073213517,1051943787)+W(5,1049204344,-1072102567,-1095215585,-1100379929)+W(6,1040523175,1017790060,-1085077901,1029680046)+W(7,1017564481,-1111101803,-1115100698,-1113800818);WS(1038961915,-1122010239); +sum1=W(0,-1113106351,1052250558,1048595660,1004620105)+W(1,-1125534724,1061573929,1058549636,-1112775210)+W(2,-1126589322,1048822826,1057522353,-1137271196)+W(3,-1119328748,1048641524,1040718305,1026657556)+W(4,-1096833644,1027857155,-1116246236,-1099376311)+W(5,-1086812373,1040782707,1036452944,-1088891129)+W(6,-1095914356,-1113857108,1018281129,-1093214133)+W(7,-1103878453,-1106455448,1010557432,-1105329661);sum2=W(0,1024927837,-1162615720,1027562258,-1116580406)+W(1,-1115420496,-1109513493,1047581344,-1129828931)+W(2,-1123989928,-1118168090,1038795182,1011185933)+W(3,-1132229127,1038841827,1030671240,-1146345634)+W(4,-1098456431,1064911462,1077914250,1055923683)+W(5,-1093462217,-1072190840,-1076359256,-1107918233)+W(6,1042713369,-1114062645,1023726209,1043574176)+W(7,1029869485,-1111766417,-1119388396,-1118222006);WS(1058520191,-1103814144); +sum1=W(0,1027734728,1016280509,-1136595532,1017038583)+W(1,-1107262661,1062837304,-1109207324,1045254802)+W(2,1031430877,1040464732,1058887264,-1105442246)+W(3,1024536063,1029953906,1030731221,-1126950445)+W(4,-1128563239,-1097122909,1027978638,-1118053743)+W(5,-1096672636,1033499055,-1104843131,1044218638)+W(6,-1103880229,1030848699,1025985831,-1085861660)+W(7,-1145128486,-1109411553,-1131329888,-1107144426);sum2=W(0,-1125598974,-1168898884,-1176551015,1034702970)+W(1,1027536136,-1101298022,1041527709,-1114553387)+W(2,1035052048,-1106074654,1036785061,-1115924578)+W(3,1025333585,1024211757,1030578400,-1132148431)+W(4,-1090251816,-1089294892,-1110263367,1007931783)+W(5,1043575777,1061443693,-1085860022,1067159008)+W(6,-1104273626,1042454777,-1099982080,1028484706)+W(7,-1114791455,-1123742626,1027614804,-1148595850);WS(1061983711,-1098811342); +sum1=W(0,-1126897281,1046420622,1051270689,1012577103)+W(1,1024253613,1058369439,1058683087,-1105225996)+W(2,-1137207095,1052214131,-1097514912,1053413654)+W(3,-1109172700,1050302029,-1105013139,1042674340)+W(4,-1106195699,-1107699151,-1107438075,-1108510228)+W(5,-1089548804,1026749110,1036711743,-1088411008)+W(6,-1096732498,1024709491,-1116819519,-1118840551)+W(7,-1103000311,-1154413112,-1140694819,-1109015536);sum2=W(0,-1110181012,1041828239,1036503366,1018267361)+W(1,1038715850,-1085432172,1050199247,-1146613180)+W(2,1036970119,-1123003584,1038941240,1024296823)+W(3,-1124702635,1021003447,1013422114,1022003098)+W(4,-1116783782,-1102883314,-1099489904,-1126101987)+W(5,-1080125372,1047113133,1052019906,1071387060)+W(6,-1114155200,-1112911441,1035497971,-1093021050)+W(7,-1143100940,-1131838862,-1119585859,-1149124484);WS(1061194367,-1092415693); +sum1=W(0,-1126263470,1053058480,1051201914,1036390333)+W(1,1043857157,1047231542,1054554894,1025725222)+W(2,1044002978,1050872286,1057662314,1035642972)+W(3,1045699251,1049392206,1045022613,998479342)+W(4,-1172862130,1030237668,-1115149537,-1104881972)+W(5,-1076465248,1036659934,1021350042,-1093268199)+W(6,-1093150623,1026362746,1039247491,-1087389459)+W(7,-1095910796,1018350484,1017611295,-1111846627);sum2=W(0,1042193002,-1087595144,1018376667,-1129487679)+W(1,-1095819059,1063707892,1054016721,-1108339354)+W(2,-1103499785,-1103064253,1036978867,1041127864)+W(3,-1118637794,-1112191100,-1103241982,1034257999)+W(4,-1098446206,-1106566736,-1117386048,-1097777178)+W(5,1068295659,-1104582586,-1108034123,-1106280983)+W(6,-1110264861,1036459063,-1102127104,1052165187)+W(7,-1107248782,996655259,-1104779766,-1135489703);WS(-1094699455,1066131816); +sum1=W(0,1029004921,-1088299640,-1081848423,1049793485)+W(1,1043166228,-1084821317,-1084057276,1050253240)+W(2,1041612884,-1104203619,-1084563631,1029407446)+W(3,1012128942,-1096241030,-1099802604,1035949114)+W(4,1048637514,-1139594888,1042128105,1059460685)+W(5,1059873140,1020508084,1026023615,1060796209)+W(6,1047596309,1048504406,-1125172935,1055943200)+W(7,-1105809528,1051471881,-1115227886,1050483936);sum2=W(0,-1118034101,-1097493973,1051802488,1060779432)+W(1,-1119327164,1060027297,1057101737,-1104519356)+W(2,-1106905521,1057962293,1044004337,-1101970936)+W(3,-1082144605,-1086721729,-1098665363,1002331293)+W(4,998397725,-1112558489,-1114203174,-1086062785)+W(5,1066349798,-1091352583,-1099984065,-1092333837)+W(6,-1133317807,-1102635709,-1094257268,979464170)+W(7,1070824403,-1114333706,-1094504499,1046794021);WS(-1074268304,1079667699); +sum1=W(0,1027760991,-1090199334,-1101508903,-1107189325)+W(1,-1113641470,-1087996124,-1090363950,-1136873402)+W(2,1033891144,-1096484091,-1083961527,1031162561)+W(3,1035917755,-1093567651,-1098094611,-1126712892)+W(4,1054303683,-1107632246,1035260131,1054199089)+W(5,1067750847,-1101800081,1005391451,1062422475)+W(6,1052689284,1046337921,1034855959,-1113534839)+W(7,1045977323,1042992013,-1150999418,1031942551);sum2=W(0,-1121805095,1045040397,-1100757902,-1109104193)+W(1,1048674700,-1080397282,1080470972,1045986101)+W(2,1048446997,1054845861,-1070026310,-1091901802)+W(3,1027039508,-1113850952,-1109557127,-1113936425)+W(4,-1125556022,1026278254,-1125509919,1040683096)+W(5,-1095181876,1050380898,-1112163985,1049174250)+W(6,-1110936398,1033243862,-1131668233,-1122013099)+W(7,-1103996340,1036778147,-1144282357,1038355211);WS(-1085238047,-1082053459); +sum1=W(0,-1138285833,1010512412,1039996894,-1106787663)+W(1,-1094657608,1045540841,1053399812,-1108632776)+W(2,1037328759,1044326914,1051732998,-1101713608)+W(3,-1109379868,1057105320,976543556,-1111697288)+W(4,-1119213276,-1128637723,-1104330662,1048926451)+W(5,1010216242,-1096910157,-1108017347,-1130975030)+W(6,1025236158,1015829447,-1101323868,1034301867)+W(7,-1109745879,-1108664266,-1111437732,-1128978334);sum2=W(0,1032956443,-1119700813,1025825838,-1124623913)+W(1,-1101336864,1046009611,1032253087,1027185909)+W(2,1029736763,-1108021530,1060071017,-1094263361)+W(3,1039412150,-1092338318,-1111711122,-1112090109)+W(4,-1135835500,-1114452863,1021162350,1042257288)+W(5,1048892371,-1102267892,-1109212782,1053804277)+W(6,-1101254223,1037505372,-1105958464,1036906607)+W(7,-1114145526,-1125671849,996911332,-1115069322);WS(1060867039,-1136390908); +sum1=W(0,1034805910,-1094311080,-1085412379,-1127355032)+W(1,1029669941,-1084691216,-1093352008,1035163860)+W(2,1021674692,-1088125293,-1088428116,1042066222)+W(3,1021261983,-1091872390,-1096644095,1040577786)+W(4,1049208039,-1108149971,1047055468,1049179798)+W(5,1063283264,-1103012671,1036232649,1060583566)+W(6,1055147879,1026233836,1024178471,1058522472)+W(7,1041474713,1049799631,-1126656770,1050065089);sum2=W(0,-1098827199,-1085747691,-1063752230,1035672114)+W(1,1035178389,1075347264,1077059336,1049155846)+W(2,-1144855824,1034654874,1056308660,-1107113032)+W(3,-1127184278,1014935340,-1121418857,1035201737)+W(4,1041803367,1034418818,1013645866,-1093487673)+W(5,-1096808218,1049524211,-1106855503,1041184099)+W(6,-1119639669,1030856901,-1122362105,-1129382302)+W(7,1011408026,-1115004359,1027103888,-1122522987);WS(-1090674303,-1100343233); +sum1=W(0,1040422273,-1094093465,-1091881416,-1120232797)+W(1,-1138867958,-1089254334,-1085938046,1026412864)+W(2,1033565615,-1085407367,-1089797193,1033879777)+W(3,988102399,-1105032111,-1095206984,1019476032)+W(4,1052500896,1023553551,1036288004,1051419109)+W(5,1067891162,-1115349187,-1112170192,1061270771)+W(6,1016645247,998486818,-1112030904,1060067146)+W(7,1036835111,1040345019,1027103050,1041715172);sum2=W(0,-1114130867,1043012943,-1101425729,1040618154)+W(1,1044229537,1078734719,1049717343,-1122148687)+W(2,-1097134960,-1066172228,1058416067,-1110193301)+W(3,1037459780,1051160418,-1087270128,1037070268)+W(4,-1135257643,1033653009,-1121139419,1012698939)+W(5,1020747990,-1131387750,1038119907,1047429512)+W(6,-1105653505,-1124290574,-1162837210,1045573328)+W(7,1029335953,-1119987003,-1142454518,-1098650023);WS(-1083751903,-1076119444); +sum1=W(0,-1106029427,1054460828,1056842307,-1115245576)+W(1,-1113929101,1061549380,1062160243,-1102084379)+W(2,1029734646,1034628298,1051628466,-1115339007)+W(3,-1147960477,1027250487,1040780998,-1110488366)+W(4,-1096614035,-1118873130,-1108216057,-1093345814)+W(5,-1088621915,-1118044066,1032187759,-1087844584)+W(6,1039622221,-1114025640,-1125935063,-1095344475)+W(7,1052549785,-1101242061,-1103117229,1023285463);sum2=W(0,-1105635988,-1133541327,1041896729,-1142266798)+W(1,-1104742183,1059101684,1052249127,-1108468488)+W(2,-1111519795,1022626513,-1116644500,1004562934)+W(3,1007186587,-1114250343,1036478091,1009402627)+W(4,-1119640286,-1143926222,-1116438034,-1109207785)+W(5,1057719514,-1107716245,-1116983273,-1132044399)+W(6,1040987637,-1093640310,1036001553,1049160976)+W(7,-1094402391,-1102449905,-1115139384,-1103527129);WS(1032624635,1033521535); +sum1=W(0,-1117491096,-1100587359,-1098906814,-1131553039)+W(1,1049918570,-1078593782,-1081513385,-1112834618)+W(2,1016822387,-1092053629,-1105649745,1045795365)+W(3,-1113168565,-1095243062,-1096260814,1035361729)+W(4,1047570260,1025984961,1045470610,1051615627)+W(5,1043587024,1040182861,1036113314,1060987922)+W(6,1059398075,1032631435,1012071435,1056209202)+W(7,1051600524,1034850724,1023888652,1049440024);sum2=W(0,-1099208280,1027875109,-1092384767,-1111826236)+W(1,-1106561040,1062273543,1064661507,1026789677)+W(2,1046407154,-1108191451,-1087164405,-1093448876)+W(3,1042570396,-1104593420,1044380270,-1102666308)+W(4,-1100947515,1048636172,1034661269,-1095745094)+W(5,1068550638,-1099981129,-1098451609,-1112642295)+W(6,-1106740917,1049739863,-1118651857,-1104229197)+W(7,-1105841536,1048025970,-1095995165,-1103404028);WS(-1085606847,1061985400); +sum1=W(0,-1117164584,-1114895517,-1089905075,-1108997980)+W(1,-1103105924,-1077801587,-1095264598,1031768707)+W(2,-1110420181,-1088999487,-1097956992,1041900981)+W(3,1014163116,-1096151518,-1098379486,1037113665)+W(4,1056544190,-1114811305,1040581229,1057688104)+W(5,1055481056,-1110202349,-1107526493,1062390314)+W(6,1051900674,-1108027100,-1118208771,1062127874)+W(7,1057425872,1041210774,1024450541,1048102065);sum2=W(0,1048912334,-1090084783,1048760593,1025785873)+W(1,1056133856,1066763200,-1114768213,-1096464036)+W(2,-1121968309,1058187354,-1086306359,-1104154812)+W(3,1015120151,-1128581905,-1113492694,1033410161)+W(4,-1119218892,1008603006,-1126760968,1035955606)+W(5,1064934573,-1080670875,-1094704139,1007739746)+W(6,1050702067,-1125625514,1031309677,-1089946445)+W(7,-1102128709,1039335694,-1109240237,1025685973);WS(-1090966143,-1078936607); +sum1=W(0,-1108278025,-1108945587,-1086961670,-1116393227)+W(1,-1105522375,-1081986687,-1086695325,1051625062)+W(2,-1091195697,-1086453117,-1089148367,1058727904)+W(3,-1109728971,-1091172115,-1092689140,1052016408)+W(4,1041859343,1035952359,-1116819366,1058706816)+W(5,1059190367,-1104043025,1041797992,1060094467)+W(6,1055062080,-1093101306,1053094890,1061098519)+W(7,1058930855,1034498693,1015960496,1056115606);sum2=W(0,-1119417071,1050920275,-1118025227,1023528661)+W(1,1009798795,-1098493686,-1112399565,-1105978590)+W(2,-1111364082,-1124489419,1036263434,1040834561)+W(3,1033368796,-1089345484,1048582480,1041397121)+W(4,1065042273,-1077701631,-1073269716,1075422545)+W(5,1067662601,-1083676116,-1078616397,1069638520)+W(6,-1079439326,1070390370,1044144047,-1093932676)+W(7,-1070108577,1077727906,1068400636,-1078082886);WS(-1079921856,1049308945); +sum1=W(0,-1133949626,-1118082277,-1165865787,1030068962)+W(1,1018623990,-1094507016,1053008345,1050882798)+W(2,-1146454049,1043504665,1052481994,-1106924392)+W(3,1040905769,1026870489,1047635255,-1116987117)+W(4,-1108803021,-1111921110,1025440517,-1187780005)+W(5,-1106873963,-1104818073,-1120535059,1038634079)+W(6,-1101591143,1041667424,1046575523,-1087778738)+W(7,-1110197734,1031554658,1031519031,-1101174683);sum2=W(0,-1095066961,1038856572,1059176005,-1116556974)+W(1,1050308919,1055715442,-1076691076,-1100395256)+W(2,1032406727,-1123959066,1046498927,1040792410)+W(3,-1141998384,1032868606,1028959950,1011901446)+W(4,1050790436,-1173649795,-1114011261,-1096412953)+W(5,-1097771226,1040413046,1024138419,1058179896)+W(6,-1106160519,1033840078,-1106323994,1039711359)+W(7,1038360912,-1107910389,-1127468978,1018212767);WS(1060842367,-1123947436); +sum1=W(0,1023159627,1047784339,1048950736,1024730985)+W(1,1017803651,1060112037,1057388094,-1105241169)+W(2,1035962309,1057656339,1062491953,1037913699)+W(3,1032728670,997860858,-1114528913,1028045772)+W(4,-1098772880,1026072115,-1122548355,-1097448124)+W(5,-1085451727,1037652837,1037590622,-1087773444)+W(6,-1089872870,1033785172,1034810634,-1088044111)+W(7,-1103124285,-1114288296,1008900343,-1102522557);sum2=W(0,-1112740722,-1121600279,1001103237,1026131421)+W(1,1032928238,-1097923247,-1108221277,1046858645)+W(2,1040344552,1057336110,1069212508,1042166107)+W(3,-1091819295,-1107037379,-1095628134,-1082879617)+W(4,1038637096,-1108393699,-1114822986,-1133854939)+W(5,-1103185020,-1101308237,1029862733,1037424280)+W(6,1019342369,-1145606165,1036213344,-1120290433)+W(7,-1122429445,1034167562,-1111520861,1039461314);WS(1038606587,1058047160); +sum1=W(0,1042118304,-1093024127,-1095018974,1026865207)+W(1,1033639368,-1100730470,-1082724754,1051307036)+W(2,-1109598961,1040951763,1036658562,1046742309)+W(3,1015037525,-1098528366,-1113143704,1028927539)+W(4,1048945010,-1117800769,-1136300775,1044423619)+W(5,-1097872036,1044405134,1005722288,1054092644)+W(6,1033100505,1044812414,1047528601,-1091674216)+W(7,1047837568,1044220906,1032954286,1030352835);sum2=W(0,-1103301852,1052242374,1045860939,1050657429)+W(1,-1091436731,1066745360,-1100974944,1060573163)+W(2,-1097267636,-1113016512,-1079344782,-1104427284)+W(3,-1107511544,-1113648424,-1119497008,1038196249)+W(4,1013554208,-1106328874,-1103122208,-1111592920)+W(5,1055083328,-1113723980,1015168980,-1111727364)+W(6,1034990326,1034643320,1051192034,-1098647652)+W(7,1042188938,-1140986496,-1122594772,-1110499846);WS(-1095257599,1052962039); +sum1=W(0,1031300369,-1111219488,-1097695335,-1106746181)+W(1,1037361867,-1088861218,-1083536631,1046667354)+W(2,-1128966365,-1115618056,-1107201338,1040829967)+W(3,-1115420664,-1138753100,-1117058422,1034540700)+W(4,1042046133,1032102291,1036635571,1053309708)+W(5,1053570633,-1103814096,-1110849586,1060606673)+W(6,1033575580,1023220920,-1130665360,-1101583222)+W(7,1041019129,1041468947,1009452933,1029127944);sum2=W(0,-1121249932,1025195792,-1089705070,-1137205193)+W(1,-1101149788,1054529493,1049206515,-1137006201)+W(2,-1115985020,1050074620,1039074115,1034796937)+W(3,1026538132,-1103055048,-1104546681,-1140489533)+W(4,1014073009,-1131583764,-1106134583,-1116057142)+W(5,1044729510,1030258377,1023734245,1040872535)+W(6,-1108168105,1041497164,1045578999,1024555690)+W(7,-1093226929,1036128894,-1131316168,-1105229574);WS(1058062751,-1100017341); +sum1=W(0,1020928695,1054737968,1055064995,-1129599006)+W(1,-1111175932,1057524464,1061839865,-1098371705)+W(2,-1108487635,1039434185,1062722401,-1108928286)+W(3,-1134533769,1054765971,1053936411,1028685770)+W(4,-1108714620,1035506764,-1110864465,-1094744478)+W(5,-1081607655,-1115102560,-1103907470,-1089137095)+W(6,-1089739654,-1103382940,1038105413,-1111400813)+W(7,-1094983833,-1101904010,1038153674,1037008853);sum2=W(0,-1114205611,-1100522159,1034733544,1046625968)+W(1,-1079666171,1066071967,1034693600,-1097342682)+W(2,977545170,1062799024,-1087077400,1041595755)+W(3,-1145403458,1015933409,-1097179722,-1106070846)+W(4,-1093312378,-1103988998,1026537136,-1147999170)+W(5,1059803421,-1114956972,1049229753,1057288295)+W(6,1057064650,1050850828,-1104980683,-1088579916)+W(7,1055355590,-1115357129,997711860,-1086854504);WS(1033636603,-1075190676); +sum1=W(0,-1125697208,1043969999,1051253486,1030520392)+W(1,-1109653337,1064791929,1058583983,-1114269946)+W(2,1032435172,1055881859,1057642082,-1102211630)+W(3,996293820,1053053914,1033241689,-1120127764)+W(4,-1100430004,-1122877346,-1117233131,-1096251285)+W(5,-1093290764,-1109909101,1036037681,-1085953223)+W(6,-1098086422,1029223000,-1123582788,-1088005167)+W(7,-1119839106,-1103406294,-1125435099,-1102333361);sum2=W(0,1024626781,1041562727,-1113787644,-1120200303)+W(1,-1124733431,-1112371618,-1114475538,1013431061)+W(2,999438554,-1098117165,1032748777,1027814217)+W(3,1007930813,-1140542509,1042886038,-1116912567)+W(4,-1106166077,1028143351,1041916719,-1109535466)+W(5,1051805575,1068535590,-1097688999,1029531851)+W(6,-1114245048,1029048009,1074776935,1061661699)+W(7,-1093997696,-1072079702,-1076933565,1039886302);WS(1051996799,1040628126); +sum1=W(0,1042171100,-1106536569,-1096999331,-1106876926)+W(1,1040804174,-1079279688,-1087433914,1014013938)+W(2,1024260165,-1090750082,-1085040172,1038633599)+W(3,-1111941370,-1091794355,-1096245875,1032103150)+W(4,1056769919,-1132737450,1032518006,1064227732)+W(5,1052514885,1035728257,-1121739327,1057736892)+W(6,1058371760,-1126170017,-1115112214,1059334684)+W(7,1050507101,1036168684,-1129820331,1051111478);sum2=W(0,1040517176,-1119182790,-1105938617,-1097197656)+W(1,1050425804,1048225474,1048788314,-1107105879)+W(2,1044838414,-1097162220,1050055380,-1108102513)+W(3,978890108,1043193320,1028263310,1026907274)+W(4,-1072247475,-1106333570,1047663602,-1063141508)+W(5,1082212097,1014706728,1017343300,1073986693)+W(6,-1108483496,-1105252179,1023560998,1063649950)+W(7,-1096883524,1025416282,1016727612,1040597170);WS(-1079662656,1075711984); +sum1=W(0,-1108214827,1049467004,1054381451,-1136749190)+W(1,-1102094902,1064079536,1060357369,-1112256994)+W(2,-1113236619,1050217386,1058102849,1019461885)+W(3,1015637672,1053154499,1046694646,-1115387518)+W(4,-1104318006,-1124862997,-1111920714,-1099895821)+W(5,-1088977984,-1093653775,-1099490085,-1094055613)+W(6,-1093377643,1026036560,1047054555,-1094018397)+W(7,-1097489705,-1117787456,-1122648846,-1102869707);sum2=W(0,1027700788,1049653321,-1120307380,1021596406)+W(1,1035450862,1054975194,-1100871897,1031902674)+W(2,1036068426,1042197470,-1106853601,-1146279384)+W(3,1030087008,-1133477273,1034125536,-1108044351)+W(4,1038499992,-1099826066,-1094559059,1037868882)+W(5,1073269037,-1076192259,-1070411479,1074972319)+W(6,1032586692,-1107184127,1024067187,992333684)+W(7,1010404410,-1104237818,1032061183,-1129244749);WS(-1121360374,-1077155152); +sum1=W(0,1042009047,-1091586093,-1092428892,-1105583845)+W(1,1057317824,-1088356100,-1087526962,-1135496901)+W(2,1028773828,-1086275726,-1084718223,1037107234)+W(3,-1116736729,-1086839898,-1096882940,1042777544)+W(4,1057449542,1039912928,1036329976,1053987635)+W(5,1067018703,1035631092,-1114441548,1037542524)+W(6,1051794540,1020991498,1024846769,1053143538)+W(7,1050512766,1041911145,1032759069,1049337758);sum2=W(0,1027223630,1050237475,-1108922684,-1122349048)+W(1,-1097496437,1061603028,-1093984844,-1123059666)+W(2,1008041239,-1136134543,1054912466,-1101147358)+W(3,-1103013196,1037079763,1050990810,-1113710228)+W(4,1047134367,-1105600910,1024154790,-1102817435)+W(5,1069845393,-1090292072,1041276041,-1086242189)+W(6,-1107987422,-1109079234,-1122818012,-1091188340)+W(7,-1097181289,-1109791787,1047206075,-1126348732);WS(-1087087711,1067831143); +sum1=W(0,1043354114,-1094089577,-1110686621,1034272753)+W(1,1041026663,1019000899,-1090322161,1046815315)+W(2,-1131457456,1054466495,1048378971,-1116058688)+W(3,1032034947,1043401342,1045446607,-1115558139)+W(4,1051348739,-1097882829,1006467012,1034360523)+W(5,1049291409,-1099191041,-1098171061,1056352764)+W(6,-1090870248,1036945505,1036956791,-1098372646)+W(7,-1098529593,1026141794,-1124941614,-1103803571);sum2=W(0,-1114282503,1065651536,-1147554302,1046033632)+W(1,-1106001859,-1076523823,1052996561,1044655964)+W(2,-1101664028,1059971501,-1095873418,-1104436397)+W(3,1023732858,-1119149512,1037179306,1015764662)+W(4,1061103542,-1117467216,1034466187,1021728539)+W(5,-1081697027,-1105745303,1040544990,1047372498)+W(6,1058036758,-1110996319,-1119054372,-1094800655)+W(7,1033040332,1028498617,-1120190386,-1113369666);WS(1040537598,-1164677141); +sum1=W(0,987031402,1052904912,1058921623,1044447583)+W(1,1042738997,1059765434,1059494147,-1121775302)+W(2,1049696256,1045203303,1053249925,1038434732)+W(3,1044766000,1032179929,1049549231,1024826006)+W(4,-1089009751,1009017491,1051360885,-1079854668)+W(5,-1085199868,1042102879,1049103971,-1082135643)+W(6,-1094593271,1033340813,1037325507,-1087718171)+W(7,-1111725730,-1103499809,1040792940,-1098502833);sum2=W(0,-1099930216,-1110661913,-1076904032,-1105450770)+W(1,-1097641768,1067640588,1054929191,-1087670985)+W(2,1034849198,1041628489,1043325457,-1093727900)+W(3,1026936119,1071055811,1024934811,-1089823109)+W(4,-1104228342,-1133206564,1064235564,1034745372)+W(5,1058849806,-1095527236,-1159337186,1055270313)+W(6,1047258529,-1123329564,-1097371942,1055379319)+W(7,-1093861556,-1079977593,1053074558,-1091022953);WS(-1072228928,1076959210); +sum1=W(0,-1100954468,-1090494943,-1102211417,1049440860)+W(1,1055014377,-1085929645,-1089397123,1040518102)+W(2,1056933930,-1103710088,-1092416799,-1102413547)+W(3,1025160513,-1097219837,-1099959722,-1100924366)+W(4,1049042513,-1094165323,1046258910,1052420434)+W(5,1059399711,-1115570152,-1113742940,1057628335)+W(6,1056457065,1054320058,-1095616949,1055649007)+W(7,1043339918,-1113497047,-1096288332,1043274798);sum2=W(0,-1106259401,1057292562,-1091193116,1037249746)+W(1,1033553146,-1101074553,1045032769,-1118512137)+W(2,1049532353,-1085599381,1047290760,-1118437421)+W(3,-1112769969,1036239865,1045403080,-1112295163)+W(4,-1089499743,1035766214,-1099278743,1058952598)+W(5,1052938455,-1107284433,-1120311473,990544085)+W(6,1060306657,-1105441959,1032001159,-1096914685)+W(7,1036770528,-1117837555,1037527897,-1095081062);WS(-1095248895,-1088416713); +sum1=W(0,1041397006,1023033498,-1112623265,991086878)+W(1,-1106522737,-1085500137,-1095527100,-1100414321)+W(2,1040515607,-1093888960,-1103431285,1032194452)+W(3,-1119710941,-1112974208,1025813699,-1113785099)+W(4,-1129854724,1018002536,1025280780,1049658160)+W(5,1061179113,-1098081679,-1101036339,1056723856)+W(6,1055178889,1040437430,-1121954805,1050067968)+W(7,1044420741,-1122583614,-1107604207,1027165141);sum2=W(0,1038308115,-1105447726,1049351198,-1115281709)+W(1,-1079410563,1070791012,1061131477,-1086190321)+W(2,-1106071111,1050939464,-1080774986,1055352031)+W(3,999244165,1021655353,-1096576742,1042421121)+W(4,1044927538,1036918381,-1132663474,-1101546004)+W(5,-1124003323,1035199903,-1104633062,-1105825160)+W(6,-1100497740,1038597174,-1119052371,1054621998)+W(7,-1123561791,-1141223925,-1126972585,1042910101);WS(1057802399,-1081431823); +sum1=W(0,-1131892376,-1097592621,-1093480916,-1122831751)+W(1,1034931072,-1086955360,-1087992005,1041203877)+W(2,1023514439,-1099624791,-1094219074,1020249162)+W(3,-1102408215,-1103351679,-1104094712,-1183605377)+W(4,1050095280,1003466633,1031929377,1050038833)+W(5,1062569267,-1108251076,-1150646211,1058335651)+W(6,1053253320,-1110979235,-1123920403,1052617634)+W(7,1047799764,1031403703,1022403704,1037479577);sum2=W(0,1035677532,1015597088,1032567526,-1104748298)+W(1,-1071563129,-1131466492,1042180726,-1097271446)+W(2,-1105574565,1049167232,-1088097679,-1073203825)+W(3,1076846054,1054919113,-1104411749,1074066983)+W(4,-1106402955,1010146816,1028805714,1030425414)+W(5,1026492053,-1139412188,-1122721452,1036072793)+W(6,1046304011,1013464552,-1121571686,1021201077)+W(7,1040423027,-1159010626,-1115684312,-1108010622);WS(1057159391,-1098185256); +sum1=W(0,-1139848194,1059107990,1062337777,-1115997840)+W(1,1040272534,1060188982,1058844902,-1110900998)+W(2,1022311680,1055455830,1050305613,-1124007614)+W(3,1025640163,1058488623,1052112283,-1122049771)+W(4,-1096884471,1026934458,-1108105457,-1099145229)+W(5,-1081840204,1050661700,-1128707950,-1083284577)+W(6,-1088086212,1018441343,1025671020,-1086268415)+W(7,-1095187909,-1115150240,1032949738,-1093503993);sum2=W(0,-1087901783,-1065703489,-1063663228,1056249112)+W(1,-1096100666,1074103439,1050922399,1050240307)+W(2,1046757851,1075028289,1078895155,1050011361)+W(3,1031802636,1041242105,1011769164,-1111613200)+W(4,1049313091,1049727089,-1098679170,-1090194820)+W(5,-1091782161,1043947681,-1118968312,1059446328)+W(6,999915799,1046896549,-1103451878,1051412884)+W(7,1040180956,-1120669738,1036070334,-1097222567);WS(-1076050352,1072169512); +sum1=W(0,-1110549812,-1096217239,-1127017300,-1112010473)+W(1,-1102358403,-1098236010,-1101316183,1041474168)+W(2,-1103941101,1015309803,-1097462672,1035256808)+W(3,-1127729580,-1124828306,-1109990262,-1126807163)+W(4,1055039585,1017026201,-1127012698,1032805651)+W(5,1058693100,-1103052317,1027743346,-1107675851)+W(6,1047069339,-1108585145,1025923518,1050718238)+W(7,1033573870,1030091394,1029935559,1040782175);sum2=W(0,-1103808603,1044516259,1013406324,-1115222730)+W(1,1035011293,-1093760521,1056099238,-1133607278)+W(2,1005150868,1046105407,-1097063741,1045426354)+W(3,1014354189,1034790704,-1106358807,1038138903)+W(4,-1091636530,1036643390,-1105744683,1048651312)+W(5,1065398243,-1087652578,1056116581,-1082257366)+W(6,-1105190986,1031045850,-1106429625,1052543946)+W(7,-1124610775,1033997397,-1129675875,-1143243436);WS(1065781680,1039008007); +sum1=W(0,-1132228043,1052030887,1052873269,1041247860)+W(1,1029031978,1065817909,1057769989,-1116017645)+W(2,1018467582,1052683781,1059292430,-1114552992)+W(3,1039500994,1042767258,1045381867,-1119698444)+W(4,-1090939837,1043969975,-1122380132,-1087848896)+W(5,-1090130600,1043124941,-1167945460,-1086321043)+W(6,-1089813139,1037105136,1037414446,-1093123180)+W(7,-1088918334,-1139723011,1016187596,-1093950448);sum2=W(0,1024852101,-1131141686,-1105284792,1038177586)+W(1,1016571646,999573799,-1123455081,1031995320)+W(2,-1108656521,1052574782,-1107419527,1033741319)+W(3,-1120710323,-1103717942,-1099142208,1035134998)+W(4,-1105200928,1044997454,1023745983,-1114385091)+W(5,1073904332,1045931554,-1102654886,1057384109)+W(6,-1130292726,1041285787,-1113399825,1075963065)+W(7,-1070457563,1044467987,-1101763500,-1072886122);WS(-1090516543,-1087531312); +sum1=W(0,-1135375282,1025750638,1040358473,-1105337757)+W(1,-1111479074,-1082649657,1034124454,-1113059195)+W(2,1036163039,-1114570479,-1098312091,1044282546)+W(3,-1110047807,1044483760,-1112260786,-1123738614)+W(4,-1109155234,1043065477,-1112133319,1026287071)+W(5,-1113637434,1048811350,1049735832,-1111070925)+W(6,1044131649,-1111303053,-1104740686,1056333811)+W(7,1039433994,-1136462731,-1128712224,1049914271);sum2=W(0,1009904581,-1112829049,1027164873,-1122757257)+W(1,-1099518373,1064179702,1020364514,-1113467627)+W(2,-1095677862,1039050377,-1092934445,1032421699)+W(3,-1112743661,1022655162,-1106885375,1020800146)+W(4,-1115430893,-1116391321,-1111953049,1002742314)+W(5,1059311413,-1098741962,1025748661,-1098221748)+W(6,1041708988,-1119491053,1036551469,-1139891301)+W(7,1032689603,-1122814953,1025848261,-1124766450);WS(1059528063,1057564569); +sum1=W(0,1023855952,-1112481934,-1096201122,993737087)+W(1,-1100822612,-1101379550,-1089271861,1051519336)+W(2,-1109486813,-1101173547,-1129312776,1027584566)+W(3,1035631854,-1097162722,1031993577,-1127107174)+W(4,1044928820,-1119101474,1036364765,1052073475)+W(5,-1090210244,-1095066725,1026047377,1057871347)+W(6,1051680014,1038809676,1043887545,1027452795)+W(7,1050823828,1037595092,-1152581582,1038521522);sum2=W(0,1034094594,1029678117,-1115270098,-1106514375)+W(1,1009317700,1052560633,-1095879627,-1112949179)+W(2,1021633582,1034084538,-1128108776,-1126355148)+W(3,-1106252693,1049223604,1040297892,1010987268)+W(4,-1103891997,1044342701,-1109616345,1025588625)+W(5,1062070608,-1103446924,-1107320484,1029083209)+W(6,1035054672,-1098743078,-1131810302,-1100067512)+W(7,990783407,-1102218346,-1123491293,-1117785257);WS(1061977215,-1122204685); +sum1=W(0,-1109554099,1053305789,1053794732,-1124031333)+W(1,1036027519,1059361796,1058003360,-1105250724)+W(2,1055353398,1051669497,1055117810,959521497)+W(3,-1136942561,1047158647,1037705519,1038275624)+W(4,-1096176108,1027213295,1017895407,-1090279300)+W(5,-1081723655,1033714163,1024566052,-1093816822)+W(6,-1097892492,1006220452,-1125004641,-1090510080)+W(7,-1098784634,-1145512357,-1112881733,-1101480172);sum2=W(0,1032430477,1021325630,1028856727,-1113155109)+W(1,1048044904,1070862297,1050891972,-1105712018)+W(2,-1070110178,1035516985,1074403261,-1081128362)+W(3,-1092804751,-1122256510,-1108990845,-1092435520)+W(4,-1128331832,-1139715524,1036996819,993552399)+W(5,1042132916,1040898786,-1111526035,1042508384)+W(6,-1115800491,1038841221,1025048067,1044319918)+W(7,-1109033129,1007165668,-1119663830,1033559089);WS(-1096328959,1070879408); +sum1=W(0,-1131726569,1050717891,1056909741,1047483149)+W(1,1016192218,1064784543,1049879450,1017405984)+W(2,-1130210629,1055866677,1054175424,-1134185032)+W(3,1022798351,1050331269,1052923070,1039283496)+W(4,-1097194674,-1120381614,1043610432,-1084253114)+W(5,-1088019878,1046790989,1029856307,-1084428714)+W(6,-1096076442,-1106891777,1044095416,-1087922381)+W(7,-1089646420,-1103492015,1045347898,-1098682228);sum2=W(0,1041094096,-1083918511,-1092572599,-1096731787)+W(1,-1134738767,1050600846,-1081752188,1030029833)+W(2,1049526473,1056806956,1060518769,-1112066554)+W(3,1038503381,1040255570,1052566197,-1103571503)+W(4,-1081783724,1061218424,1074300082,-1072213302)+W(5,-1098909280,1055931246,1062246408,-1088492050)+W(6,1066457366,-1080408758,1030722387,1054813136)+W(7,1074348460,-1074863778,-1082314750,1061557517);WS(-1093955647,1022010191); +sum1=W(0,-1118029508,1040858863,1051129150,1027472455)+W(1,-1100976252,1064764899,1058284788,1017520774)+W(2,1019653215,1054989120,-1094249656,1048038797)+W(3,1006149335,1047833420,-1137681219,1015004427)+W(4,-1110637352,-1129027011,-1110971745,-1126583382)+W(5,-1092969620,1032062845,1043546956,-1083829535)+W(6,-1098669306,-1114080636,1049944248,-1093269900)+W(7,-1092663640,-1120661351,1039113958,-1101321193);sum2=W(0,1010923567,-1099241242,-1109340305,-1125700855)+W(1,-1086770251,1061340682,-1097784845,-1097524591)+W(2,-1136610695,1059369820,-1091236020,-1119687254)+W(3,-1146172877,1042204527,-1103210716,1034141799)+W(4,-1121076246,1010348245,-1138307987,1041739108)+W(5,1059475190,-1104554020,1043843262,-1122648580)+W(6,1048517727,-1105357691,1042867821,-1097965354)+W(7,-1117941982,1026766467,1021404807,1020884025);WS(1057685119,1067243116); +sum1=W(0,1016923756,-1100618635,-1098308652,-1129459555)+W(1,-1095493364,-1088191051,-1090418529,1004671913)+W(2,-1112175056,-1101363479,-1089905135,-1098633785)+W(3,-1131471418,-1097291652,-1106099897,1046138501)+W(4,1049587364,-1111775882,1029422892,1053516928)+W(5,1065512192,-1112549294,-1114348966,1057639529)+W(6,1052631981,-1111153757,-1103551521,1058720438)+W(7,1052947846,1020473821,995391206,1043712557);sum2=W(0,-1130956898,1023877693,-1140292462,-1131225411)+W(1,-1077027280,1069127322,1042914798,-1103681442)+W(2,1031803188,-1103125793,1071847872,-1076028808)+W(3,949706042,-1132087796,1043076855,-1101294062)+W(4,-1137158572,-1128428036,1018006973,1018110051)+W(5,1043315619,-1147115303,1020723155,-1224504659)+W(6,1043270022,-1133954299,1020554514,-1120948958)+W(7,1015417250,1025989218,990350747,-1113817590);WS(-1097928959,-1082976358); +sum1=W(0,-1123678010,1050550727,1057835343,1027664520)+W(1,1052451146,1062299789,1057764410,-1106569905)+W(2,1038567635,1057826487,1049034640,-1103556709)+W(3,1040222651,1060823717,1041175724,-1108799690)+W(4,-1096462854,1032858337,-1108038941,-1089326063)+W(5,-1087127986,1042469806,1021803093,-1083721351)+W(6,-1094118206,1031016631,-1104920125,-1097735566)+W(7,-1089053734,-1107162784,-1129264698,-1100805265);sum2=W(0,1048150071,-1095900368,-1087082495,1059738223)+W(1,-1080186607,1063110279,-1108343021,1052511773)+W(2,-1072132845,1071639576,1074904245,-1078381471)+W(3,-1071397334,1077341373,1076364217,-1071450961)+W(4,1046247330,1025055065,1034470847,-1092378156)+W(5,-1090059649,-1094453880,1045395587,1033545850)+W(6,1039712953,-1103894182,1053230483,-1107095292)+W(7,1049211915,-1120241798,1032308634,-1113577164);WS(-1093482751,1040242403); +sum1=W(0,-1123956286,1045008905,1051279307,-1101135214)+W(1,-1138012647,-1132973569,1049489177,-1107524598)+W(2,1042720691,-1098383795,-1096848358,1034129455)+W(3,998898338,-1118268600,-1104810279,-1130324184)+W(4,-1106067054,-1135242283,-1112732162,-1160860306)+W(5,-1113266773,-1121978915,1029341500,-1101021318)+W(6,1059206814,-1102892456,-1098727290,1049504725)+W(7,1052043149,-1099073308,-1104163113,1049756222);sum2=W(0,-1101078445,-1122671355,1055811875,1050603120)+W(1,-1105220793,1066111209,1038805789,1048531671)+W(2,1034851673,-1130092003,1026095418,-1091713187)+W(3,1020293663,-1094690648,-1137910742,-1122031169)+W(4,-1087609936,-1108269543,1034695967,-1086548128)+W(5,1071017234,-1104320030,-1089139562,-1088336312)+W(6,-1089969509,1049804877,-1100901763,-1115602704)+W(7,1053616941,1054827086,-1103744367,-1121274059);WS(-1112146683,-1077736475); +sum1=W(0,-1130792414,-1090490649,-1099064529,-1128590341)+W(1,-1117834531,-1101063739,-1086623314,-1147973299)+W(2,1033724609,-1094725676,-1084449173,1007065251)+W(3,-1122914526,-1097461352,-1097837640,1024083798)+W(4,1028859267,1017948777,1039097715,1049253908)+W(5,1068918685,-1115616742,1025770233,1040872136)+W(6,1057886934,-1132647657,-1104116690,1059458719)+W(7,1048946351,1030833130,998082042,1044653558);sum2=W(0,-1104316542,-1073797636,1044965772,1038545045)+W(1,1054073276,1079919017,-1069601753,-1098913527)+W(2,-1111960943,-1103381017,1065620582,990615436)+W(3,-1131799749,-1105195767,1039512539,-1127436605)+W(4,-1092377302,-1115941315,1032278560,1038508364)+W(5,1044931722,1042591612,-1109127211,1050236814)+W(6,1033398315,1042220416,997021068,1034922622)+W(7,1039327537,-1121388557,-1138197651,-1113162193);WS(-1090505151,-1074550453); +sum1=W(0,1028498739,-1103427629,-1106878250,-1112838599)+W(1,-1117182312,-1088941275,-1088602192,1023419227)+W(2,-1126145258,-1096920942,-1087514842,1018948122)+W(3,-1125422420,-1095073209,-1096615233,1024711581)+W(4,1042960070,1023192930,-1131143051,1057615003)+W(5,1053033883,1048242260,-1096958907,1063645564)+W(6,1043052986,1045189988,-1098164287,1058641540)+W(7,1053972531,1026824959,-1105551137,1050742275);sum2=W(0,1081443218,-1111116920,1021553919,1051549752)+W(1,1048388769,-1067599847,-1073777225,1072492444)+W(2,-1139079606,1029232562,-1096587672,1035162847)+W(3,-1123800689,1042218632,-1115288719,-1121149576)+W(4,1044837835,-1113046369,1031994963,-1106404197)+W(5,-1089379201,1025956540,1032624041,-1113676512)+W(6,1030543674,-1132168419,1027498280,-1109546151)+W(7,-1125599605,-1115044631,1034044071,-1122606689);WS(1051119487,1041244378); +sum1=W(0,1028120435,-1113671305,-1137238551,-1124974044)+W(1,1037118035,1061504071,1036964902,1048876359)+W(2,-1118427428,1050660570,1047204942,-1131477080)+W(3,-1125985859,1049717597,1030267847,-1120234265)+W(4,-1103177170,1033078132,-1121323393,-1116593698)+W(5,-1104164974,-1129960608,-1156053771,-1099611151)+W(6,-1114906180,1011539382,1048068278,-1081804989)+W(7,-1103929310,-1115091743,1035846233,-1098831475);sum2=W(0,-1104952272,1048078363,1027537220,1018090488)+W(1,-1128161694,-1102612387,1055192952,-1105226064)+W(2,1024328280,-1101688104,-1102761937,-1134153828)+W(3,-1117225997,1016223417,1035228556,-1118410723)+W(4,-1095697091,1045164128,-1117503915,1019973834)+W(5,1074095781,-1087428157,-1106818318,-1101823824)+W(6,1063478353,-1092430375,1061969021,-1074759173)+W(7,1041310640,-1110796930,1050476000,-1092594125);WS(1062303263,1031082743); +sum1=W(0,-1099215391,1012178225,1050954912,-1113216195)+W(1,1026092610,1047492794,1065129152,1052151297)+W(2,-1098039588,1049517720,1063700475,1051942565)+W(3,1008063218,1054989200,1028060738,-1101893697)+W(4,-1095180416,1027015379,-1121789260,-1095964628)+W(5,-1089641431,-1107401421,1041954507,-1088785601)+W(6,-1091476104,-1112964196,1049634587,-1089295544)+W(7,-1096414030,-1114231491,1035520455,-1102410709);sum2=W(0,-1111827051,-1152013649,-1175661064,1033145987)+W(1,-1063595607,1084357731,1050523165,-1103256184)+W(2,-1141099147,1025442742,1048919805,-1101985731)+W(3,1030655939,-1133270551,-1145624409,-1136421288)+W(4,-1104895942,-1187919119,-1165845202,1021827842)+W(5,-1094652398,1042933311,-1125020091,1034611383)+W(6,-1102082303,1040766920,-1108910008,1029250458)+W(7,-1121842648,1017996705,-1126731425,1021034188);WS(1057958943,-1104691893); +sum1=W(0,-1128240917,1046008396,-1105424217,-1111014615)+W(1,-1095236657,1054329938,-1090082375,-1146251723)+W(2,-1103203951,1013130820,1003615948,1047913107)+W(3,1023941889,-1101796865,1044802714,1033356080)+W(4,-1100901945,1038452148,-1118336456,1044401084)+W(5,1040293502,-1093887914,-1119525902,1057785284)+W(6,1051440085,-1107674167,1045607070,-1099597392)+W(7,1036253756,1037874639,-1113361665,-1102604718);sum2=W(0,-1105807463,-1111572952,1041119120,1010987018)+W(1,1054217500,-1087890507,-1117220749,-1102396693)+W(2,1029628166,-1101117061,1070205457,-1123211893)+W(3,1028744914,-1121743361,-1113015450,-1106898625)+W(4,1045029856,1029477872,-1127404253,-1110188142)+W(5,-1087358521,1056265374,1019931869,1057260834)+W(6,1051101181,-1124058781,-1091128546,-1081682663)+W(7,-1135525482,992401866,1025549544,1042553654);WS(1063883327,-1171419961); +sum1=W(0,1021098616,-1123871229,1049833398,-1131801844)+W(1,-1121742227,1044941350,1009731296,1022023532)+W(2,1024490200,1043051923,1060653970,-1090925859)+W(3,-1123544461,1050859794,1048967870,-1102607801)+W(4,-1097479398,1031224740,-1101850371,-1102183011)+W(5,1041013425,-1127214008,-1123343997,1056730033)+W(6,-1097251239,1042080318,-1107029405,-1095529687)+W(7,-1097963532,1009310536,-1107657120,-1104750961);sum2=W(0,1041248381,-1108094251,1047581965,-1106082604)+W(1,-1106587714,1050591326,-1111186257,-1132935321)+W(2,-1118244665,1025922877,1039028256,-1104172881)+W(3,-1139264801,-1104769894,-1111866155,-1115368488)+W(4,-1105642610,-1131232309,-1113941985,-1097195715)+W(5,1048334662,-1103031697,1050509566,1042983438)+W(6,-1128737701,-1115007353,-1127691207,1046273630)+W(7,-1122157893,1031938310,-1112751356,1044426238);WS(1064944927,1037595256); +sum1=W(0,1023806679,-1095304482,-1089228760,-1116864018)+W(1,1009660557,-1086682215,-1087165700,1017115436)+W(2,-1109610248,-1099761351,-1088874517,1028149000)+W(3,-1102752831,-1131587330,-1116139780,-1148661421)+W(4,1057549004,-1106875789,-1107296590,1063040538)+W(5,1064233001,-1106392275,-1103245163,1060715233)+W(6,1052917089,-1107160974,-1132085516,1056983460)+W(7,1045020525,-1152394658,-1129006079,1041500021);sum2=W(0,-1110716731,1049995423,-1084008560,1045832950)+W(1,-1098226948,1066542501,-1089165996,1025147898)+W(2,-1098250414,1055260506,1049362032,-1099749141)+W(3,-1089530617,1067285885,-1086997229,1042544569)+W(4,-1093173621,-1102301410,1058474163,-1084775302)+W(5,1068786857,1031931484,-1128684365,1054478967)+W(6,-1126019654,-1105326436,-1091779956,1047038722)+W(7,-1088213452,-1090548395,1053449115,-1127724076);WS(-1082101344,-1089856493); +sum1=W(0,-1112019073,1030717682,-1105691402,1050831902)+W(1,-1129997454,1064695661,1055521064,1030303546)+W(2,-1117704076,1058754169,1061962758,-1110327174)+W(3,-1131596868,1056158989,1047731210,-1112251093)+W(4,-1098775681,-1120813832,1029275441,-1101015969)+W(5,-1085520515,965412887,-1139280937,-1097748442)+W(6,-1089610799,-1122362798,1041358014,-1086646154)+W(7,-1094349907,1016935004,1028938947,-1093958751);sum2=W(0,-1076824095,1050826865,-1101130808,-1065128139)+W(1,1079260085,1049869634,1046966330,1067439244)+W(2,-1103928218,-1114183173,1051236860,1056740148)+W(3,1039164015,-1104627926,1033256035,-1135208116)+W(4,-1109355365,1023890205,-1119435550,1034565987)+W(5,-1112614302,1015248786,1012867020,-1109830496)+W(6,1051726295,-1136992532,-1122661198,-1123646153)+W(7,-1109091637,-1136910724,-1119472799,1035002893);WS(-1090711679,1035967541); +sum1=W(0,1015715144,1029360119,-1104454427,-1111795270)+W(1,-1124564760,-1083278737,-1084526809,-1118064815)+W(2,1041725555,-1091233609,-1083950349,1033380937)+W(3,1036708611,-1097260861,-1102432923,1039158191)+W(4,1050454265,-1138269301,1030482278,1050513973)+W(5,1060834888,1007072853,-1132452908,1063535365)+W(6,1054941014,1029566323,1028355007,1050327592)+W(7,1042099839,1035976950,-1140656289,1040417584);sum2=W(0,-1104698754,-1088930785,-1099705557,1030795338)+W(1,-1086674278,1063363970,-1087114188,-1086482027)+W(2,-1101252049,1055138353,1066258058,1048689193)+W(3,-1097010897,1050900036,-1113111809,-1127107620)+W(4,-1129318753,1047822852,-1124401732,-1100315818)+W(5,1059258270,1007827043,1041847465,-1088371087)+W(6,1035784301,1039056173,-1114489829,1052412907)+W(7,1046424313,-1112035485,1036879119,-1107499570);WS(-1098505599,-1075865372); +sum1=W(0,1024188415,1032178901,-1131715643,-1119631078)+W(1,-1113150415,1055366257,1056750314,-1125460739)+W(2,1028789822,1038512989,1063530169,-1098117352)+W(3,-1134520549,1042179631,1036256496,-1115205937)+W(4,-1128987132,1024883696,-1113178620,-1121509433)+W(5,-1096447994,-1102601578,-1114020928,-1131145214)+W(6,-1117796833,-1101470933,-1111953177,-1086227497)+W(7,1032402616,-1114797153,-1141768534,1016180195);sum2=W(0,-1112826554,1047439072,1039073687,-1098762498)+W(1,-1090598021,1068429254,1024348972,-1099883844)+W(2,-1101866176,1052294530,-1078855206,1060690639)+W(3,-1111565268,1034134076,-1095975199,1051055486)+W(4,1032611741,981436096,1030962008,1035541163)+W(5,1066295533,-1089341195,1048715774,1050751610)+W(6,-1097770507,1041458546,-1094541311,-1081223881)+W(7,-1121819739,1024624177,1044471119,-1126362074);WS(1057165023,-1106509195); +sum1=W(0,1023353031,-1094296089,-1090373040,-1110663097)+W(1,-1116674588,-1090764772,-1087820187,1009641338)+W(2,-1127866586,-1095695571,-1101809276,-1121179137)+W(3,-1105922998,-1088811352,-1097119704,1019708412)+W(4,1051297995,-1110472134,1036322023,1057389257)+W(5,1064337073,-1108191858,-1103525103,1064196683)+W(6,1053143796,-1130262917,-1105116828,1058239248)+W(7,1042633923,1047174317,-1117889432,1049182394);sum2=W(0,1048482322,-1115190843,-1106822390,-1112942365)+W(1,-1097118067,1068163863,1034045428,-1100072975)+W(2,-1108096389,-1107942623,1063618710,991349250)+W(3,1000921969,-1076676559,-1090492700,1053525633)+W(4,1042851055,1035412483,1043730009,-1102090209)+W(5,1056641862,1028572696,-1105576965,-1103979279)+W(6,1049912171,-1105853831,-1113934073,-1105663689)+W(7,-1111476815,-1106999228,1039916278,-1130278628);WS(-1086493375,-1079336981); +sum1=W(0,-1123924042,-1108602044,-1102983835,977772865)+W(1,-1107908519,-1094902379,1041059645,-1109993624)+W(2,1038934102,-1084987377,-1083260999,1036636329)+W(3,-1099048778,-1108629750,-1102484540,1034769240)+W(4,-1098146918,1049374456,1015269519,1026410857)+W(5,1061697492,1041174790,1036994068,-1106936850)+W(6,1057432285,-1125738921,-1103125248,1061962303)+W(7,1050989872,1040252563,-1130650164,1051050960);sum2=W(0,1018133697,-1097448347,1042634099,-1104970914)+W(1,-1093587851,1074010545,1055662701,1040842491)+W(2,-1102375178,-1099392752,-1089724369,-1093237537)+W(3,1054809337,-1092159031,1049771835,-1099804326)+W(4,-1108255972,-1096543501,-1112577728,1052960430)+W(5,1064732329,-1093194079,-1090800341,1062139198)+W(6,1025575413,991452982,1015865539,-1083390778)+W(7,-1096888027,1028159711,-1126119433,-1104347883);WS(-1088469887,1068090411); +sum1=W(0,-1123900274,1023861926,1001301201,-1113244581)+W(1,-1110903326,1050701400,-1082959002,1049496346)+W(2,1031904934,1043052181,1060902689,-1119953152)+W(3,1025939062,1038313117,1043817559,1034227191)+W(4,1035790701,-1105829923,-1124374314,-1115331947)+W(5,1048296635,-1119292644,-1096521435,1057295251)+W(6,-1113327662,1027826066,1048590454,-1081663133)+W(7,1034951606,-1117293966,-1106468266,-1110964279);sum2=W(0,1033420508,-1114867820,-1106472578,1046922708)+W(1,-1096930035,1058113813,-1087802072,-1112865289)+W(2,1017341032,-1103417477,1050476308,-1101802092)+W(3,-1107450994,1033379085,-1105807138,1036773342)+W(4,-1109208012,1050643686,-1111979165,1033443280)+W(5,1048730658,-1129026525,-1101832932,1020845388)+W(6,-1107242470,-1135034393,-1104558996,1059721445)+W(7,-1104249476,1023773731,1037376476,-1136542442);WS(1052578175,-1092643724); +sum1=W(0,1030893452,-1100779014,-1102735475,-1106584961)+W(1,1037358070,-1086815439,-1082492039,1033955624)+W(2,-1128189432,-1095075429,-1088009424,1036710537)+W(3,-1129060558,-1102841939,-1106908643,-1118327615)+W(4,1049737317,1037510015,993436516,1053304083)+W(5,1065824329,-1103135573,-1101687426,1060101900)+W(6,1057719155,1040440469,1029815263,1041943502)+W(7,1036237087,1027836379,-1106074638,1051335460);sum2=W(0,1029771501,1033337736,1015710974,-1115440098)+W(1,999202537,1039453548,-1094728975,1018065220)+W(2,-1111720654,1032576025,1050012979,1036811205)+W(3,1019498859,1040788513,-1103861773,-1125064265)+W(4,-1114856806,1034787000,-1130229431,1041402597)+W(5,1064530169,-1074584982,-1082769104,1037520917)+W(6,1073761042,1032162938,-1090370130,-1094040689)+W(7,-1090935047,1034133532,-1105633547,1063409170);WS(-1104397694,1058392920); +sum1=W(0,-1126111401,1050625047,1051523414,1012876448)+W(1,-1115125816,1063861817,1043902243,-1142522206)+W(2,999529969,1053396405,1056801600,-1103048369)+W(3,-1117545451,1054067798,1042081404,1016404519)+W(4,-1106828476,1033392977,1023486907,-1094911217)+W(5,-1093833780,1019625524,-1119682235,-1089440467)+W(6,-1107310585,1015514383,-1096529922,-1087921625)+W(7,-1097217844,-1113687714,1039287934,-1104958721);sum2=W(0,1027809153,-1106180134,1013515790,-1130009672)+W(1,1051460883,-1094561503,1042067106,-1106384796)+W(2,1033821004,-1124940473,1032257325,-1104521112)+W(3,1028508475,-1120291522,-1168427353,-1112259960)+W(4,1023886448,1024050371,-1153587550,1013756514)+W(5,1078005003,-1070026280,-1094102229,1052609397)+W(6,-1094906083,1053282219,-1075632186,1072194837)+W(7,-1140922271,1033718481,-1098407638,1046140857);WS(1063327007,-1121248448); +sum1=W(0,1043030576,-1096763312,-1113236667,1017612078)+W(1,-1115811128,1053297652,-1091103118,1039059525)+W(2,-1099887459,1054079124,1063340055,-1095615210)+W(3,-1120397682,-1126620524,1041492110,-1140707177)+W(4,1049218219,-1115130868,1035231217,1042967269)+W(5,1033504868,1009543939,-1107367965,1058517677)+W(6,-1088587000,1042859328,1047061435,-1082785422)+W(7,1029718569,-1104957341,-1120288724,-1101731443);sum2=W(0,-1098298527,1048025725,-1119813454,1037909727)+W(1,-1106955476,1067026849,1041835288,-1126569464)+W(2,-1118592354,1042571631,-1085288934,-1096969233)+W(3,1037216424,-1116313332,-1117602980,1042882430)+W(4,1045330821,-1097673782,1032936033,-1099212072)+W(5,1067954224,-1092590328,-1109675885,-1106229244)+W(6,-1108169766,-1096486003,1004812688,-1095495837)+W(7,-1100305071,1045459772,1034064234,-1164085849);WS(-1114652667,1051933605); +sum1=W(0,1037508767,-1105027032,-1102428549,1026700110)+W(1,1034155035,1043250735,-1106431647,-1128033780)+W(2,1024543544,1038435705,1059213449,-1102462575)+W(3,1032374633,1016229610,1038748492,-1147042251)+W(4,1048715843,-1113263092,-1109604752,1043087092)+W(5,-1089603768,1023780992,-1098797270,1062796090)+W(6,-1106007014,-1121524254,-1112475685,-1090890112)+W(7,-1104514210,1007891224,986589794,-1119096106);sum2=W(0,-1106880495,-1096921120,1043866561,-1129141996)+W(1,-1102244397,1064276171,-1123077406,1031191254)+W(2,1046080919,-1095750750,1061828176,-1101040753)+W(3,1031234782,-1128566730,1042185570,-1112883155)+W(4,-1092013580,-1111274547,1050935854,1029019378)+W(5,1064706574,-1115781076,-1096956427,-1086673510)+W(6,-1091369762,1029696990,-1106057540,-1113110329)+W(7,-1105256367,1012473722,-1113619581,1042119352);WS(1059465279,-1101420399); +sum1=W(0,-1124176798,1000916382,1043444330,1033088680)+W(1,1035053989,1034190184,1057398923,1014063089)+W(2,1038292302,1036787650,-1087528660,1045820204)+W(3,-1131477704,1042732770,1027988010,-1115007182)+W(4,-1126261266,-1118729178,-1124073107,-1101682761)+W(5,1039770557,-1114558729,1032573720,-1089602004)+W(6,-1106381771,1041172764,-1096323421,1057859064)+W(7,-1102530758,1029511616,1024683157,-1104773247);sum2=W(0,-1100338012,-1096055698,-1081648717,-1093261173)+W(1,-1160318928,1060463741,1049309077,1016590929)+W(2,1032510827,1042247124,-1123677731,-1111261089)+W(3,-1106728517,1035240533,1035681279,1037987285)+W(4,1016623505,-1121572837,1020947921,-1107343332)+W(5,1061699617,-1121635630,1035038069,1058913944)+W(6,988275856,-1130213341,-1116667427,-1095509190)+W(7,979544481,-1112486763,1033159595,-1111758125);WS(1060076127,1072958059); +sum1=W(0,1043365506,-1097065432,-1090537599,-1103118654)+W(1,1031523031,-1088162978,-1086314390,-1115420333)+W(2,1032254402,-1091959462,-1089193875,1033412302)+W(3,-1127560355,-1086013855,-1111327644,1031863013)+W(4,1046496158,1025963976,-1129584897,1060753617)+W(5,1055888777,1040410096,-1106610556,1060760746)+W(6,1054239287,1032279415,-1138875303,1052645932)+W(7,1056703661,1044337291,1032182482,1044639698);sum2=W(0,1026722605,-1113650971,-1122429687,1034238418)+W(1,1044566349,-1095747837,-1101416602,-1123083006)+W(2,1029836970,1032414162,1044375513,-1114043742)+W(3,-1112207598,-1112893824,-1132025334,-1124457715)+W(4,1047703041,-1106809975,-1105287037,1038471498)+W(5,1073798913,-1077245954,-1099784158,1050567163)+W(6,1076147895,-1070521946,-1072322090,1074668356)+W(7,1071535287,-1076180558,-1071353549,1076524889);WS(-1114470395,-1114976351); +sum1=W(0,1040990896,1041627584,991904560,1017446070)+W(1,-1120446036,1061349282,1047992216,-1129681934)+W(2,-1110115727,1055187519,1061559014,-1097641691)+W(3,1033457695,1047040436,1045114861,-1110184487)+W(4,-1107221597,-1099251857,-1110976571,1034584479)+W(5,-1083497834,1039733326,-1111571481,-1115356259)+W(6,-1098995485,-1114440077,1036247843,-1089507216)+W(7,-1107186297,-1120899067,-1115117640,-1109668803);sum2=W(0,1002676269,1057422860,-1084434022,-1093678598)+W(1,1044340647,-1079318791,1066493380,1055748356)+W(2,-1120084888,1044705221,-1116089022,-1118111722)+W(3,-1123642691,1031220790,-1112694927,1001595675)+W(4,1067683118,-1108978134,1042743345,1064533419)+W(5,-1079939901,1015093293,-1117769694,-1078621547)+W(6,1039926847,986467602,1049699290,1054002901)+W(7,1023903081,1037662763,-1107171922,-1112070298);WS(1048785023,1039045299); +sum1=W(0,1043168659,-1100442863,-1090140327,-1104130562)+W(1,1029857553,-1093347651,-1085428843,-1117502116)+W(2,1027207566,-1093521697,-1089406196,1034838603)+W(3,-1130533431,-1086838999,-1120775857,1024393315)+W(4,1040570004,1032880081,-1133671882,1061197562)+W(5,1050495728,1038995485,-1102819715,1062309944)+W(6,1054560318,1026681976,-1127149063,1050259320)+W(7,1056208688,1041402190,1035433414,1039464338);sum2=W(0,1011712973,1025023956,-1142302474,-1118465298)+W(1,1029767219,-1097771962,1041730218,-1128433260)+W(2,982009542,-1122047812,-1094677866,1021354231)+W(3,1033540398,1020814500,1028525757,1014788797)+W(4,-1104707163,1039062755,1037219807,-1114395216)+W(5,-1080533844,1069124140,1046574176,-1095905892)+W(6,-1072373863,1075522683,1073795377,-1075595300)+W(7,-1078361330,1068741752,1074436097,-1072719492);WS(1040594174,1002085105); +sum1=W(0,-1097746587,1055071640,-1113198522,1041861603)+W(1,1031577622,1050744420,-1088672026,1032164980)+W(2,1044101411,-1103363988,1057599999,-1102982955)+W(3,1026039088,1034848362,1036351259,1034678964)+W(4,-1100468781,-1121524679,1041085614,-1137236930)+W(5,-1105375081,1048884604,-1109849488,1047493466)+W(6,1050064611,-1098107838,-1113508732,-1087672398)+W(7,1033863059,-1106488144,1043931332,-1102178050);sum2=W(0,1035577370,1026663055,1011906269,-1099743490)+W(1,-1102421679,979639118,1057096352,-1115293072)+W(2,1032210717,1032214892,1044440375,1038726510)+W(3,-1120037205,-1123040177,1028754425,-1107407193)+W(4,-1152297667,991169347,-1108436276,1037961444)+W(5,1050233559,-1097952901,1045881501,-1095995741)+W(6,-1139108605,1026937641,-1122343653,1022991474)+W(7,-1104470915,1022469878,-1105994898,-1115369483);WS(1066613200,-1123971367); +sum1=W(0,-1125712504,-1090955664,-1096708150,1021072883)+W(1,-1106077125,-1079911082,-1159875842,1041158633)+W(2,1032267227,-1103560179,-1093258685,1036847484)+W(3,1031886911,-1106725252,-1089925031,1016782186)+W(4,1051398158,-1108624754,1026036124,1051074184)+W(5,1061682240,-1090753503,1040756057,1058934814)+W(6,1054180539,1025501945,-1114271443,1055629981)+W(7,1047227273,1043536294,-1105228376,1052861897);sum2=W(0,-1104595791,1059079365,-1102098813,-1120579723)+W(1,-1081375340,1070420847,-1078775742,1060943463)+W(2,1049316438,-1084015554,-1106373275,1048074442)+W(3,1054216959,-1087995034,1065759760,-1088959333)+W(4,1035649855,-1110832147,1039910130,-1103583809)+W(5,1036446407,-1092581761,-1115424415,1055196914)+W(6,1050724789,-1115969635,-1101688097,1050043459)+W(7,1052608338,-1103333947,1051846236,-1088425301);WS(1015488492,-1082266482); +sum1=W(0,1041881447,1036768790,-1096364772,-1115294884)+W(1,1028536641,-1079950554,-1083421327,-1116482020)+W(2,-1108243791,-1096513911,-1088856963,1044897017)+W(3,1015505847,-1096156044,-1104622888,1033207234)+W(4,1051075280,1018280484,-1109722877,1054950795)+W(5,1057564011,-1124656723,-1105734603,1062057653)+W(6,1056273768,-1113027740,-1129161159,1054170231)+W(7,1054606378,1025701004,-1132093050,1056919206);sum2=W(0,-1087173612,-1080484881,-1123809016,-1103335141)+W(1,-1106751239,1065979347,1068142929,1045744538)+W(2,1054342226,-1086806497,1048007586,-1089877767)+W(3,-1120076732,-1082944418,-1098712592,1047940388)+W(4,1047550056,-1112078382,-1093357581,1056172663)+W(5,1064817240,-1097769156,-1102262951,1051886373)+W(6,-1098340366,1033891425,-1095892093,1065470183)+W(7,-1088981287,1059622670,-1105000175,-1102735881);WS(-1089551423,-1072840444); +sum1=W(0,1022173115,1057526040,1055991358,1041019406)+W(1,1015463395,1059475300,1036785718,-1113297010)+W(2,1040814976,1050051043,1056836657,-1103473726)+W(3,1029778436,1053584058,1050846086,1007312016)+W(4,-1100702364,-1141651861,1027645528,-1086576149)+W(5,-1089572736,1031793146,1016689751,-1093552675)+W(6,-1090411145,1041821422,-1125097480,-1091007140)+W(7,-1097362556,-1104623366,1015074267,-1098618125);sum2=W(0,1072187327,-1073855626,-1076703167,1069423067)+W(1,1072314518,-1077864031,-1079134619,1072064387)+W(2,1063804587,-1081933355,-1081021850,1066704589)+W(3,1042659879,-1099654949,-1094622730,1053139391)+W(4,-1115348910,1008297781,1032293264,1041694716)+W(5,-1089838794,1037018177,-1120515458,-1107764634)+W(6,1028352388,1025803257,-1121141704,1036250076)+W(7,1035224325,1027779018,-1123317222,-1114321992);WS(1053893247,-1106302313); +sum1=W(0,-1110506435,1051962248,1044357278,1031892188)+W(1,1047997302,1064449402,1061666784,-1127073177)+W(2,-1107646187,1053582704,1041901099,1033243951)+W(3,-1112631434,1050110011,1037482077,-1112186286)+W(4,-1098499127,-1121076939,-1124627014,-1093335703)+W(5,-1082436051,1042378233,1038775118,-1085429924)+W(6,-1104422127,-1107823800,-1100759903,-1118050391)+W(7,-1103845867,-1111029158,-1134911574,-1118004236);sum2=W(0,-1136883904,-1105365809,-1106914963,1045534781)+W(1,-1091599460,1049402813,-1087950271,1027794169)+W(2,-1110353364,1056244223,1059435817,-1105954111)+W(3,-1105327762,1049633694,-1106437513,1026306116)+W(4,1058094665,-1099297773,1048929407,-1093884354)+W(5,1070891205,-1101014716,1057853479,-1076257974)+W(6,-1096007662,-1116753268,-1088483015,1057695328)+W(7,1019026622,-1111740866,-1107558514,1042940020);WS(1043803134,1031905225); +sum1=W(0,-1137620096,1015450714,1045344728,-1113675573)+W(1,1047471777,1057861093,1036603287,1045527725)+W(2,-1101766076,1048683192,1007995990,1025442024)+W(3,-1104559247,1053784172,-1103914745,1041363873)+W(4,1039772705,-1142985628,-1125193272,-1093561052)+W(5,-1131204708,1032608022,1043570724,-1087612823)+W(6,-1098589181,1017746514,-1125123818,-1109713128)+W(7,-1096789826,-1120823545,-1137687994,-1142310312);sum2=W(0,1042572795,-1112317124,1052608919,-1102611800)+W(1,1047906835,1058925768,1036000712,-1143715563)+W(2,-1097650393,-1097284017,-1089628524,1034463821)+W(3,-1105069125,1053414419,-1090965565,1044772028)+W(4,1050084573,-1099740129,1033368250,-1092971881)+W(5,1062269077,-1106615878,1046340985,-1099050864)+W(6,-1155008883,1034459058,-1143169701,-1100033854)+W(7,-1099181286,-1145018737,-1102441858,1043620595);WS(1065606800,1041895077); +sum1=W(0,-1113293285,1050236482,1041397665,1041785011)+W(1,-1114204019,1055253222,1063682744,1031552121)+W(2,1032452466,1054837340,1057927896,1014586031)+W(3,1025447425,1058487624,1043307490,-1103346054)+W(4,-1089967688,-1105474774,-1113822832,-1108226929)+W(5,-1085544687,-1106251932,1045393909,-1092426598)+W(6,-1094102329,-1135035573,1018782386,-1092878524)+W(7,-1098262983,-1119448485,-1114747425,-1097746379);sum2=W(0,1032193624,-1106563024,-1094743304,1038489223)+W(1,1048862753,-1103121169,1029053577,-1137158564)+W(2,-1112577633,1015522148,1018988618,-1107218869)+W(3,-1110240510,1017646246,-1107822714,1034028859)+W(4,-1075431018,1074314813,1069957645,-1079775068)+W(5,1061439417,-1090496129,1067854461,-1075905408)+W(6,1055667456,-1093776696,-1083145579,1061842524)+W(7,1047594841,-1100108785,1038458963,1032002642);WS(1050857279,1035401177); +sum1=W(0,-1121232094,1045749679,1049972466,1029370009)+W(1,-1116554354,1064433520,1054737744,-1118971861)+W(2,1035949272,1055161550,1057059356,-1102118870)+W(3,-1155732684,1050840570,1035470985,-1118591397)+W(4,-1097541146,-1119608387,-1114359850,-1100844155)+W(5,-1088203652,1039513726,1032044074,-1089471141)+W(6,-1095333099,1039358524,1028806533,-1089223685)+W(7,-1105548665,-1113669781,-1114373271,-1098430605);sum2=W(0,-1111920318,-1118965841,1040723224,1034282103)+W(1,-1133376386,1038672881,-1128437695,1023538768)+W(2,1014776166,1050613235,993338648,-1119100907)+W(3,-1121555310,1040276790,-1108740075,-1117007635)+W(4,1031483971,-1123254751,-1104697256,1028955705)+W(5,-1148076972,-1078609243,1034554870,1043259383)+W(6,1050550535,-1100774866,-1075024478,-1084940093)+W(7,1054296012,1072481706,1069274341,-1098463376);WS(1059068159,-1095269543); +sum1=W(0,-1126585055,1052633434,1058751902,1022243158)+W(1,1034732162,1062365313,1061437964,-1113503115)+W(2,1045709362,1047783152,1054753811,1029695369)+W(3,1049870212,-1119990530,1043895001,1005846771)+W(4,-1095802212,1009201364,1040310153,-1083015108)+W(5,-1087136899,-1116554445,1040208083,-1083734386)+W(6,-1093733821,-1141695574,1044292534,-1089074173)+W(7,-1106170901,-1106848091,1042140272,-1096742887);sum2=W(0,-1118716929,-1117235638,1048158098,-1110453349)+W(1,1027079271,1044450691,1037169053,-1111084235)+W(2,1060433363,-1096141012,-1086959067,1058163522)+W(3,-1077532089,1061563184,-1102281652,1058751114)+W(4,-1122504669,1023790996,-1096499673,1064329884)+W(5,-1106426334,-1103100998,1035642078,1037379653)+W(6,-1081432626,-1109003581,1059064502,-1081956377)+W(7,1073667932,-1089552462,1048822766,-1086790317);WS(-1079238176,-1098575359); +sum1=W(0,1012614613,-1098659523,1040856756,-1122061272)+W(1,-1091368434,1046432350,1050219649,1049213476)+W(2,-1115399887,1045840143,-1092787824,1050034455)+W(3,1040609063,-1104981396,-1102913028,-1105000541)+W(4,1049053518,-1110111537,-1113276757,-1106993315)+W(5,1061247706,-1098550683,1048270483,-1088887964)+W(6,-1096901418,-1120030007,1053252708,-1113029435)+W(7,-1106428832,1037272948,-1144293604,1045569657);sum2=W(0,1033447544,1032410306,-1096995906,1035271628)+W(1,-1104023060,1054515359,1053850685,-1113618952)+W(2,-1104458884,1030897990,-1114408860,1022009109)+W(3,-1104406640,-1106540716,-1115683354,1044684178)+W(4,1048740225,-1095652467,1051183735,-1097624644)+W(5,1058355960,-1116173683,1037584786,-1109777102)+W(6,-1116975083,1030595307,-1096371453,-1139294461)+W(7,1036671037,-1108415342,-1117706649,-1099524388);WS(1064155455,1041078114); +sum1=W(0,1038026665,-1103926126,-1133388468,-1114884791)+W(1,-1123095214,-1088521037,-1088265213,1040569148)+W(2,-1098688777,1052099081,-1094483240,-1113346810)+W(3,1033022404,1027852876,1038941559,-1106297864)+W(4,1051074474,-1135572861,-1116707016,1031759625)+W(5,1060913876,-1110455500,-1145284192,1049866386)+W(6,1034732568,1029730485,-1116167073,1044072016)+W(7,1019301565,1028095637,1017022612,-1138713347);sum2=W(0,-1111732215,-1115316427,-1120484835,1027468398)+W(1,-1136133524,-1101059653,1042551085,-1149402831)+W(2,-1084703700,-1093846517,1067179636,1058132410)+W(3,1011948492,-1119207903,1015696434,-1103172541)+W(4,-1113615213,-1102210431,1037828351,1033713911)+W(5,1005178376,-1105049969,1027887653,1015721118)+W(6,1036573120,-1112780439,1033627060,-1112798365)+W(7,-1106241198,1034168377,1025169534,1035924289);WS(1056869759,-1097268032); +sum1=W(0,-1105532941,1007771751,1036411431,1018133293)+W(1,-1097428310,1032024955,-1116024394,1027243330)+W(2,-1133851766,1034973653,-1130187397,-1099204213)+W(3,-1118550618,-1118964077,-1114469768,-1138393927)+W(4,1034605623,-1107937040,-1111689725,1039633317)+W(5,1010531964,-1109581452,-1105991139,1050783724)+W(6,1044277428,1044990678,-1103861656,1045069064)+W(7,1036629184,-1155661924,-1106353867,1046520720);sum2=W(0,-1113612713,1045122152,1040620760,1031819015)+W(1,-1113225510,-1080510307,-1122637452,1040659447)+W(2,-1115035325,1050277803,-1103769905,1023788280)+W(3,1023947578,-1112728330,1041168723,1009487418)+W(4,-1113774176,-1118722775,-1130628701,-1130428603)+W(5,-1073670430,-1129641903,1015363301,-1093905874)+W(6,1074164392,997650792,1045479736,1040925011)+W(7,1044922942,-1122436477,1043373785,1056579340);WS(1064095487,1025785067); +sum1=W(0,-1097495743,1042476562,-1106851535,1026371284)+W(1,1008396404,-1085976658,-1104849584,1050378694)+W(2,-1103138663,-1109264236,-1097042470,1042871873)+W(3,1034556564,-1094929447,1035073279,-1136206974)+W(4,1049973404,-1103190740,1040514533,-1128892272)+W(5,1058008769,1040395090,1040022019,-1115675316)+W(6,1052615848,-1102548473,1050097558,-1098054097)+W(7,1045135411,1023679636,-1157051795,1037088776);sum2=W(0,-1114618025,-1100145939,1033420628,-1124722923)+W(1,1036363299,1057589449,-1115804833,1043439029)+W(2,1049502378,-1091358477,1053618149,-1096133271)+W(3,1013819494,-1119548384,1030436134,-1106999272)+W(4,1047309531,1048079041,1029168594,-1105442746)+W(5,-1089136554,1042227257,-1101613108,-1084852425)+W(6,1056312267,1041752672,1045151454,1028964970)+W(7,1043379377,-1113267324,1036382707,-1100909906);WS(1060109055,1023402244); +sum1=W(0,-1109278395,1054481389,1051909299,1039025762)+W(1,-1107337262,1069080830,1061074499,-1125210976)+W(2,1038278743,1049054227,991275263,-1119314274)+W(3,1024999351,1051802331,1043342663,-1120902815)+W(4,-1093104548,1018380380,-1107880995,-1098089231)+W(5,-1092709234,-1119879878,-1167447218,-1087624466)+W(6,-1093068092,1028271716,1030906608,-1085745760)+W(7,-1098889074,-1107737008,-1122586985,-1102438460);sum2=W(0,1033194341,-1121421677,1035578813,995982518)+W(1,1040171687,-1103362299,1046888388,1038373562)+W(2,1027047733,-1096418856,1050255581,-1108098969)+W(3,1033796110,-1116244525,1042040695,-1147696971)+W(4,-1114972659,-1108849613,-1115504751,-1118279893)+W(5,1078927590,1050450381,1041670894,1069469835)+W(6,-1082214759,-1114805949,-1097423961,-1065023683)+W(7,-1112457727,1025540676,964966831,1045909115);WS(-1092049407,-1078216845); +sum1=W(0,1030002432,1050969332,1057591089,1019093687)+W(1,1055647027,1063070242,1056027116,-1100550858)+W(2,1041444210,1057957242,1039049940,-1103872766)+W(3,1042339236,1059965491,1034942714,-1115845919)+W(4,-1096074010,1043174565,-1109784091,-1089127853)+W(5,-1088645600,1049441628,-1126191805,-1082843219)+W(6,-1095349663,1024042875,-1097650089,-1097545633)+W(7,-1089209262,-1105758607,-1123963793,-1103665506);sum2=W(0,-1096143108,1055082976,1062347208,-1086426610)+W(1,1062855195,1048769854,1045157118,-1089951657)+W(2,1074016711,-1078468086,-1073459143,1068897447)+W(3,1074160921,-1072043968,-1071781830,1075026151)+W(4,-1101252044,-1138780047,-1108806990,1053593730)+W(5,1037201995,1058343455,-1099705126,-1111940928)+W(6,-1119407664,1046274438,-1094950430,-1091098547)+W(7,-1095931446,1035271906,-1128975824,1031118734);WS(-1092377983,1032564911); +sum1=W(0,1001025293,-1135919542,1051240140,1026968586)+W(1,-1099757657,1046337282,1047585891,-1101464865)+W(2,1021990836,1042765483,1042168181,-1099131534)+W(3,1016095931,1031087233,1039475666,-1124857771)+W(4,-1114206145,1031981930,-1108814006,-1140824311)+W(5,-1093593858,-1111723206,-1105914151,1035412731)+W(6,-1105010841,1047084274,-1114245051,1042300945)+W(7,-1150842169,1021006644,-1110153104,-1129901419);sum2=W(0,-1114711758,-1102219265,-1103837493,-1152594313)+W(1,-1119994373,1043085394,1021928584,-1122222477)+W(2,-1136114154,-1114380427,-1098150014,-1117872135)+W(3,-1120239593,999997765,-1103586212,-1118889611)+W(4,1049238470,-1111809635,1035550709,-1119502913)+W(5,1069806319,-1113383091,1038283603,1051353268)+W(6,-1084770114,-1106271331,1038911980,1040245198)+W(7,1032457879,-1130668925,-1109409577,-1097500544);WS(1066805616,-1146277627); +sum1=W(0,-1149155717,-1106566573,-1097679853,-1135230785)+W(1,1042337650,-1085421897,-1092037473,1034010150)+W(2,1036367663,-1094061036,-1091217395,-1127867356)+W(3,998521116,-1096997053,-1108406741,1011804270)+W(4,1047676826,-1098488427,1036204713,1046488473)+W(5,1062693860,1057957971,-1103697017,1047117051)+W(6,1056189429,1034870184,-1114566390,1049537116)+W(7,1049188263,1029261884,-1103604141,1017502967);sum2=W(0,1029215207,-1111163705,1035645255,-1122819855)+W(1,1044451524,-1095838714,1026839491,-1109976389)+W(2,1027965847,-1156411358,-1147512571,-1130065951)+W(3,1036873692,-1114357123,-1110332882,-1119702735)+W(4,1019166485,-1107159841,1042480496,-1107161682)+W(5,1082201538,-1067229991,-1115971786,-1129473215)+W(6,1033233466,-1142132409,-1091650896,1052773623)+W(7,1001850219,1025815163,-1107215185,1034307583);WS(1040205182,1040987841); +sum1=W(0,1028035406,1054299632,1050828331,1032709552)+W(1,1047238622,1064828620,1000765841,-1152624047)+W(2,-1160283945,1057730984,1059217829,-1110798127)+W(3,1035307633,1040620053,1050797759,-1129145589)+W(4,-1102534446,-1131566290,-1130845956,-1098789018)+W(5,-1084918512,1044521480,1024089890,-1087146945)+W(6,-1094152707,-1105870556,1041701723,-1080798168)+W(7,-1104995442,-1110323595,-1121779940,-1154982570);sum2=W(0,-1098615503,1050496819,1039834326,-1104834685)+W(1,-1080862372,1070974917,1045914856,-1090508283)+W(2,1063492499,-1081343708,-1085801376,1048874616)+W(3,1062512173,-1089072248,1033985362,1035824034)+W(4,1034170750,-1119108596,-1113573633,1040649104)+W(5,-1102559609,-1095002000,-1128160390,-1118657109)+W(6,1047362948,1022825140,1053594264,1041220807)+W(7,-1130222490,-1115149866,1041895669,-1099586035);WS(-1087487423,1060332710); +sum1=W(0,1042437466,-1089004262,-1095746139,-1105878689)+W(1,-1121111477,-1099866351,-1081828961,1040585322)+W(2,-1112892785,1039314504,-1115422148,-1112195269)+W(3,1012646976,-1108492170,-1117471766,-1122925576)+W(4,1055197099,-1117440135,1037671952,1053913286)+W(5,1061690846,1028605502,-1114610404,1059867107)+W(6,-1102951638,1041433743,1040822242,-1104536871)+W(7,-1130420108,1029799624,1048192776,-1107184778);sum2=W(0,-1104677463,1040900608,-1097747777,1017331955)+W(1,-1094338757,1073518733,-1081336501,-1117673238)+W(2,-1104710153,-1106204508,-1103573743,-1119646366)+W(3,1022869095,-1097636016,1041186571,-1107625181)+W(4,1016355419,-1104406873,-1162485367,-1097037835)+W(5,1068423959,-1096388411,-1117660642,-1089023490)+W(6,1057220074,1028492960,-1093216188,1048344480)+W(7,1053959289,1049060345,-1092192530,1033091565);WS(-1096756863,1051174382); +sum1=W(0,-1106905723,1039995714,-1115668125,1025372546)+W(1,1025624474,-1089490746,1043101563,-1114360751)+W(2,1032794399,-1107085565,-1092891318,1037998160)+W(3,-1114244794,-1168885266,-1114405501,1034992970)+W(4,-1105014230,1041916975,1034391118,1000611497)+W(5,1058174613,-1111998130,1027806076,-1117013085)+W(6,1035643438,1030397185,1008039732,1045000731)+W(7,-1120880459,1029203969,1018926829,-1121180749);sum2=W(0,-1092452707,-1106157919,-1095856011,-1089960886)+W(1,1032119458,-1085150802,1074170001,1049541326)+W(2,-1110883627,-1112079347,1046048366,1032929374)+W(3,1026522309,-1111935169,1027735021,-1123073435)+W(4,1041476280,-1107942220,1036775569,1007316785)+W(5,-1083810164,-1132331444,1021239050,1050706137)+W(6,-1129593193,-1113579728,1036225521,1043182557)+W(7,1009058861,1022066674,1009639193,-1214669080);WS(1063524863,1010978751); +sum1=W(0,1035248130,-1094935586,-1090913225,1033376264)+W(1,1040606570,-1085174115,-1084407830,1029138555)+W(2,-1122169062,-1094320024,-1080254739,-1146340206)+W(3,-1115451138,955403507,1033710501,-1113033206)+W(4,1045510498,1040021853,1034437913,1054337940)+W(5,1062831778,1032741433,-1141033844,1057961148)+W(6,1058700983,-1136275261,-1127614262,1060252175)+W(7,1033261261,1030604567,1007782611,1045946247);sum2=W(0,1043917783,1009306318,1053621644,-1096400044)+W(1,-1090244436,1062093709,1051339656,-1123678571)+W(2,1048870815,-1106342004,-1080576226,1046901313)+W(3,1053211427,-1124418811,-1098524562,1033884063)+W(4,1005897821,-1106811629,1037111777,1017015195)+W(5,1065539532,-1093438727,1047789047,-1141989437)+W(6,-1097183812,1043219374,1049955112,-1083332175)+W(7,-1092155120,1044056917,1050393105,-1097464341);WS(-1085369887,-1080302329); +sum1=W(0,-1121762938,-1119192737,-1112260523,1021216124)+W(1,-1094342263,1058411732,1050211017,-1103047566)+W(2,-1107174593,1042276856,-1139271463,-1105630871)+W(3,-1146340105,-1119668597,-1113852108,1025950537)+W(4,1049037307,-1111476420,-1110274640,1035888345)+W(5,1044828010,-1097171068,-1097892613,1061443675)+W(6,-1100915542,1026261917,-1112160677,-1119204121)+W(7,-1119790119,-1132483222,-1110403297,-1174284878);sum2=W(0,-1146353705,1040461813,1035074177,-1115512925)+W(1,-1134998124,1058355837,1042528734,1036066439)+W(2,-1122018103,-1089980594,-1081621864,-1093678923)+W(3,1002801625,-1101025299,1049357806,-1110317749)+W(4,1043381354,-1137020948,-1115656893,-1191992884)+W(5,1058956516,-1112812041,1021899784,1059049535)+W(6,1050844919,-1123282157,1012903452,-1095612272)+W(7,1036998024,1023124620,-1122890057,-1100731037);WS(-1106521214,-1077666555); +sum1=W(0,-1120901013,1052094618,1052142545,1003321829)+W(1,-1107011833,1059969903,1060439250,-1105222370)+W(2,1000924822,1039904896,-1095361591,1029823211)+W(3,1027793952,1046166153,1000548911,-1127794128)+W(4,-1105733097,-1118608535,-1108686032,-1102912320)+W(5,-1113880763,-1106161276,1045702647,-1085669204)+W(6,-1107186882,-1106172071,-1103122454,1052882623)+W(7,-1096551831,-1132637458,-1113781993,-1118745688);sum2=W(0,-1123608512,-1119278092,1025264110,1034079401)+W(1,-1128074608,1059405503,1031056700,999851902)+W(2,-1109589984,-1081290516,-1123208440,-1102099502)+W(3,1032460032,-1121242732,1015173988,-1127758712)+W(4,-1104246380,-1156408861,-1116991392,-1123371956)+W(5,1063218900,1038716729,-1098806852,1051208451)+W(6,-1131612640,1034885175,-1136590423,-1110007228)+W(7,1025045004,-1115963068,1009682031,-1124651080);WS(1061862175,-1081928168); +sum1=W(0,1024897880,-1093982770,-1105871745,-1105584175)+W(1,1040792761,-1083616743,-1092069365,1038516044)+W(2,-1146323132,-1089274268,-1089303929,1041867802)+W(3,-1113939311,-1096909360,-1106858177,1033649803)+W(4,1052657028,992865878,1027658214,1043886056)+W(5,1065026281,-1106374835,-1121064957,1055074797)+W(6,1054263413,-1132520748,1015027694,1056987882)+W(7,1049053899,1017619030,-1137844354,1043742846);sum2=W(0,1056220347,1044756153,1027322757,1078367032)+W(1,-1073546091,-1101560565,-1096547764,-1078889751)+W(2,-1129365336,1048890957,1042443775,-1104234997)+W(3,-1105729449,1028418751,-1104280017,-1132392998)+W(4,-1148770222,993742973,-1115583846,1023449836)+W(5,-1126862726,-1147412718,-1130380138,1043960988)+W(6,-1133306383,1019814478,-1115461788,1029550531)+W(7,1042854212,-1123464959,-1143007558,-1130422948);WS(1052938943,-1103606318); +sum1=W(0,-1110318513,-1108424920,-1087051802,-1114719934)+W(1,-1100729633,-1082198177,-1085940948,1051495307)+W(2,-1090569589,-1088355266,-1090825863,1058926789)+W(3,-1120060704,-1090847836,-1096343413,1050591187)+W(4,1044445625,1040769086,-1114447856,1058073278)+W(5,1058839039,-1103818980,1037779432,1060893495)+W(6,1053564817,-1091337376,1053070735,1060585177)+W(7,1059253187,1026807692,-1131842819,1054456219);sum2=W(0,1032703681,-1098289077,1033006755,1015621136)+W(1,-1098355550,1046984196,-1098808895,1048700747)+W(2,-1097901072,1061110777,-1083721832,1047054427)+W(3,-1165737020,1047097145,-1109410901,-1126056922)+W(4,-1084108607,1067219112,1074691924,-1072583370)+W(5,-1081041246,1066863963,1064576163,-1081224226)+W(6,1046858869,-1086075738,-1084686190,1069053051)+W(7,1076043754,-1071293986,-1079374171,1068664236);WS(-1083248351,1041375270); +sum1=W(0,-1142901727,-1092067298,-1087439008,998616699)+W(1,-1128981712,-1084179155,-1097778587,1043282847)+W(2,-1110272759,-1086455104,-1090979219,1049050406)+W(3,-1170526381,-1087021556,-1095775369,1045114289)+W(4,1052452449,-1128264947,1045294540,1054645196)+W(5,1058025241,-1146688137,1042620067,1050602866)+W(6,1053431193,-1125997182,-1127282486,1061357806)+W(7,1053157267,1046767364,981342481,1052134295);sum2=W(0,-1079299620,1068687973,1068235144,-1076239116)+W(1,-1083365485,1066921525,1068481951,-1079042334)+W(2,1066758659,-1080829299,-1106704213,1049726715)+W(3,1075688460,-1073149491,-1077473679,1069675355)+W(4,1019509447,-1116897962,-1114529265,1054062613)+W(5,-1100834259,1032806429,1041823371,1057377046)+W(6,-1107253929,-1107915189,-1104989857,-1095788298)+W(7,-1090199615,1034867372,1021289065,-1112126912);WS(-1089965567,1041739713); +sum1=W(0,-1109541748,1046384755,1050606464,1014059625)+W(1,-1113826001,1062759283,1052952467,-1120181702)+W(2,-1107441048,1056969105,1061539071,-1099389050)+W(3,-1129336123,1054439728,1043585729,-1110918155)+W(4,-1098095776,-1110057610,1016608410,-1097348868)+W(5,-1097909490,-1103909923,-1165355548,-1098227712)+W(6,-1097990985,-1097884829,1018410859,-1089710746)+W(7,-1101291373,-1118732474,-1109883584,-1112431723);sum2=W(0,-1112359157,1037267536,-1113211599,1035083591)+W(1,-1119560270,1053336900,-1110383577,1037205500)+W(2,1033928454,1029308948,1036846600,-1130432545)+W(3,1027763767,-1137000642,1035214305,-1111608107)+W(4,-1129901649,999833884,-1112771443,1032203968)+W(5,1062183610,1048127168,-1113848439,1050641640)+W(6,1037218786,-1080175934,-1087091182,1052549520)+W(7,1041216407,-1105808372,-1106600446,-1098666781);WS(1040803966,-1079223548); +sum1=W(0,-1113401739,-1097729981,-1108233168,-1103550802)+W(1,-1095164520,1056711305,-1112466052,-1105545077)+W(2,-1106149592,-1100704991,1033129898,-1102562113)+W(3,-1105989383,-1109921151,-1106323272,-1123094707)+W(4,1016715200,-1123835458,1021078213,-1115946235)+W(5,1072346450,-1092700173,-1103483180,1051122342)+W(6,1041579689,1033532004,-1104392485,1046866637)+W(7,1019070562,-1109398092,-1128003929,1017795558);sum2=W(0,-1126076753,-1098724323,-1097131135,-1132003761)+W(1,-1094940877,1075670208,-1094337061,1028715469)+W(2,1050064171,-1119763725,-1092647285,-1096054213)+W(3,1024912709,-1103386045,-1104609741,-1095828963)+W(4,-1102131199,1027012993,-1114013558,1033952970)+W(5,1037045260,1026138301,-1109613274,1043946979)+W(6,-1101691459,1032910718,-1107006741,1052392413)+W(7,1042676905,-1109320626,-1127911473,-1104710657);WS(-1077711088,-1080462700); +sum1=W(0,-1143635214,-1094028818,-1095463505,1016976667)+W(1,1025648038,-1081613943,-1084473735,1050435883)+W(2,-1119077035,-1089963906,-1092817267,1033190198)+W(3,-1124293633,-1096263708,-1112556483,-1127874241)+W(4,1043759401,1023995271,1033669226,1048382760)+W(5,1061061657,-1104130812,1038367764,1060944248)+W(6,1058923652,-1115548134,1035230572,1059085444)+W(7,1052630131,1035279350,998948881,1024757337);sum2=W(0,-1128906105,1033599435,1038737245,-1118714905)+W(1,-1102497202,-1081197801,1047074065,-1104617441)+W(2,1025452854,1036478618,1051590837,1052988680)+W(3,1045309195,-1096538670,1034730428,-1147569173)+W(4,-1124872105,-1120736313,-1084863446,1045939428)+W(5,-1069501955,1076529178,1072627800,1073600723)+W(6,-1078626366,-1115729701,1066278053,-1078764847)+W(7,-1097394746,1001372341,-1119746081,-1094352359);WS(-1085605823,1039908372); +sum1=W(0,998302542,-1097280531,-1101464226,-1110519177)+W(1,1051114493,-1093718398,1050325520,-1105109851)+W(2,1047411644,-1103804777,-1109283231,1047758692)+W(3,1027414133,-1099881946,-1107759461,1008966514)+W(4,1040574050,1017687606,-1136474287,1050281295)+W(5,-1095999987,1038451002,1027599892,-1112501642)+W(6,1013903280,1026946257,-1112873934,1052111506)+W(7,1037344125,1030395745,1007362713,-1131548857);sum2=W(0,-1129481498,-1104582263,-1098998597,-1115357326)+W(1,-1149109833,1036322812,-1098625511,1037423788)+W(2,-1098320683,1045914812,1050926614,-1107237807)+W(3,-1111060805,1035368549,1029306918,-1118016391)+W(4,1041990652,-1109942748,-1119934044,1033193484)+W(5,1029624616,1032249206,1028176618,1052524895)+W(6,1016354632,1026298641,-1117055607,-1102468922)+W(7,1036818044,-1113790705,-1116685452,1029333966);WS(1066221936,-1112686252); +sum1=W(0,1049363148,-1108750629,1042737360,-1111426931)+W(1,1038796336,-1095853365,1053136109,-1090113310)+W(2,1041899238,1023718298,-1108890233,-1102958241)+W(3,-1112879133,-1165972390,1033191264,-1104001476)+W(4,-1105687720,1035534704,-1110677245,1039181581)+W(5,1031102479,1019901392,-1101864162,1051677110)+W(6,-1089545128,1048841797,-1107302241,1058267293)+W(7,1010166848,989728967,-1106653499,1047293124);sum2=W(0,-1115216952,1041466962,-1121628281,1019579309)+W(1,1035949455,-1096356807,1044350744,-1101014764)+W(2,1020295703,1011899626,1019949697,-1125343389)+W(3,1032252124,-1108620092,1020414781,-1107189524)+W(4,-1110659898,1046938970,-1133616314,-1104132268)+W(5,1067161402,-1097777539,-1089581193,-1092586315)+W(6,1028945397,1042942659,1025080038,1044980625)+W(7,-1106879950,1034429670,1000298789,1024223321);WS(1065647552,1042223795); +sum1=W(0,1047859212,-1099254654,-1090185691,-1118213891)+W(1,1049817209,-1090115457,-1085546115,-1102035956)+W(2,1018314812,-1089622500,-1086839140,-1136727619)+W(3,-1111834851,-1088857895,-1103143659,1048950515)+W(4,1056675965,1045938459,1042956769,1054600851)+W(5,1060918524,1048397149,-1095542592,1052764224)+W(6,1053194074,-1115710386,-1107166488,1050058698)+W(7,1046059111,1019098869,1046421002,1055030644);sum2=W(0,-1100534663,-1109612723,1045715537,1038047795)+W(1,-1098906327,-1088589586,-1109559353,1043709757)+W(2,-1097979318,1030039799,1046750383,1054998296)+W(3,-1135615252,-1108474833,-1112135838,1042447686)+W(4,1074456323,-1071944747,-1074982428,1062099960)+W(5,1061406543,-1087600981,-1086420775,1074047524)+W(6,-1095255331,1040647828,1058024333,-1109444720)+W(7,-1098188594,1051479186,1042372587,-1106577876);WS(-1099261566,-1102058551); +sum1=W(0,-1118752449,1038344912,-1099740733,1037460750)+W(1,1046116085,-1077722267,-1097823268,1048855473)+W(2,1043443965,-1109540512,-1086845489,1041532007)+W(3,1048656673,1006300060,-1112472539,1035797482)+W(4,1028635221,1040547388,1046250530,1035868896)+W(5,-1089090112,1053686776,1049218244,-1135561696)+W(6,1036245196,1041323791,1041462458,1054063629)+W(7,-1115462467,1050214602,-1116084210,1039520068);sum2=W(0,-1103130345,1049640504,-1099880087,-1107023704)+W(1,1007138702,1060797185,-1099241173,1025081245)+W(2,1042694232,1034621436,-1096100738,1020633935)+W(3,-1117764771,1051814059,-1100840753,-1116958023)+W(4,-1100868353,1035820630,-1106650230,1047853298)+W(5,-1096656068,1048085306,-1111373979,1050410790)+W(6,-1092716332,1045275377,-1098540289,1053061345)+W(7,-1092707384,1026583068,-1095110662,1057695342);WS(-1081437504,-1086037448); +sum1=W(0,1034161364,1048827465,1048903167,1002898847)+W(1,-1102052735,1062493730,1058952469,-1097339820)+W(2,-1116847174,1052097743,1056452878,-1122224578)+W(3,-1114337484,1051622635,1046287775,-1124219870)+W(4,-1110924302,1038960439,-1124004134,-1098037791)+W(5,-1082951605,1046141833,-1109622563,-1089826679)+W(6,-1093057352,-1142221339,1037494008,-1095802941)+W(7,-1097214606,-1115514650,1018754897,-1115921615);sum2=W(0,1046658552,1054123387,-1098267531,1026296217)+W(1,1048926974,-1103258874,1031912087,-1092482457)+W(2,1051240634,-1081783631,1064081451,-1093986590)+W(3,-1116201775,-1136084293,1052301313,1031417427)+W(4,-1080723543,1049528827,-1107249906,1056065541)+W(5,-1095327126,-1114829012,-1094476247,1068312252)+W(6,1054428583,-1109929036,-1110151549,-1101319294)+W(7,1032992382,-1131461985,1023898518,-1095108256);WS(1059931039,1045326059); +sum1=W(0,-1116497429,-1102542884,1027626820,-1105339195)+W(1,1048600749,-1087368655,1042432944,-1104905094)+W(2,1028510504,-1098837680,-1090841955,1017781140)+W(3,1006123003,-1102238241,-1135818261,-1104151378)+W(4,1045819641,-1110241387,1020852317,1035394960)+W(5,1050459387,1028063406,-1120454715,1050447189)+W(6,1038310627,1046575867,-1135766366,1058872902)+W(7,1039487803,-1138241103,-1121800177,1009721182);sum2=W(0,-1125695753,-1107049318,1033521028,-1108715925)+W(1,1037467647,1024736242,-1126359337,-1106861101)+W(2,-1108013135,1030099711,-1096919459,1049447879)+W(3,1025122350,1027296385,1038861546,1016159100)+W(4,1043711791,-1096562690,1043372642,-1130002309)+W(5,1069236178,-1077602923,1055907536,1069432650)+W(6,-1104043463,1048192702,-1079492159,-1089672176)+W(7,-1115278753,1038199238,1041544949,-1102967963);WS(1065273279,-1155200022); +sum1=W(0,1042748400,-1113644224,-1110724474,1032043190)+W(1,-1101712885,1049530899,-1103694886,1044363154)+W(2,1042545917,-1119655327,1032343156,1020290996)+W(3,969146311,1014066252,-1113927803,1023679047)+W(4,-1113329098,1017813644,-1107914275,1048813356)+W(5,1013956115,1030506334,-1119126921,-1138873982)+W(6,-1118975351,1035449518,1047677002,-1088512539)+W(7,-1102619473,1037002750,1040385292,-1112426340);sum2=W(0,-1114326988,1033596237,1040024171,-1105379539)+W(1,-1127815582,-1090164335,1027874005,-1128505094)+W(2,1011114412,-1098155637,1026082941,-1144273240)+W(3,1008109660,-1110656550,1010514392,1010998384)+W(4,-1100858724,1058095820,1020126178,1054804566)+W(5,1015111122,-1114002666,-1095228668,-1108932212)+W(6,-1123558275,-1117423595,-1109234902,1057491035)+W(7,1025837089,1028462436,-1148517800,1041639386);WS(1064822335,-1095840736); +sum1=W(0,-1114924672,1052717533,1056391992,1049019197)+W(1,1027273471,1063307800,1053226600,1006539024)+W(2,1023329786,1056189595,1051465786,1024001604)+W(3,1032078653,1049885284,1051405604,1034076369)+W(4,-1097259572,-1158101509,1047279757,-1082098174)+W(5,-1085358981,1048033194,1028150783,-1083318869)+W(6,-1096912972,-1122795750,1040827508,-1093212548)+W(7,-1090164049,-1102713147,1040247311,-1097995110);sum2=W(0,-1105536143,1059138923,1057945825,1044291516)+W(1,-1102729189,-1117658388,1064153610,-1123279074)+W(2,-1098099014,-1088923796,-1082824416,1019015608)+W(3,-1116414073,-1093119165,-1114762777,1041233257)+W(4,1063262829,-1084742426,-1075047571,1075245425)+W(5,1055818216,-1094508761,-1087050661,1058517731)+W(6,-1082492094,1066223948,-1107921801,-1095331241)+W(7,-1076437009,1070896480,1065694420,-1084810008);WS(-1090760447,1052695066); +sum1=W(0,1004836815,-1100507696,-1086160295,1032827391)+W(1,1033221771,-1085951050,-1085279840,1040820154)+W(2,1019263487,-1096291378,-1090476887,-1142824410)+W(3,1030288497,-1096098979,-1104244158,1033909728)+W(4,1050270371,1011775197,-1122589400,1058956361)+W(5,1060000376,-1109718672,-1126907788,1061054293)+W(6,1052048107,1014310644,1031459881,1053225609)+W(7,-1123372967,1050105184,1002236306,1044967298);sum2=W(0,1010795990,1054475337,-1119133376,-1115548553)+W(1,-1108773712,-1096206384,-1126101085,1025233265)+W(2,-1123367926,-1123699076,1025243447,1028577219)+W(3,1016487959,1026289255,-1116348436,1027045545)+W(4,1049648601,-1130742967,-1106450540,1034230379)+W(5,1056453743,1076253468,1074765700,1031862009)+W(6,1040231624,-1082850789,1067142167,-1092511031)+W(7,-1098871930,-1066441953,-1074864896,1052333940);WS(-1098442559,1026469881); +sum1=W(0,-1119522441,1049663660,1050517915,-1149983818)+W(1,-1148708523,1054270423,1057681670,-1111872220)+W(2,1034687077,1060962908,1065584902,1033974589)+W(3,1040191316,1037520938,1043551013,-1121497336)+W(4,-1102209381,-1107005098,-1106643136,-1114000872)+W(5,-1080449641,1044397088,-1107624656,-1097110004)+W(6,-1088971425,1011262833,1040137492,-1089390067)+W(7,-1098201593,-1111636393,-1152197144,-1096207069);sum2=W(0,1049995354,-1083836095,1067471948,-1093666199)+W(1,-1108191449,1075025493,1067519925,-1104373549)+W(2,-1109961150,-1092122258,-1079149522,-1086862321)+W(3,1057348983,-1090446878,-1118106953,-1105617480)+W(4,-1089657247,1040673003,-1087858714,1044138823)+W(5,1070698122,-1107890740,-1086283540,1068116530)+W(6,-1092830464,1044801958,1052510667,-1077256496)+W(7,-1095892285,1040940184,-1113062539,-1104600439);WS(-1089367999,-1080592817); +sum1=W(0,-1142600967,1046045566,1020565079,1050901372)+W(1,1042662963,1059303201,1051791856,1043029392)+W(2,1028335344,1057651322,1060541458,-1131715556)+W(3,1040529906,1061742083,1050310918,1009439676)+W(4,-1094642094,1032349343,-1123752726,-1098563453)+W(5,-1082254536,1040706037,1017360893,-1092783656)+W(6,-1083519131,1042767141,1038984656,-1088235102)+W(7,-1084895582,1037250730,1039511244,-1088554180);sum2=W(0,1044777691,-1096214776,1072921984,-1086948904)+W(1,-1107333159,1069014322,1069427540,-1085906527)+W(2,-1101622483,-1095651744,1068759557,-1094251850)+W(3,-1095334551,-1071443034,-1080635176,1054103540)+W(4,-1086612116,1053678014,-1081008410,-1102597600)+W(5,1068187895,1040782350,-1094318103,1055370552)+W(6,-1098339283,1052418274,-1097053445,1049876941)+W(7,-1119710681,1057760894,-1116179967,-1098368915);WS(-1072329816,1074376722); +sum1=W(0,1034466519,-1100415357,-1097135645,-1119826815)+W(1,1040071236,-1078161261,-1123247055,-1121811611)+W(2,-1125783811,-1092987820,-1086793716,1034412551)+W(3,989295697,-1097292445,-1117997032,1025497578)+W(4,1050212013,1009264740,1001332238,1051061560)+W(5,1050094223,1047608180,-1119531350,1057003368)+W(6,1053182609,1053959834,-1139666027,1060987117)+W(7,1040352158,1003451511,-1130537576,1030369595);sum2=W(0,-1119692159,1024673399,1033963983,1010850411)+W(1,1041465994,1041917938,-1107122545,-1110113403)+W(2,1041361680,1016152214,1031918417,1019542894)+W(3,1035827461,-1108745692,-1119110501,-1128076954)+W(4,-1126975570,1039643589,-1110591524,1041326744)+W(5,1075051781,1061676083,-1098235771,1049177676)+W(6,-1100210466,-1080793678,-1072022345,1057547658)+W(7,-1111890885,-1115279667,1038326573,-1101468559);WS(-1089734463,1065567745); +sum1=W(0,1048676446,1033541431,-1089748010,-1115310942)+W(1,1041943745,-1078026925,-1091844976,1051913151)+W(2,-1123414147,-1088695462,-1083863979,1032260949)+W(3,-1118314271,-1090712276,-1097284573,1025799735)+W(4,1047890913,-1111760907,1041536229,1053493076)+W(5,1057682191,1033727319,1031051700,1060749357)+W(6,1057895644,-1123512523,-1117552023,1060855949)+W(7,1052101531,1037093278,-1134918146,1049355215);sum2=W(0,-1089227831,-1073947481,1067110585,-1087048499)+W(1,-1106022394,1057992187,-1100054441,-1081828818)+W(2,1053589051,1049824990,-1096117153,1057638724)+W(3,1050363813,1047082764,1008667589,1030725267)+W(4,-1107011493,1063056164,-1088705293,1062551012)+W(5,1053279159,1049660447,-1091908804,1044700801)+W(6,-1098858111,-1112699600,1041467137,1047077354)+W(7,-1093863007,-1118599281,991046018,1055551992);WS(-1079109040,-1085312521); +sum1=W(0,-1140282322,-1117579705,1037365911,1023769582)+W(1,1041551140,1061549365,1052645482,-1105105824)+W(2,-1111084358,1050958145,-1092653220,1030694836)+W(3,-1133450021,1047664699,-1113919416,955351653)+W(4,1042794748,-1098682508,-1127522065,-1113299189)+W(5,-1087637436,1049784787,1041518392,-1086336671)+W(6,-1111723928,-1112540051,-1104535548,1051894263)+W(7,-1111528112,-1121426302,997865134,1039072513);sum2=W(0,1037755147,-1116775242,-1182735741,-1112127727)+W(1,-1096944427,1050960349,-1110833901,-1117076760)+W(2,-1126463908,1025802869,1057824022,920706880)+W(3,1016301114,-1106817101,-1117624689,1025583781)+W(4,-1108084106,-1106208929,-1099828018,1027967369)+W(5,1057406540,-1093670465,-1106621688,1047419656)+W(6,1030718323,-1104727129,1046907280,-1106635563)+W(7,-1146210056,-1133403952,1024731263,-1129307942);WS(1066445424,-1114782683); +sum1=W(0,1037849343,-1092096849,-1110498524,-1105169880)+W(1,1053025475,-1093199580,-1089773556,-1111719878)+W(2,-1118185334,1017432168,-1085224723,-1106443352)+W(3,-1104379365,-1120659192,-1097477655,-1115180998)+W(4,1045982494,1027992139,1033176686,1042140161)+W(5,1058443885,1034263873,-1104315937,1059787797)+W(6,1051015495,1015617473,-1099213011,1058982105)+W(7,1047806371,-1124174113,-1134277975,1049335790);sum2=W(0,1010861092,-1111353322,-1104443938,1035156885)+W(1,1050643378,1033492110,-1092519845,1053142713)+W(2,-1100307988,1045835461,1061622434,-1093995815)+W(3,-1095534688,-1118030035,1054276307,-1094190457)+W(4,-1131256669,-1119467871,1034215267,1020765936)+W(5,-1093594884,-1120345789,1043572605,1043066295)+W(6,1051701313,-1120193257,1035132204,-1090891830)+W(7,1044764145,1010759898,-1107758441,-1115303200);WS(1053797695,1034928741); +sum1=W(0,-1101985872,1036410350,1027306577,-1113709609)+W(1,-1106547453,1049396519,1048222316,-1098832221)+W(2,1038712045,-1098128846,-1093507345,1032341932)+W(3,1037110646,-1095739626,-1102358117,1020651977)+W(4,-1094568298,1041675949,1039738506,-1089618673)+W(5,1057932790,1032602030,1049870789,-1089721378)+W(6,1042310981,1020376402,1041034929,1051551069)+W(7,1049811664,1036847389,1038606871,1032076306);sum2=W(0,1048834253,-1100415470,-1096371488,-1107569978)+W(1,1047116738,1057366407,-1097656368,1032955728)+W(2,1024141754,1047568587,1049724515,-1095875849)+W(3,1031286951,1040928209,1025784853,-1117854930)+W(4,-1140716449,-1098639187,-1113379832,-1091206842)+W(5,1067804624,-1112454303,-1102236471,-1099982688)+W(6,-1101898886,1039735469,1037256860,-1107732848)+W(7,-1099991629,-1122662653,1034482735,-1104360749);WS(-1100599294,-1113486107); +sum1=W(0,-1113994869,1043005476,1058015130,1041832895)+W(1,-1100675730,1054749782,1065539217,-1101582062)+W(2,1033573462,1043027144,1046936430,1015862616)+W(3,-1147102474,1047923809,-1122192647,-1123901241)+W(4,-1095369841,-1120610968,-1123207408,-1095482492)+W(5,-1085935041,-1111595960,1040056719,-1088297536)+W(6,-1096194081,1041950395,-1110844045,1054414015)+W(7,-1106262926,-1097939280,1007333963,-1118572185);sum2=W(0,-1118187780,1043450683,-1105017139,1033496750)+W(1,-1102935461,1057933296,-1106458832,1041080086)+W(2,-1122438380,-1111698692,-1098239652,1023898015)+W(3,999989929,1034431733,1023645924,1007185073)+W(4,-1142467441,1009095593,1012703263,-1118941046)+W(5,1063076098,-1089439993,1025973118,-1096734279)+W(6,1048742138,1004297609,-1124882200,-1119844388)+W(7,-1090457759,1048791679,1046154393,-1096898561);WS(1058454143,-1086058342); +sum1=W(0,-1099743710,1054019099,1051341170,-1115074879)+W(1,-1113530407,-1085932301,1057240637,-1103933280)+W(2,-1115568198,-1097279225,-1090466976,-1124606630)+W(3,-1118699368,-1095706385,-1108988935,-1123572016)+W(4,-1112675511,1042487060,1040408770,-1123276713)+W(5,1048593300,1034191179,1044345774,-1095853513)+W(6,1052135974,-1111240730,-1105205160,1059272419)+W(7,1041536544,1043157563,-1135917288,1039376368);sum2=W(0,-1094360366,-1104496052,-1106684338,1047642666)+W(1,-1101124559,1062389037,-1101578828,-1111839157)+W(2,-1114275291,-1102577927,-1099504899,-1119401007)+W(3,1018914035,-1100286365,-1121638606,1010413358)+W(4,-1137000462,-1120606628,1038757740,-1097565895)+W(5,1056361687,-1110716481,1043520604,1017360469)+W(6,-1111580608,-1174578992,-1121032787,1057357121)+W(7,-1108198790,1031842399,1020758339,1047557438);WS(-1116191222,-1087222261); +sum1=W(0,1026061480,1041212802,-1092140039,1051378220)+W(1,-1131139769,1054776996,1028855632,1051132746)+W(2,1010253799,1056191968,1052461054,1029438530)+W(3,1032111196,1051463563,1041996679,-1140691900)+W(4,-1108686318,1018050395,-1115126509,-1098282527)+W(5,-1096808426,1031880915,1028919646,-1114615088)+W(6,-1089672580,1041055121,1047407636,-1090181940)+W(7,-1084069643,1049760258,1025713945,-1095415146);sum2=W(0,988781159,-1079951996,1075791226,-1120688670)+W(1,1034244658,-1078043585,-1080919050,1023531678)+W(2,-1125227753,1050383220,1061514147,1038669521)+W(3,-1123518214,1056154705,1043495776,-1122152897)+W(4,-1096143661,-1126178338,1033088733,1072772368)+W(5,-1074830486,-1153355920,1039982901,-1087274515)+W(6,-1091737459,-1117938706,1047086021,-1138433181)+W(7,1064633897,-1090859740,1036258954,1043710967);WS(-1086114623,-1084816591); +sum1=W(0,1041053515,-1112478813,1036163639,-1119067590)+W(1,1050414506,-1091176571,1045609440,-1123050946)+W(2,1033253648,-1092456237,-1096458464,1017204584)+W(3,-1142909644,1019336538,1039781304,-1109025761)+W(4,-1114565991,1041839788,1015833809,-1106221778)+W(5,1041957568,1049671879,1038604869,-1102274148)+W(6,1042499428,1004159150,1016035267,-1140250052)+W(7,-1110741472,1038938427,1019624502,1024592194);sum2=W(0,-1145756082,-1129023472,-1115603798,1006657945)+W(1,1043063832,-1070476153,1024575987,-1102183527)+W(2,1030027167,1034687231,1078068971,1048257970)+W(3,-1120006792,998969122,1014471457,-1129422896)+W(4,1029036192,-1122908214,1032033598,1043167348)+W(5,-1079118960,-1117007948,1013148193,-1134024937)+W(6,1026633068,-1106350665,1026806223,1058188063)+W(7,1035752331,-1119066852,1037397710,-1138449465);WS(1058895967,-1115291633); +sum1=W(0,-1110715998,1028840739,-1118075736,-1125313920)+W(1,-1093243535,1056177832,1050429809,-1110540830)+W(2,-1114664694,1021103494,1050921353,-1098773368)+W(3,-1128878150,1048765371,1039051533,-1108229374)+W(4,-1106860038,-1113756805,-1102743433,-1101537045)+W(5,1062536899,-1094426092,-1112821659,-1109809347)+W(6,1042267175,-1105504016,-1112140166,1050429425)+W(7,1019165331,-1113092552,-1123143221,-1104944731);sum2=W(0,1035161218,-1092533458,1049660250,-1118991740)+W(1,1025873763,1059098325,1052404039,1031409558)+W(2,-1109675818,1033133876,1035329255,-1130385854)+W(3,-1106515599,1041079456,-1100849576,1035221069)+W(4,-1084844108,-1131472334,-1093107290,-1072802862)+W(5,1066715964,1050189246,-1099814906,1059153934)+W(6,-1121630224,1032032260,1033113369,1054800035)+W(7,1051036492,-1109656332,999987753,1017402854);WS(-1088275071,-1079832501); +sum1=W(0,1054795207,1001216956,-1140631216,-1121609972)+W(1,1036185063,-1108520810,-1109051587,-1091175970)+W(2,-1095852779,-1111932116,-1112588624,1036253081)+W(3,-1099614386,-1114447781,1018114011,1056993046)+W(4,1053928586,1049117898,-1114449795,1031902612)+W(5,-1118566269,1024185910,-1089874193,-1100362195)+W(6,-1106845532,-1098704820,1033419200,1050418310)+W(7,-1106898567,-1103629998,1052334541,1057036918);sum2=W(0,981839325,1036479145,-1099753021,1034198694)+W(1,1043520387,-1099082069,-1087878645,1050051875)+W(2,1020237946,-1106552091,1049181233,-1099547613)+W(3,1032634213,-1105193718,1051666481,-1112528204)+W(4,1033443852,-1125560160,-1101897553,1052074243)+W(5,1044393022,-1126528836,-1090657055,1061175239)+W(6,-1125692060,-1111189720,-1113239720,1036533430)+W(7,1038429221,-1110455840,1038783930,-1100952955);WS(1055684799,1057467177); +sum1=W(0,1040983065,-1097583958,-1084593518,-1115635180)+W(1,1047016048,-1083875169,-1088354001,1033664034)+W(2,1031194256,-1090088564,-1089538899,1040303666)+W(3,1031542812,-1092334596,-1096939300,1036112338)+W(4,1048845932,-1108137881,1044528285,1057349085)+W(5,1057461395,-1130549589,1042415046,1059080519)+W(6,1052697432,1040121956,1025308788,1055847004)+W(7,1025617138,1051059157,-1124884732,1050363555);sum2=W(0,1043377438,1057352437,1084724252,1039076253)+W(1,-1129064764,-1070013447,-1070809771,-1111770710)+W(2,-1117340191,-1115045950,1024963427,1041506513)+W(3,1006037802,-1120758055,1037860995,-1113661124)+W(4,-1108204793,982595482,-1111202323,1055999642)+W(5,-1084654208,1008953953,1026864091,-1115649819)+W(6,1023558847,-1112891517,1041107952,1027889169)+W(7,1034794526,1036271073,-1161342746,-1108774739);WS(-1089965247,1033154456); +sum1=W(0,1043361746,-1091726905,1037068672,-1118330000)+W(1,-1106541856,-1087991002,-1106295439,1028536899)+W(2,1037178020,1026207675,-1094017778,-1103233833)+W(3,-1148310999,-1106998176,-1102222128,-1122355891)+W(4,1027410848,1030795409,-1112803845,1043453383)+W(5,1053447482,-1109712917,-1111747193,1047994631)+W(6,1049286760,-1111739348,-1110327970,1058853977)+W(7,1056026770,-1104668925,1037236782,1044913013);sum2=W(0,-1115350296,1065017407,-1104712414,-1104081637)+W(1,1033477476,1054909386,-1101193417,-1102551062)+W(2,-1092653578,-1094950793,-1096226206,1048930937)+W(3,-1095610208,-1100838677,1042131871,1049862570)+W(4,1027805677,1038124336,-1102746442,1038273275)+W(5,1069044481,-1090398660,1025981021,-1097697554)+W(6,-1097937335,-1111378843,1049254524,1051154993)+W(7,-1090656582,1038627466,-1100983150,-1115393002);WS(1053522367,-1088249107); +sum1=W(0,-1109062519,1050121221,1049354980,1041083642)+W(1,-1129341567,1050256849,1062047573,1041255149)+W(2,1034422596,1054029415,1058306025,-1122816004)+W(3,1002201935,1057986114,1043380368,-1105678140)+W(4,-1089361286,-1108913352,-1116245577,-1104528935)+W(5,-1085946707,-1106612546,1044478835,-1094323010)+W(6,-1096738148,-1127765836,1010650184,-1092704114)+W(7,-1098664466,-1116617606,1004046811,-1095183726);sum2=W(0,-1122196578,1040512713,1047105417,-1115691041)+W(1,-1119943136,-1093984910,-1115639944,-1133382325)+W(2,1026693101,-1112542694,-1128164365,1035619338)+W(3,1035287249,-1122951759,1040561229,-1121646682)+W(4,1072356775,-1074089832,-1078420733,1066880006)+W(5,-1106032356,1053171659,-1079250237,1070833917)+W(6,-1103058628,1050228647,1063302165,-1084317659)+W(7,-1109474775,1041535222,-1111273903,-1106694088);WS(1054980735,-1118400611); +sum1=W(0,-1136534172,1054619866,1056052581,1023857233)+W(1,1024279465,1063340895,1062631892,-1109579886)+W(2,1042081899,1032051762,1054891904,1031638446)+W(3,1037741818,1040187076,1036582853,1025101580)+W(4,-1084632317,1014993130,-1098911041,-1108899938)+W(5,-1087714282,984908360,1019079234,-1087670245)+W(6,-1091518889,1034243544,1040973935,-1089981519)+W(7,-1096282711,1035333164,1038263499,-1100292439);sum2=W(0,-1115607290,-1089284711,-1103126769,1048663857)+W(1,-1094885185,1065597134,-1106476140,1050959246)+W(2,-1094433235,1044112203,-1114774312,1032263390)+W(3,-1100445080,1044150663,-1110680696,1034671855)+W(4,-1135630263,-1096474341,-1135969141,-1090522781)+W(5,1068281966,-1097679100,-1110761886,-1116194786)+W(6,1034641663,1025157613,1030603925,-1114594327)+W(7,1039802827,-1101519530,-1121778209,-1120338125);WS(-1099426814,1028666567); +sum1=W(0,-1114817850,1054909169,1050515008,1017347599)+W(1,1038414608,1049870885,1058789976,-1102332157)+W(2,1043586729,-1094822147,-1096181150,1040863441)+W(3,1024225691,1035801215,-1110297504,1033560385)+W(4,-1091252816,1034424401,-1122852442,-1097546199)+W(5,1026332624,-1119196265,1040697053,-1088740593)+W(6,1046083753,-1101867410,-1096850298,1050979384)+W(7,-1106319780,1022200238,-1112505198,1043042893);sum2=W(0,-1113414658,1056314261,-1113854030,1032296335)+W(1,-1096252543,-1076472908,1056282685,1032045591)+W(2,-1130462124,1060789196,1041975936,1039836782)+W(3,1017080436,-1114544525,-1113045826,1032505935)+W(4,1057288090,-1106401889,1034439881,-1123218166)+W(5,-1076465599,-1099548772,1027355020,1048444709)+W(6,1064414385,-1137373456,1041344971,1054239999)+W(7,1017354944,-1131418272,1031341874,-1101415652);WS(1048405758,1021439377); +sum1=W(0,1004365570,1053912029,1056714988,-1095783591)+W(1,-1090472608,1058906144,1060368018,-1111296393)+W(2,-1096289768,1050004859,1059710205,1053249340)+W(3,1031327257,1057263364,1050104788,-1116930177)+W(4,-1097931508,1040281084,-1099026446,-1095028931)+W(5,-1084869763,-1099317986,1042667324,-1093355890)+W(6,-1089344390,-1094050929,1058667863,-1111710658)+W(7,-1095692170,-1127343131,1032145973,-1098648430);sum2=W(0,-1108324664,1038586891,-1102128439,-1137650289)+W(1,1053004242,-1096144010,-1102631398,-1107068637)+W(2,1044011702,-1087564484,1065778432,-1096186406)+W(3,1016473473,-1095964556,1041037240,1031462490)+W(4,1042582877,-1096095433,-1085103011,1065729447)+W(5,1066736444,-1084794119,-1096657292,1055966210)+W(6,-1109340585,1053274132,1061684194,-1077760412)+W(7,-1079487884,1070082531,1060428365,-1088233524);WS(-1120621558,-1109747932); +sum1=W(0,1034046808,1057052863,1056552380,1041405257)+W(1,1031113092,1061462741,1034826244,-1118447615)+W(2,1039149197,1051800560,1057041023,-1118172841)+W(3,1023987646,1054503948,1051243933,1025628006)+W(4,-1102283433,1009707220,1021959803,-1086075216)+W(5,-1087896594,1030648525,1002695151,-1089852749)+W(6,-1089266110,1034838445,1017359341,-1089300195)+W(7,-1098034299,-1099231069,1033512688,-1098077639);sum2=W(0,-1071453180,1075980741,1076686179,-1072120352)+W(1,-1071241469,1076219984,1075876198,-1069998225)+W(2,-1079882002,1071235859,1072219376,-1073669228)+W(3,-1096258120,1057784547,1056170781,-1086087106)+W(4,1055107632,-1125676035,-1109988374,-1096491690)+W(5,1048961210,1018908197,1033428305,-1100816518)+W(6,-1097056656,-1129279043,1040773271,-1123192163)+W(7,-1098632303,-1116156171,1030403985,1049622318);WS(1014286296,1057122707); +sum1=W(0,-1134927261,-1112841149,1045128364,-1100574608)+W(1,-1115033128,-1094208427,1023155519,-1096946922)+W(2,-1121259095,-1097752701,-1099169249,-1104533485)+W(3,-1118839498,-1093400894,-1111007544,-1131995140)+W(4,1041785732,1021982785,-1113867461,1045637171)+W(5,1066937726,-1099783438,-1106336253,1051848326)+W(6,1049921902,-1131816685,-1105189673,1058599142)+W(7,1043420320,-1116552190,-1114789302,-1118760834);sum2=W(0,-1094509070,1054995367,-1095117458,1049653051)+W(1,-1103662151,1058124872,1042728281,1050525055)+W(2,-1102028885,-1097129382,1049859565,1043452805)+W(3,-1111709279,1051259496,-1098619851,-1109754017)+W(4,1021265631,-1101605993,1018695699,1052542945)+W(5,1063131010,-1104882803,1044635344,1046926465)+W(6,-1116537562,-1110047725,1042944443,1029162962)+W(7,-1078653130,-1114867517,-1107003327,-1092457406);WS(-1089617919,-1078924764); +sum1=W(0,-1112517470,1043170193,1054651431,1038586191)+W(1,-1148410045,1062049174,1058605998,1021690773)+W(2,1037589846,1058401044,1056236357,-1123773533)+W(3,1015916580,1056139353,1034515388,-1114886949)+W(4,-1101086846,-1121720345,1032587193,-1087542485)+W(5,-1087004528,-1139319682,1034793549,-1088163691)+W(6,-1089711896,1052009144,1040971627,-1089020247)+W(7,-1089662071,-1138694970,1017461287,-1095006441);sum2=W(0,-1109901203,-1103309504,-1104791361,1041183203)+W(1,-1146453442,1050748307,-1109225788,1047303939)+W(2,1035308463,1055570013,1032462009,-1103370030)+W(3,-1129723226,1050955773,-1104507532,-1107592095)+W(4,1018299463,-1124518657,1040266660,-1113641717)+W(5,1050538753,-1107008276,1039912380,993644855)+W(6,1058013570,-1087158984,-1094411631,1024125183)+W(7,-1110543421,-1122733934,-1091454514,1044744090);WS(-1102088830,1068463311); +sum1=W(0,-1114291787,1051084317,1054791531,1007817678)+W(1,-1121377148,1060487316,1059023407,-1106493040)+W(2,1037434082,1049438849,1053262386,-1120569345)+W(3,1048479966,1037267389,1043319351,-1121570543)+W(4,-1097682087,-1130503387,1034628887,-1088166471)+W(5,-1087032009,1025313797,1042839161,-1087032011)+W(6,-1104445288,-1112558866,1040112167,-1090195409)+W(7,-1112047510,-1107488086,-1130274577,-1110294871);sum2=W(0,-1078842502,-1092761370,1046572938,-1092702026)+W(1,-1075365553,1050413401,1048469719,-1073165872)+W(2,1066341075,-1104166524,-1110447061,-1101579557)+W(3,1076187261,1056626852,-1123716833,1071992070)+W(4,1010298098,-1134107544,1023924734,-1113806693)+W(5,1041503306,1017902665,-1114438827,-1106037347)+W(6,1033398310,-1109271682,1011674154,1037192623)+W(7,-1110743783,-1123830383,1028552632,1031702363);WS(1050299903,-1120086405); +sum1=W(0,1051426245,1042953374,1015037916,1001761330)+W(1,1050955122,-1082933123,-1103780307,-1097473350)+W(2,-1119699408,-1145769035,1055455844,-1098718343)+W(3,-1107622229,1039587926,-1132909758,1038117517)+W(4,-1094503950,-1131440192,1032160884,1045981578)+W(5,-1099126616,1056645367,-1100940622,1055197076)+W(6,1049761702,1031622998,-1095742542,-1118831961)+W(7,1047033256,-1103124921,1041481643,-1105955296);sum2=W(0,1004282338,1036668146,-1100025935,1033493706)+W(1,1035721710,1058018229,1043333590,1032395114)+W(2,-1094630455,1040910383,1035348312,-1138557465)+W(3,-1102984389,1044530527,1034465026,1050323990)+W(4,-1097774825,1042472719,-1131691420,-1117747708)+W(5,-1110236537,-1106477628,-1122758767,-1106149887)+W(6,1017216296,-1101697584,1046834331,-1105971349)+W(7,-1108832665,-1099114129,1040100106,-1110352462);WS(1059761855,-1093333930); +sum1=W(0,-1114617627,1045397583,1026403632,-1114738580)+W(1,1053910378,1067649611,1028768699,-1102727321)+W(2,-1107452471,1042776267,-1104323849,-1094270689)+W(3,-1108958070,1044075076,1036450873,-1130455238)+W(4,-1109519752,1044731740,-1114933837,-1105736123)+W(5,-1090720496,1058839312,-1111636685,-1092041414)+W(6,-1103704317,1034877772,-1095377736,-1112030179)+W(7,-1106063752,-1113359528,1031929286,-1131764742);sum2=W(0,-1102724392,1032416705,-1111931472,1033753751)+W(1,-1083668043,1069568682,1029992729,-1104466296)+W(2,-1130490520,-1133345747,-1114422988,1048180527)+W(3,1029490699,-1129834714,1038116955,-1103926430)+W(4,-1105246922,-1126463180,1023732592,1037689465)+W(5,-1090236396,-1106129378,-1118149766,1052475163)+W(6,-1123788932,-1124715334,1038071226,-1122305941)+W(7,-1122171294,1029091180,-1117123194,-1127253836);WS(1058247519,1058950523); +sum1=W(0,1038957612,-1093535488,-1088063023,-1149972914)+W(1,1008158544,-1077128706,-1086741707,1039970419)+W(2,1036144305,1032313207,-1087332234,1041515382)+W(3,-1101573740,-1089306475,-1113848378,1048236362)+W(4,1052729022,1026693813,1037155715,1055543086)+W(5,1057693884,1032127358,1030719286,1058924163)+W(6,1056531259,-1112386573,1000958261,1060656868)+W(7,1052006205,1039554949,-1144612480,1049522521);sum2=W(0,-1128637884,1004874497,1050553491,1037957789)+W(1,1052981065,1058989771,-1106433025,-1110859440)+W(2,-1090346288,-1076253449,1058251934,1040710261)+W(3,-1092015484,1073146781,-1079150504,-1107045102)+W(4,1058234547,-1095571828,1050994656,-1089722328)+W(5,1052545864,-1129708900,1041665953,-1098594890)+W(6,1032950959,1015279680,-1111634443,-1106724054)+W(7,993278274,-1088813426,1053553553,1055215751);WS(-1079689312,1054955487); +sum1=W(0,1038847520,-1099397203,-1094091800,-1112827293)+W(1,1038138418,-1086663035,-1102151838,-1106748654)+W(2,1020226162,-1095805620,-1087965823,1035397268)+W(3,-1108673687,-1096846716,-1098762192,1030022886)+W(4,1057879171,-1099233409,1046408387,1053343716)+W(5,1057249493,1012875058,-1154890390,1023820222)+W(6,1053821069,-1126965269,-1109124523,1057985827)+W(7,1049463311,1027304762,1036334304,1051466543);sum2=W(0,-1110945783,-1110004947,-1118908362,1029906557)+W(1,-1121400966,-1106443118,-1089040350,1046588193)+W(2,1040948990,-1115139995,1054044230,-1106274145)+W(3,1030737726,1025987216,-1112260837,-1114149785)+W(4,-1081100797,1067844910,1069116571,-1075330978)+W(5,-1103643831,1048795077,1066162938,-1089891752)+W(6,-1120742988,1042365723,1049522444,-1095873523)+W(7,1017833328,1031208089,1011222152,-1107023588);WS(1045323518,-1099573370); +sum1=W(0,-1110296205,1050638833,1054678847,1043494028)+W(1,1040205415,1062545342,1058657792,-1129034139)+W(2,1037480760,1054717567,1053087270,1019451328)+W(3,1019441962,1056118375,1044080591,-1144942569)+W(4,-1098183847,1038272854,1041221965,-1087400961)+W(5,-1082320511,1038672050,1035507984,-1085969705)+W(6,-1090230188,1028598065,1018934299,-1092792902)+W(7,-1090342307,-1135273190,1032398451,-1094581114);sum2=W(0,1028786141,-1113941052,-1100272494,-1115726367)+W(1,-1097529180,1042859033,-1104186275,1044450180)+W(2,-1105649332,1051025911,-1097402721,1047479398)+W(3,1035799966,-1139194229,1025042835,-1127420023)+W(4,-1107020345,1043410282,-1095030133,1026681555)+W(5,1067055887,-1093369648,-1120312046,1044693748)+W(6,1073649944,-1073003592,-1083945294,1064288021)+W(7,1054550763,-1086831079,-1079526678,1067916626);WS(-1086660959,-1095040438); +sum1=W(0,-1103872010,-1108733164,-1101831491,-1137772688)+W(1,-1114303830,-1091611870,-1099393082,1033664792)+W(2,-1110960013,-1092153253,-1111668992,1043631948)+W(3,1004207675,-1111896549,-1104258339,-1112201312)+W(4,1048734598,-1112526127,1026497863,1047762270)+W(5,1032897582,-1105948909,1036444877,1053294440)+W(6,1051790266,-1102627253,1045765800,1054700448)+W(7,1042342295,1024477884,1030853145,1038982672);sum2=W(0,1032860761,1019143260,-1100773581,1047134358)+W(1,-1089859690,1060822499,-1086969962,1058187056)+W(2,-1113017653,-1127402252,1074524802,-1073724300)+W(3,1005834992,1026902445,986153015,-1123513506)+W(4,-1097448906,1027754828,-1121016162,1038575217)+W(5,-1092585260,1047705700,-1118814167,1050436365)+W(6,1052022456,-1115523910,992280012,-1097001013)+W(7,1040058169,-1115254226,1026625966,-1101541136);WS(1065625968,1033455989); +sum1=W(0,-1137040283,-1099349487,-1151616802,1037701789)+W(1,-1094784938,-1115632781,1047711372,1000406064)+W(2,-1103592251,1049293870,-1088133648,1050863995)+W(3,1038622703,-1120882929,-1118922740,1032127959)+W(4,1053320242,-1106274637,1035789757,-1102944307)+W(5,1053161728,-1098374228,1048627484,-1098462560)+W(6,-1128175786,-1114622845,-1120581030,1049613697)+W(7,-1119810116,-1165953346,1038993832,1017489163);sum2=W(0,-1103116216,1047962584,-1099238508,1035866397)+W(1,1058384307,-1088122523,-1082734190,1059558286)+W(2,1042132369,-1106560803,1056069525,-1096953271)+W(3,-1128202268,1028886015,1038442279,-1111426470)+W(4,-1105248240,1027069673,-1107491561,1052038184)+W(5,-1091086098,1053762892,-1098068789,1057669233)+W(6,1032403631,-1107462772,1064349048,-1083280561)+W(7,-1150402298,1012204557,1040922744,-1104452063);WS(1066439152,-1108830929); +sum1=W(0,-1108788820,1051866141,1055608939,-1102916748)+W(1,-1099017414,1030462560,1058768962,-1097607254)+W(2,-1109193920,-1109987210,-1113005110,-1168846782)+W(3,-1106724277,-1105116142,-1109670205,-1128476473)+W(4,-1097938907,1035488645,1013732302,-1103898045)+W(5,-1125603603,1027216291,1043113957,-1093577324)+W(6,1050862423,-1118580993,-1143171172,1040477611)+W(7,1053895221,-1107171108,-1107320747,1039038758);sum2=W(0,1051922636,-1107944278,1051409035,1050905005)+W(1,1005525738,1060123319,1040207956,1052154527)+W(2,-1094205878,-1096175996,1032045878,1024591478)+W(3,-1105421569,-1081193369,-1086096303,-1094330307)+W(4,-1131839644,1035659117,-1099079861,-1123874142)+W(5,1046139234,1029590720,-1109355656,-1100926997)+W(6,1039675350,1044310065,1032543174,-1113252250)+W(7,1062516858,1042520685,-1129395200,-1128729660);WS(-1094347903,1040885342); +sum1=W(0,-1097151811,1047615033,-1119901274,1027015666)+W(1,-1106442815,1051587896,-1115052947,1050782150)+W(2,-1091810963,1046407197,-1105704339,1051184308)+W(3,1042242605,-1122889273,1009768300,1034433919)+W(4,1051228067,-1096635113,-1145327523,-1109404651)+W(5,-1096200649,-1105180361,1048638245,-1096976391)+W(6,1040585575,-1092825760,1051518582,-1126487153)+W(7,-1108464678,1040013733,1038762547,-1132445914);sum2=W(0,1031829824,-1109805410,-1124056141,-1121205117)+W(1,-1090390675,1059020251,1045427632,-1105324964)+W(2,1018005966,-1118368537,-1107061510,-1110420773)+W(3,1032068637,-1113920834,-1115675784,-1113281242)+W(4,1007706034,1029970286,1026565438,-1106581817)+W(5,1057752640,-1089850616,1047283254,1046732003)+W(6,-1103994134,1036394258,1031976810,-1101115525)+W(7,1042522746,-1145818031,-1112565336,1036673543);WS(1066366016,-1121083386); +sum1=W(0,-1122305754,-1114017662,1026624689,-1127500850)+W(1,-1104671484,-1098749979,-1088657475,1025706181)+W(2,-1111488580,1037547214,-1085705014,1043832110)+W(3,1015742169,-1105147876,-1112264441,-1123271764)+W(4,1052467062,1035730049,-1127181143,1013565235)+W(5,1066224034,1026340635,1045310349,-1121688536)+W(6,1041900405,-1127673329,-1121566277,-1112016562)+W(7,1022047173,-1132045794,998683632,1043675185);sum2=W(0,1044058166,-1093545812,1043023116,-1102951634)+W(1,-1091261805,1070997171,-1093647750,1037657608)+W(2,-1106029228,1051593249,-1082044166,1057746121)+W(3,-1119100020,1013819138,-1100798567,1006392595)+W(4,1058451408,-1112978123,1035018995,-1104735391)+W(5,-1105620254,1052846459,1043811519,-1104370519)+W(6,-1096225251,-1127092852,-1097428497,-1091103100)+W(7,-1121077487,1041369362,-1107453736,1052307063);WS(1059191103,1030618557); +sum1=W(0,1053678608,1049973094,1032351793,1034200101)+W(1,1047695489,1053292689,1058794603,-1114145283)+W(2,-1137634576,1053263444,1055818163,-1114663316)+W(3,-1138534517,1043320696,1041016873,-1125278731)+W(4,-1098031908,1026486548,-1148363237,-1100440271)+W(5,-1078695803,1043453347,-1194991971,-1087452589)+W(6,-1094543429,966472909,1033675947,-1125225546)+W(7,-1104858229,-1119664758,-1115520783,-1116533557);sum2=W(0,-1072453458,-1094113031,-1095812325,1021496216)+W(1,1063841069,1074699170,1068683999,-1079530578)+W(2,1042172731,1031880682,1043477830,-1095958945)+W(3,-1132334880,-1115200049,-1121439437,1015153576)+W(4,-1112299630,1023122856,1031503244,-1116672596)+W(5,-1126165044,1036242384,1036078566,-1135088113)+W(6,-1119142347,1009915385,-1100441243,-1107446259)+W(7,1034903618,1017712520,-1114450875,1037216194);WS(-1096433855,1052342409); +sum1=W(0,1041070378,-1095385709,1042163431,-1117693364)+W(1,1052133240,-1090036408,1060080198,-1105417036)+W(2,-1123398616,1043184694,-1090327769,1042648272)+W(3,-1105041790,1043408999,-1111854479,1044512510)+W(4,1034697390,1049542464,-1113444755,1006023611)+W(5,-1085473397,1048891757,-1112382959,-1109633387)+W(6,-1105658040,-1106505885,-1111238376,1057448056)+W(7,1041051171,-1110665802,1049508979,-1104977148);sum2=W(0,-1119373866,-1082984200,1043188759,1039259027)+W(1,1052826002,1067327309,-1077733706,-1086821333)+W(2,1036052293,1052358305,-1149070344,-1117342490)+W(3,-1101694007,1050777563,-1102382047,1037381955)+W(4,-1105050294,1045229872,-1113326246,-1165551167)+W(5,1068967257,1052700624,-1109909290,-1103802686)+W(6,-1101813629,-1099183932,-1098764713,1054626023)+W(7,-1106555317,-1096821402,1052205497,-1103461210);WS(1046655614,1069864308); +sum1=W(0,1040943483,1031319761,-1106200785,1035633391)+W(1,1043913370,-1093886310,-1120751363,1045417382)+W(2,1047844019,-1088130094,-1098821847,1050212129)+W(3,1043891960,-1082722808,-1092291401,1039058852)+W(4,1026979270,1034433460,1050507575,-1105260712)+W(5,-1121044950,1041581532,1045765948,-1106053451)+W(6,1049054225,1017929306,1029812249,1042106970)+W(7,1042598038,1034869942,1028938706,1041620790);sum2=W(0,-1101136548,-1084472150,-1082465618,-1098805029)+W(1,-1097728468,-1140347496,-1085764460,-1094351375)+W(2,1049713965,1049328541,-1100091144,1040878916)+W(3,1058810464,1071144827,1062808960,1037060075)+W(4,-1108050411,1039888035,1045866690,1017798412)+W(5,1053843229,1038111290,1027046574,1031330790)+W(6,986797508,-1104239104,-1100094208,1043199898)+W(7,-1097822096,1017716576,-1098800085,-1119994130);WS(-1077527440,1065234224); +sum1=W(0,1014606833,-1098001853,-1088676934,1031059492)+W(1,1031584061,-1083911392,-1087241405,1041495444)+W(2,-1140389945,-1096536807,-1095088526,-1143158030)+W(3,1013235228,-1100223239,-1104484775,1035424519)+W(4,1051162632,1001612013,-1159469258,1055802445)+W(5,1061276187,-1105280809,-1109463457,1059501583)+W(6,1049527800,986827883,1038556792,1050088278)+W(7,1037087943,1047418837,1030875577,1042937212);sum2=W(0,1006719462,-1098369589,1019217071,1026928347)+W(1,1043604137,-1134457784,1041304779,-1103317527)+W(2,1034526167,-1118427047,1048134757,-1106627965)+W(3,-1134258967,-1113504087,1029994729,-1117999031)+W(4,-1099640354,-1146387796,-1112677997,1027288437)+W(5,-1112266437,-1071428003,-1072403340,1050941648)+W(6,1040843010,1059493547,-1082446250,1027462477)+W(7,1054764710,1077848621,1072461191,-1104465031);WS(1034219259,-1130863201); +sum1=W(0,-1125729883,1031973022,1036468120,-1122470601)+W(1,-1092963050,1062931954,1045421587,-1119868741)+W(2,1017182198,1050208654,1062738826,-1102984950)+W(3,-1116589116,1023027040,990945063,-1107264969)+W(4,-1125640547,-1112351746,-1104067775,1033355302)+W(5,1044707408,-1094830635,-1106594245,-1122038588)+W(6,-1106320445,-1109997276,-1127079049,-1104269382)+W(7,-1098846428,-1117279521,-1112571199,-1110744610);sum2=W(0,999703935,1029144962,1041156572,-1120041672)+W(1,1041627711,1046556501,1037796455,-1109032994)+W(2,1029813110,1040466231,1060385029,-1111815622)+W(3,-1114401610,-1076222058,-1103822492,-1110751572)+W(4,1036670980,-1107170022,1036471018,-1103868400)+W(5,1059414852,1029249656,-1115113192,1043292537)+W(6,-1105513272,1043143286,-1126242312,1048639871)+W(7,1043280503,1034327293,-1101226736,-1100107078);WS(-1097041087,-1081891922); +sum1=W(0,1042240134,-1091271089,-1097075376,1045201037)+W(1,1039927583,1059654550,-1094847921,1049780286)+W(2,-1110484942,1057233913,1056430510,-1122695635)+W(3,1039840796,1050554535,1041827328,-1117417409)+W(4,1049467348,-1097795722,-1115394372,-1126257330)+W(5,-1141428591,-1103383438,-1097045891,1057610047)+W(6,-1087958744,1033721138,1036098616,-1089703504)+W(7,-1096159486,-1131932502,1035539581,-1096746586);sum2=W(0,-1101224821,1042508745,1052214657,1012982255)+W(1,-1116588919,1071547407,1042044290,-1109376974)+W(2,-1092858264,-1090264503,-1089469015,-1096183361)+W(3,-1119652925,-1083767147,1039700797,-1090462581)+W(4,-1093748656,1020863779,1032353073,-1136022111)+W(5,1065241977,1040242686,-1113516472,1045672838)+W(6,1047260540,-1103746594,-1120964187,1049249478)+W(7,-1107087862,1028764718,-1100885683,1046964814);WS(-1088621983,1079497913); +sum1=W(0,-1102075462,1051824794,1052712773,1027161409)+W(1,-1109063205,1060662493,1057942154,-1120075900)+W(2,-1136555883,1057800198,1062931830,-1104005172)+W(3,1033292370,1059753504,1047971474,-1112015962)+W(4,-1098602113,1021667349,-1100368317,-1102058289)+W(5,-1082645434,1039175801,-1106147487,-1096292664)+W(6,-1090185155,1036809656,-1129475640,-1090788424)+W(7,-1088742454,-1143403778,1009161622,-1098101583);sum2=W(0,-1114056841,-1115238312,-1095235693,-1150684740)+W(1,1034698244,-1071093346,-1080604054,-1164208415)+W(2,1043895716,1068501149,-1083926997,-1134574697)+W(3,1050191679,1056576712,1079699126,-1101980686)+W(4,-1127339724,-1108218072,1035589955,1044985054)+W(5,-1080554397,-1106288272,1022130402,-1106549807)+W(6,1052487431,1036117000,1024268734,-1104923511)+W(7,1029700329,1031345667,-1130803558,1054997905);WS(-1087955103,1023517655); +sum1=W(0,1037773274,-1103425461,-1090071677,-1106663590)+W(1,1022742037,-1082614473,-1089596734,-1116651838)+W(2,-1117813952,-1092404165,-1088542372,1040438284)+W(3,-1102318801,-1098396937,-1100716355,1032561623)+W(4,1055773525,-1100022495,1013889298,1062902614)+W(5,1060267482,1030094516,-1101161913,1059014377)+W(6,1054561254,-1116951793,-1120043085,1057943128)+W(7,1049819671,1026546470,1035114019,1051603940);sum2=W(0,1032757863,1061839668,-1094858135,-1107653444)+W(1,1037010009,-1123088190,1049735190,-1150202006)+W(2,1041748319,-1098358767,-1089824138,1026258576)+W(3,-1112646994,-1103776938,1049699018,-1131622502)+W(4,1074196920,-1069856939,-1065438414,1084595456)+W(5,1070729644,-1082206819,-1073375528,1067688119)+W(6,1057889952,-1097734258,-1086758222,1050587980)+W(7,1048602984,-1098587943,-1106404220,-1127981435);WS(-1089607615,1063931357); +sum1=W(0,1033042784,-1099513696,-1089422721,-1156148665)+W(1,-1117005684,-1083936660,-1086976804,1027235975)+W(2,-1112863441,-1092850238,-1089259880,1045226606)+W(3,-1102751384,-1096124078,-1096473171,1040283212)+W(4,1053472432,-1107985659,1041177357,1059281720)+W(5,1061258678,-1103260375,-1122980350,1060428066)+W(6,1057981025,-1109580750,-1111710595,1055780369)+W(7,1054893029,1035448166,-1125267169,1051704489);sum2=W(0,1037699935,1048614297,1074606150,1024298597)+W(1,-1094400051,-1071672142,-1085515118,1030404477)+W(2,1024136176,-1095087497,-1091215560,1052543759)+W(3,-1102232478,1071366890,1050441058,-1159281410)+W(4,1047271097,-1121834510,1030125639,1080820206)+W(5,-1066721483,-1101580999,-1166463196,-1079656120)+W(6,-1096732136,1009399200,1028051862,-1078287609)+W(7,1074685383,-1113696211,-1117118368,1057126689);WS(-1083901183,1060981851); +sum1=W(0,1039492049,-1107896957,1048978486,-1106299749)+W(1,1055856482,-1090009641,-1119192025,-1113140273)+W(2,-1108369378,1034759564,-1088174932,-1103186821)+W(3,-1127954738,1027686380,1008970428,-1115937041)+W(4,-1115539879,1049662006,-1121286832,1016862419)+W(5,1058119768,-1149152444,-1106196840,-1098481927)+W(6,1048477348,-1146708651,-1101797848,1052019064)+W(7,1044214632,-1111878699,1024756171,1034559233);sum2=W(0,-1110488253,1056034410,-1130369060,1030335348)+W(1,1042224202,-1094958491,-1097486091,-1096373435)+W(2,-1117770266,-1114209587,1057631708,1038378538)+W(3,-1168276161,-1115537765,-1105273765,1036930446)+W(4,1040331307,-1094310491,1006653296,-1106797797)+W(5,-1106971469,1042512890,-1113782011,1063611375)+W(6,1037075531,-1114686161,-1140559356,-1093142933)+W(7,1025218793,1026640233,-1115373149,-1115233817);WS(1063762143,-1098158381); +sum1=W(0,-1113176415,1049655577,-1106988831,1027555010)+W(1,-1094480963,1041189880,-1089572014,1044835884)+W(2,1038186408,-1095655321,1035602487,1042205032)+W(3,1041241393,-1102946366,995617211,-1112247611)+W(4,1032851437,-1099137927,1033567284,1031921883)+W(5,1057311541,-1101762329,1052671923,-1106152127)+W(6,1046700975,1044902280,-1106014811,-1100163979)+W(7,-1119959180,1044480349,-1094051821,1050763922);sum2=W(0,-1108274646,1037755544,1040615985,1010916279)+W(1,1049469526,-1085933104,-1107213139,-1108043460)+W(2,-1097521196,1027381238,-1098201753,1061284555)+W(3,-1106103943,1039340208,1007266289,1047936551)+W(4,1053142923,-1119616718,-1126424725,-1103581164)+W(5,-1093682556,1050086980,1062997316,-1091384808)+W(6,1044225612,-1099920539,1044548392,-1095835641)+W(7,1011948943,-1120667237,1043928239,-1101597200);WS(1060336095,-1119657045); +sum1=W(0,-1117126579,1044311660,1048279897,1023788715)+W(1,1022815367,1060724749,1062204714,-1108875843)+W(2,1043213137,1050929706,1063043033,-1100562722)+W(3,-1142747249,1051192212,1037241746,-1111482971)+W(4,-1096869700,-1136931731,-1110161279,-1106238784)+W(5,-1081389759,1034904806,-1115905233,1019770348)+W(6,-1097593661,1017832853,-1124661292,-1084472996)+W(7,-1102133781,-1109353889,-1109716592,-1106654286);sum2=W(0,-1103288529,-1126560341,1009247708,1036664563)+W(1,1057556566,1067728497,-1067246446,-1102134383)+W(2,1031668335,-1085231458,1078180911,-1099512639)+W(3,1028018661,-1114058193,1047956293,-1103860103)+W(4,-1102369678,1008412166,1035577258,1013790140)+W(5,-1093152080,1045655865,1016094574,1047852878)+W(6,1042704555,1023608957,-1123477495,-1110504691)+W(7,1030531898,-1120624893,-1112760821,-1132621098);WS(1035518203,1045613832); +sum1=W(0,-1096085823,1043513429,1057279232,1044215468)+W(1,1007706274,1061539183,1057361220,-1102751483)+W(2,1051305356,1058710773,1057962612,-1098118842)+W(3,-1106455273,1053125757,1037420261,-1096250919)+W(4,-1096451901,-1098498663,1042423606,-1097478568)+W(5,-1085528932,1054368634,1012832112,-1091716958)+W(6,-1091718961,1057808613,-1103819295,-1093017477)+W(7,-1097230063,-1111733504,-1100568821,-1100741095);sum2=W(0,1050542737,-1084246791,1058997495,-1105709018)+W(1,1027983028,-1106510960,-1103685622,-1106108137)+W(2,-1091042532,1066680974,-1089515541,1053295819)+W(3,-1108416827,1037143386,-1088412186,1049054259)+W(4,1065459234,-1101303092,1022365788,-1086433444)+W(5,-1102412567,1044759128,1040995532,1055198365)+W(6,-1080963495,1043286350,-1104466949,1057925132)+W(7,1049505110,-1106131860,-1096360229,1056230430);WS(-1103921662,1072713673); +sum1=W(0,-1130675027,-1104528338,-1111681022,1042712209)+W(1,-1108819823,1055222237,-1103688784,1041149044)+W(2,-1102885798,1053207587,1063848575,-1099465033)+W(3,-1122152216,1044600823,1051374172,-1108891552)+W(4,1032835743,-1124533373,-1123292759,1029885560)+W(5,-1089836355,-1143773237,-1101763282,1053127408)+W(6,-1090841456,1032528402,1044926036,-1089832742)+W(7,-1101098252,1018003689,1040294582,-1098121506);sum2=W(0,1032691193,1031996320,1017580326,-1116466906)+W(1,-1134651946,-1121084452,1040673767,-1110682367)+W(2,1020309206,-1123645954,1012141662,1019799157)+W(3,-1118897648,1005021204,-1125118807,1028255175)+W(4,1045143645,1067424527,1018640494,-1100144980)+W(5,-1112456349,1057195246,1071822180,1055366708)+W(6,1036705771,-1073530916,-1078565795,1037079065)+W(7,1021253254,1033125682,-1087156462,-1112096331);WS(1054959295,1011151216); +sum1=W(0,1028540695,-1104732576,1043778462,-1124554365)+W(1,-1135601758,1052343180,1063706911,-1107828893)+W(2,1032466990,-1128754020,1050410381,-1135515507)+W(3,950109203,1043960229,1034222620,-1110097877)+W(4,-1111020475,-1113072532,-1103855992,-1140499785)+W(5,-1081762405,1048654720,-1121738665,-1098481604)+W(6,-1112972157,1012954617,-1096321673,1053053447)+W(7,-1120112616,-1114439871,-1110289546,1023071124);sum2=W(0,1047690020,-1094867354,1047456971,-1104841432)+W(1,-1086552004,1065412328,1068880529,-1084375561)+W(2,1025710892,-1110380578,-1080289298,1046416693)+W(3,-1113936449,1016290713,-1105039836,-1130856953)+W(4,1033457856,-1129013032,991739097,1024424907)+W(5,-1087761187,1059009805,-1103560341,1046341732)+W(6,-1103331799,1045332030,-1098849357,1062384539)+W(7,-1126452938,1019994493,-1104241974,1024509174);WS(1061669311,1066543312); +sum1=W(0,-1111872182,1051889621,-1097490380,-1120030840)+W(1,-1109640224,1043197314,-1085299564,1046388965)+W(2,-1104742312,-1114905437,-1099578605,1051640445)+W(3,1018742870,-1095793020,1033952272,1040612129)+W(4,-1110528784,-1112085217,1026361650,1038501126)+W(5,1054292822,-1116217609,1019064063,1050043436)+W(6,1056051928,-1097066005,1045441021,-1095700775)+W(7,1044337364,1039394788,-1146667493,-1108619674);sum2=W(0,1040922446,-1147221163,-1098300344,1041249103)+W(1,-1133026152,1055827658,-1097103704,1047169006)+W(2,-1121038685,-1105225178,-1082349433,1045305983)+W(3,986169209,-1102095468,1036618956,1032067159)+W(4,1014590689,-1115292810,-1123648820,1041141085)+W(5,1056443342,1023898168,1021735499,-1094689158)+W(6,1035590360,1038130213,-1153021086,1051958562)+W(7,-1145857885,1030074795,1035045284,-1098250629);WS(1066007616,1040865170); +sum1=W(0,-1106398093,1038441464,-1154003525,1016703369)+W(1,-1096325697,1050813825,-1112021256,-1114560988)+W(2,1023023221,-1108543232,1059033474,-1094335779)+W(3,1022983872,1034570898,1040892233,-1113231876)+W(4,1031083397,-1146451379,-1111826720,-1104662792)+W(5,1061249791,-1102172436,-1102003526,1052887594)+W(6,-1106571274,-1109007926,-1104413998,-1126656183)+W(7,-1115038347,-1123919488,-1112600993,-1121820472);sum2=W(0,1036640719,-1103775527,-1109314178,-1117895883)+W(1,-1109277526,-1088245301,-1079308608,-1092695525)+W(2,-1102073467,1058556412,1032194306,1054484712)+W(3,-1115714917,1049638324,-1097777200,1047716642)+W(4,1047073701,-1117061975,1029963629,1043196819)+W(5,1071134194,-1113344034,1053147047,1032498235)+W(6,-1102222667,-1104158962,1027577620,-1098274857)+W(7,-1109885254,-1106961770,1019489703,1028797614);WS(-1112959995,-1090797387); +sum1=W(0,-1102515009,-1157171375,-1107113888,998546749)+W(1,1024148768,-1088418302,-1095395659,1018649191)+W(2,991750171,-1092700079,-1108499994,1036601843)+W(3,1024106779,-1106951576,-1100812608,-1134314668)+W(4,1043372984,-1109045169,1034524319,1042251615)+W(5,1049085946,-1107024218,1025715818,1057847906)+W(6,1052242560,-1102346050,1036766314,1054314562)+W(7,1043704436,-1136260253,1041369791,1010001228);sum2=W(0,1000463738,1024736081,1045091130,-1097076796)+W(1,1064100942,-1096201033,1064625577,-1083533587)+W(2,1043707697,-1106033160,-1071550159,1074997490)+W(3,-1152835380,-1111712908,-1118548401,1028507309)+W(4,1040206702,-1122385083,1016501386,1028367411)+W(5,-1086258418,1050125885,-1104146558,-1112850496)+W(6,-1098690685,1041978517,-1105686824,1052069491)+W(7,-1113053149,1032203802,-1109567340,1050202273);WS(1065286463,-1155116140); +sum1=W(0,1036265535,-1091060822,-1099417962,-1127743664)+W(1,-1121018025,-1089265061,-1088882712,-1118137852)+W(2,1028265374,-1090887512,-1088513194,1024160014)+W(3,-1116217572,-1096201501,-1097685517,1031461691)+W(4,1038987540,-1121911642,1035108393,1047837241)+W(5,1069311516,-1100290432,-1119901843,1061626690)+W(6,1051214117,980641778,-1101311755,1053957977)+W(7,1045642342,1036102670,1030945477,1050330231);sum2=W(0,1054178647,-1098771138,-1104287950,1023964675)+W(1,-1088748842,1062304002,1030951671,-1104607531)+W(2,1027793575,-1095484784,1056993385,1034720649)+W(3,1048440611,-1115722179,-1103591056,1026748348)+W(4,-1106164282,-1107123343,-1107378538,-1095527688)+W(5,1069791349,-1093097006,-1102317974,1049293814)+W(6,-1093744890,-1104614583,-1107155572,-1106129898)+W(7,-1102843948,1036145149,-1111048704,1040804508);WS(-1107864827,-1106183398); +sum1=W(0,1032383543,-1105288567,1028246417,-1106667222)+W(1,-1105126732,1031807228,1024277645,-1104095901)+W(2,-1099092218,1059042594,1024663749,-1119082647)+W(3,-1100466619,1061247795,1038514313,-1106477481)+W(4,1048732230,-1113355593,-1094330385,1062610107)+W(5,-1097352540,-1110531197,-1100412503,1033194034)+W(6,-1097841594,-1119219065,-1106817153,1042072353)+W(7,-1116357250,-1112377140,-1116226478,-1132497297);sum2=W(0,-1107748661,1029365940,1049202878,-1124057659)+W(1,-1106278570,-1090514146,-1100669682,-1106641450)+W(2,1045306633,-1101749265,1050790854,-1115427744)+W(3,1044220643,1051259000,1044664667,-1107251222)+W(4,1040631102,-1120955446,1043135164,1055877653)+W(5,-1097531540,-1096084011,1048773070,-1121942624)+W(6,1044511371,-1101432694,1040842880,-1095195500)+W(7,1035140356,-1156279482,-1108344435,-1123742683);WS(-1107710971,-1103335008); +sum1=W(0,-1097452822,1052789750,1057965326,1020774038)+W(1,-1142400543,1059882105,1061528673,-1103681302)+W(2,1035627390,1052101646,1058381533,-1130541650)+W(3,1026933710,1048909172,1047827121,1026485526)+W(4,-1097416740,1007270548,-1108312647,-1096736580)+W(5,-1082070814,1032878150,1008435167,-1090723228)+W(6,-1092903493,1029066731,1024150455,-1096313647)+W(7,-1094072619,-1129872006,1024752368,-1095953623);sum2=W(0,-1096592719,1056674994,1051358993,-1091198687)+W(1,1017819408,1057806550,1050253089,-1088722291)+W(2,1047280108,-1095745001,-1098514434,-1104841225)+W(3,1046210234,-1101840089,-1121773836,-1133964792)+W(4,-1102658445,-1112372364,1036983987,1026242284)+W(5,1048044980,1033031265,-1109827680,1039492851)+W(6,-1114927114,-1128936304,-1106004699,1047848116)+W(7,-1115459009,-1121859563,1044703642,1009730080);WS(1046617982,-1079283690); +sum1=W(0,-1112371935,1005568807,-1103103206,-1112235521)+W(1,-1114138877,1053438832,-1082068590,1046025067)+W(2,-1106636112,-1113851306,1050481934,-1100106092)+W(3,-1134743124,-1101795702,-1101804759,1006684852)+W(4,1053710959,-1112406582,1031782004,1050398983)+W(5,1056782757,-1120370051,-1109731202,1059470764)+W(6,1044662919,-1114617505,1047048563,-1084354719)+W(7,1040488963,1035089325,-1122334215,1028720557);sum2=W(0,1041752924,-1107057915,-1114190125,-1123583696)+W(1,1045050816,1066165326,1054169171,-1096033091)+W(2,1044170848,-1094482563,-1090934807,-1111810372)+W(3,-1107148363,-1140242036,1030376713,1035342189)+W(4,-1108427412,1011193218,1035265901,-1123424510)+W(5,1060681517,1037309084,-1097576107,-1101097272)+W(6,-1094742214,1047478278,-1094306097,-1093738003)+W(7,1046835784,-1118953940,999245333,-1122528198);WS(1057107647,-1115492411); +sum1=W(0,1017716083,1044219192,1037909322,1043432615)+W(1,1034158091,1055275264,1059480955,-1115224236)+W(2,1040917102,1051479740,1062186253,1031606075)+W(3,1006053250,1049031914,1036604907,-1119339928)+W(4,-1094557923,1036944691,1042270260,-1092726398)+W(5,-1079486955,1036017407,1049175094,-1089724826)+W(6,-1090199321,1012181234,-1112299996,-1094016652)+W(7,-1124163213,-1106538704,1026270626,-1111430132);sum2=W(0,-1107779390,1041358579,1037675363,1018646782)+W(1,-1094766117,1063077105,-1103110037,1048577488)+W(2,-1115207772,-1097294293,-1094239344,1029078775)+W(3,-1134027235,1005749079,-1106609062,1041354677)+W(4,-1114299594,-1106961783,-1095820604,1056993548)+W(5,1069120744,-1094104293,-1113810892,-1108103869)+W(6,-1090842684,1030620215,-1100654825,1019393926)+W(7,-1111892981,1031888221,1015746998,-1103795001);WS(1038408187,-1104646224); +sum1=W(0,1032659338,-1095811512,1031841147,-1100666444)+W(1,1050254507,-1086582314,1046629869,-1096791479)+W(2,1034716030,-1095590162,-1092033141,-1125163769)+W(3,1024265746,-1097384267,1012740704,-1104041563)+W(4,1046356758,-1115316924,-1121385297,1045835257)+W(5,1049546009,1043876936,-1109718991,1055310447)+W(6,1032941357,1051195252,-1115882186,1059064223)+W(7,1043234370,-1121465454,-1110386378,1016606100);sum2=W(0,1034495435,1013274853,1033178697,1033146053)+W(1,1015618236,-1083473003,1044565157,1033891153)+W(2,1026402836,1033829854,1047899954,-1102272365)+W(3,-1130670616,-1129244632,1026659107,-1126192412)+W(4,-1103797816,1046600596,-1107600367,-1110558215)+W(5,-1075035519,1071496075,-1096372667,-1074394842)+W(6,-1107786181,-1103057086,1070598351,1070896015)+W(7,1033633210,-1106841766,-1099451771,1039466503);WS(1060540543,-1145107984); +sum1=W(0,1033700674,-1115158282,-1111708420,1016949312)+W(1,1050394829,-1105627788,-1112773425,1008485935)+W(2,1027755062,1049090616,-1166436080,1025975118)+W(3,1036625882,1027903943,-1131929874,-1166944971)+W(4,1037057540,1034636061,-1110878953,999025948)+W(5,-1105528438,1047777444,1006219749,-1111113150)+W(6,-1097657169,1023310559,1034379342,-1092533512)+W(7,-1104970374,1029991232,1042471825,-1125616567);sum2=W(0,1041061913,1047913039,1028528033,-1112727972)+W(1,1049192765,-1088725965,1058299937,1030171918)+W(2,-1108991614,1028842331,1006741474,-1097932217)+W(3,-1128975721,1019613109,-1119404040,-1128255593)+W(4,-1120606988,-1090975722,1039139414,1050127712)+W(5,1051042420,1056682084,-1096898908,-1075312291)+W(6,-1120436768,-1136718330,1043329296,1061621025)+W(7,1038145345,1017746289,1019658885,1041035795);WS(1058512095,1047466767); +sum1=W(0,1032743763,1015664161,-1102753041,1025672397)+W(1,1040236986,-1099087483,-1102686879,1046625694)+W(2,1042422310,-1097334084,-1097904327,1041791363)+W(3,1034505416,-1096407969,-1123206279,1024317081)+W(4,1032570339,1033220516,1037433000,1037445664)+W(5,-1089271035,1024398415,1035056566,-1091026739)+W(6,1051389809,1042353123,1043847942,-1100626131)+W(7,1050962859,1047698739,1037697617,1041773046);sum2=W(0,-1113457231,1040318944,-1097429792,-1111694157)+W(1,-1110494513,-1087577139,-1109123041,1007020677)+W(2,1042151096,1033854974,-1115766281,1036239980)+W(3,1038268008,1058473731,1056323633,1014804229)+W(4,-1131566802,-1108486657,-1115035673,1052756319)+W(5,1071158756,1052796029,1057627634,1066240251)+W(6,-1085216854,1031946717,1037312144,1055974927)+W(7,-1078122726,-1088208012,-1107413695,-1076147337);WS(-1087119871,1051442968); +sum1=W(0,1026199466,-1102133666,-1101188351,-1106951233)+W(1,1034911407,-1081083296,-1096477343,-1111827529)+W(2,1036906330,-1089794286,-1093686286,-1110066258)+W(3,-1123695161,-1096524016,-1102503648,-1121489041)+W(4,1046522759,1024298399,-1118371512,1055191809)+W(5,1062137809,-1118895495,-1102462991,1061746551)+W(6,1061657374,1028468933,-1105243164,1056808794)+W(7,1043754020,1039027467,1001909715,1025414769);sum2=W(0,-1136414534,1023613585,-1111568121,1036012528)+W(1,1018170307,-1086518431,1046290638,1028357901)+W(2,-1115554829,1040198779,1032866656,996800246)+W(3,-1128152611,1031067220,-1115393969,1018408279)+W(4,1037328619,-1141870971,1019317279,-1125130883)+W(5,-1068062671,1041918725,-1105362146,-1077265349)+W(6,1057186482,-1110577355,1040576139,1083861052)+W(7,1024816461,-1109411807,1032099345,-1101393956);WS(1041081598,-1101063046); +sum1=W(0,-1105628103,1048894326,-1123374599,1038662072)+W(1,-1112508084,1062900743,1044003395,1046838359)+W(2,1047812813,1041428913,1058339600,-1112561351)+W(3,1045311157,1013224727,1044355834,-1106996345)+W(4,-1098151405,1009505700,-1104056554,1035193857)+W(5,-1082115704,1039692648,-1107771451,-1109376817)+W(6,-1097118497,-1126547869,1049374543,-1087104856)+W(7,-1110120844,-1121969199,1037690530,-1098603955);sum2=W(0,-1110454828,1066739686,-1102665080,1034938637)+W(1,-1094841314,-1072571644,1063593500,1044300205)+W(2,-1123904781,1033188794,1050585763,1049263704)+W(3,1018550156,992411043,1040935597,1032882093)+W(4,1057500561,1050111041,-1096043986,-1083931487)+W(5,-1073076170,-1094917255,1057117236,1069787057)+W(6,1049962317,-1119131193,992791419,1057940110)+W(7,1032437745,-1139242755,-1129197337,-1103057884);WS(1047493374,1019974383); +sum1=W(0,1022499782,1056719767,1024992878,1039818779)+W(1,-1128872350,1066523241,1056992349,-1111466513)+W(2,1027318580,1050310409,1057279594,-1102282821)+W(3,-1121442618,1050332018,1043633508,-1112367361)+W(4,-1093967742,1017537921,-1119405261,-1099980259)+W(5,-1081677329,1032226588,-1134657044,-1089692488)+W(6,-1095763174,1029746358,-1110606353,-1104336096)+W(7,-1103201160,-1109613299,-1105211995,-1147598863);sum2=W(0,1024006001,1048105027,-1099927212,-1109381660)+W(1,1030946168,-1068785948,1083214625,1048332575)+W(2,-1115660792,-1125303858,-1080184440,-1111460550)+W(3,-1125113546,972536438,-1129923962,1027780517)+W(4,1031703418,-1113331152,1013674604,1032613200)+W(5,-1082836395,-1137462284,1010546556,1051352300)+W(6,1027323348,1034637753,1033485356,1047472657)+W(7,-1123338357,1033990282,-1112671380,1006215943);WS(1049191295,1026054180); +sum1=W(0,-1114491642,1045418990,-1104530451,1015431080)+W(1,1052544606,-1092275830,-1091806904,-1106844240)+W(2,1006821496,-1091613549,1032037152,-1101337172)+W(3,-1107367092,-1104046587,-1136631349,1048579163)+W(4,-1105318659,-1107859847,1041795830,-1120791464)+W(5,-1096734436,1050727987,1035107546,1059085476)+W(6,1054997266,1024892180,-1098252244,1055073816)+W(7,1054027444,-1107321874,-1114835508,-1117752159);sum2=W(0,-1099170713,1052123052,1045033945,1026733028)+W(1,-1119731112,1034116255,1011374557,-1116840904)+W(2,1023766170,-1103542762,1042679995,-1105853851)+W(3,-1110446049,-1116987471,1002727514,-1109160117)+W(4,-1100795787,1045732660,1045459634,1006278578)+W(5,-1093051584,1049735621,1036547859,-1137517037)+W(6,1030006514,1012804929,-1115758581,1032967726)+W(7,1032206215,-1108882618,-1107202197,1010971477);WS(1061349183,1052960956); +sum1=W(0,-1138324169,-1098630008,-1091852750,-1129777715)+W(1,-1113069161,-1087783598,-1086948121,1040354025)+W(2,-1148679486,-1098392878,-1090578505,1026875928)+W(3,-1099366619,-1113156712,-1105317245,1026350741)+W(4,1050117038,1001458973,1028688348,1051531432)+W(5,1063142264,-1101543047,1026112190,1058780391)+W(6,1055753851,-1107707133,1001807913,1054898923)+W(7,1049214940,1035358529,1009551482,1035239971);sum2=W(0,-1114101658,-1111442214,1016786912,1030464194)+W(1,1076423743,1052649879,1040962599,1031167290)+W(2,-1122765276,-1109148248,1059016603,1075592137)+W(3,-1067763317,-1093716078,1031660172,-1073082101)+W(4,1036708968,1035127660,-1112870762,-1124271380)+W(5,-1106763968,1030450749,-1119263136,-1145350210)+W(6,-1102467968,1030453841,-1114823676,1036666460)+W(7,-1123536642,1004437586,-1120712732,1040647493);WS(1049240575,1032641532); +sum1=W(0,-1105480706,1033988870,1058635434,1013730783)+W(1,-1113879072,1060507082,1060052265,-1114036922)+W(2,-1108053747,1056801557,1060417175,-1104229785)+W(3,-1146082265,1050162924,1045744608,-1114764169)+W(4,-1101342144,-1114702617,-1112522509,-1096215015)+W(5,-1090178495,-1118644393,1026538642,-1095577996)+W(6,-1096180920,-1115402364,1026113715,-1088104859)+W(7,1035143657,-1096614130,-1165415829,-1096622362);sum2=W(0,1035291415,-1088124412,-1070701037,-1122276311)+W(1,1040446858,1074084237,1066415245,-1120194245)+W(2,-1138075205,-1122804719,1049852139,-1120530587)+W(3,-1118638617,-1139513797,1023048268,1025217366)+W(4,-1135890037,-1122878839,-1123484857,-1102500792)+W(5,-1104713726,1043449641,1004310705,1041496354)+W(6,-1103825640,1027648711,1033156545,-1121031703)+W(7,1028358694,-1136916673,1022832518,-1123990667);WS(1058199967,1050173679); +sum1=W(0,1027370573,1058691576,1049466778,1035142580)+W(1,1035504777,1068404719,1039593430,-1130262537)+W(2,-1117883815,1049428736,1055172389,-1114438555)+W(3,1002653538,1038434456,1057860609,1019391016)+W(4,-1101732588,1040649373,-1180331449,-1090097411)+W(5,-1088745136,1040680775,-1120260556,-1086371009)+W(6,-1087836907,-1124005336,1044382793,-1085029652)+W(7,-1090680108,-1112700144,1042216563,-1099893249);sum2=W(0,1053572077,1057696884,-1098591960,-1116884059)+W(1,1052736946,1068603564,-1094622297,-1098664530)+W(2,-1100793752,-1092295148,-1110319390,-1109898534)+W(3,-1110972354,-1093610507,1060435963,1049155169)+W(4,1027480579,-1088718218,-1103314039,1049382153)+W(5,1060239128,-1093271444,-1083506692,-1090176467)+W(6,-1110105636,1032439700,-1100206230,1035982822)+W(7,1038370396,1006875670,1034453968,1048950002);WS(-1089372991,1071972514); +sum1=W(0,-1111770809,-1104793556,1036533027,-1138920887)+W(1,-1115715559,-1099167419,1055175791,-1102811010)+W(2,-1097310634,1049070430,-1087507272,1039086134)+W(3,1025838913,1003453989,-1119324807,1031148825)+W(4,1048489074,-1105180974,994211079,-1102318256)+W(5,1059252133,1002658941,1048668925,-1087761408)+W(6,-1114433380,1015366427,-1118760057,1053162297)+W(7,1042268638,1035401151,1042346841,-1118494745);sum2=W(0,-1120976510,1036120703,1042265630,1030112837)+W(1,-1093456890,1054439327,1034066763,990074782)+W(2,1026987255,1018637880,-1093016348,1037465699)+W(3,-1139369648,1039303764,-1135344000,-1141406991)+W(4,-1114486026,1036038820,-1110663804,1026971571)+W(5,1048349987,-1097582212,-1093575269,1060265655)+W(6,1021593632,1015927322,1034062294,-1099844302)+W(7,-1105461723,-1112258092,-1131991172,-1122669452);WS(1064707295,-1106068023); +sum1=W(0,1035233224,-1096714286,-1122722466,-1099232505)+W(1,-1113461090,-1085444145,-1092366070,1008917721)+W(2,1004172005,-1089654074,-1087864449,1030936392)+W(3,-1115756158,-1096643772,-1109977746,1027313190)+W(4,1050648196,1029641572,-1163785122,1050522762)+W(5,1065526616,-1112344246,-1106158547,1057836626)+W(6,1053303385,1023496586,-1120989814,1058128499)+W(7,1045431365,1026679026,-1132212895,1046037453);sum2=W(0,-1081497441,1052279998,-1093639717,-1064765544)+W(1,1076205171,1062543003,1049786220,1073825520)+W(2,1027623494,-1095053933,-1112239696,-1119211273)+W(3,1044157267,-1111173396,1041086677,1025169073)+W(4,-1106897145,1026058867,-1118670633,1043466147)+W(5,1028519541,1005098917,-1120615525,-1111313590)+W(6,1038884306,1024155429,1002459349,-1110796836)+W(7,-1103601885,1031190784,-1139354443,-1138045203);WS(-1111449083,-1157616163); +sum1=W(0,-1108906886,1041550344,1050785866,-1140902742)+W(1,-1091492130,1070223306,1063519767,-1107746707)+W(2,-1123578095,1033679887,1056548545,-1106259270)+W(3,-1129218172,1037279241,1033485706,-1112828291)+W(4,-1095149714,-1111739842,-1106580347,-1096435822)+W(5,1059314470,-1090511327,-1112949561,-1097214657)+W(6,-1102873285,-1102694659,-1115482851,-1091358630)+W(7,-1105253969,-1105806553,-1119291392,-1098893397);sum2=W(0,-1107073590,1029358898,-1106537131,1036877913)+W(1,1043855187,1059494373,1059152956,-1107699229)+W(2,1015957137,1042289801,-1100478450,-1112562117)+W(3,-1113777301,1034651775,-1117856531,-1137092650)+W(4,-1148982309,-1158332371,-1107276407,1030920508)+W(5,1057939604,1057817844,-1104066278,-1101290720)+W(6,-1078154452,1041374005,-1089434898,1054005616)+W(7,-1095096566,-1112996199,-1109759735,1052159854);WS(-1078462192,-1081042006); +sum1=W(0,1032754472,1043123090,-1099264287,1031777492)+W(1,-1097597536,1061087074,-1089905073,1041664052)+W(2,-1113883983,1049386855,1058804947,-1104816664)+W(3,-1123431127,1048603595,1033759807,1034668408)+W(4,-1098614104,1036343655,987183826,1046006998)+W(5,-1106235787,-1097811109,1009990171,-1129274543)+W(6,1054195792,-1097275448,1031138063,-1084543524)+W(7,1024992909,-1120606380,1026038601,-1107840264);sum2=W(0,-1114091637,-1104675582,1042319052,1045113399)+W(1,-1138476145,1051152873,-1091877193,-1107885511)+W(2,1035866831,1034466874,-1091823953,-1105540689)+W(3,1027850472,1012452041,1039480371,-1106333432)+W(4,-1111655631,-1101972302,-1116743882,-1096815184)+W(5,1061790396,1049921296,1050965596,-1112520325)+W(6,-1097657024,1042351236,-1092103725,1058061302)+W(7,-1158709515,-1125733657,-1102843808,1040922298);WS(1056694143,-1116016311); +sum1=W(0,-1100431022,-1126988186,1051083644,-1113789237)+W(1,1018856325,1040063173,1064972735,1050877939)+W(2,-1097203011,1049408537,1063261729,1050520537)+W(3,-1146363818,1053332672,1026641091,-1103919120)+W(4,-1094809972,1034447326,-1123205479,-1097139864)+W(5,-1094444318,-1108178982,1036660918,-1089357240)+W(6,-1094346349,-1113292277,1047968461,-1089641983)+W(7,-1097363714,-1114302469,1038849023,-1100978845);sum2=W(0,1013765983,-1145413682,1019359999,-1117908102)+W(1,1086231745,-1062836828,-1095749402,1045942570)+W(2,-1110131683,1037693606,-1094656357,1048993826)+W(3,-1126497913,1018172516,-1125761673,1005670802)+W(4,1028148573,1027705717,1017197102,-1120905960)+W(5,-1087097136,1031521084,-1127537989,1032861566)+W(6,1040390747,-1114691836,1027867224,-1145044098)+W(7,1016402027,-1122299754,1031905995,-1112982831);WS(1058898623,-1129627348); +sum1=W(0,-1114910804,1028416398,1024824451,-1115961291)+W(1,1014875535,1049045373,1053775806,-1099814536)+W(2,1008636276,1031972351,-1081844071,1042946610)+W(3,-1120594878,1044145240,1007262993,-1106406626)+W(4,-1107386562,1040362701,-1111982511,1015893437)+W(5,1054905786,1016424474,1049488325,-1081677098)+W(6,1045923489,-1118478155,-1105282974,1057687981)+W(7,1016529769,1008933435,1018226304,1043411542);sum2=W(0,1048887568,-1104650552,1024635319,-1133545882)+W(1,1040041167,1061771033,-1106613727,-1092588040)+W(2,1009986974,1020453405,1059347143,-1098849827)+W(3,-1120224962,1003801667,-1100016935,1044263399)+W(4,1009836758,-1109494815,1049399700,-1123675276)+W(5,1063348295,-1099749985,-1105276085,-1090053582)+W(6,-1091467004,1040581639,-1094328117,-1095509129)+W(7,1013849670,-1116729410,1041257354,1034750124);WS(1051954047,1053754534); +sum1=W(0,1024010640,1036755054,1038078984,-1115617616)+W(1,-1104806436,1054877383,1063482792,-1105864485)+W(2,-1116880702,1032370277,1061183100,-1109064955)+W(3,1017392662,1041423460,1043596932,-1125878182)+W(4,-1111840872,1027644834,-1106689047,1012663597)+W(5,-1088048944,-1099610254,1000291764,-1094956956)+W(6,-1106496725,-1110075188,1030290339,-1092794954)+W(7,1027390113,-1125796047,-1134690355,-1106933961);sum2=W(0,-1120362784,1038083675,1041153226,1032585330)+W(1,-1103911013,1062089523,-1085822417,1053495069)+W(2,-1128147020,1044421032,-1088542584,-1152525762)+W(3,-1104983105,1041652917,-1113855086,1012657824)+W(4,-1097998955,1041971655,1045110917,-1098242715)+W(5,1056336567,-1090235355,-1094674500,-1097864806)+W(6,1046053205,-1141849761,-1100885631,1061326318)+W(7,-1160964996,1032164357,-1114518568,1042938789);WS(1061027871,-1104546242); +sum1=W(0,1044372474,-1093243621,999947493,-1105616597)+W(1,1044930783,-1082760108,-1093936864,1021564129)+W(2,1039863327,-1087020314,-1089254915,1046184033)+W(3,1036593932,-1089177610,-1095491356,1037242932)+W(4,1054887248,-1111771647,1044086916,1020340785)+W(5,1059757863,-1109427891,1042456335,1050165368)+W(6,1055330116,-1114227250,-1109416824,1059995997)+W(7,1053764638,1025046581,-1119355674,1049586618);sum2=W(0,1026041138,-1087262504,1060306884,-1071093827)+W(1,1068180608,-1104665609,-1080863241,1068370917)+W(2,-1126398467,1036496204,1065726420,-1099034443)+W(3,1032038973,-1112342652,1052019191,-1114641099)+W(4,-1137957530,1030953599,-1107356858,1049935328)+W(5,-1097098353,-1149593287,1026067688,1024099582)+W(6,1043337171,-1111590832,1031805059,-1115701817)+W(7,1039831002,-1165279566,-1110320626,-1155572887);WS(-1085156031,1045210454); +sum1=W(0,-1111119484,1050029461,1062377574,1032928297)+W(1,1012189550,1061895670,1062121112,1023710638)+W(2,1039427612,1050106073,1058328143,-1119437633)+W(3,1039591187,1050020631,1051812528,-1114651991)+W(4,-1097825399,1025846477,-1097791665,-1090582815)+W(5,-1084850381,1038427330,1032229097,-1087364538)+W(6,-1087870448,1036234257,1040335420,-1086721078)+W(7,-1089842983,-1146480404,1026163704,-1095972450);sum2=W(0,1039341132,1048143772,1061817512,-1123647935)+W(1,-1100132407,-1080635557,-1106274437,1035983028)+W(2,1035406254,-1113472410,-1101127944,-1107056231)+W(3,1039408558,-1101636583,1025367216,-1116224056)+W(4,1075567701,1037735150,1056516802,1083879676)+W(5,-1069811820,-1096421593,1028242764,-1081957201)+W(6,-1083251742,1030744652,1035329144,-1080342730)+W(7,-1087422720,1049804166,-1094803270,-1113852980);WS(-1079692512,1054562755); +sum1=W(0,-1107273417,1049923207,1042438683,-1109749038)+W(1,1030213964,-1113189609,1044388569,-1102577952)+W(2,1046944740,-1087748930,-1089184118,1036563817)+W(3,1050658577,-1091524869,-1096053014,1031914983)+W(4,-1091034933,1042543591,1050333996,-1092016161)+W(5,1050309800,1034159515,1055304278,-1089719139)+W(6,1053009554,-1122229091,1040366472,1048990040)+W(7,1049517424,1034826102,1006842402,1048709856);sum2=W(0,-1097603156,1045744428,-1094982607,1041125733)+W(1,-1107000988,1063877853,-1102781952,-1103003109)+W(2,1048646468,1041101455,-1096755169,1032085636)+W(3,1056003520,-1106723297,1038162032,-1094740103)+W(4,1049918932,990353951,1061130686,1055140379)+W(5,1066829095,-1096233798,1058588396,-1106862916)+W(6,-1081598978,-1089860215,-1095838692,-1090474230)+W(7,-1085369603,1044183141,-1096717844,1049572267);WS(-1080283264,1053171958); +sum1=W(0,-1113658461,1050045174,1054395509,1045885175)+W(1,974135701,1060600957,1055879386,1034538909)+W(2,-1118011958,1060753746,1061640838,-1122513036)+W(3,-1108239136,1061053402,1054788217,998696774)+W(4,-1095192933,1035446876,1028512496,-1083475508)+W(5,-1084797135,1044250612,1026195253,-1085810962)+W(6,-1087204563,-1117222317,1037521197,-1086057732)+W(7,-1108529436,-1101819472,1038575473,-1092652351);sum2=W(0,-1132622893,1077078383,1082611215,1049760823)+W(1,-1136534149,986681348,1066257283,1033001558)+W(2,-1092886300,-1069070549,-1084657320,1043696998)+W(3,1058228696,-1074505611,-1072372844,-1098156850)+W(4,1055018182,1035090608,-1130959534,-1114287788)+W(5,-1078537691,-1090394759,-1112584386,-1101461080)+W(6,1065047159,1038822180,1058031741,1054805894)+W(7,-1082348593,-1115499033,1041633511,1049854091);WS(-1073398920,1057727890); +sum1=W(0,-1106188342,1056847849,1052994159,1041979362)+W(1,1040300287,1059196498,1060197326,-1108985859)+W(2,1046284093,-1094105983,-1094535618,1044683952)+W(3,990388050,1043962286,-1102914751,1044621499)+W(4,-1087976920,1033778006,-1110295050,-1092671491)+W(5,-1108460501,-1114468666,1040328063,-1085676269)+W(6,1046385743,-1098429184,-1102804911,1051731585)+W(7,-1104493131,1033981777,-1104640754,1031818215);sum2=W(0,-1093219342,-1135654176,-1089430647,1021160276)+W(1,-1106388958,1074674993,-1079796815,-1089562294)+W(2,-1180890998,1052929457,-1098010580,-1099093932)+W(3,1057228486,1047748991,1040584224,-1090965228)+W(4,1044152573,-1096279754,1031984432,-1102895535)+W(5,1074136497,-1101895278,1011763192,-1095163331)+W(6,-1099885509,-1095468231,-1117345690,-1095203310)+W(7,-1131585606,1045144673,-1107912603,1041387674);WS(-1087643711,1073414034); +sum1=W(0,-1116796288,1056957030,1043019738,1043421796)+W(1,-1098636497,1065994910,1048028053,1042590607)+W(2,1005024220,1059267719,1061262410,1008405302)+W(3,1029633907,1054563645,1045820026,-1106384411)+W(4,-1093379129,-1112484637,1028452722,-1091862260)+W(5,-1081315117,-1120978641,1043084437,-1089120888)+W(6,-1093593189,-1105879924,1046109207,-1088787029)+W(7,-1106230054,-1095994501,1024805700,-1108751805);sum2=W(0,-1117575950,1051853927,-1101361376,1015257573)+W(1,1040031817,-1085239439,1007636882,1040590395)+W(2,-1111928738,1055085469,1029484438,-1104875608)+W(3,-1104400845,1055334030,-1104410806,-1124331304)+W(4,-1126719224,-1122150057,-1114431290,-1151605286)+W(5,-1069257368,-1122292554,-1123376079,-1099060090)+W(6,1065488662,-1105709439,1045790053,1078894141)+W(7,-1099504604,-1096100911,1046590167,-1097362053);WS(-1089052703,1050218486); +sum1=W(0,-1124263665,1048865735,1032977094,1024924308)+W(1,-1101857739,1057017435,1032370348,-1114112032)+W(2,-1132101549,-1106597310,-1096925880,1004177297)+W(3,-1127618735,-1138126252,-1101706323,1037546120)+W(4,-1103037451,1027347950,1016061078,-1127622480)+W(5,-1130658874,-1114101947,1047024376,-1093324152)+W(6,-1147023991,-1136950735,-1136753151,1049797356)+W(7,1041185327,-1135392976,1016234194,-1148374781);sum2=W(0,1034551493,-1111330163,1033687244,-1103127935)+W(1,1056852609,-1097897810,-1111327049,-1131095837)+W(2,1031312786,1027703970,-1092598078,1041291951)+W(3,-1125922018,1037109557,-1119650108,-1119687326)+W(4,-1132159854,-1101537844,-1115309191,1044282132)+W(5,1038437355,-1126658673,989659429,1043675418)+W(6,-1122838335,1065573620,-1101159602,-1085166716)+W(7,-1115941571,1021015548,1035948285,1030316614);WS(1065854560,-1114586365); +sum1=W(0,-1132208108,-1097600366,-1093129789,1025132845)+W(1,1036127555,-1085251325,-1094779500,1043375962)+W(2,1042302785,-1083792532,-1085614646,1042813603)+W(3,1044294516,-1081301837,-1088034874,1041475414)+W(4,1047014713,-1114318540,1052478106,1039292161)+W(5,1059484531,1040640636,1045472794,1054220253)+W(6,1058554289,1030110605,1026772633,1058902029)+W(7,1057966909,1048041627,-1123458066,1049492791);sum2=W(0,1044643809,1026206592,-1085719643,-1082315074)+W(1,1032322202,1066420950,1060376399,-1098370418)+W(2,1057109638,1025783712,1042910065,-1088636595)+W(3,1061431798,-1120476284,-1117795056,-1093539506)+W(4,-1098026838,-1097387905,-1097858732,1072912386)+W(5,1072201946,-1095903963,-1097681385,1068488422)+W(6,-1087763572,-1104219349,-1092707091,1055106268)+W(7,-1077472196,-1105350768,-1087895305,-1084317601);WS(-1071370880,1080498273); +sum1=W(0,1039364315,-1100646881,-1117320376,-1117491793)+W(1,1023528601,1045848824,-1094786920,1035846886)+W(2,-1106314247,1055228236,1057069771,-1131889533)+W(3,1013100112,-1127017775,1020389492,1028375004)+W(4,1049740511,-1103504723,-1112958490,1025681812)+W(5,-1094741601,1032469201,-1105396320,1058631773)+W(6,-1102894479,-1144513794,1034336534,-1088346742)+W(7,995411618,1002008579,-1116565942,-1138962992);sum2=W(0,-1107398437,-1114277717,-1108946242,-1097850747)+W(1,1042292809,-1084555354,1063125687,-1085613590)+W(2,-1106648125,1041901467,1059764079,1054106205)+W(3,-1122554235,-1148617751,-1103098774,1035361236)+W(4,-1118690429,1012636527,1024320851,-1129761151)+W(5,-1101999238,1026191463,1029278628,1040789135)+W(6,-1128317719,-1127460399,-1119736004,1051725304)+W(7,1025957669,997652141,-1115360404,1022272136);WS(1058528159,1053906024); +sum1=W(0,1035675727,-1092229473,-1104256080,-1112917396)+W(1,1040468760,-1082484606,-1097223269,-1104938189)+W(2,1020887917,-1100912091,-1103704557,-1105254898)+W(3,-1149793215,-1099449368,-1118771074,-1113141838)+W(4,1058833811,1021887717,1039659283,1023681564)+W(5,1061928249,-1119337706,1033492802,1051100098)+W(6,1047691241,-1127325712,-1099217437,1057519273)+W(7,1044776397,1024214504,-1114402703,1047329733);sum2=W(0,1023778714,1033307012,1040644144,-1129442596)+W(1,1026809294,-1080168883,1056896617,-1113953277)+W(2,1034718426,1046899220,1030172798,1035644478)+W(3,1038084720,-1138817753,-1114672577,1016827280)+W(4,1056981996,1014815489,-1105488042,-1106302200)+W(5,-1064674592,1043950232,1048992482,1082625405)+W(6,-1107268878,-1121557578,-1120732434,-1098216535)+W(7,-1118740750,-1122753582,1026207834,-1138831353);WS(1050028863,1057904824); +sum1=W(0,1031484924,-1114471481,-1115527732,1016998719)+W(1,1035763396,-1086973069,-1092713340,-1113918453)+W(2,1046082071,-1093669960,1048884339,-1100192683)+W(3,-1109585801,-1102684193,-1109475380,1023767163)+W(4,-1097014217,1045307870,1033316845,1049960370)+W(5,1055821255,-1113580281,-1113659631,1059124695)+W(6,1046233018,1024760783,-1104759887,1045748179)+W(7,1047341446,-1118597711,1028768132,972758359);sum2=W(0,1035985609,1022451597,1058174637,1042577042)+W(1,-1108557005,-1102051996,-1083350192,-1132583692)+W(2,1049978360,1040525485,-1096734805,1045882832)+W(3,1037998467,1012738322,-1111555351,-1123148614)+W(4,1028288917,1036599280,1036828005,-1093234196)+W(5,1066585170,-1099096459,1043707159,-1089654696)+W(6,-1101233023,1038823523,-1117191962,-1112976831)+W(7,1035922998,-1106116243,1010883764,1016281700);WS(1064158815,1035299335); +sum1=W(0,987363362,-1111853690,1016610641,-1112803360)+W(1,-1148543050,-1086418793,-1090418272,1040202935)+W(2,1016866897,-1106302329,-1096774480,-1119103150)+W(3,-1136961231,-1111706212,-1125874772,-1120253212)+W(4,-1116662313,-1114846141,1023721675,1043480489)+W(5,1062267936,1044974085,1040437218,1043761841)+W(6,1046949595,1035797256,-1112576238,1026731899)+W(7,1038415821,1017229376,-1118929285,1044534239);sum2=W(0,1032509555,-1105443060,-1130481715,982347958)+W(1,1034453505,-1090026061,1041532435,-1111294086)+W(2,1047671755,-1099067440,-1115327745,-1107492941)+W(3,1041657921,-1106888056,1007189687,-1114281099)+W(4,-1102232537,-1106323503,1029826582,1039697927)+W(5,1065332554,-1095157490,-1087181565,1059036310)+W(6,1035057967,-1113855935,1032022369,1049776291)+W(7,1039394631,-1116441678,-1137758215,-1116755236);WS(1064590463,1056702913); +sum1=W(0,1053372231,1049750478,-1118119137,1029043770)+W(1,1042753121,-1089893441,-1090400466,-1096751755)+W(2,-1098166823,-1098407696,1035942347,-1132040847)+W(3,-1101919647,-1105867448,1057009004,1054745035)+W(4,1040212560,1055292354,-1108622774,1044521535)+W(5,-1098259842,1028130891,-1086796959,1048069253)+W(6,-1126503113,-1097599727,1043794349,1046519145)+W(7,-1137574860,-1099480944,1057963224,1029470901);sum2=W(0,-1109993908,1048112351,1047380321,-1112469736)+W(1,-1101975228,1053720344,1039961237,-1113626244)+W(2,-1115391866,-1117206471,1033059361,-1113395603)+W(3,-1114050909,1029031616,1050486894,-1111764318)+W(4,-1096267194,1044766357,-1130012001,-1107309008)+W(5,1041967405,-1105185961,1024449363,-1149218892)+W(6,1041082150,-1103730760,1034928166,-1105421186)+W(7,-1116211284,-1133808950,1041700935,-1097114178);WS(1049282175,-1081654589); +sum1=W(0,-1106636470,1051340514,1056840376,1026879882)+W(1,-1120434947,1060994015,1059046350,1025593670)+W(2,-1103814142,1054415372,1062254571,-1109057316)+W(3,1025046173,1057281100,1044610849,-1108405355)+W(4,-1103588481,1019713064,1023576205,-1089715922)+W(5,-1081081863,-1116831948,1018583793,-1087728227)+W(6,-1110084674,-1148705741,1040563949,-1089160278)+W(7,-1102762237,-1108038889,-1130543166,-1097611347);sum2=W(0,-1117500355,-1154883848,-1112389783,1021240677)+W(1,-1110155670,1061056453,-1102583420,-1104166105)+W(2,-1099065181,1038434309,-1123615532,-1101525323)+W(3,-1100288377,-1120914319,1041908272,-1135933351)+W(4,-1096682611,1051908652,-1104779102,1025718250)+W(5,1065471868,1051220588,-1093040032,1048911763)+W(6,-1090281103,-1098156535,-1113750073,-1149445264)+W(7,-1131934595,-1100861861,1046751376,1042017461);WS(1044733566,-1111466942); +sum1=W(0,-1105078967,1041929508,1060020808,1033634167)+W(1,-1106426842,1060048443,1062221635,-1104340430)+W(2,-1110993602,1054717575,1059584252,-1101553619)+W(3,1020428386,1047352089,1044713794,-1113465444)+W(4,-1103349137,-1134753630,-1112663104,-1092913556)+W(5,-1090785767,-1110397240,-1126194825,-1092289734)+W(6,-1097827057,-1113238887,-1114529117,-1094348262)+W(7,1041060918,-1094820883,-1140846474,-1098824243);sum2=W(0,-1113076108,1066146464,1084299283,1040248415)+W(1,-1105221470,-1067326117,-1073408210,1043824330)+W(2,-1134849104,1016852200,-1097425816,1036602392)+W(3,1011808464,-1118870508,-1119512248,-1163695359)+W(4,1032173778,1029289900,1002599056,1054267917)+W(5,-1084477148,-1116688572,1027082476,-1102778436)+W(6,1040914456,-1121212984,1024010398,-1149511007)+W(7,1011171408,1020903456,1007530464,1026379762);WS(1041204862,1020998748); +sum1=W(0,-1111643799,1044400490,1040787048,1041320410)+W(1,1033305824,1057857240,-1112000574,1033147201)+W(2,1048653459,1013490791,1058317173,-1110534482)+W(3,-1129433652,1032979455,1040475768,-1106102028)+W(4,-1096018340,-1123167632,-1136864165,-1129649268)+W(5,-1090212595,1043382402,1014392453,1041936758)+W(6,-1108280561,1040774794,1046901861,-1083609992)+W(7,-1104103124,-1123801518,-1121200123,-1098465902);sum2=W(0,1036408153,1041467605,-1105739926,1033367466)+W(1,-1116950481,1069287141,-1097896497,1049195658)+W(2,1035726191,-1097322898,1045676499,-1081345874)+W(3,1034565507,1022861151,1034595972,-1109751565)+W(4,-1116824529,1020242785,-1121294834,1035166617)+W(5,-1103787577,-1113169844,1024987646,-1127250349)+W(6,-1110450029,-1162599282,-1109755223,-1104285546)+W(7,-1111377560,1015705141,-1128984227,1041775082);WS(1061587071,-1140717261); +sum1=W(0,1035683412,-1091946062,-1082585266,-1112565188)+W(1,-1105710858,-1084260507,-1086181493,1034588141)+W(2,-1104681461,-1094344584,-1087521200,1024277837)+W(3,-1097426768,-1092361421,-1109665588,1033519565)+W(4,1057075562,-1133150565,1029148274,1063001355)+W(5,1062016535,1031972073,-1121255338,1061257307)+W(6,1051726365,1015752222,-1140527211,1059484653)+W(7,1050023351,1054184694,-1140031633,1053582679);sum2=W(0,1040595366,-1076957703,-1068831962,1052095029)+W(1,-1084153168,1037971476,-1081538085,-1098987175)+W(2,-1096720628,1069986978,1070110671,-1091290481)+W(3,1044734380,1070997731,1074264190,-1101102486)+W(4,-1081349117,1046002483,1061242602,-1076286348)+W(5,1057908839,-1093902656,1040290526,-1088771362)+W(6,1063483875,-1094489561,-1094367529,-1114213425)+W(7,1075267150,-1081182731,-1099236623,1068552571);WS(-1071242520,-1095264341); +sum1=W(0,1017326143,1050464317,1057257956,-1097248122)+W(1,-1091856432,1058219580,1059871125,-1105336241)+W(2,-1097210280,1051126389,1056167546,1051920949)+W(3,999615444,1055359408,1047883744,-1122345698)+W(4,-1098731544,1039614697,-1098637431,-1095464807)+W(5,-1088025845,-1098503641,1034135507,-1096805078)+W(6,-1089070234,-1095933097,1057766069,1032394345)+W(7,-1098523426,-1112287963,1030493340,-1102431837);sum2=W(0,1034954689,-1114842936,1038597560,-1132961311)+W(1,-1105685093,-1104727669,1039456110,-1131131128)+W(2,-1118659572,1053272959,-1085849936,1044104138)+W(3,-1140373421,1049759548,-1117746499,-1117347443)+W(4,-1113751042,1048893008,1055074030,-1089057302)+W(5,-1097910004,1057064004,1046429121,-1095192990)+W(6,1045257331,-1096323208,-1091871118,1064526735)+W(7,1062278408,-1081803378,-1090448877,1054461586);WS(1055746431,1040288248); +sum1=W(0,-1117613130,1055590360,1057716289,-1154016945)+W(1,-1114072538,1067207252,1059644857,-1108247483)+W(2,-1134724696,-1104299500,1062212336,-1103530014)+W(3,1046496384,1054319858,1049302591,-1102903742)+W(4,-1094487986,-1117149477,-1122750430,-1093759650)+W(5,-1085229664,1016534394,1031955359,-1089867895)+W(6,-1088563377,-1137442922,1044969554,-1089860607)+W(7,-1094962569,-1108831509,1035178328,-1097577389);sum2=W(0,1026703145,-1115260470,1051752153,1041968914)+W(1,1035338047,1052354182,1038625472,1033601916)+W(2,-1094112140,-1081023345,-1118891350,-1106207855)+W(3,-1106593629,1066756564,-1084581041,-1100978937)+W(4,1035127537,1031245794,-1117011966,-1123800846)+W(5,1035609386,1050054059,-1109678904,1035458769)+W(6,-1104080857,1038926653,-1098815779,1057116581)+W(7,-1101750238,-1107244818,-1108176195,1055976243);WS(-1089881759,1037957184); +sum1=W(0,-1117869170,-1095515176,-1098029886,1000251530)+W(1,1031851625,-1079829205,-1089055515,1029072469)+W(2,-1105582638,-1105281331,-1094362449,1024508279)+W(3,-1105403363,-1102959900,-1112643769,-1121710869)+W(4,1060224425,1040628361,1041712355,-1105974859)+W(5,1061092856,-1119516507,1042449912,1060210489)+W(6,1056017638,-1107063314,-1102207965,1060581840)+W(7,1050032516,-1124065669,-1112932479,1040568609);sum2=W(0,-1105565679,-1114476854,-1102532150,1051114274)+W(1,-1098769061,1064670328,-1082969540,1055378846)+W(2,-1101598109,1044770567,-1102001010,-1106275827)+W(3,-1104426610,1049459491,-1114021751,-1109849433)+W(4,1038543175,-1112348507,1042271071,-1093533301)+W(5,1077554590,-1100903801,-1087360189,-1075201485)+W(6,1040464379,1031777408,-1115312306,1048871628)+W(7,1049461049,-1104546886,-1125205988,-1111404687);WS(-1089609215,-1090633405); +sum1=W(0,-1131730646,-1114989785,1060468726,-1095985139)+W(1,-1120898567,-1083229835,-1111340153,-1106836118)+W(2,-1108220230,-1091862496,-1097505195,-1122196780)+W(3,-1111282801,-1094974325,-1118278055,-1113602180)+W(4,1035463235,-1121474072,-1106189340,1029992257)+W(5,1057093887,-1170836447,-1109753904,1053834481)+W(6,1056095953,-1106303115,-1099640750,1060127651)+W(7,1060964715,-1114233933,-1102165833,1053644551);sum2=W(0,-1123071369,1018963304,1028184991,-1102755055)+W(1,-1121616776,1048904011,1042446539,-1101642458)+W(2,1034971308,-1102092583,1022095962,-1123659230)+W(3,992820811,-1115600403,-1115812270,-1114444448)+W(4,1034540123,-1154538439,1018724927,1014375557)+W(5,1055634924,-1104340897,1030328833,-1110958917)+W(6,1047229966,-1103087688,-1123674010,-1122273513)+W(7,1032293939,-1116477720,-1118183380,1006913192);WS(-1089497119,-1083970920); +sum1=W(0,-1112985379,1054102421,1017038202,1049400081)+W(1,1046931016,1050677101,1052273107,1032734776)+W(2,1026703569,1054012759,1056472798,1032966898)+W(3,1020804657,1054561791,1046736000,1023567673)+W(4,-1092440080,1023489999,-1129668560,-1096866095)+W(5,-1077775563,1047866250,1039999326,-1090492445)+W(6,-1141821439,-1128248842,1031139121,-1095500286)+W(7,-1096856494,-1102316761,1037611037,-1103091876);sum2=W(0,-1114702364,-1107904829,-1113150368,-1119432539)+W(1,1045807900,1065572002,1051795717,-1131454616)+W(2,-1138592655,-1096394963,-1104213250,-1107556037)+W(3,-1116354551,991245404,991774812,-1120197723)+W(4,-1109676099,1034167140,-1123950204,1049552369)+W(5,1052256292,1024318084,1018171432,1049548364)+W(6,-1077576443,-1103410805,-1104886632,1058452060)+W(7,1049782966,-1123412946,-1103678409,-1102019177);WS(-1092399743,1070790531); +sum1=W(0,1024013147,-1123928476,-1110110152,1031557241)+W(1,1049827334,-1093314535,-1100428029,1045977841)+W(2,1042539942,-1120318828,-1098211617,1044712430)+W(3,1042631871,-1103475236,-1110797385,1022243624)+W(4,-1104003948,1029330819,1040307665,-1086332927)+W(5,-1110202001,1048337215,1054647477,-1091187884)+W(6,1031171411,1042256462,1045074033,1031718940)+W(7,1047659449,1041342974,1034920639,-1118825252);sum2=W(0,-1111978522,1049791001,1049091174,1035080118)+W(1,-1107203795,-1088677682,1038894820,1043189101)+W(2,1040978901,1032440616,-1074681252,1020874649)+W(3,1014904337,-1132242473,-1139760881,-1103963851)+W(4,1068692590,-1120502660,1056655092,1068767241)+W(5,-1079138335,-1094007639,1054889999,1041587068)+W(6,1033618204,1037089622,-1106617291,-1088844169)+W(7,1040720920,1029103732,-1115116202,1036797334);WS(-1076899872,-1090262268); +sum1=W(0,-1105515965,-1109220950,-1105212520,-1111775583)+W(1,-1152866339,-1081197371,-1105276619,1031134981)+W(2,1031461535,-1090100176,-1085735312,1022185487)+W(3,1013082739,-1094472404,-1106571081,991487050)+W(4,1044900104,-1124779047,-1130865048,1053805936)+W(5,1056451270,1012899053,-1108606366,1061229259)+W(6,1061600458,1038272628,-1111684786,1061180827)+W(7,-1114201801,1043636133,-1123743158,1040836429);sum2=W(0,-1099940688,1036990346,1054372816,-1092758077)+W(1,-1093749782,1072234824,-1102824961,-1096959860)+W(2,-1120633714,-1098403340,-1091574668,1047974360)+W(3,-1113388587,1024848209,-1097220109,1036248767)+W(4,1044094629,1015649794,1025560437,1025999909)+W(5,1074465248,-1118772240,-1134776466,-1093700170)+W(6,-1083936129,1035273338,-1097328702,-1086059593)+W(7,-1093741871,1051989609,-1098634116,1045585843);WS(-1097318719,-1106686758); +sum1=W(0,1022220430,-1105675680,1031803579,-1138034233)+W(1,1037878284,1040095311,1060345356,-1115259277)+W(2,-1118564628,1018511203,1057210483,-1109043646)+W(3,-1123355602,1040876381,1038086620,-1132126739)+W(4,-1110575515,1013564641,-1118470609,-1107190316)+W(5,-1082557626,1043380040,1028754310,-1091489993)+W(6,-1113047197,-1103180903,-1126688788,1054616755)+W(7,1040895458,-1110366427,-1105313401,1037558661);sum2=W(0,1034654933,-1109786563,1011610145,-1116780480)+W(1,-1106740681,1058839838,1034290987,1033980194)+W(2,-1110588743,1048688059,-1112504437,1037910476)+W(3,1006481529,1024874106,-1100404580,1033369701)+W(4,1049246354,-1117436106,1031867194,-1126532250)+W(5,1055488745,-1098876833,1050453777,-1098441369)+W(6,-1109313096,-1105182695,-1101879397,-1081564854)+W(7,-1122526519,1042001428,1033744368,1046210019);WS(1061957727,1058150789); +sum1=W(0,1031914819,-1097230757,-1099288198,1009728708)+W(1,-1106863550,1043273168,-1087266183,1043097483)+W(2,-1108191069,1050026271,1055416522,-1097372952)+W(3,-1129266281,-1108247452,-1110590381,1032793786)+W(4,1055587995,-1109853493,1036440691,1046412713)+W(5,1049133325,1023154886,-1106212891,1056802398)+W(6,-1105368103,1036106272,1047286155,-1086687979)+W(7,1042988739,-1120124353,1024106902,-1107437206);sum2=W(0,-1104415808,1041631623,1026925373,1021676194)+W(1,-1104915444,-1075706495,1049347642,1041444786)+W(2,1025561656,1049874161,1068941883,1042839409)+W(3,-1119893126,1030080935,-1096918949,-1111488206)+W(4,1047340087,-1118374396,1011207236,-1130821928)+W(5,-1078646873,-1097824639,1032289888,1055108729)+W(6,1054741696,-1122940124,1041964936,1058328878)+W(7,-1107876167,-1131526532,1033049167,-1108156193);WS(1058678303,1013994144); +sum1=W(0,-1145988558,1032382213,1050426208,-1118673511)+W(1,-1097799452,1061451838,1059103555,-1107600786)+W(2,1025019066,1032049821,-1098106458,1050901309)+W(3,-1117490811,1043957152,1038038624,1034380585)+W(4,1019043839,-1116037137,-1110204509,-1111022430)+W(5,-1090188381,-1111434373,1043824660,-1086017695)+W(6,-1093177128,1043538778,-1123560275,1050664020)+W(7,-1113568728,-1110765932,-1104489131,-1133222475);sum2=W(0,1047608842,-1096529292,1052524883,-1105859137)+W(1,1011548907,1018027622,-1103682938,-1101390223)+W(2,1047719826,-1101134187,1039330573,-1098146078)+W(3,1028887915,-1105962981,1054816538,-1099968186)+W(4,1033298597,1035180205,1025172812,-1116369180)+W(5,1063707518,-1096368530,-1138831970,-1095014501)+W(6,-1086128756,1061932077,-1094263126,1056731707)+W(7,-1150004284,1016476277,-1095466983,1037701277);WS(1063038079,1033861047); +sum1=W(0,1040884807,1014390112,1016779545,-1111914898)+W(1,1061986003,-1095449911,-1109833994,-1102681756)+W(2,-1109559865,1019923216,-1097838100,-1095429920)+W(3,-1104233906,1009274926,-1148961393,1034752240)+W(4,1045397811,-1162045399,-1114919788,-1107257338)+W(5,1065846455,1049909751,-1101855164,-1096677860)+W(6,1039008680,-1113534130,-1097193708,1029008656)+W(7,1029851870,-1103320918,1007645095,1033037520);sum2=W(0,-1106002020,1017665294,-1117177515,-1112457849)+W(1,-1114732591,1062239338,-1098231154,-1103752624)+W(2,1029961226,-1101585142,-1097906884,-1102536580)+W(3,1038070251,-1112453861,1037597321,-1114728817)+W(4,1033022206,1041685053,-1106095669,1031942991)+W(5,1061426536,1046863079,-1095196752,-1133545004)+W(6,1032626487,-1120505375,-1105989872,-1109528685)+W(7,1032988844,-1124888510,1028074076,-1114069131);WS(1060691839,-1121680521); +sum1=W(0,1034282296,-1097943963,-1105323108,-1112633460)+W(1,-1124091490,-1083253895,-1091137362,1016470792)+W(2,-1110508885,-1090137469,-1090987401,1036530779)+W(3,-1133939630,-1093525810,-1098291034,1036991882)+W(4,-1117038833,-1109479713,-1113361469,1045243383)+W(5,1065759511,-1102522287,-1110311799,1060606770)+W(6,1056765570,-1104777690,-1114082482,1062311590)+W(7,1057599172,-1167556095,1016563642,1054157412);sum2=W(0,1041454563,1039698409,1057901747,-1097189010)+W(1,1043926258,-1125642190,-1122301550,-1110771302)+W(2,-1109768355,1020817735,-1108285138,-1109373654)+W(3,1043669875,-1101494695,1040279727,-1114304258)+W(4,-1087530727,-1090377488,-1086497310,-1086723052)+W(5,1064818137,1061014784,-1110538585,-1094374456)+W(6,-1109979249,1044647130,1034378960,1036021291)+W(7,1040712355,1050381101,1013465199,1055924705);WS(-1087684831,-1094525449); +sum1=W(0,-1121734275,-1096975274,-1093934649,1038107891)+W(1,-1107604308,-1090018791,-1093954738,1035814365)+W(2,-1101928869,-1090123804,-1088075930,1038052214)+W(3,-1127021124,-1100235009,-1106254226,-1104767443)+W(4,1049163549,-1113930844,1038198313,1052573184)+W(5,1066601083,-1102439448,1035537105,1040479417)+W(6,1057618495,-1148589172,-1113118893,1058232216)+W(7,1051666987,1033628463,-1146582942,1040796439);sum2=W(0,1032495868,1032348345,1038892506,-1102391770)+W(1,1051494072,1066287204,1055934176,-1140349122)+W(2,-1072283498,1056179234,1070533091,-1080481573)+W(3,-1091499210,1038613315,-1098172645,-1085993190)+W(4,1035913564,-1111661823,1034045130,-1109920182)+W(5,1049172795,1035742233,-1148365864,1043439866)+W(6,-1122911277,1043482108,1024670194,1048700512)+W(7,-1103404378,1024343165,-1117726050,1042548330);WS(-1095407551,-1073547033); +sum1=W(0,-1101976843,1041775803,1043640456,-1103915126)+W(1,-1108044768,1057524528,1061599658,1024335748)+W(2,-1095324014,1028413803,1060862745,1050893513)+W(3,-1114975198,1051352312,1044362232,-1107189281)+W(4,-1098551608,1023142916,-1099126911,-1106314263)+W(5,-1095708126,-1106562202,-1110220795,-1096990689)+W(6,-1092797676,-1099653918,1056016670,-1102020840)+W(7,-1097969466,-1138223071,1031215069,-1110398586);sum2=W(0,-1111493200,-1122920764,1034632723,-1112168075)+W(1,1022286331,1049936313,1009053647,-1123529566)+W(2,1035493883,-1099948229,1051909492,-1103466952)+W(3,-1106265315,-1107051081,1029419308,-1113566520)+W(4,1040740621,-1108202591,-1112860057,1034960798)+W(5,1057592446,-1112708946,-1115675116,-1105159128)+W(6,1041517424,-1116950762,-1146770753,-1126339526)+W(7,1024151142,-1103163741,-1115594520,1016655048);WS(1063407871,1051042354); +sum1=W(0,-1120529264,1052429035,1049807310,1005154604)+W(1,-1130858780,1063894449,1057743574,-1106161584)+W(2,-1127255711,1052514789,1058090310,-1114354154)+W(3,-1115504868,1049931918,1044231916,1023693521)+W(4,-1100831547,1042685852,-1107282310,-1113122997)+W(5,-1086654500,-1129272494,-1113923042,-1088929544)+W(6,-1092092086,-1131567786,-1164896285,-1089886688)+W(7,-1097639884,-1115987013,-1131959253,-1106897472);sum2=W(0,1030565628,-1108784254,1043434467,-1113031572)+W(1,992883874,1036810375,-1111949688,-1127702936)+W(2,990495554,1042918247,-1111107284,1014952720)+W(3,1023316920,-1112993936,-1120169364,1018238740)+W(4,1056568736,-1079041185,-1067187434,-1088941888)+W(5,1060861120,1075709893,1074040966,1036016830)+W(6,-1098281783,992814626,-1099161149,1023742716)+W(7,-1112517088,1028892682,1039733673,1022041004);WS(1053166591,-1107822593); +sum1=W(0,1022746982,1031831786,-1120335240,1033874440)+W(1,1019810386,1048792350,1052124034,1035703758)+W(2,1042374543,-1088629918,-1095582904,1044260196)+W(3,1041374685,-1085974448,-1097950065,1040749291)+W(4,-1108379508,1008295657,1042509273,-1105709561)+W(5,1046826502,-1124953572,1044631286,-1093762507)+W(6,1045805451,-1113071488,-1112928126,1053612659)+W(7,1042845918,-1132054272,-1120529605,1037463342);sum2=W(0,1039106059,-1097601992,-1096561981,1010990056)+W(1,-1114641521,1058004743,1031463124,-1102786881)+W(2,-1101476912,1041182740,1042505523,-1133768253)+W(3,-1113060394,-1099775079,-1105959219,-1103607882)+W(4,1052717590,-1115258493,-1119485380,1040308359)+W(5,1045709336,-1138490792,-1101721469,1058176412)+W(6,-1096768246,1029590734,-1101570252,1034355291)+W(7,-1105804625,1036565969,1037679123,1033275384);WS(1028916214,1067075549); +sum1=W(0,-1119264713,-1109885152,-1148995491,1039584518)+W(1,-1105861885,1067421167,1055889168,1016298993)+W(2,1020015061,1055091716,1059632007,-1113980813)+W(3,1032661512,1052375930,1045130509,-1134777055)+W(4,-1096386895,1022848653,1026160863,-1098323934)+W(5,-1085982162,1034469007,-1150434165,-1096985498)+W(6,-1088331431,1024761132,1044152506,-1087532161)+W(7,-1104015130,-1104676378,1032543553,-1095878225);sum2=W(0,-1096222017,-1103630239,-1101422768,-1120016029)+W(1,-1092715875,1064582511,1040689805,-1119382227)+W(2,1049876716,-1089499537,1043406218,-1110818689)+W(3,1032841990,-1117522613,1029271710,-1103484103)+W(4,-1105545071,1042131820,-1122344899,-1104653664)+W(5,1058022283,-1101606830,-1120071349,-1120927281)+W(6,-1107109410,1051590178,-1096987934,1060808344)+W(7,-1105419897,1050342947,-1099435532,-1107008053);WS(1047020030,1040511430); +sum1=W(0,1033110649,-1090443530,-1092384755,-1108637223)+W(1,1043424750,-1080046633,-1085982557,1044090139)+W(2,-1120308481,-1096279270,-1083957593,1036624046)+W(3,-1106849700,-1100324533,-1149642107,1033721201)+W(4,1053549631,-1122999800,1031927268,1057603229)+W(5,1047924234,1032840448,1026366340,1061618217)+W(6,1057048888,1020572028,1015929108,1053999549)+W(7,1052833857,1039624063,994286645,1057845673);sum2=W(0,1043030610,1008382386,-1124082321,1035208568)+W(1,1044796248,1049576136,-1107061123,-1107699159)+W(2,-1103668262,1048541752,1051573865,1034655700)+W(3,-1095424772,-1134934914,-1093669891,1045164876)+W(4,1050323039,-1118377912,1048736861,-1093736918)+W(5,1074526989,-1111443567,-1106119918,-1114950423)+W(6,-1080621030,1034733436,-1132389881,1073198167)+W(7,-1079139349,1029501600,1034120076,-1074078238);WS(-1080108544,1072234904); +sum1=W(0,-1130610603,1029085890,1027588151,-1115070415)+W(1,1057466749,-1089931562,1032775046,-1098588213)+W(2,1029557602,-1094030554,-1123371019,-1104374087)+W(3,1001112594,999211181,1034779836,1018553236)+W(4,-1104252646,1044293186,1018404227,1031137458)+W(5,-1083673968,1050777268,1028038521,1056995037)+W(6,1050628415,1046325824,-1093125043,1052314097)+W(7,1036988180,1020739741,-1108340394,1033643941);sum2=W(0,-1118678156,1033401680,1043108929,-1115557063)+W(1,-1102856438,-1124450766,1036186051,1045099863)+W(2,1035167397,-1114646959,-1112637977,1035209289)+W(3,-1120387027,-1132473655,1012643139,-1117208818)+W(4,-1093193803,-1109597407,-1108049897,-1138826120)+W(5,1068262877,1049634970,1013268663,-1079584214)+W(6,1041792105,-1111895568,1046161245,-1121148137)+W(7,1032348301,-1116707942,-1127251156,-1138286224);WS(1061770399,1033097145); +sum1=W(0,-1108446526,-1122290538,-1100493560,-1127803310)+W(1,-1102069216,-1124504076,-1090144134,1046619869)+W(2,-1107462472,-1113245389,-1096124978,-1115166002)+W(3,-1109525661,-1114380655,-1115437168,-1113123881)+W(4,1040952192,-1101349332,-1117956049,1049484359)+W(5,1060283011,1051006353,1015706547,1049567736)+W(6,1049188012,-1105896346,1027971186,1036170309)+W(7,1043620172,-1118021614,1011773295,1004781969);sum2=W(0,-1146121477,1032878473,1035607607,-1115090363)+W(1,1039239074,-1094567498,1020296178,1029869322)+W(2,-1123569769,-1111505684,-1133024223,-1123366919)+W(3,1022224092,1025152664,1036037468,-1115297931)+W(4,1008730983,-1105868946,-1102631851,1036976780)+W(5,1060438996,1056742871,-1106613659,1050702114)+W(6,-1088372125,-1103439045,1056526109,-1092544833)+W(7,1015952550,-1109382916,-1114092237,-1119747923);WS(1063262431,1041246684); +sum1=W(0,1035931377,-1103734011,-1094141452,-1095604910)+W(1,-1113418944,-1084116356,-1088213584,-1116408259)+W(2,-1109446615,-1084926720,-1088057339,1035543059)+W(3,-1111045021,-1085134126,-1095142868,1041501409)+W(4,1050116188,1015464930,1050361575,1054301899)+W(5,1063045487,1005018697,-1130477940,1059695011)+W(6,1062081288,-1112900435,-1114430457,1060587189)+W(7,1061043357,1012274924,968128030,1055163174);sum2=W(0,-1101936220,1073764649,1079171932,-1088652568)+W(1,-1102444501,-1113430470,1074855165,-1091191468)+W(2,-1111069004,-1078839186,-1095064501,-1123800532)+W(3,1050243792,-1071519758,-1078450334,-1088813372)+W(4,1062997529,-1106083041,-1089634291,1068650823)+W(5,1039600983,-1123235056,-1102140198,1053027607)+W(6,-1082346847,1056073450,1028735871,-1105207914)+W(7,-1081653443,1060600412,-1114344542,-1088354544);WS(-1071343712,-1080188504); +sum1=W(0,-1112944093,992179242,1024112567,1048814204)+W(1,-1110388460,1065540811,1035991718,1038698214)+W(2,-1113346827,1057270438,1062800155,-1102353903)+W(3,-1172877482,1055244391,1047814390,-1115354285)+W(4,-1105846854,-1115614373,-1155239198,-1101821021)+W(5,-1086620536,1022833410,-1117961066,-1110088095)+W(6,-1092189183,-1130491710,1037955557,-1085891530)+W(7,-1096652125,1021561214,1026576596,-1094362793);sum2=W(0,1067869852,1017329883,1057844910,1077488778)+W(1,-1070445594,1038200220,-1112258962,-1080283979)+W(2,-1113067149,1016515143,1045877800,-1085461181)+W(3,-1105631704,1026840239,1029029881,-1135625536)+W(4,-1123912240,1016773013,-1157420388,-1110901413)+W(5,-1103189448,1027002057,-1127671945,1048616910)+W(6,-1113680120,-1108492850,-1139116556,1033584054)+W(7,1028070058,-1122607860,1033508697,1006246833);WS(-1114300667,-1123436789); +sum1=W(0,-1106612992,1049280824,1024457460,1048745214)+W(1,-1101020989,1066754197,1061265254,1040619730)+W(2,-1129452308,1056957204,1060475010,-1120049178)+W(3,1040777596,1051532558,1052291799,-1112058252)+W(4,-1099711469,-1120312678,-1124831645,-1084727981)+W(5,-1090437274,-1115033343,991636461,-1091611130)+W(6,-1087165059,1036876438,1037659252,-1087975654)+W(7,-1091858685,-1128167880,1024723233,-1095257281);sum2=W(0,1045758589,1033992894,-1096018291,-1102675226)+W(1,1037856863,1023354017,1053924217,-1106608364)+W(2,1038509645,-1112080608,1045521037,-1121700495)+W(3,1013024414,-1111416466,1019757091,1041300787)+W(4,-1078407710,-1091427154,1050758265,-1064870457)+W(5,1077566439,-1122690967,1044800412,1074354229)+W(6,-1100523264,-1101170582,1037435194,1055978728)+W(7,-1096094745,1031501486,1048475585,1032114149);WS(-1081349952,-1073531246); +sum1=W(0,-1123247001,-1094799967,-1092471918,-1130396178)+W(1,-1123595694,-1083589055,-1087091570,1049234666)+W(2,-1118849787,-1088301188,-1090515766,1044575749)+W(3,1015989072,-1095518837,-1100895532,1027091408)+W(4,1040552427,1032899791,-1120779255,1052933181)+W(5,1056428784,1047688662,1048808240,1062313536)+W(6,1052569014,-1104574961,1025076592,1060166366)+W(7,1057005798,1028829344,-1114767697,956727337);sum2=W(0,1038605852,1036224480,-1101780564,1036727690)+W(1,-1108807283,1058417373,1043313873,1000461252)+W(2,1040753555,1041024731,-1110550387,-1118764382)+W(3,1026410269,-1114514162,1032765623,1025474323)+W(4,1003722492,-1101329253,-1095151348,1047063866)+W(5,1075919102,-1072909475,-1071443435,1071364196)+W(6,1052825370,-1094681513,-1137970650,1031984760)+W(7,1049040777,-1100563228,-1130737363,-1104266299);WS(-1087415039,1075227720); +sum1=W(0,-1121306305,-1093044977,1030200505,1014202565)+W(1,1055732347,-1086016434,1052765481,-1115466670)+W(2,1045428619,1044242725,-1108244135,-1088701572)+W(3,-1113272762,1042147022,-1102530383,-1106855619)+W(4,1045750086,1039690838,1032642210,1042588557)+W(5,-1102841730,1054066516,-1099716881,-1099185023)+W(6,1001272287,1045967960,-1089156724,1060432915)+W(7,1043051755,-1114980876,994787170,1047811955);sum2=W(0,-1106843150,-1115275500,1033088277,1034817173)+W(1,-1117324330,1059951304,-1108330169,1035283571)+W(2,1033652183,-1130129964,-1114610359,-1106783723)+W(3,-1109219720,1017452836,-1100855920,-1105003316)+W(4,1042281307,-1122100142,-1119967238,-1105460751)+W(5,1055263105,1033190213,-1118763227,-1117933953)+W(6,1034893511,-1097591398,-1099584511,1036736577)+W(7,1026860110,-1097701018,1043864443,1040893249);WS(1061885343,-1093433134); +sum1=W(0,1040591342,-1106037336,-1116612499,-1119074171)+W(1,-1112185530,-1110885309,-1090085717,1024365415)+W(2,1047951017,-1098920364,1058148680,-1102861510)+W(3,1030794670,-1102965524,-1104145445,1033079635)+W(4,1035985530,1035233146,1026065358,1043937396)+W(5,-1105284753,1041032751,1023445318,1054530437)+W(6,1042740717,1028431483,1043298226,-1085809524)+W(7,1048819605,-1110782149,1030877520,-1143903027);sum2=W(0,1041777983,-1109249837,-1115506247,-1120425303)+W(1,1038578170,1062460419,1051302633,1008642595)+W(2,-1144970974,-1110379832,1046700430,-1103931105)+W(3,-1105571910,-1125592805,-1121481149,-1139607395)+W(4,-1082926483,-1093100415,-1106986872,-1089905659)+W(5,1062992305,-1121360027,-1100742938,976609774)+W(6,1046952726,-1123505732,1026171953,1016533657)+W(7,1044012895,-1108759193,1047068010,-1128426413);WS(1057387711,1071476886); +sum1=W(0,1046876472,-1090879061,-1088145158,1029774760)+W(1,-1104814472,-1081209882,-1087750555,1049447728)+W(2,-1107998911,-1088704948,-1102041597,1047761369)+W(3,1025453339,-1090772220,-1101378696,1035672969)+W(4,1046940920,-1124024690,1026644842,1058722665)+W(5,1060559271,-1101227374,1034805113,1062289140)+W(6,1046238393,-1112057972,1041428045,1057163193)+W(7,1051154538,1045125730,-1123650077,1049034574);sum2=W(0,-1076424748,1072246945,1066168402,-1079574021)+W(1,-1079383446,1069722149,1055648588,-1084651933)+W(2,-1105513599,1052366950,-1105729737,-1094010079)+W(3,-1083946107,1064021500,1046266897,-1094989946)+W(4,1039775524,1025560740,1033041398,-1106633910)+W(5,1050613020,-1122422479,1042767844,-1122282375)+W(6,1046757765,1029747528,1029478726,-1112550614)+W(7,-1117589808,-1110924549,-1132333344,1041413657);WS(-1088291167,-1076464582); +sum1=W(0,1013092187,1039614653,1048475643,1038365083)+W(1,-1096083994,-1090164821,-1105893787,1049005176)+W(2,1029385568,1052597003,1048630844,1046666973)+W(3,1035921309,1049653618,1030762351,-1130846211)+W(4,-1115741870,-1118168192,-1113517956,-1115380053)+W(5,-1106465144,-1103584918,1038779144,-1115211424)+W(6,-1097273638,1036949051,1051487172,-1092124773)+W(7,-1098780292,1041505439,1029432699,-1104199584);sum2=W(0,1042447103,-1103497340,-1119046775,-1102442432)+W(1,-1140140535,1063726871,-1108371687,1009200726)+W(2,1038566242,-1100556235,1023996549,1018235219)+W(3,-1119461411,-1115426548,-1134905751,-1105836948)+W(4,-1117033259,-1109692823,-1116688635,1038119755)+W(5,1053430514,-1103585210,-1136365839,-1111757198)+W(6,-1130738637,-1122627505,1035998106,-1097582390)+W(7,1038939472,-1131103707,-1113769016,1027482933);WS(1063535295,-1106643391); +sum1=W(0,-1114069468,1050551697,1049160779,998897947)+W(1,-1120649212,1059662980,1037435628,1030590255)+W(2,-1135800742,1051146291,1051258674,-1112623985)+W(3,-1118923687,1051522915,1042046535,-1126057998)+W(4,-1114097198,1035333911,1022592892,-1095715331)+W(5,-1098500149,1036951763,-1105875754,-1091439068)+W(6,-1112852607,1021555078,-1097348874,-1093374928)+W(7,-1098602138,-1118947123,1032877804,-1104302276);sum2=W(0,-1119848331,1035188360,1023004440,1020791040)+W(1,1024075228,-1081188844,1036866165,1028098574)+W(2,-1114214294,1020492762,1036267331,1036335573)+W(3,-1123998545,1028180222,1026996488,1028067710)+W(4,1010552055,-1114014595,-1130592194,-1131522740)+W(5,-1063807577,1085749988,1057774258,-1087402238)+W(6,1044255896,-1101071935,1072260443,-1074297638)+W(7,-1125487816,-1121770211,1041502854,-1109527927);WS(1065370528,-1140007425); +sum1=W(0,-1123119348,-1093467562,-1089109360,-1119191691)+W(1,-1144777506,-1082641845,-1104035088,1043193134)+W(2,-1114692372,-1085597050,-1090665335,1048874737)+W(3,1028382351,-1084438004,-1097312497,1047204584)+W(4,1051845168,-1120571445,1048704645,1051697742)+W(5,1058881533,-1128753754,1047054964,1049231373)+W(6,1053776045,-1135014444,-1122636375,1060727795)+W(7,1054559607,1047044271,962936920,1050811579);sum2=W(0,1068804680,-1079031251,-1078126224,1072219394)+W(1,1066171639,-1087436811,-1078951161,1068134846)+W(2,-1080918851,1067164113,1039512383,-1095987744)+W(3,-1071545857,1075315134,1069504242,-1077110574)+W(4,-1110022070,1040923692,1011861728,-1093298188)+W(5,-1107767815,-1121892273,-1105857084,-1084926454)+W(6,1031793821,1040751494,1026590003,1055586357)+W(7,1055897321,-1109554506,-1123439499,1041030661);WS(-1089696543,-1143233957); +sum1=W(0,1045323653,-1098483714,-1129127938,-1115482013)+W(1,1035013745,-1091150045,1045383939,-1096516931)+W(2,1054106403,-1086835476,1043411549,-1162367211)+W(3,1036179510,-1103773800,1048447553,-1107204469)+W(4,-1110243009,1049605572,-1122467892,1041381507)+W(5,-1106321908,1043667267,-1090424421,1059582003)+W(6,1026676964,1048548650,-1109629626,1034020454)+W(7,-1159158363,1035568493,-1105600748,1034191370);sum2=W(0,-1125596513,-1121806942,1032064725,-1134008573)+W(1,1051842604,1065460002,1045441656,1011008945)+W(2,-1118729604,-1130705389,-1114964420,-1125276577)+W(3,-1117720498,1034360078,-1121883022,-1111959837)+W(4,1035355315,998755498,-1113496357,-1117795542)+W(5,-1089961367,1041632626,-1119910472,1024667789)+W(6,1026896379,1032979221,1035390555,-1081892598)+W(7,1023648883,-1115672512,-1129745921,1020053498);WS(1065278079,-1120402802); +sum1=W(0,-1115548942,1049303261,1052390115,1031924074)+W(1,-1112658654,1060948388,1045251552,-1106896516)+W(2,-1121670257,1054395391,1062622505,-1103991244)+W(3,1031270934,1048618059,1045812503,-1115583119)+W(4,-1099757447,-1118597165,-1116671142,-1097070063)+W(5,-1081623390,1043338841,1041336272,1040981136)+W(6,-1096062708,1032773481,-1145407604,-1085365853)+W(7,-1099232531,-1127437558,-1123616408,-1101077740);sum2=W(0,1032565152,-1122384971,-1110767736,-1114021356)+W(1,-1085160508,1068814369,-1085457975,1056835748)+W(2,-1086618535,1063574785,-1085213012,1058685385)+W(3,1032715041,-1097434793,-1144776155,1047242231)+W(4,1041858293,1019779384,1034493514,-1100377718)+W(5,1060746614,-1097525969,1016590225,-1085697040)+W(6,-1094120608,-1097974912,1043875459,1057245366)+W(7,1056356490,-1096653037,1054776673,-1093482365);WS(1055688959,-1109584743); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -3), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -1), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 1), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 3), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -3), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -1), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 1), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 3), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns256, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/gather/nnedi3-nns256-win8x6.glsl b/shaders/nnedi3/gather/nnedi3-nns256-win8x6.glsl new file mode 100644 index 0000000..c66035d --- /dev/null +++ b/shaders/nnedi3/gather/nnedi3-nns256-win8x6.glsl @@ -0,0 +1,634 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns256, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1118354985,-1117760744,-1126504964,-1118812211)+W(1,-1107177196,1040658850,-1127312137,-1108702207)+W(2,-1113369587,1024463101,-1105559165,-1116025261)+W(3,-1117458482,-1097807929,1037346316,-1120674615)+W(4,1041726453,1061593601,1051925971,-1124477727)+W(5,-1120327001,1015141868,-1098269094,-1102924251)+W(6,-1114916026,-1101147334,-1137814218,-1120777358)+W(7,1053108884,1029100907,1032645830,1042061230)+W(8,-1129934237,-1114359336,-1121960158,-1109857889)+W(9,978731342,-1112914505,-1118580651,-1128256674)+W(10,1023094846,1010634196,1040041685,1026597474)+W(11,1018102856,-1124738995,-1137769344,-1133406593);sum2=W(0,1034293816,-1103749327,975711915,1012167794)+W(1,-1073125242,-1097051670,-1105000392,1040949842)+W(2,1034317546,-1107080190,1026609280,-1098861131)+W(3,1042152488,1032768248,-1112492311,1007876102)+W(4,1048636347,1064777150,1065119806,-1113573827)+W(5,1037196612,-1106667446,1028248806,-1103172582)+W(6,1026775674,-1112883791,-1104922990,1037438381)+W(7,1035198208,1049268872,-1118855570,1049707133)+W(8,1024046979,-1112062411,-1108803486,1042916747)+W(9,1009005510,1029694272,-1129478003,1035896848)+W(10,-1110039318,1045598091,-1105233202,1019305156)+W(11,1031133421,-1116379320,1002108025,1037762592);WS(1002542528,-1081598301); +sum1=W(0,1018532849,1031358712,1003194766,-1123106403)+W(1,-1096563748,-1102943230,1048723343,1058293919)+W(2,-1104454821,1033034550,1043311017,1033211315)+W(3,-1100442248,-1102109750,-1120609928,-1115291860)+W(4,-1084853826,-1082116255,1065191364,1060312385)+W(5,-1105126162,-1093430837,1048832547,-1122032382)+W(6,-1124327881,1022719310,-1104418325,1033033375)+W(7,-1090047916,-1090520747,1055391647,1057579241)+W(8,1033480943,-1104668395,1034840623,1045565001)+W(9,1042404749,-1173350542,-1140694509,1031657633)+W(10,-1115672903,-1088607906,1057234642,1048926634)+W(11,1041617645,-1100859732,1034960904,1040065984);sum2=W(0,1038135851,-1098903542,-1136455954,-1118979564)+W(1,1046730291,-1091503884,-1113356687,1040555036)+W(2,1010901456,-1105119573,1033064908,-1098841046)+W(3,1043936541,-1095471090,-1098733088,1031647880)+W(4,1053446821,1057969905,1058853402,1041172918)+W(5,1050988870,-1096003667,-1107613268,-1105844234)+W(6,-1114646115,1050331000,-1115252794,1032618663)+W(7,1026777488,1032649026,1042547849,-1111675314)+W(8,1040941647,-1135105484,-1109177822,-1104403193)+W(9,-1107943513,1030299514,1028338874,-1105564107)+W(10,-1097022326,1045220138,1048036907,-1102521857)+W(11,-1111654963,1015146572,-1104926499,-1106932655);WS(-1089089900,1057806976); +sum1=W(0,1034138799,1025412102,-1127595840,-1107295812)+W(1,1050726826,-1189029283,-1098433268,-1095422036)+W(2,-1107540610,-1114195981,-1122343505,1041715821)+W(3,1036945929,1043589025,-1107414907,-1123024597)+W(4,1055732365,1066834483,-1086058047,-1092642698)+W(5,1004508092,-1123010964,1012137296,-1122551116)+W(6,1048626936,1026901142,-1114511976,1016079705)+W(7,1060391966,1050840209,-1090938821,-1087422851)+W(8,1021997657,-1116540066,1032081267,-1112593208)+W(9,-1122208804,-1132433569,-1120167114,-1121404144)+W(10,1046023279,1054523402,-1092394401,-1099844512)+W(11,-1117735535,-1140325311,1034856335,1025525231);sum2=W(0,1045053907,-1112537807,1040406565,-1100068589)+W(1,1049401249,-1091711434,-1097933278,1035618626)+W(2,-1103084156,1039746012,1040848725,1036897142)+W(3,1034765996,-1096936254,-1129255625,-1105732125)+W(4,1056573344,1055190008,1047111871,-1099579155)+W(5,1030295740,-1110783667,1050298277,-1089717374)+W(6,-1098576495,-1119869595,1041854514,-1110986904)+W(7,1058665437,-1092612461,-1119227686,1056019034)+W(8,1041764164,-1100808273,1058580142,-1089302244)+W(9,-1108123574,-1106886121,1040297872,-1108063740)+W(10,-1121089271,-1113107096,996712344,1029490732)+W(11,1022690203,1034569294,-1110437244,-1127874601);WS(1049963735,-1124746024); +sum1=W(0,1034213253,-1110639240,991131306,1006389467)+W(1,-1089111694,-1111102680,1049374726,1058411598)+W(2,1033778855,-1134195605,1039576302,-1120169982)+W(3,-1124116580,-1106688436,1036315168,-1124991168)+W(4,-1086690096,-1080857842,1064243752,1060442825)+W(5,-1122058050,1024033695,1032153615,1018630958)+W(6,1016950458,1034354600,1034164414,-1114080443)+W(7,-1086343400,-1086990857,1057235431,1058630778)+W(8,1016006830,1017381585,1036089759,1034713638)+W(9,-1118357326,1046100667,1034869786,-1168983685)+W(10,-1099687954,-1090257402,1028310995,1051622657)+W(11,1027377121,-1130216101,-1126482082,1035150121);sum2=W(0,-1111353121,1040828458,1022693528,-1114775505)+W(1,1077280281,1083159907,1041444385,1051023520)+W(2,-1100155636,1038899070,1039028690,1042396970)+W(3,-1108626677,-1179590680,-1159675846,1033686534)+W(4,-1090827263,-1064966677,-1089609004,-1101109690)+W(5,-1108327399,-1128357112,-1146898193,-1129576724)+W(6,1041114289,1028829848,1033838002,-1112709023)+W(7,-1073695373,-1090323484,1037546580,-1101828769)+W(8,1026559236,1017563688,1046069066,-1117377551)+W(9,-1108121837,1037026782,1032684170,-1125624388)+W(10,1042738654,-1104201752,-1104771455,1033655640)+W(11,-1149039617,-1119733667,1049907200,-1098820901);WS(-1082925548,-1131273240); +sum1=W(0,1028984921,1026031368,1024417890,-1130676005)+W(1,1056020338,1048479050,-1094705109,-1090453298)+W(2,1031745797,1023514525,1026370227,1036092472)+W(3,1046418962,1048544370,-1123681912,-1127912110)+W(4,1054709085,1056570469,-1080625999,-1088411833)+W(5,-1139610597,1039178347,1016526011,1040943828)+W(6,1032747842,-1115143804,1009745483,-1128802908)+W(7,1060414079,1058018725,-1093720869,-1078821070)+W(8,-1115579031,1033865376,-1146727344,-1134933227)+W(9,1035809011,1012870858,-1124372951,1030244593)+W(10,1048613352,1053689379,-1099806226,-1115224705)+W(11,-1123856496,1032018765,1034696072,-1126383553);sum2=W(0,-1114926763,-1140231915,-1126832117,-1117505397)+W(1,-1102904639,-1113101086,-1146496262,1048798551)+W(2,-1112830121,-1125809392,-1129185935,1025448640)+W(3,-1125548157,-1125354742,-1107644007,-1116692107)+W(4,-1125191934,1000279686,1053833339,1045683415)+W(5,-1121525964,-1113082203,-1120274227,1034411663)+W(6,1042669208,1027773818,-1123105101,-1117458583)+W(7,-1104919217,-1107525999,1032098567,1057710126)+W(8,-1111650191,1035574395,1022009255,1041220979)+W(9,-1115355410,-1119603373,1004815486,-1117032217)+W(10,1032507221,-1103622420,-1110288078,-1100115369)+W(11,-1112638630,-1117835672,1039592007,1021108475);WS(-1089340204,1064822548); +sum1=W(0,1040632746,-1123651609,1017532199,1024560260)+W(1,-1106019185,-1094337163,1053882699,1042654740)+W(2,1037194524,1028050126,1033472482,-1121721479)+W(3,998268921,-1115892569,1032538389,1036465700)+W(4,-1083627654,-1081203240,1062655475,1058440180)+W(5,993325743,1013010462,1042941034,-1112650528)+W(6,-1109887627,1033415588,1035008482,1031720480)+W(7,-1087921069,-1086686700,1054084900,1057084090)+W(8,1035154240,1021897635,1038013786,1046201917)+W(9,-1112010572,1043778521,1041385023,1020865894)+W(10,-1098821294,-1083224116,1050203279,1046711885)+W(11,1027972046,-1131974615,1043447032,1039144481);sum2=W(0,1034353453,1018486577,1041490776,-1108565409)+W(1,1053209723,-1092734414,-1105841420,-1088688588)+W(2,-1107721619,-1122233136,1039814215,1049996954)+W(3,-1113519263,1052082200,-1113858207,-1103680498)+W(4,-1094792328,1049986423,1062919581,1037914109)+W(5,-1116717915,1040029087,1012724150,1034343810)+W(6,-1097140178,1046768714,-1139146344,1018958125)+W(7,-1107726366,1044527939,1049328132,-1095558118)+W(8,1007719490,-1100531711,1024888668,-1098318745)+W(9,-1098207895,-1128703602,-1111959213,1024460115)+W(10,1046336394,-1110040773,1035231667,1041960027)+W(11,1037888927,-1102670680,1036710347,-1106186917);WS(-1083458668,-1076208878); +sum1=W(0,1040683401,-1097616301,-1119221604,1028803476)+W(1,-1098733730,-1093169213,1051879501,1046406904)+W(2,1030855367,-1111140815,-1110693690,1004468631)+W(3,1042493937,-1106128994,1033962333,-1136427363)+W(4,-1088547874,-1086787145,1062475632,1058517387)+W(5,-1127640694,-1108587948,1045297574,1024040880)+W(6,-1096558041,1044433886,1041264181,-1108948664)+W(7,-1088927588,1035939910,1053313566,1061490456)+W(8,-1104411844,1040762412,1038834422,1028806548)+W(9,-1097860853,-1123751924,1032628870,-1108358441)+W(10,-1096390160,-1130402734,1054299289,1049919352)+W(11,-1118015030,-1165494119,-1106314264,-1095128350);sum2=W(0,1016478676,1037533502,1037888148,1016611708)+W(1,-1101004152,1029018929,1036667983,-1110195557)+W(2,-1128480930,-1116498505,1051795874,1040169462)+W(3,1012928145,1042320298,1016374797,-1105282980)+W(4,-1092116144,1048907311,-1123884642,-1126800264)+W(5,-1105668811,-1110762465,1052196876,1041335879)+W(6,-1119445205,-1133007186,-1118267731,-1146676672)+W(7,1063932318,1045206632,-1111241984,-1097480948)+W(8,-1096424000,1016609657,-1088285853,-1105880602)+W(9,-1123652878,-1114217777,1032410610,-1130451858)+W(10,1051255124,1032089604,1039354964,1039970164)+W(11,1029046774,1046489649,-1090379026,-1095104183);WS(-1104670894,-1131977046); +sum1=W(0,-1127207577,1044660591,-1122872327,-1112648188)+W(1,-1088875575,-1112061830,1050049705,1054983097)+W(2,-1103988635,1027063042,1037435556,1031188251)+W(3,-1159198685,-1091967838,-1105196647,1034658686)+W(4,-1088327234,-1080890076,1062208630,1055452918)+W(5,-1117747167,-1097581231,1027642075,1047857485)+W(6,1050515731,-1105182655,-1105551222,1040705957)+W(7,-1103107959,-1088400827,1051606290,1055187309)+W(8,1026629396,-1115427963,-1109004816,1054501223)+W(9,-1127322710,1049557794,1017793890,-1121117111)+W(10,-1103254713,-1097595959,1052382814,1047450666)+W(11,-1119280070,-1121163375,1041414585,1042878098);sum2=W(0,1027513536,1035918257,-1117974191,1016354951)+W(1,-1120711631,1038928177,1029824032,-1143898815)+W(2,1011202413,1027020738,-1110582057,-1121835937)+W(3,1037237024,-1144611727,1055799129,1039379806)+W(4,-1101088822,-1097673825,-1097216592,-1103985849)+W(5,-1113735870,1044957698,1040607236,1009730353)+W(6,1028380863,1042440009,1037116388,1043516685)+W(7,-1124050651,-1105579212,-1103814691,-1106760625)+W(8,-1114960631,1027787831,1038947942,-1115312251)+W(9,-1106882882,1025801393,-1131729016,1033575170)+W(10,1026359109,1011024469,-1136138683,-1123395355)+W(11,-1133116095,1008198659,-1112603972,-1135830635);WS(-1096559831,1037484900); +sum1=W(0,1038422322,1027879764,-1134487991,1028249855)+W(1,-1091437192,-1098773026,1048869250,1057397273)+W(2,1033785689,1031362249,1029769503,-1101563608)+W(3,1029515489,-1112460521,1016173128,1034313250)+W(4,-1086850776,-1083502823,1065757625,1056640275)+W(5,-1173649736,-1128247556,-1131269971,-1127965876)+W(6,-1107825326,-1123304579,1028347039,1027417370)+W(7,-1083394976,-1089694535,1054334819,1058322735)+W(8,1035484541,-1132373103,-1107441417,1044386388)+W(9,1030471249,-1120703806,1035635068,1000575210)+W(10,-1098313541,-1102551488,1052376319,1052511918)+W(11,1034873120,-1142130892,-1098473097,1031752252);sum2=W(0,-1073555081,-1070793862,1040888051,-1112511339)+W(1,-1104998932,1054215981,1075658117,1076402541)+W(2,1037626737,1015165170,-1115233903,-1101584674)+W(3,-1069228230,-1071158503,1027239578,1033770332)+W(4,1042820552,1046227202,1077820889,1075655149)+W(5,1023929473,1033175695,1035248614,1010151672)+W(6,-1080567434,1047598893,-1135961020,-1109060021)+W(7,-1095422364,-1101978428,-1118850699,1045918702)+W(8,1025525751,1032251645,1049027220,1038949494)+W(9,948656059,-1129804625,-1110941727,-1113507810)+W(10,1045389579,-1103164541,1026016583,1035044244)+W(11,-1117328038,1042587545,-1118124613,1028467783);WS(-1081931126,1073966570); +sum1=W(0,1035175459,-1097410109,-1146361331,-1121849711)+W(1,1027761070,1045225025,1026127169,-1121951547)+W(2,-1114686833,-1113648733,1037511592,1025905706)+W(3,1043585907,-1120101763,-1106692309,1017322599)+W(4,-1106255910,1065386286,-1091000962,-1144746721)+W(5,1017686828,-1108319001,-1111228857,1043091875)+W(6,1050307440,1038219466,-1106210884,1025148299)+W(7,1061827739,1056380469,-1091953433,-1079735571)+W(8,1018597782,-1147707682,-1102991437,-1120837551)+W(9,1023773090,-1132131774,-1115138804,1006422511)+W(10,1049682211,1046599772,-1102445962,-1096168868)+W(11,-1110127893,1028136822,1040799505,1003336935);sum2=W(0,1035173169,-1090565718,1034732755,-1106398945)+W(1,1053305068,1050400788,1056357842,-1101335301)+W(2,-1109509581,-1107192051,-1115544374,-1121291886)+W(3,1037348813,-1089313148,-1116038033,-1136096426)+W(4,1036743473,1057700465,1066071262,-1122254044)+W(5,1016457143,1022772267,-1086616818,-1105444760)+W(6,1037418911,1045738761,-1100200943,1044672515)+W(7,-1084949846,1003355997,-1132458755,-1095175639)+W(8,1033704361,1035291569,-1102270714,1050477957)+W(9,-1130864309,-1117649125,1025870712,1037208365)+W(10,1030076164,-1106413087,1025322164,1007521414)+W(11,-1111299866,1024551876,999303933,1045722667);WS(1052508503,1065718149); +sum1=W(0,962035242,-1098223900,-1109127212,1042149474)+W(1,-1097510801,-1096660204,1043423478,1048663227)+W(2,1038442493,-1109357577,-1104342914,1028239019)+W(3,1027445007,-1108112926,1033122295,1041796883)+W(4,-1087758861,-1089406218,1061167739,1055339346)+W(5,1040109559,1025450507,1037128774,1027971236)+W(6,-1098175173,1043181559,1045736850,-1120120612)+W(7,-1094841886,-1105769888,1055761732,1054196775)+W(8,-1123303012,1044237597,1042761157,-1105773058)+W(9,-1100319159,-1102543586,1038133568,-1110374755)+W(10,-1103555357,-1120191499,1051299336,1041284046)+W(11,-1111907879,1039590240,-1105847257,-1101757237);sum2=W(0,1037136687,-1116667451,1021868522,-1109097964)+W(1,-1125393555,1041352693,-1094712046,1031673749)+W(2,1025995330,1008084051,-1104433838,1019467600)+W(3,-1107845433,-1109068920,1032613655,1007318978)+W(4,1034962829,-1112580519,1040720319,1038331125)+W(5,1039892459,1025598855,-1121851072,-1122570447)+W(6,1016069779,-1103760436,-1126879582,1002517286)+W(7,-1106409067,-1106729155,1056111085,-1111158812)+W(8,1045465420,-1110468674,1049773824,-1113430896)+W(9,1030143702,-1118059752,-1114937810,1031113174)+W(10,-1106975050,1047380650,-1121843086,-1106358629)+W(11,1020538422,-1113447212,-1122235886,1036295980);WS(1056997868,1008833773); +sum1=W(0,1006806901,-1130107576,1036420187,-1118496039)+W(1,-1123143270,-1104570591,-1123687353,1039826714)+W(2,1017005492,-1125702370,1032886196,1006039247)+W(3,-1115019369,1045363911,1034344230,-1113594582)+W(4,-1093231896,-1095316624,1059756929,1053157409)+W(5,1028719950,1009228202,-1102708199,-1105180689)+W(6,-1090717022,1037930126,-1109888100,1038393121)+W(7,-1095564524,-1098051412,1045739824,1058230383)+W(8,-1119964195,1033820442,-1129186168,1035814292)+W(9,-1110427933,-1112104883,-1131937728,1032434307)+W(10,-1101398261,-1104229594,1052782212,1042446790)+W(11,1028568173,-1136905401,-1112516090,1025625861);sum2=W(0,-1118604595,-1109468006,-1112051735,1034320453)+W(1,1028595208,1046387359,-1107232926,1025235375)+W(2,-1116609216,1005965131,-1105038970,1002638229)+W(3,-1106879339,-1088213587,1033608293,1043966073)+W(4,1044354198,-1087106166,1067079268,1049289065)+W(5,-1111658272,-1132447732,1035867996,1045499601)+W(6,1064370547,-1095838484,1051236380,-1092579307)+W(7,-1108961766,-1104528882,1044420987,-1088486363)+W(8,1042442572,-1134350406,1028839698,-1096457250)+W(9,1043763107,1016664388,1027336318,-1102939053)+W(10,1035658672,1023955051,-1116658227,-1107783352)+W(11,-1131375963,-1135660575,-1126291119,-1122532695);WS(1064849644,-1092967401); +sum1=W(0,1033930742,1034184171,-1103081652,1041078624)+W(1,-1091277968,-1091900963,1058076017,1053270962)+W(2,-1124489961,1046377811,-1101902009,-1115974645)+W(3,-1098756264,1038407355,-1126422222,1045204674)+W(4,-1097334921,-1078564449,1061713418,1059044453)+W(5,-1096742869,1034335299,1031099397,1038364767)+W(6,-1103118957,-1103625882,1049230600,-1107755791)+W(7,-1099822850,-1091654943,1047988615,1064682577)+W(8,1015202107,-1098744549,1010917525,1025967234)+W(9,1035198826,-1102710964,1041473799,-1101861336)+W(10,-1096942230,-1098047297,1058355518,1055582710)+W(11,1047801952,-1101582418,-1106099948,1021900159);sum2=W(0,1039267337,1026053125,-1105865147,1034970587)+W(1,-1085205368,-1076908464,1027743203,-1109640195)+W(2,-1111782462,1029167111,1068235631,1065312771)+W(3,1040193826,1037956157,1018431373,1024111791)+W(4,-1072741915,-1079896887,-1088412806,1042644379)+W(5,1035172075,1048206286,1069229068,1074530244)+W(6,-1106797747,1031902437,1038385161,-1107243650)+W(7,1057561219,1052902509,1031274183,-1104275404)+W(8,-1092973955,-1105822229,1045193510,-1110308581)+W(9,-1114137980,-1128932411,-1129893537,-1114574492)+W(10,-1103620900,1054347378,1040558376,-1115379021)+W(11,-1102796809,-1106619819,-1099424233,-1167188013);WS(-1085552428,1044647857); +sum1=W(0,-1120131932,1046596325,-1111247047,-1130568573)+W(1,1052681344,1050957098,-1095715202,-1097293585)+W(2,1016796643,-1123522377,-1125685565,-1115182247)+W(3,1026932885,1049575094,-1104704953,1001536536)+W(4,1059711152,1060788917,-1085535724,-1090361246)+W(5,1028362085,-1112833505,-1122898434,-1097304503)+W(6,1042872064,-1127841478,-1104108900,1029690778)+W(7,1048249845,-1106926654,-1113844876,-1105723034)+W(8,1008149481,-1111804152,1050188162,-1115360055)+W(9,-1114289465,-1110288351,-1107166286,1012447989)+W(10,1034645781,1043016176,1028149942,-1127895515)+W(11,1032897312,-1119471349,1041406167,-1110595670);sum2=W(0,-1122573304,-1169058693,1012096208,1049638564)+W(1,-1120650912,1032693677,-1118822370,-1097365817)+W(2,-1114566411,-1119534724,1036528332,1039129637)+W(3,-1092917400,-1080721407,1058022553,1055008508)+W(4,-1127709292,1044260765,1056959548,-1124083512)+W(5,1015256750,1042163670,-1122124802,-1113518885)+W(6,-1081684685,-1080284825,1065544846,1059601221)+W(7,-1099806388,1042746095,1051359763,1056508637)+W(8,-1110975736,1032382474,-1101554026,1019567420)+W(9,-1096574070,-1098850345,1043980555,1035938200)+W(10,1033735876,-1121369890,1031681402,1044088441)+W(11,-1110809702,1022534793,-1108142320,1041548497);WS(1049904727,-1085461498); +sum1=W(0,1047758995,-1122472531,1032673159,-1114441151)+W(1,1054893264,1042608805,-1101190388,-1092338425)+W(2,1042581180,-1119554504,-1108884127,-1095327506)+W(3,1048177385,-1116753522,1041600521,1027012354)+W(4,1050188989,-1088410395,1059669870,-1096531431)+W(5,1041262473,-1120686401,-1123782065,-1104987150)+W(6,-1105032264,-1109908945,1033107055,1035856141)+W(7,-1084283112,-1088007491,1058897901,1063099682)+W(8,-1117364890,-1107384925,1042892731,1042263123)+W(9,-1104848436,-1111353615,-1139856090,1031163069)+W(10,-1096369309,-1096366496,1055941567,1049115478)+W(11,-1138499405,-1100444021,1047202227,1029697804);sum2=W(0,1068410613,1066297935,-1127864237,-1101934313)+W(1,1045964051,-1107136628,1047339448,1053392914)+W(2,-1118726053,1029832629,1023924243,-1109754454)+W(3,1052441146,-1077079694,1047304216,-1112463889)+W(4,1035674775,1046050296,1044634164,-1111508378)+W(5,-1111696115,1036477638,-1111827987,-1121555471)+W(6,-1082290320,-1095668928,1041678537,-1097499627)+W(7,-1113442140,-1135364198,1053023843,-1086326188)+W(8,-1119582249,1024856185,1034831467,1006763480)+W(9,-1097722710,-1096167330,1039199998,-1128505773)+W(10,1028981469,1028034745,-1112581958,1050833435)+W(11,-1112331027,1017921306,1032814306,-1128234727);WS(-1087326956,1033622098); +sum1=W(0,1045896801,-1161971013,1035193378,-1113899675)+W(1,-1108955706,1048600721,-1108871427,1041409216)+W(2,1041055226,-1106692192,-1114333163,-1104543128)+W(3,1045303135,-1095480777,-1119324954,1030557818)+W(4,-1094955846,1051943793,1041468886,-1104804773)+W(5,1039063182,-1112593372,-1096626659,1045266364)+W(6,-1110770003,-1109576477,-1117399605,1042470612)+W(7,1025944442,-1097508910,1052050234,-1098059200)+W(8,-1107180444,1041486173,1043056710,1048775867)+W(9,-1100233714,-1122013269,1035419591,1021883592)+W(10,1030612641,-1106071902,1017834329,1041862393)+W(11,-1114362202,-1121041260,1042839849,-1122051827);sum2=W(0,-1111634453,1032259795,-1114415273,1008283263)+W(1,-1121896666,1020399084,1046234660,-1112224655)+W(2,-1106176579,1027107696,-1105304684,1031996897)+W(3,-1123951654,-1116061542,1036167174,-1114655921)+W(4,-1139717487,1050902690,1049934438,1039099048)+W(5,-1106922258,1022104088,-1102142181,1017260660)+W(6,1039368345,-1102899145,1033204129,-1111159985)+W(7,1039007446,1039510238,-1113540553,1003410015)+W(8,-1122048418,-1135188919,-1114854307,1003551903)+W(9,1024476440,-1118949310,-1127458940,-1122340118)+W(10,1032062517,1033150391,-1122317014,-1117681522)+W(11,-1128403972,-1125862176,-1113963477,992233789);WS(1068173014,-1111006676); +sum1=W(0,-1103201566,-1112513259,-1115395480,1031049568)+W(1,-1100468360,-1173290307,-1117860850,1048004603)+W(2,1012485196,-1127850837,-1123264224,1046039773)+W(3,-1112438249,1042819653,-1113567107,1019703498)+W(4,1042677725,1064316383,-1083606526,-1104427535)+W(5,1029876039,1036820754,-1122621123,1030284012)+W(6,1048780036,1039150546,-1109811912,1015808760)+W(7,1063571221,1060600586,-1090564527,-1083053360)+W(8,1035184606,1024997805,-1103353426,-1094902185)+W(9,1034094633,1040353932,-1103105894,1027899359)+W(10,1050639762,1054475004,-1095220995,-1092330682)+W(11,-1149057999,-1123061719,1034806311,-1106486660);sum2=W(0,-1122580470,-1114547761,-1120466254,1014853092)+W(1,1047459793,1047680543,1038991680,-1120994367)+W(2,-1132455031,1011283964,1054395623,1064875701)+W(3,1030745116,-1119656010,-1117512854,1027909890)+W(4,-1098401240,-1121088174,1041066172,1034511499)+W(5,-1108441710,1018552602,-1085223893,1045153300)+W(6,1035574738,-1120221385,-1110873488,1026011110)+W(7,1045982327,1024310650,1024235728,-1109149586)+W(8,-1106692167,1026658994,-1099510820,-1084582209)+W(9,1020780404,-1122615179,-1115497806,1036041188)+W(10,-1122000913,1042402937,1020521688,-1112980367)+W(11,1023023932,1004613671,-1105747852,1029465320);WS(-1095915991,979918868); +sum1=W(0,1032823819,1037523161,-1137886897,-1115463727)+W(1,-1119898332,1035412665,-1131549790,1026707497)+W(2,-1121143952,-1129452238,-1108324895,1026568544)+W(3,1029800132,1043477300,1011860489,1011021190)+W(4,-1136100063,-1112838682,-1100874368,-1108429845)+W(5,-1120493188,-1147670274,1047390560,-1138504034)+W(6,-1105888052,-1114264129,1007409140,-1129491953)+W(7,-1098267600,-1097768883,1049886943,1047336484)+W(8,1028096953,-1134502280,1037432366,1036689246)+W(9,1021218335,1030459197,-1122228982,-1124741815)+W(10,-1106237874,-1108915952,1038061098,1042964547)+W(11,-1157333673,-1177453050,-1121991146,996441389);sum2=W(0,1020062213,-1143339877,-1128394666,-1121902268)+W(1,-1096503308,1052764693,-1111450467,1034601005)+W(2,-1108630019,-1130142915,-1099720262,1050858947)+W(3,-1102502778,1034423857,-1114856664,1039974898)+W(4,-1095299550,1060522961,-1093114037,1034366199)+W(5,-1105816149,1037139152,-1087523263,1055940597)+W(6,1030950002,1038088024,-1115163450,1032116923)+W(7,1057088106,-1104371255,1036157347,1027196884)+W(8,1054601799,1043807995,-1107617878,-1085850393)+W(9,1036537682,1019282123,-1128925353,-1112859101)+W(10,1031719642,-1110891365,1032717961,-1130356560)+W(11,-1122652165,1025497552,1017512699,-1119144319);WS(1066530838,1025703389); +sum1=W(0,-1132051981,-1139418709,1009297086,-1120765920)+W(1,1042371592,-1118415861,1032587897,-1129191897)+W(2,-1116932051,-1134432681,-1122811552,1007708012)+W(3,-1109474502,-1098776251,1015487755,-1122351141)+W(4,-1120712699,-1099055070,1049522345,1057153612)+W(5,-1127344014,1026629028,-1099127683,-1105657359)+W(6,-1109199593,-1123764613,-1127613121,1015844344)+W(7,1049700744,1050593755,-1109817213,1041525985)+W(8,-1119906716,-1136900213,-1113004743,-1111888320)+W(9,-1121408403,-1145136640,-1124468594,-1133586812)+W(10,1036084166,1038803505,-1107128582,1010121533)+W(11,-1118848634,-1123829719,1036904923,984437698);sum2=W(0,1041261247,-1107749198,1039120940,-1117430114)+W(1,-1126022952,1041137317,-1097831330,1033806419)+W(2,-1125967712,-1116954634,-1127685702,-1155381873)+W(3,-1099018179,-1131506304,1026507473,-1106133189)+W(4,1057416214,-1092069746,1045711847,1064523288)+W(5,1032736142,-1120045450,1026250214,-1099691831)+W(6,-1123617030,-1123190888,-1142215401,1031550625)+W(7,1059767697,-1088761837,1052831473,-1088977338)+W(8,1021746164,1028302350,-1118397760,-1098651966)+W(9,-1112954810,-1137414048,-1139250704,1026312489)+W(10,1033531722,-1110686692,-1122137188,-1133526188)+W(11,990513889,-1115066264,1029280576,-1130823120);WS(1066680246,1040921440); +sum1=W(0,-1110280861,1011417444,1034101258,-1119730500)+W(1,1053565584,1054599907,1031601302,-1092083138)+W(2,1029997623,-1113777127,-1143895330,-1110918026)+W(3,1027753539,1038200908,-1104735450,-1132236433)+W(4,1058261942,1061430978,-1078665075,-1090607216)+W(5,1039976245,-1112447940,-1099071584,-1111808624)+W(6,1035268043,-1121734057,-1111591250,1035235184)+W(7,1061610294,1056142824,-1093429316,-1096046953)+W(8,1023744576,-1145165385,-1105323662,-1106320677)+W(9,1032771355,-1126371080,-1121802685,1024518355)+W(10,1053165350,1055282545,-1102572591,-1094352558)+W(11,-1113453535,1031263347,1035738553,-1138833863);sum2=W(0,1028210443,-1130739278,-1129082210,1033717276)+W(1,-1119519632,1026401017,-1085374293,1046091050)+W(2,-1117678961,1042909501,-1110182528,1050909876)+W(3,-1117565460,-1113906791,1053521042,-1111396517)+W(4,-1106338078,1066908993,1062822204,1033058760)+W(5,-1099518378,1044082334,-1081393742,-1149282827)+W(6,-1106119849,1044690885,1041638909,-1096499765)+W(7,1034907371,1054286387,1003636411,-1089123399)+W(8,-1097984366,1040282994,1035142168,-1094008056)+W(9,1000486481,1015998178,-1143837439,-1115028859)+W(10,-1096894542,1041460877,-1103883056,1048601259)+W(11,-1109925208,1021313035,1028271260,1020535023);WS(-1111691100,-1070453585); +sum1=W(0,1032181048,1006352113,-1107702492,1040350706)+W(1,-1090063653,-1111618639,1056547603,1054597571)+W(2,-1114266718,1034245578,1011306277,-1105977411)+W(3,-1101176752,-1098104500,-1103582444,1045915011)+W(4,-1087007388,-1079908657,1062411659,1059824936)+W(5,-1130610528,-1111998342,-1113612402,1037450066)+W(6,-1111995209,-1105752467,1030081641,1036820082)+W(7,-1098160558,-1094958736,1042786985,1062112057)+W(8,1021846218,1026051990,-1108376090,1043358554)+W(9,-1111976126,1025879721,1034445457,-1112926972)+W(10,-1104521261,-1107753094,1058122296,1050598527)+W(11,1032139296,1018599200,-1098378691,1024420791);sum2=W(0,1044690091,-1117083441,1045283790,-1102183736)+W(1,-1103679886,-1096666126,1036724432,1025447267)+W(2,-1120655593,-1109094473,1043810354,1034791609)+W(3,-1109435037,1005932683,1029589699,-1099060082)+W(4,935783211,1061824774,1066859805,-1100626978)+W(5,1029730663,1023292171,1034749891,-1097803022)+W(6,-1109954065,-1130369043,-1146696619,-1103326288)+W(7,-1098480165,-1113161303,1024539831,-1114206859)+W(8,-1109570093,1012313206,1050252440,-1094988176)+W(9,-1115538567,1039027144,-1106785078,-1123727405)+W(10,-1109149493,-1129688427,1040901138,-1123732285)+W(11,-1106431920,1015686163,-1105144948,1029732207);WS(-1105638574,-1077878805); +sum1=W(0,1043313362,1041884710,1025565072,-1112101313)+W(1,1034529536,1043314021,-1093904634,-1104398291)+W(2,1017824488,1028280843,-1106696920,-1120033234)+W(3,1045058176,-1099609869,1034991091,-1118212870)+W(4,1058479092,1049084915,1055637093,-1086702118)+W(5,1038132788,-1136921361,-1126325576,-1128822905)+W(6,-1100255017,-1097107341,1033034081,1037618766)+W(7,-1082434966,-1087005060,1053455331,1061981800)+W(8,-1125947450,-1124008918,1046293466,1050170340)+W(9,-1104696333,-1128917761,-1143864013,1023523536)+W(10,-1098585534,-1105402705,1037339676,1048950646)+W(11,-1126565485,-1114937252,1032623999,1042248226);sum2=W(0,-1125419559,-1103788280,1042032808,1040832216)+W(1,-1076839498,-1091833274,1045241846,-1166596642)+W(2,1038631745,1037000995,-1105795498,-1085872442)+W(3,1043848052,-1099123277,1029252447,1039550307)+W(4,1035730071,1070654393,1068949095,1051795538)+W(5,-1115278352,-1103746979,1007431650,-1094587067)+W(6,1047689572,-1102650535,-1111709033,1040592387)+W(7,-1096947569,1050259859,-1111700665,-1094163017)+W(8,1041143367,1025070825,1041510738,-1089767553)+W(9,-1105352144,1033340873,-1091595987,1050208698)+W(10,1051072204,1048679723,1027304955,-1117027793)+W(11,-1116523862,-1093749689,1057584085,-1100476212);WS(-1095944791,1081861902); +sum1=W(0,1034635115,-1122706061,-1116664839,-1129669743)+W(1,-1090131839,-1093164666,1048908041,1057433596)+W(2,1008560041,1023557506,1030509816,-1120322428)+W(3,1033259121,-1124251544,-1121494877,-1148272609)+W(4,-1087001587,-1083481847,1058746094,1058166921)+W(5,1013701241,-1117995899,1044900399,1035303897)+W(6,-1126517523,-1128061368,1028329496,-1115602986)+W(7,-1085306808,-1091485686,1057488289,1055593874)+W(8,-1116643091,1023656437,1023593721,1041073282)+W(9,-1130313237,-1119991479,1027525168,-1123378150)+W(10,-1102755929,-1105495231,1061071735,1049860117)+W(11,-1164007844,1024551167,-1102595129,1034451003);sum2=W(0,999172620,-1099435099,-1115575058,1029670841)+W(1,-1105031588,-1120449287,1041110640,1042251423)+W(2,1026093121,-1156632055,1035596553,1027957701)+W(3,-1139359478,1027943101,-1101600217,1042858197)+W(4,1010020318,-1109667225,1075961547,1058527193)+W(5,-1126960339,1010028142,1011086126,1019832195)+W(6,1048715384,-1098854617,1035438169,-1117748556)+W(7,1057314889,1037113027,-1086643829,1073424302)+W(8,1037810339,-1115077778,975610078,1033526397)+W(9,1036336651,1041563473,1032334939,-1114535210)+W(10,-1123725073,-1100548924,-1067239867,-1080060710)+W(11,-1133987070,1036754195,-1095465488,1012557694);WS(-1085172076,1069147958); +sum1=W(0,1027233863,-1106615031,-1141293989,1025703205)+W(1,1029190628,-1106775167,1042354526,1026640114)+W(2,-1139375968,1028377583,-1115892869,-1111659152)+W(3,-1115436126,-1112858253,-1119005195,1041286826)+W(4,-1106293072,-1089581852,1054852793,1053740861)+W(5,-1156734143,-1121669673,1027435128,1035182992)+W(6,1042609938,-1122683754,-1117134469,1026450561)+W(7,-1098775605,-1108063055,1026745790,-1119314307)+W(8,1034668065,-1119291218,1038436612,-1137028117)+W(9,1044686038,-1117169125,1025414366,-1120895076)+W(10,1015550627,-1125318352,1023400633,-1108709290)+W(11,1027259179,-1118201212,1031194923,-1112739478);sum2=W(0,1027039233,-1115032564,1004660066,-1154464437)+W(1,-1117609897,1033488023,1041471507,1008089899)+W(2,1027401421,-1112728150,1033628240,-1118717800)+W(3,-1147080182,975139636,1016373458,1011666487)+W(4,1082321679,-1065846603,-1081313755,1053281755)+W(5,1012824907,-1108305112,1050032460,1046901100)+W(6,1025013868,-1117310194,1027534293,-1117096132)+W(7,-1122974098,-1130639872,1040077608,-1118862913)+W(8,1038621352,-1137500513,-1137731251,-1106934499)+W(9,1025607183,-1145025250,1024315262,-1118720211)+W(10,-1143672974,-1114202318,993302909,-1134922624)+W(11,-1129758225,1025570630,1017914834,-1177023016);WS(1065820150,-1112682631); +sum1=W(0,-1140735040,1045425461,-1136938293,-1105640672)+W(1,1051064512,1046810501,-1095619178,-1096706537)+W(2,-1128129890,-1108472292,1041816072,-1114855500)+W(3,1012508339,1052020966,-1099447769,1007936778)+W(4,1057299292,1054321083,-1083835034,-1101065539)+W(5,1036938130,-1101761488,1049485320,1015987827)+W(6,-1110876672,1038536521,-1110772895,1033964109)+W(7,1044289505,1042038046,-1101414038,-1127256032)+W(8,1035708141,-1113134674,1031650401,-1106506396)+W(9,1034428376,1041035251,948858222,-1107676126)+W(10,1050440565,-1126355329,-1104437005,-1102412811)+W(11,1031811610,-1119496853,1044647659,-1098866309);sum2=W(0,-1104060794,1047714485,1033662400,-1116689599)+W(1,1047625619,-1113896185,-1101000300,1023887631)+W(2,1032108768,-1114038586,1049921725,-1104647113)+W(3,-1106889746,1055059659,-1113832562,-1110264521)+W(4,1058674488,-1105663288,1047334183,-1123902349)+W(5,-1134500667,-1105023935,1060005487,-1100964722)+W(6,-1089308922,1027816870,1024644211,1034493072)+W(7,-1079751447,1040502911,-1145174230,1060541265)+W(8,1046968990,-1116742649,1026206299,-1088726381)+W(9,1032487381,1043118546,1030330543,-1105470304)+W(10,1059286709,-1110882655,-1100795602,-1099777158)+W(11,1042150309,-1127164330,1033716355,-1093081927);WS(1051219671,1032040132); +sum1=W(0,-1110293770,-1111062337,1029213629,1024246061)+W(1,1035978230,1041701281,-1104763504,-1098745559)+W(2,-1111943280,1016965359,-1106571859,1050231066)+W(3,1026027124,1035026513,1007533386,-1142580623)+W(4,1051781481,1065410260,-1082429923,-1097349705)+W(5,1026054164,1035026168,-1111350032,1040668770)+W(6,1036422600,1011246152,1016678619,-1132388626)+W(7,1060856625,1057796630,-1095610025,-1083869189)+W(8,987392292,1019565189,-1122887388,-1113287631)+W(9,-1173422083,-1130424090,1023830470,998523489)+W(10,1045145830,1055180598,-1094623957,-1095350964)+W(11,-1110518465,1026555204,1007169387,-1109374678);sum2=W(0,-1131096266,-1121050215,1024186334,-1123481859)+W(1,1040776673,-1129271163,1040345453,-1107023625)+W(2,1074128739,1066657253,-1080765061,-1073406322)+W(3,1023491721,-1115413373,-1136581772,-1181265672)+W(4,1044851152,-1097567007,-1116173932,-1110082893)+W(5,1068015119,1066670217,-1085034176,-1077100552)+W(6,1036272276,-1110187157,-1130526339,1007273042)+W(7,1051516690,-1106625929,1028205855,1041634800)+W(8,-1111857710,1026394385,1019889879,-1104398720)+W(9,-1123342647,-1125507188,1035801320,-1134191606)+W(10,1035231370,1007786534,-1124495703,1036476425)+W(11,990445793,1030299973,-1105128420,-1115096299);WS(-1124324720,1038677119); +sum1=W(0,1038389179,993181316,1031967089,1008341069)+W(1,-1081451931,-1096246661,1050863173,1056361124)+W(2,-1130646284,-1134539381,1035916906,1047683325)+W(3,-1145165264,991007864,1037528348,1023486232)+W(4,-1086637900,-1088130503,1063082151,1054230472)+W(5,986748732,1003368116,1026128198,1027831167)+W(6,1024190949,1044031254,1029849459,-1122921519)+W(7,-1092787999,-1099337955,1049660054,1050043692)+W(8,-1115252008,1036720064,1025351359,1020947750)+W(9,-1123515526,1052524910,1035528454,-1114006089)+W(10,-1095996120,-1102904005,-1097977265,1043779649)+W(11,-1116396881,1029521402,-1114005272,1037985981);sum2=W(0,-1089098687,-1098025067,-1133163156,1042203848)+W(1,1068788369,-1096461215,1052777785,1035967917)+W(2,1025788011,-1111191248,-1097973178,-1095505730)+W(3,1036383110,1058285406,1027923803,-1108707706)+W(4,-1090569807,-1088764217,1046924897,1043356562)+W(5,1023876171,1046203397,1056967609,-1127034898)+W(6,1062333205,1048839159,1043843260,-1098359820)+W(7,-1095261121,-1098396864,-1088408400,-1080913711)+W(8,-1107189985,-1113219498,1046078649,1040836988)+W(9,1058743586,-1078465930,1023965418,1021888231)+W(10,-1093746709,1064748817,1067915456,-1097507024)+W(11,-1110869404,1040158004,-1099047850,-1111389506);WS(-1080347734,-1094728165); +sum1=W(0,1036436624,1031912915,-1128052610,-1115633753)+W(1,1018734050,-1104173746,-1104119121,-1113632799)+W(2,1022550473,-1128796792,-1115038313,-1104273977)+W(3,1038598142,-1114408211,1027254679,996364134)+W(4,1042956529,1051156401,1064358521,-1095896866)+W(5,1027191321,-1123707765,1006576423,-1098511458)+W(6,-1097652239,-1109729611,-1125749028,1027401421)+W(7,-1087880029,-1093838037,1051089073,1061684826)+W(8,-1125317723,-1116369959,1039011098,1037804713)+W(9,-1111208674,-1118442418,1017291157,-1143663749)+W(10,-1100689848,-1104163629,1048577269,1044518984)+W(11,-1130384675,-1113863292,-1145301883,-1157246715);sum2=W(0,1000810292,1017087401,1008161562,-1137561210)+W(1,-1098257975,-1088410023,-1143663956,-1109671087)+W(2,1010643898,-1122425914,1033424863,-1113334223)+W(3,-1104015266,1045940061,1032804591,-1138249722)+W(4,-1110483119,1065774501,1064636422,-1100429296)+W(5,-1120544050,1015219657,1041401738,-1113376685)+W(6,-1112933693,1040845572,-1149548391,-1118405314)+W(7,-1111449957,-1114533177,-1095622064,1041071232)+W(8,1028103016,-1125778629,1041680128,-1107119710)+W(9,-1131915309,-1125770861,-1121723310,-1140666666)+W(10,-1105461804,-1154727079,-1156294183,-1113635957)+W(11,-1127495397,-1128411685,-1143304660,-1114424843);WS(1062796012,-1081433938); +sum1=W(0,1047697940,-1137205890,1019305782,-1140258862)+W(1,-1090901033,-1095124244,1051824452,1041493798)+W(2,1008978681,1031420374,1034552166,1032453887)+W(3,1040574503,-1131514496,-1128637410,1017521696)+W(4,-1090555023,-1084025976,1061551411,1048941321)+W(5,-1124609380,1025475023,1036871279,1032035723)+W(6,-1115750349,-1114177400,-1140240046,1030042599)+W(7,-1089279069,-1089170928,1056942277,1058760695)+W(8,1016399695,1024887097,1032547975,1041251643)+W(9,-1119424318,1025144619,1027083972,1023786378)+W(10,-1099538126,-1087239225,1056967544,1045023263)+W(11,1002611913,1012109898,1027338481,-1117686145);sum2=W(0,1036867068,-1112484311,1009005547,1004838046)+W(1,-1120560082,1019969949,-1113333873,1023348885)+W(2,1025411331,-1123665230,-1115333043,1032448279)+W(3,1034701810,-1131856601,-1121204348,1023830295)+W(4,-1089366478,-1067115412,-1084820204,-1115269491)+W(5,1024216939,1034346460,-1132671203,1028612787)+W(6,1008859907,-1129570235,-1145957446,1026709605)+W(7,-1071017431,1066362408,1052224270,-1095888786)+W(8,-1116027280,-1133553563,1045423025,-1112864526)+W(9,-1120209470,1023686531,-1122812157,1024434367)+W(10,1084005284,1063525936,1047863595,1043852487)+W(11,1032270816,-1105823812,1043035962,1025066805);WS(-1103681710,-1114530079); +sum1=W(0,-1130912909,-1104283663,1029506744,1025861737)+W(1,1040844938,1046218351,-1117715067,-1110124091)+W(2,1021540535,1032871129,-1121870249,-1105267215)+W(3,-1132593150,-1102933559,1035998951,1032236919)+W(4,-1098764800,1059317136,-1097542514,1039686571)+W(5,-1120294159,1036773558,-1096018272,1038793978)+W(6,1040041573,992747222,1007410083,-1111043394)+W(7,1057765873,1054923388,-1112367617,-1088677703)+W(8,-1111111618,1031187710,-1101946581,-1105386706)+W(9,1034020670,-1119406504,-1123346113,-1126534927)+W(10,1029185429,1040434219,1035634224,-1105036246)+W(11,-1138057273,1023823648,-1143951794,-1122605111);sum2=W(0,1041378526,1025611699,-1114357788,-1133865733)+W(1,1040042063,-1102827642,1041852494,-1102114760)+W(2,-1111718847,-1109687464,1023561916,1036263014)+W(3,1057780422,-1134317911,-1094909862,-1113774565)+W(4,1041105879,-1094128428,1058263821,-1090351620)+W(5,1041802453,-1106696300,1049906607,-1107817782)+W(6,-1084534604,-1105040821,1048238594,1041934157)+W(7,-1121888905,1038597269,-1114163954,1059786982)+W(8,1023851848,1032032810,1034361268,-1106476521)+W(9,-1096429323,-1128928913,1042608690,1041091101)+W(10,-1139774900,1035391793,-1102786592,1034035361)+W(11,-1111010993,1031652841,1014428216,1016844568);WS(1059372396,-1131086843); +sum1=W(0,1038224730,-1110641250,-1133338231,-1116770958)+W(1,1033085351,-1100693257,1044958408,-1145642197)+W(2,-1129272066,1026076824,1030339791,-1114157744)+W(3,1048611339,1026922691,-1142676381,-1109423369)+W(4,1024247225,-1085100606,1059821143,1054215533)+W(5,-1113286331,-1126911267,1039898225,-1106016522)+W(6,1012241985,1033593306,1016864285,-1119417706)+W(7,-1082741615,-1105005730,-1109435540,1063416476)+W(8,-1119319754,-1131274519,-1157274234,1046979692)+W(9,-1108924145,1029871326,1026073927,-1134266292)+W(10,-1096553463,-1091104802,1046037553,1051611888)+W(11,1018258200,-1118999381,1022970360,1033932042);sum2=W(0,1032542252,-1105983103,-1126294727,-1117639690)+W(1,-1106428174,-1090074420,1053585046,1049036492)+W(2,-1124515281,1042350020,-1101677356,-1100598545)+W(3,-1105990346,-1101410582,996342293,-1135696947)+W(4,1074893281,-1121077701,-1084067012,1063294224)+W(5,-1128187082,-1118105649,1052666358,-1088449090)+W(6,1031145839,1029472991,-1120264553,1025603183)+W(7,-1079475296,1059480413,-1090564487,1030876063)+W(8,1033189178,1012743453,-1099961793,1049420880)+W(9,-1125334020,1016716795,1029227505,1034416033)+W(10,-1099339963,-1097572114,-1103677712,1047874805)+W(11,1016211057,1026065323,-1106211131,1047783255);WS(998487488,1024735998); +sum1=W(0,-1096711418,1049342972,1033987197,1034787125)+W(1,1058035879,1055719968,-1089249828,-1093645783)+W(2,1020339515,1037116250,1033680357,-1113381667)+W(3,-1099717199,1051641300,-1138173503,-1118966639)+W(4,1060189357,1061848612,-1083720757,-1085775960)+W(5,-1109989161,1046511483,-1102783527,-1108537011)+W(6,1049184050,1032130968,-1112157509,1022076300)+W(7,1062875388,1007190411,-1087092580,-1086133195)+W(8,1032957443,1011591327,-1110331987,-1129404117)+W(9,1048086279,1039987293,-1125240838,1034213589)+W(10,1051240059,1039984791,-1087792286,-1098046771)+W(11,1039628088,-1135236550,1051616838,1030325168);sum2=W(0,1048277958,1048804575,1041063142,1001577162)+W(1,-1079852425,-1095199392,1061039504,-1094388043)+W(2,1040994203,1035580564,1054780006,1055450674)+W(3,1037383696,1042988518,1039747614,-1112011211)+W(4,-1077655189,-1103423898,-1084834029,1055288082)+W(5,-1111912036,-1100510960,1071463850,1058201467)+W(6,-1097597287,-1099442373,-1105672858,-1137882877)+W(7,1064308251,1065240337,1044806256,-1087507005)+W(8,-1097442490,-1090250140,-1080251704,1058560116)+W(9,-1108394523,-1155656404,-1108158369,1031849538)+W(10,1071708239,1061107030,1059993792,-1093629181)+W(11,1028605291,-1106111844,-1073879137,-1090257183);WS(-1077135094,1050907162); +sum1=W(0,-1117094275,1033699545,-1127648729,-1132921461)+W(1,1043699095,1055483630,-1094355462,-1098008869)+W(2,-1122422352,1034045812,1042990903,-1112620946)+W(3,1030394994,1045491604,-1118007170,-1124984131)+W(4,1053279460,1065160347,-1081313730,-1089194394)+W(5,1011377167,1042128328,-1121246728,1047326318)+W(6,1039295895,1040542752,-1126452986,-1117294457)+W(7,1056280352,1058021117,-1094044967,-1088142214)+W(8,-1103632934,1039870541,-1106681402,-1110840279)+W(9,1018438944,1035722382,-1119126518,-1124706520)+W(10,1041063570,1050783700,-1094059515,-1098093746)+W(11,-1109127577,1037083890,1018820533,-1128181366);sum2=W(0,-1110495495,1032075003,1029225785,1003021837)+W(1,-1116948709,1041772340,993748010,1016902499)+W(2,-1113320609,1042534143,-1097222635,1029108513)+W(3,-1122423961,1043723635,1023947681,-1123823650)+W(4,1083263801,1074788880,-1096435650,1028513681)+W(5,1039031010,-1104645285,-1074844879,-1063916786)+W(6,-1138212418,1017994477,1024608678,-1119691195)+W(7,1038793960,1017310535,-1119557273,-1120166015)+W(8,-1124877446,-1131419477,1021770517,-1115182489)+W(9,-1115371525,1002413729,1034042378,-1125446899)+W(10,1032034162,-1118011761,-1115060009,1032720188)+W(11,-1119401015,999290841,1027576529,1014563122);WS(1048452526,1015184705); +sum1=W(0,-1110581160,1049910352,1032256237,-1138645804)+W(1,1048623137,1036222192,-1113826958,-1106270342)+W(2,-1113210911,1029873877,1042522323,1006760678)+W(3,-1103860667,-1098570768,1026512560,-1114005032)+W(4,1057099626,1061337654,-1087095027,-1097372109)+W(5,-1111141177,1024448974,-1106501979,-1101854594)+W(6,-1119844941,1040825100,-1131077462,-1140244890)+W(7,1054485156,1049129464,-1095439444,-1095003728)+W(8,-1125584845,-1111469876,1027903818,-1115808507)+W(9,1017183931,-1119780203,-1122466948,1024452554)+W(10,1044366494,1040163591,-1106181921,-1128526324)+W(11,1027351533,-1117633442,1034550428,-1153767820);sum2=W(0,1034706164,-1114697961,1002437005,-1117856953)+W(1,-1115089108,1009230224,1016679180,999139177)+W(2,1017499348,-1131336757,1019562884,970725323)+W(3,-1110151254,-1078943314,1023823647,-1122373390)+W(4,1007700984,-1105149666,1069645782,1034965747)+W(5,1031482891,-1120925641,1038179083,-1131774725)+W(6,-1111296752,1008147760,-1119824143,-1131092262)+W(7,1033262730,-1142960238,1005900489,1026082346)+W(8,1015408436,1001625665,-1130072184,1014219446)+W(9,1015792571,1029244251,-1118651901,-1129026789)+W(10,1015281188,1026230788,-1121319377,-1134452913)+W(11,-1137039581,1019807852,-1122304449,1012295392);WS(1061396972,-1097419696); +sum1=W(0,-1110826049,1042368898,-1116833412,1040610541)+W(1,-1108888122,1058527541,1000165941,-1087862644)+W(2,-1117156776,-1135746300,-1102910221,1051684947)+W(3,-1113808270,1036447253,-1126977972,1015657075)+W(4,1056284429,1053927177,-1085843362,-1108964145)+W(5,1026275932,1041042462,-1107922836,1041698836)+W(6,1043284110,1048078310,-1125945514,1033993320)+W(7,1062174380,1055390198,-1086794197,-1088558114)+W(8,-1137078595,1035139905,-1112253878,991752527)+W(9,1028739112,1052576556,-1120964750,1028019732)+W(10,1042115560,1051035743,-1079810761,-1087573386)+W(11,-1118906322,1038370422,1047360574,1039363202);sum2=W(0,-1103350409,1024254038,-1117475550,-1104315228)+W(1,1062539510,-1112967686,-1091235931,-1094844926)+W(2,1014020953,-1119186298,1042482062,-1096027281)+W(3,-1116633366,1042486592,-1096755788,1019617669)+W(4,1056743222,1052266072,-1104902685,-1089312569)+W(5,1028745390,-1093268483,1051055108,-1129394013)+W(6,1038440719,-1097184876,-1097959989,1043056626)+W(7,1037341407,1012499609,-1101957876,1045881224)+W(8,1054988226,-1102938164,-1101861122,1044017054)+W(9,-1107570984,-1092525975,-1121707278,1038305467)+W(10,1048266302,-1099676541,1058872796,1058820589)+W(11,1026503526,-1135013257,1041661910,-1105903455);WS(-1084431788,-1073850193); +sum1=W(0,-1130755883,-1119027356,1023326765,-1121456839)+W(1,1035028387,1052115068,-1113039213,-1131651239)+W(2,-1139076328,-1110649673,1031790055,1035837265)+W(3,1007276024,1032958718,-1131954777,-1111055334)+W(4,-1087869490,1031197854,-1121014635,1041028837)+W(5,-1126605404,1037205893,-1151139494,1043959725)+W(6,1051511197,1038479638,-1115233108,-1127100870)+W(7,1064028192,1046762496,-1101242168,-1080291009)+W(8,1022476742,1029406204,1016490449,-1097929447)+W(9,1033362061,-1118671783,-1113154576,1032290155)+W(10,1048797598,1048241682,-1109590335,-1095204295)+W(11,-1117985767,1016018525,1033898418,974160200);sum2=W(0,1035912472,1026239811,1027199947,975878233)+W(1,-1098777501,-1120465270,-1101163205,1033266404)+W(2,1024165887,-1114558090,1047867282,-1115369638)+W(3,-1109490583,-1099491895,1011577542,1032202892)+W(4,1026269275,1058060839,1052721602,-1092678923)+W(5,-1127793863,-1110013405,1026065727,1048647954)+W(6,1027909011,-1142596491,-1126785583,989447596)+W(7,1022663675,-1109244590,1042994318,-1115079323)+W(8,-1115589183,1028177183,-1139333782,-1107120056)+W(9,1032601180,1030066347,1027448187,-1112180928)+W(10,-1139999774,-1113199846,999387083,-1117880304)+W(11,-1119188249,1010561254,-1128307819,-1113232790);WS(1060891500,1063998119); +sum1=W(0,1034817251,-1123888698,1021371624,1009319059)+W(1,-1082111981,-1089953728,1050963407,1060685055)+W(2,1021753903,-1158245846,1042831681,-1146641530)+W(3,1007070174,1031377177,1034805925,1020060242)+W(4,-1083685732,-1080402290,1058492133,1059880676)+W(5,1024323659,974645755,1049293617,1044491976)+W(6,1035958587,1040845210,1029917861,-1119463744)+W(7,-1087669949,-1092052092,1045390927,1057972187)+W(8,1017781825,1029410098,1030870792,1044279073)+W(9,-1119265271,1041595485,1028919037,1022228167)+W(10,-1101265316,-1093474029,1042995863,1050698442)+W(11,1009963113,1033823734,-1117179330,1040824939);sum2=W(0,1031085111,-1103588836,1039685669,1043252027)+W(1,1015926083,1047286193,-1136546874,-1089976691)+W(2,-1090475122,1041438201,1055918010,1075090314)+W(3,-1094345084,-1097680472,1043798699,1021402919)+W(4,1049855126,-1093227067,1053086422,-1106220008)+W(5,-1097421747,1055157984,-1086978538,-1100279282)+W(6,-1098140010,-1117022930,-1107286980,-1106121381)+W(7,1030378489,1047431201,1053158416,1041831351)+W(8,1047503463,1040447738,-1090494906,-1081018505)+W(9,-1111854401,-1165267820,-1105216890,-1116219530)+W(10,-1088912308,1047204695,1065796563,1043898913)+W(11,1013873926,1060337257,-1076607098,1049023531);WS(-1071907259,-1110912590); +sum1=W(0,1047025832,1037187527,-1128862543,-1125193009)+W(1,1060301769,1051495910,-1091004805,-1082520498)+W(2,1027334603,1007930762,999732421,1034040338)+W(3,1045585380,1046461539,1030754750,-1134196340)+W(4,1059488668,1059029683,-1081098270,-1082717575)+W(5,1012148988,-1153534395,1039737374,1034460834)+W(6,1034859053,1044478211,1035978988,-1115532794)+W(7,1058265227,1047385124,-1094770022,-1085641231)+W(8,1008981841,-1141674924,1035505465,1026869576)+W(9,1038023446,-1115297724,1030566929,-1122396199)+W(10,1051401113,1030610907,-1096364930,-1100806498)+W(11,-1131397284,1004145403,1049444580,-1108119003);sum2=W(0,1071341959,1041114835,1046265071,-1094095783)+W(1,-1079612356,-1090342602,-1087794787,-1106266089)+W(2,1053270877,-1103321092,-1119797941,-1096220802)+W(3,-1093757522,-1096593198,1052972269,-1105766507)+W(4,-1097206613,1072329002,1065807667,1036032273)+W(5,1044676561,-1113258696,-1091841958,-1100480279)+W(6,-1091593516,-1091154406,1048411623,-1118583019)+W(7,1052074546,1035089459,-1098744738,-1120668367)+W(8,1022355226,-1099949977,1049018868,-1107977625)+W(9,1057911473,-1073590228,1063609884,-1102184915)+W(10,1053464489,1066861510,1041493985,-1101075731)+W(11,1048742227,-1096064815,-1098841365,-1101117382);WS(-1073583387,-1097642521); +sum1=W(0,1040986278,1018743169,1025630043,-1113793830)+W(1,1026212810,-1107655120,1051202676,-1123577624)+W(2,-1117606078,1026666645,1015332695,1031641306)+W(3,1043520539,-1126196031,-1113970392,999171711)+W(4,1058537807,-1102760649,-1137921726,-1085714085)+W(5,999394704,-1098706922,1042214156,-1102186706)+W(6,-1117788829,1023908016,-1126372055,1041107242)+W(7,-1084066799,1038867522,-1120709796,1058609607)+W(8,1028174279,-1105230460,-1104026556,1050734989)+W(9,999617264,997975216,-1141619744,1019259188)+W(10,-1105494638,-1113662887,1048163249,1049515695)+W(11,-1131430066,-1117999154,-1118473257,1038371877);sum2=W(0,-1114187457,1035498840,-1122047285,1020465344)+W(1,-1108558660,990338200,-1112200610,1042661620)+W(2,1024517966,-1114108748,1037081003,1022323488)+W(3,990134284,-1105572872,1029560286,-1132946638)+W(4,-1098817485,1046181371,1053825241,1050532943)+W(5,1033071181,1024966834,-1112231866,-1116108394)+W(6,-1125836673,-1107008827,1032274109,-1137208000)+W(7,1052951690,-1099854916,1041934457,1035380426)+W(8,1018142458,-1114933005,-1115059895,-1098433232)+W(9,-1143550666,-1133886920,-1139618609,996568996)+W(10,-1101729420,-1120597401,-1115627477,-1132156656)+W(11,1025004711,-1129654551,-1145950712,-1106305341);WS(1066138518,-1093674260); +sum1=W(0,-1096639483,-1107076945,1016625343,1029114768)+W(1,-1095967018,-1098130813,1046373881,1057895286)+W(2,-1115838467,1036809869,1027610352,1030209323)+W(3,-1097327813,-1112968866,-1135602902,1023256234)+W(4,-1090692519,-1096019117,1048700903,1060592282)+W(5,-1116997111,1034515722,-1147523994,1010824623)+W(6,1039946769,-1145778087,-1126509217,-1154917052)+W(7,1052511498,1050590801,-1102212410,-1102042589)+W(8,1025259308,1031910367,-1106421308,-1107963320)+W(9,1040195377,1035798312,-1120895465,-1119361423)+W(10,1037092318,1054517602,-1096085673,-1110743776)+W(11,1015369596,1032370884,-1103975991,-1114290095);sum2=W(0,-1098235374,-1129289080,1026207298,1020680083)+W(1,1039185699,1041518935,1000882372,1040052819)+W(2,999965284,1025606660,-1108930987,-1105651771)+W(3,1035819795,1034843888,1034412140,-1114338038)+W(4,1060121453,-1098039050,-1096717996,-1104532064)+W(5,-1127194998,-1123799241,1059664416,-1132043948)+W(6,1030579314,1031435954,-1132183796,-1119552802)+W(7,-1085068698,-1105751584,-1126927262,1025849568)+W(8,1020099573,-1130436386,-1108966794,1064006582)+W(9,-1118921036,-1110299389,1026463590,1014438782)+W(10,1039772175,1060018227,1043556407,1034356940)+W(11,1040432622,-1098649260,-1083675102,-1090790505);WS(-1098394199,1021768394); +sum1=W(0,1047476460,-1106379994,1030592418,-1106976773)+W(1,-1107202165,-1121922344,1042879449,1035645360)+W(2,1008308247,-1140215924,986778214,-1121988294)+W(3,1041629170,-1108680996,1031813276,-1109895628)+W(4,-1091385002,-1090269731,1053022447,1052123789)+W(5,-1120193402,-1127396653,1042227034,1042582852)+W(6,1028771909,-1123109432,-1124672038,-1114022359)+W(7,-1107044710,-1127679127,1044862779,-1107385030)+W(8,973525940,-1139398721,-1115617842,1044112989)+W(9,1035760915,1039049769,-1118216524,980431986)+W(10,-1107740288,-1099192133,1040198899,1023833154)+W(11,1014367554,-1116507498,1025832513,1030134009);sum2=W(0,1055345266,1027898732,968544056,-1098169790)+W(1,1039932359,1036378047,1021773530,-1106123518)+W(2,1012808524,-1132858861,-1123343911,-1111072353)+W(3,1053687424,-1077105818,1056997121,-1162122654)+W(4,1035540057,-1098361429,1068095045,-1089212318)+W(5,1037852727,-1103837325,1044527270,-1111121590)+W(6,1039110353,1037144043,-1112228820,1029158812)+W(7,1000425352,1050038066,-1124556656,-1090252350)+W(8,1036594354,-1134065606,-1114307158,-1115281069)+W(9,1022799116,1042942743,-1112296199,1026696161)+W(10,-1118055459,1040445489,-1104975561,-1130232224)+W(11,1032061348,-1114916168,1023167430,-1116705210);WS(1064984812,1025677564); +sum1=W(0,-1096329284,1033742216,1030924649,1043884023)+W(1,1057726586,1046959260,-1103101243,-1084712758)+W(2,1012739123,-1131015624,1018532660,1043356655)+W(3,-1101734196,-1105624932,1036152448,1038396303)+W(4,1057188432,1061206275,-1086845720,-1087209573)+W(5,1002161670,1044816791,-1114153679,1046520365)+W(6,1017123640,-1108991823,1042241831,1017544939)+W(7,1060371326,1055419738,-1087299343,-1084903475)+W(8,1024962678,1043667629,1028245989,-1111584053)+W(9,1037154774,-1096026219,1047065797,-1121467129)+W(10,1041931586,1055087388,-1087523701,-1108220133)+W(11,-1114955616,1040331724,1051664559,994164350);sum2=W(0,-1104158106,1050222709,-1105699647,1043159502)+W(1,1067096435,-1106627676,-1090385012,-1085409392)+W(2,-1098664617,1050757442,-1102151020,-1090972778)+W(3,1025130152,1032288328,1032147900,1038273264)+W(4,1052171093,1075677902,1061149199,-1106188919)+W(5,1039140273,1030992941,-1070862987,-1086083449)+W(6,-1103450106,-1110143950,-1106879197,1048938986)+W(7,1075039778,1073503496,1049612036,1050752016)+W(8,1040257314,1041175752,-1072257998,-1070168511)+W(9,-1098742781,-1091104362,1049056829,-1128156680)+W(10,1075355126,1082426924,-1095713225,1057886527)+W(11,1030488248,-1098188298,-1070643407,-1070483864);WS(-1072457547,-1104871915); +sum1=W(0,-1138749297,1036550950,1014551830,1018087532)+W(1,983826087,1050222745,-1131367952,-1129333765)+W(2,1007352484,-1123482688,-1118152278,1026100589)+W(3,1001512248,-1098112129,1031881454,-1143311830)+W(4,1055877542,1020808474,1014989673,-1083142279)+W(5,1034580622,-1109491581,1016760626,-1106883828)+W(6,-1104222042,-1104597767,1020957612,1033102921)+W(7,-1086706094,-1096646942,1057969217,1059974718)+W(8,-1122062610,-1114916930,1040528910,1045231050)+W(9,-1125431314,1042534317,1015585054,-1158925470)+W(10,-1105443081,-1106542638,1043242379,1048954301)+W(11,-1147978606,-1122581117,-1120756612,1027306868);sum2=W(0,1034530006,1032795060,-1112539216,-1120473304)+W(1,-1124099243,-1115907580,1009244103,-1151412702)+W(2,-1131120105,1025202928,-1114805763,1026058392)+W(3,1046686841,1054832981,-1099708049,-1132295147)+W(4,1020085733,1033863239,1050403530,1037608248)+W(5,998829429,-1131382687,-1154011810,-1120554932)+W(6,-1109933894,-1089566811,-1106531527,-1120301365)+W(7,-1107650300,1030750625,-1106362502,1051005406)+W(8,1020773937,-1143352615,-1122049677,1036477609)+W(9,1004612697,-1105741108,-1165429700,-1119309605)+W(10,-1130967605,-1146151019,1026755208,-1114169666)+W(11,-1142800679,1016610669,1026996282,1028389062);WS(1057548396,-1118860492); +sum1=W(0,1024521628,1035643506,1015464700,1024314991)+W(1,-1109277847,1033181378,1035362560,1019907062)+W(2,-1127185475,1015346289,1019936830,1042186208)+W(3,1022826491,1044765945,1024068436,1033090170)+W(4,1038789717,-1093016121,-1077384746,-1102305323)+W(5,1015056043,1035221881,1050623422,1047455161)+W(6,1040253828,1032416458,1007695803,1023937802)+W(7,1047039772,1032628147,-1110302756,-1095947197)+W(8,1019339797,1030260028,1012944520,1039235079)+W(9,1031527745,1041535598,-1142835770,1026830221)+W(10,1032291149,1038601945,-1106773417,-1110046895)+W(11,-1124358344,1039118899,1031404576,1025595072);sum2=W(0,-1119520873,1035535229,-1108748842,1028948662)+W(1,-1099276378,-1125068566,-1128105382,1040692087)+W(2,-1108959122,-1105777938,-1119570187,1042585669)+W(3,1034598190,1040844095,-1114955281,1035054379)+W(4,1046560183,1035247795,1058969109,-1105801492)+W(5,1040780747,-1115696651,-1104363062,-1104135640)+W(6,1017632867,1028317650,1033670708,-1123628391)+W(7,1037021603,1041621971,-1098716294,-1140061979)+W(8,-1122498951,1039115990,-1109815486,-1119904127)+W(9,-1152158269,1033306906,1009774019,-1113438145)+W(10,1042440154,1045186907,-1097137530,-1100355456)+W(11,-1102421790,1043903068,-1096381982,1033417138);WS(-1111617372,-1089239798); +sum1=W(0,-1109363280,-1105933140,1043411666,-1120946745)+W(1,-1107333692,1036658471,-1100282243,1036859267)+W(2,1028471724,-1102252305,1046725686,-1131126919)+W(3,-1122482989,-1097138762,1034980559,-1105344783)+W(4,-1096910672,1063625005,1040067055,1033736099)+W(5,1048148056,-1115573502,-1100591479,-1138971218)+W(6,1028445691,1038047807,-1102176538,1035032490)+W(7,1059841631,1050659758,985367106,-1085774908)+W(8,1018704810,1038410359,-1099856795,-1101046354)+W(9,-1104930291,1036625252,-1106084756,1042691462)+W(10,1056206133,1039222942,-1105930796,-1095561837)+W(11,-1104725204,1032806392,1033845467,-1114722211);sum2=W(0,-1102980188,1034775565,-1107914664,1032901751)+W(1,1019096213,-1123759676,-1079544271,-1097455677)+W(2,-1112661460,1048109574,-1101940532,1032175116)+W(3,-1107463876,-1115674720,987500422,1029069579)+W(4,1039965269,1060530292,1066142773,-1107584024)+W(5,-1102645998,1048822254,1036298034,1028816201)+W(6,-1122769714,1028640927,1041931397,-1107918292)+W(7,1039765158,-1133849713,-1110827944,1049477386)+W(8,-1106440053,-1113520406,1041944181,-1100641824)+W(9,-1133982193,-1112107626,1026585516,-1106970712)+W(10,-1110406142,-1129682772,1033119735,1040943686)+W(11,1032469881,-1114426196,1007346649,-1113302080);WS(1055684951,-1075449937); +sum1=W(0,1021145317,1041132226,-1109225282,1025203701)+W(1,1050955910,1048074946,-1098148265,-1089325052)+W(2,1023449767,-1117792831,-1122722677,1044060206)+W(3,1045336591,1048290762,-1102495686,-1105594014)+W(4,1059061644,1063401377,-1085251962,-1089314051)+W(5,1024771419,1034487612,-1135340574,-1138312640)+W(6,1046212734,1033816821,-1131312361,-1115277256)+W(7,1058388246,1057949871,-1089905605,-1086898788)+W(8,-1122363216,1023079171,1012872015,-1108206354)+W(9,1042625602,1032304674,-1119401549,1003392922)+W(10,1049257380,1056447675,-1086086859,-1090587428)+W(11,-1119440554,1029355212,1030899626,1013091209);sum2=W(0,-1075680192,-1078675502,1070915797,1061277558)+W(1,1041412946,1036217426,-1099840736,1064394375)+W(2,1043650757,-1128025338,1041322393,-1097187807)+W(3,-1072669743,-1071891757,1077005703,1077465728)+W(4,1053075748,1035413026,-1110541808,-1080083122)+W(5,-1113957037,1028555409,-1105806062,-1098777830)+W(6,-1079654744,-1094224921,1035834095,1067272551)+W(7,-1098463344,1050839735,1034313258,1034295344)+W(8,1035679275,-1113787473,-1099205009,1042040059)+W(9,-1124876273,-1106967769,-1101597023,-1140563054)+W(10,1012713199,1033733408,1056268760,1044374977)+W(11,1015942004,1036121231,-1097742853,1043077130);WS(-1084991020,-1093321377); +sum1=W(0,1041431403,-1106261797,1020905181,-1124603198)+W(1,-1087194206,-1093664550,1050746614,1058092855)+W(2,1027465426,1019387090,1020373118,1031898965)+W(3,1012534679,-1100435893,1033810210,1034567442)+W(4,-1086211050,-1081371861,1063338984,1060858482)+W(5,942151344,-1130539845,1028138434,1037199077)+W(6,-1113177704,1029015460,1034346016,1026468027)+W(7,-1091610836,-1090363161,1050350895,1057782107)+W(8,1019123574,1032894586,1026545296,1041359812)+W(9,-1109083497,1045957208,1040898454,1012576759)+W(10,-1099126963,-1088769118,1051078083,1047981412)+W(11,1018549369,1024075622,-1114891854,1017607178);sum2=W(0,-1096421724,-1100344181,1050639335,1049096145)+W(1,1019605429,1054069324,1044471716,-1104462777)+W(2,1039363330,-1113551308,-1112798845,-1107039596)+W(3,-1085369111,-1076762820,1068716746,1060252300)+W(4,-1124780213,1025609425,1050347336,-1101216805)+W(5,999612981,1018249637,-1099054195,1041817400)+W(6,-1073687271,-1075542147,1071114171,1070836883)+W(7,-1096692411,1043747806,1009296899,1052234046)+W(8,1028531297,-1109453871,1030832137,1029953841)+W(9,-1076870984,-1078719402,1068968491,1069477538)+W(10,1026561745,1035243068,-1114781860,1047758574)+W(11,1027426027,-1125031723,-1140937749,-1135279155);WS(-1082530796,1061926473); +sum1=W(0,-1107298323,-1127531019,1030277984,-1111745736)+W(1,1033356744,-1113172467,1039611697,1048819916)+W(2,-1119982339,1009757802,-1127895905,1034157517)+W(3,-1109831840,-1118701125,1039021467,-1123296661)+W(4,1035918242,-1088898044,-1099048749,1058045501)+W(5,-1125062126,1039341706,-1099659681,-1146238814)+W(6,-1101933527,-1114851579,1012520514,-1130604760)+W(7,-1125679275,1029808585,1034215157,1052265202)+W(8,-1111731430,1016627083,1005542493,1032846000)+W(9,1016124742,-1131932512,1017586258,-1112767704)+W(10,-1110952702,1040689749,1010862879,1037161440)+W(11,-1137100912,-1130467695,-1114167271,1024904046);sum2=W(0,1027790609,-1115257125,1025856461,-1123675689)+W(1,-1138688370,1036222096,-1103597907,-1107220732)+W(2,-1131813881,-1138958066,-1104487390,-1114685917)+W(3,1041635489,-1087170514,1039506778,-1129839981)+W(4,-1099581339,1052206445,1074899174,-1083432255)+W(5,1015980625,1015820001,-1103205528,-1113019592)+W(6,1054414527,1040911707,-1108253250,-1111122039)+W(7,1033877978,1035305654,-1119836905,-1087814585)+W(8,1023501105,-1135082354,-1128600489,-1114160943)+W(9,-1107819629,-1119501461,1023517501,1042547871)+W(10,1040418607,974999585,-1120345851,-1108795814)+W(11,1028405761,1023691837,-1136105250,-1113593105);WS(1064809580,1026007555); +sum1=W(0,-1139810490,-1117193870,1012678303,-1117346201)+W(1,1046259126,-1116046893,1041509643,1018638922)+W(2,-1107316166,1042684025,-1107022182,-1110265860)+W(3,1032058104,-1127734554,1024755966,-1112794575)+W(4,1058768682,1057441571,-1106321711,-1089321581)+W(5,-1107194416,-1115653262,-1097674775,1049529906)+W(6,1040786347,-1106953519,-1109792204,-1119597108)+W(7,-1088983804,1052663642,-1136225478,1042250009)+W(8,-1115453338,-1104239151,-1105006210,1052962187)+W(9,-1120656619,-1123630216,-1109340249,1039580268)+W(10,1033398978,1030125211,1031754384,-1140389406)+W(11,1026892022,-1113265368,-1114619763,-1138416249);sum2=W(0,-1126476274,-1112202702,1022454821,1002173025)+W(1,1035289805,-1110248161,1027055467,993251281)+W(2,-1119256919,1035602798,-1106697397,1026092616)+W(3,1040267060,-1105276944,1026488668,-1114052781)+W(4,1050537246,-1103163514,1037292044,-1106967376)+W(5,-1119463370,-1109176262,-1119693560,1051631259)+W(6,1041996701,1024974628,-1114947733,1024785122)+W(7,1036995069,1044720036,-1103384730,1032247852)+W(8,-1123291766,-1103668424,-1113586574,1026699348)+W(9,-1106672600,1014734543,-1114686018,1041552522)+W(10,-1136575544,1011597497,1038837578,1024347316)+W(11,-1104716490,-1124038001,-1113050536,1012871948);WS(1065652022,1032044813); +sum1=W(0,1024151812,1033154018,-1138253430,1008146233)+W(1,1046726755,-1114751985,-1111423088,-1109382253)+W(2,-1145994760,1011776865,1030270670,-1118504831)+W(3,1037025524,-1098142828,1034343482,-1111490857)+W(4,1060185520,-1102691401,1056996567,-1089787453)+W(5,1031075253,-1115595081,1034117937,-1108385813)+W(6,-1093711910,1019326054,1037589943,1027957290)+W(7,-1084615165,-1096112169,1020462798,1064926206)+W(8,-1141498448,1030480467,999245356,1042611828)+W(9,-1137243780,1033030167,-1130048270,1035138662)+W(10,-1123985530,-1105819364,1017317515,1028825917)+W(11,1020535720,-1161641125,-1131349303,-1106962907);sum2=W(0,1018874621,-1106542042,1032029355,1006780909)+W(1,-1125742470,1042324218,-1123089851,-1118402441)+W(2,1002124531,-1127943559,1032351097,1022906649)+W(3,-1114343998,-1106692361,-1118040285,928839112)+W(4,-1150379126,1059562898,1057618964,-1111882995)+W(5,-1112138839,1036092239,-1096401122,1030201786)+W(6,1043467647,1041450718,-1105940221,-1112805367)+W(7,-1124030112,-1096899429,1035656455,-1114692462)+W(8,-1119061832,1038704957,-1105376866,-1101041619)+W(9,1036583459,-1106475204,1031169874,1025941308)+W(10,-1115452253,-1108009053,-1181112366,-1122657152)+W(11,-1115257437,1040262599,-1117532473,1025207396);WS(1060219372,-1086892801); +sum1=W(0,1039153858,-1139059104,1041685441,-1103145773)+W(1,-1098525574,-1114399172,-1111094658,1051640744)+W(2,1018968139,-1114173214,1034492410,-1104573181)+W(3,-1139626983,1051743245,-1105288038,-1114046300)+W(4,-1105262039,-1084251893,1048845947,1060139625)+W(5,-1114750605,-1119683574,1048366229,-1112320535)+W(6,1005204005,-1096900831,-1105447101,1036049319)+W(7,-1132035760,-1097183901,1058595229,1056234019)+W(8,-1113866359,-1132035040,-1102598303,1045757805)+W(9,1006778518,-1097346218,1037687846,-1153064218)+W(10,-1095492788,-1105878061,1052830405,1030114274)+W(11,1021887633,-1107291810,-1114955456,1044243314);sum2=W(0,1025241726,1004099725,-1115656995,-1116149857)+W(1,1043244905,1042198638,-1094029030,-1099180395)+W(2,1036684654,-1113978987,1030698655,-1108018378)+W(3,1025926274,1029996270,-1101937257,1030898684)+W(4,1050305603,1051892024,-1093188603,1029208805)+W(5,1030311314,-1143836228,1032179392,-1105752531)+W(6,1015423640,-1098527410,-1108962642,-1172884346)+W(7,1010118001,-1111697287,1057927618,1043486640)+W(8,-1107174775,1032971351,-1110311603,1042453668)+W(9,-1102965987,-1099100919,1035380843,-1122887710)+W(10,-1106879588,-1115267941,1054675670,1033678913)+W(11,-1114814873,-1114563702,-1124505249,1043859461);WS(1054285911,1050558006); +sum1=W(0,1038924416,1041880394,-1131523010,-1123510162)+W(1,1049975562,1050884477,-1093800836,-1103298920)+W(2,-1132690963,1013663344,-1103773453,-1107117058)+W(3,1042834130,1022473868,1019709806,-1131464621)+W(4,1056805171,-1101108530,1057683379,-1095165898)+W(5,1008580322,-1112183179,-1121085405,-1101616339)+W(6,-1100861061,-1099456110,1019519396,1029482925)+W(7,-1084744157,-1084827161,1059660975,1065493943)+W(8,-1107880231,-1118057053,1037612741,1044641696)+W(9,-1103795177,1023983666,990268585,1008876867)+W(10,-1096422344,-1102767109,1049686449,1052993120)+W(11,-1120002940,-1125681410,-1112995616,1041661496);sum2=W(0,-1115660402,-1103885919,-1135750526,-1122499415)+W(1,1052675919,-1111228057,-1163427536,1019721643)+W(2,-1107636671,1043515230,-1097257542,-1134010714)+W(3,-1107570715,-1109043837,1004729468,1025808744)+W(4,1050715774,1068640266,1068391994,1050733408)+W(5,-1113330231,1035061875,-1098019427,-1097200131)+W(6,-1101018403,-1106866200,1025309219,1038371609)+W(7,-1109791041,-1082318320,1029079067,-1088555463)+W(8,1015805682,-1134559274,-1103711089,-1104872484)+W(9,-1100735475,1049544712,-1107252608,1037233345)+W(10,1048468038,-1092391889,-1147071004,1034253450)+W(11,1043601518,-1139706642,1032346912,-1096395820);WS(-1090663639,-1077388844); +sum1=W(0,-1118693311,1029100670,-1160081154,1018174482)+W(1,1049109025,1046071575,-1098783931,-1093711755)+W(2,1010315758,-1115518041,1021012498,1040639418)+W(3,-1120731528,-1106887239,-1132569784,-1125628059)+W(4,1052420297,1068562223,-1095941442,-1088582516)+W(5,-1181480889,1034527238,986381179,-1106387497)+W(6,-1106415899,-1097169074,-1117849353,-1117916196)+W(7,1064382514,1058209900,-1094690684,-1087125152)+W(8,974332196,1015836076,-1116837948,-1096200966)+W(9,-1146324700,-1168966176,-1122253105,1021610031)+W(10,1048904111,1056110513,-1093052224,-1097735927)+W(11,-1123641014,1025570188,-1121509238,1025702951);sum2=W(0,-1094381136,1042206203,-1113720588,1034436941)+W(1,1038416019,-1112936962,998633097,1032181918)+W(2,1040127243,-1108577062,1041189037,-1157362266)+W(3,-1096498964,-1082651758,-1106229774,1024698569)+W(4,1044225483,1035551973,1076874404,1057336919)+W(5,-1122557473,1033287923,1029476436,-1114037642)+W(6,-1065300211,-1070759890,1046234567,1036635696)+W(7,1041430251,1045207615,1049370102,1081990850)+W(8,1024588020,1015731519,1036601034,1035032611)+W(9,-1090746117,-1089089289,1034351318,1052080385)+W(10,1038285588,-1119691531,1035723536,-1114040834)+W(11,-1155116306,1031958369,-1130950394,-1115422836);WS(-1080363926,-1071486509); +sum1=W(0,-1117755862,-1102851061,-1106562756,1035667824)+W(1,-1089812638,-1098855847,1044522508,1058850627)+W(2,1033333673,-1122920906,-1124105919,-1119781738)+W(3,1026770536,-1096598034,-1099668353,1048836261)+W(4,-1094273901,-1081351512,1062774732,1060900423)+W(5,1034167779,-1100720585,1019768789,-1136163052)+W(6,-1111989629,-1117155588,1034350288,1041756943)+W(7,-1091724133,-1097309107,1058954340,1060314417)+W(8,1023569595,1037864032,1034476769,1036217472)+W(9,-1106686285,-1110305168,1036008540,-1111757455)+W(10,-1089979637,-1097705308,1058323473,1047827972)+W(11,-1108224543,997120104,-1112569431,1034808863);sum2=W(0,1026473921,1040027805,1039521143,-1130221439)+W(1,1059210683,1037922688,1049962270,-1098631230)+W(2,-1088875775,1043008084,-1128609979,991949852)+W(3,-1103850305,1044422007,1040812416,-1106623296)+W(4,1032319554,1075309200,1053913409,-1102633929)+W(5,-1081254616,-1078110278,-1093367457,1032322677)+W(6,1033782288,-1112409330,1011405671,-1108121630)+W(7,1051007822,-1114991064,-1118313372,1041179127)+W(8,-1087823621,-1085620101,1042490244,-1128820939)+W(9,1042204829,1007920671,-1120568012,1024610419)+W(10,1064519547,1041664007,-1105557487,1033589003)+W(11,1038944538,-1097283302,-1108726636,-1108707286);WS(-1085146860,-1078432897); +sum1=W(0,-1149696569,-1105005939,1037132754,1000247468)+W(1,-1105608437,-1092242085,1049101493,1046594056)+W(2,-1128935441,-1114749360,1035020227,1029982264)+W(3,1047641075,-1094624073,1043827999,-1107087079)+W(4,1034057408,-1091288646,1056540903,1036712721)+W(5,1041253327,-1098691603,-1097712673,1000135432)+W(6,1038438012,-1098392071,1034542459,-1105171356)+W(7,-1092984875,-1099696227,1052522438,1056427897)+W(8,1031740017,-1124493285,-1113847620,1048401189)+W(9,1037791108,-1111893867,1019250012,-1139389265)+W(10,-1123704450,-1096292923,1053002294,1039493090)+W(11,1035876258,-1117863020,-1109486882,1041969240);sum2=W(0,1022634928,-1141995321,-1123188651,981650725)+W(1,-1134931805,1038372119,1043118137,-1122722467)+W(2,1035155349,-1113558499,-1108690895,-1114801830)+W(3,-1159373413,1040593594,1019312288,-1132394336)+W(4,-1088039805,-1062981933,-1085264893,-1111962066)+W(5,-1123558064,-1122982849,1086226578,1059960197)+W(6,-1125839148,-1144628769,1019035800,1007032529)+W(7,-1088420516,1033594923,1030456162,1035586791)+W(8,1041973847,-1112866008,-1121903247,1052041256)+W(9,-1130558040,996479090,994405618,-1139057577)+W(10,-1132235322,-1141102409,-1121727683,1025167346)+W(11,999416881,1015327588,1010205301,-1127116104);WS(1065314092,1028007882); +sum1=W(0,-1118910333,1044274103,1009229913,1031315399)+W(1,1027958726,1049048403,-1091088835,-1110071882)+W(2,1030345978,1015648546,-1098774521,-1132049297)+W(3,1040482617,1028502523,1030512684,-1129846167)+W(4,1058342964,1041882615,1057125791,-1081937298)+W(5,1033820695,-1123750794,-1128387300,-1097400260)+W(6,-1098008831,-1114626726,1024491495,1027211107)+W(7,-1081007746,-1094994912,1056913060,1063505604)+W(8,-1119357859,-1108219417,1046624506,1042307230)+W(9,1030034106,1035646611,1020076159,-1133667543)+W(10,-1103714125,-1120947018,1046315392,1045615294)+W(11,1021380405,-1113806211,-1116178789,1018202602);sum2=W(0,1051114204,-1095282678,1042860341,-1105494348)+W(1,-1106413411,-1115620988,-1095274416,-1106549278)+W(2,-1101805730,-1123651604,1032482885,1026636954)+W(3,-1099570184,-1092355888,1032509803,1034523914)+W(4,-1100406176,1061966336,1068351366,-1097084890)+W(5,1033985372,1041181693,-1111829172,-1103782738)+W(6,-1093487707,-1101634066,-1136462181,1037500440)+W(7,1064976080,-1095768559,-1093371043,1045336627)+W(8,-1105149847,1041978329,1011878641,-1099957245)+W(9,1038218158,-1144657738,1030953968,-1115571726)+W(10,1051011462,-1103066203,-1098135458,1025607496)+W(11,-1106959075,1034424520,1046841453,-1122142689);WS(-1100053422,1042143034); +sum1=W(0,1038907933,-1101648146,1027006179,-1121193300)+W(1,-1104157285,-1116788520,1052804861,1037214192)+W(2,927491180,1036085839,-1105088109,1003265009)+W(3,1051061595,-1096312949,-1124403186,-1116784408)+W(4,-1115727182,-1094770533,1063691363,-1092953078)+W(5,-1112320669,-1132796507,-1110178331,1044603252)+W(6,1021329739,-1104405590,1036096698,1032959000)+W(7,-1085255924,1032460934,1046101531,1057610578)+W(8,-1129217311,1029210945,-1099699080,1042273837)+W(9,1032316755,1026338531,-1140087089,-1106874909)+W(10,-1101777344,-1123976854,1044117027,1033832353)+W(11,-1111566277,1023324661,-1110400285,1042741769);sum2=W(0,-1127364827,-1115378106,-1141563308,-1141740532)+W(1,1019476887,1033910688,1014774982,1016858659)+W(2,-1114104878,1038463125,-1098709711,1027610232)+W(3,-1097895309,-1089066292,1037326381,-1146742484)+W(4,-1098904537,-1087533486,-1086943216,1061549017)+W(5,1009723338,-1128378528,1044386108,1048121474)+W(6,1074712949,1036278807,-1112991637,-1100634945)+W(7,1051894188,-1105464222,1016249563,-1081904953)+W(8,-1114075451,1023041183,1034738839,1035948687)+W(9,1023404119,1032269699,1028661660,998071241)+W(10,1039001405,1002948788,-1118089334,-1104500239)+W(11,1028418264,-1116656881,1032376859,-1111082062);WS(1064553004,-1122811923); +sum1=W(0,1031404000,-1105326008,1032276908,-1129171987)+W(1,-1102182210,-1094389820,1049463355,1045766677)+W(2,-1144455651,-1121595412,1026361994,1024429036)+W(3,1049333812,-1095271692,1041762428,-1113233767)+W(4,974120215,-1088583546,1059787495,1036005443)+W(5,1034062296,-1100003363,-1095666629,1035186995)+W(6,1021654775,-1101813124,1027123610,-1110071667)+W(7,-1092394330,-1097358280,1052117804,1057980603)+W(8,1024774373,-1125809241,-1132328890,1048809333)+W(9,1034262350,-1114787413,1026480898,-1123823416)+W(10,-1111517243,-1097569834,1051913520,1041561742)+W(11,1035275874,-1116630377,-1107060706,1043990330);sum2=W(0,-1118374135,1014938475,-1153474964,1027128731)+W(1,-1123174378,-1123472496,-1107487108,1034513610)+W(2,-1114420605,1026647445,1026726549,1026835315)+W(3,-1106631533,1049333862,-1114194268,1032141903)+W(4,1054134699,1082046784,-1091768288,1042187602)+W(5,1008281595,1032174407,-1066065893,-1092438474)+W(6,-1117272233,1026850075,-1128303982,1010972171)+W(7,1048672371,1015595275,-1112584656,1029258819)+W(8,-1107223380,1020663133,-1129520676,-1108402828)+W(9,-1130317298,1023253865,-1125252319,1020076945)+W(10,-1143083862,-1112246350,1030375545,1019094573)+W(11,1016020771,-1120189048,1033146096,1012988295);WS(1066855734,-1119441794); +sum1=W(0,1039804281,-1106380690,-1123770274,-1127562022)+W(1,1057948125,1041520634,-1096623933,-1090674092)+W(2,1040603681,-1104646487,-1102744925,-1113289318)+W(3,1049486942,1052921753,-1108591004,-1115364812)+W(4,1058254390,1066610309,-1086271011,-1088928155)+W(5,1030330554,1047144630,-1125400685,-1126493725)+W(6,1002857256,1049080999,1012450637,-1109630903)+W(7,1047590014,1058670697,-1098448030,-1088126629)+W(8,-1118729135,1040353710,1027654745,-1097419497)+W(9,-1123146086,1045715313,-1112819014,-1111453929)+W(10,1020669183,1057080301,-1090620137,-1095526376)+W(11,-1110153949,1038000005,-1122765265,-1103558716);sum2=W(0,1045848843,-1098127734,-1098400772,1029773001)+W(1,1042255280,-1114969170,985414438,-1100354950)+W(2,-1106457511,-1121665039,-1101857955,1031741567)+W(3,1040542896,-1113384065,-1106957817,1049403575)+W(4,1044461531,1063282493,1065317808,-1094506611)+W(5,-1106685198,-1090380876,-1099888837,1033605854)+W(6,-1098054809,1051521525,-1125940042,1040180418)+W(7,-1111953320,1052337139,1038107076,-1102424534)+W(8,-1097784009,1010307405,-1125555808,-1148110913)+W(9,-1098090743,1035815778,1035657430,-1121768997)+W(10,-1098581045,1052586351,-1104826760,1030043463)+W(11,-1105861523,-1121200133,-1105779304,1034608926);WS(1024108216,1053619151); +sum1=W(0,-1117217830,-1104025987,1036125123,-1110237276)+W(1,-1116974327,1029841740,1035829669,1029541828)+W(2,997960357,-1115997186,-1125285423,1028000106)+W(3,1053313098,-1107833238,-1116690717,-1105593599)+W(4,-1093167724,1049118258,1058976450,1040682969)+W(5,1020700860,1017239158,-1094097902,1031701731)+W(6,-1112296045,-1108171422,-1118424632,-1138403916)+W(7,-1102593951,-1123704112,1053496066,-1104638900)+W(8,-1122615091,1029941429,-1100830255,1055269059)+W(9,1025019530,-1113883668,-1117554448,-1118568038)+W(10,-1107943218,-1108512765,1047703644,997886569)+W(11,-1111217181,1020926429,-1109656827,1036129823);sum2=W(0,-1109450011,-1096262037,1038893624,-1119993039)+W(1,-1106582025,-1117988753,1053717996,1040401784)+W(2,-1147493015,-1114388777,1000703247,1033614749)+W(3,1055566572,-1158461197,-1106354535,-1105602869)+W(4,-1092886002,1072933379,-1105416337,1043380434)+W(5,1043473668,1043342555,-1081255560,1034388956)+W(6,-1117939535,-1108137959,998835515,1032998629)+W(7,-1083385663,1045359897,1027244587,-1087999087)+W(8,-1094544057,1045623937,-1093783038,1066426555)+W(9,1037096144,-1114868339,1026155597,-1119543359)+W(10,-1101171319,1022787365,1031605777,-1117843291)+W(11,-1102892249,1041102940,-1100938466,1051461624);WS(1062840044,1036517115); +sum1=W(0,1024218619,-1119309706,-1102360361,1027882709)+W(1,1057788973,1045291130,1031157223,-1088734638)+W(2,-1105941698,1032367183,-1107257205,1032695796)+W(3,1051294017,-1105387538,1026327034,1037386637)+W(4,1057574554,1064725383,-1087289600,-1082181941)+W(5,1015412087,-1102302982,1024151288,1039133128)+W(6,1045232110,1042423170,1042539613,-1102333276)+W(7,1056789371,1052153154,-1088061047,-1089919726)+W(8,1046746652,-1110282969,1045762482,-1131902346)+W(9,-1107171938,1042893141,-1117867630,-1113170154)+W(10,-1124580994,-1109192172,-1098512042,-1126992520)+W(11,-1116552186,1032060742,1047580087,-1130270357);sum2=W(0,-1106124336,-1123408727,1027402769,-1128425377)+W(1,-1116881359,1040877836,1046361983,-1106789449)+W(2,-1154187588,1037669599,1041799035,-1108203604)+W(3,1035952055,-1106291502,1029460017,-1122701285)+W(4,-1092736894,-1089281400,-1092942672,1033758045)+W(5,-1106801609,1044648045,1058715791,-1110885432)+W(6,1034330078,-1137130753,1015114546,-1128656941)+W(7,1067937621,1057367901,1043050798,1022825967)+W(8,-1104725901,-1099584998,-1090127289,1060265099)+W(9,-1151273092,-1141059698,1012677721,-1131912907)+W(10,-1100743964,-1116376233,-1114857397,1026393205)+W(11,-1114467924,1048436512,-1085394823,-1100147508);WS(-1090906199,1032077706); +sum1=W(0,-1114971356,1044790618,-1121893314,-1133027020)+W(1,-1109782777,1033127972,-1113284386,1042474992)+W(2,-1113511763,1025873725,-1105262125,1040233361)+W(3,-1123234602,1040694938,1029445080,1023318639)+W(4,-1090554926,1053731809,-1105269270,1041326284)+W(5,1011115622,-1129412204,-1109230339,1034823031)+W(6,1035215242,-1102125462,1034316233,1001128051)+W(7,1054234875,-1098556565,1049843289,-1090300845)+W(8,1038160135,1018477632,1042417542,-1098565414)+W(9,1043268297,-1122145747,1035906358,-1103958128)+W(10,-1121911775,-1113919963,1025511402,-1131346756)+W(11,1009497794,998364239,-1122686272,1026215817);sum2=W(0,1030375188,-1098558104,1031993168,1010874613)+W(1,1049471257,-1094785947,1051363302,-1115235366)+W(2,1040126787,-1131978284,1040320218,-1100352469)+W(3,-1116546039,-1089737673,1035954309,-1110586713)+W(4,1031272431,-1102658594,1057138262,1056517150)+W(5,-1124433226,1027656919,1043402933,-1111763071)+W(6,-1094899703,1053685859,-1122071401,1034349301)+W(7,-1112892354,1046184196,-1093546729,-1098486858)+W(8,-1092308561,-1116345243,1039716432,1057577914)+W(9,-1108774266,-1124583674,1029284667,-1140127141)+W(10,-1109252950,1037904141,-1122424073,1034072089)+W(11,1016915650,-1140678181,958822899,-1122970680);WS(1065971990,-1117349785); +sum1=W(0,-1103591502,1043874709,-1112126136,1041698888)+W(1,1049080916,1047240445,1044992637,-1130045402)+W(2,1021475879,-1134810027,-1121869537,1009208654)+W(3,-1101299034,-1186542860,-1129568652,1034826515)+W(4,1060703412,1061790267,-1081978560,-1083999976)+W(5,-1144695867,1017436104,1028920692,-1123043996)+W(6,1041410157,-1159955630,1024013025,-1109843230)+W(7,1058214583,1059365054,-1090063736,-1085461041)+W(8,-1131209785,-1139574520,1011681824,-1105683576)+W(9,1030113747,-1120752640,-1137279078,1009653886)+W(10,1049303674,1052607100,-1094129699,-1097631850)+W(11,1000157667,1022839599,1021258909,-1125202109);sum2=W(0,-1073720352,-1086725672,-1130364155,-1117014919)+W(1,1055286111,-1109695767,-1091483554,-1104300581)+W(2,-1108683793,1033653176,1032269150,-1105567211)+W(3,1069712606,1062079613,-1114007102,-1106662873)+W(4,-1114136197,1052661025,1060429625,1061376514)+W(5,-1115525434,1043366723,1018497014,-1138351682)+W(6,-1102930718,1020707077,-1111037227,1049348603)+W(7,-1131131469,1050631696,-1091915359,-1098979910)+W(8,-1107942477,-1139459182,-1117367449,1032920333)+W(9,-1114426132,1034066723,1035610526,1016435713)+W(10,-1112682766,-1112601210,-1091474650,1043583392)+W(11,-1122885189,1026792554,1039950258,-1122101547);WS(-1087438700,-1079683283); +sum1=W(0,-1111085935,-1110290014,-1126645293,1017584527)+W(1,1052950249,1053593812,-1098381907,-1097724786)+W(2,1032156829,-1129163939,-1106211842,-1112145065)+W(3,1033919541,1049726143,-1126938201,1024510860)+W(4,1063649365,1059087538,-1081500983,-1083731542)+W(5,-1118260846,-1120786763,1023563130,1003633557)+W(6,1042036038,-1114444262,-1163276521,1025818403)+W(7,1052548297,1057898452,-1091706404,-1097215121)+W(8,-1116189667,1023503580,-1104008328,1019377518)+W(9,1029908410,1035428627,-1160528892,1040771729)+W(10,1045403069,1052829673,-1097940968,-1097070911)+W(11,-1112674412,1015355644,1032435766,-1115067299);sum2=W(0,-1139353737,-1172793556,-1126036613,1027460995)+W(1,-1105887481,1031879973,1041340702,-1116062036)+W(2,-1112909236,-1144584219,-1108443334,1043084390)+W(3,1021322407,-1097919394,-1129309981,1029366028)+W(4,-1101108606,1009470709,1055277098,1050063273)+W(5,-1116288208,-1099143154,1041616760,1031078409)+W(6,-1121912528,1034370211,988377354,1020875062)+W(7,1047064096,1034815104,1041415105,-1106551211)+W(8,-1100042276,-1108610892,1018545561,-1107655532)+W(9,-1137199485,-1107628664,1030688918,-1109676838)+W(10,1034836242,1049845283,-1134721053,-1128558209)+W(11,-1111876576,-1123449114,-1104117922,1014245687);WS(1044595630,-1081949232); +sum1=W(0,-1112185757,1041771076,-1114551286,1039675598)+W(1,-1103352647,1058269731,-1144202605,-1088266627)+W(2,-1115854735,-1130126796,-1102436935,1051863744)+W(3,-1113654239,1036138408,-1121252161,1008233858)+W(4,1055957016,1060473075,-1087961804,-1106609306)+W(5,1017898629,1041818984,-1105147684,1041931682)+W(6,1043328887,1047911808,-1122512668,1033942172)+W(7,1062639593,1055667963,-1086197995,-1087619944)+W(8,-1130413359,1032948860,-1111264410,1002098271)+W(9,1028532559,1051948425,-1118876117,1026205083)+W(10,1042300482,1051816684,-1079365891,-1087181441)+W(11,-1115140949,1035539513,1047648830,1038991809);sum2=W(0,-1087877559,1042152886,-1102559074,1050752765)+W(1,1063798323,1052128007,1035361880,-1089125923)+W(2,-1098786735,1029952535,-1090156566,1013490077)+W(3,-1095393630,-1106434273,-1106905815,1004621594)+W(4,1062325475,-1120474523,1058355794,1058416370)+W(5,-1116454071,1025568531,-1101206197,-1094287538)+W(6,-1099723068,1036662936,-1114858390,1038134564)+W(7,1051681161,-1096401119,1040360076,1056388755)+W(8,1009033997,997069429,-1104699402,-1100293430)+W(9,-1101776331,1054232067,-1104442024,999530010)+W(10,-1106373450,-1089943559,1034476952,-1106345832)+W(11,-1117506479,1019208527,-1113690608,1048788631);WS(-1082323244,1081334754); +sum1=W(0,-1114671162,-1101582293,1026074030,1017652669)+W(1,-1100397239,-1097273854,1051997878,1045686283)+W(2,-1120290385,1010893986,1036251335,1040334760)+W(3,-1102225205,-1128122150,-1139023631,1026308835)+W(4,-1091487775,1033600923,-1109179969,1056290627)+W(5,-1114193219,1015477828,1034603313,1044247257)+W(6,1047028384,1041367009,-1157466090,-1124784756)+W(7,1058585755,1058457225,-1090935975,-1088067773)+W(8,1027532986,1028455628,-1104671877,-1098471302)+W(9,1037350457,1018518877,-1123067319,-1151223253)+W(10,1047302995,1040259816,-1100605637,-1100014755)+W(11,1023216600,-1167442276,1007040336,-1113240670);sum2=W(0,1034310052,-1120070653,-1130912565,1021161720)+W(1,-1111691904,1060473449,1057895756,1028060302)+W(2,-1120681063,1030806761,-1103940220,-1117456161)+W(3,1013066141,-1097167140,-1117040706,-1130074229)+W(4,1048707954,-1071981659,-1077198236,1050008660)+W(5,-1131293055,1009545637,-1101172514,1041027109)+W(6,-1126989997,1035986228,1012731209,1025588007)+W(7,1055589119,1068029984,1061480822,1036249174)+W(8,1035622377,-1130249456,1014223793,1014637039)+W(9,979500482,-1131150309,1035821810,-1117264939)+W(10,1025639810,-1104930835,-1114248001,1036420478)+W(11,-1120874755,1036288471,-1128414380,1027808652);WS(1053726551,1012659382); +sum1=W(0,-1106638998,1034541187,-1115995457,1032083097)+W(1,1047871676,1032148771,-1098027112,-1098702088)+W(2,1022035144,-1112198366,1042659740,998886703)+W(3,-1115280977,-1104507249,-1122031383,1025061558)+W(4,1060231518,1065996118,-1092902123,-1088652495)+W(5,1034668492,1024148149,-1104094145,-1106688851)+W(6,-1114143426,1029764374,-1115071689,1038196358)+W(7,1058126194,1059563219,-1097451113,-1085882325)+W(8,1010989620,1012420282,-1121352461,-1102012910)+W(9,1031225348,-1102798468,-1113099877,-1130575936)+W(10,1035470703,1054581342,-1111014420,-1098237300)+W(11,-1123786037,1024134712,1000597622,-1128714910);sum2=W(0,1043258069,-1105860909,1044199209,-1124504165)+W(1,-1120765402,1027333462,-1096303760,-1119272862)+W(2,-1130103221,1030769098,-1112573193,-1132584009)+W(3,-1149580326,1054859448,1030597508,-1105768285)+W(4,-1110802573,1040041196,1057797022,1030851358)+W(5,-1111917317,1033418125,1035436142,1028533186)+W(6,1065166573,1012576825,1040834484,-1097181409)+W(7,1017534493,-1108797661,-1116955554,1062380695)+W(8,-1140263257,-1126074797,1032147286,-1141430739)+W(9,-1091772000,-1077787203,1038991009,-1106395293)+W(10,1042765191,-1110880129,-1098893101,-1113754765)+W(11,1020067757,-1136443945,-1120959090,-1113752657);WS(-1091585367,-1096979755); +sum1=W(0,-1104771642,1041680018,-1121704545,-1125210148)+W(1,1039960904,1056326757,-1093500244,-1104387016)+W(2,-1127914889,-1113011982,-1114046313,1043768271)+W(3,1043362647,1048656073,-1106223422,-1120024086)+W(4,1060708396,1060053831,-1086139981,-1085845307)+W(5,-1140249314,-1132509525,-1105827043,1022927067)+W(6,1038801018,-1103521718,-1106879908,1027649645)+W(7,-1115241635,1040958787,-1124812374,971788283)+W(8,1027284814,1026834103,1038747748,-1120254754)+W(9,-1106174833,1031226898,-1108105765,1033259600)+W(10,995843043,1040930453,-1119913673,1011346436)+W(11,-1115807705,1029803545,1040461604,-1118768800);sum2=W(0,1004004293,1030693613,-1117465525,1007158722)+W(1,-1109929145,-1107544976,1034532408,-1123076619)+W(2,1045822378,-1130708853,-1095482533,-1104848259)+W(3,1007550482,1032793866,-1115575087,1020157105)+W(4,-1110988335,1067665797,1059720067,-1101572236)+W(5,1036333634,-1111111456,-1090269083,-1085485924)+W(6,-1104867994,-1111503366,-1115951245,1029731993)+W(7,1048427228,1058832170,-1098900155,-1112732963)+W(8,-1105802165,-1115747431,1037004208,-1135504754)+W(9,-1101768383,1042858280,-1111020797,1042169362)+W(10,1029991341,1043396912,-1101011815,-1132362761)+W(11,-1132122165,-1126685993,1041064016,-1108400441);WS(1050761175,1067771859); +sum1=W(0,-1103008542,1051881455,1016344868,1007679755)+W(1,1040506400,1050438683,-1099208581,-1117542415)+W(2,-1123566389,1035136294,-1138473483,-1107587308)+W(3,-1113694143,1057165115,1035369236,-1111212068)+W(4,1036449755,1067282489,-1086714990,-1094852820)+W(5,-1110750261,1047098321,1045850761,-1102372368)+W(6,1030154052,-1119705863,1027679203,-1114152399)+W(7,1049754336,1030273979,-1098820035,-1087862176)+W(8,-1108921199,-1158006009,-1111030523,-1112794889)+W(9,1037582923,-1106945041,1023429051,1024513697)+W(10,1048082428,1020854026,-1098056967,-1101037788)+W(11,1025557440,1029171882,1000524418,-1114576136);sum2=W(0,1042939389,-1092756549,1043256577,-1108377721)+W(1,-1101760284,1050996294,-1136988785,-1118508723)+W(2,-1111488356,1040203060,-1104406221,1037932369)+W(3,-1140040329,-1094992475,1048495965,-1098471532)+W(4,-1098704018,1062859454,1064902851,-1099870420)+W(5,-1103619810,1045571731,-1098855018,1015984185)+W(6,1017276157,-1104050853,1036658009,-1103576309)+W(7,-1089477514,-1157061765,1045838269,1045749581)+W(8,1025902034,-1107737652,-1121418697,1025174042)+W(9,1032200565,-1104348148,1030436882,-1107738492)+W(10,1046491511,-1106567852,1042649061,-1110226959)+W(11,1044444185,-1105647758,1027657606,-1106492592);WS(1057448172,1069108917); +sum1=W(0,-1116799928,-1123655391,-1128422002,1025232554)+W(1,1055215485,-1104723136,1037047614,-1100727837)+W(2,-1139419762,1006660815,1040448906,-1106508548)+W(3,-1111298160,-1119092894,-1106129908,1032607415)+W(4,1056783106,-1165535249,1036246919,-1102160962)+W(5,1016236833,-1123853933,1040745899,-1103004521)+W(6,1044964179,-1128617181,1015221011,-1141856298)+W(7,1049606186,1044617768,-1116622467,-1088316592)+W(8,1016605067,-1160895193,-1103456342,-1132962087)+W(9,-1116425884,1015937075,1026592994,1010040610)+W(10,-1132120236,1042573835,-1102536008,1027658969)+W(11,1018376479,-1120915345,-1118303623,1037741920);sum2=W(0,1042697161,1061865996,-1091479855,-1128749003)+W(1,1038607216,1026943422,-1097573200,-1101835107)+W(2,1031384482,1026017402,-1114744392,-1108371617)+W(3,1067634595,-1111988197,1030767422,-1124909389)+W(4,-1110364223,-1089515454,-1090130192,-1083343720)+W(5,1036186174,-1104718688,1054823097,1035072621)+W(6,-1102439466,-1117920963,-1118686225,1028475536)+W(7,-1090714326,-1101900071,1027292464,1055493018)+W(8,1024781950,-1110105890,1031097460,1059932372)+W(9,1022976741,1008285339,1003197653,-1133507353)+W(10,1033968573,1033064671,1002427213,1030733458)+W(11,1040128898,1026666744,-1101772178,-1132241300);WS(1065065708,-1125796377); +sum1=W(0,-1106943759,1025116330,1029634469,-1112144555)+W(1,1048634147,1027133034,-1112668180,1017193539)+W(2,-1132404112,1004217594,1026809557,-1127916040)+W(3,-1105630541,-1106751530,1034269757,-1112840237)+W(4,1055950575,1060800975,-1096457447,-1112954809)+W(5,-1111964638,1038388364,-1093799807,-1112907992)+W(6,1023923175,1041797158,-1133240789,-1122801969)+W(7,1051425450,1041695411,-1096385878,-1094266089)+W(8,-1132895812,1013909417,1039766276,-1103940357)+W(9,-1113089188,-1130226634,-1119164014,1016754760)+W(10,1044103184,1036967948,-1114305030,-1106190977)+W(11,1032062573,992673732,1008751883,-1130590086);sum2=W(0,-1098806978,1046643695,-1109692118,1043431555)+W(1,-1105154239,1054740901,1045861043,1024222598)+W(2,953732840,-1115663935,1035789437,1031236307)+W(3,-1097975189,1048664613,-1111890182,1036275465)+W(4,-1083291725,1068703829,1058544270,-1101643320)+W(5,1042301531,1035678115,-1081353417,1007109846)+W(6,1049750262,-1098934938,1045724738,-1102288351)+W(7,-1080748028,1058055770,1049188212,-1098883379)+W(8,-1120166561,1047454611,-1100833476,1031821902)+W(9,1032869755,-1111259526,1007408138,-1109691788)+W(10,-1100454574,-1148294292,1048185689,-1107029975)+W(11,-1096856793,1041528279,-1114785167,1051695731);WS(1061652844,1044003957); +sum1=W(0,1022617806,1045689305,1029075868,-1118715405)+W(1,-1101088515,-1103346936,1030904095,1044034950)+W(2,-1131961856,-1110934572,1045834099,1019688911)+W(3,-1094261862,1027529537,1032954233,-1115471369)+W(4,-1096538237,-1086691558,1057470859,1059625182)+W(5,1036052922,-1148682371,1041319556,-1102841294)+W(6,-1099266912,1045678528,-1111723799,998963525)+W(7,-1094363880,-1105378993,-1098407445,1062131070)+W(8,1017830866,-1109411965,1028040508,-1166277444)+W(9,-1119248992,-1108410990,-1152687195,1036011862)+W(10,-1123294521,1016045215,1037164834,1047156095)+W(11,1030886475,-1123601124,-1106724595,-1135804811);sum2=W(0,-1115107680,-1105390433,-1122327585,-1123087716)+W(1,1045652727,-1139899009,-1106584843,1039737456)+W(2,-1128513463,-1114704327,-1102201417,-1106100707)+W(3,1034185422,1042081129,-1115300382,1034911826)+W(4,1060423005,-1103292099,-1094697399,987338697)+W(5,1009548801,1026056400,-1094374885,-1111505321)+W(6,1036682846,1043195731,1031538244,-1147444258)+W(7,-1079464406,-1102260713,-1100913302,1048628369)+W(8,-1112497116,-1107096307,1062702469,1066067653)+W(9,-1112377777,1024479380,1026384688,-1122824244)+W(10,-1101961861,-1106123677,1036768370,1041194171)+W(11,-1125635761,1037241080,1034543612,1013733313);WS(1061983340,-1091535279); +sum1=W(0,-1133965299,-1128653831,1027504414,-1154828523)+W(1,-1118138894,-1097538828,1027190112,1043906007)+W(2,1025343169,-1121887129,1037523079,-1109842717)+W(3,-1114200663,-1129743238,-1120408436,-1131271078)+W(4,1027560685,-1081158944,1054216086,1061948198)+W(5,1023298667,-1108007945,1048594270,-1106988467)+W(6,-1117839504,1035797658,-1122568783,-1131629652)+W(7,-1089869577,-1097887897,1028696552,1062537731)+W(8,1034422373,-1120763036,1028427349,-1121464863)+W(9,-1115205249,1019503421,995201141,-1165314478)+W(10,-1111951485,-1105384996,1044774081,1045640431)+W(11,1008081777,-1122356070,-1119142300,-1121440284);sum2=W(0,1036608468,-1099055008,1030495116,995087446)+W(1,1033021468,-1107407110,-1104807397,965233164)+W(2,1033025046,-1119280070,1033869233,-1114419070)+W(3,-1115487063,1057848194,-1121939088,1007114937)+W(4,1038417178,-1094462735,1075270016,-1070882050)+W(5,1028798922,-1120762821,1051754977,-1103406865)+W(6,-1106051731,1015526929,1012755199,-1109334595)+W(7,1039375650,-1124510890,-1102771000,1059573542)+W(8,1018124826,976567206,1028405316,-1104596666)+W(9,-1118519790,1024955281,-1123906524,1031009559)+W(10,1016192349,1023974018,-1159976683,1023903156)+W(11,1015800189,-1129936862,955743793,-1111745826);WS(1062927532,1035014202); +sum1=W(0,-1114736246,-1109500450,1034505951,1039522007)+W(1,-1104897563,-1092956200,1048942600,1037103646)+W(2,-1121785378,1027254073,1044086236,1044380938)+W(3,1011271190,1044028441,1002357921,1040732909)+W(4,-1091146839,-1093973369,-1097469770,1053278895)+W(5,-1145709740,981579331,1042916452,1044239087)+W(6,1050061010,1042353405,-1122944943,1016035605)+W(7,1051214559,1050975197,-1094832633,-1085392865)+W(8,1035761861,1033165606,-1111813313,-1112456671)+W(9,1036129025,1041525964,-1140151454,999726956)+W(10,1043068615,-1126246883,-1111797875,-1103977959)+W(11,1025151372,1033358643,-1110444494,-1112116510);sum2=W(0,-1084044031,-1091834288,1036214533,1038528863)+W(1,1050939225,-1095085693,-1077502553,-1082440456)+W(2,-1113963371,-1114781385,1028074081,1053868195)+W(3,-1110305241,1042795689,-1113699843,1049223347)+W(4,1050231565,1060273714,1068178608,1049812579)+W(5,1035810200,-1160679206,-1132635925,1046376147)+W(6,1050774414,1043118649,-1100571883,1041716852)+W(7,-1115682722,-1105112612,1047476754,-1092073446)+W(8,1036026944,1016345266,1017697398,-1098688235)+W(9,1047177880,1050263507,-1101978327,1017295180)+W(10,1050691511,-1101197699,1054410728,1034666293)+W(11,1040315316,-1112282035,-1104788145,-1092800689);WS(-1086906028,1058773265); +sum1=W(0,1044191380,1043197109,997844200,-1132629757)+W(1,-1096691584,-1095732027,1050808506,1032367334)+W(2,-1109034905,1031594505,1042781664,-1152318558)+W(3,-1125429564,1033453658,-1106996409,965362145)+W(4,-1086608026,-1081591954,1062016570,1058285756)+W(5,-1119832870,-1106441585,1043388193,1034636741)+W(6,-1118095697,-1121403972,-1120050655,-1153797548)+W(7,1041881517,-1096430215,1043993638,1044397873)+W(8,-1149103576,-1113585524,-1115428219,1045470808)+W(9,-1119804562,1026125167,1015091632,-1122322046)+W(10,1002316636,-1099777504,1047754366,1042486572)+W(11,-1135705587,-1122333654,1024196285,1018594522);sum2=W(0,-1096548381,-1086001730,1038532068,1048104076)+W(1,1018456960,1007620609,-1131935456,-1107021820)+W(2,-1112321878,1033875386,1040453646,-1136070657)+W(3,-1083843015,1035944594,-1101156186,-1129915388)+W(4,1033171254,1050949241,1066609131,1060056432)+W(5,-1117768272,1032538050,-1110531416,-1111662792)+W(6,-1102068111,1044127780,-1128045264,-1128179824)+W(7,-1107874139,-1104179329,1048571914,1027352212)+W(8,-1114035189,1032855260,-1127646596,-1104445548)+W(9,-1114990278,1041203218,-1109473444,-1131782160)+W(10,1038875644,-1112054433,1038985844,-1120175088)+W(11,-1144805954,-1130080864,1034344442,-1110249452);WS(1046014126,1065769758); +sum1=W(0,-1121314108,1039437825,-1112076254,1012096182)+W(1,1052142286,1048611696,-1094624040,-1091239207)+W(2,1019346753,-1152131961,-1109865911,1042130570)+W(3,1043473803,1045721640,-1106802021,-1100987245)+W(4,1060125676,1062377804,-1088552177,-1091961473)+W(5,-1123465492,1039063160,-1119711185,-1128757714)+W(6,1049347084,-1109380841,-1129503003,-1106286530)+W(7,1053897896,1057150062,-1091526873,-1089539427)+W(8,-1114302645,1015225093,-1119080717,-1128945819)+W(9,1049245244,-1120677869,-1112401299,1021132153)+W(10,1048631067,1057709495,-1088888106,-1091375076)+W(11,-1135518836,1014030866,-1122337355,1034078686);sum2=W(0,1064913799,1068350548,-1078304891,-1089976447)+W(1,-1109226965,-1120561974,1019506715,-1094573985)+W(2,-1115506338,1018259030,1021062218,1030445629)+W(3,1070575185,1072673707,-1070679577,-1071851632)+W(4,1002672995,-1098180006,1065504629,1065710309)+W(5,1012290398,995896746,1031139735,-1127826384)+W(6,1063744071,-1128451504,-1113339548,-1081022179)+W(7,-1117214353,-1111255228,-1124929726,1056839493)+W(8,1010152224,-1118014213,1037321868,-1112765526)+W(9,1040942179,-1115281660,1035458322,1011136331)+W(10,1028658493,1033265670,-1111465381,-1106886716)+W(11,967860273,-1119523230,1001938923,-1127063938);WS(-1096468055,1053785380); +sum1=W(0,-1116957735,-1114360891,1020813409,-1110473361)+W(1,1017136705,-1111337627,-1114475674,1034879511)+W(2,-1118632404,-1120549867,-1135792006,-1116669644)+W(3,-1123200592,-1090968927,1027946631,-1111899059)+W(4,1028379180,1051825655,1066746382,-1109008383)+W(5,-1162426624,-1173354793,-1094808947,-1105125143)+W(6,-1107232681,-1117882342,-1143096715,1003556839)+W(7,-1094442401,-1129057075,1046069775,1064704330)+W(8,-1119514205,-1113957025,-1106172505,-1116312257)+W(9,-1118523124,-1105979736,-1123588698,996386562)+W(10,-1114700263,1022269000,1040361862,1042611044)+W(11,-1130080208,-1123525720,-1106276184,-1135525501);sum2=W(0,-1122531649,1025350612,-1140125367,-1127419095)+W(1,1043407189,1028851928,-1108347637,-1111543417)+W(2,-1134679399,991440379,-1117946771,1013519927)+W(3,-1123116186,1020760995,-1126099139,1028088432)+W(4,1048774619,-1086358248,1056423339,-1101718819)+W(5,-1127107007,-1115422093,-1112971994,1041147594)+W(6,1019570567,1039021380,1024738032,-1114986450)+W(7,-1076137651,1044261707,-1100544782,1073762237)+W(8,1037345920,-1103403994,1015761083,-1118107520)+W(9,1018690059,-1119198021,1023949256,-1114843176)+W(10,-1099227611,-1123270518,1026425060,1049061203)+W(11,1042824177,-1129333383,1027419728,-1111772147);WS(-1089097708,-1091261619); +sum1=W(0,1003986316,-1120011361,-1113526029,-1127316247)+W(1,1044425283,1047767320,-1112997295,-1111263852)+W(2,-1116984894,-1121673366,-1118942860,1033605983)+W(3,1046355762,-1103137072,-1123552881,-1118797136)+W(4,1061869832,1058200050,-1100403388,-1081822066)+W(5,1027944882,-1124559262,1009152314,-1110810403)+W(6,-1103576251,1032220600,1015138359,-1123795687)+W(7,-1092855018,-1160534136,-1138618770,1053114278)+W(8,-1131347855,-1118591413,1031283151,1046189751)+W(9,-1120446878,1027028747,-1126584008,-1129675572)+W(10,1034662460,1018063772,-1123471427,1007314666)+W(11,-1131488026,-1122517738,-1128724178,1016196275);sum2=W(0,1040701127,-1109901381,1026311687,-1151923233)+W(1,-1103532415,1016651554,1024679085,-1110923755)+W(2,-1121169096,-1135341024,1036375055,1041909162)+W(3,1034378939,-1092342947,-1123775834,1025121279)+W(4,-1082840291,1066054209,1071256357,-1080291839)+W(5,1041541680,-1128413506,-1090243220,-1110170843)+W(6,-1096202739,1051958537,-1105542037,1033596173)+W(7,1056834874,-1199035157,-1103925783,1042190483)+W(8,1043004954,-1097944284,1038401459,-1097275958)+W(9,-1098166743,1047977685,-1108107550,1035290939)+W(10,1035522294,1030555165,-1114731953,1046386099)+W(11,1042529081,-1099750845,1015019440,-1113079432);WS(1061142188,1045552914); +sum1=W(0,1020461367,-1114371061,1019603337,1022384747)+W(1,-1095805239,-1098135841,1054684529,1058732728)+W(2,1033080372,1031766591,-1123665301,-1101590238)+W(3,-1137489184,-1128616851,1025369499,992843677)+W(4,-1085459239,-1081060320,1056292747,1060634392)+W(5,-1123755612,-1116775033,-1124699057,1027392977)+W(6,-1114859644,-1134916072,1030794181,-1149984013)+W(7,-1083596540,-1097701630,1058073341,1061516204)+W(8,1034158665,-1134014242,-1106352164,1038698931)+W(9,-1114858116,1009189588,1034453383,-1123167236)+W(10,1026645922,-1099032542,1050605022,1052882077)+W(11,1037240581,-1122655396,-1100750969,1006025241);sum2=W(0,1045355628,-1110840017,-1100296712,1041010686)+W(1,-1092997038,-1109499465,-1109934927,-1091459780)+W(2,1019331790,-1115246837,-1110570114,1025085151)+W(3,1028443719,-1097271182,-1124701214,1042377248)+W(4,1023984711,1068602839,1068946970,-1120459763)+W(5,1025130703,1036287199,-1090645327,-1120816159)+W(6,-1108318217,1034868187,1026372231,1002573079)+W(7,1049236461,-1112347607,-1095496747,1048538630)+W(8,1028224647,-1106754238,-1110453128,1036483715)+W(9,1032249619,1034940919,1022594646,-1107309152)+W(10,-1088682480,1036467963,-1096153349,-1112114883)+W(11,1040581836,-1106253388,-1105549173,-1121128467);WS(-1090464684,1058848194); +sum1=W(0,1035807069,-1106022588,-1104784595,1038070654)+W(1,-1091590511,-1104101108,1027584334,1059156269)+W(2,-1111666744,-1128618637,-1100086527,1049775661)+W(3,-1107342224,-1112865880,1048797564,-1140651524)+W(4,-1084437581,-1088742755,1062566262,1060192817)+W(5,-1128690758,-1097281200,1037690576,1050662239)+W(6,-1102596230,-1117573217,-1115304422,-1115845272)+W(7,-1087393870,-1095911543,1043041013,1060113046)+W(8,1024450616,-1151911514,-1117869728,1050391262)+W(9,1011767229,-1105151431,1026901973,1022142646)+W(10,-1102839322,-1088896680,1057383999,1054886405)+W(11,-1131868338,-1104457275,1039830925,1042443855);sum2=W(0,-1173421195,-1100970530,1050458431,-1106952896)+W(1,-1136957987,1029901269,1037511626,-1113206734)+W(2,-1112584615,1045345833,-1116273053,-1152575873)+W(3,-1117103305,1049093414,-1068828969,-1084179073)+W(4,-1106205415,-1105390455,1078393261,1063723378)+W(5,1031320371,-1099252776,1034474614,1039247706)+W(6,1015202727,-1093960872,1054525389,-1082769727)+W(7,-1128426057,993579659,-1106048166,1065452472)+W(8,1035573879,1040309898,-1100143257,1032907306)+W(9,1043872404,-1107157710,1038352192,-1098029126)+W(10,-1114758982,1034755506,1030855073,1031385535)+W(11,-1124055116,-1124561432,1034533524,-1155923695);WS(-1106782638,-1120193880); +sum1=W(0,-1116040418,-1121939617,1021367862,1020741911)+W(1,-1112821605,-1100446872,1050945756,1053259451)+W(2,-1111424287,-1129092267,1049499553,-1101282812)+W(3,-1109539853,-1098608828,-1126436322,1038644232)+W(4,-1091353929,-1085596156,1065255335,1055524943)+W(5,1016236516,1033532871,-1101475552,-1100504250)+W(6,-1101880327,993980163,-1112066734,1043522250)+W(7,-1096552606,-1090468372,1048874997,1061719830)+W(8,1022700239,-1114668904,-1114054607,1025835692)+W(9,-1115252655,-1133833389,1033129938,1018349205)+W(10,-1106280862,-1102788916,1042923217,1051405991)+W(11,-1147278953,1028803059,-1104899626,1027947689);sum2=W(0,-1115580494,1024834555,1036673453,-1113068388)+W(1,-1091718951,1052150318,-1098466798,1039529972)+W(2,1046645532,-1104586573,-1080701891,-1076395174)+W(3,-1115483686,-1117546792,1028813378,-1118880240)+W(4,1043613567,1062484975,-1115055672,1043501593)+W(5,1009076111,-1093753132,1066750300,1068474066)+W(6,1043490929,-1105092918,1027909744,-1107832014)+W(7,1045088246,-1094456673,1042504898,-1117282076)+W(8,1036864955,1022104546,1049333443,-1097140180)+W(9,1040415904,-1119502452,1011592783,-1122240512)+W(10,1030923561,-1123953380,-1112704202,-1107365158)+W(11,1033514298,-1115391680,1043999999,-1109881554);WS(-1093231703,1042706757); +sum1=W(0,1040624182,1000558899,1026075841,1032826937)+W(1,-1084803183,-1099119122,1052553144,1058499572)+W(2,1041579305,1031885534,1025447538,-1104136529)+W(3,-1110755278,-1127770315,1036684171,1032961819)+W(4,-1083389465,-1081334022,1062021249,1061343357)+W(5,1032264780,1018739433,-1112317122,-1114092422)+W(6,-1106938311,1019575916,1036416025,1034757510)+W(7,-1087386813,-1090036539,1057695045,1060752603)+W(8,1031902455,1037874311,-1109030926,-1132554758)+W(9,-1114624210,1042264396,1040004261,1015758976)+W(10,-1098198604,-1088285503,1058906011,1051786740)+W(11,1027119072,1035404188,-1096739300,1012060669);sum2=W(0,1057942802,1047102485,-1101426979,-1134545280)+W(1,-1067197419,-1071603316,-1084592242,-1072425931)+W(2,1074141781,1060445087,1042726179,1049446840)+W(3,1055001204,-1096203167,1036306510,1012752443)+W(4,-1077093049,-1098326846,-1123894686,-1079302223)+W(5,1060645469,1037955576,-1129334697,1050812050)+W(6,-1114902087,-1096420171,-1111393843,1034320105)+W(7,1072541263,1067609499,1062084093,1062181631)+W(8,-1094473234,-1087350702,-1093274589,-1097319760)+W(9,-1101073471,-1091559913,-1108867307,1046638158)+W(10,1073214169,1078744623,1073505700,1064536824)+W(11,-1085693573,-1077663090,-1094526709,1001153868);WS(-1075107862,1049521772); +sum1=W(0,1045206278,1041173528,987763517,1027861131)+W(1,1051717721,1049572700,-1097093508,-1086495609)+W(2,1031434621,-1144572069,-1116084523,1033503081)+W(3,1032319275,1040210256,1033675992,-1129668766)+W(4,1055584810,1064397290,-1081944455,-1086275954)+W(5,-1140119493,1027980366,995768539,1009361560)+W(6,1041485791,1044520444,992091051,1016072268)+W(7,1059363461,1055988184,-1096923684,-1082045908)+W(8,-1129633421,1024276072,-1112468587,-1112276757)+W(9,1042655839,-1112688453,-1120420163,1026084697)+W(10,1051323143,1050124978,-1094413520,-1093981119)+W(11,1000619058,1025196738,1033578820,1005879363);sum2=W(0,-1091543751,-1125142534,-1107297920,1033523983)+W(1,1051542012,-1103344470,1031510683,1048034710)+W(2,1041022978,-1121264057,-1117305947,1024239879)+W(3,-1100365589,-1121112319,-1097553497,-1109353447)+W(4,-1120961303,1061214811,1061520608,995045613)+W(5,-1115033235,1053722991,1044020024,-1099173366)+W(6,-1119424675,-1094244068,987526362,-1102290887)+W(7,-1094266425,1043830132,-1103162896,1042981818)+W(8,-1097363289,1047286054,1046119446,-1093433218)+W(9,1033606211,-1100627225,944749371,1022298470)+W(10,1041952964,1041818078,-1098189213,1052169844)+W(11,-1106943326,1031561067,-1096785580,1043499670);WS(-1097146583,-1102489480); +sum1=W(0,-1102624204,1033907292,1035066361,-1121239074)+W(1,1043173384,1051162503,-1096659727,1041928668)+W(2,1016656554,995611334,-1108685857,-1118777253)+W(3,-1104909116,-1109600459,1032257412,-1110655283)+W(4,1057278053,1050132159,-1091326393,-1123609439)+W(5,1009112868,1037330963,-1100309385,-1102566959)+W(6,-1113387282,-1114213060,1014217354,1020382076)+W(7,1049365769,1049080395,-1098203983,-1105975127)+W(8,-1111738159,1033561904,1040792061,-1101876333)+W(9,-1114763275,-1123950514,-1120529307,1032256145)+W(10,1033542535,1055699093,-1093952115,1045101428)+W(11,-1149295615,-1122689753,1035959564,-1121020400);sum2=W(0,1039849292,-1106305989,-1107119695,1030001048)+W(1,1046837828,-1095733546,1060202814,-1106927121)+W(2,-1116147800,-1124391765,1012779430,-1131959957)+W(3,1019090837,1035696383,-1115026335,1023713698)+W(4,1043085465,1053508746,1057308499,-1104587624)+W(5,1028873647,-1104339358,1038120705,1026454649)+W(6,1036481868,1023388499,-1112691697,1024715164)+W(7,1034862818,1046794790,-1112160637,1047684818)+W(8,1045294658,-1119391248,-1101425448,1037173687)+W(9,-1146519572,-1112564365,-1147275412,1024758511)+W(10,-1094465043,-1083960309,1041456307,-1093257675)+W(11,-1156574008,1012709310,-1094791365,1036335613);WS(1057303084,-1084740383); +sum1=W(0,-1105987664,-1104417576,1023904890,1025949163)+W(1,-1097863693,-1093717272,1048292239,1034968156)+W(2,-1130932027,-1126920426,1042713619,1046214631)+W(3,-1097440039,-1106403568,1022060320,1033327896)+W(4,-1088500414,1058205452,-1134851644,1057303604)+W(5,1012093510,1040636140,1041892896,1043920086)+W(6,1043670267,1041763972,-1114170862,-1131905805)+W(7,1059877080,1058731430,-1089247692,-1082452830)+W(8,1028551783,1041063330,-1107457363,-1101986947)+W(9,1037885311,1019385429,-1109381346,1021513971)+W(10,1046703382,1049842950,-1097845612,-1093401571)+W(11,-1143718184,1016340900,1031126152,-1110573172);sum2=W(0,-1100989715,1036240143,1040446621,-1097593869)+W(1,1061153405,1047874592,-1100851860,1026566131)+W(2,-1095509343,1040237386,-1096668864,1050695083)+W(3,-1105186205,-1119554977,1036994425,-1107347821)+W(4,-1103469514,1074408805,1069594194,1046892012)+W(5,-1114614656,1040210470,-1103368475,-1104864053)+W(6,1048367016,-1095197585,1043906150,989701019)+W(7,-1110319007,-1079941721,1031148367,-1107809286)+W(8,-1105386934,1031716423,-1084422687,-1100341899)+W(9,-1102913875,1041272891,1016581730,1040271244)+W(10,1042791078,-1086296266,-1105136265,1038853877)+W(11,1036206107,1042594729,-1099178193,-1093040701);WS(-1085311468,1078025451); +sum1=W(0,1033236492,1042717314,-1123523234,-1114246985)+W(1,1051596674,1050764301,-1100167817,-1126048573)+W(2,-1109388771,1021849401,-1101525701,-1110129580)+W(3,1046675224,1030027079,1017942127,-1123774423)+W(4,1057423711,-1138337956,1002547123,-1090923842)+W(5,1031509177,-1126623147,-1117387765,-1102550347)+W(6,-1107516674,-1105985470,-1134274761,1018695644)+W(7,-1085962671,-1101362115,1051174149,1061445386)+W(8,-1118825262,-1107617348,1037275627,1045061525)+W(9,-1118366597,-1108369993,1032511109,973249598)+W(10,-1098415672,-1105953621,1047097650,1032724353)+W(11,-1124427728,-1115961017,1025818592,1033244340);sum2=W(0,-1131031713,-1114557735,1030359787,-1123353384)+W(1,1047725718,1042470619,-1123787418,1029311455)+W(2,-1113968956,1045218010,-1121374979,1051601031)+W(3,-1125418898,-1132430472,1015567503,1024787123)+W(4,-1106551206,-1097880179,1049323738,-1099438470)+W(5,1044805763,1039658119,-1088308991,1049816965)+W(6,1029672716,-1118070691,1026077135,-1115408082)+W(7,-1089568094,-1166364565,1050505809,1042547290)+W(8,1042126156,-1115384233,1026888229,-1098255621)+W(9,-1125125186,-1135395683,1015951538,-1137211259)+W(10,-1115324497,1028809582,1040847724,-1110579463)+W(11,1043221816,1014731468,-1102185033,-1112338809);WS(1060142060,1042832150); +sum1=W(0,1036648197,-1142445829,-1121488955,1031397804)+W(1,-1093104885,-1094159296,1051097024,1052129567)+W(2,1030014814,1024131190,-1138833071,-1125587404)+W(3,-1117943062,-1111782928,1018827426,1033996248)+W(4,-1086111346,-1081757070,1065668620,1054892021)+W(5,1024270930,-1123778927,1032794495,1028704007)+W(6,-1108508447,-1106903604,1033609702,-1131717262)+W(7,-1087336873,-1090845580,1058770516,1059881804)+W(8,1022586319,-1125662417,-1104469332,1047817147)+W(9,1015606653,-1115637854,1029196868,1010765225)+W(10,-1100487494,-1126749404,1054801908,1050176059)+W(11,1032196289,1019613157,-1091639031,1038701961);sum2=W(0,1043282989,-1105412866,1013621039,1016709191)+W(1,-1104055195,1038685325,1048947993,-1105914972)+W(2,1031619176,-1128320153,-1143937773,-1113893232)+W(3,1034830675,-1123744731,1033829499,-1134054043)+W(4,-1084033248,-1072142874,-1088942993,-1104630078)+W(5,990218298,1026126526,-1098435347,-1103493551)+W(6,-1107183956,-1110083630,1014723479,-1133247239)+W(7,1073971039,1076386430,1055362845,-1093767876)+W(8,1042783259,-1103699955,-1104225446,1052470850)+W(9,-1115844306,-1097083153,-1113297030,1025542948)+W(10,-1098251720,-1090433741,1064727508,-1111303066)+W(11,-1123473137,1025388740,-1091328171,1051939911);WS(-1086199532,1054743650); +sum1=W(0,1032011277,-1095519909,1027498242,1034444474)+W(1,-1097849454,-1090625833,1053262121,1048862696)+W(2,1027368614,-1113781807,1040908045,1006964268)+W(3,-1107222607,-1152811127,1023783640,1040848158)+W(4,-1084999869,-1113365765,1030342167,1061389071)+W(5,-1118338586,-1108967739,1038235355,1038795271)+W(6,1044283945,1044573214,-1115850147,999869046)+W(7,1060145155,1054594461,-1095010778,-1084989084)+W(8,1006059384,1028815960,-1101807134,-1104327823)+W(9,1036275699,-1123084051,-1134397103,1025498402)+W(10,1045643928,1033574715,1032418005,-1106712265)+W(11,-1124545277,-1135640905,1015954881,-1122717633);sum2=W(0,1042608106,-1089209738,1041383757,-1098769930)+W(1,-1093087039,1038811718,-1121408570,-1101852353)+W(2,1036192806,-1121276186,-1093098827,-1139600545)+W(3,-1102323575,-1105226719,1040055926,1031909130)+W(4,-1089123880,1069194195,1065973699,-1108783974)+W(5,1045867083,1023817866,-1098519743,-1121335963)+W(6,-1124786133,-1117623756,1040275414,-1112037460)+W(7,1026907074,-1106112227,1057999228,1049738412)+W(8,1042688929,-1122635193,-1101165651,-1089198426)+W(9,-1131302943,1048083051,-1113621249,-1111784639)+W(10,1020629449,-1107530612,1025491254,-1111524780)+W(11,1041146873,-1095495518,1048264427,-1109243346);WS(-1090983255,-1089207473); +sum1=W(0,-1126565928,-1113602338,1031895551,1011536056)+W(1,-1101680475,-1097154360,1054038520,1055178415)+W(2,1026884961,990918528,-1121652462,-1102945718)+W(3,-1111099810,-1099647257,1041335941,-1113368985)+W(4,-1089575247,-1084973552,1064470249,1055473117)+W(5,1022227241,-1151944468,-1121284913,994604183)+W(6,-1102367072,1030939267,1033755607,-1112820133)+W(7,-1086493203,-1097159533,1050197537,1063942234)+W(8,-1119623498,1029397803,-1111487017,1041044307)+W(9,-1111909392,1034973975,1029129223,-1120463213)+W(10,-1096914715,-1096995926,1042393881,1058279198)+W(11,-1127714823,1024652821,-1111098786,1017418960);sum2=W(0,-1138668162,1023930211,1000134020,1008868714)+W(1,-1108603395,1041622837,-1099344177,988655570)+W(2,1018452757,-1115444075,1025638720,1033342078)+W(3,-1108628571,-1114490385,1026383992,-1131179173)+W(4,-1131013053,-1087427617,-1066369231,-1064898888)+W(5,1023801183,-1118168395,1033730604,-1133763810)+W(6,1047990867,1030525898,1033178726,-1108980541)+W(7,-1095163420,1057379348,1086324754,1075540559)+W(8,1033324797,-1116567631,1031531103,-1117896039)+W(9,-1131668265,-1138114226,1025874080,-1113100227)+W(10,1040828448,-1109206595,-1100090533,1049763634)+W(11,1028372534,-1128577333,1025251971,-1119632759);WS(-1109283164,-1114463829); +sum1=W(0,1048505142,1006853751,1010065376,1026307305)+W(1,-1087851802,-1096622464,1051849183,1056046207)+W(2,1043738183,1033008793,1034233556,-1097387850)+W(3,-1122796048,-1121781501,1032762791,1036887575)+W(4,-1086026376,-1080983673,1062361681,1060373686)+W(5,1030721871,1031320492,-1116217316,-1106692609)+W(6,-1106474773,-1140109366,1036926348,1038442146)+W(7,-1086759863,-1088322398,1058739944,1060935143)+W(8,1024808165,1037732587,-1111740214,-1136008963)+W(9,-1113784606,1033209828,1042339968,983730417)+W(10,-1098544579,-1085562739,1060958338,1052729243)+W(11,1028455576,1032429188,-1098996574,973353381);sum2=W(0,-1088826877,-1093870598,1036675590,1033103311)+W(1,1082157528,1075036637,1064863709,1076551262)+W(2,-1073488400,-1083381518,1044533603,-1088761642)+W(3,-1096260803,1038770367,-1139597621,1035316039)+W(4,1074566779,1054121358,1054257493,1066303868)+W(5,-1087052440,1034260530,-1096732938,-1088656095)+W(6,-1120383141,1054470917,1036924272,-1104037187)+W(7,-1075712309,-1075955022,-1080791393,-1086745184)+W(8,1055295113,1062460380,1058516172,1026461691)+W(9,1048854624,1052968175,1033604811,-1111374359)+W(10,-1073360354,-1068055688,-1074269835,-1081541832)+W(11,1061463967,1072405502,1036957577,1036676016);WS(-1073690779,-1087724268); +sum1=W(0,1040645890,1024788392,944113971,1020006630)+W(1,1040537741,1022063376,1033313762,1037569760)+W(2,1011752087,1010250996,-1117962707,-1102207443)+W(3,1048604230,-1124203663,1026519064,1028328440)+W(4,1037819609,-1081034849,-1097395091,1026748704)+W(5,1035208397,-1107990331,1030158086,1018608989)+W(6,1026558293,-1108217132,1026744019,1023877839)+W(7,-1089181115,-1095782133,1052406658,1058432566)+W(8,1030700463,-1115106384,1028902900,1048090929)+W(9,1024907750,-1124509669,1037411798,-1116930962)+W(10,-1103915032,-1095058991,1052615509,1046357449)+W(11,1006665970,-1120315546,1037074644,1040820950);sum2=W(0,991782552,1025479068,-1115074830,1036147454)+W(1,-1102354425,1031211776,-1096384442,-1100036784)+W(2,1037581214,-1107514244,-1114551496,-1132125723)+W(3,-1111873890,1054093522,-1109526737,-1143660011)+W(4,-1098733186,1061883500,1036720443,1042154750)+W(5,1036528495,-1113752408,1042458762,-1120425773)+W(6,1016478163,1035621794,1006285882,-1113309480)+W(7,1040999099,-1099055155,-1111840809,1015496998)+W(8,-1131440878,1009305230,1021928735,-1118319659)+W(9,1027286665,-1108696429,1026243607,-1115649745)+W(10,-1117281017,-1120753705,1024623035,1028637267)+W(11,-1115311515,-1117838632,1033776741,-1113807339);WS(1053167575,1034582410); +sum1=W(0,-1135820801,1041430288,-1105499654,1023109013)+W(1,1042183330,1015167422,1045138183,-1107146278)+W(2,1038375967,-1103059717,1048594337,-1106326923)+W(3,-1099071824,1051022760,-1103829756,1047073940)+W(4,-1110119411,-1114407921,-1098544246,1006706653)+W(5,1036901240,1019390619,1042439875,-1101264321)+W(6,-1103780951,1038026111,1029509866,-1134567319)+W(7,1029794991,1025810371,-1101742889,1035133548)+W(8,-1122256838,1039002364,-1124355817,-1115149997)+W(9,-1144576488,1034415069,1028951523,-1107075490)+W(10,1020673517,-1144644710,-1110494113,1040882462)+W(11,-1113322768,1025775953,1017843520,-1133994400);sum2=W(0,-1127684796,-1122451669,1024932078,1007469645)+W(1,-1134400734,-1114161855,1029479215,1026289720)+W(2,1012304630,1018258842,1018968072,-1121586613)+W(3,934668744,1046133075,-1106895484,-1123529450)+W(4,-1092503803,-1118826374,-1101979386,1048216767)+W(5,-1105610792,-1091642753,1057475450,1055026065)+W(6,1050482770,-1100501045,1026396887,-1154152567)+W(7,1054881826,1054831843,-1104578417,-1086100405)+W(8,-1094138317,-1097381938,1037697257,1057991283)+W(9,-1112663810,-1145059796,-1118589447,1034932657)+W(10,1037309396,1034243151,-1120799353,-1110628430)+W(11,-1108645190,-1109776821,1035239909,1041220013);WS(1065106092,1009251236); +sum1=W(0,-1119086128,1041681344,1015119794,-1127594260)+W(1,1041658930,1053952044,-1108480942,-1106710454)+W(2,999711717,-1128362792,-1098626929,1028936149)+W(3,1038033220,-1103164984,1030756271,-1105935716)+W(4,1059673337,1035410928,1048660750,-1085761952)+W(5,1030156593,-1105711219,1042075767,-1106493133)+W(6,-1097628571,-1096661826,1033714469,1015463627)+W(7,-1083076739,-1097132616,1057312254,1062385221)+W(8,-1109139763,-1109546740,1042769246,1048795361)+W(9,-1162082196,1037645501,1032817313,-1121831017)+W(10,-1100422942,-1134248242,1038003425,1045270286)+W(11,-1128821631,-1113038632,-1109564844,1033263484);sum2=W(0,-1111982251,-1109318355,-1115537349,1026504012)+W(1,1025515301,1036029355,1037274256,-1115575890)+W(2,-1121134093,-1118959675,-1140512157,1038047283)+W(3,-1126991046,-1114485349,-1120289237,1004448402)+W(4,-1105715099,1035923056,1046084064,1032461625)+W(5,966777949,1001443794,-1127252256,1031934837)+W(6,1031030421,1036795295,1023273402,-1116193727)+W(7,1039615788,1034803763,1033981186,-1104386736)+W(8,-1126229172,999509622,-1108137243,1008094609)+W(9,1038895038,1037382021,-1116296115,-1106169890)+W(10,-1111316562,-1126611440,1014573341,1034486696)+W(11,-1115420717,-1121268263,-1109430807,1013721630);WS(1058235500,1054922309); +sum1=W(0,-1110452882,1026999796,-1115091447,-1126843838)+W(1,1054965252,1035486938,-1109530936,-1096439037)+W(2,-1113819273,-1112039092,1040994960,-1126708475)+W(3,1027596138,1043595317,-1097782353,1037063794)+W(4,1052521111,1054616871,-1080972858,-1126567064)+W(5,1029145158,-1103625129,-1135709192,1048136923)+W(6,1026915457,1051692426,-1106496120,1017345397)+W(7,1059777872,1055199219,-1092439359,-1087153329)+W(8,-1113712109,-1133876016,1025849689,-1117730271)+W(9,1033470169,1047889704,-1111050604,-1124168315)+W(10,1049045985,1042302776,-1101856358,-1096481402)+W(11,-1120397392,1018059916,1048178521,-1109862614);sum2=W(0,-1104671284,1026757765,1026047005,1032658614)+W(1,-1107649550,-1093450531,-1146410551,1033357456)+W(2,1014985523,-1108588814,1045006287,-1107785448)+W(3,-1106565422,1040092458,979115576,1016793814)+W(4,1029536101,1048902638,1049738304,-1129670058)+W(5,-1114405495,1032866808,1031141497,1032863350)+W(6,-1118382609,1024555245,-1120340424,1025048255)+W(7,1043845633,1031379649,-1099524683,1047130549)+W(8,-1128051766,1011865867,1016575718,1024835039)+W(9,-1115048442,-1102456829,-1113479651,-1124528004)+W(10,1015256822,1032535412,-1143577495,-1114147283)+W(11,1016407002,-1121997281,-1140327483,-1115840886);WS(1050344663,1040331465); +sum1=W(0,-1123846924,1032620906,1027008397,-1119034750)+W(1,1016005498,-1104369525,-1145305726,1038870821)+W(2,-1180899430,-1117862216,1047408652,-1113185550)+W(3,-1107606109,-1113228665,1034001074,-1123135107)+W(4,-1101093248,-1091899011,1055978044,1045963311)+W(5,1031141157,1025902913,1019406818,-1106188838)+W(6,-1104523524,1044228977,-1109811775,-1165785906)+W(7,-1089807144,-1100340494,994921841,1061494191)+W(8,995937181,-1126170822,1039673315,-1133495032)+W(9,-1136436803,1015486907,1021442477,1012082163)+W(10,-1113047285,-1121306753,1032566715,1043858443)+W(11,-1155810234,1012720916,-1110918342,1003314783);sum2=W(0,1006857268,1027629321,983063098,1017323653)+W(1,-1096858156,-1096058068,1041250623,1027026905)+W(2,-1108630874,-1103954988,1069736593,1057582691)+W(3,1040636195,1050922570,-1136855038,-1124332548)+W(4,-1081757810,1046692173,-1095854749,-1098379711)+W(5,1039138402,1040290673,-1092586095,-1098564102)+W(6,-1107256285,1024268384,-1115428487,1038193266)+W(7,1055388353,1044471504,-1107079153,-1124475180)+W(8,1026430908,-1135051275,-1099842491,-1101296593)+W(9,-1105738834,-1112368096,-1162541650,1037749325)+W(10,1018283467,1034757871,1041041721,1035306909)+W(11,-1127494735,-1128054004,-1116072515,-1130236866);WS(1064629676,-1098084920); +sum1=W(0,1017516913,986968687,1017176603,1033302207)+W(1,1004101612,-1094217842,1048067236,1037844037)+W(2,1023773169,1036346276,1032944847,-1100831258)+W(3,-1093133598,-1136867787,1036523218,1043155505)+W(4,-1107275372,-1083111259,1054752956,1059745345)+W(5,-1109611315,1036061697,-1111571193,-1118901210)+W(6,-1099849236,-1112073298,1036902751,-1135635048)+W(7,1036740290,-1089373007,1049105955,1054803234)+W(8,-1130856180,-1178541510,1044914424,-1104247276)+W(9,1015173986,-1108314079,1031815708,-1154473427)+W(10,1007182507,-1096296960,1049045791,1045303547)+W(11,1028817260,-1121119813,1028425028,1032262742);sum2=W(0,-1106561538,1041892626,1018758860,1031116538)+W(1,-1097318271,1050772655,-1122918288,1041324255)+W(2,1003684433,1005733025,-1113042451,1038093550)+W(3,1060901401,-1094547881,-1142239225,-1093507837)+W(4,-1089173269,1050575163,1059998586,-1090730175)+W(5,1036702490,1007559836,-1096117806,-1103574570)+W(6,1048344650,-1106548880,-1115133937,1008547208)+W(7,-1105982083,1062167006,-1107738784,-1105692057)+W(8,-1111284039,1032209739,-1093777588,1045224094)+W(9,1031802380,1032935937,-1116833334,1037272918)+W(10,-1115007264,1051274636,-1105354579,-1109731964)+W(11,-1119496571,1039213738,-1097190188,1040225760);WS(1059570988,-1104849743); +sum1=W(0,-1105217736,-1117057793,-1114327981,1015935639)+W(1,1055580097,1051203348,-1095539196,-1100062838)+W(2,1027695934,-1122995670,-1104422643,-1114680436)+W(3,1045549308,994695167,-1100671580,1032097032)+W(4,1057098153,1065307314,-1081463016,-1097913193)+W(5,1026067698,-1115820943,-1100709080,1035503236)+W(6,1019924475,1044124420,-1146837726,-1118415719)+W(7,1060408535,1060044676,-1103538521,-1088685699)+W(8,-1121911751,1040976712,-1127513406,-1100882497)+W(9,-1133264506,1026902699,-1106017873,-1128662677)+W(10,1048658511,1058793797,-1096642336,-1090424260)+W(11,-1109730008,1032897105,-1112552037,-1106885414);sum2=W(0,-1102635520,1042860418,1026251680,-1101738300)+W(1,-1107186076,1037904592,1045813894,1049960021)+W(2,-1109595133,1032162510,1043360780,1031463651)+W(3,-1118004862,-1097577131,-1097132336,-1096487254)+W(4,-1101520598,1050699569,1062244087,1012147620)+W(5,-1144663840,1017587638,1042220045,-1099464580)+W(6,1034939290,-1107323885,-1098301296,-1103125896)+W(7,-1118944274,996952385,1018590462,1030928730)+W(8,-1122088198,-1112243029,-1143727552,-1129575892)+W(9,1046219299,-1101571742,-1102991820,-1145491968)+W(10,-1132230456,-1120981264,1048890187,1042676852)+W(11,1028948530,-1108091801,1022002534,1038679603);WS(-1095386967,-1111219145); +sum1=W(0,1046105185,-1114353482,-1130549149,989878260)+W(1,-1089927208,-1092958347,1044731284,1042696371)+W(2,1030962098,1015099027,1029760895,-1127509006)+W(3,-1126247292,-1101798869,1027516453,1027494660)+W(4,-1090136954,-1086407791,1066759339,1059356463)+W(5,1002268463,1008759050,-1134143337,-1123276603)+W(6,-1109199416,-1149170463,1029536895,-1138329195)+W(7,-1086208082,-1087382795,1056388995,1060963410)+W(8,1030926587,1024487352,1028489291,1037957160)+W(9,-1110945897,1041043200,1031794584,1016226972)+W(10,-1099705531,-1090430272,1048385630,1052477254)+W(11,1027177352,-1155852515,-1116367629,1033794703);sum2=W(0,-1107393101,-1118272906,-1155239869,1037152773)+W(1,-1071982339,-1066777138,-1123365743,-1107499267)+W(2,1034063245,-1111285661,-1099174901,1050177526)+W(3,-1121008946,1040803769,1031799544,-1110337901)+W(4,1065602467,1078719649,-1091451910,1053226346)+W(5,-1111810642,1032887971,1051522302,-1114100047)+W(6,1040826838,-1129277077,1027082675,-1115579003)+W(7,1072207876,1012365693,984589146,1036591998)+W(8,-1105619991,1027337883,1036247818,-1112448128)+W(9,1044810576,-1128372019,1027786160,-1125050611)+W(10,-1114663567,1027240586,-1115106721,-1111221822)+W(11,-1128259763,-1110086921,1010421237,1024897040);WS(-1090330604,-1095913405); +sum1=W(0,-1155846064,-1158857313,-1123891981,1020138108)+W(1,1060107168,1041623909,-1099259748,-1089580553)+W(2,-1129005794,1027969480,1034391623,1026904097)+W(3,1042832881,1026174194,-1104251929,1027835331)+W(4,1061453552,1065434151,-1083565678,-1086143680)+W(5,-1126805065,1015124739,-1108664129,-1115844409)+W(6,1041459232,-1107002233,-1115340623,1036891437)+W(7,1058328348,1058061687,-1094838563,-1087459168)+W(8,-1133565543,1018898230,-1108388469,-1103857816)+W(9,1043482052,-1101325435,-1111402939,1034060158)+W(10,1046178603,1056232524,-1097944271,-1096454718)+W(11,-1128371111,1016813002,-1124315511,-1124051644);sum2=W(0,1032645553,-1106534525,994818552,-1123501879)+W(1,1073269342,1086127434,1055123028,1031823713)+W(2,-1134706270,-1108902493,-1106004733,1039470942)+W(3,1041404870,-1104982451,1026428551,1024190209)+W(4,-1097366650,-1064048639,-1080276792,1003420836)+W(5,-1131894299,1040747994,1029604730,1048036108)+W(6,1042593674,-1115833227,1033345966,-1113685733)+W(7,-1073275019,-1090368136,1051480126,-1127504591)+W(8,-1114192145,1028687353,-1127043711,-1102930579)+W(9,1034301013,1019409377,1032770548,-1113104927)+W(10,1039074558,-1104405577,1017007809,-1116624943)+W(11,-1110363669,1028902826,1023925896,1016207563);WS(-1090401964,-1152005757); +sum1=W(0,-1110378885,-1114833045,1027213860,-1107975723)+W(1,1036253290,-1126602324,-1095679285,-1108756369)+W(2,-1113670180,-1122691487,1031108853,-1114963960)+W(3,-1110030634,-1088517567,1041527967,-1098681011)+W(4,1055690689,1071039479,1070380432,-1106296032)+W(5,-1107558750,1041737494,-1089232274,-1100045596)+W(6,-1108968043,-1117626874,-1117487349,-1104614908)+W(7,1052643167,1027420045,-1098750614,-1108442736)+W(8,-1114805320,-1114809497,-1149243844,-1099409217)+W(9,1013150495,-1107640642,-1114124023,-1139447119)+W(10,1037720897,1028231256,-1109258534,-1103582017)+W(11,-1129003237,-1115685308,1004205268,-1112117145);sum2=W(0,-1104603794,1042476400,-1099535875,1032241318)+W(1,1040884292,-1098717699,1036274242,-1110024851)+W(2,1041491703,-1106264274,1017815860,-1102517567)+W(3,-1090035137,1058560544,-1088862448,1055385702)+W(4,1054345172,1049287225,1070638870,-1088795135)+W(5,1050847172,-1097728340,1049908300,-1094964358)+W(6,-1088861159,1052772694,-1109469239,1049303281)+W(7,1045145516,1028821082,-1106832655,-1093985609)+W(8,-1120926078,1040141480,-1121780800,-1104972980)+W(9,-1098593341,1040732759,-1128383244,-1107728961)+W(10,-1095210561,1053404675,-1094544594,1040915158)+W(11,-1097969166,1042680505,-1097835418,1046695263);WS(-1070853435,-1079594702); +sum1=W(0,1015638464,1041167744,-1129832370,1031368074)+W(1,-1115839497,-1102391672,-1117069532,-1114370347)+W(2,1032466078,1017764904,1027397066,-1115223191)+W(3,1035847262,-1103546680,1015854174,1034753191)+W(4,-1103157041,-1091637800,1064504443,-1123068615)+W(5,1032880216,-1129698458,-1115479934,-1112317379)+W(6,-1113675090,1024462894,1016952500,1034404179)+W(7,-1080200908,-1096184888,1053421228,1061831318)+W(8,1015162251,-1140051844,1024063661,1034003429)+W(9,1024493276,-1128491667,1030231874,-1121119193)+W(10,-1127920108,-1114780422,1047845552,1039689052)+W(11,-1133040549,-1121925385,-1108195108,1021986479);sum2=W(0,-1112484873,-1102332364,1043473407,-1106137478)+W(1,1035747177,-1115086293,-1095817987,1057355655)+W(2,-1111886750,1028632460,-1132505032,-1121112608)+W(3,-1092913054,-1107744995,1026389244,-1106937584)+W(4,1023360745,1072123343,1065853704,1065744344)+W(5,-1106034045,1034294011,-1092294539,-1113186427)+W(6,-1097742336,1043622402,1037682857,-1112665680)+W(7,-1079419356,-1106562006,-1127502696,-1081387458)+W(8,1024287965,1025382780,1037780507,-1121542644)+W(9,1020098037,1022975237,-1132137458,-1122471729)+W(10,-1106082519,-1126279403,-1141866869,-1107102958)+W(11,1002478149,-1184105122,1036152561,1042075138);WS(1049779927,-1112776705); +sum1=W(0,-1118237477,1043483133,-1114011991,1028071903)+W(1,1029391902,-1104983021,-1098367878,-1102803275)+W(2,-1146402448,1024272361,1030141823,1034486619)+W(3,1007633232,1035764138,-1119065733,1029458468)+W(4,1052808064,1066199650,-1094340312,-1088820906)+W(5,-1136262168,-1116603171,1028311666,1041927295)+W(6,1035328577,1034435922,1021654911,-1132325110)+W(7,1053987355,1056392483,-1090240908,-1080604425)+W(8,1022508086,-1120600656,1033716813,-1120802495)+W(9,-1138188744,-1122000063,-1114327724,-1140102008)+W(10,1036299814,1048826612,-1113705707,-1148292210)+W(11,-1178578023,1020743116,1019304377,-1137351220);sum2=W(0,1038214390,1026252154,-1105084280,1032570045)+W(1,1049712324,-1092505394,1013797397,-1105258373)+W(2,-1123221706,1042796766,-1106628914,-1104412018)+W(3,1040403525,-1094267982,-1106537061,1038138439)+W(4,1060934721,1059180753,1076181184,-1089116471)+W(5,997194667,1031304969,-1100140938,-1095609080)+W(6,-1111441511,-1113353460,-1115643975,1040196930)+W(7,-1094660144,-1116351798,1025617857,-1077048432)+W(8,1025898916,-1113508292,1035183993,-1105239307)+W(9,1041615042,1045634969,-1115802712,1030892929)+W(10,-1112051433,1036834683,1030853641,-1099622062)+W(11,1036578837,-1114596985,-1126459673,-1108612586);WS(1046079918,-1101410372); +sum1=W(0,-1128322399,1041896248,1028420729,-1119247786)+W(1,1040172212,1029165630,1041276767,1042510685)+W(2,-1115138862,1035447066,1023180436,-1102544268)+W(3,-1105916230,1048641796,992275696,-1112243383)+W(4,-1093769957,-1086983984,1049660162,1052547749)+W(5,-1116787216,-1126725978,1051181214,-1094151845)+W(6,-1106854731,1031954663,-1106451742,-1122025413)+W(7,-1090223605,-1101840568,1042746961,1058242473)+W(8,1020616971,-1106918309,1035662026,1034028133)+W(9,1008473970,-1111364501,-1132155589,1031954516)+W(10,-1131429676,1034663574,1038481040,1045913078)+W(11,1031591591,-1113758304,-1123376855,-1136064862);sum2=W(0,-1109775790,-1114337335,-1145824639,-1141998719)+W(1,-1123003936,-1105393491,1032184652,1044487768)+W(2,-1116651188,1028260552,-1105870753,-1128896096)+W(3,1035421278,-1094152732,1020781312,1031031156)+W(4,1043275908,1060925239,1023745864,-1118695686)+W(5,-1117301622,-1118185274,-1116720242,-1123077850)+W(6,1019796096,-1109500163,1035727822,1022361784)+W(7,1035441608,-1129786704,1044822196,1018742928)+W(8,-1111756371,1028382728,-1106753069,1005384511)+W(9,-1126048860,-1133379360,1018984000,-1106658345)+W(10,-1154747838,-1114483694,1040264262,1018234504)+W(11,-1112885074,1013789936,-1115363912,-1109895735);WS(1065850966,1065849900); +sum1=W(0,1023026535,1037817733,1016251913,-1148044715)+W(1,1051437895,1044690723,-1090259708,-1096615656)+W(2,1009078433,-1134993406,1031445334,1037565454)+W(3,1025496281,1030608138,-1122606683,-1121600570)+W(4,1060547800,1067874188,-1089114938,-1086496425)+W(5,-1122338716,961099943,-1103278290,-1123828273)+W(6,1035148220,1038603949,-1123929445,-1119487441)+W(7,1061971613,1051923078,-1089721837,-1087399018)+W(8,-1115158089,-1152593000,1017932657,-1103477215)+W(9,1040789578,1029056085,-1113618935,1022387720)+W(10,1020371139,1050691807,-1090055623,-1091666965)+W(11,1017681054,1032486406,1041207209,1017045638);sum2=W(0,1029203106,1055497340,-1100085534,1035054009)+W(1,-1096883389,1022251406,-1094806083,-1095822387)+W(2,1003858895,-1141198631,1025821768,-1106861506)+W(3,-1099101530,-1091493710,-1106312974,1050236106)+W(4,-1105263591,1066985993,1065636371,-1112580467)+W(5,1038164225,1007864647,-1090221894,-1099047212)+W(6,1035688516,-1100130836,-1111006317,1040394388)+W(7,1050729384,-1113669663,1038056034,1057422694)+W(8,-1131632326,1034223408,-1095697855,1040303734)+W(9,1051271785,1037370697,-1120327060,-1122528690)+W(10,-1109365057,-1098907474,-1101753600,-1090043318)+W(11,1022279531,-1111449439,1042447412,-1132012078);WS(-1097113303,-1098536273); +sum1=W(0,1026190055,-1129782332,1001100740,-1128711506)+W(1,1051085133,1054274400,-1090119792,-1089449919)+W(2,1017357112,-1151099700,1006971045,1039600836)+W(3,1036959597,1010531062,-1123204686,-1116245678)+W(4,1059231684,1068549146,-1088111001,-1089233276)+W(5,1008174399,1027830380,-1106500579,1035061810)+W(6,1040533155,1032146359,973480529,-1122390725)+W(7,1060528017,1051645044,-1100399617,-1083999320)+W(8,-1118330949,-1138008953,-1118570949,-1110173729)+W(9,1016950072,-1115082484,-1112078369,-1135175840)+W(10,1021720363,1056811397,-1098983064,-1096337083)+W(11,-1113983621,-1114515356,-1163217111,-1105366950);sum2=W(0,1057867675,1045040387,-1106788080,-1126544110)+W(1,-1101472514,-1095964817,-1103936041,-1084782762)+W(2,1047938716,-1116398073,1060484868,1046930113)+W(3,-1116688865,1008770068,1031886252,-1123763395)+W(4,1033632512,1070094219,1065118928,-1096694543)+W(5,1033301960,-1112910333,1055777327,-1098897900)+W(6,-1111977015,-1104133845,-1106896864,1019879781)+W(7,-1093909441,-1091348732,-1094413904,-1120781351)+W(8,-1132175940,1028498658,-1098592917,-1105350592)+W(9,-1123575137,-1095297610,-1103198659,1025236903)+W(10,-1087869152,-1101379604,1063595180,1055216743)+W(11,-1111429301,-1148399072,-1090856164,1032159773);WS(-1088872108,1052196610); +sum1=W(0,-1114837443,-1111544357,1026268067,-1115772244)+W(1,999143576,1051137549,-1129315660,1040729928)+W(2,-1109636323,-1138847608,-1115388138,1035543595)+W(3,-1104977249,-1110507588,-1119255225,1022683057)+W(4,1050616762,-1123488747,-1115663356,1050293045)+W(5,-1148093909,-1113579532,-1102766242,-1110255664)+W(6,-1124752108,-1106979958,1018606696,-1126845407)+W(7,-1107532492,-1115698508,1038400791,1055556797)+W(8,1031428336,-1123058305,-1111362474,-1115121626)+W(9,-1118779367,1032957370,-1119390253,-1122729971)+W(10,-1106851872,1013947482,1010467373,1043464385)+W(11,1024891874,-1117161611,-1127308771,-1114761165);sum2=W(0,-1136485425,-1108696907,1005045849,1021571414)+W(1,1044650880,1068805535,1026572719,1033792089)+W(2,-1111133361,1015874538,1042295210,-1111938281)+W(3,1015124882,-1109877489,-1131955840,1032761087)+W(4,1072674603,-1073632622,-1072841573,-1097148617)+W(5,-1115667125,1025743417,-1114078156,1053858128)+W(6,1050593712,-1105061066,-1113636159,1002892889)+W(7,1040667946,-1114163718,1040799594,1051731235)+W(8,1029743517,-1150165522,-1105514756,986622244)+W(9,1027289415,1035889263,-1116947723,1017257782)+W(10,1033059623,-1113785952,1033387155,1025178361)+W(11,1028606721,-1131685126,1024784261,-1131411966);WS(1059574956,-1147706177); +sum1=W(0,-1107330821,-1114850125,1032992154,-1126851274)+W(1,-1101979721,-1103811902,1036915515,1039522745)+W(2,-1113513772,-1122830319,1037543219,1039509326)+W(3,-1111585801,1025219833,1021792788,990365335)+W(4,-1091594576,-1102147871,1057257569,1058476188)+W(5,-1115799180,999411009,1015035920,1044635632)+W(6,1042448198,1041111834,1023708133,1014654722)+W(7,1049911159,1046832311,-1087441640,-1130368142)+W(8,1008106627,1030688938,-1103709614,-1098033363)+W(9,1028566264,1025900485,1024270494,1021433863)+W(10,1042912388,1034347764,-1101532519,-1103664757)+W(11,998865060,1033251158,-1106561201,-1112635561);sum2=W(0,-1100054904,-1127093272,-1138525905,1030668111)+W(1,1038847176,1023505668,-1118630721,-1106823977)+W(2,-1139922314,-1137789612,-1100949461,1045749759)+W(3,-1104427366,-1094333916,1046358820,-1118095530)+W(4,1055088734,1059364463,1066330506,-1104404781)+W(5,1025350194,-1118124817,-1115593085,-1106737563)+W(6,-1098434999,-1114547879,1036395993,1026007575)+W(7,-1109156363,-1102029714,-1089680445,1032956568)+W(8,1044080198,-1111415597,1014767972,-1105827255)+W(9,-1098255510,1043811931,-1102154889,1044323398)+W(10,1019564502,1042217401,-1104253130,-1118009606)+W(11,1034872747,-1116871429,1033201092,-1114455410);WS(1056332375,1037816258); +sum1=W(0,-1103168373,-1112652978,-1121854558,-1121656782)+W(1,1044637987,1045017865,-1116096096,-1119737691)+W(2,-1147698697,1015231409,-1108613751,1028439953)+W(3,1032694229,1032971073,1027294260,988019291)+W(4,1051843657,1058468850,-1088930875,-1099471067)+W(5,-1126623722,1025720722,-1105155884,-1124711667)+W(6,1036051832,1029047507,-1146196851,-1141230927)+W(7,1059943427,1054278049,-1094038173,-1088040995)+W(8,-1125643860,1025459107,1023373473,-1110648631)+W(9,-1138159876,-1116156558,-1119789479,-1124586778)+W(10,1040438911,1052440082,-1100717841,-1105369135)+W(11,-1140770656,1033302707,-1121068380,-1109090662);sum2=W(0,-1101035659,-1090106390,1056969468,1037403217)+W(1,-1116665707,-1119459300,1038083410,1032316963)+W(2,1025618366,-1128266716,1009385423,-1159849898)+W(3,-1080354518,-1077736273,1065979451,1057593955)+W(4,1028006921,-1093367622,1057826659,1060881997)+W(5,-1107076145,1040978108,-1108823981,1038355181)+W(6,-1095104394,-1110113632,1048107842,1052219437)+W(7,1050471411,-1098889696,-1093495590,1040943565)+W(8,-1107763897,1031803963,1041580846,1028403474)+W(9,1035332836,1036232380,1034400525,1012201018)+W(10,1037291810,-1172133380,-1105354500,1023246776)+W(11,1028340263,-1124125618,1023204972,-1108503511);WS(1057728492,-1114894260); +sum1=W(0,-1137973853,1032124939,-1129994721,-1113553553)+W(1,1027451936,1039175515,1023297510,1030725486)+W(2,-1122023828,1015759447,-1104644784,1024408310)+W(3,1038491142,1042214629,1032700067,-1116323110)+W(4,-1096381204,1002639809,1063322480,1042012404)+W(5,-1129065232,1025211173,-1097199096,-1098358292)+W(6,-1102850457,-1103814977,-1174372438,1022553594)+W(7,-1095884801,-1099447670,1038337085,1049455560)+W(8,-1119912573,-1120935138,1041557913,1038368473)+W(9,-1108835354,-1117610625,-1204938694,1025649872)+W(10,-1107257155,-1110131186,1041170774,1036180712)+W(11,1022194670,-1131327617,-1139346043,-1143485305);sum2=W(0,-1136277690,1023794749,-1125894137,-1132724746)+W(1,-1142062564,-1102896527,1019650853,-1115335750)+W(2,1021138001,-1117376889,1036465851,-1111737990)+W(3,1034921985,-1135255538,-1123753553,1008401986)+W(4,-1095970428,1052274635,1065003137,-1111489002)+W(5,1036367329,-1114642052,-1130345777,-1093339450)+W(6,-1095862669,-1103833757,-1129573217,1028568703)+W(7,1050282098,1039075981,-1104966989,1042205114)+W(8,983274770,-1121876761,-1123958953,961646223)+W(9,989975657,-1117578737,-1129237393,-1115138968)+W(10,-1124502561,1029353869,-1137003202,1028245440)+W(11,-1131382405,-1129104973,981021860,975314596);WS(1064957100,-1084259623); +sum1=W(0,1048172674,1022388856,1002237105,-1147443767)+W(1,-1087174820,-1096483251,1049301459,1050085746)+W(2,1041967934,1032395752,-1130736462,-1110620477)+W(3,-1111985505,-1105536623,1025036588,1042679235)+W(4,-1084863818,-1085360136,1059891343,1061123934)+W(5,1029284270,1027822410,-1096717087,1036594273)+W(6,-1111204540,-1118973740,1039876787,1039980881)+W(7,-1087496217,-1085023864,1059164422,1063082922)+W(8,1038157169,1033526682,-1098175193,1049051417)+W(9,-1115201293,1036937851,1046679440,-1122119878)+W(10,-1099749261,-1093770425,1052477312,1050147791)+W(11,1035926782,1040430103,-1094492881,1038851310);sum2=W(0,-1079200674,-1088609636,-1110691764,1043574668)+W(1,1052128984,1049301959,1057860954,1070660923)+W(2,-1114631788,-1111966430,-1119415890,-1102512316)+W(3,-1104512784,1072315297,-1104224219,-1103083598)+W(4,-1106877192,-1082025998,-1092267131,-1107138551)+W(5,1025811761,-1120067756,1048136354,-1099577256)+W(6,1071717488,1074062948,1045365848,-1111324648)+W(7,-1098154139,1060924493,-1072626825,-1073631870)+W(8,-1097839567,1046934152,1049098296,-1101281480)+W(9,1072927288,1075518858,1040472402,-1123650350)+W(10,1055782129,-1085268633,-1068851440,-1076777698)+W(11,-1142912019,-1113956244,1045375219,1053482338);WS(-1075237718,1059347685); +sum1=W(0,1049968737,-1159856274,1033512399,1021242911)+W(1,-1100043508,-1096977477,1052611492,-1123217820)+W(2,1039650209,-1164938034,1035058824,-1123750750)+W(3,1035044013,-1122614884,1022930282,1029870036)+W(4,-1086974821,-1081627821,1061884279,1055398719)+W(5,1031585078,-1146263191,1035852049,-1111424357)+W(6,-1113136009,-1134430929,1018371807,1032776022)+W(7,-1085989237,-1083853344,1058365139,1059035017)+W(8,1040828171,-1113397210,1040835864,1046594056)+W(9,-1114025505,1040742208,1033340372,1019954077)+W(10,-1094951367,-1082038839,1057072208,1054270736)+W(11,1041271429,-1112152131,1043435581,1036293471);sum2=W(0,-1082007392,-1092895857,1045686709,-1109418256)+W(1,-1087167323,-1090791673,1045059925,1074622373)+W(2,1054843717,-1111299754,1052961109,-1079889153)+W(3,-1097230803,-1087580936,1041368995,1025535098)+W(4,1061750517,1066822104,1072979117,1022527077)+W(5,-1097908774,1039933817,-1121141584,-1094791227)+W(6,-1090709237,1030380818,1045341483,1025255906)+W(7,-1104688853,-1098772696,-1082271661,1059630355)+W(8,-1109459004,1032974905,1048788253,-1114952578)+W(9,-1098811123,-1122444474,1050563248,-1131647237)+W(10,-1097425000,1035536875,-1080249300,-1098333373)+W(11,1041274025,-1101634861,1062091865,-1109808864);WS(-1073405707,1071333561); +sum1=W(0,-1107154225,1043648434,-1114759602,1032445482)+W(1,1053035442,1049497533,-1097373989,-1086616986)+W(2,1005358651,-1140703610,-1113096234,1037191452)+W(3,1025826187,1050217769,-1116673978,1009365348)+W(4,1058380737,1057270871,-1084271170,-1088696011)+W(5,-1147371482,1008260703,1027100008,1042579156)+W(6,1045274198,1041826370,-1138343378,-1140494528)+W(7,1060414079,1054213138,-1088202787,-1086550017)+W(8,-1128134433,-1146407565,1033632004,-1122447285)+W(9,1037855412,1036590066,-1128324122,-1164102249)+W(10,1049814032,1044502774,-1090407429,-1096484208)+W(11,-1132301012,1030979244,1049279047,-1117413058);sum2=W(0,1044778147,1042344095,-1130309268,-1104849756)+W(1,1051692028,1050304642,1065552014,1087011564)+W(2,1024288807,-1122813731,1012814276,-1115275477)+W(3,-1115874267,1016899230,1006608216,1032168017)+W(4,-1095624232,-1080996320,-1064792716,-1071484991)+W(5,1018071134,-1113948677,1012706900,1034711867)+W(6,1015318926,1017541078,-1116205504,1025939811)+W(7,1038353709,1015541566,-1111002668,-1108487910)+W(8,1039145567,-1121567210,1017981722,1031018877)+W(9,1025032291,-1134707560,1015836550,-1134020588)+W(10,-1115175630,1035428553,-1105554232,1026184365)+W(11,-1161414849,957459976,1030487759,1016059306);WS(-1093094231,1019545057); +sum1=W(0,1024662611,1043371102,-1111661690,-1147370279)+W(1,-1100871081,-1103400446,1007712219,1045730364)+W(2,-1115285964,1035921815,-1125293706,-1113292876)+W(3,-1098598749,-1121967929,-1130128916,1036370005)+W(4,-1086049630,-1094208743,1048771569,1063151515)+W(5,-1106696483,1031896756,1042591246,1038700136)+W(6,1034324947,1030255498,-1114353490,-1138886402)+W(7,1057052051,-1103168823,1043747359,-1102866212)+W(8,-1117085921,-1117982022,1040829042,-1109292474)+W(9,1020719663,983686292,-1123566046,-1139052495)+W(10,-1114366281,-1105757546,1044423271,1042970997)+W(11,986496271,-1116127556,-1119014482,-1113681601);sum2=W(0,-1113949677,1043174240,-1112488549,1017737448)+W(1,-1106456753,1036040708,-1099690943,-1109074925)+W(2,1002006465,-1127095326,-1136025401,1033894674)+W(3,-1095542187,-1123930650,-1119128646,1041909593)+W(4,990810979,1064786485,1063813292,1055357640)+W(5,-1106928479,1041202855,-1095508468,1036060652)+W(6,1011641777,1043431269,-1138532089,995222883)+W(7,-1080550900,-1099317256,-1111808055,1029075282)+W(8,1028541984,1013308785,1042059844,-1096849813)+W(9,-1133447353,1011720393,1002378369,-1122958336)+W(10,-1111251400,-1122017034,-1111615901,-1121958092)+W(11,-1130037494,1011740497,1041840135,1031456264);WS(1065464534,1066200435); +sum1=W(0,-1114034816,-1098649416,1037468205,-1120929867)+W(1,1053507241,1053719708,-1095417420,-1093428139)+W(2,1039737375,-1104296205,-1117479019,1039630850)+W(3,1044270480,1030873567,-1118049328,-1104046500)+W(4,1059517274,1062996894,-1078956988,-1095455089)+W(5,1034668025,1027940302,1037682987,-1116571174)+W(6,1027018036,1029661039,-1102710553,1026495526)+W(7,1062358792,1051059848,-1090364038,-1097112752)+W(8,-1105628906,1047874257,-1134398359,-1100052716)+W(9,992085460,1014898857,-1104379061,1047356358)+W(10,1053033759,1058137077,-1089997432,-1098761015)+W(11,-1105711476,1036556777,-1119205176,-1124964177);sum2=W(0,-1079960756,-1072214843,-1096757231,1052570920)+W(1,1024102895,1045135233,1077140634,1059860803)+W(2,1028585912,1026412089,-1135125103,-1109439044)+W(3,-1067716640,-1071149720,1048916325,1032706704)+W(4,1007395147,1048879105,1074719494,1078085184)+W(5,999691338,1031274943,-1119420973,1039504993)+W(6,-1113086642,1026889523,1027784571,1032567852)+W(7,-1105291454,-1125605772,1023965646,-1126012658)+W(8,-1115876939,1031655696,-1107726802,1042487387)+W(9,-1102782368,-1113248449,1032789056,-1123035498)+W(10,1036400237,-1120868355,-1131155204,1033915049)+W(11,-1118021143,1033633154,-1123377002,1040624471);WS(-1088460652,-1077196042); +sum1=W(0,-1126618358,-1104692362,1012745873,-1106714405)+W(1,1061836401,1049398341,-1105672234,-1100538888)+W(2,1017778831,-1107815087,-1107347643,-1105561066)+W(3,-1128320455,-1113350277,1014233321,-1106817926)+W(4,1063373516,1062672955,1032760733,-1096420642)+W(5,1021813111,-1130991024,-1104500106,-1095103574)+W(6,-1104636978,-1111992333,-1112340330,-1139695810)+W(7,1040237156,1049303442,-1098221750,980853696)+W(8,1015562593,-1124042178,-1098848505,-1136108756)+W(9,-1112151140,-1103199781,1014140598,-1112616426)+W(10,-1115352833,1047738902,-1124202648,1032069058)+W(11,-1117430379,1024298444,-1108236605,1028357771);sum2=W(0,-1095373315,1042549384,-1103739979,1042942941)+W(1,1041600542,1049880149,-1104635751,1047404354)+W(2,-1116792463,1033409028,-1113660916,1029337611)+W(3,-1100136800,1032277385,1031504716,1021675082)+W(4,1042313351,-1095000083,1056265483,-1156628070)+W(5,-1100575516,1042607543,1052284225,-1103511888)+W(6,1051314558,-1097536524,1021140017,-1103784377)+W(7,1058671506,-1087499329,1056610233,-1086627236)+W(8,-1102539848,-1123811627,1053296214,-1098025422)+W(9,1033748340,1006926454,-1113021145,1032312275)+W(10,1053303874,-1106742186,1032415346,-1097748456)+W(11,1034071897,-1116904421,1040224097,-1097031052);WS(-1090190636,1052333694); +sum1=W(0,1046164882,1025512151,1017370722,-1118008162)+W(1,1050774996,-1113611419,-1107299674,-1087764995)+W(2,992812356,-1143374172,-1133738119,-1132114980)+W(3,1039176172,-1140639831,1032465571,1028313190)+W(4,1042980645,-1104478910,1054861041,-1107276920)+W(5,1031741320,991966796,1039228938,1016759930)+W(6,-1114523818,-1123803590,1022145795,1021024634)+W(7,-1116066086,-1088290914,1052546887,1048774281)+W(8,-1131726971,-1135053738,1046828701,1029146129)+W(9,-1114987978,-1150325779,1023704762,974396430)+W(10,-1101829203,-1082760046,1052242867,1033108808)+W(11,-1135839572,-1117633184,1050382392,1025239231);sum2=W(0,-1126311221,-1112124316,1000278501,-1112927492)+W(1,-1089259297,-1136644755,1030656727,-1124129707)+W(2,-1127721129,-1143597573,-1119195008,-1121960162)+W(3,-1096516945,-1095439368,1038568093,-1115114722)+W(4,-1089907054,1066488720,1069168233,1062718459)+W(5,1010259715,1016497897,-1108783853,-1113085858)+W(6,1035770391,-1173738153,1036864823,-1107752992)+W(7,1057602472,-1119016562,-1097729376,-1092856910)+W(8,-1142073349,1034450025,-1105922885,-1101947316)+W(9,-1127749525,-1118042174,999311589,-1111435217)+W(10,1028769031,-1101412503,-1106807928,-1108466839)+W(11,-1113345821,-1121786357,-1119408565,-1119106133);WS(1050584535,1068150000); +sum1=W(0,1034938395,-1115625742,1010165469,-1115260532)+W(1,-1117589351,-1104527215,1047833470,1038987194)+W(2,1013034091,1026352434,-1116485512,-1115913835)+W(3,1043729220,1046586119,1003680362,-1112895478)+W(4,1041775364,-1092950416,1053057826,-1102791097)+W(5,-1123123343,-1126776150,1032942189,1035117570)+W(6,-1096382429,1036369142,-1113655284,1038151522)+W(7,-1085160955,-1099697720,1031810112,1060286702)+W(8,-1118268740,992197073,-1109351189,1051158381)+W(9,-1110737789,1020311663,-1116596385,-1132334157)+W(10,-1112334730,-1112800213,1045919272,1033665067)+W(11,1007592182,-1128843070,-1113211075,1035094123);sum2=W(0,-1130117632,1037992777,999052617,1027450901)+W(1,1023748039,-1148181737,1031860941,-1112751331)+W(2,1020055214,-1123191999,1031574877,-1129067048)+W(3,1035832253,1058826704,-1098069390,998486633)+W(4,-1107268336,1031601953,1066377631,-1100828230)+W(5,-1176849298,992240434,-1110435251,-1108371420)+W(6,-1075559944,1051052067,-1144500281,1050271656)+W(7,-1105105514,1006070601,-1089703828,1059983898)+W(8,1022099846,-1122685646,-1135053221,-1111123861)+W(9,-1104035684,1041076323,-1111215245,1034115809)+W(10,1031181077,-1123703892,-1116488683,1037142243)+W(11,-1154287506,1025316569,994427506,1013422629);WS(1065940278,1034622363); +sum1=W(0,1042781009,-1105035701,1018945629,-1130882111)+W(1,-1106282856,-1093168999,1039562393,1048563851)+W(2,-1132163876,-1146137419,-1128564863,991352096)+W(3,1037583679,-1089961211,-1109081570,1038546130)+W(4,-1106056839,-1081267407,1065150616,1050832116)+W(5,1034240611,-1103163033,-1125259845,1040441019)+W(6,-1106689964,1025705412,1027338207,-1116833467)+W(7,-1093571617,-1098826451,1053064399,1063013875)+W(8,1014989293,-1132178841,1032573560,1037655800)+W(9,-1110899849,1000818681,1023675896,-1118439678)+W(10,-1098971955,-1103816344,1052844651,1043578884)+W(11,-1140385876,-1124029942,-1174556270,-1126802554);sum2=W(0,1025081894,1047796551,-1100582068,1042045232)+W(1,-1098032480,1051286467,-1130142714,-1120251562)+W(2,-1131598407,1028094206,-1114446743,-1122897683)+W(3,-1135649915,-1083821047,-1098661297,1051353130)+W(4,-1088973774,1066192686,1066411068,-1091982339)+W(5,-1114986235,1035402858,-1098476628,1048662352)+W(6,-1113123121,-1102707738,1041505758,1033093932)+W(7,-1096817778,-1124748705,-1116829613,-1108263063)+W(8,-1113670703,1040252082,-1105512115,1043244089)+W(9,1042774566,-1119704488,1036803556,-1111611431)+W(10,-1115318079,1039210409,-1105374597,1029093314)+W(11,-1113507172,-1136180467,-1115075522,1039955893);WS(1056991468,-1087030746); +sum1=W(0,-1104816506,-1123900599,1040392564,-1123211458)+W(1,1049039296,1031104918,1035944426,-1105628499)+W(2,-1119944116,1019968535,1038992913,-1110865210)+W(3,-1097679367,1050060447,1032323379,-1107179074)+W(4,1058030045,1044634502,1043269081,-1092912076)+W(5,-1113705364,1024115141,1052766173,-1092536332)+W(6,-1113372906,-1118981766,-1113154609,-1112698351)+W(7,1032247835,1043769326,-1111852653,-1098944114)+W(8,1016666555,-1113641643,-1111088882,-1101773536)+W(9,1036804874,-1117759553,-1117349658,1035059984)+W(10,1035537687,1048904265,-1099907470,1030188977)+W(11,1034739876,-1119368937,-1120093295,1017337855);sum2=W(0,-1100024892,-1091918952,1055370704,1038207100)+W(1,-1116235844,1051323790,-1108168198,1019998746)+W(2,-1132429552,-1131674494,1017416940,1028590129)+W(3,-1082116017,-1125190319,-1102268135,1017023961)+W(4,-1096201210,-1094794141,1060923636,1065911065)+W(5,-1107738152,-1115273448,1048662690,1032160655)+W(6,1048656820,-1118701724,1023693826,-1122475964)+W(7,1023749917,-1112111831,1025593786,-1095962080)+W(8,-1120617509,1032669658,-1121410776,1005611185)+W(9,1009208157,1017593165,-1120372849,1033230771)+W(10,1028403793,-1116942925,-1123799386,1022143062)+W(11,1007544955,990755743,1018425448,-1131420642);WS(1065408790,1036624080); +sum1=W(0,-1095782030,1036811736,-1118902603,1031689276)+W(1,1044865119,1048657234,-1099523235,1040908418)+W(2,-1124793181,-1132122507,-1114118270,1010781241)+W(3,-1106389326,-1116251760,-1130349122,-1130392064)+W(4,1056569877,1059819669,-1088986706,-1100633526)+W(5,1010247305,1021657598,-1109527143,-1105362262)+W(6,1016267643,-1116551776,-1120117724,-1124855342)+W(7,1057017186,1059687187,-1093812931,-1097124896)+W(8,-1147394236,1019294354,-1105256235,-1101014271)+W(9,1029730958,-1110739566,-1114562026,1032115325)+W(10,1046000250,1058243684,-1093706094,-1102530619)+W(11,-1131137795,1010280523,-1118348593,1028862634);sum2=W(0,1028827850,-1115409151,-1131603511,1008018405)+W(1,1022982076,976919119,-1128423353,1048442625)+W(2,1023643398,-1142661114,-1110305290,1015261982)+W(3,1044469435,-1105522597,-1126539767,988821927)+W(4,-1106419532,-1069309764,-1080807551,-1144038842)+W(5,1024565032,-1156968388,-1128896061,1025710382)+W(6,1031515550,1029512486,-1154431236,1029044494)+W(7,-1077869698,1057375362,1047735839,-1100063920)+W(8,-1108906576,1040986767,1047372093,1034212953)+W(9,-1118759177,1017115388,-1134541747,-1144594818)+W(10,1074645104,1074183528,1040817807,1049631559)+W(11,-1109343217,1013497529,1028992794,-1121013958);WS(-1134496480,-1135409208); +sum1=W(0,-1118561391,1023949458,-1131032216,1012816882)+W(1,1042727039,-1111514505,-1135187513,-1172095542)+W(2,1038725048,-1118209095,940438235,-1101252924)+W(3,1025102291,-1098855254,1017081284,1015795842)+W(4,1044113108,-1088869665,1062211658,-1122643706)+W(5,1039141810,-1110868352,1037442288,-1099247502)+W(6,-1109465919,1018180354,-1114842158,1032335660)+W(7,-1090758606,-1097017583,1055550179,1053298610)+W(8,-1124785329,-1123999226,1038283500,1036453998)+W(9,1039697400,-1121622748,1020892138,-1121133019)+W(10,1024023145,-1131309822,1042088653,-1104417019)+W(11,984058180,985363057,-1111728213,-1127849669);sum2=W(0,-1123756397,1023474305,-1120185020,1027844464)+W(1,-1123223808,1048386893,1009596088,-1109401613)+W(2,-1128717516,-1197272208,-1119575836,1035039619)+W(3,-1120807818,1045181163,-1142892826,1033301171)+W(4,-1117881742,-1079085438,-1069578385,-1105464515)+W(5,-1129559846,1013531724,1032607110,1029989604)+W(6,1050514681,-1148494098,-1112219415,-1130897478)+W(7,1057107198,-1155326684,1033916695,1080182479)+W(8,1001587842,-1126181730,-1143648562,-1113328530)+W(9,-1124897908,-1112292483,-1123809910,1008317678)+W(10,1015620530,-1138311341,1038900121,-1111316356)+W(11,1011089790,-1129634008,-1144599918,1010222764);WS(1063953772,1006246735); +sum1=W(0,1023929568,-1113408580,-1103221880,-1129265445)+W(1,-1094701786,-1092563365,1053092565,1050480356)+W(2,1034664643,1012249970,-1114954585,1037312131)+W(3,-1152025615,-1124775629,-1113052252,-1129858606)+W(4,-1099755687,-1081976315,1058637767,1054804888)+W(5,1007014628,1034276907,1043978961,1041973195)+W(6,-1116248388,-1112901548,1035503657,970168057)+W(7,-1085039957,-1106127939,1052655373,1061520345)+W(8,-1121545966,1031841028,1037644971,-1109284733)+W(9,-1114551939,1012918985,1026538155,-1114702297)+W(10,-1104465584,-1094975651,1053852345,1043614208)+W(11,-1122618723,1015394179,-1153236991,1036504960);sum2=W(0,-1098605940,1047215192,-1096454441,-1108119214)+W(1,1036002502,1051355228,-1114546522,1035846227)+W(2,-1115932080,1019597651,1034086715,-1110269476)+W(3,-1103381544,-1128298432,-1119694402,-1110533412)+W(4,-1102267339,1055154953,1054173861,1042040175)+W(5,-1130886478,-1108620470,1033662351,-1102892813)+W(6,-1115663656,-1114162078,-1110958880,-1127729168)+W(7,1052945690,-1097546689,1035812038,-1103681801)+W(8,1033484697,-1106956606,-1135158408,1018137856)+W(9,1023974294,-1102917557,-1130979192,1023031785)+W(10,1033369183,1033695483,1043843622,1020649501)+W(11,1029836288,1026224246,-1106336801,998437331);WS(1049960663,-1098656338); +sum1=W(0,-1097905355,1038429850,1010743226,-1129270334)+W(1,1053746044,1050579558,-1094238830,-1106458043)+W(2,-1120671826,1036488405,1008020477,-1153859324)+W(3,1026505899,-1111354490,1036165346,-1116543140)+W(4,1060156652,1065413702,-1093117384,-1084542826)+W(5,1033306211,1035776465,-1122984978,-1101873487)+W(6,1012909508,1034045586,1026933359,1026370235)+W(7,-1110641506,-1140159326,-1093158415,-1096055524)+W(8,1015184758,-1115507932,1048347588,-1132001470)+W(9,-1139624135,1033987231,-1164389112,1009750007)+W(10,-1153271990,1046556600,-1098353419,-1113672231)+W(11,1024719161,1037016731,-1124973593,1027525597);sum2=W(0,-1107138382,-1092409649,1038605814,1007202997)+W(1,-1105521455,1031799434,-1111080585,-1101985157)+W(2,-1135144653,-1138707909,-1127152184,998286218)+W(3,-1086536233,1033842165,-1097778206,-1111184485)+W(4,-1102287591,1054124413,1062592323,1058778058)+W(5,1018462794,-1134709509,-1107786643,1043783051)+W(6,1050500010,-1107791267,-1126800416,-1107862779)+W(7,-1121603522,1039372702,1050870644,-1115904936)+W(8,1016336685,1035379787,-1103666737,-1104929125)+W(9,1035028069,1024236113,-1117103670,-1122928880)+W(10,1030823202,1012044041,-1137706913,-1115500703)+W(11,-1120475406,-1119073178,1042413442,-1123649878);WS(1045571246,-1101396513); +sum1=W(0,-1105879340,1031079263,-1135540454,1027156266)+W(1,1052608133,1052732944,-1094890856,-1095381975)+W(2,-1116386461,-1124519785,-1110160581,1036979366)+W(3,1036462891,1048275928,-1123826896,-1123739311)+W(4,1059410250,1057453824,-1081913239,-1086841044)+W(5,-1113888968,1015417435,986236332,1033495803)+W(6,1040289247,1033674439,-1138173481,-1110505155)+W(7,1053535332,1059217778,-1095054872,-1087831711)+W(8,-1106215130,1025380519,-1117509614,-1121128186)+W(9,1035302207,-1109766005,-1138775820,1019384210)+W(10,1056369955,1057086003,-1096527684,-1100616678)+W(11,-1132265864,1009437253,1031959012,1002559041);sum2=W(0,1025579445,1041684936,-1116086512,1023702857)+W(1,1030949885,-1127701406,-1100190580,-1107828603)+W(2,-1138881396,1031874044,-1101693823,1030056541)+W(3,991232624,1049263730,1024261913,1027064225)+W(4,1063977916,1081524863,-1121382305,-1127488618)+W(5,-1115029594,-1124133978,1032271344,1026840857)+W(6,994389040,-1121855219,1023117658,-1115739014)+W(7,1074557390,-1078514947,1041567276,1049530396)+W(8,1015337722,-1113125346,1024600809,1041139218)+W(9,-1121905805,-1114246345,1016675050,1011341860)+W(10,-1067412604,-1072747255,-1125328530,-1097196557)+W(11,-1157524144,1009384836,1045882874,-1110332083);WS(-1091844311,1066789497); +sum1=W(0,-1121934839,-1104655157,-1118280816,-1126657090)+W(1,-1094816004,-1096277599,-1150447404,1053346558)+W(2,-1196074864,1030410603,1026981217,-1134360567)+W(3,1036892560,1041291861,1034822275,1035276339)+W(4,-1095276499,-1085328499,1054539137,1061301148)+W(5,-1117233544,1032377106,-1132053288,1035239934)+W(6,1016354085,-1100932977,1027512241,-1122398524)+W(7,-1094948141,-1090319102,1052329175,1061579109)+W(8,-1113536398,1028691858,-1138204721,1041572288)+W(9,-1113195754,-1137558275,1036073133,-1105911320)+W(10,-1109759879,-1096198988,1052092547,1010492736)+W(11,1016723124,1004385343,-1122862318,1026669711);sum2=W(0,1022730742,-1107671502,976327856,-1130924015)+W(1,1039023607,-1100688592,1030703882,-1156842543)+W(2,1024455841,1015244616,-1113451109,-1147026848)+W(3,-1102494949,-1063244855,1032746467,1006816288)+W(4,1039287442,-1091568120,1084548157,1050591037)+W(5,-1121583866,1032201434,1034384724,1030233046)+W(6,-1117144683,-1118200508,1030725620,-1109752024)+W(7,1042495948,-1100624377,1030607420,1041535529)+W(8,-1112832588,984232072,1037336210,1024850879)+W(9,1023153636,1019358625,1013150272,-1118656485)+W(10,1033109796,-1135441064,1000111712,-1117378226)+W(11,1003511712,-1124806470,1025293966,-1123040622);WS(1062375148,982896070); +sum1=W(0,-1092346958,1042371688,-1141741512,1041356906)+W(1,1052252533,1048733184,-1100631199,-1098857839)+W(2,-1165233042,-1134397903,-1126563284,1050501706)+W(3,-1107640316,1037798623,-1121772047,-1123251246)+W(4,1057292943,1063732968,-1081710855,-1093348349)+W(5,1008063554,1032268279,-1111246422,1043133649)+W(6,1035668286,1026956462,-1156317853,-1138991637)+W(7,1061645578,1059891330,-1088318752,-1084667272)+W(8,988108978,1037368483,-1106214611,-1112114769)+W(9,1016120313,-1115727625,1011726474,-1161666833)+W(10,1051947731,1059995535,-1084607638,-1093940123)+W(11,-1138661789,1040598420,-1190508359,-1109426316);sum2=W(0,-1081699534,1035582541,-1111774062,-1087149149)+W(1,1074122230,1067224402,1078981756,1075074133)+W(2,-1097056662,1045566397,-1092574897,972078363)+W(3,-1087576154,-1082404199,1039123010,-1122195827)+W(4,1066418532,-1082120864,-1086433828,1080077903)+W(5,1049096521,-1109136155,-1101495601,-1094572008)+W(6,-1111170675,-1119441337,1055099903,1035630599)+W(7,-1078722695,-1083892454,-1080599553,-1073636555)+W(8,1034655424,1023040696,1051613332,-1124013413)+W(9,-1097950160,-1098859385,1060125526,1042757145)+W(10,1038753292,-1085615144,-1075310961,-1080969229)+W(11,1027077203,-1129411423,1056506110,1020974546);WS(-1073733835,-1077508759); +sum1=W(0,1043185540,-1120942224,999004239,1004911573)+W(1,-1084678800,-1094509130,1054442442,1056421033)+W(2,1009545653,1022285001,1020812405,1025064353)+W(3,-1136904037,-1114184455,1032559088,1008908284)+W(4,-1087084867,-1089134469,1066321721,1059517190)+W(5,-1118599969,1007063543,-1127746091,-1149079216)+W(6,-1112686066,1032555200,1021646261,-1123346838)+W(7,-1088382556,-1089853747,1052962698,1063474337)+W(8,-1149726053,1015641511,-1126936380,1027145139)+W(9,1005792618,1040940927,1036339578,-1114632613)+W(10,-1092765869,-1093589176,992460573,1044159722)+W(11,1023282088,981480241,-1126618160,1027348136);sum2=W(0,1040812131,-1136381199,-1123853806,1016441223)+W(1,-1083270432,-1123741604,1020713637,-1091551076)+W(2,1001473573,-1110846033,-1108424657,1054198423)+W(3,-1121560396,-1100123577,1016212045,1034027700)+W(4,1057043619,1065772322,1069362941,-1092123318)+W(5,1008724259,-1120589670,-1092584961,-1115262538)+W(6,-1100550013,-1105283667,1030169991,1025170155)+W(7,1058297195,-1091989226,1020763615,1050653373)+W(8,1040111989,-1104422780,1029919048,-1121642970)+W(9,1029487024,-1102325825,1020004331,1024326153)+W(10,-1092470882,-1106605421,-1094990109,-1121149602)+W(11,1027795061,-1115881428,1026718342,1039520200);WS(-1083424620,-1083774644); +sum1=W(0,-1107578509,-1112668224,995558823,1025997707)+W(1,1051882641,1045883512,-1098861996,-1116799831)+W(2,-1140244728,-1116793621,-1127946135,-1114213177)+W(3,-1109754213,1048694360,1015677409,-1132669247)+W(4,1060321715,1059777970,-1079768279,-1099316274)+W(5,-1131243108,-1129876893,1040276008,-1106758402)+W(6,-1099923633,1044345284,-1146244698,-1113673299)+W(7,1064776049,1036566882,-1098475085,-1093459346)+W(8,-1167573435,1020492609,1008462282,-1108196294)+W(9,-1117921566,1030760459,-1119640804,1028038186)+W(10,1042756750,1033934183,-1105585281,-1113981277)+W(11,1015090721,-1176961296,-1130472177,-1117078569);sum2=W(0,-1120118931,-1112851025,1006239848,-1120400279)+W(1,1044457775,-1095953339,1016448074,-1114073896)+W(2,-1137956564,-1122147671,-1112980685,1036833596)+W(3,-1101370370,1037781128,-1138878316,1033967902)+W(4,1065044078,1069276419,-1113781647,1047917593)+W(5,987310366,-1187381491,-1110041421,-1119396143)+W(6,-1100258045,1002346920,-1135736068,1012842788)+W(7,-1075186216,1035717470,-1114666278,1045546113)+W(8,-1131003226,1029533357,-1120766465,-1132903556)+W(9,-1112182778,995892591,-1120658117,1028356101)+W(10,-1097061266,1049663208,-1115876966,1002645288)+W(11,1003776904,-1150885167,-1123504973,1015304410);WS(1055938007,-1113494123); +sum1=W(0,1028210664,-1117675639,1005413771,1002908945)+W(1,-1135464580,-1095959351,1035958810,-1133494457)+W(2,-1131269290,1035203030,1040264713,1008466835)+W(3,1040926954,-1118443670,1016082831,1025040167)+W(4,-1087581816,-1121242873,-1101702418,1041989700)+W(5,-1116685065,-1117662885,1034336763,1048292991)+W(6,1040854289,1046508410,1024456642,-1114102015)+W(7,1048632765,1052220147,-1093641223,-1098047787)+W(8,-1132796663,-1144182458,-1183964258,1043249233)+W(9,1019764906,1029150738,1006080470,-1121270129)+W(10,1025236686,1042463785,-1102768646,-1111985289)+W(11,-1137681823,1031884341,-1131127167,1036425152);sum2=W(0,-1103329032,-1114547380,1034952858,-1148833389)+W(1,1036545465,-1111710878,1019372679,1039527980)+W(2,-1111163586,1025974311,1042452640,-1140514638)+W(3,-1099667252,1046239383,1044582101,-1131645803)+W(4,1040867364,1074171367,-1095619156,1017530647)+W(5,-1102843950,1030125627,1046568773,1048394746)+W(6,1038848953,1023994452,1041029558,-1100126968)+W(7,-1072583834,-1089175055,-1122648352,1053527025)+W(8,1045672947,1033990232,-1095650184,-1104419698)+W(9,1040593566,-1104909140,1038559400,-1101188496)+W(10,-1110512168,1048723535,1034383711,1048348234)+W(11,1039972451,-1123744674,-1105559093,-1113024814);WS(1054254551,1014537956); +sum1=W(0,1035774671,-1130008697,1018675757,-1121039367)+W(1,-1132150029,-1122251932,1008273253,-1112598570)+W(2,1040615567,1003469451,-1109769252,-1109088445)+W(3,1030747950,-1107714718,1028321069,1022410264)+W(4,1041075666,-1100441032,1061840455,-1093495169)+W(5,1040565356,-1126038165,-1105690119,-1103842329)+W(6,-1097508911,-1100889147,1035879540,1032078897)+W(7,-1084814013,-1090418276,1058139578,1062686448)+W(8,-1115375938,-1105705223,1045096257,1049125597)+W(9,-1111836109,-1112194220,1035017184,998902321)+W(10,-1098262366,-1104639554,1050365160,1050284599)+W(11,1030169589,-1123088958,-1137878196,1018266794);sum2=W(0,-1130282463,1008292026,-1151906447,1011204314)+W(1,1040567914,-1093705400,1036989282,-1119643322)+W(2,-1092395975,1041384381,1048788001,1058038651)+W(3,-1113509623,-1118416042,1015334447,-1132982086)+W(4,1046529995,1053486166,1031871454,1023195387)+W(5,-1082188469,-1087135929,1061661513,1069827352)+W(6,1010705513,1015562377,1031867988,-1126682819)+W(7,1053627848,-1097180463,-1105750465,1036745108)+W(8,1050130047,1062283738,-1083563182,-1076895592)+W(9,1033032763,-1171211484,1019402007,-1118412630)+W(10,1042871577,-1098551422,-1132045005,1024841875)+W(11,-1108358221,1058279550,-1093245544,-1102862368);WS(1057163500,-1105993220); +sum1=W(0,-1127293622,1045431725,-1121502764,-1117201821)+W(1,-1119279260,1032698105,-1097880614,1046510122)+W(2,1018908832,-1110256660,1044535287,-1111026820)+W(3,-1100979748,1049617722,-1105708961,1035599249)+W(4,-1097882833,-1088567265,-1099817760,1061106926)+W(5,1024080836,-1117593824,1053288920,-1095331735)+W(6,-1110465655,1042176840,-1100922079,1039647740)+W(7,1058361641,-1097567811,-1109566363,-1119635500)+W(8,1027464313,-1113789929,1050620014,-1096979757)+W(9,1018827936,1001114727,-1136735831,1009912816)+W(10,1036626725,-1111863248,1037588842,-1147860066)+W(11,-1159432152,1012647057,1037098289,999121112);sum2=W(0,-1107895050,1039805910,-1123342042,1032576295)+W(1,1038099246,-1120156902,-1102939450,1016729470)+W(2,-1114110583,-1124467804,-1128970625,-1122727069)+W(3,1052615154,1027679479,-1132748357,-1102694716)+W(4,-1100691281,-1098318717,1057040101,1050355566)+W(5,-1110408836,1035923921,997134844,1046407453)+W(6,-1183264704,-1127944484,1033817148,-1114775905)+W(7,1028185223,1043085543,-1098800812,1041423933)+W(8,1040728790,-1104134547,1023808656,-1094682594)+W(9,1017960690,-1117652574,-1109637447,942234367)+W(10,-1113846578,1025700351,-1113353192,1027447559)+W(11,-1111084310,1024627457,-1136470782,1033077879);WS(1069430838,-1077807532); +sum1=W(0,926704291,1035074891,-1123870031,-1123171840)+W(1,1024652287,-1104443381,1030377682,1028287308)+W(2,-1124249574,-1123723658,-1137933441,-1121358347)+W(3,-1102713036,-1094582899,1026708965,1012978707)+W(4,1049114747,1049334299,1064667974,1060355037)+W(5,-1124350158,-1155502135,-1095444677,-1102473935)+W(6,-1104095024,-1131766218,-1110089696,1032241614)+W(7,-1097738289,-1112895132,1023923417,1044883747)+W(8,996719039,-1114119663,-1115022670,-1112982200)+W(9,-1123449267,-1126388352,-1120091289,1013657340)+W(10,-1133494194,-1105084689,-1134219998,1023074654)+W(11,-1129702439,-1115595936,-1125652635,-1123735342);sum2=W(0,-1120278537,-1112747779,1032791968,-1176390445)+W(1,1041053822,1042596904,-1119517685,-1122813389)+W(2,-1120846771,-1150821318,-1132233097,1022193201)+W(3,1039675898,1025598156,1039748018,-1107216374)+W(4,1032712030,1055783944,1059349510,1061000499)+W(5,-1120324549,1006903493,1009116037,1037891533)+W(6,1049256042,-1105015824,1038133354,-1104895086)+W(7,-1099074048,-1084050573,1030867610,-1087513873)+W(8,-1117395279,1034659541,-1101549778,-1107732985)+W(9,1024448666,-1110290749,1013658503,-1123666927)+W(10,1040697602,-1106116496,1029186614,-1108606159)+W(11,-1115429715,1028618234,-1106656496,1022775251);WS(-1107817820,-1083770194); +sum1=W(0,-1103638846,1019165999,-1129878691,1033900161)+W(1,1053216608,1056291523,-1105602789,-1091016130)+W(2,1032252891,1005244003,-1114138529,1041711845)+W(3,1023785569,1041664750,-1131338575,-1129439246)+W(4,1057499003,1059566574,-1076846267,-1097747004)+W(5,-1129556050,1037921123,1043057225,-1107402783)+W(6,1007653393,1026305479,-1128788741,1015365308)+W(7,1057822998,1057215924,-1101714279,-1089110318)+W(8,-1126092988,1041959808,-1104471663,-1097881621)+W(9,1029035509,-1111132977,1024049691,1034359265)+W(10,1051239662,1055184137,-1089968180,-1095981534)+W(11,1025745172,1027268745,1032118072,1029122288);sum2=W(0,1017327589,1034893158,1045019344,-1108694073)+W(1,1037365040,1043169414,1020539438,1040440313)+W(2,-1123414724,-1142407924,1044490295,-1097181356)+W(3,-1100848825,-1146521528,1037993179,-1102469381)+W(4,-1179472005,1059039676,1062010427,-1091152854)+W(5,-1124070306,-1103656828,-1105305386,-1098856738)+W(6,-1136622056,-1122158468,1036817135,-1102369829)+W(7,1038217042,-1119445175,-1095264144,1017850914)+W(8,1025666621,-1105116469,-1098482637,-1109601321)+W(9,1036214504,-1109074807,-1123721670,-1116848662)+W(10,1048192551,-1115655698,1047380031,1045324437)+W(11,1027457629,-1121369495,-1105047780,1034613852);WS(-1121449656,-1084978473); +sum1=W(0,-1099605930,1028648016,1021114964,1045775831)+W(1,1054843763,1049277222,-1100836955,-1086366198)+W(2,1025802254,-1116658981,-1121703995,1044622847)+W(3,-1113195701,-1106810756,1032769888,1036495664)+W(4,1059006957,1062277595,-1088747404,-1085601027)+W(5,-1138285574,1043922200,-1122091582,1039106531)+W(6,1033523886,-1109837568,1043049231,-1134400474)+W(7,1060137529,1057384673,-1087596695,-1083936243)+W(8,1020367213,1042132230,1011169881,-1102614275)+W(9,1039225431,-1097941829,1043659613,-1112792957)+W(10,1045407794,1055835664,-1088234269,-1102874546)+W(11,-1132370673,1039326553,1048366450,-1118753961);sum2=W(0,-1105747151,-1103046200,-1122536322,1027272459)+W(1,1050147388,1054947781,1025881493,1058588727)+W(2,1040922163,-1157391810,-1098050255,-1089616072)+W(3,1043039962,1029006014,-1109953333,-1115599503)+W(4,1058930692,-1072349877,-1079698237,1025318337)+W(5,-1097372724,1029236731,1078384354,1020160348)+W(6,1049577028,1035298821,-1160853572,-1101108438)+W(7,-1069493839,-1072151832,1050247454,-1116019666)+W(8,-1111844849,-1095907204,1075828182,1078006681)+W(9,1043042004,1053260045,-1105305527,-1125199072)+W(10,-1072978341,-1072202568,-1094505007,-1104971590)+W(11,1046502148,1037030073,1072013431,1074567753);WS(-1076413686,1050217089); +sum1=W(0,-1103937453,981259974,-1140703701,1037264211)+W(1,1043075881,-1110472573,1015092336,1032015257)+W(2,-1144808135,-1126940256,-1115654547,-1122840185)+W(3,-1126374874,1042459879,-1119658251,1010880426)+W(4,-1140207123,1058975156,-1095655209,-1117441203)+W(5,-1127053849,1040888602,1016890098,-1121072785)+W(6,-1115463620,1040532067,1031154598,-1116247362)+W(7,1059127610,1049753500,-1097693400,-1089060935)+W(8,1021095812,990976051,1024224509,-1095200233)+W(9,-1110800684,1020764716,-1131976189,-1125273098)+W(10,1026525586,1038259412,-1115082479,-1116339093)+W(11,-1118091276,1016317274,1027865572,-1116764924);sum2=W(0,-1087030854,-1118716844,1028643349,1057721492)+W(1,976966634,1023362490,1050324940,-1098169441)+W(2,1010046217,1027499437,-1141117066,1023517212)+W(3,-1080168014,-1080273709,1059252612,1060288138)+W(4,-1115171624,1047291739,-1095791676,1016748144)+W(5,-1115470708,1034407868,-1099550108,1023617033)+W(6,1065839894,1065802380,-1086775589,-1088865108)+W(7,-1136639192,-1124716700,1048744751,1025332663)+W(8,-1116997486,-1138422172,1003901823,1041241265)+W(9,1052992874,1051057083,-1093527126,-1123025940)+W(10,1045176631,-1122660154,1047968677,-1103675095)+W(11,1028187249,-1121332252,1020688386,-1105682362);WS(1066004950,-1130673709); +sum1=W(0,1031654568,-1115365365,-1143212072,-1116101174)+W(1,1052873383,1046315731,-1112634148,-1088044468)+W(2,-1136500130,-1125315968,1018103788,1041536990)+W(3,1037471350,1044807147,-1115338446,-1110468285)+W(4,1053790292,1057379349,-1086079158,-1095270314)+W(5,-1143909091,1020745202,-1114923292,1044233532)+W(6,1036857292,1049500535,1016794668,-1108483849)+W(7,1062574892,1059566963,-1089120237,-1084922887)+W(8,1016815907,-1120057699,-1112535089,-1111082699)+W(9,-1116011560,1018991691,1013476922,-1129241385)+W(10,1043154809,1052540519,-1092328502,-1096691029)+W(11,1009076749,-1111113254,1045681849,1013224078);sum2=W(0,1059657103,-1120407882,1037489391,1049010278)+W(1,-1096253478,1044030983,-1091075041,-1081123115)+W(2,1042763848,-1123055347,-1110198086,1022187211)+W(3,1065561208,1065354919,-1115441721,-1120558834)+W(4,-1088412254,-1088804298,-1086070082,-1094693777)+W(5,1010460099,1037997843,979808314,1026065263)+W(6,1033902725,-1090673211,992841734,-1107156556)+W(7,1059822273,1048768363,1058489027,1048072918)+W(8,-1106407542,-1127526979,-1103664360,1015305348)+W(9,-1082019922,-1076779646,1042878013,1011333881)+W(10,-1110539158,1056386736,1065573397,1067731839)+W(11,1046102351,-1098151359,1041735451,-1102578162);WS(1047691950,1051513987); +sum1=W(0,-1106171493,-1148261013,1023115866,1022367675)+W(1,-1115678670,1039875161,-1138130365,1047705594)+W(2,-1119968336,-1146539325,1038987295,-1110486184)+W(3,-1110614526,1048684730,-1121417283,1025923810)+W(4,-1098498099,1059839847,-1092459648,-1138856554)+W(5,1031736900,-1113038256,1037143648,-1111291916)+W(6,1043654816,1037977761,-1123344254,-1135269348)+W(7,1055365231,-1110502987,-1117423671,-1088007377)+W(8,999460043,-1124410005,1038170008,-1116325726)+W(9,1018209505,1012206837,-1140725337,-1153116613)+W(10,-1108540005,1013205632,-1130685354,-1145599589)+W(11,-1170140361,1022378313,-1106962771,1024662707);sum2=W(0,1034638423,-1132037434,-1134949160,-1153456458)+W(1,-1118314715,1026400860,-1110235102,1026219462)+W(2,1020158000,-1129681397,1033998497,-1119545213)+W(3,1047224115,-1111241686,-1107040555,976205336)+W(4,-1098555575,1048945857,-1098519781,1041432515)+W(5,1034767622,-1100590807,1042089138,1038320636)+W(6,-1102088763,-1109506803,-1148458760,1031938263)+W(7,1066956313,1038098069,1045200456,1016119332)+W(8,-1131704894,1033722488,-1088147582,-1089428981)+W(9,-1119972538,-1122339703,1018102832,-1128058621)+W(10,1020127420,1026446934,1012163112,1026438298)+W(11,1036980701,-1126638758,-1114149729,-1103340362);WS(1065730166,1060778308); +sum1=W(0,-1157499671,-1122491724,-1155017835,-1109508860)+W(1,999270323,-1108915110,1039607429,1041425921)+W(2,-1122732458,1019165315,1019270959,1009856488)+W(3,-1101845990,-1123710636,1018445113,-1113193022)+W(4,-1093896302,1034241095,-1103201623,1059840031)+W(5,-1112299503,1031136123,-1124851701,1048952862)+W(6,1037579925,-1109701838,1027367671,-1116526739)+W(7,1065443257,-1115473720,-1119532176,-1086536234)+W(8,-1130156262,-1112137490,1042597895,-1100984082)+W(9,1024052458,-1155438706,-1116098736,-1113248331)+W(10,1023021127,-1169161851,-1135484603,-1131587533)+W(11,1035869970,1026435614,-1109972554,988759974);sum2=W(0,1023936292,1027011316,1040648348,-1117967445)+W(1,1036573845,-1090561506,-1081925843,1048994422)+W(2,-1136777476,1000734832,-1121546197,1025878262)+W(3,-1104815876,1032485416,1042642774,-1112630617)+W(4,1061477130,-1076993331,-1079286264,1069895227)+W(5,-1120512530,1043800887,1017402756,1006994724)+W(6,-1097739621,1008252288,-1108734545,-1134880336)+W(7,1074358700,-1082750513,-1093635474,1067803238)+W(8,-1115175264,-1106635673,-1124517798,-1094759274)+W(9,1027781874,1017816544,-1110919553,1042723069)+W(10,-1152591489,1040942069,-1113045602,1039731885)+W(11,1050798200,-1104563368,1015619872,-1128233335);WS(1051081815,1004177576); +sum1=W(0,1047378036,-1123222753,1009183853,-1127006616)+W(1,-1095193921,-1099314072,-1133548407,1040477302)+W(2,1015654525,1000220336,1033152150,984028115)+W(3,1030530563,-1112167248,1035550201,1030806032)+W(4,-1084986498,-1091645900,1067589976,1061394914)+W(5,1016832613,1007541309,-1104155199,-1134209438)+W(6,-1102096100,-1119963793,1031890286,-1148492092)+W(7,-1092420382,-1084371172,1056018877,1061693295)+W(8,1020442767,1016050244,-1117645071,-1126214664)+W(9,-1117414047,-1118879820,1033051522,-1122950699)+W(10,-1100397982,-1096248194,1054656608,1051876647)+W(11,1015156587,-1120116135,-1098736399,-1115478541);sum2=W(0,-1086393652,1061143042,-1107492679,1038737431)+W(1,1062117952,-1089713201,-1087802869,-1122890851)+W(2,-1105710539,1021198999,1047951996,1031555324)+W(3,-1086071985,1050160290,-1120313369,1048033211)+W(4,1059347527,1068761695,1074235084,1050554685)+W(5,-1103176732,1024031768,-1098359769,1026779363)+W(6,1036302581,-1118303985,-1127256174,1015799927)+W(7,1051722018,-1090432670,-1080828834,-1097102610)+W(8,-1105088271,1023611974,-1093586557,1043634021)+W(9,1030572627,1049210573,1025558434,-1108431753)+W(10,-1096060997,-1089293346,-1086660156,1051308486)+W(11,-1113357802,1042868230,-1099341241,-1093678452);WS(-1081907798,-1114644056); +sum1=W(0,-1099395677,-1134709766,-1170980595,1023775725)+W(1,-1100928459,-1112754945,1050593936,1055907631)+W(2,-1109439504,1017060589,1032148262,-1119324179)+W(3,-1099241994,-1120114113,-1126334628,1026005873)+W(4,-1087793848,-1087665246,1054687330,1058604967)+W(5,-1128826918,-1138112959,1038203192,1009969504)+W(6,1034531271,-1108351113,-1129163353,-1135823392)+W(7,-1104299004,1040795209,1034921283,1038229186)+W(8,1038462084,999099597,-1104169898,1028440637)+W(9,1019473342,-1110039318,-1129940170,-1151688884)+W(10,1040889398,1054318790,-1120708196,1018134455)+W(11,1007377992,1027667523,-1107725509,-1106565731);sum2=W(0,-1109792567,-1120391232,-1129970231,-1119441358)+W(1,-1107196821,992017798,1050978947,-1127769135)+W(2,-1113410550,1030775978,1040616080,1030789742)+W(3,-1103233485,-1103316489,-1135011770,1013923693)+W(4,-1095646457,1049668759,1054134565,1033489482)+W(5,-1115392393,-1108882435,-1124339641,1038693473)+W(6,-1104701758,961266788,-1115083307,1015830944)+W(7,1056508485,1047186396,-1110832497,1049300223)+W(8,-1145057435,-1118394614,-1086696217,1043974386)+W(9,-1120471806,1032096200,-1117182320,1009913072)+W(10,-1110580647,-1109467751,-1124368769,1049274561)+W(11,1032794842,1029776437,-1103392519,-1110322035);WS(1054547415,-1080700728); +sum1=W(0,-1106813137,1020745112,1000886579,-1118959255)+W(1,1049136707,-1113159542,1042266506,-1136179854)+W(2,-1110798213,-1133353861,-1135369949,-1121699838)+W(3,1000629071,-1089948699,1035589374,-1108938574)+W(4,-1117329322,1057279043,1058763908,-1114102394)+W(5,-1132246652,-1116069530,-1102488395,-1098171678)+W(6,-1104374042,-1115354302,-1120209015,-1115953331)+W(7,1058534976,1042941412,1034434840,1043996152)+W(8,1023843187,-1110056358,-1123101368,-1118338951)+W(9,-1115551813,-1107411355,-1114831416,-1130255148)+W(10,1024662339,-1115931546,1037557447,1030595334)+W(11,-1125104281,-1113468791,-1111356186,-1111680098);sum2=W(0,1010047952,1033813267,1006975884,-1104438281)+W(1,-1126834256,-1117623020,-1103312430,1041416137)+W(2,-1141914640,-1142859168,-1119875938,-1137643420)+W(3,-1104617278,1016682467,-1121830816,-1114845259)+W(4,-1091497753,1058017528,1030331467,1059878226)+W(5,-1115736166,1030249718,-1098691452,1032827109)+W(6,-1119230330,1016925125,-1109021584,1035922248)+W(7,1016098448,1041560361,-1127060444,1042445877)+W(8,-1111253212,-1153808400,-1110812698,1038105687)+W(9,1031893944,1028042677,-1116080890,1024387710)+W(10,-1112957506,1032681483,-1113418625,-1106783001)+W(11,-1114320479,-1122393388,-1112120334,1032692112);WS(1052913623,1049378679); +sum1=W(0,1042960148,-1131398976,-1140317417,-1122838827)+W(1,1057292387,1051976144,-1096052024,-1086626395)+W(2,-1155224026,1021209962,-1115050310,1037967453)+W(3,1047376245,-1142164473,-1119624720,-1125024735)+W(4,1057250406,1065554348,-1082562971,-1085621156)+W(5,-1137632582,1041116332,-1105683981,1033197251)+W(6,1052155164,1026436976,1000517975,-1114511683)+W(7,1052193006,1054127476,-1091398264,-1087926293)+W(8,-1114068531,1019309136,1031945184,1022767638)+W(9,1040745327,1037554661,-1118732996,980913767)+W(10,1052669955,1051850318,-1088065070,-1096441475)+W(11,-1119607996,1029050594,1041425290,-1117629257);sum2=W(0,-1113890565,-1113695617,1026695603,-1128729473)+W(1,-1116238263,1032966985,1046246583,1030681183)+W(2,-1088819879,-1094452995,1060417287,1054381777)+W(3,1012493154,1007226362,1038041001,-1122814467)+W(4,1063042504,1066720275,-1105895610,-1119541727)+W(5,-1073258706,-1071852139,1069419683,1065151040)+W(6,1022932917,-1121347205,1029245131,-1114364242)+W(7,1061802664,1054635319,-1109256305,1013035938)+W(8,-1071972143,-1076852924,1067716376,1070184946)+W(9,1028217359,1005475605,-1131614889,-1114309631)+W(10,1034508407,-1114817272,1018572933,1037707015)+W(11,-1084913408,-1086618913,1057796391,1063333907);WS(-1080205366,1054586731); +sum1=W(0,-1104231365,-1118125300,1034516295,1028285119)+W(1,1018315643,1050987674,-1098317298,-1105384067)+W(2,-1107795033,1030553289,-1103331232,1050517144)+W(3,-1122896269,1031422323,1028158052,-1114270114)+W(4,1045079495,1065887519,-1084181862,-1102251495)+W(5,-1134423957,1039594145,-1106919576,1044797187)+W(6,1042423964,-1113275778,1015275709,-1122816794)+W(7,1058366107,1055927247,-1102645126,-1083878719)+W(8,-1127143669,1007528111,-1127822612,-1136969466)+W(9,1035567225,-1113291743,1026827799,1008209269)+W(10,1042520123,1054820368,-1095155767,-1094749758)+W(11,-1112108944,1010334934,1023800268,-1111681950);sum2=W(0,999332143,1021267259,1015687849,1018519238)+W(1,1033756160,1042746528,-1105547391,1041061518)+W(2,-1074851124,-1079967238,1066765865,1071473984)+W(3,1021268373,1001850235,-1154321191,-1123243110)+W(4,1026544409,1057524548,-1097359239,1034089943)+W(5,-1079279124,-1081222132,1059938647,1067795051)+W(6,-1122367554,-1149097003,-1137574530,-1147705571)+W(7,-1128118669,1033087855,964634475,1024181853)+W(8,1036308208,995399503,-1109247299,-1126584943)+W(9,1028798873,-1120881342,-1123293958,1025499637)+W(10,-1129467393,-1131901697,1038775557,-1139074510)+W(11,1006964374,-1131371017,-1137941026,1002507759);WS(1032292188,-1145187004); +sum1=W(0,1026282854,1032165735,-1124591439,-1121091224)+W(1,1041424886,1053335502,-1099744666,-1110430066)+W(2,-1130362518,1026340962,-1097458647,-1163709786)+W(3,1048823572,-1113803654,1009701366,-1121198813)+W(4,1045555550,1044961340,-1109489438,-1088767505)+W(5,1020242430,-1136150382,1038271382,1040806261)+W(6,-1119045850,-1092992668,1026658136,1007646671)+W(7,-1098280566,1043075732,1047050636,1041537816)+W(8,-1117600916,997023189,1037260307,1040783354)+W(9,1019935126,-1119672872,-1122546321,1020346030)+W(10,-1107270401,1047792295,-1110555528,-1121506375)+W(11,-1124456788,1026784415,-1120965766,1000329008);sum2=W(0,1027036707,-1119221834,1024423113,-1120115102)+W(1,1037973272,1049287438,-1122478763,1028744443)+W(2,-1114092190,1034186497,-1096539764,-1111409649)+W(3,1034928052,-1115806512,-1162462122,-1131404107)+W(4,1047707985,1065549495,-1117650486,1034534080)+W(5,-1111870688,-1104163224,1059270295,1032305459)+W(6,-1133321326,-1101382306,1035047655,-1116017912)+W(7,-1079218451,-1101676179,-1105332910,-1108495610)+W(8,-1116841516,1038206879,-1108544028,1053073262)+W(9,1029706393,1023154260,1011265421,-1146105278)+W(10,-1109811124,-1116861489,-1113944011,1038914207)+W(11,1004549098,1021319568,1023662974,-1125217018);WS(1065238444,1029810764); +sum1=W(0,1035631050,998132025,1033625479,-1117664959)+W(1,1044376095,1041425605,-1110409480,-1105662947)+W(2,-1144996235,1002652741,1029921727,-1180059800)+W(3,1046740798,1049143094,1026353828,-1121511107)+W(4,-1117226857,-1088462543,-1117398499,-1115600622)+W(5,986508455,1031133314,1050498082,1047596134)+W(6,1044265580,1037075730,980940712,-1154871713)+W(7,-1090821428,-1099167518,-1109487884,-1101622768)+W(8,-1119889178,1038687768,-1134957959,1032067983)+W(9,1028486865,-1128624253,1025470327,1018182811)+W(10,1039936213,-1117520833,-1120941494,-1112099063)+W(11,-1122286680,1032539083,1019194744,1021107193);sum2=W(0,-1109237812,1029641913,-1126103938,1027136813)+W(1,1028116649,1041211299,1047599733,-1131106290)+W(2,-1132573667,1022404146,-1119521049,-1115313320)+W(3,-1108335880,1016569578,1023841561,-1134438995)+W(4,-1092284431,-1103461794,-1076957808,-1097134429)+W(5,1016921434,1027441157,1040752059,-1100904528)+W(6,1032415828,999116870,-1130954514,1003327910)+W(7,1073063564,-1111597872,1037851390,1044824498)+W(8,-1106952976,1036890340,-1112786376,1045381268)+W(9,1003972614,-1138234067,994333964,-1135210803)+W(10,1033926584,-1115472968,1043898273,-1123469057)+W(11,-1110049884,-1139674515,-1137298819,1034574746);WS(-1111543132,1053084187); +sum1=W(0,1029336727,-1100473306,-1116548448,1033211657)+W(1,-1089574549,-1097689349,1042013257,1056808676)+W(2,1035575202,-1114691470,999357322,-1112225370)+W(3,1036113196,-1100606697,-1112421659,1043994373)+W(4,-1087296749,-1082434496,1060655799,1061342772)+W(5,1040681774,1045312421,-1100755553,1042186215)+W(6,-1117467379,1024205686,1042588164,1033458902)+W(7,-1087667391,-1091727169,1057924951,1059165410)+W(8,1039236406,1042949980,1041805473,1042539448)+W(9,-1098518156,1010302211,1042106754,-1106715184)+W(10,-1095816456,-1093601226,1057649845,1042727104)+W(11,-1113675407,1035739628,-1114265639,-1105873704);sum2=W(0,1006854517,-1114095075,-1106855677,1036389819)+W(1,-1104547241,-1120692701,-1106885840,1049279774)+W(2,1032391465,-1098591621,-1096936463,-1140479293)+W(3,1044374087,-1105124479,-1109245550,1031620401)+W(4,1045612807,1058901209,1054861276,1052305677)+W(5,-1115708783,-1081363743,-1092919117,1051540981)+W(6,-1105277948,1043212463,-1132619277,997072274)+W(7,1054428932,1034709627,1046093411,1057655059)+W(8,-1090444858,1017473602,1034565381,-1129490106)+W(9,-1104242691,-1113287926,1049991282,-1096737767)+W(10,1054770354,-1094426804,1057224822,-1094755169)+W(11,-1098730750,1044114915,1030915645,-1092959620);WS(-1084020140,1068126260); +sum1=W(0,-1156074282,-1103771606,-1137936208,1006295077)+W(1,-1097931528,-1091558419,1049395923,1049019906)+W(2,-1123621559,1023627215,1040511881,-1117241095)+W(3,-1104490636,1038480604,-1149620895,1034316741)+W(4,-1086810430,-1099102215,1033598516,1061237576)+W(5,-1108467318,-1115694024,1044377854,1040083512)+W(6,1018703789,1041233006,-1110713826,-1141477121)+W(7,1059440745,1018408058,-1098857908,-1094713154)+W(8,-1120119968,-1145494414,-1146014215,1044961993)+W(9,1031629367,1005339683,-1159113641,-1119964867)+W(10,-1122483505,-1108866660,1036793310,1023717620)+W(11,-1122997930,1007729326,-1129764324,1038059949);sum2=W(0,1025130698,-1134749664,-1114453597,1015277664)+W(1,-1117062871,-1115087054,1033917561,1027591084)+W(2,1019605180,-1131991228,-1114105716,-1101670769)+W(3,1032879133,-1134874844,-1112547401,1036987011)+W(4,1055956188,-1108159193,-1114337945,-1126832950)+W(5,-1104354242,-1097147867,-1123425664,-1097729634)+W(6,-1112115766,1018163604,-1116674795,1038859445)+W(7,1052262112,1032023389,-1114930086,1026538526)+W(8,-1101321392,-1100180330,1047994902,1058230624)+W(9,-1128408082,1003243264,-1127718668,983557058)+W(10,-1105383385,-1120777676,-1132712652,968847366)+W(11,-1106875572,1009596296,1042953566,1046456588);WS(1044178094,-1112419455); +sum1=W(0,1028145051,-1106904202,1014469647,-1131480425)+W(1,-1113746394,-1101407218,1050878345,1050373320)+W(2,1005496122,1009224698,1036986154,-1097767254)+W(3,-1114114798,-1103921210,-1111970637,1033460669)+W(4,-1089975999,-1083033439,1061375910,1059597501)+W(5,1010606701,-1155279741,1025899544,-1106579916)+W(6,-1104772954,-1105642670,1028778773,1018155424)+W(7,-1089702156,-1100724747,1054878354,1062331213)+W(8,1027233072,1015772371,1032512190,1034746546)+W(9,-1122369255,-1105836421,1036392279,-1120733619)+W(10,-1095744476,-1096031599,1057064179,1050980308)+W(11,-1131981388,-1140419566,-1120232930,-1113254377);sum2=W(0,-1120335698,1016883675,-1105410550,1044058702)+W(1,1021344157,-1104385836,1035757794,1041124235)+W(2,1057976488,1058928386,-1085495757,-1087803383)+W(3,1032351899,-1103364509,-1119512188,1033398047)+W(4,1068114101,1052569394,-1105098443,-1105578788)+W(5,1051244378,1048853947,-1086748155,-1081571635)+W(6,-1123961512,1043612533,-1129503263,-1121578506)+W(7,1027075889,-1095293941,1025665274,1037191880)+W(8,-1130402783,-1124003088,1048618044,1031589750)+W(9,-1110855577,1044044613,-1116781712,1005093795)+W(10,-1113226379,-1106316439,1023695645,1024086018)+W(11,1010599720,-1120128288,1039073287,-1121765158);WS(-1095246679,-1087513362); +sum1=W(0,1005582218,1034119552,998672596,1027634667)+W(1,-1093682933,-1099832192,1049059024,1054139855)+W(2,-1142612208,1024339285,1040529483,1002440559)+W(3,-1098084154,-1141537276,1026870673,-1149130110)+W(4,-1089047862,-1088853800,1065515488,1052649123)+W(5,1025618962,1014930618,-1126585773,-1122861959)+W(6,-1098155038,-1115874224,1027369115,1006905115)+W(7,-1084571535,-1097071228,1053781857,1064339388)+W(8,-1117714471,-1136815962,-1105399392,-1099945809)+W(9,-1130796284,-1110211381,1027010724,-1156874400)+W(10,-1107001190,-1095503614,1056042372,1050040635)+W(11,1018962754,1028298602,-1117200441,1023818537);sum2=W(0,1041438934,-1119369172,-1131412357,1021849900)+W(1,1035803991,-1111021944,1021256857,-1128850825)+W(2,1028120411,-1109090883,1042971908,-1100551265)+W(3,1040592619,-1114002177,-1125196517,-1118206650)+W(4,1038923952,1072474004,1025252531,1046750596)+W(5,1026074630,-1100770381,-1083937830,-1109478151)+W(6,1032710077,1044882286,-1144348946,1035111533)+W(7,1077302109,-1095554578,-1128830461,1048692472)+W(8,1049109423,1041329596,-1084038225,-1067064389)+W(9,-1106944856,1034465258,1020034266,1021086832)+W(10,1044371493,-1126088605,1034167215,1032666924)+W(11,1033664959,-1114595648,-1103479472,-1106119426);WS(-1086863724,-1072185677); +sum1=W(0,999422396,-1108936247,-1117432553,1028385114)+W(1,-1096116227,-1097427086,1053618221,1054099261)+W(2,-1139590961,1021035463,1026659130,-1144842721)+W(3,-1104614655,-1104994067,-1109809663,1039695343)+W(4,-1085349189,-1083398775,1062802560,1060257868)+W(5,-1123772160,-1103266023,1038629270,1037424170)+W(6,-1154652341,-1146863602,-1123921882,1021420394)+W(7,-1099176000,-1110026089,1045520765,1056152893)+W(8,1017905387,-1111374457,-1118540449,1048207210)+W(9,-1114930982,1034006493,1022384484,-1130768465)+W(10,-1104661441,-1115290030,1050379178,1044268562)+W(11,997564786,-1108736604,-1101129750,-1129199023);sum2=W(0,1040406414,1017997140,1028330563,-1122660132)+W(1,-1096101684,1022732374,1025921746,1007232002)+W(2,1041847394,-1105481885,1041150821,-1114861255)+W(3,1025264396,-1103384157,1045687787,-1115262781)+W(4,-1102241564,1055010544,1040909479,1043786284)+W(5,1055232297,1061241514,-1078483413,-1094431556)+W(6,-1151694751,986929807,1029063313,-1108704409)+W(7,1057419270,-1126901852,1043690826,-1108714653)+W(8,1063042984,1067726336,-1078269109,-1079156700)+W(9,1026201848,-1115691336,1013546756,-1116092784)+W(10,1047767958,-1115096031,1038266954,-1119932664)+W(11,1054314043,1052159629,-1098859524,-1092610189);WS(-1100931758,-1079897221); +sum1=W(0,-1105750735,1038153885,1034941050,1002503979)+W(1,1042140489,1051948423,1017797614,-1109125113)+W(2,-1119888216,1035399096,1024057510,-1126416416)+W(3,-1105238364,1049149819,1040768819,-1106318298)+W(4,1034322060,1059094088,-1090093369,-1095922988)+W(5,-1104877795,1042879258,1040510958,-1103862864)+W(6,1028324215,-1106412131,-1141069099,-1115730241)+W(7,1049017573,1050624300,-1102230944,-1091054939)+W(8,-1120272065,-1112985689,-1106256757,-1112163155)+W(9,1039911116,-1114353739,-1123362142,1027555620)+W(10,1045992036,1043140938,-1097766172,-1127686569)+W(11,1033961137,-1117933580,1018029782,1017980086);sum2=W(0,1039272612,-1120265428,-1106915273,-1118098210)+W(1,-1107428188,-1111026913,1043187452,1033865352)+W(2,-1138511840,-1129236656,-1108614463,1041731770)+W(3,1047577900,-1112696018,-1115506453,1038839398)+W(4,1034998667,1068488571,-1090204449,-1107536005)+W(5,1049639209,1065503173,-1073443109,-1104254290)+W(6,-1123012045,-1123570623,1016491198,1032442192)+W(7,-1096446249,1013219076,1042935567,982996928)+W(8,1035312463,-1104804103,1041050172,1040126834)+W(9,-1121836120,1026228225,-1145352236,996494424)+W(10,-1101384300,1023915500,1030161309,-1120793710)+W(11,1040382819,-1106858818,1038049010,998034192);WS(1060652716,-1122012062); +sum1=W(0,-1113850590,1022556549,-1120727741,-1136700086)+W(1,1056384406,1052398904,-1098011208,-1093156519)+W(2,1021600449,-1114714908,-1106430355,-1101587139)+W(3,1030968440,1036351121,-1102129381,-1136846536)+W(4,1062519968,1061355096,-1079676696,-1100004083)+W(5,1016310696,-1113036024,-1107897312,-1132405458)+W(6,1049961616,-1119797202,-1111246103,1035874533)+W(7,1059521337,1052440101,-1087704492,-1097573322)+W(8,1022545811,956768943,-1109566980,1048756772)+W(9,1037896960,1033695743,-1111739075,1019584793)+W(10,1048869443,1048091420,-1092447605,-1096988084)+W(11,-1121983087,1018273385,1043876621,1020055223);sum2=W(0,1033535752,-1102458559,1028726521,-1134928360)+W(1,1056652859,1048810536,1031241917,-1108867200)+W(2,1034782854,-1123876292,-1100509489,-1094974673)+W(3,-1114678181,1050124192,1041988393,-1102649789)+W(4,1051021341,1036208495,1056497468,1028753942)+W(5,-1100025719,1037384204,1034323322,-1100441695)+W(6,-1102215651,1032107719,-1125378124,-1105797881)+W(7,-1099717915,-1114740583,1057082230,-1090602802)+W(8,-1098766868,1024245049,1041259997,-1115767916)+W(9,1014416128,-1119150822,-1134413224,1034345705)+W(10,1002570703,-1101875417,1025484112,1023046526)+W(11,-1114560124,-1112409616,1037850051,-1122784508);WS(-1104650926,-1097620835); +sum1=W(0,1025795527,-1105437010,1021304961,-1121602225)+W(1,-1105175020,1045711217,-1108985665,1046345311)+W(2,1000929055,-1145522137,-1117138161,-1160491701)+W(3,1039870965,-1097752993,1033606955,-1132438763)+W(4,-1093274991,1062570208,-1144407721,1041625463)+W(5,-1117941464,-1122762228,1049985633,1040158758)+W(6,1037504305,-1109081755,1032325913,-1119908749)+W(7,-1099088029,-1097698093,1047145475,-1100934531)+W(8,-1109694278,1026835862,1004919651,1037586881)+W(9,-1121171172,-1116159153,1011690407,-1112547088)+W(10,-1136783989,-1106563213,1036418740,-1119544288)+W(11,1024727664,-1126831120,999804916,-1124949278);sum2=W(0,-1122873970,-1100601593,1043997541,-1103930431)+W(1,-1139346648,1042591516,-1108032519,1048581640)+W(2,-1115391660,-1107477718,-1123657132,1030984702)+W(3,-1174042309,-1084779372,1046282803,-1102154605)+W(4,1045200151,1052027066,1068068442,1029742536)+W(5,1032437784,1025856678,-1086671314,-1106767363)+W(6,-1114322527,1046060831,-1116052960,-1106269056)+W(7,-1098651742,-1115540046,-1119470820,1051594943)+W(8,1036550683,-1121355040,-1127107345,1024653780)+W(9,-1115511338,1041954938,-1113135778,993204113)+W(10,1021777728,-1107159950,1020181836,-1138871916)+W(11,-1115373797,-1122730046,-1134598872,-1163609763);WS(1066180726,1071088208); +sum1=W(0,-1125280121,1001471451,-1139409238,1019239309)+W(1,1046613601,-1137946220,1012641888,-1096761986)+W(2,1022045682,1006921793,1047813898,-1107071425)+W(3,-1110062156,1036666525,-1117575980,1016498838)+W(4,-1089511315,1064065326,-1098591157,-1103040193)+W(5,1010038708,1025055882,1024305865,1045045936)+W(6,1049354787,1048739493,-1113394675,1000209679)+W(7,1058946251,1056455200,-1090655988,-1079760364)+W(8,990559266,1028621651,1013890551,-1110782371)+W(9,-1119525817,-1103045922,-1133365628,1030691589)+W(10,1048597558,1050574049,-1099636767,-1102803453)+W(11,-1118324476,-1146495466,1043476657,981956228);sum2=W(0,1043448685,-1133524329,-1110784932,-1132513434)+W(1,-1092624350,1047633966,1037755510,-1099364915)+W(2,-1119372495,-1105722911,-1103089496,1056566992)+W(3,-1107748756,1038994810,1015068960,1015163300)+W(4,-1120785461,1052941265,1041992963,-1102119678)+W(5,-1123661455,-1115405106,-1122308723,1032253510)+W(6,-1104237963,-1120882016,-1135254713,1033174530)+W(7,-1112171819,-1149514732,1015880446,1059473601)+W(8,-1126727948,1038410412,-1121912217,1028984470)+W(9,-1105704866,1042278645,-1132281738,1032888151)+W(10,-1106883398,1032085587,-1087682569,1034086136)+W(11,-1113287020,1025242322,-1121651695,1037486360);WS(1036385628,1044378228); +sum1=W(0,-1119989961,1024777096,-1122454178,-1125923878)+W(1,1034400041,1050462805,-1109744594,-1113894352)+W(2,-1119159494,-1136375156,-1118152051,1040468885)+W(3,1045742974,-1106270482,1034604284,-1106272614)+W(4,1057689729,1056885773,1049041391,-1081686591)+W(5,1016953331,1033159371,-1111838475,-1112362495)+W(6,-1097223397,-1112273196,1030894675,-1112814039)+W(7,-1082103097,-1111542214,1043400251,1058546239)+W(8,-1127987422,1008300000,1042722054,1051410218)+W(9,-1131680651,974203052,-1130721815,-1123079474)+W(10,1032256832,1030325078,-1127331477,1024933634)+W(11,1020481857,-1122308858,1028514056,-1104716944);sum2=W(0,-1124098806,-1105376950,-1118763531,-1126857538)+W(1,-1105780084,-1094874635,-1096176503,1017023528)+W(2,-1133097491,1036694112,-1140350635,-1128747572)+W(3,1037674477,-1110580495,1032593429,1031801448)+W(4,1071605005,-1075832971,-1078904043,1067983244)+W(5,-1111308161,1036064001,-1097243929,-1109792866)+W(6,-1116861031,1039467599,-1119835024,1004108563)+W(7,1065456263,-1112838992,-1111109918,1060638644)+W(8,1039332997,-1103055030,-1114824160,1040323331)+W(9,-1109178305,1033383777,-1169697445,1016299757)+W(10,-1104548941,1006549790,1040587540,-1098624444)+W(11,1027541135,1022453269,-1127435882,1033955221);WS(1044586414,987793058); +sum1=W(0,-1094962922,-1105742952,1029861564,981244734)+W(1,-1106851755,-1099782448,1054313512,1056192743)+W(2,-1109764848,1032524411,1027895469,-1119312576)+W(3,-1103252055,-1106380176,1008852553,-1127551587)+W(4,-1098041547,-1096188128,1048369556,1058042871)+W(5,-1110892330,1024237680,-1121596880,1019737521)+W(6,1039776063,1036900841,-1120415085,-1110264932)+W(7,1052995119,1058305414,-1097596121,-1104749720)+W(8,-1120426409,1026360866,-1098125906,-1106765091)+W(9,1025145152,1028803677,-1111219811,-1128191927)+W(10,1045503990,1055249646,-1103570473,-1105335335)+W(11,-1151171624,1031597860,-1101993823,-1106717007);sum2=W(0,1038321486,1032730216,-1116947191,-1170894487)+W(1,-1093894288,-1109920837,-1102463031,1053283699)+W(2,1046510222,-1098101478,1047091130,-1100030896)+W(3,1034140662,-1104751545,-1112734885,1031282910)+W(4,-1089191295,1065532097,1054507486,1044178467)+W(5,1046381950,-1113780206,-1095028025,-1097946325)+W(6,-1102906173,-1115060896,-1112368696,1042944653)+W(7,-1115680584,1029167633,1038784522,-1128523954)+W(8,1020709100,-1114933696,1050920778,-1094781909)+W(9,-1124833342,-1103764076,-1149951158,1023647443)+W(10,1021288403,1048070264,-1105151256,-1109068581)+W(11,-1114621382,-1120673083,1052479172,-1113980416);WS(-1114317660,-1079530866); +sum1=W(0,-1115918380,-1100871485,1045601427,1005492722)+W(1,-1116105277,-1115200394,1040297908,-1124407701)+W(2,-1125596386,1024917256,1034785295,1041270838)+W(3,-1122621547,-1094477942,1040691817,-1125684614)+W(4,-1103806788,-1097950923,1054673340,-1098312611)+W(5,1026343653,1033886401,-1103823208,1049040249)+W(6,1044150368,1041157065,-1122106750,-1138701159)+W(7,-1088150296,1040435582,-1120050519,1041833209)+W(8,1039772509,1028146611,-1121264402,-1129519613)+W(9,1039210328,1037992735,-1132247342,1010492340)+W(10,1025767275,1032362656,1025359158,-1116922669)+W(11,1030520276,1032249339,-1107139719,-1133614768);sum2=W(0,1035594747,-1130123766,-1116868484,-1155531695)+W(1,-1101564588,-1113096514,1034328851,-1111112193)+W(2,-1130931838,-1123313694,-1115452418,-1116834132)+W(3,-1121397012,-1115576312,-1106991844,-1135508412)+W(4,1029679690,1048453590,1050004218,1033705026)+W(5,1018386998,-1127714868,1029930774,-1152418495)+W(6,-1126221532,-1107263445,1001487940,-1135674828)+W(7,1050922209,1043692754,-1123887534,-1117911568)+W(8,-1121358676,1023927325,-1114385718,1007646710)+W(9,-1121744498,-1125291430,-1131775200,-1119877490)+W(10,1034884616,1032206024,-1110635219,1017446183)+W(11,-1115969900,-1122013064,1016330315,-1122169416);WS(1066254326,-1103165682); +sum1=W(0,-1107990998,-1114107453,1027879829,1032736195)+W(1,-1102376817,1024426522,-1121888407,1040177417)+W(2,1019040113,1012754494,-1134855959,1034252186)+W(3,-1103287009,1041209406,-1123062443,1031762634)+W(4,-1086180914,1045901207,-1097968365,1058340070)+W(5,-1128188760,-1116847305,-1117801777,1048880356)+W(6,1039171204,-1113506869,-1148973229,1004281096)+W(7,1060563077,1045252895,1042461256,-1082040497)+W(8,-1149008906,-1140572507,1021862138,-1108119503)+W(9,1029657432,1042306865,-1130151676,-1119568276)+W(10,1035749465,1042341554,-1106785311,-1110264442)+W(11,1021245074,1010461490,-1125959462,1017288487);sum2=W(0,-1111267114,1044764288,-1124089023,1021177914)+W(1,-1105822865,-1100663157,-1106310853,1038432054)+W(2,-1122267795,-1121288215,1039738660,1037666445)+W(3,1026571855,-1103902938,1019818775,1026640236)+W(4,-1088005063,1066152263,1063205014,-1115065858)+W(5,1045614354,-1112191805,-1094681119,-1097556837)+W(6,-1139759728,1046869720,-1106530127,1019369915)+W(7,-1093573252,-1098236584,-1096246655,1054784388)+W(8,1041592438,-1110480242,1051664274,-1095778937)+W(9,-1116925721,-1107211067,1030498751,1038187852)+W(10,1033917272,-1107121631,1035488589,-1115197568)+W(11,1015983837,1022742082,1038730556,-1104072801);WS(1062838508,-1098141683); +sum1=W(0,-1129876167,1021336509,1033720508,-1134697126)+W(1,-1099161722,1019102333,-1104597903,-1116304310)+W(2,1030514076,-1118743028,1045312786,1038618718)+W(3,1014720225,1046652247,-1119656591,-1121504814)+W(4,1049624810,1058084844,-1082370571,-1101916102)+W(5,-1134396481,1009920435,1029119981,1036131058)+W(6,1047400131,1033072079,-1114868293,950602286)+W(7,1053105145,1050650780,-1096699752,-1091801796)+W(8,-1132133195,-1133963803,-1119884597,-1119759594)+W(9,-1139606129,1026913289,-1113093265,1034808260)+W(10,1034036747,1048726310,-1098146380,-1121911577)+W(11,990998386,-1121758433,1017329950,1024218735);sum2=W(0,1026947049,-1114533760,1018600110,-1120814392)+W(1,1029294693,-1096357662,1043306429,-1124609851)+W(2,1054044776,-1109773692,-1078857162,-1089366560)+W(3,-1112504706,-1107191892,-1124538308,1027325255)+W(4,1075131584,-1118772404,-1090928488,1030055965)+W(5,-1105806639,-1102685120,1060040329,-1106088729)+W(6,1023329910,-1124222597,1007599328,-1127260613)+W(7,-1092017575,-1113584525,1015958190,1046523168)+W(8,-1119137158,1032716843,1047822624,1045316672)+W(9,1024046209,1019591350,-1125977712,-1128821133)+W(10,-1109468012,-1105922548,-1115445424,1022187138)+W(11,-1120065319,1016647840,1038940063,1021757630);WS(1054286935,1054427377); +sum1=W(0,1031868724,1024526894,1015966225,-1139016422)+W(1,1027450488,1046711412,-1100637795,-1103470657)+W(2,-1113202838,1036202402,-1105992614,1036611766)+W(3,-1107528289,-1123790766,1029692191,1034481375)+W(4,-1098573729,1036148808,-1096987004,1043922306)+W(5,-1121078688,1006910195,-1138151730,1045477269)+W(6,1033739398,-1101429240,1037138557,-1118014037)+W(7,1053311986,1016118627,1045510949,-1103397016)+W(8,1033532379,-1135069562,1013880803,-1103945702)+W(9,1035472806,-1114181077,996243233,-1107878452)+W(10,-1127637067,1041113135,998962565,-1113746932)+W(11,-1112788047,1020627009,-1118755335,1041047838);sum2=W(0,-1114977231,1031676937,1020343611,998302909)+W(1,1036510752,-1117993552,-1115901635,-1111023634)+W(2,1033017445,-1113757911,1041465226,1004185429)+W(3,-1113383024,1053648356,1014080934,1029585253)+W(4,-1099268355,-1083342245,-1095412525,-1091081120)+W(5,1021941233,-1161911507,-1115471327,-1113451820)+W(6,1044096370,1042686855,-1115911996,-1135780688)+W(7,1034064765,1037488276,-1137657706,1066870285)+W(8,-1120710156,1018751107,1023464409,-1118193886)+W(9,-1108781434,1037265024,-1117868456,1018594371)+W(10,1014772326,-1113946823,-1126645268,1043350243)+W(11,-1148724493,967002060,1032826620,-1138084208);WS(1069042774,1023813606); +sum1=W(0,1029846837,-1113747494,982627530,-1120569815)+W(1,1052864835,1048856613,-1109565588,-1087916882)+W(2,-1130288148,-1136915076,1011966045,1037940281)+W(3,1033076468,1039673254,-1122018428,-1113058670)+W(4,1056781822,1059308179,-1085384902,-1095056850)+W(5,-1140629239,1027021082,-1107102153,1041407837)+W(6,1038190732,1046432919,1021479086,-1110295833)+W(7,1063669175,1059014405,-1089999723,-1083727323)+W(8,1007651659,-1128736648,-1110936865,-1111254596)+W(9,-1134594983,1016231853,1013049407,1001627822)+W(10,1044534497,1048044230,-1094610970,-1094559921)+W(11,-1139332738,-1114487747,1046858383,1025983877);sum2=W(0,-1088323667,1030684990,-1115645027,-1097118790)+W(1,1049654149,-1101283859,1056476304,1067177084)+W(2,-1108580354,-1124995735,1040556965,-1120538318)+W(3,-1081609065,-1082143899,1042765123,-1109249259)+W(4,1057270411,1055747315,1061996602,1058423359)+W(5,1017763415,-1114753052,-1120372038,-1122455315)+W(6,-1102809807,1059694558,1028792702,1015795842)+W(7,-1087207348,-1106003210,-1085597397,1006287482)+W(8,1040354664,1033427208,1042932361,-1106540179)+W(9,1064574838,1072110122,-1105083736,-1116071919)+W(10,1023804763,-1090423898,-1081832849,-1080103447)+W(11,-1098395984,1049644025,-1101912272,1048665861);WS(1046279854,-1100682627); +sum1=W(0,-1109896894,-1114421037,-1110611178,-1155754074)+W(1,1035511522,-1124410677,1030120983,-1107576521)+W(2,-1116898232,1008443967,-1114543731,1002805634)+W(3,-1131162933,1027993210,-1118509483,1022309140)+W(4,1038811574,1059809630,1062355587,-1094043528)+W(5,-1122237996,-1141634631,-1113128332,1039227081)+W(6,1040243222,-1117693450,1022155595,-1109973457)+W(7,1038778317,1046487839,-1110047247,-1094900881)+W(8,1021837827,-1132048229,-1109843880,-1105636701)+W(9,1019138289,996768085,-1117715774,-1107208537)+W(10,-1127423844,1039784548,-1107567326,-1110631994)+W(11,-1123472091,-1128081977,-1112311954,1004796827);sum2=W(0,-1107499970,-1112866732,-1111094572,-1155805362)+W(1,1035480223,-1148903065,1044264749,1022847832)+W(2,-1110725720,1021130376,-1114470280,-1120962569)+W(3,-1106540686,-1140638716,-1123681391,1028160711)+W(4,1040150233,1045538131,1057429467,-1155674450)+W(5,-1120260095,1009992044,1016428102,1010774604)+W(6,1031083122,-1139408516,-1119301235,-1116453985)+W(7,1031696457,1041846065,1025824831,-1106158641)+W(8,1026515918,-1114275912,-1118124541,-1120179561)+W(9,1034592379,-1116565509,-1115385578,-1108559318)+W(10,-1120456085,-1129601606,-1121519923,-1111164410)+W(11,1011855672,-1115407958,-1119709653,999266665);WS(1068834358,-1130516755); +sum1=W(0,1034114243,-1095778974,1043574522,-1110020716)+W(1,-1102038774,1035735542,1048936405,1048068617)+W(2,-1110620517,1038840817,-1100504766,1031998965)+W(3,1047457188,-1108460854,-1129582842,-1110718798)+W(4,-1105529591,-1096174934,-1114164062,1038642250)+W(5,-1109142655,1023990363,-1130108598,1047377413)+W(6,1054126843,-1096959660,1034180284,-1114402010)+W(7,-1112126358,1043709316,1049433806,-1110583455)+W(8,-1122044916,1040978881,-1095231947,1044906670)+W(9,1033414773,1039130852,-1111247176,1025857751)+W(10,-1123546692,-1112879245,-1119539023,-1136840220)+W(11,-1131191403,-1115530151,1035429307,-1130058411);sum2=W(0,-1108165952,1040753488,-1125442959,970017593)+W(1,-1102798485,-1088611471,1000227776,1047729556)+W(2,1029593938,-1108133201,1049645408,-1142827268)+W(3,1033984686,1051322703,-1108273260,-1107196630)+W(4,-1087549565,1062180091,1055231112,1038319755)+W(5,-1114349374,1035145460,-1103837458,-1127043239)+W(6,-1113564209,1041587650,-1132402709,-1130992285)+W(7,1046553690,-1113546876,986706110,-1094436986)+W(8,-1114342182,-1146643074,1048231400,-1107399737)+W(9,-1116630320,-1122802752,988670622,1017358256)+W(10,-1120036494,1032902155,-1132214419,-1124437274)+W(11,-1126967424,1014303584,-1145381770,-1124561928);WS(1067517750,1033639701); +sum1=W(0,-1102897085,-1132678155,-1130341242,1025509678)+W(1,1037697110,1040728225,-1096924480,1023511162)+W(2,-1138182274,-1138791135,-1108434135,1039047450)+W(3,-1151042791,1013105800,1018375590,-1120272434)+W(4,1056422164,1062857884,-1086033191,-1094474081)+W(5,1010850641,1034477848,-1122589009,1032921189)+W(6,1041000592,1032243033,1026047982,-1116961737)+W(7,1058773976,1063905370,-1093123217,-1085852953)+W(8,-1112868181,1026848855,-1106044526,-1100255843)+W(9,1034904976,-1123793645,-1113724179,1025041660)+W(10,1050274619,1057695471,-1091335173,-1093479580)+W(11,-1122948276,1007925107,-1136654701,-1112977566);sum2=W(0,-1101718380,-1110599661,1047092496,-1101843642)+W(1,1051125372,-1092942861,1053918698,1046322966)+W(2,1050651985,-1101055683,1058235489,-1084762721)+W(3,-1127672356,-1096713677,-1098074183,1032746990)+W(4,1040369276,1074732797,1069438643,-1100340247)+W(5,1050412863,-1103557505,-1088693676,-1090389206)+W(6,-1104014372,1035860070,-1096910060,1053786699)+W(7,1050011098,-1080423025,-1083706115,1025809994)+W(8,1052371166,-1099152238,999981171,1053232821)+W(9,-1097849415,1051096852,1023876031,1043846267)+W(10,-1117530220,-1091623712,-1081917128,1048729218)+W(11,1041618808,-1123531943,1050919626,-1097505133);WS(-1098378327,-1087753140); +sum1=W(0,-1123262056,-1131552366,1013838405,-1149815841)+W(1,1053738584,1025605911,997589309,-1110243207)+W(2,1031741109,-1135340592,967065877,-1096838314)+W(3,-1114416842,-1103162646,1025974631,1021155853)+W(4,1049179692,-1094476095,1042062186,-1104972312)+W(5,1029594857,-1145022506,-1130981226,-1108406847)+W(6,-1099404299,-1100518162,1020943940,1017740987)+W(7,-1093068705,-1101042271,1059648114,1057054155)+W(8,1005012974,-1112923496,1010424693,1023051300)+W(9,-1111541722,-1098489580,1031952605,-1137239299)+W(10,-1111532695,-1100382705,1061110492,1047878460)+W(11,1030823984,-1113821120,989087216,-1117167136);sum2=W(0,1032463913,1031752431,-1111830177,1034695587)+W(1,1051055536,1010301739,-1104893727,-1087773887)+W(2,1028563957,-1111301343,1003908630,-1103774157)+W(3,-1103205904,1045285117,-1116805918,1017885202)+W(4,1045597173,1065451004,1061301409,-1114987001)+W(5,1042437558,-1106181364,999416278,-1107230114)+W(6,-1092035876,1044034906,-1113376464,1039973913)+W(7,1036331211,-1101789830,-1096259933,1053784665)+W(8,1014136811,-1127455968,1047293827,-1118216068)+W(9,-1097056010,1034392181,-1109344122,1024357631)+W(10,-1105822235,-1098597360,-1095057905,1015259894)+W(11,-1137717779,1017174230,-1139528651,-1119063058);WS(1051991511,-1090129628); +sum1=W(0,1035475128,-1103260128,1028979258,-1119709994)+W(1,-1099369674,-1107028176,1048862488,1044364174)+W(2,-1122358045,-1142000036,1037758213,1024914253)+W(3,-1099928080,1041023848,1025156752,1025569135)+W(4,-1092954947,1048877896,-1103260308,1054464119)+W(5,-1110227337,1023847918,992983000,1045752341)+W(6,1030722332,1040845476,1032797781,-1113846787)+W(7,1036105176,-1113372113,1039529634,-1090331224)+W(8,1018698636,-1139349278,1027244574,-1115078629)+W(9,1015665914,1032471277,-1126457798,-1137003429)+W(10,-1104520406,-1111431094,1036006161,1015668019)+W(11,-1131269376,1004297100,-1113568276,1039091960);sum2=W(0,-1098470129,-1096590117,-1117698064,1043798657)+W(1,1029962999,1037727050,1047971790,-1126555274)+W(2,-1131048284,1022180969,-1161955740,1028782608)+W(3,-1084690772,1065791971,-1101130902,-1102458928)+W(4,1008201251,-1083609361,-1099131342,1067678357)+W(5,-1120783295,1014843769,1051059538,-1103096568)+W(6,-1123809426,1019910088,1026623851,1025730631)+W(7,1031198846,-1113754273,-1117295572,1036453804)+W(8,1020274026,-1111232000,1041141064,-1106261335)+W(9,990258218,-1124630920,1012466631,995294154)+W(10,1030505142,-1136369090,1010360391,-1116170672)+W(11,-1127235720,1001879503,-1119361560,1028328942);WS(1062559660,1025273829); +sum1=W(0,-1098241838,1041017424,1004255955,1017067222)+W(1,1060515311,1050253504,-1088941672,-1088364567)+W(2,1036248943,-1133026900,-1115329590,-1113064427)+W(3,-1136327879,1032386976,-1109975080,1019590495)+W(4,1064814036,1061681108,-1083706517,-1087512143)+W(5,1008140615,1028690158,-1146803505,-1113817187)+W(6,1031451349,-1112687016,1004648665,1028071367)+W(7,1061080357,1052988124,-1092690193,-1089169701)+W(8,1010963867,1030651112,1031379878,-1112935650)+W(9,1040197151,-1105242363,999516190,-1129853588)+W(10,1048643203,1050105214,-1093365052,-1100415991)+W(11,-1133141907,-1139571464,1051227835,-1112391860);sum2=W(0,-1088438618,-1084402469,-1123128465,1058977722)+W(1,-1080154822,-1109667848,-1068917363,-1070888183)+W(2,1020668753,-1117456198,-1133954517,1057028315)+W(3,-1097793743,-1092491618,1025585093,1051128320)+W(4,-1080832517,1058335327,1078112044,-1079680807)+W(5,1031920962,1039195999,-1089499329,1057005952)+W(6,-1090336452,-1094761348,-1090331128,1043020026)+W(7,1067339759,1057746923,1070728174,1082393215)+W(8,1046190750,-1139309423,-1096630558,1038175360)+W(9,1032815200,-1080227574,-1101815127,1037612985)+W(10,-1122043266,1067785018,1066541275,-1090225897)+W(11,-1116527206,1046599598,-1086032969,1051816122);WS(-1077531606,-1068627295); +sum1=W(0,-1113367136,1048375560,1034866077,-1124767318)+W(1,1055377197,1047513184,-1099058463,-1095446127)+W(2,-1126382267,1025894069,1045191539,-1111814927)+W(3,-1104403272,1049955828,-1130761376,-1101653116)+W(4,1058086815,1061174628,-1087242437,-1090535733)+W(5,-1117513042,1008100281,1048150628,-1094831865)+W(6,1036710310,-1108970480,-1121310187,-1106412978)+W(7,1057172304,1056094244,-1096168584,-1088900579)+W(8,999030326,-1115104524,-1102502166,-1103308083)+W(9,1049541454,-1107579101,-1107982930,1040285922)+W(10,1047121222,1054731422,-1095682732,-1097928011)+W(11,1032672660,1025118882,-1103869114,1043510842);sum2=W(0,1021086937,-1119472758,-1109912068,-1118325221)+W(1,-1131106753,1030452362,1026424546,1043003051)+W(2,1007248641,1007569065,-1109242129,-1122810381)+W(3,1051951524,1028908234,1073210842,1055626857)+W(4,-1103671831,-1079815727,-1081037490,-1092928023)+W(5,-1112697430,1034566233,1035695099,1034708821)+W(6,1044779683,1039597247,-1108710534,1050117205)+W(7,-1105002867,1032627417,1044106321,-1093398148)+W(8,-1131640977,1020894429,-1112762482,1037167425)+W(9,-1130127373,1026547602,1005945059,1007734945)+W(10,-1108845723,1023992222,1019051617,-1119182686)+W(11,-1144614067,1009135009,999154803,-1120996683);WS(1027136184,1037475189); +sum1=W(0,-1116112165,1049686375,-1100957374,1032095571)+W(1,1049018533,-1106083983,1038845436,-1115063802)+W(2,-1107767341,1047825580,-1120251015,-1119314641)+W(3,1028374302,-1096656387,1008293424,1042581547)+W(4,1046087792,1044615055,1053200569,-1088748902)+W(5,-1104556803,1041068763,-1099043646,1034473457)+W(6,1033692244,-1105885187,1046313162,-1125080965)+W(7,-1090279185,1052904956,-1103807360,1024446429)+W(8,1035958465,-1106489925,1033985068,1029265287)+W(9,-1122471385,-1122778646,1032243376,-1104233593)+W(10,-1106111045,-1113201013,-1114896431,1048125173)+W(11,1037737330,-1123269230,1045413959,-1106885357);sum2=W(0,1028061230,-1090820835,1046942588,-1109957285)+W(1,-1110812851,1048459161,1047577084,1045893852)+W(2,1027149256,-1106934834,-1114577527,-1108048047)+W(3,-1168618571,1053631926,1035311457,-1108558913)+W(4,1058947879,1028951753,-1097789717,-1096957845)+W(5,-1104794282,-1139749789,1041621301,-1104353646)+W(6,-1140171429,1024395745,1020819182,-1103268017)+W(7,-1086199154,1018177816,1010859305,1058472778)+W(8,-1105608688,1051639728,-1101676043,1047742834)+W(9,1034074787,-1111153127,-1119040125,1017489970)+W(10,-1119421881,1029986143,-1134098557,-1118924631)+W(11,-1105627073,1035525353,-1110045381,1030918112);WS(1059085676,-1120419895); +sum1=W(0,1010567522,1041225150,1015920803,-1123531970)+W(1,1031892193,-1105839574,1042370229,-1140828475)+W(2,1013434325,-1117671948,1021017477,-1126417758)+W(3,1048968044,-1107069702,1003238718,-1129458830)+W(4,1052692461,-1113798029,1061545382,-1081896608)+W(5,1033141013,-1110196995,1033163859,-1106306215)+W(6,-1107554082,-1131681870,1019022757,1024388894)+W(7,-1080962214,1023517883,1048429719,1057779808)+W(8,998455538,-1104852314,974463598,1051334024)+W(9,-1110859547,1018058500,1029064795,-1122285937)+W(10,-1107360247,-1109838114,1043188126,1046207852)+W(11,-1130795454,-1115208005,-1182091254,-1137698561);sum2=W(0,1051048471,1028093784,-1104270657,-1115293356)+W(1,-1108089569,-1104160418,1055158904,-1116254969)+W(2,1032305896,-1109483288,1040482382,-1110389222)+W(3,-1111420185,-1087783718,-1140125409,995357221)+W(4,-1113016550,1060085251,1057721666,-1108447426)+W(5,1033267880,-1106001572,-1106428297,-1105273681)+W(6,1031459460,1035133120,1016190873,1041981586)+W(7,1041174723,-1119561801,-1119040585,-1086769840)+W(8,-1115354420,-1127947625,1045849559,1046452617)+W(9,1028088400,1019234873,-1115228320,-1140513641)+W(10,-1114345654,-1097229960,1043934745,-1121069799)+W(11,-1119205024,1033437588,-1114369945,1044224673);WS(1063842732,1069263660); +sum1=W(0,-1122877239,-1122091454,1031532473,-1134238373)+W(1,-1099884346,-1097152888,1052972391,1055968823)+W(2,1027783644,1025876211,-1119905385,-1101209335)+W(3,-1114405937,-1102409375,1031846503,-1118861678)+W(4,-1088480739,-1081966868,1062381841,1057777668)+W(5,-1133551424,-1124858713,-1166909210,1025124405)+W(6,-1105793535,-1113900631,1032122901,-1118980549)+W(7,-1086950263,-1107218856,1051224528,1065218890)+W(8,-1146513705,-1136389690,-1105943487,1045788186)+W(9,-1129606328,-1133229476,1033668289,-1119645672)+W(10,-1097976619,-1106065147,1043160456,1055096307)+W(11,-1153551023,1024085520,-1107257190,1011470685);sum2=W(0,1017497319,-1119731325,-1122047761,1008982555)+W(1,1044555710,-1104624717,1048705804,-1114050188)+W(2,-1121509319,1042591944,-1113283108,-1115112254)+W(3,-1110768789,1050149080,-1137222855,-1134583037)+W(4,1041907901,-1088882238,1079097716,1082656561)+W(5,-1111081434,1018241317,1033378952,1041138312)+W(6,1041298195,-1094516021,1029699842,-1140752305)+W(7,1050137131,-1099205492,-1064571216,-1069364548)+W(8,-1128224049,1008906239,-1105508475,1048604087)+W(9,1037679865,1029205125,1026101716,-1114302140)+W(10,-1109039739,1040352044,-1121859551,-1105564781)+W(11,-1118064246,1024193619,-1131493091,1026612451);WS(-1129102704,1046511454); +sum1=W(0,1003871004,1029362986,992833099,-1120255189)+W(1,1060542285,1049212165,-1113473140,-1098175836)+W(2,-1115237700,1012659838,-1118651222,-1104614392)+W(3,988783847,1011030567,-1138794987,-1134582632)+W(4,1059935407,1049733902,-1091886143,-1095364566)+W(5,1026034940,-1116104473,-1109648580,-1098721330)+W(6,-1118838023,-1111313565,-1129425099,-1157138191)+W(7,-1115543549,1041064643,-1149570791,1040190185)+W(8,1036784617,-1112251695,-1105481630,-1121023765)+W(9,-1115457860,-1106432157,-1133147960,1016407976)+W(10,-1119854466,1029519512,1038304902,1037653026)+W(11,1023835049,-1170197274,-1111089569,1031662787);sum2=W(0,1022956598,1036699032,-1104263814,1039353726)+W(1,-1088722171,-1088770012,-1154678850,-1093991321)+W(2,-1125147089,-1123571799,-1104468959,1039854738)+W(3,-1120983737,-1106986979,1028285409,1027240563)+W(4,-1101846939,1070132546,1067214284,-1089878099)+W(5,1036003207,-1117321918,1029156699,-1096446657)+W(6,-1095425364,-1136397826,-1151417050,1032871415)+W(7,1045480826,-1099095249,1051464555,1047639440)+W(8,1027342659,-1150420266,1024325599,-1098508409)+W(9,-1108376211,-1098325150,1023556565,1027668005)+W(10,1043597107,-1086577064,1061372327,-1104038071)+W(11,-1138411071,1031516803,1034968116,-1148394393);WS(1056411607,-1109579684); +sum1=W(0,1040494825,1031736403,1027988397,-1129654332)+W(1,-1089114662,-1091392278,1051564806,1053570965)+W(2,1041782836,1032323860,1018661052,-1099475130)+W(3,-1118623100,-1104250813,1027974595,1041758889)+W(4,-1087917688,-1081469355,1057393436,1061336939)+W(5,1035039650,1010041732,-1094207710,1034322317)+W(6,1023561152,-1115303377,1038422303,1038643645)+W(7,-1091410052,-1085011849,1052932495,1065029703)+W(8,1041287822,1020820966,-1096091282,1052271760)+W(9,-1111435064,1037517815,1047822542,-1115801276)+W(10,-1108233957,-1089621406,1056446507,1051403778)+W(11,1036272138,1043391417,-1095410877,1036087894);sum2=W(0,1063327246,1054945342,1043151870,-1114696922)+W(1,-1089121793,-1108711949,-1091433742,-1085101471)+W(2,1041765085,-1114908726,1036153834,1049274948)+W(3,-1111180476,-1078968963,1045725515,-1098855398)+W(4,-1096795753,1049748951,1071264665,1044429796)+W(5,1017938665,-1113887753,1043607695,1047012469)+W(6,-1075182266,-1073598210,-1093166728,1041130784)+W(7,1041099170,-1107925652,1074573142,1068966947)+W(8,1052357470,-1097732836,-1106854972,1008700501)+W(9,-1072729035,-1069127579,-1097485062,1048010869)+W(10,-1087601324,1057234494,1082548410,1072575447)+W(11,1035577978,-1117196119,-1095686167,-1100708600);WS(-1075355670,-1094395357); +sum1=W(0,1013276974,1019602069,1031927794,-1145694380)+W(1,-1102394069,-1105184299,1012968093,1022872131)+W(2,1032373060,-1123577887,-1113047243,-1132601278)+W(3,1034056645,1046251906,-1107635165,-1126751284)+W(4,-1089968245,-1079531190,1059501808,1064151904)+W(5,1012023536,-1121043161,1045395638,-1112578984)+W(6,-1107984424,-1101824103,-1117999477,1035883256)+W(7,1040654683,-1097950850,1052884390,1052823861)+W(8,-1136193989,-1124087697,-1102570614,1035604635)+W(9,-1117853800,-1113050587,-1135056568,1025403748)+W(10,1021798787,-1099617206,1051481338,1040309473)+W(11,1014648876,1015049529,-1117559395,1016601958);sum2=W(0,1024400373,1050797480,-1099966915,1040559153)+W(1,-1102969122,1048535090,-1095559069,-1112035522)+W(2,1008704054,1035803260,-1109162397,1035694118)+W(3,-1098907063,-1088192853,-1122400566,1051040838)+W(4,-1081423354,1065515124,1063399780,-1091507667)+W(5,1032276403,-1104133833,-1098794388,1049424016)+W(6,-1132746540,1040989775,-1127876766,-1103745056)+W(7,-1104928579,1047332946,-1101527709,1064106398)+W(8,1042270874,-1109516912,-1105732065,-1097345189)+W(9,999475557,1024449813,-1122216569,-1118336076)+W(10,-1171911780,1047796018,-1118033876,1025976147)+W(11,1033064723,-1106418589,1036172042,-1107661001);WS(1045480366,-1089018411); +sum1=W(0,-1147321796,-1119371847,998930446,956510844)+W(1,1046172476,1016456206,-1114996930,-1098659472)+W(2,1012429717,992745416,1032232105,-1117032824)+W(3,1033743797,1047477674,-1113698796,-1129843310)+W(4,1060852743,1065762350,-1080535200,-1084286683)+W(5,-1120189081,-1130833259,1036591131,1034928007)+W(6,993727556,1019312750,-1126854725,1001814128)+W(7,1055209670,1054147605,-1095107249,-1100569285)+W(8,-1112309127,-1162991986,-1103835661,1034876769)+W(9,991522899,-1124727396,-1127622934,1033942209)+W(10,1040201800,1049320503,-1102902186,-1106428344)+W(11,1019870324,-1166423644,-1117790432,-1110790848);sum2=W(0,1034251754,-1112450391,-1138029383,-1135134951)+W(1,1028246411,-1097747276,1048844919,-1112699779)+W(2,-1141862453,-1116303285,1036047504,1024730233)+W(3,1048129179,1013788103,-1105815405,1039247354)+W(4,1030988939,-1085286825,-1102377508,-1081251706)+W(5,1032058431,1026446373,-1098604264,1032907358)+W(6,-1107279344,-1098532570,-1108579602,1043479193)+W(7,1066704374,1048531717,-1079912447,1074756442)+W(8,-1115422697,1017067577,-1097926469,-1121203556)+W(9,-1125069222,-1106884027,-1114044136,1036464698)+W(10,1025432715,1037742006,-1113485350,1051417558)+W(11,-1110631868,1026757097,-1114746618,1037541288);WS(-1129198960,-1098545020); +sum1=W(0,-1103774667,1046260982,-1109829274,1016631370)+W(1,1055978916,1038066845,-1103302894,-1097986678)+W(2,-1113370572,1026014767,1013747092,998946812)+W(3,1041444949,1029491033,-1135763497,1027654249)+W(4,1057520791,1064242364,-1087937321,-1085753764)+W(5,-1133701934,-1124979408,-1108378356,1033950432)+W(6,1033440347,1047095266,-1109147378,1022371969)+W(7,1043702710,-1106434743,-1092825640,-1100503343)+W(8,1034434352,-1123636138,1039795292,-1149232679)+W(9,-1135425502,1031236725,1000105708,-1124465415)+W(10,1042256612,1048160666,-1092048676,-1114972810)+W(11,-1133096682,-1110866582,1047273267,-1134578155);sum2=W(0,-1101060946,1041574978,-1111810524,1008784866)+W(1,1046672822,-1123470329,-1109901275,1045200185)+W(2,994298612,-1124039764,-1113194466,-1118279822)+W(3,-1113715041,1009783259,1035375858,-1123287968)+W(4,1052382391,1057574679,-1099551228,-1111729623)+W(5,1016737108,1025528776,-1090683445,-1105523541)+W(6,-1117592464,1037249766,1014562100,-1131156064)+W(7,1037781521,-1088911756,-1126723736,1028611861)+W(8,1044936991,1038965019,1057541056,-1089242363)+W(9,-1112331585,-1116058888,1025684805,1013976797)+W(10,-1105025107,-1098796399,-1123970907,1048583824)+W(11,-1100984465,-1111874598,1058673062,1046019340);WS(1055927127,1032414456); +sum1=W(0,-1105922759,1038629978,-1114645447,1026777470)+W(1,-1114467391,1049649890,-1109541160,1039415013)+W(2,-1109775801,1029983880,-1118657663,1040445212)+W(3,-1118870909,1048976902,1034928754,-1107741345)+W(4,-1099187900,-1110167275,1035267569,-1121580331)+W(5,-1103039897,1032803169,1050521172,1040802710)+W(6,1031310464,-1116578243,1036990351,-1106080726)+W(7,1044706191,-1098780639,1052806443,-1092363639)+W(8,-1106266495,-1117906236,1045812872,-1122260014)+W(9,-1121324945,1028926430,-1115024108,-1132545269)+W(10,1042096283,1026721601,-1107491323,-1105847083)+W(11,1031828590,-1113700371,1028974308,-1112784326);sum2=W(0,-1095477634,1046850624,-1116647554,1046339838)+W(1,-1106007640,1046513622,-1097525459,1041080449)+W(2,-1124447256,1043170037,-1109703351,1022253579)+W(3,1046890022,-1090363791,1019769686,1008329020)+W(4,1055899106,-1097018549,1051375999,-1087064144)+W(5,-1100004355,-1097807314,1049672544,1048733947)+W(6,1015468535,-1092874283,1035617664,-1108633040)+W(7,-1122727333,-1100515622,1061754259,1042338708)+W(8,-1129042543,-1112390214,1025134369,1051464963)+W(9,-1110478242,1032940188,-1127469148,1033551944)+W(10,1043707610,1042447169,-1108757958,-1118600243)+W(11,1040819075,-1120359161,-1108633308,-1099218588);WS(1063732396,1030954530); +sum1=W(0,1036299263,-1151769923,976782235,1032126752)+W(1,-1085959612,-1100277765,-1126287138,1040042182)+W(2,1017251428,-1135394341,1040546448,1040218780)+W(3,1034233519,1048463661,-1118035684,1026279044)+W(4,-1112294345,-1099766629,-1092651532,1024363996)+W(5,-1164354746,1013744650,1048686290,1044348191)+W(6,1036782808,1036166050,-1121995199,1028715099)+W(7,1035866674,1049742039,-1102126950,-1113174091)+W(8,-1137751148,972654113,-1118854702,1009750781)+W(9,1020132772,1046021200,-1124714096,1032435871)+W(10,-1116277291,1041160144,-1096484767,-1118937966)+W(11,-1123833085,1032085003,1026126509,1040779899);sum2=W(0,-1114346246,1027252420,1005726416,1023560328)+W(1,1080093571,1066361916,1058379047,1055635447)+W(2,-1109086292,1032891532,1041698127,1053265582)+W(3,-1128267680,-1102003721,-1115408842,-1116687692)+W(4,-1079490865,-1069273193,-1075825777,-1093219742)+W(5,-1142986448,1040229437,-1103412699,1044641580)+W(6,1038357336,1012806192,-1105589301,1041728877)+W(7,1048667285,1040586029,1043596623,-1122468504)+W(8,1008854368,-1116993440,-1123753164,-1104322529)+W(9,1025579970,1032847335,-1113100068,1038558105)+W(10,1032482622,-1123027612,1037773232,-1110943172)+W(11,-1125346072,1027065900,1003892288,-1134749344);WS(-1091386327,1040820769); +sum1=W(0,-1113530145,-1145488419,1015097725,-1133727678)+W(1,1033777591,1043618337,-1111308865,1024243708)+W(2,-1122301794,1016257779,-1113425624,1009482248)+W(3,1016526204,1038143634,-1114059050,-1138479056)+W(4,1057905859,1056300329,-1091368514,-1103657483)+W(5,1026855702,-1136938187,-1103801765,-1104459527)+W(6,-1118547201,1031893970,-1122041679,1024901707)+W(7,1019703993,1024793576,-1104061090,-1102986721)+W(8,-1118577003,-1111999542,1039830345,1043076580)+W(9,-1120867010,1007161468,-1123564392,1013224377)+W(10,-1114932462,1024563890,-1118947879,1020963773)+W(11,-1119434421,1018984621,-1129826522,1042855834);sum2=W(0,-1107425211,1034914627,-1121259996,-1118014300)+W(1,-1122432623,1043257251,1058886039,988341556)+W(2,-1122715046,1030027284,-1110426684,1031639360)+W(3,1057124947,1041680563,-1120519112,-1118480989)+W(4,1049657622,-1080970083,-1067455811,1080471640)+W(5,1022014335,1012008135,-1105451271,981320073)+W(6,-1110358856,-1114315301,1031820662,1034237400)+W(7,-1091987171,1051213388,-1113532913,-1105716188)+W(8,-1121988626,1009779611,-1110623014,1044181951)+W(9,1010762999,974005161,1029964608,-1116062192)+W(10,-1109593637,1037720533,-1106855886,1033223294)+W(11,-1113750985,1028099986,999181553,1038375349);WS(1067317974,-1128063738); +sum1=W(0,1047000343,1008892739,1030230219,-1112292702)+W(1,1048838463,-1108932456,-1130941083,-1088068429)+W(2,1027999791,1017454988,1013016624,-1121751190)+W(3,1038318737,-1110797816,1037678225,1023947008)+W(4,1034700890,-1096039434,1055157388,-1122235065)+W(5,1031463650,1025959551,1039874719,-1165199081)+W(6,-1118959774,-1114918032,1032095758,1016840879)+W(7,-1113377160,-1088738347,1052878187,1048428783)+W(8,1018062255,-1143147336,1045859362,1031603132)+W(9,-1114992535,1004226268,1023530868,1018620213)+W(10,-1100769370,-1082056652,1052393190,1036886165)+W(11,1018649043,-1115371169,1050791676,1028131502);sum2=W(0,-1091622621,1038964407,1004731920,1017164622)+W(1,1067262657,-1112910469,-1113390241,1072454217)+W(2,1035940089,-1108193245,1038887363,-1098954881)+W(3,1049069382,1047078409,-1106036842,1046790460)+W(4,1044434118,-1073367678,-1071223185,-1080520963)+W(5,1032575148,-1127548642,-1106847320,1033204278)+W(6,-1107481011,-1098544714,-1103678216,1036535757)+W(7,-1099641871,1029437169,1061994978,1059476479)+W(8,1015223408,-1109007913,1030771421,967303234)+W(9,1040369699,-1107095641,-1122761780,1025471738)+W(10,1051233508,1062276141,1054597152,1053016271)+W(11,1042599225,-1116480773,-1113404397,-1123160801);WS(-1095745367,-1102532016); +sum1=W(0,-1131139906,-1115476726,-1125050061,-1117700567)+W(1,1031266390,1034862742,1049785973,-1104729417)+W(2,-1123836106,1021444802,-1108925228,1034962037)+W(3,1044141479,1043020835,1032821374,-1104292247)+W(4,1043929817,1025371182,-1103984511,-1096094522)+W(5,-1112024639,1036065165,1003529681,-1121682994)+W(6,1033588284,1027591436,1026094807,-1106685309)+W(7,1048857569,1049600882,-1092452582,-1135965844)+W(8,-1114922921,1028793076,1029191534,-1108409524)+W(9,1031476842,-1109574827,1025256272,-1109617979)+W(10,-1127826823,1045422790,-1108767399,1035377859)+W(11,1025559229,1027631502,-1147768356,-1105178749);sum2=W(0,1050493331,1058641835,-1090566997,-1102917712)+W(1,1038417192,-1131983160,-1106617401,-1104683957)+W(2,-1124032472,-1142618034,-1117134944,1032679083)+W(3,1072277942,1066117726,-1084121809,-1083236080)+W(4,1026745412,-1097349120,-1110147426,-1083529216)+W(5,1033461689,-1107466492,1045086676,1030312114)+W(6,1055792221,1016159325,-1098664696,-1092542987)+W(7,-1092834676,1048447149,1047496584,1053260074)+W(8,1040055828,-1111688997,-1103742512,-1115504874)+W(9,-1123932559,-1107091755,-1109069600,-1115432352)+W(10,-1110071086,1019306140,1041712051,1040670728)+W(11,1025562022,995416610,1023956348,1018575153);WS(1064673964,1027541745); +sum1=W(0,1042078126,-1104573695,-1105951646,1040862122)+W(1,-1092017101,-1098380055,1032906140,1060076351)+W(2,-1113513485,-1122608113,-1103234546,1050924251)+W(3,-1104241265,-1111978190,1047048323,-1159900529)+W(4,-1084208856,-1089015252,1064315273,1059885441)+W(5,-1114509959,-1097330869,1048739529,1045405901)+W(6,-1096920009,1032018046,-1115789415,-1123048515)+W(7,-1085419935,-1095947620,1050382000,1059865934)+W(8,-1130206982,1009712656,1032498465,1043557114)+W(9,1022298419,-1099040790,1028373376,1032172675)+W(10,-1104053605,-1087017843,1058530774,1053685923)+W(11,1011282770,-1099616447,1037400788,1042167691);sum2=W(0,-1137481092,1050849818,-1096514001,1039738446)+W(1,998253152,-1102987618,-1109747727,1036746190)+W(2,1029249908,-1103405950,-1144728624,1035100433)+W(3,1017170018,1041988969,1083413745,1067583917)+W(4,1044897487,-1088427847,-1066189939,-1078331016)+W(5,-1113657787,1049519441,1030429056,-1108804343)+W(6,-1115429835,1054896719,-1089267428,1067818743)+W(7,-1125950758,-1108032139,1050059376,-1077977055)+W(8,-1105416150,-1104699523,1045807183,-1124211336)+W(9,-1108022123,1042362507,-1102208699,1050540062)+W(10,1038480975,-1098634922,-1140654200,-1119460484)+W(11,1036658641,-1135144148,-1138500556,-1164441214);WS(-1084384556,-1100810808); +sum1=W(0,-1101205955,-1114756638,1033258828,1032390692)+W(1,1056723089,1044941511,-1115332589,-1095424763)+W(2,-1113631133,1038921097,-1103092466,-1103994552)+W(3,1034225747,-1123281148,-1153131217,1036208454)+W(4,1059213081,1058219330,-1080799329,-1089988048)+W(5,1041433148,1029458059,-1102604175,1016698694)+W(6,1052764669,-1110681734,-1113170436,1035878930)+W(7,1065718984,1051546784,-1089641270,-1086451675)+W(8,1046701849,-1114617106,-1105901266,1010056863)+W(9,-1132636906,1010363102,1008810370,1034716867)+W(10,1048907447,1051751177,-1089944572,-1111992667)+W(11,1022756491,1042675492,1025009925,-1104305197);sum2=W(0,-1106845972,1040443741,-1123544386,1003892755)+W(1,1042856976,1046395618,-1099129814,-1130802613)+W(2,1035865477,-1128022157,-1117156960,-1090921483)+W(3,1041556166,-1098641213,-1099919704,1040199158)+W(4,1049252005,1051151809,1044973210,1034864555)+W(5,1029291710,1033022953,-1094482604,-1101642940)+W(6,1043027552,-1102894487,-1114201767,1046124074)+W(7,-1120255910,-1098031952,1040886200,1046986152)+W(8,1028643166,1031856421,-1113386876,1049495257)+W(9,1031291554,1029095170,1018916205,-1137485313)+W(10,-1103612985,1034278467,1035815457,-1097152858)+W(11,-1106468948,1020718685,1026205590,-1132183417);WS(-1097545175,-1081485407); +sum1=W(0,1034150438,-1107749409,1036906638,1036015463)+W(1,-1085934785,-1091465804,1041348600,1057909318)+W(2,1033963168,-1115496908,-1120240750,1035924004)+W(3,1025404544,-1130068931,-1148467606,1033438601)+W(4,-1088212159,-1085185870,1062920275,1058891216)+W(5,1023737332,1034996968,1044931644,1040930578)+W(6,-1110996648,-1129433572,1043481795,-1116883369)+W(7,-1083820335,-1097522985,1057530498,1058446394)+W(8,-1109644005,1044774695,1046628778,-1110014855)+W(9,-1112307200,-1133343797,1035852867,-1107248831)+W(10,-1098817647,-1088845017,1058924580,1041812911)+W(11,-1109394217,991839047,1031062731,-1112689630);sum2=W(0,-1096165509,-1097506962,-1073537081,-1085422352)+W(1,-1090487063,1042351306,1050305732,1057773529)+W(2,1048850208,-1098077313,-1096519547,1044955346)+W(3,1035648589,1037776879,-1103264022,-1090145600)+W(4,1042246902,1057815879,1064009122,1070820271)+W(5,1040847724,1039355809,1035447241,1012707558)+W(6,-1106454260,-1132410675,1039561049,-1098060014)+W(7,1056492080,-1132940238,1037201191,-1102687355)+W(8,-1128314591,1034334977,1055262754,-1098251612)+W(9,-1095706003,-1093619532,-1097648243,-1111561066)+W(10,1047053654,-1104795343,1065891070,-1106323076)+W(11,-1107078913,1044351754,1017091667,-1098685023);WS(-1079771574,1075069839); +sum1=W(0,-1118529175,1021133405,-1111167476,1032166989)+W(1,-1092970539,-1092445782,1048648437,1055702741)+W(2,-1113551430,-1142239002,1033539229,-1117950828)+W(3,-1093562003,-1104246611,1032734815,-1123178206)+W(4,-1088433116,-1118830448,1071187580,1062276827)+W(5,-1110397888,-1119974813,-1114529494,-1104828877)+W(6,-1098100446,-1114628655,-1112820125,1029165557)+W(7,-1097110780,-1093425874,1049405702,1061220800)+W(8,-1139975764,-1111568211,1023590922,-1112849365)+W(9,-1133453360,-1119446905,-1114861753,-1135576864)+W(10,-1109854691,-1094782027,1051379002,1042497282)+W(11,974859957,-1107804608,-1104282614,992807281);sum2=W(0,1058265898,-1092753943,1008476139,-1108373663)+W(1,-1097633487,1036219103,-1098184263,-1105791278)+W(2,1041333883,-1106791026,-1096394805,1040059628)+W(3,1052155727,-1094584251,1048684757,-1104454680)+W(4,1039768739,1059813061,1051207789,-1106622092)+W(5,1034264586,1043988712,-1089567461,1043022076)+W(6,1044002260,1027921055,1053127551,-1093428939)+W(7,1037804238,1058749571,-1092246791,1040647411)+W(8,-1094438691,1046191998,-1109099791,1053976656)+W(9,-1109762731,-1093142139,1052320010,-1096653504)+W(10,-1091622541,1056925595,-1102532444,1028193495)+W(11,-1105323978,1027895571,-1105143398,-1128546349);WS(-1080085654,1070612946); +sum1=W(0,-1111019203,1017624971,-1118763904,1024243697)+W(1,1051294614,1049086721,-1093242824,-1099863023)+W(2,1001929499,-1129474933,-1110032568,1018553499)+W(3,998267115,1049904509,-1125372076,-1129448298)+W(4,1054244159,1063525996,-1083526619,-1096657110)+W(5,-1103030358,1034265690,1050014740,-1107816470)+W(6,1044325341,1036368923,-1113325424,-1130529432)+W(7,1060516258,1052725165,-1089131829,-1084273056)+W(8,1028809164,-1137068591,1042939778,-1120428313)+W(9,1022422215,1029887376,-1115811081,1028582463)+W(10,1045179095,1047234173,-1095229037,-1100657096)+W(11,995816851,1023513072,1034815359,-1105723916);sum2=W(0,-1114994936,1042086314,1025235210,1027629060)+W(1,-1120685804,1041443307,-1110089750,1044032624)+W(2,-1128032940,1028557604,-1109301707,1028515824)+W(3,-1109536432,1043514454,-1130467636,-1125103522)+W(4,1041551160,1078385077,1040857173,1027377576)+W(5,-1095260923,1041445431,-1069674168,1038947979)+W(6,-1116030212,1034381305,1020465580,1000499297)+W(7,1071531230,-1097624207,-1102199059,1049094807)+W(8,1044521776,-1111317304,1042363648,-1072009528)+W(9,-1133867384,1032991925,1014590712,-1138182160)+W(10,1042950964,-1110894461,-1107097337,1040209410)+W(11,1026231984,-1115643044,1020171064,-1100125727);WS(-1094677847,1071331518); +sum1=W(0,1050522446,-1102155388,1027561514,-1108370254)+W(1,1059909490,1033926552,-1096900614,-1090412394)+W(2,1045668787,-1099365497,-1108396174,-1131659964)+W(3,1051883284,1052444946,-1118400576,-1098732332)+W(4,1060113893,1065971548,-1081990504,-1088235704)+W(5,1036562753,1045429432,1016076284,-1104366446)+W(6,1048632224,1036179296,1020701942,-1098654343)+W(7,1057796766,1055081266,-1095695623,-1083209683)+W(8,1027649399,-1115499084,1044926426,-1094058291)+W(9,1043748547,1046936641,-1102267173,-1114608461)+W(10,1048355474,1057781222,-1088405429,-1096819473)+W(11,1020598162,1041162909,-1122894705,-1102235562);sum2=W(0,1042298222,1011988276,1039340517,-1102306900)+W(1,-1097774924,-1083547573,-1091773202,1021581591)+W(2,1044651623,1060043835,1050176620,1051289508)+W(3,-1104503945,-1099734245,1032447827,1036459319)+W(4,-1076320925,-1070847208,-1071833762,-1086047943)+W(5,1072230275,1080482397,1069182349,1066124397)+W(6,1032726509,1032685073,1052797014,-1099327251)+W(7,-1079468544,-1084551630,-1094401898,-1087097517)+W(8,1067612874,1060905071,1061745990,1058492703)+W(9,1045894449,1031495568,-1098452307,-1122082449)+W(10,-1096261152,-1097740674,-1094627244,-1089730964)+W(11,1035766217,1036170953,1062784611,1029975482);WS(-1075403638,-1098484659); +sum1=W(0,-1141902179,1016567255,1031048294,1008218969)+W(1,-1098198307,-1097302541,1051272109,1045612697)+W(2,1014117412,1032424528,1045061466,-1115216112)+W(3,-1102849342,1018204181,1045188911,-1123131291)+W(4,-1089514713,-1083074125,1067242878,1045999461)+W(5,-1117285565,1039741805,1055219615,-1110301017)+W(6,-1097928441,-1102752375,1016373997,-1123984690)+W(7,-1090995143,-1089521325,1039307800,1057827361)+W(8,-1138318152,990571063,1018247819,1042127630)+W(9,-1119205801,-1111653947,993498863,1038284987)+W(10,-1111274305,-1089001074,1048974634,1052680217)+W(11,1035406958,991913685,-1112012330,1043301703);sum2=W(0,-1136655860,1023477569,-1123900432,1032878555)+W(1,-1113247036,1040892014,1032172309,1031615749)+W(2,1033821831,-1122117887,1041677780,-1102324444)+W(3,993352402,1007422372,-1120535472,1029453781)+W(4,-1093800370,1059067488,1063516373,-1101515073)+W(5,-1111754290,-1118366060,-1101931537,-1099560811)+W(6,-1110556919,-1138628828,-1109544472,1040510410)+W(7,1049733424,-1112478460,-1101753271,-1114866186)+W(8,-1131546954,1043560141,-1137342172,-1091691569)+W(9,-1137184004,1035524869,-1113659102,1036988619)+W(10,-1128679382,-1106958218,-1110546008,1046060209)+W(11,-1110783375,1026284797,999359657,-1112686045);WS(1018938736,1060529869); +sum1=W(0,1037607357,-1120766810,1008598737,-1114076530)+W(1,-1166977277,1024586298,1044442542,1045714156)+W(2,1003359422,1019680094,985048227,-1102825464)+W(3,-1113865353,1019917938,-1118730378,1029696041)+W(4,-1084710912,1048848151,1049628033,1057228923)+W(5,-1122235660,1032134772,-1109196652,1048654858)+W(6,1041300082,-1119787914,1012443924,1036159584)+W(7,1052825757,-1110703311,1042784239,-1081803320)+W(8,1023446241,1025035938,1021290536,-1101625253)+W(9,-1102751430,1018668169,-1133449206,1034257674)+W(10,-1108049641,-1111061268,1031639516,1016494120)+W(11,-1122160707,1028394476,1018121541,1039349129);sum2=W(0,1033337426,-1117028555,1009999826,-1146778654)+W(1,1023259685,-1113617305,-1107426057,-1101837401)+W(2,1017616818,-1119841713,1042598704,-1165315756)+W(3,-1092512747,-1100415596,1027431889,1042445717)+W(4,1063964069,1058459732,1063146362,-1106280442)+W(5,1033400884,-1110929163,-1136881638,-1101414619)+W(6,-1100913756,1031653672,1034933139,-1118789096)+W(7,-1101061454,-1139753565,-1121957589,-1086144449)+W(8,1043348599,-1110261015,1035181957,-1099212326)+W(9,1049736808,-1123203031,1039233552,-1102516465)+W(10,1034026738,-1143324392,-1123128270,-1104136456)+W(11,-1119239229,1032933914,-1103321885,1031514566);WS(1057790316,-1113005641); +sum1=W(0,1034968039,-1180462681,1016842734,-1123468520)+W(1,1035442035,-1126387193,-1109372445,-1107161453)+W(2,1040623159,1001956750,-1110219956,-1107573447)+W(3,-1141354132,-1111663246,1031334797,1017823704)+W(4,1045333479,-1097006056,1060769665,-1097660717)+W(5,1034883047,-1121213099,1016331253,-1111689634)+W(6,-1096962432,-1102337515,1032276500,1029517379)+W(7,-1085875335,-1087615930,1057344992,1062816796)+W(8,999707420,-1110655190,1042154624,1042106418)+W(9,-1112383277,-1115337892,1032934320,1024531558)+W(10,-1099229077,-1104188731,1048852876,1050585827)+W(11,1027213229,-1125102461,1007994773,1021430571);sum2=W(0,1006384241,1032385395,-1119743709,1027505374)+W(1,-1102596332,1055108824,-1124784904,1038217397)+W(2,1054112069,-1110486748,-1101781911,-1088198084)+W(3,-1110226975,1009992786,-1129702556,1022357321)+W(4,-1095998103,-1096068823,1038388564,1036163691)+W(5,1063443275,1060625206,-1082211809,-1077861124)+W(6,-1117540770,1015280579,-1116658238,1025908250)+W(7,1027585837,1052401764,1043662427,-1107551412)+W(8,-1095993202,-1084462256,1063419774,1067639721)+W(9,1013929491,-1123806249,-1132286080,1007287620)+W(10,-1112465838,1049275421,1032548500,-1110875284)+W(11,1040943353,-1088060635,1054953848,1041946916);WS(1057314092,1031126097); +sum1=W(0,1047286031,1038748523,1042921300,-1113264897)+W(1,-1091122512,-1119263830,1044373061,1051515170)+W(2,-1125355113,1029610636,1016709539,1035529026)+W(3,1040626286,1048990343,1036778483,-1118216326)+W(4,-1081529962,-1076778621,-1111196723,1057172805)+W(5,1029771624,-1112976162,1049229393,1043973191)+W(6,1036098930,1042428894,-1108928881,1035020911)+W(7,-1085296972,-1112351005,1053915059,1053560288)+W(8,1041831703,-1103970660,-1123285785,1046938632)+W(9,1016422504,1041504752,1012907241,1036290288)+W(10,-1100809115,-1107245185,1048512334,1044112316)+W(11,1044125996,-1123672296,-1123727583,1035877806);sum2=W(0,-1116888772,-1115916604,1044898087,-1110279027)+W(1,-1108669327,1045218355,-1111117443,1033554595)+W(2,1027314221,-1116221606,-1106102431,1015808739)+W(3,-1107202311,1045884385,1039092196,-1096945908)+W(4,-1103416606,1065794034,-1113256321,1035778723)+W(5,1024714919,-1098987808,-1107247823,1041666953)+W(6,-1103988696,1049112986,-1099008684,-1113241071)+W(7,-1090569433,1055599565,-1139004677,-1115920774)+W(8,1049758114,-1091770239,-1106016659,1049716916)+W(9,-1123386226,-1134049769,-1103116396,1044106833)+W(10,-1099737884,1044073709,-1114347803,-1112080343)+W(11,1053158291,-1105054228,-1108799013,1031391070);WS(-1078536214,1004530797); +sum1=W(0,-1101920227,1031432968,1017444741,1027375859)+W(1,1044389645,1048716617,-1103056081,1025777344)+W(2,1018050380,-1125959547,-1137653198,-1110651587)+W(3,-1106564803,1048371434,1000019140,-1120029560)+W(4,1051154454,1066595410,-1082038651,-1107107772)+W(5,1019570356,-1125449965,-1130046381,-1107166356)+W(6,-1118108517,1042631950,1013557197,-1114543207)+W(7,1055824714,1054676989,-1090887738,-1087843395)+W(8,1033235496,-1126792065,1030116559,-1105265945)+W(9,1018155212,1016114854,-1148145247,-1122136338)+W(10,1041035048,1016296812,-1102912795,-1103973545)+W(11,-1122035417,-1142050258,1040191506,1023828021);sum2=W(0,1026113022,1034348094,-1132701065,1027035378)+W(1,-1117578886,987582920,1044772326,-1111907604)+W(2,1018825264,1015195718,-1136739637,-1140538653)+W(3,1019537869,-1139897757,1024730711,-1114259972)+W(4,-1091701771,-1064559027,-1083470341,-1115459713)+W(5,1029368182,-1129456736,1035917626,-1106970806)+W(6,-1140805741,-1118691470,1013886009,986229224)+W(7,1083026821,1062853848,1050967575,1024256637)+W(8,1025912688,-1107265712,1035548789,1051507274)+W(9,1009541569,-1129312440,-1141056234,-1129435432)+W(10,-1097816209,1036032976,1028089297,1013091981)+W(11,1031335734,-1115863996,-1102804079,1030786995);WS(1053759831,1032374114); +sum1=W(0,-1121671930,-1112583528,-1109228149,972229904)+W(1,-1092393035,-1101934908,-1112974870,1054724605)+W(2,-1129466650,1029939172,1027590122,1018308729)+W(3,1034149296,1029443406,1041049216,1034978575)+W(4,-1092299422,-1093922438,1048871720,1061211455)+W(5,-1113423424,1038901743,-1111847647,1034030567)+W(6,1029497788,-1098177536,1029299866,-1120680758)+W(7,-1094240300,-1091878482,1052523382,1059772533)+W(8,-1106909549,1040006220,-1113968603,1041914031)+W(9,-1147362406,-1129221556,1034604409,-1104501302)+W(10,-1112394307,-1097371836,1050895314,-1143596105)+W(11,-1140269215,998375305,-1126204095,1028043992);sum2=W(0,-1150466984,1032358015,-1122485893,-1150066816)+W(1,-1110066210,1042589181,-1120268940,1023864952)+W(2,-1124858867,-1130877326,1027888694,1023825317)+W(3,1050624105,1086980496,1024800634,-1114773240)+W(4,1028033997,-1086968029,-1062089081,-1092046440)+W(5,-1135440218,-1140173368,1038366470,-1151325172)+W(6,1049846439,-1116390866,-1123997738,996682648)+W(7,1024724796,1041929871,1022750294,-1092228228)+W(8,1022098295,1017805328,-1118357792,-1121152696)+W(9,1016213345,-1127449775,-1127165963,1019128023)+W(10,-1114433107,-1139900476,1000268865,1015347232)+W(11,-1119866592,1025894920,-1136800730,1031614438);WS(1063005484,1009613411); +sum1=W(0,-1099686359,-1121736524,-1116658758,1023879031)+W(1,1046007565,-1096622041,1047373394,1052137768)+W(2,1005501772,-1119708225,1032552475,-1104853008)+W(3,-1101192360,-1114633573,1020845368,1016433014)+W(4,-1088767007,-1084203279,1066103327,1060630207)+W(5,-1118541917,-1116191290,1041296218,-1107092245)+W(6,-1095872969,-1106126199,-1133265115,1014732617)+W(7,-1090088910,-1090037515,1059882369,1062822060)+W(8,1022596005,-1115075910,-1131360500,1027255591)+W(9,-1114430117,-1135381594,1010953149,-1123204757)+W(10,-1103091289,-1092699671,1058652475,1050777829)+W(11,1022253604,-1114779071,-1108476770,-1122457924);sum2=W(0,1027578843,-1122957333,-1115513506,1018912922)+W(1,-1094114890,1001948858,-1107632498,1033809184)+W(2,-1107937173,996744179,1024979575,-1100264522)+W(3,1036987406,-1100032664,-1104590179,1035927400)+W(4,1056054406,1048553428,1055409420,-1102289594)+W(5,-1110541201,-1114033403,-1121465059,-1110397259)+W(6,-1110179624,-1125426330,-1107721632,1040736265)+W(7,1051787669,-1094744691,-1112721987,1055289786)+W(8,1041331760,-1113161109,1045301422,-1147035242)+W(9,-1103038285,1043904940,-1112944230,1025188211)+W(10,1032878358,-1118996080,-1110109848,1036015348)+W(11,-1108457170,1028913131,-1124556646,-1131004626);WS(-1088267692,1058858468); +sum1=W(0,1030761249,1004146884,1029162995,-1112379634)+W(1,-1099191401,-1095201623,1045209037,1050799110)+W(2,-1111715307,1002675052,981108966,1033839199)+W(3,-1122297718,1040340278,-1141342278,-1140270752)+W(4,-1091143388,-1083233902,1057423488,1060358148)+W(5,-1120236170,-1118812007,1032118859,1043211072)+W(6,1036240851,-1129581456,-1113272402,-1155361775)+W(7,-1098879351,-1096101987,1044230767,1058630580)+W(8,1017441470,-1148456452,1030417559,1032700466)+W(9,1042224566,994119730,1015213304,-1140210569)+W(10,-1122560784,-1109785875,-1109863885,-1104611845)+W(11,-1124250818,-1131671893,1009738084,-1140846885);sum2=W(0,1021821461,1044300514,1023812788,-1113443438)+W(1,-1146734500,1024116650,-1104002403,-1122246023)+W(2,-1125128801,-1134793082,-1115812447,-1128559783)+W(3,-1104994806,1060658961,-1112801638,-1131593767)+W(4,1049088332,-1089766136,-1099826888,1038382254)+W(5,-1131329759,1034755166,1025686404,-1105739887)+W(6,1044687616,-1087213560,-1107427633,-1105757720)+W(7,1042354562,-1129092349,1057721748,1066144433)+W(8,-1114066084,1031417186,1035306954,-1117250635)+W(9,-1093064102,-1093773442,1049954034,-1107137147)+W(10,1044181933,-1105235988,1039897892,-1097329958)+W(11,-1117543346,-1128306605,1040800736,-1106719387);WS(1042978478,1051058289); +sum1=W(0,1032357083,1023966158,1035278676,-1105382966)+W(1,1056839899,1050844654,-1110890773,-1099095273)+W(2,1024938700,-1122653091,1019140850,-1122236410)+W(3,-1113794846,1052488610,-1102711504,-1102112151)+W(4,1060126757,1063120271,-1081382120,-1087097191)+W(5,-1122892351,-1119829084,-1150461374,-1107056589)+W(6,1046698475,1025992701,-1111458068,-1113404858)+W(7,1060142827,1054395618,-1097860134,-1086454106)+W(8,1007453138,-1106500335,-1120625160,-1103751812)+W(9,1042579843,1026938905,-1101215220,1038103836)+W(10,1048420817,1056719627,-1091436978,-1105233954)+W(11,1032216339,1010325087,-1112415123,1025690583);sum2=W(0,-1098687074,1041166801,-1112567440,986675002)+W(1,-1115454695,-1132868679,-1097111455,995475005)+W(2,1018060844,-1101427932,-1114152579,-1110655697)+W(3,-1099338776,1019263552,-1097585273,1033516168)+W(4,-1120015952,1054175336,1066654492,1062728692)+W(5,1045275251,-1098419362,-1097107880,1023628514)+W(6,-1108963639,-1104454378,1029453516,1031672616)+W(7,1038275134,-1096244103,-1124466258,1034345380)+W(8,1049612882,-1100742770,1049130538,-1118909665)+W(9,-1109440188,1024870634,981423732,-1106591291)+W(10,1039104546,-1119846616,1048117247,-1092068145)+W(11,1000911598,-1140045927,1042494451,-1093717692);WS(-1097071959,1072623846); +sum1=W(0,1010541764,1023927408,-1114366565,1026094363)+W(1,1028105114,1051865478,-1100421531,-1087379998)+W(2,-1135291959,-1125008010,-1105971271,1046169702)+W(3,1034504814,1038480008,-1127140609,1026372640)+W(4,1057630379,1064048287,-1086095524,-1091057687)+W(5,1012391943,1011497593,-1104375598,1041980470)+W(6,1046400295,1040252248,-1164090721,1020533357)+W(7,1061319210,1056141130,-1089701071,-1083615449)+W(8,-1126436590,1008261592,-1149976804,-1113258549)+W(9,1040642843,1032065949,993477434,-1143600974)+W(10,1049626241,1047950199,-1090227881,-1093225865)+W(11,-1126913777,1026040178,1048635489,-1120849689);sum2=W(0,1045767812,-1098807230,1021360395,1012042818)+W(1,-1101778611,-1114664520,-1081789373,-1063490706)+W(2,1012780879,1021391529,1033999610,-1112785819)+W(3,1044720012,1042281858,1027378250,-1107209227)+W(4,1049922132,-1094869567,1079115935,1074390906)+W(5,-1130294258,1031106226,1045861970,-1110057121)+W(6,1016599978,-1127223374,1041772128,-1105921842)+W(7,-1118592797,-1121088549,-1108782236,1058048856)+W(8,-1122317121,1025125464,-1129798306,1034050759)+W(9,-1115783877,1027816090,-1127019644,-1127367716)+W(10,-1137516645,-1111496361,1032186898,-1128008216)+W(11,-1149825053,1031888403,-1136389257,1033434514);WS(-1103312814,-1092017335); +sum1=W(0,-1101144796,-1115460311,1018146514,-1127703091)+W(1,-1126801713,1026063214,1039997174,1054306333)+W(2,989243788,-1122138660,1027296474,1023075088)+W(3,-1106383343,-1133230391,1017072510,-1121799134)+W(4,-1131110905,1059941407,-1088288960,1024945271)+W(5,1032388672,982272924,-1113425894,-1132250026)+W(6,1034901054,1027622014,-1112727125,-1131539818)+W(7,1061737047,1057455253,-1096972398,-1088630417)+W(8,1021266411,-1135487483,-1097018828,-1097522374)+W(9,1018005017,1034197373,-1109754009,1017229265)+W(10,1048616129,1051714580,-1098488314,-1101045202)+W(11,-1117699788,995701513,-1142469689,-1112216732);sum2=W(0,-1105189044,-1115931822,1037113072,1015133861)+W(1,-1094162786,-1113599737,-1102686481,-1093732269)+W(2,1030009493,-1114813207,1040400825,-1109540616)+W(3,-1098364789,-1113527921,1028491873,-1114822552)+W(4,1041635421,1064813540,1065997875,1041653115)+W(5,1027616765,-1116517245,-1123044799,-1118060506)+W(6,1024139573,-1112247318,1038591890,-1105557810)+W(7,1037786550,1036196676,-1098512761,-1130473293)+W(8,1021543889,1005718790,-1106060901,-1105450383)+W(9,1007564387,-1120342494,1032708826,-1105949948)+W(10,-1114108758,-1132225813,-1125733097,-1125828389)+W(11,-1122858549,1029912177,1010062515,-1118151575);WS(1054094679,1053313313); +sum1=W(0,-1123263126,-1130558777,-1120986711,-1133457438)+W(1,-1124016519,1044418743,1034791245,1046955525)+W(2,-1120644986,1007447622,-1102726978,1039131745)+W(3,-1097984725,-1096198619,1028444909,1034987238)+W(4,-1102062065,-1098120268,1056744813,1059693200)+W(5,-1119688622,-1150742701,-1097784815,-1136653836)+W(6,1007426149,1002886242,1018062863,1035642130)+W(7,-1111514230,-1104691680,1030506913,-1111414009)+W(8,1028941155,-1124505481,1038384226,-1121981368)+W(9,-1123562906,1018181775,-1149170946,1034710931)+W(10,1011520719,-1107703301,1033357311,-1113706235)+W(11,1028268649,1016894461,1012043028,-1114621003);sum2=W(0,1035831303,-1140903881,-1137939637,988916677)+W(1,1034464782,-1090860425,1038296707,-1110571087)+W(2,-1178538002,1041756630,1044389789,-1106828560)+W(3,-1103092742,-1131746560,1028209713,-1123566910)+W(4,1056968489,1064742714,-1117714466,-1107155945)+W(5,1029915845,-1106236653,1050942503,-1079651989)+W(6,-1101579019,1038814302,1036944358,-1123858844)+W(7,1040557782,-1120375726,-1103151768,1038803820)+W(8,-1110415601,1019097405,-1130430804,1043224862)+W(9,-1130948272,1038676356,-1142606817,-1119538750)+W(10,-1111036663,-1122089622,-1111989951,1032643961)+W(11,-1132733633,-1140337549,1014857001,1041889175);WS(1060301740,-1107262085); +sum1=W(0,1034782831,1047173818,1027361860,980901136)+W(1,1036556474,1050207945,-1090641081,-1105836176)+W(2,-1123449511,1032390687,-1104237805,-1123655719)+W(3,1039236098,-1167399456,1026764890,-1140723427)+W(4,1053103024,1041462691,1057068694,-1089836727)+W(5,1023266998,-1128069487,-1168491986,-1097134658)+W(6,-1096504911,-1107799148,1025665684,1040866884)+W(7,-1084387656,-1086651203,1058017849,1061579759)+W(8,-1111341496,-1121577073,1041962562,1041789973)+W(9,-1104388354,1042507977,-1120424813,1033047081)+W(10,-1099258584,-1106352190,1043225643,1050545524)+W(11,-1128080260,-1118302731,-1107448273,1042093191);sum2=W(0,1046006360,-1097339905,1020434122,-1120672932)+W(1,-1103760793,1054394959,1059308780,-1112452525)+W(2,1037670355,-1114765629,1038148088,-1135937657)+W(3,-1114812458,-1107596062,986372169,1029602171)+W(4,1058139034,-1075031098,-1073685765,1040180724)+W(5,-1120562291,-1131755817,-1098429000,-1103543044)+W(6,1036462865,1042494496,-1113202257,1039121856)+W(7,1055263295,1065727212,1060720662,1068230783)+W(8,1034635900,1010504894,-1106499347,1051067274)+W(9,-1097212089,-1111658779,1010867474,-1139183469)+W(10,-1106882983,-1102585430,-1096232759,-1116372590)+W(11,-1127537321,-1141626877,998537328,-1127997619);WS(-1096709719,-1109932402); +sum1=W(0,-1143431239,1015070528,-1109965037,1015250582)+W(1,1009444904,-1099789672,1044707911,1041217222)+W(2,-1115442975,1033219242,1028928427,-1127867147)+W(3,-1094706154,1051852512,-1115453048,1037158888)+W(4,1049449359,-1091866852,-1103734188,1032459556)+W(5,-1119289842,-1140261177,1049692098,1015515213)+W(6,-1107272167,1039101648,-1113173429,1032345875)+W(7,1042112892,1051337808,-1100636937,-1116721265)+W(8,1041543818,-1107580668,1036490203,-1094357813)+W(9,-1112986991,1034073405,-1109546082,1033146133)+W(10,1011811037,1035868647,1017051268,980311674)+W(11,1027230184,-1121586498,1019523665,-1118660177);sum2=W(0,-1111869912,1029022998,1029756683,-1129366500)+W(1,1047691494,1051011830,1041454921,-1114572049)+W(2,-1112777200,1033382685,-1094989992,1024096486)+W(3,1046043365,1028636589,1041050942,-1113040482)+W(4,-1075590857,1052419847,-1088878874,1063827282)+W(5,1046068934,1022134325,1049374228,-1094007689)+W(6,-1100561355,-1118786886,-1130192114,1019865458)+W(7,1053136256,-1142379802,1037601458,-1120053198)+W(8,-1104418826,1039472389,-1105102628,1051405216)+W(9,-1136660469,-1113939693,1011878989,1021094310)+W(10,-1115896886,1033422229,1024511741,-1121128994)+W(11,-1173694926,-1122209396,1038213156,1030093181);WS(1065853238,1014077745); +sum1=W(0,-1117433015,-1129058045,1026623353,-1141216588)+W(1,1050233869,1049952264,-1096460535,-1094201799)+W(2,-1138617969,1022594791,1008011942,1044254087)+W(3,1039902504,1043759351,1020370461,-1128763228)+W(4,1051933059,1055071872,-1077503527,-1083943142)+W(5,-1141149825,1032777398,1025148605,1048823509)+W(6,1050608829,1042454284,-1118113002,1026101893)+W(7,1055823041,1057515106,-1098731144,-1089716396)+W(8,-1117303781,1030831063,-1120507502,1040921250)+W(9,1027449020,965645460,-1113706417,1032019108)+W(10,1050055875,1054942629,-1094767340,-1095714819)+W(11,-1131034510,1023411184,1040832262,-1149099066);sum2=W(0,-1107369605,1040389587,-1126703609,1024492456)+W(1,-1102696165,-1115181151,1038677226,-1114418679)+W(2,-1122518916,1026327736,-1114014523,-1133142225)+W(3,-1109233879,-1095300447,1036516578,1029353704)+W(4,-1104069114,1063594124,1063429366,1043636997)+W(5,1035228514,1023044321,-1091978649,-1122395696)+W(6,-1104963978,-1106122650,-1107363712,1032071462)+W(7,-1098164193,1040620147,-1097459892,-1101740776)+W(8,-1116601496,-1130578705,-1097146692,1053626887)+W(9,-1143085570,1043865859,-1105180142,1044306067)+W(10,-1106357294,-1127904241,-1116890590,1035238854)+W(11,1026795860,-1127926993,-1120794976,1040976159);WS(-1088917996,1063906509); +sum1=W(0,1044506738,-1103723194,1042151912,-1110920777)+W(1,-1095080042,-1113114611,1032125650,1047786311)+W(2,1033765698,-1104090263,1025189266,-1134941681)+W(3,1033303784,1049511025,1005195703,-1101936374)+W(4,-1088574755,-1080208865,1034065915,1061302810)+W(5,1041151454,-1113407178,1048946939,-1115794445)+W(6,-1113286290,1043019742,-1103459368,1032265367)+W(7,1049193686,-1121283466,1054491533,1048810800)+W(8,-1109067703,1044875416,-1103486336,-1126346531)+W(9,-1128222025,-1114181825,-1129700693,1041691572)+W(10,1024774526,-1147499681,1049358361,-1112859072)+W(11,-1121559327,1029016425,-1097425800,1015955599);sum2=W(0,-1127991186,-1116051994,1050674327,-1103461552)+W(1,-1108916090,-1124692174,-1113530372,-1120190757)+W(2,1029245469,-1115385529,1042343963,1012492564)+W(3,-1131508502,1050173609,1015549042,-1104590141)+W(4,-1121470095,1046026095,1072931527,1055990720)+W(5,1026603353,1024686773,1048814953,1032226081)+W(6,-1105608002,1039941075,-1098769683,1036919049)+W(7,1050729023,-1084802111,-1078020039,-1095048932)+W(8,-1108452621,1046452703,-1101605152,-1098673970)+W(9,-1101603735,1031505597,-1112862464,1046313441)+W(10,1047911325,1034713295,1010804308,-1101033642)+W(11,-1112756717,-1119772659,1017021378,-1113534935);WS(-1128039792,1065254279); +sum1=W(0,-1114341117,1031806764,1027171091,949814928)+W(1,1052398616,1051880795,-1095186291,-1094482850)+W(2,-1155305313,1022544667,-1139824782,1027872723)+W(3,1033646238,1018879791,1031101353,-1129242384)+W(4,1058904806,1068407459,-1092086861,-1085842430)+W(5,-1121892394,1040052675,-1098849364,1010706555)+W(6,1042055949,1033681236,1003634843,-1120975327)+W(7,1055432619,1036562814,-1089087466,-1084252337)+W(8,-1127339326,993927654,1023772639,-1121195299)+W(9,1023909046,1027677731,-1123053628,-1144006416)+W(10,1039311896,1050962337,-1095496311,-1099056317)+W(11,-1123991661,1005742098,1038931216,-1126801378);sum2=W(0,-1124763415,-1113475142,1034915193,-1120833032)+W(1,1030229073,-1105412742,1010824003,-1118777010)+W(2,-1123843510,1030755234,-1133618203,1028911958)+W(3,1025322201,1059271888,967112657,-1115307960)+W(4,1042572184,-1098383492,1082807588,1064953874)+W(5,-1135426163,-1113939962,1048790378,1022077590)+W(6,-1102912552,-1118552210,-1107476032,1023925021)+W(7,1054443836,-1098098835,-1064631277,-1080316189)+W(8,1038571089,-1109596012,1029953956,-1103923621)+W(9,-1103660545,1033898849,-1132191993,1033449936)+W(10,-1121091158,1028111985,1039205719,-1110193476)+W(11,1035405992,-1126376787,1036034024,-1106218101);WS(-1100484014,-1082813103); +sum1=W(0,1037916588,-1123209507,-1124738939,-1123138350)+W(1,1048819422,1053647432,-1095165544,-1092840871)+W(2,-1212876940,1018206961,-1117914254,1042234192)+W(3,1049386547,1038702225,-1115403050,991988525)+W(4,1054472273,1063735148,-1082690349,-1086369653)+W(5,-1120915541,1024686130,-1121098737,1039202605)+W(6,1052139678,-1114440425,-1113715255,1032429349)+W(7,1057734851,1057909982,-1104541586,-1080932794)+W(8,1015928020,-1138122766,-1120991811,-1124146173)+W(9,1033284897,-1105213156,1024090791,1024280877)+W(10,1048946363,1057027323,-1098590565,-1091044852)+W(11,1018911880,1023234987,-1140316975,-1116174764);sum2=W(0,-1151813795,-1117132961,-1115193567,1017320792)+W(1,-1127138406,1035777956,-1104426322,-1114719136)+W(2,1038691322,-1114810881,-1122656452,1024237362)+W(3,1023133248,-1096979800,-1109723345,1033153774)+W(4,1044557822,-1081748159,-1067432541,-1094043595)+W(5,-1134215421,1025666138,-1105451925,1043828952)+W(6,1051436512,-1136600857,-1111785287,1038092476)+W(7,-1094662263,1059186895,1084038773,-1094705611)+W(8,1023161212,-1141123106,-1118750811,-1118217110)+W(9,1043953938,1038440342,-1109901657,-1119671739)+W(10,1023890070,1021470996,-1097692319,1051561136)+W(11,1009024009,-1122422926,-1114305884,1026839182);WS(-1090600151,1059961608); +sum1=W(0,1003856660,1023957057,-1119499740,1026132748)+W(1,1051724689,1035359281,-1105095800,-1086859502)+W(2,1032934656,-1123043606,1030063117,1051693682)+W(3,1043713207,977342510,-1113885561,1009974340)+W(4,1059175635,1059908410,-1080432315,-1089372619)+W(5,1034542394,1018557983,-1106762114,1040699442)+W(6,1051525550,1025363409,-1111559238,1031101992)+W(7,1060487798,1059822844,-1086083942,-1084623068)+W(8,1019132432,1031213982,-1116041416,-1114853678)+W(9,1031878320,-1114083846,-1109274083,1038517558)+W(10,1051599439,1057278953,-1097114792,-1090836983)+W(11,-1150140386,-1138998830,1040974422,-1130086580);sum2=W(0,-1099561897,-1123994385,-1162949315,992923986)+W(1,1079165891,1071631223,-1114799541,-1105536701)+W(2,-1122782084,-1122543983,-1073660425,-1067147152)+W(3,-1116860796,1033030662,-1114052913,1026898877)+W(4,1068780303,1075632919,1035377948,1049791100)+W(5,-1095462698,-1097530520,-1083671230,-1081838471)+W(6,1024241717,1027801571,1033577774,-1129262506)+W(7,-1093777203,-1083766160,1049717575,-1088177074)+W(8,-1107750254,1032284006,1057183721,1057542893)+W(9,1041458479,1050404867,1036380420,-1129225578)+W(10,1029517847,-1083354335,-1091169113,1043978030)+W(11,1025982179,1016984746,1061807320,-1103299573);WS(-1077101366,1062204989); +sum1=W(0,1034919675,-1109323772,1033145401,1030791972)+W(1,-1099266697,1032826652,1033209467,-1119759728)+W(2,-1131275309,-1142019948,-1108657922,1044609922)+W(3,-1109601924,-1098302775,974201395,1041963978)+W(4,-1084468746,-1116769210,1054965265,1053457281)+W(5,1005679697,-1125973710,1034832195,1049423472)+W(6,1049858413,-1163737350,987140211,-1122207423)+W(7,1055247733,1051122507,-1111164798,-1085314770)+W(8,1038354000,1030630601,-1113738245,-1104833109)+W(9,-1104961646,1022472166,-1110991006,1038549201)+W(10,1043488164,1036206931,-1115893275,-1103072597)+W(11,-1132893044,1033991117,-1131086146,-1121147841);sum2=W(0,1013333880,1035550861,-1111995834,-1128313262)+W(1,1023499747,-1107108555,1024909109,1041733323)+W(2,1026149469,-1188980193,1015145454,-1111312052)+W(3,1047569009,1036006103,-1108547758,-1111474816)+W(4,1042800306,-1137016284,-1093864056,1049082846)+W(5,-1123639612,-1132476264,1013541080,1017141780)+W(6,-1104835579,-1119199538,-1107039325,-1123519406)+W(7,1032249988,-1146750815,1005924363,1049905793)+W(8,987971164,-1118671040,-1119513572,1034012446)+W(9,-1113807123,-1111926114,1034342977,-1122872424)+W(10,1024429363,1029021112,-1117079308,-1107099901)+W(11,-1119021692,1010774610,1021769214,1036805530);WS(1062330988,-1108933484); +sum1=W(0,-1127744279,1022571909,1014897395,-1130422235)+W(1,-1112967222,1057599524,-1095189640,-1103583502)+W(2,1027221408,-1115561596,1033146447,1030687296)+W(3,-1103670303,-1110385841,-1143835797,1027643186)+W(4,1050533350,1066390108,-1083565633,-1097916197)+W(5,1024802772,1027456689,-1104991248,1045948242)+W(6,1042533684,-1104774725,-1128962907,1008148004)+W(7,1059916677,1050496965,-1117452294,-1085814590)+W(8,-1125614226,1027191883,-1114792086,-1098839314)+W(9,-1116892960,-1113171223,-1140840472,1015454424)+W(10,1049304867,1049771574,-1103031657,-1099231943)+W(11,-1115468561,1026854932,1032045679,-1127702342);sum2=W(0,1032830726,-1111744013,-1117467777,1032895988)+W(1,-1088204952,1054289941,1060942494,-1115406541)+W(2,1031989945,-1104702594,-1123665301,-1092446016)+W(3,1005059811,984631841,-1111764526,1028545567)+W(4,1071613570,-1077634808,-1080183554,1047355779)+W(5,1046230999,-1100189171,1046926373,1060958044)+W(6,1049595248,-1107906030,-1115412116,1041090350)+W(7,-1093147012,1042083474,1035977506,-1134532596)+W(8,1034621337,-1132922134,-1097187857,-1113920155)+W(9,-1128022386,1041765137,1023304410,-1125773241)+W(10,1037668146,1032116542,998580490,1020817981)+W(11,-1117116166,1022449461,-1125184917,-1142970826);WS(-1109331804,1042368707); +sum1=W(0,1017844485,-1131144083,1024616740,-1127022377)+W(1,-1100795701,-1097056965,1050963589,1059385318)+W(2,1016900750,1023074109,1029893237,-1111987554)+W(3,-1107976561,-1113085828,-1123208698,-1123466393)+W(4,-1085607547,-1083778221,1059271336,1060165431)+W(5,-1112887422,998408382,1039937652,1029216560)+W(6,-1114039899,-1111910285,1019270569,-1123129456)+W(7,-1087428756,-1094957746,1056907678,1060839292)+W(8,-1132276000,1030127674,-1114977786,1032072458)+W(9,-1118232839,1022571624,-1140654132,981412042)+W(10,-1097540376,-1103251894,1053487153,1049849056)+W(11,1027413302,1016237783,-1099334072,1024925794);sum2=W(0,1026055449,-1115329827,-1124884727,1032849952)+W(1,-1095655110,1045607629,-1069645041,-1062565523)+W(2,1033345650,-1126204236,-1117682124,-1117249787)+W(3,1027815845,1037903820,-1129227720,-1113876395)+W(4,1038549538,-1099195860,1082661778,1071954840)+W(5,-1111681252,1027383795,1049745271,1041120073)+W(6,1033732250,-1135699996,1017198470,-1120368220)+W(7,1038448988,-1098438651,1029601901,1074466947)+W(8,1003632367,-1122462785,1028175479,-1117133911)+W(9,999495607,-1129930944,-1146042855,-1139825528)+W(10,-1108984513,1036170224,1032971494,1010255452)+W(11,1028818665,1008778484,-1119888169,1021673198);WS(-1115348316,1054745777); +sum1=W(0,1036166838,1015838740,1010567825,-1137232980)+W(1,-1091675395,-1096298109,1049110157,1049991788)+W(2,1029575560,1027659359,1034100235,1017816583)+W(3,-1156212270,-1111605669,-1129778165,1027515738)+W(4,-1087264777,-1084812083,1064241460,1058008076)+W(5,1022248439,1022178737,1015442096,1034455816)+W(6,-1105267814,-1129353779,-1163675813,1031078129)+W(7,-1090012802,-1089909917,1054590870,1060214194)+W(8,1027280241,1032358751,1024747424,1038960299)+W(9,-1109102196,1044530957,1015357019,1021335208)+W(10,-1099321920,-1087098097,1051902330,1041116785)+W(11,-1140454872,1023518060,1001621141,-1128935590);sum2=W(0,1029679520,1020162972,1024206556,-1165172934)+W(1,-1133513625,1032751166,-1122180110,-1126280148)+W(2,-1112190701,1031911051,-1123729058,1007295249)+W(3,1034059275,1040171419,1027518769,-1116697030)+W(4,1058808820,1078058683,-1097026624,997668227)+W(5,-1130859572,-1110596693,1051253388,-1106696521)+W(6,1027996817,-1110434123,1038375004,-1114129087)+W(7,1074823993,-1082346775,1040744343,1034726751)+W(8,1030310076,1020514684,-1130957332,-1129919188)+W(9,1034335827,-1129105068,1033334280,-1112102389)+W(10,-1066028315,-1081349721,-1107441727,-1102815825)+W(11,-1120038362,-1140190249,1046963831,-1106067749);WS(-1106429870,-1094013011); +sum1=W(0,1032914805,-1122572746,1010730896,-1180060253)+W(1,-1083977393,-1096070845,1041447962,1051659804)+W(2,-1143253052,-1112889935,1042077981,1044666432)+W(3,1007289698,1032028260,-1126648308,1021824818)+W(4,-1090427610,-1110426966,1055000463,1049003466)+W(5,1019043703,-1121648024,1039434940,1040702780)+W(6,1028442598,1044381070,-1130361130,-1129917792)+W(7,-1154202266,1047276227,-1108621431,1028832887)+W(8,-1121855216,1025638626,-1126798128,-1143541158)+W(9,997655159,1048974915,-1140710069,-1120274467)+W(10,-1106909952,1037115308,-1092428073,-1127588999)+W(11,-1112957869,1027653084,-1116914978,1034262401);sum2=W(0,1044056205,1042644451,1027309129,-1113021585)+W(1,-1099894114,-1100852865,-1098848264,-1096040530)+W(2,-1129192316,-1127314210,1051352325,-1101136816)+W(3,-1130917417,-1097839840,-1105312463,1040557912)+W(4,1055980834,1060955207,1066533545,-1086782093)+W(5,1001033976,1028457481,-1105883820,-1094431966)+W(6,-1093830389,-1101732547,-1102513438,1045635393)+W(7,1049480207,-1136131482,1049511378,1047866369)+W(8,-1109915970,1041484506,-1095199310,-1100511063)+W(9,-1116545436,1035602021,-1114789238,1027399099)+W(10,-1099150452,-1089010378,1045074348,1054444603)+W(11,-1111537389,1038428609,-1105061215,1057783348);WS(1043891118,1068855714); +sum1=W(0,-1116934668,-1132968331,-1115119790,1034864935)+W(1,1054927906,1036212657,-1094480060,-1092449819)+W(2,-1137767170,-1110944332,-1105343195,1034556804)+W(3,1038582262,1007221512,-1116826163,1021640868)+W(4,1059302628,1065404307,-1085866861,-1087769325)+W(5,1007166673,1000130184,-1118670257,1039390277)+W(6,1042862352,1036137865,1023733166,-1131811026)+W(7,1060871017,1058788692,-1090795981,-1087019235)+W(8,-1149095244,1038210141,-1110180471,-1097654326)+W(9,-1140157826,-1132089051,-1132040205,-1143217636)+W(10,1054585007,1058320673,-1088777568,-1096174840)+W(11,-1123846591,1033742658,1039274926,-1103987387);sum2=W(0,1043524956,1022447527,1016877071,-1109312558)+W(1,-1098627702,-1106898612,-1112207078,-1128190925)+W(2,-1109532722,1007593597,1038513036,1046310591)+W(3,1041115214,-1113751024,1012463989,-1119267190)+W(4,-1125515089,1069702771,-1096567460,-1098728904)+W(5,-1120394532,-1104054586,-1085518745,1034661588)+W(6,1044302697,1017381631,-1130793473,-1126846961)+W(7,1067943590,1068665203,1042180588,-1103900959)+W(8,-1120974914,1042247803,-1076263106,-1080776989)+W(9,-1118188819,1030898373,987754923,1028514185)+W(10,1066385707,1053793920,1045698067,-1098746809)+W(11,1009589981,-1114854661,-1093259035,-1082060374);WS(-1087649964,1019782291); +sum1=W(0,1030168161,-1112895868,-1143853715,-1120416323)+W(1,-1105270513,1031966316,1040272853,1040415828)+W(2,-1138699736,-1138905653,-1115504066,1024428446)+W(3,1041161399,-1109107148,-1117444008,997344379)+W(4,-1088122706,-1107599501,1066099001,-1108639376)+W(5,986611002,-1107645603,-1101667648,1050439898)+W(6,1047711365,-1121138472,-1121005123,1021907901)+W(7,-1089416651,-1111272734,1034911086,1016783474)+W(8,998160367,-1138080961,1033038819,1046888529)+W(9,1000308143,1016698342,-1131127160,1024251314)+W(10,-1107120316,-1102333873,1039033917,1025062450)+W(11,1016114481,-1128756052,1024070769,-1142414472);sum2=W(0,1040784536,-1100939724,1033768126,-1107127477)+W(1,-1112675945,1057262150,1017594321,-1117663793)+W(2,1025325994,1019337948,-1092150404,1039537683)+W(3,-1105075327,1031863699,-1125558334,1023416069)+W(4,-1072566694,1078638992,-1098589794,-1107862291)+W(5,-1099590626,1051733383,-1077578123,1066290117)+W(6,-1103416126,-1104742149,-1118774605,1043030557)+W(7,-1086195181,-1109470897,1047503953,1051532765)+W(8,-1119314417,-1100419866,1050584179,1053259006)+W(9,1042707477,-1121719211,1000627574,-1151915405)+W(10,1041105499,-1106760943,1014542959,-1106456825)+W(11,1038050610,1002291590,1033290657,-1103867215);WS(1061891500,1029739432); +sum1=W(0,-1106216192,1006283635,-1135804195,-1120639769)+W(1,1044238166,991333090,-1103570763,-1113834067)+W(2,-1131739160,-1118882723,-1139025510,-1114217922)+W(3,-1105829118,-1090566706,1029738303,-1111424495)+W(4,1059958553,1070740438,1051808376,-1096510251)+W(5,-1144807936,1034612526,-1094764771,-1105864021)+W(6,-1116262763,1034396863,-1118615961,-1117498485)+W(7,1055146526,1034609097,-1100309453,-1092264601)+W(8,-1134494805,1017541191,-1115698885,-1102695282)+W(9,1019261400,-1120846617,-1118385394,-1125527056)+W(10,1035571491,1043753671,-1103884676,-1103214946)+W(11,-1114134173,1003240643,-1118241703,-1137185181);sum2=W(0,1026550907,-1138054916,1006302792,-1121600381)+W(1,-1118247849,1032667651,-1115693397,1038640235)+W(2,-1121040584,1022873234,-1150824496,-1129506938)+W(3,1026195583,-1109251816,1002488024,-1119262688)+W(4,-1131891756,1075955836,-1070322023,1049140618)+W(5,-1116879102,-1123674716,1037796079,1032667233)+W(6,989985520,-1119850715,1026568605,1029037035)+W(7,-1093462820,1039467523,-1111337441,1050244555)+W(8,1023067742,-1115823182,-1119306593,1041966968)+W(9,1023268674,-1113487368,1023468893,-1136033516)+W(10,-1123631905,-1111383976,1032357843,1034795019)+W(11,1030765775,-1117038411,-1140765060,1011205316);WS(-1084563692,-1094583093); +sum1=W(0,1012279186,-1124105959,-1162852794,1022703229)+W(1,-1118740542,1029178707,1043937588,1016172182)+W(2,-1118949361,1029291849,-1113029519,1030161881)+W(3,1040618577,-1104495965,1021772616,-1132568844)+W(4,1047241030,1058138797,975997096,-1096721723)+W(5,1002005802,1026228226,-1095587800,-1110742685)+W(6,-1108936808,-1134036365,996545514,1024085850)+W(7,-1098942649,1033384955,-1119752408,-1105257082)+W(8,-1121437018,-1128298663,1030217107,1044167852)+W(9,-1117471057,-1121618798,-1146052282,1026223997)+W(10,-1119041259,-1135741956,1030206390,1035927703)+W(11,-1127843472,1024441958,-1114495566,1033396614);sum2=W(0,-1154040649,1041313314,1022296570,1025430445)+W(1,1050769250,-1110563158,-1089338077,-1116838887)+W(2,1025324860,-1110459458,1049390351,-1101164186)+W(3,-1095051054,1045521896,-1113204042,1036981025)+W(4,1047738904,-1105725339,1068042633,-1080092115)+W(5,-1123670947,-1102419914,1058198082,-1105225557)+W(6,-1140159290,1036274902,-1113488118,1015494893)+W(7,1046459196,-1099991734,1036460009,-1123762249)+W(8,1036400862,-1121611661,1042800199,-1097909404)+W(9,1033705522,1014652738,-1122316989,-1127432409)+W(10,1035671600,-1109634740,1034428960,-1115504399)+W(11,1029427990,-1122111247,1019626217,-1112380024);WS(1070570422,-1118483066); +sum1=W(0,-1110069429,1031499417,-1132852684,1018165832)+W(1,1060331110,1050128623,-1099020957,-1099959964)+W(2,-1139421786,1009522871,1032275410,-1162935118)+W(3,1040072889,1042906054,-1109730565,-1139725729)+W(4,1059366093,1062372980,-1081528768,-1084885570)+W(5,-1140197674,-1117746023,996066926,1019497086)+W(6,1042919301,-1168228894,-1118139972,1028156415)+W(7,1058454089,1058887102,-1091258848,-1083523477)+W(8,-1128372287,1014662756,-1112630512,-1118811556)+W(9,1039947243,-1103975241,-1122455036,1024357779)+W(10,1048717802,1057283318,-1094692227,-1095225642)+W(11,-1119179525,1028666043,998336395,-1117991970);sum2=W(0,-1105638218,1028972955,-1108615966,1041833519)+W(1,-1068172350,-1062545743,1051586707,-1090712556)+W(2,1031038629,-1109024185,-1089644697,1053466473)+W(3,1029956673,1048735800,-1161988394,-1125372171)+W(4,1058445980,1081890452,-1113315600,1040982790)+W(5,-1115541422,-1110157560,1021891615,1044082250)+W(6,1034458457,1025753183,1034531971,-1113215633)+W(7,1078990875,1057946443,-1116357686,1025381303)+W(8,1034093689,-1121128958,-1138523317,1047100697)+W(9,1036634769,1000882603,1028261725,-1118383435)+W(10,-1129266047,1020805991,1047278155,-1096961046)+W(11,-1164400298,1023430939,1003167691,-1118643722);WS(-1086946092,1067745931); +sum1=W(0,1043160110,-1107060738,1029399808,-1129718754)+W(1,-1086793423,-1093519641,1052187432,1057051220)+W(2,1019782728,1028876859,1041235060,1029510552)+W(3,1035261538,-1095383669,1031195606,1034551451)+W(4,-1086890615,-1082115172,1065908691,1056679450)+W(5,-1121687640,-1151056709,1028581668,1027399596)+W(6,-1133919947,-1122710934,1033121193,1040134022)+W(7,-1091092163,-1087806651,1055695833,1053194351)+W(8,985161115,1032179179,1022886169,1039541441)+W(9,-1107305618,1042006276,1042343314,1023151712)+W(10,-1106762967,-1086763775,1051480109,1050664148)+W(11,-1137650955,1023858088,-1123269599,1035840335);sum2=W(0,1049598436,1048639033,-1100127293,-1092038506)+W(1,1042320103,-1103044471,1037661877,1043882093)+W(2,-1121740952,1029198842,1002123811,-1131832297)+W(3,1064718435,1072396257,-1074419095,-1076970891)+W(4,1034035103,-1104719409,1057486689,1059313512)+W(5,-1115216799,1010136401,1041582287,-1103733932)+W(6,1071503744,1074270589,-1071882845,-1072137471)+W(7,-1111075093,1044428409,1058040444,1051417643)+W(8,-1128000009,1024386386,-1139439905,-1115120295)+W(9,1071966648,1067893220,-1077760287,-1075499422)+W(10,-1105998171,1040427981,-1109701446,1034550731)+W(11,-1120184167,1030441594,-1112073274,1008560441);WS(-1081254198,-1103496580); +sum1=W(0,-1146587219,-1098606506,1041339642,-1115414444)+W(1,1048836291,1057498447,-1097683981,-1093427101)+W(2,1040942563,-1102869832,-1144521152,1038644661)+W(3,1050459360,1042214179,-1130637434,-1098407452)+W(4,1058816906,1061921355,-1078168847,-1091994231)+W(5,1036627839,-1165859686,1040740783,-1117884339)+W(6,-1117423418,1034598934,-1101995566,1020760807)+W(7,1063391143,1049596874,-1092752622,-1095228700)+W(8,-1107645994,1047950513,-1125383814,-1099277734)+W(9,-1122745995,1024450296,-1100079212,1047565230)+W(10,1055225025,1057483350,-1094816186,-1097351785)+W(11,-1104517417,1038686359,-1112883619,-1125503451);sum2=W(0,1057761413,1067192921,1049429767,-1101463653)+W(1,-1109493923,-1139460835,-1078098525,-1092703936)+W(2,1014720459,-1117756514,1028945771,1041760680)+W(3,1075421514,1075836777,-1113723320,-1128244554)+W(4,1039603395,-1087182285,-1077415283,-1071536845)+W(5,1016362862,-1118637934,1045554670,-1114414573)+W(6,-1088665878,1016894214,-1100739127,-1100253783)+W(7,1034610843,-1117875445,1051692516,1059548308)+W(8,-1125369728,1027339291,1032645955,-1106673179)+W(9,-1116933337,-1111337535,-1105778187,1041910404)+W(10,1013931579,1038460759,1048285068,-1101242161)+W(11,1013909643,-1124961818,-1113595007,-1122014712);WS(-1089093868,1047195432); +sum1=W(0,-1108646892,-1102493258,-1146634508,-1139038025)+W(1,-1116853265,-1113152371,1050027260,1042227448)+W(2,1015754506,-1111624526,1037772585,1032512066)+W(3,-1102675263,1027299238,-1111039036,-1107247574)+W(4,-1102292967,1059178599,-1094097439,1055627170)+W(5,-1122052409,-1123630421,-1120135685,1040310103)+W(6,1043334313,1035038251,-1131070116,-1111569431)+W(7,1064850945,1055758905,-1091453053,-1086063146)+W(8,1035574535,-1126001639,-1107670363,-1097054397)+W(9,-1130835530,1006218639,-1125658710,-1123633457)+W(10,1047069456,1028822677,-1100496626,-1104540112)+W(11,1015067608,906381938,1033685440,-1109953256);sum2=W(0,1051248459,-1102825598,1043805370,-1103632983)+W(1,-1112111441,-1107415409,-1106748849,1050224986)+W(2,-1111599379,1037386114,-1113209339,-1114055425)+W(3,-1110573499,1027245233,1043204826,-1100282419)+W(4,1047715488,1064575785,1068200484,-1142028319)+W(5,-1107474855,1042201726,1034756297,-1106125891)+W(6,-1115422824,-1088944566,1032596944,-1107284068)+W(7,-1116519441,-1166081973,-1082511144,-1110893073)+W(8,-1115818225,1036836551,1036646608,-1121811913)+W(9,-1119815045,-1103855212,1038389706,-1115324019)+W(10,1033478296,-1112155627,-1099926119,-1101546175)+W(11,-1107371535,1026011708,1042197713,-1139772871);WS(-1121781432,-1075996235); +sum1=W(0,-1104344139,-1106763371,1017932812,-1139185884)+W(1,1023675446,-1102467779,1050633065,1055178280)+W(2,-1116105386,-1134059780,-1113788396,-1115352921)+W(3,-1097501556,-1122902443,986151814,1031934942)+W(4,-1098857564,-1087567683,1056941803,1061458986)+W(5,-1113912527,-1136836585,1038547421,987917899)+W(6,-1153685131,-1127990679,1000199096,-1164665422)+W(7,-1091469811,-1104204108,1045616484,1057254916)+W(8,1007170123,-1128021832,1011665321,-1108760371)+W(9,1001735501,-1113474827,-1140438078,1007298263)+W(10,-1129857478,-1103515070,1046908556,1030315686)+W(11,-1154396360,-1121041198,-1118109260,-1121847517);sum2=W(0,-1097479461,-1104465921,-1129109975,-1168649543)+W(1,1042706476,-1102354715,1049155382,1049098480)+W(2,-1106980555,-1122042062,-1112820525,1041988609)+W(3,-1103938775,-1118749694,-1132018102,1016893178)+W(4,1043506300,-1097087336,-1098731951,1057022497)+W(5,-1105649317,1031531696,1046909100,1047765539)+W(6,-1115486085,976518647,1023462612,-1117453381)+W(7,1057524747,1036026738,-1106384437,-1119719509)+W(8,-1114531186,1040948740,-1121071990,-1100642605)+W(9,1025546665,1034975399,-1115823387,-1106957470)+W(10,1045328977,1035074429,-1105263623,-1098317799)+W(11,-1113359258,1033488186,1003192501,-1106523641);WS(1058868844,1053114578); +sum1=W(0,1047026923,-1120049453,-1122446279,1019520880)+W(1,-1095841007,-1093651986,1048040834,1040716289)+W(2,1026453035,-1117418946,1039005404,1020793813)+W(3,994701546,-1104790763,1025396381,1037061470)+W(4,-1089525095,-1081113852,1063349990,1059285152)+W(5,1019785277,-1114838686,1040363303,1046415125)+W(6,-1104820950,1021084025,1031841884,1029402067)+W(7,-1086213616,-1087503095,1056787146,1062179110)+W(8,1030676884,1024749253,1041196477,1045703966)+W(9,-1105237507,1009185118,1033549944,-1120186199)+W(10,-1091401861,-1088312360,1057448647,1046529242)+W(11,1004229292,1022861598,1036113571,999605293);sum2=W(0,-1089070569,-1111523090,-1106859908,1050427341)+W(1,1067490860,-1093125710,1052246278,1053219089)+W(2,1058659628,1066232343,-1078811541,-1080930470)+W(3,1043538575,-1097196972,-1112488680,1035861035)+W(4,-1078649576,-1087268097,-1088179143,1059060280)+W(5,1073277874,1065823003,-1075643449,-1074777053)+W(6,1036654054,-1133854060,-1122621450,1032409135)+W(7,1059384755,1062938540,1043005089,1017346040)+W(8,1062269032,1043425453,1049929252,-1124572738)+W(9,-1130574088,-1093068011,1046587865,-1104767713)+W(10,-1093321870,1059539225,1052143300,-1092034159)+W(11,-1092663388,-1098215774,1059287102,-1112625720);WS(-1074642550,1059001037); +sum1=W(0,-1105864948,-1133959838,-1114814273,1033877849)+W(1,-1096349630,1023714759,-1108476642,1040506928)+W(2,-1110243859,-1127057913,-1108357401,1046552293)+W(3,-1106724665,1042832010,-1122785432,1017602926)+W(4,1055335876,1065396984,-1084427489,-1098100854)+W(5,-1147216585,1033899323,-1132282059,1032280783)+W(6,1046400581,1036804396,-1121541554,-1119942606)+W(7,1062559324,1061684023,-1088670813,-1083890617)+W(8,1032718711,1025273824,-1104721044,-1113686945)+W(9,1032924291,1039804561,-1103073299,1004629641)+W(10,1051195620,1054342111,-1095458045,-1090515058)+W(11,-1122497752,-1121848889,1031943308,-1110306392);sum2=W(0,1021686194,1025348247,-1131612410,1024273115)+W(1,-1108335658,-1122239076,-1101286924,1043888107)+W(2,-1110849641,-1111108183,-1091711743,-1077891718)+W(3,-1105777061,1042238427,1041256788,-1107407950)+W(4,1046097166,1036931728,-1090332406,1048538591)+W(5,1033944270,-1111979954,1065426853,-1097181377)+W(6,-1126779625,-1118046720,1031505312,-1117121277)+W(7,1040874893,1040745205,1043322093,1053208564)+W(8,1039617071,-1105370761,1040529954,1063431633)+W(9,-1118330488,1027338756,1016793154,-1110072407)+W(10,1050743072,-1096125238,-1116082242,-1135252559)+W(11,-1122096807,-1122718137,1050690616,-1097546746);WS(-1088674604,-1128666815); +sum1=W(0,-1112902532,-1154837176,1016031116,-1123914807)+W(1,1051063687,-1131397783,1033184452,1031043843)+W(2,1018478931,-1134237698,1025159063,-1094561666)+W(3,-1114821559,-1098901213,1024027612,1014718188)+W(4,1027540319,-1102428675,1054517603,1015481863)+W(5,1024172061,-1126359028,-1104802482,-1102063788)+W(6,-1103324234,-1099251759,1024193015,-1145356432)+W(7,-1094753613,-1100081596,1059978813,1051928805)+W(8,-1133861065,-1114031158,-1111732847,1021380397)+W(9,-1119376425,-1101826270,1032770888,-1124389866)+W(10,-1110958225,-1101878062,1062901239,1047372601)+W(11,1028470484,-1114369951,-1113334654,-1154253637);sum2=W(0,-1108931889,-1114639139,1012595671,-1125911137)+W(1,1050970701,-1128469007,1032292317,1017628143)+W(2,-1132880011,1026392505,-1112594616,1035307535)+W(3,1007405169,-1110292957,1044288444,999266341)+W(4,-1110785518,-1074929312,-1067836662,-1114156858)+W(5,-1126668834,1035975658,-1112320536,1028698628)+W(6,1050109344,1041510968,1041147790,-1101165077)+W(7,-1105301985,1044362436,1037860217,-1072172899)+W(8,-1115294669,-1122721591,-1133865234,1032862316)+W(9,1029583838,1046353900,1025832748,-1113177198)+W(10,1048694785,1057358913,1081403750,1074693740)+W(11,1027549527,-1114367420,1015908463,-1121233078);WS(-1092184279,-1114774309); +sum1=W(0,1035183681,1038305887,-1120800919,-1112548452)+W(1,1044352162,1039166894,-1101125062,-1114927434)+W(2,-1115173597,-1182492945,-1131609361,979364527)+W(3,1043708422,1037535198,1008341430,-1114639366)+W(4,1063427286,1034792975,-1103312811,-1087724142)+W(5,1021495134,-1113251558,1048665209,-1093459700)+W(6,-1098020135,1029108045,-1120506536,1009522319)+W(7,-1088121787,-1115071968,-1118967585,1062809460)+W(8,-1113757330,-1113409875,1023205859,1043037714)+W(9,-1128765878,-1106461058,1022706306,1034801619)+W(10,-1114196826,-1129024277,1043448960,1002077113)+W(11,-1123554950,-1115469664,-1126884683,1033949151);sum2=W(0,-1113218164,1028824397,-1146462793,-1130731300)+W(1,-1112264614,-1113338336,-1129593633,1024876637)+W(2,1026854381,-1102804304,-1111675537,-1099018413)+W(3,1013989596,1034818358,1017173194,-1114036842)+W(4,1058622224,-1105838439,-1101530532,1044891209)+W(5,-1102462733,-1108694945,1059579881,-1088855347)+W(6,-1104368005,1040334859,-1121343755,1027612469)+W(7,1050794194,-1102338893,-1097048862,1049606516)+W(8,-1114432119,1019755962,1043492825,1042736448)+W(9,-1123082454,-1123775916,-1154268081,1027895615)+W(10,1040822444,-1122592353,-1113704648,1042764886)+W(11,-1122392540,-1119817837,1034905054,-1121501222);WS(1061153836,-1122742154); +sum1=W(0,-1109089440,1043116226,-1115291137,1027853554)+W(1,1051082942,1047414994,-1115210274,-1102650256)+W(2,-1131011401,-1119605372,-1112215273,1027843188)+W(3,-1138258466,1050791197,-1112977164,-1171221910)+W(4,1055597733,1055540065,-1077890273,-1112757431)+W(5,-1126942769,-1126698730,1042514461,1034632359)+W(6,1034471002,1041098678,1022714404,-1121554637)+W(7,1061271560,1053866013,-1093251577,-1082648980)+W(8,998349933,1025132479,1046515591,-1131618020)+W(9,-1134239506,1034237593,-1123187178,-1157881362)+W(10,1044732088,1032996986,-1092621429,-1097764996)+W(11,-1120958927,984532249,1043087924,1036747322);sum2=W(0,-1102026314,1038074007,-1132731961,1031101174)+W(1,-1126868316,1042331882,-1090146581,1042272104)+W(2,1023923290,-1128194324,1036936531,1028240358)+W(3,-1092900468,1030590838,1017601076,1022986308)+W(4,1039425711,1068886648,1054179894,1028046198)+W(5,-1114483483,-1108833787,1039233571,-1122656394)+W(6,1001758673,1001713969,1022398052,-1126674740)+W(7,1049555295,-1096410864,1035923987,-1096188072)+W(8,1026905222,1029729918,-1090080092,-1086618714)+W(9,-1140283033,-1138091097,1010235161,1013813081)+W(10,1036573795,-1105222854,1036670019,-1106500726)+W(11,1035325123,1035525391,-1134061337,-1110072380);WS(-1098883799,1037141561); +sum1=W(0,1039141586,1034970850,1029657918,-1114839991)+W(1,1020247259,1029681923,-1090767256,-1110021469)+W(2,1040211480,-1126798193,-1119339247,1030453625)+W(3,1048999812,1026227619,1034543274,-1116594483)+W(4,1058872566,-1100094273,1007604554,-1089859629)+W(5,1041448405,-1123771570,-1106749124,-1104869706)+W(6,-1103366664,-1115755155,-1140770618,1026816074)+W(7,-1090400131,-1090199858,1050338841,1063309440)+W(8,1006844457,-1131945671,1023759014,1040832320)+W(9,-1109617409,-1117505278,1007197468,1035386535)+W(10,-1104209655,-1101914812,1050252341,1049028980)+W(11,-1115455274,-1106217213,1034144506,1040157646);sum2=W(0,-1120528483,-1120827669,-1137674963,1003211606)+W(1,-1122088448,1021421814,-1165578649,-1156174412)+W(2,1008615371,-1109822394,1046263423,1034591096)+W(3,-1113012012,-1125167698,-1126381316,-1151639180)+W(4,-1108742643,1025314463,-1143882022,1045965141)+W(5,-1107512724,-1102660599,1048434617,1043768035)+W(6,-1133545211,1042115577,-1120928387,-1125497686)+W(7,1048741047,1042307479,-1139515595,-1157195276)+W(8,-1103528899,-1116374767,-1111490489,-1100558843)+W(9,-1111755343,1034768106,-1121709003,1024650751)+W(10,1028526161,1033940928,-1128894336,1024020315)+W(11,1031989982,-1146160726,-1105393784,-1106766859);WS(1056068055,1054753321); +sum1=W(0,1039080395,-1110003853,-1148496799,-1151415881)+W(1,-1089028090,1042243518,1043835198,1057552055)+W(2,1035025164,1014222010,1050869997,-1115248008)+W(3,1010453293,1036235820,1024019466,1010657956)+W(4,-1089501818,-1077848098,1056043521,1059020393)+W(5,1019596694,-1121658024,1040563886,1038857744)+W(6,1020552269,1036573197,1008503186,-1130137728)+W(7,-1085601017,-1088101382,1054798584,1059247988)+W(8,-1123056704,1035081577,1014726271,1031869090)+W(9,-1115513116,1040242409,1035499631,-1132133255)+W(10,-1102383812,-1092379525,1047345767,1050516586)+W(11,-1137744617,1008326318,-1116861746,1037313809);sum2=W(0,-1096807405,1053669968,-1106782132,1028355794)+W(1,1067941768,-1075220438,-1138391825,1040605863)+W(2,1052817152,-1103015841,-1095467240,-1077104108)+W(3,-1113415499,1045145961,1019490884,1035193429)+W(4,-1088459045,1059082808,-1117197986,1054131819)+W(5,1049259157,-1103440804,1063065831,-1094157882)+W(6,1033457423,-1105194567,1051099266,-1103311494)+W(7,1050105229,-1121773074,1043284247,1014178849)+W(8,-1095094287,-1122898552,1042603721,1061761756)+W(9,-1111393110,995616995,1017055868,-1107701072)+W(10,-1120483817,1023829774,-1110630971,1045435457)+W(11,-1109769641,1018464332,1044996767,-1116379229);WS(-1081368566,-1084412265); +sum1=W(0,-1116002144,-1139602460,1015688387,1027068306)+W(1,-1097381330,-1109028275,1048418201,1048181720)+W(2,1021378954,1036715310,1018111780,-1110979184)+W(3,-1116483849,-1108067395,1018141039,1033201483)+W(4,-1086309497,-1080843359,1059054739,1059204754)+W(5,-1118145977,1024269909,1023153354,-1126061147)+W(6,-1114781410,-1101031910,1022250212,1032237687)+W(7,1035809139,-1090938969,1054995541,1060863016)+W(8,1014428471,1015803518,-1102361409,1043786804)+W(9,-1110135922,-1115253585,1019305877,1019999841)+W(10,-1097995920,-1098655035,1054003721,1048891912)+W(11,1027639288,1026153225,-1110370680,1017536656);sum2=W(0,1050460434,-1096496755,1035973965,-1105480981)+W(1,1048076097,-1090117310,1051612828,-1098849709)+W(2,-1105501338,-1108725217,1047120319,1035320005)+W(3,1049140757,1006710678,-1106311589,1037165381)+W(4,1053634690,1066845841,1040931379,-1090898849)+W(5,1039969785,1046728781,-1083953982,1021130333)+W(6,-1091756558,1044207757,-1104974154,1052000177)+W(7,-1077185739,1058534342,-1090778289,1058463605)+W(8,1038345201,-1141278071,-1091684787,1057459457)+W(9,1032159893,-1100748342,1040627526,-1120302417)+W(10,-1102438650,-1096398368,1045155050,1039812947)+W(11,1040363142,-1109297232,1045504944,1041032826);WS(1040286894,1035975353); +sum1=W(0,1034319831,-1127987806,1023182418,-1171293815)+W(1,-1091927835,-1097464070,1048633701,1059664710)+W(2,1013574450,1012611215,1029070026,-1116625676)+W(3,-1102399280,-1105596260,-1137235964,996039142)+W(4,-1087363556,-1086480503,1059153168,1062256902)+W(5,-1115123712,1006568169,1000027879,1016696459)+W(6,-1103790599,-1108335719,1025821242,-1135192533)+W(7,-1089057879,-1099300213,1056014846,1061115073)+W(8,-1134032598,1032814547,-1108586113,1028964506)+W(9,-1114500598,-1129600787,1020463141,-1128818097)+W(10,-1097571161,-1112421262,1052737098,1050028641)+W(11,1020632239,1016193698,-1096430155,1032749254);sum2=W(0,1037372428,1030557532,-1130243023,-1115556642)+W(1,1051814466,1043810263,1077581449,1085969060)+W(2,-1114698318,1034280644,1030366783,1011471282)+W(3,1049080310,-1112452010,-1126476135,1032034792)+W(4,-1103611514,-1081646826,-1064530882,-1074326256)+W(5,-1140286158,1022645135,-1129814679,-1109496698)+W(6,-1108874582,-1125709403,-1138592966,1032996496)+W(7,1033029539,993676602,-1104386166,-1074476109)+W(8,-1126128243,1013431542,1007963430,1035377868)+W(9,-1147299853,-1125845903,1029413614,-1121911846)+W(10,1034388196,1000946837,-1109306490,1029772508)+W(11,-1114714998,1024966722,1024214725,1005762565);WS(-1128144240,-1105727419); +sum1=W(0,1038442911,1030921926,1008158465,1008177348)+W(1,1037111480,1020025483,-1108323937,1034971295)+W(2,1019898055,1036155997,1015575522,-1119737674)+W(3,-1116236765,-1091904121,1041196118,1025380533)+W(4,1039711206,-1090328900,-1116818069,1041262911)+W(5,1023258159,1038413850,-1106145913,-1096558626)+W(6,-1110541401,-1155490648,1038005880,-1123971020)+W(7,1053066642,-1108534613,1050488689,-1118195565)+W(8,-1123851725,1027658998,1033678004,-1107602136)+W(9,-1118346788,-1132141153,1022532691,-1110790464)+W(10,1032777199,1043217853,1035288564,1005836543)+W(11,-1118860082,-1161170171,-1110557919,1034582855);sum2=W(0,-1132037027,-1110061572,1013105493,-1128930637)+W(1,-1110976033,-1113315034,1028677045,1018701611)+W(2,1029665439,-1120215489,-1136221161,-1129623857)+W(3,1023565141,-1118411413,-1111106512,1027020519)+W(4,-1136487341,1064921249,1051172043,-1097696705)+W(5,1025952555,-1120959951,-1100340880,1045236380)+W(6,-1104848450,1001195043,-1108465338,1033707008)+W(7,-1097426277,1028959819,-1134254189,1036460110)+W(8,1006240491,-1118442072,1033145987,1026225447)+W(9,-1113096913,-1123693871,-1112986298,-1130609759)+W(10,-1113952185,-1139702593,1021784635,1035127174)+W(11,-1137489821,-1119362634,1025786651,-1105387359);WS(1066786198,1018352061); +sum1=W(0,1042991174,-1118935590,-1147124480,1037807432)+W(1,-1089303485,-1093203077,1053008404,1056116676)+W(2,1044944769,1019595829,1032850856,-1115182496)+W(3,-1102401423,-1111703874,1043153405,1032919115)+W(4,-1091158043,-1077398372,1052869895,1058826232)+W(5,1030098999,990101824,-1112497438,-1118679276)+W(6,-1105747115,-1109427003,1040525108,1024885356)+W(7,-1088790919,-1096537905,1052412861,1063596395)+W(8,1037575334,1022825908,-1158252416,1041854800)+W(9,1036876386,-1113217832,1041644314,1034093744)+W(10,-1092801624,-1095292522,1055747689,1055303296)+W(11,1042956152,1027108728,-1097656684,1029739551);sum2=W(0,-1102747382,1035081854,-1120880520,1036031230)+W(1,1027629590,1048871361,999021742,1040389106)+W(2,-1113736580,1036561850,1037408166,1033840740)+W(3,-1081312733,-1097589576,-1112120068,-1118383086)+W(4,-1102228261,1059108854,1061513306,1046511529)+W(5,-1105995296,1037901466,1017984327,-1111365044)+W(6,-1136989239,-1101386787,-1113902667,1044452135)+W(7,1030279668,-1090327880,1028645652,-1098672489)+W(8,1024281094,1003868670,-1098256610,1032578550)+W(9,1038098664,-1106083613,-1175016923,1036248196)+W(10,1046091275,-1110606753,1027306194,1037598188)+W(11,1035521712,-1114802202,-1100293962,1055272900);WS(-1088826540,-1072617048); +sum1=W(0,1037920241,-1108211448,1023136598,986338164)+W(1,-1096657083,-1097067830,1051897846,1051799989)+W(2,-1122826702,1022858827,-1134063855,-1131268440)+W(3,-1117329516,-1098615294,1038855104,-1127817408)+W(4,-1085267217,-1091986338,1068445460,1060040519)+W(5,1016624516,1025833567,-1104903024,1034398076)+W(6,-1156351446,-1125030464,1032100206,-1112014844)+W(7,-1085224562,-1095210946,1049473503,1041659186)+W(8,-1148095931,1018816617,-1123500579,1041222927)+W(9,1025960366,-1128205111,1031252724,-1114071293)+W(10,-1103740786,-1098483636,1053193450,1046320643)+W(11,1004333185,-1135786218,-1110505437,1021522163);sum2=W(0,-1139275200,1033600964,-1121532154,1025188267)+W(1,-1131755519,-1105820182,-1111129732,1040515214)+W(2,1030566925,-1137053008,1041295374,-1105181237)+W(3,-1123953755,1046721727,-1111771837,1037371296)+W(4,1067277095,1075696256,-1119362505,1035395064)+W(5,-1131759093,1026363312,1058324165,-1104867399)+W(6,-1098628025,1040338433,-1106548534,1040037716)+W(7,-1070220409,-1079865944,-1095083293,1046868281)+W(8,-1118056117,1018203389,1030948623,-1095490474)+W(9,-1109104289,1042987802,-1109851481,1039102739)+W(10,1049591033,-1113640498,-1121821072,1045077862)+W(11,-1128931569,-1123620784,1039251361,-1107729189);WS(-1126600048,-1081356549); +sum1=W(0,-1133929050,1032965854,-1121393942,-1127841038)+W(1,1044657313,1056638003,-1092154099,-1098403026)+W(2,-1126110067,1036225512,1040562850,-1112364357)+W(3,1033968271,1043820719,-1112866678,-1127713943)+W(4,1049224359,1066854747,-1081570623,-1092503722)+W(5,-1129561307,1047740947,-1105175211,1040769245)+W(6,1042942538,1043379215,-1113126004,-1130256197)+W(7,1055316562,1058087872,-1092479684,-1086843241)+W(8,-1102743497,1041161205,-1108064855,-1123699911)+W(9,1027795642,1034600139,-1114110304,-1135790871)+W(10,1032418298,1051778533,-1094287464,-1097678271)+W(11,-1106598351,1039116783,999504676,-1138101411);sum2=W(0,1041236493,1024135109,-1122258341,1002695390)+W(1,-1110230321,-1120190201,-1167041196,-1107205869)+W(2,1013006047,-1101224590,1051920007,1025661924)+W(3,1018577975,1034742596,-1120933435,-1122292123)+W(4,-1063745707,-1070580481,-1085659967,1048984334)+W(5,1033459361,1037086181,1079255156,1083223141)+W(6,-1148289286,-1155671947,-1117894001,1032169765)+W(7,1042707591,1049556353,-1108030745,1041640777)+W(8,-1105447820,1029970779,-1097500712,-1110361303)+W(9,1027950533,-1116290259,-1138289315,1003179774)+W(10,-1106095214,1050855401,-1139220243,-1123201389)+W(11,1006793819,-1115669085,-1105964729,1030518681);WS(1044741550,-1111040261); +sum1=W(0,-1129171790,1051367713,-1102049737,-1123328853)+W(1,1045626213,1046305018,-1091471693,-1119860449)+W(2,1022127887,-1107859535,1044417333,-1104602741)+W(3,-1097130129,1051950321,-1104112191,1040528310)+W(4,1049556145,1053940037,-1092522751,1035652177)+W(5,1033350174,-1124872112,1049099055,-1091825946)+W(6,1039437043,1045396986,-1101315365,1024305776)+W(7,1055561708,-1095468986,-1130673884,-1095677118)+W(8,-1115808049,-1115536169,1055485165,-1104689389)+W(9,-1108128612,-1165073551,-1111623399,1021709031)+W(10,1044018368,1026385047,-1121220876,-1112716514)+W(11,1029190802,-1122289340,1036376309,-1103796617);sum2=W(0,1039328248,1038128967,-1105436527,-1104033148)+W(1,1023457753,-1118329847,1010939044,1040757730)+W(2,1019934334,998732076,1011822306,-1105261590)+W(3,1010051700,1057153562,-1097126651,-1109964889)+W(4,-1098103909,-1094975289,1035481326,1051778220)+W(5,-1151355224,-1112777586,1037637839,1019752394)+W(6,1057745438,1060383381,-1090250993,-1098141643)+W(7,1048659070,-1098057265,-1102222701,-1094952202)+W(8,1012075272,-1134551782,1049957743,1023965510)+W(9,1035812245,1044677482,-1118233874,-1116302593)+W(10,-1123621243,-1160321672,-1105877607,-1133841678)+W(11,1031321862,-1124061226,1036758948,-1104798795);WS(1065794902,1053657215); +sum1=W(0,1038333639,1031009517,1018314063,-1121908120)+W(1,-1123855831,1034446294,-1106391546,1027457764)+W(2,1004753494,1015085764,-1121443224,-1123864939)+W(3,1039118671,1034311430,-1124873339,1015310777)+W(4,1039330595,-1090069831,-1141167585,-1097318831)+W(5,-1152877546,-1119728987,1040632671,1026117491)+W(6,1041290230,-1120195837,-1147984576,1031572020)+W(7,-1096859758,-1090834490,1053489270,1054548019)+W(8,-1155937596,-1132243578,1043686014,1028976296)+W(9,-1119856235,-1114392412,1026486289,1024640407)+W(10,-1105884449,-1105777031,1038700424,1041008530)+W(11,999100652,-1148206328,1023881277,1007855863);sum2=W(0,1035072504,1028902500,1026283313,-1111593455)+W(1,1033408259,-1102620143,-1108682745,1043803228)+W(2,998670368,1032181798,1005020832,-1104275307)+W(3,1047373071,1053329938,-1123416451,-1106910582)+W(4,1048908013,-1090850305,1067600226,1040261276)+W(5,1023771046,1032569956,1050480903,-1100960524)+W(6,-1092564654,-1100521328,-1128641646,1050577288)+W(7,1062297118,1017836657,-1113219589,-1072392505)+W(8,-1112013629,1023611526,-1168415746,-1138210428)+W(9,-1096962366,1017970524,-1113858977,1047088729)+W(10,1033530157,-1125952722,1037790473,1049469167)+W(11,-1112880371,1021270423,-1131011166,1025688819);WS(1062391596,1012575503); +sum1=W(0,-1118754907,1040079801,-1104891955,1031343933)+W(1,-1110681406,-1097175282,1034244551,-1124966418)+W(2,-1105353116,1041572194,1039695694,1044511208)+W(3,-1098309187,1047266492,1018981700,1032025473)+W(4,1051954479,1046130725,-1082667844,-1115351741)+W(5,-1106768761,-1111177056,1049723012,1024690888)+W(6,1041578200,-1102249736,1037332142,-1107154694)+W(7,1051147223,1052085167,-1116669206,1034155267)+W(8,1041859398,-1100878141,1031631968,-1103478091)+W(9,1040475388,-1099931343,-1120166325,-1113508494)+W(10,1003822408,1045069376,1037232762,-1108675062)+W(11,1037747241,-1115735812,-1120670778,1001356052);sum2=W(0,984378304,1035520350,-1111554425,1033523600)+W(1,1013286288,-1092144316,1027721316,1029410276)+W(2,-1114072340,1027894332,1040549613,-1149511552)+W(3,-1139357832,1042336361,-1122087690,-1129275556)+W(4,1051778774,1062226267,1063527919,-1120989222)+W(5,-1138380800,-1113445964,1044728263,-1101613332)+W(6,-1098127108,-1108770624,1037981702,-1124036306)+W(7,-1106529787,1023869712,-1087308230,-1086537602)+W(8,1042436209,-1103441850,1043627655,-1102568312)+W(9,1031985496,1030270440,-1122349214,-1119955572)+W(10,-1106223749,-1113965912,1040810725,1038170956)+W(11,1038090706,-1120264936,1025118636,-1109791564);WS(1061969900,1065420380); +sum1=W(0,1041410250,1024825568,-1132400117,1002358108)+W(1,-1098164717,-1093641048,1055004288,1005238718)+W(2,1013481849,-1128588267,1037205414,-1127598604)+W(3,-1111416381,-1112279056,-1121891281,1036273784)+W(4,-1089452644,-1081575699,1065721300,1058195604)+W(5,995531041,-1118185583,1041630292,-1122200151)+W(6,-1100377015,-1110955448,1014037550,1031471239)+W(7,-1095897092,-1095327860,1050103969,1058645356)+W(8,1031870564,-1125213521,1033148051,-1115380038)+W(9,-1140842745,-1109508230,1021231496,1015146068)+W(10,-1122283864,-1101391147,1050895308,1047622119)+W(11,1031659065,-1167265945,-1107652840,-1112032609);sum2=W(0,-1097408481,1040337956,-1105869799,1037378832)+W(1,-1134521568,1048269110,1064628576,-1089422359)+W(2,-1156999910,-1121898726,-1113808990,1024014288)+W(3,1050274911,-1124897054,1010791317,1034348880)+W(4,1055313899,-1081189141,-1067190452,1078490638)+W(5,1025759300,1010618498,-1100728789,1025241947)+W(6,-1105197585,-1107003535,1025476671,1020451237)+W(7,1051135592,1043712009,1034175619,1026583828)+W(8,981635389,-1142752483,-1112306567,1047164907)+W(9,-1131733180,-1128932040,-1144944739,-1121382126)+W(10,-1114815155,-1125325948,1035014695,1030289482)+W(11,-1158764013,1029088384,-1116208218,1025919494);WS(1048733783,1027643848); +sum1=W(0,1036515120,1023561851,-1133175894,-1133845785)+W(1,1057953132,1049915371,-1093510507,-1088559253)+W(2,-1114935677,1012777537,-1130587597,1034283684)+W(3,1042717327,1030082171,-1116789548,-1135183403)+W(4,1060634166,1063183646,-1080791005,-1088396394)+W(5,-1122593837,1031486794,-1114509469,-1127730531)+W(6,1048693393,1034425221,-1134260761,-1148511502)+W(7,1058925305,1044704560,-1090323862,-1089662985)+W(8,-1116148770,-1166921432,1038705162,-1138682841)+W(9,1039337356,1027869798,-1123833247,1018609610)+W(10,1042697693,1047384498,-1089888600,-1100061261)+W(11,-1126426832,1023971661,1049640472,1015444552);sum2=W(0,1037891939,-1103317800,-1144072856,994989105)+W(1,-1100065758,-1122814128,1052666546,-1173716290)+W(2,1036146011,1054652553,-1094230404,-1120127409)+W(3,1037436931,-1127785128,1026939205,-1122509885)+W(4,-1129250144,1058553182,1040815920,1001371192)+W(5,1061875701,1067689129,-1075758811,-1083084807)+W(6,-1103788534,1034163445,-1120878413,1028398855)+W(7,1055924851,1053725018,1020001090,-1100616833)+W(8,1068744910,1067320464,-1075891465,-1074914963)+W(9,-1127272012,1026044831,-1113678678,1025208177)+W(10,1036740791,-1123998093,1043708121,-1134790452)+W(11,1065190583,1062426867,-1084193900,-1081737398);WS(-1084457324,1066101859); +sum1=W(0,-1111022815,-1125864729,1016102797,-1146837948)+W(1,1042035070,1047347075,1038645029,-1115296098)+W(2,-1121095658,-1128702979,-1106508822,1030912362)+W(3,1047559389,1034715654,-1115904029,-1115430590)+W(4,1059438663,1052960194,1037951214,-1083544605)+W(5,1022709564,-1129984885,-1167432352,-1104927285)+W(6,-1103064096,-1108958078,-1117556663,-1139281484)+W(7,-1083491782,1046468604,-1109939240,1057869073)+W(8,-1123913107,-1123056725,1012598283,1045723406)+W(9,-1131712724,-1131623214,-1124011056,1034492603)+W(10,-1121536740,1043250206,-1123535023,-1123954086)+W(11,1026960983,-1128824061,-1110102674,1019381994);sum2=W(0,-1127395739,1044805550,-1127756609,-1125705477)+W(1,1036906007,-1109261657,1015549291,-1105227463)+W(2,989272222,-1106679057,1037043129,1026846896)+W(3,-1097909373,-1177736375,1034569455,993770127)+W(4,-1102191244,1061852121,1058826852,1049252886)+W(5,1042524140,1013800282,-1116961215,-1097396928)+W(6,-1116962018,1043096893,-1119844207,1010458600)+W(7,-1086841826,-1128420796,-1094678765,-1119951878)+W(8,1033157194,-1128652243,1038664018,-1103314123)+W(9,1035619005,-1112228363,1019369801,-1122090273)+W(10,1021651597,1038741216,-1109645851,-1119199398)+W(11,-1124905499,-1126258736,1019677755,1035622840);WS(1067036470,-1087655195); +sum1=W(0,1018554747,-1120379564,1026890311,-1143851962)+W(1,-1110423387,-1098337218,1053786273,1050955184)+W(2,1025799530,-1118031105,1040602294,-1106360251)+W(3,-1114993347,1022258327,1016195769,-1106604063)+W(4,-1090196611,-1083965137,1063572966,1042552729)+W(5,-1119796702,-1110210301,1045568787,-1134551499)+W(6,981655329,1045778247,1037080924,-1138731339)+W(7,-1084059678,-1090231591,1055564522,1058367344)+W(8,-1132188582,-1117810092,1028646847,1046272662)+W(9,1025121994,1023696087,1029907824,-1121217270)+W(10,-1096786628,-1095677575,1048845230,1047575674)+W(11,1021012754,-1118338222,1027665749,1026932869);sum2=W(0,-1108417433,1033605964,1028862084,-1113854255)+W(1,1025435556,1033584957,1032534216,1042382895)+W(2,1042045079,-1105415159,1046901615,-1108154666)+W(3,-1109151867,-1102487521,-1104116954,-1104900936)+W(4,1033281558,-1099286824,1067799294,1017793091)+W(5,1039313065,1005958605,1036137805,-1111336587)+W(6,-1071728118,-1073652757,1040474278,-1114719178)+W(7,1056033422,-1113833767,1051278318,1077900204)+W(8,1020191839,-1114752489,1034492621,1024983956)+W(9,-1090221130,-1102125815,-1122519186,1048817634)+W(10,1011833167,-1107682623,-1105402373,1048299521)+W(11,1024757388,1032711916,-1127962013,1033542750);WS(-1087701164,1071308133); +sum1=W(0,-1100025248,1039729431,-1112915908,1040776942)+W(1,1047131214,-1104971284,-1108101926,1040244657)+W(2,-1152028354,-1120800451,-1123736282,-1116520012)+W(3,-1111499300,1047911115,-1109010607,1032135583)+W(4,1036283892,1057920197,-1095250332,-1107965963)+W(5,1024489952,1038925278,1040789767,-1105297773)+W(6,-1096854047,1047586960,1033070381,-1125896234)+W(7,1057601759,1046835436,-1104060437,-1097276733)+W(8,1034463851,-1130324381,1046328829,-1089523085)+W(9,-1100475875,1025720505,-1127540900,1001383873)+W(10,1017446731,1041767855,-1115131352,-1129328465)+W(11,-1112186573,1015088161,1031878575,-1107686492);sum2=W(0,1060062242,1018139178,-1112379036,-1089646175)+W(1,1017421696,1040955729,-1096611550,1050551269)+W(2,1023971829,-1112174927,-1115297526,-1124178965)+W(3,1066898400,1066001716,-1088789602,-1087427677)+W(4,1035645225,1040223965,1056235229,-1116330565)+W(5,1035838465,-1128027042,1027731712,-1111832492)+W(6,-1079880526,-1081253059,1060985431,1059010203)+W(7,-1114176344,1044677785,-1102574794,-1118197619)+W(8,1015547306,1033729011,-1130074994,-1106279788)+W(9,-1095878540,-1095013927,1054225000,-1139584980)+W(10,-1100382074,1035015292,-1099698701,1039647840)+W(11,-1110899873,1032866060,-1124507789,1040262609);WS(1063980716,-1121784884); +sum1=W(0,1046480497,-1121849329,-1104528667,1027357276)+W(1,1050884987,1048987838,-1090457523,-1094692773)+W(2,1025153935,-1107151594,-1098583576,1046796692)+W(3,1049050976,1046903620,-1107033792,-1122859745)+W(4,1057733925,1061180023,-1084796508,-1090130146)+W(5,1016110982,1023598816,1034725880,1037378828)+W(6,-1128776604,1050194992,1033196814,-1105809438)+W(7,1054317580,1055134019,-1105629197,-1089370535)+W(8,-1114135692,1040596522,1049629536,-1096435840)+W(9,-1112079704,1037688238,-1111105883,-1111338526)+W(10,1046804578,1057027842,-1094775914,-1093813713)+W(11,-1113598601,-1127372967,1038664949,-1097780651);sum2=W(0,-1098133521,-1106371173,1024315846,1041589168)+W(1,-1105720063,1023684981,1051327081,1031854878)+W(2,-1121214780,1011090873,-1128261352,1035016760)+W(3,-1106740015,-1107177437,1040621380,1043663909)+W(4,-1124767392,-1127108094,-1106409587,-1108849860)+W(5,1029549000,1034668152,-1111599720,1035542785)+W(6,-1111131552,1040430896,1033384296,1040212968)+W(7,-1102248051,1050935529,-1093765703,-1120392794)+W(8,-1136161665,1018485311,-1102687331,1051247500)+W(9,1032409853,1003633577,1022694293,1014426993)+W(10,1033359350,-1128561530,-1104283048,-1107120761)+W(11,-1126387868,998242826,1026574958,1037002974);WS(1047153326,-1105960410); +sum1=W(0,-1105871782,1024269605,-1133035902,1032318440)+W(1,1043448020,1044051929,-1098984649,-1111485966)+W(2,1019497606,1019882933,1028564080,-1110710801)+W(3,-1110369667,1047130673,-1111741083,1023033002)+W(4,1059563250,1053459949,-1080272088,1050315790)+W(5,-1118335287,1018957863,1024144723,-1113831750)+W(6,1043587009,-1113373146,-1126171361,1009988015)+W(7,1061038806,1044456898,-1098309317,-1086889743)+W(8,-1122250988,-1124691083,-1145766181,-1117616080)+W(9,1035984354,-1111622952,-1118067977,-1183551252)+W(10,1048086975,1037611273,-1106267538,-1105786176)+W(11,-1123242346,-1150984053,1040212689,-1114741783);sum2=W(0,-1109262360,1034679642,1019405455,-1132142402)+W(1,-1111364284,-1108806456,-1104355470,1044069954)+W(2,1018817977,1034241557,-1097044621,1031679549)+W(3,-1099677890,1048612806,1002713172,1022592575)+W(4,-1066728208,1079847520,-1094376769,-1119884477)+W(5,988348592,-1114461524,1057366851,1043056057)+W(6,1036415285,-1118742739,-1120241477,993592760)+W(7,1060715429,-1103911380,1031998111,-1110824904)+W(8,-1107038514,1036085605,993276152,-1104696735)+W(9,-1125545553,-1129249399,-1139068036,1024283135)+W(10,1028262793,-1127589036,1030577347,-1128336378)+W(11,-1128734189,-1182233281,-1133646774,1012785110);WS(1056964652,1042968547); +sum1=W(0,1044356666,1026146499,-1136392949,1026864302)+W(1,-1091567350,-1098882624,1051097712,-1111481597)+W(2,1008927875,-1130908784,1029687022,1041608192)+W(3,1030265493,1038248593,-1126999334,1024389106)+W(4,-1090350559,-1081953599,1052760426,1040695131)+W(5,-1127664937,-1121268145,1043333208,1042991030)+W(6,-1126651679,-1146035092,-1130628252,1026043785)+W(7,-1095456258,-1102468122,1038264227,1056669112)+W(8,952128323,-1146879000,1038520784,1044232931)+W(9,986691602,1033146167,1002882868,1000688741)+W(10,-1109487565,-1110909592,1040116499,1027446877)+W(11,-1137895230,1023066122,1040618297,1033386798);sum2=W(0,-1109445776,-1132308185,-1117766868,-1155037894)+W(1,1052866656,-1111172948,1041934367,-1106399184)+W(2,1012439553,-1108172404,1042904039,1046069094)+W(3,-1101307898,995397702,1004126723,1042293027)+W(4,1058738313,1064268129,1035303811,-1137539889)+W(5,-1110297962,-1110625272,1051607279,1045435531)+W(6,1014206993,1046458351,1015608713,-1123150924)+W(7,1052685347,-1090299347,-1124849601,-1091518060)+W(8,-1107185126,1045339946,-1150133894,-1098813712)+W(9,-1120597884,1026431488,1030487760,-1135323377)+W(10,-1087905074,-1075431372,1061366644,1043824666)+W(11,-1122419536,1049588119,-1089430426,1037110006);WS(-1096061015,1045980634); +sum1=W(0,1047345176,1016418418,1028828435,-1136709393)+W(1,-1113534082,1049565603,-1096285771,-1089944925)+W(2,1032683291,1018404508,1021274185,1020871950)+W(3,1049157941,1032879612,1022855123,997001355)+W(4,-1113216951,-1094660427,-1097979037,-1094897728)+W(5,1027484139,-1119890439,1039512084,1042276288)+W(6,1042754713,1032419332,1031977874,-1128346047)+W(7,1031601097,-1095562472,1040846151,1014307589)+W(8,1030972704,-1125789619,1044068336,1028680388)+W(9,-1124110958,1040469689,1040707047,984865373)+W(10,-1109834744,-1093905225,1041011167,1042092045)+W(11,1031142826,-1123584299,1048548616,-1140756488);sum2=W(0,1055059251,1024869090,-1115477579,-1114682679)+W(1,-1095220576,-1113806527,1031266096,1064739409)+W(2,1038444345,-1132048253,-1105830101,-1100660553)+W(3,1055732865,-1122542034,-1113658391,-1100789101)+W(4,1040530242,1036337974,1067742275,1030176534)+W(5,1040636888,1015520805,-1103152959,-1096186716)+W(6,-1120682294,-1107016239,1044868728,-1110942733)+W(7,-1087169731,1042181045,-1081471397,1062911121)+W(8,1032588114,-1102136445,1052603278,1035448471)+W(9,-1152832742,-1087243594,1046472362,1028313432)+W(10,1042749891,1067213860,-1077241450,-1080677577)+W(11,-1134141481,-1112398105,1052345796,1033558186);WS(-1086603372,1061480206); +sum1=W(0,1022341006,1027469190,-1143591172,1025472273)+W(1,-1102342404,-1124925900,-1128153798,1006839158)+W(2,-1114893026,-1114252238,1043263108,1042514621)+W(3,-1141108008,1042054049,-1110008795,-1124123051)+W(4,-1093885235,1058414043,-1090097115,1051787090)+W(5,-1121794488,1039892842,-1105821275,1027880941)+W(6,1051331968,1044174205,-1127491490,-1124248793)+W(7,1063214861,1057428893,-1089913687,-1081435553)+W(8,1028544109,1041669328,-1099759469,-1094479791)+W(9,1044005681,-1155225358,-1120184170,1014214528)+W(10,1052102264,1048742922,-1096696337,-1092574472)+W(11,977928239,1039400116,1035771431,-1112069887);sum2=W(0,1025638319,1049599085,-1109009263,1037224808)+W(1,-1143762368,-1112746506,1039705537,-1093017633)+W(2,995865588,1021427773,-1119534458,-1119609796)+W(3,-1142324554,1028269513,-1110258597,-1120793535)+W(4,-1099136162,1056581815,1053657173,1040559103)+W(5,988834049,-1122952792,-1104556193,-1123476586)+W(6,-1132053081,-1119573384,-1151274598,-1112240446)+W(7,-1118127758,-1147801478,1043501160,-1120149375)+W(8,-1114993482,1029987722,-1107739102,1044376501)+W(9,1010517574,1008384356,-1103902982,-1120536233)+W(10,-1130373692,1032229723,1035850418,-1121251494)+W(11,-1106681926,-1116132116,-1122521676,1033895801);WS(1037058908,-1087106898); +sum1=W(0,1026637522,-1129390954,1028077583,1032385376)+W(1,1041048768,1041268325,-1107088868,-1098495714)+W(2,1017191910,-1132138900,-1126519617,1039729665)+W(3,1048467894,1048758199,-1151370839,1014613011)+W(4,1045140885,-1080472255,-1093334653,-1108180359)+W(5,1035348883,997380151,-1114665834,1040649531)+W(6,1043852440,1034990442,1027279360,-1139761263)+W(7,1045570315,1045361342,-1097414435,-1108393155)+W(8,1031307292,1030937245,1035082182,-1125126080)+W(9,1017011558,1036138504,1031834108,1022565566)+W(10,1028923180,1036330497,-1104527470,-1111470776)+W(11,-1138594135,1036519916,1027790590,1023808326);sum2=W(0,-1131222514,-1098228691,1036231024,-1111516802)+W(1,1049467820,1020406578,-1128682274,-1097346809)+W(2,-1111393075,1039222222,-1102087439,-1118099733)+W(3,1034905648,-1090487171,1031916934,-1130951686)+W(4,1024259929,1061096371,1052765954,-1113861539)+W(5,-1113826501,1025340241,-1108988196,1049541587)+W(6,1032129266,1035677128,-1129631002,-1130989326)+W(7,-1104129123,-1108918961,-1122282521,-1108538807)+W(8,1029417921,-1111528334,1042713844,1033200380)+W(9,-1103168970,1049196148,-1119469958,-1123615369)+W(10,-1114584358,-1129232626,-1116187122,1038239484)+W(11,1034012496,1029857705,1018354634,-1097598443);WS(1054906071,-1091145324); +sum1=W(0,-1120406171,-1106052861,-1140775857,1029398237)+W(1,-1115196942,-1109008729,1046952684,1051536197)+W(2,-1126429728,1032555988,1034481647,-1136290815)+W(3,-1099422950,1032725545,1004160018,-1128656451)+W(4,-1097962977,-1130426984,-1085942396,1057886666)+W(5,1015919623,-1108426832,1050651652,-1114344740)+W(6,-1097841652,1037934865,1029686973,-1130732913)+W(7,1048146402,1034532491,1042440654,-1098611557)+W(8,1040987294,-1107032303,-1133864753,-1102043591)+W(9,1036573848,-1157619404,-1128798955,1021855224)+W(10,-1122054089,1027356128,1032622058,1035129734)+W(11,1044439941,-1115113714,-1126847669,-1124817654);sum2=W(0,1027581315,-1112877584,-1116219822,-1113802973)+W(1,1047020911,1021259086,-1127685514,-1110955855)+W(2,1022816774,-1129541322,-1118276653,-1105727831)+W(3,-1110295429,1027296115,-1109755343,1020553430)+W(4,1057623683,1053623791,1025841055,-1097495000)+W(5,997980814,1016281450,-1104267868,-1110729082)+W(6,-1126007358,1035099341,-1112950186,-1131329246)+W(7,1057318729,1040083835,-1110724235,-1104102640)+W(8,-1105649969,1031563375,-1119773745,-1106795812)+W(9,-1130784978,1035863861,-1116367256,-1113313093)+W(10,1048620928,1039940909,-1097352168,-1165405916)+W(11,-1111917112,1032754595,-1110646461,-1128480210);WS(1063926444,-1083200389); +sum1=W(0,1049653262,-1116391059,1015785179,-1110900111)+W(1,1052688460,1038385529,-1106495964,-1089993663)+W(2,1042131972,-1121748392,-1108169455,-1098055945)+W(3,1048988121,-1111931241,1034778082,-1132926346)+W(4,1045396422,-1089207439,1061854120,-1104923071)+W(5,1039495970,-1117097761,-1111176153,-1110654965)+W(6,1002973694,-1107911937,1024169214,1029162938)+W(7,-1085048198,-1087799869,1059656227,1062129309)+W(8,-1120523578,-1106362715,1043917388,1042255343)+W(9,-1104277444,-1114837807,-1116484151,1031086749)+W(10,-1096506545,-1096830980,1055218483,1047872627)+W(11,1011366638,-1098874335,1049045741,1012240783);sum2=W(0,-1079593190,-1080879443,1008713252,1031260311)+W(1,-1113337443,1043424734,1035854140,-1121246507)+W(2,1032096214,-1130846658,-1123981203,985022717)+W(3,-1099919153,1067198745,-1108083749,-1110413739)+W(4,-1112705599,-1102589461,-1111993270,1040572163)+W(5,-1119780465,1007072124,1035118406,1028350097)+W(6,1061544601,1037733964,-1107516795,1024382525)+W(7,1044789771,1040341398,-1122943484,1060638292)+W(8,-1132931022,-1131952682,-1123835438,-1119559917)+W(9,1034769578,1037726418,-1107429215,1032742989)+W(10,-1116338100,1030676197,1034609836,-1098923291)+W(11,1028149723,-1115680064,-1114867192,1021760610);WS(-1091090263,1040227933); +sum1=W(0,-1113261184,1027485320,-1114808049,-1123880467)+W(1,1044923332,-1098653061,1019377225,1033284496)+W(2,-1135767575,-1127683258,1042536309,-1105999782)+W(3,-1101480756,1043855170,1032220316,1014154590)+W(4,1059927492,1040011797,-1094753319,-1102787036)+W(5,1037484605,-1120454550,1044858269,-1095990282)+W(6,-1088775234,1021676847,-1121223347,1018131933)+W(7,-1099661886,-1151140018,-1107869654,1065098078)+W(8,1029352975,-1109078132,1045062557,-1091964998)+W(9,1031227206,1026364723,1008528046,-1128795491)+W(10,-1113799968,-1125551659,1025551690,1045897152)+W(11,1027724204,1006311503,1023695008,-1109510984);sum2=W(0,-1135928985,-1131363804,1011470018,-1123304381)+W(1,-1113522433,-1100907702,1045400660,1039889929)+W(2,1038356153,-1139124254,1038781261,-1108136941)+W(3,1044779190,-1101932196,1029761957,-1116901758)+W(4,-1104972678,1058841413,1055172736,-1100997480)+W(5,-1105005165,1040780481,-1093286229,1052809383)+W(6,-1097334030,994986369,-1111769341,-1135722528)+W(7,1039800739,-1122473050,1054550160,-1087140500)+W(8,-1105451984,1042887374,-1105965260,1034962749)+W(9,1042173475,1025113569,1032808415,-1107033568)+W(10,-1109069053,1032761157,-1115908038,-1110305303)+W(11,-1114167820,-1152192529,-1155418681,1038676003);WS(1063982124,1031276218); +sum1=W(0,1031361481,1026538936,-1103090149,1041442545)+W(1,-1090353464,-1090262005,1055470587,1056936890)+W(2,1007942615,1040474995,-1101092681,-1122143798)+W(3,-1101400314,1034898060,1024468200,1042807746)+W(4,-1096383728,-1078114170,1061353486,1060963845)+W(5,-1103896066,1027975174,-1122232454,1031723710)+W(6,-1103132501,-1112916420,1049721332,-1106882536)+W(7,-1106902698,-1088793180,1048946651,1063510555)+W(8,1030475455,-1101011290,-1172995470,1043143621)+W(9,-1139074135,-1110788513,1042454319,-1101888878)+W(10,-1098771630,-1093460753,1058321972,1054541302)+W(11,1044176219,-1108198577,-1104729748,1032268200);sum2=W(0,-1109357907,1024785272,1034996578,1015674059)+W(1,1066992274,1076858856,1048659656,1031332447)+W(2,1048304191,1030261153,-1070866381,-1074609058)+W(3,-1129998179,-1120348186,-1128049054,1026624942)+W(4,1078632808,1073772904,1052415888,-1108514478)+W(5,-1098508369,-1108782845,-1076608801,-1068251573)+W(6,1048014132,-1105300006,1021382702,999367802)+W(7,-1105884909,1038594495,-1117149322,-1105319294)+W(8,1048310856,1031934850,-1109221944,-1103939197)+W(9,1046166047,-1116382211,1029480964,-1124407536)+W(10,1038514249,-1098756758,-1154249511,1010482847)+W(11,1046147873,1038709270,-1125235504,-1098022157);WS(-1084008748,-1076428689); +sum1=W(0,-1119372516,1036299874,-1162911689,995293936)+W(1,1059786207,1051547992,-1097059736,-1088304948)+W(2,1013109895,1006687204,-1125552990,-1137964103)+W(3,1017340780,1041960361,-1132274729,-1138016718)+W(4,1060565598,1064118968,-1081600491,-1085861109)+W(5,1002349741,1007519945,-1116908178,-1116363658)+W(6,1044385332,1034368866,-1131268254,-1145295444)+W(7,1058261310,1050466917,-1090459925,-1083799507)+W(8,994300076,-1119097260,1026422690,-1119006543)+W(9,1043013720,-1103541652,-1135278623,-1201649403)+W(10,1049921019,1042671596,-1103180426,-1104403080)+W(11,-1123993357,1023041036,1051353751,-1131911306);sum2=W(0,-1090933982,-1094617784,1041148647,1033856632)+W(1,1067844920,-1102124443,1066199400,1068958128)+W(2,-1124923033,1042779533,-1122244574,-1095515318)+W(3,-1122277735,1062250596,1045521814,-1094518814)+W(4,1051248434,-1078683071,-1070105649,1055138982)+W(5,-1103088355,-1114411292,1046136146,1036900546)+W(6,1027053741,1050179515,1033117136,-1128266986)+W(7,-1079091570,-1089309992,-1082392713,-1070096660)+W(8,-1114099181,1023274434,1045719314,1021983978)+W(9,1033890948,-1086799133,1041230368,-1173165821)+W(10,1047411220,1070525583,1076979077,1067349236)+W(11,-1124200313,1042022635,-1091587052,1050937215);WS(-1081223670,1021288719); +sum1=W(0,1035837139,1032041909,-1123721507,1011016529)+W(1,-1098433890,-1100608474,1036928499,1042651768)+W(2,995272815,1027549342,1024607124,-1129696110)+W(3,-1108640782,1024313608,1017648243,1017381041)+W(4,-1094722148,-1083909329,1061777248,1055254255)+W(5,-1116321147,1017435439,1047474926,-1131079071)+W(6,-1105590117,-1108791100,-1122128468,1028006000)+W(7,-1087617676,-1091388554,1052534382,1061429156)+W(8,-1122084432,-1139273509,1033276873,1036831026)+W(9,-1128783630,-1116825572,1007983923,1009660876)+W(10,-1104773376,-1093454083,1053483289,1049990152)+W(11,1024807730,-1125665142,1005912461,-1150770463);sum2=W(0,-1088994983,-1085734595,1057597982,1057380038)+W(1,998662038,1031174835,983594263,1016685185)+W(2,1027712021,-1109851055,-1116219635,1040844632)+W(3,-1072283812,-1079782207,1060801069,1069621581)+W(4,-1099503122,-1097910780,1060848632,1066773393)+W(5,1037507283,-1116080368,1027931069,-1134907857)+W(6,-1081640783,1046270010,1041938366,1060050844)+W(7,1038323247,1026094487,-1105013658,1043641192)+W(8,-1123552119,1028446195,1047921746,-1111695032)+W(9,-1113922524,1043446590,1024344515,-1122435905)+W(10,1036576275,-1145544806,-1105295106,-1104981345)+W(11,-1108250726,1031771441,1032973176,-1114519002);WS(-1120405176,1052288640); +sum1=W(0,1040656325,1013423883,-1120969533,-1136485047)+W(1,-1114886102,-1092939904,1042796768,1051431647)+W(2,-1115542032,-1165530871,1039390695,-1113721480)+W(3,-1108004548,-1107763377,1027237267,1032711321)+W(4,-1083705303,-1089040632,1060861813,1062809491)+W(5,1020434857,1024821617,-1116341945,1026161897)+W(6,1022040031,1040265357,-1146847086,1021305874)+W(7,1039332409,-1098943929,-1107918083,1027813500)+W(8,1031183209,1019272038,1035322940,-1108229347)+W(9,1031093856,-1100629595,1039673939,-1133175986)+W(10,-1112315213,-1104541036,1043412169,1039657966)+W(11,1024346473,1012723731,-1114748782,-1115465454);sum2=W(0,-1128467212,-1131275971,-1106233681,1032873736)+W(1,1024553592,-1114616785,1035809416,-1098460251)+W(2,-1128334191,-1107845863,1026776904,1047433570)+W(3,-1113770947,-1088748320,1009987037,1036788040)+W(4,-1092555656,1067981395,1062703231,-1078975662)+W(5,1043173677,-1111351589,-1104531393,-1132131619)+W(6,-1097209973,1040210251,1018109057,-1117147579)+W(7,1058574054,-1103422592,-1110493560,1059662245)+W(8,991598885,-1107997815,-1125640736,-1106248497)+W(9,-1099376356,1050939532,-1106556966,-1114508674)+W(10,1038056552,1026754378,992650581,1052516052)+W(11,1023829740,-1106870741,-1107493388,-1107638185);WS(1050656983,1072047790); +sum1=W(0,1048792739,1034799517,1026709637,-1128713579)+W(1,-1097949975,-1104033571,1050171449,1050333168)+W(2,-1127716817,1037025856,1036522731,-1101689274)+W(3,1014670385,-1116111658,1030859291,1023201012)+W(4,-1085647978,-1080119690,1064066450,1053203577)+W(5,-1116963676,-1112813084,1043957990,-1115538280)+W(6,1025355287,-1112906461,-1152997210,1041237492)+W(7,-1088145917,-1088560507,1050694506,1060032700)+W(8,1036783049,-1113565993,-1120212113,1037919995)+W(9,1036463444,1002270506,1040488948,-1155686725)+W(10,-1105136840,-1093840327,1046913707,1053095469)+W(11,1035776666,-1122514141,-1108210918,1035379762);sum2=W(0,1067037293,1072414374,-1105031648,1032121925)+W(1,-1094551116,1050387420,-1081225596,-1074821338)+W(2,-1115959604,-1117669800,1035683027,1045030197)+W(3,1072723545,1076922042,-1105961083,-1130820039)+W(4,1050306407,-1080768789,-1068908234,-1069168235)+W(5,-1109697271,-1106200850,-1129129027,1054464199)+W(6,1072846596,-1079373087,-1091675607,1040237041)+W(7,-1110799161,1048692149,1050158994,1068735095)+W(8,1041008693,-1107790175,-1102086715,-1109242003)+W(9,1048404715,-1090018360,-1119953618,1052906990)+W(10,1039557097,-1114340558,1036354441,1043049709)+W(11,1019897614,1034398799,-1106557101,1050068036);WS(-1081468886,1041730784); +sum1=W(0,1021500053,1042624634,999910687,-1114247594)+W(1,1044129269,1053438789,1005300019,1028761377)+W(2,-1121682823,1029411807,-1096850135,-1131183895)+W(3,1043096639,1034747044,1022168820,-1112649805)+W(4,1055682820,-1086991443,1035906940,-1100727404)+W(5,1022343799,-1113521452,1038040260,-1106832988)+W(6,-1103886814,-1101453262,1025791509,1009392321)+W(7,-1084075064,-1098009154,1054732110,1062898916)+W(8,-1110992968,-1110478453,1037861846,1044548897)+W(9,1026735815,1034256626,1020540891,-1115410306)+W(10,-1097832968,-1117544535,1041116931,1042621601)+W(11,-1125653940,-1112646442,-1121491970,1022910341);sum2=W(0,1025315462,1040254152,995541592,-1109856908)+W(1,-1108093549,-1085520225,997512408,-1111613060)+W(2,-1114414815,1040714423,-1094645099,1041489120)+W(3,1035675473,1026228130,1043476326,-1107331629)+W(4,-1103361463,1059978555,1067108106,-1115826672)+W(5,-1125997775,1032256197,-1121534122,-1102705141)+W(6,-1101803200,-1123010638,1039471517,-1104942022)+W(7,-1094292172,-1120534147,-1104388416,1053887552)+W(8,-1130615251,-1129091643,1017265579,1039802977)+W(9,1040268905,1028920354,1022399907,-1114856041)+W(10,-1108094032,1040596394,-1103458923,-1120685867)+W(11,-1108206349,1027593934,-1107135380,1040793483);WS(1054796503,-1111794816); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, -2), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 0), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 2), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -2), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 0), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 2), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -2), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 0), 0); +samples[8] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 2), 0); +samples[9] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, -2), 0); +samples[10] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, 0), 0); +samples[11] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, 2), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns256, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns256, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1126504964,-1117760744,-1118354985,-1118812211)+W(1,1037346316,-1097807929,-1117458482,-1120674615)+W(2,-1137814218,-1101147334,-1114916026,-1120777358)+W(3,-1118580651,-1112914505,978731342,-1128256674)+W(4,-1127312137,1040658850,-1107177196,-1108702207)+W(5,1051925971,1061593601,1041726453,-1124477727)+W(6,1032645830,1029100907,1053108884,1042061230)+W(7,1040041685,1010634196,1023094846,1026597474)+W(8,-1105559165,1024463101,-1113369587,-1116025261)+W(9,-1098269094,1015141868,-1120327001,-1102924251)+W(10,-1121960158,-1114359336,-1129934237,-1109857889)+W(11,-1137769344,-1124738995,1018102856,-1133406593);sum2=W(0,975711915,-1103749327,1034293816,1012167794)+W(1,-1112492311,1032768248,1042152488,1007876102)+W(2,-1104922990,-1112883791,1026775674,1037438381)+W(3,-1129478003,1029694272,1009005510,1035896848)+W(4,-1105000392,-1097051670,-1073125242,1040949842)+W(5,1065119806,1064777150,1048636347,-1113573827)+W(6,-1118855570,1049268872,1035198208,1049707133)+W(7,-1105233202,1045598091,-1110039318,1019305156)+W(8,1026609280,-1107080190,1034317546,-1098861131)+W(9,1028248806,-1106667446,1037196612,-1103172582)+W(10,-1108803486,-1112062411,1024046979,1042916747)+W(11,1002108025,-1116379320,1031133421,1037762592);WS(1002542528,-1081598301); +sum1=W(0,1003194766,1031358712,1018532849,-1123106403)+W(1,-1120609928,-1102109750,-1100442248,-1115291860)+W(2,-1104418325,1022719310,-1124327881,1033033375)+W(3,-1140694509,-1173350542,1042404749,1031657633)+W(4,1048723343,-1102943230,-1096563748,1058293919)+W(5,1065191364,-1082116255,-1084853826,1060312385)+W(6,1055391647,-1090520747,-1090047916,1057579241)+W(7,1057234642,-1088607906,-1115672903,1048926634)+W(8,1043311017,1033034550,-1104454821,1033211315)+W(9,1048832547,-1093430837,-1105126162,-1122032382)+W(10,1034840623,-1104668395,1033480943,1045565001)+W(11,1034960904,-1100859732,1041617645,1040065984);sum2=W(0,-1136455954,-1098903542,1038135851,-1118979564)+W(1,-1098733088,-1095471090,1043936541,1031647880)+W(2,-1115252794,1050331000,-1114646115,1032618663)+W(3,1028338874,1030299514,-1107943513,-1105564107)+W(4,-1113356687,-1091503884,1046730291,1040555036)+W(5,1058853402,1057969905,1053446821,1041172918)+W(6,1042547849,1032649026,1026777488,-1111675314)+W(7,1048036907,1045220138,-1097022326,-1102521857)+W(8,1033064908,-1105119573,1010901456,-1098841046)+W(9,-1107613268,-1096003667,1050988870,-1105844234)+W(10,-1109177822,-1135105484,1040941647,-1104403193)+W(11,-1104926499,1015146572,-1111654963,-1106932655);WS(-1089089900,1057806976); +sum1=W(0,-1127595840,1025412102,1034138799,-1107295812)+W(1,-1107414907,1043589025,1036945929,-1123024597)+W(2,-1114511976,1026901142,1048626936,1016079705)+W(3,-1120167114,-1132433569,-1122208804,-1121404144)+W(4,-1098433268,-1189029283,1050726826,-1095422036)+W(5,-1086058047,1066834483,1055732365,-1092642698)+W(6,-1090938821,1050840209,1060391966,-1087422851)+W(7,-1092394401,1054523402,1046023279,-1099844512)+W(8,-1122343505,-1114195981,-1107540610,1041715821)+W(9,1012137296,-1123010964,1004508092,-1122551116)+W(10,1032081267,-1116540066,1021997657,-1112593208)+W(11,1034856335,-1140325311,-1117735535,1025525231);sum2=W(0,1040406565,-1112537807,1045053907,-1100068589)+W(1,-1129255625,-1096936254,1034765996,-1105732125)+W(2,1041854514,-1119869595,-1098576495,-1110986904)+W(3,1040297872,-1106886121,-1108123574,-1108063740)+W(4,-1097933278,-1091711434,1049401249,1035618626)+W(5,1047111871,1055190008,1056573344,-1099579155)+W(6,-1119227686,-1092612461,1058665437,1056019034)+W(7,996712344,-1113107096,-1121089271,1029490732)+W(8,1040848725,1039746012,-1103084156,1036897142)+W(9,1050298277,-1110783667,1030295740,-1089717374)+W(10,1058580142,-1100808273,1041764164,-1089302244)+W(11,-1110437244,1034569294,1022690203,-1127874601);WS(1049963735,-1124746024); +sum1=W(0,991131306,-1110639240,1034213253,1006389467)+W(1,1036315168,-1106688436,-1124116580,-1124991168)+W(2,1034164414,1034354600,1016950458,-1114080443)+W(3,1034869786,1046100667,-1118357326,-1168983685)+W(4,1049374726,-1111102680,-1089111694,1058411598)+W(5,1064243752,-1080857842,-1086690096,1060442825)+W(6,1057235431,-1086990857,-1086343400,1058630778)+W(7,1028310995,-1090257402,-1099687954,1051622657)+W(8,1039576302,-1134195605,1033778855,-1120169982)+W(9,1032153615,1024033695,-1122058050,1018630958)+W(10,1036089759,1017381585,1016006830,1034713638)+W(11,-1126482082,-1130216101,1027377121,1035150121);sum2=W(0,1022693528,1040828458,-1111353121,-1114775505)+W(1,-1159675846,-1179590680,-1108626677,1033686534)+W(2,1033838002,1028829848,1041114289,-1112709023)+W(3,1032684170,1037026782,-1108121837,-1125624388)+W(4,1041444385,1083159907,1077280281,1051023520)+W(5,-1089609004,-1064966677,-1090827263,-1101109690)+W(6,1037546580,-1090323484,-1073695373,-1101828769)+W(7,-1104771455,-1104201752,1042738654,1033655640)+W(8,1039028690,1038899070,-1100155636,1042396970)+W(9,-1146898193,-1128357112,-1108327399,-1129576724)+W(10,1046069066,1017563688,1026559236,-1117377551)+W(11,1049907200,-1119733667,-1149039617,-1098820901);WS(-1082925548,-1131273240); +sum1=W(0,1024417890,1026031368,1028984921,-1130676005)+W(1,-1123681912,1048544370,1046418962,-1127912110)+W(2,1009745483,-1115143804,1032747842,-1128802908)+W(3,-1124372951,1012870858,1035809011,1030244593)+W(4,-1094705109,1048479050,1056020338,-1090453298)+W(5,-1080625999,1056570469,1054709085,-1088411833)+W(6,-1093720869,1058018725,1060414079,-1078821070)+W(7,-1099806226,1053689379,1048613352,-1115224705)+W(8,1026370227,1023514525,1031745797,1036092472)+W(9,1016526011,1039178347,-1139610597,1040943828)+W(10,-1146727344,1033865376,-1115579031,-1134933227)+W(11,1034696072,1032018765,-1123856496,-1126383553);sum2=W(0,-1126832117,-1140231915,-1114926763,-1117505397)+W(1,-1107644007,-1125354742,-1125548157,-1116692107)+W(2,-1123105101,1027773818,1042669208,-1117458583)+W(3,1004815486,-1119603373,-1115355410,-1117032217)+W(4,-1146496262,-1113101086,-1102904639,1048798551)+W(5,1053833339,1000279686,-1125191934,1045683415)+W(6,1032098567,-1107525999,-1104919217,1057710126)+W(7,-1110288078,-1103622420,1032507221,-1100115369)+W(8,-1129185935,-1125809392,-1112830121,1025448640)+W(9,-1120274227,-1113082203,-1121525964,1034411663)+W(10,1022009255,1035574395,-1111650191,1041220979)+W(11,1039592007,-1117835672,-1112638630,1021108475);WS(-1089340204,1064822548); +sum1=W(0,1017532199,-1123651609,1040632746,1024560260)+W(1,1032538389,-1115892569,998268921,1036465700)+W(2,1035008482,1033415588,-1109887627,1031720480)+W(3,1041385023,1043778521,-1112010572,1020865894)+W(4,1053882699,-1094337163,-1106019185,1042654740)+W(5,1062655475,-1081203240,-1083627654,1058440180)+W(6,1054084900,-1086686700,-1087921069,1057084090)+W(7,1050203279,-1083224116,-1098821294,1046711885)+W(8,1033472482,1028050126,1037194524,-1121721479)+W(9,1042941034,1013010462,993325743,-1112650528)+W(10,1038013786,1021897635,1035154240,1046201917)+W(11,1043447032,-1131974615,1027972046,1039144481);sum2=W(0,1041490776,1018486577,1034353453,-1108565409)+W(1,-1113858207,1052082200,-1113519263,-1103680498)+W(2,-1139146344,1046768714,-1097140178,1018958125)+W(3,-1111959213,-1128703602,-1098207895,1024460115)+W(4,-1105841420,-1092734414,1053209723,-1088688588)+W(5,1062919581,1049986423,-1094792328,1037914109)+W(6,1049328132,1044527939,-1107726366,-1095558118)+W(7,1035231667,-1110040773,1046336394,1041960027)+W(8,1039814215,-1122233136,-1107721619,1049996954)+W(9,1012724150,1040029087,-1116717915,1034343810)+W(10,1024888668,-1100531711,1007719490,-1098318745)+W(11,1036710347,-1102670680,1037888927,-1106186917);WS(-1083458668,-1076208878); +sum1=W(0,-1119221604,-1097616301,1040683401,1028803476)+W(1,1033962333,-1106128994,1042493937,-1136427363)+W(2,1041264181,1044433886,-1096558041,-1108948664)+W(3,1032628870,-1123751924,-1097860853,-1108358441)+W(4,1051879501,-1093169213,-1098733730,1046406904)+W(5,1062475632,-1086787145,-1088547874,1058517387)+W(6,1053313566,1035939910,-1088927588,1061490456)+W(7,1054299289,-1130402734,-1096390160,1049919352)+W(8,-1110693690,-1111140815,1030855367,1004468631)+W(9,1045297574,-1108587948,-1127640694,1024040880)+W(10,1038834422,1040762412,-1104411844,1028806548)+W(11,-1106314264,-1165494119,-1118015030,-1095128350);sum2=W(0,1037888148,1037533502,1016478676,1016611708)+W(1,1016374797,1042320298,1012928145,-1105282980)+W(2,-1118267731,-1133007186,-1119445205,-1146676672)+W(3,1032410610,-1114217777,-1123652878,-1130451858)+W(4,1036667983,1029018929,-1101004152,-1110195557)+W(5,-1123884642,1048907311,-1092116144,-1126800264)+W(6,-1111241984,1045206632,1063932318,-1097480948)+W(7,1039354964,1032089604,1051255124,1039970164)+W(8,1051795874,-1116498505,-1128480930,1040169462)+W(9,1052196876,-1110762465,-1105668811,1041335879)+W(10,-1088285853,1016609657,-1096424000,-1105880602)+W(11,-1090379026,1046489649,1029046774,-1095104183);WS(-1104670894,-1131977046); +sum1=W(0,-1122872327,1044660591,-1127207577,-1112648188)+W(1,-1105196647,-1091967838,-1159198685,1034658686)+W(2,-1105551222,-1105182655,1050515731,1040705957)+W(3,1017793890,1049557794,-1127322710,-1121117111)+W(4,1050049705,-1112061830,-1088875575,1054983097)+W(5,1062208630,-1080890076,-1088327234,1055452918)+W(6,1051606290,-1088400827,-1103107959,1055187309)+W(7,1052382814,-1097595959,-1103254713,1047450666)+W(8,1037435556,1027063042,-1103988635,1031188251)+W(9,1027642075,-1097581231,-1117747167,1047857485)+W(10,-1109004816,-1115427963,1026629396,1054501223)+W(11,1041414585,-1121163375,-1119280070,1042878098);sum2=W(0,-1117974191,1035918257,1027513536,1016354951)+W(1,1055799129,-1144611727,1037237024,1039379806)+W(2,1037116388,1042440009,1028380863,1043516685)+W(3,-1131729016,1025801393,-1106882882,1033575170)+W(4,1029824032,1038928177,-1120711631,-1143898815)+W(5,-1097216592,-1097673825,-1101088822,-1103985849)+W(6,-1103814691,-1105579212,-1124050651,-1106760625)+W(7,-1136138683,1011024469,1026359109,-1123395355)+W(8,-1110582057,1027020738,1011202413,-1121835937)+W(9,1040607236,1044957698,-1113735870,1009730353)+W(10,1038947942,1027787831,-1114960631,-1115312251)+W(11,-1112603972,1008198659,-1133116095,-1135830635);WS(-1096559831,1037484900); +sum1=W(0,-1134487991,1027879764,1038422322,1028249855)+W(1,1016173128,-1112460521,1029515489,1034313250)+W(2,1028347039,-1123304579,-1107825326,1027417370)+W(3,1035635068,-1120703806,1030471249,1000575210)+W(4,1048869250,-1098773026,-1091437192,1057397273)+W(5,1065757625,-1083502823,-1086850776,1056640275)+W(6,1054334819,-1089694535,-1083394976,1058322735)+W(7,1052376319,-1102551488,-1098313541,1052511918)+W(8,1029769503,1031362249,1033785689,-1101563608)+W(9,-1131269971,-1128247556,-1173649736,-1127965876)+W(10,-1107441417,-1132373103,1035484541,1044386388)+W(11,-1098473097,-1142130892,1034873120,1031752252);sum2=W(0,1040888051,-1070793862,-1073555081,-1112511339)+W(1,1027239578,-1071158503,-1069228230,1033770332)+W(2,-1135961020,1047598893,-1080567434,-1109060021)+W(3,-1110941727,-1129804625,948656059,-1113507810)+W(4,1075658117,1054215981,-1104998932,1076402541)+W(5,1077820889,1046227202,1042820552,1075655149)+W(6,-1118850699,-1101978428,-1095422364,1045918702)+W(7,1026016583,-1103164541,1045389579,1035044244)+W(8,-1115233903,1015165170,1037626737,-1101584674)+W(9,1035248614,1033175695,1023929473,1010151672)+W(10,1049027220,1032251645,1025525751,1038949494)+W(11,-1118124613,1042587545,-1117328038,1028467783);WS(-1081931126,1073966570); +sum1=W(0,-1146361331,-1097410109,1035175459,-1121849711)+W(1,-1106692309,-1120101763,1043585907,1017322599)+W(2,-1106210884,1038219466,1050307440,1025148299)+W(3,-1115138804,-1132131774,1023773090,1006422511)+W(4,1026127169,1045225025,1027761070,-1121951547)+W(5,-1091000962,1065386286,-1106255910,-1144746721)+W(6,-1091953433,1056380469,1061827739,-1079735571)+W(7,-1102445962,1046599772,1049682211,-1096168868)+W(8,1037511592,-1113648733,-1114686833,1025905706)+W(9,-1111228857,-1108319001,1017686828,1043091875)+W(10,-1102991437,-1147707682,1018597782,-1120837551)+W(11,1040799505,1028136822,-1110127893,1003336935);sum2=W(0,1034732755,-1090565718,1035173169,-1106398945)+W(1,-1116038033,-1089313148,1037348813,-1136096426)+W(2,-1100200943,1045738761,1037418911,1044672515)+W(3,1025870712,-1117649125,-1130864309,1037208365)+W(4,1056357842,1050400788,1053305068,-1101335301)+W(5,1066071262,1057700465,1036743473,-1122254044)+W(6,-1132458755,1003355997,-1084949846,-1095175639)+W(7,1025322164,-1106413087,1030076164,1007521414)+W(8,-1115544374,-1107192051,-1109509581,-1121291886)+W(9,-1086616818,1022772267,1016457143,-1105444760)+W(10,-1102270714,1035291569,1033704361,1050477957)+W(11,999303933,1024551876,-1111299866,1045722667);WS(1052508503,1065718149); +sum1=W(0,-1109127212,-1098223900,962035242,1042149474)+W(1,1033122295,-1108112926,1027445007,1041796883)+W(2,1045736850,1043181559,-1098175173,-1120120612)+W(3,1038133568,-1102543586,-1100319159,-1110374755)+W(4,1043423478,-1096660204,-1097510801,1048663227)+W(5,1061167739,-1089406218,-1087758861,1055339346)+W(6,1055761732,-1105769888,-1094841886,1054196775)+W(7,1051299336,-1120191499,-1103555357,1041284046)+W(8,-1104342914,-1109357577,1038442493,1028239019)+W(9,1037128774,1025450507,1040109559,1027971236)+W(10,1042761157,1044237597,-1123303012,-1105773058)+W(11,-1105847257,1039590240,-1111907879,-1101757237);sum2=W(0,1021868522,-1116667451,1037136687,-1109097964)+W(1,1032613655,-1109068920,-1107845433,1007318978)+W(2,-1126879582,-1103760436,1016069779,1002517286)+W(3,-1114937810,-1118059752,1030143702,1031113174)+W(4,-1094712046,1041352693,-1125393555,1031673749)+W(5,1040720319,-1112580519,1034962829,1038331125)+W(6,1056111085,-1106729155,-1106409067,-1111158812)+W(7,-1121843086,1047380650,-1106975050,-1106358629)+W(8,-1104433838,1008084051,1025995330,1019467600)+W(9,-1121851072,1025598855,1039892459,-1122570447)+W(10,1049773824,-1110468674,1045465420,-1113430896)+W(11,-1122235886,-1113447212,1020538422,1036295980);WS(1056997868,1008833773); +sum1=W(0,1036420187,-1130107576,1006806901,-1118496039)+W(1,1034344230,1045363911,-1115019369,-1113594582)+W(2,-1109888100,1037930126,-1090717022,1038393121)+W(3,-1131937728,-1112104883,-1110427933,1032434307)+W(4,-1123687353,-1104570591,-1123143270,1039826714)+W(5,1059756929,-1095316624,-1093231896,1053157409)+W(6,1045739824,-1098051412,-1095564524,1058230383)+W(7,1052782212,-1104229594,-1101398261,1042446790)+W(8,1032886196,-1125702370,1017005492,1006039247)+W(9,-1102708199,1009228202,1028719950,-1105180689)+W(10,-1129186168,1033820442,-1119964195,1035814292)+W(11,-1112516090,-1136905401,1028568173,1025625861);sum2=W(0,-1112051735,-1109468006,-1118604595,1034320453)+W(1,1033608293,-1088213587,-1106879339,1043966073)+W(2,1051236380,-1095838484,1064370547,-1092579307)+W(3,1027336318,1016664388,1043763107,-1102939053)+W(4,-1107232926,1046387359,1028595208,1025235375)+W(5,1067079268,-1087106166,1044354198,1049289065)+W(6,1044420987,-1104528882,-1108961766,-1088486363)+W(7,-1116658227,1023955051,1035658672,-1107783352)+W(8,-1105038970,1005965131,-1116609216,1002638229)+W(9,1035867996,-1132447732,-1111658272,1045499601)+W(10,1028839698,-1134350406,1042442572,-1096457250)+W(11,-1126291119,-1135660575,-1131375963,-1122532695);WS(1064849644,-1092967401); +sum1=W(0,-1103081652,1034184171,1033930742,1041078624)+W(1,-1126422222,1038407355,-1098756264,1045204674)+W(2,1049230600,-1103625882,-1103118957,-1107755791)+W(3,1041473799,-1102710964,1035198826,-1101861336)+W(4,1058076017,-1091900963,-1091277968,1053270962)+W(5,1061713418,-1078564449,-1097334921,1059044453)+W(6,1047988615,-1091654943,-1099822850,1064682577)+W(7,1058355518,-1098047297,-1096942230,1055582710)+W(8,-1101902009,1046377811,-1124489961,-1115974645)+W(9,1031099397,1034335299,-1096742869,1038364767)+W(10,1010917525,-1098744549,1015202107,1025967234)+W(11,-1106099948,-1101582418,1047801952,1021900159);sum2=W(0,-1105865147,1026053125,1039267337,1034970587)+W(1,1018431373,1037956157,1040193826,1024111791)+W(2,1038385161,1031902437,-1106797747,-1107243650)+W(3,-1129893537,-1128932411,-1114137980,-1114574492)+W(4,1027743203,-1076908464,-1085205368,-1109640195)+W(5,-1088412806,-1079896887,-1072741915,1042644379)+W(6,1031274183,1052902509,1057561219,-1104275404)+W(7,1040558376,1054347378,-1103620900,-1115379021)+W(8,1068235631,1029167111,-1111782462,1065312771)+W(9,1069229068,1048206286,1035172075,1074530244)+W(10,1045193510,-1105822229,-1092973955,-1110308581)+W(11,-1099424233,-1106619819,-1102796809,-1167188013);WS(-1085552428,1044647857); +sum1=W(0,-1111247047,1046596325,-1120131932,-1130568573)+W(1,-1104704953,1049575094,1026932885,1001536536)+W(2,-1104108900,-1127841478,1042872064,1029690778)+W(3,-1107166286,-1110288351,-1114289465,1012447989)+W(4,-1095715202,1050957098,1052681344,-1097293585)+W(5,-1085535724,1060788917,1059711152,-1090361246)+W(6,-1113844876,-1106926654,1048249845,-1105723034)+W(7,1028149942,1043016176,1034645781,-1127895515)+W(8,-1125685565,-1123522377,1016796643,-1115182247)+W(9,-1122898434,-1112833505,1028362085,-1097304503)+W(10,1050188162,-1111804152,1008149481,-1115360055)+W(11,1041406167,-1119471349,1032897312,-1110595670);sum2=W(0,1012096208,-1169058693,-1122573304,1049638564)+W(1,1058022553,-1080721407,-1092917400,1055008508)+W(2,1065544846,-1080284825,-1081684685,1059601221)+W(3,1043980555,-1098850345,-1096574070,1035938200)+W(4,-1118822370,1032693677,-1120650912,-1097365817)+W(5,1056959548,1044260765,-1127709292,-1124083512)+W(6,1051359763,1042746095,-1099806388,1056508637)+W(7,1031681402,-1121369890,1033735876,1044088441)+W(8,1036528332,-1119534724,-1114566411,1039129637)+W(9,-1122124802,1042163670,1015256750,-1113518885)+W(10,-1101554026,1032382474,-1110975736,1019567420)+W(11,-1108142320,1022534793,-1110809702,1041548497);WS(1049904727,-1085461498); +sum1=W(0,1032673159,-1122472531,1047758995,-1114441151)+W(1,1041600521,-1116753522,1048177385,1027012354)+W(2,1033107055,-1109908945,-1105032264,1035856141)+W(3,-1139856090,-1111353615,-1104848436,1031163069)+W(4,-1101190388,1042608805,1054893264,-1092338425)+W(5,1059669870,-1088410395,1050188989,-1096531431)+W(6,1058897901,-1088007491,-1084283112,1063099682)+W(7,1055941567,-1096366496,-1096369309,1049115478)+W(8,-1108884127,-1119554504,1042581180,-1095327506)+W(9,-1123782065,-1120686401,1041262473,-1104987150)+W(10,1042892731,-1107384925,-1117364890,1042263123)+W(11,1047202227,-1100444021,-1138499405,1029697804);sum2=W(0,-1127864237,1066297935,1068410613,-1101934313)+W(1,1047304216,-1077079694,1052441146,-1112463889)+W(2,1041678537,-1095668928,-1082290320,-1097499627)+W(3,1039199998,-1096167330,-1097722710,-1128505773)+W(4,1047339448,-1107136628,1045964051,1053392914)+W(5,1044634164,1046050296,1035674775,-1111508378)+W(6,1053023843,-1135364198,-1113442140,-1086326188)+W(7,-1112581958,1028034745,1028981469,1050833435)+W(8,1023924243,1029832629,-1118726053,-1109754454)+W(9,-1111827987,1036477638,-1111696115,-1121555471)+W(10,1034831467,1024856185,-1119582249,1006763480)+W(11,1032814306,1017921306,-1112331027,-1128234727);WS(-1087326956,1033622098); +sum1=W(0,1035193378,-1161971013,1045896801,-1113899675)+W(1,-1119324954,-1095480777,1045303135,1030557818)+W(2,-1117399605,-1109576477,-1110770003,1042470612)+W(3,1035419591,-1122013269,-1100233714,1021883592)+W(4,-1108871427,1048600721,-1108955706,1041409216)+W(5,1041468886,1051943793,-1094955846,-1104804773)+W(6,1052050234,-1097508910,1025944442,-1098059200)+W(7,1017834329,-1106071902,1030612641,1041862393)+W(8,-1114333163,-1106692192,1041055226,-1104543128)+W(9,-1096626659,-1112593372,1039063182,1045266364)+W(10,1043056710,1041486173,-1107180444,1048775867)+W(11,1042839849,-1121041260,-1114362202,-1122051827);sum2=W(0,-1114415273,1032259795,-1111634453,1008283263)+W(1,1036167174,-1116061542,-1123951654,-1114655921)+W(2,1033204129,-1102899145,1039368345,-1111159985)+W(3,-1127458940,-1118949310,1024476440,-1122340118)+W(4,1046234660,1020399084,-1121896666,-1112224655)+W(5,1049934438,1050902690,-1139717487,1039099048)+W(6,-1113540553,1039510238,1039007446,1003410015)+W(7,-1122317014,1033150391,1032062517,-1117681522)+W(8,-1105304684,1027107696,-1106176579,1031996897)+W(9,-1102142181,1022104088,-1106922258,1017260660)+W(10,-1114854307,-1135188919,-1122048418,1003551903)+W(11,-1113963477,-1125862176,-1128403972,992233789);WS(1068173014,-1111006676); +sum1=W(0,-1115395480,-1112513259,-1103201566,1031049568)+W(1,-1113567107,1042819653,-1112438249,1019703498)+W(2,-1109811912,1039150546,1048780036,1015808760)+W(3,-1103105894,1040353932,1034094633,1027899359)+W(4,-1117860850,-1173290307,-1100468360,1048004603)+W(5,-1083606526,1064316383,1042677725,-1104427535)+W(6,-1090564527,1060600586,1063571221,-1083053360)+W(7,-1095220995,1054475004,1050639762,-1092330682)+W(8,-1123264224,-1127850837,1012485196,1046039773)+W(9,-1122621123,1036820754,1029876039,1030284012)+W(10,-1103353426,1024997805,1035184606,-1094902185)+W(11,1034806311,-1123061719,-1149057999,-1106486660);sum2=W(0,-1120466254,-1114547761,-1122580470,1014853092)+W(1,-1117512854,-1119656010,1030745116,1027909890)+W(2,-1110873488,-1120221385,1035574738,1026011110)+W(3,-1115497806,-1122615179,1020780404,1036041188)+W(4,1038991680,1047680543,1047459793,-1120994367)+W(5,1041066172,-1121088174,-1098401240,1034511499)+W(6,1024235728,1024310650,1045982327,-1109149586)+W(7,1020521688,1042402937,-1122000913,-1112980367)+W(8,1054395623,1011283964,-1132455031,1064875701)+W(9,-1085223893,1018552602,-1108441710,1045153300)+W(10,-1099510820,1026658994,-1106692167,-1084582209)+W(11,-1105747852,1004613671,1023023932,1029465320);WS(-1095915991,979918868); +sum1=W(0,-1137886897,1037523161,1032823819,-1115463727)+W(1,1011860489,1043477300,1029800132,1011021190)+W(2,1007409140,-1114264129,-1105888052,-1129491953)+W(3,-1122228982,1030459197,1021218335,-1124741815)+W(4,-1131549790,1035412665,-1119898332,1026707497)+W(5,-1100874368,-1112838682,-1136100063,-1108429845)+W(6,1049886943,-1097768883,-1098267600,1047336484)+W(7,1038061098,-1108915952,-1106237874,1042964547)+W(8,-1108324895,-1129452238,-1121143952,1026568544)+W(9,1047390560,-1147670274,-1120493188,-1138504034)+W(10,1037432366,-1134502280,1028096953,1036689246)+W(11,-1121991146,-1177453050,-1157333673,996441389);sum2=W(0,-1128394666,-1143339877,1020062213,-1121902268)+W(1,-1114856664,1034423857,-1102502778,1039974898)+W(2,-1115163450,1038088024,1030950002,1032116923)+W(3,-1128925353,1019282123,1036537682,-1112859101)+W(4,-1111450467,1052764693,-1096503308,1034601005)+W(5,-1093114037,1060522961,-1095299550,1034366199)+W(6,1036157347,-1104371255,1057088106,1027196884)+W(7,1032717961,-1110891365,1031719642,-1130356560)+W(8,-1099720262,-1130142915,-1108630019,1050858947)+W(9,-1087523263,1037139152,-1105816149,1055940597)+W(10,-1107617878,1043807995,1054601799,-1085850393)+W(11,1017512699,1025497552,-1122652165,-1119144319);WS(1066530838,1025703389); +sum1=W(0,1009297086,-1139418709,-1132051981,-1120765920)+W(1,1015487755,-1098776251,-1109474502,-1122351141)+W(2,-1127613121,-1123764613,-1109199593,1015844344)+W(3,-1124468594,-1145136640,-1121408403,-1133586812)+W(4,1032587897,-1118415861,1042371592,-1129191897)+W(5,1049522345,-1099055070,-1120712699,1057153612)+W(6,-1109817213,1050593755,1049700744,1041525985)+W(7,-1107128582,1038803505,1036084166,1010121533)+W(8,-1122811552,-1134432681,-1116932051,1007708012)+W(9,-1099127683,1026629028,-1127344014,-1105657359)+W(10,-1113004743,-1136900213,-1119906716,-1111888320)+W(11,1036904923,-1123829719,-1118848634,984437698);sum2=W(0,1039120940,-1107749198,1041261247,-1117430114)+W(1,1026507473,-1131506304,-1099018179,-1106133189)+W(2,-1142215401,-1123190888,-1123617030,1031550625)+W(3,-1139250704,-1137414048,-1112954810,1026312489)+W(4,-1097831330,1041137317,-1126022952,1033806419)+W(5,1045711847,-1092069746,1057416214,1064523288)+W(6,1052831473,-1088761837,1059767697,-1088977338)+W(7,-1122137188,-1110686692,1033531722,-1133526188)+W(8,-1127685702,-1116954634,-1125967712,-1155381873)+W(9,1026250214,-1120045450,1032736142,-1099691831)+W(10,-1118397760,1028302350,1021746164,-1098651966)+W(11,1029280576,-1115066264,990513889,-1130823120);WS(1066680246,1040921440); +sum1=W(0,1034101258,1011417444,-1110280861,-1119730500)+W(1,-1104735450,1038200908,1027753539,-1132236433)+W(2,-1111591250,-1121734057,1035268043,1035235184)+W(3,-1121802685,-1126371080,1032771355,1024518355)+W(4,1031601302,1054599907,1053565584,-1092083138)+W(5,-1078665075,1061430978,1058261942,-1090607216)+W(6,-1093429316,1056142824,1061610294,-1096046953)+W(7,-1102572591,1055282545,1053165350,-1094352558)+W(8,-1143895330,-1113777127,1029997623,-1110918026)+W(9,-1099071584,-1112447940,1039976245,-1111808624)+W(10,-1105323662,-1145165385,1023744576,-1106320677)+W(11,1035738553,1031263347,-1113453535,-1138833863);sum2=W(0,-1129082210,-1130739278,1028210443,1033717276)+W(1,1053521042,-1113906791,-1117565460,-1111396517)+W(2,1041638909,1044690885,-1106119849,-1096499765)+W(3,-1143837439,1015998178,1000486481,-1115028859)+W(4,-1085374293,1026401017,-1119519632,1046091050)+W(5,1062822204,1066908993,-1106338078,1033058760)+W(6,1003636411,1054286387,1034907371,-1089123399)+W(7,-1103883056,1041460877,-1096894542,1048601259)+W(8,-1110182528,1042909501,-1117678961,1050909876)+W(9,-1081393742,1044082334,-1099518378,-1149282827)+W(10,1035142168,1040282994,-1097984366,-1094008056)+W(11,1028271260,1021313035,-1109925208,1020535023);WS(-1111691100,-1070453585); +sum1=W(0,-1107702492,1006352113,1032181048,1040350706)+W(1,-1103582444,-1098104500,-1101176752,1045915011)+W(2,1030081641,-1105752467,-1111995209,1036820082)+W(3,1034445457,1025879721,-1111976126,-1112926972)+W(4,1056547603,-1111618639,-1090063653,1054597571)+W(5,1062411659,-1079908657,-1087007388,1059824936)+W(6,1042786985,-1094958736,-1098160558,1062112057)+W(7,1058122296,-1107753094,-1104521261,1050598527)+W(8,1011306277,1034245578,-1114266718,-1105977411)+W(9,-1113612402,-1111998342,-1130610528,1037450066)+W(10,-1108376090,1026051990,1021846218,1043358554)+W(11,-1098378691,1018599200,1032139296,1024420791);sum2=W(0,1045283790,-1117083441,1044690091,-1102183736)+W(1,1029589699,1005932683,-1109435037,-1099060082)+W(2,-1146696619,-1130369043,-1109954065,-1103326288)+W(3,-1106785078,1039027144,-1115538567,-1123727405)+W(4,1036724432,-1096666126,-1103679886,1025447267)+W(5,1066859805,1061824774,935783211,-1100626978)+W(6,1024539831,-1113161303,-1098480165,-1114206859)+W(7,1040901138,-1129688427,-1109149493,-1123732285)+W(8,1043810354,-1109094473,-1120655593,1034791609)+W(9,1034749891,1023292171,1029730663,-1097803022)+W(10,1050252440,1012313206,-1109570093,-1094988176)+W(11,-1105144948,1015686163,-1106431920,1029732207);WS(-1105638574,-1077878805); +sum1=W(0,1025565072,1041884710,1043313362,-1112101313)+W(1,1034991091,-1099609869,1045058176,-1118212870)+W(2,1033034081,-1097107341,-1100255017,1037618766)+W(3,-1143864013,-1128917761,-1104696333,1023523536)+W(4,-1093904634,1043314021,1034529536,-1104398291)+W(5,1055637093,1049084915,1058479092,-1086702118)+W(6,1053455331,-1087005060,-1082434966,1061981800)+W(7,1037339676,-1105402705,-1098585534,1048950646)+W(8,-1106696920,1028280843,1017824488,-1120033234)+W(9,-1126325576,-1136921361,1038132788,-1128822905)+W(10,1046293466,-1124008918,-1125947450,1050170340)+W(11,1032623999,-1114937252,-1126565485,1042248226);sum2=W(0,1042032808,-1103788280,-1125419559,1040832216)+W(1,1029252447,-1099123277,1043848052,1039550307)+W(2,-1111709033,-1102650535,1047689572,1040592387)+W(3,-1091595987,1033340873,-1105352144,1050208698)+W(4,1045241846,-1091833274,-1076839498,-1166596642)+W(5,1068949095,1070654393,1035730071,1051795538)+W(6,-1111700665,1050259859,-1096947569,-1094163017)+W(7,1027304955,1048679723,1051072204,-1117027793)+W(8,-1105795498,1037000995,1038631745,-1085872442)+W(9,1007431650,-1103746979,-1115278352,-1094587067)+W(10,1041510738,1025070825,1041143367,-1089767553)+W(11,1057584085,-1093749689,-1116523862,-1100476212);WS(-1095944791,1081861902); +sum1=W(0,-1116664839,-1122706061,1034635115,-1129669743)+W(1,-1121494877,-1124251544,1033259121,-1148272609)+W(2,1028329496,-1128061368,-1126517523,-1115602986)+W(3,1027525168,-1119991479,-1130313237,-1123378150)+W(4,1048908041,-1093164666,-1090131839,1057433596)+W(5,1058746094,-1083481847,-1087001587,1058166921)+W(6,1057488289,-1091485686,-1085306808,1055593874)+W(7,1061071735,-1105495231,-1102755929,1049860117)+W(8,1030509816,1023557506,1008560041,-1120322428)+W(9,1044900399,-1117995899,1013701241,1035303897)+W(10,1023593721,1023656437,-1116643091,1041073282)+W(11,-1102595129,1024551167,-1164007844,1034451003);sum2=W(0,-1115575058,-1099435099,999172620,1029670841)+W(1,-1101600217,1027943101,-1139359478,1042858197)+W(2,1035438169,-1098854617,1048715384,-1117748556)+W(3,1032334939,1041563473,1036336651,-1114535210)+W(4,1041110640,-1120449287,-1105031588,1042251423)+W(5,1075961547,-1109667225,1010020318,1058527193)+W(6,-1086643829,1037113027,1057314889,1073424302)+W(7,-1067239867,-1100548924,-1123725073,-1080060710)+W(8,1035596553,-1156632055,1026093121,1027957701)+W(9,1011086126,1010028142,-1126960339,1019832195)+W(10,975610078,-1115077778,1037810339,1033526397)+W(11,-1095465488,1036754195,-1133987070,1012557694);WS(-1085172076,1069147958); +sum1=W(0,-1141293989,-1106615031,1027233863,1025703205)+W(1,-1119005195,-1112858253,-1115436126,1041286826)+W(2,-1117134469,-1122683754,1042609938,1026450561)+W(3,1025414366,-1117169125,1044686038,-1120895076)+W(4,1042354526,-1106775167,1029190628,1026640114)+W(5,1054852793,-1089581852,-1106293072,1053740861)+W(6,1026745790,-1108063055,-1098775605,-1119314307)+W(7,1023400633,-1125318352,1015550627,-1108709290)+W(8,-1115892869,1028377583,-1139375968,-1111659152)+W(9,1027435128,-1121669673,-1156734143,1035182992)+W(10,1038436612,-1119291218,1034668065,-1137028117)+W(11,1031194923,-1118201212,1027259179,-1112739478);sum2=W(0,1004660066,-1115032564,1027039233,-1154464437)+W(1,1016373458,975139636,-1147080182,1011666487)+W(2,1027534293,-1117310194,1025013868,-1117096132)+W(3,1024315262,-1145025250,1025607183,-1118720211)+W(4,1041471507,1033488023,-1117609897,1008089899)+W(5,-1081313755,-1065846603,1082321679,1053281755)+W(6,1040077608,-1130639872,-1122974098,-1118862913)+W(7,993302909,-1114202318,-1143672974,-1134922624)+W(8,1033628240,-1112728150,1027401421,-1118717800)+W(9,1050032460,-1108305112,1012824907,1046901100)+W(10,-1137731251,-1137500513,1038621352,-1106934499)+W(11,1017914834,1025570630,-1129758225,-1177023016);WS(1065820150,-1112682631); +sum1=W(0,-1136938293,1045425461,-1140735040,-1105640672)+W(1,-1099447769,1052020966,1012508339,1007936778)+W(2,-1110772895,1038536521,-1110876672,1033964109)+W(3,948858222,1041035251,1034428376,-1107676126)+W(4,-1095619178,1046810501,1051064512,-1096706537)+W(5,-1083835034,1054321083,1057299292,-1101065539)+W(6,-1101414038,1042038046,1044289505,-1127256032)+W(7,-1104437005,-1126355329,1050440565,-1102412811)+W(8,1041816072,-1108472292,-1128129890,-1114855500)+W(9,1049485320,-1101761488,1036938130,1015987827)+W(10,1031650401,-1113134674,1035708141,-1106506396)+W(11,1044647659,-1119496853,1031811610,-1098866309);sum2=W(0,1033662400,1047714485,-1104060794,-1116689599)+W(1,-1113832562,1055059659,-1106889746,-1110264521)+W(2,1024644211,1027816870,-1089308922,1034493072)+W(3,1030330543,1043118546,1032487381,-1105470304)+W(4,-1101000300,-1113896185,1047625619,1023887631)+W(5,1047334183,-1105663288,1058674488,-1123902349)+W(6,-1145174230,1040502911,-1079751447,1060541265)+W(7,-1100795602,-1110882655,1059286709,-1099777158)+W(8,1049921725,-1114038586,1032108768,-1104647113)+W(9,1060005487,-1105023935,-1134500667,-1100964722)+W(10,1026206299,-1116742649,1046968990,-1088726381)+W(11,1033716355,-1127164330,1042150309,-1093081927);WS(1051219671,1032040132); +sum1=W(0,1029213629,-1111062337,-1110293770,1024246061)+W(1,1007533386,1035026513,1026027124,-1142580623)+W(2,1016678619,1011246152,1036422600,-1132388626)+W(3,1023830470,-1130424090,-1173422083,998523489)+W(4,-1104763504,1041701281,1035978230,-1098745559)+W(5,-1082429923,1065410260,1051781481,-1097349705)+W(6,-1095610025,1057796630,1060856625,-1083869189)+W(7,-1094623957,1055180598,1045145830,-1095350964)+W(8,-1106571859,1016965359,-1111943280,1050231066)+W(9,-1111350032,1035026168,1026054164,1040668770)+W(10,-1122887388,1019565189,987392292,-1113287631)+W(11,1007169387,1026555204,-1110518465,-1109374678);sum2=W(0,1024186334,-1121050215,-1131096266,-1123481859)+W(1,-1136581772,-1115413373,1023491721,-1181265672)+W(2,-1130526339,-1110187157,1036272276,1007273042)+W(3,1035801320,-1125507188,-1123342647,-1134191606)+W(4,1040345453,-1129271163,1040776673,-1107023625)+W(5,-1116173932,-1097567007,1044851152,-1110082893)+W(6,1028205855,-1106625929,1051516690,1041634800)+W(7,-1124495703,1007786534,1035231370,1036476425)+W(8,-1080765061,1066657253,1074128739,-1073406322)+W(9,-1085034176,1066670217,1068015119,-1077100552)+W(10,1019889879,1026394385,-1111857710,-1104398720)+W(11,-1105128420,1030299973,990445793,-1115096299);WS(-1124324720,1038677119); +sum1=W(0,1031967089,993181316,1038389179,1008341069)+W(1,1037528348,991007864,-1145165264,1023486232)+W(2,1029849459,1044031254,1024190949,-1122921519)+W(3,1035528454,1052524910,-1123515526,-1114006089)+W(4,1050863173,-1096246661,-1081451931,1056361124)+W(5,1063082151,-1088130503,-1086637900,1054230472)+W(6,1049660054,-1099337955,-1092787999,1050043692)+W(7,-1097977265,-1102904005,-1095996120,1043779649)+W(8,1035916906,-1134539381,-1130646284,1047683325)+W(9,1026128198,1003368116,986748732,1027831167)+W(10,1025351359,1036720064,-1115252008,1020947750)+W(11,-1114005272,1029521402,-1116396881,1037985981);sum2=W(0,-1133163156,-1098025067,-1089098687,1042203848)+W(1,1027923803,1058285406,1036383110,-1108707706)+W(2,1043843260,1048839159,1062333205,-1098359820)+W(3,1023965418,-1078465930,1058743586,1021888231)+W(4,1052777785,-1096461215,1068788369,1035967917)+W(5,1046924897,-1088764217,-1090569807,1043356562)+W(6,-1088408400,-1098396864,-1095261121,-1080913711)+W(7,1067915456,1064748817,-1093746709,-1097507024)+W(8,-1097973178,-1111191248,1025788011,-1095505730)+W(9,1056967609,1046203397,1023876171,-1127034898)+W(10,1046078649,-1113219498,-1107189985,1040836988)+W(11,-1099047850,1040158004,-1110869404,-1111389506);WS(-1080347734,-1094728165); +sum1=W(0,-1128052610,1031912915,1036436624,-1115633753)+W(1,1027254679,-1114408211,1038598142,996364134)+W(2,-1125749028,-1109729611,-1097652239,1027401421)+W(3,1017291157,-1118442418,-1111208674,-1143663749)+W(4,-1104119121,-1104173746,1018734050,-1113632799)+W(5,1064358521,1051156401,1042956529,-1095896866)+W(6,1051089073,-1093838037,-1087880029,1061684826)+W(7,1048577269,-1104163629,-1100689848,1044518984)+W(8,-1115038313,-1128796792,1022550473,-1104273977)+W(9,1006576423,-1123707765,1027191321,-1098511458)+W(10,1039011098,-1116369959,-1125317723,1037804713)+W(11,-1145301883,-1113863292,-1130384675,-1157246715);sum2=W(0,1008161562,1017087401,1000810292,-1137561210)+W(1,1032804591,1045940061,-1104015266,-1138249722)+W(2,-1149548391,1040845572,-1112933693,-1118405314)+W(3,-1121723310,-1125770861,-1131915309,-1140666666)+W(4,-1143663956,-1088410023,-1098257975,-1109671087)+W(5,1064636422,1065774501,-1110483119,-1100429296)+W(6,-1095622064,-1114533177,-1111449957,1041071232)+W(7,-1156294183,-1154727079,-1105461804,-1113635957)+W(8,1033424863,-1122425914,1010643898,-1113334223)+W(9,1041401738,1015219657,-1120544050,-1113376685)+W(10,1041680128,-1125778629,1028103016,-1107119710)+W(11,-1143304660,-1128411685,-1127495397,-1114424843);WS(1062796012,-1081433938); +sum1=W(0,1019305782,-1137205890,1047697940,-1140258862)+W(1,-1128637410,-1131514496,1040574503,1017521696)+W(2,-1140240046,-1114177400,-1115750349,1030042599)+W(3,1027083972,1025144619,-1119424318,1023786378)+W(4,1051824452,-1095124244,-1090901033,1041493798)+W(5,1061551411,-1084025976,-1090555023,1048941321)+W(6,1056942277,-1089170928,-1089279069,1058760695)+W(7,1056967544,-1087239225,-1099538126,1045023263)+W(8,1034552166,1031420374,1008978681,1032453887)+W(9,1036871279,1025475023,-1124609380,1032035723)+W(10,1032547975,1024887097,1016399695,1041251643)+W(11,1027338481,1012109898,1002611913,-1117686145);sum2=W(0,1009005547,-1112484311,1036867068,1004838046)+W(1,-1121204348,-1131856601,1034701810,1023830295)+W(2,-1145957446,-1129570235,1008859907,1026709605)+W(3,-1122812157,1023686531,-1120209470,1024434367)+W(4,-1113333873,1019969949,-1120560082,1023348885)+W(5,-1084820204,-1067115412,-1089366478,-1115269491)+W(6,1052224270,1066362408,-1071017431,-1095888786)+W(7,1047863595,1063525936,1084005284,1043852487)+W(8,-1115333043,-1123665230,1025411331,1032448279)+W(9,-1132671203,1034346460,1024216939,1028612787)+W(10,1045423025,-1133553563,-1116027280,-1112864526)+W(11,1043035962,-1105823812,1032270816,1025066805);WS(-1103681710,-1114530079); +sum1=W(0,1029506744,-1104283663,-1130912909,1025861737)+W(1,1035998951,-1102933559,-1132593150,1032236919)+W(2,1007410083,992747222,1040041573,-1111043394)+W(3,-1123346113,-1119406504,1034020670,-1126534927)+W(4,-1117715067,1046218351,1040844938,-1110124091)+W(5,-1097542514,1059317136,-1098764800,1039686571)+W(6,-1112367617,1054923388,1057765873,-1088677703)+W(7,1035634224,1040434219,1029185429,-1105036246)+W(8,-1121870249,1032871129,1021540535,-1105267215)+W(9,-1096018272,1036773558,-1120294159,1038793978)+W(10,-1101946581,1031187710,-1111111618,-1105386706)+W(11,-1143951794,1023823648,-1138057273,-1122605111);sum2=W(0,-1114357788,1025611699,1041378526,-1133865733)+W(1,-1094909862,-1134317911,1057780422,-1113774565)+W(2,1048238594,-1105040821,-1084534604,1041934157)+W(3,1042608690,-1128928913,-1096429323,1041091101)+W(4,1041852494,-1102827642,1040042063,-1102114760)+W(5,1058263821,-1094128428,1041105879,-1090351620)+W(6,-1114163954,1038597269,-1121888905,1059786982)+W(7,-1102786592,1035391793,-1139774900,1034035361)+W(8,1023561916,-1109687464,-1111718847,1036263014)+W(9,1049906607,-1106696300,1041802453,-1107817782)+W(10,1034361268,1032032810,1023851848,-1106476521)+W(11,1014428216,1031652841,-1111010993,1016844568);WS(1059372396,-1131086843); +sum1=W(0,-1133338231,-1110641250,1038224730,-1116770958)+W(1,-1142676381,1026922691,1048611339,-1109423369)+W(2,1016864285,1033593306,1012241985,-1119417706)+W(3,1026073927,1029871326,-1108924145,-1134266292)+W(4,1044958408,-1100693257,1033085351,-1145642197)+W(5,1059821143,-1085100606,1024247225,1054215533)+W(6,-1109435540,-1105005730,-1082741615,1063416476)+W(7,1046037553,-1091104802,-1096553463,1051611888)+W(8,1030339791,1026076824,-1129272066,-1114157744)+W(9,1039898225,-1126911267,-1113286331,-1106016522)+W(10,-1157274234,-1131274519,-1119319754,1046979692)+W(11,1022970360,-1118999381,1018258200,1033932042);sum2=W(0,-1126294727,-1105983103,1032542252,-1117639690)+W(1,996342293,-1101410582,-1105990346,-1135696947)+W(2,-1120264553,1029472991,1031145839,1025603183)+W(3,1029227505,1016716795,-1125334020,1034416033)+W(4,1053585046,-1090074420,-1106428174,1049036492)+W(5,-1084067012,-1121077701,1074893281,1063294224)+W(6,-1090564487,1059480413,-1079475296,1030876063)+W(7,-1103677712,-1097572114,-1099339963,1047874805)+W(8,-1101677356,1042350020,-1124515281,-1100598545)+W(9,1052666358,-1118105649,-1128187082,-1088449090)+W(10,-1099961793,1012743453,1033189178,1049420880)+W(11,-1106211131,1026065323,1016211057,1047783255);WS(998487488,1024735998); +sum1=W(0,1033987197,1049342972,-1096711418,1034787125)+W(1,-1138173503,1051641300,-1099717199,-1118966639)+W(2,-1112157509,1032130968,1049184050,1022076300)+W(3,-1125240838,1039987293,1048086279,1034213589)+W(4,-1089249828,1055719968,1058035879,-1093645783)+W(5,-1083720757,1061848612,1060189357,-1085775960)+W(6,-1087092580,1007190411,1062875388,-1086133195)+W(7,-1087792286,1039984791,1051240059,-1098046771)+W(8,1033680357,1037116250,1020339515,-1113381667)+W(9,-1102783527,1046511483,-1109989161,-1108537011)+W(10,-1110331987,1011591327,1032957443,-1129404117)+W(11,1051616838,-1135236550,1039628088,1030325168);sum2=W(0,1041063142,1048804575,1048277958,1001577162)+W(1,1039747614,1042988518,1037383696,-1112011211)+W(2,-1105672858,-1099442373,-1097597287,-1137882877)+W(3,-1108158369,-1155656404,-1108394523,1031849538)+W(4,1061039504,-1095199392,-1079852425,-1094388043)+W(5,-1084834029,-1103423898,-1077655189,1055288082)+W(6,1044806256,1065240337,1064308251,-1087507005)+W(7,1059993792,1061107030,1071708239,-1093629181)+W(8,1054780006,1035580564,1040994203,1055450674)+W(9,1071463850,-1100510960,-1111912036,1058201467)+W(10,-1080251704,-1090250140,-1097442490,1058560116)+W(11,-1073879137,-1106111844,1028605291,-1090257183);WS(-1077135094,1050907162); +sum1=W(0,-1127648729,1033699545,-1117094275,-1132921461)+W(1,-1118007170,1045491604,1030394994,-1124984131)+W(2,-1126452986,1040542752,1039295895,-1117294457)+W(3,-1119126518,1035722382,1018438944,-1124706520)+W(4,-1094355462,1055483630,1043699095,-1098008869)+W(5,-1081313730,1065160347,1053279460,-1089194394)+W(6,-1094044967,1058021117,1056280352,-1088142214)+W(7,-1094059515,1050783700,1041063570,-1098093746)+W(8,1042990903,1034045812,-1122422352,-1112620946)+W(9,-1121246728,1042128328,1011377167,1047326318)+W(10,-1106681402,1039870541,-1103632934,-1110840279)+W(11,1018820533,1037083890,-1109127577,-1128181366);sum2=W(0,1029225785,1032075003,-1110495495,1003021837)+W(1,1023947681,1043723635,-1122423961,-1123823650)+W(2,1024608678,1017994477,-1138212418,-1119691195)+W(3,1034042378,1002413729,-1115371525,-1125446899)+W(4,993748010,1041772340,-1116948709,1016902499)+W(5,-1096435650,1074788880,1083263801,1028513681)+W(6,-1119557273,1017310535,1038793960,-1120166015)+W(7,-1115060009,-1118011761,1032034162,1032720188)+W(8,-1097222635,1042534143,-1113320609,1029108513)+W(9,-1074844879,-1104645285,1039031010,-1063916786)+W(10,1021770517,-1131419477,-1124877446,-1115182489)+W(11,1027576529,999290841,-1119401015,1014563122);WS(1048452526,1015184705); +sum1=W(0,1032256237,1049910352,-1110581160,-1138645804)+W(1,1026512560,-1098570768,-1103860667,-1114005032)+W(2,-1131077462,1040825100,-1119844941,-1140244890)+W(3,-1122466948,-1119780203,1017183931,1024452554)+W(4,-1113826958,1036222192,1048623137,-1106270342)+W(5,-1087095027,1061337654,1057099626,-1097372109)+W(6,-1095439444,1049129464,1054485156,-1095003728)+W(7,-1106181921,1040163591,1044366494,-1128526324)+W(8,1042522323,1029873877,-1113210911,1006760678)+W(9,-1106501979,1024448974,-1111141177,-1101854594)+W(10,1027903818,-1111469876,-1125584845,-1115808507)+W(11,1034550428,-1117633442,1027351533,-1153767820);sum2=W(0,1002437005,-1114697961,1034706164,-1117856953)+W(1,1023823647,-1078943314,-1110151254,-1122373390)+W(2,-1119824143,1008147760,-1111296752,-1131092262)+W(3,-1118651901,1029244251,1015792571,-1129026789)+W(4,1016679180,1009230224,-1115089108,999139177)+W(5,1069645782,-1105149666,1007700984,1034965747)+W(6,1005900489,-1142960238,1033262730,1026082346)+W(7,-1121319377,1026230788,1015281188,-1134452913)+W(8,1019562884,-1131336757,1017499348,970725323)+W(9,1038179083,-1120925641,1031482891,-1131774725)+W(10,-1130072184,1001625665,1015408436,1014219446)+W(11,-1122304449,1019807852,-1137039581,1012295392);WS(1061396972,-1097419696); +sum1=W(0,-1116833412,1042368898,-1110826049,1040610541)+W(1,-1126977972,1036447253,-1113808270,1015657075)+W(2,-1125945514,1048078310,1043284110,1033993320)+W(3,-1120964750,1052576556,1028739112,1028019732)+W(4,1000165941,1058527541,-1108888122,-1087862644)+W(5,-1085843362,1053927177,1056284429,-1108964145)+W(6,-1086794197,1055390198,1062174380,-1088558114)+W(7,-1079810761,1051035743,1042115560,-1087573386)+W(8,-1102910221,-1135746300,-1117156776,1051684947)+W(9,-1107922836,1041042462,1026275932,1041698836)+W(10,-1112253878,1035139905,-1137078595,991752527)+W(11,1047360574,1038370422,-1118906322,1039363202);sum2=W(0,-1117475550,1024254038,-1103350409,-1104315228)+W(1,-1096755788,1042486592,-1116633366,1019617669)+W(2,-1097959989,-1097184876,1038440719,1043056626)+W(3,-1121707278,-1092525975,-1107570984,1038305467)+W(4,-1091235931,-1112967686,1062539510,-1094844926)+W(5,-1104902685,1052266072,1056743222,-1089312569)+W(6,-1101957876,1012499609,1037341407,1045881224)+W(7,1058872796,-1099676541,1048266302,1058820589)+W(8,1042482062,-1119186298,1014020953,-1096027281)+W(9,1051055108,-1093268483,1028745390,-1129394013)+W(10,-1101861122,-1102938164,1054988226,1044017054)+W(11,1041661910,-1135013257,1026503526,-1105903455);WS(-1084431788,-1073850193); +sum1=W(0,1023326765,-1119027356,-1130755883,-1121456839)+W(1,-1131954777,1032958718,1007276024,-1111055334)+W(2,-1115233108,1038479638,1051511197,-1127100870)+W(3,-1113154576,-1118671783,1033362061,1032290155)+W(4,-1113039213,1052115068,1035028387,-1131651239)+W(5,-1121014635,1031197854,-1087869490,1041028837)+W(6,-1101242168,1046762496,1064028192,-1080291009)+W(7,-1109590335,1048241682,1048797598,-1095204295)+W(8,1031790055,-1110649673,-1139076328,1035837265)+W(9,-1151139494,1037205893,-1126605404,1043959725)+W(10,1016490449,1029406204,1022476742,-1097929447)+W(11,1033898418,1016018525,-1117985767,974160200);sum2=W(0,1027199947,1026239811,1035912472,975878233)+W(1,1011577542,-1099491895,-1109490583,1032202892)+W(2,-1126785583,-1142596491,1027909011,989447596)+W(3,1027448187,1030066347,1032601180,-1112180928)+W(4,-1101163205,-1120465270,-1098777501,1033266404)+W(5,1052721602,1058060839,1026269275,-1092678923)+W(6,1042994318,-1109244590,1022663675,-1115079323)+W(7,999387083,-1113199846,-1139999774,-1117880304)+W(8,1047867282,-1114558090,1024165887,-1115369638)+W(9,1026065727,-1110013405,-1127793863,1048647954)+W(10,-1139333782,1028177183,-1115589183,-1107120056)+W(11,-1128307819,1010561254,-1119188249,-1113232790);WS(1060891500,1063998119); +sum1=W(0,1021371624,-1123888698,1034817251,1009319059)+W(1,1034805925,1031377177,1007070174,1020060242)+W(2,1029917861,1040845210,1035958587,-1119463744)+W(3,1028919037,1041595485,-1119265271,1022228167)+W(4,1050963407,-1089953728,-1082111981,1060685055)+W(5,1058492133,-1080402290,-1083685732,1059880676)+W(6,1045390927,-1092052092,-1087669949,1057972187)+W(7,1042995863,-1093474029,-1101265316,1050698442)+W(8,1042831681,-1158245846,1021753903,-1146641530)+W(9,1049293617,974645755,1024323659,1044491976)+W(10,1030870792,1029410098,1017781825,1044279073)+W(11,-1117179330,1033823734,1009963113,1040824939);sum2=W(0,1039685669,-1103588836,1031085111,1043252027)+W(1,1043798699,-1097680472,-1094345084,1021402919)+W(2,-1107286980,-1117022930,-1098140010,-1106121381)+W(3,-1105216890,-1165267820,-1111854401,-1116219530)+W(4,-1136546874,1047286193,1015926083,-1089976691)+W(5,1053086422,-1093227067,1049855126,-1106220008)+W(6,1053158416,1047431201,1030378489,1041831351)+W(7,1065796563,1047204695,-1088912308,1043898913)+W(8,1055918010,1041438201,-1090475122,1075090314)+W(9,-1086978538,1055157984,-1097421747,-1100279282)+W(10,-1090494906,1040447738,1047503463,-1081018505)+W(11,-1076607098,1060337257,1013873926,1049023531);WS(-1071907259,-1110912590); +sum1=W(0,-1128862543,1037187527,1047025832,-1125193009)+W(1,1030754750,1046461539,1045585380,-1134196340)+W(2,1035978988,1044478211,1034859053,-1115532794)+W(3,1030566929,-1115297724,1038023446,-1122396199)+W(4,-1091004805,1051495910,1060301769,-1082520498)+W(5,-1081098270,1059029683,1059488668,-1082717575)+W(6,-1094770022,1047385124,1058265227,-1085641231)+W(7,-1096364930,1030610907,1051401113,-1100806498)+W(8,999732421,1007930762,1027334603,1034040338)+W(9,1039737374,-1153534395,1012148988,1034460834)+W(10,1035505465,-1141674924,1008981841,1026869576)+W(11,1049444580,1004145403,-1131397284,-1108119003);sum2=W(0,1046265071,1041114835,1071341959,-1094095783)+W(1,1052972269,-1096593198,-1093757522,-1105766507)+W(2,1048411623,-1091154406,-1091593516,-1118583019)+W(3,1063609884,-1073590228,1057911473,-1102184915)+W(4,-1087794787,-1090342602,-1079612356,-1106266089)+W(5,1065807667,1072329002,-1097206613,1036032273)+W(6,-1098744738,1035089459,1052074546,-1120668367)+W(7,1041493985,1066861510,1053464489,-1101075731)+W(8,-1119797941,-1103321092,1053270877,-1096220802)+W(9,-1091841958,-1113258696,1044676561,-1100480279)+W(10,1049018868,-1099949977,1022355226,-1107977625)+W(11,-1098841365,-1096064815,1048742227,-1101117382);WS(-1073583387,-1097642521); +sum1=W(0,1025630043,1018743169,1040986278,-1113793830)+W(1,-1113970392,-1126196031,1043520539,999171711)+W(2,-1126372055,1023908016,-1117788829,1041107242)+W(3,-1141619744,997975216,999617264,1019259188)+W(4,1051202676,-1107655120,1026212810,-1123577624)+W(5,-1137921726,-1102760649,1058537807,-1085714085)+W(6,-1120709796,1038867522,-1084066799,1058609607)+W(7,1048163249,-1113662887,-1105494638,1049515695)+W(8,1015332695,1026666645,-1117606078,1031641306)+W(9,1042214156,-1098706922,999394704,-1102186706)+W(10,-1104026556,-1105230460,1028174279,1050734989)+W(11,-1118473257,-1117999154,-1131430066,1038371877);sum2=W(0,-1122047285,1035498840,-1114187457,1020465344)+W(1,1029560286,-1105572872,990134284,-1132946638)+W(2,1032274109,-1107008827,-1125836673,-1137208000)+W(3,-1139618609,-1133886920,-1143550666,996568996)+W(4,-1112200610,990338200,-1108558660,1042661620)+W(5,1053825241,1046181371,-1098817485,1050532943)+W(6,1041934457,-1099854916,1052951690,1035380426)+W(7,-1115627477,-1120597401,-1101729420,-1132156656)+W(8,1037081003,-1114108748,1024517966,1022323488)+W(9,-1112231866,1024966834,1033071181,-1116108394)+W(10,-1115059895,-1114933005,1018142458,-1098433232)+W(11,-1145950712,-1129654551,1025004711,-1106305341);WS(1066138518,-1093674260); +sum1=W(0,1016625343,-1107076945,-1096639483,1029114768)+W(1,-1135602902,-1112968866,-1097327813,1023256234)+W(2,-1126509217,-1145778087,1039946769,-1154917052)+W(3,-1120895465,1035798312,1040195377,-1119361423)+W(4,1046373881,-1098130813,-1095967018,1057895286)+W(5,1048700903,-1096019117,-1090692519,1060592282)+W(6,-1102212410,1050590801,1052511498,-1102042589)+W(7,-1096085673,1054517602,1037092318,-1110743776)+W(8,1027610352,1036809869,-1115838467,1030209323)+W(9,-1147523994,1034515722,-1116997111,1010824623)+W(10,-1106421308,1031910367,1025259308,-1107963320)+W(11,-1103975991,1032370884,1015369596,-1114290095);sum2=W(0,1026207298,-1129289080,-1098235374,1020680083)+W(1,1034412140,1034843888,1035819795,-1114338038)+W(2,-1132183796,1031435954,1030579314,-1119552802)+W(3,1026463590,-1110299389,-1118921036,1014438782)+W(4,1000882372,1041518935,1039185699,1040052819)+W(5,-1096717996,-1098039050,1060121453,-1104532064)+W(6,-1126927262,-1105751584,-1085068698,1025849568)+W(7,1043556407,1060018227,1039772175,1034356940)+W(8,-1108930987,1025606660,999965284,-1105651771)+W(9,1059664416,-1123799241,-1127194998,-1132043948)+W(10,-1108966794,-1130436386,1020099573,1064006582)+W(11,-1083675102,-1098649260,1040432622,-1090790505);WS(-1098394199,1021768394); +sum1=W(0,1030592418,-1106379994,1047476460,-1106976773)+W(1,1031813276,-1108680996,1041629170,-1109895628)+W(2,-1124672038,-1123109432,1028771909,-1114022359)+W(3,-1118216524,1039049769,1035760915,980431986)+W(4,1042879449,-1121922344,-1107202165,1035645360)+W(5,1053022447,-1090269731,-1091385002,1052123789)+W(6,1044862779,-1127679127,-1107044710,-1107385030)+W(7,1040198899,-1099192133,-1107740288,1023833154)+W(8,986778214,-1140215924,1008308247,-1121988294)+W(9,1042227034,-1127396653,-1120193402,1042582852)+W(10,-1115617842,-1139398721,973525940,1044112989)+W(11,1025832513,-1116507498,1014367554,1030134009);sum2=W(0,968544056,1027898732,1055345266,-1098169790)+W(1,1056997121,-1077105818,1053687424,-1162122654)+W(2,-1112228820,1037144043,1039110353,1029158812)+W(3,-1112296199,1042942743,1022799116,1026696161)+W(4,1021773530,1036378047,1039932359,-1106123518)+W(5,1068095045,-1098361429,1035540057,-1089212318)+W(6,-1124556656,1050038066,1000425352,-1090252350)+W(7,-1104975561,1040445489,-1118055459,-1130232224)+W(8,-1123343911,-1132858861,1012808524,-1111072353)+W(9,1044527270,-1103837325,1037852727,-1111121590)+W(10,-1114307158,-1134065606,1036594354,-1115281069)+W(11,1023167430,-1114916168,1032061348,-1116705210);WS(1064984812,1025677564); +sum1=W(0,1030924649,1033742216,-1096329284,1043884023)+W(1,1036152448,-1105624932,-1101734196,1038396303)+W(2,1042241831,-1108991823,1017123640,1017544939)+W(3,1047065797,-1096026219,1037154774,-1121467129)+W(4,-1103101243,1046959260,1057726586,-1084712758)+W(5,-1086845720,1061206275,1057188432,-1087209573)+W(6,-1087299343,1055419738,1060371326,-1084903475)+W(7,-1087523701,1055087388,1041931586,-1108220133)+W(8,1018532660,-1131015624,1012739123,1043356655)+W(9,-1114153679,1044816791,1002161670,1046520365)+W(10,1028245989,1043667629,1024962678,-1111584053)+W(11,1051664559,1040331724,-1114955616,994164350);sum2=W(0,-1105699647,1050222709,-1104158106,1043159502)+W(1,1032147900,1032288328,1025130152,1038273264)+W(2,-1106879197,-1110143950,-1103450106,1048938986)+W(3,1049056829,-1091104362,-1098742781,-1128156680)+W(4,-1090385012,-1106627676,1067096435,-1085409392)+W(5,1061149199,1075677902,1052171093,-1106188919)+W(6,1049612036,1073503496,1075039778,1050752016)+W(7,-1095713225,1082426924,1075355126,1057886527)+W(8,-1102151020,1050757442,-1098664617,-1090972778)+W(9,-1070862987,1030992941,1039140273,-1086083449)+W(10,-1072257998,1041175752,1040257314,-1070168511)+W(11,-1070643407,-1098188298,1030488248,-1070483864);WS(-1072457547,-1104871915); +sum1=W(0,1014551830,1036550950,-1138749297,1018087532)+W(1,1031881454,-1098112129,1001512248,-1143311830)+W(2,1020957612,-1104597767,-1104222042,1033102921)+W(3,1015585054,1042534317,-1125431314,-1158925470)+W(4,-1131367952,1050222745,983826087,-1129333765)+W(5,1014989673,1020808474,1055877542,-1083142279)+W(6,1057969217,-1096646942,-1086706094,1059974718)+W(7,1043242379,-1106542638,-1105443081,1048954301)+W(8,-1118152278,-1123482688,1007352484,1026100589)+W(9,1016760626,-1109491581,1034580622,-1106883828)+W(10,1040528910,-1114916930,-1122062610,1045231050)+W(11,-1120756612,-1122581117,-1147978606,1027306868);sum2=W(0,-1112539216,1032795060,1034530006,-1120473304)+W(1,-1099708049,1054832981,1046686841,-1132295147)+W(2,-1106531527,-1089566811,-1109933894,-1120301365)+W(3,-1165429700,-1105741108,1004612697,-1119309605)+W(4,1009244103,-1115907580,-1124099243,-1151412702)+W(5,1050403530,1033863239,1020085733,1037608248)+W(6,-1106362502,1030750625,-1107650300,1051005406)+W(7,1026755208,-1146151019,-1130967605,-1114169666)+W(8,-1114805763,1025202928,-1131120105,1026058392)+W(9,-1154011810,-1131382687,998829429,-1120554932)+W(10,-1122049677,-1143352615,1020773937,1036477609)+W(11,1026996282,1016610669,-1142800679,1028389062);WS(1057548396,-1118860492); +sum1=W(0,1015464700,1035643506,1024521628,1024314991)+W(1,1024068436,1044765945,1022826491,1033090170)+W(2,1007695803,1032416458,1040253828,1023937802)+W(3,-1142835770,1041535598,1031527745,1026830221)+W(4,1035362560,1033181378,-1109277847,1019907062)+W(5,-1077384746,-1093016121,1038789717,-1102305323)+W(6,-1110302756,1032628147,1047039772,-1095947197)+W(7,-1106773417,1038601945,1032291149,-1110046895)+W(8,1019936830,1015346289,-1127185475,1042186208)+W(9,1050623422,1035221881,1015056043,1047455161)+W(10,1012944520,1030260028,1019339797,1039235079)+W(11,1031404576,1039118899,-1124358344,1025595072);sum2=W(0,-1108748842,1035535229,-1119520873,1028948662)+W(1,-1114955281,1040844095,1034598190,1035054379)+W(2,1033670708,1028317650,1017632867,-1123628391)+W(3,1009774019,1033306906,-1152158269,-1113438145)+W(4,-1128105382,-1125068566,-1099276378,1040692087)+W(5,1058969109,1035247795,1046560183,-1105801492)+W(6,-1098716294,1041621971,1037021603,-1140061979)+W(7,-1097137530,1045186907,1042440154,-1100355456)+W(8,-1119570187,-1105777938,-1108959122,1042585669)+W(9,-1104363062,-1115696651,1040780747,-1104135640)+W(10,-1109815486,1039115990,-1122498951,-1119904127)+W(11,-1096381982,1043903068,-1102421790,1033417138);WS(-1111617372,-1089239798); +sum1=W(0,1043411666,-1105933140,-1109363280,-1120946745)+W(1,1034980559,-1097138762,-1122482989,-1105344783)+W(2,-1102176538,1038047807,1028445691,1035032490)+W(3,-1106084756,1036625252,-1104930291,1042691462)+W(4,-1100282243,1036658471,-1107333692,1036859267)+W(5,1040067055,1063625005,-1096910672,1033736099)+W(6,985367106,1050659758,1059841631,-1085774908)+W(7,-1105930796,1039222942,1056206133,-1095561837)+W(8,1046725686,-1102252305,1028471724,-1131126919)+W(9,-1100591479,-1115573502,1048148056,-1138971218)+W(10,-1099856795,1038410359,1018704810,-1101046354)+W(11,1033845467,1032806392,-1104725204,-1114722211);sum2=W(0,-1107914664,1034775565,-1102980188,1032901751)+W(1,987500422,-1115674720,-1107463876,1029069579)+W(2,1041931397,1028640927,-1122769714,-1107918292)+W(3,1026585516,-1112107626,-1133982193,-1106970712)+W(4,-1079544271,-1123759676,1019096213,-1097455677)+W(5,1066142773,1060530292,1039965269,-1107584024)+W(6,-1110827944,-1133849713,1039765158,1049477386)+W(7,1033119735,-1129682772,-1110406142,1040943686)+W(8,-1101940532,1048109574,-1112661460,1032175116)+W(9,1036298034,1048822254,-1102645998,1028816201)+W(10,1041944181,-1113520406,-1106440053,-1100641824)+W(11,1007346649,-1114426196,1032469881,-1113302080);WS(1055684951,-1075449937); +sum1=W(0,-1109225282,1041132226,1021145317,1025203701)+W(1,-1102495686,1048290762,1045336591,-1105594014)+W(2,-1131312361,1033816821,1046212734,-1115277256)+W(3,-1119401549,1032304674,1042625602,1003392922)+W(4,-1098148265,1048074946,1050955910,-1089325052)+W(5,-1085251962,1063401377,1059061644,-1089314051)+W(6,-1089905605,1057949871,1058388246,-1086898788)+W(7,-1086086859,1056447675,1049257380,-1090587428)+W(8,-1122722677,-1117792831,1023449767,1044060206)+W(9,-1135340574,1034487612,1024771419,-1138312640)+W(10,1012872015,1023079171,-1122363216,-1108206354)+W(11,1030899626,1029355212,-1119440554,1013091209);sum2=W(0,1070915797,-1078675502,-1075680192,1061277558)+W(1,1077005703,-1071891757,-1072669743,1077465728)+W(2,1035834095,-1094224921,-1079654744,1067272551)+W(3,-1101597023,-1106967769,-1124876273,-1140563054)+W(4,-1099840736,1036217426,1041412946,1064394375)+W(5,-1110541808,1035413026,1053075748,-1080083122)+W(6,1034313258,1050839735,-1098463344,1034295344)+W(7,1056268760,1033733408,1012713199,1044374977)+W(8,1041322393,-1128025338,1043650757,-1097187807)+W(9,-1105806062,1028555409,-1113957037,-1098777830)+W(10,-1099205009,-1113787473,1035679275,1042040059)+W(11,-1097742853,1036121231,1015942004,1043077130);WS(-1084991020,-1093321377); +sum1=W(0,1020905181,-1106261797,1041431403,-1124603198)+W(1,1033810210,-1100435893,1012534679,1034567442)+W(2,1034346016,1029015460,-1113177704,1026468027)+W(3,1040898454,1045957208,-1109083497,1012576759)+W(4,1050746614,-1093664550,-1087194206,1058092855)+W(5,1063338984,-1081371861,-1086211050,1060858482)+W(6,1050350895,-1090363161,-1091610836,1057782107)+W(7,1051078083,-1088769118,-1099126963,1047981412)+W(8,1020373118,1019387090,1027465426,1031898965)+W(9,1028138434,-1130539845,942151344,1037199077)+W(10,1026545296,1032894586,1019123574,1041359812)+W(11,-1114891854,1024075622,1018549369,1017607178);sum2=W(0,1050639335,-1100344181,-1096421724,1049096145)+W(1,1068716746,-1076762820,-1085369111,1060252300)+W(2,1071114171,-1075542147,-1073687271,1070836883)+W(3,1068968491,-1078719402,-1076870984,1069477538)+W(4,1044471716,1054069324,1019605429,-1104462777)+W(5,1050347336,1025609425,-1124780213,-1101216805)+W(6,1009296899,1043747806,-1096692411,1052234046)+W(7,-1114781860,1035243068,1026561745,1047758574)+W(8,-1112798845,-1113551308,1039363330,-1107039596)+W(9,-1099054195,1018249637,999612981,1041817400)+W(10,1030832137,-1109453871,1028531297,1029953841)+W(11,-1140937749,-1125031723,1027426027,-1135279155);WS(-1082530796,1061926473); +sum1=W(0,1030277984,-1127531019,-1107298323,-1111745736)+W(1,1039021467,-1118701125,-1109831840,-1123296661)+W(2,1012520514,-1114851579,-1101933527,-1130604760)+W(3,1017586258,-1131932512,1016124742,-1112767704)+W(4,1039611697,-1113172467,1033356744,1048819916)+W(5,-1099048749,-1088898044,1035918242,1058045501)+W(6,1034215157,1029808585,-1125679275,1052265202)+W(7,1010862879,1040689749,-1110952702,1037161440)+W(8,-1127895905,1009757802,-1119982339,1034157517)+W(9,-1099659681,1039341706,-1125062126,-1146238814)+W(10,1005542493,1016627083,-1111731430,1032846000)+W(11,-1114167271,-1130467695,-1137100912,1024904046);sum2=W(0,1025856461,-1115257125,1027790609,-1123675689)+W(1,1039506778,-1087170514,1041635489,-1129839981)+W(2,-1108253250,1040911707,1054414527,-1111122039)+W(3,1023517501,-1119501461,-1107819629,1042547871)+W(4,-1103597907,1036222096,-1138688370,-1107220732)+W(5,1074899174,1052206445,-1099581339,-1083432255)+W(6,-1119836905,1035305654,1033877978,-1087814585)+W(7,-1120345851,974999585,1040418607,-1108795814)+W(8,-1104487390,-1138958066,-1131813881,-1114685917)+W(9,-1103205528,1015820001,1015980625,-1113019592)+W(10,-1128600489,-1135082354,1023501105,-1114160943)+W(11,-1136105250,1023691837,1028405761,-1113593105);WS(1064809580,1026007555); +sum1=W(0,1012678303,-1117193870,-1139810490,-1117346201)+W(1,1024755966,-1127734554,1032058104,-1112794575)+W(2,-1109792204,-1106953519,1040786347,-1119597108)+W(3,-1109340249,-1123630216,-1120656619,1039580268)+W(4,1041509643,-1116046893,1046259126,1018638922)+W(5,-1106321711,1057441571,1058768682,-1089321581)+W(6,-1136225478,1052663642,-1088983804,1042250009)+W(7,1031754384,1030125211,1033398978,-1140389406)+W(8,-1107022182,1042684025,-1107316166,-1110265860)+W(9,-1097674775,-1115653262,-1107194416,1049529906)+W(10,-1105006210,-1104239151,-1115453338,1052962187)+W(11,-1114619763,-1113265368,1026892022,-1138416249);sum2=W(0,1022454821,-1112202702,-1126476274,1002173025)+W(1,1026488668,-1105276944,1040267060,-1114052781)+W(2,-1114947733,1024974628,1041996701,1024785122)+W(3,-1114686018,1014734543,-1106672600,1041552522)+W(4,1027055467,-1110248161,1035289805,993251281)+W(5,1037292044,-1103163514,1050537246,-1106967376)+W(6,-1103384730,1044720036,1036995069,1032247852)+W(7,1038837578,1011597497,-1136575544,1024347316)+W(8,-1106697397,1035602798,-1119256919,1026092616)+W(9,-1119693560,-1109176262,-1119463370,1051631259)+W(10,-1113586574,-1103668424,-1123291766,1026699348)+W(11,-1113050536,-1124038001,-1104716490,1012871948);WS(1065652022,1032044813); +sum1=W(0,-1138253430,1033154018,1024151812,1008146233)+W(1,1034343482,-1098142828,1037025524,-1111490857)+W(2,1037589943,1019326054,-1093711910,1027957290)+W(3,-1130048270,1033030167,-1137243780,1035138662)+W(4,-1111423088,-1114751985,1046726755,-1109382253)+W(5,1056996567,-1102691401,1060185520,-1089787453)+W(6,1020462798,-1096112169,-1084615165,1064926206)+W(7,1017317515,-1105819364,-1123985530,1028825917)+W(8,1030270670,1011776865,-1145994760,-1118504831)+W(9,1034117937,-1115595081,1031075253,-1108385813)+W(10,999245356,1030480467,-1141498448,1042611828)+W(11,-1131349303,-1161641125,1020535720,-1106962907);sum2=W(0,1032029355,-1106542042,1018874621,1006780909)+W(1,-1118040285,-1106692361,-1114343998,928839112)+W(2,-1105940221,1041450718,1043467647,-1112805367)+W(3,1031169874,-1106475204,1036583459,1025941308)+W(4,-1123089851,1042324218,-1125742470,-1118402441)+W(5,1057618964,1059562898,-1150379126,-1111882995)+W(6,1035656455,-1096899429,-1124030112,-1114692462)+W(7,-1181112366,-1108009053,-1115452253,-1122657152)+W(8,1032351097,-1127943559,1002124531,1022906649)+W(9,-1096401122,1036092239,-1112138839,1030201786)+W(10,-1105376866,1038704957,-1119061832,-1101041619)+W(11,-1117532473,1040262599,-1115257437,1025207396);WS(1060219372,-1086892801); +sum1=W(0,1041685441,-1139059104,1039153858,-1103145773)+W(1,-1105288038,1051743245,-1139626983,-1114046300)+W(2,-1105447101,-1096900831,1005204005,1036049319)+W(3,1037687846,-1097346218,1006778518,-1153064218)+W(4,-1111094658,-1114399172,-1098525574,1051640744)+W(5,1048845947,-1084251893,-1105262039,1060139625)+W(6,1058595229,-1097183901,-1132035760,1056234019)+W(7,1052830405,-1105878061,-1095492788,1030114274)+W(8,1034492410,-1114173214,1018968139,-1104573181)+W(9,1048366229,-1119683574,-1114750605,-1112320535)+W(10,-1102598303,-1132035040,-1113866359,1045757805)+W(11,-1114955456,-1107291810,1021887633,1044243314);sum2=W(0,-1115656995,1004099725,1025241726,-1116149857)+W(1,-1101937257,1029996270,1025926274,1030898684)+W(2,-1108962642,-1098527410,1015423640,-1172884346)+W(3,1035380843,-1099100919,-1102965987,-1122887710)+W(4,-1094029030,1042198638,1043244905,-1099180395)+W(5,-1093188603,1051892024,1050305603,1029208805)+W(6,1057927618,-1111697287,1010118001,1043486640)+W(7,1054675670,-1115267941,-1106879588,1033678913)+W(8,1030698655,-1113978987,1036684654,-1108018378)+W(9,1032179392,-1143836228,1030311314,-1105752531)+W(10,-1110311603,1032971351,-1107174775,1042453668)+W(11,-1124505249,-1114563702,-1114814873,1043859461);WS(1054285911,1050558006); +sum1=W(0,-1131523010,1041880394,1038924416,-1123510162)+W(1,1019709806,1022473868,1042834130,-1131464621)+W(2,1019519396,-1099456110,-1100861061,1029482925)+W(3,990268585,1023983666,-1103795177,1008876867)+W(4,-1093800836,1050884477,1049975562,-1103298920)+W(5,1057683379,-1101108530,1056805171,-1095165898)+W(6,1059660975,-1084827161,-1084744157,1065493943)+W(7,1049686449,-1102767109,-1096422344,1052993120)+W(8,-1103773453,1013663344,-1132690963,-1107117058)+W(9,-1121085405,-1112183179,1008580322,-1101616339)+W(10,1037612741,-1118057053,-1107880231,1044641696)+W(11,-1112995616,-1125681410,-1120002940,1041661496);sum2=W(0,-1135750526,-1103885919,-1115660402,-1122499415)+W(1,1004729468,-1109043837,-1107570715,1025808744)+W(2,1025309219,-1106866200,-1101018403,1038371609)+W(3,-1107252608,1049544712,-1100735475,1037233345)+W(4,-1163427536,-1111228057,1052675919,1019721643)+W(5,1068391994,1068640266,1050715774,1050733408)+W(6,1029079067,-1082318320,-1109791041,-1088555463)+W(7,-1147071004,-1092391889,1048468038,1034253450)+W(8,-1097257542,1043515230,-1107636671,-1134010714)+W(9,-1098019427,1035061875,-1113330231,-1097200131)+W(10,-1103711089,-1134559274,1015805682,-1104872484)+W(11,1032346912,-1139706642,1043601518,-1096395820);WS(-1090663639,-1077388844); +sum1=W(0,-1160081154,1029100670,-1118693311,1018174482)+W(1,-1132569784,-1106887239,-1120731528,-1125628059)+W(2,-1117849353,-1097169074,-1106415899,-1117916196)+W(3,-1122253105,-1168966176,-1146324700,1021610031)+W(4,-1098783931,1046071575,1049109025,-1093711755)+W(5,-1095941442,1068562223,1052420297,-1088582516)+W(6,-1094690684,1058209900,1064382514,-1087125152)+W(7,-1093052224,1056110513,1048904111,-1097735927)+W(8,1021012498,-1115518041,1010315758,1040639418)+W(9,986381179,1034527238,-1181480889,-1106387497)+W(10,-1116837948,1015836076,974332196,-1096200966)+W(11,-1121509238,1025570188,-1123641014,1025702951);sum2=W(0,-1113720588,1042206203,-1094381136,1034436941)+W(1,-1106229774,-1082651758,-1096498964,1024698569)+W(2,1046234567,-1070759890,-1065300211,1036635696)+W(3,1034351318,-1089089289,-1090746117,1052080385)+W(4,998633097,-1112936962,1038416019,1032181918)+W(5,1076874404,1035551973,1044225483,1057336919)+W(6,1049370102,1045207615,1041430251,1081990850)+W(7,1035723536,-1119691531,1038285588,-1114040834)+W(8,1041189037,-1108577062,1040127243,-1157362266)+W(9,1029476436,1033287923,-1122557473,-1114037642)+W(10,1036601034,1015731519,1024588020,1035032611)+W(11,-1130950394,1031958369,-1155116306,-1115422836);WS(-1080363926,-1071486509); +sum1=W(0,-1106562756,-1102851061,-1117755862,1035667824)+W(1,-1099668353,-1096598034,1026770536,1048836261)+W(2,1034350288,-1117155588,-1111989629,1041756943)+W(3,1036008540,-1110305168,-1106686285,-1111757455)+W(4,1044522508,-1098855847,-1089812638,1058850627)+W(5,1062774732,-1081351512,-1094273901,1060900423)+W(6,1058954340,-1097309107,-1091724133,1060314417)+W(7,1058323473,-1097705308,-1089979637,1047827972)+W(8,-1124105919,-1122920906,1033333673,-1119781738)+W(9,1019768789,-1100720585,1034167779,-1136163052)+W(10,1034476769,1037864032,1023569595,1036217472)+W(11,-1112569431,997120104,-1108224543,1034808863);sum2=W(0,1039521143,1040027805,1026473921,-1130221439)+W(1,1040812416,1044422007,-1103850305,-1106623296)+W(2,1011405671,-1112409330,1033782288,-1108121630)+W(3,-1120568012,1007920671,1042204829,1024610419)+W(4,1049962270,1037922688,1059210683,-1098631230)+W(5,1053913409,1075309200,1032319554,-1102633929)+W(6,-1118313372,-1114991064,1051007822,1041179127)+W(7,-1105557487,1041664007,1064519547,1033589003)+W(8,-1128609979,1043008084,-1088875775,991949852)+W(9,-1093367457,-1078110278,-1081254616,1032322677)+W(10,1042490244,-1085620101,-1087823621,-1128820939)+W(11,-1108726636,-1097283302,1038944538,-1108707286);WS(-1085146860,-1078432897); +sum1=W(0,1037132754,-1105005939,-1149696569,1000247468)+W(1,1043827999,-1094624073,1047641075,-1107087079)+W(2,1034542459,-1098392071,1038438012,-1105171356)+W(3,1019250012,-1111893867,1037791108,-1139389265)+W(4,1049101493,-1092242085,-1105608437,1046594056)+W(5,1056540903,-1091288646,1034057408,1036712721)+W(6,1052522438,-1099696227,-1092984875,1056427897)+W(7,1053002294,-1096292923,-1123704450,1039493090)+W(8,1035020227,-1114749360,-1128935441,1029982264)+W(9,-1097712673,-1098691603,1041253327,1000135432)+W(10,-1113847620,-1124493285,1031740017,1048401189)+W(11,-1109486882,-1117863020,1035876258,1041969240);sum2=W(0,-1123188651,-1141995321,1022634928,981650725)+W(1,1019312288,1040593594,-1159373413,-1132394336)+W(2,1019035800,-1144628769,-1125839148,1007032529)+W(3,994405618,996479090,-1130558040,-1139057577)+W(4,1043118137,1038372119,-1134931805,-1122722467)+W(5,-1085264893,-1062981933,-1088039805,-1111962066)+W(6,1030456162,1033594923,-1088420516,1035586791)+W(7,-1121727683,-1141102409,-1132235322,1025167346)+W(8,-1108690895,-1113558499,1035155349,-1114801830)+W(9,1086226578,-1122982849,-1123558064,1059960197)+W(10,-1121903247,-1112866008,1041973847,1052041256)+W(11,1010205301,1015327588,999416881,-1127116104);WS(1065314092,1028007882); +sum1=W(0,1009229913,1044274103,-1118910333,1031315399)+W(1,1030512684,1028502523,1040482617,-1129846167)+W(2,1024491495,-1114626726,-1098008831,1027211107)+W(3,1020076159,1035646611,1030034106,-1133667543)+W(4,-1091088835,1049048403,1027958726,-1110071882)+W(5,1057125791,1041882615,1058342964,-1081937298)+W(6,1056913060,-1094994912,-1081007746,1063505604)+W(7,1046315392,-1120947018,-1103714125,1045615294)+W(8,-1098774521,1015648546,1030345978,-1132049297)+W(9,-1128387300,-1123750794,1033820695,-1097400260)+W(10,1046624506,-1108219417,-1119357859,1042307230)+W(11,-1116178789,-1113806211,1021380405,1018202602);sum2=W(0,1042860341,-1095282678,1051114204,-1105494348)+W(1,1032509803,-1092355888,-1099570184,1034523914)+W(2,-1136462181,-1101634066,-1093487707,1037500440)+W(3,1030953968,-1144657738,1038218158,-1115571726)+W(4,-1095274416,-1115620988,-1106413411,-1106549278)+W(5,1068351366,1061966336,-1100406176,-1097084890)+W(6,-1093371043,-1095768559,1064976080,1045336627)+W(7,-1098135458,-1103066203,1051011462,1025607496)+W(8,1032482885,-1123651604,-1101805730,1026636954)+W(9,-1111829172,1041181693,1033985372,-1103782738)+W(10,1011878641,1041978329,-1105149847,-1099957245)+W(11,1046841453,1034424520,-1106959075,-1122142689);WS(-1100053422,1042143034); +sum1=W(0,1027006179,-1101648146,1038907933,-1121193300)+W(1,-1124403186,-1096312949,1051061595,-1116784408)+W(2,1036096698,-1104405590,1021329739,1032959000)+W(3,-1140087089,1026338531,1032316755,-1106874909)+W(4,1052804861,-1116788520,-1104157285,1037214192)+W(5,1063691363,-1094770533,-1115727182,-1092953078)+W(6,1046101531,1032460934,-1085255924,1057610578)+W(7,1044117027,-1123976854,-1101777344,1033832353)+W(8,-1105088109,1036085839,927491180,1003265009)+W(9,-1110178331,-1132796507,-1112320669,1044603252)+W(10,-1099699080,1029210945,-1129217311,1042273837)+W(11,-1110400285,1023324661,-1111566277,1042741769);sum2=W(0,-1141563308,-1115378106,-1127364827,-1141740532)+W(1,1037326381,-1089066292,-1097895309,-1146742484)+W(2,-1112991637,1036278807,1074712949,-1100634945)+W(3,1028661660,1032269699,1023404119,998071241)+W(4,1014774982,1033910688,1019476887,1016858659)+W(5,-1086943216,-1087533486,-1098904537,1061549017)+W(6,1016249563,-1105464222,1051894188,-1081904953)+W(7,-1118089334,1002948788,1039001405,-1104500239)+W(8,-1098709711,1038463125,-1114104878,1027610232)+W(9,1044386108,-1128378528,1009723338,1048121474)+W(10,1034738839,1023041183,-1114075451,1035948687)+W(11,1032376859,-1116656881,1028418264,-1111082062);WS(1064553004,-1122811923); +sum1=W(0,1032276908,-1105326008,1031404000,-1129171987)+W(1,1041762428,-1095271692,1049333812,-1113233767)+W(2,1027123610,-1101813124,1021654775,-1110071667)+W(3,1026480898,-1114787413,1034262350,-1123823416)+W(4,1049463355,-1094389820,-1102182210,1045766677)+W(5,1059787495,-1088583546,974120215,1036005443)+W(6,1052117804,-1097358280,-1092394330,1057980603)+W(7,1051913520,-1097569834,-1111517243,1041561742)+W(8,1026361994,-1121595412,-1144455651,1024429036)+W(9,-1095666629,-1100003363,1034062296,1035186995)+W(10,-1132328890,-1125809241,1024774373,1048809333)+W(11,-1107060706,-1116630377,1035275874,1043990330);sum2=W(0,-1153474964,1014938475,-1118374135,1027128731)+W(1,-1114194268,1049333862,-1106631533,1032141903)+W(2,-1128303982,1026850075,-1117272233,1010972171)+W(3,-1125252319,1023253865,-1130317298,1020076945)+W(4,-1107487108,-1123472496,-1123174378,1034513610)+W(5,-1091768288,1082046784,1054134699,1042187602)+W(6,-1112584656,1015595275,1048672371,1029258819)+W(7,1030375545,-1112246350,-1143083862,1019094573)+W(8,1026726549,1026647445,-1114420605,1026835315)+W(9,-1066065893,1032174407,1008281595,-1092438474)+W(10,-1129520676,1020663133,-1107223380,-1108402828)+W(11,1033146096,-1120189048,1016020771,1012988295);WS(1066855734,-1119441794); +sum1=W(0,-1123770274,-1106380690,1039804281,-1127562022)+W(1,-1108591004,1052921753,1049486942,-1115364812)+W(2,1012450637,1049080999,1002857256,-1109630903)+W(3,-1112819014,1045715313,-1123146086,-1111453929)+W(4,-1096623933,1041520634,1057948125,-1090674092)+W(5,-1086271011,1066610309,1058254390,-1088928155)+W(6,-1098448030,1058670697,1047590014,-1088126629)+W(7,-1090620137,1057080301,1020669183,-1095526376)+W(8,-1102744925,-1104646487,1040603681,-1113289318)+W(9,-1125400685,1047144630,1030330554,-1126493725)+W(10,1027654745,1040353710,-1118729135,-1097419497)+W(11,-1122765265,1038000005,-1110153949,-1103558716);sum2=W(0,-1098400772,-1098127734,1045848843,1029773001)+W(1,-1106957817,-1113384065,1040542896,1049403575)+W(2,-1125940042,1051521525,-1098054809,1040180418)+W(3,1035657430,1035815778,-1098090743,-1121768997)+W(4,985414438,-1114969170,1042255280,-1100354950)+W(5,1065317808,1063282493,1044461531,-1094506611)+W(6,1038107076,1052337139,-1111953320,-1102424534)+W(7,-1104826760,1052586351,-1098581045,1030043463)+W(8,-1101857955,-1121665039,-1106457511,1031741567)+W(9,-1099888837,-1090380876,-1106685198,1033605854)+W(10,-1125555808,1010307405,-1097784009,-1148110913)+W(11,-1105779304,-1121200133,-1105861523,1034608926);WS(1024108216,1053619151); +sum1=W(0,1036125123,-1104025987,-1117217830,-1110237276)+W(1,-1116690717,-1107833238,1053313098,-1105593599)+W(2,-1118424632,-1108171422,-1112296045,-1138403916)+W(3,-1117554448,-1113883668,1025019530,-1118568038)+W(4,1035829669,1029841740,-1116974327,1029541828)+W(5,1058976450,1049118258,-1093167724,1040682969)+W(6,1053496066,-1123704112,-1102593951,-1104638900)+W(7,1047703644,-1108512765,-1107943218,997886569)+W(8,-1125285423,-1115997186,997960357,1028000106)+W(9,-1094097902,1017239158,1020700860,1031701731)+W(10,-1100830255,1029941429,-1122615091,1055269059)+W(11,-1109656827,1020926429,-1111217181,1036129823);sum2=W(0,1038893624,-1096262037,-1109450011,-1119993039)+W(1,-1106354535,-1158461197,1055566572,-1105602869)+W(2,998835515,-1108137959,-1117939535,1032998629)+W(3,1026155597,-1114868339,1037096144,-1119543359)+W(4,1053717996,-1117988753,-1106582025,1040401784)+W(5,-1105416337,1072933379,-1092886002,1043380434)+W(6,1027244587,1045359897,-1083385663,-1087999087)+W(7,1031605777,1022787365,-1101171319,-1117843291)+W(8,1000703247,-1114388777,-1147493015,1033614749)+W(9,-1081255560,1043342555,1043473668,1034388956)+W(10,-1093783038,1045623937,-1094544057,1066426555)+W(11,-1100938466,1041102940,-1102892249,1051461624);WS(1062840044,1036517115); +sum1=W(0,-1102360361,-1119309706,1024218619,1027882709)+W(1,1026327034,-1105387538,1051294017,1037386637)+W(2,1042539613,1042423170,1045232110,-1102333276)+W(3,-1117867630,1042893141,-1107171938,-1113170154)+W(4,1031157223,1045291130,1057788973,-1088734638)+W(5,-1087289600,1064725383,1057574554,-1082181941)+W(6,-1088061047,1052153154,1056789371,-1089919726)+W(7,-1098512042,-1109192172,-1124580994,-1126992520)+W(8,-1107257205,1032367183,-1105941698,1032695796)+W(9,1024151288,-1102302982,1015412087,1039133128)+W(10,1045762482,-1110282969,1046746652,-1131902346)+W(11,1047580087,1032060742,-1116552186,-1130270357);sum2=W(0,1027402769,-1123408727,-1106124336,-1128425377)+W(1,1029460017,-1106291502,1035952055,-1122701285)+W(2,1015114546,-1137130753,1034330078,-1128656941)+W(3,1012677721,-1141059698,-1151273092,-1131912907)+W(4,1046361983,1040877836,-1116881359,-1106789449)+W(5,-1092942672,-1089281400,-1092736894,1033758045)+W(6,1043050798,1057367901,1067937621,1022825967)+W(7,-1114857397,-1116376233,-1100743964,1026393205)+W(8,1041799035,1037669599,-1154187588,-1108203604)+W(9,1058715791,1044648045,-1106801609,-1110885432)+W(10,-1090127289,-1099584998,-1104725901,1060265099)+W(11,-1085394823,1048436512,-1114467924,-1100147508);WS(-1090906199,1032077706); +sum1=W(0,-1121893314,1044790618,-1114971356,-1133027020)+W(1,1029445080,1040694938,-1123234602,1023318639)+W(2,1034316233,-1102125462,1035215242,1001128051)+W(3,1035906358,-1122145747,1043268297,-1103958128)+W(4,-1113284386,1033127972,-1109782777,1042474992)+W(5,-1105269270,1053731809,-1090554926,1041326284)+W(6,1049843289,-1098556565,1054234875,-1090300845)+W(7,1025511402,-1113919963,-1121911775,-1131346756)+W(8,-1105262125,1025873725,-1113511763,1040233361)+W(9,-1109230339,-1129412204,1011115622,1034823031)+W(10,1042417542,1018477632,1038160135,-1098565414)+W(11,-1122686272,998364239,1009497794,1026215817);sum2=W(0,1031993168,-1098558104,1030375188,1010874613)+W(1,1035954309,-1089737673,-1116546039,-1110586713)+W(2,-1122071401,1053685859,-1094899703,1034349301)+W(3,1029284667,-1124583674,-1108774266,-1140127141)+W(4,1051363302,-1094785947,1049471257,-1115235366)+W(5,1057138262,-1102658594,1031272431,1056517150)+W(6,-1093546729,1046184196,-1112892354,-1098486858)+W(7,-1122424073,1037904141,-1109252950,1034072089)+W(8,1040320218,-1131978284,1040126787,-1100352469)+W(9,1043402933,1027656919,-1124433226,-1111763071)+W(10,1039716432,-1116345243,-1092308561,1057577914)+W(11,958822899,-1140678181,1016915650,-1122970680);WS(1065971990,-1117349785); +sum1=W(0,-1112126136,1043874709,-1103591502,1041698888)+W(1,-1129568652,-1186542860,-1101299034,1034826515)+W(2,1024013025,-1159955630,1041410157,-1109843230)+W(3,-1137279078,-1120752640,1030113747,1009653886)+W(4,1044992637,1047240445,1049080916,-1130045402)+W(5,-1081978560,1061790267,1060703412,-1083999976)+W(6,-1090063736,1059365054,1058214583,-1085461041)+W(7,-1094129699,1052607100,1049303674,-1097631850)+W(8,-1121869537,-1134810027,1021475879,1009208654)+W(9,1028920692,1017436104,-1144695867,-1123043996)+W(10,1011681824,-1139574520,-1131209785,-1105683576)+W(11,1021258909,1022839599,1000157667,-1125202109);sum2=W(0,-1130364155,-1086725672,-1073720352,-1117014919)+W(1,-1114007102,1062079613,1069712606,-1106662873)+W(2,-1111037227,1020707077,-1102930718,1049348603)+W(3,1035610526,1034066723,-1114426132,1016435713)+W(4,-1091483554,-1109695767,1055286111,-1104300581)+W(5,1060429625,1052661025,-1114136197,1061376514)+W(6,-1091915359,1050631696,-1131131469,-1098979910)+W(7,-1091474650,-1112601210,-1112682766,1043583392)+W(8,1032269150,1033653176,-1108683793,-1105567211)+W(9,1018497014,1043366723,-1115525434,-1138351682)+W(10,-1117367449,-1139459182,-1107942477,1032920333)+W(11,1039950258,1026792554,-1122885189,-1122101547);WS(-1087438700,-1079683283); +sum1=W(0,-1126645293,-1110290014,-1111085935,1017584527)+W(1,-1126938201,1049726143,1033919541,1024510860)+W(2,-1163276521,-1114444262,1042036038,1025818403)+W(3,-1160528892,1035428627,1029908410,1040771729)+W(4,-1098381907,1053593812,1052950249,-1097724786)+W(5,-1081500983,1059087538,1063649365,-1083731542)+W(6,-1091706404,1057898452,1052548297,-1097215121)+W(7,-1097940968,1052829673,1045403069,-1097070911)+W(8,-1106211842,-1129163939,1032156829,-1112145065)+W(9,1023563130,-1120786763,-1118260846,1003633557)+W(10,-1104008328,1023503580,-1116189667,1019377518)+W(11,1032435766,1015355644,-1112674412,-1115067299);sum2=W(0,-1126036613,-1172793556,-1139353737,1027460995)+W(1,-1129309981,-1097919394,1021322407,1029366028)+W(2,988377354,1034370211,-1121912528,1020875062)+W(3,1030688918,-1107628664,-1137199485,-1109676838)+W(4,1041340702,1031879973,-1105887481,-1116062036)+W(5,1055277098,1009470709,-1101108606,1050063273)+W(6,1041415105,1034815104,1047064096,-1106551211)+W(7,-1134721053,1049845283,1034836242,-1128558209)+W(8,-1108443334,-1144584219,-1112909236,1043084390)+W(9,1041616760,-1099143154,-1116288208,1031078409)+W(10,1018545561,-1108610892,-1100042276,-1107655532)+W(11,-1104117922,-1123449114,-1111876576,1014245687);WS(1044595630,-1081949232); +sum1=W(0,-1114551286,1041771076,-1112185757,1039675598)+W(1,-1121252161,1036138408,-1113654239,1008233858)+W(2,-1122512668,1047911808,1043328887,1033942172)+W(3,-1118876117,1051948425,1028532559,1026205083)+W(4,-1144202605,1058269731,-1103352647,-1088266627)+W(5,-1087961804,1060473075,1055957016,-1106609306)+W(6,-1086197995,1055667963,1062639593,-1087619944)+W(7,-1079365891,1051816684,1042300482,-1087181441)+W(8,-1102436935,-1130126796,-1115854735,1051863744)+W(9,-1105147684,1041818984,1017898629,1041931682)+W(10,-1111264410,1032948860,-1130413359,1002098271)+W(11,1047648830,1035539513,-1115140949,1038991809);sum2=W(0,-1102559074,1042152886,-1087877559,1050752765)+W(1,-1106905815,-1106434273,-1095393630,1004621594)+W(2,-1114858390,1036662936,-1099723068,1038134564)+W(3,-1104442024,1054232067,-1101776331,999530010)+W(4,1035361880,1052128007,1063798323,-1089125923)+W(5,1058355794,-1120474523,1062325475,1058416370)+W(6,1040360076,-1096401119,1051681161,1056388755)+W(7,1034476952,-1089943559,-1106373450,-1106345832)+W(8,-1090156566,1029952535,-1098786735,1013490077)+W(9,-1101206197,1025568531,-1116454071,-1094287538)+W(10,-1104699402,997069429,1009033997,-1100293430)+W(11,-1113690608,1019208527,-1117506479,1048788631);WS(-1082323244,1081334754); +sum1=W(0,1026074030,-1101582293,-1114671162,1017652669)+W(1,-1139023631,-1128122150,-1102225205,1026308835)+W(2,-1157466090,1041367009,1047028384,-1124784756)+W(3,-1123067319,1018518877,1037350457,-1151223253)+W(4,1051997878,-1097273854,-1100397239,1045686283)+W(5,-1109179969,1033600923,-1091487775,1056290627)+W(6,-1090935975,1058457225,1058585755,-1088067773)+W(7,-1100605637,1040259816,1047302995,-1100014755)+W(8,1036251335,1010893986,-1120290385,1040334760)+W(9,1034603313,1015477828,-1114193219,1044247257)+W(10,-1104671877,1028455628,1027532986,-1098471302)+W(11,1007040336,-1167442276,1023216600,-1113240670);sum2=W(0,-1130912565,-1120070653,1034310052,1021161720)+W(1,-1117040706,-1097167140,1013066141,-1130074229)+W(2,1012731209,1035986228,-1126989997,1025588007)+W(3,1035821810,-1131150309,979500482,-1117264939)+W(4,1057895756,1060473449,-1111691904,1028060302)+W(5,-1077198236,-1071981659,1048707954,1050008660)+W(6,1061480822,1068029984,1055589119,1036249174)+W(7,-1114248001,-1104930835,1025639810,1036420478)+W(8,-1103940220,1030806761,-1120681063,-1117456161)+W(9,-1101172514,1009545637,-1131293055,1041027109)+W(10,1014223793,-1130249456,1035622377,1014637039)+W(11,-1128414380,1036288471,-1120874755,1027808652);WS(1053726551,1012659382); +sum1=W(0,-1115995457,1034541187,-1106638998,1032083097)+W(1,-1122031383,-1104507249,-1115280977,1025061558)+W(2,-1115071689,1029764374,-1114143426,1038196358)+W(3,-1113099877,-1102798468,1031225348,-1130575936)+W(4,-1098027112,1032148771,1047871676,-1098702088)+W(5,-1092902123,1065996118,1060231518,-1088652495)+W(6,-1097451113,1059563219,1058126194,-1085882325)+W(7,-1111014420,1054581342,1035470703,-1098237300)+W(8,1042659740,-1112198366,1022035144,998886703)+W(9,-1104094145,1024148149,1034668492,-1106688851)+W(10,-1121352461,1012420282,1010989620,-1102012910)+W(11,1000597622,1024134712,-1123786037,-1128714910);sum2=W(0,1044199209,-1105860909,1043258069,-1124504165)+W(1,1030597508,1054859448,-1149580326,-1105768285)+W(2,1040834484,1012576825,1065166573,-1097181409)+W(3,1038991009,-1077787203,-1091772000,-1106395293)+W(4,-1096303760,1027333462,-1120765402,-1119272862)+W(5,1057797022,1040041196,-1110802573,1030851358)+W(6,-1116955554,-1108797661,1017534493,1062380695)+W(7,-1098893101,-1110880129,1042765191,-1113754765)+W(8,-1112573193,1030769098,-1130103221,-1132584009)+W(9,1035436142,1033418125,-1111917317,1028533186)+W(10,1032147286,-1126074797,-1140263257,-1141430739)+W(11,-1120959090,-1136443945,1020067757,-1113752657);WS(-1091585367,-1096979755); +sum1=W(0,-1121704545,1041680018,-1104771642,-1125210148)+W(1,-1106223422,1048656073,1043362647,-1120024086)+W(2,-1106879908,-1103521718,1038801018,1027649645)+W(3,-1108105765,1031226898,-1106174833,1033259600)+W(4,-1093500244,1056326757,1039960904,-1104387016)+W(5,-1086139981,1060053831,1060708396,-1085845307)+W(6,-1124812374,1040958787,-1115241635,971788283)+W(7,-1119913673,1040930453,995843043,1011346436)+W(8,-1114046313,-1113011982,-1127914889,1043768271)+W(9,-1105827043,-1132509525,-1140249314,1022927067)+W(10,1038747748,1026834103,1027284814,-1120254754)+W(11,1040461604,1029803545,-1115807705,-1118768800);sum2=W(0,-1117465525,1030693613,1004004293,1007158722)+W(1,-1115575087,1032793866,1007550482,1020157105)+W(2,-1115951245,-1111503366,-1104867994,1029731993)+W(3,-1111020797,1042858280,-1101768383,1042169362)+W(4,1034532408,-1107544976,-1109929145,-1123076619)+W(5,1059720067,1067665797,-1110988335,-1101572236)+W(6,-1098900155,1058832170,1048427228,-1112732963)+W(7,-1101011815,1043396912,1029991341,-1132362761)+W(8,-1095482533,-1130708853,1045822378,-1104848259)+W(9,-1090269083,-1111111456,1036333634,-1085485924)+W(10,1037004208,-1115747431,-1105802165,-1135504754)+W(11,1041064016,-1126685993,-1132122165,-1108400441);WS(1050761175,1067771859); +sum1=W(0,1016344868,1051881455,-1103008542,1007679755)+W(1,1035369236,1057165115,-1113694143,-1111212068)+W(2,1027679203,-1119705863,1030154052,-1114152399)+W(3,1023429051,-1106945041,1037582923,1024513697)+W(4,-1099208581,1050438683,1040506400,-1117542415)+W(5,-1086714990,1067282489,1036449755,-1094852820)+W(6,-1098820035,1030273979,1049754336,-1087862176)+W(7,-1098056967,1020854026,1048082428,-1101037788)+W(8,-1138473483,1035136294,-1123566389,-1107587308)+W(9,1045850761,1047098321,-1110750261,-1102372368)+W(10,-1111030523,-1158006009,-1108921199,-1112794889)+W(11,1000524418,1029171882,1025557440,-1114576136);sum2=W(0,1043256577,-1092756549,1042939389,-1108377721)+W(1,1048495965,-1094992475,-1140040329,-1098471532)+W(2,1036658009,-1104050853,1017276157,-1103576309)+W(3,1030436882,-1104348148,1032200565,-1107738492)+W(4,-1136988785,1050996294,-1101760284,-1118508723)+W(5,1064902851,1062859454,-1098704018,-1099870420)+W(6,1045838269,-1157061765,-1089477514,1045749581)+W(7,1042649061,-1106567852,1046491511,-1110226959)+W(8,-1104406221,1040203060,-1111488356,1037932369)+W(9,-1098855018,1045571731,-1103619810,1015984185)+W(10,-1121418697,-1107737652,1025902034,1025174042)+W(11,1027657606,-1105647758,1044444185,-1106492592);WS(1057448172,1069108917); +sum1=W(0,-1128422002,-1123655391,-1116799928,1025232554)+W(1,-1106129908,-1119092894,-1111298160,1032607415)+W(2,1015221011,-1128617181,1044964179,-1141856298)+W(3,1026592994,1015937075,-1116425884,1010040610)+W(4,1037047614,-1104723136,1055215485,-1100727837)+W(5,1036246919,-1165535249,1056783106,-1102160962)+W(6,-1116622467,1044617768,1049606186,-1088316592)+W(7,-1102536008,1042573835,-1132120236,1027658969)+W(8,1040448906,1006660815,-1139419762,-1106508548)+W(9,1040745899,-1123853933,1016236833,-1103004521)+W(10,-1103456342,-1160895193,1016605067,-1132962087)+W(11,-1118303623,-1120915345,1018376479,1037741920);sum2=W(0,-1091479855,1061865996,1042697161,-1128749003)+W(1,1030767422,-1111988197,1067634595,-1124909389)+W(2,-1118686225,-1117920963,-1102439466,1028475536)+W(3,1003197653,1008285339,1022976741,-1133507353)+W(4,-1097573200,1026943422,1038607216,-1101835107)+W(5,-1090130192,-1089515454,-1110364223,-1083343720)+W(6,1027292464,-1101900071,-1090714326,1055493018)+W(7,1002427213,1033064671,1033968573,1030733458)+W(8,-1114744392,1026017402,1031384482,-1108371617)+W(9,1054823097,-1104718688,1036186174,1035072621)+W(10,1031097460,-1110105890,1024781950,1059932372)+W(11,-1101772178,1026666744,1040128898,-1132241300);WS(1065065708,-1125796377); +sum1=W(0,1029634469,1025116330,-1106943759,-1112144555)+W(1,1034269757,-1106751530,-1105630541,-1112840237)+W(2,-1133240789,1041797158,1023923175,-1122801969)+W(3,-1119164014,-1130226634,-1113089188,1016754760)+W(4,-1112668180,1027133034,1048634147,1017193539)+W(5,-1096457447,1060800975,1055950575,-1112954809)+W(6,-1096385878,1041695411,1051425450,-1094266089)+W(7,-1114305030,1036967948,1044103184,-1106190977)+W(8,1026809557,1004217594,-1132404112,-1127916040)+W(9,-1093799807,1038388364,-1111964638,-1112907992)+W(10,1039766276,1013909417,-1132895812,-1103940357)+W(11,1008751883,992673732,1032062573,-1130590086);sum2=W(0,-1109692118,1046643695,-1098806978,1043431555)+W(1,-1111890182,1048664613,-1097975189,1036275465)+W(2,1045724738,-1098934938,1049750262,-1102288351)+W(3,1007408138,-1111259526,1032869755,-1109691788)+W(4,1045861043,1054740901,-1105154239,1024222598)+W(5,1058544270,1068703829,-1083291725,-1101643320)+W(6,1049188212,1058055770,-1080748028,-1098883379)+W(7,1048185689,-1148294292,-1100454574,-1107029975)+W(8,1035789437,-1115663935,953732840,1031236307)+W(9,-1081353417,1035678115,1042301531,1007109846)+W(10,-1100833476,1047454611,-1120166561,1031821902)+W(11,-1114785167,1041528279,-1096856793,1051695731);WS(1061652844,1044003957); +sum1=W(0,1029075868,1045689305,1022617806,-1118715405)+W(1,1032954233,1027529537,-1094261862,-1115471369)+W(2,-1111723799,1045678528,-1099266912,998963525)+W(3,-1152687195,-1108410990,-1119248992,1036011862)+W(4,1030904095,-1103346936,-1101088515,1044034950)+W(5,1057470859,-1086691558,-1096538237,1059625182)+W(6,-1098407445,-1105378993,-1094363880,1062131070)+W(7,1037164834,1016045215,-1123294521,1047156095)+W(8,1045834099,-1110934572,-1131961856,1019688911)+W(9,1041319556,-1148682371,1036052922,-1102841294)+W(10,1028040508,-1109411965,1017830866,-1166277444)+W(11,-1106724595,-1123601124,1030886475,-1135804811);sum2=W(0,-1122327585,-1105390433,-1115107680,-1123087716)+W(1,-1115300382,1042081129,1034185422,1034911826)+W(2,1031538244,1043195731,1036682846,-1147444258)+W(3,1026384688,1024479380,-1112377777,-1122824244)+W(4,-1106584843,-1139899009,1045652727,1039737456)+W(5,-1094697399,-1103292099,1060423005,987338697)+W(6,-1100913302,-1102260713,-1079464406,1048628369)+W(7,1036768370,-1106123677,-1101961861,1041194171)+W(8,-1102201417,-1114704327,-1128513463,-1106100707)+W(9,-1094374885,1026056400,1009548801,-1111505321)+W(10,1062702469,-1107096307,-1112497116,1066067653)+W(11,1034543612,1037241080,-1125635761,1013733313);WS(1061983340,-1091535279); +sum1=W(0,1027504414,-1128653831,-1133965299,-1154828523)+W(1,-1120408436,-1129743238,-1114200663,-1131271078)+W(2,-1122568783,1035797658,-1117839504,-1131629652)+W(3,995201141,1019503421,-1115205249,-1165314478)+W(4,1027190112,-1097538828,-1118138894,1043906007)+W(5,1054216086,-1081158944,1027560685,1061948198)+W(6,1028696552,-1097887897,-1089869577,1062537731)+W(7,1044774081,-1105384996,-1111951485,1045640431)+W(8,1037523079,-1121887129,1025343169,-1109842717)+W(9,1048594270,-1108007945,1023298667,-1106988467)+W(10,1028427349,-1120763036,1034422373,-1121464863)+W(11,-1119142300,-1122356070,1008081777,-1121440284);sum2=W(0,1030495116,-1099055008,1036608468,995087446)+W(1,-1121939088,1057848194,-1115487063,1007114937)+W(2,1012755199,1015526929,-1106051731,-1109334595)+W(3,-1123906524,1024955281,-1118519790,1031009559)+W(4,-1104807397,-1107407110,1033021468,965233164)+W(5,1075270016,-1094462735,1038417178,-1070882050)+W(6,-1102771000,-1124510890,1039375650,1059573542)+W(7,-1159976683,1023974018,1016192349,1023903156)+W(8,1033869233,-1119280070,1033025046,-1114419070)+W(9,1051754977,-1120762821,1028798922,-1103406865)+W(10,1028405316,976567206,1018124826,-1104596666)+W(11,955743793,-1129936862,1015800189,-1111745826);WS(1062927532,1035014202); +sum1=W(0,1034505951,-1109500450,-1114736246,1039522007)+W(1,1002357921,1044028441,1011271190,1040732909)+W(2,-1122944943,1042353405,1050061010,1016035605)+W(3,-1140151454,1041525964,1036129025,999726956)+W(4,1048942600,-1092956200,-1104897563,1037103646)+W(5,-1097469770,-1093973369,-1091146839,1053278895)+W(6,-1094832633,1050975197,1051214559,-1085392865)+W(7,-1111797875,-1126246883,1043068615,-1103977959)+W(8,1044086236,1027254073,-1121785378,1044380938)+W(9,1042916452,981579331,-1145709740,1044239087)+W(10,-1111813313,1033165606,1035761861,-1112456671)+W(11,-1110444494,1033358643,1025151372,-1112116510);sum2=W(0,1036214533,-1091834288,-1084044031,1038528863)+W(1,-1113699843,1042795689,-1110305241,1049223347)+W(2,-1100571883,1043118649,1050774414,1041716852)+W(3,-1101978327,1050263507,1047177880,1017295180)+W(4,-1077502553,-1095085693,1050939225,-1082440456)+W(5,1068178608,1060273714,1050231565,1049812579)+W(6,1047476754,-1105112612,-1115682722,-1092073446)+W(7,1054410728,-1101197699,1050691511,1034666293)+W(8,1028074081,-1114781385,-1113963371,1053868195)+W(9,-1132635925,-1160679206,1035810200,1046376147)+W(10,1017697398,1016345266,1036026944,-1098688235)+W(11,-1104788145,-1112282035,1040315316,-1092800689);WS(-1086906028,1058773265); +sum1=W(0,997844200,1043197109,1044191380,-1132629757)+W(1,-1106996409,1033453658,-1125429564,965362145)+W(2,-1120050655,-1121403972,-1118095697,-1153797548)+W(3,1015091632,1026125167,-1119804562,-1122322046)+W(4,1050808506,-1095732027,-1096691584,1032367334)+W(5,1062016570,-1081591954,-1086608026,1058285756)+W(6,1043993638,-1096430215,1041881517,1044397873)+W(7,1047754366,-1099777504,1002316636,1042486572)+W(8,1042781664,1031594505,-1109034905,-1152318558)+W(9,1043388193,-1106441585,-1119832870,1034636741)+W(10,-1115428219,-1113585524,-1149103576,1045470808)+W(11,1024196285,-1122333654,-1135705587,1018594522);sum2=W(0,1038532068,-1086001730,-1096548381,1048104076)+W(1,-1101156186,1035944594,-1083843015,-1129915388)+W(2,-1128045264,1044127780,-1102068111,-1128179824)+W(3,-1109473444,1041203218,-1114990278,-1131782160)+W(4,-1131935456,1007620609,1018456960,-1107021820)+W(5,1066609131,1050949241,1033171254,1060056432)+W(6,1048571914,-1104179329,-1107874139,1027352212)+W(7,1038985844,-1112054433,1038875644,-1120175088)+W(8,1040453646,1033875386,-1112321878,-1136070657)+W(9,-1110531416,1032538050,-1117768272,-1111662792)+W(10,-1127646596,1032855260,-1114035189,-1104445548)+W(11,1034344442,-1130080864,-1144805954,-1110249452);WS(1046014126,1065769758); +sum1=W(0,-1112076254,1039437825,-1121314108,1012096182)+W(1,-1106802021,1045721640,1043473803,-1100987245)+W(2,-1129503003,-1109380841,1049347084,-1106286530)+W(3,-1112401299,-1120677869,1049245244,1021132153)+W(4,-1094624040,1048611696,1052142286,-1091239207)+W(5,-1088552177,1062377804,1060125676,-1091961473)+W(6,-1091526873,1057150062,1053897896,-1089539427)+W(7,-1088888106,1057709495,1048631067,-1091375076)+W(8,-1109865911,-1152131961,1019346753,1042130570)+W(9,-1119711185,1039063160,-1123465492,-1128757714)+W(10,-1119080717,1015225093,-1114302645,-1128945819)+W(11,-1122337355,1014030866,-1135518836,1034078686);sum2=W(0,-1078304891,1068350548,1064913799,-1089976447)+W(1,-1070679577,1072673707,1070575185,-1071851632)+W(2,-1113339548,-1128451504,1063744071,-1081022179)+W(3,1035458322,-1115281660,1040942179,1011136331)+W(4,1019506715,-1120561974,-1109226965,-1094573985)+W(5,1065504629,-1098180006,1002672995,1065710309)+W(6,-1124929726,-1111255228,-1117214353,1056839493)+W(7,-1111465381,1033265670,1028658493,-1106886716)+W(8,1021062218,1018259030,-1115506338,1030445629)+W(9,1031139735,995896746,1012290398,-1127826384)+W(10,1037321868,-1118014213,1010152224,-1112765526)+W(11,1001938923,-1119523230,967860273,-1127063938);WS(-1096468055,1053785380); +sum1=W(0,1020813409,-1114360891,-1116957735,-1110473361)+W(1,1027946631,-1090968927,-1123200592,-1111899059)+W(2,-1143096715,-1117882342,-1107232681,1003556839)+W(3,-1123588698,-1105979736,-1118523124,996386562)+W(4,-1114475674,-1111337627,1017136705,1034879511)+W(5,1066746382,1051825655,1028379180,-1109008383)+W(6,1046069775,-1129057075,-1094442401,1064704330)+W(7,1040361862,1022269000,-1114700263,1042611044)+W(8,-1135792006,-1120549867,-1118632404,-1116669644)+W(9,-1094808947,-1173354793,-1162426624,-1105125143)+W(10,-1106172505,-1113957025,-1119514205,-1116312257)+W(11,-1106276184,-1123525720,-1130080208,-1135525501);sum2=W(0,-1140125367,1025350612,-1122531649,-1127419095)+W(1,-1126099139,1020760995,-1123116186,1028088432)+W(2,1024738032,1039021380,1019570567,-1114986450)+W(3,1023949256,-1119198021,1018690059,-1114843176)+W(4,-1108347637,1028851928,1043407189,-1111543417)+W(5,1056423339,-1086358248,1048774619,-1101718819)+W(6,-1100544782,1044261707,-1076137651,1073762237)+W(7,1026425060,-1123270518,-1099227611,1049061203)+W(8,-1117946771,991440379,-1134679399,1013519927)+W(9,-1112971994,-1115422093,-1127107007,1041147594)+W(10,1015761083,-1103403994,1037345920,-1118107520)+W(11,1027419728,-1129333383,1042824177,-1111772147);WS(-1089097708,-1091261619); +sum1=W(0,-1113526029,-1120011361,1003986316,-1127316247)+W(1,-1123552881,-1103137072,1046355762,-1118797136)+W(2,1015138359,1032220600,-1103576251,-1123795687)+W(3,-1126584008,1027028747,-1120446878,-1129675572)+W(4,-1112997295,1047767320,1044425283,-1111263852)+W(5,-1100403388,1058200050,1061869832,-1081822066)+W(6,-1138618770,-1160534136,-1092855018,1053114278)+W(7,-1123471427,1018063772,1034662460,1007314666)+W(8,-1118942860,-1121673366,-1116984894,1033605983)+W(9,1009152314,-1124559262,1027944882,-1110810403)+W(10,1031283151,-1118591413,-1131347855,1046189751)+W(11,-1128724178,-1122517738,-1131488026,1016196275);sum2=W(0,1026311687,-1109901381,1040701127,-1151923233)+W(1,-1123775834,-1092342947,1034378939,1025121279)+W(2,-1105542037,1051958537,-1096202739,1033596173)+W(3,-1108107550,1047977685,-1098166743,1035290939)+W(4,1024679085,1016651554,-1103532415,-1110923755)+W(5,1071256357,1066054209,-1082840291,-1080291839)+W(6,-1103925783,-1199035157,1056834874,1042190483)+W(7,-1114731953,1030555165,1035522294,1046386099)+W(8,1036375055,-1135341024,-1121169096,1041909162)+W(9,-1090243220,-1128413506,1041541680,-1110170843)+W(10,1038401459,-1097944284,1043004954,-1097275958)+W(11,1015019440,-1099750845,1042529081,-1113079432);WS(1061142188,1045552914); +sum1=W(0,1019603337,-1114371061,1020461367,1022384747)+W(1,1025369499,-1128616851,-1137489184,992843677)+W(2,1030794181,-1134916072,-1114859644,-1149984013)+W(3,1034453383,1009189588,-1114858116,-1123167236)+W(4,1054684529,-1098135841,-1095805239,1058732728)+W(5,1056292747,-1081060320,-1085459239,1060634392)+W(6,1058073341,-1097701630,-1083596540,1061516204)+W(7,1050605022,-1099032542,1026645922,1052882077)+W(8,-1123665301,1031766591,1033080372,-1101590238)+W(9,-1124699057,-1116775033,-1123755612,1027392977)+W(10,-1106352164,-1134014242,1034158665,1038698931)+W(11,-1100750969,-1122655396,1037240581,1006025241);sum2=W(0,-1100296712,-1110840017,1045355628,1041010686)+W(1,-1124701214,-1097271182,1028443719,1042377248)+W(2,1026372231,1034868187,-1108318217,1002573079)+W(3,1022594646,1034940919,1032249619,-1107309152)+W(4,-1109934927,-1109499465,-1092997038,-1091459780)+W(5,1068946970,1068602839,1023984711,-1120459763)+W(6,-1095496747,-1112347607,1049236461,1048538630)+W(7,-1096153349,1036467963,-1088682480,-1112114883)+W(8,-1110570114,-1115246837,1019331790,1025085151)+W(9,-1090645327,1036287199,1025130703,-1120816159)+W(10,-1110453128,-1106754238,1028224647,1036483715)+W(11,-1105549173,-1106253388,1040581836,-1121128467);WS(-1090464684,1058848194); +sum1=W(0,-1104784595,-1106022588,1035807069,1038070654)+W(1,1048797564,-1112865880,-1107342224,-1140651524)+W(2,-1115304422,-1117573217,-1102596230,-1115845272)+W(3,1026901973,-1105151431,1011767229,1022142646)+W(4,1027584334,-1104101108,-1091590511,1059156269)+W(5,1062566262,-1088742755,-1084437581,1060192817)+W(6,1043041013,-1095911543,-1087393870,1060113046)+W(7,1057383999,-1088896680,-1102839322,1054886405)+W(8,-1100086527,-1128618637,-1111666744,1049775661)+W(9,1037690576,-1097281200,-1128690758,1050662239)+W(10,-1117869728,-1151911514,1024450616,1050391262)+W(11,1039830925,-1104457275,-1131868338,1042443855);sum2=W(0,1050458431,-1100970530,-1173421195,-1106952896)+W(1,-1068828969,1049093414,-1117103305,-1084179073)+W(2,1054525389,-1093960872,1015202727,-1082769727)+W(3,1038352192,-1107157710,1043872404,-1098029126)+W(4,1037511626,1029901269,-1136957987,-1113206734)+W(5,1078393261,-1105390455,-1106205415,1063723378)+W(6,-1106048166,993579659,-1128426057,1065452472)+W(7,1030855073,1034755506,-1114758982,1031385535)+W(8,-1116273053,1045345833,-1112584615,-1152575873)+W(9,1034474614,-1099252776,1031320371,1039247706)+W(10,-1100143257,1040309898,1035573879,1032907306)+W(11,1034533524,-1124561432,-1124055116,-1155923695);WS(-1106782638,-1120193880); +sum1=W(0,1021367862,-1121939617,-1116040418,1020741911)+W(1,-1126436322,-1098608828,-1109539853,1038644232)+W(2,-1112066734,993980163,-1101880327,1043522250)+W(3,1033129938,-1133833389,-1115252655,1018349205)+W(4,1050945756,-1100446872,-1112821605,1053259451)+W(5,1065255335,-1085596156,-1091353929,1055524943)+W(6,1048874997,-1090468372,-1096552606,1061719830)+W(7,1042923217,-1102788916,-1106280862,1051405991)+W(8,1049499553,-1129092267,-1111424287,-1101282812)+W(9,-1101475552,1033532871,1016236516,-1100504250)+W(10,-1114054607,-1114668904,1022700239,1025835692)+W(11,-1104899626,1028803059,-1147278953,1027947689);sum2=W(0,1036673453,1024834555,-1115580494,-1113068388)+W(1,1028813378,-1117546792,-1115483686,-1118880240)+W(2,1027909744,-1105092918,1043490929,-1107832014)+W(3,1011592783,-1119502452,1040415904,-1122240512)+W(4,-1098466798,1052150318,-1091718951,1039529972)+W(5,-1115055672,1062484975,1043613567,1043501593)+W(6,1042504898,-1094456673,1045088246,-1117282076)+W(7,-1112704202,-1123953380,1030923561,-1107365158)+W(8,-1080701891,-1104586573,1046645532,-1076395174)+W(9,1066750300,-1093753132,1009076111,1068474066)+W(10,1049333443,1022104546,1036864955,-1097140180)+W(11,1043999999,-1115391680,1033514298,-1109881554);WS(-1093231703,1042706757); +sum1=W(0,1026075841,1000558899,1040624182,1032826937)+W(1,1036684171,-1127770315,-1110755278,1032961819)+W(2,1036416025,1019575916,-1106938311,1034757510)+W(3,1040004261,1042264396,-1114624210,1015758976)+W(4,1052553144,-1099119122,-1084803183,1058499572)+W(5,1062021249,-1081334022,-1083389465,1061343357)+W(6,1057695045,-1090036539,-1087386813,1060752603)+W(7,1058906011,-1088285503,-1098198604,1051786740)+W(8,1025447538,1031885534,1041579305,-1104136529)+W(9,-1112317122,1018739433,1032264780,-1114092422)+W(10,-1109030926,1037874311,1031902455,-1132554758)+W(11,-1096739300,1035404188,1027119072,1012060669);sum2=W(0,-1101426979,1047102485,1057942802,-1134545280)+W(1,1036306510,-1096203167,1055001204,1012752443)+W(2,-1111393843,-1096420171,-1114902087,1034320105)+W(3,-1108867307,-1091559913,-1101073471,1046638158)+W(4,-1084592242,-1071603316,-1067197419,-1072425931)+W(5,-1123894686,-1098326846,-1077093049,-1079302223)+W(6,1062084093,1067609499,1072541263,1062181631)+W(7,1073505700,1078744623,1073214169,1064536824)+W(8,1042726179,1060445087,1074141781,1049446840)+W(9,-1129334697,1037955576,1060645469,1050812050)+W(10,-1093274589,-1087350702,-1094473234,-1097319760)+W(11,-1094526709,-1077663090,-1085693573,1001153868);WS(-1075107862,1049521772); +sum1=W(0,987763517,1041173528,1045206278,1027861131)+W(1,1033675992,1040210256,1032319275,-1129668766)+W(2,992091051,1044520444,1041485791,1016072268)+W(3,-1120420163,-1112688453,1042655839,1026084697)+W(4,-1097093508,1049572700,1051717721,-1086495609)+W(5,-1081944455,1064397290,1055584810,-1086275954)+W(6,-1096923684,1055988184,1059363461,-1082045908)+W(7,-1094413520,1050124978,1051323143,-1093981119)+W(8,-1116084523,-1144572069,1031434621,1033503081)+W(9,995768539,1027980366,-1140119493,1009361560)+W(10,-1112468587,1024276072,-1129633421,-1112276757)+W(11,1033578820,1025196738,1000619058,1005879363);sum2=W(0,-1107297920,-1125142534,-1091543751,1033523983)+W(1,-1097553497,-1121112319,-1100365589,-1109353447)+W(2,987526362,-1094244068,-1119424675,-1102290887)+W(3,944749371,-1100627225,1033606211,1022298470)+W(4,1031510683,-1103344470,1051542012,1048034710)+W(5,1061520608,1061214811,-1120961303,995045613)+W(6,-1103162896,1043830132,-1094266425,1042981818)+W(7,-1098189213,1041818078,1041952964,1052169844)+W(8,-1117305947,-1121264057,1041022978,1024239879)+W(9,1044020024,1053722991,-1115033235,-1099173366)+W(10,1046119446,1047286054,-1097363289,-1093433218)+W(11,-1096785580,1031561067,-1106943326,1043499670);WS(-1097146583,-1102489480); +sum1=W(0,1035066361,1033907292,-1102624204,-1121239074)+W(1,1032257412,-1109600459,-1104909116,-1110655283)+W(2,1014217354,-1114213060,-1113387282,1020382076)+W(3,-1120529307,-1123950514,-1114763275,1032256145)+W(4,-1096659727,1051162503,1043173384,1041928668)+W(5,-1091326393,1050132159,1057278053,-1123609439)+W(6,-1098203983,1049080395,1049365769,-1105975127)+W(7,-1093952115,1055699093,1033542535,1045101428)+W(8,-1108685857,995611334,1016656554,-1118777253)+W(9,-1100309385,1037330963,1009112868,-1102566959)+W(10,1040792061,1033561904,-1111738159,-1101876333)+W(11,1035959564,-1122689753,-1149295615,-1121020400);sum2=W(0,-1107119695,-1106305989,1039849292,1030001048)+W(1,-1115026335,1035696383,1019090837,1023713698)+W(2,-1112691697,1023388499,1036481868,1024715164)+W(3,-1147275412,-1112564365,-1146519572,1024758511)+W(4,1060202814,-1095733546,1046837828,-1106927121)+W(5,1057308499,1053508746,1043085465,-1104587624)+W(6,-1112160637,1046794790,1034862818,1047684818)+W(7,1041456307,-1083960309,-1094465043,-1093257675)+W(8,1012779430,-1124391765,-1116147800,-1131959957)+W(9,1038120705,-1104339358,1028873647,1026454649)+W(10,-1101425448,-1119391248,1045294658,1037173687)+W(11,-1094791365,1012709310,-1156574008,1036335613);WS(1057303084,-1084740383); +sum1=W(0,1023904890,-1104417576,-1105987664,1025949163)+W(1,1022060320,-1106403568,-1097440039,1033327896)+W(2,-1114170862,1041763972,1043670267,-1131905805)+W(3,-1109381346,1019385429,1037885311,1021513971)+W(4,1048292239,-1093717272,-1097863693,1034968156)+W(5,-1134851644,1058205452,-1088500414,1057303604)+W(6,-1089247692,1058731430,1059877080,-1082452830)+W(7,-1097845612,1049842950,1046703382,-1093401571)+W(8,1042713619,-1126920426,-1130932027,1046214631)+W(9,1041892896,1040636140,1012093510,1043920086)+W(10,-1107457363,1041063330,1028551783,-1101986947)+W(11,1031126152,1016340900,-1143718184,-1110573172);sum2=W(0,1040446621,1036240143,-1100989715,-1097593869)+W(1,1036994425,-1119554977,-1105186205,-1107347821)+W(2,1043906150,-1095197585,1048367016,989701019)+W(3,1016581730,1041272891,-1102913875,1040271244)+W(4,-1100851860,1047874592,1061153405,1026566131)+W(5,1069594194,1074408805,-1103469514,1046892012)+W(6,1031148367,-1079941721,-1110319007,-1107809286)+W(7,-1105136265,-1086296266,1042791078,1038853877)+W(8,-1096668864,1040237386,-1095509343,1050695083)+W(9,-1103368475,1040210470,-1114614656,-1104864053)+W(10,-1084422687,1031716423,-1105386934,-1100341899)+W(11,-1099178193,1042594729,1036206107,-1093040701);WS(-1085311468,1078025451); +sum1=W(0,-1123523234,1042717314,1033236492,-1114246985)+W(1,1017942127,1030027079,1046675224,-1123774423)+W(2,-1134274761,-1105985470,-1107516674,1018695644)+W(3,1032511109,-1108369993,-1118366597,973249598)+W(4,-1100167817,1050764301,1051596674,-1126048573)+W(5,1002547123,-1138337956,1057423711,-1090923842)+W(6,1051174149,-1101362115,-1085962671,1061445386)+W(7,1047097650,-1105953621,-1098415672,1032724353)+W(8,-1101525701,1021849401,-1109388771,-1110129580)+W(9,-1117387765,-1126623147,1031509177,-1102550347)+W(10,1037275627,-1107617348,-1118825262,1045061525)+W(11,1025818592,-1115961017,-1124427728,1033244340);sum2=W(0,1030359787,-1114557735,-1131031713,-1123353384)+W(1,1015567503,-1132430472,-1125418898,1024787123)+W(2,1026077135,-1118070691,1029672716,-1115408082)+W(3,1015951538,-1135395683,-1125125186,-1137211259)+W(4,-1123787418,1042470619,1047725718,1029311455)+W(5,1049323738,-1097880179,-1106551206,-1099438470)+W(6,1050505809,-1166364565,-1089568094,1042547290)+W(7,1040847724,1028809582,-1115324497,-1110579463)+W(8,-1121374979,1045218010,-1113968956,1051601031)+W(9,-1088308991,1039658119,1044805763,1049816965)+W(10,1026888229,-1115384233,1042126156,-1098255621)+W(11,-1102185033,1014731468,1043221816,-1112338809);WS(1060142060,1042832150); +sum1=W(0,-1121488955,-1142445829,1036648197,1031397804)+W(1,1018827426,-1111782928,-1117943062,1033996248)+W(2,1033609702,-1106903604,-1108508447,-1131717262)+W(3,1029196868,-1115637854,1015606653,1010765225)+W(4,1051097024,-1094159296,-1093104885,1052129567)+W(5,1065668620,-1081757070,-1086111346,1054892021)+W(6,1058770516,-1090845580,-1087336873,1059881804)+W(7,1054801908,-1126749404,-1100487494,1050176059)+W(8,-1138833071,1024131190,1030014814,-1125587404)+W(9,1032794495,-1123778927,1024270930,1028704007)+W(10,-1104469332,-1125662417,1022586319,1047817147)+W(11,-1091639031,1019613157,1032196289,1038701961);sum2=W(0,1013621039,-1105412866,1043282989,1016709191)+W(1,1033829499,-1123744731,1034830675,-1134054043)+W(2,1014723479,-1110083630,-1107183956,-1133247239)+W(3,-1113297030,-1097083153,-1115844306,1025542948)+W(4,1048947993,1038685325,-1104055195,-1105914972)+W(5,-1088942993,-1072142874,-1084033248,-1104630078)+W(6,1055362845,1076386430,1073971039,-1093767876)+W(7,1064727508,-1090433741,-1098251720,-1111303066)+W(8,-1143937773,-1128320153,1031619176,-1113893232)+W(9,-1098435347,1026126526,990218298,-1103493551)+W(10,-1104225446,-1103699955,1042783259,1052470850)+W(11,-1091328171,1025388740,-1123473137,1051939911);WS(-1086199532,1054743650); +sum1=W(0,1027498242,-1095519909,1032011277,1034444474)+W(1,1023783640,-1152811127,-1107222607,1040848158)+W(2,-1115850147,1044573214,1044283945,999869046)+W(3,-1134397103,-1123084051,1036275699,1025498402)+W(4,1053262121,-1090625833,-1097849454,1048862696)+W(5,1030342167,-1113365765,-1084999869,1061389071)+W(6,-1095010778,1054594461,1060145155,-1084989084)+W(7,1032418005,1033574715,1045643928,-1106712265)+W(8,1040908045,-1113781807,1027368614,1006964268)+W(9,1038235355,-1108967739,-1118338586,1038795271)+W(10,-1101807134,1028815960,1006059384,-1104327823)+W(11,1015954881,-1135640905,-1124545277,-1122717633);sum2=W(0,1041383757,-1089209738,1042608106,-1098769930)+W(1,1040055926,-1105226719,-1102323575,1031909130)+W(2,1040275414,-1117623756,-1124786133,-1112037460)+W(3,-1113621249,1048083051,-1131302943,-1111784639)+W(4,-1121408570,1038811718,-1093087039,-1101852353)+W(5,1065973699,1069194195,-1089123880,-1108783974)+W(6,1057999228,-1106112227,1026907074,1049738412)+W(7,1025491254,-1107530612,1020629449,-1111524780)+W(8,-1093098827,-1121276186,1036192806,-1139600545)+W(9,-1098519743,1023817866,1045867083,-1121335963)+W(10,-1101165651,-1122635193,1042688929,-1089198426)+W(11,1048264427,-1095495518,1041146873,-1109243346);WS(-1090983255,-1089207473); +sum1=W(0,1031895551,-1113602338,-1126565928,1011536056)+W(1,1041335941,-1099647257,-1111099810,-1113368985)+W(2,1033755607,1030939267,-1102367072,-1112820133)+W(3,1029129223,1034973975,-1111909392,-1120463213)+W(4,1054038520,-1097154360,-1101680475,1055178415)+W(5,1064470249,-1084973552,-1089575247,1055473117)+W(6,1050197537,-1097159533,-1086493203,1063942234)+W(7,1042393881,-1096995926,-1096914715,1058279198)+W(8,-1121652462,990918528,1026884961,-1102945718)+W(9,-1121284913,-1151944468,1022227241,994604183)+W(10,-1111487017,1029397803,-1119623498,1041044307)+W(11,-1111098786,1024652821,-1127714823,1017418960);sum2=W(0,1000134020,1023930211,-1138668162,1008868714)+W(1,1026383992,-1114490385,-1108628571,-1131179173)+W(2,1033178726,1030525898,1047990867,-1108980541)+W(3,1025874080,-1138114226,-1131668265,-1113100227)+W(4,-1099344177,1041622837,-1108603395,988655570)+W(5,-1066369231,-1087427617,-1131013053,-1064898888)+W(6,1086324754,1057379348,-1095163420,1075540559)+W(7,-1100090533,-1109206595,1040828448,1049763634)+W(8,1025638720,-1115444075,1018452757,1033342078)+W(9,1033730604,-1118168395,1023801183,-1133763810)+W(10,1031531103,-1116567631,1033324797,-1117896039)+W(11,1025251971,-1128577333,1028372534,-1119632759);WS(-1109283164,-1114463829); +sum1=W(0,1010065376,1006853751,1048505142,1026307305)+W(1,1032762791,-1121781501,-1122796048,1036887575)+W(2,1036926348,-1140109366,-1106474773,1038442146)+W(3,1042339968,1033209828,-1113784606,983730417)+W(4,1051849183,-1096622464,-1087851802,1056046207)+W(5,1062361681,-1080983673,-1086026376,1060373686)+W(6,1058739944,-1088322398,-1086759863,1060935143)+W(7,1060958338,-1085562739,-1098544579,1052729243)+W(8,1034233556,1033008793,1043738183,-1097387850)+W(9,-1116217316,1031320492,1030721871,-1106692609)+W(10,-1111740214,1037732587,1024808165,-1136008963)+W(11,-1098996574,1032429188,1028455576,973353381);sum2=W(0,1036675590,-1093870598,-1088826877,1033103311)+W(1,-1139597621,1038770367,-1096260803,1035316039)+W(2,1036924272,1054470917,-1120383141,-1104037187)+W(3,1033604811,1052968175,1048854624,-1111374359)+W(4,1064863709,1075036637,1082157528,1076551262)+W(5,1054257493,1054121358,1074566779,1066303868)+W(6,-1080791393,-1075955022,-1075712309,-1086745184)+W(7,-1074269835,-1068055688,-1073360354,-1081541832)+W(8,1044533603,-1083381518,-1073488400,-1088761642)+W(9,-1096732938,1034260530,-1087052440,-1088656095)+W(10,1058516172,1062460380,1055295113,1026461691)+W(11,1036957577,1072405502,1061463967,1036676016);WS(-1073690779,-1087724268); +sum1=W(0,944113971,1024788392,1040645890,1020006630)+W(1,1026519064,-1124203663,1048604230,1028328440)+W(2,1026744019,-1108217132,1026558293,1023877839)+W(3,1037411798,-1124509669,1024907750,-1116930962)+W(4,1033313762,1022063376,1040537741,1037569760)+W(5,-1097395091,-1081034849,1037819609,1026748704)+W(6,1052406658,-1095782133,-1089181115,1058432566)+W(7,1052615509,-1095058991,-1103915032,1046357449)+W(8,-1117962707,1010250996,1011752087,-1102207443)+W(9,1030158086,-1107990331,1035208397,1018608989)+W(10,1028902900,-1115106384,1030700463,1048090929)+W(11,1037074644,-1120315546,1006665970,1040820950);sum2=W(0,-1115074830,1025479068,991782552,1036147454)+W(1,-1109526737,1054093522,-1111873890,-1143660011)+W(2,1006285882,1035621794,1016478163,-1113309480)+W(3,1026243607,-1108696429,1027286665,-1115649745)+W(4,-1096384442,1031211776,-1102354425,-1100036784)+W(5,1036720443,1061883500,-1098733186,1042154750)+W(6,-1111840809,-1099055155,1040999099,1015496998)+W(7,1024623035,-1120753705,-1117281017,1028637267)+W(8,-1114551496,-1107514244,1037581214,-1132125723)+W(9,1042458762,-1113752408,1036528495,-1120425773)+W(10,1021928735,1009305230,-1131440878,-1118319659)+W(11,1033776741,-1117838632,-1115311515,-1113807339);WS(1053167575,1034582410); +sum1=W(0,-1105499654,1041430288,-1135820801,1023109013)+W(1,-1103829756,1051022760,-1099071824,1047073940)+W(2,1029509866,1038026111,-1103780951,-1134567319)+W(3,1028951523,1034415069,-1144576488,-1107075490)+W(4,1045138183,1015167422,1042183330,-1107146278)+W(5,-1098544246,-1114407921,-1110119411,1006706653)+W(6,-1101742889,1025810371,1029794991,1035133548)+W(7,-1110494113,-1144644710,1020673517,1040882462)+W(8,1048594337,-1103059717,1038375967,-1106326923)+W(9,1042439875,1019390619,1036901240,-1101264321)+W(10,-1124355817,1039002364,-1122256838,-1115149997)+W(11,1017843520,1025775953,-1113322768,-1133994400);sum2=W(0,1024932078,-1122451669,-1127684796,1007469645)+W(1,-1106895484,1046133075,934668744,-1123529450)+W(2,1026396887,-1100501045,1050482770,-1154152567)+W(3,-1118589447,-1145059796,-1112663810,1034932657)+W(4,1029479215,-1114161855,-1134400734,1026289720)+W(5,-1101979386,-1118826374,-1092503803,1048216767)+W(6,-1104578417,1054831843,1054881826,-1086100405)+W(7,-1120799353,1034243151,1037309396,-1110628430)+W(8,1018968072,1018258842,1012304630,-1121586613)+W(9,1057475450,-1091642753,-1105610792,1055026065)+W(10,1037697257,-1097381938,-1094138317,1057991283)+W(11,1035239909,-1109776821,-1108645190,1041220013);WS(1065106092,1009251236); +sum1=W(0,1015119794,1041681344,-1119086128,-1127594260)+W(1,1030756271,-1103164984,1038033220,-1105935716)+W(2,1033714469,-1096661826,-1097628571,1015463627)+W(3,1032817313,1037645501,-1162082196,-1121831017)+W(4,-1108480942,1053952044,1041658930,-1106710454)+W(5,1048660750,1035410928,1059673337,-1085761952)+W(6,1057312254,-1097132616,-1083076739,1062385221)+W(7,1038003425,-1134248242,-1100422942,1045270286)+W(8,-1098626929,-1128362792,999711717,1028936149)+W(9,1042075767,-1105711219,1030156593,-1106493133)+W(10,1042769246,-1109546740,-1109139763,1048795361)+W(11,-1109564844,-1113038632,-1128821631,1033263484);sum2=W(0,-1115537349,-1109318355,-1111982251,1026504012)+W(1,-1120289237,-1114485349,-1126991046,1004448402)+W(2,1023273402,1036795295,1031030421,-1116193727)+W(3,-1116296115,1037382021,1038895038,-1106169890)+W(4,1037274256,1036029355,1025515301,-1115575890)+W(5,1046084064,1035923056,-1105715099,1032461625)+W(6,1033981186,1034803763,1039615788,-1104386736)+W(7,1014573341,-1126611440,-1111316562,1034486696)+W(8,-1140512157,-1118959675,-1121134093,1038047283)+W(9,-1127252256,1001443794,966777949,1031934837)+W(10,-1108137243,999509622,-1126229172,1008094609)+W(11,-1109430807,-1121268263,-1115420717,1013721630);WS(1058235500,1054922309); +sum1=W(0,-1115091447,1026999796,-1110452882,-1126843838)+W(1,-1097782353,1043595317,1027596138,1037063794)+W(2,-1106496120,1051692426,1026915457,1017345397)+W(3,-1111050604,1047889704,1033470169,-1124168315)+W(4,-1109530936,1035486938,1054965252,-1096439037)+W(5,-1080972858,1054616871,1052521111,-1126567064)+W(6,-1092439359,1055199219,1059777872,-1087153329)+W(7,-1101856358,1042302776,1049045985,-1096481402)+W(8,1040994960,-1112039092,-1113819273,-1126708475)+W(9,-1135709192,-1103625129,1029145158,1048136923)+W(10,1025849689,-1133876016,-1113712109,-1117730271)+W(11,1048178521,1018059916,-1120397392,-1109862614);sum2=W(0,1026047005,1026757765,-1104671284,1032658614)+W(1,979115576,1040092458,-1106565422,1016793814)+W(2,-1120340424,1024555245,-1118382609,1025048255)+W(3,-1113479651,-1102456829,-1115048442,-1124528004)+W(4,-1146410551,-1093450531,-1107649550,1033357456)+W(5,1049738304,1048902638,1029536101,-1129670058)+W(6,-1099524683,1031379649,1043845633,1047130549)+W(7,-1143577495,1032535412,1015256822,-1114147283)+W(8,1045006287,-1108588814,1014985523,-1107785448)+W(9,1031141497,1032866808,-1114405495,1032863350)+W(10,1016575718,1011865867,-1128051766,1024835039)+W(11,-1140327483,-1121997281,1016407002,-1115840886);WS(1050344663,1040331465); +sum1=W(0,1027008397,1032620906,-1123846924,-1119034750)+W(1,1034001074,-1113228665,-1107606109,-1123135107)+W(2,-1109811775,1044228977,-1104523524,-1165785906)+W(3,1021442477,1015486907,-1136436803,1012082163)+W(4,-1145305726,-1104369525,1016005498,1038870821)+W(5,1055978044,-1091899011,-1101093248,1045963311)+W(6,994921841,-1100340494,-1089807144,1061494191)+W(7,1032566715,-1121306753,-1113047285,1043858443)+W(8,1047408652,-1117862216,-1180899430,-1113185550)+W(9,1019406818,1025902913,1031141157,-1106188838)+W(10,1039673315,-1126170822,995937181,-1133495032)+W(11,-1110918342,1012720916,-1155810234,1003314783);sum2=W(0,983063098,1027629321,1006857268,1017323653)+W(1,-1136855038,1050922570,1040636195,-1124332548)+W(2,-1115428487,1024268384,-1107256285,1038193266)+W(3,-1162541650,-1112368096,-1105738834,1037749325)+W(4,1041250623,-1096058068,-1096858156,1027026905)+W(5,-1095854749,1046692173,-1081757810,-1098379711)+W(6,-1107079153,1044471504,1055388353,-1124475180)+W(7,1041041721,1034757871,1018283467,1035306909)+W(8,1069736593,-1103954988,-1108630874,1057582691)+W(9,-1092586095,1040290673,1039138402,-1098564102)+W(10,-1099842491,-1135051275,1026430908,-1101296593)+W(11,-1116072515,-1128054004,-1127494735,-1130236866);WS(1064629676,-1098084920); +sum1=W(0,1017176603,986968687,1017516913,1033302207)+W(1,1036523218,-1136867787,-1093133598,1043155505)+W(2,1036902751,-1112073298,-1099849236,-1135635048)+W(3,1031815708,-1108314079,1015173986,-1154473427)+W(4,1048067236,-1094217842,1004101612,1037844037)+W(5,1054752956,-1083111259,-1107275372,1059745345)+W(6,1049105955,-1089373007,1036740290,1054803234)+W(7,1049045791,-1096296960,1007182507,1045303547)+W(8,1032944847,1036346276,1023773169,-1100831258)+W(9,-1111571193,1036061697,-1109611315,-1118901210)+W(10,1044914424,-1178541510,-1130856180,-1104247276)+W(11,1028425028,-1121119813,1028817260,1032262742);sum2=W(0,1018758860,1041892626,-1106561538,1031116538)+W(1,-1142239225,-1094547881,1060901401,-1093507837)+W(2,-1115133937,-1106548880,1048344650,1008547208)+W(3,-1116833334,1032935937,1031802380,1037272918)+W(4,-1122918288,1050772655,-1097318271,1041324255)+W(5,1059998586,1050575163,-1089173269,-1090730175)+W(6,-1107738784,1062167006,-1105982083,-1105692057)+W(7,-1105354579,1051274636,-1115007264,-1109731964)+W(8,-1113042451,1005733025,1003684433,1038093550)+W(9,-1096117806,1007559836,1036702490,-1103574570)+W(10,-1093777588,1032209739,-1111284039,1045224094)+W(11,-1097190188,1039213738,-1119496571,1040225760);WS(1059570988,-1104849743); +sum1=W(0,-1114327981,-1117057793,-1105217736,1015935639)+W(1,-1100671580,994695167,1045549308,1032097032)+W(2,-1146837726,1044124420,1019924475,-1118415719)+W(3,-1106017873,1026902699,-1133264506,-1128662677)+W(4,-1095539196,1051203348,1055580097,-1100062838)+W(5,-1081463016,1065307314,1057098153,-1097913193)+W(6,-1103538521,1060044676,1060408535,-1088685699)+W(7,-1096642336,1058793797,1048658511,-1090424260)+W(8,-1104422643,-1122995670,1027695934,-1114680436)+W(9,-1100709080,-1115820943,1026067698,1035503236)+W(10,-1127513406,1040976712,-1121911751,-1100882497)+W(11,-1112552037,1032897105,-1109730008,-1106885414);sum2=W(0,1026251680,1042860418,-1102635520,-1101738300)+W(1,-1097132336,-1097577131,-1118004862,-1096487254)+W(2,-1098301296,-1107323885,1034939290,-1103125896)+W(3,-1102991820,-1101571742,1046219299,-1145491968)+W(4,1045813894,1037904592,-1107186076,1049960021)+W(5,1062244087,1050699569,-1101520598,1012147620)+W(6,1018590462,996952385,-1118944274,1030928730)+W(7,1048890187,-1120981264,-1132230456,1042676852)+W(8,1043360780,1032162510,-1109595133,1031463651)+W(9,1042220045,1017587638,-1144663840,-1099464580)+W(10,-1143727552,-1112243029,-1122088198,-1129575892)+W(11,1022002534,-1108091801,1028948530,1038679603);WS(-1095386967,-1111219145); +sum1=W(0,-1130549149,-1114353482,1046105185,989878260)+W(1,1027516453,-1101798869,-1126247292,1027494660)+W(2,1029536895,-1149170463,-1109199416,-1138329195)+W(3,1031794584,1041043200,-1110945897,1016226972)+W(4,1044731284,-1092958347,-1089927208,1042696371)+W(5,1066759339,-1086407791,-1090136954,1059356463)+W(6,1056388995,-1087382795,-1086208082,1060963410)+W(7,1048385630,-1090430272,-1099705531,1052477254)+W(8,1029760895,1015099027,1030962098,-1127509006)+W(9,-1134143337,1008759050,1002268463,-1123276603)+W(10,1028489291,1024487352,1030926587,1037957160)+W(11,-1116367629,-1155852515,1027177352,1033794703);sum2=W(0,-1155239869,-1118272906,-1107393101,1037152773)+W(1,1031799544,1040803769,-1121008946,-1110337901)+W(2,1027082675,-1129277077,1040826838,-1115579003)+W(3,1027786160,-1128372019,1044810576,-1125050611)+W(4,-1123365743,-1066777138,-1071982339,-1107499267)+W(5,-1091451910,1078719649,1065602467,1053226346)+W(6,984589146,1012365693,1072207876,1036591998)+W(7,-1115106721,1027240586,-1114663567,-1111221822)+W(8,-1099174901,-1111285661,1034063245,1050177526)+W(9,1051522302,1032887971,-1111810642,-1114100047)+W(10,1036247818,1027337883,-1105619991,-1112448128)+W(11,1010421237,-1110086921,-1128259763,1024897040);WS(-1090330604,-1095913405); +sum1=W(0,-1123891981,-1158857313,-1155846064,1020138108)+W(1,-1104251929,1026174194,1042832881,1027835331)+W(2,-1115340623,-1107002233,1041459232,1036891437)+W(3,-1111402939,-1101325435,1043482052,1034060158)+W(4,-1099259748,1041623909,1060107168,-1089580553)+W(5,-1083565678,1065434151,1061453552,-1086143680)+W(6,-1094838563,1058061687,1058328348,-1087459168)+W(7,-1097944271,1056232524,1046178603,-1096454718)+W(8,1034391623,1027969480,-1129005794,1026904097)+W(9,-1108664129,1015124739,-1126805065,-1115844409)+W(10,-1108388469,1018898230,-1133565543,-1103857816)+W(11,-1124315511,1016813002,-1128371111,-1124051644);sum2=W(0,994818552,-1106534525,1032645553,-1123501879)+W(1,1026428551,-1104982451,1041404870,1024190209)+W(2,1033345966,-1115833227,1042593674,-1113685733)+W(3,1032770548,1019409377,1034301013,-1113104927)+W(4,1055123028,1086127434,1073269342,1031823713)+W(5,-1080276792,-1064048639,-1097366650,1003420836)+W(6,1051480126,-1090368136,-1073275019,-1127504591)+W(7,1017007809,-1104405577,1039074558,-1116624943)+W(8,-1106004733,-1108902493,-1134706270,1039470942)+W(9,1029604730,1040747994,-1131894299,1048036108)+W(10,-1127043711,1028687353,-1114192145,-1102930579)+W(11,1023925896,1028902826,-1110363669,1016207563);WS(-1090401964,-1152005757); +sum1=W(0,1027213860,-1114833045,-1110378885,-1107975723)+W(1,1041527967,-1088517567,-1110030634,-1098681011)+W(2,-1117487349,-1117626874,-1108968043,-1104614908)+W(3,-1114124023,-1107640642,1013150495,-1139447119)+W(4,-1095679285,-1126602324,1036253290,-1108756369)+W(5,1070380432,1071039479,1055690689,-1106296032)+W(6,-1098750614,1027420045,1052643167,-1108442736)+W(7,-1109258534,1028231256,1037720897,-1103582017)+W(8,1031108853,-1122691487,-1113670180,-1114963960)+W(9,-1089232274,1041737494,-1107558750,-1100045596)+W(10,-1149243844,-1114809497,-1114805320,-1099409217)+W(11,1004205268,-1115685308,-1129003237,-1112117145);sum2=W(0,-1099535875,1042476400,-1104603794,1032241318)+W(1,-1088862448,1058560544,-1090035137,1055385702)+W(2,-1109469239,1052772694,-1088861159,1049303281)+W(3,-1128383244,1040732759,-1098593341,-1107728961)+W(4,1036274242,-1098717699,1040884292,-1110024851)+W(5,1070638870,1049287225,1054345172,-1088795135)+W(6,-1106832655,1028821082,1045145516,-1093985609)+W(7,-1094544594,1053404675,-1095210561,1040915158)+W(8,1017815860,-1106264274,1041491703,-1102517567)+W(9,1049908300,-1097728340,1050847172,-1094964358)+W(10,-1121780800,1040141480,-1120926078,-1104972980)+W(11,-1097835418,1042680505,-1097969166,1046695263);WS(-1070853435,-1079594702); +sum1=W(0,-1129832370,1041167744,1015638464,1031368074)+W(1,1015854174,-1103546680,1035847262,1034753191)+W(2,1016952500,1024462894,-1113675090,1034404179)+W(3,1030231874,-1128491667,1024493276,-1121119193)+W(4,-1117069532,-1102391672,-1115839497,-1114370347)+W(5,1064504443,-1091637800,-1103157041,-1123068615)+W(6,1053421228,-1096184888,-1080200908,1061831318)+W(7,1047845552,-1114780422,-1127920108,1039689052)+W(8,1027397066,1017764904,1032466078,-1115223191)+W(9,-1115479934,-1129698458,1032880216,-1112317379)+W(10,1024063661,-1140051844,1015162251,1034003429)+W(11,-1108195108,-1121925385,-1133040549,1021986479);sum2=W(0,1043473407,-1102332364,-1112484873,-1106137478)+W(1,1026389244,-1107744995,-1092913054,-1106937584)+W(2,1037682857,1043622402,-1097742336,-1112665680)+W(3,-1132137458,1022975237,1020098037,-1122471729)+W(4,-1095817987,-1115086293,1035747177,1057355655)+W(5,1065853704,1072123343,1023360745,1065744344)+W(6,-1127502696,-1106562006,-1079419356,-1081387458)+W(7,-1141866869,-1126279403,-1106082519,-1107102958)+W(8,-1132505032,1028632460,-1111886750,-1121112608)+W(9,-1092294539,1034294011,-1106034045,-1113186427)+W(10,1037780507,1025382780,1024287965,-1121542644)+W(11,1036152561,-1184105122,1002478149,1042075138);WS(1049779927,-1112776705); +sum1=W(0,-1114011991,1043483133,-1118237477,1028071903)+W(1,-1119065733,1035764138,1007633232,1029458468)+W(2,1021654911,1034435922,1035328577,-1132325110)+W(3,-1114327724,-1122000063,-1138188744,-1140102008)+W(4,-1098367878,-1104983021,1029391902,-1102803275)+W(5,-1094340312,1066199650,1052808064,-1088820906)+W(6,-1090240908,1056392483,1053987355,-1080604425)+W(7,-1113705707,1048826612,1036299814,-1148292210)+W(8,1030141823,1024272361,-1146402448,1034486619)+W(9,1028311666,-1116603171,-1136262168,1041927295)+W(10,1033716813,-1120600656,1022508086,-1120802495)+W(11,1019304377,1020743116,-1178578023,-1137351220);sum2=W(0,-1105084280,1026252154,1038214390,1032570045)+W(1,-1106537061,-1094267982,1040403525,1038138439)+W(2,-1115643975,-1113353460,-1111441511,1040196930)+W(3,-1115802712,1045634969,1041615042,1030892929)+W(4,1013797397,-1092505394,1049712324,-1105258373)+W(5,1076181184,1059180753,1060934721,-1089116471)+W(6,1025617857,-1116351798,-1094660144,-1077048432)+W(7,1030853641,1036834683,-1112051433,-1099622062)+W(8,-1106628914,1042796766,-1123221706,-1104412018)+W(9,-1100140938,1031304969,997194667,-1095609080)+W(10,1035183993,-1113508292,1025898916,-1105239307)+W(11,-1126459673,-1114596985,1036578837,-1108612586);WS(1046079918,-1101410372); +sum1=W(0,1028420729,1041896248,-1128322399,-1119247786)+W(1,992275696,1048641796,-1105916230,-1112243383)+W(2,-1106451742,1031954663,-1106854731,-1122025413)+W(3,-1132155589,-1111364501,1008473970,1031954516)+W(4,1041276767,1029165630,1040172212,1042510685)+W(5,1049660162,-1086983984,-1093769957,1052547749)+W(6,1042746961,-1101840568,-1090223605,1058242473)+W(7,1038481040,1034663574,-1131429676,1045913078)+W(8,1023180436,1035447066,-1115138862,-1102544268)+W(9,1051181214,-1126725978,-1116787216,-1094151845)+W(10,1035662026,-1106918309,1020616971,1034028133)+W(11,-1123376855,-1113758304,1031591591,-1136064862);sum2=W(0,-1145824639,-1114337335,-1109775790,-1141998719)+W(1,1020781312,-1094152732,1035421278,1031031156)+W(2,1035727822,-1109500163,1019796096,1022361784)+W(3,1018984000,-1133379360,-1126048860,-1106658345)+W(4,1032184652,-1105393491,-1123003936,1044487768)+W(5,1023745864,1060925239,1043275908,-1118695686)+W(6,1044822196,-1129786704,1035441608,1018742928)+W(7,1040264262,-1114483694,-1154747838,1018234504)+W(8,-1105870753,1028260552,-1116651188,-1128896096)+W(9,-1116720242,-1118185274,-1117301622,-1123077850)+W(10,-1106753069,1028382728,-1111756371,1005384511)+W(11,-1115363912,1013789936,-1112885074,-1109895735);WS(1065850966,1065849900); +sum1=W(0,1016251913,1037817733,1023026535,-1148044715)+W(1,-1122606683,1030608138,1025496281,-1121600570)+W(2,-1123929445,1038603949,1035148220,-1119487441)+W(3,-1113618935,1029056085,1040789578,1022387720)+W(4,-1090259708,1044690723,1051437895,-1096615656)+W(5,-1089114938,1067874188,1060547800,-1086496425)+W(6,-1089721837,1051923078,1061971613,-1087399018)+W(7,-1090055623,1050691807,1020371139,-1091666965)+W(8,1031445334,-1134993406,1009078433,1037565454)+W(9,-1103278290,961099943,-1122338716,-1123828273)+W(10,1017932657,-1152593000,-1115158089,-1103477215)+W(11,1041207209,1032486406,1017681054,1017045638);sum2=W(0,-1100085534,1055497340,1029203106,1035054009)+W(1,-1106312974,-1091493710,-1099101530,1050236106)+W(2,-1111006317,-1100130836,1035688516,1040394388)+W(3,-1120327060,1037370697,1051271785,-1122528690)+W(4,-1094806083,1022251406,-1096883389,-1095822387)+W(5,1065636371,1066985993,-1105263591,-1112580467)+W(6,1038056034,-1113669663,1050729384,1057422694)+W(7,-1101753600,-1098907474,-1109365057,-1090043318)+W(8,1025821768,-1141198631,1003858895,-1106861506)+W(9,-1090221894,1007864647,1038164225,-1099047212)+W(10,-1095697855,1034223408,-1131632326,1040303734)+W(11,1042447412,-1111449439,1022279531,-1132012078);WS(-1097113303,-1098536273); +sum1=W(0,1001100740,-1129782332,1026190055,-1128711506)+W(1,-1123204686,1010531062,1036959597,-1116245678)+W(2,973480529,1032146359,1040533155,-1122390725)+W(3,-1112078369,-1115082484,1016950072,-1135175840)+W(4,-1090119792,1054274400,1051085133,-1089449919)+W(5,-1088111001,1068549146,1059231684,-1089233276)+W(6,-1100399617,1051645044,1060528017,-1083999320)+W(7,-1098983064,1056811397,1021720363,-1096337083)+W(8,1006971045,-1151099700,1017357112,1039600836)+W(9,-1106500579,1027830380,1008174399,1035061810)+W(10,-1118570949,-1138008953,-1118330949,-1110173729)+W(11,-1163217111,-1114515356,-1113983621,-1105366950);sum2=W(0,-1106788080,1045040387,1057867675,-1126544110)+W(1,1031886252,1008770068,-1116688865,-1123763395)+W(2,-1106896864,-1104133845,-1111977015,1019879781)+W(3,-1103198659,-1095297610,-1123575137,1025236903)+W(4,-1103936041,-1095964817,-1101472514,-1084782762)+W(5,1065118928,1070094219,1033632512,-1096694543)+W(6,-1094413904,-1091348732,-1093909441,-1120781351)+W(7,1063595180,-1101379604,-1087869152,1055216743)+W(8,1060484868,-1116398073,1047938716,1046930113)+W(9,1055777327,-1112910333,1033301960,-1098897900)+W(10,-1098592917,1028498658,-1132175940,-1105350592)+W(11,-1090856164,-1148399072,-1111429301,1032159773);WS(-1088872108,1052196610); +sum1=W(0,1026268067,-1111544357,-1114837443,-1115772244)+W(1,-1119255225,-1110507588,-1104977249,1022683057)+W(2,1018606696,-1106979958,-1124752108,-1126845407)+W(3,-1119390253,1032957370,-1118779367,-1122729971)+W(4,-1129315660,1051137549,999143576,1040729928)+W(5,-1115663356,-1123488747,1050616762,1050293045)+W(6,1038400791,-1115698508,-1107532492,1055556797)+W(7,1010467373,1013947482,-1106851872,1043464385)+W(8,-1115388138,-1138847608,-1109636323,1035543595)+W(9,-1102766242,-1113579532,-1148093909,-1110255664)+W(10,-1111362474,-1123058305,1031428336,-1115121626)+W(11,-1127308771,-1117161611,1024891874,-1114761165);sum2=W(0,1005045849,-1108696907,-1136485425,1021571414)+W(1,-1131955840,-1109877489,1015124882,1032761087)+W(2,-1113636159,-1105061066,1050593712,1002892889)+W(3,-1116947723,1035889263,1027289415,1017257782)+W(4,1026572719,1068805535,1044650880,1033792089)+W(5,-1072841573,-1073632622,1072674603,-1097148617)+W(6,1040799594,-1114163718,1040667946,1051731235)+W(7,1033387155,-1113785952,1033059623,1025178361)+W(8,1042295210,1015874538,-1111133361,-1111938281)+W(9,-1114078156,1025743417,-1115667125,1053858128)+W(10,-1105514756,-1150165522,1029743517,986622244)+W(11,1024784261,-1131685126,1028606721,-1131411966);WS(1059574956,-1147706177); +sum1=W(0,1032992154,-1114850125,-1107330821,-1126851274)+W(1,1021792788,1025219833,-1111585801,990365335)+W(2,1023708133,1041111834,1042448198,1014654722)+W(3,1024270494,1025900485,1028566264,1021433863)+W(4,1036915515,-1103811902,-1101979721,1039522745)+W(5,1057257569,-1102147871,-1091594576,1058476188)+W(6,-1087441640,1046832311,1049911159,-1130368142)+W(7,-1101532519,1034347764,1042912388,-1103664757)+W(8,1037543219,-1122830319,-1113513772,1039509326)+W(9,1015035920,999411009,-1115799180,1044635632)+W(10,-1103709614,1030688938,1008106627,-1098033363)+W(11,-1106561201,1033251158,998865060,-1112635561);sum2=W(0,-1138525905,-1127093272,-1100054904,1030668111)+W(1,1046358820,-1094333916,-1104427366,-1118095530)+W(2,1036395993,-1114547879,-1098434999,1026007575)+W(3,-1102154889,1043811931,-1098255510,1044323398)+W(4,-1118630721,1023505668,1038847176,-1106823977)+W(5,1066330506,1059364463,1055088734,-1104404781)+W(6,-1089680445,-1102029714,-1109156363,1032956568)+W(7,-1104253130,1042217401,1019564502,-1118009606)+W(8,-1100949461,-1137789612,-1139922314,1045749759)+W(9,-1115593085,-1118124817,1025350194,-1106737563)+W(10,1014767972,-1111415597,1044080198,-1105827255)+W(11,1033201092,-1116871429,1034872747,-1114455410);WS(1056332375,1037816258); +sum1=W(0,-1121854558,-1112652978,-1103168373,-1121656782)+W(1,1027294260,1032971073,1032694229,988019291)+W(2,-1146196851,1029047507,1036051832,-1141230927)+W(3,-1119789479,-1116156558,-1138159876,-1124586778)+W(4,-1116096096,1045017865,1044637987,-1119737691)+W(5,-1088930875,1058468850,1051843657,-1099471067)+W(6,-1094038173,1054278049,1059943427,-1088040995)+W(7,-1100717841,1052440082,1040438911,-1105369135)+W(8,-1108613751,1015231409,-1147698697,1028439953)+W(9,-1105155884,1025720722,-1126623722,-1124711667)+W(10,1023373473,1025459107,-1125643860,-1110648631)+W(11,-1121068380,1033302707,-1140770656,-1109090662);sum2=W(0,1056969468,-1090106390,-1101035659,1037403217)+W(1,1065979451,-1077736273,-1080354518,1057593955)+W(2,1048107842,-1110113632,-1095104394,1052219437)+W(3,1034400525,1036232380,1035332836,1012201018)+W(4,1038083410,-1119459300,-1116665707,1032316963)+W(5,1057826659,-1093367622,1028006921,1060881997)+W(6,-1093495590,-1098889696,1050471411,1040943565)+W(7,-1105354500,-1172133380,1037291810,1023246776)+W(8,1009385423,-1128266716,1025618366,-1159849898)+W(9,-1108823981,1040978108,-1107076145,1038355181)+W(10,1041580846,1031803963,-1107763897,1028403474)+W(11,1023204972,-1124125618,1028340263,-1108503511);WS(1057728492,-1114894260); +sum1=W(0,-1129994721,1032124939,-1137973853,-1113553553)+W(1,1032700067,1042214629,1038491142,-1116323110)+W(2,-1174372438,-1103814977,-1102850457,1022553594)+W(3,-1204938694,-1117610625,-1108835354,1025649872)+W(4,1023297510,1039175515,1027451936,1030725486)+W(5,1063322480,1002639809,-1096381204,1042012404)+W(6,1038337085,-1099447670,-1095884801,1049455560)+W(7,1041170774,-1110131186,-1107257155,1036180712)+W(8,-1104644784,1015759447,-1122023828,1024408310)+W(9,-1097199096,1025211173,-1129065232,-1098358292)+W(10,1041557913,-1120935138,-1119912573,1038368473)+W(11,-1139346043,-1131327617,1022194670,-1143485305);sum2=W(0,-1125894137,1023794749,-1136277690,-1132724746)+W(1,-1123753553,-1135255538,1034921985,1008401986)+W(2,-1129573217,-1103833757,-1095862669,1028568703)+W(3,-1129237393,-1117578737,989975657,-1115138968)+W(4,1019650853,-1102896527,-1142062564,-1115335750)+W(5,1065003137,1052274635,-1095970428,-1111489002)+W(6,-1104966989,1039075981,1050282098,1042205114)+W(7,-1137003202,1029353869,-1124502561,1028245440)+W(8,1036465851,-1117376889,1021138001,-1111737990)+W(9,-1130345777,-1114642052,1036367329,-1093339450)+W(10,-1123958953,-1121876761,983274770,961646223)+W(11,981021860,-1129104973,-1131382405,975314596);WS(1064957100,-1084259623); +sum1=W(0,1002237105,1022388856,1048172674,-1147443767)+W(1,1025036588,-1105536623,-1111985505,1042679235)+W(2,1039876787,-1118973740,-1111204540,1039980881)+W(3,1046679440,1036937851,-1115201293,-1122119878)+W(4,1049301459,-1096483251,-1087174820,1050085746)+W(5,1059891343,-1085360136,-1084863818,1061123934)+W(6,1059164422,-1085023864,-1087496217,1063082922)+W(7,1052477312,-1093770425,-1099749261,1050147791)+W(8,-1130736462,1032395752,1041967934,-1110620477)+W(9,-1096717087,1027822410,1029284270,1036594273)+W(10,-1098175193,1033526682,1038157169,1049051417)+W(11,-1094492881,1040430103,1035926782,1038851310);sum2=W(0,-1110691764,-1088609636,-1079200674,1043574668)+W(1,-1104224219,1072315297,-1104512784,-1103083598)+W(2,1045365848,1074062948,1071717488,-1111324648)+W(3,1040472402,1075518858,1072927288,-1123650350)+W(4,1057860954,1049301959,1052128984,1070660923)+W(5,-1092267131,-1082025998,-1106877192,-1107138551)+W(6,-1072626825,1060924493,-1098154139,-1073631870)+W(7,-1068851440,-1085268633,1055782129,-1076777698)+W(8,-1119415890,-1111966430,-1114631788,-1102512316)+W(9,1048136354,-1120067756,1025811761,-1099577256)+W(10,1049098296,1046934152,-1097839567,-1101281480)+W(11,1045375219,-1113956244,-1142912019,1053482338);WS(-1075237718,1059347685); +sum1=W(0,1033512399,-1159856274,1049968737,1021242911)+W(1,1022930282,-1122614884,1035044013,1029870036)+W(2,1018371807,-1134430929,-1113136009,1032776022)+W(3,1033340372,1040742208,-1114025505,1019954077)+W(4,1052611492,-1096977477,-1100043508,-1123217820)+W(5,1061884279,-1081627821,-1086974821,1055398719)+W(6,1058365139,-1083853344,-1085989237,1059035017)+W(7,1057072208,-1082038839,-1094951367,1054270736)+W(8,1035058824,-1164938034,1039650209,-1123750750)+W(9,1035852049,-1146263191,1031585078,-1111424357)+W(10,1040835864,-1113397210,1040828171,1046594056)+W(11,1043435581,-1112152131,1041271429,1036293471);sum2=W(0,1045686709,-1092895857,-1082007392,-1109418256)+W(1,1041368995,-1087580936,-1097230803,1025535098)+W(2,1045341483,1030380818,-1090709237,1025255906)+W(3,1050563248,-1122444474,-1098811123,-1131647237)+W(4,1045059925,-1090791673,-1087167323,1074622373)+W(5,1072979117,1066822104,1061750517,1022527077)+W(6,-1082271661,-1098772696,-1104688853,1059630355)+W(7,-1080249300,1035536875,-1097425000,-1098333373)+W(8,1052961109,-1111299754,1054843717,-1079889153)+W(9,-1121141584,1039933817,-1097908774,-1094791227)+W(10,1048788253,1032974905,-1109459004,-1114952578)+W(11,1062091865,-1101634861,1041274025,-1109808864);WS(-1073405707,1071333561); +sum1=W(0,-1114759602,1043648434,-1107154225,1032445482)+W(1,-1116673978,1050217769,1025826187,1009365348)+W(2,-1138343378,1041826370,1045274198,-1140494528)+W(3,-1128324122,1036590066,1037855412,-1164102249)+W(4,-1097373989,1049497533,1053035442,-1086616986)+W(5,-1084271170,1057270871,1058380737,-1088696011)+W(6,-1088202787,1054213138,1060414079,-1086550017)+W(7,-1090407429,1044502774,1049814032,-1096484208)+W(8,-1113096234,-1140703610,1005358651,1037191452)+W(9,1027100008,1008260703,-1147371482,1042579156)+W(10,1033632004,-1146407565,-1128134433,-1122447285)+W(11,1049279047,1030979244,-1132301012,-1117413058);sum2=W(0,-1130309268,1042344095,1044778147,-1104849756)+W(1,1006608216,1016899230,-1115874267,1032168017)+W(2,-1116205504,1017541078,1015318926,1025939811)+W(3,1015836550,-1134707560,1025032291,-1134020588)+W(4,1065552014,1050304642,1051692028,1087011564)+W(5,-1064792716,-1080996320,-1095624232,-1071484991)+W(6,-1111002668,1015541566,1038353709,-1108487910)+W(7,-1105554232,1035428553,-1115175630,1026184365)+W(8,1012814276,-1122813731,1024288807,-1115275477)+W(9,1012706900,-1113948677,1018071134,1034711867)+W(10,1017981722,-1121567210,1039145567,1031018877)+W(11,1030487759,957459976,-1161414849,1016059306);WS(-1093094231,1019545057); +sum1=W(0,-1111661690,1043371102,1024662611,-1147370279)+W(1,-1130128916,-1121967929,-1098598749,1036370005)+W(2,-1114353490,1030255498,1034324947,-1138886402)+W(3,-1123566046,983686292,1020719663,-1139052495)+W(4,1007712219,-1103400446,-1100871081,1045730364)+W(5,1048771569,-1094208743,-1086049630,1063151515)+W(6,1043747359,-1103168823,1057052051,-1102866212)+W(7,1044423271,-1105757546,-1114366281,1042970997)+W(8,-1125293706,1035921815,-1115285964,-1113292876)+W(9,1042591246,1031896756,-1106696483,1038700136)+W(10,1040829042,-1117982022,-1117085921,-1109292474)+W(11,-1119014482,-1116127556,986496271,-1113681601);sum2=W(0,-1112488549,1043174240,-1113949677,1017737448)+W(1,-1119128646,-1123930650,-1095542187,1041909593)+W(2,-1138532089,1043431269,1011641777,995222883)+W(3,1002378369,1011720393,-1133447353,-1122958336)+W(4,-1099690943,1036040708,-1106456753,-1109074925)+W(5,1063813292,1064786485,990810979,1055357640)+W(6,-1111808055,-1099317256,-1080550900,1029075282)+W(7,-1111615901,-1122017034,-1111251400,-1121958092)+W(8,-1136025401,-1127095326,1002006465,1033894674)+W(9,-1095508468,1041202855,-1106928479,1036060652)+W(10,1042059844,1013308785,1028541984,-1096849813)+W(11,1041840135,1011740497,-1130037494,1031456264);WS(1065464534,1066200435); +sum1=W(0,1037468205,-1098649416,-1114034816,-1120929867)+W(1,-1118049328,1030873567,1044270480,-1104046500)+W(2,-1102710553,1029661039,1027018036,1026495526)+W(3,-1104379061,1014898857,992085460,1047356358)+W(4,-1095417420,1053719708,1053507241,-1093428139)+W(5,-1078956988,1062996894,1059517274,-1095455089)+W(6,-1090364038,1051059848,1062358792,-1097112752)+W(7,-1089997432,1058137077,1053033759,-1098761015)+W(8,-1117479019,-1104296205,1039737375,1039630850)+W(9,1037682987,1027940302,1034668025,-1116571174)+W(10,-1134398359,1047874257,-1105628906,-1100052716)+W(11,-1119205176,1036556777,-1105711476,-1124964177);sum2=W(0,-1096757231,-1072214843,-1079960756,1052570920)+W(1,1048916325,-1071149720,-1067716640,1032706704)+W(2,1027784571,1026889523,-1113086642,1032567852)+W(3,1032789056,-1113248449,-1102782368,-1123035498)+W(4,1077140634,1045135233,1024102895,1059860803)+W(5,1074719494,1048879105,1007395147,1078085184)+W(6,1023965646,-1125605772,-1105291454,-1126012658)+W(7,-1131155204,-1120868355,1036400237,1033915049)+W(8,-1135125103,1026412089,1028585912,-1109439044)+W(9,-1119420973,1031274943,999691338,1039504993)+W(10,-1107726802,1031655696,-1115876939,1042487387)+W(11,-1123377002,1033633154,-1118021143,1040624471);WS(-1088460652,-1077196042); +sum1=W(0,1012745873,-1104692362,-1126618358,-1106714405)+W(1,1014233321,-1113350277,-1128320455,-1106817926)+W(2,-1112340330,-1111992333,-1104636978,-1139695810)+W(3,1014140598,-1103199781,-1112151140,-1112616426)+W(4,-1105672234,1049398341,1061836401,-1100538888)+W(5,1032760733,1062672955,1063373516,-1096420642)+W(6,-1098221750,1049303442,1040237156,980853696)+W(7,-1124202648,1047738902,-1115352833,1032069058)+W(8,-1107347643,-1107815087,1017778831,-1105561066)+W(9,-1104500106,-1130991024,1021813111,-1095103574)+W(10,-1098848505,-1124042178,1015562593,-1136108756)+W(11,-1108236605,1024298444,-1117430379,1028357771);sum2=W(0,-1103739979,1042549384,-1095373315,1042942941)+W(1,1031504716,1032277385,-1100136800,1021675082)+W(2,1021140017,-1097536524,1051314558,-1103784377)+W(3,-1113021145,1006926454,1033748340,1032312275)+W(4,-1104635751,1049880149,1041600542,1047404354)+W(5,1056265483,-1095000083,1042313351,-1156628070)+W(6,1056610233,-1087499329,1058671506,-1086627236)+W(7,1032415346,-1106742186,1053303874,-1097748456)+W(8,-1113660916,1033409028,-1116792463,1029337611)+W(9,1052284225,1042607543,-1100575516,-1103511888)+W(10,1053296214,-1123811627,-1102539848,-1098025422)+W(11,1040224097,-1116904421,1034071897,-1097031052);WS(-1090190636,1052333694); +sum1=W(0,1017370722,1025512151,1046164882,-1118008162)+W(1,1032465571,-1140639831,1039176172,1028313190)+W(2,1022145795,-1123803590,-1114523818,1021024634)+W(3,1023704762,-1150325779,-1114987978,974396430)+W(4,-1107299674,-1113611419,1050774996,-1087764995)+W(5,1054861041,-1104478910,1042980645,-1107276920)+W(6,1052546887,-1088290914,-1116066086,1048774281)+W(7,1052242867,-1082760046,-1101829203,1033108808)+W(8,-1133738119,-1143374172,992812356,-1132114980)+W(9,1039228938,991966796,1031741320,1016759930)+W(10,1046828701,-1135053738,-1131726971,1029146129)+W(11,1050382392,-1117633184,-1135839572,1025239231);sum2=W(0,1000278501,-1112124316,-1126311221,-1112927492)+W(1,1038568093,-1095439368,-1096516945,-1115114722)+W(2,1036864823,-1173738153,1035770391,-1107752992)+W(3,999311589,-1118042174,-1127749525,-1111435217)+W(4,1030656727,-1136644755,-1089259297,-1124129707)+W(5,1069168233,1066488720,-1089907054,1062718459)+W(6,-1097729376,-1119016562,1057602472,-1092856910)+W(7,-1106807928,-1101412503,1028769031,-1108466839)+W(8,-1119195008,-1143597573,-1127721129,-1121960162)+W(9,-1108783853,1016497897,1010259715,-1113085858)+W(10,-1105922885,1034450025,-1142073349,-1101947316)+W(11,-1119408565,-1121786357,-1113345821,-1119106133);WS(1050584535,1068150000); +sum1=W(0,1010165469,-1115625742,1034938395,-1115260532)+W(1,1003680362,1046586119,1043729220,-1112895478)+W(2,-1113655284,1036369142,-1096382429,1038151522)+W(3,-1116596385,1020311663,-1110737789,-1132334157)+W(4,1047833470,-1104527215,-1117589351,1038987194)+W(5,1053057826,-1092950416,1041775364,-1102791097)+W(6,1031810112,-1099697720,-1085160955,1060286702)+W(7,1045919272,-1112800213,-1112334730,1033665067)+W(8,-1116485512,1026352434,1013034091,-1115913835)+W(9,1032942189,-1126776150,-1123123343,1035117570)+W(10,-1109351189,992197073,-1118268740,1051158381)+W(11,-1113211075,-1128843070,1007592182,1035094123);sum2=W(0,999052617,1037992777,-1130117632,1027450901)+W(1,-1098069390,1058826704,1035832253,998486633)+W(2,-1144500281,1051052067,-1075559944,1050271656)+W(3,-1111215245,1041076323,-1104035684,1034115809)+W(4,1031860941,-1148181737,1023748039,-1112751331)+W(5,1066377631,1031601953,-1107268336,-1100828230)+W(6,-1089703828,1006070601,-1105105514,1059983898)+W(7,-1116488683,-1123703892,1031181077,1037142243)+W(8,1031574877,-1123191999,1020055214,-1129067048)+W(9,-1110435251,992240434,-1176849298,-1108371420)+W(10,-1135053221,-1122685646,1022099846,-1111123861)+W(11,994427506,1025316569,-1154287506,1013422629);WS(1065940278,1034622363); +sum1=W(0,1018945629,-1105035701,1042781009,-1130882111)+W(1,-1109081570,-1089961211,1037583679,1038546130)+W(2,1027338207,1025705412,-1106689964,-1116833467)+W(3,1023675896,1000818681,-1110899849,-1118439678)+W(4,1039562393,-1093168999,-1106282856,1048563851)+W(5,1065150616,-1081267407,-1106056839,1050832116)+W(6,1053064399,-1098826451,-1093571617,1063013875)+W(7,1052844651,-1103816344,-1098971955,1043578884)+W(8,-1128564863,-1146137419,-1132163876,991352096)+W(9,-1125259845,-1103163033,1034240611,1040441019)+W(10,1032573560,-1132178841,1014989293,1037655800)+W(11,-1174556270,-1124029942,-1140385876,-1126802554);sum2=W(0,-1100582068,1047796551,1025081894,1042045232)+W(1,-1098661297,-1083821047,-1135649915,1051353130)+W(2,1041505758,-1102707738,-1113123121,1033093932)+W(3,1036803556,-1119704488,1042774566,-1111611431)+W(4,-1130142714,1051286467,-1098032480,-1120251562)+W(5,1066411068,1066192686,-1088973774,-1091982339)+W(6,-1116829613,-1124748705,-1096817778,-1108263063)+W(7,-1105374597,1039210409,-1115318079,1029093314)+W(8,-1114446743,1028094206,-1131598407,-1122897683)+W(9,-1098476628,1035402858,-1114986235,1048662352)+W(10,-1105512115,1040252082,-1113670703,1043244089)+W(11,-1115075522,-1136180467,-1113507172,1039955893);WS(1056991468,-1087030746); +sum1=W(0,1040392564,-1123900599,-1104816506,-1123211458)+W(1,1032323379,1050060447,-1097679367,-1107179074)+W(2,-1113154609,-1118981766,-1113372906,-1112698351)+W(3,-1117349658,-1117759553,1036804874,1035059984)+W(4,1035944426,1031104918,1049039296,-1105628499)+W(5,1043269081,1044634502,1058030045,-1092912076)+W(6,-1111852653,1043769326,1032247835,-1098944114)+W(7,-1099907470,1048904265,1035537687,1030188977)+W(8,1038992913,1019968535,-1119944116,-1110865210)+W(9,1052766173,1024115141,-1113705364,-1092536332)+W(10,-1111088882,-1113641643,1016666555,-1101773536)+W(11,-1120093295,-1119368937,1034739876,1017337855);sum2=W(0,1055370704,-1091918952,-1100024892,1038207100)+W(1,-1102268135,-1125190319,-1082116017,1017023961)+W(2,1023693826,-1118701724,1048656820,-1122475964)+W(3,-1120372849,1017593165,1009208157,1033230771)+W(4,-1108168198,1051323790,-1116235844,1019998746)+W(5,1060923636,-1094794141,-1096201210,1065911065)+W(6,1025593786,-1112111831,1023749917,-1095962080)+W(7,-1123799386,-1116942925,1028403793,1022143062)+W(8,1017416940,-1131674494,-1132429552,1028590129)+W(9,1048662690,-1115273448,-1107738152,1032160655)+W(10,-1121410776,1032669658,-1120617509,1005611185)+W(11,1018425448,990755743,1007544955,-1131420642);WS(1065408790,1036624080); +sum1=W(0,-1118902603,1036811736,-1095782030,1031689276)+W(1,-1130349122,-1116251760,-1106389326,-1130392064)+W(2,-1120117724,-1116551776,1016267643,-1124855342)+W(3,-1114562026,-1110739566,1029730958,1032115325)+W(4,-1099523235,1048657234,1044865119,1040908418)+W(5,-1088986706,1059819669,1056569877,-1100633526)+W(6,-1093812931,1059687187,1057017186,-1097124896)+W(7,-1093706094,1058243684,1046000250,-1102530619)+W(8,-1114118270,-1132122507,-1124793181,1010781241)+W(9,-1109527143,1021657598,1010247305,-1105362262)+W(10,-1105256235,1019294354,-1147394236,-1101014271)+W(11,-1118348593,1010280523,-1131137795,1028862634);sum2=W(0,-1131603511,-1115409151,1028827850,1008018405)+W(1,-1126539767,-1105522597,1044469435,988821927)+W(2,-1154431236,1029512486,1031515550,1029044494)+W(3,-1134541747,1017115388,-1118759177,-1144594818)+W(4,-1128423353,976919119,1022982076,1048442625)+W(5,-1080807551,-1069309764,-1106419532,-1144038842)+W(6,1047735839,1057375362,-1077869698,-1100063920)+W(7,1040817807,1074183528,1074645104,1049631559)+W(8,-1110305290,-1142661114,1023643398,1015261982)+W(9,-1128896061,-1156968388,1024565032,1025710382)+W(10,1047372093,1040986767,-1108906576,1034212953)+W(11,1028992794,1013497529,-1109343217,-1121013958);WS(-1134496480,-1135409208); +sum1=W(0,-1131032216,1023949458,-1118561391,1012816882)+W(1,1017081284,-1098855254,1025102291,1015795842)+W(2,-1114842158,1018180354,-1109465919,1032335660)+W(3,1020892138,-1121622748,1039697400,-1121133019)+W(4,-1135187513,-1111514505,1042727039,-1172095542)+W(5,1062211658,-1088869665,1044113108,-1122643706)+W(6,1055550179,-1097017583,-1090758606,1053298610)+W(7,1042088653,-1131309822,1024023145,-1104417019)+W(8,940438235,-1118209095,1038725048,-1101252924)+W(9,1037442288,-1110868352,1039141810,-1099247502)+W(10,1038283500,-1123999226,-1124785329,1036453998)+W(11,-1111728213,985363057,984058180,-1127849669);sum2=W(0,-1120185020,1023474305,-1123756397,1027844464)+W(1,-1142892826,1045181163,-1120807818,1033301171)+W(2,-1112219415,-1148494098,1050514681,-1130897478)+W(3,-1123809910,-1112292483,-1124897908,1008317678)+W(4,1009596088,1048386893,-1123223808,-1109401613)+W(5,-1069578385,-1079085438,-1117881742,-1105464515)+W(6,1033916695,-1155326684,1057107198,1080182479)+W(7,1038900121,-1138311341,1015620530,-1111316356)+W(8,-1119575836,-1197272208,-1128717516,1035039619)+W(9,1032607110,1013531724,-1129559846,1029989604)+W(10,-1143648562,-1126181730,1001587842,-1113328530)+W(11,-1144599918,-1129634008,1011089790,1010222764);WS(1063953772,1006246735); +sum1=W(0,-1103221880,-1113408580,1023929568,-1129265445)+W(1,-1113052252,-1124775629,-1152025615,-1129858606)+W(2,1035503657,-1112901548,-1116248388,970168057)+W(3,1026538155,1012918985,-1114551939,-1114702297)+W(4,1053092565,-1092563365,-1094701786,1050480356)+W(5,1058637767,-1081976315,-1099755687,1054804888)+W(6,1052655373,-1106127939,-1085039957,1061520345)+W(7,1053852345,-1094975651,-1104465584,1043614208)+W(8,-1114954585,1012249970,1034664643,1037312131)+W(9,1043978961,1034276907,1007014628,1041973195)+W(10,1037644971,1031841028,-1121545966,-1109284733)+W(11,-1153236991,1015394179,-1122618723,1036504960);sum2=W(0,-1096454441,1047215192,-1098605940,-1108119214)+W(1,-1119694402,-1128298432,-1103381544,-1110533412)+W(2,-1110958880,-1114162078,-1115663656,-1127729168)+W(3,-1130979192,-1102917557,1023974294,1023031785)+W(4,-1114546522,1051355228,1036002502,1035846227)+W(5,1054173861,1055154953,-1102267339,1042040175)+W(6,1035812038,-1097546689,1052945690,-1103681801)+W(7,1043843622,1033695483,1033369183,1020649501)+W(8,1034086715,1019597651,-1115932080,-1110269476)+W(9,1033662351,-1108620470,-1130886478,-1102892813)+W(10,-1135158408,-1106956606,1033484697,1018137856)+W(11,-1106336801,1026224246,1029836288,998437331);WS(1049960663,-1098656338); +sum1=W(0,1010743226,1038429850,-1097905355,-1129270334)+W(1,1036165346,-1111354490,1026505899,-1116543140)+W(2,1026933359,1034045586,1012909508,1026370235)+W(3,-1164389112,1033987231,-1139624135,1009750007)+W(4,-1094238830,1050579558,1053746044,-1106458043)+W(5,-1093117384,1065413702,1060156652,-1084542826)+W(6,-1093158415,-1140159326,-1110641506,-1096055524)+W(7,-1098353419,1046556600,-1153271990,-1113672231)+W(8,1008020477,1036488405,-1120671826,-1153859324)+W(9,-1122984978,1035776465,1033306211,-1101873487)+W(10,1048347588,-1115507932,1015184758,-1132001470)+W(11,-1124973593,1037016731,1024719161,1027525597);sum2=W(0,1038605814,-1092409649,-1107138382,1007202997)+W(1,-1097778206,1033842165,-1086536233,-1111184485)+W(2,-1126800416,-1107791267,1050500010,-1107862779)+W(3,-1117103670,1024236113,1035028069,-1122928880)+W(4,-1111080585,1031799434,-1105521455,-1101985157)+W(5,1062592323,1054124413,-1102287591,1058778058)+W(6,1050870644,1039372702,-1121603522,-1115904936)+W(7,-1137706913,1012044041,1030823202,-1115500703)+W(8,-1127152184,-1138707909,-1135144653,998286218)+W(9,-1107786643,-1134709509,1018462794,1043783051)+W(10,-1103666737,1035379787,1016336685,-1104929125)+W(11,1042413442,-1119073178,-1120475406,-1123649878);WS(1045571246,-1101396513); +sum1=W(0,-1135540454,1031079263,-1105879340,1027156266)+W(1,-1123826896,1048275928,1036462891,-1123739311)+W(2,-1138173481,1033674439,1040289247,-1110505155)+W(3,-1138775820,-1109766005,1035302207,1019384210)+W(4,-1094890856,1052732944,1052608133,-1095381975)+W(5,-1081913239,1057453824,1059410250,-1086841044)+W(6,-1095054872,1059217778,1053535332,-1087831711)+W(7,-1096527684,1057086003,1056369955,-1100616678)+W(8,-1110160581,-1124519785,-1116386461,1036979366)+W(9,986236332,1015417435,-1113888968,1033495803)+W(10,-1117509614,1025380519,-1106215130,-1121128186)+W(11,1031959012,1009437253,-1132265864,1002559041);sum2=W(0,-1116086512,1041684936,1025579445,1023702857)+W(1,1024261913,1049263730,991232624,1027064225)+W(2,1023117658,-1121855219,994389040,-1115739014)+W(3,1016675050,-1114246345,-1121905805,1011341860)+W(4,-1100190580,-1127701406,1030949885,-1107828603)+W(5,-1121382305,1081524863,1063977916,-1127488618)+W(6,1041567276,-1078514947,1074557390,1049530396)+W(7,-1125328530,-1072747255,-1067412604,-1097196557)+W(8,-1101693823,1031874044,-1138881396,1030056541)+W(9,1032271344,-1124133978,-1115029594,1026840857)+W(10,1024600809,-1113125346,1015337722,1041139218)+W(11,1045882874,1009384836,-1157524144,-1110332083);WS(-1091844311,1066789497); +sum1=W(0,-1118280816,-1104655157,-1121934839,-1126657090)+W(1,1034822275,1041291861,1036892560,1035276339)+W(2,1027512241,-1100932977,1016354085,-1122398524)+W(3,1036073133,-1137558275,-1113195754,-1105911320)+W(4,-1150447404,-1096277599,-1094816004,1053346558)+W(5,1054539137,-1085328499,-1095276499,1061301148)+W(6,1052329175,-1090319102,-1094948141,1061579109)+W(7,1052092547,-1096198988,-1109759879,1010492736)+W(8,1026981217,1030410603,-1196074864,-1134360567)+W(9,-1132053288,1032377106,-1117233544,1035239934)+W(10,-1138204721,1028691858,-1113536398,1041572288)+W(11,-1122862318,1004385343,1016723124,1026669711);sum2=W(0,976327856,-1107671502,1022730742,-1130924015)+W(1,1032746467,-1063244855,-1102494949,1006816288)+W(2,1030725620,-1118200508,-1117144683,-1109752024)+W(3,1013150272,1019358625,1023153636,-1118656485)+W(4,1030703882,-1100688592,1039023607,-1156842543)+W(5,1084548157,-1091568120,1039287442,1050591037)+W(6,1030607420,-1100624377,1042495948,1041535529)+W(7,1000111712,-1135441064,1033109796,-1117378226)+W(8,-1113451109,1015244616,1024455841,-1147026848)+W(9,1034384724,1032201434,-1121583866,1030233046)+W(10,1037336210,984232072,-1112832588,1024850879)+W(11,1025293966,-1124806470,1003511712,-1123040622);WS(1062375148,982896070); +sum1=W(0,-1141741512,1042371688,-1092346958,1041356906)+W(1,-1121772047,1037798623,-1107640316,-1123251246)+W(2,-1156317853,1026956462,1035668286,-1138991637)+W(3,1011726474,-1115727625,1016120313,-1161666833)+W(4,-1100631199,1048733184,1052252533,-1098857839)+W(5,-1081710855,1063732968,1057292943,-1093348349)+W(6,-1088318752,1059891330,1061645578,-1084667272)+W(7,-1084607638,1059995535,1051947731,-1093940123)+W(8,-1126563284,-1134397903,-1165233042,1050501706)+W(9,-1111246422,1032268279,1008063554,1043133649)+W(10,-1106214611,1037368483,988108978,-1112114769)+W(11,-1190508359,1040598420,-1138661789,-1109426316);sum2=W(0,-1111774062,1035582541,-1081699534,-1087149149)+W(1,1039123010,-1082404199,-1087576154,-1122195827)+W(2,1055099903,-1119441337,-1111170675,1035630599)+W(3,1060125526,-1098859385,-1097950160,1042757145)+W(4,1078981756,1067224402,1074122230,1075074133)+W(5,-1086433828,-1082120864,1066418532,1080077903)+W(6,-1080599553,-1083892454,-1078722695,-1073636555)+W(7,-1075310961,-1085615144,1038753292,-1080969229)+W(8,-1092574897,1045566397,-1097056662,972078363)+W(9,-1101495601,-1109136155,1049096521,-1094572008)+W(10,1051613332,1023040696,1034655424,-1124013413)+W(11,1056506110,-1129411423,1027077203,1020974546);WS(-1073733835,-1077508759); +sum1=W(0,999004239,-1120942224,1043185540,1004911573)+W(1,1032559088,-1114184455,-1136904037,1008908284)+W(2,1021646261,1032555200,-1112686066,-1123346838)+W(3,1036339578,1040940927,1005792618,-1114632613)+W(4,1054442442,-1094509130,-1084678800,1056421033)+W(5,1066321721,-1089134469,-1087084867,1059517190)+W(6,1052962698,-1089853747,-1088382556,1063474337)+W(7,992460573,-1093589176,-1092765869,1044159722)+W(8,1020812405,1022285001,1009545653,1025064353)+W(9,-1127746091,1007063543,-1118599969,-1149079216)+W(10,-1126936380,1015641511,-1149726053,1027145139)+W(11,-1126618160,981480241,1023282088,1027348136);sum2=W(0,-1123853806,-1136381199,1040812131,1016441223)+W(1,1016212045,-1100123577,-1121560396,1034027700)+W(2,1030169991,-1105283667,-1100550013,1025170155)+W(3,1020004331,-1102325825,1029487024,1024326153)+W(4,1020713637,-1123741604,-1083270432,-1091551076)+W(5,1069362941,1065772322,1057043619,-1092123318)+W(6,1020763615,-1091989226,1058297195,1050653373)+W(7,-1094990109,-1106605421,-1092470882,-1121149602)+W(8,-1108424657,-1110846033,1001473573,1054198423)+W(9,-1092584961,-1120589670,1008724259,-1115262538)+W(10,1029919048,-1104422780,1040111989,-1121642970)+W(11,1026718342,-1115881428,1027795061,1039520200);WS(-1083424620,-1083774644); +sum1=W(0,995558823,-1112668224,-1107578509,1025997707)+W(1,1015677409,1048694360,-1109754213,-1132669247)+W(2,-1146244698,1044345284,-1099923633,-1113673299)+W(3,-1119640804,1030760459,-1117921566,1028038186)+W(4,-1098861996,1045883512,1051882641,-1116799831)+W(5,-1079768279,1059777970,1060321715,-1099316274)+W(6,-1098475085,1036566882,1064776049,-1093459346)+W(7,-1105585281,1033934183,1042756750,-1113981277)+W(8,-1127946135,-1116793621,-1140244728,-1114213177)+W(9,1040276008,-1129876893,-1131243108,-1106758402)+W(10,1008462282,1020492609,-1167573435,-1108196294)+W(11,-1130472177,-1176961296,1015090721,-1117078569);sum2=W(0,1006239848,-1112851025,-1120118931,-1120400279)+W(1,-1138878316,1037781128,-1101370370,1033967902)+W(2,-1135736068,1002346920,-1100258045,1012842788)+W(3,-1120658117,995892591,-1112182778,1028356101)+W(4,1016448074,-1095953339,1044457775,-1114073896)+W(5,-1113781647,1069276419,1065044078,1047917593)+W(6,-1114666278,1035717470,-1075186216,1045546113)+W(7,-1115876966,1049663208,-1097061266,1002645288)+W(8,-1112980685,-1122147671,-1137956564,1036833596)+W(9,-1110041421,-1187381491,987310366,-1119396143)+W(10,-1120766465,1029533357,-1131003226,-1132903556)+W(11,-1123504973,-1150885167,1003776904,1015304410);WS(1055938007,-1113494123); +sum1=W(0,1005413771,-1117675639,1028210664,1002908945)+W(1,1016082831,-1118443670,1040926954,1025040167)+W(2,1024456642,1046508410,1040854289,-1114102015)+W(3,1006080470,1029150738,1019764906,-1121270129)+W(4,1035958810,-1095959351,-1135464580,-1133494457)+W(5,-1101702418,-1121242873,-1087581816,1041989700)+W(6,-1093641223,1052220147,1048632765,-1098047787)+W(7,-1102768646,1042463785,1025236686,-1111985289)+W(8,1040264713,1035203030,-1131269290,1008466835)+W(9,1034336763,-1117662885,-1116685065,1048292991)+W(10,-1183964258,-1144182458,-1132796663,1043249233)+W(11,-1131127167,1031884341,-1137681823,1036425152);sum2=W(0,1034952858,-1114547380,-1103329032,-1148833389)+W(1,1044582101,1046239383,-1099667252,-1131645803)+W(2,1041029558,1023994452,1038848953,-1100126968)+W(3,1038559400,-1104909140,1040593566,-1101188496)+W(4,1019372679,-1111710878,1036545465,1039527980)+W(5,-1095619156,1074171367,1040867364,1017530647)+W(6,-1122648352,-1089175055,-1072583834,1053527025)+W(7,1034383711,1048723535,-1110512168,1048348234)+W(8,1042452640,1025974311,-1111163586,-1140514638)+W(9,1046568773,1030125627,-1102843950,1048394746)+W(10,-1095650184,1033990232,1045672947,-1104419698)+W(11,-1105559093,-1123744674,1039972451,-1113024814);WS(1054254551,1014537956); +sum1=W(0,1018675757,-1130008697,1035774671,-1121039367)+W(1,1028321069,-1107714718,1030747950,1022410264)+W(2,1035879540,-1100889147,-1097508911,1032078897)+W(3,1035017184,-1112194220,-1111836109,998902321)+W(4,1008273253,-1122251932,-1132150029,-1112598570)+W(5,1061840455,-1100441032,1041075666,-1093495169)+W(6,1058139578,-1090418276,-1084814013,1062686448)+W(7,1050365160,-1104639554,-1098262366,1050284599)+W(8,-1109769252,1003469451,1040615567,-1109088445)+W(9,-1105690119,-1126038165,1040565356,-1103842329)+W(10,1045096257,-1105705223,-1115375938,1049125597)+W(11,-1137878196,-1123088958,1030169589,1018266794);sum2=W(0,-1151906447,1008292026,-1130282463,1011204314)+W(1,1015334447,-1118416042,-1113509623,-1132982086)+W(2,1031867988,1015562377,1010705513,-1126682819)+W(3,1019402007,-1171211484,1033032763,-1118412630)+W(4,1036989282,-1093705400,1040567914,-1119643322)+W(5,1031871454,1053486166,1046529995,1023195387)+W(6,-1105750465,-1097180463,1053627848,1036745108)+W(7,-1132045005,-1098551422,1042871577,1024841875)+W(8,1048788001,1041384381,-1092395975,1058038651)+W(9,1061661513,-1087135929,-1082188469,1069827352)+W(10,-1083563182,1062283738,1050130047,-1076895592)+W(11,-1093245544,1058279550,-1108358221,-1102862368);WS(1057163500,-1105993220); +sum1=W(0,-1121502764,1045431725,-1127293622,-1117201821)+W(1,-1105708961,1049617722,-1100979748,1035599249)+W(2,-1100922079,1042176840,-1110465655,1039647740)+W(3,-1136735831,1001114727,1018827936,1009912816)+W(4,-1097880614,1032698105,-1119279260,1046510122)+W(5,-1099817760,-1088567265,-1097882833,1061106926)+W(6,-1109566363,-1097567811,1058361641,-1119635500)+W(7,1037588842,-1111863248,1036626725,-1147860066)+W(8,1044535287,-1110256660,1018908832,-1111026820)+W(9,1053288920,-1117593824,1024080836,-1095331735)+W(10,1050620014,-1113789929,1027464313,-1096979757)+W(11,1037098289,1012647057,-1159432152,999121112);sum2=W(0,-1123342042,1039805910,-1107895050,1032576295)+W(1,-1132748357,1027679479,1052615154,-1102694716)+W(2,1033817148,-1127944484,-1183264704,-1114775905)+W(3,-1109637447,-1117652574,1017960690,942234367)+W(4,-1102939450,-1120156902,1038099246,1016729470)+W(5,1057040101,-1098318717,-1100691281,1050355566)+W(6,-1098800812,1043085543,1028185223,1041423933)+W(7,-1113353192,1025700351,-1113846578,1027447559)+W(8,-1128970625,-1124467804,-1114110583,-1122727069)+W(9,997134844,1035923921,-1110408836,1046407453)+W(10,1023808656,-1104134547,1040728790,-1094682594)+W(11,-1136470782,1024627457,-1111084310,1033077879);WS(1069430838,-1077807532); +sum1=W(0,-1123870031,1035074891,926704291,-1123171840)+W(1,1026708965,-1094582899,-1102713036,1012978707)+W(2,-1110089696,-1131766218,-1104095024,1032241614)+W(3,-1120091289,-1126388352,-1123449267,1013657340)+W(4,1030377682,-1104443381,1024652287,1028287308)+W(5,1064667974,1049334299,1049114747,1060355037)+W(6,1023923417,-1112895132,-1097738289,1044883747)+W(7,-1134219998,-1105084689,-1133494194,1023074654)+W(8,-1137933441,-1123723658,-1124249574,-1121358347)+W(9,-1095444677,-1155502135,-1124350158,-1102473935)+W(10,-1115022670,-1114119663,996719039,-1112982200)+W(11,-1125652635,-1115595936,-1129702439,-1123735342);sum2=W(0,1032791968,-1112747779,-1120278537,-1176390445)+W(1,1039748018,1025598156,1039675898,-1107216374)+W(2,1038133354,-1105015824,1049256042,-1104895086)+W(3,1013658503,-1110290749,1024448666,-1123666927)+W(4,-1119517685,1042596904,1041053822,-1122813389)+W(5,1059349510,1055783944,1032712030,1061000499)+W(6,1030867610,-1084050573,-1099074048,-1087513873)+W(7,1029186614,-1106116496,1040697602,-1108606159)+W(8,-1132233097,-1150821318,-1120846771,1022193201)+W(9,1009116037,1006903493,-1120324549,1037891533)+W(10,-1101549778,1034659541,-1117395279,-1107732985)+W(11,-1106656496,1028618234,-1115429715,1022775251);WS(-1107817820,-1083770194); +sum1=W(0,-1129878691,1019165999,-1103638846,1033900161)+W(1,-1131338575,1041664750,1023785569,-1129439246)+W(2,-1128788741,1026305479,1007653393,1015365308)+W(3,1024049691,-1111132977,1029035509,1034359265)+W(4,-1105602789,1056291523,1053216608,-1091016130)+W(5,-1076846267,1059566574,1057499003,-1097747004)+W(6,-1101714279,1057215924,1057822998,-1089110318)+W(7,-1089968180,1055184137,1051239662,-1095981534)+W(8,-1114138529,1005244003,1032252891,1041711845)+W(9,1043057225,1037921123,-1129556050,-1107402783)+W(10,-1104471663,1041959808,-1126092988,-1097881621)+W(11,1032118072,1027268745,1025745172,1029122288);sum2=W(0,1045019344,1034893158,1017327589,-1108694073)+W(1,1037993179,-1146521528,-1100848825,-1102469381)+W(2,1036817135,-1122158468,-1136622056,-1102369829)+W(3,-1123721670,-1109074807,1036214504,-1116848662)+W(4,1020539438,1043169414,1037365040,1040440313)+W(5,1062010427,1059039676,-1179472005,-1091152854)+W(6,-1095264144,-1119445175,1038217042,1017850914)+W(7,1047380031,-1115655698,1048192551,1045324437)+W(8,1044490295,-1142407924,-1123414724,-1097181356)+W(9,-1105305386,-1103656828,-1124070306,-1098856738)+W(10,-1098482637,-1105116469,1025666621,-1109601321)+W(11,-1105047780,-1121369495,1027457629,1034613852);WS(-1121449656,-1084978473); +sum1=W(0,1021114964,1028648016,-1099605930,1045775831)+W(1,1032769888,-1106810756,-1113195701,1036495664)+W(2,1043049231,-1109837568,1033523886,-1134400474)+W(3,1043659613,-1097941829,1039225431,-1112792957)+W(4,-1100836955,1049277222,1054843763,-1086366198)+W(5,-1088747404,1062277595,1059006957,-1085601027)+W(6,-1087596695,1057384673,1060137529,-1083936243)+W(7,-1088234269,1055835664,1045407794,-1102874546)+W(8,-1121703995,-1116658981,1025802254,1044622847)+W(9,-1122091582,1043922200,-1138285574,1039106531)+W(10,1011169881,1042132230,1020367213,-1102614275)+W(11,1048366450,1039326553,-1132370673,-1118753961);sum2=W(0,-1122536322,-1103046200,-1105747151,1027272459)+W(1,-1109953333,1029006014,1043039962,-1115599503)+W(2,-1160853572,1035298821,1049577028,-1101108438)+W(3,-1105305527,1053260045,1043042004,-1125199072)+W(4,1025881493,1054947781,1050147388,1058588727)+W(5,-1079698237,-1072349877,1058930692,1025318337)+W(6,1050247454,-1072151832,-1069493839,-1116019666)+W(7,-1094505007,-1072202568,-1072978341,-1104971590)+W(8,-1098050255,-1157391810,1040922163,-1089616072)+W(9,1078384354,1029236731,-1097372724,1020160348)+W(10,1075828182,-1095907204,-1111844849,1078006681)+W(11,1072013431,1037030073,1046502148,1074567753);WS(-1076413686,1050217089); +sum1=W(0,-1140703701,981259974,-1103937453,1037264211)+W(1,-1119658251,1042459879,-1126374874,1010880426)+W(2,1031154598,1040532067,-1115463620,-1116247362)+W(3,-1131976189,1020764716,-1110800684,-1125273098)+W(4,1015092336,-1110472573,1043075881,1032015257)+W(5,-1095655209,1058975156,-1140207123,-1117441203)+W(6,-1097693400,1049753500,1059127610,-1089060935)+W(7,-1115082479,1038259412,1026525586,-1116339093)+W(8,-1115654547,-1126940256,-1144808135,-1122840185)+W(9,1016890098,1040888602,-1127053849,-1121072785)+W(10,1024224509,990976051,1021095812,-1095200233)+W(11,1027865572,1016317274,-1118091276,-1116764924);sum2=W(0,1028643349,-1118716844,-1087030854,1057721492)+W(1,1059252612,-1080273709,-1080168014,1060288138)+W(2,-1086775589,1065802380,1065839894,-1088865108)+W(3,-1093527126,1051057083,1052992874,-1123025940)+W(4,1050324940,1023362490,976966634,-1098169441)+W(5,-1095791676,1047291739,-1115171624,1016748144)+W(6,1048744751,-1124716700,-1136639192,1025332663)+W(7,1047968677,-1122660154,1045176631,-1103675095)+W(8,-1141117066,1027499437,1010046217,1023517212)+W(9,-1099550108,1034407868,-1115470708,1023617033)+W(10,1003901823,-1138422172,-1116997486,1041241265)+W(11,1020688386,-1121332252,1028187249,-1105682362);WS(1066004950,-1130673709); +sum1=W(0,-1143212072,-1115365365,1031654568,-1116101174)+W(1,-1115338446,1044807147,1037471350,-1110468285)+W(2,1016794668,1049500535,1036857292,-1108483849)+W(3,1013476922,1018991691,-1116011560,-1129241385)+W(4,-1112634148,1046315731,1052873383,-1088044468)+W(5,-1086079158,1057379349,1053790292,-1095270314)+W(6,-1089120237,1059566963,1062574892,-1084922887)+W(7,-1092328502,1052540519,1043154809,-1096691029)+W(8,1018103788,-1125315968,-1136500130,1041536990)+W(9,-1114923292,1020745202,-1143909091,1044233532)+W(10,-1112535089,-1120057699,1016815907,-1111082699)+W(11,1045681849,-1111113254,1009076749,1013224078);sum2=W(0,1037489391,-1120407882,1059657103,1049010278)+W(1,-1115441721,1065354919,1065561208,-1120558834)+W(2,992841734,-1090673211,1033902725,-1107156556)+W(3,1042878013,-1076779646,-1082019922,1011333881)+W(4,-1091075041,1044030983,-1096253478,-1081123115)+W(5,-1086070082,-1088804298,-1088412254,-1094693777)+W(6,1058489027,1048768363,1059822273,1048072918)+W(7,1065573397,1056386736,-1110539158,1067731839)+W(8,-1110198086,-1123055347,1042763848,1022187211)+W(9,979808314,1037997843,1010460099,1026065263)+W(10,-1103664360,-1127526979,-1106407542,1015305348)+W(11,1041735451,-1098151359,1046102351,-1102578162);WS(1047691950,1051513987); +sum1=W(0,1023115866,-1148261013,-1106171493,1022367675)+W(1,-1121417283,1048684730,-1110614526,1025923810)+W(2,-1123344254,1037977761,1043654816,-1135269348)+W(3,-1140725337,1012206837,1018209505,-1153116613)+W(4,-1138130365,1039875161,-1115678670,1047705594)+W(5,-1092459648,1059839847,-1098498099,-1138856554)+W(6,-1117423671,-1110502987,1055365231,-1088007377)+W(7,-1130685354,1013205632,-1108540005,-1145599589)+W(8,1038987295,-1146539325,-1119968336,-1110486184)+W(9,1037143648,-1113038256,1031736900,-1111291916)+W(10,1038170008,-1124410005,999460043,-1116325726)+W(11,-1106962771,1022378313,-1170140361,1024662707);sum2=W(0,-1134949160,-1132037434,1034638423,-1153456458)+W(1,-1107040555,-1111241686,1047224115,976205336)+W(2,-1148458760,-1109506803,-1102088763,1031938263)+W(3,1018102832,-1122339703,-1119972538,-1128058621)+W(4,-1110235102,1026400860,-1118314715,1026219462)+W(5,-1098519781,1048945857,-1098555575,1041432515)+W(6,1045200456,1038098069,1066956313,1016119332)+W(7,1012163112,1026446934,1020127420,1026438298)+W(8,1033998497,-1129681397,1020158000,-1119545213)+W(9,1042089138,-1100590807,1034767622,1038320636)+W(10,-1088147582,1033722488,-1131704894,-1089428981)+W(11,-1114149729,-1126638758,1036980701,-1103340362);WS(1065730166,1060778308); +sum1=W(0,-1155017835,-1122491724,-1157499671,-1109508860)+W(1,1018445113,-1123710636,-1101845990,-1113193022)+W(2,1027367671,-1109701838,1037579925,-1116526739)+W(3,-1116098736,-1155438706,1024052458,-1113248331)+W(4,1039607429,-1108915110,999270323,1041425921)+W(5,-1103201623,1034241095,-1093896302,1059840031)+W(6,-1119532176,-1115473720,1065443257,-1086536234)+W(7,-1135484603,-1169161851,1023021127,-1131587533)+W(8,1019270959,1019165315,-1122732458,1009856488)+W(9,-1124851701,1031136123,-1112299503,1048952862)+W(10,1042597895,-1112137490,-1130156262,-1100984082)+W(11,-1109972554,1026435614,1035869970,988759974);sum2=W(0,1040648348,1027011316,1023936292,-1117967445)+W(1,1042642774,1032485416,-1104815876,-1112630617)+W(2,-1108734545,1008252288,-1097739621,-1134880336)+W(3,-1110919553,1017816544,1027781874,1042723069)+W(4,-1081925843,-1090561506,1036573845,1048994422)+W(5,-1079286264,-1076993331,1061477130,1069895227)+W(6,-1093635474,-1082750513,1074358700,1067803238)+W(7,-1113045602,1040942069,-1152591489,1039731885)+W(8,-1121546197,1000734832,-1136777476,1025878262)+W(9,1017402756,1043800887,-1120512530,1006994724)+W(10,-1124517798,-1106635673,-1115175264,-1094759274)+W(11,1015619872,-1104563368,1050798200,-1128233335);WS(1051081815,1004177576); +sum1=W(0,1009183853,-1123222753,1047378036,-1127006616)+W(1,1035550201,-1112167248,1030530563,1030806032)+W(2,1031890286,-1119963793,-1102096100,-1148492092)+W(3,1033051522,-1118879820,-1117414047,-1122950699)+W(4,-1133548407,-1099314072,-1095193921,1040477302)+W(5,1067589976,-1091645900,-1084986498,1061394914)+W(6,1056018877,-1084371172,-1092420382,1061693295)+W(7,1054656608,-1096248194,-1100397982,1051876647)+W(8,1033152150,1000220336,1015654525,984028115)+W(9,-1104155199,1007541309,1016832613,-1134209438)+W(10,-1117645071,1016050244,1020442767,-1126214664)+W(11,-1098736399,-1120116135,1015156587,-1115478541);sum2=W(0,-1107492679,1061143042,-1086393652,1038737431)+W(1,-1120313369,1050160290,-1086071985,1048033211)+W(2,-1127256174,-1118303985,1036302581,1015799927)+W(3,1025558434,1049210573,1030572627,-1108431753)+W(4,-1087802869,-1089713201,1062117952,-1122890851)+W(5,1074235084,1068761695,1059347527,1050554685)+W(6,-1080828834,-1090432670,1051722018,-1097102610)+W(7,-1086660156,-1089293346,-1096060997,1051308486)+W(8,1047951996,1021198999,-1105710539,1031555324)+W(9,-1098359769,1024031768,-1103176732,1026779363)+W(10,-1093586557,1023611974,-1105088271,1043634021)+W(11,-1099341241,1042868230,-1113357802,-1093678452);WS(-1081907798,-1114644056); +sum1=W(0,-1170980595,-1134709766,-1099395677,1023775725)+W(1,-1126334628,-1120114113,-1099241994,1026005873)+W(2,-1129163353,-1108351113,1034531271,-1135823392)+W(3,-1129940170,-1110039318,1019473342,-1151688884)+W(4,1050593936,-1112754945,-1100928459,1055907631)+W(5,1054687330,-1087665246,-1087793848,1058604967)+W(6,1034921283,1040795209,-1104299004,1038229186)+W(7,-1120708196,1054318790,1040889398,1018134455)+W(8,1032148262,1017060589,-1109439504,-1119324179)+W(9,1038203192,-1138112959,-1128826918,1009969504)+W(10,-1104169898,999099597,1038462084,1028440637)+W(11,-1107725509,1027667523,1007377992,-1106565731);sum2=W(0,-1129970231,-1120391232,-1109792567,-1119441358)+W(1,-1135011770,-1103316489,-1103233485,1013923693)+W(2,-1115083307,961266788,-1104701758,1015830944)+W(3,-1117182320,1032096200,-1120471806,1009913072)+W(4,1050978947,992017798,-1107196821,-1127769135)+W(5,1054134565,1049668759,-1095646457,1033489482)+W(6,-1110832497,1047186396,1056508485,1049300223)+W(7,-1124368769,-1109467751,-1110580647,1049274561)+W(8,1040616080,1030775978,-1113410550,1030789742)+W(9,-1124339641,-1108882435,-1115392393,1038693473)+W(10,-1086696217,-1118394614,-1145057435,1043974386)+W(11,-1103392519,1029776437,1032794842,-1110322035);WS(1054547415,-1080700728); +sum1=W(0,1000886579,1020745112,-1106813137,-1118959255)+W(1,1035589374,-1089948699,1000629071,-1108938574)+W(2,-1120209015,-1115354302,-1104374042,-1115953331)+W(3,-1114831416,-1107411355,-1115551813,-1130255148)+W(4,1042266506,-1113159542,1049136707,-1136179854)+W(5,1058763908,1057279043,-1117329322,-1114102394)+W(6,1034434840,1042941412,1058534976,1043996152)+W(7,1037557447,-1115931546,1024662339,1030595334)+W(8,-1135369949,-1133353861,-1110798213,-1121699838)+W(9,-1102488395,-1116069530,-1132246652,-1098171678)+W(10,-1123101368,-1110056358,1023843187,-1118338951)+W(11,-1111356186,-1113468791,-1125104281,-1111680098);sum2=W(0,1006975884,1033813267,1010047952,-1104438281)+W(1,-1121830816,1016682467,-1104617278,-1114845259)+W(2,-1109021584,1016925125,-1119230330,1035922248)+W(3,-1116080890,1028042677,1031893944,1024387710)+W(4,-1103312430,-1117623020,-1126834256,1041416137)+W(5,1030331467,1058017528,-1091497753,1059878226)+W(6,-1127060444,1041560361,1016098448,1042445877)+W(7,-1113418625,1032681483,-1112957506,-1106783001)+W(8,-1119875938,-1142859168,-1141914640,-1137643420)+W(9,-1098691452,1030249718,-1115736166,1032827109)+W(10,-1110812698,-1153808400,-1111253212,1038105687)+W(11,-1112120334,-1122393388,-1114320479,1032692112);WS(1052913623,1049378679); +sum1=W(0,-1140317417,-1131398976,1042960148,-1122838827)+W(1,-1119624720,-1142164473,1047376245,-1125024735)+W(2,1000517975,1026436976,1052155164,-1114511683)+W(3,-1118732996,1037554661,1040745327,980913767)+W(4,-1096052024,1051976144,1057292387,-1086626395)+W(5,-1082562971,1065554348,1057250406,-1085621156)+W(6,-1091398264,1054127476,1052193006,-1087926293)+W(7,-1088065070,1051850318,1052669955,-1096441475)+W(8,-1115050310,1021209962,-1155224026,1037967453)+W(9,-1105683981,1041116332,-1137632582,1033197251)+W(10,1031945184,1019309136,-1114068531,1022767638)+W(11,1041425290,1029050594,-1119607996,-1117629257);sum2=W(0,1026695603,-1113695617,-1113890565,-1128729473)+W(1,1038041001,1007226362,1012493154,-1122814467)+W(2,1029245131,-1121347205,1022932917,-1114364242)+W(3,-1131614889,1005475605,1028217359,-1114309631)+W(4,1046246583,1032966985,-1116238263,1030681183)+W(5,-1105895610,1066720275,1063042504,-1119541727)+W(6,-1109256305,1054635319,1061802664,1013035938)+W(7,1018572933,-1114817272,1034508407,1037707015)+W(8,1060417287,-1094452995,-1088819879,1054381777)+W(9,1069419683,-1071852139,-1073258706,1065151040)+W(10,1067716376,-1076852924,-1071972143,1070184946)+W(11,1057796391,-1086618913,-1084913408,1063333907);WS(-1080205366,1054586731); +sum1=W(0,1034516295,-1118125300,-1104231365,1028285119)+W(1,1028158052,1031422323,-1122896269,-1114270114)+W(2,1015275709,-1113275778,1042423964,-1122816794)+W(3,1026827799,-1113291743,1035567225,1008209269)+W(4,-1098317298,1050987674,1018315643,-1105384067)+W(5,-1084181862,1065887519,1045079495,-1102251495)+W(6,-1102645126,1055927247,1058366107,-1083878719)+W(7,-1095155767,1054820368,1042520123,-1094749758)+W(8,-1103331232,1030553289,-1107795033,1050517144)+W(9,-1106919576,1039594145,-1134423957,1044797187)+W(10,-1127822612,1007528111,-1127143669,-1136969466)+W(11,1023800268,1010334934,-1112108944,-1111681950);sum2=W(0,1015687849,1021267259,999332143,1018519238)+W(1,-1154321191,1001850235,1021268373,-1123243110)+W(2,-1137574530,-1149097003,-1122367554,-1147705571)+W(3,-1123293958,-1120881342,1028798873,1025499637)+W(4,-1105547391,1042746528,1033756160,1041061518)+W(5,-1097359239,1057524548,1026544409,1034089943)+W(6,964634475,1033087855,-1128118669,1024181853)+W(7,1038775557,-1131901697,-1129467393,-1139074510)+W(8,1066765865,-1079967238,-1074851124,1071473984)+W(9,1059938647,-1081222132,-1079279124,1067795051)+W(10,-1109247299,995399503,1036308208,-1126584943)+W(11,-1137941026,-1131371017,1006964374,1002507759);WS(1032292188,-1145187004); +sum1=W(0,-1124591439,1032165735,1026282854,-1121091224)+W(1,1009701366,-1113803654,1048823572,-1121198813)+W(2,1026658136,-1092992668,-1119045850,1007646671)+W(3,-1122546321,-1119672872,1019935126,1020346030)+W(4,-1099744666,1053335502,1041424886,-1110430066)+W(5,-1109489438,1044961340,1045555550,-1088767505)+W(6,1047050636,1043075732,-1098280566,1041537816)+W(7,-1110555528,1047792295,-1107270401,-1121506375)+W(8,-1097458647,1026340962,-1130362518,-1163709786)+W(9,1038271382,-1136150382,1020242430,1040806261)+W(10,1037260307,997023189,-1117600916,1040783354)+W(11,-1120965766,1026784415,-1124456788,1000329008);sum2=W(0,1024423113,-1119221834,1027036707,-1120115102)+W(1,-1162462122,-1115806512,1034928052,-1131404107)+W(2,1035047655,-1101382306,-1133321326,-1116017912)+W(3,1011265421,1023154260,1029706393,-1146105278)+W(4,-1122478763,1049287438,1037973272,1028744443)+W(5,-1117650486,1065549495,1047707985,1034534080)+W(6,-1105332910,-1101676179,-1079218451,-1108495610)+W(7,-1113944011,-1116861489,-1109811124,1038914207)+W(8,-1096539764,1034186497,-1114092190,-1111409649)+W(9,1059270295,-1104163224,-1111870688,1032305459)+W(10,-1108544028,1038206879,-1116841516,1053073262)+W(11,1023662974,1021319568,1004549098,-1125217018);WS(1065238444,1029810764); +sum1=W(0,1033625479,998132025,1035631050,-1117664959)+W(1,1026353828,1049143094,1046740798,-1121511107)+W(2,980940712,1037075730,1044265580,-1154871713)+W(3,1025470327,-1128624253,1028486865,1018182811)+W(4,-1110409480,1041425605,1044376095,-1105662947)+W(5,-1117398499,-1088462543,-1117226857,-1115600622)+W(6,-1109487884,-1099167518,-1090821428,-1101622768)+W(7,-1120941494,-1117520833,1039936213,-1112099063)+W(8,1029921727,1002652741,-1144996235,-1180059800)+W(9,1050498082,1031133314,986508455,1047596134)+W(10,-1134957959,1038687768,-1119889178,1032067983)+W(11,1019194744,1032539083,-1122286680,1021107193);sum2=W(0,-1126103938,1029641913,-1109237812,1027136813)+W(1,1023841561,1016569578,-1108335880,-1134438995)+W(2,-1130954514,999116870,1032415828,1003327910)+W(3,994333964,-1138234067,1003972614,-1135210803)+W(4,1047599733,1041211299,1028116649,-1131106290)+W(5,-1076957808,-1103461794,-1092284431,-1097134429)+W(6,1037851390,-1111597872,1073063564,1044824498)+W(7,1043898273,-1115472968,1033926584,-1123469057)+W(8,-1119521049,1022404146,-1132573667,-1115313320)+W(9,1040752059,1027441157,1016921434,-1100904528)+W(10,-1112786376,1036890340,-1106952976,1045381268)+W(11,-1137298819,-1139674515,-1110049884,1034574746);WS(-1111543132,1053084187); +sum1=W(0,-1116548448,-1100473306,1029336727,1033211657)+W(1,-1112421659,-1100606697,1036113196,1043994373)+W(2,1042588164,1024205686,-1117467379,1033458902)+W(3,1042106754,1010302211,-1098518156,-1106715184)+W(4,1042013257,-1097689349,-1089574549,1056808676)+W(5,1060655799,-1082434496,-1087296749,1061342772)+W(6,1057924951,-1091727169,-1087667391,1059165410)+W(7,1057649845,-1093601226,-1095816456,1042727104)+W(8,999357322,-1114691470,1035575202,-1112225370)+W(9,-1100755553,1045312421,1040681774,1042186215)+W(10,1041805473,1042949980,1039236406,1042539448)+W(11,-1114265639,1035739628,-1113675407,-1105873704);sum2=W(0,-1106855677,-1114095075,1006854517,1036389819)+W(1,-1109245550,-1105124479,1044374087,1031620401)+W(2,-1132619277,1043212463,-1105277948,997072274)+W(3,1049991282,-1113287926,-1104242691,-1096737767)+W(4,-1106885840,-1120692701,-1104547241,1049279774)+W(5,1054861276,1058901209,1045612807,1052305677)+W(6,1046093411,1034709627,1054428932,1057655059)+W(7,1057224822,-1094426804,1054770354,-1094755169)+W(8,-1096936463,-1098591621,1032391465,-1140479293)+W(9,-1092919117,-1081363743,-1115708783,1051540981)+W(10,1034565381,1017473602,-1090444858,-1129490106)+W(11,1030915645,1044114915,-1098730750,-1092959620);WS(-1084020140,1068126260); +sum1=W(0,-1137936208,-1103771606,-1156074282,1006295077)+W(1,-1149620895,1038480604,-1104490636,1034316741)+W(2,-1110713826,1041233006,1018703789,-1141477121)+W(3,-1159113641,1005339683,1031629367,-1119964867)+W(4,1049395923,-1091558419,-1097931528,1049019906)+W(5,1033598516,-1099102215,-1086810430,1061237576)+W(6,-1098857908,1018408058,1059440745,-1094713154)+W(7,1036793310,-1108866660,-1122483505,1023717620)+W(8,1040511881,1023627215,-1123621559,-1117241095)+W(9,1044377854,-1115694024,-1108467318,1040083512)+W(10,-1146014215,-1145494414,-1120119968,1044961993)+W(11,-1129764324,1007729326,-1122997930,1038059949);sum2=W(0,-1114453597,-1134749664,1025130698,1015277664)+W(1,-1112547401,-1134874844,1032879133,1036987011)+W(2,-1116674795,1018163604,-1112115766,1038859445)+W(3,-1127718668,1003243264,-1128408082,983557058)+W(4,1033917561,-1115087054,-1117062871,1027591084)+W(5,-1114337945,-1108159193,1055956188,-1126832950)+W(6,-1114930086,1032023389,1052262112,1026538526)+W(7,-1132712652,-1120777676,-1105383385,968847366)+W(8,-1114105716,-1131991228,1019605180,-1101670769)+W(9,-1123425664,-1097147867,-1104354242,-1097729634)+W(10,1047994902,-1100180330,-1101321392,1058230624)+W(11,1042953566,1009596296,-1106875572,1046456588);WS(1044178094,-1112419455); +sum1=W(0,1014469647,-1106904202,1028145051,-1131480425)+W(1,-1111970637,-1103921210,-1114114798,1033460669)+W(2,1028778773,-1105642670,-1104772954,1018155424)+W(3,1036392279,-1105836421,-1122369255,-1120733619)+W(4,1050878345,-1101407218,-1113746394,1050373320)+W(5,1061375910,-1083033439,-1089975999,1059597501)+W(6,1054878354,-1100724747,-1089702156,1062331213)+W(7,1057064179,-1096031599,-1095744476,1050980308)+W(8,1036986154,1009224698,1005496122,-1097767254)+W(9,1025899544,-1155279741,1010606701,-1106579916)+W(10,1032512190,1015772371,1027233072,1034746546)+W(11,-1120232930,-1140419566,-1131981388,-1113254377);sum2=W(0,-1105410550,1016883675,-1120335698,1044058702)+W(1,-1119512188,-1103364509,1032351899,1033398047)+W(2,-1129503263,1043612533,-1123961512,-1121578506)+W(3,-1116781712,1044044613,-1110855577,1005093795)+W(4,1035757794,-1104385836,1021344157,1041124235)+W(5,-1105098443,1052569394,1068114101,-1105578788)+W(6,1025665274,-1095293941,1027075889,1037191880)+W(7,1023695645,-1106316439,-1113226379,1024086018)+W(8,-1085495757,1058928386,1057976488,-1087803383)+W(9,-1086748155,1048853947,1051244378,-1081571635)+W(10,1048618044,-1124003088,-1130402783,1031589750)+W(11,1039073287,-1120128288,1010599720,-1121765158);WS(-1095246679,-1087513362); +sum1=W(0,998672596,1034119552,1005582218,1027634667)+W(1,1026870673,-1141537276,-1098084154,-1149130110)+W(2,1027369115,-1115874224,-1098155038,1006905115)+W(3,1027010724,-1110211381,-1130796284,-1156874400)+W(4,1049059024,-1099832192,-1093682933,1054139855)+W(5,1065515488,-1088853800,-1089047862,1052649123)+W(6,1053781857,-1097071228,-1084571535,1064339388)+W(7,1056042372,-1095503614,-1107001190,1050040635)+W(8,1040529483,1024339285,-1142612208,1002440559)+W(9,-1126585773,1014930618,1025618962,-1122861959)+W(10,-1105399392,-1136815962,-1117714471,-1099945809)+W(11,-1117200441,1028298602,1018962754,1023818537);sum2=W(0,-1131412357,-1119369172,1041438934,1021849900)+W(1,-1125196517,-1114002177,1040592619,-1118206650)+W(2,-1144348946,1044882286,1032710077,1035111533)+W(3,1020034266,1034465258,-1106944856,1021086832)+W(4,1021256857,-1111021944,1035803991,-1128850825)+W(5,1025252531,1072474004,1038923952,1046750596)+W(6,-1128830461,-1095554578,1077302109,1048692472)+W(7,1034167215,-1126088605,1044371493,1032666924)+W(8,1042971908,-1109090883,1028120411,-1100551265)+W(9,-1083937830,-1100770381,1026074630,-1109478151)+W(10,-1084038225,1041329596,1049109423,-1067064389)+W(11,-1103479472,-1114595648,1033664959,-1106119426);WS(-1086863724,-1072185677); +sum1=W(0,-1117432553,-1108936247,999422396,1028385114)+W(1,-1109809663,-1104994067,-1104614655,1039695343)+W(2,-1123921882,-1146863602,-1154652341,1021420394)+W(3,1022384484,1034006493,-1114930982,-1130768465)+W(4,1053618221,-1097427086,-1096116227,1054099261)+W(5,1062802560,-1083398775,-1085349189,1060257868)+W(6,1045520765,-1110026089,-1099176000,1056152893)+W(7,1050379178,-1115290030,-1104661441,1044268562)+W(8,1026659130,1021035463,-1139590961,-1144842721)+W(9,1038629270,-1103266023,-1123772160,1037424170)+W(10,-1118540449,-1111374457,1017905387,1048207210)+W(11,-1101129750,-1108736604,997564786,-1129199023);sum2=W(0,1028330563,1017997140,1040406414,-1122660132)+W(1,1045687787,-1103384157,1025264396,-1115262781)+W(2,1029063313,986929807,-1151694751,-1108704409)+W(3,1013546756,-1115691336,1026201848,-1116092784)+W(4,1025921746,1022732374,-1096101684,1007232002)+W(5,1040909479,1055010544,-1102241564,1043786284)+W(6,1043690826,-1126901852,1057419270,-1108714653)+W(7,1038266954,-1115096031,1047767958,-1119932664)+W(8,1041150821,-1105481885,1041847394,-1114861255)+W(9,-1078483413,1061241514,1055232297,-1094431556)+W(10,-1078269109,1067726336,1063042984,-1079156700)+W(11,-1098859524,1052159629,1054314043,-1092610189);WS(-1100931758,-1079897221); +sum1=W(0,1034941050,1038153885,-1105750735,1002503979)+W(1,1040768819,1049149819,-1105238364,-1106318298)+W(2,-1141069099,-1106412131,1028324215,-1115730241)+W(3,-1123362142,-1114353739,1039911116,1027555620)+W(4,1017797614,1051948423,1042140489,-1109125113)+W(5,-1090093369,1059094088,1034322060,-1095922988)+W(6,-1102230944,1050624300,1049017573,-1091054939)+W(7,-1097766172,1043140938,1045992036,-1127686569)+W(8,1024057510,1035399096,-1119888216,-1126416416)+W(9,1040510958,1042879258,-1104877795,-1103862864)+W(10,-1106256757,-1112985689,-1120272065,-1112163155)+W(11,1018029782,-1117933580,1033961137,1017980086);sum2=W(0,-1106915273,-1120265428,1039272612,-1118098210)+W(1,-1115506453,-1112696018,1047577900,1038839398)+W(2,1016491198,-1123570623,-1123012045,1032442192)+W(3,-1145352236,1026228225,-1121836120,996494424)+W(4,1043187452,-1111026913,-1107428188,1033865352)+W(5,-1090204449,1068488571,1034998667,-1107536005)+W(6,1042935567,1013219076,-1096446249,982996928)+W(7,1030161309,1023915500,-1101384300,-1120793710)+W(8,-1108614463,-1129236656,-1138511840,1041731770)+W(9,-1073443109,1065503173,1049639209,-1104254290)+W(10,1041050172,-1104804103,1035312463,1040126834)+W(11,1038049010,-1106858818,1040382819,998034192);WS(1060652716,-1122012062); +sum1=W(0,-1120727741,1022556549,-1113850590,-1136700086)+W(1,-1102129381,1036351121,1030968440,-1136846536)+W(2,-1111246103,-1119797202,1049961616,1035874533)+W(3,-1111739075,1033695743,1037896960,1019584793)+W(4,-1098011208,1052398904,1056384406,-1093156519)+W(5,-1079676696,1061355096,1062519968,-1100004083)+W(6,-1087704492,1052440101,1059521337,-1097573322)+W(7,-1092447605,1048091420,1048869443,-1096988084)+W(8,-1106430355,-1114714908,1021600449,-1101587139)+W(9,-1107897312,-1113036024,1016310696,-1132405458)+W(10,-1109566980,956768943,1022545811,1048756772)+W(11,1043876621,1018273385,-1121983087,1020055223);sum2=W(0,1028726521,-1102458559,1033535752,-1134928360)+W(1,1041988393,1050124192,-1114678181,-1102649789)+W(2,-1125378124,1032107719,-1102215651,-1105797881)+W(3,-1134413224,-1119150822,1014416128,1034345705)+W(4,1031241917,1048810536,1056652859,-1108867200)+W(5,1056497468,1036208495,1051021341,1028753942)+W(6,1057082230,-1114740583,-1099717915,-1090602802)+W(7,1025484112,-1101875417,1002570703,1023046526)+W(8,-1100509489,-1123876292,1034782854,-1094974673)+W(9,1034323322,1037384204,-1100025719,-1100441695)+W(10,1041259997,1024245049,-1098766868,-1115767916)+W(11,1037850051,-1112409616,-1114560124,-1122784508);WS(-1104650926,-1097620835); +sum1=W(0,1021304961,-1105437010,1025795527,-1121602225)+W(1,1033606955,-1097752993,1039870965,-1132438763)+W(2,1032325913,-1109081755,1037504305,-1119908749)+W(3,1011690407,-1116159153,-1121171172,-1112547088)+W(4,-1108985665,1045711217,-1105175020,1046345311)+W(5,-1144407721,1062570208,-1093274991,1041625463)+W(6,1047145475,-1097698093,-1099088029,-1100934531)+W(7,1036418740,-1106563213,-1136783989,-1119544288)+W(8,-1117138161,-1145522137,1000929055,-1160491701)+W(9,1049985633,-1122762228,-1117941464,1040158758)+W(10,1004919651,1026835862,-1109694278,1037586881)+W(11,999804916,-1126831120,1024727664,-1124949278);sum2=W(0,1043997541,-1100601593,-1122873970,-1103930431)+W(1,1046282803,-1084779372,-1174042309,-1102154605)+W(2,-1116052960,1046060831,-1114322527,-1106269056)+W(3,-1113135778,1041954938,-1115511338,993204113)+W(4,-1108032519,1042591516,-1139346648,1048581640)+W(5,1068068442,1052027066,1045200151,1029742536)+W(6,-1119470820,-1115540046,-1098651742,1051594943)+W(7,1020181836,-1107159950,1021777728,-1138871916)+W(8,-1123657132,-1107477718,-1115391660,1030984702)+W(9,-1086671314,1025856678,1032437784,-1106767363)+W(10,-1127107345,-1121355040,1036550683,1024653780)+W(11,-1134598872,-1122730046,-1115373797,-1163609763);WS(1066180726,1071088208); +sum1=W(0,-1139409238,1001471451,-1125280121,1019239309)+W(1,-1117575980,1036666525,-1110062156,1016498838)+W(2,-1113394675,1048739493,1049354787,1000209679)+W(3,-1133365628,-1103045922,-1119525817,1030691589)+W(4,1012641888,-1137946220,1046613601,-1096761986)+W(5,-1098591157,1064065326,-1089511315,-1103040193)+W(6,-1090655988,1056455200,1058946251,-1079760364)+W(7,-1099636767,1050574049,1048597558,-1102803453)+W(8,1047813898,1006921793,1022045682,-1107071425)+W(9,1024305865,1025055882,1010038708,1045045936)+W(10,1013890551,1028621651,990559266,-1110782371)+W(11,1043476657,-1146495466,-1118324476,981956228);sum2=W(0,-1110784932,-1133524329,1043448685,-1132513434)+W(1,1015068960,1038994810,-1107748756,1015163300)+W(2,-1135254713,-1120882016,-1104237963,1033174530)+W(3,-1132281738,1042278645,-1105704866,1032888151)+W(4,1037755510,1047633966,-1092624350,-1099364915)+W(5,1041992963,1052941265,-1120785461,-1102119678)+W(6,1015880446,-1149514732,-1112171819,1059473601)+W(7,-1087682569,1032085587,-1106883398,1034086136)+W(8,-1103089496,-1105722911,-1119372495,1056566992)+W(9,-1122308723,-1115405106,-1123661455,1032253510)+W(10,-1121912217,1038410412,-1126727948,1028984470)+W(11,-1121651695,1025242322,-1113287020,1037486360);WS(1036385628,1044378228); +sum1=W(0,-1122454178,1024777096,-1119989961,-1125923878)+W(1,1034604284,-1106270482,1045742974,-1106272614)+W(2,1030894675,-1112273196,-1097223397,-1112814039)+W(3,-1130721815,974203052,-1131680651,-1123079474)+W(4,-1109744594,1050462805,1034400041,-1113894352)+W(5,1049041391,1056885773,1057689729,-1081686591)+W(6,1043400251,-1111542214,-1082103097,1058546239)+W(7,-1127331477,1030325078,1032256832,1024933634)+W(8,-1118152051,-1136375156,-1119159494,1040468885)+W(9,-1111838475,1033159371,1016953331,-1112362495)+W(10,1042722054,1008300000,-1127987422,1051410218)+W(11,1028514056,-1122308858,1020481857,-1104716944);sum2=W(0,-1118763531,-1105376950,-1124098806,-1126857538)+W(1,1032593429,-1110580495,1037674477,1031801448)+W(2,-1119835024,1039467599,-1116861031,1004108563)+W(3,-1169697445,1033383777,-1109178305,1016299757)+W(4,-1096176503,-1094874635,-1105780084,1017023528)+W(5,-1078904043,-1075832971,1071605005,1067983244)+W(6,-1111109918,-1112838992,1065456263,1060638644)+W(7,1040587540,1006549790,-1104548941,-1098624444)+W(8,-1140350635,1036694112,-1133097491,-1128747572)+W(9,-1097243929,1036064001,-1111308161,-1109792866)+W(10,-1114824160,-1103055030,1039332997,1040323331)+W(11,-1127435882,1022453269,1027541135,1033955221);WS(1044586414,987793058); +sum1=W(0,1029861564,-1105742952,-1094962922,981244734)+W(1,1008852553,-1106380176,-1103252055,-1127551587)+W(2,-1120415085,1036900841,1039776063,-1110264932)+W(3,-1111219811,1028803677,1025145152,-1128191927)+W(4,1054313512,-1099782448,-1106851755,1056192743)+W(5,1048369556,-1096188128,-1098041547,1058042871)+W(6,-1097596121,1058305414,1052995119,-1104749720)+W(7,-1103570473,1055249646,1045503990,-1105335335)+W(8,1027895469,1032524411,-1109764848,-1119312576)+W(9,-1121596880,1024237680,-1110892330,1019737521)+W(10,-1098125906,1026360866,-1120426409,-1106765091)+W(11,-1101993823,1031597860,-1151171624,-1106717007);sum2=W(0,-1116947191,1032730216,1038321486,-1170894487)+W(1,-1112734885,-1104751545,1034140662,1031282910)+W(2,-1112368696,-1115060896,-1102906173,1042944653)+W(3,-1149951158,-1103764076,-1124833342,1023647443)+W(4,-1102463031,-1109920837,-1093894288,1053283699)+W(5,1054507486,1065532097,-1089191295,1044178467)+W(6,1038784522,1029167633,-1115680584,-1128523954)+W(7,-1105151256,1048070264,1021288403,-1109068581)+W(8,1047091130,-1098101478,1046510222,-1100030896)+W(9,-1095028025,-1113780206,1046381950,-1097946325)+W(10,1050920778,-1114933696,1020709100,-1094781909)+W(11,1052479172,-1120673083,-1114621382,-1113980416);WS(-1114317660,-1079530866); +sum1=W(0,1045601427,-1100871485,-1115918380,1005492722)+W(1,1040691817,-1094477942,-1122621547,-1125684614)+W(2,-1122106750,1041157065,1044150368,-1138701159)+W(3,-1132247342,1037992735,1039210328,1010492340)+W(4,1040297908,-1115200394,-1116105277,-1124407701)+W(5,1054673340,-1097950923,-1103806788,-1098312611)+W(6,-1120050519,1040435582,-1088150296,1041833209)+W(7,1025359158,1032362656,1025767275,-1116922669)+W(8,1034785295,1024917256,-1125596386,1041270838)+W(9,-1103823208,1033886401,1026343653,1049040249)+W(10,-1121264402,1028146611,1039772509,-1129519613)+W(11,-1107139719,1032249339,1030520276,-1133614768);sum2=W(0,-1116868484,-1130123766,1035594747,-1155531695)+W(1,-1106991844,-1115576312,-1121397012,-1135508412)+W(2,1001487940,-1107263445,-1126221532,-1135674828)+W(3,-1131775200,-1125291430,-1121744498,-1119877490)+W(4,1034328851,-1113096514,-1101564588,-1111112193)+W(5,1050004218,1048453590,1029679690,1033705026)+W(6,-1123887534,1043692754,1050922209,-1117911568)+W(7,-1110635219,1032206024,1034884616,1017446183)+W(8,-1115452418,-1123313694,-1130931838,-1116834132)+W(9,1029930774,-1127714868,1018386998,-1152418495)+W(10,-1114385718,1023927325,-1121358676,1007646710)+W(11,1016330315,-1122013064,-1115969900,-1122169416);WS(1066254326,-1103165682); +sum1=W(0,1027879829,-1114107453,-1107990998,1032736195)+W(1,-1123062443,1041209406,-1103287009,1031762634)+W(2,-1148973229,-1113506869,1039171204,1004281096)+W(3,-1130151676,1042306865,1029657432,-1119568276)+W(4,-1121888407,1024426522,-1102376817,1040177417)+W(5,-1097968365,1045901207,-1086180914,1058340070)+W(6,1042461256,1045252895,1060563077,-1082040497)+W(7,-1106785311,1042341554,1035749465,-1110264442)+W(8,-1134855959,1012754494,1019040113,1034252186)+W(9,-1117801777,-1116847305,-1128188760,1048880356)+W(10,1021862138,-1140572507,-1149008906,-1108119503)+W(11,-1125959462,1010461490,1021245074,1017288487);sum2=W(0,-1124089023,1044764288,-1111267114,1021177914)+W(1,1019818775,-1103902938,1026571855,1026640236)+W(2,-1106530127,1046869720,-1139759728,1019369915)+W(3,1030498751,-1107211067,-1116925721,1038187852)+W(4,-1106310853,-1100663157,-1105822865,1038432054)+W(5,1063205014,1066152263,-1088005063,-1115065858)+W(6,-1096246655,-1098236584,-1093573252,1054784388)+W(7,1035488589,-1107121631,1033917272,-1115197568)+W(8,1039738660,-1121288215,-1122267795,1037666445)+W(9,-1094681119,-1112191805,1045614354,-1097556837)+W(10,1051664274,-1110480242,1041592438,-1095778937)+W(11,1038730556,1022742082,1015983837,-1104072801);WS(1062838508,-1098141683); +sum1=W(0,1033720508,1021336509,-1129876167,-1134697126)+W(1,-1119656591,1046652247,1014720225,-1121504814)+W(2,-1114868293,1033072079,1047400131,950602286)+W(3,-1113093265,1026913289,-1139606129,1034808260)+W(4,-1104597903,1019102333,-1099161722,-1116304310)+W(5,-1082370571,1058084844,1049624810,-1101916102)+W(6,-1096699752,1050650780,1053105145,-1091801796)+W(7,-1098146380,1048726310,1034036747,-1121911577)+W(8,1045312786,-1118743028,1030514076,1038618718)+W(9,1029119981,1009920435,-1134396481,1036131058)+W(10,-1119884597,-1133963803,-1132133195,-1119759594)+W(11,1017329950,-1121758433,990998386,1024218735);sum2=W(0,1018600110,-1114533760,1026947049,-1120814392)+W(1,-1124538308,-1107191892,-1112504706,1027325255)+W(2,1007599328,-1124222597,1023329910,-1127260613)+W(3,-1125977712,1019591350,1024046209,-1128821133)+W(4,1043306429,-1096357662,1029294693,-1124609851)+W(5,-1090928488,-1118772404,1075131584,1030055965)+W(6,1015958190,-1113584525,-1092017575,1046523168)+W(7,-1115445424,-1105922548,-1109468012,1022187138)+W(8,-1078857162,-1109773692,1054044776,-1089366560)+W(9,1060040329,-1102685120,-1105806639,-1106088729)+W(10,1047822624,1032716843,-1119137158,1045316672)+W(11,1038940063,1016647840,-1120065319,1021757630);WS(1054286935,1054427377); +sum1=W(0,1015966225,1024526894,1031868724,-1139016422)+W(1,1029692191,-1123790766,-1107528289,1034481375)+W(2,1037138557,-1101429240,1033739398,-1118014037)+W(3,996243233,-1114181077,1035472806,-1107878452)+W(4,-1100637795,1046711412,1027450488,-1103470657)+W(5,-1096987004,1036148808,-1098573729,1043922306)+W(6,1045510949,1016118627,1053311986,-1103397016)+W(7,998962565,1041113135,-1127637067,-1113746932)+W(8,-1105992614,1036202402,-1113202838,1036611766)+W(9,-1138151730,1006910195,-1121078688,1045477269)+W(10,1013880803,-1135069562,1033532379,-1103945702)+W(11,-1118755335,1020627009,-1112788047,1041047838);sum2=W(0,1020343611,1031676937,-1114977231,998302909)+W(1,1014080934,1053648356,-1113383024,1029585253)+W(2,-1115911996,1042686855,1044096370,-1135780688)+W(3,-1117868456,1037265024,-1108781434,1018594371)+W(4,-1115901635,-1117993552,1036510752,-1111023634)+W(5,-1095412525,-1083342245,-1099268355,-1091081120)+W(6,-1137657706,1037488276,1034064765,1066870285)+W(7,-1126645268,-1113946823,1014772326,1043350243)+W(8,1041465226,-1113757911,1033017445,1004185429)+W(9,-1115471327,-1161911507,1021941233,-1113451820)+W(10,1023464409,1018751107,-1120710156,-1118193886)+W(11,1032826620,967002060,-1148724493,-1138084208);WS(1069042774,1023813606); +sum1=W(0,982627530,-1113747494,1029846837,-1120569815)+W(1,-1122018428,1039673254,1033076468,-1113058670)+W(2,1021479086,1046432919,1038190732,-1110295833)+W(3,1013049407,1016231853,-1134594983,1001627822)+W(4,-1109565588,1048856613,1052864835,-1087916882)+W(5,-1085384902,1059308179,1056781822,-1095056850)+W(6,-1089999723,1059014405,1063669175,-1083727323)+W(7,-1094610970,1048044230,1044534497,-1094559921)+W(8,1011966045,-1136915076,-1130288148,1037940281)+W(9,-1107102153,1027021082,-1140629239,1041407837)+W(10,-1110936865,-1128736648,1007651659,-1111254596)+W(11,1046858383,-1114487747,-1139332738,1025983877);sum2=W(0,-1115645027,1030684990,-1088323667,-1097118790)+W(1,1042765123,-1082143899,-1081609065,-1109249259)+W(2,1028792702,1059694558,-1102809807,1015795842)+W(3,-1105083736,1072110122,1064574838,-1116071919)+W(4,1056476304,-1101283859,1049654149,1067177084)+W(5,1061996602,1055747315,1057270411,1058423359)+W(6,-1085597397,-1106003210,-1087207348,1006287482)+W(7,-1081832849,-1090423898,1023804763,-1080103447)+W(8,1040556965,-1124995735,-1108580354,-1120538318)+W(9,-1120372038,-1114753052,1017763415,-1122455315)+W(10,1042932361,1033427208,1040354664,-1106540179)+W(11,-1101912272,1049644025,-1098395984,1048665861);WS(1046279854,-1100682627); +sum1=W(0,-1110611178,-1114421037,-1109896894,-1155754074)+W(1,-1118509483,1027993210,-1131162933,1022309140)+W(2,1022155595,-1117693450,1040243222,-1109973457)+W(3,-1117715774,996768085,1019138289,-1107208537)+W(4,1030120983,-1124410677,1035511522,-1107576521)+W(5,1062355587,1059809630,1038811574,-1094043528)+W(6,-1110047247,1046487839,1038778317,-1094900881)+W(7,-1107567326,1039784548,-1127423844,-1110631994)+W(8,-1114543731,1008443967,-1116898232,1002805634)+W(9,-1113128332,-1141634631,-1122237996,1039227081)+W(10,-1109843880,-1132048229,1021837827,-1105636701)+W(11,-1112311954,-1128081977,-1123472091,1004796827);sum2=W(0,-1111094572,-1112866732,-1107499970,-1155805362)+W(1,-1123681391,-1140638716,-1106540686,1028160711)+W(2,-1119301235,-1139408516,1031083122,-1116453985)+W(3,-1115385578,-1116565509,1034592379,-1108559318)+W(4,1044264749,-1148903065,1035480223,1022847832)+W(5,1057429467,1045538131,1040150233,-1155674450)+W(6,1025824831,1041846065,1031696457,-1106158641)+W(7,-1121519923,-1129601606,-1120456085,-1111164410)+W(8,-1114470280,1021130376,-1110725720,-1120962569)+W(9,1016428102,1009992044,-1120260095,1010774604)+W(10,-1118124541,-1114275912,1026515918,-1120179561)+W(11,-1119709653,-1115407958,1011855672,999266665);WS(1068834358,-1130516755); +sum1=W(0,1043574522,-1095778974,1034114243,-1110020716)+W(1,-1129582842,-1108460854,1047457188,-1110718798)+W(2,1034180284,-1096959660,1054126843,-1114402010)+W(3,-1111247176,1039130852,1033414773,1025857751)+W(4,1048936405,1035735542,-1102038774,1048068617)+W(5,-1114164062,-1096174934,-1105529591,1038642250)+W(6,1049433806,1043709316,-1112126358,-1110583455)+W(7,-1119539023,-1112879245,-1123546692,-1136840220)+W(8,-1100504766,1038840817,-1110620517,1031998965)+W(9,-1130108598,1023990363,-1109142655,1047377413)+W(10,-1095231947,1040978881,-1122044916,1044906670)+W(11,1035429307,-1115530151,-1131191403,-1130058411);sum2=W(0,-1125442959,1040753488,-1108165952,970017593)+W(1,-1108273260,1051322703,1033984686,-1107196630)+W(2,-1132402709,1041587650,-1113564209,-1130992285)+W(3,988670622,-1122802752,-1116630320,1017358256)+W(4,1000227776,-1088611471,-1102798485,1047729556)+W(5,1055231112,1062180091,-1087549565,1038319755)+W(6,986706110,-1113546876,1046553690,-1094436986)+W(7,-1132214419,1032902155,-1120036494,-1124437274)+W(8,1049645408,-1108133201,1029593938,-1142827268)+W(9,-1103837458,1035145460,-1114349374,-1127043239)+W(10,1048231400,-1146643074,-1114342182,-1107399737)+W(11,-1145381770,1014303584,-1126967424,-1124561928);WS(1067517750,1033639701); +sum1=W(0,-1130341242,-1132678155,-1102897085,1025509678)+W(1,1018375590,1013105800,-1151042791,-1120272434)+W(2,1026047982,1032243033,1041000592,-1116961737)+W(3,-1113724179,-1123793645,1034904976,1025041660)+W(4,-1096924480,1040728225,1037697110,1023511162)+W(5,-1086033191,1062857884,1056422164,-1094474081)+W(6,-1093123217,1063905370,1058773976,-1085852953)+W(7,-1091335173,1057695471,1050274619,-1093479580)+W(8,-1108434135,-1138791135,-1138182274,1039047450)+W(9,-1122589009,1034477848,1010850641,1032921189)+W(10,-1106044526,1026848855,-1112868181,-1100255843)+W(11,-1136654701,1007925107,-1122948276,-1112977566);sum2=W(0,1047092496,-1110599661,-1101718380,-1101843642)+W(1,-1098074183,-1096713677,-1127672356,1032746990)+W(2,-1096910060,1035860070,-1104014372,1053786699)+W(3,1023876031,1051096852,-1097849415,1043846267)+W(4,1053918698,-1092942861,1051125372,1046322966)+W(5,1069438643,1074732797,1040369276,-1100340247)+W(6,-1083706115,-1080423025,1050011098,1025809994)+W(7,-1081917128,-1091623712,-1117530220,1048729218)+W(8,1058235489,-1101055683,1050651985,-1084762721)+W(9,-1088693676,-1103557505,1050412863,-1090389206)+W(10,999981171,-1099152238,1052371166,1053232821)+W(11,1050919626,-1123531943,1041618808,-1097505133);WS(-1098378327,-1087753140); +sum1=W(0,1013838405,-1131552366,-1123262056,-1149815841)+W(1,1025974631,-1103162646,-1114416842,1021155853)+W(2,1020943940,-1100518162,-1099404299,1017740987)+W(3,1031952605,-1098489580,-1111541722,-1137239299)+W(4,997589309,1025605911,1053738584,-1110243207)+W(5,1042062186,-1094476095,1049179692,-1104972312)+W(6,1059648114,-1101042271,-1093068705,1057054155)+W(7,1061110492,-1100382705,-1111532695,1047878460)+W(8,967065877,-1135340592,1031741109,-1096838314)+W(9,-1130981226,-1145022506,1029594857,-1108406847)+W(10,1010424693,-1112923496,1005012974,1023051300)+W(11,989087216,-1113821120,1030823984,-1117167136);sum2=W(0,-1111830177,1031752431,1032463913,1034695587)+W(1,-1116805918,1045285117,-1103205904,1017885202)+W(2,-1113376464,1044034906,-1092035876,1039973913)+W(3,-1109344122,1034392181,-1097056010,1024357631)+W(4,-1104893727,1010301739,1051055536,-1087773887)+W(5,1061301409,1065451004,1045597173,-1114987001)+W(6,-1096259933,-1101789830,1036331211,1053784665)+W(7,-1095057905,-1098597360,-1105822235,1015259894)+W(8,1003908630,-1111301343,1028563957,-1103774157)+W(9,999416278,-1106181364,1042437558,-1107230114)+W(10,1047293827,-1127455968,1014136811,-1118216068)+W(11,-1139528651,1017174230,-1137717779,-1119063058);WS(1051991511,-1090129628); +sum1=W(0,1028979258,-1103260128,1035475128,-1119709994)+W(1,1025156752,1041023848,-1099928080,1025569135)+W(2,1032797781,1040845476,1030722332,-1113846787)+W(3,-1126457798,1032471277,1015665914,-1137003429)+W(4,1048862488,-1107028176,-1099369674,1044364174)+W(5,-1103260308,1048877896,-1092954947,1054464119)+W(6,1039529634,-1113372113,1036105176,-1090331224)+W(7,1036006161,-1111431094,-1104520406,1015668019)+W(8,1037758213,-1142000036,-1122358045,1024914253)+W(9,992983000,1023847918,-1110227337,1045752341)+W(10,1027244574,-1139349278,1018698636,-1115078629)+W(11,-1113568276,1004297100,-1131269376,1039091960);sum2=W(0,-1117698064,-1096590117,-1098470129,1043798657)+W(1,-1101130902,1065791971,-1084690772,-1102458928)+W(2,1026623851,1019910088,-1123809426,1025730631)+W(3,1012466631,-1124630920,990258218,995294154)+W(4,1047971790,1037727050,1029962999,-1126555274)+W(5,-1099131342,-1083609361,1008201251,1067678357)+W(6,-1117295572,-1113754273,1031198846,1036453804)+W(7,1010360391,-1136369090,1030505142,-1116170672)+W(8,-1161955740,1022180969,-1131048284,1028782608)+W(9,1051059538,1014843769,-1120783295,-1103096568)+W(10,1041141064,-1111232000,1020274026,-1106261335)+W(11,-1119361560,1001879503,-1127235720,1028328942);WS(1062559660,1025273829); +sum1=W(0,1004255955,1041017424,-1098241838,1017067222)+W(1,-1109975080,1032386976,-1136327879,1019590495)+W(2,1004648665,-1112687016,1031451349,1028071367)+W(3,999516190,-1105242363,1040197151,-1129853588)+W(4,-1088941672,1050253504,1060515311,-1088364567)+W(5,-1083706517,1061681108,1064814036,-1087512143)+W(6,-1092690193,1052988124,1061080357,-1089169701)+W(7,-1093365052,1050105214,1048643203,-1100415991)+W(8,-1115329590,-1133026900,1036248943,-1113064427)+W(9,-1146803505,1028690158,1008140615,-1113817187)+W(10,1031379878,1030651112,1010963867,-1112935650)+W(11,1051227835,-1139571464,-1133141907,-1112391860);sum2=W(0,-1123128465,-1084402469,-1088438618,1058977722)+W(1,1025585093,-1092491618,-1097793743,1051128320)+W(2,-1090331128,-1094761348,-1090336452,1043020026)+W(3,-1101815127,-1080227574,1032815200,1037612985)+W(4,-1068917363,-1109667848,-1080154822,-1070888183)+W(5,1078112044,1058335327,-1080832517,-1079680807)+W(6,1070728174,1057746923,1067339759,1082393215)+W(7,1066541275,1067785018,-1122043266,-1090225897)+W(8,-1133954517,-1117456198,1020668753,1057028315)+W(9,-1089499329,1039195999,1031920962,1057005952)+W(10,-1096630558,-1139309423,1046190750,1038175360)+W(11,-1086032969,1046599598,-1116527206,1051816122);WS(-1077531606,-1068627295); +sum1=W(0,1034866077,1048375560,-1113367136,-1124767318)+W(1,-1130761376,1049955828,-1104403272,-1101653116)+W(2,-1121310187,-1108970480,1036710310,-1106412978)+W(3,-1107982930,-1107579101,1049541454,1040285922)+W(4,-1099058463,1047513184,1055377197,-1095446127)+W(5,-1087242437,1061174628,1058086815,-1090535733)+W(6,-1096168584,1056094244,1057172304,-1088900579)+W(7,-1095682732,1054731422,1047121222,-1097928011)+W(8,1045191539,1025894069,-1126382267,-1111814927)+W(9,1048150628,1008100281,-1117513042,-1094831865)+W(10,-1102502166,-1115104524,999030326,-1103308083)+W(11,-1103869114,1025118882,1032672660,1043510842);sum2=W(0,-1109912068,-1119472758,1021086937,-1118325221)+W(1,1073210842,1028908234,1051951524,1055626857)+W(2,-1108710534,1039597247,1044779683,1050117205)+W(3,1005945059,1026547602,-1130127373,1007734945)+W(4,1026424546,1030452362,-1131106753,1043003051)+W(5,-1081037490,-1079815727,-1103671831,-1092928023)+W(6,1044106321,1032627417,-1105002867,-1093398148)+W(7,1019051617,1023992222,-1108845723,-1119182686)+W(8,-1109242129,1007569065,1007248641,-1122810381)+W(9,1035695099,1034566233,-1112697430,1034708821)+W(10,-1112762482,1020894429,-1131640977,1037167425)+W(11,999154803,1009135009,-1144614067,-1120996683);WS(1027136184,1037475189); +sum1=W(0,-1100957374,1049686375,-1116112165,1032095571)+W(1,1008293424,-1096656387,1028374302,1042581547)+W(2,1046313162,-1105885187,1033692244,-1125080965)+W(3,1032243376,-1122778646,-1122471385,-1104233593)+W(4,1038845436,-1106083983,1049018533,-1115063802)+W(5,1053200569,1044615055,1046087792,-1088748902)+W(6,-1103807360,1052904956,-1090279185,1024446429)+W(7,-1114896431,-1113201013,-1106111045,1048125173)+W(8,-1120251015,1047825580,-1107767341,-1119314641)+W(9,-1099043646,1041068763,-1104556803,1034473457)+W(10,1033985068,-1106489925,1035958465,1029265287)+W(11,1045413959,-1123269230,1037737330,-1106885357);sum2=W(0,1046942588,-1090820835,1028061230,-1109957285)+W(1,1035311457,1053631926,-1168618571,-1108558913)+W(2,1020819182,1024395745,-1140171429,-1103268017)+W(3,-1119040125,-1111153127,1034074787,1017489970)+W(4,1047577084,1048459161,-1110812851,1045893852)+W(5,-1097789717,1028951753,1058947879,-1096957845)+W(6,1010859305,1018177816,-1086199154,1058472778)+W(7,-1134098557,1029986143,-1119421881,-1118924631)+W(8,-1114577527,-1106934834,1027149256,-1108048047)+W(9,1041621301,-1139749789,-1104794282,-1104353646)+W(10,-1101676043,1051639728,-1105608688,1047742834)+W(11,-1110045381,1035525353,-1105627073,1030918112);WS(1059085676,-1120419895); +sum1=W(0,1015920803,1041225150,1010567522,-1123531970)+W(1,1003238718,-1107069702,1048968044,-1129458830)+W(2,1019022757,-1131681870,-1107554082,1024388894)+W(3,1029064795,1018058500,-1110859547,-1122285937)+W(4,1042370229,-1105839574,1031892193,-1140828475)+W(5,1061545382,-1113798029,1052692461,-1081896608)+W(6,1048429719,1023517883,-1080962214,1057779808)+W(7,1043188126,-1109838114,-1107360247,1046207852)+W(8,1021017477,-1117671948,1013434325,-1126417758)+W(9,1033163859,-1110196995,1033141013,-1106306215)+W(10,974463598,-1104852314,998455538,1051334024)+W(11,-1182091254,-1115208005,-1130795454,-1137698561);sum2=W(0,-1104270657,1028093784,1051048471,-1115293356)+W(1,-1140125409,-1087783718,-1111420185,995357221)+W(2,1016190873,1035133120,1031459460,1041981586)+W(3,-1115228320,1019234873,1028088400,-1140513641)+W(4,1055158904,-1104160418,-1108089569,-1116254969)+W(5,1057721666,1060085251,-1113016550,-1108447426)+W(6,-1119040585,-1119561801,1041174723,-1086769840)+W(7,1043934745,-1097229960,-1114345654,-1121069799)+W(8,1040482382,-1109483288,1032305896,-1110389222)+W(9,-1106428297,-1106001572,1033267880,-1105273681)+W(10,1045849559,-1127947625,-1115354420,1046452617)+W(11,-1114369945,1033437588,-1119205024,1044224673);WS(1063842732,1069263660); +sum1=W(0,1031532473,-1122091454,-1122877239,-1134238373)+W(1,1031846503,-1102409375,-1114405937,-1118861678)+W(2,1032122901,-1113900631,-1105793535,-1118980549)+W(3,1033668289,-1133229476,-1129606328,-1119645672)+W(4,1052972391,-1097152888,-1099884346,1055968823)+W(5,1062381841,-1081966868,-1088480739,1057777668)+W(6,1051224528,-1107218856,-1086950263,1065218890)+W(7,1043160456,-1106065147,-1097976619,1055096307)+W(8,-1119905385,1025876211,1027783644,-1101209335)+W(9,-1166909210,-1124858713,-1133551424,1025124405)+W(10,-1105943487,-1136389690,-1146513705,1045788186)+W(11,-1107257190,1024085520,-1153551023,1011470685);sum2=W(0,-1122047761,-1119731325,1017497319,1008982555)+W(1,-1137222855,1050149080,-1110768789,-1134583037)+W(2,1029699842,-1094516021,1041298195,-1140752305)+W(3,1026101716,1029205125,1037679865,-1114302140)+W(4,1048705804,-1104624717,1044555710,-1114050188)+W(5,1079097716,-1088882238,1041907901,1082656561)+W(6,-1064571216,-1099205492,1050137131,-1069364548)+W(7,-1121859551,1040352044,-1109039739,-1105564781)+W(8,-1113283108,1042591944,-1121509319,-1115112254)+W(9,1033378952,1018241317,-1111081434,1041138312)+W(10,-1105508475,1008906239,-1128224049,1048604087)+W(11,-1131493091,1024193619,-1118064246,1026612451);WS(-1129102704,1046511454); +sum1=W(0,992833099,1029362986,1003871004,-1120255189)+W(1,-1138794987,1011030567,988783847,-1134582632)+W(2,-1129425099,-1111313565,-1118838023,-1157138191)+W(3,-1133147960,-1106432157,-1115457860,1016407976)+W(4,-1113473140,1049212165,1060542285,-1098175836)+W(5,-1091886143,1049733902,1059935407,-1095364566)+W(6,-1149570791,1041064643,-1115543549,1040190185)+W(7,1038304902,1029519512,-1119854466,1037653026)+W(8,-1118651222,1012659838,-1115237700,-1104614392)+W(9,-1109648580,-1116104473,1026034940,-1098721330)+W(10,-1105481630,-1112251695,1036784617,-1121023765)+W(11,-1111089569,-1170197274,1023835049,1031662787);sum2=W(0,-1104263814,1036699032,1022956598,1039353726)+W(1,1028285409,-1106986979,-1120983737,1027240563)+W(2,-1151417050,-1136397826,-1095425364,1032871415)+W(3,1023556565,-1098325150,-1108376211,1027668005)+W(4,-1154678850,-1088770012,-1088722171,-1093991321)+W(5,1067214284,1070132546,-1101846939,-1089878099)+W(6,1051464555,-1099095249,1045480826,1047639440)+W(7,1061372327,-1086577064,1043597107,-1104038071)+W(8,-1104468959,-1123571799,-1125147089,1039854738)+W(9,1029156699,-1117321918,1036003207,-1096446657)+W(10,1024325599,-1150420266,1027342659,-1098508409)+W(11,1034968116,1031516803,-1138411071,-1148394393);WS(1056411607,-1109579684); +sum1=W(0,1027988397,1031736403,1040494825,-1129654332)+W(1,1027974595,-1104250813,-1118623100,1041758889)+W(2,1038422303,-1115303377,1023561152,1038643645)+W(3,1047822542,1037517815,-1111435064,-1115801276)+W(4,1051564806,-1091392278,-1089114662,1053570965)+W(5,1057393436,-1081469355,-1087917688,1061336939)+W(6,1052932495,-1085011849,-1091410052,1065029703)+W(7,1056446507,-1089621406,-1108233957,1051403778)+W(8,1018661052,1032323860,1041782836,-1099475130)+W(9,-1094207710,1010041732,1035039650,1034322317)+W(10,-1096091282,1020820966,1041287822,1052271760)+W(11,-1095410877,1043391417,1036272138,1036087894);sum2=W(0,1043151870,1054945342,1063327246,-1114696922)+W(1,1045725515,-1078968963,-1111180476,-1098855398)+W(2,-1093166728,-1073598210,-1075182266,1041130784)+W(3,-1097485062,-1069127579,-1072729035,1048010869)+W(4,-1091433742,-1108711949,-1089121793,-1085101471)+W(5,1071264665,1049748951,-1096795753,1044429796)+W(6,1074573142,-1107925652,1041099170,1068966947)+W(7,1082548410,1057234494,-1087601324,1072575447)+W(8,1036153834,-1114908726,1041765085,1049274948)+W(9,1043607695,-1113887753,1017938665,1047012469)+W(10,-1106854972,-1097732836,1052357470,1008700501)+W(11,-1095686167,-1117196119,1035577978,-1100708600);WS(-1075355670,-1094395357); +sum1=W(0,1031927794,1019602069,1013276974,-1145694380)+W(1,-1107635165,1046251906,1034056645,-1126751284)+W(2,-1117999477,-1101824103,-1107984424,1035883256)+W(3,-1135056568,-1113050587,-1117853800,1025403748)+W(4,1012968093,-1105184299,-1102394069,1022872131)+W(5,1059501808,-1079531190,-1089968245,1064151904)+W(6,1052884390,-1097950850,1040654683,1052823861)+W(7,1051481338,-1099617206,1021798787,1040309473)+W(8,-1113047243,-1123577887,1032373060,-1132601278)+W(9,1045395638,-1121043161,1012023536,-1112578984)+W(10,-1102570614,-1124087697,-1136193989,1035604635)+W(11,-1117559395,1015049529,1014648876,1016601958);sum2=W(0,-1099966915,1050797480,1024400373,1040559153)+W(1,-1122400566,-1088192853,-1098907063,1051040838)+W(2,-1127876766,1040989775,-1132746540,-1103745056)+W(3,-1122216569,1024449813,999475557,-1118336076)+W(4,-1095559069,1048535090,-1102969122,-1112035522)+W(5,1063399780,1065515124,-1081423354,-1091507667)+W(6,-1101527709,1047332946,-1104928579,1064106398)+W(7,-1118033876,1047796018,-1171911780,1025976147)+W(8,-1109162397,1035803260,1008704054,1035694118)+W(9,-1098794388,-1104133833,1032276403,1049424016)+W(10,-1105732065,-1109516912,1042270874,-1097345189)+W(11,1036172042,-1106418589,1033064723,-1107661001);WS(1045480366,-1089018411); +sum1=W(0,998930446,-1119371847,-1147321796,956510844)+W(1,-1113698796,1047477674,1033743797,-1129843310)+W(2,-1126854725,1019312750,993727556,1001814128)+W(3,-1127622934,-1124727396,991522899,1033942209)+W(4,-1114996930,1016456206,1046172476,-1098659472)+W(5,-1080535200,1065762350,1060852743,-1084286683)+W(6,-1095107249,1054147605,1055209670,-1100569285)+W(7,-1102902186,1049320503,1040201800,-1106428344)+W(8,1032232105,992745416,1012429717,-1117032824)+W(9,1036591131,-1130833259,-1120189081,1034928007)+W(10,-1103835661,-1162991986,-1112309127,1034876769)+W(11,-1117790432,-1166423644,1019870324,-1110790848);sum2=W(0,-1138029383,-1112450391,1034251754,-1135134951)+W(1,-1105815405,1013788103,1048129179,1039247354)+W(2,-1108579602,-1098532570,-1107279344,1043479193)+W(3,-1114044136,-1106884027,-1125069222,1036464698)+W(4,1048844919,-1097747276,1028246411,-1112699779)+W(5,-1102377508,-1085286825,1030988939,-1081251706)+W(6,-1079912447,1048531717,1066704374,1074756442)+W(7,-1113485350,1037742006,1025432715,1051417558)+W(8,1036047504,-1116303285,-1141862453,1024730233)+W(9,-1098604264,1026446373,1032058431,1032907358)+W(10,-1097926469,1017067577,-1115422697,-1121203556)+W(11,-1114746618,1026757097,-1110631868,1037541288);WS(-1129198960,-1098545020); +sum1=W(0,-1109829274,1046260982,-1103774667,1016631370)+W(1,-1135763497,1029491033,1041444949,1027654249)+W(2,-1109147378,1047095266,1033440347,1022371969)+W(3,1000105708,1031236725,-1135425502,-1124465415)+W(4,-1103302894,1038066845,1055978916,-1097986678)+W(5,-1087937321,1064242364,1057520791,-1085753764)+W(6,-1092825640,-1106434743,1043702710,-1100503343)+W(7,-1092048676,1048160666,1042256612,-1114972810)+W(8,1013747092,1026014767,-1113370572,998946812)+W(9,-1108378356,-1124979408,-1133701934,1033950432)+W(10,1039795292,-1123636138,1034434352,-1149232679)+W(11,1047273267,-1110866582,-1133096682,-1134578155);sum2=W(0,-1111810524,1041574978,-1101060946,1008784866)+W(1,1035375858,1009783259,-1113715041,-1123287968)+W(2,1014562100,1037249766,-1117592464,-1131156064)+W(3,1025684805,-1116058888,-1112331585,1013976797)+W(4,-1109901275,-1123470329,1046672822,1045200185)+W(5,-1099551228,1057574679,1052382391,-1111729623)+W(6,-1126723736,-1088911756,1037781521,1028611861)+W(7,-1123970907,-1098796399,-1105025107,1048583824)+W(8,-1113194466,-1124039764,994298612,-1118279822)+W(9,-1090683445,1025528776,1016737108,-1105523541)+W(10,1057541056,1038965019,1044936991,-1089242363)+W(11,1058673062,-1111874598,-1100984465,1046019340);WS(1055927127,1032414456); +sum1=W(0,-1114645447,1038629978,-1105922759,1026777470)+W(1,1034928754,1048976902,-1118870909,-1107741345)+W(2,1036990351,-1116578243,1031310464,-1106080726)+W(3,-1115024108,1028926430,-1121324945,-1132545269)+W(4,-1109541160,1049649890,-1114467391,1039415013)+W(5,1035267569,-1110167275,-1099187900,-1121580331)+W(6,1052806443,-1098780639,1044706191,-1092363639)+W(7,-1107491323,1026721601,1042096283,-1105847083)+W(8,-1118657663,1029983880,-1109775801,1040445212)+W(9,1050521172,1032803169,-1103039897,1040802710)+W(10,1045812872,-1117906236,-1106266495,-1122260014)+W(11,1028974308,-1113700371,1031828590,-1112784326);sum2=W(0,-1116647554,1046850624,-1095477634,1046339838)+W(1,1019769686,-1090363791,1046890022,1008329020)+W(2,1035617664,-1092874283,1015468535,-1108633040)+W(3,-1127469148,1032940188,-1110478242,1033551944)+W(4,-1097525459,1046513622,-1106007640,1041080449)+W(5,1051375999,-1097018549,1055899106,-1087064144)+W(6,1061754259,-1100515622,-1122727333,1042338708)+W(7,-1108757958,1042447169,1043707610,-1118600243)+W(8,-1109703351,1043170037,-1124447256,1022253579)+W(9,1049672544,-1097807314,-1100004355,1048733947)+W(10,1025134369,-1112390214,-1129042543,1051464963)+W(11,-1108633308,-1120359161,1040819075,-1099218588);WS(1063732396,1030954530); +sum1=W(0,976782235,-1151769923,1036299263,1032126752)+W(1,-1118035684,1048463661,1034233519,1026279044)+W(2,-1121995199,1036166050,1036782808,1028715099)+W(3,-1124714096,1046021200,1020132772,1032435871)+W(4,-1126287138,-1100277765,-1085959612,1040042182)+W(5,-1092651532,-1099766629,-1112294345,1024363996)+W(6,-1102126950,1049742039,1035866674,-1113174091)+W(7,-1096484767,1041160144,-1116277291,-1118937966)+W(8,1040546448,-1135394341,1017251428,1040218780)+W(9,1048686290,1013744650,-1164354746,1044348191)+W(10,-1118854702,972654113,-1137751148,1009750781)+W(11,1026126509,1032085003,-1123833085,1040779899);sum2=W(0,1005726416,1027252420,-1114346246,1023560328)+W(1,-1115408842,-1102003721,-1128267680,-1116687692)+W(2,-1105589301,1012806192,1038357336,1041728877)+W(3,-1113100068,1032847335,1025579970,1038558105)+W(4,1058379047,1066361916,1080093571,1055635447)+W(5,-1075825777,-1069273193,-1079490865,-1093219742)+W(6,1043596623,1040586029,1048667285,-1122468504)+W(7,1037773232,-1123027612,1032482622,-1110943172)+W(8,1041698127,1032891532,-1109086292,1053265582)+W(9,-1103412699,1040229437,-1142986448,1044641580)+W(10,-1123753164,-1116993440,1008854368,-1104322529)+W(11,1003892288,1027065900,-1125346072,-1134749344);WS(-1091386327,1040820769); +sum1=W(0,1015097725,-1145488419,-1113530145,-1133727678)+W(1,-1114059050,1038143634,1016526204,-1138479056)+W(2,-1122041679,1031893970,-1118547201,1024901707)+W(3,-1123564392,1007161468,-1120867010,1013224377)+W(4,-1111308865,1043618337,1033777591,1024243708)+W(5,-1091368514,1056300329,1057905859,-1103657483)+W(6,-1104061090,1024793576,1019703993,-1102986721)+W(7,-1118947879,1024563890,-1114932462,1020963773)+W(8,-1113425624,1016257779,-1122301794,1009482248)+W(9,-1103801765,-1136938187,1026855702,-1104459527)+W(10,1039830345,-1111999542,-1118577003,1043076580)+W(11,-1129826522,1018984621,-1119434421,1042855834);sum2=W(0,-1121259996,1034914627,-1107425211,-1118014300)+W(1,-1120519112,1041680563,1057124947,-1118480989)+W(2,1031820662,-1114315301,-1110358856,1034237400)+W(3,1029964608,974005161,1010762999,-1116062192)+W(4,1058886039,1043257251,-1122432623,988341556)+W(5,-1067455811,-1080970083,1049657622,1080471640)+W(6,-1113532913,1051213388,-1091987171,-1105716188)+W(7,-1106855886,1037720533,-1109593637,1033223294)+W(8,-1110426684,1030027284,-1122715046,1031639360)+W(9,-1105451271,1012008135,1022014335,981320073)+W(10,-1110623014,1009779611,-1121988626,1044181951)+W(11,999181553,1028099986,-1113750985,1038375349);WS(1067317974,-1128063738); +sum1=W(0,1030230219,1008892739,1047000343,-1112292702)+W(1,1037678225,-1110797816,1038318737,1023947008)+W(2,1032095758,-1114918032,-1118959774,1016840879)+W(3,1023530868,1004226268,-1114992535,1018620213)+W(4,-1130941083,-1108932456,1048838463,-1088068429)+W(5,1055157388,-1096039434,1034700890,-1122235065)+W(6,1052878187,-1088738347,-1113377160,1048428783)+W(7,1052393190,-1082056652,-1100769370,1036886165)+W(8,1013016624,1017454988,1027999791,-1121751190)+W(9,1039874719,1025959551,1031463650,-1165199081)+W(10,1045859362,-1143147336,1018062255,1031603132)+W(11,1050791676,-1115371169,1018649043,1028131502);sum2=W(0,1004731920,1038964407,-1091622621,1017164622)+W(1,-1106036842,1047078409,1049069382,1046790460)+W(2,-1103678216,-1098544714,-1107481011,1036535757)+W(3,-1122761780,-1107095641,1040369699,1025471738)+W(4,-1113390241,-1112910469,1067262657,1072454217)+W(5,-1071223185,-1073367678,1044434118,-1080520963)+W(6,1061994978,1029437169,-1099641871,1059476479)+W(7,1054597152,1062276141,1051233508,1053016271)+W(8,1038887363,-1108193245,1035940089,-1098954881)+W(9,-1106847320,-1127548642,1032575148,1033204278)+W(10,1030771421,-1109007913,1015223408,967303234)+W(11,-1113404397,-1116480773,1042599225,-1123160801);WS(-1095745367,-1102532016); +sum1=W(0,-1125050061,-1115476726,-1131139906,-1117700567)+W(1,1032821374,1043020835,1044141479,-1104292247)+W(2,1026094807,1027591436,1033588284,-1106685309)+W(3,1025256272,-1109574827,1031476842,-1109617979)+W(4,1049785973,1034862742,1031266390,-1104729417)+W(5,-1103984511,1025371182,1043929817,-1096094522)+W(6,-1092452582,1049600882,1048857569,-1135965844)+W(7,-1108767399,1045422790,-1127826823,1035377859)+W(8,-1108925228,1021444802,-1123836106,1034962037)+W(9,1003529681,1036065165,-1112024639,-1121682994)+W(10,1029191534,1028793076,-1114922921,-1108409524)+W(11,-1147768356,1027631502,1025559229,-1105178749);sum2=W(0,-1090566997,1058641835,1050493331,-1102917712)+W(1,-1084121809,1066117726,1072277942,-1083236080)+W(2,-1098664696,1016159325,1055792221,-1092542987)+W(3,-1109069600,-1107091755,-1123932559,-1115432352)+W(4,-1106617401,-1131983160,1038417192,-1104683957)+W(5,-1110147426,-1097349120,1026745412,-1083529216)+W(6,1047496584,1048447149,-1092834676,1053260074)+W(7,1041712051,1019306140,-1110071086,1040670728)+W(8,-1117134944,-1142618034,-1124032472,1032679083)+W(9,1045086676,-1107466492,1033461689,1030312114)+W(10,-1103742512,-1111688997,1040055828,-1115504874)+W(11,1023956348,995416610,1025562022,1018575153);WS(1064673964,1027541745); +sum1=W(0,-1105951646,-1104573695,1042078126,1040862122)+W(1,1047048323,-1111978190,-1104241265,-1159900529)+W(2,-1115789415,1032018046,-1096920009,-1123048515)+W(3,1028373376,-1099040790,1022298419,1032172675)+W(4,1032906140,-1098380055,-1092017101,1060076351)+W(5,1064315273,-1089015252,-1084208856,1059885441)+W(6,1050382000,-1095947620,-1085419935,1059865934)+W(7,1058530774,-1087017843,-1104053605,1053685923)+W(8,-1103234546,-1122608113,-1113513485,1050924251)+W(9,1048739529,-1097330869,-1114509959,1045405901)+W(10,1032498465,1009712656,-1130206982,1043557114)+W(11,1037400788,-1099616447,1011282770,1042167691);sum2=W(0,-1096514001,1050849818,-1137481092,1039738446)+W(1,1083413745,1041988969,1017170018,1067583917)+W(2,-1089267428,1054896719,-1115429835,1067818743)+W(3,-1102208699,1042362507,-1108022123,1050540062)+W(4,-1109747727,-1102987618,998253152,1036746190)+W(5,-1066189939,-1088427847,1044897487,-1078331016)+W(6,1050059376,-1108032139,-1125950758,-1077977055)+W(7,-1140654200,-1098634922,1038480975,-1119460484)+W(8,-1144728624,-1103405950,1029249908,1035100433)+W(9,1030429056,1049519441,-1113657787,-1108804343)+W(10,1045807183,-1104699523,-1105416150,-1124211336)+W(11,-1138500556,-1135144148,1036658641,-1164441214);WS(-1084384556,-1100810808); +sum1=W(0,1033258828,-1114756638,-1101205955,1032390692)+W(1,-1153131217,-1123281148,1034225747,1036208454)+W(2,-1113170436,-1110681734,1052764669,1035878930)+W(3,1008810370,1010363102,-1132636906,1034716867)+W(4,-1115332589,1044941511,1056723089,-1095424763)+W(5,-1080799329,1058219330,1059213081,-1089988048)+W(6,-1089641270,1051546784,1065718984,-1086451675)+W(7,-1089944572,1051751177,1048907447,-1111992667)+W(8,-1103092466,1038921097,-1113631133,-1103994552)+W(9,-1102604175,1029458059,1041433148,1016698694)+W(10,-1105901266,-1114617106,1046701849,1010056863)+W(11,1025009925,1042675492,1022756491,-1104305197);sum2=W(0,-1123544386,1040443741,-1106845972,1003892755)+W(1,-1099919704,-1098641213,1041556166,1040199158)+W(2,-1114201767,-1102894487,1043027552,1046124074)+W(3,1018916205,1029095170,1031291554,-1137485313)+W(4,-1099129814,1046395618,1042856976,-1130802613)+W(5,1044973210,1051151809,1049252005,1034864555)+W(6,1040886200,-1098031952,-1120255910,1046986152)+W(7,1035815457,1034278467,-1103612985,-1097152858)+W(8,-1117156960,-1128022157,1035865477,-1090921483)+W(9,-1094482604,1033022953,1029291710,-1101642940)+W(10,-1113386876,1031856421,1028643166,1049495257)+W(11,1026205590,1020718685,-1106468948,-1132183417);WS(-1097545175,-1081485407); +sum1=W(0,1036906638,-1107749409,1034150438,1036015463)+W(1,-1148467606,-1130068931,1025404544,1033438601)+W(2,1043481795,-1129433572,-1110996648,-1116883369)+W(3,1035852867,-1133343797,-1112307200,-1107248831)+W(4,1041348600,-1091465804,-1085934785,1057909318)+W(5,1062920275,-1085185870,-1088212159,1058891216)+W(6,1057530498,-1097522985,-1083820335,1058446394)+W(7,1058924580,-1088845017,-1098817647,1041812911)+W(8,-1120240750,-1115496908,1033963168,1035924004)+W(9,1044931644,1034996968,1023737332,1040930578)+W(10,1046628778,1044774695,-1109644005,-1110014855)+W(11,1031062731,991839047,-1109394217,-1112689630);sum2=W(0,-1073537081,-1097506962,-1096165509,-1085422352)+W(1,-1103264022,1037776879,1035648589,-1090145600)+W(2,1039561049,-1132410675,-1106454260,-1098060014)+W(3,-1097648243,-1093619532,-1095706003,-1111561066)+W(4,1050305732,1042351306,-1090487063,1057773529)+W(5,1064009122,1057815879,1042246902,1070820271)+W(6,1037201191,-1132940238,1056492080,-1102687355)+W(7,1065891070,-1104795343,1047053654,-1106323076)+W(8,-1096519547,-1098077313,1048850208,1044955346)+W(9,1035447241,1039355809,1040847724,1012707558)+W(10,1055262754,1034334977,-1128314591,-1098251612)+W(11,1017091667,1044351754,-1107078913,-1098685023);WS(-1079771574,1075069839); +sum1=W(0,-1111167476,1021133405,-1118529175,1032166989)+W(1,1032734815,-1104246611,-1093562003,-1123178206)+W(2,-1112820125,-1114628655,-1098100446,1029165557)+W(3,-1114861753,-1119446905,-1133453360,-1135576864)+W(4,1048648437,-1092445782,-1092970539,1055702741)+W(5,1071187580,-1118830448,-1088433116,1062276827)+W(6,1049405702,-1093425874,-1097110780,1061220800)+W(7,1051379002,-1094782027,-1109854691,1042497282)+W(8,1033539229,-1142239002,-1113551430,-1117950828)+W(9,-1114529494,-1119974813,-1110397888,-1104828877)+W(10,1023590922,-1111568211,-1139975764,-1112849365)+W(11,-1104282614,-1107804608,974859957,992807281);sum2=W(0,1008476139,-1092753943,1058265898,-1108373663)+W(1,1048684757,-1094584251,1052155727,-1104454680)+W(2,1053127551,1027921055,1044002260,-1093428939)+W(3,1052320010,-1093142139,-1109762731,-1096653504)+W(4,-1098184263,1036219103,-1097633487,-1105791278)+W(5,1051207789,1059813061,1039768739,-1106622092)+W(6,-1092246791,1058749571,1037804238,1040647411)+W(7,-1102532444,1056925595,-1091622541,1028193495)+W(8,-1096394805,-1106791026,1041333883,1040059628)+W(9,-1089567461,1043988712,1034264586,1043022076)+W(10,-1109099791,1046191998,-1094438691,1053976656)+W(11,-1105143398,1027895571,-1105323978,-1128546349);WS(-1080085654,1070612946); +sum1=W(0,-1118763904,1017624971,-1111019203,1024243697)+W(1,-1125372076,1049904509,998267115,-1129448298)+W(2,-1113325424,1036368923,1044325341,-1130529432)+W(3,-1115811081,1029887376,1022422215,1028582463)+W(4,-1093242824,1049086721,1051294614,-1099863023)+W(5,-1083526619,1063525996,1054244159,-1096657110)+W(6,-1089131829,1052725165,1060516258,-1084273056)+W(7,-1095229037,1047234173,1045179095,-1100657096)+W(8,-1110032568,-1129474933,1001929499,1018553499)+W(9,1050014740,1034265690,-1103030358,-1107816470)+W(10,1042939778,-1137068591,1028809164,-1120428313)+W(11,1034815359,1023513072,995816851,-1105723916);sum2=W(0,1025235210,1042086314,-1114994936,1027629060)+W(1,-1130467636,1043514454,-1109536432,-1125103522)+W(2,1020465580,1034381305,-1116030212,1000499297)+W(3,1014590712,1032991925,-1133867384,-1138182160)+W(4,-1110089750,1041443307,-1120685804,1044032624)+W(5,1040857173,1078385077,1041551160,1027377576)+W(6,-1102199059,-1097624207,1071531230,1049094807)+W(7,-1107097337,-1110894461,1042950964,1040209410)+W(8,-1109301707,1028557604,-1128032940,1028515824)+W(9,-1069674168,1041445431,-1095260923,1038947979)+W(10,1042363648,-1111317304,1044521776,-1072009528)+W(11,1020171064,-1115643044,1026231984,-1100125727);WS(-1094677847,1071331518); +sum1=W(0,1027561514,-1102155388,1050522446,-1108370254)+W(1,-1118400576,1052444946,1051883284,-1098732332)+W(2,1020701942,1036179296,1048632224,-1098654343)+W(3,-1102267173,1046936641,1043748547,-1114608461)+W(4,-1096900614,1033926552,1059909490,-1090412394)+W(5,-1081990504,1065971548,1060113893,-1088235704)+W(6,-1095695623,1055081266,1057796766,-1083209683)+W(7,-1088405429,1057781222,1048355474,-1096819473)+W(8,-1108396174,-1099365497,1045668787,-1131659964)+W(9,1016076284,1045429432,1036562753,-1104366446)+W(10,1044926426,-1115499084,1027649399,-1094058291)+W(11,-1122894705,1041162909,1020598162,-1102235562);sum2=W(0,1039340517,1011988276,1042298222,-1102306900)+W(1,1032447827,-1099734245,-1104503945,1036459319)+W(2,1052797014,1032685073,1032726509,-1099327251)+W(3,-1098452307,1031495568,1045894449,-1122082449)+W(4,-1091773202,-1083547573,-1097774924,1021581591)+W(5,-1071833762,-1070847208,-1076320925,-1086047943)+W(6,-1094401898,-1084551630,-1079468544,-1087097517)+W(7,-1094627244,-1097740674,-1096261152,-1089730964)+W(8,1050176620,1060043835,1044651623,1051289508)+W(9,1069182349,1080482397,1072230275,1066124397)+W(10,1061745990,1060905071,1067612874,1058492703)+W(11,1062784611,1036170953,1035766217,1029975482);WS(-1075403638,-1098484659); +sum1=W(0,1031048294,1016567255,-1141902179,1008218969)+W(1,1045188911,1018204181,-1102849342,-1123131291)+W(2,1016373997,-1102752375,-1097928441,-1123984690)+W(3,993498863,-1111653947,-1119205801,1038284987)+W(4,1051272109,-1097302541,-1098198307,1045612697)+W(5,1067242878,-1083074125,-1089514713,1045999461)+W(6,1039307800,-1089521325,-1090995143,1057827361)+W(7,1048974634,-1089001074,-1111274305,1052680217)+W(8,1045061466,1032424528,1014117412,-1115216112)+W(9,1055219615,1039741805,-1117285565,-1110301017)+W(10,1018247819,990571063,-1138318152,1042127630)+W(11,-1112012330,991913685,1035406958,1043301703);sum2=W(0,-1123900432,1023477569,-1136655860,1032878555)+W(1,-1120535472,1007422372,993352402,1029453781)+W(2,-1109544472,-1138628828,-1110556919,1040510410)+W(3,-1113659102,1035524869,-1137184004,1036988619)+W(4,1032172309,1040892014,-1113247036,1031615749)+W(5,1063516373,1059067488,-1093800370,-1101515073)+W(6,-1101753271,-1112478460,1049733424,-1114866186)+W(7,-1110546008,-1106958218,-1128679382,1046060209)+W(8,1041677780,-1122117887,1033821831,-1102324444)+W(9,-1101931537,-1118366060,-1111754290,-1099560811)+W(10,-1137342172,1043560141,-1131546954,-1091691569)+W(11,999359657,1026284797,-1110783375,-1112686045);WS(1018938736,1060529869); +sum1=W(0,1008598737,-1120766810,1037607357,-1114076530)+W(1,-1118730378,1019917938,-1113865353,1029696041)+W(2,1012443924,-1119787914,1041300082,1036159584)+W(3,-1133449206,1018668169,-1102751430,1034257674)+W(4,1044442542,1024586298,-1166977277,1045714156)+W(5,1049628033,1048848151,-1084710912,1057228923)+W(6,1042784239,-1110703311,1052825757,-1081803320)+W(7,1031639516,-1111061268,-1108049641,1016494120)+W(8,985048227,1019680094,1003359422,-1102825464)+W(9,-1109196652,1032134772,-1122235660,1048654858)+W(10,1021290536,1025035938,1023446241,-1101625253)+W(11,1018121541,1028394476,-1122160707,1039349129);sum2=W(0,1009999826,-1117028555,1033337426,-1146778654)+W(1,1027431889,-1100415596,-1092512747,1042445717)+W(2,1034933139,1031653672,-1100913756,-1118789096)+W(3,1039233552,-1123203031,1049736808,-1102516465)+W(4,-1107426057,-1113617305,1023259685,-1101837401)+W(5,1063146362,1058459732,1063964069,-1106280442)+W(6,-1121957589,-1139753565,-1101061454,-1086144449)+W(7,-1123128270,-1143324392,1034026738,-1104136456)+W(8,1042598704,-1119841713,1017616818,-1165315756)+W(9,-1136881638,-1110929163,1033400884,-1101414619)+W(10,1035181957,-1110261015,1043348599,-1099212326)+W(11,-1103321885,1032933914,-1119239229,1031514566);WS(1057790316,-1113005641); +sum1=W(0,1016842734,-1180462681,1034968039,-1123468520)+W(1,1031334797,-1111663246,-1141354132,1017823704)+W(2,1032276500,-1102337515,-1096962432,1029517379)+W(3,1032934320,-1115337892,-1112383277,1024531558)+W(4,-1109372445,-1126387193,1035442035,-1107161453)+W(5,1060769665,-1097006056,1045333479,-1097660717)+W(6,1057344992,-1087615930,-1085875335,1062816796)+W(7,1048852876,-1104188731,-1099229077,1050585827)+W(8,-1110219956,1001956750,1040623159,-1107573447)+W(9,1016331253,-1121213099,1034883047,-1111689634)+W(10,1042154624,-1110655190,999707420,1042106418)+W(11,1007994773,-1125102461,1027213229,1021430571);sum2=W(0,-1119743709,1032385395,1006384241,1027505374)+W(1,-1129702556,1009992786,-1110226975,1022357321)+W(2,-1116658238,1015280579,-1117540770,1025908250)+W(3,-1132286080,-1123806249,1013929491,1007287620)+W(4,-1124784904,1055108824,-1102596332,1038217397)+W(5,1038388564,-1096068823,-1095998103,1036163691)+W(6,1043662427,1052401764,1027585837,-1107551412)+W(7,1032548500,1049275421,-1112465838,-1110875284)+W(8,-1101781911,-1110486748,1054112069,-1088198084)+W(9,-1082211809,1060625206,1063443275,-1077861124)+W(10,1063419774,-1084462256,-1095993202,1067639721)+W(11,1054953848,-1088060635,1040943353,1041946916);WS(1057314092,1031126097); +sum1=W(0,1042921300,1038748523,1047286031,-1113264897)+W(1,1036778483,1048990343,1040626286,-1118216326)+W(2,-1108928881,1042428894,1036098930,1035020911)+W(3,1012907241,1041504752,1016422504,1036290288)+W(4,1044373061,-1119263830,-1091122512,1051515170)+W(5,-1111196723,-1076778621,-1081529962,1057172805)+W(6,1053915059,-1112351005,-1085296972,1053560288)+W(7,1048512334,-1107245185,-1100809115,1044112316)+W(8,1016709539,1029610636,-1125355113,1035529026)+W(9,1049229393,-1112976162,1029771624,1043973191)+W(10,-1123285785,-1103970660,1041831703,1046938632)+W(11,-1123727583,-1123672296,1044125996,1035877806);sum2=W(0,1044898087,-1115916604,-1116888772,-1110279027)+W(1,1039092196,1045884385,-1107202311,-1096945908)+W(2,-1099008684,1049112986,-1103988696,-1113241071)+W(3,-1103116396,-1134049769,-1123386226,1044106833)+W(4,-1111117443,1045218355,-1108669327,1033554595)+W(5,-1113256321,1065794034,-1103416606,1035778723)+W(6,-1139004677,1055599565,-1090569433,-1115920774)+W(7,-1114347803,1044073709,-1099737884,-1112080343)+W(8,-1106102431,-1116221606,1027314221,1015808739)+W(9,-1107247823,-1098987808,1024714919,1041666953)+W(10,-1106016659,-1091770239,1049758114,1049716916)+W(11,-1108799013,-1105054228,1053158291,1031391070);WS(-1078536214,1004530797); +sum1=W(0,1017444741,1031432968,-1101920227,1027375859)+W(1,1000019140,1048371434,-1106564803,-1120029560)+W(2,1013557197,1042631950,-1118108517,-1114543207)+W(3,-1148145247,1016114854,1018155212,-1122136338)+W(4,-1103056081,1048716617,1044389645,1025777344)+W(5,-1082038651,1066595410,1051154454,-1107107772)+W(6,-1090887738,1054676989,1055824714,-1087843395)+W(7,-1102912795,1016296812,1041035048,-1103973545)+W(8,-1137653198,-1125959547,1018050380,-1110651587)+W(9,-1130046381,-1125449965,1019570356,-1107166356)+W(10,1030116559,-1126792065,1033235496,-1105265945)+W(11,1040191506,-1142050258,-1122035417,1023828021);sum2=W(0,-1132701065,1034348094,1026113022,1027035378)+W(1,1024730711,-1139897757,1019537869,-1114259972)+W(2,1013886009,-1118691470,-1140805741,986229224)+W(3,-1141056234,-1129312440,1009541569,-1129435432)+W(4,1044772326,987582920,-1117578886,-1111907604)+W(5,-1083470341,-1064559027,-1091701771,-1115459713)+W(6,1050967575,1062853848,1083026821,1024256637)+W(7,1028089297,1036032976,-1097816209,1013091981)+W(8,-1136739637,1015195718,1018825264,-1140538653)+W(9,1035917626,-1129456736,1029368182,-1106970806)+W(10,1035548789,-1107265712,1025912688,1051507274)+W(11,-1102804079,-1115863996,1031335734,1030786995);WS(1053759831,1032374114); +sum1=W(0,-1109228149,-1112583528,-1121671930,972229904)+W(1,1041049216,1029443406,1034149296,1034978575)+W(2,1029299866,-1098177536,1029497788,-1120680758)+W(3,1034604409,-1129221556,-1147362406,-1104501302)+W(4,-1112974870,-1101934908,-1092393035,1054724605)+W(5,1048871720,-1093922438,-1092299422,1061211455)+W(6,1052523382,-1091878482,-1094240300,1059772533)+W(7,1050895314,-1097371836,-1112394307,-1143596105)+W(8,1027590122,1029939172,-1129466650,1018308729)+W(9,-1111847647,1038901743,-1113423424,1034030567)+W(10,-1113968603,1040006220,-1106909549,1041914031)+W(11,-1126204095,998375305,-1140269215,1028043992);sum2=W(0,-1122485893,1032358015,-1150466984,-1150066816)+W(1,1024800634,1086980496,1050624105,-1114773240)+W(2,-1123997738,-1116390866,1049846439,996682648)+W(3,-1127165963,-1127449775,1016213345,1019128023)+W(4,-1120268940,1042589181,-1110066210,1023864952)+W(5,-1062089081,-1086968029,1028033997,-1092046440)+W(6,1022750294,1041929871,1024724796,-1092228228)+W(7,1000268865,-1139900476,-1114433107,1015347232)+W(8,1027888694,-1130877326,-1124858867,1023825317)+W(9,1038366470,-1140173368,-1135440218,-1151325172)+W(10,-1118357792,1017805328,1022098295,-1121152696)+W(11,-1136800730,1025894920,-1119866592,1031614438);WS(1063005484,1009613411); +sum1=W(0,-1116658758,-1121736524,-1099686359,1023879031)+W(1,1020845368,-1114633573,-1101192360,1016433014)+W(2,-1133265115,-1106126199,-1095872969,1014732617)+W(3,1010953149,-1135381594,-1114430117,-1123204757)+W(4,1047373394,-1096622041,1046007565,1052137768)+W(5,1066103327,-1084203279,-1088767007,1060630207)+W(6,1059882369,-1090037515,-1090088910,1062822060)+W(7,1058652475,-1092699671,-1103091289,1050777829)+W(8,1032552475,-1119708225,1005501772,-1104853008)+W(9,1041296218,-1116191290,-1118541917,-1107092245)+W(10,-1131360500,-1115075910,1022596005,1027255591)+W(11,-1108476770,-1114779071,1022253604,-1122457924);sum2=W(0,-1115513506,-1122957333,1027578843,1018912922)+W(1,-1104590179,-1100032664,1036987406,1035927400)+W(2,-1107721632,-1125426330,-1110179624,1040736265)+W(3,-1112944230,1043904940,-1103038285,1025188211)+W(4,-1107632498,1001948858,-1094114890,1033809184)+W(5,1055409420,1048553428,1056054406,-1102289594)+W(6,-1112721987,-1094744691,1051787669,1055289786)+W(7,-1110109848,-1118996080,1032878358,1036015348)+W(8,1024979575,996744179,-1107937173,-1100264522)+W(9,-1121465059,-1114033403,-1110541201,-1110397259)+W(10,1045301422,-1113161109,1041331760,-1147035242)+W(11,-1124556646,1028913131,-1108457170,-1131004626);WS(-1088267692,1058858468); +sum1=W(0,1029162995,1004146884,1030761249,-1112379634)+W(1,-1141342278,1040340278,-1122297718,-1140270752)+W(2,-1113272402,-1129581456,1036240851,-1155361775)+W(3,1015213304,994119730,1042224566,-1140210569)+W(4,1045209037,-1095201623,-1099191401,1050799110)+W(5,1057423488,-1083233902,-1091143388,1060358148)+W(6,1044230767,-1096101987,-1098879351,1058630580)+W(7,-1109863885,-1109785875,-1122560784,-1104611845)+W(8,981108966,1002675052,-1111715307,1033839199)+W(9,1032118859,-1118812007,-1120236170,1043211072)+W(10,1030417559,-1148456452,1017441470,1032700466)+W(11,1009738084,-1131671893,-1124250818,-1140846885);sum2=W(0,1023812788,1044300514,1021821461,-1113443438)+W(1,-1112801638,1060658961,-1104994806,-1131593767)+W(2,-1107427633,-1087213560,1044687616,-1105757720)+W(3,1049954034,-1093773442,-1093064102,-1107137147)+W(4,-1104002403,1024116650,-1146734500,-1122246023)+W(5,-1099826888,-1089766136,1049088332,1038382254)+W(6,1057721748,-1129092349,1042354562,1066144433)+W(7,1039897892,-1105235988,1044181933,-1097329958)+W(8,-1115812447,-1134793082,-1125128801,-1128559783)+W(9,1025686404,1034755166,-1131329759,-1105739887)+W(10,1035306954,1031417186,-1114066084,-1117250635)+W(11,1040800736,-1128306605,-1117543346,-1106719387);WS(1042978478,1051058289); +sum1=W(0,1035278676,1023966158,1032357083,-1105382966)+W(1,-1102711504,1052488610,-1113794846,-1102112151)+W(2,-1111458068,1025992701,1046698475,-1113404858)+W(3,-1101215220,1026938905,1042579843,1038103836)+W(4,-1110890773,1050844654,1056839899,-1099095273)+W(5,-1081382120,1063120271,1060126757,-1087097191)+W(6,-1097860134,1054395618,1060142827,-1086454106)+W(7,-1091436978,1056719627,1048420817,-1105233954)+W(8,1019140850,-1122653091,1024938700,-1122236410)+W(9,-1150461374,-1119829084,-1122892351,-1107056589)+W(10,-1120625160,-1106500335,1007453138,-1103751812)+W(11,-1112415123,1010325087,1032216339,1025690583);sum2=W(0,-1112567440,1041166801,-1098687074,986675002)+W(1,-1097585273,1019263552,-1099338776,1033516168)+W(2,1029453516,-1104454378,-1108963639,1031672616)+W(3,981423732,1024870634,-1109440188,-1106591291)+W(4,-1097111455,-1132868679,-1115454695,995475005)+W(5,1066654492,1054175336,-1120015952,1062728692)+W(6,-1124466258,-1096244103,1038275134,1034345380)+W(7,1048117247,-1119846616,1039104546,-1092068145)+W(8,-1114152579,-1101427932,1018060844,-1110655697)+W(9,-1097107880,-1098419362,1045275251,1023628514)+W(10,1049130538,-1100742770,1049612882,-1118909665)+W(11,1042494451,-1140045927,1000911598,-1093717692);WS(-1097071959,1072623846); +sum1=W(0,-1114366565,1023927408,1010541764,1026094363)+W(1,-1127140609,1038480008,1034504814,1026372640)+W(2,-1164090721,1040252248,1046400295,1020533357)+W(3,993477434,1032065949,1040642843,-1143600974)+W(4,-1100421531,1051865478,1028105114,-1087379998)+W(5,-1086095524,1064048287,1057630379,-1091057687)+W(6,-1089701071,1056141130,1061319210,-1083615449)+W(7,-1090227881,1047950199,1049626241,-1093225865)+W(8,-1105971271,-1125008010,-1135291959,1046169702)+W(9,-1104375598,1011497593,1012391943,1041980470)+W(10,-1149976804,1008261592,-1126436590,-1113258549)+W(11,1048635489,1026040178,-1126913777,-1120849689);sum2=W(0,1021360395,-1098807230,1045767812,1012042818)+W(1,1027378250,1042281858,1044720012,-1107209227)+W(2,1041772128,-1127223374,1016599978,-1105921842)+W(3,-1127019644,1027816090,-1115783877,-1127367716)+W(4,-1081789373,-1114664520,-1101778611,-1063490706)+W(5,1079115935,-1094869567,1049922132,1074390906)+W(6,-1108782236,-1121088549,-1118592797,1058048856)+W(7,1032186898,-1111496361,-1137516645,-1128008216)+W(8,1033999610,1021391529,1012780879,-1112785819)+W(9,1045861970,1031106226,-1130294258,-1110057121)+W(10,-1129798306,1025125464,-1122317121,1034050759)+W(11,-1136389257,1031888403,-1149825053,1033434514);WS(-1103312814,-1092017335); +sum1=W(0,1018146514,-1115460311,-1101144796,-1127703091)+W(1,1017072510,-1133230391,-1106383343,-1121799134)+W(2,-1112727125,1027622014,1034901054,-1131539818)+W(3,-1109754009,1034197373,1018005017,1017229265)+W(4,1039997174,1026063214,-1126801713,1054306333)+W(5,-1088288960,1059941407,-1131110905,1024945271)+W(6,-1096972398,1057455253,1061737047,-1088630417)+W(7,-1098488314,1051714580,1048616129,-1101045202)+W(8,1027296474,-1122138660,989243788,1023075088)+W(9,-1113425894,982272924,1032388672,-1132250026)+W(10,-1097018828,-1135487483,1021266411,-1097522374)+W(11,-1142469689,995701513,-1117699788,-1112216732);sum2=W(0,1037113072,-1115931822,-1105189044,1015133861)+W(1,1028491873,-1113527921,-1098364789,-1114822552)+W(2,1038591890,-1112247318,1024139573,-1105557810)+W(3,1032708826,-1120342494,1007564387,-1105949948)+W(4,-1102686481,-1113599737,-1094162786,-1093732269)+W(5,1065997875,1064813540,1041635421,1041653115)+W(6,-1098512761,1036196676,1037786550,-1130473293)+W(7,-1125733097,-1132225813,-1114108758,-1125828389)+W(8,1040400825,-1114813207,1030009493,-1109540616)+W(9,-1123044799,-1116517245,1027616765,-1118060506)+W(10,-1106060901,1005718790,1021543889,-1105450383)+W(11,1010062515,1029912177,-1122858549,-1118151575);WS(1054094679,1053313313); +sum1=W(0,-1120986711,-1130558777,-1123263126,-1133457438)+W(1,1028444909,-1096198619,-1097984725,1034987238)+W(2,1018062863,1002886242,1007426149,1035642130)+W(3,-1149170946,1018181775,-1123562906,1034710931)+W(4,1034791245,1044418743,-1124016519,1046955525)+W(5,1056744813,-1098120268,-1102062065,1059693200)+W(6,1030506913,-1104691680,-1111514230,-1111414009)+W(7,1033357311,-1107703301,1011520719,-1113706235)+W(8,-1102726978,1007447622,-1120644986,1039131745)+W(9,-1097784815,-1150742701,-1119688622,-1136653836)+W(10,1038384226,-1124505481,1028941155,-1121981368)+W(11,1012043028,1016894461,1028268649,-1114621003);sum2=W(0,-1137939637,-1140903881,1035831303,988916677)+W(1,1028209713,-1131746560,-1103092742,-1123566910)+W(2,1036944358,1038814302,-1101579019,-1123858844)+W(3,-1142606817,1038676356,-1130948272,-1119538750)+W(4,1038296707,-1090860425,1034464782,-1110571087)+W(5,-1117714466,1064742714,1056968489,-1107155945)+W(6,-1103151768,-1120375726,1040557782,1038803820)+W(7,-1111989951,-1122089622,-1111036663,1032643961)+W(8,1044389789,1041756630,-1178538002,-1106828560)+W(9,1050942503,-1106236653,1029915845,-1079651989)+W(10,-1130430804,1019097405,-1110415601,1043224862)+W(11,1014857001,-1140337549,-1132733633,1041889175);WS(1060301740,-1107262085); +sum1=W(0,1027361860,1047173818,1034782831,980901136)+W(1,1026764890,-1167399456,1039236098,-1140723427)+W(2,1025665684,-1107799148,-1096504911,1040866884)+W(3,-1120424813,1042507977,-1104388354,1033047081)+W(4,-1090641081,1050207945,1036556474,-1105836176)+W(5,1057068694,1041462691,1053103024,-1089836727)+W(6,1058017849,-1086651203,-1084387656,1061579759)+W(7,1043225643,-1106352190,-1099258584,1050545524)+W(8,-1104237805,1032390687,-1123449511,-1123655719)+W(9,-1168491986,-1128069487,1023266998,-1097134658)+W(10,1041962562,-1121577073,-1111341496,1041789973)+W(11,-1107448273,-1118302731,-1128080260,1042093191);sum2=W(0,1020434122,-1097339905,1046006360,-1120672932)+W(1,986372169,-1107596062,-1114812458,1029602171)+W(2,-1113202257,1042494496,1036462865,1039121856)+W(3,1010867474,-1111658779,-1097212089,-1139183469)+W(4,1059308780,1054394959,-1103760793,-1112452525)+W(5,-1073685765,-1075031098,1058139034,1040180724)+W(6,1060720662,1065727212,1055263295,1068230783)+W(7,-1096232759,-1102585430,-1106882983,-1116372590)+W(8,1038148088,-1114765629,1037670355,-1135937657)+W(9,-1098429000,-1131755817,-1120562291,-1103543044)+W(10,-1106499347,1010504894,1034635900,1051067274)+W(11,998537328,-1141626877,-1127537321,-1127997619);WS(-1096709719,-1109932402); +sum1=W(0,-1109965037,1015070528,-1143431239,1015250582)+W(1,-1115453048,1051852512,-1094706154,1037158888)+W(2,-1113173429,1039101648,-1107272167,1032345875)+W(3,-1109546082,1034073405,-1112986991,1033146133)+W(4,1044707911,-1099789672,1009444904,1041217222)+W(5,-1103734188,-1091866852,1049449359,1032459556)+W(6,-1100636937,1051337808,1042112892,-1116721265)+W(7,1017051268,1035868647,1011811037,980311674)+W(8,1028928427,1033219242,-1115442975,-1127867147)+W(9,1049692098,-1140261177,-1119289842,1015515213)+W(10,1036490203,-1107580668,1041543818,-1094357813)+W(11,1019523665,-1121586498,1027230184,-1118660177);sum2=W(0,1029756683,1029022998,-1111869912,-1129366500)+W(1,1041050942,1028636589,1046043365,-1113040482)+W(2,-1130192114,-1118786886,-1100561355,1019865458)+W(3,1011878989,-1113939693,-1136660469,1021094310)+W(4,1041454921,1051011830,1047691494,-1114572049)+W(5,-1088878874,1052419847,-1075590857,1063827282)+W(6,1037601458,-1142379802,1053136256,-1120053198)+W(7,1024511741,1033422229,-1115896886,-1121128994)+W(8,-1094989992,1033382685,-1112777200,1024096486)+W(9,1049374228,1022134325,1046068934,-1094007689)+W(10,-1105102628,1039472389,-1104418826,1051405216)+W(11,1038213156,-1122209396,-1173694926,1030093181);WS(1065853238,1014077745); +sum1=W(0,1026623353,-1129058045,-1117433015,-1141216588)+W(1,1020370461,1043759351,1039902504,-1128763228)+W(2,-1118113002,1042454284,1050608829,1026101893)+W(3,-1113706417,965645460,1027449020,1032019108)+W(4,-1096460535,1049952264,1050233869,-1094201799)+W(5,-1077503527,1055071872,1051933059,-1083943142)+W(6,-1098731144,1057515106,1055823041,-1089716396)+W(7,-1094767340,1054942629,1050055875,-1095714819)+W(8,1008011942,1022594791,-1138617969,1044254087)+W(9,1025148605,1032777398,-1141149825,1048823509)+W(10,-1120507502,1030831063,-1117303781,1040921250)+W(11,1040832262,1023411184,-1131034510,-1149099066);sum2=W(0,-1126703609,1040389587,-1107369605,1024492456)+W(1,1036516578,-1095300447,-1109233879,1029353704)+W(2,-1107363712,-1106122650,-1104963978,1032071462)+W(3,-1105180142,1043865859,-1143085570,1044306067)+W(4,1038677226,-1115181151,-1102696165,-1114418679)+W(5,1063429366,1063594124,-1104069114,1043636997)+W(6,-1097459892,1040620147,-1098164193,-1101740776)+W(7,-1116890590,-1127904241,-1106357294,1035238854)+W(8,-1114014523,1026327736,-1122518916,-1133142225)+W(9,-1091978649,1023044321,1035228514,-1122395696)+W(10,-1097146692,-1130578705,-1116601496,1053626887)+W(11,-1120794976,-1127926993,1026795860,1040976159);WS(-1088917996,1063906509); +sum1=W(0,1042151912,-1103723194,1044506738,-1110920777)+W(1,1005195703,1049511025,1033303784,-1101936374)+W(2,-1103459368,1043019742,-1113286290,1032265367)+W(3,-1129700693,-1114181825,-1128222025,1041691572)+W(4,1032125650,-1113114611,-1095080042,1047786311)+W(5,1034065915,-1080208865,-1088574755,1061302810)+W(6,1054491533,-1121283466,1049193686,1048810800)+W(7,1049358361,-1147499681,1024774526,-1112859072)+W(8,1025189266,-1104090263,1033765698,-1134941681)+W(9,1048946939,-1113407178,1041151454,-1115794445)+W(10,-1103486336,1044875416,-1109067703,-1126346531)+W(11,-1097425800,1029016425,-1121559327,1015955599);sum2=W(0,1050674327,-1116051994,-1127991186,-1103461552)+W(1,1015549042,1050173609,-1131508502,-1104590141)+W(2,-1098769683,1039941075,-1105608002,1036919049)+W(3,-1112862464,1031505597,-1101603735,1046313441)+W(4,-1113530372,-1124692174,-1108916090,-1120190757)+W(5,1072931527,1046026095,-1121470095,1055990720)+W(6,-1078020039,-1084802111,1050729023,-1095048932)+W(7,1010804308,1034713295,1047911325,-1101033642)+W(8,1042343963,-1115385529,1029245469,1012492564)+W(9,1048814953,1024686773,1026603353,1032226081)+W(10,-1101605152,1046452703,-1108452621,-1098673970)+W(11,1017021378,-1119772659,-1112756717,-1113534935);WS(-1128039792,1065254279); +sum1=W(0,1027171091,1031806764,-1114341117,949814928)+W(1,1031101353,1018879791,1033646238,-1129242384)+W(2,1003634843,1033681236,1042055949,-1120975327)+W(3,-1123053628,1027677731,1023909046,-1144006416)+W(4,-1095186291,1051880795,1052398616,-1094482850)+W(5,-1092086861,1068407459,1058904806,-1085842430)+W(6,-1089087466,1036562814,1055432619,-1084252337)+W(7,-1095496311,1050962337,1039311896,-1099056317)+W(8,-1139824782,1022544667,-1155305313,1027872723)+W(9,-1098849364,1040052675,-1121892394,1010706555)+W(10,1023772639,993927654,-1127339326,-1121195299)+W(11,1038931216,1005742098,-1123991661,-1126801378);sum2=W(0,1034915193,-1113475142,-1124763415,-1120833032)+W(1,967112657,1059271888,1025322201,-1115307960)+W(2,-1107476032,-1118552210,-1102912552,1023925021)+W(3,-1132191993,1033898849,-1103660545,1033449936)+W(4,1010824003,-1105412742,1030229073,-1118777010)+W(5,1082807588,-1098383492,1042572184,1064953874)+W(6,-1064631277,-1098098835,1054443836,-1080316189)+W(7,1039205719,1028111985,-1121091158,-1110193476)+W(8,-1133618203,1030755234,-1123843510,1028911958)+W(9,1048790378,-1113939962,-1135426163,1022077590)+W(10,1029953956,-1109596012,1038571089,-1103923621)+W(11,1036034024,-1126376787,1035405992,-1106218101);WS(-1100484014,-1082813103); +sum1=W(0,-1124738939,-1123209507,1037916588,-1123138350)+W(1,-1115403050,1038702225,1049386547,991988525)+W(2,-1113715255,-1114440425,1052139678,1032429349)+W(3,1024090791,-1105213156,1033284897,1024280877)+W(4,-1095165544,1053647432,1048819422,-1092840871)+W(5,-1082690349,1063735148,1054472273,-1086369653)+W(6,-1104541586,1057909982,1057734851,-1080932794)+W(7,-1098590565,1057027323,1048946363,-1091044852)+W(8,-1117914254,1018206961,-1212876940,1042234192)+W(9,-1121098737,1024686130,-1120915541,1039202605)+W(10,-1120991811,-1138122766,1015928020,-1124146173)+W(11,-1140316975,1023234987,1018911880,-1116174764);sum2=W(0,-1115193567,-1117132961,-1151813795,1017320792)+W(1,-1109723345,-1096979800,1023133248,1033153774)+W(2,-1111785287,-1136600857,1051436512,1038092476)+W(3,-1109901657,1038440342,1043953938,-1119671739)+W(4,-1104426322,1035777956,-1127138406,-1114719136)+W(5,-1067432541,-1081748159,1044557822,-1094043595)+W(6,1084038773,1059186895,-1094662263,-1094705611)+W(7,-1097692319,1021470996,1023890070,1051561136)+W(8,-1122656452,-1114810881,1038691322,1024237362)+W(9,-1105451925,1025666138,-1134215421,1043828952)+W(10,-1118750811,-1141123106,1023161212,-1118217110)+W(11,-1114305884,-1122422926,1009024009,1026839182);WS(-1090600151,1059961608); +sum1=W(0,-1119499740,1023957057,1003856660,1026132748)+W(1,-1113885561,977342510,1043713207,1009974340)+W(2,-1111559238,1025363409,1051525550,1031101992)+W(3,-1109274083,-1114083846,1031878320,1038517558)+W(4,-1105095800,1035359281,1051724689,-1086859502)+W(5,-1080432315,1059908410,1059175635,-1089372619)+W(6,-1086083942,1059822844,1060487798,-1084623068)+W(7,-1097114792,1057278953,1051599439,-1090836983)+W(8,1030063117,-1123043606,1032934656,1051693682)+W(9,-1106762114,1018557983,1034542394,1040699442)+W(10,-1116041416,1031213982,1019132432,-1114853678)+W(11,1040974422,-1138998830,-1150140386,-1130086580);sum2=W(0,-1162949315,-1123994385,-1099561897,992923986)+W(1,-1114052913,1033030662,-1116860796,1026898877)+W(2,1033577774,1027801571,1024241717,-1129262506)+W(3,1036380420,1050404867,1041458479,-1129225578)+W(4,-1114799541,1071631223,1079165891,-1105536701)+W(5,1035377948,1075632919,1068780303,1049791100)+W(6,1049717575,-1083766160,-1093777203,-1088177074)+W(7,-1091169113,-1083354335,1029517847,1043978030)+W(8,-1073660425,-1122543983,-1122782084,-1067147152)+W(9,-1083671230,-1097530520,-1095462698,-1081838471)+W(10,1057183721,1032284006,-1107750254,1057542893)+W(11,1061807320,1016984746,1025982179,-1103299573);WS(-1077101366,1062204989); +sum1=W(0,1033145401,-1109323772,1034919675,1030791972)+W(1,974201395,-1098302775,-1109601924,1041963978)+W(2,987140211,-1163737350,1049858413,-1122207423)+W(3,-1110991006,1022472166,-1104961646,1038549201)+W(4,1033209467,1032826652,-1099266697,-1119759728)+W(5,1054965265,-1116769210,-1084468746,1053457281)+W(6,-1111164798,1051122507,1055247733,-1085314770)+W(7,-1115893275,1036206931,1043488164,-1103072597)+W(8,-1108657922,-1142019948,-1131275309,1044609922)+W(9,1034832195,-1125973710,1005679697,1049423472)+W(10,-1113738245,1030630601,1038354000,-1104833109)+W(11,-1131086146,1033991117,-1132893044,-1121147841);sum2=W(0,-1111995834,1035550861,1013333880,-1128313262)+W(1,-1108547758,1036006103,1047569009,-1111474816)+W(2,-1107039325,-1119199538,-1104835579,-1123519406)+W(3,1034342977,-1111926114,-1113807123,-1122872424)+W(4,1024909109,-1107108555,1023499747,1041733323)+W(5,-1093864056,-1137016284,1042800306,1049082846)+W(6,1005924363,-1146750815,1032249988,1049905793)+W(7,-1117079308,1029021112,1024429363,-1107099901)+W(8,1015145454,-1188980193,1026149469,-1111312052)+W(9,1013541080,-1132476264,-1123639612,1017141780)+W(10,-1119513572,-1118671040,987971164,1034012446)+W(11,1021769214,1010774610,-1119021692,1036805530);WS(1062330988,-1108933484); +sum1=W(0,1014897395,1022571909,-1127744279,-1130422235)+W(1,-1143835797,-1110385841,-1103670303,1027643186)+W(2,-1128962907,-1104774725,1042533684,1008148004)+W(3,-1140840472,-1113171223,-1116892960,1015454424)+W(4,-1095189640,1057599524,-1112967222,-1103583502)+W(5,-1083565633,1066390108,1050533350,-1097916197)+W(6,-1117452294,1050496965,1059916677,-1085814590)+W(7,-1103031657,1049771574,1049304867,-1099231943)+W(8,1033146447,-1115561596,1027221408,1030687296)+W(9,-1104991248,1027456689,1024802772,1045948242)+W(10,-1114792086,1027191883,-1125614226,-1098839314)+W(11,1032045679,1026854932,-1115468561,-1127702342);sum2=W(0,-1117467777,-1111744013,1032830726,1032895988)+W(1,-1111764526,984631841,1005059811,1028545567)+W(2,-1115412116,-1107906030,1049595248,1041090350)+W(3,1023304410,1041765137,-1128022386,-1125773241)+W(4,1060942494,1054289941,-1088204952,-1115406541)+W(5,-1080183554,-1077634808,1071613570,1047355779)+W(6,1035977506,1042083474,-1093147012,-1134532596)+W(7,998580490,1032116542,1037668146,1020817981)+W(8,-1123665301,-1104702594,1031989945,-1092446016)+W(9,1046926373,-1100189171,1046230999,1060958044)+W(10,-1097187857,-1132922134,1034621337,-1113920155)+W(11,-1125184917,1022449461,-1117116166,-1142970826);WS(-1109331804,1042368707); +sum1=W(0,1024616740,-1131144083,1017844485,-1127022377)+W(1,-1123208698,-1113085828,-1107976561,-1123466393)+W(2,1019270569,-1111910285,-1114039899,-1123129456)+W(3,-1140654132,1022571624,-1118232839,981412042)+W(4,1050963589,-1097056965,-1100795701,1059385318)+W(5,1059271336,-1083778221,-1085607547,1060165431)+W(6,1056907678,-1094957746,-1087428756,1060839292)+W(7,1053487153,-1103251894,-1097540376,1049849056)+W(8,1029893237,1023074109,1016900750,-1111987554)+W(9,1039937652,998408382,-1112887422,1029216560)+W(10,-1114977786,1030127674,-1132276000,1032072458)+W(11,-1099334072,1016237783,1027413302,1024925794);sum2=W(0,-1124884727,-1115329827,1026055449,1032849952)+W(1,-1129227720,1037903820,1027815845,-1113876395)+W(2,1017198470,-1135699996,1033732250,-1120368220)+W(3,-1146042855,-1129930944,999495607,-1139825528)+W(4,-1069645041,1045607629,-1095655110,-1062565523)+W(5,1082661778,-1099195860,1038549538,1071954840)+W(6,1029601901,-1098438651,1038448988,1074466947)+W(7,1032971494,1036170224,-1108984513,1010255452)+W(8,-1117682124,-1126204236,1033345650,-1117249787)+W(9,1049745271,1027383795,-1111681252,1041120073)+W(10,1028175479,-1122462785,1003632367,-1117133911)+W(11,-1119888169,1008778484,1028818665,1021673198);WS(-1115348316,1054745777); +sum1=W(0,1010567825,1015838740,1036166838,-1137232980)+W(1,-1129778165,-1111605669,-1156212270,1027515738)+W(2,-1163675813,-1129353779,-1105267814,1031078129)+W(3,1015357019,1044530957,-1109102196,1021335208)+W(4,1049110157,-1096298109,-1091675395,1049991788)+W(5,1064241460,-1084812083,-1087264777,1058008076)+W(6,1054590870,-1089909917,-1090012802,1060214194)+W(7,1051902330,-1087098097,-1099321920,1041116785)+W(8,1034100235,1027659359,1029575560,1017816583)+W(9,1015442096,1022178737,1022248439,1034455816)+W(10,1024747424,1032358751,1027280241,1038960299)+W(11,1001621141,1023518060,-1140454872,-1128935590);sum2=W(0,1024206556,1020162972,1029679520,-1165172934)+W(1,1027518769,1040171419,1034059275,-1116697030)+W(2,1038375004,-1110434123,1027996817,-1114129087)+W(3,1033334280,-1129105068,1034335827,-1112102389)+W(4,-1122180110,1032751166,-1133513625,-1126280148)+W(5,-1097026624,1078058683,1058808820,997668227)+W(6,1040744343,-1082346775,1074823993,1034726751)+W(7,-1107441727,-1081349721,-1066028315,-1102815825)+W(8,-1123729058,1031911051,-1112190701,1007295249)+W(9,1051253388,-1110596693,-1130859572,-1106696521)+W(10,-1130957332,1020514684,1030310076,-1129919188)+W(11,1046963831,-1140190249,-1120038362,-1106067749);WS(-1106429870,-1094013011); +sum1=W(0,1010730896,-1122572746,1032914805,-1180060253)+W(1,-1126648308,1032028260,1007289698,1021824818)+W(2,-1130361130,1044381070,1028442598,-1129917792)+W(3,-1140710069,1048974915,997655159,-1120274467)+W(4,1041447962,-1096070845,-1083977393,1051659804)+W(5,1055000463,-1110426966,-1090427610,1049003466)+W(6,-1108621431,1047276227,-1154202266,1028832887)+W(7,-1092428073,1037115308,-1106909952,-1127588999)+W(8,1042077981,-1112889935,-1143253052,1044666432)+W(9,1039434940,-1121648024,1019043703,1040702780)+W(10,-1126798128,1025638626,-1121855216,-1143541158)+W(11,-1116914978,1027653084,-1112957869,1034262401);sum2=W(0,1027309129,1042644451,1044056205,-1113021585)+W(1,-1105312463,-1097839840,-1130917417,1040557912)+W(2,-1102513438,-1101732547,-1093830389,1045635393)+W(3,-1114789238,1035602021,-1116545436,1027399099)+W(4,-1098848264,-1100852865,-1099894114,-1096040530)+W(5,1066533545,1060955207,1055980834,-1086782093)+W(6,1049511378,-1136131482,1049480207,1047866369)+W(7,1045074348,-1089010378,-1099150452,1054444603)+W(8,1051352325,-1127314210,-1129192316,-1101136816)+W(9,-1105883820,1028457481,1001033976,-1094431966)+W(10,-1095199310,1041484506,-1109915970,-1100511063)+W(11,-1105061215,1038428609,-1111537389,1057783348);WS(1043891118,1068855714); +sum1=W(0,-1115119790,-1132968331,-1116934668,1034864935)+W(1,-1116826163,1007221512,1038582262,1021640868)+W(2,1023733166,1036137865,1042862352,-1131811026)+W(3,-1132040205,-1132089051,-1140157826,-1143217636)+W(4,-1094480060,1036212657,1054927906,-1092449819)+W(5,-1085866861,1065404307,1059302628,-1087769325)+W(6,-1090795981,1058788692,1060871017,-1087019235)+W(7,-1088777568,1058320673,1054585007,-1096174840)+W(8,-1105343195,-1110944332,-1137767170,1034556804)+W(9,-1118670257,1000130184,1007166673,1039390277)+W(10,-1110180471,1038210141,-1149095244,-1097654326)+W(11,1039274926,1033742658,-1123846591,-1103987387);sum2=W(0,1016877071,1022447527,1043524956,-1109312558)+W(1,1012463989,-1113751024,1041115214,-1119267190)+W(2,-1130793473,1017381631,1044302697,-1126846961)+W(3,987754923,1030898373,-1118188819,1028514185)+W(4,-1112207078,-1106898612,-1098627702,-1128190925)+W(5,-1096567460,1069702771,-1125515089,-1098728904)+W(6,1042180588,1068665203,1067943590,-1103900959)+W(7,1045698067,1053793920,1066385707,-1098746809)+W(8,1038513036,1007593597,-1109532722,1046310591)+W(9,-1085518745,-1104054586,-1120394532,1034661588)+W(10,-1076263106,1042247803,-1120974914,-1080776989)+W(11,-1093259035,-1114854661,1009589981,-1082060374);WS(-1087649964,1019782291); +sum1=W(0,-1143853715,-1112895868,1030168161,-1120416323)+W(1,-1117444008,-1109107148,1041161399,997344379)+W(2,-1121005123,-1121138472,1047711365,1021907901)+W(3,-1131127160,1016698342,1000308143,1024251314)+W(4,1040272853,1031966316,-1105270513,1040415828)+W(5,1066099001,-1107599501,-1088122706,-1108639376)+W(6,1034911086,-1111272734,-1089416651,1016783474)+W(7,1039033917,-1102333873,-1107120316,1025062450)+W(8,-1115504066,-1138905653,-1138699736,1024428446)+W(9,-1101667648,-1107645603,986611002,1050439898)+W(10,1033038819,-1138080961,998160367,1046888529)+W(11,1024070769,-1128756052,1016114481,-1142414472);sum2=W(0,1033768126,-1100939724,1040784536,-1107127477)+W(1,-1125558334,1031863699,-1105075327,1023416069)+W(2,-1118774605,-1104742149,-1103416126,1043030557)+W(3,1000627574,-1121719211,1042707477,-1151915405)+W(4,1017594321,1057262150,-1112675945,-1117663793)+W(5,-1098589794,1078638992,-1072566694,-1107862291)+W(6,1047503953,-1109470897,-1086195181,1051532765)+W(7,1014542959,-1106760943,1041105499,-1106456825)+W(8,-1092150404,1019337948,1025325994,1039537683)+W(9,-1077578123,1051733383,-1099590626,1066290117)+W(10,1050584179,-1100419866,-1119314417,1053259006)+W(11,1033290657,1002291590,1038050610,-1103867215);WS(1061891500,1029739432); +sum1=W(0,-1135804195,1006283635,-1106216192,-1120639769)+W(1,1029738303,-1090566706,-1105829118,-1111424495)+W(2,-1118615961,1034396863,-1116262763,-1117498485)+W(3,-1118385394,-1120846617,1019261400,-1125527056)+W(4,-1103570763,991333090,1044238166,-1113834067)+W(5,1051808376,1070740438,1059958553,-1096510251)+W(6,-1100309453,1034609097,1055146526,-1092264601)+W(7,-1103884676,1043753671,1035571491,-1103214946)+W(8,-1139025510,-1118882723,-1131739160,-1114217922)+W(9,-1094764771,1034612526,-1144807936,-1105864021)+W(10,-1115698885,1017541191,-1134494805,-1102695282)+W(11,-1118241703,1003240643,-1114134173,-1137185181);sum2=W(0,1006302792,-1138054916,1026550907,-1121600381)+W(1,1002488024,-1109251816,1026195583,-1119262688)+W(2,1026568605,-1119850715,989985520,1029037035)+W(3,1023468893,-1113487368,1023268674,-1136033516)+W(4,-1115693397,1032667651,-1118247849,1038640235)+W(5,-1070322023,1075955836,-1131891756,1049140618)+W(6,-1111337441,1039467523,-1093462820,1050244555)+W(7,1032357843,-1111383976,-1123631905,1034795019)+W(8,-1150824496,1022873234,-1121040584,-1129506938)+W(9,1037796079,-1123674716,-1116879102,1032667233)+W(10,-1119306593,-1115823182,1023067742,1041966968)+W(11,-1140765060,-1117038411,1030765775,1011205316);WS(-1084563692,-1094583093); +sum1=W(0,-1162852794,-1124105959,1012279186,1022703229)+W(1,1021772616,-1104495965,1040618577,-1132568844)+W(2,996545514,-1134036365,-1108936808,1024085850)+W(3,-1146052282,-1121618798,-1117471057,1026223997)+W(4,1043937588,1029178707,-1118740542,1016172182)+W(5,975997096,1058138797,1047241030,-1096721723)+W(6,-1119752408,1033384955,-1098942649,-1105257082)+W(7,1030206390,-1135741956,-1119041259,1035927703)+W(8,-1113029519,1029291849,-1118949361,1030161881)+W(9,-1095587800,1026228226,1002005802,-1110742685)+W(10,1030217107,-1128298663,-1121437018,1044167852)+W(11,-1114495566,1024441958,-1127843472,1033396614);sum2=W(0,1022296570,1041313314,-1154040649,1025430445)+W(1,-1113204042,1045521896,-1095051054,1036981025)+W(2,-1113488118,1036274902,-1140159290,1015494893)+W(3,-1122316989,1014652738,1033705522,-1127432409)+W(4,-1089338077,-1110563158,1050769250,-1116838887)+W(5,1068042633,-1105725339,1047738904,-1080092115)+W(6,1036460009,-1099991734,1046459196,-1123762249)+W(7,1034428960,-1109634740,1035671600,-1115504399)+W(8,1049390351,-1110459458,1025324860,-1101164186)+W(9,1058198082,-1102419914,-1123670947,-1105225557)+W(10,1042800199,-1121611661,1036400862,-1097909404)+W(11,1019626217,-1122111247,1029427990,-1112380024);WS(1070570422,-1118483066); +sum1=W(0,-1132852684,1031499417,-1110069429,1018165832)+W(1,-1109730565,1042906054,1040072889,-1139725729)+W(2,-1118139972,-1168228894,1042919301,1028156415)+W(3,-1122455036,-1103975241,1039947243,1024357779)+W(4,-1099020957,1050128623,1060331110,-1099959964)+W(5,-1081528768,1062372980,1059366093,-1084885570)+W(6,-1091258848,1058887102,1058454089,-1083523477)+W(7,-1094692227,1057283318,1048717802,-1095225642)+W(8,1032275410,1009522871,-1139421786,-1162935118)+W(9,996066926,-1117746023,-1140197674,1019497086)+W(10,-1112630512,1014662756,-1128372287,-1118811556)+W(11,998336395,1028666043,-1119179525,-1117991970);sum2=W(0,-1108615966,1028972955,-1105638218,1041833519)+W(1,-1161988394,1048735800,1029956673,-1125372171)+W(2,1034531971,1025753183,1034458457,-1113215633)+W(3,1028261725,1000882603,1036634769,-1118383435)+W(4,1051586707,-1062545743,-1068172350,-1090712556)+W(5,-1113315600,1081890452,1058445980,1040982790)+W(6,-1116357686,1057946443,1078990875,1025381303)+W(7,1047278155,1020805991,-1129266047,-1096961046)+W(8,-1089644697,-1109024185,1031038629,1053466473)+W(9,1021891615,-1110157560,-1115541422,1044082250)+W(10,-1138523317,-1121128958,1034093689,1047100697)+W(11,1003167691,1023430939,-1164400298,-1118643722);WS(-1086946092,1067745931); +sum1=W(0,1029399808,-1107060738,1043160110,-1129718754)+W(1,1031195606,-1095383669,1035261538,1034551451)+W(2,1033121193,-1122710934,-1133919947,1040134022)+W(3,1042343314,1042006276,-1107305618,1023151712)+W(4,1052187432,-1093519641,-1086793423,1057051220)+W(5,1065908691,-1082115172,-1086890615,1056679450)+W(6,1055695833,-1087806651,-1091092163,1053194351)+W(7,1051480109,-1086763775,-1106762967,1050664148)+W(8,1041235060,1028876859,1019782728,1029510552)+W(9,1028581668,-1151056709,-1121687640,1027399596)+W(10,1022886169,1032179179,985161115,1039541441)+W(11,-1123269599,1023858088,-1137650955,1035840335);sum2=W(0,-1100127293,1048639033,1049598436,-1092038506)+W(1,-1074419095,1072396257,1064718435,-1076970891)+W(2,-1071882845,1074270589,1071503744,-1072137471)+W(3,-1077760287,1067893220,1071966648,-1075499422)+W(4,1037661877,-1103044471,1042320103,1043882093)+W(5,1057486689,-1104719409,1034035103,1059313512)+W(6,1058040444,1044428409,-1111075093,1051417643)+W(7,-1109701446,1040427981,-1105998171,1034550731)+W(8,1002123811,1029198842,-1121740952,-1131832297)+W(9,1041582287,1010136401,-1115216799,-1103733932)+W(10,-1139439905,1024386386,-1128000009,-1115120295)+W(11,-1112073274,1030441594,-1120184167,1008560441);WS(-1081254198,-1103496580); +sum1=W(0,1041339642,-1098606506,-1146587219,-1115414444)+W(1,-1130637434,1042214179,1050459360,-1098407452)+W(2,-1101995566,1034598934,-1117423418,1020760807)+W(3,-1100079212,1024450296,-1122745995,1047565230)+W(4,-1097683981,1057498447,1048836291,-1093427101)+W(5,-1078168847,1061921355,1058816906,-1091994231)+W(6,-1092752622,1049596874,1063391143,-1095228700)+W(7,-1094816186,1057483350,1055225025,-1097351785)+W(8,-1144521152,-1102869832,1040942563,1038644661)+W(9,1040740783,-1165859686,1036627839,-1117884339)+W(10,-1125383814,1047950513,-1107645994,-1099277734)+W(11,-1112883619,1038686359,-1104517417,-1125503451);sum2=W(0,1049429767,1067192921,1057761413,-1101463653)+W(1,-1113723320,1075836777,1075421514,-1128244554)+W(2,-1100739127,1016894214,-1088665878,-1100253783)+W(3,-1105778187,-1111337535,-1116933337,1041910404)+W(4,-1078098525,-1139460835,-1109493923,-1092703936)+W(5,-1077415283,-1087182285,1039603395,-1071536845)+W(6,1051692516,-1117875445,1034610843,1059548308)+W(7,1048285068,1038460759,1013931579,-1101242161)+W(8,1028945771,-1117756514,1014720459,1041760680)+W(9,1045554670,-1118637934,1016362862,-1114414573)+W(10,1032645955,1027339291,-1125369728,-1106673179)+W(11,-1113595007,-1124961818,1013909643,-1122014712);WS(-1089093868,1047195432); +sum1=W(0,-1146634508,-1102493258,-1108646892,-1139038025)+W(1,-1111039036,1027299238,-1102675263,-1107247574)+W(2,-1131070116,1035038251,1043334313,-1111569431)+W(3,-1125658710,1006218639,-1130835530,-1123633457)+W(4,1050027260,-1113152371,-1116853265,1042227448)+W(5,-1094097439,1059178599,-1102292967,1055627170)+W(6,-1091453053,1055758905,1064850945,-1086063146)+W(7,-1100496626,1028822677,1047069456,-1104540112)+W(8,1037772585,-1111624526,1015754506,1032512066)+W(9,-1120135685,-1123630421,-1122052409,1040310103)+W(10,-1107670363,-1126001639,1035574535,-1097054397)+W(11,1033685440,906381938,1015067608,-1109953256);sum2=W(0,1043805370,-1102825598,1051248459,-1103632983)+W(1,1043204826,1027245233,-1110573499,-1100282419)+W(2,1032596944,-1088944566,-1115422824,-1107284068)+W(3,1038389706,-1103855212,-1119815045,-1115324019)+W(4,-1106748849,-1107415409,-1112111441,1050224986)+W(5,1068200484,1064575785,1047715488,-1142028319)+W(6,-1082511144,-1166081973,-1116519441,-1110893073)+W(7,-1099926119,-1112155627,1033478296,-1101546175)+W(8,-1113209339,1037386114,-1111599379,-1114055425)+W(9,1034756297,1042201726,-1107474855,-1106125891)+W(10,1036646608,1036836551,-1115818225,-1121811913)+W(11,1042197713,1026011708,-1107371535,-1139772871);WS(-1121781432,-1075996235); +sum1=W(0,1017932812,-1106763371,-1104344139,-1139185884)+W(1,986151814,-1122902443,-1097501556,1031934942)+W(2,1000199096,-1127990679,-1153685131,-1164665422)+W(3,-1140438078,-1113474827,1001735501,1007298263)+W(4,1050633065,-1102467779,1023675446,1055178280)+W(5,1056941803,-1087567683,-1098857564,1061458986)+W(6,1045616484,-1104204108,-1091469811,1057254916)+W(7,1046908556,-1103515070,-1129857478,1030315686)+W(8,-1113788396,-1134059780,-1116105386,-1115352921)+W(9,1038547421,-1136836585,-1113912527,987917899)+W(10,1011665321,-1128021832,1007170123,-1108760371)+W(11,-1118109260,-1121041198,-1154396360,-1121847517);sum2=W(0,-1129109975,-1104465921,-1097479461,-1168649543)+W(1,-1132018102,-1118749694,-1103938775,1016893178)+W(2,1023462612,976518647,-1115486085,-1117453381)+W(3,-1115823387,1034975399,1025546665,-1106957470)+W(4,1049155382,-1102354715,1042706476,1049098480)+W(5,-1098731951,-1097087336,1043506300,1057022497)+W(6,-1106384437,1036026738,1057524747,-1119719509)+W(7,-1105263623,1035074429,1045328977,-1098317799)+W(8,-1112820525,-1122042062,-1106980555,1041988609)+W(9,1046909100,1031531696,-1105649317,1047765539)+W(10,-1121071990,1040948740,-1114531186,-1100642605)+W(11,1003192501,1033488186,-1113359258,-1106523641);WS(1058868844,1053114578); +sum1=W(0,-1122446279,-1120049453,1047026923,1019520880)+W(1,1025396381,-1104790763,994701546,1037061470)+W(2,1031841884,1021084025,-1104820950,1029402067)+W(3,1033549944,1009185118,-1105237507,-1120186199)+W(4,1048040834,-1093651986,-1095841007,1040716289)+W(5,1063349990,-1081113852,-1089525095,1059285152)+W(6,1056787146,-1087503095,-1086213616,1062179110)+W(7,1057448647,-1088312360,-1091401861,1046529242)+W(8,1039005404,-1117418946,1026453035,1020793813)+W(9,1040363303,-1114838686,1019785277,1046415125)+W(10,1041196477,1024749253,1030676884,1045703966)+W(11,1036113571,1022861598,1004229292,999605293);sum2=W(0,-1106859908,-1111523090,-1089070569,1050427341)+W(1,-1112488680,-1097196972,1043538575,1035861035)+W(2,-1122621450,-1133854060,1036654054,1032409135)+W(3,1046587865,-1093068011,-1130574088,-1104767713)+W(4,1052246278,-1093125710,1067490860,1053219089)+W(5,-1088179143,-1087268097,-1078649576,1059060280)+W(6,1043005089,1062938540,1059384755,1017346040)+W(7,1052143300,1059539225,-1093321870,-1092034159)+W(8,-1078811541,1066232343,1058659628,-1080930470)+W(9,-1075643449,1065823003,1073277874,-1074777053)+W(10,1049929252,1043425453,1062269032,-1124572738)+W(11,1059287102,-1098215774,-1092663388,-1112625720);WS(-1074642550,1059001037); +sum1=W(0,-1114814273,-1133959838,-1105864948,1033877849)+W(1,-1122785432,1042832010,-1106724665,1017602926)+W(2,-1121541554,1036804396,1046400581,-1119942606)+W(3,-1103073299,1039804561,1032924291,1004629641)+W(4,-1108476642,1023714759,-1096349630,1040506928)+W(5,-1084427489,1065396984,1055335876,-1098100854)+W(6,-1088670813,1061684023,1062559324,-1083890617)+W(7,-1095458045,1054342111,1051195620,-1090515058)+W(8,-1108357401,-1127057913,-1110243859,1046552293)+W(9,-1132282059,1033899323,-1147216585,1032280783)+W(10,-1104721044,1025273824,1032718711,-1113686945)+W(11,1031943308,-1121848889,-1122497752,-1110306392);sum2=W(0,-1131612410,1025348247,1021686194,1024273115)+W(1,1041256788,1042238427,-1105777061,-1107407950)+W(2,1031505312,-1118046720,-1126779625,-1117121277)+W(3,1016793154,1027338756,-1118330488,-1110072407)+W(4,-1101286924,-1122239076,-1108335658,1043888107)+W(5,-1090332406,1036931728,1046097166,1048538591)+W(6,1043322093,1040745205,1040874893,1053208564)+W(7,-1116082242,-1096125238,1050743072,-1135252559)+W(8,-1091711743,-1111108183,-1110849641,-1077891718)+W(9,1065426853,-1111979954,1033944270,-1097181377)+W(10,1040529954,-1105370761,1039617071,1063431633)+W(11,1050690616,-1122718137,-1122096807,-1097546746);WS(-1088674604,-1128666815); +sum1=W(0,1016031116,-1154837176,-1112902532,-1123914807)+W(1,1024027612,-1098901213,-1114821559,1014718188)+W(2,1024193015,-1099251759,-1103324234,-1145356432)+W(3,1032770888,-1101826270,-1119376425,-1124389866)+W(4,1033184452,-1131397783,1051063687,1031043843)+W(5,1054517603,-1102428675,1027540319,1015481863)+W(6,1059978813,-1100081596,-1094753613,1051928805)+W(7,1062901239,-1101878062,-1110958225,1047372601)+W(8,1025159063,-1134237698,1018478931,-1094561666)+W(9,-1104802482,-1126359028,1024172061,-1102063788)+W(10,-1111732847,-1114031158,-1133861065,1021380397)+W(11,-1113334654,-1114369951,1028470484,-1154253637);sum2=W(0,1012595671,-1114639139,-1108931889,-1125911137)+W(1,1044288444,-1110292957,1007405169,999266341)+W(2,1041147790,1041510968,1050109344,-1101165077)+W(3,1025832748,1046353900,1029583838,-1113177198)+W(4,1032292317,-1128469007,1050970701,1017628143)+W(5,-1067836662,-1074929312,-1110785518,-1114156858)+W(6,1037860217,1044362436,-1105301985,-1072172899)+W(7,1081403750,1057358913,1048694785,1074693740)+W(8,-1112594616,1026392505,-1132880011,1035307535)+W(9,-1112320536,1035975658,-1126668834,1028698628)+W(10,-1133865234,-1122721591,-1115294669,1032862316)+W(11,1015908463,-1114367420,1027549527,-1121233078);WS(-1092184279,-1114774309); +sum1=W(0,-1120800919,1038305887,1035183681,-1112548452)+W(1,1008341430,1037535198,1043708422,-1114639366)+W(2,-1120506536,1029108045,-1098020135,1009522319)+W(3,1022706306,-1106461058,-1128765878,1034801619)+W(4,-1101125062,1039166894,1044352162,-1114927434)+W(5,-1103312811,1034792975,1063427286,-1087724142)+W(6,-1118967585,-1115071968,-1088121787,1062809460)+W(7,1043448960,-1129024277,-1114196826,1002077113)+W(8,-1131609361,-1182492945,-1115173597,979364527)+W(9,1048665209,-1113251558,1021495134,-1093459700)+W(10,1023205859,-1113409875,-1113757330,1043037714)+W(11,-1126884683,-1115469664,-1123554950,1033949151);sum2=W(0,-1146462793,1028824397,-1113218164,-1130731300)+W(1,1017173194,1034818358,1013989596,-1114036842)+W(2,-1121343755,1040334859,-1104368005,1027612469)+W(3,-1154268081,-1123775916,-1123082454,1027895615)+W(4,-1129593633,-1113338336,-1112264614,1024876637)+W(5,-1101530532,-1105838439,1058622224,1044891209)+W(6,-1097048862,-1102338893,1050794194,1049606516)+W(7,-1113704648,-1122592353,1040822444,1042764886)+W(8,-1111675537,-1102804304,1026854381,-1099018413)+W(9,1059579881,-1108694945,-1102462733,-1088855347)+W(10,1043492825,1019755962,-1114432119,1042736448)+W(11,1034905054,-1119817837,-1122392540,-1121501222);WS(1061153836,-1122742154); +sum1=W(0,-1115291137,1043116226,-1109089440,1027853554)+W(1,-1112977164,1050791197,-1138258466,-1171221910)+W(2,1022714404,1041098678,1034471002,-1121554637)+W(3,-1123187178,1034237593,-1134239506,-1157881362)+W(4,-1115210274,1047414994,1051082942,-1102650256)+W(5,-1077890273,1055540065,1055597733,-1112757431)+W(6,-1093251577,1053866013,1061271560,-1082648980)+W(7,-1092621429,1032996986,1044732088,-1097764996)+W(8,-1112215273,-1119605372,-1131011401,1027843188)+W(9,1042514461,-1126698730,-1126942769,1034632359)+W(10,1046515591,1025132479,998349933,-1131618020)+W(11,1043087924,984532249,-1120958927,1036747322);sum2=W(0,-1132731961,1038074007,-1102026314,1031101174)+W(1,1017601076,1030590838,-1092900468,1022986308)+W(2,1022398052,1001713969,1001758673,-1126674740)+W(3,1010235161,-1138091097,-1140283033,1013813081)+W(4,-1090146581,1042331882,-1126868316,1042272104)+W(5,1054179894,1068886648,1039425711,1028046198)+W(6,1035923987,-1096410864,1049555295,-1096188072)+W(7,1036670019,-1105222854,1036573795,-1106500726)+W(8,1036936531,-1128194324,1023923290,1028240358)+W(9,1039233571,-1108833787,-1114483483,-1122656394)+W(10,-1090080092,1029729918,1026905222,-1086618714)+W(11,-1134061337,1035525391,1035325123,-1110072380);WS(-1098883799,1037141561); +sum1=W(0,1029657918,1034970850,1039141586,-1114839991)+W(1,1034543274,1026227619,1048999812,-1116594483)+W(2,-1140770618,-1115755155,-1103366664,1026816074)+W(3,1007197468,-1117505278,-1109617409,1035386535)+W(4,-1090767256,1029681923,1020247259,-1110021469)+W(5,1007604554,-1100094273,1058872566,-1089859629)+W(6,1050338841,-1090199858,-1090400131,1063309440)+W(7,1050252341,-1101914812,-1104209655,1049028980)+W(8,-1119339247,-1126798193,1040211480,1030453625)+W(9,-1106749124,-1123771570,1041448405,-1104869706)+W(10,1023759014,-1131945671,1006844457,1040832320)+W(11,1034144506,-1106217213,-1115455274,1040157646);sum2=W(0,-1137674963,-1120827669,-1120528483,1003211606)+W(1,-1126381316,-1125167698,-1113012012,-1151639180)+W(2,-1120928387,1042115577,-1133545211,-1125497686)+W(3,-1121709003,1034768106,-1111755343,1024650751)+W(4,-1165578649,1021421814,-1122088448,-1156174412)+W(5,-1143882022,1025314463,-1108742643,1045965141)+W(6,-1139515595,1042307479,1048741047,-1157195276)+W(7,-1128894336,1033940928,1028526161,1024020315)+W(8,1046263423,-1109822394,1008615371,1034591096)+W(9,1048434617,-1102660599,-1107512724,1043768035)+W(10,-1111490489,-1116374767,-1103528899,-1100558843)+W(11,-1105393784,-1146160726,1031989982,-1106766859);WS(1056068055,1054753321); +sum1=W(0,-1148496799,-1110003853,1039080395,-1151415881)+W(1,1024019466,1036235820,1010453293,1010657956)+W(2,1008503186,1036573197,1020552269,-1130137728)+W(3,1035499631,1040242409,-1115513116,-1132133255)+W(4,1043835198,1042243518,-1089028090,1057552055)+W(5,1056043521,-1077848098,-1089501818,1059020393)+W(6,1054798584,-1088101382,-1085601017,1059247988)+W(7,1047345767,-1092379525,-1102383812,1050516586)+W(8,1050869997,1014222010,1035025164,-1115248008)+W(9,1040563886,-1121658024,1019596694,1038857744)+W(10,1014726271,1035081577,-1123056704,1031869090)+W(11,-1116861746,1008326318,-1137744617,1037313809);sum2=W(0,-1106782132,1053669968,-1096807405,1028355794)+W(1,1019490884,1045145961,-1113415499,1035193429)+W(2,1051099266,-1105194567,1033457423,-1103311494)+W(3,1017055868,995616995,-1111393110,-1107701072)+W(4,-1138391825,-1075220438,1067941768,1040605863)+W(5,-1117197986,1059082808,-1088459045,1054131819)+W(6,1043284247,-1121773074,1050105229,1014178849)+W(7,-1110630971,1023829774,-1120483817,1045435457)+W(8,-1095467240,-1103015841,1052817152,-1077104108)+W(9,1063065831,-1103440804,1049259157,-1094157882)+W(10,1042603721,-1122898552,-1095094287,1061761756)+W(11,1044996767,1018464332,-1109769641,-1116379229);WS(-1081368566,-1084412265); +sum1=W(0,1015688387,-1139602460,-1116002144,1027068306)+W(1,1018141039,-1108067395,-1116483849,1033201483)+W(2,1022250212,-1101031910,-1114781410,1032237687)+W(3,1019305877,-1115253585,-1110135922,1019999841)+W(4,1048418201,-1109028275,-1097381330,1048181720)+W(5,1059054739,-1080843359,-1086309497,1059204754)+W(6,1054995541,-1090938969,1035809139,1060863016)+W(7,1054003721,-1098655035,-1097995920,1048891912)+W(8,1018111780,1036715310,1021378954,-1110979184)+W(9,1023153354,1024269909,-1118145977,-1126061147)+W(10,-1102361409,1015803518,1014428471,1043786804)+W(11,-1110370680,1026153225,1027639288,1017536656);sum2=W(0,1035973965,-1096496755,1050460434,-1105480981)+W(1,-1106311589,1006710678,1049140757,1037165381)+W(2,-1104974154,1044207757,-1091756558,1052000177)+W(3,1040627526,-1100748342,1032159893,-1120302417)+W(4,1051612828,-1090117310,1048076097,-1098849709)+W(5,1040931379,1066845841,1053634690,-1090898849)+W(6,-1090778289,1058534342,-1077185739,1058463605)+W(7,1045155050,-1096398368,-1102438650,1039812947)+W(8,1047120319,-1108725217,-1105501338,1035320005)+W(9,-1083953982,1046728781,1039969785,1021130333)+W(10,-1091684787,-1141278071,1038345201,1057459457)+W(11,1045504944,-1109297232,1040363142,1041032826);WS(1040286894,1035975353); +sum1=W(0,1023182418,-1127987806,1034319831,-1171293815)+W(1,-1137235964,-1105596260,-1102399280,996039142)+W(2,1025821242,-1108335719,-1103790599,-1135192533)+W(3,1020463141,-1129600787,-1114500598,-1128818097)+W(4,1048633701,-1097464070,-1091927835,1059664710)+W(5,1059153168,-1086480503,-1087363556,1062256902)+W(6,1056014846,-1099300213,-1089057879,1061115073)+W(7,1052737098,-1112421262,-1097571161,1050028641)+W(8,1029070026,1012611215,1013574450,-1116625676)+W(9,1000027879,1006568169,-1115123712,1016696459)+W(10,-1108586113,1032814547,-1134032598,1028964506)+W(11,-1096430155,1016193698,1020632239,1032749254);sum2=W(0,-1130243023,1030557532,1037372428,-1115556642)+W(1,-1126476135,-1112452010,1049080310,1032034792)+W(2,-1138592966,-1125709403,-1108874582,1032996496)+W(3,1029413614,-1125845903,-1147299853,-1121911846)+W(4,1077581449,1043810263,1051814466,1085969060)+W(5,-1064530882,-1081646826,-1103611514,-1074326256)+W(6,-1104386166,993676602,1033029539,-1074476109)+W(7,-1109306490,1000946837,1034388196,1029772508)+W(8,1030366783,1034280644,-1114698318,1011471282)+W(9,-1129814679,1022645135,-1140286158,-1109496698)+W(10,1007963430,1013431542,-1126128243,1035377868)+W(11,1024214725,1024966722,-1114714998,1005762565);WS(-1128144240,-1105727419); +sum1=W(0,1008158465,1030921926,1038442911,1008177348)+W(1,1041196118,-1091904121,-1116236765,1025380533)+W(2,1038005880,-1155490648,-1110541401,-1123971020)+W(3,1022532691,-1132141153,-1118346788,-1110790464)+W(4,-1108323937,1020025483,1037111480,1034971295)+W(5,-1116818069,-1090328900,1039711206,1041262911)+W(6,1050488689,-1108534613,1053066642,-1118195565)+W(7,1035288564,1043217853,1032777199,1005836543)+W(8,1015575522,1036155997,1019898055,-1119737674)+W(9,-1106145913,1038413850,1023258159,-1096558626)+W(10,1033678004,1027658998,-1123851725,-1107602136)+W(11,-1110557919,-1161170171,-1118860082,1034582855);sum2=W(0,1013105493,-1110061572,-1132037027,-1128930637)+W(1,-1111106512,-1118411413,1023565141,1027020519)+W(2,-1108465338,1001195043,-1104848450,1033707008)+W(3,-1112986298,-1123693871,-1113096913,-1130609759)+W(4,1028677045,-1113315034,-1110976033,1018701611)+W(5,1051172043,1064921249,-1136487341,-1097696705)+W(6,-1134254189,1028959819,-1097426277,1036460110)+W(7,1021784635,-1139702593,-1113952185,1035127174)+W(8,-1136221161,-1120215489,1029665439,-1129623857)+W(9,-1100340880,-1120959951,1025952555,1045236380)+W(10,1033145987,-1118442072,1006240491,1026225447)+W(11,1025786651,-1119362634,-1137489821,-1105387359);WS(1066786198,1018352061); +sum1=W(0,-1147124480,-1118935590,1042991174,1037807432)+W(1,1043153405,-1111703874,-1102401423,1032919115)+W(2,1040525108,-1109427003,-1105747115,1024885356)+W(3,1041644314,-1113217832,1036876386,1034093744)+W(4,1053008404,-1093203077,-1089303485,1056116676)+W(5,1052869895,-1077398372,-1091158043,1058826232)+W(6,1052412861,-1096537905,-1088790919,1063596395)+W(7,1055747689,-1095292522,-1092801624,1055303296)+W(8,1032850856,1019595829,1044944769,-1115182496)+W(9,-1112497438,990101824,1030098999,-1118679276)+W(10,-1158252416,1022825908,1037575334,1041854800)+W(11,-1097656684,1027108728,1042956152,1029739551);sum2=W(0,-1120880520,1035081854,-1102747382,1036031230)+W(1,-1112120068,-1097589576,-1081312733,-1118383086)+W(2,-1113902667,-1101386787,-1136989239,1044452135)+W(3,-1175016923,-1106083613,1038098664,1036248196)+W(4,999021742,1048871361,1027629590,1040389106)+W(5,1061513306,1059108854,-1102228261,1046511529)+W(6,1028645652,-1090327880,1030279668,-1098672489)+W(7,1027306194,-1110606753,1046091275,1037598188)+W(8,1037408166,1036561850,-1113736580,1033840740)+W(9,1017984327,1037901466,-1105995296,-1111365044)+W(10,-1098256610,1003868670,1024281094,1032578550)+W(11,-1100293962,-1114802202,1035521712,1055272900);WS(-1088826540,-1072617048); +sum1=W(0,1023136598,-1108211448,1037920241,986338164)+W(1,1038855104,-1098615294,-1117329516,-1127817408)+W(2,1032100206,-1125030464,-1156351446,-1112014844)+W(3,1031252724,-1128205111,1025960366,-1114071293)+W(4,1051897846,-1097067830,-1096657083,1051799989)+W(5,1068445460,-1091986338,-1085267217,1060040519)+W(6,1049473503,-1095210946,-1085224562,1041659186)+W(7,1053193450,-1098483636,-1103740786,1046320643)+W(8,-1134063855,1022858827,-1122826702,-1131268440)+W(9,-1104903024,1025833567,1016624516,1034398076)+W(10,-1123500579,1018816617,-1148095931,1041222927)+W(11,-1110505437,-1135786218,1004333185,1021522163);sum2=W(0,-1121532154,1033600964,-1139275200,1025188267)+W(1,-1111771837,1046721727,-1123953755,1037371296)+W(2,-1106548534,1040338433,-1098628025,1040037716)+W(3,-1109851481,1042987802,-1109104289,1039102739)+W(4,-1111129732,-1105820182,-1131755519,1040515214)+W(5,-1119362505,1075696256,1067277095,1035395064)+W(6,-1095083293,-1079865944,-1070220409,1046868281)+W(7,-1121821072,-1113640498,1049591033,1045077862)+W(8,1041295374,-1137053008,1030566925,-1105181237)+W(9,1058324165,1026363312,-1131759093,-1104867399)+W(10,1030948623,1018203389,-1118056117,-1095490474)+W(11,1039251361,-1123620784,-1128931569,-1107729189);WS(-1126600048,-1081356549); +sum1=W(0,-1121393942,1032965854,-1133929050,-1127841038)+W(1,-1112866678,1043820719,1033968271,-1127713943)+W(2,-1113126004,1043379215,1042942538,-1130256197)+W(3,-1114110304,1034600139,1027795642,-1135790871)+W(4,-1092154099,1056638003,1044657313,-1098403026)+W(5,-1081570623,1066854747,1049224359,-1092503722)+W(6,-1092479684,1058087872,1055316562,-1086843241)+W(7,-1094287464,1051778533,1032418298,-1097678271)+W(8,1040562850,1036225512,-1126110067,-1112364357)+W(9,-1105175211,1047740947,-1129561307,1040769245)+W(10,-1108064855,1041161205,-1102743497,-1123699911)+W(11,999504676,1039116783,-1106598351,-1138101411);sum2=W(0,-1122258341,1024135109,1041236493,1002695390)+W(1,-1120933435,1034742596,1018577975,-1122292123)+W(2,-1117894001,-1155671947,-1148289286,1032169765)+W(3,-1138289315,-1116290259,1027950533,1003179774)+W(4,-1167041196,-1120190201,-1110230321,-1107205869)+W(5,-1085659967,-1070580481,-1063745707,1048984334)+W(6,-1108030745,1049556353,1042707591,1041640777)+W(7,-1139220243,1050855401,-1106095214,-1123201389)+W(8,1051920007,-1101224590,1013006047,1025661924)+W(9,1079255156,1037086181,1033459361,1083223141)+W(10,-1097500712,1029970779,-1105447820,-1110361303)+W(11,-1105964729,-1115669085,1006793819,1030518681);WS(1044741550,-1111040261); +sum1=W(0,-1102049737,1051367713,-1129171790,-1123328853)+W(1,-1104112191,1051950321,-1097130129,1040528310)+W(2,-1101315365,1045396986,1039437043,1024305776)+W(3,-1111623399,-1165073551,-1108128612,1021709031)+W(4,-1091471693,1046305018,1045626213,-1119860449)+W(5,-1092522751,1053940037,1049556145,1035652177)+W(6,-1130673884,-1095468986,1055561708,-1095677118)+W(7,-1121220876,1026385047,1044018368,-1112716514)+W(8,1044417333,-1107859535,1022127887,-1104602741)+W(9,1049099055,-1124872112,1033350174,-1091825946)+W(10,1055485165,-1115536169,-1115808049,-1104689389)+W(11,1036376309,-1122289340,1029190802,-1103796617);sum2=W(0,-1105436527,1038128967,1039328248,-1104033148)+W(1,-1097126651,1057153562,1010051700,-1109964889)+W(2,-1090250993,1060383381,1057745438,-1098141643)+W(3,-1118233874,1044677482,1035812245,-1116302593)+W(4,1010939044,-1118329847,1023457753,1040757730)+W(5,1035481326,-1094975289,-1098103909,1051778220)+W(6,-1102222701,-1098057265,1048659070,-1094952202)+W(7,-1105877607,-1160321672,-1123621243,-1133841678)+W(8,1011822306,998732076,1019934334,-1105261590)+W(9,1037637839,-1112777586,-1151355224,1019752394)+W(10,1049957743,-1134551782,1012075272,1023965510)+W(11,1036758948,-1124061226,1031321862,-1104798795);WS(1065794902,1053657215); +sum1=W(0,1018314063,1031009517,1038333639,-1121908120)+W(1,-1124873339,1034311430,1039118671,1015310777)+W(2,-1147984576,-1120195837,1041290230,1031572020)+W(3,1026486289,-1114392412,-1119856235,1024640407)+W(4,-1106391546,1034446294,-1123855831,1027457764)+W(5,-1141167585,-1090069831,1039330595,-1097318831)+W(6,1053489270,-1090834490,-1096859758,1054548019)+W(7,1038700424,-1105777031,-1105884449,1041008530)+W(8,-1121443224,1015085764,1004753494,-1123864939)+W(9,1040632671,-1119728987,-1152877546,1026117491)+W(10,1043686014,-1132243578,-1155937596,1028976296)+W(11,1023881277,-1148206328,999100652,1007855863);sum2=W(0,1026283313,1028902500,1035072504,-1111593455)+W(1,-1123416451,1053329938,1047373071,-1106910582)+W(2,-1128641646,-1100521328,-1092564654,1050577288)+W(3,-1113858977,1017970524,-1096962366,1047088729)+W(4,-1108682745,-1102620143,1033408259,1043803228)+W(5,1067600226,-1090850305,1048908013,1040261276)+W(6,-1113219589,1017836657,1062297118,-1072392505)+W(7,1037790473,-1125952722,1033530157,1049469167)+W(8,1005020832,1032181798,998670368,-1104275307)+W(9,1050480903,1032569956,1023771046,-1100960524)+W(10,-1168415746,1023611526,-1112013629,-1138210428)+W(11,-1131011166,1021270423,-1112880371,1025688819);WS(1062391596,1012575503); +sum1=W(0,-1104891955,1040079801,-1118754907,1031343933)+W(1,1018981700,1047266492,-1098309187,1032025473)+W(2,1037332142,-1102249736,1041578200,-1107154694)+W(3,-1120166325,-1099931343,1040475388,-1113508494)+W(4,1034244551,-1097175282,-1110681406,-1124966418)+W(5,-1082667844,1046130725,1051954479,-1115351741)+W(6,-1116669206,1052085167,1051147223,1034155267)+W(7,1037232762,1045069376,1003822408,-1108675062)+W(8,1039695694,1041572194,-1105353116,1044511208)+W(9,1049723012,-1111177056,-1106768761,1024690888)+W(10,1031631968,-1100878141,1041859398,-1103478091)+W(11,-1120670778,-1115735812,1037747241,1001356052);sum2=W(0,-1111554425,1035520350,984378304,1033523600)+W(1,-1122087690,1042336361,-1139357832,-1129275556)+W(2,1037981702,-1108770624,-1098127108,-1124036306)+W(3,-1122349214,1030270440,1031985496,-1119955572)+W(4,1027721316,-1092144316,1013286288,1029410276)+W(5,1063527919,1062226267,1051778774,-1120989222)+W(6,-1087308230,1023869712,-1106529787,-1086537602)+W(7,1040810725,-1113965912,-1106223749,1038170956)+W(8,1040549613,1027894332,-1114072340,-1149511552)+W(9,1044728263,-1113445964,-1138380800,-1101613332)+W(10,1043627655,-1103441850,1042436209,-1102568312)+W(11,1025118636,-1120264936,1038090706,-1109791564);WS(1061969900,1065420380); +sum1=W(0,-1132400117,1024825568,1041410250,1002358108)+W(1,-1121891281,-1112279056,-1111416381,1036273784)+W(2,1014037550,-1110955448,-1100377015,1031471239)+W(3,1021231496,-1109508230,-1140842745,1015146068)+W(4,1055004288,-1093641048,-1098164717,1005238718)+W(5,1065721300,-1081575699,-1089452644,1058195604)+W(6,1050103969,-1095327860,-1095897092,1058645356)+W(7,1050895308,-1101391147,-1122283864,1047622119)+W(8,1037205414,-1128588267,1013481849,-1127598604)+W(9,1041630292,-1118185583,995531041,-1122200151)+W(10,1033148051,-1125213521,1031870564,-1115380038)+W(11,-1107652840,-1167265945,1031659065,-1112032609);sum2=W(0,-1105869799,1040337956,-1097408481,1037378832)+W(1,1010791317,-1124897054,1050274911,1034348880)+W(2,1025476671,-1107003535,-1105197585,1020451237)+W(3,-1144944739,-1128932040,-1131733180,-1121382126)+W(4,1064628576,1048269110,-1134521568,-1089422359)+W(5,-1067190452,-1081189141,1055313899,1078490638)+W(6,1034175619,1043712009,1051135592,1026583828)+W(7,1035014695,-1125325948,-1114815155,1030289482)+W(8,-1113808990,-1121898726,-1156999910,1024014288)+W(9,-1100728789,1010618498,1025759300,1025241947)+W(10,-1112306567,-1142752483,981635389,1047164907)+W(11,-1116208218,1029088384,-1158764013,1025919494);WS(1048733783,1027643848); +sum1=W(0,-1133175894,1023561851,1036515120,-1133845785)+W(1,-1116789548,1030082171,1042717327,-1135183403)+W(2,-1134260761,1034425221,1048693393,-1148511502)+W(3,-1123833247,1027869798,1039337356,1018609610)+W(4,-1093510507,1049915371,1057953132,-1088559253)+W(5,-1080791005,1063183646,1060634166,-1088396394)+W(6,-1090323862,1044704560,1058925305,-1089662985)+W(7,-1089888600,1047384498,1042697693,-1100061261)+W(8,-1130587597,1012777537,-1114935677,1034283684)+W(9,-1114509469,1031486794,-1122593837,-1127730531)+W(10,1038705162,-1166921432,-1116148770,-1138682841)+W(11,1049640472,1023971661,-1126426832,1015444552);sum2=W(0,-1144072856,-1103317800,1037891939,994989105)+W(1,1026939205,-1127785128,1037436931,-1122509885)+W(2,-1120878413,1034163445,-1103788534,1028398855)+W(3,-1113678678,1026044831,-1127272012,1025208177)+W(4,1052666546,-1122814128,-1100065758,-1173716290)+W(5,1040815920,1058553182,-1129250144,1001371192)+W(6,1020001090,1053725018,1055924851,-1100616833)+W(7,1043708121,-1123998093,1036740791,-1134790452)+W(8,-1094230404,1054652553,1036146011,-1120127409)+W(9,-1075758811,1067689129,1061875701,-1083084807)+W(10,-1075891465,1067320464,1068744910,-1074914963)+W(11,-1084193900,1062426867,1065190583,-1081737398);WS(-1084457324,1066101859); +sum1=W(0,1016102797,-1125864729,-1111022815,-1146837948)+W(1,-1115904029,1034715654,1047559389,-1115430590)+W(2,-1117556663,-1108958078,-1103064096,-1139281484)+W(3,-1124011056,-1131623214,-1131712724,1034492603)+W(4,1038645029,1047347075,1042035070,-1115296098)+W(5,1037951214,1052960194,1059438663,-1083544605)+W(6,-1109939240,1046468604,-1083491782,1057869073)+W(7,-1123535023,1043250206,-1121536740,-1123954086)+W(8,-1106508822,-1128702979,-1121095658,1030912362)+W(9,-1167432352,-1129984885,1022709564,-1104927285)+W(10,1012598283,-1123056725,-1123913107,1045723406)+W(11,-1110102674,-1128824061,1026960983,1019381994);sum2=W(0,-1127756609,1044805550,-1127395739,-1125705477)+W(1,1034569455,-1177736375,-1097909373,993770127)+W(2,-1119844207,1043096893,-1116962018,1010458600)+W(3,1019369801,-1112228363,1035619005,-1122090273)+W(4,1015549291,-1109261657,1036906007,-1105227463)+W(5,1058826852,1061852121,-1102191244,1049252886)+W(6,-1094678765,-1128420796,-1086841826,-1119951878)+W(7,-1109645851,1038741216,1021651597,-1119199398)+W(8,1037043129,-1106679057,989272222,1026846896)+W(9,-1116961215,1013800282,1042524140,-1097396928)+W(10,1038664018,-1128652243,1033157194,-1103314123)+W(11,1019677755,-1126258736,-1124905499,1035622840);WS(1067036470,-1087655195); +sum1=W(0,1026890311,-1120379564,1018554747,-1143851962)+W(1,1016195769,1022258327,-1114993347,-1106604063)+W(2,1037080924,1045778247,981655329,-1138731339)+W(3,1029907824,1023696087,1025121994,-1121217270)+W(4,1053786273,-1098337218,-1110423387,1050955184)+W(5,1063572966,-1083965137,-1090196611,1042552729)+W(6,1055564522,-1090231591,-1084059678,1058367344)+W(7,1048845230,-1095677575,-1096786628,1047575674)+W(8,1040602294,-1118031105,1025799530,-1106360251)+W(9,1045568787,-1110210301,-1119796702,-1134551499)+W(10,1028646847,-1117810092,-1132188582,1046272662)+W(11,1027665749,-1118338222,1021012754,1026932869);sum2=W(0,1028862084,1033605964,-1108417433,-1113854255)+W(1,-1104116954,-1102487521,-1109151867,-1104900936)+W(2,1040474278,-1073652757,-1071728118,-1114719178)+W(3,-1122519186,-1102125815,-1090221130,1048817634)+W(4,1032534216,1033584957,1025435556,1042382895)+W(5,1067799294,-1099286824,1033281558,1017793091)+W(6,1051278318,-1113833767,1056033422,1077900204)+W(7,-1105402373,-1107682623,1011833167,1048299521)+W(8,1046901615,-1105415159,1042045079,-1108154666)+W(9,1036137805,1005958605,1039313065,-1111336587)+W(10,1034492621,-1114752489,1020191839,1024983956)+W(11,-1127962013,1032711916,1024757388,1033542750);WS(-1087701164,1071308133); +sum1=W(0,-1112915908,1039729431,-1100025248,1040776942)+W(1,-1109010607,1047911115,-1111499300,1032135583)+W(2,1033070381,1047586960,-1096854047,-1125896234)+W(3,-1127540900,1025720505,-1100475875,1001383873)+W(4,-1108101926,-1104971284,1047131214,1040244657)+W(5,-1095250332,1057920197,1036283892,-1107965963)+W(6,-1104060437,1046835436,1057601759,-1097276733)+W(7,-1115131352,1041767855,1017446731,-1129328465)+W(8,-1123736282,-1120800451,-1152028354,-1116520012)+W(9,1040789767,1038925278,1024489952,-1105297773)+W(10,1046328829,-1130324381,1034463851,-1089523085)+W(11,1031878575,1015088161,-1112186573,-1107686492);sum2=W(0,-1112379036,1018139178,1060062242,-1089646175)+W(1,-1088789602,1066001716,1066898400,-1087427677)+W(2,1060985431,-1081253059,-1079880526,1059010203)+W(3,1054225000,-1095013927,-1095878540,-1139584980)+W(4,-1096611550,1040955729,1017421696,1050551269)+W(5,1056235229,1040223965,1035645225,-1116330565)+W(6,-1102574794,1044677785,-1114176344,-1118197619)+W(7,-1099698701,1035015292,-1100382074,1039647840)+W(8,-1115297526,-1112174927,1023971829,-1124178965)+W(9,1027731712,-1128027042,1035838465,-1111832492)+W(10,-1130074994,1033729011,1015547306,-1106279788)+W(11,-1124507789,1032866060,-1110899873,1040262609);WS(1063980716,-1121784884); +sum1=W(0,-1104528667,-1121849329,1046480497,1027357276)+W(1,-1107033792,1046903620,1049050976,-1122859745)+W(2,1033196814,1050194992,-1128776604,-1105809438)+W(3,-1111105883,1037688238,-1112079704,-1111338526)+W(4,-1090457523,1048987838,1050884987,-1094692773)+W(5,-1084796508,1061180023,1057733925,-1090130146)+W(6,-1105629197,1055134019,1054317580,-1089370535)+W(7,-1094775914,1057027842,1046804578,-1093813713)+W(8,-1098583576,-1107151594,1025153935,1046796692)+W(9,1034725880,1023598816,1016110982,1037378828)+W(10,1049629536,1040596522,-1114135692,-1096435840)+W(11,1038664949,-1127372967,-1113598601,-1097780651);sum2=W(0,1024315846,-1106371173,-1098133521,1041589168)+W(1,1040621380,-1107177437,-1106740015,1043663909)+W(2,1033384296,1040430896,-1111131552,1040212968)+W(3,1022694293,1003633577,1032409853,1014426993)+W(4,1051327081,1023684981,-1105720063,1031854878)+W(5,-1106409587,-1127108094,-1124767392,-1108849860)+W(6,-1093765703,1050935529,-1102248051,-1120392794)+W(7,-1104283048,-1128561530,1033359350,-1107120761)+W(8,-1128261352,1011090873,-1121214780,1035016760)+W(9,-1111599720,1034668152,1029549000,1035542785)+W(10,-1102687331,1018485311,-1136161665,1051247500)+W(11,1026574958,998242826,-1126387868,1037002974);WS(1047153326,-1105960410); +sum1=W(0,-1133035902,1024269605,-1105871782,1032318440)+W(1,-1111741083,1047130673,-1110369667,1023033002)+W(2,-1126171361,-1113373146,1043587009,1009988015)+W(3,-1118067977,-1111622952,1035984354,-1183551252)+W(4,-1098984649,1044051929,1043448020,-1111485966)+W(5,-1080272088,1053459949,1059563250,1050315790)+W(6,-1098309317,1044456898,1061038806,-1086889743)+W(7,-1106267538,1037611273,1048086975,-1105786176)+W(8,1028564080,1019882933,1019497606,-1110710801)+W(9,1024144723,1018957863,-1118335287,-1113831750)+W(10,-1145766181,-1124691083,-1122250988,-1117616080)+W(11,1040212689,-1150984053,-1123242346,-1114741783);sum2=W(0,1019405455,1034679642,-1109262360,-1132142402)+W(1,1002713172,1048612806,-1099677890,1022592575)+W(2,-1120241477,-1118742739,1036415285,993592760)+W(3,-1139068036,-1129249399,-1125545553,1024283135)+W(4,-1104355470,-1108806456,-1111364284,1044069954)+W(5,-1094376769,1079847520,-1066728208,-1119884477)+W(6,1031998111,-1103911380,1060715429,-1110824904)+W(7,1030577347,-1127589036,1028262793,-1128336378)+W(8,-1097044621,1034241557,1018817977,1031679549)+W(9,1057366851,-1114461524,988348592,1043056057)+W(10,993276152,1036085605,-1107038514,-1104696735)+W(11,-1133646774,-1182233281,-1128734189,1012785110);WS(1056964652,1042968547); +sum1=W(0,-1136392949,1026146499,1044356666,1026864302)+W(1,-1126999334,1038248593,1030265493,1024389106)+W(2,-1130628252,-1146035092,-1126651679,1026043785)+W(3,1002882868,1033146167,986691602,1000688741)+W(4,1051097712,-1098882624,-1091567350,-1111481597)+W(5,1052760426,-1081953599,-1090350559,1040695131)+W(6,1038264227,-1102468122,-1095456258,1056669112)+W(7,1040116499,-1110909592,-1109487565,1027446877)+W(8,1029687022,-1130908784,1008927875,1041608192)+W(9,1043333208,-1121268145,-1127664937,1042991030)+W(10,1038520784,-1146879000,952128323,1044232931)+W(11,1040618297,1023066122,-1137895230,1033386798);sum2=W(0,-1117766868,-1132308185,-1109445776,-1155037894)+W(1,1004126723,995397702,-1101307898,1042293027)+W(2,1015608713,1046458351,1014206993,-1123150924)+W(3,1030487760,1026431488,-1120597884,-1135323377)+W(4,1041934367,-1111172948,1052866656,-1106399184)+W(5,1035303811,1064268129,1058738313,-1137539889)+W(6,-1124849601,-1090299347,1052685347,-1091518060)+W(7,1061366644,-1075431372,-1087905074,1043824666)+W(8,1042904039,-1108172404,1012439553,1046069094)+W(9,1051607279,-1110625272,-1110297962,1045435531)+W(10,-1150133894,1045339946,-1107185126,-1098813712)+W(11,-1089430426,1049588119,-1122419536,1037110006);WS(-1096061015,1045980634); +sum1=W(0,1028828435,1016418418,1047345176,-1136709393)+W(1,1022855123,1032879612,1049157941,997001355)+W(2,1031977874,1032419332,1042754713,-1128346047)+W(3,1040707047,1040469689,-1124110958,984865373)+W(4,-1096285771,1049565603,-1113534082,-1089944925)+W(5,-1097979037,-1094660427,-1113216951,-1094897728)+W(6,1040846151,-1095562472,1031601097,1014307589)+W(7,1041011167,-1093905225,-1109834744,1042092045)+W(8,1021274185,1018404508,1032683291,1020871950)+W(9,1039512084,-1119890439,1027484139,1042276288)+W(10,1044068336,-1125789619,1030972704,1028680388)+W(11,1048548616,-1123584299,1031142826,-1140756488);sum2=W(0,-1115477579,1024869090,1055059251,-1114682679)+W(1,-1113658391,-1122542034,1055732865,-1100789101)+W(2,1044868728,-1107016239,-1120682294,-1110942733)+W(3,1046472362,-1087243594,-1152832742,1028313432)+W(4,1031266096,-1113806527,-1095220576,1064739409)+W(5,1067742275,1036337974,1040530242,1030176534)+W(6,-1081471397,1042181045,-1087169731,1062911121)+W(7,-1077241450,1067213860,1042749891,-1080677577)+W(8,-1105830101,-1132048253,1038444345,-1100660553)+W(9,-1103152959,1015520805,1040636888,-1096186716)+W(10,1052603278,-1102136445,1032588114,1035448471)+W(11,1052345796,-1112398105,-1134141481,1033558186);WS(-1086603372,1061480206); +sum1=W(0,-1143591172,1027469190,1022341006,1025472273)+W(1,-1110008795,1042054049,-1141108008,-1124123051)+W(2,-1127491490,1044174205,1051331968,-1124248793)+W(3,-1120184170,-1155225358,1044005681,1014214528)+W(4,-1128153798,-1124925900,-1102342404,1006839158)+W(5,-1090097115,1058414043,-1093885235,1051787090)+W(6,-1089913687,1057428893,1063214861,-1081435553)+W(7,-1096696337,1048742922,1052102264,-1092574472)+W(8,1043263108,-1114252238,-1114893026,1042514621)+W(9,-1105821275,1039892842,-1121794488,1027880941)+W(10,-1099759469,1041669328,1028544109,-1094479791)+W(11,1035771431,1039400116,977928239,-1112069887);sum2=W(0,-1109009263,1049599085,1025638319,1037224808)+W(1,-1110258597,1028269513,-1142324554,-1120793535)+W(2,-1151274598,-1119573384,-1132053081,-1112240446)+W(3,-1103902982,1008384356,1010517574,-1120536233)+W(4,1039705537,-1112746506,-1143762368,-1093017633)+W(5,1053657173,1056581815,-1099136162,1040559103)+W(6,1043501160,-1147801478,-1118127758,-1120149375)+W(7,1035850418,1032229723,-1130373692,-1121251494)+W(8,-1119534458,1021427773,995865588,-1119609796)+W(9,-1104556193,-1122952792,988834049,-1123476586)+W(10,-1107739102,1029987722,-1114993482,1044376501)+W(11,-1122521676,-1116132116,-1106681926,1033895801);WS(1037058908,-1087106898); +sum1=W(0,1028077583,-1129390954,1026637522,1032385376)+W(1,-1151370839,1048758199,1048467894,1014613011)+W(2,1027279360,1034990442,1043852440,-1139761263)+W(3,1031834108,1036138504,1017011558,1022565566)+W(4,-1107088868,1041268325,1041048768,-1098495714)+W(5,-1093334653,-1080472255,1045140885,-1108180359)+W(6,-1097414435,1045361342,1045570315,-1108393155)+W(7,-1104527470,1036330497,1028923180,-1111470776)+W(8,-1126519617,-1132138900,1017191910,1039729665)+W(9,-1114665834,997380151,1035348883,1040649531)+W(10,1035082182,1030937245,1031307292,-1125126080)+W(11,1027790590,1036519916,-1138594135,1023808326);sum2=W(0,1036231024,-1098228691,-1131222514,-1111516802)+W(1,1031916934,-1090487171,1034905648,-1130951686)+W(2,-1129631002,1035677128,1032129266,-1130989326)+W(3,-1119469958,1049196148,-1103168970,-1123615369)+W(4,-1128682274,1020406578,1049467820,-1097346809)+W(5,1052765954,1061096371,1024259929,-1113861539)+W(6,-1122282521,-1108918961,-1104129123,-1108538807)+W(7,-1116187122,-1129232626,-1114584358,1038239484)+W(8,-1102087439,1039222222,-1111393075,-1118099733)+W(9,-1108988196,1025340241,-1113826501,1049541587)+W(10,1042713844,-1111528334,1029417921,1033200380)+W(11,1018354634,1029857705,1034012496,-1097598443);WS(1054906071,-1091145324); +sum1=W(0,-1140775857,-1106052861,-1120406171,1029398237)+W(1,1004160018,1032725545,-1099422950,-1128656451)+W(2,1029686973,1037934865,-1097841652,-1130732913)+W(3,-1128798955,-1157619404,1036573848,1021855224)+W(4,1046952684,-1109008729,-1115196942,1051536197)+W(5,-1085942396,-1130426984,-1097962977,1057886666)+W(6,1042440654,1034532491,1048146402,-1098611557)+W(7,1032622058,1027356128,-1122054089,1035129734)+W(8,1034481647,1032555988,-1126429728,-1136290815)+W(9,1050651652,-1108426832,1015919623,-1114344740)+W(10,-1133864753,-1107032303,1040987294,-1102043591)+W(11,-1126847669,-1115113714,1044439941,-1124817654);sum2=W(0,-1116219822,-1112877584,1027581315,-1113802973)+W(1,-1109755343,1027296115,-1110295429,1020553430)+W(2,-1112950186,1035099341,-1126007358,-1131329246)+W(3,-1116367256,1035863861,-1130784978,-1113313093)+W(4,-1127685514,1021259086,1047020911,-1110955855)+W(5,1025841055,1053623791,1057623683,-1097495000)+W(6,-1110724235,1040083835,1057318729,-1104102640)+W(7,-1097352168,1039940909,1048620928,-1165405916)+W(8,-1118276653,-1129541322,1022816774,-1105727831)+W(9,-1104267868,1016281450,997980814,-1110729082)+W(10,-1119773745,1031563375,-1105649969,-1106795812)+W(11,-1110646461,1032754595,-1111917112,-1128480210);WS(1063926444,-1083200389); +sum1=W(0,1015785179,-1116391059,1049653262,-1110900111)+W(1,1034778082,-1111931241,1048988121,-1132926346)+W(2,1024169214,-1107911937,1002973694,1029162938)+W(3,-1116484151,-1114837807,-1104277444,1031086749)+W(4,-1106495964,1038385529,1052688460,-1089993663)+W(5,1061854120,-1089207439,1045396422,-1104923071)+W(6,1059656227,-1087799869,-1085048198,1062129309)+W(7,1055218483,-1096830980,-1096506545,1047872627)+W(8,-1108169455,-1121748392,1042131972,-1098055945)+W(9,-1111176153,-1117097761,1039495970,-1110654965)+W(10,1043917388,-1106362715,-1120523578,1042255343)+W(11,1049045741,-1098874335,1011366638,1012240783);sum2=W(0,1008713252,-1080879443,-1079593190,1031260311)+W(1,-1108083749,1067198745,-1099919153,-1110413739)+W(2,-1107516795,1037733964,1061544601,1024382525)+W(3,-1107429215,1037726418,1034769578,1032742989)+W(4,1035854140,1043424734,-1113337443,-1121246507)+W(5,-1111993270,-1102589461,-1112705599,1040572163)+W(6,-1122943484,1040341398,1044789771,1060638292)+W(7,1034609836,1030676197,-1116338100,-1098923291)+W(8,-1123981203,-1130846658,1032096214,985022717)+W(9,1035118406,1007072124,-1119780465,1028350097)+W(10,-1123835438,-1131952682,-1132931022,-1119559917)+W(11,-1114867192,-1115680064,1028149723,1021760610);WS(-1091090263,1040227933); +sum1=W(0,-1114808049,1027485320,-1113261184,-1123880467)+W(1,1032220316,1043855170,-1101480756,1014154590)+W(2,-1121223347,1021676847,-1088775234,1018131933)+W(3,1008528046,1026364723,1031227206,-1128795491)+W(4,1019377225,-1098653061,1044923332,1033284496)+W(5,-1094753319,1040011797,1059927492,-1102787036)+W(6,-1107869654,-1151140018,-1099661886,1065098078)+W(7,1025551690,-1125551659,-1113799968,1045897152)+W(8,1042536309,-1127683258,-1135767575,-1105999782)+W(9,1044858269,-1120454550,1037484605,-1095990282)+W(10,1045062557,-1109078132,1029352975,-1091964998)+W(11,1023695008,1006311503,1027724204,-1109510984);sum2=W(0,1011470018,-1131363804,-1135928985,-1123304381)+W(1,1029761957,-1101932196,1044779190,-1116901758)+W(2,-1111769341,994986369,-1097334030,-1135722528)+W(3,1032808415,1025113569,1042173475,-1107033568)+W(4,1045400660,-1100907702,-1113522433,1039889929)+W(5,1055172736,1058841413,-1104972678,-1100997480)+W(6,1054550160,-1122473050,1039800739,-1087140500)+W(7,-1115908038,1032761157,-1109069053,-1110305303)+W(8,1038781261,-1139124254,1038356153,-1108136941)+W(9,-1093286229,1040780481,-1105005165,1052809383)+W(10,-1105965260,1042887374,-1105451984,1034962749)+W(11,-1155418681,-1152192529,-1114167820,1038676003);WS(1063982124,1031276218); +sum1=W(0,-1103090149,1026538936,1031361481,1041442545)+W(1,1024468200,1034898060,-1101400314,1042807746)+W(2,1049721332,-1112916420,-1103132501,-1106882536)+W(3,1042454319,-1110788513,-1139074135,-1101888878)+W(4,1055470587,-1090262005,-1090353464,1056936890)+W(5,1061353486,-1078114170,-1096383728,1060963845)+W(6,1048946651,-1088793180,-1106902698,1063510555)+W(7,1058321972,-1093460753,-1098771630,1054541302)+W(8,-1101092681,1040474995,1007942615,-1122143798)+W(9,-1122232454,1027975174,-1103896066,1031723710)+W(10,-1172995470,-1101011290,1030475455,1043143621)+W(11,-1104729748,-1108198577,1044176219,1032268200);sum2=W(0,1034996578,1024785272,-1109357907,1015674059)+W(1,-1128049054,-1120348186,-1129998179,1026624942)+W(2,1021382702,-1105300006,1048014132,999367802)+W(3,1029480964,-1116382211,1046166047,-1124407536)+W(4,1048659656,1076858856,1066992274,1031332447)+W(5,1052415888,1073772904,1078632808,-1108514478)+W(6,-1117149322,1038594495,-1105884909,-1105319294)+W(7,-1154249511,-1098756758,1038514249,1010482847)+W(8,-1070866381,1030261153,1048304191,-1074609058)+W(9,-1076608801,-1108782845,-1098508369,-1068251573)+W(10,-1109221944,1031934850,1048310856,-1103939197)+W(11,-1125235504,1038709270,1046147873,-1098022157);WS(-1084008748,-1076428689); +sum1=W(0,-1162911689,1036299874,-1119372516,995293936)+W(1,-1132274729,1041960361,1017340780,-1138016718)+W(2,-1131268254,1034368866,1044385332,-1145295444)+W(3,-1135278623,-1103541652,1043013720,-1201649403)+W(4,-1097059736,1051547992,1059786207,-1088304948)+W(5,-1081600491,1064118968,1060565598,-1085861109)+W(6,-1090459925,1050466917,1058261310,-1083799507)+W(7,-1103180426,1042671596,1049921019,-1104403080)+W(8,-1125552990,1006687204,1013109895,-1137964103)+W(9,-1116908178,1007519945,1002349741,-1116363658)+W(10,1026422690,-1119097260,994300076,-1119006543)+W(11,1051353751,1023041036,-1123993357,-1131911306);sum2=W(0,1041148647,-1094617784,-1090933982,1033856632)+W(1,1045521814,1062250596,-1122277735,-1094518814)+W(2,1033117136,1050179515,1027053741,-1128266986)+W(3,1041230368,-1086799133,1033890948,-1173165821)+W(4,1066199400,-1102124443,1067844920,1068958128)+W(5,-1070105649,-1078683071,1051248434,1055138982)+W(6,-1082392713,-1089309992,-1079091570,-1070096660)+W(7,1076979077,1070525583,1047411220,1067349236)+W(8,-1122244574,1042779533,-1124923033,-1095515318)+W(9,1046136146,-1114411292,-1103088355,1036900546)+W(10,1045719314,1023274434,-1114099181,1021983978)+W(11,-1091587052,1042022635,-1124200313,1050937215);WS(-1081223670,1021288719); +sum1=W(0,-1123721507,1032041909,1035837139,1011016529)+W(1,1017648243,1024313608,-1108640782,1017381041)+W(2,-1122128468,-1108791100,-1105590117,1028006000)+W(3,1007983923,-1116825572,-1128783630,1009660876)+W(4,1036928499,-1100608474,-1098433890,1042651768)+W(5,1061777248,-1083909329,-1094722148,1055254255)+W(6,1052534382,-1091388554,-1087617676,1061429156)+W(7,1053483289,-1093454083,-1104773376,1049990152)+W(8,1024607124,1027549342,995272815,-1129696110)+W(9,1047474926,1017435439,-1116321147,-1131079071)+W(10,1033276873,-1139273509,-1122084432,1036831026)+W(11,1005912461,-1125665142,1024807730,-1150770463);sum2=W(0,1057597982,-1085734595,-1088994983,1057380038)+W(1,1060801069,-1079782207,-1072283812,1069621581)+W(2,1041938366,1046270010,-1081640783,1060050844)+W(3,1024344515,1043446590,-1113922524,-1122435905)+W(4,983594263,1031174835,998662038,1016685185)+W(5,1060848632,-1097910780,-1099503122,1066773393)+W(6,-1105013658,1026094487,1038323247,1043641192)+W(7,-1105295106,-1145544806,1036576275,-1104981345)+W(8,-1116219635,-1109851055,1027712021,1040844632)+W(9,1027931069,-1116080368,1037507283,-1134907857)+W(10,1047921746,1028446195,-1123552119,-1111695032)+W(11,1032973176,1031771441,-1108250726,-1114519002);WS(-1120405176,1052288640); +sum1=W(0,-1120969533,1013423883,1040656325,-1136485047)+W(1,1027237267,-1107763377,-1108004548,1032711321)+W(2,-1146847086,1040265357,1022040031,1021305874)+W(3,1039673939,-1100629595,1031093856,-1133175986)+W(4,1042796768,-1092939904,-1114886102,1051431647)+W(5,1060861813,-1089040632,-1083705303,1062809491)+W(6,-1107918083,-1098943929,1039332409,1027813500)+W(7,1043412169,-1104541036,-1112315213,1039657966)+W(8,1039390695,-1165530871,-1115542032,-1113721480)+W(9,-1116341945,1024821617,1020434857,1026161897)+W(10,1035322940,1019272038,1031183209,-1108229347)+W(11,-1114748782,1012723731,1024346473,-1115465454);sum2=W(0,-1106233681,-1131275971,-1128467212,1032873736)+W(1,1009987037,-1088748320,-1113770947,1036788040)+W(2,1018109057,1040210251,-1097209973,-1117147579)+W(3,-1106556966,1050939532,-1099376356,-1114508674)+W(4,1035809416,-1114616785,1024553592,-1098460251)+W(5,1062703231,1067981395,-1092555656,-1078975662)+W(6,-1110493560,-1103422592,1058574054,1059662245)+W(7,992650581,1026754378,1038056552,1052516052)+W(8,1026776904,-1107845863,-1128334191,1047433570)+W(9,-1104531393,-1111351589,1043173677,-1132131619)+W(10,-1125640736,-1107997815,991598885,-1106248497)+W(11,-1107493388,-1106870741,1023829740,-1107638185);WS(1050656983,1072047790); +sum1=W(0,1026709637,1034799517,1048792739,-1128713579)+W(1,1030859291,-1116111658,1014670385,1023201012)+W(2,-1152997210,-1112906461,1025355287,1041237492)+W(3,1040488948,1002270506,1036463444,-1155686725)+W(4,1050171449,-1104033571,-1097949975,1050333168)+W(5,1064066450,-1080119690,-1085647978,1053203577)+W(6,1050694506,-1088560507,-1088145917,1060032700)+W(7,1046913707,-1093840327,-1105136840,1053095469)+W(8,1036522731,1037025856,-1127716817,-1101689274)+W(9,1043957990,-1112813084,-1116963676,-1115538280)+W(10,-1120212113,-1113565993,1036783049,1037919995)+W(11,-1108210918,-1122514141,1035776666,1035379762);sum2=W(0,-1105031648,1072414374,1067037293,1032121925)+W(1,-1105961083,1076922042,1072723545,-1130820039)+W(2,-1091675607,-1079373087,1072846596,1040237041)+W(3,-1119953618,-1090018360,1048404715,1052906990)+W(4,-1081225596,1050387420,-1094551116,-1074821338)+W(5,-1068908234,-1080768789,1050306407,-1069168235)+W(6,1050158994,1048692149,-1110799161,1068735095)+W(7,1036354441,-1114340558,1039557097,1043049709)+W(8,1035683027,-1117669800,-1115959604,1045030197)+W(9,-1129129027,-1106200850,-1109697271,1054464199)+W(10,-1102086715,-1107790175,1041008693,-1109242003)+W(11,-1106557101,1034398799,1019897614,1050068036);WS(-1081468886,1041730784); +sum1=W(0,999910687,1042624634,1021500053,-1114247594)+W(1,1022168820,1034747044,1043096639,-1112649805)+W(2,1025791509,-1101453262,-1103886814,1009392321)+W(3,1020540891,1034256626,1026735815,-1115410306)+W(4,1005300019,1053438789,1044129269,1028761377)+W(5,1035906940,-1086991443,1055682820,-1100727404)+W(6,1054732110,-1098009154,-1084075064,1062898916)+W(7,1041116931,-1117544535,-1097832968,1042621601)+W(8,-1096850135,1029411807,-1121682823,-1131183895)+W(9,1038040260,-1113521452,1022343799,-1106832988)+W(10,1037861846,-1110478453,-1110992968,1044548897)+W(11,-1121491970,-1112646442,-1125653940,1022910341);sum2=W(0,995541592,1040254152,1025315462,-1109856908)+W(1,1043476326,1026228130,1035675473,-1107331629)+W(2,1039471517,-1123010638,-1101803200,-1104942022)+W(3,1022399907,1028920354,1040268905,-1114856041)+W(4,997512408,-1085520225,-1108093549,-1111613060)+W(5,1067108106,1059978555,-1103361463,-1115826672)+W(6,-1104388416,-1120534147,-1094292172,1053887552)+W(7,-1103458923,1040596394,-1108094032,-1120685867)+W(8,-1094645099,1040714423,-1114414815,1041489120)+W(9,-1121534122,1032256197,-1125997775,-1102705141)+W(10,1017265579,-1129091643,-1130615251,1039802977)+W(11,-1107135380,1027593934,-1108206349,1040793483);WS(1054796503,-1111794816); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, -3), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, -1), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, 1), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, 3), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, -3), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, -1), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, 1), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, 3), 0); +samples[8] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, -3), 0); +samples[9] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, -1), 0); +samples[10] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, 1), 0); +samples[11] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, 3), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns256, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/gather/nnedi3-nns32-win8x4.glsl b/shaders/nnedi3/gather/nnedi3-nns32-win8x4.glsl new file mode 100644 index 0000000..fe60d93 --- /dev/null +++ b/shaders/nnedi3/gather/nnedi3-nns32-win8x4.glsl @@ -0,0 +1,178 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns32, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1091571194,-1095740683,1039469975,1036208225)+W(1,1032174663,1026075554,1028885330,1048590727)+W(2,-1097328754,1025116802,1039536921,1027560868)+W(3,1023201972,1042058704,1017576356,1039928979)+W(4,1043923973,1049700439,1035622988,-1144450173)+W(5,1033278580,1046104373,-1090255529,-1098962113)+W(6,1024545936,1047463785,1029776426,1024461970)+W(7,1035224848,1043393326,-1090407950,-1100301043);sum2=W(0,1055965966,-1101782718,-1166389754,-1098253927)+W(1,-1096709168,-1105895383,983512221,1006679350)+W(2,1045236553,-1132225959,1034460863,-1106582410)+W(3,1040768379,1030302550,-1090237017,-1097283179)+W(4,1057568628,1055278331,-1113669665,1027738130)+W(5,-1111760224,1033275358,-1133967067,1036184228)+W(6,-1127810369,-1108092808,-1129223232,1016925525)+W(7,-1104949250,1045297871,1009711002,1022264595);WS(-1080723616,-1076327864); +sum1=W(0,-1106293281,1024505865,-1140602116,1017315691)+W(1,-1113397025,1022464939,-1129176587,1041272315)+W(2,-1101486193,1027220277,-1107192473,1037257964)+W(3,1024865293,1043879330,-1098639185,1040932726)+W(4,1032001763,-1106692027,1022805527,1022003974)+W(5,-1118929755,-1123579783,1038889695,1032224091)+W(6,1020788295,-1109388172,1014959990,1021604747)+W(7,-1117432531,998707020,1036681163,1019749115);sum2=W(0,-1127131649,1016927815,-1140061902,1015755803)+W(1,1033341381,1024947773,-1129880851,-1137718334)+W(2,-1112279061,-1095938931,1032555441,-1129835189)+W(3,1058036499,1079454606,-1069364926,-1089663810)+W(4,-1116204914,1009679614,-1123339814,-1138877514)+W(5,1053318688,1022404175,-1148409052,-1092530653)+W(6,-1153656135,-1146249364,-1165772366,1016646759)+W(7,1028043253,1025789685,1018619187,-1122312216);WS(1058954560,1004956589); +sum1=W(0,-1102342440,-1105082889,1038458494,-1128607008)+W(1,1038455278,-1156235011,-1147341058,1027139080)+W(2,-1085974686,1047296084,1026348672,1047693245)+W(3,-1103441674,1029167261,-1100046248,1057887999)+W(4,1058722958,-1135229473,-1116524774,-1108459679)+W(5,1033885827,1027001826,1043502422,-1087115665)+W(6,1019546620,-1122816147,-1117551096,1024592800)+W(7,-1124163292,1023459588,1043995308,1020243248);sum2=W(0,1032715073,1035295215,-1116902056,1039897191)+W(1,-1103487249,-1118716257,-1120385367,-1104821098)+W(2,1051413477,-1089611288,-1116419565,-1115617116)+W(3,-1091510775,1048354743,-1132652148,1060018690)+W(4,1039274043,-1102315300,1003022729,-1121428266)+W(5,1040404198,1037629937,-1117381948,1008252604)+W(6,1012620980,1023483611,-1161229156,1032782009)+W(7,1035102099,-1132320852,-1116040249,-1113601670);WS(-1088253760,-1127575790); +sum1=W(0,-1156102863,1042126700,1033404580,1038728366)+W(1,1011512228,1043566527,-1111684630,1036225546)+W(2,-1099951467,-1083618166,1045370723,1036121471)+W(3,1032168346,1050156122,-1088174091,1050604224)+W(4,1040753147,-1099186053,1036217881,994877095)+W(5,1037663513,1034991255,1039701042,-1098202972)+W(6,1033329669,-1099351704,1040247041,1012008372)+W(7,1030253051,1041638884,1032444126,1015138122);sum2=W(0,-1147399085,1025260806,1009286759,1030438042)+W(1,-1109485523,-1143426189,-1086940227,-1093920639)+W(2,1032031341,1065802217,1019667875,1027607240)+W(3,-1114490725,-1135657207,1049694895,-1090745109)+W(4,1046766533,-1110418147,1032828373,-1113200383)+W(5,1032826151,1024844082,1041550488,-1117099650)+W(6,-1137630919,-1119451994,1008172775,-1125602091)+W(7,993352218,-1137428855,1034586333,-1114583845);WS(-1079364256,1057874888); +sum1=W(0,1023431711,1034807569,1028964378,1038744583)+W(1,1027252187,1030066159,-1105253352,-1097930673)+W(2,1043817591,-1093522810,1044691424,1038770168)+W(3,1037737491,1045101529,-1085514994,-1095573950)+W(4,1033837359,1026052487,1031872786,1039465822)+W(5,1019830473,1014931844,1038514603,-1111615463)+W(6,1024735357,1032349913,1026510455,1031706975)+W(7,1030853165,1025856707,1036441879,1029114647);sum2=W(0,1023276596,1020476676,-1122608874,-1110129969)+W(1,-1115008651,-1145788944,-1106237621,1028080466)+W(2,1055608478,1056514262,1036903789,-1109784187)+W(3,-1135649000,1034305529,-1099727798,-1110801543)+W(4,-1122102418,1032271709,-1134147112,1016388156)+W(5,1019861916,-1104837577,-1114242709,1033517697)+W(6,-1109100200,1030585586,-1114085729,1025386706)+W(7,1027443202,-1105665752,-1128034084,-1110189468);WS(-1091483264,-1079194671); +sum1=W(0,-1116837930,1032278999,-1113984995,-1131351604)+W(1,1024497830,-1120582522,987288903,-1139989065)+W(2,-1099425098,1045060919,-1116327562,1021186040)+W(3,-1105371085,-1115581427,1046630795,1055014512)+W(4,1054575181,-1113261897,-1206829265,-1132080655)+W(5,1026057008,-1110689206,1027226210,-1092379987)+W(6,-1130307600,-1115285054,-1126861572,1023600234)+W(7,-1130576880,-1136751161,1003385298,-1122295330);sum2=W(0,1004745569,-1114381934,1028468886,-1129629424)+W(1,1021845392,1000184001,1032075412,1012138921)+W(2,1032177433,1051604488,-1136732761,-1120636360)+W(3,1017905952,-1141636449,-1122709320,-1114041388)+W(4,-1115452378,1026786204,1022425868,1036262769)+W(5,-1138562729,1006971361,-1102674451,-1105925279)+W(6,-1123076816,-1139760465,-1123045172,1019955588)+W(7,-1146151969,-1127921184,-1135173233,1002766561);WS(1067689632,-1150117831); +sum1=W(0,1047555836,1029999475,-1130553174,-1109849008)+W(1,-1099893915,-1113991840,-1114674616,1035630764)+W(2,1050420518,-1116179871,1036413160,-1123520321)+W(3,-1107722684,-1150636351,-1098283742,1040630545)+W(4,1035246488,-1104890550,-1127374955,1029117869)+W(5,1041501593,1019029347,-1116392999,1031697439)+W(6,1020611803,-1113066609,1027561031,-1140464318)+W(7,1031847583,1006720846,-1114557056,-1125473743);sum2=W(0,1032483043,1037446674,-1114467512,1032302578)+W(1,-1089061083,-1095432519,1053856893,1055539881)+W(2,-1114962225,-1107033941,-1140727686,1035589071)+W(3,-1087688027,-1119624965,1044678306,1060021172)+W(4,1017647091,-1102520792,-1123814512,1028178655)+W(5,1060967891,1056004093,-1096729370,-1086216329)+W(6,1028700703,-1106445462,-1114865396,-1131958732)+W(7,1046082925,1049601918,-1103816765,-1098594526);WS(1053174400,-1151490459); +sum1=W(0,1032070534,-1116405775,-1147738936,-1122069115)+W(1,1016988943,-1131178679,1015337751,-1106451229)+W(2,1043517586,-1108806494,1032697654,1027718109)+W(3,1030116243,1014470144,-1117317899,-1118269791)+W(4,1041596435,1030488179,-1112696969,1025368761)+W(5,-1112007328,1036691591,-1098708424,1044803791)+W(6,-1145227340,1032005679,-1121758051,1007532846)+W(7,-1121635481,1025294511,-1105947015,1024445699);sum2=W(0,-1130068082,-1126516206,1021517080,1030975148)+W(1,1009416079,1014043007,1010660367,-1128045540)+W(2,-1091517508,-1071480833,1077778659,1055956931)+W(3,-1124472846,1028586964,-1096786527,-1115164896)+W(4,-1089646275,-1129174056,1029844584,1057214094)+W(5,1004868686,-1122799750,1010452735,-1109767888)+W(6,-1116251741,998387790,1021753404,1029913248)+W(7,1023899390,-1126055830,-1161269496,-1130073888);WS(1064255296,1017910760); +sum1=W(0,1054734130,1053450179,-1112041607,1034554881)+W(1,-1127407003,-1117294562,1024002066,-1098111935)+W(2,1051103338,1044871248,-1098306542,-1108750194)+W(3,1016696883,-1097130662,1046694116,-1095577677)+W(4,-1103441076,1027829882,-1117661336,-1140839485)+W(5,983357671,-1104687573,1048629833,-1111281057)+W(6,-1122634224,1024857124,-1131295699,-1142577806)+W(7,-1118108640,-1098281839,1048835924,1032310597);sum2=W(0,1053966016,1073793292,1032914397,-1120767464)+W(1,-1147532546,-1129131123,1040357442,1035968374)+W(2,1060302091,-1072585870,1040094052,-1109760249)+W(3,-1130362887,-1116834009,-1086238928,-1122023462)+W(4,-1094220304,-1113143087,1009241688,1016200567)+W(5,1036030945,1015923256,1043210576,-1172011891)+W(6,1028063795,-1104349617,1032959032,-1122384418)+W(7,1017132829,1019714285,-1119727737,1025380203);WS(-1096343168,-1126236522); +sum1=W(0,-1108689250,-1119306439,1007810299,1030703603)+W(1,-1121378303,-1127608870,1031818658,1038321302)+W(2,-1096469888,-1085509191,1047119465,1040041675)+W(3,-1126859158,1045457184,-1089344732,1053153171)+W(4,1056154112,1020253526,-1132527909,-1113575360)+W(5,-1144694086,1029954693,999324634,1045446045)+W(6,1041829816,1033231243,1009418349,-1134236941)+W(7,1019451938,1026209383,-1107897834,-1115315934);sum2=W(0,1020456556,-1144975071,1016178696,983284602)+W(1,1015204808,1022946788,-1131007184,-1131636264)+W(2,-1114118472,1041996066,1029986296,1029794920)+W(3,998054973,1023304596,1053737341,997214653)+W(4,-1139464095,-1114876306,-1131549160,-1109420788)+W(5,1029400914,1024576522,-1113647896,-1097949071)+W(6,1015095008,983229178,-1117716768,-1118046352)+W(7,-1124860928,-1131778280,-1141234271,-1115559594);WS(1054415488,1031748714); +sum1=W(0,1016814449,1048190511,-1106849745,1032036500)+W(1,1018567785,-1119790601,-1110288412,-1098109636)+W(2,1025341687,1051815981,998976710,1032905605)+W(3,1041909072,1029877301,1042721902,-1090213441)+W(4,-1102465150,-1113968464,1024707071,1035586875)+W(5,1033626399,-1106536335,1046144796,-1117518441)+W(6,-1127337837,-1115415046,1040319748,-1137244643)+W(7,1018599181,-1122513053,-1135047459,-1117570737);sum2=W(0,-1103416430,-1121991569,-1138393335,990440998)+W(1,1034530622,-1117267403,1037302636,-1120602807)+W(2,-1128966950,-1100463136,1002996807,-1115155620)+W(3,1032576586,-1114490937,1060125031,-1098451061)+W(4,-1095499559,1010012987,-1107496177,-1122715509)+W(5,-1120765719,-1126507430,1038403096,1057202890)+W(6,1000571127,1048400711,-1100731818,-1109700727)+W(7,1027555951,-1105804206,1041385707,1011003397);WS(1057399616,1074070393); +sum1=W(0,1049855515,1048650971,-1167692925,-1116946950)+W(1,1045229301,1041758026,-1103643414,-1097294408)+W(2,1035712138,-1096264273,1027460150,1025124136)+W(3,1045455640,1036926493,-1106323062,-1094845877)+W(4,-1093603523,-1089515076,1043057687,1033233658)+W(5,1036007790,-1123310040,1057610273,1045414146)+W(6,-1102565613,-1089497938,1036180887,1031827147)+W(7,1012034194,1034964477,1048651645,1043872372);sum2=W(0,-1135117191,-1104821294,1016280180,-1099019906)+W(1,-1102919364,1021862852,-1108236474,1053230727)+W(2,1031344902,1057285857,-1160553787,-1104956478)+W(3,-1102746088,-1121198562,1060881655,1044240449)+W(4,-1108143797,-1096822242,1040551613,-1115190705)+W(5,-1107568696,1027740054,-1110487530,-1141578351)+W(6,-1121444630,-1108844527,1043284947,-1110901592)+W(7,-1115478973,1039050835,-1097266933,1033167055);WS(-1079272096,-1088198283); +sum1=W(0,-1112293630,-1147892734,-1136809437,-1150549691)+W(1,-1117531256,1024124492,-1131332343,1038263474)+W(2,-1101200910,-1153686203,-1114730926,1035238887)+W(3,1022854919,1038223988,-1109365886,1042949876)+W(4,1033312670,-1111552818,1024493634,1013948517)+W(5,-1137128325,-1131368443,1033656538,-1123815596)+W(6,993656219,-1115285591,1007675727,1014747375)+W(7,-1123012682,983503863,1031561484,999554974);sum2=W(0,-1131869901,973137042,933663296,-1130912341)+W(1,-1116201618,-1114826138,1031913949,1021624533)+W(2,1022547165,-1103034755,1026863962,1024898014)+W(3,-1097351564,-1074065991,1074345895,1049231168)+W(4,1032168251,-1122671508,1015250909,1006981209)+W(5,-1101411998,-1116799454,1033396431,1046910286)+W(6,1002623282,-1124284861,-1163156681,-1128875465)+W(7,-1122428830,-1131138133,987851849,1015118461);WS(1066898592,-1135257599); +sum1=W(0,1039457202,1036077428,-1104421608,-1110180874)+W(1,1033603984,1025966004,-1109956850,-1099722419)+W(2,1042328969,1047234565,-1109212258,-1108282395)+W(3,1027866348,-1127852161,1050666829,-1108344348)+W(4,-1102031401,-1101771699,-1104815307,-1112266449)+W(5,-1117920074,-1103088922,1056795268,1052651555)+W(6,-1107974833,-1105991798,-1107536862,-1117810340)+W(7,-1114797145,-1109126692,1052879183,1044347095);sum2=W(0,1053252716,-1099761318,-1130272686,-1109573955)+W(1,-1104024699,-1113318439,1023415227,-1111963093)+W(2,1053124236,1015950468,-1135365682,-1112628352)+W(3,-1113101390,989675628,-1098416341,1036225124)+W(4,1055173972,1056516595,-1109041460,-1127976571)+W(5,-1113626094,1021900236,-1099834172,984548524)+W(6,-1111992284,-1111067004,-1124075328,-1141484375)+W(7,-1121224929,1035158074,-1123095583,-1115296758);WS(-1080514464,1071098312); +sum1=W(0,-1104998922,-1109637973,1032590577,1029423638)+W(1,-1121480226,-1116754806,1035675859,1034143047)+W(2,-1100165641,1052963835,1032314563,1026820152)+W(3,-1119258414,-1124675269,1044386890,1041959039)+W(4,1049180397,1051364482,-1118573868,-1121041060)+W(5,-1141724766,1026232616,-1091683740,-1094089003)+W(6,1040988017,1046351030,-1138006521,-1120807462)+W(7,-1142663074,-1128189972,-1100071438,-1104568584);sum2=W(0,1047440331,-1161898742,1015651007,-1103917515)+W(1,-1101094893,1034127906,-1107946310,1045127249)+W(2,1037971494,1064882055,-1102760582,-1110033797)+W(3,-1105034150,-1105985747,1062501861,1032097498)+W(4,-1094052244,-1095531648,1038662254,-1111112749)+W(5,952358760,1029080884,-1103513552,-1097807648)+W(6,1028288648,-1103088589,1037944898,-1114159185)+W(7,-1115269879,1036625418,-1103412727,1000704926);WS(1048356096,1025975827); +sum1=W(0,1042988217,1042373466,-1122099232,-1127785256)+W(1,-1113788528,985728647,-1109964850,-1143337570)+W(2,1057753530,1024353684,1026577988,-1101696686)+W(3,981326605,1025248769,1027827940,-1091154007)+W(4,-1089144738,-1100403603,1035389109,1038799529)+W(5,1031883373,1042938314,-1125657656,1052285203)+W(6,-1117105634,-1118224663,1026531900,1026796836)+W(7,1041478413,1024598728,-1110632314,-1109515886);sum2=W(0,-1127410563,-1105350472,-1116521159,1012220951)+W(1,-1150652997,-1121646209,1023881724,-1133847817)+W(2,1052174871,-1097063130,1029633040,-1112142878)+W(3,-1123898264,1019540966,-1106094805,1044599155)+W(4,-1157154125,1029744370,-1123437332,-1134401830)+W(5,-1101447493,-1113752268,-1111846084,1059986787)+W(6,-1133421881,1031896001,-1127142758,-1127274631)+W(7,-1115689394,-1144497399,-1111750394,1028497368);WS(1047538944,-1094881626); +sum1=W(0,1026526343,1015768341,-1116924690,-1131292909)+W(1,-1137761291,-1105713526,1040643394,-1137367995)+W(2,1061821276,1006944475,1021777101,-1112297452)+W(3,1031500559,-1122499811,-1090839121,-1088680894)+W(4,-1091685625,1042550748,-1116873677,1043477817)+W(5,-1107169411,-1119456201,-1162815447,1059324523)+W(6,-1112344306,1025260793,-1142312694,-1148100662)+W(7,998501030,1032218389,1009991259,1036475455);sum2=W(0,-1112001321,-1114299623,1027383442,1018368946)+W(1,-1136144308,995591994,-1113414147,-1120361628)+W(2,-1159080892,1048017951,-1120907217,1026347909)+W(3,-1130300135,-1113455406,1047229175,-1114902877)+W(4,1043117803,-1117678872,1015876554,-1113638165)+W(5,-1104824263,-1135559770,-1153448320,1034197636)+W(6,1016312397,-1122492527,-1157376536,-1121952605)+W(7,-1116260909,1024817261,-1146986041,1030999359);WS(1059019584,-1093542352); +sum1=W(0,1030085820,-1117660736,1036739212,-1118590060)+W(1,-1139295455,1017695255,1037660574,1044414089)+W(2,1053611807,-1088498407,1044992135,-1117950862)+W(3,-1132182919,1041445842,-1087395836,1035930184)+W(4,-1106481599,1041316489,-1157350427,1031932973)+W(5,-1162575911,1028651518,-1101366685,1044296603)+W(6,1033416637,1042914684,-1135788111,1018600951)+W(7,1029799946,1024137952,-1105147443,-1113146202);sum2=W(0,-1098733365,-1096002059,-1129149604,-1139124704)+W(1,1017748092,-1120672660,-1139933424,-1134878408)+W(2,-1099326395,1042574015,1041796064,-1112674264)+W(3,1007868832,1038924927,1054885382,1006823136)+W(4,993486752,1013026008,983636161,1023328190)+W(5,-1118903044,-1117420588,1012616072,1040771663)+W(6,-1121650464,1025526661,968306692,-1131439188)+W(7,1032346590,1016029412,1007743024,-1119789204);WS(1034201600,1032755867); +sum1=W(0,-1096012775,-1105013167,1027758260,-1153568391)+W(1,-1151613767,-1113241540,1040809774,1054286804)+W(2,-1096428191,1052356477,-1106713574,-1120836106)+W(3,-1109787424,-1103823871,1045456334,1052819554)+W(4,1040996254,1046162344,-1113115007,-1110497539)+W(5,-1140335480,-1136669162,-1106901340,-1104715738)+W(6,1026611286,1046578147,-1106649828,-1129181937)+W(7,-1129950605,1018423993,-1111616164,-1119554608);sum2=W(0,1046553581,1044137813,-1114916062,-1116195452)+W(1,-1133268119,1023665145,1067697792,1060291180)+W(2,1039450853,-1081686100,1031939547,1015539387)+W(3,1037512606,1033868463,-1075409426,1056432615)+W(4,-1106570618,1023858175,1002967134,1004500534)+W(5,1015733077,-1120650920,1018449047,-1100622921)+W(6,1032662783,1018521363,1037899637,-1116253852)+W(7,1016550645,1008358731,-1106597825,1002080710);WS(-1092032128,-1114982082); +sum1=W(0,-1092594901,-1096516325,1030256707,1022785838)+W(1,-1131318086,-1117764855,1038780564,1053421570)+W(2,-1091986421,1046024022,-1129380878,1019093490)+W(3,-1114799192,-1136363407,1055287349,1047196191)+W(4,-1122621159,1047446468,-1112386231,-1136259347)+W(5,-1144800614,1031400745,-1103792760,-1127922606)+W(6,983613607,1044817638,-1105547264,-1119087591)+W(7,-1141783466,1035179430,-1107803612,-1127804734);sum2=W(0,-1101864626,-1105911709,-1122718101,1041280609)+W(1,1033694830,-1107222411,-1103824921,-1094055741)+W(2,-1098031958,1058683727,-1105883428,1032208518)+W(3,-1124818562,-1108861898,1064792422,-1096453130)+W(4,-1120084233,1049511237,-1105712369,1032385022)+W(5,-1126293810,-1108778587,1028614917,1036982526)+W(6,-1101782173,1048360263,-1100029914,1026423073)+W(7,1022233154,-1104838815,1045846387,1024411853);WS(-1109129728,1010433912); +sum1=W(0,-1096823624,-1105899410,1006908285,-1117250164)+W(1,1019407999,-1137630799,1019351431,1040646763)+W(2,-1092542200,1057728383,-1107144297,-1122855062)+W(3,-1109418342,-1105008732,1064635860,1052048931)+W(4,1037050434,1026000812,-1123315850,-1106683568)+W(5,-1114857797,1029923270,-1107858814,-1117087348)+W(6,-1117617698,-1122267030,-1125685047,-1130212999)+W(7,-1137382471,1034575732,-1100117973,-1107016783);sum2=W(0,-1138461074,1040260969,-1146428548,-1153548328)+W(1,970383811,1016706951,-1109276610,-1109953492)+W(2,1050908092,1057542522,-1131960189,-1122720334)+W(3,-1113772244,-1149783528,-1109440842,-1119113122)+W(4,1046314824,-1105004761,-1140382642,-1105417557)+W(5,-1111645386,-1114961145,-1140136790,1008998438)+W(6,1024281381,-1110366356,1025793768,-1130524097)+W(7,-1128062487,-1113390177,-1135544654,-1119699464);WS(1028043776,1066748487); +sum1=W(0,1042153037,-1142684082,1029235758,1020869188)+W(1,-1111756535,1025123714,-1109061593,-1114798157)+W(2,1055996350,1053860476,1035504777,-1130366216)+W(3,1039957533,1020063133,1054127718,-1084468040)+W(4,-1085695847,-1103910983,1028701624,1043701316)+W(5,1020852591,1027291444,-1111428405,1050138268)+W(6,-1112356264,-1125763849,-1122144394,-1140377801)+W(7,1023500800,-1137256281,-1122964802,-1142788434);sum2=W(0,-1129530165,-1119644642,924100096,-1124029698)+W(1,1021970837,-1133743274,1007880106,-1125964837)+W(2,-1119677450,1050522694,-1110737625,-1114278109)+W(3,-1118803866,-1114387111,1051750384,1030663674)+W(4,1031715210,-1121636434,-1121059730,-1113250169)+W(5,999385235,1025411170,-1117515026,-1120664914)+W(6,-1145009875,-1119348450,-1125884533,998717971)+W(7,1019195093,-1127692741,1010693450,-1122454562);WS(1060837696,-1133947077); +sum1=W(0,1043511426,-1107876293,1028161858,-1111653883)+W(1,-1102491073,-1120891991,1015032078,1035524535)+W(2,1032976162,-1100826286,1035200691,1026751705)+W(3,-1107214884,-1125941943,-1104551490,1051427819)+W(4,1046154066,-1109841015,-1124636570,1000443428)+W(5,1038586510,1029969865,-1105048272,1014718172)+W(6,1028652293,-1123706233,1010162044,-1153569903)+W(7,1023653077,990755503,-1122173975,-1150803951);sum2=W(0,-1124907300,-1130116966,1027230711,-1109148006)+W(1,1058387135,1052271642,-1092832201,-1092637531)+W(2,-1099589874,1033368851,-1115012616,-1141349815)+W(3,1062146597,1019043320,1040685020,-1085994041)+W(4,-1097709653,1048790586,-1129789352,1025861327)+W(5,-1085821967,-1089224415,1056989663,1063174823)+W(6,-1111271581,1042673858,1031045509,1018453676)+W(7,-1100831168,-1096709646,1044673285,1049450817);WS(1052991104,1024635730); +sum1=W(0,1054985227,1053766219,-1113667962,1035832004)+W(1,-1119430356,-1121298600,1027437528,-1101014640)+W(2,1046292645,-1128304655,-1099876558,-1115665493)+W(3,1029858016,-1098528437,-1148766910,-1097461637)+W(4,-1115760280,1032906080,-1123144798,-1124670698)+W(5,1026860541,-1107490221,1048476772,-1103841730)+W(6,1011324759,1032830229,991927035,-1141396670)+W(7,-1114702739,-1098098175,1048946541,1034147624);sum2=W(0,-1101540780,-1081244300,-1123155104,1023525971)+W(1,-1124206084,989815561,-1107189914,-1109590196)+W(2,-1094597742,1068940029,-1119336486,1037524511)+W(3,979200786,1039597181,1038949441,1026840221)+W(4,1051860638,998725346,-1140931614,-1120201684)+W(5,-1126284432,-1128575576,-1110977051,1014639773)+W(6,1002156586,1038812729,-1116496860,1025256785)+W(7,-1123250336,-1117282785,1033886084,-1117345859);WS(-1106197760,-1107941957); +sum1=W(0,958134964,-1096404880,992223587,-1126741205)+W(1,-1131232109,-1156891819,-1114006205,1042417753)+W(2,1050569383,-1089676235,-1096167611,-1103296147)+W(3,-1104768673,-1105076618,-1101748223,1053212362)+W(4,1032016157,1020956357,1041994672,-1103227950)+W(5,-1101041056,-1124618361,1042030605,1057274419)+W(6,-1180953690,1043412107,1027666259,-1124973941)+W(7,-1114495652,-1117167007,1052224033,1049652990);sum2=W(0,1033666378,1045400432,-1149001791,-1114619118)+W(1,1027002418,-1125963088,-1103940412,1015708744)+W(2,924614016,1063026008,-1090736686,-1110825372)+W(3,-1103385448,-1091159350,1059931802,-1107881456)+W(4,-1114127208,-1108719036,1027272732,-1106216772)+W(5,-1139192735,-1125128312,1024735270,-1107266078)+W(6,1032301903,-1114760302,-1120615480,1033544093)+W(7,1019689496,1032462491,1034226031,-1134995311);WS(-1076602784,-1079939509); +sum1=W(0,-1103738752,-1119780485,-1124683769,1033209209)+W(1,1002177000,-1112424745,1041533536,1025390185)+W(2,-1096323000,1042233324,-1141354248,1015980198)+W(3,-1104846498,-1113895617,1039917313,1052087227)+W(4,1054450248,1052850909,-1114123684,-1106007132)+W(5,-1119444855,-1112376802,-1098158311,-1105614956)+W(6,1043529432,1045060053,1019464370,-1121157953)+W(7,1021969694,-1109951699,-1103437636,-1107965437);sum2=W(0,-1106233686,-1117977933,-1119329897,1032197744)+W(1,1036373860,-1113988579,1035649904,-1119285117)+W(2,-1119744119,-1074309068,1042368013,1026978731)+W(3,-1150690390,-1148379867,-1080074847,1046616172)+W(4,1068607081,1064708176,-1109569271,1034747948)+W(5,1031972703,-1113275705,1043980108,1045039448)+W(6,-1119111329,1041980892,-1111213511,1037031349)+W(7,1015848847,1008019670,1028259198,1029320825);WS(-1093673600,-1131421273); +sum1=W(0,-1114120908,-1110871822,-1126420325,-1121371719)+W(1,1009001293,1008740253,1021798446,1035660544)+W(2,-1087025669,-1118558279,1021303790,1033366837)+W(3,-1120291359,1022689127,1042294182,1058317703)+W(4,1056872571,1032969664,1011797877,-1117842165)+W(5,1031810222,-1148303562,-1114500968,-1088792724)+W(6,1037611499,1040800018,-1131840478,1021502382)+W(7,-1137856917,-1121301883,1017988942,-1111697864);sum2=W(0,-1114206314,-1119983153,-1129835426,-1145039688)+W(1,1020565626,1000979816,-1113040628,-1116540509)+W(2,-1121785409,1051729955,-1110668832,-1119915157)+W(3,989230112,-1112437186,1051989643,-1118504757)+W(4,1012089860,-1118223897,1002833896,-1111519800)+W(5,-1112214518,1015165050,1025479957,1039755978)+W(6,-1130809610,-1123764449,1006052904,-1127947266)+W(7,-1128941978,1025956493,-1127132522,-1158783904);WS(1065682080,-1111828541); +sum1=W(0,-1145885026,-1115077208,1017604463,1015869752)+W(1,-1126764880,1032942526,1021224792,1022264616)+W(2,1052074397,-1121697500,1024786188,-1112250175)+W(3,1040282413,1035803452,1047440331,-1089954536)+W(4,-1086889687,1045248549,1002255762,1036568133)+W(5,-1125683619,1031850711,-1109225970,1049268572)+W(6,-1130857684,1037568127,982208647,-1131800664)+W(7,-1141787602,1017131424,-1113425822,-1123514660);sum2=W(0,1016858600,968811648,1016040732,-1122978131)+W(1,993636865,-1144040913,1021399769,1028741871)+W(2,1029169324,1051074882,-1125004872,-1114060649)+W(3,-1118019503,-1109484363,1031746308,1032336595)+W(4,1006053609,-1154135582,1026938249,1029971540)+W(5,-1124468225,1013417282,-1113140779,-1103346234)+W(6,-1115290499,-1140773838,-1124460348,1017189437)+W(7,-1169769501,-1139883250,-1122277912,-1141169189);WS(1068575136,1057679145); +sum1=W(0,1049880682,1049251178,1008215334,-1106541599)+W(1,1052783569,1042509671,-1111487207,-1093397815)+W(2,1026486412,-1095539136,1042310507,989927934)+W(3,1051194971,1040579493,-1103138323,-1092992340)+W(4,-1094672658,-1089191083,1040070410,1018512183)+W(5,1038856114,-1114567880,1057944056,1043830943)+W(6,-1100618939,-1087252724,1041475113,1014261304)+W(7,1025292508,1038361721,1049811244,1044894993);sum2=W(0,1053593458,1055007475,-1136765855,-1114445084)+W(1,-1150175899,-1141017037,1054334485,1057823779)+W(2,-1105638736,-1078800745,-1113238946,1039574032)+W(3,1042094581,-1134493359,-1078443122,-1096181786)+W(4,-1104375874,1059224194,-1106803932,1030357662)+W(5,1020483059,-1099695416,1058193036,1049857835)+W(6,1050059734,1035501186,-1113028634,964162478)+W(7,-1118569338,-1110238952,1029634285,1043677394);WS(-1069843280,1043992756); +sum1=W(0,1027695014,-1119099178,-1135429253,-1124948267)+W(1,1008956039,-1129507307,1017935435,-1108770183)+W(2,1044103833,-1113789227,1025838726,1025550072)+W(3,1030807982,1014849865,-1130965835,-1112757821)+W(4,1039477491,1024839950,-1116233196,1019242118)+W(5,-1114625158,1035190516,-1101790135,1042243413)+W(6,-1142719774,1028120504,-1130610171,998797102)+W(7,-1127852007,1023573770,-1106167085,1012540023);sum2=W(0,1026300352,1028491168,-1121247640,-1114838118)+W(1,-1130791968,-1127851536,-1130258048,1004928481)+W(2,1053083344,1074653957,-1072953064,-1095359738)+W(3,1025789396,1030571860,-1102013621,1024432884)+W(4,1056568596,1033233928,-1115141896,-1093135708)+W(5,984097412,1025870428,-1116002270,1030571276)+W(6,1030713448,1023653964,-1127503160,-1116140314)+W(7,-1120604784,1016702232,-1129660856,1015669456);WS(1066802848,-1129257078); +sum1=W(0,1033473243,-1155453851,-1118978065,1015630667)+W(1,-1114728473,-1121467910,-1122431286,-1104672775)+W(2,1035395194,1065736411,-1101616805,-1113784260)+W(3,-1105320751,-1095556296,1061324843,-1115117829)+W(4,1045542397,1040181775,-1114908350,-1108037466)+W(5,-1104703871,-1109993148,-1114134583,-1100789945)+W(6,-1177594330,1036229652,-1111947911,-1114956027)+W(7,-1111474306,-1106051686,-1138173719,-1124148059);sum2=W(0,-1155123513,-1108713026,-1134031950,-1109560646)+W(1,-1115008786,1019412439,-1107664082,1035199782)+W(2,1038996664,1026897780,1017238679,-1107125821)+W(3,-1123597732,1016515095,1051508948,1043157052)+W(4,-1107646918,-1107869542,-1127256871,1024343484)+W(5,-1106563795,-1116358964,998755997,1055083262)+W(6,-1112902766,-1145442397,-1129735047,1004378333)+W(7,-1117600772,-1110777694,1012570830,-1159444594);WS(-1093453440,1062530498); +sum1=W(0,-1115495349,-1109318263,1018166794,-1124930739)+W(1,1023868966,1023563962,1039727605,1025637074)+W(2,1024699176,1040214918,-1114300581,-1109529502)+W(3,-1131885027,-1104984446,1052285453,931786146)+W(4,-1105577322,1043329716,1023247327,1025096231)+W(5,-1110072888,-1137647791,-1105534248,1009762919)+W(6,-1123543752,1034740398,-1125424515,998443854)+W(7,-1123805240,1018092315,-1116356474,988548151);sum2=W(0,1018118074,-1135013993,-1110334365,-1116378324)+W(1,-1110082211,-1111471528,1002595554,1027066059)+W(2,-1117515615,-1097345050,-1134041225,-1139723269)+W(3,-1114430561,1040454031,1043336959,1053899571)+W(4,1039717826,-1107830137,-1112237914,-1147091114)+W(5,1033656482,-1117546906,1010598309,1040668505)+W(6,1032288465,978891919,-1131603942,-1123080609)+W(7,-1115822981,-1119917138,1026333875,1016807738);WS(1067735712,-1080534052); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, -1), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 1), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -1), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 1), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -1), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 1), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, -1), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, 1), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns32, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns32, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,1039469975,-1095740683,-1091571194,1036208225)+W(1,1039536921,1025116802,-1097328754,1027560868)+W(2,1035622988,1049700439,1043923973,-1144450173)+W(3,1029776426,1047463785,1024545936,1024461970)+W(4,1028885330,1026075554,1032174663,1048590727)+W(5,1017576356,1042058704,1023201972,1039928979)+W(6,-1090255529,1046104373,1033278580,-1098962113)+W(7,-1090407950,1043393326,1035224848,-1100301043);sum2=W(0,-1166389754,-1101782718,1055965966,-1098253927)+W(1,1034460863,-1132225959,1045236553,-1106582410)+W(2,-1113669665,1055278331,1057568628,1027738130)+W(3,-1129223232,-1108092808,-1127810369,1016925525)+W(4,983512221,-1105895383,-1096709168,1006679350)+W(5,-1090237017,1030302550,1040768379,-1097283179)+W(6,-1133967067,1033275358,-1111760224,1036184228)+W(7,1009711002,1045297871,-1104949250,1022264595);WS(-1080723616,-1076327864); +sum1=W(0,-1140602116,1024505865,-1106293281,1017315691)+W(1,-1107192473,1027220277,-1101486193,1037257964)+W(2,1022805527,-1106692027,1032001763,1022003974)+W(3,1014959990,-1109388172,1020788295,1021604747)+W(4,-1129176587,1022464939,-1113397025,1041272315)+W(5,-1098639185,1043879330,1024865293,1040932726)+W(6,1038889695,-1123579783,-1118929755,1032224091)+W(7,1036681163,998707020,-1117432531,1019749115);sum2=W(0,-1140061902,1016927815,-1127131649,1015755803)+W(1,1032555441,-1095938931,-1112279061,-1129835189)+W(2,-1123339814,1009679614,-1116204914,-1138877514)+W(3,-1165772366,-1146249364,-1153656135,1016646759)+W(4,-1129880851,1024947773,1033341381,-1137718334)+W(5,-1069364926,1079454606,1058036499,-1089663810)+W(6,-1148409052,1022404175,1053318688,-1092530653)+W(7,1018619187,1025789685,1028043253,-1122312216);WS(1058954560,1004956589); +sum1=W(0,1038458494,-1105082889,-1102342440,-1128607008)+W(1,1026348672,1047296084,-1085974686,1047693245)+W(2,-1116524774,-1135229473,1058722958,-1108459679)+W(3,-1117551096,-1122816147,1019546620,1024592800)+W(4,-1147341058,-1156235011,1038455278,1027139080)+W(5,-1100046248,1029167261,-1103441674,1057887999)+W(6,1043502422,1027001826,1033885827,-1087115665)+W(7,1043995308,1023459588,-1124163292,1020243248);sum2=W(0,-1116902056,1035295215,1032715073,1039897191)+W(1,-1116419565,-1089611288,1051413477,-1115617116)+W(2,1003022729,-1102315300,1039274043,-1121428266)+W(3,-1161229156,1023483611,1012620980,1032782009)+W(4,-1120385367,-1118716257,-1103487249,-1104821098)+W(5,-1132652148,1048354743,-1091510775,1060018690)+W(6,-1117381948,1037629937,1040404198,1008252604)+W(7,-1116040249,-1132320852,1035102099,-1113601670);WS(-1088253760,-1127575790); +sum1=W(0,1033404580,1042126700,-1156102863,1038728366)+W(1,1045370723,-1083618166,-1099951467,1036121471)+W(2,1036217881,-1099186053,1040753147,994877095)+W(3,1040247041,-1099351704,1033329669,1012008372)+W(4,-1111684630,1043566527,1011512228,1036225546)+W(5,-1088174091,1050156122,1032168346,1050604224)+W(6,1039701042,1034991255,1037663513,-1098202972)+W(7,1032444126,1041638884,1030253051,1015138122);sum2=W(0,1009286759,1025260806,-1147399085,1030438042)+W(1,1019667875,1065802217,1032031341,1027607240)+W(2,1032828373,-1110418147,1046766533,-1113200383)+W(3,1008172775,-1119451994,-1137630919,-1125602091)+W(4,-1086940227,-1143426189,-1109485523,-1093920639)+W(5,1049694895,-1135657207,-1114490725,-1090745109)+W(6,1041550488,1024844082,1032826151,-1117099650)+W(7,1034586333,-1137428855,993352218,-1114583845);WS(-1079364256,1057874888); +sum1=W(0,1028964378,1034807569,1023431711,1038744583)+W(1,1044691424,-1093522810,1043817591,1038770168)+W(2,1031872786,1026052487,1033837359,1039465822)+W(3,1026510455,1032349913,1024735357,1031706975)+W(4,-1105253352,1030066159,1027252187,-1097930673)+W(5,-1085514994,1045101529,1037737491,-1095573950)+W(6,1038514603,1014931844,1019830473,-1111615463)+W(7,1036441879,1025856707,1030853165,1029114647);sum2=W(0,-1122608874,1020476676,1023276596,-1110129969)+W(1,1036903789,1056514262,1055608478,-1109784187)+W(2,-1134147112,1032271709,-1122102418,1016388156)+W(3,-1114085729,1030585586,-1109100200,1025386706)+W(4,-1106237621,-1145788944,-1115008651,1028080466)+W(5,-1099727798,1034305529,-1135649000,-1110801543)+W(6,-1114242709,-1104837577,1019861916,1033517697)+W(7,-1128034084,-1105665752,1027443202,-1110189468);WS(-1091483264,-1079194671); +sum1=W(0,-1113984995,1032278999,-1116837930,-1131351604)+W(1,-1116327562,1045060919,-1099425098,1021186040)+W(2,-1206829265,-1113261897,1054575181,-1132080655)+W(3,-1126861572,-1115285054,-1130307600,1023600234)+W(4,987288903,-1120582522,1024497830,-1139989065)+W(5,1046630795,-1115581427,-1105371085,1055014512)+W(6,1027226210,-1110689206,1026057008,-1092379987)+W(7,1003385298,-1136751161,-1130576880,-1122295330);sum2=W(0,1028468886,-1114381934,1004745569,-1129629424)+W(1,-1136732761,1051604488,1032177433,-1120636360)+W(2,1022425868,1026786204,-1115452378,1036262769)+W(3,-1123045172,-1139760465,-1123076816,1019955588)+W(4,1032075412,1000184001,1021845392,1012138921)+W(5,-1122709320,-1141636449,1017905952,-1114041388)+W(6,-1102674451,1006971361,-1138562729,-1105925279)+W(7,-1135173233,-1127921184,-1146151969,1002766561);WS(1067689632,-1150117831); +sum1=W(0,-1130553174,1029999475,1047555836,-1109849008)+W(1,1036413160,-1116179871,1050420518,-1123520321)+W(2,-1127374955,-1104890550,1035246488,1029117869)+W(3,1027561031,-1113066609,1020611803,-1140464318)+W(4,-1114674616,-1113991840,-1099893915,1035630764)+W(5,-1098283742,-1150636351,-1107722684,1040630545)+W(6,-1116392999,1019029347,1041501593,1031697439)+W(7,-1114557056,1006720846,1031847583,-1125473743);sum2=W(0,-1114467512,1037446674,1032483043,1032302578)+W(1,-1140727686,-1107033941,-1114962225,1035589071)+W(2,-1123814512,-1102520792,1017647091,1028178655)+W(3,-1114865396,-1106445462,1028700703,-1131958732)+W(4,1053856893,-1095432519,-1089061083,1055539881)+W(5,1044678306,-1119624965,-1087688027,1060021172)+W(6,-1096729370,1056004093,1060967891,-1086216329)+W(7,-1103816765,1049601918,1046082925,-1098594526);WS(1053174400,-1151490459); +sum1=W(0,-1147738936,-1116405775,1032070534,-1122069115)+W(1,1032697654,-1108806494,1043517586,1027718109)+W(2,-1112696969,1030488179,1041596435,1025368761)+W(3,-1121758051,1032005679,-1145227340,1007532846)+W(4,1015337751,-1131178679,1016988943,-1106451229)+W(5,-1117317899,1014470144,1030116243,-1118269791)+W(6,-1098708424,1036691591,-1112007328,1044803791)+W(7,-1105947015,1025294511,-1121635481,1024445699);sum2=W(0,1021517080,-1126516206,-1130068082,1030975148)+W(1,1077778659,-1071480833,-1091517508,1055956931)+W(2,1029844584,-1129174056,-1089646275,1057214094)+W(3,1021753404,998387790,-1116251741,1029913248)+W(4,1010660367,1014043007,1009416079,-1128045540)+W(5,-1096786527,1028586964,-1124472846,-1115164896)+W(6,1010452735,-1122799750,1004868686,-1109767888)+W(7,-1161269496,-1126055830,1023899390,-1130073888);WS(1064255296,1017910760); +sum1=W(0,-1112041607,1053450179,1054734130,1034554881)+W(1,-1098306542,1044871248,1051103338,-1108750194)+W(2,-1117661336,1027829882,-1103441076,-1140839485)+W(3,-1131295699,1024857124,-1122634224,-1142577806)+W(4,1024002066,-1117294562,-1127407003,-1098111935)+W(5,1046694116,-1097130662,1016696883,-1095577677)+W(6,1048629833,-1104687573,983357671,-1111281057)+W(7,1048835924,-1098281839,-1118108640,1032310597);sum2=W(0,1032914397,1073793292,1053966016,-1120767464)+W(1,1040094052,-1072585870,1060302091,-1109760249)+W(2,1009241688,-1113143087,-1094220304,1016200567)+W(3,1032959032,-1104349617,1028063795,-1122384418)+W(4,1040357442,-1129131123,-1147532546,1035968374)+W(5,-1086238928,-1116834009,-1130362887,-1122023462)+W(6,1043210576,1015923256,1036030945,-1172011891)+W(7,-1119727737,1019714285,1017132829,1025380203);WS(-1096343168,-1126236522); +sum1=W(0,1007810299,-1119306439,-1108689250,1030703603)+W(1,1047119465,-1085509191,-1096469888,1040041675)+W(2,-1132527909,1020253526,1056154112,-1113575360)+W(3,1009418349,1033231243,1041829816,-1134236941)+W(4,1031818658,-1127608870,-1121378303,1038321302)+W(5,-1089344732,1045457184,-1126859158,1053153171)+W(6,999324634,1029954693,-1144694086,1045446045)+W(7,-1107897834,1026209383,1019451938,-1115315934);sum2=W(0,1016178696,-1144975071,1020456556,983284602)+W(1,1029986296,1041996066,-1114118472,1029794920)+W(2,-1131549160,-1114876306,-1139464095,-1109420788)+W(3,-1117716768,983229178,1015095008,-1118046352)+W(4,-1131007184,1022946788,1015204808,-1131636264)+W(5,1053737341,1023304596,998054973,997214653)+W(6,-1113647896,1024576522,1029400914,-1097949071)+W(7,-1141234271,-1131778280,-1124860928,-1115559594);WS(1054415488,1031748714); +sum1=W(0,-1106849745,1048190511,1016814449,1032036500)+W(1,998976710,1051815981,1025341687,1032905605)+W(2,1024707071,-1113968464,-1102465150,1035586875)+W(3,1040319748,-1115415046,-1127337837,-1137244643)+W(4,-1110288412,-1119790601,1018567785,-1098109636)+W(5,1042721902,1029877301,1041909072,-1090213441)+W(6,1046144796,-1106536335,1033626399,-1117518441)+W(7,-1135047459,-1122513053,1018599181,-1117570737);sum2=W(0,-1138393335,-1121991569,-1103416430,990440998)+W(1,1002996807,-1100463136,-1128966950,-1115155620)+W(2,-1107496177,1010012987,-1095499559,-1122715509)+W(3,-1100731818,1048400711,1000571127,-1109700727)+W(4,1037302636,-1117267403,1034530622,-1120602807)+W(5,1060125031,-1114490937,1032576586,-1098451061)+W(6,1038403096,-1126507430,-1120765719,1057202890)+W(7,1041385707,-1105804206,1027555951,1011003397);WS(1057399616,1074070393); +sum1=W(0,-1167692925,1048650971,1049855515,-1116946950)+W(1,1027460150,-1096264273,1035712138,1025124136)+W(2,1043057687,-1089515076,-1093603523,1033233658)+W(3,1036180887,-1089497938,-1102565613,1031827147)+W(4,-1103643414,1041758026,1045229301,-1097294408)+W(5,-1106323062,1036926493,1045455640,-1094845877)+W(6,1057610273,-1123310040,1036007790,1045414146)+W(7,1048651645,1034964477,1012034194,1043872372);sum2=W(0,1016280180,-1104821294,-1135117191,-1099019906)+W(1,-1160553787,1057285857,1031344902,-1104956478)+W(2,1040551613,-1096822242,-1108143797,-1115190705)+W(3,1043284947,-1108844527,-1121444630,-1110901592)+W(4,-1108236474,1021862852,-1102919364,1053230727)+W(5,1060881655,-1121198562,-1102746088,1044240449)+W(6,-1110487530,1027740054,-1107568696,-1141578351)+W(7,-1097266933,1039050835,-1115478973,1033167055);WS(-1079272096,-1088198283); +sum1=W(0,-1136809437,-1147892734,-1112293630,-1150549691)+W(1,-1114730926,-1153686203,-1101200910,1035238887)+W(2,1024493634,-1111552818,1033312670,1013948517)+W(3,1007675727,-1115285591,993656219,1014747375)+W(4,-1131332343,1024124492,-1117531256,1038263474)+W(5,-1109365886,1038223988,1022854919,1042949876)+W(6,1033656538,-1131368443,-1137128325,-1123815596)+W(7,1031561484,983503863,-1123012682,999554974);sum2=W(0,933663296,973137042,-1131869901,-1130912341)+W(1,1026863962,-1103034755,1022547165,1024898014)+W(2,1015250909,-1122671508,1032168251,1006981209)+W(3,-1163156681,-1124284861,1002623282,-1128875465)+W(4,1031913949,-1114826138,-1116201618,1021624533)+W(5,1074345895,-1074065991,-1097351564,1049231168)+W(6,1033396431,-1116799454,-1101411998,1046910286)+W(7,987851849,-1131138133,-1122428830,1015118461);WS(1066898592,-1135257599); +sum1=W(0,-1104421608,1036077428,1039457202,-1110180874)+W(1,-1109212258,1047234565,1042328969,-1108282395)+W(2,-1104815307,-1101771699,-1102031401,-1112266449)+W(3,-1107536862,-1105991798,-1107974833,-1117810340)+W(4,-1109956850,1025966004,1033603984,-1099722419)+W(5,1050666829,-1127852161,1027866348,-1108344348)+W(6,1056795268,-1103088922,-1117920074,1052651555)+W(7,1052879183,-1109126692,-1114797145,1044347095);sum2=W(0,-1130272686,-1099761318,1053252716,-1109573955)+W(1,-1135365682,1015950468,1053124236,-1112628352)+W(2,-1109041460,1056516595,1055173972,-1127976571)+W(3,-1124075328,-1111067004,-1111992284,-1141484375)+W(4,1023415227,-1113318439,-1104024699,-1111963093)+W(5,-1098416341,989675628,-1113101390,1036225124)+W(6,-1099834172,1021900236,-1113626094,984548524)+W(7,-1123095583,1035158074,-1121224929,-1115296758);WS(-1080514464,1071098312); +sum1=W(0,1032590577,-1109637973,-1104998922,1029423638)+W(1,1032314563,1052963835,-1100165641,1026820152)+W(2,-1118573868,1051364482,1049180397,-1121041060)+W(3,-1138006521,1046351030,1040988017,-1120807462)+W(4,1035675859,-1116754806,-1121480226,1034143047)+W(5,1044386890,-1124675269,-1119258414,1041959039)+W(6,-1091683740,1026232616,-1141724766,-1094089003)+W(7,-1100071438,-1128189972,-1142663074,-1104568584);sum2=W(0,1015651007,-1161898742,1047440331,-1103917515)+W(1,-1102760582,1064882055,1037971494,-1110033797)+W(2,1038662254,-1095531648,-1094052244,-1111112749)+W(3,1037944898,-1103088589,1028288648,-1114159185)+W(4,-1107946310,1034127906,-1101094893,1045127249)+W(5,1062501861,-1105985747,-1105034150,1032097498)+W(6,-1103513552,1029080884,952358760,-1097807648)+W(7,-1103412727,1036625418,-1115269879,1000704926);WS(1048356096,1025975827); +sum1=W(0,-1122099232,1042373466,1042988217,-1127785256)+W(1,1026577988,1024353684,1057753530,-1101696686)+W(2,1035389109,-1100403603,-1089144738,1038799529)+W(3,1026531900,-1118224663,-1117105634,1026796836)+W(4,-1109964850,985728647,-1113788528,-1143337570)+W(5,1027827940,1025248769,981326605,-1091154007)+W(6,-1125657656,1042938314,1031883373,1052285203)+W(7,-1110632314,1024598728,1041478413,-1109515886);sum2=W(0,-1116521159,-1105350472,-1127410563,1012220951)+W(1,1029633040,-1097063130,1052174871,-1112142878)+W(2,-1123437332,1029744370,-1157154125,-1134401830)+W(3,-1127142758,1031896001,-1133421881,-1127274631)+W(4,1023881724,-1121646209,-1150652997,-1133847817)+W(5,-1106094805,1019540966,-1123898264,1044599155)+W(6,-1111846084,-1113752268,-1101447493,1059986787)+W(7,-1111750394,-1144497399,-1115689394,1028497368);WS(1047538944,-1094881626); +sum1=W(0,-1116924690,1015768341,1026526343,-1131292909)+W(1,1021777101,1006944475,1061821276,-1112297452)+W(2,-1116873677,1042550748,-1091685625,1043477817)+W(3,-1142312694,1025260793,-1112344306,-1148100662)+W(4,1040643394,-1105713526,-1137761291,-1137367995)+W(5,-1090839121,-1122499811,1031500559,-1088680894)+W(6,-1162815447,-1119456201,-1107169411,1059324523)+W(7,1009991259,1032218389,998501030,1036475455);sum2=W(0,1027383442,-1114299623,-1112001321,1018368946)+W(1,-1120907217,1048017951,-1159080892,1026347909)+W(2,1015876554,-1117678872,1043117803,-1113638165)+W(3,-1157376536,-1122492527,1016312397,-1121952605)+W(4,-1113414147,995591994,-1136144308,-1120361628)+W(5,1047229175,-1113455406,-1130300135,-1114902877)+W(6,-1153448320,-1135559770,-1104824263,1034197636)+W(7,-1146986041,1024817261,-1116260909,1030999359);WS(1059019584,-1093542352); +sum1=W(0,1036739212,-1117660736,1030085820,-1118590060)+W(1,1044992135,-1088498407,1053611807,-1117950862)+W(2,-1157350427,1041316489,-1106481599,1031932973)+W(3,-1135788111,1042914684,1033416637,1018600951)+W(4,1037660574,1017695255,-1139295455,1044414089)+W(5,-1087395836,1041445842,-1132182919,1035930184)+W(6,-1101366685,1028651518,-1162575911,1044296603)+W(7,-1105147443,1024137952,1029799946,-1113146202);sum2=W(0,-1129149604,-1096002059,-1098733365,-1139124704)+W(1,1041796064,1042574015,-1099326395,-1112674264)+W(2,983636161,1013026008,993486752,1023328190)+W(3,968306692,1025526661,-1121650464,-1131439188)+W(4,-1139933424,-1120672660,1017748092,-1134878408)+W(5,1054885382,1038924927,1007868832,1006823136)+W(6,1012616072,-1117420588,-1118903044,1040771663)+W(7,1007743024,1016029412,1032346590,-1119789204);WS(1034201600,1032755867); +sum1=W(0,1027758260,-1105013167,-1096012775,-1153568391)+W(1,-1106713574,1052356477,-1096428191,-1120836106)+W(2,-1113115007,1046162344,1040996254,-1110497539)+W(3,-1106649828,1046578147,1026611286,-1129181937)+W(4,1040809774,-1113241540,-1151613767,1054286804)+W(5,1045456334,-1103823871,-1109787424,1052819554)+W(6,-1106901340,-1136669162,-1140335480,-1104715738)+W(7,-1111616164,1018423993,-1129950605,-1119554608);sum2=W(0,-1114916062,1044137813,1046553581,-1116195452)+W(1,1031939547,-1081686100,1039450853,1015539387)+W(2,1002967134,1023858175,-1106570618,1004500534)+W(3,1037899637,1018521363,1032662783,-1116253852)+W(4,1067697792,1023665145,-1133268119,1060291180)+W(5,-1075409426,1033868463,1037512606,1056432615)+W(6,1018449047,-1120650920,1015733077,-1100622921)+W(7,-1106597825,1008358731,1016550645,1002080710);WS(-1092032128,-1114982082); +sum1=W(0,1030256707,-1096516325,-1092594901,1022785838)+W(1,-1129380878,1046024022,-1091986421,1019093490)+W(2,-1112386231,1047446468,-1122621159,-1136259347)+W(3,-1105547264,1044817638,983613607,-1119087591)+W(4,1038780564,-1117764855,-1131318086,1053421570)+W(5,1055287349,-1136363407,-1114799192,1047196191)+W(6,-1103792760,1031400745,-1144800614,-1127922606)+W(7,-1107803612,1035179430,-1141783466,-1127804734);sum2=W(0,-1122718101,-1105911709,-1101864626,1041280609)+W(1,-1105883428,1058683727,-1098031958,1032208518)+W(2,-1105712369,1049511237,-1120084233,1032385022)+W(3,-1100029914,1048360263,-1101782173,1026423073)+W(4,-1103824921,-1107222411,1033694830,-1094055741)+W(5,1064792422,-1108861898,-1124818562,-1096453130)+W(6,1028614917,-1108778587,-1126293810,1036982526)+W(7,1045846387,-1104838815,1022233154,1024411853);WS(-1109129728,1010433912); +sum1=W(0,1006908285,-1105899410,-1096823624,-1117250164)+W(1,-1107144297,1057728383,-1092542200,-1122855062)+W(2,-1123315850,1026000812,1037050434,-1106683568)+W(3,-1125685047,-1122267030,-1117617698,-1130212999)+W(4,1019351431,-1137630799,1019407999,1040646763)+W(5,1064635860,-1105008732,-1109418342,1052048931)+W(6,-1107858814,1029923270,-1114857797,-1117087348)+W(7,-1100117973,1034575732,-1137382471,-1107016783);sum2=W(0,-1146428548,1040260969,-1138461074,-1153548328)+W(1,-1131960189,1057542522,1050908092,-1122720334)+W(2,-1140382642,-1105004761,1046314824,-1105417557)+W(3,1025793768,-1110366356,1024281381,-1130524097)+W(4,-1109276610,1016706951,970383811,-1109953492)+W(5,-1109440842,-1149783528,-1113772244,-1119113122)+W(6,-1140136790,-1114961145,-1111645386,1008998438)+W(7,-1135544654,-1113390177,-1128062487,-1119699464);WS(1028043776,1066748487); +sum1=W(0,1029235758,-1142684082,1042153037,1020869188)+W(1,1035504777,1053860476,1055996350,-1130366216)+W(2,1028701624,-1103910983,-1085695847,1043701316)+W(3,-1122144394,-1125763849,-1112356264,-1140377801)+W(4,-1109061593,1025123714,-1111756535,-1114798157)+W(5,1054127718,1020063133,1039957533,-1084468040)+W(6,-1111428405,1027291444,1020852591,1050138268)+W(7,-1122964802,-1137256281,1023500800,-1142788434);sum2=W(0,924100096,-1119644642,-1129530165,-1124029698)+W(1,-1110737625,1050522694,-1119677450,-1114278109)+W(2,-1121059730,-1121636434,1031715210,-1113250169)+W(3,-1125884533,-1119348450,-1145009875,998717971)+W(4,1007880106,-1133743274,1021970837,-1125964837)+W(5,1051750384,-1114387111,-1118803866,1030663674)+W(6,-1117515026,1025411170,999385235,-1120664914)+W(7,1010693450,-1127692741,1019195093,-1122454562);WS(1060837696,-1133947077); +sum1=W(0,1028161858,-1107876293,1043511426,-1111653883)+W(1,1035200691,-1100826286,1032976162,1026751705)+W(2,-1124636570,-1109841015,1046154066,1000443428)+W(3,1010162044,-1123706233,1028652293,-1153569903)+W(4,1015032078,-1120891991,-1102491073,1035524535)+W(5,-1104551490,-1125941943,-1107214884,1051427819)+W(6,-1105048272,1029969865,1038586510,1014718172)+W(7,-1122173975,990755503,1023653077,-1150803951);sum2=W(0,1027230711,-1130116966,-1124907300,-1109148006)+W(1,-1115012616,1033368851,-1099589874,-1141349815)+W(2,-1129789352,1048790586,-1097709653,1025861327)+W(3,1031045509,1042673858,-1111271581,1018453676)+W(4,-1092832201,1052271642,1058387135,-1092637531)+W(5,1040685020,1019043320,1062146597,-1085994041)+W(6,1056989663,-1089224415,-1085821967,1063174823)+W(7,1044673285,-1096709646,-1100831168,1049450817);WS(1052991104,1024635730); +sum1=W(0,-1113667962,1053766219,1054985227,1035832004)+W(1,-1099876558,-1128304655,1046292645,-1115665493)+W(2,-1123144798,1032906080,-1115760280,-1124670698)+W(3,991927035,1032830229,1011324759,-1141396670)+W(4,1027437528,-1121298600,-1119430356,-1101014640)+W(5,-1148766910,-1098528437,1029858016,-1097461637)+W(6,1048476772,-1107490221,1026860541,-1103841730)+W(7,1048946541,-1098098175,-1114702739,1034147624);sum2=W(0,-1123155104,-1081244300,-1101540780,1023525971)+W(1,-1119336486,1068940029,-1094597742,1037524511)+W(2,-1140931614,998725346,1051860638,-1120201684)+W(3,-1116496860,1038812729,1002156586,1025256785)+W(4,-1107189914,989815561,-1124206084,-1109590196)+W(5,1038949441,1039597181,979200786,1026840221)+W(6,-1110977051,-1128575576,-1126284432,1014639773)+W(7,1033886084,-1117282785,-1123250336,-1117345859);WS(-1106197760,-1107941957); +sum1=W(0,992223587,-1096404880,958134964,-1126741205)+W(1,-1096167611,-1089676235,1050569383,-1103296147)+W(2,1041994672,1020956357,1032016157,-1103227950)+W(3,1027666259,1043412107,-1180953690,-1124973941)+W(4,-1114006205,-1156891819,-1131232109,1042417753)+W(5,-1101748223,-1105076618,-1104768673,1053212362)+W(6,1042030605,-1124618361,-1101041056,1057274419)+W(7,1052224033,-1117167007,-1114495652,1049652990);sum2=W(0,-1149001791,1045400432,1033666378,-1114619118)+W(1,-1090736686,1063026008,924614016,-1110825372)+W(2,1027272732,-1108719036,-1114127208,-1106216772)+W(3,-1120615480,-1114760302,1032301903,1033544093)+W(4,-1103940412,-1125963088,1027002418,1015708744)+W(5,1059931802,-1091159350,-1103385448,-1107881456)+W(6,1024735270,-1125128312,-1139192735,-1107266078)+W(7,1034226031,1032462491,1019689496,-1134995311);WS(-1076602784,-1079939509); +sum1=W(0,-1124683769,-1119780485,-1103738752,1033209209)+W(1,-1141354248,1042233324,-1096323000,1015980198)+W(2,-1114123684,1052850909,1054450248,-1106007132)+W(3,1019464370,1045060053,1043529432,-1121157953)+W(4,1041533536,-1112424745,1002177000,1025390185)+W(5,1039917313,-1113895617,-1104846498,1052087227)+W(6,-1098158311,-1112376802,-1119444855,-1105614956)+W(7,-1103437636,-1109951699,1021969694,-1107965437);sum2=W(0,-1119329897,-1117977933,-1106233686,1032197744)+W(1,1042368013,-1074309068,-1119744119,1026978731)+W(2,-1109569271,1064708176,1068607081,1034747948)+W(3,-1111213511,1041980892,-1119111329,1037031349)+W(4,1035649904,-1113988579,1036373860,-1119285117)+W(5,-1080074847,-1148379867,-1150690390,1046616172)+W(6,1043980108,-1113275705,1031972703,1045039448)+W(7,1028259198,1008019670,1015848847,1029320825);WS(-1093673600,-1131421273); +sum1=W(0,-1126420325,-1110871822,-1114120908,-1121371719)+W(1,1021303790,-1118558279,-1087025669,1033366837)+W(2,1011797877,1032969664,1056872571,-1117842165)+W(3,-1131840478,1040800018,1037611499,1021502382)+W(4,1021798446,1008740253,1009001293,1035660544)+W(5,1042294182,1022689127,-1120291359,1058317703)+W(6,-1114500968,-1148303562,1031810222,-1088792724)+W(7,1017988942,-1121301883,-1137856917,-1111697864);sum2=W(0,-1129835426,-1119983153,-1114206314,-1145039688)+W(1,-1110668832,1051729955,-1121785409,-1119915157)+W(2,1002833896,-1118223897,1012089860,-1111519800)+W(3,1006052904,-1123764449,-1130809610,-1127947266)+W(4,-1113040628,1000979816,1020565626,-1116540509)+W(5,1051989643,-1112437186,989230112,-1118504757)+W(6,1025479957,1015165050,-1112214518,1039755978)+W(7,-1127132522,1025956493,-1128941978,-1158783904);WS(1065682080,-1111828541); +sum1=W(0,1017604463,-1115077208,-1145885026,1015869752)+W(1,1024786188,-1121697500,1052074397,-1112250175)+W(2,1002255762,1045248549,-1086889687,1036568133)+W(3,982208647,1037568127,-1130857684,-1131800664)+W(4,1021224792,1032942526,-1126764880,1022264616)+W(5,1047440331,1035803452,1040282413,-1089954536)+W(6,-1109225970,1031850711,-1125683619,1049268572)+W(7,-1113425822,1017131424,-1141787602,-1123514660);sum2=W(0,1016040732,968811648,1016858600,-1122978131)+W(1,-1125004872,1051074882,1029169324,-1114060649)+W(2,1026938249,-1154135582,1006053609,1029971540)+W(3,-1124460348,-1140773838,-1115290499,1017189437)+W(4,1021399769,-1144040913,993636865,1028741871)+W(5,1031746308,-1109484363,-1118019503,1032336595)+W(6,-1113140779,1013417282,-1124468225,-1103346234)+W(7,-1122277912,-1139883250,-1169769501,-1141169189);WS(1068575136,1057679145); +sum1=W(0,1008215334,1049251178,1049880682,-1106541599)+W(1,1042310507,-1095539136,1026486412,989927934)+W(2,1040070410,-1089191083,-1094672658,1018512183)+W(3,1041475113,-1087252724,-1100618939,1014261304)+W(4,-1111487207,1042509671,1052783569,-1093397815)+W(5,-1103138323,1040579493,1051194971,-1092992340)+W(6,1057944056,-1114567880,1038856114,1043830943)+W(7,1049811244,1038361721,1025292508,1044894993);sum2=W(0,-1136765855,1055007475,1053593458,-1114445084)+W(1,-1113238946,-1078800745,-1105638736,1039574032)+W(2,-1106803932,1059224194,-1104375874,1030357662)+W(3,-1113028634,1035501186,1050059734,964162478)+W(4,1054334485,-1141017037,-1150175899,1057823779)+W(5,-1078443122,-1134493359,1042094581,-1096181786)+W(6,1058193036,-1099695416,1020483059,1049857835)+W(7,1029634285,-1110238952,-1118569338,1043677394);WS(-1069843280,1043992756); +sum1=W(0,-1135429253,-1119099178,1027695014,-1124948267)+W(1,1025838726,-1113789227,1044103833,1025550072)+W(2,-1116233196,1024839950,1039477491,1019242118)+W(3,-1130610171,1028120504,-1142719774,998797102)+W(4,1017935435,-1129507307,1008956039,-1108770183)+W(5,-1130965835,1014849865,1030807982,-1112757821)+W(6,-1101790135,1035190516,-1114625158,1042243413)+W(7,-1106167085,1023573770,-1127852007,1012540023);sum2=W(0,-1121247640,1028491168,1026300352,-1114838118)+W(1,-1072953064,1074653957,1053083344,-1095359738)+W(2,-1115141896,1033233928,1056568596,-1093135708)+W(3,-1127503160,1023653964,1030713448,-1116140314)+W(4,-1130258048,-1127851536,-1130791968,1004928481)+W(5,-1102013621,1030571860,1025789396,1024432884)+W(6,-1116002270,1025870428,984097412,1030571276)+W(7,-1129660856,1016702232,-1120604784,1015669456);WS(1066802848,-1129257078); +sum1=W(0,-1118978065,-1155453851,1033473243,1015630667)+W(1,-1101616805,1065736411,1035395194,-1113784260)+W(2,-1114908350,1040181775,1045542397,-1108037466)+W(3,-1111947911,1036229652,-1177594330,-1114956027)+W(4,-1122431286,-1121467910,-1114728473,-1104672775)+W(5,1061324843,-1095556296,-1105320751,-1115117829)+W(6,-1114134583,-1109993148,-1104703871,-1100789945)+W(7,-1138173719,-1106051686,-1111474306,-1124148059);sum2=W(0,-1134031950,-1108713026,-1155123513,-1109560646)+W(1,1017238679,1026897780,1038996664,-1107125821)+W(2,-1127256871,-1107869542,-1107646918,1024343484)+W(3,-1129735047,-1145442397,-1112902766,1004378333)+W(4,-1107664082,1019412439,-1115008786,1035199782)+W(5,1051508948,1016515095,-1123597732,1043157052)+W(6,998755997,-1116358964,-1106563795,1055083262)+W(7,1012570830,-1110777694,-1117600772,-1159444594);WS(-1093453440,1062530498); +sum1=W(0,1018166794,-1109318263,-1115495349,-1124930739)+W(1,-1114300581,1040214918,1024699176,-1109529502)+W(2,1023247327,1043329716,-1105577322,1025096231)+W(3,-1125424515,1034740398,-1123543752,998443854)+W(4,1039727605,1023563962,1023868966,1025637074)+W(5,1052285453,-1104984446,-1131885027,931786146)+W(6,-1105534248,-1137647791,-1110072888,1009762919)+W(7,-1116356474,1018092315,-1123805240,988548151);sum2=W(0,-1110334365,-1135013993,1018118074,-1116378324)+W(1,-1134041225,-1097345050,-1117515615,-1139723269)+W(2,-1112237914,-1107830137,1039717826,-1147091114)+W(3,-1131603942,978891919,1032288465,-1123080609)+W(4,1002595554,-1111471528,-1110082211,1027066059)+W(5,1043336959,1040454031,-1114430561,1053899571)+W(6,1010598309,-1117546906,1033656482,1040668505)+W(7,1026333875,-1119917138,-1115822981,1016807738);WS(1067735712,-1080534052); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -3), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -1), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 1), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 3), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -3), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -1), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 1), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 3), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns32, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/gather/nnedi3-nns32-win8x6.glsl b/shaders/nnedi3/gather/nnedi3-nns32-win8x6.glsl new file mode 100644 index 0000000..0a4d3e1 --- /dev/null +++ b/shaders/nnedi3/gather/nnedi3-nns32-win8x6.glsl @@ -0,0 +1,186 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns32, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,994153301,1016607238,-1132374181,-1120567290)+W(1,1021572063,-1137843051,992947237,-1139074345)+W(2,-1119615974,1000210819,-1125619459,-1117468940)+W(3,-1122316900,-1146864427,-1125130389,-1132591953)+W(4,-1096186409,1056444330,1046512564,1053527378)+W(5,-1121684346,-1129869365,-1138699933,-1144213939)+W(6,1031756856,1024055745,-1119806663,-1117911182)+W(7,1051252577,-1109040755,-1112059294,-1093298645)+W(8,979248533,-1119537890,1033651817,1023905988)+W(9,1003125923,1029429758,-1126690796,-1121091407)+W(10,-1148456803,-1113641375,-1110173889,-1120338466)+W(11,-1141776739,-1127458445,1032546877,-1133630411);sum2=W(0,1022573468,-1114028928,-1119263575,-1126549409)+W(1,-1114833146,1024108770,-1119708173,-1140490164)+W(2,1003196031,-1113990054,-1146392599,1021805248)+W(3,-1116443736,-1099458226,-1124834267,1019494412)+W(4,1037187519,1055452063,1055169273,1032492771)+W(5,1006796332,-1126677517,-1095922228,1026983682)+W(6,1017309436,-1118444706,-1122284082,1007192676)+W(7,-1106256028,-1112035826,1039787167,1044169825)+W(8,1022777176,-1130573089,-1118290710,-1122158651)+W(9,-1121042004,-1109973330,1010488320,-1127647730)+W(10,-1125070906,-1121131548,1044065299,-1145097543)+W(11,-1123455912,1019346120,-1121253833,-1129575364);WS(1060265584,1063714812); +sum1=W(0,-1128788280,1022311347,-1123065753,1021450242)+W(1,1039397963,-1108349889,999728711,-1111111528)+W(2,1011253684,974355898,1022720848,-1131322533)+W(3,1028928107,-1140362288,1021294882,-1137050988)+W(4,1026074151,-1102959280,-1137639751,-1119265827)+W(5,-1136338948,1025863841,1043907075,1019796282)+W(6,1024570351,1035626828,1009531192,-1118036885)+W(7,1041760911,1036057270,-1106406289,-1101623708)+W(8,-1136816500,1027651305,-1132552740,-1151514983)+W(9,1025121435,1029327365,992320459,-1118665549)+W(10,1017790822,1037788386,-1106167682,-1128138578)+W(11,-1139070668,1024478285,-1134343810,-1124857459);sum2=W(0,-1130878336,1017938673,-1124053764,1023758242)+W(1,1027498838,1027873020,-1145138723,-1120671625)+W(2,-1131041230,-1127336921,-1122179044,-1144315403)+W(3,1028583936,1031015106,-1122894214,1000956747)+W(4,1053869854,1073183850,-1104963408,1005174931)+W(5,1009416925,1033668418,-1074622268,-1093535895)+W(6,994031846,999096115,1004424067,999883691)+W(7,1053107786,1035733703,-1126082311,1001047899)+W(8,990806038,992895974,-1114468554,-1094361386)+W(9,-1134395125,1005722235,1009546537,-1150041590)+W(10,1022225293,1023923178,-1135618057,1002728051)+W(11,-1131337021,-1138321549,-1126165581,-1123867271);WS(1067199072,981674447); +sum1=W(0,-1105288827,-1113372949,1018794771,-1113726457)+W(1,1032552483,1040483381,-1099180638,1040785760)+W(2,-1139898486,-1127069135,-1114167068,-1124907206)+W(3,-1095136821,-1102105679,1008735750,-1115871564)+W(4,1054762461,1065065389,1052734745,1050678235)+W(5,-1118671794,1035770473,-1097429016,-1107257499)+W(6,-1103744656,-1108798620,-1125149117,-1125817867)+W(7,1044820043,-1097094388,1033282170,1044281884)+W(8,-1122788302,-1125646899,1027211226,-1104994292)+W(9,-1137689902,-1099284685,1016463803,1001830321)+W(10,1010644366,-1124668651,1032013917,-1121192922)+W(11,-1123221796,-1114483455,1015961570,-1114303237);sum2=W(0,1021627528,989560618,-1139313841,-1124538541)+W(1,1027300307,1011050585,1028695072,-1127440395)+W(2,-1130074937,1015498074,999023778,1020622605)+W(3,1014774531,1026431506,1010830983,-1119374292)+W(4,1052523334,1053318756,-1087762234,-1102978428)+W(5,-1126569197,-1128231773,1038687085,-1119874204)+W(6,-1118520012,1018739126,-1125616841,1020827626)+W(7,-1113197028,1034265115,-1109480314,1027251929)+W(8,1018969905,-1123965604,-1125820221,1029469191)+W(9,1014458179,-1129452021,-1136528497,1008596323)+W(10,-1134832277,1022117249,-1132845253,1023848922)+W(11,1024095771,-1130502215,-1150305989,-1159659466);WS(-1082327904,-1101742629); +sum1=W(0,994965062,-1124051394,1007179909,-1128942355)+W(1,1027052286,-1119991818,1022855203,-1116531225)+W(2,1021969515,-1129777663,1015495233,-1127603958)+W(3,1029361427,1047686461,-1115398989,-1172666584)+W(4,-1110346311,-1106285700,-1095192109,1044526075)+W(5,1017142675,-1113404469,1037065627,1026992677)+W(6,1028067431,1025118144,-1126910957,-1145393643)+W(7,1043850022,1030498357,-1116394763,-1123739865)+W(8,-1130059467,1016457699,1013662917,-1119388383)+W(9,-1121058723,1018201755,-1127439210,-1153678686)+W(10,1032721886,1034890279,-1120454737,-1123838961)+W(11,-1131255799,1017348651,1021249778,-1119902562);sum2=W(0,-1130890464,-1137235679,-1131491186,1014279427)+W(1,1014973315,-1130557096,1024729347,-1129394348)+W(2,1004833335,-1141673719,-1150339726,-1152876382)+W(3,-1097554196,-1073378768,1042930837,1026571161)+W(4,1014221291,-1105375875,1073588633,1048952496)+W(5,-1159625756,-1124590261,1035354953,1016692910)+W(6,-1092458255,-1130245298,993445038,1025279833)+W(7,1016092170,-1119905200,1029166823,1053816664)+W(8,989537980,-1138326931,1027382919,-1129170378)+W(9,-1120075373,-1135266971,1014707171,-1133457551)+W(10,-1147013927,-1161525308,-1151431678,1030737081)+W(11,1017200998,1009604643,979085751,-1124802440);WS(1067891072,-1132872541); +sum1=W(0,-1122834636,1020114356,1014334757,1025237873)+W(1,-1114151507,976917621,-1118569017,-1117007553)+W(2,984935338,-1152616053,1039451348,1031366707)+W(3,-1105197551,-1121917372,1029025473,1030238795)+W(4,-1088419628,1051488823,-1114461425,1049984500)+W(5,-1123762161,-1145922699,1008484089,1049092386)+W(6,1038150728,1024596920,-1121222990,1007260181)+W(7,1053317187,987986858,1039495098,-1084792932)+W(8,1012164149,1000937675,-1131993235,-1122288663)+W(9,1024170379,1015271403,-1123834925,988616634)+W(10,1026119523,993078101,1027254009,-1124531763)+W(11,1011615629,1004174827,999667975,1022258228);sum2=W(0,-1116760996,1019759527,-1136232721,-1144599930)+W(1,1032901632,1027655943,-1125055029,1032730282)+W(2,-1129170670,-1131155477,1005941018,985378521)+W(3,-1111064134,1041961890,-1128645029,-1137221455)+W(4,-1115058011,-1130649513,1050767412,1047170030)+W(5,-1129924333,1022276751,1019394239,-1129460922)+W(6,1036336113,1033905549,-1156748756,-1151231836)+W(7,-1116185015,-1105887613,-1120368706,-1093680614)+W(8,-1148456898,1015791177,1024734935,-1115704458)+W(9,1022489781,-1122711401,1020235585,-1160295481)+W(10,1012694293,-1122854992,-1132924343,-1115425401)+W(11,-1140100033,1012472897,1018590227,-1147415538);WS(1059709408,1024973287); +sum1=W(0,996494647,-1122880609,1004611460,-1126012593)+W(1,1028092109,-1114579692,1030391200,-1119189544)+W(2,1023428420,-1127475101,1016065247,-1124577204)+W(3,1020165829,1049657976,-1114032340,-1134152138)+W(4,-1111968183,-1106474499,-1094041084,1046947367)+W(5,1021721777,-1114564220,1040268033,1002304420)+W(6,1014735450,1032225804,-1126017195,-1131432537)+W(7,1044458845,1030371012,-1112475533,1018380112)+W(8,-1128430825,1019190017,1023640576,-1114168306)+W(9,-1115613273,1022764985,-1124178504,991561039)+W(10,1033263557,1034006830,-1122300512,-1123292160)+W(11,-1127717781,1017178441,1017080432,-1119951545);sum2=W(0,1024962708,-1143341847,1011909323,-1125800395)+W(1,-1122338700,1018807292,-1144213999,1023886172)+W(2,973576887,984068764,1000330119,-1171853367)+W(3,1052819438,1076690943,-1103527255,-1116511680)+W(4,-1115186882,-1098249874,-1072687587,-1097320166)+W(5,1001426319,1007326739,1023038428,-1140479659)+W(6,1057154431,990717342,-1148349175,-1120293374)+W(7,-1117298851,1010582795,1012280135,-1091630497)+W(8,-1135413483,1008233815,-1122270538,1029135274)+W(9,1025045202,1023577182,-1125483347,1015270352)+W(10,990164302,-1125194137,1016249338,-1118805022)+W(11,-1129534965,-1140102471,1003973863,1020995472);WS(1066253200,1009489111); +sum1=W(0,-1102592607,-1107707469,1024085178,-1121073890)+W(1,1033075644,-1107162241,1026388586,1041243549)+W(2,-1130535196,-1145989825,1004872905,-1123366116)+W(3,-1106598971,-1116780301,1023275236,-1130104696)+W(4,1050587318,1057262167,1049328440,-1121496677)+W(5,-1120961954,1023066500,-1116780079,-1113976447)+W(6,-1111680448,1032050668,-1135799996,-1128214764)+W(7,1027096831,1040843700,-1096674093,1018012708)+W(8,-1121521086,1008378152,1015552212,-1113850464)+W(9,-1131519352,1028096678,-1121776782,-1141685621)+W(10,1028580820,-1117086438,-1101864235,-1122519370)+W(11,-1124335656,-1135644600,1040749648,-1123000331);sum2=W(0,-1106333857,-1121647283,-1117172679,1013104936)+W(1,-1143812784,-1098323478,1046293466,1041445982)+W(2,-1153458272,-1123006845,1025469214,-1111423698)+W(3,1031691189,1030458550,-1135146700,-1127525498)+W(4,1032669672,1016608418,1051999059,1054977467)+W(5,1018478818,-1111394764,1041509878,-1110723238)+W(6,-1111791784,1009508096,1027187072,-1122718205)+W(7,-1093831562,1044831040,-1099681845,1044523088)+W(8,-1127833490,-1140396324,-1110045970,1024902469)+W(9,-1127767754,1037784205,-1128814570,-1119344027)+W(10,-1117227205,-1118967703,-1107269301,-1185033988)+W(11,-1129041118,1021194206,-1121987113,-1129401382);WS(1055988095,1068562120); +sum1=W(0,1041692938,1036197410,-1130996743,1025054956)+W(1,-1141880069,1043619883,1032351834,1040251631)+W(2,1011769695,1020511427,1002392085,-1113980711)+W(3,1042434277,1039706891,1026193148,1024941510)+W(4,1026325313,-1087193164,-1093055992,-1100356972)+W(5,-1124414423,-1163338101,1032223740,1040781794)+W(6,1036807045,1029783554,1028839961,1035977616)+W(7,-1087410536,-1097265155,1043491547,1047058383)+W(8,1015241743,-1129538215,1027612260,1047196369)+W(9,1019008523,1026886128,1025665319,1016648336)+W(10,-1104034167,-1099060796,1048991774,1044781893)+W(11,1018634427,-1180507092,-1113322870,1036828166);sum2=W(0,-1098330057,-1121926087,-1119308996,-1109623534)+W(1,-1105318233,-1111281216,1045894429,1051762285)+W(2,1036873688,-1152598618,1002875661,-1120494292)+W(3,1031129408,-1111457821,-1107757858,-1108667787)+W(4,-1116694436,-1103134861,1060518836,1029096148)+W(5,-1117793653,1023528108,-1104320409,1042501069)+W(6,-1091241820,-1092220222,-1144042093,-1126585969)+W(7,1017373783,1034184394,-1120268316,1065480819)+W(8,-1117516356,-1123122827,-1131983911,1041202422)+W(9,-1112242725,-1104308532,1024608852,1004201965)+W(10,-1129342463,-1134873838,-1105721536,1035423856)+W(11,-1131565835,1015347387,1017105251,1023586732);WS(-1073915832,-1098883962); +sum1=W(0,1024626915,1032898976,-1131602112,1030932360)+W(1,-1130380922,-1103847418,-1117814224,-1098288699)+W(2,1021355752,-1120290302,1040490540,1033018229)+W(3,-1122370130,1011274315,1018154928,-1125999684)+W(4,-1096397881,-1105327485,-1106175819,1056014501)+W(5,-1131922448,-1139369119,1044317365,1031863906)+W(6,-1113904235,1029902191,-1122315861,-1122265980)+W(7,1059753579,1040451325,-1115232133,-1097956311)+W(8,-1121102372,1033247800,-1122968848,-1098424101)+W(9,-1115348785,-1111387910,-1120663220,1018577993)+W(10,1039068637,1042824131,1017122848,-1126206816)+W(11,-1121007738,-1143567007,1021433455,-1136273729);sum2=W(0,1046909717,1025514844,-1126395193,-1118315643)+W(1,-1129801877,1030594060,-1112473945,-1100980148)+W(2,1010610423,-1135186433,-1111527676,-1122172234)+W(3,1026986728,-1112879553,-1138413531,1014636591)+W(4,-1101816290,-1094641835,1027746798,1040985677)+W(5,1030475382,-1121095046,1027030278,1023795758)+W(6,-1122377333,-1114813410,-1129252552,1013622247)+W(7,1041324898,-1106485598,1057006779,1051150943)+W(8,1015864126,999966259,-1133454616,-1113671456)+W(9,-1144089687,-1140190295,-1131632742,-1122713894)+W(10,-1115757412,1016695560,1035155819,-1138866101)+W(11,-1127643580,-1124292419,-1139893847,1001347783);WS(1058139200,1067005003); +sum1=W(0,-1103206155,-1112832909,-1128484819,-1131277347)+W(1,1048238354,1044526364,-1111332237,1015263811)+W(2,-1122297405,-1124214159,-1104751670,-1106607621)+W(3,-1108301118,-1111811582,-1112913457,1014594990)+W(4,1056580635,-1114379264,1031432468,1004409248)+W(5,1017238947,-1110162105,-1107787999,-1107635783)+W(6,-1113179152,-1100757638,-1118434446,1028891109)+W(7,1025802539,-1104236495,1053177162,1057408386)+W(8,1002560364,-1113724157,-1114959053,1020725062)+W(9,-1116265771,-1119227733,-1151139539,-1125459884)+W(10,-1124751623,-1121289813,1052437131,1035803645)+W(11,-1123244163,-1115210511,-1120069105,-1129296244);sum2=W(0,1023292260,-1124268922,1016432775,-1121057595)+W(1,1035766063,-1118389960,1029388268,-1111891368)+W(2,-1122161823,1028529468,-1122510207,1032208606)+W(3,-1116199054,-1110795130,1031151061,-1112629457)+W(4,1033023394,1054507013,1054055516,-1123843875)+W(5,-1118001871,1026811027,1019595258,-1113138713)+W(6,-1103006120,-1134369449,1021228732,-1126819952)+W(7,-1104664187,-1121918429,-1135412321,1020478730)+W(8,-1116707921,1018790016,1023542227,-1114598707)+W(9,-1120667087,1016333862,-1127402608,1009585899)+W(10,982538191,-1108029597,996548072,993043492)+W(11,-1146185904,-1152045912,-1129671373,993709924);WS(-1091835967,1038509097); +sum1=W(0,1041562959,1038000620,1031236696,1002958335)+W(1,-1093861855,-1100002304,1029288008,-1124369824)+W(2,-1132073944,1032364667,1038306915,1039801017)+W(3,1042029266,1034473413,1034973544,-1122124314)+W(4,-1087002164,1052741396,1049571184,-1104824881)+W(5,-1122032128,1036587856,1041619283,1037725118)+W(6,1040514695,1042048878,1015820538,-1120202292)+W(7,1044570703,1042398171,-1089426268,-1089024373)+W(8,-1138629744,1010685600,1038671876,1031782758)+W(9,1029242778,1042898689,-1121967836,1033636218)+W(10,1023923250,1030369604,-1091407169,-1107643796)+W(11,1027566834,-1153060031,1043274836,1025678032);sum2=W(0,-1110538641,1023566599,1013192458,1016791821)+W(1,1045544748,1029704719,-1113846927,-1114409767)+W(2,-1127655665,1012727082,-1125617069,-1111278622)+W(3,1000152052,-1112636904,1015528749,-1123883287)+W(4,1034122997,1054056541,1054155729,-1109610416)+W(5,-1131212885,1000573476,-1108588248,-1110039103)+W(6,-1116367667,-1130121037,-1132736674,-1131825297)+W(7,1030522539,-1116026974,1016394661,-1109117303)+W(8,-1123699129,-1126704253,-1135451026,-1132906850)+W(9,-1114305335,1033496981,-1117749640,1019880949)+W(10,992430312,-1107824982,-1157815185,1030290683)+W(11,988228497,-1123545619,1016739853,-1134728538);WS(-1089794384,1053743764); +sum1=W(0,-1124062435,-1123589329,1022034304,977181200)+W(1,-1096122984,-1100185218,1045687772,1045792382)+W(2,-1146772642,1022712508,1029423919,1035356461)+W(3,1008939465,967031199,-1173982736,999195154)+W(4,-1089534650,-1128424615,1051096635,1043214811)+W(5,986801416,1009586465,-1130937578,1037071922)+W(6,1031201254,1038421055,-1117753925,-1131079992)+W(7,1022835035,1033659882,-1104815387,-1106608558)+W(8,1012941585,1008485953,-1112564552,1033635179)+W(9,1023184516,1042888267,-1131210280,1011212627)+W(10,1025453978,-1114474998,-1113606040,975115280)+W(11,1023442138,1020831720,-1115626236,-1148354182);sum2=W(0,1038582018,-1136865390,-1152866061,1025756371)+W(1,-1097242729,-1108446917,1027392563,-1095235720)+W(2,-1145714840,1022755591,1009460859,1048188946)+W(3,1028991375,-1102180290,1021941035,1022411083)+W(4,-1092586393,1055770556,1062263751,-1094985700)+W(5,1033471029,1018658879,-1098658877,1013992713)+W(6,-1127151005,-1103213990,-1162131898,1018807869)+W(7,1024429444,1045256871,1032099771,1023141397)+W(8,1032105067,-1135748387,-1104388978,-1162587434)+W(9,-1148467374,-1101731450,-1117519259,1030478695)+W(10,-1115314196,1044538365,1050734432,-1139645537)+W(11,1008760659,1019361371,-1097902791,1033707193);WS(-1092258911,-1089815334); +sum1=W(0,1045821685,1034203057,-1147044493,-1139634407)+W(1,1034361159,1051668019,1015718019,-1119357002)+W(2,-1130196683,1023465264,-1115826689,-1137425069)+W(3,1044613801,1035729090,-1130890003,1017866535)+W(4,1032636456,-1086460492,-1090722234,-1104936487)+W(5,1015877619,-1117806874,1010439579,1035725147)+W(6,1029847032,-1102281888,1016637069,1027130446)+W(7,-1094763749,-1095562645,1057948020,1052628837)+W(8,1025832214,-1123952546,-1114240161,1043916211)+W(9,-1131657511,-1121093118,1026913637,1016500860)+W(10,-1106362539,-1098187032,1053191568,1044884520)+W(11,1029577644,1011300119,-1102258214,1035145793);sum2=W(0,-1113670137,1024378351,1012757410,-1128703433)+W(1,1040684472,-1100043210,-1102109659,1038503213)+W(2,993905065,1003273444,1026887817,-1099552212)+W(3,-1111552612,-1131966925,1023396449,1007787634)+W(4,1041989415,1066879681,1061982310,1041322248)+W(5,-1144755940,1019447753,-1107386978,-1104965070)+W(6,-1114649634,1040107467,1012244530,1017560605)+W(7,-1101238360,-1089047102,-1098175974,-1104769108)+W(8,1019550873,1024790159,1016563929,-1104448348)+W(9,-1122758108,1032092801,1024938353,-1143125556)+W(10,1023979343,-1100231891,-1105089779,1026757617)+W(11,-1138003290,1014825186,1036400101,-1107880053);WS(-1086002512,-1084928660); +sum1=W(0,-1115340892,-1113717074,1017039401,-1131929465)+W(1,-1103148388,1010821235,1042912513,1050776738)+W(2,-1130358353,-1122997746,-1128281895,-1143173743)+W(3,-1102662114,-1097984585,-1134499377,1020173741)+W(4,-1104889757,1049797700,1055825787,1053707114)+W(5,-1139775729,-1117617116,-1098746549,-1111952748)+W(6,999020755,-1114393442,-1138890277,-1129468257)+W(7,1042555580,1041826234,1033511359,-1108349590)+W(8,1014563169,1010736529,-1103706929,-1106170922)+W(9,1028151894,-1132982017,-1143488833,-1132813939)+W(10,1032548919,1041074464,-1138015505,-1108075378)+W(11,-1137959865,-1123442568,-1110410462,-1127274842);sum2=W(0,-1118205558,1029900308,-1126633986,1000102260)+W(1,1041999613,1037162912,1063980475,1051204856)+W(2,1019347314,-1137379540,-1134402620,-1135930364)+W(3,-1140439712,1041420529,-1119827470,-1144291760)+W(4,-1167793729,-1085093765,-1075398805,1066576503)+W(5,1012525172,-1123883092,-1133429672,1020225891)+W(6,979974721,1006017080,1023762781,1016232493)+W(7,1017117707,1033481679,-1114660078,-1098954833)+W(8,-1139078108,990744512,1018587503,1028764817)+W(9,-1137204884,1002898232,1025293286,-1141218312)+W(10,-1137323924,1002077480,-1117648930,1021034547)+W(11,-1137103964,1022792204,1026769102,-1132685152);WS(-1084377664,1027078466); +sum1=W(0,1023875764,1032239673,-1129675619,1028609881)+W(1,1031700430,1026119482,-1114746833,-1113303893)+W(2,1025866053,1016759071,-1122216064,-1138486380)+W(3,1043647401,1024809124,1010908070,1022038247)+W(4,1051850662,-1104988345,-1156932707,-1084547118)+W(5,1032834541,1029398137,1033025459,-1132199979)+W(6,-1131519215,-1128260416,1030113110,1026611885)+W(7,-1083734174,1027361605,1047159719,1050946557)+W(8,1007914454,1021351811,1018468419,1043104191)+W(9,1026951667,-1115829469,1031201461,-1132403564)+W(10,-1111325382,1042797655,1037768177,1020650755)+W(11,1014779182,1018395723,-1108759836,1014159432);sum2=W(0,1034590473,-1139997869,-1139192721,-1123315648)+W(1,1030314237,-1112534256,969235347,1026150549)+W(2,1014056813,-1132289868,-1158492453,-1113579452)+W(3,-1115134908,1008365317,1030816333,-1123875414)+W(4,1037120039,1027803789,1046059603,1042477897)+W(5,1018097190,1032146261,1032895251,-1098184684)+W(6,-1110803030,1028786615,1016532474,-1123326315)+W(7,-1102080708,-1135183209,-1122978967,-1155992274)+W(8,-1114996104,1011346781,1047700729,-1126452160)+W(9,1004595129,1015409534,-1131093304,-1130303816)+W(10,-1120008811,-1109468455,-1111529432,-1119026545)+W(11,-1115756663,-1122411639,1047312851,999072441);WS(1043014014,-1087744322); +sum1=W(0,-1123526530,-1138321214,1020523582,1027952711)+W(1,1035059438,-1120526792,1022379422,1008337244)+W(2,1026995059,-1156487121,1037330895,-1116610857)+W(3,-1110182129,1032339433,1021435438,1002118409)+W(4,-1086364127,-1118604170,-1110004232,1057818171)+W(5,1009757724,-1153254001,1040846837,1040407761)+W(6,1035386835,-1137297015,1003104545,-1138414444)+W(7,1057062103,1036507098,1007303460,-1083267015)+W(8,1021783366,1034169880,-1128420830,-1107059287)+W(9,-1119534945,-1108462406,1013303243,1021955143)+W(10,1038869533,1036993862,1036022088,-1115695919)+W(11,-1138765796,1027514579,-1142792885,1017909759);sum2=W(0,-1117738234,-1131091573,-1156092221,-1129567658)+W(1,1030957051,-1118479197,-1128107850,1034622765)+W(2,-1132249217,969559787,1005860107,1029443337)+W(3,-1115037144,-1115010115,1008715269,-1123579911)+W(4,1041246295,1054490255,1050631618,1017778197)+W(5,-1132354551,1024782459,-1157251077,-1110926783)+W(6,-1101087826,1015586863,1026524337,-1125160256)+W(7,-1117275788,1025836507,-1095615964,1045062017)+W(8,998415619,1012990901,1020928095,-1108959270)+W(9,-1113332277,1019720419,1017463077,-1137738801)+W(10,1027688491,-1120912313,-1101223712,1020345131)+W(11,-1161032699,1011300789,983922363,-1122972204);WS(1054959103,-1083836992); +sum1=W(0,1023853723,-1118146184,-1132171248,-1144415487)+W(1,-1121737045,-1123041056,1018672592,-1123173616)+W(2,1017937944,-1131928876,-1120856711,-1124541667)+W(3,1039313221,-1107434917,980216825,-1133053416)+W(4,-1161038260,1053211380,1057912142,-1090265426)+W(5,1027902624,-1129566080,-1109871174,1034290206)+W(6,1027331294,-1111685883,1017404666,1018609320)+W(7,-1089253699,1036559366,1046306952,1044087220)+W(8,-1121689404,1010241568,-1113560292,1040602782)+W(9,-1129432820,-1126004808,-1154920122,-1127349353)+W(10,-1110305609,1035028498,1039769364,-1133031712)+W(11,-1124796708,-1127304152,-1109624712,-1148202051);sum2=W(0,-1110884586,-1129406227,-1139755941,1018338338)+W(1,1026570078,1021052542,-1118232763,-1136808221)+W(2,-1120452457,1004896115,1020321772,-1136194357)+W(3,-1108237236,1037408540,-1122001203,1025801614)+W(4,-1114736489,1041519115,-1113269344,-1115176435)+W(5,-1119060361,-1107310106,1046652366,1048907220)+W(6,1040327756,-1123391437,-1132321439,1010171613)+W(7,1047951095,-1115014721,-1110685464,-1105808410)+W(8,1033649944,-1126977687,-1111631696,1035402835)+W(9,-1129086463,-1132299663,1013259501,1016232007)+W(10,-1113536502,-1123780081,1021765462,-1168436052)+W(11,1026056519,1027695361,-1102273277,1026410761);WS(1057903600,1067139767); +sum1=W(0,-1107061793,-1111029392,1012511358,-1130009103)+W(1,-1102099951,992918145,1028125200,1043136838)+W(2,-1123992244,-1145160172,-1117969679,-1115498357)+W(3,-1104154592,-1103367501,-1124300975,-1137761926)+W(4,-1106189879,1050079197,1060113955,1051222763)+W(5,-1125356943,-1117739880,-1108729546,-1104467697)+W(6,1009980758,-1113394087,-1117250069,1008012526)+W(7,1048697267,1034440698,1016245011,1024983063)+W(8,-1165450354,-1114615608,-1104780916,-1111781863)+W(9,1026647906,-1114684710,-1115259538,-1162310274)+W(10,1041096574,1041574755,1025498192,-1117690736)+W(11,-1139440358,-1118506516,-1120787335,-1117169584);sum2=W(0,1038855085,-1131692032,-1120699406,1011962608)+W(1,-1126451804,-1110442893,-1112627842,-1122245118)+W(2,1026864717,-1123527836,1008646548,-1106947014)+W(3,1038467393,-1112343444,1026799984,1007214128)+W(4,1042136464,1054959792,-1106597578,-1122221782)+W(5,999106843,1011333214,-1109079281,-1113116412)+W(6,-1113849522,-1138735380,1029224075,-1145867047)+W(7,1031831390,1046305460,-1114988845,1026356645)+W(8,-1117815384,1032922020,-1109725169,-1109881757)+W(9,-1120001434,-1118784264,1022659583,-1116434980)+W(10,1008343524,1047204017,-1123194990,1020413259)+W(11,-1119479700,1000599735,-1114571313,-1123390380);WS(-1101058110,1058505899); +sum1=W(0,-1123852394,-1112299044,1015324303,1008909245)+W(1,1024016996,-1124723744,992056181,1037579744)+W(2,1022516663,-1130344395,-1131134189,-1121096497)+W(3,-1128516275,-1102217815,-1139701245,-1151491221)+W(4,1056678303,1021619781,1045087960,-1098678002)+W(5,1021039583,-1132041247,-1098726544,-1109419958)+W(6,-1104833467,-1113648843,1031005836,1009250957)+W(7,-1095085849,1041104615,1036986521,1058072040)+W(8,-1140161581,1026848535,-1121889031,-1109643932)+W(9,-1119585353,-1121962739,1009310828,-1131857944)+W(10,-1129179587,1025292595,1032839164,1024521495)+W(11,-1125244995,1005622747,1017031326,-1127292144);sum2=W(0,1023078017,-1140746852,1017011277,992821683)+W(1,-1112719649,1034266306,-1139829185,1023704638)+W(2,1021903376,1016759855,-1119668356,1027637582)+W(3,959773689,-1112338116,999390943,1011814063)+W(4,1032357888,1057654961,-1113377165,-1107874815)+W(5,1034398452,1051594315,-1086342498,-1113625790)+W(6,1035095219,1024063493,-1128713872,-1121326865)+W(7,1012152366,-1122811174,1033653422,-1108229047)+W(8,1035110699,1031049449,-1136544465,-1101720659)+W(9,1023948090,1032024680,-1138094133,-1144442308)+W(10,1020168485,-1113617432,-1140161389,-1133039950)+W(11,1018271190,1021410443,1019370668,-1121720102);WS(-1098338111,1023498750); +sum1=W(0,-1121510465,-1112416999,1022617405,-1138701849)+W(1,1010706669,-1110248019,1041395124,1040383254)+W(2,1021863397,1016227961,1020223099,-1149170878)+W(3,-1180399652,1037491593,989875557,-1168316434)+W(4,1058209828,-1095385553,-1094988553,-1097293461)+W(5,1018489101,1021609037,984962665,-1106291545)+W(6,-1102495433,-1121884733,1028694643,1014043241)+W(7,-1097437690,1046085501,-1118903112,1059563452)+W(8,-1145092370,1026243438,-1122110350,-1119747464)+W(9,-1122132512,1036415429,-1123740578,1012653195)+W(10,-1130301425,-1128488725,-1126796061,1027507886)+W(11,992349061,-1164474953,989067449,-1123237039);sum2=W(0,1029420636,1036981221,-1120898035,-1164068108)+W(1,-1110964317,-1141413971,-1106651210,-1112077059)+W(2,-1148255859,-1129246253,1028557670,1028276360)+W(3,1035658823,1039879187,972583599,1013829433)+W(4,1035230257,1044568046,-1108370344,-1106432341)+W(5,-1131530425,-1126980980,1026800348,1017251513)+W(6,-1102894380,-1128781606,-1128855117,1016837545)+W(7,1041920264,-1110600858,1035930993,1027609202)+W(8,-1121785123,-1124361549,1023713154,-1124056839)+W(9,1013125305,1008550341,-1130000643,-1120505887)+W(10,-1125837008,1019426133,1017927697,1026372950)+W(11,1009116645,-1127748642,-1129712212,-1132458450);WS(1064075168,-1085260633); +sum1=W(0,-1104011171,-1113516590,1004279127,1020097830)+W(1,1034297780,-1106861493,1036855277,1041894009)+W(2,-1138151419,-1151789197,1031661466,-1113914242)+W(3,-1103036207,-1102348791,1026532451,1028112237)+W(4,-1112331770,1058153819,1027716980,1045116105)+W(5,-1129921062,1026370483,-1100287056,1017072798)+W(6,-1120389361,1038928889,-1130706656,961537748)+W(7,1043898973,1048347472,-1096709211,-1096376936)+W(8,1025128111,-1140511211,1032287909,-1119328440)+W(9,-1129088474,1031068695,994604265,-1135275149)+W(10,-1164071066,-1118081687,-1102472071,996846509)+W(11,-1167790389,-1140610427,1040008649,1019059671);sum2=W(0,1033869831,-1133342724,-1138053524,1014633478)+W(1,-1111281510,-1128243618,-1126366588,-1114935893)+W(2,990649086,996067150,-1145483991,1016908923)+W(3,1003291347,1033872317,-1120104172,-1140130516)+W(4,-1107071420,-1084734921,-1086850225,1043822142)+W(5,1012165262,-1119271334,1045857736,1006526455)+W(6,1006625651,-1121932314,-1123853902,1012698026)+W(7,1067004758,1046081705,1040015383,1030145358)+W(8,-1129772456,-1144422823,-1118176982,1020093203)+W(9,1004319943,975983930,-1133638700,1013120742)+W(10,1002809783,1031930717,1028724356,-1150276254)+W(11,-1141799647,-1143148999,-1104669476,-1161820989);WS(-1102756414,-1120030182); +sum1=W(0,-1102767115,-1115971707,1007304745,-1114857721)+W(1,-1124210446,1028311347,-1101676399,1043961809)+W(2,-1120413918,-1125847632,-1113057893,-1117667780)+W(3,-1095987354,-1101194087,-1135708169,-1113282502)+W(4,1046261656,1068133511,1065521342,1053600405)+W(5,-1114932345,1027169042,-1095174540,-1103902228)+W(6,-1099422340,-1109693396,-1115825727,-1130226572)+W(7,1042816511,-1098872988,997946179,1046696200)+W(8,-1125196828,-1114420141,1020822452,-1101926052)+W(9,-1122657804,-1100198174,-1136250680,-1142173365)+W(10,-1133742993,-1113205915,1025742970,-1112668237)+W(11,-1121096548,-1110338975,-1140085511,-1113901869);sum2=W(0,-1119384349,-1117046041,-1126993785,1022430051)+W(1,1011315171,-1106680506,1014745875,-1127804673)+W(2,1009328259,-1125156477,1009189211,-1121146859)+W(3,-1113440146,-1099757367,-1136699515,1027244407)+W(4,1020590601,1034863647,1065124465,-1129639049)+W(5,1000906166,1017063165,-1111752578,-1115604020)+W(6,1038214736,-1152620459,1024283610,-1115987625)+W(7,1035633573,-1116743921,-1130768777,-1113943514)+W(8,-1117062841,1024425511,-1120130033,-1124061319)+W(9,1013074835,1015902709,-1137060371,-1120680273)+W(10,-1127682237,1012706011,-1112590762,-1113854522)+W(11,-1119191933,1024105421,-1113078716,-1148961286);WS(-1077988040,-1098609713); +sum1=W(0,1040202093,1027276515,1002836371,1020152245)+W(1,-1104283732,-1105856183,1037438449,-1114910389)+W(2,-1125387021,1013826369,1028081393,1039298438)+W(3,1049452385,1032875267,1010566313,-1132015209)+W(4,-1098108347,-1102427678,1030654167,-1100627367)+W(5,1018674229,1017725301,-1131705423,1024125142)+W(6,1036663212,1034908465,1020486319,1010053945)+W(7,-1104090280,1048934265,-1095852652,-1113362709)+W(8,-1141124531,1015682181,1019783717,1042947115)+W(9,-1114877050,1038229775,-1132252076,1030571159)+W(10,-1126406169,-1138504825,-1105166249,1025947458)+W(11,1006527587,1016700365,1035155325,1021770278);sum2=W(0,-1132626695,-1138132903,-1139598567,-1142267837)+W(1,1039691642,-1110747637,1033876712,1023852808)+W(2,-1147709133,-1155304986,-1127924867,-1114839167)+W(3,-1131100139,1032537913,1008554815,967895252)+W(4,1061640184,1037101696,-1095058264,1012220303)+W(5,-1121532798,992067354,1049832068,-1122160974)+W(6,-1112410791,1023361695,1024473654,-1145406733)+W(7,-1091888991,-1161200181,-1104029741,-1110252153)+W(8,-1128735955,1025251228,-1126050715,1027903240)+W(9,-1130141475,1015868043,1020245499,-1120792990)+W(10,-1119701362,977066218,-1196949327,1031843465)+W(11,-1157362170,1009680879,-1118663498,-1132864167);WS(1050097375,-1144620389); +sum1=W(0,1044211901,1033637193,1011057731,-1128715377)+W(1,-1104047251,1028225817,1022227585,-1107032850)+W(2,-1128884681,1011579579,1008625791,1044522647)+W(3,1048874276,1034983634,1019193873,-1134438475)+W(4,-1092741994,1036584266,-1114392598,-1096643663)+W(5,1018667761,1025301657,-1113959235,1044273989)+W(6,1042543166,1017343103,1009602711,1022275225)+W(7,1025153498,1028276325,-1097617495,-1092702793)+W(8,1024565397,-1123355105,1041046056,1042105869)+W(9,-1149239594,1037918654,-1136253330,1032927683)+W(10,-1142331733,-1118553533,-1097624368,-1139445891)+W(11,1027058603,1015982985,1045159742,1025445761);sum2=W(0,1033296420,-1128383915,-1172679141,-1125113091)+W(1,-1102915066,1037338868,1016688407,1004274749)+W(2,1017918867,991135609,-1144981581,1028147108)+W(3,1019343075,1031861037,-1126905475,-1152889753)+W(4,-1089888071,-1090194983,-1097163724,-1103752812)+W(5,1022111055,-1117974458,-1121675098,1030353331)+W(6,1038268779,-1113645001,-1117488938,1006649294)+W(7,1041005261,-1118523722,1051715314,1062746712)+W(8,1026630548,-1115156997,1006661278,1019962267)+W(9,1028739248,-1120621430,-1172252645,1019337735)+W(10,1027501384,-1154227385,1035778038,-1124587947)+W(11,1018829507,-1136345798,1013440998,1023891692);WS(-1098112447,-1125216946); +sum1=W(0,-1112042689,-1119953952,1006322176,1010417568)+W(1,1041397655,1018267345,-1112614584,1004161984)+W(2,1021110568,-1137912440,1024614191,-1114418485)+W(3,-1116450322,-1112784281,1017991280,-1140685064)+W(4,1058507679,1050855349,-1113885864,-1090400895)+W(5,-1127130192,1019594896,1027345269,-1104618697)+W(6,-1105219289,1023451023,-1146614696,-1126853432)+W(7,-1097135921,-1122997076,-1126136276,1051228911)+W(8,-1116355204,987030015,1039454784,1037685358)+W(9,-1153582112,-1110071894,1019294567,1004323364)+W(10,-1149231824,1012208560,983864831,1016683168)+W(11,988441407,-1149650752,1030420791,-1140802306);sum2=W(0,-1152950404,1010887850,-1134943159,1035141604)+W(1,-1104792229,-1119115361,1025641276,-1100547860)+W(2,-1138078871,1016878804,1021611837,1037875812)+W(3,-1122370025,-1101926585,-1120750640,1031353634)+W(4,-1100366049,1042205116,1057546844,-1101375945)+W(5,1015482099,-1140091328,-1109199537,1015511489)+W(6,-1104605825,1035852377,-1114509439,1025254666)+W(7,1042952063,1039483674,-1108641700,1048526282)+W(8,1032201266,-1132053601,-1109299079,-1105787312)+W(9,-1114959163,-1148680422,-1113538005,1028756554)+W(10,1030776026,1041006229,1037895648,1033576762)+W(11,1007578680,-1124574444,-1107406256,-1143994351);WS(1027823864,1049081066); +sum1=W(0,1045092167,1032126573,-1130128499,1012131718)+W(1,1031292119,1050389010,-1127539283,-1108779609)+W(2,-1123848398,1017365039,-1113259988,-1168425160)+W(3,1043895467,1034108246,-1147020173,1020918007)+W(4,998802811,-1089568357,-1094495268,-1101697729)+W(5,1015583683,-1120941186,1026355631,1036534559)+W(6,1035993776,-1104998342,1020448605,1027080278)+W(7,-1096020979,-1097851474,1057437086,1047905888)+W(8,1024649726,-1123264842,-1112197645,1044370080)+W(9,-1129990263,-1123698278,1024273997,1012408472)+W(10,-1105719893,-1101687913,1052750589,1041161122)+W(11,1027345300,966350543,-1103284196,1035394325);sum2=W(0,-1115639872,-1150596845,982227227,1023788251)+W(1,1041100183,1053945290,1046665761,1042970848)+W(2,-1214633659,-1143798279,-1121383639,-1120506242)+W(3,1015277390,1006169559,-1119196045,1006064903)+W(4,-1128807740,-1078236510,-1080187678,1037025188)+W(5,1023282498,-1114831851,998104205,1017634434)+W(6,1034991246,-1110295858,-1139981943,1022374646)+W(7,1053440142,1058969577,1052132899,1047303977)+W(8,1023435593,-1124500500,-1112892146,1037533712)+W(9,-1148612007,-1131776900,-1130167410,1006364327)+W(10,1029728171,1005561207,1035867784,1033799186)+W(11,1015376522,1014287051,-1110685126,1033828190);WS(-1088189216,1043089281); +sum1=W(0,1049770738,1041680407,-1121398410,-1140748743)+W(1,1042644994,1047024381,-1096476823,-1088213532)+W(2,1008330103,1031833588,-1107153702,1041481493)+W(3,1048806759,1043836791,-1149048846,1026065228)+W(4,1050638745,-1101872740,-1108723571,-1084369379)+W(5,1020682979,1026205458,1041455384,1035104215)+W(6,1034371336,1024770968,1036138263,1020127051)+W(7,-1094226627,-1096464492,1041309981,1036745881)+W(8,1006701623,-1120876186,1045395982,1040593116)+W(9,1037337862,-1137213911,1038047047,-1128555260)+W(10,-1106071481,-1102959693,1028379642,1011670631)+W(11,1024336228,1028740542,1016152290,1040128941);sum2=W(0,1028575755,-1114659435,1004169862,-1129618765)+W(1,-1109549862,1025826707,1020493837,1018469269)+W(2,-1123897489,-1153284395,-1116607191,1022763469)+W(3,1025093243,-1110197183,1012667011,-1163586391)+W(4,1018231561,1050121196,1045602812,-1120959857)+W(5,-1131222849,1019030581,-1110473213,1017295613)+W(6,-1140439179,-1110600679,1006867267,1004789414)+W(7,1009644755,1038682513,1007539419,-1119013866)+W(8,-1125130849,1009132883,-1107944702,-1143499366)+W(9,1019765437,-1106146141,1023888443,-1148564598)+W(10,1017107081,1040899502,1005311510,-1126956769)+W(11,1006886939,-1127991173,-1114206671,-1123266847);WS(-1082596160,1043517696); +sum1=W(0,-1154689545,1032486047,-1153492953,1028909798)+W(1,1025985531,-1118729126,-1117361518,-1104169149)+W(2,1024711058,-1125485751,1034798166,1029418231)+W(3,-1128767583,1037703496,1019116907,967933898)+W(4,1031994846,-1089391227,-1087176649,1049441299)+W(5,1008177302,986175666,1046438773,1006099469)+W(6,-1115978788,1027446332,-1129844133,-1132218099)+W(7,1056185125,1032249225,1018413135,-1115448907)+W(8,-1125946755,1030151438,991686873,-1106352341)+W(9,-1146849277,-1114471573,999709323,1011144392)+W(10,1036574828,1042483386,-1130624603,-1154137305)+W(11,1006963806,1019997155,1022706506,-1131200252);sum2=W(0,-1103978637,-1138508200,1024001581,987806561)+W(1,1032745921,1036006171,-1109586411,1039699877)+W(2,1017765222,-1151113585,984628641,-1106709297)+W(3,-1113576691,1037869389,-1138298076,-1132313544)+W(4,1041044376,1057490671,1004783368,-1109697688)+W(5,-1128136972,-1126668402,-1123523352,-1135869680)+W(6,1041829747,-1102361734,-1131321664,1003342504)+W(7,-1120283284,-1118937466,1023850463,-1101655248)+W(8,-1142518888,-1119975873,-1133053924,1037905909)+W(9,995389041,-1103350916,1016585830,1015369606)+W(10,-1137071480,1023653113,1033013495,-1123567230)+W(11,1015435786,-1153724113,-1123775069,1008345900);WS(1066487464,-1081148228); +sum1=W(0,1045622655,1039828621,-1115667101,-1156758047)+W(1,1016497454,1034243041,1016276052,-1121579186)+W(2,1025331662,1022570928,-1129971954,1026804003)+W(3,1043227835,1051174634,-1120457266,1032245054)+W(4,-1125065087,-1081200961,-1081882686,-1107379682)+W(5,1033790001,950141917,1050524446,1036683903)+W(6,1038187760,1035936180,1028999903,1025970038)+W(7,-1121918554,-1121754318,-1110627634,-1114502289)+W(8,1035886143,-1123227402,1045144826,1033938044)+W(9,1028125692,1038703027,1031685286,-1129094085)+W(10,-1138807120,-1128847308,-1130240468,1032926021)+W(11,1023360168,1033245399,1036935449,1028558202);sum2=W(0,1013162021,1040565489,-1109318105,990406129)+W(1,1031481662,1036428343,-1098989385,-1111903383)+W(2,1026146121,1020848344,-1111376696,-1112035485)+W(3,-1125670617,1041812300,-1108583903,1032976305)+W(4,1043786440,1039454897,1042303391,-1114873385)+W(5,993596601,-1114987237,1044627344,1007686716)+W(6,-1123723867,1031967357,1027268958,1009651516)+W(7,1032603577,-1097549253,-1113158574,1001920896)+W(8,1030752081,-1112152994,1043104932,-1107723593)+W(9,1033460548,-1113698315,1034160517,-1109295843)+W(10,-1117993943,-1119346601,1032025507,1015358203)+W(11,-1128311189,1024170945,-1111706149,-1142055788);WS(-1085700080,-1080808385); +sum1=W(0,-1130852634,1020782261,-1122227946,1024296914)+W(1,1037784580,-1106441949,1011762792,-1113008209)+W(2,1011155704,1007950112,1023563097,-1128041639)+W(3,1018157624,1000516328,1023737634,-1137292464)+W(4,1034492712,-1096045179,-1126768286,-1132968658)+W(5,-1130475172,1027876850,1048917408,1002605936)+W(6,1007198528,1034334952,1017074878,-1114666035)+W(7,1044579508,1035021791,-1108931914,-1104353680)+W(8,-1148910448,1030237498,-1127030516,-1126595297)+W(9,1028012332,1030076118,998628462,-1116342907)+W(10,1016641544,1037317931,-1106440695,-1128335092)+W(11,-1178616327,1026212766,-1122557970,-1124799637);sum2=W(0,1009004191,-1136885460,1018138398,-1127545645)+W(1,-1131692274,-1125888003,-1151865619,1015771798)+W(2,996126556,1018938725,1023581282,1014637794)+W(3,-1141392422,1032831862,999025130,-1144042592)+W(4,-1091675886,-1072938398,-1097510643,-1107745249)+W(5,-1136255574,-1112160457,1076041086,1057331451)+W(6,1017820345,-1138954980,-1150259805,-1139402988)+W(7,-1091916978,-1117354278,1017078443,-1117369881)+W(8,-1150817344,-1138128772,1032772879,1056314077)+W(9,1013413304,-1164078621,-1133933532,985356315)+W(10,-1124163047,-1138824868,-1132951491,-1132039248)+W(11,1018397555,985080995,1026258229,1020965023);WS(1065410184,989310727); +sum1=W(0,-1109321255,-1114916286,-1140125102,-1129262375)+W(1,1026154888,-1115626794,1039766830,1036945010)+W(2,-1125355007,1012320294,-1121887434,-1134197844)+W(3,-1113105487,-1103994248,-1133156750,-1116437485)+W(4,1060001058,1017259310,1046741097,1017194412)+W(5,-1137406030,-1133486286,-1114897776,-1094555822)+W(6,-1113291025,-1135877737,-1140436482,1013595422)+W(7,-1103200016,1018378495,-1110004779,1059311888)+W(8,-1124720479,-1115411390,-1113774366,1023750749)+W(9,1027066925,1020121135,-1120957855,1001232640)+W(10,-1131905035,-1127100975,-1115618446,-1131666807)+W(11,1004266540,-1123146591,-1116648163,-1124072268);sum2=W(0,1015903261,1014594226,994239369,-1134742142)+W(1,-1137672551,1023023759,-1150882457,1020154303)+W(2,1005131169,-1125421078,1017377705,1024853570)+W(3,-1129761964,1031995313,-1126643555,-1134258278)+W(4,1027518631,-1097618001,1040302074,1022217883)+W(5,1001175413,-1138047636,1026258033,-1148789809)+W(6,1009465920,1021296491,1015413679,-1124787402)+W(7,-1098762324,-1122992412,1029784509,1049285742)+W(8,-1148246653,1016986651,1015729459,-1132512970)+W(9,-1131866907,1022764367,1010959842,991423945)+W(10,-1126884057,-1118740892,-1122024941,-1135790753)+W(11,-1142203369,992745521,980872325,-1130065044);WS(1051937311,1019742014); +sum1=W(0,-1110586220,1007594774,997229903,-1128733562)+W(1,1034449865,1040493967,-1115449474,1044317379)+W(2,-1126315858,-1118602611,-1122019556,-1129053661)+W(3,-1114376035,-1126695312,-1116159949,1023734487)+W(4,-1106892452,-1096043495,-1131615423,1058430122)+W(5,1007433460,-1115826781,-1114653189,-1137597924)+W(6,1032525373,-1154941499,-1139661928,-1132293538)+W(7,1048571437,-1110832404,1043036192,1028795565)+W(8,1027349977,1018237258,-1106286569,-1104742917)+W(9,1019369518,1026460481,1016780849,-1123545457)+W(10,1031893623,1016066306,-1122201669,-1111719346)+W(11,-1123671919,1018711058,-1121789868,-1118024837);sum2=W(0,-1127535498,-1127740478,1016157529,1008400273)+W(1,-1120718262,-1108362087,-1101104373,-1110432262)+W(2,1025653041,-1134925453,-1146032407,-1113670226)+W(3,1041994790,1049438349,-1138058389,-1144490357)+W(4,1042410198,-1105949033,1056816205,-1088501039)+W(5,1011207517,-1153231998,1045816390,-1132649478)+W(6,-1105215135,-1113276412,-1130565626,-1125392389)+W(7,-1108549667,1029274599,1025802623,1056199589)+W(8,-1127906971,1000306913,-1139374331,-1122823248)+W(9,-1135958083,-1114929610,-1135290574,965128306)+W(10,-1152613734,1031964529,1003318865,1003347845)+W(11,-1157554354,-1130500213,1019133207,-1123972337);WS(-1117640696,1034706864); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, -2), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 0), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 2), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -2), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 0), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 2), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -2), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 0), 0); +samples[8] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 2), 0); +samples[9] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, -2), 0); +samples[10] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, 0), 0); +samples[11] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, 2), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns32, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns32, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1132374181,1016607238,994153301,-1120567290)+W(1,-1125130389,-1146864427,-1122316900,-1132591953)+W(2,-1119806663,1024055745,1031756856,-1117911182)+W(3,-1126690796,1029429758,1003125923,-1121091407)+W(4,992947237,-1137843051,1021572063,-1139074345)+W(5,1046512564,1056444330,-1096186409,1053527378)+W(6,-1112059294,-1109040755,1051252577,-1093298645)+W(7,-1110173889,-1113641375,-1148456803,-1120338466)+W(8,-1125619459,1000210819,-1119615974,-1117468940)+W(9,-1138699933,-1129869365,-1121684346,-1144213939)+W(10,1033651817,-1119537890,979248533,1023905988)+W(11,1032546877,-1127458445,-1141776739,-1133630411);sum2=W(0,-1119263575,-1114028928,1022573468,-1126549409)+W(1,-1124834267,-1099458226,-1116443736,1019494412)+W(2,-1122284082,-1118444706,1017309436,1007192676)+W(3,1010488320,-1109973330,-1121042004,-1127647730)+W(4,-1119708173,1024108770,-1114833146,-1140490164)+W(5,1055169273,1055452063,1037187519,1032492771)+W(6,1039787167,-1112035826,-1106256028,1044169825)+W(7,1044065299,-1121131548,-1125070906,-1145097543)+W(8,-1146392599,-1113990054,1003196031,1021805248)+W(9,-1095922228,-1126677517,1006796332,1026983682)+W(10,-1118290710,-1130573089,1022777176,-1122158651)+W(11,-1121253833,1019346120,-1123455912,-1129575364);WS(1060265584,1063714812); +sum1=W(0,-1123065753,1022311347,-1128788280,1021450242)+W(1,1021294882,-1140362288,1028928107,-1137050988)+W(2,1009531192,1035626828,1024570351,-1118036885)+W(3,992320459,1029327365,1025121435,-1118665549)+W(4,999728711,-1108349889,1039397963,-1111111528)+W(5,-1137639751,-1102959280,1026074151,-1119265827)+W(6,-1106406289,1036057270,1041760911,-1101623708)+W(7,-1106167682,1037788386,1017790822,-1128138578)+W(8,1022720848,974355898,1011253684,-1131322533)+W(9,1043907075,1025863841,-1136338948,1019796282)+W(10,-1132552740,1027651305,-1136816500,-1151514983)+W(11,-1134343810,1024478285,-1139070668,-1124857459);sum2=W(0,-1124053764,1017938673,-1130878336,1023758242)+W(1,-1122894214,1031015106,1028583936,1000956747)+W(2,1004424067,999096115,994031846,999883691)+W(3,1009546537,1005722235,-1134395125,-1150041590)+W(4,-1145138723,1027873020,1027498838,-1120671625)+W(5,-1104963408,1073183850,1053869854,1005174931)+W(6,-1126082311,1035733703,1053107786,1001047899)+W(7,-1135618057,1023923178,1022225293,1002728051)+W(8,-1122179044,-1127336921,-1131041230,-1144315403)+W(9,-1074622268,1033668418,1009416925,-1093535895)+W(10,-1114468554,992895974,990806038,-1094361386)+W(11,-1126165581,-1138321549,-1131337021,-1123867271);WS(1067199072,981674447); +sum1=W(0,1018794771,-1113372949,-1105288827,-1113726457)+W(1,1008735750,-1102105679,-1095136821,-1115871564)+W(2,-1125149117,-1108798620,-1103744656,-1125817867)+W(3,1016463803,-1099284685,-1137689902,1001830321)+W(4,-1099180638,1040483381,1032552483,1040785760)+W(5,1052734745,1065065389,1054762461,1050678235)+W(6,1033282170,-1097094388,1044820043,1044281884)+W(7,1032013917,-1124668651,1010644366,-1121192922)+W(8,-1114167068,-1127069135,-1139898486,-1124907206)+W(9,-1097429016,1035770473,-1118671794,-1107257499)+W(10,1027211226,-1125646899,-1122788302,-1104994292)+W(11,1015961570,-1114483455,-1123221796,-1114303237);sum2=W(0,-1139313841,989560618,1021627528,-1124538541)+W(1,1010830983,1026431506,1014774531,-1119374292)+W(2,-1125616841,1018739126,-1118520012,1020827626)+W(3,-1136528497,-1129452021,1014458179,1008596323)+W(4,1028695072,1011050585,1027300307,-1127440395)+W(5,-1087762234,1053318756,1052523334,-1102978428)+W(6,-1109480314,1034265115,-1113197028,1027251929)+W(7,-1132845253,1022117249,-1134832277,1023848922)+W(8,999023778,1015498074,-1130074937,1020622605)+W(9,1038687085,-1128231773,-1126569197,-1119874204)+W(10,-1125820221,-1123965604,1018969905,1029469191)+W(11,-1150305989,-1130502215,1024095771,-1159659466);WS(-1082327904,-1101742629); +sum1=W(0,1007179909,-1124051394,994965062,-1128942355)+W(1,-1115398989,1047686461,1029361427,-1172666584)+W(2,-1126910957,1025118144,1028067431,-1145393643)+W(3,-1127439210,1018201755,-1121058723,-1153678686)+W(4,1022855203,-1119991818,1027052286,-1116531225)+W(5,-1095192109,-1106285700,-1110346311,1044526075)+W(6,-1116394763,1030498357,1043850022,-1123739865)+W(7,-1120454737,1034890279,1032721886,-1123838961)+W(8,1015495233,-1129777663,1021969515,-1127603958)+W(9,1037065627,-1113404469,1017142675,1026992677)+W(10,1013662917,1016457699,-1130059467,-1119388383)+W(11,1021249778,1017348651,-1131255799,-1119902562);sum2=W(0,-1131491186,-1137235679,-1130890464,1014279427)+W(1,1042930837,-1073378768,-1097554196,1026571161)+W(2,993445038,-1130245298,-1092458255,1025279833)+W(3,1014707171,-1135266971,-1120075373,-1133457551)+W(4,1024729347,-1130557096,1014973315,-1129394348)+W(5,1073588633,-1105375875,1014221291,1048952496)+W(6,1029166823,-1119905200,1016092170,1053816664)+W(7,-1151431678,-1161525308,-1147013927,1030737081)+W(8,-1150339726,-1141673719,1004833335,-1152876382)+W(9,1035354953,-1124590261,-1159625756,1016692910)+W(10,1027382919,-1138326931,989537980,-1129170378)+W(11,979085751,1009604643,1017200998,-1124802440);WS(1067891072,-1132872541); +sum1=W(0,1014334757,1020114356,-1122834636,1025237873)+W(1,1029025473,-1121917372,-1105197551,1030238795)+W(2,-1121222990,1024596920,1038150728,1007260181)+W(3,-1123834925,1015271403,1024170379,988616634)+W(4,-1118569017,976917621,-1114151507,-1117007553)+W(5,-1114461425,1051488823,-1088419628,1049984500)+W(6,1039495098,987986858,1053317187,-1084792932)+W(7,1027254009,993078101,1026119523,-1124531763)+W(8,1039451348,-1152616053,984935338,1031366707)+W(9,1008484089,-1145922699,-1123762161,1049092386)+W(10,-1131993235,1000937675,1012164149,-1122288663)+W(11,999667975,1004174827,1011615629,1022258228);sum2=W(0,-1136232721,1019759527,-1116760996,-1144599930)+W(1,-1128645029,1041961890,-1111064134,-1137221455)+W(2,-1156748756,1033905549,1036336113,-1151231836)+W(3,1020235585,-1122711401,1022489781,-1160295481)+W(4,-1125055029,1027655943,1032901632,1032730282)+W(5,1050767412,-1130649513,-1115058011,1047170030)+W(6,-1120368706,-1105887613,-1116185015,-1093680614)+W(7,-1132924343,-1122854992,1012694293,-1115425401)+W(8,1005941018,-1131155477,-1129170670,985378521)+W(9,1019394239,1022276751,-1129924333,-1129460922)+W(10,1024734935,1015791177,-1148456898,-1115704458)+W(11,1018590227,1012472897,-1140100033,-1147415538);WS(1059709408,1024973287); +sum1=W(0,1004611460,-1122880609,996494647,-1126012593)+W(1,-1114032340,1049657976,1020165829,-1134152138)+W(2,-1126017195,1032225804,1014735450,-1131432537)+W(3,-1124178504,1022764985,-1115613273,991561039)+W(4,1030391200,-1114579692,1028092109,-1119189544)+W(5,-1094041084,-1106474499,-1111968183,1046947367)+W(6,-1112475533,1030371012,1044458845,1018380112)+W(7,-1122300512,1034006830,1033263557,-1123292160)+W(8,1016065247,-1127475101,1023428420,-1124577204)+W(9,1040268033,-1114564220,1021721777,1002304420)+W(10,1023640576,1019190017,-1128430825,-1114168306)+W(11,1017080432,1017178441,-1127717781,-1119951545);sum2=W(0,1011909323,-1143341847,1024962708,-1125800395)+W(1,-1103527255,1076690943,1052819438,-1116511680)+W(2,-1148349175,990717342,1057154431,-1120293374)+W(3,-1125483347,1023577182,1025045202,1015270352)+W(4,-1144213999,1018807292,-1122338700,1023886172)+W(5,-1072687587,-1098249874,-1115186882,-1097320166)+W(6,1012280135,1010582795,-1117298851,-1091630497)+W(7,1016249338,-1125194137,990164302,-1118805022)+W(8,1000330119,984068764,973576887,-1171853367)+W(9,1023038428,1007326739,1001426319,-1140479659)+W(10,-1122270538,1008233815,-1135413483,1029135274)+W(11,1003973863,-1140102471,-1129534965,1020995472);WS(1066253200,1009489111); +sum1=W(0,1024085178,-1107707469,-1102592607,-1121073890)+W(1,1023275236,-1116780301,-1106598971,-1130104696)+W(2,-1135799996,1032050668,-1111680448,-1128214764)+W(3,-1121776782,1028096678,-1131519352,-1141685621)+W(4,1026388586,-1107162241,1033075644,1041243549)+W(5,1049328440,1057262167,1050587318,-1121496677)+W(6,-1096674093,1040843700,1027096831,1018012708)+W(7,-1101864235,-1117086438,1028580820,-1122519370)+W(8,1004872905,-1145989825,-1130535196,-1123366116)+W(9,-1116780079,1023066500,-1120961954,-1113976447)+W(10,1015552212,1008378152,-1121521086,-1113850464)+W(11,1040749648,-1135644600,-1124335656,-1123000331);sum2=W(0,-1117172679,-1121647283,-1106333857,1013104936)+W(1,-1135146700,1030458550,1031691189,-1127525498)+W(2,1027187072,1009508096,-1111791784,-1122718205)+W(3,-1128814570,1037784205,-1127767754,-1119344027)+W(4,1046293466,-1098323478,-1143812784,1041445982)+W(5,1051999059,1016608418,1032669672,1054977467)+W(6,-1099681845,1044831040,-1093831562,1044523088)+W(7,-1107269301,-1118967703,-1117227205,-1185033988)+W(8,1025469214,-1123006845,-1153458272,-1111423698)+W(9,1041509878,-1111394764,1018478818,-1110723238)+W(10,-1110045970,-1140396324,-1127833490,1024902469)+W(11,-1121987113,1021194206,-1129041118,-1129401382);WS(1055988095,1068562120); +sum1=W(0,-1130996743,1036197410,1041692938,1025054956)+W(1,1026193148,1039706891,1042434277,1024941510)+W(2,1028839961,1029783554,1036807045,1035977616)+W(3,1025665319,1026886128,1019008523,1016648336)+W(4,1032351834,1043619883,-1141880069,1040251631)+W(5,-1093055992,-1087193164,1026325313,-1100356972)+W(6,1043491547,-1097265155,-1087410536,1047058383)+W(7,1048991774,-1099060796,-1104034167,1044781893)+W(8,1002392085,1020511427,1011769695,-1113980711)+W(9,1032223740,-1163338101,-1124414423,1040781794)+W(10,1027612260,-1129538215,1015241743,1047196369)+W(11,-1113322870,-1180507092,1018634427,1036828166);sum2=W(0,-1119308996,-1121926087,-1098330057,-1109623534)+W(1,-1107757858,-1111457821,1031129408,-1108667787)+W(2,-1144042093,-1092220222,-1091241820,-1126585969)+W(3,1024608852,-1104308532,-1112242725,1004201965)+W(4,1045894429,-1111281216,-1105318233,1051762285)+W(5,1060518836,-1103134861,-1116694436,1029096148)+W(6,-1120268316,1034184394,1017373783,1065480819)+W(7,-1105721536,-1134873838,-1129342463,1035423856)+W(8,1002875661,-1152598618,1036873688,-1120494292)+W(9,-1104320409,1023528108,-1117793653,1042501069)+W(10,-1131983911,-1123122827,-1117516356,1041202422)+W(11,1017105251,1015347387,-1131565835,1023586732);WS(-1073915832,-1098883962); +sum1=W(0,-1131602112,1032898976,1024626915,1030932360)+W(1,1018154928,1011274315,-1122370130,-1125999684)+W(2,-1122315861,1029902191,-1113904235,-1122265980)+W(3,-1120663220,-1111387910,-1115348785,1018577993)+W(4,-1117814224,-1103847418,-1130380922,-1098288699)+W(5,-1106175819,-1105327485,-1096397881,1056014501)+W(6,-1115232133,1040451325,1059753579,-1097956311)+W(7,1017122848,1042824131,1039068637,-1126206816)+W(8,1040490540,-1120290302,1021355752,1033018229)+W(9,1044317365,-1139369119,-1131922448,1031863906)+W(10,-1122968848,1033247800,-1121102372,-1098424101)+W(11,1021433455,-1143567007,-1121007738,-1136273729);sum2=W(0,-1126395193,1025514844,1046909717,-1118315643)+W(1,-1138413531,-1112879553,1026986728,1014636591)+W(2,-1129252552,-1114813410,-1122377333,1013622247)+W(3,-1131632742,-1140190295,-1144089687,-1122713894)+W(4,-1112473945,1030594060,-1129801877,-1100980148)+W(5,1027746798,-1094641835,-1101816290,1040985677)+W(6,1057006779,-1106485598,1041324898,1051150943)+W(7,1035155819,1016695560,-1115757412,-1138866101)+W(8,-1111527676,-1135186433,1010610423,-1122172234)+W(9,1027030278,-1121095046,1030475382,1023795758)+W(10,-1133454616,999966259,1015864126,-1113671456)+W(11,-1139893847,-1124292419,-1127643580,1001347783);WS(1058139200,1067005003); +sum1=W(0,-1128484819,-1112832909,-1103206155,-1131277347)+W(1,-1112913457,-1111811582,-1108301118,1014594990)+W(2,-1118434446,-1100757638,-1113179152,1028891109)+W(3,-1151139539,-1119227733,-1116265771,-1125459884)+W(4,-1111332237,1044526364,1048238354,1015263811)+W(5,1031432468,-1114379264,1056580635,1004409248)+W(6,1053177162,-1104236495,1025802539,1057408386)+W(7,1052437131,-1121289813,-1124751623,1035803645)+W(8,-1104751670,-1124214159,-1122297405,-1106607621)+W(9,-1107787999,-1110162105,1017238947,-1107635783)+W(10,-1114959053,-1113724157,1002560364,1020725062)+W(11,-1120069105,-1115210511,-1123244163,-1129296244);sum2=W(0,1016432775,-1124268922,1023292260,-1121057595)+W(1,1031151061,-1110795130,-1116199054,-1112629457)+W(2,1021228732,-1134369449,-1103006120,-1126819952)+W(3,-1127402608,1016333862,-1120667087,1009585899)+W(4,1029388268,-1118389960,1035766063,-1111891368)+W(5,1054055516,1054507013,1033023394,-1123843875)+W(6,-1135412321,-1121918429,-1104664187,1020478730)+W(7,996548072,-1108029597,982538191,993043492)+W(8,-1122510207,1028529468,-1122161823,1032208606)+W(9,1019595258,1026811027,-1118001871,-1113138713)+W(10,1023542227,1018790016,-1116707921,-1114598707)+W(11,-1129671373,-1152045912,-1146185904,993709924);WS(-1091835967,1038509097); +sum1=W(0,1031236696,1038000620,1041562959,1002958335)+W(1,1034973544,1034473413,1042029266,-1122124314)+W(2,1015820538,1042048878,1040514695,-1120202292)+W(3,-1121967836,1042898689,1029242778,1033636218)+W(4,1029288008,-1100002304,-1093861855,-1124369824)+W(5,1049571184,1052741396,-1087002164,-1104824881)+W(6,-1089426268,1042398171,1044570703,-1089024373)+W(7,-1091407169,1030369604,1023923250,-1107643796)+W(8,1038306915,1032364667,-1132073944,1039801017)+W(9,1041619283,1036587856,-1122032128,1037725118)+W(10,1038671876,1010685600,-1138629744,1031782758)+W(11,1043274836,-1153060031,1027566834,1025678032);sum2=W(0,1013192458,1023566599,-1110538641,1016791821)+W(1,1015528749,-1112636904,1000152052,-1123883287)+W(2,-1132736674,-1130121037,-1116367667,-1131825297)+W(3,-1117749640,1033496981,-1114305335,1019880949)+W(4,-1113846927,1029704719,1045544748,-1114409767)+W(5,1054155729,1054056541,1034122997,-1109610416)+W(6,1016394661,-1116026974,1030522539,-1109117303)+W(7,-1157815185,-1107824982,992430312,1030290683)+W(8,-1125617069,1012727082,-1127655665,-1111278622)+W(9,-1108588248,1000573476,-1131212885,-1110039103)+W(10,-1135451026,-1126704253,-1123699129,-1132906850)+W(11,1016739853,-1123545619,988228497,-1134728538);WS(-1089794384,1053743764); +sum1=W(0,1022034304,-1123589329,-1124062435,977181200)+W(1,-1173982736,967031199,1008939465,999195154)+W(2,-1117753925,1038421055,1031201254,-1131079992)+W(3,-1131210280,1042888267,1023184516,1011212627)+W(4,1045687772,-1100185218,-1096122984,1045792382)+W(5,1051096635,-1128424615,-1089534650,1043214811)+W(6,-1104815387,1033659882,1022835035,-1106608558)+W(7,-1113606040,-1114474998,1025453978,975115280)+W(8,1029423919,1022712508,-1146772642,1035356461)+W(9,-1130937578,1009586465,986801416,1037071922)+W(10,-1112564552,1008485953,1012941585,1033635179)+W(11,-1115626236,1020831720,1023442138,-1148354182);sum2=W(0,-1152866061,-1136865390,1038582018,1025756371)+W(1,1021941035,-1102180290,1028991375,1022411083)+W(2,-1162131898,-1103213990,-1127151005,1018807869)+W(3,-1117519259,-1101731450,-1148467374,1030478695)+W(4,1027392563,-1108446917,-1097242729,-1095235720)+W(5,1062263751,1055770556,-1092586393,-1094985700)+W(6,1032099771,1045256871,1024429444,1023141397)+W(7,1050734432,1044538365,-1115314196,-1139645537)+W(8,1009460859,1022755591,-1145714840,1048188946)+W(9,-1098658877,1018658879,1033471029,1013992713)+W(10,-1104388978,-1135748387,1032105067,-1162587434)+W(11,-1097902791,1019361371,1008760659,1033707193);WS(-1092258911,-1089815334); +sum1=W(0,-1147044493,1034203057,1045821685,-1139634407)+W(1,-1130890003,1035729090,1044613801,1017866535)+W(2,1016637069,-1102281888,1029847032,1027130446)+W(3,1026913637,-1121093118,-1131657511,1016500860)+W(4,1015718019,1051668019,1034361159,-1119357002)+W(5,-1090722234,-1086460492,1032636456,-1104936487)+W(6,1057948020,-1095562645,-1094763749,1052628837)+W(7,1053191568,-1098187032,-1106362539,1044884520)+W(8,-1115826689,1023465264,-1130196683,-1137425069)+W(9,1010439579,-1117806874,1015877619,1035725147)+W(10,-1114240161,-1123952546,1025832214,1043916211)+W(11,-1102258214,1011300119,1029577644,1035145793);sum2=W(0,1012757410,1024378351,-1113670137,-1128703433)+W(1,1023396449,-1131966925,-1111552612,1007787634)+W(2,1012244530,1040107467,-1114649634,1017560605)+W(3,1024938353,1032092801,-1122758108,-1143125556)+W(4,-1102109659,-1100043210,1040684472,1038503213)+W(5,1061982310,1066879681,1041989415,1041322248)+W(6,-1098175974,-1089047102,-1101238360,-1104769108)+W(7,-1105089779,-1100231891,1023979343,1026757617)+W(8,1026887817,1003273444,993905065,-1099552212)+W(9,-1107386978,1019447753,-1144755940,-1104965070)+W(10,1016563929,1024790159,1019550873,-1104448348)+W(11,1036400101,1014825186,-1138003290,-1107880053);WS(-1086002512,-1084928660); +sum1=W(0,1017039401,-1113717074,-1115340892,-1131929465)+W(1,-1134499377,-1097984585,-1102662114,1020173741)+W(2,-1138890277,-1114393442,999020755,-1129468257)+W(3,-1143488833,-1132982017,1028151894,-1132813939)+W(4,1042912513,1010821235,-1103148388,1050776738)+W(5,1055825787,1049797700,-1104889757,1053707114)+W(6,1033511359,1041826234,1042555580,-1108349590)+W(7,-1138015505,1041074464,1032548919,-1108075378)+W(8,-1128281895,-1122997746,-1130358353,-1143173743)+W(9,-1098746549,-1117617116,-1139775729,-1111952748)+W(10,-1103706929,1010736529,1014563169,-1106170922)+W(11,-1110410462,-1123442568,-1137959865,-1127274842);sum2=W(0,-1126633986,1029900308,-1118205558,1000102260)+W(1,-1119827470,1041420529,-1140439712,-1144291760)+W(2,1023762781,1006017080,979974721,1016232493)+W(3,1025293286,1002898232,-1137204884,-1141218312)+W(4,1063980475,1037162912,1041999613,1051204856)+W(5,-1075398805,-1085093765,-1167793729,1066576503)+W(6,-1114660078,1033481679,1017117707,-1098954833)+W(7,-1117648930,1002077480,-1137323924,1021034547)+W(8,-1134402620,-1137379540,1019347314,-1135930364)+W(9,-1133429672,-1123883092,1012525172,1020225891)+W(10,1018587503,990744512,-1139078108,1028764817)+W(11,1026769102,1022792204,-1137103964,-1132685152);WS(-1084377664,1027078466); +sum1=W(0,-1129675619,1032239673,1023875764,1028609881)+W(1,1010908070,1024809124,1043647401,1022038247)+W(2,1030113110,-1128260416,-1131519215,1026611885)+W(3,1031201461,-1115829469,1026951667,-1132403564)+W(4,-1114746833,1026119482,1031700430,-1113303893)+W(5,-1156932707,-1104988345,1051850662,-1084547118)+W(6,1047159719,1027361605,-1083734174,1050946557)+W(7,1037768177,1042797655,-1111325382,1020650755)+W(8,-1122216064,1016759071,1025866053,-1138486380)+W(9,1033025459,1029398137,1032834541,-1132199979)+W(10,1018468419,1021351811,1007914454,1043104191)+W(11,-1108759836,1018395723,1014779182,1014159432);sum2=W(0,-1139192721,-1139997869,1034590473,-1123315648)+W(1,1030816333,1008365317,-1115134908,-1123875414)+W(2,1016532474,1028786615,-1110803030,-1123326315)+W(3,-1131093304,1015409534,1004595129,-1130303816)+W(4,969235347,-1112534256,1030314237,1026150549)+W(5,1046059603,1027803789,1037120039,1042477897)+W(6,-1122978967,-1135183209,-1102080708,-1155992274)+W(7,-1111529432,-1109468455,-1120008811,-1119026545)+W(8,-1158492453,-1132289868,1014056813,-1113579452)+W(9,1032895251,1032146261,1018097190,-1098184684)+W(10,1047700729,1011346781,-1114996104,-1126452160)+W(11,1047312851,-1122411639,-1115756663,999072441);WS(1043014014,-1087744322); +sum1=W(0,1020523582,-1138321214,-1123526530,1027952711)+W(1,1021435438,1032339433,-1110182129,1002118409)+W(2,1003104545,-1137297015,1035386835,-1138414444)+W(3,1013303243,-1108462406,-1119534945,1021955143)+W(4,1022379422,-1120526792,1035059438,1008337244)+W(5,-1110004232,-1118604170,-1086364127,1057818171)+W(6,1007303460,1036507098,1057062103,-1083267015)+W(7,1036022088,1036993862,1038869533,-1115695919)+W(8,1037330895,-1156487121,1026995059,-1116610857)+W(9,1040846837,-1153254001,1009757724,1040407761)+W(10,-1128420830,1034169880,1021783366,-1107059287)+W(11,-1142792885,1027514579,-1138765796,1017909759);sum2=W(0,-1156092221,-1131091573,-1117738234,-1129567658)+W(1,1008715269,-1115010115,-1115037144,-1123579911)+W(2,1026524337,1015586863,-1101087826,-1125160256)+W(3,1017463077,1019720419,-1113332277,-1137738801)+W(4,-1128107850,-1118479197,1030957051,1034622765)+W(5,1050631618,1054490255,1041246295,1017778197)+W(6,-1095615964,1025836507,-1117275788,1045062017)+W(7,-1101223712,-1120912313,1027688491,1020345131)+W(8,1005860107,969559787,-1132249217,1029443337)+W(9,-1157251077,1024782459,-1132354551,-1110926783)+W(10,1020928095,1012990901,998415619,-1108959270)+W(11,983922363,1011300789,-1161032699,-1122972204);WS(1054959103,-1083836992); +sum1=W(0,-1132171248,-1118146184,1023853723,-1144415487)+W(1,980216825,-1107434917,1039313221,-1133053416)+W(2,1017404666,-1111685883,1027331294,1018609320)+W(3,-1154920122,-1126004808,-1129432820,-1127349353)+W(4,1018672592,-1123041056,-1121737045,-1123173616)+W(5,1057912142,1053211380,-1161038260,-1090265426)+W(6,1046306952,1036559366,-1089253699,1044087220)+W(7,1039769364,1035028498,-1110305609,-1133031712)+W(8,-1120856711,-1131928876,1017937944,-1124541667)+W(9,-1109871174,-1129566080,1027902624,1034290206)+W(10,-1113560292,1010241568,-1121689404,1040602782)+W(11,-1109624712,-1127304152,-1124796708,-1148202051);sum2=W(0,-1139755941,-1129406227,-1110884586,1018338338)+W(1,-1122001203,1037408540,-1108237236,1025801614)+W(2,-1132321439,-1123391437,1040327756,1010171613)+W(3,1013259501,-1132299663,-1129086463,1016232007)+W(4,-1118232763,1021052542,1026570078,-1136808221)+W(5,-1113269344,1041519115,-1114736489,-1115176435)+W(6,-1110685464,-1115014721,1047951095,-1105808410)+W(7,1021765462,-1123780081,-1113536502,-1168436052)+W(8,1020321772,1004896115,-1120452457,-1136194357)+W(9,1046652366,-1107310106,-1119060361,1048907220)+W(10,-1111631696,-1126977687,1033649944,1035402835)+W(11,-1102273277,1027695361,1026056519,1026410761);WS(1057903600,1067139767); +sum1=W(0,1012511358,-1111029392,-1107061793,-1130009103)+W(1,-1124300975,-1103367501,-1104154592,-1137761926)+W(2,-1117250069,-1113394087,1009980758,1008012526)+W(3,-1115259538,-1114684710,1026647906,-1162310274)+W(4,1028125200,992918145,-1102099951,1043136838)+W(5,1060113955,1050079197,-1106189879,1051222763)+W(6,1016245011,1034440698,1048697267,1024983063)+W(7,1025498192,1041574755,1041096574,-1117690736)+W(8,-1117969679,-1145160172,-1123992244,-1115498357)+W(9,-1108729546,-1117739880,-1125356943,-1104467697)+W(10,-1104780916,-1114615608,-1165450354,-1111781863)+W(11,-1120787335,-1118506516,-1139440358,-1117169584);sum2=W(0,-1120699406,-1131692032,1038855085,1011962608)+W(1,1026799984,-1112343444,1038467393,1007214128)+W(2,1029224075,-1138735380,-1113849522,-1145867047)+W(3,1022659583,-1118784264,-1120001434,-1116434980)+W(4,-1112627842,-1110442893,-1126451804,-1122245118)+W(5,-1106597578,1054959792,1042136464,-1122221782)+W(6,-1114988845,1046305460,1031831390,1026356645)+W(7,-1123194990,1047204017,1008343524,1020413259)+W(8,1008646548,-1123527836,1026864717,-1106947014)+W(9,-1109079281,1011333214,999106843,-1113116412)+W(10,-1109725169,1032922020,-1117815384,-1109881757)+W(11,-1114571313,1000599735,-1119479700,-1123390380);WS(-1101058110,1058505899); +sum1=W(0,1015324303,-1112299044,-1123852394,1008909245)+W(1,-1139701245,-1102217815,-1128516275,-1151491221)+W(2,1031005836,-1113648843,-1104833467,1009250957)+W(3,1009310828,-1121962739,-1119585353,-1131857944)+W(4,992056181,-1124723744,1024016996,1037579744)+W(5,1045087960,1021619781,1056678303,-1098678002)+W(6,1036986521,1041104615,-1095085849,1058072040)+W(7,1032839164,1025292595,-1129179587,1024521495)+W(8,-1131134189,-1130344395,1022516663,-1121096497)+W(9,-1098726544,-1132041247,1021039583,-1109419958)+W(10,-1121889031,1026848535,-1140161581,-1109643932)+W(11,1017031326,1005622747,-1125244995,-1127292144);sum2=W(0,1017011277,-1140746852,1023078017,992821683)+W(1,999390943,-1112338116,959773689,1011814063)+W(2,-1128713872,1024063493,1035095219,-1121326865)+W(3,-1138094133,1032024680,1023948090,-1144442308)+W(4,-1139829185,1034266306,-1112719649,1023704638)+W(5,-1113377165,1057654961,1032357888,-1107874815)+W(6,1033653422,-1122811174,1012152366,-1108229047)+W(7,-1140161389,-1113617432,1020168485,-1133039950)+W(8,-1119668356,1016759855,1021903376,1027637582)+W(9,-1086342498,1051594315,1034398452,-1113625790)+W(10,-1136544465,1031049449,1035110699,-1101720659)+W(11,1019370668,1021410443,1018271190,-1121720102);WS(-1098338111,1023498750); +sum1=W(0,1022617405,-1112416999,-1121510465,-1138701849)+W(1,989875557,1037491593,-1180399652,-1168316434)+W(2,1028694643,-1121884733,-1102495433,1014043241)+W(3,-1123740578,1036415429,-1122132512,1012653195)+W(4,1041395124,-1110248019,1010706669,1040383254)+W(5,-1094988553,-1095385553,1058209828,-1097293461)+W(6,-1118903112,1046085501,-1097437690,1059563452)+W(7,-1126796061,-1128488725,-1130301425,1027507886)+W(8,1020223099,1016227961,1021863397,-1149170878)+W(9,984962665,1021609037,1018489101,-1106291545)+W(10,-1122110350,1026243438,-1145092370,-1119747464)+W(11,989067449,-1164474953,992349061,-1123237039);sum2=W(0,-1120898035,1036981221,1029420636,-1164068108)+W(1,972583599,1039879187,1035658823,1013829433)+W(2,-1128855117,-1128781606,-1102894380,1016837545)+W(3,-1130000643,1008550341,1013125305,-1120505887)+W(4,-1106651210,-1141413971,-1110964317,-1112077059)+W(5,-1108370344,1044568046,1035230257,-1106432341)+W(6,1035930993,-1110600858,1041920264,1027609202)+W(7,1017927697,1019426133,-1125837008,1026372950)+W(8,1028557670,-1129246253,-1148255859,1028276360)+W(9,1026800348,-1126980980,-1131530425,1017251513)+W(10,1023713154,-1124361549,-1121785123,-1124056839)+W(11,-1129712212,-1127748642,1009116645,-1132458450);WS(1064075168,-1085260633); +sum1=W(0,1004279127,-1113516590,-1104011171,1020097830)+W(1,1026532451,-1102348791,-1103036207,1028112237)+W(2,-1130706656,1038928889,-1120389361,961537748)+W(3,994604265,1031068695,-1129088474,-1135275149)+W(4,1036855277,-1106861493,1034297780,1041894009)+W(5,1027716980,1058153819,-1112331770,1045116105)+W(6,-1096709211,1048347472,1043898973,-1096376936)+W(7,-1102472071,-1118081687,-1164071066,996846509)+W(8,1031661466,-1151789197,-1138151419,-1113914242)+W(9,-1100287056,1026370483,-1129921062,1017072798)+W(10,1032287909,-1140511211,1025128111,-1119328440)+W(11,1040008649,-1140610427,-1167790389,1019059671);sum2=W(0,-1138053524,-1133342724,1033869831,1014633478)+W(1,-1120104172,1033872317,1003291347,-1140130516)+W(2,-1123853902,-1121932314,1006625651,1012698026)+W(3,-1133638700,975983930,1004319943,1013120742)+W(4,-1126366588,-1128243618,-1111281510,-1114935893)+W(5,-1086850225,-1084734921,-1107071420,1043822142)+W(6,1040015383,1046081705,1067004758,1030145358)+W(7,1028724356,1031930717,1002809783,-1150276254)+W(8,-1145483991,996067150,990649086,1016908923)+W(9,1045857736,-1119271334,1012165262,1006526455)+W(10,-1118176982,-1144422823,-1129772456,1020093203)+W(11,-1104669476,-1143148999,-1141799647,-1161820989);WS(-1102756414,-1120030182); +sum1=W(0,1007304745,-1115971707,-1102767115,-1114857721)+W(1,-1135708169,-1101194087,-1095987354,-1113282502)+W(2,-1115825727,-1109693396,-1099422340,-1130226572)+W(3,-1136250680,-1100198174,-1122657804,-1142173365)+W(4,-1101676399,1028311347,-1124210446,1043961809)+W(5,1065521342,1068133511,1046261656,1053600405)+W(6,997946179,-1098872988,1042816511,1046696200)+W(7,1025742970,-1113205915,-1133742993,-1112668237)+W(8,-1113057893,-1125847632,-1120413918,-1117667780)+W(9,-1095174540,1027169042,-1114932345,-1103902228)+W(10,1020822452,-1114420141,-1125196828,-1101926052)+W(11,-1140085511,-1110338975,-1121096548,-1113901869);sum2=W(0,-1126993785,-1117046041,-1119384349,1022430051)+W(1,-1136699515,-1099757367,-1113440146,1027244407)+W(2,1024283610,-1152620459,1038214736,-1115987625)+W(3,-1137060371,1015902709,1013074835,-1120680273)+W(4,1014745875,-1106680506,1011315171,-1127804673)+W(5,1065124465,1034863647,1020590601,-1129639049)+W(6,-1130768777,-1116743921,1035633573,-1113943514)+W(7,-1112590762,1012706011,-1127682237,-1113854522)+W(8,1009189211,-1125156477,1009328259,-1121146859)+W(9,-1111752578,1017063165,1000906166,-1115604020)+W(10,-1120130033,1024425511,-1117062841,-1124061319)+W(11,-1113078716,1024105421,-1119191933,-1148961286);WS(-1077988040,-1098609713); +sum1=W(0,1002836371,1027276515,1040202093,1020152245)+W(1,1010566313,1032875267,1049452385,-1132015209)+W(2,1020486319,1034908465,1036663212,1010053945)+W(3,-1132252076,1038229775,-1114877050,1030571159)+W(4,1037438449,-1105856183,-1104283732,-1114910389)+W(5,1030654167,-1102427678,-1098108347,-1100627367)+W(6,-1095852652,1048934265,-1104090280,-1113362709)+W(7,-1105166249,-1138504825,-1126406169,1025947458)+W(8,1028081393,1013826369,-1125387021,1039298438)+W(9,-1131705423,1017725301,1018674229,1024125142)+W(10,1019783717,1015682181,-1141124531,1042947115)+W(11,1035155325,1016700365,1006527587,1021770278);sum2=W(0,-1139598567,-1138132903,-1132626695,-1142267837)+W(1,1008554815,1032537913,-1131100139,967895252)+W(2,1024473654,1023361695,-1112410791,-1145406733)+W(3,1020245499,1015868043,-1130141475,-1120792990)+W(4,1033876712,-1110747637,1039691642,1023852808)+W(5,-1095058264,1037101696,1061640184,1012220303)+W(6,-1104029741,-1161200181,-1091888991,-1110252153)+W(7,-1196949327,977066218,-1119701362,1031843465)+W(8,-1127924867,-1155304986,-1147709133,-1114839167)+W(9,1049832068,992067354,-1121532798,-1122160974)+W(10,-1126050715,1025251228,-1128735955,1027903240)+W(11,-1118663498,1009680879,-1157362170,-1132864167);WS(1050097375,-1144620389); +sum1=W(0,1011057731,1033637193,1044211901,-1128715377)+W(1,1019193873,1034983634,1048874276,-1134438475)+W(2,1009602711,1017343103,1042543166,1022275225)+W(3,-1136253330,1037918654,-1149239594,1032927683)+W(4,1022227585,1028225817,-1104047251,-1107032850)+W(5,-1114392598,1036584266,-1092741994,-1096643663)+W(6,-1097617495,1028276325,1025153498,-1092702793)+W(7,-1097624368,-1118553533,-1142331733,-1139445891)+W(8,1008625791,1011579579,-1128884681,1044522647)+W(9,-1113959235,1025301657,1018667761,1044273989)+W(10,1041046056,-1123355105,1024565397,1042105869)+W(11,1045159742,1015982985,1027058603,1025445761);sum2=W(0,-1172679141,-1128383915,1033296420,-1125113091)+W(1,-1126905475,1031861037,1019343075,-1152889753)+W(2,-1117488938,-1113645001,1038268779,1006649294)+W(3,-1172252645,-1120621430,1028739248,1019337735)+W(4,1016688407,1037338868,-1102915066,1004274749)+W(5,-1097163724,-1090194983,-1089888071,-1103752812)+W(6,1051715314,-1118523722,1041005261,1062746712)+W(7,1035778038,-1154227385,1027501384,-1124587947)+W(8,-1144981581,991135609,1017918867,1028147108)+W(9,-1121675098,-1117974458,1022111055,1030353331)+W(10,1006661278,-1115156997,1026630548,1019962267)+W(11,1013440998,-1136345798,1018829507,1023891692);WS(-1098112447,-1125216946); +sum1=W(0,1006322176,-1119953952,-1112042689,1010417568)+W(1,1017991280,-1112784281,-1116450322,-1140685064)+W(2,-1146614696,1023451023,-1105219289,-1126853432)+W(3,1019294567,-1110071894,-1153582112,1004323364)+W(4,-1112614584,1018267345,1041397655,1004161984)+W(5,-1113885864,1050855349,1058507679,-1090400895)+W(6,-1126136276,-1122997076,-1097135921,1051228911)+W(7,983864831,1012208560,-1149231824,1016683168)+W(8,1024614191,-1137912440,1021110568,-1114418485)+W(9,1027345269,1019594896,-1127130192,-1104618697)+W(10,1039454784,987030015,-1116355204,1037685358)+W(11,1030420791,-1149650752,988441407,-1140802306);sum2=W(0,-1134943159,1010887850,-1152950404,1035141604)+W(1,-1120750640,-1101926585,-1122370025,1031353634)+W(2,-1114509439,1035852377,-1104605825,1025254666)+W(3,-1113538005,-1148680422,-1114959163,1028756554)+W(4,1025641276,-1119115361,-1104792229,-1100547860)+W(5,1057546844,1042205116,-1100366049,-1101375945)+W(6,-1108641700,1039483674,1042952063,1048526282)+W(7,1037895648,1041006229,1030776026,1033576762)+W(8,1021611837,1016878804,-1138078871,1037875812)+W(9,-1109199537,-1140091328,1015482099,1015511489)+W(10,-1109299079,-1132053601,1032201266,-1105787312)+W(11,-1107406256,-1124574444,1007578680,-1143994351);WS(1027823864,1049081066); +sum1=W(0,-1130128499,1032126573,1045092167,1012131718)+W(1,-1147020173,1034108246,1043895467,1020918007)+W(2,1020448605,-1104998342,1035993776,1027080278)+W(3,1024273997,-1123698278,-1129990263,1012408472)+W(4,-1127539283,1050389010,1031292119,-1108779609)+W(5,-1094495268,-1089568357,998802811,-1101697729)+W(6,1057437086,-1097851474,-1096020979,1047905888)+W(7,1052750589,-1101687913,-1105719893,1041161122)+W(8,-1113259988,1017365039,-1123848398,-1168425160)+W(9,1026355631,-1120941186,1015583683,1036534559)+W(10,-1112197645,-1123264842,1024649726,1044370080)+W(11,-1103284196,966350543,1027345300,1035394325);sum2=W(0,982227227,-1150596845,-1115639872,1023788251)+W(1,-1119196045,1006169559,1015277390,1006064903)+W(2,-1139981943,-1110295858,1034991246,1022374646)+W(3,-1130167410,-1131776900,-1148612007,1006364327)+W(4,1046665761,1053945290,1041100183,1042970848)+W(5,-1080187678,-1078236510,-1128807740,1037025188)+W(6,1052132899,1058969577,1053440142,1047303977)+W(7,1035867784,1005561207,1029728171,1033799186)+W(8,-1121383639,-1143798279,-1214633659,-1120506242)+W(9,998104205,-1114831851,1023282498,1017634434)+W(10,-1112892146,-1124500500,1023435593,1037533712)+W(11,-1110685126,1014287051,1015376522,1033828190);WS(-1088189216,1043089281); +sum1=W(0,-1121398410,1041680407,1049770738,-1140748743)+W(1,-1149048846,1043836791,1048806759,1026065228)+W(2,1036138263,1024770968,1034371336,1020127051)+W(3,1038047047,-1137213911,1037337862,-1128555260)+W(4,-1096476823,1047024381,1042644994,-1088213532)+W(5,-1108723571,-1101872740,1050638745,-1084369379)+W(6,1041309981,-1096464492,-1094226627,1036745881)+W(7,1028379642,-1102959693,-1106071481,1011670631)+W(8,-1107153702,1031833588,1008330103,1041481493)+W(9,1041455384,1026205458,1020682979,1035104215)+W(10,1045395982,-1120876186,1006701623,1040593116)+W(11,1016152290,1028740542,1024336228,1040128941);sum2=W(0,1004169862,-1114659435,1028575755,-1129618765)+W(1,1012667011,-1110197183,1025093243,-1163586391)+W(2,1006867267,-1110600679,-1140439179,1004789414)+W(3,1023888443,-1106146141,1019765437,-1148564598)+W(4,1020493837,1025826707,-1109549862,1018469269)+W(5,1045602812,1050121196,1018231561,-1120959857)+W(6,1007539419,1038682513,1009644755,-1119013866)+W(7,1005311510,1040899502,1017107081,-1126956769)+W(8,-1116607191,-1153284395,-1123897489,1022763469)+W(9,-1110473213,1019030581,-1131222849,1017295613)+W(10,-1107944702,1009132883,-1125130849,-1143499366)+W(11,-1114206671,-1127991173,1006886939,-1123266847);WS(-1082596160,1043517696); +sum1=W(0,-1153492953,1032486047,-1154689545,1028909798)+W(1,1019116907,1037703496,-1128767583,967933898)+W(2,-1129844133,1027446332,-1115978788,-1132218099)+W(3,999709323,-1114471573,-1146849277,1011144392)+W(4,-1117361518,-1118729126,1025985531,-1104169149)+W(5,-1087176649,-1089391227,1031994846,1049441299)+W(6,1018413135,1032249225,1056185125,-1115448907)+W(7,-1130624603,1042483386,1036574828,-1154137305)+W(8,1034798166,-1125485751,1024711058,1029418231)+W(9,1046438773,986175666,1008177302,1006099469)+W(10,991686873,1030151438,-1125946755,-1106352341)+W(11,1022706506,1019997155,1006963806,-1131200252);sum2=W(0,1024001581,-1138508200,-1103978637,987806561)+W(1,-1138298076,1037869389,-1113576691,-1132313544)+W(2,-1131321664,-1102361734,1041829747,1003342504)+W(3,1016585830,-1103350916,995389041,1015369606)+W(4,-1109586411,1036006171,1032745921,1039699877)+W(5,1004783368,1057490671,1041044376,-1109697688)+W(6,1023850463,-1118937466,-1120283284,-1101655248)+W(7,1033013495,1023653113,-1137071480,-1123567230)+W(8,984628641,-1151113585,1017765222,-1106709297)+W(9,-1123523352,-1126668402,-1128136972,-1135869680)+W(10,-1133053924,-1119975873,-1142518888,1037905909)+W(11,-1123775069,-1153724113,1015435786,1008345900);WS(1066487464,-1081148228); +sum1=W(0,-1115667101,1039828621,1045622655,-1156758047)+W(1,-1120457266,1051174634,1043227835,1032245054)+W(2,1028999903,1035936180,1038187760,1025970038)+W(3,1031685286,1038703027,1028125692,-1129094085)+W(4,1016276052,1034243041,1016497454,-1121579186)+W(5,-1081882686,-1081200961,-1125065087,-1107379682)+W(6,-1110627634,-1121754318,-1121918554,-1114502289)+W(7,-1130240468,-1128847308,-1138807120,1032926021)+W(8,-1129971954,1022570928,1025331662,1026804003)+W(9,1050524446,950141917,1033790001,1036683903)+W(10,1045144826,-1123227402,1035886143,1033938044)+W(11,1036935449,1033245399,1023360168,1028558202);sum2=W(0,-1109318105,1040565489,1013162021,990406129)+W(1,-1108583903,1041812300,-1125670617,1032976305)+W(2,1027268958,1031967357,-1123723867,1009651516)+W(3,1034160517,-1113698315,1033460548,-1109295843)+W(4,-1098989385,1036428343,1031481662,-1111903383)+W(5,1042303391,1039454897,1043786440,-1114873385)+W(6,-1113158574,-1097549253,1032603577,1001920896)+W(7,1032025507,-1119346601,-1117993943,1015358203)+W(8,-1111376696,1020848344,1026146121,-1112035485)+W(9,1044627344,-1114987237,993596601,1007686716)+W(10,1043104932,-1112152994,1030752081,-1107723593)+W(11,-1111706149,1024170945,-1128311189,-1142055788);WS(-1085700080,-1080808385); +sum1=W(0,-1122227946,1020782261,-1130852634,1024296914)+W(1,1023737634,1000516328,1018157624,-1137292464)+W(2,1017074878,1034334952,1007198528,-1114666035)+W(3,998628462,1030076118,1028012332,-1116342907)+W(4,1011762792,-1106441949,1037784580,-1113008209)+W(5,-1126768286,-1096045179,1034492712,-1132968658)+W(6,-1108931914,1035021791,1044579508,-1104353680)+W(7,-1106440695,1037317931,1016641544,-1128335092)+W(8,1023563097,1007950112,1011155704,-1128041639)+W(9,1048917408,1027876850,-1130475172,1002605936)+W(10,-1127030516,1030237498,-1148910448,-1126595297)+W(11,-1122557970,1026212766,-1178616327,-1124799637);sum2=W(0,1018138398,-1136885460,1009004191,-1127545645)+W(1,999025130,1032831862,-1141392422,-1144042592)+W(2,-1150259805,-1138954980,1017820345,-1139402988)+W(3,-1133933532,-1164078621,1013413304,985356315)+W(4,-1151865619,-1125888003,-1131692274,1015771798)+W(5,-1097510643,-1072938398,-1091675886,-1107745249)+W(6,1017078443,-1117354278,-1091916978,-1117369881)+W(7,-1132951491,-1138824868,-1124163047,-1132039248)+W(8,1023581282,1018938725,996126556,1014637794)+W(9,1076041086,-1112160457,-1136255574,1057331451)+W(10,1032772879,-1138128772,-1150817344,1056314077)+W(11,1026258229,985080995,1018397555,1020965023);WS(1065410184,989310727); +sum1=W(0,-1140125102,-1114916286,-1109321255,-1129262375)+W(1,-1133156750,-1103994248,-1113105487,-1116437485)+W(2,-1140436482,-1135877737,-1113291025,1013595422)+W(3,-1120957855,1020121135,1027066925,1001232640)+W(4,1039766830,-1115626794,1026154888,1036945010)+W(5,1046741097,1017259310,1060001058,1017194412)+W(6,-1110004779,1018378495,-1103200016,1059311888)+W(7,-1115618446,-1127100975,-1131905035,-1131666807)+W(8,-1121887434,1012320294,-1125355007,-1134197844)+W(9,-1114897776,-1133486286,-1137406030,-1094555822)+W(10,-1113774366,-1115411390,-1124720479,1023750749)+W(11,-1116648163,-1123146591,1004266540,-1124072268);sum2=W(0,994239369,1014594226,1015903261,-1134742142)+W(1,-1126643555,1031995313,-1129761964,-1134258278)+W(2,1015413679,1021296491,1009465920,-1124787402)+W(3,1010959842,1022764367,-1131866907,991423945)+W(4,-1150882457,1023023759,-1137672551,1020154303)+W(5,1040302074,-1097618001,1027518631,1022217883)+W(6,1029784509,-1122992412,-1098762324,1049285742)+W(7,-1122024941,-1118740892,-1126884057,-1135790753)+W(8,1017377705,-1125421078,1005131169,1024853570)+W(9,1026258033,-1138047636,1001175413,-1148789809)+W(10,1015729459,1016986651,-1148246653,-1132512970)+W(11,980872325,992745521,-1142203369,-1130065044);WS(1051937311,1019742014); +sum1=W(0,997229903,1007594774,-1110586220,-1128733562)+W(1,-1116159949,-1126695312,-1114376035,1023734487)+W(2,-1139661928,-1154941499,1032525373,-1132293538)+W(3,1016780849,1026460481,1019369518,-1123545457)+W(4,-1115449474,1040493967,1034449865,1044317379)+W(5,-1131615423,-1096043495,-1106892452,1058430122)+W(6,1043036192,-1110832404,1048571437,1028795565)+W(7,-1122201669,1016066306,1031893623,-1111719346)+W(8,-1122019556,-1118602611,-1126315858,-1129053661)+W(9,-1114653189,-1115826781,1007433460,-1137597924)+W(10,-1106286569,1018237258,1027349977,-1104742917)+W(11,-1121789868,1018711058,-1123671919,-1118024837);sum2=W(0,1016157529,-1127740478,-1127535498,1008400273)+W(1,-1138058389,1049438349,1041994790,-1144490357)+W(2,-1130565626,-1113276412,-1105215135,-1125392389)+W(3,-1135290574,-1114929610,-1135958083,965128306)+W(4,-1101104373,-1108362087,-1120718262,-1110432262)+W(5,1056816205,-1105949033,1042410198,-1088501039)+W(6,1025802623,1029274599,-1108549667,1056199589)+W(7,1003318865,1031964529,-1152613734,1003347845)+W(8,-1146032407,-1134925453,1025653041,-1113670226)+W(9,1045816390,-1153231998,1011207517,-1132649478)+W(10,-1139374331,1000306913,-1127906971,-1122823248)+W(11,1019133207,-1130500213,-1157554354,-1123972337);WS(-1117640696,1034706864); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, -3), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, -1), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, 1), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, 3), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, -3), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, -1), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, 1), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, 3), 0); +samples[8] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, -3), 0); +samples[9] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, -1), 0); +samples[10] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, 1), 0); +samples[11] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, 3), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns32, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/gather/nnedi3-nns64-win8x4.glsl b/shaders/nnedi3/gather/nnedi3-nns64-win8x4.glsl new file mode 100644 index 0000000..cdca0fe --- /dev/null +++ b/shaders/nnedi3/gather/nnedi3-nns64-win8x4.glsl @@ -0,0 +1,242 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns64, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1115658697,1052077971,-1129953383,1040079017)+W(1,-1119789534,1027055297,-1102425550,-1107150591)+W(2,1056937139,1052646725,-1100320116,-1112255447)+W(3,1033358144,-1121552872,1029401490,-1089460941)+W(4,-1091236407,-1106109018,991372703,1039284509)+W(5,-1097729145,-1111268755,1043570389,1057992884)+W(6,-1112818013,1030287040,-1108390802,1013856427)+W(7,-1110301789,-1132036495,1028923089,1044897031);sum2=W(0,-1118430023,1041449883,1026461175,-1108031914)+W(1,1013768747,-1122068949,1027150813,1012288055)+W(2,1072973866,-1076980873,1041814131,1032549274)+W(3,1026059807,1036691428,-1082819831,1049697467)+W(4,-1111091488,1028730196,-1121140359,1017353224)+W(5,-1152272302,-1116481805,1027133694,1041587393)+W(6,-1121430441,-1127880506,-1138465879,-1132764107)+W(7,1025296987,1012449399,-1141547063,-1122016279);WS(-1098744132,1034278418); +sum1=W(0,-1145635621,1041815523,-1124165708,-1103397220)+W(1,1050544938,1021903208,-1120033612,-1105248316)+W(2,-1099348442,-1092523700,1026719460,-1110800938)+W(3,1035939706,994253234,1047722705,1050332487)+W(4,-1100009602,-1088889154,1032193166,1022646298)+W(5,1017012340,992386946,1057456646,1037024150)+W(6,-1104673163,-1098235958,-1136800346,1022064347)+W(7,-1126668889,1007925993,1051861685,1045722836);sum2=W(0,1051137052,-1138123466,1038271179,-1097631923)+W(1,-1103655169,1030554459,-1101382095,1049915324)+W(2,1047950529,1066995446,1038061501,1016052501)+W(3,-1103587135,1039796029,1044310058,1053016941)+W(4,1052164534,-1086456688,1036023945,-1098093629)+W(5,1022295275,1002073396,-1097740488,-1101624661)+W(6,-1092315790,-1088937960,1049634734,-1103222197)+W(7,1009745942,1037237655,-1095498431,1025704121);WS(-1082862242,-1106529553); +sum1=W(0,1035507577,-1134799464,-1136558799,-1130854575)+W(1,-1121770975,1040932752,-1109420173,-1111381151)+W(2,1050921813,1017516694,1011297096,-1106220300)+W(3,1042678624,1023914089,1058584025,-1090777253)+W(4,-1083278305,-1113237716,1003802452,1032803517)+W(5,-1114891124,1024022374,1038764911,1053793791)+W(6,-1166618304,1036440480,-1115833284,-1130818358)+W(7,1003125716,-1148371520,-1125528356,1011564912);sum2=W(0,-1114468103,-1105748811,1017383795,-1113253112)+W(1,1029911106,-1111927878,1042779663,1046106511)+W(2,1042070822,1062131274,-1105653936,-1098397046)+W(3,-1106009556,-1113543954,1049624420,1049941293)+W(4,-1088478625,1039489157,-1130700635,1043748521)+W(5,-1110290200,1032413051,-1102421728,-1093962905)+W(6,-1112481937,-1118262998,-1134989990,1040646747)+W(7,1032000907,1027657598,-1124158867,-1120850913);WS(1055738180,1034492849); +sum1=W(0,-1111251428,-1128721888,-1114926341,-1130881323)+W(1,1006685651,-1103919286,1039888312,1042092597)+W(2,-1099536939,1051914904,-1109424308,1041145701)+W(3,-1104400342,-1113433279,-1131357522,1055510938)+W(4,1058202118,1051860704,-1112831856,-1112247108)+W(5,1022435899,-1139575663,-1104754439,-1089549409)+W(6,1026763985,-1130346670,-1121239258,-1114665081)+W(7,-1129253153,-1142807791,-1117425768,-1109075065);sum2=W(0,-1118181126,-1116107500,1036549925,-1110077216)+W(1,-1110853226,-1119533468,1034915268,1049383148)+W(2,1042025735,1056055130,1011211476,-1103858204)+W(3,-1101175453,-1113779586,1058209450,1044994486)+W(4,-1090440399,-1117941654,1023981444,1008268344)+W(5,-1109857174,1034145803,-1099569204,-1098004228)+W(6,1001166765,-1130298175,1034090633,1010863636)+W(7,1026441284,1033292040,-1107211558,-1121873216);WS(1056018244,-1109435672); +sum1=W(0,-1121172806,-1108190871,1025593127,1028147653)+W(1,1029524274,998861994,1019648283,-1156629272)+W(2,1044333967,-1098176216,1042157337,1019179235)+W(3,-1126875818,1048944704,-1084323638,-1105021998)+W(4,1052400296,1041545807,1019247612,-1110312463)+W(5,-1112766254,1027979993,-1144495302,1052575762)+W(6,-1152440548,1040728133,-1144225212,-1120006735)+W(7,-1115664295,-1127435447,-1117757541,960835398);sum2=W(0,1020564842,-1103457632,1037565600,-1133465842)+W(1,1020759546,1025892619,1042355402,-1109452473)+W(2,1043192653,1057142397,1023511793,-1114814180)+W(3,1033812672,1040091206,1042803000,-1103393926)+W(4,-1101196001,1038394412,1005396583,1028077461)+W(5,-1104532905,-1153222990,-1094252679,-1093624788)+W(6,-1113456189,-1137100532,-1149118303,1022326514)+W(7,-1130818626,1028700597,1021621854,1041416796);WS(1058353218,1042996167); +sum1=W(0,-1094124879,-1107919793,1015847030,1024954343)+W(1,1009270680,-1116609353,-1138612357,1052314513)+W(2,-1097421664,1048862286,-1110665693,1036476495)+W(3,-1202266712,-1105910956,1050687635,1044445371)+W(4,1033331871,1049066134,-1108641009,-1121159378)+W(5,1018868510,-1115498359,998963493,-1102818752)+W(6,1023600450,1041347474,-1102251787,-1137738249)+W(7,1016588291,-1119202191,1023627001,-1113493234);sum2=W(0,-1120540574,-1110048722,980939457,-1126808420)+W(1,1039187917,-1110843188,-1075343834,-1098896413)+W(2,1033167871,-1106277561,1037410136,-1123796075)+W(3,1032482295,991431992,1075199384,-1086151008)+W(4,-1166268225,-1116671070,-1139817292,1002142140)+W(5,-1123555130,-1163241473,-1127002394,1058982643)+W(6,-1143978200,1011961658,-1142652688,-1134378480)+W(7,1021947375,-1117918702,1027681870,1028067074);WS(1065448321,-1123448424); +sum1=W(0,1042933049,1048779866,1010310940,1033675765)+W(1,-1107290229,1033876859,-1098481070,-1113419593)+W(2,1053164479,1054681092,-1130617674,-1135157253)+W(3,1028430645,-1126554424,1025088582,-1085464413)+W(4,-1088933089,-1096402228,1037821135,1045868403)+W(5,-1113028565,-1114258373,1043193000,1052703622)+W(6,-1112063319,-1132569296,-1107423852,1029877230)+W(7,-1131689691,992526257,1039088003,1039463880);sum2=W(0,-1118632904,-1115592424,1027463162,992398551)+W(1,-1143518596,-1122494561,998577524,-1109433050)+W(2,-1094541616,1058308065,-1119896935,-1110914988)+W(3,-1116426235,-1103007923,1059518579,-1095126430)+W(4,1052134722,-1139018826,1024218964,-1100289244)+W(5,-1121464784,-1115201103,-1109739820,1038527426)+W(6,1043392525,-1114310803,1036361104,-1111923136)+W(7,-1120049915,-1128089075,1020338285,1004586244);WS(1050696068,-1101686596); +sum1=W(0,1032239887,1039198082,1025629886,1030829490)+W(1,-1113406309,1030627629,1033819234,1015204626)+W(2,1035777849,-1094476563,1044306231,1028506281)+W(3,-1111973334,1049080890,-1083567844,1052890832)+W(4,1053256444,-1108777674,1033300499,1022456523)+W(5,1026744658,1009469122,1028011096,-1095460989)+W(6,-1125496907,1013615278,-1126351518,1025382374)+W(7,1014700692,-1117484787,1022077689,-1117978119);sum2=W(0,-1116235595,1028975273,1033160533,-1123705959)+W(1,-1139597844,-1122943830,-1094422871,1034058997)+W(2,-1105037500,1055127070,1019539230,1021465594)+W(3,-1103106284,1037858431,1036912081,-1106553103)+W(4,1039390029,-1104569658,1030761443,-1115261066)+W(5,1034945731,997585040,1034816057,-1113630050)+W(6,1024962787,999405400,-1122567677,1021971134)+W(7,-1137214108,1023175710,1014360364,-1131788338);WS(1058623938,1044469574); +sum1=W(0,-1108426137,-1141312974,1035147318,1045615020)+W(1,1044911680,1030580258,1044306859,-1135193336)+W(2,-1105886038,-1079944741,1050348390,1047639223)+W(3,1043270872,1051720601,-1085342603,-1122107414)+W(4,1039515483,1021302290,1044899106,1030161626)+W(5,1041363874,1041545713,-1110191310,-1100470855)+W(6,-1167333042,991624716,1044251461,-1132009366)+W(7,1040848727,1042676794,-1100960996,-1180200419);sum2=W(0,-1097249916,-1101780852,-1112584470,-1126998679)+W(1,-1118913729,-1122142287,1037003529,1048536708)+W(2,-1124055793,1050619160,1026650453,-1125720699)+W(3,1008038822,-1117660887,1058508674,1040132893)+W(4,1044368398,-1115949975,1035354845,-1098785634)+W(5,-1121056345,1006096779,-1106591466,1037637019)+W(6,1036370417,1013784870,-1117822839,-1103280207)+W(7,-1116815483,-1119752481,-1104576316,-1109803757);WS(-1092650820,-1093598320); +sum1=W(0,-1111185837,-1107026560,-1136033646,-1126483198)+W(1,1028684103,1034982933,-1113511425,1032567139)+W(2,-1096033968,-1101350837,-1119240794,1019177644)+W(3,1025024233,-1118967697,1042563567,1059010394)+W(4,1057301262,1042409572,-1108863241,-1095523617)+W(5,-1118984463,1023629806,-1108714423,-1131092420)+W(6,1040959081,1035081684,-1126435736,-1113123137)+W(7,-1128061252,-1142697342,-1106962654,-1114101506);sum2=W(0,-1134435633,-1107189637,-1158272012,-1118904411)+W(1,-1150017862,-1122133752,992574886,-1102280300)+W(2,-1120249847,1057018316,1030464194,1013234849)+W(3,-1146867651,-1097179586,1062197029,-1083559741)+W(4,1048792270,1024832618,1025489390,-1106482941)+W(5,-1115216614,1021081809,-1114392001,1040811198)+W(6,1031754422,-1125347555,1028128070,-1129648553)+W(7,-1112304821,993658022,1029475610,1031998303);WS(1058173058,1066808129); +sum1=W(0,1035236882,1036577094,-1099127505,-1107348220)+W(1,-1121094224,-1105652573,1043659283,1041707116)+W(2,1044208414,1029276252,-1113478482,-1103913530)+W(3,-1107481241,-1121409754,1039741986,1046852514)+W(4,-1097605967,-1100723463,-1113016318,1040539139)+W(5,1032545388,-1115290924,1043551606,1044710619)+W(6,1029619500,-1122925746,1000206250,-1120477164)+W(7,1013015214,950366748,994694705,-1133641268);sum2=W(0,1034130054,-1120175931,-1105723160,-1094008764)+W(1,1011760553,-1124103013,1042930394,1031813868)+W(2,1064201383,1002356625,1052425931,-1087139249)+W(3,-1131636845,1006833373,-1098172076,-1110465854)+W(4,-1089869944,-1114835724,1034445536,1056772124)+W(5,1007319139,1014923704,-1102352886,1043061462)+W(6,-1123264660,-1129286431,1037095176,1012087213)+W(7,1016549099,993051546,-1111397998,1040830367);WS(1061928770,1027279769); +sum1=W(0,-1100123699,-1162686055,-1113862823,1034406912)+W(1,1033006716,-1128579510,-1109708970,1029564087)+W(2,-1096018034,1056786929,-1111710246,1039933724)+W(3,1007368299,-1109765633,1037263862,1050604450)+W(4,1056534441,1044907121,-1109997378,-1111349982)+W(5,-1113416432,-1101798872,1038664521,-1098017894)+W(6,1022437288,1031029722,-1114279935,-1113344954)+W(7,-1105438789,-1113862289,1027389387,-1116167797);sum2=W(0,-1115270559,1031363022,-1108403600,1026006751)+W(1,-1130316822,-1139293944,1033798448,1024783342)+W(2,-1104904057,1031769509,-1122004937,1035073774)+W(3,1025961213,1021529214,1039898935,1037041630)+W(4,-1106336513,1027760004,1015050843,1035952663)+W(5,-1112547455,-1096601581,1027825620,1057393141)+W(6,1019789656,-1118390529,-1133483016,-1124438030)+W(7,-1105185563,-1106336479,-1128829234,-1121305243);WS(1053752708,1043937257); +sum1=W(0,-1105170221,-1098204331,-1112521242,-1114168512)+W(1,-1109039567,-1113606305,-1104934543,1031197758)+W(2,1046102006,1066642253,-1095288434,-1097902456)+W(3,-1098767200,-1089903115,1070561411,1042705158)+W(4,1054367941,-1100810554,-1114520925,-1094410051)+W(5,-1100846418,-1108028099,1032266099,1038022813)+W(6,-1121904763,1031167873,-1105295129,-1115668990)+W(7,-1115062077,-1118408200,-1123380722,-1114135854);sum2=W(0,-1090786559,-1094418907,-1144787532,-1113064749)+W(1,-1136678198,-1129681067,-1102980167,1038982572)+W(2,1009808406,1053253351,1041111385,-1115681675)+W(3,1023762114,1035936399,1054413523,1041806798)+W(4,1015714915,1020895003,-1136936214,-1130408019)+W(5,-1114747797,1001107148,-1114777947,1024043560)+W(6,-1117683238,1028089270,-1121651306,1022660811)+W(7,-1129865467,1019986163,-1123371786,1021536435);WS(-1077899937,-1095640595); +sum1=W(0,1032811586,1036208246,1026389718,1038010313)+W(1,1033727032,-1117534996,-1123908524,-1097475626)+W(2,-1100196466,-1112596654,1038149954,1040451742)+W(3,-1116405267,1043001855,-1096170677,1051006893)+W(4,1057575303,1025151035,1041468735,1012098034)+W(5,1035677341,-1122502968,-1102384270,-1089360567)+W(6,-1108998502,-1117388883,1035936827,1036152598)+W(7,959089718,-1122221082,1019229383,-1117118702);sum2=W(0,1037203464,-1111295182,1031626038,1014408115)+W(1,1006518986,998532726,1033188726,-1112987386)+W(2,-1111204470,1046645930,1024306585,1042237958)+W(3,1002908510,-1142339005,1040504174,1033012571)+W(4,1036175171,-1102667672,-1108949069,1005347958)+W(5,1028667874,1028194944,-1113110436,1022488131)+W(6,-1105300490,-1098212068,-1155665460,-1129272561)+W(7,991631364,-1118275484,1026136762,1012028387);WS(1052188868,-1105025774); +sum1=W(0,1053332527,1046329385,-1127133881,1026006805)+W(1,1016895952,1015047702,-1102124985,-1093124457)+W(2,1054121990,1041936861,1039605133,-1111238899)+W(3,1031180874,-1123947762,-1108714798,-1093232644)+W(4,-1098161716,-1100202284,1027868467,1036489378)+W(5,-1116894641,-1100188956,1042303686,1047964177)+W(6,-1114580002,-1112308133,1040022103,1028341284)+W(7,-1114267170,-1120167377,1033044781,1042593657);sum2=W(0,1038124206,-1111850856,-1090155459,-1098242390)+W(1,-1146833441,1015159009,-1110800852,1035251585)+W(2,-1111691725,1045262621,-1083172772,-1080159437)+W(3,-1114532383,1037947101,-1116129960,1033462452)+W(4,-1107342132,-1115094311,1066420271,1043663143)+W(5,-1115149205,-1118954060,1036826747,-1117401930)+W(6,1045364599,1039539139,1052081121,1065821018)+W(7,-1159263732,-1144829650,1031476522,-1121811075);WS(-1102870152,1022622513); +sum1=W(0,-1105950504,-1108831748,1035394969,1055644087)+W(1,-1099940547,1029691760,1043185370,-1114669622)+W(2,1041190721,1039545500,1045987408,1045649819)+W(3,-1105006556,1034170571,-1093030704,-1098060649)+W(4,1049616144,1056957379,1031111560,1030573816)+W(5,1028754581,1032315050,-1084377448,-1093912525)+W(6,1047436506,1055423038,1041054212,1035095156)+W(7,1008186016,1002093997,-1094643096,-1093512673);sum2=W(0,1070336926,-1098862516,1037387540,-1084145430)+W(1,-1086613448,1056626754,-1095516697,1055168354)+W(2,1050914492,1068317532,-1096604175,-1091365810)+W(3,-1097405209,-1099937369,1069441477,1050568943)+W(4,1054262144,-1083131387,1043123500,-1095647742)+W(5,-1106692290,1045945631,-1085743049,-1090345251)+W(6,1046449081,-1081281727,1053814194,-1106696806)+W(7,-1106594556,1058187197,-1086819148,1048225937);WS(-1069426976,-1120848841); +sum1=W(0,1037072255,997868135,1035259664,1036938172)+W(1,1032159990,1025792718,1049019033,-1103659451)+W(2,1031706371,-1092031243,1052190352,1047028417)+W(3,1020529436,1049696791,-1081236347,-1095105906)+W(4,1045414333,1026900661,1039915051,1041456894)+W(5,1038916826,1035011641,1032303833,-1090672009)+W(6,-1119324359,1015048091,1036563112,1015525967)+W(7,1039253091,-1145253028,-1146656500,1008361890);sum2=W(0,1029191442,-1132163681,-1130807793,-1131675185)+W(1,1024984252,-1115031522,1018117017,-1114450600)+W(2,-1115933340,-1086087178,-1119117212,-1137547874)+W(3,1037592454,1006729954,1063181450,1033829647)+W(4,-1112002886,1014175682,-1139313154,-1138868050)+W(5,1017409241,-1134939410,-1143924164,1026390676)+W(6,1023290113,-1135148482,-1144490820,-1127085641)+W(7,-1125048401,974288160,1007342770,-1138352802);WS(-1092511940,1056045775); +sum1=W(0,-1122413709,-1107220477,1036571263,1034351639)+W(1,-1109413949,-1128037178,1031880235,1034842253)+W(2,-1123595634,-1099810889,1044122211,1026078569)+W(3,-1106487287,1038991202,-1106066347,1048156900)+W(4,1052039823,1050308552,-1113387827,-1145831724)+W(5,1016305349,1039930976,-1095462256,-1096815763)+W(6,1032192235,1047960215,-1119385695,1018446892)+W(7,-1145490603,-1115254417,-1105858435,-1104039774);sum2=W(0,1017418680,-1145267460,-1125984965,-1129634341)+W(1,-1086264457,-1078809375,-1108053053,1033383321)+W(2,1019434782,-1112808134,1032304695,-1131211232)+W(3,-1073693037,-1098879629,1017461836,1035592777)+W(4,1027589163,-1164412329,-1135310730,-1126835561)+W(5,1071963841,1073307463,1048432434,-1125819067)+W(6,1012340975,1024240430,-1115706548,1030376830)+W(7,1053688201,-1110470100,1037084632,-1132396034);WS(1042257800,-1115776325); +sum1=W(0,-1107281138,-1098526814,1032352980,-1146926115)+W(1,1010013391,-1117084567,1045994468,1038400362)+W(2,1043068219,-1109412128,-1114314051,-1109330569)+W(3,1043908518,-1120663934,-1144690495,-1111135982)+W(4,-1097266597,1039093055,-1111850704,1039411448)+W(5,-1098521248,-1122589083,-1128243973,1057956169)+W(6,-1100632132,-1104810789,-1123393177,1040829028)+W(7,1029880783,997333453,1025450855,1048043508);sum2=W(0,-1139977433,-1118253197,-1131137316,1029402915)+W(1,1041328458,-1112092070,1040550677,-1102627522)+W(2,-1122896144,-1122404168,1023173531,1031911869)+W(3,1058291503,-1087193418,1061434285,-1088615745)+W(4,-1098422336,1037623928,-1123803784,1023792141)+W(5,-1072676007,-1079538943,1067804318,1075510495)+W(6,-1106514445,1036548666,-1128776324,1014267385)+W(7,-1106625048,-1107997040,1035151624,1045458757);WS(1062572194,-1113128476); +sum1=W(0,-1105909778,-1098454710,1032745069,1025054504)+W(1,1030405814,-1107189334,1048922046,1035303099)+W(2,1040855323,-1102647392,-1115121012,-1111717923)+W(3,1047137430,-1120733568,1030883818,-1111940687)+W(4,-1094658254,1048800872,-1108655721,1039928305)+W(5,-1102007432,-1121522301,-1114397119,1056642050)+W(6,-1098634802,-1107065062,-1121873307,1042636501)+W(7,1030940241,-1129454014,1028123977,1045405821);sum2=W(0,-1138228901,1029828517,1015935669,-1114559261)+W(1,-1102431407,1036930870,-1107208114,1049277284)+W(2,-1110320033,-1095660939,1034980574,-1119968612)+W(3,-1086736101,1061616421,-1090290563,1062476231)+W(4,1043622789,-1103434641,1031387619,-1134322843)+W(5,1075586093,1068626110,-1079628774,-1071408041)+W(6,1043842027,-1104010102,1028413753,-1130912561)+W(7,1036267766,1043722127,-1110973692,-1100585862);WS(1060774594,1031131703); +sum1=W(0,1045023814,1048858052,-1105426838,-1107942447)+W(1,-1109726834,-1115599332,1019498368,1022102280)+W(2,1057375412,1053310638,-1108928460,-1102134060)+W(3,1024119623,-1117349999,1054202179,-1089780107)+W(4,-1086363546,-1121814959,-1109912496,1030069408)+W(5,-1105657043,-1112636534,1045750878,1056436400)+W(6,-1121700033,-1112979299,1016389396,-1111247296)+W(7,1020787328,1034439495,-1115080444,1017717699);sum2=W(0,-1115841609,1015990489,-1117613837,1036474850)+W(1,1027456791,-1155010952,-1121605429,-1115206474)+W(2,-1114813616,1046600726,-1124280889,993333704)+W(3,-1115442992,-1145891812,1051997378,1041891165)+W(4,-1127188969,-1101686418,-1147158916,-1120272689)+W(5,-1135549634,1009536026,1035140408,-1122067781)+W(6,-1106242516,-1111325506,1006917274,-1136721538)+W(7,1019245009,1017045509,-1113122752,1020051521);WS(1060194466,-1100017114); +sum1=W(0,-1105747811,-1101985628,-1110455654,-1107280066)+W(1,-1103466926,-1106475814,1043733237,1059466063)+W(2,1018718942,-1106901713,-1102634810,-1108454907)+W(3,-1106517942,-1094721336,1036011765,1057500851)+W(4,1046100821,1055521256,-1103041901,-1103570769)+W(5,-1110005824,-1108487663,-1113318903,1016328357)+W(6,1047438565,1059153514,-1103753711,-1108837738)+W(7,-1116101330,-1118902112,-1111475141,-1139455183);sum2=W(0,-1116481221,-1123533287,1016306377,-1134258178)+W(1,-1123729210,-1124034546,-1130975497,1032034504)+W(2,-1150894505,1050682292,-1121134035,-1119701101)+W(3,-1119840142,-1118895679,1050657130,-1129842733)+W(4,1003934853,1016401385,-1123898542,-1110905440)+W(5,-1115758498,-1135589646,-1114630639,1032136922)+W(6,1010383122,1025651043,-1131815221,-1120388479)+W(7,-1140270714,-1126135829,-1115813895,-1135861370);WS(-1094780356,-1096037829); +sum1=W(0,1051641704,1048993133,998269945,-1094564683)+W(1,-1109647669,1034946343,-1097112145,1042321778)+W(2,-1105882161,1021385644,-1099790159,-1106439374)+W(3,-1120792141,-1101585581,1039341071,1049078036)+W(4,-1110801281,-1093602407,-1116696534,1039955171)+W(5,1020526630,-1124429730,1056382370,1035258371)+W(6,1040928722,-1094848202,-1132274079,1026955814)+W(7,-1106396689,1027970323,1053064740,1035779188);sum2=W(0,1029577680,-1107142480,-1129205035,-1137596463)+W(1,-1113448033,1012914617,1015352075,1038439017)+W(2,1047351132,-1098569120,1039861741,-1126343315)+W(3,-1114069586,1046610276,1073186805,1070713407)+W(4,1038608299,-1116615219,-1123052878,-1126312459)+W(5,-1144677526,1007385420,-1073950732,1038004689)+W(6,-1112533224,-1107291575,-1125851727,996868828)+W(7,-1108941862,1037961064,-1107100148,-1077903771);WS(1053603780,-1115461008); +sum1=W(0,-1097293942,-1095449155,1030817204,-1137418943)+W(1,1014991997,-1134044169,1046317951,1049585228)+W(2,-1092155167,1049349309,1021933093,1016256157)+W(3,-1118818050,-1129232467,1058232189,1056038503)+W(4,-1125654285,-1107838901,1024187323,-1107174285)+W(5,1020919504,1042320778,-1104780729,-1109114845)+W(6,-1112035518,-1115980033,1027865701,-1121722108)+W(7,1033110781,1040979266,-1096840466,-1104946775);sum2=W(0,-1115237141,1031925962,-1122607696,1033231462)+W(1,1022510111,1016053183,-1115623012,-1111323807)+W(2,1042960949,1053325526,1021774826,-1126070520)+W(3,999155791,-1130112624,1049744257,-1119706606)+W(4,-1107200469,-1112013861,1023918789,-1120788802)+W(5,-1116359926,-1115047971,1026671690,1005054791)+W(6,-1114604471,-1120863174,-1155086158,-1127228708)+W(7,-1133439199,-1114777589,-1119270266,-1107279270);WS(1049944452,-1118177299); +sum1=W(0,-1113835168,-1117712807,1034605113,1004954534)+W(1,1036431958,-1113909672,1044152226,-1131743895)+W(2,1049772083,-1089565448,1046072096,1042179871)+W(3,1034469319,1047091406,-1102704504,-1105992217)+W(4,-1087875066,1028249398,-1115172412,-1119832136)+W(5,-1117867957,1037431354,1023284205,1051885673)+W(6,-1115173764,1016032028,-1125265763,1021914321)+W(7,-1128742159,1027934165,1023720959,1032417701);sum2=W(0,1053033259,1033866732,-1102028824,-1122048832)+W(1,-1100778293,1033801710,1014156522,-1121809206)+W(2,-1083784972,1035235216,1042109429,-1098388207)+W(3,-1112352078,1046653262,-1104400409,1055740053)+W(4,1056376564,-1103367787,1035691269,1037898289)+W(5,-1111071353,1025902829,-1120368299,-1126110057)+W(6,1034674212,-1128193065,1026959129,-1120157845)+W(7,997672170,-1153716682,984939091,1015248281);WS(-1165444096,-1119710264); +sum1=W(0,1051115175,1042802936,1034244741,1042994118)+W(1,-1108071955,1032455940,1040688824,-1098028621)+W(2,1051394930,-1114386041,1041081798,1037778378)+W(3,-1120702728,1029133552,-1087521946,-1088773549)+W(4,1044466585,1039392600,1044760836,1016348739)+W(5,1045508004,-1117660781,-1102706330,-1089153334)+W(6,1042064672,-1111502020,1049969601,-1126699940)+W(7,1043978432,-1112358151,-1112154588,987979863);sum2=W(0,1060341068,1041247352,-1169925094,-1113048377)+W(1,-1107478445,-1121919154,1057359743,1067872749)+W(2,999982909,-1081289783,1022227231,1033233769)+W(3,-1112420946,1030919570,-1075624869,-1089189226)+W(4,-1090689511,1036288861,1025958326,973479782)+W(5,1049895882,-1108655271,1048635178,-1088323315)+W(6,1044034366,1055733822,-1108998850,-1175748301)+W(7,1042449401,-1098757157,1060416891,1052769876);WS(-1077066897,-1138646112); +sum1=W(0,-1092381223,-1106693383,1009759453,1024267775)+W(1,1025453154,-1118474373,1027242622,1053014632)+W(2,-1096180043,1042083852,-1105412061,1034803609)+W(3,-1149202983,-1101608091,1053447283,1051220983)+W(4,1031147625,1050244398,-1104989395,-1118414542)+W(5,1010847661,-1113932053,1023828386,-1105039519)+W(6,1024065726,1045342865,-1099033634,1000523125)+W(7,1023831870,-1113130950,1028746421,-1110843104);sum2=W(0,1032969077,1032956180,-1133465912,1013870164)+W(1,-1105627059,1037977967,1076869477,1050672871)+W(2,-1118666398,-1095979039,-1118337904,1030888661)+W(3,1017901782,1026329625,-1069322680,1063553933)+W(4,-1102611716,1041525268,-1156287199,1030672570)+W(5,-1169512700,-1153801247,1026168517,-1088200357)+W(6,-1121602320,-1129518532,-1145191680,1014316520)+W(7,-1126632288,1031405165,-1120095414,-1129519600);WS(1059038658,1028594353); +sum1=W(0,1027001704,1035531624,-1132336275,1030613999)+W(1,1046010101,1026431736,-1094328658,-1089493909)+W(2,1032402678,-1152158733,1038489844,-1117493948)+W(3,1043051950,1044337864,1052296065,-1106243079)+W(4,-1098315241,-1088517514,1044643916,1028206993)+W(5,1028671678,1032918142,1049587060,1042911580)+W(6,-1103996748,-1091506711,1043840791,1007880004)+W(7,-1137633217,1036291743,1044000434,1035409673);sum2=W(0,-1105269646,-1109062791,998383694,-1118922878)+W(1,-1110275215,-1111322692,1002191246,1050974192)+W(2,1013977255,1052555170,-1123342062,-1117830208)+W(3,-1114811922,-1114439732,1051646415,1046707356)+W(4,1041098100,1040874722,-1124252768,-1109116635)+W(5,-1108145020,-1121186646,-1098775079,1036678597)+W(6,1030669290,1040986964,1026377322,-1104593856)+W(7,-1115485971,-1115223671,-1098750401,-1122565606);WS(-1089038754,1070610314); +sum1=W(0,-1112569734,-1099849389,-1126323612,1006818038)+W(1,1038135388,1043645143,1036085850,-1110914124)+W(2,-1090696922,-1101892281,-1107760774,1015379312)+W(3,1040122382,-1118717763,1045400523,1053776546)+W(4,1028620400,1047988033,-1104391397,-1110158738)+W(5,1002760462,1016954112,-1132043583,1040930437)+W(6,1043536901,1039930893,-1113068735,-1114553627)+W(7,974497054,-1139206280,-1114659286,-1119469430);sum2=W(0,1029972206,1020623843,-1119340063,-1120363159)+W(1,-1111466112,-1099605665,1026762268,-1135126990)+W(2,-1137841818,-1094446255,1035843986,-1119078724)+W(3,-1102195223,1042926586,1017486399,1064611900)+W(4,1049035968,-1128810267,-1106992039,1035175754)+W(5,1014516782,-1112006203,1039608352,-1094749382)+W(6,-1123633215,-1123131987,-1129270833,-1128507307)+W(7,-1136077530,-1129209333,-1197948696,-1194223384);WS(-1120775200,-1094115106); +sum1=W(0,-1112921839,-1099947345,-1133090109,-1117113151)+W(1,-1107062579,-1151313622,-1097096777,1046145098)+W(2,1050818928,1057531117,-1098081804,-1096583070)+W(3,-1100319675,-1094480203,1067142180,1048882552)+W(4,1051254629,-1098660371,-1119648950,-1092969217)+W(5,-1100195749,-1111825641,1035250696,1054137781)+W(6,926574177,1035449878,-1105675228,-1113650835)+W(7,-1118408614,-1114839546,1024424221,-1115652196);sum2=W(0,1031116535,-1113707943,1002183233,-1122846232)+W(1,1030028661,-1116699784,1034244245,-1118531646)+W(2,988543074,-1080457005,-1112395279,-1129631292)+W(3,1039671963,1037992478,1064104967,1027624889)+W(4,-1097715519,1037716560,1001287537,1009610216)+W(5,-1115290878,1016046512,1011412016,1052372051)+W(6,-1112112395,1031806339,-1139829356,-1122731504)+W(7,-1122589730,1022404309,-1128697528,1031591085);WS(-1083041826,-1088446577); +sum1=W(0,-1138041180,998832115,-1139686881,-1112868382)+W(1,-1123809603,1007627162,1026886463,1041478665)+W(2,-1108164766,-1106005004,1035817611,1037998481)+W(3,-1137074328,1036557383,-1092605991,1018740405)+W(4,1054394898,1042585939,-1112414119,1028314191)+W(5,1043199331,1016960213,-1105339656,-1096954228)+W(6,1037009680,1027830053,-1152205450,-1123391616)+W(7,949272012,-1161448845,-1128384493,-1122534560);sum2=W(0,-1080772886,-1080108640,-1112615912,1036010005)+W(1,-1113551367,-1118689741,1033469827,-1110295637)+W(2,1042883784,1067023817,1026422893,-1108103320)+W(3,-1123719569,1039881895,-1106557392,991295446)+W(4,1065911618,1043418298,-1112407780,1043952518)+W(5,1028046949,986544491,-1113416335,1015020021)+W(6,-1121396391,1019038275,-1142574731,1025610945)+W(7,1028536389,-1114551687,1027619053,-1118133995);WS(1059656866,1032254503); +sum1=W(0,-1087438145,-1096624519,1032901415,1051132033)+W(1,1047684766,1031967406,1045530925,1040121644)+W(2,-1093591378,-1092342973,1051046262,1050001035)+W(3,1044069767,1050005760,-1096329486,1040228252)+W(4,1024747921,1042870865,1041030197,1024623477)+W(5,1045316401,1048633756,-1092498854,-1100479077)+W(6,-1112612011,1037509038,1040932616,-1129401004)+W(7,1041789317,1050363772,-1089145703,-1100524478);sum2=W(0,1054927280,1004192518,-1120765513,1033723840)+W(1,-1110893464,-1117945313,1009606707,-1094930774)+W(2,1032813206,-1097617496,-1121736497,-1151198348)+W(3,-1111742424,-1121652889,-1096835022,1018976553)+W(4,994767756,1024454465,-1111733852,1020727265)+W(5,-1144829382,1030389401,1049726638,-1114598300)+W(6,-1124374145,-1107458988,-1112033268,1010605379)+W(7,-1120942585,1035752486,1057385902,1040837102);WS(-1076352721,1061176787); +sum1=W(0,-1095051668,-1094852257,1039493528,-1115567878)+W(1,1038434246,-1116442287,1040618482,1047858891)+W(2,-1086623624,1044286862,1022350014,1037423542)+W(3,-1114755255,1022609452,1036068672,1057001770)+W(4,1057477914,1049595083,-1123591576,-1114677168)+W(5,1037805114,1044588197,-1095930750,-1086915318)+W(6,1036655988,1044280124,-1114839417,-1143365955)+W(7,1031697064,-1119274549,1029598047,-1108386213);sum2=W(0,-1104206436,1012246375,-1109735653,1018488840)+W(1,1004158510,-1122544930,-1117505825,-1111729053)+W(2,-1114523900,1056346033,-1112517262,-1113462230)+W(3,-1111468709,-1133433375,1051780099,1042992721)+W(4,1029007760,-1106712811,-1112282852,-1108529674)+W(5,-1114816198,-1136000711,1035563022,1042618199)+W(6,-1113168793,-1115338003,1011039855,1002563934)+W(7,-1122022613,1037211560,-1112797570,1024458488);WS(1037340944,-1121222187); +sum1=W(0,1040689218,-1110298712,-1118176747,-1116495838)+W(1,-1106495021,-1119752153,-1106426924,1036502651)+W(2,1052341602,1064260668,-1094205341,-1096308023)+W(3,-1097659059,-1089978464,1068943083,1044624667)+W(4,1052009702,-1100646016,-1115640417,-1095502171)+W(5,-1099820424,-1108261518,1004526500,1045175252)+W(6,-1117627026,1026863896,-1105702479,-1112496425)+W(7,-1110958217,-1111070831,-1112879076,-1108867801);sum2=W(0,1043920878,1045056865,-1134403694,1002312827)+W(1,-1124888335,1019347263,-1120905299,-1113959010)+W(2,-1107896626,1060319926,-1105297347,1025097519)+W(3,-1120916959,1028583233,-1100397803,1031903433)+W(4,-1100756735,1018292031,-1117960999,1007461646)+W(5,-1119634731,-1134844462,-1106899263,1042137547)+W(6,-1136355134,-1108036266,-1129847887,-1123847191)+W(7,998264859,-1109200858,1033071013,-1119650359);WS(-1087648930,1056984912); +sum1=W(0,1048727276,1043573475,1027762677,1027950097)+W(1,-1111974664,1024202483,1015678999,-1101873716)+W(2,1051177331,-1092810048,1043195617,1025406415)+W(3,1016025318,1050173331,-1082302860,-1091649404)+W(4,1038252876,1044809191,1031391740,1035903278)+W(5,-1156961168,998750650,1038200652,-1097139061)+W(6,1035706934,1020597221,1033673899,1023913741)+W(7,1023377112,-1114494621,1041744649,1042041459);sum2=W(0,-1109665959,1017090586,-1113891962,1035604443)+W(1,-1121529027,1006860245,-1115818981,1027481873)+W(2,1033553543,1061263788,-1130359386,-1155240851)+W(3,-1124657042,1039189933,1027230949,1023852497)+W(4,-1109330568,-1106256683,1028100153,1025386829)+W(5,-1123139111,999905578,-1113120233,1041592808)+W(6,-1097657183,-1118236009,-1126789482,1016774458)+W(7,-1132638677,-1109638591,-1121071325,-1101411950);WS(-1090940868,1045539156); +sum1=W(0,-1111842948,1036262295,-1122547977,-1125495305)+W(1,1033322010,1021788462,1017057054,1024315123)+W(2,-1083395945,1050733040,1022396558,1049435900)+W(3,1041875702,1032259903,1016653136,1046781659)+W(4,1050803832,1023164412,-1113477720,1034779456)+W(5,1045300311,-1103054087,1044787970,-1084181811)+W(6,-1141132416,-1119150102,1017461170,1025152496)+W(7,-1119238479,-1121753565,1039405571,1025666193);sum2=W(0,-1154701652,1045060155,-1115334877,-1111850352)+W(1,-1128983709,-1109145509,1033609440,1008422401)+W(2,1053683311,1041887968,-1131783421,-1101312255)+W(3,1041457249,1009316297,1047082317,-1090718168)+W(4,-1090960245,1034919558,-1121261620,1037660946)+W(5,1037394704,1030040522,1036748070,1034433310)+W(6,-1118627401,-1117531173,-1118719808,1008969141)+W(7,1034723828,-1122112519,998924330,-1109720341);WS(1058382658,-1101786424); +sum1=W(0,1020557616,1040419632,-1139041509,-1110270554)+W(1,1010032145,1021044303,-1110579152,1042446649)+W(2,1039037886,-1089217895,-1114587164,-1106470550)+W(3,-1107378131,-1101971332,-1102603214,1052788411)+W(4,-1116816379,-1098005290,1031022672,1023988544)+W(5,-1110520967,-1136091053,1048850952,1052497916)+W(6,1030444000,-1105928314,1026679274,1028924449)+W(7,-1142630143,1036784631,1042985742,1041387232);sum2=W(0,1021048143,-1117334358,-1116694246,-1122331173)+W(1,-1141905806,-1109719947,1034622720,-1121426033)+W(2,985385246,1058597177,-1106162040,-1133055086)+W(3,-1111398337,-1092732322,1062397265,-1111822939)+W(4,-1096472079,1040447045,-1119866494,1033705060)+W(5,-1104483430,-1148551778,-1124693001,1007125953)+W(6,-1107345628,1011504527,-1119480360,1019582103)+W(7,-1142669219,-1124513225,1026572561,1025700470);WS(1062970978,-1081266569); +sum1=W(0,1049067654,1049251698,1026249566,-1102316771)+W(1,986432279,1031488060,1039432874,1040583110)+W(2,-1100292756,-1086541140,1037424006,-1104248914)+W(3,1034368766,1046796153,-1096033842,1040278772)+W(4,-1092317470,-1101422105,-1122189220,1035596338)+W(5,1039493185,1029733120,1049598341,1045287213)+W(6,-1130063849,-1103019359,1006845944,1016727466)+W(7,-1132489681,1032483937,1042202275,1043296141);sum2=W(0,-1092863213,-1095439435,1024987284,-1108138297)+W(1,1020893591,1030342296,-1107350452,-1134447463)+W(2,1054820060,991870971,1038311792,-1107013954)+W(3,1023656240,-1145193326,1058790229,-1104627754)+W(4,1019051815,1003248078,999045582,-1140508767)+W(5,-1111721419,-1124168067,-1113643053,1049499199)+W(6,-1122507350,-1120196608,-1139420079,1010876103)+W(7,-1111078930,1036851190,-1107048418,1040683258);WS(-1090709444,1049440503); +sum1=W(0,1025170444,-1102968365,1009000949,-1112814366)+W(1,-1116166456,1013557870,-1107658202,1021129071)+W(2,1054801672,1055216649,-1098104133,-1102384190)+W(3,-1112664461,-1102466049,1055155742,-1108358704)+W(4,1007027006,994631719,-1117987732,-1100420271)+W(5,-1093799886,-1139587454,-1115514619,1062491877)+W(6,-1122456724,1037835469,-1118237822,-1108681738)+W(7,-1112800010,-1119596065,-1137063726,1032182427);sum2=W(0,-1125700925,1031004177,1011116525,1010269627)+W(1,-1124401971,-1139731999,-1111184590,-1129465449)+W(2,991734042,1056735713,1023655690,1031226256)+W(3,-1123603568,-1106780773,1007034923,-1090395945)+W(4,1023598587,-1116020697,-1139919503,-1117593255)+W(5,1032362667,1019563835,1044588818,-1114530604)+W(6,1030692092,1014084462,-1132337311,-1131886173)+W(7,1016903156,1003383541,1027760305,-1118660887);WS(1052605444,-1096548047); +sum1=W(0,-1099989408,-1107118442,1014261129,-1135269079)+W(1,-1157809579,1034237928,1022832721,1035141158)+W(2,-1095069609,1004173259,1017149121,1035728362)+W(3,1014945855,1022065263,1042230040,1036930738)+W(4,-1102684265,1026600311,-1106055602,1022065234)+W(5,-1149699425,1033708682,-1123731628,1051854441)+W(6,1029280393,-1114974728,-1120275059,-1122459306)+W(7,-1120230985,1040542518,-1108029264,1039321653);sum2=W(0,-1078862437,-1076350607,-1102121527,-1139099893)+W(1,-1129576496,1024729710,998819801,-1097588090)+W(2,1043522425,1067956735,1039987934,-1108414487)+W(3,-1134118593,1032654822,-1109442889,-1111980043)+W(4,1072447081,1053122067,-1096991255,1045186917)+W(5,-1118463242,-1124332658,-1115256553,1044036972)+W(6,-1111637970,1040872955,-1102163660,1033745090)+W(7,-1123595298,-1115579557,1044251533,1027886256);WS(1054231108,1025279114); +sum1=W(0,-1123453065,1039341944,1020186806,1020527399)+W(1,1049493415,-1160786718,-1119337841,-1096862627)+W(2,-1104689967,-1092316960,1046988234,1026191493)+W(3,1041541558,1041661776,1008801448,1034733383)+W(4,-1122753069,-1093206832,1041704764,-1147857037)+W(5,1034215919,1032223662,1050167121,-1108979241)+W(6,-1107112804,-1094240131,1039867950,-1120557618)+W(7,-1156220183,1036558383,1043962418,1027712531);sum2=W(0,-1121143571,1021067288,-1125155383,-1156731980)+W(1,1019039796,-1128517034,1024911074,1027150242)+W(2,-1101109237,-1079877582,-1140765671,-1153680156)+W(3,1036906894,-1110310177,-1088644111,-1096825521)+W(4,-1094350155,1058234221,1030176462,1018992688)+W(5,1019841700,1000349534,1052444813,-1113080073)+W(6,1064456596,1058386161,1018002108,1027890172)+W(7,-1128055622,-1134555143,1045751986,1024094624);WS(-1097731588,1025129315); +sum1=W(0,1037092684,-1118357663,972033083,1033609822)+W(1,-1125480775,-1113410371,-1139849211,-1099469177)+W(2,1046113067,1050865438,1025915127,1036940225)+W(3,1035911587,1047135499,-1143345853,-1089626010)+W(4,-1109542297,1047810219,1018117854,1037164536)+W(5,1038594118,1031924197,-1097851227,-1104510832)+W(6,-1111680192,1036701507,1021572178,1009743167)+W(7,-1146462713,-1120871309,-1110047355,-1113708160);sum2=W(0,1029789829,-1105084635,-1134630348,-1124965724)+W(1,-1132623148,-1123511646,1036116775,-1119672690)+W(2,1035852445,1050249105,-1143859545,-1138485084)+W(3,-1106888257,-1097411434,1057234226,1002738585)+W(4,-1114135764,1024721985,1030422253,-1133066340)+W(5,-1109817844,1017260494,-1117221657,-1115375290)+W(6,-1120848177,1033535897,1003464777,-1121255807)+W(7,-1118819718,1021514610,-1110249095,1007172972);WS(1064258306,1057427735); +sum1=W(0,1041288794,1002554246,1048078371,1046669668)+W(1,1024557366,1026345305,-1107049340,-1094345727)+W(2,1039217007,-1117262306,1043467602,1049007041)+W(3,-1126800432,1017273727,-1100296810,-1092155570)+W(4,1041191743,1037075392,1040278032,1032131185)+W(5,1027549470,-1136038899,-1100720075,-1101509636)+W(6,-1121877906,1026049048,-1135631084,995640096)+W(7,-1134767685,-1111532367,1034147956,1015117221);sum2=W(0,1062132206,1066099523,-1081609637,-1083389635)+W(1,-1127222139,1022631188,1053156114,-1122840851)+W(2,1066066300,1067427062,-1090363224,-1079976349)+W(3,1027246780,-1128121946,-1091867230,-1105997303)+W(4,1049064133,996873905,-1097029007,-1100056051)+W(5,1036294091,-1115106526,1048340523,-1103783968)+W(6,-1137063332,1035057689,-1118886369,1028030408)+W(7,1035025213,-1117772337,-1104392578,-1134953960);WS(-1082692450,-1121765493); +sum1=W(0,992292947,-1104534315,-1118487719,-1112587635)+W(1,-1121302066,-1121296341,1038416886,1015927970)+W(2,1049230729,1048175951,-1111631170,-1105756568)+W(3,1043167221,1037146590,1051898365,-1104867982)+W(4,-1089217933,1028715132,-1106833087,1036199927)+W(5,-1113442509,1030891673,-1104675396,1057590961)+W(6,-1121927694,1018481703,-1109370235,-1115752014)+W(7,-1121397517,-1113425325,1022215305,1012516667);sum2=W(0,1040868564,1021710972,1026098771,-1102561169)+W(1,-1123351116,-1125337962,1009959824,-1126923948)+W(2,1048116590,1041914200,-1113975834,-1149524831)+W(3,1024724387,-1123062396,1042300553,1037970343)+W(4,1051191259,1039729263,-1105234356,-1157274159)+W(5,1021621986,-1105344931,-1097615037,1032086087)+W(6,1018638481,1035375403,-1102778536,1008573990)+W(7,-1109718449,-1105611058,-1115667744,-1115639834);WS(1063145570,1065948321); +sum1=W(0,1042647928,1041877314,-1107415145,-1113780043)+W(1,-1113344071,1034763992,-1105577826,1023153433)+W(2,1043379605,-1105676766,-1125795137,-1103697695)+W(3,-1113485016,-1107021830,1058030732,1035095074)+W(4,-1093770877,-1098882227,1032469064,-1119226457)+W(5,-1116457366,1028002580,1047432094,1049757493)+W(6,1029896809,1007275454,-1148759702,-1118570362)+W(7,1033670420,1021171309,-1110160160,-1106671851);sum2=W(0,-1147652316,1034562054,-1119163512,1033443671)+W(1,-1114870166,-1126213983,-1110746439,-1122182070)+W(2,1044843888,-1082830049,1022262943,1032648925)+W(3,1033622730,1036499220,-1080473697,-1104224164)+W(4,1049609982,1025258841,-1125619769,-1121656898)+W(5,1042757767,-1125695843,1045148854,1070472721)+W(6,1030706970,1030898199,983397903,-1116250872)+W(7,-1109235057,-1105016797,1015661307,-1138594966);WS(1047808392,-1105857653); +sum1=W(0,1057255335,1050583338,1038664639,1036414223)+W(1,1019549874,1027946812,-1095111703,-1089047968)+W(2,1052085724,-1112577010,1045309491,1033646416)+W(3,1014185453,1038762993,-1088425805,-1090242223)+W(4,1049269098,-1101673225,1047007737,1028560677)+W(5,1038356881,-1120878336,1024927375,-1097592171)+W(6,1020504170,-1098667351,1052689664,1035626955)+W(7,1031636916,-1106190208,-1153489085,988289723);sum2=W(0,-1084160527,1035785784,-1114267734,1050181400)+W(1,1059321043,-1113170400,-1097051496,-1088778570)+W(2,-1094891239,1060354212,-1097894374,1015251419)+W(3,1035392846,-1098458292,1063793540,-1096397593)+W(4,1045924604,1054874631,-1098468098,1014394222)+W(5,1030978836,-1096505073,-1115217527,-1132415773)+W(6,1042828743,1063378281,-1092845444,1043075035)+W(7,1042772598,-1088082125,1051615858,-1098450150);WS(-1073783985,-1080098540); +sum1=W(0,1004414705,-1125334283,-1111733448,1012137476)+W(1,-1135747626,-1106294475,1040796537,994170013)+W(2,-1098951217,1058781709,-1095391448,1027546650)+W(3,-1105932043,-1097893467,1038631039,1045494048)+W(4,1056582836,1054585131,1030910366,-1107725963)+W(5,1027155091,1001385357,-1102018612,-1099332954)+W(6,-1118558951,1012935090,-1136391487,1024902311)+W(7,-1141795121,-1118975220,-1113109295,-1106829042);sum2=W(0,-1161174488,-1115268047,-1123969951,-1136577003)+W(1,1021768566,-1128609502,1023359390,-1123274403)+W(2,-1111829747,-1078035036,1039844510,-1126970134)+W(3,1026568479,1027511085,-1085317526,1034323377)+W(4,1072008544,1038025274,-1182117728,1037108170)+W(5,986504280,-1139830523,1032404118,1044555209)+W(6,1006927579,1013110307,-1107924935,1024145219)+W(7,-1127097094,1022685546,983390936,1024479257);WS(-1104974728,1024380720); +sum1=W(0,-1117883163,-1127535108,1021171896,-1117848102)+W(1,-1131530510,1031544042,1018298053,1036325571)+W(2,-1099610928,-1100771573,1036503965,1039153371)+W(3,982295861,1036843369,-1101972463,1041104624)+W(4,1043814114,1034691017,-1109841905,988770395)+W(5,1029874576,1031396654,-1107251369,-1133844875)+W(6,1034709362,1004793673,-1126175513,-1121562883)+W(7,-1125713989,1034135320,-1111468989,1025626276);sum2=W(0,1071281072,1072425553,1044163006,-1125393898)+W(1,1011595325,1021558362,-1125402454,1044770418)+W(2,-1104699996,-1078765241,-1110276988,1045704700)+W(3,1010524637,-1113439186,-1098423872,1018560910)+W(4,-1076152216,-1100004941,1044569612,-1099412627)+W(5,-1178088596,1019143058,1028856833,-1103281302)+W(6,1036033265,-1111185479,1037394103,-1115657155)+W(7,-1126446200,1026998165,-1117821699,-1123488110);WS(1066498257,1026989550); +sum1=W(0,1023571545,1024686464,-1123659738,-1129927868)+W(1,-1133253141,1025371048,-1143882757,1016605513)+W(2,-1084187390,1040895252,1002634947,1045121333)+W(3,1033458708,1032849928,1054068239,1042249043)+W(4,1040663099,-1115004776,970850411,1036944705)+W(5,1049903454,1024612748,-1120675276,-1089079196)+W(6,1024409057,1001199419,1004856149,1022709187)+W(7,1017685954,-1117202350,-1120648472,-1112524513);sum2=W(0,-1106434423,1038340354,-1155040203,1038138620)+W(1,-1117610677,1038431916,-1105689565,1014840059)+W(2,-1087069176,1064410985,-1094597030,1049419982)+W(3,-1115449783,-1117967352,1043321526,-1102609737)+W(4,-1110711879,-1112639315,-1117198782,1022703337)+W(5,-1107988055,-1112813855,1042536365,1043390477)+W(6,1026273617,-1123727669,-1121486321,-1132959015)+W(7,-1122022929,1031915394,1009362023,1036470844);WS(1059170114,-1115069681); +sum1=W(0,1039057944,1043197758,1031327889,1041126528)+W(1,-1125005432,-1184440086,1035998588,-1114418030)+W(2,1057495242,1035662548,1027929903,-1137442701)+W(3,-1107377807,-1131407372,-1092661254,-1086197480)+W(4,1036387882,1043295874,1045677858,1016336432)+W(5,1031309989,1017102598,-1097533773,-1098594899)+W(6,1020376880,1035357519,1040648584,1027533272)+W(7,1036182828,-1128058314,-1106979748,-1116322521);sum2=W(0,-1099457044,-1123134927,1035999136,1029223181)+W(1,1022472216,-1129014496,-1107153986,-1094833228)+W(2,-1106245137,-1115721168,1050206678,1032743888)+W(3,1034397600,1043654862,1029163621,1052844759)+W(4,1035536761,-1109098872,969652021,1030968394)+W(5,-1114537747,-1149928759,-1111905268,1046847142)+W(6,-1136790748,-1105152866,-1138117380,1018474295)+W(7,968266517,1033858063,-1102858563,-1116305850);WS(-1091215044,-1097536449); +sum1=W(0,-1088688205,-1110004986,1027816414,1036334229)+W(1,1049627927,1039037582,1025245044,1028067640)+W(2,-1088611549,-1085760696,1054850406,1046343318)+W(3,1048707955,1052669472,-1089807987,-1104070412)+W(4,-1113122464,-1115511970,1040414769,1041878433)+W(5,1043177720,1039929856,1024229024,990395721)+W(6,-1113420363,1034437006,1047750528,1017820267)+W(7,1044644789,1048578060,-1097347774,1028468150);sum2=W(0,1036847317,1042295753,1030624098,-1114440831)+W(1,1027069126,1021176355,-1115362087,1041890716)+W(2,1050034374,1031424194,-1132718391,988636086)+W(3,1029167466,1028661170,1016671019,-1113867927)+W(4,-1119733782,-1120554286,1016098323,1030310950)+W(5,-1183083952,-1108500823,-1097953797,-1130826523)+W(6,-1114648667,1035432255,1018716851,1024855622)+W(7,1027651154,-1106095247,-1096082463,-1146049358);WS(-1074893425,-1117971628); +sum1=W(0,1052023128,1049322869,-1152038187,-1094367290)+W(1,-1107223211,1034136520,-1097322793,1042452051)+W(2,-1111356283,999054287,-1098786216,-1103630563)+W(3,-1112379016,-1102728254,1040732760,1049675109)+W(4,-1106664801,-1093651375,-1114777697,1037656965)+W(5,1016544493,-1125564586,1057236855,1040645714)+W(6,1040611874,-1094570594,-1124130662,1025099466)+W(7,-1105965314,1008351835,1055134184,1040783587);sum2=W(0,-1116735450,1032892007,1021526755,1004001863)+W(1,1033584975,-1130001464,1024548251,-1111481570)+W(2,-1096890588,-1099974349,-1116175346,1018968138)+W(3,1026017190,-1121576034,-1071438395,-1073615974)+W(4,-1103015201,1040986630,1031843333,-1139174407)+W(5,-1164624762,1024580999,1076155388,-1146527383)+W(6,1035109709,1041412407,1009509771,-1131104448)+W(7,1043256283,-1106441216,1041860718,1074182350);WS(1040475912,1032695578); +sum1=W(0,-1112011377,-1123298122,-1155851319,-1124525022)+W(1,-1136466746,1035920825,-1102944834,1035534023)+W(2,-1091278169,1056532699,-1122500130,1035372099)+W(3,-1130626274,-1104812886,1041895809,1055301749)+W(4,1054708857,-1105035590,1033773669,-1172701842)+W(5,1028924087,-1111589035,1039100863,-1087252087)+W(6,1007501482,1026134833,-1116930196,1014757675)+W(7,-1142366545,-1110262076,1036316385,-1123874252);sum2=W(0,1041703749,-1123886114,-1119792870,-1109091355)+W(1,1010537508,1026411366,-1123320808,-1120034208)+W(2,1026232126,1049335147,-1102054262,-1111337413)+W(3,1015836410,-1098413574,1063803841,1045621744)+W(4,-1114718085,-1111978783,-1113960445,-1118550690)+W(5,1041947548,-1123461018,1016064880,-1088756378)+W(6,-1124340572,1020384670,-1109065069,-1142500624)+W(7,999681904,-1122952578,1030310973,1026268254);WS(1060902754,1050355625); +sum1=W(0,-1099711167,-1104333225,-1151083459,-1156790206)+W(1,975051222,-1120760458,1047935457,1048936605)+W(2,-1101534272,-1082482317,1023922682,1011568442)+W(3,1040804594,1043235660,-1103038759,1041411896)+W(4,-1107281952,1053813598,-1112644265,1024500211)+W(5,998453633,1030084558,1036831245,1049946264)+W(6,1025001795,-1116841801,-1104847739,1033389138)+W(7,1007099659,1035779080,1030797274,1037700978);sum2=W(0,-1106066969,1029646415,-1120633215,1036801640)+W(1,1051617655,-1128436081,-1094622159,-1098529900)+W(2,-1102845552,1020964885,1045612039,1043653368)+W(3,-1108268977,-1120809462,1062435502,1045091011)+W(4,1041841354,-1088569123,976462574,-1100846658)+W(5,-1127923721,-1115259155,1054359824,-1104869009)+W(6,-1101549413,1054633350,-1097687290,-1115109418)+W(7,1041018201,-1102739129,1044975639,-1101036113);WS(-1090140642,-1081743990); +sum1=W(0,1037549524,1009886528,-1130293844,1014408182)+W(1,-1148996265,-1107483388,1031805064,-1119977588)+W(2,1044394635,1037202321,1042594418,1031847606)+W(3,1015837167,1035016080,-1094879521,-1097431626)+W(4,-1117833212,1037634256,1035968392,1041618980)+W(5,1032499967,1034663662,-1101547735,-1119842097)+W(6,-1122700465,1015596142,1033368909,1009499077)+W(7,1017023585,1030806526,-1105308242,-1107123493);sum2=W(0,1013646496,-1120892227,1006912162,-1123785792)+W(1,1032589029,-1113324539,1034054467,-1105735433)+W(2,1057715626,1076150687,-1071648513,-1091554339)+W(3,1043157583,1029343874,-1110563164,-1103626228)+W(4,1069469884,1049558148,-1106043455,-1078529007)+W(5,-1120727508,1029688242,-1102425071,1025732222)+W(6,1035924910,1038760139,-1113325201,-1108743589)+W(7,-1120545616,-1123660578,1001130061,1028146935);WS(1055430148,-1108560690); +sum1=W(0,-1122962962,-1107101862,1035029338,1035961997)+W(1,-1109508687,-1114596033,1037435821,1001804274)+W(2,-1105458486,-1102453987,1041930516,1036894711)+W(3,-1105968336,1030068713,-1115462345,1049324163)+W(4,1050880022,1050461237,-1113968413,1018389269)+W(5,1023650152,1041307521,-1096034793,-1096234295)+W(6,1017425654,1049028992,-1119268932,1026969083)+W(7,1023939770,-1110794404,-1109268985,-1105484423);sum2=W(0,-1133145023,1000680715,1015626891,1020921672)+W(1,1057583079,1066461314,1038163303,967639540)+W(2,1034643892,-1106033700,-1149322267,-1131154511)+W(3,1070593780,1042500058,1027175814,1029820070)+W(4,-1155618307,1030350968,-1122484266,1005570725)+W(5,-1076733999,-1075365186,-1107328459,1050725869)+W(6,-1127714103,1027949553,1019773418,-1125609227)+W(7,-1095092572,1026351361,-1113454879,984351189);WS(1048611396,-1120253991); +sum1=W(0,-1104843595,1020368935,-1134442421,-1109906484)+W(1,1029221016,1014414830,-1116357012,1042068462)+W(2,-1102655324,-1096452233,1038629782,-1157090745)+W(3,1044033359,1052393436,1048790986,-1127594975)+W(4,-1094801150,-1098953977,1008425488,1019276152)+W(5,1029702657,-1137141374,1044903358,1026936628)+W(6,-1125379561,-1120481658,-1115994974,-1121251029)+W(7,-1117911220,1022285443,1042932491,1031973931);sum2=W(0,-1111784437,1036277891,-1143746400,-1129566974)+W(1,-1093517653,-1098527209,1047551505,1050813877)+W(2,1028988774,-1100779042,-1117052801,1036033029)+W(3,-1081514759,-1071648362,1077969880,1061486774)+W(4,1044450885,-1129810696,1038502321,-1123748463)+W(5,-1089190754,-1107152864,-1131992338,1055586292)+W(6,1034348699,-1108082071,1043607047,-1138810328)+W(7,-1111885211,1025200270,-1108034712,1040643987);WS(-1095808772,1065647947); +sum1=W(0,1055051378,1050045579,-1104862109,-1096536264)+W(1,-1101629224,-1139560206,-1106144343,-1152511995)+W(2,1051209263,1045989771,-1101730853,-1101976087)+W(3,-1118447811,-1101507019,1051130659,-1114400236)+W(4,-1096666661,-1098537885,-1106707963,-1126516760)+W(5,-1103658466,-1098960762,1057272194,1054814183)+W(6,1021791993,-1104774017,-1108125731,-1123882077)+W(7,-1106849375,-1104521538,1057816237,1047598263);sum2=W(0,1046325680,-1134514653,-1114352725,-1110633145)+W(1,-1121981161,-1115188107,-1145236426,-1106205960)+W(2,1030462840,1052343557,-1113576661,-1120367533)+W(3,1009337269,-1122467029,1052169724,-1121802017)+W(4,1028577898,-1127265311,-1111220567,-1147392026)+W(5,-1112707841,-1123885069,967975074,-1126550987)+W(6,1023140267,-1109705515,-1131596567,-1123261925)+W(7,-1109514951,1036097210,1019189507,-1125641651);WS(-1088656098,-1093593990); +sum1=W(0,1053407451,1046462824,1006243392,1009988669)+W(1,1009810317,1021367180,-1100605512,-1093246956)+W(2,1054487499,1043824044,1040203342,-1118924498)+W(3,1031892963,-1115326423,-1110184012,-1092703459)+W(4,-1107509853,-1099069067,1015251645,1030956655)+W(5,1009525296,-1102894371,1036164518,1041099456)+W(6,-1114843936,-1106663601,1034196708,1032654584)+W(7,-1121673919,-1120762380,1035276411,1040232112);sum2=W(0,-1111686548,1047338924,1057379920,1045046842)+W(1,-1123157156,-1122209414,1041926325,-1120613757)+W(2,1044625920,-1108706635,1065556520,1066661430)+W(3,1026048962,-1118064370,-1107659276,1010608356)+W(4,1040575208,1048831397,-1079104557,-1100359290)+W(5,1036917588,-1118722317,990146073,1029226052)+W(6,-1106604517,-1118381857,-1090732450,-1080513286)+W(7,999828841,-1128484108,-1148427089,-1122878530);WS(-1103417864,1032685901); +sum1=W(0,999140540,1021813182,-1101895278,-1113840082)+W(1,1025795300,-1104186210,1049323684,1026362243)+W(2,1050838637,1035808888,-1112947643,-1106883347)+W(3,1026463622,1015970396,-1115046028,-1123649147)+W(4,-1089518824,-1112862903,-1106874992,1045150312)+W(5,1028121997,-1114287989,1043843226,1051398592)+W(6,-1123587264,991482976,-1140285221,-1122615424)+W(7,-1148228092,-1125179546,1025625239,1032255888);sum2=W(0,-1107019340,1032004449,1041601968,1052414494)+W(1,-1118630717,1028135044,-1101889010,1021676257)+W(2,-1083281727,1048799024,-1094738093,1061231009)+W(3,994543087,1023423300,-1113266306,1040520305)+W(4,1060484354,1026094686,-1112254382,-1090047391)+W(5,1023744190,-1123297050,1047868927,-1097572834)+W(6,1028491114,1016363351,-1106989530,-1124055261)+W(7,-1134044699,-1135541243,1039531031,-1106439707);WS(1062251010,-1128406975); +sum1=W(0,-1114430084,998905218,-1117783082,-1122559590)+W(1,-1200477464,1030594936,-1122146129,1041522773)+W(2,-1117430765,1043264160,-1097132645,-1111223497)+W(3,-1117296696,-1108127936,1038499861,1049934150)+W(4,-1137238321,-1109365760,1027318465,-1118294493)+W(5,-1117164622,1008104625,1038350478,1040349396)+W(6,1012147781,-1112437644,-1142140116,-1122628178)+W(7,1016497826,1030977566,1022231761,-1161426505);sum2=W(0,1035048481,1029071818,-1125963325,-1117898288)+W(1,-1121110162,-1139107970,-1131842712,1015521050)+W(2,1058090849,1075259304,-1072766634,-1090182563)+W(3,-1131029094,1037152077,-1099596444,-1155119281)+W(4,1062748800,-1113008632,1030742992,-1084699977)+W(5,1018972128,1025197316,-1124623837,1015646848)+W(6,1039805619,-1113709765,1021721886,-1114032290)+W(7,-1127481518,1027813594,-1146515621,-1116189732);WS(1065708113,-1121751611); +sum1=W(0,1004700116,1033929377,-1113367966,-1151170552)+W(1,-1203182552,-1152107167,-1124121476,1029908854)+W(2,1028879143,1048992314,-1102777150,-1132161740)+W(3,985230639,-1118004497,-1106962671,1021289212)+W(4,-1130586604,-1123817297,1034637855,1008580363)+W(5,1024087440,1024857134,1010684790,-1145749780)+W(6,997138991,-1119780649,1029317996,-1122909571)+W(7,1018524741,1030859440,-1119558682,-1110778290);sum2=W(0,-1128031215,982756722,1007192988,1022085973)+W(1,-1176062153,1022708360,-1124806095,1012976820)+W(2,-1087213694,-1070139299,1078660314,1059325611)+W(3,-1120463845,1033425170,-1095156098,1030136738)+W(4,-1079390657,-1159362498,-1179370697,1067996709)+W(5,-1138793506,-1124014927,1019962283,-1131018297)+W(6,-1110724756,1028041806,1000911377,1033764027)+W(7,1016277465,-1138055830,-1121497459,1025926144);WS(1067144001,1026092834); +sum1=W(0,1049810486,1020396467,1014388109,1005864375)+W(1,-1120236446,-1132016387,1040462414,-1103125415)+W(2,1055042333,1042867979,-1100539124,-1110877439)+W(3,-1107048544,-1116193256,-1096204250,-1103579165)+W(4,1031992147,1044290490,-1126225268,-1110133357)+W(5,1010104860,1031444773,-1091768605,1048911295)+W(6,1034565181,1034066560,1016160519,1033891677)+W(7,1030176378,1031923300,-1112003369,-1114007278);sum2=W(0,-1123834023,1045671991,-1108591076,-1130823435)+W(1,-1114604843,1024976861,-1106172311,1036568073)+W(2,-1133291790,1058163296,-1095898825,-1112679806)+W(3,1033105292,-1122476787,1057311204,-1115701009)+W(4,-1100325346,-1113640367,1030441654,-1107310218)+W(5,1035411458,-1111920852,1044352434,-1097367248)+W(6,1016405480,-1116067001,1031713190,-1128226189)+W(7,1031834977,-1121017007,1014762708,-1106561364);WS(1057420226,-1092362255); +sum1=W(0,1044920519,-1144052776,1020346174,1032475105)+W(1,-1114304581,-1116794957,1027257637,-1103664666)+W(2,1052978802,1055322687,1019256762,-1121587297)+W(3,-1103967019,-1100439285,-1116373310,-1096869991)+W(4,-1104246416,1040777765,1033058515,-1123769862)+W(5,1018564517,1036089864,-1096789598,1028318277)+W(6,1016898380,1041983019,1030782351,1024808486)+W(7,1021198731,-1130998630,-1106323631,-1118572551);sum2=W(0,1016741405,-1130764191,1006994613,-1134184569)+W(1,-1102863001,-1103907912,1043863088,1020516693)+W(2,1033077740,-1112456708,-1134366153,1034914936)+W(3,-1084447988,-1076633620,1071901111,1060988002)+W(4,1043198162,-1132669129,1009154259,1033598449)+W(5,-1098165823,-1118646231,1018979141,1043355315)+W(6,1016038391,-1126067903,1021229932,989883430)+W(7,-1113048166,-1118544043,1022348007,1034096544);WS(-1105493768,-1082709441); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, -1), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 1), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -1), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 1), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -1), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 1), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, -1), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, 1), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns64, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns64, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1129953383,1052077971,-1115658697,1040079017)+W(1,-1100320116,1052646725,1056937139,-1112255447)+W(2,991372703,-1106109018,-1091236407,1039284509)+W(3,-1108390802,1030287040,-1112818013,1013856427)+W(4,-1102425550,1027055297,-1119789534,-1107150591)+W(5,1029401490,-1121552872,1033358144,-1089460941)+W(6,1043570389,-1111268755,-1097729145,1057992884)+W(7,1028923089,-1132036495,-1110301789,1044897031);sum2=W(0,1026461175,1041449883,-1118430023,-1108031914)+W(1,1041814131,-1076980873,1072973866,1032549274)+W(2,-1121140359,1028730196,-1111091488,1017353224)+W(3,-1138465879,-1127880506,-1121430441,-1132764107)+W(4,1027150813,-1122068949,1013768747,1012288055)+W(5,-1082819831,1036691428,1026059807,1049697467)+W(6,1027133694,-1116481805,-1152272302,1041587393)+W(7,-1141547063,1012449399,1025296987,-1122016279);WS(-1098744132,1034278418); +sum1=W(0,-1124165708,1041815523,-1145635621,-1103397220)+W(1,1026719460,-1092523700,-1099348442,-1110800938)+W(2,1032193166,-1088889154,-1100009602,1022646298)+W(3,-1136800346,-1098235958,-1104673163,1022064347)+W(4,-1120033612,1021903208,1050544938,-1105248316)+W(5,1047722705,994253234,1035939706,1050332487)+W(6,1057456646,992386946,1017012340,1037024150)+W(7,1051861685,1007925993,-1126668889,1045722836);sum2=W(0,1038271179,-1138123466,1051137052,-1097631923)+W(1,1038061501,1066995446,1047950529,1016052501)+W(2,1036023945,-1086456688,1052164534,-1098093629)+W(3,1049634734,-1088937960,-1092315790,-1103222197)+W(4,-1101382095,1030554459,-1103655169,1049915324)+W(5,1044310058,1039796029,-1103587135,1053016941)+W(6,-1097740488,1002073396,1022295275,-1101624661)+W(7,-1095498431,1037237655,1009745942,1025704121);WS(-1082862242,-1106529553); +sum1=W(0,-1136558799,-1134799464,1035507577,-1130854575)+W(1,1011297096,1017516694,1050921813,-1106220300)+W(2,1003802452,-1113237716,-1083278305,1032803517)+W(3,-1115833284,1036440480,-1166618304,-1130818358)+W(4,-1109420173,1040932752,-1121770975,-1111381151)+W(5,1058584025,1023914089,1042678624,-1090777253)+W(6,1038764911,1024022374,-1114891124,1053793791)+W(7,-1125528356,-1148371520,1003125716,1011564912);sum2=W(0,1017383795,-1105748811,-1114468103,-1113253112)+W(1,-1105653936,1062131274,1042070822,-1098397046)+W(2,-1130700635,1039489157,-1088478625,1043748521)+W(3,-1134989990,-1118262998,-1112481937,1040646747)+W(4,1042779663,-1111927878,1029911106,1046106511)+W(5,1049624420,-1113543954,-1106009556,1049941293)+W(6,-1102421728,1032413051,-1110290200,-1093962905)+W(7,-1124158867,1027657598,1032000907,-1120850913);WS(1055738180,1034492849); +sum1=W(0,-1114926341,-1128721888,-1111251428,-1130881323)+W(1,-1109424308,1051914904,-1099536939,1041145701)+W(2,-1112831856,1051860704,1058202118,-1112247108)+W(3,-1121239258,-1130346670,1026763985,-1114665081)+W(4,1039888312,-1103919286,1006685651,1042092597)+W(5,-1131357522,-1113433279,-1104400342,1055510938)+W(6,-1104754439,-1139575663,1022435899,-1089549409)+W(7,-1117425768,-1142807791,-1129253153,-1109075065);sum2=W(0,1036549925,-1116107500,-1118181126,-1110077216)+W(1,1011211476,1056055130,1042025735,-1103858204)+W(2,1023981444,-1117941654,-1090440399,1008268344)+W(3,1034090633,-1130298175,1001166765,1010863636)+W(4,1034915268,-1119533468,-1110853226,1049383148)+W(5,1058209450,-1113779586,-1101175453,1044994486)+W(6,-1099569204,1034145803,-1109857174,-1098004228)+W(7,-1107211558,1033292040,1026441284,-1121873216);WS(1056018244,-1109435672); +sum1=W(0,1025593127,-1108190871,-1121172806,1028147653)+W(1,1042157337,-1098176216,1044333967,1019179235)+W(2,1019247612,1041545807,1052400296,-1110312463)+W(3,-1144225212,1040728133,-1152440548,-1120006735)+W(4,1019648283,998861994,1029524274,-1156629272)+W(5,-1084323638,1048944704,-1126875818,-1105021998)+W(6,-1144495302,1027979993,-1112766254,1052575762)+W(7,-1117757541,-1127435447,-1115664295,960835398);sum2=W(0,1037565600,-1103457632,1020564842,-1133465842)+W(1,1023511793,1057142397,1043192653,-1114814180)+W(2,1005396583,1038394412,-1101196001,1028077461)+W(3,-1149118303,-1137100532,-1113456189,1022326514)+W(4,1042355402,1025892619,1020759546,-1109452473)+W(5,1042803000,1040091206,1033812672,-1103393926)+W(6,-1094252679,-1153222990,-1104532905,-1093624788)+W(7,1021621854,1028700597,-1130818626,1041416796);WS(1058353218,1042996167); +sum1=W(0,1015847030,-1107919793,-1094124879,1024954343)+W(1,-1110665693,1048862286,-1097421664,1036476495)+W(2,-1108641009,1049066134,1033331871,-1121159378)+W(3,-1102251787,1041347474,1023600450,-1137738249)+W(4,-1138612357,-1116609353,1009270680,1052314513)+W(5,1050687635,-1105910956,-1202266712,1044445371)+W(6,998963493,-1115498359,1018868510,-1102818752)+W(7,1023627001,-1119202191,1016588291,-1113493234);sum2=W(0,980939457,-1110048722,-1120540574,-1126808420)+W(1,1037410136,-1106277561,1033167871,-1123796075)+W(2,-1139817292,-1116671070,-1166268225,1002142140)+W(3,-1142652688,1011961658,-1143978200,-1134378480)+W(4,-1075343834,-1110843188,1039187917,-1098896413)+W(5,1075199384,991431992,1032482295,-1086151008)+W(6,-1127002394,-1163241473,-1123555130,1058982643)+W(7,1027681870,-1117918702,1021947375,1028067074);WS(1065448321,-1123448424); +sum1=W(0,1010310940,1048779866,1042933049,1033675765)+W(1,-1130617674,1054681092,1053164479,-1135157253)+W(2,1037821135,-1096402228,-1088933089,1045868403)+W(3,-1107423852,-1132569296,-1112063319,1029877230)+W(4,-1098481070,1033876859,-1107290229,-1113419593)+W(5,1025088582,-1126554424,1028430645,-1085464413)+W(6,1043193000,-1114258373,-1113028565,1052703622)+W(7,1039088003,992526257,-1131689691,1039463880);sum2=W(0,1027463162,-1115592424,-1118632904,992398551)+W(1,-1119896935,1058308065,-1094541616,-1110914988)+W(2,1024218964,-1139018826,1052134722,-1100289244)+W(3,1036361104,-1114310803,1043392525,-1111923136)+W(4,998577524,-1122494561,-1143518596,-1109433050)+W(5,1059518579,-1103007923,-1116426235,-1095126430)+W(6,-1109739820,-1115201103,-1121464784,1038527426)+W(7,1020338285,-1128089075,-1120049915,1004586244);WS(1050696068,-1101686596); +sum1=W(0,1025629886,1039198082,1032239887,1030829490)+W(1,1044306231,-1094476563,1035777849,1028506281)+W(2,1033300499,-1108777674,1053256444,1022456523)+W(3,-1126351518,1013615278,-1125496907,1025382374)+W(4,1033819234,1030627629,-1113406309,1015204626)+W(5,-1083567844,1049080890,-1111973334,1052890832)+W(6,1028011096,1009469122,1026744658,-1095460989)+W(7,1022077689,-1117484787,1014700692,-1117978119);sum2=W(0,1033160533,1028975273,-1116235595,-1123705959)+W(1,1019539230,1055127070,-1105037500,1021465594)+W(2,1030761443,-1104569658,1039390029,-1115261066)+W(3,-1122567677,999405400,1024962787,1021971134)+W(4,-1094422871,-1122943830,-1139597844,1034058997)+W(5,1036912081,1037858431,-1103106284,-1106553103)+W(6,1034816057,997585040,1034945731,-1113630050)+W(7,1014360364,1023175710,-1137214108,-1131788338);WS(1058623938,1044469574); +sum1=W(0,1035147318,-1141312974,-1108426137,1045615020)+W(1,1050348390,-1079944741,-1105886038,1047639223)+W(2,1044899106,1021302290,1039515483,1030161626)+W(3,1044251461,991624716,-1167333042,-1132009366)+W(4,1044306859,1030580258,1044911680,-1135193336)+W(5,-1085342603,1051720601,1043270872,-1122107414)+W(6,-1110191310,1041545713,1041363874,-1100470855)+W(7,-1100960996,1042676794,1040848727,-1180200419);sum2=W(0,-1112584470,-1101780852,-1097249916,-1126998679)+W(1,1026650453,1050619160,-1124055793,-1125720699)+W(2,1035354845,-1115949975,1044368398,-1098785634)+W(3,-1117822839,1013784870,1036370417,-1103280207)+W(4,1037003529,-1122142287,-1118913729,1048536708)+W(5,1058508674,-1117660887,1008038822,1040132893)+W(6,-1106591466,1006096779,-1121056345,1037637019)+W(7,-1104576316,-1119752481,-1116815483,-1109803757);WS(-1092650820,-1093598320); +sum1=W(0,-1136033646,-1107026560,-1111185837,-1126483198)+W(1,-1119240794,-1101350837,-1096033968,1019177644)+W(2,-1108863241,1042409572,1057301262,-1095523617)+W(3,-1126435736,1035081684,1040959081,-1113123137)+W(4,-1113511425,1034982933,1028684103,1032567139)+W(5,1042563567,-1118967697,1025024233,1059010394)+W(6,-1108714423,1023629806,-1118984463,-1131092420)+W(7,-1106962654,-1142697342,-1128061252,-1114101506);sum2=W(0,-1158272012,-1107189637,-1134435633,-1118904411)+W(1,1030464194,1057018316,-1120249847,1013234849)+W(2,1025489390,1024832618,1048792270,-1106482941)+W(3,1028128070,-1125347555,1031754422,-1129648553)+W(4,992574886,-1122133752,-1150017862,-1102280300)+W(5,1062197029,-1097179586,-1146867651,-1083559741)+W(6,-1114392001,1021081809,-1115216614,1040811198)+W(7,1029475610,993658022,-1112304821,1031998303);WS(1058173058,1066808129); +sum1=W(0,-1099127505,1036577094,1035236882,-1107348220)+W(1,-1113478482,1029276252,1044208414,-1103913530)+W(2,-1113016318,-1100723463,-1097605967,1040539139)+W(3,1000206250,-1122925746,1029619500,-1120477164)+W(4,1043659283,-1105652573,-1121094224,1041707116)+W(5,1039741986,-1121409754,-1107481241,1046852514)+W(6,1043551606,-1115290924,1032545388,1044710619)+W(7,994694705,950366748,1013015214,-1133641268);sum2=W(0,-1105723160,-1120175931,1034130054,-1094008764)+W(1,1052425931,1002356625,1064201383,-1087139249)+W(2,1034445536,-1114835724,-1089869944,1056772124)+W(3,1037095176,-1129286431,-1123264660,1012087213)+W(4,1042930394,-1124103013,1011760553,1031813868)+W(5,-1098172076,1006833373,-1131636845,-1110465854)+W(6,-1102352886,1014923704,1007319139,1043061462)+W(7,-1111397998,993051546,1016549099,1040830367);WS(1061928770,1027279769); +sum1=W(0,-1113862823,-1162686055,-1100123699,1034406912)+W(1,-1111710246,1056786929,-1096018034,1039933724)+W(2,-1109997378,1044907121,1056534441,-1111349982)+W(3,-1114279935,1031029722,1022437288,-1113344954)+W(4,-1109708970,-1128579510,1033006716,1029564087)+W(5,1037263862,-1109765633,1007368299,1050604450)+W(6,1038664521,-1101798872,-1113416432,-1098017894)+W(7,1027389387,-1113862289,-1105438789,-1116167797);sum2=W(0,-1108403600,1031363022,-1115270559,1026006751)+W(1,-1122004937,1031769509,-1104904057,1035073774)+W(2,1015050843,1027760004,-1106336513,1035952663)+W(3,-1133483016,-1118390529,1019789656,-1124438030)+W(4,1033798448,-1139293944,-1130316822,1024783342)+W(5,1039898935,1021529214,1025961213,1037041630)+W(6,1027825620,-1096601581,-1112547455,1057393141)+W(7,-1128829234,-1106336479,-1105185563,-1121305243);WS(1053752708,1043937257); +sum1=W(0,-1112521242,-1098204331,-1105170221,-1114168512)+W(1,-1095288434,1066642253,1046102006,-1097902456)+W(2,-1114520925,-1100810554,1054367941,-1094410051)+W(3,-1105295129,1031167873,-1121904763,-1115668990)+W(4,-1104934543,-1113606305,-1109039567,1031197758)+W(5,1070561411,-1089903115,-1098767200,1042705158)+W(6,1032266099,-1108028099,-1100846418,1038022813)+W(7,-1123380722,-1118408200,-1115062077,-1114135854);sum2=W(0,-1144787532,-1094418907,-1090786559,-1113064749)+W(1,1041111385,1053253351,1009808406,-1115681675)+W(2,-1136936214,1020895003,1015714915,-1130408019)+W(3,-1121651306,1028089270,-1117683238,1022660811)+W(4,-1102980167,-1129681067,-1136678198,1038982572)+W(5,1054413523,1035936399,1023762114,1041806798)+W(6,-1114777947,1001107148,-1114747797,1024043560)+W(7,-1123371786,1019986163,-1129865467,1021536435);WS(-1077899937,-1095640595); +sum1=W(0,1026389718,1036208246,1032811586,1038010313)+W(1,1038149954,-1112596654,-1100196466,1040451742)+W(2,1041468735,1025151035,1057575303,1012098034)+W(3,1035936827,-1117388883,-1108998502,1036152598)+W(4,-1123908524,-1117534996,1033727032,-1097475626)+W(5,-1096170677,1043001855,-1116405267,1051006893)+W(6,-1102384270,-1122502968,1035677341,-1089360567)+W(7,1019229383,-1122221082,959089718,-1117118702);sum2=W(0,1031626038,-1111295182,1037203464,1014408115)+W(1,1024306585,1046645930,-1111204470,1042237958)+W(2,-1108949069,-1102667672,1036175171,1005347958)+W(3,-1155665460,-1098212068,-1105300490,-1129272561)+W(4,1033188726,998532726,1006518986,-1112987386)+W(5,1040504174,-1142339005,1002908510,1033012571)+W(6,-1113110436,1028194944,1028667874,1022488131)+W(7,1026136762,-1118275484,991631364,1012028387);WS(1052188868,-1105025774); +sum1=W(0,-1127133881,1046329385,1053332527,1026006805)+W(1,1039605133,1041936861,1054121990,-1111238899)+W(2,1027868467,-1100202284,-1098161716,1036489378)+W(3,1040022103,-1112308133,-1114580002,1028341284)+W(4,-1102124985,1015047702,1016895952,-1093124457)+W(5,-1108714798,-1123947762,1031180874,-1093232644)+W(6,1042303686,-1100188956,-1116894641,1047964177)+W(7,1033044781,-1120167377,-1114267170,1042593657);sum2=W(0,-1090155459,-1111850856,1038124206,-1098242390)+W(1,-1083172772,1045262621,-1111691725,-1080159437)+W(2,1066420271,-1115094311,-1107342132,1043663143)+W(3,1052081121,1039539139,1045364599,1065821018)+W(4,-1110800852,1015159009,-1146833441,1035251585)+W(5,-1116129960,1037947101,-1114532383,1033462452)+W(6,1036826747,-1118954060,-1115149205,-1117401930)+W(7,1031476522,-1144829650,-1159263732,-1121811075);WS(-1102870152,1022622513); +sum1=W(0,1035394969,-1108831748,-1105950504,1055644087)+W(1,1045987408,1039545500,1041190721,1045649819)+W(2,1031111560,1056957379,1049616144,1030573816)+W(3,1041054212,1055423038,1047436506,1035095156)+W(4,1043185370,1029691760,-1099940547,-1114669622)+W(5,-1093030704,1034170571,-1105006556,-1098060649)+W(6,-1084377448,1032315050,1028754581,-1093912525)+W(7,-1094643096,1002093997,1008186016,-1093512673);sum2=W(0,1037387540,-1098862516,1070336926,-1084145430)+W(1,-1096604175,1068317532,1050914492,-1091365810)+W(2,1043123500,-1083131387,1054262144,-1095647742)+W(3,1053814194,-1081281727,1046449081,-1106696806)+W(4,-1095516697,1056626754,-1086613448,1055168354)+W(5,1069441477,-1099937369,-1097405209,1050568943)+W(6,-1085743049,1045945631,-1106692290,-1090345251)+W(7,-1086819148,1058187197,-1106594556,1048225937);WS(-1069426976,-1120848841); +sum1=W(0,1035259664,997868135,1037072255,1036938172)+W(1,1052190352,-1092031243,1031706371,1047028417)+W(2,1039915051,1026900661,1045414333,1041456894)+W(3,1036563112,1015048091,-1119324359,1015525967)+W(4,1049019033,1025792718,1032159990,-1103659451)+W(5,-1081236347,1049696791,1020529436,-1095105906)+W(6,1032303833,1035011641,1038916826,-1090672009)+W(7,-1146656500,-1145253028,1039253091,1008361890);sum2=W(0,-1130807793,-1132163681,1029191442,-1131675185)+W(1,-1119117212,-1086087178,-1115933340,-1137547874)+W(2,-1139313154,1014175682,-1112002886,-1138868050)+W(3,-1144490820,-1135148482,1023290113,-1127085641)+W(4,1018117017,-1115031522,1024984252,-1114450600)+W(5,1063181450,1006729954,1037592454,1033829647)+W(6,-1143924164,-1134939410,1017409241,1026390676)+W(7,1007342770,974288160,-1125048401,-1138352802);WS(-1092511940,1056045775); +sum1=W(0,1036571263,-1107220477,-1122413709,1034351639)+W(1,1044122211,-1099810889,-1123595634,1026078569)+W(2,-1113387827,1050308552,1052039823,-1145831724)+W(3,-1119385695,1047960215,1032192235,1018446892)+W(4,1031880235,-1128037178,-1109413949,1034842253)+W(5,-1106066347,1038991202,-1106487287,1048156900)+W(6,-1095462256,1039930976,1016305349,-1096815763)+W(7,-1105858435,-1115254417,-1145490603,-1104039774);sum2=W(0,-1125984965,-1145267460,1017418680,-1129634341)+W(1,1032304695,-1112808134,1019434782,-1131211232)+W(2,-1135310730,-1164412329,1027589163,-1126835561)+W(3,-1115706548,1024240430,1012340975,1030376830)+W(4,-1108053053,-1078809375,-1086264457,1033383321)+W(5,1017461836,-1098879629,-1073693037,1035592777)+W(6,1048432434,1073307463,1071963841,-1125819067)+W(7,1037084632,-1110470100,1053688201,-1132396034);WS(1042257800,-1115776325); +sum1=W(0,1032352980,-1098526814,-1107281138,-1146926115)+W(1,-1114314051,-1109412128,1043068219,-1109330569)+W(2,-1111850704,1039093055,-1097266597,1039411448)+W(3,-1123393177,-1104810789,-1100632132,1040829028)+W(4,1045994468,-1117084567,1010013391,1038400362)+W(5,-1144690495,-1120663934,1043908518,-1111135982)+W(6,-1128243973,-1122589083,-1098521248,1057956169)+W(7,1025450855,997333453,1029880783,1048043508);sum2=W(0,-1131137316,-1118253197,-1139977433,1029402915)+W(1,1023173531,-1122404168,-1122896144,1031911869)+W(2,-1123803784,1037623928,-1098422336,1023792141)+W(3,-1128776324,1036548666,-1106514445,1014267385)+W(4,1040550677,-1112092070,1041328458,-1102627522)+W(5,1061434285,-1087193418,1058291503,-1088615745)+W(6,1067804318,-1079538943,-1072676007,1075510495)+W(7,1035151624,-1107997040,-1106625048,1045458757);WS(1062572194,-1113128476); +sum1=W(0,1032745069,-1098454710,-1105909778,1025054504)+W(1,-1115121012,-1102647392,1040855323,-1111717923)+W(2,-1108655721,1048800872,-1094658254,1039928305)+W(3,-1121873307,-1107065062,-1098634802,1042636501)+W(4,1048922046,-1107189334,1030405814,1035303099)+W(5,1030883818,-1120733568,1047137430,-1111940687)+W(6,-1114397119,-1121522301,-1102007432,1056642050)+W(7,1028123977,-1129454014,1030940241,1045405821);sum2=W(0,1015935669,1029828517,-1138228901,-1114559261)+W(1,1034980574,-1095660939,-1110320033,-1119968612)+W(2,1031387619,-1103434641,1043622789,-1134322843)+W(3,1028413753,-1104010102,1043842027,-1130912561)+W(4,-1107208114,1036930870,-1102431407,1049277284)+W(5,-1090290563,1061616421,-1086736101,1062476231)+W(6,-1079628774,1068626110,1075586093,-1071408041)+W(7,-1110973692,1043722127,1036267766,-1100585862);WS(1060774594,1031131703); +sum1=W(0,-1105426838,1048858052,1045023814,-1107942447)+W(1,-1108928460,1053310638,1057375412,-1102134060)+W(2,-1109912496,-1121814959,-1086363546,1030069408)+W(3,1016389396,-1112979299,-1121700033,-1111247296)+W(4,1019498368,-1115599332,-1109726834,1022102280)+W(5,1054202179,-1117349999,1024119623,-1089780107)+W(6,1045750878,-1112636534,-1105657043,1056436400)+W(7,-1115080444,1034439495,1020787328,1017717699);sum2=W(0,-1117613837,1015990489,-1115841609,1036474850)+W(1,-1124280889,1046600726,-1114813616,993333704)+W(2,-1147158916,-1101686418,-1127188969,-1120272689)+W(3,1006917274,-1111325506,-1106242516,-1136721538)+W(4,-1121605429,-1155010952,1027456791,-1115206474)+W(5,1051997378,-1145891812,-1115442992,1041891165)+W(6,1035140408,1009536026,-1135549634,-1122067781)+W(7,-1113122752,1017045509,1019245009,1020051521);WS(1060194466,-1100017114); +sum1=W(0,-1110455654,-1101985628,-1105747811,-1107280066)+W(1,-1102634810,-1106901713,1018718942,-1108454907)+W(2,-1103041901,1055521256,1046100821,-1103570769)+W(3,-1103753711,1059153514,1047438565,-1108837738)+W(4,1043733237,-1106475814,-1103466926,1059466063)+W(5,1036011765,-1094721336,-1106517942,1057500851)+W(6,-1113318903,-1108487663,-1110005824,1016328357)+W(7,-1111475141,-1118902112,-1116101330,-1139455183);sum2=W(0,1016306377,-1123533287,-1116481221,-1134258178)+W(1,-1121134035,1050682292,-1150894505,-1119701101)+W(2,-1123898542,1016401385,1003934853,-1110905440)+W(3,-1131815221,1025651043,1010383122,-1120388479)+W(4,-1130975497,-1124034546,-1123729210,1032034504)+W(5,1050657130,-1118895679,-1119840142,-1129842733)+W(6,-1114630639,-1135589646,-1115758498,1032136922)+W(7,-1115813895,-1126135829,-1140270714,-1135861370);WS(-1094780356,-1096037829); +sum1=W(0,998269945,1048993133,1051641704,-1094564683)+W(1,-1099790159,1021385644,-1105882161,-1106439374)+W(2,-1116696534,-1093602407,-1110801281,1039955171)+W(3,-1132274079,-1094848202,1040928722,1026955814)+W(4,-1097112145,1034946343,-1109647669,1042321778)+W(5,1039341071,-1101585581,-1120792141,1049078036)+W(6,1056382370,-1124429730,1020526630,1035258371)+W(7,1053064740,1027970323,-1106396689,1035779188);sum2=W(0,-1129205035,-1107142480,1029577680,-1137596463)+W(1,1039861741,-1098569120,1047351132,-1126343315)+W(2,-1123052878,-1116615219,1038608299,-1126312459)+W(3,-1125851727,-1107291575,-1112533224,996868828)+W(4,1015352075,1012914617,-1113448033,1038439017)+W(5,1073186805,1046610276,-1114069586,1070713407)+W(6,-1073950732,1007385420,-1144677526,1038004689)+W(7,-1107100148,1037961064,-1108941862,-1077903771);WS(1053603780,-1115461008); +sum1=W(0,1030817204,-1095449155,-1097293942,-1137418943)+W(1,1021933093,1049349309,-1092155167,1016256157)+W(2,1024187323,-1107838901,-1125654285,-1107174285)+W(3,1027865701,-1115980033,-1112035518,-1121722108)+W(4,1046317951,-1134044169,1014991997,1049585228)+W(5,1058232189,-1129232467,-1118818050,1056038503)+W(6,-1104780729,1042320778,1020919504,-1109114845)+W(7,-1096840466,1040979266,1033110781,-1104946775);sum2=W(0,-1122607696,1031925962,-1115237141,1033231462)+W(1,1021774826,1053325526,1042960949,-1126070520)+W(2,1023918789,-1112013861,-1107200469,-1120788802)+W(3,-1155086158,-1120863174,-1114604471,-1127228708)+W(4,-1115623012,1016053183,1022510111,-1111323807)+W(5,1049744257,-1130112624,999155791,-1119706606)+W(6,1026671690,-1115047971,-1116359926,1005054791)+W(7,-1119270266,-1114777589,-1133439199,-1107279270);WS(1049944452,-1118177299); +sum1=W(0,1034605113,-1117712807,-1113835168,1004954534)+W(1,1046072096,-1089565448,1049772083,1042179871)+W(2,-1115172412,1028249398,-1087875066,-1119832136)+W(3,-1125265763,1016032028,-1115173764,1021914321)+W(4,1044152226,-1113909672,1036431958,-1131743895)+W(5,-1102704504,1047091406,1034469319,-1105992217)+W(6,1023284205,1037431354,-1117867957,1051885673)+W(7,1023720959,1027934165,-1128742159,1032417701);sum2=W(0,-1102028824,1033866732,1053033259,-1122048832)+W(1,1042109429,1035235216,-1083784972,-1098388207)+W(2,1035691269,-1103367787,1056376564,1037898289)+W(3,1026959129,-1128193065,1034674212,-1120157845)+W(4,1014156522,1033801710,-1100778293,-1121809206)+W(5,-1104400409,1046653262,-1112352078,1055740053)+W(6,-1120368299,1025902829,-1111071353,-1126110057)+W(7,984939091,-1153716682,997672170,1015248281);WS(-1165444096,-1119710264); +sum1=W(0,1034244741,1042802936,1051115175,1042994118)+W(1,1041081798,-1114386041,1051394930,1037778378)+W(2,1044760836,1039392600,1044466585,1016348739)+W(3,1049969601,-1111502020,1042064672,-1126699940)+W(4,1040688824,1032455940,-1108071955,-1098028621)+W(5,-1087521946,1029133552,-1120702728,-1088773549)+W(6,-1102706330,-1117660781,1045508004,-1089153334)+W(7,-1112154588,-1112358151,1043978432,987979863);sum2=W(0,-1169925094,1041247352,1060341068,-1113048377)+W(1,1022227231,-1081289783,999982909,1033233769)+W(2,1025958326,1036288861,-1090689511,973479782)+W(3,-1108998850,1055733822,1044034366,-1175748301)+W(4,1057359743,-1121919154,-1107478445,1067872749)+W(5,-1075624869,1030919570,-1112420946,-1089189226)+W(6,1048635178,-1108655271,1049895882,-1088323315)+W(7,1060416891,-1098757157,1042449401,1052769876);WS(-1077066897,-1138646112); +sum1=W(0,1009759453,-1106693383,-1092381223,1024267775)+W(1,-1105412061,1042083852,-1096180043,1034803609)+W(2,-1104989395,1050244398,1031147625,-1118414542)+W(3,-1099033634,1045342865,1024065726,1000523125)+W(4,1027242622,-1118474373,1025453154,1053014632)+W(5,1053447283,-1101608091,-1149202983,1051220983)+W(6,1023828386,-1113932053,1010847661,-1105039519)+W(7,1028746421,-1113130950,1023831870,-1110843104);sum2=W(0,-1133465912,1032956180,1032969077,1013870164)+W(1,-1118337904,-1095979039,-1118666398,1030888661)+W(2,-1156287199,1041525268,-1102611716,1030672570)+W(3,-1145191680,-1129518532,-1121602320,1014316520)+W(4,1076869477,1037977967,-1105627059,1050672871)+W(5,-1069322680,1026329625,1017901782,1063553933)+W(6,1026168517,-1153801247,-1169512700,-1088200357)+W(7,-1120095414,1031405165,-1126632288,-1129519600);WS(1059038658,1028594353); +sum1=W(0,-1132336275,1035531624,1027001704,1030613999)+W(1,1038489844,-1152158733,1032402678,-1117493948)+W(2,1044643916,-1088517514,-1098315241,1028206993)+W(3,1043840791,-1091506711,-1103996748,1007880004)+W(4,-1094328658,1026431736,1046010101,-1089493909)+W(5,1052296065,1044337864,1043051950,-1106243079)+W(6,1049587060,1032918142,1028671678,1042911580)+W(7,1044000434,1036291743,-1137633217,1035409673);sum2=W(0,998383694,-1109062791,-1105269646,-1118922878)+W(1,-1123342062,1052555170,1013977255,-1117830208)+W(2,-1124252768,1040874722,1041098100,-1109116635)+W(3,1026377322,1040986964,1030669290,-1104593856)+W(4,1002191246,-1111322692,-1110275215,1050974192)+W(5,1051646415,-1114439732,-1114811922,1046707356)+W(6,-1098775079,-1121186646,-1108145020,1036678597)+W(7,-1098750401,-1115223671,-1115485971,-1122565606);WS(-1089038754,1070610314); +sum1=W(0,-1126323612,-1099849389,-1112569734,1006818038)+W(1,-1107760774,-1101892281,-1090696922,1015379312)+W(2,-1104391397,1047988033,1028620400,-1110158738)+W(3,-1113068735,1039930893,1043536901,-1114553627)+W(4,1036085850,1043645143,1038135388,-1110914124)+W(5,1045400523,-1118717763,1040122382,1053776546)+W(6,-1132043583,1016954112,1002760462,1040930437)+W(7,-1114659286,-1139206280,974497054,-1119469430);sum2=W(0,-1119340063,1020623843,1029972206,-1120363159)+W(1,1035843986,-1094446255,-1137841818,-1119078724)+W(2,-1106992039,-1128810267,1049035968,1035175754)+W(3,-1129270833,-1123131987,-1123633215,-1128507307)+W(4,1026762268,-1099605665,-1111466112,-1135126990)+W(5,1017486399,1042926586,-1102195223,1064611900)+W(6,1039608352,-1112006203,1014516782,-1094749382)+W(7,-1197948696,-1129209333,-1136077530,-1194223384);WS(-1120775200,-1094115106); +sum1=W(0,-1133090109,-1099947345,-1112921839,-1117113151)+W(1,-1098081804,1057531117,1050818928,-1096583070)+W(2,-1119648950,-1098660371,1051254629,-1092969217)+W(3,-1105675228,1035449878,926574177,-1113650835)+W(4,-1097096777,-1151313622,-1107062579,1046145098)+W(5,1067142180,-1094480203,-1100319675,1048882552)+W(6,1035250696,-1111825641,-1100195749,1054137781)+W(7,1024424221,-1114839546,-1118408614,-1115652196);sum2=W(0,1002183233,-1113707943,1031116535,-1122846232)+W(1,-1112395279,-1080457005,988543074,-1129631292)+W(2,1001287537,1037716560,-1097715519,1009610216)+W(3,-1139829356,1031806339,-1112112395,-1122731504)+W(4,1034244245,-1116699784,1030028661,-1118531646)+W(5,1064104967,1037992478,1039671963,1027624889)+W(6,1011412016,1016046512,-1115290878,1052372051)+W(7,-1128697528,1022404309,-1122589730,1031591085);WS(-1083041826,-1088446577); +sum1=W(0,-1139686881,998832115,-1138041180,-1112868382)+W(1,1035817611,-1106005004,-1108164766,1037998481)+W(2,-1112414119,1042585939,1054394898,1028314191)+W(3,-1152205450,1027830053,1037009680,-1123391616)+W(4,1026886463,1007627162,-1123809603,1041478665)+W(5,-1092605991,1036557383,-1137074328,1018740405)+W(6,-1105339656,1016960213,1043199331,-1096954228)+W(7,-1128384493,-1161448845,949272012,-1122534560);sum2=W(0,-1112615912,-1080108640,-1080772886,1036010005)+W(1,1026422893,1067023817,1042883784,-1108103320)+W(2,-1112407780,1043418298,1065911618,1043952518)+W(3,-1142574731,1019038275,-1121396391,1025610945)+W(4,1033469827,-1118689741,-1113551367,-1110295637)+W(5,-1106557392,1039881895,-1123719569,991295446)+W(6,-1113416335,986544491,1028046949,1015020021)+W(7,1027619053,-1114551687,1028536389,-1118133995);WS(1059656866,1032254503); +sum1=W(0,1032901415,-1096624519,-1087438145,1051132033)+W(1,1051046262,-1092342973,-1093591378,1050001035)+W(2,1041030197,1042870865,1024747921,1024623477)+W(3,1040932616,1037509038,-1112612011,-1129401004)+W(4,1045530925,1031967406,1047684766,1040121644)+W(5,-1096329486,1050005760,1044069767,1040228252)+W(6,-1092498854,1048633756,1045316401,-1100479077)+W(7,-1089145703,1050363772,1041789317,-1100524478);sum2=W(0,-1120765513,1004192518,1054927280,1033723840)+W(1,-1121736497,-1097617496,1032813206,-1151198348)+W(2,-1111733852,1024454465,994767756,1020727265)+W(3,-1112033268,-1107458988,-1124374145,1010605379)+W(4,1009606707,-1117945313,-1110893464,-1094930774)+W(5,-1096835022,-1121652889,-1111742424,1018976553)+W(6,1049726638,1030389401,-1144829382,-1114598300)+W(7,1057385902,1035752486,-1120942585,1040837102);WS(-1076352721,1061176787); +sum1=W(0,1039493528,-1094852257,-1095051668,-1115567878)+W(1,1022350014,1044286862,-1086623624,1037423542)+W(2,-1123591576,1049595083,1057477914,-1114677168)+W(3,-1114839417,1044280124,1036655988,-1143365955)+W(4,1040618482,-1116442287,1038434246,1047858891)+W(5,1036068672,1022609452,-1114755255,1057001770)+W(6,-1095930750,1044588197,1037805114,-1086915318)+W(7,1029598047,-1119274549,1031697064,-1108386213);sum2=W(0,-1109735653,1012246375,-1104206436,1018488840)+W(1,-1112517262,1056346033,-1114523900,-1113462230)+W(2,-1112282852,-1106712811,1029007760,-1108529674)+W(3,1011039855,-1115338003,-1113168793,1002563934)+W(4,-1117505825,-1122544930,1004158510,-1111729053)+W(5,1051780099,-1133433375,-1111468709,1042992721)+W(6,1035563022,-1136000711,-1114816198,1042618199)+W(7,-1112797570,1037211560,-1122022613,1024458488);WS(1037340944,-1121222187); +sum1=W(0,-1118176747,-1110298712,1040689218,-1116495838)+W(1,-1094205341,1064260668,1052341602,-1096308023)+W(2,-1115640417,-1100646016,1052009702,-1095502171)+W(3,-1105702479,1026863896,-1117627026,-1112496425)+W(4,-1106426924,-1119752153,-1106495021,1036502651)+W(5,1068943083,-1089978464,-1097659059,1044624667)+W(6,1004526500,-1108261518,-1099820424,1045175252)+W(7,-1112879076,-1111070831,-1110958217,-1108867801);sum2=W(0,-1134403694,1045056865,1043920878,1002312827)+W(1,-1105297347,1060319926,-1107896626,1025097519)+W(2,-1117960999,1018292031,-1100756735,1007461646)+W(3,-1129847887,-1108036266,-1136355134,-1123847191)+W(4,-1120905299,1019347263,-1124888335,-1113959010)+W(5,-1100397803,1028583233,-1120916959,1031903433)+W(6,-1106899263,-1134844462,-1119634731,1042137547)+W(7,1033071013,-1109200858,998264859,-1119650359);WS(-1087648930,1056984912); +sum1=W(0,1027762677,1043573475,1048727276,1027950097)+W(1,1043195617,-1092810048,1051177331,1025406415)+W(2,1031391740,1044809191,1038252876,1035903278)+W(3,1033673899,1020597221,1035706934,1023913741)+W(4,1015678999,1024202483,-1111974664,-1101873716)+W(5,-1082302860,1050173331,1016025318,-1091649404)+W(6,1038200652,998750650,-1156961168,-1097139061)+W(7,1041744649,-1114494621,1023377112,1042041459);sum2=W(0,-1113891962,1017090586,-1109665959,1035604443)+W(1,-1130359386,1061263788,1033553543,-1155240851)+W(2,1028100153,-1106256683,-1109330568,1025386829)+W(3,-1126789482,-1118236009,-1097657183,1016774458)+W(4,-1115818981,1006860245,-1121529027,1027481873)+W(5,1027230949,1039189933,-1124657042,1023852497)+W(6,-1113120233,999905578,-1123139111,1041592808)+W(7,-1121071325,-1109638591,-1132638677,-1101411950);WS(-1090940868,1045539156); +sum1=W(0,-1122547977,1036262295,-1111842948,-1125495305)+W(1,1022396558,1050733040,-1083395945,1049435900)+W(2,-1113477720,1023164412,1050803832,1034779456)+W(3,1017461170,-1119150102,-1141132416,1025152496)+W(4,1017057054,1021788462,1033322010,1024315123)+W(5,1016653136,1032259903,1041875702,1046781659)+W(6,1044787970,-1103054087,1045300311,-1084181811)+W(7,1039405571,-1121753565,-1119238479,1025666193);sum2=W(0,-1115334877,1045060155,-1154701652,-1111850352)+W(1,-1131783421,1041887968,1053683311,-1101312255)+W(2,-1121261620,1034919558,-1090960245,1037660946)+W(3,-1118719808,-1117531173,-1118627401,1008969141)+W(4,1033609440,-1109145509,-1128983709,1008422401)+W(5,1047082317,1009316297,1041457249,-1090718168)+W(6,1036748070,1030040522,1037394704,1034433310)+W(7,998924330,-1122112519,1034723828,-1109720341);WS(1058382658,-1101786424); +sum1=W(0,-1139041509,1040419632,1020557616,-1110270554)+W(1,-1114587164,-1089217895,1039037886,-1106470550)+W(2,1031022672,-1098005290,-1116816379,1023988544)+W(3,1026679274,-1105928314,1030444000,1028924449)+W(4,-1110579152,1021044303,1010032145,1042446649)+W(5,-1102603214,-1101971332,-1107378131,1052788411)+W(6,1048850952,-1136091053,-1110520967,1052497916)+W(7,1042985742,1036784631,-1142630143,1041387232);sum2=W(0,-1116694246,-1117334358,1021048143,-1122331173)+W(1,-1106162040,1058597177,985385246,-1133055086)+W(2,-1119866494,1040447045,-1096472079,1033705060)+W(3,-1119480360,1011504527,-1107345628,1019582103)+W(4,1034622720,-1109719947,-1141905806,-1121426033)+W(5,1062397265,-1092732322,-1111398337,-1111822939)+W(6,-1124693001,-1148551778,-1104483430,1007125953)+W(7,1026572561,-1124513225,-1142669219,1025700470);WS(1062970978,-1081266569); +sum1=W(0,1026249566,1049251698,1049067654,-1102316771)+W(1,1037424006,-1086541140,-1100292756,-1104248914)+W(2,-1122189220,-1101422105,-1092317470,1035596338)+W(3,1006845944,-1103019359,-1130063849,1016727466)+W(4,1039432874,1031488060,986432279,1040583110)+W(5,-1096033842,1046796153,1034368766,1040278772)+W(6,1049598341,1029733120,1039493185,1045287213)+W(7,1042202275,1032483937,-1132489681,1043296141);sum2=W(0,1024987284,-1095439435,-1092863213,-1108138297)+W(1,1038311792,991870971,1054820060,-1107013954)+W(2,999045582,1003248078,1019051815,-1140508767)+W(3,-1139420079,-1120196608,-1122507350,1010876103)+W(4,-1107350452,1030342296,1020893591,-1134447463)+W(5,1058790229,-1145193326,1023656240,-1104627754)+W(6,-1113643053,-1124168067,-1111721419,1049499199)+W(7,-1107048418,1036851190,-1111078930,1040683258);WS(-1090709444,1049440503); +sum1=W(0,1009000949,-1102968365,1025170444,-1112814366)+W(1,-1098104133,1055216649,1054801672,-1102384190)+W(2,-1117987732,994631719,1007027006,-1100420271)+W(3,-1118237822,1037835469,-1122456724,-1108681738)+W(4,-1107658202,1013557870,-1116166456,1021129071)+W(5,1055155742,-1102466049,-1112664461,-1108358704)+W(6,-1115514619,-1139587454,-1093799886,1062491877)+W(7,-1137063726,-1119596065,-1112800010,1032182427);sum2=W(0,1011116525,1031004177,-1125700925,1010269627)+W(1,1023655690,1056735713,991734042,1031226256)+W(2,-1139919503,-1116020697,1023598587,-1117593255)+W(3,-1132337311,1014084462,1030692092,-1131886173)+W(4,-1111184590,-1139731999,-1124401971,-1129465449)+W(5,1007034923,-1106780773,-1123603568,-1090395945)+W(6,1044588818,1019563835,1032362667,-1114530604)+W(7,1027760305,1003383541,1016903156,-1118660887);WS(1052605444,-1096548047); +sum1=W(0,1014261129,-1107118442,-1099989408,-1135269079)+W(1,1017149121,1004173259,-1095069609,1035728362)+W(2,-1106055602,1026600311,-1102684265,1022065234)+W(3,-1120275059,-1114974728,1029280393,-1122459306)+W(4,1022832721,1034237928,-1157809579,1035141158)+W(5,1042230040,1022065263,1014945855,1036930738)+W(6,-1123731628,1033708682,-1149699425,1051854441)+W(7,-1108029264,1040542518,-1120230985,1039321653);sum2=W(0,-1102121527,-1076350607,-1078862437,-1139099893)+W(1,1039987934,1067956735,1043522425,-1108414487)+W(2,-1096991255,1053122067,1072447081,1045186917)+W(3,-1102163660,1040872955,-1111637970,1033745090)+W(4,998819801,1024729710,-1129576496,-1097588090)+W(5,-1109442889,1032654822,-1134118593,-1111980043)+W(6,-1115256553,-1124332658,-1118463242,1044036972)+W(7,1044251533,-1115579557,-1123595298,1027886256);WS(1054231108,1025279114); +sum1=W(0,1020186806,1039341944,-1123453065,1020527399)+W(1,1046988234,-1092316960,-1104689967,1026191493)+W(2,1041704764,-1093206832,-1122753069,-1147857037)+W(3,1039867950,-1094240131,-1107112804,-1120557618)+W(4,-1119337841,-1160786718,1049493415,-1096862627)+W(5,1008801448,1041661776,1041541558,1034733383)+W(6,1050167121,1032223662,1034215919,-1108979241)+W(7,1043962418,1036558383,-1156220183,1027712531);sum2=W(0,-1125155383,1021067288,-1121143571,-1156731980)+W(1,-1140765671,-1079877582,-1101109237,-1153680156)+W(2,1030176462,1058234221,-1094350155,1018992688)+W(3,1018002108,1058386161,1064456596,1027890172)+W(4,1024911074,-1128517034,1019039796,1027150242)+W(5,-1088644111,-1110310177,1036906894,-1096825521)+W(6,1052444813,1000349534,1019841700,-1113080073)+W(7,1045751986,-1134555143,-1128055622,1024094624);WS(-1097731588,1025129315); +sum1=W(0,972033083,-1118357663,1037092684,1033609822)+W(1,1025915127,1050865438,1046113067,1036940225)+W(2,1018117854,1047810219,-1109542297,1037164536)+W(3,1021572178,1036701507,-1111680192,1009743167)+W(4,-1139849211,-1113410371,-1125480775,-1099469177)+W(5,-1143345853,1047135499,1035911587,-1089626010)+W(6,-1097851227,1031924197,1038594118,-1104510832)+W(7,-1110047355,-1120871309,-1146462713,-1113708160);sum2=W(0,-1134630348,-1105084635,1029789829,-1124965724)+W(1,-1143859545,1050249105,1035852445,-1138485084)+W(2,1030422253,1024721985,-1114135764,-1133066340)+W(3,1003464777,1033535897,-1120848177,-1121255807)+W(4,1036116775,-1123511646,-1132623148,-1119672690)+W(5,1057234226,-1097411434,-1106888257,1002738585)+W(6,-1117221657,1017260494,-1109817844,-1115375290)+W(7,-1110249095,1021514610,-1118819718,1007172972);WS(1064258306,1057427735); +sum1=W(0,1048078371,1002554246,1041288794,1046669668)+W(1,1043467602,-1117262306,1039217007,1049007041)+W(2,1040278032,1037075392,1041191743,1032131185)+W(3,-1135631084,1026049048,-1121877906,995640096)+W(4,-1107049340,1026345305,1024557366,-1094345727)+W(5,-1100296810,1017273727,-1126800432,-1092155570)+W(6,-1100720075,-1136038899,1027549470,-1101509636)+W(7,1034147956,-1111532367,-1134767685,1015117221);sum2=W(0,-1081609637,1066099523,1062132206,-1083389635)+W(1,-1090363224,1067427062,1066066300,-1079976349)+W(2,-1097029007,996873905,1049064133,-1100056051)+W(3,-1118886369,1035057689,-1137063332,1028030408)+W(4,1053156114,1022631188,-1127222139,-1122840851)+W(5,-1091867230,-1128121946,1027246780,-1105997303)+W(6,1048340523,-1115106526,1036294091,-1103783968)+W(7,-1104392578,-1117772337,1035025213,-1134953960);WS(-1082692450,-1121765493); +sum1=W(0,-1118487719,-1104534315,992292947,-1112587635)+W(1,-1111631170,1048175951,1049230729,-1105756568)+W(2,-1106833087,1028715132,-1089217933,1036199927)+W(3,-1109370235,1018481703,-1121927694,-1115752014)+W(4,1038416886,-1121296341,-1121302066,1015927970)+W(5,1051898365,1037146590,1043167221,-1104867982)+W(6,-1104675396,1030891673,-1113442509,1057590961)+W(7,1022215305,-1113425325,-1121397517,1012516667);sum2=W(0,1026098771,1021710972,1040868564,-1102561169)+W(1,-1113975834,1041914200,1048116590,-1149524831)+W(2,-1105234356,1039729263,1051191259,-1157274159)+W(3,-1102778536,1035375403,1018638481,1008573990)+W(4,1009959824,-1125337962,-1123351116,-1126923948)+W(5,1042300553,-1123062396,1024724387,1037970343)+W(6,-1097615037,-1105344931,1021621986,1032086087)+W(7,-1115667744,-1105611058,-1109718449,-1115639834);WS(1063145570,1065948321); +sum1=W(0,-1107415145,1041877314,1042647928,-1113780043)+W(1,-1125795137,-1105676766,1043379605,-1103697695)+W(2,1032469064,-1098882227,-1093770877,-1119226457)+W(3,-1148759702,1007275454,1029896809,-1118570362)+W(4,-1105577826,1034763992,-1113344071,1023153433)+W(5,1058030732,-1107021830,-1113485016,1035095074)+W(6,1047432094,1028002580,-1116457366,1049757493)+W(7,-1110160160,1021171309,1033670420,-1106671851);sum2=W(0,-1119163512,1034562054,-1147652316,1033443671)+W(1,1022262943,-1082830049,1044843888,1032648925)+W(2,-1125619769,1025258841,1049609982,-1121656898)+W(3,983397903,1030898199,1030706970,-1116250872)+W(4,-1110746439,-1126213983,-1114870166,-1122182070)+W(5,-1080473697,1036499220,1033622730,-1104224164)+W(6,1045148854,-1125695843,1042757767,1070472721)+W(7,1015661307,-1105016797,-1109235057,-1138594966);WS(1047808392,-1105857653); +sum1=W(0,1038664639,1050583338,1057255335,1036414223)+W(1,1045309491,-1112577010,1052085724,1033646416)+W(2,1047007737,-1101673225,1049269098,1028560677)+W(3,1052689664,-1098667351,1020504170,1035626955)+W(4,-1095111703,1027946812,1019549874,-1089047968)+W(5,-1088425805,1038762993,1014185453,-1090242223)+W(6,1024927375,-1120878336,1038356881,-1097592171)+W(7,-1153489085,-1106190208,1031636916,988289723);sum2=W(0,-1114267734,1035785784,-1084160527,1050181400)+W(1,-1097894374,1060354212,-1094891239,1015251419)+W(2,-1098468098,1054874631,1045924604,1014394222)+W(3,-1092845444,1063378281,1042828743,1043075035)+W(4,-1097051496,-1113170400,1059321043,-1088778570)+W(5,1063793540,-1098458292,1035392846,-1096397593)+W(6,-1115217527,-1096505073,1030978836,-1132415773)+W(7,1051615858,-1088082125,1042772598,-1098450150);WS(-1073783985,-1080098540); +sum1=W(0,-1111733448,-1125334283,1004414705,1012137476)+W(1,-1095391448,1058781709,-1098951217,1027546650)+W(2,1030910366,1054585131,1056582836,-1107725963)+W(3,-1136391487,1012935090,-1118558951,1024902311)+W(4,1040796537,-1106294475,-1135747626,994170013)+W(5,1038631039,-1097893467,-1105932043,1045494048)+W(6,-1102018612,1001385357,1027155091,-1099332954)+W(7,-1113109295,-1118975220,-1141795121,-1106829042);sum2=W(0,-1123969951,-1115268047,-1161174488,-1136577003)+W(1,1039844510,-1078035036,-1111829747,-1126970134)+W(2,-1182117728,1038025274,1072008544,1037108170)+W(3,-1107924935,1013110307,1006927579,1024145219)+W(4,1023359390,-1128609502,1021768566,-1123274403)+W(5,-1085317526,1027511085,1026568479,1034323377)+W(6,1032404118,-1139830523,986504280,1044555209)+W(7,983390936,1022685546,-1127097094,1024479257);WS(-1104974728,1024380720); +sum1=W(0,1021171896,-1127535108,-1117883163,-1117848102)+W(1,1036503965,-1100771573,-1099610928,1039153371)+W(2,-1109841905,1034691017,1043814114,988770395)+W(3,-1126175513,1004793673,1034709362,-1121562883)+W(4,1018298053,1031544042,-1131530510,1036325571)+W(5,-1101972463,1036843369,982295861,1041104624)+W(6,-1107251369,1031396654,1029874576,-1133844875)+W(7,-1111468989,1034135320,-1125713989,1025626276);sum2=W(0,1044163006,1072425553,1071281072,-1125393898)+W(1,-1110276988,-1078765241,-1104699996,1045704700)+W(2,1044569612,-1100004941,-1076152216,-1099412627)+W(3,1037394103,-1111185479,1036033265,-1115657155)+W(4,-1125402454,1021558362,1011595325,1044770418)+W(5,-1098423872,-1113439186,1010524637,1018560910)+W(6,1028856833,1019143058,-1178088596,-1103281302)+W(7,-1117821699,1026998165,-1126446200,-1123488110);WS(1066498257,1026989550); +sum1=W(0,-1123659738,1024686464,1023571545,-1129927868)+W(1,1002634947,1040895252,-1084187390,1045121333)+W(2,970850411,-1115004776,1040663099,1036944705)+W(3,1004856149,1001199419,1024409057,1022709187)+W(4,-1143882757,1025371048,-1133253141,1016605513)+W(5,1054068239,1032849928,1033458708,1042249043)+W(6,-1120675276,1024612748,1049903454,-1089079196)+W(7,-1120648472,-1117202350,1017685954,-1112524513);sum2=W(0,-1155040203,1038340354,-1106434423,1038138620)+W(1,-1094597030,1064410985,-1087069176,1049419982)+W(2,-1117198782,-1112639315,-1110711879,1022703337)+W(3,-1121486321,-1123727669,1026273617,-1132959015)+W(4,-1105689565,1038431916,-1117610677,1014840059)+W(5,1043321526,-1117967352,-1115449783,-1102609737)+W(6,1042536365,-1112813855,-1107988055,1043390477)+W(7,1009362023,1031915394,-1122022929,1036470844);WS(1059170114,-1115069681); +sum1=W(0,1031327889,1043197758,1039057944,1041126528)+W(1,1027929903,1035662548,1057495242,-1137442701)+W(2,1045677858,1043295874,1036387882,1016336432)+W(3,1040648584,1035357519,1020376880,1027533272)+W(4,1035998588,-1184440086,-1125005432,-1114418030)+W(5,-1092661254,-1131407372,-1107377807,-1086197480)+W(6,-1097533773,1017102598,1031309989,-1098594899)+W(7,-1106979748,-1128058314,1036182828,-1116322521);sum2=W(0,1035999136,-1123134927,-1099457044,1029223181)+W(1,1050206678,-1115721168,-1106245137,1032743888)+W(2,969652021,-1109098872,1035536761,1030968394)+W(3,-1138117380,-1105152866,-1136790748,1018474295)+W(4,-1107153986,-1129014496,1022472216,-1094833228)+W(5,1029163621,1043654862,1034397600,1052844759)+W(6,-1111905268,-1149928759,-1114537747,1046847142)+W(7,-1102858563,1033858063,968266517,-1116305850);WS(-1091215044,-1097536449); +sum1=W(0,1027816414,-1110004986,-1088688205,1036334229)+W(1,1054850406,-1085760696,-1088611549,1046343318)+W(2,1040414769,-1115511970,-1113122464,1041878433)+W(3,1047750528,1034437006,-1113420363,1017820267)+W(4,1025245044,1039037582,1049627927,1028067640)+W(5,-1089807987,1052669472,1048707955,-1104070412)+W(6,1024229024,1039929856,1043177720,990395721)+W(7,-1097347774,1048578060,1044644789,1028468150);sum2=W(0,1030624098,1042295753,1036847317,-1114440831)+W(1,-1132718391,1031424194,1050034374,988636086)+W(2,1016098323,-1120554286,-1119733782,1030310950)+W(3,1018716851,1035432255,-1114648667,1024855622)+W(4,-1115362087,1021176355,1027069126,1041890716)+W(5,1016671019,1028661170,1029167466,-1113867927)+W(6,-1097953797,-1108500823,-1183083952,-1130826523)+W(7,-1096082463,-1106095247,1027651154,-1146049358);WS(-1074893425,-1117971628); +sum1=W(0,-1152038187,1049322869,1052023128,-1094367290)+W(1,-1098786216,999054287,-1111356283,-1103630563)+W(2,-1114777697,-1093651375,-1106664801,1037656965)+W(3,-1124130662,-1094570594,1040611874,1025099466)+W(4,-1097322793,1034136520,-1107223211,1042452051)+W(5,1040732760,-1102728254,-1112379016,1049675109)+W(6,1057236855,-1125564586,1016544493,1040645714)+W(7,1055134184,1008351835,-1105965314,1040783587);sum2=W(0,1021526755,1032892007,-1116735450,1004001863)+W(1,-1116175346,-1099974349,-1096890588,1018968138)+W(2,1031843333,1040986630,-1103015201,-1139174407)+W(3,1009509771,1041412407,1035109709,-1131104448)+W(4,1024548251,-1130001464,1033584975,-1111481570)+W(5,-1071438395,-1121576034,1026017190,-1073615974)+W(6,1076155388,1024580999,-1164624762,-1146527383)+W(7,1041860718,-1106441216,1043256283,1074182350);WS(1040475912,1032695578); +sum1=W(0,-1155851319,-1123298122,-1112011377,-1124525022)+W(1,-1122500130,1056532699,-1091278169,1035372099)+W(2,1033773669,-1105035590,1054708857,-1172701842)+W(3,-1116930196,1026134833,1007501482,1014757675)+W(4,-1102944834,1035920825,-1136466746,1035534023)+W(5,1041895809,-1104812886,-1130626274,1055301749)+W(6,1039100863,-1111589035,1028924087,-1087252087)+W(7,1036316385,-1110262076,-1142366545,-1123874252);sum2=W(0,-1119792870,-1123886114,1041703749,-1109091355)+W(1,-1102054262,1049335147,1026232126,-1111337413)+W(2,-1113960445,-1111978783,-1114718085,-1118550690)+W(3,-1109065069,1020384670,-1124340572,-1142500624)+W(4,-1123320808,1026411366,1010537508,-1120034208)+W(5,1063803841,-1098413574,1015836410,1045621744)+W(6,1016064880,-1123461018,1041947548,-1088756378)+W(7,1030310973,-1122952578,999681904,1026268254);WS(1060902754,1050355625); +sum1=W(0,-1151083459,-1104333225,-1099711167,-1156790206)+W(1,1023922682,-1082482317,-1101534272,1011568442)+W(2,-1112644265,1053813598,-1107281952,1024500211)+W(3,-1104847739,-1116841801,1025001795,1033389138)+W(4,1047935457,-1120760458,975051222,1048936605)+W(5,-1103038759,1043235660,1040804594,1041411896)+W(6,1036831245,1030084558,998453633,1049946264)+W(7,1030797274,1035779080,1007099659,1037700978);sum2=W(0,-1120633215,1029646415,-1106066969,1036801640)+W(1,1045612039,1020964885,-1102845552,1043653368)+W(2,976462574,-1088569123,1041841354,-1100846658)+W(3,-1097687290,1054633350,-1101549413,-1115109418)+W(4,-1094622159,-1128436081,1051617655,-1098529900)+W(5,1062435502,-1120809462,-1108268977,1045091011)+W(6,1054359824,-1115259155,-1127923721,-1104869009)+W(7,1044975639,-1102739129,1041018201,-1101036113);WS(-1090140642,-1081743990); +sum1=W(0,-1130293844,1009886528,1037549524,1014408182)+W(1,1042594418,1037202321,1044394635,1031847606)+W(2,1035968392,1037634256,-1117833212,1041618980)+W(3,1033368909,1015596142,-1122700465,1009499077)+W(4,1031805064,-1107483388,-1148996265,-1119977588)+W(5,-1094879521,1035016080,1015837167,-1097431626)+W(6,-1101547735,1034663662,1032499967,-1119842097)+W(7,-1105308242,1030806526,1017023585,-1107123493);sum2=W(0,1006912162,-1120892227,1013646496,-1123785792)+W(1,-1071648513,1076150687,1057715626,-1091554339)+W(2,-1106043455,1049558148,1069469884,-1078529007)+W(3,-1113325201,1038760139,1035924910,-1108743589)+W(4,1034054467,-1113324539,1032589029,-1105735433)+W(5,-1110563164,1029343874,1043157583,-1103626228)+W(6,-1102425071,1029688242,-1120727508,1025732222)+W(7,1001130061,-1123660578,-1120545616,1028146935);WS(1055430148,-1108560690); +sum1=W(0,1035029338,-1107101862,-1122962962,1035961997)+W(1,1041930516,-1102453987,-1105458486,1036894711)+W(2,-1113968413,1050461237,1050880022,1018389269)+W(3,-1119268932,1049028992,1017425654,1026969083)+W(4,1037435821,-1114596033,-1109508687,1001804274)+W(5,-1115462345,1030068713,-1105968336,1049324163)+W(6,-1096034793,1041307521,1023650152,-1096234295)+W(7,-1109268985,-1110794404,1023939770,-1105484423);sum2=W(0,1015626891,1000680715,-1133145023,1020921672)+W(1,-1149322267,-1106033700,1034643892,-1131154511)+W(2,-1122484266,1030350968,-1155618307,1005570725)+W(3,1019773418,1027949553,-1127714103,-1125609227)+W(4,1038163303,1066461314,1057583079,967639540)+W(5,1027175814,1042500058,1070593780,1029820070)+W(6,-1107328459,-1075365186,-1076733999,1050725869)+W(7,-1113454879,1026351361,-1095092572,984351189);WS(1048611396,-1120253991); +sum1=W(0,-1134442421,1020368935,-1104843595,-1109906484)+W(1,1038629782,-1096452233,-1102655324,-1157090745)+W(2,1008425488,-1098953977,-1094801150,1019276152)+W(3,-1115994974,-1120481658,-1125379561,-1121251029)+W(4,-1116357012,1014414830,1029221016,1042068462)+W(5,1048790986,1052393436,1044033359,-1127594975)+W(6,1044903358,-1137141374,1029702657,1026936628)+W(7,1042932491,1022285443,-1117911220,1031973931);sum2=W(0,-1143746400,1036277891,-1111784437,-1129566974)+W(1,-1117052801,-1100779042,1028988774,1036033029)+W(2,1038502321,-1129810696,1044450885,-1123748463)+W(3,1043607047,-1108082071,1034348699,-1138810328)+W(4,1047551505,-1098527209,-1093517653,1050813877)+W(5,1077969880,-1071648362,-1081514759,1061486774)+W(6,-1131992338,-1107152864,-1089190754,1055586292)+W(7,-1108034712,1025200270,-1111885211,1040643987);WS(-1095808772,1065647947); +sum1=W(0,-1104862109,1050045579,1055051378,-1096536264)+W(1,-1101730853,1045989771,1051209263,-1101976087)+W(2,-1106707963,-1098537885,-1096666661,-1126516760)+W(3,-1108125731,-1104774017,1021791993,-1123882077)+W(4,-1106144343,-1139560206,-1101629224,-1152511995)+W(5,1051130659,-1101507019,-1118447811,-1114400236)+W(6,1057272194,-1098960762,-1103658466,1054814183)+W(7,1057816237,-1104521538,-1106849375,1047598263);sum2=W(0,-1114352725,-1134514653,1046325680,-1110633145)+W(1,-1113576661,1052343557,1030462840,-1120367533)+W(2,-1111220567,-1127265311,1028577898,-1147392026)+W(3,-1131596567,-1109705515,1023140267,-1123261925)+W(4,-1145236426,-1115188107,-1121981161,-1106205960)+W(5,1052169724,-1122467029,1009337269,-1121802017)+W(6,967975074,-1123885069,-1112707841,-1126550987)+W(7,1019189507,1036097210,-1109514951,-1125641651);WS(-1088656098,-1093593990); +sum1=W(0,1006243392,1046462824,1053407451,1009988669)+W(1,1040203342,1043824044,1054487499,-1118924498)+W(2,1015251645,-1099069067,-1107509853,1030956655)+W(3,1034196708,-1106663601,-1114843936,1032654584)+W(4,-1100605512,1021367180,1009810317,-1093246956)+W(5,-1110184012,-1115326423,1031892963,-1092703459)+W(6,1036164518,-1102894371,1009525296,1041099456)+W(7,1035276411,-1120762380,-1121673919,1040232112);sum2=W(0,1057379920,1047338924,-1111686548,1045046842)+W(1,1065556520,-1108706635,1044625920,1066661430)+W(2,-1079104557,1048831397,1040575208,-1100359290)+W(3,-1090732450,-1118381857,-1106604517,-1080513286)+W(4,1041926325,-1122209414,-1123157156,-1120613757)+W(5,-1107659276,-1118064370,1026048962,1010608356)+W(6,990146073,-1118722317,1036917588,1029226052)+W(7,-1148427089,-1128484108,999828841,-1122878530);WS(-1103417864,1032685901); +sum1=W(0,-1101895278,1021813182,999140540,-1113840082)+W(1,-1112947643,1035808888,1050838637,-1106883347)+W(2,-1106874992,-1112862903,-1089518824,1045150312)+W(3,-1140285221,991482976,-1123587264,-1122615424)+W(4,1049323684,-1104186210,1025795300,1026362243)+W(5,-1115046028,1015970396,1026463622,-1123649147)+W(6,1043843226,-1114287989,1028121997,1051398592)+W(7,1025625239,-1125179546,-1148228092,1032255888);sum2=W(0,1041601968,1032004449,-1107019340,1052414494)+W(1,-1094738093,1048799024,-1083281727,1061231009)+W(2,-1112254382,1026094686,1060484354,-1090047391)+W(3,-1106989530,1016363351,1028491114,-1124055261)+W(4,-1101889010,1028135044,-1118630717,1021676257)+W(5,-1113266306,1023423300,994543087,1040520305)+W(6,1047868927,-1123297050,1023744190,-1097572834)+W(7,1039531031,-1135541243,-1134044699,-1106439707);WS(1062251010,-1128406975); +sum1=W(0,-1117783082,998905218,-1114430084,-1122559590)+W(1,-1097132645,1043264160,-1117430765,-1111223497)+W(2,1027318465,-1109365760,-1137238321,-1118294493)+W(3,-1142140116,-1112437644,1012147781,-1122628178)+W(4,-1122146129,1030594936,-1200477464,1041522773)+W(5,1038499861,-1108127936,-1117296696,1049934150)+W(6,1038350478,1008104625,-1117164622,1040349396)+W(7,1022231761,1030977566,1016497826,-1161426505);sum2=W(0,-1125963325,1029071818,1035048481,-1117898288)+W(1,-1072766634,1075259304,1058090849,-1090182563)+W(2,1030742992,-1113008632,1062748800,-1084699977)+W(3,1021721886,-1113709765,1039805619,-1114032290)+W(4,-1131842712,-1139107970,-1121110162,1015521050)+W(5,-1099596444,1037152077,-1131029094,-1155119281)+W(6,-1124623837,1025197316,1018972128,1015646848)+W(7,-1146515621,1027813594,-1127481518,-1116189732);WS(1065708113,-1121751611); +sum1=W(0,-1113367966,1033929377,1004700116,-1151170552)+W(1,-1102777150,1048992314,1028879143,-1132161740)+W(2,1034637855,-1123817297,-1130586604,1008580363)+W(3,1029317996,-1119780649,997138991,-1122909571)+W(4,-1124121476,-1152107167,-1203182552,1029908854)+W(5,-1106962671,-1118004497,985230639,1021289212)+W(6,1010684790,1024857134,1024087440,-1145749780)+W(7,-1119558682,1030859440,1018524741,-1110778290);sum2=W(0,1007192988,982756722,-1128031215,1022085973)+W(1,1078660314,-1070139299,-1087213694,1059325611)+W(2,-1179370697,-1159362498,-1079390657,1067996709)+W(3,1000911377,1028041806,-1110724756,1033764027)+W(4,-1124806095,1022708360,-1176062153,1012976820)+W(5,-1095156098,1033425170,-1120463845,1030136738)+W(6,1019962283,-1124014927,-1138793506,-1131018297)+W(7,-1121497459,-1138055830,1016277465,1025926144);WS(1067144001,1026092834); +sum1=W(0,1014388109,1020396467,1049810486,1005864375)+W(1,-1100539124,1042867979,1055042333,-1110877439)+W(2,-1126225268,1044290490,1031992147,-1110133357)+W(3,1016160519,1034066560,1034565181,1033891677)+W(4,1040462414,-1132016387,-1120236446,-1103125415)+W(5,-1096204250,-1116193256,-1107048544,-1103579165)+W(6,-1091768605,1031444773,1010104860,1048911295)+W(7,-1112003369,1031923300,1030176378,-1114007278);sum2=W(0,-1108591076,1045671991,-1123834023,-1130823435)+W(1,-1095898825,1058163296,-1133291790,-1112679806)+W(2,1030441654,-1113640367,-1100325346,-1107310218)+W(3,1031713190,-1116067001,1016405480,-1128226189)+W(4,-1106172311,1024976861,-1114604843,1036568073)+W(5,1057311204,-1122476787,1033105292,-1115701009)+W(6,1044352434,-1111920852,1035411458,-1097367248)+W(7,1014762708,-1121017007,1031834977,-1106561364);WS(1057420226,-1092362255); +sum1=W(0,1020346174,-1144052776,1044920519,1032475105)+W(1,1019256762,1055322687,1052978802,-1121587297)+W(2,1033058515,1040777765,-1104246416,-1123769862)+W(3,1030782351,1041983019,1016898380,1024808486)+W(4,1027257637,-1116794957,-1114304581,-1103664666)+W(5,-1116373310,-1100439285,-1103967019,-1096869991)+W(6,-1096789598,1036089864,1018564517,1028318277)+W(7,-1106323631,-1130998630,1021198731,-1118572551);sum2=W(0,1006994613,-1130764191,1016741405,-1134184569)+W(1,-1134366153,-1112456708,1033077740,1034914936)+W(2,1009154259,-1132669129,1043198162,1033598449)+W(3,1021229932,-1126067903,1016038391,989883430)+W(4,1043863088,-1103907912,-1102863001,1020516693)+W(5,1071901111,-1076633620,-1084447988,1060988002)+W(6,1018979141,-1118646231,-1098165823,1043355315)+W(7,1022348007,-1118544043,-1113048166,1034096544);WS(-1105493768,-1082709441); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -3), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -1), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 1), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 3), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -3), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -1), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 1), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 3), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns64, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/gather/nnedi3-nns64-win8x6.glsl b/shaders/nnedi3/gather/nnedi3-nns64-win8x6.glsl new file mode 100644 index 0000000..a0ecea5 --- /dev/null +++ b/shaders/nnedi3/gather/nnedi3-nns64-win8x6.glsl @@ -0,0 +1,250 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns64, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,1035162146,-1123901891,1007614003,-1120714617)+W(1,-1121818163,-1105876799,1046176310,-1110752415)+W(2,-1120878363,-1120533037,1034124059,1035961863)+W(3,1027364554,1030225939,1009908268,-1123305414)+W(4,-1096860741,1046191054,-1110762423,-1114390527)+W(5,-1155422496,-1124524780,1023450788,1022953826)+W(6,-1116882705,1030599214,-1121901526,-1129324172)+W(7,1043289735,1052908756,-1096831458,1032526991)+W(8,-1129613106,1013731840,-1114991488,-1114841418)+W(9,-1135846624,-1113117446,-1142748844,1022915304)+W(10,1034530771,1039462233,-1127767760,-1117077507)+W(11,981289536,-1143328976,1025047056,-1116257712);sum2=W(0,1043465638,-1113612493,1000650931,-1131108965)+W(1,-1145266179,-1111438835,-1124179817,988544780)+W(2,1021344415,-1131299129,1003301507,1018501507)+W(3,-1106748353,1029599173,-1116852534,1025688791)+W(4,-1110118136,-1097100047,-1102659167,-1070139293)+W(5,-1123696315,1012522521,1031198431,1026178295)+W(6,1045881517,-1118230687,-1123043594,-1145056307)+W(7,1027449515,1027739737,1048052425,1078104617)+W(8,1024975831,1020199127,-1134523125,-1123515159)+W(9,1029259867,-1107504809,-1139914565,1018436747)+W(10,-1136112041,1036504803,1025133515,-1126127905)+W(11,-1162666156,-1131042995,-1120319069,995063942);WS(1061710334,-1113637247); +sum1=W(0,1036106897,-1122595552,-1138603692,-1121814583)+W(1,-1143950978,-1103580007,1048694647,-1109309294)+W(2,-1118153848,-1122508490,1032154570,1033251382)+W(3,1018454510,1033737112,-1140194465,-1138264845)+W(4,-1097890158,-1120177173,-1115559686,1030681928)+W(5,1012933309,-1120902675,1021617155,1019050396)+W(6,-1122735662,1024541667,-1125621862,-1131439046)+W(7,1042373458,1052689231,-1097437158,1044326142)+W(8,-1152998244,1016843898,-1107957310,-1113884080)+W(9,-1122620661,-1116003130,-1129805541,1023073058)+W(10,1034486114,1037961704,-1128614666,-1132933761)+W(11,-1144273714,-1155701620,1019245786,-1116304653);sum2=W(0,-1107084454,1023868855,1013908203,-1162960213)+W(1,1025411499,1029914487,1032930462,-1126626424)+W(2,-1127269937,1018748433,997665611,-1126548940)+W(3,1032525526,1048796624,1023571595,-1113327157)+W(4,1035900190,-1093496445,-1132699465,1076098019)+W(5,-1158385717,1000017309,1038561302,-1121182801)+W(6,-1104878976,1003078933,1024139725,-1133790043)+W(7,1026052839,-1109617402,-1104764998,-1072747140)+W(8,-1123007653,-1154085627,-1142783113,-1146184997)+W(9,-1121062518,1034207166,1007034787,-1130037920)+W(10,1025857863,-1118139493,-1123497947,1019199125)+W(11,1000677165,1016687665,1017680405,-1147685381);WS(1064800702,1030635520); +sum1=W(0,-1128056492,1024005652,-1122860750,1004285524)+W(1,-1110660706,-1116831438,1031878036,1035663048)+W(2,1028175148,-1143857649,-1204558974,-1128734654)+W(3,1035530413,1053335517,1021316024,-1122286551)+W(4,1023270757,-1093549817,-1100061872,984521208)+W(5,1005008153,1016449422,1042579293,-1136886024)+W(6,-1139373960,-1130762670,1022533838,-1116388951)+W(7,-1104621327,-1149876978,1035194194,1048911707)+W(8,-1135015336,1010510404,-1142259845,-1148999845)+W(9,-1121564617,-1129213371,1001429301,-1125657162)+W(10,-1142066105,1031904066,-1141986761,-1131931048)+W(11,1018152308,1020350678,-1111776529,-1120920449);sum2=W(0,-1120731382,-1116737087,-1150118671,1015139874)+W(1,1020112270,-1112637962,1031888972,1017539382)+W(2,1013963196,-1138130380,1010207212,-1126248934)+W(3,-1087320828,-1069693959,1028577839,1032711786)+W(4,1026899401,-1094071548,1078824499,1059502015)+W(5,1019091922,-1123861886,1040940327,-1119882792)+W(6,-1103666133,-1138801588,-1123435694,-1116703472)+W(7,1036639812,-1114441289,1009232228,1045823576)+W(8,1004924552,-1130443436,1029410629,-1131804892)+W(9,999422392,1029210329,-1140019692,-1140098908)+W(10,1023067274,-1131442506,-1118193829,1011539428)+W(11,-1137456436,1026106777,1007549476,-1130083750);WS(1058942782,1023618692); +sum1=W(0,1041771492,1025548876,1011693912,-1126072821)+W(1,-1110871838,1043278082,1035801072,-1110777188)+W(2,-1142526755,1015953709,-1146527995,1036426764)+W(3,1036961985,1037536142,-1122268692,1017195423)+W(4,-1103634941,-1105679152,-1091452759,-1094081945)+W(5,-1148709083,-1119884351,1040286827,1046715887)+W(6,1038780013,1023558139,982545387,1022607903)+W(7,-1103558179,-1130619215,1049096396,-1095962376)+W(8,-1122534754,1007174309,1031851588,1049101574)+W(9,1037537425,1035261291,1003763447,-1126061755)+W(10,-1136949949,1026350907,955835050,-1113879430)+W(11,1017517093,986004587,1006549707,1002869195);sum2=W(0,1001638233,1013509397,-1150616818,-1128639222)+W(1,1014385869,1037911199,1029376723,-1119841411)+W(2,-1135260845,1013815957,970306708,986023269)+W(3,1035428655,1024255335,-1125568566,-1118932607)+W(4,-1102461584,-1085129330,1063260126,1019940778)+W(5,959170344,1017551658,-1110526300,-1141011097)+W(6,1031481278,-1111645244,-1129687950,991022546)+W(7,-1110003004,1019019978,1026999545,1032753418)+W(8,1016351942,-1127392454,-1121764803,1033244979)+W(9,1028380841,-1115817479,1006676397,1018120650)+W(10,1021463302,1017625850,-1134958989,-1121385219)+W(11,1009569613,-1138867245,-1128128990,1025283273);WS(1037837808,1056377428); +sum1=W(0,-1105969090,-1138454045,1023727061,-1135573495)+W(1,1043223694,1039709953,-1116105371,1027945538)+W(2,1025656415,1021082723,-1111027805,-1100584037)+W(3,-1114548551,1046351686,-1123500111,-1118803082)+W(4,1051232418,-1100833583,-1122693874,-1126955510)+W(5,1018764077,-1115071549,1040497066,-1097887999)+W(6,1036383371,1034647805,-1111066541,1020600341)+W(7,-1103740252,-1101618713,1035274060,1053007142)+W(8,1025234525,-1116333124,-1138012047,1024768136)+W(9,1026657308,1033474888,-1115286797,1008936161)+W(10,1033814037,-1129756781,-1122516460,-1156882549)+W(11,1016891995,-1114238799,1010716753,-1123286772);sum2=W(0,-1100967324,-1130583533,-1121670462,1020978875)+W(1,1026290891,1032797386,-1122981488,1043179705)+W(2,-1138979633,966672716,-1120286641,1013196277)+W(3,-1096736455,1053186254,-1110731474,-1103298336)+W(4,-1104401130,-1091109944,-1112891412,1062358565)+W(5,-1152672163,-1122242747,1048200412,-1114052290)+W(6,1045958215,1043729632,-1119790394,-1105136733)+W(7,-1133705481,-1102472853,1033523405,1031005462)+W(8,1023845499,-1118586102,1033631266,-1113847816)+W(9,1033816035,1020355333,999102475,-1127100056)+W(10,1031959215,-1122532081,-1122874410,-1109547546)+W(11,-1147194793,-1127245018,1027184816,-1126209517);WS(1050865148,1032626572); +sum1=W(0,1043627312,-1101476879,1040042556,-1110436993)+W(1,1045700875,1033317691,-1108049256,-1118552440)+W(2,1040430485,-1096410465,1031191472,-1115060612)+W(3,1049906138,-1109025830,-1113356418,-1107890608)+W(4,-1115480133,1049713062,-1162779891,-1107535228)+W(5,1042925123,-1114330616,-1106727656,1025393771)+W(6,-1120749707,1051482110,-1105712244,1034032544)+W(7,1042738346,-1122810712,1035225158,-1095271743)+W(8,-1106585845,1042770518,1039553933,-1127443770)+W(9,-1103830356,1048543054,-1110201208,999321197)+W(10,1050825756,1031488492,-1106449960,-1104074479)+W(11,-1103219825,1009713998,1040395170,-1104755066);sum2=W(0,-1111924540,1007347355,1020193961,1024944996)+W(1,1057346437,1054940943,1049541488,-1107012648)+W(2,-1097010076,-1107952444,-1097277462,-1105023593)+W(3,-1116539066,1012341552,1015828472,1014966838)+W(4,1059914271,1066972918,-1109770505,-1107447750)+W(5,-1085761230,-1078926120,1043445868,-1142156696)+W(6,1034050704,-1113193567,1032934706,-1113612636)+W(7,1063973493,1056333532,1014122612,-1111197863)+W(8,-1084679416,-1092348708,-1118781870,1017043379)+W(9,1042584092,-1116104243,1021395599,-1116105943)+W(10,1045837843,1043326701,-1135977693,1016467631)+W(11,-1128370702,-1108363561,-1117573943,-1113967259);WS(1054811644,1027249161); +sum1=W(0,-1101358582,1036221579,-1100243090,1040940111)+W(1,1049141881,-1105999252,1038054901,-1113576073)+W(2,-1116754862,1037145120,-1104538698,-1132483205)+W(3,1014943347,-1109150355,-1119365790,1043481462)+W(4,1051960356,1048275427,-1106696288,-1097482896)+W(5,-1118995685,-1126689554,-1123112824,1036681666)+W(6,1036687602,-1109759237,1044780378,-1111878381)+W(7,-1118345360,1049145430,-1097940765,1022736646)+W(8,1038634998,-1101292557,1044474573,1019000333)+W(9,1028424107,-1122643648,1035929492,-1101638738)+W(10,-1113101949,1037909315,-1103674991,1038478827)+W(11,1034438878,-1126283866,1037239602,-1103799553);sum2=W(0,1016554458,1020144724,1015306072,1023766557)+W(1,-1137435361,1016553974,-1103467660,1021815988)+W(2,1032032312,-1105991725,1044555388,-1114856427)+W(3,-1116988904,1050162106,-1113107482,-1136376403)+W(4,1060795535,1075503478,-1102546407,1034521268)+W(5,-1127777881,1035804901,-1071164689,-1088370625)+W(6,-1104347057,1003678517,-1113447013,1038494252)+W(7,1072821349,-1113972415,1025406308,-1103257907)+W(8,-1120944929,1036418439,-1112563255,-1077590614)+W(9,1033762395,-1109441777,1024784188,1023629411)+W(10,1031283975,1037416902,1026085595,-1113239746)+W(11,-1123929939,-1140753514,-1112537357,995356642);WS(1055940220,-1124188157); +sum1=W(0,-1119569210,1043278990,1015763751,-1113999823)+W(1,-1147977024,1046188556,-1106256755,1015781094)+W(2,-1108336232,1006648968,1036478965,-1117684995)+W(3,-1094609330,1044340802,1022861696,-1115168029)+W(4,1041916962,-1108128054,-1095339972,1052603679)+W(5,-1101485874,-1110457109,1047885622,1033522483)+W(6,1033154083,-1106205123,-1113117029,-1114461725)+W(7,1057380776,-1095928258,1042723938,-1108564239)+W(8,-1114614567,-1108232826,1035899866,1036635468)+W(9,1021089498,-1107756257,-1121800074,1032164308)+W(10,1041299799,1027517543,-1171638077,-1125646960)+W(11,1034599135,-1115299047,-1131185034,-1139371156);sum2=W(0,-1136369034,1027353114,1013270421,-1120118804)+W(1,1015341014,1034464346,-1129939889,-1127959037)+W(2,-1113602386,-1114857235,1041751325,1033327798)+W(3,-1125884733,1035518448,-1117027367,-1120552641)+W(4,-1117887441,1043338219,-1095769137,-1117793827)+W(5,-1103868602,-1097589990,1049093640,1049619624)+W(6,1043285424,-1129166063,-1110780393,1016254148)+W(7,1049861339,-1128474295,-1117623897,-1095274849)+W(8,-1105817123,-1106207094,1035712363,1048627700)+W(9,-1140216380,-1120569751,-1133117880,1030787932)+W(10,1032330618,1018695247,-1129927717,-1128598589)+W(11,1004274322,-1120123842,1027229852,1035384499);WS(1057163582,1025817537); +sum1=W(0,1031655825,1046829204,-1121852313,1037167835)+W(1,1045084224,1046279122,-1093143228,-1096271953)+W(2,1016078798,1030441081,-1103697416,1033520525)+W(3,1038865075,987855837,1027044951,1034559945)+W(4,1057074420,1040167170,1050118415,-1085198281)+W(5,1036548879,974934139,1024989936,-1107583934)+W(6,-1105739319,-1112419405,1037598609,1039868489)+W(7,-1086525384,-1087515051,1047779928,1057217669)+W(8,1034922130,-1113468278,1044254259,1034776664)+W(9,1015381448,1037495244,1031626785,1007581568)+W(10,-1098926044,-1124461564,1015872616,1035805671)+W(11,1036139674,1017385676,-1113253902,-1134624240);sum2=W(0,1036526786,-1099879539,1023814631,-1136384493)+W(1,-1123632092,1043747658,1030342243,1028719631)+W(2,-1122280548,-1130733945,-1102737141,-1145098603)+W(3,1034332004,1013925981,1017810163,1033659202)+W(4,1050427835,-1100447595,-1093436173,1046758826)+W(5,1014543213,-1123106681,-1119158797,-1112406001)+W(6,-1106516740,-1101585218,1017781727,1009967381)+W(7,1041231786,1045006578,1042788701,1051870663)+W(8,1019870319,1013053757,-1107586767,1034292458)+W(9,-1131784625,-1112082470,-1141961139,-1118180802)+W(10,1010389989,-1117114477,-1113417628,-1114786901)+W(11,-1119739637,1012643781,1032164569,-1143106923);WS(-1081763615,-1092598780); +sum1=W(0,-1114318275,1026414532,-1122514966,-1130922677)+W(1,1028467828,-1127358845,-1121576984,-1127997567)+W(2,-1139280241,1002425203,1017010415,1023598927)+W(3,1017564438,1021344041,1015393433,-1136114845)+W(4,1061837768,1035926493,-1098266094,-1088500870)+W(5,-1123987795,-1136160989,1037585875,-1116904946)+W(6,-1095352826,-1116164091,1023447063,-1137786397)+W(7,-1095349722,-1114585584,-1148866211,1061435536)+W(8,-1131570741,-1116123969,1031742785,1040151266)+W(9,-1123782681,1012849463,-1140705115,-1142668459)+W(10,-1114677716,-1116920883,1024002537,1039772482)+W(11,1020007637,-1126849079,-1128808099,1007413957);sum2=W(0,1034408685,1036094407,-1117837187,1021958137)+W(1,-1098486326,-1110159069,-1147105428,-1106091708)+W(2,1024682325,-1116910593,1031154711,1028745769)+W(3,1033683959,-1124949158,-1115513274,1026312941)+W(4,-1088187103,1055280585,1061646324,-1094093059)+W(5,1039406737,-1117359799,-1100598283,-1105512708)+W(6,-1091894288,1027011647,-1112242113,1037370871)+W(7,1045036050,1045721104,-1106569597,1058519893)+W(8,1026080301,-1117139296,-1117345257,-1109806227)+W(9,-1107943508,1010459130,-1107052036,1033686533)+W(10,1034325435,1039418143,1030945863,1037199097)+W(11,991455177,-1112397476,-1124920152,-1144974476);WS(1049187708,1061143407); +sum1=W(0,1046469409,1033070593,-1121811767,1032206028)+W(1,-1086760535,-1113096094,1020031147,1044620591)+W(2,1022165171,1009114287,-1132628435,1049164066)+W(3,1049873346,1050639650,-1136528167,1032297330)+W(4,-1092765627,-1083700943,-1089881571,-1111788011)+W(5,1034535880,1024964917,1044844041,1051671486)+W(6,1041319460,1041542033,1031846890,1005295654)+W(7,-1092202425,1011207027,1033106537,-1127219501)+W(8,1011091807,1038185039,1026161438,1037004161)+W(9,1036329419,1043869975,1032778794,-1136496587)+W(10,1015330121,1026637361,-1112918515,991465499)+W(11,1018308239,1032129132,1019220893,-1134373563);sum2=W(0,1024038368,1022314468,-1139662759,-1123557888)+W(1,-1123190992,1040909663,1007232143,964997605)+W(2,1009594487,1011035391,-1119781676,-1170950771)+W(3,1016353740,-1149024430,1021700488,-1120649660)+W(4,1035500288,1059925772,1052797849,-1112234110)+W(5,-1122952928,1015425876,1021322900,-1122589660)+W(6,-1127462832,-1109226016,1025758640,-1119215196)+W(7,-1123381020,-1110751472,-1096670151,1032636001)+W(8,1024335912,-1115520552,1037872214,-1124742672)+W(9,1022909500,-1106595065,1025396502,-1134635263)+W(10,-1114698588,1016687528,-1095307242,-1103246759)+W(11,1026100870,-1128653768,1025386190,-1123038904);WS(-1080960863,1058419411); +sum1=W(0,-1111066847,-1112208894,1032983255,-1118700722)+W(1,1043965403,-1113907195,-1099715572,984198859)+W(2,1000248987,-1124179019,-1113914551,-1108783427)+W(3,-1099579692,-1090459763,1033094082,-1122641758)+W(4,1050672334,1061713555,1062349342,1049479517)+W(5,-1128328213,1023738862,-1095692932,-1105019770)+W(6,-1107128402,-1107276892,-1133773881,-1121000958)+W(7,1059583022,-1121054998,1033076198,-1099059374)+W(8,-1131329315,1027231576,-1108028092,-1099879371)+W(9,-1116550064,-1103159313,-1120123854,-1141737059)+W(10,1024684126,1026513898,1037355536,-1125040759)+W(11,-1113801521,1007580489,-1110661700,1024533736);sum2=W(0,-1129327601,1021214658,-1114687459,995719700)+W(1,1029045123,1037994429,1027238209,-1125739202)+W(2,-1154923092,1007115993,-1113434302,1025141617)+W(3,997717028,978476974,-1115935924,1024240180)+W(4,1036441804,1066236156,-1078687396,-1120915257)+W(5,1003062850,-1118441375,1035362808,1032546636)+W(6,-1140454571,1010080137,-1123062148,1025427056)+W(7,1022342240,1028953671,-1128218828,-1111104335)+W(8,1017727844,-1129048983,-1166615662,1033358736)+W(9,1002330866,-1152746908,-1131128122,999440794)+W(10,1024857232,-1126806088,-1128526870,-1147995690)+W(11,1019778022,1009762473,1024563904,-1165027863);WS(-1082880574,-1095080656); +sum1=W(0,-1111736159,-1128373242,-1123397517,-1120399523)+W(1,1037879414,1028697399,1019423266,-1111698940)+W(2,-1118524245,1027581671,-1119567216,1037066756)+W(3,1025039907,-1127950106,-1168421181,-1135116544)+W(4,1062200098,1023355236,-1098702381,-1092929515)+W(5,-1139610160,-1139561152,1027882718,-1131199446)+W(6,-1098593297,-1106461210,1037719400,-1131259136)+W(7,-1094756999,-1115312044,1018082074,1060991762)+W(8,1005358744,-1113962893,1022591155,1038218895)+W(9,1024172498,1028249110,1030740495,-1113348279)+W(10,-1106391640,-1109491766,-1114016273,1036669022)+W(11,1026868195,-1126548648,-1141634128,-1118950442);sum2=W(0,-1106890729,1031296198,-1118820752,1007561151)+W(1,1010626011,-1114880200,-1112391017,-1144059530)+W(2,-1152147163,-1120281594,-1136937433,-1140206187)+W(3,-1110907715,1032462388,-1121745985,-1128452386)+W(4,1052511775,-1094697844,-1096446085,1056169840)+W(5,-1114711449,993102387,1033067226,1034255225)+W(6,1035962501,1035033495,-1121584151,-1114861795)+W(7,1056886944,-1129701328,987032615,1031556034)+W(8,-1120009849,-1122813977,1013679559,-1104164393)+W(9,982365671,1035951051,-1129117272,-1120079456)+W(10,980377326,-1126702674,-1119286197,-1138039959)+W(11,-1118918686,1006646323,-1137374445,-1115367679);WS(1058795070,1058351276); +sum1=W(0,-1106246658,-1132244111,1032650784,-1129226172)+W(1,1041522846,1041471472,1048401911,1041614193)+W(2,-1140271486,-1130658915,1031926461,-1106977045)+W(3,-1102574120,1028257624,-1122312016,-1134152362)+W(4,1033352747,1030285885,-1088102699,1050141831)+W(5,-1115542891,-1119417531,-1124591186,-1121658742)+W(6,1004724909,-1128587973,-1118796187,-1145265749)+W(7,1056599450,1049138668,-1112285036,-1093353638)+W(8,-1155196377,1003429157,-1114299650,-1107883356)+W(9,-1150296521,-1107598873,-1131365684,1017891569)+W(10,1043369227,1040658126,-1120116589,-1122892680)+W(11,-1125742491,-1137642362,1034850634,-1130730345);sum2=W(0,-1109681111,-1134735936,1019878456,1018264792)+W(1,-1104210606,-1099909667,-1093714299,1028734812)+W(2,1029305888,-1113499692,1032419228,1025579416)+W(3,-1106212594,1037009054,-1143212320,1020074080)+W(4,-1098896203,1060586916,1047288883,1034660210)+W(5,1025031188,-1130541520,1030286292,1010388000)+W(6,-1132238328,1032289620,-1127882992,-1148803168)+W(7,1042866381,-1109339206,-1112028563,1031452084)+W(8,-1127563664,1026005920,1019446368,-1107165918)+W(9,990246720,1004132864,-1131165168,1017409120)+W(10,1023925320,-1112228144,1020410832,-1115169564)+W(11,-1123344268,1009015280,1029468412,989303425);WS(1043816952,1056206353); +sum1=W(0,-1115461859,-1107172113,1024900084,-1132948972)+W(1,1037119642,1039626815,1038250028,1034684352)+W(2,-1144087781,-1116127087,-1110088668,-1107088436)+W(3,-1097009915,-1102438229,1016358425,-1150680698)+W(4,-1095598055,1056604231,1051576078,1061195075)+W(5,-1117712852,-1114968828,-1102307882,-1113187289)+W(6,1024199571,-1148961467,-1115326124,-1160444148)+W(7,1057172865,1029312608,1010078034,-1088975285)+W(8,-1134624362,1012385158,-1122873761,-1103288997)+W(9,-1130723763,-1144998513,-1120343575,1019123435)+W(10,1039764276,-1112740858,1022450003,-1107729186)+W(11,-1114736693,1002559709,1034042985,1032878393);sum2=W(0,1031002711,1009667595,-1140675011,-1135809827)+W(1,-1114169661,-1124911966,1025543601,-1136033931)+W(2,1027957130,1004385158,-1108557845,-1107967067)+W(3,-1156373420,1010789683,-1147988326,-1137384851)+W(4,1056449903,1044469394,-1105219090,-1123691685)+W(5,1015282250,-1115586301,-1118550723,-1096033675)+W(6,-1122328477,-1135703979,-1172160176,1019754904)+W(7,1046754031,1034039333,-1111692677,-1118075063)+W(8,-1120013003,-1130287690,1005574774,1020360378)+W(9,1016962928,-1135289651,990940844,1006265798)+W(10,1024901767,-1111731157,1010975355,-1131889022)+W(11,-1127946498,-1169619760,1036125487,1025982043);WS(1049886076,1034318367); +sum1=W(0,1022042959,-1106141033,1006465467,-1140544720)+W(1,-1131075883,1032360624,966352080,1021784769)+W(2,-1160888244,-1121174096,1029412697,-1142660485)+W(3,-1104462159,-1100197533,-1118154094,1025588553)+W(4,-1086897182,1059041662,1051735858,1059646174)+W(5,1017231209,-1150715274,-1106256562,1042100949)+W(6,1029682164,-1112348667,-1111905052,996302474)+W(7,1057694799,1036690656,1029991670,-1085821075)+W(8,1024907260,1015672965,-1121375714,-1106530518)+W(9,-1117824763,-1123002959,-1122979160,-1125961261)+W(10,1030592201,-1155480906,1031029131,-1111853843)+W(11,-1120397516,-1124207481,1014936522,1017125029);sum2=W(0,1032320648,1027617785,-1118194097,-1110846605)+W(1,1029603693,1030911393,-1144235925,1027180085)+W(2,-1112673640,-1123614185,-1134544211,1033577170)+W(3,1000132981,-1102116254,1019764549,-1143898437)+W(4,-1119293171,1058397441,1058710858,1031570329)+W(5,-1129974305,1018853209,-1096477332,-1126616369)+W(6,1026769453,-1131321177,999139301,1008325379)+W(7,-1104852463,-1097515304,-1129394727,1031557517)+W(8,1036639048,1018401637,-1115701158,-1103611475)+W(9,1008054267,-1118482095,1024689095,997400075)+W(10,-1123234663,-1106708620,-1120094485,-1131248001)+W(11,1024391909,1017993989,-1134741251,-1119810656);WS(1058429118,1064863249); +sum1=W(0,983001563,-1115666854,1024394983,1021156518)+W(1,-1097350840,-1099725362,1049468028,1054264097)+W(2,964768362,-1149024695,1024539904,-1175841770)+W(3,1039490386,1046648007,-1131178666,1020219616)+W(4,-1115114453,-1085827188,-1104196510,1055450440)+W(5,1012766063,1022718592,1043203980,997016493)+W(6,1017911734,1043757188,1007341951,1016100640)+W(7,-1100930382,-1128095056,-1104186631,992909240)+W(8,-1136266891,1035657141,-1119513801,1033767351)+W(9,-1128564932,1045299318,964693930,994206685)+W(10,-1118903024,1023907580,-1105268364,-1122765517)+W(11,1016423590,1029236260,-1106015350,-1131557236);sum2=W(0,-1106696811,-1121907467,1018096716,1005391535)+W(1,-1100156814,1060662591,1051313221,1050575955)+W(2,1028021126,-1129063320,1029467086,-1098256564)+W(3,1026226746,1031305614,-1121648533,-1135288360)+W(4,1068258385,-1074657656,-1081952512,1047952814)+W(5,-1131820748,1008147176,1051661425,-1142136447)+W(6,1032267559,-1111725659,-1130245220,996459166)+W(7,-1095314974,1036231973,1031579134,1040750694)+W(8,-1168737402,1020424408,-1107714686,1035381379)+W(9,1028271694,-1108648643,1033610651,-1123582348)+W(10,1044691450,1044987108,1034169827,1007524520)+W(11,-1129848660,1024695710,-1100160947,1022647148);WS(-1083443454,998713176); +sum1=W(0,1040709994,1040668906,1026355790,1032696047)+W(1,-1087559501,-1103862520,1032459486,1040929033)+W(2,-1146095614,1033091241,1037090637,1049786774)+W(3,1036398699,1051748575,1034252472,1024354795)+W(4,-1102928053,-1093112676,-1097753826,1012490030)+W(5,1024780023,1037512365,1050721065,1047072725)+W(6,1035129883,1044965075,1032281789,1012872363)+W(7,-1092883854,-1099081393,-1100635790,-1114537329)+W(8,1024615038,1037286498,1011437457,1039546228)+W(9,1031400701,1048807512,1016830581,1027888345)+W(10,-1104850339,-1112352715,-1098186970,-1103916602)+W(11,1036010231,1033653631,-1114553850,1009955155);sum2=W(0,-1098289107,-1119785106,-1161872500,1035861958)+W(1,-1096172460,-1107697817,1049978705,1026686124)+W(2,1019723703,-1121217732,1027596044,-1113513064)+W(3,1033623622,1045692473,-1137177342,-1113290777)+W(4,-1091833397,1013412750,1024040864,-1098402027)+W(5,1033198374,-1107709748,1031079096,-1098063812)+W(6,-1106425659,-1117971136,-1103597964,1034613598)+W(7,1046082211,1057075430,-1127968019,1053770527)+W(8,1038124498,-1112843267,-1095279992,1012376430)+W(9,1019694879,-1114046628,-1111249467,1038756242)+W(10,1047895771,-1102204197,1052585151,1049090628)+W(11,-1120386622,1034273086,-1100444173,1045163433);WS(-1086369662,-1078015058); +sum1=W(0,1042615374,-1106499229,-1100066053,1024279387)+W(1,-1095346029,-1103658220,-1113085188,1054091094)+W(2,-1113840294,-1141254386,-1111759460,1050416872)+W(3,1049518735,-1115604002,-1104719791,1039589628)+W(4,-1097514477,-1100854410,-1103236040,1050614757)+W(5,1032485602,-1113439156,-1122281110,1048966812)+W(6,-1127523972,1049389829,-1125885710,-1113174076)+W(7,-1097175852,1026529231,-1108066658,1047781504)+W(8,-1119980106,1039770777,1032565272,1043919349)+W(9,-1102519338,1042212335,1024511623,-1111149795)+W(10,-1104719494,-1099302313,1048227542,1041501469)+W(11,-1104628175,1032389542,1036646913,1027138593);sum2=W(0,-1098738343,-1088925799,-1093473489,-1092512531)+W(1,1009177475,1026425874,1062426368,1063615535)+W(2,1030476954,-1120184004,1012050343,-1119750726)+W(3,1042571962,1043337888,-1076988140,-1081280020)+W(4,998962046,-1096426756,1066811408,1067242406)+W(5,1031881676,-1116680638,-1129159374,1025403720)+W(6,1033193400,1010020371,-1086556968,-1081342477)+W(7,1022780060,1026166068,1060290312,1066297017)+W(8,-1135563955,1004442726,-1115355073,1023044380)+W(9,-1102154130,-1126174974,-1121362077,-1107875638)+W(10,1017583668,-1119102823,1037059936,1052028857)+W(11,946141982,1034449190,-1127777686,1026819560);WS(-1129707456,1007685382); +sum1=W(0,-1098519836,1030394337,1044154267,-1134894751)+W(1,1044073412,1041040503,1013414869,1040671079)+W(2,-1134057701,1028314315,1035376874,-1109530006)+W(3,-1107874844,-1118678129,1038046773,-1111052786)+W(4,1038778991,-1107344299,-1098881194,-1103276809)+W(5,-1112561176,992777541,-1139987723,-1105794628)+W(6,-1111301144,-1115520098,-1128991721,-1192544411)+W(7,1048980909,1052479600,-1107120076,-1110522396)+W(8,-1112828028,-1132207293,-1112546431,-1108336721)+W(9,1015910765,-1103669035,-1122391156,1035051017)+W(10,1049200001,1051478546,-1111557603,1033063921)+W(11,999515194,-1119107128,1018554845,1023468750);sum2=W(0,-1110122518,1033612180,-1126465818,-1137824107)+W(1,1039063461,1047362418,-1106894813,-1137081539)+W(2,-1124656554,1023374342,-1117814890,-1158403413)+W(3,-1116868027,1039739597,-1158497445,1005362547)+W(4,1067526191,1071589227,-1106604299,1045165527)+W(5,-1115663214,-1148955153,1044031039,-1136640937)+W(6,1037998233,-1112420682,1021074352,-1119770196)+W(7,1061860820,-1077533661,1039276731,-1138568822)+W(8,-1123862185,999718675,1031122886,-1133800170)+W(9,1025116420,-1120069279,1034621027,-1138544392)+W(10,-1073373771,-1094637864,-1113398206,-1104439342)+W(11,-1139157324,1025985948,1031315442,-1106196407);WS(1033791472,-1138498893); +sum1=W(0,-1102835756,-1108646231,1014781903,-1143657507)+W(1,1044190455,1021681616,-1130492804,1024249065)+W(2,1008291608,-1128240816,-1112711792,-1107762844)+W(3,-1108649138,-1106020223,1018917100,1029133201)+W(4,-1115040338,1058377694,1054388603,1008218246)+W(5,1025256893,1014932868,-1123372431,1019895480)+W(6,1003669472,-1113672010,1016812674,998381448)+W(7,1046387590,1049136345,-1132293500,-1092207694)+W(8,1007448080,1008489644,-1123523050,-1111491159)+W(9,-1114481905,-1127743919,-1137667330,-1118545247)+W(10,1017676194,-1119541597,-1119594899,-1112726231)+W(11,-1112884042,1001709096,1028355707,-1123035739);sum2=W(0,-1106657768,-1106292024,-1120344268,1014470821)+W(1,1006830039,-1101139832,1032219219,1034825132)+W(2,-1124459301,1008940380,-1114556582,-1104684796)+W(3,1049926230,1054743689,-1106002658,-1114330800)+W(4,-1102461554,-1103958261,1049962194,1057813788)+W(5,1029827978,-1133852786,1050373872,-1111886229)+W(6,-1112305858,-1122403994,-1126273593,1024999308)+W(7,-1098680718,1040205712,996027236,1051810194)+W(8,-1109427720,1024816377,-1100520246,1035894797)+W(9,-1116955850,1030827431,-1123975632,-1127411221)+W(10,-1109277736,-1111240037,-1114551452,984340447)+W(11,-1117160816,1003623824,-1106040331,1014102650);WS(1060089726,1074996161); +sum1=W(0,1046443391,1039893948,1029119241,-1117558175)+W(1,1040714346,1021452133,-1093429938,-1083103171)+W(2,1023987857,1027140771,1030628716,1044503809)+W(3,1041448800,1035829124,1010789890,-1141503452)+W(4,1048946821,1021975771,1032282738,-1088988175)+W(5,1026874120,1026271340,1038764813,1038933875)+W(6,1041862066,1028398131,-1120312844,1037081758)+W(7,1040332065,-1090323173,-1142682180,1035486030)+W(8,1034225415,-1113760891,1041097413,1032949373)+W(9,1038548631,1047369209,1021223318,1027150698)+W(10,-1112512014,-1095359061,-1105296983,-1111879740)+W(11,1028642719,-1134282558,1046714577,1029165798);sum2=W(0,-1131662151,-1160974837,-1156760442,-1130708327)+W(1,-1104634511,-1148640061,-1119116140,1027052068)+W(2,-1117309872,-1132259207,1028521640,1037500532)+W(3,-1122121264,-1104012424,1005458237,1011385503)+W(4,-1101053828,1050251696,1053197196,1006726095)+W(5,-1129219511,-1148190653,-1121651972,1041142688)+W(6,1025508020,-1106371091,-1121500080,1015786967)+W(7,1043632028,-1115585403,1032166230,-1150821434)+W(8,1005943453,-1120252400,-1117076340,-1105814552)+W(9,1032453110,-1107217673,1008927007,1023017975)+W(10,1032061998,1045664978,-1143126685,-1116451706)+W(11,1024831312,-1126349911,-1103126409,-1120517680);WS(-1081408895,1057237802); +sum1=W(0,1050393725,1025037351,-1135569700,1016592219)+W(1,-1099121222,-1114451665,1021729271,-1096948620)+W(2,1026859007,1023688209,1033766733,1042338077)+W(3,1042967287,1042881918,-1134722237,1019913045)+W(4,-1104931659,-1092679092,-1107250293,-1123436299)+W(5,994107237,1017621813,1042265522,1036822635)+W(6,1033060699,1038993285,1019971573,1020337237)+W(7,-1098053310,-1091584672,1037602588,1047123275)+W(8,1033354815,-1147819555,1042862441,1043883210)+W(9,1028206140,1041649576,1027236154,1015924209)+W(10,-1092984777,-1089381821,1044331459,1034435092)+W(11,1035642823,963919445,1042007901,1029491668);sum2=W(0,-1092240358,1030963640,1036537032,-1127968320)+W(1,1016463192,-1097383073,-1105653780,1057542400)+W(2,1037438732,1019305024,1040975890,-1094079665)+W(3,-1097473768,-1109029546,1020801080,-1112917417)+W(4,1038201480,1052867895,1058712288,1053316325)+W(5,1028884816,1010261952,1013027424,-1101066411)+W(6,-1116583352,1028578068,-1127208552,1019615648)+W(7,-1123129572,-1141347136,-1093453186,1043894648)+W(8,1027371024,-1113360113,-1117505000,-1118015492)+W(9,-1113404853,1041090246,-1121416948,1023589392)+W(10,1006791808,1037486484,-1094394128,1034405836)+W(11,1034904608,-1104647878,1044943944,-1111557726);WS(-1076745215,1064070508); +sum1=W(0,1043437193,1030286820,-1138649581,1019383636)+W(1,1019299111,1027453406,1033675388,-1100863080)+W(2,1018313975,-1136380470,1031909515,1041928012)+W(3,1040316179,1048543741,-1127653591,1029667879)+W(4,-1110289513,-1082029409,-1084687593,-1102225484)+W(5,1026991539,-1136351578,1044625233,1043406276)+W(6,1029763954,1039947283,1022926189,1027426151)+W(7,983973284,1031954367,1026499316,-1111626052)+W(8,1027257018,1022902273,1039879984,1044339921)+W(9,1025479577,1041368223,1016119660,1004012708)+W(10,-1118301831,1016553765,1026134601,-1122995300)+W(11,1026798858,1027440187,1012331970,1022733729);sum2=W(0,1012459087,-1135045027,1008718823,-1131696089)+W(1,1039451269,-1110618065,-1125420309,-1112347233)+W(2,-1129595249,999949222,1007247903,-1158657302)+W(3,-1118135053,1033739972,-1140198251,-1149188438)+W(4,1024383435,1052741682,1052325325,1041969824)+W(5,-1130814181,-1140370763,1034080133,1015365577)+W(6,-1142742214,1015462815,1007479839,-1129603953)+W(7,-1121721953,-1095903036,-1120072309,1029891118)+W(8,1020979581,-1132990667,-1162307222,-1110453303)+W(9,-1126906553,-1135479163,1018622169,-1141563590)+W(10,-1105015368,-1098230278,1016803437,1017890385)+W(11,1008938691,-1137891195,1021342643,-1122346803);WS(-1094563452,1051169575); +sum1=W(0,1018130713,1035203109,1029393378,-1154622990)+W(1,-1120902330,1039535746,1032896399,1040428881)+W(2,1019319877,1036762426,1021002107,-1113835211)+W(3,-1113234793,-1106127031,1033996553,-1117775501)+W(4,-1102863965,-1090463816,-1112183035,1049040808)+W(5,-1135300966,1040237135,-1105904891,-1107942972)+W(6,-1114335628,-1112874623,1018491963,-1136342582)+W(7,961094679,-1098092733,1044702279,1048012112)+W(8,1032716400,-1137189022,-1124337998,-1148767576)+W(9,1023872671,-1110067034,1015760954,1032030382)+W(10,1033184663,1029109433,1035998904,1032915973)+W(11,1037223880,1013167238,-1110631596,1006151100);sum2=W(0,-1121092135,-1130520759,-1120070369,1028413027)+W(1,-1137632446,-1104029390,1037177446,1017337743)+W(2,1027578971,-1114678191,1033133092,999930971)+W(3,-1120753460,-1097640928,-1111535757,1012563150)+W(4,1048794348,1050145982,1051800696,-1106734706)+W(5,1030530567,-1119592910,1041394994,-1111694827)+W(6,-1098008778,999766235,1009477102,1011962278)+W(7,-1114477541,1047938812,-1106510696,1035782812)+W(8,1001961835,1024176823,-1127041263,-1118971109)+W(9,-1122757360,-1129371381,974823129,-1153318262)+W(10,-1111017918,-1123769252,1028214977,1010623246)+W(11,-1115486877,1007999422,-1124747017,1020162151);WS(1057759166,-1088449289); +sum1=W(0,1044873994,1037627635,1025446574,-1129635066)+W(1,-1116302487,1022204225,-1097118359,-1087389198)+W(2,1017011581,1021371937,1039292653,1048786726)+W(3,1041685209,1033910011,1017539549,-1144519245)+W(4,1022125102,-1105345911,-1129568803,-1089578865)+W(5,1025212662,1031878029,1045748274,1045860709)+W(6,1039651930,1035038013,-1122678010,1026395242)+W(7,-1122366800,-1097803608,1030050103,1010566389)+W(8,1013486066,1007580942,1033498658,1027479143)+W(9,1039320958,1038868536,1024557433,1025431320)+W(10,-1119554634,-1126568107,-1112614790,-1110122707)+W(11,1028360045,1015223035,1010965710,-1161253492);sum2=W(0,1033992046,-1149048922,-1124547002,-1162281894)+W(1,1038465062,1046094595,1036788056,1042856153)+W(2,1024284423,1035682376,-1100316514,-1093956780)+W(3,988741862,-1132541637,-1135956229,-1150111187)+W(4,1060179844,1049669935,-1097406101,-1112557119)+W(5,-1122577303,-1113139255,1022378118,-1090501223)+W(6,-1132011310,1024739191,965409433,-1145634890)+W(7,-1101657128,1042681611,-1104384368,-1121853795)+W(8,-1130855582,-1118824057,-1121116299,1045140163)+W(9,1008671821,-1129294934,1024679583,-1123274137)+W(10,-1111116605,1027020519,-1147059498,1032013500)+W(11,1006161754,-1124922046,-1131272734,1035479824);WS(-1086987838,-1100233980); +sum1=W(0,1041765192,1028094431,-1122325985,1015308459)+W(1,1042444900,1041449686,-1114108890,-1105415847)+W(2,1003799483,1034767973,-1106140165,-1111075669)+W(3,1042485054,-1118546351,1032904116,-1116672610)+W(4,1049087917,-1128556841,1046690691,-1092596043)+W(5,-1144225139,1033288361,1034284768,-1110170951)+W(6,-1118052589,-1116818498,1033123257,-1141168915)+W(7,-1089307961,-1094503991,1049735534,1054244345)+W(8,1010481109,-1121578684,1030527932,1026589088)+W(9,992241989,1015146386,1015833828,1001375875)+W(10,-1104029377,-1100869156,1041637233,1040724504)+W(11,1030765989,-1124977133,-1123717612,1008796465);sum2=W(0,-1100557855,-1106810438,1026284201,-1128145157)+W(1,1048654145,1057115188,1054522141,1057648426)+W(2,-1133425768,1017140792,-1103409060,-1122215769)+W(3,1042787919,1044596046,-1136599052,1012811840)+W(4,1046636853,-1074262745,-1073275189,-1098531848)+W(5,-1118227807,-1143532160,1035358469,1046426252)+W(6,1038174685,-1104618112,1011005728,992541697)+W(7,1044984510,1060082709,1059653331,1061008073)+W(8,1016191398,981079778,-1104639697,1036107748)+W(9,-1166127490,-1116633305,995789721,-1127430370)+W(10,1034192337,1033697834,1017274260,1035655860)+W(11,1006837720,1021901152,-1112828961,-1130597644);WS(-1092446204,989212831); +sum1=W(0,1048125124,-1131432602,-1116778591,1007124942)+W(1,-1141178857,1019782926,-1106585464,-1138101793)+W(2,1034583667,1015089582,-1115311760,-1102978326)+W(3,1042237585,-1138060917,-1121715541,1027403088)+W(4,1036610823,-1101006449,1037962972,1016240146)+W(5,1027127900,1008360193,-1114322839,-1110971902)+W(6,1027977243,-1126238792,1020332096,1019921952)+W(7,-1094792341,-1089064867,1053622732,1053191424)+W(8,1028625507,1017386452,-1137835047,1031189102)+W(9,-1131884420,1024321015,1020381759,-1139218425)+W(10,-1101892348,-1107274751,1049124886,1043276755)+W(11,1009465805,1008208785,-1110951117,-1132849129);sum2=W(0,-1088595541,1050146519,-1125980662,-1120159352)+W(1,1061831343,-1098317152,-1093128727,1060560783)+W(2,-1101640393,1038452583,1042347964,-1089452071)+W(3,-1090859444,-1107336769,1028063854,-1131578305)+W(4,1057012981,1069689231,1071289406,1057304640)+W(5,-1105624394,1041229675,-1096815763,-1095995319)+W(6,-1105868965,1041431951,1033612769,1021975879)+W(7,-1097221007,-1086042421,-1086794372,-1087527230)+W(8,1037791301,-1143180172,1049524493,-1104502319)+W(9,-1112749441,1042279365,1040487308,-1119579693)+W(10,1033122226,-1088997285,-1089785065,982969010)+W(11,1029453052,1049121852,-1135764460,-1104150062);WS(-1080642303,1037515653); +sum1=W(0,-1123461796,1009459592,1040389217,1014399585)+W(1,1037702505,1046330151,-1138501592,-1115821917)+W(2,-1134503912,1032999462,-1113097082,-1105260875)+W(3,-1118449912,-1111999897,1035628117,1025436037)+W(4,-1088063230,1048171302,1046961203,1046808963)+W(5,1011659972,1033647146,-1112931778,-1166545913)+W(6,1042449564,-1098862637,1019714410,1032176658)+W(7,1046621083,1033619294,1042823052,-1085801589)+W(8,1020514160,1023868127,-1108126015,-1116953058)+W(9,1015874414,-1108656118,-1129425897,1031481267)+W(10,1017602698,-1172911161,1022709518,1032561937)+W(11,1030447848,1015791986,-1161936349,1033606503);sum2=W(0,-1104932637,1043978669,1025910769,-1139497271)+W(1,1034980171,1042493673,-1116100213,1000924601)+W(2,-1154378706,1025837919,1038409695,-1102656208)+W(3,-1105480129,1037617885,1037339247,-1105297083)+W(4,1044002411,1050036780,1049988969,-1102785010)+W(5,-1109802618,1036616991,-1122964745,-1098474508)+W(6,-1107402541,-1105522985,-1123186639,-1111547600)+W(7,1039942071,-1097804729,1040977948,1045831134)+W(8,-1132149525,-1111839940,1028039731,-1106907325)+W(9,1011577705,-1102258444,-1137152287,1029488041)+W(10,1042714488,-1139888185,1025599417,1036894407)+W(11,1040500443,-1114191023,-1112698813,-1112976714);WS(1060124606,-1084472548); +sum1=W(0,-1112711971,1021193865,-1131934189,1012638700)+W(1,1032623962,-1117271615,1017460401,1024524352)+W(2,1027484509,-1157409515,1023262959,-1115629480)+W(3,-1125331574,1048955067,-1138043955,-1129347279)+W(4,1049120342,1015143283,-1094951982,-1113956442)+W(5,1010910287,1021584239,1031640934,-1108495481)+W(6,-1106488069,-1115361884,1022374575,1007380511)+W(7,-1110142007,1024310560,1005249701,1048203795)+W(8,-1144904917,1017598403,-1136673413,-1129214986)+W(9,-1120058426,-1118477310,992489843,996895579)+W(10,-1121731240,1036683482,-1129456851,1026650437)+W(11,-1145343061,1014521967,-1115998674,1017029987);sum2=W(0,1041723134,1018887182,-1129519836,-1113301049)+W(1,1012563935,1021107126,-1123219625,-1119425470)+W(2,-1135264199,1017265018,-1131491053,1013366251)+W(3,1065721494,1081282167,-1114997262,-1113144608)+W(4,1032971141,-1092304788,-1068115046,-1082046556)+W(5,-1135106943,927030725,1028331651,-1132479565)+W(6,1053752802,1004635839,-1144798799,1028189537)+W(7,-1120681827,1026059029,-1126716683,-1091841582)+W(8,983594844,-1137356791,-1132445755,1021570574)+W(9,1024321495,1032429021,-1123606042,-1135227415)+W(10,992723582,-1121765421,-1137534547,-1149813598)+W(11,959859164,-1123588459,1024141029,1010781703);WS(1064307390,997943845); +sum1=W(0,-1110031838,-1124632947,1004931163,1016504192)+W(1,1047561626,1003984285,-1129767067,-1108555962)+W(2,1004953741,1018940039,1017992857,-1114174882)+W(3,-1106796660,-1132488742,-1125536771,1001468389)+W(4,1053522405,1050670238,-1097456765,-1106350773)+W(5,1000370245,1015934681,-1136221548,-1106382906)+W(6,-1111862756,-1111316170,-1157300426,1024701821)+W(7,-1128004006,1039422954,-1110123941,1040312105)+W(8,1011062590,-1128259885,1020844396,-1123896954)+W(9,-1153319146,-1116314499,1014991280,1008115882)+W(10,1005773541,1042190650,-1109063375,1030600762)+W(11,-1153739770,-1130969505,1024320647,1015300557);sum2=W(0,-1100095598,-1119632397,1018720963,1036505224)+W(1,-1110028565,1025734363,1033659023,1039944480)+W(2,1017378303,-1126149289,1015545311,1016119595)+W(3,-1082101932,-1072130218,1035136259,1037554666)+W(4,-1103479495,1012777017,1074634461,1064933062)+W(5,1022196513,-1118704038,1036162128,1036578506)+W(6,-1090292986,-1114842502,1012123245,-1131720942)+W(7,-1132873326,-1117820012,1046242606,1057038142)+W(8,1020047721,1033886326,-1115011900,-1120419990)+W(9,-1108983905,-1105383800,1024471767,1027168757)+W(10,-1117294599,1033191694,1041395450,1018437263)+W(11,-1136709697,1024978781,-1113427773,1004277346);WS(1053812476,-1113586226); +sum1=W(0,-1111011390,-1120416825,1028349447,-1130399840)+W(1,1037708373,1044272829,-1105796643,1007197394)+W(2,-1139049030,-1125249991,-1110423782,-1122978308)+W(3,-1107941440,-1106086226,-1121520129,1021963321)+W(4,-1093131829,1057081835,1046348585,1056809437)+W(5,1011721762,-1114497366,-1099751719,-1122097703)+W(6,-1129958415,-1107644952,-1115853964,1020769785)+W(7,1059679544,-1119895572,1050300257,-1090756230)+W(8,1018253471,1022041005,-1111488955,-1102044582)+W(9,-1122155502,-1114352785,-1121122124,1021860117)+W(10,1040260199,-1110926804,1041113720,-1116443513)+W(11,-1121197023,-1135672898,-1156322407,1019054925);sum2=W(0,1010541588,1032866568,-1121994623,1015672618)+W(1,1020421847,-1095022641,1011616452,-1115998566)+W(2,1015113530,1017019595,1020628925,-1129704409)+W(3,1044676778,-1124040172,-1127744422,-1149412980)+W(4,-1097106911,1015017230,1058620442,-1107438884)+W(5,1022483811,1015061518,-1113422252,-1112769863)+W(6,-1102290659,1029499881,1024671460,990134373)+W(7,-1104275347,1045525693,-1104592911,1049322309)+W(8,-1114030797,-1136765715,1026741584,1039268635)+W(9,-1120084193,1001699435,-1125579600,-1132259460)+W(10,-1119993661,1037165892,-1123886068,1035840939)+W(11,-1131682952,-1134246014,-1126762930,999745387);WS(1059863230,-1098226968); +sum1=W(0,-1130042625,1044463840,1033627108,-1111154474)+W(1,-1126659421,1045974478,-1125693093,-1124092147)+W(2,-1109234699,1026252457,1040744732,-1116454602)+W(3,-1098768819,1036585799,1018934285,-1111220881)+W(4,1040108899,-1098844542,-1094381437,1043860042)+W(5,-1103478147,-1107008620,1043775752,-1149847241)+W(6,1041677635,-1100472134,-1108034825,-1156119577)+W(7,1051479065,-1096809363,1038465479,1034781361)+W(8,-1127254569,-1105262391,-1121805723,1046003792)+W(9,1038444026,-1111999396,-1116166225,1035708952)+W(10,1040658808,1003830125,1019243847,1027036095)+W(11,1038964162,-1116821910,-1131289879,1037992790);sum2=W(0,1008804487,-1119320351,-1114215534,1031860762)+W(1,-1130814575,-1126605754,-1105317049,1036033743)+W(2,1042429978,1019583714,-1103884858,-1114717025)+W(3,1028769566,-1145928741,-1123072391,1037917300)+W(4,1029943513,1058632863,-1104666827,1033869945)+W(5,1050527129,1057878257,-1084821476,-1097519272)+W(6,-1118791492,1035112755,1036233577,-1121765219)+W(7,1010033985,1033184724,1043081028,-1103277106)+W(8,1047090522,1050006554,-1108906997,-1091781337)+W(9,-1119166399,1034891236,1007761049,-1113082189)+W(10,-1124066564,-1146667244,1003334201,-1110309063)+W(11,-1116436299,1037673833,-1124982586,-1105454190);WS(1053829756,-1108691549); +sum1=W(0,1034972923,1031518451,-1117035633,1014621415)+W(1,-1121242915,1011744694,-1146432572,-1105089900)+W(2,-1125107735,1024600093,-1195363583,1024842558)+W(3,1028891034,1043029617,-1121088251,1017668333)+W(4,-1099260407,-1096216885,1052288956,-1111069516)+W(5,-1111257697,1022444749,1043236853,1035963185)+W(6,1037608353,-1118505878,1027915142,-1113943163)+W(7,-1109446679,1033001703,1040529537,1043183409)+W(8,1008767270,983774736,-1110826184,-1104376301)+W(9,1008280866,-1114328254,1018110476,-1117882340)+W(10,1023717270,1038283409,1025673432,-1127832039)+W(11,1021787123,-1122279626,-1136644866,-1108863440);sum2=W(0,-1153535168,-1133074596,-1128158188,1011466728)+W(1,-1113493290,1031842286,-1108077390,-1121363658)+W(2,-1121975877,1032726750,-1114077565,1016979229)+W(3,-1111924694,1041916532,1021341187,993685376)+W(4,-1096696142,-1097359431,-1088803436,1048370655)+W(5,-1126878203,1020447303,1051606360,1032702600)+W(6,-1115375045,-1111577830,1016637363,-1125064327)+W(7,1066069354,-1102058354,1048268187,1050909934)+W(8,-1115472084,1011253904,-1106393780,-1108957150)+W(9,-1121861231,-1139232914,-1142265296,-1135616946)+W(10,-1112810542,-1108918948,1033829714,1028734454)+W(11,1032484333,-1135690267,-1124153420,-1104652034);WS(1043379192,-1131322837); +sum1=W(0,-1109595831,-1141769560,-1148980502,-1129021027)+W(1,1042153991,1016895818,1040943040,1033800339)+W(2,1026187331,1023917269,1029537886,-1099711038)+W(3,-1131540259,1038059198,1015261926,-1117253390)+W(4,1040857522,-1103092216,1019360940,-1099641090)+W(5,999787984,-1137467256,1032384358,-1104535414)+W(6,1043151230,1040366611,-1130947836,1024719214)+W(7,-1091529984,-1100986498,-1120007803,1047704456)+W(8,1021851650,-1117455240,1031568104,1043292971)+W(9,1036650848,1032003186,1010796022,974083843)+W(10,-1116706574,-1114490317,-1135300928,1032688054)+W(11,1021119266,-1124200964,1026900536,1019020464);sum2=W(0,1028175283,1010285366,-1143073539,-1127801857)+W(1,-1133354170,-1111757330,1022418743,-1129802997)+W(2,1029358411,-1119713292,1032847739,-1129332011)+W(3,1045024365,-1107796176,-1114698807,-1106914355)+W(4,1035388549,-1099199714,1055188047,-1109183829)+W(5,984677997,-1126683209,1027769667,1028119663)+W(6,-1093181393,-1094857339,1034854605,-1129241721)+W(7,-1108056884,1042537531,1038631095,1060464193)+W(8,-1117802232,1025618013,-1123722407,1015260775)+W(9,-1104001534,-1106206681,1026781991,1015357631)+W(10,1019867695,1010545294,-1121422795,1035894131)+W(11,-1116557581,1021478623,-1120402439,1021694327);WS(1049844732,-1121310639); +sum1=W(0,1044402267,-1106734859,-1099209689,1023733410)+W(1,-1096212219,-1103164857,-1108848000,1053233309)+W(2,-1114613442,-1129199659,-1109302031,1051767783)+W(3,1050332331,-1111686974,-1102957277,1040893204)+W(4,-1099336615,-1097562740,-1098618899,1049912979)+W(5,1033787229,-1111886543,-1121562509,1050917291)+W(6,-1122456058,1049981942,-1136674298,-1114244983)+W(7,-1096335583,1033031043,-1111429758,1048539349)+W(8,-1121890370,1041151474,1039550692,1042792075)+W(9,-1102278760,1043895987,1021220348,-1108461358)+W(10,-1102589972,-1101337719,1048170180,1039273110)+W(11,-1104020956,1031699907,1041281742,1008842338);sum2=W(0,1040398919,1056364330,1052363768,1051830333)+W(1,-1112895824,-1128031249,-1088095023,-1088812275)+W(2,-1120174945,1022839272,-1126124865,1030823820)+W(3,-1105094784,-1117763636,1068323273,1062286287)+W(4,-1110939052,-1122350162,-1086712736,-1083945825)+W(5,-1113476028,1031923437,1034881723,-1131257287)+W(6,-1117097644,-1135317262,1058036233,1062941652)+W(7,-1107088013,-1117471490,-1090471655,-1085128967)+W(8,-1149114843,-1131972943,1022005418,993374262)+W(9,1045469136,-1127713443,1029358050,1038399576)+W(10,-1128774604,1023889083,-1118175248,-1096613184)+W(11,1015689530,-1114795832,1006015479,-1124473506);WS(997080576,-1130763300); +sum1=W(0,-1121320815,-1108108727,1030153879,-1113905570)+W(1,1025325853,-1131460303,1032364321,1038521748)+W(2,-1123369669,-1111143084,-1152289285,-1108459484)+W(3,-1100762033,-1090117932,-1152616277,-1117230256)+W(4,1040312882,1063008042,1069923213,1051702873)+W(5,1018134009,-1116551136,-1092045374,-1099800679)+W(6,-1109500574,-1102311764,-1112646432,-1146808706)+W(7,1056019095,-1115439812,1028696893,-1104049339)+W(8,1015899783,-1120248394,-1105934578,-1100849447)+W(9,-1119610882,-1099135446,-1120216576,-1186209359)+W(10,-1125581089,-1116447004,1030578386,-1120830317)+W(11,-1113190874,-1120342084,-1108771165,1028735898);sum2=W(0,1025142055,1033634795,-1115062100,-1130955153)+W(1,1041203911,-1151569099,-1124058081,1025405091)+W(2,-1107186683,1041850582,-1098708869,1034798579)+W(3,-1114031272,-1115074190,1040485485,-1114768924)+W(4,-1160505239,1065129660,-1104495565,1047530952)+W(5,-1097808347,1045395705,-1095909934,1048498835)+W(6,-1110799922,1039570131,1040365390,-1102247365)+W(7,-1115442088,1037120419,-1102056033,1038913214)+W(8,-1106337339,1007217475,1024518769,-1105078519)+W(9,-1112489130,1035629875,-1134789779,-1105380703)+W(10,-1145632358,1035843769,-1104428707,-1123724877)+W(11,-1152795787,-1124566009,-1117935125,-1109649658);WS(-1078383103,1059446981); +sum1=W(0,-1142609202,1008862865,1022304576,-1139864362)+W(1,1048881003,1047898440,-1100327790,-1105667544)+W(2,1019807480,-1128249884,1029966423,-1110989208)+W(3,-1109139429,1032501274,1007335089,-1117916615)+W(4,1053051896,-1104044598,-1089810345,-1098424968)+W(5,-1114518074,1013296733,1040575921,1023833874)+W(6,982044231,-1115332063,1022280942,-1119884647)+W(7,1051763270,-1113330784,1049118183,1033240873)+W(8,-1110353213,-1126749570,1041606896,-1114053146)+W(9,991223187,-1102309771,1034312731,1023668405)+W(10,1027424455,1032557738,-1110413061,-1140016273)+W(11,1021514772,-1121516731,1041157596,-1122699729);sum2=W(0,1050457027,-1104882348,1022767513,-1143648694)+W(1,-1095258955,-1116653154,1017677825,-1090901428)+W(2,1034828442,-1149114774,-1125154789,1047388223)+W(3,1052893834,-1122824043,-1138915747,963325627)+W(4,1030383529,1063122641,1048412513,-1090554669)+W(5,1040557770,1005930742,-1118207917,-1114292033)+W(6,1019582897,-1094902239,1031585165,1040530304)+W(7,-1089352859,1057380402,-1104950416,-1101863176)+W(8,980397999,1033506230,-1102824630,1048190601)+W(9,-1113748748,-1090635807,-1120690652,1008260859)+W(10,-1106433792,1049388154,1056780417,-1120605391)+W(11,-1115355457,-1136517107,-1104842210,1038107916);WS(-1104952056,-1073278929); +sum1=W(0,-1099507218,-1116651974,1031125659,-1144211169)+W(1,1043300637,1037274304,-1113308557,1047627264)+W(2,1030331294,-1122667056,-1126577137,-1098196346)+W(3,-1101060075,-1105066053,-1142367854,-1121100585)+W(4,-1102367022,1051689271,1039149624,1054491321)+W(5,1026346581,-1120693369,-1106731162,-1102852173)+W(6,-1131576359,-1114707952,-1114298540,1025675017)+W(7,1044811828,-1128472513,1042584197,-1106626380)+W(8,1018492983,-1140414731,-1126957444,-1111689619)+W(9,-1120605819,-1111900952,-1122834968,1036563163)+W(10,1045578618,-1115669626,1039018645,-1128818827)+W(11,-1128018583,997033420,1025441875,992521004);sum2=W(0,1036324905,-1124977156,-1139616023,-1117577133)+W(1,-1164734594,1032695755,-1115101040,1012676607)+W(2,-1110394349,1006188424,-1116113854,1039853902)+W(3,-1120808104,-1109376562,1028627780,997820975)+W(4,1041759226,-1096754642,1049990275,1041273688)+W(5,-1120661488,1033535767,-1106762918,1041255405)+W(6,1029259135,-1145526876,1032747040,-1114909048)+W(7,1041324783,-1094055114,1039154681,1043064430)+W(8,1021759445,1023476809,1025837595,-1111929038)+W(9,1022442689,983753970,1030832637,-1116006677)+W(10,-1098711698,1023440264,-1115224952,1027909669)+W(11,-1133986843,1029342490,-1112181665,-1130147608);WS(1057403966,-1096678293); +sum1=W(0,-1133819725,-1127594402,1013920108,1015545167)+W(1,-1110196161,-1123399563,-1136130453,1037006758)+W(2,1028708905,-1119121787,1041684833,-1111752718)+W(3,1031500952,-1107540753,991347091,1030182836)+W(4,-1086200264,1060132444,1040431359,1042283546)+W(5,-1120221088,1006406689,-1104881213,1047364560)+W(6,1042502792,-1120427420,-1130110920,1031028372)+W(7,1049379651,1001749345,1042737160,-1084295706)+W(8,1002061113,1026883950,-1117219726,-1113607001)+W(9,1023814022,-1113612941,-1127755335,-1137745417)+W(10,1023472436,-1123659840,1042334622,1019878434)+W(11,-1124476270,1011156129,1008021369,1017968636);sum2=W(0,-1129322914,-1117835702,1027650789,-1178786588)+W(1,1036181740,1050236879,-1106357388,-1116170217)+W(2,-1132924585,-1127926494,-1107702296,1016863918)+W(3,-1120140062,-1110565129,1010647389,1004569898)+W(4,1029537087,-1121260831,1051050908,1012300621)+W(5,1007741857,-1147888890,1019718506,-1115347042)+W(6,1046200355,1035331810,-1128412421,-1130907066)+W(7,-1105419536,-1104188032,1038925264,-1094299123)+W(8,-1122466004,-1132432621,1035623426,1018471790)+W(9,1040609034,-1114775527,1019136642,1000455394)+W(10,-1148832482,1009994365,1028674911,-1110352470)+W(11,-1132484471,-1146317634,-1129304944,1031812039);WS(1056335484,-1129697442); +sum1=W(0,1026825265,-1162479083,-1123816285,-1118615510)+W(1,1045269336,-1122870505,-1175208362,-1102686619)+W(2,-1140818205,-1112741005,1025178018,1031523962)+W(3,-1123245334,-1115166368,-1126548591,1016357093)+W(4,1056143939,1022501065,1012633705,-1112742573)+W(5,1004860403,-1121817826,-1098786498,-1115481871)+W(6,993334229,1009460392,-1125007109,1017679973)+W(7,1044007618,1043433395,-1110640192,1048503365)+W(8,-1134864917,-1142571619,-1104721331,-1107348056)+W(9,-1117686884,-1110259820,-1127256452,-1130509569)+W(10,1037226473,1040188728,1008538193,1010107581)+W(11,-1120701013,1004599859,-1112073470,-1124234681);sum2=W(0,-1126783010,-1144859189,1018164054,-1140731697)+W(1,-1110815467,1039236492,1011714049,1035005186)+W(2,-1127206230,-1146205013,-1130754383,-1144657885)+W(3,-1148034885,-1111621890,1033668632,-1116322329)+W(4,-1109778149,1053123628,1057652336,-1112384840)+W(5,-1113225660,1012470213,-1107649638,-1113329105)+W(6,1034430751,-1133278289,1006827755,-1110091010)+W(7,-1113563636,1009902097,1035575897,-1103655808)+W(8,-1113811608,-1126431906,-1136830370,-1112793157)+W(9,-1134565598,-1106732021,978878091,1024608202)+W(10,1031837967,1032913014,1017810394,1007536733)+W(11,1007646275,-1123083034,-1118754368,-1131576514);WS(1064654654,1035088379); +sum1=W(0,-1101065371,-1104968795,1013730923,-1123150274)+W(1,1034671630,-1116995686,1043838624,1052021669)+W(2,-1124628232,-1123853974,1025043295,-1103122974)+W(3,-1104298005,-1097917367,-1143080352,-1124984926)+W(4,-1125221929,1053311748,1053857683,1050953841)+W(5,-1122875259,-1129945790,-1101557747,-1102292982)+W(6,-1115560637,-1112072243,-1120446591,-1115541655)+W(7,1054064059,1056948345,-1118042236,-1098028717)+W(8,-1115475969,1010096420,-1099829586,-1102206963)+W(9,-1121553409,-1101025669,-1123168830,1019709882)+W(10,1047317764,1051915779,1024509393,-1117850604)+W(11,-1120157778,1010117900,-1105952782,-1123986585);sum2=W(0,-1109338596,-1120873277,1036300391,-1115290116)+W(1,-1101682429,1045633640,1031940424,1052546267)+W(2,1027635895,1021591180,-1121551223,-1106866549)+W(3,-1133763869,-1110763968,1023887773,-1109664288)+W(4,-1094977574,1050150667,1046589307,1041363997)+W(5,-1119215823,1009099129,-1110488084,1008614181)+W(6,-1104363651,-1111086518,-1112746552,1031338337)+W(7,-1104681827,-1121584221,1026186944,1038758869)+W(8,1016354897,-1115537942,1035823152,-1120223295)+W(9,1014654409,-1113327782,-1123357025,1029647363)+W(10,1042076972,1033926660,-1114411312,1011886363)+W(11,1012736237,-1109553196,1046305164,-1111033402);WS(-1088190206,-1108558078); +sum1=W(0,1048826552,-1100191472,1034096473,-1109712467)+W(1,1045129740,1021528052,-1104233509,-1117596347)+W(2,1040739958,-1095362037,1015098342,-1145103958)+W(3,1051587686,-1114238856,-1111503908,-1111610193)+W(4,-1123092480,1045282957,-1118548075,-1112703594)+W(5,1043699492,-1112734841,-1105600408,1033306871)+W(6,-1124911644,1053388852,-1109918121,1029528067)+W(7,1041941490,-1121835291,1040678692,-1094857227)+W(8,-1106244021,1044475255,1043572363,-1116887040)+W(9,-1101598429,1049826386,-1110290409,-1130336610)+W(10,1050563972,1032628503,-1108498290,-1102065648)+W(11,-1100499697,1015959598,1041251987,-1101594283);sum2=W(0,1033121292,-1135675176,-1122134368,-1140036524)+W(1,-1094559771,-1090683436,-1102563608,1020537037)+W(2,1048560917,1043095342,1049536131,1042598592)+W(3,1022385651,1037868584,1023368729,-1124742331)+W(4,-1089829937,-1081905013,-1097085277,1017232470)+W(5,1060516603,1068776853,-1122385293,1015761873)+W(6,-1113410705,1034815986,-1117935205,1025643512)+W(7,-1085580324,-1093433405,-1107749524,1026038978)+W(8,1062905414,1053234619,1034046493,-1119606047)+W(9,-1106876578,1029051910,-1121900993,1029315286)+W(10,-1100509010,-1107168757,1013163432,-1116418603)+W(11,1023262329,1038509970,1020109569,1037794408);WS(1048802172,-1118644607); +sum1=W(0,-1112271863,1008285357,1001330921,1022629891)+W(1,-1112205646,-1137992085,1007889405,-1115934246)+W(2,-1125264263,-1127716075,1025826270,1050188943)+W(3,-1106982824,1020475895,1023807923,-1147098739)+W(4,1044651974,1050363724,-1095657203,-1110669107)+W(5,-1113499645,1026946398,1011316531,1026008921)+W(6,958183765,1025640422,1028532286,-1129374813)+W(7,1050921091,1050665633,-1090481180,-1113474437)+W(8,-1121270209,1021652689,-1131537104,-1106529387)+W(9,-1133565569,-1106868493,-1151549405,1031375324)+W(10,1037811271,1049383075,-1104624276,-1104303995)+W(11,1014192325,-1142930963,1022847857,-1125009457);sum2=W(0,-1089262209,1032931419,-1119933527,1016559128)+W(1,1058569170,-1097574423,-1108360154,1053795811)+W(2,1008650912,-1121755244,1036603460,-1094475155)+W(3,-1094914643,-1096197918,1034816070,1008526536)+W(4,1052760357,1058007152,1069558608,1052999976)+W(5,1039081818,1004102711,1022028102,-1106271635)+W(6,-1101210129,1049415798,1026554777,1018959568)+W(7,-1106340652,-1101474305,-1085501184,-1103281588)+W(8,1033515588,1032461240,1027756295,-1121182797)+W(9,-1128790619,1043157162,1046177388,-1112891495)+W(10,-1114646508,-1096632714,-1088254262,-1098019814)+W(11,-1118822413,1043397723,1015426864,-1124734105);WS(-1085648446,-1079079370); +sum1=W(0,1036117159,1003975776,-1114079994,1031831473)+W(1,-1094329359,-1097850009,1042007752,1049939273)+W(2,1023486628,1019647980,-1134555900,1040633606)+W(3,1044164867,1045647319,-1118896788,1031367567)+W(4,-1089391360,-1087218668,-1095211959,1043312672)+W(5,1023951387,1014099708,1044809099,1041283678)+W(6,1033826253,1041970952,1033718927,-1123680847)+W(7,-1100203021,1033960979,-1116359196,-1122554975)+W(8,1017251780,1031788713,1042238738,1046447947)+W(9,1024952417,1040029267,1033541103,-1123944253)+W(10,-1108529239,-1111794397,1026974961,-1176880640)+W(11,-1146375056,1033511473,996515216,1024390649);sum2=W(0,1042983019,1009997472,-1120973142,1019169584)+W(1,-1099987280,1032814660,-1106283039,-1098354632)+W(2,-1118546716,1022934360,-1103033329,1048978343)+W(3,-1103915398,1036688212,1025364316,1033125970)+W(4,-1095179878,1032770062,1062322516,1033722376)+W(5,-1110281795,1045599869,-1097173506,1055664562)+W(6,-1125420780,-1119986230,1040314133,-1109812797)+W(7,-1109050948,-1097734639,1057333054,-1098634798)+W(8,-1119010038,1038965178,-1173745415,-1103688168)+W(9,1034277286,-1117630132,1018923536,-1108282977)+W(10,1034195486,1049154263,-1125368820,-1102308141)+W(11,1007528912,1035253180,-1098308929,-1107997912);WS(-1089355774,-1078290086); +sum1=W(0,1037182841,-1124344033,-1112691207,-1122950775)+W(1,-1121667553,-1104403323,1041047393,-1118638572)+W(2,-1115334660,-1126199861,-1138062223,1009124079)+W(3,1046400294,-1118583361,-1107733500,1023290087)+W(4,-1099164822,1054069421,1057481334,-1098349922)+W(5,-1136525567,-1110719762,-1149431076,1044398104)+W(6,1042531744,-1121639475,-1132821263,-1146188190)+W(7,-1097191323,1041114291,-1109625472,-1139289650)+W(8,1015659149,-1121643278,-1120573261,1044515332)+W(9,-1137408791,1018516820,-1116356099,-1112282369)+W(10,-1120861012,-1139200383,-1139389015,1026873009)+W(11,-1122889719,-1120569352,1017011067,-1120947806);sum2=W(0,-1124567280,-1107129213,1009843654,-1120919296)+W(1,-1120629799,-1102119519,1043380414,1037030993)+W(2,1020211370,-1126825280,1030878171,-1106639281)+W(3,1020831927,-1098918731,1020138111,-1132368064)+W(4,-1112537154,1064361176,1059483198,-1109288357)+W(5,-1144175329,-1146281491,-1093377806,-1118412551)+W(6,-1132836513,1010227332,-1115205032,1029564211)+W(7,-1104145236,1043150197,-1106893419,-1119273466)+W(8,-1135251423,1028327527,-1103899854,-1123848756)+W(9,-1118685376,1026001154,-1119663171,1016741875)+W(10,-1117770026,1019055438,-1135273053,1028452918)+W(11,-1128215590,1024565629,-1109882780,1024207514);WS(1064975294,1066308158); +sum1=W(0,-1119071204,1032019633,-1106142801,1031747776)+W(1,-1132055971,-1108909198,1045090381,984462229)+W(2,-1126913907,1036419718,-1110036442,-1148253029)+W(3,1041375482,-1112793497,1001228109,1028818885)+W(4,1038243096,1021279149,1049965274,-1093262116)+W(5,-1121925745,1019907753,-1115536386,1036945928)+W(6,1013499583,-1123968938,1041342669,-1115396498)+W(7,-1090377239,1040402543,-1113450905,1052662103)+W(8,1032108124,-1109636927,993049059,1034061985)+W(9,1024220311,1020544662,1027821620,-1108139113)+W(10,-1107965954,-1116422289,-1138282267,1035427697)+W(11,1032825796,-1128061041,1016907357,-1113141447);sum2=W(0,-1118189976,1018031354,-1135553471,1016610899)+W(1,1028895363,1032145382,-1118352328,1027283971)+W(2,1007846553,1011272254,-1123867563,-1113530321)+W(3,-1120752887,1035872696,-1147979120,-1163068737)+W(4,1042427003,1073605475,-1095799786,1042584076)+W(5,1010785270,1026092591,-1075418961,-1099207121)+W(6,1034250650,1022157658,-1139692219,-1121296916)+W(7,1056095764,-1130051225,-1121907329,1009508653)+W(8,1030054693,1019567305,-1113117501,-1091570337)+W(9,-1131969269,-1131641536,1019770181,1007282246)+W(10,1025403981,-1121748387,1013257077,-1148404200)+W(11,1012575724,1018865930,-1123610989,-1124635978);WS(1062423998,1020226002); +sum1=W(0,-1116470612,1015809956,1000976853,-1122384152)+W(1,1055717600,1034182342,-1125526476,-1095861522)+W(2,-1133541800,1025071548,-1136390676,-1128557498)+W(3,-1115150860,-1100102424,-1140430696,-1122957973)+W(4,1052715645,1053221217,1051208664,-1101122465)+W(5,-1121585121,1026360261,-1097231798,-1101688288)+W(6,-1099378776,-1102397253,-1116871589,1018079658)+W(7,1041738487,1038184662,1040938184,1045734276)+W(8,-1127628368,-1121765359,-1107259340,-1114764537)+W(9,-1121061927,-1097083551,-1130305609,1021042950)+W(10,-1114085178,1019939330,1049869175,1045437908)+W(11,1018430000,-1122412137,-1105843464,1034631967);sum2=W(0,-1124729770,-1132095255,985313435,-1125184611)+W(1,1058112728,1067077185,-1117207517,1045115043)+W(2,1007171579,-1118062236,-1158219675,1023628890)+W(3,1028760415,1011065519,-1124740239,-1181860650)+W(4,-1107623537,-1080660794,-1088457353,1036693207)+W(5,1000645119,-1160295467,1020427720,1043689375)+W(6,1033849803,1015359010,999484231,-1132645547)+W(7,-1109418981,-1117188353,1048821220,-1096437481)+W(8,1015083304,1023561702,1032363474,-1110185484)+W(9,-1140486285,-1125848669,1024683619,-1125466771)+W(10,1027196953,-1127975224,1027562883,-1107942084)+W(11,-1134577643,-1158549787,1023023798,-1121893121);WS(-1085592318,-1113086899); +sum1=W(0,-1105245475,1029597578,1024334944,-1127342656)+W(1,1053241687,1041591201,-1117644382,-1104578161)+W(2,-1138537863,1015573096,1020278010,-1103827813)+W(3,-1104926592,-1110412429,1034498345,-1107952998)+W(4,1051692021,1044816720,1053247055,-1101901257)+W(5,-1110174988,1033881662,-1110749814,-1097952575)+W(6,-1103724998,-1098176238,-1110168462,-1131633306)+W(7,1042909421,-1124765258,1051451939,1051300307)+W(8,-1116328992,-1113141267,-1105195378,-1106968399)+W(9,-1115323711,-1098367950,-1119681052,1033648125)+W(10,-1143558503,-1113485404,1053283054,1049307889)+W(11,1028312016,-1113790704,-1102600950,1027981559);sum2=W(0,-1118706158,-1122995556,-1134200265,1019423143)+W(1,982325064,-1106847870,1021681136,-1110500850)+W(2,-1145733922,1001371122,-1115095323,-1117883328)+W(3,-1113839515,-1123774588,-1126211289,1022335641)+W(4,1042414810,1052221246,1048787768,-1121978030)+W(5,1019850892,-1113736050,-1118959328,-1112736275)+W(6,1002859666,-1114460336,995157684,-1160177640)+W(7,1009324191,-1129766425,1025695056,1035034344)+W(8,1023767274,-1130130145,-1114723897,1026260852)+W(9,-1131104601,1027754115,-1130236057,-1138832033)+W(10,-1136621129,-1120353368,1027074464,-1126984825)+W(11,-1131688905,992217060,-1121253912,1016807320);WS(1025516512,-1100199588); +sum1=W(0,1021891087,-1128181387,998291066,1010096560)+W(1,-1106994989,-1097993736,1015332531,1041308560)+W(2,1032706511,-1115681272,1040752366,-1107391304)+W(3,-1152435393,1035336779,1016981531,1015136529)+W(4,-1087955312,1049373383,1043985948,1054580194)+W(5,1013936722,-1153713033,1016493518,1021987303)+W(6,1040424469,1041134374,1015217585,-1134306338)+W(7,1048585956,1044933000,-1097437107,-1088067164)+W(8,-1122756060,1028860515,1015283332,-1111549299)+W(9,-1147235028,-1105873140,1027586712,1025573847)+W(10,1037061588,1041451309,1024655979,-1108043523)+W(11,-1124931799,1010373746,1025261651,-1125444197);sum2=W(0,-1115115972,1023564875,-1136864762,1024904631)+W(1,-1100416868,-1105139728,-1103710322,-1128899549)+W(2,-1138213458,1024304323,-1112771593,1014205090)+W(3,-1114446231,-1115188268,1030076655,1005033941)+W(4,-1107001478,1061216146,1057566767,-1140124434)+W(5,1028369943,1031401203,-1101449249,-1105823902)+W(6,-1099782234,1025338591,995105737,1022202973)+W(7,-1114917196,-1107279078,1009750634,1051976820)+W(8,-1127316949,1002907445,-1123827499,-1115621063)+W(9,-1107689693,1049272645,-1113660547,1009257370)+W(10,-1123762171,-1112133417,-1105716747,1040613751)+W(11,1021828037,-1121285688,1019919657,-1124460977);WS(1050734204,-1108852232); +sum1=W(0,-1116292712,-1106093993,1026854009,-1111669430)+W(1,1027495958,-1113635568,-1103616254,-1122281377)+W(2,-1123139966,-1117637392,-1125634353,-1113568120)+W(3,-1104273631,-1090233269,1022285659,-1115457556)+W(4,1042550097,1065691213,1069754213,1027625969)+W(5,-1147736996,999398084,-1090598793,-1100906821)+W(6,-1103820941,-1107176543,-1124925681,-1130768721)+W(7,1054098174,1026991873,-1130883179,-1114752252)+W(8,-1140005358,-1123096067,-1107767585,-1103145534)+W(9,-1114665965,-1103610460,-1117352760,988348114)+W(10,1018693905,1034282506,1032882469,-1144129324)+W(11,-1120005196,-1122062653,-1112131865,1007587914);sum2=W(0,-1105712489,1026001227,-1122830075,1024214881)+W(1,1036545949,-1104892025,-1089670730,-1096328526)+W(2,1029115040,-1127506094,1027384734,-1114697429)+W(3,-1105988647,1044311614,-1118490155,1024710111)+W(4,1042923133,1050757116,1057951288,-1109313571)+W(5,1018384918,-1118982995,1046225965,-1108836817)+W(6,-1128591966,1016894538,1007204875,-1134765475)+W(7,1041007149,-1111844715,-1135710147,1031038781)+W(8,1000957030,1018633070,1020988490,-1111832237)+W(9,-1132281374,-1121103003,-1132418382,955722144)+W(10,982097434,-1131469166,1040031313,-1121635711)+W(11,-1131312630,1012074251,-1137288635,-1141601766);WS(-1077332287,-1089760701); +sum1=W(0,-1126986618,-1106320367,-1146931846,998476811)+W(1,1035996661,1030948981,1033143495,1035645275)+W(2,1002151576,-1132098378,-1116749294,-1111559939)+W(3,-1103512376,-1106044643,-1115596769,1020090684)+W(4,-1098691810,1054020686,1033806067,1057100532)+W(5,1020764052,-1131285468,-1102410839,-1114602228)+W(6,1033789092,-1121544222,-1117338894,1018970620)+W(7,1053006209,1053247323,-1119052427,-1089559024)+W(8,-1143682184,-1140686688,-1148875196,-1114317262)+W(9,1025908912,-1120853460,-1134004534,-1131301080)+W(10,-1117960094,-1112997269,1021655744,-1109205213)+W(11,-1112291776,-1137942600,1024305160,1040862618);sum2=W(0,1015506585,1012377004,-1142220161,1006079429)+W(1,-1126961905,1027847692,1019086641,-1129173219)+W(2,1004493969,-1129089615,-1121396179,1025558752)+W(3,1027444401,1027255740,-1120056293,-1129651941)+W(4,-1099113060,-1071778912,-1087748986,1029291472)+W(5,1032469225,-1117547929,-1132223695,1031608500)+W(6,-1154390002,-1121552483,-1138049810,1021210606)+W(7,1077548482,1017608723,1046290929,1030702430)+W(8,1017793536,-1115202758,1030045463,1041292060)+W(9,988683875,-1149209645,-1144760977,1020679942)+W(10,1009874569,-1165018915,958643736,-1149010889)+W(11,1024909384,-1153372770,-1108302337,-1116313503);WS(1054407548,983325672); +sum1=W(0,-1105600625,1033490817,-1115456470,1028412425)+W(1,1033571545,-1114006910,1044756246,-1148390382)+W(2,-1124427701,1037509878,-1119790070,1032293767)+W(3,-1115519181,1031550611,1031921957,1017604747)+W(4,1059608097,-1087252051,-1090010995,-1103922376)+W(5,1007976775,1022727275,1044072953,-1107101148)+W(6,-1103698804,-1109550327,1041128181,-1121692358)+W(7,-1094628214,1042983319,-1103937189,1062123705)+W(8,1033962892,-1108328080,1021059262,1027680451)+W(9,1030793272,1014014769,1034097067,-1131299175)+W(10,-1106569209,-1116995186,-1135652511,1039103265)+W(11,1032055396,-1143059662,-1141553278,1007158719);sum2=W(0,1011835040,1040320325,-1108956115,1007145536)+W(1,1029973058,-1113530029,-1145921569,-1115291423)+W(2,-1106716830,1031627486,-1116109872,1036345379)+W(3,1009493536,1036429861,1003522017,-1123468231)+W(4,1025444390,1039825371,1057547857,-1120694127)+W(5,-1106619549,1032586179,1028735446,-1106839609)+W(6,1045134298,-1132203156,1023566518,-1106382527)+W(7,-1093621604,1030401418,-1105348488,-1120933925)+W(8,-1135351552,-1107014793,1032927131,1043632212)+W(9,1044032552,-1103689691,1016028592,-1116797301)+W(10,-1111109931,1039637835,1019566780,-1105744806)+W(11,1030984886,-1117261713,-1119043970,1031187850);WS(1062610366,-1081620328); +sum1=W(0,1041975919,1036878493,1022225638,1034909184)+W(1,-1086061975,-1097049310,1032326503,1038564634)+W(2,-1118145809,1033815666,1038246806,1054071881)+W(3,1038275488,1049110721,1034659649,1022593144)+W(4,-1094128798,-1097332230,-1104434937,1032775158)+W(5,984752392,1040915883,1048167927,1049378869)+W(6,1039909252,1050285945,1029979468,-1145063906)+W(7,-1096830529,1031802154,-1091716385,-1098154666)+W(8,-1127387550,1042582214,-1122539766,1037005773)+W(9,1032760119,1052309552,-1129493655,1024460554)+W(10,-1125106744,1033460244,-1093908076,-1098908862)+W(11,1025327999,1038395208,-1111713187,1023442918);sum2=W(0,-1106689977,1031762430,1001261778,1025388154)+W(1,1049316874,-1112011481,-1111104301,-1110560421)+W(2,-1121273022,1026153330,1033280635,983067209)+W(3,-1105078255,-1117638934,1018216589,1007664153)+W(4,1044332351,-1117360942,1029938402,-1122922762)+W(5,-1116643818,1033323756,1022258405,-1133572905)+W(6,-1119019386,1039919645,-1124915037,1011431705)+W(7,-1116357646,-1107523849,1043034893,-1107704269)+W(8,-1123412994,1027380094,-1109485745,1016143957)+W(9,-1115769810,1041969311,-1118462618,1007167865)+W(10,-1112781805,-1104673921,1050092429,1041034358)+W(11,1016238045,1006440178,-1106654827,1010088409);WS(-1079099231,1058224693); +sum1=W(0,-1098612147,1030021338,1041807413,-1136025729)+W(1,1044962866,1041390773,-1113591959,1040574357)+W(2,-1152707357,1019631368,1030293261,-1107948018)+W(3,-1101745716,-1114342965,1038775953,-1113852830)+W(4,1038641429,-1112997607,-1100940817,1035906153)+W(5,-1119110697,1008365619,-1131180663,-1102747762)+W(6,-1109189268,-1116898669,-1139925939,-1130024634)+W(7,1053521164,1048687519,-1107090858,-1110548904)+W(8,-1120409456,-1156710253,-1127712365,-1102886695)+W(9,-1169623989,-1105924753,-1135488689,1032899333)+W(10,1048553583,1049805017,-1105279552,983487291)+W(11,-1137865855,-1120648241,1033907987,1020276366);sum2=W(0,1031288593,-1121646784,-1150712731,1026221982)+W(1,-1105433524,-1099611845,1040465550,1025270629)+W(2,1025361731,-1118571342,1015298833,1025604422)+W(3,1020650492,-1118866549,998750602,-1135858910)+W(4,-1077885918,-1073585027,-1090773917,-1102699692)+W(5,1035533544,-1115122758,-1111404471,1013887757)+W(6,-1126679589,1033676882,-1122173835,1026066546)+W(7,-1083499628,1072488285,1038653616,-1103726643)+W(8,1025173545,-1132364945,-1128843744,1029004921)+W(9,-1119823506,1024418530,-1114797832,1019885572)+W(10,1076879885,1053754278,1035909226,1044175124)+W(11,982102231,-1120827581,-1128976380,1042609155);WS(1039418864,-1140458522); +sum1=W(0,-1114535995,-1145085849,1029517505,983096624)+W(1,1027001827,1032347927,-1097839409,1044450572)+W(2,1035770150,-1104931415,1031259878,-1117675070)+W(3,-1102746926,1028523779,1019803894,-1121873782)+W(4,-1106235793,-1090653261,-1088253674,1062380387)+W(5,1033087169,-1121428646,1036696746,-1105839880)+W(6,-1100878768,1038991951,-1108005699,1027911414)+W(7,1061486174,1029669390,-1154916402,-1109645966)+W(8,-1120235273,1035324408,1024178544,-1097301074)+W(9,-1142936385,-1125909817,-1135118358,1033576274)+W(10,1047810758,1038152785,-1122115416,-1107146685)+W(11,-1108040973,1017003668,1041849616,1038477872);sum2=W(0,1033267920,1026284945,1034344084,-1121567066)+W(1,-1130139832,1037507308,-1103410132,-1104421963)+W(2,1024120715,-1109350039,1034735332,-1132243276)+W(3,1033899226,-1120108491,-1142865888,-1105011035)+W(4,-1102818563,1003910328,1057117238,1022298858)+W(5,-1127155070,975508032,1041074904,1044067085)+W(6,-1122542627,-1120621959,-1106811819,-1136511728)+W(7,1043197066,-1124006960,1033583066,1038703002)+W(8,-1117378085,1001772648,-1109459597,-1101099519)+W(9,-1134482876,-1114137407,-1113394506,1032101677)+W(10,-1124335993,-1125132432,1030826553,-1122973141)+W(11,-1113899392,-1126301549,-1128301632,1041237660);WS(1053462780,-1083681865); +sum1=W(0,1041747598,1015154794,-1126058411,1023511963)+W(1,-1138339988,996055791,1018224530,1041497612)+W(2,1020629658,-1123213919,1027711272,1035615616)+W(3,1045749945,1048726745,-1118697149,1027394040)+W(4,1014351349,-1082085657,-1086401302,1041814811)+W(5,1032965474,-1129047376,1048515830,1040756601)+W(6,1043007793,1038169844,1025756296,993307519)+W(7,-1096882594,-1105145572,1032344226,-1115623160)+W(8,-1132054806,1033289129,1038148425,1042139693)+W(9,1024626666,1040782360,1029589575,-1131368524)+W(10,-1110953740,-1110890258,-1131398580,-1127070442)+W(11,-1128695798,1029252236,1029718722,1009997960);sum2=W(0,-1118714967,1024023545,1011413600,1008350928)+W(1,-1091889801,-1098641764,-1124778398,1030231193)+W(2,1032606711,-1125648711,1033453825,-1108897465)+W(3,-1126562655,1034951721,1027382950,-1120704007)+W(4,-1104262464,1057762368,1052754126,-1110351493)+W(5,1025836907,-1131934955,1035809187,-1106889474)+W(6,-1128407708,-1126139913,981904616,-1127381517)+W(7,-1161878816,1012148800,-1151802072,1033272406)+W(8,-1134699254,-1131180247,-1153180738,-1132306565)+W(9,999360844,-1138986423,-1135583391,1015535284)+W(10,1024540201,1031971990,-1123376913,1013432992)+W(11,-1171757551,-1140791326,-1118108772,1014625240);WS(-1099299320,1056598066); +sum1=W(0,-1127547996,1041714651,-1128153660,1006197652)+W(1,1045972807,1038366195,-1098261544,-1106221946)+W(2,-1119658116,1030219574,-1113181968,1004824505)+W(3,1029712499,-1128532088,1035903322,-1136164796)+W(4,1057638589,1054413180,1057218165,-1085896508)+W(5,-1129447670,1033715440,1038963911,-1113770157)+W(6,-1106761055,-1121593759,1036246880,-1130396894)+W(7,-1086573266,-1090476168,1028130044,1054525467)+W(8,-1128924420,-1116035017,1042818602,1033084478)+W(9,1017604226,1017990507,1029570879,-1124832314)+W(10,-1101308500,-1110319406,1016287010,1036683414)+W(11,1030841394,998207538,-1114724733,-1130963634);sum2=W(0,1046772351,1028557303,993280665,-1131923124)+W(1,-1105011941,-1104446514,-1134148898,-1110971235)+W(2,-1121147281,1024426003,-1147560296,1028001687)+W(3,-1107794670,-1098564467,1032538133,-1127811288)+W(4,-1096504482,1066594258,1067961229,1043137579)+W(5,1034898623,-1136832302,-1104613803,-1101129935)+W(6,-1121892222,1035775413,1002762140,992174233)+W(7,-1107079502,-1090299346,-1099141736,-1095277951)+W(8,1036381319,1009264906,-1129031039,-1097683180)+W(9,-1158807761,1019898989,992586073,1015088121)+W(10,-1132433157,-1109952821,-1118039147,1011333246)+W(11,1032287279,-1111357043,1040568125,-1108888578);WS(-1105186296,-1108555742); +sum1=W(0,-1105046378,1038429012,-1101386974,1040483623)+W(1,1040666374,-1109750289,1042743759,-1118442722)+W(2,-1118942975,1040611956,-1103538071,986662468)+W(3,1031828819,-1107675004,-1134311356,1040816739)+W(4,1050019912,1040526743,1030110546,-1093958439)+W(5,-1118385334,1012951144,-1121451017,1033262923)+W(6,1034430779,-1109709717,1046011615,-1108915605)+W(7,-1097473172,1045974257,-1103097566,1044698927)+W(8,1035127903,-1100748433,1041021277,1032745156)+W(9,1030173660,-1130419297,1034864637,-1102638726)+W(10,-1110364069,1017242540,-1111922822,1041159370)+W(11,1037154391,-1121991998,1032931450,-1106175813);sum2=W(0,1014979733,-1136185376,-1135271108,-1127162070)+W(1,1016203776,-1140478504,1038675289,-1114518101)+W(2,-1117887634,1030827904,-1111853852,1035296562)+W(3,1028363168,-1131143608,1012864633,1003505825)+W(4,-1089585970,-1070239185,-1095849351,-1105093650)+W(5,-1123277259,-1116960146,1079096535,1058969759)+W(6,1033256022,-1133517476,1026898060,-1123384038)+W(7,-1078361549,1038794260,-1113528611,1028346583)+W(8,-1125445846,-1113311282,1032636395,1068193425)+W(9,-1120532892,1028008335,-1125848258,-1134649836)+W(10,-1125525718,1005296645,-1117113572,1028725832)+W(11,991223090,-1134431064,1032298564,1017911666);WS(1065442623,1015025160); +sum1=W(0,-1113215535,1031517084,1040496438,-1115365041)+W(1,983382403,1017412396,1044423084,1018550702)+W(2,-1124004468,1040563090,1032083208,-1103693946)+W(3,-1109245393,1002812769,1036061554,-1114325264)+W(4,-1109909072,-1099246196,1034975748,-1131936399)+W(5,-1120263275,1012000060,1024898238,-1106995843)+W(6,1036804053,-1099928488,-1112496600,1038370800)+W(7,-1114225707,-1129165678,-1107673238,1048106991)+W(8,1036150809,-1113013165,-1096349707,1044531927)+W(9,1036473513,-1116761110,-1120668655,1039123015)+W(10,1011581692,-1138585900,1019812354,1041344487)+W(11,1037117105,-1128538214,-1110354101,1043676418);sum2=W(0,1023126843,-1140656688,1042699596,1010698941)+W(1,-1122624743,1040813712,1029081919,-1106210958)+W(2,-1117968485,1039098482,-1174961495,-1122034237)+W(3,-1095653758,-1081184698,1058578114,1048659418)+W(4,-1097694847,996865603,1060468587,-1118272649)+W(5,-1118912655,1020119257,-1102355565,1033474214)+W(6,-1097586600,-1098953045,1019470633,1052277576)+W(7,-1103459725,-1128239326,-1108654451,1043044817)+W(8,1031051049,-1108144089,-1112376452,1049205466)+W(9,1018118885,-1122826054,-1119471849,1041036392)+W(10,1034766857,1000734433,-1130901998,1029721267)+W(11,1038110136,-1114988670,1017824567,1033989555);WS(-1115864032,1039792746); +sum1=W(0,-1121375417,-1108218204,996096400,-1140468214)+W(1,1039608980,1040179481,1033625894,1034497081)+W(2,-1132620605,1018030914,-1108192053,-1113171393)+W(3,-1109130991,-1115276388,-1114956320,1010495721)+W(4,-1093805194,1050653566,1036829073,1055392502)+W(5,1012649753,-1127455572,-1109643980,-1127063626)+W(6,1040789857,-1114444905,-1122072970,1013460969)+W(7,1049263376,1051648994,1030275655,-1088431348)+W(8,-1135717173,-1147064482,-1129660583,-1124542831)+W(9,1026520268,-1127271361,-1140762151,-1127833232)+W(10,-1121903450,-1112576115,1031218972,-1111886108)+W(11,-1114505023,-1135014713,1019975176,1034831154);sum2=W(0,-1115435752,-1141202058,1020691269,1015385693)+W(1,1017441239,-1122675471,-1117300235,1035175215)+W(2,998363696,1016207247,1031000417,-1112773411)+W(3,-1111436746,1040267853,1019337403,1015565489)+W(4,1055273933,1073306798,-1100581516,1033401267)+W(5,-1113092041,1013448250,1046685605,-1101083444)+W(6,-1114623303,1025609602,-1131086480,-1132207064)+W(7,-1073173797,1032997632,-1101351817,1041259906)+W(8,-1130370856,1026870685,-1113329498,-1115311051)+W(9,-1140470334,-1128429973,1010427910,-1163542113)+W(10,-1122237085,-1119509251,1027629029,1020278145)+W(11,-1124843109,1014260054,1033297372,1031244051);WS(1060418110,-1122066101); +sum1=W(0,-1115430516,-1129767372,-1124029560,1031696780)+W(1,1041576533,1035204176,-1124342772,-1104465800)+W(2,1028261758,1025573168,-1109435772,-1122042801)+W(3,1033383950,1032201307,-1123330286,-1147879495)+W(4,1057835449,-1121351835,1040589380,-1084846132)+W(5,1024098613,1000233671,1025265863,-1106791333)+W(6,-1124043956,-1135655378,1025904121,-1137787811)+W(7,-1085338500,1026196737,1047669789,1059143665)+W(8,1020968696,-1122702819,1031201378,1037079395)+W(9,1016436406,1011740349,-1131825009,-1122010711)+W(10,-1113520196,1023559701,1017074582,1032251443)+W(11,1016849816,-1123483709,1024540211,-1120875027);sum2=W(0,1033364881,-1127629564,-1173496113,-1127836624)+W(1,1023580345,-1119640853,-1105780675,-1101679270)+W(2,-1136662275,-1122666983,1033890881,-1149619356)+W(3,-1104916712,-1097350377,1022886010,1027284157)+W(4,-1132739235,1062616603,1061873799,-1113070309)+W(5,1023707939,1028952789,-1112358042,-1113766541)+W(6,-1105423640,1034826035,-1124242822,1036751625)+W(7,1009507187,-1098447862,-1105550966,-1096904559)+W(8,-1117384012,-1137245711,1045500652,-1119315178)+W(9,-1122986652,1033442485,-1140181115,1017945890)+W(10,-1116534057,-1115327874,-1108824717,-1127473876)+W(11,-1136860123,1001899534,1033458469,1015952658);WS(1052277756,1024619064); +sum1=W(0,-1120340480,-1107014752,-1155801216,1029425189)+W(1,-1093981294,-1099678446,1049346130,1055903799)+W(2,1026200342,-1131584400,1003141514,-1125235986)+W(3,1038469578,1032327591,-1112675811,1030252033)+W(4,-1098793998,-1090697510,-1103272826,1057427995)+W(5,1031806855,-1126277858,-1118748640,1025012844)+W(6,1034534022,1039704040,-1122395345,1025211073)+W(7,-1103403378,1041606598,-1111436999,1040656272)+W(8,1010568017,1032770798,-1106833215,1025335343)+W(9,-1137717581,1045346698,-1124711713,994289396)+W(10,1005246730,1013960373,-1134653325,1016775164)+W(11,-1124454216,1034190187,-1099652851,1029370155);sum2=W(0,1045862572,1028786959,1020437582,1023289146)+W(1,-1087461476,-1101737384,-1132354231,-1095566322)+W(2,1044890152,-1124440021,-1127607289,1016132472)+W(3,-1120652794,1015917080,1030199907,1009748873)+W(4,-1083542229,1069217208,1063879108,-1090793815)+W(5,1037463572,1032502373,-1097091848,-1107157844)+W(6,-1117660774,-1106003069,1010063617,1007345789)+W(7,1056862945,-1153692567,1045942315,-1107315270)+W(8,1028169917,-1108513707,-1116485608,-1098187278)+W(9,1039304637,-1098471935,-1127799210,1018930146)+W(10,-1111757292,1056217861,1048572904,-1106431667)+W(11,1034190881,-1108016950,-1094693884,1036040005);WS(-1086218302,-1084258561); +sum1=W(0,1041008695,1036310380,1021408948,1027347742)+W(1,-1088163117,-1103354245,1041666443,1040638149)+W(2,-1131589088,1033326017,1033383494,1045697689)+W(3,1035524367,1048593117,1039366096,-1127633782)+W(4,-1094269524,-1122175629,1050103608,1033011818)+W(5,-1132088142,1042877939,1042904478,1040895122)+W(6,-1138037400,1045683171,1033396118,-1116749595)+W(7,-1096387988,-1103712029,-1097626581,-1111907839)+W(8,-1131538396,1039834587,1018682217,-1136050786)+W(9,1032120647,1046369740,1025066091,-1139872292)+W(10,-1111740158,-1117250695,-1095221944,-1099416246)+W(11,1030901630,1034112696,-1121047845,-1126758410);sum2=W(0,1020583173,1018516207,1030773056,-1116225927)+W(1,-1116630862,-1157244503,-1142227828,-1120289762)+W(2,-1120774706,1021325617,-1120616119,1037488437)+W(3,-1121497633,1032012136,1032148531,-1122365237)+W(4,1045806125,1061490298,1050603076,1024002380)+W(5,-1124264052,1020114521,1029135782,-1122845130)+W(6,-1111134479,-1112679629,1026422036,-1127594672)+W(7,-1104925089,-1096282325,-1109379336,1040110681)+W(8,-1129316292,-1129796491,1035818151,-1122119114)+W(9,-1123177144,-1112996078,-1131330830,1023835916)+W(10,-1103628682,-1116593585,-1102999759,-1102178993)+W(11,1024324894,-1129630471,1024073644,-1118358279);WS(-1092406524,-1089571522); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, -2), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 0), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 2), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -2), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 0), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 2), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -2), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 0), 0); +samples[8] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 2), 0); +samples[9] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, -2), 0); +samples[10] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, 0), 0); +samples[11] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, 2), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns64, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns64, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,1007614003,-1123901891,1035162146,-1120714617)+W(1,1009908268,1030225939,1027364554,-1123305414)+W(2,-1121901526,1030599214,-1116882705,-1129324172)+W(3,-1142748844,-1113117446,-1135846624,1022915304)+W(4,1046176310,-1105876799,-1121818163,-1110752415)+W(5,-1110762423,1046191054,-1096860741,-1114390527)+W(6,-1096831458,1052908756,1043289735,1032526991)+W(7,-1127767760,1039462233,1034530771,-1117077507)+W(8,1034124059,-1120533037,-1120878363,1035961863)+W(9,1023450788,-1124524780,-1155422496,1022953826)+W(10,-1114991488,1013731840,-1129613106,-1114841418)+W(11,1025047056,-1143328976,981289536,-1116257712);sum2=W(0,1000650931,-1113612493,1043465638,-1131108965)+W(1,-1116852534,1029599173,-1106748353,1025688791)+W(2,-1123043594,-1118230687,1045881517,-1145056307)+W(3,-1139914565,-1107504809,1029259867,1018436747)+W(4,-1124179817,-1111438835,-1145266179,988544780)+W(5,-1102659167,-1097100047,-1110118136,-1070139293)+W(6,1048052425,1027739737,1027449515,1078104617)+W(7,1025133515,1036504803,-1136112041,-1126127905)+W(8,1003301507,-1131299129,1021344415,1018501507)+W(9,1031198431,1012522521,-1123696315,1026178295)+W(10,-1134523125,1020199127,1024975831,-1123515159)+W(11,-1120319069,-1131042995,-1162666156,995063942);WS(1061710334,-1113637247); +sum1=W(0,-1138603692,-1122595552,1036106897,-1121814583)+W(1,-1140194465,1033737112,1018454510,-1138264845)+W(2,-1125621862,1024541667,-1122735662,-1131439046)+W(3,-1129805541,-1116003130,-1122620661,1023073058)+W(4,1048694647,-1103580007,-1143950978,-1109309294)+W(5,-1115559686,-1120177173,-1097890158,1030681928)+W(6,-1097437158,1052689231,1042373458,1044326142)+W(7,-1128614666,1037961704,1034486114,-1132933761)+W(8,1032154570,-1122508490,-1118153848,1033251382)+W(9,1021617155,-1120902675,1012933309,1019050396)+W(10,-1107957310,1016843898,-1152998244,-1113884080)+W(11,1019245786,-1155701620,-1144273714,-1116304653);sum2=W(0,1013908203,1023868855,-1107084454,-1162960213)+W(1,1023571595,1048796624,1032525526,-1113327157)+W(2,1024139725,1003078933,-1104878976,-1133790043)+W(3,1007034787,1034207166,-1121062518,-1130037920)+W(4,1032930462,1029914487,1025411499,-1126626424)+W(5,-1132699465,-1093496445,1035900190,1076098019)+W(6,-1104764998,-1109617402,1026052839,-1072747140)+W(7,-1123497947,-1118139493,1025857863,1019199125)+W(8,997665611,1018748433,-1127269937,-1126548940)+W(9,1038561302,1000017309,-1158385717,-1121182801)+W(10,-1142783113,-1154085627,-1123007653,-1146184997)+W(11,1017680405,1016687665,1000677165,-1147685381);WS(1064800702,1030635520); +sum1=W(0,-1122860750,1024005652,-1128056492,1004285524)+W(1,1021316024,1053335517,1035530413,-1122286551)+W(2,1022533838,-1130762670,-1139373960,-1116388951)+W(3,1001429301,-1129213371,-1121564617,-1125657162)+W(4,1031878036,-1116831438,-1110660706,1035663048)+W(5,-1100061872,-1093549817,1023270757,984521208)+W(6,1035194194,-1149876978,-1104621327,1048911707)+W(7,-1141986761,1031904066,-1142066105,-1131931048)+W(8,-1204558974,-1143857649,1028175148,-1128734654)+W(9,1042579293,1016449422,1005008153,-1136886024)+W(10,-1142259845,1010510404,-1135015336,-1148999845)+W(11,-1111776529,1020350678,1018152308,-1120920449);sum2=W(0,-1150118671,-1116737087,-1120731382,1015139874)+W(1,1028577839,-1069693959,-1087320828,1032711786)+W(2,-1123435694,-1138801588,-1103666133,-1116703472)+W(3,-1140019692,1029210329,999422392,-1140098908)+W(4,1031888972,-1112637962,1020112270,1017539382)+W(5,1078824499,-1094071548,1026899401,1059502015)+W(6,1009232228,-1114441289,1036639812,1045823576)+W(7,-1118193829,-1131442506,1023067274,1011539428)+W(8,1010207212,-1138130380,1013963196,-1126248934)+W(9,1040940327,-1123861886,1019091922,-1119882792)+W(10,1029410629,-1130443436,1004924552,-1131804892)+W(11,1007549476,1026106777,-1137456436,-1130083750);WS(1058942782,1023618692); +sum1=W(0,1011693912,1025548876,1041771492,-1126072821)+W(1,-1122268692,1037536142,1036961985,1017195423)+W(2,982545387,1023558139,1038780013,1022607903)+W(3,1003763447,1035261291,1037537425,-1126061755)+W(4,1035801072,1043278082,-1110871838,-1110777188)+W(5,-1091452759,-1105679152,-1103634941,-1094081945)+W(6,1049096396,-1130619215,-1103558179,-1095962376)+W(7,955835050,1026350907,-1136949949,-1113879430)+W(8,-1146527995,1015953709,-1142526755,1036426764)+W(9,1040286827,-1119884351,-1148709083,1046715887)+W(10,1031851588,1007174309,-1122534754,1049101574)+W(11,1006549707,986004587,1017517093,1002869195);sum2=W(0,-1150616818,1013509397,1001638233,-1128639222)+W(1,-1125568566,1024255335,1035428655,-1118932607)+W(2,-1129687950,-1111645244,1031481278,991022546)+W(3,1006676397,-1115817479,1028380841,1018120650)+W(4,1029376723,1037911199,1014385869,-1119841411)+W(5,1063260126,-1085129330,-1102461584,1019940778)+W(6,1026999545,1019019978,-1110003004,1032753418)+W(7,-1134958989,1017625850,1021463302,-1121385219)+W(8,970306708,1013815957,-1135260845,986023269)+W(9,-1110526300,1017551658,959170344,-1141011097)+W(10,-1121764803,-1127392454,1016351942,1033244979)+W(11,-1128128990,-1138867245,1009569613,1025283273);WS(1037837808,1056377428); +sum1=W(0,1023727061,-1138454045,-1105969090,-1135573495)+W(1,-1123500111,1046351686,-1114548551,-1118803082)+W(2,-1111066541,1034647805,1036383371,1020600341)+W(3,-1115286797,1033474888,1026657308,1008936161)+W(4,-1116105371,1039709953,1043223694,1027945538)+W(5,-1122693874,-1100833583,1051232418,-1126955510)+W(6,1035274060,-1101618713,-1103740252,1053007142)+W(7,-1122516460,-1129756781,1033814037,-1156882549)+W(8,-1111027805,1021082723,1025656415,-1100584037)+W(9,1040497066,-1115071549,1018764077,-1097887999)+W(10,-1138012047,-1116333124,1025234525,1024768136)+W(11,1010716753,-1114238799,1016891995,-1123286772);sum2=W(0,-1121670462,-1130583533,-1100967324,1020978875)+W(1,-1110731474,1053186254,-1096736455,-1103298336)+W(2,-1119790394,1043729632,1045958215,-1105136733)+W(3,999102475,1020355333,1033816035,-1127100056)+W(4,-1122981488,1032797386,1026290891,1043179705)+W(5,-1112891412,-1091109944,-1104401130,1062358565)+W(6,1033523405,-1102472853,-1133705481,1031005462)+W(7,-1122874410,-1122532081,1031959215,-1109547546)+W(8,-1120286641,966672716,-1138979633,1013196277)+W(9,1048200412,-1122242747,-1152672163,-1114052290)+W(10,1033631266,-1118586102,1023845499,-1113847816)+W(11,1027184816,-1127245018,-1147194793,-1126209517);WS(1050865148,1032626572); +sum1=W(0,1040042556,-1101476879,1043627312,-1110436993)+W(1,-1113356418,-1109025830,1049906138,-1107890608)+W(2,-1105712244,1051482110,-1120749707,1034032544)+W(3,-1110201208,1048543054,-1103830356,999321197)+W(4,-1108049256,1033317691,1045700875,-1118552440)+W(5,-1162779891,1049713062,-1115480133,-1107535228)+W(6,1035225158,-1122810712,1042738346,-1095271743)+W(7,-1106449960,1031488492,1050825756,-1104074479)+W(8,1031191472,-1096410465,1040430485,-1115060612)+W(9,-1106727656,-1114330616,1042925123,1025393771)+W(10,1039553933,1042770518,-1106585845,-1127443770)+W(11,1040395170,1009713998,-1103219825,-1104755066);sum2=W(0,1020193961,1007347355,-1111924540,1024944996)+W(1,1015828472,1012341552,-1116539066,1014966838)+W(2,1032934706,-1113193567,1034050704,-1113612636)+W(3,1021395599,-1116104243,1042584092,-1116105943)+W(4,1049541488,1054940943,1057346437,-1107012648)+W(5,-1109770505,1066972918,1059914271,-1107447750)+W(6,1014122612,1056333532,1063973493,-1111197863)+W(7,-1135977693,1043326701,1045837843,1016467631)+W(8,-1097277462,-1107952444,-1097010076,-1105023593)+W(9,1043445868,-1078926120,-1085761230,-1142156696)+W(10,-1118781870,-1092348708,-1084679416,1017043379)+W(11,-1117573943,-1108363561,-1128370702,-1113967259);WS(1054811644,1027249161); +sum1=W(0,-1100243090,1036221579,-1101358582,1040940111)+W(1,-1119365790,-1109150355,1014943347,1043481462)+W(2,1044780378,-1109759237,1036687602,-1111878381)+W(3,1035929492,-1122643648,1028424107,-1101638738)+W(4,1038054901,-1105999252,1049141881,-1113576073)+W(5,-1106696288,1048275427,1051960356,-1097482896)+W(6,-1097940765,1049145430,-1118345360,1022736646)+W(7,-1103674991,1037909315,-1113101949,1038478827)+W(8,-1104538698,1037145120,-1116754862,-1132483205)+W(9,-1123112824,-1126689554,-1118995685,1036681666)+W(10,1044474573,-1101292557,1038634998,1019000333)+W(11,1037239602,-1126283866,1034438878,-1103799553);sum2=W(0,1015306072,1020144724,1016554458,1023766557)+W(1,-1113107482,1050162106,-1116988904,-1136376403)+W(2,-1113447013,1003678517,-1104347057,1038494252)+W(3,1024784188,-1109441777,1033762395,1023629411)+W(4,-1103467660,1016553974,-1137435361,1021815988)+W(5,-1102546407,1075503478,1060795535,1034521268)+W(6,1025406308,-1113972415,1072821349,-1103257907)+W(7,1026085595,1037416902,1031283975,-1113239746)+W(8,1044555388,-1105991725,1032032312,-1114856427)+W(9,-1071164689,1035804901,-1127777881,-1088370625)+W(10,-1112563255,1036418439,-1120944929,-1077590614)+W(11,-1112537357,-1140753514,-1123929939,995356642);WS(1055940220,-1124188157); +sum1=W(0,1015763751,1043278990,-1119569210,-1113999823)+W(1,1022861696,1044340802,-1094609330,-1115168029)+W(2,-1113117029,-1106205123,1033154083,-1114461725)+W(3,-1121800074,-1107756257,1021089498,1032164308)+W(4,-1106256755,1046188556,-1147977024,1015781094)+W(5,-1095339972,-1108128054,1041916962,1052603679)+W(6,1042723938,-1095928258,1057380776,-1108564239)+W(7,-1171638077,1027517543,1041299799,-1125646960)+W(8,1036478965,1006648968,-1108336232,-1117684995)+W(9,1047885622,-1110457109,-1101485874,1033522483)+W(10,1035899866,-1108232826,-1114614567,1036635468)+W(11,-1131185034,-1115299047,1034599135,-1139371156);sum2=W(0,1013270421,1027353114,-1136369034,-1120118804)+W(1,-1117027367,1035518448,-1125884733,-1120552641)+W(2,-1110780393,-1129166063,1043285424,1016254148)+W(3,-1133117880,-1120569751,-1140216380,1030787932)+W(4,-1129939889,1034464346,1015341014,-1127959037)+W(5,-1095769137,1043338219,-1117887441,-1117793827)+W(6,-1117623897,-1128474295,1049861339,-1095274849)+W(7,-1129927717,1018695247,1032330618,-1128598589)+W(8,1041751325,-1114857235,-1113602386,1033327798)+W(9,1049093640,-1097589990,-1103868602,1049619624)+W(10,1035712363,-1106207094,-1105817123,1048627700)+W(11,1027229852,-1120123842,1004274322,1035384499);WS(1057163582,1025817537); +sum1=W(0,-1121852313,1046829204,1031655825,1037167835)+W(1,1027044951,987855837,1038865075,1034559945)+W(2,1037598609,-1112419405,-1105739319,1039868489)+W(3,1031626785,1037495244,1015381448,1007581568)+W(4,-1093143228,1046279122,1045084224,-1096271953)+W(5,1050118415,1040167170,1057074420,-1085198281)+W(6,1047779928,-1087515051,-1086525384,1057217669)+W(7,1015872616,-1124461564,-1098926044,1035805671)+W(8,-1103697416,1030441081,1016078798,1033520525)+W(9,1024989936,974934139,1036548879,-1107583934)+W(10,1044254259,-1113468278,1034922130,1034776664)+W(11,-1113253902,1017385676,1036139674,-1134624240);sum2=W(0,1023814631,-1099879539,1036526786,-1136384493)+W(1,1017810163,1013925981,1034332004,1033659202)+W(2,1017781727,-1101585218,-1106516740,1009967381)+W(3,-1141961139,-1112082470,-1131784625,-1118180802)+W(4,1030342243,1043747658,-1123632092,1028719631)+W(5,-1093436173,-1100447595,1050427835,1046758826)+W(6,1042788701,1045006578,1041231786,1051870663)+W(7,-1113417628,-1117114477,1010389989,-1114786901)+W(8,-1102737141,-1130733945,-1122280548,-1145098603)+W(9,-1119158797,-1123106681,1014543213,-1112406001)+W(10,-1107586767,1013053757,1019870319,1034292458)+W(11,1032164569,1012643781,-1119739637,-1143106923);WS(-1081763615,-1092598780); +sum1=W(0,-1122514966,1026414532,-1114318275,-1130922677)+W(1,1015393433,1021344041,1017564438,-1136114845)+W(2,1023447063,-1116164091,-1095352826,-1137786397)+W(3,-1140705115,1012849463,-1123782681,-1142668459)+W(4,-1121576984,-1127358845,1028467828,-1127997567)+W(5,-1098266094,1035926493,1061837768,-1088500870)+W(6,-1148866211,-1114585584,-1095349722,1061435536)+W(7,1024002537,-1116920883,-1114677716,1039772482)+W(8,1017010415,1002425203,-1139280241,1023598927)+W(9,1037585875,-1136160989,-1123987795,-1116904946)+W(10,1031742785,-1116123969,-1131570741,1040151266)+W(11,-1128808099,-1126849079,1020007637,1007413957);sum2=W(0,-1117837187,1036094407,1034408685,1021958137)+W(1,-1115513274,-1124949158,1033683959,1026312941)+W(2,-1112242113,1027011647,-1091894288,1037370871)+W(3,-1107052036,1010459130,-1107943508,1033686533)+W(4,-1147105428,-1110159069,-1098486326,-1106091708)+W(5,1061646324,1055280585,-1088187103,-1094093059)+W(6,-1106569597,1045721104,1045036050,1058519893)+W(7,1030945863,1039418143,1034325435,1037199097)+W(8,1031154711,-1116910593,1024682325,1028745769)+W(9,-1100598283,-1117359799,1039406737,-1105512708)+W(10,-1117345257,-1117139296,1026080301,-1109806227)+W(11,-1124920152,-1112397476,991455177,-1144974476);WS(1049187708,1061143407); +sum1=W(0,-1121811767,1033070593,1046469409,1032206028)+W(1,-1136528167,1050639650,1049873346,1032297330)+W(2,1031846890,1041542033,1041319460,1005295654)+W(3,1032778794,1043869975,1036329419,-1136496587)+W(4,1020031147,-1113096094,-1086760535,1044620591)+W(5,-1089881571,-1083700943,-1092765627,-1111788011)+W(6,1033106537,1011207027,-1092202425,-1127219501)+W(7,-1112918515,1026637361,1015330121,991465499)+W(8,-1132628435,1009114287,1022165171,1049164066)+W(9,1044844041,1024964917,1034535880,1051671486)+W(10,1026161438,1038185039,1011091807,1037004161)+W(11,1019220893,1032129132,1018308239,-1134373563);sum2=W(0,-1139662759,1022314468,1024038368,-1123557888)+W(1,1021700488,-1149024430,1016353740,-1120649660)+W(2,1025758640,-1109226016,-1127462832,-1119215196)+W(3,1025396502,-1106595065,1022909500,-1134635263)+W(4,1007232143,1040909663,-1123190992,964997605)+W(5,1052797849,1059925772,1035500288,-1112234110)+W(6,-1096670151,-1110751472,-1123381020,1032636001)+W(7,-1095307242,1016687528,-1114698588,-1103246759)+W(8,-1119781676,1011035391,1009594487,-1170950771)+W(9,1021322900,1015425876,-1122952928,-1122589660)+W(10,1037872214,-1115520552,1024335912,-1124742672)+W(11,1025386190,-1128653768,1026100870,-1123038904);WS(-1080960863,1058419411); +sum1=W(0,1032983255,-1112208894,-1111066847,-1118700722)+W(1,1033094082,-1090459763,-1099579692,-1122641758)+W(2,-1133773881,-1107276892,-1107128402,-1121000958)+W(3,-1120123854,-1103159313,-1116550064,-1141737059)+W(4,-1099715572,-1113907195,1043965403,984198859)+W(5,1062349342,1061713555,1050672334,1049479517)+W(6,1033076198,-1121054998,1059583022,-1099059374)+W(7,1037355536,1026513898,1024684126,-1125040759)+W(8,-1113914551,-1124179019,1000248987,-1108783427)+W(9,-1095692932,1023738862,-1128328213,-1105019770)+W(10,-1108028092,1027231576,-1131329315,-1099879371)+W(11,-1110661700,1007580489,-1113801521,1024533736);sum2=W(0,-1114687459,1021214658,-1129327601,995719700)+W(1,-1115935924,978476974,997717028,1024240180)+W(2,-1123062148,1010080137,-1140454571,1025427056)+W(3,-1131128122,-1152746908,1002330866,999440794)+W(4,1027238209,1037994429,1029045123,-1125739202)+W(5,-1078687396,1066236156,1036441804,-1120915257)+W(6,-1128218828,1028953671,1022342240,-1111104335)+W(7,-1128526870,-1126806088,1024857232,-1147995690)+W(8,-1113434302,1007115993,-1154923092,1025141617)+W(9,1035362808,-1118441375,1003062850,1032546636)+W(10,-1166615662,-1129048983,1017727844,1033358736)+W(11,1024563904,1009762473,1019778022,-1165027863);WS(-1082880574,-1095080656); +sum1=W(0,-1123397517,-1128373242,-1111736159,-1120399523)+W(1,-1168421181,-1127950106,1025039907,-1135116544)+W(2,1037719400,-1106461210,-1098593297,-1131259136)+W(3,1030740495,1028249110,1024172498,-1113348279)+W(4,1019423266,1028697399,1037879414,-1111698940)+W(5,-1098702381,1023355236,1062200098,-1092929515)+W(6,1018082074,-1115312044,-1094756999,1060991762)+W(7,-1114016273,-1109491766,-1106391640,1036669022)+W(8,-1119567216,1027581671,-1118524245,1037066756)+W(9,1027882718,-1139561152,-1139610160,-1131199446)+W(10,1022591155,-1113962893,1005358744,1038218895)+W(11,-1141634128,-1126548648,1026868195,-1118950442);sum2=W(0,-1118820752,1031296198,-1106890729,1007561151)+W(1,-1121745985,1032462388,-1110907715,-1128452386)+W(2,-1121584151,1035033495,1035962501,-1114861795)+W(3,-1129117272,1035951051,982365671,-1120079456)+W(4,-1112391017,-1114880200,1010626011,-1144059530)+W(5,-1096446085,-1094697844,1052511775,1056169840)+W(6,987032615,-1129701328,1056886944,1031556034)+W(7,-1119286197,-1126702674,980377326,-1138039959)+W(8,-1136937433,-1120281594,-1152147163,-1140206187)+W(9,1033067226,993102387,-1114711449,1034255225)+W(10,1013679559,-1122813977,-1120009849,-1104164393)+W(11,-1137374445,1006646323,-1118918686,-1115367679);WS(1058795070,1058351276); +sum1=W(0,1032650784,-1132244111,-1106246658,-1129226172)+W(1,-1122312016,1028257624,-1102574120,-1134152362)+W(2,-1118796187,-1128587973,1004724909,-1145265749)+W(3,-1131365684,-1107598873,-1150296521,1017891569)+W(4,1048401911,1041471472,1041522846,1041614193)+W(5,-1088102699,1030285885,1033352747,1050141831)+W(6,-1112285036,1049138668,1056599450,-1093353638)+W(7,-1120116589,1040658126,1043369227,-1122892680)+W(8,1031926461,-1130658915,-1140271486,-1106977045)+W(9,-1124591186,-1119417531,-1115542891,-1121658742)+W(10,-1114299650,1003429157,-1155196377,-1107883356)+W(11,1034850634,-1137642362,-1125742491,-1130730345);sum2=W(0,1019878456,-1134735936,-1109681111,1018264792)+W(1,-1143212320,1037009054,-1106212594,1020074080)+W(2,-1127882992,1032289620,-1132238328,-1148803168)+W(3,-1131165168,1004132864,990246720,1017409120)+W(4,-1093714299,-1099909667,-1104210606,1028734812)+W(5,1047288883,1060586916,-1098896203,1034660210)+W(6,-1112028563,-1109339206,1042866381,1031452084)+W(7,1020410832,-1112228144,1023925320,-1115169564)+W(8,1032419228,-1113499692,1029305888,1025579416)+W(9,1030286292,-1130541520,1025031188,1010388000)+W(10,1019446368,1026005920,-1127563664,-1107165918)+W(11,1029468412,1009015280,-1123344268,989303425);WS(1043816952,1056206353); +sum1=W(0,1024900084,-1107172113,-1115461859,-1132948972)+W(1,1016358425,-1102438229,-1097009915,-1150680698)+W(2,-1115326124,-1148961467,1024199571,-1160444148)+W(3,-1120343575,-1144998513,-1130723763,1019123435)+W(4,1038250028,1039626815,1037119642,1034684352)+W(5,1051576078,1056604231,-1095598055,1061195075)+W(6,1010078034,1029312608,1057172865,-1088975285)+W(7,1022450003,-1112740858,1039764276,-1107729186)+W(8,-1110088668,-1116127087,-1144087781,-1107088436)+W(9,-1102307882,-1114968828,-1117712852,-1113187289)+W(10,-1122873761,1012385158,-1134624362,-1103288997)+W(11,1034042985,1002559709,-1114736693,1032878393);sum2=W(0,-1140675011,1009667595,1031002711,-1135809827)+W(1,-1147988326,1010789683,-1156373420,-1137384851)+W(2,-1172160176,-1135703979,-1122328477,1019754904)+W(3,990940844,-1135289651,1016962928,1006265798)+W(4,1025543601,-1124911966,-1114169661,-1136033931)+W(5,-1105219090,1044469394,1056449903,-1123691685)+W(6,-1111692677,1034039333,1046754031,-1118075063)+W(7,1010975355,-1111731157,1024901767,-1131889022)+W(8,-1108557845,1004385158,1027957130,-1107967067)+W(9,-1118550723,-1115586301,1015282250,-1096033675)+W(10,1005574774,-1130287690,-1120013003,1020360378)+W(11,1036125487,-1169619760,-1127946498,1025982043);WS(1049886076,1034318367); +sum1=W(0,1006465467,-1106141033,1022042959,-1140544720)+W(1,-1118154094,-1100197533,-1104462159,1025588553)+W(2,-1111905052,-1112348667,1029682164,996302474)+W(3,-1122979160,-1123002959,-1117824763,-1125961261)+W(4,966352080,1032360624,-1131075883,1021784769)+W(5,1051735858,1059041662,-1086897182,1059646174)+W(6,1029991670,1036690656,1057694799,-1085821075)+W(7,1031029131,-1155480906,1030592201,-1111853843)+W(8,1029412697,-1121174096,-1160888244,-1142660485)+W(9,-1106256562,-1150715274,1017231209,1042100949)+W(10,-1121375714,1015672965,1024907260,-1106530518)+W(11,1014936522,-1124207481,-1120397516,1017125029);sum2=W(0,-1118194097,1027617785,1032320648,-1110846605)+W(1,1019764549,-1102116254,1000132981,-1143898437)+W(2,999139301,-1131321177,1026769453,1008325379)+W(3,1024689095,-1118482095,1008054267,997400075)+W(4,-1144235925,1030911393,1029603693,1027180085)+W(5,1058710858,1058397441,-1119293171,1031570329)+W(6,-1129394727,-1097515304,-1104852463,1031557517)+W(7,-1120094485,-1106708620,-1123234663,-1131248001)+W(8,-1134544211,-1123614185,-1112673640,1033577170)+W(9,-1096477332,1018853209,-1129974305,-1126616369)+W(10,-1115701158,1018401637,1036639048,-1103611475)+W(11,-1134741251,1017993989,1024391909,-1119810656);WS(1058429118,1064863249); +sum1=W(0,1024394983,-1115666854,983001563,1021156518)+W(1,-1131178666,1046648007,1039490386,1020219616)+W(2,1007341951,1043757188,1017911734,1016100640)+W(3,964693930,1045299318,-1128564932,994206685)+W(4,1049468028,-1099725362,-1097350840,1054264097)+W(5,-1104196510,-1085827188,-1115114453,1055450440)+W(6,-1104186631,-1128095056,-1100930382,992909240)+W(7,-1105268364,1023907580,-1118903024,-1122765517)+W(8,1024539904,-1149024695,964768362,-1175841770)+W(9,1043203980,1022718592,1012766063,997016493)+W(10,-1119513801,1035657141,-1136266891,1033767351)+W(11,-1106015350,1029236260,1016423590,-1131557236);sum2=W(0,1018096716,-1121907467,-1106696811,1005391535)+W(1,-1121648533,1031305614,1026226746,-1135288360)+W(2,-1130245220,-1111725659,1032267559,996459166)+W(3,1033610651,-1108648643,1028271694,-1123582348)+W(4,1051313221,1060662591,-1100156814,1050575955)+W(5,-1081952512,-1074657656,1068258385,1047952814)+W(6,1031579134,1036231973,-1095314974,1040750694)+W(7,1034169827,1044987108,1044691450,1007524520)+W(8,1029467086,-1129063320,1028021126,-1098256564)+W(9,1051661425,1008147176,-1131820748,-1142136447)+W(10,-1107714686,1020424408,-1168737402,1035381379)+W(11,-1100160947,1024695710,-1129848660,1022647148);WS(-1083443454,998713176); +sum1=W(0,1026355790,1040668906,1040709994,1032696047)+W(1,1034252472,1051748575,1036398699,1024354795)+W(2,1032281789,1044965075,1035129883,1012872363)+W(3,1016830581,1048807512,1031400701,1027888345)+W(4,1032459486,-1103862520,-1087559501,1040929033)+W(5,-1097753826,-1093112676,-1102928053,1012490030)+W(6,-1100635790,-1099081393,-1092883854,-1114537329)+W(7,-1098186970,-1112352715,-1104850339,-1103916602)+W(8,1037090637,1033091241,-1146095614,1049786774)+W(9,1050721065,1037512365,1024780023,1047072725)+W(10,1011437457,1037286498,1024615038,1039546228)+W(11,-1114553850,1033653631,1036010231,1009955155);sum2=W(0,-1161872500,-1119785106,-1098289107,1035861958)+W(1,-1137177342,1045692473,1033623622,-1113290777)+W(2,-1103597964,-1117971136,-1106425659,1034613598)+W(3,-1111249467,-1114046628,1019694879,1038756242)+W(4,1049978705,-1107697817,-1096172460,1026686124)+W(5,1024040864,1013412750,-1091833397,-1098402027)+W(6,-1127968019,1057075430,1046082211,1053770527)+W(7,1052585151,-1102204197,1047895771,1049090628)+W(8,1027596044,-1121217732,1019723703,-1113513064)+W(9,1031079096,-1107709748,1033198374,-1098063812)+W(10,-1095279992,-1112843267,1038124498,1012376430)+W(11,-1100444173,1034273086,-1120386622,1045163433);WS(-1086369662,-1078015058); +sum1=W(0,-1100066053,-1106499229,1042615374,1024279387)+W(1,-1104719791,-1115604002,1049518735,1039589628)+W(2,-1125885710,1049389829,-1127523972,-1113174076)+W(3,1024511623,1042212335,-1102519338,-1111149795)+W(4,-1113085188,-1103658220,-1095346029,1054091094)+W(5,-1103236040,-1100854410,-1097514477,1050614757)+W(6,-1108066658,1026529231,-1097175852,1047781504)+W(7,1048227542,-1099302313,-1104719494,1041501469)+W(8,-1111759460,-1141254386,-1113840294,1050416872)+W(9,-1122281110,-1113439156,1032485602,1048966812)+W(10,1032565272,1039770777,-1119980106,1043919349)+W(11,1036646913,1032389542,-1104628175,1027138593);sum2=W(0,-1093473489,-1088925799,-1098738343,-1092512531)+W(1,-1076988140,1043337888,1042571962,-1081280020)+W(2,-1086556968,1010020371,1033193400,-1081342477)+W(3,-1121362077,-1126174974,-1102154130,-1107875638)+W(4,1062426368,1026425874,1009177475,1063615535)+W(5,1066811408,-1096426756,998962046,1067242406)+W(6,1060290312,1026166068,1022780060,1066297017)+W(7,1037059936,-1119102823,1017583668,1052028857)+W(8,1012050343,-1120184004,1030476954,-1119750726)+W(9,-1129159374,-1116680638,1031881676,1025403720)+W(10,-1115355073,1004442726,-1135563955,1023044380)+W(11,-1127777686,1034449190,946141982,1026819560);WS(-1129707456,1007685382); +sum1=W(0,1044154267,1030394337,-1098519836,-1134894751)+W(1,1038046773,-1118678129,-1107874844,-1111052786)+W(2,-1128991721,-1115520098,-1111301144,-1192544411)+W(3,-1122391156,-1103669035,1015910765,1035051017)+W(4,1013414869,1041040503,1044073412,1040671079)+W(5,-1098881194,-1107344299,1038778991,-1103276809)+W(6,-1107120076,1052479600,1048980909,-1110522396)+W(7,-1111557603,1051478546,1049200001,1033063921)+W(8,1035376874,1028314315,-1134057701,-1109530006)+W(9,-1139987723,992777541,-1112561176,-1105794628)+W(10,-1112546431,-1132207293,-1112828028,-1108336721)+W(11,1018554845,-1119107128,999515194,1023468750);sum2=W(0,-1126465818,1033612180,-1110122518,-1137824107)+W(1,-1158497445,1039739597,-1116868027,1005362547)+W(2,1021074352,-1112420682,1037998233,-1119770196)+W(3,1034621027,-1120069279,1025116420,-1138544392)+W(4,-1106894813,1047362418,1039063461,-1137081539)+W(5,-1106604299,1071589227,1067526191,1045165527)+W(6,1039276731,-1077533661,1061860820,-1138568822)+W(7,-1113398206,-1094637864,-1073373771,-1104439342)+W(8,-1117814890,1023374342,-1124656554,-1158403413)+W(9,1044031039,-1148955153,-1115663214,-1136640937)+W(10,1031122886,999718675,-1123862185,-1133800170)+W(11,1031315442,1025985948,-1139157324,-1106196407);WS(1033791472,-1138498893); +sum1=W(0,1014781903,-1108646231,-1102835756,-1143657507)+W(1,1018917100,-1106020223,-1108649138,1029133201)+W(2,1016812674,-1113672010,1003669472,998381448)+W(3,-1137667330,-1127743919,-1114481905,-1118545247)+W(4,-1130492804,1021681616,1044190455,1024249065)+W(5,1054388603,1058377694,-1115040338,1008218246)+W(6,-1132293500,1049136345,1046387590,-1092207694)+W(7,-1119594899,-1119541597,1017676194,-1112726231)+W(8,-1112711792,-1128240816,1008291608,-1107762844)+W(9,-1123372431,1014932868,1025256893,1019895480)+W(10,-1123523050,1008489644,1007448080,-1111491159)+W(11,1028355707,1001709096,-1112884042,-1123035739);sum2=W(0,-1120344268,-1106292024,-1106657768,1014470821)+W(1,-1106002658,1054743689,1049926230,-1114330800)+W(2,-1126273593,-1122403994,-1112305858,1024999308)+W(3,-1123975632,1030827431,-1116955850,-1127411221)+W(4,1032219219,-1101139832,1006830039,1034825132)+W(5,1049962194,-1103958261,-1102461554,1057813788)+W(6,996027236,1040205712,-1098680718,1051810194)+W(7,-1114551452,-1111240037,-1109277736,984340447)+W(8,-1114556582,1008940380,-1124459301,-1104684796)+W(9,1050373872,-1133852786,1029827978,-1111886229)+W(10,-1100520246,1024816377,-1109427720,1035894797)+W(11,-1106040331,1003623824,-1117160816,1014102650);WS(1060089726,1074996161); +sum1=W(0,1029119241,1039893948,1046443391,-1117558175)+W(1,1010789890,1035829124,1041448800,-1141503452)+W(2,-1120312844,1028398131,1041862066,1037081758)+W(3,1021223318,1047369209,1038548631,1027150698)+W(4,-1093429938,1021452133,1040714346,-1083103171)+W(5,1032282738,1021975771,1048946821,-1088988175)+W(6,-1142682180,-1090323173,1040332065,1035486030)+W(7,-1105296983,-1095359061,-1112512014,-1111879740)+W(8,1030628716,1027140771,1023987857,1044503809)+W(9,1038764813,1026271340,1026874120,1038933875)+W(10,1041097413,-1113760891,1034225415,1032949373)+W(11,1046714577,-1134282558,1028642719,1029165798);sum2=W(0,-1156760442,-1160974837,-1131662151,-1130708327)+W(1,1005458237,-1104012424,-1122121264,1011385503)+W(2,-1121500080,-1106371091,1025508020,1015786967)+W(3,1008927007,-1107217673,1032453110,1023017975)+W(4,-1119116140,-1148640061,-1104634511,1027052068)+W(5,1053197196,1050251696,-1101053828,1006726095)+W(6,1032166230,-1115585403,1043632028,-1150821434)+W(7,-1143126685,1045664978,1032061998,-1116451706)+W(8,1028521640,-1132259207,-1117309872,1037500532)+W(9,-1121651972,-1148190653,-1129219511,1041142688)+W(10,-1117076340,-1120252400,1005943453,-1105814552)+W(11,-1103126409,-1126349911,1024831312,-1120517680);WS(-1081408895,1057237802); +sum1=W(0,-1135569700,1025037351,1050393725,1016592219)+W(1,-1134722237,1042881918,1042967287,1019913045)+W(2,1019971573,1038993285,1033060699,1020337237)+W(3,1027236154,1041649576,1028206140,1015924209)+W(4,1021729271,-1114451665,-1099121222,-1096948620)+W(5,-1107250293,-1092679092,-1104931659,-1123436299)+W(6,1037602588,-1091584672,-1098053310,1047123275)+W(7,1044331459,-1089381821,-1092984777,1034435092)+W(8,1033766733,1023688209,1026859007,1042338077)+W(9,1042265522,1017621813,994107237,1036822635)+W(10,1042862441,-1147819555,1033354815,1043883210)+W(11,1042007901,963919445,1035642823,1029491668);sum2=W(0,1036537032,1030963640,-1092240358,-1127968320)+W(1,1020801080,-1109029546,-1097473768,-1112917417)+W(2,-1127208552,1028578068,-1116583352,1019615648)+W(3,-1121416948,1041090246,-1113404853,1023589392)+W(4,-1105653780,-1097383073,1016463192,1057542400)+W(5,1058712288,1052867895,1038201480,1053316325)+W(6,-1093453186,-1141347136,-1123129572,1043894648)+W(7,-1094394128,1037486484,1006791808,1034405836)+W(8,1040975890,1019305024,1037438732,-1094079665)+W(9,1013027424,1010261952,1028884816,-1101066411)+W(10,-1117505000,-1113360113,1027371024,-1118015492)+W(11,1044943944,-1104647878,1034904608,-1111557726);WS(-1076745215,1064070508); +sum1=W(0,-1138649581,1030286820,1043437193,1019383636)+W(1,-1127653591,1048543741,1040316179,1029667879)+W(2,1022926189,1039947283,1029763954,1027426151)+W(3,1016119660,1041368223,1025479577,1004012708)+W(4,1033675388,1027453406,1019299111,-1100863080)+W(5,-1084687593,-1082029409,-1110289513,-1102225484)+W(6,1026499316,1031954367,983973284,-1111626052)+W(7,1026134601,1016553765,-1118301831,-1122995300)+W(8,1031909515,-1136380470,1018313975,1041928012)+W(9,1044625233,-1136351578,1026991539,1043406276)+W(10,1039879984,1022902273,1027257018,1044339921)+W(11,1012331970,1027440187,1026798858,1022733729);sum2=W(0,1008718823,-1135045027,1012459087,-1131696089)+W(1,-1140198251,1033739972,-1118135053,-1149188438)+W(2,1007479839,1015462815,-1142742214,-1129603953)+W(3,1018622169,-1135479163,-1126906553,-1141563590)+W(4,-1125420309,-1110618065,1039451269,-1112347233)+W(5,1052325325,1052741682,1024383435,1041969824)+W(6,-1120072309,-1095903036,-1121721953,1029891118)+W(7,1016803437,-1098230278,-1105015368,1017890385)+W(8,1007247903,999949222,-1129595249,-1158657302)+W(9,1034080133,-1140370763,-1130814181,1015365577)+W(10,-1162307222,-1132990667,1020979581,-1110453303)+W(11,1021342643,-1137891195,1008938691,-1122346803);WS(-1094563452,1051169575); +sum1=W(0,1029393378,1035203109,1018130713,-1154622990)+W(1,1033996553,-1106127031,-1113234793,-1117775501)+W(2,1018491963,-1112874623,-1114335628,-1136342582)+W(3,1015760954,-1110067034,1023872671,1032030382)+W(4,1032896399,1039535746,-1120902330,1040428881)+W(5,-1112183035,-1090463816,-1102863965,1049040808)+W(6,1044702279,-1098092733,961094679,1048012112)+W(7,1035998904,1029109433,1033184663,1032915973)+W(8,1021002107,1036762426,1019319877,-1113835211)+W(9,-1105904891,1040237135,-1135300966,-1107942972)+W(10,-1124337998,-1137189022,1032716400,-1148767576)+W(11,-1110631596,1013167238,1037223880,1006151100);sum2=W(0,-1120070369,-1130520759,-1121092135,1028413027)+W(1,-1111535757,-1097640928,-1120753460,1012563150)+W(2,1009477102,999766235,-1098008778,1011962278)+W(3,974823129,-1129371381,-1122757360,-1153318262)+W(4,1037177446,-1104029390,-1137632446,1017337743)+W(5,1051800696,1050145982,1048794348,-1106734706)+W(6,-1106510696,1047938812,-1114477541,1035782812)+W(7,1028214977,-1123769252,-1111017918,1010623246)+W(8,1033133092,-1114678191,1027578971,999930971)+W(9,1041394994,-1119592910,1030530567,-1111694827)+W(10,-1127041263,1024176823,1001961835,-1118971109)+W(11,-1124747017,1007999422,-1115486877,1020162151);WS(1057759166,-1088449289); +sum1=W(0,1025446574,1037627635,1044873994,-1129635066)+W(1,1017539549,1033910011,1041685209,-1144519245)+W(2,-1122678010,1035038013,1039651930,1026395242)+W(3,1024557433,1038868536,1039320958,1025431320)+W(4,-1097118359,1022204225,-1116302487,-1087389198)+W(5,-1129568803,-1105345911,1022125102,-1089578865)+W(6,1030050103,-1097803608,-1122366800,1010566389)+W(7,-1112614790,-1126568107,-1119554634,-1110122707)+W(8,1039292653,1021371937,1017011581,1048786726)+W(9,1045748274,1031878029,1025212662,1045860709)+W(10,1033498658,1007580942,1013486066,1027479143)+W(11,1010965710,1015223035,1028360045,-1161253492);sum2=W(0,-1124547002,-1149048922,1033992046,-1162281894)+W(1,-1135956229,-1132541637,988741862,-1150111187)+W(2,965409433,1024739191,-1132011310,-1145634890)+W(3,1024679583,-1129294934,1008671821,-1123274137)+W(4,1036788056,1046094595,1038465062,1042856153)+W(5,-1097406101,1049669935,1060179844,-1112557119)+W(6,-1104384368,1042681611,-1101657128,-1121853795)+W(7,-1147059498,1027020519,-1111116605,1032013500)+W(8,-1100316514,1035682376,1024284423,-1093956780)+W(9,1022378118,-1113139255,-1122577303,-1090501223)+W(10,-1121116299,-1118824057,-1130855582,1045140163)+W(11,-1131272734,-1124922046,1006161754,1035479824);WS(-1086987838,-1100233980); +sum1=W(0,-1122325985,1028094431,1041765192,1015308459)+W(1,1032904116,-1118546351,1042485054,-1116672610)+W(2,1033123257,-1116818498,-1118052589,-1141168915)+W(3,1015833828,1015146386,992241989,1001375875)+W(4,-1114108890,1041449686,1042444900,-1105415847)+W(5,1046690691,-1128556841,1049087917,-1092596043)+W(6,1049735534,-1094503991,-1089307961,1054244345)+W(7,1041637233,-1100869156,-1104029377,1040724504)+W(8,-1106140165,1034767973,1003799483,-1111075669)+W(9,1034284768,1033288361,-1144225139,-1110170951)+W(10,1030527932,-1121578684,1010481109,1026589088)+W(11,-1123717612,-1124977133,1030765989,1008796465);sum2=W(0,1026284201,-1106810438,-1100557855,-1128145157)+W(1,-1136599052,1044596046,1042787919,1012811840)+W(2,1011005728,-1104618112,1038174685,992541697)+W(3,995789721,-1116633305,-1166127490,-1127430370)+W(4,1054522141,1057115188,1048654145,1057648426)+W(5,-1073275189,-1074262745,1046636853,-1098531848)+W(6,1059653331,1060082709,1044984510,1061008073)+W(7,1017274260,1033697834,1034192337,1035655860)+W(8,-1103409060,1017140792,-1133425768,-1122215769)+W(9,1035358469,-1143532160,-1118227807,1046426252)+W(10,-1104639697,981079778,1016191398,1036107748)+W(11,-1112828961,1021901152,1006837720,-1130597644);WS(-1092446204,989212831); +sum1=W(0,-1116778591,-1131432602,1048125124,1007124942)+W(1,-1121715541,-1138060917,1042237585,1027403088)+W(2,1020332096,-1126238792,1027977243,1019921952)+W(3,1020381759,1024321015,-1131884420,-1139218425)+W(4,-1106585464,1019782926,-1141178857,-1138101793)+W(5,1037962972,-1101006449,1036610823,1016240146)+W(6,1053622732,-1089064867,-1094792341,1053191424)+W(7,1049124886,-1107274751,-1101892348,1043276755)+W(8,-1115311760,1015089582,1034583667,-1102978326)+W(9,-1114322839,1008360193,1027127900,-1110971902)+W(10,-1137835047,1017386452,1028625507,1031189102)+W(11,-1110951117,1008208785,1009465805,-1132849129);sum2=W(0,-1125980662,1050146519,-1088595541,-1120159352)+W(1,1028063854,-1107336769,-1090859444,-1131578305)+W(2,1033612769,1041431951,-1105868965,1021975879)+W(3,1040487308,1042279365,-1112749441,-1119579693)+W(4,-1093128727,-1098317152,1061831343,1060560783)+W(5,1071289406,1069689231,1057012981,1057304640)+W(6,-1086794372,-1086042421,-1097221007,-1087527230)+W(7,-1089785065,-1088997285,1033122226,982969010)+W(8,1042347964,1038452583,-1101640393,-1089452071)+W(9,-1096815763,1041229675,-1105624394,-1095995319)+W(10,1049524493,-1143180172,1037791301,-1104502319)+W(11,-1135764460,1049121852,1029453052,-1104150062);WS(-1080642303,1037515653); +sum1=W(0,1040389217,1009459592,-1123461796,1014399585)+W(1,1035628117,-1111999897,-1118449912,1025436037)+W(2,1019714410,-1098862637,1042449564,1032176658)+W(3,-1129425897,-1108656118,1015874414,1031481267)+W(4,-1138501592,1046330151,1037702505,-1115821917)+W(5,1046961203,1048171302,-1088063230,1046808963)+W(6,1042823052,1033619294,1046621083,-1085801589)+W(7,1022709518,-1172911161,1017602698,1032561937)+W(8,-1113097082,1032999462,-1134503912,-1105260875)+W(9,-1112931778,1033647146,1011659972,-1166545913)+W(10,-1108126015,1023868127,1020514160,-1116953058)+W(11,-1161936349,1015791986,1030447848,1033606503);sum2=W(0,1025910769,1043978669,-1104932637,-1139497271)+W(1,1037339247,1037617885,-1105480129,-1105297083)+W(2,-1123186639,-1105522985,-1107402541,-1111547600)+W(3,-1137152287,-1102258444,1011577705,1029488041)+W(4,-1116100213,1042493673,1034980171,1000924601)+W(5,1049988969,1050036780,1044002411,-1102785010)+W(6,1040977948,-1097804729,1039942071,1045831134)+W(7,1025599417,-1139888185,1042714488,1036894407)+W(8,1038409695,1025837919,-1154378706,-1102656208)+W(9,-1122964745,1036616991,-1109802618,-1098474508)+W(10,1028039731,-1111839940,-1132149525,-1106907325)+W(11,-1112698813,-1114191023,1040500443,-1112976714);WS(1060124606,-1084472548); +sum1=W(0,-1131934189,1021193865,-1112711971,1012638700)+W(1,-1138043955,1048955067,-1125331574,-1129347279)+W(2,1022374575,-1115361884,-1106488069,1007380511)+W(3,992489843,-1118477310,-1120058426,996895579)+W(4,1017460401,-1117271615,1032623962,1024524352)+W(5,-1094951982,1015143283,1049120342,-1113956442)+W(6,1005249701,1024310560,-1110142007,1048203795)+W(7,-1129456851,1036683482,-1121731240,1026650437)+W(8,1023262959,-1157409515,1027484509,-1115629480)+W(9,1031640934,1021584239,1010910287,-1108495481)+W(10,-1136673413,1017598403,-1144904917,-1129214986)+W(11,-1115998674,1014521967,-1145343061,1017029987);sum2=W(0,-1129519836,1018887182,1041723134,-1113301049)+W(1,-1114997262,1081282167,1065721494,-1113144608)+W(2,-1144798799,1004635839,1053752802,1028189537)+W(3,-1123606042,1032429021,1024321495,-1135227415)+W(4,-1123219625,1021107126,1012563935,-1119425470)+W(5,-1068115046,-1092304788,1032971141,-1082046556)+W(6,-1126716683,1026059029,-1120681827,-1091841582)+W(7,-1137534547,-1121765421,992723582,-1149813598)+W(8,-1131491053,1017265018,-1135264199,1013366251)+W(9,1028331651,927030725,-1135106943,-1132479565)+W(10,-1132445755,-1137356791,983594844,1021570574)+W(11,1024141029,-1123588459,959859164,1010781703);WS(1064307390,997943845); +sum1=W(0,1004931163,-1124632947,-1110031838,1016504192)+W(1,-1125536771,-1132488742,-1106796660,1001468389)+W(2,-1157300426,-1111316170,-1111862756,1024701821)+W(3,1014991280,-1116314499,-1153319146,1008115882)+W(4,-1129767067,1003984285,1047561626,-1108555962)+W(5,-1097456765,1050670238,1053522405,-1106350773)+W(6,-1110123941,1039422954,-1128004006,1040312105)+W(7,-1109063375,1042190650,1005773541,1030600762)+W(8,1017992857,1018940039,1004953741,-1114174882)+W(9,-1136221548,1015934681,1000370245,-1106382906)+W(10,1020844396,-1128259885,1011062590,-1123896954)+W(11,1024320647,-1130969505,-1153739770,1015300557);sum2=W(0,1018720963,-1119632397,-1100095598,1036505224)+W(1,1035136259,-1072130218,-1082101932,1037554666)+W(2,1012123245,-1114842502,-1090292986,-1131720942)+W(3,1024471767,-1105383800,-1108983905,1027168757)+W(4,1033659023,1025734363,-1110028565,1039944480)+W(5,1074634461,1012777017,-1103479495,1064933062)+W(6,1046242606,-1117820012,-1132873326,1057038142)+W(7,1041395450,1033191694,-1117294599,1018437263)+W(8,1015545311,-1126149289,1017378303,1016119595)+W(9,1036162128,-1118704038,1022196513,1036578506)+W(10,-1115011900,1033886326,1020047721,-1120419990)+W(11,-1113427773,1024978781,-1136709697,1004277346);WS(1053812476,-1113586226); +sum1=W(0,1028349447,-1120416825,-1111011390,-1130399840)+W(1,-1121520129,-1106086226,-1107941440,1021963321)+W(2,-1115853964,-1107644952,-1129958415,1020769785)+W(3,-1121122124,-1114352785,-1122155502,1021860117)+W(4,-1105796643,1044272829,1037708373,1007197394)+W(5,1046348585,1057081835,-1093131829,1056809437)+W(6,1050300257,-1119895572,1059679544,-1090756230)+W(7,1041113720,-1110926804,1040260199,-1116443513)+W(8,-1110423782,-1125249991,-1139049030,-1122978308)+W(9,-1099751719,-1114497366,1011721762,-1122097703)+W(10,-1111488955,1022041005,1018253471,-1102044582)+W(11,-1156322407,-1135672898,-1121197023,1019054925);sum2=W(0,-1121994623,1032866568,1010541588,1015672618)+W(1,-1127744422,-1124040172,1044676778,-1149412980)+W(2,1024671460,1029499881,-1102290659,990134373)+W(3,-1125579600,1001699435,-1120084193,-1132259460)+W(4,1011616452,-1095022641,1020421847,-1115998566)+W(5,1058620442,1015017230,-1097106911,-1107438884)+W(6,-1104592911,1045525693,-1104275347,1049322309)+W(7,-1123886068,1037165892,-1119993661,1035840939)+W(8,1020628925,1017019595,1015113530,-1129704409)+W(9,-1113422252,1015061518,1022483811,-1112769863)+W(10,1026741584,-1136765715,-1114030797,1039268635)+W(11,-1126762930,-1134246014,-1131682952,999745387);WS(1059863230,-1098226968); +sum1=W(0,1033627108,1044463840,-1130042625,-1111154474)+W(1,1018934285,1036585799,-1098768819,-1111220881)+W(2,-1108034825,-1100472134,1041677635,-1156119577)+W(3,-1116166225,-1111999396,1038444026,1035708952)+W(4,-1125693093,1045974478,-1126659421,-1124092147)+W(5,-1094381437,-1098844542,1040108899,1043860042)+W(6,1038465479,-1096809363,1051479065,1034781361)+W(7,1019243847,1003830125,1040658808,1027036095)+W(8,1040744732,1026252457,-1109234699,-1116454602)+W(9,1043775752,-1107008620,-1103478147,-1149847241)+W(10,-1121805723,-1105262391,-1127254569,1046003792)+W(11,-1131289879,-1116821910,1038964162,1037992790);sum2=W(0,-1114215534,-1119320351,1008804487,1031860762)+W(1,-1123072391,-1145928741,1028769566,1037917300)+W(2,1036233577,1035112755,-1118791492,-1121765219)+W(3,1007761049,1034891236,-1119166399,-1113082189)+W(4,-1105317049,-1126605754,-1130814575,1036033743)+W(5,-1104666827,1058632863,1029943513,1033869945)+W(6,1043081028,1033184724,1010033985,-1103277106)+W(7,1003334201,-1146667244,-1124066564,-1110309063)+W(8,-1103884858,1019583714,1042429978,-1114717025)+W(9,-1084821476,1057878257,1050527129,-1097519272)+W(10,-1108906997,1050006554,1047090522,-1091781337)+W(11,-1124982586,1037673833,-1116436299,-1105454190);WS(1053829756,-1108691549); +sum1=W(0,-1117035633,1031518451,1034972923,1014621415)+W(1,-1121088251,1043029617,1028891034,1017668333)+W(2,1027915142,-1118505878,1037608353,-1113943163)+W(3,1018110476,-1114328254,1008280866,-1117882340)+W(4,-1146432572,1011744694,-1121242915,-1105089900)+W(5,1052288956,-1096216885,-1099260407,-1111069516)+W(6,1040529537,1033001703,-1109446679,1043183409)+W(7,1025673432,1038283409,1023717270,-1127832039)+W(8,-1195363583,1024600093,-1125107735,1024842558)+W(9,1043236853,1022444749,-1111257697,1035963185)+W(10,-1110826184,983774736,1008767270,-1104376301)+W(11,-1136644866,-1122279626,1021787123,-1108863440);sum2=W(0,-1128158188,-1133074596,-1153535168,1011466728)+W(1,1021341187,1041916532,-1111924694,993685376)+W(2,1016637363,-1111577830,-1115375045,-1125064327)+W(3,-1142265296,-1139232914,-1121861231,-1135616946)+W(4,-1108077390,1031842286,-1113493290,-1121363658)+W(5,-1088803436,-1097359431,-1096696142,1048370655)+W(6,1048268187,-1102058354,1066069354,1050909934)+W(7,1033829714,-1108918948,-1112810542,1028734454)+W(8,-1114077565,1032726750,-1121975877,1016979229)+W(9,1051606360,1020447303,-1126878203,1032702600)+W(10,-1106393780,1011253904,-1115472084,-1108957150)+W(11,-1124153420,-1135690267,1032484333,-1104652034);WS(1043379192,-1131322837); +sum1=W(0,-1148980502,-1141769560,-1109595831,-1129021027)+W(1,1015261926,1038059198,-1131540259,-1117253390)+W(2,-1130947836,1040366611,1043151230,1024719214)+W(3,1010796022,1032003186,1036650848,974083843)+W(4,1040943040,1016895818,1042153991,1033800339)+W(5,1019360940,-1103092216,1040857522,-1099641090)+W(6,-1120007803,-1100986498,-1091529984,1047704456)+W(7,-1135300928,-1114490317,-1116706574,1032688054)+W(8,1029537886,1023917269,1026187331,-1099711038)+W(9,1032384358,-1137467256,999787984,-1104535414)+W(10,1031568104,-1117455240,1021851650,1043292971)+W(11,1026900536,-1124200964,1021119266,1019020464);sum2=W(0,-1143073539,1010285366,1028175283,-1127801857)+W(1,-1114698807,-1107796176,1045024365,-1106914355)+W(2,1034854605,-1094857339,-1093181393,-1129241721)+W(3,1026781991,-1106206681,-1104001534,1015357631)+W(4,1022418743,-1111757330,-1133354170,-1129802997)+W(5,1055188047,-1099199714,1035388549,-1109183829)+W(6,1038631095,1042537531,-1108056884,1060464193)+W(7,-1121422795,1010545294,1019867695,1035894131)+W(8,1032847739,-1119713292,1029358411,-1129332011)+W(9,1027769667,-1126683209,984677997,1028119663)+W(10,-1123722407,1025618013,-1117802232,1015260775)+W(11,-1120402439,1021478623,-1116557581,1021694327);WS(1049844732,-1121310639); +sum1=W(0,-1099209689,-1106734859,1044402267,1023733410)+W(1,-1102957277,-1111686974,1050332331,1040893204)+W(2,-1136674298,1049981942,-1122456058,-1114244983)+W(3,1021220348,1043895987,-1102278760,-1108461358)+W(4,-1108848000,-1103164857,-1096212219,1053233309)+W(5,-1098618899,-1097562740,-1099336615,1049912979)+W(6,-1111429758,1033031043,-1096335583,1048539349)+W(7,1048170180,-1101337719,-1102589972,1039273110)+W(8,-1109302031,-1129199659,-1114613442,1051767783)+W(9,-1121562509,-1111886543,1033787229,1050917291)+W(10,1039550692,1041151474,-1121890370,1042792075)+W(11,1041281742,1031699907,-1104020956,1008842338);sum2=W(0,1052363768,1056364330,1040398919,1051830333)+W(1,1068323273,-1117763636,-1105094784,1062286287)+W(2,1058036233,-1135317262,-1117097644,1062941652)+W(3,1029358050,-1127713443,1045469136,1038399576)+W(4,-1088095023,-1128031249,-1112895824,-1088812275)+W(5,-1086712736,-1122350162,-1110939052,-1083945825)+W(6,-1090471655,-1117471490,-1107088013,-1085128967)+W(7,-1118175248,1023889083,-1128774604,-1096613184)+W(8,-1126124865,1022839272,-1120174945,1030823820)+W(9,1034881723,1031923437,-1113476028,-1131257287)+W(10,1022005418,-1131972943,-1149114843,993374262)+W(11,1006015479,-1114795832,1015689530,-1124473506);WS(997080576,-1130763300); +sum1=W(0,1030153879,-1108108727,-1121320815,-1113905570)+W(1,-1152616277,-1090117932,-1100762033,-1117230256)+W(2,-1112646432,-1102311764,-1109500574,-1146808706)+W(3,-1120216576,-1099135446,-1119610882,-1186209359)+W(4,1032364321,-1131460303,1025325853,1038521748)+W(5,1069923213,1063008042,1040312882,1051702873)+W(6,1028696893,-1115439812,1056019095,-1104049339)+W(7,1030578386,-1116447004,-1125581089,-1120830317)+W(8,-1152289285,-1111143084,-1123369669,-1108459484)+W(9,-1092045374,-1116551136,1018134009,-1099800679)+W(10,-1105934578,-1120248394,1015899783,-1100849447)+W(11,-1108771165,-1120342084,-1113190874,1028735898);sum2=W(0,-1115062100,1033634795,1025142055,-1130955153)+W(1,1040485485,-1115074190,-1114031272,-1114768924)+W(2,1040365390,1039570131,-1110799922,-1102247365)+W(3,-1134789779,1035629875,-1112489130,-1105380703)+W(4,-1124058081,-1151569099,1041203911,1025405091)+W(5,-1104495565,1065129660,-1160505239,1047530952)+W(6,-1102056033,1037120419,-1115442088,1038913214)+W(7,-1104428707,1035843769,-1145632358,-1123724877)+W(8,-1098708869,1041850582,-1107186683,1034798579)+W(9,-1095909934,1045395705,-1097808347,1048498835)+W(10,1024518769,1007217475,-1106337339,-1105078519)+W(11,-1117935125,-1124566009,-1152795787,-1109649658);WS(-1078383103,1059446981); +sum1=W(0,1022304576,1008862865,-1142609202,-1139864362)+W(1,1007335089,1032501274,-1109139429,-1117916615)+W(2,1022280942,-1115332063,982044231,-1119884647)+W(3,1034312731,-1102309771,991223187,1023668405)+W(4,-1100327790,1047898440,1048881003,-1105667544)+W(5,-1089810345,-1104044598,1053051896,-1098424968)+W(6,1049118183,-1113330784,1051763270,1033240873)+W(7,-1110413061,1032557738,1027424455,-1140016273)+W(8,1029966423,-1128249884,1019807480,-1110989208)+W(9,1040575921,1013296733,-1114518074,1023833874)+W(10,1041606896,-1126749570,-1110353213,-1114053146)+W(11,1041157596,-1121516731,1021514772,-1122699729);sum2=W(0,1022767513,-1104882348,1050457027,-1143648694)+W(1,-1138915747,-1122824043,1052893834,963325627)+W(2,1031585165,-1094902239,1019582897,1040530304)+W(3,-1120690652,-1090635807,-1113748748,1008260859)+W(4,1017677825,-1116653154,-1095258955,-1090901428)+W(5,1048412513,1063122641,1030383529,-1090554669)+W(6,-1104950416,1057380402,-1089352859,-1101863176)+W(7,1056780417,1049388154,-1106433792,-1120605391)+W(8,-1125154789,-1149114774,1034828442,1047388223)+W(9,-1118207917,1005930742,1040557770,-1114292033)+W(10,-1102824630,1033506230,980397999,1048190601)+W(11,-1104842210,-1136517107,-1115355457,1038107916);WS(-1104952056,-1073278929); +sum1=W(0,1031125659,-1116651974,-1099507218,-1144211169)+W(1,-1142367854,-1105066053,-1101060075,-1121100585)+W(2,-1114298540,-1114707952,-1131576359,1025675017)+W(3,-1122834968,-1111900952,-1120605819,1036563163)+W(4,-1113308557,1037274304,1043300637,1047627264)+W(5,1039149624,1051689271,-1102367022,1054491321)+W(6,1042584197,-1128472513,1044811828,-1106626380)+W(7,1039018645,-1115669626,1045578618,-1128818827)+W(8,-1126577137,-1122667056,1030331294,-1098196346)+W(9,-1106731162,-1120693369,1026346581,-1102852173)+W(10,-1126957444,-1140414731,1018492983,-1111689619)+W(11,1025441875,997033420,-1128018583,992521004);sum2=W(0,-1139616023,-1124977156,1036324905,-1117577133)+W(1,1028627780,-1109376562,-1120808104,997820975)+W(2,1032747040,-1145526876,1029259135,-1114909048)+W(3,1030832637,983753970,1022442689,-1116006677)+W(4,-1115101040,1032695755,-1164734594,1012676607)+W(5,1049990275,-1096754642,1041759226,1041273688)+W(6,1039154681,-1094055114,1041324783,1043064430)+W(7,-1115224952,1023440264,-1098711698,1027909669)+W(8,-1116113854,1006188424,-1110394349,1039853902)+W(9,-1106762918,1033535767,-1120661488,1041255405)+W(10,1025837595,1023476809,1021759445,-1111929038)+W(11,-1112181665,1029342490,-1133986843,-1130147608);WS(1057403966,-1096678293); +sum1=W(0,1013920108,-1127594402,-1133819725,1015545167)+W(1,991347091,-1107540753,1031500952,1030182836)+W(2,-1130110920,-1120427420,1042502792,1031028372)+W(3,-1127755335,-1113612941,1023814022,-1137745417)+W(4,-1136130453,-1123399563,-1110196161,1037006758)+W(5,1040431359,1060132444,-1086200264,1042283546)+W(6,1042737160,1001749345,1049379651,-1084295706)+W(7,1042334622,-1123659840,1023472436,1019878434)+W(8,1041684833,-1119121787,1028708905,-1111752718)+W(9,-1104881213,1006406689,-1120221088,1047364560)+W(10,-1117219726,1026883950,1002061113,-1113607001)+W(11,1008021369,1011156129,-1124476270,1017968636);sum2=W(0,1027650789,-1117835702,-1129322914,-1178786588)+W(1,1010647389,-1110565129,-1120140062,1004569898)+W(2,-1128412421,1035331810,1046200355,-1130907066)+W(3,1019136642,-1114775527,1040609034,1000455394)+W(4,-1106357388,1050236879,1036181740,-1116170217)+W(5,1051050908,-1121260831,1029537087,1012300621)+W(6,1038925264,-1104188032,-1105419536,-1094299123)+W(7,1028674911,1009994365,-1148832482,-1110352470)+W(8,-1107702296,-1127926494,-1132924585,1016863918)+W(9,1019718506,-1147888890,1007741857,-1115347042)+W(10,1035623426,-1132432621,-1122466004,1018471790)+W(11,-1129304944,-1146317634,-1132484471,1031812039);WS(1056335484,-1129697442); +sum1=W(0,-1123816285,-1162479083,1026825265,-1118615510)+W(1,-1126548591,-1115166368,-1123245334,1016357093)+W(2,-1125007109,1009460392,993334229,1017679973)+W(3,-1127256452,-1110259820,-1117686884,-1130509569)+W(4,-1175208362,-1122870505,1045269336,-1102686619)+W(5,1012633705,1022501065,1056143939,-1112742573)+W(6,-1110640192,1043433395,1044007618,1048503365)+W(7,1008538193,1040188728,1037226473,1010107581)+W(8,1025178018,-1112741005,-1140818205,1031523962)+W(9,-1098786498,-1121817826,1004860403,-1115481871)+W(10,-1104721331,-1142571619,-1134864917,-1107348056)+W(11,-1112073470,1004599859,-1120701013,-1124234681);sum2=W(0,1018164054,-1144859189,-1126783010,-1140731697)+W(1,1033668632,-1111621890,-1148034885,-1116322329)+W(2,1006827755,-1133278289,1034430751,-1110091010)+W(3,978878091,-1106732021,-1134565598,1024608202)+W(4,1011714049,1039236492,-1110815467,1035005186)+W(5,1057652336,1053123628,-1109778149,-1112384840)+W(6,1035575897,1009902097,-1113563636,-1103655808)+W(7,1017810394,1032913014,1031837967,1007536733)+W(8,-1130754383,-1146205013,-1127206230,-1144657885)+W(9,-1107649638,1012470213,-1113225660,-1113329105)+W(10,-1136830370,-1126431906,-1113811608,-1112793157)+W(11,-1118754368,-1123083034,1007646275,-1131576514);WS(1064654654,1035088379); +sum1=W(0,1013730923,-1104968795,-1101065371,-1123150274)+W(1,-1143080352,-1097917367,-1104298005,-1124984926)+W(2,-1120446591,-1112072243,-1115560637,-1115541655)+W(3,-1123168830,-1101025669,-1121553409,1019709882)+W(4,1043838624,-1116995686,1034671630,1052021669)+W(5,1053857683,1053311748,-1125221929,1050953841)+W(6,-1118042236,1056948345,1054064059,-1098028717)+W(7,1024509393,1051915779,1047317764,-1117850604)+W(8,1025043295,-1123853974,-1124628232,-1103122974)+W(9,-1101557747,-1129945790,-1122875259,-1102292982)+W(10,-1099829586,1010096420,-1115475969,-1102206963)+W(11,-1105952782,1010117900,-1120157778,-1123986585);sum2=W(0,1036300391,-1120873277,-1109338596,-1115290116)+W(1,1023887773,-1110763968,-1133763869,-1109664288)+W(2,-1112746552,-1111086518,-1104363651,1031338337)+W(3,-1123357025,-1113327782,1014654409,1029647363)+W(4,1031940424,1045633640,-1101682429,1052546267)+W(5,1046589307,1050150667,-1094977574,1041363997)+W(6,1026186944,-1121584221,-1104681827,1038758869)+W(7,-1114411312,1033926660,1042076972,1011886363)+W(8,-1121551223,1021591180,1027635895,-1106866549)+W(9,-1110488084,1009099129,-1119215823,1008614181)+W(10,1035823152,-1115537942,1016354897,-1120223295)+W(11,1046305164,-1109553196,1012736237,-1111033402);WS(-1088190206,-1108558078); +sum1=W(0,1034096473,-1100191472,1048826552,-1109712467)+W(1,-1111503908,-1114238856,1051587686,-1111610193)+W(2,-1109918121,1053388852,-1124911644,1029528067)+W(3,-1110290409,1049826386,-1101598429,-1130336610)+W(4,-1104233509,1021528052,1045129740,-1117596347)+W(5,-1118548075,1045282957,-1123092480,-1112703594)+W(6,1040678692,-1121835291,1041941490,-1094857227)+W(7,-1108498290,1032628503,1050563972,-1102065648)+W(8,1015098342,-1095362037,1040739958,-1145103958)+W(9,-1105600408,-1112734841,1043699492,1033306871)+W(10,1043572363,1044475255,-1106244021,-1116887040)+W(11,1041251987,1015959598,-1100499697,-1101594283);sum2=W(0,-1122134368,-1135675176,1033121292,-1140036524)+W(1,1023368729,1037868584,1022385651,-1124742331)+W(2,-1117935205,1034815986,-1113410705,1025643512)+W(3,-1121900993,1029051910,-1106876578,1029315286)+W(4,-1102563608,-1090683436,-1094559771,1020537037)+W(5,-1097085277,-1081905013,-1089829937,1017232470)+W(6,-1107749524,-1093433405,-1085580324,1026038978)+W(7,1013163432,-1107168757,-1100509010,-1116418603)+W(8,1049536131,1043095342,1048560917,1042598592)+W(9,-1122385293,1068776853,1060516603,1015761873)+W(10,1034046493,1053234619,1062905414,-1119606047)+W(11,1020109569,1038509970,1023262329,1037794408);WS(1048802172,-1118644607); +sum1=W(0,1001330921,1008285357,-1112271863,1022629891)+W(1,1023807923,1020475895,-1106982824,-1147098739)+W(2,1028532286,1025640422,958183765,-1129374813)+W(3,-1151549405,-1106868493,-1133565569,1031375324)+W(4,1007889405,-1137992085,-1112205646,-1115934246)+W(5,-1095657203,1050363724,1044651974,-1110669107)+W(6,-1090481180,1050665633,1050921091,-1113474437)+W(7,-1104624276,1049383075,1037811271,-1104303995)+W(8,1025826270,-1127716075,-1125264263,1050188943)+W(9,1011316531,1026946398,-1113499645,1026008921)+W(10,-1131537104,1021652689,-1121270209,-1106529387)+W(11,1022847857,-1142930963,1014192325,-1125009457);sum2=W(0,-1119933527,1032931419,-1089262209,1016559128)+W(1,1034816070,-1096197918,-1094914643,1008526536)+W(2,1026554777,1049415798,-1101210129,1018959568)+W(3,1046177388,1043157162,-1128790619,-1112891495)+W(4,-1108360154,-1097574423,1058569170,1053795811)+W(5,1069558608,1058007152,1052760357,1052999976)+W(6,-1085501184,-1101474305,-1106340652,-1103281588)+W(7,-1088254262,-1096632714,-1114646508,-1098019814)+W(8,1036603460,-1121755244,1008650912,-1094475155)+W(9,1022028102,1004102711,1039081818,-1106271635)+W(10,1027756295,1032461240,1033515588,-1121182797)+W(11,1015426864,1043397723,-1118822413,-1124734105);WS(-1085648446,-1079079370); +sum1=W(0,-1114079994,1003975776,1036117159,1031831473)+W(1,-1118896788,1045647319,1044164867,1031367567)+W(2,1033718927,1041970952,1033826253,-1123680847)+W(3,1033541103,1040029267,1024952417,-1123944253)+W(4,1042007752,-1097850009,-1094329359,1049939273)+W(5,-1095211959,-1087218668,-1089391360,1043312672)+W(6,-1116359196,1033960979,-1100203021,-1122554975)+W(7,1026974961,-1111794397,-1108529239,-1176880640)+W(8,-1134555900,1019647980,1023486628,1040633606)+W(9,1044809099,1014099708,1023951387,1041283678)+W(10,1042238738,1031788713,1017251780,1046447947)+W(11,996515216,1033511473,-1146375056,1024390649);sum2=W(0,-1120973142,1009997472,1042983019,1019169584)+W(1,1025364316,1036688212,-1103915398,1033125970)+W(2,1040314133,-1119986230,-1125420780,-1109812797)+W(3,1018923536,-1117630132,1034277286,-1108282977)+W(4,-1106283039,1032814660,-1099987280,-1098354632)+W(5,1062322516,1032770062,-1095179878,1033722376)+W(6,1057333054,-1097734639,-1109050948,-1098634798)+W(7,-1125368820,1049154263,1034195486,-1102308141)+W(8,-1103033329,1022934360,-1118546716,1048978343)+W(9,-1097173506,1045599869,-1110281795,1055664562)+W(10,-1173745415,1038965178,-1119010038,-1103688168)+W(11,-1098308929,1035253180,1007528912,-1107997912);WS(-1089355774,-1078290086); +sum1=W(0,-1112691207,-1124344033,1037182841,-1122950775)+W(1,-1107733500,-1118583361,1046400294,1023290087)+W(2,-1132821263,-1121639475,1042531744,-1146188190)+W(3,-1116356099,1018516820,-1137408791,-1112282369)+W(4,1041047393,-1104403323,-1121667553,-1118638572)+W(5,1057481334,1054069421,-1099164822,-1098349922)+W(6,-1109625472,1041114291,-1097191323,-1139289650)+W(7,-1139389015,-1139200383,-1120861012,1026873009)+W(8,-1138062223,-1126199861,-1115334660,1009124079)+W(9,-1149431076,-1110719762,-1136525567,1044398104)+W(10,-1120573261,-1121643278,1015659149,1044515332)+W(11,1017011067,-1120569352,-1122889719,-1120947806);sum2=W(0,1009843654,-1107129213,-1124567280,-1120919296)+W(1,1020138111,-1098918731,1020831927,-1132368064)+W(2,-1115205032,1010227332,-1132836513,1029564211)+W(3,-1119663171,1026001154,-1118685376,1016741875)+W(4,1043380414,-1102119519,-1120629799,1037030993)+W(5,1059483198,1064361176,-1112537154,-1109288357)+W(6,-1106893419,1043150197,-1104145236,-1119273466)+W(7,-1135273053,1019055438,-1117770026,1028452918)+W(8,1030878171,-1126825280,1020211370,-1106639281)+W(9,-1093377806,-1146281491,-1144175329,-1118412551)+W(10,-1103899854,1028327527,-1135251423,-1123848756)+W(11,-1109882780,1024565629,-1128215590,1024207514);WS(1064975294,1066308158); +sum1=W(0,-1106142801,1032019633,-1119071204,1031747776)+W(1,1001228109,-1112793497,1041375482,1028818885)+W(2,1041342669,-1123968938,1013499583,-1115396498)+W(3,1027821620,1020544662,1024220311,-1108139113)+W(4,1045090381,-1108909198,-1132055971,984462229)+W(5,1049965274,1021279149,1038243096,-1093262116)+W(6,-1113450905,1040402543,-1090377239,1052662103)+W(7,-1138282267,-1116422289,-1107965954,1035427697)+W(8,-1110036442,1036419718,-1126913907,-1148253029)+W(9,-1115536386,1019907753,-1121925745,1036945928)+W(10,993049059,-1109636927,1032108124,1034061985)+W(11,1016907357,-1128061041,1032825796,-1113141447);sum2=W(0,-1135553471,1018031354,-1118189976,1016610899)+W(1,-1147979120,1035872696,-1120752887,-1163068737)+W(2,-1139692219,1022157658,1034250650,-1121296916)+W(3,1019770181,-1131641536,-1131969269,1007282246)+W(4,-1118352328,1032145382,1028895363,1027283971)+W(5,-1095799786,1073605475,1042427003,1042584076)+W(6,-1121907329,-1130051225,1056095764,1009508653)+W(7,1013257077,-1121748387,1025403981,-1148404200)+W(8,-1123867563,1011272254,1007846553,-1113530321)+W(9,-1075418961,1026092591,1010785270,-1099207121)+W(10,-1113117501,1019567305,1030054693,-1091570337)+W(11,-1123610989,1018865930,1012575724,-1124635978);WS(1062423998,1020226002); +sum1=W(0,1000976853,1015809956,-1116470612,-1122384152)+W(1,-1140430696,-1100102424,-1115150860,-1122957973)+W(2,-1116871589,-1102397253,-1099378776,1018079658)+W(3,-1130305609,-1097083551,-1121061927,1021042950)+W(4,-1125526476,1034182342,1055717600,-1095861522)+W(5,1051208664,1053221217,1052715645,-1101122465)+W(6,1040938184,1038184662,1041738487,1045734276)+W(7,1049869175,1019939330,-1114085178,1045437908)+W(8,-1136390676,1025071548,-1133541800,-1128557498)+W(9,-1097231798,1026360261,-1121585121,-1101688288)+W(10,-1107259340,-1121765359,-1127628368,-1114764537)+W(11,-1105843464,-1122412137,1018430000,1034631967);sum2=W(0,985313435,-1132095255,-1124729770,-1125184611)+W(1,-1124740239,1011065519,1028760415,-1181860650)+W(2,999484231,1015359010,1033849803,-1132645547)+W(3,1024683619,-1125848669,-1140486285,-1125466771)+W(4,-1117207517,1067077185,1058112728,1045115043)+W(5,-1088457353,-1080660794,-1107623537,1036693207)+W(6,1048821220,-1117188353,-1109418981,-1096437481)+W(7,1027562883,-1127975224,1027196953,-1107942084)+W(8,-1158219675,-1118062236,1007171579,1023628890)+W(9,1020427720,-1160295467,1000645119,1043689375)+W(10,1032363474,1023561702,1015083304,-1110185484)+W(11,1023023798,-1158549787,-1134577643,-1121893121);WS(-1085592318,-1113086899); +sum1=W(0,1024334944,1029597578,-1105245475,-1127342656)+W(1,1034498345,-1110412429,-1104926592,-1107952998)+W(2,-1110168462,-1098176238,-1103724998,-1131633306)+W(3,-1119681052,-1098367950,-1115323711,1033648125)+W(4,-1117644382,1041591201,1053241687,-1104578161)+W(5,1053247055,1044816720,1051692021,-1101901257)+W(6,1051451939,-1124765258,1042909421,1051300307)+W(7,1053283054,-1113485404,-1143558503,1049307889)+W(8,1020278010,1015573096,-1138537863,-1103827813)+W(9,-1110749814,1033881662,-1110174988,-1097952575)+W(10,-1105195378,-1113141267,-1116328992,-1106968399)+W(11,-1102600950,-1113790704,1028312016,1027981559);sum2=W(0,-1134200265,-1122995556,-1118706158,1019423143)+W(1,-1126211289,-1123774588,-1113839515,1022335641)+W(2,995157684,-1114460336,1002859666,-1160177640)+W(3,-1130236057,1027754115,-1131104601,-1138832033)+W(4,1021681136,-1106847870,982325064,-1110500850)+W(5,1048787768,1052221246,1042414810,-1121978030)+W(6,1025695056,-1129766425,1009324191,1035034344)+W(7,1027074464,-1120353368,-1136621129,-1126984825)+W(8,-1115095323,1001371122,-1145733922,-1117883328)+W(9,-1118959328,-1113736050,1019850892,-1112736275)+W(10,-1114723897,-1130130145,1023767274,1026260852)+W(11,-1121253912,992217060,-1131688905,1016807320);WS(1025516512,-1100199588); +sum1=W(0,998291066,-1128181387,1021891087,1010096560)+W(1,1016981531,1035336779,-1152435393,1015136529)+W(2,1015217585,1041134374,1040424469,-1134306338)+W(3,1027586712,-1105873140,-1147235028,1025573847)+W(4,1015332531,-1097993736,-1106994989,1041308560)+W(5,1043985948,1049373383,-1087955312,1054580194)+W(6,-1097437107,1044933000,1048585956,-1088067164)+W(7,1024655979,1041451309,1037061588,-1108043523)+W(8,1040752366,-1115681272,1032706511,-1107391304)+W(9,1016493518,-1153713033,1013936722,1021987303)+W(10,1015283332,1028860515,-1122756060,-1111549299)+W(11,1025261651,1010373746,-1124931799,-1125444197);sum2=W(0,-1136864762,1023564875,-1115115972,1024904631)+W(1,1030076655,-1115188268,-1114446231,1005033941)+W(2,995105737,1025338591,-1099782234,1022202973)+W(3,-1113660547,1049272645,-1107689693,1009257370)+W(4,-1103710322,-1105139728,-1100416868,-1128899549)+W(5,1057566767,1061216146,-1107001478,-1140124434)+W(6,1009750634,-1107279078,-1114917196,1051976820)+W(7,-1105716747,-1112133417,-1123762171,1040613751)+W(8,-1112771593,1024304323,-1138213458,1014205090)+W(9,-1101449249,1031401203,1028369943,-1105823902)+W(10,-1123827499,1002907445,-1127316949,-1115621063)+W(11,1019919657,-1121285688,1021828037,-1124460977);WS(1050734204,-1108852232); +sum1=W(0,1026854009,-1106093993,-1116292712,-1111669430)+W(1,1022285659,-1090233269,-1104273631,-1115457556)+W(2,-1124925681,-1107176543,-1103820941,-1130768721)+W(3,-1117352760,-1103610460,-1114665965,988348114)+W(4,-1103616254,-1113635568,1027495958,-1122281377)+W(5,1069754213,1065691213,1042550097,1027625969)+W(6,-1130883179,1026991873,1054098174,-1114752252)+W(7,1032882469,1034282506,1018693905,-1144129324)+W(8,-1125634353,-1117637392,-1123139966,-1113568120)+W(9,-1090598793,999398084,-1147736996,-1100906821)+W(10,-1107767585,-1123096067,-1140005358,-1103145534)+W(11,-1112131865,-1122062653,-1120005196,1007587914);sum2=W(0,-1122830075,1026001227,-1105712489,1024214881)+W(1,-1118490155,1044311614,-1105988647,1024710111)+W(2,1007204875,1016894538,-1128591966,-1134765475)+W(3,-1132418382,-1121103003,-1132281374,955722144)+W(4,-1089670730,-1104892025,1036545949,-1096328526)+W(5,1057951288,1050757116,1042923133,-1109313571)+W(6,-1135710147,-1111844715,1041007149,1031038781)+W(7,1040031313,-1131469166,982097434,-1121635711)+W(8,1027384734,-1127506094,1029115040,-1114697429)+W(9,1046225965,-1118982995,1018384918,-1108836817)+W(10,1020988490,1018633070,1000957030,-1111832237)+W(11,-1137288635,1012074251,-1131312630,-1141601766);WS(-1077332287,-1089760701); +sum1=W(0,-1146931846,-1106320367,-1126986618,998476811)+W(1,-1115596769,-1106044643,-1103512376,1020090684)+W(2,-1117338894,-1121544222,1033789092,1018970620)+W(3,-1134004534,-1120853460,1025908912,-1131301080)+W(4,1033143495,1030948981,1035996661,1035645275)+W(5,1033806067,1054020686,-1098691810,1057100532)+W(6,-1119052427,1053247323,1053006209,-1089559024)+W(7,1021655744,-1112997269,-1117960094,-1109205213)+W(8,-1116749294,-1132098378,1002151576,-1111559939)+W(9,-1102410839,-1131285468,1020764052,-1114602228)+W(10,-1148875196,-1140686688,-1143682184,-1114317262)+W(11,1024305160,-1137942600,-1112291776,1040862618);sum2=W(0,-1142220161,1012377004,1015506585,1006079429)+W(1,-1120056293,1027255740,1027444401,-1129651941)+W(2,-1138049810,-1121552483,-1154390002,1021210606)+W(3,-1144760977,-1149209645,988683875,1020679942)+W(4,1019086641,1027847692,-1126961905,-1129173219)+W(5,-1087748986,-1071778912,-1099113060,1029291472)+W(6,1046290929,1017608723,1077548482,1030702430)+W(7,958643736,-1165018915,1009874569,-1149010889)+W(8,-1121396179,-1129089615,1004493969,1025558752)+W(9,-1132223695,-1117547929,1032469225,1031608500)+W(10,1030045463,-1115202758,1017793536,1041292060)+W(11,-1108302337,-1153372770,1024909384,-1116313503);WS(1054407548,983325672); +sum1=W(0,-1115456470,1033490817,-1105600625,1028412425)+W(1,1031921957,1031550611,-1115519181,1017604747)+W(2,1041128181,-1109550327,-1103698804,-1121692358)+W(3,1034097067,1014014769,1030793272,-1131299175)+W(4,1044756246,-1114006910,1033571545,-1148390382)+W(5,-1090010995,-1087252051,1059608097,-1103922376)+W(6,-1103937189,1042983319,-1094628214,1062123705)+W(7,-1135652511,-1116995186,-1106569209,1039103265)+W(8,-1119790070,1037509878,-1124427701,1032293767)+W(9,1044072953,1022727275,1007976775,-1107101148)+W(10,1021059262,-1108328080,1033962892,1027680451)+W(11,-1141553278,-1143059662,1032055396,1007158719);sum2=W(0,-1108956115,1040320325,1011835040,1007145536)+W(1,1003522017,1036429861,1009493536,-1123468231)+W(2,1023566518,-1132203156,1045134298,-1106382527)+W(3,1016028592,-1103689691,1044032552,-1116797301)+W(4,-1145921569,-1113530029,1029973058,-1115291423)+W(5,1057547857,1039825371,1025444390,-1120694127)+W(6,-1105348488,1030401418,-1093621604,-1120933925)+W(7,1019566780,1039637835,-1111109931,-1105744806)+W(8,-1116109872,1031627486,-1106716830,1036345379)+W(9,1028735446,1032586179,-1106619549,-1106839609)+W(10,1032927131,-1107014793,-1135351552,1043632212)+W(11,-1119043970,-1117261713,1030984886,1031187850);WS(1062610366,-1081620328); +sum1=W(0,1022225638,1036878493,1041975919,1034909184)+W(1,1034659649,1049110721,1038275488,1022593144)+W(2,1029979468,1050285945,1039909252,-1145063906)+W(3,-1129493655,1052309552,1032760119,1024460554)+W(4,1032326503,-1097049310,-1086061975,1038564634)+W(5,-1104434937,-1097332230,-1094128798,1032775158)+W(6,-1091716385,1031802154,-1096830529,-1098154666)+W(7,-1093908076,1033460244,-1125106744,-1098908862)+W(8,1038246806,1033815666,-1118145809,1054071881)+W(9,1048167927,1040915883,984752392,1049378869)+W(10,-1122539766,1042582214,-1127387550,1037005773)+W(11,-1111713187,1038395208,1025327999,1023442918);sum2=W(0,1001261778,1031762430,-1106689977,1025388154)+W(1,1018216589,-1117638934,-1105078255,1007664153)+W(2,-1124915037,1039919645,-1119019386,1011431705)+W(3,-1118462618,1041969311,-1115769810,1007167865)+W(4,-1111104301,-1112011481,1049316874,-1110560421)+W(5,1029938402,-1117360942,1044332351,-1122922762)+W(6,1043034893,-1107523849,-1116357646,-1107704269)+W(7,1050092429,-1104673921,-1112781805,1041034358)+W(8,1033280635,1026153330,-1121273022,983067209)+W(9,1022258405,1033323756,-1116643818,-1133572905)+W(10,-1109485745,1027380094,-1123412994,1016143957)+W(11,-1106654827,1006440178,1016238045,1010088409);WS(-1079099231,1058224693); +sum1=W(0,1041807413,1030021338,-1098612147,-1136025729)+W(1,1038775953,-1114342965,-1101745716,-1113852830)+W(2,-1139925939,-1116898669,-1109189268,-1130024634)+W(3,-1135488689,-1105924753,-1169623989,1032899333)+W(4,-1113591959,1041390773,1044962866,1040574357)+W(5,-1100940817,-1112997607,1038641429,1035906153)+W(6,-1107090858,1048687519,1053521164,-1110548904)+W(7,-1105279552,1049805017,1048553583,983487291)+W(8,1030293261,1019631368,-1152707357,-1107948018)+W(9,-1131180663,1008365619,-1119110697,-1102747762)+W(10,-1127712365,-1156710253,-1120409456,-1102886695)+W(11,1033907987,-1120648241,-1137865855,1020276366);sum2=W(0,-1150712731,-1121646784,1031288593,1026221982)+W(1,998750602,-1118866549,1020650492,-1135858910)+W(2,-1122173835,1033676882,-1126679589,1026066546)+W(3,-1114797832,1024418530,-1119823506,1019885572)+W(4,1040465550,-1099611845,-1105433524,1025270629)+W(5,-1090773917,-1073585027,-1077885918,-1102699692)+W(6,1038653616,1072488285,-1083499628,-1103726643)+W(7,1035909226,1053754278,1076879885,1044175124)+W(8,1015298833,-1118571342,1025361731,1025604422)+W(9,-1111404471,-1115122758,1035533544,1013887757)+W(10,-1128843744,-1132364945,1025173545,1029004921)+W(11,-1128976380,-1120827581,982102231,1042609155);WS(1039418864,-1140458522); +sum1=W(0,1029517505,-1145085849,-1114535995,983096624)+W(1,1019803894,1028523779,-1102746926,-1121873782)+W(2,-1108005699,1038991951,-1100878768,1027911414)+W(3,-1135118358,-1125909817,-1142936385,1033576274)+W(4,-1097839409,1032347927,1027001827,1044450572)+W(5,-1088253674,-1090653261,-1106235793,1062380387)+W(6,-1154916402,1029669390,1061486174,-1109645966)+W(7,-1122115416,1038152785,1047810758,-1107146685)+W(8,1031259878,-1104931415,1035770150,-1117675070)+W(9,1036696746,-1121428646,1033087169,-1105839880)+W(10,1024178544,1035324408,-1120235273,-1097301074)+W(11,1041849616,1017003668,-1108040973,1038477872);sum2=W(0,1034344084,1026284945,1033267920,-1121567066)+W(1,-1142865888,-1120108491,1033899226,-1105011035)+W(2,-1106811819,-1120621959,-1122542627,-1136511728)+W(3,-1113394506,-1114137407,-1134482876,1032101677)+W(4,-1103410132,1037507308,-1130139832,-1104421963)+W(5,1057117238,1003910328,-1102818563,1022298858)+W(6,1033583066,-1124006960,1043197066,1038703002)+W(7,1030826553,-1125132432,-1124335993,-1122973141)+W(8,1034735332,-1109350039,1024120715,-1132243276)+W(9,1041074904,975508032,-1127155070,1044067085)+W(10,-1109459597,1001772648,-1117378085,-1101099519)+W(11,-1128301632,-1126301549,-1113899392,1041237660);WS(1053462780,-1083681865); +sum1=W(0,-1126058411,1015154794,1041747598,1023511963)+W(1,-1118697149,1048726745,1045749945,1027394040)+W(2,1025756296,1038169844,1043007793,993307519)+W(3,1029589575,1040782360,1024626666,-1131368524)+W(4,1018224530,996055791,-1138339988,1041497612)+W(5,-1086401302,-1082085657,1014351349,1041814811)+W(6,1032344226,-1105145572,-1096882594,-1115623160)+W(7,-1131398580,-1110890258,-1110953740,-1127070442)+W(8,1027711272,-1123213919,1020629658,1035615616)+W(9,1048515830,-1129047376,1032965474,1040756601)+W(10,1038148425,1033289129,-1132054806,1042139693)+W(11,1029718722,1029252236,-1128695798,1009997960);sum2=W(0,1011413600,1024023545,-1118714967,1008350928)+W(1,1027382950,1034951721,-1126562655,-1120704007)+W(2,981904616,-1126139913,-1128407708,-1127381517)+W(3,-1135583391,-1138986423,999360844,1015535284)+W(4,-1124778398,-1098641764,-1091889801,1030231193)+W(5,1052754126,1057762368,-1104262464,-1110351493)+W(6,-1151802072,1012148800,-1161878816,1033272406)+W(7,-1123376913,1031971990,1024540201,1013432992)+W(8,1033453825,-1125648711,1032606711,-1108897465)+W(9,1035809187,-1131934955,1025836907,-1106889474)+W(10,-1153180738,-1131180247,-1134699254,-1132306565)+W(11,-1118108772,-1140791326,-1171757551,1014625240);WS(-1099299320,1056598066); +sum1=W(0,-1128153660,1041714651,-1127547996,1006197652)+W(1,1035903322,-1128532088,1029712499,-1136164796)+W(2,1036246880,-1121593759,-1106761055,-1130396894)+W(3,1029570879,1017990507,1017604226,-1124832314)+W(4,-1098261544,1038366195,1045972807,-1106221946)+W(5,1057218165,1054413180,1057638589,-1085896508)+W(6,1028130044,-1090476168,-1086573266,1054525467)+W(7,1016287010,-1110319406,-1101308500,1036683414)+W(8,-1113181968,1030219574,-1119658116,1004824505)+W(9,1038963911,1033715440,-1129447670,-1113770157)+W(10,1042818602,-1116035017,-1128924420,1033084478)+W(11,-1114724733,998207538,1030841394,-1130963634);sum2=W(0,993280665,1028557303,1046772351,-1131923124)+W(1,1032538133,-1098564467,-1107794670,-1127811288)+W(2,1002762140,1035775413,-1121892222,992174233)+W(3,992586073,1019898989,-1158807761,1015088121)+W(4,-1134148898,-1104446514,-1105011941,-1110971235)+W(5,1067961229,1066594258,-1096504482,1043137579)+W(6,-1099141736,-1090299346,-1107079502,-1095277951)+W(7,-1118039147,-1109952821,-1132433157,1011333246)+W(8,-1147560296,1024426003,-1121147281,1028001687)+W(9,-1104613803,-1136832302,1034898623,-1101129935)+W(10,-1129031039,1009264906,1036381319,-1097683180)+W(11,1040568125,-1111357043,1032287279,-1108888578);WS(-1105186296,-1108555742); +sum1=W(0,-1101386974,1038429012,-1105046378,1040483623)+W(1,-1134311356,-1107675004,1031828819,1040816739)+W(2,1046011615,-1109709717,1034430779,-1108915605)+W(3,1034864637,-1130419297,1030173660,-1102638726)+W(4,1042743759,-1109750289,1040666374,-1118442722)+W(5,1030110546,1040526743,1050019912,-1093958439)+W(6,-1103097566,1045974257,-1097473172,1044698927)+W(7,-1111922822,1017242540,-1110364069,1041159370)+W(8,-1103538071,1040611956,-1118942975,986662468)+W(9,-1121451017,1012951144,-1118385334,1033262923)+W(10,1041021277,-1100748433,1035127903,1032745156)+W(11,1032931450,-1121991998,1037154391,-1106175813);sum2=W(0,-1135271108,-1136185376,1014979733,-1127162070)+W(1,1012864633,-1131143608,1028363168,1003505825)+W(2,1026898060,-1133517476,1033256022,-1123384038)+W(3,-1125848258,1028008335,-1120532892,-1134649836)+W(4,1038675289,-1140478504,1016203776,-1114518101)+W(5,-1095849351,-1070239185,-1089585970,-1105093650)+W(6,-1113528611,1038794260,-1078361549,1028346583)+W(7,-1117113572,1005296645,-1125525718,1028725832)+W(8,-1111853852,1030827904,-1117887634,1035296562)+W(9,1079096535,-1116960146,-1123277259,1058969759)+W(10,1032636395,-1113311282,-1125445846,1068193425)+W(11,1032298564,-1134431064,991223090,1017911666);WS(1065442623,1015025160); +sum1=W(0,1040496438,1031517084,-1113215535,-1115365041)+W(1,1036061554,1002812769,-1109245393,-1114325264)+W(2,-1112496600,-1099928488,1036804053,1038370800)+W(3,-1120668655,-1116761110,1036473513,1039123015)+W(4,1044423084,1017412396,983382403,1018550702)+W(5,1034975748,-1099246196,-1109909072,-1131936399)+W(6,-1107673238,-1129165678,-1114225707,1048106991)+W(7,1019812354,-1138585900,1011581692,1041344487)+W(8,1032083208,1040563090,-1124004468,-1103693946)+W(9,1024898238,1012000060,-1120263275,-1106995843)+W(10,-1096349707,-1113013165,1036150809,1044531927)+W(11,-1110354101,-1128538214,1037117105,1043676418);sum2=W(0,1042699596,-1140656688,1023126843,1010698941)+W(1,1058578114,-1081184698,-1095653758,1048659418)+W(2,1019470633,-1098953045,-1097586600,1052277576)+W(3,-1119471849,-1122826054,1018118885,1041036392)+W(4,1029081919,1040813712,-1122624743,-1106210958)+W(5,1060468587,996865603,-1097694847,-1118272649)+W(6,-1108654451,-1128239326,-1103459725,1043044817)+W(7,-1130901998,1000734433,1034766857,1029721267)+W(8,-1174961495,1039098482,-1117968485,-1122034237)+W(9,-1102355565,1020119257,-1118912655,1033474214)+W(10,-1112376452,-1108144089,1031051049,1049205466)+W(11,1017824567,-1114988670,1038110136,1033989555);WS(-1115864032,1039792746); +sum1=W(0,996096400,-1108218204,-1121375417,-1140468214)+W(1,-1114956320,-1115276388,-1109130991,1010495721)+W(2,-1122072970,-1114444905,1040789857,1013460969)+W(3,-1140762151,-1127271361,1026520268,-1127833232)+W(4,1033625894,1040179481,1039608980,1034497081)+W(5,1036829073,1050653566,-1093805194,1055392502)+W(6,1030275655,1051648994,1049263376,-1088431348)+W(7,1031218972,-1112576115,-1121903450,-1111886108)+W(8,-1108192053,1018030914,-1132620605,-1113171393)+W(9,-1109643980,-1127455572,1012649753,-1127063626)+W(10,-1129660583,-1147064482,-1135717173,-1124542831)+W(11,1019975176,-1135014713,-1114505023,1034831154);sum2=W(0,1020691269,-1141202058,-1115435752,1015385693)+W(1,1019337403,1040267853,-1111436746,1015565489)+W(2,-1131086480,1025609602,-1114623303,-1132207064)+W(3,1010427910,-1128429973,-1140470334,-1163542113)+W(4,-1117300235,-1122675471,1017441239,1035175215)+W(5,-1100581516,1073306798,1055273933,1033401267)+W(6,-1101351817,1032997632,-1073173797,1041259906)+W(7,1027629029,-1119509251,-1122237085,1020278145)+W(8,1031000417,1016207247,998363696,-1112773411)+W(9,1046685605,1013448250,-1113092041,-1101083444)+W(10,-1113329498,1026870685,-1130370856,-1115311051)+W(11,1033297372,1014260054,-1124843109,1031244051);WS(1060418110,-1122066101); +sum1=W(0,-1124029560,-1129767372,-1115430516,1031696780)+W(1,-1123330286,1032201307,1033383950,-1147879495)+W(2,1025904121,-1135655378,-1124043956,-1137787811)+W(3,-1131825009,1011740349,1016436406,-1122010711)+W(4,-1124342772,1035204176,1041576533,-1104465800)+W(5,1040589380,-1121351835,1057835449,-1084846132)+W(6,1047669789,1026196737,-1085338500,1059143665)+W(7,1017074582,1023559701,-1113520196,1032251443)+W(8,-1109435772,1025573168,1028261758,-1122042801)+W(9,1025265863,1000233671,1024098613,-1106791333)+W(10,1031201378,-1122702819,1020968696,1037079395)+W(11,1024540211,-1123483709,1016849816,-1120875027);sum2=W(0,-1173496113,-1127629564,1033364881,-1127836624)+W(1,1022886010,-1097350377,-1104916712,1027284157)+W(2,-1124242822,1034826035,-1105423640,1036751625)+W(3,-1140181115,1033442485,-1122986652,1017945890)+W(4,-1105780675,-1119640853,1023580345,-1101679270)+W(5,1061873799,1062616603,-1132739235,-1113070309)+W(6,-1105550966,-1098447862,1009507187,-1096904559)+W(7,-1108824717,-1115327874,-1116534057,-1127473876)+W(8,1033890881,-1122666983,-1136662275,-1149619356)+W(9,-1112358042,1028952789,1023707939,-1113766541)+W(10,1045500652,-1137245711,-1117384012,-1119315178)+W(11,1033458469,1001899534,-1136860123,1015952658);WS(1052277756,1024619064); +sum1=W(0,-1155801216,-1107014752,-1120340480,1029425189)+W(1,-1112675811,1032327591,1038469578,1030252033)+W(2,-1122395345,1039704040,1034534022,1025211073)+W(3,-1124711713,1045346698,-1137717581,994289396)+W(4,1049346130,-1099678446,-1093981294,1055903799)+W(5,-1103272826,-1090697510,-1098793998,1057427995)+W(6,-1111436999,1041606598,-1103403378,1040656272)+W(7,-1134653325,1013960373,1005246730,1016775164)+W(8,1003141514,-1131584400,1026200342,-1125235986)+W(9,-1118748640,-1126277858,1031806855,1025012844)+W(10,-1106833215,1032770798,1010568017,1025335343)+W(11,-1099652851,1034190187,-1124454216,1029370155);sum2=W(0,1020437582,1028786959,1045862572,1023289146)+W(1,1030199907,1015917080,-1120652794,1009748873)+W(2,1010063617,-1106003069,-1117660774,1007345789)+W(3,-1127799210,-1098471935,1039304637,1018930146)+W(4,-1132354231,-1101737384,-1087461476,-1095566322)+W(5,1063879108,1069217208,-1083542229,-1090793815)+W(6,1045942315,-1153692567,1056862945,-1107315270)+W(7,1048572904,1056217861,-1111757292,-1106431667)+W(8,-1127607289,-1124440021,1044890152,1016132472)+W(9,-1097091848,1032502373,1037463572,-1107157844)+W(10,-1116485608,-1108513707,1028169917,-1098187278)+W(11,-1094693884,-1108016950,1034190881,1036040005);WS(-1086218302,-1084258561); +sum1=W(0,1021408948,1036310380,1041008695,1027347742)+W(1,1039366096,1048593117,1035524367,-1127633782)+W(2,1033396118,1045683171,-1138037400,-1116749595)+W(3,1025066091,1046369740,1032120647,-1139872292)+W(4,1041666443,-1103354245,-1088163117,1040638149)+W(5,1050103608,-1122175629,-1094269524,1033011818)+W(6,-1097626581,-1103712029,-1096387988,-1111907839)+W(7,-1095221944,-1117250695,-1111740158,-1099416246)+W(8,1033383494,1033326017,-1131589088,1045697689)+W(9,1042904478,1042877939,-1132088142,1040895122)+W(10,1018682217,1039834587,-1131538396,-1136050786)+W(11,-1121047845,1034112696,1030901630,-1126758410);sum2=W(0,1030773056,1018516207,1020583173,-1116225927)+W(1,1032148531,1032012136,-1121497633,-1122365237)+W(2,1026422036,-1112679629,-1111134479,-1127594672)+W(3,-1131330830,-1112996078,-1123177144,1023835916)+W(4,-1142227828,-1157244503,-1116630862,-1120289762)+W(5,1050603076,1061490298,1045806125,1024002380)+W(6,-1109379336,-1096282325,-1104925089,1040110681)+W(7,-1102999759,-1116593585,-1103628682,-1102178993)+W(8,-1120616119,1021325617,-1120774706,1037488437)+W(9,1029135782,1020114521,-1124264052,-1122845130)+W(10,1035818151,-1129796491,-1129316292,-1122119114)+W(11,1024073644,-1129630471,1024324894,-1118358279);WS(-1092406524,-1089571522); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, -3), 0); +samples[1] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, -1), 0); +samples[2] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, 1), 0); +samples[3] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, 3), 0); +samples[4] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, -3), 0); +samples[5] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, -1), 0); +samples[6] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, 1), 0); +samples[7] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, 3), 0); +samples[8] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, -3), 0); +samples[9] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, -1), 0); +samples[10] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, 1), 0); +samples[11] = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, 3), 0); +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns64, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/nnedi3-nns128-win8x4.glsl b/shaders/nnedi3/nnedi3-nns128-win8x4.glsl new file mode 100644 index 0000000..690c93c --- /dev/null +++ b/shaders/nnedi3/nnedi3-nns128-win8x4.glsl @@ -0,0 +1,418 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns128, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1106336704,-1104338237,1041734649,-1112016931)+W(1,-1134422686,-1108550970,-1135080854,-1117701445)+W(2,-1097058997,1036063029,1053379177,-1099451832)+W(3,-1096794255,1068454954,1068510503,-1092648385)+W(4,-1096428577,1045547931,-1114733521,-1101312270)+W(5,-1108910446,-1102009308,-1146436468,-1118387353)+W(6,-1110459731,-1122481515,-1107441476,-1118789516)+W(7,-1101174078,1017740065,-1113618698,-1107281979);sum2=W(0,-1107960738,1034572820,-1105088633,-1147785184)+W(1,1022891960,1003346080,-1103397515,1035529310)+W(2,-1112828174,-1096749055,1056062200,-1105585021)+W(3,-1099542471,1067566060,-1127174872,1034766166)+W(4,1028527356,-1090311143,1048792675,-1117109292)+W(5,-1124169384,1028295012,-1106700271,-1116900804)+W(6,1003609248,-1101382023,1033154740,-1121486356)+W(7,1019646072,-1102277943,1037356874,-1114899026);WS(-1075683047,-1087125913); +sum1=W(0,1042687663,1052977914,-1087267578,1041384601)+W(1,1034752002,1046022844,-1097639380,1034807969)+W(2,1020877136,1051043629,-1087388173,1037740431)+W(3,1043598702,1049374510,-1095656786,1044538321)+W(4,1032834596,1044576234,-1108370107,-1113942663)+W(5,1049059763,-1108783446,-1101488315,1043415765)+W(6,1041786741,-1105784362,-1111228387,1011031587)+W(7,1050972591,-1089957133,-1108747496,1034104676);sum2=W(0,-1129327146,-1112916736,-1109246006,-1168639863)+W(1,-1149557934,-1120018795,1012425107,-1122303521)+W(2,1027469999,-1105442406,1044505132,-1114911422)+W(3,-1116270499,1056936993,1054092693,-1109477794)+W(4,-1107094547,1036431709,1015080154,-1122292075)+W(5,-1114668504,1029410453,-1102188513,1038663029)+W(6,-1136313139,-1126491682,-1123974759,-1124857486)+W(7,-1115408970,-1112281372,-1115235380,1004657207);WS(1042212664,-1102203684); +sum1=W(0,-1140902818,1040147851,1035472140,-1111794429)+W(1,1019874102,-1104962202,1045102086,1033944684)+W(2,-1138465404,-1102798136,1044852023,-1122108180)+W(3,1041713132,-1085739950,1052255697,1042129278)+W(4,1031911135,-1090423514,1050093153,1026181805)+W(5,1032244040,-1096835716,-1114874577,1045351411)+W(6,-1122713961,1015091005,-1125530488,1045226448)+W(7,1032066151,-1100137137,1025859399,1037723887);sum2=W(0,1025219442,-1109152196,1026944460,-1136900198)+W(1,-1119436548,-1122141349,1040314652,-1112897189)+W(2,1041363772,1032935700,-1124096755,-1144192892)+W(3,1026037858,-1095545125,-1132954458,1046665648)+W(4,-1106963956,1029288712,1063106013,-1112667488)+W(5,-1148187164,1048235476,1044093468,-1091150222)+W(6,-1115265228,1017807431,-1119277141,-1098670428)+W(7,1027834104,-1124373883,-1115291573,-1099776205);WS(-1106435384,1038338229); +sum1=W(0,1040095954,1057302312,-1085504617,1038469973)+W(1,1019822615,1048464174,-1109673285,1008999077)+W(2,1037825128,1048602738,-1088007186,1047759857)+W(3,1041126536,1046177110,-1089584127,1042217259)+W(4,1042659628,-1113571175,-1112427435,-1122205838)+W(5,1046281616,1010729037,-1099904421,1042535855)+W(6,1025627498,-1116720143,985851280,1020820192)+W(7,1052688116,-1090676327,-1109333660,1034203799);sum2=W(0,1016257202,1059204215,1078138204,1045786159)+W(1,1025056091,1059357388,1057901024,-1115583727)+W(2,-1123344133,-1096239491,-1075026282,1040463834)+W(3,-1117490597,-1080318626,-1073900782,1043123901)+W(4,-1139226916,-1097775023,1041808545,1021989454)+W(5,-1121712633,-1121076469,1040778731,-1105966927)+W(6,1032149092,-1108589001,1040543247,1015040126)+W(7,1018740994,1042934709,1013253724,-1147555881);WS(-1079558823,-1098708322); +sum1=W(0,-1107155318,-1102044491,-1157836704,1018716763)+W(1,1025234303,-1098872409,1050456336,1032647774)+W(2,1015859078,-1087610848,1055919296,1043448582)+W(3,1036194249,-1086405173,1051086989,1041211303)+W(4,-1109510417,1049149960,1049231261,1032229161)+W(5,-1106597869,-1113006787,1047976577,-1113988824)+W(6,-1106784003,1034815041,1037659280,-1114873522)+W(7,-1107821257,-1109243348,1045770027,-1115826050);sum2=W(0,-1115121954,1038073794,-1128914993,-1116577465)+W(1,1012713185,-1114116718,1041575276,-1124395325)+W(2,-1120959275,1048906430,1074552079,1055266270)+W(3,979525395,-1089285214,-1076455267,1060162115)+W(4,1031308048,1044939824,-1081125046,-1098098687)+W(5,1023425822,960279117,-1109266711,1021768571)+W(6,1008898041,-1114246838,1028966618,-1124862202)+W(7,1015643115,-1116674868,-1116558128,1013382601);WS(1045132600,-1120782135); +sum1=W(0,-1105751784,1057393815,-1105555137,-1117651397)+W(1,-1105178898,1048859946,-1097544977,1030868229)+W(2,-1104184899,1059464001,-1093321826,-1113548192)+W(3,-1114219853,1046945589,-1096850414,-1114482291)+W(4,-1110381909,-1115358437,1045680426,-1100710867)+W(5,1038688878,-1101266388,1054674458,-1101910270)+W(6,-1129240105,1006928425,1040711722,-1109195062)+W(7,1028338913,1001553277,1051440502,-1106616547);sum2=W(0,1017265392,1041015042,-1100279165,1015388608)+W(1,-1109811903,1031690548,-1110095441,-1118750728)+W(2,1023756444,1041543835,-1121800962,1018680528)+W(3,-1113627340,1061785433,1052269299,-1143924414)+W(4,1014378799,-1112539854,1027655784,-1099334823)+W(5,-1145950526,1033767962,-1103181542,1020584168)+W(6,-1129429444,-1111764061,-1110834939,-1108053853)+W(7,1013677319,-1098545742,-1106577514,1036964648);WS(1052573852,-1122511817); +sum1=W(0,-1122539822,-1107197216,-1123108403,1051517474)+W(1,1036520122,-1104137920,1038549849,1023654291)+W(2,-1150669710,-1095755763,1032946604,1039184399)+W(3,-1131456914,-1089160552,1050538028,1041388597)+W(4,1027717464,-1090293588,1052989852,-1168884669)+W(5,1032118773,-1090056564,1057974832,1033029075)+W(6,1021054902,-1092174087,1053464075,1028526105)+W(7,1030809195,-1086001910,1057808582,1041880934);sum2=W(0,-1085894681,-1108201039,1070882268,-1081052443)+W(1,1038192816,-1090848333,-1093216289,-1102549623)+W(2,-1098445483,1052221636,1067999858,-1087793608)+W(3,-1102898046,1071505414,1073865984,-1090403840)+W(4,1008806191,-1098981857,1058878464,-1095780376)+W(5,1050638036,-1086351349,-1083525828,1055133376)+W(6,-1102617523,-1096799400,-1107159037,-1096503933)+W(7,1057325981,-1088620184,-1083206959,1053790412);WS(-1073219892,-1080326418); +sum1=W(0,-1114077580,-1101602915,1057495924,-1151047116)+W(1,-1142635506,-1103425331,1053716920,-1114784094)+W(2,-1142955026,-1090278522,1055741332,-1111276924)+W(3,-1123237842,-1092662145,1051447237,-1121668701)+W(4,1038107057,-1091646784,1052494629,1000704387)+W(5,-1103324917,-1114692451,1049044089,-1109204280)+W(6,1026598572,-1101848592,1043005848,1010568075)+W(7,-1095875035,1038718196,1047828379,-1156952092);sum2=W(0,-1121663397,-1095443331,-1067370736,1005231721)+W(1,-1116542136,1050195534,-1071776975,974104521)+W(2,1042431779,-1123573301,1068672794,-1111985184)+W(3,1037730633,-1100504352,1077012119,1047585075)+W(4,1010053773,1043186658,1070664889,1016528922)+W(5,-1137348615,-1102861372,1045361006,-1109020232)+W(6,1028087910,-1110454800,-1123945395,1037668055)+W(7,-1119025600,1040229501,1027642294,-1117277443);WS(-1130027456,1047744266); +sum1=W(0,1030328637,-1103440100,1050534604,-1130350917)+W(1,-1100312969,1043447132,1038395889,-1105733872)+W(2,1036569044,-1096543805,1037345619,1043114871)+W(3,1044449278,-1093151398,-1106526388,1022399622)+W(4,-1106699970,1024264999,-1115006287,1020228332)+W(5,1046212150,-1115860524,1035372917,1024836117)+W(6,-1104762293,1041344218,980910400,-1123108872)+W(7,-1124975021,1032410566,1044066628,-1112803412);sum2=W(0,1029880722,1033391383,-1137819024,-1114516031)+W(1,-1098453144,1041649400,-1137377888,1025620716)+W(2,1029103498,-1095624145,1040796761,1035240799)+W(3,1067660000,-1082091368,-1080643124,1066795978)+W(4,-1094604015,1056223691,-1102259819,-1098376459)+W(5,1046293202,1027973488,-1121978412,1036814117)+W(6,-1104816365,1034193475,-1148596400,-1107858514)+W(7,-1117927817,1034286113,1041009105,-1114981924);WS(1049012636,1037011386); +sum1=W(0,-1108102978,-1097922903,1049818257,1041216474)+W(1,1042768739,-1089977373,1052134241,-1106782690)+W(2,1036457352,-1083790961,1059747641,-1120768141)+W(3,-1105146600,1050515995,1062551839,975424142)+W(4,-1100621772,1053649082,-1088576433,1042971413)+W(5,-1100160944,1044221701,-1093385002,1047421135)+W(6,-1149100234,1020595485,-1108848982,-1142399358)+W(7,-1116535239,-1110188826,-1147628986,1034144007);sum2=W(0,-1130376652,-1109271051,-1098570547,1029552052)+W(1,-1109307779,1040605589,-1097221185,-1097745138)+W(2,998991648,-1117670218,-1087670872,-1101762859)+W(3,-1105231849,1068278024,1068017963,-1100990121)+W(4,-1124853008,-1099193318,-1103240593,-1094879980)+W(5,-1110904873,1035466738,1049832589,-1119653306)+W(6,1033926100,-1111928806,1018913792,-1099498770)+W(7,1012787248,1025845624,1035573068,1046656503);WS(-1099128120,1074104605); +sum1=W(0,1001695642,1031876531,-1106225286,1039516460)+W(1,-1114738061,1036082771,-1127447088,1037331996)+W(2,-1137881464,1049670772,-1114090766,1048871226)+W(3,1035838167,1045634202,-1084335000,1024672505)+W(4,1036976671,1039176783,-1092101927,-1111706306)+W(5,1043227732,1044499416,-1106295064,1040216275)+W(6,1024532056,-1115296143,-1108352670,1018355325)+W(7,1041576607,1036111714,-1103209586,-1129216251);sum2=W(0,-1125983803,1057121124,-1097673861,-1097055530)+W(1,1026289226,1048908439,-1081617292,-1105528539)+W(2,1003361806,1042597022,-1083990029,-1094090339)+W(3,1036989304,-1101738899,1066557847,1060807350)+W(4,-1121376018,-1101518001,1050089807,1045798092)+W(5,-1127516251,-1114490175,1021212715,1007168711)+W(6,999276462,1032222895,-1107462587,1021142275)+W(7,1020382491,-1111061815,1048167829,1024157832);WS(1043392312,-1114334171); +sum1=W(0,1041086874,1046571639,-1101297859,-1108043111)+W(1,1027676176,1051603231,-1100311555,1031499310)+W(2,1029494548,-1114765098,-1090719068,-1123479337)+W(3,1038182418,1063881062,-1092551191,1047470620)+W(4,1033375641,1036439434,-1093343060,1029157954)+W(5,1014428948,1039261900,-1095549099,-1113522785)+W(6,1016176348,1049353410,-1102133676,1032866554)+W(7,1036956537,1039119196,-1097401399,-1108903402);sum2=W(0,1032922039,-1110774431,1024080221,-1111786600)+W(1,1034144522,1041464609,1024001520,1038622987)+W(2,1035186417,-1089347840,-1102975683,-1098326560)+W(3,-1106146153,1063858171,1062496232,-1094555153)+W(4,995983013,-1103182741,-1104694448,-1110476474)+W(5,1014708981,-1105498679,1034761930,-1107944280)+W(6,-1118508182,1046443094,-1113235807,1045574278)+W(7,-1122673776,-1107403517,-1126790312,-1119406695);WS(1055141020,1060902337); +sum1=W(0,1034435725,1057965143,-1123568702,-1104499136)+W(1,-1133288704,1052483105,-1121795134,1006999415)+W(2,1026181508,1052696320,-1094115828,-1153162900)+W(3,1033934442,-1122504460,-1084201687,1029709087)+W(4,1030709219,1052884304,-1093347107,1036285529)+W(5,-1118188821,1049027177,-1096042081,-1155692311)+W(6,1027652318,1046782257,-1098441692,1013713298)+W(7,1035419593,1045790650,-1101051195,-1111952258);sum2=W(0,1043194323,-1070666261,-1098866335,-1101126135)+W(1,1017945729,-1075189642,-1106608294,1010301074)+W(2,992756489,1068575013,1051129947,-1107911121)+W(3,-1117717167,1076566585,1049134123,1046700061)+W(4,1023440269,1056539999,1047751107,1020103457)+W(5,-1108161809,-1098049115,-1097073139,1026363561)+W(6,1034607052,1036076910,1011007330,1035420194)+W(7,-1115924363,-1112346970,1016205049,-1137869730);WS(-1090579868,1070279725); +sum1=W(0,1032329895,1048430680,-1101560157,-1129281319)+W(1,-1102328821,1050349544,-1091335294,1012204235)+W(2,-1113203900,1052980239,1039656780,1033674783)+W(3,-1098061089,1057014372,-1084573078,-1115372202)+W(4,-1105344998,1057962188,-1103450436,-1108117804)+W(5,1034205973,1038273502,1043587871,-1111454739)+W(6,-1106552005,1046276062,-1098888483,-1115265901)+W(7,1041435478,1049777060,1002064136,-1109943484);sum2=W(0,987673807,1027892228,-1103141235,1005138532)+W(1,1036995374,-1102736131,1049007178,1028221332)+W(2,-1095509641,1034852634,-1090760003,-1123669832)+W(3,-1094252408,1059241808,1060311666,-1128511149)+W(4,-1119095571,-1103859919,-1129798465,1032914452)+W(5,-1103179232,1043446486,-1100012675,1006285508)+W(6,1040985329,-1109795439,1051746582,-1122773902)+W(7,-1114181285,1004807604,-1113144024,987177167);WS(1058381774,-1086956646); +sum1=W(0,1005434106,-1096145742,1046241393,1026532260)+W(1,-1149835360,-1100460324,1039571170,-1120107684)+W(2,1034370117,-1096424577,1054608457,-1107524072)+W(3,1036055789,1033532617,-1110152984,-1123297125)+W(4,1007595428,1049990129,-1100950084,1032832748)+W(5,-1173712576,1042033667,-1103984787,1041584782)+W(6,-1122685332,-1147483724,-1122634471,-1111048693)+W(7,-1119060568,1021597150,1016207588,1023439817);sum2=W(0,1073050559,1049113865,1048373410,-1123382260)+W(1,1069067455,1035642194,-1101089925,1035361564)+W(2,-1096535796,-1105600932,1050248373,-1105239942)+W(3,-1073893027,-1114871718,-1113393188,1000972215)+W(4,-1077684470,-1104998692,1015693919,-1112223483)+W(5,1038335059,1034875990,1032989733,987872957)+W(6,994568047,1004288083,1024635942,1016564448)+W(7,-1109196141,1019116562,1041247426,1019016937);WS(1051792028,1027146209); +sum1=W(0,-1173418992,-1096555104,1048715847,1037767898)+W(1,1031492470,-1099279313,1043543405,1032372106)+W(2,1030866682,-1102472206,1045948678,1031937048)+W(3,-1111745573,-1086728512,1048944276,1030986133)+W(4,1037975597,-1098029143,1053562136,1035090980)+W(5,1032231158,-1099704976,1041023999,1038793940)+W(6,1021051177,-1107704157,1031959404,1031982829)+W(7,1029296729,-1088435526,1046674105,1043937550);sum2=W(0,1076285256,-1071495861,-1089164092,1024798548)+W(1,1067013205,-1080654015,1044446905,-1130255717)+W(2,1054912747,-1092768710,-1089831336,-1111620633)+W(3,-1103468782,1053690657,1049463752,-1129289568)+W(4,-1082179927,1062196550,-1116071286,1022374674)+W(5,-1086354611,1059230433,1055604285,-1147177200)+W(6,-1086555076,1065208788,-1102169042,1008723412)+W(7,-1077304359,1069826015,1049830695,990531682);WS(-1116843232,1041538044); +sum1=W(0,1038718416,1050813118,-1091780513,-1107356403)+W(1,1041393778,1048646402,-1107072481,1032833522)+W(2,1023355030,1043671731,-1097953353,-1126022145)+W(3,1040958951,1037057641,-1088265503,-1185162751)+W(4,1040537034,1050123337,-1105750724,1038008293)+W(5,-1112360254,1052799074,-1091053114,-1123581176)+W(6,1043346413,1037436293,-1121572392,1033129910)+W(7,1047211822,1042212684,-1091261766,-1116284746);sum2=W(0,-1127892588,-1090048491,-1076486023,1071993665)+W(1,1025248710,-1124324076,-1080184847,1067215194)+W(2,-1127740272,-1092974499,-1080442855,1068762214)+W(3,-1114879615,1047668544,1048567939,1014309155)+W(4,-1125515678,1042122418,1066323214,-1079656754)+W(5,-1135605467,1052455522,1068938556,-1077318729)+W(6,1015277154,-1102075660,1066205534,-1083078137)+W(7,-1118452308,1052515578,1058048535,-1086246531);WS(1045082936,1047750074); +sum1=W(0,1017867382,1038967959,-1107005280,-1117189504)+W(1,-1105827232,1036533543,-1101431328,1000061951)+W(2,-1139557912,1048524561,1044741561,1034808454)+W(3,-1098507795,1057427781,-1099209723,-1102176472)+W(4,-1112138258,1057555836,-1103886606,-1102736460)+W(5,-1113781499,1044700722,-1117912777,-1102956733)+W(6,-1117154624,1037485187,-1108908881,-1113728179)+W(7,1024003356,1046059755,1024367918,-1108156515);sum2=W(0,1003184961,1024857236,-1114215978,1037587704)+W(1,971431442,-1109323954,1030818718,-1121823736)+W(2,-1131894760,1026446282,1031262679,1045339410)+W(3,-1133283297,-1105665514,1056963612,-1107079097)+W(4,984723076,-1116186208,1055283667,-1090072253)+W(5,1031831407,1024492508,975724297,-1102678968)+W(6,-1125590160,-1121629964,-1116339968,-1103014356)+W(7,1031681833,-1148808497,1026784592,-1123463096);WS(1059869006,1015916977); +sum1=W(0,-1111801867,-1103727218,1051877295,-1115491581)+W(1,1039164638,-1102716146,1051739903,-1106752078)+W(2,1023424768,-1089648586,1057614174,-1104830517)+W(3,-1118862224,-1092420393,1055627629,-1112797325)+W(4,-1114194639,1049092536,-1096079006,1038662167)+W(5,-1099094340,1052180160,1008315659,1030088557)+W(6,-1118811114,1032231232,-1121275805,-1131680577)+W(7,-1096321008,1046058153,1039975892,-1175801754);sum2=W(0,-1113427160,-1090644207,1034414883,1038986783)+W(1,-1104433368,-1091764889,-1120815960,-1135559136)+W(2,-1104169884,-1109333336,995253792,1033390214)+W(3,-1117600576,1065407690,1059846520,-1120264784)+W(4,-1102319880,-1098732665,1048874179,-1104270640)+W(5,1039627671,-1109931470,1008884504,1019376128)+W(6,-1097619580,1043714297,1021072320,-1111461786)+W(7,1047721667,1041133481,-1103318888,-1142244432);WS(1054131356,-1077482588); +sum1=W(0,-1100136045,-1101215881,1045307006,1047064142)+W(1,989703980,-1100083265,1039854844,-1120855287)+W(2,-1114161471,-1091699940,1051542530,1042850313)+W(3,-1117800461,-1088812180,1056393300,-1122501592)+W(4,1013262449,-1095974704,1053327664,-1118254671)+W(5,-1112319975,1033042241,1059113280,-1111473941)+W(6,1027862775,-1095224480,1049428707,-1119385054)+W(7,-1103330903,-1102789769,1055440053,-1109190398);sum2=W(0,-1098032416,1063396296,1043414797,-1093635160)+W(1,1055692800,1024719031,1032661901,1049215120)+W(2,-1101668743,1065491656,1058961916,-1090478816)+W(3,-1100435053,1073645059,1063424749,1050905898)+W(4,-1089098280,1060161647,-1096580753,-1135528507)+W(5,-1094416925,-1074198531,-1098776178,1042380471)+W(6,-1099202751,-1081296593,-1115458644,1032695397)+W(7,-1104551065,-1083400329,-1092624053,1054277265);WS(-1082679118,-1072338335); +sum1=W(0,-1126832308,-1092407662,1041636256,1032452512)+W(1,998650886,-1099976035,1035459839,-1118647007)+W(2,1029713605,-1098757312,1053507448,-1113994637)+W(3,1045660229,1049242330,-1097348797,1019901759)+W(4,-1125245511,1052609817,-1097111418,1026546307)+W(5,1001090478,1049104969,-1099322690,1041545965)+W(6,-1126242526,958956607,-1116731426,-1113342195)+W(7,-1128346278,-1170516592,1009511091,1027607012);sum2=W(0,-1069228184,-1099529380,-1112044089,-1144476451)+W(1,-1073602631,1043301860,1041147606,-1112019052)+W(2,1021776922,1054858487,-1119872164,1036271953)+W(3,1076866983,1044685536,-1106846135,1018899191)+W(4,1069809281,1062109344,1042271976,-1114284680)+W(5,-1101499289,-1097491140,1035368326,-1126672913)+W(6,1013617559,-1149319294,1025827813,-1112053703)+W(7,1036050969,-1113127688,-1115137330,-1146921887);WS(-1125906880,1029353026); +sum1=W(0,1052620124,-1082830235,1044570800,1033131793)+W(1,1040928385,-1087911853,1048894344,1031982257)+W(2,1053619569,-1088553290,1054767249,-1118254573)+W(3,1034478636,-1115166792,1052323270,1037418321)+W(4,-1149501032,-1104403058,-1096342700,1045103465)+W(5,1027228408,1046902211,-1092690897,1053685367)+W(6,1033816441,-1140598044,-1112660402,1032758420)+W(7,-1143379631,-1115398454,-1089842615,1056771243);sum2=W(0,1052242091,-1123374674,-1088438592,-1109756837)+W(1,-1105901664,1032004261,-1109896025,-1117902306)+W(2,1041713460,1057464262,-1106721416,-1106560728)+W(3,-1098081544,1055897675,1057898227,-1101499608)+W(4,-1101414896,-1108453649,1044097375,-1114554169)+W(5,-1140318759,-1099401944,1041656473,1042131382)+W(6,-1123485994,1039811869,1042751001,-1104786072)+W(7,-1108472633,-1092934450,1033994653,1048148308);WS(-1080878567,1068324028); +sum1=W(0,-1115471279,-1095139206,1057833304,1032811018)+W(1,1019310859,-1103458412,1049561152,-1118469827)+W(2,-1121098697,-1090917913,1058273109,-1107876783)+W(3,-1115193805,-1094785898,1054221326,-1109399058)+W(4,-1153442440,-1100131090,1050583410,-1121957752)+W(5,-1104713039,-1118370765,1048985266,-1109945243)+W(6,1023975060,-1102569730,1041261354,-1125987028)+W(7,-1094675607,1044057356,1045920684,-1144681671);sum2=W(0,-1122597644,1052263517,1084267296,1037076324)+W(1,1032420914,-1132353885,1077171750,1017945885)+W(2,-1109997244,-1113437764,-1076080701,1045994672)+W(3,1029919127,-1086124512,-1066836895,-1105598049)+W(4,-1129031901,-1134522929,-1073829589,-1115453382)+W(5,1025876905,-1137529969,-1128728545,1027437378)+W(6,-1121404056,1041285329,-1128683125,-1112127416)+W(7,1025649559,-1111439550,-1109934248,1032857588);WS(-1106960696,-1099012034); +sum1=W(0,-1114528403,-1099071342,1055554285,-1109121109)+W(1,-1119077260,-1099370430,1049964157,-1115766890)+W(2,-1143558020,-1089278443,1061104081,-1114965299)+W(3,-1119877760,-1086538844,1056629915,-1120868875)+W(4,-1109244232,1010994112,1049997315,1034547527)+W(5,-1096650748,1041376829,1042073805,-1114495407)+W(6,-1112604445,1042854492,1031563405,-1139584324)+W(7,-1100402892,1049345155,-1123516568,-1118254096);sum2=W(0,-1116593925,1027806287,1032648371,1024756439)+W(1,1028908115,-1136470458,1006654490,-1116529299)+W(2,999050165,1039840949,1052059722,-1107372324)+W(3,1037914955,-1122048333,1057985079,-1128153177)+W(4,-1106109711,1057135276,-1090440242,-1142966917)+W(5,-1105957739,-1105275062,-1131926605,-1123338691)+W(6,-1123834115,-1096566133,1018741845,1013415162)+W(7,-1113783754,-1105721601,-1124260101,1018182189);WS(-1103089976,1059868827); +sum1=W(0,1026631887,-1091300264,1056895190,1031003956)+W(1,1033737723,-1096562704,1050565142,-1140469197)+W(2,1034000797,-1087537316,1059766350,-1108911023)+W(3,-1130496915,-1094386976,1053939124,1032926090)+W(4,-1106694966,1044429902,-1108577640,-1120892680)+W(5,-1105866475,1045093007,-1109922270,1034482579)+W(6,-1106727101,1040636078,-1122075862,-1136817768)+W(7,-1098705919,1044615672,-1100982776,1045052014);sum2=W(0,-1114832682,1044376552,1052671036,-1084839384)+W(1,1038307608,-1101986459,-1094811671,-1076225566)+W(2,-1109268272,1025272345,-1106762472,-1074779618)+W(3,1031259614,-1112738770,1052706603,-1088390497)+W(4,-1136199018,1014008179,1040752903,1066038403)+W(5,-1118450441,1042085570,-1100877636,1071357616)+W(6,1025376385,-1110075404,1051973899,1068318141)+W(7,-1125957173,1027010884,1036345951,1050587817);WS(-1089897038,998399462); +sum1=W(0,-1100326508,-1114312802,1049930251,-1141222070)+W(1,-1099771006,-1109889234,1047140918,-1114407115)+W(2,-1103969415,-1092992143,1060325312,-1106384368)+W(3,1030998252,-1098209637,1062808044,1017922927)+W(4,-1111096702,-1116385180,-1128865717,1023432554)+W(5,-1129527451,-1096464604,1048691588,-1125954964)+W(6,-1115021151,-1111889198,-1137813989,-1121716413)+W(7,-1124899748,-1109224641,1043572929,1020452535);sum2=W(0,-1094975511,-1113696880,1023473326,1029862812)+W(1,-1089233591,1032844980,1036803698,-1117299445)+W(2,-1089977002,1066397244,-1129026618,1025970568)+W(3,1033778332,1037917830,-1104280508,1031377784)+W(4,1006981461,1039504138,1024702770,-1122944997)+W(5,-1137053176,1032622380,-1121975322,1022461928)+W(6,-1125132764,1021506052,974010432,-1130740686)+W(7,979684320,-1119563165,-1138205260,1024270227);WS(-1096120220,-1099720911); +sum1=W(0,1052677544,-1105594052,-1101878153,990296621)+W(1,1027883172,1050583742,-1120505890,1026529890)+W(2,1046184634,1030711656,-1094174707,1039246623)+W(3,1036941212,1050761182,-1087347673,1031039363)+W(4,1037786724,1044997418,-1091299260,1038193547)+W(5,1039372749,1051859318,-1092171165,1036921611)+W(6,992842790,1041579690,-1105854769,-1115076484)+W(7,1040590154,1052858474,-1087724293,1007468831);sum2=W(0,1040381409,1023777345,-1110031849,1022623295)+W(1,-1131846701,-1095435966,-1146822820,-1096899181)+W(2,1030695069,-1111411494,-1089001391,1049343346)+W(3,1015259161,-1085163747,-1074171332,-1107180310)+W(4,1026868853,-1100600319,-1078760233,1043071461)+W(5,-1164136976,1052695808,1048168469,1020495459)+W(6,-1121164685,1041440525,1074132102,1017314953)+W(7,-1109936403,1051545155,1072577306,1050115198);WS(-1080112807,-1111145054); +sum1=W(0,-1103297132,1049824404,-1133975251,1026400021)+W(1,-1106341774,1049617192,-1122989109,1042898005)+W(2,-1098278655,1059552348,-1086286580,1041608840)+W(3,1024154699,1031972225,-1137351813,-1145221295)+W(4,1037514093,-1085661228,1056970252,-1102084285)+W(5,1034961350,-1097823136,992708574,1041904442)+W(6,-1125780682,-1114326813,1021582000,1038246926)+W(7,-1109009483,-1119831648,1040424089,1042525799);sum2=W(0,1041258750,989910477,-1134607603,-1109794979)+W(1,-1109734283,-1100922013,1016064722,1041809078)+W(2,-1123542769,-1096844113,1041392492,-1126381362)+W(3,-1113561957,1051742866,1057819912,982123162)+W(4,-1110564237,-1100235579,1047439582,-1119465765)+W(5,1026811493,-1105813951,-1113868277,1026735929)+W(6,-1130694514,-1151284621,-1118083589,1019553626)+W(7,1024057869,-1136706867,-1114600003,-1114678252);WS(1043409720,-1105036943); +sum1=W(0,1040191749,-1096303173,-1115184605,1041655059)+W(1,1033970558,-1095924673,1041748910,1041917006)+W(2,1042494496,-1093807736,1044442592,-1160531625)+W(3,1046767380,-1092831585,1042876074,1039311757)+W(4,972615552,-1096756208,-1140612185,1020654492)+W(5,1032778168,-1126846855,1018241414,1043700571)+W(6,1032217109,-1115229280,1027878365,1034107952)+W(7,1032356247,-1098580285,1034858676,1036396440);sum2=W(0,1027808259,-1139047739,986751832,-1095774205)+W(1,1010119787,1043340308,1026247831,-1093511024)+W(2,-1111510504,-1106790738,1065364148,-1089533357)+W(3,-1113418759,-1096910874,1040723354,1053173071)+W(4,1032132185,1040059331,1038861011,-1106558855)+W(5,-1121052855,-1115460243,-1113647147,1027584935)+W(6,1014515195,1017581734,1041604470,-1121443175)+W(7,1010692603,-1120741339,-1135975307,1014681515);WS(1035857520,1029952289); +sum1=W(0,-1143077795,1037051011,-1110400621,-1121149466)+W(1,-1105351783,1029971495,-1106469910,1043652126)+W(2,-1113811952,1049064844,-1094483622,1027875988)+W(3,-1106526780,1035603988,1058276716,1035104701)+W(4,1035289215,-1083894414,1056346487,-1114346217)+W(5,999420801,-1098557596,1050633420,-1123554317)+W(6,-1129002434,-1111645039,1042325343,-1130799743)+W(7,-1113970285,-1130790920,1026109447,1025377311);sum2=W(0,-1118517607,1026484093,1039465846,1008581907)+W(1,-1101077931,1046485772,1030900361,-1114630284)+W(2,1029148161,-1098019518,1048118782,-1106945018)+W(3,-1087996420,1071267691,1064954318,-1097625455)+W(4,1047526016,-1082674625,-1084489705,-1156379726)+W(5,-1108756119,1032470282,-1118487613,1024110641)+W(6,1038718292,-1106613565,-1112021711,1020048570)+W(7,1024464693,-1113199029,-1120012731,1036291722);WS(1058189134,1034857672); +sum1=W(0,-1171748679,1031241360,-1100969760,987174985)+W(1,-1105475825,1044072484,-1094075536,1045893176)+W(2,-1097172873,1057114388,-1082247827,1042860595)+W(3,-1108837708,1051374554,1060030327,1031954257)+W(4,1038034707,-1083662360,1058651386,-1120638978)+W(5,-1131134898,-1099379283,1046921459,-1137288661)+W(6,-1113151849,-1121036423,1041721673,1037681908)+W(7,-1119273967,1018101850,1036514264,1029972391);sum2=W(0,1003810984,1020569783,-1128982694,1043745048)+W(1,1036204547,-1114489126,-1099380876,-1104004872)+W(2,-1101998989,-1121260135,-1101918458,-1104165612)+W(3,1041029203,1052640914,1059611184,-1121067579)+W(4,-1098215637,1059150102,1040381797,-1100369008)+W(5,1044393168,-1098121773,-1094102036,1032515174)+W(6,-1110527635,1037147118,1028175839,-1114899975)+W(7,1027560485,-1110248773,-1113935142,1000033398);WS(-1107450480,1040804833); +sum1=W(0,1040192716,1040473489,-1095196747,-1124855402)+W(1,1022226221,1047969017,-1098407451,1020416041)+W(2,1002013395,1044185574,-1087290490,-1160070647)+W(3,-1117682794,1060667554,-1089168888,1045737613)+W(4,1001040843,1057909434,-1111951852,-1101676720)+W(5,1000424795,1049088596,-1119291421,-1103624738)+W(6,-1120982404,1038016429,1031577591,-1104451167)+W(7,1025306833,1042416864,-1112956481,-1115902938);sum2=W(0,1014727333,-1124633329,1026257754,-1111611661)+W(1,-1117243126,-1107065949,-1111801245,-1136702760)+W(2,1029406572,1041729284,-1084100906,-1103677442)+W(3,1027900147,-1094200388,1052541581,1050798725)+W(4,-1112527674,-1104959017,1070744988,-1105828213)+W(5,-1114664521,1040214496,-1111707080,-1111536822)+W(6,-1111634336,1005029260,-1127513012,-1106506739)+W(7,-1107116047,1049039902,-1107038609,-1140667375);WS(-1113867888,1064515135); +sum1=W(0,-1113562537,1048061265,1011269086,-1105945126)+W(1,-1107046062,1043460993,-1098944190,-1148623547)+W(2,-1103978495,1060048584,-1107431310,-1111558073)+W(3,-1098739202,1062873548,1045822761,-1114838028)+W(4,-1122423580,-1119786749,1025265092,-1101841139)+W(5,1019693149,1023528257,-1112998912,-1117915947)+W(6,-1116789880,-1106657727,-1142662356,-1106868487)+W(7,1020558520,-1137576074,-1104660585,-1122252061);sum2=W(0,-1145158406,1022878354,-1111624996,1010204019)+W(1,1012385731,-1129472106,1015658802,-1123973089)+W(2,1016118130,1044961455,1040055751,-1157676569)+W(3,1024197601,1049544336,1057430996,1022031298)+W(4,-1112179804,1030346877,-1114498280,-1124728962)+W(5,-1119519161,-1131221354,1020564842,1023003938)+W(6,-1127326042,-1095482557,-1112131584,-1121117277)+W(7,-1113792718,-1093377057,1019749938,-1141925830);WS(1051333020,-1087054195); +sum1=W(0,-1112042433,-1104387605,1052246829,-1113527444)+W(1,1019002067,-1096771599,1048899277,-1098301717)+W(2,-1115058903,-1102529947,1054136106,-1095193948)+W(3,1046618143,-1093976551,1044227957,1044013586)+W(4,-1107874438,-1089735051,1060328029,-1107288943)+W(5,-1148774132,-1129150690,1046377228,1038700845)+W(6,1036768028,-1101876091,1045160291,1024370318)+W(7,-1154881470,-1098135714,1045432325,1019966234);sum2=W(0,-1114066012,1041392892,1044719218,-1097547793)+W(1,1029900262,-1112610934,1046575198,-1095644935)+W(2,-1114806697,1041587346,1050162797,-1102972970)+W(3,-1110038644,1025557898,1055420600,-1095936036)+W(4,1036646832,1055783298,-1099287148,1028020818)+W(5,-1110070018,-1102485451,-1100701871,-1113902766)+W(6,1020625547,988088600,1033323822,-1135974783)+W(7,987867800,1039502616,-1119304428,1018696751);WS(-1120103648,-1090070191); +sum1=W(0,-1117418940,1049030490,-1112262737,-1114427969)+W(1,1024592611,1050801054,-1094705236,1032013281)+W(2,1040968250,-1111205267,1042055990,-1110419822)+W(3,1049918615,-1116228463,-1085341341,1047944497)+W(4,1034410595,1050512309,-1106227665,-1132367051)+W(5,1035134604,-1102511675,1036298997,1025392341)+W(6,-1119948353,1034763283,-1138448657,-1111046724)+W(7,-1144523437,1039656998,-1110564136,-1120201127);sum2=W(0,-1122606938,1046354401,-1124762815,-1118515993)+W(1,-1141997982,1040228902,-1102583710,1036845124)+W(2,1027805544,-1143835982,1052785838,-1106443071)+W(3,-1120462650,1061896257,1059397472,1043676745)+W(4,-1100560083,-1080731069,-1120768779,995709275)+W(5,-1105726471,-1098049024,-1126645315,-1128858827)+W(6,1025575588,1026943708,1011421951,-1112152255)+W(7,-1113668318,1032253740,-1122685018,-1127110207);WS(1060158670,1068766623); +sum1=W(0,-1116432453,1056712636,-1087151539,1040295867)+W(1,-1131098839,1049784895,-1102593034,1033948341)+W(2,-1099753724,1057908127,-1089291740,1031077093)+W(3,1034945056,1044163070,-1094800699,1027113355)+W(4,-1122123599,1028198895,1036808107,-1132674679)+W(5,1040823512,-1122504371,-1120242995,-1117547229)+W(6,1040184285,-1123329903,-1127465369,1040274980)+W(7,1050332416,-1096645803,-1132187055,-1137741501);sum2=W(0,1036379663,-1098232449,-1128107780,-1120677803)+W(1,-1108907739,1058983203,1035811659,-1120240179)+W(2,1070189048,1016986873,1040144345,1029686139)+W(3,1073213180,1047923452,-1105399966,-1109097268)+W(4,1065321765,1033582270,-1110681209,1041308319)+W(5,-1076673488,1031365639,1039880527,-1109042515)+W(6,-1079893128,1038048757,-1116001167,1034493417)+W(7,-1072585926,-1107019906,1018297481,-1131123922);WS(-1112459888,1031046963); +sum1=W(0,-1112719265,-1128634346,1043326546,-1115081924)+W(1,-1129483154,-1120462421,-1103778738,-1114915140)+W(2,-1103727283,-1112785958,1050524372,-1104237825)+W(3,-1091575740,1056781779,1067939282,-1096588493)+W(4,-1104335643,-1153409228,1048587330,-1108534894)+W(5,-1155155940,-1108013960,-1132710977,-1114726045)+W(6,-1114094348,-1118230989,-1109505653,991235804)+W(7,-1105426861,1027667442,1036777787,-1111746006);sum2=W(0,-1119086167,1037241732,-1114652243,-1131518324)+W(1,1013020612,-1129818230,1028260797,-1115730540)+W(2,-1141008560,1029187991,-1112264831,1036245214)+W(3,-1108719150,-1074141953,1072760747,1034705438)+W(4,1023891147,1019083994,1042535682,-1119172530)+W(5,-1145112744,-1124211508,-1131878972,-1133917220)+W(6,1018251990,-1122886966,1037493286,-1114007324)+W(7,-1116478859,1027168441,-1129254230,1018465006);WS(-1086783566,-1086791567); +sum1=W(0,-1115195632,-1095708330,-1123676804,1041725033)+W(1,-1153026662,-1093442522,1018199561,-1121101892)+W(2,-1134496297,-1098161001,1037878573,1034570216)+W(3,-1108787789,1044632085,1064261167,-1103584185)+W(4,-1119803561,-1091375169,1057417647,-1108866704)+W(5,-1145121243,-1107384199,1052226946,-1122033784)+W(6,-1131708777,-1100078210,1046948682,-1117964907)+W(7,-1110064394,-1104664012,1047330733,1022321300);sum2=W(0,1031515378,-1077397139,-1134939312,-1112896962)+W(1,-1121810184,-1079753374,-1097085111,1035985281)+W(2,1010081392,1044674665,1052841311,-1105060263)+W(3,-1119765868,1073378801,1007836336,1031953140)+W(4,1035546479,1056367001,1044809025,1022446080)+W(5,-1106495935,-1109376902,-1118570548,1031289566)+W(6,1028378344,1035615024,992033726,1032016077)+W(7,1003402623,-1118889676,1010750288,-1150317246);WS(-1096711324,-1080143969); +sum1=W(0,-1135181951,-1095339398,1050582337,1026786373)+W(1,1025399430,-1094144146,1049483953,-1123204644)+W(2,1033906501,-1093853897,1045129706,1006467326)+W(3,1041786535,-1089314149,1046728732,1031608549)+W(4,-1133559462,-1089126233,1045641984,-1135165794)+W(5,1003671004,-1110956839,1051092970,1017185520)+W(6,-1123695637,-1129083412,1049638101,996324016)+W(7,-1105366874,-1113909272,1057307443,1009923752);sum2=W(0,1023911567,-1108118447,1044892126,-1112738860)+W(1,1004932796,-1134375038,-1138359022,1020475455)+W(2,-1119124867,1035251904,1063133445,-1102926770)+W(3,1022775023,1037995724,1074655410,1047698054)+W(4,1011639102,1050162042,1070062472,-1113839430)+W(5,1036397588,1037707684,-1083132698,-1117927031)+W(6,999444348,-1111062570,-1073510095,1017195567)+W(7,-1106309084,-1101285996,-1073687480,1041743674);WS(-1089880270,1068594400); +sum1=W(0,-1114467040,-1104513741,1050219169,-1118490053)+W(1,1023170830,-1091458130,1042545281,-1120682309)+W(2,1036273894,1034367029,1048674674,1031296832)+W(3,-1107800974,-1100997781,1042739212,-1110241363)+W(4,1029867434,-1095286649,1053624831,1034289100)+W(5,-1106779367,1047811540,1034908007,-1107012174)+W(6,1024593089,-1096228817,1034674708,1021221591)+W(7,-1110449433,-1109179032,1049808694,-1126204757);sum2=W(0,1030004067,-1133064657,1024174065,-1119836251)+W(1,-1117028113,-1134091777,-1113615539,1025775761)+W(2,-1105887481,1045929484,1032698350,-1118489229)+W(3,-1066126465,1081917443,-1097201480,1041573100)+W(4,-1104777348,1043726141,1033613382,-1124268877)+W(5,-1122550707,1028310407,-1107697461,1030764051)+W(6,-1130918117,1016764395,1029778305,-1116797441)+W(7,1023720579,-1116064873,1018371831,1018350967);WS(1067475431,-1126058166); +sum1=W(0,-1108052732,-1097851361,1049362324,1040199303)+W(1,1043040440,-1108210069,1048929252,-1109622414)+W(2,1048922396,-1084429932,1054104112,1041203782)+W(3,-1097574342,1055911149,1047147106,-1104274751)+W(4,-1119673025,1041902328,-1085779789,1047880876)+W(5,-1101774749,1035827603,1049622021,-1116198608)+W(6,1019400344,-1115594513,1019477630,-1107876353)+W(7,1007801026,-1107003538,1037086373,1036701569);sum2=W(0,1013753738,1020731454,-1120697178,1009873360)+W(1,-1113150555,1046742995,1034035253,-1099358283)+W(2,1015248850,1045156685,-1094710566,1039470065)+W(3,1042650722,-1104352239,-1128318417,1046693145)+W(4,1040818978,-1089864705,1045040370,1036008061)+W(5,-1105652199,1045331461,1025091411,1030627793)+W(6,1033430289,-1109224259,-1106535436,1017876415)+W(7,-1120377801,1016214593,1019751894,-1132110931);WS(1060496974,-1099362699); +sum1=W(0,1054706808,-1109706041,-1098091909,-1129324363)+W(1,1036662868,1041317773,-1123237413,1015757258)+W(2,1045895019,1051554925,-1091928498,1021341985)+W(3,1033303646,1049334366,-1083798889,-1112852963)+W(4,1044095763,1051166813,-1095315343,1041804248)+W(5,-1130190200,1053590462,-1087007295,-1127492145)+W(6,1035564779,1049285205,-1097088265,1039262630)+W(7,1040746168,1055551482,-1094550458,-1114905285);sum2=W(0,-1073385920,1077926840,1032559783,-1094451238)+W(1,-1084887580,1058818874,-1089669880,-1121878040)+W(2,-1083140914,1060159151,1045764296,-1173171215)+W(3,-1081800202,1074845707,1059775011,-1120435570)+W(4,-1085954594,1061906872,-1103860568,-1115590029)+W(5,1037413129,-1084431515,-1094536545,1053315192)+W(6,-1096433065,-1126824848,-1133232881,-1107838893)+W(7,1054210787,-1087315344,-1099186518,1052978812);WS(-1078369703,1041267413); +sum1=W(0,1024386586,1041630887,-1102607056,1016693023)+W(1,-1098405416,-1112635974,1051293608,1018393854)+W(2,1044040033,-1132435208,-1094040968,1046099151)+W(3,-1098286219,1041292515,1052507157,-1095618428)+W(4,-1130684104,-1091497929,1056853585,1018959206)+W(5,1045750173,1016159377,-1105775474,-1117949682)+W(6,-1098338270,-1139597330,1049412460,-1118540325)+W(7,1041584973,-1101611546,1026100205,1040982949);sum2=W(0,1035615459,-1097925659,1043665288,1020457849)+W(1,1028814353,1038714809,1033337220,-1103657321)+W(2,1062855981,-1077657685,1051048913,-1109823715)+W(3,1052250964,-1101970047,-1113114333,1058024935)+W(4,1056109526,-1098468896,-1085664062,1056999181)+W(5,-1106019250,-1114182260,1040975429,-1105846491)+W(6,1048995011,-1104046747,-1109605260,1042595027)+W(7,-1115640692,-1130122971,1034778788,-1112374505);WS(1049151900,-1114127847); +sum1=W(0,1050216581,1044969414,-1106856243,-1099359923)+W(1,1000015204,1047621718,-1112471205,-1148711507)+W(2,-1136218178,1057314961,-1091938023,-1133921207)+W(3,1023136961,1055877843,-1092033343,-1112054390)+W(4,-1130455775,1054358666,-1099719178,1034273823)+W(5,-1133465094,1052966059,-1089783713,-1122838974)+W(6,-1160090192,1045850836,-1099053307,1019980258)+W(7,1035991733,1052491071,-1087984664,-1112322824);sum2=W(0,-1105478410,1011113448,1068049752,-1082501551)+W(1,1039552519,1050864081,-1103020148,1059003564)+W(2,-1131405058,-1125310098,1066695202,-1098156272)+W(3,-1099466970,1043215106,1074596924,1039344435)+W(4,1049027924,1034334973,1067601936,-1099880092)+W(5,-1115050596,-1095883745,-1084539788,-1107282542)+W(6,-1129231446,1036178144,-1075514015,-1097076855)+W(7,1049583286,-1088635155,-1074115054,1042018058);WS(-1081332839,-1093454830); +sum1=W(0,-1109709318,1035356975,1039420520,-1111308088)+W(1,-1104916884,1037116623,-1122158672,1014687039)+W(2,-1108177419,-1125155242,1053028347,-1112931654)+W(3,-1117212646,1030327966,-1104761999,1020526050)+W(4,-1119705461,1050241163,1032136206,-1119448076)+W(5,1032417267,-1103907222,-1115200780,-1112611266)+W(6,-1118748528,1046095669,-1115609017,-1136487898)+W(7,987327371,1033262333,1029855614,-1104533373);sum2=W(0,1013207527,-1118344664,-1124997045,1036829905)+W(1,-1127355075,1028266047,-1117884424,1016171285)+W(2,-1103159789,1043690369,-1116887196,1024917624)+W(3,1040955478,1051132935,1047094008,1041601336)+W(4,1008876024,-1108842627,1057384051,-1127506713)+W(5,-1116686760,1041402295,-1100609336,1033786361)+W(6,1035764738,-1105537330,-1098518151,-1114313206)+W(7,-1154118338,-1128237045,-1089828796,-1102385561);WS(1063446990,1030048893); +sum1=W(0,-1131562670,1043069042,-1108681470,-1108650254)+W(1,-1099483503,1049571969,-1106599551,-1106453175)+W(2,-1106193120,1061428532,-1097709592,1008661917)+W(3,-1102405700,1053095529,1046689338,-1102088711)+W(4,1021119810,-1115069793,1029025472,-1123233168)+W(5,-1113568905,-1119868742,1006738196,-1104754348)+W(6,1009340592,1027160065,-1120287391,-1136963210)+W(7,1030255032,1043118346,-1111789333,-1114502129);sum2=W(0,1012371361,1017109065,-1110016822,-1103671135)+W(1,-1149491589,-1115161102,-1109821790,-1097972516)+W(2,1023756477,1012418345,1060485172,-1094449842)+W(3,-1165255819,-1111308586,1031379047,1049769129)+W(4,-1111467932,1015942947,1046805034,999148403)+W(5,1019335917,-1106016138,-1114576028,1022790203)+W(6,-1140694601,1015823021,1024897044,1032463998)+W(7,1010513313,1026481588,-1114618076,-1146831635);WS(1060385486,1040268319); +sum1=W(0,-1115333181,-1105770459,1048230464,1022495614)+W(1,-1113839600,-1104706211,-1122113023,-1115044751)+W(2,1026945989,-1085502934,1051932092,997701279)+W(3,1041834949,-1112644646,1065603891,1044329112)+W(4,-1100015113,-1102865873,-1105250533,1038196649)+W(5,1010458454,-1112283012,1054415097,-1113673817)+W(6,-1113704543,-1108020290,-1122402466,-1105082025)+W(7,-1110169699,-1115522389,1046973419,-1115640050);sum2=W(0,-1115664423,1041813775,-1142717933,-1120925434)+W(1,-1122287706,1041645390,-1094011677,-1119842210)+W(2,1044568139,-1087138046,-1124627987,-1120985148)+W(3,-1099350461,1067461852,1027339570,-1113918825)+W(4,-1102715015,-1116572542,1045144111,-1100833175)+W(5,1042022920,-1109622665,1054026149,-1101147879)+W(6,1031291077,-1113357449,-1122353792,-1112018489)+W(7,1032474264,-1110133469,1047364150,-1109170005);WS(1049043868,1050086952); +sum1=W(0,-1127858130,-1091279607,1054362490,1028884238)+W(1,1025810768,-1101354119,1044465651,1022883995)+W(2,1034666762,-1089232423,1050465752,1032068165)+W(3,989092984,-1092016019,1058690160,1005443958)+W(4,-1115481017,-1089729669,1053482909,1007092039)+W(5,-1119959429,-1104525366,1051092259,-1149438996)+W(6,1012364567,-1121438163,1019953121,-1137072337)+W(7,-1097661520,-1160888088,1051219071,1017307814);sum2=W(0,1030282550,-1099759289,1070065566,-1078832473)+W(1,1012065197,1050936278,1068820850,-1076346523)+W(2,1049708534,1018991152,1068572253,-1075628240)+W(3,-1101566471,1050588571,1075164582,-1072955990)+W(4,1043525707,-1112383125,1046261639,-1093459475)+W(5,1038111746,-1121285468,1053555382,-1088795804)+W(6,1040589253,1039884984,1040055978,-1099780818)+W(7,-1106531005,-1113841779,1058828770,-1090423367);WS(-1083655502,1074535575); +sum1=W(0,973651072,-1100106921,1049212555,-1122472503)+W(1,1028862937,-1096173461,1052529147,996549482)+W(2,1029517469,-1088250868,1057957824,-1111380529)+W(3,-1111330742,-1101351113,1060855844,-1125410415)+W(4,1043404639,-1092528244,1050267538,-1109626381)+W(5,-1105397947,1034877328,-1104065896,-1122247818)+W(6,-1129726574,-1113904430,1041335934,-1108333759)+W(7,-1099887737,-1118418050,1047916353,1037233742);sum2=W(0,1037582341,-1116649305,-1107051108,1040538112)+W(1,1032149251,-1112916551,1041643977,-1112067691)+W(2,-1135487115,1044443302,1030763641,1036263743)+W(3,-1107247151,-1117703407,1053360182,-1115814520)+W(4,1053968825,1049963138,-1087331905,1035849297)+W(5,-1096732175,1042101117,-1089009482,-1104153316)+W(6,1034930229,1046616621,-1110671517,-1104877620)+W(7,-1094249638,-1127010106,1059951262,-1116847106);WS(-1132786560,1056578758); +sum1=W(0,1031072232,1043718831,-1098888378,-1123786893)+W(1,1019453021,1050053971,-1104586611,1030360908)+W(2,-1112153353,1057505465,-1090760605,-1123598824)+W(3,-1127115205,1049535379,-1081773448,1035671447)+W(4,-1153314582,1052394474,-1106021324,1044649456)+W(5,-1105591705,1045418390,-1120283669,-1105554848)+W(6,986346381,1044283028,1036365944,1033186457)+W(7,1024604121,1048806335,-1103287167,-1108912601);sum2=W(0,1040658557,1011638864,1041865287,-1109113498)+W(1,-1106354313,1020064744,-1103147627,1033931950)+W(2,1027144364,1049840877,1026998340,-1120927100)+W(3,-1103628435,1050147177,1053587315,-1102211113)+W(4,-1123462592,-1117174472,-1118058864,1033328738)+W(5,-1130705048,-1105120318,1036775410,-1101351534)+W(6,-1126068784,-1113970774,-1104140895,1028877580)+W(7,1016031184,-1135769248,1030416564,-1112076066);WS(1062711758,-1109562142); +sum1=W(0,-1107075140,-1100622401,1053288051,1017596397)+W(1,-1125545776,-1104747337,1049612355,1007433175)+W(2,-1121788380,-1103229831,1059638178,-1120034657)+W(3,-1112684886,-1083301774,1048337697,-1098025711)+W(4,-1128625782,1050510715,1052952654,-1112854653)+W(5,-1102890883,-1097610180,1051307580,-1108240645)+W(6,-1129119788,-1109077454,1041285742,1022176121)+W(7,-1102110160,1030737729,1049115768,1020667959);sum2=W(0,1022257834,977550902,-1113927342,1036504102)+W(1,1033804876,-1105772859,1042844173,-1107093105)+W(2,1033963400,-1098748483,-1096777339,1028160469)+W(3,-1113268759,1063293804,1059312088,-1089861840)+W(4,-1123922685,-1090033704,-1134320563,-1101525036)+W(5,1029999681,1051039483,1037687330,1017532722)+W(6,1015463858,-1104977553,1024487701,-1122996995)+W(7,-1125618402,1022914778,1004875175,-1116068477);WS(1046002488,-1083997249); +sum1=W(0,-1116203964,-1099156844,1050076828,1025075217)+W(1,1044431961,1028498222,1049400252,1035032656)+W(2,1041235242,-1096363997,1050263757,1032516798)+W(3,1046371486,-1079124621,1020370202,1050189128)+W(4,-1106267745,-1088685662,1048790666,1042510329)+W(5,-1117705943,-1103556299,1053355933,1039724554)+W(6,-1122870401,999993136,1034829570,1027729159)+W(7,-1109240562,-1106798659,1037276039,1037249299);sum2=W(0,-1094982381,1041875660,1017839086,1045890174)+W(1,1024745423,-1091311273,1044409386,-1107764806)+W(2,-1097113645,1042706326,974632891,1048260200)+W(3,1017043870,-1148119319,1061393923,-1118443235)+W(4,1052555320,-1098101314,1043955676,-1097368628)+W(5,-1107563793,1010824956,-1098402228,1041238578)+W(6,1049262968,-1094774489,1042935118,-1116185663)+W(7,-1118735987,1030619863,-1094515595,1042214090);WS(-1083255246,-1075588436); +sum1=W(0,-1154522904,1026375684,-1099839750,1037990411)+W(1,-1106371438,1036249778,-1113752075,-1119606102)+W(2,-1105464695,1056687627,-1092436626,1043935324)+W(3,1036086422,-1097055709,1050924256,1036476796)+W(4,1023783355,-1088556578,1056650964,-1111337285)+W(5,-1127243930,-1108055408,1045926824,-1110940389)+W(6,1030176790,-1105944807,1039385437,-1124332025)+W(7,1031412139,-1123388097,1041066449,1021333175);sum2=W(0,-1117330831,1032531181,1043756688,1060766869)+W(1,1023708058,-1114369361,1031926890,1067300065)+W(2,-1133288218,1017487862,-1104593512,-1105945514)+W(3,-1122435213,1047518334,1043258354,-1075696003)+W(4,-1139180683,-1122916014,-1096895795,-1102393264)+W(5,1020252429,1027012545,1049767697,-1106946489)+W(6,1025188082,-1103557501,1019544307,1020047431)+W(7,-1109968059,1046855474,-1112657711,-1113285900);WS(1056055196,1023945849); +sum1=W(0,-1104545849,1036175954,1032040419,-1111539988)+W(1,-1139517988,-1138851412,1009002268,1026875367)+W(2,-1101013315,1048468083,1040659763,-1104005681)+W(3,-1136100212,-1097789539,1059870683,-1112873620)+W(4,-1148373856,-1096999890,1039368714,-1135793772)+W(5,1013350648,-1097071058,1053644410,-1132670698)+W(6,-1120654743,995622088,-1122818538,1028030253)+W(7,-1108930702,-1128233700,1033002810,-1133516850);sum2=W(0,1033182461,-1110992702,1011638125,-1116812221)+W(1,-1135790885,1041801313,976542168,-1135785781)+W(2,1036058972,-1115959119,-1106760241,1013579453)+W(3,-1145806187,-1083556559,-1068720208,1034110873)+W(4,1026470367,1047402951,1080067579,1048786168)+W(5,-1125994579,1026458945,1043021822,-1124564059)+W(6,-1123856921,1021989349,-1118809257,-1115658442)+W(7,-1152817846,1029289545,1027196491,-1110636256);WS(1047050040,1036867972); +sum1=W(0,1031952202,1041031945,-1098508279,-1117663192)+W(1,1040033213,1050476745,-1097704487,1033331580)+W(2,1049413776,1016870010,-1091275871,1012948685)+W(3,1052329098,1054273441,-1087382286,1043041286)+W(4,-1134253939,1041748879,-1095309386,-1131302504)+W(5,1023712847,1035493153,-1117526273,-1125396951)+W(6,-1129317744,1041656495,-1112254893,-1153578470)+W(7,1023414180,1041394937,-1108492595,-1112644847);sum2=W(0,-1120609508,-1138324119,-1110367912,1021280635)+W(1,-1098653081,1042859622,1038385587,1026624912)+W(2,-1074671298,1072071026,1026263792,1026288466)+W(3,-1081276780,1068070176,-1107049493,-1122098825)+W(4,-1097107702,1044485226,1024907208,1040255596)+W(5,-1110118090,1040658983,-1122488627,-1152233050)+W(6,-1137118351,-1118978815,1038809437,-1126727249)+W(7,-1119823807,1035453187,-1111098449,1006813455);WS(1047287096,1059538103); +sum1=W(0,1030804480,1034749929,-1102474905,1013951379)+W(1,-1111595219,1051408038,-1094490621,1039425378)+W(2,-1123153834,1049213285,-1099609086,-1112788128)+W(3,-1098057279,1057344539,1048597242,-1098419769)+W(4,1007980582,1048793645,-1094890059,-1118093753)+W(5,1018775223,-1106759404,1046324795,-1108341356)+W(6,1036089754,-1115115061,1003815995,-1120388747)+W(7,1030691489,1033654600,-1126686757,-1135294247);sum2=W(0,-1112864979,1024004698,1034996841,1004307827)+W(1,1034721747,-1109416755,1041661735,-1116757818)+W(2,-1108077379,988806988,1041642045,1037366938)+W(3,1023366533,1058238498,1008174217,-1107547239)+W(4,1021246669,-1115279539,-1122858630,-1108868659)+W(5,1032508120,1041332549,-1089151778,-1128614293)+W(6,-1113986367,1033457886,-1130797677,-1130732717)+W(7,-1153257254,1018109285,-1111548255,-1122125438);WS(1066216871,-1084582294); +sum1=W(0,1009745022,-1095963722,1050775177,1027534757)+W(1,1023325836,-1096473834,1046303345,-1126933960)+W(2,1034246149,-1087129751,1057767679,-1118146623)+W(3,-1103455511,-1142570129,1064400323,-1103828265)+W(4,1025953385,-1094684497,1038452388,1018950609)+W(5,-1105242559,-1107829831,992534739,1030437560)+W(6,988118663,-1107520037,1025316967,1020674901)+W(7,-1107601837,-1117719279,1044853309,1033139589);sum2=W(0,-1127013105,1031626404,1029958550,1017794797)+W(1,1018526115,-1117975133,-1113082476,1023300847)+W(2,-1123587641,1062148372,1035325186,-1145491637)+W(3,1052346460,1074624908,-1130733653,1041942663)+W(4,-1098654594,-1090512380,1046581721,-1113152926)+W(5,1029804743,-1070854231,-1113725416,-1139181075)+W(6,-1118240305,-1095518794,1031776819,-1120299385)+W(7,1030491706,1041467716,-1115594754,-1142763637);WS(1033725552,-1082653885); +sum1=W(0,1027658456,-1091894661,1054730080,1024810077)+W(1,1033791775,-1094613753,1052727904,1020875129)+W(2,1038169633,-1085886368,1060322284,-1114253244)+W(3,-1130834725,-1094605577,1054915405,1021660859)+W(4,-1105755912,1049096200,-1115316932,1010914050)+W(5,-1107114253,1038006563,-1113871235,1032412472)+W(6,-1106878767,1040399888,-1114082704,1016596422)+W(7,-1102176852,1038046228,-1098681477,1044096992);sum2=W(0,-1126607908,-1109006144,-1093467963,1059727060)+W(1,-1111819446,1050929158,1063076656,1073053378)+W(2,1032709615,1025316173,1048889614,1073749745)+W(3,-1119610542,-1107176811,-1090320472,1058093447)+W(4,1027594385,-1123863107,1046933317,-1079533534)+W(5,1029384695,-1122531221,1051206364,-1073154062)+W(6,-1115269200,1026796828,997945380,-1075936158)+W(7,1032209203,-1115616555,-1109796884,-1088004581);WS(-1087442510,1045166814); +sum1=W(0,-1106921670,1032009478,1041337656,-1110338367)+W(1,1032907600,-1127325529,-1100890040,1042108264)+W(2,-1111070674,-1106321881,1060092296,-1105899594)+W(3,1047421629,-1085655355,1044767811,1027442111)+W(4,-1094092352,1057239638,1040377247,-1105935775)+W(5,1031075349,-1098381173,1037296628,1037469097)+W(6,-1136240762,-1128650952,-1131454723,1027139781)+W(7,-1129052086,-1107389381,1037463686,991481919);sum2=W(0,-1119426781,1040351141,-1104019881,1015410156)+W(1,-1109786529,1043540747,-1106797782,1043466418)+W(2,1041819143,-1105926532,-1098594115,1048709183)+W(3,1018220925,-1133247980,1066013053,-1092013542)+W(4,-1103055916,-1096724541,-1136157126,-1109288787)+W(5,-1124599508,1038612076,-1097021086,1027934232)+W(6,986571056,1019567362,1025702119,-1140871148)+W(7,1024618671,-1143357456,1008181894,1027080058);WS(1059279054,1041683061); +sum1=W(0,1028823114,-1096417644,1041071884,1040139175)+W(1,1033060856,-1095251776,1051348966,-1133443258)+W(2,-1136683218,-1096755466,-1106154521,1027763154)+W(3,1041097809,-1095420880,1062896338,1037083176)+W(4,-1108712682,-1087904547,1057053635,-1109247178)+W(5,-1099515041,-1117180600,1050313119,-1169250436)+W(6,-1114499693,-1113115866,1041134484,1007514196)+W(7,-1105525449,-1121084634,1043053335,1031868218);sum2=W(0,-1104031080,1039900182,1028023758,-1125301559)+W(1,-1113246189,1044206765,-1122555834,1027754708)+W(2,-1124792744,1043086617,1041018096,-1129842792)+W(3,-1107688308,1057123143,-1100462314,1022410763)+W(4,-1084040655,1066602722,-1123151815,1034604384)+W(5,-1089958554,1037219700,1032289221,1029558442)+W(6,-1098618924,-1111210157,1028867168,-1139711519)+W(7,-1098033920,1036938090,-1143651414,-1122704124);WS(-1093886876,-1092780259); +sum1=W(0,1031521076,1034696971,-1098366291,991412379)+W(1,1040859655,1027092583,-1107551117,1023411481)+W(2,-1123954783,1057011018,-1084481759,1037665034)+W(3,-1115369432,1055452141,-1086775792,1037775165)+W(4,1027325374,1055461116,1050583573,-1102735091)+W(5,-1130075936,1043845385,-1098824964,-1106471523)+W(6,1017430099,1041326696,1032795870,-1113156096)+W(7,1005655277,1045628689,-1110858724,-1108701199);sum2=W(0,-1099549152,-1115620025,1042476476,-1128057356)+W(1,-1101982776,-1110046443,-1138118945,-1104607948)+W(2,1039636960,1067650764,1056117723,-1129519972)+W(3,1065032135,-1096892917,-1084935200,1039009532)+W(4,1046191187,-1084058149,1043334912,1042222420)+W(5,-1112740199,-1089814493,-1116550886,-1114781123)+W(6,-1120755726,1022618460,1030169574,1023299940)+W(7,-1138571865,-1106519005,-1123579094,1029490149);WS(-1103384376,1050555318); +sum1=W(0,990997212,1056616014,-1113359817,-1104278389)+W(1,-1104723373,1049493908,-1101985253,-1112669305)+W(2,-1102560870,1060440249,-1095607555,-1117918862)+W(3,-1110645588,1063537686,-1091747296,-1124628967)+W(4,-1114771100,1049398171,-1098384586,-1120789735)+W(5,1006886950,-1123261404,-1094355067,1020875660)+W(6,1011892746,1042753094,-1098733239,1029891897)+W(7,1041403778,1041297647,-1099641616,-1143354303);sum2=W(0,-1097904627,1056762738,1033294591,-1113205081)+W(1,-1102268820,998260703,-1102966386,-1105114179)+W(2,-1101696600,1049156882,1040206209,1028552759)+W(3,-1102083058,1055125136,1048772561,1023069474)+W(4,-1100977750,1040009482,1004029807,-1108173489)+W(5,1022682138,-1099421122,1040485303,1040370279)+W(6,-1105396681,-1114104451,-1118051402,-1109779069)+W(7,1035758392,-1112582051,1040482786,-1135668672);WS(1042369848,-1095650924); +sum1=W(0,1032801852,1060985291,-1088222536,-1154392525)+W(1,-1124780413,1056066249,-1093287088,1017158008)+W(2,-1142443027,1059062488,-1089766974,1041310978)+W(3,1031124370,1046815795,-1084610255,-1111535759)+W(4,1024489633,1051554984,-1096293908,-1118760812)+W(5,1037041722,1026983110,1035048291,-1118618480)+W(6,-1157391942,1037131073,-1113190096,1032589425)+W(7,1048283534,1028118439,-1107690581,-1101944856);sum2=W(0,1056251107,-1084477192,-1077785336,1053829707)+W(1,-1118435725,1041984407,-1086371528,-1113013425)+W(2,-1111043713,-1093515412,-1093010832,1046411943)+W(3,-1090037466,1073185178,1074151927,-1090694669)+W(4,-1129656805,1051712939,1054463958,-1095714333)+W(5,-1093926860,1053076395,-1094829660,-1103046632)+W(6,1052716525,-1096065312,-1090812268,1035367276)+W(7,-1083761792,1066458198,1063500158,-1087950464);WS(-1081634407,-1072784825); +sum1=W(0,-1102740818,1024862651,1056867014,1016622683)+W(1,-1115394775,1046040367,1027952685,-1112643478)+W(2,-1101924733,-1109613465,1058509811,-1096240139)+W(3,-1100839185,-1115978107,1050187219,-1101581667)+W(4,-1123768914,1049722038,-1098437541,1008822020)+W(5,-1140848016,-1098661743,1033615035,1023463264)+W(6,-1118249725,-1138059466,-1143195264,-1116668435)+W(7,-1116477425,1025943000,-1132571500,1036595961);sum2=W(0,-1139809909,1046126277,-1119940899,1040903120)+W(1,-1126178115,-1111752353,1055245806,-1104413152)+W(2,1032546581,1034216546,-1088954301,1019748625)+W(3,-1097752958,1042101074,1058677046,-1089277711)+W(4,1042272246,1043290796,-1087007443,1028591970)+W(5,-1118367610,-1112722386,1048637958,-1139620757)+W(6,-1138081685,1034532478,-1140548675,1017306737)+W(7,1017774855,1030093406,1029648824,1033828758);WS(1050645916,1033550915); +sum1=W(0,-1118556120,-1107219907,1039060494,1030703933)+W(1,-1108262319,1043545243,-1145250020,-1110184190)+W(2,1043230361,-1086762442,1059123936,-1110311564)+W(3,-1094947334,-1104041435,1057758321,-1100512367)+W(4,-1103841584,1058293794,-1096913490,1044416908)+W(5,1018079143,-1097977901,1039599795,-1132472896)+W(6,1032598742,1041130248,-1151122424,-1147952664)+W(7,1008731683,-1123331655,-1123961290,1022228292);sum2=W(0,1040267615,-1112791644,1010515766,1024308395)+W(1,1048409433,-1110540665,1032365064,1041630361)+W(2,-1107165984,-1088877638,-1090038325,1040244783)+W(3,-1086251247,1053330884,1049266570,1037513285)+W(4,-1113957324,1057377190,1028890653,-1098504745)+W(5,-1107976602,1057673067,-1103454662,1039941233)+W(6,-1122078587,1024512949,1041725883,-1103661415)+W(7,-1111525785,1042772014,-1143554104,1024552651);WS(1051978908,-1102077462); +sum1=W(0,-1132165009,1045761591,1013540534,-1106078467)+W(1,-1117187439,1051430047,-1096198150,1014010165)+W(2,-1108837850,1060286099,-1130717861,-1121999817)+W(3,1037183202,1046972447,-1085387922,1030141582)+W(4,1028473682,-1128782822,-1105434962,1008925446)+W(5,1045655273,1028047735,-1101497054,1018887490)+W(6,1025240990,-1178179968,-1110960744,-1122721428)+W(7,1033734537,1035331372,-1102517015,1026996307);sum2=W(0,1023072493,974611657,-1101792417,-1112121991)+W(1,-1125531833,1047662948,1051899312,1037288067)+W(2,1030396885,1035351326,1080526024,1042102238)+W(3,-1118880502,-1090109833,-1069022098,-1113214479)+W(4,1027419877,-1110942359,-1087739606,1032127295)+W(5,-1161271853,1033315833,1036440530,-1143368203)+W(6,1019485964,1010290822,-1124554651,-1132377096)+W(7,1028708277,-1156901930,-1114394737,-1141169667);WS(1058455886,-1096183470); +sum1=W(0,-1105360672,-1112611850,1060616064,-1104075433)+W(1,-1112035684,1032735242,1033545283,-1111940643)+W(2,-1105059667,1048808633,1051085625,-1115570744)+W(3,-1103063975,1042817013,-1097442806,-1097216429)+W(4,-1112638549,1058906409,-1102188695,-1107200030)+W(5,-1104182327,1047248804,-1103229812,-1108265532)+W(6,-1106250503,1047193699,-1106970890,-1119499692)+W(7,-1103319623,1057710235,-1109193562,-1106901731);sum2=W(0,-1135393651,-1114274101,-1117767149,-1110403581)+W(1,-1131009665,1016197705,-1130986601,-1136444051)+W(2,1004138181,-1143366053,1026922589,-1112183743)+W(3,-1111055824,1051632163,1048764370,-1121253595)+W(4,-1134829555,-1111579981,1036257166,1009689523)+W(5,-1127256265,1038147066,-1112945554,989872074)+W(6,-1113946573,1025185617,-1143942149,-1123668797)+W(7,1010148467,-1137859715,-1123068365,-1123716033);WS(-1103618872,1023577831); +sum1=W(0,1041702149,1057806109,-1091063799,1022049043)+W(1,1032268701,997904496,-1106010126,-1102660926)+W(2,1021026046,1057675340,-1090884608,1046995709)+W(3,1032012647,-1129702414,-1094077941,-1100395542)+W(4,1023662430,1056283152,-1094732237,1050214494)+W(5,-1111766616,1039716321,-1100869456,-1096243374)+W(6,-1112590149,1049875952,-1105996279,1047647816)+W(7,1042231991,1054291708,-1098425069,-1100607928);sum2=W(0,1073849383,-1072987051,1040644897,1022236877)+W(1,1069429154,-1080077361,-1098556311,-1128073567)+W(2,1070121938,-1076996297,-1124122091,-1118780260)+W(3,1066905653,-1086754234,-1095882058,1027638421)+W(4,-1087755842,1060194671,-1096747545,1012182550)+W(5,-1080359597,1067521081,1048551041,-1129108935)+W(6,-1073496568,1074652354,-1092793409,-1130588931)+W(7,-1070245916,1075883836,1058695504,1001812541);WS(1010873216,-1100304815); +sum1=W(0,-1154187044,1045945805,-1102222630,-1113759340)+W(1,1028741017,1051026373,-1103217414,1022415534)+W(2,-1114247598,1058185854,-1097780567,-1105383733)+W(3,-1099084427,1059904750,-1091550752,-1111624796)+W(4,-1104966895,1052860588,-1108718914,-1114326870)+W(5,994968800,1038231664,-1110664976,-1110217221)+W(6,-1113228468,1040557287,1017403508,-1108875519)+W(7,1028263947,1032103905,1017865354,-1109350878);sum2=W(0,-1114639192,-1100331344,1035901690,1012858414)+W(1,1039210963,1069298433,1043940791,-1126620651)+W(2,1047528380,1080352854,1030733380,1036529177)+W(3,-1099502544,-1067747068,-1084572959,-1099630936)+W(4,1041344628,-1080996124,1003800555,1043527822)+W(5,-1108972702,1032407437,1045939813,-1119860547)+W(6,1021595805,-1121090437,-1121287047,-1145664907)+W(7,-1116883371,1016604711,-1122259179,1034105585);WS(1044302648,-1104457270); +sum1=W(0,-1115179413,1029190781,-1108944696,-1115207128)+W(1,-1101763748,1045938783,-1102720380,1013266237)+W(2,999269803,1034810490,1038235218,1025157307)+W(3,-1106420033,1055724168,-1101615303,-1105407492)+W(4,1041707045,1053359959,-1094303566,1045691477)+W(5,-1128885581,-1100033022,1043259278,-1113033137)+W(6,-1110751840,1037908026,1011056201,-1114066571)+W(7,1029110244,1035419021,-1123807773,-1113282394);sum2=W(0,-1117238549,-1109414288,-1115125848,1023475415)+W(1,-1115295266,-1128441429,-1121954754,1024122972)+W(2,1033754662,-1104877135,1018153798,1002646200)+W(3,-1095438097,1053172955,1038786210,-1106263750)+W(4,-1106855439,1056926069,-1104082080,1034246226)+W(5,1011060498,-1108715476,1043675119,1025499367)+W(6,-1117460606,1036225840,1008366234,-1107090094)+W(7,1032653312,-1114450934,1018894269,1013321052);WS(1068015911,1043072951); +sum1=W(0,-1127841379,-1101991257,1041159238,1035382295)+W(1,1035792844,-1091973141,1040826438,-1098419575)+W(2,-1155603908,-1110119406,1052691071,1043898844)+W(3,1018341976,-1095315357,1053842800,1030324599)+W(4,-1111053022,-1107228151,1042506601,-1108241413)+W(5,1044403491,-1111437840,1050221764,1043481954)+W(6,-1112313859,-1097295811,1030249017,-1098652336)+W(7,1005208661,-1103670736,1046985745,1032196534);sum2=W(0,-1134315530,-1125722365,-1135384490,-1118933131)+W(1,1033824390,1019923991,998580556,1027495017)+W(2,-1112867968,1039464885,-1093291922,1045077367)+W(3,1039862799,-1087456726,-1061395777,1087627027)+W(4,1005143468,-1119378177,-1106942114,1034637079)+W(5,-1114969920,1042059959,-1121281813,-1148550692)+W(6,1030354102,-1113780490,1034179020,-1118611519)+W(7,-1131720457,1009971850,1032010553,-1117397469);WS(1060186318,-1131602669); +sum1=W(0,1022422466,1050205114,-1099402401,-1112848707)+W(1,-1102049002,1052887138,-1102238785,-1106285089)+W(2,1050775273,1052456073,-1100510367,1039607513)+W(3,-1097141731,1049038746,-1088759247,-1098786589)+W(4,1056872997,1040490435,-1122526498,1048305743)+W(5,-1099566807,1039690728,-1099089908,-1104192622)+W(6,1025667942,1043457059,-1102859210,1032266998)+W(7,1032894309,1045856748,-1106963501,-1118572779);sum2=W(0,989650422,-1120410947,1047633630,-1081060940)+W(1,-1108234271,1050158699,1066272871,-1074101109)+W(2,-1120122674,-1092804082,1075424781,-1079387458)+W(3,1045260201,1024838498,1061734347,1050344942)+W(4,-1114112879,-1125280065,-1091697647,1043540897)+W(5,1037831837,-1119936776,1003481288,1039609275)+W(6,-1117501250,-1114421818,1011848513,-1131708367)+W(7,1024132690,1035095434,-1106020023,1026462111);WS(1057810382,986287880); +sum1=W(0,-1105255365,-1110142276,1041191503,1050176972)+W(1,1027767677,-1106138450,1031406779,-1130243957)+W(2,1037147968,-1092238936,1027980992,1041310918)+W(3,1038550632,-1090210593,1049547413,1041377527)+W(4,-1136315263,-1089134184,1052451129,-1115128119)+W(5,1035749561,-1093055129,1057536820,1033537239)+W(6,-1115075413,-1097497096,1050343212,-1127231554)+W(7,1028257967,-1089420006,1058108487,1031965752);sum2=W(0,-1099824579,1070708271,1075074245,-1097074436)+W(1,-1113793286,-1104040400,-1084124078,1023561426)+W(2,1053512844,-1091831853,-1082668198,1039380165)+W(3,-1112943238,-1072548459,-1072503695,1009216489)+W(4,1041834894,-1093778092,1056090411,1043969626)+W(5,-1099992002,1057576575,1053907302,-1107563771)+W(6,-1120789532,1064181862,1058602971,1034348623)+W(7,1024916046,1051972140,1054786345,-1106961801);WS(-1075707047,1038147646); +sum1=W(0,1038492938,1050722763,-1095596015,1040870942)+W(1,-1115961531,1026800423,-1103730686,-1122935577)+W(2,1036899040,1055626176,-1091210886,1047700685)+W(3,1041066756,1052178217,-1090286882,1036539085)+W(4,1038870159,1027667391,-1094135001,-1102625947)+W(5,1045702796,1053246416,-1095582752,1048523811)+W(6,1022987667,-1100305296,-1109653838,-1105859960)+W(7,1044017707,1049962981,-1093296229,-1117734303);sum2=W(0,-1145353723,1027969677,-1115030411,1052090154)+W(1,-1113260796,-1095928859,1031463199,-1110261785)+W(2,-1112198364,1052169305,-1108227013,1041877601)+W(3,-1113367096,1052353113,1051016428,-1099630700)+W(4,1007958125,-1129450520,1041462653,-1087173862)+W(5,1047146251,1051473061,1045242344,-1102681887)+W(6,-1122974002,-1091037095,1032341221,-1095485390)+W(7,1021064313,1050393555,1020102815,-1111896409);WS(-1102302520,1068562064); +sum1=W(0,-1130894152,-1101486038,1044130034,1031789673)+W(1,1029216267,-1094978851,1029251017,-1102217970)+W(2,1029150351,-1104755260,1053252560,1042516209)+W(3,1029804895,-1093484995,1050941559,1040658618)+W(4,-1108054071,-1110271975,1036880709,-1113036417)+W(5,1046304488,-1106599349,1050863202,1041743615)+W(6,-1107326720,-1102131284,-1128083416,-1102226940)+W(7,1018120580,-1102274525,1047248574,1032422999);sum2=W(0,1019111797,1022527979,-1131519898,1029130971)+W(1,-1123809812,-1111065998,1023737355,-1117143513)+W(2,1006739898,1031759809,1045357020,-1106220344)+W(3,1041109085,-1095097056,1082939698,-1064938697)+W(4,-1126211453,1034613952,1027342607,-1122955245)+W(5,1028972357,-1107360163,1033832936,-1112280546)+W(6,-1118372569,1033659253,-1112248823,1032152906)+W(7,1025713585,-1118642675,-1118824157,1028082979);WS(1066566439,-1125753148); +sum1=W(0,1020091828,-1096367972,1038767583,1030663671)+W(1,1041951168,-1098758994,1048997640,1025331919)+W(2,-1130301450,-1093467737,-1130818632,-1108818909)+W(3,1052053147,-1089881409,1064063659,1044746920)+W(4,-1131231944,-1092544881,-1116991019,1022962726)+W(5,1033588155,-1098181717,1042770882,1041997189)+W(6,1009411772,-1110070786,1046860728,1018371147)+W(7,-1116682291,-1096392077,1027361773,1038578846);sum2=W(0,-1105507764,1019815533,-1136431769,1024962860)+W(1,-1149004498,1047279899,-1121679526,1041000955)+W(2,-1098298748,-1106660204,-1096656341,-1107413740)+W(3,-1115729482,1058550934,1058580319,1027135608)+W(4,-1094576030,1031191852,-1098228632,-1101441076)+W(5,-1111478010,1032716298,1041490224,1035067556)+W(6,-1129010369,-1117054989,1047791827,-1123460834)+W(7,1018600957,1019851909,-1106522387,1005788722);WS(1050996380,1066787661); +sum1=W(0,1042843177,-1109518091,-1098674409,-1112832565)+W(1,-1120310187,1043911830,-1097687209,-1133582755)+W(2,1033453959,1059519229,-1096304487,-1116528532)+W(3,-1107450543,1061971625,-1098011863,-1105396874)+W(4,1017862620,1051823058,-1095767039,1033796902)+W(5,-1134072575,1046601317,-1095249970,999923683)+W(6,1025308393,1042112788,-1098354285,1030029487)+W(7,1033769739,1046863997,-1098417599,-1109771063);sum2=W(0,-1103321099,-1087654445,-1098379129,1013739975)+W(1,1033376724,-1114493691,-1096458683,1015354012)+W(2,-1108916223,1049058628,1036368268,-1121134774)+W(3,1033194077,1065240604,1054396447,-1115257551)+W(4,1038197771,-1128335788,1049730119,-1129699908)+W(5,1032881798,-1094150295,-1108472207,1021079748)+W(6,1017830932,1006224046,1031462702,-1117224382)+W(7,-1138730935,-1112103411,-1102017203,1038189385);WS(1027314912,-1081149641); +sum1=W(0,-1109480125,1051429188,-1118844062,-1097611416)+W(1,-1114947760,1053252314,-1094077252,1034118735)+W(2,-1101195017,1058130398,-1113091794,-1104617542)+W(3,-1132100201,1061393767,-1085308129,1035982720)+W(4,-1103759537,1057940398,-1102037735,-1114189097)+W(5,1044342469,-1104522586,-1094497965,1036294793)+W(6,-1111893319,1055491172,-1103334896,-1128796810)+W(7,1051194426,-1120202825,-1094870250,1030785028);sum2=W(0,-1131039707,-1098833779,-1147567565,1035790053)+W(1,1024995350,-1124760267,1057070390,995065627)+W(2,-1104486127,-1078713050,-1091843304,1037354874)+W(3,1015537291,-1065942779,-1081156610,-1154356731)+W(4,1053996441,1047686732,-1094140189,-1107145709)+W(5,-1103676904,1084085461,1060423478,1026796886)+W(6,1047124046,1064521940,1046849692,-1108476011)+W(7,-1111129691,-1093915430,1018309905,1038591472);WS(-1081542375,1044780323); +sum1=W(0,1026864081,1046719985,-1098857847,-1114219435)+W(1,-1100303790,1054288460,-1108679899,-1104586877)+W(2,1048337215,1054459103,-1098101851,1041408644)+W(3,-1098110473,1048901488,-1093175556,-1098306531)+W(4,1054474587,1041639871,-1104037973,1046672715)+W(5,-1099969099,1034589376,-1107626335,-1104199322)+W(6,1023999910,1043694031,-1101510966,1022681657)+W(7,1028627178,1046235480,-1106600025,-1126646775);sum2=W(0,1017985090,1024212320,-1099849981,1067245211)+W(1,1027847194,-1098721130,-1081468176,1074345814)+W(2,1036519222,1050387030,-1070464929,1070597407)+W(3,-1113167123,-1094712479,-1096550174,-1088417301)+W(4,1037009826,-1100822056,1057690620,-1104880956)+W(5,-1113380621,1028269032,1042714784,-1102737214)+W(6,1031131596,1009055356,-1145638655,1000105719)+W(7,-1115360802,-1113841920,1046010973,-1112342255);WS(1059294542,1020616832); +sum1=W(0,-1157534552,-1096856701,1050532499,-1112831597)+W(1,1039080142,1044861738,1041652423,1046540791)+W(2,-1097783100,-1089052876,1057029426,-1098369827)+W(3,1031217968,-1085780263,1047119538,1040272239)+W(4,-1164216296,1044573672,1039715347,1024931118)+W(5,-1138897989,-1097342660,1043073721,-1103025619)+W(6,1026686634,1041475528,1040308239,1045404192)+W(7,-1105498094,-1105558033,1048391538,-1114523696);sum2=W(0,-1106291706,1040318024,-1114208076,-1142193319)+W(1,1001372950,-1105705183,-1116263519,-1145917455)+W(2,-1099590495,1045484852,-1108179199,1036599633)+W(3,-1093748925,1061316313,1049891427,-1108356360)+W(4,1015225205,-1098311584,1040668388,-1148092276)+W(5,-1105937891,1041085521,-1111581107,1032743264)+W(6,-1112612361,1028378294,-1115787941,1021281994)+W(7,995169980,1035732349,-1113959318,1024794158);WS(1059376718,-1137270291); +sum1=W(0,-1118257199,1043258576,-1114290826,-1112002778)+W(1,1037392427,-1106073464,-1124279079,1022160871)+W(2,-1097794403,1054680411,-1115190716,1045843716)+W(3,1035766677,-1099046488,1052189312,1011458515)+W(4,1026067385,-1088020070,1054691490,-1110958220)+W(5,1032186693,1041392887,-1097245116,1046761570)+W(6,-1108679762,-1113652045,1025610423,-1117145658)+W(7,-1139304576,-1111666975,-1123561026,1032305501);sum2=W(0,1025244035,1033595807,1016573022,1002397687)+W(1,-1122852568,-1087687504,1048825911,-1104089806)+W(2,-1092220395,1066421651,1058107887,-1130145014)+W(3,1038019467,1047700223,-1089540205,-1111655831)+W(4,1048072683,-1084925862,1045215493,1032935415)+W(5,-1113553750,1050883425,-1098430697,1015641098)+W(6,-1119930901,-1105555859,1041208433,1001885951)+W(7,-1139793711,-1146566911,-1124843514,-1131703250);WS(1058596686,1013962118); +sum1=W(0,1000024554,1052551424,-1088298614,1039656505)+W(1,-1127551432,1049056438,-1098656348,1034731345)+W(2,-1100000762,1057499982,-1090756927,1019232187)+W(3,1035333436,1036076760,-1097067922,1033429441)+W(4,-1122612871,-1127972943,1040213184,-1125045580)+W(5,1044766998,-1116046252,1015197910,-1113717771)+W(6,1041477861,-1118015335,-1123679237,1037833508)+W(7,1051562743,-1099275107,-1122278672,-1122272135);sum2=W(0,-1104434141,1048601996,1033271157,1004930429)+W(1,1029025211,-1091369704,-1119340081,1028438774)+W(2,-1078497608,1052827694,1025214064,-1106316897)+W(3,-1079110377,-1106615386,-1109539756,1034989376)+W(4,-1085502108,-1115334546,1050957039,-1108631008)+W(5,1066279808,1037382016,-1106594885,1023198169)+W(6,1062913146,-1122817088,1036274829,-1134348613)+W(7,1068620036,1048688798,-1118139306,-1139733884);WS(1044771128,1023341948); +sum1=W(0,-1156220044,-1092336191,1051560294,1036528391)+W(1,1034545464,-1098819215,1044146859,1029114797)+W(2,1033488922,-1096491302,1051910286,1022761170)+W(3,-1111313058,-1086850728,1045449190,1029767950)+W(4,1038420969,-1102939421,1053458817,1041877300)+W(5,1008511890,-1100928894,1038883707,1034675856)+W(6,1013986230,-1115524377,1012126018,1037411178)+W(7,1011084871,-1089482302,1046748951,1043196317);sum2=W(0,-1071004894,1076503146,1057610169,-1122913984)+W(1,-1080574884,1066884159,-1107351326,-1130255370)+W(2,-1089987082,1058011283,1054000347,1038970611)+W(3,1049506323,-1098882467,-1090234844,1014162118)+W(4,1065282653,-1084978169,1030898490,-1114000490)+W(5,1062249589,-1088626314,-1090230279,1022492087)+W(6,1060165079,-1082249713,1044380003,-1131621088)+W(7,1070844945,-1077734377,-1096516163,1013009282);WS(-1111817840,-1134998409); +sum1=W(0,1022731056,-1102901203,1029699069,1021112442)+W(1,1045262352,-1094315057,1052915216,-1107194439)+W(2,1044888721,-1085070720,1058770140,-1097785743)+W(3,1029818259,-1111793509,1057078063,-1117717150)+W(4,-1105915720,1055206544,-1095183540,1040740592)+W(5,-1114660906,1046806370,-1097451385,1036425016)+W(6,1027479949,-1123039746,-1112670352,1005586201)+W(7,991785104,-1136267423,-1114500629,1016465988);sum2=W(0,-1129690332,-1113356803,997943457,1015499837)+W(1,1030842707,1026318374,-1119512995,-1180561029)+W(2,-1123486113,1041923626,1037525758,-1144014736)+W(3,1054087898,-1089332833,-1088292904,1037328869)+W(4,-1105176966,1068558125,1040210770,-1107365912)+W(5,-1097205966,-1141184456,1050151959,-1114055561)+W(6,-1098021434,-1107728348,1018682892,1009592392)+W(7,-1106929221,-1104288342,1006954668,1013301204);WS(-1100650808,1043653943); +sum1=W(0,1038392637,1044290651,-1095199164,1033771919)+W(1,1032036848,1040683515,-1115398639,1038316223)+W(2,-1120772452,-1106266873,-1094097345,1042896310)+W(3,1043637149,-1090111931,-1097393337,1045751664)+W(4,1040259489,-1133467790,-1104941765,-1159203906)+W(5,1047398869,1044787930,-1101572298,1015063331)+W(6,1038054351,1023591523,1016760834,1030908740)+W(7,1050576478,1037223428,-1102689443,-1125005703);sum2=W(0,1018053796,1046306039,-1101305605,1031448374)+W(1,1000548496,1043541862,1029064982,-1112893849)+W(2,1049079603,1010667960,-1116813778,1021972628)+W(3,1039189619,1064529690,1038487223,-1105518867)+W(4,-1128574308,1047996002,-1100258391,1037842238)+W(5,-1118597354,-1087406141,1048794746,1033382833)+W(6,-1106984497,-1095617964,-1114392997,1021089548)+W(7,-1104543855,-1086946593,1045938007,-1140458600);WS(-1121537248,1047151836); +sum1=W(0,-1096325448,1052654400,1000450324,-1116556387)+W(1,-1113135282,1035132488,-1110395025,1023519458)+W(2,-1098188693,1046868890,-1139200797,-1111260975)+W(3,-1112146268,-1134150082,1049727010,-1110207458)+W(4,-1108791588,-1129891280,1041189572,-1104838938)+W(5,-1117696601,-1098847494,1056884317,-1098805187)+W(6,-1123869651,1032919412,1041128337,-1146298440)+W(7,-1114157115,-1107856679,1058220805,-1103148146);sum2=W(0,-1142864271,1043572739,-1125571574,-1107989855)+W(1,1021304865,1026011378,1028667063,-1140649559)+W(2,1043366966,-1102859954,1022196210,1020722946)+W(3,-1107584343,-1080136051,-1072538638,-1132367054)+W(4,1014758407,-1103597159,-1076945816,1041979768)+W(5,-1130465374,-1115654645,1048815254,-1126224006)+W(6,-1120740451,1046511165,1072551214,1027667511)+W(7,1000478551,1053224660,1074776028,1048839210);WS(-1086568910,969651201); +sum1=W(0,-1128189323,-1096064919,1047521403,1043461231)+W(1,1044154939,-1089612648,1054908701,-1099266659)+W(2,1043534732,-1084798775,1056987371,-1113308531)+W(3,-1114366976,1053159863,1057685165,-1152040120)+W(4,-1098469330,1053431542,-1089249613,1042761408)+W(5,-1101372520,1050787607,-1090701774,1049635020)+W(6,-1123038043,1036747448,-1105030179,1010635844)+W(7,-1132910587,-1116020373,1027268120,1018344000);sum2=W(0,1042932965,-1103892922,-1104364155,-1139842168)+W(1,-1103428495,1060495074,1060109323,-1118896922)+W(2,1039997403,1052448567,1064108701,991756114)+W(3,-1093583228,-1075640666,-1073056297,-1097481656)+W(4,1044856824,1057723154,1055665788,1040659602)+W(5,-1121819542,1057002090,1060503917,-1099984054)+W(6,-1177180368,-1112150955,-1116550688,1034919451)+W(7,1028413178,-1118134166,-1110515035,1041069777);WS(-1084093518,-1116656412); +sum1=W(0,1002008836,1058416208,-1096672513,-1112390467)+W(1,959481663,1026388179,-1109778819,1023428581)+W(2,-1104590931,1059097973,-1088144465,-1112632704)+W(3,1050696243,1042079029,-1096264126,1040470858)+W(4,-1106608235,1041679827,-1101432288,-1102954054)+W(5,1047962207,1049127990,-1100480244,1047012782)+W(6,1030562773,1031439243,-1113594772,-1112144502)+W(7,1015783795,1042535660,-1093923750,-1145396437);sum2=W(0,1007960967,1027407916,-1129957403,-1132155403)+W(1,-1110192070,1010716935,1018303319,-1121935910)+W(2,1049899326,-1097456083,1037417999,-1137993343)+W(3,1056650247,-1070859565,-1094713389,-1142796285)+W(4,1078512141,-1068241064,-1096379657,1039214170)+W(5,1081472440,-1079514242,1043613542,-1111213656)+W(6,1058404171,-1094427160,1025537830,1032528613)+W(7,999915485,1030657127,-1116925932,1024356221);WS(1052225948,1018668194); +sum1=W(0,-1120453498,1051775516,-1117579103,-1107074656)+W(1,-1123160289,1048325451,-1111291056,-1112742544)+W(2,-1108654867,1058214550,-1093397513,-1147977428)+W(3,-1104839613,1064670427,-1091445969,-1119335936)+W(4,1041378113,-1126638409,-1092047898,-1109154218)+W(5,1036965515,1049967085,-1099225050,1034167881)+W(6,1044186084,-1096299613,-1112850625,-1138567959)+W(7,1034438594,-1128237844,-1112057991,1019177609);sum2=W(0,-1121001958,-1117606942,-1103097305,-1130038396)+W(1,-1148685985,-1111847761,1021935234,-1112487949)+W(2,1018483434,-1120566718,1049895592,1038078839)+W(3,1021815720,-1076982600,-1081972918,-1125812992)+W(4,1049361594,1074852012,1051964198,-1152546434)+W(5,-1108634723,1048076514,1040925857,-1104919092)+W(6,-1132118692,-1102180777,1017568960,1026180028)+W(7,-1105580672,-1116866514,1040155911,-1123068468);WS(-1096382876,-1091051652); +sum1=W(0,-1116126267,1057278592,-1096000788,-1116910752)+W(1,-1113197617,1048826126,-1097274020,-1140807037)+W(2,-1112424211,1058810754,-1088739494,1039925053)+W(3,-1124324715,1056304110,-1091311905,-1132679170)+W(4,-1136579346,1041995897,-1114916522,-1107191661)+W(5,1040875430,1016295122,1038826452,-1119450067)+W(6,-1113905512,1024916389,-1128507781,1023437062)+W(7,1017323784,1042534003,1017648027,-1098370349);sum2=W(0,-1120311657,1025682064,1036682152,-1108273289)+W(1,1036113080,-1107470193,-1108061877,1012612647)+W(2,-1109045199,1035621932,1051542033,-1101063214)+W(3,1029662296,-1118009189,-1101792442,-1076098595)+W(4,-1122358251,1045290388,-1093646778,-1080861029)+W(5,-1114085873,1009830751,1056395710,1039398973)+W(6,1016737279,1035169596,-1091719234,1065137390)+W(7,-1115835645,1030264440,1052430993,1072502688);WS(1040082544,-1114755812); +sum1=W(0,1017784372,-1110974758,1040296296,1024480479)+W(1,1037505264,-1108514902,1041424680,-1104471944)+W(2,1045745417,-1095324708,1054913780,-1106439461)+W(3,1019379817,1052579502,-1106396419,-1115066496)+W(4,-1109308706,1058051822,-1087512533,1040857799)+W(5,-1124056118,1046163210,-1093666877,1001482384)+W(6,1025470519,1038459986,-1106674096,995688529)+W(7,1039469090,998280780,-1109356390,-1108404770);sum2=W(0,-1162396366,1045315846,1034748092,1035646876)+W(1,-1117720653,-1118054954,1034773210,-1100298043)+W(2,-1104226850,1057942904,1043388435,-1097646834)+W(3,-1105580348,1059476362,1067689202,-1093789486)+W(4,-1105643813,-1090022037,-1083232471,1040357620)+W(5,1031813906,1045409162,-1101262587,-1113573448)+W(6,1011045214,-1106412098,-1124577575,1012935222)+W(7,1018164327,1023977529,-1102021751,1024454049);WS(1036525168,-1082462584); +sum1=W(0,-1116308971,-1085123800,1057675329,1019612704)+W(1,1037298441,-1087372070,1051660338,1027541711)+W(2,1027885589,-1086414101,1059597873,-1109257541)+W(3,-1122874917,-1096064460,1059581688,1041073820)+W(4,-1154089797,-1099879381,1052784510,1028059367)+W(5,-1108384819,-1104319094,-1117339864,1045372305)+W(6,1028179743,-1127380522,1039251609,1031554934)+W(7,1003463273,-1096394215,-1110971807,1053758651);sum2=W(0,1060691160,-1081285622,-1080809247,1052276353)+W(1,-1103295177,-1090050073,1050684042,-1106187369)+W(2,1035985281,-1102851017,-1087522637,1048638013)+W(3,-1085964582,1072728426,1060852217,-1090587145)+W(4,-1105398566,1060511611,1058511518,1029176048)+W(5,-1107551093,1033954581,1041242888,-1094879840)+W(6,1049030608,-1086630634,1028348456,1046256182)+W(7,-1090293163,1058069039,1062481845,-1087039462);WS(-1074352935,1040600857); +sum1=W(0,1042034194,1057627204,-1090157751,1024364622)+W(1,1028652336,1025049468,-1105875707,-1105990299)+W(2,1024054004,1057567995,-1088931067,1048022018)+W(3,1030695172,1022098295,-1095088235,-1100928004)+W(4,1029627411,1052602222,-1094832321,1049957878)+W(5,-1117605317,1039437212,-1104356174,-1095846092)+W(6,-1114002447,1049556590,-1107260676,1047165477)+W(7,1041624512,1053416947,-1101255271,-1098759166);sum2=W(0,-1075440350,1073165865,-1112383192,-1148975848)+W(1,-1079714919,1065983198,1048707236,-1115591486)+W(2,-1079134350,1068716226,-1135853868,1038054064)+W(3,-1081735031,1066499710,-1098543278,-1125971282)+W(4,1055569671,-1095308006,1021808504,1040311395)+W(5,1066585571,-1080754250,-1108920844,-1110109816)+W(6,1071644179,-1074800849,1050977418,1035370814)+W(7,1075476470,-1073191304,-1090378667,-1120408347);WS(1041022776,1033480094); +sum1=W(0,-1132576057,1026327841,-1110434490,-1119031508)+W(1,-1123321429,1042302896,-1109312954,1021323174)+W(2,1028959481,1052457903,-1089918670,1029242558)+W(3,-1104176578,1063677500,1025377120,-1118638740)+W(4,1046472198,-1097607903,-1090934974,1013298461)+W(5,-1121060138,-1123802109,1046523967,-1106699146)+W(6,1027556403,-1118671609,-1112257611,1030036314)+W(7,-1115611836,1039698959,1000531209,-1116635705);sum2=W(0,-1106027239,1049930690,-1110218398,1034564779)+W(1,-1122286155,-1127267122,-1108798456,1018367610)+W(2,-1102546078,1041115945,1058786995,-1095860458)+W(3,1055155948,-1091935564,1075372513,1043590800)+W(4,-1096754888,1052250618,-1071163371,-1112711414)+W(5,1032068992,-1103388917,-1123143101,-1119323979)+W(6,-1121774513,1038737216,-1121707895,1016553114)+W(7,1036170969,-1108790214,1032355550,1017858173);WS(1055618972,-1117202987); +sum1=W(0,1030962480,1039894129,-1101932469,1031993659)+W(1,-1101414710,1053882576,-1089999221,1048656807)+W(2,-1098100923,1057347458,-1085784352,1043352452)+W(3,-1111740150,1049814740,1051098296,1031031542)+W(4,1036980413,-1090053902,1056052448,-1104607674)+W(5,1041005827,-1088233382,1051763396,-1119077705)+W(6,1021681163,-1105970903,1044301630,1022017143)+W(7,-1112834597,-1117339136,1032801282,1039235901);sum2=W(0,-1114659327,-1101541229,-1107338771,1039378885)+W(1,-1123577690,1043634319,1057974128,-1111523166)+W(2,1042921002,1066882360,1050113378,1040130625)+W(3,-1105097716,-1077668162,-1080704784,-1104122760)+W(4,1042773509,1037629509,1051155360,1012227066)+W(5,-1093975266,1058638399,1052705661,-1110420726)+W(6,1032061179,-1108208741,1008396554,-1125218199)+W(7,1000405669,-1131856909,-1111189711,1025207949);WS(-1091387548,-1116324289); +sum1=W(0,1026642697,-1112220622,1049897926,1027958127)+W(1,1044682252,-1093973688,1047211372,-1098544270)+W(2,1041967213,1046046637,1050365286,-1112662293)+W(3,1032214050,-1086442024,-1112122925,-1106755108)+W(4,-1131062694,-1099996941,1046223135,-1116559746)+W(5,1015214154,1053177927,-1132096750,1034258897)+W(6,-1137069945,-1098783494,1024489425,-1111108842)+W(7,-1110158325,1037567917,1042021623,1031638516);sum2=W(0,-1108095393,1011776651,-1101257730,1019145070)+W(1,1016776222,1024100809,-1105403134,1032882678)+W(2,977935538,-1097248934,-1101986254,-1124027994)+W(3,-1122468710,1057627889,1060632600,-1103033100)+W(4,1019959206,1042194141,-1090719303,1039533068)+W(5,1030099429,-1117226417,1037412790,-1110127978)+W(6,-1104930054,1051928720,-1109292621,-1125661478)+W(7,1002749526,1041814459,-1115385474,-1108291818);WS(1057965518,-1118811194); +sum1=W(0,-1104352985,-1106566686,1052732873,-1107147458)+W(1,1038892389,-1112643723,1003767366,-1114250980)+W(2,-1105058276,1026830542,1060358287,-1096574819)+W(3,1042490232,-1091938531,1019887594,1048844541)+W(4,-1121521774,1058056073,-1118338013,1024329053)+W(5,-1099594944,-1101314965,1042464324,-1107780158)+W(6,1033536020,-1098044778,1024562028,1032778872)+W(7,-1095161930,1039936570,1046000094,-1107207172);sum2=W(0,-1116205334,993944814,1032713731,-1106373772)+W(1,1042905425,-1113078065,-1104977559,1039619019)+W(2,-1109155755,1044406596,1048672381,-1115343154)+W(3,1044205280,1040105843,-1104277422,1048332350)+W(4,1035597621,1043112037,-1103087244,999501191)+W(5,1008636092,-1123380436,-1153474446,-1106439836)+W(6,1036458751,-1105268129,1015784078,1021528398)+W(7,-1092853308,1005260887,1036094123,-1106473413);WS(1053420700,1049909457); +sum1=W(0,-1115258034,-1106165874,1050401361,-1113250117)+W(1,1034071238,-1089903413,1041332866,1023742249)+W(2,1027276239,1036166247,1049384898,-1130552842)+W(3,-1115686559,-1100423414,1037380859,-1120158506)+W(4,1041096236,-1093491554,1052388787,1037333727)+W(5,-1102788144,1049835542,1034784425,-1103514783)+W(6,1034068157,-1095323722,1031952854,1037170040)+W(7,-1107460367,-1110396954,1050882791,-1114330639);sum2=W(0,-1112500393,1024557142,-1136367764,1020782048)+W(1,1028289272,-1165623582,1035333264,-1122738507)+W(2,1049127312,-1095250820,-1114028070,1025362120)+W(3,1086771603,-1062269001,-1087155359,1034731082)+W(4,1048088739,-1095068995,1022077560,-1125007838)+W(5,1020087240,999933935,1034746908,-1120796207)+W(6,1014851096,-1135945992,-1120864651,1026594640)+W(7,-1146529543,1025716258,-1127622484,-1128255426);WS(1063806286,1027083983); +sum1=W(0,-1114823180,1045480194,-1118427516,-1109705966)+W(1,1030313470,1039206373,-1106496703,1020453816)+W(2,-1111791457,1061885616,1010686340,-1103432478)+W(3,-1111977289,1050451993,-1083830979,1039658735)+W(4,-1108043857,1057912708,-1099420545,-1114670584)+W(5,1019729830,1036575619,-1105267089,-1109909656)+W(6,-1114640622,1039765761,-1131920190,-1113587473)+W(7,1033983240,1034424532,-1125840468,-1112770081);sum2=W(0,1033978022,-1122290634,1016780797,-1164938552)+W(1,-1100194899,-1091664523,-1103111994,1002490582)+W(2,1033701105,-1071413373,1047766898,-1105595809)+W(3,1050426550,1075108998,-1096749849,1051489664)+W(4,-1104028404,1062092502,1027350687,-1108336227)+W(5,1034191613,-1103668501,-1131589290,1021076655)+W(6,-1141130302,1034149895,-1131724600,-1149103768)+W(7,1010895851,-1140709165,1027888251,-1131210373);WS(1058288590,1045994186); +sum1=W(0,1018135640,-1093342072,1052167946,1038262801)+W(1,-1123855059,-1096797372,1041780692,1015346466)+W(2,1040223430,-1086390197,1052872019,-1132654257)+W(3,-1112801779,-1105293320,1059840396,-1134794696)+W(4,1036317947,-1091216419,1051866430,-1117665797)+W(5,-1098800665,-1117054299,1050341107,1012611090)+W(6,1034707665,-1096209979,1048652350,-1139713758)+W(7,-1096517871,1023470716,1050625648,1010858330);sum2=W(0,1041114210,-1099008397,-1123917868,-1125418381)+W(1,-1099284356,1047276236,-1111523652,-1120564910)+W(2,1038292116,-1081084758,1037708884,1020505319)+W(3,-1092208278,-1071665325,-1086778305,-1100128811)+W(4,1054381469,1054365119,-1101037019,1024474915)+W(5,-1104534119,1081581342,1026238413,-1125603475)+W(6,1025804573,1062322644,-1134916894,1025011807)+W(7,1033400256,-1093538640,1052085127,-1103707544);WS(-1088887374,1070119449); +sum1=W(0,1040460421,1052058645,-1090595183,-1105506686)+W(1,1041554590,1048371361,-1115426747,1029097335)+W(2,1013850612,1048732808,-1094790815,-1129317061)+W(3,1038262022,1042754705,-1087902678,1001782464)+W(4,1042710919,1047384127,-1106656361,1038072126)+W(5,-1106869091,1054439312,-1090477876,-1131475029)+W(6,1044864290,1032508990,-1122940954,1028935005)+W(7,1046057615,1042772520,-1091795237,-1119515740);sum2=W(0,1024604999,1056461606,1071685965,-1075212110)+W(1,-1112923336,1030035123,1066713447,-1080779344)+W(2,1027433809,1050727550,1068313262,-1078194918)+W(3,1025504127,-1090534096,1028028856,-1153515923)+W(4,1007245204,-1105339223,-1081367671,1068056044)+W(5,-1144581942,-1095507508,-1078816510,1069903211)+W(6,-1129047399,1043793174,-1081156501,1064173276)+W(7,1021294865,-1095638178,-1090770344,1060536751);WS(1040470840,1011790950); +sum1=W(0,1015095158,1043725275,-1105535856,-1108386992)+W(1,-1120734562,1051465082,-1108441440,1030149375)+W(2,-1116691398,1058372660,-1095343471,-1112701741)+W(3,-1118217942,1055309890,-1081260869,1026499745)+W(4,1019898057,1046636817,1047492563,1032201014)+W(5,-1123629847,1044874098,-1093096561,-1115283258)+W(6,1034607368,1043010193,-1105294873,1028457510)+W(7,1041822001,1040878843,-1106259483,-1112399171);sum2=W(0,1022830461,-1117997331,1037270083,1023767946)+W(1,1021246145,-1110014342,-1125616185,-1130403951)+W(2,1015115055,-1111993293,1044158772,1025796328)+W(3,-1114703004,1036613835,1073620398,1050812248)+W(4,-1120910531,1023720090,-1076883688,-1112499600)+W(5,1015720307,-1117604953,-1087890801,1028283916)+W(6,983370825,-1120463052,1025754476,-1104874229)+W(7,-1123770073,1036937497,-1113287589,1033737696);WS(1058309838,-1101980246); +sum1=W(0,-1118965337,-1110907254,1038642111,1028903966)+W(1,-1098779704,1049643561,1038999679,-1108240479)+W(2,1049071256,-1081904943,1054751182,1040887994)+W(3,-1113399754,1042163763,1056093093,-1118832415)+W(4,1026571427,1052138696,-1083956910,1046797612)+W(5,-1110569018,-1106220306,1050507993,-1104697276)+W(6,-1131332475,1025191299,-1146247429,-1123883748)+W(7,-1128371676,-1129449041,1030864044,1017502086);sum2=W(0,-1137655511,-1111106723,1035105104,-1112318930)+W(1,1043191716,1033166752,-1112822728,1027572041)+W(2,-1121349336,1033268708,-1104857525,1035699332)+W(3,-1097517035,1052576386,1055574555,-1097542777)+W(4,1046822141,-1107318253,-1114990789,-1110157019)+W(5,-1129223371,-1102887232,-1121581721,1031007843)+W(6,-1116759551,1040601750,-1152414880,-1157281192)+W(7,-1124684976,993535634,-1107957817,1025775603);WS(1063710542,-1111213649); +sum1=W(0,1039559517,1052251350,-1101160384,-1113889808)+W(1,-1110192145,1049489370,-1097695264,1031901152)+W(2,-1107309859,1058328276,-1093740712,-1104513406)+W(3,-1118762901,1061120005,-1096321197,-1097003636)+W(4,-1108199122,1049656673,-1097289639,-1112381384)+W(5,1037245627,1033876357,-1114972772,-1176476024)+W(6,-1139769966,1041987905,-1102516745,1022802380)+W(7,1035326852,1045428971,-1103522251,-1115185874);sum2=W(0,1026803387,-1115186477,999853755,-1112425236)+W(1,1021750253,1031459540,1031446318,-1106593609)+W(2,1040812059,-1116326399,1058720440,-1086524651)+W(3,-1107480079,1040651083,1071698983,-1075753828)+W(4,1041131835,1020594503,1051128601,-1096266051)+W(5,-1115082464,1033768858,1034660038,-1108942599)+W(6,1006187407,-1132516997,1027131696,-1123360193)+W(7,1001155939,1015478283,1041372466,-1104453127);WS(1039772272,-1082982873); +sum1=W(0,1039127452,1049032497,-1098139952,-1155633625)+W(1,-1106264016,1053169593,-1088020664,1043520647)+W(2,-1104546353,1060522592,-1087153807,1040400554)+W(3,-1145518233,1056693961,1038834197,-1139907193)+W(4,1041713673,-1095982984,1053429837,-1104883452)+W(5,1044410893,-1088607916,1048228018,-1103034636)+W(6,1039725795,-1099512929,1030077856,-1134131855)+W(7,1007790526,-1120546088,-1130616150,1012687882);sum2=W(0,1032987173,-1092902636,1027660911,1032111389)+W(1,-1102803435,1037122437,1039508875,-1101516234)+W(2,-1097110538,-1083842457,-1115097563,1001644292)+W(3,-1101871105,1067610414,1067552095,-1104358647)+W(4,-1101555589,1033006847,-1096151174,-1145661076)+W(5,-1123533577,1041814167,1026567371,-1104681426)+W(6,-1098769512,1045724867,-1107225085,1020958965)+W(7,1048796624,999019252,-1105667947,1028203943);WS(-1101412664,1073047832); +sum1=W(0,-1113880945,1059007377,-1091904865,-1133362719)+W(1,-1123950537,1047579477,-1097814305,-1131741454)+W(2,-1109995975,1060416389,-1087199740,1032803377)+W(3,-1123565085,1056063051,-1092124214,-1113780884)+W(4,-1123728428,1046383171,-1099567891,-1113889390)+W(5,1035385983,1040643140,1038341800,-1126485237)+W(6,-1115318676,1033389702,-1119557930,1012558775)+W(7,1010675502,1041003725,1042882861,-1096461162);sum2=W(0,1013686761,1030949359,-1109223248,-1132915573)+W(1,-1123503757,1039110679,1035635962,996209923)+W(2,1035262859,-1105775253,-1106751414,1029135163)+W(3,-1115490710,1027204409,1057425426,1070858778)+W(4,1025861040,1019519396,1043312829,1067133266)+W(5,980681483,-1111394964,-1098000154,-1098902818)+W(6,-1125276038,1024413043,1051287795,-1083268694)+W(7,-1129892230,-1126757058,-1103421662,-1073095921);WS(-1103532344,-1105840701); +sum1=W(0,-1106756472,-1105825052,1050195304,1044840709)+W(1,-1106322913,1053932942,1007328528,-1104890465)+W(2,1029810954,-1086676361,1057202097,-1144507642)+W(3,-1096389739,-1098358914,1054492326,-1098185309)+W(4,-1116067305,1054020609,-1093369370,1032208700)+W(5,1035916925,-1096691570,1012599092,1048715303)+W(6,-1105566449,1051257001,1027855335,-1100267787)+W(7,1034505108,1026552303,-1101687900,1050640157);sum2=W(0,-1111707317,-1101137684,-1116414033,-1103752872)+W(1,-1119262447,-1109186725,-1107841286,1034593530)+W(2,1037989791,1049211868,1056722210,-1110917586)+W(3,1056036881,-1099242284,-1094543747,1049861706)+W(4,-1105645897,1038198606,1053421235,1030171051)+W(5,1006194414,-1118866635,-1104714858,-1103907620)+W(6,-1146663095,-1109483964,-1120693058,1032413269)+W(7,-1129479912,-1114787638,-1115357885,1029169157);WS(1045178680,-1115117954); +sum1=W(0,-1102680211,1048681528,1019008549,1008490315)+W(1,-1123018420,-1113607536,1040296293,1012835273)+W(2,-1116849368,-1092105355,1035615004,1027033246)+W(3,1024407336,-1093530556,1061339424,-1128145511)+W(4,-1107241006,-1096193779,1057711678,-1103222073)+W(5,1026392201,-1102060551,1055864515,-1110547491)+W(6,-1107918421,-1102337510,1045891981,-1110097884)+W(7,-1123314455,-1095199752,1052562824,1020395952);sum2=W(0,-1108321996,-1096948503,-1112108000,1026091852)+W(1,-1115537892,-1104693583,-1112710060,1022753169)+W(2,-1106228104,1047339287,-1126080161,-1120501740)+W(3,998645667,1055675007,1051246853,-1105262859)+W(4,-1112292909,1049114511,1041989299,-1123292948)+W(5,1035781218,-1100682049,1025978716,-1139782977)+W(6,-1111036660,1032758858,1034053890,-1111667328)+W(7,1018530825,-1113969306,-1113712936,1033000622);WS(1044590904,1058699692); +sum1=W(0,985175380,-1092606720,1051210502,1009220799)+W(1,1034192409,-1090621088,1050384326,-1109361592)+W(2,1020554347,-1093618783,1055009987,-1117059707)+W(3,1024014533,-1113905855,1062574818,-1128567457)+W(4,-1115433194,-1096920415,1054554325,1015981863)+W(5,-1128687821,-1112503613,1031218808,1039114097)+W(6,1008304190,-1100279725,-1105751509,-1127205548)+W(7,-1115445028,-1101027255,-1144235755,1035507338);sum2=W(0,1036009101,-1108619644,1010492213,-1131279719)+W(1,-1117283755,1041337919,-1100684466,1035041542)+W(2,1033667347,1012813669,1015579759,-1124020763)+W(3,-1107239966,1053310286,1056064408,1025470531)+W(4,1034685217,-1103814148,1050883237,1032198922)+W(5,-1128406639,1029066827,-1113069964,-1104788458)+W(6,-1123321687,-1109499964,-1098878001,1024066141)+W(7,-1125402335,-1123197815,-1096911819,-1108347132);WS(1044030776,-1089132931); +sum1=W(0,1034269487,-1093699058,1045160768,1040395197)+W(1,1032883970,-1097458090,1050995424,-1135242887)+W(2,1042439154,-1086092656,1057188990,1040422743)+W(3,1044751430,-1078975458,-1096290982,1048952172)+W(4,1019707982,1035194756,1032938655,1042217766)+W(5,1041434446,1038040390,1043682915,1043586045)+W(6,-1133288904,-1131544335,1022768458,1029073256)+W(7,-1128708109,-1101499019,1043305900,1044718778);sum2=W(0,1043294282,-1107262777,-1132728616,-1112978295)+W(1,-1127265324,-1107127922,-1133435576,-1101649503)+W(2,1035036911,1048700262,-1115280193,-1142433873)+W(3,1051203976,-1114081637,1060204569,-1138065032)+W(4,-1092441683,1027047222,-1096051714,1049542158)+W(5,1037063919,-1087538045,1059699424,1027406094)+W(6,-1095318743,1043898666,-1091030613,1036599707)+W(7,-1096741875,-1114635611,1057805441,-1117298502);WS(-1083489614,-1078579141); +sum1=W(0,-1113694287,-1091060438,1048678744,1022130309)+W(1,1048897616,-1104759380,1055607032,1045345264)+W(2,-1104500498,-1089217572,1025763911,-1098656951)+W(3,1029397720,-1096433234,1056656214,1045280313)+W(4,1039983475,-1090900481,1055730826,1003335600)+W(5,-1099529286,-1103761763,1039576037,-1104729181)+W(6,1047818144,-1126261903,1050842685,1045845834)+W(7,-1100400745,-1098862766,1044462332,-1124798927);sum2=W(0,1034867092,-1113896283,-1089397746,1053130734)+W(1,1036831152,1008734783,-1143881728,1048547317)+W(2,-1155378720,-1107821706,-1090933436,1050664536)+W(3,1050005016,1036439980,1067046868,-1081990202)+W(4,-1109019109,-1105188391,1074023168,-1073616958)+W(5,-1107857756,-1103852014,1073004488,-1073650181)+W(6,1025727369,-1113326142,1071596064,-1078582463)+W(7,-1105627363,1036502992,1068047188,-1079035066);WS(-1123566816,-1118788492); +sum1=W(0,1034266605,-1131696345,-1102436480,1029920799)+W(1,-1136553988,1054570946,-1101485920,1027694719)+W(2,1032767842,1043367745,-1093672570,1029228634)+W(3,-1119057557,1057910725,-1081257723,1038070160)+W(4,1032596498,1051309065,-1104247863,1041012541)+W(5,-1138237144,1050053561,-1097237249,-1104490509)+W(6,1034235800,1044754161,-1100737384,1036672371)+W(7,1038972738,1047609962,-1118734125,-1101643609);sum2=W(0,1001205015,-1108935456,-1123729961,-1151981614)+W(1,1006355343,1048575251,1037564428,-1123825361)+W(2,1030505158,-1114918170,-1096130861,1015236500)+W(3,-1119701641,-1088419213,-1068662368,-1095410362)+W(4,1039794598,1032736312,1076967646,1049774729)+W(5,-1107202062,1045905661,1068403675,-1105335733)+W(6,1026836118,-1116946341,-1104305708,1050153445)+W(7,-1115440174,1003805295,-1124006983,-1103176791);WS(-1103567160,1051728620); +sum1=W(0,1022317012,1037463598,-1094952698,1033922872)+W(1,-1105517764,1027268637,-1107670055,1024776175)+W(2,-1109296554,1052072875,-1103880757,1038888053)+W(3,1030946149,-1094107172,1052944567,1043766492)+W(4,1032988986,-1087396213,1057943536,-1110506946)+W(5,-1117957958,-1098739651,1052382091,-1108829569)+W(6,1025729823,-1104965205,1036164793,-1132271979)+W(7,1009731405,1017302004,1041821631,1015545129);sum2=W(0,1031290011,-1127050317,-1113481669,-1080536402)+W(1,-1114551402,1026829489,1042490649,-1076466135)+W(2,-1137203270,1032334734,1043198364,1038797044)+W(3,1025723227,-1098446681,-1127701979,1074254195)+W(4,1020823723,1041359246,1057793899,1035340712)+W(5,-1107112701,1041376772,-1100591458,-1118262367)+W(6,-1156747895,1034398482,-1114292550,1013380262)+W(7,-1140368490,-1104694439,1037536680,1032104302);WS(-1106439480,1029090439); +sum1=W(0,1034559195,1042655458,-1102396839,1026400220)+W(1,-1151887836,1030625962,-1115609614,1035325646)+W(2,1020849475,1059377738,-1089162129,1042909598)+W(3,1042053132,-1084013087,-1083731653,1039293086)+W(4,1043127920,-1107145304,1052971191,1029716960)+W(5,1043814293,1032281331,-1107154457,1024778063)+W(6,1037260390,1040913704,-1113717087,1028666946)+W(7,1043715864,1033172451,1017680531,-1130742978);sum2=W(0,-1129107524,1021999108,1022835844,-1129901940)+W(1,-1123636938,-1148550480,1016982596,-1140398984)+W(2,-1116921954,-1104180688,1016773924,1030858450)+W(3,1035143287,1058583951,1054454385,-1117386658)+W(4,1036996009,-1112895549,-1097314323,-1108156993)+W(5,1026655402,-1116180274,-1099699990,-1118751234)+W(6,-1117010042,-1131502740,-1132536424,1016259828)+W(7,-1126794884,-1138164712,-1129763396,-1117013506);WS(1048151864,1059242544); +sum1=W(0,-1122367849,-1097114939,1043794348,1026875087)+W(1,-1121466768,-1097911384,1033810391,1014185912)+W(2,1042165293,-1085899247,1063564267,-1106211614)+W(3,-1116044868,1042506911,1042284551,-1111561384)+W(4,-1105437493,1056857214,-1089674786,1040868541)+W(5,1037358179,-1105063934,1049648847,1028107682)+W(6,-1125163356,-1123578292,1021855394,-1111395274)+W(7,-1111398955,-1106114902,1045389303,1010402126);sum2=W(0,-1139648101,-1110557326,-1106733442,1039330638)+W(1,-1108856547,1041627874,-1106727608,987619817)+W(2,1015236663,1032833232,1048813377,1025349119)+W(3,-1095822659,1054902128,1055403310,-1095503796)+W(4,-1137977893,-1098765424,-1097123375,1050144719)+W(5,1038373686,-1121592121,1045561320,-1108448514)+W(6,1015865663,-1106594443,-1106386080,1041979856)+W(7,1025690243,-1117564251,1017823319,-1105901385);WS(1058511566,1043187024); +sum1=W(0,1042620242,1041476871,-1106861387,1043942651)+W(1,1027981614,1044640335,-1120607404,1040914531)+W(2,1037513401,1039039385,-1101062960,1040902562)+W(3,1050564856,-1085132912,-1089194338,1048598306)+W(4,1040390932,-1095196494,1032203084,1019897185)+W(5,1044188393,-1116362934,-1134658518,1032634704)+W(6,1032851398,-1107832665,1026497359,1027555603)+W(7,1043046140,-1105825814,-1105488567,1032742569);sum2=W(0,-1094808435,-1083260450,1041967320,1026111290)+W(1,-1132385524,-1089624726,-1102801635,1034887813)+W(2,-1110994277,-1098133391,1050258559,-1123786474)+W(3,1039748829,1063143581,1037743779,1033106845)+W(4,1038866141,1043371703,1048943341,-1110363077)+W(5,1012861192,1040218148,-1112998265,-1121754906)+W(6,1030487914,1012758152,1031702418,1012203560)+W(7,-1132742376,1052570990,-1105604919,-1111765769);WS(-1087236686,1061665912); +sum1=W(0,-1115274057,1023071688,-1107980923,-1119301463)+W(1,-1116162424,1030200068,-1101866270,-1128116268)+W(2,-1104461343,1054050807,-1092884195,-1109238785)+W(3,-1093387666,1067462106,1056570668,-1095571507)+W(4,-1113556238,1050597447,1044256537,-1103733247)+W(5,-1115159031,1031104576,-1106234576,-1111522325)+W(6,-1126942285,-1121547516,-1128835891,-1111458030)+W(7,-1121543315,1042315272,-1114796114,-1109780718);sum2=W(0,-1127633710,1024134807,-1114424195,-1109129714)+W(1,1024854732,1020748524,-1098546148,1025355297)+W(2,-1123781128,-1117094752,-1079772750,-1102118069)+W(3,1040493279,1065417820,1059484680,-1114766469)+W(4,-1105896535,1047826025,-1107504040,1033237727)+W(5,1033983514,-1102101577,1049649199,-1154145757)+W(6,-1122459292,1040101538,-1105983778,1012710689)+W(7,-1120616672,-1124130304,1041220419,-1123999628);WS(-1092106140,-1084163121); +sum1=W(0,1036347305,1049849489,-1101083230,-1106738110)+W(1,1016904817,1040213041,-1152694122,-1115216475)+W(2,1034414494,1056746079,-1083169173,1039797369)+W(3,1040590819,1048812489,-1107117385,1022569263)+W(4,1047670567,-1084779712,1051667767,-1112982247)+W(5,1030378702,1040726752,-1109066592,-1125038036)+W(6,-1114654031,1033236350,1024925978,1025136605)+W(7,1037868673,1034988241,-1107106473,-1146668256);sum2=W(0,-1144361879,-1111008682,-1092072719,1021883158)+W(1,-1128843246,-1134810723,-1121102479,-1116668390)+W(2,1005924247,1041181160,1045581242,-1109114373)+W(3,-1104940693,1054697191,1046555600,-1113715104)+W(4,-1123234701,1052731012,-1103970223,-1128555074)+W(5,1030348431,1042931729,-1104348933,1032936433)+W(6,1032437115,-1112071203,-1113690885,-1136719027)+W(7,1024671661,-1111460488,-1129885552,-1114960949);WS(1058637774,-1109876822); +sum1=W(0,-1123254812,1042623060,-1126486401,-1112485473)+W(1,1041301297,-1105094644,-1111052512,1037949088)+W(2,-1108082435,1059472952,-1094910408,1016105496)+W(3,-1113241451,1043969956,-1094009726,1038892497)+W(4,-1110973875,-1113269955,1058531737,-1093047519)+W(5,1027216056,1026816394,-1100061186,1032398170)+W(6,1014894339,-1130602892,1032486130,-1128303438)+W(7,1019588394,1026167148,-1117291247,1021704844);sum2=W(0,1019183838,-1103677237,1041385745,-1115238116)+W(1,1031923668,1026573624,1025625867,1024201143)+W(2,1049015983,-1101357077,-1095136476,1024442030)+W(3,-1096362417,1060010174,-1096248497,-1122837727)+W(4,1005830618,-1122620605,-1115221092,1034369966)+W(5,1036998273,-1106684685,1049273019,1031554545)+W(6,-1119396253,1023743335,-1112424814,1004099770)+W(7,-1125844722,970656667,1011280453,1010302645);WS(1068382951,-1145853862); +sum1=W(0,-1109092968,-1104283584,-1126224104,-1142984099)+W(1,-1120835030,-1104742016,1048835390,1035504970)+W(2,1015957108,-1087137628,1060142968,1044651720)+W(3,1033165317,-1082841532,1050512116,1036256010)+W(4,1015780402,1048723479,1050625794,1040271692)+W(5,-1098982451,-1119342334,1046183055,-1112268532)+W(6,-1106789039,1037068029,1033167819,-1115364877)+W(7,-1105810191,998682871,1042826568,-1113754717);sum2=W(0,1042289605,-1105845074,-1105090355,1041479887)+W(1,-1123754179,1032442894,-1106552079,1028813354)+W(2,1040865617,-1090127653,-1075116096,-1087510643)+W(3,1025996190,1055606718,1073431719,-1084272058)+W(4,-1100913998,-1104101067,1067916428,1045036562)+W(5,-1118459936,1026136504,1042119939,-1131666845)+W(6,-1114401734,1031986833,-1112990087,1021173748)+W(7,-1118182115,1045409779,1031635830,-1131440550);WS(-1115823328,-1115141930); +sum1=W(0,994860217,-1096937968,1034643656,1022968545)+W(1,1043355533,-1093401724,1045563268,-1100277972)+W(2,1046651158,-1082957735,1056739037,-1106135459)+W(3,1031967699,1057829358,1053028032,-1113373017)+W(4,-1112906011,1054780763,-1085595451,1036473238)+W(5,-1139800861,1049387203,-1100812438,1042166401)+W(6,1032268536,1029694230,-1112691098,-1109328859)+W(7,1021673189,1032667294,-1163065290,1026417494);sum2=W(0,1041009418,1006794492,1023178506,-1126244586)+W(1,-1106230161,1034312638,-1120362931,1021996758)+W(2,-1113994011,-1108126219,-1105213924,-1131146954)+W(3,-1100787264,1060460225,1054015707,997147503)+W(4,-1102450993,-1119222967,1053508358,-1107185372)+W(5,-1114680808,-1097084093,-1133314452,-1126416406)+W(6,1031764893,-1125377404,-1141774536,-1126617106)+W(7,-1145068408,-1105852265,-1120752408,-1131039214);WS(1044911928,1063248560); +sum1=W(0,-1117210934,-1089987573,1050931427,-1154913199)+W(1,1045807559,1006551364,1049202419,1049427019)+W(2,-1116245664,-1085623154,1044690392,-1098224261)+W(3,-1122601008,-1098705597,1056494849,1043742399)+W(4,1041679280,-1089608778,1054654497,1009817082)+W(5,-1102494868,-1098692501,1047881833,-1102952115)+W(6,1044187563,1040126000,1043119951,1048685800)+W(7,-1101059428,-1100421777,1043071666,-1132265536);sum2=W(0,-1110897864,1031814971,1060526454,-1090228093)+W(1,-1104703066,-1126406622,1034850394,-1097166620)+W(2,1039476246,-1112535334,1060516426,-1091926928)+W(3,-1102025112,-1088994686,-1088701567,1063814816)+W(4,1041770976,1050082866,-1072347435,1074296249)+W(5,1044782005,1038057456,-1075073775,1073862535)+W(6,-1112640404,1029663347,-1077197270,1067261757)+W(7,1045848501,-1098794387,-1081012351,1067785227);WS(-1105546040,1026157880); +sum1=W(0,1040950836,1040614249,-1102499357,1036650571)+W(1,1036866652,1043435937,1032157499,1032871003)+W(2,1045419231,1048836647,-1088963702,1035867609)+W(3,1057171433,-1092874056,-1078642173,1040635958)+W(4,1039696013,1049109967,-1094603626,1039966133)+W(5,1040737235,1037560064,999044599,1035782037)+W(6,1031337694,1039556030,-1107844556,1034875342)+W(7,1043417390,1020658754,-1101965321,1029450491);sum2=W(0,999804672,1033414560,-1131242272,-1111239120)+W(1,965076992,-1142972544,-1152459008,-1114613368)+W(2,1017997216,-1117537424,1043660652,1024438240)+W(3,-1113573416,-1080122522,1068973644,1009242816)+W(4,1015814944,-1116987776,-1113471168,1026341216)+W(5,1013150208,1009041344,1023678672,-1111376032)+W(6,1004325632,1030258512,-1115573696,-1124670336)+W(7,-1116017408,-1123867424,1025739248,1011147520);WS(-1081027239,1060388068); +sum1=W(0,1040945153,1049191505,-1103567931,-1142725077)+W(1,1018532824,1052335227,-1106690587,-1126830164)+W(2,1048158700,1053224518,-1098210230,1044049241)+W(3,1050078256,-1089652372,-1079677805,1037048166)+W(4,1043330564,1050009062,-1090769236,1037549983)+W(5,1045983912,1019623144,-1102526621,-1124021470)+W(6,1034126717,1043374892,-1113976903,1031972104)+W(7,1042366848,1037373643,-1106920486,1000910717);sum2=W(0,1029289565,-1119356133,-1126159585,-1119814653)+W(1,1023484285,1031916514,-1111485988,-1133461586)+W(2,1041097307,-1120749829,-1121314077,-1112201820)+W(3,1044843621,1057057740,1024531885,1001931237)+W(4,-1101664529,1055633817,-1102656055,1035253182)+W(5,-1108647964,-1098024997,1016983721,1019582313)+W(6,-1111945130,1038083406,-1105960100,1011319026)+W(7,-1129898257,-1101101054,1022769465,-1110859200);WS(-1121436896,-1083449266); +sum1=W(0,-1131437006,1057845458,-1096100393,-1112818966)+W(1,-1126965659,1026072602,-1106937331,1025271436)+W(2,-1106898372,1058188821,-1089458543,-1120770471)+W(3,1049661628,1047051462,-1093909527,1039868950)+W(4,-1110051320,1036301673,-1105302990,-1101852248)+W(5,1048826500,1049513187,-1097831955,1048680544)+W(6,1018834023,1026266705,-1115312055,-1111779257)+W(7,1030351624,1043516478,-1094725407,-1137214404);sum2=W(0,1025140224,-1118806788,-1126785121,1031495588)+W(1,1016993788,1030590564,-1118559458,991152164)+W(2,-1106156741,1042721449,-1106137914,1038491925)+W(3,-1085967118,1078987048,-1100137345,1040984057)+W(4,-1070014283,1078555235,1044823121,-1111978905)+W(5,-1066270592,1069325982,-1105174392,1030579932)+W(6,-1089828448,1051485796,-1121082393,-1113499951)+W(7,-1115300709,1026006822,1011662011,-1120641633);WS(1060473294,-1125032523); +sum1=W(0,-1118381578,1043924207,1028842287,-1103983036)+W(1,-1131528546,1048790648,-1094915206,1032416951)+W(2,-1103035725,1057928103,1048586166,-1131359957)+W(3,1044891665,-1096003632,-1089668066,1041536420)+W(4,1017562024,-1104437021,1048997587,-1119623443)+W(5,1038728371,-1127678449,-1106021950,1026802338)+W(6,1013193724,-1138265298,1016196772,-1112764523)+W(7,1017619335,1019650740,-1112334062,1028850580);sum2=W(0,-1124013145,1023871771,1041717973,1027246941)+W(1,-1154979909,-1104183315,-1104961174,-1105906795)+W(2,-1113455493,1024353365,-1071159846,-1114760758)+W(3,1042673063,-1099433949,1075222357,1048045634)+W(4,1009341589,1037029004,1061754151,-1101645527)+W(5,-1131887235,-1106752952,-1106459992,1027783079)+W(6,-1126494367,-1136822537,1037905746,-1130069351)+W(7,-1120394460,-1135604889,1020599743,1023779471);WS(1063175758,1049951270); +sum1=W(0,1051934199,-1084051495,1040719576,1028219745)+W(1,1041620825,-1091045702,1046456792,1028165760)+W(2,1053157077,-1089200998,1054477181,-1110307566)+W(3,1019501037,-1103613676,1050464826,1037889601)+W(4,-1121035141,-1103906809,-1098419444,1045652053)+W(5,1024394007,1042850683,-1097805325,1054554722)+W(6,1034798936,-1117239270,1011564046,1031152711)+W(7,999909159,-1106705027,-1091232034,1056053333);sum2=W(0,-1091471926,1062079447,1055700238,1015596856)+W(1,1042259987,-1095572989,1041645665,1033532620)+W(2,-1103057728,-1089203271,1037140407,1035045090)+W(3,1049412228,-1092861102,-1093629070,1042934527)+W(4,1044973062,1034556296,-1095940003,1032040702)+W(5,-1116401558,1047552828,-1106623325,-1106239816)+W(6,1011000463,-1110031497,-1107294450,1033073048)+W(7,-1130123924,1051271629,1053844390,-1095799213);WS(-1085388366,-1090694979); +sum1=W(0,-1123787314,1044273497,-1108110651,-1115475932)+W(1,-1119481145,-1130943626,1041576542,-1117135031)+W(2,1032777214,1047368143,-1087220302,1040347561)+W(3,-1112850502,1059845268,1027588771,-1101064470)+W(4,1041751591,-1095680144,1036323946,1037523789)+W(5,-1125429276,1039407200,-1111657568,-1126225621)+W(6,-1140788444,990533574,1021334836,-1134357621)+W(7,-1113892940,1032644049,-1143449895,-1109271006);sum2=W(0,-1107190004,1037736456,-1125693587,-1120404934)+W(1,1013881877,-1105376838,1040619572,-1122228614)+W(2,-1118295314,-1123416196,-1082924015,1051908042)+W(3,-1121103222,1042717593,1068021664,-1087341114)+W(4,-1127822751,-1115549939,1016978358,1042189807)+W(5,-1115317828,1043660085,-1108863865,-1125959243)+W(6,-1126179247,-1126402007,-1136349779,1038966556)+W(7,-1114801766,1040920849,-1107267301,1023515477);WS(1065904679,-1122628785); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0][0] = HOOKED_texOff(vec2(-3.0, -1.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-3.0, 0.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-3.0, 1.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-3.0, 2.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-2.0, -1.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-2.0, 0.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-2.0, 1.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-2.0, 2.0)).x; +samples[2][0] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[2][1] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[2][2] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[2][3] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[3][0] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[3][1] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[3][2] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[3][3] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[4][0] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[4][1] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[4][2] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[4][3] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[5][0] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[5][1] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[5][2] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[5][3] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[6][0] = HOOKED_texOff(vec2(3.0, -1.0)).x; +samples[6][1] = HOOKED_texOff(vec2(3.0, 0.0)).x; +samples[6][2] = HOOKED_texOff(vec2(3.0, 1.0)).x; +samples[6][3] = HOOKED_texOff(vec2(3.0, 2.0)).x; +samples[7][0] = HOOKED_texOff(vec2(4.0, -1.0)).x; +samples[7][1] = HOOKED_texOff(vec2(4.0, 0.0)).x; +samples[7][2] = HOOKED_texOff(vec2(4.0, 1.0)).x; +samples[7][3] = HOOKED_texOff(vec2(4.0, 2.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns128, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns128, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1106336704,-1134422686,-1097058997,-1096794255)+W(1,-1096428577,-1108910446,-1110459731,-1101174078)+W(2,-1104338237,-1108550970,1036063029,1068454954)+W(3,1045547931,-1102009308,-1122481515,1017740065)+W(4,1041734649,-1135080854,1053379177,1068510503)+W(5,-1114733521,-1146436468,-1107441476,-1113618698)+W(6,-1112016931,-1117701445,-1099451832,-1092648385)+W(7,-1101312270,-1118387353,-1118789516,-1107281979);sum2=W(0,-1107960738,1022891960,-1112828174,-1099542471)+W(1,1028527356,-1124169384,1003609248,1019646072)+W(2,1034572820,1003346080,-1096749055,1067566060)+W(3,-1090311143,1028295012,-1101382023,-1102277943)+W(4,-1105088633,-1103397515,1056062200,-1127174872)+W(5,1048792675,-1106700271,1033154740,1037356874)+W(6,-1147785184,1035529310,-1105585021,1034766166)+W(7,-1117109292,-1116900804,-1121486356,-1114899026);WS(-1075683047,-1087125913); +sum1=W(0,1042687663,1034752002,1020877136,1043598702)+W(1,1032834596,1049059763,1041786741,1050972591)+W(2,1052977914,1046022844,1051043629,1049374510)+W(3,1044576234,-1108783446,-1105784362,-1089957133)+W(4,-1087267578,-1097639380,-1087388173,-1095656786)+W(5,-1108370107,-1101488315,-1111228387,-1108747496)+W(6,1041384601,1034807969,1037740431,1044538321)+W(7,-1113942663,1043415765,1011031587,1034104676);sum2=W(0,-1129327146,-1149557934,1027469999,-1116270499)+W(1,-1107094547,-1114668504,-1136313139,-1115408970)+W(2,-1112916736,-1120018795,-1105442406,1056936993)+W(3,1036431709,1029410453,-1126491682,-1112281372)+W(4,-1109246006,1012425107,1044505132,1054092693)+W(5,1015080154,-1102188513,-1123974759,-1115235380)+W(6,-1168639863,-1122303521,-1114911422,-1109477794)+W(7,-1122292075,1038663029,-1124857486,1004657207);WS(1042212664,-1102203684); +sum1=W(0,-1140902818,1019874102,-1138465404,1041713132)+W(1,1031911135,1032244040,-1122713961,1032066151)+W(2,1040147851,-1104962202,-1102798136,-1085739950)+W(3,-1090423514,-1096835716,1015091005,-1100137137)+W(4,1035472140,1045102086,1044852023,1052255697)+W(5,1050093153,-1114874577,-1125530488,1025859399)+W(6,-1111794429,1033944684,-1122108180,1042129278)+W(7,1026181805,1045351411,1045226448,1037723887);sum2=W(0,1025219442,-1119436548,1041363772,1026037858)+W(1,-1106963956,-1148187164,-1115265228,1027834104)+W(2,-1109152196,-1122141349,1032935700,-1095545125)+W(3,1029288712,1048235476,1017807431,-1124373883)+W(4,1026944460,1040314652,-1124096755,-1132954458)+W(5,1063106013,1044093468,-1119277141,-1115291573)+W(6,-1136900198,-1112897189,-1144192892,1046665648)+W(7,-1112667488,-1091150222,-1098670428,-1099776205);WS(-1106435384,1038338229); +sum1=W(0,1040095954,1019822615,1037825128,1041126536)+W(1,1042659628,1046281616,1025627498,1052688116)+W(2,1057302312,1048464174,1048602738,1046177110)+W(3,-1113571175,1010729037,-1116720143,-1090676327)+W(4,-1085504617,-1109673285,-1088007186,-1089584127)+W(5,-1112427435,-1099904421,985851280,-1109333660)+W(6,1038469973,1008999077,1047759857,1042217259)+W(7,-1122205838,1042535855,1020820192,1034203799);sum2=W(0,1016257202,1025056091,-1123344133,-1117490597)+W(1,-1139226916,-1121712633,1032149092,1018740994)+W(2,1059204215,1059357388,-1096239491,-1080318626)+W(3,-1097775023,-1121076469,-1108589001,1042934709)+W(4,1078138204,1057901024,-1075026282,-1073900782)+W(5,1041808545,1040778731,1040543247,1013253724)+W(6,1045786159,-1115583727,1040463834,1043123901)+W(7,1021989454,-1105966927,1015040126,-1147555881);WS(-1079558823,-1098708322); +sum1=W(0,-1107155318,1025234303,1015859078,1036194249)+W(1,-1109510417,-1106597869,-1106784003,-1107821257)+W(2,-1102044491,-1098872409,-1087610848,-1086405173)+W(3,1049149960,-1113006787,1034815041,-1109243348)+W(4,-1157836704,1050456336,1055919296,1051086989)+W(5,1049231261,1047976577,1037659280,1045770027)+W(6,1018716763,1032647774,1043448582,1041211303)+W(7,1032229161,-1113988824,-1114873522,-1115826050);sum2=W(0,-1115121954,1012713185,-1120959275,979525395)+W(1,1031308048,1023425822,1008898041,1015643115)+W(2,1038073794,-1114116718,1048906430,-1089285214)+W(3,1044939824,960279117,-1114246838,-1116674868)+W(4,-1128914993,1041575276,1074552079,-1076455267)+W(5,-1081125046,-1109266711,1028966618,-1116558128)+W(6,-1116577465,-1124395325,1055266270,1060162115)+W(7,-1098098687,1021768571,-1124862202,1013382601);WS(1045132600,-1120782135); +sum1=W(0,-1105751784,-1105178898,-1104184899,-1114219853)+W(1,-1110381909,1038688878,-1129240105,1028338913)+W(2,1057393815,1048859946,1059464001,1046945589)+W(3,-1115358437,-1101266388,1006928425,1001553277)+W(4,-1105555137,-1097544977,-1093321826,-1096850414)+W(5,1045680426,1054674458,1040711722,1051440502)+W(6,-1117651397,1030868229,-1113548192,-1114482291)+W(7,-1100710867,-1101910270,-1109195062,-1106616547);sum2=W(0,1017265392,-1109811903,1023756444,-1113627340)+W(1,1014378799,-1145950526,-1129429444,1013677319)+W(2,1041015042,1031690548,1041543835,1061785433)+W(3,-1112539854,1033767962,-1111764061,-1098545742)+W(4,-1100279165,-1110095441,-1121800962,1052269299)+W(5,1027655784,-1103181542,-1110834939,-1106577514)+W(6,1015388608,-1118750728,1018680528,-1143924414)+W(7,-1099334823,1020584168,-1108053853,1036964648);WS(1052573852,-1122511817); +sum1=W(0,-1122539822,1036520122,-1150669710,-1131456914)+W(1,1027717464,1032118773,1021054902,1030809195)+W(2,-1107197216,-1104137920,-1095755763,-1089160552)+W(3,-1090293588,-1090056564,-1092174087,-1086001910)+W(4,-1123108403,1038549849,1032946604,1050538028)+W(5,1052989852,1057974832,1053464075,1057808582)+W(6,1051517474,1023654291,1039184399,1041388597)+W(7,-1168884669,1033029075,1028526105,1041880934);sum2=W(0,-1085894681,1038192816,-1098445483,-1102898046)+W(1,1008806191,1050638036,-1102617523,1057325981)+W(2,-1108201039,-1090848333,1052221636,1071505414)+W(3,-1098981857,-1086351349,-1096799400,-1088620184)+W(4,1070882268,-1093216289,1067999858,1073865984)+W(5,1058878464,-1083525828,-1107159037,-1083206959)+W(6,-1081052443,-1102549623,-1087793608,-1090403840)+W(7,-1095780376,1055133376,-1096503933,1053790412);WS(-1073219892,-1080326418); +sum1=W(0,-1114077580,-1142635506,-1142955026,-1123237842)+W(1,1038107057,-1103324917,1026598572,-1095875035)+W(2,-1101602915,-1103425331,-1090278522,-1092662145)+W(3,-1091646784,-1114692451,-1101848592,1038718196)+W(4,1057495924,1053716920,1055741332,1051447237)+W(5,1052494629,1049044089,1043005848,1047828379)+W(6,-1151047116,-1114784094,-1111276924,-1121668701)+W(7,1000704387,-1109204280,1010568075,-1156952092);sum2=W(0,-1121663397,-1116542136,1042431779,1037730633)+W(1,1010053773,-1137348615,1028087910,-1119025600)+W(2,-1095443331,1050195534,-1123573301,-1100504352)+W(3,1043186658,-1102861372,-1110454800,1040229501)+W(4,-1067370736,-1071776975,1068672794,1077012119)+W(5,1070664889,1045361006,-1123945395,1027642294)+W(6,1005231721,974104521,-1111985184,1047585075)+W(7,1016528922,-1109020232,1037668055,-1117277443);WS(-1130027456,1047744266); +sum1=W(0,1030328637,-1100312969,1036569044,1044449278)+W(1,-1106699970,1046212150,-1104762293,-1124975021)+W(2,-1103440100,1043447132,-1096543805,-1093151398)+W(3,1024264999,-1115860524,1041344218,1032410566)+W(4,1050534604,1038395889,1037345619,-1106526388)+W(5,-1115006287,1035372917,980910400,1044066628)+W(6,-1130350917,-1105733872,1043114871,1022399622)+W(7,1020228332,1024836117,-1123108872,-1112803412);sum2=W(0,1029880722,-1098453144,1029103498,1067660000)+W(1,-1094604015,1046293202,-1104816365,-1117927817)+W(2,1033391383,1041649400,-1095624145,-1082091368)+W(3,1056223691,1027973488,1034193475,1034286113)+W(4,-1137819024,-1137377888,1040796761,-1080643124)+W(5,-1102259819,-1121978412,-1148596400,1041009105)+W(6,-1114516031,1025620716,1035240799,1066795978)+W(7,-1098376459,1036814117,-1107858514,-1114981924);WS(1049012636,1037011386); +sum1=W(0,-1108102978,1042768739,1036457352,-1105146600)+W(1,-1100621772,-1100160944,-1149100234,-1116535239)+W(2,-1097922903,-1089977373,-1083790961,1050515995)+W(3,1053649082,1044221701,1020595485,-1110188826)+W(4,1049818257,1052134241,1059747641,1062551839)+W(5,-1088576433,-1093385002,-1108848982,-1147628986)+W(6,1041216474,-1106782690,-1120768141,975424142)+W(7,1042971413,1047421135,-1142399358,1034144007);sum2=W(0,-1130376652,-1109307779,998991648,-1105231849)+W(1,-1124853008,-1110904873,1033926100,1012787248)+W(2,-1109271051,1040605589,-1117670218,1068278024)+W(3,-1099193318,1035466738,-1111928806,1025845624)+W(4,-1098570547,-1097221185,-1087670872,1068017963)+W(5,-1103240593,1049832589,1018913792,1035573068)+W(6,1029552052,-1097745138,-1101762859,-1100990121)+W(7,-1094879980,-1119653306,-1099498770,1046656503);WS(-1099128120,1074104605); +sum1=W(0,1001695642,-1114738061,-1137881464,1035838167)+W(1,1036976671,1043227732,1024532056,1041576607)+W(2,1031876531,1036082771,1049670772,1045634202)+W(3,1039176783,1044499416,-1115296143,1036111714)+W(4,-1106225286,-1127447088,-1114090766,-1084335000)+W(5,-1092101927,-1106295064,-1108352670,-1103209586)+W(6,1039516460,1037331996,1048871226,1024672505)+W(7,-1111706306,1040216275,1018355325,-1129216251);sum2=W(0,-1125983803,1026289226,1003361806,1036989304)+W(1,-1121376018,-1127516251,999276462,1020382491)+W(2,1057121124,1048908439,1042597022,-1101738899)+W(3,-1101518001,-1114490175,1032222895,-1111061815)+W(4,-1097673861,-1081617292,-1083990029,1066557847)+W(5,1050089807,1021212715,-1107462587,1048167829)+W(6,-1097055530,-1105528539,-1094090339,1060807350)+W(7,1045798092,1007168711,1021142275,1024157832);WS(1043392312,-1114334171); +sum1=W(0,1041086874,1027676176,1029494548,1038182418)+W(1,1033375641,1014428948,1016176348,1036956537)+W(2,1046571639,1051603231,-1114765098,1063881062)+W(3,1036439434,1039261900,1049353410,1039119196)+W(4,-1101297859,-1100311555,-1090719068,-1092551191)+W(5,-1093343060,-1095549099,-1102133676,-1097401399)+W(6,-1108043111,1031499310,-1123479337,1047470620)+W(7,1029157954,-1113522785,1032866554,-1108903402);sum2=W(0,1032922039,1034144522,1035186417,-1106146153)+W(1,995983013,1014708981,-1118508182,-1122673776)+W(2,-1110774431,1041464609,-1089347840,1063858171)+W(3,-1103182741,-1105498679,1046443094,-1107403517)+W(4,1024080221,1024001520,-1102975683,1062496232)+W(5,-1104694448,1034761930,-1113235807,-1126790312)+W(6,-1111786600,1038622987,-1098326560,-1094555153)+W(7,-1110476474,-1107944280,1045574278,-1119406695);WS(1055141020,1060902337); +sum1=W(0,1034435725,-1133288704,1026181508,1033934442)+W(1,1030709219,-1118188821,1027652318,1035419593)+W(2,1057965143,1052483105,1052696320,-1122504460)+W(3,1052884304,1049027177,1046782257,1045790650)+W(4,-1123568702,-1121795134,-1094115828,-1084201687)+W(5,-1093347107,-1096042081,-1098441692,-1101051195)+W(6,-1104499136,1006999415,-1153162900,1029709087)+W(7,1036285529,-1155692311,1013713298,-1111952258);sum2=W(0,1043194323,1017945729,992756489,-1117717167)+W(1,1023440269,-1108161809,1034607052,-1115924363)+W(2,-1070666261,-1075189642,1068575013,1076566585)+W(3,1056539999,-1098049115,1036076910,-1112346970)+W(4,-1098866335,-1106608294,1051129947,1049134123)+W(5,1047751107,-1097073139,1011007330,1016205049)+W(6,-1101126135,1010301074,-1107911121,1046700061)+W(7,1020103457,1026363561,1035420194,-1137869730);WS(-1090579868,1070279725); +sum1=W(0,1032329895,-1102328821,-1113203900,-1098061089)+W(1,-1105344998,1034205973,-1106552005,1041435478)+W(2,1048430680,1050349544,1052980239,1057014372)+W(3,1057962188,1038273502,1046276062,1049777060)+W(4,-1101560157,-1091335294,1039656780,-1084573078)+W(5,-1103450436,1043587871,-1098888483,1002064136)+W(6,-1129281319,1012204235,1033674783,-1115372202)+W(7,-1108117804,-1111454739,-1115265901,-1109943484);sum2=W(0,987673807,1036995374,-1095509641,-1094252408)+W(1,-1119095571,-1103179232,1040985329,-1114181285)+W(2,1027892228,-1102736131,1034852634,1059241808)+W(3,-1103859919,1043446486,-1109795439,1004807604)+W(4,-1103141235,1049007178,-1090760003,1060311666)+W(5,-1129798465,-1100012675,1051746582,-1113144024)+W(6,1005138532,1028221332,-1123669832,-1128511149)+W(7,1032914452,1006285508,-1122773902,987177167);WS(1058381774,-1086956646); +sum1=W(0,1005434106,-1149835360,1034370117,1036055789)+W(1,1007595428,-1173712576,-1122685332,-1119060568)+W(2,-1096145742,-1100460324,-1096424577,1033532617)+W(3,1049990129,1042033667,-1147483724,1021597150)+W(4,1046241393,1039571170,1054608457,-1110152984)+W(5,-1100950084,-1103984787,-1122634471,1016207588)+W(6,1026532260,-1120107684,-1107524072,-1123297125)+W(7,1032832748,1041584782,-1111048693,1023439817);sum2=W(0,1073050559,1069067455,-1096535796,-1073893027)+W(1,-1077684470,1038335059,994568047,-1109196141)+W(2,1049113865,1035642194,-1105600932,-1114871718)+W(3,-1104998692,1034875990,1004288083,1019116562)+W(4,1048373410,-1101089925,1050248373,-1113393188)+W(5,1015693919,1032989733,1024635942,1041247426)+W(6,-1123382260,1035361564,-1105239942,1000972215)+W(7,-1112223483,987872957,1016564448,1019016937);WS(1051792028,1027146209); +sum1=W(0,-1173418992,1031492470,1030866682,-1111745573)+W(1,1037975597,1032231158,1021051177,1029296729)+W(2,-1096555104,-1099279313,-1102472206,-1086728512)+W(3,-1098029143,-1099704976,-1107704157,-1088435526)+W(4,1048715847,1043543405,1045948678,1048944276)+W(5,1053562136,1041023999,1031959404,1046674105)+W(6,1037767898,1032372106,1031937048,1030986133)+W(7,1035090980,1038793940,1031982829,1043937550);sum2=W(0,1076285256,1067013205,1054912747,-1103468782)+W(1,-1082179927,-1086354611,-1086555076,-1077304359)+W(2,-1071495861,-1080654015,-1092768710,1053690657)+W(3,1062196550,1059230433,1065208788,1069826015)+W(4,-1089164092,1044446905,-1089831336,1049463752)+W(5,-1116071286,1055604285,-1102169042,1049830695)+W(6,1024798548,-1130255717,-1111620633,-1129289568)+W(7,1022374674,-1147177200,1008723412,990531682);WS(-1116843232,1041538044); +sum1=W(0,1038718416,1041393778,1023355030,1040958951)+W(1,1040537034,-1112360254,1043346413,1047211822)+W(2,1050813118,1048646402,1043671731,1037057641)+W(3,1050123337,1052799074,1037436293,1042212684)+W(4,-1091780513,-1107072481,-1097953353,-1088265503)+W(5,-1105750724,-1091053114,-1121572392,-1091261766)+W(6,-1107356403,1032833522,-1126022145,-1185162751)+W(7,1038008293,-1123581176,1033129910,-1116284746);sum2=W(0,-1127892588,1025248710,-1127740272,-1114879615)+W(1,-1125515678,-1135605467,1015277154,-1118452308)+W(2,-1090048491,-1124324076,-1092974499,1047668544)+W(3,1042122418,1052455522,-1102075660,1052515578)+W(4,-1076486023,-1080184847,-1080442855,1048567939)+W(5,1066323214,1068938556,1066205534,1058048535)+W(6,1071993665,1067215194,1068762214,1014309155)+W(7,-1079656754,-1077318729,-1083078137,-1086246531);WS(1045082936,1047750074); +sum1=W(0,1017867382,-1105827232,-1139557912,-1098507795)+W(1,-1112138258,-1113781499,-1117154624,1024003356)+W(2,1038967959,1036533543,1048524561,1057427781)+W(3,1057555836,1044700722,1037485187,1046059755)+W(4,-1107005280,-1101431328,1044741561,-1099209723)+W(5,-1103886606,-1117912777,-1108908881,1024367918)+W(6,-1117189504,1000061951,1034808454,-1102176472)+W(7,-1102736460,-1102956733,-1113728179,-1108156515);sum2=W(0,1003184961,971431442,-1131894760,-1133283297)+W(1,984723076,1031831407,-1125590160,1031681833)+W(2,1024857236,-1109323954,1026446282,-1105665514)+W(3,-1116186208,1024492508,-1121629964,-1148808497)+W(4,-1114215978,1030818718,1031262679,1056963612)+W(5,1055283667,975724297,-1116339968,1026784592)+W(6,1037587704,-1121823736,1045339410,-1107079097)+W(7,-1090072253,-1102678968,-1103014356,-1123463096);WS(1059869006,1015916977); +sum1=W(0,-1111801867,1039164638,1023424768,-1118862224)+W(1,-1114194639,-1099094340,-1118811114,-1096321008)+W(2,-1103727218,-1102716146,-1089648586,-1092420393)+W(3,1049092536,1052180160,1032231232,1046058153)+W(4,1051877295,1051739903,1057614174,1055627629)+W(5,-1096079006,1008315659,-1121275805,1039975892)+W(6,-1115491581,-1106752078,-1104830517,-1112797325)+W(7,1038662167,1030088557,-1131680577,-1175801754);sum2=W(0,-1113427160,-1104433368,-1104169884,-1117600576)+W(1,-1102319880,1039627671,-1097619580,1047721667)+W(2,-1090644207,-1091764889,-1109333336,1065407690)+W(3,-1098732665,-1109931470,1043714297,1041133481)+W(4,1034414883,-1120815960,995253792,1059846520)+W(5,1048874179,1008884504,1021072320,-1103318888)+W(6,1038986783,-1135559136,1033390214,-1120264784)+W(7,-1104270640,1019376128,-1111461786,-1142244432);WS(1054131356,-1077482588); +sum1=W(0,-1100136045,989703980,-1114161471,-1117800461)+W(1,1013262449,-1112319975,1027862775,-1103330903)+W(2,-1101215881,-1100083265,-1091699940,-1088812180)+W(3,-1095974704,1033042241,-1095224480,-1102789769)+W(4,1045307006,1039854844,1051542530,1056393300)+W(5,1053327664,1059113280,1049428707,1055440053)+W(6,1047064142,-1120855287,1042850313,-1122501592)+W(7,-1118254671,-1111473941,-1119385054,-1109190398);sum2=W(0,-1098032416,1055692800,-1101668743,-1100435053)+W(1,-1089098280,-1094416925,-1099202751,-1104551065)+W(2,1063396296,1024719031,1065491656,1073645059)+W(3,1060161647,-1074198531,-1081296593,-1083400329)+W(4,1043414797,1032661901,1058961916,1063424749)+W(5,-1096580753,-1098776178,-1115458644,-1092624053)+W(6,-1093635160,1049215120,-1090478816,1050905898)+W(7,-1135528507,1042380471,1032695397,1054277265);WS(-1082679118,-1072338335); +sum1=W(0,-1126832308,998650886,1029713605,1045660229)+W(1,-1125245511,1001090478,-1126242526,-1128346278)+W(2,-1092407662,-1099976035,-1098757312,1049242330)+W(3,1052609817,1049104969,958956607,-1170516592)+W(4,1041636256,1035459839,1053507448,-1097348797)+W(5,-1097111418,-1099322690,-1116731426,1009511091)+W(6,1032452512,-1118647007,-1113994637,1019901759)+W(7,1026546307,1041545965,-1113342195,1027607012);sum2=W(0,-1069228184,-1073602631,1021776922,1076866983)+W(1,1069809281,-1101499289,1013617559,1036050969)+W(2,-1099529380,1043301860,1054858487,1044685536)+W(3,1062109344,-1097491140,-1149319294,-1113127688)+W(4,-1112044089,1041147606,-1119872164,-1106846135)+W(5,1042271976,1035368326,1025827813,-1115137330)+W(6,-1144476451,-1112019052,1036271953,1018899191)+W(7,-1114284680,-1126672913,-1112053703,-1146921887);WS(-1125906880,1029353026); +sum1=W(0,1052620124,1040928385,1053619569,1034478636)+W(1,-1149501032,1027228408,1033816441,-1143379631)+W(2,-1082830235,-1087911853,-1088553290,-1115166792)+W(3,-1104403058,1046902211,-1140598044,-1115398454)+W(4,1044570800,1048894344,1054767249,1052323270)+W(5,-1096342700,-1092690897,-1112660402,-1089842615)+W(6,1033131793,1031982257,-1118254573,1037418321)+W(7,1045103465,1053685367,1032758420,1056771243);sum2=W(0,1052242091,-1105901664,1041713460,-1098081544)+W(1,-1101414896,-1140318759,-1123485994,-1108472633)+W(2,-1123374674,1032004261,1057464262,1055897675)+W(3,-1108453649,-1099401944,1039811869,-1092934450)+W(4,-1088438592,-1109896025,-1106721416,1057898227)+W(5,1044097375,1041656473,1042751001,1033994653)+W(6,-1109756837,-1117902306,-1106560728,-1101499608)+W(7,-1114554169,1042131382,-1104786072,1048148308);WS(-1080878567,1068324028); +sum1=W(0,-1115471279,1019310859,-1121098697,-1115193805)+W(1,-1153442440,-1104713039,1023975060,-1094675607)+W(2,-1095139206,-1103458412,-1090917913,-1094785898)+W(3,-1100131090,-1118370765,-1102569730,1044057356)+W(4,1057833304,1049561152,1058273109,1054221326)+W(5,1050583410,1048985266,1041261354,1045920684)+W(6,1032811018,-1118469827,-1107876783,-1109399058)+W(7,-1121957752,-1109945243,-1125987028,-1144681671);sum2=W(0,-1122597644,1032420914,-1109997244,1029919127)+W(1,-1129031901,1025876905,-1121404056,1025649559)+W(2,1052263517,-1132353885,-1113437764,-1086124512)+W(3,-1134522929,-1137529969,1041285329,-1111439550)+W(4,1084267296,1077171750,-1076080701,-1066836895)+W(5,-1073829589,-1128728545,-1128683125,-1109934248)+W(6,1037076324,1017945885,1045994672,-1105598049)+W(7,-1115453382,1027437378,-1112127416,1032857588);WS(-1106960696,-1099012034); +sum1=W(0,-1114528403,-1119077260,-1143558020,-1119877760)+W(1,-1109244232,-1096650748,-1112604445,-1100402892)+W(2,-1099071342,-1099370430,-1089278443,-1086538844)+W(3,1010994112,1041376829,1042854492,1049345155)+W(4,1055554285,1049964157,1061104081,1056629915)+W(5,1049997315,1042073805,1031563405,-1123516568)+W(6,-1109121109,-1115766890,-1114965299,-1120868875)+W(7,1034547527,-1114495407,-1139584324,-1118254096);sum2=W(0,-1116593925,1028908115,999050165,1037914955)+W(1,-1106109711,-1105957739,-1123834115,-1113783754)+W(2,1027806287,-1136470458,1039840949,-1122048333)+W(3,1057135276,-1105275062,-1096566133,-1105721601)+W(4,1032648371,1006654490,1052059722,1057985079)+W(5,-1090440242,-1131926605,1018741845,-1124260101)+W(6,1024756439,-1116529299,-1107372324,-1128153177)+W(7,-1142966917,-1123338691,1013415162,1018182189);WS(-1103089976,1059868827); +sum1=W(0,1026631887,1033737723,1034000797,-1130496915)+W(1,-1106694966,-1105866475,-1106727101,-1098705919)+W(2,-1091300264,-1096562704,-1087537316,-1094386976)+W(3,1044429902,1045093007,1040636078,1044615672)+W(4,1056895190,1050565142,1059766350,1053939124)+W(5,-1108577640,-1109922270,-1122075862,-1100982776)+W(6,1031003956,-1140469197,-1108911023,1032926090)+W(7,-1120892680,1034482579,-1136817768,1045052014);sum2=W(0,-1114832682,1038307608,-1109268272,1031259614)+W(1,-1136199018,-1118450441,1025376385,-1125957173)+W(2,1044376552,-1101986459,1025272345,-1112738770)+W(3,1014008179,1042085570,-1110075404,1027010884)+W(4,1052671036,-1094811671,-1106762472,1052706603)+W(5,1040752903,-1100877636,1051973899,1036345951)+W(6,-1084839384,-1076225566,-1074779618,-1088390497)+W(7,1066038403,1071357616,1068318141,1050587817);WS(-1089897038,998399462); +sum1=W(0,-1100326508,-1099771006,-1103969415,1030998252)+W(1,-1111096702,-1129527451,-1115021151,-1124899748)+W(2,-1114312802,-1109889234,-1092992143,-1098209637)+W(3,-1116385180,-1096464604,-1111889198,-1109224641)+W(4,1049930251,1047140918,1060325312,1062808044)+W(5,-1128865717,1048691588,-1137813989,1043572929)+W(6,-1141222070,-1114407115,-1106384368,1017922927)+W(7,1023432554,-1125954964,-1121716413,1020452535);sum2=W(0,-1094975511,-1089233591,-1089977002,1033778332)+W(1,1006981461,-1137053176,-1125132764,979684320)+W(2,-1113696880,1032844980,1066397244,1037917830)+W(3,1039504138,1032622380,1021506052,-1119563165)+W(4,1023473326,1036803698,-1129026618,-1104280508)+W(5,1024702770,-1121975322,974010432,-1138205260)+W(6,1029862812,-1117299445,1025970568,1031377784)+W(7,-1122944997,1022461928,-1130740686,1024270227);WS(-1096120220,-1099720911); +sum1=W(0,1052677544,1027883172,1046184634,1036941212)+W(1,1037786724,1039372749,992842790,1040590154)+W(2,-1105594052,1050583742,1030711656,1050761182)+W(3,1044997418,1051859318,1041579690,1052858474)+W(4,-1101878153,-1120505890,-1094174707,-1087347673)+W(5,-1091299260,-1092171165,-1105854769,-1087724293)+W(6,990296621,1026529890,1039246623,1031039363)+W(7,1038193547,1036921611,-1115076484,1007468831);sum2=W(0,1040381409,-1131846701,1030695069,1015259161)+W(1,1026868853,-1164136976,-1121164685,-1109936403)+W(2,1023777345,-1095435966,-1111411494,-1085163747)+W(3,-1100600319,1052695808,1041440525,1051545155)+W(4,-1110031849,-1146822820,-1089001391,-1074171332)+W(5,-1078760233,1048168469,1074132102,1072577306)+W(6,1022623295,-1096899181,1049343346,-1107180310)+W(7,1043071461,1020495459,1017314953,1050115198);WS(-1080112807,-1111145054); +sum1=W(0,-1103297132,-1106341774,-1098278655,1024154699)+W(1,1037514093,1034961350,-1125780682,-1109009483)+W(2,1049824404,1049617192,1059552348,1031972225)+W(3,-1085661228,-1097823136,-1114326813,-1119831648)+W(4,-1133975251,-1122989109,-1086286580,-1137351813)+W(5,1056970252,992708574,1021582000,1040424089)+W(6,1026400021,1042898005,1041608840,-1145221295)+W(7,-1102084285,1041904442,1038246926,1042525799);sum2=W(0,1041258750,-1109734283,-1123542769,-1113561957)+W(1,-1110564237,1026811493,-1130694514,1024057869)+W(2,989910477,-1100922013,-1096844113,1051742866)+W(3,-1100235579,-1105813951,-1151284621,-1136706867)+W(4,-1134607603,1016064722,1041392492,1057819912)+W(5,1047439582,-1113868277,-1118083589,-1114600003)+W(6,-1109794979,1041809078,-1126381362,982123162)+W(7,-1119465765,1026735929,1019553626,-1114678252);WS(1043409720,-1105036943); +sum1=W(0,1040191749,1033970558,1042494496,1046767380)+W(1,972615552,1032778168,1032217109,1032356247)+W(2,-1096303173,-1095924673,-1093807736,-1092831585)+W(3,-1096756208,-1126846855,-1115229280,-1098580285)+W(4,-1115184605,1041748910,1044442592,1042876074)+W(5,-1140612185,1018241414,1027878365,1034858676)+W(6,1041655059,1041917006,-1160531625,1039311757)+W(7,1020654492,1043700571,1034107952,1036396440);sum2=W(0,1027808259,1010119787,-1111510504,-1113418759)+W(1,1032132185,-1121052855,1014515195,1010692603)+W(2,-1139047739,1043340308,-1106790738,-1096910874)+W(3,1040059331,-1115460243,1017581734,-1120741339)+W(4,986751832,1026247831,1065364148,1040723354)+W(5,1038861011,-1113647147,1041604470,-1135975307)+W(6,-1095774205,-1093511024,-1089533357,1053173071)+W(7,-1106558855,1027584935,-1121443175,1014681515);WS(1035857520,1029952289); +sum1=W(0,-1143077795,-1105351783,-1113811952,-1106526780)+W(1,1035289215,999420801,-1129002434,-1113970285)+W(2,1037051011,1029971495,1049064844,1035603988)+W(3,-1083894414,-1098557596,-1111645039,-1130790920)+W(4,-1110400621,-1106469910,-1094483622,1058276716)+W(5,1056346487,1050633420,1042325343,1026109447)+W(6,-1121149466,1043652126,1027875988,1035104701)+W(7,-1114346217,-1123554317,-1130799743,1025377311);sum2=W(0,-1118517607,-1101077931,1029148161,-1087996420)+W(1,1047526016,-1108756119,1038718292,1024464693)+W(2,1026484093,1046485772,-1098019518,1071267691)+W(3,-1082674625,1032470282,-1106613565,-1113199029)+W(4,1039465846,1030900361,1048118782,1064954318)+W(5,-1084489705,-1118487613,-1112021711,-1120012731)+W(6,1008581907,-1114630284,-1106945018,-1097625455)+W(7,-1156379726,1024110641,1020048570,1036291722);WS(1058189134,1034857672); +sum1=W(0,-1171748679,-1105475825,-1097172873,-1108837708)+W(1,1038034707,-1131134898,-1113151849,-1119273967)+W(2,1031241360,1044072484,1057114388,1051374554)+W(3,-1083662360,-1099379283,-1121036423,1018101850)+W(4,-1100969760,-1094075536,-1082247827,1060030327)+W(5,1058651386,1046921459,1041721673,1036514264)+W(6,987174985,1045893176,1042860595,1031954257)+W(7,-1120638978,-1137288661,1037681908,1029972391);sum2=W(0,1003810984,1036204547,-1101998989,1041029203)+W(1,-1098215637,1044393168,-1110527635,1027560485)+W(2,1020569783,-1114489126,-1121260135,1052640914)+W(3,1059150102,-1098121773,1037147118,-1110248773)+W(4,-1128982694,-1099380876,-1101918458,1059611184)+W(5,1040381797,-1094102036,1028175839,-1113935142)+W(6,1043745048,-1104004872,-1104165612,-1121067579)+W(7,-1100369008,1032515174,-1114899975,1000033398);WS(-1107450480,1040804833); +sum1=W(0,1040192716,1022226221,1002013395,-1117682794)+W(1,1001040843,1000424795,-1120982404,1025306833)+W(2,1040473489,1047969017,1044185574,1060667554)+W(3,1057909434,1049088596,1038016429,1042416864)+W(4,-1095196747,-1098407451,-1087290490,-1089168888)+W(5,-1111951852,-1119291421,1031577591,-1112956481)+W(6,-1124855402,1020416041,-1160070647,1045737613)+W(7,-1101676720,-1103624738,-1104451167,-1115902938);sum2=W(0,1014727333,-1117243126,1029406572,1027900147)+W(1,-1112527674,-1114664521,-1111634336,-1107116047)+W(2,-1124633329,-1107065949,1041729284,-1094200388)+W(3,-1104959017,1040214496,1005029260,1049039902)+W(4,1026257754,-1111801245,-1084100906,1052541581)+W(5,1070744988,-1111707080,-1127513012,-1107038609)+W(6,-1111611661,-1136702760,-1103677442,1050798725)+W(7,-1105828213,-1111536822,-1106506739,-1140667375);WS(-1113867888,1064515135); +sum1=W(0,-1113562537,-1107046062,-1103978495,-1098739202)+W(1,-1122423580,1019693149,-1116789880,1020558520)+W(2,1048061265,1043460993,1060048584,1062873548)+W(3,-1119786749,1023528257,-1106657727,-1137576074)+W(4,1011269086,-1098944190,-1107431310,1045822761)+W(5,1025265092,-1112998912,-1142662356,-1104660585)+W(6,-1105945126,-1148623547,-1111558073,-1114838028)+W(7,-1101841139,-1117915947,-1106868487,-1122252061);sum2=W(0,-1145158406,1012385731,1016118130,1024197601)+W(1,-1112179804,-1119519161,-1127326042,-1113792718)+W(2,1022878354,-1129472106,1044961455,1049544336)+W(3,1030346877,-1131221354,-1095482557,-1093377057)+W(4,-1111624996,1015658802,1040055751,1057430996)+W(5,-1114498280,1020564842,-1112131584,1019749938)+W(6,1010204019,-1123973089,-1157676569,1022031298)+W(7,-1124728962,1023003938,-1121117277,-1141925830);WS(1051333020,-1087054195); +sum1=W(0,-1112042433,1019002067,-1115058903,1046618143)+W(1,-1107874438,-1148774132,1036768028,-1154881470)+W(2,-1104387605,-1096771599,-1102529947,-1093976551)+W(3,-1089735051,-1129150690,-1101876091,-1098135714)+W(4,1052246829,1048899277,1054136106,1044227957)+W(5,1060328029,1046377228,1045160291,1045432325)+W(6,-1113527444,-1098301717,-1095193948,1044013586)+W(7,-1107288943,1038700845,1024370318,1019966234);sum2=W(0,-1114066012,1029900262,-1114806697,-1110038644)+W(1,1036646832,-1110070018,1020625547,987867800)+W(2,1041392892,-1112610934,1041587346,1025557898)+W(3,1055783298,-1102485451,988088600,1039502616)+W(4,1044719218,1046575198,1050162797,1055420600)+W(5,-1099287148,-1100701871,1033323822,-1119304428)+W(6,-1097547793,-1095644935,-1102972970,-1095936036)+W(7,1028020818,-1113902766,-1135974783,1018696751);WS(-1120103648,-1090070191); +sum1=W(0,-1117418940,1024592611,1040968250,1049918615)+W(1,1034410595,1035134604,-1119948353,-1144523437)+W(2,1049030490,1050801054,-1111205267,-1116228463)+W(3,1050512309,-1102511675,1034763283,1039656998)+W(4,-1112262737,-1094705236,1042055990,-1085341341)+W(5,-1106227665,1036298997,-1138448657,-1110564136)+W(6,-1114427969,1032013281,-1110419822,1047944497)+W(7,-1132367051,1025392341,-1111046724,-1120201127);sum2=W(0,-1122606938,-1141997982,1027805544,-1120462650)+W(1,-1100560083,-1105726471,1025575588,-1113668318)+W(2,1046354401,1040228902,-1143835982,1061896257)+W(3,-1080731069,-1098049024,1026943708,1032253740)+W(4,-1124762815,-1102583710,1052785838,1059397472)+W(5,-1120768779,-1126645315,1011421951,-1122685018)+W(6,-1118515993,1036845124,-1106443071,1043676745)+W(7,995709275,-1128858827,-1112152255,-1127110207);WS(1060158670,1068766623); +sum1=W(0,-1116432453,-1131098839,-1099753724,1034945056)+W(1,-1122123599,1040823512,1040184285,1050332416)+W(2,1056712636,1049784895,1057908127,1044163070)+W(3,1028198895,-1122504371,-1123329903,-1096645803)+W(4,-1087151539,-1102593034,-1089291740,-1094800699)+W(5,1036808107,-1120242995,-1127465369,-1132187055)+W(6,1040295867,1033948341,1031077093,1027113355)+W(7,-1132674679,-1117547229,1040274980,-1137741501);sum2=W(0,1036379663,-1108907739,1070189048,1073213180)+W(1,1065321765,-1076673488,-1079893128,-1072585926)+W(2,-1098232449,1058983203,1016986873,1047923452)+W(3,1033582270,1031365639,1038048757,-1107019906)+W(4,-1128107780,1035811659,1040144345,-1105399966)+W(5,-1110681209,1039880527,-1116001167,1018297481)+W(6,-1120677803,-1120240179,1029686139,-1109097268)+W(7,1041308319,-1109042515,1034493417,-1131123922);WS(-1112459888,1031046963); +sum1=W(0,-1112719265,-1129483154,-1103727283,-1091575740)+W(1,-1104335643,-1155155940,-1114094348,-1105426861)+W(2,-1128634346,-1120462421,-1112785958,1056781779)+W(3,-1153409228,-1108013960,-1118230989,1027667442)+W(4,1043326546,-1103778738,1050524372,1067939282)+W(5,1048587330,-1132710977,-1109505653,1036777787)+W(6,-1115081924,-1114915140,-1104237825,-1096588493)+W(7,-1108534894,-1114726045,991235804,-1111746006);sum2=W(0,-1119086167,1013020612,-1141008560,-1108719150)+W(1,1023891147,-1145112744,1018251990,-1116478859)+W(2,1037241732,-1129818230,1029187991,-1074141953)+W(3,1019083994,-1124211508,-1122886966,1027168441)+W(4,-1114652243,1028260797,-1112264831,1072760747)+W(5,1042535682,-1131878972,1037493286,-1129254230)+W(6,-1131518324,-1115730540,1036245214,1034705438)+W(7,-1119172530,-1133917220,-1114007324,1018465006);WS(-1086783566,-1086791567); +sum1=W(0,-1115195632,-1153026662,-1134496297,-1108787789)+W(1,-1119803561,-1145121243,-1131708777,-1110064394)+W(2,-1095708330,-1093442522,-1098161001,1044632085)+W(3,-1091375169,-1107384199,-1100078210,-1104664012)+W(4,-1123676804,1018199561,1037878573,1064261167)+W(5,1057417647,1052226946,1046948682,1047330733)+W(6,1041725033,-1121101892,1034570216,-1103584185)+W(7,-1108866704,-1122033784,-1117964907,1022321300);sum2=W(0,1031515378,-1121810184,1010081392,-1119765868)+W(1,1035546479,-1106495935,1028378344,1003402623)+W(2,-1077397139,-1079753374,1044674665,1073378801)+W(3,1056367001,-1109376902,1035615024,-1118889676)+W(4,-1134939312,-1097085111,1052841311,1007836336)+W(5,1044809025,-1118570548,992033726,1010750288)+W(6,-1112896962,1035985281,-1105060263,1031953140)+W(7,1022446080,1031289566,1032016077,-1150317246);WS(-1096711324,-1080143969); +sum1=W(0,-1135181951,1025399430,1033906501,1041786535)+W(1,-1133559462,1003671004,-1123695637,-1105366874)+W(2,-1095339398,-1094144146,-1093853897,-1089314149)+W(3,-1089126233,-1110956839,-1129083412,-1113909272)+W(4,1050582337,1049483953,1045129706,1046728732)+W(5,1045641984,1051092970,1049638101,1057307443)+W(6,1026786373,-1123204644,1006467326,1031608549)+W(7,-1135165794,1017185520,996324016,1009923752);sum2=W(0,1023911567,1004932796,-1119124867,1022775023)+W(1,1011639102,1036397588,999444348,-1106309084)+W(2,-1108118447,-1134375038,1035251904,1037995724)+W(3,1050162042,1037707684,-1111062570,-1101285996)+W(4,1044892126,-1138359022,1063133445,1074655410)+W(5,1070062472,-1083132698,-1073510095,-1073687480)+W(6,-1112738860,1020475455,-1102926770,1047698054)+W(7,-1113839430,-1117927031,1017195567,1041743674);WS(-1089880270,1068594400); +sum1=W(0,-1114467040,1023170830,1036273894,-1107800974)+W(1,1029867434,-1106779367,1024593089,-1110449433)+W(2,-1104513741,-1091458130,1034367029,-1100997781)+W(3,-1095286649,1047811540,-1096228817,-1109179032)+W(4,1050219169,1042545281,1048674674,1042739212)+W(5,1053624831,1034908007,1034674708,1049808694)+W(6,-1118490053,-1120682309,1031296832,-1110241363)+W(7,1034289100,-1107012174,1021221591,-1126204757);sum2=W(0,1030004067,-1117028113,-1105887481,-1066126465)+W(1,-1104777348,-1122550707,-1130918117,1023720579)+W(2,-1133064657,-1134091777,1045929484,1081917443)+W(3,1043726141,1028310407,1016764395,-1116064873)+W(4,1024174065,-1113615539,1032698350,-1097201480)+W(5,1033613382,-1107697461,1029778305,1018371831)+W(6,-1119836251,1025775761,-1118489229,1041573100)+W(7,-1124268877,1030764051,-1116797441,1018350967);WS(1067475431,-1126058166); +sum1=W(0,-1108052732,1043040440,1048922396,-1097574342)+W(1,-1119673025,-1101774749,1019400344,1007801026)+W(2,-1097851361,-1108210069,-1084429932,1055911149)+W(3,1041902328,1035827603,-1115594513,-1107003538)+W(4,1049362324,1048929252,1054104112,1047147106)+W(5,-1085779789,1049622021,1019477630,1037086373)+W(6,1040199303,-1109622414,1041203782,-1104274751)+W(7,1047880876,-1116198608,-1107876353,1036701569);sum2=W(0,1013753738,-1113150555,1015248850,1042650722)+W(1,1040818978,-1105652199,1033430289,-1120377801)+W(2,1020731454,1046742995,1045156685,-1104352239)+W(3,-1089864705,1045331461,-1109224259,1016214593)+W(4,-1120697178,1034035253,-1094710566,-1128318417)+W(5,1045040370,1025091411,-1106535436,1019751894)+W(6,1009873360,-1099358283,1039470065,1046693145)+W(7,1036008061,1030627793,1017876415,-1132110931);WS(1060496974,-1099362699); +sum1=W(0,1054706808,1036662868,1045895019,1033303646)+W(1,1044095763,-1130190200,1035564779,1040746168)+W(2,-1109706041,1041317773,1051554925,1049334366)+W(3,1051166813,1053590462,1049285205,1055551482)+W(4,-1098091909,-1123237413,-1091928498,-1083798889)+W(5,-1095315343,-1087007295,-1097088265,-1094550458)+W(6,-1129324363,1015757258,1021341985,-1112852963)+W(7,1041804248,-1127492145,1039262630,-1114905285);sum2=W(0,-1073385920,-1084887580,-1083140914,-1081800202)+W(1,-1085954594,1037413129,-1096433065,1054210787)+W(2,1077926840,1058818874,1060159151,1074845707)+W(3,1061906872,-1084431515,-1126824848,-1087315344)+W(4,1032559783,-1089669880,1045764296,1059775011)+W(5,-1103860568,-1094536545,-1133232881,-1099186518)+W(6,-1094451238,-1121878040,-1173171215,-1120435570)+W(7,-1115590029,1053315192,-1107838893,1052978812);WS(-1078369703,1041267413); +sum1=W(0,1024386586,-1098405416,1044040033,-1098286219)+W(1,-1130684104,1045750173,-1098338270,1041584973)+W(2,1041630887,-1112635974,-1132435208,1041292515)+W(3,-1091497929,1016159377,-1139597330,-1101611546)+W(4,-1102607056,1051293608,-1094040968,1052507157)+W(5,1056853585,-1105775474,1049412460,1026100205)+W(6,1016693023,1018393854,1046099151,-1095618428)+W(7,1018959206,-1117949682,-1118540325,1040982949);sum2=W(0,1035615459,1028814353,1062855981,1052250964)+W(1,1056109526,-1106019250,1048995011,-1115640692)+W(2,-1097925659,1038714809,-1077657685,-1101970047)+W(3,-1098468896,-1114182260,-1104046747,-1130122971)+W(4,1043665288,1033337220,1051048913,-1113114333)+W(5,-1085664062,1040975429,-1109605260,1034778788)+W(6,1020457849,-1103657321,-1109823715,1058024935)+W(7,1056999181,-1105846491,1042595027,-1112374505);WS(1049151900,-1114127847); +sum1=W(0,1050216581,1000015204,-1136218178,1023136961)+W(1,-1130455775,-1133465094,-1160090192,1035991733)+W(2,1044969414,1047621718,1057314961,1055877843)+W(3,1054358666,1052966059,1045850836,1052491071)+W(4,-1106856243,-1112471205,-1091938023,-1092033343)+W(5,-1099719178,-1089783713,-1099053307,-1087984664)+W(6,-1099359923,-1148711507,-1133921207,-1112054390)+W(7,1034273823,-1122838974,1019980258,-1112322824);sum2=W(0,-1105478410,1039552519,-1131405058,-1099466970)+W(1,1049027924,-1115050596,-1129231446,1049583286)+W(2,1011113448,1050864081,-1125310098,1043215106)+W(3,1034334973,-1095883745,1036178144,-1088635155)+W(4,1068049752,-1103020148,1066695202,1074596924)+W(5,1067601936,-1084539788,-1075514015,-1074115054)+W(6,-1082501551,1059003564,-1098156272,1039344435)+W(7,-1099880092,-1107282542,-1097076855,1042018058);WS(-1081332839,-1093454830); +sum1=W(0,-1109709318,-1104916884,-1108177419,-1117212646)+W(1,-1119705461,1032417267,-1118748528,987327371)+W(2,1035356975,1037116623,-1125155242,1030327966)+W(3,1050241163,-1103907222,1046095669,1033262333)+W(4,1039420520,-1122158672,1053028347,-1104761999)+W(5,1032136206,-1115200780,-1115609017,1029855614)+W(6,-1111308088,1014687039,-1112931654,1020526050)+W(7,-1119448076,-1112611266,-1136487898,-1104533373);sum2=W(0,1013207527,-1127355075,-1103159789,1040955478)+W(1,1008876024,-1116686760,1035764738,-1154118338)+W(2,-1118344664,1028266047,1043690369,1051132935)+W(3,-1108842627,1041402295,-1105537330,-1128237045)+W(4,-1124997045,-1117884424,-1116887196,1047094008)+W(5,1057384051,-1100609336,-1098518151,-1089828796)+W(6,1036829905,1016171285,1024917624,1041601336)+W(7,-1127506713,1033786361,-1114313206,-1102385561);WS(1063446990,1030048893); +sum1=W(0,-1131562670,-1099483503,-1106193120,-1102405700)+W(1,1021119810,-1113568905,1009340592,1030255032)+W(2,1043069042,1049571969,1061428532,1053095529)+W(3,-1115069793,-1119868742,1027160065,1043118346)+W(4,-1108681470,-1106599551,-1097709592,1046689338)+W(5,1029025472,1006738196,-1120287391,-1111789333)+W(6,-1108650254,-1106453175,1008661917,-1102088711)+W(7,-1123233168,-1104754348,-1136963210,-1114502129);sum2=W(0,1012371361,-1149491589,1023756477,-1165255819)+W(1,-1111467932,1019335917,-1140694601,1010513313)+W(2,1017109065,-1115161102,1012418345,-1111308586)+W(3,1015942947,-1106016138,1015823021,1026481588)+W(4,-1110016822,-1109821790,1060485172,1031379047)+W(5,1046805034,-1114576028,1024897044,-1114618076)+W(6,-1103671135,-1097972516,-1094449842,1049769129)+W(7,999148403,1022790203,1032463998,-1146831635);WS(1060385486,1040268319); +sum1=W(0,-1115333181,-1113839600,1026945989,1041834949)+W(1,-1100015113,1010458454,-1113704543,-1110169699)+W(2,-1105770459,-1104706211,-1085502934,-1112644646)+W(3,-1102865873,-1112283012,-1108020290,-1115522389)+W(4,1048230464,-1122113023,1051932092,1065603891)+W(5,-1105250533,1054415097,-1122402466,1046973419)+W(6,1022495614,-1115044751,997701279,1044329112)+W(7,1038196649,-1113673817,-1105082025,-1115640050);sum2=W(0,-1115664423,-1122287706,1044568139,-1099350461)+W(1,-1102715015,1042022920,1031291077,1032474264)+W(2,1041813775,1041645390,-1087138046,1067461852)+W(3,-1116572542,-1109622665,-1113357449,-1110133469)+W(4,-1142717933,-1094011677,-1124627987,1027339570)+W(5,1045144111,1054026149,-1122353792,1047364150)+W(6,-1120925434,-1119842210,-1120985148,-1113918825)+W(7,-1100833175,-1101147879,-1112018489,-1109170005);WS(1049043868,1050086952); +sum1=W(0,-1127858130,1025810768,1034666762,989092984)+W(1,-1115481017,-1119959429,1012364567,-1097661520)+W(2,-1091279607,-1101354119,-1089232423,-1092016019)+W(3,-1089729669,-1104525366,-1121438163,-1160888088)+W(4,1054362490,1044465651,1050465752,1058690160)+W(5,1053482909,1051092259,1019953121,1051219071)+W(6,1028884238,1022883995,1032068165,1005443958)+W(7,1007092039,-1149438996,-1137072337,1017307814);sum2=W(0,1030282550,1012065197,1049708534,-1101566471)+W(1,1043525707,1038111746,1040589253,-1106531005)+W(2,-1099759289,1050936278,1018991152,1050588571)+W(3,-1112383125,-1121285468,1039884984,-1113841779)+W(4,1070065566,1068820850,1068572253,1075164582)+W(5,1046261639,1053555382,1040055978,1058828770)+W(6,-1078832473,-1076346523,-1075628240,-1072955990)+W(7,-1093459475,-1088795804,-1099780818,-1090423367);WS(-1083655502,1074535575); +sum1=W(0,973651072,1028862937,1029517469,-1111330742)+W(1,1043404639,-1105397947,-1129726574,-1099887737)+W(2,-1100106921,-1096173461,-1088250868,-1101351113)+W(3,-1092528244,1034877328,-1113904430,-1118418050)+W(4,1049212555,1052529147,1057957824,1060855844)+W(5,1050267538,-1104065896,1041335934,1047916353)+W(6,-1122472503,996549482,-1111380529,-1125410415)+W(7,-1109626381,-1122247818,-1108333759,1037233742);sum2=W(0,1037582341,1032149251,-1135487115,-1107247151)+W(1,1053968825,-1096732175,1034930229,-1094249638)+W(2,-1116649305,-1112916551,1044443302,-1117703407)+W(3,1049963138,1042101117,1046616621,-1127010106)+W(4,-1107051108,1041643977,1030763641,1053360182)+W(5,-1087331905,-1089009482,-1110671517,1059951262)+W(6,1040538112,-1112067691,1036263743,-1115814520)+W(7,1035849297,-1104153316,-1104877620,-1116847106);WS(-1132786560,1056578758); +sum1=W(0,1031072232,1019453021,-1112153353,-1127115205)+W(1,-1153314582,-1105591705,986346381,1024604121)+W(2,1043718831,1050053971,1057505465,1049535379)+W(3,1052394474,1045418390,1044283028,1048806335)+W(4,-1098888378,-1104586611,-1090760605,-1081773448)+W(5,-1106021324,-1120283669,1036365944,-1103287167)+W(6,-1123786893,1030360908,-1123598824,1035671447)+W(7,1044649456,-1105554848,1033186457,-1108912601);sum2=W(0,1040658557,-1106354313,1027144364,-1103628435)+W(1,-1123462592,-1130705048,-1126068784,1016031184)+W(2,1011638864,1020064744,1049840877,1050147177)+W(3,-1117174472,-1105120318,-1113970774,-1135769248)+W(4,1041865287,-1103147627,1026998340,1053587315)+W(5,-1118058864,1036775410,-1104140895,1030416564)+W(6,-1109113498,1033931950,-1120927100,-1102211113)+W(7,1033328738,-1101351534,1028877580,-1112076066);WS(1062711758,-1109562142); +sum1=W(0,-1107075140,-1125545776,-1121788380,-1112684886)+W(1,-1128625782,-1102890883,-1129119788,-1102110160)+W(2,-1100622401,-1104747337,-1103229831,-1083301774)+W(3,1050510715,-1097610180,-1109077454,1030737729)+W(4,1053288051,1049612355,1059638178,1048337697)+W(5,1052952654,1051307580,1041285742,1049115768)+W(6,1017596397,1007433175,-1120034657,-1098025711)+W(7,-1112854653,-1108240645,1022176121,1020667959);sum2=W(0,1022257834,1033804876,1033963400,-1113268759)+W(1,-1123922685,1029999681,1015463858,-1125618402)+W(2,977550902,-1105772859,-1098748483,1063293804)+W(3,-1090033704,1051039483,-1104977553,1022914778)+W(4,-1113927342,1042844173,-1096777339,1059312088)+W(5,-1134320563,1037687330,1024487701,1004875175)+W(6,1036504102,-1107093105,1028160469,-1089861840)+W(7,-1101525036,1017532722,-1122996995,-1116068477);WS(1046002488,-1083997249); +sum1=W(0,-1116203964,1044431961,1041235242,1046371486)+W(1,-1106267745,-1117705943,-1122870401,-1109240562)+W(2,-1099156844,1028498222,-1096363997,-1079124621)+W(3,-1088685662,-1103556299,999993136,-1106798659)+W(4,1050076828,1049400252,1050263757,1020370202)+W(5,1048790666,1053355933,1034829570,1037276039)+W(6,1025075217,1035032656,1032516798,1050189128)+W(7,1042510329,1039724554,1027729159,1037249299);sum2=W(0,-1094982381,1024745423,-1097113645,1017043870)+W(1,1052555320,-1107563793,1049262968,-1118735987)+W(2,1041875660,-1091311273,1042706326,-1148119319)+W(3,-1098101314,1010824956,-1094774489,1030619863)+W(4,1017839086,1044409386,974632891,1061393923)+W(5,1043955676,-1098402228,1042935118,-1094515595)+W(6,1045890174,-1107764806,1048260200,-1118443235)+W(7,-1097368628,1041238578,-1116185663,1042214090);WS(-1083255246,-1075588436); +sum1=W(0,-1154522904,-1106371438,-1105464695,1036086422)+W(1,1023783355,-1127243930,1030176790,1031412139)+W(2,1026375684,1036249778,1056687627,-1097055709)+W(3,-1088556578,-1108055408,-1105944807,-1123388097)+W(4,-1099839750,-1113752075,-1092436626,1050924256)+W(5,1056650964,1045926824,1039385437,1041066449)+W(6,1037990411,-1119606102,1043935324,1036476796)+W(7,-1111337285,-1110940389,-1124332025,1021333175);sum2=W(0,-1117330831,1023708058,-1133288218,-1122435213)+W(1,-1139180683,1020252429,1025188082,-1109968059)+W(2,1032531181,-1114369361,1017487862,1047518334)+W(3,-1122916014,1027012545,-1103557501,1046855474)+W(4,1043756688,1031926890,-1104593512,1043258354)+W(5,-1096895795,1049767697,1019544307,-1112657711)+W(6,1060766869,1067300065,-1105945514,-1075696003)+W(7,-1102393264,-1106946489,1020047431,-1113285900);WS(1056055196,1023945849); +sum1=W(0,-1104545849,-1139517988,-1101013315,-1136100212)+W(1,-1148373856,1013350648,-1120654743,-1108930702)+W(2,1036175954,-1138851412,1048468083,-1097789539)+W(3,-1096999890,-1097071058,995622088,-1128233700)+W(4,1032040419,1009002268,1040659763,1059870683)+W(5,1039368714,1053644410,-1122818538,1033002810)+W(6,-1111539988,1026875367,-1104005681,-1112873620)+W(7,-1135793772,-1132670698,1028030253,-1133516850);sum2=W(0,1033182461,-1135790885,1036058972,-1145806187)+W(1,1026470367,-1125994579,-1123856921,-1152817846)+W(2,-1110992702,1041801313,-1115959119,-1083556559)+W(3,1047402951,1026458945,1021989349,1029289545)+W(4,1011638125,976542168,-1106760241,-1068720208)+W(5,1080067579,1043021822,-1118809257,1027196491)+W(6,-1116812221,-1135785781,1013579453,1034110873)+W(7,1048786168,-1124564059,-1115658442,-1110636256);WS(1047050040,1036867972); +sum1=W(0,1031952202,1040033213,1049413776,1052329098)+W(1,-1134253939,1023712847,-1129317744,1023414180)+W(2,1041031945,1050476745,1016870010,1054273441)+W(3,1041748879,1035493153,1041656495,1041394937)+W(4,-1098508279,-1097704487,-1091275871,-1087382286)+W(5,-1095309386,-1117526273,-1112254893,-1108492595)+W(6,-1117663192,1033331580,1012948685,1043041286)+W(7,-1131302504,-1125396951,-1153578470,-1112644847);sum2=W(0,-1120609508,-1098653081,-1074671298,-1081276780)+W(1,-1097107702,-1110118090,-1137118351,-1119823807)+W(2,-1138324119,1042859622,1072071026,1068070176)+W(3,1044485226,1040658983,-1118978815,1035453187)+W(4,-1110367912,1038385587,1026263792,-1107049493)+W(5,1024907208,-1122488627,1038809437,-1111098449)+W(6,1021280635,1026624912,1026288466,-1122098825)+W(7,1040255596,-1152233050,-1126727249,1006813455);WS(1047287096,1059538103); +sum1=W(0,1030804480,-1111595219,-1123153834,-1098057279)+W(1,1007980582,1018775223,1036089754,1030691489)+W(2,1034749929,1051408038,1049213285,1057344539)+W(3,1048793645,-1106759404,-1115115061,1033654600)+W(4,-1102474905,-1094490621,-1099609086,1048597242)+W(5,-1094890059,1046324795,1003815995,-1126686757)+W(6,1013951379,1039425378,-1112788128,-1098419769)+W(7,-1118093753,-1108341356,-1120388747,-1135294247);sum2=W(0,-1112864979,1034721747,-1108077379,1023366533)+W(1,1021246669,1032508120,-1113986367,-1153257254)+W(2,1024004698,-1109416755,988806988,1058238498)+W(3,-1115279539,1041332549,1033457886,1018109285)+W(4,1034996841,1041661735,1041642045,1008174217)+W(5,-1122858630,-1089151778,-1130797677,-1111548255)+W(6,1004307827,-1116757818,1037366938,-1107547239)+W(7,-1108868659,-1128614293,-1130732717,-1122125438);WS(1066216871,-1084582294); +sum1=W(0,1009745022,1023325836,1034246149,-1103455511)+W(1,1025953385,-1105242559,988118663,-1107601837)+W(2,-1095963722,-1096473834,-1087129751,-1142570129)+W(3,-1094684497,-1107829831,-1107520037,-1117719279)+W(4,1050775177,1046303345,1057767679,1064400323)+W(5,1038452388,992534739,1025316967,1044853309)+W(6,1027534757,-1126933960,-1118146623,-1103828265)+W(7,1018950609,1030437560,1020674901,1033139589);sum2=W(0,-1127013105,1018526115,-1123587641,1052346460)+W(1,-1098654594,1029804743,-1118240305,1030491706)+W(2,1031626404,-1117975133,1062148372,1074624908)+W(3,-1090512380,-1070854231,-1095518794,1041467716)+W(4,1029958550,-1113082476,1035325186,-1130733653)+W(5,1046581721,-1113725416,1031776819,-1115594754)+W(6,1017794797,1023300847,-1145491637,1041942663)+W(7,-1113152926,-1139181075,-1120299385,-1142763637);WS(1033725552,-1082653885); +sum1=W(0,1027658456,1033791775,1038169633,-1130834725)+W(1,-1105755912,-1107114253,-1106878767,-1102176852)+W(2,-1091894661,-1094613753,-1085886368,-1094605577)+W(3,1049096200,1038006563,1040399888,1038046228)+W(4,1054730080,1052727904,1060322284,1054915405)+W(5,-1115316932,-1113871235,-1114082704,-1098681477)+W(6,1024810077,1020875129,-1114253244,1021660859)+W(7,1010914050,1032412472,1016596422,1044096992);sum2=W(0,-1126607908,-1111819446,1032709615,-1119610542)+W(1,1027594385,1029384695,-1115269200,1032209203)+W(2,-1109006144,1050929158,1025316173,-1107176811)+W(3,-1123863107,-1122531221,1026796828,-1115616555)+W(4,-1093467963,1063076656,1048889614,-1090320472)+W(5,1046933317,1051206364,997945380,-1109796884)+W(6,1059727060,1073053378,1073749745,1058093447)+W(7,-1079533534,-1073154062,-1075936158,-1088004581);WS(-1087442510,1045166814); +sum1=W(0,-1106921670,1032907600,-1111070674,1047421629)+W(1,-1094092352,1031075349,-1136240762,-1129052086)+W(2,1032009478,-1127325529,-1106321881,-1085655355)+W(3,1057239638,-1098381173,-1128650952,-1107389381)+W(4,1041337656,-1100890040,1060092296,1044767811)+W(5,1040377247,1037296628,-1131454723,1037463686)+W(6,-1110338367,1042108264,-1105899594,1027442111)+W(7,-1105935775,1037469097,1027139781,991481919);sum2=W(0,-1119426781,-1109786529,1041819143,1018220925)+W(1,-1103055916,-1124599508,986571056,1024618671)+W(2,1040351141,1043540747,-1105926532,-1133247980)+W(3,-1096724541,1038612076,1019567362,-1143357456)+W(4,-1104019881,-1106797782,-1098594115,1066013053)+W(5,-1136157126,-1097021086,1025702119,1008181894)+W(6,1015410156,1043466418,1048709183,-1092013542)+W(7,-1109288787,1027934232,-1140871148,1027080058);WS(1059279054,1041683061); +sum1=W(0,1028823114,1033060856,-1136683218,1041097809)+W(1,-1108712682,-1099515041,-1114499693,-1105525449)+W(2,-1096417644,-1095251776,-1096755466,-1095420880)+W(3,-1087904547,-1117180600,-1113115866,-1121084634)+W(4,1041071884,1051348966,-1106154521,1062896338)+W(5,1057053635,1050313119,1041134484,1043053335)+W(6,1040139175,-1133443258,1027763154,1037083176)+W(7,-1109247178,-1169250436,1007514196,1031868218);sum2=W(0,-1104031080,-1113246189,-1124792744,-1107688308)+W(1,-1084040655,-1089958554,-1098618924,-1098033920)+W(2,1039900182,1044206765,1043086617,1057123143)+W(3,1066602722,1037219700,-1111210157,1036938090)+W(4,1028023758,-1122555834,1041018096,-1100462314)+W(5,-1123151815,1032289221,1028867168,-1143651414)+W(6,-1125301559,1027754708,-1129842792,1022410763)+W(7,1034604384,1029558442,-1139711519,-1122704124);WS(-1093886876,-1092780259); +sum1=W(0,1031521076,1040859655,-1123954783,-1115369432)+W(1,1027325374,-1130075936,1017430099,1005655277)+W(2,1034696971,1027092583,1057011018,1055452141)+W(3,1055461116,1043845385,1041326696,1045628689)+W(4,-1098366291,-1107551117,-1084481759,-1086775792)+W(5,1050583573,-1098824964,1032795870,-1110858724)+W(6,991412379,1023411481,1037665034,1037775165)+W(7,-1102735091,-1106471523,-1113156096,-1108701199);sum2=W(0,-1099549152,-1101982776,1039636960,1065032135)+W(1,1046191187,-1112740199,-1120755726,-1138571865)+W(2,-1115620025,-1110046443,1067650764,-1096892917)+W(3,-1084058149,-1089814493,1022618460,-1106519005)+W(4,1042476476,-1138118945,1056117723,-1084935200)+W(5,1043334912,-1116550886,1030169574,-1123579094)+W(6,-1128057356,-1104607948,-1129519972,1039009532)+W(7,1042222420,-1114781123,1023299940,1029490149);WS(-1103384376,1050555318); +sum1=W(0,990997212,-1104723373,-1102560870,-1110645588)+W(1,-1114771100,1006886950,1011892746,1041403778)+W(2,1056616014,1049493908,1060440249,1063537686)+W(3,1049398171,-1123261404,1042753094,1041297647)+W(4,-1113359817,-1101985253,-1095607555,-1091747296)+W(5,-1098384586,-1094355067,-1098733239,-1099641616)+W(6,-1104278389,-1112669305,-1117918862,-1124628967)+W(7,-1120789735,1020875660,1029891897,-1143354303);sum2=W(0,-1097904627,-1102268820,-1101696600,-1102083058)+W(1,-1100977750,1022682138,-1105396681,1035758392)+W(2,1056762738,998260703,1049156882,1055125136)+W(3,1040009482,-1099421122,-1114104451,-1112582051)+W(4,1033294591,-1102966386,1040206209,1048772561)+W(5,1004029807,1040485303,-1118051402,1040482786)+W(6,-1113205081,-1105114179,1028552759,1023069474)+W(7,-1108173489,1040370279,-1109779069,-1135668672);WS(1042369848,-1095650924); +sum1=W(0,1032801852,-1124780413,-1142443027,1031124370)+W(1,1024489633,1037041722,-1157391942,1048283534)+W(2,1060985291,1056066249,1059062488,1046815795)+W(3,1051554984,1026983110,1037131073,1028118439)+W(4,-1088222536,-1093287088,-1089766974,-1084610255)+W(5,-1096293908,1035048291,-1113190096,-1107690581)+W(6,-1154392525,1017158008,1041310978,-1111535759)+W(7,-1118760812,-1118618480,1032589425,-1101944856);sum2=W(0,1056251107,-1118435725,-1111043713,-1090037466)+W(1,-1129656805,-1093926860,1052716525,-1083761792)+W(2,-1084477192,1041984407,-1093515412,1073185178)+W(3,1051712939,1053076395,-1096065312,1066458198)+W(4,-1077785336,-1086371528,-1093010832,1074151927)+W(5,1054463958,-1094829660,-1090812268,1063500158)+W(6,1053829707,-1113013425,1046411943,-1090694669)+W(7,-1095714333,-1103046632,1035367276,-1087950464);WS(-1081634407,-1072784825); +sum1=W(0,-1102740818,-1115394775,-1101924733,-1100839185)+W(1,-1123768914,-1140848016,-1118249725,-1116477425)+W(2,1024862651,1046040367,-1109613465,-1115978107)+W(3,1049722038,-1098661743,-1138059466,1025943000)+W(4,1056867014,1027952685,1058509811,1050187219)+W(5,-1098437541,1033615035,-1143195264,-1132571500)+W(6,1016622683,-1112643478,-1096240139,-1101581667)+W(7,1008822020,1023463264,-1116668435,1036595961);sum2=W(0,-1139809909,-1126178115,1032546581,-1097752958)+W(1,1042272246,-1118367610,-1138081685,1017774855)+W(2,1046126277,-1111752353,1034216546,1042101074)+W(3,1043290796,-1112722386,1034532478,1030093406)+W(4,-1119940899,1055245806,-1088954301,1058677046)+W(5,-1087007443,1048637958,-1140548675,1029648824)+W(6,1040903120,-1104413152,1019748625,-1089277711)+W(7,1028591970,-1139620757,1017306737,1033828758);WS(1050645916,1033550915); +sum1=W(0,-1118556120,-1108262319,1043230361,-1094947334)+W(1,-1103841584,1018079143,1032598742,1008731683)+W(2,-1107219907,1043545243,-1086762442,-1104041435)+W(3,1058293794,-1097977901,1041130248,-1123331655)+W(4,1039060494,-1145250020,1059123936,1057758321)+W(5,-1096913490,1039599795,-1151122424,-1123961290)+W(6,1030703933,-1110184190,-1110311564,-1100512367)+W(7,1044416908,-1132472896,-1147952664,1022228292);sum2=W(0,1040267615,1048409433,-1107165984,-1086251247)+W(1,-1113957324,-1107976602,-1122078587,-1111525785)+W(2,-1112791644,-1110540665,-1088877638,1053330884)+W(3,1057377190,1057673067,1024512949,1042772014)+W(4,1010515766,1032365064,-1090038325,1049266570)+W(5,1028890653,-1103454662,1041725883,-1143554104)+W(6,1024308395,1041630361,1040244783,1037513285)+W(7,-1098504745,1039941233,-1103661415,1024552651);WS(1051978908,-1102077462); +sum1=W(0,-1132165009,-1117187439,-1108837850,1037183202)+W(1,1028473682,1045655273,1025240990,1033734537)+W(2,1045761591,1051430047,1060286099,1046972447)+W(3,-1128782822,1028047735,-1178179968,1035331372)+W(4,1013540534,-1096198150,-1130717861,-1085387922)+W(5,-1105434962,-1101497054,-1110960744,-1102517015)+W(6,-1106078467,1014010165,-1121999817,1030141582)+W(7,1008925446,1018887490,-1122721428,1026996307);sum2=W(0,1023072493,-1125531833,1030396885,-1118880502)+W(1,1027419877,-1161271853,1019485964,1028708277)+W(2,974611657,1047662948,1035351326,-1090109833)+W(3,-1110942359,1033315833,1010290822,-1156901930)+W(4,-1101792417,1051899312,1080526024,-1069022098)+W(5,-1087739606,1036440530,-1124554651,-1114394737)+W(6,-1112121991,1037288067,1042102238,-1113214479)+W(7,1032127295,-1143368203,-1132377096,-1141169667);WS(1058455886,-1096183470); +sum1=W(0,-1105360672,-1112035684,-1105059667,-1103063975)+W(1,-1112638549,-1104182327,-1106250503,-1103319623)+W(2,-1112611850,1032735242,1048808633,1042817013)+W(3,1058906409,1047248804,1047193699,1057710235)+W(4,1060616064,1033545283,1051085625,-1097442806)+W(5,-1102188695,-1103229812,-1106970890,-1109193562)+W(6,-1104075433,-1111940643,-1115570744,-1097216429)+W(7,-1107200030,-1108265532,-1119499692,-1106901731);sum2=W(0,-1135393651,-1131009665,1004138181,-1111055824)+W(1,-1134829555,-1127256265,-1113946573,1010148467)+W(2,-1114274101,1016197705,-1143366053,1051632163)+W(3,-1111579981,1038147066,1025185617,-1137859715)+W(4,-1117767149,-1130986601,1026922589,1048764370)+W(5,1036257166,-1112945554,-1143942149,-1123068365)+W(6,-1110403581,-1136444051,-1112183743,-1121253595)+W(7,1009689523,989872074,-1123668797,-1123716033);WS(-1103618872,1023577831); +sum1=W(0,1041702149,1032268701,1021026046,1032012647)+W(1,1023662430,-1111766616,-1112590149,1042231991)+W(2,1057806109,997904496,1057675340,-1129702414)+W(3,1056283152,1039716321,1049875952,1054291708)+W(4,-1091063799,-1106010126,-1090884608,-1094077941)+W(5,-1094732237,-1100869456,-1105996279,-1098425069)+W(6,1022049043,-1102660926,1046995709,-1100395542)+W(7,1050214494,-1096243374,1047647816,-1100607928);sum2=W(0,1073849383,1069429154,1070121938,1066905653)+W(1,-1087755842,-1080359597,-1073496568,-1070245916)+W(2,-1072987051,-1080077361,-1076996297,-1086754234)+W(3,1060194671,1067521081,1074652354,1075883836)+W(4,1040644897,-1098556311,-1124122091,-1095882058)+W(5,-1096747545,1048551041,-1092793409,1058695504)+W(6,1022236877,-1128073567,-1118780260,1027638421)+W(7,1012182550,-1129108935,-1130588931,1001812541);WS(1010873216,-1100304815); +sum1=W(0,-1154187044,1028741017,-1114247598,-1099084427)+W(1,-1104966895,994968800,-1113228468,1028263947)+W(2,1045945805,1051026373,1058185854,1059904750)+W(3,1052860588,1038231664,1040557287,1032103905)+W(4,-1102222630,-1103217414,-1097780567,-1091550752)+W(5,-1108718914,-1110664976,1017403508,1017865354)+W(6,-1113759340,1022415534,-1105383733,-1111624796)+W(7,-1114326870,-1110217221,-1108875519,-1109350878);sum2=W(0,-1114639192,1039210963,1047528380,-1099502544)+W(1,1041344628,-1108972702,1021595805,-1116883371)+W(2,-1100331344,1069298433,1080352854,-1067747068)+W(3,-1080996124,1032407437,-1121090437,1016604711)+W(4,1035901690,1043940791,1030733380,-1084572959)+W(5,1003800555,1045939813,-1121287047,-1122259179)+W(6,1012858414,-1126620651,1036529177,-1099630936)+W(7,1043527822,-1119860547,-1145664907,1034105585);WS(1044302648,-1104457270); +sum1=W(0,-1115179413,-1101763748,999269803,-1106420033)+W(1,1041707045,-1128885581,-1110751840,1029110244)+W(2,1029190781,1045938783,1034810490,1055724168)+W(3,1053359959,-1100033022,1037908026,1035419021)+W(4,-1108944696,-1102720380,1038235218,-1101615303)+W(5,-1094303566,1043259278,1011056201,-1123807773)+W(6,-1115207128,1013266237,1025157307,-1105407492)+W(7,1045691477,-1113033137,-1114066571,-1113282394);sum2=W(0,-1117238549,-1115295266,1033754662,-1095438097)+W(1,-1106855439,1011060498,-1117460606,1032653312)+W(2,-1109414288,-1128441429,-1104877135,1053172955)+W(3,1056926069,-1108715476,1036225840,-1114450934)+W(4,-1115125848,-1121954754,1018153798,1038786210)+W(5,-1104082080,1043675119,1008366234,1018894269)+W(6,1023475415,1024122972,1002646200,-1106263750)+W(7,1034246226,1025499367,-1107090094,1013321052);WS(1068015911,1043072951); +sum1=W(0,-1127841379,1035792844,-1155603908,1018341976)+W(1,-1111053022,1044403491,-1112313859,1005208661)+W(2,-1101991257,-1091973141,-1110119406,-1095315357)+W(3,-1107228151,-1111437840,-1097295811,-1103670736)+W(4,1041159238,1040826438,1052691071,1053842800)+W(5,1042506601,1050221764,1030249017,1046985745)+W(6,1035382295,-1098419575,1043898844,1030324599)+W(7,-1108241413,1043481954,-1098652336,1032196534);sum2=W(0,-1134315530,1033824390,-1112867968,1039862799)+W(1,1005143468,-1114969920,1030354102,-1131720457)+W(2,-1125722365,1019923991,1039464885,-1087456726)+W(3,-1119378177,1042059959,-1113780490,1009971850)+W(4,-1135384490,998580556,-1093291922,-1061395777)+W(5,-1106942114,-1121281813,1034179020,1032010553)+W(6,-1118933131,1027495017,1045077367,1087627027)+W(7,1034637079,-1148550692,-1118611519,-1117397469);WS(1060186318,-1131602669); +sum1=W(0,1022422466,-1102049002,1050775273,-1097141731)+W(1,1056872997,-1099566807,1025667942,1032894309)+W(2,1050205114,1052887138,1052456073,1049038746)+W(3,1040490435,1039690728,1043457059,1045856748)+W(4,-1099402401,-1102238785,-1100510367,-1088759247)+W(5,-1122526498,-1099089908,-1102859210,-1106963501)+W(6,-1112848707,-1106285089,1039607513,-1098786589)+W(7,1048305743,-1104192622,1032266998,-1118572779);sum2=W(0,989650422,-1108234271,-1120122674,1045260201)+W(1,-1114112879,1037831837,-1117501250,1024132690)+W(2,-1120410947,1050158699,-1092804082,1024838498)+W(3,-1125280065,-1119936776,-1114421818,1035095434)+W(4,1047633630,1066272871,1075424781,1061734347)+W(5,-1091697647,1003481288,1011848513,-1106020023)+W(6,-1081060940,-1074101109,-1079387458,1050344942)+W(7,1043540897,1039609275,-1131708367,1026462111);WS(1057810382,986287880); +sum1=W(0,-1105255365,1027767677,1037147968,1038550632)+W(1,-1136315263,1035749561,-1115075413,1028257967)+W(2,-1110142276,-1106138450,-1092238936,-1090210593)+W(3,-1089134184,-1093055129,-1097497096,-1089420006)+W(4,1041191503,1031406779,1027980992,1049547413)+W(5,1052451129,1057536820,1050343212,1058108487)+W(6,1050176972,-1130243957,1041310918,1041377527)+W(7,-1115128119,1033537239,-1127231554,1031965752);sum2=W(0,-1099824579,-1113793286,1053512844,-1112943238)+W(1,1041834894,-1099992002,-1120789532,1024916046)+W(2,1070708271,-1104040400,-1091831853,-1072548459)+W(3,-1093778092,1057576575,1064181862,1051972140)+W(4,1075074245,-1084124078,-1082668198,-1072503695)+W(5,1056090411,1053907302,1058602971,1054786345)+W(6,-1097074436,1023561426,1039380165,1009216489)+W(7,1043969626,-1107563771,1034348623,-1106961801);WS(-1075707047,1038147646); +sum1=W(0,1038492938,-1115961531,1036899040,1041066756)+W(1,1038870159,1045702796,1022987667,1044017707)+W(2,1050722763,1026800423,1055626176,1052178217)+W(3,1027667391,1053246416,-1100305296,1049962981)+W(4,-1095596015,-1103730686,-1091210886,-1090286882)+W(5,-1094135001,-1095582752,-1109653838,-1093296229)+W(6,1040870942,-1122935577,1047700685,1036539085)+W(7,-1102625947,1048523811,-1105859960,-1117734303);sum2=W(0,-1145353723,-1113260796,-1112198364,-1113367096)+W(1,1007958125,1047146251,-1122974002,1021064313)+W(2,1027969677,-1095928859,1052169305,1052353113)+W(3,-1129450520,1051473061,-1091037095,1050393555)+W(4,-1115030411,1031463199,-1108227013,1051016428)+W(5,1041462653,1045242344,1032341221,1020102815)+W(6,1052090154,-1110261785,1041877601,-1099630700)+W(7,-1087173862,-1102681887,-1095485390,-1111896409);WS(-1102302520,1068562064); +sum1=W(0,-1130894152,1029216267,1029150351,1029804895)+W(1,-1108054071,1046304488,-1107326720,1018120580)+W(2,-1101486038,-1094978851,-1104755260,-1093484995)+W(3,-1110271975,-1106599349,-1102131284,-1102274525)+W(4,1044130034,1029251017,1053252560,1050941559)+W(5,1036880709,1050863202,-1128083416,1047248574)+W(6,1031789673,-1102217970,1042516209,1040658618)+W(7,-1113036417,1041743615,-1102226940,1032422999);sum2=W(0,1019111797,-1123809812,1006739898,1041109085)+W(1,-1126211453,1028972357,-1118372569,1025713585)+W(2,1022527979,-1111065998,1031759809,-1095097056)+W(3,1034613952,-1107360163,1033659253,-1118642675)+W(4,-1131519898,1023737355,1045357020,1082939698)+W(5,1027342607,1033832936,-1112248823,-1118824157)+W(6,1029130971,-1117143513,-1106220344,-1064938697)+W(7,-1122955245,-1112280546,1032152906,1028082979);WS(1066566439,-1125753148); +sum1=W(0,1020091828,1041951168,-1130301450,1052053147)+W(1,-1131231944,1033588155,1009411772,-1116682291)+W(2,-1096367972,-1098758994,-1093467737,-1089881409)+W(3,-1092544881,-1098181717,-1110070786,-1096392077)+W(4,1038767583,1048997640,-1130818632,1064063659)+W(5,-1116991019,1042770882,1046860728,1027361773)+W(6,1030663671,1025331919,-1108818909,1044746920)+W(7,1022962726,1041997189,1018371147,1038578846);sum2=W(0,-1105507764,-1149004498,-1098298748,-1115729482)+W(1,-1094576030,-1111478010,-1129010369,1018600957)+W(2,1019815533,1047279899,-1106660204,1058550934)+W(3,1031191852,1032716298,-1117054989,1019851909)+W(4,-1136431769,-1121679526,-1096656341,1058580319)+W(5,-1098228632,1041490224,1047791827,-1106522387)+W(6,1024962860,1041000955,-1107413740,1027135608)+W(7,-1101441076,1035067556,-1123460834,1005788722);WS(1050996380,1066787661); +sum1=W(0,1042843177,-1120310187,1033453959,-1107450543)+W(1,1017862620,-1134072575,1025308393,1033769739)+W(2,-1109518091,1043911830,1059519229,1061971625)+W(3,1051823058,1046601317,1042112788,1046863997)+W(4,-1098674409,-1097687209,-1096304487,-1098011863)+W(5,-1095767039,-1095249970,-1098354285,-1098417599)+W(6,-1112832565,-1133582755,-1116528532,-1105396874)+W(7,1033796902,999923683,1030029487,-1109771063);sum2=W(0,-1103321099,1033376724,-1108916223,1033194077)+W(1,1038197771,1032881798,1017830932,-1138730935)+W(2,-1087654445,-1114493691,1049058628,1065240604)+W(3,-1128335788,-1094150295,1006224046,-1112103411)+W(4,-1098379129,-1096458683,1036368268,1054396447)+W(5,1049730119,-1108472207,1031462702,-1102017203)+W(6,1013739975,1015354012,-1121134774,-1115257551)+W(7,-1129699908,1021079748,-1117224382,1038189385);WS(1027314912,-1081149641); +sum1=W(0,-1109480125,-1114947760,-1101195017,-1132100201)+W(1,-1103759537,1044342469,-1111893319,1051194426)+W(2,1051429188,1053252314,1058130398,1061393767)+W(3,1057940398,-1104522586,1055491172,-1120202825)+W(4,-1118844062,-1094077252,-1113091794,-1085308129)+W(5,-1102037735,-1094497965,-1103334896,-1094870250)+W(6,-1097611416,1034118735,-1104617542,1035982720)+W(7,-1114189097,1036294793,-1128796810,1030785028);sum2=W(0,-1131039707,1024995350,-1104486127,1015537291)+W(1,1053996441,-1103676904,1047124046,-1111129691)+W(2,-1098833779,-1124760267,-1078713050,-1065942779)+W(3,1047686732,1084085461,1064521940,-1093915430)+W(4,-1147567565,1057070390,-1091843304,-1081156610)+W(5,-1094140189,1060423478,1046849692,1018309905)+W(6,1035790053,995065627,1037354874,-1154356731)+W(7,-1107145709,1026796886,-1108476011,1038591472);WS(-1081542375,1044780323); +sum1=W(0,1026864081,-1100303790,1048337215,-1098110473)+W(1,1054474587,-1099969099,1023999910,1028627178)+W(2,1046719985,1054288460,1054459103,1048901488)+W(3,1041639871,1034589376,1043694031,1046235480)+W(4,-1098857847,-1108679899,-1098101851,-1093175556)+W(5,-1104037973,-1107626335,-1101510966,-1106600025)+W(6,-1114219435,-1104586877,1041408644,-1098306531)+W(7,1046672715,-1104199322,1022681657,-1126646775);sum2=W(0,1017985090,1027847194,1036519222,-1113167123)+W(1,1037009826,-1113380621,1031131596,-1115360802)+W(2,1024212320,-1098721130,1050387030,-1094712479)+W(3,-1100822056,1028269032,1009055356,-1113841920)+W(4,-1099849981,-1081468176,-1070464929,-1096550174)+W(5,1057690620,1042714784,-1145638655,1046010973)+W(6,1067245211,1074345814,1070597407,-1088417301)+W(7,-1104880956,-1102737214,1000105719,-1112342255);WS(1059294542,1020616832); +sum1=W(0,-1157534552,1039080142,-1097783100,1031217968)+W(1,-1164216296,-1138897989,1026686634,-1105498094)+W(2,-1096856701,1044861738,-1089052876,-1085780263)+W(3,1044573672,-1097342660,1041475528,-1105558033)+W(4,1050532499,1041652423,1057029426,1047119538)+W(5,1039715347,1043073721,1040308239,1048391538)+W(6,-1112831597,1046540791,-1098369827,1040272239)+W(7,1024931118,-1103025619,1045404192,-1114523696);sum2=W(0,-1106291706,1001372950,-1099590495,-1093748925)+W(1,1015225205,-1105937891,-1112612361,995169980)+W(2,1040318024,-1105705183,1045484852,1061316313)+W(3,-1098311584,1041085521,1028378294,1035732349)+W(4,-1114208076,-1116263519,-1108179199,1049891427)+W(5,1040668388,-1111581107,-1115787941,-1113959318)+W(6,-1142193319,-1145917455,1036599633,-1108356360)+W(7,-1148092276,1032743264,1021281994,1024794158);WS(1059376718,-1137270291); +sum1=W(0,-1118257199,1037392427,-1097794403,1035766677)+W(1,1026067385,1032186693,-1108679762,-1139304576)+W(2,1043258576,-1106073464,1054680411,-1099046488)+W(3,-1088020070,1041392887,-1113652045,-1111666975)+W(4,-1114290826,-1124279079,-1115190716,1052189312)+W(5,1054691490,-1097245116,1025610423,-1123561026)+W(6,-1112002778,1022160871,1045843716,1011458515)+W(7,-1110958220,1046761570,-1117145658,1032305501);sum2=W(0,1025244035,-1122852568,-1092220395,1038019467)+W(1,1048072683,-1113553750,-1119930901,-1139793711)+W(2,1033595807,-1087687504,1066421651,1047700223)+W(3,-1084925862,1050883425,-1105555859,-1146566911)+W(4,1016573022,1048825911,1058107887,-1089540205)+W(5,1045215493,-1098430697,1041208433,-1124843514)+W(6,1002397687,-1104089806,-1130145014,-1111655831)+W(7,1032935415,1015641098,1001885951,-1131703250);WS(1058596686,1013962118); +sum1=W(0,1000024554,-1127551432,-1100000762,1035333436)+W(1,-1122612871,1044766998,1041477861,1051562743)+W(2,1052551424,1049056438,1057499982,1036076760)+W(3,-1127972943,-1116046252,-1118015335,-1099275107)+W(4,-1088298614,-1098656348,-1090756927,-1097067922)+W(5,1040213184,1015197910,-1123679237,-1122278672)+W(6,1039656505,1034731345,1019232187,1033429441)+W(7,-1125045580,-1113717771,1037833508,-1122272135);sum2=W(0,-1104434141,1029025211,-1078497608,-1079110377)+W(1,-1085502108,1066279808,1062913146,1068620036)+W(2,1048601996,-1091369704,1052827694,-1106615386)+W(3,-1115334546,1037382016,-1122817088,1048688798)+W(4,1033271157,-1119340081,1025214064,-1109539756)+W(5,1050957039,-1106594885,1036274829,-1118139306)+W(6,1004930429,1028438774,-1106316897,1034989376)+W(7,-1108631008,1023198169,-1134348613,-1139733884);WS(1044771128,1023341948); +sum1=W(0,-1156220044,1034545464,1033488922,-1111313058)+W(1,1038420969,1008511890,1013986230,1011084871)+W(2,-1092336191,-1098819215,-1096491302,-1086850728)+W(3,-1102939421,-1100928894,-1115524377,-1089482302)+W(4,1051560294,1044146859,1051910286,1045449190)+W(5,1053458817,1038883707,1012126018,1046748951)+W(6,1036528391,1029114797,1022761170,1029767950)+W(7,1041877300,1034675856,1037411178,1043196317);sum2=W(0,-1071004894,-1080574884,-1089987082,1049506323)+W(1,1065282653,1062249589,1060165079,1070844945)+W(2,1076503146,1066884159,1058011283,-1098882467)+W(3,-1084978169,-1088626314,-1082249713,-1077734377)+W(4,1057610169,-1107351326,1054000347,-1090234844)+W(5,1030898490,-1090230279,1044380003,-1096516163)+W(6,-1122913984,-1130255370,1038970611,1014162118)+W(7,-1114000490,1022492087,-1131621088,1013009282);WS(-1111817840,-1134998409); +sum1=W(0,1022731056,1045262352,1044888721,1029818259)+W(1,-1105915720,-1114660906,1027479949,991785104)+W(2,-1102901203,-1094315057,-1085070720,-1111793509)+W(3,1055206544,1046806370,-1123039746,-1136267423)+W(4,1029699069,1052915216,1058770140,1057078063)+W(5,-1095183540,-1097451385,-1112670352,-1114500629)+W(6,1021112442,-1107194439,-1097785743,-1117717150)+W(7,1040740592,1036425016,1005586201,1016465988);sum2=W(0,-1129690332,1030842707,-1123486113,1054087898)+W(1,-1105176966,-1097205966,-1098021434,-1106929221)+W(2,-1113356803,1026318374,1041923626,-1089332833)+W(3,1068558125,-1141184456,-1107728348,-1104288342)+W(4,997943457,-1119512995,1037525758,-1088292904)+W(5,1040210770,1050151959,1018682892,1006954668)+W(6,1015499837,-1180561029,-1144014736,1037328869)+W(7,-1107365912,-1114055561,1009592392,1013301204);WS(-1100650808,1043653943); +sum1=W(0,1038392637,1032036848,-1120772452,1043637149)+W(1,1040259489,1047398869,1038054351,1050576478)+W(2,1044290651,1040683515,-1106266873,-1090111931)+W(3,-1133467790,1044787930,1023591523,1037223428)+W(4,-1095199164,-1115398639,-1094097345,-1097393337)+W(5,-1104941765,-1101572298,1016760834,-1102689443)+W(6,1033771919,1038316223,1042896310,1045751664)+W(7,-1159203906,1015063331,1030908740,-1125005703);sum2=W(0,1018053796,1000548496,1049079603,1039189619)+W(1,-1128574308,-1118597354,-1106984497,-1104543855)+W(2,1046306039,1043541862,1010667960,1064529690)+W(3,1047996002,-1087406141,-1095617964,-1086946593)+W(4,-1101305605,1029064982,-1116813778,1038487223)+W(5,-1100258391,1048794746,-1114392997,1045938007)+W(6,1031448374,-1112893849,1021972628,-1105518867)+W(7,1037842238,1033382833,1021089548,-1140458600);WS(-1121537248,1047151836); +sum1=W(0,-1096325448,-1113135282,-1098188693,-1112146268)+W(1,-1108791588,-1117696601,-1123869651,-1114157115)+W(2,1052654400,1035132488,1046868890,-1134150082)+W(3,-1129891280,-1098847494,1032919412,-1107856679)+W(4,1000450324,-1110395025,-1139200797,1049727010)+W(5,1041189572,1056884317,1041128337,1058220805)+W(6,-1116556387,1023519458,-1111260975,-1110207458)+W(7,-1104838938,-1098805187,-1146298440,-1103148146);sum2=W(0,-1142864271,1021304865,1043366966,-1107584343)+W(1,1014758407,-1130465374,-1120740451,1000478551)+W(2,1043572739,1026011378,-1102859954,-1080136051)+W(3,-1103597159,-1115654645,1046511165,1053224660)+W(4,-1125571574,1028667063,1022196210,-1072538638)+W(5,-1076945816,1048815254,1072551214,1074776028)+W(6,-1107989855,-1140649559,1020722946,-1132367054)+W(7,1041979768,-1126224006,1027667511,1048839210);WS(-1086568910,969651201); +sum1=W(0,-1128189323,1044154939,1043534732,-1114366976)+W(1,-1098469330,-1101372520,-1123038043,-1132910587)+W(2,-1096064919,-1089612648,-1084798775,1053159863)+W(3,1053431542,1050787607,1036747448,-1116020373)+W(4,1047521403,1054908701,1056987371,1057685165)+W(5,-1089249613,-1090701774,-1105030179,1027268120)+W(6,1043461231,-1099266659,-1113308531,-1152040120)+W(7,1042761408,1049635020,1010635844,1018344000);sum2=W(0,1042932965,-1103428495,1039997403,-1093583228)+W(1,1044856824,-1121819542,-1177180368,1028413178)+W(2,-1103892922,1060495074,1052448567,-1075640666)+W(3,1057723154,1057002090,-1112150955,-1118134166)+W(4,-1104364155,1060109323,1064108701,-1073056297)+W(5,1055665788,1060503917,-1116550688,-1110515035)+W(6,-1139842168,-1118896922,991756114,-1097481656)+W(7,1040659602,-1099984054,1034919451,1041069777);WS(-1084093518,-1116656412); +sum1=W(0,1002008836,959481663,-1104590931,1050696243)+W(1,-1106608235,1047962207,1030562773,1015783795)+W(2,1058416208,1026388179,1059097973,1042079029)+W(3,1041679827,1049127990,1031439243,1042535660)+W(4,-1096672513,-1109778819,-1088144465,-1096264126)+W(5,-1101432288,-1100480244,-1113594772,-1093923750)+W(6,-1112390467,1023428581,-1112632704,1040470858)+W(7,-1102954054,1047012782,-1112144502,-1145396437);sum2=W(0,1007960967,-1110192070,1049899326,1056650247)+W(1,1078512141,1081472440,1058404171,999915485)+W(2,1027407916,1010716935,-1097456083,-1070859565)+W(3,-1068241064,-1079514242,-1094427160,1030657127)+W(4,-1129957403,1018303319,1037417999,-1094713389)+W(5,-1096379657,1043613542,1025537830,-1116925932)+W(6,-1132155403,-1121935910,-1137993343,-1142796285)+W(7,1039214170,-1111213656,1032528613,1024356221);WS(1052225948,1018668194); +sum1=W(0,-1120453498,-1123160289,-1108654867,-1104839613)+W(1,1041378113,1036965515,1044186084,1034438594)+W(2,1051775516,1048325451,1058214550,1064670427)+W(3,-1126638409,1049967085,-1096299613,-1128237844)+W(4,-1117579103,-1111291056,-1093397513,-1091445969)+W(5,-1092047898,-1099225050,-1112850625,-1112057991)+W(6,-1107074656,-1112742544,-1147977428,-1119335936)+W(7,-1109154218,1034167881,-1138567959,1019177609);sum2=W(0,-1121001958,-1148685985,1018483434,1021815720)+W(1,1049361594,-1108634723,-1132118692,-1105580672)+W(2,-1117606942,-1111847761,-1120566718,-1076982600)+W(3,1074852012,1048076514,-1102180777,-1116866514)+W(4,-1103097305,1021935234,1049895592,-1081972918)+W(5,1051964198,1040925857,1017568960,1040155911)+W(6,-1130038396,-1112487949,1038078839,-1125812992)+W(7,-1152546434,-1104919092,1026180028,-1123068468);WS(-1096382876,-1091051652); +sum1=W(0,-1116126267,-1113197617,-1112424211,-1124324715)+W(1,-1136579346,1040875430,-1113905512,1017323784)+W(2,1057278592,1048826126,1058810754,1056304110)+W(3,1041995897,1016295122,1024916389,1042534003)+W(4,-1096000788,-1097274020,-1088739494,-1091311905)+W(5,-1114916522,1038826452,-1128507781,1017648027)+W(6,-1116910752,-1140807037,1039925053,-1132679170)+W(7,-1107191661,-1119450067,1023437062,-1098370349);sum2=W(0,-1120311657,1036113080,-1109045199,1029662296)+W(1,-1122358251,-1114085873,1016737279,-1115835645)+W(2,1025682064,-1107470193,1035621932,-1118009189)+W(3,1045290388,1009830751,1035169596,1030264440)+W(4,1036682152,-1108061877,1051542033,-1101792442)+W(5,-1093646778,1056395710,-1091719234,1052430993)+W(6,-1108273289,1012612647,-1101063214,-1076098595)+W(7,-1080861029,1039398973,1065137390,1072502688);WS(1040082544,-1114755812); +sum1=W(0,1017784372,1037505264,1045745417,1019379817)+W(1,-1109308706,-1124056118,1025470519,1039469090)+W(2,-1110974758,-1108514902,-1095324708,1052579502)+W(3,1058051822,1046163210,1038459986,998280780)+W(4,1040296296,1041424680,1054913780,-1106396419)+W(5,-1087512533,-1093666877,-1106674096,-1109356390)+W(6,1024480479,-1104471944,-1106439461,-1115066496)+W(7,1040857799,1001482384,995688529,-1108404770);sum2=W(0,-1162396366,-1117720653,-1104226850,-1105580348)+W(1,-1105643813,1031813906,1011045214,1018164327)+W(2,1045315846,-1118054954,1057942904,1059476362)+W(3,-1090022037,1045409162,-1106412098,1023977529)+W(4,1034748092,1034773210,1043388435,1067689202)+W(5,-1083232471,-1101262587,-1124577575,-1102021751)+W(6,1035646876,-1100298043,-1097646834,-1093789486)+W(7,1040357620,-1113573448,1012935222,1024454049);WS(1036525168,-1082462584); +sum1=W(0,-1116308971,1037298441,1027885589,-1122874917)+W(1,-1154089797,-1108384819,1028179743,1003463273)+W(2,-1085123800,-1087372070,-1086414101,-1096064460)+W(3,-1099879381,-1104319094,-1127380522,-1096394215)+W(4,1057675329,1051660338,1059597873,1059581688)+W(5,1052784510,-1117339864,1039251609,-1110971807)+W(6,1019612704,1027541711,-1109257541,1041073820)+W(7,1028059367,1045372305,1031554934,1053758651);sum2=W(0,1060691160,-1103295177,1035985281,-1085964582)+W(1,-1105398566,-1107551093,1049030608,-1090293163)+W(2,-1081285622,-1090050073,-1102851017,1072728426)+W(3,1060511611,1033954581,-1086630634,1058069039)+W(4,-1080809247,1050684042,-1087522637,1060852217)+W(5,1058511518,1041242888,1028348456,1062481845)+W(6,1052276353,-1106187369,1048638013,-1090587145)+W(7,1029176048,-1094879840,1046256182,-1087039462);WS(-1074352935,1040600857); +sum1=W(0,1042034194,1028652336,1024054004,1030695172)+W(1,1029627411,-1117605317,-1114002447,1041624512)+W(2,1057627204,1025049468,1057567995,1022098295)+W(3,1052602222,1039437212,1049556590,1053416947)+W(4,-1090157751,-1105875707,-1088931067,-1095088235)+W(5,-1094832321,-1104356174,-1107260676,-1101255271)+W(6,1024364622,-1105990299,1048022018,-1100928004)+W(7,1049957878,-1095846092,1047165477,-1098759166);sum2=W(0,-1075440350,-1079714919,-1079134350,-1081735031)+W(1,1055569671,1066585571,1071644179,1075476470)+W(2,1073165865,1065983198,1068716226,1066499710)+W(3,-1095308006,-1080754250,-1074800849,-1073191304)+W(4,-1112383192,1048707236,-1135853868,-1098543278)+W(5,1021808504,-1108920844,1050977418,-1090378667)+W(6,-1148975848,-1115591486,1038054064,-1125971282)+W(7,1040311395,-1110109816,1035370814,-1120408347);WS(1041022776,1033480094); +sum1=W(0,-1132576057,-1123321429,1028959481,-1104176578)+W(1,1046472198,-1121060138,1027556403,-1115611836)+W(2,1026327841,1042302896,1052457903,1063677500)+W(3,-1097607903,-1123802109,-1118671609,1039698959)+W(4,-1110434490,-1109312954,-1089918670,1025377120)+W(5,-1090934974,1046523967,-1112257611,1000531209)+W(6,-1119031508,1021323174,1029242558,-1118638740)+W(7,1013298461,-1106699146,1030036314,-1116635705);sum2=W(0,-1106027239,-1122286155,-1102546078,1055155948)+W(1,-1096754888,1032068992,-1121774513,1036170969)+W(2,1049930690,-1127267122,1041115945,-1091935564)+W(3,1052250618,-1103388917,1038737216,-1108790214)+W(4,-1110218398,-1108798456,1058786995,1075372513)+W(5,-1071163371,-1123143101,-1121707895,1032355550)+W(6,1034564779,1018367610,-1095860458,1043590800)+W(7,-1112711414,-1119323979,1016553114,1017858173);WS(1055618972,-1117202987); +sum1=W(0,1030962480,-1101414710,-1098100923,-1111740150)+W(1,1036980413,1041005827,1021681163,-1112834597)+W(2,1039894129,1053882576,1057347458,1049814740)+W(3,-1090053902,-1088233382,-1105970903,-1117339136)+W(4,-1101932469,-1089999221,-1085784352,1051098296)+W(5,1056052448,1051763396,1044301630,1032801282)+W(6,1031993659,1048656807,1043352452,1031031542)+W(7,-1104607674,-1119077705,1022017143,1039235901);sum2=W(0,-1114659327,-1123577690,1042921002,-1105097716)+W(1,1042773509,-1093975266,1032061179,1000405669)+W(2,-1101541229,1043634319,1066882360,-1077668162)+W(3,1037629509,1058638399,-1108208741,-1131856909)+W(4,-1107338771,1057974128,1050113378,-1080704784)+W(5,1051155360,1052705661,1008396554,-1111189711)+W(6,1039378885,-1111523166,1040130625,-1104122760)+W(7,1012227066,-1110420726,-1125218199,1025207949);WS(-1091387548,-1116324289); +sum1=W(0,1026642697,1044682252,1041967213,1032214050)+W(1,-1131062694,1015214154,-1137069945,-1110158325)+W(2,-1112220622,-1093973688,1046046637,-1086442024)+W(3,-1099996941,1053177927,-1098783494,1037567917)+W(4,1049897926,1047211372,1050365286,-1112122925)+W(5,1046223135,-1132096750,1024489425,1042021623)+W(6,1027958127,-1098544270,-1112662293,-1106755108)+W(7,-1116559746,1034258897,-1111108842,1031638516);sum2=W(0,-1108095393,1016776222,977935538,-1122468710)+W(1,1019959206,1030099429,-1104930054,1002749526)+W(2,1011776651,1024100809,-1097248934,1057627889)+W(3,1042194141,-1117226417,1051928720,1041814459)+W(4,-1101257730,-1105403134,-1101986254,1060632600)+W(5,-1090719303,1037412790,-1109292621,-1115385474)+W(6,1019145070,1032882678,-1124027994,-1103033100)+W(7,1039533068,-1110127978,-1125661478,-1108291818);WS(1057965518,-1118811194); +sum1=W(0,-1104352985,1038892389,-1105058276,1042490232)+W(1,-1121521774,-1099594944,1033536020,-1095161930)+W(2,-1106566686,-1112643723,1026830542,-1091938531)+W(3,1058056073,-1101314965,-1098044778,1039936570)+W(4,1052732873,1003767366,1060358287,1019887594)+W(5,-1118338013,1042464324,1024562028,1046000094)+W(6,-1107147458,-1114250980,-1096574819,1048844541)+W(7,1024329053,-1107780158,1032778872,-1107207172);sum2=W(0,-1116205334,1042905425,-1109155755,1044205280)+W(1,1035597621,1008636092,1036458751,-1092853308)+W(2,993944814,-1113078065,1044406596,1040105843)+W(3,1043112037,-1123380436,-1105268129,1005260887)+W(4,1032713731,-1104977559,1048672381,-1104277422)+W(5,-1103087244,-1153474446,1015784078,1036094123)+W(6,-1106373772,1039619019,-1115343154,1048332350)+W(7,999501191,-1106439836,1021528398,-1106473413);WS(1053420700,1049909457); +sum1=W(0,-1115258034,1034071238,1027276239,-1115686559)+W(1,1041096236,-1102788144,1034068157,-1107460367)+W(2,-1106165874,-1089903413,1036166247,-1100423414)+W(3,-1093491554,1049835542,-1095323722,-1110396954)+W(4,1050401361,1041332866,1049384898,1037380859)+W(5,1052388787,1034784425,1031952854,1050882791)+W(6,-1113250117,1023742249,-1130552842,-1120158506)+W(7,1037333727,-1103514783,1037170040,-1114330639);sum2=W(0,-1112500393,1028289272,1049127312,1086771603)+W(1,1048088739,1020087240,1014851096,-1146529543)+W(2,1024557142,-1165623582,-1095250820,-1062269001)+W(3,-1095068995,999933935,-1135945992,1025716258)+W(4,-1136367764,1035333264,-1114028070,-1087155359)+W(5,1022077560,1034746908,-1120864651,-1127622484)+W(6,1020782048,-1122738507,1025362120,1034731082)+W(7,-1125007838,-1120796207,1026594640,-1128255426);WS(1063806286,1027083983); +sum1=W(0,-1114823180,1030313470,-1111791457,-1111977289)+W(1,-1108043857,1019729830,-1114640622,1033983240)+W(2,1045480194,1039206373,1061885616,1050451993)+W(3,1057912708,1036575619,1039765761,1034424532)+W(4,-1118427516,-1106496703,1010686340,-1083830979)+W(5,-1099420545,-1105267089,-1131920190,-1125840468)+W(6,-1109705966,1020453816,-1103432478,1039658735)+W(7,-1114670584,-1109909656,-1113587473,-1112770081);sum2=W(0,1033978022,-1100194899,1033701105,1050426550)+W(1,-1104028404,1034191613,-1141130302,1010895851)+W(2,-1122290634,-1091664523,-1071413373,1075108998)+W(3,1062092502,-1103668501,1034149895,-1140709165)+W(4,1016780797,-1103111994,1047766898,-1096749849)+W(5,1027350687,-1131589290,-1131724600,1027888251)+W(6,-1164938552,1002490582,-1105595809,1051489664)+W(7,-1108336227,1021076655,-1149103768,-1131210373);WS(1058288590,1045994186); +sum1=W(0,1018135640,-1123855059,1040223430,-1112801779)+W(1,1036317947,-1098800665,1034707665,-1096517871)+W(2,-1093342072,-1096797372,-1086390197,-1105293320)+W(3,-1091216419,-1117054299,-1096209979,1023470716)+W(4,1052167946,1041780692,1052872019,1059840396)+W(5,1051866430,1050341107,1048652350,1050625648)+W(6,1038262801,1015346466,-1132654257,-1134794696)+W(7,-1117665797,1012611090,-1139713758,1010858330);sum2=W(0,1041114210,-1099284356,1038292116,-1092208278)+W(1,1054381469,-1104534119,1025804573,1033400256)+W(2,-1099008397,1047276236,-1081084758,-1071665325)+W(3,1054365119,1081581342,1062322644,-1093538640)+W(4,-1123917868,-1111523652,1037708884,-1086778305)+W(5,-1101037019,1026238413,-1134916894,1052085127)+W(6,-1125418381,-1120564910,1020505319,-1100128811)+W(7,1024474915,-1125603475,1025011807,-1103707544);WS(-1088887374,1070119449); +sum1=W(0,1040460421,1041554590,1013850612,1038262022)+W(1,1042710919,-1106869091,1044864290,1046057615)+W(2,1052058645,1048371361,1048732808,1042754705)+W(3,1047384127,1054439312,1032508990,1042772520)+W(4,-1090595183,-1115426747,-1094790815,-1087902678)+W(5,-1106656361,-1090477876,-1122940954,-1091795237)+W(6,-1105506686,1029097335,-1129317061,1001782464)+W(7,1038072126,-1131475029,1028935005,-1119515740);sum2=W(0,1024604999,-1112923336,1027433809,1025504127)+W(1,1007245204,-1144581942,-1129047399,1021294865)+W(2,1056461606,1030035123,1050727550,-1090534096)+W(3,-1105339223,-1095507508,1043793174,-1095638178)+W(4,1071685965,1066713447,1068313262,1028028856)+W(5,-1081367671,-1078816510,-1081156501,-1090770344)+W(6,-1075212110,-1080779344,-1078194918,-1153515923)+W(7,1068056044,1069903211,1064173276,1060536751);WS(1040470840,1011790950); +sum1=W(0,1015095158,-1120734562,-1116691398,-1118217942)+W(1,1019898057,-1123629847,1034607368,1041822001)+W(2,1043725275,1051465082,1058372660,1055309890)+W(3,1046636817,1044874098,1043010193,1040878843)+W(4,-1105535856,-1108441440,-1095343471,-1081260869)+W(5,1047492563,-1093096561,-1105294873,-1106259483)+W(6,-1108386992,1030149375,-1112701741,1026499745)+W(7,1032201014,-1115283258,1028457510,-1112399171);sum2=W(0,1022830461,1021246145,1015115055,-1114703004)+W(1,-1120910531,1015720307,983370825,-1123770073)+W(2,-1117997331,-1110014342,-1111993293,1036613835)+W(3,1023720090,-1117604953,-1120463052,1036937497)+W(4,1037270083,-1125616185,1044158772,1073620398)+W(5,-1076883688,-1087890801,1025754476,-1113287589)+W(6,1023767946,-1130403951,1025796328,1050812248)+W(7,-1112499600,1028283916,-1104874229,1033737696);WS(1058309838,-1101980246); +sum1=W(0,-1118965337,-1098779704,1049071256,-1113399754)+W(1,1026571427,-1110569018,-1131332475,-1128371676)+W(2,-1110907254,1049643561,-1081904943,1042163763)+W(3,1052138696,-1106220306,1025191299,-1129449041)+W(4,1038642111,1038999679,1054751182,1056093093)+W(5,-1083956910,1050507993,-1146247429,1030864044)+W(6,1028903966,-1108240479,1040887994,-1118832415)+W(7,1046797612,-1104697276,-1123883748,1017502086);sum2=W(0,-1137655511,1043191716,-1121349336,-1097517035)+W(1,1046822141,-1129223371,-1116759551,-1124684976)+W(2,-1111106723,1033166752,1033268708,1052576386)+W(3,-1107318253,-1102887232,1040601750,993535634)+W(4,1035105104,-1112822728,-1104857525,1055574555)+W(5,-1114990789,-1121581721,-1152414880,-1107957817)+W(6,-1112318930,1027572041,1035699332,-1097542777)+W(7,-1110157019,1031007843,-1157281192,1025775603);WS(1063710542,-1111213649); +sum1=W(0,1039559517,-1110192145,-1107309859,-1118762901)+W(1,-1108199122,1037245627,-1139769966,1035326852)+W(2,1052251350,1049489370,1058328276,1061120005)+W(3,1049656673,1033876357,1041987905,1045428971)+W(4,-1101160384,-1097695264,-1093740712,-1096321197)+W(5,-1097289639,-1114972772,-1102516745,-1103522251)+W(6,-1113889808,1031901152,-1104513406,-1097003636)+W(7,-1112381384,-1176476024,1022802380,-1115185874);sum2=W(0,1026803387,1021750253,1040812059,-1107480079)+W(1,1041131835,-1115082464,1006187407,1001155939)+W(2,-1115186477,1031459540,-1116326399,1040651083)+W(3,1020594503,1033768858,-1132516997,1015478283)+W(4,999853755,1031446318,1058720440,1071698983)+W(5,1051128601,1034660038,1027131696,1041372466)+W(6,-1112425236,-1106593609,-1086524651,-1075753828)+W(7,-1096266051,-1108942599,-1123360193,-1104453127);WS(1039772272,-1082982873); +sum1=W(0,1039127452,-1106264016,-1104546353,-1145518233)+W(1,1041713673,1044410893,1039725795,1007790526)+W(2,1049032497,1053169593,1060522592,1056693961)+W(3,-1095982984,-1088607916,-1099512929,-1120546088)+W(4,-1098139952,-1088020664,-1087153807,1038834197)+W(5,1053429837,1048228018,1030077856,-1130616150)+W(6,-1155633625,1043520647,1040400554,-1139907193)+W(7,-1104883452,-1103034636,-1134131855,1012687882);sum2=W(0,1032987173,-1102803435,-1097110538,-1101871105)+W(1,-1101555589,-1123533577,-1098769512,1048796624)+W(2,-1092902636,1037122437,-1083842457,1067610414)+W(3,1033006847,1041814167,1045724867,999019252)+W(4,1027660911,1039508875,-1115097563,1067552095)+W(5,-1096151174,1026567371,-1107225085,-1105667947)+W(6,1032111389,-1101516234,1001644292,-1104358647)+W(7,-1145661076,-1104681426,1020958965,1028203943);WS(-1101412664,1073047832); +sum1=W(0,-1113880945,-1123950537,-1109995975,-1123565085)+W(1,-1123728428,1035385983,-1115318676,1010675502)+W(2,1059007377,1047579477,1060416389,1056063051)+W(3,1046383171,1040643140,1033389702,1041003725)+W(4,-1091904865,-1097814305,-1087199740,-1092124214)+W(5,-1099567891,1038341800,-1119557930,1042882861)+W(6,-1133362719,-1131741454,1032803377,-1113780884)+W(7,-1113889390,-1126485237,1012558775,-1096461162);sum2=W(0,1013686761,-1123503757,1035262859,-1115490710)+W(1,1025861040,980681483,-1125276038,-1129892230)+W(2,1030949359,1039110679,-1105775253,1027204409)+W(3,1019519396,-1111394964,1024413043,-1126757058)+W(4,-1109223248,1035635962,-1106751414,1057425426)+W(5,1043312829,-1098000154,1051287795,-1103421662)+W(6,-1132915573,996209923,1029135163,1070858778)+W(7,1067133266,-1098902818,-1083268694,-1073095921);WS(-1103532344,-1105840701); +sum1=W(0,-1106756472,-1106322913,1029810954,-1096389739)+W(1,-1116067305,1035916925,-1105566449,1034505108)+W(2,-1105825052,1053932942,-1086676361,-1098358914)+W(3,1054020609,-1096691570,1051257001,1026552303)+W(4,1050195304,1007328528,1057202097,1054492326)+W(5,-1093369370,1012599092,1027855335,-1101687900)+W(6,1044840709,-1104890465,-1144507642,-1098185309)+W(7,1032208700,1048715303,-1100267787,1050640157);sum2=W(0,-1111707317,-1119262447,1037989791,1056036881)+W(1,-1105645897,1006194414,-1146663095,-1129479912)+W(2,-1101137684,-1109186725,1049211868,-1099242284)+W(3,1038198606,-1118866635,-1109483964,-1114787638)+W(4,-1116414033,-1107841286,1056722210,-1094543747)+W(5,1053421235,-1104714858,-1120693058,-1115357885)+W(6,-1103752872,1034593530,-1110917586,1049861706)+W(7,1030171051,-1103907620,1032413269,1029169157);WS(1045178680,-1115117954); +sum1=W(0,-1102680211,-1123018420,-1116849368,1024407336)+W(1,-1107241006,1026392201,-1107918421,-1123314455)+W(2,1048681528,-1113607536,-1092105355,-1093530556)+W(3,-1096193779,-1102060551,-1102337510,-1095199752)+W(4,1019008549,1040296293,1035615004,1061339424)+W(5,1057711678,1055864515,1045891981,1052562824)+W(6,1008490315,1012835273,1027033246,-1128145511)+W(7,-1103222073,-1110547491,-1110097884,1020395952);sum2=W(0,-1108321996,-1115537892,-1106228104,998645667)+W(1,-1112292909,1035781218,-1111036660,1018530825)+W(2,-1096948503,-1104693583,1047339287,1055675007)+W(3,1049114511,-1100682049,1032758858,-1113969306)+W(4,-1112108000,-1112710060,-1126080161,1051246853)+W(5,1041989299,1025978716,1034053890,-1113712936)+W(6,1026091852,1022753169,-1120501740,-1105262859)+W(7,-1123292948,-1139782977,-1111667328,1033000622);WS(1044590904,1058699692); +sum1=W(0,985175380,1034192409,1020554347,1024014533)+W(1,-1115433194,-1128687821,1008304190,-1115445028)+W(2,-1092606720,-1090621088,-1093618783,-1113905855)+W(3,-1096920415,-1112503613,-1100279725,-1101027255)+W(4,1051210502,1050384326,1055009987,1062574818)+W(5,1054554325,1031218808,-1105751509,-1144235755)+W(6,1009220799,-1109361592,-1117059707,-1128567457)+W(7,1015981863,1039114097,-1127205548,1035507338);sum2=W(0,1036009101,-1117283755,1033667347,-1107239966)+W(1,1034685217,-1128406639,-1123321687,-1125402335)+W(2,-1108619644,1041337919,1012813669,1053310286)+W(3,-1103814148,1029066827,-1109499964,-1123197815)+W(4,1010492213,-1100684466,1015579759,1056064408)+W(5,1050883237,-1113069964,-1098878001,-1096911819)+W(6,-1131279719,1035041542,-1124020763,1025470531)+W(7,1032198922,-1104788458,1024066141,-1108347132);WS(1044030776,-1089132931); +sum1=W(0,1034269487,1032883970,1042439154,1044751430)+W(1,1019707982,1041434446,-1133288904,-1128708109)+W(2,-1093699058,-1097458090,-1086092656,-1078975458)+W(3,1035194756,1038040390,-1131544335,-1101499019)+W(4,1045160768,1050995424,1057188990,-1096290982)+W(5,1032938655,1043682915,1022768458,1043305900)+W(6,1040395197,-1135242887,1040422743,1048952172)+W(7,1042217766,1043586045,1029073256,1044718778);sum2=W(0,1043294282,-1127265324,1035036911,1051203976)+W(1,-1092441683,1037063919,-1095318743,-1096741875)+W(2,-1107262777,-1107127922,1048700262,-1114081637)+W(3,1027047222,-1087538045,1043898666,-1114635611)+W(4,-1132728616,-1133435576,-1115280193,1060204569)+W(5,-1096051714,1059699424,-1091030613,1057805441)+W(6,-1112978295,-1101649503,-1142433873,-1138065032)+W(7,1049542158,1027406094,1036599707,-1117298502);WS(-1083489614,-1078579141); +sum1=W(0,-1113694287,1048897616,-1104500498,1029397720)+W(1,1039983475,-1099529286,1047818144,-1100400745)+W(2,-1091060438,-1104759380,-1089217572,-1096433234)+W(3,-1090900481,-1103761763,-1126261903,-1098862766)+W(4,1048678744,1055607032,1025763911,1056656214)+W(5,1055730826,1039576037,1050842685,1044462332)+W(6,1022130309,1045345264,-1098656951,1045280313)+W(7,1003335600,-1104729181,1045845834,-1124798927);sum2=W(0,1034867092,1036831152,-1155378720,1050005016)+W(1,-1109019109,-1107857756,1025727369,-1105627363)+W(2,-1113896283,1008734783,-1107821706,1036439980)+W(3,-1105188391,-1103852014,-1113326142,1036502992)+W(4,-1089397746,-1143881728,-1090933436,1067046868)+W(5,1074023168,1073004488,1071596064,1068047188)+W(6,1053130734,1048547317,1050664536,-1081990202)+W(7,-1073616958,-1073650181,-1078582463,-1079035066);WS(-1123566816,-1118788492); +sum1=W(0,1034266605,-1136553988,1032767842,-1119057557)+W(1,1032596498,-1138237144,1034235800,1038972738)+W(2,-1131696345,1054570946,1043367745,1057910725)+W(3,1051309065,1050053561,1044754161,1047609962)+W(4,-1102436480,-1101485920,-1093672570,-1081257723)+W(5,-1104247863,-1097237249,-1100737384,-1118734125)+W(6,1029920799,1027694719,1029228634,1038070160)+W(7,1041012541,-1104490509,1036672371,-1101643609);sum2=W(0,1001205015,1006355343,1030505158,-1119701641)+W(1,1039794598,-1107202062,1026836118,-1115440174)+W(2,-1108935456,1048575251,-1114918170,-1088419213)+W(3,1032736312,1045905661,-1116946341,1003805295)+W(4,-1123729961,1037564428,-1096130861,-1068662368)+W(5,1076967646,1068403675,-1104305708,-1124006983)+W(6,-1151981614,-1123825361,1015236500,-1095410362)+W(7,1049774729,-1105335733,1050153445,-1103176791);WS(-1103567160,1051728620); +sum1=W(0,1022317012,-1105517764,-1109296554,1030946149)+W(1,1032988986,-1117957958,1025729823,1009731405)+W(2,1037463598,1027268637,1052072875,-1094107172)+W(3,-1087396213,-1098739651,-1104965205,1017302004)+W(4,-1094952698,-1107670055,-1103880757,1052944567)+W(5,1057943536,1052382091,1036164793,1041821631)+W(6,1033922872,1024776175,1038888053,1043766492)+W(7,-1110506946,-1108829569,-1132271979,1015545129);sum2=W(0,1031290011,-1114551402,-1137203270,1025723227)+W(1,1020823723,-1107112701,-1156747895,-1140368490)+W(2,-1127050317,1026829489,1032334734,-1098446681)+W(3,1041359246,1041376772,1034398482,-1104694439)+W(4,-1113481669,1042490649,1043198364,-1127701979)+W(5,1057793899,-1100591458,-1114292550,1037536680)+W(6,-1080536402,-1076466135,1038797044,1074254195)+W(7,1035340712,-1118262367,1013380262,1032104302);WS(-1106439480,1029090439); +sum1=W(0,1034559195,-1151887836,1020849475,1042053132)+W(1,1043127920,1043814293,1037260390,1043715864)+W(2,1042655458,1030625962,1059377738,-1084013087)+W(3,-1107145304,1032281331,1040913704,1033172451)+W(4,-1102396839,-1115609614,-1089162129,-1083731653)+W(5,1052971191,-1107154457,-1113717087,1017680531)+W(6,1026400220,1035325646,1042909598,1039293086)+W(7,1029716960,1024778063,1028666946,-1130742978);sum2=W(0,-1129107524,-1123636938,-1116921954,1035143287)+W(1,1036996009,1026655402,-1117010042,-1126794884)+W(2,1021999108,-1148550480,-1104180688,1058583951)+W(3,-1112895549,-1116180274,-1131502740,-1138164712)+W(4,1022835844,1016982596,1016773924,1054454385)+W(5,-1097314323,-1099699990,-1132536424,-1129763396)+W(6,-1129901940,-1140398984,1030858450,-1117386658)+W(7,-1108156993,-1118751234,1016259828,-1117013506);WS(1048151864,1059242544); +sum1=W(0,-1122367849,-1121466768,1042165293,-1116044868)+W(1,-1105437493,1037358179,-1125163356,-1111398955)+W(2,-1097114939,-1097911384,-1085899247,1042506911)+W(3,1056857214,-1105063934,-1123578292,-1106114902)+W(4,1043794348,1033810391,1063564267,1042284551)+W(5,-1089674786,1049648847,1021855394,1045389303)+W(6,1026875087,1014185912,-1106211614,-1111561384)+W(7,1040868541,1028107682,-1111395274,1010402126);sum2=W(0,-1139648101,-1108856547,1015236663,-1095822659)+W(1,-1137977893,1038373686,1015865663,1025690243)+W(2,-1110557326,1041627874,1032833232,1054902128)+W(3,-1098765424,-1121592121,-1106594443,-1117564251)+W(4,-1106733442,-1106727608,1048813377,1055403310)+W(5,-1097123375,1045561320,-1106386080,1017823319)+W(6,1039330638,987619817,1025349119,-1095503796)+W(7,1050144719,-1108448514,1041979856,-1105901385);WS(1058511566,1043187024); +sum1=W(0,1042620242,1027981614,1037513401,1050564856)+W(1,1040390932,1044188393,1032851398,1043046140)+W(2,1041476871,1044640335,1039039385,-1085132912)+W(3,-1095196494,-1116362934,-1107832665,-1105825814)+W(4,-1106861387,-1120607404,-1101062960,-1089194338)+W(5,1032203084,-1134658518,1026497359,-1105488567)+W(6,1043942651,1040914531,1040902562,1048598306)+W(7,1019897185,1032634704,1027555603,1032742569);sum2=W(0,-1094808435,-1132385524,-1110994277,1039748829)+W(1,1038866141,1012861192,1030487914,-1132742376)+W(2,-1083260450,-1089624726,-1098133391,1063143581)+W(3,1043371703,1040218148,1012758152,1052570990)+W(4,1041967320,-1102801635,1050258559,1037743779)+W(5,1048943341,-1112998265,1031702418,-1105604919)+W(6,1026111290,1034887813,-1123786474,1033106845)+W(7,-1110363077,-1121754906,1012203560,-1111765769);WS(-1087236686,1061665912); +sum1=W(0,-1115274057,-1116162424,-1104461343,-1093387666)+W(1,-1113556238,-1115159031,-1126942285,-1121543315)+W(2,1023071688,1030200068,1054050807,1067462106)+W(3,1050597447,1031104576,-1121547516,1042315272)+W(4,-1107980923,-1101866270,-1092884195,1056570668)+W(5,1044256537,-1106234576,-1128835891,-1114796114)+W(6,-1119301463,-1128116268,-1109238785,-1095571507)+W(7,-1103733247,-1111522325,-1111458030,-1109780718);sum2=W(0,-1127633710,1024854732,-1123781128,1040493279)+W(1,-1105896535,1033983514,-1122459292,-1120616672)+W(2,1024134807,1020748524,-1117094752,1065417820)+W(3,1047826025,-1102101577,1040101538,-1124130304)+W(4,-1114424195,-1098546148,-1079772750,1059484680)+W(5,-1107504040,1049649199,-1105983778,1041220419)+W(6,-1109129714,1025355297,-1102118069,-1114766469)+W(7,1033237727,-1154145757,1012710689,-1123999628);WS(-1092106140,-1084163121); +sum1=W(0,1036347305,1016904817,1034414494,1040590819)+W(1,1047670567,1030378702,-1114654031,1037868673)+W(2,1049849489,1040213041,1056746079,1048812489)+W(3,-1084779712,1040726752,1033236350,1034988241)+W(4,-1101083230,-1152694122,-1083169173,-1107117385)+W(5,1051667767,-1109066592,1024925978,-1107106473)+W(6,-1106738110,-1115216475,1039797369,1022569263)+W(7,-1112982247,-1125038036,1025136605,-1146668256);sum2=W(0,-1144361879,-1128843246,1005924247,-1104940693)+W(1,-1123234701,1030348431,1032437115,1024671661)+W(2,-1111008682,-1134810723,1041181160,1054697191)+W(3,1052731012,1042931729,-1112071203,-1111460488)+W(4,-1092072719,-1121102479,1045581242,1046555600)+W(5,-1103970223,-1104348933,-1113690885,-1129885552)+W(6,1021883158,-1116668390,-1109114373,-1113715104)+W(7,-1128555074,1032936433,-1136719027,-1114960949);WS(1058637774,-1109876822); +sum1=W(0,-1123254812,1041301297,-1108082435,-1113241451)+W(1,-1110973875,1027216056,1014894339,1019588394)+W(2,1042623060,-1105094644,1059472952,1043969956)+W(3,-1113269955,1026816394,-1130602892,1026167148)+W(4,-1126486401,-1111052512,-1094910408,-1094009726)+W(5,1058531737,-1100061186,1032486130,-1117291247)+W(6,-1112485473,1037949088,1016105496,1038892497)+W(7,-1093047519,1032398170,-1128303438,1021704844);sum2=W(0,1019183838,1031923668,1049015983,-1096362417)+W(1,1005830618,1036998273,-1119396253,-1125844722)+W(2,-1103677237,1026573624,-1101357077,1060010174)+W(3,-1122620605,-1106684685,1023743335,970656667)+W(4,1041385745,1025625867,-1095136476,-1096248497)+W(5,-1115221092,1049273019,-1112424814,1011280453)+W(6,-1115238116,1024201143,1024442030,-1122837727)+W(7,1034369966,1031554545,1004099770,1010302645);WS(1068382951,-1145853862); +sum1=W(0,-1109092968,-1120835030,1015957108,1033165317)+W(1,1015780402,-1098982451,-1106789039,-1105810191)+W(2,-1104283584,-1104742016,-1087137628,-1082841532)+W(3,1048723479,-1119342334,1037068029,998682871)+W(4,-1126224104,1048835390,1060142968,1050512116)+W(5,1050625794,1046183055,1033167819,1042826568)+W(6,-1142984099,1035504970,1044651720,1036256010)+W(7,1040271692,-1112268532,-1115364877,-1113754717);sum2=W(0,1042289605,-1123754179,1040865617,1025996190)+W(1,-1100913998,-1118459936,-1114401734,-1118182115)+W(2,-1105845074,1032442894,-1090127653,1055606718)+W(3,-1104101067,1026136504,1031986833,1045409779)+W(4,-1105090355,-1106552079,-1075116096,1073431719)+W(5,1067916428,1042119939,-1112990087,1031635830)+W(6,1041479887,1028813354,-1087510643,-1084272058)+W(7,1045036562,-1131666845,1021173748,-1131440550);WS(-1115823328,-1115141930); +sum1=W(0,994860217,1043355533,1046651158,1031967699)+W(1,-1112906011,-1139800861,1032268536,1021673189)+W(2,-1096937968,-1093401724,-1082957735,1057829358)+W(3,1054780763,1049387203,1029694230,1032667294)+W(4,1034643656,1045563268,1056739037,1053028032)+W(5,-1085595451,-1100812438,-1112691098,-1163065290)+W(6,1022968545,-1100277972,-1106135459,-1113373017)+W(7,1036473238,1042166401,-1109328859,1026417494);sum2=W(0,1041009418,-1106230161,-1113994011,-1100787264)+W(1,-1102450993,-1114680808,1031764893,-1145068408)+W(2,1006794492,1034312638,-1108126219,1060460225)+W(3,-1119222967,-1097084093,-1125377404,-1105852265)+W(4,1023178506,-1120362931,-1105213924,1054015707)+W(5,1053508358,-1133314452,-1141774536,-1120752408)+W(6,-1126244586,1021996758,-1131146954,997147503)+W(7,-1107185372,-1126416406,-1126617106,-1131039214);WS(1044911928,1063248560); +sum1=W(0,-1117210934,1045807559,-1116245664,-1122601008)+W(1,1041679280,-1102494868,1044187563,-1101059428)+W(2,-1089987573,1006551364,-1085623154,-1098705597)+W(3,-1089608778,-1098692501,1040126000,-1100421777)+W(4,1050931427,1049202419,1044690392,1056494849)+W(5,1054654497,1047881833,1043119951,1043071666)+W(6,-1154913199,1049427019,-1098224261,1043742399)+W(7,1009817082,-1102952115,1048685800,-1132265536);sum2=W(0,-1110897864,-1104703066,1039476246,-1102025112)+W(1,1041770976,1044782005,-1112640404,1045848501)+W(2,1031814971,-1126406622,-1112535334,-1088994686)+W(3,1050082866,1038057456,1029663347,-1098794387)+W(4,1060526454,1034850394,1060516426,-1088701567)+W(5,-1072347435,-1075073775,-1077197270,-1081012351)+W(6,-1090228093,-1097166620,-1091926928,1063814816)+W(7,1074296249,1073862535,1067261757,1067785227);WS(-1105546040,1026157880); +sum1=W(0,1040950836,1036866652,1045419231,1057171433)+W(1,1039696013,1040737235,1031337694,1043417390)+W(2,1040614249,1043435937,1048836647,-1092874056)+W(3,1049109967,1037560064,1039556030,1020658754)+W(4,-1102499357,1032157499,-1088963702,-1078642173)+W(5,-1094603626,999044599,-1107844556,-1101965321)+W(6,1036650571,1032871003,1035867609,1040635958)+W(7,1039966133,1035782037,1034875342,1029450491);sum2=W(0,999804672,965076992,1017997216,-1113573416)+W(1,1015814944,1013150208,1004325632,-1116017408)+W(2,1033414560,-1142972544,-1117537424,-1080122522)+W(3,-1116987776,1009041344,1030258512,-1123867424)+W(4,-1131242272,-1152459008,1043660652,1068973644)+W(5,-1113471168,1023678672,-1115573696,1025739248)+W(6,-1111239120,-1114613368,1024438240,1009242816)+W(7,1026341216,-1111376032,-1124670336,1011147520);WS(-1081027239,1060388068); +sum1=W(0,1040945153,1018532824,1048158700,1050078256)+W(1,1043330564,1045983912,1034126717,1042366848)+W(2,1049191505,1052335227,1053224518,-1089652372)+W(3,1050009062,1019623144,1043374892,1037373643)+W(4,-1103567931,-1106690587,-1098210230,-1079677805)+W(5,-1090769236,-1102526621,-1113976903,-1106920486)+W(6,-1142725077,-1126830164,1044049241,1037048166)+W(7,1037549983,-1124021470,1031972104,1000910717);sum2=W(0,1029289565,1023484285,1041097307,1044843621)+W(1,-1101664529,-1108647964,-1111945130,-1129898257)+W(2,-1119356133,1031916514,-1120749829,1057057740)+W(3,1055633817,-1098024997,1038083406,-1101101054)+W(4,-1126159585,-1111485988,-1121314077,1024531885)+W(5,-1102656055,1016983721,-1105960100,1022769465)+W(6,-1119814653,-1133461586,-1112201820,1001931237)+W(7,1035253182,1019582313,1011319026,-1110859200);WS(-1121436896,-1083449266); +sum1=W(0,-1131437006,-1126965659,-1106898372,1049661628)+W(1,-1110051320,1048826500,1018834023,1030351624)+W(2,1057845458,1026072602,1058188821,1047051462)+W(3,1036301673,1049513187,1026266705,1043516478)+W(4,-1096100393,-1106937331,-1089458543,-1093909527)+W(5,-1105302990,-1097831955,-1115312055,-1094725407)+W(6,-1112818966,1025271436,-1120770471,1039868950)+W(7,-1101852248,1048680544,-1111779257,-1137214404);sum2=W(0,1025140224,1016993788,-1106156741,-1085967118)+W(1,-1070014283,-1066270592,-1089828448,-1115300709)+W(2,-1118806788,1030590564,1042721449,1078987048)+W(3,1078555235,1069325982,1051485796,1026006822)+W(4,-1126785121,-1118559458,-1106137914,-1100137345)+W(5,1044823121,-1105174392,-1121082393,1011662011)+W(6,1031495588,991152164,1038491925,1040984057)+W(7,-1111978905,1030579932,-1113499951,-1120641633);WS(1060473294,-1125032523); +sum1=W(0,-1118381578,-1131528546,-1103035725,1044891665)+W(1,1017562024,1038728371,1013193724,1017619335)+W(2,1043924207,1048790648,1057928103,-1096003632)+W(3,-1104437021,-1127678449,-1138265298,1019650740)+W(4,1028842287,-1094915206,1048586166,-1089668066)+W(5,1048997587,-1106021950,1016196772,-1112334062)+W(6,-1103983036,1032416951,-1131359957,1041536420)+W(7,-1119623443,1026802338,-1112764523,1028850580);sum2=W(0,-1124013145,-1154979909,-1113455493,1042673063)+W(1,1009341589,-1131887235,-1126494367,-1120394460)+W(2,1023871771,-1104183315,1024353365,-1099433949)+W(3,1037029004,-1106752952,-1136822537,-1135604889)+W(4,1041717973,-1104961174,-1071159846,1075222357)+W(5,1061754151,-1106459992,1037905746,1020599743)+W(6,1027246941,-1105906795,-1114760758,1048045634)+W(7,-1101645527,1027783079,-1130069351,1023779471);WS(1063175758,1049951270); +sum1=W(0,1051934199,1041620825,1053157077,1019501037)+W(1,-1121035141,1024394007,1034798936,999909159)+W(2,-1084051495,-1091045702,-1089200998,-1103613676)+W(3,-1103906809,1042850683,-1117239270,-1106705027)+W(4,1040719576,1046456792,1054477181,1050464826)+W(5,-1098419444,-1097805325,1011564046,-1091232034)+W(6,1028219745,1028165760,-1110307566,1037889601)+W(7,1045652053,1054554722,1031152711,1056053333);sum2=W(0,-1091471926,1042259987,-1103057728,1049412228)+W(1,1044973062,-1116401558,1011000463,-1130123924)+W(2,1062079447,-1095572989,-1089203271,-1092861102)+W(3,1034556296,1047552828,-1110031497,1051271629)+W(4,1055700238,1041645665,1037140407,-1093629070)+W(5,-1095940003,-1106623325,-1107294450,1053844390)+W(6,1015596856,1033532620,1035045090,1042934527)+W(7,1032040702,-1106239816,1033073048,-1095799213);WS(-1085388366,-1090694979); +sum1=W(0,-1123787314,-1119481145,1032777214,-1112850502)+W(1,1041751591,-1125429276,-1140788444,-1113892940)+W(2,1044273497,-1130943626,1047368143,1059845268)+W(3,-1095680144,1039407200,990533574,1032644049)+W(4,-1108110651,1041576542,-1087220302,1027588771)+W(5,1036323946,-1111657568,1021334836,-1143449895)+W(6,-1115475932,-1117135031,1040347561,-1101064470)+W(7,1037523789,-1126225621,-1134357621,-1109271006);sum2=W(0,-1107190004,1013881877,-1118295314,-1121103222)+W(1,-1127822751,-1115317828,-1126179247,-1114801766)+W(2,1037736456,-1105376838,-1123416196,1042717593)+W(3,-1115549939,1043660085,-1126402007,1040920849)+W(4,-1125693587,1040619572,-1082924015,1068021664)+W(5,1016978358,-1108863865,-1136349779,-1107267301)+W(6,-1120404934,-1122228614,1051908042,-1087341114)+W(7,1042189807,-1125959243,1038966556,1023515477);WS(1065904679,-1122628785); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0][0] = HOOKED_texOff(vec2(-1.0, -3.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-1.0, -2.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-1.0, 3.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-1.0, 4.0)).x; +samples[2][0] = HOOKED_texOff(vec2(0.0, -3.0)).x; +samples[2][1] = HOOKED_texOff(vec2(0.0, -2.0)).x; +samples[2][2] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[2][3] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[3][0] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[3][1] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[3][2] = HOOKED_texOff(vec2(0.0, 3.0)).x; +samples[3][3] = HOOKED_texOff(vec2(0.0, 4.0)).x; +samples[4][0] = HOOKED_texOff(vec2(1.0, -3.0)).x; +samples[4][1] = HOOKED_texOff(vec2(1.0, -2.0)).x; +samples[4][2] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[4][3] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[5][0] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[5][1] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[5][2] = HOOKED_texOff(vec2(1.0, 3.0)).x; +samples[5][3] = HOOKED_texOff(vec2(1.0, 4.0)).x; +samples[6][0] = HOOKED_texOff(vec2(2.0, -3.0)).x; +samples[6][1] = HOOKED_texOff(vec2(2.0, -2.0)).x; +samples[6][2] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[6][3] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[7][0] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[7][1] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[7][2] = HOOKED_texOff(vec2(2.0, 3.0)).x; +samples[7][3] = HOOKED_texOff(vec2(2.0, 4.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns128, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/nnedi3-nns128-win8x6.glsl b/shaders/nnedi3/nnedi3-nns128-win8x6.glsl new file mode 100644 index 0000000..6201015 --- /dev/null +++ b/shaders/nnedi3/nnedi3-nns128-win8x6.glsl @@ -0,0 +1,450 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns128, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1138315554,1017020226,1054031418,-1098719688)+W(1,-1110814528,-1144117236,-1151849881,-1120184142)+W(2,1052033568,-1094289569,1026313661,1029415347)+W(3,-1130100551,-1113913797,1057266643,-1094215666)+W(4,-1136459684,-1122295896,-1139428474,-1137890034)+W(5,1050615732,-1084764287,1037955767,-1158862002)+W(6,-1115186183,-1105019328,1060278709,-1093503073)+W(7,-1125342359,-1115484761,1024054031,1030136834)+W(8,1051842684,-1122358095,-1118592012,1027215228)+W(9,-1123693866,-1119041199,1049323809,-1104408867)+W(10,-1141919603,-1148196514,-1134121575,1009291685)+W(11,1050624038,-1101060057,-1117980571,-1131405947);sum2=W(0,1011608699,-1112090344,1035039469,1018826733)+W(1,-1130070276,-1126912052,1021515189,1032910614)+W(2,-1112298310,-1103038162,1030536589,1027816837)+W(3,-1133688887,-1111235489,1068933685,1035541017)+W(4,1002846254,-1119314146,-1109181339,1050015381)+W(5,1079505355,-1096237270,1047170650,-1132054353)+W(6,1032724543,1041065097,-1082386736,1051919390)+W(7,1012706615,1004049262,-1120491130,-1106592726)+W(8,-1067816278,-1101133158,-1108914015,1017068057)+W(9,997621755,-1112521193,-1094139890,-1120644044)+W(10,1011888367,1020965593,1020760181,1032648390)+W(11,-1123411157,1029904493,-1115273665,1017829425);WS(1038714296,1044827315); +sum1=W(0,1008773074,-1137155124,1058392080,-1100726684)+W(1,-1097060854,1034472653,1000000044,-1139148008)+W(2,1051571686,-1106613964,1034039029,-1136883834)+W(3,-1125197471,-1110040196,1058043460,-1093356205)+W(4,-1112523275,1033872898,-1155069097,-1114984084)+W(5,1059856605,-1087655353,-1137125990,-1122772178)+W(6,-1128457331,-1117135435,1053821137,-1093486798)+W(7,-1134047198,-1125370043,-1147450330,1038803511)+W(8,1050763009,-1088451200,-1131894321,1027534056)+W(9,-1142834606,-1110360429,1046500044,-1109846237)+W(10,1021083253,-1126166913,-1131672268,1046900069)+W(11,1049636107,-1093848946,-1108292068,1020331091);sum2=W(0,-1123255245,-1116671780,1046375724,1061532718)+W(1,998291536,-1094346395,982126402,-1111301077)+W(2,1053914306,1066141278,1041257894,-1108898352)+W(3,1020504368,1011773496,1013495848,1064263836)+W(4,1023442398,1023084860,1036976721,-1102830064)+W(5,-1106352300,1055449836,-1101238723,1037821947)+W(6,-1113656730,1031803093,-1103067006,-1076699072)+W(7,-1103198508,-1123876988,-1157600449,1045043848)+W(8,-1094946683,-1085904680,1048924521,1041381351)+W(9,-1129338356,1026389126,1036977493,-1099822488)+W(10,-1109968297,-1109391389,1032297389,1022832316)+W(11,-1098417421,-1092845936,1053328593,1023206676);WS(-1087781687,-1134030789); +sum1=W(0,1028179002,-1113846601,-1090428884,1056064759)+W(1,-1116809458,-1123784128,1037437606,-1129634048)+W(2,-1098510574,1049319247,-1105760812,1016685513)+W(3,-1106850597,1045066941,-1095161561,1048732210)+W(4,1007721067,-1105661778,1040743460,-1108576055)+W(5,-1094444002,1054487227,1050640540,1048222150)+W(6,-1123964671,1030205873,-1095134094,1044300425)+W(7,1040160031,-1110013906,-1122790273,-1117192467)+W(8,-1098192922,1055338520,-1106372902,1033480951)+W(9,1036030878,1027547489,-1101066654,1034894336)+W(10,-1109703824,-1112122819,1027799500,-1110675758)+W(11,-1095206484,1053272331,-1138309939,1033810456);sum2=W(0,1023697539,-1119401943,1010071413,1025267901)+W(1,988018625,-1122026299,-1134698244,1013558867)+W(2,-1112961274,1033970227,-1116217767,1005039212)+W(3,1018187921,-1119659280,1019163177,1048742053)+W(4,-1103390691,-1115786374,1024534132,1038666215)+W(5,-1097296472,1082848284,-1064739318,1042066180)+W(6,-1145140771,-1120396841,1033089456,1060700209)+W(7,-1086947071,1017803659,-1142625275,1035154544)+W(8,-1105855221,-1115995862,1042818438,-1115628759)+W(9,-1141296989,-1131590401,-1156341795,1035612397)+W(10,-1109434149,-1150181080,1007645751,1021197862)+W(11,-1120357988,-1123714371,1029308077,1011442501);WS(1060770743,-1108197568); +sum1=W(0,1016886775,1029069588,-1095627128,1046558478)+W(1,-1146067869,1009558662,-1160198547,1038531041)+W(2,-1096395039,1048524254,-1097778094,1033422755)+W(3,1015246637,1041390628,-1086831062,1058409012)+W(4,-1098986327,1033638277,-1139668038,1022402527)+W(5,1057717017,1050284011,-1110221104,1029754521)+W(6,1034731136,-1103954605,1056693263,-1083755424)+W(7,1042951984,-1119102757,1019206597,-1112398730)+W(8,1053908426,-1092005688,1037994808,-1130383710)+W(9,-1123983389,-1117714338,1043180606,-1101033824)+W(10,1025216609,-1114155844,-1115649126,1039312430)+W(11,1038174992,-1131529899,1000398449,-1129441697);sum2=W(0,-1104188915,1041755532,1039915367,1028942726)+W(1,1030445090,-1104654601,1026676440,-1099902739)+W(2,1048552390,-1105392496,-1104867005,1033528857)+W(3,-1122447814,1020538503,-1105911641,-1106738713)+W(4,-1106850996,989961401,1024214572,-1096783078)+W(5,1068731351,1066518668,-1126700225,-1133955554)+W(6,1036156927,-1094671115,-1096057439,-1122053390)+W(7,1025639958,-1153726297,1039804037,-1096595186)+W(8,-1091471401,-1123632409,-1113480650,1032072745)+W(9,-1140508998,-1108992818,1033306823,1032650381)+W(10,-1115144981,-1128986161,1023379743,1023478108)+W(11,-1096750685,-1109607147,1031767054,1023561226);WS(-1105940700,1068951582); +sum1=W(0,1000087558,-1126610867,1040363554,-1103531583)+W(1,-1126498674,1033586531,1035444041,-1119652358)+W(2,1048983991,-1095183320,1041424541,1011542187)+W(3,1016288952,-1105308514,-1129232537,1035540828)+W(4,-1116171169,1018737568,1033866603,1025089333)+W(5,1043404182,-1091977028,-1108874003,1021129404)+W(6,1023501510,-1101500686,1050470779,-1098956255)+W(7,-1107291841,1033496245,1030903912,1024487034)+W(8,1032787659,1016827662,-1115835365,1023594100)+W(9,-1121882082,1036868116,1042688239,-1107477027)+W(10,1038297635,1015384473,-1139243976,-1137536646)+W(11,1051055933,-1111432589,-1101253029,1034920923);sum2=W(0,-1123978268,-1102554320,1043643239,1026913323)+W(1,1031431539,-1112242992,-1122059260,1044079872)+W(2,-1111536011,1056944699,1037617295,1005844362)+W(3,-1123592170,-1093658955,1042723115,-1093217948)+W(4,-1103624535,-1101249260,1036141312,-1094337979)+W(5,1067907418,1064662115,-1090550375,1042545272)+W(6,-1111710804,1045282706,-1118927202,-1091166584)+W(7,-1119161360,-1111294278,-1127043568,-1139302445)+W(8,1035940631,-1092135065,-1112133073,1025042022)+W(9,1040694361,983065168,1016057395,1041761864)+W(10,1014979737,1026789959,-1120657957,-1105233712)+W(11,1027935282,-1104693620,-1106943303,-1114223884);WS(1061289911,-1074625008); +sum1=W(0,-1118986355,1035013222,1058027688,-1087592511)+W(1,-1107213995,1048036382,1042690449,-1110099132)+W(2,1047068971,1013931199,1008030621,-1106703359)+W(3,1022020251,1048074309,1036127926,-1088015817)+W(4,1042727509,1044183504,1032007652,-1101544522)+W(5,1058005973,-1099315493,-1093058723,1029001296)+W(6,1040686510,-1102744618,1048070472,-1091144488)+W(7,1042938237,-1106075703,-1108674269,1043103143)+W(8,1057593649,-1088950448,1002612916,1048869669)+W(9,-1123719572,-1099009366,1043345580,1033106140)+W(10,-1110941900,-1107279296,1033202498,1038471242)+W(11,1055515931,-1090129177,-1113377491,1042195418);sum2=W(0,1034897388,1047600068,-1092005485,1032211690)+W(1,1046053217,-1111289614,-1104469346,1074182899)+W(2,-1074957140,-1124075063,981988140,990179414)+W(3,-1104312342,1080728354,-1067981267,-1100127529)+W(4,1036844207,-1123826485,1033162274,1077196082)+W(5,-1071410100,-1093339345,1030504779,-1109598746)+W(6,1001538203,1039546617,-1101189403,1036352485)+W(7,1025223671,1036519612,-1119055011,-1121476275)+W(8,1042351425,1008083901,-1101604075,-1146561467)+W(9,1036889309,-1113609974,-1113906708,1032631324)+W(10,1034478190,1017678167,-1122390571,-1124909535)+W(11,1037135096,1002134635,-1113103836,-1132393287);WS(-1106894556,1030995446); +sum1=W(0,1025589699,1033805806,1034528997,-1098701288)+W(1,-1119393787,1027839817,-1123387156,1025291593)+W(2,1054610112,-1096105008,1037953340,-1123546765)+W(3,1028556318,-1127599047,1039781117,-1091536615)+W(4,-1120434724,1027349522,-1139656804,-1105750398)+W(5,1065523109,-1090836572,-1103173850,1022652480)+W(6,980812294,-1104274718,1054896451,-1097995702)+W(7,-1111869411,-1135075504,-1128131860,-1117867836)+W(8,1045458038,1039238949,-1104116474,-1125284461)+W(9,-1137342353,1018769427,1040199808,-1110811780)+W(10,-1129786002,-1152753902,1017797929,-1114245906)+W(11,1047692618,1001735913,-1106977725,-1131064048);sum2=W(0,1030581609,-1096073996,-1104952058,1036583621)+W(1,1006888722,1023568502,-1110091164,-1132437108)+W(2,1031847146,1040176294,-1120421639,-1124563800)+W(3,1024868796,1051933742,1077840619,1056082302)+W(4,-1114613612,1026684617,-1124528958,1042406776)+W(5,-1071401906,-1080138625,1012484405,-1114165836)+W(6,-1175372351,-1117745155,-1108532142,1039833458)+W(7,1044393926,-1139194300,1022252519,-1117509823)+W(8,-1107574374,1041695761,-1112420268,1023135287)+W(9,-1123141270,-1110977956,1034777920,-1119756119)+W(10,1028893644,-1122696127,-1123316826,1029056744)+W(11,1034383482,977900031,1027961212,1034470668);WS(-1094248046,1034739186); +sum1=W(0,-1121641997,1043421097,-1090462057,1057979744)+W(1,1042504017,1019430629,-1148807918,-1114752489)+W(2,-1097763033,1045790578,-1105205440,-1115505835)+W(3,-1119896808,1040593858,-1089339622,1054873978)+W(4,1029920941,1008619887,-1118546659,1043491504)+W(5,-1089142502,1054724534,-1114903193,1038945077)+W(6,-1117202258,1033892386,-1089696734,1056858543)+W(7,-1102740772,1025474934,1027770003,1035924243)+W(8,-1098379668,1046524773,1042806872,-1148381698)+W(9,-1121511758,1032482905,-1096843609,1049846778)+W(10,-1103488653,1017864241,-1114510703,1031829015)+W(11,-1089945727,1056083605,1031492831,1029503362);sum2=W(0,1032629114,-1111104155,-1111175727,1069180600)+W(1,-1092657949,-1081878912,1024571549,1022922994)+W(2,1047799465,1065968459,-1106624299,-1085703668)+W(3,-1123705993,1036988882,-1121840686,1066031139)+W(4,1026540087,-1080884055,-1120833813,-1104365480)+W(5,-1098359864,1064223912,1044325339,-1079207816)+W(6,1031286487,1038064580,1008715668,1062275672)+W(7,1048614780,-1083548865,-1113289848,-1119955010)+W(8,-1115327032,1060225053,-1117772151,-1085294305)+W(9,1033808184,1018164430,1042276675,1060364945)+W(10,-1105153406,-1090372695,1035572024,-1144675449)+W(11,-1114533548,1057151625,-1103516228,-1100806033);WS(-1095016302,1049780935); +sum1=W(0,-1140214663,1050711943,1044505338,-1092537964)+W(1,-1110639373,1025322472,1008440267,-1110792724)+W(2,1051364259,-1101785640,1026645590,1024485132)+W(3,-1137823987,1036012635,1051977632,-1091742968)+W(4,-1130979716,1018037601,1035221148,-1104496021)+W(5,1058946996,-1090015552,-1106527650,1032762847)+W(6,1007510683,-1145733059,1056967247,-1090979415)+W(7,-1146016549,1010918699,1029727784,-1109552317)+W(8,1057598839,-1088424934,1015167915,1027572437)+W(9,-1142229143,-1115585956,1050931556,-1096995861)+W(10,1009720606,-1127055707,1025812851,-1142816275)+W(11,1058283380,-1095074239,-1105047309,1011865435);sum2=W(0,1040969494,-1087779211,1056604611,1059045592)+W(1,-1085730308,1035668628,1036141535,1033693595)+W(2,-1095617275,1037950807,1051875566,-1110274633)+W(3,-1136101349,-1096934819,1057610078,1059474718)+W(4,-1104408796,-1106464684,1015318832,1042126031)+W(5,1059711341,1079595174,1011257519,-1106179801)+W(6,-1112220931,1036377831,-1098744628,1065421414)+W(7,-1102027272,1035078820,-1111621316,1046621966)+W(8,-1088974739,-1079659864,-1097874228,1045400280)+W(9,1042180910,-1129542795,-1112239718,-1077353318)+W(10,-1123714793,-1122902412,-1115487487,1052735842)+W(11,-1089093989,-1076641223,-1089345613,1057832501);WS(-1081166556,-1096725839); +sum1=W(0,-1146977357,-1114510289,1050030946,-1102646113)+W(1,-1113153825,-1114582784,-1130642485,-1119269199)+W(2,1045921361,-1098664649,992772066,1022415207)+W(3,1032268722,1038356317,1039889859,1027769520)+W(4,1041426283,1025422681,-1111253552,-1095921640)+W(5,1057711094,-1089074675,-1107182252,-1098886685)+W(6,1024786511,1038758688,1053078718,-1098156409)+W(7,1043642083,1036466489,1021187873,-1102108905)+W(8,1045805544,-1106011300,-1131324475,-1129952762)+W(9,-1115200917,-1117501552,1042557010,-1102728052)+W(10,-1148235644,-1133449046,1021141494,1024092394)+W(11,1052716334,-1107570834,-1153593794,1012650491);sum2=W(0,-1154116071,1032309947,-1123962703,-1133231158)+W(1,-1128886461,1035599863,-1120032365,1017679770)+W(2,1025906643,-1134787122,-1108727038,1039832482)+W(3,1033357218,-1118521489,1007375557,-1096414395)+W(4,1020492423,1035524914,-1132933754,1020082264)+W(5,-1114291801,1064675801,-1080568363,1059399952)+W(6,-1165588207,-1122971142,-1114360955,-1097709607)+W(7,-1108104258,1040378905,1029048100,1015972752)+W(8,1031540723,1040110606,-1112615988,1024318985)+W(9,-1115144648,1021714009,-1136421576,-1121524587)+W(10,-1111963053,1036458899,1020455541,-1134334294)+W(11,1014310369,-1119507729,1028363593,-1122706022);WS(1058284215,-1100256461); +sum1=W(0,-1136333391,1042064203,1048792691,-1108621703)+W(1,-1107171315,1009105958,977549609,1017583666)+W(2,1037147366,-1098054746,1036542212,-1118222526)+W(3,1023954799,-1103445177,1061193316,-1084539629)+W(4,1001865121,1005641493,1032458293,1003134525)+W(5,1055543997,-1105743629,-1113492892,1001049989)+W(6,-1131855793,1030077610,-1089393894,1061657482)+W(7,-1095280499,-1141919717,-1132003829,1044505715)+W(8,-1102389770,-1111653453,1000070140,1031530183)+W(9,1014651348,1034368605,-1126089633,1032593324)+W(10,-1124982771,957669220,1007647892,-1109681210)+W(11,1030932473,-1134741175,1012906393,-1123915241);sum2=W(0,1025749667,1018718450,-1104497483,-1109821356)+W(1,1032840840,1009497507,-1112523495,1033569638)+W(2,-1111912018,1026676021,-1114119398,1017944258)+W(3,1034709000,-1099586256,-1087345020,-1092985416)+W(4,1018773778,1033599708,1021531102,-1096388774)+W(5,1061077725,1065372034,-1129773592,-1109427758)+W(6,-1129693762,-1109846828,1049253485,1048850468)+W(7,-1101038787,1029395381,1006685387,-1112379914)+W(8,-1117456886,-1106255761,1043058397,-1106769492)+W(9,-1119027428,1008781387,1038233914,1013968523)+W(10,-1113511705,1020319838,-1106459716,1045287677)+W(11,-1135366091,-1138431127,1037121278,-1113647178);WS(1048665454,1062854025); +sum1=W(0,1004974300,-1140401360,1040482153,-1107105990)+W(1,-1113947114,1004764812,1032679478,-1099989608)+W(2,1038119146,-1094089019,1043046180,-1132148363)+W(3,1041394910,-1108003052,1050737065,-1084721726)+W(4,1044891839,1022372181,1026224498,-1103518244)+W(5,1054936910,1054691719,1025601857,-1113753404)+W(6,-1128844481,1044968661,-1084409495,1057517320)+W(7,1022006333,1033354242,-1137588617,1040271757)+W(8,-1099872844,1035416977,1017193535,-1131287582)+W(9,-1115578718,1031459778,-1107158134,1033669936)+W(10,1025595521,-1112957780,-1128306202,-1114933822)+W(11,1038726400,1032390235,1023203548,1012659010);sum2=W(0,-1120028750,-1116919239,1026537129,1032246372)+W(1,1047938064,-1102851233,-1137390044,1034599590)+W(2,-1105861815,-1095438265,1022176478,-1129352893)+W(3,1031876652,-1110926857,-1114848017,-1093245727)+W(4,-1093210017,1046245506,-1112211314,1037510574)+W(5,1054207178,1062401065,-1118385188,-1106645860)+W(6,1041988042,-1091078601,1059021754,-1115099719)+W(7,-1104427658,1043294706,-1105672202,1052042083)+W(8,-1104155840,-1100501338,1013766280,1016480352)+W(9,1032816067,-1102117757,1047757772,-1112097107)+W(10,1027075631,-1113418727,-1122489809,1043447553)+W(11,-1115066040,-1102195598,1027463789,1030659187);WS(1046819548,-1112403026); +sum1=W(0,1043575156,-1096536373,1028458839,1042563315)+W(1,-1147631681,-1134760216,-1118831073,1040283909)+W(2,1047473762,-1108795847,-1115473730,1037371629)+W(3,1028002987,1049135339,-1083606160,1040849058)+W(4,1015994849,1036578576,1025124390,-1115136450)+W(5,1052252597,1045384892,-1102431101,-1147407721)+W(6,1023377962,-1127238030,1054448495,-1081137782)+W(7,1046487189,1029054905,1034880715,1042113706)+W(8,-1106041242,1040945110,1026652836,-1113175874)+W(9,-1125071779,-1124049974,1031800519,1026387221)+W(10,-1096718751,1032040846,-1144027915,1045174012)+W(11,-1138801364,-1122981994,1030118403,-1121286085);sum2=W(0,-1116472244,1036928405,1035706238,-1121318128)+W(1,-1114868876,1033058067,1025044698,-1122373594)+W(2,1040619830,-1104861162,1034962287,-1110745183)+W(3,-1123391126,-1111538981,1046111644,1038958235)+W(4,1034772140,-1130393948,1003069456,-1111848203)+W(5,1044878634,1050016986,-1113883437,1005454840)+W(6,-1129719684,1027481573,1017226015,1040124875)+W(7,-1114732111,-1105702279,-1110477199,990411281)+W(8,1030695866,-1116142138,-1102609372,1029172520)+W(9,1023677849,-1136822924,-1114454329,-1113301330)+W(10,1029458562,-1112847239,989635105,-1136314996)+W(11,1007553654,-1112411005,-1109652887,-1150621057);WS(1054158702,-1098491196); +sum1=W(0,-1129450472,-1119237644,-1101713087,1033589815)+W(1,1034513750,1023147092,983582877,1026235385)+W(2,-1098493798,1048228620,-1123359016,-1173092218)+W(3,-1121209423,1037197666,-1083899440,1060260620)+W(4,-1103037013,1035595873,-1121678922,1031464488)+W(5,-1103778771,1056756834,-1122982297,1020058530)+W(6,1031290553,-1099798307,1057005120,-1093716116)+W(7,1049393023,-1117980637,-1119715259,-1102325483)+W(8,1046824098,-1102446942,1028221304,-1124996559)+W(9,1032360987,-1107157175,1037130136,-1111054172)+W(10,1041637742,-1115548960,-1115265987,1036899466)+W(11,1011053924,-1132207900,992781927,995105423);sum2=W(0,1022318336,1013555797,-1107715656,1023151297)+W(1,1033284778,-1133592549,-1115650269,1016103802)+W(2,-1119261847,-1114491928,-1130031974,-1142562170)+W(3,1023537352,1041650416,1043696631,1042399799)+W(4,-1108010060,-1132296546,-1109544964,1052577828)+W(5,-1093802466,-1088107917,1027122983,1012286637)+W(6,-1104797311,-1105646271,1070961498,1046742027)+W(7,-1123089325,-1129646858,1016525394,-1089308865)+W(8,-1101461419,1041655381,1023301191,-1123666701)+W(9,1034835508,-1093424353,-1129647390,1027817568)+W(10,1010592861,1020078242,1033208955,-1123233885)+W(11,-1103638866,-1123805293,1027104379,1017326494);WS(-1098756718,1025257793); +sum1=W(0,-1170432841,1023803110,-1090131561,1057699745)+W(1,-1119694405,1012926412,992949730,-1138344011)+W(2,-1107275570,1040420307,-1117188674,-1123369303)+W(3,1001883457,1026014126,-1096556254,1054103406)+W(4,-1115724526,-1127845816,1015181254,-1121590721)+W(5,-1096688477,1044394251,1029634610,1035099253)+W(6,-1113865961,-1118191492,-1094031636,1054646511)+W(7,-1140440641,-1114907963,1025052052,-1131017933)+W(8,-1105028073,1053702338,-1105231572,1041135600)+W(9,-1142935155,992699702,-1106433523,1018441892)+W(10,1028218227,-1110839852,1028407518,-1125677724)+W(11,-1094260670,1056434389,-1115106656,1033590433);sum2=W(0,-1113857499,1035336978,1003212424,1016146718)+W(1,-1124908942,1007728744,1017397942,977119295)+W(2,-1169985407,-1139136560,-1127032094,1015257206)+W(3,994248048,1058657166,-1086726098,1029663775)+W(4,-1128987279,-1139895388,-1107301692,1082282453)+W(5,-1067974855,-1088717558,1045162011,989071903)+W(6,-1114604929,1081592322,-1065596346,1032721198)+W(7,-1132432620,-1115423533,-1099171315,1057428850)+W(8,-1101606461,-1109521003,1001306728,1026551071)+W(9,-1128156929,1029982493,-1114706375,1035913834)+W(10,-1127893472,-1124574009,-1105825924,1050573738)+W(11,-1113547007,-1115579388,1022139202,999865176);WS(1057488311,1032489366); +sum1=W(0,998859696,-1107316871,-1130375162,1045821468)+W(1,1009430200,-1127874328,-1126361486,1034785118)+W(2,-1098594694,1031878554,-1137835434,-1124885440)+W(3,1028022609,-1114064513,-1105098668,1057263754)+W(4,-1104540630,-1121514949,-1139957040,1048520075)+W(5,-1099155379,-1127500588,1033795278,1026343507)+W(6,1015295094,-1112481238,-1109749909,1049599048)+W(7,-1105774078,1007199100,-1122345661,-1154023155)+W(8,-1112014022,1025402492,1046311438,-1119007402)+W(9,-1126668079,-1133481329,-1114013594,1034877470)+W(10,-1109189150,1026086402,-1129886863,-1108825451)+W(11,-1116334683,1046739556,-1119327433,-1138298796);sum2=W(0,-1131728975,1036764889,-1111227173,-1128881737)+W(1,1037242625,-1122740141,1035973522,-1115068573)+W(2,1022919798,1043114423,990889655,-1130091274)+W(3,1044679054,-1096357732,-1128128484,-1098903856)+W(4,1034691185,-1126568042,1057647035,-1081650015)+W(5,1064645808,-1105946360,997618289,1036162942)+W(6,1029801795,1008652352,-1094730608,-1121257166)+W(7,-1119761613,-1145265129,-1120435503,1020148594)+W(8,1034184152,-1122224678,-1123774451,1016517254)+W(9,1040526136,1019038058,-1110501324,1033879187)+W(10,1017411026,1025838030,1001204178,-1125968836)+W(11,-1141167471,-1125677560,1017460301,-1121815648);WS(1059796919,-1120566973); +sum1=W(0,-1128913552,-1112300176,-1105877684,1051198984)+W(1,1031319296,-1128535084,-1121363289,1042197939)+W(2,-1097436160,1044389601,-1156941767,1024751122)+W(3,-1114223569,1034918960,-1084964393,1058261945)+W(4,-1115209492,1025460631,-1170089852,1019526904)+W(5,1000497399,1057668526,1032065846,1032881746)+W(6,1032486790,-1097594444,1058860547,-1083919657)+W(7,1045243539,1010383044,1007200827,-1109654209)+W(8,1031553246,-1093305914,1041280427,986576750)+W(9,1031548233,-1121876014,1038828418,-1113158982)+W(10,1014469175,1034628234,1025411673,-1114258964)+W(11,-1106885131,1024357474,-1128319413,1012703988);sum2=W(0,-1143612781,1030657759,-1142189493,-1116365956)+W(1,-1108113093,-1144957229,1024653023,-1114346787)+W(2,-1145631357,-1122350618,-1120960689,1013910379)+W(3,1031492195,-1115709916,1041520845,-1109597137)+W(4,-1100459142,1028619709,-1118229715,-1122961088)+W(5,1058735511,1063925227,-1102646250,1003281301)+W(6,1037055061,1023143173,-1123318690,-1097941231)+W(7,-1097541479,1040501280,-1103747903,1032102149)+W(8,-1113230658,-1096423541,-1119600722,1015718737)+W(9,1027878177,1035049663,-1107577516,1034348655)+W(10,994779835,-1116733621,-1120661119,-1115297076)+W(11,1029140405,-1104473650,1048901284,-1122107736);WS(1025862512,-1097886171); +sum1=W(0,1017995501,1039868615,-1084617440,1048852846)+W(1,1036255511,1003283810,1028206791,1039095646)+W(2,-1095591910,1046495341,1032043925,1031081728)+W(3,-1115115241,1044724702,-1088992852,1053236428)+W(4,974144948,-1128580235,1023900364,1040670187)+W(5,-1089161581,1054642003,1024473755,1033561578)+W(6,973319892,1036683863,-1092805231,1050422468)+W(7,-1132527589,1012484477,1028215869,-1105649212)+W(8,-1107053347,1049220624,-1120787802,-1126192084)+W(9,1033665516,1040757263,-1107160205,1039010398)+W(10,1025750940,1035723265,1031994596,-1101644966)+W(11,-1102281943,1042256548,1034960116,-1141688154);sum2=W(0,1017309480,-1113384832,1051665642,-1106075829)+W(1,1041533127,-1143916576,-1115898040,-1105498372)+W(2,1043260681,1041703091,-1122221676,-1119502308)+W(3,1026950620,-1140340528,-1109716244,-1109231476)+W(4,1047102067,1032670038,-1131938440,-1101077232)+W(5,1039662810,1049668212,-1109791178,-1130795288)+W(6,-1120377052,-1114410560,-1113565360,1032262130)+W(7,1039963022,-1112068676,-1147724576,1042402941)+W(8,-1097796100,1040746517,-1131969000,1031201932)+W(9,-1108926548,-1114542528,-1108348496,-1140600496)+W(10,1032294606,-1108483346,-1120540424,1040078450)+W(11,-1097463639,1048026467,-1107112902,1028500076);WS(1059594295,-1081462343); +sum1=W(0,1027153262,1043504002,1052804111,-1087238767)+W(1,1041162890,1012415888,978268098,-1116748340)+W(2,1047257898,-1102654539,1038115889,-1165722369)+W(3,1020914066,1039643767,1049749519,-1086204143)+W(4,1044063108,1033818911,1037283618,1038369681)+W(5,1054855273,-1088075529,1037006730,1032180390)+W(6,1001487768,1034058802,1047397560,-1086503800)+W(7,-1117492081,991868273,1024040629,1040894970)+W(8,1052275873,-1098202447,1024505810,1034352017)+W(9,-1121199663,-1111840522,1039603542,-1107277965)+W(10,995252542,-1131707508,1022356543,1036921959)+W(11,1026848211,-1098696769,1036480704,-1136594828);sum2=W(0,1028621181,-1120219585,1035384087,1034472183)+W(1,-1123130413,-1120488613,-1110777341,-1127812186)+W(2,-1126856730,-1129759266,-1106344343,-1132463093)+W(3,1027102605,-1121966109,1038893967,-1123472797)+W(4,-1121376361,-1111137329,1030597213,-1109734497)+W(5,1046142043,1054407172,-1110811845,1013238549)+W(6,-1106396561,-1139970197,-1102581665,-1114873213)+W(7,-1147353578,-1113345499,1041951037,1005564394)+W(8,1024169581,1049042812,1023037898,1010521365)+W(9,-1110468651,1027913013,-1119264521,-1104920828)+W(10,-1123538565,-1123696429,1026771477,1021745754)+W(11,1045072501,-1117275361,-1108801471,934750635);WS(1001790336,1033193226); +sum1=W(0,-1113292474,1018580889,-1117909243,1052553934)+W(1,-1104113579,-1129785460,-1131356554,-1115176285)+W(2,1046326027,-1113855449,-1112351060,-1156866531)+W(3,-1133969725,-1102427201,1041639692,1060794158)+W(4,-1095014251,-1132017542,-1118664394,-1094752997)+W(5,1062953181,999804065,-1105541862,-1130622370)+W(6,1027204153,-1105768635,1031529696,-1122254720)+W(7,-1102735326,1022740922,-1111709325,-1119059021)+W(8,1040555139,-1110352445,1031818996,-1121415144)+W(9,1024655285,-1121009370,-1115548569,1026923705)+W(10,1008421480,1008916224,-1127980619,-1131789226)+W(11,1030139737,-1100154756,1016036429,-1122315305);sum2=W(0,999771042,1019371878,1035878909,-1106457448)+W(1,1038257769,-1118330440,-1130012060,-1137594745)+W(2,991329315,1043986431,-1108709562,-1156785507)+W(3,-1123589256,1002965746,1042318306,-1118271248)+W(4,1025444512,-1134019065,1018901632,-1114341154)+W(5,1053769225,1057361082,-1113472862,1021163648)+W(6,-1124249760,-1115605194,1010690665,-1102884302)+W(7,1015483632,-1123825168,1017234680,1017493044)+W(8,-1099274218,1037230696,-1115820708,1025071687)+W(9,-1118367200,1015905000,-1101115118,-1112309114)+W(10,1020142296,-1126466092,1016197020,1024661143)+W(11,-1092869373,1036147884,1016005876,1013380697);WS(-1096043118,-1087645231); +sum1=W(0,-1115587665,1029203067,1045341850,-1106908023)+W(1,-1131991862,-1114910160,1032694426,-1099485226)+W(2,1017432376,1052615508,-1113683692,-1127306394)+W(3,1031441086,-1113336032,1054321442,-1082902530)+W(4,1050084000,998100766,1023546425,-1121275799)+W(5,1050158903,1045376289,-1116607496,-1147820543)+W(6,-1130229584,1051148019,-1081266857,1057440145)+W(7,1027649766,1021215128,-1147531597,-1118364796)+W(8,1047006846,-1118131945,-1120491559,991663462)+W(9,1019733960,-1127235090,-1106232936,-1134199968)+W(10,1027530281,-1123554607,-1115129818,-1119188228)+W(11,1041137522,1018710010,-1131853547,-1124042776);sum2=W(0,-1129211209,1023515648,1040374834,-1110890211)+W(1,1020265593,1023672492,1023861908,-1119658781)+W(2,-1108471855,-1133136545,1048083250,-1109425046)+W(3,1038235290,-1121364796,-1096619497,1044872450)+W(4,1034188808,-1121333166,1029997412,-1103304652)+W(5,1039720436,1050855479,-1102257516,-1130250517)+W(6,-1125523437,-1109858923,-1113539350,-1117035130)+W(7,1022698753,1029442100,-1107362446,1044349350)+W(8,1038091910,-1107498682,1024895152,-1122118916)+W(9,-1114850415,1032218024,-1121557752,-1130602657)+W(10,-1162309256,1020180841,1013933265,1027861436)+W(11,982770184,-1128608489,-1129090321,939323929);WS(1062090935,1058767985); +sum1=W(0,1016379967,-1111629724,-1115487571,1040669191)+W(1,-1124650927,-1131647467,-1127587553,1016014666)+W(2,1046030390,-1131263417,-1107621674,1039946613)+W(3,-1124869109,1045897412,-1089079359,1049140321)+W(4,-1120715392,-1197661491,1030044278,1039181162)+W(5,-1107063038,1046027952,1035258018,1033161790)+W(6,-1135267218,-1111908667,1056809425,-1082917799)+W(7,1051125844,-1129645073,1021197901,1032078908)+W(8,-1100036461,1040408361,-1117322707,-1124734374)+W(9,-1146487047,-1129970444,1008766834,-1115518322)+W(10,-1115270659,1029976235,1001072263,1037221664)+W(11,-1118068997,1034380765,-1135017032,-1119763541);sum2=W(0,1033054007,-1111327982,-1121722910,1038740385)+W(1,-1119336676,-1124024618,-1116547758,1041352776)+W(2,1034677105,-1115132829,-1124364804,1035204548)+W(3,-1123189128,1032790615,1033549613,-1092378351)+W(4,-1102497930,1032784783,1033469023,1012971008)+W(5,1033020303,-1108961666,-1106694042,1032253989)+W(6,-1122818756,-1098982462,1051050782,-1121004928)+W(7,1035128176,1009754028,1026371779,1042838787)+W(8,-1098306997,1045175561,1039643256,-1118316692)+W(9,-1136838880,-1110172088,1034801784,1019964530)+W(10,1015821086,-1125398316,-1137766108,1004924993)+W(11,-1120000922,1027487385,1017988993,1028774587);WS(1065136439,1040354336); +sum1=W(0,-1140671753,-1108811053,1057254373,-1099781359)+W(1,1009251305,1003726785,-1120274067,-1107804932)+W(2,1050226223,-1098842784,1010162395,-1112753158)+W(3,1022747450,-1110160675,1059609336,-1092867554)+W(4,1036945681,-1120831377,-1124666160,-1105899870)+W(5,1031464345,1000731409,-1114655220,-1112429520)+W(6,-1123069063,1025125049,-1093137163,1058399851)+W(7,-1109467235,-1119063979,-1131113682,1033405406)+W(8,-1111386668,1055942809,-1101547023,-1146511789)+W(9,-1118356003,-1129239633,-1105328992,1044975810)+W(10,-1113825780,-1116155918,-1126498983,1016924742)+W(11,-1111235284,1051704028,-1104493413,-1117793303);sum2=W(0,-1139839138,1034041544,1034669108,-1095769692)+W(1,-1105759439,1039138956,998321428,1018598993)+W(2,-1116818777,-1114897304,-1105398904,-1145690340)+W(3,-1134067290,987604943,1007335842,-1102588486)+W(4,-1108283066,1018314989,1024466364,-1102834025)+W(5,1061492513,1062722215,-1098749835,1025712340)+W(6,1008723794,-1131349085,-1121214551,-1107691916)+W(7,-1108418109,1022467761,-1119932526,-1118877643)+W(8,-1116983417,-1117176868,1041629273,-1121476700)+W(9,1028368392,1031347596,-1114752830,1009572226)+W(10,-1103951670,1033232162,-1132382549,-1113750023)+W(11,-1103912225,1035794880,1046707789,-1110829011);WS(1015535328,-1084984071); +sum1=W(0,-1114800552,-1108603860,-1099862310,1058689409)+W(1,-1114937124,-1119809253,1017574081,-1120445077)+W(2,-1098244185,1050368026,-1113854018,-1119794874)+W(3,-1121052395,-1120661414,-1094435959,1059588503)+W(4,-1120887600,-1117398367,-1121642214,1038434434)+W(5,-1091868509,1053265766,1038069402,-1124845785)+W(6,1031943978,1004694578,-1100742889,1053762387)+W(7,1032168457,-1126829041,-1119258038,983354644)+W(8,-1090330210,1049777811,1033335786,-1124490374)+W(9,1015340962,-1131668588,-1106546547,1042220181)+W(10,-1112611163,-1122991451,-1152091148,-1117988144)+W(11,-1096238847,1044693386,1033654385,1025017029);sum2=W(0,-1113763234,-1123863865,-1152383745,-1153318001)+W(1,1032880554,-1112434267,-1113925793,-1117743388)+W(2,1049718598,-1115051721,-1108241407,1017487533)+W(3,-1117079348,1031541130,1054034272,-1111062529)+W(4,1025815300,-1115045873,1016562523,1034144457)+W(5,1045174355,1029337732,1040219109,-1115252534)+W(6,-1106152769,-1108434934,1019958281,-1107848604)+W(7,-1122950542,-1112234054,1021767953,1028245712)+W(8,1048832333,1036566626,1032317223,-1144290245)+W(9,-1110489214,-1107854239,1037079656,-1106439039)+W(10,-1114917041,-1111099643,-1118706081,-1131124226)+W(11,1041167636,-1100833945,1023645948,-1123196065);WS(1058837943,1069665989); +sum1=W(0,962159770,-1123278397,1059574623,-1100091288)+W(1,-1106975399,1026912571,-1131526763,-1133106088)+W(2,1052414436,-1100255560,1034080493,1026538575)+W(3,-1123587520,-1111839826,1056026369,-1090882007)+W(4,1026032901,-1128992103,1016761717,-1119033369)+W(5,1050778647,-1089604336,1030312842,-1142474253)+W(6,-1116652202,-1112323118,1057288447,-1090318286)+W(7,-1115237492,-1126485147,1020359383,-1123741278)+W(8,1051933055,-1098258189,-1123145400,1024876312)+W(9,-1124916236,-1111587013,1049400292,-1098860821)+W(10,1023272149,-1130617057,-1120750038,1031183749)+W(11,1050858601,-1113801599,-1102573630,-1147252941);sum2=W(0,1031825723,1031898082,-1068962638,-1097279430)+W(1,-1106804175,1033946762,-1121672345,-1123032728)+W(2,-1070958719,1042495248,1004890268,1015278793)+W(3,-1128689519,-1149677000,1062859919,1042236169)+W(4,1033261211,-1125393239,1003655756,1042326937)+W(5,1079716701,-1097154173,1047991146,-1129356209)+W(6,-1112729716,1016978721,1069238165,1043003442)+W(7,1029430153,-1130449529,1021714543,-1135526098)+W(8,-1106783417,-1101596383,1006662138,-1143028884)+W(9,-1143241256,1017362221,1038638730,-1114855682)+W(10,1016716693,1021676019,1015056847,-1115756346)+W(11,1030095799,1029691669,-1116617969,1007567766);WS(1027937136,1051433372); +sum1=W(0,1024223452,1027262836,-1095583884,1036904555)+W(1,1037383306,1026871330,-1131494490,1034970897)+W(2,-1102510757,1043230726,-1126475809,-1131579916)+W(3,1034208027,1041574867,-1088128354,1043513377)+W(4,1038022750,1022249046,-1113660825,1051529138)+W(5,-1082034838,-1088109312,1049740992,-1121104697)+W(6,1026687777,1043759333,-1107709564,1040837474)+W(7,1043020088,1030621125,1007645322,1035492122)+W(8,1021392868,1023668834,1040579632,-1128113439)+W(9,1019229306,1025216066,-1116281753,1033050768)+W(10,968839375,1026071912,1023660333,1033175550)+W(11,1019915650,1041627229,1040383308,1024084817);sum2=W(0,-1122636491,1019704225,1049771287,-1108218455)+W(1,1003686724,1007985666,-1114076695,1037288383)+W(2,1032297878,1029534785,-1114871835,1019192761)+W(3,-1122337791,1038646185,1050229287,1038576544)+W(4,1026526587,-1146139348,-1121313911,-1113812515)+W(5,1058219066,1058416091,-1129529893,1021492965)+W(6,1019616565,-1115379683,-1126947029,-1096957025)+W(7,1020162449,-1131201101,1032037049,-1144905268)+W(8,-1089173556,1029636273,1011141050,-1129337357)+W(9,-1121846167,-1124810757,-1109798125,-1112204367)+W(10,1015768281,-1117257463,1035628188,-1104091459)+W(11,-1085784913,1039375301,-1169657505,1026702945);WS(-1087300279,1060388257); +sum1=W(0,-1129462823,1023690092,-1095623283,-1106106692)+W(1,1037669414,-1130365587,1031115364,1041026294)+W(2,-1092905754,1045171988,-1113959460,-1127843579)+W(3,-1114720439,1027269348,-1093094418,1058204318)+W(4,-1142625182,-1122973026,1025637865,1022155151)+W(5,-1092295181,1060821043,1044954958,1027810288)+W(6,-1150727557,1032140389,-1091295733,1047241920)+W(7,1031904715,1008074737,1019407412,1019365849)+W(8,-1094422277,1051757075,1022315054,1005685302)+W(9,1005184420,1035913085,-1097873082,1047453654)+W(10,-1121754201,1011776124,-1144567588,-1142073248)+W(11,-1089577936,1052799910,1027854342,1023937224);sum2=W(0,-1120594034,-1166872476,1040489823,-1102509951)+W(1,-1086857984,1045679794,-1141459412,1004777140)+W(2,-1122900789,-1110936244,-1095818924,-1104593759)+W(3,-1136839806,-1113289360,1021539093,1067324619)+W(4,-1093760272,-1110068744,1028313984,1013932442)+W(5,-1095750682,1045560576,1065644346,-1103109579)+W(6,-1127607807,1019995585,1045364618,-1096904945)+W(7,-1123950010,1034732462,-1122936307,-1124945717)+W(8,1031026044,-1100965201,1042979309,1018809021)+W(9,1007613018,-1145964804,1033830372,1000232964)+W(10,-1121148085,-1152320711,-1134584398,-1157638606)+W(11,-1125456395,-1108078168,1026162850,980148252);WS(-1090838638,1050174926); +sum1=W(0,1024715784,-1109115088,-1106716164,1038102082)+W(1,-1115525408,1016756989,1033853293,1049593122)+W(2,-1120751425,1051782073,-1136454131,1035169257)+W(3,-1106406969,994296459,-1094496661,1043814476)+W(4,-1105105482,-1108133484,1042483832,1045373935)+W(5,-1086184702,1058236139,1033520471,1042591993)+W(6,1025782733,1015694078,-1092092861,1045378621)+W(7,1029286795,-1140252101,-1138965820,-1112080289)+W(8,-1095245812,1042079876,-1106373991,-1115290814)+W(9,1038488261,1045351388,-1100690449,1050438570)+W(10,1034575399,1041627941,-1139164262,-1114987669)+W(11,-1094326222,1040938025,-1122199803,1001134058);sum2=W(0,1051544715,-1087153288,-1090874159,1047568122)+W(1,-1111412903,1034895049,1047565246,-1111682644)+W(2,-1099176408,1032035298,1040133461,-1131191613)+W(3,1046232208,-1081925443,-1105576760,-1119008010)+W(4,-1140028602,-1112144320,-1105592564,1060283907)+W(5,1048906709,1036693685,-1107739759,1040322447)+W(6,-1094324661,1062548140,-1112367085,-1119206793)+W(7,1044620924,-1130045765,-1105924841,-1127110112)+W(8,1049091960,-1158298480,-1096403637,1011461326)+W(9,1021200095,1051334754,-1107585156,1036759049)+W(10,1046459856,1012649582,-1103932050,1033462267)+W(11,1048824237,-1114785543,-1114351857,-1111955333);WS(1039738296,1044009556); +sum1=W(0,1031992376,-1113116036,1058890327,-1088719167)+W(1,1040542090,-1107110028,-1118478209,-1126664684)+W(2,1042459434,-1107130859,-1129453002,1036863629)+W(3,1036413734,1028656912,1054229481,-1088309806)+W(4,1042227988,-1133301245,1042319122,-1095949365)+W(5,1057173004,-1090115281,-1127816747,-1121635021)+W(6,1025321013,1046101634,1048940614,-1090901446)+W(7,1048439133,-1120611033,1019779694,-1104617834)+W(8,1052520321,-1096019759,-1119199044,1022364232)+W(9,-1126468451,-1111694091,1047137387,-1098195015)+W(10,1036380619,-1108092830,1028741314,1029160593)+W(11,1057385245,-1090793697,1040359505,-1129794251);sum2=W(0,-1088996856,1009251693,1062110924,-1115283476)+W(1,1030923639,1034262626,-1089163817,-1107842867)+W(2,1057525018,1042234988,1032774718,-1123202523)+W(3,-1081345153,-1124806950,1064189433,-1104109471)+W(4,-1126776930,-1130902850,-1080285142,1052635731)+W(5,1067630395,-1112028150,1034769026,1036915346)+W(6,-1079794071,-1106464080,1063058829,-1113992476)+W(7,-1106165885,-1110986466,-1089981167,-1125456570)+W(8,1062842970,1045262592,-1136163037,1035294670)+W(9,-1091438196,-1115606726,1054193960,1042247754)+W(10,1032379012,-1135519157,-1099490886,-1106662163)+W(11,1053790298,-1104249669,-1108359351,1024576891);WS(-1096394862,1050867114); +sum1=W(0,975777376,1011677768,1050217928,-1095631255)+W(1,-1105375964,1033079080,1035680965,-1097606072)+W(2,1041761501,-1108785275,1035556439,-1107649602)+W(3,1017323049,1017467204,1059053443,-1088500104)+W(4,1042635014,1020084753,-1164976624,-1122057965)+W(5,-1098739346,-1111108333,1025006046,-1112750027)+W(6,-1126109949,1039142936,-1089683010,1062642602)+W(7,1038036638,-1142614292,-1117859264,-1137149130)+W(8,-1104430516,1040456976,1027021261,1017623258)+W(9,1011370603,1023416416,-1115445691,1016594173)+W(10,1041295544,-1113983747,-1122131819,-1112401517)+W(11,1042596520,-1120553683,1029575724,-1124248029);sum2=W(0,-1131210775,1029829507,1018275001,-1122984086)+W(1,-1096338526,1033255054,1024840523,-1108448221)+W(2,-1117395779,-1132016729,-1114466007,-1103146109)+W(3,1024067225,1046565608,1042461338,1059140985)+W(4,-1107995649,-1119288636,1022860453,-1107856867)+W(5,-1092962046,-1089805596,-1166014069,-1099911282)+W(6,-1125865258,1042031083,1053212914,1058514952)+W(7,1052927486,-1113255745,-1130239171,-1106481128)+W(8,-1102214835,1027704725,1041713274,-1106771914)+W(9,1024964869,-1127390051,-1114692565,-1118917379)+W(10,1037010892,-1111017176,-1117571915,-1124576676)+W(11,991892650,1032905776,1032336370,1000523989);WS(-1112511928,1031640207); +sum1=W(0,1037301926,-1102373753,1058068053,-1091912761)+W(1,1030698115,-1112730073,-1130112569,1048837234)+W(2,1051625169,-1095738529,1045615952,1045904421)+W(3,-1119711398,-1091456672,1054040787,-1101742756)+W(4,-1104227307,-1098654019,1044751592,1045582560)+W(5,1044375881,-1090186767,1051640030,-1111879892)+W(6,-1102628100,-1119033858,1057193534,-1090190311)+W(7,-1111999463,-1123401908,1042267541,-1093436941)+W(8,1051238780,-1110077161,1008998972,-1101737376)+W(9,1021159833,1050238014,1045936610,-1098844722)+W(10,1050341641,1043894710,-1122521821,-1100593739)+W(11,1058222955,-1090967581,-1108465231,-1112695488);sum2=W(0,1016218439,1024549194,-1121292007,1037076368)+W(1,-1112700443,1032984152,1009444234,-1117974589)+W(2,-1111737758,-1110249739,1020335555,-1112172263)+W(3,-1111008440,1042315856,1047393563,-1086831522)+W(4,1038599637,1060801772,1026480303,-1106327815)+W(5,-1089871257,-1069929292,-1111547810,1079084175)+W(6,1015374231,1040022175,-1115783084,-1085683537)+W(7,1049254465,1057876572,-1115006890,1025059842)+W(8,1043300713,1033002057,-1118960414,1033693800)+W(9,1027237715,-1110870197,-1103999090,1033912191)+W(10,-1118358651,-1104475663,-1122692269,1033099318)+W(11,1022298131,1032775289,-1104218510,1045399536);WS(-1106120924,1033431669); +sum1=W(0,1016553159,1035990878,-1101729723,1042266392)+W(1,1024064284,1018305971,-1146851238,1041817850)+W(2,1024013341,1027850273,1026394008,1021653787)+W(3,1024375743,1041767260,-1116899488,977256084)+W(4,990294084,996614956,1026515514,1047579686)+W(5,-1085522812,-1090381288,1048833585,-1125739905)+W(6,1005429062,1031819293,-1090064383,1048109660)+W(7,1038017843,1016883609,1029812010,1026577053)+W(8,-1118087802,-1113190325,1040657490,-1121801815)+W(9,1008887700,1014785832,-1126747713,1024173993)+W(10,1020235411,1027952623,1021177962,1011005202)+W(11,1025078601,-1127218683,1041410670,-1132785763);sum2=W(0,1032555846,-1110721648,-1094136567,1030929664)+W(1,-1146526593,1018020888,1019641904,-1116342888)+W(2,-1089264280,-1112511004,1032788860,-1125819008)+W(3,1015684488,-1102693078,-1097199465,1046449598)+W(4,1012812816,1004426241,-1123545328,1027573888)+W(5,1056898914,1052843165,1033507644,-1122415072)+W(6,-1118308408,1043950970,1037769558,1024674316)+W(7,-1106559340,1028547840,-1117707424,1021888896)+W(8,1041236542,-1109778580,1017687520,996318210)+W(9,-1137876352,1007632640,1026403708,-1123597216)+W(10,1028523456,-1149117889,-1152988290,1023916088)+W(11,1046276806,-1105717038,-1122312832,-1132920416);WS(1034973624,1056792353); +sum1=W(0,-1120658336,-1130821617,-1114903379,-1130597942)+W(1,-1109039532,-1124529164,-1121055921,-1114464179)+W(2,-1125024178,-1102939831,-1115164458,-1124681556)+W(3,-1128295926,-1106629009,1008426736,-1118485143)+W(4,-1104109440,-1138254780,1021962732,-1093463666)+W(5,1062068439,1067744046,-1094141737,993935312)+W(6,-1127490506,-1097245927,1050479246,1049107361)+W(7,-1105858697,-1132704804,-1119904327,-1132912612)+W(8,-1107542555,1045213129,-1119937620,-1120970067)+W(9,-1122942113,-1118132038,1028006365,-1113875250)+W(10,-1141854766,-1122550700,-1119710033,-1115274080)+W(11,1025872901,1036565277,-1121170098,-1120520661);sum2=W(0,1020401308,-1120501349,1037264768,-1090330474)+W(1,-1105802125,1023925581,1017661559,996214904)+W(2,-1116129767,-1084580575,1032645479,-1119976615)+W(3,-1129375401,-1140432422,1035443152,-1097846115)+W(4,-1102145888,1025111856,-1130735541,1024553914)+W(5,1051779064,1064606263,1038402436,-1136822486)+W(6,-1146688164,1006774606,1039827062,1048687051)+W(7,1000828364,-1121332237,-1166762145,-1124013507)+W(8,1025600009,1019182043,1025151371,1015612208)+W(9,-1130185789,1033491675,-1114545658,-1117487855)+W(10,1028059566,-1119338761,-1137125822,-1117903931)+W(11,1032817572,1037037513,-1112238814,999461036);WS(-1082445367,-1085006700); +sum1=W(0,-1131835086,1041974800,-1081109875,1054173212)+W(1,1035072463,-1137431795,1034878908,1043293403)+W(2,-1092276724,1051286356,1034209806,1038048136)+W(3,-1106661648,1042063924,-1086386347,1055927462)+W(4,-1114712644,-1110863483,1037617118,1045196135)+W(5,-1094524616,1058619216,1036390662,1042877649)+W(6,-1121819052,1037212703,-1094507255,1050138098)+W(7,1015171028,-1123146704,1022066011,-1105403448)+W(8,-1104988703,1028915053,-1139447658,-1114994477)+W(9,1036207796,1046411795,-1105674409,1041419787)+W(10,1026111277,1040360493,1033542412,-1100599618)+W(11,-1096619449,-1130824962,1045523870,-1121943708);sum2=W(0,-1112963339,1043137200,1014823768,-1089890678)+W(1,1022229356,-1128614108,1025676326,1000796272)+W(2,1031859059,-1102855534,1031913791,1018516204)+W(3,-1117465202,993751520,1020211292,1018575516)+W(4,-1120060570,-1138611816,1036266015,-1098528956)+W(5,1055374057,1061198225,-1098119563,1020738140)+W(6,-1124864900,1032573075,986723264,1038055959)+W(7,-1106568385,-1132953832,1019242508,-1097473255)+W(8,-1125510524,1050136287,-1098582022,-1123833514)+W(9,1017632828,1049454991,-1111044051,-1109681619)+W(10,1030233630,1035860627,1039721851,-1090503899)+W(11,1007293144,1054985311,-1101215648,-1110059149);WS(-1089141943,1068474134); +sum1=W(0,1024130588,-1121972404,1032495505,1036801227)+W(1,-1117579092,-1114425265,-1101143803,1041396360)+W(2,1045416789,-1094238571,1039470024,1024684838)+W(3,1039148539,-1105946681,-1106461946,1057861426)+W(4,-1113046718,-1108918837,-1124204515,1052602058)+W(5,-1094942270,-1098420551,1047303536,-1127532529)+W(6,1026773217,-1091638882,1059099726,1040764762)+W(7,-1094617668,1027200645,1018218693,1032280890)+W(8,-1106993164,1033290001,1040300696,-1103088708)+W(9,-1104179471,1041946144,1045088278,-1105244536)+W(10,-1110195745,1043167338,-1123573325,-1138642417)+W(11,1009482242,1037819035,-1108347351,-1116739793);sum2=W(0,1016644168,-1134771145,-1129326838,-1114142714)+W(1,1012771369,1025799488,998892514,-1114282184)+W(2,1049635340,-1101404122,-1114952606,1041138771)+W(3,-1116049462,1042383274,-1147070546,-1095734150)+W(4,1057697290,-1095991584,1033248586,1025008594)+W(5,-1102476512,1060588986,-1111850310,1027653952)+W(6,-1110140123,-1104878488,-1090718582,1052949499)+W(7,-1096580248,-1127102864,1041609896,-1101611481)+W(8,1046973498,-1143476482,-1114336646,1035005082)+W(9,-1103095555,1048842205,-1115539252,-1110997031)+W(10,1031782132,992902692,1030835892,-1122288558)+W(11,1028769716,1022411808,-1118966953,-1120028296);WS(1055908206,1023803300); +sum1=W(0,1033033649,-1114766205,1059767687,-1093070812)+W(1,-1106762950,-1139512861,-1128828388,1011459483)+W(2,1054454099,-1094569204,1029622486,1016172182)+W(3,1027156540,-1106069078,1057986836,-1086765600)+W(4,991938588,1027600816,1024886583,-1116675477)+W(5,1059734148,-1090099632,-1098865153,1027525694)+W(6,-1122498726,-1116893112,1056528229,-1094363024)+W(7,-1101593593,-1135964969,1032744244,1045609495)+W(8,1043829406,-1102732570,-1139103892,1036132330)+W(9,-1114524705,-1113403236,1047712168,-1103438026)+W(10,1022039246,-1117700205,1005980052,1049123968)+W(11,1049516377,-1098493775,-1097177334,1035501771);sum2=W(0,1025334517,1052224655,-1085507535,-1083097675)+W(1,-1097828858,1062578782,-1115143239,1029199567)+W(2,-1092254017,-1079915962,-1092877982,1029921983)+W(3,-1112308287,1050599738,-1091835304,-1078367265)+W(4,-1101001669,1036651638,-1115511381,-1137182696)+W(5,1050309385,-1085955474,1031547399,1017725718)+W(6,1042864237,-1101494467,1052849573,1077549274)+W(7,974314816,-1103762806,1031444191,-1094150391)+W(8,1058681981,1068550083,-1100178328,-1106558945)+W(9,1040795754,-1116631442,-1093246396,1054678659)+W(10,1046838481,1039431488,-1111573417,-1092627938)+W(11,1066882777,1059124396,-1088438520,-1098096651);WS(-1078207964,-1098790270); +sum1=W(0,-1117816013,1017293260,1049047675,-1100878354)+W(1,1032784131,-1126192007,1039615439,-1121106131)+W(2,-1100078274,1049964833,-1107321921,-1122801847)+W(3,1040159636,-1098516348,1057717203,-1094050686)+W(4,1040450075,1034337038,1032454162,-1100564368)+W(5,1041647209,-1119951725,-1099964381,1014677674)+W(6,1029735698,-1142189601,-1090236946,1052197359)+W(7,-1116032848,1028031798,1026856980,-1115831559)+W(8,1041839801,-1110599850,1034137049,1027844545)+W(9,-1128361629,-1129405415,-1114821509,1009705546)+W(10,1036993018,-1121696025,1002339317,-1114960439)+W(11,1034781465,1020602063,993360895,-1130484229);sum2=W(0,1025029135,-1104367710,-1119205162,1051361304)+W(1,-1097951274,1037239658,-1115606678,-1132455965)+W(2,1051294613,-1090262380,1046775583,1027534783)+W(3,-1098891737,1054704406,-1118431701,-1094584814)+W(4,-1111734067,-1137589907,-1111864983,1035843132)+W(5,1040638061,1042639742,-1115582191,-1161598998)+W(6,-1112278329,1038310704,1033551568,1042180969)+W(7,-1116801751,-1113612863,1017169741,1037432870)+W(8,-1095570314,1054301740,-1102111461,-1137659371)+W(9,-1123958951,-1137648567,1040693441,1006683771)+W(10,-1108749213,1017443081,1031819582,-1122384617)+W(11,1008777251,1032304440,-1103720876,1038413214);WS(1060561207,-1110135205); +sum1=W(0,-1114856118,1049197464,-1091745710,1057921518)+W(1,1045672489,1021270499,-1124131449,-1108658488)+W(2,-1095755605,1045522218,-1100746808,-1112929307)+W(3,-1121034566,1041962623,-1091090769,1055093690)+W(4,1019645080,-1157317541,-1112340961,1047635080)+W(5,-1089785676,1056738433,-1111234056,1036938084)+W(6,-1112123800,1029521634,-1088312300,1057086969)+W(7,-1095870350,-1148757666,1034679769,1045001085)+W(8,-1105390912,1048793054,1047514180,1026507103)+W(9,-1115322038,1019494819,-1095959893,1049205462)+W(10,-1099214252,1019330670,-1107671902,1038785126)+W(11,-1089779917,1057170552,1022895484,1029094240);sum2=W(0,-1110883135,1041894205,-1114700148,-1082032478)+W(1,1046875162,1064081845,-1122184691,-1115970606)+W(2,-1118217955,-1081043792,1049320576,1059051295)+W(3,1008834310,982318965,-1097954058,-1085641610)+W(4,982336213,1064706681,1033395903,1040255170)+W(5,-1109327580,-1095688614,-1107088758,1066526360)+W(6,-1110716892,-1134396672,-1107386491,-1084362127)+W(7,1032307660,1060847547,1024095030,1031402202)+W(8,-1114148625,-1093205100,-1122373488,1058657081)+W(9,-1113505190,-1121857157,-1116084956,-1087863650)+W(10,1045820748,1055302318,-1113542640,1031923695)+W(11,-1128842340,-1094939475,1044473869,1041403755);WS(-1088848183,-1091270356); +sum1=W(0,-1113444636,1022583331,-1092936920,1050793382)+W(1,1035173048,-1115063927,-1127291412,1011517178)+W(2,-1094397598,1055228191,-1112816343,1007040780)+W(3,-1131637032,1047190142,-1092945549,1056457416)+W(4,1039723405,-1118782984,-1105736260,1040877723)+W(5,-1086200137,1051083611,1039289519,-1114815627)+W(6,1030983166,1035565944,-1102025475,1056969730)+W(7,1015654008,998545680,-1127378047,-1097520394)+W(8,-1104020948,1051399464,-1108815670,-1127143385)+W(9,1037357901,-1114602800,-1116833526,1044492479)+W(10,-1116817631,1025703109,-1115666437,-1108205485)+W(11,-1102830535,1047811509,1032741190,-1123886254);sum2=W(0,1023906737,1067295699,-1081442287,-1097077469)+W(1,1029195957,1026431960,-1110646223,1065087692)+W(2,-1085042817,1037915281,1015927544,-1132623721)+W(3,-1119411664,1065459703,-1083251842,-1096872835)+W(4,1018101230,1018762696,1010017751,-1118952488)+W(5,1050008558,-1110920551,1042598936,-1124571002)+W(6,-1108429461,-1081475488,1064700095,1006981249)+W(7,-1103158035,1020104602,1029589423,-1083105366)+W(8,1064469883,1036080906,1041992018,-1114107558)+W(9,-1110439418,-1095503285,1057972141,-1106015672)+W(10,-1108943564,1036691137,-1125097343,-1083389324)+W(11,1061045473,1051761632,-1114827780,-1119006739);WS(1034259896,1039623341); +sum1=W(0,1016878676,-1137539339,1055868742,-1088089066)+W(1,1043298073,984347141,1028460795,-1104998988)+W(2,1047938201,-1091378989,1036240559,-1121755284)+W(3,1034359235,-1129847248,1058114664,-1090213650)+W(4,1043122195,932956556,1011385345,1015052988)+W(5,1043619008,-1114958501,-1119276751,1018241806)+W(6,1015855070,1032818160,-1096687428,1054476715)+W(7,-1110579607,1026808723,1016831138,1044006969)+W(8,-1092418872,1049053750,-1101201217,1034235663)+W(9,-1128588247,1033445320,-1100196186,1040121848)+W(10,-1106781444,1010316760,1025908283,1043524531)+W(11,-1095896370,1044746961,1018213241,-1120101215);sum2=W(0,951810592,-1108037836,-1092018666,-1130209970)+W(1,1022643242,1009312276,1033659165,-1102042508)+W(2,-1107310314,-1115641842,-1110096702,1032067593)+W(3,1002259560,-1103529440,-1101738099,1041635941)+W(4,1034513697,-1114108683,1037243759,-1102191435)+W(5,1066447662,1067062587,-1100161415,1041326077)+W(6,-1112310958,-1111056455,1032823775,-1098661250)+W(7,1027860693,-1120382671,1034753865,-1119026649)+W(8,1031795157,-1099014553,-1096684817,1026651225)+W(9,992340497,-1101647251,1040899047,-1117726225)+W(10,-1114962434,1038338139,-1114454490,1024637657)+W(11,1046257437,-1111013301,-1112982645,-1106704138);WS(-1096556910,1067967914); +sum1=W(0,1032707155,-1122886335,-1095119782,1055235700)+W(1,-1120012638,1031514684,1024354487,1031668012)+W(2,-1103532312,1048353625,-1105977207,-1126996321)+W(3,-1131915011,1021347526,-1095435756,1044387963)+W(4,-1105830818,-1116416117,1043480447,1041914807)+W(5,-1090836352,1053060297,-1133082414,1043128001)+W(6,-1118942187,1036630543,-1091218783,1041581564)+W(7,1017318739,-1110350280,-1132633269,1034774528)+W(8,-1104917967,1052242886,-1121967338,1039162573)+W(9,1031302952,-1125222297,-1100801113,1033613430)+W(10,-1130484760,-1148985233,1031513592,-1106257250)+W(11,-1104067043,1050269976,-1109204860,1034839630);sum2=W(0,-1125934657,1041393774,-1097497496,1047775001)+W(1,-1131783044,-1122059316,-1120747465,1032139854)+W(2,-1114660789,-1105604596,1018330620,-1129241452)+W(3,-1126946517,-1107151652,-1096477783,1048515105)+W(4,-1096755902,-1147658728,1019390634,1046075673)+W(5,1057927405,1059160295,1041946221,1011994599)+W(6,-1140291646,-1090083756,-1110210473,1043731078)+W(7,-1091797353,1032850220,1045993569,1024325836)+W(8,-1137735680,1039621515,1046026631,-1126091098)+W(9,-1110717499,-1116058677,1033250412,-1116506490)+W(10,-1106745231,1009337229,1038335355,-1097350707)+W(11,-1127153776,987432265,-1124643180,-1124186068);WS(1061843767,-1077951557); +sum1=W(0,1026388735,-1106366502,1059311576,-1088217072)+W(1,1041378862,-1102542817,-1120114128,-1131166601)+W(2,1043697070,-1105977039,-1130669927,1039925540)+W(3,1037862893,1029755951,1054385928,-1091419383)+W(4,1047467576,989452730,1029309653,-1091391038)+W(5,1057568381,-1089136642,-1111164306,-1105668215)+W(6,1036389538,1048316317,1054220568,-1092475601)+W(7,1053509792,-1138232735,-1122000006,-1099454574)+W(8,1049723715,-1095416897,-1108260705,-1130981221)+W(9,-1126306304,-1106178153,1050234615,-1096877448)+W(10,1038585474,-1107228323,1030215888,1034019808)+W(11,1058416302,-1091809363,1045917860,-1116719540);sum2=W(0,1061533858,1041546460,-1081881922,-1104625991)+W(1,1020257203,-1112819836,1062451832,1044663473)+W(2,-1084977950,-1116240264,-1107478927,-1146254682)+W(3,1068272760,1019905335,-1081565785,-1115490290)+W(4,1038097782,1018218872,1070735043,-1103665132)+W(5,-1079025547,-1094934042,-1129735749,-1108448519)+W(6,1070929067,1027882908,-1082597652,1002519540)+W(7,1043320870,1032555484,1058522058,1053579543)+W(8,-1079765468,-1096683616,997759194,-1111378699)+W(9,1059576348,1030217484,-1088759123,-1103272320)+W(10,-1110736144,1018278443,1052624489,1042937819)+W(11,-1090364693,1039524167,1041293151,-1120119454);WS(-1084224055,-1088316584); +sum1=W(0,-1113613001,-1107673717,1006747746,1039555654)+W(1,1033838821,-1159624430,1003388692,1028109079)+W(2,-1098426505,1048291572,1024741190,-1124153911)+W(3,-1106869627,1012698375,-1088923256,1059475506)+W(4,-1120760050,1033833840,1016662735,1027116933)+W(5,-1097246285,1054502102,1019707757,1010228666)+W(6,1022316973,-1094644889,1057877820,-1093203288)+W(7,1048977331,-1114819581,-1136760929,1023495179)+W(8,1033746004,-1098003683,1036081339,-1110624834)+W(9,1028746387,-1107590588,1041863252,-1105649846)+W(10,1041797102,-1119454813,984919127,1024116594)+W(11,1022736621,-1114921814,-1127589064,-1122201606);sum2=W(0,1015245257,-1113301472,-1126889814,-1122805777)+W(1,1024783162,-1125306444,-1113948506,-1150409563)+W(2,1027745966,-1121614859,1024732276,-1120982285)+W(3,-1130594159,-1113241340,1053517180,1035094088)+W(4,1035927962,-1117285071,1007533655,988101766)+W(5,-1115083078,-1117590123,1033594898,-1115586407)+W(6,-1122336092,-1114338752,-1120298083,1041346715)+W(7,-1136757529,-1179946326,-1131246557,1042344950)+W(8,1009652067,1010321235,-1112303516,-1122655190)+W(9,-1121042747,1024929700,1023796132,1022595647)+W(10,-1107129305,1031780006,-1112003767,1034588627)+W(11,1015099871,1021357977,-1116844702,-1109817399);WS(1056759150,1060224665); +sum1=W(0,-1139374311,-1132085157,-1099925456,1041263149)+W(1,1033127353,-1131329248,995010733,1023919167)+W(2,-1105275165,-1143162806,1020125661,-1128574472)+W(3,-1111414410,1047983919,-1089721802,1045591848)+W(4,1047176279,-1124813330,-1108849608,1035204919)+W(5,1047380996,1054640011,-1109178223,-1115433611)+W(6,1028987391,1044747100,-1111752399,-1086265361)+W(7,1047077327,1014274699,1016981889,1009635916)+W(8,-1106656308,1052567064,1025513390,-1114033239)+W(9,-1123115291,1026679904,-1119632759,-1119813375)+W(10,1020940735,-1135589654,-1129401942,-1133052010)+W(11,-1103728616,1036660778,1026259564,-1154487021);sum2=W(0,1023227060,-1114834111,-1123255684,-1111609489)+W(1,1029177075,1009084849,1023565277,-1123243930)+W(2,1036838581,-1109001470,1046335474,-1110362282)+W(3,1023373012,-1110717616,-1121973236,-1106028739)+W(4,1040383540,1030364025,-1127246210,-1119831250)+W(5,-1128787384,1068968933,-1085459757,1038001226)+W(6,1035525242,995075850,-1106791563,-1084327071)+W(7,1055427968,1004844681,-1115895934,-1112704991)+W(8,1017209933,1049794788,-1106438120,-1109625554)+W(9,1032252451,-1137853837,1025363014,-1103092626)+W(10,1039281515,1026824663,-1115664904,-1177558227)+W(11,-1117762720,1033559138,-1108939748,1027051057);WS(1059198391,-1114206899); +sum1=W(0,-1123230572,1047908609,-1086695351,-1111534963)+W(1,1041894153,-1168813170,1033309054,-1113872057)+W(2,1005036838,-1127426130,1035651728,1029018614)+W(3,-1136657179,-1131612168,1053830093,-1097279138)+W(4,-1114797926,1015674230,1042361008,1032838544)+W(5,1063074340,1032841926,1042266564,-1115081892)+W(6,-1127872354,1018582917,1022976638,-1102974814)+W(7,1036160183,1022213546,1026831155,1025662981)+W(8,1048968528,-1086802103,1043048448,-1119589535)+W(9,1034821095,-1122684754,1037218004,-1094977286)+W(10,1028546130,1023015663,1027013917,1042918755)+W(11,1045668084,-1080167184,1051954532,-1121567905);sum2=W(0,-1109294951,-1116747636,1053044316,-1093594252)+W(1,-1105874671,1036768486,1044771761,-1095594447)+W(2,-1102224225,1044254591,-1148207325,-1122217612)+W(3,-1106240469,-1091993541,1065361960,-1103264547)+W(4,-1098859579,1038496462,1037653814,-1098134808)+W(5,1060397410,1059446961,-1110887683,-1106764847)+W(6,-1132138943,1045429231,-1095097189,1053539276)+W(7,-1103270924,1035231626,-1129034439,-1112675284)+W(8,-1139768526,-1147713757,1018090127,-1112984312)+W(9,1027920896,1030264036,-1100471477,-1115698004)+W(10,-1105560593,1037287074,-1126749735,1027709116)+W(11,-1095674438,-1131922215,1044415945,-1106415399);WS(-1081905372,1072993545); +sum1=W(0,1004609681,-1111485397,-1100618406,1052555682)+W(1,-1113666277,-1113131956,-1113931058,1044870886)+W(2,-1103601459,1050421002,-1125853837,-1119475260)+W(3,1017897178,-1101161424,-1117978262,1053397115)+W(4,-1109207833,-1119057377,-1110350900,1042868018)+W(5,-1088871615,1057434595,-1108715676,-1116054255)+W(6,-1119842647,1016958866,-1096217303,1037835279)+W(7,1041223333,1033629886,1029593625,1036666966)+W(8,-1090419947,1054502387,-1131918060,1019600139)+W(9,-1114320538,1034341084,-1105396084,1036260396)+W(10,1046093262,1034832815,1026419555,-1123516147)+W(11,-1100180286,1041011339,-1108472674,1025124935);sum2=W(0,1027207918,-1134820995,-1123507780,1022927690)+W(1,-1148644129,-1124904791,-1131003531,1019005665)+W(2,992028222,1039006609,-1114458430,1019252639)+W(3,-1155176792,1018656479,1020777698,-1108026125)+W(4,985006155,1019665619,-1144704129,1016837667)+W(5,-1093100477,-1075529389,-1165905039,-1148497627)+W(6,-1120277627,-1133755465,-1106617270,-1071234400)+W(7,1009164120,-1154476856,1018692534,1007330736)+W(8,1026210395,-1098388857,1080134310,1041946375)+W(9,-1122116985,1008190855,1015481059,1043410538)+W(10,1068769301,-1120913968,1016313728,1024160458)+W(11,1009441727,-1127804151,1038162442,-1102924087);WS(1052536174,-1151096569); +sum1=W(0,991116371,-1128173243,-1103836723,1032573088)+W(1,999976938,1037991630,1033302347,-1146822742)+W(2,1034951935,-1120898050,-1138114279,1035558856)+W(3,-1116642336,1036050892,-1087917523,1057405287)+W(4,-1098834165,1042054293,-1115536654,1034768509)+W(5,-1106200391,-1120590821,-1118223722,986260550)+W(6,1020657940,-1102372039,1061554222,-1082912644)+W(7,1047922098,-1130396508,-1114833734,1030675614)+W(8,1041046871,1002819162,-1107937520,1023135729)+W(9,1031490598,-1114628406,1046795201,-1124848916)+W(10,1038688870,-1142052488,-1158391502,1032401267)+W(11,1027714602,-1124036191,-1118805976,-1177279769);sum2=W(0,1035223119,1038869307,-1108836158,-1105867416)+W(1,-1106282608,1028503999,-1127800761,1034423710)+W(2,-1116666352,-1109342419,1047028407,-1119414296)+W(3,1038890181,-1109261585,-1087753137,1027333841)+W(4,-1148256348,-1113209005,1028905699,-1095895125)+W(5,1061176216,1057224086,-1148022324,1010099974)+W(6,994981383,-1098712671,-1099737664,1049674522)+W(7,-1103462952,1020393479,-1127955051,1032845262)+W(8,-1208820627,1011854042,1043242553,-1115953239)+W(9,998786660,1030375171,-1126035264,1017325847)+W(10,-1121350765,1024565993,-1121293280,-1114148994)+W(11,1042226462,-1120003540,-1117125009,1001260628);WS(1058902967,-1081860445); +sum1=W(0,-1121371387,-1116017491,-1114517185,-1144385454)+W(1,1031405875,-1133995267,1029881036,-1110722656)+W(2,-1096281750,1046612526,1032371736,-1118231237)+W(3,992316765,-1103068528,-1110556335,1050079932)+W(4,-1114542190,1037331941,-1117974353,-1120254383)+W(5,-1087192661,1061346066,-1113719056,-1117606232)+W(6,1019164800,-1111729689,-1138608617,1054224317)+W(7,-1147587566,1027634660,-1115308289,-1123116948)+W(8,-1119671953,1023689473,-1121094047,-1114416951)+W(9,1031905998,-1110978129,1026716344,1034730016)+W(10,1032702160,-1150819433,-1118946572,1027465948)+W(11,1026550240,990814541,1025765741,1002408318);sum2=W(0,-1127268449,1017520494,1046612660,-1104246964)+W(1,-1098833757,1019779427,1008157504,-1110533731)+W(2,1053115740,-1126879265,-1103206877,-1135658469)+W(3,1022079949,-1110799425,1042237616,1071620340)+W(4,1047260740,-1112586418,-1129508015,1038116680)+W(5,-1081939523,-1082767624,1046386206,1021781126)+W(6,1023435994,-1149062134,1046590815,-1091995420)+W(7,1034566387,1021597755,987488696,-1109564641)+W(8,1019421448,-1133233221,-1113663072,1025921212)+W(9,-1149203238,1031926637,1025089506,-1113723868)+W(10,-1131415815,1022181144,1025441916,-1140288129)+W(11,1002014090,1008464055,-1120607589,-1133866981);WS(-1118927728,-1114990634); +sum1=W(0,-1123938375,1033195056,1057535917,-1087859524)+W(1,-1107191040,1047574307,1040612950,-1114716774)+W(2,1047260544,-1132924433,1007112943,-1106834116)+W(3,1024746402,1048819881,1042772673,-1087499341)+W(4,1043648426,1044210486,1022214714,-1104426015)+W(5,1057677234,-1097320317,-1093740782,1028537764)+W(6,1038811590,-1105195831,1045869257,-1091890215)+W(7,1042013107,-1106862316,-1112630087,1042575344)+W(8,1057533694,-1089715893,1020754614,1047539199)+W(9,-1118622728,-1098438774,1042859777,1029276300)+W(10,-1107815558,-1107232885,1031232344,1038434900)+W(11,1055588422,-1091230428,-1113991309,1041569343);sum2=W(0,-1117938617,-1098776947,1052841626,-1111689798)+W(1,-1101990052,1034353164,1034943831,-1074997876)+W(2,1071950042,1008522816,1023979086,1019125592)+W(3,1047294563,-1067348911,1078478928,1042633900)+W(4,-1106116215,1021696573,-1112881764,-1073328658)+W(5,1075942353,-1105497105,1040726051,1032192788)+W(6,-1113196518,-1106856879,1048374094,-1100859969)+W(7,-1128120408,-1129459590,1017166837,1007574096)+W(8,-1110198115,1027760421,1041816709,-1114781060)+W(9,-1119652380,1040326435,1016518417,-1106280857)+W(10,1015116440,983174391,-1122537978,1003760381)+W(11,-1132261857,-1146348222,1015700123,1019612376);WS(1034111416,-1106797037); +sum1=W(0,-1127934684,-1113852291,-1096035023,1052464285)+W(1,1032415443,-1113420426,-1146675705,1035613338)+W(2,-1102929642,1042719307,-1114220817,1025128440)+W(3,1006977829,1034804131,-1090308252,1054858571)+W(4,1032020487,-1114922591,-1113401378,1037672145)+W(5,-1089088820,1057164897,-1123663635,-1136503085)+W(6,1019549798,1044038057,-1096624416,1050796251)+W(7,1035431737,1026704599,1016064490,-1106829090)+W(8,-1097224209,1048920159,-1131720964,-1109868785)+W(9,-1139061950,1033066250,-1104516203,1042039981)+W(10,-1114943722,1024811962,998716411,995721454)+W(11,-1095532026,1049209393,1041424208,-1138798477);sum2=W(0,1018373307,1030944977,-1120549779,-1139755202)+W(1,-1101691927,1049483493,-1117669473,1035483586)+W(2,-1113169149,-1114451942,-1102665013,1049560407)+W(3,1036793172,-1120221588,1031305133,1047991436)+W(4,-1083948126,1057078402,-1107254646,-1138388666)+W(5,-1118729068,1050438576,-1083351573,1060878230)+W(6,1027210469,-1119036598,-1123944089,1058194810)+W(7,-1081291530,1058504911,983011887,1026801669)+W(8,-1136088418,-1103576008,-1106933299,1044728114)+W(9,-1124389554,-1120993070,1045466087,1037255439)+W(10,-1095248620,1047223280,999841656,1036234905)+W(11,-1110162376,-1114267729,-1124771645,1036725012);WS(1038841272,1052605132); +sum1=W(0,1031922765,-1100459309,1037270288,1026910357)+W(1,1023447506,-1104596348,-1104568331,1046914264)+W(2,1041702805,-1101939446,-1114279623,1044685961)+W(3,1037544250,-1120141702,-1098675705,1040827436)+W(4,1048352911,-1104877098,-1109808312,-1117060814)+W(5,1045728636,1037079325,-1115507167,-1117405559)+W(6,-1115625903,1046551204,1017164043,-1095425143)+W(7,1040518727,1032200833,1042593752,-1097718198)+W(8,999474559,1046662664,1038294495,-1104511859)+W(9,-1105481799,1032086688,1031450455,-1103113592)+W(10,-1106032688,1039045107,1033924054,-1112841053)+W(11,1034794943,1015870568,1041969331,-1111795079);sum2=W(0,-1119788132,992683382,1018867293,1022669528)+W(1,1044098145,-1102594356,1033659476,-1104347191)+W(2,1020892153,1043646320,1022003003,-1105788334)+W(3,-1112158198,1044081475,-1090780387,1053457206)+W(4,1053806225,-1097169858,1008462738,1034564598)+W(5,-1098943438,-1103925357,1061138285,-1089462725)+W(6,-1128623485,1037093866,1024702018,-1094689316)+W(7,1061570617,-1090351234,-1135723434,-1118342628)+W(8,1037085984,-1130567667,1042502677,-1124000960)+W(9,1030330775,1008221186,-1108937272,-1111881166)+W(10,1045330453,-1102638867,-1125624097,-1116661382)+W(11,1041747819,1006874186,1015917808,-1119261652);WS(1059476151,-1123203418); +sum1=W(0,-1111725774,1035594491,-1091810916,1057461865)+W(1,1016189354,-1123857235,1032359159,1034919857)+W(2,-1140486487,1048140086,1034245225,1028750247)+W(3,-1110577724,-1111760306,-1084838663,1060577506)+W(4,-1104347695,-1113205590,-1105544893,1046155316)+W(5,-1086139015,1052038472,1027870402,-1121460986)+W(6,-1121304930,1044165509,-1095808892,1057513991)+W(7,-1103056264,-1148349487,-1115245634,1020829292)+W(8,-1096673622,1053266340,-1108853472,-1113141864)+W(9,1036887935,1039852002,-1127813812,1045123672)+W(10,1031021091,1036934292,-1110517831,-1120384574)+W(11,-1090491960,1055106407,-1133152957,1011178567);sum2=W(0,-1114868977,1026556603,1004734644,1034344926)+W(1,1040708934,-1131620842,-1107973502,-1115461868)+W(2,-1092079110,1042028492,-1103991549,-1105590488)+W(3,1044770988,-1104823400,1059587552,1024895663)+W(4,1051421807,1029419915,-1101288212,-1105554340)+W(5,1045430990,1050688149,-1095880897,-1114582112)+W(6,1025917421,1036199790,1037874646,1047334362)+W(7,-1118101029,1015496806,1028043472,-1116199065)+W(8,-1137785064,-1116948841,-1122024357,-1121536685)+W(9,-1111158861,1020651575,-1093651456,1044938016)+W(10,-1099771430,-1121478353,-1123193100,-1128075734)+W(11,-1127404110,1042458099,1007412048,-1127827256);WS(-1096078190,-1082738059); +sum1=W(0,1007239809,-1108860284,-1100207850,1053165251)+W(1,-1112013420,-1115685558,-1114850361,1046670329)+W(2,-1101169270,1050939564,-1126100266,-1124400725)+W(3,-1130257143,-1103368477,-1116530972,1051252601)+W(4,-1112810720,-1112871192,-1112210107,1045976117)+W(5,-1088435015,1056131912,-1124484747,-1117830909)+W(6,-1118665957,1029494103,-1092482434,1045571555)+W(7,1041969097,1031308937,1028242343,1036298605)+W(8,-1090334611,1053021861,1032260218,-1143992478)+W(9,-1116764258,1029804679,-1105280439,1035862579)+W(10,1044490698,1037078646,1022403683,-1128309634)+W(11,-1099682433,1038809821,-1114977769,1016808747);sum2=W(0,-1133820219,1027229337,-1115513384,1007940354)+W(1,-1156542700,1020775992,-1147891684,1032424255)+W(2,-1107406978,-1125237780,1031863482,994071912)+W(3,-1127336652,-1137665638,1037916056,1044701152)+W(4,-1113898133,-1127018949,-1127200453,1045946307)+W(5,-1096925824,1067148595,1048747828,-1115116116)+W(6,1020736496,-1116510358,1031285965,1076670751)+W(7,-1101339101,-1122694416,1001166860,-1145031593)+W(8,-1138759126,1039470145,-1070343554,-1106720041)+W(9,1022486646,-1116471963,1020254812,-1109537872)+W(10,-1082365934,1034791139,-1135690985,-1126621635)+W(11,-1122394148,1025436583,-1107321525,1039293842);WS(1056919406,-1123699093); +sum1=W(0,-1153021483,985933670,-1089586019,1058308826)+W(1,-1122912091,-1130942473,1016658279,-1142160193)+W(2,-1106728023,1043832952,-1111941676,-1162334614)+W(3,-1169964908,1032391598,-1095447822,1054485203)+W(4,-1114359010,-1115887538,-1131540465,-1109380555)+W(5,-1095937215,1051425640,1038539876,1035573952)+W(6,-1116724456,-1112807501,-1092279079,1057168451)+W(7,-1129000267,-1120065804,1018808083,-1115139838)+W(8,-1105250414,1053123845,-1105627696,1037216107)+W(9,986184318,1023499017,-1104943256,1034402292)+W(10,1011544866,-1114397383,1026972628,-1119658051)+W(11,-1093497009,1056025192,-1129701482,1031803900);sum2=W(0,1034281368,-1104410341,1018060402,-1138447737)+W(1,994323516,-1140256393,-1126716121,1032410612)+W(2,1017706532,-1115589617,1029627322,-1133676977)+W(3,-1121241308,-1087414339,1061712823,1021983592)+W(4,-1133709215,1012505315,1045372780,-1068615761)+W(5,1078313037,-1100339818,1015111478,-1130902073)+W(6,1035929285,-1067644471,1079888634,-1123293195)+W(7,1023885100,1028720332,1047600787,-1091405946)+W(8,1048822788,1030149270,-1124744731,-1123320040)+W(9,1004087438,-1118166494,1023636550,-1120625820)+W(10,1010097407,1022959192,1041718259,-1097556864)+W(11,1035128990,1021734756,1009567515,-1136405679);WS(1057577783,-1116545908); +sum1=W(0,-1140559047,1023488522,1031631673,-1127758170)+W(1,1037581685,-1129099776,-1119858755,1007841757)+W(2,1034355893,-1102068668,1038802963,1023940956)+W(3,1001413734,-1099448121,1034820815,-1139646818)+W(4,1020321573,1023108226,1019558160,-1135636631)+W(5,-1095265297,1043309332,-1118918103,-1133216315)+W(6,1027838711,-1106014610,-1133110549,1058446926)+W(7,-1104027725,1027058075,-1123065945,-1112832085)+W(8,976310772,1018622064,-1110623851,-1123708581)+W(9,-1133184076,-1132115376,1031909175,1033516923)+W(10,-1124259695,1025545342,-1116764451,1007686986)+W(11,1033492939,1033353766,-1114622946,-1118432359);sum2=W(0,-1139693312,-1124752720,-1098950560,999696497)+W(1,-1111434581,1026280044,1036960926,-1121090060)+W(2,-1103693150,1034222778,-1119707404,1014405392)+W(3,-1143311649,-1099787410,1033289622,-1104157082)+W(4,1018041096,-1121205834,990661185,-1112556974)+W(5,1052753541,1058657457,-1108624084,1023217352)+W(6,1015972640,-1123282486,-1106573325,1042484509)+W(7,-1111132399,1005957425,1000525745,-1104610584)+W(8,1031872996,1044261031,-1121815492,1017712752)+W(9,-1129692664,1028371280,-1115662969,1026599244)+W(10,1018446608,-1139874592,1028832752,-1104217347)+W(11,-1115847157,1041506121,-1129135268,1010211304);WS(1063874743,-1123600943); +sum1=W(0,1026726381,-1110972995,-1088392527,1060534134)+W(1,-1131352649,1017113381,1005084141,1029034162)+W(2,-1096434085,1052968261,-1125442370,1023149165)+W(3,-1121313992,1029564141,-1088422197,1061531727)+W(4,-1111100967,-1121647548,1022502021,1019350337)+W(5,-1089197156,1048937234,1007055431,1028622922)+W(6,1010678471,1021423943,-1089730182,1053585019)+W(7,-1124123103,-1132301739,1012880846,-1112342611)+W(8,-1099324833,1049533342,1037169096,-1122598880)+W(9,1016038684,1036724585,-1105649226,1044791660)+W(10,-1119334386,1017220849,1031948511,-1096649610)+W(11,-1102131796,1047748258,1048887628,-1134858375);sum2=W(0,1041516351,-1098661524,1065773241,1067471192)+W(1,-1095722385,1025030832,-1114001722,-1113317539)+W(2,1066164852,1062194047,1029392016,1015621429)+W(3,1031962338,1041960143,-1094243603,-1131590099)+W(4,1045112423,1033273068,-1127882717,-1113172562)+W(5,-1071023147,-1071391818,1027735196,-1106774969)+W(6,1024371132,1057245216,-1087722937,-1082288010)+W(7,1047570295,1021784721,-1116893380,-1108932190)+W(8,1043021464,1036914992,-1110460182,-1147670187)+W(9,-1137233618,1040530840,1059923771,1056604249)+W(10,1008215114,-1157997580,1035584360,-1090505328)+W(11,1062948018,1065534266,-1096088381,1025226110);WS(-1081605212,1037230241); +sum1=W(0,-1129286954,-1115600951,-1139829872,1042245092)+W(1,-1130516890,-1191245347,-1127382348,-1127078325)+W(2,1037397159,-1101819637,1025459530,-1140137724)+W(3,-1114123448,1045220821,-1103957592,1057239854)+W(4,-1098019463,-1135821456,-1119205995,1032978341)+W(5,1057561887,-1089716883,1040837167,-1153142562)+W(6,-1116053850,1031622828,1057799156,-1088291628)+W(7,1039979404,-1123070334,-1114061454,1039357911)+W(8,-1103125195,-1162281827,-1123433113,-1115244132)+W(9,1024011222,1020277751,1035843369,-1111135597)+W(10,1008116332,975751222,-1165173963,1026874614)+W(11,-1159950147,-1144308089,-1115664788,-1121723210);sum2=W(0,-1129847377,1027890930,1045384717,-1131041629)+W(1,-1118537275,-1129495121,-1132201467,-1115667911)+W(2,-1139027758,-1086235324,1015945835,1022067627)+W(3,-1111059277,-1109124506,1062718876,1071241567)+W(4,-1090110249,-1139816838,1032250249,-1115518668)+W(5,-1088514518,-1104078593,1050303031,-1109320206)+W(6,1003251981,-1131706033,1043614591,-1091065468)+W(7,-1130925231,1035917053,-1175110606,1033851379)+W(8,-1096199608,1021865867,1030828678,-1140186118)+W(9,-1119100754,1008685286,1038009999,-1113376611)+W(10,-1128909271,1027374356,1007928974,-1130851063)+W(11,-1126833063,-1120766781,-1121346672,-1130315761);WS(1048635758,-1111558989); +sum1=W(0,-1116715915,-1114167026,1019884197,1046236914)+W(1,1023679491,-1123924777,1007517554,-1144951432)+W(2,-1100411873,1042364482,1030303424,-1115625243)+W(3,-1125319757,1032434734,-1082609609,1057088310)+W(4,1025882348,1018952757,-1130676803,-1116349759)+W(5,-1099356457,1060062511,1027068912,-1117219752)+W(6,1032051720,1007313161,-1114189151,-1105629450)+W(7,1046455412,-1128015465,-1122176818,1037795522)+W(8,-1098216348,1032549225,1037080648,-1117338239)+W(9,1019813529,1011561671,-1118483848,-1156935944)+W(10,1024380849,1001454266,-1125995833,1022555096)+W(11,-1115419480,1017135051,1020138940,1015509889);sum2=W(0,1017200252,1032764106,-1100965710,-1120952053)+W(1,1023440400,1026555164,-1128076598,1032749056)+W(2,1036328960,-1105592489,1037836738,-1121478225)+W(3,1020177744,1042154489,-1079875623,-1093732085)+W(4,-1110726007,1032334674,1027061114,-1091917968)+W(5,1069362278,1053281179,-1110949820,1004458190)+W(6,-1120062015,-1115647155,1041923814,1053015354)+W(7,-1097734576,1030547292,1007295183,-1109350747)+W(8,-1121245377,1023497366,1029656316,-1115087241)+W(9,1005463470,-1136438311,1023734232,1044015507)+W(10,-1107014120,1024950244,-1120999608,-1152745757)+W(11,-1115720719,1040619345,1039138178,-1107079388);WS(1057226679,-1099093504); +sum1=W(0,-1117743115,-1106860569,1059123761,-1116606854)+W(1,-1117312579,-1126837697,-1111361838,-1097721634)+W(2,1043835217,-1113320356,1021938430,-1108681130)+W(3,-1142218540,1017711998,1054886149,-1098795498)+W(4,1024346219,-1128001843,-1115584496,-1098477656)+W(5,1036645937,1036044245,-1113074392,-1126342351)+W(6,-1144474236,1017808579,-1096319852,1058878095)+W(7,-1113306631,-1145404316,-1112915081,-1127808199)+W(8,-1102898152,1054951826,-1104150268,1022603516)+W(9,-1118048876,-1110778360,-1108186916,1042821748)+W(10,-1109837016,-1113519979,-1124754680,988685674)+W(11,-1103594844,1057715322,-1104945799,-1166667748);sum2=W(0,1017552406,-1115134458,-1123239700,1040415751)+W(1,1024802817,-1116030864,-1121365003,-1113297695)+W(2,1033578978,-1119377084,-1140510683,-1154029132)+W(3,1024315197,-1121331284,1032104202,1033268884)+W(4,1031096569,-1127078294,-1126393870,1034056828)+W(5,-1122610502,1042552247,1027588477,-1123710517)+W(6,1006096662,-1116036592,1042239151,1014688747)+W(7,-1116363642,-1142638070,1026122801,-1122098200)+W(8,-1128246386,1038912262,-1106292650,1002524342)+W(9,-1115019758,-1138309587,-1130645774,1011328923)+W(10,-1119712705,-1123496021,1010820131,-1114451237)+W(11,1021632898,1013103251,-1106135611,1026182445);WS(-1108758968,-1120615143); +sum1=W(0,1007512449,1043847294,1041722714,-1089504654)+W(1,1035899020,1021562716,-1118729201,-1115009907)+W(2,1047642150,-1097300100,1024857813,-1157490338)+W(3,1033236958,1038269372,1052029054,-1092318719)+W(4,1041772976,1033997944,-1188181540,-1103491829)+W(5,1056274631,-1092329088,-1115586563,-1127937658)+W(6,1032455763,1026842103,1057598894,-1088834696)+W(7,1037648114,1034853541,-1139132956,1028990457)+W(8,1044856958,-1094694701,1028932916,-1139535439)+W(9,-1126666947,-1112992067,1049081300,-1102944265)+W(10,1031373190,999073631,1028445809,1045480960)+W(11,1008203541,-1095636207,987483733,1033314299);sum2=W(0,1022601823,-1119857460,-1099325942,-1068582801)+W(1,1035739756,1015907333,1027503424,1016942723)+W(2,-1112391205,-1076271776,-1104095012,1016973548)+W(3,-1114440342,-1113768249,1050839307,1067690352)+W(4,1026494027,-1122697579,1031020236,1049278985)+W(5,-1097330938,1077639092,1047876791,1015148595)+W(6,-1115479573,1023747258,1019565806,1061065209)+W(7,1016405011,-1106941761,1028798660,1008539869)+W(8,-1108724816,-1120523343,-1115660355,1032414836)+W(9,-1137878778,1030670036,-1143955309,1002861982)+W(10,1022661839,-1126087053,973255146,-1124354630)+W(11,-1115374863,1029925423,1033007729,-1124658022);WS(-1125070560,-1096513533); +sum1=W(0,-1112401838,1032850683,-1111199410,1046757622)+W(1,1033951818,-1110786345,-1141896047,1035442769)+W(2,-1105684773,1047296038,1013771590,-1113414691)+W(3,-1114813980,1027743049,-1093508577,1061969278)+W(4,-1100008383,-1131095256,-1125005414,1036941992)+W(5,-1099350541,-1107426238,1023589122,-1114443933)+W(6,1026386210,-1104378805,1060063436,-1092774776)+W(7,-1122038496,996299870,-1115056418,1037833707)+W(8,-1112618105,1028130403,-1110298148,-1117830096)+W(9,1012901881,1022681350,1035294797,-1127381572)+W(10,1030080099,-1140100259,-1125623196,1033887999)+W(11,988362813,1016528878,-1106008748,1014753608);sum2=W(0,-1128089453,1024340419,-1102023306,-1103821003)+W(1,1043342989,-1119644228,-1110645236,1043920397)+W(2,-1114712453,-1097377481,-1109265540,1026656603)+W(3,-1130916401,-1129344777,1028225499,972074333)+W(4,-1100613575,1034952995,1026446699,1009781987)+W(5,1057874897,1059140954,-1103696793,1032660433)+W(6,-1115610756,-1102796808,1052660862,1038144249)+W(7,-1116201867,-1130501689,1032679495,1037523581)+W(8,-1102216434,-1107293486,-1131885037,1029362471)+W(9,-1114433002,1023912055,-1127455825,1006589878)+W(10,-1105206442,1013212643,-1123355757,1026431795)+W(11,-1128264837,-1102041035,-1127587329,1005668278);WS(1049867118,1034735186); +sum1=W(0,-1127774262,1029333619,1019113028,1024964758)+W(1,1007980364,-1121402761,-1117373036,-1123455456)+W(2,1040322517,1032014380,1019723167,-1118901061)+W(3,1031064438,-1105261096,1040279186,1048588372)+W(4,-1114399774,-1126411220,-1112922680,-1096141178)+W(5,-1101685436,1050135703,-1100797936,-1110911420)+W(6,1012648832,-1120189874,1044944438,1034886579)+W(7,-1113398479,1019321608,-1132535687,1024540628)+W(8,-1121818673,1040490120,-1150021355,-1114680743)+W(9,-1120670652,-1138107141,1035373868,1016312768)+W(10,-1128775361,-1121234663,-1140537009,1000234461)+W(11,1032620736,1034120602,1008873398,-1121766352);sum2=W(0,-1161289046,-1111556088,1038429491,1024158411)+W(1,-1123794133,1016121349,1020587590,-1127668568)+W(2,-1130067243,1018324827,1035096674,-1127328688)+W(3,1029682388,-1095922552,1050898724,-1123472030)+W(4,-1142905112,-1126947701,1031608572,-1092239431)+W(5,1058359401,-1093717514,1042534485,-1126252937)+W(6,-1117304231,-1165373610,1040200303,-1118204561)+W(7,-1137719883,-1122434117,-1129471662,-1120133906)+W(8,1044552317,-1112781150,-1136196985,-1137031592)+W(9,965398246,1007233453,-1132308256,1017795291)+W(10,1027736448,-1121369248,-1134569151,1019046119)+W(11,1031851372,-1120826542,-1128305748,-1162116006);WS(1063598519,1040709546); +sum1=W(0,989424433,-1129964132,-1092181324,1056340507)+W(1,-1140166214,1007420926,1025004011,1018517694)+W(2,-1096845618,1052096915,-1124688156,1025298052)+W(3,-1117397173,1036280904,-1092686069,1055848084)+W(4,1027380346,-1114706068,1010227902,1042042835)+W(5,-1082263275,-1117189370,1041673920,1030527159)+W(6,-1116859551,1025484624,-1087946945,1053023013)+W(7,1025279965,1004378644,1035862832,-1108371497)+W(8,-1124000752,1053676604,1021321051,-1130325786)+W(9,1012428267,1028794752,977020321,1044581128)+W(10,-1125256895,1025029349,1028295307,-1105766207)+W(11,-1108973663,1048031389,1035434166,1015026205);sum2=W(0,-1128989779,1040099849,-1100874000,1021993174)+W(1,-1130783901,1011642260,-1132752301,992269838)+W(2,1034251701,-1130867684,1034483450,-1123860313)+W(3,-1121498089,1034828720,-1104384455,-1113539068)+W(4,-1122004711,1016725938,-1112228563,1034859451)+W(5,1044543345,1053848304,1016645052,-1122625223)+W(6,1023519830,1034954038,1046406891,-1104908283)+W(7,1032774629,1011006880,-1111737432,-1122349299)+W(8,1028583216,-1100179639,1016210650,-1114528083)+W(9,1023675120,1019899084,-1114022376,-1111378604)+W(10,1033297067,1021084026,-1134051546,-1112348174)+W(11,1040182737,-1097476412,1025418184,-1141294629);WS(1052377710,-1116561061); +sum1=W(0,-1122160137,1026711393,1034438088,1023922180)+W(1,-1115207840,1014756539,-1112995181,1046449684)+W(2,-1103073456,-1112523427,1036366239,-1110629817)+W(3,1021266631,-1094207935,1059878180,1031595583)+W(4,-1096200621,1025340632,1017022397,1051777944)+W(5,-1091454284,-1107259466,1043506315,-1122333286)+W(6,1032809511,-1105978112,-1108523806,1059633699)+W(7,-1105628259,-1126028515,-1105019076,1045042328)+W(8,-1137740923,-1094439010,1043730779,-1114494718)+W(9,1019774100,-1140860791,-1113848547,1048809290)+W(10,-1114298535,1024493780,-1119221338,-1140595366)+W(11,1015748571,1019553093,-1117446555,-1121208702);sum2=W(0,-1125003387,1023545558,1001356924,1019826271)+W(1,1029018751,-1114113554,-1110204990,-1122326332)+W(2,1049948311,-1106041547,-1122275300,1028296019)+W(3,1008672566,1039271760,-1104177316,1040609653)+W(4,1017003703,-1143932072,-1110854180,997586352)+W(5,-1099440370,1057375034,-1099421810,-1122149120)+W(6,1015432805,1043658401,-1101604747,-1098469549)+W(7,1052007058,-1118594118,1007507570,-1126010948)+W(8,-1112581048,1041033112,1018898909,-1129527698)+W(9,-1129875419,-1128126180,1034699764,-1108980340)+W(10,-1118843549,1031512617,-1145172348,1018354299)+W(11,-1118892801,1026776081,-1123423040,-1147650596);WS(1066846108,1044745002); +sum1=W(0,1019372186,1049403789,1042475733,-1091781177)+W(1,-1124410122,1015897062,978233216,-1107121557)+W(2,1051348497,-1100692098,1039801345,1009376476)+W(3,-1129136976,1041504923,1048713517,-1091573825)+W(4,1032893815,-1126291000,1025331363,-1134682116)+W(5,1054698948,-1089263023,1040511932,1006187856)+W(6,-1142297744,1039399714,1049146911,-1091452887)+W(7,-1146055296,1016897132,1015116199,-1122699462)+W(8,1058118606,-1090043533,1032222216,1012743170)+W(9,1015645340,-1121336819,1046729314,-1102394372)+W(10,-1115550793,1010428515,1016287548,1026221102)+W(11,1056609718,-1091564925,-1107840672,1000566800);sum2=W(0,-1121498998,1040076187,1040991236,-1097642453)+W(1,1041191639,-1143069461,1025173682,-1110698495)+W(2,1027215822,1032193313,-1107046015,-1127878497)+W(3,-1127952317,1046879062,-1097422534,-1089335507)+W(4,1027648922,1033858873,-1123064681,-1114452496)+W(5,-1079622690,-1070315938,-1107556506,1031644922)+W(6,1031325102,1037259271,-1113150532,-1080614075)+W(7,1040688678,-1125227083,1031547392,-1113826794)+W(8,1059352243,1063284099,1044912350,-1135729999)+W(9,-1116804726,-1113826560,1032134129,1075195474)+W(10,-1107091577,-1112123781,1013263415,-1114840697)+W(11,1048220488,1071802337,1050907604,-1104322253);WS(-1083170743,1032719415); +sum1=W(0,1023701883,-1115388842,-1095142736,-1131637740)+W(1,1043889005,1012236805,1027723212,1037576352)+W(2,-1104329709,1047136718,-1114738168,-1143133226)+W(3,-1122560214,1028066352,-1093573195,1050356544)+W(4,1032119470,-1126174356,989186599,1034436696)+W(5,-1091782714,1058921626,1035779088,1024911192)+W(6,1018265472,1046871436,-1090370147,1057401704)+W(7,-1119260798,1033076018,-1118377474,1036384970)+W(8,-1088395265,1046747968,1026791695,-1122725807)+W(9,1034616094,1041769608,-1092608855,1048250192)+W(10,1007978244,1033024419,-1143849572,1033711598)+W(11,-1085234190,1051022467,1035213927,1028803056);sum2=W(0,1040592912,-1091007599,-1122569720,1061904811)+W(1,-1096410255,-1107753434,-1148866748,1043419584)+W(2,-1102576481,-1110256028,-1106770914,1043044202)+W(3,1032765896,-1111893630,-1114969246,1042199718)+W(4,-1108992598,-1138614142,-1113675298,-1100951705)+W(5,1060370086,1060838438,-1088153932,-1121677972)+W(6,1035431068,1030657616,1018512847,1061366749)+W(7,-1091610254,1049599377,-1111525482,-1123081200)+W(8,-1112438148,-1086083341,1039676388,-1117594428)+W(9,1031171080,1009914590,1033713452,1029235040)+W(10,-1104419583,-1154941432,-1111672592,1048594219)+W(11,-1120657004,-1090315205,1040642594,1041324320);WS(-1087374135,1068569819); +sum1=W(0,1034522569,1036038485,1051494643,-1092286050)+W(1,1024631242,-1124293233,-1114460210,-1134485343)+W(2,1048850073,-1097395434,-1155697773,1035227470)+W(3,1040675195,998999958,1055860825,-1093950865)+W(4,1034953465,1022306499,-1156322949,-1102898978)+W(5,1058980799,-1086427635,1036357020,-1115248568)+W(6,-1126356143,1032174021,1050366134,-1097745188)+W(7,-1115522123,1025097211,1038944141,1032843110)+W(8,1048730421,-1098221875,1020968428,1020281868)+W(9,-1123272884,-1112707068,1043911796,-1095510475)+W(10,1032316940,-1112095119,-1147588893,1041667373)+W(11,1049367775,-1093210118,-1134843155,1003691067);sum2=W(0,1036982689,-1101176821,1032029724,1031712503)+W(1,-1095262307,-1135236510,-1109420523,1040154700)+W(2,1008871494,1051308638,-1089037290,1036178124)+W(3,1038171016,-1103427381,1053639476,-1103617514)+W(4,-1077227331,1056219784,-1114883799,1011961296)+W(5,-1094943648,-1090481186,-1077304111,1063074442)+W(6,1032698755,-1115041464,1046242469,1048516585)+W(7,-1075605762,1070767205,1023400751,-1112162319)+W(8,1015257266,-1110670159,-1086532256,1074120487)+W(9,-1119043865,-1114657793,1018562568,1026474691)+W(10,-1115849955,1066414901,1034471555,-1117007917)+W(11,1031877719,1044794303,-1110424851,1052188053);WS(-1094340206,1025238393); +sum1=W(0,1025401267,1041212259,1051626551,-1087771683)+W(1,1026720107,1024873417,-1120317764,-1123694073)+W(2,1044638395,-1099303356,1027277160,1003045609)+W(3,1029217422,1040075594,1051991350,-1089805402)+W(4,1042793877,1025974530,1017691154,-1128349902)+W(5,1049159169,-1090474853,1032035372,-1140916353)+W(6,1015273200,1030937834,1055056667,-1089928234)+W(7,1038797403,1026491292,1006374863,1030337996)+W(8,1045537234,-1095611655,1028636183,-1125445197)+W(9,-1149759301,-1112880429,1047952828,-1103717662)+W(10,1034683820,1018728702,1023921508,1048792866)+W(11,-1109761292,-1097665994,1024357062,1024842472);sum2=W(0,1016272983,-1117564089,1054344808,1082928383)+W(1,1043627742,-1113989008,-1125328223,1007328518)+W(2,1047318060,1074423709,1037006400,-1137080694)+W(3,1019432157,1038058236,-1095657702,-1074337637)+W(4,1040243063,1017883877,-1136495190,-1106032359)+W(5,-1084625245,-1066615612,-1106132294,-1126758430)+W(6,1024638490,1036423350,-1124414562,-1087090886)+W(7,-1119023275,1040797418,-1122054341,-1129861056)+W(8,1036648948,1034359725,1004167460,-1113361096)+W(9,1016158573,-1141592892,-1120282232,999766988)+W(10,1002865564,1023713345,-1137665190,1032273458)+W(11,1033205457,-1114245215,-1113153751,1022755221);WS(-1098231918,1035887052); +sum1=W(0,1007686525,-1117693688,1048268202,-1105099271)+W(1,-1110112236,1016554315,-1112046456,-1119004197)+W(2,1036810732,-1097653932,-1130249512,-1115219957)+W(3,-1136641001,-1104788790,1055375147,-1098720398)+W(4,-1106155488,-1142876018,1025581173,-1092353842)+W(5,1069647932,1066085926,-1091717545,-1143806946)+W(6,-1121240420,-1104580134,1052170270,-1093227035)+W(7,-1110987409,-1113561092,-1165513922,-1146015939)+W(8,1020096363,-1123833253,-1108464746,-1123809427)+W(9,-1114143760,-1162096818,-1125578169,-1107379122)+W(10,-1156567122,-1113074326,-1123656209,-1117522176)+W(11,1031911554,-1130540403,-1106840908,-1120698772);sum2=W(0,-1125891647,-1121500935,1021750179,1017645919)+W(1,-1130193055,-1118741587,-1139529830,1033326245)+W(2,-1133323886,-1167588957,1018366499,1021086319)+W(3,-1127048511,-1110257678,1040835222,-1108825416)+W(4,-1144215516,-1113356630,-1119620679,1033808587)+W(5,1061147710,1055027509,1035778772,-1123951235)+W(6,1015042367,-1152963927,-1110018076,-1105425292)+W(7,-1105010302,-1124596863,-1133002574,1023704513)+W(8,1035246842,-1090179180,1019226535,995355927)+W(9,1001053676,-1125968895,-1123027527,1035235033)+W(10,-1113493000,-1135606974,-1136336990,-1159911790)+W(11,-1144777900,-1104047270,-1137733870,-1141401292);WS(-1081201436,-1083122818); +sum1=W(0,1024396773,-1118776317,-1090317103,1056470156)+W(1,-1120183581,-1124728406,1040103323,-1121204906)+W(2,-1098486564,1048677796,-1105729174,1010393788)+W(3,-1104054160,1048678635,-1094484293,1048629197)+W(4,1032093347,-1105359341,1042893967,-1101546374)+W(5,-1101075087,1052113969,1048228642,1048587688)+W(6,-1121710378,1036673102,-1095873942,1033707976)+W(7,1044099610,-1107414311,-1122190892,-1112386175)+W(8,-1099326495,1057451847,-1102747354,1034642220)+W(9,1038539251,1022162966,-1101153544,1027207978)+W(10,-1114063013,-1109685144,1020559724,-1111471555)+W(11,-1095630377,1053998976,-1125760751,1033222029);sum2=W(0,-1130151079,1029357099,-1141051917,-1126143047)+W(1,-1138853383,1016378649,-1128601535,-1139320303)+W(2,1027307392,-1124015138,1026568428,-1128887123)+W(3,1016586775,1016703563,1040480663,-1090482710)+W(4,1051692940,1024508650,-1116462462,1036545095)+W(5,-1084177500,-1061542668,1087807110,-1109325640)+W(6,1006316053,1027702761,1027514935,-1081711054)+W(7,1065457143,-1115450794,-1136401487,-1115282656)+W(8,1033882273,1042416533,-1101742731,1030137534)+W(9,-1134837023,1025282364,975470826,-1107083018)+W(10,1035528582,1016609727,1015531121,-1128863347)+W(11,1013565163,1030037156,-1123914522,-1122133136);WS(1056806766,1019813151); +sum1=W(0,-1109922347,1038862168,-1094336356,1045176100)+W(1,1023835087,-1117706029,1027672232,-1098777292)+W(2,1025923920,1046907893,-1097985673,-1143840774)+W(3,-1113027385,1057340869,-1089223672,1028090813)+W(4,1044113854,-1111671123,-1106442907,-1131946518)+W(5,1049099726,1060367739,1010151151,1025756788)+W(6,-1119504732,1048903346,-1102142547,-1102839017)+W(7,1051267347,-1111600768,-1127683323,-1100586740)+W(8,-1122538541,1052174932,-1093148714,1040843731)+W(9,1015134384,1027127869,-1099585557,1024110556)+W(10,1029024221,-1107564881,-1122196904,-1136830686)+W(11,-1100472159,1047790604,-1137237669,-1131252120);sum2=W(0,1016054025,-1119367753,-1115811972,1024987046)+W(1,1016843613,1007599121,-1116580030,1033363716)+W(2,-1119979151,-1114756690,1025664850,-1120202841)+W(3,-1128856269,-1107794961,1046175546,-1100926142)+W(4,1028330842,-1144919563,1024017790,-1129548157)+W(5,1051115205,1048732221,1029232538,-1123931557)+W(6,-1120027976,1034251322,-1095340379,1044324276)+W(7,-1105635461,-1122027017,1003808451,1039517400)+W(8,-1127431641,-1104827086,1042504965,-1118580981)+W(9,-1120561807,1019337653,976018325,-1139095561)+W(10,-1118828309,1016896817,1020365697,-1174223189)+W(11,-1148320619,-1138276477,-1117203320,1009819353);WS(1067549148,1061168738); +sum1=W(0,-1136860560,1041916271,1043173595,-1099729080)+W(1,1028345500,-1117900922,1019396970,-1102760394)+W(2,1046914407,-1097589844,1036811500,-1118556558)+W(3,1034693791,-1100215160,1063664325,-1085101004)+W(4,1044130369,-1118557363,1031876061,-1127917744)+W(5,1041579695,1044764001,-1111608196,-1148658183)+W(6,-1126960466,1038708237,-1084953669,1062969721)+W(7,-1096862061,1028601293,1026075051,1042570959)+W(8,-1099553438,1046958554,-1104831702,1014732126)+W(9,-1129065354,1024557450,-1111656016,1031927572)+W(10,-1121741642,999719805,-1125694250,-1114527138)+W(11,1036161892,-1129394940,1028864534,-1111432076);sum2=W(0,1037988572,-1097183834,-1096111302,-1112255513)+W(1,1025606252,-1131066844,-1109648154,-1096035348)+W(2,1046143856,1047451704,-1109281762,1021094187)+W(3,-1115314649,-1106718097,1065688064,1048785443)+W(4,1025033440,-1118872350,-1110735622,1044362532)+W(5,-1100541529,-1089624797,-1124926742,1035314838)+W(6,1029414023,1044653749,1022961930,1040629892)+W(7,1024229044,-1132267648,-1115532881,-1118097482)+W(8,1041170408,-1135819985,-1109992198,1004115214)+W(9,-1114457629,1036871139,-1121640520,-1109975688)+W(10,1007526703,-1128646118,-1123631499,1035597348)+W(11,-1109551474,1030316886,1031542857,-1117895342);WS(-1090126519,1034760182); +sum1=W(0,1022234099,1038732905,-1095221408,1049091087)+W(1,-1141106060,-1130848127,987019599,1040082783)+W(2,-1096833350,1049531159,-1100657291,1036771650)+W(3,1021371561,1042926010,-1090005917,1052645704)+W(4,-1098472859,1035488804,-1125185183,1019049563)+W(5,1049172122,1048882035,-1113910991,1025403478)+W(6,1040030303,-1101231100,1056956325,-1086324445)+W(7,1041783487,1007113098,1005824514,-1108355337)+W(8,1052986466,-1089320760,1033537135,-1138596020)+W(9,1028122555,-1115211984,1046568014,-1101798768)+W(10,1037621024,-1128732298,-1120592523,1035983309)+W(11,1025899358,-1123937043,-1125397784,-1127374557);sum2=W(0,1016736022,1032939170,-1122689775,-1102551566)+W(1,-1122487238,1026411789,1011977196,-1102682487)+W(2,1060510561,1060805847,-1122236502,-1128029215)+W(3,-1137999416,1037611888,1051792579,1057985083)+W(4,1036808922,1019619350,1019963070,-1102949496)+W(5,-1073351999,-1073393989,-1103029047,-1125796177)+W(6,1030437859,1039010410,1059164734,1057367527)+W(7,1039165500,1024266957,-1122046802,-1110345340)+W(8,1062467108,1062012989,-1106860549,-1119780381)+W(9,-1142727409,-1124097437,1031495287,-1147452225)+W(10,-1143421321,1024156551,1018753414,-1113761662)+W(11,-1101619274,-1099879364,1015482390,1016465010);WS(-1089242039,-1127205581); +sum1=W(0,-1124452989,1047404342,-1086849964,-1114062493)+W(1,1042532510,1010360274,1037734344,-1111320098)+W(2,1001557948,998659036,1038364441,1032729828)+W(3,-1136469606,-1115981071,1055753134,-1096047365)+W(4,-1118490271,1015888923,1045032037,1038279993)+W(5,1059294849,-1107330927,1044317529,-1118190491)+W(6,-1131176455,1006926037,1006841992,-1105936042)+W(7,1035319841,1021147727,1029283077,1030509432)+W(8,1049404683,-1087265492,1043122385,-1123196402)+W(9,1038076384,-1123275877,1037635838,-1095492784)+W(10,1027367204,1027584778,1029887056,1043334248)+W(11,1044156233,-1080260267,1053177470,-1118995315);sum2=W(0,1029897599,-1102843967,1001547796,1049416264)+W(1,-1120840401,-1115391670,-1114965417,1046605828)+W(2,1025076963,-1100594038,1041915682,1020641677)+W(3,1025776431,1033633995,-1090433692,-1096668289)+W(4,1040646462,-1111492899,-1121485495,1048791648)+W(5,1044097140,-1117020477,1042521794,1034331443)+W(6,-1140617930,-1104898739,1042488362,-1102246327)+W(7,-1112857889,-1115861875,-1113546368,1031053127)+W(8,-1118485295,1034926551,-1109164591,-1134127978)+W(9,1031651703,-1108448442,1045463546,1047237110)+W(10,1015998805,-1120855845,-1117524097,-1108356905)+W(11,1040816680,1044694712,-1109851905,-1124879769);WS(-1081567068,-1085072352); +sum1=W(0,1026202077,1008391383,1043376377,-1106037014)+W(1,-1119432853,1015626934,1017630556,-1102096537)+W(2,1035138955,-1113878797,1041401156,-1112723700)+W(3,1034866076,-1105309517,1062685095,-1091962582)+W(4,1028045374,995954372,-1120073907,-1113888457)+W(5,-1088326467,-1099527071,1036249665,-1112822301)+W(6,990337572,1038015146,-1087780001,1065743931)+W(7,-1122166240,1036674595,-1122725732,1010107993)+W(8,-1095652846,1048331161,1030964177,-1165855255)+W(9,1016189565,1035371298,-1111927693,1035819857)+W(10,1030882915,1020668626,-1135328058,-1107104879)+W(11,-1134788873,1033560764,1034792920,-1140134473);sum2=W(0,-1101998430,1025808817,1026331301,1041383807)+W(1,1033833028,-1108635033,1034880732,-1110518368)+W(2,1035202798,1044537615,-1096440885,1042833515)+W(3,-1111573656,-1090739547,-1095903349,1045506861)+W(4,1030373631,-1107072548,1034691412,-1098171169)+W(5,1068344140,1069658374,-1094064924,1037649108)+W(6,1017688506,1047617175,-1085314459,-1090700374)+W(7,-1106284721,-1117475933,1032207084,-1112107064)+W(8,-1108916250,-1135142667,-1113568166,996218700)+W(9,1002612774,1027687639,-1113844364,-1106371211)+W(10,1043762008,-1115713024,995363580,1035291452)+W(11,-1111293323,-1105384559,-1113615358,1031725587);WS(-1122270064,-1083487436); +sum1=W(0,1022021054,-1111938972,-1089129474,1061173530)+W(1,-1117042135,990992466,1000846209,1031069285)+W(2,-1092279467,1053406092,-1112839626,997371026)+W(3,-1120651002,1035108132,-1089405705,1061891890)+W(4,-1115403968,-1123767278,-1133172181,-1122478547)+W(5,-1088959911,1046812368,1035227362,-1136588785)+W(6,1015175368,1022898156,-1101358829,1052509753)+W(7,983155781,1014548513,1008528664,-1109542844)+W(8,-1113192731,1035774995,1035355065,-1120262163)+W(9,1014262402,1003755051,-1110785838,1040815801)+W(10,-1114859906,-1139309996,1032206792,-1099224128)+W(11,-1105614817,1041852206,1046440556,-1196238920);sum2=W(0,1044179919,-1111986018,-1080384748,-1092393621)+W(1,1048581079,1031858735,1022028328,998943655)+W(2,-1088604014,1029389095,1009323699,1021777892)+W(3,1040258943,-1095034556,-1104000317,-1090514887)+W(4,1015383036,1024626196,-1118974089,-1095846499)+W(5,1073459027,1071708766,-1097133430,1024702395)+W(6,1033279863,-1110448374,-1098039236,1012336831)+W(7,-1122793353,1031448400,-1117110809,-1099083231)+W(8,1045892370,1049307354,-1097759856,1030521846)+W(9,1031745329,-1120681553,-1111672860,-1100485937)+W(10,1041920736,1016567237,-1103290765,-1101323001)+W(11,1055006842,1051814517,-1091667564,1029007432);WS(-1097130350,-1073679750); +sum1=W(0,-1154560184,-1142702368,-1095841490,1034517635)+W(1,1044574577,992206103,1025389788,1008724804)+W(2,-1096179481,1053502809,-1112918112,-1143244972)+W(3,-1145657140,1035954194,-1095185831,1045830013)+W(4,1042446427,-1122388570,1000633100,1046084016)+W(5,-1085973126,1057148843,1025817904,-1139683234)+W(6,-1120139600,1042008657,-1089907161,1051926551)+W(7,1017272605,1018417129,1032643785,-1106616153)+W(8,-1096805620,1052799826,-1123577295,1017209342)+W(9,1008755251,1025929714,-1098086361,1043469780)+W(10,-1143679882,1016358830,1030414749,-1102859291)+W(11,-1107347576,1050172789,1014891512,1026775680);sum2=W(0,1021941992,-1106123822,1031547466,-1135582819)+W(1,1018035752,1017098260,-1140009235,-1137197699)+W(2,1040410800,1048777558,-1114989513,-1129449426)+W(3,1026649920,-1104678389,-1091687878,-1102399061)+W(4,1038853959,-1170697076,1025391436,-1103278668)+W(5,-1069452203,-1086654414,-1112110740,-1134437671)+W(6,1033557641,1049392706,1071493698,1036526271)+W(7,-1155541821,1030635558,-1110654493,1026389826)+W(8,1075377385,1051671224,-1119910153,-1127657747)+W(9,-1117894486,1046385471,-1093315115,1003979070)+W(10,-1130248744,1010389927,1031221238,-1107040085)+W(11,-1101021764,1042747507,-1119798403,1007123883);WS(-1110542776,1046722292); +sum1=W(0,-1112464600,1033517476,1047470894,-1131671638)+W(1,1005087552,-1142745264,1016022658,-1108629467)+W(2,-1133454244,1032980471,-1105826521,1026603482)+W(3,1027765771,-1106997347,1053995028,-1092318054)+W(4,1042584756,-1129658366,981819586,-1113497042)+W(5,-1100439522,1042288212,-1109105451,1017901338)+W(6,1026835189,-1116788199,-1093531706,1061947018)+W(7,-1098489206,-1142191304,1025143735,-1106078850)+W(8,1048713001,-1121614518,-1105038597,1040275689)+W(9,-1111607705,1041100086,-1106135867,1012478420)+W(10,977775992,1016467704,1024330241,-1124631714)+W(11,-1115421707,1041393523,-1114990145,1020475210);sum2=W(0,1031452303,-1132232893,-1109510079,1018866101)+W(1,1014551643,1032688527,992881643,-1116591675)+W(2,1032912109,-1116915567,1024567259,-1114177042)+W(3,978475180,1016124301,-1114514404,1055420465)+W(4,-1097097100,1042584708,-1121457613,-1114931492)+W(5,1032060799,1059251768,-1118272021,-1109972047)+W(6,1034445399,-1094590847,1051504728,-1088887374)+W(7,1048490818,1024892699,-1130052481,1040974964)+W(8,-1087149232,1044275534,1035881493,-1108606213)+W(9,1032145701,-1110729382,1039284419,-1114948355)+W(10,1032922179,-1121421993,-1116902843,1035934107)+W(11,1032317221,-1104983612,1032032409,-1133789139);WS(1059165367,-1104520251); +sum1=W(0,1007492796,-1108628644,-1117534006,1041312427)+W(1,-1113108212,-1124001749,-1117692608,1046236477)+W(2,-1094176525,-1118419948,1029454180,-1113899741)+W(3,1009135144,-1120534447,1053590938,-1107420459)+W(4,-1110779368,-1131761404,-1115310467,1052736188)+W(5,1041258594,-1097199722,1053879643,-1114949702)+W(6,1014125520,-1118278150,1001540436,1055263011)+W(7,-1098892966,1025063448,-1113191163,1036684740)+W(8,-1106455985,-1100739533,1045621277,-1105125705)+W(9,-1129119585,1015268651,-1112388022,1040471133)+W(10,-1126748266,-1126282358,-1118876992,1008090175)+W(11,-1114551242,1020553106,1026632706,-1127494856);sum2=W(0,1027505664,-1104527074,1034957797,1041601252)+W(1,-1108054404,-1122847824,-1115834059,1048986559)+W(2,-1098163961,-1125657446,1041896195,1034858548)+W(3,1029084872,-1089420265,1051828462,1045110551)+W(4,-1099714824,-1116127595,1029257304,-1098414029)+W(5,1053778056,1041501740,-1129563106,-1170669534)+W(6,-1128264406,-1104406791,1048509414,1041829791)+W(7,-1092212913,1037831890,-1138405484,1040673804)+W(8,-1106881855,-1119286592,1049994472,-1107117839)+W(9,-1118563560,-1203758566,-1113115951,1045914276)+W(10,-1105182054,1031508216,-1127212263,-1117936348)+W(11,-1136870020,1022365337,-1139619400,-1127498142);WS(1064754871,1064755352); +sum1=W(0,-1124996947,1039345889,-1096693846,1051509189)+W(1,-1110987505,1036233792,-1126765813,1034558935)+W(2,-1096907004,1048609181,-1122110878,981607022)+W(3,-1111973122,1025078634,-1092723587,1055455058)+W(4,-1103910610,1033037628,995438583,1031530717)+W(5,1042155040,1038916133,1036071207,1028131846)+W(6,-1131935965,-1102805216,1055052309,-1085470304)+W(7,1036962198,-1113728073,1011044801,-1112086641)+W(8,1050402072,-1096310694,1042970795,-1155599823)+W(9,1017902933,-1108706152,1045488762,-1110967031)+W(10,999916154,-1121653045,-1117569083,-1125705364)+W(11,1036105095,-1114430562,1043170799,-1131031997);sum2=W(0,-1133117125,1035315397,1034291601,-1093657955)+W(1,-1083656994,1063017252,1023646322,-1104375670)+W(2,1023753609,1053589289,-1096844972,-1117431336)+W(3,1023723550,1045506061,-1107539440,-1104725243)+W(4,-1079943056,1065218548,1016880452,-1100884270)+W(5,1046403885,1040733712,-1108767061,-1110535684)+W(6,-1128763803,1037072250,-1123261308,987308827)+W(7,1066015084,-1088643610,1032406499,-1100571834)+W(8,1040670310,1047435788,1056439411,-1092199491)+W(9,-1112596197,1043010850,-1109210140,-1103530057)+W(10,1038430454,-1140617522,1024272758,-1106522969)+W(11,1037357283,1046389911,1050581867,-1093142505);WS(-1141889920,-1150694570); +sum1=W(0,-1121776659,-1156363954,-1110656781,-1150990554)+W(1,1001967189,1009891810,1035438770,1043244278)+W(2,-1108191526,1049522698,1024784007,1026909213)+W(3,-1107472311,1039611642,-1092681840,1047918398)+W(4,-1120026675,-1115519345,1029335145,1044045394)+W(5,-1089342271,1044281805,1041259438,1032535224)+W(6,1032163820,1031781705,-1107172434,-1142656241)+W(7,1035091531,-1156224954,-1122959321,-1113754566)+W(8,-1110931796,-1118178969,-1114065315,-1114416227)+W(9,1035788170,1041298854,-1106653204,1044014582)+W(10,1037418924,1034927023,1006930832,-1113010266)+W(11,-1098776751,1035377494,968315538,-1127266575);sum2=W(0,-1096670021,1059540854,1045575353,-1133958494)+W(1,1031038260,-1118270456,-1102787949,1039622534)+W(2,1037899964,1013042349,-1110193614,988987510)+W(3,-1099441746,1064198145,1030855272,1040028330)+W(4,-1117097690,1032105974,1043637876,-1086802625)+W(5,-1101655681,1036771998,-1125265460,-1117707023)+W(6,1052388948,-1085971065,1033969343,1032851236)+W(7,-1103569731,-1134648980,1042101483,-1113298762)+W(8,-1105771070,-1120619083,1049976190,1021389004)+W(9,-1135324433,-1098667485,1036465297,981463467)+W(10,-1101523135,-1119296945,1042670443,-1104634628)+W(11,-1104173140,1030229840,1035574893,1035007302);WS(1060329015,-1107100438); +sum1=W(0,-1139109867,1016013223,1052529520,-1098269535)+W(1,-1120993331,1025836257,-1126768152,-1108878752)+W(2,1042283693,-1103310414,1033078264,-1113589378)+W(3,-1154508124,-1139382101,1051369597,-1093610355)+W(4,1033661966,1029380042,1024792785,1046477388)+W(5,1051787130,-1088582834,1015463488,-1124637616)+W(6,-1145234942,1046417836,1040695538,-1090008057)+W(7,1035018943,-1127749832,-1121126338,1044791733)+W(8,1046651812,-1097854544,1029328303,1030094510)+W(9,-1165337473,-1115375281,1039020124,-1110993568)+W(10,980238373,-1117533511,-1128378904,1030070044)+W(11,1046922680,-1105218789,-1121430349,1016154976);sum2=W(0,-1122821091,1039646422,-1126218548,1020520346)+W(1,1030755819,1003947528,1016851522,-1156337616)+W(2,-1123806894,-1105518185,1031650855,980292032)+W(3,-1106087013,-1131895450,1035943528,999070248)+W(4,1015158698,-1123933765,-1109184296,-1080883791)+W(5,1071805249,-1096231655,1043321474,-1122746065)+W(6,1045004090,-1074990048,1071092779,-1125969764)+W(7,-1125796080,1018391998,1015529466,-1105476432)+W(8,-1126394390,1028426171,1026097175,-1126690400)+W(9,1026918939,-1104782698,1031828962,1030594487)+W(10,-1140334484,1018627618,-1115690469,1022339242)+W(11,-1122803425,-1127395662,-1110808154,-1149029768);WS(1004067712,1029538397); +sum1=W(0,1039684517,1025050595,1055781642,-1093421305)+W(1,-1134522377,1033902960,-1113057966,-1112884456)+W(2,1052279792,-1096595713,1008080123,-1134909265)+W(3,1034662227,-1120136235,1057037092,-1096171643)+W(4,1038845557,1000314570,976341006,-1106127376)+W(5,1048957300,-1083333863,-1104830972,1017566030)+W(6,-1116361615,-1108532672,1059667231,-1093970477)+W(7,-1107387175,-1120056627,1039793800,-1136083213)+W(8,1049781884,1050503466,-1105145436,1034175935)+W(9,-1114202454,-1109109944,1046150498,-1098876866)+W(10,-1111371224,-1129568684,1023346679,1026195563)+W(11,1052752022,-1119746148,-1106375815,1002478074);sum2=W(0,996458418,1023361218,1020176326,-1105686968)+W(1,-1112170015,1016740014,1033154491,-1129026548)+W(2,1036155261,-1136279909,1029838361,-1122796554)+W(3,-1124552606,-1113149678,-1107309754,-1101182829)+W(4,-1110765232,1027141165,983965669,-1096377075)+W(5,1064108379,1059185253,1029555247,-1111484496)+W(6,-1113544599,-1108470744,-1113642974,-1094171461)+W(7,1048386684,1033692775,-1118592979,-1107366613)+W(8,-1147140265,-1097506500,995412594,-1108579478)+W(9,1024911403,1040480632,-1123866147,1038318571)+W(10,1045927904,-1126067866,-1120675710,978762058)+W(11,-1127049668,1027330889,-1102738273,1023291782);WS(1047133404,-1079170418); +sum1=W(0,1009155056,-1122581460,1042667713,1030334583)+W(1,-1108143194,1027163842,-1116032717,-1127398915)+W(2,1041078541,-1113404572,-1123819760,-1122554086)+W(3,-1135035740,-1111731450,1051022508,-1111377849)+W(4,-1112180142,1023811915,-1132905800,-1098422622)+W(5,1065228285,-1104817319,-1102890728,-1133181796)+W(6,1006908676,-1136427723,1042380775,-1091891141)+W(7,-1111098047,1001483047,-1123509635,1019095722)+W(8,1050271906,-1103926112,1023382911,-1116735535)+W(9,-1129150906,1037504657,-1107182030,-1121675713)+W(10,-1136273159,1015217807,-1147535977,1012838771)+W(11,1023931745,-1123007382,-1123177070,-1130799202);sum2=W(0,-1151544588,1017708852,-1147640076,1008923057)+W(1,1011942449,1018406594,-1155029688,-1121981859)+W(2,-1129630940,1024218233,998377109,-1133221663)+W(3,1018065470,-1114670464,-1093073209,-1119653793)+W(4,-1131988255,1025316590,1007239987,1049278985)+W(5,-1077783117,-1083801634,1041518161,-1123603132)+W(6,-1125453823,1041079714,1074285479,1047560438)+W(7,-1114079754,-1131599727,-1118997712,-1156221672)+W(8,1034878186,1028846010,-1118519138,1024940191)+W(9,1007542759,-1120658712,1016277382,1036336794)+W(10,-1121956184,-1131785133,-1133631258,-1113215345)+W(11,1033160981,1022080564,1027490516,-1130450701);WS(1043550940,1028476494); +sum1=W(0,-1115183742,-1130981802,-1100607937,1051762223)+W(1,1000007075,-1121847282,-1121780237,-1102302048)+W(2,-1105099981,1040535662,-1138550724,-1111548899)+W(3,-1117842775,-1117998761,-1096882923,1059510884)+W(4,-1102853271,-1132334487,-1110838377,-1094318158)+W(5,1062548805,1068023761,-1099046056,1013492582)+W(6,991794198,-1102037997,-1103616404,1055882697)+W(7,-1102330336,1018468811,-1111061058,-1115328139)+W(8,-1097580450,1041348961,-1131654944,-1119471984)+W(9,1015980795,-1113105937,-1103768718,1034161697)+W(10,-1112888641,-1129682576,-1113960535,-1106426583)+W(11,-1100373208,1044552262,-1110284503,-1148988811);sum2=W(0,1029690847,-1103820712,998970743,1028297515)+W(1,-1122562191,-1133991676,-1115037203,1043435491)+W(2,-1096312501,1046052979,-1115911439,1007821180)+W(3,-1127742454,-1100462798,1044923803,-1099477234)+W(4,1030898927,-1113716427,1036903221,1028701483)+W(5,1041049643,1065575031,-1096910875,1036974934)+W(6,-1106227374,-1121926871,1030485727,-1098681477)+W(7,1034498637,-1111652935,1039025001,-1126383902)+W(8,-1125321886,1040854499,-1115709255,-1126914630)+W(9,-1108879063,1017141302,1008577020,-1106467082)+W(10,1013474716,-1128843302,1016988574,-1115441627)+W(11,1033537170,-1122382559,-1129067614,-1114648723);WS(-1079050332,-1087647968); +sum1=W(0,-1138480508,-1112879708,-1095708941,1054719611)+W(1,1031575959,-1122888245,-1122115440,1026750308)+W(2,-1102419558,1048762675,-1106236805,-1139407140)+W(3,1024624314,1027382179,-1136300523,1057423590)+W(4,-1115045376,-1136279992,-1106223181,-1116109267)+W(5,-1083772539,1057166968,-1096438944,-1112079518)+W(6,1029330596,1024806390,-1103579129,1058690419)+W(7,-1115914082,1025354440,-1120448614,-1128868784)+W(8,-1102450653,1049252525,-1116410163,-1128866725)+W(9,-1134294785,1022822666,-1100406055,1046884233)+W(10,-1127656777,1008311211,1004544641,-1115751616)+W(11,-1099401009,1051036287,1031406769,1030150228);sum2=W(0,1018441725,-1121226957,1025980595,-1143973174)+W(1,-1145354702,-1118705847,1018735508,-1128043345)+W(2,1035475244,1028848366,1010180031,1001175670)+W(3,-1106801879,1036012925,-1093599779,-1119821797)+W(4,-1106432772,-1114705464,1042307735,-1105109021)+W(5,1063056253,1055391108,-1103238145,1024485983)+W(6,-1108191465,1026535678,-1097885523,-1118265757)+W(7,-1114258989,-1109715589,-1153036923,1024075219)+W(8,1035122552,1031788992,-1114303163,1025382280)+W(9,1023515972,-1143871918,1028845741,-1122707515)+W(10,1031455538,-1125366621,-1130614305,-1115606924)+W(11,-1124060823,-1149779899,-1117711701,-1122890135);WS(1061221431,1002405371); +sum1=W(0,-1123061017,-1123480946,-1090405194,1054235011)+W(1,1026563665,1000058490,-1109190069,1033046959)+W(2,-1104934581,1044209302,-1108435303,-1121369187)+W(3,-1111043962,1050201177,-1102475777,1057895846)+W(4,1037490845,1030151784,-1094345134,1042710035)+W(5,-1086823335,1052530935,-1102625680,-1111380603)+W(6,-1146354418,1050099666,-1097235340,1058601910)+W(7,1033897294,1040756961,-1113941840,1026923762)+W(8,-1091215734,1050794548,-1126650490,-1126829850)+W(9,-1145213652,1032794752,-1094526523,1041457976)+W(10,-1110275296,1032331475,1017803349,1029204218)+W(11,-1089600016,1055600534,1021417496,1033488871);sum2=W(0,1049937345,-1089706816,1050626093,1030967529)+W(1,-1115709839,1039088353,1058657690,-1087536311)+W(2,-1106625833,-1105431871,1036734782,-1109192755)+W(3,1071079778,-1078069733,1020012689,1044296437)+W(4,-1122006247,1031394755,1072348129,-1078647761)+W(5,-1094966474,-1112600090,-1122763227,-1116226089)+W(6,1066389113,-1079714039,-1098171132,1038432439)+W(7,-1130276743,1022577738,1049150259,-1090508646)+W(8,1050328795,1044145959,1024733405,1012728894)+W(9,-1119844839,1022376790,-1105718319,-1126694997)+W(10,1021875579,-1123093509,-1113785170,-1103849791)+W(11,1052174137,1034822829,-1112758982,1013882918);WS(-1092893294,-1089220584); +sum1=W(0,1008699951,-1127519944,1053766130,-1103359682)+W(1,-1104704049,998920846,1010493299,-1118558929)+W(2,1051919929,-1096189801,1032200864,1028526614)+W(3,-1124403149,-1106263811,1056071340,-1097091836)+W(4,-1111082358,-1149496748,1025199074,-1113928672)+W(5,1052175436,-1086367179,1015736929,1019181009)+W(6,-1117387089,-1098638288,1062605050,-1096005139)+W(7,-1120379023,-1115659002,1015178277,1041393441)+W(8,1047707912,-1102452900,-1123219920,1027645503)+W(9,-1125915034,-1112838969,1053546873,-1101730612)+W(10,1019333603,-1131717807,-1130896954,1035998582)+W(11,1049473086,-1095432549,-1136688761,-1136451331);sum2=W(0,-1143112647,1034689803,-1115356591,-1121270233)+W(1,1017968792,1021729984,992704062,-1109431235)+W(2,1039097516,1048248946,-1124530814,1005857263)+W(3,-1124855502,1033324328,-1073085951,-1106299172)+W(4,1023517229,-1126326370,1038449046,-1098090520)+W(5,-1063972596,-1091325299,-1113483013,1015994888)+W(6,-1105916124,1038361982,1062319475,-1090314642)+W(7,-1141826407,1013997779,1035072543,1040866773)+W(8,1085456662,1056006422,1034240002,-1134900259)+W(9,-1114904409,1032024575,1062308854,1043935118)+W(10,-1124783482,-1135264403,1019251456,-1164332444)+W(11,-1102205120,-1107459099,1032935811,1001043447);WS(-1104754908,-1106735671); +sum1=W(0,1030490103,-1117923535,-1088908700,1033028505)+W(1,1045999740,-1120248133,1032595044,1002237924)+W(2,-1094516030,1029213684,-1144798556,1015682178)+W(3,-1128810020,-1122216143,-1092804364,1050263192)+W(4,1022746927,-1129595020,1032319302,-1120462507)+W(5,-1102093923,1063837581,-1106958295,1030078356)+W(6,1019231224,1025980110,-1088198897,1058220138)+W(7,-1107413149,1021953856,1025969502,-1123369072)+W(8,-1096286026,1054477272,995801516,-1153493672)+W(9,1016077744,1034830735,-1102086589,1045907999)+W(10,-1115665070,1019926661,1024124136,-1104242198)+W(11,-1103741447,1049334234,1030012489,1022398552);sum2=W(0,-1116247065,1035833889,-1087068607,-1107323417)+W(1,-1109274147,1021616338,1015145430,-1107082251)+W(2,-1079268655,-1102842161,1016322550,-1133554677)+W(3,986051432,-1114579693,1022672030,1049680335)+W(4,-1111459111,1010843781,-1117862601,1043695503)+W(5,1067901888,1032100715,1026073955,1017398706)+W(6,-1114715779,1039299404,1059152338,1040660749)+W(7,992278036,998891466,1034116930,-1114493167)+W(8,1008422125,-1115195239,-1173738319,-1139208557)+W(9,-1144744186,-1120378069,1020328850,1018816198)+W(10,1033325633,-1138764845,1026244953,1019204162)+W(11,-1111927269,1021018582,-1123657301,1016479082);WS(-1092340590,-1082645376); +sum1=W(0,1018128252,1033191659,1040446513,-1112709788)+W(1,1031456758,-1113441282,1018184990,-1106475329)+W(2,1036685563,-1105689791,1040219053,-1127103440)+W(3,1028162329,-1101261661,1061713267,-1086509296)+W(4,1042438664,-1123459213,-1117677972,-1102532636)+W(5,1042646693,1038532783,-1111899057,1018898486)+W(6,-1115495745,1031605429,-1089327101,1064314083)+W(7,-1100451664,1033438227,-1115409474,1010011868)+W(8,-1106573237,1046976369,-1105951352,1029058545)+W(9,1015642046,-1127814216,-1105713919,1039016129)+W(10,1010066702,1013299750,-1118723567,-1112449263)+W(11,-1112423953,1030956248,1022848097,-1130132966);sum2=W(0,-1107775669,1040551451,1027302533,1033412933)+W(1,-1135101756,-1131050762,-1121347079,1042459857)+W(2,-1122087227,-1113656153,1017950151,-1130160250)+W(3,-1118975841,1031184422,1016161914,1035641742)+W(4,-1109563699,1017438602,-1121125435,-1152381105)+W(5,989383522,-1114487413,1046120628,987844130)+W(6,-1123325897,-1105935240,1045806619,1041762467)+W(7,-1114574520,-1117833439,1012434826,-1115286413)+W(8,-1125562074,1029416951,1035110196,-1173771715)+W(9,-1129695564,-1124425722,-1111270899,1028252326)+W(10,998528980,-1121778743,1006663086,-1111096901)+W(11,-1114174571,-1127668218,997585257,-1126450718);WS(1052284526,1042464092); +sum1=W(0,1010280196,999914700,1057530557,-1098111272)+W(1,-1101387838,1027464615,-1136974408,-1110845507)+W(2,1046554367,-1100087104,-1110795931,-1128121686)+W(3,1026365340,-1109035161,1060667985,-1090659644)+W(4,-1102616600,1001926272,1020617774,-1110448219)+W(5,1063323154,-1094987596,-1105684762,1025859742)+W(6,1023947782,-1110075532,1043924417,-1095988958)+W(7,-1124311688,1017827156,-1127515216,1038195741)+W(8,1050039723,-1097163609,1018127786,1034844538)+W(9,-1129271461,-1114945332,1042422080,-1105136802)+W(10,-1124435598,-1130637466,1007810505,1019473092)+W(11,1052688005,-1095692091,-1114597706,1027019478);sum2=W(0,1025355846,-1119913429,1034044275,-1140464466)+W(1,-1091074448,1041357090,-1124685033,1010871130)+W(2,1036346050,1032812135,-1086522508,1037018199)+W(3,1029205900,1016143206,-1128364593,1071964190)+W(4,-1074918519,1033277276,1011755468,1033794365)+W(5,-1133342818,1067600837,-1089329657,-1111447139)+W(6,-1113277680,-1140030878,1020927778,1039362648)+W(7,-1106053895,-1118126225,1035269289,1020099653)+W(8,1035477071,1033733070,-1108456989,1032003060)+W(9,-1122502097,991986873,1011575434,1008065452)+W(10,-1146528221,-1117647411,1013457876,1035095720)+W(11,1029499077,994468553,-1106105254,1009180302);WS(-1085785015,-1080175544); +sum1=W(0,1035373246,-1103151077,1058377668,-1091874455)+W(1,1025579124,-1111695537,-1125806618,1045216768)+W(2,1050584367,-1094766367,1043611260,1043525714)+W(3,-1118822551,-1094452856,1054861331,-1107649205)+W(4,-1106387815,-1102079139,1044894533,1039875576)+W(5,1046782533,-1090132878,1049375324,-1105407270)+W(6,-1102223008,-1151103277,1057861265,-1090472533)+W(7,-1115030560,-1144672552,1041222777,-1094574331)+W(8,1051791466,-1111571937,-1137989279,-1102123612)+W(9,1023709757,1048044105,1043274206,-1098390656)+W(10,1049548184,1041305154,-1122183565,-1103877399)+W(11,1058273114,-1092114299,-1106419572,-1116205169);sum2=W(0,998449416,-1118465870,-1124628345,-1148690252)+W(1,1037770975,-1105952484,-1121990028,1035743758)+W(2,1040306990,1001004257,-1132010249,1037805583)+W(3,1039055377,-1103571680,-1098483719,1060096717)+W(4,-1108861100,-1087084008,-1115523342,1049274722)+W(5,964150684,1077176219,1047972499,-1070507600)+W(6,-1132069983,-1106547389,1024621733,1060014437)+W(7,-1098623231,-1092504349,1032292249,-1126693677)+W(8,-1103504000,1016774454,1034159573,-1105946989)+W(9,-1128335569,1034009109,1043582890,-1107960970)+W(10,1020716885,1041667680,998312734,-1116877357)+W(11,-1116867442,-1139511962,1042264637,-1102914489);WS(1041580764,1025947967); +sum1=W(0,1032565172,1034662848,1053611982,-1093835868)+W(1,-1131110976,1036244351,-1116825273,-1104706235)+W(2,1050747028,-1092905173,-1131069497,-1119290642)+W(3,1019951750,-1115255997,1050206724,-1095669879)+W(4,1036897764,1017394926,1022134396,-1107214727)+W(5,1063007652,-1096926641,-1105182467,1029927621)+W(6,-1111515158,-1098820316,1060757006,-1089733625)+W(7,-1098715869,-1106823604,1034025399,1032808736)+W(8,1052025888,1049974094,-1104277767,1037476046)+W(9,-1110133221,-1102823188,1043880105,-1099659531)+W(10,-1106501955,-1114565306,-1159719714,1021100817)+W(11,1052817434,-1119725058,-1106408671,-1122404893);sum2=W(0,-1132209742,1031078182,-1131885988,-1109418986)+W(1,969823813,-1135041624,986836209,1029631070)+W(2,1025515900,-1129378830,1027058278,1012367442)+W(3,-1121945777,-1119773491,1029199828,-1113141662)+W(4,1030656895,-1116640321,-1170553346,1020231728)+W(5,-1120148774,1055904551,-1099466937,1014349374)+W(6,-1138085578,1023900693,-1122079840,1057958803)+W(7,-1089769002,1019607807,-1127752664,-1133642976)+W(8,1019687015,1044815557,-1096970616,1019685270)+W(9,1024317954,1016594015,1019770946,-1115676013)+W(10,-1105180704,1040370156,-1170071298,-1123929889)+W(11,-1134784812,1040873658,-1104818759,1020720783);WS(-1101021916,-1101341893); +sum1=W(0,1026213188,-1104193847,-1099125811,1055643976)+W(1,1025577212,-1110018309,-1128959914,1029994953)+W(2,-1096018912,1049220736,-1111820508,1025253614)+W(3,1026395551,-1146733010,-1093634574,1055313981)+W(4,-1119144868,-1114303945,-1114900877,1036038140)+W(5,-1086773562,1052012604,-1127551698,-1123712161)+W(6,-1152047246,1031817213,-1090412335,1060627153)+W(7,-1111302883,1028280877,1012420650,-1118727997)+W(8,-1107844781,1051291321,1025725832,-1119269431)+W(9,1006057769,1021561044,-1104575744,1049980081)+W(10,-1112108341,1031833384,1026345301,-1106810537)+W(11,-1104632714,1047342967,1003961523,999050183);sum2=W(0,-1131988010,-1111316079,1041465340,1024389323)+W(1,-1121573843,-1149117460,1023490159,1007442131)+W(2,-1100903601,1055734435,-1125698351,-1131908940)+W(3,-1126411872,-1122871173,1038743702,1080207498)+W(4,1043717463,-1114017647,-1164111651,1046145376)+W(5,-1093182708,1078445253,1049726225,-1119425741)+W(6,-1121501747,1040330964,1049859497,-1068399047)+W(7,-1122596352,1019240934,1031886393,-1109560063)+W(8,-1098635398,-1066503158,-1100760677,1009702615)+W(9,-1117332099,1016982738,1035352171,-1109489195)+W(10,-1113462329,1032687935,1035364539,1005935896)+W(11,-1113093917,1012210427,1035980752,-1141270643);WS(1046490332,1041425064); +sum1=W(0,1024529499,-1116828595,-1093042204,1043650965)+W(1,1015429414,1019425762,1033054902,1002731779)+W(2,-1098109922,1045029126,-1106337284,995804238)+W(3,1031945755,1040980232,-1092614541,1058500980)+W(4,1033182334,1032419541,-1146773895,-1160896989)+W(5,-1086741475,1055608303,-1109695552,-1179835378)+W(6,1029605664,1052617834,-1091564618,1058257970)+W(7,-1174108025,1044059953,1004520717,1015420456)+W(8,-1090483479,1019101890,1029823567,-1127672093)+W(9,1031502108,1044142352,-1094325635,1041689704)+W(10,-1123497953,1032927635,1024614604,1032157630)+W(11,-1086427940,1049761551,1041880275,1040104968);sum2=W(0,-1122431319,1026151548,-1122010793,1049905644)+W(1,-1102178930,-1124048569,-1114479591,-1106953243)+W(2,999999917,-1108260971,-1125976243,-1126306455)+W(3,1024826864,1048064546,992235770,1050719290)+W(4,-1123774104,1025075060,-1100833312,-1097347844)+W(5,1040448763,1045454882,-1096948195,-1105554812)+W(6,1043724086,1037967160,1044292364,1049686405)+W(7,1038302972,1034346164,-1109354990,-1109085075)+W(8,1032432738,-1111087807,-1108325988,-1114960687)+W(9,-1130104331,-1110876131,-1143420941,-1098496523)+W(10,-1118752296,994535386,1015245663,1007980535)+W(11,1040568157,1043523736,-1113347688,1032072922);WS(-1096079726,-1086813702); +sum1=W(0,-1135457777,-1105268453,1045566625,-1104980990)+W(1,-1105625101,-1128467237,1020632987,-1134572551)+W(2,1038076635,-1125909619,-1145052038,1035122115)+W(3,-1136898909,-1100910973,-1141635906,-1094783105)+W(4,1032999502,-1125440663,1041289173,-1166801940)+W(5,1058638213,1057673490,1030475041,1035865453)+W(6,1012368645,1038525034,-1104077708,-1100424110)+W(7,-1113674176,988204202,1002632984,-1102504381)+W(8,1033251913,-1111352769,-1113040784,-1119749552)+W(9,1024629150,1029902179,1009307365,1012100357)+W(10,992583714,1027550920,-1127204699,-1110256943)+W(11,1022942147,-1133590617,-1114381639,-1124393059);sum2=W(0,1009177065,-1117003048,1042183695,-1105766164)+W(1,-1112946812,1019480223,-1120740066,1013092463)+W(2,1025589372,1042721142,-1113055730,1026018809)+W(3,1031366584,-1102800003,-1111208570,-1149080533)+W(4,-1103263899,1020058227,1041576942,-1090661723)+W(5,1068855162,1040487387,1030911277,1007104581)+W(6,-1100270767,1059100650,-1085550755,1023619821)+W(7,-1103276630,1029611268,1045439690,-1097382737)+W(8,1044086134,-1099098175,-1114239046,-1162581429)+W(9,-1125959183,1022453518,1032267243,-1126080241)+W(10,-1107084863,1037226018,1033773937,-1106788899)+W(11,1025170288,-1106320787,1019625936,-1116554192);WS(1059841719,1028884484); +sum1=W(0,-1113543486,-1108411818,-1112074625,1058342439)+W(1,-1101044205,-1143395087,-1112448166,-1111506273)+W(2,1034453786,1041783662,-1112657624,-1122260358)+W(3,-1123514455,-1104706915,1033474668,1050338440)+W(4,-1103529079,-1124590486,1014814024,-1096756366)+W(5,1052483434,1043430567,-1099567912,-1132902244)+W(6,-1116573889,-1106354949,1048710884,-1116369607)+W(7,-1110811775,-1118491109,-1120616579,-1107115957)+W(8,1049505778,-1117001986,-1119641312,-1118809775)+W(9,-1132301434,-1117349474,1050151687,1011608836)+W(10,-1133908615,996976763,-1127146586,-1105758103)+W(11,1056594572,-1106214629,-1113349351,-1114523384);sum2=W(0,-1131846847,-1142019487,-1119272484,1043688817)+W(1,-1110979463,-1128104285,999597315,973346488)+W(2,-1113005256,-1112114230,-1112619479,1003422803)+W(3,997751878,-1127636492,-1113445057,1056371527)+W(4,-1097247478,1021279303,-1114921220,-1114646695)+W(5,1055277760,1041350431,1019660165,-1127196333)+W(6,1031101790,-1098897499,1032426103,1038923617)+W(7,-1105379211,-1138766624,-1115596944,1027087956)+W(8,1036539833,-1123786644,1026606310,-1129408714)+W(9,1024706196,-1111832500,-1114392819,-1130636099)+W(10,1012894502,-1130181692,-1120544321,1029100436)+W(11,1010252474,-1123180191,-1125326592,-1164469676);WS(-1092619630,-1089382730); +sum1=W(0,-1111364766,1023648980,1039669985,-1112475547)+W(1,-1102256285,1036516737,1043539187,1020312451)+W(2,-1096148415,1048019422,1027548272,-1110790259)+W(3,984781533,-1115220152,1055391282,-1085560118)+W(4,1048070471,1016263062,1030068626,-1101226428)+W(5,1026945555,1059189430,-1108016176,-1120756633)+W(6,1026274177,1038621209,-1081505706,1059392734)+W(7,1040580240,1007770772,-1111039089,-1105671421)+W(8,1045179252,-1105049488,1037378816,1034683832)+W(9,1024515101,-1101912057,-1132720100,1041558112)+W(10,1031071010,-1109624324,-1120853581,1015856825)+W(11,1027675681,-1133761880,1032748839,1021933410);sum2=W(0,1021752691,-1111677325,-1108952074,1033183913)+W(1,1044091848,-1113755692,-1117827136,1031932470)+W(2,-1110048197,1038437939,-1103930854,1027358915)+W(3,-1125983252,-1130612142,1045228241,1050756049)+W(4,1008734718,-1104619422,990310070,-1104195843)+W(5,1051763659,1045197632,-1105931725,1032921649)+W(6,-1109957501,-1168184730,1028013889,-1115591069)+W(7,-1149204891,-1117367196,1040724727,-1105272655)+W(8,-1136328910,-1123843648,1020655719,-1140627498)+W(9,-1109878975,1035492359,-1114456338,-1120329563)+W(10,-1120613434,1033876328,1031887118,-1103738768)+W(11,-1114723198,1035246991,-1121689275,-1121880867);WS(1051433070,1041054969); +sum1=W(0,1027474774,1025557871,-1105663671,1035613609)+W(1,1041537220,1027665948,995089009,1019369911)+W(2,1032468488,1037418314,1036952965,-1122283488)+W(3,1034863641,1049084179,-1096978722,1039456478)+W(4,1041156238,1041167849,-1109189270,1046403907)+W(5,-1082587707,-1080639932,1049567823,-1112387034)+W(6,1039503310,1044512531,-1102025153,1026454114)+W(7,1040087661,1039611744,-1126811322,1035909664)+W(8,-1107200379,1042549431,1039105725,-1137459494)+W(9,1033371404,1033234174,-1104819461,1042229543)+W(10,-1131034584,1031071714,1010666397,1028564471)+W(11,-1106755535,1034360184,1031577769,1033297350);sum2=W(0,1039097792,-1103860174,-1106228186,1004583985)+W(1,1031892389,-1133334119,-1128793460,-1106733661)+W(2,1050938198,-1097187313,1046933969,-1107245750)+W(3,-1140010118,1043000544,-1100268114,1021007203)+W(4,-1107049139,1039577114,1022871695,-1106671798)+W(5,1039252188,1053089515,1049075999,-1104825734)+W(6,-1138263433,1046664654,-1099105674,1048715277)+W(7,-1103930146,1030321621,-1112923836,-1123142296)+W(8,-1121884665,-1114597930,1022883749,-1117968576)+W(9,1026478628,1037719970,-1100173198,1047464456)+W(10,-1098080196,1036807670,-1110368657,1042580191)+W(11,1034926170,-1106315502,-1108178582,1018138445);WS(-1097236334,-1078251511); +sum1=W(0,-1147379729,-1107131303,-1102832418,1058323440)+W(1,1023750586,-1116361496,981774949,1007351583)+W(2,-1125527926,1053289720,-1121375351,-1124892056)+W(3,-1145120489,1033603653,-1095625930,1056660465)+W(4,1026746467,-1128008098,-1112510828,1043141838)+W(5,-1082084799,1032726417,1033795604,-1117973855)+W(6,975327689,1029606457,-1090577043,1058345481)+W(7,1025947909,-1148460889,1008364580,938727969)+W(8,-1093823475,1053416161,-1131151340,-1125502955)+W(9,-1140670990,1020032977,-1098508888,1046390514)+W(10,-1119905544,999577711,1022969831,-1108966769)+W(11,-1096801949,1049766564,1037296218,1010324189);sum2=W(0,1024894779,-1102276353,-1120020336,-1081787381)+W(1,1039662448,1023553607,1020144998,1025017931)+W(2,-1096890621,-1080908066,992888305,-1118655405)+W(3,-1118791847,-1107221556,1050182775,-1102161510)+W(4,-1130889346,-1120230550,1007750652,1046635995)+W(5,1039741552,1072604155,1039835396,-1126400334)+W(6,-1137666916,-1132306598,1043589185,1055213170)+W(7,-1110509653,1020541198,1023698735,1023586615)+W(8,-1108361045,-1115556916,-1122324709,1020891302)+W(9,1009542396,1030880679,-1114600836,1037616572)+W(10,1000980713,-1119304668,-1129126018,1015842286)+W(11,1024872627,-1105259074,-1124270218,1033066840);WS(-1095840110,1065907853); +sum1=W(0,-1149009607,-1123781617,1057715094,-1102734645)+W(1,-1101560548,1034276991,1029310442,-1130903741)+W(2,1048478500,1041326469,1036129479,1021921030)+W(3,-1122029108,-1115466131,1058442742,-1088947208)+W(4,-1107277134,1036949012,-1136794300,964920945)+W(5,1045634572,-1083008792,-1109559039,1024401462)+W(6,-1118254622,-1115351608,1052165513,-1096684061)+W(7,1036543086,-1114280609,-1132243967,1043406509)+W(8,1053323726,-1089856222,1024712701,1035777670)+W(9,-1126823604,-1116119295,1042519141,-1127763004)+W(10,1009014011,-1132072137,1010554921,1040435870)+W(11,1051535704,-1095672430,-1114598742,1024787534);sum2=W(0,-1122765153,-1112086475,1040388299,966593378)+W(1,-1114107386,975247631,-1119761608,-1118318168)+W(2,1023061820,-1102263327,-1113965021,-1137846028)+W(3,-1115823403,-1121250504,-1128744886,-1110151426)+W(4,1045334069,-1111548146,-1123357438,-1119202357)+W(5,1057284387,1059190541,-1118800384,1023792011)+W(6,-1105805209,1024515185,-1103324019,-1106793279)+W(7,-1164047122,-1112106446,1031734555,-1130234658)+W(8,1037222780,1050053336,1025627836,1020007628)+W(9,-1111986136,-1134784044,-1110952019,-1107073751)+W(10,-1114668630,-1125560981,-1126486235,1026675759)+W(11,-1117543075,1021583022,-1124432766,-1131408661);WS(1024351088,-1094038469); +sum1=W(0,1016930687,1038061004,1052546457,-1086527812)+W(1,1040515838,1006605995,1024919184,-1118029957)+W(2,1050276351,-1103330015,1027568116,1004978763)+W(3,988693323,1005748798,1052906127,-1085615881)+W(4,1040353352,1030413326,1038267403,1038925818)+W(5,1062157201,-1097782940,-1124671689,1031140124)+W(6,1001354275,1032752795,1055274272,-1088621706)+W(7,-1113419105,1009586849,-1123840710,1034287148)+W(8,1050137483,-1090365828,1017331974,1023985459)+W(9,-1125725377,-1110688307,1036684158,-1108159426)+W(10,1018660298,-1129057942,-1120680465,1036629872)+W(11,-1112935826,-1098987606,1039926041,-1120649652);sum2=W(0,1018662896,1033363591,-1101021011,-1107389045)+W(1,1013978472,-1120396150,-1131745232,1031409358)+W(2,-1109130821,1050735765,-1122086781,1024022584)+W(3,-1136728576,1036576685,-1097527529,1043333749)+W(4,1029525730,1015209616,-1110788716,1060006588)+W(5,1058553385,-1120731420,-1118628277,1030135008)+W(6,-1123530251,1052968790,1023922010,-1100470754)+W(7,-1117232951,1018906596,-1101470606,-1102632350)+W(8,1057288665,-1097217661,-1112638769,-1121049341)+W(9,-1110519714,-1105224546,-1111209476,1038218737)+W(10,-1121310567,1024891644,-1125138150,-1083015355)+W(11,1034932287,1047940150,1023530026,-1113292326);WS(-1086599863,1058406314); +sum1=W(0,-1165120005,1027409257,1060099497,-1093079745)+W(1,-1114693988,1019186220,-1133002117,-1121445206)+W(2,1049800473,-1099695891,1033258882,1025328858)+W(3,-1129945046,-1106007410,1059141168,-1091476505)+W(4,-1129815521,-1128567742,1024249318,-1105883025)+W(5,1051534797,-1093891126,-1124179562,1017248474)+W(6,-1119162837,-1105279538,1058010671,-1094225343)+W(7,-1106482085,-1123837177,1026085015,-1127421331)+W(8,1051659429,-1106347590,-1112036922,1031899202)+W(9,-1121003281,-1109094875,1047889907,-1098091099)+W(10,1030868870,-1123224348,-1127955907,1024561201)+W(11,1050835423,999784785,-1097732400,-1141903913);sum2=W(0,-1116781913,1031543998,1082393585,1050004941)+W(1,1025243259,-1123250937,1016621488,1029140379)+W(2,1078957479,1028477447,1010603263,-1125975170)+W(3,-1133566515,1044191480,-1080327233,-1104837212)+W(4,-1125439138,1007793087,-1124282558,-1105795809)+W(5,-1065075267,-1086493521,-1117319975,1028403247)+W(6,1034216133,1017978886,-1076777978,-1109285108)+W(7,988101688,-1125200922,-1128560494,-1175609568)+W(8,1030943022,1045155438,1024551608,1020903576)+W(9,991940908,-1120640387,-1110243052,1033432207)+W(10,-1129511338,-1119399555,1017899660,1019924506)+W(11,-1113970478,-1130476854,1020472787,1028374268);WS(-1102531292,-1104168529); +sum1=W(0,-1149508566,1032023755,1058049088,-1091020399)+W(1,-1123106485,1018386839,-1156103398,-1123937923)+W(2,1044530702,-1093487559,1028416434,1022122127)+W(3,1005530819,-1114986325,1057825341,-1088576155)+W(4,-1124442300,1027828556,1019304359,-1105594348)+W(5,1061967565,-1113700815,-1132463754,1023613146)+W(6,-1111288609,-1100927253,1057378026,-1096522221)+W(7,-1107169312,-1118265958,-1152861762,1042848102)+W(8,1043852869,-1100187457,1030031137,1031835352)+W(9,-1123770879,-1131000647,1032195229,-1097716728)+W(10,-1127676038,-1124424850,992160490,1048571064)+W(11,1021567685,-1095320739,1015048992,-1151822630);sum2=W(0,-1112466451,1034684305,-1101371049,-1100658772)+W(1,1043071493,-1119405084,-1130983341,1035765483)+W(2,-1113050760,-1100149859,1039321546,-1140521940)+W(3,1032826781,-1117553496,-1096382267,1042208912)+W(4,-1131759707,-1127348451,-1114093653,-1101908611)+W(5,1063677104,1062452463,-1106482074,1028341682)+W(6,1040752192,-1105770401,-1132405995,1047214162)+W(7,-1105645940,1022142418,-1154197073,-1106309648)+W(8,-1114901667,-1095028755,1034888818,-1118255322)+W(9,1026229169,984953298,1023704972,-1109270652)+W(10,1035103126,-1118485150,1032051747,-1113409477)+W(11,-1104964374,-1107539022,1008251057,1025943565);WS(-1107552696,-1110437397); +sum1=W(0,994440345,-1114854865,1038159592,-1169396004)+W(1,-1112745281,1003079356,-1123893979,-1115498472)+W(2,-1143015444,-1103811554,-1176837895,-1126823399)+W(3,-1123659045,-1107252796,1048547885,-1102945115)+W(4,-1113210869,-1127252913,1033249360,-1098484960)+W(5,1066459081,1054059005,-1092775086,1036761683)+W(6,-1115012423,-1105215024,1050116824,-1110458371)+W(7,-1107508006,-1117476787,1025628848,-1113844817)+W(8,-1114931568,1027966800,-1115481499,-1139958260)+W(9,-1120012907,1015022176,-1139703834,-1137430074)+W(10,-1123286831,-1143819946,-1138236651,-1112267573)+W(11,1030992175,1038350450,-1114208046,-1119805695);sum2=W(0,-1128900045,1032112026,-1122103841,1020429393)+W(1,-1123818335,1025087925,-1134566747,-1121844433)+W(2,1023900033,1031965476,-1168200234,-1116320886)+W(3,1023101249,1024457633,-1130431017,1010339139)+W(4,-1111989275,1037399444,-1119409466,1041370918)+W(5,1071310745,-1073631838,-1111141033,-1131868341)+W(6,1014344875,-1138667107,1015570157,1024644617)+W(7,-1128248465,1027301561,-1124604689,1023011873)+W(8,1025187637,1038341472,1032459330,-1118206868)+W(9,-1135550339,-1123574415,1029193653,-1117036677)+W(10,999769253,-1124415769,1011013307,1018662193)+W(11,-1118001398,1034637136,1020580065,-1136885571);WS(-1106869980,-1095812171); +sum1=W(0,998635262,1030538232,-1104276842,1021368885)+W(1,1037657452,1012233735,-1132768195,1032306163)+W(2,1027943897,1042581143,-1130589992,-1127936403)+W(3,1031165051,1040655940,-1094369165,1043839724)+W(4,1045125152,1030674671,-1109012795,1049530762)+W(5,-1079963696,-1098205560,1052736873,-1106402911)+W(6,1031921458,1035845131,-1094529094,1041010327)+W(7,1041646697,1035635524,959153786,1029124089)+W(8,-1138415831,1043286153,1033263566,-1117746707)+W(9,1015400066,1034791747,-1107836910,1040781721)+W(10,-1127518347,1026900011,1020404450,-1126776961)+W(11,-1127281161,1032119517,1032079673,1007765715);sum2=W(0,-1137391706,1016897725,-1122041158,1032188407)+W(1,959684203,1004755699,-1152109415,-1123613558)+W(2,-1117579022,1034093919,-1123954990,-1142267571)+W(3,1015680093,1031100358,1032233585,-1107212716)+W(4,-1144448755,1020208893,-1108578627,1031185182)+W(5,1068869480,-1079207220,-1112638895,-1131161181)+W(6,1012334874,1018767069,1031129926,-1118301998)+W(7,-1145613555,1014639674,-1126811133,1016912269)+W(8,-1135215962,1010098650,1002322227,1010341946)+W(9,-1146463859,-1123894542,-1172726683,1010207290)+W(10,-1163026381,-1128211133,1013671002,-1129388765)+W(11,1025914590,998321459,-1185201771,1014227898);WS(-1106551004,1058945856); +sum1=W(0,-1136733265,1027999917,1036329486,1021052191)+W(1,-1112842790,996925861,1029534949,-1110759309)+W(2,1039804839,-1090459221,1042972690,-1126301053)+W(3,1040114552,-1101184472,1055915689,-1088507490)+W(4,-1116549941,1035692146,1023973738,-1136820001)+W(5,1045009467,-1102642413,1048917175,-1116120689)+W(6,1008178533,-1120539979,-1099722578,1057115504)+W(7,-1103385510,1032281663,-1121731675,1050535890)+W(8,-1092228133,-1141944531,1042662182,1025401864)+W(9,-1122738710,1036280349,-1110742697,1036514925)+W(10,-1123309658,-1122836256,998670125,-1112884987)+W(11,-1133144549,1024140334,1040183891,1009223461);sum2=W(0,-1166199047,1029866216,-1143586281,1016771040)+W(1,-1123676489,-1174784654,1008667864,-1111274931)+W(2,1037662319,1050961303,1039205717,-1119230230)+W(3,-1137339492,1026227362,1052978055,1073672156)+W(4,1048063806,-1117826448,-1142224481,-1119220040)+W(5,-1079795268,-1075413433,1028203090,1028246046)+W(6,-1152330850,1031356244,-1109068899,1029037052)+W(7,-1113725553,-1160612324,1020018908,-1116678638)+W(8,1041694498,1026323256,-1115208722,1024440460)+W(9,-1116618549,1026327024,-1122243464,1021575344)+W(10,1002430881,-1126523302,1015962596,-1189397276)+W(11,1027749752,-1119692611,-1114291930,1031666290);WS(1045979868,-1116118129); +sum1=W(0,1019079208,-1115974509,1054347779,-1096855346)+W(1,-1118610636,-1120438410,-1124899402,-1114857165)+W(2,1046800787,-1098629066,1029706377,1017939836)+W(3,-1142300538,-1110287856,1053005207,-1093283235)+W(4,1028644213,-1131155654,1011594153,-1099509298)+W(5,1063937495,-1097005655,1015974258,-1116499825)+W(6,-1134190949,-1112842949,1058166871,-1090046872)+W(7,1040979430,-1119992573,-1132197046,-1107483943)+W(8,1048177899,-1104885511,-1129150352,-1120133576)+W(9,-1116332853,-1111331677,1047873428,-1102896822)+W(10,1028514810,-1118080608,-1135144470,1018268010)+W(11,1056893199,-1096686406,-1118433447,-1112688517);sum2=W(0,-1132220574,1034058342,1008450820,-1132397996)+W(1,-1105536207,1025437040,-1115410889,-1116250603)+W(2,-1126553639,-1097158033,-1108668742,-1118211898)+W(3,1017347763,1029372102,-1105866140,1060185134)+W(4,-1106418349,1034066570,-1123931551,-1101916549)+W(5,1053545154,1060913993,-1104852271,-1102379864)+W(6,1027749497,-1104316591,1054419707,1033775493)+W(7,-1106993048,-1133416673,-1111299822,1035393713)+W(8,-1102688086,-1115290197,-1102129692,-1209279719)+W(9,1025854529,-1107314572,1036131430,-1106841697)+W(10,-1149271050,-1133826631,-1123916419,1033668899)+W(11,-1144517652,990325833,-1114889391,-1129688184);WS(1058774455,1069380246); +sum1=W(0,1032626516,-1114780225,1045065548,-1111975378)+W(1,1025328225,-1121960111,-1119757626,1038823639)+W(2,1040221656,-1115053555,1020222778,1037972921)+W(3,1033017026,-1098306133,1021036585,1050529784)+W(4,-1115391173,-1112361500,1015522813,1034533838)+W(5,-1082356272,-1095104409,1045288819,-1139302935)+W(6,-1128327131,-1103839696,1057244812,-1133328720)+W(7,-1116298540,1018289699,1036888920,-1112718001)+W(8,1032300191,-1111385431,1042918995,-1110693582)+W(9,1032769109,-1126986782,1043416793,-1124233691)+W(10,1029500622,1027375220,-1148588495,1012070438)+W(11,1045596067,-1105784401,1037659662,-1114680879);sum2=W(0,-1129789987,1017265095,-1124616639,-1116091154)+W(1,1033010488,1011223606,1019234847,-1124971531)+W(2,-1114025560,1022067335,-1114442452,-1117824661)+W(3,-1128803579,1043137983,-1132476030,-1102585265)+W(4,1028851843,1031833634,-1112792165,1047657371)+W(5,-1114992592,1052022695,-1115343414,-1136738894)+W(6,1011967806,1034970984,-1098689491,1033604172)+W(7,1002830796,988094894,995307959,1010908150)+W(8,-1115509379,1031244615,-1121158047,1025799099)+W(9,1018394359,-1107223361,1006851110,1032350856)+W(10,-1114060980,-1118870225,-1112288614,1027672251)+W(11,-1128503755,1024636851,1027935499,-1127411999);WS(1065814108,-1098421406); +sum1=W(0,1030554015,-1104400078,-1097091133,1050276747)+W(1,1045406982,-1119880969,-1131576032,1022555209)+W(2,-1099298246,1048827844,-1106685173,-1132305362)+W(3,1020712308,-1130072911,-1094842433,1057743463)+W(4,1040093248,-1122176686,1019668842,-1118231891)+W(5,-1084181571,1051719984,1018405640,1026194364)+W(6,-1178997255,1041059117,-1098796514,1058357819)+W(7,-1118903138,1004376640,1023970854,-1115494780)+W(8,-1094912271,1056339293,-1115388505,1024072531)+W(9,1011631425,1035736611,-1090107010,1051879221)+W(10,-1113309730,1009992363,1023862096,-1104560304)+W(11,-1092396649,1057941592,-1118151090,1029155252);sum2=W(0,-1104337717,-1085961218,1065899128,1055232204)+W(1,-1090132108,1023963317,1027104118,1036459641)+W(2,-1117484391,-1101810882,1052764213,1014918739)+W(3,-1114433477,-1092980271,1062039746,1049041629)+W(4,-1092098978,1035158266,-1122138940,-1101372003)+W(5,1077763913,1071302707,-1123596042,1027553578)+W(6,1048327612,-1098271754,-1088377514,-1084489503)+W(7,1027311380,-1115760458,1018207462,-1115566688)+W(8,-1079225367,-1087139921,1042626102,1025357528)+W(9,1015118770,-1101224844,-1106150830,1036291830)+W(10,-1105072819,1032466828,1054676844,-1105452167)+W(11,-1079350028,-1090077553,1053993534,-1115160051);WS(-1083527351,-1082119000); +sum1=W(0,1025283773,-1100516229,-1103907601,1054198743)+W(1,-1139734483,-1115248201,-1132057884,1028453762)+W(2,-1097545679,1048327710,-1114897689,1021031566)+W(3,1024000280,-1124447466,-1096840081,1054350616)+W(4,-1109407791,-1115380998,-1117776915,1027818609)+W(5,-1088298777,1057412078,-1112548849,-1139302503)+W(6,994019357,1030853236,-1090997910,1059405315)+W(7,-1107996896,1029448614,-1146975260,-1120656758)+W(8,-1097629690,1052404744,1035903152,-1119316016)+W(9,1021506300,1023329542,-1102673054,1051692752)+W(10,-1110888465,1026998601,1016847260,-1111423375)+W(11,-1097673748,1047886934,1034953432,-1149960989);sum2=W(0,1023717076,1034248479,-1110594365,-1113079527)+W(1,1030579691,999456782,996584188,-1120794590)+W(2,1045315954,-1094151830,-1113958061,1021526858)+W(3,-1122858228,1037241484,-1111180041,-1064957365)+W(4,-1106054130,1018369486,1005163886,-1124781820)+W(5,-1088752945,-1066051811,-1113733983,1031457177)+W(6,1025356913,-1115274025,-1100621689,1081496726)+W(7,1049150725,-1112407773,-1118691920,1026099362)+W(8,1052626156,1084041658,1032870315,1022214782)+W(9,1028885707,-1121079636,-1114153113,1034711477)+W(10,1042989109,-1108284893,-1114207359,1010502519)+W(11,1038857859,-1115018893,-1106741724,1023330420);WS(1031453552,-1108810221); +sum1=W(0,-1122540068,-1106571135,-1105389195,1051764564)+W(1,-1121040220,-1136080166,-1141490084,1028200745)+W(2,1023785053,-1104087736,1027661528,1023137883)+W(3,-1132153597,-1106394603,1041720002,1055195957)+W(4,-1111907522,-1123745267,1029503994,1029495448)+W(5,-1089108304,-1096098616,1031937892,1034024448)+W(6,-1126370513,-1118016922,1047749927,1047204316)+W(7,-1112974291,-1121356173,-1127727061,1043712879)+W(8,-1092241143,1028938666,1025162247,1028910871)+W(9,-1132743443,1035505061,998106632,1043190746)+W(10,-1152510101,-1121641711,1024122485,1041979953)+W(11,-1098695505,1039644831,1002213552,1025100697);sum2=W(0,1032316109,-1117365450,1028239450,-1106184057)+W(1,1039709205,-1127567978,-1122133197,1033736971)+W(2,-1104139010,1045998485,-1126266788,1029398164)+W(3,1021061413,-1117276879,-1090538079,-1087751568)+W(4,1056538813,-1106793212,-1122180337,1009179554)+W(5,1022309577,1065712953,-1098763613,1016414657)+W(6,-1115376331,1034450077,-1125496737,-1100319643)+W(7,1017435581,1032114232,-1123716599,-1100616286)+W(8,1059658657,-1100023584,1022563437,-1113653553)+W(9,1008734994,-1130550593,1014965154,-1115246006)+W(10,980175008,1034308617,-1144451812,-1102305630)+W(11,1053491799,-1107982835,-1103966134,1020870093);WS(1060627383,-1111244297); +sum1=W(0,-1124372048,1041984816,-1098607926,1048999428)+W(1,-1110297584,1037179887,-1124233202,1023856878)+W(2,-1097555068,1050454749,-1119853981,-1124350564)+W(3,-1115057922,1037843884,-1092180401,1057072683)+W(4,-1100337986,1037306108,-1126359548,1013283185)+W(5,1035134080,1037566628,-1117600845,-1180500637)+W(6,-1135390133,-1106598024,1055432750,-1088869991)+W(7,1045634091,-1107300041,999175032,-1109047521)+W(8,1050330552,-1097603878,1040799043,-1132131255)+W(9,-1137033126,-1108189319,1046692025,-1106138715)+W(10,-1129123036,-1126029544,-1120904377,-1127664786)+W(11,1039361415,-1115643873,1042168959,-1132202938);sum2=W(0,1027553654,-1105419467,-1141314538,1051401064)+W(1,1061407816,-1086513034,-1128416633,1035214610)+W(2,992160749,-1098506313,1048701957,1023990179)+W(3,-1120268362,-1102082588,1039698771,1041311911)+W(4,1065441970,-1083801169,1026192109,1034096310)+W(5,1028842291,1044707561,-1108357660,1027929117)+W(6,1010812163,-1109637676,-1128101012,1040877432)+W(7,-1080219839,1058347144,-1133939099,1042926233)+W(8,-1110346070,-1107620104,-1089748519,1054974548)+W(9,1033310247,-1103557522,1041169016,1044637450)+W(10,-1106511250,1012370076,1007338654,1039202903)+W(11,-1150310139,-1101325278,-1094091750,1054706164);WS(1037089208,-1117319375); +sum1=W(0,-1117307261,-1127081515,-1090315640,1055484319)+W(1,1019801962,-1140393804,-1109658215,1037266337)+W(2,-1103803502,1036834781,-1121027890,-1122236391)+W(3,-1104716662,1045840649,-1108965493,1059715066)+W(4,-1120952094,1007521585,-1095157370,1048384396)+W(5,-1089739445,1050929076,-1115632913,-1115666157)+W(6,-1115283233,1042005149,-1098438340,1059599591)+W(7,-1115851136,1038771059,-1113906562,1026318614)+W(8,-1090508193,1050537744,1036887192,-1114842616)+W(9,-1127634429,1035073906,-1096110967,1039184033)+W(10,-1109698481,1040209394,-1150522598,-1129730364)+W(11,-1090097982,1056916499,994450682,1023772594);sum2=W(0,-1096641595,1051991389,-1107135642,-1120991144)+W(1,-1123228782,-1119770484,-1086741683,1059199896)+W(2,1044105651,1025236133,1032269711,1020415755)+W(3,-1073585699,1069582799,1057042277,-1123268190)+W(4,-1116194138,-1119862022,-1071753138,1070628328)+W(5,1065961920,-1098135951,-1144560253,1033682735)+W(6,-1078410756,1067042424,1057516905,1032298014)+W(7,1026966393,-1113740644,-1096289506,1055331220)+W(8,-1098611055,-1106950583,-1155415556,1022995083)+W(9,-1145261363,1015112751,1043415065,1007537613)+W(10,992611856,-1144895945,997353903,1024293693)+W(11,-1101981251,1025642916,1011854094,-1130196038);WS(-1089262391,1050517969); +sum1=W(0,-1112721887,956356282,1041136081,-1112851037)+W(1,-1118798326,1033047322,1040766980,1032255106)+W(2,-1099047838,-1136806893,1044101949,-1110781188)+W(3,-1116916633,-1115255965,1050954387,1047658201)+W(4,-1099177336,1022949658,-1109323658,1053521294)+W(5,-1090918435,-1090498606,1048722524,984126311)+W(6,1043853249,-1109293354,1049475859,-1111100085)+W(7,1044026608,-1111349460,-1102481809,1024224759)+W(8,1046323061,-1101889105,-1109421665,-1151794972)+W(9,1025978335,1036451442,-1129023222,-1112184834)+W(10,1044252857,-1140137768,-1134508350,998852344)+W(11,-1126452038,1037224108,-1113020120,-1119083507);sum2=W(0,-1120544497,-1104964203,1056285145,-1109256198)+W(1,-1107706742,1033408182,1042905493,-1097077111)+W(2,-1118581415,1026029661,1025674690,-1118988963)+W(3,1045262161,-1098230931,-1079914544,1056552993)+W(4,-1103396776,1021102038,-1104438232,1057982485)+W(5,1057557770,-1104081201,1048351556,-1136298684)+W(6,1023630957,-1106247773,1048964135,-1114436673)+W(7,1018818866,-1112938187,-1122372280,1011970003)+W(8,1020547274,1033190701,-1103728916,1034200267)+W(9,1027866949,1026340389,-1113753028,-1107460568)+W(10,1046941904,-1117493164,-1121491826,1016978228)+W(11,1034078959,1034442922,-1106194166,-1172844144);WS(1055467886,-1126093527); +sum1=W(0,-1115675946,1037777366,1043818615,-1096353162)+W(1,-1150025924,1035905869,1039731987,-1126460340)+W(2,-1103677379,1012406341,1031349769,-1103947080)+W(3,-1108949528,-1145838757,1060367897,-1088026493)+W(4,1034695514,1034985426,1014043817,1049783617)+W(5,-1102044139,-1095567535,1044285022,-1129716323)+W(6,1025589529,991251120,-1109258124,1051881528)+W(7,1011738461,-1107675487,-1102050167,1042727635)+W(8,1049311757,-1095440907,-1115570324,1042590402)+W(9,1035820699,-1123043835,-1116399889,1032817677)+W(10,1040150333,-1104125432,-1114599603,1024161077)+W(11,1046137806,-1116994158,-1110796915,-1140552997);sum2=W(0,-1115939175,-1111463085,1026058510,1015189774)+W(1,-1116961377,1003109525,1042939513,1009748958)+W(2,-1101036999,1048391804,1019493983,-1128500291)+W(3,-1106984126,-1104760450,1046231331,-1101164712)+W(4,1013441892,-1127287103,1036071940,1026404786)+W(5,1060091622,1059732347,-1113485706,1036806652)+W(6,-1133154938,1042746589,-1109115274,-1090421446)+W(7,-1102245299,-1110906499,-1110872047,1018643239)+W(8,1042116887,-1092755101,-1104832958,1042929180)+W(9,1038271101,1024219237,-1104891113,1018386748)+W(10,1043357489,-1108912836,-1124388167,-1107044825)+W(11,-1137025366,-1112446842,-1123717753,1034520620);WS(1062208951,1065603754); +sum1=W(0,1032466911,1029341462,1059167044,-1090134924)+W(1,-1133534677,987089513,1012820793,1027274819)+W(2,1052950767,-1094303727,1027990706,1032570772)+W(3,1029562264,997585115,1057349364,-1085543304)+W(4,1035990447,-1136982833,1020285479,1040141401)+W(5,-1108524682,-1080037127,1037410929,-1125543221)+W(6,993753125,1032063722,1049874906,-1095616607)+W(7,1039846496,1015158861,1033268866,-1153074023)+W(8,1048703978,-1112675170,1023735025,-1145342854)+W(9,-1131051261,1015103815,1050186639,-1111683969)+W(10,1040888889,1031358985,1028903855,1040294280)+W(11,1053103700,-1091636059,-1118753424,1022936933);sum2=W(0,1035386648,1042887622,-1086410483,-1090258329)+W(1,1060158548,-1113981975,1023547272,-1099060438)+W(2,1053956416,-1112148135,1050315819,-1099847621)+W(3,1025878508,-1099619867,-1094814183,-1093316197)+W(4,1046080958,1046524888,1026832668,-1099104088)+W(5,1069089225,1060781490,-1103190742,-1112424275)+W(6,1029828312,1048769602,1044213412,-1091192206)+W(7,-1105160931,1051146364,-1098240729,-1121505868)+W(8,1035342184,-1105713821,-1084784918,1019461112)+W(9,1044150428,1040524432,1040447750,-1089411157)+W(10,1058372334,1028619520,-1103643200,-1115369075)+W(11,1049544904,1058550641,-1080579858,1040133188);WS(-1078970012,-1070975772); +sum1=W(0,1023443287,-1111813336,-1095332548,1048282532)+W(1,1036630695,999582566,1008154783,1034628686)+W(2,-1098370186,1052880922,-1109395910,-1140663171)+W(3,1008498119,1020510238,-1091304148,1054365856)+W(4,1031904252,-1128098380,1032996598,-1119594955)+W(5,-1097391342,1065196819,-1105409007,1030941172)+W(6,-1130007992,1037186855,-1088889903,1037830473)+W(7,1022933044,1003729918,1026985054,-1129455456)+W(8,-1093273302,1040256647,1030320779,-1138808617)+W(9,1001505728,1024916861,-1097878954,1042516535)+W(10,-1131972409,1018809669,1027285064,-1118416824)+W(11,-1097408559,1044458956,1037289397,1005961310);sum2=W(0,-1114009537,1019032853,1024640816,1029944441)+W(1,-1146945026,-1136399129,1035366037,-1143037026)+W(2,-1101234014,-1105571142,1031686749,1018164069)+W(3,-1111463643,-1122373240,1068131945,1044188353)+W(4,-1128619453,-1125359481,-1119334122,1056620469)+W(5,1075463933,-1093783941,1046426762,999713778)+W(6,-1132366661,-1103744316,-1075751794,1050699227)+W(7,-1109652943,-1123073190,1001109746,1002774938)+W(8,-1072865378,-1098127223,-1131952529,1019524751)+W(9,1035022899,-1102405348,1052446989,1028903402)+W(10,-1123943246,983357578,-1112054465,1046894720)+W(11,1019415611,-1119380340,1017598049,1013611461);WS(-1137905088,-1096938393); +sum1=W(0,-1127951952,-1116133184,-1092624022,1045295113)+W(1,1023908704,1031880695,-1139830244,1040763803)+W(2,-1104553656,1046745657,-1103252327,1040451684)+W(3,-1108742721,1041221580,-1090149133,1057147883)+W(4,-1103732914,1026434167,1019792636,1009683312)+W(5,1044078592,-1112574564,-1127338650,1007135764)+W(6,1018370522,-1107181880,1058802794,-1085568476)+W(7,1040869579,1014113348,1020799581,1002965001)+W(8,1043495791,-1103617227,991652540,-1125537591)+W(9,1021418002,1022849180,1033578226,1032014262)+W(10,1013121207,1016284007,-1148599498,1039287108)+W(11,-1113073030,1022418564,1011288682,-1116579933);sum2=W(0,1036469548,-1097965159,-1116680345,1001756270)+W(1,1032969412,-1131471357,1017461301,-1101551098)+W(2,-1125992347,-1115644020,-1124365977,1016380025)+W(3,1017339130,-1094477168,1058922542,1035448965)+W(4,1040541302,1001720584,-1095997080,1035631286)+W(5,-1103956246,-1105032669,-1112710338,-1115585175)+W(6,-1099654066,1054988432,1040393300,1039533461)+W(7,1017600743,1001178742,-1105423964,1047389393)+W(8,1040203374,-1122662741,-1114085496,1001141734)+W(9,-1113359567,1041958533,-1108890296,-1130070269)+W(10,-1134082186,1010209588,-1131580992,1043362318)+W(11,1024609216,1025676040,1015920174,-1122393401);WS(1017525984,1039916017); +sum1=W(0,-1124853567,1018048624,-1095739637,1045916039)+W(1,1035770156,1019449355,-1147061122,-1127291978)+W(2,-1104996150,1043181303,1038596810,-1118699785)+W(3,-1129462517,1049183858,-1085471393,1054258797)+W(4,1048116160,1018729693,-1119594613,1032566282)+W(5,-1090223247,1054999864,1024906308,-1125493497)+W(6,999306018,1036307723,-1104470177,-1108082389)+W(7,1035021201,-1111613764,-1156505185,-1150114695)+W(8,-1105492077,1055713893,-1114305018,1013642059)+W(9,1012193026,-1116656134,-1109848430,-1134406033)+W(10,1014226964,-1117195563,1010192066,-1111959392)+W(11,-1107232129,1049351719,-1132413284,990662981);sum2=W(0,1033095635,-1113611213,-1120605005,1010827478)+W(1,-1096460028,992544217,-1123818427,1038354785)+W(2,1043017802,1005632845,-1090567932,1043858115)+W(3,1023960168,-1136308834,1016597499,1067061797)+W(4,-1078682340,1041505996,-1115456886,1031365710)+W(5,-1105318511,1065783254,-1094955795,-1104546945)+W(6,-1130014725,-1121052824,1032279133,1033387493)+W(7,-1114814318,-1114466677,-1134763238,1037262635)+W(8,-1129541437,1024758296,994121897,-1115137122)+W(9,1020936831,-1129095405,1028982810,-1141733133)+W(10,-1126300988,1007094454,1030713030,1030934712)+W(11,969324748,973320358,-1148320949,-1122716507);WS(1033221560,1063777383); +sum1=W(0,1019126833,-1112638616,1057738402,-1088696201)+W(1,1044063732,-1130166589,1022703059,-1107233655)+W(2,1049316970,-1093677291,1018619290,-1127677637)+W(3,1034317754,-1107419652,1057780266,-1091493000)+W(4,1042363102,-1141893947,-1141147507,1017313945)+W(5,1039925560,-1105678958,-1123751101,-1141892011)+W(6,1023815261,1030431247,-1101232178,1054033952)+W(7,-1103422471,1028589441,-1145478905,1043218964)+W(8,-1097249286,1050643572,-1099574259,1032480102)+W(9,-1139797991,1030899327,-1105363093,1039373871)+W(10,-1109462943,1000558881,1017044691,1042038278)+W(11,-1097041200,1044902925,-1143343447,-1115509735);sum2=W(0,-1130982538,-1106875761,1056618334,1055977286)+W(1,-1102508839,1020425242,1021127838,1011019608)+W(2,1055137831,1058761027,-1115387544,1013848532)+W(3,1013698904,1024572751,1048771047,-1103617496)+W(4,-1128394642,1016018634,-1227267307,1039986653)+W(5,-1073860127,-1072531400,1043687089,-1112657573)+W(6,-1180063220,-1113103478,-1108123535,1052255088)+W(7,-1126700500,1035781641,-1130392938,-1104759550)+W(8,1059126644,1063802283,-1109991236,-1125248586)+W(9,-1129014326,1035543741,1045481337,1048895081)+W(10,1031917163,-1126407949,1032270489,-1129087757)+W(11,1042704754,1016319978,-1121934766,1030839801);WS(-1091503470,-1126838795); +sum1=W(0,-1124121237,-1134568843,1047693172,-1109412515)+W(1,-1129997061,1024589216,-1113414670,-1126036384)+W(2,1049117760,-1103447906,1034526751,-1113770234)+W(3,1028321829,1033159265,-1105247938,-1096437464)+W(4,-1143270742,1036105485,-1111356688,1037814911)+W(5,1058889082,-1098797565,1022658271,-1114645460)+W(6,1026686479,1031580097,1012762455,-1104719461)+W(7,-1109175079,1023714995,-1121133649,1040854417)+W(8,-1120516448,-1106636212,1042645116,-1138248951)+W(9,-1120913068,-1106928812,1049438209,-1129886751)+W(10,-1104071908,-1132081196,-1126384695,1027944427)+W(11,1040171928,-1106734009,1012750451,-1145462266);sum2=W(0,-1121971015,1025966975,-1127561691,1032121603)+W(1,-1118316871,-1147835451,-1109269766,1042653975)+W(2,1038662008,-1104797770,1018661176,1023052754)+W(3,-1096046215,1058579369,-1095336395,1041625968)+W(4,-1131103951,-1129857431,-1096349825,1055073186)+W(5,-1156170871,-1098327149,1035437895,-1114991229)+W(6,-1104467071,1043843774,1054347264,-1090818470)+W(7,1042639369,1011784142,-1105457821,1043492169)+W(8,-1116732629,1028261711,-1115472379,-1157273063)+W(9,-1114558576,-1138844670,1043300107,-1117277405)+W(10,-1115061521,1024244091,-1113812495,1035958317)+W(11,1025184897,-1130419167,-1130646919,-1148362739);WS(1065968028,1020949470); +sum1=W(0,1032158503,1043191673,1050691771,-1089572661)+W(1,983294118,1033006978,1018701500,1020082981)+W(2,1043953282,-1139338281,1041437600,-1139648989)+W(3,1028916776,999481917,1047062836,-1091936976)+W(4,1042367115,1033705422,1031923218,1033906881)+W(5,1032996498,-1081715803,1040306653,-1132542121)+W(6,-1143490705,-1123072324,1057457238,-1087112685)+W(7,1019100064,-1138694873,1005807263,1012896153)+W(8,1057445286,-1088032573,-1123572193,1033839136)+W(9,1028568398,1015001550,1051530049,-1100585253)+W(10,1039280729,1027376729,1026731038,1035245559)+W(11,1057446979,-1095410205,-1104642968,1015844228);sum2=W(0,-1107158830,-1098284578,1059620359,1059101624)+W(1,-1080819081,1041045600,-1114179967,1050997929)+W(2,-1120628180,-1084072333,1055292451,1041809552)+W(3,-1106205598,1032837846,1056621385,1033838752)+W(4,-1084530179,-1150759871,-1112529879,-1138556160)+W(5,1064698181,1049137220,-1118657190,1036987884)+W(6,1036191348,-1103494095,1049117565,-1100194061)+W(7,1035375516,1040790470,1045048740,1033058370)+W(8,-1087565422,-1096659207,1055648971,-1098721116)+W(9,-1112261511,-1109765233,1050635491,1042760064)+W(10,-1101810418,1028926760,1045813672,1040601336)+W(11,-1087363324,-1087988644,1059720072,-1118399816);WS(-1079370588,-1069938997); +sum1=W(0,-1107111607,1024046068,1034755057,-1106911318)+W(1,1032333322,-1122522177,1031876694,1040468568)+W(2,1048995971,-1106422470,1043602212,-1133546645)+W(3,-1108546779,-1110778478,1044693184,-1092550445)+W(4,-1124221431,-1123999146,1007409349,1041967908)+W(5,1056322870,-1089848952,1044063648,-1129245296)+W(6,-1119937056,1037532265,992363881,-1115839591)+W(7,-1137125241,-1121719236,-1110402417,1027170100)+W(8,-1123931633,-1098485404,1015794334,1009488187)+W(9,1034313646,1028424065,1041273350,1027494176)+W(10,1038675968,-1146748727,-1115195974,1030920188)+W(11,1034999584,-1101830589,1024639630,-1115284904);sum2=W(0,-1116010697,1044972838,-1107525170,1025111869)+W(1,-1115770744,1027404867,1039856206,-1094195694)+W(2,1054041965,-1105218154,1021276689,-1122132060)+W(3,1025692273,1041658757,-1095593913,1047241736)+W(4,-1113081166,1036997767,1047723216,-1090167008)+W(5,1054432792,-1103340827,1030984707,-1109230755)+W(6,1054500142,-1087657974,1048962216,-1105033641)+W(7,1026520309,1000189578,1045538686,-1114739465)+W(8,-1099510609,1043141319,1008623973,949401483)+W(9,1020883249,-1103808398,1041852115,-1104502432)+W(10,1031142833,-1121181330,1037455508,1025495534)+W(11,-1112321007,1020729805,1034321699,989367833);WS(1051966318,-1113875142); +sum1=W(0,1035883793,1040145278,1051696565,-1091560996)+W(1,-1133003627,-1126824689,-1111332346,-1135399329)+W(2,1051177307,-1096861164,-1117751383,1039745286)+W(3,1045917727,1017502534,1054251573,-1091248610)+W(4,-1178468754,1020593891,1006041029,-1096989371)+W(5,1061428120,-1087158964,-1126263439,1008594943)+W(6,-1129901007,1043615094,1037934795,-1098884432)+W(7,-1106662601,1037849734,1042663274,1025318012)+W(8,1050890887,-1096301045,1017933485,1035118155)+W(9,-1119690564,-1113005508,1046007992,-1093706893)+W(10,1038615540,-1114145271,1014471632,1043398529)+W(11,1049249377,-1093100168,-1116546293,1028529816);sum2=W(0,-1120038729,995641288,1035481768,1011267102)+W(1,1042749492,1026093812,1032134121,1034430176)+W(2,-1099098436,-1099374838,1055985885,-1113501317)+W(3,-1112337284,1011533369,960227969,1055781369)+W(4,1067101038,-1095011910,1014623636,1032554184)+W(5,-1122840036,1046041384,1069533386,-1086401299)+W(6,1015804972,-1114631943,-1123247827,1055178264)+W(7,1065618150,-1079450114,-1111055788,1037430467)+W(8,-1115890560,-1124103196,1058921177,-1075689828)+W(9,1025605092,1022278663,1022436109,1039303021)+W(10,-1106092627,-1082339747,-1118260382,1020696197)+W(11,1010081074,-1116158530,-1118372702,-1095588850);WS(-1087762743,-1114043214); +sum1=W(0,1028903325,1040067739,1045936105,-1095653187)+W(1,-1122706133,1029496147,-1111481047,981566559)+W(2,1050679259,-1096161947,1026181394,-1149217596)+W(3,1010874850,1032756947,1052053924,-1090950614)+W(4,1034645023,-1132850610,-1117223539,-1130847267)+W(5,1055533279,-1084280212,1030922562,-1154701224)+W(6,-1114811697,-1123313460,1059392176,-1097768267)+W(7,1030340896,-1113406339,1027957028,-1113871531)+W(8,1053658934,1005713692,-1102292436,1020850850)+W(9,-1115120063,-1126050567,1039338221,-1120312930)+W(10,-1107839810,1017761874,1025677743,-1113266015)+W(11,1051823712,-1118568631,-1112577800,-1117302546);sum2=W(0,1001016005,-1150454109,1001531747,983352173)+W(1,-1106746798,-1157019725,-1125241033,-1111980552)+W(2,1031575403,-1103460210,1036252996,1023495862)+W(3,1018218852,1033028659,1016765132,-1103428024)+W(4,-1128273041,1033057508,-1111720092,1037513337)+W(5,-1085543392,-1076627395,1046375720,-1112606370)+W(6,1015413875,-1109924763,1053354837,1074369634)+W(7,1055587240,1019967806,-1140722987,-1144232926)+W(8,1054900052,1051272122,-1094917738,-1107285947)+W(9,-1138333196,-1117260807,1041131548,-1098379064)+W(10,-1106193524,1012881631,1010568725,-1113652225)+W(11,1045881209,-1098914955,-1098562564,1031041657);WS(-1090517687,-1095444575); +sum1=W(0,1025742446,1032739299,1054789967,-1095546301)+W(1,1033023507,1028563508,-1111454559,-1106175885)+W(2,1031326631,-1101847659,-1107099097,-1117676152)+W(3,1040962578,-1110724347,1052551894,-1090925684)+W(4,1036045063,1036888990,1035513890,-1118213794)+W(5,1059778428,-1089262225,1035395209,1007580971)+W(6,1025779251,-1103218657,1045793474,-1096439373)+W(7,-1101529212,949923192,1041617005,1040368314)+W(8,1051667296,-1099734269,1050132438,1037985265)+W(9,-1106922364,-1105137317,1040121301,-1104705805)+W(10,-1102593253,-1113513373,1024699903,1024907982)+W(11,1052247674,-1097282993,1016797696,1026673059);sum2=W(0,1052208474,-1095438834,1040952518,-1101013864)+W(1,1045777263,-1125550479,1035064858,-1104348375)+W(2,-1095663473,1048824145,-1099869349,-1127115193)+W(3,1064043431,-1079843968,1060639651,-1097227129)+W(4,1049789703,1024044553,1055780907,-1084432555)+W(5,1054823629,-1105218176,-1118379111,972648308)+W(6,1048070172,-1106077690,-1098542607,1048082838)+W(7,-1102784042,1021849499,1057138231,-1086965748)+W(8,1057295667,-1106201667,1043327775,1016298873)+W(9,-1100953655,1048708391,-1095587456,1042233875)+W(10,-1107731485,-1116706874,1042120650,-1106942577)+W(11,1035260440,-1136871967,1006771796,1030896448);WS(-1115614648,1042425791); +sum1=W(0,-1120207204,-1115327070,-1093340989,1053481388)+W(1,1030984860,-1113874973,-1124027509,1016926292)+W(2,-1096731140,1053311332,-1116407641,1010793530)+W(3,-1144413692,1038910502,-1096554678,1057006919)+W(4,1038600290,-1116271283,-1105701711,1037845356)+W(5,-1085064420,1049566369,1043585442,-1114795809)+W(6,1014568102,1042236823,-1100005974,1056376458)+W(7,1018535375,992031960,-1120774251,-1105850383)+W(8,-1098496607,1048579325,-1122768840,-1130485552)+W(9,1029691462,-1134596907,-1135406214,1042582346)+W(10,-1120431498,1029193328,-1119274774,-1117126533)+W(11,-1098152617,1043887136,1035562443,-1140222054);sum2=W(0,-1127240204,-1079712608,1066527571,1049757184)+W(1,-1122509441,-1120167031,1024332524,-1082891577)+W(2,1063276166,1025750476,-1127423195,976948665)+W(3,-1145474239,-1081879450,1065092416,1045572932)+W(4,-1127801782,-1123809997,-1111478947,1047818786)+W(5,1033988518,-1093152038,-1126799575,1030959654)+W(6,1029335642,1066272635,-1081647719,-1129453741)+W(7,1033523902,995040830,-1112394176,1064292926)+W(8,-1085935960,-1107360776,-1109456127,1026103880)+W(9,1042612281,1048742105,-1090025738,1042389166)+W(10,1029374360,-1116538748,-1152251822,1063028070)+W(11,-1088819358,-1095668919,-1163717821,1033003323);WS(1005558656,-1134386388); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0][0] = HOOKED_texOff(vec2(-3.0, -2.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-3.0, -1.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-3.0, 0.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-3.0, 1.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-3.0, 2.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-3.0, 3.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-2.0, -2.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-2.0, -1.0)).x; +samples[2][0] = HOOKED_texOff(vec2(-2.0, 0.0)).x; +samples[2][1] = HOOKED_texOff(vec2(-2.0, 1.0)).x; +samples[2][2] = HOOKED_texOff(vec2(-2.0, 2.0)).x; +samples[2][3] = HOOKED_texOff(vec2(-2.0, 3.0)).x; +samples[3][0] = HOOKED_texOff(vec2(-1.0, -2.0)).x; +samples[3][1] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[3][2] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[3][3] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[4][0] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[4][1] = HOOKED_texOff(vec2(-1.0, 3.0)).x; +samples[4][2] = HOOKED_texOff(vec2(0.0, -2.0)).x; +samples[4][3] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[5][0] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[5][1] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[5][2] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[5][3] = HOOKED_texOff(vec2(0.0, 3.0)).x; +samples[6][0] = HOOKED_texOff(vec2(1.0, -2.0)).x; +samples[6][1] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[6][2] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[6][3] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[7][0] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[7][1] = HOOKED_texOff(vec2(1.0, 3.0)).x; +samples[7][2] = HOOKED_texOff(vec2(2.0, -2.0)).x; +samples[7][3] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[8][0] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[8][1] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[8][2] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[8][3] = HOOKED_texOff(vec2(2.0, 3.0)).x; +samples[9][0] = HOOKED_texOff(vec2(3.0, -2.0)).x; +samples[9][1] = HOOKED_texOff(vec2(3.0, -1.0)).x; +samples[9][2] = HOOKED_texOff(vec2(3.0, 0.0)).x; +samples[9][3] = HOOKED_texOff(vec2(3.0, 1.0)).x; +samples[10][0] = HOOKED_texOff(vec2(3.0, 2.0)).x; +samples[10][1] = HOOKED_texOff(vec2(3.0, 3.0)).x; +samples[10][2] = HOOKED_texOff(vec2(4.0, -2.0)).x; +samples[10][3] = HOOKED_texOff(vec2(4.0, -1.0)).x; +samples[11][0] = HOOKED_texOff(vec2(4.0, 0.0)).x; +samples[11][1] = HOOKED_texOff(vec2(4.0, 1.0)).x; +samples[11][2] = HOOKED_texOff(vec2(4.0, 2.0)).x; +samples[11][3] = HOOKED_texOff(vec2(4.0, 3.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns128, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns128, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1138315554,-1151849881,-1130100551,-1139428474)+W(1,-1115186183,1024054031,-1123693866,-1134121575)+W(2,1017020226,-1120184142,-1113913797,-1137890034)+W(3,-1105019328,1030136834,-1119041199,1009291685)+W(4,1054031418,1052033568,1057266643,1050615732)+W(5,1060278709,1051842684,1049323809,1050624038)+W(6,-1098719688,-1094289569,-1094215666,-1084764287)+W(7,-1093503073,-1122358095,-1104408867,-1101060057)+W(8,-1110814528,1026313661,-1136459684,1037955767)+W(9,-1125342359,-1118592012,-1141919603,-1117980571)+W(10,-1144117236,1029415347,-1122295896,-1158862002)+W(11,-1115484761,1027215228,-1148196514,-1131405947);sum2=W(0,1011608699,1021515189,-1133688887,-1109181339)+W(1,1032724543,-1120491130,997621755,1020760181)+W(2,-1112090344,1032910614,-1111235489,1050015381)+W(3,1041065097,-1106592726,-1112521193,1032648390)+W(4,1035039469,-1112298310,1068933685,1079505355)+W(5,-1082386736,-1067816278,-1094139890,-1123411157)+W(6,1018826733,-1103038162,1035541017,-1096237270)+W(7,1051919390,-1101133158,-1120644044,1029904493)+W(8,-1130070276,1030536589,1002846254,1047170650)+W(9,1012706615,-1108914015,1011888367,-1115273665)+W(10,-1126912052,1027816837,-1119314146,-1132054353)+W(11,1004049262,1017068057,1020965593,1017829425);WS(1038714296,1044827315); +sum1=W(0,1008773074,1000000044,-1125197471,-1155069097)+W(1,-1128457331,-1147450330,-1142834606,-1131672268)+W(2,-1137155124,-1139148008,-1110040196,-1114984084)+W(3,-1117135435,1038803511,-1110360429,1046900069)+W(4,1058392080,1051571686,1058043460,1059856605)+W(5,1053821137,1050763009,1046500044,1049636107)+W(6,-1100726684,-1106613964,-1093356205,-1087655353)+W(7,-1093486798,-1088451200,-1109846237,-1093848946)+W(8,-1097060854,1034039029,-1112523275,-1137125990)+W(9,-1134047198,-1131894321,1021083253,-1108292068)+W(10,1034472653,-1136883834,1033872898,-1122772178)+W(11,-1125370043,1027534056,-1126166913,1020331091);sum2=W(0,-1123255245,982126402,1020504368,1036976721)+W(1,-1113656730,-1157600449,-1129338356,1032297389)+W(2,-1116671780,-1111301077,1011773496,-1102830064)+W(3,1031803093,1045043848,1026389126,1022832316)+W(4,1046375724,1053914306,1013495848,-1106352300)+W(5,-1103067006,-1094946683,1036977493,-1098417421)+W(6,1061532718,1066141278,1064263836,1055449836)+W(7,-1076699072,-1085904680,-1099822488,-1092845936)+W(8,998291536,1041257894,1023442398,-1101238723)+W(9,-1103198508,1048924521,-1109968297,1053328593)+W(10,-1094346395,-1108898352,1023084860,1037821947)+W(11,-1123876988,1041381351,-1109391389,1023206676);WS(-1087781687,-1134030789); +sum1=W(0,1028179002,1037437606,-1106850597,1040743460)+W(1,-1123964671,-1122790273,1036030878,1027799500)+W(2,-1113846601,-1129634048,1045066941,-1108576055)+W(3,1030205873,-1117192467,1027547489,-1110675758)+W(4,-1090428884,-1098510574,-1095161561,-1094444002)+W(5,-1095134094,-1098192922,-1101066654,-1095206484)+W(6,1056064759,1049319247,1048732210,1054487227)+W(7,1044300425,1055338520,1034894336,1053272331)+W(8,-1116809458,-1105760812,1007721067,1050640540)+W(9,1040160031,-1106372902,-1109703824,-1138309939)+W(10,-1123784128,1016685513,-1105661778,1048222150)+W(11,-1110013906,1033480951,-1112122819,1033810456);sum2=W(0,1023697539,-1134698244,1018187921,1024534132)+W(1,-1145140771,-1142625275,-1141296989,1007645751)+W(2,-1119401943,1013558867,-1119659280,1038666215)+W(3,-1120396841,1035154544,-1131590401,1021197862)+W(4,1010071413,-1112961274,1019163177,-1097296472)+W(5,1033089456,-1105855221,-1156341795,-1120357988)+W(6,1025267901,1033970227,1048742053,1082848284)+W(7,1060700209,-1115995862,1035612397,-1123714371)+W(8,988018625,-1116217767,-1103390691,-1064739318)+W(9,-1086947071,1042818438,-1109434149,1029308077)+W(10,-1122026299,1005039212,-1115786374,1042066180)+W(11,1017803659,-1115628759,-1150181080,1011442501);WS(1060770743,-1108197568); +sum1=W(0,1016886775,-1160198547,1015246637,-1139668038)+W(1,1034731136,1019206597,-1123983389,-1115649126)+W(2,1029069588,1038531041,1041390628,1022402527)+W(3,-1103954605,-1112398730,-1117714338,1039312430)+W(4,-1095627128,-1096395039,-1086831062,1057717017)+W(5,1056693263,1053908426,1043180606,1038174992)+W(6,1046558478,1048524254,1058409012,1050284011)+W(7,-1083755424,-1092005688,-1101033824,-1131529899)+W(8,-1146067869,-1097778094,-1098986327,-1110221104)+W(9,1042951984,1037994808,1025216609,1000398449)+W(10,1009558662,1033422755,1033638277,1029754521)+W(11,-1119102757,-1130383710,-1114155844,-1129441697);sum2=W(0,-1104188915,1026676440,-1122447814,1024214572)+W(1,1036156927,1039804037,-1140508998,1023379743)+W(2,1041755532,-1099902739,1020538503,-1096783078)+W(3,-1094671115,-1096595186,-1108992818,1023478108)+W(4,1039915367,1048552390,-1105911641,1068731351)+W(5,-1096057439,-1091471401,1033306823,-1096750685)+W(6,1028942726,-1105392496,-1106738713,1066518668)+W(7,-1122053390,-1123632409,1032650381,-1109607147)+W(8,1030445090,-1104867005,-1106850996,-1126700225)+W(9,1025639958,-1113480650,-1115144981,1031767054)+W(10,-1104654601,1033528857,989961401,-1133955554)+W(11,-1153726297,1032072745,-1128986161,1023561226);WS(-1105940700,1068951582); +sum1=W(0,1000087558,1035444041,1016288952,1033866603)+W(1,1023501510,1030903912,-1121882082,-1139243976)+W(2,-1126610867,-1119652358,-1105308514,1025089333)+W(3,-1101500686,1024487034,1036868116,-1137536646)+W(4,1040363554,1048983991,-1129232537,1043404182)+W(5,1050470779,1032787659,1042688239,1051055933)+W(6,-1103531583,-1095183320,1035540828,-1091977028)+W(7,-1098956255,1016827662,-1107477027,-1111432589)+W(8,-1126498674,1041424541,-1116171169,-1108874003)+W(9,-1107291841,-1115835365,1038297635,-1101253029)+W(10,1033586531,1011542187,1018737568,1021129404)+W(11,1033496245,1023594100,1015384473,1034920923);sum2=W(0,-1123978268,-1122059260,-1123592170,1036141312)+W(1,-1111710804,-1127043568,1040694361,-1120657957)+W(2,-1102554320,1044079872,-1093658955,-1094337979)+W(3,1045282706,-1139302445,983065168,-1105233712)+W(4,1043643239,-1111536011,1042723115,1067907418)+W(5,-1118927202,1035940631,1016057395,1027935282)+W(6,1026913323,1056944699,-1093217948,1064662115)+W(7,-1091166584,-1092135065,1041761864,-1104693620)+W(8,1031431539,1037617295,-1103624535,-1090550375)+W(9,-1119161360,-1112133073,1014979737,-1106943303)+W(10,-1112242992,1005844362,-1101249260,1042545272)+W(11,-1111294278,1025042022,1026789959,-1114223884);WS(1061289911,-1074625008); +sum1=W(0,-1118986355,1042690449,1022020251,1032007652)+W(1,1040686510,-1108674269,-1123719572,1033202498)+W(2,1035013222,-1110099132,1048074309,-1101544522)+W(3,-1102744618,1043103143,-1099009366,1038471242)+W(4,1058027688,1047068971,1036127926,1058005973)+W(5,1048070472,1057593649,1043345580,1055515931)+W(6,-1087592511,1013931199,-1088015817,-1099315493)+W(7,-1091144488,-1088950448,1033106140,-1090129177)+W(8,-1107213995,1008030621,1042727509,-1093058723)+W(9,1042938237,1002612916,-1110941900,-1113377491)+W(10,1048036382,-1106703359,1044183504,1029001296)+W(11,-1106075703,1048869669,-1107279296,1042195418);sum2=W(0,1034897388,-1104469346,-1104312342,1033162274)+W(1,1001538203,-1119055011,1036889309,-1122390571)+W(2,1047600068,1074182899,1080728354,1077196082)+W(3,1039546617,-1121476275,-1113609974,-1124909535)+W(4,-1092005485,-1074957140,-1067981267,-1071410100)+W(5,-1101189403,1042351425,-1113906708,1037135096)+W(6,1032211690,-1124075063,-1100127529,-1093339345)+W(7,1036352485,1008083901,1032631324,1002134635)+W(8,1046053217,981988140,1036844207,1030504779)+W(9,1025223671,-1101604075,1034478190,-1113103836)+W(10,-1111289614,990179414,-1123826485,-1109598746)+W(11,1036519612,-1146561467,1017678167,-1132393287);WS(-1106894556,1030995446); +sum1=W(0,1025589699,-1123387156,1028556318,-1139656804)+W(1,980812294,-1128131860,-1137342353,1017797929)+W(2,1033805806,1025291593,-1127599047,-1105750398)+W(3,-1104274718,-1117867836,1018769427,-1114245906)+W(4,1034528997,1054610112,1039781117,1065523109)+W(5,1054896451,1045458038,1040199808,1047692618)+W(6,-1098701288,-1096105008,-1091536615,-1090836572)+W(7,-1097995702,1039238949,-1110811780,1001735913)+W(8,-1119393787,1037953340,-1120434724,-1103173850)+W(9,-1111869411,-1104116474,-1129786002,-1106977725)+W(10,1027839817,-1123546765,1027349522,1022652480)+W(11,-1135075504,-1125284461,-1152753902,-1131064048);sum2=W(0,1030581609,-1110091164,1024868796,-1124528958)+W(1,-1175372351,1022252519,-1123141270,-1123316826)+W(2,-1096073996,-1132437108,1051933742,1042406776)+W(3,-1117745155,-1117509823,-1110977956,1029056744)+W(4,-1104952058,1031847146,1077840619,-1071401906)+W(5,-1108532142,-1107574374,1034777920,1034383482)+W(6,1036583621,1040176294,1056082302,-1080138625)+W(7,1039833458,1041695761,-1119756119,977900031)+W(8,1006888722,-1120421639,-1114613612,1012484405)+W(9,1044393926,-1112420268,1028893644,1027961212)+W(10,1023568502,-1124563800,1026684617,-1114165836)+W(11,-1139194300,1023135287,-1122696127,1034470668);WS(-1094248046,1034739186); +sum1=W(0,-1121641997,-1148807918,-1119896808,-1118546659)+W(1,-1117202258,1027770003,-1121511758,-1114510703)+W(2,1043421097,-1114752489,1040593858,1043491504)+W(3,1033892386,1035924243,1032482905,1031829015)+W(4,-1090462057,-1097763033,-1089339622,-1089142502)+W(5,-1089696734,-1098379668,-1096843609,-1089945727)+W(6,1057979744,1045790578,1054873978,1054724534)+W(7,1056858543,1046524773,1049846778,1056083605)+W(8,1042504017,-1105205440,1029920941,-1114903193)+W(9,-1102740772,1042806872,-1103488653,1031492831)+W(10,1019430629,-1115505835,1008619887,1038945077)+W(11,1025474934,-1148381698,1017864241,1029503362);sum2=W(0,1032629114,1024571549,-1123705993,-1120833813)+W(1,1031286487,-1113289848,1033808184,1035572024)+W(2,-1111104155,1022922994,1036988882,-1104365480)+W(3,1038064580,-1119955010,1018164430,-1144675449)+W(4,-1111175727,1047799465,-1121840686,-1098359864)+W(5,1008715668,-1115327032,1042276675,-1114533548)+W(6,1069180600,1065968459,1066031139,1064223912)+W(7,1062275672,1060225053,1060364945,1057151625)+W(8,-1092657949,-1106624299,1026540087,1044325339)+W(9,1048614780,-1117772151,-1105153406,-1103516228)+W(10,-1081878912,-1085703668,-1080884055,-1079207816)+W(11,-1083548865,-1085294305,-1090372695,-1100806033);WS(-1095016302,1049780935); +sum1=W(0,-1140214663,1008440267,-1137823987,1035221148)+W(1,1007510683,1029727784,-1142229143,1025812851)+W(2,1050711943,-1110792724,1036012635,-1104496021)+W(3,-1145733059,-1109552317,-1115585956,-1142816275)+W(4,1044505338,1051364259,1051977632,1058946996)+W(5,1056967247,1057598839,1050931556,1058283380)+W(6,-1092537964,-1101785640,-1091742968,-1090015552)+W(7,-1090979415,-1088424934,-1096995861,-1095074239)+W(8,-1110639373,1026645590,-1130979716,-1106527650)+W(9,-1146016549,1015167915,1009720606,-1105047309)+W(10,1025322472,1024485132,1018037601,1032762847)+W(11,1010918699,1027572437,-1127055707,1011865435);sum2=W(0,1040969494,1036141535,-1136101349,1015318832)+W(1,-1112220931,-1111621316,1042180910,-1115487487)+W(2,-1087779211,1033693595,-1096934819,1042126031)+W(3,1036377831,1046621966,-1129542795,1052735842)+W(4,1056604611,-1095617275,1057610078,1059711341)+W(5,-1098744628,-1088974739,-1112239718,-1089093989)+W(6,1059045592,1037950807,1059474718,1079595174)+W(7,1065421414,-1079659864,-1077353318,-1076641223)+W(8,-1085730308,1051875566,-1104408796,1011257519)+W(9,-1102027272,-1097874228,-1123714793,-1089345613)+W(10,1035668628,-1110274633,-1106464684,-1106179801)+W(11,1035078820,1045400280,-1122902412,1057832501);WS(-1081166556,-1096725839); +sum1=W(0,-1146977357,-1130642485,1032268722,-1111253552)+W(1,1024786511,1021187873,-1115200917,1021141494)+W(2,-1114510289,-1119269199,1038356317,-1095921640)+W(3,1038758688,-1102108905,-1117501552,1024092394)+W(4,1050030946,1045921361,1039889859,1057711094)+W(5,1053078718,1045805544,1042557010,1052716334)+W(6,-1102646113,-1098664649,1027769520,-1089074675)+W(7,-1098156409,-1106011300,-1102728052,-1107570834)+W(8,-1113153825,992772066,1041426283,-1107182252)+W(9,1043642083,-1131324475,-1148235644,-1153593794)+W(10,-1114582784,1022415207,1025422681,-1098886685)+W(11,1036466489,-1129952762,-1133449046,1012650491);sum2=W(0,-1154116071,-1120032365,1033357218,-1132933754)+W(1,-1165588207,1029048100,-1115144648,1020455541)+W(2,1032309947,1017679770,-1118521489,1020082264)+W(3,-1122971142,1015972752,1021714009,-1134334294)+W(4,-1123962703,1025906643,1007375557,-1114291801)+W(5,-1114360955,1031540723,-1136421576,1014310369)+W(6,-1133231158,-1134787122,-1096414395,1064675801)+W(7,-1097709607,1040110606,-1121524587,-1119507729)+W(8,-1128886461,-1108727038,1020492423,-1080568363)+W(9,-1108104258,-1112615988,-1111963053,1028363593)+W(10,1035599863,1039832482,1035524914,1059399952)+W(11,1040378905,1024318985,1036458899,-1122706022);WS(1058284215,-1100256461); +sum1=W(0,-1136333391,977549609,1023954799,1032458293)+W(1,-1131855793,-1132003829,1014651348,1007647892)+W(2,1042064203,1017583666,-1103445177,1003134525)+W(3,1030077610,1044505715,1034368605,-1109681210)+W(4,1048792691,1037147366,1061193316,1055543997)+W(5,-1089393894,-1102389770,-1126089633,1030932473)+W(6,-1108621703,-1098054746,-1084539629,-1105743629)+W(7,1061657482,-1111653453,1032593324,-1134741175)+W(8,-1107171315,1036542212,1001865121,-1113492892)+W(9,-1095280499,1000070140,-1124982771,1012906393)+W(10,1009105958,-1118222526,1005641493,1001049989)+W(11,-1141919717,1031530183,957669220,-1123915241);sum2=W(0,1025749667,-1112523495,1034709000,1021531102)+W(1,-1129693762,1006685387,-1119027428,-1106459716)+W(2,1018718450,1033569638,-1099586256,-1096388774)+W(3,-1109846828,-1112379914,1008781387,1045287677)+W(4,-1104497483,-1111912018,-1087345020,1061077725)+W(5,1049253485,-1117456886,1038233914,-1135366091)+W(6,-1109821356,1026676021,-1092985416,1065372034)+W(7,1048850468,-1106255761,1013968523,-1138431127)+W(8,1032840840,-1114119398,1018773778,-1129773592)+W(9,-1101038787,1043058397,-1113511705,1037121278)+W(10,1009497507,1017944258,1033599708,-1109427758)+W(11,1029395381,-1106769492,1020319838,-1113647178);WS(1048665454,1062854025); +sum1=W(0,1004974300,1032679478,1041394910,1026224498)+W(1,-1128844481,-1137588617,-1115578718,-1128306202)+W(2,-1140401360,-1099989608,-1108003052,-1103518244)+W(3,1044968661,1040271757,1031459778,-1114933822)+W(4,1040482153,1038119146,1050737065,1054936910)+W(5,-1084409495,-1099872844,-1107158134,1038726400)+W(6,-1107105990,-1094089019,-1084721726,1054691719)+W(7,1057517320,1035416977,1033669936,1032390235)+W(8,-1113947114,1043046180,1044891839,1025601857)+W(9,1022006333,1017193535,1025595521,1023203548)+W(10,1004764812,-1132148363,1022372181,-1113753404)+W(11,1033354242,-1131287582,-1112957780,1012659010);sum2=W(0,-1120028750,-1137390044,1031876652,-1112211314)+W(1,1041988042,-1105672202,1032816067,-1122489809)+W(2,-1116919239,1034599590,-1110926857,1037510574)+W(3,-1091078601,1052042083,-1102117757,1043447553)+W(4,1026537129,-1105861815,-1114848017,1054207178)+W(5,1059021754,-1104155840,1047757772,-1115066040)+W(6,1032246372,-1095438265,-1093245727,1062401065)+W(7,-1115099719,-1100501338,-1112097107,-1102195598)+W(8,1047938064,1022176478,-1093210017,-1118385188)+W(9,-1104427658,1013766280,1027075631,1027463789)+W(10,-1102851233,-1129352893,1046245506,-1106645860)+W(11,1043294706,1016480352,-1113418727,1030659187);WS(1046819548,-1112403026); +sum1=W(0,1043575156,-1118831073,1028002987,1025124390)+W(1,1023377962,1034880715,-1125071779,-1144027915)+W(2,-1096536373,1040283909,1049135339,-1115136450)+W(3,-1127238030,1042113706,-1124049974,1045174012)+W(4,1028458839,1047473762,-1083606160,1052252597)+W(5,1054448495,-1106041242,1031800519,-1138801364)+W(6,1042563315,-1108795847,1040849058,1045384892)+W(7,-1081137782,1040945110,1026387221,-1122981994)+W(8,-1147631681,-1115473730,1015994849,-1102431101)+W(9,1046487189,1026652836,-1096718751,1030118403)+W(10,-1134760216,1037371629,1036578576,-1147407721)+W(11,1029054905,-1113175874,1032040846,-1121286085);sum2=W(0,-1116472244,1025044698,-1123391126,1003069456)+W(1,-1129719684,-1110477199,1023677849,989635105)+W(2,1036928405,-1122373594,-1111538981,-1111848203)+W(3,1027481573,990411281,-1136822924,-1136314996)+W(4,1035706238,1040619830,1046111644,1044878634)+W(5,1017226015,1030695866,-1114454329,1007553654)+W(6,-1121318128,-1104861162,1038958235,1050016986)+W(7,1040124875,-1116142138,-1113301330,-1112411005)+W(8,-1114868876,1034962287,1034772140,-1113883437)+W(9,-1114732111,-1102609372,1029458562,-1109652887)+W(10,1033058067,-1110745183,-1130393948,1005454840)+W(11,-1105702279,1029172520,-1112847239,-1150621057);WS(1054158702,-1098491196); +sum1=W(0,-1129450472,983582877,-1121209423,-1121678922)+W(1,1031290553,-1119715259,1032360987,-1115265987)+W(2,-1119237644,1026235385,1037197666,1031464488)+W(3,-1099798307,-1102325483,-1107157175,1036899466)+W(4,-1101713087,-1098493798,-1083899440,-1103778771)+W(5,1057005120,1046824098,1037130136,1011053924)+W(6,1033589815,1048228620,1060260620,1056756834)+W(7,-1093716116,-1102446942,-1111054172,-1132207900)+W(8,1034513750,-1123359016,-1103037013,-1122982297)+W(9,1049393023,1028221304,1041637742,992781927)+W(10,1023147092,-1173092218,1035595873,1020058530)+W(11,-1117980637,-1124996559,-1115548960,995105423);sum2=W(0,1022318336,-1115650269,1023537352,-1109544964)+W(1,-1104797311,1016525394,1034835508,1033208955)+W(2,1013555797,1016103802,1041650416,1052577828)+W(3,-1105646271,-1089308865,-1093424353,-1123233885)+W(4,-1107715656,-1119261847,1043696631,-1093802466)+W(5,1070961498,-1101461419,-1129647390,-1103638866)+W(6,1023151297,-1114491928,1042399799,-1088107917)+W(7,1046742027,1041655381,1027817568,-1123805293)+W(8,1033284778,-1130031974,-1108010060,1027122983)+W(9,-1123089325,1023301191,1010592861,1027104379)+W(10,-1133592549,-1142562170,-1132296546,1012286637)+W(11,-1129646858,-1123666701,1020078242,1017326494);WS(-1098756718,1025257793); +sum1=W(0,-1170432841,992949730,1001883457,1015181254)+W(1,-1113865961,1025052052,-1142935155,1028407518)+W(2,1023803110,-1138344011,1026014126,-1121590721)+W(3,-1118191492,-1131017933,992699702,-1125677724)+W(4,-1090131561,-1107275570,-1096556254,-1096688477)+W(5,-1094031636,-1105028073,-1106433523,-1094260670)+W(6,1057699745,1040420307,1054103406,1044394251)+W(7,1054646511,1053702338,1018441892,1056434389)+W(8,-1119694405,-1117188674,-1115724526,1029634610)+W(9,-1140440641,-1105231572,1028218227,-1115106656)+W(10,1012926412,-1123369303,-1127845816,1035099253)+W(11,-1114907963,1041135600,-1110839852,1033590433);sum2=W(0,-1113857499,1017397942,994248048,-1107301692)+W(1,-1114604929,-1099171315,-1128156929,-1105825924)+W(2,1035336978,977119295,1058657166,1082282453)+W(3,1081592322,1057428850,1029982493,1050573738)+W(4,1003212424,-1169985407,-1086726098,-1067974855)+W(5,-1065596346,-1101606461,-1114706375,-1113547007)+W(6,1016146718,-1139136560,1029663775,-1088717558)+W(7,1032721198,-1109521003,1035913834,-1115579388)+W(8,-1124908942,-1127032094,-1128987279,1045162011)+W(9,-1132432620,1001306728,-1127893472,1022139202)+W(10,1007728744,1015257206,-1139895388,989071903)+W(11,-1115423533,1026551071,-1124574009,999865176);WS(1057488311,1032489366); +sum1=W(0,998859696,-1126361486,1028022609,-1139957040)+W(1,1015295094,-1122345661,-1126668079,-1129886863)+W(2,-1107316871,1034785118,-1114064513,1048520075)+W(3,-1112481238,-1154023155,-1133481329,-1108825451)+W(4,-1130375162,-1098594694,-1105098668,-1099155379)+W(5,-1109749909,-1112014022,-1114013594,-1116334683)+W(6,1045821468,1031878554,1057263754,-1127500588)+W(7,1049599048,1025402492,1034877470,1046739556)+W(8,1009430200,-1137835434,-1104540630,1033795278)+W(9,-1105774078,1046311438,-1109189150,-1119327433)+W(10,-1127874328,-1124885440,-1121514949,1026343507)+W(11,1007199100,-1119007402,1026086402,-1138298796);sum2=W(0,-1131728975,1035973522,1044679054,1057647035)+W(1,1029801795,-1120435503,1040526136,1001204178)+W(2,1036764889,-1115068573,-1096357732,-1081650015)+W(3,1008652352,1020148594,1019038058,-1125968836)+W(4,-1111227173,1022919798,-1128128484,1064645808)+W(5,-1094730608,1034184152,-1110501324,-1141167471)+W(6,-1128881737,1043114423,-1098903856,-1105946360)+W(7,-1121257166,-1122224678,1033879187,-1125677560)+W(8,1037242625,990889655,1034691185,997618289)+W(9,-1119761613,-1123774451,1017411026,1017460301)+W(10,-1122740141,-1130091274,-1126568042,1036162942)+W(11,-1145265129,1016517254,1025838030,-1121815648);WS(1059796919,-1120566973); +sum1=W(0,-1128913552,-1121363289,-1114223569,-1170089852)+W(1,1032486790,1007200827,1031548233,1025411673)+W(2,-1112300176,1042197939,1034918960,1019526904)+W(3,-1097594444,-1109654209,-1121876014,-1114258964)+W(4,-1105877684,-1097436160,-1084964393,1000497399)+W(5,1058860547,1031553246,1038828418,-1106885131)+W(6,1051198984,1044389601,1058261945,1057668526)+W(7,-1083919657,-1093305914,-1113158982,1024357474)+W(8,1031319296,-1156941767,-1115209492,1032065846)+W(9,1045243539,1041280427,1014469175,-1128319413)+W(10,-1128535084,1024751122,1025460631,1032881746)+W(11,1010383044,986576750,1034628234,1012703988);sum2=W(0,-1143612781,1024653023,1031492195,-1118229715)+W(1,1037055061,-1103747903,1027878177,-1120661119)+W(2,1030657759,-1114346787,-1115709916,-1122961088)+W(3,1023143173,1032102149,1035049663,-1115297076)+W(4,-1142189493,-1145631357,1041520845,1058735511)+W(5,-1123318690,-1113230658,-1107577516,1029140405)+W(6,-1116365956,-1122350618,-1109597137,1063925227)+W(7,-1097941231,-1096423541,1034348655,-1104473650)+W(8,-1108113093,-1120960689,-1100459142,-1102646250)+W(9,-1097541479,-1119600722,994779835,1048901284)+W(10,-1144957229,1013910379,1028619709,1003281301)+W(11,1040501280,1015718737,-1116733621,-1122107736);WS(1025862512,-1097886171); +sum1=W(0,1017995501,1028206791,-1115115241,1023900364)+W(1,973319892,1028215869,1033665516,1031994596)+W(2,1039868615,1039095646,1044724702,1040670187)+W(3,1036683863,-1105649212,1040757263,-1101644966)+W(4,-1084617440,-1095591910,-1088992852,-1089161581)+W(5,-1092805231,-1107053347,-1107160205,-1102281943)+W(6,1048852846,1046495341,1053236428,1054642003)+W(7,1050422468,1049220624,1039010398,1042256548)+W(8,1036255511,1032043925,974144948,1024473755)+W(9,-1132527589,-1120787802,1025750940,1034960116)+W(10,1003283810,1031081728,-1128580235,1033561578)+W(11,1012484477,-1126192084,1035723265,-1141688154);sum2=W(0,1017309480,-1115898040,1026950620,-1131938440)+W(1,-1120377052,-1147724576,-1108926548,-1120540424)+W(2,-1113384832,-1105498372,-1140340528,-1101077232)+W(3,-1114410560,1042402941,-1114542528,1040078450)+W(4,1051665642,1043260681,-1109716244,1039662810)+W(5,-1113565360,-1097796100,-1108348496,-1097463639)+W(6,-1106075829,1041703091,-1109231476,1049668212)+W(7,1032262130,1040746517,-1140600496,1048026467)+W(8,1041533127,-1122221676,1047102067,-1109791178)+W(9,1039963022,-1131969000,1032294606,-1107112902)+W(10,-1143916576,-1119502308,1032670038,-1130795288)+W(11,-1112068676,1031201932,-1108483346,1028500076);WS(1059594295,-1081462343); +sum1=W(0,1027153262,978268098,1020914066,1037283618)+W(1,1001487768,1024040629,-1121199663,1022356543)+W(2,1043504002,-1116748340,1039643767,1038369681)+W(3,1034058802,1040894970,-1111840522,1036921959)+W(4,1052804111,1047257898,1049749519,1054855273)+W(5,1047397560,1052275873,1039603542,1026848211)+W(6,-1087238767,-1102654539,-1086204143,-1088075529)+W(7,-1086503800,-1098202447,-1107277965,-1098696769)+W(8,1041162890,1038115889,1044063108,1037006730)+W(9,-1117492081,1024505810,995252542,1036480704)+W(10,1012415888,-1165722369,1033818911,1032180390)+W(11,991868273,1034352017,-1131707508,-1136594828);sum2=W(0,1028621181,-1110777341,1027102605,1030597213)+W(1,-1106396561,1041951037,-1110468651,1026771477)+W(2,-1120219585,-1127812186,-1121966109,-1109734497)+W(3,-1139970197,1005564394,1027913013,1021745754)+W(4,1035384087,-1126856730,1038893967,1046142043)+W(5,-1102581665,1024169581,-1119264521,1045072501)+W(6,1034472183,-1129759266,-1123472797,1054407172)+W(7,-1114873213,1049042812,-1104920828,-1117275361)+W(8,-1123130413,-1106344343,-1121376361,-1110811845)+W(9,-1147353578,1023037898,-1123538565,-1108801471)+W(10,-1120488613,-1132463093,-1111137329,1013238549)+W(11,-1113345499,1010521365,-1123696429,934750635);WS(1001790336,1033193226); +sum1=W(0,-1113292474,-1131356554,-1133969725,-1118664394)+W(1,1027204153,-1111709325,1024655285,-1127980619)+W(2,1018580889,-1115176285,-1102427201,-1094752997)+W(3,-1105768635,-1119059021,-1121009370,-1131789226)+W(4,-1117909243,1046326027,1041639692,1062953181)+W(5,1031529696,1040555139,-1115548569,1030139737)+W(6,1052553934,-1113855449,1060794158,999804065)+W(7,-1122254720,-1110352445,1026923705,-1100154756)+W(8,-1104113579,-1112351060,-1095014251,-1105541862)+W(9,-1102735326,1031818996,1008421480,1016036429)+W(10,-1129785460,-1156866531,-1132017542,-1130622370)+W(11,1022740922,-1121415144,1008916224,-1122315305);sum2=W(0,999771042,-1130012060,-1123589256,1018901632)+W(1,-1124249760,1017234680,-1118367200,1016197020)+W(2,1019371878,-1137594745,1002965746,-1114341154)+W(3,-1115605194,1017493044,1015905000,1024661143)+W(4,1035878909,991329315,1042318306,1053769225)+W(5,1010690665,-1099274218,-1101115118,-1092869373)+W(6,-1106457448,1043986431,-1118271248,1057361082)+W(7,-1102884302,1037230696,-1112309114,1036147884)+W(8,1038257769,-1108709562,1025444512,-1113472862)+W(9,1015483632,-1115820708,1020142296,1016005876)+W(10,-1118330440,-1156785507,-1134019065,1021163648)+W(11,-1123825168,1025071687,-1126466092,1013380697);WS(-1096043118,-1087645231); +sum1=W(0,-1115587665,1032694426,1031441086,1023546425)+W(1,-1130229584,-1147531597,1019733960,-1115129818)+W(2,1029203067,-1099485226,-1113336032,-1121275799)+W(3,1051148019,-1118364796,-1127235090,-1119188228)+W(4,1045341850,1017432376,1054321442,1050158903)+W(5,-1081266857,1047006846,-1106232936,1041137522)+W(6,-1106908023,1052615508,-1082902530,1045376289)+W(7,1057440145,-1118131945,-1134199968,1018710010)+W(8,-1131991862,-1113683692,1050084000,-1116607496)+W(9,1027649766,-1120491559,1027530281,-1131853547)+W(10,-1114910160,-1127306394,998100766,-1147820543)+W(11,1021215128,991663462,-1123554607,-1124042776);sum2=W(0,-1129211209,1023861908,1038235290,1029997412)+W(1,-1125523437,-1107362446,-1114850415,1013933265)+W(2,1023515648,-1119658781,-1121364796,-1103304652)+W(3,-1109858923,1044349350,1032218024,1027861436)+W(4,1040374834,-1108471855,-1096619497,1039720436)+W(5,-1113539350,1038091910,-1121557752,982770184)+W(6,-1110890211,-1133136545,1044872450,1050855479)+W(7,-1117035130,-1107498682,-1130602657,-1128608489)+W(8,1020265593,1048083250,1034188808,-1102257516)+W(9,1022698753,1024895152,-1162309256,-1129090321)+W(10,1023672492,-1109425046,-1121333166,-1130250517)+W(11,1029442100,-1122118916,1020180841,939323929);WS(1062090935,1058767985); +sum1=W(0,1016379967,-1127587553,-1124869109,1030044278)+W(1,-1135267218,1021197901,-1146487047,1001072263)+W(2,-1111629724,1016014666,1045897412,1039181162)+W(3,-1111908667,1032078908,-1129970444,1037221664)+W(4,-1115487571,1046030390,-1089079359,-1107063038)+W(5,1056809425,-1100036461,1008766834,-1118068997)+W(6,1040669191,-1131263417,1049140321,1046027952)+W(7,-1082917799,1040408361,-1115518322,1034380765)+W(8,-1124650927,-1107621674,-1120715392,1035258018)+W(9,1051125844,-1117322707,-1115270659,-1135017032)+W(10,-1131647467,1039946613,-1197661491,1033161790)+W(11,-1129645073,-1124734374,1029976235,-1119763541);sum2=W(0,1033054007,-1116547758,-1123189128,1033469023)+W(1,-1122818756,1026371779,-1136838880,-1137766108)+W(2,-1111327982,1041352776,1032790615,1012971008)+W(3,-1098982462,1042838787,-1110172088,1004924993)+W(4,-1121722910,1034677105,1033549613,1033020303)+W(5,1051050782,-1098306997,1034801784,-1120000922)+W(6,1038740385,-1115132829,-1092378351,-1108961666)+W(7,-1121004928,1045175561,1019964530,1027487385)+W(8,-1119336676,-1124364804,-1102497930,-1106694042)+W(9,1035128176,1039643256,1015821086,1017988993)+W(10,-1124024618,1035204548,1032784783,1032253989)+W(11,1009754028,-1118316692,-1125398316,1028774587);WS(1065136439,1040354336); +sum1=W(0,-1140671753,-1120274067,1022747450,-1124666160)+W(1,-1123069063,-1131113682,-1118356003,-1126498983)+W(2,-1108811053,-1107804932,-1110160675,-1105899870)+W(3,1025125049,1033405406,-1129239633,1016924742)+W(4,1057254373,1050226223,1059609336,1031464345)+W(5,-1093137163,-1111386668,-1105328992,-1111235284)+W(6,-1099781359,-1098842784,-1092867554,1000731409)+W(7,1058399851,1055942809,1044975810,1051704028)+W(8,1009251305,1010162395,1036945681,-1114655220)+W(9,-1109467235,-1101547023,-1113825780,-1104493413)+W(10,1003726785,-1112753158,-1120831377,-1112429520)+W(11,-1119063979,-1146511789,-1116155918,-1117793303);sum2=W(0,-1139839138,998321428,-1134067290,1024466364)+W(1,1008723794,-1119932526,1028368392,-1132382549)+W(2,1034041544,1018598993,987604943,-1102834025)+W(3,-1131349085,-1118877643,1031347596,-1113750023)+W(4,1034669108,-1116818777,1007335842,1061492513)+W(5,-1121214551,-1116983417,-1114752830,-1103912225)+W(6,-1095769692,-1114897304,-1102588486,1062722215)+W(7,-1107691916,-1117176868,1009572226,1035794880)+W(8,-1105759439,-1105398904,-1108283066,-1098749835)+W(9,-1108418109,1041629273,-1103951670,1046707789)+W(10,1039138956,-1145690340,1018314989,1025712340)+W(11,1022467761,-1121476700,1033232162,-1110829011);WS(1015535328,-1084984071); +sum1=W(0,-1114800552,1017574081,-1121052395,-1121642214)+W(1,1031943978,-1119258038,1015340962,-1152091148)+W(2,-1108603860,-1120445077,-1120661414,1038434434)+W(3,1004694578,983354644,-1131668588,-1117988144)+W(4,-1099862310,-1098244185,-1094435959,-1091868509)+W(5,-1100742889,-1090330210,-1106546547,-1096238847)+W(6,1058689409,1050368026,1059588503,1053265766)+W(7,1053762387,1049777811,1042220181,1044693386)+W(8,-1114937124,-1113854018,-1120887600,1038069402)+W(9,1032168457,1033335786,-1112611163,1033654385)+W(10,-1119809253,-1119794874,-1117398367,-1124845785)+W(11,-1126829041,-1124490374,-1122991451,1025017029);sum2=W(0,-1113763234,-1113925793,-1117079348,1016562523)+W(1,-1106152769,1021767953,-1110489214,-1118706081)+W(2,-1123863865,-1117743388,1031541130,1034144457)+W(3,-1108434934,1028245712,-1107854239,-1131124226)+W(4,-1152383745,1049718598,1054034272,1045174355)+W(5,1019958281,1048832333,1037079656,1041167636)+W(6,-1153318001,-1115051721,-1111062529,1029337732)+W(7,-1107848604,1036566626,-1106439039,-1100833945)+W(8,1032880554,-1108241407,1025815300,1040219109)+W(9,-1122950542,1032317223,-1114917041,1023645948)+W(10,-1112434267,1017487533,-1115045873,-1115252534)+W(11,-1112234054,-1144290245,-1111099643,-1123196065);WS(1058837943,1069665989); +sum1=W(0,962159770,-1131526763,-1123587520,1016761717)+W(1,-1116652202,1020359383,-1124916236,-1120750038)+W(2,-1123278397,-1133106088,-1111839826,-1119033369)+W(3,-1112323118,-1123741278,-1111587013,1031183749)+W(4,1059574623,1052414436,1056026369,1050778647)+W(5,1057288447,1051933055,1049400292,1050858601)+W(6,-1100091288,-1100255560,-1090882007,-1089604336)+W(7,-1090318286,-1098258189,-1098860821,-1113801599)+W(8,-1106975399,1034080493,1026032901,1030312842)+W(9,-1115237492,-1123145400,1023272149,-1102573630)+W(10,1026912571,1026538575,-1128992103,-1142474253)+W(11,-1126485147,1024876312,-1130617057,-1147252941);sum2=W(0,1031825723,-1121672345,-1128689519,1003655756)+W(1,-1112729716,1021714543,-1143241256,1015056847)+W(2,1031898082,-1123032728,-1149677000,1042326937)+W(3,1016978721,-1135526098,1017362221,-1115756346)+W(4,-1068962638,-1070958719,1062859919,1079716701)+W(5,1069238165,-1106783417,1038638730,1030095799)+W(6,-1097279430,1042495248,1042236169,-1097154173)+W(7,1043003442,-1101596383,-1114855682,1029691669)+W(8,-1106804175,1004890268,1033261211,1047991146)+W(9,1029430153,1006662138,1016716693,-1116617969)+W(10,1033946762,1015278793,-1125393239,-1129356209)+W(11,-1130449529,-1143028884,1021676019,1007567766);WS(1027937136,1051433372); +sum1=W(0,1024223452,-1131494490,1034208027,-1113660825)+W(1,1026687777,1007645322,1019229306,1023660333)+W(2,1027262836,1034970897,1041574867,1051529138)+W(3,1043759333,1035492122,1025216066,1033175550)+W(4,-1095583884,-1102510757,-1088128354,-1082034838)+W(5,-1107709564,1021392868,-1116281753,1019915650)+W(6,1036904555,1043230726,1043513377,-1088109312)+W(7,1040837474,1023668834,1033050768,1041627229)+W(8,1037383306,-1126475809,1038022750,1049740992)+W(9,1043020088,1040579632,968839375,1040383308)+W(10,1026871330,-1131579916,1022249046,-1121104697)+W(11,1030621125,-1128113439,1026071912,1024084817);sum2=W(0,-1122636491,-1114076695,-1122337791,-1121313911)+W(1,1019616565,1032037049,-1121846167,1035628188)+W(2,1019704225,1037288383,1038646185,-1113812515)+W(3,-1115379683,-1144905268,-1124810757,-1104091459)+W(4,1049771287,1032297878,1050229287,1058219066)+W(5,-1126947029,-1089173556,-1109798125,-1085784913)+W(6,-1108218455,1029534785,1038576544,1058416091)+W(7,-1096957025,1029636273,-1112204367,1039375301)+W(8,1003686724,-1114871835,1026526587,-1129529893)+W(9,1020162449,1011141050,1015768281,-1169657505)+W(10,1007985666,1019192761,-1146139348,1021492965)+W(11,-1131201101,-1129337357,-1117257463,1026702945);WS(-1087300279,1060388257); +sum1=W(0,-1129462823,1031115364,-1114720439,1025637865)+W(1,-1150727557,1019407412,1005184420,-1144567588)+W(2,1023690092,1041026294,1027269348,1022155151)+W(3,1032140389,1019365849,1035913085,-1142073248)+W(4,-1095623283,-1092905754,-1093094418,-1092295181)+W(5,-1091295733,-1094422277,-1097873082,-1089577936)+W(6,-1106106692,1045171988,1058204318,1060821043)+W(7,1047241920,1051757075,1047453654,1052799910)+W(8,1037669414,-1113959460,-1142625182,1044954958)+W(9,1031904715,1022315054,-1121754201,1027854342)+W(10,-1130365587,-1127843579,-1122973026,1027810288)+W(11,1008074737,1005685302,1011776124,1023937224);sum2=W(0,-1120594034,-1141459412,-1136839806,1028313984)+W(1,-1127607807,-1122936307,1007613018,-1134584398)+W(2,-1166872476,1004777140,-1113289360,1013932442)+W(3,1019995585,-1124945717,-1145964804,-1157638606)+W(4,1040489823,-1122900789,1021539093,-1095750682)+W(5,1045364618,1031026044,1033830372,-1125456395)+W(6,-1102509951,-1110936244,1067324619,1045560576)+W(7,-1096904945,-1100965201,1000232964,-1108078168)+W(8,-1086857984,-1095818924,-1093760272,1065644346)+W(9,-1123950010,1042979309,-1121148085,1026162850)+W(10,1045679794,-1104593759,-1110068744,-1103109579)+W(11,1034732462,1018809021,-1152320711,980148252);WS(-1090838638,1050174926); +sum1=W(0,1024715784,1033853293,-1106406969,1042483832)+W(1,1025782733,-1138965820,1038488261,-1139164262)+W(2,-1109115088,1049593122,994296459,1045373935)+W(3,1015694078,-1112080289,1045351388,-1114987669)+W(4,-1106716164,-1120751425,-1094496661,-1086184702)+W(5,-1092092861,-1095245812,-1100690449,-1094326222)+W(6,1038102082,1051782073,1043814476,1058236139)+W(7,1045378621,1042079876,1050438570,1040938025)+W(8,-1115525408,-1136454131,-1105105482,1033520471)+W(9,1029286795,-1106373991,1034575399,-1122199803)+W(10,1016756989,1035169257,-1108133484,1042591993)+W(11,-1140252101,-1115290814,1041627941,1001134058);sum2=W(0,1051544715,1047565246,1046232208,-1105592564)+W(1,-1094324661,-1105924841,1021200095,-1103932050)+W(2,-1087153288,-1111682644,-1081925443,1060283907)+W(3,1062548140,-1127110112,1051334754,1033462267)+W(4,-1090874159,-1099176408,-1105576760,1048906709)+W(5,-1112367085,1049091960,-1107585156,1048824237)+W(6,1047568122,1032035298,-1119008010,1036693685)+W(7,-1119206793,-1158298480,1036759049,-1114785543)+W(8,-1111412903,1040133461,-1140028602,-1107739759)+W(9,1044620924,-1096403637,1046459856,-1114351857)+W(10,1034895049,-1131191613,-1112144320,1040322447)+W(11,-1130045765,1011461326,1012649582,-1111955333);WS(1039738296,1044009556); +sum1=W(0,1031992376,-1118478209,1036413734,1042319122)+W(1,1025321013,1019779694,-1126468451,1028741314)+W(2,-1113116036,-1126664684,1028656912,-1095949365)+W(3,1046101634,-1104617834,-1111694091,1029160593)+W(4,1058890327,1042459434,1054229481,1057173004)+W(5,1048940614,1052520321,1047137387,1057385245)+W(6,-1088719167,-1107130859,-1088309806,-1090115281)+W(7,-1090901446,-1096019759,-1098195015,-1090793697)+W(8,1040542090,-1129453002,1042227988,-1127816747)+W(9,1048439133,-1119199044,1036380619,1040359505)+W(10,-1107110028,1036863629,-1133301245,-1121635021)+W(11,-1120611033,1022364232,-1108092830,-1129794251);sum2=W(0,-1088996856,-1089163817,-1081345153,-1080285142)+W(1,-1079794071,-1089981167,-1091438196,-1099490886)+W(2,1009251693,-1107842867,-1124806950,1052635731)+W(3,-1106464080,-1125456570,-1115606726,-1106662163)+W(4,1062110924,1057525018,1064189433,1067630395)+W(5,1063058829,1062842970,1054193960,1053790298)+W(6,-1115283476,1042234988,-1104109471,-1112028150)+W(7,-1113992476,1045262592,1042247754,-1104249669)+W(8,1030923639,1032774718,-1126776930,1034769026)+W(9,-1106165885,-1136163037,1032379012,-1108359351)+W(10,1034262626,-1123202523,-1130902850,1036915346)+W(11,-1110986466,1035294670,-1135519157,1024576891);WS(-1096394862,1050867114); +sum1=W(0,975777376,1035680965,1017323049,-1164976624)+W(1,-1126109949,-1117859264,1011370603,-1122131819)+W(2,1011677768,-1097606072,1017467204,-1122057965)+W(3,1039142936,-1137149130,1023416416,-1112401517)+W(4,1050217928,1041761501,1059053443,-1098739346)+W(5,-1089683010,-1104430516,-1115445691,1042596520)+W(6,-1095631255,-1108785275,-1088500104,-1111108333)+W(7,1062642602,1040456976,1016594173,-1120553683)+W(8,-1105375964,1035556439,1042635014,1025006046)+W(9,1038036638,1027021261,1041295544,1029575724)+W(10,1033079080,-1107649602,1020084753,-1112750027)+W(11,-1142614292,1017623258,-1113983747,-1124248029);sum2=W(0,-1131210775,1024840523,1024067225,1022860453)+W(1,-1125865258,-1130239171,1024964869,-1117571915)+W(2,1029829507,-1108448221,1046565608,-1107856867)+W(3,1042031083,-1106481128,-1127390051,-1124576676)+W(4,1018275001,-1117395779,1042461338,-1092962046)+W(5,1053212914,-1102214835,-1114692565,991892650)+W(6,-1122984086,-1132016729,1059140985,-1089805596)+W(7,1058514952,1027704725,-1118917379,1032905776)+W(8,-1096338526,-1114466007,-1107995649,-1166014069)+W(9,1052927486,1041713274,1037010892,1032336370)+W(10,1033255054,-1103146109,-1119288636,-1099911282)+W(11,-1113255745,-1106771914,-1111017176,1000523989);WS(-1112511928,1031640207); +sum1=W(0,1037301926,-1130112569,-1119711398,1044751592)+W(1,-1102628100,1042267541,1021159833,-1122521821)+W(2,-1102373753,1048837234,-1091456672,1045582560)+W(3,-1119033858,-1093436941,1050238014,-1100593739)+W(4,1058068053,1051625169,1054040787,1044375881)+W(5,1057193534,1051238780,1045936610,1058222955)+W(6,-1091912761,-1095738529,-1101742756,-1090186767)+W(7,-1090190311,-1110077161,-1098844722,-1090967581)+W(8,1030698115,1045615952,-1104227307,1051640030)+W(9,-1111999463,1008998972,1050341641,-1108465231)+W(10,-1112730073,1045904421,-1098654019,-1111879892)+W(11,-1123401908,-1101737376,1043894710,-1112695488);sum2=W(0,1016218439,1009444234,-1111008440,1026480303)+W(1,1015374231,-1115006890,1027237715,-1122692269)+W(2,1024549194,-1117974589,1042315856,-1106327815)+W(3,1040022175,1025059842,-1110870197,1033099318)+W(4,-1121292007,-1111737758,1047393563,-1089871257)+W(5,-1115783084,1043300713,-1103999090,1022298131)+W(6,1037076368,-1110249739,-1086831522,-1069929292)+W(7,-1085683537,1033002057,1033912191,1032775289)+W(8,-1112700443,1020335555,1038599637,-1111547810)+W(9,1049254465,-1118960414,-1118358651,-1104218510)+W(10,1032984152,-1112172263,1060801772,1079084175)+W(11,1057876572,1033693800,-1104475663,1045399536);WS(-1106120924,1033431669); +sum1=W(0,1016553159,-1146851238,1024375743,1026515514)+W(1,1005429062,1029812010,1008887700,1021177962)+W(2,1035990878,1041817850,1041767260,1047579686)+W(3,1031819293,1026577053,1014785832,1011005202)+W(4,-1101729723,1024013341,-1116899488,-1085522812)+W(5,-1090064383,-1118087802,-1126747713,1025078601)+W(6,1042266392,1027850273,977256084,-1090381288)+W(7,1048109660,-1113190325,1024173993,-1127218683)+W(8,1024064284,1026394008,990294084,1048833585)+W(9,1038017843,1040657490,1020235411,1041410670)+W(10,1018305971,1021653787,996614956,-1125739905)+W(11,1016883609,-1121801815,1027952623,-1132785763);sum2=W(0,1032555846,1019641904,1015684488,-1123545328)+W(1,-1118308408,-1117707424,-1137876352,-1152988290)+W(2,-1110721648,-1116342888,-1102693078,1027573888)+W(3,1043950970,1021888896,1007632640,1023916088)+W(4,-1094136567,-1089264280,-1097199465,1056898914)+W(5,1037769558,1041236542,1026403708,1046276806)+W(6,1030929664,-1112511004,1046449598,1052843165)+W(7,1024674316,-1109778580,-1123597216,-1105717038)+W(8,-1146526593,1032788860,1012812816,1033507644)+W(9,-1106559340,1017687520,1028523456,-1122312832)+W(10,1018020888,-1125819008,1004426241,-1122415072)+W(11,1028547840,996318210,-1149117889,-1132920416);WS(1034973624,1056792353); +sum1=W(0,-1120658336,-1121055921,-1128295926,1021962732)+W(1,-1127490506,-1119904327,-1122942113,-1119710033)+W(2,-1130821617,-1114464179,-1106629009,-1093463666)+W(3,-1097245927,-1132912612,-1118132038,-1115274080)+W(4,-1114903379,-1125024178,1008426736,1062068439)+W(5,1050479246,-1107542555,1028006365,1025872901)+W(6,-1130597942,-1102939831,-1118485143,1067744046)+W(7,1049107361,1045213129,-1113875250,1036565277)+W(8,-1109039532,-1115164458,-1104109440,-1094141737)+W(9,-1105858697,-1119937620,-1141854766,-1121170098)+W(10,-1124529164,-1124681556,-1138254780,993935312)+W(11,-1132704804,-1120970067,-1122550700,-1120520661);sum2=W(0,1020401308,1017661559,-1129375401,-1130735541)+W(1,-1146688164,-1166762145,-1130185789,-1137125822)+W(2,-1120501349,996214904,-1140432422,1024553914)+W(3,1006774606,-1124013507,1033491675,-1117903931)+W(4,1037264768,-1116129767,1035443152,1051779064)+W(5,1039827062,1025600009,-1114545658,1032817572)+W(6,-1090330474,-1084580575,-1097846115,1064606263)+W(7,1048687051,1019182043,-1117487855,1037037513)+W(8,-1105802125,1032645479,-1102145888,1038402436)+W(9,1000828364,1025151371,1028059566,-1112238814)+W(10,1023925581,-1119976615,1025111856,-1136822486)+W(11,-1121332237,1015612208,-1119338761,999461036);WS(-1082445367,-1085006700); +sum1=W(0,-1131835086,1034878908,-1106661648,1037617118)+W(1,-1121819052,1022066011,1036207796,1033542412)+W(2,1041974800,1043293403,1042063924,1045196135)+W(3,1037212703,-1105403448,1046411795,-1100599618)+W(4,-1081109875,-1092276724,-1086386347,-1094524616)+W(5,-1094507255,-1104988703,-1105674409,-1096619449)+W(6,1054173212,1051286356,1055927462,1058619216)+W(7,1050138098,1028915053,1041419787,-1130824962)+W(8,1035072463,1034209806,-1114712644,1036390662)+W(9,1015171028,-1139447658,1026111277,1045523870)+W(10,-1137431795,1038048136,-1110863483,1042877649)+W(11,-1123146704,-1114994477,1040360493,-1121943708);sum2=W(0,-1112963339,1025676326,-1117465202,1036266015)+W(1,-1124864900,1019242508,1017632828,1039721851)+W(2,1043137200,1000796272,993751520,-1098528956)+W(3,1032573075,-1097473255,1049454991,-1090503899)+W(4,1014823768,1031859059,1020211292,1055374057)+W(5,986723264,-1125510524,-1111044051,1007293144)+W(6,-1089890678,-1102855534,1018575516,1061198225)+W(7,1038055959,1050136287,-1109681619,1054985311)+W(8,1022229356,1031913791,-1120060570,-1098119563)+W(9,-1106568385,-1098582022,1030233630,-1101215648)+W(10,-1128614108,1018516204,-1138611816,1020738140)+W(11,-1132953832,-1123833514,1035860627,-1110059149);WS(-1089141943,1068474134); +sum1=W(0,1024130588,-1101143803,1039148539,-1124204515)+W(1,1026773217,1018218693,-1104179471,-1123573325)+W(2,-1121972404,1041396360,-1105946681,1052602058)+W(3,-1091638882,1032280890,1041946144,-1138642417)+W(4,1032495505,1045416789,-1106461946,-1094942270)+W(5,1059099726,-1106993164,1045088278,1009482242)+W(6,1036801227,-1094238571,1057861426,-1098420551)+W(7,1040764762,1033290001,-1105244536,1037819035)+W(8,-1117579092,1039470024,-1113046718,1047303536)+W(9,-1094617668,1040300696,-1110195745,-1108347351)+W(10,-1114425265,1024684838,-1108918837,-1127532529)+W(11,1027200645,-1103088708,1043167338,-1116739793);sum2=W(0,1016644168,998892514,-1116049462,1033248586)+W(1,-1110140123,1041609896,-1103095555,1030835892)+W(2,-1134771145,-1114282184,1042383274,1025008594)+W(3,-1104878488,-1101611481,1048842205,-1122288558)+W(4,-1129326838,1049635340,-1147070546,-1102476512)+W(5,-1090718582,1046973498,-1115539252,1028769716)+W(6,-1114142714,-1101404122,-1095734150,1060588986)+W(7,1052949499,-1143476482,-1110997031,1022411808)+W(8,1012771369,-1114952606,1057697290,-1111850310)+W(9,-1096580248,-1114336646,1031782132,-1118966953)+W(10,1025799488,1041138771,-1095991584,1027653952)+W(11,-1127102864,1035005082,992902692,-1120028296);WS(1055908206,1023803300); +sum1=W(0,1033033649,-1128828388,1027156540,1024886583)+W(1,-1122498726,1032744244,-1114524705,1005980052)+W(2,-1114766205,1011459483,-1106069078,-1116675477)+W(3,-1116893112,1045609495,-1113403236,1049123968)+W(4,1059767687,1054454099,1057986836,1059734148)+W(5,1056528229,1043829406,1047712168,1049516377)+W(6,-1093070812,-1094569204,-1086765600,-1090099632)+W(7,-1094363024,-1102732570,-1103438026,-1098493775)+W(8,-1106762950,1029622486,991938588,-1098865153)+W(9,-1101593593,-1139103892,1022039246,-1097177334)+W(10,-1139512861,1016172182,1027600816,1027525694)+W(11,-1135964969,1036132330,-1117700205,1035501771);sum2=W(0,1025334517,-1115143239,-1112308287,-1115511381)+W(1,1042864237,1031444191,1040795754,-1111573417)+W(2,1052224655,1029199567,1050599738,-1137182696)+W(3,-1101494467,-1094150391,-1116631442,-1092627938)+W(4,-1085507535,-1092254017,-1091835304,1050309385)+W(5,1052849573,1058681981,-1093246396,1066882777)+W(6,-1083097675,-1079915962,-1078367265,-1085955474)+W(7,1077549274,1068550083,1054678659,1059124396)+W(8,-1097828858,-1092877982,-1101001669,1031547399)+W(9,974314816,-1100178328,1046838481,-1088438520)+W(10,1062578782,1029921983,1036651638,1017725718)+W(11,-1103762806,-1106558945,1039431488,-1098096651);WS(-1078207964,-1098790270); +sum1=W(0,-1117816013,1039615439,1040159636,1032454162)+W(1,1029735698,1026856980,-1128361629,1002339317)+W(2,1017293260,-1121106131,-1098516348,-1100564368)+W(3,-1142189601,-1115831559,-1129405415,-1114960439)+W(4,1049047675,-1100078274,1057717203,1041647209)+W(5,-1090236946,1041839801,-1114821509,1034781465)+W(6,-1100878354,1049964833,-1094050686,-1119951725)+W(7,1052197359,-1110599850,1009705546,1020602063)+W(8,1032784131,-1107321921,1040450075,-1099964381)+W(9,-1116032848,1034137049,1036993018,993360895)+W(10,-1126192007,-1122801847,1034337038,1014677674)+W(11,1028031798,1027844545,-1121696025,-1130484229);sum2=W(0,1025029135,-1115606678,-1098891737,-1111864983)+W(1,-1112278329,1017169741,-1123958951,1031819582)+W(2,-1104367710,-1132455965,1054704406,1035843132)+W(3,1038310704,1037432870,-1137648567,-1122384617)+W(4,-1119205162,1051294613,-1118431701,1040638061)+W(5,1033551568,-1095570314,1040693441,1008777251)+W(6,1051361304,-1090262380,-1094584814,1042639742)+W(7,1042180969,1054301740,1006683771,1032304440)+W(8,-1097951274,1046775583,-1111734067,-1115582191)+W(9,-1116801751,-1102111461,-1108749213,-1103720876)+W(10,1037239658,1027534783,-1137589907,-1161598998)+W(11,-1113612863,-1137659371,1017443081,1038413214);WS(1060561207,-1110135205); +sum1=W(0,-1114856118,-1124131449,-1121034566,-1112340961)+W(1,-1112123800,1034679769,-1115322038,-1107671902)+W(2,1049197464,-1108658488,1041962623,1047635080)+W(3,1029521634,1045001085,1019494819,1038785126)+W(4,-1091745710,-1095755605,-1091090769,-1089785676)+W(5,-1088312300,-1105390912,-1095959893,-1089779917)+W(6,1057921518,1045522218,1055093690,1056738433)+W(7,1057086969,1048793054,1049205462,1057170552)+W(8,1045672489,-1100746808,1019645080,-1111234056)+W(9,-1095870350,1047514180,-1099214252,1022895484)+W(10,1021270499,-1112929307,-1157317541,1036938084)+W(11,-1148757666,1026507103,1019330670,1029094240);sum2=W(0,-1110883135,-1122184691,1008834310,1033395903)+W(1,-1110716892,1024095030,-1113505190,-1113542640)+W(2,1041894205,-1115970606,982318965,1040255170)+W(3,-1134396672,1031402202,-1121857157,1031923695)+W(4,-1114700148,-1118217955,-1097954058,-1109327580)+W(5,-1107386491,-1114148625,-1116084956,-1128842340)+W(6,-1082032478,-1081043792,-1085641610,-1095688614)+W(7,-1084362127,-1093205100,-1087863650,-1094939475)+W(8,1046875162,1049320576,982336213,-1107088758)+W(9,1032307660,-1122373488,1045820748,1044473869)+W(10,1064081845,1059051295,1064706681,1066526360)+W(11,1060847547,1058657081,1055302318,1041403755);WS(-1088848183,-1091270356); +sum1=W(0,-1113444636,-1127291412,-1131637032,-1105736260)+W(1,1030983166,-1127378047,1037357901,-1115666437)+W(2,1022583331,1011517178,1047190142,1040877723)+W(3,1035565944,-1097520394,-1114602800,-1108205485)+W(4,-1092936920,-1094397598,-1092945549,-1086200137)+W(5,-1102025475,-1104020948,-1116833526,-1102830535)+W(6,1050793382,1055228191,1056457416,1051083611)+W(7,1056969730,1051399464,1044492479,1047811509)+W(8,1035173048,-1112816343,1039723405,1039289519)+W(9,1015654008,-1108815670,-1116817631,1032741190)+W(10,-1115063927,1007040780,-1118782984,-1114815627)+W(11,998545680,-1127143385,1025703109,-1123886254);sum2=W(0,1023906737,-1110646223,-1119411664,1010017751)+W(1,-1108429461,1029589423,-1110439418,-1125097343)+W(2,1067295699,1065087692,1065459703,-1118952488)+W(3,-1081475488,-1083105366,-1095503285,-1083389324)+W(4,-1081442287,-1085042817,-1083251842,1050008558)+W(5,1064700095,1064469883,1057972141,1061045473)+W(6,-1097077469,1037915281,-1096872835,-1110920551)+W(7,1006981249,1036080906,-1106015672,1051761632)+W(8,1029195957,1015927544,1018101230,1042598936)+W(9,-1103158035,1041992018,-1108943564,-1114827780)+W(10,1026431960,-1132623721,1018762696,-1124571002)+W(11,1020104602,-1114107558,1036691137,-1119006739);WS(1034259896,1039623341); +sum1=W(0,1016878676,1028460795,1034359235,1011385345)+W(1,1015855070,1016831138,-1128588247,1025908283)+W(2,-1137539339,-1104998988,-1129847248,1015052988)+W(3,1032818160,1044006969,1033445320,1043524531)+W(4,1055868742,1047938201,1058114664,1043619008)+W(5,-1096687428,-1092418872,-1100196186,-1095896370)+W(6,-1088089066,-1091378989,-1090213650,-1114958501)+W(7,1054476715,1049053750,1040121848,1044746961)+W(8,1043298073,1036240559,1043122195,-1119276751)+W(9,-1110579607,-1101201217,-1106781444,1018213241)+W(10,984347141,-1121755284,932956556,1018241806)+W(11,1026808723,1034235663,1010316760,-1120101215);sum2=W(0,951810592,1033659165,1002259560,1037243759)+W(1,-1112310958,1034753865,992340497,-1114454490)+W(2,-1108037836,-1102042508,-1103529440,-1102191435)+W(3,-1111056455,-1119026649,-1101647251,1024637657)+W(4,-1092018666,-1107310314,-1101738099,1066447662)+W(5,1032823775,1031795157,1040899047,1046257437)+W(6,-1130209970,-1115641842,1041635941,1067062587)+W(7,-1098661250,-1099014553,-1117726225,-1111013301)+W(8,1022643242,-1110096702,1034513697,-1100161415)+W(9,1027860693,-1096684817,-1114962434,-1112982645)+W(10,1009312276,1032067593,-1114108683,1041326077)+W(11,-1120382671,1026651225,1038338139,-1106704138);WS(-1096556910,1067967914); +sum1=W(0,1032707155,1024354487,-1131915011,1043480447)+W(1,-1118942187,-1132633269,1031302952,1031513592)+W(2,-1122886335,1031668012,1021347526,1041914807)+W(3,1036630543,1034774528,-1125222297,-1106257250)+W(4,-1095119782,-1103532312,-1095435756,-1090836352)+W(5,-1091218783,-1104917967,-1100801113,-1104067043)+W(6,1055235700,1048353625,1044387963,1053060297)+W(7,1041581564,1052242886,1033613430,1050269976)+W(8,-1120012638,-1105977207,-1105830818,-1133082414)+W(9,1017318739,-1121967338,-1130484760,-1109204860)+W(10,1031514684,-1126996321,-1116416117,1043128001)+W(11,-1110350280,1039162573,-1148985233,1034839630);sum2=W(0,-1125934657,-1120747465,-1126946517,1019390634)+W(1,-1140291646,1045993569,-1110717499,1038335355)+W(2,1041393774,1032139854,-1107151652,1046075673)+W(3,-1090083756,1024325836,-1116058677,-1097350707)+W(4,-1097497496,-1114660789,-1096477783,1057927405)+W(5,-1110210473,-1137735680,1033250412,-1127153776)+W(6,1047775001,-1105604596,1048515105,1059160295)+W(7,1043731078,1039621515,-1116506490,987432265)+W(8,-1131783044,1018330620,-1096755902,1041946221)+W(9,-1091797353,1046026631,-1106745231,-1124643180)+W(10,-1122059316,-1129241452,-1147658728,1011994599)+W(11,1032850220,-1126091098,1009337229,-1124186068);WS(1061843767,-1077951557); +sum1=W(0,1026388735,-1120114128,1037862893,1029309653)+W(1,1036389538,-1122000006,-1126306304,1030215888)+W(2,-1106366502,-1131166601,1029755951,-1091391038)+W(3,1048316317,-1099454574,-1106178153,1034019808)+W(4,1059311576,1043697070,1054385928,1057568381)+W(5,1054220568,1049723715,1050234615,1058416302)+W(6,-1088217072,-1105977039,-1091419383,-1089136642)+W(7,-1092475601,-1095416897,-1096877448,-1091809363)+W(8,1041378862,-1130669927,1047467576,-1111164306)+W(9,1053509792,-1108260705,1038585474,1045917860)+W(10,-1102542817,1039925540,989452730,-1105668215)+W(11,-1138232735,-1130981221,-1107228323,-1116719540);sum2=W(0,1061533858,1062451832,1068272760,1070735043)+W(1,1070929067,1058522058,1059576348,1052624489)+W(2,1041546460,1044663473,1019905335,-1103665132)+W(3,1027882908,1053579543,1030217484,1042937819)+W(4,-1081881922,-1084977950,-1081565785,-1079025547)+W(5,-1082597652,-1079765468,-1088759123,-1090364693)+W(6,-1104625991,-1116240264,-1115490290,-1094934042)+W(7,1002519540,-1096683616,-1103272320,1039524167)+W(8,1020257203,-1107478927,1038097782,-1129735749)+W(9,1043320870,997759194,-1110736144,1041293151)+W(10,-1112819836,-1146254682,1018218872,-1108448519)+W(11,1032555484,-1111378699,1018278443,-1120119454);WS(-1084224055,-1088316584); +sum1=W(0,-1113613001,1003388692,-1106869627,1016662735)+W(1,1022316973,-1136760929,1028746387,984919127)+W(2,-1107673717,1028109079,1012698375,1027116933)+W(3,-1094644889,1023495179,-1107590588,1024116594)+W(4,1006747746,-1098426505,-1088923256,-1097246285)+W(5,1057877820,1033746004,1041863252,1022736621)+W(6,1039555654,1048291572,1059475506,1054502102)+W(7,-1093203288,-1098003683,-1105649846,-1114921814)+W(8,1033838821,1024741190,-1120760050,1019707757)+W(9,1048977331,1036081339,1041797102,-1127589064)+W(10,-1159624430,-1124153911,1033833840,1010228666)+W(11,-1114819581,-1110624834,-1119454813,-1122201606);sum2=W(0,1015245257,-1113948506,-1130594159,1007533655)+W(1,-1122336092,-1131246557,-1121042747,-1112003767)+W(2,-1113301472,-1150409563,-1113241340,988101766)+W(3,-1114338752,1042344950,1024929700,1034588627)+W(4,-1126889814,1027745966,1053517180,-1115083078)+W(5,-1120298083,1009652067,1023796132,1015099871)+W(6,-1122805777,-1121614859,1035094088,-1117590123)+W(7,1041346715,1010321235,1022595647,1021357977)+W(8,1024783162,1024732276,1035927962,1033594898)+W(9,-1136757529,-1112303516,-1107129305,-1116844702)+W(10,-1125306444,-1120982285,-1117285071,-1115586407)+W(11,-1179946326,-1122655190,1031780006,-1109817399);WS(1056759150,1060224665); +sum1=W(0,-1139374311,995010733,-1111414410,-1108849608)+W(1,1028987391,1016981889,-1123115291,-1129401942)+W(2,-1132085157,1023919167,1047983919,1035204919)+W(3,1044747100,1009635916,1026679904,-1133052010)+W(4,-1099925456,-1105275165,-1089721802,1047380996)+W(5,-1111752399,-1106656308,-1119632759,-1103728616)+W(6,1041263149,-1143162806,1045591848,1054640011)+W(7,-1086265361,1052567064,-1119813375,1036660778)+W(8,1033127353,1020125661,1047176279,-1109178223)+W(9,1047077327,1025513390,1020940735,1026259564)+W(10,-1131329248,-1128574472,-1124813330,-1115433611)+W(11,1014274699,-1114033239,-1135589654,-1154487021);sum2=W(0,1023227060,1023565277,1023373012,-1127246210)+W(1,1035525242,-1115895934,1032252451,-1115664904)+W(2,-1114834111,-1123243930,-1110717616,-1119831250)+W(3,995075850,-1112704991,-1137853837,-1177558227)+W(4,-1123255684,1036838581,-1121973236,-1128787384)+W(5,-1106791563,1017209933,1025363014,-1117762720)+W(6,-1111609489,-1109001470,-1106028739,1068968933)+W(7,-1084327071,1049794788,-1103092626,1033559138)+W(8,1029177075,1046335474,1040383540,-1085459757)+W(9,1055427968,-1106438120,1039281515,-1108939748)+W(10,1009084849,-1110362282,1030364025,1038001226)+W(11,1004844681,-1109625554,1026824663,1027051057);WS(1059198391,-1114206899); +sum1=W(0,-1123230572,1033309054,-1136657179,1042361008)+W(1,-1127872354,1026831155,1034821095,1027013917)+W(2,1047908609,-1113872057,-1131612168,1032838544)+W(3,1018582917,1025662981,-1122684754,1042918755)+W(4,-1086695351,1005036838,1053830093,1063074340)+W(5,1022976638,1048968528,1037218004,1045668084)+W(6,-1111534963,-1127426130,-1097279138,1032841926)+W(7,-1102974814,-1086802103,-1094977286,-1080167184)+W(8,1041894153,1035651728,-1114797926,1042266564)+W(9,1036160183,1043048448,1028546130,1051954532)+W(10,-1168813170,1029018614,1015674230,-1115081892)+W(11,1022213546,-1119589535,1023015663,-1121567905);sum2=W(0,-1109294951,1044771761,-1106240469,1037653814)+W(1,-1132138943,-1129034439,1027920896,-1126749735)+W(2,-1116747636,-1095594447,-1091993541,-1098134808)+W(3,1045429231,-1112675284,1030264036,1027709116)+W(4,1053044316,-1102224225,1065361960,1060397410)+W(5,-1095097189,-1139768526,-1100471477,-1095674438)+W(6,-1093594252,1044254591,-1103264547,1059446961)+W(7,1053539276,-1147713757,-1115698004,-1131922215)+W(8,-1105874671,-1148207325,-1098859579,-1110887683)+W(9,-1103270924,1018090127,-1105560593,1044415945)+W(10,1036768486,-1122217612,1038496462,-1106764847)+W(11,1035231626,-1112984312,1037287074,-1106415399);WS(-1081905372,1072993545); +sum1=W(0,1004609681,-1113931058,1017897178,-1110350900)+W(1,-1119842647,1029593625,-1114320538,1026419555)+W(2,-1111485397,1044870886,-1101161424,1042868018)+W(3,1016958866,1036666966,1034341084,-1123516147)+W(4,-1100618406,-1103601459,-1117978262,-1088871615)+W(5,-1096217303,-1090419947,-1105396084,-1100180286)+W(6,1052555682,1050421002,1053397115,1057434595)+W(7,1037835279,1054502387,1036260396,1041011339)+W(8,-1113666277,-1125853837,-1109207833,-1108715676)+W(9,1041223333,-1131918060,1046093262,-1108472674)+W(10,-1113131956,-1119475260,-1119057377,-1116054255)+W(11,1033629886,1019600139,1034832815,1025124935);sum2=W(0,1027207918,-1131003531,-1155176792,-1144704129)+W(1,-1120277627,1018692534,-1122116985,1016313728)+W(2,-1134820995,1019005665,1018656479,1016837667)+W(3,-1133755465,1007330736,1008190855,1024160458)+W(4,-1123507780,992028222,1020777698,-1093100477)+W(5,-1106617270,1026210395,1015481059,1009441727)+W(6,1022927690,1039006609,-1108026125,-1075529389)+W(7,-1071234400,-1098388857,1043410538,-1127804151)+W(8,-1148644129,-1114458430,985006155,-1165905039)+W(9,1009164120,1080134310,1068769301,1038162442)+W(10,-1124904791,1019252639,1019665619,-1148497627)+W(11,-1154476856,1041946375,-1120913968,-1102924087);WS(1052536174,-1151096569); +sum1=W(0,991116371,1033302347,-1116642336,-1115536654)+W(1,1020657940,-1114833734,1031490598,-1158391502)+W(2,-1128173243,-1146822742,1036050892,1034768509)+W(3,-1102372039,1030675614,-1114628406,1032401267)+W(4,-1103836723,1034951935,-1087917523,-1106200391)+W(5,1061554222,1041046871,1046795201,1027714602)+W(6,1032573088,-1120898050,1057405287,-1120590821)+W(7,-1082912644,1002819162,-1124848916,-1124036191)+W(8,999976938,-1138114279,-1098834165,-1118223722)+W(9,1047922098,-1107937520,1038688870,-1118805976)+W(10,1037991630,1035558856,1042054293,986260550)+W(11,-1130396508,1023135729,-1142052488,-1177279769);sum2=W(0,1035223119,-1127800761,1038890181,1028905699)+W(1,994981383,-1127955051,998786660,-1121293280)+W(2,1038869307,1034423710,-1109261585,-1095895125)+W(3,-1098712671,1032845262,1030375171,-1114148994)+W(4,-1108836158,-1116666352,-1087753137,1061176216)+W(5,-1099737664,-1208820627,-1126035264,1042226462)+W(6,-1105867416,-1109342419,1027333841,1057224086)+W(7,1049674522,1011854042,1017325847,-1120003540)+W(8,-1106282608,1047028407,-1148256348,-1148022324)+W(9,-1103462952,1043242553,-1121350765,-1117125009)+W(10,1028503999,-1119414296,-1113209005,1010099974)+W(11,1020393479,-1115953239,1024565993,1001260628);WS(1058902967,-1081860445); +sum1=W(0,-1121371387,1029881036,992316765,-1117974353)+W(1,1019164800,-1115308289,1031905998,-1118946572)+W(2,-1116017491,-1110722656,-1103068528,-1120254383)+W(3,-1111729689,-1123116948,-1110978129,1027465948)+W(4,-1114517185,-1096281750,-1110556335,-1087192661)+W(5,-1138608617,-1119671953,1026716344,1026550240)+W(6,-1144385454,1046612526,1050079932,1061346066)+W(7,1054224317,1023689473,1034730016,990814541)+W(8,1031405875,1032371736,-1114542190,-1113719056)+W(9,-1147587566,-1121094047,1032702160,1025765741)+W(10,-1133995267,-1118231237,1037331941,-1117606232)+W(11,1027634660,-1114416951,-1150819433,1002408318);sum2=W(0,-1127268449,1008157504,1022079949,-1129508015)+W(1,1023435994,987488696,-1149203238,1025441916)+W(2,1017520494,-1110533731,-1110799425,1038116680)+W(3,-1149062134,-1109564641,1031926637,-1140288129)+W(4,1046612660,1053115740,1042237616,-1081939523)+W(5,1046590815,1019421448,1025089506,1002014090)+W(6,-1104246964,-1126879265,1071620340,-1082767624)+W(7,-1091995420,-1133233221,-1113723868,1008464055)+W(8,-1098833757,-1103206877,1047260740,1046386206)+W(9,1034566387,-1113663072,-1131415815,-1120607589)+W(10,1019779427,-1135658469,-1112586418,1021781126)+W(11,1021597755,1025921212,1022181144,-1133866981);WS(-1118927728,-1114990634); +sum1=W(0,-1123938375,1040612950,1024746402,1022214714)+W(1,1038811590,-1112630087,-1118622728,1031232344)+W(2,1033195056,-1114716774,1048819881,-1104426015)+W(3,-1105195831,1042575344,-1098438774,1038434900)+W(4,1057535917,1047260544,1042772673,1057677234)+W(5,1045869257,1057533694,1042859777,1055588422)+W(6,-1087859524,-1132924433,-1087499341,-1097320317)+W(7,-1091890215,-1089715893,1029276300,-1091230428)+W(8,-1107191040,1007112943,1043648426,-1093740782)+W(9,1042013107,1020754614,-1107815558,-1113991309)+W(10,1047574307,-1106834116,1044210486,1028537764)+W(11,-1106862316,1047539199,-1107232885,1041569343);sum2=W(0,-1117938617,1034943831,1047294563,-1112881764)+W(1,-1113196518,1017166837,-1119652380,-1122537978)+W(2,-1098776947,-1074997876,-1067348911,-1073328658)+W(3,-1106856879,1007574096,1040326435,1003760381)+W(4,1052841626,1071950042,1078478928,1075942353)+W(5,1048374094,-1110198115,1016518417,-1132261857)+W(6,-1111689798,1008522816,1042633900,-1105497105)+W(7,-1100859969,1027760421,-1106280857,-1146348222)+W(8,-1101990052,1023979086,-1106116215,1040726051)+W(9,-1128120408,1041816709,1015116440,1015700123)+W(10,1034353164,1019125592,1021696573,1032192788)+W(11,-1129459590,-1114781060,983174391,1019612376);WS(1034111416,-1106797037); +sum1=W(0,-1127934684,-1146675705,1006977829,-1113401378)+W(1,1019549798,1016064490,-1139061950,998716411)+W(2,-1113852291,1035613338,1034804131,1037672145)+W(3,1044038057,-1106829090,1033066250,995721454)+W(4,-1096035023,-1102929642,-1090308252,-1089088820)+W(5,-1096624416,-1097224209,-1104516203,-1095532026)+W(6,1052464285,1042719307,1054858571,1057164897)+W(7,1050796251,1048920159,1042039981,1049209393)+W(8,1032415443,-1114220817,1032020487,-1123663635)+W(9,1035431737,-1131720964,-1114943722,1041424208)+W(10,-1113420426,1025128440,-1114922591,-1136503085)+W(11,1026704599,-1109868785,1024811962,-1138798477);sum2=W(0,1018373307,-1117669473,1036793172,-1107254646)+W(1,1027210469,983011887,-1124389554,999841656)+W(2,1030944977,1035483586,-1120221588,-1138388666)+W(3,-1119036598,1026801669,-1120993070,1036234905)+W(4,-1120549779,-1113169149,1031305133,-1118729068)+W(5,-1123944089,-1136088418,1045466087,-1110162376)+W(6,-1139755202,-1114451942,1047991436,1050438576)+W(7,1058194810,-1103576008,1037255439,-1114267729)+W(8,-1101691927,-1102665013,-1083948126,-1083351573)+W(9,-1081291530,-1106933299,-1095248620,-1124771645)+W(10,1049483493,1049560407,1057078402,1060878230)+W(11,1058504911,1044728114,1047223280,1036725012);WS(1038841272,1052605132); +sum1=W(0,1031922765,-1104568331,1037544250,-1109808312)+W(1,-1115625903,1042593752,-1105481799,1033924054)+W(2,-1100459309,1046914264,-1120141702,-1117060814)+W(3,1046551204,-1097718198,1032086688,-1112841053)+W(4,1037270288,1041702805,-1098675705,1045728636)+W(5,1017164043,999474559,1031450455,1034794943)+W(6,1026910357,-1101939446,1040827436,1037079325)+W(7,-1095425143,1046662664,-1103113592,1015870568)+W(8,1023447506,-1114279623,1048352911,-1115507167)+W(9,1040518727,1038294495,-1106032688,1041969331)+W(10,-1104596348,1044685961,-1104877098,-1117405559)+W(11,1032200833,-1104511859,1039045107,-1111795079);sum2=W(0,-1119788132,1033659476,-1112158198,1008462738)+W(1,-1128623485,-1135723434,1030330775,-1125624097)+W(2,992683382,-1104347191,1044081475,1034564598)+W(3,1037093866,-1118342628,1008221186,-1116661382)+W(4,1018867293,1020892153,-1090780387,-1098943438)+W(5,1024702018,1037085984,-1108937272,1041747819)+W(6,1022669528,1043646320,1053457206,-1103925357)+W(7,-1094689316,-1130567667,-1111881166,1006874186)+W(8,1044098145,1022003003,1053806225,1061138285)+W(9,1061570617,1042502677,1045330453,1015917808)+W(10,-1102594356,-1105788334,-1097169858,-1089462725)+W(11,-1090351234,-1124000960,-1102638867,-1119261652);WS(1059476151,-1123203418); +sum1=W(0,-1111725774,1032359159,-1110577724,-1105544893)+W(1,-1121304930,-1115245634,1036887935,-1110517831)+W(2,1035594491,1034919857,-1111760306,1046155316)+W(3,1044165509,1020829292,1039852002,-1120384574)+W(4,-1091810916,-1140486487,-1084838663,-1086139015)+W(5,-1095808892,-1096673622,-1127813812,-1090491960)+W(6,1057461865,1048140086,1060577506,1052038472)+W(7,1057513991,1053266340,1045123672,1055106407)+W(8,1016189354,1034245225,-1104347695,1027870402)+W(9,-1103056264,-1108853472,1031021091,-1133152957)+W(10,-1123857235,1028750247,-1113205590,-1121460986)+W(11,-1148349487,-1113141864,1036934292,1011178567);sum2=W(0,-1114868977,-1107973502,1044770988,-1101288212)+W(1,1025917421,1028043472,-1111158861,-1123193100)+W(2,1026556603,-1115461868,-1104823400,-1105554340)+W(3,1036199790,-1116199065,1020651575,-1128075734)+W(4,1004734644,-1092079110,1059587552,1045430990)+W(5,1037874646,-1137785064,-1093651456,-1127404110)+W(6,1034344926,1042028492,1024895663,1050688149)+W(7,1047334362,-1116948841,1044938016,1042458099)+W(8,1040708934,-1103991549,1051421807,-1095880897)+W(9,-1118101029,-1122024357,-1099771430,1007412048)+W(10,-1131620842,-1105590488,1029419915,-1114582112)+W(11,1015496806,-1121536685,-1121478353,-1127827256);WS(-1096078190,-1082738059); +sum1=W(0,1007239809,-1114850361,-1130257143,-1112210107)+W(1,-1118665957,1028242343,-1116764258,1022403683)+W(2,-1108860284,1046670329,-1103368477,1045976117)+W(3,1029494103,1036298605,1029804679,-1128309634)+W(4,-1100207850,-1101169270,-1116530972,-1088435015)+W(5,-1092482434,-1090334611,-1105280439,-1099682433)+W(6,1053165251,1050939564,1051252601,1056131912)+W(7,1045571555,1053021861,1035862579,1038809821)+W(8,-1112013420,-1126100266,-1112810720,-1124484747)+W(9,1041969097,1032260218,1044490698,-1114977769)+W(10,-1115685558,-1124400725,-1112871192,-1117830909)+W(11,1031308937,-1143992478,1037078646,1016808747);sum2=W(0,-1133820219,-1147891684,-1127336652,-1127200453)+W(1,1020736496,1001166860,1022486646,-1135690985)+W(2,1027229337,1032424255,-1137665638,1045946307)+W(3,-1116510358,-1145031593,-1116471963,-1126621635)+W(4,-1115513384,-1107406978,1037916056,-1096925824)+W(5,1031285965,-1138759126,1020254812,-1122394148)+W(6,1007940354,-1125237780,1044701152,1067148595)+W(7,1076670751,1039470145,-1109537872,1025436583)+W(8,-1156542700,1031863482,-1113898133,1048747828)+W(9,-1101339101,-1070343554,-1082365934,-1107321525)+W(10,1020775992,994071912,-1127018949,-1115116116)+W(11,-1122694416,-1106720041,1034791139,1039293842);WS(1056919406,-1123699093); +sum1=W(0,-1153021483,1016658279,-1169964908,-1131540465)+W(1,-1116724456,1018808083,986184318,1026972628)+W(2,985933670,-1142160193,1032391598,-1109380555)+W(3,-1112807501,-1115139838,1023499017,-1119658051)+W(4,-1089586019,-1106728023,-1095447822,-1095937215)+W(5,-1092279079,-1105250414,-1104943256,-1093497009)+W(6,1058308826,1043832952,1054485203,1051425640)+W(7,1057168451,1053123845,1034402292,1056025192)+W(8,-1122912091,-1111941676,-1114359010,1038539876)+W(9,-1129000267,-1105627696,1011544866,-1129701482)+W(10,-1130942473,-1162334614,-1115887538,1035573952)+W(11,-1120065804,1037216107,-1114397383,1031803900);sum2=W(0,1034281368,-1126716121,-1121241308,1045372780)+W(1,1035929285,1047600787,1004087438,1041718259)+W(2,-1104410341,1032410612,-1087414339,-1068615761)+W(3,-1067644471,-1091405946,-1118166494,-1097556864)+W(4,1018060402,1017706532,1061712823,1078313037)+W(5,1079888634,1048822788,1023636550,1035128990)+W(6,-1138447737,-1115589617,1021983592,-1100339818)+W(7,-1123293195,1030149270,-1120625820,1021734756)+W(8,994323516,1029627322,-1133709215,1015111478)+W(9,1023885100,-1124744731,1010097407,1009567515)+W(10,-1140256393,-1133676977,1012505315,-1130902073)+W(11,1028720332,-1123320040,1022959192,-1136405679);WS(1057577783,-1116545908); +sum1=W(0,-1140559047,-1119858755,1001413734,1019558160)+W(1,1027838711,-1123065945,-1133184076,-1116764451)+W(2,1023488522,1007841757,-1099448121,-1135636631)+W(3,-1106014610,-1112832085,-1132115376,1007686986)+W(4,1031631673,1034355893,1034820815,-1095265297)+W(5,-1133110549,976310772,1031909175,1033492939)+W(6,-1127758170,-1102068668,-1139646818,1043309332)+W(7,1058446926,1018622064,1033516923,1033353766)+W(8,1037581685,1038802963,1020321573,-1118918103)+W(9,-1104027725,-1110623851,-1124259695,-1114622946)+W(10,-1129099776,1023940956,1023108226,-1133216315)+W(11,1027058075,-1123708581,1025545342,-1118432359);sum2=W(0,-1139693312,1036960926,-1143311649,990661185)+W(1,1015972640,1000525745,-1129692664,1028832752)+W(2,-1124752720,-1121090060,-1099787410,-1112556974)+W(3,-1123282486,-1104610584,1028371280,-1104217347)+W(4,-1098950560,-1103693150,1033289622,1052753541)+W(5,-1106573325,1031872996,-1115662969,-1115847157)+W(6,999696497,1034222778,-1104157082,1058657457)+W(7,1042484509,1044261031,1026599244,1041506121)+W(8,-1111434581,-1119707404,1018041096,-1108624084)+W(9,-1111132399,-1121815492,1018446608,-1129135268)+W(10,1026280044,1014405392,-1121205834,1023217352)+W(11,1005957425,1017712752,-1139874592,1010211304);WS(1063874743,-1123600943); +sum1=W(0,1026726381,1005084141,-1121313992,1022502021)+W(1,1010678471,1012880846,1016038684,1031948511)+W(2,-1110972995,1029034162,1029564141,1019350337)+W(3,1021423943,-1112342611,1036724585,-1096649610)+W(4,-1088392527,-1096434085,-1088422197,-1089197156)+W(5,-1089730182,-1099324833,-1105649226,-1102131796)+W(6,1060534134,1052968261,1061531727,1048937234)+W(7,1053585019,1049533342,1044791660,1047748258)+W(8,-1131352649,-1125442370,-1111100967,1007055431)+W(9,-1124123103,1037169096,-1119334386,1048887628)+W(10,1017113381,1023149165,-1121647548,1028622922)+W(11,-1132301739,-1122598880,1017220849,-1134858375);sum2=W(0,1041516351,-1114001722,1031962338,-1127882717)+W(1,1024371132,-1116893380,-1137233618,1035584360)+W(2,-1098661524,-1113317539,1041960143,-1113172562)+W(3,1057245216,-1108932190,1040530840,-1090505328)+W(4,1065773241,1066164852,-1094243603,-1071023147)+W(5,-1087722937,1043021464,1059923771,1062948018)+W(6,1067471192,1062194047,-1131590099,-1071391818)+W(7,-1082288010,1036914992,1056604249,1065534266)+W(8,-1095722385,1029392016,1045112423,1027735196)+W(9,1047570295,-1110460182,1008215114,-1096088381)+W(10,1025030832,1015621429,1033273068,-1106774969)+W(11,1021784721,-1147670187,-1157997580,1025226110);WS(-1081605212,1037230241); +sum1=W(0,-1129286954,-1127382348,-1114123448,-1119205995)+W(1,-1116053850,-1114061454,1024011222,-1165173963)+W(2,-1115600951,-1127078325,1045220821,1032978341)+W(3,1031622828,1039357911,1020277751,1026874614)+W(4,-1139829872,1037397159,-1103957592,1057561887)+W(5,1057799156,-1103125195,1035843369,-1159950147)+W(6,1042245092,-1101819637,1057239854,-1089716883)+W(7,-1088291628,-1162281827,-1111135597,-1144308089)+W(8,-1130516890,1025459530,-1098019463,1040837167)+W(9,1039979404,-1123433113,1008116332,-1115664788)+W(10,-1191245347,-1140137724,-1135821456,-1153142562)+W(11,-1123070334,-1115244132,975751222,-1121723210);sum2=W(0,-1129847377,-1132201467,-1111059277,1032250249)+W(1,1003251981,-1175110606,-1119100754,1007928974)+W(2,1027890930,-1115667911,-1109124506,-1115518668)+W(3,-1131706033,1033851379,1008685286,-1130851063)+W(4,1045384717,-1139027758,1062718876,-1088514518)+W(5,1043614591,-1096199608,1038009999,-1126833063)+W(6,-1131041629,-1086235324,1071241567,-1104078593)+W(7,-1091065468,1021865867,-1113376611,-1120766781)+W(8,-1118537275,1015945835,-1090110249,1050303031)+W(9,-1130925231,1030828678,-1128909271,-1121346672)+W(10,-1129495121,1022067627,-1139816838,-1109320206)+W(11,1035917053,-1140186118,1027374356,-1130315761);WS(1048635758,-1111558989); +sum1=W(0,-1116715915,1007517554,-1125319757,-1130676803)+W(1,1032051720,-1122176818,1019813529,-1125995833)+W(2,-1114167026,-1144951432,1032434734,-1116349759)+W(3,1007313161,1037795522,1011561671,1022555096)+W(4,1019884197,-1100411873,-1082609609,-1099356457)+W(5,-1114189151,-1098216348,-1118483848,-1115419480)+W(6,1046236914,1042364482,1057088310,1060062511)+W(7,-1105629450,1032549225,-1156935944,1017135051)+W(8,1023679491,1030303424,1025882348,1027068912)+W(9,1046455412,1037080648,1024380849,1020138940)+W(10,-1123924777,-1115625243,1018952757,-1117219752)+W(11,-1128015465,-1117338239,1001454266,1015509889);sum2=W(0,1017200252,-1128076598,1020177744,1027061114)+W(1,-1120062015,1007295183,1005463470,-1120999608)+W(2,1032764106,1032749056,1042154489,-1091917968)+W(3,-1115647155,-1109350747,-1136438311,-1152745757)+W(4,-1100965710,1036328960,-1079875623,1069362278)+W(5,1041923814,-1121245377,1023734232,-1115720719)+W(6,-1120952053,-1105592489,-1093732085,1053281179)+W(7,1053015354,1023497366,1044015507,1040619345)+W(8,1023440400,1037836738,-1110726007,-1110949820)+W(9,-1097734576,1029656316,-1107014120,1039138178)+W(10,1026555164,-1121478225,1032334674,1004458190)+W(11,1030547292,-1115087241,1024950244,-1107079388);WS(1057226679,-1099093504); +sum1=W(0,-1117743115,-1111361838,-1142218540,-1115584496)+W(1,-1144474236,-1112915081,-1118048876,-1124754680)+W(2,-1106860569,-1097721634,1017711998,-1098477656)+W(3,1017808579,-1127808199,-1110778360,988685674)+W(4,1059123761,1043835217,1054886149,1036645937)+W(5,-1096319852,-1102898152,-1108186916,-1103594844)+W(6,-1116606854,-1113320356,-1098795498,1036044245)+W(7,1058878095,1054951826,1042821748,1057715322)+W(8,-1117312579,1021938430,1024346219,-1113074392)+W(9,-1113306631,-1104150268,-1109837016,-1104945799)+W(10,-1126837697,-1108681130,-1128001843,-1126342351)+W(11,-1145404316,1022603516,-1113519979,-1166667748);sum2=W(0,1017552406,-1121365003,1024315197,-1126393870)+W(1,1006096662,1026122801,-1115019758,1010820131)+W(2,-1115134458,-1113297695,-1121331284,1034056828)+W(3,-1116036592,-1122098200,-1138309587,-1114451237)+W(4,-1123239700,1033578978,1032104202,-1122610502)+W(5,1042239151,-1128246386,-1130645774,1021632898)+W(6,1040415751,-1119377084,1033268884,1042552247)+W(7,1014688747,1038912262,1011328923,1013103251)+W(8,1024802817,-1140510683,1031096569,1027588477)+W(9,-1116363642,-1106292650,-1119712705,-1106135611)+W(10,-1116030864,-1154029132,-1127078294,-1123710517)+W(11,-1142638070,1002524342,-1123496021,1026182445);WS(-1108758968,-1120615143); +sum1=W(0,1007512449,-1118729201,1033236958,-1188181540)+W(1,1032455763,-1139132956,-1126666947,1028445809)+W(2,1043847294,-1115009907,1038269372,-1103491829)+W(3,1026842103,1028990457,-1112992067,1045480960)+W(4,1041722714,1047642150,1052029054,1056274631)+W(5,1057598894,1044856958,1049081300,1008203541)+W(6,-1089504654,-1097300100,-1092318719,-1092329088)+W(7,-1088834696,-1094694701,-1102944265,-1095636207)+W(8,1035899020,1024857813,1041772976,-1115586563)+W(9,1037648114,1028932916,1031373190,987483733)+W(10,1021562716,-1157490338,1033997944,-1127937658)+W(11,1034853541,-1139535439,999073631,1033314299);sum2=W(0,1022601823,1027503424,-1114440342,1031020236)+W(1,-1115479573,1028798660,-1137878778,973255146)+W(2,-1119857460,1016942723,-1113768249,1049278985)+W(3,1023747258,1008539869,1030670036,-1124354630)+W(4,-1099325942,-1112391205,1050839307,-1097330938)+W(5,1019565806,-1108724816,-1143955309,-1115374863)+W(6,-1068582801,-1076271776,1067690352,1077639092)+W(7,1061065209,-1120523343,1002861982,1029925423)+W(8,1035739756,-1104095012,1026494027,1047876791)+W(9,1016405011,-1115660355,1022661839,1033007729)+W(10,1015907333,1016973548,-1122697579,1015148595)+W(11,-1106941761,1032414836,-1126087053,-1124658022);WS(-1125070560,-1096513533); +sum1=W(0,-1112401838,-1141896047,-1114813980,-1125005414)+W(1,1026386210,-1115056418,1012901881,-1125623196)+W(2,1032850683,1035442769,1027743049,1036941992)+W(3,-1104378805,1037833707,1022681350,1033887999)+W(4,-1111199410,-1105684773,-1093508577,-1099350541)+W(5,1060063436,-1112618105,1035294797,988362813)+W(6,1046757622,1047296038,1061969278,-1107426238)+W(7,-1092774776,1028130403,-1127381572,1016528878)+W(8,1033951818,1013771590,-1100008383,1023589122)+W(9,-1122038496,-1110298148,1030080099,-1106008748)+W(10,-1110786345,-1113414691,-1131095256,-1114443933)+W(11,996299870,-1117830096,-1140100259,1014753608);sum2=W(0,-1128089453,-1110645236,-1130916401,1026446699)+W(1,-1115610756,1032679495,-1114433002,-1123355757)+W(2,1024340419,1043920397,-1129344777,1009781987)+W(3,-1102796808,1037523581,1023912055,1026431795)+W(4,-1102023306,-1114712453,1028225499,1057874897)+W(5,1052660862,-1102216434,-1127455825,-1128264837)+W(6,-1103821003,-1097377481,972074333,1059140954)+W(7,1038144249,-1107293486,1006589878,-1102041035)+W(8,1043342989,-1109265540,-1100613575,-1103696793)+W(9,-1116201867,-1131885037,-1105206442,-1127587329)+W(10,-1119644228,1026656603,1034952995,1032660433)+W(11,-1130501689,1029362471,1013212643,1005668278);WS(1049867118,1034735186); +sum1=W(0,-1127774262,-1117373036,1031064438,-1112922680)+W(1,1012648832,-1132535687,-1120670652,-1140537009)+W(2,1029333619,-1123455456,-1105261096,-1096141178)+W(3,-1120189874,1024540628,-1138107141,1000234461)+W(4,1019113028,1040322517,1040279186,-1101685436)+W(5,1044944438,-1121818673,1035373868,1032620736)+W(6,1024964758,1032014380,1048588372,1050135703)+W(7,1034886579,1040490120,1016312768,1034120602)+W(8,1007980364,1019723167,-1114399774,-1100797936)+W(9,-1113398479,-1150021355,-1128775361,1008873398)+W(10,-1121402761,-1118901061,-1126411220,-1110911420)+W(11,1019321608,-1114680743,-1121234663,-1121766352);sum2=W(0,-1161289046,1020587590,1029682388,1031608572)+W(1,-1117304231,-1129471662,965398246,-1134569151)+W(2,-1111556088,-1127668568,-1095922552,-1092239431)+W(3,-1165373610,-1120133906,1007233453,1019046119)+W(4,1038429491,-1130067243,1050898724,1058359401)+W(5,1040200303,1044552317,-1132308256,1031851372)+W(6,1024158411,1018324827,-1123472030,-1093717514)+W(7,-1118204561,-1112781150,1017795291,-1120826542)+W(8,-1123794133,1035096674,-1142905112,1042534485)+W(9,-1137719883,-1136196985,1027736448,-1128305748)+W(10,1016121349,-1127328688,-1126947701,-1126252937)+W(11,-1122434117,-1137031592,-1121369248,-1162116006);WS(1063598519,1040709546); +sum1=W(0,989424433,1025004011,-1117397173,1010227902)+W(1,-1116859551,1035862832,1012428267,1028295307)+W(2,-1129964132,1018517694,1036280904,1042042835)+W(3,1025484624,-1108371497,1028794752,-1105766207)+W(4,-1092181324,-1096845618,-1092686069,-1082263275)+W(5,-1087946945,-1124000752,977020321,-1108973663)+W(6,1056340507,1052096915,1055848084,-1117189370)+W(7,1053023013,1053676604,1044581128,1048031389)+W(8,-1140166214,-1124688156,1027380346,1041673920)+W(9,1025279965,1021321051,-1125256895,1035434166)+W(10,1007420926,1025298052,-1114706068,1030527159)+W(11,1004378644,-1130325786,1025029349,1015026205);sum2=W(0,-1128989779,-1132752301,-1121498089,-1112228563)+W(1,1023519830,-1111737432,1023675120,-1134051546)+W(2,1040099849,992269838,1034828720,1034859451)+W(3,1034954038,-1122349299,1019899084,-1112348174)+W(4,-1100874000,1034251701,-1104384455,1044543345)+W(5,1046406891,1028583216,-1114022376,1040182737)+W(6,1021993174,-1130867684,-1113539068,1053848304)+W(7,-1104908283,-1100179639,-1111378604,-1097476412)+W(8,-1130783901,1034483450,-1122004711,1016645052)+W(9,1032774629,1016210650,1033297067,1025418184)+W(10,1011642260,-1123860313,1016725938,-1122625223)+W(11,1011006880,-1114528083,1021084026,-1141294629);WS(1052377710,-1116561061); +sum1=W(0,-1122160137,-1112995181,1021266631,1017022397)+W(1,1032809511,-1105019076,1019774100,-1119221338)+W(2,1026711393,1046449684,-1094207935,1051777944)+W(3,-1105978112,1045042328,-1140860791,-1140595366)+W(4,1034438088,-1103073456,1059878180,-1091454284)+W(5,-1108523806,-1137740923,-1113848547,1015748571)+W(6,1023922180,-1112523427,1031595583,-1107259466)+W(7,1059633699,-1094439010,1048809290,1019553093)+W(8,-1115207840,1036366239,-1096200621,1043506315)+W(9,-1105628259,1043730779,-1114298535,-1117446555)+W(10,1014756539,-1110629817,1025340632,-1122333286)+W(11,-1126028515,-1114494718,1024493780,-1121208702);sum2=W(0,-1125003387,-1110204990,1008672566,-1110854180)+W(1,1015432805,1007507570,-1129875419,-1145172348)+W(2,1023545558,-1122326332,1039271760,997586352)+W(3,1043658401,-1126010948,-1128126180,1018354299)+W(4,1001356924,1049948311,-1104177316,-1099440370)+W(5,-1101604747,-1112581048,1034699764,-1118892801)+W(6,1019826271,-1106041547,1040609653,1057375034)+W(7,-1098469549,1041033112,-1108980340,1026776081)+W(8,1029018751,-1122275300,1017003703,-1099421810)+W(9,1052007058,1018898909,-1118843549,-1123423040)+W(10,-1114113554,1028296019,-1143932072,-1122149120)+W(11,-1118594118,-1129527698,1031512617,-1147650596);WS(1066846108,1044745002); +sum1=W(0,1019372186,978233216,-1129136976,1025331363)+W(1,-1142297744,1015116199,1015645340,1016287548)+W(2,1049403789,-1107121557,1041504923,-1134682116)+W(3,1039399714,-1122699462,-1121336819,1026221102)+W(4,1042475733,1051348497,1048713517,1054698948)+W(5,1049146911,1058118606,1046729314,1056609718)+W(6,-1091781177,-1100692098,-1091573825,-1089263023)+W(7,-1091452887,-1090043533,-1102394372,-1091564925)+W(8,-1124410122,1039801345,1032893815,1040511932)+W(9,-1146055296,1032222216,-1115550793,-1107840672)+W(10,1015897062,1009376476,-1126291000,1006187856)+W(11,1016897132,1012743170,1010428515,1000566800);sum2=W(0,-1121498998,1025173682,-1127952317,-1123064681)+W(1,1031325102,1031547392,-1116804726,1013263415)+W(2,1040076187,-1110698495,1046879062,-1114452496)+W(3,1037259271,-1113826794,-1113826560,-1114840697)+W(4,1040991236,1027215822,-1097422534,-1079622690)+W(5,-1113150532,1059352243,1032134129,1048220488)+W(6,-1097642453,1032193313,-1089335507,-1070315938)+W(7,-1080614075,1063284099,1075195474,1071802337)+W(8,1041191639,-1107046015,1027648922,-1107556506)+W(9,1040688678,1044912350,-1107091577,1050907604)+W(10,-1143069461,-1127878497,1033858873,1031644922)+W(11,-1125227083,-1135729999,-1112123781,-1104322253);WS(-1083170743,1032719415); +sum1=W(0,1023701883,1027723212,-1122560214,989186599)+W(1,1018265472,-1118377474,1034616094,-1143849572)+W(2,-1115388842,1037576352,1028066352,1034436696)+W(3,1046871436,1036384970,1041769608,1033711598)+W(4,-1095142736,-1104329709,-1093573195,-1091782714)+W(5,-1090370147,-1088395265,-1092608855,-1085234190)+W(6,-1131637740,1047136718,1050356544,1058921626)+W(7,1057401704,1046747968,1048250192,1051022467)+W(8,1043889005,-1114738168,1032119470,1035779088)+W(9,-1119260798,1026791695,1007978244,1035213927)+W(10,1012236805,-1143133226,-1126174356,1024911192)+W(11,1033076018,-1122725807,1033024419,1028803056);sum2=W(0,1040592912,-1148866748,1032765896,-1113675298)+W(1,1035431068,-1111525482,1031171080,-1111672592)+W(2,-1091007599,1043419584,-1111893630,-1100951705)+W(3,1030657616,-1123081200,1009914590,1048594219)+W(4,-1122569720,-1102576481,-1114969246,1060370086)+W(5,1018512847,-1112438148,1033713452,-1120657004)+W(6,1061904811,-1110256028,1042199718,1060838438)+W(7,1061366749,-1086083341,1029235040,-1090315205)+W(8,-1096410255,-1106770914,-1108992598,-1088153932)+W(9,-1091610254,1039676388,-1104419583,1040642594)+W(10,-1107753434,1043044202,-1138614142,-1121677972)+W(11,1049599377,-1117594428,-1154941432,1041324320);WS(-1087374135,1068569819); +sum1=W(0,1034522569,-1114460210,1040675195,-1156322949)+W(1,-1126356143,1038944141,-1123272884,-1147588893)+W(2,1036038485,-1134485343,998999958,-1102898978)+W(3,1032174021,1032843110,-1112707068,1041667373)+W(4,1051494643,1048850073,1055860825,1058980799)+W(5,1050366134,1048730421,1043911796,1049367775)+W(6,-1092286050,-1097395434,-1093950865,-1086427635)+W(7,-1097745188,-1098221875,-1095510475,-1093210118)+W(8,1024631242,-1155697773,1034953465,1036357020)+W(9,-1115522123,1020968428,1032316940,-1134843155)+W(10,-1124293233,1035227470,1022306499,-1115248568)+W(11,1025097211,1020281868,-1112095119,1003691067);sum2=W(0,1036982689,-1109420523,1038171016,-1114883799)+W(1,1032698755,1023400751,-1119043865,1034471555)+W(2,-1101176821,1040154700,-1103427381,1011961296)+W(3,-1115041464,-1112162319,-1114657793,-1117007917)+W(4,1032029724,1008871494,1053639476,-1094943648)+W(5,1046242469,1015257266,1018562568,1031877719)+W(6,1031712503,1051308638,-1103617514,-1090481186)+W(7,1048516585,-1110670159,1026474691,1044794303)+W(8,-1095262307,-1089037290,-1077227331,-1077304111)+W(9,-1075605762,-1086532256,-1115849955,-1110424851)+W(10,-1135236510,1036178124,1056219784,1063074442)+W(11,1070767205,1074120487,1066414901,1052188053);WS(-1094340206,1025238393); +sum1=W(0,1025401267,-1120317764,1029217422,1017691154)+W(1,1015273200,1006374863,-1149759301,1023921508)+W(2,1041212259,-1123694073,1040075594,-1128349902)+W(3,1030937834,1030337996,-1112880429,1048792866)+W(4,1051626551,1044638395,1051991350,1049159169)+W(5,1055056667,1045537234,1047952828,-1109761292)+W(6,-1087771683,-1099303356,-1089805402,-1090474853)+W(7,-1089928234,-1095611655,-1103717662,-1097665994)+W(8,1026720107,1027277160,1042793877,1032035372)+W(9,1038797403,1028636183,1034683820,1024357062)+W(10,1024873417,1003045609,1025974530,-1140916353)+W(11,1026491292,-1125445197,1018728702,1024842472);sum2=W(0,1016272983,-1125328223,1019432157,-1136495190)+W(1,1024638490,-1122054341,1016158573,-1137665190)+W(2,-1117564089,1007328518,1038058236,-1106032359)+W(3,1036423350,-1129861056,-1141592892,1032273458)+W(4,1054344808,1047318060,-1095657702,-1084625245)+W(5,-1124414562,1036648948,-1120282232,1033205457)+W(6,1082928383,1074423709,-1074337637,-1066615612)+W(7,-1087090886,1034359725,999766988,-1114245215)+W(8,1043627742,1037006400,1040243063,-1106132294)+W(9,-1119023275,1004167460,1002865564,-1113153751)+W(10,-1113989008,-1137080694,1017883877,-1126758430)+W(11,1040797418,-1113361096,1023713345,1022755221);WS(-1098231918,1035887052); +sum1=W(0,1007686525,-1112046456,-1136641001,1025581173)+W(1,-1121240420,-1165513922,-1114143760,-1123656209)+W(2,-1117693688,-1119004197,-1104788790,-1092353842)+W(3,-1104580134,-1146015939,-1162096818,-1117522176)+W(4,1048268202,1036810732,1055375147,1069647932)+W(5,1052170270,1020096363,-1125578169,1031911554)+W(6,-1105099271,-1097653932,-1098720398,1066085926)+W(7,-1093227035,-1123833253,-1107379122,-1130540403)+W(8,-1110112236,-1130249512,-1106155488,-1091717545)+W(9,-1110987409,-1108464746,-1156567122,-1106840908)+W(10,1016554315,-1115219957,-1142876018,-1143806946)+W(11,-1113561092,-1123809427,-1113074326,-1120698772);sum2=W(0,-1125891647,-1139529830,-1127048511,-1119620679)+W(1,1015042367,-1133002574,1001053676,-1136336990)+W(2,-1121500935,1033326245,-1110257678,1033808587)+W(3,-1152963927,1023704513,-1125968895,-1159911790)+W(4,1021750179,-1133323886,1040835222,1061147710)+W(5,-1110018076,1035246842,-1123027527,-1144777900)+W(6,1017645919,-1167588957,-1108825416,1055027509)+W(7,-1105425292,-1090179180,1035235033,-1104047270)+W(8,-1130193055,1018366499,-1144215516,1035778772)+W(9,-1105010302,1019226535,-1113493000,-1137733870)+W(10,-1118741587,1021086319,-1113356630,-1123951235)+W(11,-1124596863,995355927,-1135606974,-1141401292);WS(-1081201436,-1083122818); +sum1=W(0,1024396773,1040103323,-1104054160,1042893967)+W(1,-1121710378,-1122190892,1038539251,1020559724)+W(2,-1118776317,-1121204906,1048678635,-1101546374)+W(3,1036673102,-1112386175,1022162966,-1111471555)+W(4,-1090317103,-1098486564,-1094484293,-1101075087)+W(5,-1095873942,-1099326495,-1101153544,-1095630377)+W(6,1056470156,1048677796,1048629197,1052113969)+W(7,1033707976,1057451847,1027207978,1053998976)+W(8,-1120183581,-1105729174,1032093347,1048228642)+W(9,1044099610,-1102747354,-1114063013,-1125760751)+W(10,-1124728406,1010393788,-1105359341,1048587688)+W(11,-1107414311,1034642220,-1109685144,1033222029);sum2=W(0,-1130151079,-1128601535,1016586775,-1116462462)+W(1,1006316053,-1136401487,-1134837023,1015531121)+W(2,1029357099,-1139320303,1016703563,1036545095)+W(3,1027702761,-1115282656,1025282364,-1128863347)+W(4,-1141051917,1027307392,1040480663,-1084177500)+W(5,1027514935,1033882273,975470826,1013565163)+W(6,-1126143047,-1124015138,-1090482710,-1061542668)+W(7,-1081711054,1042416533,-1107083018,1030037156)+W(8,-1138853383,1026568428,1051692940,1087807110)+W(9,1065457143,-1101742731,1035528582,-1123914522)+W(10,1016378649,-1128887123,1024508650,-1109325640)+W(11,-1115450794,1030137534,1016609727,-1122133136);WS(1056806766,1019813151); +sum1=W(0,-1109922347,1027672232,-1113027385,-1106442907)+W(1,-1119504732,-1127683323,1015134384,-1122196904)+W(2,1038862168,-1098777292,1057340869,-1131946518)+W(3,1048903346,-1100586740,1027127869,-1136830686)+W(4,-1094336356,1025923920,-1089223672,1049099726)+W(5,-1102142547,-1122538541,-1099585557,-1100472159)+W(6,1045176100,1046907893,1028090813,1060367739)+W(7,-1102839017,1052174932,1024110556,1047790604)+W(8,1023835087,-1097985673,1044113854,1010151151)+W(9,1051267347,-1093148714,1029024221,-1137237669)+W(10,-1117706029,-1143840774,-1111671123,1025756788)+W(11,-1111600768,1040843731,-1107564881,-1131252120);sum2=W(0,1016054025,-1116580030,-1128856269,1024017790)+W(1,-1120027976,1003808451,-1120561807,1020365697)+W(2,-1119367753,1033363716,-1107794961,-1129548157)+W(3,1034251322,1039517400,1019337653,-1174223189)+W(4,-1115811972,-1119979151,1046175546,1051115205)+W(5,-1095340379,-1127431641,976018325,-1148320619)+W(6,1024987046,-1114756690,-1100926142,1048732221)+W(7,1044324276,-1104827086,-1139095561,-1138276477)+W(8,1016843613,1025664850,1028330842,1029232538)+W(9,-1105635461,1042504965,-1118828309,-1117203320)+W(10,1007599121,-1120202841,-1144919563,-1123931557)+W(11,-1122027017,-1118580981,1016896817,1009819353);WS(1067549148,1061168738); +sum1=W(0,-1136860560,1019396970,1034693791,1031876061)+W(1,-1126960466,1026075051,-1129065354,-1125694250)+W(2,1041916271,-1102760394,-1100215160,-1127917744)+W(3,1038708237,1042570959,1024557450,-1114527138)+W(4,1043173595,1046914407,1063664325,1041579695)+W(5,-1084953669,-1099553438,-1111656016,1036161892)+W(6,-1099729080,-1097589844,-1085101004,1044764001)+W(7,1062969721,1046958554,1031927572,-1129394940)+W(8,1028345500,1036811500,1044130369,-1111608196)+W(9,-1096862061,-1104831702,-1121741642,1028864534)+W(10,-1117900922,-1118556558,-1118557363,-1148658183)+W(11,1028601293,1014732126,999719805,-1111432076);sum2=W(0,1037988572,-1109648154,-1115314649,-1110735622)+W(1,1029414023,-1115532881,-1114457629,-1123631499)+W(2,-1097183834,-1096035348,-1106718097,1044362532)+W(3,1044653749,-1118097482,1036871139,1035597348)+W(4,-1096111302,1046143856,1065688064,-1100541529)+W(5,1022961930,1041170408,-1121640520,-1109551474)+W(6,-1112255513,1047451704,1048785443,-1089624797)+W(7,1040629892,-1135819985,-1109975688,1030316886)+W(8,1025606252,-1109281762,1025033440,-1124926742)+W(9,1024229044,-1109992198,1007526703,1031542857)+W(10,-1131066844,1021094187,-1118872350,1035314838)+W(11,-1132267648,1004115214,-1128646118,-1117895342);WS(-1090126519,1034760182); +sum1=W(0,1022234099,987019599,1021371561,-1125185183)+W(1,1040030303,1005824514,1028122555,-1120592523)+W(2,1038732905,1040082783,1042926010,1019049563)+W(3,-1101231100,-1108355337,-1115211984,1035983309)+W(4,-1095221408,-1096833350,-1090005917,1049172122)+W(5,1056956325,1052986466,1046568014,1025899358)+W(6,1049091087,1049531159,1052645704,1048882035)+W(7,-1086324445,-1089320760,-1101798768,-1123937043)+W(8,-1141106060,-1100657291,-1098472859,-1113910991)+W(9,1041783487,1033537135,1037621024,-1125397784)+W(10,-1130848127,1036771650,1035488804,1025403478)+W(11,1007113098,-1138596020,-1128732298,-1127374557);sum2=W(0,1016736022,1011977196,-1137999416,1019963070)+W(1,1030437859,-1122046802,-1142727409,1018753414)+W(2,1032939170,-1102682487,1037611888,-1102949496)+W(3,1039010410,-1110345340,-1124097437,-1113761662)+W(4,-1122689775,1060510561,1051792579,-1073351999)+W(5,1059164734,1062467108,1031495287,-1101619274)+W(6,-1102551566,1060805847,1057985083,-1073393989)+W(7,1057367527,1062012989,-1147452225,-1099879364)+W(8,-1122487238,-1122236502,1036808922,-1103029047)+W(9,1039165500,-1106860549,-1143421321,1015482390)+W(10,1026411789,-1128029215,1019619350,-1125796177)+W(11,1024266957,-1119780381,1024156551,1016465010);WS(-1089242039,-1127205581); +sum1=W(0,-1124452989,1037734344,-1136469606,1045032037)+W(1,-1131176455,1029283077,1038076384,1029887056)+W(2,1047404342,-1111320098,-1115981071,1038279993)+W(3,1006926037,1030509432,-1123275877,1043334248)+W(4,-1086849964,1001557948,1055753134,1059294849)+W(5,1006841992,1049404683,1037635838,1044156233)+W(6,-1114062493,998659036,-1096047365,-1107330927)+W(7,-1105936042,-1087265492,-1095492784,-1080260267)+W(8,1042532510,1038364441,-1118490271,1044317529)+W(9,1035319841,1043122385,1027367204,1053177470)+W(10,1010360274,1032729828,1015888923,-1118190491)+W(11,1021147727,-1123196402,1027584778,-1118995315);sum2=W(0,1029897599,-1114965417,1025776431,-1121485495)+W(1,-1140617930,-1113546368,1031651703,-1117524097)+W(2,-1102843967,1046605828,1033633995,1048791648)+W(3,-1104898739,1031053127,-1108448442,-1108356905)+W(4,1001547796,1025076963,-1090433692,1044097140)+W(5,1042488362,-1118485295,1045463546,1040816680)+W(6,1049416264,-1100594038,-1096668289,-1117020477)+W(7,-1102246327,1034926551,1047237110,1044694712)+W(8,-1120840401,1041915682,1040646462,1042521794)+W(9,-1112857889,-1109164591,1015998805,-1109851905)+W(10,-1115391670,1020641677,-1111492899,1034331443)+W(11,-1115861875,-1134127978,-1120855845,-1124879769);WS(-1081567068,-1085072352); +sum1=W(0,1026202077,1017630556,1034866076,-1120073907)+W(1,990337572,-1122725732,1016189565,-1135328058)+W(2,1008391383,-1102096537,-1105309517,-1113888457)+W(3,1038015146,1010107993,1035371298,-1107104879)+W(4,1043376377,1035138955,1062685095,-1088326467)+W(5,-1087780001,-1095652846,-1111927693,-1134788873)+W(6,-1106037014,-1113878797,-1091962582,-1099527071)+W(7,1065743931,1048331161,1035819857,1033560764)+W(8,-1119432853,1041401156,1028045374,1036249665)+W(9,-1122166240,1030964177,1030882915,1034792920)+W(10,1015626934,-1112723700,995954372,-1112822301)+W(11,1036674595,-1165855255,1020668626,-1140134473);sum2=W(0,-1101998430,1034880732,-1111573656,1034691412)+W(1,1017688506,1032207084,1002612774,995363580)+W(2,1025808817,-1110518368,-1090739547,-1098171169)+W(3,1047617175,-1112107064,1027687639,1035291452)+W(4,1026331301,1035202798,-1095903349,1068344140)+W(5,-1085314459,-1108916250,-1113844364,-1111293323)+W(6,1041383807,1044537615,1045506861,1069658374)+W(7,-1090700374,-1135142667,-1106371211,-1105384559)+W(8,1033833028,-1096440885,1030373631,-1094064924)+W(9,-1106284721,-1113568166,1043762008,-1113615358)+W(10,-1108635033,1042833515,-1107072548,1037649108)+W(11,-1117475933,996218700,-1115713024,1031725587);WS(-1122270064,-1083487436); +sum1=W(0,1022021054,1000846209,-1120651002,-1133172181)+W(1,1015175368,1008528664,1014262402,1032206792)+W(2,-1111938972,1031069285,1035108132,-1122478547)+W(3,1022898156,-1109542844,1003755051,-1099224128)+W(4,-1089129474,-1092279467,-1089405705,-1088959911)+W(5,-1101358829,-1113192731,-1110785838,-1105614817)+W(6,1061173530,1053406092,1061891890,1046812368)+W(7,1052509753,1035774995,1040815801,1041852206)+W(8,-1117042135,-1112839626,-1115403968,1035227362)+W(9,983155781,1035355065,-1114859906,1046440556)+W(10,990992466,997371026,-1123767278,-1136588785)+W(11,1014548513,-1120262163,-1139309996,-1196238920);sum2=W(0,1044179919,1022028328,1040258943,-1118974089)+W(1,1033279863,-1117110809,1031745329,-1103290765)+W(2,-1111986018,998943655,-1095034556,-1095846499)+W(3,-1110448374,-1099083231,-1120681553,-1101323001)+W(4,-1080384748,-1088604014,-1104000317,1073459027)+W(5,-1098039236,1045892370,-1111672860,1055006842)+W(6,-1092393621,1029389095,-1090514887,1071708766)+W(7,1012336831,1049307354,-1100485937,1051814517)+W(8,1048581079,1009323699,1015383036,-1097133430)+W(9,-1122793353,-1097759856,1041920736,-1091667564)+W(10,1031858735,1021777892,1024626196,1024702395)+W(11,1031448400,1030521846,1016567237,1029007432);WS(-1097130350,-1073679750); +sum1=W(0,-1154560184,1025389788,-1145657140,1000633100)+W(1,-1120139600,1032643785,1008755251,1030414749)+W(2,-1142702368,1008724804,1035954194,1046084016)+W(3,1042008657,-1106616153,1025929714,-1102859291)+W(4,-1095841490,-1096179481,-1095185831,-1085973126)+W(5,-1089907161,-1096805620,-1098086361,-1107347576)+W(6,1034517635,1053502809,1045830013,1057148843)+W(7,1051926551,1052799826,1043469780,1050172789)+W(8,1044574577,-1112918112,1042446427,1025817904)+W(9,1017272605,-1123577295,-1143679882,1014891512)+W(10,992206103,-1143244972,-1122388570,-1139683234)+W(11,1018417129,1017209342,1016358830,1026775680);sum2=W(0,1021941992,-1140009235,1026649920,1025391436)+W(1,1033557641,-1110654493,-1117894486,1031221238)+W(2,-1106123822,-1137197699,-1104678389,-1103278668)+W(3,1049392706,1026389826,1046385471,-1107040085)+W(4,1031547466,1040410800,-1091687878,-1069452203)+W(5,1071493698,1075377385,-1093315115,-1101021764)+W(6,-1135582819,1048777558,-1102399061,-1086654414)+W(7,1036526271,1051671224,1003979070,1042747507)+W(8,1018035752,-1114989513,1038853959,-1112110740)+W(9,-1155541821,-1119910153,-1130248744,-1119798403)+W(10,1017098260,-1129449426,-1170697076,-1134437671)+W(11,1030635558,-1127657747,1010389927,1007123883);WS(-1110542776,1046722292); +sum1=W(0,-1112464600,1016022658,1027765771,981819586)+W(1,1026835189,1025143735,-1111607705,1024330241)+W(2,1033517476,-1108629467,-1106997347,-1113497042)+W(3,-1116788199,-1106078850,1041100086,-1124631714)+W(4,1047470894,-1133454244,1053995028,-1100439522)+W(5,-1093531706,1048713001,-1106135867,-1115421707)+W(6,-1131671638,1032980471,-1092318054,1042288212)+W(7,1061947018,-1121614518,1012478420,1041393523)+W(8,1005087552,-1105826521,1042584756,-1109105451)+W(9,-1098489206,-1105038597,977775992,-1114990145)+W(10,-1142745264,1026603482,-1129658366,1017901338)+W(11,-1142191304,1040275689,1016467704,1020475210);sum2=W(0,1031452303,992881643,978475180,-1121457613)+W(1,1034445399,-1130052481,1032145701,-1116902843)+W(2,-1132232893,-1116591675,1016124301,-1114931492)+W(3,-1094590847,1040974964,-1110729382,1035934107)+W(4,-1109510079,1032912109,-1114514404,1032060799)+W(5,1051504728,-1087149232,1039284419,1032317221)+W(6,1018866101,-1116915567,1055420465,1059251768)+W(7,-1088887374,1044275534,-1114948355,-1104983612)+W(8,1014551643,1024567259,-1097097100,-1118272021)+W(9,1048490818,1035881493,1032922179,1032032409)+W(10,1032688527,-1114177042,1042584708,-1109972047)+W(11,1024892699,-1108606213,-1121421993,-1133789139);WS(1059165367,-1104520251); +sum1=W(0,1007492796,-1117692608,1009135144,-1115310467)+W(1,1014125520,-1113191163,-1129119585,-1118876992)+W(2,-1108628644,1046236477,-1120534447,1052736188)+W(3,-1118278150,1036684740,1015268651,1008090175)+W(4,-1117534006,-1094176525,1053590938,1041258594)+W(5,1001540436,-1106455985,-1112388022,-1114551242)+W(6,1041312427,-1118419948,-1107420459,-1097199722)+W(7,1055263011,-1100739533,1040471133,1020553106)+W(8,-1113108212,1029454180,-1110779368,1053879643)+W(9,-1098892966,1045621277,-1126748266,1026632706)+W(10,-1124001749,-1113899741,-1131761404,-1114949702)+W(11,1025063448,-1105125705,-1126282358,-1127494856);sum2=W(0,1027505664,-1115834059,1029084872,1029257304)+W(1,-1128264406,-1138405484,-1118563560,-1127212263)+W(2,-1104527074,1048986559,-1089420265,-1098414029)+W(3,-1104406791,1040673804,-1203758566,-1117936348)+W(4,1034957797,-1098163961,1051828462,1053778056)+W(5,1048509414,-1106881855,-1113115951,-1136870020)+W(6,1041601252,-1125657446,1045110551,1041501740)+W(7,1041829791,-1119286592,1045914276,1022365337)+W(8,-1108054404,1041896195,-1099714824,-1129563106)+W(9,-1092212913,1049994472,-1105182054,-1139619400)+W(10,-1122847824,1034858548,-1116127595,-1170669534)+W(11,1037831890,-1107117839,1031508216,-1127498142);WS(1064754871,1064755352); +sum1=W(0,-1124996947,-1126765813,-1111973122,995438583)+W(1,-1131935965,1011044801,1017902933,-1117569083)+W(2,1039345889,1034558935,1025078634,1031530717)+W(3,-1102805216,-1112086641,-1108706152,-1125705364)+W(4,-1096693846,-1096907004,-1092723587,1042155040)+W(5,1055052309,1050402072,1045488762,1036105095)+W(6,1051509189,1048609181,1055455058,1038916133)+W(7,-1085470304,-1096310694,-1110967031,-1114430562)+W(8,-1110987505,-1122110878,-1103910610,1036071207)+W(9,1036962198,1042970795,999916154,1043170799)+W(10,1036233792,981607022,1033037628,1028131846)+W(11,-1113728073,-1155599823,-1121653045,-1131031997);sum2=W(0,-1133117125,1023646322,1023723550,1016880452)+W(1,-1128763803,1032406499,-1112596197,1024272758)+W(2,1035315397,-1104375670,1045506061,-1100884270)+W(3,1037072250,-1100571834,1043010850,-1106522969)+W(4,1034291601,1023753609,-1107539440,1046403885)+W(5,-1123261308,1040670310,-1109210140,1037357283)+W(6,-1093657955,1053589289,-1104725243,1040733712)+W(7,987308827,1047435788,-1103530057,1046389911)+W(8,-1083656994,-1096844972,-1079943056,-1108767061)+W(9,1066015084,1056439411,1038430454,1050581867)+W(10,1063017252,-1117431336,1065218548,-1110535684)+W(11,-1088643610,-1092199491,-1140617522,-1093142505);WS(-1141889920,-1150694570); +sum1=W(0,-1121776659,1035438770,-1107472311,1029335145)+W(1,1032163820,-1122959321,1035788170,1006930832)+W(2,-1156363954,1043244278,1039611642,1044045394)+W(3,1031781705,-1113754566,1041298854,-1113010266)+W(4,-1110656781,-1108191526,-1092681840,-1089342271)+W(5,-1107172434,-1110931796,-1106653204,-1098776751)+W(6,-1150990554,1049522698,1047918398,1044281805)+W(7,-1142656241,-1118178969,1044014582,1035377494)+W(8,1001967189,1024784007,-1120026675,1041259438)+W(9,1035091531,-1114065315,1037418924,968315538)+W(10,1009891810,1026909213,-1115519345,1032535224)+W(11,-1156224954,-1114416227,1034927023,-1127266575);sum2=W(0,-1096670021,-1102787949,-1099441746,1043637876)+W(1,1052388948,1042101483,-1135324433,1042670443)+W(2,1059540854,1039622534,1064198145,-1086802625)+W(3,-1085971065,-1113298762,-1098667485,-1104634628)+W(4,1045575353,1037899964,1030855272,-1101655681)+W(5,1033969343,-1105771070,1036465297,-1104173140)+W(6,-1133958494,1013042349,1040028330,1036771998)+W(7,1032851236,-1120619083,981463467,1030229840)+W(8,1031038260,-1110193614,-1117097690,-1125265460)+W(9,-1103569731,1049976190,-1101523135,1035574893)+W(10,-1118270456,988987510,1032105974,-1117707023)+W(11,-1134648980,1021389004,-1119296945,1035007302);WS(1060329015,-1107100438); +sum1=W(0,-1139109867,-1126768152,-1154508124,1024792785)+W(1,-1145234942,-1121126338,-1165337473,-1128378904)+W(2,1016013223,-1108878752,-1139382101,1046477388)+W(3,1046417836,1044791733,-1115375281,1030070044)+W(4,1052529520,1042283693,1051369597,1051787130)+W(5,1040695538,1046651812,1039020124,1046922680)+W(6,-1098269535,-1103310414,-1093610355,-1088582834)+W(7,-1090008057,-1097854544,-1110993568,-1105218789)+W(8,-1120993331,1033078264,1033661966,1015463488)+W(9,1035018943,1029328303,980238373,-1121430349)+W(10,1025836257,-1113589378,1029380042,-1124637616)+W(11,-1127749832,1030094510,-1117533511,1016154976);sum2=W(0,-1122821091,1016851522,-1106087013,-1109184296)+W(1,1045004090,1015529466,1026918939,-1115690469)+W(2,1039646422,-1156337616,-1131895450,-1080883791)+W(3,-1074990048,-1105476432,-1104782698,1022339242)+W(4,-1126218548,-1123806894,1035943528,1071805249)+W(5,1071092779,-1126394390,1031828962,-1122803425)+W(6,1020520346,-1105518185,999070248,-1096231655)+W(7,-1125969764,1028426171,1030594487,-1127395662)+W(8,1030755819,1031650855,1015158698,1043321474)+W(9,-1125796080,1026097175,-1140334484,-1110808154)+W(10,1003947528,980292032,-1123933765,-1122746065)+W(11,1018391998,-1126690400,1018627618,-1149029768);WS(1004067712,1029538397); +sum1=W(0,1039684517,-1113057966,1034662227,976341006)+W(1,-1116361615,1039793800,-1114202454,1023346679)+W(2,1025050595,-1112884456,-1120136235,-1106127376)+W(3,-1108532672,-1136083213,-1109109944,1026195563)+W(4,1055781642,1052279792,1057037092,1048957300)+W(5,1059667231,1049781884,1046150498,1052752022)+W(6,-1093421305,-1096595713,-1096171643,-1083333863)+W(7,-1093970477,1050503466,-1098876866,-1119746148)+W(8,-1134522377,1008080123,1038845557,-1104830972)+W(9,-1107387175,-1105145436,-1111371224,-1106375815)+W(10,1033902960,-1134909265,1000314570,1017566030)+W(11,-1120056627,1034175935,-1129568684,1002478074);sum2=W(0,996458418,1033154491,-1124552606,983965669)+W(1,-1113544599,-1118592979,1024911403,-1120675710)+W(2,1023361218,-1129026548,-1113149678,-1096377075)+W(3,-1108470744,-1107366613,1040480632,978762058)+W(4,1020176326,1036155261,-1107309754,1064108379)+W(5,-1113642974,-1147140265,-1123866147,-1127049668)+W(6,-1105686968,-1136279909,-1101182829,1059185253)+W(7,-1094171461,-1097506500,1038318571,1027330889)+W(8,-1112170015,1029838361,-1110765232,1029555247)+W(9,1048386684,995412594,1045927904,-1102738273)+W(10,1016740014,-1122796554,1027141165,-1111484496)+W(11,1033692775,-1108579478,-1126067866,1023291782);WS(1047133404,-1079170418); +sum1=W(0,1009155056,-1116032717,-1135035740,-1132905800)+W(1,1006908676,-1123509635,-1129150906,-1147535977)+W(2,-1122581460,-1127398915,-1111731450,-1098422622)+W(3,-1136427723,1019095722,1037504657,1012838771)+W(4,1042667713,1041078541,1051022508,1065228285)+W(5,1042380775,1050271906,-1107182030,1023931745)+W(6,1030334583,-1113404572,-1111377849,-1104817319)+W(7,-1091891141,-1103926112,-1121675713,-1123007382)+W(8,-1108143194,-1123819760,-1112180142,-1102890728)+W(9,-1111098047,1023382911,-1136273159,-1123177070)+W(10,1027163842,-1122554086,1023811915,-1133181796)+W(11,1001483047,-1116735535,1015217807,-1130799202);sum2=W(0,-1151544588,-1155029688,1018065470,1007239987)+W(1,-1125453823,-1118997712,1007542759,-1133631258)+W(2,1017708852,-1121981859,-1114670464,1049278985)+W(3,1041079714,-1156221672,-1120658712,-1113215345)+W(4,-1147640076,-1129630940,-1093073209,-1077783117)+W(5,1074285479,1034878186,1016277382,1033160981)+W(6,1008923057,1024218233,-1119653793,-1083801634)+W(7,1047560438,1028846010,1036336794,1022080564)+W(8,1011942449,998377109,-1131988255,1041518161)+W(9,-1114079754,-1118519138,-1121956184,1027490516)+W(10,1018406594,-1133221663,1025316590,-1123603132)+W(11,-1131599727,1024940191,-1131785133,-1130450701);WS(1043550940,1028476494); +sum1=W(0,-1115183742,-1121780237,-1117842775,-1110838377)+W(1,991794198,-1111061058,1015980795,-1113960535)+W(2,-1130981802,-1102302048,-1117998761,-1094318158)+W(3,-1102037997,-1115328139,-1113105937,-1106426583)+W(4,-1100607937,-1105099981,-1096882923,1062548805)+W(5,-1103616404,-1097580450,-1103768718,-1100373208)+W(6,1051762223,1040535662,1059510884,1068023761)+W(7,1055882697,1041348961,1034161697,1044552262)+W(8,1000007075,-1138550724,-1102853271,-1099046056)+W(9,-1102330336,-1131654944,-1112888641,-1110284503)+W(10,-1121847282,-1111548899,-1132334487,1013492582)+W(11,1018468811,-1119471984,-1129682576,-1148988811);sum2=W(0,1029690847,-1115037203,-1127742454,1036903221)+W(1,-1106227374,1039025001,-1108879063,1016988574)+W(2,-1103820712,1043435491,-1100462798,1028701483)+W(3,-1121926871,-1126383902,1017141302,-1115441627)+W(4,998970743,-1096312501,1044923803,1041049643)+W(5,1030485727,-1125321886,1008577020,1033537170)+W(6,1028297515,1046052979,-1099477234,1065575031)+W(7,-1098681477,1040854499,-1106467082,-1122382559)+W(8,-1122562191,-1115911439,1030898927,-1096910875)+W(9,1034498637,-1115709255,1013474716,-1129067614)+W(10,-1133991676,1007821180,-1113716427,1036974934)+W(11,-1111652935,-1126914630,-1128843302,-1114648723);WS(-1079050332,-1087647968); +sum1=W(0,-1138480508,-1122115440,1024624314,-1106223181)+W(1,1029330596,-1120448614,-1134294785,1004544641)+W(2,-1112879708,1026750308,1027382179,-1116109267)+W(3,1024806390,-1128868784,1022822666,-1115751616)+W(4,-1095708941,-1102419558,-1136300523,-1083772539)+W(5,-1103579129,-1102450653,-1100406055,-1099401009)+W(6,1054719611,1048762675,1057423590,1057166968)+W(7,1058690419,1049252525,1046884233,1051036287)+W(8,1031575959,-1106236805,-1115045376,-1096438944)+W(9,-1115914082,-1116410163,-1127656777,1031406769)+W(10,-1122888245,-1139407140,-1136279992,-1112079518)+W(11,1025354440,-1128866725,1008311211,1030150228);sum2=W(0,1018441725,1018735508,-1106801879,1042307735)+W(1,-1108191465,-1153036923,1023515972,-1130614305)+W(2,-1121226957,-1128043345,1036012925,-1105109021)+W(3,1026535678,1024075219,-1143871918,-1115606924)+W(4,1025980595,1035475244,-1093599779,1063056253)+W(5,-1097885523,1035122552,1028845741,-1124060823)+W(6,-1143973174,1028848366,-1119821797,1055391108)+W(7,-1118265757,1031788992,-1122707515,-1149779899)+W(8,-1145354702,1010180031,-1106432772,-1103238145)+W(9,-1114258989,-1114303163,1031455538,-1117711701)+W(10,-1118705847,1001175670,-1114705464,1024485983)+W(11,-1109715589,1025382280,-1125366621,-1122890135);WS(1061221431,1002405371); +sum1=W(0,-1123061017,-1109190069,-1111043962,-1094345134)+W(1,-1146354418,-1113941840,-1145213652,1017803349)+W(2,-1123480946,1033046959,1050201177,1042710035)+W(3,1050099666,1026923762,1032794752,1029204218)+W(4,-1090405194,-1104934581,-1102475777,-1086823335)+W(5,-1097235340,-1091215734,-1094526523,-1089600016)+W(6,1054235011,1044209302,1057895846,1052530935)+W(7,1058601910,1050794548,1041457976,1055600534)+W(8,1026563665,-1108435303,1037490845,-1102625680)+W(9,1033897294,-1126650490,-1110275296,1021417496)+W(10,1000058490,-1121369187,1030151784,-1111380603)+W(11,1040756961,-1126829850,1032331475,1033488871);sum2=W(0,1049937345,1058657690,1071079778,1072348129)+W(1,1066389113,1049150259,-1119844839,-1113785170)+W(2,-1089706816,-1087536311,-1078069733,-1078647761)+W(3,-1079714039,-1090508646,1022376790,-1103849791)+W(4,1050626093,-1106625833,1020012689,-1094966474)+W(5,-1098171132,1050328795,-1105718319,1052174137)+W(6,1030967529,-1105431871,1044296437,-1112600090)+W(7,1038432439,1044145959,-1126694997,1034822829)+W(8,-1115709839,1036734782,-1122006247,-1122763227)+W(9,-1130276743,1024733405,1021875579,-1112758982)+W(10,1039088353,-1109192755,1031394755,-1116226089)+W(11,1022577738,1012728894,-1123093509,1013882918);WS(-1092893294,-1089220584); +sum1=W(0,1008699951,1010493299,-1124403149,1025199074)+W(1,-1117387089,1015178277,-1125915034,-1130896954)+W(2,-1127519944,-1118558929,-1106263811,-1113928672)+W(3,-1098638288,1041393441,-1112838969,1035998582)+W(4,1053766130,1051919929,1056071340,1052175436)+W(5,1062605050,1047707912,1053546873,1049473086)+W(6,-1103359682,-1096189801,-1097091836,-1086367179)+W(7,-1096005139,-1102452900,-1101730612,-1095432549)+W(8,-1104704049,1032200864,-1111082358,1015736929)+W(9,-1120379023,-1123219920,1019333603,-1136688761)+W(10,998920846,1028526614,-1149496748,1019181009)+W(11,-1115659002,1027645503,-1131717807,-1136451331);sum2=W(0,-1143112647,992704062,-1124855502,1038449046)+W(1,-1105916124,1035072543,-1114904409,1019251456)+W(2,1034689803,-1109431235,1033324328,-1098090520)+W(3,1038361982,1040866773,1032024575,-1164332444)+W(4,-1115356591,1039097516,-1073085951,-1063972596)+W(5,1062319475,1085456662,1062308854,-1102205120)+W(6,-1121270233,1048248946,-1106299172,-1091325299)+W(7,-1090314642,1056006422,1043935118,-1107459099)+W(8,1017968792,-1124530814,1023517229,-1113483013)+W(9,-1141826407,1034240002,-1124783482,1032935811)+W(10,1021729984,1005857263,-1126326370,1015994888)+W(11,1013997779,-1134900259,-1135264403,1001043447);WS(-1104754908,-1106735671); +sum1=W(0,1030490103,1032595044,-1128810020,1032319302)+W(1,1019231224,1025969502,1016077744,1024124136)+W(2,-1117923535,1002237924,-1122216143,-1120462507)+W(3,1025980110,-1123369072,1034830735,-1104242198)+W(4,-1088908700,-1094516030,-1092804364,-1102093923)+W(5,-1088198897,-1096286026,-1102086589,-1103741447)+W(6,1033028505,1029213684,1050263192,1063837581)+W(7,1058220138,1054477272,1045907999,1049334234)+W(8,1045999740,-1144798556,1022746927,-1106958295)+W(9,-1107413149,995801516,-1115665070,1030012489)+W(10,-1120248133,1015682178,-1129595020,1030078356)+W(11,1021953856,-1153493672,1019926661,1022398552);sum2=W(0,-1116247065,1015145430,986051432,-1117862601)+W(1,-1114715779,1034116930,-1144744186,1026244953)+W(2,1035833889,-1107082251,-1114579693,1043695503)+W(3,1039299404,-1114493167,-1120378069,1019204162)+W(4,-1087068607,-1079268655,1022672030,1067901888)+W(5,1059152338,1008422125,1020328850,-1111927269)+W(6,-1107323417,-1102842161,1049680335,1032100715)+W(7,1040660749,-1115195239,1018816198,1021018582)+W(8,-1109274147,1016322550,-1111459111,1026073955)+W(9,992278036,-1173738319,1033325633,-1123657301)+W(10,1021616338,-1133554677,1010843781,1017398706)+W(11,998891466,-1139208557,-1138764845,1016479082);WS(-1092340590,-1082645376); +sum1=W(0,1018128252,1018184990,1028162329,-1117677972)+W(1,-1115495745,-1115409474,1015642046,-1118723567)+W(2,1033191659,-1106475329,-1101261661,-1102532636)+W(3,1031605429,1010011868,-1127814216,-1112449263)+W(4,1040446513,1036685563,1061713267,1042646693)+W(5,-1089327101,-1106573237,-1105713919,-1112423953)+W(6,-1112709788,-1105689791,-1086509296,1038532783)+W(7,1064314083,1046976369,1039016129,1030956248)+W(8,1031456758,1040219053,1042438664,-1111899057)+W(9,-1100451664,-1105951352,1010066702,1022848097)+W(10,-1113441282,-1127103440,-1123459213,1018898486)+W(11,1033438227,1029058545,1013299750,-1130132966);sum2=W(0,-1107775669,-1121347079,-1118975841,-1121125435)+W(1,-1123325897,1012434826,-1129695564,1006663086)+W(2,1040551451,1042459857,1031184422,-1152381105)+W(3,-1105935240,-1115286413,-1124425722,-1111096901)+W(4,1027302533,-1122087227,1016161914,989383522)+W(5,1045806619,-1125562074,-1111270899,-1114174571)+W(6,1033412933,-1113656153,1035641742,-1114487413)+W(7,1041762467,1029416951,1028252326,-1127668218)+W(8,-1135101756,1017950151,-1109563699,1046120628)+W(9,-1114574520,1035110196,998528980,997585257)+W(10,-1131050762,-1130160250,1017438602,987844130)+W(11,-1117833439,-1173771715,-1121778743,-1126450718);WS(1052284526,1042464092); +sum1=W(0,1010280196,-1136974408,1026365340,1020617774)+W(1,1023947782,-1127515216,-1129271461,1007810505)+W(2,999914700,-1110845507,-1109035161,-1110448219)+W(3,-1110075532,1038195741,-1114945332,1019473092)+W(4,1057530557,1046554367,1060667985,1063323154)+W(5,1043924417,1050039723,1042422080,1052688005)+W(6,-1098111272,-1100087104,-1090659644,-1094987596)+W(7,-1095988958,-1097163609,-1105136802,-1095692091)+W(8,-1101387838,-1110795931,-1102616600,-1105684762)+W(9,-1124311688,1018127786,-1124435598,-1114597706)+W(10,1027464615,-1128121686,1001926272,1025859742)+W(11,1017827156,1034844538,-1130637466,1027019478);sum2=W(0,1025355846,-1124685033,1029205900,1011755468)+W(1,-1113277680,1035269289,-1122502097,1013457876)+W(2,-1119913429,1010871130,1016143206,1033794365)+W(3,-1140030878,1020099653,991986873,1035095720)+W(4,1034044275,1036346050,-1128364593,-1133342818)+W(5,1020927778,1035477071,1011575434,1029499077)+W(6,-1140464466,1032812135,1071964190,1067600837)+W(7,1039362648,1033733070,1008065452,994468553)+W(8,-1091074448,-1086522508,-1074918519,-1089329657)+W(9,-1106053895,-1108456989,-1146528221,-1106105254)+W(10,1041357090,1037018199,1033277276,-1111447139)+W(11,-1118126225,1032003060,-1117647411,1009180302);WS(-1085785015,-1080175544); +sum1=W(0,1035373246,-1125806618,-1118822551,1044894533)+W(1,-1102223008,1041222777,1023709757,-1122183565)+W(2,-1103151077,1045216768,-1094452856,1039875576)+W(3,-1151103277,-1094574331,1048044105,-1103877399)+W(4,1058377668,1050584367,1054861331,1046782533)+W(5,1057861265,1051791466,1043274206,1058273114)+W(6,-1091874455,-1094766367,-1107649205,-1090132878)+W(7,-1090472533,-1111571937,-1098390656,-1092114299)+W(8,1025579124,1043611260,-1106387815,1049375324)+W(9,-1115030560,-1137989279,1049548184,-1106419572)+W(10,-1111695537,1043525714,-1102079139,-1105407270)+W(11,-1144672552,-1102123612,1041305154,-1116205169);sum2=W(0,998449416,-1121990028,1039055377,-1115523342)+W(1,-1132069983,1032292249,-1128335569,998312734)+W(2,-1118465870,1035743758,-1103571680,1049274722)+W(3,-1106547389,-1126693677,1034009109,-1116877357)+W(4,-1124628345,1040306990,-1098483719,964150684)+W(5,1024621733,-1103504000,1043582890,-1116867442)+W(6,-1148690252,1001004257,1060096717,1077176219)+W(7,1060014437,1016774454,-1107960970,-1139511962)+W(8,1037770975,-1132010249,-1108861100,1047972499)+W(9,-1098623231,1034159573,1020716885,1042264637)+W(10,-1105952484,1037805583,-1087084008,-1070507600)+W(11,-1092504349,-1105946989,1041667680,-1102914489);WS(1041580764,1025947967); +sum1=W(0,1032565172,-1116825273,1019951750,1022134396)+W(1,-1111515158,1034025399,-1110133221,-1159719714)+W(2,1034662848,-1104706235,-1115255997,-1107214727)+W(3,-1098820316,1032808736,-1102823188,1021100817)+W(4,1053611982,1050747028,1050206724,1063007652)+W(5,1060757006,1052025888,1043880105,1052817434)+W(6,-1093835868,-1092905173,-1095669879,-1096926641)+W(7,-1089733625,1049974094,-1099659531,-1119725058)+W(8,-1131110976,-1131069497,1036897764,-1105182467)+W(9,-1098715869,-1104277767,-1106501955,-1106408671)+W(10,1036244351,-1119290642,1017394926,1029927621)+W(11,-1106823604,1037476046,-1114565306,-1122404893);sum2=W(0,-1132209742,986836209,-1121945777,-1170553346)+W(1,-1138085578,-1127752664,1024317954,-1170071298)+W(2,1031078182,1029631070,-1119773491,1020231728)+W(3,1023900693,-1133642976,1016594015,-1123929889)+W(4,-1131885988,1025515900,1029199828,-1120148774)+W(5,-1122079840,1019687015,1019770946,-1134784812)+W(6,-1109418986,-1129378830,-1113141662,1055904551)+W(7,1057958803,1044815557,-1115676013,1040873658)+W(8,969823813,1027058278,1030656895,-1099466937)+W(9,-1089769002,-1096970616,-1105180704,-1104818759)+W(10,-1135041624,1012367442,-1116640321,1014349374)+W(11,1019607807,1019685270,1040370156,1020720783);WS(-1101021916,-1101341893); +sum1=W(0,1026213188,-1128959914,1026395551,-1114900877)+W(1,-1152047246,1012420650,1006057769,1026345301)+W(2,-1104193847,1029994953,-1146733010,1036038140)+W(3,1031817213,-1118727997,1021561044,-1106810537)+W(4,-1099125811,-1096018912,-1093634574,-1086773562)+W(5,-1090412335,-1107844781,-1104575744,-1104632714)+W(6,1055643976,1049220736,1055313981,1052012604)+W(7,1060627153,1051291321,1049980081,1047342967)+W(8,1025577212,-1111820508,-1119144868,-1127551698)+W(9,-1111302883,1025725832,-1112108341,1003961523)+W(10,-1110018309,1025253614,-1114303945,-1123712161)+W(11,1028280877,-1119269431,1031833384,999050183);sum2=W(0,-1131988010,1023490159,-1126411872,-1164111651)+W(1,-1121501747,1031886393,-1117332099,1035364539)+W(2,-1111316079,1007442131,-1122871173,1046145376)+W(3,1040330964,-1109560063,1016982738,1005935896)+W(4,1041465340,-1100903601,1038743702,-1093182708)+W(5,1049859497,-1098635398,1035352171,-1113093917)+W(6,1024389323,1055734435,1080207498,1078445253)+W(7,-1068399047,-1066503158,-1109489195,1012210427)+W(8,-1121573843,-1125698351,1043717463,1049726225)+W(9,-1122596352,-1100760677,-1113462329,1035980752)+W(10,-1149117460,-1131908940,-1114017647,-1119425741)+W(11,1019240934,1009702615,1032687935,-1141270643);WS(1046490332,1041425064); +sum1=W(0,1024529499,1033054902,1031945755,-1146773895)+W(1,1029605664,1004520717,1031502108,1024614604)+W(2,-1116828595,1002731779,1040980232,-1160896989)+W(3,1052617834,1015420456,1044142352,1032157630)+W(4,-1093042204,-1098109922,-1092614541,-1086741475)+W(5,-1091564618,-1090483479,-1094325635,-1086427940)+W(6,1043650965,1045029126,1058500980,1055608303)+W(7,1058257970,1019101890,1041689704,1049761551)+W(8,1015429414,-1106337284,1033182334,-1109695552)+W(9,-1174108025,1029823567,-1123497953,1041880275)+W(10,1019425762,995804238,1032419541,-1179835378)+W(11,1044059953,-1127672093,1032927635,1040104968);sum2=W(0,-1122431319,-1114479591,1024826864,-1100833312)+W(1,1043724086,-1109354990,-1130104331,1015245663)+W(2,1026151548,-1106953243,1048064546,-1097347844)+W(3,1037967160,-1109085075,-1110876131,1007980535)+W(4,-1122010793,999999917,992235770,1040448763)+W(5,1044292364,1032432738,-1143420941,1040568157)+W(6,1049905644,-1108260971,1050719290,1045454882)+W(7,1049686405,-1111087807,-1098496523,1043523736)+W(8,-1102178930,-1125976243,-1123774104,-1096948195)+W(9,1038302972,-1108325988,-1118752296,-1113347688)+W(10,-1124048569,-1126306455,1025075060,-1105554812)+W(11,1034346164,-1114960687,994535386,1032072922);WS(-1096079726,-1086813702); +sum1=W(0,-1135457777,1020632987,-1136898909,1041289173)+W(1,1012368645,1002632984,1024629150,-1127204699)+W(2,-1105268453,-1134572551,-1100910973,-1166801940)+W(3,1038525034,-1102504381,1029902179,-1110256943)+W(4,1045566625,1038076635,-1141635906,1058638213)+W(5,-1104077708,1033251913,1009307365,1022942147)+W(6,-1104980990,-1125909619,-1094783105,1057673490)+W(7,-1100424110,-1111352769,1012100357,-1133590617)+W(8,-1105625101,-1145052038,1032999502,1030475041)+W(9,-1113674176,-1113040784,992583714,-1114381639)+W(10,-1128467237,1035122115,-1125440663,1035865453)+W(11,988204202,-1119749552,1027550920,-1124393059);sum2=W(0,1009177065,-1120740066,1031366584,1041576942)+W(1,-1100270767,1045439690,-1125959183,1033773937)+W(2,-1117003048,1013092463,-1102800003,-1090661723)+W(3,1059100650,-1097382737,1022453518,-1106788899)+W(4,1042183695,1025589372,-1111208570,1068855162)+W(5,-1085550755,1044086134,1032267243,1025170288)+W(6,-1105766164,1042721142,-1149080533,1040487387)+W(7,1023619821,-1099098175,-1126080241,-1106320787)+W(8,-1112946812,-1113055730,-1103263899,1030911277)+W(9,-1103276630,-1114239046,-1107084863,1019625936)+W(10,1019480223,1026018809,1020058227,1007104581)+W(11,1029611268,-1162581429,1037226018,-1116554192);WS(1059841719,1028884484); +sum1=W(0,-1113543486,-1112448166,-1123514455,1014814024)+W(1,-1116573889,-1120616579,-1132301434,-1127146586)+W(2,-1108411818,-1111506273,-1104706915,-1096756366)+W(3,-1106354949,-1107115957,-1117349474,-1105758103)+W(4,-1112074625,1034453786,1033474668,1052483434)+W(5,1048710884,1049505778,1050151687,1056594572)+W(6,1058342439,1041783662,1050338440,1043430567)+W(7,-1116369607,-1117001986,1011608836,-1106214629)+W(8,-1101044205,-1112657624,-1103529079,-1099567912)+W(9,-1110811775,-1119641312,-1133908615,-1113349351)+W(10,-1143395087,-1122260358,-1124590486,-1132902244)+W(11,-1118491109,-1118809775,996976763,-1114523384);sum2=W(0,-1131846847,999597315,997751878,-1114921220)+W(1,1031101790,-1115596944,1024706196,-1120544321)+W(2,-1142019487,973346488,-1127636492,-1114646695)+W(3,-1098897499,1027087956,-1111832500,1029100436)+W(4,-1119272484,-1113005256,-1113445057,1055277760)+W(5,1032426103,1036539833,-1114392819,1010252474)+W(6,1043688817,-1112114230,1056371527,1041350431)+W(7,1038923617,-1123786644,-1130636099,-1123180191)+W(8,-1110979463,-1112619479,-1097247478,1019660165)+W(9,-1105379211,1026606310,1012894502,-1125326592)+W(10,-1128104285,1003422803,1021279303,-1127196333)+W(11,-1138766624,-1129408714,-1130181692,-1164469676);WS(-1092619630,-1089382730); +sum1=W(0,-1111364766,1043539187,984781533,1030068626)+W(1,1026274177,-1111039089,1024515101,-1120853581)+W(2,1023648980,1020312451,-1115220152,-1101226428)+W(3,1038621209,-1105671421,-1101912057,1015856825)+W(4,1039669985,-1096148415,1055391282,1026945555)+W(5,-1081505706,1045179252,-1132720100,1027675681)+W(6,-1112475547,1048019422,-1085560118,1059189430)+W(7,1059392734,-1105049488,1041558112,-1133761880)+W(8,-1102256285,1027548272,1048070471,-1108016176)+W(9,1040580240,1037378816,1031071010,1032748839)+W(10,1036516737,-1110790259,1016263062,-1120756633)+W(11,1007770772,1034683832,-1109624324,1021933410);sum2=W(0,1021752691,-1117827136,-1125983252,990310070)+W(1,-1109957501,1040724727,-1109878975,1031887118)+W(2,-1111677325,1031932470,-1130612142,-1104195843)+W(3,-1168184730,-1105272655,1035492359,-1103738768)+W(4,-1108952074,-1110048197,1045228241,1051763659)+W(5,1028013889,-1136328910,-1114456338,-1114723198)+W(6,1033183913,1038437939,1050756049,1045197632)+W(7,-1115591069,-1123843648,-1120329563,1035246991)+W(8,1044091848,-1103930854,1008734718,-1105931725)+W(9,-1149204891,1020655719,-1120613434,-1121689275)+W(10,-1113755692,1027358915,-1104619422,1032921649)+W(11,-1117367196,-1140627498,1033876328,-1121880867);WS(1051433070,1041054969); +sum1=W(0,1027474774,995089009,1034863641,-1109189270)+W(1,1039503310,-1126811322,1033371404,1010666397)+W(2,1025557871,1019369911,1049084179,1046403907)+W(3,1044512531,1035909664,1033234174,1028564471)+W(4,-1105663671,1032468488,-1096978722,-1082587707)+W(5,-1102025153,-1107200379,-1104819461,-1106755535)+W(6,1035613609,1037418314,1039456478,-1080639932)+W(7,1026454114,1042549431,1042229543,1034360184)+W(8,1041537220,1036952965,1041156238,1049567823)+W(9,1040087661,1039105725,-1131034584,1031577769)+W(10,1027665948,-1122283488,1041167849,-1112387034)+W(11,1039611744,-1137459494,1031071714,1033297350);sum2=W(0,1039097792,-1128793460,-1140010118,1022871695)+W(1,-1138263433,-1112923836,1026478628,-1110368657)+W(2,-1103860174,-1106733661,1043000544,-1106671798)+W(3,1046664654,-1123142296,1037719970,1042580191)+W(4,-1106228186,1050938198,-1100268114,1039252188)+W(5,-1099105674,-1121884665,-1100173198,1034926170)+W(6,1004583985,-1097187313,1021007203,1053089515)+W(7,1048715277,-1114597930,1047464456,-1106315502)+W(8,1031892389,1046933969,-1107049139,1049075999)+W(9,-1103930146,1022883749,-1098080196,-1108178582)+W(10,-1133334119,-1107245750,1039577114,-1104825734)+W(11,1030321621,-1117968576,1036807670,1018138445);WS(-1097236334,-1078251511); +sum1=W(0,-1147379729,981774949,-1145120489,-1112510828)+W(1,975327689,1008364580,-1140670990,1022969831)+W(2,-1107131303,1007351583,1033603653,1043141838)+W(3,1029606457,938727969,1020032977,-1108966769)+W(4,-1102832418,-1125527926,-1095625930,-1082084799)+W(5,-1090577043,-1093823475,-1098508888,-1096801949)+W(6,1058323440,1053289720,1056660465,1032726417)+W(7,1058345481,1053416161,1046390514,1049766564)+W(8,1023750586,-1121375351,1026746467,1033795604)+W(9,1025947909,-1131151340,-1119905544,1037296218)+W(10,-1116361496,-1124892056,-1128008098,-1117973855)+W(11,-1148460889,-1125502955,999577711,1010324189);sum2=W(0,1024894779,1020144998,-1118791847,1007750652)+W(1,-1137666916,1023698735,1009542396,-1129126018)+W(2,-1102276353,1025017931,-1107221556,1046635995)+W(3,-1132306598,1023586615,1030880679,1015842286)+W(4,-1120020336,-1096890621,1050182775,1039741552)+W(5,1043589185,-1108361045,-1114600836,1024872627)+W(6,-1081787381,-1080908066,-1102161510,1072604155)+W(7,1055213170,-1115556916,1037616572,-1105259074)+W(8,1039662448,992888305,-1130889346,1039835396)+W(9,-1110509653,-1122324709,1000980713,-1124270218)+W(10,1023553607,-1118655405,-1120230550,-1126400334)+W(11,1020541198,1020891302,-1119304668,1033066840);WS(-1095840110,1065907853); +sum1=W(0,-1149009607,1029310442,-1122029108,-1136794300)+W(1,-1118254622,-1132243967,-1126823604,1010554921)+W(2,-1123781617,-1130903741,-1115466131,964920945)+W(3,-1115351608,1043406509,-1116119295,1040435870)+W(4,1057715094,1048478500,1058442742,1045634572)+W(5,1052165513,1053323726,1042519141,1051535704)+W(6,-1102734645,1041326469,-1088947208,-1083008792)+W(7,-1096684061,-1089856222,-1127763004,-1095672430)+W(8,-1101560548,1036129479,-1107277134,-1109559039)+W(9,1036543086,1024712701,1009014011,-1114598742)+W(10,1034276991,1021921030,1036949012,1024401462)+W(11,-1114280609,1035777670,-1132072137,1024787534);sum2=W(0,-1122765153,-1119761608,-1115823403,-1123357438)+W(1,-1105805209,1031734555,-1111986136,-1126486235)+W(2,-1112086475,-1118318168,-1121250504,-1119202357)+W(3,1024515185,-1130234658,-1134784044,1026675759)+W(4,1040388299,1023061820,-1128744886,1057284387)+W(5,-1103324019,1037222780,-1110952019,-1117543075)+W(6,966593378,-1102263327,-1110151426,1059190541)+W(7,-1106793279,1050053336,-1107073751,1021583022)+W(8,-1114107386,-1113965021,1045334069,-1118800384)+W(9,-1164047122,1025627836,-1114668630,-1124432766)+W(10,975247631,-1137846028,-1111548146,1023792011)+W(11,-1112106446,1020007628,-1125560981,-1131408661);WS(1024351088,-1094038469); +sum1=W(0,1016930687,1024919184,988693323,1038267403)+W(1,1001354275,-1123840710,-1125725377,-1120680465)+W(2,1038061004,-1118029957,1005748798,1038925818)+W(3,1032752795,1034287148,-1110688307,1036629872)+W(4,1052546457,1050276351,1052906127,1062157201)+W(5,1055274272,1050137483,1036684158,-1112935826)+W(6,-1086527812,-1103330015,-1085615881,-1097782940)+W(7,-1088621706,-1090365828,-1108159426,-1098987606)+W(8,1040515838,1027568116,1040353352,-1124671689)+W(9,-1113419105,1017331974,1018660298,1039926041)+W(10,1006605995,1004978763,1030413326,1031140124)+W(11,1009586849,1023985459,-1129057942,-1120649652);sum2=W(0,1018662896,-1131745232,-1136728576,-1110788716)+W(1,-1123530251,-1101470606,-1110519714,-1125138150)+W(2,1033363591,1031409358,1036576685,1060006588)+W(3,1052968790,-1102632350,-1105224546,-1083015355)+W(4,-1101021011,-1109130821,-1097527529,1058553385)+W(5,1023922010,1057288665,-1111209476,1034932287)+W(6,-1107389045,1050735765,1043333749,-1120731420)+W(7,-1100470754,-1097217661,1038218737,1047940150)+W(8,1013978472,-1122086781,1029525730,-1118628277)+W(9,-1117232951,-1112638769,-1121310567,1023530026)+W(10,-1120396150,1024022584,1015209616,1030135008)+W(11,1018906596,-1121049341,1024891644,-1113292326);WS(-1086599863,1058406314); +sum1=W(0,-1165120005,-1133002117,-1129945046,1024249318)+W(1,-1119162837,1026085015,-1121003281,-1127955907)+W(2,1027409257,-1121445206,-1106007410,-1105883025)+W(3,-1105279538,-1127421331,-1109094875,1024561201)+W(4,1060099497,1049800473,1059141168,1051534797)+W(5,1058010671,1051659429,1047889907,1050835423)+W(6,-1093079745,-1099695891,-1091476505,-1093891126)+W(7,-1094225343,-1106347590,-1098091099,999784785)+W(8,-1114693988,1033258882,-1129815521,-1124179562)+W(9,-1106482085,-1112036922,1030868870,-1097732400)+W(10,1019186220,1025328858,-1128567742,1017248474)+W(11,-1123837177,1031899202,-1123224348,-1141903913);sum2=W(0,-1116781913,1016621488,-1133566515,-1124282558)+W(1,1034216133,-1128560494,991940908,1017899660)+W(2,1031543998,1029140379,1044191480,-1105795809)+W(3,1017978886,-1175609568,-1120640387,1019924506)+W(4,1082393585,1078957479,-1080327233,-1065075267)+W(5,-1076777978,1030943022,-1110243052,-1113970478)+W(6,1050004941,1028477447,-1104837212,-1086493521)+W(7,-1109285108,1045155438,1033432207,-1130476854)+W(8,1025243259,1010603263,-1125439138,-1117319975)+W(9,988101688,1024551608,-1129511338,1020472787)+W(10,-1123250937,-1125975170,1007793087,1028403247)+W(11,-1125200922,1020903576,-1119399555,1028374268);WS(-1102531292,-1104168529); +sum1=W(0,-1149508566,-1156103398,1005530819,1019304359)+W(1,-1111288609,-1152861762,-1123770879,992160490)+W(2,1032023755,-1123937923,-1114986325,-1105594348)+W(3,-1100927253,1042848102,-1131000647,1048571064)+W(4,1058049088,1044530702,1057825341,1061967565)+W(5,1057378026,1043852869,1032195229,1021567685)+W(6,-1091020399,-1093487559,-1088576155,-1113700815)+W(7,-1096522221,-1100187457,-1097716728,-1095320739)+W(8,-1123106485,1028416434,-1124442300,-1132463754)+W(9,-1107169312,1030031137,-1127676038,1015048992)+W(10,1018386839,1022122127,1027828556,1023613146)+W(11,-1118265958,1031835352,-1124424850,-1151822630);sum2=W(0,-1112466451,-1130983341,1032826781,-1114093653)+W(1,1040752192,-1154197073,1026229169,1032051747)+W(2,1034684305,1035765483,-1117553496,-1101908611)+W(3,-1105770401,-1106309648,984953298,-1113409477)+W(4,-1101371049,-1113050760,-1096382267,1063677104)+W(5,-1132405995,-1114901667,1023704972,-1104964374)+W(6,-1100658772,-1100149859,1042208912,1062452463)+W(7,1047214162,-1095028755,-1109270652,-1107539022)+W(8,1043071493,1039321546,-1131759707,-1106482074)+W(9,-1105645940,1034888818,1035103126,1008251057)+W(10,-1119405084,-1140521940,-1127348451,1028341682)+W(11,1022142418,-1118255322,-1118485150,1025943565);WS(-1107552696,-1110437397); +sum1=W(0,994440345,-1123893979,-1123659045,1033249360)+W(1,-1115012423,1025628848,-1120012907,-1138236651)+W(2,-1114854865,-1115498472,-1107252796,-1098484960)+W(3,-1105215024,-1113844817,1015022176,-1112267573)+W(4,1038159592,-1143015444,1048547885,1066459081)+W(5,1050116824,-1114931568,-1139703834,1030992175)+W(6,-1169396004,-1103811554,-1102945115,1054059005)+W(7,-1110458371,1027966800,-1137430074,1038350450)+W(8,-1112745281,-1176837895,-1113210869,-1092775086)+W(9,-1107508006,-1115481499,-1123286831,-1114208046)+W(10,1003079356,-1126823399,-1127252913,1036761683)+W(11,-1117476787,-1139958260,-1143819946,-1119805695);sum2=W(0,-1128900045,-1134566747,1023101249,-1119409466)+W(1,1014344875,-1124604689,-1135550339,1011013307)+W(2,1032112026,-1121844433,1024457633,1041370918)+W(3,-1138667107,1023011873,-1123574415,1018662193)+W(4,-1122103841,1023900033,-1130431017,1071310745)+W(5,1015570157,1025187637,1029193653,-1118001398)+W(6,1020429393,1031965476,1010339139,-1073631838)+W(7,1024644617,1038341472,-1117036677,1034637136)+W(8,-1123818335,-1168200234,-1111989275,-1111141033)+W(9,-1128248465,1032459330,999769253,1020580065)+W(10,1025087925,-1116320886,1037399444,-1131868341)+W(11,1027301561,-1118206868,-1124415769,-1136885571);WS(-1106869980,-1095812171); +sum1=W(0,998635262,-1132768195,1031165051,-1109012795)+W(1,1031921458,959153786,1015400066,1020404450)+W(2,1030538232,1032306163,1040655940,1049530762)+W(3,1035845131,1029124089,1034791747,-1126776961)+W(4,-1104276842,1027943897,-1094369165,-1079963696)+W(5,-1094529094,-1138415831,-1107836910,-1127281161)+W(6,1021368885,1042581143,1043839724,-1098205560)+W(7,1041010327,1043286153,1040781721,1032119517)+W(8,1037657452,-1130589992,1045125152,1052736873)+W(9,1041646697,1033263566,-1127518347,1032079673)+W(10,1012233735,-1127936403,1030674671,-1106402911)+W(11,1035635524,-1117746707,1026900011,1007765715);sum2=W(0,-1137391706,-1152109415,1015680093,-1108578627)+W(1,1012334874,-1126811133,-1146463859,1013671002)+W(2,1016897725,-1123613558,1031100358,1031185182)+W(3,1018767069,1016912269,-1123894542,-1129388765)+W(4,-1122041158,-1117579022,1032233585,1068869480)+W(5,1031129926,-1135215962,-1172726683,1025914590)+W(6,1032188407,1034093919,-1107212716,-1079207220)+W(7,-1118301998,1010098650,1010207290,998321459)+W(8,959684203,-1123954990,-1144448755,-1112638895)+W(9,-1145613555,1002322227,-1163026381,-1185201771)+W(10,1004755699,-1142267571,1020208893,-1131161181)+W(11,1014639674,1010341946,-1128211133,1014227898);WS(-1106551004,1058945856); +sum1=W(0,-1136733265,1029534949,1040114552,1023973738)+W(1,1008178533,-1121731675,-1122738710,998670125)+W(2,1027999917,-1110759309,-1101184472,-1136820001)+W(3,-1120539979,1050535890,1036280349,-1112884987)+W(4,1036329486,1039804839,1055915689,1045009467)+W(5,-1099722578,-1092228133,-1110742697,-1133144549)+W(6,1021052191,-1090459221,-1088507490,-1102642413)+W(7,1057115504,-1141944531,1036514925,1024140334)+W(8,-1112842790,1042972690,-1116549941,1048917175)+W(9,-1103385510,1042662182,-1123309658,1040183891)+W(10,996925861,-1126301053,1035692146,-1116120689)+W(11,1032281663,1025401864,-1122836256,1009223461);sum2=W(0,-1166199047,1008667864,-1137339492,-1142224481)+W(1,-1152330850,1020018908,-1116618549,1015962596)+W(2,1029866216,-1111274931,1026227362,-1119220040)+W(3,1031356244,-1116678638,1026327024,-1189397276)+W(4,-1143586281,1037662319,1052978055,-1079795268)+W(5,-1109068899,1041694498,-1122243464,1027749752)+W(6,1016771040,1050961303,1073672156,-1075413433)+W(7,1029037052,1026323256,1021575344,-1119692611)+W(8,-1123676489,1039205717,1048063806,1028203090)+W(9,-1113725553,-1115208722,1002430881,-1114291930)+W(10,-1174784654,-1119230230,-1117826448,1028246046)+W(11,-1160612324,1024440460,-1126523302,1031666290);WS(1045979868,-1116118129); +sum1=W(0,1019079208,-1124899402,-1142300538,1011594153)+W(1,-1134190949,-1132197046,-1116332853,-1135144470)+W(2,-1115974509,-1114857165,-1110287856,-1099509298)+W(3,-1112842949,-1107483943,-1111331677,1018268010)+W(4,1054347779,1046800787,1053005207,1063937495)+W(5,1058166871,1048177899,1047873428,1056893199)+W(6,-1096855346,-1098629066,-1093283235,-1097005655)+W(7,-1090046872,-1104885511,-1102896822,-1096686406)+W(8,-1118610636,1029706377,1028644213,1015974258)+W(9,1040979430,-1129150352,1028514810,-1118433447)+W(10,-1120438410,1017939836,-1131155654,-1116499825)+W(11,-1119992573,-1120133576,-1118080608,-1112688517);sum2=W(0,-1132220574,-1115410889,1017347763,-1123931551)+W(1,1027749497,-1111299822,1025854529,-1123916419)+W(2,1034058342,-1116250603,1029372102,-1101916549)+W(3,-1104316591,1035393713,-1107314572,1033668899)+W(4,1008450820,-1126553639,-1105866140,1053545154)+W(5,1054419707,-1102688086,1036131430,-1144517652)+W(6,-1132397996,-1097158033,1060185134,1060913993)+W(7,1033775493,-1115290197,-1106841697,990325833)+W(8,-1105536207,-1108668742,-1106418349,-1104852271)+W(9,-1106993048,-1102129692,-1149271050,-1114889391)+W(10,1025437040,-1118211898,1034066570,-1102379864)+W(11,-1133416673,-1209279719,-1133826631,-1129688184);WS(1058774455,1069380246); +sum1=W(0,1032626516,-1119757626,1033017026,1015522813)+W(1,-1128327131,1036888920,1032769109,-1148588495)+W(2,-1114780225,1038823639,-1098306133,1034533838)+W(3,-1103839696,-1112718001,-1126986782,1012070438)+W(4,1045065548,1040221656,1021036585,-1082356272)+W(5,1057244812,1032300191,1043416793,1045596067)+W(6,-1111975378,-1115053555,1050529784,-1095104409)+W(7,-1133328720,-1111385431,-1124233691,-1105784401)+W(8,1025328225,1020222778,-1115391173,1045288819)+W(9,-1116298540,1042918995,1029500622,1037659662)+W(10,-1121960111,1037972921,-1112361500,-1139302935)+W(11,1018289699,-1110693582,1027375220,-1114680879);sum2=W(0,-1129789987,1019234847,-1128803579,-1112792165)+W(1,1011967806,995307959,1018394359,-1112288614)+W(2,1017265095,-1124971531,1043137983,1047657371)+W(3,1034970984,1010908150,-1107223361,1027672251)+W(4,-1124616639,-1114025560,-1132476030,-1114992592)+W(5,-1098689491,-1115509379,1006851110,-1128503755)+W(6,-1116091154,1022067335,-1102585265,1052022695)+W(7,1033604172,1031244615,1032350856,1024636851)+W(8,1033010488,-1114442452,1028851843,-1115343414)+W(9,1002830796,-1121158047,-1114060980,1027935499)+W(10,1011223606,-1117824661,1031833634,-1136738894)+W(11,988094894,1025799099,-1118870225,-1127411999);WS(1065814108,-1098421406); +sum1=W(0,1030554015,-1131576032,1020712308,1019668842)+W(1,-1178997255,1023970854,1011631425,1023862096)+W(2,-1104400078,1022555209,-1130072911,-1118231891)+W(3,1041059117,-1115494780,1035736611,-1104560304)+W(4,-1097091133,-1099298246,-1094842433,-1084181571)+W(5,-1098796514,-1094912271,-1090107010,-1092396649)+W(6,1050276747,1048827844,1057743463,1051719984)+W(7,1058357819,1056339293,1051879221,1057941592)+W(8,1045406982,-1106685173,1040093248,1018405640)+W(9,-1118903138,-1115388505,-1113309730,-1118151090)+W(10,-1119880969,-1132305362,-1122176686,1026194364)+W(11,1004376640,1024072531,1009992363,1029155252);sum2=W(0,-1104337717,1027104118,-1114433477,-1122138940)+W(1,1048327612,1018207462,1015118770,1054676844)+W(2,-1085961218,1036459641,-1092980271,-1101372003)+W(3,-1098271754,-1115566688,-1101224844,-1105452167)+W(4,1065899128,-1117484391,1062039746,1077763913)+W(5,-1088377514,-1079225367,-1106150830,-1079350028)+W(6,1055232204,-1101810882,1049041629,1071302707)+W(7,-1084489503,-1087139921,1036291830,-1090077553)+W(8,-1090132108,1052764213,-1092098978,-1123596042)+W(9,1027311380,1042626102,-1105072819,1053993534)+W(10,1023963317,1014918739,1035158266,1027553578)+W(11,-1115760458,1025357528,1032466828,-1115160051);WS(-1083527351,-1082119000); +sum1=W(0,1025283773,-1132057884,1024000280,-1117776915)+W(1,994019357,-1146975260,1021506300,1016847260)+W(2,-1100516229,1028453762,-1124447466,1027818609)+W(3,1030853236,-1120656758,1023329542,-1111423375)+W(4,-1103907601,-1097545679,-1096840081,-1088298777)+W(5,-1090997910,-1097629690,-1102673054,-1097673748)+W(6,1054198743,1048327710,1054350616,1057412078)+W(7,1059405315,1052404744,1051692752,1047886934)+W(8,-1139734483,-1114897689,-1109407791,-1112548849)+W(9,-1107996896,1035903152,-1110888465,1034953432)+W(10,-1115248201,1021031566,-1115380998,-1139302503)+W(11,1029448614,-1119316016,1026998601,-1149960989);sum2=W(0,1023717076,996584188,-1122858228,1005163886)+W(1,1025356913,-1118691920,1028885707,-1114207359)+W(2,1034248479,-1120794590,1037241484,-1124781820)+W(3,-1115274025,1026099362,-1121079636,1010502519)+W(4,-1110594365,1045315954,-1111180041,-1088752945)+W(5,-1100621689,1052626156,-1114153113,1038857859)+W(6,-1113079527,-1094151830,-1064957365,-1066051811)+W(7,1081496726,1084041658,1034711477,-1115018893)+W(8,1030579691,-1113958061,-1106054130,-1113733983)+W(9,1049150725,1032870315,1042989109,-1106741724)+W(10,999456782,1021526858,1018369486,1031457177)+W(11,-1112407773,1022214782,-1108284893,1023330420);WS(1031453552,-1108810221); +sum1=W(0,-1122540068,-1141490084,-1132153597,1029503994)+W(1,-1126370513,-1127727061,-1132743443,1024122485)+W(2,-1106571135,1028200745,-1106394603,1029495448)+W(3,-1118016922,1043712879,1035505061,1041979953)+W(4,-1105389195,1023785053,1041720002,-1089108304)+W(5,1047749927,-1092241143,998106632,-1098695505)+W(6,1051764564,-1104087736,1055195957,-1096098616)+W(7,1047204316,1028938666,1043190746,1039644831)+W(8,-1121040220,1027661528,-1111907522,1031937892)+W(9,-1112974291,1025162247,-1152510101,1002213552)+W(10,-1136080166,1023137883,-1123745267,1034024448)+W(11,-1121356173,1028910871,-1121641711,1025100697);sum2=W(0,1032316109,-1122133197,1021061413,-1122180337)+W(1,-1115376331,-1123716599,1008734994,-1144451812)+W(2,-1117365450,1033736971,-1117276879,1009179554)+W(3,1034450077,-1100616286,-1130550593,-1102305630)+W(4,1028239450,-1104139010,-1090538079,1022309577)+W(5,-1125496737,1059658657,1014965154,1053491799)+W(6,-1106184057,1045998485,-1087751568,1065712953)+W(7,-1100319643,-1100023584,-1115246006,-1107982835)+W(8,1039709205,-1126266788,1056538813,-1098763613)+W(9,1017435581,1022563437,980175008,-1103966134)+W(10,-1127567978,1029398164,-1106793212,1016414657)+W(11,1032114232,-1113653553,1034308617,1020870093);WS(1060627383,-1111244297); +sum1=W(0,-1124372048,-1124233202,-1115057922,-1126359548)+W(1,-1135390133,999175032,-1137033126,-1120904377)+W(2,1041984816,1023856878,1037843884,1013283185)+W(3,-1106598024,-1109047521,-1108189319,-1127664786)+W(4,-1098607926,-1097555068,-1092180401,1035134080)+W(5,1055432750,1050330552,1046692025,1039361415)+W(6,1048999428,1050454749,1057072683,1037566628)+W(7,-1088869991,-1097603878,-1106138715,-1115643873)+W(8,-1110297584,-1119853981,-1100337986,-1117600845)+W(9,1045634091,1040799043,-1129123036,1042168959)+W(10,1037179887,-1124350564,1037306108,-1180500637)+W(11,-1107300041,-1132131255,-1126029544,-1132202938);sum2=W(0,1027553654,-1128416633,-1120268362,1026192109)+W(1,1010812163,-1133939099,1033310247,1007338654)+W(2,-1105419467,1035214610,-1102082588,1034096310)+W(3,-1109637676,1042926233,-1103557522,1039202903)+W(4,-1141314538,992160749,1039698771,1028842291)+W(5,-1128101012,-1110346070,1041169016,-1150310139)+W(6,1051401064,-1098506313,1041311911,1044707561)+W(7,1040877432,-1107620104,1044637450,-1101325278)+W(8,1061407816,1048701957,1065441970,-1108357660)+W(9,-1080219839,-1089748519,-1106511250,-1094091750)+W(10,-1086513034,1023990179,-1083801169,1027929117)+W(11,1058347144,1054974548,1012370076,1054706164);WS(1037089208,-1117319375); +sum1=W(0,-1117307261,-1109658215,-1104716662,-1095157370)+W(1,-1115283233,-1113906562,-1127634429,-1150522598)+W(2,-1127081515,1037266337,1045840649,1048384396)+W(3,1042005149,1026318614,1035073906,-1129730364)+W(4,-1090315640,-1103803502,-1108965493,-1089739445)+W(5,-1098438340,-1090508193,-1096110967,-1090097982)+W(6,1055484319,1036834781,1059715066,1050929076)+W(7,1059599591,1050537744,1039184033,1056916499)+W(8,1019801962,-1121027890,-1120952094,-1115632913)+W(9,-1115851136,1036887192,-1109698481,994450682)+W(10,-1140393804,-1122236391,1007521585,-1115666157)+W(11,1038771059,-1114842616,1040209394,1023772594);sum2=W(0,-1096641595,-1086741683,-1073585699,-1071753138)+W(1,-1078410756,-1096289506,-1145261363,997353903)+W(2,1051991389,1059199896,1069582799,1070628328)+W(3,1067042424,1055331220,1015112751,1024293693)+W(4,-1107135642,1044105651,1057042277,1065961920)+W(5,1057516905,-1098611055,1043415065,-1101981251)+W(6,-1120991144,1025236133,-1123268190,-1098135951)+W(7,1032298014,-1106950583,1007537613,1025642916)+W(8,-1123228782,1032269711,-1116194138,-1144560253)+W(9,1026966393,-1155415556,992611856,1011854094)+W(10,-1119770484,1020415755,-1119862022,1033682735)+W(11,-1113740644,1022995083,-1144895945,-1130196038);WS(-1089262391,1050517969); +sum1=W(0,-1112721887,1040766980,-1116916633,-1109323658)+W(1,1043853249,-1102481809,1025978335,-1134508350)+W(2,956356282,1032255106,-1115255965,1053521294)+W(3,-1109293354,1024224759,1036451442,998852344)+W(4,1041136081,-1099047838,1050954387,-1090918435)+W(5,1049475859,1046323061,-1129023222,-1126452038)+W(6,-1112851037,-1136806893,1047658201,-1090498606)+W(7,-1111100085,-1101889105,-1112184834,1037224108)+W(8,-1118798326,1044101949,-1099177336,1048722524)+W(9,1044026608,-1109421665,1044252857,-1113020120)+W(10,1033047322,-1110781188,1022949658,984126311)+W(11,-1111349460,-1151794972,-1140137768,-1119083507);sum2=W(0,-1120544497,1042905493,1045262161,-1104438232)+W(1,1023630957,-1122372280,1027866949,-1121491826)+W(2,-1104964203,-1097077111,-1098230931,1057982485)+W(3,-1106247773,1011970003,1026340389,1016978228)+W(4,1056285145,-1118581415,-1079914544,1057557770)+W(5,1048964135,1020547274,-1113753028,1034078959)+W(6,-1109256198,1026029661,1056552993,-1104081201)+W(7,-1114436673,1033190701,-1107460568,1034442922)+W(8,-1107706742,1025674690,-1103396776,1048351556)+W(9,1018818866,-1103728916,1046941904,-1106194166)+W(10,1033408182,-1118988963,1021102038,-1136298684)+W(11,-1112938187,1034200267,-1117493164,-1172844144);WS(1055467886,-1126093527); +sum1=W(0,-1115675946,1039731987,-1108949528,1014043817)+W(1,1025589529,-1102050167,1035820699,-1114599603)+W(2,1037777366,-1126460340,-1145838757,1049783617)+W(3,991251120,1042727635,-1123043835,1024161077)+W(4,1043818615,-1103677379,1060367897,-1102044139)+W(5,-1109258124,1049311757,-1116399889,1046137806)+W(6,-1096353162,1012406341,-1088026493,-1095567535)+W(7,1051881528,-1095440907,1032817677,-1116994158)+W(8,-1150025924,1031349769,1034695514,1044285022)+W(9,1011738461,-1115570324,1040150333,-1110796915)+W(10,1035905869,-1103947080,1034985426,-1129716323)+W(11,-1107675487,1042590402,-1104125432,-1140552997);sum2=W(0,-1115939175,1042939513,-1106984126,1036071940)+W(1,-1133154938,-1110872047,1038271101,-1124388167)+W(2,-1111463085,1009748958,-1104760450,1026404786)+W(3,1042746589,1018643239,1024219237,-1107044825)+W(4,1026058510,-1101036999,1046231331,1060091622)+W(5,-1109115274,1042116887,-1104891113,-1137025366)+W(6,1015189774,1048391804,-1101164712,1059732347)+W(7,-1090421446,-1092755101,1018386748,-1112446842)+W(8,-1116961377,1019493983,1013441892,-1113485706)+W(9,-1102245299,-1104832958,1043357489,-1123717753)+W(10,1003109525,-1128500291,-1127287103,1036806652)+W(11,-1110906499,1042929180,-1108912836,1034520620);WS(1062208951,1065603754); +sum1=W(0,1032466911,1012820793,1029562264,1020285479)+W(1,993753125,1033268866,-1131051261,1028903855)+W(2,1029341462,1027274819,997585115,1040141401)+W(3,1032063722,-1153074023,1015103815,1040294280)+W(4,1059167044,1052950767,1057349364,-1108524682)+W(5,1049874906,1048703978,1050186639,1053103700)+W(6,-1090134924,-1094303727,-1085543304,-1080037127)+W(7,-1095616607,-1112675170,-1111683969,-1091636059)+W(8,-1133534677,1027990706,1035990447,1037410929)+W(9,1039846496,1023735025,1040888889,-1118753424)+W(10,987089513,1032570772,-1136982833,-1125543221)+W(11,1015158861,-1145342854,1031358985,1022936933);sum2=W(0,1035386648,1023547272,1025878508,1026832668)+W(1,1029828312,-1098240729,1044150428,-1103643200)+W(2,1042887622,-1099060438,-1099619867,-1099104088)+W(3,1048769602,-1121505868,1040524432,-1115369075)+W(4,-1086410483,1053956416,-1094814183,1069089225)+W(5,1044213412,1035342184,1040447750,1049544904)+W(6,-1090258329,-1112148135,-1093316197,1060781490)+W(7,-1091192206,-1105713821,-1089411157,1058550641)+W(8,1060158548,1050315819,1046080958,-1103190742)+W(9,-1105160931,-1084784918,1058372334,-1080579858)+W(10,-1113981975,-1099847621,1046524888,-1112424275)+W(11,1051146364,1019461112,1028619520,1040133188);WS(-1078970012,-1070975772); +sum1=W(0,1023443287,1008154783,1008498119,1032996598)+W(1,-1130007992,1026985054,1001505728,1027285064)+W(2,-1111813336,1034628686,1020510238,-1119594955)+W(3,1037186855,-1129455456,1024916861,-1118416824)+W(4,-1095332548,-1098370186,-1091304148,-1097391342)+W(5,-1088889903,-1093273302,-1097878954,-1097408559)+W(6,1048282532,1052880922,1054365856,1065196819)+W(7,1037830473,1040256647,1042516535,1044458956)+W(8,1036630695,-1109395910,1031904252,-1105409007)+W(9,1022933044,1030320779,-1131972409,1037289397)+W(10,999582566,-1140663171,-1128098380,1030941172)+W(11,1003729918,-1138808617,1018809669,1005961310);sum2=W(0,-1114009537,1035366037,-1111463643,-1119334122)+W(1,-1132366661,1001109746,1035022899,-1112054465)+W(2,1019032853,-1143037026,-1122373240,1056620469)+W(3,-1103744316,1002774938,-1102405348,1046894720)+W(4,1024640816,-1101234014,1068131945,1075463933)+W(5,-1075751794,-1072865378,1052446989,1019415611)+W(6,1029944441,-1105571142,1044188353,-1093783941)+W(7,1050699227,-1098127223,1028903402,-1119380340)+W(8,-1146945026,1031686749,-1128619453,1046426762)+W(9,-1109652943,-1131952529,-1123943246,1017598049)+W(10,-1136399129,1018164069,-1125359481,999713778)+W(11,-1123073190,1019524751,983357578,1013611461);WS(-1137905088,-1096938393); +sum1=W(0,-1127951952,-1139830244,-1108742721,1019792636)+W(1,1018370522,1020799581,1021418002,-1148599498)+W(2,-1116133184,1040763803,1041221580,1009683312)+W(3,-1107181880,1002965001,1022849180,1039287108)+W(4,-1092624022,-1104553656,-1090149133,1044078592)+W(5,1058802794,1043495791,1033578226,-1113073030)+W(6,1045295113,1046745657,1057147883,-1112574564)+W(7,-1085568476,-1103617227,1032014262,1022418564)+W(8,1023908704,-1103252327,-1103732914,-1127338650)+W(9,1040869579,991652540,1013121207,1011288682)+W(10,1031880695,1040451684,1026434167,1007135764)+W(11,1014113348,-1125537591,1016284007,-1116579933);sum2=W(0,1036469548,1017461301,1017339130,-1095997080)+W(1,-1099654066,-1105423964,-1113359567,-1131580992)+W(2,-1097965159,-1101551098,-1094477168,1035631286)+W(3,1054988432,1047389393,1041958533,1043362318)+W(4,-1116680345,-1125992347,1058922542,-1103956246)+W(5,1040393300,1040203374,-1108890296,1024609216)+W(6,1001756270,-1115644020,1035448965,-1105032669)+W(7,1039533461,-1122662741,-1130070269,1025676040)+W(8,1032969412,-1124365977,1040541302,-1112710338)+W(9,1017600743,-1114085496,-1134082186,1015920174)+W(10,-1131471357,1016380025,1001720584,-1115585175)+W(11,1001178742,1001141734,1010209588,-1122393401);WS(1017525984,1039916017); +sum1=W(0,-1124853567,-1147061122,-1129462517,-1119594613)+W(1,999306018,-1156505185,1012193026,1010192066)+W(2,1018048624,-1127291978,1049183858,1032566282)+W(3,1036307723,-1150114695,-1116656134,-1111959392)+W(4,-1095739637,-1104996150,-1085471393,-1090223247)+W(5,-1104470177,-1105492077,-1109848430,-1107232129)+W(6,1045916039,1043181303,1054258797,1054999864)+W(7,-1108082389,1055713893,-1134406033,1049351719)+W(8,1035770156,1038596810,1048116160,1024906308)+W(9,1035021201,-1114305018,1014226964,-1132413284)+W(10,1019449355,-1118699785,1018729693,-1125493497)+W(11,-1111613764,1013642059,-1117195563,990662981);sum2=W(0,1033095635,-1123818427,1023960168,-1115456886)+W(1,-1130014725,-1134763238,1020936831,1030713030)+W(2,-1113611213,1038354785,-1136308834,1031365710)+W(3,-1121052824,1037262635,-1129095405,1030934712)+W(4,-1120605005,1043017802,1016597499,-1105318511)+W(5,1032279133,-1129541437,1028982810,969324748)+W(6,1010827478,1005632845,1067061797,1065783254)+W(7,1033387493,1024758296,-1141733133,973320358)+W(8,-1096460028,-1090567932,-1078682340,-1094955795)+W(9,-1114814318,994121897,-1126300988,-1148320949)+W(10,992544217,1043858115,1041505996,-1104546945)+W(11,-1114466677,-1115137122,1007094454,-1122716507);WS(1033221560,1063777383); +sum1=W(0,1019126833,1022703059,1034317754,-1141147507)+W(1,1023815261,-1145478905,-1139797991,1017044691)+W(2,-1112638616,-1107233655,-1107419652,1017313945)+W(3,1030431247,1043218964,1030899327,1042038278)+W(4,1057738402,1049316970,1057780266,1039925560)+W(5,-1101232178,-1097249286,-1105363093,-1097041200)+W(6,-1088696201,-1093677291,-1091493000,-1105678958)+W(7,1054033952,1050643572,1039373871,1044902925)+W(8,1044063732,1018619290,1042363102,-1123751101)+W(9,-1103422471,-1099574259,-1109462943,-1143343447)+W(10,-1130166589,-1127677637,-1141893947,-1141892011)+W(11,1028589441,1032480102,1000558881,-1115509735);sum2=W(0,-1130982538,1021127838,1013698904,-1227267307)+W(1,-1180063220,-1130392938,-1129014326,1032270489)+W(2,-1106875761,1011019608,1024572751,1039986653)+W(3,-1113103478,-1104759550,1035543741,-1129087757)+W(4,1056618334,1055137831,1048771047,-1073860127)+W(5,-1108123535,1059126644,1045481337,1042704754)+W(6,1055977286,1058761027,-1103617496,-1072531400)+W(7,1052255088,1063802283,1048895081,1016319978)+W(8,-1102508839,-1115387544,-1128394642,1043687089)+W(9,-1126700500,-1109991236,1031917163,-1121934766)+W(10,1020425242,1013848532,1016018634,-1112657573)+W(11,1035781641,-1125248586,-1126407949,1030839801);WS(-1091503470,-1126838795); +sum1=W(0,-1124121237,-1113414670,1028321829,-1111356688)+W(1,1026686479,-1121133649,-1120913068,-1126384695)+W(2,-1134568843,-1126036384,1033159265,1037814911)+W(3,1031580097,1040854417,-1106928812,1027944427)+W(4,1047693172,1049117760,-1105247938,1058889082)+W(5,1012762455,-1120516448,1049438209,1040171928)+W(6,-1109412515,-1103447906,-1096437464,-1098797565)+W(7,-1104719461,-1106636212,-1129886751,-1106734009)+W(8,-1129997061,1034526751,-1143270742,1022658271)+W(9,-1109175079,1042645116,-1104071908,1012750451)+W(10,1024589216,-1113770234,1036105485,-1114645460)+W(11,1023714995,-1138248951,-1132081196,-1145462266);sum2=W(0,-1121971015,-1109269766,-1096046215,-1096349825)+W(1,-1104467071,-1105457821,-1114558576,-1113812495)+W(2,1025966975,1042653975,1058579369,1055073186)+W(3,1043843774,1043492169,-1138844670,1035958317)+W(4,-1127561691,1038662008,-1095336395,-1156170871)+W(5,1054347264,-1116732629,1043300107,1025184897)+W(6,1032121603,-1104797770,1041625968,-1098327149)+W(7,-1090818470,1028261711,-1117277405,-1130419167)+W(8,-1118316871,1018661176,-1131103951,1035437895)+W(9,1042639369,-1115472379,-1115061521,-1130646919)+W(10,-1147835451,1023052754,-1129857431,-1114991229)+W(11,1011784142,-1157273063,1024244091,-1148362739);WS(1065968028,1020949470); +sum1=W(0,1032158503,1018701500,1028916776,1031923218)+W(1,-1143490705,1005807263,1028568398,1026731038)+W(2,1043191673,1020082981,999481917,1033906881)+W(3,-1123072324,1012896153,1015001550,1035245559)+W(4,1050691771,1043953282,1047062836,1032996498)+W(5,1057457238,1057445286,1051530049,1057446979)+W(6,-1089572661,-1139338281,-1091936976,-1081715803)+W(7,-1087112685,-1088032573,-1100585253,-1095410205)+W(8,983294118,1041437600,1042367115,1040306653)+W(9,1019100064,-1123572193,1039280729,-1104642968)+W(10,1033006978,-1139648989,1033705422,-1132542121)+W(11,-1138694873,1033839136,1027376729,1015844228);sum2=W(0,-1107158830,-1114179967,-1106205598,-1112529879)+W(1,1036191348,1045048740,-1112261511,1045813672)+W(2,-1098284578,1050997929,1032837846,-1138556160)+W(3,-1103494095,1033058370,-1109765233,1040601336)+W(4,1059620359,-1120628180,1056621385,1064698181)+W(5,1049117565,-1087565422,1050635491,-1087363324)+W(6,1059101624,-1084072333,1033838752,1049137220)+W(7,-1100194061,-1096659207,1042760064,-1087988644)+W(8,-1080819081,1055292451,-1084530179,-1118657190)+W(9,1035375516,1055648971,-1101810418,1059720072)+W(10,1041045600,1041809552,-1150759871,1036987884)+W(11,1040790470,-1098721116,1028926760,-1118399816);WS(-1079370588,-1069938997); +sum1=W(0,-1107111607,1031876694,-1108546779,1007409349)+W(1,-1119937056,-1110402417,1034313646,-1115195974)+W(2,1024046068,1040468568,-1110778478,1041967908)+W(3,1037532265,1027170100,1028424065,1030920188)+W(4,1034755057,1048995971,1044693184,1056322870)+W(5,992363881,-1123931633,1041273350,1034999584)+W(6,-1106911318,-1106422470,-1092550445,-1089848952)+W(7,-1115839591,-1098485404,1027494176,-1101830589)+W(8,1032333322,1043602212,-1124221431,1044063648)+W(9,-1137125241,1015794334,1038675968,1024639630)+W(10,-1122522177,-1133546645,-1123999146,-1129245296)+W(11,-1121719236,1009488187,-1146748727,-1115284904);sum2=W(0,-1116010697,1039856206,1025692273,1047723216)+W(1,1054500142,1045538686,1020883249,1037455508)+W(2,1044972838,-1094195694,1041658757,-1090167008)+W(3,-1087657974,-1114739465,-1103808398,1025495534)+W(4,-1107525170,1054041965,-1095593913,1054432792)+W(5,1048962216,-1099510609,1041852115,-1112321007)+W(6,1025111869,-1105218154,1047241736,-1103340827)+W(7,-1105033641,1043141319,-1104502432,1020729805)+W(8,-1115770744,1021276689,-1113081166,1030984707)+W(9,1026520309,1008623973,1031142833,1034321699)+W(10,1027404867,-1122132060,1036997767,-1109230755)+W(11,1000189578,949401483,-1121181330,989367833);WS(1051966318,-1113875142); +sum1=W(0,1035883793,-1111332346,1045917727,1006041029)+W(1,-1129901007,1042663274,-1119690564,1014471632)+W(2,1040145278,-1135399329,1017502534,-1096989371)+W(3,1043615094,1025318012,-1113005508,1043398529)+W(4,1051696565,1051177307,1054251573,1061428120)+W(5,1037934795,1050890887,1046007992,1049249377)+W(6,-1091560996,-1096861164,-1091248610,-1087158964)+W(7,-1098884432,-1096301045,-1093706893,-1093100168)+W(8,-1133003627,-1117751383,-1178468754,-1126263439)+W(9,-1106662601,1017933485,1038615540,-1116546293)+W(10,-1126824689,1039745286,1020593891,1008594943)+W(11,1037849734,1035118155,-1114145271,1028529816);sum2=W(0,-1120038729,1032134121,-1112337284,1014623636)+W(1,1015804972,-1111055788,1025605092,-1118260382)+W(2,995641288,1034430176,1011533369,1032554184)+W(3,-1114631943,1037430467,1022278663,1020696197)+W(4,1035481768,-1099098436,960227969,-1122840036)+W(5,-1123247827,-1115890560,1022436109,1010081074)+W(6,1011267102,-1099374838,1055781369,1046041384)+W(7,1055178264,-1124103196,1039303021,-1116158530)+W(8,1042749492,1055985885,1067101038,1069533386)+W(9,1065618150,1058921177,-1106092627,-1118372702)+W(10,1026093812,-1113501317,-1095011910,-1086401299)+W(11,-1079450114,-1075689828,-1082339747,-1095588850);WS(-1087762743,-1114043214); +sum1=W(0,1028903325,-1111481047,1010874850,-1117223539)+W(1,-1114811697,1027957028,-1115120063,1025677743)+W(2,1040067739,981566559,1032756947,-1130847267)+W(3,-1123313460,-1113871531,-1126050567,-1113266015)+W(4,1045936105,1050679259,1052053924,1055533279)+W(5,1059392176,1053658934,1039338221,1051823712)+W(6,-1095653187,-1096161947,-1090950614,-1084280212)+W(7,-1097768267,1005713692,-1120312930,-1118568631)+W(8,-1122706133,1026181394,1034645023,1030922562)+W(9,1030340896,-1102292436,-1107839810,-1112577800)+W(10,1029496147,-1149217596,-1132850610,-1154701224)+W(11,-1113406339,1020850850,1017761874,-1117302546);sum2=W(0,1001016005,-1125241033,1018218852,-1111720092)+W(1,1015413875,-1140722987,-1138333196,1010568725)+W(2,-1150454109,-1111980552,1033028659,1037513337)+W(3,-1109924763,-1144232926,-1117260807,-1113652225)+W(4,1001531747,1031575403,1016765132,-1085543392)+W(5,1053354837,1054900052,1041131548,1045881209)+W(6,983352173,-1103460210,-1103428024,-1076627395)+W(7,1074369634,1051272122,-1098379064,-1098914955)+W(8,-1106746798,1036252996,-1128273041,1046375720)+W(9,1055587240,-1094917738,-1106193524,-1098562564)+W(10,-1157019725,1023495862,1033057508,-1112606370)+W(11,1019967806,-1107285947,1012881631,1031041657);WS(-1090517687,-1095444575); +sum1=W(0,1025742446,-1111454559,1040962578,1035513890)+W(1,1025779251,1041617005,-1106922364,1024699903)+W(2,1032739299,-1106175885,-1110724347,-1118213794)+W(3,-1103218657,1040368314,-1105137317,1024907982)+W(4,1054789967,1031326631,1052551894,1059778428)+W(5,1045793474,1051667296,1040121301,1052247674)+W(6,-1095546301,-1101847659,-1090925684,-1089262225)+W(7,-1096439373,-1099734269,-1104705805,-1097282993)+W(8,1033023507,-1107099097,1036045063,1035395209)+W(9,-1101529212,1050132438,-1102593253,1016797696)+W(10,1028563508,-1117676152,1036888990,1007580971)+W(11,949923192,1037985265,-1113513373,1026673059);sum2=W(0,1052208474,1035064858,1064043431,1055780907)+W(1,1048070172,1057138231,-1100953655,1042120650)+W(2,-1095438834,-1104348375,-1079843968,-1084432555)+W(3,-1106077690,-1086965748,1048708391,-1106942577)+W(4,1040952518,-1095663473,1060639651,1054823629)+W(5,-1098542607,1057295667,-1095587456,1035260440)+W(6,-1101013864,1048824145,-1097227129,-1105218176)+W(7,1048082838,-1106201667,1042233875,-1136871967)+W(8,1045777263,-1099869349,1049789703,-1118379111)+W(9,-1102784042,1043327775,-1107731485,1006771796)+W(10,-1125550479,-1127115193,1024044553,972648308)+W(11,1021849499,1016298873,-1116706874,1030896448);WS(-1115614648,1042425791); +sum1=W(0,-1120207204,-1124027509,-1144413692,-1105701711)+W(1,1014568102,-1120774251,1029691462,-1119274774)+W(2,-1115327070,1016926292,1038910502,1037845356)+W(3,1042236823,-1105850383,-1134596907,-1117126533)+W(4,-1093340989,-1096731140,-1096554678,-1085064420)+W(5,-1100005974,-1098496607,-1135406214,-1098152617)+W(6,1053481388,1053311332,1057006919,1049566369)+W(7,1056376458,1048579325,1042582346,1043887136)+W(8,1030984860,-1116407641,1038600290,1043585442)+W(9,1018535375,-1122768840,-1120431498,1035562443)+W(10,-1113874973,1010793530,-1116271283,-1114795809)+W(11,992031960,-1130485552,1029193328,-1140222054);sum2=W(0,-1127240204,1024332524,-1145474239,-1111478947)+W(1,1029335642,-1112394176,1042612281,-1152251822)+W(2,-1079712608,-1082891577,-1081879450,1047818786)+W(3,1066272635,1064292926,1048742105,1063028070)+W(4,1066527571,1063276166,1065092416,1033988518)+W(5,-1081647719,-1085935960,-1090025738,-1088819358)+W(6,1049757184,1025750476,1045572932,-1093152038)+W(7,-1129453741,-1107360776,1042389166,-1095668919)+W(8,-1122509441,-1127423195,-1127801782,-1126799575)+W(9,1033523902,-1109456127,1029374360,-1163717821)+W(10,-1120167031,976948665,-1123809997,1030959654)+W(11,995040830,1026103880,-1116538748,1033003323);WS(1005558656,-1134386388); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0][0] = HOOKED_texOff(vec2(-2.0, -3.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-2.0, -2.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-2.0, -1.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-2.0, 0.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-2.0, 1.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-2.0, 2.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-2.0, 3.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-2.0, 4.0)).x; +samples[2][0] = HOOKED_texOff(vec2(-1.0, -3.0)).x; +samples[2][1] = HOOKED_texOff(vec2(-1.0, -2.0)).x; +samples[2][2] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[2][3] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[3][0] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[3][1] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[3][2] = HOOKED_texOff(vec2(-1.0, 3.0)).x; +samples[3][3] = HOOKED_texOff(vec2(-1.0, 4.0)).x; +samples[4][0] = HOOKED_texOff(vec2(0.0, -3.0)).x; +samples[4][1] = HOOKED_texOff(vec2(0.0, -2.0)).x; +samples[4][2] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[4][3] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[5][0] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[5][1] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[5][2] = HOOKED_texOff(vec2(0.0, 3.0)).x; +samples[5][3] = HOOKED_texOff(vec2(0.0, 4.0)).x; +samples[6][0] = HOOKED_texOff(vec2(1.0, -3.0)).x; +samples[6][1] = HOOKED_texOff(vec2(1.0, -2.0)).x; +samples[6][2] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[6][3] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[7][0] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[7][1] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[7][2] = HOOKED_texOff(vec2(1.0, 3.0)).x; +samples[7][3] = HOOKED_texOff(vec2(1.0, 4.0)).x; +samples[8][0] = HOOKED_texOff(vec2(2.0, -3.0)).x; +samples[8][1] = HOOKED_texOff(vec2(2.0, -2.0)).x; +samples[8][2] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[8][3] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[9][0] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[9][1] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[9][2] = HOOKED_texOff(vec2(2.0, 3.0)).x; +samples[9][3] = HOOKED_texOff(vec2(2.0, 4.0)).x; +samples[10][0] = HOOKED_texOff(vec2(3.0, -3.0)).x; +samples[10][1] = HOOKED_texOff(vec2(3.0, -2.0)).x; +samples[10][2] = HOOKED_texOff(vec2(3.0, -1.0)).x; +samples[10][3] = HOOKED_texOff(vec2(3.0, 0.0)).x; +samples[11][0] = HOOKED_texOff(vec2(3.0, 1.0)).x; +samples[11][1] = HOOKED_texOff(vec2(3.0, 2.0)).x; +samples[11][2] = HOOKED_texOff(vec2(3.0, 3.0)).x; +samples[11][3] = HOOKED_texOff(vec2(3.0, 4.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns128, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/nnedi3-nns16-win8x4.glsl b/shaders/nnedi3/nnedi3-nns16-win8x4.glsl new file mode 100644 index 0000000..1216a0b --- /dev/null +++ b/shaders/nnedi3/nnedi3-nns16-win8x4.glsl @@ -0,0 +1,194 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns16, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1123354974,-1112248839,1046299686,-1143613552)+W(1,-1118620174,1024662558,1028038478,-1129268360)+W(2,1016130204,-1087068557,1063313277,-1103342192)+W(3,-1103968288,1048182784,1047279381,-1115088511)+W(4,-1101453425,1059583965,-1088182320,1003350800)+W(5,-1117908518,-1119323982,1034186247,-1134684248)+W(6,-1122284590,1027638054,-1124394588,-1111377363)+W(7,-1122818124,-1137723992,978245507,1028117438);sum2=W(0,-1162931039,-1131063526,1029801649,-1117642655)+W(1,-1136248556,-1131086728,1031011705,-1128864654)+W(2,-1115594515,-1128443230,1042762789,-1107118398)+W(3,-1119907402,1044675527,1050674207,-1113986381)+W(4,1022791334,-1107588397,1009001220,-1186206458)+W(5,1017500018,-1111169922,-1112569685,1017255694)+W(6,-1156766128,-1125594766,-1148613464,993928432)+W(7,1014782692,-1135599628,-1114139175,1007622876);WS(1038828992,1041685264); +sum1=W(0,-1114329248,1049950910,-1097681183,1028668144)+W(1,995958527,1027336960,-1107326552,1025858258)+W(2,-1117673776,1060640651,-1085831405,1033402064)+W(3,1034401008,1045782072,-1105157973,-1122828000)+W(4,1038612842,-1098159517,1053136924,-1110558370)+W(5,1035088196,-1106507532,1032016120,-1113173980)+W(6,1008781376,-1124000392,1023707152,1012109856)+W(7,1029875310,-1105439902,1034119968,-1114749520);sum2=W(0,1031315360,-1099468189,-1112139926,1036663822)+W(1,-1131767489,-1140834082,1024287080,-1122285462)+W(2,1023637252,-1100127579,-1117241706,1038018354)+W(3,-1107869385,1052854494,1052996200,-1112496415)+W(4,-1107666272,1034036134,1027811452,-1110479054)+W(5,-1117110288,1024451620,1027157968,-1112615559)+W(6,-1124350185,1003450083,-1131082337,998992195)+W(7,-1110538107,1041131277,1035032776,-1106762474);WS(-1086074680,1053637716); +sum1=W(0,-1121345387,1042002951,-1113042450,-1121398619)+W(1,-1148805338,-1165378922,-1115297518,991217235)+W(2,-1136570733,1052460699,-1107443934,-1117268427)+W(3,1049266593,-1094571489,-1098765182,1036113926)+W(4,1027081787,-1124281856,1043313411,-1136658365)+W(5,-1133439181,1040734807,1006695533,-1112513138)+W(6,-1158465386,-1121708851,1016359031,1021173351)+W(7,-1120818857,1035650578,1027853163,-1106476275);sum2=W(0,1026517575,-1170492850,-1138816415,-1143472678)+W(1,1017334370,1003954710,-1132363566,998846550)+W(2,1051558711,-1096673587,-1136175651,-1124275402)+W(3,1071692777,-1077357700,-1098960792,1018703670)+W(4,1049822619,-1098179385,-1116986501,1007812651)+W(5,1020207734,996694924,1003290486,1007766851)+W(6,1022251878,-1122577241,-1141894102,1009415395)+W(7,1019995718,1015494226,-1126828734,-1163222937);WS(1051521136,1027207116); +sum1=W(0,-1122694020,1010830545,-1124291704,1018062184)+W(1,-1121133108,-1124202632,1037913146,-1116091286)+W(2,-1102175837,1057246783,-1093542759,1041281977)+W(3,-1116351908,1026322980,982577970,-1125394504)+W(4,1045518980,-1089509425,1055793637,1008755233)+W(5,1009393969,1025178484,-1118947636,-1127575032)+W(6,1008379217,-1117338572,1001093793,1015898776)+W(7,1015772516,1009646833,1001810977,-1121163492);sum2=W(0,-1137495011,-1135527491,1027730022,-1118108263)+W(1,1013616911,-1123650952,1024465134,-1128775579)+W(2,-1135578111,1013443151,1049128967,-1098008683)+W(3,1029346938,-1114797945,1068130737,-1080443718)+W(4,1017473747,-1122100892,1046423571,-1101482344)+W(5,1012413655,-1128721387,-1143058109,-1137148015)+W(6,-1133405571,-1166794345,1020545683,-1128178767)+W(7,1008139351,-1156685818,-1126785325,991435034);WS(1057767608,-1132080751); +sum1=W(0,1026028453,1025766741,1035118319,1012106581)+W(1,1026017621,-1135552917,1040474693,-1138611630)+W(2,-1117947285,1051769667,-1111744027,1030333189)+W(3,1048679017,-1083959172,-1084413328,1045191121)+W(4,1025261389,-1120826122,1049618505,-1122181545)+W(5,1011196341,1045191525,-1110336171,1030480605)+W(6,1015828970,1028389741,1028257397,1027514349)+W(7,1025013027,1039505775,-1123719333,1020294666);sum2=W(0,1017587161,-1101123140,1040188371,988296658)+W(1,1028118553,-1103020887,1022642341,1010063898)+W(2,1008167722,-1099714612,1039093756,1026403646)+W(3,1005112948,1049070164,1046164698,1033545355)+W(4,-1125344655,1032013714,-1111525569,1002132020)+W(5,1015776789,1022049457,-1098832696,1037334715)+W(6,-1148301500,1009340114,-1115917000,-1139728254)+W(7,-1138850406,-1167693540,-1103378287,1035581889);WS(-1099372256,-1088618788); +sum1=W(0,-1112538182,1048693927,-1112344546,-1109099742)+W(1,-1113349022,1033711782,-1129092599,-1110127398)+W(2,-1103996671,1064716592,-1086749016,1032699126)+W(3,1024020908,-1143605597,1044926535,-1121424940)+W(4,1046614908,-1085173359,1062252083,-1130166943)+W(5,-1111225386,1004694493,1040479887,-1106709441)+W(6,-1110537326,-1108087402,1034104622,-1120726228)+W(7,-1114146165,-1138402062,1042110371,-1106064827);sum2=W(0,987083788,1013472954,-1120418118,979955865)+W(1,-1144106823,-1131186779,-1122269098,-1163904780)+W(2,-1120467381,-1139561796,1038342084,-1115615181)+W(3,-1121977305,1044091298,1042996066,-1127292875)+W(4,-1118651341,1038343490,-1118476220,-1123141745)+W(5,-1162389292,-1115306287,-1128689408,1014320394)+W(6,-1152635694,-1155962630,-1132569906,-1135582470)+W(7,964510307,-1117365756,-1141833923,1008840046);WS(1041282784,1044242623); +sum1=W(0,-1119885764,-1171512555,1003864029,1025494836)+W(1,-1119816052,-1121861252,1040963149,-1113504879)+W(2,-1100880653,1057266723,-1094412795,1043843337)+W(3,-1113812594,1010135439,-1118004569,-1125989575)+W(4,1046531310,-1089952515,1056310444,-1156936827)+W(5,1015358999,1031135156,-1114099002,-1122714492)+W(6,1005085853,-1115226950,1015234855,1003362397)+W(7,1021011107,1003139037,992693307,-1120612644);sum2=W(0,1005317381,-1142619324,-1126266146,1026462555)+W(1,-1143827754,1012902153,-1128784654,1020893616)+W(2,1019060164,-1114788024,-1094218173,1054132458)+W(3,1009279342,-1098688460,-1078812823,1070492026)+W(4,1014092605,-1120377499,-1099532818,1048935725)+W(5,-1131000233,1017453102,1007638067,1011358224)+W(6,1012779564,-1139793504,-1130333980,1015734963)+W(7,-1137528453,-1147729078,1018177647,987943782);WS(1046635232,1024078131); +sum1=W(0,1002735212,1035063871,-1097977761,1040314319)+W(1,1025138813,1034039879,-1105608655,1035664624)+W(2,1017042555,1044122447,-1094991056,1038536855)+W(3,-1132524982,-1110416695,1051547730,-1114843703)+W(4,1031803657,-1092481954,1050188814,1003107468)+W(5,1033606155,-1094320024,1047410847,1019470987)+W(6,1021596219,-1107502027,1031346589,1021345835)+W(7,1015508823,-1103391009,1046101811,-1136683190);sum2=W(0,-1096475926,1044036812,1052862983,-1106234474)+W(1,-1112281069,-1112231286,1024115789,-1121785528)+W(2,-1116645717,-1111398905,1051331710,-1130292776)+W(3,1041647377,-1096068583,1038036111,1037359643)+W(4,-1113263240,1026411348,1042458641,-1111704128)+W(5,1023473494,-1114320784,1028002558,-1123406807)+W(6,-1117017643,-1138574198,1037890580,-1109714921)+W(7,1039764966,-1104710548,-1106844581,1041123403);WS(-1088554040,-1076674880); +sum1=W(0,1026292820,-1132973070,-1144171612,-1130131975)+W(1,1016736263,1034501898,-1110973538,1028857234)+W(2,1042339025,-1089525132,1052671191,-1108906970)+W(3,-1110236986,1037427962,-1123890785,-1112145786)+W(4,-1103961368,1056478885,-1092344862,1002874044)+W(5,1016313655,-1118983748,1041641985,1025897228)+W(6,-1151588920,1038469390,1010979982,-1130905399)+W(7,1014755782,-1123320716,1017396903,1033705562);sum2=W(0,1013915195,-1133182691,-1127318198,1020584890)+W(1,1007730851,1024414743,-1121307593,1005058566)+W(2,981970521,-1111248658,1035588225,-1124411850)+W(3,1028189234,1040952978,1057294107,1029625115)+W(4,-1121038101,-1109339192,-1107404728,1026110889)+W(5,-1142484934,-1094377458,1024397525,1023925523)+W(6,-1146368902,-1116592821,-1118541421,-1140327971)+W(7,1010322539,-1112421528,1019759378,-1199698720);WS(1063581112,1015292283); +sum1=W(0,-1123806598,-1125096044,1046804719,-1117498166)+W(1,-1124445804,1037634467,1028314614,1006823135)+W(2,1036776315,-1083793455,1064148787,-1106689849)+W(3,-1112186771,-1098422117,1034155462,1004978479)+W(4,-1102837698,1058965073,-1089226130,1033810693)+W(5,-1117642958,-1106625757,1037373467,1029436414)+W(6,-1137018200,1036181095,994321759,-1119765454)+W(7,1010580432,-1127761788,1021285644,1034713459);sum2=W(0,-1127012521,-1110373665,-1121983257,1021812843)+W(1,-1129458054,-1122115974,-1121551577,1015201109)+W(2,-1134632819,-1118435057,-1107711610,1039413537)+W(3,-1113739078,1041258512,1043546644,-1127386873)+W(4,-1106078947,1025961773,1048226293,-1110385416)+W(5,-1115241196,1041055451,-1131486243,-1135801459)+W(6,-1122814807,1025056413,-1139476701,-1132245806)+W(7,-1119046895,1029845331,1018415015,-1140149017);WS(-1109010880,-1087548956); +sum1=W(0,1034947768,-1095012676,1046023882,1029737824)+W(1,1034343312,-1102610188,1039446704,1025692706)+W(2,1016751552,-1096454908,1042564604,1038373096)+W(3,1019661856,-1091443170,-1105694067,1039271048)+W(4,-1126501287,-1131030249,1044246468,1012879825)+W(5,1017025648,1042942296,-1103700296,1041317114)+W(6,1030724160,1019936112,-1141422594,1029263800)+W(7,-1140792121,1024647464,-1107855416,1041193844);sum2=W(0,1034034732,-1107522705,-1105460279,1021740679)+W(1,-1113997103,-1121503695,1038975878,-1112744336)+W(2,1028771217,-1114143244,1032873918,-1121564954)+W(3,1025456143,-1105773446,1059420344,1024971971)+W(4,1035315492,-1109746606,1040681265,-1122379806)+W(5,-1102403849,-1106040358,1046039582,-1106873869)+W(6,1018212015,-1106459627,1026290649,-1130313815)+W(7,-1099438501,1039219872,1046943722,-1105420350);WS(-1086299832,-1077288694); +sum1=W(0,1021716686,-1099039878,-1111509136,1039618828)+W(1,-1132921948,-1108540692,1021468846,-1131678690)+W(2,-1113901292,-1158126306,-1096197083,1041516082)+W(3,-1108835908,1055092577,1062013047,-1118733319)+W(4,1023078294,-1089051407,1050708993,-1122936235)+W(5,965138311,-1113759276,1022391342,1015065790)+W(6,998651320,-1107695832,-1133490396,997649137)+W(7,-1130194922,-1113503632,991635057,1023538631);sum2=W(0,-1133976495,1035891239,-1130801609,-1113698362)+W(1,1027343155,1030599513,-1108453664,1016406968)+W(2,-1149877867,1037590422,1012747883,-1108226898)+W(3,-1119506980,1054189655,-1119322812,-1120928356)+W(4,-1126385541,1041308688,-1107379808,1016225738)+W(5,1016526837,-1112736561,-1119223720,988482485)+W(6,994153115,1004824957,-1116360142,1018050885)+W(7,-1140785051,-1120347934,-1129452107,-1117792638);WS(-1113279936,1066223903); +sum1=W(0,-1128171420,1040261344,-1112013315,-1123695998)+W(1,-1141738481,-1140107833,-1116929726,-1154978689)+W(2,-1138940153,1050703688,-1108200895,-1123177006)+W(3,1044160156,-1100167260,-1100730273,1034288823)+W(4,1020686276,-1130335589,1040782300,-1141423761)+W(5,-1129655596,1035637471,1024316286,-1114187043)+W(6,964173357,-1124525100,1014134393,1013984857)+W(7,-1123239900,1032644739,1029624526,-1108229911);sum2=W(0,-1115606620,1021458196,1009639320,-1131253088)+W(1,-1125272644,1017345212,1016051020,-1143902384)+W(2,-1099614716,1047257730,-1120838650,1020803060)+W(3,-1080575150,1068148121,-1113655261,1032085971)+W(4,-1102155153,1044966894,-1132238288,1016311348)+W(5,-1122847678,1026244022,-1130782536,-1137376840)+W(6,-1123394906,1017049220,967940860,-1137115752)+W(7,-1129056732,1010161976,1004223696,-1136984808);WS(1060545080,-1126581603); +sum1=W(0,1032630360,-1112268976,1045186906,-1125010622)+W(1,1037657648,-1128752350,1032285712,1029508223)+W(2,1043836232,-1090205186,1053340438,-1108078856)+W(3,1037448680,1048595306,-1094666759,1041691860)+W(4,976149203,1057651571,-1082657749,1042698525)+W(5,1031833596,1035187792,-1092127852,1040118132)+W(6,1031675647,1034806588,-1104761760,1033087420)+W(7,1025282125,1043419290,-1096441814,1034587656);sum2=W(0,-1123698886,1034075649,998149095,-1113635181)+W(1,-1126365381,1026991402,-1118780236,-1168196508)+W(2,-1135914762,1019253181,1023543366,-1114469118)+W(3,-1121651762,1047572688,1038479879,-1145545780)+W(4,-1118625490,1035108181,-1114677625,992781287)+W(5,-1122087574,-1115886918,1011684618,-1139655050)+W(6,-1147908244,1016718341,-1132109957,-1142844852)+W(7,-1134045690,-1117034488,-1137057610,1007905050);WS(-1083899832,-1105526146); +sum1=W(0,1026357515,-1119744955,-1117075907,-1111407198)+W(1,-1139718894,-1125720471,-1106102943,-1152407445)+W(2,1044187583,-1092285679,1048719011,-1107209883)+W(3,-1105573131,1062437883,1052836221,-1107292779)+W(4,-1104526300,1058460257,-1089717563,-1122559055)+W(5,-1119529939,1022150135,-1123085499,-1119739267)+W(6,-1125768375,1033366698,-1114009838,-1119196243)+W(7,-1132776678,1009731342,-1112611206,-1129505495);sum2=W(0,-1110807022,1025172792,1033543849,-1123816828)+W(1,-1129400032,-1117035240,999654946,-1144812946)+W(2,-1105612607,1035443403,1039345667,-1120747576)+W(3,-1123619892,-1135427545,1053020794,-1113498942)+W(4,-1131262448,-1111010692,1047843748,-1113301822)+W(5,1016529300,-1115955576,-1135856481,-1146605522)+W(6,-1129444600,-1117326476,1022819536,-1119691028)+W(7,-1136239801,-1121250556,998047364,-1135792457);WS(-1107513792,1064663354); +sum1=W(0,1030862455,-1113532308,1032378968,-1123071015)+W(1,-1161118946,1021510766,-1127591630,1009770420)+W(2,1040244826,-1091621085,1051734861,-1107582956)+W(3,-1104300038,1046262406,1034822530,-1108820108)+W(4,-1102940181,1054782000,-1095483267,-1125175670)+W(5,-1135077628,1019068110,1031948820,1025488559)+W(6,-1135539484,1036941280,-1172984259,-1126076542)+W(7,1011863892,-1128724830,-1120336759,1036426604);sum2=W(0,-1135206239,-1140752647,1022777359,974924014)+W(1,-1139065871,-1123380440,1021581075,-1133276463)+W(2,1026230428,988696695,-1122295168,1029689087)+W(3,1025917606,-1092786651,-1085937537,-1140169471)+W(4,1027050280,1049996339,1032573953,-1135329695)+W(5,1013849783,1057784826,-1130048007,-1124883951)+W(6,1016077019,1033822297,1032545188,1011238415)+W(7,-1127829351,1034470972,-1137094527,1001568686);WS(1058918200,-1121082995); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0][0] = HOOKED_texOff(vec2(-3.0, -1.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-3.0, 0.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-3.0, 1.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-3.0, 2.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-2.0, -1.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-2.0, 0.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-2.0, 1.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-2.0, 2.0)).x; +samples[2][0] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[2][1] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[2][2] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[2][3] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[3][0] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[3][1] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[3][2] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[3][3] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[4][0] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[4][1] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[4][2] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[4][3] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[5][0] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[5][1] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[5][2] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[5][3] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[6][0] = HOOKED_texOff(vec2(3.0, -1.0)).x; +samples[6][1] = HOOKED_texOff(vec2(3.0, 0.0)).x; +samples[6][2] = HOOKED_texOff(vec2(3.0, 1.0)).x; +samples[6][3] = HOOKED_texOff(vec2(3.0, 2.0)).x; +samples[7][0] = HOOKED_texOff(vec2(4.0, -1.0)).x; +samples[7][1] = HOOKED_texOff(vec2(4.0, 0.0)).x; +samples[7][2] = HOOKED_texOff(vec2(4.0, 1.0)).x; +samples[7][3] = HOOKED_texOff(vec2(4.0, 2.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns16, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns16, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1123354974,-1118620174,1016130204,-1103968288)+W(1,-1101453425,-1117908518,-1122284590,-1122818124)+W(2,-1112248839,1024662558,-1087068557,1048182784)+W(3,1059583965,-1119323982,1027638054,-1137723992)+W(4,1046299686,1028038478,1063313277,1047279381)+W(5,-1088182320,1034186247,-1124394588,978245507)+W(6,-1143613552,-1129268360,-1103342192,-1115088511)+W(7,1003350800,-1134684248,-1111377363,1028117438);sum2=W(0,-1162931039,-1136248556,-1115594515,-1119907402)+W(1,1022791334,1017500018,-1156766128,1014782692)+W(2,-1131063526,-1131086728,-1128443230,1044675527)+W(3,-1107588397,-1111169922,-1125594766,-1135599628)+W(4,1029801649,1031011705,1042762789,1050674207)+W(5,1009001220,-1112569685,-1148613464,-1114139175)+W(6,-1117642655,-1128864654,-1107118398,-1113986381)+W(7,-1186206458,1017255694,993928432,1007622876);WS(1038828992,1041685264); +sum1=W(0,-1114329248,995958527,-1117673776,1034401008)+W(1,1038612842,1035088196,1008781376,1029875310)+W(2,1049950910,1027336960,1060640651,1045782072)+W(3,-1098159517,-1106507532,-1124000392,-1105439902)+W(4,-1097681183,-1107326552,-1085831405,-1105157973)+W(5,1053136924,1032016120,1023707152,1034119968)+W(6,1028668144,1025858258,1033402064,-1122828000)+W(7,-1110558370,-1113173980,1012109856,-1114749520);sum2=W(0,1031315360,-1131767489,1023637252,-1107869385)+W(1,-1107666272,-1117110288,-1124350185,-1110538107)+W(2,-1099468189,-1140834082,-1100127579,1052854494)+W(3,1034036134,1024451620,1003450083,1041131277)+W(4,-1112139926,1024287080,-1117241706,1052996200)+W(5,1027811452,1027157968,-1131082337,1035032776)+W(6,1036663822,-1122285462,1038018354,-1112496415)+W(7,-1110479054,-1112615559,998992195,-1106762474);WS(-1086074680,1053637716); +sum1=W(0,-1121345387,-1148805338,-1136570733,1049266593)+W(1,1027081787,-1133439181,-1158465386,-1120818857)+W(2,1042002951,-1165378922,1052460699,-1094571489)+W(3,-1124281856,1040734807,-1121708851,1035650578)+W(4,-1113042450,-1115297518,-1107443934,-1098765182)+W(5,1043313411,1006695533,1016359031,1027853163)+W(6,-1121398619,991217235,-1117268427,1036113926)+W(7,-1136658365,-1112513138,1021173351,-1106476275);sum2=W(0,1026517575,1017334370,1051558711,1071692777)+W(1,1049822619,1020207734,1022251878,1019995718)+W(2,-1170492850,1003954710,-1096673587,-1077357700)+W(3,-1098179385,996694924,-1122577241,1015494226)+W(4,-1138816415,-1132363566,-1136175651,-1098960792)+W(5,-1116986501,1003290486,-1141894102,-1126828734)+W(6,-1143472678,998846550,-1124275402,1018703670)+W(7,1007812651,1007766851,1009415395,-1163222937);WS(1051521136,1027207116); +sum1=W(0,-1122694020,-1121133108,-1102175837,-1116351908)+W(1,1045518980,1009393969,1008379217,1015772516)+W(2,1010830545,-1124202632,1057246783,1026322980)+W(3,-1089509425,1025178484,-1117338572,1009646833)+W(4,-1124291704,1037913146,-1093542759,982577970)+W(5,1055793637,-1118947636,1001093793,1001810977)+W(6,1018062184,-1116091286,1041281977,-1125394504)+W(7,1008755233,-1127575032,1015898776,-1121163492);sum2=W(0,-1137495011,1013616911,-1135578111,1029346938)+W(1,1017473747,1012413655,-1133405571,1008139351)+W(2,-1135527491,-1123650952,1013443151,-1114797945)+W(3,-1122100892,-1128721387,-1166794345,-1156685818)+W(4,1027730022,1024465134,1049128967,1068130737)+W(5,1046423571,-1143058109,1020545683,-1126785325)+W(6,-1118108263,-1128775579,-1098008683,-1080443718)+W(7,-1101482344,-1137148015,-1128178767,991435034);WS(1057767608,-1132080751); +sum1=W(0,1026028453,1026017621,-1117947285,1048679017)+W(1,1025261389,1011196341,1015828970,1025013027)+W(2,1025766741,-1135552917,1051769667,-1083959172)+W(3,-1120826122,1045191525,1028389741,1039505775)+W(4,1035118319,1040474693,-1111744027,-1084413328)+W(5,1049618505,-1110336171,1028257397,-1123719333)+W(6,1012106581,-1138611630,1030333189,1045191121)+W(7,-1122181545,1030480605,1027514349,1020294666);sum2=W(0,1017587161,1028118553,1008167722,1005112948)+W(1,-1125344655,1015776789,-1148301500,-1138850406)+W(2,-1101123140,-1103020887,-1099714612,1049070164)+W(3,1032013714,1022049457,1009340114,-1167693540)+W(4,1040188371,1022642341,1039093756,1046164698)+W(5,-1111525569,-1098832696,-1115917000,-1103378287)+W(6,988296658,1010063898,1026403646,1033545355)+W(7,1002132020,1037334715,-1139728254,1035581889);WS(-1099372256,-1088618788); +sum1=W(0,-1112538182,-1113349022,-1103996671,1024020908)+W(1,1046614908,-1111225386,-1110537326,-1114146165)+W(2,1048693927,1033711782,1064716592,-1143605597)+W(3,-1085173359,1004694493,-1108087402,-1138402062)+W(4,-1112344546,-1129092599,-1086749016,1044926535)+W(5,1062252083,1040479887,1034104622,1042110371)+W(6,-1109099742,-1110127398,1032699126,-1121424940)+W(7,-1130166943,-1106709441,-1120726228,-1106064827);sum2=W(0,987083788,-1144106823,-1120467381,-1121977305)+W(1,-1118651341,-1162389292,-1152635694,964510307)+W(2,1013472954,-1131186779,-1139561796,1044091298)+W(3,1038343490,-1115306287,-1155962630,-1117365756)+W(4,-1120418118,-1122269098,1038342084,1042996066)+W(5,-1118476220,-1128689408,-1132569906,-1141833923)+W(6,979955865,-1163904780,-1115615181,-1127292875)+W(7,-1123141745,1014320394,-1135582470,1008840046);WS(1041282784,1044242623); +sum1=W(0,-1119885764,-1119816052,-1100880653,-1113812594)+W(1,1046531310,1015358999,1005085853,1021011107)+W(2,-1171512555,-1121861252,1057266723,1010135439)+W(3,-1089952515,1031135156,-1115226950,1003139037)+W(4,1003864029,1040963149,-1094412795,-1118004569)+W(5,1056310444,-1114099002,1015234855,992693307)+W(6,1025494836,-1113504879,1043843337,-1125989575)+W(7,-1156936827,-1122714492,1003362397,-1120612644);sum2=W(0,1005317381,-1143827754,1019060164,1009279342)+W(1,1014092605,-1131000233,1012779564,-1137528453)+W(2,-1142619324,1012902153,-1114788024,-1098688460)+W(3,-1120377499,1017453102,-1139793504,-1147729078)+W(4,-1126266146,-1128784654,-1094218173,-1078812823)+W(5,-1099532818,1007638067,-1130333980,1018177647)+W(6,1026462555,1020893616,1054132458,1070492026)+W(7,1048935725,1011358224,1015734963,987943782);WS(1046635232,1024078131); +sum1=W(0,1002735212,1025138813,1017042555,-1132524982)+W(1,1031803657,1033606155,1021596219,1015508823)+W(2,1035063871,1034039879,1044122447,-1110416695)+W(3,-1092481954,-1094320024,-1107502027,-1103391009)+W(4,-1097977761,-1105608655,-1094991056,1051547730)+W(5,1050188814,1047410847,1031346589,1046101811)+W(6,1040314319,1035664624,1038536855,-1114843703)+W(7,1003107468,1019470987,1021345835,-1136683190);sum2=W(0,-1096475926,-1112281069,-1116645717,1041647377)+W(1,-1113263240,1023473494,-1117017643,1039764966)+W(2,1044036812,-1112231286,-1111398905,-1096068583)+W(3,1026411348,-1114320784,-1138574198,-1104710548)+W(4,1052862983,1024115789,1051331710,1038036111)+W(5,1042458641,1028002558,1037890580,-1106844581)+W(6,-1106234474,-1121785528,-1130292776,1037359643)+W(7,-1111704128,-1123406807,-1109714921,1041123403);WS(-1088554040,-1076674880); +sum1=W(0,1026292820,1016736263,1042339025,-1110236986)+W(1,-1103961368,1016313655,-1151588920,1014755782)+W(2,-1132973070,1034501898,-1089525132,1037427962)+W(3,1056478885,-1118983748,1038469390,-1123320716)+W(4,-1144171612,-1110973538,1052671191,-1123890785)+W(5,-1092344862,1041641985,1010979982,1017396903)+W(6,-1130131975,1028857234,-1108906970,-1112145786)+W(7,1002874044,1025897228,-1130905399,1033705562);sum2=W(0,1013915195,1007730851,981970521,1028189234)+W(1,-1121038101,-1142484934,-1146368902,1010322539)+W(2,-1133182691,1024414743,-1111248658,1040952978)+W(3,-1109339192,-1094377458,-1116592821,-1112421528)+W(4,-1127318198,-1121307593,1035588225,1057294107)+W(5,-1107404728,1024397525,-1118541421,1019759378)+W(6,1020584890,1005058566,-1124411850,1029625115)+W(7,1026110889,1023925523,-1140327971,-1199698720);WS(1063581112,1015292283); +sum1=W(0,-1123806598,-1124445804,1036776315,-1112186771)+W(1,-1102837698,-1117642958,-1137018200,1010580432)+W(2,-1125096044,1037634467,-1083793455,-1098422117)+W(3,1058965073,-1106625757,1036181095,-1127761788)+W(4,1046804719,1028314614,1064148787,1034155462)+W(5,-1089226130,1037373467,994321759,1021285644)+W(6,-1117498166,1006823135,-1106689849,1004978479)+W(7,1033810693,1029436414,-1119765454,1034713459);sum2=W(0,-1127012521,-1129458054,-1134632819,-1113739078)+W(1,-1106078947,-1115241196,-1122814807,-1119046895)+W(2,-1110373665,-1122115974,-1118435057,1041258512)+W(3,1025961773,1041055451,1025056413,1029845331)+W(4,-1121983257,-1121551577,-1107711610,1043546644)+W(5,1048226293,-1131486243,-1139476701,1018415015)+W(6,1021812843,1015201109,1039413537,-1127386873)+W(7,-1110385416,-1135801459,-1132245806,-1140149017);WS(-1109010880,-1087548956); +sum1=W(0,1034947768,1034343312,1016751552,1019661856)+W(1,-1126501287,1017025648,1030724160,-1140792121)+W(2,-1095012676,-1102610188,-1096454908,-1091443170)+W(3,-1131030249,1042942296,1019936112,1024647464)+W(4,1046023882,1039446704,1042564604,-1105694067)+W(5,1044246468,-1103700296,-1141422594,-1107855416)+W(6,1029737824,1025692706,1038373096,1039271048)+W(7,1012879825,1041317114,1029263800,1041193844);sum2=W(0,1034034732,-1113997103,1028771217,1025456143)+W(1,1035315492,-1102403849,1018212015,-1099438501)+W(2,-1107522705,-1121503695,-1114143244,-1105773446)+W(3,-1109746606,-1106040358,-1106459627,1039219872)+W(4,-1105460279,1038975878,1032873918,1059420344)+W(5,1040681265,1046039582,1026290649,1046943722)+W(6,1021740679,-1112744336,-1121564954,1024971971)+W(7,-1122379806,-1106873869,-1130313815,-1105420350);WS(-1086299832,-1077288694); +sum1=W(0,1021716686,-1132921948,-1113901292,-1108835908)+W(1,1023078294,965138311,998651320,-1130194922)+W(2,-1099039878,-1108540692,-1158126306,1055092577)+W(3,-1089051407,-1113759276,-1107695832,-1113503632)+W(4,-1111509136,1021468846,-1096197083,1062013047)+W(5,1050708993,1022391342,-1133490396,991635057)+W(6,1039618828,-1131678690,1041516082,-1118733319)+W(7,-1122936235,1015065790,997649137,1023538631);sum2=W(0,-1133976495,1027343155,-1149877867,-1119506980)+W(1,-1126385541,1016526837,994153115,-1140785051)+W(2,1035891239,1030599513,1037590422,1054189655)+W(3,1041308688,-1112736561,1004824957,-1120347934)+W(4,-1130801609,-1108453664,1012747883,-1119322812)+W(5,-1107379808,-1119223720,-1116360142,-1129452107)+W(6,-1113698362,1016406968,-1108226898,-1120928356)+W(7,1016225738,988482485,1018050885,-1117792638);WS(-1113279936,1066223903); +sum1=W(0,-1128171420,-1141738481,-1138940153,1044160156)+W(1,1020686276,-1129655596,964173357,-1123239900)+W(2,1040261344,-1140107833,1050703688,-1100167260)+W(3,-1130335589,1035637471,-1124525100,1032644739)+W(4,-1112013315,-1116929726,-1108200895,-1100730273)+W(5,1040782300,1024316286,1014134393,1029624526)+W(6,-1123695998,-1154978689,-1123177006,1034288823)+W(7,-1141423761,-1114187043,1013984857,-1108229911);sum2=W(0,-1115606620,-1125272644,-1099614716,-1080575150)+W(1,-1102155153,-1122847678,-1123394906,-1129056732)+W(2,1021458196,1017345212,1047257730,1068148121)+W(3,1044966894,1026244022,1017049220,1010161976)+W(4,1009639320,1016051020,-1120838650,-1113655261)+W(5,-1132238288,-1130782536,967940860,1004223696)+W(6,-1131253088,-1143902384,1020803060,1032085971)+W(7,1016311348,-1137376840,-1137115752,-1136984808);WS(1060545080,-1126581603); +sum1=W(0,1032630360,1037657648,1043836232,1037448680)+W(1,976149203,1031833596,1031675647,1025282125)+W(2,-1112268976,-1128752350,-1090205186,1048595306)+W(3,1057651571,1035187792,1034806588,1043419290)+W(4,1045186906,1032285712,1053340438,-1094666759)+W(5,-1082657749,-1092127852,-1104761760,-1096441814)+W(6,-1125010622,1029508223,-1108078856,1041691860)+W(7,1042698525,1040118132,1033087420,1034587656);sum2=W(0,-1123698886,-1126365381,-1135914762,-1121651762)+W(1,-1118625490,-1122087574,-1147908244,-1134045690)+W(2,1034075649,1026991402,1019253181,1047572688)+W(3,1035108181,-1115886918,1016718341,-1117034488)+W(4,998149095,-1118780236,1023543366,1038479879)+W(5,-1114677625,1011684618,-1132109957,-1137057610)+W(6,-1113635181,-1168196508,-1114469118,-1145545780)+W(7,992781287,-1139655050,-1142844852,1007905050);WS(-1083899832,-1105526146); +sum1=W(0,1026357515,-1139718894,1044187583,-1105573131)+W(1,-1104526300,-1119529939,-1125768375,-1132776678)+W(2,-1119744955,-1125720471,-1092285679,1062437883)+W(3,1058460257,1022150135,1033366698,1009731342)+W(4,-1117075907,-1106102943,1048719011,1052836221)+W(5,-1089717563,-1123085499,-1114009838,-1112611206)+W(6,-1111407198,-1152407445,-1107209883,-1107292779)+W(7,-1122559055,-1119739267,-1119196243,-1129505495);sum2=W(0,-1110807022,-1129400032,-1105612607,-1123619892)+W(1,-1131262448,1016529300,-1129444600,-1136239801)+W(2,1025172792,-1117035240,1035443403,-1135427545)+W(3,-1111010692,-1115955576,-1117326476,-1121250556)+W(4,1033543849,999654946,1039345667,1053020794)+W(5,1047843748,-1135856481,1022819536,998047364)+W(6,-1123816828,-1144812946,-1120747576,-1113498942)+W(7,-1113301822,-1146605522,-1119691028,-1135792457);WS(-1107513792,1064663354); +sum1=W(0,1030862455,-1161118946,1040244826,-1104300038)+W(1,-1102940181,-1135077628,-1135539484,1011863892)+W(2,-1113532308,1021510766,-1091621085,1046262406)+W(3,1054782000,1019068110,1036941280,-1128724830)+W(4,1032378968,-1127591630,1051734861,1034822530)+W(5,-1095483267,1031948820,-1172984259,-1120336759)+W(6,-1123071015,1009770420,-1107582956,-1108820108)+W(7,-1125175670,1025488559,-1126076542,1036426604);sum2=W(0,-1135206239,-1139065871,1026230428,1025917606)+W(1,1027050280,1013849783,1016077019,-1127829351)+W(2,-1140752647,-1123380440,988696695,-1092786651)+W(3,1049996339,1057784826,1033822297,1034470972)+W(4,1022777359,1021581075,-1122295168,-1085937537)+W(5,1032573953,-1130048007,1032545188,-1137094527)+W(6,974924014,-1133276463,1029689087,-1140169471)+W(7,-1135329695,-1124883951,1011238415,1001568686);WS(1058918200,-1121082995); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0][0] = HOOKED_texOff(vec2(-1.0, -3.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-1.0, -2.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-1.0, 3.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-1.0, 4.0)).x; +samples[2][0] = HOOKED_texOff(vec2(0.0, -3.0)).x; +samples[2][1] = HOOKED_texOff(vec2(0.0, -2.0)).x; +samples[2][2] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[2][3] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[3][0] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[3][1] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[3][2] = HOOKED_texOff(vec2(0.0, 3.0)).x; +samples[3][3] = HOOKED_texOff(vec2(0.0, 4.0)).x; +samples[4][0] = HOOKED_texOff(vec2(1.0, -3.0)).x; +samples[4][1] = HOOKED_texOff(vec2(1.0, -2.0)).x; +samples[4][2] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[4][3] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[5][0] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[5][1] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[5][2] = HOOKED_texOff(vec2(1.0, 3.0)).x; +samples[5][3] = HOOKED_texOff(vec2(1.0, 4.0)).x; +samples[6][0] = HOOKED_texOff(vec2(2.0, -3.0)).x; +samples[6][1] = HOOKED_texOff(vec2(2.0, -2.0)).x; +samples[6][2] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[6][3] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[7][0] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[7][1] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[7][2] = HOOKED_texOff(vec2(2.0, 3.0)).x; +samples[7][3] = HOOKED_texOff(vec2(2.0, 4.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns16, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/nnedi3-nns16-win8x6.glsl b/shaders/nnedi3/nnedi3-nns16-win8x6.glsl new file mode 100644 index 0000000..38d0503 --- /dev/null +++ b/shaders/nnedi3/nnedi3-nns16-win8x6.glsl @@ -0,0 +1,226 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns16, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1126897990,1027745880,1024250604,1024642508)+W(1,-1121959908,-1149906049,-1130469888,-1121396864)+W(2,1039079928,-1107295041,-1147395201,-1126556538)+W(3,-1113607518,1041026790,1022159130,1044630722)+W(4,-1107136294,1005058137,-1116173177,1042195560)+W(5,-1098313415,999141354,1019497054,1007702352)+W(6,1015526727,1018714920,1042189511,-1106681307)+W(7,1035880216,-1121374916,-1133977224,1026239260)+W(8,-1106606352,1038936227,-1124106064,1025050132)+W(9,990390561,-1131068140,1013770942,-1122507740)+W(10,-1136584888,-1135809122,-1122292152,1015308851)+W(11,-1122039043,1031978820,-1116330759,1018900008);sum2=W(0,1017133506,1011515348,-1139818306,-1123730089)+W(1,996184056,-1138856554,1023321012,1029416248)+W(2,-1115999672,1020129658,1015618084,1007066512)+W(3,-1119553894,1057587887,-1090489276,-1109933138)+W(4,1016266760,-1145378916,-1112177411,1071604647)+W(5,-1079392139,-1097028615,1028448562,1008681896)+W(6,-1165256880,1051025857,-1098617840,-1105405946)+W(7,-1155286464,1000343320,-1133574805,1035052104)+W(8,-1139515542,-1135392452,-1138601606,991053648)+W(9,1020043526,1010374724,-1121583660,-1142174380)+W(10,997185888,-1155288808,-1135761830,1018728192)+W(11,1024878156,1002597928,-1131188096,-1132781834);WS(1018288640,1027735986); +sum1=W(0,1012158232,-1178449286,1044498160,-1128542910)+W(1,-1115962871,1002517720,1006778572,-1114624234)+W(2,1032943202,1027108853,1017365062,964628492)+W(3,1025063871,-1104570115,1059928494,-1088743921)+W(4,1032615126,-1134936888,-1156175041,1028919475)+W(5,-1097612337,-1106124541,1026836706,-1146238776)+W(6,1010747802,1034856692,-1085331503,1059914122)+W(7,-1114177498,1020458158,-1140348884,-1127457566)+W(8,1031833306,1032056909,-1122073627,1016604174)+W(9,1020162890,-1122825993,-1119592595,1033999672)+W(10,1022377282,998219705,-1172026051,-1115773453)+W(11,1038136595,1027508251,-1129465364,1023799671);sum2=W(0,-1126840972,-1130460798,1019075916,1017322604)+W(1,-1131054760,-1131047996,-1145399745,985194115)+W(2,-1120812206,-1129997452,1006903064,-1143360737)+W(3,-1139273136,-1112997847,-1139625904,1042717692)+W(4,-1114175000,-1130986946,991527106,-1120456092)+W(5,1043975251,1051048254,-1113881740,1007107280)+W(6,-1135317632,1001121889,-1150833602,-1121880440)+W(7,978663174,-1143215153,-1139461992,1017866680)+W(8,-1128878392,-1112673669,1026044394,-1125685806)+W(9,-1129486378,1006765920,-1133504840,-1126929736)+W(10,1014584312,-1144361281,995542402,1000306721)+W(11,-1142139489,-1114488494,1007041936,-1134951296);WS(1042433344,-1111851638); +sum1=W(0,-1128612156,-1112658226,-1119638967,1043958886)+W(1,-1120465263,-1128976934,-1139940268,-1123380939)+W(2,-1126908022,1033805831,-1115346894,-1142120768)+W(3,-1122042583,-1128727592,-1097703246,1057665642)+W(4,-1104545545,1005565040,984858240,-1107767030)+W(5,1052387104,1046318672,-1108167869,-1148354296)+W(6,999630836,-1114896432,1054789077,-1095395475)+W(7,1029397739,-1133849404,-1146630760,-1115281716)+W(8,1030603948,-1117224401,-1163176544,-1117808895)+W(9,-1126512698,-1129996802,1028419819,-1123618471)+W(10,-1117439993,1013349902,996431920,-1123547845)+W(11,1026334318,-1113258842,-1134051464,-1120421311);sum2=W(0,1022431497,-1109389142,1004613154,1028727631)+W(1,1029503922,-1132574761,-1132240188,-1119299282)+W(2,-1139248009,-1129989652,-1140046689,-1114039002)+W(3,1024165374,-1107432916,1041447926,1047487962)+W(4,1017218352,-1135952741,-1114822837,1044244351)+W(5,-1108646182,-1100679909,1040665470,-1123756570)+W(6,-1120729932,1031006195,1047688354,-1126089152)+W(7,-1120804126,-1148002498,-1124855948,983982854)+W(8,1009435309,1033956847,-1107003694,1028342876)+W(9,-1126342960,-1158996358,-1122846542,-1123334894)+W(10,-1140927562,-1117057946,-1128289576,-1121099750)+W(11,1036127241,1039673953,-1102421772,1026336008);WS(1015433728,1058400049); +sum1=W(0,-1139873791,1031161269,-1113693508,1033801204)+W(1,-1119172737,-1143910182,-1133909491,1032977294)+W(2,-1112917766,-1131731326,989007258,1019358132)+W(3,1023506921,-1116372870,-1116140698,1045725159)+W(4,-1122523445,1008313039,-1230944644,1035249566)+W(5,-1103376612,-1102794347,1044071755,-1115540344)+W(6,-1118840528,-1120831281,1044830734,-1116748777)+W(7,1030473357,-1126204226,1028378783,-1114963068)+W(8,-1141442286,1032646513,1018738506,-1118552369)+W(9,-1121050287,1032892305,1023234585,-1112562780)+W(10,1021910870,1016154651,1033465034,-1105610222)+W(11,1034039600,1030129285,-1122899972,-1124368226);sum2=W(0,-1138428449,-1158711528,-1124467432,-1140697417)+W(1,1030243467,1012442941,992976916,1013039401)+W(2,-1130455464,-1123518198,1033499227,975746961)+W(3,-1142924106,-1128734961,-1113146735,-1099387353)+W(4,1051222006,-1122081826,976851025,1036130613)+W(5,-1097860430,-1077268149,1072898808,-1117904739)+W(6,989093448,1010050489,-1108810723,-1091225653)+W(7,1056060393,-1131990027,997652548,-1137359275)+W(8,-1122996798,1032494444,1025590581,951236744)+W(9,-1153131756,990210276,-1140348735,-1115493835)+W(10,1025171621,1006284898,-1134977059,-1138876101)+W(11,-1127238416,1018469149,1026307569,-1146863422);WS(-1143089152,1030017260); +sum1=W(0,1012276081,-1116644609,1019444907,-1124688427)+W(1,1029853709,-1130860131,1001605962,-1127223379)+W(2,-1119160665,1035777366,-1136557285,-1130309965)+W(3,1024406997,-1109637089,1048989101,-1098625404)+W(4,1038057505,-1130883561,-1155861797,-1115433381)+W(5,1044433671,1006101820,-1111190908,1009046005)+W(6,-1155627981,1036571679,-1098184025,1048780603)+W(7,-1112291813,1025361773,-1122534699,1028189701)+W(8,1039597237,-1104960796,-1130076067,1018788475)+W(9,1018348791,-1126280255,-1117935161,1029641477)+W(10,1012573277,-1125993892,-1120990241,1036379833)+W(11,-1136463217,-1111599465,-1154886405,1020397819);sum2=W(0,-1153319600,1008405084,-1118973116,-1140784820)+W(1,1012585128,1010769460,-1147284080,985822624)+W(2,1010505984,-1129308604,1021293048,1001814848)+W(3,1008968960,-1142311064,-1101248908,1037448945)+W(4,1024969278,-1160749952,995456320,1022276922)+W(5,-1089187936,1057794596,1033366347,-1123619202)+W(6,-1140178660,-1140411728,-1109859050,1029773785)+W(7,1024400778,-1136545168,-1146954776,1005012008)+W(8,1017518401,1015531414,1007802556,1000322872)+W(9,-1142030464,1003782736,982409184,974134143)+W(10,1003482728,-1152799248,-1170856127,1006946188)+W(11,995727232,960534268,1009923956,985284128);WS(1064472528,-1121594920); +sum1=W(0,-1142654991,1027230343,-1112807213,1027061019)+W(1,-1128825126,-1164359388,-1143599223,1032290711)+W(2,-1113392623,1016010466,991342574,1014490160)+W(3,1014568428,-1136037408,-1115590690,1034098395)+W(4,1008695068,-1148094031,1010500896,1002050167)+W(5,-1113734161,-1112872467,1027642302,-1127829894)+W(6,-1124387333,-1122938499,1038834309,-1130883382)+W(7,1013984188,-1138058188,1020884834,-1120250507)+W(8,1029912912,1015162858,1015817710,-1124941766)+W(9,-1131205634,1025589157,1019867389,-1123484555)+W(10,1015459258,1008886302,1026841191,-1110863224)+W(11,1031947569,1019435182,-1129521612,-1130075526);sum2=W(0,1003807591,-1154115373,1000124719,1017182228)+W(1,-1126980607,-1130234859,-1147429191,-1139843175)+W(2,1001833687,1024488826,-1116401990,987658746)+W(3,1002635095,1018649088,1008095031,1040714709)+W(4,-1105844805,1013729967,-1132089351,1016729308)+W(5,-1105992985,1063780536,-1085442794,1024604622)+W(6,-1147602519,1024344696,1014141127,1047200342)+W(7,-1101306502,995366957,-1151072125,-1155997437)+W(8,-1132427785,1020609216,-1122913939,-1147894927)+W(9,964968041,1001714367,-1141957575,1023684454)+W(10,-1125194898,-1146690231,1011860423,-1141691791)+W(11,-1139390003,1017456200,-1128761080,-1146063807);WS(1061878800,-1131153991); +sum1=W(0,-1123872727,1015115512,-1099302516,1041224340)+W(1,-1144166978,-1171049230,1018625288,1031144036)+W(2,-1102371221,1009910425,1014687697,1022902338)+W(3,-1127640224,1036357847,-1085394744,1052022073)+W(4,-1115552350,-1132534141,1026350045,-1108974562)+W(5,1059569738,1058525661,-1125187302,1016189168)+W(6,1013916191,-1107191102,1050617832,-1088226291)+W(7,1037730450,-1123531112,1018183052,1006433282)+W(8,1032504563,-1097316565,1040234099,-1127405808)+W(9,-1145362866,1014427177,1031877738,-1109508096)+W(10,1015825508,1018548825,1016048056,1026198990)+W(11,1033421596,-1098228398,1035235966,-1137247201);sum2=W(0,-1131301730,1031269327,-1127010401,-1109842974)+W(1,-1181736700,-1180777340,973798558,-1131640108)+W(2,1028981651,-1125259759,-1167651134,-1160957999)+W(3,-1127780866,1013454096,-1149526184,-1113692773)+W(4,-1123287814,993986728,1013478572,-1109509101)+W(5,1051779317,1047088883,-1109788940,1020962386)+W(6,-1160424319,-1117315078,1028380081,-1134194124)+W(7,-1115287133,-1136947718,-1135840779,-1131160392)+W(8,-1137527992,1028175261,-1121515979,-1138138790)+W(9,-1164912671,-1145619912,998238336,1018886164)+W(10,-1125209194,-1152989064,-1138738786,-1127332243)+W(11,-1148504424,1027237057,-1142455024,-1123011340);WS(-1146021888,1053974589); +sum1=W(0,1029642476,-1119368753,1042969521,-1095098901)+W(1,1046685039,984849429,1013890275,-1134074211)+W(2,1042359026,-1107285127,1031018217,-1135393367)+W(3,-1176939092,1007708103,1045769551,-1096985546)+W(4,1036262392,-1139413615,1022266947,1017736689)+W(5,-1101301107,1034918881,1003810877,1024875117)+W(6,-1146466657,1027345005,-1094644679,1050538529)+W(7,-1120828825,-1172526890,1004183253,1032510570)+W(8,-1091538585,1051699648,1011534979,1017671961)+W(9,-1160650069,1019378973,-1107179580,1036824506)+W(10,-1133351451,-1160823333,-1127783457,1031489314)+W(11,-1095508207,1048776768,1035618600,1006585957);sum2=W(0,1031363252,-1091101506,1048232756,1057852755)+W(1,-1095952784,1016290300,1030774484,1001500224)+W(2,-1110436898,-1132290932,-1131305343,-1126601761)+W(3,1015165558,-1110787951,1016237906,1043794074)+W(4,-1113356328,1003743696,1007437656,965388167)+W(5,1014973676,1047525730,-1152923833,1022650220)+W(6,1020087968,1003188992,-1123006886,1011818344)+W(7,-1111245491,1021501454,-1158035650,1041338676)+W(8,-1105090874,-1129296549,-1131940021,1017537464)+W(9,-1137051446,-1134903850,-1123217223,1034851396)+W(10,-1117639196,-1133259176,1018262350,1033269727)+W(11,-1104724635,-1106365430,1024945328,1019937714);WS(-1077057896,-1083600334); +sum1=W(0,1017420011,1011471785,1029223422,-1116040414)+W(1,1017123181,1016511669,1014201033,1019976613)+W(2,-1126437509,1015478313,1024110818,-1167731667)+W(3,1017846781,-1138042285,1049638570,-1103217262)+W(4,1023111893,1009386661,999765850,1040273597)+W(5,-1090770241,-1087230893,1030676769,1023090125)+W(6,-1162024122,1016487629,1029091694,1046437488)+W(7,-1112046985,1020460717,985808522,1027730222)+W(8,1037672698,1024768280,-1120839802,1025489318)+W(9,1019153993,1010855969,1027546578,1028909230)+W(10,1023955584,-1134545259,1011766057,1025127228)+W(11,1025680213,1017109109,-1128064723,1027741830);sum2=W(0,1023774756,-1107003878,1020767940,-1118294055)+W(1,-1113997093,1021408408,-1152708847,1013240776)+W(2,-1108605887,-1128830540,-1139588328,-1119578529)+W(3,1005727232,-1108761818,1050907301,-1097736561)+W(4,1032528025,-1135972104,-1128030280,1032847770)+W(5,1058054639,1008347200,1039669350,-1131826954)+W(6,1004577664,1024878510,-1106188814,1049418167)+W(7,-1108856812,999382680,-1116453887,-1129071264)+W(8,1040942692,-1105809360,-1104688291,1019392776)+W(9,1020705336,-1124253692,-1115446820,1014050712)+W(10,1018266740,-1117167612,-1127775332,-1114566712)+W(11,1042743894,-1132221182,-1103534695,1022204104);WS(1034686080,-1080904524); +sum1=W(0,-1139332721,1025190657,-1143163562,1041601261)+W(1,1024768205,-1137907141,-1156631187,1024127465)+W(2,1040892278,1028605547,-1129308018,1012089369)+W(3,1023562901,1006799241,-1104914606,1052908885)+W(4,-1117860929,1019594656,1011454089,-1145135178)+W(5,-1089193318,-1091833281,1036300940,-1143330794)+W(6,1009225011,-1129417722,1043909393,-1103073573)+W(7,1040987970,992909011,1012327853,1017495114)+W(8,-1119873834,1025246703,1033652713,-1123933213)+W(9,1010687981,1027561839,-1136185891,-1124345098)+W(10,1024209623,1018355139,1010798725,1010795083)+W(11,-1118482716,1032670633,1027144528,-1123266333);sum2=W(0,998154484,-1124228589,-1132108902,-1115676434)+W(1,-1123985162,1004957466,-1136847690,1028193069)+W(2,-1123281782,-1123302060,-1132306691,1011392625)+W(3,-1120010648,1043298286,-1097765474,1027211577)+W(4,-1114822183,-1127542967,-1145824866,-1115567961)+W(5,1059221182,1034703777,-1131429597,1022587458)+W(6,1015307650,-1106126812,1048600788,-1099334080)+W(7,1029215805,-1127163397,994166396,-1111174068)+W(8,-1130476352,1015056080,1023836215,-1122559367)+W(9,1000606426,-1128437454,1026255089,-1137618020)+W(10,-1127893362,-1171736302,1010815409,-1110538383)+W(11,-1118584150,1028199647,1025007180,-1124423270);WS(-1097173920,-1100403112); +sum1=W(0,-1133792968,-1126599342,1026626987,-1109988694)+W(1,-1128510918,-1124691470,-1124511038,-1134319356)+W(2,-1112479512,-1122054529,-1138055228,-1131431128)+W(3,-1133667884,-1113753548,1051379210,-1097159959)+W(4,1031366423,-1128464692,-1126404688,-1113718896)+W(5,1058852431,1058630415,-1108453759,-1122909907)+W(6,-1129657589,1034489098,-1097104011,1049904553)+W(7,-1111244112,1006087192,-1123548289,1017816566)+W(8,1007326848,-1104990865,-1129654222,-1138955724)+W(9,-1134226372,-1122628437,-1112737379,983139170)+W(10,-1143321192,-1123473736,-1120375479,1029275393)+W(11,-1116837058,-1110311540,-1132471000,-1149064600);sum2=W(0,-1133003813,-1145103116,-1105221269,1033080040)+W(1,1016862101,-1129731365,-1170659932,1024883426)+W(2,-1117429423,1028547885,-1128891234,-1147341896)+W(3,1006656308,-1122208183,-1098340061,1042272545)+W(4,-1121562483,-1121650606,1031055883,-1101651786)+W(5,1055658740,1058321046,-1100689547,1031708925)+W(6,-1122785076,-1107240567,1035604404,-1112738821)+W(7,-1115182870,-1123396988,-1138148825,-1137951645)+W(8,-1131811521,1003752088,1026865631,-1133076983)+W(9,-1134424500,-1131665157,-1130287800,1015669581)+W(10,-1129373191,-1131162259,-1131089901,-1116779622)+W(11,-1123356625,1033205575,-1134576021,-1127933595);WS(1049422752,1064394145); +sum1=W(0,1016583527,-1106085006,995307718,1042273115)+W(1,-1113049442,1025810280,997641734,-1123841888)+W(2,1031369872,1021597381,-1122854832,1006187755)+W(3,-1129211865,1041111742,-1088517333,1058826428)+W(4,-1113933244,1019889767,-1131677043,1032245856)+W(5,-1098988005,-1105331685,1032610296,-1131685097)+W(6,1021172552,-1110939130,1058612208,-1090507155)+W(7,1037338632,-1155049030,1021691141,-1105269375)+W(8,1030057089,1043687978,-1122591528,-1134096210)+W(9,-1133007562,-1137128282,1036830720,-1120823228)+W(10,-1116248270,1025994697,1026669144,-1106745812)+W(11,1034516890,1038691348,-1117945591,-1126546729);sum2=W(0,1015668141,-1138201662,-1111996311,-1127284815)+W(1,-1125087482,1020174885,-1124041461,-1140877219)+W(2,-1116450062,-1123578506,1024732308,-1139064970)+W(3,1005775275,1027346708,-1125910350,-1106280325)+W(4,1034158307,-1133423524,1015274173,1016303395)+W(5,-1108948194,1052974100,1032925063,-1161498797)+W(6,-1138139200,-1106503093,-1104963655,1053021197)+W(7,-1107449032,-1134898868,992639399,-1117618841)+W(8,1031763952,957951850,994113735,1013272790)+W(9,-1132053353,-1115775134,1015724405,1016609913)+W(10,-1132927280,-1132485274,-1129319398,-1122071744)+W(11,1034411590,-1140595900,-1140186580,-1164791981);WS(-1101497152,-1084603877); +sum1=W(0,-1136425045,1016522037,967194407,1019848413)+W(1,-1129523533,-1142614610,-1140218249,-1157845066)+W(2,1029505522,-1119357636,-1140249161,-1135395837)+W(3,-1121565262,1035402982,1022903246,1027088345)+W(4,-1121932442,-1148904362,-1122160667,1027884002)+W(5,-1107598171,1024422013,-1127296803,1002411186)+W(6,1006883159,1025282390,1025270942,-1117602990)+W(7,1030372258,-1130529549,-1132497425,1022271101)+W(8,-1120772739,1030415880,-1129818261,1018540973)+W(9,1004502690,-1138792353,-1154700189,-1171556244)+W(10,-1138666305,-1138856043,-1128604789,995143101)+W(11,-1128284203,1025955498,-1121511513,1011955033);sum2=W(0,-1126668299,-1131366283,1024971228,1000957181)+W(1,-1151515419,1005199725,-1137964827,-1117612139)+W(2,1034620123,-1119890411,-1145021381,-1136862175)+W(3,1015963121,-1097765254,1049249869,1026062254)+W(4,1001872029,1007955643,1030757650,-1083955387)+W(5,1064229708,-1107214224,1026637176,-1125717658)+W(6,-1137547503,-1103492737,1047078464,-1122275403)+W(7,1027173860,-1169614250,997720155,-1118797430)+W(8,1017921725,1016072153,-1135832789,923654805)+W(9,-1132279825,-1131387718,1024786888,-1133941049)+W(10,-1148432117,1002011725,-1152589275,-1140632131)+W(11,-1144191965,996433547,-1140699475,1005736109);WS(1059552336,-1136539026); +sum1=W(0,990367896,1041343484,-1096612504,1033353841)+W(1,-1125599349,1028944863,1010957914,1036710283)+W(2,-1107358947,1029016441,-1132821402,1024290996)+W(3,-1154541352,1045269292,-1087221074,1042554433)+W(4,-1154580200,1023892422,1017372383,-1112141659)+W(5,1058232297,1029783110,-1114120867,1023410731)+W(6,1026284586,-1116984235,1051438086,-1087458720)+W(7,1033522371,-1144215764,1015461809,1018013925)+W(8,1047713030,-1095293300,1032365167,-1144750420)+W(9,1014364322,1006339428,1032067931,-1114380761)+W(10,1004597796,1001346936,1021777309,1032228520)+W(11,1045851190,-1099415088,1030006574,-1130073781);sum2=W(0,-1153914788,-1101809160,1052877341,1046574229)+W(1,-1095334336,1023520281,-1126180245,-1115520194)+W(2,1022007580,1000424166,-1113807813,1021218858)+W(3,995844276,-1114410922,1055965696,1034680258)+W(4,-1109583292,1008634443,-1141303142,1033573989)+W(5,-1098900400,-1098051352,1033797491,-1115608949)+W(6,1026951758,998799030,1023481081,1045079279)+W(7,1032986287,1032307290,990856044,-1110191966)+W(8,1023185808,-1106708743,1025876178,-1128938562)+W(9,1004850742,-1129252703,1031073312,984863273)+W(10,-1137844345,1017335440,1015235936,1016759632)+W(11,-1104219784,-1103050031,1038371038,1020607644);WS(-1080660584,-1085825159); +sum1=W(0,1013708199,-1123370319,-1145658646,-1118786339)+W(1,1028171867,-1144908790,998525366,-1131079022)+W(2,-1111041043,1035331132,1017605134,-1131113128)+W(3,1026247587,-1110742584,1047524760,-1095527502)+W(4,1042485668,-1130744068,1009982783,-1113918027)+W(5,1038280501,1041941518,-1110999603,992723116)+W(6,-1136883881,1032009669,-1096311074,1051037928)+W(7,-1106204846,1025830203,-1128223794,1025751155)+W(8,1042402294,-1106649743,-1132447358,1017749654)+W(9,999596614,-1126831290,-1118872454,1032615945)+W(10,1002160934,-1127230527,-1126850910,1033490448)+W(11,1023947050,-1111971999,971034337,1018668086);sum2=W(0,988660617,1017543700,1015794522,-1133704409)+W(1,1003471274,-1140119133,-1145776834,1002138986)+W(2,1001599498,1024621822,-1135257421,-1136500105)+W(3,-1133422913,1031822055,1041494739,-1102581932)+W(4,970658596,-1163479081,-1126488793,1032911160)+W(5,1056510750,-1089051586,1026713544,1009057465)+W(6,999416722,1018658069,1023998101,-1111744235)+W(7,945757471,1000517690,999055930,1007351961)+W(8,-1138508317,1009295285,998080468,-1137960905)+W(9,987033481,-1162261577,991201876,-1140892226)+W(10,-1156050276,-1186683976,-1179419172,999395634)+W(11,-1141702058,-1147317506,1007988669,-1146609818);WS(1064784784,-1120346387); +sum1=W(0,-1150678408,1015721531,1049255678,-1099108228)+W(1,-1149551256,-1136953142,1000581420,-1110077251)+W(2,1043607805,-1107416484,1017163947,-1140022794)+W(3,1006062348,-1107299655,1059242626,-1089544734)+W(4,1023526494,-1139533474,1015088861,-1132691862)+W(5,-1123916922,-1130977491,1022505321,1012221798)+W(6,-1136518116,-1148196556,-1096371932,1057929313)+W(7,-1104456865,1014035238,-1126533711,1013224070)+W(8,-1100407642,1048500643,-1111675367,1026165050)+W(9,1012432222,-1124886999,-1132580564,1035479729)+W(10,-1127245287,-1136458552,-1122704190,1014270588)+W(11,-1102354822,1044504531,1007459698,1017479699);sum2=W(0,-1140771860,1031694512,-1104948969,-1115570202)+W(1,1040745971,-1127298441,-1125513054,-1122230843)+W(2,993388690,1042093481,-1111499166,995262946)+W(3,-1131667695,979286214,1026183534,1042830623)+W(4,-1119680402,1002124441,-1131288705,1025077104)+W(5,-1111209187,-1112764939,982469091,-1123012516)+W(6,978159878,-1108853537,1041617383,1043422569)+W(7,-1120447085,-1129740789,1012596136,-1102087836)+W(8,1045410736,1034771561,-1109907689,-1125016939)+W(9,1011933560,-1117751010,1030126174,1014235016)+W(10,-1127258987,1004566649,-1121534607,-1113389694)+W(11,1044425994,1025820984,-1115100280,-1119639931);WS(-1088649680,1067112300); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0][0] = HOOKED_texOff(vec2(-3.0, -2.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-3.0, -1.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-3.0, 0.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-3.0, 1.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-3.0, 2.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-3.0, 3.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-2.0, -2.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-2.0, -1.0)).x; +samples[2][0] = HOOKED_texOff(vec2(-2.0, 0.0)).x; +samples[2][1] = HOOKED_texOff(vec2(-2.0, 1.0)).x; +samples[2][2] = HOOKED_texOff(vec2(-2.0, 2.0)).x; +samples[2][3] = HOOKED_texOff(vec2(-2.0, 3.0)).x; +samples[3][0] = HOOKED_texOff(vec2(-1.0, -2.0)).x; +samples[3][1] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[3][2] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[3][3] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[4][0] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[4][1] = HOOKED_texOff(vec2(-1.0, 3.0)).x; +samples[4][2] = HOOKED_texOff(vec2(0.0, -2.0)).x; +samples[4][3] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[5][0] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[5][1] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[5][2] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[5][3] = HOOKED_texOff(vec2(0.0, 3.0)).x; +samples[6][0] = HOOKED_texOff(vec2(1.0, -2.0)).x; +samples[6][1] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[6][2] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[6][3] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[7][0] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[7][1] = HOOKED_texOff(vec2(1.0, 3.0)).x; +samples[7][2] = HOOKED_texOff(vec2(2.0, -2.0)).x; +samples[7][3] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[8][0] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[8][1] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[8][2] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[8][3] = HOOKED_texOff(vec2(2.0, 3.0)).x; +samples[9][0] = HOOKED_texOff(vec2(3.0, -2.0)).x; +samples[9][1] = HOOKED_texOff(vec2(3.0, -1.0)).x; +samples[9][2] = HOOKED_texOff(vec2(3.0, 0.0)).x; +samples[9][3] = HOOKED_texOff(vec2(3.0, 1.0)).x; +samples[10][0] = HOOKED_texOff(vec2(3.0, 2.0)).x; +samples[10][1] = HOOKED_texOff(vec2(3.0, 3.0)).x; +samples[10][2] = HOOKED_texOff(vec2(4.0, -2.0)).x; +samples[10][3] = HOOKED_texOff(vec2(4.0, -1.0)).x; +samples[11][0] = HOOKED_texOff(vec2(4.0, 0.0)).x; +samples[11][1] = HOOKED_texOff(vec2(4.0, 1.0)).x; +samples[11][2] = HOOKED_texOff(vec2(4.0, 2.0)).x; +samples[11][3] = HOOKED_texOff(vec2(4.0, 3.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns16, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns16, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1126897990,-1130469888,-1113607518,-1116173177)+W(1,1015526727,-1133977224,990390561,-1122292152)+W(2,1027745880,-1121396864,1041026790,1042195560)+W(3,1018714920,1026239260,-1131068140,1015308851)+W(4,1024250604,1039079928,1022159130,-1098313415)+W(5,1042189511,-1106606352,1013770942,-1122039043)+W(6,1024642508,-1107295041,1044630722,999141354)+W(7,-1106681307,1038936227,-1122507740,1031978820)+W(8,-1121959908,-1147395201,-1107136294,1019497054)+W(9,1035880216,-1124106064,-1136584888,-1116330759)+W(10,-1149906049,-1126556538,1005058137,1007702352)+W(11,-1121374916,1025050132,-1135809122,1018900008);sum2=W(0,1017133506,1023321012,-1119553894,-1112177411)+W(1,-1165256880,-1133574805,1020043526,-1135761830)+W(2,1011515348,1029416248,1057587887,1071604647)+W(3,1051025857,1035052104,1010374724,1018728192)+W(4,-1139818306,-1115999672,-1090489276,-1079392139)+W(5,-1098617840,-1139515542,-1121583660,1024878156)+W(6,-1123730089,1020129658,-1109933138,-1097028615)+W(7,-1105405946,-1135392452,-1142174380,1002597928)+W(8,996184056,1015618084,1016266760,1028448562)+W(9,-1155286464,-1138601606,997185888,-1131188096)+W(10,-1138856554,1007066512,-1145378916,1008681896)+W(11,1000343320,991053648,-1155288808,-1132781834);WS(1018288640,1027735986); +sum1=W(0,1012158232,1006778572,1025063871,-1156175041)+W(1,1010747802,-1140348884,1020162890,-1172026051)+W(2,-1178449286,-1114624234,-1104570115,1028919475)+W(3,1034856692,-1127457566,-1122825993,-1115773453)+W(4,1044498160,1032943202,1059928494,-1097612337)+W(5,-1085331503,1031833306,-1119592595,1038136595)+W(6,-1128542910,1027108853,-1088743921,-1106124541)+W(7,1059914122,1032056909,1033999672,1027508251)+W(8,-1115962871,1017365062,1032615126,1026836706)+W(9,-1114177498,-1122073627,1022377282,-1129465364)+W(10,1002517720,964628492,-1134936888,-1146238776)+W(11,1020458158,1016604174,998219705,1023799671);sum2=W(0,-1126840972,-1145399745,-1139273136,991527106)+W(1,-1135317632,-1139461992,-1129486378,995542402)+W(2,-1130460798,985194115,-1112997847,-1120456092)+W(3,1001121889,1017866680,1006765920,1000306721)+W(4,1019075916,-1120812206,-1139625904,1043975251)+W(5,-1150833602,-1128878392,-1133504840,-1142139489)+W(6,1017322604,-1129997452,1042717692,1051048254)+W(7,-1121880440,-1112673669,-1126929736,-1114488494)+W(8,-1131054760,1006903064,-1114175000,-1113881740)+W(9,978663174,1026044394,1014584312,1007041936)+W(10,-1131047996,-1143360737,-1130986946,1007107280)+W(11,-1143215153,-1125685806,-1144361281,-1134951296);WS(1042433344,-1111851638); +sum1=W(0,-1128612156,-1139940268,-1122042583,984858240)+W(1,999630836,-1146630760,-1126512698,996431920)+W(2,-1112658226,-1123380939,-1128727592,-1107767030)+W(3,-1114896432,-1115281716,-1129996802,-1123547845)+W(4,-1119638967,-1126908022,-1097703246,1052387104)+W(5,1054789077,1030603948,1028419819,1026334318)+W(6,1043958886,1033805831,1057665642,1046318672)+W(7,-1095395475,-1117224401,-1123618471,-1113258842)+W(8,-1120465263,-1115346894,-1104545545,-1108167869)+W(9,1029397739,-1163176544,-1117439993,-1134051464)+W(10,-1128976934,-1142120768,1005565040,-1148354296)+W(11,-1133849404,-1117808895,1013349902,-1120421311);sum2=W(0,1022431497,-1132240188,1024165374,-1114822837)+W(1,-1120729932,-1124855948,-1126342960,-1128289576)+W(2,-1109389142,-1119299282,-1107432916,1044244351)+W(3,1031006195,983982854,-1158996358,-1121099750)+W(4,1004613154,-1139248009,1041447926,-1108646182)+W(5,1047688354,1009435309,-1122846542,1036127241)+W(6,1028727631,-1129989652,1047487962,-1100679909)+W(7,-1126089152,1033956847,-1123334894,1039673953)+W(8,1029503922,-1140046689,1017218352,1040665470)+W(9,-1120804126,-1107003694,-1140927562,-1102421772)+W(10,-1132574761,-1114039002,-1135952741,-1123756570)+W(11,-1148002498,1028342876,-1117057946,1026336008);WS(1015433728,1058400049); +sum1=W(0,-1139873791,-1133909491,1023506921,-1230944644)+W(1,-1118840528,1028378783,-1121050287,1033465034)+W(2,1031161269,1032977294,-1116372870,1035249566)+W(3,-1120831281,-1114963068,1032892305,-1105610222)+W(4,-1113693508,-1112917766,-1116140698,-1103376612)+W(5,1044830734,-1141442286,1023234585,1034039600)+W(6,1033801204,-1131731326,1045725159,-1102794347)+W(7,-1116748777,1032646513,-1112562780,1030129285)+W(8,-1119172737,989007258,-1122523445,1044071755)+W(9,1030473357,1018738506,1021910870,-1122899972)+W(10,-1143910182,1019358132,1008313039,-1115540344)+W(11,-1126204226,-1118552369,1016154651,-1124368226);sum2=W(0,-1138428449,992976916,-1142924106,976851025)+W(1,989093448,997652548,-1153131756,-1134977059)+W(2,-1158711528,1013039401,-1128734961,1036130613)+W(3,1010050489,-1137359275,990210276,-1138876101)+W(4,-1124467432,-1130455464,-1113146735,-1097860430)+W(5,-1108810723,-1122996798,-1140348735,-1127238416)+W(6,-1140697417,-1123518198,-1099387353,-1077268149)+W(7,-1091225653,1032494444,-1115493835,1018469149)+W(8,1030243467,1033499227,1051222006,1072898808)+W(9,1056060393,1025590581,1025171621,1026307569)+W(10,1012442941,975746961,-1122081826,-1117904739)+W(11,-1131990027,951236744,1006284898,-1146863422);WS(-1143089152,1030017260); +sum1=W(0,1012276081,1001605962,1024406997,-1155861797)+W(1,-1155627981,-1122534699,1018348791,-1120990241)+W(2,-1116644609,-1127223379,-1109637089,-1115433381)+W(3,1036571679,1028189701,-1126280255,1036379833)+W(4,1019444907,-1119160665,1048989101,1044433671)+W(5,-1098184025,1039597237,-1117935161,-1136463217)+W(6,-1124688427,1035777366,-1098625404,1006101820)+W(7,1048780603,-1104960796,1029641477,-1111599465)+W(8,1029853709,-1136557285,1038057505,-1111190908)+W(9,-1112291813,-1130076067,1012573277,-1154886405)+W(10,-1130860131,-1130309965,-1130883561,1009046005)+W(11,1025361773,1018788475,-1125993892,1020397819);sum2=W(0,-1153319600,-1147284080,1008968960,995456320)+W(1,-1140178660,-1146954776,-1142030464,-1170856127)+W(2,1008405084,985822624,-1142311064,1022276922)+W(3,-1140411728,1005012008,1003782736,1006946188)+W(4,-1118973116,1010505984,-1101248908,-1089187936)+W(5,-1109859050,1017518401,982409184,995727232)+W(6,-1140784820,-1129308604,1037448945,1057794596)+W(7,1029773785,1015531414,974134143,960534268)+W(8,1012585128,1021293048,1024969278,1033366347)+W(9,1024400778,1007802556,1003482728,1009923956)+W(10,1010769460,1001814848,-1160749952,-1123619202)+W(11,-1136545168,1000322872,-1152799248,985284128);WS(1064472528,-1121594920); +sum1=W(0,-1142654991,-1143599223,1014568428,1010500896)+W(1,-1124387333,1020884834,-1131205634,1026841191)+W(2,1027230343,1032290711,-1136037408,1002050167)+W(3,-1122938499,-1120250507,1025589157,-1110863224)+W(4,-1112807213,-1113392623,-1115590690,-1113734161)+W(5,1038834309,1029912912,1019867389,1031947569)+W(6,1027061019,1016010466,1034098395,-1112872467)+W(7,-1130883382,1015162858,-1123484555,1019435182)+W(8,-1128825126,991342574,1008695068,1027642302)+W(9,1013984188,1015817710,1015459258,-1129521612)+W(10,-1164359388,1014490160,-1148094031,-1127829894)+W(11,-1138058188,-1124941766,1008886302,-1130075526);sum2=W(0,1003807591,-1147429191,1002635095,-1132089351)+W(1,-1147602519,-1151072125,964968041,1011860423)+W(2,-1154115373,-1139843175,1018649088,1016729308)+W(3,1024344696,-1155997437,1001714367,-1141691791)+W(4,1000124719,1001833687,1008095031,-1105992985)+W(5,1014141127,-1132427785,-1141957575,-1139390003)+W(6,1017182228,1024488826,1040714709,1063780536)+W(7,1047200342,1020609216,1023684454,1017456200)+W(8,-1126980607,-1116401990,-1105844805,-1085442794)+W(9,-1101306502,-1122913939,-1125194898,-1128761080)+W(10,-1130234859,987658746,1013729967,1024604622)+W(11,995366957,-1147894927,-1146690231,-1146063807);WS(1061878800,-1131153991); +sum1=W(0,-1123872727,1018625288,-1127640224,1026350045)+W(1,1013916191,1018183052,-1145362866,1016048056)+W(2,1015115512,1031144036,1036357847,-1108974562)+W(3,-1107191102,1006433282,1014427177,1026198990)+W(4,-1099302516,-1102371221,-1085394744,1059569738)+W(5,1050617832,1032504563,1031877738,1033421596)+W(6,1041224340,1009910425,1052022073,1058525661)+W(7,-1088226291,-1097316565,-1109508096,-1098228398)+W(8,-1144166978,1014687697,-1115552350,-1125187302)+W(9,1037730450,1040234099,1015825508,1035235966)+W(10,-1171049230,1022902338,-1132534141,1016189168)+W(11,-1123531112,-1127405808,1018548825,-1137247201);sum2=W(0,-1131301730,973798558,-1127780866,1013478572)+W(1,-1160424319,-1135840779,-1164912671,-1138738786)+W(2,1031269327,-1131640108,1013454096,-1109509101)+W(3,-1117315078,-1131160392,-1145619912,-1127332243)+W(4,-1127010401,1028981651,-1149526184,1051779317)+W(5,1028380081,-1137527992,998238336,-1148504424)+W(6,-1109842974,-1125259759,-1113692773,1047088883)+W(7,-1134194124,1028175261,1018886164,1027237057)+W(8,-1181736700,-1167651134,-1123287814,-1109788940)+W(9,-1115287133,-1121515979,-1125209194,-1142455024)+W(10,-1180777340,-1160957999,993986728,1020962386)+W(11,-1136947718,-1138138790,-1152989064,-1123011340);WS(-1146021888,1053974589); +sum1=W(0,1029642476,1013890275,-1176939092,1022266947)+W(1,-1146466657,1004183253,-1160650069,-1127783457)+W(2,-1119368753,-1134074211,1007708103,1017736689)+W(3,1027345005,1032510570,1019378973,1031489314)+W(4,1042969521,1042359026,1045769551,-1101301107)+W(5,-1094644679,-1091538585,-1107179580,-1095508207)+W(6,-1095098901,-1107285127,-1096985546,1034918881)+W(7,1050538529,1051699648,1036824506,1048776768)+W(8,1046685039,1031018217,1036262392,1003810877)+W(9,-1120828825,1011534979,-1133351451,1035618600)+W(10,984849429,-1135393367,-1139413615,1024875117)+W(11,-1172526890,1017671961,-1160823333,1006585957);sum2=W(0,1031363252,1030774484,1015165558,1007437656)+W(1,1020087968,-1158035650,-1137051446,1018262350)+W(2,-1091101506,1001500224,-1110787951,965388167)+W(3,1003188992,1041338676,-1134903850,1033269727)+W(4,1048232756,-1110436898,1016237906,1014973676)+W(5,-1123006886,-1105090874,-1123217223,-1104724635)+W(6,1057852755,-1132290932,1043794074,1047525730)+W(7,1011818344,-1129296549,1034851396,-1106365430)+W(8,-1095952784,-1131305343,-1113356328,-1152923833)+W(9,-1111245491,-1131940021,-1117639196,1024945328)+W(10,1016290300,-1126601761,1003743696,1022650220)+W(11,1021501454,1017537464,-1133259176,1019937714);WS(-1077057896,-1083600334); +sum1=W(0,1017420011,1014201033,1017846781,999765850)+W(1,-1162024122,985808522,1019153993,1011766057)+W(2,1011471785,1019976613,-1138042285,1040273597)+W(3,1016487629,1027730222,1010855969,1025127228)+W(4,1029223422,-1126437509,1049638570,-1090770241)+W(5,1029091694,1037672698,1027546578,1025680213)+W(6,-1116040414,1015478313,-1103217262,-1087230893)+W(7,1046437488,1024768280,1028909230,1017109109)+W(8,1017123181,1024110818,1023111893,1030676769)+W(9,-1112046985,-1120839802,1023955584,-1128064723)+W(10,1016511669,-1167731667,1009386661,1023090125)+W(11,1020460717,1025489318,-1134545259,1027741830);sum2=W(0,1023774756,-1152708847,1005727232,-1128030280)+W(1,1004577664,-1116453887,1020705336,-1127775332)+W(2,-1107003878,1013240776,-1108761818,1032847770)+W(3,1024878510,-1129071264,-1124253692,-1114566712)+W(4,1020767940,-1108605887,1050907301,1058054639)+W(5,-1106188814,1040942692,-1115446820,1042743894)+W(6,-1118294055,-1128830540,-1097736561,1008347200)+W(7,1049418167,-1105809360,1014050712,-1132221182)+W(8,-1113997093,-1139588328,1032528025,1039669350)+W(9,-1108856812,-1104688291,1018266740,-1103534695)+W(10,1021408408,-1119578529,-1135972104,-1131826954)+W(11,999382680,1019392776,-1117167612,1022204104);WS(1034686080,-1080904524); +sum1=W(0,-1139332721,-1156631187,1023562901,1011454089)+W(1,1009225011,1012327853,1010687981,1010798725)+W(2,1025190657,1024127465,1006799241,-1145135178)+W(3,-1129417722,1017495114,1027561839,1010795083)+W(4,-1143163562,1040892278,-1104914606,-1089193318)+W(5,1043909393,-1119873834,-1136185891,-1118482716)+W(6,1041601261,1028605547,1052908885,-1091833281)+W(7,-1103073573,1025246703,-1124345098,1032670633)+W(8,1024768205,-1129308018,-1117860929,1036300940)+W(9,1040987970,1033652713,1024209623,1027144528)+W(10,-1137907141,1012089369,1019594656,-1143330794)+W(11,992909011,-1123933213,1018355139,-1123266333);sum2=W(0,998154484,-1136847690,-1120010648,-1145824866)+W(1,1015307650,994166396,1000606426,1010815409)+W(2,-1124228589,1028193069,1043298286,-1115567961)+W(3,-1106126812,-1111174068,-1128437454,-1110538383)+W(4,-1132108902,-1123281782,-1097765474,1059221182)+W(5,1048600788,-1130476352,1026255089,-1118584150)+W(6,-1115676434,-1123302060,1027211577,1034703777)+W(7,-1099334080,1015056080,-1137618020,1028199647)+W(8,-1123985162,-1132306691,-1114822183,-1131429597)+W(9,1029215805,1023836215,-1127893362,1025007180)+W(10,1004957466,1011392625,-1127542967,1022587458)+W(11,-1127163397,-1122559367,-1171736302,-1124423270);WS(-1097173920,-1100403112); +sum1=W(0,-1133792968,-1124511038,-1133667884,-1126404688)+W(1,-1129657589,-1123548289,-1134226372,-1120375479)+W(2,-1126599342,-1134319356,-1113753548,-1113718896)+W(3,1034489098,1017816566,-1122628437,1029275393)+W(4,1026626987,-1112479512,1051379210,1058852431)+W(5,-1097104011,1007326848,-1112737379,-1116837058)+W(6,-1109988694,-1122054529,-1097159959,1058630415)+W(7,1049904553,-1104990865,983139170,-1110311540)+W(8,-1128510918,-1138055228,1031366423,-1108453759)+W(9,-1111244112,-1129654222,-1143321192,-1132471000)+W(10,-1124691470,-1131431128,-1128464692,-1122909907)+W(11,1006087192,-1138955724,-1123473736,-1149064600);sum2=W(0,-1133003813,-1170659932,1006656308,1031055883)+W(1,-1122785076,-1138148825,-1134424500,-1131089901)+W(2,-1145103116,1024883426,-1122208183,-1101651786)+W(3,-1107240567,-1137951645,-1131665157,-1116779622)+W(4,-1105221269,-1117429423,-1098340061,1055658740)+W(5,1035604404,-1131811521,-1130287800,-1123356625)+W(6,1033080040,1028547885,1042272545,1058321046)+W(7,-1112738821,1003752088,1015669581,1033205575)+W(8,1016862101,-1128891234,-1121562483,-1100689547)+W(9,-1115182870,1026865631,-1129373191,-1134576021)+W(10,-1129731365,-1147341896,-1121650606,1031708925)+W(11,-1123396988,-1133076983,-1131162259,-1127933595);WS(1049422752,1064394145); +sum1=W(0,1016583527,997641734,-1129211865,-1131677043)+W(1,1021172552,1021691141,-1133007562,1026669144)+W(2,-1106085006,-1123841888,1041111742,1032245856)+W(3,-1110939130,-1105269375,-1137128282,-1106745812)+W(4,995307718,1031369872,-1088517333,-1098988005)+W(5,1058612208,1030057089,1036830720,1034516890)+W(6,1042273115,1021597381,1058826428,-1105331685)+W(7,-1090507155,1043687978,-1120823228,1038691348)+W(8,-1113049442,-1122854832,-1113933244,1032610296)+W(9,1037338632,-1122591528,-1116248270,-1117945591)+W(10,1025810280,1006187755,1019889767,-1131685097)+W(11,-1155049030,-1134096210,1025994697,-1126546729);sum2=W(0,1015668141,-1124041461,1005775275,1015274173)+W(1,-1138139200,992639399,-1132053353,-1129319398)+W(2,-1138201662,-1140877219,1027346708,1016303395)+W(3,-1106503093,-1117618841,-1115775134,-1122071744)+W(4,-1111996311,-1116450062,-1125910350,-1108948194)+W(5,-1104963655,1031763952,1015724405,1034411590)+W(6,-1127284815,-1123578506,-1106280325,1052974100)+W(7,1053021197,957951850,1016609913,-1140595900)+W(8,-1125087482,1024732308,1034158307,1032925063)+W(9,-1107449032,994113735,-1132927280,-1140186580)+W(10,1020174885,-1139064970,-1133423524,-1161498797)+W(11,-1134898868,1013272790,-1132485274,-1164791981);WS(-1101497152,-1084603877); +sum1=W(0,-1136425045,-1140218249,-1121565262,-1122160667)+W(1,1006883159,-1132497425,1004502690,-1128604789)+W(2,1016522037,-1157845066,1035402982,1027884002)+W(3,1025282390,1022271101,-1138792353,995143101)+W(4,967194407,1029505522,1022903246,-1107598171)+W(5,1025270942,-1120772739,-1154700189,-1128284203)+W(6,1019848413,-1119357636,1027088345,1024422013)+W(7,-1117602990,1030415880,-1171556244,1025955498)+W(8,-1129523533,-1140249161,-1121932442,-1127296803)+W(9,1030372258,-1129818261,-1138666305,-1121511513)+W(10,-1142614610,-1135395837,-1148904362,1002411186)+W(11,-1130529549,1018540973,-1138856043,1011955033);sum2=W(0,-1126668299,-1137964827,1015963121,1030757650)+W(1,-1137547503,997720155,-1132279825,-1152589275)+W(2,-1131366283,-1117612139,-1097765254,-1083955387)+W(3,-1103492737,-1118797430,-1131387718,-1140632131)+W(4,1024971228,1034620123,1049249869,1064229708)+W(5,1047078464,1017921725,1024786888,-1144191965)+W(6,1000957181,-1119890411,1026062254,-1107214224)+W(7,-1122275403,1016072153,-1133941049,996433547)+W(8,-1151515419,-1145021381,1001872029,1026637176)+W(9,1027173860,-1135832789,-1148432117,-1140699475)+W(10,1005199725,-1136862175,1007955643,-1125717658)+W(11,-1169614250,923654805,1002011725,1005736109);WS(1059552336,-1136539026); +sum1=W(0,990367896,1010957914,-1154541352,1017372383)+W(1,1026284586,1015461809,1014364322,1021777309)+W(2,1041343484,1036710283,1045269292,-1112141659)+W(3,-1116984235,1018013925,1006339428,1032228520)+W(4,-1096612504,-1107358947,-1087221074,1058232297)+W(5,1051438086,1047713030,1032067931,1045851190)+W(6,1033353841,1029016441,1042554433,1029783110)+W(7,-1087458720,-1095293300,-1114380761,-1099415088)+W(8,-1125599349,-1132821402,-1154580200,-1114120867)+W(9,1033522371,1032365167,1004597796,1030006574)+W(10,1028944863,1024290996,1023892422,1023410731)+W(11,-1144215764,-1144750420,1001346936,-1130073781);sum2=W(0,-1153914788,-1126180245,995844276,-1141303142)+W(1,1026951758,990856044,1004850742,1015235936)+W(2,-1101809160,-1115520194,-1114410922,1033573989)+W(3,998799030,-1110191966,-1129252703,1016759632)+W(4,1052877341,1022007580,1055965696,-1098900400)+W(5,1023481081,1023185808,1031073312,-1104219784)+W(6,1046574229,1000424166,1034680258,-1098051352)+W(7,1045079279,-1106708743,984863273,-1103050031)+W(8,-1095334336,-1113807813,-1109583292,1033797491)+W(9,1032986287,1025876178,-1137844345,1038371038)+W(10,1023520281,1021218858,1008634443,-1115608949)+W(11,1032307290,-1128938562,1017335440,1020607644);WS(-1080660584,-1085825159); +sum1=W(0,1013708199,998525366,1026247587,1009982783)+W(1,-1136883881,-1128223794,999596614,-1126850910)+W(2,-1123370319,-1131079022,-1110742584,-1113918027)+W(3,1032009669,1025751155,-1126831290,1033490448)+W(4,-1145658646,-1111041043,1047524760,1038280501)+W(5,-1096311074,1042402294,-1118872454,1023947050)+W(6,-1118786339,1035331132,-1095527502,1041941518)+W(7,1051037928,-1106649743,1032615945,-1111971999)+W(8,1028171867,1017605134,1042485668,-1110999603)+W(9,-1106204846,-1132447358,1002160934,971034337)+W(10,-1144908790,-1131113128,-1130744068,992723116)+W(11,1025830203,1017749654,-1127230527,1018668086);sum2=W(0,988660617,-1145776834,-1133422913,-1126488793)+W(1,999416722,999055930,987033481,-1179419172)+W(2,1017543700,1002138986,1031822055,1032911160)+W(3,1018658069,1007351961,-1162261577,999395634)+W(4,1015794522,1001599498,1041494739,1056510750)+W(5,1023998101,-1138508317,991201876,-1141702058)+W(6,-1133704409,1024621822,-1102581932,-1089051586)+W(7,-1111744235,1009295285,-1140892226,-1147317506)+W(8,1003471274,-1135257421,970658596,1026713544)+W(9,945757471,998080468,-1156050276,1007988669)+W(10,-1140119133,-1136500105,-1163479081,1009057465)+W(11,1000517690,-1137960905,-1186683976,-1146609818);WS(1064784784,-1120346387); +sum1=W(0,-1150678408,1000581420,1006062348,1015088861)+W(1,-1136518116,-1126533711,1012432222,-1122704190)+W(2,1015721531,-1110077251,-1107299655,-1132691862)+W(3,-1148196556,1013224070,-1124886999,1014270588)+W(4,1049255678,1043607805,1059242626,-1123916922)+W(5,-1096371932,-1100407642,-1132580564,-1102354822)+W(6,-1099108228,-1107416484,-1089544734,-1130977491)+W(7,1057929313,1048500643,1035479729,1044504531)+W(8,-1149551256,1017163947,1023526494,1022505321)+W(9,-1104456865,-1111675367,-1127245287,1007459698)+W(10,-1136953142,-1140022794,-1139533474,1012221798)+W(11,1014035238,1026165050,-1136458552,1017479699);sum2=W(0,-1140771860,-1125513054,-1131667695,-1131288705)+W(1,978159878,1012596136,1011933560,-1121534607)+W(2,1031694512,-1122230843,979286214,1025077104)+W(3,-1108853537,-1102087836,-1117751010,-1113389694)+W(4,-1104948969,993388690,1026183534,-1111209187)+W(5,1041617383,1045410736,1030126174,1044425994)+W(6,-1115570202,1042093481,1042830623,-1112764939)+W(7,1043422569,1034771561,1014235016,1025820984)+W(8,1040745971,-1111499166,-1119680402,982469091)+W(9,-1120447085,-1109907689,-1127258987,-1115100280)+W(10,-1127298441,995262946,1002124441,-1123012516)+W(11,-1129740789,-1125016939,1004566649,-1119639931);WS(-1088649680,1067112300); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0][0] = HOOKED_texOff(vec2(-2.0, -3.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-2.0, -2.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-2.0, -1.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-2.0, 0.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-2.0, 1.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-2.0, 2.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-2.0, 3.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-2.0, 4.0)).x; +samples[2][0] = HOOKED_texOff(vec2(-1.0, -3.0)).x; +samples[2][1] = HOOKED_texOff(vec2(-1.0, -2.0)).x; +samples[2][2] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[2][3] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[3][0] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[3][1] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[3][2] = HOOKED_texOff(vec2(-1.0, 3.0)).x; +samples[3][3] = HOOKED_texOff(vec2(-1.0, 4.0)).x; +samples[4][0] = HOOKED_texOff(vec2(0.0, -3.0)).x; +samples[4][1] = HOOKED_texOff(vec2(0.0, -2.0)).x; +samples[4][2] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[4][3] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[5][0] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[5][1] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[5][2] = HOOKED_texOff(vec2(0.0, 3.0)).x; +samples[5][3] = HOOKED_texOff(vec2(0.0, 4.0)).x; +samples[6][0] = HOOKED_texOff(vec2(1.0, -3.0)).x; +samples[6][1] = HOOKED_texOff(vec2(1.0, -2.0)).x; +samples[6][2] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[6][3] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[7][0] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[7][1] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[7][2] = HOOKED_texOff(vec2(1.0, 3.0)).x; +samples[7][3] = HOOKED_texOff(vec2(1.0, 4.0)).x; +samples[8][0] = HOOKED_texOff(vec2(2.0, -3.0)).x; +samples[8][1] = HOOKED_texOff(vec2(2.0, -2.0)).x; +samples[8][2] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[8][3] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[9][0] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[9][1] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[9][2] = HOOKED_texOff(vec2(2.0, 3.0)).x; +samples[9][3] = HOOKED_texOff(vec2(2.0, 4.0)).x; +samples[10][0] = HOOKED_texOff(vec2(3.0, -3.0)).x; +samples[10][1] = HOOKED_texOff(vec2(3.0, -2.0)).x; +samples[10][2] = HOOKED_texOff(vec2(3.0, -1.0)).x; +samples[10][3] = HOOKED_texOff(vec2(3.0, 0.0)).x; +samples[11][0] = HOOKED_texOff(vec2(3.0, 1.0)).x; +samples[11][1] = HOOKED_texOff(vec2(3.0, 2.0)).x; +samples[11][2] = HOOKED_texOff(vec2(3.0, 3.0)).x; +samples[11][3] = HOOKED_texOff(vec2(3.0, 4.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns16, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/nnedi3-nns256-win8x4.glsl b/shaders/nnedi3/nnedi3-nns256-win8x4.glsl new file mode 100644 index 0000000..900910c --- /dev/null +++ b/shaders/nnedi3/nnedi3-nns256-win8x4.glsl @@ -0,0 +1,674 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns256, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,1024871952,-1091961907,1049937838,1023328805)+W(1,1026430476,-1103990249,1052012307,994719130)+W(2,1041094851,-1086639391,1057524239,-1110763811)+W(3,992987016,-1085365048,1063527595,-1102193240)+W(4,1034372511,-1087585419,1061081007,1046466539)+W(5,1007997243,-1093414958,1057188600,-1131716095)+W(6,1038248733,-1100793414,-1104832955,1042167685)+W(7,1009484684,-1099588502,-1114088341,1037858632);sum2=W(0,-1122170202,-1115075619,-1113824159,1016746290)+W(1,-1117362461,1050294809,1022334174,1016781702)+W(2,-1125932452,1041506545,-1098709995,1031697879)+W(3,-1100385246,-1100233118,-1104291570,1033455014)+W(4,1020071642,-1100362988,1072797337,1050444141)+W(5,1025043913,1047005177,1053652830,-1106922881)+W(6,1017078274,1012082941,-1100425628,-1081909907)+W(7,1018043750,-1112302377,-1155649364,-1086585813);WS(-1096195455,1061976972); +sum1=W(0,-1107583849,-1094469481,1057261454,1032308806)+W(1,1045016510,-1104061589,1051975353,1046697387)+W(2,-1102048399,-1082981042,1058403546,-1093320254)+W(3,1050507709,-1086991635,1061386858,1051876218)+W(4,-1138600128,-1087760032,1052980216,-1106246183)+W(5,1004076226,-1088999402,1052828202,-1112945129)+W(6,1049677870,-1111975782,1055128500,1045880594)+W(7,-1106918697,-1089081125,1048525839,-1116677906);sum2=W(0,976892690,-1095110912,-1080663089,1075827337)+W(1,1043646796,-1114450783,-1074060607,1075290035)+W(2,-1131052969,1052886335,-1068434194,1070007941)+W(3,1047930742,-1113296119,1048011859,1046007784)+W(4,-1099144563,-1088067101,1042920440,-1090506241)+W(5,1035354913,1040578653,1058047003,-1099371585)+W(6,-1115191227,-1102673565,1057110709,-1096675048)+W(7,-1111106463,1051335047,1038060178,-1096378099);WS(-1095930303,-1128843438); +sum1=W(0,-1113225514,1000563038,1038763268,-1104281110)+W(1,1030842449,-1103461662,1052682210,-1105449143)+W(2,-1120882464,-1098779087,1055587560,-1106219642)+W(3,-1111398934,-1156245815,1046999855,-1105879965)+W(4,-1098488134,1057689814,-1090605975,1039743648)+W(5,-1098728413,1058114717,-1106232348,1030902068)+W(6,-1111237296,1041725787,-1106563184,-1111582036)+W(7,-1104159890,1046074787,-1119168797,1033984854);sum2=W(0,-1109947141,-1078961084,1053833634,1049299145)+W(1,-1087141194,-1081851502,-1102894339,1040634467)+W(2,1007133897,1057831088,1046573470,1035108031)+W(3,-1099413759,1067440534,1058568743,-1114324751)+W(4,1026690396,-1095618356,1058025266,-1094447449)+W(5,1045509921,1022398658,-1115002147,1023241606)+W(6,-1117657274,1029712906,-1109832065,987652806)+W(7,1051942463,1049871690,-1099467737,-1104714655);WS(1018627052,-1077328537); +sum1=W(0,-1107592280,-1098360952,1054425801,-1121256842)+W(1,1011043872,-1103889731,1045838144,1016847523)+W(2,-1138466445,-1088654431,1063939041,-1114759963)+W(3,1041422472,-1079526160,1057394281,-1109966789)+W(4,-1112294435,-1109020730,1061143403,-1115564074)+W(5,1012707679,-1095389295,1057286118,-1117689671)+W(6,-1150731309,-1102056896,1040465365,-1133534770)+W(7,-1118891707,-1101414784,1042544156,1028492087);sum2=W(0,-1161717665,1033867626,1028201267,-1124228530)+W(1,-1138679732,-1115218580,-1096378423,1029766795)+W(2,-1121504639,1030621655,1071708903,-1128256742)+W(3,1050854432,-1096361601,1079482342,1035298280)+W(4,-1106511096,1044499063,-1064184100,1035336882)+W(5,1030373815,-1104067382,-1089118805,-1105361644)+W(6,980628162,1040061476,1048273255,-1119150405)+W(7,1031200951,-1122098343,-1109436715,1035049634);WS(1045693694,1057374369); +sum1=W(0,1048369598,1034312519,-1131023893,-1099588978)+W(1,-1104752283,1045853799,-1098373234,1019902402)+W(2,1031950009,1057046586,-1095062180,-1105510198)+W(3,-1123958928,1065585622,-1089164628,1033283356)+W(4,-1103831441,1061666460,-1092432965,-1115031649)+W(5,-1106189273,1060939321,-1087345809,-1122647270)+W(6,-1103850789,1050689810,-1092965100,-1126666680)+W(7,-1110300085,1060417841,-1091010256,-1103574093);sum2=W(0,-1087427905,-1098709872,1072153031,-1089481634)+W(1,1058683530,-1099141199,-1088885778,1056590706)+W(2,-1081734921,1032637312,1061509476,-1092495010)+W(3,1050776004,1072181481,1071890032,1048814690)+W(4,1042479954,1036599206,1052304550,-1095810808)+W(5,1025544982,-1080357543,-1080881103,-1097308566)+W(6,-1105492903,-1113642582,1050862866,-1094462248)+W(7,1058740427,-1086527647,-1078556244,1039671439);WS(-1081549664,1060153996); +sum1=W(0,992286043,1063391104,-1087586274,-1105647870)+W(1,-1115318586,1055271797,-1095899708,1025423024)+W(2,-1105782456,1062019397,-1085498120,1033921889)+W(3,1026471870,1061503832,-1089250259,-1113405924)+W(4,-1114468402,1058772501,-1090055577,-1113674825)+W(5,1037910210,1045594046,-1102496824,-1106446561)+W(6,-1130210466,1049908468,-1103786988,-1118412923)+W(7,1043803882,1040755007,-1104619012,-1096097592);sum2=W(0,1053790549,-1080860351,-1068185653,-1082483044)+W(1,-1110257416,-1097530578,-1077346152,-1088866791)+W(2,1033688102,1041061421,1052310674,1052658871)+W(3,-1102619530,1064966059,1072556372,-1104178634)+W(4,-1117483359,1050344847,1075004369,-1108410079)+W(5,-1098152061,1040479494,1064749402,1040931499)+W(6,-1105743952,1051151965,-1110156824,-1137891932)+W(7,-1083553679,1065962098,1045213317,1053124980);WS(-1079020096,-1097079011); +sum1=W(0,-1109501731,-1096742621,1057943754,1016000225)+W(1,1033910555,-1092191510,1055662529,1020967408)+W(2,1015347636,-1089091160,1059647341,-1102027816)+W(3,-1108027795,-1087072713,1068092504,-1109882648)+W(4,1042979875,-1087558450,1059824411,-1106889398)+W(5,1019929124,-1089417126,-1117499817,-1117366414)+W(6,1040369234,-1104831498,1043480574,-1104827345)+W(7,-1134559750,-1091818621,1050143023,1049289276);sum2=W(0,1037631964,-1097479797,1051023588,1045348435)+W(1,-1105851814,1051380185,-1097950410,1028003104)+W(2,1036652885,1028410699,1034374804,-1113269608)+W(3,-1110757790,1044594400,1053237761,1041832368)+W(4,1024508007,1041068006,-1132209182,1033918380)+W(5,-1139201564,1046036650,-1088293598,-1089693526)+W(6,-1113225064,1054960427,-1081781977,-1099925151)+W(7,-1104657620,-1105334641,1065714224,-1106359824);WS(-1087384991,1052875812); +sum1=W(0,1041733252,-1109905397,1041497057,-1113613058)+W(1,-1138647561,-1104994285,1032882549,-1117825756)+W(2,1034391503,-1107522048,1050093354,-1108789794)+W(3,-1106477875,1057597757,-1091247383,1028766931)+W(4,-1100509868,1062613266,-1087942224,1042722079)+W(5,-1098694249,1055828187,-1090201627,1013355333)+W(6,-1110959830,1052485297,-1098203032,1034047139)+W(7,-1120730421,1044647290,-1100016695,1038812681);sum2=W(0,1019350107,1041831066,1051650697,-1103332568)+W(1,-1111428867,-1130655130,-1112274143,-1077765094)+W(2,1017374087,-1138336400,-1092155273,-1073481211)+W(3,-1112005123,1035402260,-1114034096,-1087514353)+W(4,1028700445,-1116945124,1045953881,1069095754)+W(5,-1112772903,1041636268,1041190902,1074086485)+W(6,1027823157,-1107238338,1049171133,1057277153)+W(7,999439052,1033528252,1027833254,-1107727987);WS(1050457727,1041689780); +sum1=W(0,-1131312139,992358355,-1092744895,1048008788)+W(1,-1116681402,1014710691,1027381214,1036450832)+W(2,1030961105,1040368912,-1089348299,1053966377)+W(3,-1140959985,-1105027369,1050737138,933247243)+W(4,1046496193,-1089290871,1038810352,1043432004)+W(5,1048638526,-1090315138,1055368676,-1119062181)+W(6,1007270019,-1098770776,1040416748,1023583738)+W(7,1049181764,-1086147588,1051301702,1037141075);sum2=W(0,-1107193278,1057496780,1072935738,-1080570956)+W(1,1019433289,1031729137,-1080020989,1054527180)+W(2,1039188525,1037283932,-1078950448,-1096917141)+W(3,-1123892633,-1086728254,-1087453268,1050123895)+W(4,1039851328,-1087309268,1051352061,1053948249)+W(5,1032631611,-1092570464,1059438018,1042769096)+W(6,1044641782,1035754242,1051006721,1029707984)+W(7,-1097026795,1063903066,1056300653,-1106545458);WS(-1084263519,-1088250567); +sum1=W(0,-1107101246,1048954180,-1118116730,-1111017296)+W(1,1049480649,-1096698757,1027018719,1043604572)+W(2,-1097447514,1059331526,-1108150329,-1098833704)+W(3,1049647488,-1119095878,-1090501921,1050343697)+W(4,-1099235545,1040553109,1044929028,-1096264890)+W(5,1018612505,1041330418,-1094468036,1044030041)+W(6,-1103944776,1040723088,1047463532,-1121471547)+W(7,1032447885,1023387386,-1106285556,-1175819022);sum2=W(0,991719940,-1157381748,-1100952734,1029794653)+W(1,1034086314,-1121095386,1027786887,1016292894)+W(2,1055828179,-1103829652,-1085350121,1067178121)+W(3,1034571486,-1100672658,-1118546758,-1098007098)+W(4,1049088345,-1090417467,1049271738,1008607005)+W(5,-1098363481,1050795943,-1140682323,-1110134488)+W(6,-1111430799,-1113801830,1035813474,-1115483467)+W(7,-1111365517,1037803588,-1164121191,-1133015817);WS(1066054400,-1125664425); +sum1=W(0,1015260777,1054574294,-1095241461,-1127045294)+W(1,-1108545200,1053284635,-1094415406,-1111343263)+W(2,1023624464,1059735702,-1088764634,1041542629)+W(3,-1109354663,1058150961,-1078845388,-1130514988)+W(4,1023465234,1058102002,-1090401103,1035892576)+W(5,-1108921531,1063397581,-1105651068,-1136829776)+W(6,-1116445024,1046571067,-1116790272,1030749305)+W(7,-1128865616,1046728251,-1104354311,-1106930027);sum2=W(0,1041565398,-1104697837,-1115419200,-1158883614)+W(1,-1103469615,1029373537,1031260861,1035036640)+W(2,1029690269,1057447179,1026403525,1034486240)+W(3,1035794320,1080145714,1043319440,1041655252)+W(4,1035452008,-1103623095,1050811672,-1114789346)+W(5,-1107146771,-1066097425,-1103531154,-1114794272)+W(6,-1124704946,-1097535851,-1090176537,1036709484)+W(7,1040850628,-1103109309,1055196268,-1102936938);WS(-1087901375,1071177135); +sum1=W(0,-1121594272,-1110224028,1030219348,994425384)+W(1,-1122618691,-1109965218,1047787782,1027034090)+W(2,-1114434254,-1120206908,-1114914192,-1106192913)+W(3,1044010486,1010935165,-1113546820,1040356168)+W(4,-1113833999,-1108541318,1046030645,-1112701798)+W(5,-1108159437,1041417229,1035224125,-1130438655)+W(6,997526195,-1109330685,1017890711,-1151173965)+W(7,-1123472883,1039497451,1022061139,-1125745551);sum2=W(0,1042217679,-1116367239,1026421701,-1140328609)+W(1,-1108814485,1042859710,1027395369,-1114630403)+W(2,1058334461,-1078638996,1028343990,-1105295199)+W(3,-1080767453,1073929687,-1097310248,1028261520)+W(4,1050991857,-1092080339,1042808122,-1122297114)+W(5,1030602271,-1116721722,1051491707,-1105219597)+W(6,1034906705,-1106162437,1024141024,997359482)+W(7,-1127683613,1035114111,-1112071525,1017171678);WS(1066545696,-1154623394); +sum1=W(0,-1105442505,-1114054203,1057182265,-1123432545)+W(1,-1115505461,-1098488296,1049322687,1010507424)+W(2,-1102287846,-1092352928,1062190966,-1097309632)+W(3,1023914903,-1089108436,1059635472,1045294808)+W(4,1021900696,-1087887754,1057132007,-1098559779)+W(5,1016559928,-1096061654,1043675118,1042399967)+W(6,-1142506442,-1097827287,1048482034,-1110816589)+W(7,-1129232035,-1095543703,1055016957,1026256390);sum2=W(0,-1094410020,1040526244,1038890507,-1120085021)+W(1,-1073520568,-1119660436,-1105577163,1014274624)+W(2,-1076806727,1072065972,1038803075,-1119386280)+W(3,1007932024,1074284701,-1096715819,1032586275)+W(4,-1129053184,1045336233,1048625414,-1148623280)+W(5,-1126774165,-1114285571,-1106066396,1033069015)+W(6,1016297320,1027498382,1035667090,-1113847206)+W(7,1026440100,-1109537500,-1128514892,1028560484);WS(1055250687,-1106970626); +sum1=W(0,1033119688,1042190962,-1096546392,-1117586055)+W(1,-1105149829,1055784922,-1103230410,-1125652468)+W(2,1043588463,1039447718,-1093610964,1035816565)+W(3,-1098690473,1060328969,-1094495495,-1103963220)+W(4,1051357302,-1105877415,-1104321127,1047255951)+W(5,-1111820283,1050469874,-1102978667,-1108600424)+W(6,1036109552,-1123255849,1034127854,-1157028943)+W(7,-1119401059,1044861546,-1097968467,1018776031);sum2=W(0,1038757267,1030211853,1033894636,-1133782171)+W(1,-1111076574,-1147844455,1039985174,-1117005539)+W(2,1036628998,1002666567,-1092985165,-1150866734)+W(3,-1107631850,-1080902130,-1084645521,1049641986)+W(4,1045867530,-1089131777,1069738325,1051354211)+W(5,-1126199158,1067727291,-1096580382,-1100550183)+W(6,1034641438,1050167793,-1100096489,-1104598763)+W(7,1014361489,-1114432338,-1100261485,1033251244);WS(1063662431,1022143153); +sum1=W(0,-1101665898,1028101088,1045825111,-1107336877)+W(1,1044567949,-1100200043,-1112112432,1049135824)+W(2,-1113912242,-1110575390,1011332621,-1117269540)+W(3,1054985008,-1090770105,1036354680,1043762234)+W(4,-1089448239,1042239925,1053092900,-1090665684)+W(5,1031890901,1034205190,1020582213,1045380738)+W(6,-1106608329,1041117720,-1122250931,-1108114694)+W(7,1016341751,1032506575,1037368233,1027635960);sum2=W(0,-1109621945,995625223,1033690799,-1127273987)+W(1,1044140338,-1125871763,-1131300267,1031533647)+W(2,1011973298,1059194369,1019603073,-1100093028)+W(3,1054192939,-1085775903,-1105557074,1049649037)+W(4,-1083519810,-1085690186,1066625604,-1099380904)+W(5,1050669158,1055305067,-1093331249,1041330252)+W(6,1015542539,-1115586758,1025625789,-1109873113)+W(7,1007706050,1024423563,-1163078190,1021669909);WS(1065395904,1046290614); +sum1=W(0,996799560,-1125542553,1038203972,-1122586727)+W(1,1015596034,1043656950,-1105153011,1036793959)+W(2,-1100668872,1056396433,-1085640859,1049715632)+W(3,-1100927819,1054862894,-1101762943,1035554923)+W(4,1043886221,-1088911438,1057024083,-1115152096)+W(5,1025322396,-1099487682,1036429768,-1122121748)+W(6,1035443240,-1105531411,1021072448,1039652277)+W(7,-1114934548,-1117673547,1035195023,1024299964);sum2=W(0,1029237671,1017509749,-1104176053,1032328729)+W(1,-1133651707,-1140172751,1038596873,1037378915)+W(2,-1114304490,1030543605,1050264307,-1104642832)+W(3,-1114162505,-1092617066,-1093179067,1049979232)+W(4,-1125875827,1051105475,1071302855,-1110244360)+W(5,-1112015576,1033357967,-1090684841,-1085540383)+W(6,1015895733,1011455075,-1100815852,-1135016203)+W(7,1035088799,-1105982664,1003487558,1015899853);WS(1058730335,1038095077); +sum1=W(0,1050009523,-1090412329,-1116071407,-1120619710)+W(1,-1156396202,1022785342,-1112028282,1033123659)+W(2,1045232946,990514519,1027669243,-1138222105)+W(3,-1123440788,1051849503,1025171300,1042856679)+W(4,994853272,1050259497,-1091444451,1043400402)+W(5,1029074928,1048747736,-1091116387,1046148791)+W(6,-1116532263,1040337077,-1095024325,1031722640)+W(7,1016043038,1047238893,-1085293672,1050565349);sum2=W(0,1046272294,1056160584,-1069609928,-1086350256)+W(1,-1119023958,1047372879,-1100807597,1012350161)+W(2,-1106071503,1066704996,1063602974,-1093103672)+W(3,-1097641458,1062851774,1071319304,-1165704932)+W(4,-1099339001,-1127558738,-1123458905,-1099266547)+W(5,-1122591395,-1095719050,1049925865,1039176837)+W(6,-1120322169,1012197993,1037702687,-1104052164)+W(7,-1112624405,-1094334166,1046841945,1043315186);WS(-1102208382,1082454872); +sum1=W(0,-1121527792,-1097489215,1044710709,1024559218)+W(1,1019782131,-1109352802,1043005718,1025756170)+W(2,-1111677734,-1089475261,1059136208,-1098383546)+W(3,1042764822,-1094323164,-1113184692,1034230961)+W(4,-1098291428,1057233791,-1102862820,-1121795355)+W(5,-1109244559,1055571354,-1113821821,1034138424)+W(6,-1122839755,1036609181,1016630678,-1148370726)+W(7,1023050790,1023873367,-1122283881,1021065311);sum2=W(0,1012975921,-1113722375,-1109752074,1009270385)+W(1,1033684352,-1113902527,-1108511603,1034062718)+W(2,-1119837718,1034379158,1047596894,-1096952633)+W(3,1048900749,1065557700,1065261424,1042274647)+W(4,-1088385914,1033601684,-1110433219,-1110816087)+W(5,-1106132930,-1078602486,-1113936114,1038223706)+W(6,-1107812043,1048231286,-1106600777,1037668398)+W(7,1047279942,-1117907500,-1110420048,-1111923151);WS(1055139903,1066543323); +sum1=W(0,-1113216706,1025777755,1062476912,-1094834883)+W(1,1034160554,-1106690282,1047449287,-1115394087)+W(2,-1110997976,1025857819,1040533578,-1100641176)+W(3,-1104052311,-1108040417,-1088276389,-1109281747)+W(4,-1130057219,1042814916,1043316038,-1111790927)+W(5,-1100344024,1058801014,-1096553156,-1131081926)+W(6,-1109060119,1040801319,1003175286,-1127882001)+W(7,-1102181302,1061190298,-1109923206,-1116502963);sum2=W(0,1032900543,-1093611286,-1093105706,-1103368978)+W(1,1026043047,-1143136704,-1104881087,996537094)+W(2,1011969739,-1129502699,1056641171,-1097512177)+W(3,1005946567,1065137024,1062580590,1038772124)+W(4,-1104378201,1034934846,-1137732946,-1108835309)+W(5,-1106573410,1044311979,-1102271464,1035638256)+W(6,-1149079854,-1128312106,-1106196955,1028654910)+W(7,-1098913457,-1107526541,-1097055308,-1144299515);WS(1037662203,-1095462961); +sum1=W(0,1051208476,1054332722,-1088537607,1009988859)+W(1,1007151360,1048962332,-1096098779,-1120684294)+W(2,1047867778,1056131053,-1089718811,1043868050)+W(3,-1120692693,1060311124,-1086623130,1008468855)+W(4,-1102286423,1053179033,-1088149909,1024446024)+W(5,1029685138,1057524976,-1093380227,1041242535)+W(6,-1117174983,1045179237,-1094989189,-1121112609)+W(7,998066935,1053688986,-1094538289,1022948968);sum2=W(0,-1075642964,1064397427,1042055631,1049259770)+W(1,-1078284587,1070403917,1050515956,-1100572061)+W(2,-1077677369,1072178178,-1094922849,1038272909)+W(3,-1086975712,1071930150,-1096417404,-1110188613)+W(4,1050575143,-1093947328,-1094640520,1033007627)+W(5,-1109971278,-1119680819,1045435393,-1109186235)+W(6,1043550667,-1134729809,-1109099138,1040318497)+W(7,1046375822,-1094009133,-1106076462,1038207101);WS(-1091974591,1028524890); +sum1=W(0,-1119527298,1050666155,-1104886813,-1119869997)+W(1,1034997099,-1101120961,-1100807815,1044100139)+W(2,-1099802012,1057798952,-1099838668,-1103774309)+W(3,1033463662,-1146674958,1021707158,-1112176434)+W(4,-1090658116,1048486316,1057612011,-1094617942)+W(5,1044419888,1054164791,-1093871840,1036492177)+W(6,-1099353751,1033437822,1029138830,-1113521820)+W(7,-1110855131,1053708795,-1104286795,1028051362);sum2=W(0,1029285075,-1114745613,1024121756,-1127985632)+W(1,-1113245689,1037297246,1034295695,-1103172653)+W(2,1046869988,-1113507597,-1081105309,-1097344586)+W(3,-1099734421,1057852752,1063764387,-1092930743)+W(4,1045806866,1031538739,-1093953622,1039548141)+W(5,-1099048447,1019950674,1060684479,-1113791115)+W(6,1040440310,1039903515,-1099720743,1024790472)+W(7,-1129472848,-1115367833,1051222485,-1106398082);WS(1058893599,-1078409713); +sum1=W(0,-1115244150,-1102829117,1039336887,-1115623287)+W(1,1036724056,-1100240992,1053376406,-1114512019)+W(2,-1098555735,-1094663483,1053054383,1041993169)+W(3,1049246955,-1084866106,1065100884,1018575674)+W(4,1045222582,-1085064800,1054590883,-1114852275)+W(5,-1138283737,-1093243506,1056764679,-1108377677)+W(6,1044966206,-1093950047,1053059489,-1118180448)+W(7,-1115412967,-1095580366,1050610273,-1122449691);sum2=W(0,-1130929736,-1101060123,1045192083,-1105822172)+W(1,1009552185,-1090337753,1061442923,-1103557108)+W(2,-1084383778,1072779570,1050903982,-1106762492)+W(3,1050909748,1053567468,-1089269841,-1117595750)+W(4,1049209322,-1079161361,1029505799,-1111371347)+W(5,-1096700837,1057662166,-1094014597,1025228376)+W(6,1051369678,-1097661058,1046387683,-1138825972)+W(7,-1129474226,-1112521942,-1105984421,1030887459);WS(-1109369595,1048740969); +sum1=W(0,1040995480,1051718495,-1091711555,-1125552391)+W(1,1030414773,1050319297,-1095167863,1032958437)+W(2,-1118646413,1059003715,-1085356599,1042985722)+W(3,1043594790,1046504696,-1083562713,1045509569)+W(4,-1129436350,-1135436979,-1096690237,1023899916)+W(5,1037121811,1043825845,-1098326935,1019546753)+W(6,1030207412,1049475887,-1120665100,-1130219052)+W(7,1043560049,1058279379,-1098718953,-1105013544);sum2=W(0,-1113177829,-1117552581,-1100446453,1041583669)+W(1,1043809265,-1109343151,1039662186,1009024316)+W(2,-1095416462,1052574118,-1114145263,-1118793923)+W(3,1034071291,1063553374,1053677817,1018689733)+W(4,-1120341831,1070912061,-1101063801,1031195477)+W(5,1043900974,-1112203792,1042882834,-1105538343)+W(6,1020015593,-1091338378,-1094258913,-1114748986)+W(7,-1119209873,-1072794661,1055602011,-1109237633);WS(-1093437503,1065718162); +sum1=W(0,1037550096,1049488055,-1103061781,-1114711965)+W(1,-1101135841,1042594425,1046266118,-1097873069)+W(2,1044878747,1049041945,-1087470164,1046063170)+W(3,-1107014286,1066142676,-1106438298,-1091362312)+W(4,1042111087,-1100146203,-1111606545,1037494709)+W(5,1037051057,1045825417,-1091131027,1040258368)+W(6,-1099961615,1040663590,-1133427370,-1109172298)+W(7,1041500301,-1119554198,-1103590594,1033770775);sum2=W(0,-1106488910,-1123106758,1050172947,-1124712996)+W(1,1026201604,-1113590739,-1092748399,1043391307)+W(2,1035711566,-1084666863,-1097703384,-1098783459)+W(3,1060425407,1061776657,-1099741350,1048423650)+W(4,-1098764525,1055047321,-1120322586,1041036039)+W(5,-1096618367,-1119175762,1050324229,-1099280352)+W(6,-1182808622,-1103500958,1025620288,1048645442)+W(7,-1127820908,1041613778,-1105222946,-1118590758);WS(1056660607,-1113798601); +sum1=W(0,-1115305597,1041913228,1012656821,1026504084)+W(1,-1101671294,1008348404,998498191,-1151777337)+W(2,1016801995,1031963795,-1102006873,1032505286)+W(3,1039904137,-1093680051,1057450908,-1108358078)+W(4,1037148876,-1089471492,1049874551,1031920291)+W(5,1040453028,1034024758,-1111681498,1043455038)+W(6,-1110559226,-1111400057,-1109457443,-1129849213)+W(7,-1154296528,1031051312,1036430914,-1125050675);sum2=W(0,1042939003,1024638457,-1123927190,998901155)+W(1,-1114796094,-1101207597,1042777565,1022659417)+W(2,1044529628,1027593065,-1098782283,1017512357)+W(3,-1124781020,-1097759574,1059165645,-1104939928)+W(4,-1106748864,-1130307786,1062760553,-1098668376)+W(5,1016881133,1033669310,1017094385,-1089791762)+W(6,-1108227590,1022409637,-1160993898,-1106217568)+W(7,1027959261,1019735589,-1125388747,-1115680109);WS(1066155712,1004288134); +sum1=W(0,1047132567,1049267618,-1089062279,-1138510971)+W(1,1029697589,1048612844,-1092380195,1046969501)+W(2,1014062303,1055750611,-1088453014,1024451359)+W(3,1041631965,1059093756,-1084647474,1049129552)+W(4,991515041,1057479944,-1091963789,1040560290)+W(5,-1123217244,1056993158,-1088742789,1043007167)+W(6,-1154741365,1047138005,-1098495965,-1122630737)+W(7,1030265807,1055767146,-1086886676,-1122583780);sum2=W(0,1011892235,1040858440,-1127819845,1010964983)+W(1,-1111382628,-1103755803,-1109875610,-1106716388)+W(2,1037768402,-1125277089,-1096621612,1032593498)+W(3,1032283234,-1084511950,-1071556311,1040462902)+W(4,-1114728106,-1090323786,-1071973667,-1100404332)+W(5,1009460031,-1159433014,-1099343032,1040394500)+W(6,-1112526532,1053584755,1076043190,1007208771)+W(7,1030203700,1052886875,1079690007,1051792925);WS(-1086041375,1049976369); +sum1=W(0,-1125608345,-1096855193,1037693680,1048607039)+W(1,1025261033,-1097190986,1051176741,1030637974)+W(2,1032012444,-1086237883,1059434222,1026121224)+W(3,1046732297,-1083643033,1062665585,-1103554484)+W(4,-1114869141,-1093631755,1052924527,-1110078044)+W(5,1036081274,-1095059844,1052562329,-1109004102)+W(6,1036645660,-1132519191,1041010310,1035782593)+W(7,-1119140736,-1095180224,1048775023,-1118200972);sum2=W(0,1029601330,-1115199196,-1096390757,-1079547524)+W(1,-1144560396,1026958814,-1100298556,-1081990625)+W(2,1032763954,1032369083,1076866217,1041174181)+W(3,-1115106220,-1106065675,-1108884178,1041059708)+W(4,-1111454114,1042189754,-1116766618,1024602232)+W(5,-1121335223,1029124674,1025985538,-1127158528)+W(6,-1109520646,1022674491,-1115268590,1007020790)+W(7,1021645795,1026253022,1011072742,1003377428);WS(-1111980027,1060626277); +sum1=W(0,1023621139,-1102882983,1044706422,1028429765)+W(1,1032179266,-1092055397,1043529367,-1113080214)+W(2,1030954414,-1089823274,1057090380,-1101761443)+W(3,1037158526,-1095093232,1064981515,-1098683411)+W(4,1036765152,-1090725010,1047303429,1033439719)+W(5,1036680203,-1139402199,1042557255,1030304674)+W(6,-1146606447,-1116432156,1028925358,-1104492078)+W(7,-1119312598,-1108873773,1041638915,-1112219839);sum2=W(0,-1107703976,1045439570,1032849260,-1122224669)+W(1,1046455264,-1090239140,-1096329612,1035962913)+W(2,-1093472442,1028879562,1030082819,-1098806672)+W(3,1048924762,1064195571,1036056807,1041148911)+W(4,-1097201227,1016778259,1059898488,-1091828205)+W(5,1049435664,1027385222,-1091675747,1041687668)+W(6,-1106239872,1028121257,1053658286,-1098243254)+W(7,-1119402461,-1105208479,-1117889585,-1104565052);WS(1062681599,1040842201); +sum1=W(0,-1108789463,-1104300209,1042117608,-1118282400)+W(1,-1115361429,1050445194,-1097788769,-1114475276)+W(2,1048981817,-1089127203,1032428200,1049574381)+W(3,-1092926921,1063952639,1049970971,-1090427073)+W(4,1054602509,1043197406,-1088418847,1045778638)+W(5,1029602904,-1106041808,1049956321,-1112080775)+W(6,-1117967305,1039191171,-1112931212,-1097758566)+W(7,1025443329,-1114238594,-1123051255,1033393295);sum2=W(0,1038735267,-1126315713,-1111714958,-1111656758)+W(1,-1100048068,1043050536,-1115313021,-1115683900)+W(2,-1115453090,1053683464,1046662525,-1093358619)+W(3,-1110884051,1058830244,1061563017,-1105966973)+W(4,-1090743949,-1100540415,1052621807,1037413595)+W(5,-1153955669,1037942519,-1104363663,-1101879362)+W(6,-1112598570,-1098889179,-1118760183,1044482581)+W(7,-1103797208,1040830228,1007755797,-1098877089);WS(1062776447,1069975051); +sum1=W(0,-1130308944,1036893844,-1104137265,-1108240801)+W(1,-1112835078,-1114635034,-1098478453,1029922778)+W(2,-1113144126,1050058840,-1104852259,-1111877761)+W(3,-1094805377,1071110128,1041368142,-1088740684)+W(4,-1098008538,1061455014,-1095764665,-1112520550)+W(5,-1114270939,1044746969,-1109080309,-1119589855)+W(6,-1117364667,1018226642,-1103882015,-1121527653)+W(7,-1117827459,1049407081,-1120810969,-1103102129);sum2=W(0,1028834725,-1113117380,1037052904,-1113210551)+W(1,-1110297977,1026197871,996515330,1032917698)+W(2,1035091068,-1099362318,1043940575,-1106692355)+W(3,1034973002,1077416661,-1069860026,-1103487680)+W(4,-1110025415,1050456944,969317772,1034055293)+W(5,-1154986018,-1112814852,1021906202,1006658352)+W(6,-1120031976,1027999489,-1115577362,1018186436)+W(7,1030684381,1016280910,1013156184,-1124181989);WS(-1082599007,-1084302409); +sum1=W(0,-1127095446,1056665680,-1087212124,1035858193)+W(1,1011517278,1052281350,-1096260148,-1128228554)+W(2,-1110892475,1058821842,-1085877656,1043137767)+W(3,1024933540,1061132051,-1087957451,1023709101)+W(4,-1111586789,1054434479,-1089270826,1037286635)+W(5,1039136849,1052720805,-1102718609,-1111842501)+W(6,-1108207315,1043783817,-1106422582,-1130056576)+W(7,1049617952,-1159632952,-1106709957,-1115207149);sum2=W(0,1048459811,-1095160239,1026509768,-1123792544)+W(1,1071226724,1065850492,1043007163,-1127547903)+W(2,1075494724,-1121381976,1043168485,1027169380)+W(3,1074401127,-1099027008,-1093896652,-1107011198)+W(4,1044864951,1031151008,1012395574,1037067951)+W(5,-1077687291,1057399482,1019701051,1021690579)+W(6,-1072311776,1045213405,-1109946848,-1124089088)+W(7,-1066953112,-1095971461,1027278540,-1166810856);WS(-1118215158,-1130722305); +sum1=W(0,1039784439,1045520358,-1094865274,966095017)+W(1,-1119983743,1040649785,-1098235299,-1166742058)+W(2,1027132090,-1126797149,-1085881139,1023429181)+W(3,-1101267710,1070303194,-1106608186,-1127173569)+W(4,-1106141431,1059129261,-1088850304,-1112024885)+W(5,-1119840977,1056727436,-1093134907,1030946302)+W(6,-1131926580,1040938982,-1098615277,-1160489077)+W(7,-1158357571,1050582583,-1104503154,-1106263629);sum2=W(0,-1122933952,1043676402,-1122578476,1034421913)+W(1,1029904221,-1092335308,-1096734640,-1121365342)+W(2,-1104768174,1050667883,-1067932755,-1103315560)+W(3,1044174015,-1106663265,1078656606,1049347404)+W(4,-1122786276,1035773679,1056344301,1027752905)+W(5,1032455763,1033986578,-1106732625,-1114333025)+W(6,-1118952582,-1123822916,1033374173,1025409455)+W(7,-1120585334,1030027555,-1116084330,-1129253837);WS(-1112296443,-1083191171); +sum1=W(0,1030599873,1049894985,-1100141489,-1124642344)+W(1,-1102688301,1052276159,-1095734081,-1114229790)+W(2,1038739494,1055519004,1044438853,1039505712)+W(3,-1091052013,1061107959,-1078809864,-1108354137)+W(4,-1120252367,1059731464,-1100785926,1037196526)+W(5,-1118018759,1052059899,-1095185489,-1129006466)+W(6,-1105737735,1050382861,-1092887220,1034647259)+W(7,1036799090,1050879021,-1113977245,-1123394945);sum2=W(0,-1134366274,1032198029,-1102569648,-1113629492)+W(1,1040286055,-1093721101,1059013351,-1099320981)+W(2,-1103185345,1064064153,-1076328416,1062572765)+W(3,-1089934078,1038410574,1075980540,-1079072621)+W(4,-1104699884,1053501328,-1081344728,1057269325)+W(5,-1135474394,1053898256,-1093863519,1039501040)+W(6,1039368980,-1088730122,1061819985,-1089994189)+W(7,984214720,1045555557,-1089334779,1050815727);WS(1051639487,-1077445112); +sum1=W(0,1023584208,-1087680633,1058381481,1019116206)+W(1,1019039018,-1097242582,1049175941,-1110819225)+W(2,1046978951,-1087958558,1059595066,1041321753)+W(3,-1114024277,-1084584703,1058705186,-1110784681)+W(4,1042440780,-1089578188,1060807824,-1120949436)+W(5,1036430651,-1090497932,1057261083,-1111841304)+W(6,1019910405,-1100840226,1047705823,-1108976675)+W(7,1017051223,-1089989738,1052092149,1037750032);sum2=W(0,-1103483317,1043027417,1043672886,-1126025102)+W(1,-1103949071,1024633771,-1105891820,-1101612494)+W(2,1036613850,1050158855,-1113242263,1051748473)+W(3,-1096200772,-1096718424,1053817256,-1144187697)+W(4,-1094761445,1057240079,1043447632,-1129269697)+W(5,-1090478844,1037855330,1053166295,-1114569970)+W(6,-1091384835,1036780676,1043680942,-1102484885)+W(7,1024429003,-1103545669,1034776200,1044262941);WS(-1102141694,1066754929); +sum1=W(0,1024767465,-1097150806,-1121670572,1047316983)+W(1,1028037205,-1105574095,1021251426,-1123186307)+W(2,-1148374821,-1092607882,1053426631,1027553675)+W(3,996156698,-1086231302,1064662112,1037457517)+W(4,1034886379,-1085570014,1060264850,-1103359865)+W(5,1011245536,-1090150659,1058905527,1031219256)+W(6,1017269224,-1093685286,1047037217,-1108923303)+W(7,1023537404,-1100403588,1048736520,1039125668);sum2=W(0,-1127568330,1005444026,-1099850392,-1069105992)+W(1,1031019669,-1121000217,1052911126,-1075891845)+W(2,1013355589,-1135062981,1040255711,1052106082)+W(3,-1123247753,-1099801823,-1120914990,1078854269)+W(4,-1131101666,1044314830,1055431083,1061745892)+W(5,-1126559289,1052295626,-1112663055,-1097592921)+W(6,-1128009624,-1112001042,1029993103,1033712114)+W(7,-1122774763,1018744598,-1105142519,1037317546);WS(-1092827839,1049601702); +sum1=W(0,-1102748075,-1114726817,1043768535,1001409895)+W(1,1048973336,-1100496851,1037939345,1025584388)+W(2,-1101661842,1056141590,-1092531310,1043222609)+W(3,1035794226,-1092935501,1048278549,1028885900)+W(4,1035295380,-1090189951,1059458263,-1097823129)+W(5,951002293,-1127762491,-1107678146,1046084402)+W(6,1028700102,-1107070641,1040739973,1018269854)+W(7,1019995195,-1116434785,-1103464157,1033486885);sum2=W(0,1047648616,-1099866854,1040911688,-1104812914)+W(1,1049954711,-1087014785,-1127547935,1032774583)+W(2,-1086499077,1059941103,1006897087,-1118719608)+W(3,1036131868,1059724034,-1147690453,-1112213150)+W(4,1021844703,-1104253425,-1094365093,1020986307)+W(5,-1144052469,-1116739540,1046092804,1037506252)+W(6,1036766656,-1123734224,-1117733622,1020773629)+W(7,-1114852932,-1119117496,1045874226,-1120467144);WS(1062974879,-1132215613); +sum1=W(0,-1181157822,-1096960767,1047884458,1046591191)+W(1,1033235448,-1103300066,1024586364,1028472621)+W(2,-1120645311,-1098273063,1040665968,1027902609)+W(3,1032693326,-1084817024,1065496294,-1105457745)+W(4,1014937094,-1086871647,1061273423,-1099580452)+W(5,1012846527,-1093312183,1057013666,-1121668195)+W(6,1029466479,-1094276984,1048826162,-1123904424)+W(7,1027727527,-1099477807,1049029078,1033797162);sum2=W(0,-1120861164,-1114727130,1051943787,1073213517)+W(1,1023555157,-1127207629,1021361633,1067585393)+W(2,-1114715157,1049207316,-1100379929,-1095215585)+W(3,1039733942,-1100512081,1049204344,-1072102567)+W(4,-1111876903,1044392032,1029680046,-1085077901)+W(5,-1121732899,-1113639142,1040523175,1017790060)+W(6,1028106223,-1107243417,-1113800818,-1115100698)+W(7,-1136150442,1035475508,1017564481,-1111101803);WS(1038961915,-1122010239); +sum1=W(0,1004620105,1048595660,-1099376311,-1116246236)+W(1,-1113106351,1052250558,-1096833644,1027857155)+W(2,-1112775210,1058549636,-1088891129,1036452944)+W(3,-1125534724,1061573929,-1086812373,1040782707)+W(4,-1137271196,1057522353,-1093214133,1018281129)+W(5,-1126589322,1048822826,-1095914356,-1113857108)+W(6,1026657556,1040718305,-1105329661,1010557432)+W(7,-1119328748,1048641524,-1103878453,-1106455448);sum2=W(0,-1116580406,1027562258,1055923683,1077914250)+W(1,1024927837,-1162615720,-1098456431,1064911462)+W(2,-1129828931,1047581344,-1107918233,-1076359256)+W(3,-1115420496,-1109513493,-1093462217,-1072190840)+W(4,1011185933,1038795182,1043574176,1023726209)+W(5,-1123989928,-1118168090,1042713369,-1114062645)+W(6,-1146345634,1030671240,-1118222006,-1119388396)+W(7,-1132229127,1038841827,1029869485,-1111766417);WS(1058520191,-1103814144); +sum1=W(0,1017038583,-1136595532,-1118053743,1027978638)+W(1,1027734728,1016280509,-1128563239,-1097122909)+W(2,1045254802,-1109207324,1044218638,-1104843131)+W(3,-1107262661,1062837304,-1096672636,1033499055)+W(4,-1105442246,1058887264,-1085861660,1025985831)+W(5,1031430877,1040464732,-1103880229,1030848699)+W(6,-1126950445,1030731221,-1107144426,-1131329888)+W(7,1024536063,1029953906,-1145128486,-1109411553);sum2=W(0,1034702970,-1176551015,1007931783,-1110263367)+W(1,-1125598974,-1168898884,-1090251816,-1089294892)+W(2,-1114553387,1041527709,1067159008,-1085860022)+W(3,1027536136,-1101298022,1043575777,1061443693)+W(4,-1115924578,1036785061,1028484706,-1099982080)+W(5,1035052048,-1106074654,-1104273626,1042454777)+W(6,-1132148431,1030578400,-1148595850,1027614804)+W(7,1025333585,1024211757,-1114791455,-1123742626);WS(1061983711,-1098811342); +sum1=W(0,1012577103,1051270689,-1108510228,-1107438075)+W(1,-1126897281,1046420622,-1106195699,-1107699151)+W(2,-1105225996,1058683087,-1088411008,1036711743)+W(3,1024253613,1058369439,-1089548804,1026749110)+W(4,1053413654,-1097514912,-1118840551,-1116819519)+W(5,-1137207095,1052214131,-1096732498,1024709491)+W(6,1042674340,-1105013139,-1109015536,-1140694819)+W(7,-1109172700,1050302029,-1103000311,-1154413112);sum2=W(0,1018267361,1036503366,-1126101987,-1099489904)+W(1,-1110181012,1041828239,-1116783782,-1102883314)+W(2,-1146613180,1050199247,1071387060,1052019906)+W(3,1038715850,-1085432172,-1080125372,1047113133)+W(4,1024296823,1038941240,-1093021050,1035497971)+W(5,1036970119,-1123003584,-1114155200,-1112911441)+W(6,1022003098,1013422114,-1149124484,-1119585859)+W(7,-1124702635,1021003447,-1143100940,-1131838862);WS(1061194367,-1092415693); +sum1=W(0,1036390333,1051201914,-1104881972,-1115149537)+W(1,-1126263470,1053058480,-1172862130,1030237668)+W(2,1025725222,1054554894,-1093268199,1021350042)+W(3,1043857157,1047231542,-1076465248,1036659934)+W(4,1035642972,1057662314,-1087389459,1039247491)+W(5,1044002978,1050872286,-1093150623,1026362746)+W(6,998479342,1045022613,-1111846627,1017611295)+W(7,1045699251,1049392206,-1095910796,1018350484);sum2=W(0,-1129487679,1018376667,-1097777178,-1117386048)+W(1,1042193002,-1087595144,-1098446206,-1106566736)+W(2,-1108339354,1054016721,-1106280983,-1108034123)+W(3,-1095819059,1063707892,1068295659,-1104582586)+W(4,1041127864,1036978867,1052165187,-1102127104)+W(5,-1103499785,-1103064253,-1110264861,1036459063)+W(6,1034257999,-1103241982,-1135489703,-1104779766)+W(7,-1118637794,-1112191100,-1107248782,996655259);WS(-1094699455,1066131816); +sum1=W(0,1049793485,-1081848423,1059460685,1042128105)+W(1,1029004921,-1088299640,1048637514,-1139594888)+W(2,1050253240,-1084057276,1060796209,1026023615)+W(3,1043166228,-1084821317,1059873140,1020508084)+W(4,1029407446,-1084563631,1055943200,-1125172935)+W(5,1041612884,-1104203619,1047596309,1048504406)+W(6,1035949114,-1099802604,1050483936,-1115227886)+W(7,1012128942,-1096241030,-1105809528,1051471881);sum2=W(0,1060779432,1051802488,-1086062785,-1114203174)+W(1,-1118034101,-1097493973,998397725,-1112558489)+W(2,-1104519356,1057101737,-1092333837,-1099984065)+W(3,-1119327164,1060027297,1066349798,-1091352583)+W(4,-1101970936,1044004337,979464170,-1094257268)+W(5,-1106905521,1057962293,-1133317807,-1102635709)+W(6,1002331293,-1098665363,1046794021,-1094504499)+W(7,-1082144605,-1086721729,1070824403,-1114333706);WS(-1074268304,1079667699); +sum1=W(0,-1107189325,-1101508903,1054199089,1035260131)+W(1,1027760991,-1090199334,1054303683,-1107632246)+W(2,-1136873402,-1090363950,1062422475,1005391451)+W(3,-1113641470,-1087996124,1067750847,-1101800081)+W(4,1031162561,-1083961527,-1113534839,1034855959)+W(5,1033891144,-1096484091,1052689284,1046337921)+W(6,-1126712892,-1098094611,1031942551,-1150999418)+W(7,1035917755,-1093567651,1045977323,1042992013);sum2=W(0,-1109104193,-1100757902,1040683096,-1125509919)+W(1,-1121805095,1045040397,-1125556022,1026278254)+W(2,1045986101,1080470972,1049174250,-1112163985)+W(3,1048674700,-1080397282,-1095181876,1050380898)+W(4,-1091901802,-1070026310,-1122013099,-1131668233)+W(5,1048446997,1054845861,-1110936398,1033243862)+W(6,-1113936425,-1109557127,1038355211,-1144282357)+W(7,1027039508,-1113850952,-1103996340,1036778147);WS(-1085238047,-1082053459); +sum1=W(0,-1106787663,1039996894,1048926451,-1104330662)+W(1,-1138285833,1010512412,-1119213276,-1128637723)+W(2,-1108632776,1053399812,-1130975030,-1108017347)+W(3,-1094657608,1045540841,1010216242,-1096910157)+W(4,-1101713608,1051732998,1034301867,-1101323868)+W(5,1037328759,1044326914,1025236158,1015829447)+W(6,-1111697288,976543556,-1128978334,-1111437732)+W(7,-1109379868,1057105320,-1109745879,-1108664266);sum2=W(0,-1124623913,1025825838,1042257288,1021162350)+W(1,1032956443,-1119700813,-1135835500,-1114452863)+W(2,1027185909,1032253087,1053804277,-1109212782)+W(3,-1101336864,1046009611,1048892371,-1102267892)+W(4,-1094263361,1060071017,1036906607,-1105958464)+W(5,1029736763,-1108021530,-1101254223,1037505372)+W(6,-1112090109,-1111711122,-1115069322,996911332)+W(7,1039412150,-1092338318,-1114145526,-1125671849);WS(1060867039,-1136390908); +sum1=W(0,-1127355032,-1085412379,1049179798,1047055468)+W(1,1034805910,-1094311080,1049208039,-1108149971)+W(2,1035163860,-1093352008,1060583566,1036232649)+W(3,1029669941,-1084691216,1063283264,-1103012671)+W(4,1042066222,-1088428116,1058522472,1024178471)+W(5,1021674692,-1088125293,1055147879,1026233836)+W(6,1040577786,-1096644095,1050065089,-1126656770)+W(7,1021261983,-1091872390,1041474713,1049799631);sum2=W(0,1035672114,-1063752230,-1093487673,1013645866)+W(1,-1098827199,-1085747691,1041803367,1034418818)+W(2,1049155846,1077059336,1041184099,-1106855503)+W(3,1035178389,1075347264,-1096808218,1049524211)+W(4,-1107113032,1056308660,-1129382302,-1122362105)+W(5,-1144855824,1034654874,-1119639669,1030856901)+W(6,1035201737,-1121418857,-1122522987,1027103888)+W(7,-1127184278,1014935340,1011408026,-1115004359);WS(-1090674303,-1100343233); +sum1=W(0,-1120232797,-1091881416,1051419109,1036288004)+W(1,1040422273,-1094093465,1052500896,1023553551)+W(2,1026412864,-1085938046,1061270771,-1112170192)+W(3,-1138867958,-1089254334,1067891162,-1115349187)+W(4,1033879777,-1089797193,1060067146,-1112030904)+W(5,1033565615,-1085407367,1016645247,998486818)+W(6,1019476032,-1095206984,1041715172,1027103050)+W(7,988102399,-1105032111,1036835111,1040345019);sum2=W(0,1040618154,-1101425729,1012698939,-1121139419)+W(1,-1114130867,1043012943,-1135257643,1033653009)+W(2,-1122148687,1049717343,1047429512,1038119907)+W(3,1044229537,1078734719,1020747990,-1131387750)+W(4,-1110193301,1058416067,1045573328,-1162837210)+W(5,-1097134960,-1066172228,-1105653505,-1124290574)+W(6,1037070268,-1087270128,-1098650023,-1142454518)+W(7,1037459780,1051160418,1029335953,-1119987003);WS(-1083751903,-1076119444); +sum1=W(0,-1115245576,1056842307,-1093345814,-1108216057)+W(1,-1106029427,1054460828,-1096614035,-1118873130)+W(2,-1102084379,1062160243,-1087844584,1032187759)+W(3,-1113929101,1061549380,-1088621915,-1118044066)+W(4,-1115339007,1051628466,-1095344475,-1125935063)+W(5,1029734646,1034628298,1039622221,-1114025640)+W(6,-1110488366,1040780998,1023285463,-1103117229)+W(7,-1147960477,1027250487,1052549785,-1101242061);sum2=W(0,-1142266798,1041896729,-1109207785,-1116438034)+W(1,-1105635988,-1133541327,-1119640286,-1143926222)+W(2,-1108468488,1052249127,-1132044399,-1116983273)+W(3,-1104742183,1059101684,1057719514,-1107716245)+W(4,1004562934,-1116644500,1049160976,1036001553)+W(5,-1111519795,1022626513,1040987637,-1093640310)+W(6,1009402627,1036478091,-1103527129,-1115139384)+W(7,1007186587,-1114250343,-1094402391,-1102449905);WS(1032624635,1033521535); +sum1=W(0,-1131553039,-1098906814,1051615627,1045470610)+W(1,-1117491096,-1100587359,1047570260,1025984961)+W(2,-1112834618,-1081513385,1060987922,1036113314)+W(3,1049918570,-1078593782,1043587024,1040182861)+W(4,1045795365,-1105649745,1056209202,1012071435)+W(5,1016822387,-1092053629,1059398075,1032631435)+W(6,1035361729,-1096260814,1049440024,1023888652)+W(7,-1113168565,-1095243062,1051600524,1034850724);sum2=W(0,-1111826236,-1092384767,-1095745094,1034661269)+W(1,-1099208280,1027875109,-1100947515,1048636172)+W(2,1026789677,1064661507,-1112642295,-1098451609)+W(3,-1106561040,1062273543,1068550638,-1099981129)+W(4,-1093448876,-1087164405,-1104229197,-1118651857)+W(5,1046407154,-1108191451,-1106740917,1049739863)+W(6,-1102666308,1044380270,-1103404028,-1095995165)+W(7,1042570396,-1104593420,-1105841536,1048025970);WS(-1085606847,1061985400); +sum1=W(0,-1108997980,-1089905075,1057688104,1040581229)+W(1,-1117164584,-1114895517,1056544190,-1114811305)+W(2,1031768707,-1095264598,1062390314,-1107526493)+W(3,-1103105924,-1077801587,1055481056,-1110202349)+W(4,1041900981,-1097956992,1062127874,-1118208771)+W(5,-1110420181,-1088999487,1051900674,-1108027100)+W(6,1037113665,-1098379486,1048102065,1024450541)+W(7,1014163116,-1096151518,1057425872,1041210774);sum2=W(0,1025785873,1048760593,1035955606,-1126760968)+W(1,1048912334,-1090084783,-1119218892,1008603006)+W(2,-1096464036,-1114768213,1007739746,-1094704139)+W(3,1056133856,1066763200,1064934573,-1080670875)+W(4,-1104154812,-1086306359,-1089946445,1031309677)+W(5,-1121968309,1058187354,1050702067,-1125625514)+W(6,1033410161,-1113492694,1025685973,-1109240237)+W(7,1015120151,-1128581905,-1102128709,1039335694);WS(-1090966143,-1078936607); +sum1=W(0,-1116393227,-1086961670,1058706816,-1116819366)+W(1,-1108278025,-1108945587,1041859343,1035952359)+W(2,1051625062,-1086695325,1060094467,1041797992)+W(3,-1105522375,-1081986687,1059190367,-1104043025)+W(4,1058727904,-1089148367,1061098519,1053094890)+W(5,-1091195697,-1086453117,1055062080,-1093101306)+W(6,1052016408,-1092689140,1056115606,1015960496)+W(7,-1109728971,-1091172115,1058930855,1034498693);sum2=W(0,1023528661,-1118025227,1075422545,-1073269716)+W(1,-1119417071,1050920275,1065042273,-1077701631)+W(2,-1105978590,-1112399565,1069638520,-1078616397)+W(3,1009798795,-1098493686,1067662601,-1083676116)+W(4,1040834561,1036263434,-1093932676,1044144047)+W(5,-1111364082,-1124489419,-1079439326,1070390370)+W(6,1041397121,1048582480,-1078082886,1068400636)+W(7,1033368796,-1089345484,-1070108577,1077727906);WS(-1079921856,1049308945); +sum1=W(0,1030068962,-1165865787,-1187780005,1025440517)+W(1,-1133949626,-1118082277,-1108803021,-1111921110)+W(2,1050882798,1053008345,1038634079,-1120535059)+W(3,1018623990,-1094507016,-1106873963,-1104818073)+W(4,-1106924392,1052481994,-1087778738,1046575523)+W(5,-1146454049,1043504665,-1101591143,1041667424)+W(6,-1116987117,1047635255,-1101174683,1031519031)+W(7,1040905769,1026870489,-1110197734,1031554658);sum2=W(0,-1116556974,1059176005,-1096412953,-1114011261)+W(1,-1095066961,1038856572,1050790436,-1173649795)+W(2,-1100395256,-1076691076,1058179896,1024138419)+W(3,1050308919,1055715442,-1097771226,1040413046)+W(4,1040792410,1046498927,1039711359,-1106323994)+W(5,1032406727,-1123959066,-1106160519,1033840078)+W(6,1011901446,1028959950,1018212767,-1127468978)+W(7,-1141998384,1032868606,1038360912,-1107910389);WS(1060842367,-1123947436); +sum1=W(0,1024730985,1048950736,-1097448124,-1122548355)+W(1,1023159627,1047784339,-1098772880,1026072115)+W(2,-1105241169,1057388094,-1087773444,1037590622)+W(3,1017803651,1060112037,-1085451727,1037652837)+W(4,1037913699,1062491953,-1088044111,1034810634)+W(5,1035962309,1057656339,-1089872870,1033785172)+W(6,1028045772,-1114528913,-1102522557,1008900343)+W(7,1032728670,997860858,-1103124285,-1114288296);sum2=W(0,1026131421,1001103237,-1133854939,-1114822986)+W(1,-1112740722,-1121600279,1038637096,-1108393699)+W(2,1046858645,-1108221277,1037424280,1029862733)+W(3,1032928238,-1097923247,-1103185020,-1101308237)+W(4,1042166107,1069212508,-1120290433,1036213344)+W(5,1040344552,1057336110,1019342369,-1145606165)+W(6,-1082879617,-1095628134,1039461314,-1111520861)+W(7,-1091819295,-1107037379,-1122429445,1034167562);WS(1038606587,1058047160); +sum1=W(0,1026865207,-1095018974,1044423619,-1136300775)+W(1,1042118304,-1093024127,1048945010,-1117800769)+W(2,1051307036,-1082724754,1054092644,1005722288)+W(3,1033639368,-1100730470,-1097872036,1044405134)+W(4,1046742309,1036658562,-1091674216,1047528601)+W(5,-1109598961,1040951763,1033100505,1044812414)+W(6,1028927539,-1113143704,1030352835,1032954286)+W(7,1015037525,-1098528366,1047837568,1044220906);sum2=W(0,1050657429,1045860939,-1111592920,-1103122208)+W(1,-1103301852,1052242374,1013554208,-1106328874)+W(2,1060573163,-1100974944,-1111727364,1015168980)+W(3,-1091436731,1066745360,1055083328,-1113723980)+W(4,-1104427284,-1079344782,-1098647652,1051192034)+W(5,-1097267636,-1113016512,1034990326,1034643320)+W(6,1038196249,-1119497008,-1110499846,-1122594772)+W(7,-1107511544,-1113648424,1042188938,-1140986496);WS(-1095257599,1052962039); +sum1=W(0,-1106746181,-1097695335,1053309708,1036635571)+W(1,1031300369,-1111219488,1042046133,1032102291)+W(2,1046667354,-1083536631,1060606673,-1110849586)+W(3,1037361867,-1088861218,1053570633,-1103814096)+W(4,1040829967,-1107201338,-1101583222,-1130665360)+W(5,-1128966365,-1115618056,1033575580,1023220920)+W(6,1034540700,-1117058422,1029127944,1009452933)+W(7,-1115420664,-1138753100,1041019129,1041468947);sum2=W(0,-1137205193,-1089705070,-1116057142,-1106134583)+W(1,-1121249932,1025195792,1014073009,-1131583764)+W(2,-1137006201,1049206515,1040872535,1023734245)+W(3,-1101149788,1054529493,1044729510,1030258377)+W(4,1034796937,1039074115,1024555690,1045578999)+W(5,-1115985020,1050074620,-1108168105,1041497164)+W(6,-1140489533,-1104546681,-1105229574,-1131316168)+W(7,1026538132,-1103055048,-1093226929,1036128894);WS(1058062751,-1100017341); +sum1=W(0,-1129599006,1055064995,-1094744478,-1110864465)+W(1,1020928695,1054737968,-1108714620,1035506764)+W(2,-1098371705,1061839865,-1089137095,-1103907470)+W(3,-1111175932,1057524464,-1081607655,-1115102560)+W(4,-1108928286,1062722401,-1111400813,1038105413)+W(5,-1108487635,1039434185,-1089739654,-1103382940)+W(6,1028685770,1053936411,1037008853,1038153674)+W(7,-1134533769,1054765971,-1094983833,-1101904010);sum2=W(0,1046625968,1034733544,-1147999170,1026537136)+W(1,-1114205611,-1100522159,-1093312378,-1103988998)+W(2,-1097342682,1034693600,1057288295,1049229753)+W(3,-1079666171,1066071967,1059803421,-1114956972)+W(4,1041595755,-1087077400,-1088579916,-1104980683)+W(5,977545170,1062799024,1057064650,1050850828)+W(6,-1106070846,-1097179722,-1086854504,997711860)+W(7,-1145403458,1015933409,1055355590,-1115357129);WS(1033636603,-1075190676); +sum1=W(0,1030520392,1051253486,-1096251285,-1117233131)+W(1,-1125697208,1043969999,-1100430004,-1122877346)+W(2,-1114269946,1058583983,-1085953223,1036037681)+W(3,-1109653337,1064791929,-1093290764,-1109909101)+W(4,-1102211630,1057642082,-1088005167,-1123582788)+W(5,1032435172,1055881859,-1098086422,1029223000)+W(6,-1120127764,1033241689,-1102333361,-1125435099)+W(7,996293820,1053053914,-1119839106,-1103406294);sum2=W(0,-1120200303,-1113787644,-1109535466,1041916719)+W(1,1024626781,1041562727,-1106166077,1028143351)+W(2,1013431061,-1114475538,1029531851,-1097688999)+W(3,-1124733431,-1112371618,1051805575,1068535590)+W(4,1027814217,1032748777,1061661699,1074776935)+W(5,999438554,-1098117165,-1114245048,1029048009)+W(6,-1116912567,1042886038,1039886302,-1076933565)+W(7,1007930813,-1140542509,-1093997696,-1072079702);WS(1051996799,1040628126); +sum1=W(0,-1106876926,-1096999331,1064227732,1032518006)+W(1,1042171100,-1106536569,1056769919,-1132737450)+W(2,1014013938,-1087433914,1057736892,-1121739327)+W(3,1040804174,-1079279688,1052514885,1035728257)+W(4,1038633599,-1085040172,1059334684,-1115112214)+W(5,1024260165,-1090750082,1058371760,-1126170017)+W(6,1032103150,-1096245875,1051111478,-1129820331)+W(7,-1111941370,-1091794355,1050507101,1036168684);sum2=W(0,-1097197656,-1105938617,-1063141508,1047663602)+W(1,1040517176,-1119182790,-1072247475,-1106333570)+W(2,-1107105879,1048788314,1073986693,1017343300)+W(3,1050425804,1048225474,1082212097,1014706728)+W(4,-1108102513,1050055380,1063649950,1023560998)+W(5,1044838414,-1097162220,-1108483496,-1105252179)+W(6,1026907274,1028263310,1040597170,1016727612)+W(7,978890108,1043193320,-1096883524,1025416282);WS(-1079662656,1075711984); +sum1=W(0,-1136749190,1054381451,-1099895821,-1111920714)+W(1,-1108214827,1049467004,-1104318006,-1124862997)+W(2,-1112256994,1060357369,-1094055613,-1099490085)+W(3,-1102094902,1064079536,-1088977984,-1093653775)+W(4,1019461885,1058102849,-1094018397,1047054555)+W(5,-1113236619,1050217386,-1093377643,1026036560)+W(6,-1115387518,1046694646,-1102869707,-1122648846)+W(7,1015637672,1053154499,-1097489705,-1117787456);sum2=W(0,1021596406,-1120307380,1037868882,-1094559059)+W(1,1027700788,1049653321,1038499992,-1099826066)+W(2,1031902674,-1100871897,1074972319,-1070411479)+W(3,1035450862,1054975194,1073269037,-1076192259)+W(4,-1146279384,-1106853601,992333684,1024067187)+W(5,1036068426,1042197470,1032586692,-1107184127)+W(6,-1108044351,1034125536,-1129244749,1032061183)+W(7,1030087008,-1133477273,1010404410,-1104237818);WS(-1121360374,-1077155152); +sum1=W(0,-1105583845,-1092428892,1053987635,1036329976)+W(1,1042009047,-1091586093,1057449542,1039912928)+W(2,-1135496901,-1087526962,1037542524,-1114441548)+W(3,1057317824,-1088356100,1067018703,1035631092)+W(4,1037107234,-1084718223,1053143538,1024846769)+W(5,1028773828,-1086275726,1051794540,1020991498)+W(6,1042777544,-1096882940,1049337758,1032759069)+W(7,-1116736729,-1086839898,1050512766,1041911145);sum2=W(0,-1122349048,-1108922684,-1102817435,1024154790)+W(1,1027223630,1050237475,1047134367,-1105600910)+W(2,-1123059666,-1093984844,-1086242189,1041276041)+W(3,-1097496437,1061603028,1069845393,-1090292072)+W(4,-1101147358,1054912466,-1091188340,-1122818012)+W(5,1008041239,-1136134543,-1107987422,-1109079234)+W(6,-1113710228,1050990810,-1126348732,1047206075)+W(7,-1103013196,1037079763,-1097181289,-1109791787);WS(-1087087711,1067831143); +sum1=W(0,1034272753,-1110686621,1034360523,1006467012)+W(1,1043354114,-1094089577,1051348739,-1097882829)+W(2,1046815315,-1090322161,1056352764,-1098171061)+W(3,1041026663,1019000899,1049291409,-1099191041)+W(4,-1116058688,1048378971,-1098372646,1036956791)+W(5,-1131457456,1054466495,-1090870248,1036945505)+W(6,-1115558139,1045446607,-1103803571,-1124941614)+W(7,1032034947,1043401342,-1098529593,1026141794);sum2=W(0,1046033632,-1147554302,1021728539,1034466187)+W(1,-1114282503,1065651536,1061103542,-1117467216)+W(2,1044655964,1052996561,1047372498,1040544990)+W(3,-1106001859,-1076523823,-1081697027,-1105745303)+W(4,-1104436397,-1095873418,-1094800655,-1119054372)+W(5,-1101664028,1059971501,1058036758,-1110996319)+W(6,1015764662,1037179306,-1113369666,-1120190386)+W(7,1023732858,-1119149512,1033040332,1028498617);WS(1040537598,-1164677141); +sum1=W(0,1044447583,1058921623,-1079854668,1051360885)+W(1,987031402,1052904912,-1089009751,1009017491)+W(2,-1121775302,1059494147,-1082135643,1049103971)+W(3,1042738997,1059765434,-1085199868,1042102879)+W(4,1038434732,1053249925,-1087718171,1037325507)+W(5,1049696256,1045203303,-1094593271,1033340813)+W(6,1024826006,1049549231,-1098502833,1040792940)+W(7,1044766000,1032179929,-1111725730,-1103499809);sum2=W(0,-1105450770,-1076904032,1034745372,1064235564)+W(1,-1099930216,-1110661913,-1104228342,-1133206564)+W(2,-1087670985,1054929191,1055270313,-1159337186)+W(3,-1097641768,1067640588,1058849806,-1095527236)+W(4,-1093727900,1043325457,1055379319,-1097371942)+W(5,1034849198,1041628489,1047258529,-1123329564)+W(6,-1089823109,1024934811,-1091022953,1053074558)+W(7,1026936119,1071055811,-1093861556,-1079977593);WS(-1072228928,1076959210); +sum1=W(0,1049440860,-1102211417,1052420434,1046258910)+W(1,-1100954468,-1090494943,1049042513,-1094165323)+W(2,1040518102,-1089397123,1057628335,-1113742940)+W(3,1055014377,-1085929645,1059399711,-1115570152)+W(4,-1102413547,-1092416799,1055649007,-1095616949)+W(5,1056933930,-1103710088,1056457065,1054320058)+W(6,-1100924366,-1099959722,1043274798,-1096288332)+W(7,1025160513,-1097219837,1043339918,-1113497047);sum2=W(0,1037249746,-1091193116,1058952598,-1099278743)+W(1,-1106259401,1057292562,-1089499743,1035766214)+W(2,-1118512137,1045032769,990544085,-1120311473)+W(3,1033553146,-1101074553,1052938455,-1107284433)+W(4,-1118437421,1047290760,-1096914685,1032001159)+W(5,1049532353,-1085599381,1060306657,-1105441959)+W(6,-1112295163,1045403080,-1095081062,1037527897)+W(7,-1112769969,1036239865,1036770528,-1117837555);WS(-1095248895,-1088416713); +sum1=W(0,991086878,-1112623265,1049658160,1025280780)+W(1,1041397006,1023033498,-1129854724,1018002536)+W(2,-1100414321,-1095527100,1056723856,-1101036339)+W(3,-1106522737,-1085500137,1061179113,-1098081679)+W(4,1032194452,-1103431285,1050067968,-1121954805)+W(5,1040515607,-1093888960,1055178889,1040437430)+W(6,-1113785099,1025813699,1027165141,-1107604207)+W(7,-1119710941,-1112974208,1044420741,-1122583614);sum2=W(0,-1115281709,1049351198,-1101546004,-1132663474)+W(1,1038308115,-1105447726,1044927538,1036918381)+W(2,-1086190321,1061131477,-1105825160,-1104633062)+W(3,-1079410563,1070791012,-1124003323,1035199903)+W(4,1055352031,-1080774986,1054621998,-1119052371)+W(5,-1106071111,1050939464,-1100497740,1038597174)+W(6,1042421121,-1096576742,1042910101,-1126972585)+W(7,999244165,1021655353,-1123561791,-1141223925);WS(1057802399,-1081431823); +sum1=W(0,-1122831751,-1093480916,1050038833,1031929377)+W(1,-1131892376,-1097592621,1050095280,1003466633)+W(2,1041203877,-1087992005,1058335651,-1150646211)+W(3,1034931072,-1086955360,1062569267,-1108251076)+W(4,1020249162,-1094219074,1052617634,-1123920403)+W(5,1023514439,-1099624791,1053253320,-1110979235)+W(6,-1183605377,-1104094712,1037479577,1022403704)+W(7,-1102408215,-1103351679,1047799764,1031403703);sum2=W(0,-1104748298,1032567526,1030425414,1028805714)+W(1,1035677532,1015597088,-1106402955,1010146816)+W(2,-1097271446,1042180726,1036072793,-1122721452)+W(3,-1071563129,-1131466492,1026492053,-1139412188)+W(4,-1073203825,-1088097679,1021201077,-1121571686)+W(5,-1105574565,1049167232,1046304011,1013464552)+W(6,1074066983,-1104411749,-1108010622,-1115684312)+W(7,1076846054,1054919113,1040423027,-1159010626);WS(1057159391,-1098185256); +sum1=W(0,-1115997840,1062337777,-1099145229,-1108105457)+W(1,-1139848194,1059107990,-1096884471,1026934458)+W(2,-1110900998,1058844902,-1083284577,-1128707950)+W(3,1040272534,1060188982,-1081840204,1050661700)+W(4,-1124007614,1050305613,-1086268415,1025671020)+W(5,1022311680,1055455830,-1088086212,1018441343)+W(6,-1122049771,1052112283,-1093503993,1032949738)+W(7,1025640163,1058488623,-1095187909,-1115150240);sum2=W(0,1056249112,-1063663228,-1090194820,-1098679170)+W(1,-1087901783,-1065703489,1049313091,1049727089)+W(2,1050240307,1050922399,1059446328,-1118968312)+W(3,-1096100666,1074103439,-1091782161,1043947681)+W(4,1050011361,1078895155,1051412884,-1103451878)+W(5,1046757851,1075028289,999915799,1046896549)+W(6,-1111613200,1011769164,-1097222567,1036070334)+W(7,1031802636,1041242105,1040180956,-1120669738);WS(-1076050352,1072169512); +sum1=W(0,-1112010473,-1127017300,1032805651,-1127012698)+W(1,-1110549812,-1096217239,1055039585,1017026201)+W(2,1041474168,-1101316183,-1107675851,1027743346)+W(3,-1102358403,-1098236010,1058693100,-1103052317)+W(4,1035256808,-1097462672,1050718238,1025923518)+W(5,-1103941101,1015309803,1047069339,-1108585145)+W(6,-1126807163,-1109990262,1040782175,1029935559)+W(7,-1127729580,-1124828306,1033573870,1030091394);sum2=W(0,-1115222730,1013406324,1048651312,-1105744683)+W(1,-1103808603,1044516259,-1091636530,1036643390)+W(2,-1133607278,1056099238,-1082257366,1056116581)+W(3,1035011293,-1093760521,1065398243,-1087652578)+W(4,1045426354,-1097063741,1052543946,-1106429625)+W(5,1005150868,1046105407,-1105190986,1031045850)+W(6,1038138903,-1106358807,-1143243436,-1129675875)+W(7,1014354189,1034790704,-1124610775,1033997397);WS(1065781680,1039008007); +sum1=W(0,1041247860,1052873269,-1087848896,-1122380132)+W(1,-1132228043,1052030887,-1090939837,1043969975)+W(2,-1116017645,1057769989,-1086321043,-1167945460)+W(3,1029031978,1065817909,-1090130600,1043124941)+W(4,-1114552992,1059292430,-1093123180,1037414446)+W(5,1018467582,1052683781,-1089813139,1037105136)+W(6,-1119698444,1045381867,-1093950448,1016187596)+W(7,1039500994,1042767258,-1088918334,-1139723011);sum2=W(0,1038177586,-1105284792,-1114385091,1023745983)+W(1,1024852101,-1131141686,-1105200928,1044997454)+W(2,1031995320,-1123455081,1057384109,-1102654886)+W(3,1016571646,999573799,1073904332,1045931554)+W(4,1033741319,-1107419527,1075963065,-1113399825)+W(5,-1108656521,1052574782,-1130292726,1041285787)+W(6,1035134998,-1099142208,-1072886122,-1101763500)+W(7,-1120710323,-1103717942,-1070457563,1044467987);WS(-1090516543,-1087531312); +sum1=W(0,-1105337757,1040358473,1026287071,-1112133319)+W(1,-1135375282,1025750638,-1109155234,1043065477)+W(2,-1113059195,1034124454,-1111070925,1049735832)+W(3,-1111479074,-1082649657,-1113637434,1048811350)+W(4,1044282546,-1098312091,1056333811,-1104740686)+W(5,1036163039,-1114570479,1044131649,-1111303053)+W(6,-1123738614,-1112260786,1049914271,-1128712224)+W(7,-1110047807,1044483760,1039433994,-1136462731);sum2=W(0,-1122757257,1027164873,1002742314,-1111953049)+W(1,1009904581,-1112829049,-1115430893,-1116391321)+W(2,-1113467627,1020364514,-1098221748,1025748661)+W(3,-1099518373,1064179702,1059311413,-1098741962)+W(4,1032421699,-1092934445,-1139891301,1036551469)+W(5,-1095677862,1039050377,1041708988,-1119491053)+W(6,1020800146,-1106885375,-1124766450,1025848261)+W(7,-1112743661,1022655162,1032689603,-1122814953);WS(1059528063,1057564569); +sum1=W(0,993737087,-1096201122,1052073475,1036364765)+W(1,1023855952,-1112481934,1044928820,-1119101474)+W(2,1051519336,-1089271861,1057871347,1026047377)+W(3,-1100822612,-1101379550,-1090210244,-1095066725)+W(4,1027584566,-1129312776,1027452795,1043887545)+W(5,-1109486813,-1101173547,1051680014,1038809676)+W(6,-1127107174,1031993577,1038521522,-1152581582)+W(7,1035631854,-1097162722,1050823828,1037595092);sum2=W(0,-1106514375,-1115270098,1025588625,-1109616345)+W(1,1034094594,1029678117,-1103891997,1044342701)+W(2,-1112949179,-1095879627,1029083209,-1107320484)+W(3,1009317700,1052560633,1062070608,-1103446924)+W(4,-1126355148,-1128108776,-1100067512,-1131810302)+W(5,1021633582,1034084538,1035054672,-1098743078)+W(6,1010987268,1040297892,-1117785257,-1123491293)+W(7,-1106252693,1049223604,990783407,-1102218346);WS(1061977215,-1122204685); +sum1=W(0,-1124031333,1053794732,-1090279300,1017895407)+W(1,-1109554099,1053305789,-1096176108,1027213295)+W(2,-1105250724,1058003360,-1093816822,1024566052)+W(3,1036027519,1059361796,-1081723655,1033714163)+W(4,959521497,1055117810,-1090510080,-1125004641)+W(5,1055353398,1051669497,-1097892492,1006220452)+W(6,1038275624,1037705519,-1101480172,-1112881733)+W(7,-1136942561,1047158647,-1098784634,-1145512357);sum2=W(0,-1113155109,1028856727,993552399,1036996819)+W(1,1032430477,1021325630,-1128331832,-1139715524)+W(2,-1105712018,1050891972,1042508384,-1111526035)+W(3,1048044904,1070862297,1042132916,1040898786)+W(4,-1081128362,1074403261,1044319918,1025048067)+W(5,-1070110178,1035516985,-1115800491,1038841221)+W(6,-1092435520,-1108990845,1033559089,-1119663830)+W(7,-1092804751,-1122256510,-1109033129,1007165668);WS(-1096328959,1070879408); +sum1=W(0,1047483149,1056909741,-1084253114,1043610432)+W(1,-1131726569,1050717891,-1097194674,-1120381614)+W(2,1017405984,1049879450,-1084428714,1029856307)+W(3,1016192218,1064784543,-1088019878,1046790989)+W(4,-1134185032,1054175424,-1087922381,1044095416)+W(5,-1130210629,1055866677,-1096076442,-1106891777)+W(6,1039283496,1052923070,-1098682228,1045347898)+W(7,1022798351,1050331269,-1089646420,-1103492015);sum2=W(0,-1096731787,-1092572599,-1072213302,1074300082)+W(1,1041094096,-1083918511,-1081783724,1061218424)+W(2,1030029833,-1081752188,-1088492050,1062246408)+W(3,-1134738767,1050600846,-1098909280,1055931246)+W(4,-1112066554,1060518769,1054813136,1030722387)+W(5,1049526473,1056806956,1066457366,-1080408758)+W(6,-1103571503,1052566197,1061557517,-1082314750)+W(7,1038503381,1040255570,1074348460,-1074863778);WS(-1093955647,1022010191); +sum1=W(0,1027472455,1051129150,-1126583382,-1110971745)+W(1,-1118029508,1040858863,-1110637352,-1129027011)+W(2,1017520774,1058284788,-1083829535,1043546956)+W(3,-1100976252,1064764899,-1092969620,1032062845)+W(4,1048038797,-1094249656,-1093269900,1049944248)+W(5,1019653215,1054989120,-1098669306,-1114080636)+W(6,1015004427,-1137681219,-1101321193,1039113958)+W(7,1006149335,1047833420,-1092663640,-1120661351);sum2=W(0,-1125700855,-1109340305,1041739108,-1138307987)+W(1,1010923567,-1099241242,-1121076246,1010348245)+W(2,-1097524591,-1097784845,-1122648580,1043843262)+W(3,-1086770251,1061340682,1059475190,-1104554020)+W(4,-1119687254,-1091236020,-1097965354,1042867821)+W(5,-1136610695,1059369820,1048517727,-1105357691)+W(6,1034141799,-1103210716,1020884025,1021404807)+W(7,-1146172877,1042204527,-1117941982,1026766467);WS(1057685119,1067243116); +sum1=W(0,-1129459555,-1098308652,1053516928,1029422892)+W(1,1016923756,-1100618635,1049587364,-1111775882)+W(2,1004671913,-1090418529,1057639529,-1114348966)+W(3,-1095493364,-1088191051,1065512192,-1112549294)+W(4,-1098633785,-1089905135,1058720438,-1103551521)+W(5,-1112175056,-1101363479,1052631981,-1111153757)+W(6,1046138501,-1106099897,1043712557,995391206)+W(7,-1131471418,-1097291652,1052947846,1020473821);sum2=W(0,-1131225411,-1140292462,1018110051,1018006973)+W(1,-1130956898,1023877693,-1137158572,-1128428036)+W(2,-1103681442,1042914798,-1224504659,1020723155)+W(3,-1077027280,1069127322,1043315619,-1147115303)+W(4,-1076028808,1071847872,-1120948958,1020554514)+W(5,1031803188,-1103125793,1043270022,-1133954299)+W(6,-1101294062,1043076855,-1113817590,990350747)+W(7,949706042,-1132087796,1015417250,1025989218);WS(-1097928959,-1082976358); +sum1=W(0,1027664520,1057835343,-1089326063,-1108038941)+W(1,-1123678010,1050550727,-1096462854,1032858337)+W(2,-1106569905,1057764410,-1083721351,1021803093)+W(3,1052451146,1062299789,-1087127986,1042469806)+W(4,-1103556709,1049034640,-1097735566,-1104920125)+W(5,1038567635,1057826487,-1094118206,1031016631)+W(6,-1108799690,1041175724,-1100805265,-1129264698)+W(7,1040222651,1060823717,-1089053734,-1107162784);sum2=W(0,1059738223,-1087082495,-1092378156,1034470847)+W(1,1048150071,-1095900368,1046247330,1025055065)+W(2,1052511773,-1108343021,1033545850,1045395587)+W(3,-1080186607,1063110279,-1090059649,-1094453880)+W(4,-1078381471,1074904245,-1107095292,1053230483)+W(5,-1072132845,1071639576,1039712953,-1103894182)+W(6,-1071450961,1076364217,-1113577164,1032308634)+W(7,-1071397334,1077341373,1049211915,-1120241798);WS(-1093482751,1040242403); +sum1=W(0,-1101135214,1051279307,-1160860306,-1112732162)+W(1,-1123956286,1045008905,-1106067054,-1135242283)+W(2,-1107524598,1049489177,-1101021318,1029341500)+W(3,-1138012647,-1132973569,-1113266773,-1121978915)+W(4,1034129455,-1096848358,1049504725,-1098727290)+W(5,1042720691,-1098383795,1059206814,-1102892456)+W(6,-1130324184,-1104810279,1049756222,-1104163113)+W(7,998898338,-1118268600,1052043149,-1099073308);sum2=W(0,1050603120,1055811875,-1086548128,1034695967)+W(1,-1101078445,-1122671355,-1087609936,-1108269543)+W(2,1048531671,1038805789,-1088336312,-1089139562)+W(3,-1105220793,1066111209,1071017234,-1104320030)+W(4,-1091713187,1026095418,-1115602704,-1100901763)+W(5,1034851673,-1130092003,-1089969509,1049804877)+W(6,-1122031169,-1137910742,-1121274059,-1103744367)+W(7,1020293663,-1094690648,1053616941,1054827086);WS(-1112146683,-1077736475); +sum1=W(0,-1128590341,-1099064529,1049253908,1039097715)+W(1,-1130792414,-1090490649,1028859267,1017948777)+W(2,-1147973299,-1086623314,1040872136,1025770233)+W(3,-1117834531,-1101063739,1068918685,-1115616742)+W(4,1007065251,-1084449173,1059458719,-1104116690)+W(5,1033724609,-1094725676,1057886934,-1132647657)+W(6,1024083798,-1097837640,1044653558,998082042)+W(7,-1122914526,-1097461352,1048946351,1030833130);sum2=W(0,1038545045,1044965772,1038508364,1032278560)+W(1,-1104316542,-1073797636,-1092377302,-1115941315)+W(2,-1098913527,-1069601753,1050236814,-1109127211)+W(3,1054073276,1079919017,1044931722,1042591612)+W(4,990615436,1065620582,1034922622,997021068)+W(5,-1111960943,-1103381017,1033398315,1042220416)+W(6,-1127436605,1039512539,-1113162193,-1138197651)+W(7,-1131799749,-1105195767,1039327537,-1121388557);WS(-1090505151,-1074550453); +sum1=W(0,-1112838599,-1106878250,1057615003,-1131143051)+W(1,1028498739,-1103427629,1042960070,1023192930)+W(2,1023419227,-1088602192,1063645564,-1096958907)+W(3,-1117182312,-1088941275,1053033883,1048242260)+W(4,1018948122,-1087514842,1058641540,-1098164287)+W(5,-1126145258,-1096920942,1043052986,1045189988)+W(6,1024711581,-1096615233,1050742275,-1105551137)+W(7,-1125422420,-1095073209,1053972531,1026824959);sum2=W(0,1051549752,1021553919,-1106404197,1031994963)+W(1,1081443218,-1111116920,1044837835,-1113046369)+W(2,1072492444,-1073777225,-1113676512,1032624041)+W(3,1048388769,-1067599847,-1089379201,1025956540)+W(4,1035162847,-1096587672,-1109546151,1027498280)+W(5,-1139079606,1029232562,1030543674,-1132168419)+W(6,-1121149576,-1115288719,-1122606689,1034044071)+W(7,-1123800689,1042218632,-1125599605,-1115044631);WS(1051119487,1041244378); +sum1=W(0,-1124974044,-1137238551,-1116593698,-1121323393)+W(1,1028120435,-1113671305,-1103177170,1033078132)+W(2,1048876359,1036964902,-1099611151,-1156053771)+W(3,1037118035,1061504071,-1104164974,-1129960608)+W(4,-1131477080,1047204942,-1081804989,1048068278)+W(5,-1118427428,1050660570,-1114906180,1011539382)+W(6,-1120234265,1030267847,-1098831475,1035846233)+W(7,-1125985859,1049717597,-1103929310,-1115091743);sum2=W(0,1018090488,1027537220,1019973834,-1117503915)+W(1,-1104952272,1048078363,-1095697091,1045164128)+W(2,-1105226064,1055192952,-1101823824,-1106818318)+W(3,-1128161694,-1102612387,1074095781,-1087428157)+W(4,-1134153828,-1102761937,-1074759173,1061969021)+W(5,1024328280,-1101688104,1063478353,-1092430375)+W(6,-1118410723,1035228556,-1092594125,1050476000)+W(7,-1117225997,1016223417,1041310640,-1110796930);WS(1062303263,1031082743); +sum1=W(0,-1113216195,1050954912,-1095964628,-1121789260)+W(1,-1099215391,1012178225,-1095180416,1027015379)+W(2,1052151297,1065129152,-1088785601,1041954507)+W(3,1026092610,1047492794,-1089641431,-1107401421)+W(4,1051942565,1063700475,-1089295544,1049634587)+W(5,-1098039588,1049517720,-1091476104,-1112964196)+W(6,-1101893697,1028060738,-1102410709,1035520455)+W(7,1008063218,1054989200,-1096414030,-1114231491);sum2=W(0,1033145987,-1175661064,1021827842,-1165845202)+W(1,-1111827051,-1152013649,-1104895942,-1187919119)+W(2,-1103256184,1050523165,1034611383,-1125020091)+W(3,-1063595607,1084357731,-1094652398,1042933311)+W(4,-1101985731,1048919805,1029250458,-1108910008)+W(5,-1141099147,1025442742,-1102082303,1040766920)+W(6,-1136421288,-1145624409,1021034188,-1126731425)+W(7,1030655939,-1133270551,-1121842648,1017996705);WS(1057958943,-1104691893); +sum1=W(0,-1111014615,-1105424217,1044401084,-1118336456)+W(1,-1128240917,1046008396,-1100901945,1038452148)+W(2,-1146251723,-1090082375,1057785284,-1119525902)+W(3,-1095236657,1054329938,1040293502,-1093887914)+W(4,1047913107,1003615948,-1099597392,1045607070)+W(5,-1103203951,1013130820,1051440085,-1107674167)+W(6,1033356080,1044802714,-1102604718,-1113361665)+W(7,1023941889,-1101796865,1036253756,1037874639);sum2=W(0,1010987018,1041119120,-1110188142,-1127404253)+W(1,-1105807463,-1111572952,1045029856,1029477872)+W(2,-1102396693,-1117220749,1057260834,1019931869)+W(3,1054217500,-1087890507,-1087358521,1056265374)+W(4,-1123211893,1070205457,-1081682663,-1091128546)+W(5,1029628166,-1101117061,1051101181,-1124058781)+W(6,-1106898625,-1113015450,1042553654,1025549544)+W(7,1028744914,-1121743361,-1135525482,992401866);WS(1063883327,-1171419961); +sum1=W(0,-1131801844,1049833398,-1102183011,-1101850371)+W(1,1021098616,-1123871229,-1097479398,1031224740)+W(2,1022023532,1009731296,1056730033,-1123343997)+W(3,-1121742227,1044941350,1041013425,-1127214008)+W(4,-1090925859,1060653970,-1095529687,-1107029405)+W(5,1024490200,1043051923,-1097251239,1042080318)+W(6,-1102607801,1048967870,-1104750961,-1107657120)+W(7,-1123544461,1050859794,-1097963532,1009310536);sum2=W(0,-1106082604,1047581965,-1097195715,-1113941985)+W(1,1041248381,-1108094251,-1105642610,-1131232309)+W(2,-1132935321,-1111186257,1042983438,1050509566)+W(3,-1106587714,1050591326,1048334662,-1103031697)+W(4,-1104172881,1039028256,1046273630,-1127691207)+W(5,-1118244665,1025922877,-1128737701,-1115007353)+W(6,-1115368488,-1111866155,1044426238,-1112751356)+W(7,-1139264801,-1104769894,-1122157893,1031938310);WS(1064944927,1037595256); +sum1=W(0,-1116864018,-1089228760,1063040538,-1107296590)+W(1,1023806679,-1095304482,1057549004,-1106875789)+W(2,1017115436,-1087165700,1060715233,-1103245163)+W(3,1009660557,-1086682215,1064233001,-1106392275)+W(4,1028149000,-1088874517,1056983460,-1132085516)+W(5,-1109610248,-1099761351,1052917089,-1107160974)+W(6,-1148661421,-1116139780,1041500021,-1129006079)+W(7,-1102752831,-1131587330,1045020525,-1152394658);sum2=W(0,1045832950,-1084008560,-1084775302,1058474163)+W(1,-1110716731,1049995423,-1093173621,-1102301410)+W(2,1025147898,-1089165996,1054478967,-1128684365)+W(3,-1098226948,1066542501,1068786857,1031931484)+W(4,-1099749141,1049362032,1047038722,-1091779956)+W(5,-1098250414,1055260506,-1126019654,-1105326436)+W(6,1042544569,-1086997229,-1127724076,1053449115)+W(7,-1089530617,1067285885,-1088213452,-1090548395);WS(-1082101344,-1089856493); +sum1=W(0,1050831902,-1105691402,-1101015969,1029275441)+W(1,-1112019073,1030717682,-1098775681,-1120813832)+W(2,1030303546,1055521064,-1097748442,-1139280937)+W(3,-1129997454,1064695661,-1085520515,965412887)+W(4,-1110327174,1061962758,-1086646154,1041358014)+W(5,-1117704076,1058754169,-1089610799,-1122362798)+W(6,-1112251093,1047731210,-1093958751,1028938947)+W(7,-1131596868,1056158989,-1094349907,1016935004);sum2=W(0,-1065128139,-1101130808,1034565987,-1119435550)+W(1,-1076824095,1050826865,-1109355365,1023890205)+W(2,1067439244,1046966330,-1109830496,1012867020)+W(3,1079260085,1049869634,-1112614302,1015248786)+W(4,1056740148,1051236860,-1123646153,-1122661198)+W(5,-1103928218,-1114183173,1051726295,-1136992532)+W(6,-1135208116,1033256035,1035002893,-1119472799)+W(7,1039164015,-1104627926,-1109091637,-1136910724);WS(-1090711679,1035967541); +sum1=W(0,-1111795270,-1104454427,1050513973,1030482278)+W(1,1015715144,1029360119,1050454265,-1138269301)+W(2,-1118064815,-1084526809,1063535365,-1132452908)+W(3,-1124564760,-1083278737,1060834888,1007072853)+W(4,1033380937,-1083950349,1050327592,1028355007)+W(5,1041725555,-1091233609,1054941014,1029566323)+W(6,1039158191,-1102432923,1040417584,-1140656289)+W(7,1036708611,-1097260861,1042099839,1035976950);sum2=W(0,1030795338,-1099705557,-1100315818,-1124401732)+W(1,-1104698754,-1088930785,-1129318753,1047822852)+W(2,-1086482027,-1087114188,-1088371087,1041847465)+W(3,-1086674278,1063363970,1059258270,1007827043)+W(4,1048689193,1066258058,1052412907,-1114489829)+W(5,-1101252049,1055138353,1035784301,1039056173)+W(6,-1127107620,-1113111809,-1107499570,1036879119)+W(7,-1097010897,1050900036,1046424313,-1112035485);WS(-1098505599,-1075865372); +sum1=W(0,-1119631078,-1131715643,-1121509433,-1113178620)+W(1,1024188415,1032178901,-1128987132,1024883696)+W(2,-1125460739,1056750314,-1131145214,-1114020928)+W(3,-1113150415,1055366257,-1096447994,-1102601578)+W(4,-1098117352,1063530169,-1086227497,-1111953177)+W(5,1028789822,1038512989,-1117796833,-1101470933)+W(6,-1115205937,1036256496,1016180195,-1141768534)+W(7,-1134520549,1042179631,1032402616,-1114797153);sum2=W(0,-1098762498,1039073687,1035541163,1030962008)+W(1,-1112826554,1047439072,1032611741,981436096)+W(2,-1099883844,1024348972,1050751610,1048715774)+W(3,-1090598021,1068429254,1066295533,-1089341195)+W(4,1060690639,-1078855206,-1081223881,-1094541311)+W(5,-1101866176,1052294530,-1097770507,1041458546)+W(6,1051055486,-1095975199,-1126362074,1044471119)+W(7,-1111565268,1034134076,-1121819739,1024624177);WS(1057165023,-1106509195); +sum1=W(0,-1110663097,-1090373040,1057389257,1036322023)+W(1,1023353031,-1094296089,1051297995,-1110472134)+W(2,1009641338,-1087820187,1064196683,-1103525103)+W(3,-1116674588,-1090764772,1064337073,-1108191858)+W(4,-1121179137,-1101809276,1058239248,-1105116828)+W(5,-1127866586,-1095695571,1053143796,-1130262917)+W(6,1019708412,-1097119704,1049182394,-1117889432)+W(7,-1105922998,-1088811352,1042633923,1047174317);sum2=W(0,-1112942365,-1106822390,-1102090209,1043730009)+W(1,1048482322,-1115190843,1042851055,1035412483)+W(2,-1100072975,1034045428,-1103979279,-1105576965)+W(3,-1097118067,1068163863,1056641862,1028572696)+W(4,991349250,1063618710,-1105663689,-1113934073)+W(5,-1108096389,-1107942623,1049912171,-1105853831)+W(6,1053525633,-1090492700,-1130278628,1039916278)+W(7,1000921969,-1076676559,-1111476815,-1106999228);WS(-1086493375,-1079336981); +sum1=W(0,977772865,-1102983835,1026410857,1015269519)+W(1,-1123924042,-1108602044,-1098146918,1049374456)+W(2,-1109993624,1041059645,-1106936850,1036994068)+W(3,-1107908519,-1094902379,1061697492,1041174790)+W(4,1036636329,-1083260999,1061962303,-1103125248)+W(5,1038934102,-1084987377,1057432285,-1125738921)+W(6,1034769240,-1102484540,1051050960,-1130650164)+W(7,-1099048778,-1108629750,1050989872,1040252563);sum2=W(0,-1104970914,1042634099,1052960430,-1112577728)+W(1,1018133697,-1097448347,-1108255972,-1096543501)+W(2,1040842491,1055662701,1062139198,-1090800341)+W(3,-1093587851,1074010545,1064732329,-1093194079)+W(4,-1093237537,-1089724369,-1083390778,1015865539)+W(5,-1102375178,-1099392752,1025575413,991452982)+W(6,-1099804326,1049771835,-1104347883,-1126119433)+W(7,1054809337,-1092159031,-1096888027,1028159711);WS(-1088469887,1068090411); +sum1=W(0,-1113244581,1001301201,-1115331947,-1124374314)+W(1,-1123900274,1023861926,1035790701,-1105829923)+W(2,1049496346,-1082959002,1057295251,-1096521435)+W(3,-1110903326,1050701400,1048296635,-1119292644)+W(4,-1119953152,1060902689,-1081663133,1048590454)+W(5,1031904934,1043052181,-1113327662,1027826066)+W(6,1034227191,1043817559,-1110964279,-1106468266)+W(7,1025939062,1038313117,1034951606,-1117293966);sum2=W(0,1046922708,-1106472578,1033443280,-1111979165)+W(1,1033420508,-1114867820,-1109208012,1050643686)+W(2,-1112865289,-1087802072,1020845388,-1101832932)+W(3,-1096930035,1058113813,1048730658,-1129026525)+W(4,-1101802092,1050476308,1059721445,-1104558996)+W(5,1017341032,-1103417477,-1107242470,-1135034393)+W(6,1036773342,-1105807138,-1136542442,1037376476)+W(7,-1107450994,1033379085,-1104249476,1023773731);WS(1052578175,-1092643724); +sum1=W(0,-1106584961,-1102735475,1053304083,993436516)+W(1,1030893452,-1100779014,1049737317,1037510015)+W(2,1033955624,-1082492039,1060101900,-1101687426)+W(3,1037358070,-1086815439,1065824329,-1103135573)+W(4,1036710537,-1088009424,1041943502,1029815263)+W(5,-1128189432,-1095075429,1057719155,1040440469)+W(6,-1118327615,-1106908643,1051335460,-1106074638)+W(7,-1129060558,-1102841939,1036237087,1027836379);sum2=W(0,-1115440098,1015710974,1041402597,-1130229431)+W(1,1029771501,1033337736,-1114856806,1034787000)+W(2,1018065220,-1094728975,1037520917,-1082769104)+W(3,999202537,1039453548,1064530169,-1074584982)+W(4,1036811205,1050012979,-1094040689,-1090370130)+W(5,-1111720654,1032576025,1073761042,1032162938)+W(6,-1125064265,-1103861773,1063409170,-1105633547)+W(7,1019498859,1040788513,-1090935047,1034133532);WS(-1104397694,1058392920); +sum1=W(0,1012876448,1051523414,-1094911217,1023486907)+W(1,-1126111401,1050625047,-1106828476,1033392977)+W(2,-1142522206,1043902243,-1089440467,-1119682235)+W(3,-1115125816,1063861817,-1093833780,1019625524)+W(4,-1103048369,1056801600,-1087921625,-1096529922)+W(5,999529969,1053396405,-1107310585,1015514383)+W(6,1016404519,1042081404,-1104958721,1039287934)+W(7,-1117545451,1054067798,-1097217844,-1113687714);sum2=W(0,-1130009672,1013515790,1013756514,-1153587550)+W(1,1027809153,-1106180134,1023886448,1024050371)+W(2,-1106384796,1042067106,1052609397,-1094102229)+W(3,1051460883,-1094561503,1078005003,-1070026280)+W(4,-1104521112,1032257325,1072194837,-1075632186)+W(5,1033821004,-1124940473,-1094906083,1053282219)+W(6,-1112259960,-1168427353,1046140857,-1098407638)+W(7,1028508475,-1120291522,-1140922271,1033718481);WS(1063327007,-1121248448); +sum1=W(0,1017612078,-1113236667,1042967269,1035231217)+W(1,1043030576,-1096763312,1049218219,-1115130868)+W(2,1039059525,-1091103118,1058517677,-1107367965)+W(3,-1115811128,1053297652,1033504868,1009543939)+W(4,-1095615210,1063340055,-1082785422,1047061435)+W(5,-1099887459,1054079124,-1088587000,1042859328)+W(6,-1140707177,1041492110,-1101731443,-1120288724)+W(7,-1120397682,-1126620524,1029718569,-1104957341);sum2=W(0,1037909727,-1119813454,-1099212072,1032936033)+W(1,-1098298527,1048025725,1045330821,-1097673782)+W(2,-1126569464,1041835288,-1106229244,-1109675885)+W(3,-1106955476,1067026849,1067954224,-1092590328)+W(4,-1096969233,-1085288934,-1095495837,1004812688)+W(5,-1118592354,1042571631,-1108169766,-1096486003)+W(6,1042882430,-1117602980,-1164085849,1034064234)+W(7,1037216424,-1116313332,-1100305071,1045459772);WS(-1114652667,1051933605); +sum1=W(0,1026700110,-1102428549,1043087092,-1109604752)+W(1,1037508767,-1105027032,1048715843,-1113263092)+W(2,-1128033780,-1106431647,1062796090,-1098797270)+W(3,1034155035,1043250735,-1089603768,1023780992)+W(4,-1102462575,1059213449,-1090890112,-1112475685)+W(5,1024543544,1038435705,-1106007014,-1121524254)+W(6,-1147042251,1038748492,-1119096106,986589794)+W(7,1032374633,1016229610,-1104514210,1007891224);sum2=W(0,-1129141996,1043866561,1029019378,1050935854)+W(1,-1106880495,-1096921120,-1092013580,-1111274547)+W(2,1031191254,-1123077406,-1086673510,-1096956427)+W(3,-1102244397,1064276171,1064706574,-1115781076)+W(4,-1101040753,1061828176,-1113110329,-1106057540)+W(5,1046080919,-1095750750,-1091369762,1029696990)+W(6,-1112883155,1042185570,1042119352,-1113619581)+W(7,1031234782,-1128566730,-1105256367,1012473722);WS(1059465279,-1101420399); +sum1=W(0,1033088680,1043444330,-1101682761,-1124073107)+W(1,-1124176798,1000916382,-1126261266,-1118729178)+W(2,1014063089,1057398923,-1089602004,1032573720)+W(3,1035053989,1034190184,1039770557,-1114558729)+W(4,1045820204,-1087528660,1057859064,-1096323421)+W(5,1038292302,1036787650,-1106381771,1041172764)+W(6,-1115007182,1027988010,-1104773247,1024683157)+W(7,-1131477704,1042732770,-1102530758,1029511616);sum2=W(0,-1093261173,-1081648717,-1107343332,1020947921)+W(1,-1100338012,-1096055698,1016623505,-1121572837)+W(2,1016590929,1049309077,1058913944,1035038069)+W(3,-1160318928,1060463741,1061699617,-1121635630)+W(4,-1111261089,-1123677731,-1095509190,-1116667427)+W(5,1032510827,1042247124,988275856,-1130213341)+W(6,1037987285,1035681279,-1111758125,1033159595)+W(7,-1106728517,1035240533,979544481,-1112486763);WS(1060076127,1072958059); +sum1=W(0,-1103118654,-1090537599,1060753617,-1129584897)+W(1,1043365506,-1097065432,1046496158,1025963976)+W(2,-1115420333,-1086314390,1060760746,-1106610556)+W(3,1031523031,-1088162978,1055888777,1040410096)+W(4,1033412302,-1089193875,1052645932,-1138875303)+W(5,1032254402,-1091959462,1054239287,1032279415)+W(6,1031863013,-1111327644,1044639698,1032182482)+W(7,-1127560355,-1086013855,1056703661,1044337291);sum2=W(0,1034238418,-1122429687,1038471498,-1105287037)+W(1,1026722605,-1113650971,1047703041,-1106809975)+W(2,-1123083006,-1101416602,1050567163,-1099784158)+W(3,1044566349,-1095747837,1073798913,-1077245954)+W(4,-1114043742,1044375513,1074668356,-1072322090)+W(5,1029836970,1032414162,1076147895,-1070521946)+W(6,-1124457715,-1132025334,1076524889,-1071353549)+W(7,-1112207598,-1112893824,1071535287,-1076180558);WS(-1114470395,-1114976351); +sum1=W(0,1017446070,991904560,1034584479,-1110976571)+W(1,1040990896,1041627584,-1107221597,-1099251857)+W(2,-1129681934,1047992216,-1115356259,-1111571481)+W(3,-1120446036,1061349282,-1083497834,1039733326)+W(4,-1097641691,1061559014,-1089507216,1036247843)+W(5,-1110115727,1055187519,-1098995485,-1114440077)+W(6,-1110184487,1045114861,-1109668803,-1115117640)+W(7,1033457695,1047040436,-1107186297,-1120899067);sum2=W(0,-1093678598,-1084434022,1064533419,1042743345)+W(1,1002676269,1057422860,1067683118,-1108978134)+W(2,1055748356,1066493380,-1078621547,-1117769694)+W(3,1044340647,-1079318791,-1079939901,1015093293)+W(4,-1118111722,-1116089022,1054002901,1049699290)+W(5,-1120084888,1044705221,1039926847,986467602)+W(6,1001595675,-1112694927,-1112070298,-1107171922)+W(7,-1123642691,1031220790,1023903081,1037662763);WS(1048785023,1039045299); +sum1=W(0,-1104130562,-1090140327,1061197562,-1133671882)+W(1,1043168659,-1100442863,1040570004,1032880081)+W(2,-1117502116,-1085428843,1062309944,-1102819715)+W(3,1029857553,-1093347651,1050495728,1038995485)+W(4,1034838603,-1089406196,1050259320,-1127149063)+W(5,1027207566,-1093521697,1054560318,1026681976)+W(6,1024393315,-1120775857,1039464338,1035433414)+W(7,-1130533431,-1086838999,1056208688,1041402190);sum2=W(0,-1118465298,-1142302474,-1114395216,1037219807)+W(1,1011712973,1025023956,-1104707163,1039062755)+W(2,-1128433260,1041730218,-1095905892,1046574176)+W(3,1029767219,-1097771962,-1080533844,1069124140)+W(4,1021354231,-1094677866,-1075595300,1073795377)+W(5,982009542,-1122047812,-1072373863,1075522683)+W(6,1014788797,1028525757,-1072719492,1074436097)+W(7,1033540398,1020814500,-1078361330,1068741752);WS(1040594174,1002085105); +sum1=W(0,1041861603,-1113198522,-1137236930,1041085614)+W(1,-1097746587,1055071640,-1100468781,-1121524679)+W(2,1032164980,-1088672026,1047493466,-1109849488)+W(3,1031577622,1050744420,-1105375081,1048884604)+W(4,-1102982955,1057599999,-1087672398,-1113508732)+W(5,1044101411,-1103363988,1050064611,-1098107838)+W(6,1034678964,1036351259,-1102178050,1043931332)+W(7,1026039088,1034848362,1033863059,-1106488144);sum2=W(0,-1099743490,1011906269,1037961444,-1108436276)+W(1,1035577370,1026663055,-1152297667,991169347)+W(2,-1115293072,1057096352,-1095995741,1045881501)+W(3,-1102421679,979639118,1050233559,-1097952901)+W(4,1038726510,1044440375,1022991474,-1122343653)+W(5,1032210717,1032214892,-1139108605,1026937641)+W(6,-1107407193,1028754425,-1115369483,-1105994898)+W(7,-1120037205,-1123040177,-1104470915,1022469878);WS(1066613200,-1123971367); +sum1=W(0,1021072883,-1096708150,1051074184,1026036124)+W(1,-1125712504,-1090955664,1051398158,-1108624754)+W(2,1041158633,-1159875842,1058934814,1040756057)+W(3,-1106077125,-1079911082,1061682240,-1090753503)+W(4,1036847484,-1093258685,1055629981,-1114271443)+W(5,1032267227,-1103560179,1054180539,1025501945)+W(6,1016782186,-1089925031,1052861897,-1105228376)+W(7,1031886911,-1106725252,1047227273,1043536294);sum2=W(0,-1120579723,-1102098813,-1103583809,1039910130)+W(1,-1104595791,1059079365,1035649855,-1110832147)+W(2,1060943463,-1078775742,1055196914,-1115424415)+W(3,-1081375340,1070420847,1036446407,-1092581761)+W(4,1048074442,-1106373275,1050043459,-1101688097)+W(5,1049316438,-1084015554,1050724789,-1115969635)+W(6,-1088959333,1065759760,-1088425301,1051846236)+W(7,1054216959,-1087995034,1052608338,-1103333947);WS(1015488492,-1082266482); +sum1=W(0,-1115294884,-1096364772,1054950795,-1109722877)+W(1,1041881447,1036768790,1051075280,1018280484)+W(2,-1116482020,-1083421327,1062057653,-1105734603)+W(3,1028536641,-1079950554,1057564011,-1124656723)+W(4,1044897017,-1088856963,1054170231,-1129161159)+W(5,-1108243791,-1096513911,1056273768,-1113027740)+W(6,1033207234,-1104622888,1056919206,-1132093050)+W(7,1015505847,-1096156044,1054606378,1025701004);sum2=W(0,-1103335141,-1123809016,1056172663,-1093357581)+W(1,-1087173612,-1080484881,1047550056,-1112078382)+W(2,1045744538,1068142929,1051886373,-1102262951)+W(3,-1106751239,1065979347,1064817240,-1097769156)+W(4,-1089877767,1048007586,1065470183,-1095892093)+W(5,1054342226,-1086806497,-1098340366,1033891425)+W(6,1047940388,-1098712592,-1102735881,-1105000175)+W(7,-1120076732,-1082944418,-1088981287,1059622670);WS(-1089551423,-1072840444); +sum1=W(0,1041019406,1055991358,-1086576149,1027645528)+W(1,1022173115,1057526040,-1100702364,-1141651861)+W(2,-1113297010,1036785718,-1093552675,1016689751)+W(3,1015463395,1059475300,-1089572736,1031793146)+W(4,-1103473726,1056836657,-1091007140,-1125097480)+W(5,1040814976,1050051043,-1090411145,1041821422)+W(6,1007312016,1050846086,-1098618125,1015074267)+W(7,1029778436,1053584058,-1097362556,-1104623366);sum2=W(0,1069423067,-1076703167,1041694716,1032293264)+W(1,1072187327,-1073855626,-1115348910,1008297781)+W(2,1072064387,-1079134619,-1107764634,-1120515458)+W(3,1072314518,-1077864031,-1089838794,1037018177)+W(4,1066704589,-1081021850,1036250076,-1121141704)+W(5,1063804587,-1081933355,1028352388,1025803257)+W(6,1053139391,-1094622730,-1114321992,-1123317222)+W(7,1042659879,-1099654949,1035224325,1027779018);WS(1053893247,-1106302313); +sum1=W(0,1031892188,1044357278,-1093335703,-1124627014)+W(1,-1110506435,1051962248,-1098499127,-1121076939)+W(2,-1127073177,1061666784,-1085429924,1038775118)+W(3,1047997302,1064449402,-1082436051,1042378233)+W(4,1033243951,1041901099,-1118050391,-1100759903)+W(5,-1107646187,1053582704,-1104422127,-1107823800)+W(6,-1112186286,1037482077,-1118004236,-1134911574)+W(7,-1112631434,1050110011,-1103845867,-1111029158);sum2=W(0,1045534781,-1106914963,-1093884354,1048929407)+W(1,-1136883904,-1105365809,1058094665,-1099297773)+W(2,1027794169,-1087950271,-1076257974,1057853479)+W(3,-1091599460,1049402813,1070891205,-1101014716)+W(4,-1105954111,1059435817,1057695328,-1088483015)+W(5,-1110353364,1056244223,-1096007662,-1116753268)+W(6,1026306116,-1106437513,1042940020,-1107558514)+W(7,-1105327762,1049633694,1019026622,-1111740866);WS(1043803134,1031905225); +sum1=W(0,-1113675573,1045344728,-1093561052,-1125193272)+W(1,-1137620096,1015450714,1039772705,-1142985628)+W(2,1045527725,1036603287,-1087612823,1043570724)+W(3,1047471777,1057861093,-1131204708,1032608022)+W(4,1025442024,1007995990,-1109713128,-1125123818)+W(5,-1101766076,1048683192,-1098589181,1017746514)+W(6,1041363873,-1103914745,-1142310312,-1137687994)+W(7,-1104559247,1053784172,-1096789826,-1120823545);sum2=W(0,-1102611800,1052608919,-1092971881,1033368250)+W(1,1042572795,-1112317124,1050084573,-1099740129)+W(2,-1143715563,1036000712,-1099050864,1046340985)+W(3,1047906835,1058925768,1062269077,-1106615878)+W(4,1034463821,-1089628524,-1100033854,-1143169701)+W(5,-1097650393,-1097284017,-1155008883,1034459058)+W(6,1044772028,-1090965565,1043620595,-1102441858)+W(7,-1105069125,1053414419,-1099181286,-1145018737);WS(1065606800,1041895077); +sum1=W(0,1041785011,1041397665,-1108226929,-1113822832)+W(1,-1113293285,1050236482,-1089967688,-1105474774)+W(2,1031552121,1063682744,-1092426598,1045393909)+W(3,-1114204019,1055253222,-1085544687,-1106251932)+W(4,1014586031,1057927896,-1092878524,1018782386)+W(5,1032452466,1054837340,-1094102329,-1135035573)+W(6,-1103346054,1043307490,-1097746379,-1114747425)+W(7,1025447425,1058487624,-1098262983,-1119448485);sum2=W(0,1038489223,-1094743304,-1079775068,1069957645)+W(1,1032193624,-1106563024,-1075431018,1074314813)+W(2,-1137158564,1029053577,-1075905408,1067854461)+W(3,1048862753,-1103121169,1061439417,-1090496129)+W(4,-1107218869,1018988618,1061842524,-1083145579)+W(5,-1112577633,1015522148,1055667456,-1093776696)+W(6,1034028859,-1107822714,1032002642,1038458963)+W(7,-1110240510,1017646246,1047594841,-1100108785);WS(1050857279,1035401177); +sum1=W(0,1029370009,1049972466,-1100844155,-1114359850)+W(1,-1121232094,1045749679,-1097541146,-1119608387)+W(2,-1118971861,1054737744,-1089471141,1032044074)+W(3,-1116554354,1064433520,-1088203652,1039513726)+W(4,-1102118870,1057059356,-1089223685,1028806533)+W(5,1035949272,1055161550,-1095333099,1039358524)+W(6,-1118591397,1035470985,-1098430605,-1114373271)+W(7,-1155732684,1050840570,-1105548665,-1113669781);sum2=W(0,1034282103,1040723224,1028955705,-1104697256)+W(1,-1111920318,-1118965841,1031483971,-1123254751)+W(2,1023538768,-1128437695,1043259383,1034554870)+W(3,-1133376386,1038672881,-1148076972,-1078609243)+W(4,-1119100907,993338648,-1084940093,-1075024478)+W(5,1014776166,1050613235,1050550535,-1100774866)+W(6,-1117007635,-1108740075,-1098463376,1069274341)+W(7,-1121555310,1040276790,1054296012,1072481706);WS(1059068159,-1095269543); +sum1=W(0,1022243158,1058751902,-1083015108,1040310153)+W(1,-1126585055,1052633434,-1095802212,1009201364)+W(2,-1113503115,1061437964,-1083734386,1040208083)+W(3,1034732162,1062365313,-1087136899,-1116554445)+W(4,1029695369,1054753811,-1089074173,1044292534)+W(5,1045709362,1047783152,-1093733821,-1141695574)+W(6,1005846771,1043895001,-1096742887,1042140272)+W(7,1049870212,-1119990530,-1106170901,-1106848091);sum2=W(0,-1110453349,1048158098,1064329884,-1096499673)+W(1,-1118716929,-1117235638,-1122504669,1023790996)+W(2,-1111084235,1037169053,1037379653,1035642078)+W(3,1027079271,1044450691,-1106426334,-1103100998)+W(4,1058163522,-1086959067,-1081956377,1059064502)+W(5,1060433363,-1096141012,-1081432626,-1109003581)+W(6,1058751114,-1102281652,-1086790317,1048822766)+W(7,-1077532089,1061563184,1073667932,-1089552462);WS(-1079238176,-1098575359); +sum1=W(0,-1122061272,1040856756,-1106993315,-1113276757)+W(1,1012614613,-1098659523,1049053518,-1110111537)+W(2,1049213476,1050219649,-1088887964,1048270483)+W(3,-1091368434,1046432350,1061247706,-1098550683)+W(4,1050034455,-1092787824,-1113029435,1053252708)+W(5,-1115399887,1045840143,-1096901418,-1120030007)+W(6,-1105000541,-1102913028,1045569657,-1144293604)+W(7,1040609063,-1104981396,-1106428832,1037272948);sum2=W(0,1035271628,-1096995906,-1097624644,1051183735)+W(1,1033447544,1032410306,1048740225,-1095652467)+W(2,-1113618952,1053850685,-1109777102,1037584786)+W(3,-1104023060,1054515359,1058355960,-1116173683)+W(4,1022009109,-1114408860,-1139294461,-1096371453)+W(5,-1104458884,1030897990,-1116975083,1030595307)+W(6,1044684178,-1115683354,-1099524388,-1117706649)+W(7,-1104406640,-1106540716,1036671037,-1108415342);WS(1064155455,1041078114); +sum1=W(0,-1114884791,-1133388468,1031759625,-1116707016)+W(1,1038026665,-1103926126,1051074474,-1135572861)+W(2,1040569148,-1088265213,1049866386,-1145284192)+W(3,-1123095214,-1088521037,1060913876,-1110455500)+W(4,-1113346810,-1094483240,1044072016,-1116167073)+W(5,-1098688777,1052099081,1034732568,1029730485)+W(6,-1106297864,1038941559,-1138713347,1017022612)+W(7,1033022404,1027852876,1019301565,1028095637);sum2=W(0,1027468398,-1120484835,1033713911,1037828351)+W(1,-1111732215,-1115316427,-1113615213,-1102210431)+W(2,-1149402831,1042551085,1015721118,1027887653)+W(3,-1136133524,-1101059653,1005178376,-1105049969)+W(4,1058132410,1067179636,-1112798365,1033627060)+W(5,-1084703700,-1093846517,1036573120,-1112780439)+W(6,-1103172541,1015696434,1035924289,1025169534)+W(7,1011948492,-1119207903,-1106241198,1034168377);WS(1056869759,-1097268032); +sum1=W(0,1018133293,1036411431,1039633317,-1111689725)+W(1,-1105532941,1007771751,1034605623,-1107937040)+W(2,1027243330,-1116024394,1050783724,-1105991139)+W(3,-1097428310,1032024955,1010531964,-1109581452)+W(4,-1099204213,-1130187397,1045069064,-1103861656)+W(5,-1133851766,1034973653,1044277428,1044990678)+W(6,-1138393927,-1114469768,1046520720,-1106353867)+W(7,-1118550618,-1118964077,1036629184,-1155661924);sum2=W(0,1031819015,1040620760,-1130428603,-1130628701)+W(1,-1113612713,1045122152,-1113774176,-1118722775)+W(2,1040659447,-1122637452,-1093905874,1015363301)+W(3,-1113225510,-1080510307,-1073670430,-1129641903)+W(4,1023788280,-1103769905,1040925011,1045479736)+W(5,-1115035325,1050277803,1074164392,997650792)+W(6,1009487418,1041168723,1056579340,1043373785)+W(7,1023947578,-1112728330,1044922942,-1122436477);WS(1064095487,1025785067); +sum1=W(0,1026371284,-1106851535,-1128892272,1040514533)+W(1,-1097495743,1042476562,1049973404,-1103190740)+W(2,1050378694,-1104849584,-1115675316,1040022019)+W(3,1008396404,-1085976658,1058008769,1040395090)+W(4,1042871873,-1097042470,-1098054097,1050097558)+W(5,-1103138663,-1109264236,1052615848,-1102548473)+W(6,-1136206974,1035073279,1037088776,-1157051795)+W(7,1034556564,-1094929447,1045135411,1023679636);sum2=W(0,-1124722923,1033420628,-1105442746,1029168594)+W(1,-1114618025,-1100145939,1047309531,1048079041)+W(2,1043439029,-1115804833,-1084852425,-1101613108)+W(3,1036363299,1057589449,-1089136554,1042227257)+W(4,-1096133271,1053618149,1028964970,1045151454)+W(5,1049502378,-1091358477,1056312267,1041752672)+W(6,-1106999272,1030436134,-1100909906,1036382707)+W(7,1013819494,-1119548384,1043379377,-1113267324);WS(1060109055,1023402244); +sum1=W(0,1039025762,1051909299,-1098089231,-1107880995)+W(1,-1109278395,1054481389,-1093104548,1018380380)+W(2,-1125210976,1061074499,-1087624466,-1167447218)+W(3,-1107337262,1069080830,-1092709234,-1119879878)+W(4,-1119314274,991275263,-1085745760,1030906608)+W(5,1038278743,1049054227,-1093068092,1028271716)+W(6,-1120902815,1043342663,-1102438460,-1122586985)+W(7,1024999351,1051802331,-1098889074,-1107737008);sum2=W(0,995982518,1035578813,-1118279893,-1115504751)+W(1,1033194341,-1121421677,-1114972659,-1108849613)+W(2,1038373562,1046888388,1069469835,1041670894)+W(3,1040171687,-1103362299,1078927590,1050450381)+W(4,-1108098969,1050255581,-1065023683,-1097423961)+W(5,1027047733,-1096418856,-1082214759,-1114805949)+W(6,-1147696971,1042040695,1045909115,964966831)+W(7,1033796110,-1116244525,-1112457727,1025540676);WS(-1092049407,-1078216845); +sum1=W(0,1019093687,1057591089,-1089127853,-1109784091)+W(1,1030002432,1050969332,-1096074010,1043174565)+W(2,-1100550858,1056027116,-1082843219,-1126191805)+W(3,1055647027,1063070242,-1088645600,1049441628)+W(4,-1103872766,1039049940,-1097545633,-1097650089)+W(5,1041444210,1057957242,-1095349663,1024042875)+W(6,-1115845919,1034942714,-1103665506,-1123963793)+W(7,1042339236,1059965491,-1089209262,-1105758607);sum2=W(0,-1086426610,1062347208,1053593730,-1108806990)+W(1,-1096143108,1055082976,-1101252044,-1138780047)+W(2,-1089951657,1045157118,-1111940928,-1099705126)+W(3,1062855195,1048769854,1037201995,1058343455)+W(4,1068897447,-1073459143,-1091098547,-1094950430)+W(5,1074016711,-1078468086,-1119407664,1046274438)+W(6,1075026151,-1071781830,1031118734,-1128975824)+W(7,1074160921,-1072043968,-1095931446,1035271906);WS(-1092377983,1032564911); +sum1=W(0,1026968586,1051240140,-1140824311,-1108814006)+W(1,1001025293,-1135919542,-1114206145,1031981930)+W(2,-1101464865,1047585891,1035412731,-1105914151)+W(3,-1099757657,1046337282,-1093593858,-1111723206)+W(4,-1099131534,1042168181,1042300945,-1114245051)+W(5,1021990836,1042765483,-1105010841,1047084274)+W(6,-1124857771,1039475666,-1129901419,-1110153104)+W(7,1016095931,1031087233,-1150842169,1021006644);sum2=W(0,-1152594313,-1103837493,-1119502913,1035550709)+W(1,-1114711758,-1102219265,1049238470,-1111809635)+W(2,-1122222477,1021928584,1051353268,1038283603)+W(3,-1119994373,1043085394,1069806319,-1113383091)+W(4,-1117872135,-1098150014,1040245198,1038911980)+W(5,-1136114154,-1114380427,-1084770114,-1106271331)+W(6,-1118889611,-1103586212,-1097500544,-1109409577)+W(7,-1120239593,999997765,1032457879,-1130668925);WS(1066805616,-1146277627); +sum1=W(0,-1135230785,-1097679853,1046488473,1036204713)+W(1,-1149155717,-1106566573,1047676826,-1098488427)+W(2,1034010150,-1092037473,1047117051,-1103697017)+W(3,1042337650,-1085421897,1062693860,1057957971)+W(4,-1127867356,-1091217395,1049537116,-1114566390)+W(5,1036367663,-1094061036,1056189429,1034870184)+W(6,1011804270,-1108406741,1017502967,-1103604141)+W(7,998521116,-1096997053,1049188263,1029261884);sum2=W(0,-1122819855,1035645255,-1107161682,1042480496)+W(1,1029215207,-1111163705,1019166485,-1107159841)+W(2,-1109976389,1026839491,-1129473215,-1115971786)+W(3,1044451524,-1095838714,1082201538,-1067229991)+W(4,-1130065951,-1147512571,1052773623,-1091650896)+W(5,1027965847,-1156411358,1033233466,-1142132409)+W(6,-1119702735,-1110332882,1034307583,-1107215185)+W(7,1036873692,-1114357123,1001850219,1025815163);WS(1040205182,1040987841); +sum1=W(0,1032709552,1050828331,-1098789018,-1130845956)+W(1,1028035406,1054299632,-1102534446,-1131566290)+W(2,-1152624047,1000765841,-1087146945,1024089890)+W(3,1047238622,1064828620,-1084918512,1044521480)+W(4,-1110798127,1059217829,-1080798168,1041701723)+W(5,-1160283945,1057730984,-1094152707,-1105870556)+W(6,-1129145589,1050797759,-1154982570,-1121779940)+W(7,1035307633,1040620053,-1104995442,-1110323595);sum2=W(0,-1104834685,1039834326,1040649104,-1113573633)+W(1,-1098615503,1050496819,1034170750,-1119108596)+W(2,-1090508283,1045914856,-1118657109,-1128160390)+W(3,-1080862372,1070974917,-1102559609,-1095002000)+W(4,1048874616,-1085801376,1041220807,1053594264)+W(5,1063492499,-1081343708,1047362948,1022825140)+W(6,1035824034,1033985362,-1099586035,1041895669)+W(7,1062512173,-1089072248,-1130222490,-1115149866);WS(-1087487423,1060332710); +sum1=W(0,-1105878689,-1095746139,1053913286,1037671952)+W(1,1042437466,-1089004262,1055197099,-1117440135)+W(2,1040585322,-1081828961,1059867107,-1114610404)+W(3,-1121111477,-1099866351,1061690846,1028605502)+W(4,-1112195269,-1115422148,-1104536871,1040822242)+W(5,-1112892785,1039314504,-1102951638,1041433743)+W(6,-1122925576,-1117471766,-1107184778,1048192776)+W(7,1012646976,-1108492170,-1130420108,1029799624);sum2=W(0,1017331955,-1097747777,-1097037835,-1162485367)+W(1,-1104677463,1040900608,1016355419,-1104406873)+W(2,-1117673238,-1081336501,-1089023490,-1117660642)+W(3,-1094338757,1073518733,1068423959,-1096388411)+W(4,-1119646366,-1103573743,1048344480,-1093216188)+W(5,-1104710153,-1106204508,1057220074,1028492960)+W(6,-1107625181,1041186571,1033091565,-1092192530)+W(7,1022869095,-1097636016,1053959289,1049060345);WS(-1096756863,1051174382); +sum1=W(0,1025372546,-1115668125,1000611497,1034391118)+W(1,-1106905723,1039995714,-1105014230,1041916975)+W(2,-1114360751,1043101563,-1117013085,1027806076)+W(3,1025624474,-1089490746,1058174613,-1111998130)+W(4,1037998160,-1092891318,1045000731,1008039732)+W(5,1032794399,-1107085565,1035643438,1030397185)+W(6,1034992970,-1114405501,-1121180749,1018926829)+W(7,-1114244794,-1168885266,-1120880459,1029203969);sum2=W(0,-1089960886,-1095856011,1007316785,1036775569)+W(1,-1092452707,-1106157919,1041476280,-1107942220)+W(2,1049541326,1074170001,1050706137,1021239050)+W(3,1032119458,-1085150802,-1083810164,-1132331444)+W(4,1032929374,1046048366,1043182557,1036225521)+W(5,-1110883627,-1112079347,-1129593193,-1113579728)+W(6,-1123073435,1027735021,-1214669080,1009639193)+W(7,1026522309,-1111935169,1009058861,1022066674);WS(1063524863,1010978751); +sum1=W(0,1033376264,-1090913225,1054337940,1034437913)+W(1,1035248130,-1094935586,1045510498,1040021853)+W(2,1029138555,-1084407830,1057961148,-1141033844)+W(3,1040606570,-1085174115,1062831778,1032741433)+W(4,-1146340206,-1080254739,1060252175,-1127614262)+W(5,-1122169062,-1094320024,1058700983,-1136275261)+W(6,-1113033206,1033710501,1045946247,1007782611)+W(7,-1115451138,955403507,1033261261,1030604567);sum2=W(0,-1096400044,1053621644,1017015195,1037111777)+W(1,1043917783,1009306318,1005897821,-1106811629)+W(2,-1123678571,1051339656,-1141989437,1047789047)+W(3,-1090244436,1062093709,1065539532,-1093438727)+W(4,1046901313,-1080576226,-1083332175,1049955112)+W(5,1048870815,-1106342004,-1097183812,1043219374)+W(6,1033884063,-1098524562,-1097464341,1050393105)+W(7,1053211427,-1124418811,-1092155120,1044056917);WS(-1085369887,-1080302329); +sum1=W(0,1021216124,-1112260523,1035888345,-1110274640)+W(1,-1121762938,-1119192737,1049037307,-1111476420)+W(2,-1103047566,1050211017,1061443675,-1097892613)+W(3,-1094342263,1058411732,1044828010,-1097171068)+W(4,-1105630871,-1139271463,-1119204121,-1112160677)+W(5,-1107174593,1042276856,-1100915542,1026261917)+W(6,1025950537,-1113852108,-1174284878,-1110403297)+W(7,-1146340105,-1119668597,-1119790119,-1132483222);sum2=W(0,-1115512925,1035074177,-1191992884,-1115656893)+W(1,-1146353705,1040461813,1043381354,-1137020948)+W(2,1036066439,1042528734,1059049535,1021899784)+W(3,-1134998124,1058355837,1058956516,-1112812041)+W(4,-1093678923,-1081621864,-1095612272,1012903452)+W(5,-1122018103,-1089980594,1050844919,-1123282157)+W(6,-1110317749,1049357806,-1100731037,-1122890057)+W(7,1002801625,-1101025299,1036998024,1023124620);WS(-1106521214,-1077666555); +sum1=W(0,1003321829,1052142545,-1102912320,-1108686032)+W(1,-1120901013,1052094618,-1105733097,-1118608535)+W(2,-1105222370,1060439250,-1085669204,1045702647)+W(3,-1107011833,1059969903,-1113880763,-1106161276)+W(4,1029823211,-1095361591,1052882623,-1103122454)+W(5,1000924822,1039904896,-1107186882,-1106172071)+W(6,-1127794128,1000548911,-1118745688,-1113781993)+W(7,1027793952,1046166153,-1096551831,-1132637458);sum2=W(0,1034079401,1025264110,-1123371956,-1116991392)+W(1,-1123608512,-1119278092,-1104246380,-1156408861)+W(2,999851902,1031056700,1051208451,-1098806852)+W(3,-1128074608,1059405503,1063218900,1038716729)+W(4,-1102099502,-1123208440,-1110007228,-1136590423)+W(5,-1109589984,-1081290516,-1131612640,1034885175)+W(6,-1127758712,1015173988,-1124651080,1009682031)+W(7,1032460032,-1121242732,1025045004,-1115963068);WS(1061862175,-1081928168); +sum1=W(0,-1105584175,-1105871745,1043886056,1027658214)+W(1,1024897880,-1093982770,1052657028,992865878)+W(2,1038516044,-1092069365,1055074797,-1121064957)+W(3,1040792761,-1083616743,1065026281,-1106374835)+W(4,1041867802,-1089303929,1056987882,1015027694)+W(5,-1146323132,-1089274268,1054263413,-1132520748)+W(6,1033649803,-1106858177,1043742846,-1137844354)+W(7,-1113939311,-1096909360,1049053899,1017619030);sum2=W(0,1078367032,1027322757,1023449836,-1115583846)+W(1,1056220347,1044756153,-1148770222,993742973)+W(2,-1078889751,-1096547764,1043960988,-1130380138)+W(3,-1073546091,-1101560565,-1126862726,-1147412718)+W(4,-1104234997,1042443775,1029550531,-1115461788)+W(5,-1129365336,1048890957,-1133306383,1019814478)+W(6,-1132392998,-1104280017,-1130422948,-1143007558)+W(7,-1105729449,1028418751,1042854212,-1123464959);WS(1052938943,-1103606318); +sum1=W(0,-1114719934,-1087051802,1058073278,-1114447856)+W(1,-1110318513,-1108424920,1044445625,1040769086)+W(2,1051495307,-1085940948,1060893495,1037779432)+W(3,-1100729633,-1082198177,1058839039,-1103818980)+W(4,1058926789,-1090825863,1060585177,1053070735)+W(5,-1090569589,-1088355266,1053564817,-1091337376)+W(6,1050591187,-1096343413,1054456219,-1131842819)+W(7,-1120060704,-1090847836,1059253187,1026807692);sum2=W(0,1015621136,1033006755,-1072583370,1074691924)+W(1,1032703681,-1098289077,-1084108607,1067219112)+W(2,1048700747,-1098808895,-1081224226,1064576163)+W(3,-1098355550,1046984196,-1081041246,1066863963)+W(4,1047054427,-1083721832,1069053051,-1084686190)+W(5,-1097901072,1061110777,1046858869,-1086075738)+W(6,-1126056922,-1109410901,1068664236,-1079374171)+W(7,-1165737020,1047097145,1076043754,-1071293986);WS(-1083248351,1041375270); +sum1=W(0,998616699,-1087439008,1054645196,1045294540)+W(1,-1142901727,-1092067298,1052452449,-1128264947)+W(2,1043282847,-1097778587,1050602866,1042620067)+W(3,-1128981712,-1084179155,1058025241,-1146688137)+W(4,1049050406,-1090979219,1061357806,-1127282486)+W(5,-1110272759,-1086455104,1053431193,-1125997182)+W(6,1045114289,-1095775369,1052134295,981342481)+W(7,-1170526381,-1087021556,1053157267,1046767364);sum2=W(0,-1076239116,1068235144,1054062613,-1114529265)+W(1,-1079299620,1068687973,1019509447,-1116897962)+W(2,-1079042334,1068481951,1057377046,1041823371)+W(3,-1083365485,1066921525,-1100834259,1032806429)+W(4,1049726715,-1106704213,-1095788298,-1104989857)+W(5,1066758659,-1080829299,-1107253929,-1107915189)+W(6,1069675355,-1077473679,-1112126912,1021289065)+W(7,1075688460,-1073149491,-1090199615,1034867372);WS(-1089965567,1041739713); +sum1=W(0,1014059625,1050606464,-1097348868,1016608410)+W(1,-1109541748,1046384755,-1098095776,-1110057610)+W(2,-1120181702,1052952467,-1098227712,-1165355548)+W(3,-1113826001,1062759283,-1097909490,-1103909923)+W(4,-1099389050,1061539071,-1089710746,1018410859)+W(5,-1107441048,1056969105,-1097990985,-1097884829)+W(6,-1110918155,1043585729,-1112431723,-1109883584)+W(7,-1129336123,1054439728,-1101291373,-1118732474);sum2=W(0,1035083591,-1113211599,1032203968,-1112771443)+W(1,-1112359157,1037267536,-1129901649,999833884)+W(2,1037205500,-1110383577,1050641640,-1113848439)+W(3,-1119560270,1053336900,1062183610,1048127168)+W(4,-1130432545,1036846600,1052549520,-1087091182)+W(5,1033928454,1029308948,1037218786,-1080175934)+W(6,-1111608107,1035214305,-1098666781,-1106600446)+W(7,1027763767,-1137000642,1041216407,-1105808372);WS(1040803966,-1079223548); +sum1=W(0,-1103550802,-1108233168,-1115946235,1021078213)+W(1,-1113401739,-1097729981,1016715200,-1123835458)+W(2,-1105545077,-1112466052,1051122342,-1103483180)+W(3,-1095164520,1056711305,1072346450,-1092700173)+W(4,-1102562113,1033129898,1046866637,-1104392485)+W(5,-1106149592,-1100704991,1041579689,1033532004)+W(6,-1123094707,-1106323272,1017795558,-1128003929)+W(7,-1105989383,-1109921151,1019070562,-1109398092);sum2=W(0,-1132003761,-1097131135,1033952970,-1114013558)+W(1,-1126076753,-1098724323,-1102131199,1027012993)+W(2,1028715469,-1094337061,1043946979,-1109613274)+W(3,-1094940877,1075670208,1037045260,1026138301)+W(4,-1096054213,-1092647285,1052392413,-1107006741)+W(5,1050064171,-1119763725,-1101691459,1032910718)+W(6,-1095828963,-1104609741,-1104710657,-1127911473)+W(7,1024912709,-1103386045,1042676905,-1109320626);WS(-1077711088,-1080462700); +sum1=W(0,1016976667,-1095463505,1048382760,1033669226)+W(1,-1143635214,-1094028818,1043759401,1023995271)+W(2,1050435883,-1084473735,1060944248,1038367764)+W(3,1025648038,-1081613943,1061061657,-1104130812)+W(4,1033190198,-1092817267,1059085444,1035230572)+W(5,-1119077035,-1089963906,1058923652,-1115548134)+W(6,-1127874241,-1112556483,1024757337,998948881)+W(7,-1124293633,-1096263708,1052630131,1035279350);sum2=W(0,-1118714905,1038737245,1045939428,-1084863446)+W(1,-1128906105,1033599435,-1124872105,-1120736313)+W(2,-1104617441,1047074065,1073600723,1072627800)+W(3,-1102497202,-1081197801,-1069501955,1076529178)+W(4,1052988680,1051590837,-1078764847,1066278053)+W(5,1025452854,1036478618,-1078626366,-1115729701)+W(6,-1147569173,1034730428,-1094352359,-1119746081)+W(7,1045309195,-1096538670,-1097394746,1001372341);WS(-1085605823,1039908372); +sum1=W(0,-1110519177,-1101464226,1050281295,-1136474287)+W(1,998302542,-1097280531,1040574050,1017687606)+W(2,-1105109851,1050325520,-1112501642,1027599892)+W(3,1051114493,-1093718398,-1095999987,1038451002)+W(4,1047758692,-1109283231,1052111506,-1112873934)+W(5,1047411644,-1103804777,1013903280,1026946257)+W(6,1008966514,-1107759461,-1131548857,1007362713)+W(7,1027414133,-1099881946,1037344125,1030395745);sum2=W(0,-1115357326,-1098998597,1033193484,-1119934044)+W(1,-1129481498,-1104582263,1041990652,-1109942748)+W(2,1037423788,-1098625511,1052524895,1028176618)+W(3,-1149109833,1036322812,1029624616,1032249206)+W(4,-1107237807,1050926614,-1102468922,-1117055607)+W(5,-1098320683,1045914812,1016354632,1026298641)+W(6,-1118016391,1029306918,1029333966,-1116685452)+W(7,-1111060805,1035368549,1036818044,-1113790705);WS(1066221936,-1112686252); +sum1=W(0,-1111426931,1042737360,1039181581,-1110677245)+W(1,1049363148,-1108750629,-1105687720,1035534704)+W(2,-1090113310,1053136109,1051677110,-1101864162)+W(3,1038796336,-1095853365,1031102479,1019901392)+W(4,-1102958241,-1108890233,1058267293,-1107302241)+W(5,1041899238,1023718298,-1089545128,1048841797)+W(6,-1104001476,1033191264,1047293124,-1106653499)+W(7,-1112879133,-1165972390,1010166848,989728967);sum2=W(0,1019579309,-1121628281,-1104132268,-1133616314)+W(1,-1115216952,1041466962,-1110659898,1046938970)+W(2,-1101014764,1044350744,-1092586315,-1089581193)+W(3,1035949455,-1096356807,1067161402,-1097777539)+W(4,-1125343389,1019949697,1044980625,1025080038)+W(5,1020295703,1011899626,1028945397,1042942659)+W(6,-1107189524,1020414781,1024223321,1000298789)+W(7,1032252124,-1108620092,-1106879950,1034429670);WS(1065647552,1042223795); +sum1=W(0,-1118213891,-1090185691,1054600851,1042956769)+W(1,1047859212,-1099254654,1056675965,1045938459)+W(2,-1102035956,-1085546115,1052764224,-1095542592)+W(3,1049817209,-1090115457,1060918524,1048397149)+W(4,-1136727619,-1086839140,1050058698,-1107166488)+W(5,1018314812,-1089622500,1053194074,-1115710386)+W(6,1048950515,-1103143659,1055030644,1046421002)+W(7,-1111834851,-1088857895,1046059111,1019098869);sum2=W(0,1038047795,1045715537,1062099960,-1074982428)+W(1,-1100534663,-1109612723,1074456323,-1071944747)+W(2,1043709757,-1109559353,1074047524,-1086420775)+W(3,-1098906327,-1088589586,1061406543,-1087600981)+W(4,1054998296,1046750383,-1109444720,1058024333)+W(5,-1097979318,1030039799,-1095255331,1040647828)+W(6,1042447686,-1112135838,-1106577876,1042372587)+W(7,-1135615252,-1108474833,-1098188594,1051479186);WS(-1099261566,-1102058551); +sum1=W(0,1037460750,-1099740733,1035868896,1046250530)+W(1,-1118752449,1038344912,1028635221,1040547388)+W(2,1048855473,-1097823268,-1135561696,1049218244)+W(3,1046116085,-1077722267,-1089090112,1053686776)+W(4,1041532007,-1086845489,1054063629,1041462458)+W(5,1043443965,-1109540512,1036245196,1041323791)+W(6,1035797482,-1112472539,1039520068,-1116084210)+W(7,1048656673,1006300060,-1115462467,1050214602);sum2=W(0,-1107023704,-1099880087,1047853298,-1106650230)+W(1,-1103130345,1049640504,-1100868353,1035820630)+W(2,1025081245,-1099241173,1050410790,-1111373979)+W(3,1007138702,1060797185,-1096656068,1048085306)+W(4,1020633935,-1096100738,1053061345,-1098540289)+W(5,1042694232,1034621436,-1092716332,1045275377)+W(6,-1116958023,-1100840753,1057695342,-1095110662)+W(7,-1117764771,1051814059,-1092707384,1026583068);WS(-1081437504,-1086037448); +sum1=W(0,1002898847,1048903167,-1098037791,-1124004134)+W(1,1034161364,1048827465,-1110924302,1038960439)+W(2,-1097339820,1058952469,-1089826679,-1109622563)+W(3,-1102052735,1062493730,-1082951605,1046141833)+W(4,-1122224578,1056452878,-1095802941,1037494008)+W(5,-1116847174,1052097743,-1093057352,-1142221339)+W(6,-1124219870,1046287775,-1115921615,1018754897)+W(7,-1114337484,1051622635,-1097214606,-1115514650);sum2=W(0,1026296217,-1098267531,1056065541,-1107249906)+W(1,1046658552,1054123387,-1080723543,1049528827)+W(2,-1092482457,1031912087,1068312252,-1094476247)+W(3,1048926974,-1103258874,-1095327126,-1114829012)+W(4,-1093986590,1064081451,-1101319294,-1110151549)+W(5,1051240634,-1081783631,1054428583,-1109929036)+W(6,1031417427,1052301313,-1095108256,1023898518)+W(7,-1116201775,-1136084293,1032992382,-1131461985);WS(1059931039,1045326059); +sum1=W(0,-1105339195,1027626820,1035394960,1020852317)+W(1,-1116497429,-1102542884,1045819641,-1110241387)+W(2,-1104905094,1042432944,1050447189,-1120454715)+W(3,1048600749,-1087368655,1050459387,1028063406)+W(4,1017781140,-1090841955,1058872902,-1135766366)+W(5,1028510504,-1098837680,1038310627,1046575867)+W(6,-1104151378,-1135818261,1009721182,-1121800177)+W(7,1006123003,-1102238241,1039487803,-1138241103);sum2=W(0,-1108715925,1033521028,-1130002309,1043372642)+W(1,-1125695753,-1107049318,1043711791,-1096562690)+W(2,-1106861101,-1126359337,1069432650,1055907536)+W(3,1037467647,1024736242,1069236178,-1077602923)+W(4,1049447879,-1096919459,-1089672176,-1079492159)+W(5,-1108013135,1030099711,-1104043463,1048192702)+W(6,1016159100,1038861546,-1102967963,1041544949)+W(7,1025122350,1027296385,-1115278753,1038199238);WS(1065273279,-1155200022); +sum1=W(0,1032043190,-1110724474,1048813356,-1107914275)+W(1,1042748400,-1113644224,-1113329098,1017813644)+W(2,1044363154,-1103694886,-1138873982,-1119126921)+W(3,-1101712885,1049530899,1013956115,1030506334)+W(4,1020290996,1032343156,-1088512539,1047677002)+W(5,1042545917,-1119655327,-1118975351,1035449518)+W(6,1023679047,-1113927803,-1112426340,1040385292)+W(7,969146311,1014066252,-1102619473,1037002750);sum2=W(0,-1105379539,1040024171,1054804566,1020126178)+W(1,-1114326988,1033596237,-1100858724,1058095820)+W(2,-1128505094,1027874005,-1108932212,-1095228668)+W(3,-1127815582,-1090164335,1015111122,-1114002666)+W(4,-1144273240,1026082941,1057491035,-1109234902)+W(5,1011114412,-1098155637,-1123558275,-1117423595)+W(6,1010998384,1010514392,1041639386,-1148517800)+W(7,1008109660,-1110656550,1025837089,1028462436);WS(1064822335,-1095840736); +sum1=W(0,1049019197,1056391992,-1082098174,1047279757)+W(1,-1114924672,1052717533,-1097259572,-1158101509)+W(2,1006539024,1053226600,-1083318869,1028150783)+W(3,1027273471,1063307800,-1085358981,1048033194)+W(4,1024001604,1051465786,-1093212548,1040827508)+W(5,1023329786,1056189595,-1096912972,-1122795750)+W(6,1034076369,1051405604,-1097995110,1040247311)+W(7,1032078653,1049885284,-1090164049,-1102713147);sum2=W(0,1044291516,1057945825,1075245425,-1075047571)+W(1,-1105536143,1059138923,1063262829,-1084742426)+W(2,-1123279074,1064153610,1058517731,-1087050661)+W(3,-1102729189,-1117658388,1055818216,-1094508761)+W(4,1019015608,-1082824416,-1095331241,-1107921801)+W(5,-1098099014,-1088923796,-1082492094,1066223948)+W(6,1041233257,-1114762777,-1084810008,1065694420)+W(7,-1116414073,-1093119165,-1076437009,1070896480);WS(-1090760447,1052695066); +sum1=W(0,1032827391,-1086160295,1058956361,-1122589400)+W(1,1004836815,-1100507696,1050270371,1011775197)+W(2,1040820154,-1085279840,1061054293,-1126907788)+W(3,1033221771,-1085951050,1060000376,-1109718672)+W(4,-1142824410,-1090476887,1053225609,1031459881)+W(5,1019263487,-1096291378,1052048107,1014310644)+W(6,1033909728,-1104244158,1044967298,1002236306)+W(7,1030288497,-1096098979,-1123372967,1050105184);sum2=W(0,-1115548553,-1119133376,1034230379,-1106450540)+W(1,1010795990,1054475337,1049648601,-1130742967)+W(2,1025233265,-1126101085,1031862009,1074765700)+W(3,-1108773712,-1096206384,1056453743,1076253468)+W(4,1028577219,1025243447,-1092511031,1067142167)+W(5,-1123367926,-1123699076,1040231624,-1082850789)+W(6,1027045545,-1116348436,1052333940,-1074864896)+W(7,1016487959,1026289255,-1098871930,-1066441953);WS(-1098442559,1026469881); +sum1=W(0,-1149983818,1050517915,-1114000872,-1106643136)+W(1,-1119522441,1049663660,-1102209381,-1107005098)+W(2,-1111872220,1057681670,-1097110004,-1107624656)+W(3,-1148708523,1054270423,-1080449641,1044397088)+W(4,1033974589,1065584902,-1089390067,1040137492)+W(5,1034687077,1060962908,-1088971425,1011262833)+W(6,-1121497336,1043551013,-1096207069,-1152197144)+W(7,1040191316,1037520938,-1098201593,-1111636393);sum2=W(0,-1093666199,1067471948,1044138823,-1087858714)+W(1,1049995354,-1083836095,-1089657247,1040673003)+W(2,-1104373549,1067519925,1068116530,-1086283540)+W(3,-1108191449,1075025493,1070698122,-1107890740)+W(4,-1086862321,-1079149522,-1077256496,1052510667)+W(5,-1109961150,-1092122258,-1092830464,1044801958)+W(6,-1105617480,-1118106953,-1104600439,-1113062539)+W(7,1057348983,-1090446878,-1095892285,1040940184);WS(-1089367999,-1080592817); +sum1=W(0,1050901372,1020565079,-1098563453,-1123752726)+W(1,-1142600967,1046045566,-1094642094,1032349343)+W(2,1043029392,1051791856,-1092783656,1017360893)+W(3,1042662963,1059303201,-1082254536,1040706037)+W(4,-1131715556,1060541458,-1088235102,1038984656)+W(5,1028335344,1057651322,-1083519131,1042767141)+W(6,1009439676,1050310918,-1088554180,1039511244)+W(7,1040529906,1061742083,-1084895582,1037250730);sum2=W(0,-1086948904,1072921984,-1102597600,-1081008410)+W(1,1044777691,-1096214776,-1086612116,1053678014)+W(2,-1085906527,1069427540,1055370552,-1094318103)+W(3,-1107333159,1069014322,1068187895,1040782350)+W(4,-1094251850,1068759557,1049876941,-1097053445)+W(5,-1101622483,-1095651744,-1098339283,1052418274)+W(6,1054103540,-1080635176,-1098368915,-1116179967)+W(7,-1095334551,-1071443034,-1119710681,1057760894);WS(-1072329816,1074376722); +sum1=W(0,-1119826815,-1097135645,1051061560,1001332238)+W(1,1034466519,-1100415357,1050212013,1009264740)+W(2,-1121811611,-1123247055,1057003368,-1119531350)+W(3,1040071236,-1078161261,1050094223,1047608180)+W(4,1034412551,-1086793716,1060987117,-1139666027)+W(5,-1125783811,-1092987820,1053182609,1053959834)+W(6,1025497578,-1117997032,1030369595,-1130537576)+W(7,989295697,-1097292445,1040352158,1003451511);sum2=W(0,1010850411,1033963983,1041326744,-1110591524)+W(1,-1119692159,1024673399,-1126975570,1039643589)+W(2,-1110113403,-1107122545,1049177676,-1098235771)+W(3,1041465994,1041917938,1075051781,1061676083)+W(4,1019542894,1031918417,1057547658,-1072022345)+W(5,1041361680,1016152214,-1100210466,-1080793678)+W(6,-1128076954,-1119110501,-1101468559,1038326573)+W(7,1035827461,-1108745692,-1111890885,-1115279667);WS(-1089734463,1065567745); +sum1=W(0,-1115310942,-1089748010,1053493076,1041536229)+W(1,1048676446,1033541431,1047890913,-1111760907)+W(2,1051913151,-1091844976,1060749357,1031051700)+W(3,1041943745,-1078026925,1057682191,1033727319)+W(4,1032260949,-1083863979,1060855949,-1117552023)+W(5,-1123414147,-1088695462,1057895644,-1123512523)+W(6,1025799735,-1097284573,1049355215,-1134918146)+W(7,-1118314271,-1090712276,1052101531,1037093278);sum2=W(0,-1087048499,1067110585,1062551012,-1088705293)+W(1,-1089227831,-1073947481,-1107011493,1063056164)+W(2,-1081828818,-1100054441,1044700801,-1091908804)+W(3,-1106022394,1057992187,1053279159,1049660447)+W(4,1057638724,-1096117153,1047077354,1041467137)+W(5,1053589051,1049824990,-1098858111,-1112699600)+W(6,1030725267,1008667589,1055551992,991046018)+W(7,1050363813,1047082764,-1093863007,-1118599281);WS(-1079109040,-1085312521); +sum1=W(0,1023769582,1037365911,-1113299189,-1127522065)+W(1,-1140282322,-1117579705,1042794748,-1098682508)+W(2,-1105105824,1052645482,-1086336671,1041518392)+W(3,1041551140,1061549365,-1087637436,1049784787)+W(4,1030694836,-1092653220,1051894263,-1104535548)+W(5,-1111084358,1050958145,-1111723928,-1112540051)+W(6,955351653,-1113919416,1039072513,997865134)+W(7,-1133450021,1047664699,-1111528112,-1121426302);sum2=W(0,-1112127727,-1182735741,1027967369,-1099828018)+W(1,1037755147,-1116775242,-1108084106,-1106208929)+W(2,-1117076760,-1110833901,1047419656,-1106621688)+W(3,-1096944427,1050960349,1057406540,-1093670465)+W(4,920706880,1057824022,-1106635563,1046907280)+W(5,-1126463908,1025802869,1030718323,-1104727129)+W(6,1025583781,-1117624689,-1129307942,1024731263)+W(7,1016301114,-1106817101,-1146210056,-1133403952);WS(1066445424,-1114782683); +sum1=W(0,-1105169880,-1110498524,1042140161,1033176686)+W(1,1037849343,-1092096849,1045982494,1027992139)+W(2,-1111719878,-1089773556,1059787797,-1104315937)+W(3,1053025475,-1093199580,1058443885,1034263873)+W(4,-1106443352,-1085224723,1058982105,-1099213011)+W(5,-1118185334,1017432168,1051015495,1015617473)+W(6,-1115180998,-1097477655,1049335790,-1134277975)+W(7,-1104379365,-1120659192,1047806371,-1124174113);sum2=W(0,1035156885,-1104443938,1020765936,1034215267)+W(1,1010861092,-1111353322,-1131256669,-1119467871)+W(2,1053142713,-1092519845,1043066295,1043572605)+W(3,1050643378,1033492110,-1093594884,-1120345789)+W(4,-1093995815,1061622434,-1090891830,1035132204)+W(5,-1100307988,1045835461,1051701313,-1120193257)+W(6,-1094190457,1054276307,-1115303200,-1107758441)+W(7,-1095534688,-1118030035,1044764145,1010759898);WS(1053797695,1034928741); +sum1=W(0,-1113709609,1027306577,-1089618673,1039738506)+W(1,-1101985872,1036410350,-1094568298,1041675949)+W(2,-1098832221,1048222316,-1089721378,1049870789)+W(3,-1106547453,1049396519,1057932790,1032602030)+W(4,1032341932,-1093507345,1051551069,1041034929)+W(5,1038712045,-1098128846,1042310981,1020376402)+W(6,1020651977,-1102358117,1032076306,1038606871)+W(7,1037110646,-1095739626,1049811664,1036847389);sum2=W(0,-1107569978,-1096371488,-1091206842,-1113379832)+W(1,1048834253,-1100415470,-1140716449,-1098639187)+W(2,1032955728,-1097656368,-1099982688,-1102236471)+W(3,1047116738,1057366407,1067804624,-1112454303)+W(4,-1095875849,1049724515,-1107732848,1037256860)+W(5,1024141754,1047568587,-1101898886,1039735469)+W(6,-1117854930,1025784853,-1104360749,1034482735)+W(7,1031286951,1040928209,-1099991629,-1122662653);WS(-1100599294,-1113486107); +sum1=W(0,1041832895,1058015130,-1095482492,-1123207408)+W(1,-1113994869,1043005476,-1095369841,-1120610968)+W(2,-1101582062,1065539217,-1088297536,1040056719)+W(3,-1100675730,1054749782,-1085935041,-1111595960)+W(4,1015862616,1046936430,1054414015,-1110844045)+W(5,1033573462,1043027144,-1096194081,1041950395)+W(6,-1123901241,-1122192647,-1118572185,1007333963)+W(7,-1147102474,1047923809,-1106262926,-1097939280);sum2=W(0,1033496750,-1105017139,-1118941046,1012703263)+W(1,-1118187780,1043450683,-1142467441,1009095593)+W(2,1041080086,-1106458832,-1096734279,1025973118)+W(3,-1102935461,1057933296,1063076098,-1089439993)+W(4,1023898015,-1098239652,-1119844388,-1124882200)+W(5,-1122438380,-1111698692,1048742138,1004297609)+W(6,1007185073,1023645924,-1096898561,1046154393)+W(7,999989929,1034431733,-1090457759,1048791679);WS(1058454143,-1086058342); +sum1=W(0,-1115074879,1051341170,-1123276713,1040408770)+W(1,-1099743710,1054019099,-1112675511,1042487060)+W(2,-1103933280,1057240637,-1095853513,1044345774)+W(3,-1113530407,-1085932301,1048593300,1034191179)+W(4,-1124606630,-1090466976,1059272419,-1105205160)+W(5,-1115568198,-1097279225,1052135974,-1111240730)+W(6,-1123572016,-1108988935,1039376368,-1135917288)+W(7,-1118699368,-1095706385,1041536544,1043157563);sum2=W(0,1047642666,-1106684338,-1097565895,1038757740)+W(1,-1094360366,-1104496052,-1137000462,-1120606628)+W(2,-1111839157,-1101578828,1017360469,1043520604)+W(3,-1101124559,1062389037,1056361687,-1110716481)+W(4,-1119401007,-1099504899,1057357121,-1121032787)+W(5,-1114275291,-1102577927,-1111580608,-1174578992)+W(6,1010413358,-1121638606,1047557438,1020758339)+W(7,1018914035,-1100286365,-1108198790,1031842399);WS(-1116191222,-1087222261); +sum1=W(0,1051378220,-1092140039,-1098282527,-1115126509)+W(1,1026061480,1041212802,-1108686318,1018050395)+W(2,1051132746,1028855632,-1114615088,1028919646)+W(3,-1131139769,1054776996,-1096808426,1031880915)+W(4,1029438530,1052461054,-1090181940,1047407636)+W(5,1010253799,1056191968,-1089672580,1041055121)+W(6,-1140691900,1041996679,-1095415146,1025713945)+W(7,1032111196,1051463563,-1084069643,1049760258);sum2=W(0,-1120688670,1075791226,1072772368,1033088733)+W(1,988781159,-1079951996,-1096143661,-1126178338)+W(2,1023531678,-1080919050,-1087274515,1039982901)+W(3,1034244658,-1078043585,-1074830486,-1153355920)+W(4,1038669521,1061514147,-1138433181,1047086021)+W(5,-1125227753,1050383220,-1091737459,-1117938706)+W(6,-1122152897,1043495776,1043710967,1036258954)+W(7,-1123518214,1056154705,1064633897,-1090859740);WS(-1086114623,-1084816591); +sum1=W(0,-1119067590,1036163639,-1106221778,1015833809)+W(1,1041053515,-1112478813,-1114565991,1041839788)+W(2,-1123050946,1045609440,-1102274148,1038604869)+W(3,1050414506,-1091176571,1041957568,1049671879)+W(4,1017204584,-1096458464,-1140250052,1016035267)+W(5,1033253648,-1092456237,1042499428,1004159150)+W(6,-1109025761,1039781304,1024592194,1019624502)+W(7,-1142909644,1019336538,-1110741472,1038938427);sum2=W(0,1006657945,-1115603798,1043167348,1032033598)+W(1,-1145756082,-1129023472,1029036192,-1122908214)+W(2,-1102183527,1024575987,-1134024937,1013148193)+W(3,1043063832,-1070476153,-1079118960,-1117007948)+W(4,1048257970,1078068971,1058188063,1026806223)+W(5,1030027167,1034687231,1026633068,-1106350665)+W(6,-1129422896,1014471457,-1138449465,1037397710)+W(7,-1120006792,998969122,1035752331,-1119066852);WS(1058895967,-1115291633); +sum1=W(0,-1125313920,-1118075736,-1101537045,-1102743433)+W(1,-1110715998,1028840739,-1106860038,-1113756805)+W(2,-1110540830,1050429809,-1109809347,-1112821659)+W(3,-1093243535,1056177832,1062536899,-1094426092)+W(4,-1098773368,1050921353,1050429425,-1112140166)+W(5,-1114664694,1021103494,1042267175,-1105504016)+W(6,-1108229374,1039051533,-1104944731,-1123143221)+W(7,-1128878150,1048765371,1019165331,-1113092552);sum2=W(0,-1118991740,1049660250,-1072802862,-1093107290)+W(1,1035161218,-1092533458,-1084844108,-1131472334)+W(2,1031409558,1052404039,1059153934,-1099814906)+W(3,1025873763,1059098325,1066715964,1050189246)+W(4,-1130385854,1035329255,1054800035,1033113369)+W(5,-1109675818,1033133876,-1121630224,1032032260)+W(6,1035221069,-1100849576,1017402854,999987753)+W(7,-1106515599,1041079456,1051036492,-1109656332);WS(-1088275071,-1079832501); +sum1=W(0,-1121609972,-1140631216,1031902612,-1114449795)+W(1,1054795207,1001216956,1053928586,1049117898)+W(2,-1091175970,-1109051587,-1100362195,-1089874193)+W(3,1036185063,-1108520810,-1118566269,1024185910)+W(4,1036253081,-1112588624,1050418310,1033419200)+W(5,-1095852779,-1111932116,-1106845532,-1098704820)+W(6,1056993046,1018114011,1057036918,1052334541)+W(7,-1099614386,-1114447781,-1106898567,-1103629998);sum2=W(0,1034198694,-1099753021,1052074243,-1101897553)+W(1,981839325,1036479145,1033443852,-1125560160)+W(2,1050051875,-1087878645,1061175239,-1090657055)+W(3,1043520387,-1099082069,1044393022,-1126528836)+W(4,-1099547613,1049181233,1036533430,-1113239720)+W(5,1020237946,-1106552091,-1125692060,-1111189720)+W(6,-1112528204,1051666481,-1100952955,1038783930)+W(7,1032634213,-1105193718,1038429221,-1110455840);WS(1055684799,1057467177); +sum1=W(0,-1115635180,-1084593518,1057349085,1044528285)+W(1,1040983065,-1097583958,1048845932,-1108137881)+W(2,1033664034,-1088354001,1059080519,1042415046)+W(3,1047016048,-1083875169,1057461395,-1130549589)+W(4,1040303666,-1089538899,1055847004,1025308788)+W(5,1031194256,-1090088564,1052697432,1040121956)+W(6,1036112338,-1096939300,1050363555,-1124884732)+W(7,1031542812,-1092334596,1025617138,1051059157);sum2=W(0,1039076253,1084724252,1055999642,-1111202323)+W(1,1043377438,1057352437,-1108204793,982595482)+W(2,-1111770710,-1070809771,-1115649819,1026864091)+W(3,-1129064764,-1070013447,-1084654208,1008953953)+W(4,1041506513,1024963427,1027889169,1041107952)+W(5,-1117340191,-1115045950,1023558847,-1112891517)+W(6,-1113661124,1037860995,-1108774739,-1161342746)+W(7,1006037802,-1120758055,1034794526,1036271073);WS(-1089965247,1033154456); +sum1=W(0,-1118330000,1037068672,1043453383,-1112803845)+W(1,1043361746,-1091726905,1027410848,1030795409)+W(2,1028536899,-1106295439,1047994631,-1111747193)+W(3,-1106541856,-1087991002,1053447482,-1109712917)+W(4,-1103233833,-1094017778,1058853977,-1110327970)+W(5,1037178020,1026207675,1049286760,-1111739348)+W(6,-1122355891,-1102222128,1044913013,1037236782)+W(7,-1148310999,-1106998176,1056026770,-1104668925);sum2=W(0,-1104081637,-1104712414,1038273275,-1102746442)+W(1,-1115350296,1065017407,1027805677,1038124336)+W(2,-1102551062,-1101193417,-1097697554,1025981021)+W(3,1033477476,1054909386,1069044481,-1090398660)+W(4,1048930937,-1096226206,1051154993,1049254524)+W(5,-1092653578,-1094950793,-1097937335,-1111378843)+W(6,1049862570,1042131871,-1115393002,-1100983150)+W(7,-1095610208,-1100838677,-1090656582,1038627466);WS(1053522367,-1088249107); +sum1=W(0,1041083642,1049354980,-1104528935,-1116245577)+W(1,-1109062519,1050121221,-1089361286,-1108913352)+W(2,1041255149,1062047573,-1094323010,1044478835)+W(3,-1129341567,1050256849,-1085946707,-1106612546)+W(4,-1122816004,1058306025,-1092704114,1010650184)+W(5,1034422596,1054029415,-1096738148,-1127765836)+W(6,-1105678140,1043380368,-1095183726,1004046811)+W(7,1002201935,1057986114,-1098664466,-1116617606);sum2=W(0,-1115691041,1047105417,1066880006,-1078420733)+W(1,-1122196578,1040512713,1072356775,-1074089832)+W(2,-1133382325,-1115639944,1070833917,-1079250237)+W(3,-1119943136,-1093984910,-1106032356,1053171659)+W(4,1035619338,-1128164365,-1084317659,1063302165)+W(5,1026693101,-1112542694,-1103058628,1050228647)+W(6,-1121646682,1040561229,-1106694088,-1111273903)+W(7,1035287249,-1122951759,-1109474775,1041535222);WS(1054980735,-1118400611); +sum1=W(0,1023857233,1056052581,-1108899938,-1098911041)+W(1,-1136534172,1054619866,-1084632317,1014993130)+W(2,-1109579886,1062631892,-1087670245,1019079234)+W(3,1024279465,1063340895,-1087714282,984908360)+W(4,1031638446,1054891904,-1089981519,1040973935)+W(5,1042081899,1032051762,-1091518889,1034243544)+W(6,1025101580,1036582853,-1100292439,1038263499)+W(7,1037741818,1040187076,-1096282711,1035333164);sum2=W(0,1048663857,-1103126769,-1090522781,-1135969141)+W(1,-1115607290,-1089284711,-1135630263,-1096474341)+W(2,1050959246,-1106476140,-1116194786,-1110761886)+W(3,-1094885185,1065597134,1068281966,-1097679100)+W(4,1032263390,-1114774312,-1114594327,1030603925)+W(5,-1094433235,1044112203,1034641663,1025157613)+W(6,1034671855,-1110680696,-1120338125,-1121778209)+W(7,-1100445080,1044150663,1039802827,-1101519530);WS(-1099426814,1028666567); +sum1=W(0,1017347599,1050515008,-1097546199,-1122852442)+W(1,-1114817850,1054909169,-1091252816,1034424401)+W(2,-1102332157,1058789976,-1088740593,1040697053)+W(3,1038414608,1049870885,1026332624,-1119196265)+W(4,1040863441,-1096181150,1050979384,-1096850298)+W(5,1043586729,-1094822147,1046083753,-1101867410)+W(6,1033560385,-1110297504,1043042893,-1112505198)+W(7,1024225691,1035801215,-1106319780,1022200238);sum2=W(0,1032296335,-1113854030,-1123218166,1034439881)+W(1,-1113414658,1056314261,1057288090,-1106401889)+W(2,1032045591,1056282685,1048444709,1027355020)+W(3,-1096252543,-1076472908,-1076465599,-1099548772)+W(4,1039836782,1041975936,1054239999,1041344971)+W(5,-1130462124,1060789196,1064414385,-1137373456)+W(6,1032505935,-1113045826,-1101415652,1031341874)+W(7,1017080436,-1114544525,1017354944,-1131418272);WS(1048405758,1021439377); +sum1=W(0,-1095783591,1056714988,-1095028931,-1099026446)+W(1,1004365570,1053912029,-1097931508,1040281084)+W(2,-1111296393,1060368018,-1093355890,1042667324)+W(3,-1090472608,1058906144,-1084869763,-1099317986)+W(4,1053249340,1059710205,-1111710658,1058667863)+W(5,-1096289768,1050004859,-1089344390,-1094050929)+W(6,-1116930177,1050104788,-1098648430,1032145973)+W(7,1031327257,1057263364,-1095692170,-1127343131);sum2=W(0,-1137650289,-1102128439,1065729447,-1085103011)+W(1,-1108324664,1038586891,1042582877,-1096095433)+W(2,-1107068637,-1102631398,1055966210,-1096657292)+W(3,1053004242,-1096144010,1066736444,-1084794119)+W(4,-1096186406,1065778432,-1077760412,1061684194)+W(5,1044011702,-1087564484,-1109340585,1053274132)+W(6,1031462490,1041037240,-1088233524,1060428365)+W(7,1016473473,-1095964556,-1079487884,1070082531);WS(-1120621558,-1109747932); +sum1=W(0,1041405257,1056552380,-1086075216,1021959803)+W(1,1034046808,1057052863,-1102283433,1009707220)+W(2,-1118447615,1034826244,-1089852749,1002695151)+W(3,1031113092,1061462741,-1087896594,1030648525)+W(4,-1118172841,1057041023,-1089300195,1017359341)+W(5,1039149197,1051800560,-1089266110,1034838445)+W(6,1025628006,1051243933,-1098077639,1033512688)+W(7,1023987646,1054503948,-1098034299,-1099231069);sum2=W(0,-1072120352,1076686179,-1096491690,-1109988374)+W(1,-1071453180,1075980741,1055107632,-1125676035)+W(2,-1069998225,1075876198,-1100816518,1033428305)+W(3,-1071241469,1076219984,1048961210,1018908197)+W(4,-1073669228,1072219376,-1123192163,1040773271)+W(5,-1079882002,1071235859,-1097056656,-1129279043)+W(6,-1086087106,1056170781,1049622318,1030403985)+W(7,-1096258120,1057784547,-1098632303,-1116156171);WS(1014286296,1057122707); +sum1=W(0,-1100574608,1045128364,1045637171,-1113867461)+W(1,-1134927261,-1112841149,1041785732,1021982785)+W(2,-1096946922,1023155519,1051848326,-1106336253)+W(3,-1115033128,-1094208427,1066937726,-1099783438)+W(4,-1104533485,-1099169249,1058599142,-1105189673)+W(5,-1121259095,-1097752701,1049921902,-1131816685)+W(6,-1131995140,-1111007544,-1118760834,-1114789302)+W(7,-1118839498,-1093400894,1043420320,-1116552190);sum2=W(0,1049653051,-1095117458,1052542945,1018695699)+W(1,-1094509070,1054995367,1021265631,-1101605993)+W(2,1050525055,1042728281,1046926465,1044635344)+W(3,-1103662151,1058124872,1063131010,-1104882803)+W(4,1043452805,1049859565,1029162962,1042944443)+W(5,-1102028885,-1097129382,-1116537562,-1110047725)+W(6,-1109754017,-1098619851,-1092457406,-1107003327)+W(7,-1111709279,1051259496,-1078653130,-1114867517);WS(-1089617919,-1078924764); +sum1=W(0,1038586191,1054651431,-1087542485,1032587193)+W(1,-1112517470,1043170193,-1101086846,-1121720345)+W(2,1021690773,1058605998,-1088163691,1034793549)+W(3,-1148410045,1062049174,-1087004528,-1139319682)+W(4,-1123773533,1056236357,-1089020247,1040971627)+W(5,1037589846,1058401044,-1089711896,1052009144)+W(6,-1114886949,1034515388,-1095006441,1017461287)+W(7,1015916580,1056139353,-1089662071,-1138694970);sum2=W(0,1041183203,-1104791361,-1113641717,1040266660)+W(1,-1109901203,-1103309504,1018299463,-1124518657)+W(2,1047303939,-1109225788,993644855,1039912380)+W(3,-1146453442,1050748307,1050538753,-1107008276)+W(4,-1103370030,1032462009,1024125183,-1094411631)+W(5,1035308463,1055570013,1058013570,-1087158984)+W(6,-1107592095,-1104507532,1044744090,-1091454514)+W(7,-1129723226,1050955773,-1110543421,-1122733934);WS(-1102088830,1068463311); +sum1=W(0,1007817678,1054791531,-1088166471,1034628887)+W(1,-1114291787,1051084317,-1097682087,-1130503387)+W(2,-1106493040,1059023407,-1087032011,1042839161)+W(3,-1121377148,1060487316,-1087032009,1025313797)+W(4,-1120569345,1053262386,-1090195409,1040112167)+W(5,1037434082,1049438849,-1104445288,-1112558866)+W(6,-1121570543,1043319351,-1110294871,-1130274577)+W(7,1048479966,1037267389,-1112047510,-1107488086);sum2=W(0,-1092702026,1046572938,-1113806693,1023924734)+W(1,-1078842502,-1092761370,1010298098,-1134107544)+W(2,-1073165872,1048469719,-1106037347,-1114438827)+W(3,-1075365553,1050413401,1041503306,1017902665)+W(4,-1101579557,-1110447061,1037192623,1011674154)+W(5,1066341075,-1104166524,1033398310,-1109271682)+W(6,1071992070,-1123716833,1031702363,1028552632)+W(7,1076187261,1056626852,-1110743783,-1123830383);WS(1050299903,-1120086405); +sum1=W(0,1001761330,1015037916,1045981578,1032160884)+W(1,1051426245,1042953374,-1094503950,-1131440192)+W(2,-1097473350,-1103780307,1055197076,-1100940622)+W(3,1050955122,-1082933123,-1099126616,1056645367)+W(4,-1098718343,1055455844,-1118831961,-1095742542)+W(5,-1119699408,-1145769035,1049761702,1031622998)+W(6,1038117517,-1132909758,-1105955296,1041481643)+W(7,-1107622229,1039587926,1047033256,-1103124921);sum2=W(0,1033493706,-1100025935,-1117747708,-1131691420)+W(1,1004282338,1036668146,-1097774825,1042472719)+W(2,1032395114,1043333590,-1106149887,-1122758767)+W(3,1035721710,1058018229,-1110236537,-1106477628)+W(4,-1138557465,1035348312,-1105971349,1046834331)+W(5,-1094630455,1040910383,1017216296,-1101697584)+W(6,1050323990,1034465026,-1110352462,1040100106)+W(7,-1102984389,1044530527,-1108832665,-1099114129);WS(1059761855,-1093333930); +sum1=W(0,-1114738580,1026403632,-1105736123,-1114933837)+W(1,-1114617627,1045397583,-1109519752,1044731740)+W(2,-1102727321,1028768699,-1092041414,-1111636685)+W(3,1053910378,1067649611,-1090720496,1058839312)+W(4,-1094270689,-1104323849,-1112030179,-1095377736)+W(5,-1107452471,1042776267,-1103704317,1034877772)+W(6,-1130455238,1036450873,-1131764742,1031929286)+W(7,-1108958070,1044075076,-1106063752,-1113359528);sum2=W(0,1033753751,-1111931472,1037689465,1023732592)+W(1,-1102724392,1032416705,-1105246922,-1126463180)+W(2,-1104466296,1029992729,1052475163,-1118149766)+W(3,-1083668043,1069568682,-1090236396,-1106129378)+W(4,1048180527,-1114422988,-1122305941,1038071226)+W(5,-1130490520,-1133345747,-1123788932,-1124715334)+W(6,-1103926430,1038116955,-1127253836,-1117123194)+W(7,1029490699,-1129834714,-1122171294,1029091180);WS(1058247519,1058950523); +sum1=W(0,-1149972914,-1088063023,1055543086,1037155715)+W(1,1038957612,-1093535488,1052729022,1026693813)+W(2,1039970419,-1086741707,1058924163,1030719286)+W(3,1008158544,-1077128706,1057693884,1032127358)+W(4,1041515382,-1087332234,1060656868,1000958261)+W(5,1036144305,1032313207,1056531259,-1112386573)+W(6,1048236362,-1113848378,1049522521,-1144612480)+W(7,-1101573740,-1089306475,1052006205,1039554949);sum2=W(0,1037957789,1050553491,-1089722328,1050994656)+W(1,-1128637884,1004874497,1058234547,-1095571828)+W(2,-1110859440,-1106433025,-1098594890,1041665953)+W(3,1052981065,1058989771,1052545864,-1129708900)+W(4,1040710261,1058251934,-1106724054,-1111634443)+W(5,-1090346288,-1076253449,1032950959,1015279680)+W(6,-1107045102,-1079150504,1055215751,1053553553)+W(7,-1092015484,1073146781,993278274,-1088813426);WS(-1079689312,1054955487); +sum1=W(0,-1112827293,-1094091800,1053343716,1046408387)+W(1,1038847520,-1099397203,1057879171,-1099233409)+W(2,-1106748654,-1102151838,1023820222,-1154890390)+W(3,1038138418,-1086663035,1057249493,1012875058)+W(4,1035397268,-1087965823,1057985827,-1109124523)+W(5,1020226162,-1095805620,1053821069,-1126965269)+W(6,1030022886,-1098762192,1051466543,1036334304)+W(7,-1108673687,-1096846716,1049463311,1027304762);sum2=W(0,1029906557,-1118908362,-1075330978,1069116571)+W(1,-1110945783,-1110004947,-1081100797,1067844910)+W(2,1046588193,-1089040350,-1089891752,1066162938)+W(3,-1121400966,-1106443118,-1103643831,1048795077)+W(4,-1106274145,1054044230,-1095873523,1049522444)+W(5,1040948990,-1115139995,-1120742988,1042365723)+W(6,-1114149785,-1112260837,-1107023588,1011222152)+W(7,1030737726,1025987216,1017833328,1031208089);WS(1045323518,-1099573370); +sum1=W(0,1043494028,1054678847,-1087400961,1041221965)+W(1,-1110296205,1050638833,-1098183847,1038272854)+W(2,-1129034139,1058657792,-1085969705,1035507984)+W(3,1040205415,1062545342,-1082320511,1038672050)+W(4,1019451328,1053087270,-1092792902,1018934299)+W(5,1037480760,1054717567,-1090230188,1028598065)+W(6,-1144942569,1044080591,-1094581114,1032398451)+W(7,1019441962,1056118375,-1090342307,-1135273190);sum2=W(0,-1115726367,-1100272494,1026681555,-1095030133)+W(1,1028786141,-1113941052,-1107020345,1043410282)+W(2,1044450180,-1104186275,1044693748,-1120312046)+W(3,-1097529180,1042859033,1067055887,-1093369648)+W(4,1047479398,-1097402721,1064288021,-1083945294)+W(5,-1105649332,1051025911,1073649944,-1073003592)+W(6,-1127420023,1025042835,1067916626,-1079526678)+W(7,1035799966,-1139194229,1054550763,-1086831079);WS(-1086660959,-1095040438); +sum1=W(0,-1137772688,-1101831491,1047762270,1026497863)+W(1,-1103872010,-1108733164,1048734598,-1112526127)+W(2,1033664792,-1099393082,1053294440,1036444877)+W(3,-1114303830,-1091611870,1032897582,-1105948909)+W(4,1043631948,-1111668992,1054700448,1045765800)+W(5,-1110960013,-1092153253,1051790266,-1102627253)+W(6,-1112201312,-1104258339,1038982672,1030853145)+W(7,1004207675,-1111896549,1042342295,1024477884);sum2=W(0,1047134358,-1100773581,1038575217,-1121016162)+W(1,1032860761,1019143260,-1097448906,1027754828)+W(2,1058187056,-1086969962,1050436365,-1118814167)+W(3,-1089859690,1060822499,-1092585260,1047705700)+W(4,-1073724300,1074524802,-1097001013,992280012)+W(5,-1113017653,-1127402252,1052022456,-1115523910)+W(6,-1123513506,986153015,-1101541136,1026625966)+W(7,1005834992,1026902445,1040058169,-1115254226);WS(1065625968,1033455989); +sum1=W(0,1037701789,-1151616802,-1102944307,1035789757)+W(1,-1137040283,-1099349487,1053320242,-1106274637)+W(2,1000406064,1047711372,-1098462560,1048627484)+W(3,-1094784938,-1115632781,1053161728,-1098374228)+W(4,1050863995,-1088133648,1049613697,-1120581030)+W(5,-1103592251,1049293870,-1128175786,-1114622845)+W(6,1032127959,-1118922740,1017489163,1038993832)+W(7,1038622703,-1120882929,-1119810116,-1165953346);sum2=W(0,1035866397,-1099238508,1052038184,-1107491561)+W(1,-1103116216,1047962584,-1105248240,1027069673)+W(2,1059558286,-1082734190,1057669233,-1098068789)+W(3,1058384307,-1088122523,-1091086098,1053762892)+W(4,-1096953271,1056069525,-1083280561,1064349048)+W(5,1042132369,-1106560803,1032403631,-1107462772)+W(6,-1111426470,1038442279,-1104452063,1040922744)+W(7,-1128202268,1028886015,-1150402298,1012204557);WS(1066439152,-1108830929); +sum1=W(0,-1102916748,1055608939,-1103898045,1013732302)+W(1,-1108788820,1051866141,-1097938907,1035488645)+W(2,-1097607254,1058768962,-1093577324,1043113957)+W(3,-1099017414,1030462560,-1125603603,1027216291)+W(4,-1168846782,-1113005110,1040477611,-1143171172)+W(5,-1109193920,-1109987210,1050862423,-1118580993)+W(6,-1128476473,-1109670205,1039038758,-1107320747)+W(7,-1106724277,-1105116142,1053895221,-1107171108);sum2=W(0,1050905005,1051409035,-1123874142,-1099079861)+W(1,1051922636,-1107944278,-1131839644,1035659117)+W(2,1052154527,1040207956,-1100926997,-1109355656)+W(3,1005525738,1060123319,1046139234,1029590720)+W(4,1024591478,1032045878,-1113252250,1032543174)+W(5,-1094205878,-1096175996,1039675350,1044310065)+W(6,-1094330307,-1086096303,-1128729660,-1129395200)+W(7,-1105421569,-1081193369,1062516858,1042520685);WS(-1094347903,1040885342); +sum1=W(0,1027015666,-1119901274,-1109404651,-1145327523)+W(1,-1097151811,1047615033,1051228067,-1096635113)+W(2,1050782150,-1115052947,-1096976391,1048638245)+W(3,-1106442815,1051587896,-1096200649,-1105180361)+W(4,1051184308,-1105704339,-1126487153,1051518582)+W(5,-1091810963,1046407197,1040585575,-1092825760)+W(6,1034433919,1009768300,-1132445914,1038762547)+W(7,1042242605,-1122889273,-1108464678,1040013733);sum2=W(0,-1121205117,-1124056141,-1106581817,1026565438)+W(1,1031829824,-1109805410,1007706034,1029970286)+W(2,-1105324964,1045427632,1046732003,1047283254)+W(3,-1090390675,1059020251,1057752640,-1089850616)+W(4,-1110420773,-1107061510,-1101115525,1031976810)+W(5,1018005966,-1118368537,-1103994134,1036394258)+W(6,-1113281242,-1115675784,1036673543,-1112565336)+W(7,1032068637,-1113920834,1042522746,-1145818031);WS(1066366016,-1121083386); +sum1=W(0,-1127500850,1026624689,1013565235,-1127181143)+W(1,-1122305754,-1114017662,1052467062,1035730049)+W(2,1025706181,-1088657475,-1121688536,1045310349)+W(3,-1104671484,-1098749979,1066224034,1026340635)+W(4,1043832110,-1085705014,-1112016562,-1121566277)+W(5,-1111488580,1037547214,1041900405,-1127673329)+W(6,-1123271764,-1112264441,1043675185,998683632)+W(7,1015742169,-1105147876,1022047173,-1132045794);sum2=W(0,-1102951634,1043023116,-1104735391,1035018995)+W(1,1044058166,-1093545812,1058451408,-1112978123)+W(2,1037657608,-1093647750,-1104370519,1043811519)+W(3,-1091261805,1070997171,-1105620254,1052846459)+W(4,1057746121,-1082044166,-1091103100,-1097428497)+W(5,-1106029228,1051593249,-1096225251,-1127092852)+W(6,1006392595,-1100798567,1052307063,-1107453736)+W(7,-1119100020,1013819138,-1121077487,1041369362);WS(1059191103,1030618557); +sum1=W(0,1034200101,1032351793,-1100440271,-1148363237)+W(1,1053678608,1049973094,-1098031908,1026486548)+W(2,-1114145283,1058794603,-1087452589,-1194991971)+W(3,1047695489,1053292689,-1078695803,1043453347)+W(4,-1114663316,1055818163,-1125225546,1033675947)+W(5,-1137634576,1053263444,-1094543429,966472909)+W(6,-1125278731,1041016873,-1116533557,-1115520783)+W(7,-1138534517,1043320696,-1104858229,-1119664758);sum2=W(0,1021496216,-1095812325,-1116672596,1031503244)+W(1,-1072453458,-1094113031,-1112299630,1023122856)+W(2,-1079530578,1068683999,-1135088113,1036078566)+W(3,1063841069,1074699170,-1126165044,1036242384)+W(4,-1095958945,1043477830,-1107446259,-1100441243)+W(5,1042172731,1031880682,-1119142347,1009915385)+W(6,1015153576,-1121439437,1037216194,-1114450875)+W(7,-1132334880,-1115200049,1034903618,1017712520);WS(-1096433855,1052342409); +sum1=W(0,-1117693364,1042163431,1006023611,-1113444755)+W(1,1041070378,-1095385709,1034697390,1049542464)+W(2,-1105417036,1060080198,-1109633387,-1112382959)+W(3,1052133240,-1090036408,-1085473397,1048891757)+W(4,1042648272,-1090327769,1057448056,-1111238376)+W(5,-1123398616,1043184694,-1105658040,-1106505885)+W(6,1044512510,-1111854479,-1104977148,1049508979)+W(7,-1105041790,1043408999,1041051171,-1110665802);sum2=W(0,1039259027,1043188759,-1165551167,-1113326246)+W(1,-1119373866,-1082984200,-1105050294,1045229872)+W(2,-1086821333,-1077733706,-1103802686,-1109909290)+W(3,1052826002,1067327309,1068967257,1052700624)+W(4,-1117342490,-1149070344,1054626023,-1098764713)+W(5,1036052293,1052358305,-1101813629,-1099183932)+W(6,1037381955,-1102382047,-1103461210,1052205497)+W(7,-1101694007,1050777563,-1106555317,-1096821402);WS(1046655614,1069864308); +sum1=W(0,1035633391,-1106200785,-1105260712,1050507575)+W(1,1040943483,1031319761,1026979270,1034433460)+W(2,1045417382,-1120751363,-1106053451,1045765948)+W(3,1043913370,-1093886310,-1121044950,1041581532)+W(4,1050212129,-1098821847,1042106970,1029812249)+W(5,1047844019,-1088130094,1049054225,1017929306)+W(6,1039058852,-1092291401,1041620790,1028938706)+W(7,1043891960,-1082722808,1042598038,1034869942);sum2=W(0,-1098805029,-1082465618,1017798412,1045866690)+W(1,-1101136548,-1084472150,-1108050411,1039888035)+W(2,-1094351375,-1085764460,1031330790,1027046574)+W(3,-1097728468,-1140347496,1053843229,1038111290)+W(4,1040878916,-1100091144,1043199898,-1100094208)+W(5,1049713965,1049328541,986797508,-1104239104)+W(6,1037060075,1062808960,-1119994130,-1098800085)+W(7,1058810464,1071144827,-1097822096,1017716576);WS(-1077527440,1065234224); +sum1=W(0,1031059492,-1088676934,1055802445,-1159469258)+W(1,1014606833,-1098001853,1051162632,1001612013)+W(2,1041495444,-1087241405,1059501583,-1109463457)+W(3,1031584061,-1083911392,1061276187,-1105280809)+W(4,-1143158030,-1095088526,1050088278,1038556792)+W(5,-1140389945,-1096536807,1049527800,986827883)+W(6,1035424519,-1104484775,1042937212,1030875577)+W(7,1013235228,-1100223239,1037087943,1047418837);sum2=W(0,1026928347,1019217071,1027288437,-1112677997)+W(1,1006719462,-1098369589,-1099640354,-1146387796)+W(2,-1103317527,1041304779,1050941648,-1072403340)+W(3,1043604137,-1134457784,-1112266437,-1071428003)+W(4,-1106627965,1048134757,1027462477,-1082446250)+W(5,1034526167,-1118427047,1040843010,1059493547)+W(6,-1117999031,1029994729,-1104465031,1072461191)+W(7,-1134258967,-1113504087,1054764710,1077848621);WS(1034219259,-1130863201); +sum1=W(0,-1122470601,1036468120,1033355302,-1104067775)+W(1,-1125729883,1031973022,-1125640547,-1112351746)+W(2,-1119868741,1045421587,-1122038588,-1106594245)+W(3,-1092963050,1062931954,1044707408,-1094830635)+W(4,-1102984950,1062738826,-1104269382,-1127079049)+W(5,1017182198,1050208654,-1106320445,-1109997276)+W(6,-1107264969,990945063,-1110744610,-1112571199)+W(7,-1116589116,1023027040,-1098846428,-1117279521);sum2=W(0,-1120041672,1041156572,-1103868400,1036471018)+W(1,999703935,1029144962,1036670980,-1107170022)+W(2,-1109032994,1037796455,1043292537,-1115113192)+W(3,1041627711,1046556501,1059414852,1029249656)+W(4,-1111815622,1060385029,1048639871,-1126242312)+W(5,1029813110,1040466231,-1105513272,1043143286)+W(6,-1110751572,-1103822492,-1100107078,-1101226736)+W(7,-1114401610,-1076222058,1043280503,1034327293);WS(-1097041087,-1081891922); +sum1=W(0,1045201037,-1097075376,-1126257330,-1115394372)+W(1,1042240134,-1091271089,1049467348,-1097795722)+W(2,1049780286,-1094847921,1057610047,-1097045891)+W(3,1039927583,1059654550,-1141428591,-1103383438)+W(4,-1122695635,1056430510,-1089703504,1036098616)+W(5,-1110484942,1057233913,-1087958744,1033721138)+W(6,-1117417409,1041827328,-1096746586,1035539581)+W(7,1039840796,1050554535,-1096159486,-1131932502);sum2=W(0,1012982255,1052214657,-1136022111,1032353073)+W(1,-1101224821,1042508745,-1093748656,1020863779)+W(2,-1109376974,1042044290,1045672838,-1113516472)+W(3,-1116588919,1071547407,1065241977,1040242686)+W(4,-1096183361,-1089469015,1049249478,-1120964187)+W(5,-1092858264,-1090264503,1047260540,-1103746594)+W(6,-1090462581,1039700797,1046964814,-1100885683)+W(7,-1119652925,-1083767147,-1107087862,1028764718);WS(-1088621983,1079497913); +sum1=W(0,1027161409,1052712773,-1102058289,-1100368317)+W(1,-1102075462,1051824794,-1098602113,1021667349)+W(2,-1120075900,1057942154,-1096292664,-1106147487)+W(3,-1109063205,1060662493,-1082645434,1039175801)+W(4,-1104005172,1062931830,-1090788424,-1129475640)+W(5,-1136555883,1057800198,-1090185155,1036809656)+W(6,-1112015962,1047971474,-1098101583,1009161622)+W(7,1033292370,1059753504,-1088742454,-1143403778);sum2=W(0,-1150684740,-1095235693,1044985054,1035589955)+W(1,-1114056841,-1115238312,-1127339724,-1108218072)+W(2,-1164208415,-1080604054,-1106549807,1022130402)+W(3,1034698244,-1071093346,-1080554397,-1106288272)+W(4,-1134574697,-1083926997,-1104923511,1024268734)+W(5,1043895716,1068501149,1052487431,1036117000)+W(6,-1101980686,1079699126,1054997905,-1130803558)+W(7,1050191679,1056576712,1029700329,1031345667);WS(-1087955103,1023517655); +sum1=W(0,-1106663590,-1090071677,1062902614,1013889298)+W(1,1037773274,-1103425461,1055773525,-1100022495)+W(2,-1116651838,-1089596734,1059014377,-1101161913)+W(3,1022742037,-1082614473,1060267482,1030094516)+W(4,1040438284,-1088542372,1057943128,-1120043085)+W(5,-1117813952,-1092404165,1054561254,-1116951793)+W(6,1032561623,-1100716355,1051603940,1035114019)+W(7,-1102318801,-1098396937,1049819671,1026546470);sum2=W(0,-1107653444,-1094858135,1084595456,-1065438414)+W(1,1032757863,1061839668,1074196920,-1069856939)+W(2,-1150202006,1049735190,1067688119,-1073375528)+W(3,1037010009,-1123088190,1070729644,-1082206819)+W(4,1026258576,-1089824138,1050587980,-1086758222)+W(5,1041748319,-1098358767,1057889952,-1097734258)+W(6,-1131622502,1049699018,-1127981435,-1106404220)+W(7,-1112646994,-1103776938,1048602984,-1098587943);WS(-1089607615,1063931357); +sum1=W(0,-1156148665,-1089422721,1059281720,1041177357)+W(1,1033042784,-1099513696,1053472432,-1107985659)+W(2,1027235975,-1086976804,1060428066,-1122980350)+W(3,-1117005684,-1083936660,1061258678,-1103260375)+W(4,1045226606,-1089259880,1055780369,-1111710595)+W(5,-1112863441,-1092850238,1057981025,-1109580750)+W(6,1040283212,-1096473171,1051704489,-1125267169)+W(7,-1102751384,-1096124078,1054893029,1035448166);sum2=W(0,1024298597,1074606150,1080820206,1030125639)+W(1,1037699935,1048614297,1047271097,-1121834510)+W(2,1030404477,-1085515118,-1079656120,-1166463196)+W(3,-1094400051,-1071672142,-1066721483,-1101580999)+W(4,1052543759,-1091215560,-1078287609,1028051862)+W(5,1024136176,-1095087497,-1096732136,1009399200)+W(6,-1159281410,1050441058,1057126689,-1117118368)+W(7,-1102232478,1071366890,1074685383,-1113696211);WS(-1083901183,1060981851); +sum1=W(0,-1106299749,1048978486,1016862419,-1121286832)+W(1,1039492049,-1107896957,-1115539879,1049662006)+W(2,-1113140273,-1119192025,-1098481927,-1106196840)+W(3,1055856482,-1090009641,1058119768,-1149152444)+W(4,-1103186821,-1088174932,1052019064,-1101797848)+W(5,-1108369378,1034759564,1048477348,-1146708651)+W(6,-1115937041,1008970428,1034559233,1024756171)+W(7,-1127954738,1027686380,1044214632,-1111878699);sum2=W(0,1030335348,-1130369060,-1106797797,1006653296)+W(1,-1110488253,1056034410,1040331307,-1094310491)+W(2,-1096373435,-1097486091,1063611375,-1113782011)+W(3,1042224202,-1094958491,-1106971469,1042512890)+W(4,1038378538,1057631708,-1093142933,-1140559356)+W(5,-1117770266,-1114209587,1037075531,-1114686161)+W(6,1036930446,-1105273765,-1115233817,-1115373149)+W(7,-1168276161,-1115537765,1025218793,1026640233);WS(1063762143,-1098158381); +sum1=W(0,1027555010,-1106988831,1031921883,1033567284)+W(1,-1113176415,1049655577,1032851437,-1099137927)+W(2,1044835884,-1089572014,-1106152127,1052671923)+W(3,-1094480963,1041189880,1057311541,-1101762329)+W(4,1042205032,1035602487,-1100163979,-1106014811)+W(5,1038186408,-1095655321,1046700975,1044902280)+W(6,-1112247611,995617211,1050763922,-1094051821)+W(7,1041241393,-1102946366,-1119959180,1044480349);sum2=W(0,1010916279,1040615985,-1103581164,-1126424725)+W(1,-1108274646,1037755544,1053142923,-1119616718)+W(2,-1108043460,-1107213139,-1091384808,1062997316)+W(3,1049469526,-1085933104,-1093682556,1050086980)+W(4,1061284555,-1098201753,-1095835641,1044548392)+W(5,-1097521196,1027381238,1044225612,-1099920539)+W(6,1047936551,1007266289,-1101597200,1043928239)+W(7,-1106103943,1039340208,1011948943,-1120667237);WS(1060336095,-1119657045); +sum1=W(0,1023788715,1048279897,-1106238784,-1110161279)+W(1,-1117126579,1044311660,-1096869700,-1136931731)+W(2,-1108875843,1062204714,1019770348,-1115905233)+W(3,1022815367,1060724749,-1081389759,1034904806)+W(4,-1100562722,1063043033,-1084472996,-1124661292)+W(5,1043213137,1050929706,-1097593661,1017832853)+W(6,-1111482971,1037241746,-1106654286,-1109716592)+W(7,-1142747249,1051192212,-1102133781,-1109353889);sum2=W(0,1036664563,1009247708,1013790140,1035577258)+W(1,-1103288529,-1126560341,-1102369678,1008412166)+W(2,-1102134383,-1067246446,1047852878,1016094574)+W(3,1057556566,1067728497,-1093152080,1045655865)+W(4,-1099512639,1078180911,-1110504691,-1123477495)+W(5,1031668335,-1085231458,1042704555,1023608957)+W(6,-1103860103,1047956293,-1132621098,-1112760821)+W(7,1028018661,-1114058193,1030531898,-1120624893);WS(1035518203,1045613832); +sum1=W(0,1044215468,1057279232,-1097478568,1042423606)+W(1,-1096085823,1043513429,-1096451901,-1098498663)+W(2,-1102751483,1057361220,-1091716958,1012832112)+W(3,1007706274,1061539183,-1085528932,1054368634)+W(4,-1098118842,1057962612,-1093017477,-1103819295)+W(5,1051305356,1058710773,-1091718961,1057808613)+W(6,-1096250919,1037420261,-1100741095,-1100568821)+W(7,-1106455273,1053125757,-1097230063,-1111733504);sum2=W(0,-1105709018,1058997495,-1086433444,1022365788)+W(1,1050542737,-1084246791,1065459234,-1101303092)+W(2,-1106108137,-1103685622,1055198365,1040995532)+W(3,1027983028,-1106510960,-1102412567,1044759128)+W(4,1053295819,-1089515541,1057925132,-1104466949)+W(5,-1091042532,1066680974,-1080963495,1043286350)+W(6,1049054259,-1088412186,1056230430,-1096360229)+W(7,-1108416827,1037143386,1049505110,-1106131860);WS(-1103921662,1072713673); +sum1=W(0,1042712209,-1111681022,1029885560,-1123292759)+W(1,-1130675027,-1104528338,1032835743,-1124533373)+W(2,1041149044,-1103688784,1053127408,-1101763282)+W(3,-1108819823,1055222237,-1089836355,-1143773237)+W(4,-1099465033,1063848575,-1089832742,1044926036)+W(5,-1102885798,1053207587,-1090841456,1032528402)+W(6,-1108891552,1051374172,-1098121506,1040294582)+W(7,-1122152216,1044600823,-1101098252,1018003689);sum2=W(0,-1116466906,1017580326,-1100144980,1018640494)+W(1,1032691193,1031996320,1045143645,1067424527)+W(2,-1110682367,1040673767,1055366708,1071822180)+W(3,-1134651946,-1121084452,-1112456349,1057195246)+W(4,1019799157,1012141662,1037079065,-1078565795)+W(5,1020309206,-1123645954,1036705771,-1073530916)+W(6,1028255175,-1125118807,-1112096331,-1087156462)+W(7,-1118897648,1005021204,1021253254,1033125682);WS(1054959295,1011151216); +sum1=W(0,-1124554365,1043778462,-1140499785,-1103855992)+W(1,1028540695,-1104732576,-1111020475,-1113072532)+W(2,-1107828893,1063706911,-1098481604,-1121738665)+W(3,-1135601758,1052343180,-1081762405,1048654720)+W(4,-1135515507,1050410381,1053053447,-1096321673)+W(5,1032466990,-1128754020,-1112972157,1012954617)+W(6,-1110097877,1034222620,1023071124,-1110289546)+W(7,950109203,1043960229,-1120112616,-1114439871);sum2=W(0,-1104841432,1047456971,1024424907,991739097)+W(1,1047690020,-1094867354,1033457856,-1129013032)+W(2,-1084375561,1068880529,1046341732,-1103560341)+W(3,-1086552004,1065412328,-1087761187,1059009805)+W(4,1046416693,-1080289298,1062384539,-1098849357)+W(5,1025710892,-1110380578,-1103331799,1045332030)+W(6,-1130856953,-1105039836,1024509174,-1104241974)+W(7,-1113936449,1016290713,-1126452938,1019994493);WS(1061669311,1066543312); +sum1=W(0,-1120030840,-1097490380,1038501126,1026361650)+W(1,-1111872182,1051889621,-1110528784,-1112085217)+W(2,1046388965,-1085299564,1050043436,1019064063)+W(3,-1109640224,1043197314,1054292822,-1116217609)+W(4,1051640445,-1099578605,-1095700775,1045441021)+W(5,-1104742312,-1114905437,1056051928,-1097066005)+W(6,1040612129,1033952272,-1108619674,-1146667493)+W(7,1018742870,-1095793020,1044337364,1039394788);sum2=W(0,1041249103,-1098300344,1041141085,-1123648820)+W(1,1040922446,-1147221163,1014590689,-1115292810)+W(2,1047169006,-1097103704,-1094689158,1021735499)+W(3,-1133026152,1055827658,1056443342,1023898168)+W(4,1045305983,-1082349433,1051958562,-1153021086)+W(5,-1121038685,-1105225178,1035590360,1038130213)+W(6,1032067159,1036618956,-1098250629,1035045284)+W(7,986169209,-1102095468,-1145857885,1030074795);WS(1066007616,1040865170); +sum1=W(0,1016703369,-1154003525,-1104662792,-1111826720)+W(1,-1106398093,1038441464,1031083397,-1146451379)+W(2,-1114560988,-1112021256,1052887594,-1102003526)+W(3,-1096325697,1050813825,1061249791,-1102172436)+W(4,-1094335779,1059033474,-1126656183,-1104413998)+W(5,1023023221,-1108543232,-1106571274,-1109007926)+W(6,-1113231876,1040892233,-1121820472,-1112600993)+W(7,1022983872,1034570898,-1115038347,-1123919488);sum2=W(0,-1117895883,-1109314178,1043196819,1029963629)+W(1,1036640719,-1103775527,1047073701,-1117061975)+W(2,-1092695525,-1079308608,1032498235,1053147047)+W(3,-1109277526,-1088245301,1071134194,-1113344034)+W(4,1054484712,1032194306,-1098274857,1027577620)+W(5,-1102073467,1058556412,-1102222667,-1104158962)+W(6,1047716642,-1097777200,1028797614,1019489703)+W(7,-1115714917,1049638324,-1109885254,-1106961770);WS(-1112959995,-1090797387); +sum1=W(0,998546749,-1107113888,1042251615,1034524319)+W(1,-1102515009,-1157171375,1043372984,-1109045169)+W(2,1018649191,-1095395659,1057847906,1025715818)+W(3,1024148768,-1088418302,1049085946,-1107024218)+W(4,1036601843,-1108499994,1054314562,1036766314)+W(5,991750171,-1092700079,1052242560,-1102346050)+W(6,-1134314668,-1100812608,1010001228,1041369791)+W(7,1024106779,-1106951576,1043704436,-1136260253);sum2=W(0,-1097076796,1045091130,1028367411,1016501386)+W(1,1000463738,1024736081,1040206702,-1122385083)+W(2,-1083533587,1064625577,-1112850496,-1104146558)+W(3,1064100942,-1096201033,-1086258418,1050125885)+W(4,1074997490,-1071550159,1052069491,-1105686824)+W(5,1043707697,-1106033160,-1098690685,1041978517)+W(6,1028507309,-1118548401,1050202273,-1109567340)+W(7,-1152835380,-1111712908,-1113053149,1032203802);WS(1065286463,-1155116140); +sum1=W(0,-1127743664,-1099417962,1047837241,1035108393)+W(1,1036265535,-1091060822,1038987540,-1121911642)+W(2,-1118137852,-1088882712,1061626690,-1119901843)+W(3,-1121018025,-1089265061,1069311516,-1100290432)+W(4,1024160014,-1088513194,1053957977,-1101311755)+W(5,1028265374,-1090887512,1051214117,980641778)+W(6,1031461691,-1097685517,1050330231,1030945477)+W(7,-1116217572,-1096201501,1045642342,1036102670);sum2=W(0,1023964675,-1104287950,-1095527688,-1107378538)+W(1,1054178647,-1098771138,-1106164282,-1107123343)+W(2,-1104607531,1030951671,1049293814,-1102317974)+W(3,-1088748842,1062304002,1069791349,-1093097006)+W(4,1034720649,1056993385,-1106129898,-1107155572)+W(5,1027793575,-1095484784,-1093744890,-1104614583)+W(6,1026748348,-1103591056,1040804508,-1111048704)+W(7,1048440611,-1115722179,-1102843948,1036145149);WS(-1107864827,-1106183398); +sum1=W(0,-1106667222,1028246417,1062610107,-1094330385)+W(1,1032383543,-1105288567,1048732230,-1113355593)+W(2,-1104095901,1024277645,1033194034,-1100412503)+W(3,-1105126732,1031807228,-1097352540,-1110531197)+W(4,-1119082647,1024663749,1042072353,-1106817153)+W(5,-1099092218,1059042594,-1097841594,-1119219065)+W(6,-1106477481,1038514313,-1132497297,-1116226478)+W(7,-1100466619,1061247795,-1116357250,-1112377140);sum2=W(0,-1124057659,1049202878,1055877653,1043135164)+W(1,-1107748661,1029365940,1040631102,-1120955446)+W(2,-1106641450,-1100669682,-1121942624,1048773070)+W(3,-1106278570,-1090514146,-1097531540,-1096084011)+W(4,-1115427744,1050790854,-1095195500,1040842880)+W(5,1045306633,-1101749265,1044511371,-1101432694)+W(6,-1107251222,1044664667,-1123742683,-1108344435)+W(7,1044220643,1051259000,1035140356,-1156279482);WS(-1107710971,-1103335008); +sum1=W(0,1020774038,1057965326,-1096736580,-1108312647)+W(1,-1097452822,1052789750,-1097416740,1007270548)+W(2,-1103681302,1061528673,-1090723228,1008435167)+W(3,-1142400543,1059882105,-1082070814,1032878150)+W(4,-1130541650,1058381533,-1096313647,1024150455)+W(5,1035627390,1052101646,-1092903493,1029066731)+W(6,1026485526,1047827121,-1095953623,1024752368)+W(7,1026933710,1048909172,-1094072619,-1129872006);sum2=W(0,-1091198687,1051358993,1026242284,1036983987)+W(1,-1096592719,1056674994,-1102658445,-1112372364)+W(2,-1088722291,1050253089,1039492851,-1109827680)+W(3,1017819408,1057806550,1048044980,1033031265)+W(4,-1104841225,-1098514434,1047848116,-1106004699)+W(5,1047280108,-1095745001,-1114927114,-1128936304)+W(6,-1133964792,-1121773836,1009730080,1044703642)+W(7,1046210234,-1101840089,-1115459009,-1121859563);WS(1046617982,-1079283690); +sum1=W(0,-1112235521,-1103103206,1050398983,1031782004)+W(1,-1112371935,1005568807,1053710959,-1112406582)+W(2,1046025067,-1082068590,1059470764,-1109731202)+W(3,-1114138877,1053438832,1056782757,-1120370051)+W(4,-1100106092,1050481934,-1084354719,1047048563)+W(5,-1106636112,-1113851306,1044662919,-1114617505)+W(6,1006684852,-1101804759,1028720557,-1122334215)+W(7,-1134743124,-1101795702,1040488963,1035089325);sum2=W(0,-1123583696,-1114190125,-1123424510,1035265901)+W(1,1041752924,-1107057915,-1108427412,1011193218)+W(2,-1096033091,1054169171,-1101097272,-1097576107)+W(3,1045050816,1066165326,1060681517,1037309084)+W(4,-1111810372,-1090934807,-1093738003,-1094306097)+W(5,1044170848,-1094482563,-1094742214,1047478278)+W(6,1035342189,1030376713,-1122528198,999245333)+W(7,-1107148363,-1140242036,1046835784,-1118953940);WS(1057107647,-1115492411); +sum1=W(0,1043432615,1037909322,-1092726398,1042270260)+W(1,1017716083,1044219192,-1094557923,1036944691)+W(2,-1115224236,1059480955,-1089724826,1049175094)+W(3,1034158091,1055275264,-1079486955,1036017407)+W(4,1031606075,1062186253,-1094016652,-1112299996)+W(5,1040917102,1051479740,-1090199321,1012181234)+W(6,-1119339928,1036604907,-1111430132,1026270626)+W(7,1006053250,1049031914,-1124163213,-1106538704);sum2=W(0,1018646782,1037675363,1056993548,-1095820604)+W(1,-1107779390,1041358579,-1114299594,-1106961783)+W(2,1048577488,-1103110037,-1108103869,-1113810892)+W(3,-1094766117,1063077105,1069120744,-1094104293)+W(4,1029078775,-1094239344,1019393926,-1100654825)+W(5,-1115207772,-1097294293,-1090842684,1030620215)+W(6,1041354677,-1106609062,-1103795001,1015746998)+W(7,-1134027235,1005749079,-1111892981,1031888221);WS(1038408187,-1104646224); +sum1=W(0,-1100666444,1031841147,1045835257,-1121385297)+W(1,1032659338,-1095811512,1046356758,-1115316924)+W(2,-1096791479,1046629869,1055310447,-1109718991)+W(3,1050254507,-1086582314,1049546009,1043876936)+W(4,-1125163769,-1092033141,1059064223,-1115882186)+W(5,1034716030,-1095590162,1032941357,1051195252)+W(6,-1104041563,1012740704,1016606100,-1110386378)+W(7,1024265746,-1097384267,1043234370,-1121465454);sum2=W(0,1033146053,1033178697,-1110558215,-1107600367)+W(1,1034495435,1013274853,-1103797816,1046600596)+W(2,1033891153,1044565157,-1074394842,-1096372667)+W(3,1015618236,-1083473003,-1075035519,1071496075)+W(4,-1102272365,1047899954,1070896015,1070598351)+W(5,1026402836,1033829854,-1107786181,-1103057086)+W(6,-1126192412,1026659107,1039466503,-1099451771)+W(7,-1130670616,-1129244632,1033633210,-1106841766);WS(1060540543,-1145107984); +sum1=W(0,1016949312,-1111708420,999025948,-1110878953)+W(1,1033700674,-1115158282,1037057540,1034636061)+W(2,1008485935,-1112773425,-1111113150,1006219749)+W(3,1050394829,-1105627788,-1105528438,1047777444)+W(4,1025975118,-1166436080,-1092533512,1034379342)+W(5,1027755062,1049090616,-1097657169,1023310559)+W(6,-1166944971,-1131929874,-1125616567,1042471825)+W(7,1036625882,1027903943,-1104970374,1029991232);sum2=W(0,-1112727972,1028528033,1050127712,1039139414)+W(1,1041061913,1047913039,-1120606988,-1090975722)+W(2,1030171918,1058299937,-1075312291,-1096898908)+W(3,1049192765,-1088725965,1051042420,1056682084)+W(4,-1097932217,1006741474,1061621025,1043329296)+W(5,-1108991614,1028842331,-1120436768,-1136718330)+W(6,-1128255593,-1119404040,1041035795,1019658885)+W(7,-1128975721,1019613109,1038145345,1017746289);WS(1058512095,1047466767); +sum1=W(0,1025672397,-1102753041,1037445664,1037433000)+W(1,1032743763,1015664161,1032570339,1033220516)+W(2,1046625694,-1102686879,-1091026739,1035056566)+W(3,1040236986,-1099087483,-1089271035,1024398415)+W(4,1041791363,-1097904327,-1100626131,1043847942)+W(5,1042422310,-1097334084,1051389809,1042353123)+W(6,1024317081,-1123206279,1041773046,1037697617)+W(7,1034505416,-1096407969,1050962859,1047698739);sum2=W(0,-1111694157,-1097429792,1052756319,-1115035673)+W(1,-1113457231,1040318944,-1131566802,-1108486657)+W(2,1007020677,-1109123041,1066240251,1057627634)+W(3,-1110494513,-1087577139,1071158756,1052796029)+W(4,1036239980,-1115766281,1055974927,1037312144)+W(5,1042151096,1033854974,-1085216854,1031946717)+W(6,1014804229,1056323633,-1076147337,-1107413695)+W(7,1038268008,1058473731,-1078122726,-1088208012);WS(-1087119871,1051442968); +sum1=W(0,-1106951233,-1101188351,1055191809,-1118371512)+W(1,1026199466,-1102133666,1046522759,1024298399)+W(2,-1111827529,-1096477343,1061746551,-1102462991)+W(3,1034911407,-1081083296,1062137809,-1118895495)+W(4,-1110066258,-1093686286,1056808794,-1105243164)+W(5,1036906330,-1089794286,1061657374,1028468933)+W(6,-1121489041,-1102503648,1025414769,1001909715)+W(7,-1123695161,-1096524016,1043754020,1039027467);sum2=W(0,1036012528,-1111568121,-1125130883,1019317279)+W(1,-1136414534,1023613585,1037328619,-1141870971)+W(2,1028357901,1046290638,-1077265349,-1105362146)+W(3,1018170307,-1086518431,-1068062671,1041918725)+W(4,996800246,1032866656,1083861052,1040576139)+W(5,-1115554829,1040198779,1057186482,-1110577355)+W(6,1018408279,-1115393969,-1101393956,1032099345)+W(7,-1128152611,1031067220,1024816461,-1109411807);WS(1041081598,-1101063046); +sum1=W(0,1038662072,-1123374599,1035193857,-1104056554)+W(1,-1105628103,1048894326,-1098151405,1009505700)+W(2,1046838359,1044003395,-1109376817,-1107771451)+W(3,-1112508084,1062900743,-1082115704,1039692648)+W(4,-1112561351,1058339600,-1087104856,1049374543)+W(5,1047812813,1041428913,-1097118497,-1126547869)+W(6,-1106996345,1044355834,-1098603955,1037690530)+W(7,1045311157,1013224727,-1110120844,-1121969199);sum2=W(0,1034938637,-1102665080,-1083931487,-1096043986)+W(1,-1110454828,1066739686,1057500561,1050111041)+W(2,1044300205,1063593500,1069787057,1057117236)+W(3,-1094841314,-1072571644,-1073076170,-1094917255)+W(4,1049263704,1050585763,1057940110,992791419)+W(5,-1123904781,1033188794,1049962317,-1119131193)+W(6,1032882093,1040935597,-1103057884,-1129197337)+W(7,1018550156,992411043,1032437745,-1139242755);WS(1047493374,1019974383); +sum1=W(0,1039818779,1024992878,-1099980259,-1119405261)+W(1,1022499782,1056719767,-1093967742,1017537921)+W(2,-1111466513,1056992349,-1089692488,-1134657044)+W(3,-1128872350,1066523241,-1081677329,1032226588)+W(4,-1102282821,1057279594,-1104336096,-1110606353)+W(5,1027318580,1050310409,-1095763174,1029746358)+W(6,-1112367361,1043633508,-1147598863,-1105211995)+W(7,-1121442618,1050332018,-1103201160,-1109613299);sum2=W(0,-1109381660,-1099927212,1032613200,1013674604)+W(1,1024006001,1048105027,1031703418,-1113331152)+W(2,1048332575,1083214625,1051352300,1010546556)+W(3,1030946168,-1068785948,-1082836395,-1137462284)+W(4,-1111460550,-1080184440,1047472657,1033485356)+W(5,-1115660792,-1125303858,1027323348,1034637753)+W(6,1027780517,-1129923962,1006215943,-1112671380)+W(7,-1125113546,972536438,-1123338357,1033990282);WS(1049191295,1026054180); +sum1=W(0,1015431080,-1104530451,-1120791464,1041795830)+W(1,-1114491642,1045418990,-1105318659,-1107859847)+W(2,-1106844240,-1091806904,1059085476,1035107546)+W(3,1052544606,-1092275830,-1096734436,1050727987)+W(4,-1101337172,1032037152,1055073816,-1098252244)+W(5,1006821496,-1091613549,1054997266,1024892180)+W(6,1048579163,-1136631349,-1117752159,-1114835508)+W(7,-1107367092,-1104046587,1054027444,-1107321874);sum2=W(0,1026733028,1045033945,1006278578,1045459634)+W(1,-1099170713,1052123052,-1100795787,1045732660)+W(2,-1116840904,1011374557,-1137517037,1036547859)+W(3,-1119731112,1034116255,-1093051584,1049735621)+W(4,-1105853851,1042679995,1032967726,-1115758581)+W(5,1023766170,-1103542762,1030006514,1012804929)+W(6,-1109160117,1002727514,1010971477,-1107202197)+W(7,-1110446049,-1116987471,1032206215,-1108882618);WS(1061349183,1052960956); +sum1=W(0,-1129777715,-1091852750,1051531432,1028688348)+W(1,-1138324169,-1098630008,1050117038,1001458973)+W(2,1040354025,-1086948121,1058780391,1026112190)+W(3,-1113069161,-1087783598,1063142264,-1101543047)+W(4,1026875928,-1090578505,1054898923,1001807913)+W(5,-1148679486,-1098392878,1055753851,-1107707133)+W(6,1026350741,-1105317245,1035239971,1009551482)+W(7,-1099366619,-1113156712,1049214940,1035358529);sum2=W(0,1030464194,1016786912,-1124271380,-1112870762)+W(1,-1114101658,-1111442214,1036708968,1035127660)+W(2,1031167290,1040962599,-1145350210,-1119263136)+W(3,1076423743,1052649879,-1106763968,1030450749)+W(4,1075592137,1059016603,1036666460,-1114823676)+W(5,-1122765276,-1109148248,-1102467968,1030453841)+W(6,-1073082101,1031660172,1040647493,-1120712732)+W(7,-1067763317,-1093716078,-1123536642,1004437586);WS(1049240575,1032641532); +sum1=W(0,1013730783,1058635434,-1096215015,-1112522509)+W(1,-1105480706,1033988870,-1101342144,-1114702617)+W(2,-1114036922,1060052265,-1095577996,1026538642)+W(3,-1113879072,1060507082,-1090178495,-1118644393)+W(4,-1104229785,1060417175,-1088104859,1026113715)+W(5,-1108053747,1056801557,-1096180920,-1115402364)+W(6,-1114764169,1045744608,-1096622362,-1165415829)+W(7,-1146082265,1050162924,1035143657,-1096614130);sum2=W(0,-1122276311,-1070701037,-1102500792,-1123484857)+W(1,1035291415,-1088124412,-1135890037,-1122878839)+W(2,-1120194245,1066415245,1041496354,1004310705)+W(3,1040446858,1074084237,-1104713726,1043449641)+W(4,-1120530587,1049852139,-1121031703,1033156545)+W(5,-1138075205,-1122804719,-1103825640,1027648711)+W(6,1025217366,1023048268,-1123990667,1022832518)+W(7,-1118638617,-1139513797,1028358694,-1136916673);WS(1058199967,1050173679); +sum1=W(0,1035142580,1049466778,-1090097411,-1180331449)+W(1,1027370573,1058691576,-1101732588,1040649373)+W(2,-1130262537,1039593430,-1086371009,-1120260556)+W(3,1035504777,1068404719,-1088745136,1040680775)+W(4,-1114438555,1055172389,-1085029652,1044382793)+W(5,-1117883815,1049428736,-1087836907,-1124005336)+W(6,1019391016,1057860609,-1099893249,1042216563)+W(7,1002653538,1038434456,-1090680108,-1112700144);sum2=W(0,-1116884059,-1098591960,1049382153,-1103314039)+W(1,1053572077,1057696884,1027480579,-1088718218)+W(2,-1098664530,-1094622297,-1090176467,-1083506692)+W(3,1052736946,1068603564,1060239128,-1093271444)+W(4,-1109898534,-1110319390,1035982822,-1100206230)+W(5,-1100793752,-1092295148,-1110105636,1032439700)+W(6,1049155169,1060435963,1048950002,1034453968)+W(7,-1110972354,-1093610507,1038370396,1006875670);WS(-1089372991,1071972514); +sum1=W(0,-1138920887,1036533027,-1102318256,994211079)+W(1,-1111770809,-1104793556,1048489074,-1105180974)+W(2,-1102811010,1055175791,-1087761408,1048668925)+W(3,-1115715559,-1099167419,1059252133,1002658941)+W(4,1039086134,-1087507272,1053162297,-1118760057)+W(5,-1097310634,1049070430,-1114433380,1015366427)+W(6,1031148825,-1119324807,-1118494745,1042346841)+W(7,1025838913,1003453989,1042268638,1035401151);sum2=W(0,1030112837,1042265630,1026971571,-1110663804)+W(1,-1120976510,1036120703,-1114486026,1036038820)+W(2,990074782,1034066763,1060265655,-1093575269)+W(3,-1093456890,1054439327,1048349987,-1097582212)+W(4,1037465699,-1093016348,-1099844302,1034062294)+W(5,1026987255,1018637880,1021593632,1015927322)+W(6,-1141406991,-1135344000,-1122669452,-1131991172)+W(7,-1139369648,1039303764,-1105461723,-1112258092);WS(1064707295,-1106068023); +sum1=W(0,-1099232505,-1122722466,1050522762,-1163785122)+W(1,1035233224,-1096714286,1050648196,1029641572)+W(2,1008917721,-1092366070,1057836626,-1106158547)+W(3,-1113461090,-1085444145,1065526616,-1112344246)+W(4,1030936392,-1087864449,1058128499,-1120989814)+W(5,1004172005,-1089654074,1053303385,1023496586)+W(6,1027313190,-1109977746,1046037453,-1132212895)+W(7,-1115756158,-1096643772,1045431365,1026679026);sum2=W(0,-1064765544,-1093639717,1043466147,-1118670633)+W(1,-1081497441,1052279998,-1106897145,1026058867)+W(2,1073825520,1049786220,-1111313590,-1120615525)+W(3,1076205171,1062543003,1028519541,1005098917)+W(4,-1119211273,-1112239696,-1110796836,1002459349)+W(5,1027623494,-1095053933,1038884306,1024155429)+W(6,1025169073,1041086677,-1138045203,-1139354443)+W(7,1044157267,-1111173396,-1103601885,1031190784);WS(-1111449083,-1157616163); +sum1=W(0,-1140902742,1050785866,-1096435822,-1106580347)+W(1,-1108906886,1041550344,-1095149714,-1111739842)+W(2,-1107746707,1063519767,-1097214657,-1112949561)+W(3,-1091492130,1070223306,1059314470,-1090511327)+W(4,-1106259270,1056548545,-1091358630,-1115482851)+W(5,-1123578095,1033679887,-1102873285,-1102694659)+W(6,-1112828291,1033485706,-1098893397,-1119291392)+W(7,-1129218172,1037279241,-1105253969,-1105806553);sum2=W(0,1036877913,-1106537131,1030920508,-1107276407)+W(1,-1107073590,1029358898,-1148982309,-1158332371)+W(2,-1107699229,1059152956,-1101290720,-1104066278)+W(3,1043855187,1059494373,1057939604,1057817844)+W(4,-1112562117,-1100478450,1054005616,-1089434898)+W(5,1015957137,1042289801,-1078154452,1041374005)+W(6,-1137092650,-1117856531,1052159854,-1109759735)+W(7,-1113777301,1034651775,-1095096566,-1112996199);WS(-1078462192,-1081042006); +sum1=W(0,1031777492,-1099264287,1046006998,987183826)+W(1,1032754472,1043123090,-1098614104,1036343655)+W(2,1041664052,-1089905073,-1129274543,1009990171)+W(3,-1097597536,1061087074,-1106235787,-1097811109)+W(4,-1104816664,1058804947,-1084543524,1031138063)+W(5,-1113883983,1049386855,1054195792,-1097275448)+W(6,1034668408,1033759807,-1107840264,1026038601)+W(7,-1123431127,1048603595,1024992909,-1120606380);sum2=W(0,1045113399,1042319052,-1096815184,-1116743882)+W(1,-1114091637,-1104675582,-1111655631,-1101972302)+W(2,-1107885511,-1091877193,-1112520325,1050965596)+W(3,-1138476145,1051152873,1061790396,1049921296)+W(4,-1105540689,-1091823953,1058061302,-1092103725)+W(5,1035866831,1034466874,-1097657024,1042351236)+W(6,-1106333432,1039480371,1040922298,-1102843808)+W(7,1027850472,1012452041,-1158709515,-1125733657);WS(1056694143,-1116016311); +sum1=W(0,-1113789237,1051083644,-1097139864,-1123205479)+W(1,-1100431022,-1126988186,-1094809972,1034447326)+W(2,1050877939,1064972735,-1089357240,1036660918)+W(3,1018856325,1040063173,-1094444318,-1108178982)+W(4,1050520537,1063261729,-1089641983,1047968461)+W(5,-1097203011,1049408537,-1094346349,-1113292277)+W(6,-1103919120,1026641091,-1100978845,1038849023)+W(7,-1146363818,1053332672,-1097363714,-1114302469);sum2=W(0,-1117908102,1019359999,-1120905960,1017197102)+W(1,1013765983,-1145413682,1028148573,1027705717)+W(2,1045942570,-1095749402,1032861566,-1127537989)+W(3,1086231745,-1062836828,-1087097136,1031521084)+W(4,1048993826,-1094656357,-1145044098,1027867224)+W(5,-1110131683,1037693606,1040390747,-1114691836)+W(6,1005670802,-1125761673,-1112982831,1031905995)+W(7,-1126497913,1018172516,1016402027,-1122299754);WS(1058898623,-1129627348); +sum1=W(0,-1115961291,1024824451,1015893437,-1111982511)+W(1,-1114910804,1028416398,-1107386562,1040362701)+W(2,-1099814536,1053775806,-1081677098,1049488325)+W(3,1014875535,1049045373,1054905786,1016424474)+W(4,1042946610,-1081844071,1057687981,-1105282974)+W(5,1008636276,1031972351,1045923489,-1118478155)+W(6,-1106406626,1007262993,1043411542,1018226304)+W(7,-1120594878,1044145240,1016529769,1008933435);sum2=W(0,-1133545882,1024635319,-1123675276,1049399700)+W(1,1048887568,-1104650552,1009836758,-1109494815)+W(2,-1092588040,-1106613727,-1090053582,-1105276085)+W(3,1040041167,1061771033,1063348295,-1099749985)+W(4,-1098849827,1059347143,-1095509129,-1094328117)+W(5,1009986974,1020453405,-1091467004,1040581639)+W(6,1044263399,-1100016935,1034750124,1041257354)+W(7,-1120224962,1003801667,1013849670,-1116729410);WS(1051954047,1053754534); +sum1=W(0,-1115617616,1038078984,1012663597,-1106689047)+W(1,1024010640,1036755054,-1111840872,1027644834)+W(2,-1105864485,1063482792,-1094956956,1000291764)+W(3,-1104806436,1054877383,-1088048944,-1099610254)+W(4,-1109064955,1061183100,-1092794954,1030290339)+W(5,-1116880702,1032370277,-1106496725,-1110075188)+W(6,-1125878182,1043596932,-1106933961,-1134690355)+W(7,1017392662,1041423460,1027390113,-1125796047);sum2=W(0,1032585330,1041153226,-1098242715,1045110917)+W(1,-1120362784,1038083675,-1097998955,1041971655)+W(2,1053495069,-1085822417,-1097864806,-1094674500)+W(3,-1103911013,1062089523,1056336567,-1090235355)+W(4,-1152525762,-1088542584,1061326318,-1100885631)+W(5,-1128147020,1044421032,1046053205,-1141849761)+W(6,1012657824,-1113855086,1042938789,-1114518568)+W(7,-1104983105,1041652917,-1160964996,1032164357);WS(1061027871,-1104546242); +sum1=W(0,-1105616597,999947493,1020340785,1044086916)+W(1,1044372474,-1093243621,1054887248,-1111771647)+W(2,1021564129,-1093936864,1050165368,1042456335)+W(3,1044930783,-1082760108,1059757863,-1109427891)+W(4,1046184033,-1089254915,1059995997,-1109416824)+W(5,1039863327,-1087020314,1055330116,-1114227250)+W(6,1037242932,-1095491356,1049586618,-1119355674)+W(7,1036593932,-1089177610,1053764638,1025046581);sum2=W(0,-1071093827,1060306884,1049935328,-1107356858)+W(1,1026041138,-1087262504,-1137957530,1030953599)+W(2,1068370917,-1080863241,1024099582,1026067688)+W(3,1068180608,-1104665609,-1097098353,-1149593287)+W(4,-1099034443,1065726420,-1115701817,1031805059)+W(5,-1126398467,1036496204,1043337171,-1111590832)+W(6,-1114641099,1052019191,-1155572887,-1110320626)+W(7,1032038973,-1112342652,1039831002,-1165279566);WS(-1085156031,1045210454); +sum1=W(0,1032928297,1062377574,-1090582815,-1097791665)+W(1,-1111119484,1050029461,-1097825399,1025846477)+W(2,1023710638,1062121112,-1087364538,1032229097)+W(3,1012189550,1061895670,-1084850381,1038427330)+W(4,-1119437633,1058328143,-1086721078,1040335420)+W(5,1039427612,1050106073,-1087870448,1036234257)+W(6,-1114651991,1051812528,-1095972450,1026163704)+W(7,1039591187,1050020631,-1089842983,-1146480404);sum2=W(0,-1123647935,1061817512,1083879676,1056516802)+W(1,1039341132,1048143772,1075567701,1037735150)+W(2,1035983028,-1106274437,-1081957201,1028242764)+W(3,-1100132407,-1080635557,-1069811820,-1096421593)+W(4,-1107056231,-1101127944,-1080342730,1035329144)+W(5,1035406254,-1113472410,-1083251742,1030744652)+W(6,-1116224056,1025367216,-1113852980,-1094803270)+W(7,1039408558,-1101636583,-1087422720,1049804166);WS(-1079692512,1054562755); +sum1=W(0,-1109749038,1042438683,-1092016161,1050333996)+W(1,-1107273417,1049923207,-1091034933,1042543591)+W(2,-1102577952,1044388569,-1089719139,1055304278)+W(3,1030213964,-1113189609,1050309800,1034159515)+W(4,1036563817,-1089184118,1048990040,1040366472)+W(5,1046944740,-1087748930,1053009554,-1122229091)+W(6,1031914983,-1096053014,1048709856,1006842402)+W(7,1050658577,-1091524869,1049517424,1034826102);sum2=W(0,1041125733,-1094982607,1055140379,1061130686)+W(1,-1097603156,1045744428,1049918932,990353951)+W(2,-1103003109,-1102781952,-1106862916,1058588396)+W(3,-1107000988,1063877853,1066829095,-1096233798)+W(4,1032085636,-1096755169,-1090474230,-1095838692)+W(5,1048646468,1041101455,-1081598978,-1089860215)+W(6,-1094740103,1038162032,1049572267,-1096717844)+W(7,1056003520,-1106723297,-1085369603,1044183141);WS(-1080283264,1053171958); +sum1=W(0,1045885175,1054395509,-1083475508,1028512496)+W(1,-1113658461,1050045174,-1095192933,1035446876)+W(2,1034538909,1055879386,-1085810962,1026195253)+W(3,974135701,1060600957,-1084797135,1044250612)+W(4,-1122513036,1061640838,-1086057732,1037521197)+W(5,-1118011958,1060753746,-1087204563,-1117222317)+W(6,998696774,1054788217,-1092652351,1038575473)+W(7,-1108239136,1061053402,-1108529436,-1101819472);sum2=W(0,1049760823,1082611215,-1114287788,-1130959534)+W(1,-1132622893,1077078383,1055018182,1035090608)+W(2,1033001558,1066257283,-1101461080,-1112584386)+W(3,-1136534149,986681348,-1078537691,-1090394759)+W(4,1043696998,-1084657320,1054805894,1058031741)+W(5,-1092886300,-1069070549,1065047159,1038822180)+W(6,-1098156850,-1072372844,1049854091,1041633511)+W(7,1058228696,-1074505611,-1082348593,-1115499033);WS(-1073398920,1057727890); +sum1=W(0,1041979362,1052994159,-1092671491,-1110295050)+W(1,-1106188342,1056847849,-1087976920,1033778006)+W(2,-1108985859,1060197326,-1085676269,1040328063)+W(3,1040300287,1059196498,-1108460501,-1114468666)+W(4,1044683952,-1094535618,1051731585,-1102804911)+W(5,1046284093,-1094105983,1046385743,-1098429184)+W(6,1044621499,-1102914751,1031818215,-1104640754)+W(7,990388050,1043962286,-1104493131,1033981777);sum2=W(0,1021160276,-1089430647,-1102895535,1031984432)+W(1,-1093219342,-1135654176,1044152573,-1096279754)+W(2,-1089562294,-1079796815,-1095163331,1011763192)+W(3,-1106388958,1074674993,1074136497,-1101895278)+W(4,-1099093932,-1098010580,-1095203310,-1117345690)+W(5,-1180890998,1052929457,-1099885509,-1095468231)+W(6,-1090965228,1040584224,1041387674,-1107912603)+W(7,1057228486,1047748991,-1131585606,1045144673);WS(-1087643711,1073414034); +sum1=W(0,1043421796,1043019738,-1091862260,1028452722)+W(1,-1116796288,1056957030,-1093379129,-1112484637)+W(2,1042590607,1048028053,-1089120888,1043084437)+W(3,-1098636497,1065994910,-1081315117,-1120978641)+W(4,1008405302,1061262410,-1088787029,1046109207)+W(5,1005024220,1059267719,-1093593189,-1105879924)+W(6,-1106384411,1045820026,-1108751805,1024805700)+W(7,1029633907,1054563645,-1106230054,-1095994501);sum2=W(0,1015257573,-1101361376,-1151605286,-1114431290)+W(1,-1117575950,1051853927,-1126719224,-1122150057)+W(2,1040590395,1007636882,-1099060090,-1123376079)+W(3,1040031817,-1085239439,-1069257368,-1122292554)+W(4,-1104875608,1029484438,1078894141,1045790053)+W(5,-1111928738,1055085469,1065488662,-1105709439)+W(6,-1124331304,-1104410806,-1097362053,1046590167)+W(7,-1104400845,1055334030,-1099504604,-1096100911);WS(-1089052703,1050218486); +sum1=W(0,1024924308,1032977094,-1127622480,1016061078)+W(1,-1124263665,1048865735,-1103037451,1027347950)+W(2,-1114112032,1032370348,-1093324152,1047024376)+W(3,-1101857739,1057017435,-1130658874,-1114101947)+W(4,1004177297,-1096925880,1049797356,-1136753151)+W(5,-1132101549,-1106597310,-1147023991,-1136950735)+W(6,1037546120,-1101706323,-1148374781,1016234194)+W(7,-1127618735,-1138126252,1041185327,-1135392976);sum2=W(0,-1103127935,1033687244,1044282132,-1115309191)+W(1,1034551493,-1111330163,-1132159854,-1101537844)+W(2,-1131095837,-1111327049,1043675418,989659429)+W(3,1056852609,-1097897810,1038437355,-1126658673)+W(4,1041291951,-1092598078,-1085166716,-1101159602)+W(5,1031312786,1027703970,-1122838335,1065573620)+W(6,-1119687326,-1119650108,1030316614,1035948285)+W(7,-1125922018,1037109557,-1115941571,1021015548);WS(1065854560,-1114586365); +sum1=W(0,1025132845,-1093129789,1039292161,1052478106)+W(1,-1132208108,-1097600366,1047014713,-1114318540)+W(2,1043375962,-1094779500,1054220253,1045472794)+W(3,1036127555,-1085251325,1059484531,1040640636)+W(4,1042813603,-1085614646,1058902029,1026772633)+W(5,1042302785,-1083792532,1058554289,1030110605)+W(6,1041475414,-1088034874,1049492791,-1123458066)+W(7,1044294516,-1081301837,1057966909,1048041627);sum2=W(0,-1082315074,-1085719643,1072912386,-1097858732)+W(1,1044643809,1026206592,-1098026838,-1097387905)+W(2,-1098370418,1060376399,1068488422,-1097681385)+W(3,1032322202,1066420950,1072201946,-1095903963)+W(4,-1088636595,1042910065,1055106268,-1092707091)+W(5,1057109638,1025783712,-1087763572,-1104219349)+W(6,-1093539506,-1117795056,-1084317601,-1087895305)+W(7,1061431798,-1120476284,-1077472196,-1105350768);WS(-1071370880,1080498273); +sum1=W(0,-1117491793,-1117320376,1025681812,-1112958490)+W(1,1039364315,-1100646881,1049740511,-1103504723)+W(2,1035846886,-1094786920,1058631773,-1105396320)+W(3,1023528601,1045848824,-1094741601,1032469201)+W(4,-1131889533,1057069771,-1088346742,1034336534)+W(5,-1106314247,1055228236,-1102894479,-1144513794)+W(6,1028375004,1020389492,-1138962992,-1116565942)+W(7,1013100112,-1127017775,995411618,1002008579);sum2=W(0,-1097850747,-1108946242,-1129761151,1024320851)+W(1,-1107398437,-1114277717,-1118690429,1012636527)+W(2,-1085613590,1063125687,1040789135,1029278628)+W(3,1042292809,-1084555354,-1101999238,1026191463)+W(4,1054106205,1059764079,1051725304,-1119736004)+W(5,-1106648125,1041901467,-1128317719,-1127460399)+W(6,1035361236,-1103098774,1022272136,-1115360404)+W(7,-1122554235,-1148617751,1025957669,997652141);WS(1058528159,1053906024); +sum1=W(0,-1112917396,-1104256080,1023681564,1039659283)+W(1,1035675727,-1092229473,1058833811,1021887717)+W(2,-1104938189,-1097223269,1051100098,1033492802)+W(3,1040468760,-1082484606,1061928249,-1119337706)+W(4,-1105254898,-1103704557,1057519273,-1099217437)+W(5,1020887917,-1100912091,1047691241,-1127325712)+W(6,-1113141838,-1118771074,1047329733,-1114402703)+W(7,-1149793215,-1099449368,1044776397,1024214504);sum2=W(0,-1129442596,1040644144,-1106302200,-1105488042)+W(1,1023778714,1033307012,1056981996,1014815489)+W(2,-1113953277,1056896617,1082625405,1048992482)+W(3,1026809294,-1080168883,-1064674592,1043950232)+W(4,1035644478,1030172798,-1098216535,-1120732434)+W(5,1034718426,1046899220,-1107268878,-1121557578)+W(6,1016827280,-1114672577,-1138831353,1026207834)+W(7,1038084720,-1138817753,-1118740750,-1122753582);WS(1050028863,1057904824); +sum1=W(0,1016998719,-1115527732,1049960370,1033316845)+W(1,1031484924,-1114471481,-1097014217,1045307870)+W(2,-1113918453,-1092713340,1059124695,-1113659631)+W(3,1035763396,-1086973069,1055821255,-1113580281)+W(4,-1100192683,1048884339,1045748179,-1104759887)+W(5,1046082071,-1093669960,1046233018,1024760783)+W(6,1023767163,-1109475380,972758359,1028768132)+W(7,-1109585801,-1102684193,1047341446,-1118597711);sum2=W(0,1042577042,1058174637,-1093234196,1036828005)+W(1,1035985609,1022451597,1028288917,1036599280)+W(2,-1132583692,-1083350192,-1089654696,1043707159)+W(3,-1108557005,-1102051996,1066585170,-1099096459)+W(4,1045882832,-1096734805,-1112976831,-1117191962)+W(5,1049978360,1040525485,-1101233023,1038823523)+W(6,-1123148614,-1111555351,1016281700,1010883764)+W(7,1037998467,1012738322,1035922998,-1106116243);WS(1064158815,1035299335); +sum1=W(0,-1112803360,1016610641,1043480489,1023721675)+W(1,987363362,-1111853690,-1116662313,-1114846141)+W(2,1040202935,-1090418272,1043761841,1040437218)+W(3,-1148543050,-1086418793,1062267936,1044974085)+W(4,-1119103150,-1096774480,1026731899,-1112576238)+W(5,1016866897,-1106302329,1046949595,1035797256)+W(6,-1120253212,-1125874772,1044534239,-1118929285)+W(7,-1136961231,-1111706212,1038415821,1017229376);sum2=W(0,982347958,-1130481715,1039697927,1029826582)+W(1,1032509555,-1105443060,-1102232537,-1106323503)+W(2,-1111294086,1041532435,1059036310,-1087181565)+W(3,1034453505,-1090026061,1065332554,-1095157490)+W(4,-1107492941,-1115327745,1049776291,1032022369)+W(5,1047671755,-1099067440,1035057967,-1113855935)+W(6,-1114281099,1007189687,-1116755236,-1137758215)+W(7,1041657921,-1106888056,1039394631,-1116441678);WS(1064590463,1056702913); +sum1=W(0,1029043770,-1118119137,1044521535,-1108622774)+W(1,1053372231,1049750478,1040212560,1055292354)+W(2,-1096751755,-1090400466,1048069253,-1086796959)+W(3,1042753121,-1089893441,-1098259842,1028130891)+W(4,-1132040847,1035942347,1046519145,1043794349)+W(5,-1098166823,-1098407696,-1126503113,-1097599727)+W(6,1054745035,1057009004,1029470901,1057963224)+W(7,-1101919647,-1105867448,-1137574860,-1099480944);sum2=W(0,-1112469736,1047380321,-1107309008,-1130012001)+W(1,-1109993908,1048112351,-1096267194,1044766357)+W(2,-1113626244,1039961237,-1149218892,1024449363)+W(3,-1101975228,1053720344,1041967405,-1105185961)+W(4,-1113395603,1033059361,-1105421186,1034928166)+W(5,-1115391866,-1117206471,1041082150,-1103730760)+W(6,-1111764318,1050486894,-1097114178,1041700935)+W(7,-1114050909,1029031616,-1116211284,-1133808950);WS(1049282175,-1081654589); +sum1=W(0,1026879882,1056840376,-1089715922,1023576205)+W(1,-1106636470,1051340514,-1103588481,1019713064)+W(2,1025593670,1059046350,-1087728227,1018583793)+W(3,-1120434947,1060994015,-1081081863,-1116831948)+W(4,-1109057316,1062254571,-1089160278,1040563949)+W(5,-1103814142,1054415372,-1110084674,-1148705741)+W(6,-1108405355,1044610849,-1097611347,-1130543166)+W(7,1025046173,1057281100,-1102762237,-1108038889);sum2=W(0,1021240677,-1112389783,1025718250,-1104779102)+W(1,-1117500355,-1154883848,-1096682611,1051908652)+W(2,-1104166105,-1102583420,1048911763,-1093040032)+W(3,-1110155670,1061056453,1065471868,1051220588)+W(4,-1101525323,-1123615532,-1149445264,-1113750073)+W(5,-1099065181,1038434309,-1090281103,-1098156535)+W(6,-1135933351,1041908272,1042017461,1046751376)+W(7,-1100288377,-1120914319,-1131934595,-1100861861);WS(1044733566,-1111466942); +sum1=W(0,1033634167,1060020808,-1092913556,-1112663104)+W(1,-1105078967,1041929508,-1103349137,-1134753630)+W(2,-1104340430,1062221635,-1092289734,-1126194825)+W(3,-1106426842,1060048443,-1090785767,-1110397240)+W(4,-1101553619,1059584252,-1094348262,-1114529117)+W(5,-1110993602,1054717575,-1097827057,-1113238887)+W(6,-1113465444,1044713794,-1098824243,-1140846474)+W(7,1020428386,1047352089,1041060918,-1094820883);sum2=W(0,1040248415,1084299283,1054267917,1002599056)+W(1,-1113076108,1066146464,1032173778,1029289900)+W(2,1043824330,-1073408210,-1102778436,1027082476)+W(3,-1105221470,-1067326117,-1084477148,-1116688572)+W(4,1036602392,-1097425816,-1149511007,1024010398)+W(5,-1134849104,1016852200,1040914456,-1121212984)+W(6,-1163695359,-1119512248,1026379762,1007530464)+W(7,1011808464,-1118870508,1011171408,1020903456);WS(1041204862,1020998748); +sum1=W(0,1041320410,1040787048,-1129649268,-1136864165)+W(1,-1111643799,1044400490,-1096018340,-1123167632)+W(2,1033147201,-1112000574,1041936758,1014392453)+W(3,1033305824,1057857240,-1090212595,1043382402)+W(4,-1110534482,1058317173,-1083609992,1046901861)+W(5,1048653459,1013490791,-1108280561,1040774794)+W(6,-1106102028,1040475768,-1098465902,-1121200123)+W(7,-1129433652,1032979455,-1104103124,-1123801518);sum2=W(0,1033367466,-1105739926,1035166617,-1121294834)+W(1,1036408153,1041467605,-1116824529,1020242785)+W(2,1049195658,-1097896497,-1127250349,1024987646)+W(3,-1116950481,1069287141,-1103787577,-1113169844)+W(4,-1081345874,1045676499,-1104285546,-1109755223)+W(5,1035726191,-1097322898,-1110450029,-1162599282)+W(6,-1109751565,1034595972,1041775082,-1128984227)+W(7,1034565507,1022861151,-1111377560,1015705141);WS(1061587071,-1140717261); +sum1=W(0,-1112565188,-1082585266,1063001355,1029148274)+W(1,1035683412,-1091946062,1057075562,-1133150565)+W(2,1034588141,-1086181493,1061257307,-1121255338)+W(3,-1105710858,-1084260507,1062016535,1031972073)+W(4,1024277837,-1087521200,1059484653,-1140527211)+W(5,-1104681461,-1094344584,1051726365,1015752222)+W(6,1033519565,-1109665588,1053582679,-1140031633)+W(7,-1097426768,-1092361421,1050023351,1054184694);sum2=W(0,1052095029,-1068831962,-1076286348,1061242602)+W(1,1040595366,-1076957703,-1081349117,1046002483)+W(2,-1098987175,-1081538085,-1088771362,1040290526)+W(3,-1084153168,1037971476,1057908839,-1093902656)+W(4,-1091290481,1070110671,-1114213425,-1094367529)+W(5,-1096720628,1069986978,1063483875,-1094489561)+W(6,-1101102486,1074264190,1068552571,-1099236623)+W(7,1044734380,1070997731,1075267150,-1081182731);WS(-1071242520,-1095264341); +sum1=W(0,-1097248122,1057257956,-1095464807,-1098637431)+W(1,1017326143,1050464317,-1098731544,1039614697)+W(2,-1105336241,1059871125,-1096805078,1034135507)+W(3,-1091856432,1058219580,-1088025845,-1098503641)+W(4,1051920949,1056167546,1032394345,1057766069)+W(5,-1097210280,1051126389,-1089070234,-1095933097)+W(6,-1122345698,1047883744,-1102431837,1030493340)+W(7,999615444,1055359408,-1098523426,-1112287963);sum2=W(0,-1132961311,1038597560,-1089057302,1055074030)+W(1,1034954689,-1114842936,-1113751042,1048893008)+W(2,-1131131128,1039456110,-1095192990,1046429121)+W(3,-1105685093,-1104727669,-1097910004,1057064004)+W(4,1044104138,-1085849936,1064526735,-1091871118)+W(5,-1118659572,1053272959,1045257331,-1096323208)+W(6,-1117347443,-1117746499,1054461586,-1090448877)+W(7,-1140373421,1049759548,1062278408,-1081803378);WS(1055746431,1040288248); +sum1=W(0,-1154016945,1057716289,-1093759650,-1122750430)+W(1,-1117613130,1055590360,-1094487986,-1117149477)+W(2,-1108247483,1059644857,-1089867895,1031955359)+W(3,-1114072538,1067207252,-1085229664,1016534394)+W(4,-1103530014,1062212336,-1089860607,1044969554)+W(5,-1134724696,-1104299500,-1088563377,-1137442922)+W(6,-1102903742,1049302591,-1097577389,1035178328)+W(7,1046496384,1054319858,-1094962569,-1108831509);sum2=W(0,1041968914,1051752153,-1123800846,-1117011966)+W(1,1026703145,-1115260470,1035127537,1031245794)+W(2,1033601916,1038625472,1035458769,-1109678904)+W(3,1035338047,1052354182,1035609386,1050054059)+W(4,-1106207855,-1118891350,1057116581,-1098815779)+W(5,-1094112140,-1081023345,-1104080857,1038926653)+W(6,-1100978937,-1084581041,1055976243,-1108176195)+W(7,-1106593629,1066756564,-1101750238,-1107244818);WS(-1089881759,1037957184); +sum1=W(0,1000251530,-1098029886,-1105974859,1041712355)+W(1,-1117869170,-1095515176,1060224425,1040628361)+W(2,1029072469,-1089055515,1060210489,1042449912)+W(3,1031851625,-1079829205,1061092856,-1119516507)+W(4,1024508279,-1094362449,1060581840,-1102207965)+W(5,-1105582638,-1105281331,1056017638,-1107063314)+W(6,-1121710869,-1112643769,1040568609,-1112932479)+W(7,-1105403363,-1102959900,1050032516,-1124065669);sum2=W(0,1051114274,-1102532150,-1093533301,1042271071)+W(1,-1105565679,-1114476854,1038543175,-1112348507)+W(2,1055378846,-1082969540,-1075201485,-1087360189)+W(3,-1098769061,1064670328,1077554590,-1100903801)+W(4,-1106275827,-1102001010,1048871628,-1115312306)+W(5,-1101598109,1044770567,1040464379,1031777408)+W(6,-1109849433,-1114021751,-1111404687,-1125205988)+W(7,-1104426610,1049459491,1049461049,-1104546886);WS(-1089609215,-1090633405); +sum1=W(0,-1095985139,1060468726,1029992257,-1106189340)+W(1,-1131730646,-1114989785,1035463235,-1121474072)+W(2,-1106836118,-1111340153,1053834481,-1109753904)+W(3,-1120898567,-1083229835,1057093887,-1170836447)+W(4,-1122196780,-1097505195,1060127651,-1099640750)+W(5,-1108220230,-1091862496,1056095953,-1106303115)+W(6,-1113602180,-1118278055,1053644551,-1102165833)+W(7,-1111282801,-1094974325,1060964715,-1114233933);sum2=W(0,-1102755055,1028184991,1014375557,1018724927)+W(1,-1123071369,1018963304,1034540123,-1154538439)+W(2,-1101642458,1042446539,-1110958917,1030328833)+W(3,-1121616776,1048904011,1055634924,-1104340897)+W(4,-1123659230,1022095962,-1122273513,-1123674010)+W(5,1034971308,-1102092583,1047229966,-1103087688)+W(6,-1114444448,-1115812270,1006913192,-1118183380)+W(7,992820811,-1115600403,1032293939,-1116477720);WS(-1089497119,-1083970920); +sum1=W(0,1049400081,1017038202,-1096866095,-1129668560)+W(1,-1112985379,1054102421,-1092440080,1023489999)+W(2,1032734776,1052273107,-1090492445,1039999326)+W(3,1046931016,1050677101,-1077775563,1047866250)+W(4,1032966898,1056472798,-1095500286,1031139121)+W(5,1026703569,1054012759,-1141821439,-1128248842)+W(6,1023567673,1046736000,-1103091876,1037611037)+W(7,1020804657,1054561791,-1096856494,-1102316761);sum2=W(0,-1119432539,-1113150368,1049552369,-1123950204)+W(1,-1114702364,-1107904829,-1109676099,1034167140)+W(2,-1131454616,1051795717,1049548364,1018171432)+W(3,1045807900,1065572002,1052256292,1024318084)+W(4,-1107556037,-1104213250,1058452060,-1104886632)+W(5,-1138592655,-1096394963,-1077576443,-1103410805)+W(6,-1120197723,991774812,-1102019177,-1103678409)+W(7,-1116354551,991245404,1049782966,-1123412946);WS(-1092399743,1070790531); +sum1=W(0,1031557241,-1110110152,-1086332927,1040307665)+W(1,1024013147,-1123928476,-1104003948,1029330819)+W(2,1045977841,-1100428029,-1091187884,1054647477)+W(3,1049827334,-1093314535,-1110202001,1048337215)+W(4,1044712430,-1098211617,1031718940,1045074033)+W(5,1042539942,-1120318828,1031171411,1042256462)+W(6,1022243624,-1110797385,-1118825252,1034920639)+W(7,1042631871,-1103475236,1047659449,1041342974);sum2=W(0,1035080118,1049091174,1068767241,1056655092)+W(1,-1111978522,1049791001,1068692590,-1120502660)+W(2,1043189101,1038894820,1041587068,1054889999)+W(3,-1107203795,-1088677682,-1079138335,-1094007639)+W(4,1020874649,-1074681252,-1088844169,-1106617291)+W(5,1040978901,1032440616,1033618204,1037089622)+W(6,-1103963851,-1139760881,1036797334,-1115116202)+W(7,1014904337,-1132242473,1040720920,1029103732);WS(-1076899872,-1090262268); +sum1=W(0,-1111775583,-1105212520,1053805936,-1130865048)+W(1,-1105515965,-1109220950,1044900104,-1124779047)+W(2,1031134981,-1105276619,1061229259,-1108606366)+W(3,-1152866339,-1081197371,1056451270,1012899053)+W(4,1022185487,-1085735312,1061180827,-1111684786)+W(5,1031461535,-1090100176,1061600458,1038272628)+W(6,991487050,-1106571081,1040836429,-1123743158)+W(7,1013082739,-1094472404,-1114201801,1043636133);sum2=W(0,-1092758077,1054372816,1025999909,1025560437)+W(1,-1099940688,1036990346,1044094629,1015649794)+W(2,-1096959860,-1102824961,-1093700170,-1134776466)+W(3,-1093749782,1072234824,1074465248,-1118772240)+W(4,1047974360,-1091574668,-1086059593,-1097328702)+W(5,-1120633714,-1098403340,-1083936129,1035273338)+W(6,1036248767,-1097220109,1045585843,-1098634116)+W(7,-1113388587,1024848209,-1093741871,1051989609);WS(-1097318719,-1106686758); +sum1=W(0,-1138034233,1031803579,-1107190316,-1118470609)+W(1,1022220430,-1105675680,-1110575515,1013564641)+W(2,-1115259277,1060345356,-1091489993,1028754310)+W(3,1037878284,1040095311,-1082557626,1043380040)+W(4,-1109043646,1057210483,1054616755,-1126688788)+W(5,-1118564628,1018511203,-1113047197,-1103180903)+W(6,-1132126739,1038086620,1037558661,-1105313401)+W(7,-1123355602,1040876381,1040895458,-1110366427);sum2=W(0,-1116780480,1011610145,-1126532250,1031867194)+W(1,1034654933,-1109786563,1049246354,-1117436106)+W(2,1033980194,1034290987,-1098441369,1050453777)+W(3,-1106740681,1058839838,1055488745,-1098876833)+W(4,1037910476,-1112504437,-1081564854,-1101879397)+W(5,-1110588743,1048688059,-1109313096,-1105182695)+W(6,1033369701,-1100404580,1046210019,1033744368)+W(7,1006481529,1024874106,-1122526519,1042001428);WS(1061957727,1058150789); +sum1=W(0,1009728708,-1099288198,1046412713,1036440691)+W(1,1031914819,-1097230757,1055587995,-1109853493)+W(2,1043097483,-1087266183,1056802398,-1106212891)+W(3,-1106863550,1043273168,1049133325,1023154886)+W(4,-1097372952,1055416522,-1086687979,1047286155)+W(5,-1108191069,1050026271,-1105368103,1036106272)+W(6,1032793786,-1110590381,-1107437206,1024106902)+W(7,-1129266281,-1108247452,1042988739,-1120124353);sum2=W(0,1021676194,1026925373,-1130821928,1011207236)+W(1,-1104415808,1041631623,1047340087,-1118374396)+W(2,1041444786,1049347642,1055108729,1032289888)+W(3,-1104915444,-1075706495,-1078646873,-1097824639)+W(4,1042839409,1068941883,1058328878,1041964936)+W(5,1025561656,1049874161,1054741696,-1122940124)+W(6,-1111488206,-1096918949,-1108156193,1033049167)+W(7,-1119893126,1030080935,-1107876167,-1131526532);WS(1058678303,1013994144); +sum1=W(0,-1118673511,1050426208,-1111022430,-1110204509)+W(1,-1145988558,1032382213,1019043839,-1116037137)+W(2,-1107600786,1059103555,-1086017695,1043824660)+W(3,-1097799452,1061451838,-1090188381,-1111434373)+W(4,1050901309,-1098106458,1050664020,-1123560275)+W(5,1025019066,1032049821,-1093177128,1043538778)+W(6,1034380585,1038038624,-1133222475,-1104489131)+W(7,-1117490811,1043957152,-1113568728,-1110765932);sum2=W(0,-1105859137,1052524883,-1116369180,1025172812)+W(1,1047608842,-1096529292,1033298597,1035180205)+W(2,-1101390223,-1103682938,-1095014501,-1138831970)+W(3,1011548907,1018027622,1063707518,-1096368530)+W(4,-1098146078,1039330573,1056731707,-1094263126)+W(5,1047719826,-1101134187,-1086128756,1061932077)+W(6,-1099968186,1054816538,1037701277,-1095466983)+W(7,1028887915,-1105962981,-1150004284,1016476277);WS(1063038079,1033861047); +sum1=W(0,-1111914898,1016779545,-1107257338,-1114919788)+W(1,1040884807,1014390112,1045397811,-1162045399)+W(2,-1102681756,-1109833994,-1096677860,-1101855164)+W(3,1061986003,-1095449911,1065846455,1049909751)+W(4,-1095429920,-1097838100,1029008656,-1097193708)+W(5,-1109559865,1019923216,1039008680,-1113534130)+W(6,1034752240,-1148961393,1033037520,1007645095)+W(7,-1104233906,1009274926,1029851870,-1103320918);sum2=W(0,-1112457849,-1117177515,1031942991,-1106095669)+W(1,-1106002020,1017665294,1033022206,1041685053)+W(2,-1103752624,-1098231154,-1133545004,-1095196752)+W(3,-1114732591,1062239338,1061426536,1046863079)+W(4,-1102536580,-1097906884,-1109528685,-1105989872)+W(5,1029961226,-1101585142,1032626487,-1120505375)+W(6,-1114728817,1037597321,-1114069131,1028074076)+W(7,1038070251,-1112453861,1032988844,-1124888510);WS(1060691839,-1121680521); +sum1=W(0,-1112633460,-1105323108,1045243383,-1113361469)+W(1,1034282296,-1097943963,-1117038833,-1109479713)+W(2,1016470792,-1091137362,1060606770,-1110311799)+W(3,-1124091490,-1083253895,1065759511,-1102522287)+W(4,1036530779,-1090987401,1062311590,-1114082482)+W(5,-1110508885,-1090137469,1056765570,-1104777690)+W(6,1036991882,-1098291034,1054157412,1016563642)+W(7,-1133939630,-1093525810,1057599172,-1167556095);sum2=W(0,-1097189010,1057901747,-1086723052,-1086497310)+W(1,1041454563,1039698409,-1087530727,-1090377488)+W(2,-1110771302,-1122301550,-1094374456,-1110538585)+W(3,1043926258,-1125642190,1064818137,1061014784)+W(4,-1109373654,-1108285138,1036021291,1034378960)+W(5,-1109768355,1020817735,-1109979249,1044647130)+W(6,-1114304258,1040279727,1055924705,1013465199)+W(7,1043669875,-1101494695,1040712355,1050381101);WS(-1087684831,-1094525449); +sum1=W(0,1038107891,-1093934649,1052573184,1038198313)+W(1,-1121734275,-1096975274,1049163549,-1113930844)+W(2,1035814365,-1093954738,1040479417,1035537105)+W(3,-1107604308,-1090018791,1066601083,-1102439448)+W(4,1038052214,-1088075930,1058232216,-1113118893)+W(5,-1101928869,-1090123804,1057618495,-1148589172)+W(6,-1104767443,-1106254226,1040796439,-1146582942)+W(7,-1127021124,-1100235009,1051666987,1033628463);sum2=W(0,-1102391770,1038892506,-1109920182,1034045130)+W(1,1032495868,1032348345,1035913564,-1111661823)+W(2,-1140349122,1055934176,1043439866,-1148365864)+W(3,1051494072,1066287204,1049172795,1035742233)+W(4,-1080481573,1070533091,1048700512,1024670194)+W(5,-1072283498,1056179234,-1122911277,1043482108)+W(6,-1085993190,-1098172645,1042548330,-1117726050)+W(7,-1091499210,1038613315,-1103404378,1024343165);WS(-1095407551,-1073547033); +sum1=W(0,-1103915126,1043640456,-1106314263,-1099126911)+W(1,-1101976843,1041775803,-1098551608,1023142916)+W(2,1024335748,1061599658,-1096990689,-1110220795)+W(3,-1108044768,1057524528,-1095708126,-1106562202)+W(4,1050893513,1060862745,-1102020840,1056016670)+W(5,-1095324014,1028413803,-1092797676,-1099653918)+W(6,-1107189281,1044362232,-1110398586,1031215069)+W(7,-1114975198,1051352312,-1097969466,-1138223071);sum2=W(0,-1112168075,1034632723,1034960798,-1112860057)+W(1,-1111493200,-1122920764,1040740621,-1108202591)+W(2,-1123529566,1009053647,-1105159128,-1115675116)+W(3,1022286331,1049936313,1057592446,-1112708946)+W(4,-1103466952,1051909492,-1126339526,-1146770753)+W(5,1035493883,-1099948229,1041517424,-1116950762)+W(6,-1113566520,1029419308,1016655048,-1115594520)+W(7,-1106265315,-1107051081,1024151142,-1103163741);WS(1063407871,1051042354); +sum1=W(0,1005154604,1049807310,-1113122997,-1107282310)+W(1,-1120529264,1052429035,-1100831547,1042685852)+W(2,-1106161584,1057743574,-1088929544,-1113923042)+W(3,-1130858780,1063894449,-1086654500,-1129272494)+W(4,-1114354154,1058090310,-1089886688,-1164896285)+W(5,-1127255711,1052514789,-1092092086,-1131567786)+W(6,1023693521,1044231916,-1106897472,-1131959253)+W(7,-1115504868,1049931918,-1097639884,-1115987013);sum2=W(0,-1113031572,1043434467,-1088941888,-1067187434)+W(1,1030565628,-1108784254,1056568736,-1079041185)+W(2,-1127702936,-1111949688,1036016830,1074040966)+W(3,992883874,1036810375,1060861120,1075709893)+W(4,1014952720,-1111107284,1023742716,-1099161149)+W(5,990495554,1042918247,-1098281783,992814626)+W(6,1018238740,-1120169364,1022041004,1039733673)+W(7,1023316920,-1112993936,-1112517088,1028892682);WS(1053166591,-1107822593); +sum1=W(0,1033874440,-1120335240,-1105709561,1042509273)+W(1,1022746982,1031831786,-1108379508,1008295657)+W(2,1035703758,1052124034,-1093762507,1044631286)+W(3,1019810386,1048792350,1046826502,-1124953572)+W(4,1044260196,-1095582904,1053612659,-1112928126)+W(5,1042374543,-1088629918,1045805451,-1113071488)+W(6,1040749291,-1097950065,1037463342,-1120529605)+W(7,1041374685,-1085974448,1042845918,-1132054272);sum2=W(0,1010990056,-1096561981,1040308359,-1119485380)+W(1,1039106059,-1097601992,1052717590,-1115258493)+W(2,-1102786881,1031463124,1058176412,-1101721469)+W(3,-1114641521,1058004743,1045709336,-1138490792)+W(4,-1133768253,1042505523,1034355291,-1101570252)+W(5,-1101476912,1041182740,-1096768246,1029590734)+W(6,-1103607882,-1105959219,1033275384,1037679123)+W(7,-1113060394,-1099775079,-1105804625,1036565969);WS(1028916214,1067075549); +sum1=W(0,1039584518,-1148995491,-1098323934,1026160863)+W(1,-1119264713,-1109885152,-1096386895,1022848653)+W(2,1016298993,1055889168,-1096985498,-1150434165)+W(3,-1105861885,1067421167,-1085982162,1034469007)+W(4,-1113980813,1059632007,-1087532161,1044152506)+W(5,1020015061,1055091716,-1088331431,1024761132)+W(6,-1134777055,1045130509,-1095878225,1032543553)+W(7,1032661512,1052375930,-1104015130,-1104676378);sum2=W(0,-1120016029,-1101422768,-1104653664,-1122344899)+W(1,-1096222017,-1103630239,-1105545071,1042131820)+W(2,-1119382227,1040689805,-1120927281,-1120071349)+W(3,-1092715875,1064582511,1058022283,-1101606830)+W(4,-1110818689,1043406218,1060808344,-1096987934)+W(5,1049876716,-1089499537,-1107109410,1051590178)+W(6,-1103484103,1029271710,-1107008053,-1099435532)+W(7,1032841990,-1117522613,-1105419897,1050342947);WS(1047020030,1040511430); +sum1=W(0,-1108637223,-1092384755,1057603229,1031927268)+W(1,1033110649,-1090443530,1053549631,-1122999800)+W(2,1044090139,-1085982557,1061618217,1026366340)+W(3,1043424750,-1080046633,1047924234,1032840448)+W(4,1036624046,-1083957593,1053999549,1015929108)+W(5,-1120308481,-1096279270,1057048888,1020572028)+W(6,1033721201,-1149642107,1057845673,994286645)+W(7,-1106849700,-1100324533,1052833857,1039624063);sum2=W(0,1035208568,-1124082321,-1093736918,1048736861)+W(1,1043030610,1008382386,1050323039,-1118377912)+W(2,-1107699159,-1107061123,-1114950423,-1106119918)+W(3,1044796248,1049576136,1074526989,-1111443567)+W(4,1034655700,1051573865,1073198167,-1132389881)+W(5,-1103668262,1048541752,-1080621030,1034733436)+W(6,1045164876,-1093669891,-1074078238,1034120076)+W(7,-1095424772,-1134934914,-1079139349,1029501600);WS(-1080108544,1072234904); +sum1=W(0,-1115070415,1027588151,1031137458,1018404227)+W(1,-1130610603,1029085890,-1104252646,1044293186)+W(2,-1098588213,1032775046,1056995037,1028038521)+W(3,1057466749,-1089931562,-1083673968,1050777268)+W(4,-1104374087,-1123371019,1052314097,-1093125043)+W(5,1029557602,-1094030554,1050628415,1046325824)+W(6,1018553236,1034779836,1033643941,-1108340394)+W(7,1001112594,999211181,1036988180,1020739741);sum2=W(0,-1115557063,1043108929,-1138826120,-1108049897)+W(1,-1118678156,1033401680,-1093193803,-1109597407)+W(2,1045099863,1036186051,-1079584214,1013268663)+W(3,-1102856438,-1124450766,1068262877,1049634970)+W(4,1035209289,-1112637977,-1121148137,1046161245)+W(5,1035167397,-1114646959,1041792105,-1111895568)+W(6,-1117208818,1012643139,-1138286224,-1127251156)+W(7,-1120387027,-1132473655,1032348301,-1116707942);WS(1061770399,1033097145); +sum1=W(0,-1127803310,-1100493560,1049484359,-1117956049)+W(1,-1108446526,-1122290538,1040952192,-1101349332)+W(2,1046619869,-1090144134,1049567736,1015706547)+W(3,-1102069216,-1124504076,1060283011,1051006353)+W(4,-1115166002,-1096124978,1036170309,1027971186)+W(5,-1107462472,-1113245389,1049188012,-1105896346)+W(6,-1113123881,-1115437168,1004781969,1011773295)+W(7,-1109525661,-1114380655,1043620172,-1118021614);sum2=W(0,-1115090363,1035607607,1036976780,-1102631851)+W(1,-1146121477,1032878473,1008730983,-1105868946)+W(2,1029869322,1020296178,1050702114,-1106613659)+W(3,1039239074,-1094567498,1060438996,1056742871)+W(4,-1123366919,-1133024223,-1092544833,1056526109)+W(5,-1123569769,-1111505684,-1088372125,-1103439045)+W(6,-1115297931,1036037468,-1119747923,-1114092237)+W(7,1022224092,1025152664,1015952550,-1109382916);WS(1063262431,1041246684); +sum1=W(0,-1095604910,-1094141452,1054301899,1050361575)+W(1,1035931377,-1103734011,1050116188,1015464930)+W(2,-1116408259,-1088213584,1059695011,-1130477940)+W(3,-1113418944,-1084116356,1063045487,1005018697)+W(4,1035543059,-1088057339,1060587189,-1114430457)+W(5,-1109446615,-1084926720,1062081288,-1112900435)+W(6,1041501409,-1095142868,1055163174,968128030)+W(7,-1111045021,-1085134126,1061043357,1012274924);sum2=W(0,-1088652568,1079171932,1068650823,-1089634291)+W(1,-1101936220,1073764649,1062997529,-1106083041)+W(2,-1091191468,1074855165,1053027607,-1102140198)+W(3,-1102444501,-1113430470,1039600983,-1123235056)+W(4,-1123800532,-1095064501,-1105207914,1028735871)+W(5,-1111069004,-1078839186,-1082346847,1056073450)+W(6,-1088813372,-1078450334,-1088354544,-1114344542)+W(7,1050243792,-1071519758,-1081653443,1060600412);WS(-1071343712,-1080188504); +sum1=W(0,1048814204,1024112567,-1101821021,-1155239198)+W(1,-1112944093,992179242,-1105846854,-1115614373)+W(2,1038698214,1035991718,-1110088095,-1117961066)+W(3,-1110388460,1065540811,-1086620536,1022833410)+W(4,-1102353903,1062800155,-1085891530,1037955557)+W(5,-1113346827,1057270438,-1092189183,-1130491710)+W(6,-1115354285,1047814390,-1094362793,1026576596)+W(7,-1172877482,1055244391,-1096652125,1021561214);sum2=W(0,1077488778,1057844910,-1110901413,-1157420388)+W(1,1067869852,1017329883,-1123912240,1016773013)+W(2,-1080283979,-1112258962,1048616910,-1127671945)+W(3,-1070445594,1038200220,-1103189448,1027002057)+W(4,-1085461181,1045877800,1033584054,-1139116556)+W(5,-1113067149,1016515143,-1113680120,-1108492850)+W(6,-1135625536,1029029881,1006246833,1033508697)+W(7,-1105631704,1026840239,1028070058,-1122607860);WS(-1114300667,-1123436789); +sum1=W(0,1048745214,1024457460,-1084727981,-1124831645)+W(1,-1106612992,1049280824,-1099711469,-1120312678)+W(2,1040619730,1061265254,-1091611130,991636461)+W(3,-1101020989,1066754197,-1090437274,-1115033343)+W(4,-1120049178,1060475010,-1087975654,1037659252)+W(5,-1129452308,1056957204,-1087165059,1036876438)+W(6,-1112058252,1052291799,-1095257281,1024723233)+W(7,1040777596,1051532558,-1091858685,-1128167880);sum2=W(0,-1102675226,-1096018291,-1064870457,1050758265)+W(1,1045758589,1033992894,-1078407710,-1091427154)+W(2,-1106608364,1053924217,1074354229,1044800412)+W(3,1037856863,1023354017,1077566439,-1122690967)+W(4,-1121700495,1045521037,1055978728,1037435194)+W(5,1038509645,-1112080608,-1100523264,-1101170582)+W(6,1041300787,1019757091,1032114149,1048475585)+W(7,1013024414,-1111416466,-1096094745,1031501486);WS(-1081349952,-1073531246); +sum1=W(0,-1130396178,-1092471918,1052933181,-1120779255)+W(1,-1123247001,-1094799967,1040552427,1032899791)+W(2,1049234666,-1087091570,1062313536,1048808240)+W(3,-1123595694,-1083589055,1056428784,1047688662)+W(4,1044575749,-1090515766,1060166366,1025076592)+W(5,-1118849787,-1088301188,1052569014,-1104574961)+W(6,1027091408,-1100895532,956727337,-1114767697)+W(7,1015989072,-1095518837,1057005798,1028829344);sum2=W(0,1036727690,-1101780564,1047063866,-1095151348)+W(1,1038605852,1036224480,1003722492,-1101329253)+W(2,1000461252,1043313873,1071364196,-1071443435)+W(3,-1108807283,1058417373,1075919102,-1072909475)+W(4,-1118764382,-1110550387,1031984760,-1137970650)+W(5,1040753555,1041024731,1052825370,-1094681513)+W(6,1025474323,1032765623,-1104266299,-1130737363)+W(7,1026410269,-1114514162,1049040777,-1100563228);WS(-1087415039,1075227720); +sum1=W(0,1014202565,1030200505,1042588557,1032642210)+W(1,-1121306305,-1093044977,1045750086,1039690838)+W(2,-1115466670,1052765481,-1099185023,-1099716881)+W(3,1055732347,-1086016434,-1102841730,1054066516)+W(4,-1088701572,-1108244135,1060432915,-1089156724)+W(5,1045428619,1044242725,1001272287,1045967960)+W(6,-1106855619,-1102530383,1047811955,994787170)+W(7,-1113272762,1042147022,1043051755,-1114980876);sum2=W(0,1034817173,1033088277,-1105460751,-1119967238)+W(1,-1106843150,-1115275500,1042281307,-1122100142)+W(2,1035283571,-1108330169,-1117933953,-1118763227)+W(3,-1117324330,1059951304,1055263105,1033190213)+W(4,-1106783723,-1114610359,1036736577,-1099584511)+W(5,1033652183,-1130129964,1034893511,-1097591398)+W(6,-1105003316,-1100855920,1040893249,1043864443)+W(7,-1109219720,1017452836,1026860110,-1097701018);WS(1061885343,-1093433134); +sum1=W(0,-1119074171,-1116612499,1043937396,1026065358)+W(1,1040591342,-1106037336,1035985530,1035233146)+W(2,1024365415,-1090085717,1054530437,1023445318)+W(3,-1112185530,-1110885309,-1105284753,1041032751)+W(4,-1102861510,1058148680,-1085809524,1043298226)+W(5,1047951017,-1098920364,1042740717,1028431483)+W(6,1033079635,-1104145445,-1143903027,1030877520)+W(7,1030794670,-1102965524,1048819605,-1110782149);sum2=W(0,-1120425303,-1115506247,-1089905659,-1106986872)+W(1,1041777983,-1109249837,-1082926483,-1093100415)+W(2,1008642595,1051302633,976609774,-1100742938)+W(3,1038578170,1062460419,1062992305,-1121360027)+W(4,-1103931105,1046700430,1016533657,1026171953)+W(5,-1144970974,-1110379832,1046952726,-1123505732)+W(6,-1139607395,-1121481149,-1128426413,1047068010)+W(7,-1105571910,-1125592805,1044012895,-1108759193);WS(1057387711,1071476886); +sum1=W(0,1029774760,-1088145158,1058722665,1026644842)+W(1,1046876472,-1090879061,1046940920,-1124024690)+W(2,1049447728,-1087750555,1062289140,1034805113)+W(3,-1104814472,-1081209882,1060559271,-1101227374)+W(4,1047761369,-1102041597,1057163193,1041428045)+W(5,-1107998911,-1088704948,1046238393,-1112057972)+W(6,1035672969,-1101378696,1049034574,-1123650077)+W(7,1025453339,-1090772220,1051154538,1045125730);sum2=W(0,-1079574021,1066168402,-1106633910,1033041398)+W(1,-1076424748,1072246945,1039775524,1025560740)+W(2,-1084651933,1055648588,-1122282375,1042767844)+W(3,-1079383446,1069722149,1050613020,-1122422479)+W(4,-1094010079,-1105729737,-1112550614,1029478726)+W(5,-1105513599,1052366950,1046757765,1029747528)+W(6,-1094989946,1046266897,1041413657,-1132333344)+W(7,-1083946107,1064021500,-1117589808,-1110924549);WS(-1088291167,-1076464582); +sum1=W(0,1038365083,1048475643,-1115380053,-1113517956)+W(1,1013092187,1039614653,-1115741870,-1118168192)+W(2,1049005176,-1105893787,-1115211424,1038779144)+W(3,-1096083994,-1090164821,-1106465144,-1103584918)+W(4,1046666973,1048630844,-1092124773,1051487172)+W(5,1029385568,1052597003,-1097273638,1036949051)+W(6,-1130846211,1030762351,-1104199584,1029432699)+W(7,1035921309,1049653618,-1098780292,1041505439);sum2=W(0,-1102442432,-1119046775,1038119755,-1116688635)+W(1,1042447103,-1103497340,-1117033259,-1109692823)+W(2,1009200726,-1108371687,-1111757198,-1136365839)+W(3,-1140140535,1063726871,1053430514,-1103585210)+W(4,1018235219,1023996549,-1097582390,1035998106)+W(5,1038566242,-1100556235,-1130738637,-1122627505)+W(6,-1105836948,-1134905751,1027482933,-1113769016)+W(7,-1119461411,-1115426548,1038939472,-1131103707);WS(1063535295,-1106643391); +sum1=W(0,998897947,1049160779,-1095715331,1022592892)+W(1,-1114069468,1050551697,-1114097198,1035333911)+W(2,1030590255,1037435628,-1091439068,-1105875754)+W(3,-1120649212,1059662980,-1098500149,1036951763)+W(4,-1112623985,1051258674,-1093374928,-1097348874)+W(5,-1135800742,1051146291,-1112852607,1021555078)+W(6,-1126057998,1042046535,-1104302276,1032877804)+W(7,-1118923687,1051522915,-1098602138,-1118947123);sum2=W(0,1020791040,1023004440,-1131522740,-1130592194)+W(1,-1119848331,1035188360,1010552055,-1114014595)+W(2,1028098574,1036866165,-1087402238,1057774258)+W(3,1024075228,-1081188844,-1063807577,1085749988)+W(4,1036335573,1036267331,-1074297638,1072260443)+W(5,-1114214294,1020492762,1044255896,-1101071935)+W(6,1028067710,1026996488,-1109527927,1041502854)+W(7,-1123998545,1028180222,-1125487816,-1121770211);WS(1065370528,-1140007425); +sum1=W(0,-1119191691,-1089109360,1051697742,1048704645)+W(1,-1123119348,-1093467562,1051845168,-1120571445)+W(2,1043193134,-1104035088,1049231373,1047054964)+W(3,-1144777506,-1082641845,1058881533,-1128753754)+W(4,1048874737,-1090665335,1060727795,-1122636375)+W(5,-1114692372,-1085597050,1053776045,-1135014444)+W(6,1047204584,-1097312497,1050811579,962936920)+W(7,1028382351,-1084438004,1054559607,1047044271);sum2=W(0,1072219394,-1078126224,-1093298188,1011861728)+W(1,1068804680,-1079031251,-1110022070,1040923692)+W(2,1068134846,-1078951161,-1084926454,-1105857084)+W(3,1066171639,-1087436811,-1107767815,-1121892273)+W(4,-1095987744,1039512383,1055586357,1026590003)+W(5,-1080918851,1067164113,1031793821,1040751494)+W(6,-1077110574,1069504242,1041030661,-1123439499)+W(7,-1071545857,1075315134,1055897321,-1109554506);WS(-1089696543,-1143233957); +sum1=W(0,-1115482013,-1129127938,1041381507,-1122467892)+W(1,1045323653,-1098483714,-1110243009,1049605572)+W(2,-1096516931,1045383939,1059582003,-1090424421)+W(3,1035013745,-1091150045,-1106321908,1043667267)+W(4,-1162367211,1043411549,1034020454,-1109629626)+W(5,1054106403,-1086835476,1026676964,1048548650)+W(6,-1107204469,1048447553,1034191370,-1105600748)+W(7,1036179510,-1103773800,-1159158363,1035568493);sum2=W(0,-1134008573,1032064725,-1117795542,-1113496357)+W(1,-1125596513,-1121806942,1035355315,998755498)+W(2,1011008945,1045441656,1024667789,-1119910472)+W(3,1051842604,1065460002,-1089961367,1041632626)+W(4,-1125276577,-1114964420,-1081892598,1035390555)+W(5,-1118729604,-1130705389,1026896379,1032979221)+W(6,-1111959837,-1121883022,1020053498,-1129745921)+W(7,-1117720498,1034360078,1023648883,-1115672512);WS(1065278079,-1120402802); +sum1=W(0,1031924074,1052390115,-1097070063,-1116671142)+W(1,-1115548942,1049303261,-1099757447,-1118597165)+W(2,-1106896516,1045251552,1040981136,1041336272)+W(3,-1112658654,1060948388,-1081623390,1043338841)+W(4,-1103991244,1062622505,-1085365853,-1145407604)+W(5,-1121670257,1054395391,-1096062708,1032773481)+W(6,-1115583119,1045812503,-1101077740,-1123616408)+W(7,1031270934,1048618059,-1099232531,-1127437558);sum2=W(0,-1114021356,-1110767736,-1100377718,1034493514)+W(1,1032565152,-1122384971,1041858293,1019779384)+W(2,1056835748,-1085457975,-1085697040,1016590225)+W(3,-1085160508,1068814369,1060746614,-1097525969)+W(4,1058685385,-1085213012,1057245366,1043875459)+W(5,-1086618535,1063574785,-1094120608,-1097974912)+W(6,1047242231,-1144776155,-1093482365,1054776673)+W(7,1032715041,-1097434793,1056356490,-1096653037);WS(1055688959,-1109584743); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0][0] = HOOKED_texOff(vec2(-3.0, -1.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-3.0, 0.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-3.0, 1.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-3.0, 2.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-2.0, -1.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-2.0, 0.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-2.0, 1.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-2.0, 2.0)).x; +samples[2][0] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[2][1] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[2][2] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[2][3] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[3][0] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[3][1] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[3][2] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[3][3] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[4][0] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[4][1] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[4][2] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[4][3] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[5][0] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[5][1] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[5][2] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[5][3] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[6][0] = HOOKED_texOff(vec2(3.0, -1.0)).x; +samples[6][1] = HOOKED_texOff(vec2(3.0, 0.0)).x; +samples[6][2] = HOOKED_texOff(vec2(3.0, 1.0)).x; +samples[6][3] = HOOKED_texOff(vec2(3.0, 2.0)).x; +samples[7][0] = HOOKED_texOff(vec2(4.0, -1.0)).x; +samples[7][1] = HOOKED_texOff(vec2(4.0, 0.0)).x; +samples[7][2] = HOOKED_texOff(vec2(4.0, 1.0)).x; +samples[7][3] = HOOKED_texOff(vec2(4.0, 2.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns256, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns256, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,1024871952,1026430476,1041094851,992987016)+W(1,1034372511,1007997243,1038248733,1009484684)+W(2,-1091961907,-1103990249,-1086639391,-1085365048)+W(3,-1087585419,-1093414958,-1100793414,-1099588502)+W(4,1049937838,1052012307,1057524239,1063527595)+W(5,1061081007,1057188600,-1104832955,-1114088341)+W(6,1023328805,994719130,-1110763811,-1102193240)+W(7,1046466539,-1131716095,1042167685,1037858632);sum2=W(0,-1122170202,-1117362461,-1125932452,-1100385246)+W(1,1020071642,1025043913,1017078274,1018043750)+W(2,-1115075619,1050294809,1041506545,-1100233118)+W(3,-1100362988,1047005177,1012082941,-1112302377)+W(4,-1113824159,1022334174,-1098709995,-1104291570)+W(5,1072797337,1053652830,-1100425628,-1155649364)+W(6,1016746290,1016781702,1031697879,1033455014)+W(7,1050444141,-1106922881,-1081909907,-1086585813);WS(-1096195455,1061976972); +sum1=W(0,-1107583849,1045016510,-1102048399,1050507709)+W(1,-1138600128,1004076226,1049677870,-1106918697)+W(2,-1094469481,-1104061589,-1082981042,-1086991635)+W(3,-1087760032,-1088999402,-1111975782,-1089081125)+W(4,1057261454,1051975353,1058403546,1061386858)+W(5,1052980216,1052828202,1055128500,1048525839)+W(6,1032308806,1046697387,-1093320254,1051876218)+W(7,-1106246183,-1112945129,1045880594,-1116677906);sum2=W(0,976892690,1043646796,-1131052969,1047930742)+W(1,-1099144563,1035354913,-1115191227,-1111106463)+W(2,-1095110912,-1114450783,1052886335,-1113296119)+W(3,-1088067101,1040578653,-1102673565,1051335047)+W(4,-1080663089,-1074060607,-1068434194,1048011859)+W(5,1042920440,1058047003,1057110709,1038060178)+W(6,1075827337,1075290035,1070007941,1046007784)+W(7,-1090506241,-1099371585,-1096675048,-1096378099);WS(-1095930303,-1128843438); +sum1=W(0,-1113225514,1030842449,-1120882464,-1111398934)+W(1,-1098488134,-1098728413,-1111237296,-1104159890)+W(2,1000563038,-1103461662,-1098779087,-1156245815)+W(3,1057689814,1058114717,1041725787,1046074787)+W(4,1038763268,1052682210,1055587560,1046999855)+W(5,-1090605975,-1106232348,-1106563184,-1119168797)+W(6,-1104281110,-1105449143,-1106219642,-1105879965)+W(7,1039743648,1030902068,-1111582036,1033984854);sum2=W(0,-1109947141,-1087141194,1007133897,-1099413759)+W(1,1026690396,1045509921,-1117657274,1051942463)+W(2,-1078961084,-1081851502,1057831088,1067440534)+W(3,-1095618356,1022398658,1029712906,1049871690)+W(4,1053833634,-1102894339,1046573470,1058568743)+W(5,1058025266,-1115002147,-1109832065,-1099467737)+W(6,1049299145,1040634467,1035108031,-1114324751)+W(7,-1094447449,1023241606,987652806,-1104714655);WS(1018627052,-1077328537); +sum1=W(0,-1107592280,1011043872,-1138466445,1041422472)+W(1,-1112294435,1012707679,-1150731309,-1118891707)+W(2,-1098360952,-1103889731,-1088654431,-1079526160)+W(3,-1109020730,-1095389295,-1102056896,-1101414784)+W(4,1054425801,1045838144,1063939041,1057394281)+W(5,1061143403,1057286118,1040465365,1042544156)+W(6,-1121256842,1016847523,-1114759963,-1109966789)+W(7,-1115564074,-1117689671,-1133534770,1028492087);sum2=W(0,-1161717665,-1138679732,-1121504639,1050854432)+W(1,-1106511096,1030373815,980628162,1031200951)+W(2,1033867626,-1115218580,1030621655,-1096361601)+W(3,1044499063,-1104067382,1040061476,-1122098343)+W(4,1028201267,-1096378423,1071708903,1079482342)+W(5,-1064184100,-1089118805,1048273255,-1109436715)+W(6,-1124228530,1029766795,-1128256742,1035298280)+W(7,1035336882,-1105361644,-1119150405,1035049634);WS(1045693694,1057374369); +sum1=W(0,1048369598,-1104752283,1031950009,-1123958928)+W(1,-1103831441,-1106189273,-1103850789,-1110300085)+W(2,1034312519,1045853799,1057046586,1065585622)+W(3,1061666460,1060939321,1050689810,1060417841)+W(4,-1131023893,-1098373234,-1095062180,-1089164628)+W(5,-1092432965,-1087345809,-1092965100,-1091010256)+W(6,-1099588978,1019902402,-1105510198,1033283356)+W(7,-1115031649,-1122647270,-1126666680,-1103574093);sum2=W(0,-1087427905,1058683530,-1081734921,1050776004)+W(1,1042479954,1025544982,-1105492903,1058740427)+W(2,-1098709872,-1099141199,1032637312,1072181481)+W(3,1036599206,-1080357543,-1113642582,-1086527647)+W(4,1072153031,-1088885778,1061509476,1071890032)+W(5,1052304550,-1080881103,1050862866,-1078556244)+W(6,-1089481634,1056590706,-1092495010,1048814690)+W(7,-1095810808,-1097308566,-1094462248,1039671439);WS(-1081549664,1060153996); +sum1=W(0,992286043,-1115318586,-1105782456,1026471870)+W(1,-1114468402,1037910210,-1130210466,1043803882)+W(2,1063391104,1055271797,1062019397,1061503832)+W(3,1058772501,1045594046,1049908468,1040755007)+W(4,-1087586274,-1095899708,-1085498120,-1089250259)+W(5,-1090055577,-1102496824,-1103786988,-1104619012)+W(6,-1105647870,1025423024,1033921889,-1113405924)+W(7,-1113674825,-1106446561,-1118412923,-1096097592);sum2=W(0,1053790549,-1110257416,1033688102,-1102619530)+W(1,-1117483359,-1098152061,-1105743952,-1083553679)+W(2,-1080860351,-1097530578,1041061421,1064966059)+W(3,1050344847,1040479494,1051151965,1065962098)+W(4,-1068185653,-1077346152,1052310674,1072556372)+W(5,1075004369,1064749402,-1110156824,1045213317)+W(6,-1082483044,-1088866791,1052658871,-1104178634)+W(7,-1108410079,1040931499,-1137891932,1053124980);WS(-1079020096,-1097079011); +sum1=W(0,-1109501731,1033910555,1015347636,-1108027795)+W(1,1042979875,1019929124,1040369234,-1134559750)+W(2,-1096742621,-1092191510,-1089091160,-1087072713)+W(3,-1087558450,-1089417126,-1104831498,-1091818621)+W(4,1057943754,1055662529,1059647341,1068092504)+W(5,1059824411,-1117499817,1043480574,1050143023)+W(6,1016000225,1020967408,-1102027816,-1109882648)+W(7,-1106889398,-1117366414,-1104827345,1049289276);sum2=W(0,1037631964,-1105851814,1036652885,-1110757790)+W(1,1024508007,-1139201564,-1113225064,-1104657620)+W(2,-1097479797,1051380185,1028410699,1044594400)+W(3,1041068006,1046036650,1054960427,-1105334641)+W(4,1051023588,-1097950410,1034374804,1053237761)+W(5,-1132209182,-1088293598,-1081781977,1065714224)+W(6,1045348435,1028003104,-1113269608,1041832368)+W(7,1033918380,-1089693526,-1099925151,-1106359824);WS(-1087384991,1052875812); +sum1=W(0,1041733252,-1138647561,1034391503,-1106477875)+W(1,-1100509868,-1098694249,-1110959830,-1120730421)+W(2,-1109905397,-1104994285,-1107522048,1057597757)+W(3,1062613266,1055828187,1052485297,1044647290)+W(4,1041497057,1032882549,1050093354,-1091247383)+W(5,-1087942224,-1090201627,-1098203032,-1100016695)+W(6,-1113613058,-1117825756,-1108789794,1028766931)+W(7,1042722079,1013355333,1034047139,1038812681);sum2=W(0,1019350107,-1111428867,1017374087,-1112005123)+W(1,1028700445,-1112772903,1027823157,999439052)+W(2,1041831066,-1130655130,-1138336400,1035402260)+W(3,-1116945124,1041636268,-1107238338,1033528252)+W(4,1051650697,-1112274143,-1092155273,-1114034096)+W(5,1045953881,1041190902,1049171133,1027833254)+W(6,-1103332568,-1077765094,-1073481211,-1087514353)+W(7,1069095754,1074086485,1057277153,-1107727987);WS(1050457727,1041689780); +sum1=W(0,-1131312139,-1116681402,1030961105,-1140959985)+W(1,1046496193,1048638526,1007270019,1049181764)+W(2,992358355,1014710691,1040368912,-1105027369)+W(3,-1089290871,-1090315138,-1098770776,-1086147588)+W(4,-1092744895,1027381214,-1089348299,1050737138)+W(5,1038810352,1055368676,1040416748,1051301702)+W(6,1048008788,1036450832,1053966377,933247243)+W(7,1043432004,-1119062181,1023583738,1037141075);sum2=W(0,-1107193278,1019433289,1039188525,-1123892633)+W(1,1039851328,1032631611,1044641782,-1097026795)+W(2,1057496780,1031729137,1037283932,-1086728254)+W(3,-1087309268,-1092570464,1035754242,1063903066)+W(4,1072935738,-1080020989,-1078950448,-1087453268)+W(5,1051352061,1059438018,1051006721,1056300653)+W(6,-1080570956,1054527180,-1096917141,1050123895)+W(7,1053948249,1042769096,1029707984,-1106545458);WS(-1084263519,-1088250567); +sum1=W(0,-1107101246,1049480649,-1097447514,1049647488)+W(1,-1099235545,1018612505,-1103944776,1032447885)+W(2,1048954180,-1096698757,1059331526,-1119095878)+W(3,1040553109,1041330418,1040723088,1023387386)+W(4,-1118116730,1027018719,-1108150329,-1090501921)+W(5,1044929028,-1094468036,1047463532,-1106285556)+W(6,-1111017296,1043604572,-1098833704,1050343697)+W(7,-1096264890,1044030041,-1121471547,-1175819022);sum2=W(0,991719940,1034086314,1055828179,1034571486)+W(1,1049088345,-1098363481,-1111430799,-1111365517)+W(2,-1157381748,-1121095386,-1103829652,-1100672658)+W(3,-1090417467,1050795943,-1113801830,1037803588)+W(4,-1100952734,1027786887,-1085350121,-1118546758)+W(5,1049271738,-1140682323,1035813474,-1164121191)+W(6,1029794653,1016292894,1067178121,-1098007098)+W(7,1008607005,-1110134488,-1115483467,-1133015817);WS(1066054400,-1125664425); +sum1=W(0,1015260777,-1108545200,1023624464,-1109354663)+W(1,1023465234,-1108921531,-1116445024,-1128865616)+W(2,1054574294,1053284635,1059735702,1058150961)+W(3,1058102002,1063397581,1046571067,1046728251)+W(4,-1095241461,-1094415406,-1088764634,-1078845388)+W(5,-1090401103,-1105651068,-1116790272,-1104354311)+W(6,-1127045294,-1111343263,1041542629,-1130514988)+W(7,1035892576,-1136829776,1030749305,-1106930027);sum2=W(0,1041565398,-1103469615,1029690269,1035794320)+W(1,1035452008,-1107146771,-1124704946,1040850628)+W(2,-1104697837,1029373537,1057447179,1080145714)+W(3,-1103623095,-1066097425,-1097535851,-1103109309)+W(4,-1115419200,1031260861,1026403525,1043319440)+W(5,1050811672,-1103531154,-1090176537,1055196268)+W(6,-1158883614,1035036640,1034486240,1041655252)+W(7,-1114789346,-1114794272,1036709484,-1102936938);WS(-1087901375,1071177135); +sum1=W(0,-1121594272,-1122618691,-1114434254,1044010486)+W(1,-1113833999,-1108159437,997526195,-1123472883)+W(2,-1110224028,-1109965218,-1120206908,1010935165)+W(3,-1108541318,1041417229,-1109330685,1039497451)+W(4,1030219348,1047787782,-1114914192,-1113546820)+W(5,1046030645,1035224125,1017890711,1022061139)+W(6,994425384,1027034090,-1106192913,1040356168)+W(7,-1112701798,-1130438655,-1151173965,-1125745551);sum2=W(0,1042217679,-1108814485,1058334461,-1080767453)+W(1,1050991857,1030602271,1034906705,-1127683613)+W(2,-1116367239,1042859710,-1078638996,1073929687)+W(3,-1092080339,-1116721722,-1106162437,1035114111)+W(4,1026421701,1027395369,1028343990,-1097310248)+W(5,1042808122,1051491707,1024141024,-1112071525)+W(6,-1140328609,-1114630403,-1105295199,1028261520)+W(7,-1122297114,-1105219597,997359482,1017171678);WS(1066545696,-1154623394); +sum1=W(0,-1105442505,-1115505461,-1102287846,1023914903)+W(1,1021900696,1016559928,-1142506442,-1129232035)+W(2,-1114054203,-1098488296,-1092352928,-1089108436)+W(3,-1087887754,-1096061654,-1097827287,-1095543703)+W(4,1057182265,1049322687,1062190966,1059635472)+W(5,1057132007,1043675118,1048482034,1055016957)+W(6,-1123432545,1010507424,-1097309632,1045294808)+W(7,-1098559779,1042399967,-1110816589,1026256390);sum2=W(0,-1094410020,-1073520568,-1076806727,1007932024)+W(1,-1129053184,-1126774165,1016297320,1026440100)+W(2,1040526244,-1119660436,1072065972,1074284701)+W(3,1045336233,-1114285571,1027498382,-1109537500)+W(4,1038890507,-1105577163,1038803075,-1096715819)+W(5,1048625414,-1106066396,1035667090,-1128514892)+W(6,-1120085021,1014274624,-1119386280,1032586275)+W(7,-1148623280,1033069015,-1113847206,1028560484);WS(1055250687,-1106970626); +sum1=W(0,1033119688,-1105149829,1043588463,-1098690473)+W(1,1051357302,-1111820283,1036109552,-1119401059)+W(2,1042190962,1055784922,1039447718,1060328969)+W(3,-1105877415,1050469874,-1123255849,1044861546)+W(4,-1096546392,-1103230410,-1093610964,-1094495495)+W(5,-1104321127,-1102978667,1034127854,-1097968467)+W(6,-1117586055,-1125652468,1035816565,-1103963220)+W(7,1047255951,-1108600424,-1157028943,1018776031);sum2=W(0,1038757267,-1111076574,1036628998,-1107631850)+W(1,1045867530,-1126199158,1034641438,1014361489)+W(2,1030211853,-1147844455,1002666567,-1080902130)+W(3,-1089131777,1067727291,1050167793,-1114432338)+W(4,1033894636,1039985174,-1092985165,-1084645521)+W(5,1069738325,-1096580382,-1100096489,-1100261485)+W(6,-1133782171,-1117005539,-1150866734,1049641986)+W(7,1051354211,-1100550183,-1104598763,1033251244);WS(1063662431,1022143153); +sum1=W(0,-1101665898,1044567949,-1113912242,1054985008)+W(1,-1089448239,1031890901,-1106608329,1016341751)+W(2,1028101088,-1100200043,-1110575390,-1090770105)+W(3,1042239925,1034205190,1041117720,1032506575)+W(4,1045825111,-1112112432,1011332621,1036354680)+W(5,1053092900,1020582213,-1122250931,1037368233)+W(6,-1107336877,1049135824,-1117269540,1043762234)+W(7,-1090665684,1045380738,-1108114694,1027635960);sum2=W(0,-1109621945,1044140338,1011973298,1054192939)+W(1,-1083519810,1050669158,1015542539,1007706050)+W(2,995625223,-1125871763,1059194369,-1085775903)+W(3,-1085690186,1055305067,-1115586758,1024423563)+W(4,1033690799,-1131300267,1019603073,-1105557074)+W(5,1066625604,-1093331249,1025625789,-1163078190)+W(6,-1127273987,1031533647,-1100093028,1049649037)+W(7,-1099380904,1041330252,-1109873113,1021669909);WS(1065395904,1046290614); +sum1=W(0,996799560,1015596034,-1100668872,-1100927819)+W(1,1043886221,1025322396,1035443240,-1114934548)+W(2,-1125542553,1043656950,1056396433,1054862894)+W(3,-1088911438,-1099487682,-1105531411,-1117673547)+W(4,1038203972,-1105153011,-1085640859,-1101762943)+W(5,1057024083,1036429768,1021072448,1035195023)+W(6,-1122586727,1036793959,1049715632,1035554923)+W(7,-1115152096,-1122121748,1039652277,1024299964);sum2=W(0,1029237671,-1133651707,-1114304490,-1114162505)+W(1,-1125875827,-1112015576,1015895733,1035088799)+W(2,1017509749,-1140172751,1030543605,-1092617066)+W(3,1051105475,1033357967,1011455075,-1105982664)+W(4,-1104176053,1038596873,1050264307,-1093179067)+W(5,1071302855,-1090684841,-1100815852,1003487558)+W(6,1032328729,1037378915,-1104642832,1049979232)+W(7,-1110244360,-1085540383,-1135016203,1015899853);WS(1058730335,1038095077); +sum1=W(0,1050009523,-1156396202,1045232946,-1123440788)+W(1,994853272,1029074928,-1116532263,1016043038)+W(2,-1090412329,1022785342,990514519,1051849503)+W(3,1050259497,1048747736,1040337077,1047238893)+W(4,-1116071407,-1112028282,1027669243,1025171300)+W(5,-1091444451,-1091116387,-1095024325,-1085293672)+W(6,-1120619710,1033123659,-1138222105,1042856679)+W(7,1043400402,1046148791,1031722640,1050565349);sum2=W(0,1046272294,-1119023958,-1106071503,-1097641458)+W(1,-1099339001,-1122591395,-1120322169,-1112624405)+W(2,1056160584,1047372879,1066704996,1062851774)+W(3,-1127558738,-1095719050,1012197993,-1094334166)+W(4,-1069609928,-1100807597,1063602974,1071319304)+W(5,-1123458905,1049925865,1037702687,1046841945)+W(6,-1086350256,1012350161,-1093103672,-1165704932)+W(7,-1099266547,1039176837,-1104052164,1043315186);WS(-1102208382,1082454872); +sum1=W(0,-1121527792,1019782131,-1111677734,1042764822)+W(1,-1098291428,-1109244559,-1122839755,1023050790)+W(2,-1097489215,-1109352802,-1089475261,-1094323164)+W(3,1057233791,1055571354,1036609181,1023873367)+W(4,1044710709,1043005718,1059136208,-1113184692)+W(5,-1102862820,-1113821821,1016630678,-1122283881)+W(6,1024559218,1025756170,-1098383546,1034230961)+W(7,-1121795355,1034138424,-1148370726,1021065311);sum2=W(0,1012975921,1033684352,-1119837718,1048900749)+W(1,-1088385914,-1106132930,-1107812043,1047279942)+W(2,-1113722375,-1113902527,1034379158,1065557700)+W(3,1033601684,-1078602486,1048231286,-1117907500)+W(4,-1109752074,-1108511603,1047596894,1065261424)+W(5,-1110433219,-1113936114,-1106600777,-1110420048)+W(6,1009270385,1034062718,-1096952633,1042274647)+W(7,-1110816087,1038223706,1037668398,-1111923151);WS(1055139903,1066543323); +sum1=W(0,-1113216706,1034160554,-1110997976,-1104052311)+W(1,-1130057219,-1100344024,-1109060119,-1102181302)+W(2,1025777755,-1106690282,1025857819,-1108040417)+W(3,1042814916,1058801014,1040801319,1061190298)+W(4,1062476912,1047449287,1040533578,-1088276389)+W(5,1043316038,-1096553156,1003175286,-1109923206)+W(6,-1094834883,-1115394087,-1100641176,-1109281747)+W(7,-1111790927,-1131081926,-1127882001,-1116502963);sum2=W(0,1032900543,1026043047,1011969739,1005946567)+W(1,-1104378201,-1106573410,-1149079854,-1098913457)+W(2,-1093611286,-1143136704,-1129502699,1065137024)+W(3,1034934846,1044311979,-1128312106,-1107526541)+W(4,-1093105706,-1104881087,1056641171,1062580590)+W(5,-1137732946,-1102271464,-1106196955,-1097055308)+W(6,-1103368978,996537094,-1097512177,1038772124)+W(7,-1108835309,1035638256,1028654910,-1144299515);WS(1037662203,-1095462961); +sum1=W(0,1051208476,1007151360,1047867778,-1120692693)+W(1,-1102286423,1029685138,-1117174983,998066935)+W(2,1054332722,1048962332,1056131053,1060311124)+W(3,1053179033,1057524976,1045179237,1053688986)+W(4,-1088537607,-1096098779,-1089718811,-1086623130)+W(5,-1088149909,-1093380227,-1094989189,-1094538289)+W(6,1009988859,-1120684294,1043868050,1008468855)+W(7,1024446024,1041242535,-1121112609,1022948968);sum2=W(0,-1075642964,-1078284587,-1077677369,-1086975712)+W(1,1050575143,-1109971278,1043550667,1046375822)+W(2,1064397427,1070403917,1072178178,1071930150)+W(3,-1093947328,-1119680819,-1134729809,-1094009133)+W(4,1042055631,1050515956,-1094922849,-1096417404)+W(5,-1094640520,1045435393,-1109099138,-1106076462)+W(6,1049259770,-1100572061,1038272909,-1110188613)+W(7,1033007627,-1109186235,1040318497,1038207101);WS(-1091974591,1028524890); +sum1=W(0,-1119527298,1034997099,-1099802012,1033463662)+W(1,-1090658116,1044419888,-1099353751,-1110855131)+W(2,1050666155,-1101120961,1057798952,-1146674958)+W(3,1048486316,1054164791,1033437822,1053708795)+W(4,-1104886813,-1100807815,-1099838668,1021707158)+W(5,1057612011,-1093871840,1029138830,-1104286795)+W(6,-1119869997,1044100139,-1103774309,-1112176434)+W(7,-1094617942,1036492177,-1113521820,1028051362);sum2=W(0,1029285075,-1113245689,1046869988,-1099734421)+W(1,1045806866,-1099048447,1040440310,-1129472848)+W(2,-1114745613,1037297246,-1113507597,1057852752)+W(3,1031538739,1019950674,1039903515,-1115367833)+W(4,1024121756,1034295695,-1081105309,1063764387)+W(5,-1093953622,1060684479,-1099720743,1051222485)+W(6,-1127985632,-1103172653,-1097344586,-1092930743)+W(7,1039548141,-1113791115,1024790472,-1106398082);WS(1058893599,-1078409713); +sum1=W(0,-1115244150,1036724056,-1098555735,1049246955)+W(1,1045222582,-1138283737,1044966206,-1115412967)+W(2,-1102829117,-1100240992,-1094663483,-1084866106)+W(3,-1085064800,-1093243506,-1093950047,-1095580366)+W(4,1039336887,1053376406,1053054383,1065100884)+W(5,1054590883,1056764679,1053059489,1050610273)+W(6,-1115623287,-1114512019,1041993169,1018575674)+W(7,-1114852275,-1108377677,-1118180448,-1122449691);sum2=W(0,-1130929736,1009552185,-1084383778,1050909748)+W(1,1049209322,-1096700837,1051369678,-1129474226)+W(2,-1101060123,-1090337753,1072779570,1053567468)+W(3,-1079161361,1057662166,-1097661058,-1112521942)+W(4,1045192083,1061442923,1050903982,-1089269841)+W(5,1029505799,-1094014597,1046387683,-1105984421)+W(6,-1105822172,-1103557108,-1106762492,-1117595750)+W(7,-1111371347,1025228376,-1138825972,1030887459);WS(-1109369595,1048740969); +sum1=W(0,1040995480,1030414773,-1118646413,1043594790)+W(1,-1129436350,1037121811,1030207412,1043560049)+W(2,1051718495,1050319297,1059003715,1046504696)+W(3,-1135436979,1043825845,1049475887,1058279379)+W(4,-1091711555,-1095167863,-1085356599,-1083562713)+W(5,-1096690237,-1098326935,-1120665100,-1098718953)+W(6,-1125552391,1032958437,1042985722,1045509569)+W(7,1023899916,1019546753,-1130219052,-1105013544);sum2=W(0,-1113177829,1043809265,-1095416462,1034071291)+W(1,-1120341831,1043900974,1020015593,-1119209873)+W(2,-1117552581,-1109343151,1052574118,1063553374)+W(3,1070912061,-1112203792,-1091338378,-1072794661)+W(4,-1100446453,1039662186,-1114145263,1053677817)+W(5,-1101063801,1042882834,-1094258913,1055602011)+W(6,1041583669,1009024316,-1118793923,1018689733)+W(7,1031195477,-1105538343,-1114748986,-1109237633);WS(-1093437503,1065718162); +sum1=W(0,1037550096,-1101135841,1044878747,-1107014286)+W(1,1042111087,1037051057,-1099961615,1041500301)+W(2,1049488055,1042594425,1049041945,1066142676)+W(3,-1100146203,1045825417,1040663590,-1119554198)+W(4,-1103061781,1046266118,-1087470164,-1106438298)+W(5,-1111606545,-1091131027,-1133427370,-1103590594)+W(6,-1114711965,-1097873069,1046063170,-1091362312)+W(7,1037494709,1040258368,-1109172298,1033770775);sum2=W(0,-1106488910,1026201604,1035711566,1060425407)+W(1,-1098764525,-1096618367,-1182808622,-1127820908)+W(2,-1123106758,-1113590739,-1084666863,1061776657)+W(3,1055047321,-1119175762,-1103500958,1041613778)+W(4,1050172947,-1092748399,-1097703384,-1099741350)+W(5,-1120322586,1050324229,1025620288,-1105222946)+W(6,-1124712996,1043391307,-1098783459,1048423650)+W(7,1041036039,-1099280352,1048645442,-1118590758);WS(1056660607,-1113798601); +sum1=W(0,-1115305597,-1101671294,1016801995,1039904137)+W(1,1037148876,1040453028,-1110559226,-1154296528)+W(2,1041913228,1008348404,1031963795,-1093680051)+W(3,-1089471492,1034024758,-1111400057,1031051312)+W(4,1012656821,998498191,-1102006873,1057450908)+W(5,1049874551,-1111681498,-1109457443,1036430914)+W(6,1026504084,-1151777337,1032505286,-1108358078)+W(7,1031920291,1043455038,-1129849213,-1125050675);sum2=W(0,1042939003,-1114796094,1044529628,-1124781020)+W(1,-1106748864,1016881133,-1108227590,1027959261)+W(2,1024638457,-1101207597,1027593065,-1097759574)+W(3,-1130307786,1033669310,1022409637,1019735589)+W(4,-1123927190,1042777565,-1098782283,1059165645)+W(5,1062760553,1017094385,-1160993898,-1125388747)+W(6,998901155,1022659417,1017512357,-1104939928)+W(7,-1098668376,-1089791762,-1106217568,-1115680109);WS(1066155712,1004288134); +sum1=W(0,1047132567,1029697589,1014062303,1041631965)+W(1,991515041,-1123217244,-1154741365,1030265807)+W(2,1049267618,1048612844,1055750611,1059093756)+W(3,1057479944,1056993158,1047138005,1055767146)+W(4,-1089062279,-1092380195,-1088453014,-1084647474)+W(5,-1091963789,-1088742789,-1098495965,-1086886676)+W(6,-1138510971,1046969501,1024451359,1049129552)+W(7,1040560290,1043007167,-1122630737,-1122583780);sum2=W(0,1011892235,-1111382628,1037768402,1032283234)+W(1,-1114728106,1009460031,-1112526532,1030203700)+W(2,1040858440,-1103755803,-1125277089,-1084511950)+W(3,-1090323786,-1159433014,1053584755,1052886875)+W(4,-1127819845,-1109875610,-1096621612,-1071556311)+W(5,-1071973667,-1099343032,1076043190,1079690007)+W(6,1010964983,-1106716388,1032593498,1040462902)+W(7,-1100404332,1040394500,1007208771,1051792925);WS(-1086041375,1049976369); +sum1=W(0,-1125608345,1025261033,1032012444,1046732297)+W(1,-1114869141,1036081274,1036645660,-1119140736)+W(2,-1096855193,-1097190986,-1086237883,-1083643033)+W(3,-1093631755,-1095059844,-1132519191,-1095180224)+W(4,1037693680,1051176741,1059434222,1062665585)+W(5,1052924527,1052562329,1041010310,1048775023)+W(6,1048607039,1030637974,1026121224,-1103554484)+W(7,-1110078044,-1109004102,1035782593,-1118200972);sum2=W(0,1029601330,-1144560396,1032763954,-1115106220)+W(1,-1111454114,-1121335223,-1109520646,1021645795)+W(2,-1115199196,1026958814,1032369083,-1106065675)+W(3,1042189754,1029124674,1022674491,1026253022)+W(4,-1096390757,-1100298556,1076866217,-1108884178)+W(5,-1116766618,1025985538,-1115268590,1011072742)+W(6,-1079547524,-1081990625,1041174181,1041059708)+W(7,1024602232,-1127158528,1007020790,1003377428);WS(-1111980027,1060626277); +sum1=W(0,1023621139,1032179266,1030954414,1037158526)+W(1,1036765152,1036680203,-1146606447,-1119312598)+W(2,-1102882983,-1092055397,-1089823274,-1095093232)+W(3,-1090725010,-1139402199,-1116432156,-1108873773)+W(4,1044706422,1043529367,1057090380,1064981515)+W(5,1047303429,1042557255,1028925358,1041638915)+W(6,1028429765,-1113080214,-1101761443,-1098683411)+W(7,1033439719,1030304674,-1104492078,-1112219839);sum2=W(0,-1107703976,1046455264,-1093472442,1048924762)+W(1,-1097201227,1049435664,-1106239872,-1119402461)+W(2,1045439570,-1090239140,1028879562,1064195571)+W(3,1016778259,1027385222,1028121257,-1105208479)+W(4,1032849260,-1096329612,1030082819,1036056807)+W(5,1059898488,-1091675747,1053658286,-1117889585)+W(6,-1122224669,1035962913,-1098806672,1041148911)+W(7,-1091828205,1041687668,-1098243254,-1104565052);WS(1062681599,1040842201); +sum1=W(0,-1108789463,-1115361429,1048981817,-1092926921)+W(1,1054602509,1029602904,-1117967305,1025443329)+W(2,-1104300209,1050445194,-1089127203,1063952639)+W(3,1043197406,-1106041808,1039191171,-1114238594)+W(4,1042117608,-1097788769,1032428200,1049970971)+W(5,-1088418847,1049956321,-1112931212,-1123051255)+W(6,-1118282400,-1114475276,1049574381,-1090427073)+W(7,1045778638,-1112080775,-1097758566,1033393295);sum2=W(0,1038735267,-1100048068,-1115453090,-1110884051)+W(1,-1090743949,-1153955669,-1112598570,-1103797208)+W(2,-1126315713,1043050536,1053683464,1058830244)+W(3,-1100540415,1037942519,-1098889179,1040830228)+W(4,-1111714958,-1115313021,1046662525,1061563017)+W(5,1052621807,-1104363663,-1118760183,1007755797)+W(6,-1111656758,-1115683900,-1093358619,-1105966973)+W(7,1037413595,-1101879362,1044482581,-1098877089);WS(1062776447,1069975051); +sum1=W(0,-1130308944,-1112835078,-1113144126,-1094805377)+W(1,-1098008538,-1114270939,-1117364667,-1117827459)+W(2,1036893844,-1114635034,1050058840,1071110128)+W(3,1061455014,1044746969,1018226642,1049407081)+W(4,-1104137265,-1098478453,-1104852259,1041368142)+W(5,-1095764665,-1109080309,-1103882015,-1120810969)+W(6,-1108240801,1029922778,-1111877761,-1088740684)+W(7,-1112520550,-1119589855,-1121527653,-1103102129);sum2=W(0,1028834725,-1110297977,1035091068,1034973002)+W(1,-1110025415,-1154986018,-1120031976,1030684381)+W(2,-1113117380,1026197871,-1099362318,1077416661)+W(3,1050456944,-1112814852,1027999489,1016280910)+W(4,1037052904,996515330,1043940575,-1069860026)+W(5,969317772,1021906202,-1115577362,1013156184)+W(6,-1113210551,1032917698,-1106692355,-1103487680)+W(7,1034055293,1006658352,1018186436,-1124181989);WS(-1082599007,-1084302409); +sum1=W(0,-1127095446,1011517278,-1110892475,1024933540)+W(1,-1111586789,1039136849,-1108207315,1049617952)+W(2,1056665680,1052281350,1058821842,1061132051)+W(3,1054434479,1052720805,1043783817,-1159632952)+W(4,-1087212124,-1096260148,-1085877656,-1087957451)+W(5,-1089270826,-1102718609,-1106422582,-1106709957)+W(6,1035858193,-1128228554,1043137767,1023709101)+W(7,1037286635,-1111842501,-1130056576,-1115207149);sum2=W(0,1048459811,1071226724,1075494724,1074401127)+W(1,1044864951,-1077687291,-1072311776,-1066953112)+W(2,-1095160239,1065850492,-1121381976,-1099027008)+W(3,1031151008,1057399482,1045213405,-1095971461)+W(4,1026509768,1043007163,1043168485,-1093896652)+W(5,1012395574,1019701051,-1109946848,1027278540)+W(6,-1123792544,-1127547903,1027169380,-1107011198)+W(7,1037067951,1021690579,-1124089088,-1166810856);WS(-1118215158,-1130722305); +sum1=W(0,1039784439,-1119983743,1027132090,-1101267710)+W(1,-1106141431,-1119840977,-1131926580,-1158357571)+W(2,1045520358,1040649785,-1126797149,1070303194)+W(3,1059129261,1056727436,1040938982,1050582583)+W(4,-1094865274,-1098235299,-1085881139,-1106608186)+W(5,-1088850304,-1093134907,-1098615277,-1104503154)+W(6,966095017,-1166742058,1023429181,-1127173569)+W(7,-1112024885,1030946302,-1160489077,-1106263629);sum2=W(0,-1122933952,1029904221,-1104768174,1044174015)+W(1,-1122786276,1032455763,-1118952582,-1120585334)+W(2,1043676402,-1092335308,1050667883,-1106663265)+W(3,1035773679,1033986578,-1123822916,1030027555)+W(4,-1122578476,-1096734640,-1067932755,1078656606)+W(5,1056344301,-1106732625,1033374173,-1116084330)+W(6,1034421913,-1121365342,-1103315560,1049347404)+W(7,1027752905,-1114333025,1025409455,-1129253837);WS(-1112296443,-1083191171); +sum1=W(0,1030599873,-1102688301,1038739494,-1091052013)+W(1,-1120252367,-1118018759,-1105737735,1036799090)+W(2,1049894985,1052276159,1055519004,1061107959)+W(3,1059731464,1052059899,1050382861,1050879021)+W(4,-1100141489,-1095734081,1044438853,-1078809864)+W(5,-1100785926,-1095185489,-1092887220,-1113977245)+W(6,-1124642344,-1114229790,1039505712,-1108354137)+W(7,1037196526,-1129006466,1034647259,-1123394945);sum2=W(0,-1134366274,1040286055,-1103185345,-1089934078)+W(1,-1104699884,-1135474394,1039368980,984214720)+W(2,1032198029,-1093721101,1064064153,1038410574)+W(3,1053501328,1053898256,-1088730122,1045555557)+W(4,-1102569648,1059013351,-1076328416,1075980540)+W(5,-1081344728,-1093863519,1061819985,-1089334779)+W(6,-1113629492,-1099320981,1062572765,-1079072621)+W(7,1057269325,1039501040,-1089994189,1050815727);WS(1051639487,-1077445112); +sum1=W(0,1023584208,1019039018,1046978951,-1114024277)+W(1,1042440780,1036430651,1019910405,1017051223)+W(2,-1087680633,-1097242582,-1087958558,-1084584703)+W(3,-1089578188,-1090497932,-1100840226,-1089989738)+W(4,1058381481,1049175941,1059595066,1058705186)+W(5,1060807824,1057261083,1047705823,1052092149)+W(6,1019116206,-1110819225,1041321753,-1110784681)+W(7,-1120949436,-1111841304,-1108976675,1037750032);sum2=W(0,-1103483317,-1103949071,1036613850,-1096200772)+W(1,-1094761445,-1090478844,-1091384835,1024429003)+W(2,1043027417,1024633771,1050158855,-1096718424)+W(3,1057240079,1037855330,1036780676,-1103545669)+W(4,1043672886,-1105891820,-1113242263,1053817256)+W(5,1043447632,1053166295,1043680942,1034776200)+W(6,-1126025102,-1101612494,1051748473,-1144187697)+W(7,-1129269697,-1114569970,-1102484885,1044262941);WS(-1102141694,1066754929); +sum1=W(0,1024767465,1028037205,-1148374821,996156698)+W(1,1034886379,1011245536,1017269224,1023537404)+W(2,-1097150806,-1105574095,-1092607882,-1086231302)+W(3,-1085570014,-1090150659,-1093685286,-1100403588)+W(4,-1121670572,1021251426,1053426631,1064662112)+W(5,1060264850,1058905527,1047037217,1048736520)+W(6,1047316983,-1123186307,1027553675,1037457517)+W(7,-1103359865,1031219256,-1108923303,1039125668);sum2=W(0,-1127568330,1031019669,1013355589,-1123247753)+W(1,-1131101666,-1126559289,-1128009624,-1122774763)+W(2,1005444026,-1121000217,-1135062981,-1099801823)+W(3,1044314830,1052295626,-1112001042,1018744598)+W(4,-1099850392,1052911126,1040255711,-1120914990)+W(5,1055431083,-1112663055,1029993103,-1105142519)+W(6,-1069105992,-1075891845,1052106082,1078854269)+W(7,1061745892,-1097592921,1033712114,1037317546);WS(-1092827839,1049601702); +sum1=W(0,-1102748075,1048973336,-1101661842,1035794226)+W(1,1035295380,951002293,1028700102,1019995195)+W(2,-1114726817,-1100496851,1056141590,-1092935501)+W(3,-1090189951,-1127762491,-1107070641,-1116434785)+W(4,1043768535,1037939345,-1092531310,1048278549)+W(5,1059458263,-1107678146,1040739973,-1103464157)+W(6,1001409895,1025584388,1043222609,1028885900)+W(7,-1097823129,1046084402,1018269854,1033486885);sum2=W(0,1047648616,1049954711,-1086499077,1036131868)+W(1,1021844703,-1144052469,1036766656,-1114852932)+W(2,-1099866854,-1087014785,1059941103,1059724034)+W(3,-1104253425,-1116739540,-1123734224,-1119117496)+W(4,1040911688,-1127547935,1006897087,-1147690453)+W(5,-1094365093,1046092804,-1117733622,1045874226)+W(6,-1104812914,1032774583,-1118719608,-1112213150)+W(7,1020986307,1037506252,1020773629,-1120467144);WS(1062974879,-1132215613); +sum1=W(0,-1181157822,1033235448,-1120645311,1032693326)+W(1,1014937094,1012846527,1029466479,1027727527)+W(2,-1096960767,-1103300066,-1098273063,-1084817024)+W(3,-1086871647,-1093312183,-1094276984,-1099477807)+W(4,1047884458,1024586364,1040665968,1065496294)+W(5,1061273423,1057013666,1048826162,1049029078)+W(6,1046591191,1028472621,1027902609,-1105457745)+W(7,-1099580452,-1121668195,-1123904424,1033797162);sum2=W(0,-1120861164,1023555157,-1114715157,1039733942)+W(1,-1111876903,-1121732899,1028106223,-1136150442)+W(2,-1114727130,-1127207629,1049207316,-1100512081)+W(3,1044392032,-1113639142,-1107243417,1035475508)+W(4,1051943787,1021361633,-1100379929,1049204344)+W(5,1029680046,1040523175,-1113800818,1017564481)+W(6,1073213517,1067585393,-1095215585,-1072102567)+W(7,-1085077901,1017790060,-1115100698,-1111101803);WS(1038961915,-1122010239); +sum1=W(0,1004620105,-1113106351,-1112775210,-1125534724)+W(1,-1137271196,-1126589322,1026657556,-1119328748)+W(2,1048595660,1052250558,1058549636,1061573929)+W(3,1057522353,1048822826,1040718305,1048641524)+W(4,-1099376311,-1096833644,-1088891129,-1086812373)+W(5,-1093214133,-1095914356,-1105329661,-1103878453)+W(6,-1116246236,1027857155,1036452944,1040782707)+W(7,1018281129,-1113857108,1010557432,-1106455448);sum2=W(0,-1116580406,1024927837,-1129828931,-1115420496)+W(1,1011185933,-1123989928,-1146345634,-1132229127)+W(2,1027562258,-1162615720,1047581344,-1109513493)+W(3,1038795182,-1118168090,1030671240,1038841827)+W(4,1055923683,-1098456431,-1107918233,-1093462217)+W(5,1043574176,1042713369,-1118222006,1029869485)+W(6,1077914250,1064911462,-1076359256,-1072190840)+W(7,1023726209,-1114062645,-1119388396,-1111766417);WS(1058520191,-1103814144); +sum1=W(0,1017038583,1027734728,1045254802,-1107262661)+W(1,-1105442246,1031430877,-1126950445,1024536063)+W(2,-1136595532,1016280509,-1109207324,1062837304)+W(3,1058887264,1040464732,1030731221,1029953906)+W(4,-1118053743,-1128563239,1044218638,-1096672636)+W(5,-1085861660,-1103880229,-1107144426,-1145128486)+W(6,1027978638,-1097122909,-1104843131,1033499055)+W(7,1025985831,1030848699,-1131329888,-1109411553);sum2=W(0,1034702970,-1125598974,-1114553387,1027536136)+W(1,-1115924578,1035052048,-1132148431,1025333585)+W(2,-1176551015,-1168898884,1041527709,-1101298022)+W(3,1036785061,-1106074654,1030578400,1024211757)+W(4,1007931783,-1090251816,1067159008,1043575777)+W(5,1028484706,-1104273626,-1148595850,-1114791455)+W(6,-1110263367,-1089294892,-1085860022,1061443693)+W(7,-1099982080,1042454777,1027614804,-1123742626);WS(1061983711,-1098811342); +sum1=W(0,1012577103,-1126897281,-1105225996,1024253613)+W(1,1053413654,-1137207095,1042674340,-1109172700)+W(2,1051270689,1046420622,1058683087,1058369439)+W(3,-1097514912,1052214131,-1105013139,1050302029)+W(4,-1108510228,-1106195699,-1088411008,-1089548804)+W(5,-1118840551,-1096732498,-1109015536,-1103000311)+W(6,-1107438075,-1107699151,1036711743,1026749110)+W(7,-1116819519,1024709491,-1140694819,-1154413112);sum2=W(0,1018267361,-1110181012,-1146613180,1038715850)+W(1,1024296823,1036970119,1022003098,-1124702635)+W(2,1036503366,1041828239,1050199247,-1085432172)+W(3,1038941240,-1123003584,1013422114,1021003447)+W(4,-1126101987,-1116783782,1071387060,-1080125372)+W(5,-1093021050,-1114155200,-1149124484,-1143100940)+W(6,-1099489904,-1102883314,1052019906,1047113133)+W(7,1035497971,-1112911441,-1119585859,-1131838862);WS(1061194367,-1092415693); +sum1=W(0,1036390333,-1126263470,1025725222,1043857157)+W(1,1035642972,1044002978,998479342,1045699251)+W(2,1051201914,1053058480,1054554894,1047231542)+W(3,1057662314,1050872286,1045022613,1049392206)+W(4,-1104881972,-1172862130,-1093268199,-1076465248)+W(5,-1087389459,-1093150623,-1111846627,-1095910796)+W(6,-1115149537,1030237668,1021350042,1036659934)+W(7,1039247491,1026362746,1017611295,1018350484);sum2=W(0,-1129487679,1042193002,-1108339354,-1095819059)+W(1,1041127864,-1103499785,1034257999,-1118637794)+W(2,1018376667,-1087595144,1054016721,1063707892)+W(3,1036978867,-1103064253,-1103241982,-1112191100)+W(4,-1097777178,-1098446206,-1106280983,1068295659)+W(5,1052165187,-1110264861,-1135489703,-1107248782)+W(6,-1117386048,-1106566736,-1108034123,-1104582586)+W(7,-1102127104,1036459063,-1104779766,996655259);WS(-1094699455,1066131816); +sum1=W(0,1049793485,1029004921,1050253240,1043166228)+W(1,1029407446,1041612884,1035949114,1012128942)+W(2,-1081848423,-1088299640,-1084057276,-1084821317)+W(3,-1084563631,-1104203619,-1099802604,-1096241030)+W(4,1059460685,1048637514,1060796209,1059873140)+W(5,1055943200,1047596309,1050483936,-1105809528)+W(6,1042128105,-1139594888,1026023615,1020508084)+W(7,-1125172935,1048504406,-1115227886,1051471881);sum2=W(0,1060779432,-1118034101,-1104519356,-1119327164)+W(1,-1101970936,-1106905521,1002331293,-1082144605)+W(2,1051802488,-1097493973,1057101737,1060027297)+W(3,1044004337,1057962293,-1098665363,-1086721729)+W(4,-1086062785,998397725,-1092333837,1066349798)+W(5,979464170,-1133317807,1046794021,1070824403)+W(6,-1114203174,-1112558489,-1099984065,-1091352583)+W(7,-1094257268,-1102635709,-1094504499,-1114333706);WS(-1074268304,1079667699); +sum1=W(0,-1107189325,1027760991,-1136873402,-1113641470)+W(1,1031162561,1033891144,-1126712892,1035917755)+W(2,-1101508903,-1090199334,-1090363950,-1087996124)+W(3,-1083961527,-1096484091,-1098094611,-1093567651)+W(4,1054199089,1054303683,1062422475,1067750847)+W(5,-1113534839,1052689284,1031942551,1045977323)+W(6,1035260131,-1107632246,1005391451,-1101800081)+W(7,1034855959,1046337921,-1150999418,1042992013);sum2=W(0,-1109104193,-1121805095,1045986101,1048674700)+W(1,-1091901802,1048446997,-1113936425,1027039508)+W(2,-1100757902,1045040397,1080470972,-1080397282)+W(3,-1070026310,1054845861,-1109557127,-1113850952)+W(4,1040683096,-1125556022,1049174250,-1095181876)+W(5,-1122013099,-1110936398,1038355211,-1103996340)+W(6,-1125509919,1026278254,-1112163985,1050380898)+W(7,-1131668233,1033243862,-1144282357,1036778147);WS(-1085238047,-1082053459); +sum1=W(0,-1106787663,-1138285833,-1108632776,-1094657608)+W(1,-1101713608,1037328759,-1111697288,-1109379868)+W(2,1039996894,1010512412,1053399812,1045540841)+W(3,1051732998,1044326914,976543556,1057105320)+W(4,1048926451,-1119213276,-1130975030,1010216242)+W(5,1034301867,1025236158,-1128978334,-1109745879)+W(6,-1104330662,-1128637723,-1108017347,-1096910157)+W(7,-1101323868,1015829447,-1111437732,-1108664266);sum2=W(0,-1124623913,1032956443,1027185909,-1101336864)+W(1,-1094263361,1029736763,-1112090109,1039412150)+W(2,1025825838,-1119700813,1032253087,1046009611)+W(3,1060071017,-1108021530,-1111711122,-1092338318)+W(4,1042257288,-1135835500,1053804277,1048892371)+W(5,1036906607,-1101254223,-1115069322,-1114145526)+W(6,1021162350,-1114452863,-1109212782,-1102267892)+W(7,-1105958464,1037505372,996911332,-1125671849);WS(1060867039,-1136390908); +sum1=W(0,-1127355032,1034805910,1035163860,1029669941)+W(1,1042066222,1021674692,1040577786,1021261983)+W(2,-1085412379,-1094311080,-1093352008,-1084691216)+W(3,-1088428116,-1088125293,-1096644095,-1091872390)+W(4,1049179798,1049208039,1060583566,1063283264)+W(5,1058522472,1055147879,1050065089,1041474713)+W(6,1047055468,-1108149971,1036232649,-1103012671)+W(7,1024178471,1026233836,-1126656770,1049799631);sum2=W(0,1035672114,-1098827199,1049155846,1035178389)+W(1,-1107113032,-1144855824,1035201737,-1127184278)+W(2,-1063752230,-1085747691,1077059336,1075347264)+W(3,1056308660,1034654874,-1121418857,1014935340)+W(4,-1093487673,1041803367,1041184099,-1096808218)+W(5,-1129382302,-1119639669,-1122522987,1011408026)+W(6,1013645866,1034418818,-1106855503,1049524211)+W(7,-1122362105,1030856901,1027103888,-1115004359);WS(-1090674303,-1100343233); +sum1=W(0,-1120232797,1040422273,1026412864,-1138867958)+W(1,1033879777,1033565615,1019476032,988102399)+W(2,-1091881416,-1094093465,-1085938046,-1089254334)+W(3,-1089797193,-1085407367,-1095206984,-1105032111)+W(4,1051419109,1052500896,1061270771,1067891162)+W(5,1060067146,1016645247,1041715172,1036835111)+W(6,1036288004,1023553551,-1112170192,-1115349187)+W(7,-1112030904,998486818,1027103050,1040345019);sum2=W(0,1040618154,-1114130867,-1122148687,1044229537)+W(1,-1110193301,-1097134960,1037070268,1037459780)+W(2,-1101425729,1043012943,1049717343,1078734719)+W(3,1058416067,-1066172228,-1087270128,1051160418)+W(4,1012698939,-1135257643,1047429512,1020747990)+W(5,1045573328,-1105653505,-1098650023,1029335953)+W(6,-1121139419,1033653009,1038119907,-1131387750)+W(7,-1162837210,-1124290574,-1142454518,-1119987003);WS(-1083751903,-1076119444); +sum1=W(0,-1115245576,-1106029427,-1102084379,-1113929101)+W(1,-1115339007,1029734646,-1110488366,-1147960477)+W(2,1056842307,1054460828,1062160243,1061549380)+W(3,1051628466,1034628298,1040780998,1027250487)+W(4,-1093345814,-1096614035,-1087844584,-1088621915)+W(5,-1095344475,1039622221,1023285463,1052549785)+W(6,-1108216057,-1118873130,1032187759,-1118044066)+W(7,-1125935063,-1114025640,-1103117229,-1101242061);sum2=W(0,-1142266798,-1105635988,-1108468488,-1104742183)+W(1,1004562934,-1111519795,1009402627,1007186587)+W(2,1041896729,-1133541327,1052249127,1059101684)+W(3,-1116644500,1022626513,1036478091,-1114250343)+W(4,-1109207785,-1119640286,-1132044399,1057719514)+W(5,1049160976,1040987637,-1103527129,-1094402391)+W(6,-1116438034,-1143926222,-1116983273,-1107716245)+W(7,1036001553,-1093640310,-1115139384,-1102449905);WS(1032624635,1033521535); +sum1=W(0,-1131553039,-1117491096,-1112834618,1049918570)+W(1,1045795365,1016822387,1035361729,-1113168565)+W(2,-1098906814,-1100587359,-1081513385,-1078593782)+W(3,-1105649745,-1092053629,-1096260814,-1095243062)+W(4,1051615627,1047570260,1060987922,1043587024)+W(5,1056209202,1059398075,1049440024,1051600524)+W(6,1045470610,1025984961,1036113314,1040182861)+W(7,1012071435,1032631435,1023888652,1034850724);sum2=W(0,-1111826236,-1099208280,1026789677,-1106561040)+W(1,-1093448876,1046407154,-1102666308,1042570396)+W(2,-1092384767,1027875109,1064661507,1062273543)+W(3,-1087164405,-1108191451,1044380270,-1104593420)+W(4,-1095745094,-1100947515,-1112642295,1068550638)+W(5,-1104229197,-1106740917,-1103404028,-1105841536)+W(6,1034661269,1048636172,-1098451609,-1099981129)+W(7,-1118651857,1049739863,-1095995165,1048025970);WS(-1085606847,1061985400); +sum1=W(0,-1108997980,-1117164584,1031768707,-1103105924)+W(1,1041900981,-1110420181,1037113665,1014163116)+W(2,-1089905075,-1114895517,-1095264598,-1077801587)+W(3,-1097956992,-1088999487,-1098379486,-1096151518)+W(4,1057688104,1056544190,1062390314,1055481056)+W(5,1062127874,1051900674,1048102065,1057425872)+W(6,1040581229,-1114811305,-1107526493,-1110202349)+W(7,-1118208771,-1108027100,1024450541,1041210774);sum2=W(0,1025785873,1048912334,-1096464036,1056133856)+W(1,-1104154812,-1121968309,1033410161,1015120151)+W(2,1048760593,-1090084783,-1114768213,1066763200)+W(3,-1086306359,1058187354,-1113492694,-1128581905)+W(4,1035955606,-1119218892,1007739746,1064934573)+W(5,-1089946445,1050702067,1025685973,-1102128709)+W(6,-1126760968,1008603006,-1094704139,-1080670875)+W(7,1031309677,-1125625514,-1109240237,1039335694);WS(-1090966143,-1078936607); +sum1=W(0,-1116393227,-1108278025,1051625062,-1105522375)+W(1,1058727904,-1091195697,1052016408,-1109728971)+W(2,-1086961670,-1108945587,-1086695325,-1081986687)+W(3,-1089148367,-1086453117,-1092689140,-1091172115)+W(4,1058706816,1041859343,1060094467,1059190367)+W(5,1061098519,1055062080,1056115606,1058930855)+W(6,-1116819366,1035952359,1041797992,-1104043025)+W(7,1053094890,-1093101306,1015960496,1034498693);sum2=W(0,1023528661,-1119417071,-1105978590,1009798795)+W(1,1040834561,-1111364082,1041397121,1033368796)+W(2,-1118025227,1050920275,-1112399565,-1098493686)+W(3,1036263434,-1124489419,1048582480,-1089345484)+W(4,1075422545,1065042273,1069638520,1067662601)+W(5,-1093932676,-1079439326,-1078082886,-1070108577)+W(6,-1073269716,-1077701631,-1078616397,-1083676116)+W(7,1044144047,1070390370,1068400636,1077727906);WS(-1079921856,1049308945); +sum1=W(0,1030068962,-1133949626,1050882798,1018623990)+W(1,-1106924392,-1146454049,-1116987117,1040905769)+W(2,-1165865787,-1118082277,1053008345,-1094507016)+W(3,1052481994,1043504665,1047635255,1026870489)+W(4,-1187780005,-1108803021,1038634079,-1106873963)+W(5,-1087778738,-1101591143,-1101174683,-1110197734)+W(6,1025440517,-1111921110,-1120535059,-1104818073)+W(7,1046575523,1041667424,1031519031,1031554658);sum2=W(0,-1116556974,-1095066961,-1100395256,1050308919)+W(1,1040792410,1032406727,1011901446,-1141998384)+W(2,1059176005,1038856572,-1076691076,1055715442)+W(3,1046498927,-1123959066,1028959950,1032868606)+W(4,-1096412953,1050790436,1058179896,-1097771226)+W(5,1039711359,-1106160519,1018212767,1038360912)+W(6,-1114011261,-1173649795,1024138419,1040413046)+W(7,-1106323994,1033840078,-1127468978,-1107910389);WS(1060842367,-1123947436); +sum1=W(0,1024730985,1023159627,-1105241169,1017803651)+W(1,1037913699,1035962309,1028045772,1032728670)+W(2,1048950736,1047784339,1057388094,1060112037)+W(3,1062491953,1057656339,-1114528913,997860858)+W(4,-1097448124,-1098772880,-1087773444,-1085451727)+W(5,-1088044111,-1089872870,-1102522557,-1103124285)+W(6,-1122548355,1026072115,1037590622,1037652837)+W(7,1034810634,1033785172,1008900343,-1114288296);sum2=W(0,1026131421,-1112740722,1046858645,1032928238)+W(1,1042166107,1040344552,-1082879617,-1091819295)+W(2,1001103237,-1121600279,-1108221277,-1097923247)+W(3,1069212508,1057336110,-1095628134,-1107037379)+W(4,-1133854939,1038637096,1037424280,-1103185020)+W(5,-1120290433,1019342369,1039461314,-1122429445)+W(6,-1114822986,-1108393699,1029862733,-1101308237)+W(7,1036213344,-1145606165,-1111520861,1034167562);WS(1038606587,1058047160); +sum1=W(0,1026865207,1042118304,1051307036,1033639368)+W(1,1046742309,-1109598961,1028927539,1015037525)+W(2,-1095018974,-1093024127,-1082724754,-1100730470)+W(3,1036658562,1040951763,-1113143704,-1098528366)+W(4,1044423619,1048945010,1054092644,-1097872036)+W(5,-1091674216,1033100505,1030352835,1047837568)+W(6,-1136300775,-1117800769,1005722288,1044405134)+W(7,1047528601,1044812414,1032954286,1044220906);sum2=W(0,1050657429,-1103301852,1060573163,-1091436731)+W(1,-1104427284,-1097267636,1038196249,-1107511544)+W(2,1045860939,1052242374,-1100974944,1066745360)+W(3,-1079344782,-1113016512,-1119497008,-1113648424)+W(4,-1111592920,1013554208,-1111727364,1055083328)+W(5,-1098647652,1034990326,-1110499846,1042188938)+W(6,-1103122208,-1106328874,1015168980,-1113723980)+W(7,1051192034,1034643320,-1122594772,-1140986496);WS(-1095257599,1052962039); +sum1=W(0,-1106746181,1031300369,1046667354,1037361867)+W(1,1040829967,-1128966365,1034540700,-1115420664)+W(2,-1097695335,-1111219488,-1083536631,-1088861218)+W(3,-1107201338,-1115618056,-1117058422,-1138753100)+W(4,1053309708,1042046133,1060606673,1053570633)+W(5,-1101583222,1033575580,1029127944,1041019129)+W(6,1036635571,1032102291,-1110849586,-1103814096)+W(7,-1130665360,1023220920,1009452933,1041468947);sum2=W(0,-1137205193,-1121249932,-1137006201,-1101149788)+W(1,1034796937,-1115985020,-1140489533,1026538132)+W(2,-1089705070,1025195792,1049206515,1054529493)+W(3,1039074115,1050074620,-1104546681,-1103055048)+W(4,-1116057142,1014073009,1040872535,1044729510)+W(5,1024555690,-1108168105,-1105229574,-1093226929)+W(6,-1106134583,-1131583764,1023734245,1030258377)+W(7,1045578999,1041497164,-1131316168,1036128894);WS(1058062751,-1100017341); +sum1=W(0,-1129599006,1020928695,-1098371705,-1111175932)+W(1,-1108928286,-1108487635,1028685770,-1134533769)+W(2,1055064995,1054737968,1061839865,1057524464)+W(3,1062722401,1039434185,1053936411,1054765971)+W(4,-1094744478,-1108714620,-1089137095,-1081607655)+W(5,-1111400813,-1089739654,1037008853,-1094983833)+W(6,-1110864465,1035506764,-1103907470,-1115102560)+W(7,1038105413,-1103382940,1038153674,-1101904010);sum2=W(0,1046625968,-1114205611,-1097342682,-1079666171)+W(1,1041595755,977545170,-1106070846,-1145403458)+W(2,1034733544,-1100522159,1034693600,1066071967)+W(3,-1087077400,1062799024,-1097179722,1015933409)+W(4,-1147999170,-1093312378,1057288295,1059803421)+W(5,-1088579916,1057064650,-1086854504,1055355590)+W(6,1026537136,-1103988998,1049229753,-1114956972)+W(7,-1104980683,1050850828,997711860,-1115357129);WS(1033636603,-1075190676); +sum1=W(0,1030520392,-1125697208,-1114269946,-1109653337)+W(1,-1102211630,1032435172,-1120127764,996293820)+W(2,1051253486,1043969999,1058583983,1064791929)+W(3,1057642082,1055881859,1033241689,1053053914)+W(4,-1096251285,-1100430004,-1085953223,-1093290764)+W(5,-1088005167,-1098086422,-1102333361,-1119839106)+W(6,-1117233131,-1122877346,1036037681,-1109909101)+W(7,-1123582788,1029223000,-1125435099,-1103406294);sum2=W(0,-1120200303,1024626781,1013431061,-1124733431)+W(1,1027814217,999438554,-1116912567,1007930813)+W(2,-1113787644,1041562727,-1114475538,-1112371618)+W(3,1032748777,-1098117165,1042886038,-1140542509)+W(4,-1109535466,-1106166077,1029531851,1051805575)+W(5,1061661699,-1114245048,1039886302,-1093997696)+W(6,1041916719,1028143351,-1097688999,1068535590)+W(7,1074776935,1029048009,-1076933565,-1072079702);WS(1051996799,1040628126); +sum1=W(0,-1106876926,1042171100,1014013938,1040804174)+W(1,1038633599,1024260165,1032103150,-1111941370)+W(2,-1096999331,-1106536569,-1087433914,-1079279688)+W(3,-1085040172,-1090750082,-1096245875,-1091794355)+W(4,1064227732,1056769919,1057736892,1052514885)+W(5,1059334684,1058371760,1051111478,1050507101)+W(6,1032518006,-1132737450,-1121739327,1035728257)+W(7,-1115112214,-1126170017,-1129820331,1036168684);sum2=W(0,-1097197656,1040517176,-1107105879,1050425804)+W(1,-1108102513,1044838414,1026907274,978890108)+W(2,-1105938617,-1119182790,1048788314,1048225474)+W(3,1050055380,-1097162220,1028263310,1043193320)+W(4,-1063141508,-1072247475,1073986693,1082212097)+W(5,1063649950,-1108483496,1040597170,-1096883524)+W(6,1047663602,-1106333570,1017343300,1014706728)+W(7,1023560998,-1105252179,1016727612,1025416282);WS(-1079662656,1075711984); +sum1=W(0,-1136749190,-1108214827,-1112256994,-1102094902)+W(1,1019461885,-1113236619,-1115387518,1015637672)+W(2,1054381451,1049467004,1060357369,1064079536)+W(3,1058102849,1050217386,1046694646,1053154499)+W(4,-1099895821,-1104318006,-1094055613,-1088977984)+W(5,-1094018397,-1093377643,-1102869707,-1097489705)+W(6,-1111920714,-1124862997,-1099490085,-1093653775)+W(7,1047054555,1026036560,-1122648846,-1117787456);sum2=W(0,1021596406,1027700788,1031902674,1035450862)+W(1,-1146279384,1036068426,-1108044351,1030087008)+W(2,-1120307380,1049653321,-1100871897,1054975194)+W(3,-1106853601,1042197470,1034125536,-1133477273)+W(4,1037868882,1038499992,1074972319,1073269037)+W(5,992333684,1032586692,-1129244749,1010404410)+W(6,-1094559059,-1099826066,-1070411479,-1076192259)+W(7,1024067187,-1107184127,1032061183,-1104237818);WS(-1121360374,-1077155152); +sum1=W(0,-1105583845,1042009047,-1135496901,1057317824)+W(1,1037107234,1028773828,1042777544,-1116736729)+W(2,-1092428892,-1091586093,-1087526962,-1088356100)+W(3,-1084718223,-1086275726,-1096882940,-1086839898)+W(4,1053987635,1057449542,1037542524,1067018703)+W(5,1053143538,1051794540,1049337758,1050512766)+W(6,1036329976,1039912928,-1114441548,1035631092)+W(7,1024846769,1020991498,1032759069,1041911145);sum2=W(0,-1122349048,1027223630,-1123059666,-1097496437)+W(1,-1101147358,1008041239,-1113710228,-1103013196)+W(2,-1108922684,1050237475,-1093984844,1061603028)+W(3,1054912466,-1136134543,1050990810,1037079763)+W(4,-1102817435,1047134367,-1086242189,1069845393)+W(5,-1091188340,-1107987422,-1126348732,-1097181289)+W(6,1024154790,-1105600910,1041276041,-1090292072)+W(7,-1122818012,-1109079234,1047206075,-1109791787);WS(-1087087711,1067831143); +sum1=W(0,1034272753,1043354114,1046815315,1041026663)+W(1,-1116058688,-1131457456,-1115558139,1032034947)+W(2,-1110686621,-1094089577,-1090322161,1019000899)+W(3,1048378971,1054466495,1045446607,1043401342)+W(4,1034360523,1051348739,1056352764,1049291409)+W(5,-1098372646,-1090870248,-1103803571,-1098529593)+W(6,1006467012,-1097882829,-1098171061,-1099191041)+W(7,1036956791,1036945505,-1124941614,1026141794);sum2=W(0,1046033632,-1114282503,1044655964,-1106001859)+W(1,-1104436397,-1101664028,1015764662,1023732858)+W(2,-1147554302,1065651536,1052996561,-1076523823)+W(3,-1095873418,1059971501,1037179306,-1119149512)+W(4,1021728539,1061103542,1047372498,-1081697027)+W(5,-1094800655,1058036758,-1113369666,1033040332)+W(6,1034466187,-1117467216,1040544990,-1105745303)+W(7,-1119054372,-1110996319,-1120190386,1028498617);WS(1040537598,-1164677141); +sum1=W(0,1044447583,987031402,-1121775302,1042738997)+W(1,1038434732,1049696256,1024826006,1044766000)+W(2,1058921623,1052904912,1059494147,1059765434)+W(3,1053249925,1045203303,1049549231,1032179929)+W(4,-1079854668,-1089009751,-1082135643,-1085199868)+W(5,-1087718171,-1094593271,-1098502833,-1111725730)+W(6,1051360885,1009017491,1049103971,1042102879)+W(7,1037325507,1033340813,1040792940,-1103499809);sum2=W(0,-1105450770,-1099930216,-1087670985,-1097641768)+W(1,-1093727900,1034849198,-1089823109,1026936119)+W(2,-1076904032,-1110661913,1054929191,1067640588)+W(3,1043325457,1041628489,1024934811,1071055811)+W(4,1034745372,-1104228342,1055270313,1058849806)+W(5,1055379319,1047258529,-1091022953,-1093861556)+W(6,1064235564,-1133206564,-1159337186,-1095527236)+W(7,-1097371942,-1123329564,1053074558,-1079977593);WS(-1072228928,1076959210); +sum1=W(0,1049440860,-1100954468,1040518102,1055014377)+W(1,-1102413547,1056933930,-1100924366,1025160513)+W(2,-1102211417,-1090494943,-1089397123,-1085929645)+W(3,-1092416799,-1103710088,-1099959722,-1097219837)+W(4,1052420434,1049042513,1057628335,1059399711)+W(5,1055649007,1056457065,1043274798,1043339918)+W(6,1046258910,-1094165323,-1113742940,-1115570152)+W(7,-1095616949,1054320058,-1096288332,-1113497047);sum2=W(0,1037249746,-1106259401,-1118512137,1033553146)+W(1,-1118437421,1049532353,-1112295163,-1112769969)+W(2,-1091193116,1057292562,1045032769,-1101074553)+W(3,1047290760,-1085599381,1045403080,1036239865)+W(4,1058952598,-1089499743,990544085,1052938455)+W(5,-1096914685,1060306657,-1095081062,1036770528)+W(6,-1099278743,1035766214,-1120311473,-1107284433)+W(7,1032001159,-1105441959,1037527897,-1117837555);WS(-1095248895,-1088416713); +sum1=W(0,991086878,1041397006,-1100414321,-1106522737)+W(1,1032194452,1040515607,-1113785099,-1119710941)+W(2,-1112623265,1023033498,-1095527100,-1085500137)+W(3,-1103431285,-1093888960,1025813699,-1112974208)+W(4,1049658160,-1129854724,1056723856,1061179113)+W(5,1050067968,1055178889,1027165141,1044420741)+W(6,1025280780,1018002536,-1101036339,-1098081679)+W(7,-1121954805,1040437430,-1107604207,-1122583614);sum2=W(0,-1115281709,1038308115,-1086190321,-1079410563)+W(1,1055352031,-1106071111,1042421121,999244165)+W(2,1049351198,-1105447726,1061131477,1070791012)+W(3,-1080774986,1050939464,-1096576742,1021655353)+W(4,-1101546004,1044927538,-1105825160,-1124003323)+W(5,1054621998,-1100497740,1042910101,-1123561791)+W(6,-1132663474,1036918381,-1104633062,1035199903)+W(7,-1119052371,1038597174,-1126972585,-1141223925);WS(1057802399,-1081431823); +sum1=W(0,-1122831751,-1131892376,1041203877,1034931072)+W(1,1020249162,1023514439,-1183605377,-1102408215)+W(2,-1093480916,-1097592621,-1087992005,-1086955360)+W(3,-1094219074,-1099624791,-1104094712,-1103351679)+W(4,1050038833,1050095280,1058335651,1062569267)+W(5,1052617634,1053253320,1037479577,1047799764)+W(6,1031929377,1003466633,-1150646211,-1108251076)+W(7,-1123920403,-1110979235,1022403704,1031403703);sum2=W(0,-1104748298,1035677532,-1097271446,-1071563129)+W(1,-1073203825,-1105574565,1074066983,1076846054)+W(2,1032567526,1015597088,1042180726,-1131466492)+W(3,-1088097679,1049167232,-1104411749,1054919113)+W(4,1030425414,-1106402955,1036072793,1026492053)+W(5,1021201077,1046304011,-1108010622,1040423027)+W(6,1028805714,1010146816,-1122721452,-1139412188)+W(7,-1121571686,1013464552,-1115684312,-1159010626);WS(1057159391,-1098185256); +sum1=W(0,-1115997840,-1139848194,-1110900998,1040272534)+W(1,-1124007614,1022311680,-1122049771,1025640163)+W(2,1062337777,1059107990,1058844902,1060188982)+W(3,1050305613,1055455830,1052112283,1058488623)+W(4,-1099145229,-1096884471,-1083284577,-1081840204)+W(5,-1086268415,-1088086212,-1093503993,-1095187909)+W(6,-1108105457,1026934458,-1128707950,1050661700)+W(7,1025671020,1018441343,1032949738,-1115150240);sum2=W(0,1056249112,-1087901783,1050240307,-1096100666)+W(1,1050011361,1046757851,-1111613200,1031802636)+W(2,-1063663228,-1065703489,1050922399,1074103439)+W(3,1078895155,1075028289,1011769164,1041242105)+W(4,-1090194820,1049313091,1059446328,-1091782161)+W(5,1051412884,999915799,-1097222567,1040180956)+W(6,-1098679170,1049727089,-1118968312,1043947681)+W(7,-1103451878,1046896549,1036070334,-1120669738);WS(-1076050352,1072169512); +sum1=W(0,-1112010473,-1110549812,1041474168,-1102358403)+W(1,1035256808,-1103941101,-1126807163,-1127729580)+W(2,-1127017300,-1096217239,-1101316183,-1098236010)+W(3,-1097462672,1015309803,-1109990262,-1124828306)+W(4,1032805651,1055039585,-1107675851,1058693100)+W(5,1050718238,1047069339,1040782175,1033573870)+W(6,-1127012698,1017026201,1027743346,-1103052317)+W(7,1025923518,-1108585145,1029935559,1030091394);sum2=W(0,-1115222730,-1103808603,-1133607278,1035011293)+W(1,1045426354,1005150868,1038138903,1014354189)+W(2,1013406324,1044516259,1056099238,-1093760521)+W(3,-1097063741,1046105407,-1106358807,1034790704)+W(4,1048651312,-1091636530,-1082257366,1065398243)+W(5,1052543946,-1105190986,-1143243436,-1124610775)+W(6,-1105744683,1036643390,1056116581,-1087652578)+W(7,-1106429625,1031045850,-1129675875,1033997397);WS(1065781680,1039008007); +sum1=W(0,1041247860,-1132228043,-1116017645,1029031978)+W(1,-1114552992,1018467582,-1119698444,1039500994)+W(2,1052873269,1052030887,1057769989,1065817909)+W(3,1059292430,1052683781,1045381867,1042767258)+W(4,-1087848896,-1090939837,-1086321043,-1090130600)+W(5,-1093123180,-1089813139,-1093950448,-1088918334)+W(6,-1122380132,1043969975,-1167945460,1043124941)+W(7,1037414446,1037105136,1016187596,-1139723011);sum2=W(0,1038177586,1024852101,1031995320,1016571646)+W(1,1033741319,-1108656521,1035134998,-1120710323)+W(2,-1105284792,-1131141686,-1123455081,999573799)+W(3,-1107419527,1052574782,-1099142208,-1103717942)+W(4,-1114385091,-1105200928,1057384109,1073904332)+W(5,1075963065,-1130292726,-1072886122,-1070457563)+W(6,1023745983,1044997454,-1102654886,1045931554)+W(7,-1113399825,1041285787,-1101763500,1044467987);WS(-1090516543,-1087531312); +sum1=W(0,-1105337757,-1135375282,-1113059195,-1111479074)+W(1,1044282546,1036163039,-1123738614,-1110047807)+W(2,1040358473,1025750638,1034124454,-1082649657)+W(3,-1098312091,-1114570479,-1112260786,1044483760)+W(4,1026287071,-1109155234,-1111070925,-1113637434)+W(5,1056333811,1044131649,1049914271,1039433994)+W(6,-1112133319,1043065477,1049735832,1048811350)+W(7,-1104740686,-1111303053,-1128712224,-1136462731);sum2=W(0,-1122757257,1009904581,-1113467627,-1099518373)+W(1,1032421699,-1095677862,1020800146,-1112743661)+W(2,1027164873,-1112829049,1020364514,1064179702)+W(3,-1092934445,1039050377,-1106885375,1022655162)+W(4,1002742314,-1115430893,-1098221748,1059311413)+W(5,-1139891301,1041708988,-1124766450,1032689603)+W(6,-1111953049,-1116391321,1025748661,-1098741962)+W(7,1036551469,-1119491053,1025848261,-1122814953);WS(1059528063,1057564569); +sum1=W(0,993737087,1023855952,1051519336,-1100822612)+W(1,1027584566,-1109486813,-1127107174,1035631854)+W(2,-1096201122,-1112481934,-1089271861,-1101379550)+W(3,-1129312776,-1101173547,1031993577,-1097162722)+W(4,1052073475,1044928820,1057871347,-1090210244)+W(5,1027452795,1051680014,1038521522,1050823828)+W(6,1036364765,-1119101474,1026047377,-1095066725)+W(7,1043887545,1038809676,-1152581582,1037595092);sum2=W(0,-1106514375,1034094594,-1112949179,1009317700)+W(1,-1126355148,1021633582,1010987268,-1106252693)+W(2,-1115270098,1029678117,-1095879627,1052560633)+W(3,-1128108776,1034084538,1040297892,1049223604)+W(4,1025588625,-1103891997,1029083209,1062070608)+W(5,-1100067512,1035054672,-1117785257,990783407)+W(6,-1109616345,1044342701,-1107320484,-1103446924)+W(7,-1131810302,-1098743078,-1123491293,-1102218346);WS(1061977215,-1122204685); +sum1=W(0,-1124031333,-1109554099,-1105250724,1036027519)+W(1,959521497,1055353398,1038275624,-1136942561)+W(2,1053794732,1053305789,1058003360,1059361796)+W(3,1055117810,1051669497,1037705519,1047158647)+W(4,-1090279300,-1096176108,-1093816822,-1081723655)+W(5,-1090510080,-1097892492,-1101480172,-1098784634)+W(6,1017895407,1027213295,1024566052,1033714163)+W(7,-1125004641,1006220452,-1112881733,-1145512357);sum2=W(0,-1113155109,1032430477,-1105712018,1048044904)+W(1,-1081128362,-1070110178,-1092435520,-1092804751)+W(2,1028856727,1021325630,1050891972,1070862297)+W(3,1074403261,1035516985,-1108990845,-1122256510)+W(4,993552399,-1128331832,1042508384,1042132916)+W(5,1044319918,-1115800491,1033559089,-1109033129)+W(6,1036996819,-1139715524,-1111526035,1040898786)+W(7,1025048067,1038841221,-1119663830,1007165668);WS(-1096328959,1070879408); +sum1=W(0,1047483149,-1131726569,1017405984,1016192218)+W(1,-1134185032,-1130210629,1039283496,1022798351)+W(2,1056909741,1050717891,1049879450,1064784543)+W(3,1054175424,1055866677,1052923070,1050331269)+W(4,-1084253114,-1097194674,-1084428714,-1088019878)+W(5,-1087922381,-1096076442,-1098682228,-1089646420)+W(6,1043610432,-1120381614,1029856307,1046790989)+W(7,1044095416,-1106891777,1045347898,-1103492015);sum2=W(0,-1096731787,1041094096,1030029833,-1134738767)+W(1,-1112066554,1049526473,-1103571503,1038503381)+W(2,-1092572599,-1083918511,-1081752188,1050600846)+W(3,1060518769,1056806956,1052566197,1040255570)+W(4,-1072213302,-1081783724,-1088492050,-1098909280)+W(5,1054813136,1066457366,1061557517,1074348460)+W(6,1074300082,1061218424,1062246408,1055931246)+W(7,1030722387,-1080408758,-1082314750,-1074863778);WS(-1093955647,1022010191); +sum1=W(0,1027472455,-1118029508,1017520774,-1100976252)+W(1,1048038797,1019653215,1015004427,1006149335)+W(2,1051129150,1040858863,1058284788,1064764899)+W(3,-1094249656,1054989120,-1137681219,1047833420)+W(4,-1126583382,-1110637352,-1083829535,-1092969620)+W(5,-1093269900,-1098669306,-1101321193,-1092663640)+W(6,-1110971745,-1129027011,1043546956,1032062845)+W(7,1049944248,-1114080636,1039113958,-1120661351);sum2=W(0,-1125700855,1010923567,-1097524591,-1086770251)+W(1,-1119687254,-1136610695,1034141799,-1146172877)+W(2,-1109340305,-1099241242,-1097784845,1061340682)+W(3,-1091236020,1059369820,-1103210716,1042204527)+W(4,1041739108,-1121076246,-1122648580,1059475190)+W(5,-1097965354,1048517727,1020884025,-1117941982)+W(6,-1138307987,1010348245,1043843262,-1104554020)+W(7,1042867821,-1105357691,1021404807,1026766467);WS(1057685119,1067243116); +sum1=W(0,-1129459555,1016923756,1004671913,-1095493364)+W(1,-1098633785,-1112175056,1046138501,-1131471418)+W(2,-1098308652,-1100618635,-1090418529,-1088191051)+W(3,-1089905135,-1101363479,-1106099897,-1097291652)+W(4,1053516928,1049587364,1057639529,1065512192)+W(5,1058720438,1052631981,1043712557,1052947846)+W(6,1029422892,-1111775882,-1114348966,-1112549294)+W(7,-1103551521,-1111153757,995391206,1020473821);sum2=W(0,-1131225411,-1130956898,-1103681442,-1077027280)+W(1,-1076028808,1031803188,-1101294062,949706042)+W(2,-1140292462,1023877693,1042914798,1069127322)+W(3,1071847872,-1103125793,1043076855,-1132087796)+W(4,1018110051,-1137158572,-1224504659,1043315619)+W(5,-1120948958,1043270022,-1113817590,1015417250)+W(6,1018006973,-1128428036,1020723155,-1147115303)+W(7,1020554514,-1133954299,990350747,1025989218);WS(-1097928959,-1082976358); +sum1=W(0,1027664520,-1123678010,-1106569905,1052451146)+W(1,-1103556709,1038567635,-1108799690,1040222651)+W(2,1057835343,1050550727,1057764410,1062299789)+W(3,1049034640,1057826487,1041175724,1060823717)+W(4,-1089326063,-1096462854,-1083721351,-1087127986)+W(5,-1097735566,-1094118206,-1100805265,-1089053734)+W(6,-1108038941,1032858337,1021803093,1042469806)+W(7,-1104920125,1031016631,-1129264698,-1107162784);sum2=W(0,1059738223,1048150071,1052511773,-1080186607)+W(1,-1078381471,-1072132845,-1071450961,-1071397334)+W(2,-1087082495,-1095900368,-1108343021,1063110279)+W(3,1074904245,1071639576,1076364217,1077341373)+W(4,-1092378156,1046247330,1033545850,-1090059649)+W(5,-1107095292,1039712953,-1113577164,1049211915)+W(6,1034470847,1025055065,1045395587,-1094453880)+W(7,1053230483,-1103894182,1032308634,-1120241798);WS(-1093482751,1040242403); +sum1=W(0,-1101135214,-1123956286,-1107524598,-1138012647)+W(1,1034129455,1042720691,-1130324184,998898338)+W(2,1051279307,1045008905,1049489177,-1132973569)+W(3,-1096848358,-1098383795,-1104810279,-1118268600)+W(4,-1160860306,-1106067054,-1101021318,-1113266773)+W(5,1049504725,1059206814,1049756222,1052043149)+W(6,-1112732162,-1135242283,1029341500,-1121978915)+W(7,-1098727290,-1102892456,-1104163113,-1099073308);sum2=W(0,1050603120,-1101078445,1048531671,-1105220793)+W(1,-1091713187,1034851673,-1122031169,1020293663)+W(2,1055811875,-1122671355,1038805789,1066111209)+W(3,1026095418,-1130092003,-1137910742,-1094690648)+W(4,-1086548128,-1087609936,-1088336312,1071017234)+W(5,-1115602704,-1089969509,-1121274059,1053616941)+W(6,1034695967,-1108269543,-1089139562,-1104320030)+W(7,-1100901763,1049804877,-1103744367,1054827086);WS(-1112146683,-1077736475); +sum1=W(0,-1128590341,-1130792414,-1147973299,-1117834531)+W(1,1007065251,1033724609,1024083798,-1122914526)+W(2,-1099064529,-1090490649,-1086623314,-1101063739)+W(3,-1084449173,-1094725676,-1097837640,-1097461352)+W(4,1049253908,1028859267,1040872136,1068918685)+W(5,1059458719,1057886934,1044653558,1048946351)+W(6,1039097715,1017948777,1025770233,-1115616742)+W(7,-1104116690,-1132647657,998082042,1030833130);sum2=W(0,1038545045,-1104316542,-1098913527,1054073276)+W(1,990615436,-1111960943,-1127436605,-1131799749)+W(2,1044965772,-1073797636,-1069601753,1079919017)+W(3,1065620582,-1103381017,1039512539,-1105195767)+W(4,1038508364,-1092377302,1050236814,1044931722)+W(5,1034922622,1033398315,-1113162193,1039327537)+W(6,1032278560,-1115941315,-1109127211,1042591612)+W(7,997021068,1042220416,-1138197651,-1121388557);WS(-1090505151,-1074550453); +sum1=W(0,-1112838599,1028498739,1023419227,-1117182312)+W(1,1018948122,-1126145258,1024711581,-1125422420)+W(2,-1106878250,-1103427629,-1088602192,-1088941275)+W(3,-1087514842,-1096920942,-1096615233,-1095073209)+W(4,1057615003,1042960070,1063645564,1053033883)+W(5,1058641540,1043052986,1050742275,1053972531)+W(6,-1131143051,1023192930,-1096958907,1048242260)+W(7,-1098164287,1045189988,-1105551137,1026824959);sum2=W(0,1051549752,1081443218,1072492444,1048388769)+W(1,1035162847,-1139079606,-1121149576,-1123800689)+W(2,1021553919,-1111116920,-1073777225,-1067599847)+W(3,-1096587672,1029232562,-1115288719,1042218632)+W(4,-1106404197,1044837835,-1113676512,-1089379201)+W(5,-1109546151,1030543674,-1122606689,-1125599605)+W(6,1031994963,-1113046369,1032624041,1025956540)+W(7,1027498280,-1132168419,1034044071,-1115044631);WS(1051119487,1041244378); +sum1=W(0,-1124974044,1028120435,1048876359,1037118035)+W(1,-1131477080,-1118427428,-1120234265,-1125985859)+W(2,-1137238551,-1113671305,1036964902,1061504071)+W(3,1047204942,1050660570,1030267847,1049717597)+W(4,-1116593698,-1103177170,-1099611151,-1104164974)+W(5,-1081804989,-1114906180,-1098831475,-1103929310)+W(6,-1121323393,1033078132,-1156053771,-1129960608)+W(7,1048068278,1011539382,1035846233,-1115091743);sum2=W(0,1018090488,-1104952272,-1105226064,-1128161694)+W(1,-1134153828,1024328280,-1118410723,-1117225997)+W(2,1027537220,1048078363,1055192952,-1102612387)+W(3,-1102761937,-1101688104,1035228556,1016223417)+W(4,1019973834,-1095697091,-1101823824,1074095781)+W(5,-1074759173,1063478353,-1092594125,1041310640)+W(6,-1117503915,1045164128,-1106818318,-1087428157)+W(7,1061969021,-1092430375,1050476000,-1110796930);WS(1062303263,1031082743); +sum1=W(0,-1113216195,-1099215391,1052151297,1026092610)+W(1,1051942565,-1098039588,-1101893697,1008063218)+W(2,1050954912,1012178225,1065129152,1047492794)+W(3,1063700475,1049517720,1028060738,1054989200)+W(4,-1095964628,-1095180416,-1088785601,-1089641431)+W(5,-1089295544,-1091476104,-1102410709,-1096414030)+W(6,-1121789260,1027015379,1041954507,-1107401421)+W(7,1049634587,-1112964196,1035520455,-1114231491);sum2=W(0,1033145987,-1111827051,-1103256184,-1063595607)+W(1,-1101985731,-1141099147,-1136421288,1030655939)+W(2,-1175661064,-1152013649,1050523165,1084357731)+W(3,1048919805,1025442742,-1145624409,-1133270551)+W(4,1021827842,-1104895942,1034611383,-1094652398)+W(5,1029250458,-1102082303,1021034188,-1121842648)+W(6,-1165845202,-1187919119,-1125020091,1042933311)+W(7,-1108910008,1040766920,-1126731425,1017996705);WS(1057958943,-1104691893); +sum1=W(0,-1111014615,-1128240917,-1146251723,-1095236657)+W(1,1047913107,-1103203951,1033356080,1023941889)+W(2,-1105424217,1046008396,-1090082375,1054329938)+W(3,1003615948,1013130820,1044802714,-1101796865)+W(4,1044401084,-1100901945,1057785284,1040293502)+W(5,-1099597392,1051440085,-1102604718,1036253756)+W(6,-1118336456,1038452148,-1119525902,-1093887914)+W(7,1045607070,-1107674167,-1113361665,1037874639);sum2=W(0,1010987018,-1105807463,-1102396693,1054217500)+W(1,-1123211893,1029628166,-1106898625,1028744914)+W(2,1041119120,-1111572952,-1117220749,-1087890507)+W(3,1070205457,-1101117061,-1113015450,-1121743361)+W(4,-1110188142,1045029856,1057260834,-1087358521)+W(5,-1081682663,1051101181,1042553654,-1135525482)+W(6,-1127404253,1029477872,1019931869,1056265374)+W(7,-1091128546,-1124058781,1025549544,992401866);WS(1063883327,-1171419961); +sum1=W(0,-1131801844,1021098616,1022023532,-1121742227)+W(1,-1090925859,1024490200,-1102607801,-1123544461)+W(2,1049833398,-1123871229,1009731296,1044941350)+W(3,1060653970,1043051923,1048967870,1050859794)+W(4,-1102183011,-1097479398,1056730033,1041013425)+W(5,-1095529687,-1097251239,-1104750961,-1097963532)+W(6,-1101850371,1031224740,-1123343997,-1127214008)+W(7,-1107029405,1042080318,-1107657120,1009310536);sum2=W(0,-1106082604,1041248381,-1132935321,-1106587714)+W(1,-1104172881,-1118244665,-1115368488,-1139264801)+W(2,1047581965,-1108094251,-1111186257,1050591326)+W(3,1039028256,1025922877,-1111866155,-1104769894)+W(4,-1097195715,-1105642610,1042983438,1048334662)+W(5,1046273630,-1128737701,1044426238,-1122157893)+W(6,-1113941985,-1131232309,1050509566,-1103031697)+W(7,-1127691207,-1115007353,-1112751356,1031938310);WS(1064944927,1037595256); +sum1=W(0,-1116864018,1023806679,1017115436,1009660557)+W(1,1028149000,-1109610248,-1148661421,-1102752831)+W(2,-1089228760,-1095304482,-1087165700,-1086682215)+W(3,-1088874517,-1099761351,-1116139780,-1131587330)+W(4,1063040538,1057549004,1060715233,1064233001)+W(5,1056983460,1052917089,1041500021,1045020525)+W(6,-1107296590,-1106875789,-1103245163,-1106392275)+W(7,-1132085516,-1107160974,-1129006079,-1152394658);sum2=W(0,1045832950,-1110716731,1025147898,-1098226948)+W(1,-1099749141,-1098250414,1042544569,-1089530617)+W(2,-1084008560,1049995423,-1089165996,1066542501)+W(3,1049362032,1055260506,-1086997229,1067285885)+W(4,-1084775302,-1093173621,1054478967,1068786857)+W(5,1047038722,-1126019654,-1127724076,-1088213452)+W(6,1058474163,-1102301410,-1128684365,1031931484)+W(7,-1091779956,-1105326436,1053449115,-1090548395);WS(-1082101344,-1089856493); +sum1=W(0,1050831902,-1112019073,1030303546,-1129997454)+W(1,-1110327174,-1117704076,-1112251093,-1131596868)+W(2,-1105691402,1030717682,1055521064,1064695661)+W(3,1061962758,1058754169,1047731210,1056158989)+W(4,-1101015969,-1098775681,-1097748442,-1085520515)+W(5,-1086646154,-1089610799,-1093958751,-1094349907)+W(6,1029275441,-1120813832,-1139280937,965412887)+W(7,1041358014,-1122362798,1028938947,1016935004);sum2=W(0,-1065128139,-1076824095,1067439244,1079260085)+W(1,1056740148,-1103928218,-1135208116,1039164015)+W(2,-1101130808,1050826865,1046966330,1049869634)+W(3,1051236860,-1114183173,1033256035,-1104627926)+W(4,1034565987,-1109355365,-1109830496,-1112614302)+W(5,-1123646153,1051726295,1035002893,-1109091637)+W(6,-1119435550,1023890205,1012867020,1015248786)+W(7,-1122661198,-1136992532,-1119472799,-1136910724);WS(-1090711679,1035967541); +sum1=W(0,-1111795270,1015715144,-1118064815,-1124564760)+W(1,1033380937,1041725555,1039158191,1036708611)+W(2,-1104454427,1029360119,-1084526809,-1083278737)+W(3,-1083950349,-1091233609,-1102432923,-1097260861)+W(4,1050513973,1050454265,1063535365,1060834888)+W(5,1050327592,1054941014,1040417584,1042099839)+W(6,1030482278,-1138269301,-1132452908,1007072853)+W(7,1028355007,1029566323,-1140656289,1035976950);sum2=W(0,1030795338,-1104698754,-1086482027,-1086674278)+W(1,1048689193,-1101252049,-1127107620,-1097010897)+W(2,-1099705557,-1088930785,-1087114188,1063363970)+W(3,1066258058,1055138353,-1113111809,1050900036)+W(4,-1100315818,-1129318753,-1088371087,1059258270)+W(5,1052412907,1035784301,-1107499570,1046424313)+W(6,-1124401732,1047822852,1041847465,1007827043)+W(7,-1114489829,1039056173,1036879119,-1112035485);WS(-1098505599,-1075865372); +sum1=W(0,-1119631078,1024188415,-1125460739,-1113150415)+W(1,-1098117352,1028789822,-1115205937,-1134520549)+W(2,-1131715643,1032178901,1056750314,1055366257)+W(3,1063530169,1038512989,1036256496,1042179631)+W(4,-1121509433,-1128987132,-1131145214,-1096447994)+W(5,-1086227497,-1117796833,1016180195,1032402616)+W(6,-1113178620,1024883696,-1114020928,-1102601578)+W(7,-1111953177,-1101470933,-1141768534,-1114797153);sum2=W(0,-1098762498,-1112826554,-1099883844,-1090598021)+W(1,1060690639,-1101866176,1051055486,-1111565268)+W(2,1039073687,1047439072,1024348972,1068429254)+W(3,-1078855206,1052294530,-1095975199,1034134076)+W(4,1035541163,1032611741,1050751610,1066295533)+W(5,-1081223881,-1097770507,-1126362074,-1121819739)+W(6,1030962008,981436096,1048715774,-1089341195)+W(7,-1094541311,1041458546,1044471119,1024624177);WS(1057165023,-1106509195); +sum1=W(0,-1110663097,1023353031,1009641338,-1116674588)+W(1,-1121179137,-1127866586,1019708412,-1105922998)+W(2,-1090373040,-1094296089,-1087820187,-1090764772)+W(3,-1101809276,-1095695571,-1097119704,-1088811352)+W(4,1057389257,1051297995,1064196683,1064337073)+W(5,1058239248,1053143796,1049182394,1042633923)+W(6,1036322023,-1110472134,-1103525103,-1108191858)+W(7,-1105116828,-1130262917,-1117889432,1047174317);sum2=W(0,-1112942365,1048482322,-1100072975,-1097118067)+W(1,991349250,-1108096389,1053525633,1000921969)+W(2,-1106822390,-1115190843,1034045428,1068163863)+W(3,1063618710,-1107942623,-1090492700,-1076676559)+W(4,-1102090209,1042851055,-1103979279,1056641862)+W(5,-1105663689,1049912171,-1130278628,-1111476815)+W(6,1043730009,1035412483,-1105576965,1028572696)+W(7,-1113934073,-1105853831,1039916278,-1106999228);WS(-1086493375,-1079336981); +sum1=W(0,977772865,-1123924042,-1109993624,-1107908519)+W(1,1036636329,1038934102,1034769240,-1099048778)+W(2,-1102983835,-1108602044,1041059645,-1094902379)+W(3,-1083260999,-1084987377,-1102484540,-1108629750)+W(4,1026410857,-1098146918,-1106936850,1061697492)+W(5,1061962303,1057432285,1051050960,1050989872)+W(6,1015269519,1049374456,1036994068,1041174790)+W(7,-1103125248,-1125738921,-1130650164,1040252563);sum2=W(0,-1104970914,1018133697,1040842491,-1093587851)+W(1,-1093237537,-1102375178,-1099804326,1054809337)+W(2,1042634099,-1097448347,1055662701,1074010545)+W(3,-1089724369,-1099392752,1049771835,-1092159031)+W(4,1052960430,-1108255972,1062139198,1064732329)+W(5,-1083390778,1025575413,-1104347883,-1096888027)+W(6,-1112577728,-1096543501,-1090800341,-1093194079)+W(7,1015865539,991452982,-1126119433,1028159711);WS(-1088469887,1068090411); +sum1=W(0,-1113244581,-1123900274,1049496346,-1110903326)+W(1,-1119953152,1031904934,1034227191,1025939062)+W(2,1001301201,1023861926,-1082959002,1050701400)+W(3,1060902689,1043052181,1043817559,1038313117)+W(4,-1115331947,1035790701,1057295251,1048296635)+W(5,-1081663133,-1113327662,-1110964279,1034951606)+W(6,-1124374314,-1105829923,-1096521435,-1119292644)+W(7,1048590454,1027826066,-1106468266,-1117293966);sum2=W(0,1046922708,1033420508,-1112865289,-1096930035)+W(1,-1101802092,1017341032,1036773342,-1107450994)+W(2,-1106472578,-1114867820,-1087802072,1058113813)+W(3,1050476308,-1103417477,-1105807138,1033379085)+W(4,1033443280,-1109208012,1020845388,1048730658)+W(5,1059721445,-1107242470,-1136542442,-1104249476)+W(6,-1111979165,1050643686,-1101832932,-1129026525)+W(7,-1104558996,-1135034393,1037376476,1023773731);WS(1052578175,-1092643724); +sum1=W(0,-1106584961,1030893452,1033955624,1037358070)+W(1,1036710537,-1128189432,-1118327615,-1129060558)+W(2,-1102735475,-1100779014,-1082492039,-1086815439)+W(3,-1088009424,-1095075429,-1106908643,-1102841939)+W(4,1053304083,1049737317,1060101900,1065824329)+W(5,1041943502,1057719155,1051335460,1036237087)+W(6,993436516,1037510015,-1101687426,-1103135573)+W(7,1029815263,1040440469,-1106074638,1027836379);sum2=W(0,-1115440098,1029771501,1018065220,999202537)+W(1,1036811205,-1111720654,-1125064265,1019498859)+W(2,1015710974,1033337736,-1094728975,1039453548)+W(3,1050012979,1032576025,-1103861773,1040788513)+W(4,1041402597,-1114856806,1037520917,1064530169)+W(5,-1094040689,1073761042,1063409170,-1090935047)+W(6,-1130229431,1034787000,-1082769104,-1074584982)+W(7,-1090370130,1032162938,-1105633547,1034133532);WS(-1104397694,1058392920); +sum1=W(0,1012876448,-1126111401,-1142522206,-1115125816)+W(1,-1103048369,999529969,1016404519,-1117545451)+W(2,1051523414,1050625047,1043902243,1063861817)+W(3,1056801600,1053396405,1042081404,1054067798)+W(4,-1094911217,-1106828476,-1089440467,-1093833780)+W(5,-1087921625,-1107310585,-1104958721,-1097217844)+W(6,1023486907,1033392977,-1119682235,1019625524)+W(7,-1096529922,1015514383,1039287934,-1113687714);sum2=W(0,-1130009672,1027809153,-1106384796,1051460883)+W(1,-1104521112,1033821004,-1112259960,1028508475)+W(2,1013515790,-1106180134,1042067106,-1094561503)+W(3,1032257325,-1124940473,-1168427353,-1120291522)+W(4,1013756514,1023886448,1052609397,1078005003)+W(5,1072194837,-1094906083,1046140857,-1140922271)+W(6,-1153587550,1024050371,-1094102229,-1070026280)+W(7,-1075632186,1053282219,-1098407638,1033718481);WS(1063327007,-1121248448); +sum1=W(0,1017612078,1043030576,1039059525,-1115811128)+W(1,-1095615210,-1099887459,-1140707177,-1120397682)+W(2,-1113236667,-1096763312,-1091103118,1053297652)+W(3,1063340055,1054079124,1041492110,-1126620524)+W(4,1042967269,1049218219,1058517677,1033504868)+W(5,-1082785422,-1088587000,-1101731443,1029718569)+W(6,1035231217,-1115130868,-1107367965,1009543939)+W(7,1047061435,1042859328,-1120288724,-1104957341);sum2=W(0,1037909727,-1098298527,-1126569464,-1106955476)+W(1,-1096969233,-1118592354,1042882430,1037216424)+W(2,-1119813454,1048025725,1041835288,1067026849)+W(3,-1085288934,1042571631,-1117602980,-1116313332)+W(4,-1099212072,1045330821,-1106229244,1067954224)+W(5,-1095495837,-1108169766,-1164085849,-1100305071)+W(6,1032936033,-1097673782,-1109675885,-1092590328)+W(7,1004812688,-1096486003,1034064234,1045459772);WS(-1114652667,1051933605); +sum1=W(0,1026700110,1037508767,-1128033780,1034155035)+W(1,-1102462575,1024543544,-1147042251,1032374633)+W(2,-1102428549,-1105027032,-1106431647,1043250735)+W(3,1059213449,1038435705,1038748492,1016229610)+W(4,1043087092,1048715843,1062796090,-1089603768)+W(5,-1090890112,-1106007014,-1119096106,-1104514210)+W(6,-1109604752,-1113263092,-1098797270,1023780992)+W(7,-1112475685,-1121524254,986589794,1007891224);sum2=W(0,-1129141996,-1106880495,1031191254,-1102244397)+W(1,-1101040753,1046080919,-1112883155,1031234782)+W(2,1043866561,-1096921120,-1123077406,1064276171)+W(3,1061828176,-1095750750,1042185570,-1128566730)+W(4,1029019378,-1092013580,-1086673510,1064706574)+W(5,-1113110329,-1091369762,1042119352,-1105256367)+W(6,1050935854,-1111274547,-1096956427,-1115781076)+W(7,-1106057540,1029696990,-1113619581,1012473722);WS(1059465279,-1101420399); +sum1=W(0,1033088680,-1124176798,1014063089,1035053989)+W(1,1045820204,1038292302,-1115007182,-1131477704)+W(2,1043444330,1000916382,1057398923,1034190184)+W(3,-1087528660,1036787650,1027988010,1042732770)+W(4,-1101682761,-1126261266,-1089602004,1039770557)+W(5,1057859064,-1106381771,-1104773247,-1102530758)+W(6,-1124073107,-1118729178,1032573720,-1114558729)+W(7,-1096323421,1041172764,1024683157,1029511616);sum2=W(0,-1093261173,-1100338012,1016590929,-1160318928)+W(1,-1111261089,1032510827,1037987285,-1106728517)+W(2,-1081648717,-1096055698,1049309077,1060463741)+W(3,-1123677731,1042247124,1035681279,1035240533)+W(4,-1107343332,1016623505,1058913944,1061699617)+W(5,-1095509190,988275856,-1111758125,979544481)+W(6,1020947921,-1121572837,1035038069,-1121635630)+W(7,-1116667427,-1130213341,1033159595,-1112486763);WS(1060076127,1072958059); +sum1=W(0,-1103118654,1043365506,-1115420333,1031523031)+W(1,1033412302,1032254402,1031863013,-1127560355)+W(2,-1090537599,-1097065432,-1086314390,-1088162978)+W(3,-1089193875,-1091959462,-1111327644,-1086013855)+W(4,1060753617,1046496158,1060760746,1055888777)+W(5,1052645932,1054239287,1044639698,1056703661)+W(6,-1129584897,1025963976,-1106610556,1040410096)+W(7,-1138875303,1032279415,1032182482,1044337291);sum2=W(0,1034238418,1026722605,-1123083006,1044566349)+W(1,-1114043742,1029836970,-1124457715,-1112207598)+W(2,-1122429687,-1113650971,-1101416602,-1095747837)+W(3,1044375513,1032414162,-1132025334,-1112893824)+W(4,1038471498,1047703041,1050567163,1073798913)+W(5,1074668356,1076147895,1076524889,1071535287)+W(6,-1105287037,-1106809975,-1099784158,-1077245954)+W(7,-1072322090,-1070521946,-1071353549,-1076180558);WS(-1114470395,-1114976351); +sum1=W(0,1017446070,1040990896,-1129681934,-1120446036)+W(1,-1097641691,-1110115727,-1110184487,1033457695)+W(2,991904560,1041627584,1047992216,1061349282)+W(3,1061559014,1055187519,1045114861,1047040436)+W(4,1034584479,-1107221597,-1115356259,-1083497834)+W(5,-1089507216,-1098995485,-1109668803,-1107186297)+W(6,-1110976571,-1099251857,-1111571481,1039733326)+W(7,1036247843,-1114440077,-1115117640,-1120899067);sum2=W(0,-1093678598,1002676269,1055748356,1044340647)+W(1,-1118111722,-1120084888,1001595675,-1123642691)+W(2,-1084434022,1057422860,1066493380,-1079318791)+W(3,-1116089022,1044705221,-1112694927,1031220790)+W(4,1064533419,1067683118,-1078621547,-1079939901)+W(5,1054002901,1039926847,-1112070298,1023903081)+W(6,1042743345,-1108978134,-1117769694,1015093293)+W(7,1049699290,986467602,-1107171922,1037662763);WS(1048785023,1039045299); +sum1=W(0,-1104130562,1043168659,-1117502116,1029857553)+W(1,1034838603,1027207566,1024393315,-1130533431)+W(2,-1090140327,-1100442863,-1085428843,-1093347651)+W(3,-1089406196,-1093521697,-1120775857,-1086838999)+W(4,1061197562,1040570004,1062309944,1050495728)+W(5,1050259320,1054560318,1039464338,1056208688)+W(6,-1133671882,1032880081,-1102819715,1038995485)+W(7,-1127149063,1026681976,1035433414,1041402190);sum2=W(0,-1118465298,1011712973,-1128433260,1029767219)+W(1,1021354231,982009542,1014788797,1033540398)+W(2,-1142302474,1025023956,1041730218,-1097771962)+W(3,-1094677866,-1122047812,1028525757,1020814500)+W(4,-1114395216,-1104707163,-1095905892,-1080533844)+W(5,-1075595300,-1072373863,-1072719492,-1078361330)+W(6,1037219807,1039062755,1046574176,1069124140)+W(7,1073795377,1075522683,1074436097,1068741752);WS(1040594174,1002085105); +sum1=W(0,1041861603,-1097746587,1032164980,1031577622)+W(1,-1102982955,1044101411,1034678964,1026039088)+W(2,-1113198522,1055071640,-1088672026,1050744420)+W(3,1057599999,-1103363988,1036351259,1034848362)+W(4,-1137236930,-1100468781,1047493466,-1105375081)+W(5,-1087672398,1050064611,-1102178050,1033863059)+W(6,1041085614,-1121524679,-1109849488,1048884604)+W(7,-1113508732,-1098107838,1043931332,-1106488144);sum2=W(0,-1099743490,1035577370,-1115293072,-1102421679)+W(1,1038726510,1032210717,-1107407193,-1120037205)+W(2,1011906269,1026663055,1057096352,979639118)+W(3,1044440375,1032214892,1028754425,-1123040177)+W(4,1037961444,-1152297667,-1095995741,1050233559)+W(5,1022991474,-1139108605,-1115369483,-1104470915)+W(6,-1108436276,991169347,1045881501,-1097952901)+W(7,-1122343653,1026937641,-1105994898,1022469878);WS(1066613200,-1123971367); +sum1=W(0,1021072883,-1125712504,1041158633,-1106077125)+W(1,1036847484,1032267227,1016782186,1031886911)+W(2,-1096708150,-1090955664,-1159875842,-1079911082)+W(3,-1093258685,-1103560179,-1089925031,-1106725252)+W(4,1051074184,1051398158,1058934814,1061682240)+W(5,1055629981,1054180539,1052861897,1047227273)+W(6,1026036124,-1108624754,1040756057,-1090753503)+W(7,-1114271443,1025501945,-1105228376,1043536294);sum2=W(0,-1120579723,-1104595791,1060943463,-1081375340)+W(1,1048074442,1049316438,-1088959333,1054216959)+W(2,-1102098813,1059079365,-1078775742,1070420847)+W(3,-1106373275,-1084015554,1065759760,-1087995034)+W(4,-1103583809,1035649855,1055196914,1036446407)+W(5,1050043459,1050724789,-1088425301,1052608338)+W(6,1039910130,-1110832147,-1115424415,-1092581761)+W(7,-1101688097,-1115969635,1051846236,-1103333947);WS(1015488492,-1082266482); +sum1=W(0,-1115294884,1041881447,-1116482020,1028536641)+W(1,1044897017,-1108243791,1033207234,1015505847)+W(2,-1096364772,1036768790,-1083421327,-1079950554)+W(3,-1088856963,-1096513911,-1104622888,-1096156044)+W(4,1054950795,1051075280,1062057653,1057564011)+W(5,1054170231,1056273768,1056919206,1054606378)+W(6,-1109722877,1018280484,-1105734603,-1124656723)+W(7,-1129161159,-1113027740,-1132093050,1025701004);sum2=W(0,-1103335141,-1087173612,1045744538,-1106751239)+W(1,-1089877767,1054342226,1047940388,-1120076732)+W(2,-1123809016,-1080484881,1068142929,1065979347)+W(3,1048007586,-1086806497,-1098712592,-1082944418)+W(4,1056172663,1047550056,1051886373,1064817240)+W(5,1065470183,-1098340366,-1102735881,-1088981287)+W(6,-1093357581,-1112078382,-1102262951,-1097769156)+W(7,-1095892093,1033891425,-1105000175,1059622670);WS(-1089551423,-1072840444); +sum1=W(0,1041019406,1022173115,-1113297010,1015463395)+W(1,-1103473726,1040814976,1007312016,1029778436)+W(2,1055991358,1057526040,1036785718,1059475300)+W(3,1056836657,1050051043,1050846086,1053584058)+W(4,-1086576149,-1100702364,-1093552675,-1089572736)+W(5,-1091007140,-1090411145,-1098618125,-1097362556)+W(6,1027645528,-1141651861,1016689751,1031793146)+W(7,-1125097480,1041821422,1015074267,-1104623366);sum2=W(0,1069423067,1072187327,1072064387,1072314518)+W(1,1066704589,1063804587,1053139391,1042659879)+W(2,-1076703167,-1073855626,-1079134619,-1077864031)+W(3,-1081021850,-1081933355,-1094622730,-1099654949)+W(4,1041694716,-1115348910,-1107764634,-1089838794)+W(5,1036250076,1028352388,-1114321992,1035224325)+W(6,1032293264,1008297781,-1120515458,1037018177)+W(7,-1121141704,1025803257,-1123317222,1027779018);WS(1053893247,-1106302313); +sum1=W(0,1031892188,-1110506435,-1127073177,1047997302)+W(1,1033243951,-1107646187,-1112186286,-1112631434)+W(2,1044357278,1051962248,1061666784,1064449402)+W(3,1041901099,1053582704,1037482077,1050110011)+W(4,-1093335703,-1098499127,-1085429924,-1082436051)+W(5,-1118050391,-1104422127,-1118004236,-1103845867)+W(6,-1124627014,-1121076939,1038775118,1042378233)+W(7,-1100759903,-1107823800,-1134911574,-1111029158);sum2=W(0,1045534781,-1136883904,1027794169,-1091599460)+W(1,-1105954111,-1110353364,1026306116,-1105327762)+W(2,-1106914963,-1105365809,-1087950271,1049402813)+W(3,1059435817,1056244223,-1106437513,1049633694)+W(4,-1093884354,1058094665,-1076257974,1070891205)+W(5,1057695328,-1096007662,1042940020,1019026622)+W(6,1048929407,-1099297773,1057853479,-1101014716)+W(7,-1088483015,-1116753268,-1107558514,-1111740866);WS(1043803134,1031905225); +sum1=W(0,-1113675573,-1137620096,1045527725,1047471777)+W(1,1025442024,-1101766076,1041363873,-1104559247)+W(2,1045344728,1015450714,1036603287,1057861093)+W(3,1007995990,1048683192,-1103914745,1053784172)+W(4,-1093561052,1039772705,-1087612823,-1131204708)+W(5,-1109713128,-1098589181,-1142310312,-1096789826)+W(6,-1125193272,-1142985628,1043570724,1032608022)+W(7,-1125123818,1017746514,-1137687994,-1120823545);sum2=W(0,-1102611800,1042572795,-1143715563,1047906835)+W(1,1034463821,-1097650393,1044772028,-1105069125)+W(2,1052608919,-1112317124,1036000712,1058925768)+W(3,-1089628524,-1097284017,-1090965565,1053414419)+W(4,-1092971881,1050084573,-1099050864,1062269077)+W(5,-1100033854,-1155008883,1043620595,-1099181286)+W(6,1033368250,-1099740129,1046340985,-1106615878)+W(7,-1143169701,1034459058,-1102441858,-1145018737);WS(1065606800,1041895077); +sum1=W(0,1041785011,-1113293285,1031552121,-1114204019)+W(1,1014586031,1032452466,-1103346054,1025447425)+W(2,1041397665,1050236482,1063682744,1055253222)+W(3,1057927896,1054837340,1043307490,1058487624)+W(4,-1108226929,-1089967688,-1092426598,-1085544687)+W(5,-1092878524,-1094102329,-1097746379,-1098262983)+W(6,-1113822832,-1105474774,1045393909,-1106251932)+W(7,1018782386,-1135035573,-1114747425,-1119448485);sum2=W(0,1038489223,1032193624,-1137158564,1048862753)+W(1,-1107218869,-1112577633,1034028859,-1110240510)+W(2,-1094743304,-1106563024,1029053577,-1103121169)+W(3,1018988618,1015522148,-1107822714,1017646246)+W(4,-1079775068,-1075431018,-1075905408,1061439417)+W(5,1061842524,1055667456,1032002642,1047594841)+W(6,1069957645,1074314813,1067854461,-1090496129)+W(7,-1083145579,-1093776696,1038458963,-1100108785);WS(1050857279,1035401177); +sum1=W(0,1029370009,-1121232094,-1118971861,-1116554354)+W(1,-1102118870,1035949272,-1118591397,-1155732684)+W(2,1049972466,1045749679,1054737744,1064433520)+W(3,1057059356,1055161550,1035470985,1050840570)+W(4,-1100844155,-1097541146,-1089471141,-1088203652)+W(5,-1089223685,-1095333099,-1098430605,-1105548665)+W(6,-1114359850,-1119608387,1032044074,1039513726)+W(7,1028806533,1039358524,-1114373271,-1113669781);sum2=W(0,1034282103,-1111920318,1023538768,-1133376386)+W(1,-1119100907,1014776166,-1117007635,-1121555310)+W(2,1040723224,-1118965841,-1128437695,1038672881)+W(3,993338648,1050613235,-1108740075,1040276790)+W(4,1028955705,1031483971,1043259383,-1148076972)+W(5,-1084940093,1050550535,-1098463376,1054296012)+W(6,-1104697256,-1123254751,1034554870,-1078609243)+W(7,-1075024478,-1100774866,1069274341,1072481706);WS(1059068159,-1095269543); +sum1=W(0,1022243158,-1126585055,-1113503115,1034732162)+W(1,1029695369,1045709362,1005846771,1049870212)+W(2,1058751902,1052633434,1061437964,1062365313)+W(3,1054753811,1047783152,1043895001,-1119990530)+W(4,-1083015108,-1095802212,-1083734386,-1087136899)+W(5,-1089074173,-1093733821,-1096742887,-1106170901)+W(6,1040310153,1009201364,1040208083,-1116554445)+W(7,1044292534,-1141695574,1042140272,-1106848091);sum2=W(0,-1110453349,-1118716929,-1111084235,1027079271)+W(1,1058163522,1060433363,1058751114,-1077532089)+W(2,1048158098,-1117235638,1037169053,1044450691)+W(3,-1086959067,-1096141012,-1102281652,1061563184)+W(4,1064329884,-1122504669,1037379653,-1106426334)+W(5,-1081956377,-1081432626,-1086790317,1073667932)+W(6,-1096499673,1023790996,1035642078,-1103100998)+W(7,1059064502,-1109003581,1048822766,-1089552462);WS(-1079238176,-1098575359); +sum1=W(0,-1122061272,1012614613,1049213476,-1091368434)+W(1,1050034455,-1115399887,-1105000541,1040609063)+W(2,1040856756,-1098659523,1050219649,1046432350)+W(3,-1092787824,1045840143,-1102913028,-1104981396)+W(4,-1106993315,1049053518,-1088887964,1061247706)+W(5,-1113029435,-1096901418,1045569657,-1106428832)+W(6,-1113276757,-1110111537,1048270483,-1098550683)+W(7,1053252708,-1120030007,-1144293604,1037272948);sum2=W(0,1035271628,1033447544,-1113618952,-1104023060)+W(1,1022009109,-1104458884,1044684178,-1104406640)+W(2,-1096995906,1032410306,1053850685,1054515359)+W(3,-1114408860,1030897990,-1115683354,-1106540716)+W(4,-1097624644,1048740225,-1109777102,1058355960)+W(5,-1139294461,-1116975083,-1099524388,1036671037)+W(6,1051183735,-1095652467,1037584786,-1116173683)+W(7,-1096371453,1030595307,-1117706649,-1108415342);WS(1064155455,1041078114); +sum1=W(0,-1114884791,1038026665,1040569148,-1123095214)+W(1,-1113346810,-1098688777,-1106297864,1033022404)+W(2,-1133388468,-1103926126,-1088265213,-1088521037)+W(3,-1094483240,1052099081,1038941559,1027852876)+W(4,1031759625,1051074474,1049866386,1060913876)+W(5,1044072016,1034732568,-1138713347,1019301565)+W(6,-1116707016,-1135572861,-1145284192,-1110455500)+W(7,-1116167073,1029730485,1017022612,1028095637);sum2=W(0,1027468398,-1111732215,-1149402831,-1136133524)+W(1,1058132410,-1084703700,-1103172541,1011948492)+W(2,-1120484835,-1115316427,1042551085,-1101059653)+W(3,1067179636,-1093846517,1015696434,-1119207903)+W(4,1033713911,-1113615213,1015721118,1005178376)+W(5,-1112798365,1036573120,1035924289,-1106241198)+W(6,1037828351,-1102210431,1027887653,-1105049969)+W(7,1033627060,-1112780439,1025169534,1034168377);WS(1056869759,-1097268032); +sum1=W(0,1018133293,-1105532941,1027243330,-1097428310)+W(1,-1099204213,-1133851766,-1138393927,-1118550618)+W(2,1036411431,1007771751,-1116024394,1032024955)+W(3,-1130187397,1034973653,-1114469768,-1118964077)+W(4,1039633317,1034605623,1050783724,1010531964)+W(5,1045069064,1044277428,1046520720,1036629184)+W(6,-1111689725,-1107937040,-1105991139,-1109581452)+W(7,-1103861656,1044990678,-1106353867,-1155661924);sum2=W(0,1031819015,-1113612713,1040659447,-1113225510)+W(1,1023788280,-1115035325,1009487418,1023947578)+W(2,1040620760,1045122152,-1122637452,-1080510307)+W(3,-1103769905,1050277803,1041168723,-1112728330)+W(4,-1130428603,-1113774176,-1093905874,-1073670430)+W(5,1040925011,1074164392,1056579340,1044922942)+W(6,-1130628701,-1118722775,1015363301,-1129641903)+W(7,1045479736,997650792,1043373785,-1122436477);WS(1064095487,1025785067); +sum1=W(0,1026371284,-1097495743,1050378694,1008396404)+W(1,1042871873,-1103138663,-1136206974,1034556564)+W(2,-1106851535,1042476562,-1104849584,-1085976658)+W(3,-1097042470,-1109264236,1035073279,-1094929447)+W(4,-1128892272,1049973404,-1115675316,1058008769)+W(5,-1098054097,1052615848,1037088776,1045135411)+W(6,1040514533,-1103190740,1040022019,1040395090)+W(7,1050097558,-1102548473,-1157051795,1023679636);sum2=W(0,-1124722923,-1114618025,1043439029,1036363299)+W(1,-1096133271,1049502378,-1106999272,1013819494)+W(2,1033420628,-1100145939,-1115804833,1057589449)+W(3,1053618149,-1091358477,1030436134,-1119548384)+W(4,-1105442746,1047309531,-1084852425,-1089136554)+W(5,1028964970,1056312267,-1100909906,1043379377)+W(6,1029168594,1048079041,-1101613108,1042227257)+W(7,1045151454,1041752672,1036382707,-1113267324);WS(1060109055,1023402244); +sum1=W(0,1039025762,-1109278395,-1125210976,-1107337262)+W(1,-1119314274,1038278743,-1120902815,1024999351)+W(2,1051909299,1054481389,1061074499,1069080830)+W(3,991275263,1049054227,1043342663,1051802331)+W(4,-1098089231,-1093104548,-1087624466,-1092709234)+W(5,-1085745760,-1093068092,-1102438460,-1098889074)+W(6,-1107880995,1018380380,-1167447218,-1119879878)+W(7,1030906608,1028271716,-1122586985,-1107737008);sum2=W(0,995982518,1033194341,1038373562,1040171687)+W(1,-1108098969,1027047733,-1147696971,1033796110)+W(2,1035578813,-1121421677,1046888388,-1103362299)+W(3,1050255581,-1096418856,1042040695,-1116244525)+W(4,-1118279893,-1114972659,1069469835,1078927590)+W(5,-1065023683,-1082214759,1045909115,-1112457727)+W(6,-1115504751,-1108849613,1041670894,1050450381)+W(7,-1097423961,-1114805949,964966831,1025540676);WS(-1092049407,-1078216845); +sum1=W(0,1019093687,1030002432,-1100550858,1055647027)+W(1,-1103872766,1041444210,-1115845919,1042339236)+W(2,1057591089,1050969332,1056027116,1063070242)+W(3,1039049940,1057957242,1034942714,1059965491)+W(4,-1089127853,-1096074010,-1082843219,-1088645600)+W(5,-1097545633,-1095349663,-1103665506,-1089209262)+W(6,-1109784091,1043174565,-1126191805,1049441628)+W(7,-1097650089,1024042875,-1123963793,-1105758607);sum2=W(0,-1086426610,-1096143108,-1089951657,1062855195)+W(1,1068897447,1074016711,1075026151,1074160921)+W(2,1062347208,1055082976,1045157118,1048769854)+W(3,-1073459143,-1078468086,-1071781830,-1072043968)+W(4,1053593730,-1101252044,-1111940928,1037201995)+W(5,-1091098547,-1119407664,1031118734,-1095931446)+W(6,-1108806990,-1138780047,-1099705126,1058343455)+W(7,-1094950430,1046274438,-1128975824,1035271906);WS(-1092377983,1032564911); +sum1=W(0,1026968586,1001025293,-1101464865,-1099757657)+W(1,-1099131534,1021990836,-1124857771,1016095931)+W(2,1051240140,-1135919542,1047585891,1046337282)+W(3,1042168181,1042765483,1039475666,1031087233)+W(4,-1140824311,-1114206145,1035412731,-1093593858)+W(5,1042300945,-1105010841,-1129901419,-1150842169)+W(6,-1108814006,1031981930,-1105914151,-1111723206)+W(7,-1114245051,1047084274,-1110153104,1021006644);sum2=W(0,-1152594313,-1114711758,-1122222477,-1119994373)+W(1,-1117872135,-1136114154,-1118889611,-1120239593)+W(2,-1103837493,-1102219265,1021928584,1043085394)+W(3,-1098150014,-1114380427,-1103586212,999997765)+W(4,-1119502913,1049238470,1051353268,1069806319)+W(5,1040245198,-1084770114,-1097500544,1032457879)+W(6,1035550709,-1111809635,1038283603,-1113383091)+W(7,1038911980,-1106271331,-1109409577,-1130668925);WS(1066805616,-1146277627); +sum1=W(0,-1135230785,-1149155717,1034010150,1042337650)+W(1,-1127867356,1036367663,1011804270,998521116)+W(2,-1097679853,-1106566573,-1092037473,-1085421897)+W(3,-1091217395,-1094061036,-1108406741,-1096997053)+W(4,1046488473,1047676826,1047117051,1062693860)+W(5,1049537116,1056189429,1017502967,1049188263)+W(6,1036204713,-1098488427,-1103697017,1057957971)+W(7,-1114566390,1034870184,-1103604141,1029261884);sum2=W(0,-1122819855,1029215207,-1109976389,1044451524)+W(1,-1130065951,1027965847,-1119702735,1036873692)+W(2,1035645255,-1111163705,1026839491,-1095838714)+W(3,-1147512571,-1156411358,-1110332882,-1114357123)+W(4,-1107161682,1019166485,-1129473215,1082201538)+W(5,1052773623,1033233466,1034307583,1001850219)+W(6,1042480496,-1107159841,-1115971786,-1067229991)+W(7,-1091650896,-1142132409,-1107215185,1025815163);WS(1040205182,1040987841); +sum1=W(0,1032709552,1028035406,-1152624047,1047238622)+W(1,-1110798127,-1160283945,-1129145589,1035307633)+W(2,1050828331,1054299632,1000765841,1064828620)+W(3,1059217829,1057730984,1050797759,1040620053)+W(4,-1098789018,-1102534446,-1087146945,-1084918512)+W(5,-1080798168,-1094152707,-1154982570,-1104995442)+W(6,-1130845956,-1131566290,1024089890,1044521480)+W(7,1041701723,-1105870556,-1121779940,-1110323595);sum2=W(0,-1104834685,-1098615503,-1090508283,-1080862372)+W(1,1048874616,1063492499,1035824034,1062512173)+W(2,1039834326,1050496819,1045914856,1070974917)+W(3,-1085801376,-1081343708,1033985362,-1089072248)+W(4,1040649104,1034170750,-1118657109,-1102559609)+W(5,1041220807,1047362948,-1099586035,-1130222490)+W(6,-1113573633,-1119108596,-1128160390,-1095002000)+W(7,1053594264,1022825140,1041895669,-1115149866);WS(-1087487423,1060332710); +sum1=W(0,-1105878689,1042437466,1040585322,-1121111477)+W(1,-1112195269,-1112892785,-1122925576,1012646976)+W(2,-1095746139,-1089004262,-1081828961,-1099866351)+W(3,-1115422148,1039314504,-1117471766,-1108492170)+W(4,1053913286,1055197099,1059867107,1061690846)+W(5,-1104536871,-1102951638,-1107184778,-1130420108)+W(6,1037671952,-1117440135,-1114610404,1028605502)+W(7,1040822242,1041433743,1048192776,1029799624);sum2=W(0,1017331955,-1104677463,-1117673238,-1094338757)+W(1,-1119646366,-1104710153,-1107625181,1022869095)+W(2,-1097747777,1040900608,-1081336501,1073518733)+W(3,-1103573743,-1106204508,1041186571,-1097636016)+W(4,-1097037835,1016355419,-1089023490,1068423959)+W(5,1048344480,1057220074,1033091565,1053959289)+W(6,-1162485367,-1104406873,-1117660642,-1096388411)+W(7,-1093216188,1028492960,-1092192530,1049060345);WS(-1096756863,1051174382); +sum1=W(0,1025372546,-1106905723,-1114360751,1025624474)+W(1,1037998160,1032794399,1034992970,-1114244794)+W(2,-1115668125,1039995714,1043101563,-1089490746)+W(3,-1092891318,-1107085565,-1114405501,-1168885266)+W(4,1000611497,-1105014230,-1117013085,1058174613)+W(5,1045000731,1035643438,-1121180749,-1120880459)+W(6,1034391118,1041916975,1027806076,-1111998130)+W(7,1008039732,1030397185,1018926829,1029203969);sum2=W(0,-1089960886,-1092452707,1049541326,1032119458)+W(1,1032929374,-1110883627,-1123073435,1026522309)+W(2,-1095856011,-1106157919,1074170001,-1085150802)+W(3,1046048366,-1112079347,1027735021,-1111935169)+W(4,1007316785,1041476280,1050706137,-1083810164)+W(5,1043182557,-1129593193,-1214669080,1009058861)+W(6,1036775569,-1107942220,1021239050,-1132331444)+W(7,1036225521,-1113579728,1009639193,1022066674);WS(1063524863,1010978751); +sum1=W(0,1033376264,1035248130,1029138555,1040606570)+W(1,-1146340206,-1122169062,-1113033206,-1115451138)+W(2,-1090913225,-1094935586,-1084407830,-1085174115)+W(3,-1080254739,-1094320024,1033710501,955403507)+W(4,1054337940,1045510498,1057961148,1062831778)+W(5,1060252175,1058700983,1045946247,1033261261)+W(6,1034437913,1040021853,-1141033844,1032741433)+W(7,-1127614262,-1136275261,1007782611,1030604567);sum2=W(0,-1096400044,1043917783,-1123678571,-1090244436)+W(1,1046901313,1048870815,1033884063,1053211427)+W(2,1053621644,1009306318,1051339656,1062093709)+W(3,-1080576226,-1106342004,-1098524562,-1124418811)+W(4,1017015195,1005897821,-1141989437,1065539532)+W(5,-1083332175,-1097183812,-1097464341,-1092155120)+W(6,1037111777,-1106811629,1047789047,-1093438727)+W(7,1049955112,1043219374,1050393105,1044056917);WS(-1085369887,-1080302329); +sum1=W(0,1021216124,-1121762938,-1103047566,-1094342263)+W(1,-1105630871,-1107174593,1025950537,-1146340105)+W(2,-1112260523,-1119192737,1050211017,1058411732)+W(3,-1139271463,1042276856,-1113852108,-1119668597)+W(4,1035888345,1049037307,1061443675,1044828010)+W(5,-1119204121,-1100915542,-1174284878,-1119790119)+W(6,-1110274640,-1111476420,-1097892613,-1097171068)+W(7,-1112160677,1026261917,-1110403297,-1132483222);sum2=W(0,-1115512925,-1146353705,1036066439,-1134998124)+W(1,-1093678923,-1122018103,-1110317749,1002801625)+W(2,1035074177,1040461813,1042528734,1058355837)+W(3,-1081621864,-1089980594,1049357806,-1101025299)+W(4,-1191992884,1043381354,1059049535,1058956516)+W(5,-1095612272,1050844919,-1100731037,1036998024)+W(6,-1115656893,-1137020948,1021899784,-1112812041)+W(7,1012903452,-1123282157,-1122890057,1023124620);WS(-1106521214,-1077666555); +sum1=W(0,1003321829,-1120901013,-1105222370,-1107011833)+W(1,1029823211,1000924822,-1127794128,1027793952)+W(2,1052142545,1052094618,1060439250,1059969903)+W(3,-1095361591,1039904896,1000548911,1046166153)+W(4,-1102912320,-1105733097,-1085669204,-1113880763)+W(5,1052882623,-1107186882,-1118745688,-1096551831)+W(6,-1108686032,-1118608535,1045702647,-1106161276)+W(7,-1103122454,-1106172071,-1113781993,-1132637458);sum2=W(0,1034079401,-1123608512,999851902,-1128074608)+W(1,-1102099502,-1109589984,-1127758712,1032460032)+W(2,1025264110,-1119278092,1031056700,1059405503)+W(3,-1123208440,-1081290516,1015173988,-1121242732)+W(4,-1123371956,-1104246380,1051208451,1063218900)+W(5,-1110007228,-1131612640,-1124651080,1025045004)+W(6,-1116991392,-1156408861,-1098806852,1038716729)+W(7,-1136590423,1034885175,1009682031,-1115963068);WS(1061862175,-1081928168); +sum1=W(0,-1105584175,1024897880,1038516044,1040792761)+W(1,1041867802,-1146323132,1033649803,-1113939311)+W(2,-1105871745,-1093982770,-1092069365,-1083616743)+W(3,-1089303929,-1089274268,-1106858177,-1096909360)+W(4,1043886056,1052657028,1055074797,1065026281)+W(5,1056987882,1054263413,1043742846,1049053899)+W(6,1027658214,992865878,-1121064957,-1106374835)+W(7,1015027694,-1132520748,-1137844354,1017619030);sum2=W(0,1078367032,1056220347,-1078889751,-1073546091)+W(1,-1104234997,-1129365336,-1132392998,-1105729449)+W(2,1027322757,1044756153,-1096547764,-1101560565)+W(3,1042443775,1048890957,-1104280017,1028418751)+W(4,1023449836,-1148770222,1043960988,-1126862726)+W(5,1029550531,-1133306383,-1130422948,1042854212)+W(6,-1115583846,993742973,-1130380138,-1147412718)+W(7,-1115461788,1019814478,-1143007558,-1123464959);WS(1052938943,-1103606318); +sum1=W(0,-1114719934,-1110318513,1051495307,-1100729633)+W(1,1058926789,-1090569589,1050591187,-1120060704)+W(2,-1087051802,-1108424920,-1085940948,-1082198177)+W(3,-1090825863,-1088355266,-1096343413,-1090847836)+W(4,1058073278,1044445625,1060893495,1058839039)+W(5,1060585177,1053564817,1054456219,1059253187)+W(6,-1114447856,1040769086,1037779432,-1103818980)+W(7,1053070735,-1091337376,-1131842819,1026807692);sum2=W(0,1015621136,1032703681,1048700747,-1098355550)+W(1,1047054427,-1097901072,-1126056922,-1165737020)+W(2,1033006755,-1098289077,-1098808895,1046984196)+W(3,-1083721832,1061110777,-1109410901,1047097145)+W(4,-1072583370,-1084108607,-1081224226,-1081041246)+W(5,1069053051,1046858869,1068664236,1076043754)+W(6,1074691924,1067219112,1064576163,1066863963)+W(7,-1084686190,-1086075738,-1079374171,-1071293986);WS(-1083248351,1041375270); +sum1=W(0,998616699,-1142901727,1043282847,-1128981712)+W(1,1049050406,-1110272759,1045114289,-1170526381)+W(2,-1087439008,-1092067298,-1097778587,-1084179155)+W(3,-1090979219,-1086455104,-1095775369,-1087021556)+W(4,1054645196,1052452449,1050602866,1058025241)+W(5,1061357806,1053431193,1052134295,1053157267)+W(6,1045294540,-1128264947,1042620067,-1146688137)+W(7,-1127282486,-1125997182,981342481,1046767364);sum2=W(0,-1076239116,-1079299620,-1079042334,-1083365485)+W(1,1049726715,1066758659,1069675355,1075688460)+W(2,1068235144,1068687973,1068481951,1066921525)+W(3,-1106704213,-1080829299,-1077473679,-1073149491)+W(4,1054062613,1019509447,1057377046,-1100834259)+W(5,-1095788298,-1107253929,-1112126912,-1090199615)+W(6,-1114529265,-1116897962,1041823371,1032806429)+W(7,-1104989857,-1107915189,1021289065,1034867372);WS(-1089965567,1041739713); +sum1=W(0,1014059625,-1109541748,-1120181702,-1113826001)+W(1,-1099389050,-1107441048,-1110918155,-1129336123)+W(2,1050606464,1046384755,1052952467,1062759283)+W(3,1061539071,1056969105,1043585729,1054439728)+W(4,-1097348868,-1098095776,-1098227712,-1097909490)+W(5,-1089710746,-1097990985,-1112431723,-1101291373)+W(6,1016608410,-1110057610,-1165355548,-1103909923)+W(7,1018410859,-1097884829,-1109883584,-1118732474);sum2=W(0,1035083591,-1112359157,1037205500,-1119560270)+W(1,-1130432545,1033928454,-1111608107,1027763767)+W(2,-1113211599,1037267536,-1110383577,1053336900)+W(3,1036846600,1029308948,1035214305,-1137000642)+W(4,1032203968,-1129901649,1050641640,1062183610)+W(5,1052549520,1037218786,-1098666781,1041216407)+W(6,-1112771443,999833884,-1113848439,1048127168)+W(7,-1087091182,-1080175934,-1106600446,-1105808372);WS(1040803966,-1079223548); +sum1=W(0,-1103550802,-1113401739,-1105545077,-1095164520)+W(1,-1102562113,-1106149592,-1123094707,-1105989383)+W(2,-1108233168,-1097729981,-1112466052,1056711305)+W(3,1033129898,-1100704991,-1106323272,-1109921151)+W(4,-1115946235,1016715200,1051122342,1072346450)+W(5,1046866637,1041579689,1017795558,1019070562)+W(6,1021078213,-1123835458,-1103483180,-1092700173)+W(7,-1104392485,1033532004,-1128003929,-1109398092);sum2=W(0,-1132003761,-1126076753,1028715469,-1094940877)+W(1,-1096054213,1050064171,-1095828963,1024912709)+W(2,-1097131135,-1098724323,-1094337061,1075670208)+W(3,-1092647285,-1119763725,-1104609741,-1103386045)+W(4,1033952970,-1102131199,1043946979,1037045260)+W(5,1052392413,-1101691459,-1104710657,1042676905)+W(6,-1114013558,1027012993,-1109613274,1026138301)+W(7,-1107006741,1032910718,-1127911473,-1109320626);WS(-1077711088,-1080462700); +sum1=W(0,1016976667,-1143635214,1050435883,1025648038)+W(1,1033190198,-1119077035,-1127874241,-1124293633)+W(2,-1095463505,-1094028818,-1084473735,-1081613943)+W(3,-1092817267,-1089963906,-1112556483,-1096263708)+W(4,1048382760,1043759401,1060944248,1061061657)+W(5,1059085444,1058923652,1024757337,1052630131)+W(6,1033669226,1023995271,1038367764,-1104130812)+W(7,1035230572,-1115548134,998948881,1035279350);sum2=W(0,-1118714905,-1128906105,-1104617441,-1102497202)+W(1,1052988680,1025452854,-1147569173,1045309195)+W(2,1038737245,1033599435,1047074065,-1081197801)+W(3,1051590837,1036478618,1034730428,-1096538670)+W(4,1045939428,-1124872105,1073600723,-1069501955)+W(5,-1078764847,-1078626366,-1094352359,-1097394746)+W(6,-1084863446,-1120736313,1072627800,1076529178)+W(7,1066278053,-1115729701,-1119746081,1001372341);WS(-1085605823,1039908372); +sum1=W(0,-1110519177,998302542,-1105109851,1051114493)+W(1,1047758692,1047411644,1008966514,1027414133)+W(2,-1101464226,-1097280531,1050325520,-1093718398)+W(3,-1109283231,-1103804777,-1107759461,-1099881946)+W(4,1050281295,1040574050,-1112501642,-1095999987)+W(5,1052111506,1013903280,-1131548857,1037344125)+W(6,-1136474287,1017687606,1027599892,1038451002)+W(7,-1112873934,1026946257,1007362713,1030395745);sum2=W(0,-1115357326,-1129481498,1037423788,-1149109833)+W(1,-1107237807,-1098320683,-1118016391,-1111060805)+W(2,-1098998597,-1104582263,-1098625511,1036322812)+W(3,1050926614,1045914812,1029306918,1035368549)+W(4,1033193484,1041990652,1052524895,1029624616)+W(5,-1102468922,1016354632,1029333966,1036818044)+W(6,-1119934044,-1109942748,1028176618,1032249206)+W(7,-1117055607,1026298641,-1116685452,-1113790705);WS(1066221936,-1112686252); +sum1=W(0,-1111426931,1049363148,-1090113310,1038796336)+W(1,-1102958241,1041899238,-1104001476,-1112879133)+W(2,1042737360,-1108750629,1053136109,-1095853365)+W(3,-1108890233,1023718298,1033191264,-1165972390)+W(4,1039181581,-1105687720,1051677110,1031102479)+W(5,1058267293,-1089545128,1047293124,1010166848)+W(6,-1110677245,1035534704,-1101864162,1019901392)+W(7,-1107302241,1048841797,-1106653499,989728967);sum2=W(0,1019579309,-1115216952,-1101014764,1035949455)+W(1,-1125343389,1020295703,-1107189524,1032252124)+W(2,-1121628281,1041466962,1044350744,-1096356807)+W(3,1019949697,1011899626,1020414781,-1108620092)+W(4,-1104132268,-1110659898,-1092586315,1067161402)+W(5,1044980625,1028945397,1024223321,-1106879950)+W(6,-1133616314,1046938970,-1089581193,-1097777539)+W(7,1025080038,1042942659,1000298789,1034429670);WS(1065647552,1042223795); +sum1=W(0,-1118213891,1047859212,-1102035956,1049817209)+W(1,-1136727619,1018314812,1048950515,-1111834851)+W(2,-1090185691,-1099254654,-1085546115,-1090115457)+W(3,-1086839140,-1089622500,-1103143659,-1088857895)+W(4,1054600851,1056675965,1052764224,1060918524)+W(5,1050058698,1053194074,1055030644,1046059111)+W(6,1042956769,1045938459,-1095542592,1048397149)+W(7,-1107166488,-1115710386,1046421002,1019098869);sum2=W(0,1038047795,-1100534663,1043709757,-1098906327)+W(1,1054998296,-1097979318,1042447686,-1135615252)+W(2,1045715537,-1109612723,-1109559353,-1088589586)+W(3,1046750383,1030039799,-1112135838,-1108474833)+W(4,1062099960,1074456323,1074047524,1061406543)+W(5,-1109444720,-1095255331,-1106577876,-1098188594)+W(6,-1074982428,-1071944747,-1086420775,-1087600981)+W(7,1058024333,1040647828,1042372587,1051479186);WS(-1099261566,-1102058551); +sum1=W(0,1037460750,-1118752449,1048855473,1046116085)+W(1,1041532007,1043443965,1035797482,1048656673)+W(2,-1099740733,1038344912,-1097823268,-1077722267)+W(3,-1086845489,-1109540512,-1112472539,1006300060)+W(4,1035868896,1028635221,-1135561696,-1089090112)+W(5,1054063629,1036245196,1039520068,-1115462467)+W(6,1046250530,1040547388,1049218244,1053686776)+W(7,1041462458,1041323791,-1116084210,1050214602);sum2=W(0,-1107023704,-1103130345,1025081245,1007138702)+W(1,1020633935,1042694232,-1116958023,-1117764771)+W(2,-1099880087,1049640504,-1099241173,1060797185)+W(3,-1096100738,1034621436,-1100840753,1051814059)+W(4,1047853298,-1100868353,1050410790,-1096656068)+W(5,1053061345,-1092716332,1057695342,-1092707384)+W(6,-1106650230,1035820630,-1111373979,1048085306)+W(7,-1098540289,1045275377,-1095110662,1026583068);WS(-1081437504,-1086037448); +sum1=W(0,1002898847,1034161364,-1097339820,-1102052735)+W(1,-1122224578,-1116847174,-1124219870,-1114337484)+W(2,1048903167,1048827465,1058952469,1062493730)+W(3,1056452878,1052097743,1046287775,1051622635)+W(4,-1098037791,-1110924302,-1089826679,-1082951605)+W(5,-1095802941,-1093057352,-1115921615,-1097214606)+W(6,-1124004134,1038960439,-1109622563,1046141833)+W(7,1037494008,-1142221339,1018754897,-1115514650);sum2=W(0,1026296217,1046658552,-1092482457,1048926974)+W(1,-1093986590,1051240634,1031417427,-1116201775)+W(2,-1098267531,1054123387,1031912087,-1103258874)+W(3,1064081451,-1081783631,1052301313,-1136084293)+W(4,1056065541,-1080723543,1068312252,-1095327126)+W(5,-1101319294,1054428583,-1095108256,1032992382)+W(6,-1107249906,1049528827,-1094476247,-1114829012)+W(7,-1110151549,-1109929036,1023898518,-1131461985);WS(1059931039,1045326059); +sum1=W(0,-1105339195,-1116497429,-1104905094,1048600749)+W(1,1017781140,1028510504,-1104151378,1006123003)+W(2,1027626820,-1102542884,1042432944,-1087368655)+W(3,-1090841955,-1098837680,-1135818261,-1102238241)+W(4,1035394960,1045819641,1050447189,1050459387)+W(5,1058872902,1038310627,1009721182,1039487803)+W(6,1020852317,-1110241387,-1120454715,1028063406)+W(7,-1135766366,1046575867,-1121800177,-1138241103);sum2=W(0,-1108715925,-1125695753,-1106861101,1037467647)+W(1,1049447879,-1108013135,1016159100,1025122350)+W(2,1033521028,-1107049318,-1126359337,1024736242)+W(3,-1096919459,1030099711,1038861546,1027296385)+W(4,-1130002309,1043711791,1069432650,1069236178)+W(5,-1089672176,-1104043463,-1102967963,-1115278753)+W(6,1043372642,-1096562690,1055907536,-1077602923)+W(7,-1079492159,1048192702,1041544949,1038199238);WS(1065273279,-1155200022); +sum1=W(0,1032043190,1042748400,1044363154,-1101712885)+W(1,1020290996,1042545917,1023679047,969146311)+W(2,-1110724474,-1113644224,-1103694886,1049530899)+W(3,1032343156,-1119655327,-1113927803,1014066252)+W(4,1048813356,-1113329098,-1138873982,1013956115)+W(5,-1088512539,-1118975351,-1112426340,-1102619473)+W(6,-1107914275,1017813644,-1119126921,1030506334)+W(7,1047677002,1035449518,1040385292,1037002750);sum2=W(0,-1105379539,-1114326988,-1128505094,-1127815582)+W(1,-1144273240,1011114412,1010998384,1008109660)+W(2,1040024171,1033596237,1027874005,-1090164335)+W(3,1026082941,-1098155637,1010514392,-1110656550)+W(4,1054804566,-1100858724,-1108932212,1015111122)+W(5,1057491035,-1123558275,1041639386,1025837089)+W(6,1020126178,1058095820,-1095228668,-1114002666)+W(7,-1109234902,-1117423595,-1148517800,1028462436);WS(1064822335,-1095840736); +sum1=W(0,1049019197,-1114924672,1006539024,1027273471)+W(1,1024001604,1023329786,1034076369,1032078653)+W(2,1056391992,1052717533,1053226600,1063307800)+W(3,1051465786,1056189595,1051405604,1049885284)+W(4,-1082098174,-1097259572,-1083318869,-1085358981)+W(5,-1093212548,-1096912972,-1097995110,-1090164049)+W(6,1047279757,-1158101509,1028150783,1048033194)+W(7,1040827508,-1122795750,1040247311,-1102713147);sum2=W(0,1044291516,-1105536143,-1123279074,-1102729189)+W(1,1019015608,-1098099014,1041233257,-1116414073)+W(2,1057945825,1059138923,1064153610,-1117658388)+W(3,-1082824416,-1088923796,-1114762777,-1093119165)+W(4,1075245425,1063262829,1058517731,1055818216)+W(5,-1095331241,-1082492094,-1084810008,-1076437009)+W(6,-1075047571,-1084742426,-1087050661,-1094508761)+W(7,-1107921801,1066223948,1065694420,1070896480);WS(-1090760447,1052695066); +sum1=W(0,1032827391,1004836815,1040820154,1033221771)+W(1,-1142824410,1019263487,1033909728,1030288497)+W(2,-1086160295,-1100507696,-1085279840,-1085951050)+W(3,-1090476887,-1096291378,-1104244158,-1096098979)+W(4,1058956361,1050270371,1061054293,1060000376)+W(5,1053225609,1052048107,1044967298,-1123372967)+W(6,-1122589400,1011775197,-1126907788,-1109718672)+W(7,1031459881,1014310644,1002236306,1050105184);sum2=W(0,-1115548553,1010795990,1025233265,-1108773712)+W(1,1028577219,-1123367926,1027045545,1016487959)+W(2,-1119133376,1054475337,-1126101085,-1096206384)+W(3,1025243447,-1123699076,-1116348436,1026289255)+W(4,1034230379,1049648601,1031862009,1056453743)+W(5,-1092511031,1040231624,1052333940,-1098871930)+W(6,-1106450540,-1130742967,1074765700,1076253468)+W(7,1067142167,-1082850789,-1074864896,-1066441953);WS(-1098442559,1026469881); +sum1=W(0,-1149983818,-1119522441,-1111872220,-1148708523)+W(1,1033974589,1034687077,-1121497336,1040191316)+W(2,1050517915,1049663660,1057681670,1054270423)+W(3,1065584902,1060962908,1043551013,1037520938)+W(4,-1114000872,-1102209381,-1097110004,-1080449641)+W(5,-1089390067,-1088971425,-1096207069,-1098201593)+W(6,-1106643136,-1107005098,-1107624656,1044397088)+W(7,1040137492,1011262833,-1152197144,-1111636393);sum2=W(0,-1093666199,1049995354,-1104373549,-1108191449)+W(1,-1086862321,-1109961150,-1105617480,1057348983)+W(2,1067471948,-1083836095,1067519925,1075025493)+W(3,-1079149522,-1092122258,-1118106953,-1090446878)+W(4,1044138823,-1089657247,1068116530,1070698122)+W(5,-1077256496,-1092830464,-1104600439,-1095892285)+W(6,-1087858714,1040673003,-1086283540,-1107890740)+W(7,1052510667,1044801958,-1113062539,1040940184);WS(-1089367999,-1080592817); +sum1=W(0,1050901372,-1142600967,1043029392,1042662963)+W(1,-1131715556,1028335344,1009439676,1040529906)+W(2,1020565079,1046045566,1051791856,1059303201)+W(3,1060541458,1057651322,1050310918,1061742083)+W(4,-1098563453,-1094642094,-1092783656,-1082254536)+W(5,-1088235102,-1083519131,-1088554180,-1084895582)+W(6,-1123752726,1032349343,1017360893,1040706037)+W(7,1038984656,1042767141,1039511244,1037250730);sum2=W(0,-1086948904,1044777691,-1085906527,-1107333159)+W(1,-1094251850,-1101622483,1054103540,-1095334551)+W(2,1072921984,-1096214776,1069427540,1069014322)+W(3,1068759557,-1095651744,-1080635176,-1071443034)+W(4,-1102597600,-1086612116,1055370552,1068187895)+W(5,1049876941,-1098339283,-1098368915,-1119710681)+W(6,-1081008410,1053678014,-1094318103,1040782350)+W(7,-1097053445,1052418274,-1116179967,1057760894);WS(-1072329816,1074376722); +sum1=W(0,-1119826815,1034466519,-1121811611,1040071236)+W(1,1034412551,-1125783811,1025497578,989295697)+W(2,-1097135645,-1100415357,-1123247055,-1078161261)+W(3,-1086793716,-1092987820,-1117997032,-1097292445)+W(4,1051061560,1050212013,1057003368,1050094223)+W(5,1060987117,1053182609,1030369595,1040352158)+W(6,1001332238,1009264740,-1119531350,1047608180)+W(7,-1139666027,1053959834,-1130537576,1003451511);sum2=W(0,1010850411,-1119692159,-1110113403,1041465994)+W(1,1019542894,1041361680,-1128076954,1035827461)+W(2,1033963983,1024673399,-1107122545,1041917938)+W(3,1031918417,1016152214,-1119110501,-1108745692)+W(4,1041326744,-1126975570,1049177676,1075051781)+W(5,1057547658,-1100210466,-1101468559,-1111890885)+W(6,-1110591524,1039643589,-1098235771,1061676083)+W(7,-1072022345,-1080793678,1038326573,-1115279667);WS(-1089734463,1065567745); +sum1=W(0,-1115310942,1048676446,1051913151,1041943745)+W(1,1032260949,-1123414147,1025799735,-1118314271)+W(2,-1089748010,1033541431,-1091844976,-1078026925)+W(3,-1083863979,-1088695462,-1097284573,-1090712276)+W(4,1053493076,1047890913,1060749357,1057682191)+W(5,1060855949,1057895644,1049355215,1052101531)+W(6,1041536229,-1111760907,1031051700,1033727319)+W(7,-1117552023,-1123512523,-1134918146,1037093278);sum2=W(0,-1087048499,-1089227831,-1081828818,-1106022394)+W(1,1057638724,1053589051,1030725267,1050363813)+W(2,1067110585,-1073947481,-1100054441,1057992187)+W(3,-1096117153,1049824990,1008667589,1047082764)+W(4,1062551012,-1107011493,1044700801,1053279159)+W(5,1047077354,-1098858111,1055551992,-1093863007)+W(6,-1088705293,1063056164,-1091908804,1049660447)+W(7,1041467137,-1112699600,991046018,-1118599281);WS(-1079109040,-1085312521); +sum1=W(0,1023769582,-1140282322,-1105105824,1041551140)+W(1,1030694836,-1111084358,955351653,-1133450021)+W(2,1037365911,-1117579705,1052645482,1061549365)+W(3,-1092653220,1050958145,-1113919416,1047664699)+W(4,-1113299189,1042794748,-1086336671,-1087637436)+W(5,1051894263,-1111723928,1039072513,-1111528112)+W(6,-1127522065,-1098682508,1041518392,1049784787)+W(7,-1104535548,-1112540051,997865134,-1121426302);sum2=W(0,-1112127727,1037755147,-1117076760,-1096944427)+W(1,920706880,-1126463908,1025583781,1016301114)+W(2,-1182735741,-1116775242,-1110833901,1050960349)+W(3,1057824022,1025802869,-1117624689,-1106817101)+W(4,1027967369,-1108084106,1047419656,1057406540)+W(5,-1106635563,1030718323,-1129307942,-1146210056)+W(6,-1099828018,-1106208929,-1106621688,-1093670465)+W(7,1046907280,-1104727129,1024731263,-1133403952);WS(1066445424,-1114782683); +sum1=W(0,-1105169880,1037849343,-1111719878,1053025475)+W(1,-1106443352,-1118185334,-1115180998,-1104379365)+W(2,-1110498524,-1092096849,-1089773556,-1093199580)+W(3,-1085224723,1017432168,-1097477655,-1120659192)+W(4,1042140161,1045982494,1059787797,1058443885)+W(5,1058982105,1051015495,1049335790,1047806371)+W(6,1033176686,1027992139,-1104315937,1034263873)+W(7,-1099213011,1015617473,-1134277975,-1124174113);sum2=W(0,1035156885,1010861092,1053142713,1050643378)+W(1,-1093995815,-1100307988,-1094190457,-1095534688)+W(2,-1104443938,-1111353322,-1092519845,1033492110)+W(3,1061622434,1045835461,1054276307,-1118030035)+W(4,1020765936,-1131256669,1043066295,-1093594884)+W(5,-1090891830,1051701313,-1115303200,1044764145)+W(6,1034215267,-1119467871,1043572605,-1120345789)+W(7,1035132204,-1120193257,-1107758441,1010759898);WS(1053797695,1034928741); +sum1=W(0,-1113709609,-1101985872,-1098832221,-1106547453)+W(1,1032341932,1038712045,1020651977,1037110646)+W(2,1027306577,1036410350,1048222316,1049396519)+W(3,-1093507345,-1098128846,-1102358117,-1095739626)+W(4,-1089618673,-1094568298,-1089721378,1057932790)+W(5,1051551069,1042310981,1032076306,1049811664)+W(6,1039738506,1041675949,1049870789,1032602030)+W(7,1041034929,1020376402,1038606871,1036847389);sum2=W(0,-1107569978,1048834253,1032955728,1047116738)+W(1,-1095875849,1024141754,-1117854930,1031286951)+W(2,-1096371488,-1100415470,-1097656368,1057366407)+W(3,1049724515,1047568587,1025784853,1040928209)+W(4,-1091206842,-1140716449,-1099982688,1067804624)+W(5,-1107732848,-1101898886,-1104360749,-1099991629)+W(6,-1113379832,-1098639187,-1102236471,-1112454303)+W(7,1037256860,1039735469,1034482735,-1122662653);WS(-1100599294,-1113486107); +sum1=W(0,1041832895,-1113994869,-1101582062,-1100675730)+W(1,1015862616,1033573462,-1123901241,-1147102474)+W(2,1058015130,1043005476,1065539217,1054749782)+W(3,1046936430,1043027144,-1122192647,1047923809)+W(4,-1095482492,-1095369841,-1088297536,-1085935041)+W(5,1054414015,-1096194081,-1118572185,-1106262926)+W(6,-1123207408,-1120610968,1040056719,-1111595960)+W(7,-1110844045,1041950395,1007333963,-1097939280);sum2=W(0,1033496750,-1118187780,1041080086,-1102935461)+W(1,1023898015,-1122438380,1007185073,999989929)+W(2,-1105017139,1043450683,-1106458832,1057933296)+W(3,-1098239652,-1111698692,1023645924,1034431733)+W(4,-1118941046,-1142467441,-1096734279,1063076098)+W(5,-1119844388,1048742138,-1096898561,-1090457759)+W(6,1012703263,1009095593,1025973118,-1089439993)+W(7,-1124882200,1004297609,1046154393,1048791679);WS(1058454143,-1086058342); +sum1=W(0,-1115074879,-1099743710,-1103933280,-1113530407)+W(1,-1124606630,-1115568198,-1123572016,-1118699368)+W(2,1051341170,1054019099,1057240637,-1085932301)+W(3,-1090466976,-1097279225,-1108988935,-1095706385)+W(4,-1123276713,-1112675511,-1095853513,1048593300)+W(5,1059272419,1052135974,1039376368,1041536544)+W(6,1040408770,1042487060,1044345774,1034191179)+W(7,-1105205160,-1111240730,-1135917288,1043157563);sum2=W(0,1047642666,-1094360366,-1111839157,-1101124559)+W(1,-1119401007,-1114275291,1010413358,1018914035)+W(2,-1106684338,-1104496052,-1101578828,1062389037)+W(3,-1099504899,-1102577927,-1121638606,-1100286365)+W(4,-1097565895,-1137000462,1017360469,1056361687)+W(5,1057357121,-1111580608,1047557438,-1108198790)+W(6,1038757740,-1120606628,1043520604,-1110716481)+W(7,-1121032787,-1174578992,1020758339,1031842399);WS(-1116191222,-1087222261); +sum1=W(0,1051378220,1026061480,1051132746,-1131139769)+W(1,1029438530,1010253799,-1140691900,1032111196)+W(2,-1092140039,1041212802,1028855632,1054776996)+W(3,1052461054,1056191968,1041996679,1051463563)+W(4,-1098282527,-1108686318,-1114615088,-1096808426)+W(5,-1090181940,-1089672580,-1095415146,-1084069643)+W(6,-1115126509,1018050395,1028919646,1031880915)+W(7,1047407636,1041055121,1025713945,1049760258);sum2=W(0,-1120688670,988781159,1023531678,1034244658)+W(1,1038669521,-1125227753,-1122152897,-1123518214)+W(2,1075791226,-1079951996,-1080919050,-1078043585)+W(3,1061514147,1050383220,1043495776,1056154705)+W(4,1072772368,-1096143661,-1087274515,-1074830486)+W(5,-1138433181,-1091737459,1043710967,1064633897)+W(6,1033088733,-1126178338,1039982901,-1153355920)+W(7,1047086021,-1117938706,1036258954,-1090859740);WS(-1086114623,-1084816591); +sum1=W(0,-1119067590,1041053515,-1123050946,1050414506)+W(1,1017204584,1033253648,-1109025761,-1142909644)+W(2,1036163639,-1112478813,1045609440,-1091176571)+W(3,-1096458464,-1092456237,1039781304,1019336538)+W(4,-1106221778,-1114565991,-1102274148,1041957568)+W(5,-1140250052,1042499428,1024592194,-1110741472)+W(6,1015833809,1041839788,1038604869,1049671879)+W(7,1016035267,1004159150,1019624502,1038938427);sum2=W(0,1006657945,-1145756082,-1102183527,1043063832)+W(1,1048257970,1030027167,-1129422896,-1120006792)+W(2,-1115603798,-1129023472,1024575987,-1070476153)+W(3,1078068971,1034687231,1014471457,998969122)+W(4,1043167348,1029036192,-1134024937,-1079118960)+W(5,1058188063,1026633068,-1138449465,1035752331)+W(6,1032033598,-1122908214,1013148193,-1117007948)+W(7,1026806223,-1106350665,1037397710,-1119066852);WS(1058895967,-1115291633); +sum1=W(0,-1125313920,-1110715998,-1110540830,-1093243535)+W(1,-1098773368,-1114664694,-1108229374,-1128878150)+W(2,-1118075736,1028840739,1050429809,1056177832)+W(3,1050921353,1021103494,1039051533,1048765371)+W(4,-1101537045,-1106860038,-1109809347,1062536899)+W(5,1050429425,1042267175,-1104944731,1019165331)+W(6,-1102743433,-1113756805,-1112821659,-1094426092)+W(7,-1112140166,-1105504016,-1123143221,-1113092552);sum2=W(0,-1118991740,1035161218,1031409558,1025873763)+W(1,-1130385854,-1109675818,1035221069,-1106515599)+W(2,1049660250,-1092533458,1052404039,1059098325)+W(3,1035329255,1033133876,-1100849576,1041079456)+W(4,-1072802862,-1084844108,1059153934,1066715964)+W(5,1054800035,-1121630224,1017402854,1051036492)+W(6,-1093107290,-1131472334,-1099814906,1050189246)+W(7,1033113369,1032032260,999987753,-1109656332);WS(-1088275071,-1079832501); +sum1=W(0,-1121609972,1054795207,-1091175970,1036185063)+W(1,1036253081,-1095852779,1056993046,-1099614386)+W(2,-1140631216,1001216956,-1109051587,-1108520810)+W(3,-1112588624,-1111932116,1018114011,-1114447781)+W(4,1031902612,1053928586,-1100362195,-1118566269)+W(5,1050418310,-1106845532,1057036918,-1106898567)+W(6,-1114449795,1049117898,-1089874193,1024185910)+W(7,1033419200,-1098704820,1052334541,-1103629998);sum2=W(0,1034198694,981839325,1050051875,1043520387)+W(1,-1099547613,1020237946,-1112528204,1032634213)+W(2,-1099753021,1036479145,-1087878645,-1099082069)+W(3,1049181233,-1106552091,1051666481,-1105193718)+W(4,1052074243,1033443852,1061175239,1044393022)+W(5,1036533430,-1125692060,-1100952955,1038429221)+W(6,-1101897553,-1125560160,-1090657055,-1126528836)+W(7,-1113239720,-1111189720,1038783930,-1110455840);WS(1055684799,1057467177); +sum1=W(0,-1115635180,1040983065,1033664034,1047016048)+W(1,1040303666,1031194256,1036112338,1031542812)+W(2,-1084593518,-1097583958,-1088354001,-1083875169)+W(3,-1089538899,-1090088564,-1096939300,-1092334596)+W(4,1057349085,1048845932,1059080519,1057461395)+W(5,1055847004,1052697432,1050363555,1025617138)+W(6,1044528285,-1108137881,1042415046,-1130549589)+W(7,1025308788,1040121956,-1124884732,1051059157);sum2=W(0,1039076253,1043377438,-1111770710,-1129064764)+W(1,1041506513,-1117340191,-1113661124,1006037802)+W(2,1084724252,1057352437,-1070809771,-1070013447)+W(3,1024963427,-1115045950,1037860995,-1120758055)+W(4,1055999642,-1108204793,-1115649819,-1084654208)+W(5,1027889169,1023558847,-1108774739,1034794526)+W(6,-1111202323,982595482,1026864091,1008953953)+W(7,1041107952,-1112891517,-1161342746,1036271073);WS(-1089965247,1033154456); +sum1=W(0,-1118330000,1043361746,1028536899,-1106541856)+W(1,-1103233833,1037178020,-1122355891,-1148310999)+W(2,1037068672,-1091726905,-1106295439,-1087991002)+W(3,-1094017778,1026207675,-1102222128,-1106998176)+W(4,1043453383,1027410848,1047994631,1053447482)+W(5,1058853977,1049286760,1044913013,1056026770)+W(6,-1112803845,1030795409,-1111747193,-1109712917)+W(7,-1110327970,-1111739348,1037236782,-1104668925);sum2=W(0,-1104081637,-1115350296,-1102551062,1033477476)+W(1,1048930937,-1092653578,1049862570,-1095610208)+W(2,-1104712414,1065017407,-1101193417,1054909386)+W(3,-1096226206,-1094950793,1042131871,-1100838677)+W(4,1038273275,1027805677,-1097697554,1069044481)+W(5,1051154993,-1097937335,-1115393002,-1090656582)+W(6,-1102746442,1038124336,1025981021,-1090398660)+W(7,1049254524,-1111378843,-1100983150,1038627466);WS(1053522367,-1088249107); +sum1=W(0,1041083642,-1109062519,1041255149,-1129341567)+W(1,-1122816004,1034422596,-1105678140,1002201935)+W(2,1049354980,1050121221,1062047573,1050256849)+W(3,1058306025,1054029415,1043380368,1057986114)+W(4,-1104528935,-1089361286,-1094323010,-1085946707)+W(5,-1092704114,-1096738148,-1095183726,-1098664466)+W(6,-1116245577,-1108913352,1044478835,-1106612546)+W(7,1010650184,-1127765836,1004046811,-1116617606);sum2=W(0,-1115691041,-1122196578,-1133382325,-1119943136)+W(1,1035619338,1026693101,-1121646682,1035287249)+W(2,1047105417,1040512713,-1115639944,-1093984910)+W(3,-1128164365,-1112542694,1040561229,-1122951759)+W(4,1066880006,1072356775,1070833917,-1106032356)+W(5,-1084317659,-1103058628,-1106694088,-1109474775)+W(6,-1078420733,-1074089832,-1079250237,1053171659)+W(7,1063302165,1050228647,-1111273903,1041535222);WS(1054980735,-1118400611); +sum1=W(0,1023857233,-1136534172,-1109579886,1024279465)+W(1,1031638446,1042081899,1025101580,1037741818)+W(2,1056052581,1054619866,1062631892,1063340895)+W(3,1054891904,1032051762,1036582853,1040187076)+W(4,-1108899938,-1084632317,-1087670245,-1087714282)+W(5,-1089981519,-1091518889,-1100292439,-1096282711)+W(6,-1098911041,1014993130,1019079234,984908360)+W(7,1040973935,1034243544,1038263499,1035333164);sum2=W(0,1048663857,-1115607290,1050959246,-1094885185)+W(1,1032263390,-1094433235,1034671855,-1100445080)+W(2,-1103126769,-1089284711,-1106476140,1065597134)+W(3,-1114774312,1044112203,-1110680696,1044150663)+W(4,-1090522781,-1135630263,-1116194786,1068281966)+W(5,-1114594327,1034641663,-1120338125,1039802827)+W(6,-1135969141,-1096474341,-1110761886,-1097679100)+W(7,1030603925,1025157613,-1121778209,-1101519530);WS(-1099426814,1028666567); +sum1=W(0,1017347599,-1114817850,-1102332157,1038414608)+W(1,1040863441,1043586729,1033560385,1024225691)+W(2,1050515008,1054909169,1058789976,1049870885)+W(3,-1096181150,-1094822147,-1110297504,1035801215)+W(4,-1097546199,-1091252816,-1088740593,1026332624)+W(5,1050979384,1046083753,1043042893,-1106319780)+W(6,-1122852442,1034424401,1040697053,-1119196265)+W(7,-1096850298,-1101867410,-1112505198,1022200238);sum2=W(0,1032296335,-1113414658,1032045591,-1096252543)+W(1,1039836782,-1130462124,1032505935,1017080436)+W(2,-1113854030,1056314261,1056282685,-1076472908)+W(3,1041975936,1060789196,-1113045826,-1114544525)+W(4,-1123218166,1057288090,1048444709,-1076465599)+W(5,1054239999,1064414385,-1101415652,1017354944)+W(6,1034439881,-1106401889,1027355020,-1099548772)+W(7,1041344971,-1137373456,1031341874,-1131418272);WS(1048405758,1021439377); +sum1=W(0,-1095783591,1004365570,-1111296393,-1090472608)+W(1,1053249340,-1096289768,-1116930177,1031327257)+W(2,1056714988,1053912029,1060368018,1058906144)+W(3,1059710205,1050004859,1050104788,1057263364)+W(4,-1095028931,-1097931508,-1093355890,-1084869763)+W(5,-1111710658,-1089344390,-1098648430,-1095692170)+W(6,-1099026446,1040281084,1042667324,-1099317986)+W(7,1058667863,-1094050929,1032145973,-1127343131);sum2=W(0,-1137650289,-1108324664,-1107068637,1053004242)+W(1,-1096186406,1044011702,1031462490,1016473473)+W(2,-1102128439,1038586891,-1102631398,-1096144010)+W(3,1065778432,-1087564484,1041037240,-1095964556)+W(4,1065729447,1042582877,1055966210,1066736444)+W(5,-1077760412,-1109340585,-1088233524,-1079487884)+W(6,-1085103011,-1096095433,-1096657292,-1084794119)+W(7,1061684194,1053274132,1060428365,1070082531);WS(-1120621558,-1109747932); +sum1=W(0,1041405257,1034046808,-1118447615,1031113092)+W(1,-1118172841,1039149197,1025628006,1023987646)+W(2,1056552380,1057052863,1034826244,1061462741)+W(3,1057041023,1051800560,1051243933,1054503948)+W(4,-1086075216,-1102283433,-1089852749,-1087896594)+W(5,-1089300195,-1089266110,-1098077639,-1098034299)+W(6,1021959803,1009707220,1002695151,1030648525)+W(7,1017359341,1034838445,1033512688,-1099231069);sum2=W(0,-1072120352,-1071453180,-1069998225,-1071241469)+W(1,-1073669228,-1079882002,-1086087106,-1096258120)+W(2,1076686179,1075980741,1075876198,1076219984)+W(3,1072219376,1071235859,1056170781,1057784547)+W(4,-1096491690,1055107632,-1100816518,1048961210)+W(5,-1123192163,-1097056656,1049622318,-1098632303)+W(6,-1109988374,-1125676035,1033428305,1018908197)+W(7,1040773271,-1129279043,1030403985,-1116156171);WS(1014286296,1057122707); +sum1=W(0,-1100574608,-1134927261,-1096946922,-1115033128)+W(1,-1104533485,-1121259095,-1131995140,-1118839498)+W(2,1045128364,-1112841149,1023155519,-1094208427)+W(3,-1099169249,-1097752701,-1111007544,-1093400894)+W(4,1045637171,1041785732,1051848326,1066937726)+W(5,1058599142,1049921902,-1118760834,1043420320)+W(6,-1113867461,1021982785,-1106336253,-1099783438)+W(7,-1105189673,-1131816685,-1114789302,-1116552190);sum2=W(0,1049653051,-1094509070,1050525055,-1103662151)+W(1,1043452805,-1102028885,-1109754017,-1111709279)+W(2,-1095117458,1054995367,1042728281,1058124872)+W(3,1049859565,-1097129382,-1098619851,1051259496)+W(4,1052542945,1021265631,1046926465,1063131010)+W(5,1029162962,-1116537562,-1092457406,-1078653130)+W(6,1018695699,-1101605993,1044635344,-1104882803)+W(7,1042944443,-1110047725,-1107003327,-1114867517);WS(-1089617919,-1078924764); +sum1=W(0,1038586191,-1112517470,1021690773,-1148410045)+W(1,-1123773533,1037589846,-1114886949,1015916580)+W(2,1054651431,1043170193,1058605998,1062049174)+W(3,1056236357,1058401044,1034515388,1056139353)+W(4,-1087542485,-1101086846,-1088163691,-1087004528)+W(5,-1089020247,-1089711896,-1095006441,-1089662071)+W(6,1032587193,-1121720345,1034793549,-1139319682)+W(7,1040971627,1052009144,1017461287,-1138694970);sum2=W(0,1041183203,-1109901203,1047303939,-1146453442)+W(1,-1103370030,1035308463,-1107592095,-1129723226)+W(2,-1104791361,-1103309504,-1109225788,1050748307)+W(3,1032462009,1055570013,-1104507532,1050955773)+W(4,-1113641717,1018299463,993644855,1050538753)+W(5,1024125183,1058013570,1044744090,-1110543421)+W(6,1040266660,-1124518657,1039912380,-1107008276)+W(7,-1094411631,-1087158984,-1091454514,-1122733934);WS(-1102088830,1068463311); +sum1=W(0,1007817678,-1114291787,-1106493040,-1121377148)+W(1,-1120569345,1037434082,-1121570543,1048479966)+W(2,1054791531,1051084317,1059023407,1060487316)+W(3,1053262386,1049438849,1043319351,1037267389)+W(4,-1088166471,-1097682087,-1087032011,-1087032009)+W(5,-1090195409,-1104445288,-1110294871,-1112047510)+W(6,1034628887,-1130503387,1042839161,1025313797)+W(7,1040112167,-1112558866,-1130274577,-1107488086);sum2=W(0,-1092702026,-1078842502,-1073165872,-1075365553)+W(1,-1101579557,1066341075,1071992070,1076187261)+W(2,1046572938,-1092761370,1048469719,1050413401)+W(3,-1110447061,-1104166524,-1123716833,1056626852)+W(4,-1113806693,1010298098,-1106037347,1041503306)+W(5,1037192623,1033398310,1031702363,-1110743783)+W(6,1023924734,-1134107544,-1114438827,1017902665)+W(7,1011674154,-1109271682,1028552632,-1123830383);WS(1050299903,-1120086405); +sum1=W(0,1001761330,1051426245,-1097473350,1050955122)+W(1,-1098718343,-1119699408,1038117517,-1107622229)+W(2,1015037916,1042953374,-1103780307,-1082933123)+W(3,1055455844,-1145769035,-1132909758,1039587926)+W(4,1045981578,-1094503950,1055197076,-1099126616)+W(5,-1118831961,1049761702,-1105955296,1047033256)+W(6,1032160884,-1131440192,-1100940622,1056645367)+W(7,-1095742542,1031622998,1041481643,-1103124921);sum2=W(0,1033493706,1004282338,1032395114,1035721710)+W(1,-1138557465,-1094630455,1050323990,-1102984389)+W(2,-1100025935,1036668146,1043333590,1058018229)+W(3,1035348312,1040910383,1034465026,1044530527)+W(4,-1117747708,-1097774825,-1106149887,-1110236537)+W(5,-1105971349,1017216296,-1110352462,-1108832665)+W(6,-1131691420,1042472719,-1122758767,-1106477628)+W(7,1046834331,-1101697584,1040100106,-1099114129);WS(1059761855,-1093333930); +sum1=W(0,-1114738580,-1114617627,-1102727321,1053910378)+W(1,-1094270689,-1107452471,-1130455238,-1108958070)+W(2,1026403632,1045397583,1028768699,1067649611)+W(3,-1104323849,1042776267,1036450873,1044075076)+W(4,-1105736123,-1109519752,-1092041414,-1090720496)+W(5,-1112030179,-1103704317,-1131764742,-1106063752)+W(6,-1114933837,1044731740,-1111636685,1058839312)+W(7,-1095377736,1034877772,1031929286,-1113359528);sum2=W(0,1033753751,-1102724392,-1104466296,-1083668043)+W(1,1048180527,-1130490520,-1103926430,1029490699)+W(2,-1111931472,1032416705,1029992729,1069568682)+W(3,-1114422988,-1133345747,1038116955,-1129834714)+W(4,1037689465,-1105246922,1052475163,-1090236396)+W(5,-1122305941,-1123788932,-1127253836,-1122171294)+W(6,1023732592,-1126463180,-1118149766,-1106129378)+W(7,1038071226,-1124715334,-1117123194,1029091180);WS(1058247519,1058950523); +sum1=W(0,-1149972914,1038957612,1039970419,1008158544)+W(1,1041515382,1036144305,1048236362,-1101573740)+W(2,-1088063023,-1093535488,-1086741707,-1077128706)+W(3,-1087332234,1032313207,-1113848378,-1089306475)+W(4,1055543086,1052729022,1058924163,1057693884)+W(5,1060656868,1056531259,1049522521,1052006205)+W(6,1037155715,1026693813,1030719286,1032127358)+W(7,1000958261,-1112386573,-1144612480,1039554949);sum2=W(0,1037957789,-1128637884,-1110859440,1052981065)+W(1,1040710261,-1090346288,-1107045102,-1092015484)+W(2,1050553491,1004874497,-1106433025,1058989771)+W(3,1058251934,-1076253449,-1079150504,1073146781)+W(4,-1089722328,1058234547,-1098594890,1052545864)+W(5,-1106724054,1032950959,1055215751,993278274)+W(6,1050994656,-1095571828,1041665953,-1129708900)+W(7,-1111634443,1015279680,1053553553,-1088813426);WS(-1079689312,1054955487); +sum1=W(0,-1112827293,1038847520,-1106748654,1038138418)+W(1,1035397268,1020226162,1030022886,-1108673687)+W(2,-1094091800,-1099397203,-1102151838,-1086663035)+W(3,-1087965823,-1095805620,-1098762192,-1096846716)+W(4,1053343716,1057879171,1023820222,1057249493)+W(5,1057985827,1053821069,1051466543,1049463311)+W(6,1046408387,-1099233409,-1154890390,1012875058)+W(7,-1109124523,-1126965269,1036334304,1027304762);sum2=W(0,1029906557,-1110945783,1046588193,-1121400966)+W(1,-1106274145,1040948990,-1114149785,1030737726)+W(2,-1118908362,-1110004947,-1089040350,-1106443118)+W(3,1054044230,-1115139995,-1112260837,1025987216)+W(4,-1075330978,-1081100797,-1089891752,-1103643831)+W(5,-1095873523,-1120742988,-1107023588,1017833328)+W(6,1069116571,1067844910,1066162938,1048795077)+W(7,1049522444,1042365723,1011222152,1031208089);WS(1045323518,-1099573370); +sum1=W(0,1043494028,-1110296205,-1129034139,1040205415)+W(1,1019451328,1037480760,-1144942569,1019441962)+W(2,1054678847,1050638833,1058657792,1062545342)+W(3,1053087270,1054717567,1044080591,1056118375)+W(4,-1087400961,-1098183847,-1085969705,-1082320511)+W(5,-1092792902,-1090230188,-1094581114,-1090342307)+W(6,1041221965,1038272854,1035507984,1038672050)+W(7,1018934299,1028598065,1032398451,-1135273190);sum2=W(0,-1115726367,1028786141,1044450180,-1097529180)+W(1,1047479398,-1105649332,-1127420023,1035799966)+W(2,-1100272494,-1113941052,-1104186275,1042859033)+W(3,-1097402721,1051025911,1025042835,-1139194229)+W(4,1026681555,-1107020345,1044693748,1067055887)+W(5,1064288021,1073649944,1067916626,1054550763)+W(6,-1095030133,1043410282,-1120312046,-1093369648)+W(7,-1083945294,-1073003592,-1079526678,-1086831079);WS(-1086660959,-1095040438); +sum1=W(0,-1137772688,-1103872010,1033664792,-1114303830)+W(1,1043631948,-1110960013,-1112201312,1004207675)+W(2,-1101831491,-1108733164,-1099393082,-1091611870)+W(3,-1111668992,-1092153253,-1104258339,-1111896549)+W(4,1047762270,1048734598,1053294440,1032897582)+W(5,1054700448,1051790266,1038982672,1042342295)+W(6,1026497863,-1112526127,1036444877,-1105948909)+W(7,1045765800,-1102627253,1030853145,1024477884);sum2=W(0,1047134358,1032860761,1058187056,-1089859690)+W(1,-1073724300,-1113017653,-1123513506,1005834992)+W(2,-1100773581,1019143260,-1086969962,1060822499)+W(3,1074524802,-1127402252,986153015,1026902445)+W(4,1038575217,-1097448906,1050436365,-1092585260)+W(5,-1097001013,1052022456,-1101541136,1040058169)+W(6,-1121016162,1027754828,-1118814167,1047705700)+W(7,992280012,-1115523910,1026625966,-1115254226);WS(1065625968,1033455989); +sum1=W(0,1037701789,-1137040283,1000406064,-1094784938)+W(1,1050863995,-1103592251,1032127959,1038622703)+W(2,-1151616802,-1099349487,1047711372,-1115632781)+W(3,-1088133648,1049293870,-1118922740,-1120882929)+W(4,-1102944307,1053320242,-1098462560,1053161728)+W(5,1049613697,-1128175786,1017489163,-1119810116)+W(6,1035789757,-1106274637,1048627484,-1098374228)+W(7,-1120581030,-1114622845,1038993832,-1165953346);sum2=W(0,1035866397,-1103116216,1059558286,1058384307)+W(1,-1096953271,1042132369,-1111426470,-1128202268)+W(2,-1099238508,1047962584,-1082734190,-1088122523)+W(3,1056069525,-1106560803,1038442279,1028886015)+W(4,1052038184,-1105248240,1057669233,-1091086098)+W(5,-1083280561,1032403631,-1104452063,-1150402298)+W(6,-1107491561,1027069673,-1098068789,1053762892)+W(7,1064349048,-1107462772,1040922744,1012204557);WS(1066439152,-1108830929); +sum1=W(0,-1102916748,-1108788820,-1097607254,-1099017414)+W(1,-1168846782,-1109193920,-1128476473,-1106724277)+W(2,1055608939,1051866141,1058768962,1030462560)+W(3,-1113005110,-1109987210,-1109670205,-1105116142)+W(4,-1103898045,-1097938907,-1093577324,-1125603603)+W(5,1040477611,1050862423,1039038758,1053895221)+W(6,1013732302,1035488645,1043113957,1027216291)+W(7,-1143171172,-1118580993,-1107320747,-1107171108);sum2=W(0,1050905005,1051922636,1052154527,1005525738)+W(1,1024591478,-1094205878,-1094330307,-1105421569)+W(2,1051409035,-1107944278,1040207956,1060123319)+W(3,1032045878,-1096175996,-1086096303,-1081193369)+W(4,-1123874142,-1131839644,-1100926997,1046139234)+W(5,-1113252250,1039675350,-1128729660,1062516858)+W(6,-1099079861,1035659117,-1109355656,1029590720)+W(7,1032543174,1044310065,-1129395200,1042520685);WS(-1094347903,1040885342); +sum1=W(0,1027015666,-1097151811,1050782150,-1106442815)+W(1,1051184308,-1091810963,1034433919,1042242605)+W(2,-1119901274,1047615033,-1115052947,1051587896)+W(3,-1105704339,1046407197,1009768300,-1122889273)+W(4,-1109404651,1051228067,-1096976391,-1096200649)+W(5,-1126487153,1040585575,-1132445914,-1108464678)+W(6,-1145327523,-1096635113,1048638245,-1105180361)+W(7,1051518582,-1092825760,1038762547,1040013733);sum2=W(0,-1121205117,1031829824,-1105324964,-1090390675)+W(1,-1110420773,1018005966,-1113281242,1032068637)+W(2,-1124056141,-1109805410,1045427632,1059020251)+W(3,-1107061510,-1118368537,-1115675784,-1113920834)+W(4,-1106581817,1007706034,1046732003,1057752640)+W(5,-1101115525,-1103994134,1036673543,1042522746)+W(6,1026565438,1029970286,1047283254,-1089850616)+W(7,1031976810,1036394258,-1112565336,-1145818031);WS(1066366016,-1121083386); +sum1=W(0,-1127500850,-1122305754,1025706181,-1104671484)+W(1,1043832110,-1111488580,-1123271764,1015742169)+W(2,1026624689,-1114017662,-1088657475,-1098749979)+W(3,-1085705014,1037547214,-1112264441,-1105147876)+W(4,1013565235,1052467062,-1121688536,1066224034)+W(5,-1112016562,1041900405,1043675185,1022047173)+W(6,-1127181143,1035730049,1045310349,1026340635)+W(7,-1121566277,-1127673329,998683632,-1132045794);sum2=W(0,-1102951634,1044058166,1037657608,-1091261805)+W(1,1057746121,-1106029228,1006392595,-1119100020)+W(2,1043023116,-1093545812,-1093647750,1070997171)+W(3,-1082044166,1051593249,-1100798567,1013819138)+W(4,-1104735391,1058451408,-1104370519,-1105620254)+W(5,-1091103100,-1096225251,1052307063,-1121077487)+W(6,1035018995,-1112978123,1043811519,1052846459)+W(7,-1097428497,-1127092852,-1107453736,1041369362);WS(1059191103,1030618557); +sum1=W(0,1034200101,1053678608,-1114145283,1047695489)+W(1,-1114663316,-1137634576,-1125278731,-1138534517)+W(2,1032351793,1049973094,1058794603,1053292689)+W(3,1055818163,1053263444,1041016873,1043320696)+W(4,-1100440271,-1098031908,-1087452589,-1078695803)+W(5,-1125225546,-1094543429,-1116533557,-1104858229)+W(6,-1148363237,1026486548,-1194991971,1043453347)+W(7,1033675947,966472909,-1115520783,-1119664758);sum2=W(0,1021496216,-1072453458,-1079530578,1063841069)+W(1,-1095958945,1042172731,1015153576,-1132334880)+W(2,-1095812325,-1094113031,1068683999,1074699170)+W(3,1043477830,1031880682,-1121439437,-1115200049)+W(4,-1116672596,-1112299630,-1135088113,-1126165044)+W(5,-1107446259,-1119142347,1037216194,1034903618)+W(6,1031503244,1023122856,1036078566,1036242384)+W(7,-1100441243,1009915385,-1114450875,1017712520);WS(-1096433855,1052342409); +sum1=W(0,-1117693364,1041070378,-1105417036,1052133240)+W(1,1042648272,-1123398616,1044512510,-1105041790)+W(2,1042163431,-1095385709,1060080198,-1090036408)+W(3,-1090327769,1043184694,-1111854479,1043408999)+W(4,1006023611,1034697390,-1109633387,-1085473397)+W(5,1057448056,-1105658040,-1104977148,1041051171)+W(6,-1113444755,1049542464,-1112382959,1048891757)+W(7,-1111238376,-1106505885,1049508979,-1110665802);sum2=W(0,1039259027,-1119373866,-1086821333,1052826002)+W(1,-1117342490,1036052293,1037381955,-1101694007)+W(2,1043188759,-1082984200,-1077733706,1067327309)+W(3,-1149070344,1052358305,-1102382047,1050777563)+W(4,-1165551167,-1105050294,-1103802686,1068967257)+W(5,1054626023,-1101813629,-1103461210,-1106555317)+W(6,-1113326246,1045229872,-1109909290,1052700624)+W(7,-1098764713,-1099183932,1052205497,-1096821402);WS(1046655614,1069864308); +sum1=W(0,1035633391,1040943483,1045417382,1043913370)+W(1,1050212129,1047844019,1039058852,1043891960)+W(2,-1106200785,1031319761,-1120751363,-1093886310)+W(3,-1098821847,-1088130094,-1092291401,-1082722808)+W(4,-1105260712,1026979270,-1106053451,-1121044950)+W(5,1042106970,1049054225,1041620790,1042598038)+W(6,1050507575,1034433460,1045765948,1041581532)+W(7,1029812249,1017929306,1028938706,1034869942);sum2=W(0,-1098805029,-1101136548,-1094351375,-1097728468)+W(1,1040878916,1049713965,1037060075,1058810464)+W(2,-1082465618,-1084472150,-1085764460,-1140347496)+W(3,-1100091144,1049328541,1062808960,1071144827)+W(4,1017798412,-1108050411,1031330790,1053843229)+W(5,1043199898,986797508,-1119994130,-1097822096)+W(6,1045866690,1039888035,1027046574,1038111290)+W(7,-1100094208,-1104239104,-1098800085,1017716576);WS(-1077527440,1065234224); +sum1=W(0,1031059492,1014606833,1041495444,1031584061)+W(1,-1143158030,-1140389945,1035424519,1013235228)+W(2,-1088676934,-1098001853,-1087241405,-1083911392)+W(3,-1095088526,-1096536807,-1104484775,-1100223239)+W(4,1055802445,1051162632,1059501583,1061276187)+W(5,1050088278,1049527800,1042937212,1037087943)+W(6,-1159469258,1001612013,-1109463457,-1105280809)+W(7,1038556792,986827883,1030875577,1047418837);sum2=W(0,1026928347,1006719462,-1103317527,1043604137)+W(1,-1106627965,1034526167,-1117999031,-1134258967)+W(2,1019217071,-1098369589,1041304779,-1134457784)+W(3,1048134757,-1118427047,1029994729,-1113504087)+W(4,1027288437,-1099640354,1050941648,-1112266437)+W(5,1027462477,1040843010,-1104465031,1054764710)+W(6,-1112677997,-1146387796,-1072403340,-1071428003)+W(7,-1082446250,1059493547,1072461191,1077848621);WS(1034219259,-1130863201); +sum1=W(0,-1122470601,-1125729883,-1119868741,-1092963050)+W(1,-1102984950,1017182198,-1107264969,-1116589116)+W(2,1036468120,1031973022,1045421587,1062931954)+W(3,1062738826,1050208654,990945063,1023027040)+W(4,1033355302,-1125640547,-1122038588,1044707408)+W(5,-1104269382,-1106320445,-1110744610,-1098846428)+W(6,-1104067775,-1112351746,-1106594245,-1094830635)+W(7,-1127079049,-1109997276,-1112571199,-1117279521);sum2=W(0,-1120041672,999703935,-1109032994,1041627711)+W(1,-1111815622,1029813110,-1110751572,-1114401610)+W(2,1041156572,1029144962,1037796455,1046556501)+W(3,1060385029,1040466231,-1103822492,-1076222058)+W(4,-1103868400,1036670980,1043292537,1059414852)+W(5,1048639871,-1105513272,-1100107078,1043280503)+W(6,1036471018,-1107170022,-1115113192,1029249656)+W(7,-1126242312,1043143286,-1101226736,1034327293);WS(-1097041087,-1081891922); +sum1=W(0,1045201037,1042240134,1049780286,1039927583)+W(1,-1122695635,-1110484942,-1117417409,1039840796)+W(2,-1097075376,-1091271089,-1094847921,1059654550)+W(3,1056430510,1057233913,1041827328,1050554535)+W(4,-1126257330,1049467348,1057610047,-1141428591)+W(5,-1089703504,-1087958744,-1096746586,-1096159486)+W(6,-1115394372,-1097795722,-1097045891,-1103383438)+W(7,1036098616,1033721138,1035539581,-1131932502);sum2=W(0,1012982255,-1101224821,-1109376974,-1116588919)+W(1,-1096183361,-1092858264,-1090462581,-1119652925)+W(2,1052214657,1042508745,1042044290,1071547407)+W(3,-1089469015,-1090264503,1039700797,-1083767147)+W(4,-1136022111,-1093748656,1045672838,1065241977)+W(5,1049249478,1047260540,1046964814,-1107087862)+W(6,1032353073,1020863779,-1113516472,1040242686)+W(7,-1120964187,-1103746594,-1100885683,1028764718);WS(-1088621983,1079497913); +sum1=W(0,1027161409,-1102075462,-1120075900,-1109063205)+W(1,-1104005172,-1136555883,-1112015962,1033292370)+W(2,1052712773,1051824794,1057942154,1060662493)+W(3,1062931830,1057800198,1047971474,1059753504)+W(4,-1102058289,-1098602113,-1096292664,-1082645434)+W(5,-1090788424,-1090185155,-1098101583,-1088742454)+W(6,-1100368317,1021667349,-1106147487,1039175801)+W(7,-1129475640,1036809656,1009161622,-1143403778);sum2=W(0,-1150684740,-1114056841,-1164208415,1034698244)+W(1,-1134574697,1043895716,-1101980686,1050191679)+W(2,-1095235693,-1115238312,-1080604054,-1071093346)+W(3,-1083926997,1068501149,1079699126,1056576712)+W(4,1044985054,-1127339724,-1106549807,-1080554397)+W(5,-1104923511,1052487431,1054997905,1029700329)+W(6,1035589955,-1108218072,1022130402,-1106288272)+W(7,1024268734,1036117000,-1130803558,1031345667);WS(-1087955103,1023517655); +sum1=W(0,-1106663590,1037773274,-1116651838,1022742037)+W(1,1040438284,-1117813952,1032561623,-1102318801)+W(2,-1090071677,-1103425461,-1089596734,-1082614473)+W(3,-1088542372,-1092404165,-1100716355,-1098396937)+W(4,1062902614,1055773525,1059014377,1060267482)+W(5,1057943128,1054561254,1051603940,1049819671)+W(6,1013889298,-1100022495,-1101161913,1030094516)+W(7,-1120043085,-1116951793,1035114019,1026546470);sum2=W(0,-1107653444,1032757863,-1150202006,1037010009)+W(1,1026258576,1041748319,-1131622502,-1112646994)+W(2,-1094858135,1061839668,1049735190,-1123088190)+W(3,-1089824138,-1098358767,1049699018,-1103776938)+W(4,1084595456,1074196920,1067688119,1070729644)+W(5,1050587980,1057889952,-1127981435,1048602984)+W(6,-1065438414,-1069856939,-1073375528,-1082206819)+W(7,-1086758222,-1097734258,-1106404220,-1098587943);WS(-1089607615,1063931357); +sum1=W(0,-1156148665,1033042784,1027235975,-1117005684)+W(1,1045226606,-1112863441,1040283212,-1102751384)+W(2,-1089422721,-1099513696,-1086976804,-1083936660)+W(3,-1089259880,-1092850238,-1096473171,-1096124078)+W(4,1059281720,1053472432,1060428066,1061258678)+W(5,1055780369,1057981025,1051704489,1054893029)+W(6,1041177357,-1107985659,-1122980350,-1103260375)+W(7,-1111710595,-1109580750,-1125267169,1035448166);sum2=W(0,1024298597,1037699935,1030404477,-1094400051)+W(1,1052543759,1024136176,-1159281410,-1102232478)+W(2,1074606150,1048614297,-1085515118,-1071672142)+W(3,-1091215560,-1095087497,1050441058,1071366890)+W(4,1080820206,1047271097,-1079656120,-1066721483)+W(5,-1078287609,-1096732136,1057126689,1074685383)+W(6,1030125639,-1121834510,-1166463196,-1101580999)+W(7,1028051862,1009399200,-1117118368,-1113696211);WS(-1083901183,1060981851); +sum1=W(0,-1106299749,1039492049,-1113140273,1055856482)+W(1,-1103186821,-1108369378,-1115937041,-1127954738)+W(2,1048978486,-1107896957,-1119192025,-1090009641)+W(3,-1088174932,1034759564,1008970428,1027686380)+W(4,1016862419,-1115539879,-1098481927,1058119768)+W(5,1052019064,1048477348,1034559233,1044214632)+W(6,-1121286832,1049662006,-1106196840,-1149152444)+W(7,-1101797848,-1146708651,1024756171,-1111878699);sum2=W(0,1030335348,-1110488253,-1096373435,1042224202)+W(1,1038378538,-1117770266,1036930446,-1168276161)+W(2,-1130369060,1056034410,-1097486091,-1094958491)+W(3,1057631708,-1114209587,-1105273765,-1115537765)+W(4,-1106797797,1040331307,1063611375,-1106971469)+W(5,-1093142933,1037075531,-1115233817,1025218793)+W(6,1006653296,-1094310491,-1113782011,1042512890)+W(7,-1140559356,-1114686161,-1115373149,1026640233);WS(1063762143,-1098158381); +sum1=W(0,1027555010,-1113176415,1044835884,-1094480963)+W(1,1042205032,1038186408,-1112247611,1041241393)+W(2,-1106988831,1049655577,-1089572014,1041189880)+W(3,1035602487,-1095655321,995617211,-1102946366)+W(4,1031921883,1032851437,-1106152127,1057311541)+W(5,-1100163979,1046700975,1050763922,-1119959180)+W(6,1033567284,-1099137927,1052671923,-1101762329)+W(7,-1106014811,1044902280,-1094051821,1044480349);sum2=W(0,1010916279,-1108274646,-1108043460,1049469526)+W(1,1061284555,-1097521196,1047936551,-1106103943)+W(2,1040615985,1037755544,-1107213139,-1085933104)+W(3,-1098201753,1027381238,1007266289,1039340208)+W(4,-1103581164,1053142923,-1091384808,-1093682556)+W(5,-1095835641,1044225612,-1101597200,1011948943)+W(6,-1126424725,-1119616718,1062997316,1050086980)+W(7,1044548392,-1099920539,1043928239,-1120667237);WS(1060336095,-1119657045); +sum1=W(0,1023788715,-1117126579,-1108875843,1022815367)+W(1,-1100562722,1043213137,-1111482971,-1142747249)+W(2,1048279897,1044311660,1062204714,1060724749)+W(3,1063043033,1050929706,1037241746,1051192212)+W(4,-1106238784,-1096869700,1019770348,-1081389759)+W(5,-1084472996,-1097593661,-1106654286,-1102133781)+W(6,-1110161279,-1136931731,-1115905233,1034904806)+W(7,-1124661292,1017832853,-1109716592,-1109353889);sum2=W(0,1036664563,-1103288529,-1102134383,1057556566)+W(1,-1099512639,1031668335,-1103860103,1028018661)+W(2,1009247708,-1126560341,-1067246446,1067728497)+W(3,1078180911,-1085231458,1047956293,-1114058193)+W(4,1013790140,-1102369678,1047852878,-1093152080)+W(5,-1110504691,1042704555,-1132621098,1030531898)+W(6,1035577258,1008412166,1016094574,1045655865)+W(7,-1123477495,1023608957,-1112760821,-1120624893);WS(1035518203,1045613832); +sum1=W(0,1044215468,-1096085823,-1102751483,1007706274)+W(1,-1098118842,1051305356,-1096250919,-1106455273)+W(2,1057279232,1043513429,1057361220,1061539183)+W(3,1057962612,1058710773,1037420261,1053125757)+W(4,-1097478568,-1096451901,-1091716958,-1085528932)+W(5,-1093017477,-1091718961,-1100741095,-1097230063)+W(6,1042423606,-1098498663,1012832112,1054368634)+W(7,-1103819295,1057808613,-1100568821,-1111733504);sum2=W(0,-1105709018,1050542737,-1106108137,1027983028)+W(1,1053295819,-1091042532,1049054259,-1108416827)+W(2,1058997495,-1084246791,-1103685622,-1106510960)+W(3,-1089515541,1066680974,-1088412186,1037143386)+W(4,-1086433444,1065459234,1055198365,-1102412567)+W(5,1057925132,-1080963495,1056230430,1049505110)+W(6,1022365788,-1101303092,1040995532,1044759128)+W(7,-1104466949,1043286350,-1096360229,-1106131860);WS(-1103921662,1072713673); +sum1=W(0,1042712209,-1130675027,1041149044,-1108819823)+W(1,-1099465033,-1102885798,-1108891552,-1122152216)+W(2,-1111681022,-1104528338,-1103688784,1055222237)+W(3,1063848575,1053207587,1051374172,1044600823)+W(4,1029885560,1032835743,1053127408,-1089836355)+W(5,-1089832742,-1090841456,-1098121506,-1101098252)+W(6,-1123292759,-1124533373,-1101763282,-1143773237)+W(7,1044926036,1032528402,1040294582,1018003689);sum2=W(0,-1116466906,1032691193,-1110682367,-1134651946)+W(1,1019799157,1020309206,1028255175,-1118897648)+W(2,1017580326,1031996320,1040673767,-1121084452)+W(3,1012141662,-1123645954,-1125118807,1005021204)+W(4,-1100144980,1045143645,1055366708,-1112456349)+W(5,1037079065,1036705771,-1112096331,1021253254)+W(6,1018640494,1067424527,1071822180,1057195246)+W(7,-1078565795,-1073530916,-1087156462,1033125682);WS(1054959295,1011151216); +sum1=W(0,-1124554365,1028540695,-1107828893,-1135601758)+W(1,-1135515507,1032466990,-1110097877,950109203)+W(2,1043778462,-1104732576,1063706911,1052343180)+W(3,1050410381,-1128754020,1034222620,1043960229)+W(4,-1140499785,-1111020475,-1098481604,-1081762405)+W(5,1053053447,-1112972157,1023071124,-1120112616)+W(6,-1103855992,-1113072532,-1121738665,1048654720)+W(7,-1096321673,1012954617,-1110289546,-1114439871);sum2=W(0,-1104841432,1047690020,-1084375561,-1086552004)+W(1,1046416693,1025710892,-1130856953,-1113936449)+W(2,1047456971,-1094867354,1068880529,1065412328)+W(3,-1080289298,-1110380578,-1105039836,1016290713)+W(4,1024424907,1033457856,1046341732,-1087761187)+W(5,1062384539,-1103331799,1024509174,-1126452938)+W(6,991739097,-1129013032,-1103560341,1059009805)+W(7,-1098849357,1045332030,-1104241974,1019994493);WS(1061669311,1066543312); +sum1=W(0,-1120030840,-1111872182,1046388965,-1109640224)+W(1,1051640445,-1104742312,1040612129,1018742870)+W(2,-1097490380,1051889621,-1085299564,1043197314)+W(3,-1099578605,-1114905437,1033952272,-1095793020)+W(4,1038501126,-1110528784,1050043436,1054292822)+W(5,-1095700775,1056051928,-1108619674,1044337364)+W(6,1026361650,-1112085217,1019064063,-1116217609)+W(7,1045441021,-1097066005,-1146667493,1039394788);sum2=W(0,1041249103,1040922446,1047169006,-1133026152)+W(1,1045305983,-1121038685,1032067159,986169209)+W(2,-1098300344,-1147221163,-1097103704,1055827658)+W(3,-1082349433,-1105225178,1036618956,-1102095468)+W(4,1041141085,1014590689,-1094689158,1056443342)+W(5,1051958562,1035590360,-1098250629,-1145857885)+W(6,-1123648820,-1115292810,1021735499,1023898168)+W(7,-1153021086,1038130213,1035045284,1030074795);WS(1066007616,1040865170); +sum1=W(0,1016703369,-1106398093,-1114560988,-1096325697)+W(1,-1094335779,1023023221,-1113231876,1022983872)+W(2,-1154003525,1038441464,-1112021256,1050813825)+W(3,1059033474,-1108543232,1040892233,1034570898)+W(4,-1104662792,1031083397,1052887594,1061249791)+W(5,-1126656183,-1106571274,-1121820472,-1115038347)+W(6,-1111826720,-1146451379,-1102003526,-1102172436)+W(7,-1104413998,-1109007926,-1112600993,-1123919488);sum2=W(0,-1117895883,1036640719,-1092695525,-1109277526)+W(1,1054484712,-1102073467,1047716642,-1115714917)+W(2,-1109314178,-1103775527,-1079308608,-1088245301)+W(3,1032194306,1058556412,-1097777200,1049638324)+W(4,1043196819,1047073701,1032498235,1071134194)+W(5,-1098274857,-1102222667,1028797614,-1109885254)+W(6,1029963629,-1117061975,1053147047,-1113344034)+W(7,1027577620,-1104158962,1019489703,-1106961770);WS(-1112959995,-1090797387); +sum1=W(0,998546749,-1102515009,1018649191,1024148768)+W(1,1036601843,991750171,-1134314668,1024106779)+W(2,-1107113888,-1157171375,-1095395659,-1088418302)+W(3,-1108499994,-1092700079,-1100812608,-1106951576)+W(4,1042251615,1043372984,1057847906,1049085946)+W(5,1054314562,1052242560,1010001228,1043704436)+W(6,1034524319,-1109045169,1025715818,-1107024218)+W(7,1036766314,-1102346050,1041369791,-1136260253);sum2=W(0,-1097076796,1000463738,-1083533587,1064100942)+W(1,1074997490,1043707697,1028507309,-1152835380)+W(2,1045091130,1024736081,1064625577,-1096201033)+W(3,-1071550159,-1106033160,-1118548401,-1111712908)+W(4,1028367411,1040206702,-1112850496,-1086258418)+W(5,1052069491,-1098690685,1050202273,-1113053149)+W(6,1016501386,-1122385083,-1104146558,1050125885)+W(7,-1105686824,1041978517,-1109567340,1032203802);WS(1065286463,-1155116140); +sum1=W(0,-1127743664,1036265535,-1118137852,-1121018025)+W(1,1024160014,1028265374,1031461691,-1116217572)+W(2,-1099417962,-1091060822,-1088882712,-1089265061)+W(3,-1088513194,-1090887512,-1097685517,-1096201501)+W(4,1047837241,1038987540,1061626690,1069311516)+W(5,1053957977,1051214117,1050330231,1045642342)+W(6,1035108393,-1121911642,-1119901843,-1100290432)+W(7,-1101311755,980641778,1030945477,1036102670);sum2=W(0,1023964675,1054178647,-1104607531,-1088748842)+W(1,1034720649,1027793575,1026748348,1048440611)+W(2,-1104287950,-1098771138,1030951671,1062304002)+W(3,1056993385,-1095484784,-1103591056,-1115722179)+W(4,-1095527688,-1106164282,1049293814,1069791349)+W(5,-1106129898,-1093744890,1040804508,-1102843948)+W(6,-1107378538,-1107123343,-1102317974,-1093097006)+W(7,-1107155572,-1104614583,-1111048704,1036145149);WS(-1107864827,-1106183398); +sum1=W(0,-1106667222,1032383543,-1104095901,-1105126732)+W(1,-1119082647,-1099092218,-1106477481,-1100466619)+W(2,1028246417,-1105288567,1024277645,1031807228)+W(3,1024663749,1059042594,1038514313,1061247795)+W(4,1062610107,1048732230,1033194034,-1097352540)+W(5,1042072353,-1097841594,-1132497297,-1116357250)+W(6,-1094330385,-1113355593,-1100412503,-1110531197)+W(7,-1106817153,-1119219065,-1116226478,-1112377140);sum2=W(0,-1124057659,-1107748661,-1106641450,-1106278570)+W(1,-1115427744,1045306633,-1107251222,1044220643)+W(2,1049202878,1029365940,-1100669682,-1090514146)+W(3,1050790854,-1101749265,1044664667,1051259000)+W(4,1055877653,1040631102,-1121942624,-1097531540)+W(5,-1095195500,1044511371,-1123742683,1035140356)+W(6,1043135164,-1120955446,1048773070,-1096084011)+W(7,1040842880,-1101432694,-1108344435,-1156279482);WS(-1107710971,-1103335008); +sum1=W(0,1020774038,-1097452822,-1103681302,-1142400543)+W(1,-1130541650,1035627390,1026485526,1026933710)+W(2,1057965326,1052789750,1061528673,1059882105)+W(3,1058381533,1052101646,1047827121,1048909172)+W(4,-1096736580,-1097416740,-1090723228,-1082070814)+W(5,-1096313647,-1092903493,-1095953623,-1094072619)+W(6,-1108312647,1007270548,1008435167,1032878150)+W(7,1024150455,1029066731,1024752368,-1129872006);sum2=W(0,-1091198687,-1096592719,-1088722291,1017819408)+W(1,-1104841225,1047280108,-1133964792,1046210234)+W(2,1051358993,1056674994,1050253089,1057806550)+W(3,-1098514434,-1095745001,-1121773836,-1101840089)+W(4,1026242284,-1102658445,1039492851,1048044980)+W(5,1047848116,-1114927114,1009730080,-1115459009)+W(6,1036983987,-1112372364,-1109827680,1033031265)+W(7,-1106004699,-1128936304,1044703642,-1121859563);WS(1046617982,-1079283690); +sum1=W(0,-1112235521,-1112371935,1046025067,-1114138877)+W(1,-1100106092,-1106636112,1006684852,-1134743124)+W(2,-1103103206,1005568807,-1082068590,1053438832)+W(3,1050481934,-1113851306,-1101804759,-1101795702)+W(4,1050398983,1053710959,1059470764,1056782757)+W(5,-1084354719,1044662919,1028720557,1040488963)+W(6,1031782004,-1112406582,-1109731202,-1120370051)+W(7,1047048563,-1114617505,-1122334215,1035089325);sum2=W(0,-1123583696,1041752924,-1096033091,1045050816)+W(1,-1111810372,1044170848,1035342189,-1107148363)+W(2,-1114190125,-1107057915,1054169171,1066165326)+W(3,-1090934807,-1094482563,1030376713,-1140242036)+W(4,-1123424510,-1108427412,-1101097272,1060681517)+W(5,-1093738003,-1094742214,-1122528198,1046835784)+W(6,1035265901,1011193218,-1097576107,1037309084)+W(7,-1094306097,1047478278,999245333,-1118953940);WS(1057107647,-1115492411); +sum1=W(0,1043432615,1017716083,-1115224236,1034158091)+W(1,1031606075,1040917102,-1119339928,1006053250)+W(2,1037909322,1044219192,1059480955,1055275264)+W(3,1062186253,1051479740,1036604907,1049031914)+W(4,-1092726398,-1094557923,-1089724826,-1079486955)+W(5,-1094016652,-1090199321,-1111430132,-1124163213)+W(6,1042270260,1036944691,1049175094,1036017407)+W(7,-1112299996,1012181234,1026270626,-1106538704);sum2=W(0,1018646782,-1107779390,1048577488,-1094766117)+W(1,1029078775,-1115207772,1041354677,-1134027235)+W(2,1037675363,1041358579,-1103110037,1063077105)+W(3,-1094239344,-1097294293,-1106609062,1005749079)+W(4,1056993548,-1114299594,-1108103869,1069120744)+W(5,1019393926,-1090842684,-1103795001,-1111892981)+W(6,-1095820604,-1106961783,-1113810892,-1094104293)+W(7,-1100654825,1030620215,1015746998,1031888221);WS(1038408187,-1104646224); +sum1=W(0,-1100666444,1032659338,-1096791479,1050254507)+W(1,-1125163769,1034716030,-1104041563,1024265746)+W(2,1031841147,-1095811512,1046629869,-1086582314)+W(3,-1092033141,-1095590162,1012740704,-1097384267)+W(4,1045835257,1046356758,1055310447,1049546009)+W(5,1059064223,1032941357,1016606100,1043234370)+W(6,-1121385297,-1115316924,-1109718991,1043876936)+W(7,-1115882186,1051195252,-1110386378,-1121465454);sum2=W(0,1033146053,1034495435,1033891153,1015618236)+W(1,-1102272365,1026402836,-1126192412,-1130670616)+W(2,1033178697,1013274853,1044565157,-1083473003)+W(3,1047899954,1033829854,1026659107,-1129244632)+W(4,-1110558215,-1103797816,-1074394842,-1075035519)+W(5,1070896015,-1107786181,1039466503,1033633210)+W(6,-1107600367,1046600596,-1096372667,1071496075)+W(7,1070598351,-1103057086,-1099451771,-1106841766);WS(1060540543,-1145107984); +sum1=W(0,1016949312,1033700674,1008485935,1050394829)+W(1,1025975118,1027755062,-1166944971,1036625882)+W(2,-1111708420,-1115158282,-1112773425,-1105627788)+W(3,-1166436080,1049090616,-1131929874,1027903943)+W(4,999025948,1037057540,-1111113150,-1105528438)+W(5,-1092533512,-1097657169,-1125616567,-1104970374)+W(6,-1110878953,1034636061,1006219749,1047777444)+W(7,1034379342,1023310559,1042471825,1029991232);sum2=W(0,-1112727972,1041061913,1030171918,1049192765)+W(1,-1097932217,-1108991614,-1128255593,-1128975721)+W(2,1028528033,1047913039,1058299937,-1088725965)+W(3,1006741474,1028842331,-1119404040,1019613109)+W(4,1050127712,-1120606988,-1075312291,1051042420)+W(5,1061621025,-1120436768,1041035795,1038145345)+W(6,1039139414,-1090975722,-1096898908,1056682084)+W(7,1043329296,-1136718330,1019658885,1017746289);WS(1058512095,1047466767); +sum1=W(0,1025672397,1032743763,1046625694,1040236986)+W(1,1041791363,1042422310,1024317081,1034505416)+W(2,-1102753041,1015664161,-1102686879,-1099087483)+W(3,-1097904327,-1097334084,-1123206279,-1096407969)+W(4,1037445664,1032570339,-1091026739,-1089271035)+W(5,-1100626131,1051389809,1041773046,1050962859)+W(6,1037433000,1033220516,1035056566,1024398415)+W(7,1043847942,1042353123,1037697617,1047698739);sum2=W(0,-1111694157,-1113457231,1007020677,-1110494513)+W(1,1036239980,1042151096,1014804229,1038268008)+W(2,-1097429792,1040318944,-1109123041,-1087577139)+W(3,-1115766281,1033854974,1056323633,1058473731)+W(4,1052756319,-1131566802,1066240251,1071158756)+W(5,1055974927,-1085216854,-1076147337,-1078122726)+W(6,-1115035673,-1108486657,1057627634,1052796029)+W(7,1037312144,1031946717,-1107413695,-1088208012);WS(-1087119871,1051442968); +sum1=W(0,-1106951233,1026199466,-1111827529,1034911407)+W(1,-1110066258,1036906330,-1121489041,-1123695161)+W(2,-1101188351,-1102133666,-1096477343,-1081083296)+W(3,-1093686286,-1089794286,-1102503648,-1096524016)+W(4,1055191809,1046522759,1061746551,1062137809)+W(5,1056808794,1061657374,1025414769,1043754020)+W(6,-1118371512,1024298399,-1102462991,-1118895495)+W(7,-1105243164,1028468933,1001909715,1039027467);sum2=W(0,1036012528,-1136414534,1028357901,1018170307)+W(1,996800246,-1115554829,1018408279,-1128152611)+W(2,-1111568121,1023613585,1046290638,-1086518431)+W(3,1032866656,1040198779,-1115393969,1031067220)+W(4,-1125130883,1037328619,-1077265349,-1068062671)+W(5,1083861052,1057186482,-1101393956,1024816461)+W(6,1019317279,-1141870971,-1105362146,1041918725)+W(7,1040576139,-1110577355,1032099345,-1109411807);WS(1041081598,-1101063046); +sum1=W(0,1038662072,-1105628103,1046838359,-1112508084)+W(1,-1112561351,1047812813,-1106996345,1045311157)+W(2,-1123374599,1048894326,1044003395,1062900743)+W(3,1058339600,1041428913,1044355834,1013224727)+W(4,1035193857,-1098151405,-1109376817,-1082115704)+W(5,-1087104856,-1097118497,-1098603955,-1110120844)+W(6,-1104056554,1009505700,-1107771451,1039692648)+W(7,1049374543,-1126547869,1037690530,-1121969199);sum2=W(0,1034938637,-1110454828,1044300205,-1094841314)+W(1,1049263704,-1123904781,1032882093,1018550156)+W(2,-1102665080,1066739686,1063593500,-1072571644)+W(3,1050585763,1033188794,1040935597,992411043)+W(4,-1083931487,1057500561,1069787057,-1073076170)+W(5,1057940110,1049962317,-1103057884,1032437745)+W(6,-1096043986,1050111041,1057117236,-1094917255)+W(7,992791419,-1119131193,-1129197337,-1139242755);WS(1047493374,1019974383); +sum1=W(0,1039818779,1022499782,-1111466513,-1128872350)+W(1,-1102282821,1027318580,-1112367361,-1121442618)+W(2,1024992878,1056719767,1056992349,1066523241)+W(3,1057279594,1050310409,1043633508,1050332018)+W(4,-1099980259,-1093967742,-1089692488,-1081677329)+W(5,-1104336096,-1095763174,-1147598863,-1103201160)+W(6,-1119405261,1017537921,-1134657044,1032226588)+W(7,-1110606353,1029746358,-1105211995,-1109613299);sum2=W(0,-1109381660,1024006001,1048332575,1030946168)+W(1,-1111460550,-1115660792,1027780517,-1125113546)+W(2,-1099927212,1048105027,1083214625,-1068785948)+W(3,-1080184440,-1125303858,-1129923962,972536438)+W(4,1032613200,1031703418,1051352300,-1082836395)+W(5,1047472657,1027323348,1006215943,-1123338357)+W(6,1013674604,-1113331152,1010546556,-1137462284)+W(7,1033485356,1034637753,-1112671380,1033990282);WS(1049191295,1026054180); +sum1=W(0,1015431080,-1114491642,-1106844240,1052544606)+W(1,-1101337172,1006821496,1048579163,-1107367092)+W(2,-1104530451,1045418990,-1091806904,-1092275830)+W(3,1032037152,-1091613549,-1136631349,-1104046587)+W(4,-1120791464,-1105318659,1059085476,-1096734436)+W(5,1055073816,1054997266,-1117752159,1054027444)+W(6,1041795830,-1107859847,1035107546,1050727987)+W(7,-1098252244,1024892180,-1114835508,-1107321874);sum2=W(0,1026733028,-1099170713,-1116840904,-1119731112)+W(1,-1105853851,1023766170,-1109160117,-1110446049)+W(2,1045033945,1052123052,1011374557,1034116255)+W(3,1042679995,-1103542762,1002727514,-1116987471)+W(4,1006278578,-1100795787,-1137517037,-1093051584)+W(5,1032967726,1030006514,1010971477,1032206215)+W(6,1045459634,1045732660,1036547859,1049735621)+W(7,-1115758581,1012804929,-1107202197,-1108882618);WS(1061349183,1052960956); +sum1=W(0,-1129777715,-1138324169,1040354025,-1113069161)+W(1,1026875928,-1148679486,1026350741,-1099366619)+W(2,-1091852750,-1098630008,-1086948121,-1087783598)+W(3,-1090578505,-1098392878,-1105317245,-1113156712)+W(4,1051531432,1050117038,1058780391,1063142264)+W(5,1054898923,1055753851,1035239971,1049214940)+W(6,1028688348,1001458973,1026112190,-1101543047)+W(7,1001807913,-1107707133,1009551482,1035358529);sum2=W(0,1030464194,-1114101658,1031167290,1076423743)+W(1,1075592137,-1122765276,-1073082101,-1067763317)+W(2,1016786912,-1111442214,1040962599,1052649879)+W(3,1059016603,-1109148248,1031660172,-1093716078)+W(4,-1124271380,1036708968,-1145350210,-1106763968)+W(5,1036666460,-1102467968,1040647493,-1123536642)+W(6,-1112870762,1035127660,-1119263136,1030450749)+W(7,-1114823676,1030453841,-1120712732,1004437586);WS(1049240575,1032641532); +sum1=W(0,1013730783,-1105480706,-1114036922,-1113879072)+W(1,-1104229785,-1108053747,-1114764169,-1146082265)+W(2,1058635434,1033988870,1060052265,1060507082)+W(3,1060417175,1056801557,1045744608,1050162924)+W(4,-1096215015,-1101342144,-1095577996,-1090178495)+W(5,-1088104859,-1096180920,-1096622362,1035143657)+W(6,-1112522509,-1114702617,1026538642,-1118644393)+W(7,1026113715,-1115402364,-1165415829,-1096614130);sum2=W(0,-1122276311,1035291415,-1120194245,1040446858)+W(1,-1120530587,-1138075205,1025217366,-1118638617)+W(2,-1070701037,-1088124412,1066415245,1074084237)+W(3,1049852139,-1122804719,1023048268,-1139513797)+W(4,-1102500792,-1135890037,1041496354,-1104713726)+W(5,-1121031703,-1103825640,-1123990667,1028358694)+W(6,-1123484857,-1122878839,1004310705,1043449641)+W(7,1033156545,1027648711,1022832518,-1136916673);WS(1058199967,1050173679); +sum1=W(0,1035142580,1027370573,-1130262537,1035504777)+W(1,-1114438555,-1117883815,1019391016,1002653538)+W(2,1049466778,1058691576,1039593430,1068404719)+W(3,1055172389,1049428736,1057860609,1038434456)+W(4,-1090097411,-1101732588,-1086371009,-1088745136)+W(5,-1085029652,-1087836907,-1099893249,-1090680108)+W(6,-1180331449,1040649373,-1120260556,1040680775)+W(7,1044382793,-1124005336,1042216563,-1112700144);sum2=W(0,-1116884059,1053572077,-1098664530,1052736946)+W(1,-1109898534,-1100793752,1049155169,-1110972354)+W(2,-1098591960,1057696884,-1094622297,1068603564)+W(3,-1110319390,-1092295148,1060435963,-1093610507)+W(4,1049382153,1027480579,-1090176467,1060239128)+W(5,1035982822,-1110105636,1048950002,1038370396)+W(6,-1103314039,-1088718218,-1083506692,-1093271444)+W(7,-1100206230,1032439700,1034453968,1006875670);WS(-1089372991,1071972514); +sum1=W(0,-1138920887,-1111770809,-1102811010,-1115715559)+W(1,1039086134,-1097310634,1031148825,1025838913)+W(2,1036533027,-1104793556,1055175791,-1099167419)+W(3,-1087507272,1049070430,-1119324807,1003453989)+W(4,-1102318256,1048489074,-1087761408,1059252133)+W(5,1053162297,-1114433380,-1118494745,1042268638)+W(6,994211079,-1105180974,1048668925,1002658941)+W(7,-1118760057,1015366427,1042346841,1035401151);sum2=W(0,1030112837,-1120976510,990074782,-1093456890)+W(1,1037465699,1026987255,-1141406991,-1139369648)+W(2,1042265630,1036120703,1034066763,1054439327)+W(3,-1093016348,1018637880,-1135344000,1039303764)+W(4,1026971571,-1114486026,1060265655,1048349987)+W(5,-1099844302,1021593632,-1122669452,-1105461723)+W(6,-1110663804,1036038820,-1093575269,-1097582212)+W(7,1034062294,1015927322,-1131991172,-1112258092);WS(1064707295,-1106068023); +sum1=W(0,-1099232505,1035233224,1008917721,-1113461090)+W(1,1030936392,1004172005,1027313190,-1115756158)+W(2,-1122722466,-1096714286,-1092366070,-1085444145)+W(3,-1087864449,-1089654074,-1109977746,-1096643772)+W(4,1050522762,1050648196,1057836626,1065526616)+W(5,1058128499,1053303385,1046037453,1045431365)+W(6,-1163785122,1029641572,-1106158547,-1112344246)+W(7,-1120989814,1023496586,-1132212895,1026679026);sum2=W(0,-1064765544,-1081497441,1073825520,1076205171)+W(1,-1119211273,1027623494,1025169073,1044157267)+W(2,-1093639717,1052279998,1049786220,1062543003)+W(3,-1112239696,-1095053933,1041086677,-1111173396)+W(4,1043466147,-1106897145,-1111313590,1028519541)+W(5,-1110796836,1038884306,-1138045203,-1103601885)+W(6,-1118670633,1026058867,-1120615525,1005098917)+W(7,1002459349,1024155429,-1139354443,1031190784);WS(-1111449083,-1157616163); +sum1=W(0,-1140902742,-1108906886,-1107746707,-1091492130)+W(1,-1106259270,-1123578095,-1112828291,-1129218172)+W(2,1050785866,1041550344,1063519767,1070223306)+W(3,1056548545,1033679887,1033485706,1037279241)+W(4,-1096435822,-1095149714,-1097214657,1059314470)+W(5,-1091358630,-1102873285,-1098893397,-1105253969)+W(6,-1106580347,-1111739842,-1112949561,-1090511327)+W(7,-1115482851,-1102694659,-1119291392,-1105806553);sum2=W(0,1036877913,-1107073590,-1107699229,1043855187)+W(1,-1112562117,1015957137,-1137092650,-1113777301)+W(2,-1106537131,1029358898,1059152956,1059494373)+W(3,-1100478450,1042289801,-1117856531,1034651775)+W(4,1030920508,-1148982309,-1101290720,1057939604)+W(5,1054005616,-1078154452,1052159854,-1095096566)+W(6,-1107276407,-1158332371,-1104066278,1057817844)+W(7,-1089434898,1041374005,-1109759735,-1112996199);WS(-1078462192,-1081042006); +sum1=W(0,1031777492,1032754472,1041664052,-1097597536)+W(1,-1104816664,-1113883983,1034668408,-1123431127)+W(2,-1099264287,1043123090,-1089905073,1061087074)+W(3,1058804947,1049386855,1033759807,1048603595)+W(4,1046006998,-1098614104,-1129274543,-1106235787)+W(5,-1084543524,1054195792,-1107840264,1024992909)+W(6,987183826,1036343655,1009990171,-1097811109)+W(7,1031138063,-1097275448,1026038601,-1120606380);sum2=W(0,1045113399,-1114091637,-1107885511,-1138476145)+W(1,-1105540689,1035866831,-1106333432,1027850472)+W(2,1042319052,-1104675582,-1091877193,1051152873)+W(3,-1091823953,1034466874,1039480371,1012452041)+W(4,-1096815184,-1111655631,-1112520325,1061790396)+W(5,1058061302,-1097657024,1040922298,-1158709515)+W(6,-1116743882,-1101972302,1050965596,1049921296)+W(7,-1092103725,1042351236,-1102843808,-1125733657);WS(1056694143,-1116016311); +sum1=W(0,-1113789237,-1100431022,1050877939,1018856325)+W(1,1050520537,-1097203011,-1103919120,-1146363818)+W(2,1051083644,-1126988186,1064972735,1040063173)+W(3,1063261729,1049408537,1026641091,1053332672)+W(4,-1097139864,-1094809972,-1089357240,-1094444318)+W(5,-1089641983,-1094346349,-1100978845,-1097363714)+W(6,-1123205479,1034447326,1036660918,-1108178982)+W(7,1047968461,-1113292277,1038849023,-1114302469);sum2=W(0,-1117908102,1013765983,1045942570,1086231745)+W(1,1048993826,-1110131683,1005670802,-1126497913)+W(2,1019359999,-1145413682,-1095749402,-1062836828)+W(3,-1094656357,1037693606,-1125761673,1018172516)+W(4,-1120905960,1028148573,1032861566,-1087097136)+W(5,-1145044098,1040390747,-1112982831,1016402027)+W(6,1017197102,1027705717,-1127537989,1031521084)+W(7,1027867224,-1114691836,1031905995,-1122299754);WS(1058898623,-1129627348); +sum1=W(0,-1115961291,-1114910804,-1099814536,1014875535)+W(1,1042946610,1008636276,-1106406626,-1120594878)+W(2,1024824451,1028416398,1053775806,1049045373)+W(3,-1081844071,1031972351,1007262993,1044145240)+W(4,1015893437,-1107386562,-1081677098,1054905786)+W(5,1057687981,1045923489,1043411542,1016529769)+W(6,-1111982511,1040362701,1049488325,1016424474)+W(7,-1105282974,-1118478155,1018226304,1008933435);sum2=W(0,-1133545882,1048887568,-1092588040,1040041167)+W(1,-1098849827,1009986974,1044263399,-1120224962)+W(2,1024635319,-1104650552,-1106613727,1061771033)+W(3,1059347143,1020453405,-1100016935,1003801667)+W(4,-1123675276,1009836758,-1090053582,1063348295)+W(5,-1095509129,-1091467004,1034750124,1013849670)+W(6,1049399700,-1109494815,-1105276085,-1099749985)+W(7,-1094328117,1040581639,1041257354,-1116729410);WS(1051954047,1053754534); +sum1=W(0,-1115617616,1024010640,-1105864485,-1104806436)+W(1,-1109064955,-1116880702,-1125878182,1017392662)+W(2,1038078984,1036755054,1063482792,1054877383)+W(3,1061183100,1032370277,1043596932,1041423460)+W(4,1012663597,-1111840872,-1094956956,-1088048944)+W(5,-1092794954,-1106496725,-1106933961,1027390113)+W(6,-1106689047,1027644834,1000291764,-1099610254)+W(7,1030290339,-1110075188,-1134690355,-1125796047);sum2=W(0,1032585330,-1120362784,1053495069,-1103911013)+W(1,-1152525762,-1128147020,1012657824,-1104983105)+W(2,1041153226,1038083675,-1085822417,1062089523)+W(3,-1088542584,1044421032,-1113855086,1041652917)+W(4,-1098242715,-1097998955,-1097864806,1056336567)+W(5,1061326318,1046053205,1042938789,-1160964996)+W(6,1045110917,1041971655,-1094674500,-1090235355)+W(7,-1100885631,-1141849761,-1114518568,1032164357);WS(1061027871,-1104546242); +sum1=W(0,-1105616597,1044372474,1021564129,1044930783)+W(1,1046184033,1039863327,1037242932,1036593932)+W(2,999947493,-1093243621,-1093936864,-1082760108)+W(3,-1089254915,-1087020314,-1095491356,-1089177610)+W(4,1020340785,1054887248,1050165368,1059757863)+W(5,1059995997,1055330116,1049586618,1053764638)+W(6,1044086916,-1111771647,1042456335,-1109427891)+W(7,-1109416824,-1114227250,-1119355674,1025046581);sum2=W(0,-1071093827,1026041138,1068370917,1068180608)+W(1,-1099034443,-1126398467,-1114641099,1032038973)+W(2,1060306884,-1087262504,-1080863241,-1104665609)+W(3,1065726420,1036496204,1052019191,-1112342652)+W(4,1049935328,-1137957530,1024099582,-1097098353)+W(5,-1115701817,1043337171,-1155572887,1039831002)+W(6,-1107356858,1030953599,1026067688,-1149593287)+W(7,1031805059,-1111590832,-1110320626,-1165279566);WS(-1085156031,1045210454); +sum1=W(0,1032928297,-1111119484,1023710638,1012189550)+W(1,-1119437633,1039427612,-1114651991,1039591187)+W(2,1062377574,1050029461,1062121112,1061895670)+W(3,1058328143,1050106073,1051812528,1050020631)+W(4,-1090582815,-1097825399,-1087364538,-1084850381)+W(5,-1086721078,-1087870448,-1095972450,-1089842983)+W(6,-1097791665,1025846477,1032229097,1038427330)+W(7,1040335420,1036234257,1026163704,-1146480404);sum2=W(0,-1123647935,1039341132,1035983028,-1100132407)+W(1,-1107056231,1035406254,-1116224056,1039408558)+W(2,1061817512,1048143772,-1106274437,-1080635557)+W(3,-1101127944,-1113472410,1025367216,-1101636583)+W(4,1083879676,1075567701,-1081957201,-1069811820)+W(5,-1080342730,-1083251742,-1113852980,-1087422720)+W(6,1056516802,1037735150,1028242764,-1096421593)+W(7,1035329144,1030744652,-1094803270,1049804166);WS(-1079692512,1054562755); +sum1=W(0,-1109749038,-1107273417,-1102577952,1030213964)+W(1,1036563817,1046944740,1031914983,1050658577)+W(2,1042438683,1049923207,1044388569,-1113189609)+W(3,-1089184118,-1087748930,-1096053014,-1091524869)+W(4,-1092016161,-1091034933,-1089719139,1050309800)+W(5,1048990040,1053009554,1048709856,1049517424)+W(6,1050333996,1042543591,1055304278,1034159515)+W(7,1040366472,-1122229091,1006842402,1034826102);sum2=W(0,1041125733,-1097603156,-1103003109,-1107000988)+W(1,1032085636,1048646468,-1094740103,1056003520)+W(2,-1094982607,1045744428,-1102781952,1063877853)+W(3,-1096755169,1041101455,1038162032,-1106723297)+W(4,1055140379,1049918932,-1106862916,1066829095)+W(5,-1090474230,-1081598978,1049572267,-1085369603)+W(6,1061130686,990353951,1058588396,-1096233798)+W(7,-1095838692,-1089860215,-1096717844,1044183141);WS(-1080283264,1053171958); +sum1=W(0,1045885175,-1113658461,1034538909,974135701)+W(1,-1122513036,-1118011958,998696774,-1108239136)+W(2,1054395509,1050045174,1055879386,1060600957)+W(3,1061640838,1060753746,1054788217,1061053402)+W(4,-1083475508,-1095192933,-1085810962,-1084797135)+W(5,-1086057732,-1087204563,-1092652351,-1108529436)+W(6,1028512496,1035446876,1026195253,1044250612)+W(7,1037521197,-1117222317,1038575473,-1101819472);sum2=W(0,1049760823,-1132622893,1033001558,-1136534149)+W(1,1043696998,-1092886300,-1098156850,1058228696)+W(2,1082611215,1077078383,1066257283,986681348)+W(3,-1084657320,-1069070549,-1072372844,-1074505611)+W(4,-1114287788,1055018182,-1101461080,-1078537691)+W(5,1054805894,1065047159,1049854091,-1082348593)+W(6,-1130959534,1035090608,-1112584386,-1090394759)+W(7,1058031741,1038822180,1041633511,-1115499033);WS(-1073398920,1057727890); +sum1=W(0,1041979362,-1106188342,-1108985859,1040300287)+W(1,1044683952,1046284093,1044621499,990388050)+W(2,1052994159,1056847849,1060197326,1059196498)+W(3,-1094535618,-1094105983,-1102914751,1043962286)+W(4,-1092671491,-1087976920,-1085676269,-1108460501)+W(5,1051731585,1046385743,1031818215,-1104493131)+W(6,-1110295050,1033778006,1040328063,-1114468666)+W(7,-1102804911,-1098429184,-1104640754,1033981777);sum2=W(0,1021160276,-1093219342,-1089562294,-1106388958)+W(1,-1099093932,-1180890998,-1090965228,1057228486)+W(2,-1089430647,-1135654176,-1079796815,1074674993)+W(3,-1098010580,1052929457,1040584224,1047748991)+W(4,-1102895535,1044152573,-1095163331,1074136497)+W(5,-1095203310,-1099885509,1041387674,-1131585606)+W(6,1031984432,-1096279754,1011763192,-1101895278)+W(7,-1117345690,-1095468231,-1107912603,1045144673);WS(-1087643711,1073414034); +sum1=W(0,1043421796,-1116796288,1042590607,-1098636497)+W(1,1008405302,1005024220,-1106384411,1029633907)+W(2,1043019738,1056957030,1048028053,1065994910)+W(3,1061262410,1059267719,1045820026,1054563645)+W(4,-1091862260,-1093379129,-1089120888,-1081315117)+W(5,-1088787029,-1093593189,-1108751805,-1106230054)+W(6,1028452722,-1112484637,1043084437,-1120978641)+W(7,1046109207,-1105879924,1024805700,-1095994501);sum2=W(0,1015257573,-1117575950,1040590395,1040031817)+W(1,-1104875608,-1111928738,-1124331304,-1104400845)+W(2,-1101361376,1051853927,1007636882,-1085239439)+W(3,1029484438,1055085469,-1104410806,1055334030)+W(4,-1151605286,-1126719224,-1099060090,-1069257368)+W(5,1078894141,1065488662,-1097362053,-1099504604)+W(6,-1114431290,-1122150057,-1123376079,-1122292554)+W(7,1045790053,-1105709439,1046590167,-1096100911);WS(-1089052703,1050218486); +sum1=W(0,1024924308,-1124263665,-1114112032,-1101857739)+W(1,1004177297,-1132101549,1037546120,-1127618735)+W(2,1032977094,1048865735,1032370348,1057017435)+W(3,-1096925880,-1106597310,-1101706323,-1138126252)+W(4,-1127622480,-1103037451,-1093324152,-1130658874)+W(5,1049797356,-1147023991,-1148374781,1041185327)+W(6,1016061078,1027347950,1047024376,-1114101947)+W(7,-1136753151,-1136950735,1016234194,-1135392976);sum2=W(0,-1103127935,1034551493,-1131095837,1056852609)+W(1,1041291951,1031312786,-1119687326,-1125922018)+W(2,1033687244,-1111330163,-1111327049,-1097897810)+W(3,-1092598078,1027703970,-1119650108,1037109557)+W(4,1044282132,-1132159854,1043675418,1038437355)+W(5,-1085166716,-1122838335,1030316614,-1115941571)+W(6,-1115309191,-1101537844,989659429,-1126658673)+W(7,-1101159602,1065573620,1035948285,1021015548);WS(1065854560,-1114586365); +sum1=W(0,1025132845,-1132208108,1043375962,1036127555)+W(1,1042813603,1042302785,1041475414,1044294516)+W(2,-1093129789,-1097600366,-1094779500,-1085251325)+W(3,-1085614646,-1083792532,-1088034874,-1081301837)+W(4,1039292161,1047014713,1054220253,1059484531)+W(5,1058902029,1058554289,1049492791,1057966909)+W(6,1052478106,-1114318540,1045472794,1040640636)+W(7,1026772633,1030110605,-1123458066,1048041627);sum2=W(0,-1082315074,1044643809,-1098370418,1032322202)+W(1,-1088636595,1057109638,-1093539506,1061431798)+W(2,-1085719643,1026206592,1060376399,1066420950)+W(3,1042910065,1025783712,-1117795056,-1120476284)+W(4,1072912386,-1098026838,1068488422,1072201946)+W(5,1055106268,-1087763572,-1084317601,-1077472196)+W(6,-1097858732,-1097387905,-1097681385,-1095903963)+W(7,-1092707091,-1104219349,-1087895305,-1105350768);WS(-1071370880,1080498273); +sum1=W(0,-1117491793,1039364315,1035846886,1023528601)+W(1,-1131889533,-1106314247,1028375004,1013100112)+W(2,-1117320376,-1100646881,-1094786920,1045848824)+W(3,1057069771,1055228236,1020389492,-1127017775)+W(4,1025681812,1049740511,1058631773,-1094741601)+W(5,-1088346742,-1102894479,-1138962992,995411618)+W(6,-1112958490,-1103504723,-1105396320,1032469201)+W(7,1034336534,-1144513794,-1116565942,1002008579);sum2=W(0,-1097850747,-1107398437,-1085613590,1042292809)+W(1,1054106205,-1106648125,1035361236,-1122554235)+W(2,-1108946242,-1114277717,1063125687,-1084555354)+W(3,1059764079,1041901467,-1103098774,-1148617751)+W(4,-1129761151,-1118690429,1040789135,-1101999238)+W(5,1051725304,-1128317719,1022272136,1025957669)+W(6,1024320851,1012636527,1029278628,1026191463)+W(7,-1119736004,-1127460399,-1115360404,997652141);WS(1058528159,1053906024); +sum1=W(0,-1112917396,1035675727,-1104938189,1040468760)+W(1,-1105254898,1020887917,-1113141838,-1149793215)+W(2,-1104256080,-1092229473,-1097223269,-1082484606)+W(3,-1103704557,-1100912091,-1118771074,-1099449368)+W(4,1023681564,1058833811,1051100098,1061928249)+W(5,1057519273,1047691241,1047329733,1044776397)+W(6,1039659283,1021887717,1033492802,-1119337706)+W(7,-1099217437,-1127325712,-1114402703,1024214504);sum2=W(0,-1129442596,1023778714,-1113953277,1026809294)+W(1,1035644478,1034718426,1016827280,1038084720)+W(2,1040644144,1033307012,1056896617,-1080168883)+W(3,1030172798,1046899220,-1114672577,-1138817753)+W(4,-1106302200,1056981996,1082625405,-1064674592)+W(5,-1098216535,-1107268878,-1138831353,-1118740750)+W(6,-1105488042,1014815489,1048992482,1043950232)+W(7,-1120732434,-1121557578,1026207834,-1122753582);WS(1050028863,1057904824); +sum1=W(0,1016998719,1031484924,-1113918453,1035763396)+W(1,-1100192683,1046082071,1023767163,-1109585801)+W(2,-1115527732,-1114471481,-1092713340,-1086973069)+W(3,1048884339,-1093669960,-1109475380,-1102684193)+W(4,1049960370,-1097014217,1059124695,1055821255)+W(5,1045748179,1046233018,972758359,1047341446)+W(6,1033316845,1045307870,-1113659631,-1113580281)+W(7,-1104759887,1024760783,1028768132,-1118597711);sum2=W(0,1042577042,1035985609,-1132583692,-1108557005)+W(1,1045882832,1049978360,-1123148614,1037998467)+W(2,1058174637,1022451597,-1083350192,-1102051996)+W(3,-1096734805,1040525485,-1111555351,1012738322)+W(4,-1093234196,1028288917,-1089654696,1066585170)+W(5,-1112976831,-1101233023,1016281700,1035922998)+W(6,1036828005,1036599280,1043707159,-1099096459)+W(7,-1117191962,1038823523,1010883764,-1106116243);WS(1064158815,1035299335); +sum1=W(0,-1112803360,987363362,1040202935,-1148543050)+W(1,-1119103150,1016866897,-1120253212,-1136961231)+W(2,1016610641,-1111853690,-1090418272,-1086418793)+W(3,-1096774480,-1106302329,-1125874772,-1111706212)+W(4,1043480489,-1116662313,1043761841,1062267936)+W(5,1026731899,1046949595,1044534239,1038415821)+W(6,1023721675,-1114846141,1040437218,1044974085)+W(7,-1112576238,1035797256,-1118929285,1017229376);sum2=W(0,982347958,1032509555,-1111294086,1034453505)+W(1,-1107492941,1047671755,-1114281099,1041657921)+W(2,-1130481715,-1105443060,1041532435,-1090026061)+W(3,-1115327745,-1099067440,1007189687,-1106888056)+W(4,1039697927,-1102232537,1059036310,1065332554)+W(5,1049776291,1035057967,-1116755236,1039394631)+W(6,1029826582,-1106323503,-1087181565,-1095157490)+W(7,1032022369,-1113855935,-1137758215,-1116441678);WS(1064590463,1056702913); +sum1=W(0,1029043770,1053372231,-1096751755,1042753121)+W(1,-1132040847,-1098166823,1054745035,-1101919647)+W(2,-1118119137,1049750478,-1090400466,-1089893441)+W(3,1035942347,-1098407696,1057009004,-1105867448)+W(4,1044521535,1040212560,1048069253,-1098259842)+W(5,1046519145,-1126503113,1029470901,-1137574860)+W(6,-1108622774,1055292354,-1086796959,1028130891)+W(7,1043794349,-1097599727,1057963224,-1099480944);sum2=W(0,-1112469736,-1109993908,-1113626244,-1101975228)+W(1,-1113395603,-1115391866,-1111764318,-1114050909)+W(2,1047380321,1048112351,1039961237,1053720344)+W(3,1033059361,-1117206471,1050486894,1029031616)+W(4,-1107309008,-1096267194,-1149218892,1041967405)+W(5,-1105421186,1041082150,-1097114178,-1116211284)+W(6,-1130012001,1044766357,1024449363,-1105185961)+W(7,1034928166,-1103730760,1041700935,-1133808950);WS(1049282175,-1081654589); +sum1=W(0,1026879882,-1106636470,1025593670,-1120434947)+W(1,-1109057316,-1103814142,-1108405355,1025046173)+W(2,1056840376,1051340514,1059046350,1060994015)+W(3,1062254571,1054415372,1044610849,1057281100)+W(4,-1089715922,-1103588481,-1087728227,-1081081863)+W(5,-1089160278,-1110084674,-1097611347,-1102762237)+W(6,1023576205,1019713064,1018583793,-1116831948)+W(7,1040563949,-1148705741,-1130543166,-1108038889);sum2=W(0,1021240677,-1117500355,-1104166105,-1110155670)+W(1,-1101525323,-1099065181,-1135933351,-1100288377)+W(2,-1112389783,-1154883848,-1102583420,1061056453)+W(3,-1123615532,1038434309,1041908272,-1120914319)+W(4,1025718250,-1096682611,1048911763,1065471868)+W(5,-1149445264,-1090281103,1042017461,-1131934595)+W(6,-1104779102,1051908652,-1093040032,1051220588)+W(7,-1113750073,-1098156535,1046751376,-1100861861);WS(1044733566,-1111466942); +sum1=W(0,1033634167,-1105078967,-1104340430,-1106426842)+W(1,-1101553619,-1110993602,-1113465444,1020428386)+W(2,1060020808,1041929508,1062221635,1060048443)+W(3,1059584252,1054717575,1044713794,1047352089)+W(4,-1092913556,-1103349137,-1092289734,-1090785767)+W(5,-1094348262,-1097827057,-1098824243,1041060918)+W(6,-1112663104,-1134753630,-1126194825,-1110397240)+W(7,-1114529117,-1113238887,-1140846474,-1094820883);sum2=W(0,1040248415,-1113076108,1043824330,-1105221470)+W(1,1036602392,-1134849104,-1163695359,1011808464)+W(2,1084299283,1066146464,-1073408210,-1067326117)+W(3,-1097425816,1016852200,-1119512248,-1118870508)+W(4,1054267917,1032173778,-1102778436,-1084477148)+W(5,-1149511007,1040914456,1026379762,1011171408)+W(6,1002599056,1029289900,1027082476,-1116688572)+W(7,1024010398,-1121212984,1007530464,1020903456);WS(1041204862,1020998748); +sum1=W(0,1041320410,-1111643799,1033147201,1033305824)+W(1,-1110534482,1048653459,-1106102028,-1129433652)+W(2,1040787048,1044400490,-1112000574,1057857240)+W(3,1058317173,1013490791,1040475768,1032979455)+W(4,-1129649268,-1096018340,1041936758,-1090212595)+W(5,-1083609992,-1108280561,-1098465902,-1104103124)+W(6,-1136864165,-1123167632,1014392453,1043382402)+W(7,1046901861,1040774794,-1121200123,-1123801518);sum2=W(0,1033367466,1036408153,1049195658,-1116950481)+W(1,-1081345874,1035726191,-1109751565,1034565507)+W(2,-1105739926,1041467605,-1097896497,1069287141)+W(3,1045676499,-1097322898,1034595972,1022861151)+W(4,1035166617,-1116824529,-1127250349,-1103787577)+W(5,-1104285546,-1110450029,1041775082,-1111377560)+W(6,-1121294834,1020242785,1024987646,-1113169844)+W(7,-1109755223,-1162599282,-1128984227,1015705141);WS(1061587071,-1140717261); +sum1=W(0,-1112565188,1035683412,1034588141,-1105710858)+W(1,1024277837,-1104681461,1033519565,-1097426768)+W(2,-1082585266,-1091946062,-1086181493,-1084260507)+W(3,-1087521200,-1094344584,-1109665588,-1092361421)+W(4,1063001355,1057075562,1061257307,1062016535)+W(5,1059484653,1051726365,1053582679,1050023351)+W(6,1029148274,-1133150565,-1121255338,1031972073)+W(7,-1140527211,1015752222,-1140031633,1054184694);sum2=W(0,1052095029,1040595366,-1098987175,-1084153168)+W(1,-1091290481,-1096720628,-1101102486,1044734380)+W(2,-1068831962,-1076957703,-1081538085,1037971476)+W(3,1070110671,1069986978,1074264190,1070997731)+W(4,-1076286348,-1081349117,-1088771362,1057908839)+W(5,-1114213425,1063483875,1068552571,1075267150)+W(6,1061242602,1046002483,1040290526,-1093902656)+W(7,-1094367529,-1094489561,-1099236623,-1081182731);WS(-1071242520,-1095264341); +sum1=W(0,-1097248122,1017326143,-1105336241,-1091856432)+W(1,1051920949,-1097210280,-1122345698,999615444)+W(2,1057257956,1050464317,1059871125,1058219580)+W(3,1056167546,1051126389,1047883744,1055359408)+W(4,-1095464807,-1098731544,-1096805078,-1088025845)+W(5,1032394345,-1089070234,-1102431837,-1098523426)+W(6,-1098637431,1039614697,1034135507,-1098503641)+W(7,1057766069,-1095933097,1030493340,-1112287963);sum2=W(0,-1132961311,1034954689,-1131131128,-1105685093)+W(1,1044104138,-1118659572,-1117347443,-1140373421)+W(2,1038597560,-1114842936,1039456110,-1104727669)+W(3,-1085849936,1053272959,-1117746499,1049759548)+W(4,-1089057302,-1113751042,-1095192990,-1097910004)+W(5,1064526735,1045257331,1054461586,1062278408)+W(6,1055074030,1048893008,1046429121,1057064004)+W(7,-1091871118,-1096323208,-1090448877,-1081803378);WS(1055746431,1040288248); +sum1=W(0,-1154016945,-1117613130,-1108247483,-1114072538)+W(1,-1103530014,-1134724696,-1102903742,1046496384)+W(2,1057716289,1055590360,1059644857,1067207252)+W(3,1062212336,-1104299500,1049302591,1054319858)+W(4,-1093759650,-1094487986,-1089867895,-1085229664)+W(5,-1089860607,-1088563377,-1097577389,-1094962569)+W(6,-1122750430,-1117149477,1031955359,1016534394)+W(7,1044969554,-1137442922,1035178328,-1108831509);sum2=W(0,1041968914,1026703145,1033601916,1035338047)+W(1,-1106207855,-1094112140,-1100978937,-1106593629)+W(2,1051752153,-1115260470,1038625472,1052354182)+W(3,-1118891350,-1081023345,-1084581041,1066756564)+W(4,-1123800846,1035127537,1035458769,1035609386)+W(5,1057116581,-1104080857,1055976243,-1101750238)+W(6,-1117011966,1031245794,-1109678904,1050054059)+W(7,-1098815779,1038926653,-1108176195,-1107244818);WS(-1089881759,1037957184); +sum1=W(0,1000251530,-1117869170,1029072469,1031851625)+W(1,1024508279,-1105582638,-1121710869,-1105403363)+W(2,-1098029886,-1095515176,-1089055515,-1079829205)+W(3,-1094362449,-1105281331,-1112643769,-1102959900)+W(4,-1105974859,1060224425,1060210489,1061092856)+W(5,1060581840,1056017638,1040568609,1050032516)+W(6,1041712355,1040628361,1042449912,-1119516507)+W(7,-1102207965,-1107063314,-1112932479,-1124065669);sum2=W(0,1051114274,-1105565679,1055378846,-1098769061)+W(1,-1106275827,-1101598109,-1109849433,-1104426610)+W(2,-1102532150,-1114476854,-1082969540,1064670328)+W(3,-1102001010,1044770567,-1114021751,1049459491)+W(4,-1093533301,1038543175,-1075201485,1077554590)+W(5,1048871628,1040464379,-1111404687,1049461049)+W(6,1042271071,-1112348507,-1087360189,-1100903801)+W(7,-1115312306,1031777408,-1125205988,-1104546886);WS(-1089609215,-1090633405); +sum1=W(0,-1095985139,-1131730646,-1106836118,-1120898567)+W(1,-1122196780,-1108220230,-1113602180,-1111282801)+W(2,1060468726,-1114989785,-1111340153,-1083229835)+W(3,-1097505195,-1091862496,-1118278055,-1094974325)+W(4,1029992257,1035463235,1053834481,1057093887)+W(5,1060127651,1056095953,1053644551,1060964715)+W(6,-1106189340,-1121474072,-1109753904,-1170836447)+W(7,-1099640750,-1106303115,-1102165833,-1114233933);sum2=W(0,-1102755055,-1123071369,-1101642458,-1121616776)+W(1,-1123659230,1034971308,-1114444448,992820811)+W(2,1028184991,1018963304,1042446539,1048904011)+W(3,1022095962,-1102092583,-1115812270,-1115600403)+W(4,1014375557,1034540123,-1110958917,1055634924)+W(5,-1122273513,1047229966,1006913192,1032293939)+W(6,1018724927,-1154538439,1030328833,-1104340897)+W(7,-1123674010,-1103087688,-1118183380,-1116477720);WS(-1089497119,-1083970920); +sum1=W(0,1049400081,-1112985379,1032734776,1046931016)+W(1,1032966898,1026703569,1023567673,1020804657)+W(2,1017038202,1054102421,1052273107,1050677101)+W(3,1056472798,1054012759,1046736000,1054561791)+W(4,-1096866095,-1092440080,-1090492445,-1077775563)+W(5,-1095500286,-1141821439,-1103091876,-1096856494)+W(6,-1129668560,1023489999,1039999326,1047866250)+W(7,1031139121,-1128248842,1037611037,-1102316761);sum2=W(0,-1119432539,-1114702364,-1131454616,1045807900)+W(1,-1107556037,-1138592655,-1120197723,-1116354551)+W(2,-1113150368,-1107904829,1051795717,1065572002)+W(3,-1104213250,-1096394963,991774812,991245404)+W(4,1049552369,-1109676099,1049548364,1052256292)+W(5,1058452060,-1077576443,-1102019177,1049782966)+W(6,-1123950204,1034167140,1018171432,1024318084)+W(7,-1104886632,-1103410805,-1103678409,-1123412946);WS(-1092399743,1070790531); +sum1=W(0,1031557241,1024013147,1045977841,1049827334)+W(1,1044712430,1042539942,1022243624,1042631871)+W(2,-1110110152,-1123928476,-1100428029,-1093314535)+W(3,-1098211617,-1120318828,-1110797385,-1103475236)+W(4,-1086332927,-1104003948,-1091187884,-1110202001)+W(5,1031718940,1031171411,-1118825252,1047659449)+W(6,1040307665,1029330819,1054647477,1048337215)+W(7,1045074033,1042256462,1034920639,1041342974);sum2=W(0,1035080118,-1111978522,1043189101,-1107203795)+W(1,1020874649,1040978901,-1103963851,1014904337)+W(2,1049091174,1049791001,1038894820,-1088677682)+W(3,-1074681252,1032440616,-1139760881,-1132242473)+W(4,1068767241,1068692590,1041587068,-1079138335)+W(5,-1088844169,1033618204,1036797334,1040720920)+W(6,1056655092,-1120502660,1054889999,-1094007639)+W(7,-1106617291,1037089622,-1115116202,1029103732);WS(-1076899872,-1090262268); +sum1=W(0,-1111775583,-1105515965,1031134981,-1152866339)+W(1,1022185487,1031461535,991487050,1013082739)+W(2,-1105212520,-1109220950,-1105276619,-1081197371)+W(3,-1085735312,-1090100176,-1106571081,-1094472404)+W(4,1053805936,1044900104,1061229259,1056451270)+W(5,1061180827,1061600458,1040836429,-1114201801)+W(6,-1130865048,-1124779047,-1108606366,1012899053)+W(7,-1111684786,1038272628,-1123743158,1043636133);sum2=W(0,-1092758077,-1099940688,-1096959860,-1093749782)+W(1,1047974360,-1120633714,1036248767,-1113388587)+W(2,1054372816,1036990346,-1102824961,1072234824)+W(3,-1091574668,-1098403340,-1097220109,1024848209)+W(4,1025999909,1044094629,-1093700170,1074465248)+W(5,-1086059593,-1083936129,1045585843,-1093741871)+W(6,1025560437,1015649794,-1134776466,-1118772240)+W(7,-1097328702,1035273338,-1098634116,1051989609);WS(-1097318719,-1106686758); +sum1=W(0,-1138034233,1022220430,-1115259277,1037878284)+W(1,-1109043646,-1118564628,-1132126739,-1123355602)+W(2,1031803579,-1105675680,1060345356,1040095311)+W(3,1057210483,1018511203,1038086620,1040876381)+W(4,-1107190316,-1110575515,-1091489993,-1082557626)+W(5,1054616755,-1113047197,1037558661,1040895458)+W(6,-1118470609,1013564641,1028754310,1043380040)+W(7,-1126688788,-1103180903,-1105313401,-1110366427);sum2=W(0,-1116780480,1034654933,1033980194,-1106740681)+W(1,1037910476,-1110588743,1033369701,1006481529)+W(2,1011610145,-1109786563,1034290987,1058839838)+W(3,-1112504437,1048688059,-1100404580,1024874106)+W(4,-1126532250,1049246354,-1098441369,1055488745)+W(5,-1081564854,-1109313096,1046210019,-1122526519)+W(6,1031867194,-1117436106,1050453777,-1098876833)+W(7,-1101879397,-1105182695,1033744368,1042001428);WS(1061957727,1058150789); +sum1=W(0,1009728708,1031914819,1043097483,-1106863550)+W(1,-1097372952,-1108191069,1032793786,-1129266281)+W(2,-1099288198,-1097230757,-1087266183,1043273168)+W(3,1055416522,1050026271,-1110590381,-1108247452)+W(4,1046412713,1055587995,1056802398,1049133325)+W(5,-1086687979,-1105368103,-1107437206,1042988739)+W(6,1036440691,-1109853493,-1106212891,1023154886)+W(7,1047286155,1036106272,1024106902,-1120124353);sum2=W(0,1021676194,-1104415808,1041444786,-1104915444)+W(1,1042839409,1025561656,-1111488206,-1119893126)+W(2,1026925373,1041631623,1049347642,-1075706495)+W(3,1068941883,1049874161,-1096918949,1030080935)+W(4,-1130821928,1047340087,1055108729,-1078646873)+W(5,1058328878,1054741696,-1108156193,-1107876167)+W(6,1011207236,-1118374396,1032289888,-1097824639)+W(7,1041964936,-1122940124,1033049167,-1131526532);WS(1058678303,1013994144); +sum1=W(0,-1118673511,-1145988558,-1107600786,-1097799452)+W(1,1050901309,1025019066,1034380585,-1117490811)+W(2,1050426208,1032382213,1059103555,1061451838)+W(3,-1098106458,1032049821,1038038624,1043957152)+W(4,-1111022430,1019043839,-1086017695,-1090188381)+W(5,1050664020,-1093177128,-1133222475,-1113568728)+W(6,-1110204509,-1116037137,1043824660,-1111434373)+W(7,-1123560275,1043538778,-1104489131,-1110765932);sum2=W(0,-1105859137,1047608842,-1101390223,1011548907)+W(1,-1098146078,1047719826,-1099968186,1028887915)+W(2,1052524883,-1096529292,-1103682938,1018027622)+W(3,1039330573,-1101134187,1054816538,-1105962981)+W(4,-1116369180,1033298597,-1095014501,1063707518)+W(5,1056731707,-1086128756,1037701277,-1150004284)+W(6,1025172812,1035180205,-1138831970,-1096368530)+W(7,-1094263126,1061932077,-1095466983,1016476277);WS(1063038079,1033861047); +sum1=W(0,-1111914898,1040884807,-1102681756,1061986003)+W(1,-1095429920,-1109559865,1034752240,-1104233906)+W(2,1016779545,1014390112,-1109833994,-1095449911)+W(3,-1097838100,1019923216,-1148961393,1009274926)+W(4,-1107257338,1045397811,-1096677860,1065846455)+W(5,1029008656,1039008680,1033037520,1029851870)+W(6,-1114919788,-1162045399,-1101855164,1049909751)+W(7,-1097193708,-1113534130,1007645095,-1103320918);sum2=W(0,-1112457849,-1106002020,-1103752624,-1114732591)+W(1,-1102536580,1029961226,-1114728817,1038070251)+W(2,-1117177515,1017665294,-1098231154,1062239338)+W(3,-1097906884,-1101585142,1037597321,-1112453861)+W(4,1031942991,1033022206,-1133545004,1061426536)+W(5,-1109528685,1032626487,-1114069131,1032988844)+W(6,-1106095669,1041685053,-1095196752,1046863079)+W(7,-1105989872,-1120505375,1028074076,-1124888510);WS(1060691839,-1121680521); +sum1=W(0,-1112633460,1034282296,1016470792,-1124091490)+W(1,1036530779,-1110508885,1036991882,-1133939630)+W(2,-1105323108,-1097943963,-1091137362,-1083253895)+W(3,-1090987401,-1090137469,-1098291034,-1093525810)+W(4,1045243383,-1117038833,1060606770,1065759511)+W(5,1062311590,1056765570,1054157412,1057599172)+W(6,-1113361469,-1109479713,-1110311799,-1102522287)+W(7,-1114082482,-1104777690,1016563642,-1167556095);sum2=W(0,-1097189010,1041454563,-1110771302,1043926258)+W(1,-1109373654,-1109768355,-1114304258,1043669875)+W(2,1057901747,1039698409,-1122301550,-1125642190)+W(3,-1108285138,1020817735,1040279727,-1101494695)+W(4,-1086723052,-1087530727,-1094374456,1064818137)+W(5,1036021291,-1109979249,1055924705,1040712355)+W(6,-1086497310,-1090377488,-1110538585,1061014784)+W(7,1034378960,1044647130,1013465199,1050381101);WS(-1087684831,-1094525449); +sum1=W(0,1038107891,-1121734275,1035814365,-1107604308)+W(1,1038052214,-1101928869,-1104767443,-1127021124)+W(2,-1093934649,-1096975274,-1093954738,-1090018791)+W(3,-1088075930,-1090123804,-1106254226,-1100235009)+W(4,1052573184,1049163549,1040479417,1066601083)+W(5,1058232216,1057618495,1040796439,1051666987)+W(6,1038198313,-1113930844,1035537105,-1102439448)+W(7,-1113118893,-1148589172,-1146582942,1033628463);sum2=W(0,-1102391770,1032495868,-1140349122,1051494072)+W(1,-1080481573,-1072283498,-1085993190,-1091499210)+W(2,1038892506,1032348345,1055934176,1066287204)+W(3,1070533091,1056179234,-1098172645,1038613315)+W(4,-1109920182,1035913564,1043439866,1049172795)+W(5,1048700512,-1122911277,1042548330,-1103404378)+W(6,1034045130,-1111661823,-1148365864,1035742233)+W(7,1024670194,1043482108,-1117726050,1024343165);WS(-1095407551,-1073547033); +sum1=W(0,-1103915126,-1101976843,1024335748,-1108044768)+W(1,1050893513,-1095324014,-1107189281,-1114975198)+W(2,1043640456,1041775803,1061599658,1057524528)+W(3,1060862745,1028413803,1044362232,1051352312)+W(4,-1106314263,-1098551608,-1096990689,-1095708126)+W(5,-1102020840,-1092797676,-1110398586,-1097969466)+W(6,-1099126911,1023142916,-1110220795,-1106562202)+W(7,1056016670,-1099653918,1031215069,-1138223071);sum2=W(0,-1112168075,-1111493200,-1123529566,1022286331)+W(1,-1103466952,1035493883,-1113566520,-1106265315)+W(2,1034632723,-1122920764,1009053647,1049936313)+W(3,1051909492,-1099948229,1029419308,-1107051081)+W(4,1034960798,1040740621,-1105159128,1057592446)+W(5,-1126339526,1041517424,1016655048,1024151142)+W(6,-1112860057,-1108202591,-1115675116,-1112708946)+W(7,-1146770753,-1116950762,-1115594520,-1103163741);WS(1063407871,1051042354); +sum1=W(0,1005154604,-1120529264,-1106161584,-1130858780)+W(1,-1114354154,-1127255711,1023693521,-1115504868)+W(2,1049807310,1052429035,1057743574,1063894449)+W(3,1058090310,1052514789,1044231916,1049931918)+W(4,-1113122997,-1100831547,-1088929544,-1086654500)+W(5,-1089886688,-1092092086,-1106897472,-1097639884)+W(6,-1107282310,1042685852,-1113923042,-1129272494)+W(7,-1164896285,-1131567786,-1131959253,-1115987013);sum2=W(0,-1113031572,1030565628,-1127702936,992883874)+W(1,1014952720,990495554,1018238740,1023316920)+W(2,1043434467,-1108784254,-1111949688,1036810375)+W(3,-1111107284,1042918247,-1120169364,-1112993936)+W(4,-1088941888,1056568736,1036016830,1060861120)+W(5,1023742716,-1098281783,1022041004,-1112517088)+W(6,-1067187434,-1079041185,1074040966,1075709893)+W(7,-1099161149,992814626,1039733673,1028892682);WS(1053166591,-1107822593); +sum1=W(0,1033874440,1022746982,1035703758,1019810386)+W(1,1044260196,1042374543,1040749291,1041374685)+W(2,-1120335240,1031831786,1052124034,1048792350)+W(3,-1095582904,-1088629918,-1097950065,-1085974448)+W(4,-1105709561,-1108379508,-1093762507,1046826502)+W(5,1053612659,1045805451,1037463342,1042845918)+W(6,1042509273,1008295657,1044631286,-1124953572)+W(7,-1112928126,-1113071488,-1120529605,-1132054272);sum2=W(0,1010990056,1039106059,-1102786881,-1114641521)+W(1,-1133768253,-1101476912,-1103607882,-1113060394)+W(2,-1096561981,-1097601992,1031463124,1058004743)+W(3,1042505523,1041182740,-1105959219,-1099775079)+W(4,1040308359,1052717590,1058176412,1045709336)+W(5,1034355291,-1096768246,1033275384,-1105804625)+W(6,-1119485380,-1115258493,-1101721469,-1138490792)+W(7,-1101570252,1029590734,1037679123,1036565969);WS(1028916214,1067075549); +sum1=W(0,1039584518,-1119264713,1016298993,-1105861885)+W(1,-1113980813,1020015061,-1134777055,1032661512)+W(2,-1148995491,-1109885152,1055889168,1067421167)+W(3,1059632007,1055091716,1045130509,1052375930)+W(4,-1098323934,-1096386895,-1096985498,-1085982162)+W(5,-1087532161,-1088331431,-1095878225,-1104015130)+W(6,1026160863,1022848653,-1150434165,1034469007)+W(7,1044152506,1024761132,1032543553,-1104676378);sum2=W(0,-1120016029,-1096222017,-1119382227,-1092715875)+W(1,-1110818689,1049876716,-1103484103,1032841990)+W(2,-1101422768,-1103630239,1040689805,1064582511)+W(3,1043406218,-1089499537,1029271710,-1117522613)+W(4,-1104653664,-1105545071,-1120927281,1058022283)+W(5,1060808344,-1107109410,-1107008053,-1105419897)+W(6,-1122344899,1042131820,-1120071349,-1101606830)+W(7,-1096987934,1051590178,-1099435532,1050342947);WS(1047020030,1040511430); +sum1=W(0,-1108637223,1033110649,1044090139,1043424750)+W(1,1036624046,-1120308481,1033721201,-1106849700)+W(2,-1092384755,-1090443530,-1085982557,-1080046633)+W(3,-1083957593,-1096279270,-1149642107,-1100324533)+W(4,1057603229,1053549631,1061618217,1047924234)+W(5,1053999549,1057048888,1057845673,1052833857)+W(6,1031927268,-1122999800,1026366340,1032840448)+W(7,1015929108,1020572028,994286645,1039624063);sum2=W(0,1035208568,1043030610,-1107699159,1044796248)+W(1,1034655700,-1103668262,1045164876,-1095424772)+W(2,-1124082321,1008382386,-1107061123,1049576136)+W(3,1051573865,1048541752,-1093669891,-1134934914)+W(4,-1093736918,1050323039,-1114950423,1074526989)+W(5,1073198167,-1080621030,-1074078238,-1079139349)+W(6,1048736861,-1118377912,-1106119918,-1111443567)+W(7,-1132389881,1034733436,1034120076,1029501600);WS(-1080108544,1072234904); +sum1=W(0,-1115070415,-1130610603,-1098588213,1057466749)+W(1,-1104374087,1029557602,1018553236,1001112594)+W(2,1027588151,1029085890,1032775046,-1089931562)+W(3,-1123371019,-1094030554,1034779836,999211181)+W(4,1031137458,-1104252646,1056995037,-1083673968)+W(5,1052314097,1050628415,1033643941,1036988180)+W(6,1018404227,1044293186,1028038521,1050777268)+W(7,-1093125043,1046325824,-1108340394,1020739741);sum2=W(0,-1115557063,-1118678156,1045099863,-1102856438)+W(1,1035209289,1035167397,-1117208818,-1120387027)+W(2,1043108929,1033401680,1036186051,-1124450766)+W(3,-1112637977,-1114646959,1012643139,-1132473655)+W(4,-1138826120,-1093193803,-1079584214,1068262877)+W(5,-1121148137,1041792105,-1138286224,1032348301)+W(6,-1108049897,-1109597407,1013268663,1049634970)+W(7,1046161245,-1111895568,-1127251156,-1116707942);WS(1061770399,1033097145); +sum1=W(0,-1127803310,-1108446526,1046619869,-1102069216)+W(1,-1115166002,-1107462472,-1113123881,-1109525661)+W(2,-1100493560,-1122290538,-1090144134,-1124504076)+W(3,-1096124978,-1113245389,-1115437168,-1114380655)+W(4,1049484359,1040952192,1049567736,1060283011)+W(5,1036170309,1049188012,1004781969,1043620172)+W(6,-1117956049,-1101349332,1015706547,1051006353)+W(7,1027971186,-1105896346,1011773295,-1118021614);sum2=W(0,-1115090363,-1146121477,1029869322,1039239074)+W(1,-1123366919,-1123569769,-1115297931,1022224092)+W(2,1035607607,1032878473,1020296178,-1094567498)+W(3,-1133024223,-1111505684,1036037468,1025152664)+W(4,1036976780,1008730983,1050702114,1060438996)+W(5,-1092544833,-1088372125,-1119747923,1015952550)+W(6,-1102631851,-1105868946,-1106613659,1056742871)+W(7,1056526109,-1103439045,-1114092237,-1109382916);WS(1063262431,1041246684); +sum1=W(0,-1095604910,1035931377,-1116408259,-1113418944)+W(1,1035543059,-1109446615,1041501409,-1111045021)+W(2,-1094141452,-1103734011,-1088213584,-1084116356)+W(3,-1088057339,-1084926720,-1095142868,-1085134126)+W(4,1054301899,1050116188,1059695011,1063045487)+W(5,1060587189,1062081288,1055163174,1061043357)+W(6,1050361575,1015464930,-1130477940,1005018697)+W(7,-1114430457,-1112900435,968128030,1012274924);sum2=W(0,-1088652568,-1101936220,-1091191468,-1102444501)+W(1,-1123800532,-1111069004,-1088813372,1050243792)+W(2,1079171932,1073764649,1074855165,-1113430470)+W(3,-1095064501,-1078839186,-1078450334,-1071519758)+W(4,1068650823,1062997529,1053027607,1039600983)+W(5,-1105207914,-1082346847,-1088354544,-1081653443)+W(6,-1089634291,-1106083041,-1102140198,-1123235056)+W(7,1028735871,1056073450,-1114344542,1060600412);WS(-1071343712,-1080188504); +sum1=W(0,1048814204,-1112944093,1038698214,-1110388460)+W(1,-1102353903,-1113346827,-1115354285,-1172877482)+W(2,1024112567,992179242,1035991718,1065540811)+W(3,1062800155,1057270438,1047814390,1055244391)+W(4,-1101821021,-1105846854,-1110088095,-1086620536)+W(5,-1085891530,-1092189183,-1094362793,-1096652125)+W(6,-1155239198,-1115614373,-1117961066,1022833410)+W(7,1037955557,-1130491710,1026576596,1021561214);sum2=W(0,1077488778,1067869852,-1080283979,-1070445594)+W(1,-1085461181,-1113067149,-1135625536,-1105631704)+W(2,1057844910,1017329883,-1112258962,1038200220)+W(3,1045877800,1016515143,1029029881,1026840239)+W(4,-1110901413,-1123912240,1048616910,-1103189448)+W(5,1033584054,-1113680120,1006246833,1028070058)+W(6,-1157420388,1016773013,-1127671945,1027002057)+W(7,-1139116556,-1108492850,1033508697,-1122607860);WS(-1114300667,-1123436789); +sum1=W(0,1048745214,-1106612992,1040619730,-1101020989)+W(1,-1120049178,-1129452308,-1112058252,1040777596)+W(2,1024457460,1049280824,1061265254,1066754197)+W(3,1060475010,1056957204,1052291799,1051532558)+W(4,-1084727981,-1099711469,-1091611130,-1090437274)+W(5,-1087975654,-1087165059,-1095257281,-1091858685)+W(6,-1124831645,-1120312678,991636461,-1115033343)+W(7,1037659252,1036876438,1024723233,-1128167880);sum2=W(0,-1102675226,1045758589,-1106608364,1037856863)+W(1,-1121700495,1038509645,1041300787,1013024414)+W(2,-1096018291,1033992894,1053924217,1023354017)+W(3,1045521037,-1112080608,1019757091,-1111416466)+W(4,-1064870457,-1078407710,1074354229,1077566439)+W(5,1055978728,-1100523264,1032114149,-1096094745)+W(6,1050758265,-1091427154,1044800412,-1122690967)+W(7,1037435194,-1101170582,1048475585,1031501486);WS(-1081349952,-1073531246); +sum1=W(0,-1130396178,-1123247001,1049234666,-1123595694)+W(1,1044575749,-1118849787,1027091408,1015989072)+W(2,-1092471918,-1094799967,-1087091570,-1083589055)+W(3,-1090515766,-1088301188,-1100895532,-1095518837)+W(4,1052933181,1040552427,1062313536,1056428784)+W(5,1060166366,1052569014,956727337,1057005798)+W(6,-1120779255,1032899791,1048808240,1047688662)+W(7,1025076592,-1104574961,-1114767697,1028829344);sum2=W(0,1036727690,1038605852,1000461252,-1108807283)+W(1,-1118764382,1040753555,1025474323,1026410269)+W(2,-1101780564,1036224480,1043313873,1058417373)+W(3,-1110550387,1041024731,1032765623,-1114514162)+W(4,1047063866,1003722492,1071364196,1075919102)+W(5,1031984760,1052825370,-1104266299,1049040777)+W(6,-1095151348,-1101329253,-1071443435,-1072909475)+W(7,-1137970650,-1094681513,-1130737363,-1100563228);WS(-1087415039,1075227720); +sum1=W(0,1014202565,-1121306305,-1115466670,1055732347)+W(1,-1088701572,1045428619,-1106855619,-1113272762)+W(2,1030200505,-1093044977,1052765481,-1086016434)+W(3,-1108244135,1044242725,-1102530383,1042147022)+W(4,1042588557,1045750086,-1099185023,-1102841730)+W(5,1060432915,1001272287,1047811955,1043051755)+W(6,1032642210,1039690838,-1099716881,1054066516)+W(7,-1089156724,1045967960,994787170,-1114980876);sum2=W(0,1034817173,-1106843150,1035283571,-1117324330)+W(1,-1106783723,1033652183,-1105003316,-1109219720)+W(2,1033088277,-1115275500,-1108330169,1059951304)+W(3,-1114610359,-1130129964,-1100855920,1017452836)+W(4,-1105460751,1042281307,-1117933953,1055263105)+W(5,1036736577,1034893511,1040893249,1026860110)+W(6,-1119967238,-1122100142,-1118763227,1033190213)+W(7,-1099584511,-1097591398,1043864443,-1097701018);WS(1061885343,-1093433134); +sum1=W(0,-1119074171,1040591342,1024365415,-1112185530)+W(1,-1102861510,1047951017,1033079635,1030794670)+W(2,-1116612499,-1106037336,-1090085717,-1110885309)+W(3,1058148680,-1098920364,-1104145445,-1102965524)+W(4,1043937396,1035985530,1054530437,-1105284753)+W(5,-1085809524,1042740717,-1143903027,1048819605)+W(6,1026065358,1035233146,1023445318,1041032751)+W(7,1043298226,1028431483,1030877520,-1110782149);sum2=W(0,-1120425303,1041777983,1008642595,1038578170)+W(1,-1103931105,-1144970974,-1139607395,-1105571910)+W(2,-1115506247,-1109249837,1051302633,1062460419)+W(3,1046700430,-1110379832,-1121481149,-1125592805)+W(4,-1089905659,-1082926483,976609774,1062992305)+W(5,1016533657,1046952726,-1128426413,1044012895)+W(6,-1106986872,-1093100415,-1100742938,-1121360027)+W(7,1026171953,-1123505732,1047068010,-1108759193);WS(1057387711,1071476886); +sum1=W(0,1029774760,1046876472,1049447728,-1104814472)+W(1,1047761369,-1107998911,1035672969,1025453339)+W(2,-1088145158,-1090879061,-1087750555,-1081209882)+W(3,-1102041597,-1088704948,-1101378696,-1090772220)+W(4,1058722665,1046940920,1062289140,1060559271)+W(5,1057163193,1046238393,1049034574,1051154538)+W(6,1026644842,-1124024690,1034805113,-1101227374)+W(7,1041428045,-1112057972,-1123650077,1045125730);sum2=W(0,-1079574021,-1076424748,-1084651933,-1079383446)+W(1,-1094010079,-1105513599,-1094989946,-1083946107)+W(2,1066168402,1072246945,1055648588,1069722149)+W(3,-1105729737,1052366950,1046266897,1064021500)+W(4,-1106633910,1039775524,-1122282375,1050613020)+W(5,-1112550614,1046757765,1041413657,-1117589808)+W(6,1033041398,1025560740,1042767844,-1122422479)+W(7,1029478726,1029747528,-1132333344,-1110924549);WS(-1088291167,-1076464582); +sum1=W(0,1038365083,1013092187,1049005176,-1096083994)+W(1,1046666973,1029385568,-1130846211,1035921309)+W(2,1048475643,1039614653,-1105893787,-1090164821)+W(3,1048630844,1052597003,1030762351,1049653618)+W(4,-1115380053,-1115741870,-1115211424,-1106465144)+W(5,-1092124773,-1097273638,-1104199584,-1098780292)+W(6,-1113517956,-1118168192,1038779144,-1103584918)+W(7,1051487172,1036949051,1029432699,1041505439);sum2=W(0,-1102442432,1042447103,1009200726,-1140140535)+W(1,1018235219,1038566242,-1105836948,-1119461411)+W(2,-1119046775,-1103497340,-1108371687,1063726871)+W(3,1023996549,-1100556235,-1134905751,-1115426548)+W(4,1038119755,-1117033259,-1111757198,1053430514)+W(5,-1097582390,-1130738637,1027482933,1038939472)+W(6,-1116688635,-1109692823,-1136365839,-1103585210)+W(7,1035998106,-1122627505,-1113769016,-1131103707);WS(1063535295,-1106643391); +sum1=W(0,998897947,-1114069468,1030590255,-1120649212)+W(1,-1112623985,-1135800742,-1126057998,-1118923687)+W(2,1049160779,1050551697,1037435628,1059662980)+W(3,1051258674,1051146291,1042046535,1051522915)+W(4,-1095715331,-1114097198,-1091439068,-1098500149)+W(5,-1093374928,-1112852607,-1104302276,-1098602138)+W(6,1022592892,1035333911,-1105875754,1036951763)+W(7,-1097348874,1021555078,1032877804,-1118947123);sum2=W(0,1020791040,-1119848331,1028098574,1024075228)+W(1,1036335573,-1114214294,1028067710,-1123998545)+W(2,1023004440,1035188360,1036866165,-1081188844)+W(3,1036267331,1020492762,1026996488,1028180222)+W(4,-1131522740,1010552055,-1087402238,-1063807577)+W(5,-1074297638,1044255896,-1109527927,-1125487816)+W(6,-1130592194,-1114014595,1057774258,1085749988)+W(7,1072260443,-1101071935,1041502854,-1121770211);WS(1065370528,-1140007425); +sum1=W(0,-1119191691,-1123119348,1043193134,-1144777506)+W(1,1048874737,-1114692372,1047204584,1028382351)+W(2,-1089109360,-1093467562,-1104035088,-1082641845)+W(3,-1090665335,-1085597050,-1097312497,-1084438004)+W(4,1051697742,1051845168,1049231373,1058881533)+W(5,1060727795,1053776045,1050811579,1054559607)+W(6,1048704645,-1120571445,1047054964,-1128753754)+W(7,-1122636375,-1135014444,962936920,1047044271);sum2=W(0,1072219394,1068804680,1068134846,1066171639)+W(1,-1095987744,-1080918851,-1077110574,-1071545857)+W(2,-1078126224,-1079031251,-1078951161,-1087436811)+W(3,1039512383,1067164113,1069504242,1075315134)+W(4,-1093298188,-1110022070,-1084926454,-1107767815)+W(5,1055586357,1031793821,1041030661,1055897321)+W(6,1011861728,1040923692,-1105857084,-1121892273)+W(7,1026590003,1040751494,-1123439499,-1109554506);WS(-1089696543,-1143233957); +sum1=W(0,-1115482013,1045323653,-1096516931,1035013745)+W(1,-1162367211,1054106403,-1107204469,1036179510)+W(2,-1129127938,-1098483714,1045383939,-1091150045)+W(3,1043411549,-1086835476,1048447553,-1103773800)+W(4,1041381507,-1110243009,1059582003,-1106321908)+W(5,1034020454,1026676964,1034191370,-1159158363)+W(6,-1122467892,1049605572,-1090424421,1043667267)+W(7,-1109629626,1048548650,-1105600748,1035568493);sum2=W(0,-1134008573,-1125596513,1011008945,1051842604)+W(1,-1125276577,-1118729604,-1111959837,-1117720498)+W(2,1032064725,-1121806942,1045441656,1065460002)+W(3,-1114964420,-1130705389,-1121883022,1034360078)+W(4,-1117795542,1035355315,1024667789,-1089961367)+W(5,-1081892598,1026896379,1020053498,1023648883)+W(6,-1113496357,998755498,-1119910472,1041632626)+W(7,1035390555,1032979221,-1129745921,-1115672512);WS(1065278079,-1120402802); +sum1=W(0,1031924074,-1115548942,-1106896516,-1112658654)+W(1,-1103991244,-1121670257,-1115583119,1031270934)+W(2,1052390115,1049303261,1045251552,1060948388)+W(3,1062622505,1054395391,1045812503,1048618059)+W(4,-1097070063,-1099757447,1040981136,-1081623390)+W(5,-1085365853,-1096062708,-1101077740,-1099232531)+W(6,-1116671142,-1118597165,1041336272,1043338841)+W(7,-1145407604,1032773481,-1123616408,-1127437558);sum2=W(0,-1114021356,1032565152,1056835748,-1085160508)+W(1,1058685385,-1086618535,1047242231,1032715041)+W(2,-1110767736,-1122384971,-1085457975,1068814369)+W(3,-1085213012,1063574785,-1144776155,-1097434793)+W(4,-1100377718,1041858293,-1085697040,1060746614)+W(5,1057245366,-1094120608,-1093482365,1056356490)+W(6,1034493514,1019779384,1016590225,-1097525969)+W(7,1043875459,-1097974912,1054776673,-1096653037);WS(1055688959,-1109584743); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0][0] = HOOKED_texOff(vec2(-1.0, -3.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-1.0, -2.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-1.0, 3.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-1.0, 4.0)).x; +samples[2][0] = HOOKED_texOff(vec2(0.0, -3.0)).x; +samples[2][1] = HOOKED_texOff(vec2(0.0, -2.0)).x; +samples[2][2] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[2][3] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[3][0] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[3][1] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[3][2] = HOOKED_texOff(vec2(0.0, 3.0)).x; +samples[3][3] = HOOKED_texOff(vec2(0.0, 4.0)).x; +samples[4][0] = HOOKED_texOff(vec2(1.0, -3.0)).x; +samples[4][1] = HOOKED_texOff(vec2(1.0, -2.0)).x; +samples[4][2] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[4][3] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[5][0] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[5][1] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[5][2] = HOOKED_texOff(vec2(1.0, 3.0)).x; +samples[5][3] = HOOKED_texOff(vec2(1.0, 4.0)).x; +samples[6][0] = HOOKED_texOff(vec2(2.0, -3.0)).x; +samples[6][1] = HOOKED_texOff(vec2(2.0, -2.0)).x; +samples[6][2] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[6][3] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[7][0] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[7][1] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[7][2] = HOOKED_texOff(vec2(2.0, 3.0)).x; +samples[7][3] = HOOKED_texOff(vec2(2.0, 4.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns256, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/nnedi3-nns256-win8x6.glsl b/shaders/nnedi3/nnedi3-nns256-win8x6.glsl new file mode 100644 index 0000000..6364ec8 --- /dev/null +++ b/shaders/nnedi3/nnedi3-nns256-win8x6.glsl @@ -0,0 +1,706 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns256, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1118812211,-1118354985,-1108702207,-1107177196)+W(1,-1116025261,-1113369587,-1126504964,-1117760744)+W(2,-1127312137,1040658850,-1105559165,1024463101)+W(3,-1120674615,-1117458482,-1124477727,1041726453)+W(4,-1102924251,-1120327001,1037346316,-1097807929)+W(5,1051925971,1061593601,-1098269094,1015141868)+W(6,-1120777358,-1114916026,1042061230,1053108884)+W(7,-1109857889,-1129934237,-1137814218,-1101147334)+W(8,1032645830,1029100907,-1121960158,-1114359336)+W(9,-1128256674,978731342,1026597474,1023094846)+W(10,-1133406593,1018102856,-1118580651,-1112914505)+W(11,1040041685,1010634196,-1137769344,-1124738995);sum2=W(0,1012167794,1034293816,1040949842,-1073125242)+W(1,-1098861131,1034317546,975711915,-1103749327)+W(2,-1105000392,-1097051670,1026609280,-1107080190)+W(3,1007876102,1042152488,-1113573827,1048636347)+W(4,-1103172582,1037196612,-1112492311,1032768248)+W(5,1065119806,1064777150,1028248806,-1106667446)+W(6,1037438381,1026775674,1049707133,1035198208)+W(7,1042916747,1024046979,-1104922990,-1112883791)+W(8,-1118855570,1049268872,-1108803486,-1112062411)+W(9,1035896848,1009005510,1019305156,-1110039318)+W(10,1037762592,1031133421,-1129478003,1029694272)+W(11,-1105233202,1045598091,1002108025,-1116379320);WS(1002542528,-1081598301); +sum1=W(0,-1123106403,1018532849,1058293919,-1096563748)+W(1,1033211315,-1104454821,1003194766,1031358712)+W(2,1048723343,-1102943230,1043311017,1033034550)+W(3,-1115291860,-1100442248,1060312385,-1084853826)+W(4,-1122032382,-1105126162,-1120609928,-1102109750)+W(5,1065191364,-1082116255,1048832547,-1093430837)+W(6,1033033375,-1124327881,1057579241,-1090047916)+W(7,1045565001,1033480943,-1104418325,1022719310)+W(8,1055391647,-1090520747,1034840623,-1104668395)+W(9,1031657633,1042404749,1048926634,-1115672903)+W(10,1040065984,1041617645,-1140694509,-1173350542)+W(11,1057234642,-1088607906,1034960904,-1100859732);sum2=W(0,-1118979564,1038135851,1040555036,1046730291)+W(1,-1098841046,1010901456,-1136455954,-1098903542)+W(2,-1113356687,-1091503884,1033064908,-1105119573)+W(3,1031647880,1043936541,1041172918,1053446821)+W(4,-1105844234,1050988870,-1098733088,-1095471090)+W(5,1058853402,1057969905,-1107613268,-1096003667)+W(6,1032618663,-1114646115,-1111675314,1026777488)+W(7,-1104403193,1040941647,-1115252794,1050331000)+W(8,1042547849,1032649026,-1109177822,-1135105484)+W(9,-1105564107,-1107943513,-1102521857,-1097022326)+W(10,-1106932655,-1111654963,1028338874,1030299514)+W(11,1048036907,1045220138,-1104926499,1015146572);WS(-1089089900,1057806976); +sum1=W(0,-1107295812,1034138799,-1095422036,1050726826)+W(1,1041715821,-1107540610,-1127595840,1025412102)+W(2,-1098433268,-1189029283,-1122343505,-1114195981)+W(3,-1123024597,1036945929,-1092642698,1055732365)+W(4,-1122551116,1004508092,-1107414907,1043589025)+W(5,-1086058047,1066834483,1012137296,-1123010964)+W(6,1016079705,1048626936,-1087422851,1060391966)+W(7,-1112593208,1021997657,-1114511976,1026901142)+W(8,-1090938821,1050840209,1032081267,-1116540066)+W(9,-1121404144,-1122208804,-1099844512,1046023279)+W(10,1025525231,-1117735535,-1120167114,-1132433569)+W(11,-1092394401,1054523402,1034856335,-1140325311);sum2=W(0,-1100068589,1045053907,1035618626,1049401249)+W(1,1036897142,-1103084156,1040406565,-1112537807)+W(2,-1097933278,-1091711434,1040848725,1039746012)+W(3,-1105732125,1034765996,-1099579155,1056573344)+W(4,-1089717374,1030295740,-1129255625,-1096936254)+W(5,1047111871,1055190008,1050298277,-1110783667)+W(6,-1110986904,-1098576495,1056019034,1058665437)+W(7,-1089302244,1041764164,1041854514,-1119869595)+W(8,-1119227686,-1092612461,1058580142,-1100808273)+W(9,-1108063740,-1108123574,1029490732,-1121089271)+W(10,-1127874601,1022690203,1040297872,-1106886121)+W(11,996712344,-1113107096,-1110437244,1034569294);WS(1049963735,-1124746024); +sum1=W(0,1006389467,1034213253,1058411598,-1089111694)+W(1,-1120169982,1033778855,991131306,-1110639240)+W(2,1049374726,-1111102680,1039576302,-1134195605)+W(3,-1124991168,-1124116580,1060442825,-1086690096)+W(4,1018630958,-1122058050,1036315168,-1106688436)+W(5,1064243752,-1080857842,1032153615,1024033695)+W(6,-1114080443,1016950458,1058630778,-1086343400)+W(7,1034713638,1016006830,1034164414,1034354600)+W(8,1057235431,-1086990857,1036089759,1017381585)+W(9,-1168983685,-1118357326,1051622657,-1099687954)+W(10,1035150121,1027377121,1034869786,1046100667)+W(11,1028310995,-1090257402,-1126482082,-1130216101);sum2=W(0,-1114775505,-1111353121,1051023520,1077280281)+W(1,1042396970,-1100155636,1022693528,1040828458)+W(2,1041444385,1083159907,1039028690,1038899070)+W(3,1033686534,-1108626677,-1101109690,-1090827263)+W(4,-1129576724,-1108327399,-1159675846,-1179590680)+W(5,-1089609004,-1064966677,-1146898193,-1128357112)+W(6,-1112709023,1041114289,-1101828769,-1073695373)+W(7,-1117377551,1026559236,1033838002,1028829848)+W(8,1037546580,-1090323484,1046069066,1017563688)+W(9,-1125624388,-1108121837,1033655640,1042738654)+W(10,-1098820901,-1149039617,1032684170,1037026782)+W(11,-1104771455,-1104201752,1049907200,-1119733667);WS(-1082925548,-1131273240); +sum1=W(0,-1130676005,1028984921,-1090453298,1056020338)+W(1,1036092472,1031745797,1024417890,1026031368)+W(2,-1094705109,1048479050,1026370227,1023514525)+W(3,-1127912110,1046418962,-1088411833,1054709085)+W(4,1040943828,-1139610597,-1123681912,1048544370)+W(5,-1080625999,1056570469,1016526011,1039178347)+W(6,-1128802908,1032747842,-1078821070,1060414079)+W(7,-1134933227,-1115579031,1009745483,-1115143804)+W(8,-1093720869,1058018725,-1146727344,1033865376)+W(9,1030244593,1035809011,-1115224705,1048613352)+W(10,-1126383553,-1123856496,-1124372951,1012870858)+W(11,-1099806226,1053689379,1034696072,1032018765);sum2=W(0,-1117505397,-1114926763,1048798551,-1102904639)+W(1,1025448640,-1112830121,-1126832117,-1140231915)+W(2,-1146496262,-1113101086,-1129185935,-1125809392)+W(3,-1116692107,-1125548157,1045683415,-1125191934)+W(4,1034411663,-1121525964,-1107644007,-1125354742)+W(5,1053833339,1000279686,-1120274227,-1113082203)+W(6,-1117458583,1042669208,1057710126,-1104919217)+W(7,1041220979,-1111650191,-1123105101,1027773818)+W(8,1032098567,-1107525999,1022009255,1035574395)+W(9,-1117032217,-1115355410,-1100115369,1032507221)+W(10,1021108475,-1112638630,1004815486,-1119603373)+W(11,-1110288078,-1103622420,1039592007,-1117835672);WS(-1089340204,1064822548); +sum1=W(0,1024560260,1040632746,1042654740,-1106019185)+W(1,-1121721479,1037194524,1017532199,-1123651609)+W(2,1053882699,-1094337163,1033472482,1028050126)+W(3,1036465700,998268921,1058440180,-1083627654)+W(4,-1112650528,993325743,1032538389,-1115892569)+W(5,1062655475,-1081203240,1042941034,1013010462)+W(6,1031720480,-1109887627,1057084090,-1087921069)+W(7,1046201917,1035154240,1035008482,1033415588)+W(8,1054084900,-1086686700,1038013786,1021897635)+W(9,1020865894,-1112010572,1046711885,-1098821294)+W(10,1039144481,1027972046,1041385023,1043778521)+W(11,1050203279,-1083224116,1043447032,-1131974615);sum2=W(0,-1108565409,1034353453,-1088688588,1053209723)+W(1,1049996954,-1107721619,1041490776,1018486577)+W(2,-1105841420,-1092734414,1039814215,-1122233136)+W(3,-1103680498,-1113519263,1037914109,-1094792328)+W(4,1034343810,-1116717915,-1113858207,1052082200)+W(5,1062919581,1049986423,1012724150,1040029087)+W(6,1018958125,-1097140178,-1095558118,-1107726366)+W(7,-1098318745,1007719490,-1139146344,1046768714)+W(8,1049328132,1044527939,1024888668,-1100531711)+W(9,1024460115,-1098207895,1041960027,1046336394)+W(10,-1106186917,1037888927,-1111959213,-1128703602)+W(11,1035231667,-1110040773,1036710347,-1102670680);WS(-1083458668,-1076208878); +sum1=W(0,1028803476,1040683401,1046406904,-1098733730)+W(1,1004468631,1030855367,-1119221604,-1097616301)+W(2,1051879501,-1093169213,-1110693690,-1111140815)+W(3,-1136427363,1042493937,1058517387,-1088547874)+W(4,1024040880,-1127640694,1033962333,-1106128994)+W(5,1062475632,-1086787145,1045297574,-1108587948)+W(6,-1108948664,-1096558041,1061490456,-1088927588)+W(7,1028806548,-1104411844,1041264181,1044433886)+W(8,1053313566,1035939910,1038834422,1040762412)+W(9,-1108358441,-1097860853,1049919352,-1096390160)+W(10,-1095128350,-1118015030,1032628870,-1123751924)+W(11,1054299289,-1130402734,-1106314264,-1165494119);sum2=W(0,1016611708,1016478676,-1110195557,-1101004152)+W(1,1040169462,-1128480930,1037888148,1037533502)+W(2,1036667983,1029018929,1051795874,-1116498505)+W(3,-1105282980,1012928145,-1126800264,-1092116144)+W(4,1041335879,-1105668811,1016374797,1042320298)+W(5,-1123884642,1048907311,1052196876,-1110762465)+W(6,-1146676672,-1119445205,-1097480948,1063932318)+W(7,-1105880602,-1096424000,-1118267731,-1133007186)+W(8,-1111241984,1045206632,-1088285853,1016609657)+W(9,-1130451858,-1123652878,1039970164,1051255124)+W(10,-1095104183,1029046774,1032410610,-1114217777)+W(11,1039354964,1032089604,-1090379026,1046489649);WS(-1104670894,-1131977046); +sum1=W(0,-1112648188,-1127207577,1054983097,-1088875575)+W(1,1031188251,-1103988635,-1122872327,1044660591)+W(2,1050049705,-1112061830,1037435556,1027063042)+W(3,1034658686,-1159198685,1055452918,-1088327234)+W(4,1047857485,-1117747167,-1105196647,-1091967838)+W(5,1062208630,-1080890076,1027642075,-1097581231)+W(6,1040705957,1050515731,1055187309,-1103107959)+W(7,1054501223,1026629396,-1105551222,-1105182655)+W(8,1051606290,-1088400827,-1109004816,-1115427963)+W(9,-1121117111,-1127322710,1047450666,-1103254713)+W(10,1042878098,-1119280070,1017793890,1049557794)+W(11,1052382814,-1097595959,1041414585,-1121163375);sum2=W(0,1016354951,1027513536,-1143898815,-1120711631)+W(1,-1121835937,1011202413,-1117974191,1035918257)+W(2,1029824032,1038928177,-1110582057,1027020738)+W(3,1039379806,1037237024,-1103985849,-1101088822)+W(4,1009730353,-1113735870,1055799129,-1144611727)+W(5,-1097216592,-1097673825,1040607236,1044957698)+W(6,1043516685,1028380863,-1106760625,-1124050651)+W(7,-1115312251,-1114960631,1037116388,1042440009)+W(8,-1103814691,-1105579212,1038947942,1027787831)+W(9,1033575170,-1106882882,-1123395355,1026359109)+W(10,-1135830635,-1133116095,-1131729016,1025801393)+W(11,-1136138683,1011024469,-1112603972,1008198659);WS(-1096559831,1037484900); +sum1=W(0,1028249855,1038422322,1057397273,-1091437192)+W(1,-1101563608,1033785689,-1134487991,1027879764)+W(2,1048869250,-1098773026,1029769503,1031362249)+W(3,1034313250,1029515489,1056640275,-1086850776)+W(4,-1127965876,-1173649736,1016173128,-1112460521)+W(5,1065757625,-1083502823,-1131269971,-1128247556)+W(6,1027417370,-1107825326,1058322735,-1083394976)+W(7,1044386388,1035484541,1028347039,-1123304579)+W(8,1054334819,-1089694535,-1107441417,-1132373103)+W(9,1000575210,1030471249,1052511918,-1098313541)+W(10,1031752252,1034873120,1035635068,-1120703806)+W(11,1052376319,-1102551488,-1098473097,-1142130892);sum2=W(0,-1112511339,-1073555081,1076402541,-1104998932)+W(1,-1101584674,1037626737,1040888051,-1070793862)+W(2,1075658117,1054215981,-1115233903,1015165170)+W(3,1033770332,-1069228230,1075655149,1042820552)+W(4,1010151672,1023929473,1027239578,-1071158503)+W(5,1077820889,1046227202,1035248614,1033175695)+W(6,-1109060021,-1080567434,1045918702,-1095422364)+W(7,1038949494,1025525751,-1135961020,1047598893)+W(8,-1118850699,-1101978428,1049027220,1032251645)+W(9,-1113507810,948656059,1035044244,1045389579)+W(10,1028467783,-1117328038,-1110941727,-1129804625)+W(11,1026016583,-1103164541,-1118124613,1042587545);WS(-1081931126,1073966570); +sum1=W(0,-1121849711,1035175459,-1121951547,1027761070)+W(1,1025905706,-1114686833,-1146361331,-1097410109)+W(2,1026127169,1045225025,1037511592,-1113648733)+W(3,1017322599,1043585907,-1144746721,-1106255910)+W(4,1043091875,1017686828,-1106692309,-1120101763)+W(5,-1091000962,1065386286,-1111228857,-1108319001)+W(6,1025148299,1050307440,-1079735571,1061827739)+W(7,-1120837551,1018597782,-1106210884,1038219466)+W(8,-1091953433,1056380469,-1102991437,-1147707682)+W(9,1006422511,1023773090,-1096168868,1049682211)+W(10,1003336935,-1110127893,-1115138804,-1132131774)+W(11,-1102445962,1046599772,1040799505,1028136822);sum2=W(0,-1106398945,1035173169,-1101335301,1053305068)+W(1,-1121291886,-1109509581,1034732755,-1090565718)+W(2,1056357842,1050400788,-1115544374,-1107192051)+W(3,-1136096426,1037348813,-1122254044,1036743473)+W(4,-1105444760,1016457143,-1116038033,-1089313148)+W(5,1066071262,1057700465,-1086616818,1022772267)+W(6,1044672515,1037418911,-1095175639,-1084949846)+W(7,1050477957,1033704361,-1100200943,1045738761)+W(8,-1132458755,1003355997,-1102270714,1035291569)+W(9,1037208365,-1130864309,1007521414,1030076164)+W(10,1045722667,-1111299866,1025870712,-1117649125)+W(11,1025322164,-1106413087,999303933,1024551876);WS(1052508503,1065718149); +sum1=W(0,1042149474,962035242,1048663227,-1097510801)+W(1,1028239019,1038442493,-1109127212,-1098223900)+W(2,1043423478,-1096660204,-1104342914,-1109357577)+W(3,1041796883,1027445007,1055339346,-1087758861)+W(4,1027971236,1040109559,1033122295,-1108112926)+W(5,1061167739,-1089406218,1037128774,1025450507)+W(6,-1120120612,-1098175173,1054196775,-1094841886)+W(7,-1105773058,-1123303012,1045736850,1043181559)+W(8,1055761732,-1105769888,1042761157,1044237597)+W(9,-1110374755,-1100319159,1041284046,-1103555357)+W(10,-1101757237,-1111907879,1038133568,-1102543586)+W(11,1051299336,-1120191499,-1105847257,1039590240);sum2=W(0,-1109097964,1037136687,1031673749,-1125393555)+W(1,1019467600,1025995330,1021868522,-1116667451)+W(2,-1094712046,1041352693,-1104433838,1008084051)+W(3,1007318978,-1107845433,1038331125,1034962829)+W(4,-1122570447,1039892459,1032613655,-1109068920)+W(5,1040720319,-1112580519,-1121851072,1025598855)+W(6,1002517286,1016069779,-1111158812,-1106409067)+W(7,-1113430896,1045465420,-1126879582,-1103760436)+W(8,1056111085,-1106729155,1049773824,-1110468674)+W(9,1031113174,1030143702,-1106358629,-1106975050)+W(10,1036295980,1020538422,-1114937810,-1118059752)+W(11,-1121843086,1047380650,-1122235886,-1113447212);WS(1056997868,1008833773); +sum1=W(0,-1118496039,1006806901,1039826714,-1123143270)+W(1,1006039247,1017005492,1036420187,-1130107576)+W(2,-1123687353,-1104570591,1032886196,-1125702370)+W(3,-1113594582,-1115019369,1053157409,-1093231896)+W(4,-1105180689,1028719950,1034344230,1045363911)+W(5,1059756929,-1095316624,-1102708199,1009228202)+W(6,1038393121,-1090717022,1058230383,-1095564524)+W(7,1035814292,-1119964195,-1109888100,1037930126)+W(8,1045739824,-1098051412,-1129186168,1033820442)+W(9,1032434307,-1110427933,1042446790,-1101398261)+W(10,1025625861,1028568173,-1131937728,-1112104883)+W(11,1052782212,-1104229594,-1112516090,-1136905401);sum2=W(0,1034320453,-1118604595,1025235375,1028595208)+W(1,1002638229,-1116609216,-1112051735,-1109468006)+W(2,-1107232926,1046387359,-1105038970,1005965131)+W(3,1043966073,-1106879339,1049289065,1044354198)+W(4,1045499601,-1111658272,1033608293,-1088213587)+W(5,1067079268,-1087106166,1035867996,-1132447732)+W(6,-1092579307,1064370547,-1088486363,-1108961766)+W(7,-1096457250,1042442572,1051236380,-1095838484)+W(8,1044420987,-1104528882,1028839698,-1134350406)+W(9,-1102939053,1043763107,-1107783352,1035658672)+W(10,-1122532695,-1131375963,1027336318,1016664388)+W(11,-1116658227,1023955051,-1126291119,-1135660575);WS(1064849644,-1092967401); +sum1=W(0,1041078624,1033930742,1053270962,-1091277968)+W(1,-1115974645,-1124489961,-1103081652,1034184171)+W(2,1058076017,-1091900963,-1101902009,1046377811)+W(3,1045204674,-1098756264,1059044453,-1097334921)+W(4,1038364767,-1096742869,-1126422222,1038407355)+W(5,1061713418,-1078564449,1031099397,1034335299)+W(6,-1107755791,-1103118957,1064682577,-1099822850)+W(7,1025967234,1015202107,1049230600,-1103625882)+W(8,1047988615,-1091654943,1010917525,-1098744549)+W(9,-1101861336,1035198826,1055582710,-1096942230)+W(10,1021900159,1047801952,1041473799,-1102710964)+W(11,1058355518,-1098047297,-1106099948,-1101582418);sum2=W(0,1034970587,1039267337,-1109640195,-1085205368)+W(1,1065312771,-1111782462,-1105865147,1026053125)+W(2,1027743203,-1076908464,1068235631,1029167111)+W(3,1024111791,1040193826,1042644379,-1072741915)+W(4,1074530244,1035172075,1018431373,1037956157)+W(5,-1088412806,-1079896887,1069229068,1048206286)+W(6,-1107243650,-1106797747,-1104275404,1057561219)+W(7,-1110308581,-1092973955,1038385161,1031902437)+W(8,1031274183,1052902509,1045193510,-1105822229)+W(9,-1114574492,-1114137980,-1115379021,-1103620900)+W(10,-1167188013,-1102796809,-1129893537,-1128932411)+W(11,1040558376,1054347378,-1099424233,-1106619819);WS(-1085552428,1044647857); +sum1=W(0,-1130568573,-1120131932,-1097293585,1052681344)+W(1,-1115182247,1016796643,-1111247047,1046596325)+W(2,-1095715202,1050957098,-1125685565,-1123522377)+W(3,1001536536,1026932885,-1090361246,1059711152)+W(4,-1097304503,1028362085,-1104704953,1049575094)+W(5,-1085535724,1060788917,-1122898434,-1112833505)+W(6,1029690778,1042872064,-1105723034,1048249845)+W(7,-1115360055,1008149481,-1104108900,-1127841478)+W(8,-1113844876,-1106926654,1050188162,-1111804152)+W(9,1012447989,-1114289465,-1127895515,1034645781)+W(10,-1110595670,1032897312,-1107166286,-1110288351)+W(11,1028149942,1043016176,1041406167,-1119471349);sum2=W(0,1049638564,-1122573304,-1097365817,-1120650912)+W(1,1039129637,-1114566411,1012096208,-1169058693)+W(2,-1118822370,1032693677,1036528332,-1119534724)+W(3,1055008508,-1092917400,-1124083512,-1127709292)+W(4,-1113518885,1015256750,1058022553,-1080721407)+W(5,1056959548,1044260765,-1122124802,1042163670)+W(6,1059601221,-1081684685,1056508637,-1099806388)+W(7,1019567420,-1110975736,1065544846,-1080284825)+W(8,1051359763,1042746095,-1101554026,1032382474)+W(9,1035938200,-1096574070,1044088441,1033735876)+W(10,1041548497,-1110809702,1043980555,-1098850345)+W(11,1031681402,-1121369890,-1108142320,1022534793);WS(1049904727,-1085461498); +sum1=W(0,-1114441151,1047758995,-1092338425,1054893264)+W(1,-1095327506,1042581180,1032673159,-1122472531)+W(2,-1101190388,1042608805,-1108884127,-1119554504)+W(3,1027012354,1048177385,-1096531431,1050188989)+W(4,-1104987150,1041262473,1041600521,-1116753522)+W(5,1059669870,-1088410395,-1123782065,-1120686401)+W(6,1035856141,-1105032264,1063099682,-1084283112)+W(7,1042263123,-1117364890,1033107055,-1109908945)+W(8,1058897901,-1088007491,1042892731,-1107384925)+W(9,1031163069,-1104848436,1049115478,-1096369309)+W(10,1029697804,-1138499405,-1139856090,-1111353615)+W(11,1055941567,-1096366496,1047202227,-1100444021);sum2=W(0,-1101934313,1068410613,1053392914,1045964051)+W(1,-1109754454,-1118726053,-1127864237,1066297935)+W(2,1047339448,-1107136628,1023924243,1029832629)+W(3,-1112463889,1052441146,-1111508378,1035674775)+W(4,-1121555471,-1111696115,1047304216,-1077079694)+W(5,1044634164,1046050296,-1111827987,1036477638)+W(6,-1097499627,-1082290320,-1086326188,-1113442140)+W(7,1006763480,-1119582249,1041678537,-1095668928)+W(8,1053023843,-1135364198,1034831467,1024856185)+W(9,-1128505773,-1097722710,1050833435,1028981469)+W(10,-1128234727,-1112331027,1039199998,-1096167330)+W(11,-1112581958,1028034745,1032814306,1017921306);WS(-1087326956,1033622098); +sum1=W(0,-1113899675,1045896801,1041409216,-1108955706)+W(1,-1104543128,1041055226,1035193378,-1161971013)+W(2,-1108871427,1048600721,-1114333163,-1106692192)+W(3,1030557818,1045303135,-1104804773,-1094955846)+W(4,1045266364,1039063182,-1119324954,-1095480777)+W(5,1041468886,1051943793,-1096626659,-1112593372)+W(6,1042470612,-1110770003,-1098059200,1025944442)+W(7,1048775867,-1107180444,-1117399605,-1109576477)+W(8,1052050234,-1097508910,1043056710,1041486173)+W(9,1021883592,-1100233714,1041862393,1030612641)+W(10,-1122051827,-1114362202,1035419591,-1122013269)+W(11,1017834329,-1106071902,1042839849,-1121041260);sum2=W(0,1008283263,-1111634453,-1112224655,-1121896666)+W(1,1031996897,-1106176579,-1114415273,1032259795)+W(2,1046234660,1020399084,-1105304684,1027107696)+W(3,-1114655921,-1123951654,1039099048,-1139717487)+W(4,1017260660,-1106922258,1036167174,-1116061542)+W(5,1049934438,1050902690,-1102142181,1022104088)+W(6,-1111159985,1039368345,1003410015,1039007446)+W(7,1003551903,-1122048418,1033204129,-1102899145)+W(8,-1113540553,1039510238,-1114854307,-1135188919)+W(9,-1122340118,1024476440,-1117681522,1032062517)+W(10,992233789,-1128403972,-1127458940,-1118949310)+W(11,-1122317014,1033150391,-1113963477,-1125862176);WS(1068173014,-1111006676); +sum1=W(0,1031049568,-1103201566,1048004603,-1100468360)+W(1,1046039773,1012485196,-1115395480,-1112513259)+W(2,-1117860850,-1173290307,-1123264224,-1127850837)+W(3,1019703498,-1112438249,-1104427535,1042677725)+W(4,1030284012,1029876039,-1113567107,1042819653)+W(5,-1083606526,1064316383,-1122621123,1036820754)+W(6,1015808760,1048780036,-1083053360,1063571221)+W(7,-1094902185,1035184606,-1109811912,1039150546)+W(8,-1090564527,1060600586,-1103353426,1024997805)+W(9,1027899359,1034094633,-1092330682,1050639762)+W(10,-1106486660,-1149057999,-1103105894,1040353932)+W(11,-1095220995,1054475004,1034806311,-1123061719);sum2=W(0,1014853092,-1122580470,-1120994367,1047459793)+W(1,1064875701,-1132455031,-1120466254,-1114547761)+W(2,1038991680,1047680543,1054395623,1011283964)+W(3,1027909890,1030745116,1034511499,-1098401240)+W(4,1045153300,-1108441710,-1117512854,-1119656010)+W(5,1041066172,-1121088174,-1085223893,1018552602)+W(6,1026011110,1035574738,-1109149586,1045982327)+W(7,-1084582209,-1106692167,-1110873488,-1120221385)+W(8,1024235728,1024310650,-1099510820,1026658994)+W(9,1036041188,1020780404,-1112980367,-1122000913)+W(10,1029465320,1023023932,-1115497806,-1122615179)+W(11,1020521688,1042402937,-1105747852,1004613671);WS(-1095915991,979918868); +sum1=W(0,-1115463727,1032823819,1026707497,-1119898332)+W(1,1026568544,-1121143952,-1137886897,1037523161)+W(2,-1131549790,1035412665,-1108324895,-1129452238)+W(3,1011021190,1029800132,-1108429845,-1136100063)+W(4,-1138504034,-1120493188,1011860489,1043477300)+W(5,-1100874368,-1112838682,1047390560,-1147670274)+W(6,-1129491953,-1105888052,1047336484,-1098267600)+W(7,1036689246,1028096953,1007409140,-1114264129)+W(8,1049886943,-1097768883,1037432366,-1134502280)+W(9,-1124741815,1021218335,1042964547,-1106237874)+W(10,996441389,-1157333673,-1122228982,1030459197)+W(11,1038061098,-1108915952,-1121991146,-1177453050);sum2=W(0,-1121902268,1020062213,1034601005,-1096503308)+W(1,1050858947,-1108630019,-1128394666,-1143339877)+W(2,-1111450467,1052764693,-1099720262,-1130142915)+W(3,1039974898,-1102502778,1034366199,-1095299550)+W(4,1055940597,-1105816149,-1114856664,1034423857)+W(5,-1093114037,1060522961,-1087523263,1037139152)+W(6,1032116923,1030950002,1027196884,1057088106)+W(7,-1085850393,1054601799,-1115163450,1038088024)+W(8,1036157347,-1104371255,-1107617878,1043807995)+W(9,-1112859101,1036537682,-1130356560,1031719642)+W(10,-1119144319,-1122652165,-1128925353,1019282123)+W(11,1032717961,-1110891365,1017512699,1025497552);WS(1066530838,1025703389); +sum1=W(0,-1120765920,-1132051981,-1129191897,1042371592)+W(1,1007708012,-1116932051,1009297086,-1139418709)+W(2,1032587897,-1118415861,-1122811552,-1134432681)+W(3,-1122351141,-1109474502,1057153612,-1120712699)+W(4,-1105657359,-1127344014,1015487755,-1098776251)+W(5,1049522345,-1099055070,-1099127683,1026629028)+W(6,1015844344,-1109199593,1041525985,1049700744)+W(7,-1111888320,-1119906716,-1127613121,-1123764613)+W(8,-1109817213,1050593755,-1113004743,-1136900213)+W(9,-1133586812,-1121408403,1010121533,1036084166)+W(10,984437698,-1118848634,-1124468594,-1145136640)+W(11,-1107128582,1038803505,1036904923,-1123829719);sum2=W(0,-1117430114,1041261247,1033806419,-1126022952)+W(1,-1155381873,-1125967712,1039120940,-1107749198)+W(2,-1097831330,1041137317,-1127685702,-1116954634)+W(3,-1106133189,-1099018179,1064523288,1057416214)+W(4,-1099691831,1032736142,1026507473,-1131506304)+W(5,1045711847,-1092069746,1026250214,-1120045450)+W(6,1031550625,-1123617030,-1088977338,1059767697)+W(7,-1098651966,1021746164,-1142215401,-1123190888)+W(8,1052831473,-1088761837,-1118397760,1028302350)+W(9,1026312489,-1112954810,-1133526188,1033531722)+W(10,-1130823120,990513889,-1139250704,-1137414048)+W(11,-1122137188,-1110686692,1029280576,-1115066264);WS(1066680246,1040921440); +sum1=W(0,-1119730500,-1110280861,-1092083138,1053565584)+W(1,-1110918026,1029997623,1034101258,1011417444)+W(2,1031601302,1054599907,-1143895330,-1113777127)+W(3,-1132236433,1027753539,-1090607216,1058261942)+W(4,-1111808624,1039976245,-1104735450,1038200908)+W(5,-1078665075,1061430978,-1099071584,-1112447940)+W(6,1035235184,1035268043,-1096046953,1061610294)+W(7,-1106320677,1023744576,-1111591250,-1121734057)+W(8,-1093429316,1056142824,-1105323662,-1145165385)+W(9,1024518355,1032771355,-1094352558,1053165350)+W(10,-1138833863,-1113453535,-1121802685,-1126371080)+W(11,-1102572591,1055282545,1035738553,1031263347);sum2=W(0,1033717276,1028210443,1046091050,-1119519632)+W(1,1050909876,-1117678961,-1129082210,-1130739278)+W(2,-1085374293,1026401017,-1110182528,1042909501)+W(3,-1111396517,-1117565460,1033058760,-1106338078)+W(4,-1149282827,-1099518378,1053521042,-1113906791)+W(5,1062822204,1066908993,-1081393742,1044082334)+W(6,-1096499765,-1106119849,-1089123399,1034907371)+W(7,-1094008056,-1097984366,1041638909,1044690885)+W(8,1003636411,1054286387,1035142168,1040282994)+W(9,-1115028859,1000486481,1048601259,-1096894542)+W(10,1020535023,-1109925208,-1143837439,1015998178)+W(11,-1103883056,1041460877,1028271260,1021313035);WS(-1111691100,-1070453585); +sum1=W(0,1040350706,1032181048,1054597571,-1090063653)+W(1,-1105977411,-1114266718,-1107702492,1006352113)+W(2,1056547603,-1111618639,1011306277,1034245578)+W(3,1045915011,-1101176752,1059824936,-1087007388)+W(4,1037450066,-1130610528,-1103582444,-1098104500)+W(5,1062411659,-1079908657,-1113612402,-1111998342)+W(6,1036820082,-1111995209,1062112057,-1098160558)+W(7,1043358554,1021846218,1030081641,-1105752467)+W(8,1042786985,-1094958736,-1108376090,1026051990)+W(9,-1112926972,-1111976126,1050598527,-1104521261)+W(10,1024420791,1032139296,1034445457,1025879721)+W(11,1058122296,-1107753094,-1098378691,1018599200);sum2=W(0,-1102183736,1044690091,1025447267,-1103679886)+W(1,1034791609,-1120655593,1045283790,-1117083441)+W(2,1036724432,-1096666126,1043810354,-1109094473)+W(3,-1099060082,-1109435037,-1100626978,935783211)+W(4,-1097803022,1029730663,1029589699,1005932683)+W(5,1066859805,1061824774,1034749891,1023292171)+W(6,-1103326288,-1109954065,-1114206859,-1098480165)+W(7,-1094988176,-1109570093,-1146696619,-1130369043)+W(8,1024539831,-1113161303,1050252440,1012313206)+W(9,-1123727405,-1115538567,-1123732285,-1109149493)+W(10,1029732207,-1106431920,-1106785078,1039027144)+W(11,1040901138,-1129688427,-1105144948,1015686163);WS(-1105638574,-1077878805); +sum1=W(0,-1112101313,1043313362,-1104398291,1034529536)+W(1,-1120033234,1017824488,1025565072,1041884710)+W(2,-1093904634,1043314021,-1106696920,1028280843)+W(3,-1118212870,1045058176,-1086702118,1058479092)+W(4,-1128822905,1038132788,1034991091,-1099609869)+W(5,1055637093,1049084915,-1126325576,-1136921361)+W(6,1037618766,-1100255017,1061981800,-1082434966)+W(7,1050170340,-1125947450,1033034081,-1097107341)+W(8,1053455331,-1087005060,1046293466,-1124008918)+W(9,1023523536,-1104696333,1048950646,-1098585534)+W(10,1042248226,-1126565485,-1143864013,-1128917761)+W(11,1037339676,-1105402705,1032623999,-1114937252);sum2=W(0,1040832216,-1125419559,-1166596642,-1076839498)+W(1,-1085872442,1038631745,1042032808,-1103788280)+W(2,1045241846,-1091833274,-1105795498,1037000995)+W(3,1039550307,1043848052,1051795538,1035730071)+W(4,-1094587067,-1115278352,1029252447,-1099123277)+W(5,1068949095,1070654393,1007431650,-1103746979)+W(6,1040592387,1047689572,-1094163017,-1096947569)+W(7,-1089767553,1041143367,-1111709033,-1102650535)+W(8,-1111700665,1050259859,1041510738,1025070825)+W(9,1050208698,-1105352144,-1117027793,1051072204)+W(10,-1100476212,-1116523862,-1091595987,1033340873)+W(11,1027304955,1048679723,1057584085,-1093749689);WS(-1095944791,1081861902); +sum1=W(0,-1129669743,1034635115,1057433596,-1090131839)+W(1,-1120322428,1008560041,-1116664839,-1122706061)+W(2,1048908041,-1093164666,1030509816,1023557506)+W(3,-1148272609,1033259121,1058166921,-1087001587)+W(4,1035303897,1013701241,-1121494877,-1124251544)+W(5,1058746094,-1083481847,1044900399,-1117995899)+W(6,-1115602986,-1126517523,1055593874,-1085306808)+W(7,1041073282,-1116643091,1028329496,-1128061368)+W(8,1057488289,-1091485686,1023593721,1023656437)+W(9,-1123378150,-1130313237,1049860117,-1102755929)+W(10,1034451003,-1164007844,1027525168,-1119991479)+W(11,1061071735,-1105495231,-1102595129,1024551167);sum2=W(0,1029670841,999172620,1042251423,-1105031588)+W(1,1027957701,1026093121,-1115575058,-1099435099)+W(2,1041110640,-1120449287,1035596553,-1156632055)+W(3,1042858197,-1139359478,1058527193,1010020318)+W(4,1019832195,-1126960339,-1101600217,1027943101)+W(5,1075961547,-1109667225,1011086126,1010028142)+W(6,-1117748556,1048715384,1073424302,1057314889)+W(7,1033526397,1037810339,1035438169,-1098854617)+W(8,-1086643829,1037113027,975610078,-1115077778)+W(9,-1114535210,1036336651,-1080060710,-1123725073)+W(10,1012557694,-1133987070,1032334939,1041563473)+W(11,-1067239867,-1100548924,-1095465488,1036754195);WS(-1085172076,1069147958); +sum1=W(0,1025703205,1027233863,1026640114,1029190628)+W(1,-1111659152,-1139375968,-1141293989,-1106615031)+W(2,1042354526,-1106775167,-1115892869,1028377583)+W(3,1041286826,-1115436126,1053740861,-1106293072)+W(4,1035182992,-1156734143,-1119005195,-1112858253)+W(5,1054852793,-1089581852,1027435128,-1121669673)+W(6,1026450561,1042609938,-1119314307,-1098775605)+W(7,-1137028117,1034668065,-1117134469,-1122683754)+W(8,1026745790,-1108063055,1038436612,-1119291218)+W(9,-1120895076,1044686038,-1108709290,1015550627)+W(10,-1112739478,1027259179,1025414366,-1117169125)+W(11,1023400633,-1125318352,1031194923,-1118201212);sum2=W(0,-1154464437,1027039233,1008089899,-1117609897)+W(1,-1118717800,1027401421,1004660066,-1115032564)+W(2,1041471507,1033488023,1033628240,-1112728150)+W(3,1011666487,-1147080182,1053281755,1082321679)+W(4,1046901100,1012824907,1016373458,975139636)+W(5,-1081313755,-1065846603,1050032460,-1108305112)+W(6,-1117096132,1025013868,-1118862913,-1122974098)+W(7,-1106934499,1038621352,1027534293,-1117310194)+W(8,1040077608,-1130639872,-1137731251,-1137500513)+W(9,-1118720211,1025607183,-1134922624,-1143672974)+W(10,-1177023016,-1129758225,1024315262,-1145025250)+W(11,993302909,-1114202318,1017914834,1025570630);WS(1065820150,-1112682631); +sum1=W(0,-1105640672,-1140735040,-1096706537,1051064512)+W(1,-1114855500,-1128129890,-1136938293,1045425461)+W(2,-1095619178,1046810501,1041816072,-1108472292)+W(3,1007936778,1012508339,-1101065539,1057299292)+W(4,1015987827,1036938130,-1099447769,1052020966)+W(5,-1083835034,1054321083,1049485320,-1101761488)+W(6,1033964109,-1110876672,-1127256032,1044289505)+W(7,-1106506396,1035708141,-1110772895,1038536521)+W(8,-1101414038,1042038046,1031650401,-1113134674)+W(9,-1107676126,1034428376,-1102412811,1050440565)+W(10,-1098866309,1031811610,948858222,1041035251)+W(11,-1104437005,-1126355329,1044647659,-1119496853);sum2=W(0,-1116689599,-1104060794,1023887631,1047625619)+W(1,-1104647113,1032108768,1033662400,1047714485)+W(2,-1101000300,-1113896185,1049921725,-1114038586)+W(3,-1110264521,-1106889746,-1123902349,1058674488)+W(4,-1100964722,-1134500667,-1113832562,1055059659)+W(5,1047334183,-1105663288,1060005487,-1105023935)+W(6,1034493072,-1089308922,1060541265,-1079751447)+W(7,-1088726381,1046968990,1024644211,1027816870)+W(8,-1145174230,1040502911,1026206299,-1116742649)+W(9,-1105470304,1032487381,-1099777158,1059286709)+W(10,-1093081927,1042150309,1030330543,1043118546)+W(11,-1100795602,-1110882655,1033716355,-1127164330);WS(1051219671,1032040132); +sum1=W(0,1024246061,-1110293770,-1098745559,1035978230)+W(1,1050231066,-1111943280,1029213629,-1111062337)+W(2,-1104763504,1041701281,-1106571859,1016965359)+W(3,-1142580623,1026027124,-1097349705,1051781481)+W(4,1040668770,1026054164,1007533386,1035026513)+W(5,-1082429923,1065410260,-1111350032,1035026168)+W(6,-1132388626,1036422600,-1083869189,1060856625)+W(7,-1113287631,987392292,1016678619,1011246152)+W(8,-1095610025,1057796630,-1122887388,1019565189)+W(9,998523489,-1173422083,-1095350964,1045145830)+W(10,-1109374678,-1110518465,1023830470,-1130424090)+W(11,-1094623957,1055180598,1007169387,1026555204);sum2=W(0,-1123481859,-1131096266,-1107023625,1040776673)+W(1,-1073406322,1074128739,1024186334,-1121050215)+W(2,1040345453,-1129271163,-1080765061,1066657253)+W(3,-1181265672,1023491721,-1110082893,1044851152)+W(4,-1077100552,1068015119,-1136581772,-1115413373)+W(5,-1116173932,-1097567007,-1085034176,1066670217)+W(6,1007273042,1036272276,1041634800,1051516690)+W(7,-1104398720,-1111857710,-1130526339,-1110187157)+W(8,1028205855,-1106625929,1019889879,1026394385)+W(9,-1134191606,-1123342647,1036476425,1035231370)+W(10,-1115096299,990445793,1035801320,-1125507188)+W(11,-1124495703,1007786534,-1105128420,1030299973);WS(-1124324720,1038677119); +sum1=W(0,1008341069,1038389179,1056361124,-1081451931)+W(1,1047683325,-1130646284,1031967089,993181316)+W(2,1050863173,-1096246661,1035916906,-1134539381)+W(3,1023486232,-1145165264,1054230472,-1086637900)+W(4,1027831167,986748732,1037528348,991007864)+W(5,1063082151,-1088130503,1026128198,1003368116)+W(6,-1122921519,1024190949,1050043692,-1092787999)+W(7,1020947750,-1115252008,1029849459,1044031254)+W(8,1049660054,-1099337955,1025351359,1036720064)+W(9,-1114006089,-1123515526,1043779649,-1095996120)+W(10,1037985981,-1116396881,1035528454,1052524910)+W(11,-1097977265,-1102904005,-1114005272,1029521402);sum2=W(0,1042203848,-1089098687,1035967917,1068788369)+W(1,-1095505730,1025788011,-1133163156,-1098025067)+W(2,1052777785,-1096461215,-1097973178,-1111191248)+W(3,-1108707706,1036383110,1043356562,-1090569807)+W(4,-1127034898,1023876171,1027923803,1058285406)+W(5,1046924897,-1088764217,1056967609,1046203397)+W(6,-1098359820,1062333205,-1080913711,-1095261121)+W(7,1040836988,-1107189985,1043843260,1048839159)+W(8,-1088408400,-1098396864,1046078649,-1113219498)+W(9,1021888231,1058743586,-1097507024,-1093746709)+W(10,-1111389506,-1110869404,1023965418,-1078465930)+W(11,1067915456,1064748817,-1099047850,1040158004);WS(-1080347734,-1094728165); +sum1=W(0,-1115633753,1036436624,-1113632799,1018734050)+W(1,-1104273977,1022550473,-1128052610,1031912915)+W(2,-1104119121,-1104173746,-1115038313,-1128796792)+W(3,996364134,1038598142,-1095896866,1042956529)+W(4,-1098511458,1027191321,1027254679,-1114408211)+W(5,1064358521,1051156401,1006576423,-1123707765)+W(6,1027401421,-1097652239,1061684826,-1087880029)+W(7,1037804713,-1125317723,-1125749028,-1109729611)+W(8,1051089073,-1093838037,1039011098,-1116369959)+W(9,-1143663749,-1111208674,1044518984,-1100689848)+W(10,-1157246715,-1130384675,1017291157,-1118442418)+W(11,1048577269,-1104163629,-1145301883,-1113863292);sum2=W(0,-1137561210,1000810292,-1109671087,-1098257975)+W(1,-1113334223,1010643898,1008161562,1017087401)+W(2,-1143663956,-1088410023,1033424863,-1122425914)+W(3,-1138249722,-1104015266,-1100429296,-1110483119)+W(4,-1113376685,-1120544050,1032804591,1045940061)+W(5,1064636422,1065774501,1041401738,1015219657)+W(6,-1118405314,-1112933693,1041071232,-1111449957)+W(7,-1107119710,1028103016,-1149548391,1040845572)+W(8,-1095622064,-1114533177,1041680128,-1125778629)+W(9,-1140666666,-1131915309,-1113635957,-1105461804)+W(10,-1114424843,-1127495397,-1121723310,-1125770861)+W(11,-1156294183,-1154727079,-1143304660,-1128411685);WS(1062796012,-1081433938); +sum1=W(0,-1140258862,1047697940,1041493798,-1090901033)+W(1,1032453887,1008978681,1019305782,-1137205890)+W(2,1051824452,-1095124244,1034552166,1031420374)+W(3,1017521696,1040574503,1048941321,-1090555023)+W(4,1032035723,-1124609380,-1128637410,-1131514496)+W(5,1061551411,-1084025976,1036871279,1025475023)+W(6,1030042599,-1115750349,1058760695,-1089279069)+W(7,1041251643,1016399695,-1140240046,-1114177400)+W(8,1056942277,-1089170928,1032547975,1024887097)+W(9,1023786378,-1119424318,1045023263,-1099538126)+W(10,-1117686145,1002611913,1027083972,1025144619)+W(11,1056967544,-1087239225,1027338481,1012109898);sum2=W(0,1004838046,1036867068,1023348885,-1120560082)+W(1,1032448279,1025411331,1009005547,-1112484311)+W(2,-1113333873,1019969949,-1115333043,-1123665230)+W(3,1023830295,1034701810,-1115269491,-1089366478)+W(4,1028612787,1024216939,-1121204348,-1131856601)+W(5,-1084820204,-1067115412,-1132671203,1034346460)+W(6,1026709605,1008859907,-1095888786,-1071017431)+W(7,-1112864526,-1116027280,-1145957446,-1129570235)+W(8,1052224270,1066362408,1045423025,-1133553563)+W(9,1024434367,-1120209470,1043852487,1084005284)+W(10,1025066805,1032270816,-1122812157,1023686531)+W(11,1047863595,1063525936,1043035962,-1105823812);WS(-1103681710,-1114530079); +sum1=W(0,1025861737,-1130912909,-1110124091,1040844938)+W(1,-1105267215,1021540535,1029506744,-1104283663)+W(2,-1117715067,1046218351,-1121870249,1032871129)+W(3,1032236919,-1132593150,1039686571,-1098764800)+W(4,1038793978,-1120294159,1035998951,-1102933559)+W(5,-1097542514,1059317136,-1096018272,1036773558)+W(6,-1111043394,1040041573,-1088677703,1057765873)+W(7,-1105386706,-1111111618,1007410083,992747222)+W(8,-1112367617,1054923388,-1101946581,1031187710)+W(9,-1126534927,1034020670,-1105036246,1029185429)+W(10,-1122605111,-1138057273,-1123346113,-1119406504)+W(11,1035634224,1040434219,-1143951794,1023823648);sum2=W(0,-1133865733,1041378526,-1102114760,1040042063)+W(1,1036263014,-1111718847,-1114357788,1025611699)+W(2,1041852494,-1102827642,1023561916,-1109687464)+W(3,-1113774565,1057780422,-1090351620,1041105879)+W(4,-1107817782,1041802453,-1094909862,-1134317911)+W(5,1058263821,-1094128428,1049906607,-1106696300)+W(6,1041934157,-1084534604,1059786982,-1121888905)+W(7,-1106476521,1023851848,1048238594,-1105040821)+W(8,-1114163954,1038597269,1034361268,1032032810)+W(9,1041091101,-1096429323,1034035361,-1139774900)+W(10,1016844568,-1111010993,1042608690,-1128928913)+W(11,-1102786592,1035391793,1014428216,1031652841);WS(1059372396,-1131086843); +sum1=W(0,-1116770958,1038224730,-1145642197,1033085351)+W(1,-1114157744,-1129272066,-1133338231,-1110641250)+W(2,1044958408,-1100693257,1030339791,1026076824)+W(3,-1109423369,1048611339,1054215533,1024247225)+W(4,-1106016522,-1113286331,-1142676381,1026922691)+W(5,1059821143,-1085100606,1039898225,-1126911267)+W(6,-1119417706,1012241985,1063416476,-1082741615)+W(7,1046979692,-1119319754,1016864285,1033593306)+W(8,-1109435540,-1105005730,-1157274234,-1131274519)+W(9,-1134266292,-1108924145,1051611888,-1096553463)+W(10,1033932042,1018258200,1026073927,1029871326)+W(11,1046037553,-1091104802,1022970360,-1118999381);sum2=W(0,-1117639690,1032542252,1049036492,-1106428174)+W(1,-1100598545,-1124515281,-1126294727,-1105983103)+W(2,1053585046,-1090074420,-1101677356,1042350020)+W(3,-1135696947,-1105990346,1063294224,1074893281)+W(4,-1088449090,-1128187082,996342293,-1101410582)+W(5,-1084067012,-1121077701,1052666358,-1118105649)+W(6,1025603183,1031145839,1030876063,-1079475296)+W(7,1049420880,1033189178,-1120264553,1029472991)+W(8,-1090564487,1059480413,-1099961793,1012743453)+W(9,1034416033,-1125334020,1047874805,-1099339963)+W(10,1047783255,1016211057,1029227505,1016716795)+W(11,-1103677712,-1097572114,-1106211131,1026065323);WS(998487488,1024735998); +sum1=W(0,1034787125,-1096711418,-1093645783,1058035879)+W(1,-1113381667,1020339515,1033987197,1049342972)+W(2,-1089249828,1055719968,1033680357,1037116250)+W(3,-1118966639,-1099717199,-1085775960,1060189357)+W(4,-1108537011,-1109989161,-1138173503,1051641300)+W(5,-1083720757,1061848612,-1102783527,1046511483)+W(6,1022076300,1049184050,-1086133195,1062875388)+W(7,-1129404117,1032957443,-1112157509,1032130968)+W(8,-1087092580,1007190411,-1110331987,1011591327)+W(9,1034213589,1048086279,-1098046771,1051240059)+W(10,1030325168,1039628088,-1125240838,1039987293)+W(11,-1087792286,1039984791,1051616838,-1135236550);sum2=W(0,1001577162,1048277958,-1094388043,-1079852425)+W(1,1055450674,1040994203,1041063142,1048804575)+W(2,1061039504,-1095199392,1054780006,1035580564)+W(3,-1112011211,1037383696,1055288082,-1077655189)+W(4,1058201467,-1111912036,1039747614,1042988518)+W(5,-1084834029,-1103423898,1071463850,-1100510960)+W(6,-1137882877,-1097597287,-1087507005,1064308251)+W(7,1058560116,-1097442490,-1105672858,-1099442373)+W(8,1044806256,1065240337,-1080251704,-1090250140)+W(9,1031849538,-1108394523,-1093629181,1071708239)+W(10,-1090257183,1028605291,-1108158369,-1155656404)+W(11,1059993792,1061107030,-1073879137,-1106111844);WS(-1077135094,1050907162); +sum1=W(0,-1132921461,-1117094275,-1098008869,1043699095)+W(1,-1112620946,-1122422352,-1127648729,1033699545)+W(2,-1094355462,1055483630,1042990903,1034045812)+W(3,-1124984131,1030394994,-1089194394,1053279460)+W(4,1047326318,1011377167,-1118007170,1045491604)+W(5,-1081313730,1065160347,-1121246728,1042128328)+W(6,-1117294457,1039295895,-1088142214,1056280352)+W(7,-1110840279,-1103632934,-1126452986,1040542752)+W(8,-1094044967,1058021117,-1106681402,1039870541)+W(9,-1124706520,1018438944,-1098093746,1041063570)+W(10,-1128181366,-1109127577,-1119126518,1035722382)+W(11,-1094059515,1050783700,1018820533,1037083890);sum2=W(0,1003021837,-1110495495,1016902499,-1116948709)+W(1,1029108513,-1113320609,1029225785,1032075003)+W(2,993748010,1041772340,-1097222635,1042534143)+W(3,-1123823650,-1122423961,1028513681,1083263801)+W(4,-1063916786,1039031010,1023947681,1043723635)+W(5,-1096435650,1074788880,-1074844879,-1104645285)+W(6,-1119691195,-1138212418,-1120166015,1038793960)+W(7,-1115182489,-1124877446,1024608678,1017994477)+W(8,-1119557273,1017310535,1021770517,-1131419477)+W(9,-1125446899,-1115371525,1032720188,1032034162)+W(10,1014563122,-1119401015,1034042378,1002413729)+W(11,-1115060009,-1118011761,1027576529,999290841);WS(1048452526,1015184705); +sum1=W(0,-1138645804,-1110581160,-1106270342,1048623137)+W(1,1006760678,-1113210911,1032256237,1049910352)+W(2,-1113826958,1036222192,1042522323,1029873877)+W(3,-1114005032,-1103860667,-1097372109,1057099626)+W(4,-1101854594,-1111141177,1026512560,-1098570768)+W(5,-1087095027,1061337654,-1106501979,1024448974)+W(6,-1140244890,-1119844941,-1095003728,1054485156)+W(7,-1115808507,-1125584845,-1131077462,1040825100)+W(8,-1095439444,1049129464,1027903818,-1111469876)+W(9,1024452554,1017183931,-1128526324,1044366494)+W(10,-1153767820,1027351533,-1122466948,-1119780203)+W(11,-1106181921,1040163591,1034550428,-1117633442);sum2=W(0,-1117856953,1034706164,999139177,-1115089108)+W(1,970725323,1017499348,1002437005,-1114697961)+W(2,1016679180,1009230224,1019562884,-1131336757)+W(3,-1122373390,-1110151254,1034965747,1007700984)+W(4,-1131774725,1031482891,1023823647,-1078943314)+W(5,1069645782,-1105149666,1038179083,-1120925641)+W(6,-1131092262,-1111296752,1026082346,1033262730)+W(7,1014219446,1015408436,-1119824143,1008147760)+W(8,1005900489,-1142960238,-1130072184,1001625665)+W(9,-1129026789,1015792571,-1134452913,1015281188)+W(10,1012295392,-1137039581,-1118651901,1029244251)+W(11,-1121319377,1026230788,-1122304449,1019807852);WS(1061396972,-1097419696); +sum1=W(0,1040610541,-1110826049,-1087862644,-1108888122)+W(1,1051684947,-1117156776,-1116833412,1042368898)+W(2,1000165941,1058527541,-1102910221,-1135746300)+W(3,1015657075,-1113808270,-1108964145,1056284429)+W(4,1041698836,1026275932,-1126977972,1036447253)+W(5,-1085843362,1053927177,-1107922836,1041042462)+W(6,1033993320,1043284110,-1088558114,1062174380)+W(7,991752527,-1137078595,-1125945514,1048078310)+W(8,-1086794197,1055390198,-1112253878,1035139905)+W(9,1028019732,1028739112,-1087573386,1042115560)+W(10,1039363202,-1118906322,-1120964750,1052576556)+W(11,-1079810761,1051035743,1047360574,1038370422);sum2=W(0,-1104315228,-1103350409,-1094844926,1062539510)+W(1,-1096027281,1014020953,-1117475550,1024254038)+W(2,-1091235931,-1112967686,1042482062,-1119186298)+W(3,1019617669,-1116633366,-1089312569,1056743222)+W(4,-1129394013,1028745390,-1096755788,1042486592)+W(5,-1104902685,1052266072,1051055108,-1093268483)+W(6,1043056626,1038440719,1045881224,1037341407)+W(7,1044017054,1054988226,-1097959989,-1097184876)+W(8,-1101957876,1012499609,-1101861122,-1102938164)+W(9,1038305467,-1107570984,1058820589,1048266302)+W(10,-1105903455,1026503526,-1121707278,-1092525975)+W(11,1058872796,-1099676541,1041661910,-1135013257);WS(-1084431788,-1073850193); +sum1=W(0,-1121456839,-1130755883,-1131651239,1035028387)+W(1,1035837265,-1139076328,1023326765,-1119027356)+W(2,-1113039213,1052115068,1031790055,-1110649673)+W(3,-1111055334,1007276024,1041028837,-1087869490)+W(4,1043959725,-1126605404,-1131954777,1032958718)+W(5,-1121014635,1031197854,-1151139494,1037205893)+W(6,-1127100870,1051511197,-1080291009,1064028192)+W(7,-1097929447,1022476742,-1115233108,1038479638)+W(8,-1101242168,1046762496,1016490449,1029406204)+W(9,1032290155,1033362061,-1095204295,1048797598)+W(10,974160200,-1117985767,-1113154576,-1118671783)+W(11,-1109590335,1048241682,1033898418,1016018525);sum2=W(0,975878233,1035912472,1033266404,-1098777501)+W(1,-1115369638,1024165887,1027199947,1026239811)+W(2,-1101163205,-1120465270,1047867282,-1114558090)+W(3,1032202892,-1109490583,-1092678923,1026269275)+W(4,1048647954,-1127793863,1011577542,-1099491895)+W(5,1052721602,1058060839,1026065727,-1110013405)+W(6,989447596,1027909011,-1115079323,1022663675)+W(7,-1107120056,-1115589183,-1126785583,-1142596491)+W(8,1042994318,-1109244590,-1139333782,1028177183)+W(9,-1112180928,1032601180,-1117880304,-1139999774)+W(10,-1113232790,-1119188249,1027448187,1030066347)+W(11,999387083,-1113199846,-1128307819,1010561254);WS(1060891500,1063998119); +sum1=W(0,1009319059,1034817251,1060685055,-1082111981)+W(1,-1146641530,1021753903,1021371624,-1123888698)+W(2,1050963407,-1089953728,1042831681,-1158245846)+W(3,1020060242,1007070174,1059880676,-1083685732)+W(4,1044491976,1024323659,1034805925,1031377177)+W(5,1058492133,-1080402290,1049293617,974645755)+W(6,-1119463744,1035958587,1057972187,-1087669949)+W(7,1044279073,1017781825,1029917861,1040845210)+W(8,1045390927,-1092052092,1030870792,1029410098)+W(9,1022228167,-1119265271,1050698442,-1101265316)+W(10,1040824939,1009963113,1028919037,1041595485)+W(11,1042995863,-1093474029,-1117179330,1033823734);sum2=W(0,1043252027,1031085111,-1089976691,1015926083)+W(1,1075090314,-1090475122,1039685669,-1103588836)+W(2,-1136546874,1047286193,1055918010,1041438201)+W(3,1021402919,-1094345084,-1106220008,1049855126)+W(4,-1100279282,-1097421747,1043798699,-1097680472)+W(5,1053086422,-1093227067,-1086978538,1055157984)+W(6,-1106121381,-1098140010,1041831351,1030378489)+W(7,-1081018505,1047503463,-1107286980,-1117022930)+W(8,1053158416,1047431201,-1090494906,1040447738)+W(9,-1116219530,-1111854401,1043898913,-1088912308)+W(10,1049023531,1013873926,-1105216890,-1165267820)+W(11,1065796563,1047204695,-1076607098,1060337257);WS(-1071907259,-1110912590); +sum1=W(0,-1125193009,1047025832,-1082520498,1060301769)+W(1,1034040338,1027334603,-1128862543,1037187527)+W(2,-1091004805,1051495910,999732421,1007930762)+W(3,-1134196340,1045585380,-1082717575,1059488668)+W(4,1034460834,1012148988,1030754750,1046461539)+W(5,-1081098270,1059029683,1039737374,-1153534395)+W(6,-1115532794,1034859053,-1085641231,1058265227)+W(7,1026869576,1008981841,1035978988,1044478211)+W(8,-1094770022,1047385124,1035505465,-1141674924)+W(9,-1122396199,1038023446,-1100806498,1051401113)+W(10,-1108119003,-1131397284,1030566929,-1115297724)+W(11,-1096364930,1030610907,1049444580,1004145403);sum2=W(0,-1094095783,1071341959,-1106266089,-1079612356)+W(1,-1096220802,1053270877,1046265071,1041114835)+W(2,-1087794787,-1090342602,-1119797941,-1103321092)+W(3,-1105766507,-1093757522,1036032273,-1097206613)+W(4,-1100480279,1044676561,1052972269,-1096593198)+W(5,1065807667,1072329002,-1091841958,-1113258696)+W(6,-1118583019,-1091593516,-1120668367,1052074546)+W(7,-1107977625,1022355226,1048411623,-1091154406)+W(8,-1098744738,1035089459,1049018868,-1099949977)+W(9,-1102184915,1057911473,-1101075731,1053464489)+W(10,-1101117382,1048742227,1063609884,-1073590228)+W(11,1041493985,1066861510,-1098841365,-1096064815);WS(-1073583387,-1097642521); +sum1=W(0,-1113793830,1040986278,-1123577624,1026212810)+W(1,1031641306,-1117606078,1025630043,1018743169)+W(2,1051202676,-1107655120,1015332695,1026666645)+W(3,999171711,1043520539,-1085714085,1058537807)+W(4,-1102186706,999394704,-1113970392,-1126196031)+W(5,-1137921726,-1102760649,1042214156,-1098706922)+W(6,1041107242,-1117788829,1058609607,-1084066799)+W(7,1050734989,1028174279,-1126372055,1023908016)+W(8,-1120709796,1038867522,-1104026556,-1105230460)+W(9,1019259188,999617264,1049515695,-1105494638)+W(10,1038371877,-1131430066,-1141619744,997975216)+W(11,1048163249,-1113662887,-1118473257,-1117999154);sum2=W(0,1020465344,-1114187457,1042661620,-1108558660)+W(1,1022323488,1024517966,-1122047285,1035498840)+W(2,-1112200610,990338200,1037081003,-1114108748)+W(3,-1132946638,990134284,1050532943,-1098817485)+W(4,-1116108394,1033071181,1029560286,-1105572872)+W(5,1053825241,1046181371,-1112231866,1024966834)+W(6,-1137208000,-1125836673,1035380426,1052951690)+W(7,-1098433232,1018142458,1032274109,-1107008827)+W(8,1041934457,-1099854916,-1115059895,-1114933005)+W(9,996568996,-1143550666,-1132156656,-1101729420)+W(10,-1106305341,1025004711,-1139618609,-1133886920)+W(11,-1115627477,-1120597401,-1145950712,-1129654551);WS(1066138518,-1093674260); +sum1=W(0,1029114768,-1096639483,1057895286,-1095967018)+W(1,1030209323,-1115838467,1016625343,-1107076945)+W(2,1046373881,-1098130813,1027610352,1036809869)+W(3,1023256234,-1097327813,1060592282,-1090692519)+W(4,1010824623,-1116997111,-1135602902,-1112968866)+W(5,1048700903,-1096019117,-1147523994,1034515722)+W(6,-1154917052,1039946769,-1102042589,1052511498)+W(7,-1107963320,1025259308,-1126509217,-1145778087)+W(8,-1102212410,1050590801,-1106421308,1031910367)+W(9,-1119361423,1040195377,-1110743776,1037092318)+W(10,-1114290095,1015369596,-1120895465,1035798312)+W(11,-1096085673,1054517602,-1103975991,1032370884);sum2=W(0,1020680083,-1098235374,1040052819,1039185699)+W(1,-1105651771,999965284,1026207298,-1129289080)+W(2,1000882372,1041518935,-1108930987,1025606660)+W(3,-1114338038,1035819795,-1104532064,1060121453)+W(4,-1132043948,-1127194998,1034412140,1034843888)+W(5,-1096717996,-1098039050,1059664416,-1123799241)+W(6,-1119552802,1030579314,1025849568,-1085068698)+W(7,1064006582,1020099573,-1132183796,1031435954)+W(8,-1126927262,-1105751584,-1108966794,-1130436386)+W(9,1014438782,-1118921036,1034356940,1039772175)+W(10,-1090790505,1040432622,1026463590,-1110299389)+W(11,1043556407,1060018227,-1083675102,-1098649260);WS(-1098394199,1021768394); +sum1=W(0,-1106976773,1047476460,1035645360,-1107202165)+W(1,-1121988294,1008308247,1030592418,-1106379994)+W(2,1042879449,-1121922344,986778214,-1140215924)+W(3,-1109895628,1041629170,1052123789,-1091385002)+W(4,1042582852,-1120193402,1031813276,-1108680996)+W(5,1053022447,-1090269731,1042227034,-1127396653)+W(6,-1114022359,1028771909,-1107385030,-1107044710)+W(7,1044112989,973525940,-1124672038,-1123109432)+W(8,1044862779,-1127679127,-1115617842,-1139398721)+W(9,980431986,1035760915,1023833154,-1107740288)+W(10,1030134009,1014367554,-1118216524,1039049769)+W(11,1040198899,-1099192133,1025832513,-1116507498);sum2=W(0,-1098169790,1055345266,-1106123518,1039932359)+W(1,-1111072353,1012808524,968544056,1027898732)+W(2,1021773530,1036378047,-1123343911,-1132858861)+W(3,-1162122654,1053687424,-1089212318,1035540057)+W(4,-1111121590,1037852727,1056997121,-1077105818)+W(5,1068095045,-1098361429,1044527270,-1103837325)+W(6,1029158812,1039110353,-1090252350,1000425352)+W(7,-1115281069,1036594354,-1112228820,1037144043)+W(8,-1124556656,1050038066,-1114307158,-1134065606)+W(9,1026696161,1022799116,-1130232224,-1118055459)+W(10,-1116705210,1032061348,-1112296199,1042942743)+W(11,-1104975561,1040445489,1023167430,-1114916168);WS(1064984812,1025677564); +sum1=W(0,1043884023,-1096329284,-1084712758,1057726586)+W(1,1043356655,1012739123,1030924649,1033742216)+W(2,-1103101243,1046959260,1018532660,-1131015624)+W(3,1038396303,-1101734196,-1087209573,1057188432)+W(4,1046520365,1002161670,1036152448,-1105624932)+W(5,-1086845720,1061206275,-1114153679,1044816791)+W(6,1017544939,1017123640,-1084903475,1060371326)+W(7,-1111584053,1024962678,1042241831,-1108991823)+W(8,-1087299343,1055419738,1028245989,1043667629)+W(9,-1121467129,1037154774,-1108220133,1041931586)+W(10,994164350,-1114955616,1047065797,-1096026219)+W(11,-1087523701,1055087388,1051664559,1040331724);sum2=W(0,1043159502,-1104158106,-1085409392,1067096435)+W(1,-1090972778,-1098664617,-1105699647,1050222709)+W(2,-1090385012,-1106627676,-1102151020,1050757442)+W(3,1038273264,1025130152,-1106188919,1052171093)+W(4,-1086083449,1039140273,1032147900,1032288328)+W(5,1061149199,1075677902,-1070862987,1030992941)+W(6,1048938986,-1103450106,1050752016,1075039778)+W(7,-1070168511,1040257314,-1106879197,-1110143950)+W(8,1049612036,1073503496,-1072257998,1041175752)+W(9,-1128156680,-1098742781,1057886527,1075355126)+W(10,-1070483864,1030488248,1049056829,-1091104362)+W(11,-1095713225,1082426924,-1070643407,-1098188298);WS(-1072457547,-1104871915); +sum1=W(0,1018087532,-1138749297,-1129333765,983826087)+W(1,1026100589,1007352484,1014551830,1036550950)+W(2,-1131367952,1050222745,-1118152278,-1123482688)+W(3,-1143311830,1001512248,-1083142279,1055877542)+W(4,-1106883828,1034580622,1031881454,-1098112129)+W(5,1014989673,1020808474,1016760626,-1109491581)+W(6,1033102921,-1104222042,1059974718,-1086706094)+W(7,1045231050,-1122062610,1020957612,-1104597767)+W(8,1057969217,-1096646942,1040528910,-1114916930)+W(9,-1158925470,-1125431314,1048954301,-1105443081)+W(10,1027306868,-1147978606,1015585054,1042534317)+W(11,1043242379,-1106542638,-1120756612,-1122581117);sum2=W(0,-1120473304,1034530006,-1151412702,-1124099243)+W(1,1026058392,-1131120105,-1112539216,1032795060)+W(2,1009244103,-1115907580,-1114805763,1025202928)+W(3,-1132295147,1046686841,1037608248,1020085733)+W(4,-1120554932,998829429,-1099708049,1054832981)+W(5,1050403530,1033863239,-1154011810,-1131382687)+W(6,-1120301365,-1109933894,1051005406,-1107650300)+W(7,1036477609,1020773937,-1106531527,-1089566811)+W(8,-1106362502,1030750625,-1122049677,-1143352615)+W(9,-1119309605,1004612697,-1114169666,-1130967605)+W(10,1028389062,-1142800679,-1165429700,-1105741108)+W(11,1026755208,-1146151019,1026996282,1016610669);WS(1057548396,-1118860492); +sum1=W(0,1024314991,1024521628,1019907062,-1109277847)+W(1,1042186208,-1127185475,1015464700,1035643506)+W(2,1035362560,1033181378,1019936830,1015346289)+W(3,1033090170,1022826491,-1102305323,1038789717)+W(4,1047455161,1015056043,1024068436,1044765945)+W(5,-1077384746,-1093016121,1050623422,1035221881)+W(6,1023937802,1040253828,-1095947197,1047039772)+W(7,1039235079,1019339797,1007695803,1032416458)+W(8,-1110302756,1032628147,1012944520,1030260028)+W(9,1026830221,1031527745,-1110046895,1032291149)+W(10,1025595072,-1124358344,-1142835770,1041535598)+W(11,-1106773417,1038601945,1031404576,1039118899);sum2=W(0,1028948662,-1119520873,1040692087,-1099276378)+W(1,1042585669,-1108959122,-1108748842,1035535229)+W(2,-1128105382,-1125068566,-1119570187,-1105777938)+W(3,1035054379,1034598190,-1105801492,1046560183)+W(4,-1104135640,1040780747,-1114955281,1040844095)+W(5,1058969109,1035247795,-1104363062,-1115696651)+W(6,-1123628391,1017632867,-1140061979,1037021603)+W(7,-1119904127,-1122498951,1033670708,1028317650)+W(8,-1098716294,1041621971,-1109815486,1039115990)+W(9,-1113438145,-1152158269,-1100355456,1042440154)+W(10,1033417138,-1102421790,1009774019,1033306906)+W(11,-1097137530,1045186907,-1096381982,1043903068);WS(-1111617372,-1089239798); +sum1=W(0,-1120946745,-1109363280,1036859267,-1107333692)+W(1,-1131126919,1028471724,1043411666,-1105933140)+W(2,-1100282243,1036658471,1046725686,-1102252305)+W(3,-1105344783,-1122482989,1033736099,-1096910672)+W(4,-1138971218,1048148056,1034980559,-1097138762)+W(5,1040067055,1063625005,-1100591479,-1115573502)+W(6,1035032490,1028445691,-1085774908,1059841631)+W(7,-1101046354,1018704810,-1102176538,1038047807)+W(8,985367106,1050659758,-1099856795,1038410359)+W(9,1042691462,-1104930291,-1095561837,1056206133)+W(10,-1114722211,-1104725204,-1106084756,1036625252)+W(11,-1105930796,1039222942,1033845467,1032806392);sum2=W(0,1032901751,-1102980188,-1097455677,1019096213)+W(1,1032175116,-1112661460,-1107914664,1034775565)+W(2,-1079544271,-1123759676,-1101940532,1048109574)+W(3,1029069579,-1107463876,-1107584024,1039965269)+W(4,1028816201,-1102645998,987500422,-1115674720)+W(5,1066142773,1060530292,1036298034,1048822254)+W(6,-1107918292,-1122769714,1049477386,1039765158)+W(7,-1100641824,-1106440053,1041931397,1028640927)+W(8,-1110827944,-1133849713,1041944181,-1113520406)+W(9,-1106970712,-1133982193,1040943686,-1110406142)+W(10,-1113302080,1032469881,1026585516,-1112107626)+W(11,1033119735,-1129682772,1007346649,-1114426196);WS(1055684951,-1075449937); +sum1=W(0,1025203701,1021145317,-1089325052,1050955910)+W(1,1044060206,1023449767,-1109225282,1041132226)+W(2,-1098148265,1048074946,-1122722677,-1117792831)+W(3,-1105594014,1045336591,-1089314051,1059061644)+W(4,-1138312640,1024771419,-1102495686,1048290762)+W(5,-1085251962,1063401377,-1135340574,1034487612)+W(6,-1115277256,1046212734,-1086898788,1058388246)+W(7,-1108206354,-1122363216,-1131312361,1033816821)+W(8,-1089905605,1057949871,1012872015,1023079171)+W(9,1003392922,1042625602,-1090587428,1049257380)+W(10,1013091209,-1119440554,-1119401549,1032304674)+W(11,-1086086859,1056447675,1030899626,1029355212);sum2=W(0,1061277558,-1075680192,1064394375,1041412946)+W(1,-1097187807,1043650757,1070915797,-1078675502)+W(2,-1099840736,1036217426,1041322393,-1128025338)+W(3,1077465728,-1072669743,-1080083122,1053075748)+W(4,-1098777830,-1113957037,1077005703,-1071891757)+W(5,-1110541808,1035413026,-1105806062,1028555409)+W(6,1067272551,-1079654744,1034295344,-1098463344)+W(7,1042040059,1035679275,1035834095,-1094224921)+W(8,1034313258,1050839735,-1099205009,-1113787473)+W(9,-1140563054,-1124876273,1044374977,1012713199)+W(10,1043077130,1015942004,-1101597023,-1106967769)+W(11,1056268760,1033733408,-1097742853,1036121231);WS(-1084991020,-1093321377); +sum1=W(0,-1124603198,1041431403,1058092855,-1087194206)+W(1,1031898965,1027465426,1020905181,-1106261797)+W(2,1050746614,-1093664550,1020373118,1019387090)+W(3,1034567442,1012534679,1060858482,-1086211050)+W(4,1037199077,942151344,1033810210,-1100435893)+W(5,1063338984,-1081371861,1028138434,-1130539845)+W(6,1026468027,-1113177704,1057782107,-1091610836)+W(7,1041359812,1019123574,1034346016,1029015460)+W(8,1050350895,-1090363161,1026545296,1032894586)+W(9,1012576759,-1109083497,1047981412,-1099126963)+W(10,1017607178,1018549369,1040898454,1045957208)+W(11,1051078083,-1088769118,-1114891854,1024075622);sum2=W(0,1049096145,-1096421724,-1104462777,1019605429)+W(1,-1107039596,1039363330,1050639335,-1100344181)+W(2,1044471716,1054069324,-1112798845,-1113551308)+W(3,1060252300,-1085369111,-1101216805,-1124780213)+W(4,1041817400,999612981,1068716746,-1076762820)+W(5,1050347336,1025609425,-1099054195,1018249637)+W(6,1070836883,-1073687271,1052234046,-1096692411)+W(7,1029953841,1028531297,1071114171,-1075542147)+W(8,1009296899,1043747806,1030832137,-1109453871)+W(9,1069477538,-1076870984,1047758574,1026561745)+W(10,-1135279155,1027426027,1068968491,-1078719402)+W(11,-1114781860,1035243068,-1140937749,-1125031723);WS(-1082530796,1061926473); +sum1=W(0,-1111745736,-1107298323,1048819916,1033356744)+W(1,1034157517,-1119982339,1030277984,-1127531019)+W(2,1039611697,-1113172467,-1127895905,1009757802)+W(3,-1123296661,-1109831840,1058045501,1035918242)+W(4,-1146238814,-1125062126,1039021467,-1118701125)+W(5,-1099048749,-1088898044,-1099659681,1039341706)+W(6,-1130604760,-1101933527,1052265202,-1125679275)+W(7,1032846000,-1111731430,1012520514,-1114851579)+W(8,1034215157,1029808585,1005542493,1016627083)+W(9,-1112767704,1016124742,1037161440,-1110952702)+W(10,1024904046,-1137100912,1017586258,-1131932512)+W(11,1010862879,1040689749,-1114167271,-1130467695);sum2=W(0,-1123675689,1027790609,-1107220732,-1138688370)+W(1,-1114685917,-1131813881,1025856461,-1115257125)+W(2,-1103597907,1036222096,-1104487390,-1138958066)+W(3,-1129839981,1041635489,-1083432255,-1099581339)+W(4,-1113019592,1015980625,1039506778,-1087170514)+W(5,1074899174,1052206445,-1103205528,1015820001)+W(6,-1111122039,1054414527,-1087814585,1033877978)+W(7,-1114160943,1023501105,-1108253250,1040911707)+W(8,-1119836905,1035305654,-1128600489,-1135082354)+W(9,1042547871,-1107819629,-1108795814,1040418607)+W(10,-1113593105,1028405761,1023517501,-1119501461)+W(11,-1120345851,974999585,-1136105250,1023691837);WS(1064809580,1026007555); +sum1=W(0,-1117346201,-1139810490,1018638922,1046259126)+W(1,-1110265860,-1107316166,1012678303,-1117193870)+W(2,1041509643,-1116046893,-1107022182,1042684025)+W(3,-1112794575,1032058104,-1089321581,1058768682)+W(4,1049529906,-1107194416,1024755966,-1127734554)+W(5,-1106321711,1057441571,-1097674775,-1115653262)+W(6,-1119597108,1040786347,1042250009,-1088983804)+W(7,1052962187,-1115453338,-1109792204,-1106953519)+W(8,-1136225478,1052663642,-1105006210,-1104239151)+W(9,1039580268,-1120656619,-1140389406,1033398978)+W(10,-1138416249,1026892022,-1109340249,-1123630216)+W(11,1031754384,1030125211,-1114619763,-1113265368);sum2=W(0,1002173025,-1126476274,993251281,1035289805)+W(1,1026092616,-1119256919,1022454821,-1112202702)+W(2,1027055467,-1110248161,-1106697397,1035602798)+W(3,-1114052781,1040267060,-1106967376,1050537246)+W(4,1051631259,-1119463370,1026488668,-1105276944)+W(5,1037292044,-1103163514,-1119693560,-1109176262)+W(6,1024785122,1041996701,1032247852,1036995069)+W(7,1026699348,-1123291766,-1114947733,1024974628)+W(8,-1103384730,1044720036,-1113586574,-1103668424)+W(9,1041552522,-1106672600,1024347316,-1136575544)+W(10,1012871948,-1104716490,-1114686018,1014734543)+W(11,1038837578,1011597497,-1113050536,-1124038001);WS(1065652022,1032044813); +sum1=W(0,1008146233,1024151812,-1109382253,1046726755)+W(1,-1118504831,-1145994760,-1138253430,1033154018)+W(2,-1111423088,-1114751985,1030270670,1011776865)+W(3,-1111490857,1037025524,-1089787453,1060185520)+W(4,-1108385813,1031075253,1034343482,-1098142828)+W(5,1056996567,-1102691401,1034117937,-1115595081)+W(6,1027957290,-1093711910,1064926206,-1084615165)+W(7,1042611828,-1141498448,1037589943,1019326054)+W(8,1020462798,-1096112169,999245356,1030480467)+W(9,1035138662,-1137243780,1028825917,-1123985530)+W(10,-1106962907,1020535720,-1130048270,1033030167)+W(11,1017317515,-1105819364,-1131349303,-1161641125);sum2=W(0,1006780909,1018874621,-1118402441,-1125742470)+W(1,1022906649,1002124531,1032029355,-1106542042)+W(2,-1123089851,1042324218,1032351097,-1127943559)+W(3,928839112,-1114343998,-1111882995,-1150379126)+W(4,1030201786,-1112138839,-1118040285,-1106692361)+W(5,1057618964,1059562898,-1096401122,1036092239)+W(6,-1112805367,1043467647,-1114692462,-1124030112)+W(7,-1101041619,-1119061832,-1105940221,1041450718)+W(8,1035656455,-1096899429,-1105376866,1038704957)+W(9,1025941308,1036583459,-1122657152,-1115452253)+W(10,1025207396,-1115257437,1031169874,-1106475204)+W(11,-1181112366,-1108009053,-1117532473,1040262599);WS(1060219372,-1086892801); +sum1=W(0,-1103145773,1039153858,1051640744,-1098525574)+W(1,-1104573181,1018968139,1041685441,-1139059104)+W(2,-1111094658,-1114399172,1034492410,-1114173214)+W(3,-1114046300,-1139626983,1060139625,-1105262039)+W(4,-1112320535,-1114750605,-1105288038,1051743245)+W(5,1048845947,-1084251893,1048366229,-1119683574)+W(6,1036049319,1005204005,1056234019,-1132035760)+W(7,1045757805,-1113866359,-1105447101,-1096900831)+W(8,1058595229,-1097183901,-1102598303,-1132035040)+W(9,-1153064218,1006778518,1030114274,-1095492788)+W(10,1044243314,1021887633,1037687846,-1097346218)+W(11,1052830405,-1105878061,-1114955456,-1107291810);sum2=W(0,-1116149857,1025241726,-1099180395,1043244905)+W(1,-1108018378,1036684654,-1115656995,1004099725)+W(2,-1094029030,1042198638,1030698655,-1113978987)+W(3,1030898684,1025926274,1029208805,1050305603)+W(4,-1105752531,1030311314,-1101937257,1029996270)+W(5,-1093188603,1051892024,1032179392,-1143836228)+W(6,-1172884346,1015423640,1043486640,1010118001)+W(7,1042453668,-1107174775,-1108962642,-1098527410)+W(8,1057927618,-1111697287,-1110311603,1032971351)+W(9,-1122887710,-1102965987,1033678913,-1106879588)+W(10,1043859461,-1114814873,1035380843,-1099100919)+W(11,1054675670,-1115267941,-1124505249,-1114563702);WS(1054285911,1050558006); +sum1=W(0,-1123510162,1038924416,-1103298920,1049975562)+W(1,-1107117058,-1132690963,-1131523010,1041880394)+W(2,-1093800836,1050884477,-1103773453,1013663344)+W(3,-1131464621,1042834130,-1095165898,1056805171)+W(4,-1101616339,1008580322,1019709806,1022473868)+W(5,1057683379,-1101108530,-1121085405,-1112183179)+W(6,1029482925,-1100861061,1065493943,-1084744157)+W(7,1044641696,-1107880231,1019519396,-1099456110)+W(8,1059660975,-1084827161,1037612741,-1118057053)+W(9,1008876867,-1103795177,1052993120,-1096422344)+W(10,1041661496,-1120002940,990268585,1023983666)+W(11,1049686449,-1102767109,-1112995616,-1125681410);sum2=W(0,-1122499415,-1115660402,1019721643,1052675919)+W(1,-1134010714,-1107636671,-1135750526,-1103885919)+W(2,-1163427536,-1111228057,-1097257542,1043515230)+W(3,1025808744,-1107570715,1050733408,1050715774)+W(4,-1097200131,-1113330231,1004729468,-1109043837)+W(5,1068391994,1068640266,-1098019427,1035061875)+W(6,1038371609,-1101018403,-1088555463,-1109791041)+W(7,-1104872484,1015805682,1025309219,-1106866200)+W(8,1029079067,-1082318320,-1103711089,-1134559274)+W(9,1037233345,-1100735475,1034253450,1048468038)+W(10,-1096395820,1043601518,-1107252608,1049544712)+W(11,-1147071004,-1092391889,1032346912,-1139706642);WS(-1090663639,-1077388844); +sum1=W(0,1018174482,-1118693311,-1093711755,1049109025)+W(1,1040639418,1010315758,-1160081154,1029100670)+W(2,-1098783931,1046071575,1021012498,-1115518041)+W(3,-1125628059,-1120731528,-1088582516,1052420297)+W(4,-1106387497,-1181480889,-1132569784,-1106887239)+W(5,-1095941442,1068562223,986381179,1034527238)+W(6,-1117916196,-1106415899,-1087125152,1064382514)+W(7,-1096200966,974332196,-1117849353,-1097169074)+W(8,-1094690684,1058209900,-1116837948,1015836076)+W(9,1021610031,-1146324700,-1097735927,1048904111)+W(10,1025702951,-1123641014,-1122253105,-1168966176)+W(11,-1093052224,1056110513,-1121509238,1025570188);sum2=W(0,1034436941,-1094381136,1032181918,1038416019)+W(1,-1157362266,1040127243,-1113720588,1042206203)+W(2,998633097,-1112936962,1041189037,-1108577062)+W(3,1024698569,-1096498964,1057336919,1044225483)+W(4,-1114037642,-1122557473,-1106229774,-1082651758)+W(5,1076874404,1035551973,1029476436,1033287923)+W(6,1036635696,-1065300211,1081990850,1041430251)+W(7,1035032611,1024588020,1046234567,-1070759890)+W(8,1049370102,1045207615,1036601034,1015731519)+W(9,1052080385,-1090746117,-1114040834,1038285588)+W(10,-1115422836,-1155116306,1034351318,-1089089289)+W(11,1035723536,-1119691531,-1130950394,1031958369);WS(-1080363926,-1071486509); +sum1=W(0,1035667824,-1117755862,1058850627,-1089812638)+W(1,-1119781738,1033333673,-1106562756,-1102851061)+W(2,1044522508,-1098855847,-1124105919,-1122920906)+W(3,1048836261,1026770536,1060900423,-1094273901)+W(4,-1136163052,1034167779,-1099668353,-1096598034)+W(5,1062774732,-1081351512,1019768789,-1100720585)+W(6,1041756943,-1111989629,1060314417,-1091724133)+W(7,1036217472,1023569595,1034350288,-1117155588)+W(8,1058954340,-1097309107,1034476769,1037864032)+W(9,-1111757455,-1106686285,1047827972,-1089979637)+W(10,1034808863,-1108224543,1036008540,-1110305168)+W(11,1058323473,-1097705308,-1112569431,997120104);sum2=W(0,-1130221439,1026473921,-1098631230,1059210683)+W(1,991949852,-1088875775,1039521143,1040027805)+W(2,1049962270,1037922688,-1128609979,1043008084)+W(3,-1106623296,-1103850305,-1102633929,1032319554)+W(4,1032322677,-1081254616,1040812416,1044422007)+W(5,1053913409,1075309200,-1093367457,-1078110278)+W(6,-1108121630,1033782288,1041179127,1051007822)+W(7,-1128820939,-1087823621,1011405671,-1112409330)+W(8,-1118313372,-1114991064,1042490244,-1085620101)+W(9,1024610419,1042204829,1033589003,1064519547)+W(10,-1108707286,1038944538,-1120568012,1007920671)+W(11,-1105557487,1041664007,-1108726636,-1097283302);WS(-1085146860,-1078432897); +sum1=W(0,1000247468,-1149696569,1046594056,-1105608437)+W(1,1029982264,-1128935441,1037132754,-1105005939)+W(2,1049101493,-1092242085,1035020227,-1114749360)+W(3,-1107087079,1047641075,1036712721,1034057408)+W(4,1000135432,1041253327,1043827999,-1094624073)+W(5,1056540903,-1091288646,-1097712673,-1098691603)+W(6,-1105171356,1038438012,1056427897,-1092984875)+W(7,1048401189,1031740017,1034542459,-1098392071)+W(8,1052522438,-1099696227,-1113847620,-1124493285)+W(9,-1139389265,1037791108,1039493090,-1123704450)+W(10,1041969240,1035876258,1019250012,-1111893867)+W(11,1053002294,-1096292923,-1109486882,-1117863020);sum2=W(0,981650725,1022634928,-1122722467,-1134931805)+W(1,-1114801830,1035155349,-1123188651,-1141995321)+W(2,1043118137,1038372119,-1108690895,-1113558499)+W(3,-1132394336,-1159373413,-1111962066,-1088039805)+W(4,1059960197,-1123558064,1019312288,1040593594)+W(5,-1085264893,-1062981933,1086226578,-1122982849)+W(6,1007032529,-1125839148,1035586791,-1088420516)+W(7,1052041256,1041973847,1019035800,-1144628769)+W(8,1030456162,1033594923,-1121903247,-1112866008)+W(9,-1139057577,-1130558040,1025167346,-1132235322)+W(10,-1127116104,999416881,994405618,996479090)+W(11,-1121727683,-1141102409,1010205301,1015327588);WS(1065314092,1028007882); +sum1=W(0,1031315399,-1118910333,-1110071882,1027958726)+W(1,-1132049297,1030345978,1009229913,1044274103)+W(2,-1091088835,1049048403,-1098774521,1015648546)+W(3,-1129846167,1040482617,-1081937298,1058342964)+W(4,-1097400260,1033820695,1030512684,1028502523)+W(5,1057125791,1041882615,-1128387300,-1123750794)+W(6,1027211107,-1098008831,1063505604,-1081007746)+W(7,1042307230,-1119357859,1024491495,-1114626726)+W(8,1056913060,-1094994912,1046624506,-1108219417)+W(9,-1133667543,1030034106,1045615294,-1103714125)+W(10,1018202602,1021380405,1020076159,1035646611)+W(11,1046315392,-1120947018,-1116178789,-1113806211);sum2=W(0,-1105494348,1051114204,-1106549278,-1106413411)+W(1,1026636954,-1101805730,1042860341,-1095282678)+W(2,-1095274416,-1115620988,1032482885,-1123651604)+W(3,1034523914,-1099570184,-1097084890,-1100406176)+W(4,-1103782738,1033985372,1032509803,-1092355888)+W(5,1068351366,1061966336,-1111829172,1041181693)+W(6,1037500440,-1093487707,1045336627,1064976080)+W(7,-1099957245,-1105149847,-1136462181,-1101634066)+W(8,-1093371043,-1095768559,1011878641,1041978329)+W(9,-1115571726,1038218158,1025607496,1051011462)+W(10,-1122142689,-1106959075,1030953968,-1144657738)+W(11,-1098135458,-1103066203,1046841453,1034424520);WS(-1100053422,1042143034); +sum1=W(0,-1121193300,1038907933,1037214192,-1104157285)+W(1,1003265009,927491180,1027006179,-1101648146)+W(2,1052804861,-1116788520,-1105088109,1036085839)+W(3,-1116784408,1051061595,-1092953078,-1115727182)+W(4,1044603252,-1112320669,-1124403186,-1096312949)+W(5,1063691363,-1094770533,-1110178331,-1132796507)+W(6,1032959000,1021329739,1057610578,-1085255924)+W(7,1042273837,-1129217311,1036096698,-1104405590)+W(8,1046101531,1032460934,-1099699080,1029210945)+W(9,-1106874909,1032316755,1033832353,-1101777344)+W(10,1042741769,-1111566277,-1140087089,1026338531)+W(11,1044117027,-1123976854,-1110400285,1023324661);sum2=W(0,-1141740532,-1127364827,1016858659,1019476887)+W(1,1027610232,-1114104878,-1141563308,-1115378106)+W(2,1014774982,1033910688,-1098709711,1038463125)+W(3,-1146742484,-1097895309,1061549017,-1098904537)+W(4,1048121474,1009723338,1037326381,-1089066292)+W(5,-1086943216,-1087533486,1044386108,-1128378528)+W(6,-1100634945,1074712949,-1081904953,1051894188)+W(7,1035948687,-1114075451,-1112991637,1036278807)+W(8,1016249563,-1105464222,1034738839,1023041183)+W(9,998071241,1023404119,-1104500239,1039001405)+W(10,-1111082062,1028418264,1028661660,1032269699)+W(11,-1118089334,1002948788,1032376859,-1116656881);WS(1064553004,-1122811923); +sum1=W(0,-1129171987,1031404000,1045766677,-1102182210)+W(1,1024429036,-1144455651,1032276908,-1105326008)+W(2,1049463355,-1094389820,1026361994,-1121595412)+W(3,-1113233767,1049333812,1036005443,974120215)+W(4,1035186995,1034062296,1041762428,-1095271692)+W(5,1059787495,-1088583546,-1095666629,-1100003363)+W(6,-1110071667,1021654775,1057980603,-1092394330)+W(7,1048809333,1024774373,1027123610,-1101813124)+W(8,1052117804,-1097358280,-1132328890,-1125809241)+W(9,-1123823416,1034262350,1041561742,-1111517243)+W(10,1043990330,1035275874,1026480898,-1114787413)+W(11,1051913520,-1097569834,-1107060706,-1116630377);sum2=W(0,1027128731,-1118374135,1034513610,-1123174378)+W(1,1026835315,-1114420605,-1153474964,1014938475)+W(2,-1107487108,-1123472496,1026726549,1026647445)+W(3,1032141903,-1106631533,1042187602,1054134699)+W(4,-1092438474,1008281595,-1114194268,1049333862)+W(5,-1091768288,1082046784,-1066065893,1032174407)+W(6,1010972171,-1117272233,1029258819,1048672371)+W(7,-1108402828,-1107223380,-1128303982,1026850075)+W(8,-1112584656,1015595275,-1129520676,1020663133)+W(9,1020076945,-1130317298,1019094573,-1143083862)+W(10,1012988295,1016020771,-1125252319,1023253865)+W(11,1030375545,-1112246350,1033146096,-1120189048);WS(1066855734,-1119441794); +sum1=W(0,-1127562022,1039804281,-1090674092,1057948125)+W(1,-1113289318,1040603681,-1123770274,-1106380690)+W(2,-1096623933,1041520634,-1102744925,-1104646487)+W(3,-1115364812,1049486942,-1088928155,1058254390)+W(4,-1126493725,1030330554,-1108591004,1052921753)+W(5,-1086271011,1066610309,-1125400685,1047144630)+W(6,-1109630903,1002857256,-1088126629,1047590014)+W(7,-1097419497,-1118729135,1012450637,1049080999)+W(8,-1098448030,1058670697,1027654745,1040353710)+W(9,-1111453929,-1123146086,-1095526376,1020669183)+W(10,-1103558716,-1110153949,-1112819014,1045715313)+W(11,-1090620137,1057080301,-1122765265,1038000005);sum2=W(0,1029773001,1045848843,-1100354950,1042255280)+W(1,1031741567,-1106457511,-1098400772,-1098127734)+W(2,985414438,-1114969170,-1101857955,-1121665039)+W(3,1049403575,1040542896,-1094506611,1044461531)+W(4,1033605854,-1106685198,-1106957817,-1113384065)+W(5,1065317808,1063282493,-1099888837,-1090380876)+W(6,1040180418,-1098054809,-1102424534,-1111953320)+W(7,-1148110913,-1097784009,-1125940042,1051521525)+W(8,1038107076,1052337139,-1125555808,1010307405)+W(9,-1121768997,-1098090743,1030043463,-1098581045)+W(10,1034608926,-1105861523,1035657430,1035815778)+W(11,-1104826760,1052586351,-1105779304,-1121200133);WS(1024108216,1053619151); +sum1=W(0,-1110237276,-1117217830,1029541828,-1116974327)+W(1,1028000106,997960357,1036125123,-1104025987)+W(2,1035829669,1029841740,-1125285423,-1115997186)+W(3,-1105593599,1053313098,1040682969,-1093167724)+W(4,1031701731,1020700860,-1116690717,-1107833238)+W(5,1058976450,1049118258,-1094097902,1017239158)+W(6,-1138403916,-1112296045,-1104638900,-1102593951)+W(7,1055269059,-1122615091,-1118424632,-1108171422)+W(8,1053496066,-1123704112,-1100830255,1029941429)+W(9,-1118568038,1025019530,997886569,-1107943218)+W(10,1036129823,-1111217181,-1117554448,-1113883668)+W(11,1047703644,-1108512765,-1109656827,1020926429);sum2=W(0,-1119993039,-1109450011,1040401784,-1106582025)+W(1,1033614749,-1147493015,1038893624,-1096262037)+W(2,1053717996,-1117988753,1000703247,-1114388777)+W(3,-1105602869,1055566572,1043380434,-1092886002)+W(4,1034388956,1043473668,-1106354535,-1158461197)+W(5,-1105416337,1072933379,-1081255560,1043342555)+W(6,1032998629,-1117939535,-1087999087,-1083385663)+W(7,1066426555,-1094544057,998835515,-1108137959)+W(8,1027244587,1045359897,-1093783038,1045623937)+W(9,-1119543359,1037096144,-1117843291,-1101171319)+W(10,1051461624,-1102892249,1026155597,-1114868339)+W(11,1031605777,1022787365,-1100938466,1041102940);WS(1062840044,1036517115); +sum1=W(0,1027882709,1024218619,-1088734638,1057788973)+W(1,1032695796,-1105941698,-1102360361,-1119309706)+W(2,1031157223,1045291130,-1107257205,1032367183)+W(3,1037386637,1051294017,-1082181941,1057574554)+W(4,1039133128,1015412087,1026327034,-1105387538)+W(5,-1087289600,1064725383,1024151288,-1102302982)+W(6,-1102333276,1045232110,-1089919726,1056789371)+W(7,-1131902346,1046746652,1042539613,1042423170)+W(8,-1088061047,1052153154,1045762482,-1110282969)+W(9,-1113170154,-1107171938,-1126992520,-1124580994)+W(10,-1130270357,-1116552186,-1117867630,1042893141)+W(11,-1098512042,-1109192172,1047580087,1032060742);sum2=W(0,-1128425377,-1106124336,-1106789449,-1116881359)+W(1,-1108203604,-1154187588,1027402769,-1123408727)+W(2,1046361983,1040877836,1041799035,1037669599)+W(3,-1122701285,1035952055,1033758045,-1092736894)+W(4,-1110885432,-1106801609,1029460017,-1106291502)+W(5,-1092942672,-1089281400,1058715791,1044648045)+W(6,-1128656941,1034330078,1022825967,1067937621)+W(7,1060265099,-1104725901,1015114546,-1137130753)+W(8,1043050798,1057367901,-1090127289,-1099584998)+W(9,-1131912907,-1151273092,1026393205,-1100743964)+W(10,-1100147508,-1114467924,1012677721,-1141059698)+W(11,-1114857397,-1116376233,-1085394823,1048436512);WS(-1090906199,1032077706); +sum1=W(0,-1133027020,-1114971356,1042474992,-1109782777)+W(1,1040233361,-1113511763,-1121893314,1044790618)+W(2,-1113284386,1033127972,-1105262125,1025873725)+W(3,1023318639,-1123234602,1041326284,-1090554926)+W(4,1034823031,1011115622,1029445080,1040694938)+W(5,-1105269270,1053731809,-1109230339,-1129412204)+W(6,1001128051,1035215242,-1090300845,1054234875)+W(7,-1098565414,1038160135,1034316233,-1102125462)+W(8,1049843289,-1098556565,1042417542,1018477632)+W(9,-1103958128,1043268297,-1131346756,-1121911775)+W(10,1026215817,1009497794,1035906358,-1122145747)+W(11,1025511402,-1113919963,-1122686272,998364239);sum2=W(0,1010874613,1030375188,-1115235366,1049471257)+W(1,-1100352469,1040126787,1031993168,-1098558104)+W(2,1051363302,-1094785947,1040320218,-1131978284)+W(3,-1110586713,-1116546039,1056517150,1031272431)+W(4,-1111763071,-1124433226,1035954309,-1089737673)+W(5,1057138262,-1102658594,1043402933,1027656919)+W(6,1034349301,-1094899703,-1098486858,-1112892354)+W(7,1057577914,-1092308561,-1122071401,1053685859)+W(8,-1093546729,1046184196,1039716432,-1116345243)+W(9,-1140127141,-1108774266,1034072089,-1109252950)+W(10,-1122970680,1016915650,1029284667,-1124583674)+W(11,-1122424073,1037904141,958822899,-1140678181);WS(1065971990,-1117349785); +sum1=W(0,1041698888,-1103591502,-1130045402,1049080916)+W(1,1009208654,1021475879,-1112126136,1043874709)+W(2,1044992637,1047240445,-1121869537,-1134810027)+W(3,1034826515,-1101299034,-1083999976,1060703412)+W(4,-1123043996,-1144695867,-1129568652,-1186542860)+W(5,-1081978560,1061790267,1028920692,1017436104)+W(6,-1109843230,1041410157,-1085461041,1058214583)+W(7,-1105683576,-1131209785,1024013025,-1159955630)+W(8,-1090063736,1059365054,1011681824,-1139574520)+W(9,1009653886,1030113747,-1097631850,1049303674)+W(10,-1125202109,1000157667,-1137279078,-1120752640)+W(11,-1094129699,1052607100,1021258909,1022839599);sum2=W(0,-1117014919,-1073720352,-1104300581,1055286111)+W(1,-1105567211,-1108683793,-1130364155,-1086725672)+W(2,-1091483554,-1109695767,1032269150,1033653176)+W(3,-1106662873,1069712606,1061376514,-1114136197)+W(4,-1138351682,-1115525434,-1114007102,1062079613)+W(5,1060429625,1052661025,1018497014,1043366723)+W(6,1049348603,-1102930718,-1098979910,-1131131469)+W(7,1032920333,-1107942477,-1111037227,1020707077)+W(8,-1091915359,1050631696,-1117367449,-1139459182)+W(9,1016435713,-1114426132,1043583392,-1112682766)+W(10,-1122101547,-1122885189,1035610526,1034066723)+W(11,-1091474650,-1112601210,1039950258,1026792554);WS(-1087438700,-1079683283); +sum1=W(0,1017584527,-1111085935,-1097724786,1052950249)+W(1,-1112145065,1032156829,-1126645293,-1110290014)+W(2,-1098381907,1053593812,-1106211842,-1129163939)+W(3,1024510860,1033919541,-1083731542,1063649365)+W(4,1003633557,-1118260846,-1126938201,1049726143)+W(5,-1081500983,1059087538,1023563130,-1120786763)+W(6,1025818403,1042036038,-1097215121,1052548297)+W(7,1019377518,-1116189667,-1163276521,-1114444262)+W(8,-1091706404,1057898452,-1104008328,1023503580)+W(9,1040771729,1029908410,-1097070911,1045403069)+W(10,-1115067299,-1112674412,-1160528892,1035428627)+W(11,-1097940968,1052829673,1032435766,1015355644);sum2=W(0,1027460995,-1139353737,-1116062036,-1105887481)+W(1,1043084390,-1112909236,-1126036613,-1172793556)+W(2,1041340702,1031879973,-1108443334,-1144584219)+W(3,1029366028,1021322407,1050063273,-1101108606)+W(4,1031078409,-1116288208,-1129309981,-1097919394)+W(5,1055277098,1009470709,1041616760,-1099143154)+W(6,1020875062,-1121912528,-1106551211,1047064096)+W(7,-1107655532,-1100042276,988377354,1034370211)+W(8,1041415105,1034815104,1018545561,-1108610892)+W(9,-1109676838,-1137199485,-1128558209,1034836242)+W(10,1014245687,-1111876576,1030688918,-1107628664)+W(11,-1134721053,1049845283,-1104117922,-1123449114);WS(1044595630,-1081949232); +sum1=W(0,1039675598,-1112185757,-1088266627,-1103352647)+W(1,1051863744,-1115854735,-1114551286,1041771076)+W(2,-1144202605,1058269731,-1102436935,-1130126796)+W(3,1008233858,-1113654239,-1106609306,1055957016)+W(4,1041931682,1017898629,-1121252161,1036138408)+W(5,-1087961804,1060473075,-1105147684,1041818984)+W(6,1033942172,1043328887,-1087619944,1062639593)+W(7,1002098271,-1130413359,-1122512668,1047911808)+W(8,-1086197995,1055667963,-1111264410,1032948860)+W(9,1026205083,1028532559,-1087181441,1042300482)+W(10,1038991809,-1115140949,-1118876117,1051948425)+W(11,-1079365891,1051816684,1047648830,1035539513);sum2=W(0,1050752765,-1087877559,-1089125923,1063798323)+W(1,1013490077,-1098786735,-1102559074,1042152886)+W(2,1035361880,1052128007,-1090156566,1029952535)+W(3,1004621594,-1095393630,1058416370,1062325475)+W(4,-1094287538,-1116454071,-1106905815,-1106434273)+W(5,1058355794,-1120474523,-1101206197,1025568531)+W(6,1038134564,-1099723068,1056388755,1051681161)+W(7,-1100293430,1009033997,-1114858390,1036662936)+W(8,1040360076,-1096401119,-1104699402,997069429)+W(9,999530010,-1101776331,-1106345832,-1106373450)+W(10,1048788631,-1117506479,-1104442024,1054232067)+W(11,1034476952,-1089943559,-1113690608,1019208527);WS(-1082323244,1081334754); +sum1=W(0,1017652669,-1114671162,1045686283,-1100397239)+W(1,1040334760,-1120290385,1026074030,-1101582293)+W(2,1051997878,-1097273854,1036251335,1010893986)+W(3,1026308835,-1102225205,1056290627,-1091487775)+W(4,1044247257,-1114193219,-1139023631,-1128122150)+W(5,-1109179969,1033600923,1034603313,1015477828)+W(6,-1124784756,1047028384,-1088067773,1058585755)+W(7,-1098471302,1027532986,-1157466090,1041367009)+W(8,-1090935975,1058457225,-1104671877,1028455628)+W(9,-1151223253,1037350457,-1100014755,1047302995)+W(10,-1113240670,1023216600,-1123067319,1018518877)+W(11,-1100605637,1040259816,1007040336,-1167442276);sum2=W(0,1021161720,1034310052,1028060302,-1111691904)+W(1,-1117456161,-1120681063,-1130912565,-1120070653)+W(2,1057895756,1060473449,-1103940220,1030806761)+W(3,-1130074229,1013066141,1050008660,1048707954)+W(4,1041027109,-1131293055,-1117040706,-1097167140)+W(5,-1077198236,-1071981659,-1101172514,1009545637)+W(6,1025588007,-1126989997,1036249174,1055589119)+W(7,1014637039,1035622377,1012731209,1035986228)+W(8,1061480822,1068029984,1014223793,-1130249456)+W(9,-1117264939,979500482,1036420478,1025639810)+W(10,1027808652,-1120874755,1035821810,-1131150309)+W(11,-1114248001,-1104930835,-1128414380,1036288471);WS(1053726551,1012659382); +sum1=W(0,1032083097,-1106638998,-1098702088,1047871676)+W(1,998886703,1022035144,-1115995457,1034541187)+W(2,-1098027112,1032148771,1042659740,-1112198366)+W(3,1025061558,-1115280977,-1088652495,1060231518)+W(4,-1106688851,1034668492,-1122031383,-1104507249)+W(5,-1092902123,1065996118,-1104094145,1024148149)+W(6,1038196358,-1114143426,-1085882325,1058126194)+W(7,-1102012910,1010989620,-1115071689,1029764374)+W(8,-1097451113,1059563219,-1121352461,1012420282)+W(9,-1130575936,1031225348,-1098237300,1035470703)+W(10,-1128714910,-1123786037,-1113099877,-1102798468)+W(11,-1111014420,1054581342,1000597622,1024134712);sum2=W(0,-1124504165,1043258069,-1119272862,-1120765402)+W(1,-1132584009,-1130103221,1044199209,-1105860909)+W(2,-1096303760,1027333462,-1112573193,1030769098)+W(3,-1105768285,-1149580326,1030851358,-1110802573)+W(4,1028533186,-1111917317,1030597508,1054859448)+W(5,1057797022,1040041196,1035436142,1033418125)+W(6,-1097181409,1065166573,1062380695,1017534493)+W(7,-1141430739,-1140263257,1040834484,1012576825)+W(8,-1116955554,-1108797661,1032147286,-1126074797)+W(9,-1106395293,-1091772000,-1113754765,1042765191)+W(10,-1113752657,1020067757,1038991009,-1077787203)+W(11,-1098893101,-1110880129,-1120959090,-1136443945);WS(-1091585367,-1096979755); +sum1=W(0,-1125210148,-1104771642,-1104387016,1039960904)+W(1,1043768271,-1127914889,-1121704545,1041680018)+W(2,-1093500244,1056326757,-1114046313,-1113011982)+W(3,-1120024086,1043362647,-1085845307,1060708396)+W(4,1022927067,-1140249314,-1106223422,1048656073)+W(5,-1086139981,1060053831,-1105827043,-1132509525)+W(6,1027649645,1038801018,971788283,-1115241635)+W(7,-1120254754,1027284814,-1106879908,-1103521718)+W(8,-1124812374,1040958787,1038747748,1026834103)+W(9,1033259600,-1106174833,1011346436,995843043)+W(10,-1118768800,-1115807705,-1108105765,1031226898)+W(11,-1119913673,1040930453,1040461604,1029803545);sum2=W(0,1007158722,1004004293,-1123076619,-1109929145)+W(1,-1104848259,1045822378,-1117465525,1030693613)+W(2,1034532408,-1107544976,-1095482533,-1130708853)+W(3,1020157105,1007550482,-1101572236,-1110988335)+W(4,-1085485924,1036333634,-1115575087,1032793866)+W(5,1059720067,1067665797,-1090269083,-1111111456)+W(6,1029731993,-1104867994,-1112732963,1048427228)+W(7,-1135504754,-1105802165,-1115951245,-1111503366)+W(8,-1098900155,1058832170,1037004208,-1115747431)+W(9,1042169362,-1101768383,-1132362761,1029991341)+W(10,-1108400441,-1132122165,-1111020797,1042858280)+W(11,-1101011815,1043396912,1041064016,-1126685993);WS(1050761175,1067771859); +sum1=W(0,1007679755,-1103008542,-1117542415,1040506400)+W(1,-1107587308,-1123566389,1016344868,1051881455)+W(2,-1099208581,1050438683,-1138473483,1035136294)+W(3,-1111212068,-1113694143,-1094852820,1036449755)+W(4,-1102372368,-1110750261,1035369236,1057165115)+W(5,-1086714990,1067282489,1045850761,1047098321)+W(6,-1114152399,1030154052,-1087862176,1049754336)+W(7,-1112794889,-1108921199,1027679203,-1119705863)+W(8,-1098820035,1030273979,-1111030523,-1158006009)+W(9,1024513697,1037582923,-1101037788,1048082428)+W(10,-1114576136,1025557440,1023429051,-1106945041)+W(11,-1098056967,1020854026,1000524418,1029171882);sum2=W(0,-1108377721,1042939389,-1118508723,-1101760284)+W(1,1037932369,-1111488356,1043256577,-1092756549)+W(2,-1136988785,1050996294,-1104406221,1040203060)+W(3,-1098471532,-1140040329,-1099870420,-1098704018)+W(4,1015984185,-1103619810,1048495965,-1094992475)+W(5,1064902851,1062859454,-1098855018,1045571731)+W(6,-1103576309,1017276157,1045749581,-1089477514)+W(7,1025174042,1025902034,1036658009,-1104050853)+W(8,1045838269,-1157061765,-1121418697,-1107737652)+W(9,-1107738492,1032200565,-1110226959,1046491511)+W(10,-1106492592,1044444185,1030436882,-1104348148)+W(11,1042649061,-1106567852,1027657606,-1105647758);WS(1057448172,1069108917); +sum1=W(0,1025232554,-1116799928,-1100727837,1055215485)+W(1,-1106508548,-1139419762,-1128422002,-1123655391)+W(2,1037047614,-1104723136,1040448906,1006660815)+W(3,1032607415,-1111298160,-1102160962,1056783106)+W(4,-1103004521,1016236833,-1106129908,-1119092894)+W(5,1036246919,-1165535249,1040745899,-1123853933)+W(6,-1141856298,1044964179,-1088316592,1049606186)+W(7,-1132962087,1016605067,1015221011,-1128617181)+W(8,-1116622467,1044617768,-1103456342,-1160895193)+W(9,1010040610,-1116425884,1027658969,-1132120236)+W(10,1037741920,1018376479,1026592994,1015937075)+W(11,-1102536008,1042573835,-1118303623,-1120915345);sum2=W(0,-1128749003,1042697161,-1101835107,1038607216)+W(1,-1108371617,1031384482,-1091479855,1061865996)+W(2,-1097573200,1026943422,-1114744392,1026017402)+W(3,-1124909389,1067634595,-1083343720,-1110364223)+W(4,1035072621,1036186174,1030767422,-1111988197)+W(5,-1090130192,-1089515454,1054823097,-1104718688)+W(6,1028475536,-1102439466,1055493018,-1090714326)+W(7,1059932372,1024781950,-1118686225,-1117920963)+W(8,1027292464,-1101900071,1031097460,-1110105890)+W(9,-1133507353,1022976741,1030733458,1033968573)+W(10,-1132241300,1040128898,1003197653,1008285339)+W(11,1002427213,1033064671,-1101772178,1026666744);WS(1065065708,-1125796377); +sum1=W(0,-1112144555,-1106943759,1017193539,1048634147)+W(1,-1127916040,-1132404112,1029634469,1025116330)+W(2,-1112668180,1027133034,1026809557,1004217594)+W(3,-1112840237,-1105630541,-1112954809,1055950575)+W(4,-1112907992,-1111964638,1034269757,-1106751530)+W(5,-1096457447,1060800975,-1093799807,1038388364)+W(6,-1122801969,1023923175,-1094266089,1051425450)+W(7,-1103940357,-1132895812,-1133240789,1041797158)+W(8,-1096385878,1041695411,1039766276,1013909417)+W(9,1016754760,-1113089188,-1106190977,1044103184)+W(10,-1130590086,1032062573,-1119164014,-1130226634)+W(11,-1114305030,1036967948,1008751883,992673732);sum2=W(0,1043431555,-1098806978,1024222598,-1105154239)+W(1,1031236307,953732840,-1109692118,1046643695)+W(2,1045861043,1054740901,1035789437,-1115663935)+W(3,1036275465,-1097975189,-1101643320,-1083291725)+W(4,1007109846,1042301531,-1111890182,1048664613)+W(5,1058544270,1068703829,-1081353417,1035678115)+W(6,-1102288351,1049750262,-1098883379,-1080748028)+W(7,1031821902,-1120166561,1045724738,-1098934938)+W(8,1049188212,1058055770,-1100833476,1047454611)+W(9,-1109691788,1032869755,-1107029975,-1100454574)+W(10,1051695731,-1096856793,1007408138,-1111259526)+W(11,1048185689,-1148294292,-1114785167,1041528279);WS(1061652844,1044003957); +sum1=W(0,-1118715405,1022617806,1044034950,-1101088515)+W(1,1019688911,-1131961856,1029075868,1045689305)+W(2,1030904095,-1103346936,1045834099,-1110934572)+W(3,-1115471369,-1094261862,1059625182,-1096538237)+W(4,-1102841294,1036052922,1032954233,1027529537)+W(5,1057470859,-1086691558,1041319556,-1148682371)+W(6,998963525,-1099266912,1062131070,-1094363880)+W(7,-1166277444,1017830866,-1111723799,1045678528)+W(8,-1098407445,-1105378993,1028040508,-1109411965)+W(9,1036011862,-1119248992,1047156095,-1123294521)+W(10,-1135804811,1030886475,-1152687195,-1108410990)+W(11,1037164834,1016045215,-1106724595,-1123601124);sum2=W(0,-1123087716,-1115107680,1039737456,1045652727)+W(1,-1106100707,-1128513463,-1122327585,-1105390433)+W(2,-1106584843,-1139899009,-1102201417,-1114704327)+W(3,1034911826,1034185422,987338697,1060423005)+W(4,-1111505321,1009548801,-1115300382,1042081129)+W(5,-1094697399,-1103292099,-1094374885,1026056400)+W(6,-1147444258,1036682846,1048628369,-1079464406)+W(7,1066067653,-1112497116,1031538244,1043195731)+W(8,-1100913302,-1102260713,1062702469,-1107096307)+W(9,-1122824244,-1112377777,1041194171,-1101961861)+W(10,1013733313,-1125635761,1026384688,1024479380)+W(11,1036768370,-1106123677,1034543612,1037241080);WS(1061983340,-1091535279); +sum1=W(0,-1154828523,-1133965299,1043906007,-1118138894)+W(1,-1109842717,1025343169,1027504414,-1128653831)+W(2,1027190112,-1097538828,1037523079,-1121887129)+W(3,-1131271078,-1114200663,1061948198,1027560685)+W(4,-1106988467,1023298667,-1120408436,-1129743238)+W(5,1054216086,-1081158944,1048594270,-1108007945)+W(6,-1131629652,-1117839504,1062537731,-1089869577)+W(7,-1121464863,1034422373,-1122568783,1035797658)+W(8,1028696552,-1097887897,1028427349,-1120763036)+W(9,-1165314478,-1115205249,1045640431,-1111951485)+W(10,-1121440284,1008081777,995201141,1019503421)+W(11,1044774081,-1105384996,-1119142300,-1122356070);sum2=W(0,995087446,1036608468,965233164,1033021468)+W(1,-1114419070,1033025046,1030495116,-1099055008)+W(2,-1104807397,-1107407110,1033869233,-1119280070)+W(3,1007114937,-1115487063,-1070882050,1038417178)+W(4,-1103406865,1028798922,-1121939088,1057848194)+W(5,1075270016,-1094462735,1051754977,-1120762821)+W(6,-1109334595,-1106051731,1059573542,1039375650)+W(7,-1104596666,1018124826,1012755199,1015526929)+W(8,-1102771000,-1124510890,1028405316,976567206)+W(9,1031009559,-1118519790,1023903156,1016192349)+W(10,-1111745826,1015800189,-1123906524,1024955281)+W(11,-1159976683,1023974018,955743793,-1129936862);WS(1062927532,1035014202); +sum1=W(0,1039522007,-1114736246,1037103646,-1104897563)+W(1,1044380938,-1121785378,1034505951,-1109500450)+W(2,1048942600,-1092956200,1044086236,1027254073)+W(3,1040732909,1011271190,1053278895,-1091146839)+W(4,1044239087,-1145709740,1002357921,1044028441)+W(5,-1097469770,-1093973369,1042916452,981579331)+W(6,1016035605,1050061010,-1085392865,1051214559)+W(7,-1112456671,1035761861,-1122944943,1042353405)+W(8,-1094832633,1050975197,-1111813313,1033165606)+W(9,999726956,1036129025,-1103977959,1043068615)+W(10,-1112116510,1025151372,-1140151454,1041525964)+W(11,-1111797875,-1126246883,-1110444494,1033358643);sum2=W(0,1038528863,-1084044031,-1082440456,1050939225)+W(1,1053868195,-1113963371,1036214533,-1091834288)+W(2,-1077502553,-1095085693,1028074081,-1114781385)+W(3,1049223347,-1110305241,1049812579,1050231565)+W(4,1046376147,1035810200,-1113699843,1042795689)+W(5,1068178608,1060273714,-1132635925,-1160679206)+W(6,1041716852,1050774414,-1092073446,-1115682722)+W(7,-1098688235,1036026944,-1100571883,1043118649)+W(8,1047476754,-1105112612,1017697398,1016345266)+W(9,1017295180,1047177880,1034666293,1050691511)+W(10,-1092800689,1040315316,-1101978327,1050263507)+W(11,1054410728,-1101197699,-1104788145,-1112282035);WS(-1086906028,1058773265); +sum1=W(0,-1132629757,1044191380,1032367334,-1096691584)+W(1,-1152318558,-1109034905,997844200,1043197109)+W(2,1050808506,-1095732027,1042781664,1031594505)+W(3,965362145,-1125429564,1058285756,-1086608026)+W(4,1034636741,-1119832870,-1106996409,1033453658)+W(5,1062016570,-1081591954,1043388193,-1106441585)+W(6,-1153797548,-1118095697,1044397873,1041881517)+W(7,1045470808,-1149103576,-1120050655,-1121403972)+W(8,1043993638,-1096430215,-1115428219,-1113585524)+W(9,-1122322046,-1119804562,1042486572,1002316636)+W(10,1018594522,-1135705587,1015091632,1026125167)+W(11,1047754366,-1099777504,1024196285,-1122333654);sum2=W(0,1048104076,-1096548381,-1107021820,1018456960)+W(1,-1136070657,-1112321878,1038532068,-1086001730)+W(2,-1131935456,1007620609,1040453646,1033875386)+W(3,-1129915388,-1083843015,1060056432,1033171254)+W(4,-1111662792,-1117768272,-1101156186,1035944594)+W(5,1066609131,1050949241,-1110531416,1032538050)+W(6,-1128179824,-1102068111,1027352212,-1107874139)+W(7,-1104445548,-1114035189,-1128045264,1044127780)+W(8,1048571914,-1104179329,-1127646596,1032855260)+W(9,-1131782160,-1114990278,-1120175088,1038875644)+W(10,-1110249452,-1144805954,-1109473444,1041203218)+W(11,1038985844,-1112054433,1034344442,-1130080864);WS(1046014126,1065769758); +sum1=W(0,1012096182,-1121314108,-1091239207,1052142286)+W(1,1042130570,1019346753,-1112076254,1039437825)+W(2,-1094624040,1048611696,-1109865911,-1152131961)+W(3,-1100987245,1043473803,-1091961473,1060125676)+W(4,-1128757714,-1123465492,-1106802021,1045721640)+W(5,-1088552177,1062377804,-1119711185,1039063160)+W(6,-1106286530,1049347084,-1089539427,1053897896)+W(7,-1128945819,-1114302645,-1129503003,-1109380841)+W(8,-1091526873,1057150062,-1119080717,1015225093)+W(9,1021132153,1049245244,-1091375076,1048631067)+W(10,1034078686,-1135518836,-1112401299,-1120677869)+W(11,-1088888106,1057709495,-1122337355,1014030866);sum2=W(0,-1089976447,1064913799,-1094573985,-1109226965)+W(1,1030445629,-1115506338,-1078304891,1068350548)+W(2,1019506715,-1120561974,1021062218,1018259030)+W(3,-1071851632,1070575185,1065710309,1002672995)+W(4,-1127826384,1012290398,-1070679577,1072673707)+W(5,1065504629,-1098180006,1031139735,995896746)+W(6,-1081022179,1063744071,1056839493,-1117214353)+W(7,-1112765526,1010152224,-1113339548,-1128451504)+W(8,-1124929726,-1111255228,1037321868,-1118014213)+W(9,1011136331,1040942179,-1106886716,1028658493)+W(10,-1127063938,967860273,1035458322,-1115281660)+W(11,-1111465381,1033265670,1001938923,-1119523230);WS(-1096468055,1053785380); +sum1=W(0,-1110473361,-1116957735,1034879511,1017136705)+W(1,-1116669644,-1118632404,1020813409,-1114360891)+W(2,-1114475674,-1111337627,-1135792006,-1120549867)+W(3,-1111899059,-1123200592,-1109008383,1028379180)+W(4,-1105125143,-1162426624,1027946631,-1090968927)+W(5,1066746382,1051825655,-1094808947,-1173354793)+W(6,1003556839,-1107232681,1064704330,-1094442401)+W(7,-1116312257,-1119514205,-1143096715,-1117882342)+W(8,1046069775,-1129057075,-1106172505,-1113957025)+W(9,996386562,-1118523124,1042611044,-1114700263)+W(10,-1135525501,-1130080208,-1123588698,-1105979736)+W(11,1040361862,1022269000,-1106276184,-1123525720);sum2=W(0,-1127419095,-1122531649,-1111543417,1043407189)+W(1,1013519927,-1134679399,-1140125367,1025350612)+W(2,-1108347637,1028851928,-1117946771,991440379)+W(3,1028088432,-1123116186,-1101718819,1048774619)+W(4,1041147594,-1127107007,-1126099139,1020760995)+W(5,1056423339,-1086358248,-1112971994,-1115422093)+W(6,-1114986450,1019570567,1073762237,-1076137651)+W(7,-1118107520,1037345920,1024738032,1039021380)+W(8,-1100544782,1044261707,1015761083,-1103403994)+W(9,-1114843176,1018690059,1049061203,-1099227611)+W(10,-1111772147,1042824177,1023949256,-1119198021)+W(11,1026425060,-1123270518,1027419728,-1129333383);WS(-1089097708,-1091261619); +sum1=W(0,-1127316247,1003986316,-1111263852,1044425283)+W(1,1033605983,-1116984894,-1113526029,-1120011361)+W(2,-1112997295,1047767320,-1118942860,-1121673366)+W(3,-1118797136,1046355762,-1081822066,1061869832)+W(4,-1110810403,1027944882,-1123552881,-1103137072)+W(5,-1100403388,1058200050,1009152314,-1124559262)+W(6,-1123795687,-1103576251,1053114278,-1092855018)+W(7,1046189751,-1131347855,1015138359,1032220600)+W(8,-1138618770,-1160534136,1031283151,-1118591413)+W(9,-1129675572,-1120446878,1007314666,1034662460)+W(10,1016196275,-1131488026,-1126584008,1027028747)+W(11,-1123471427,1018063772,-1128724178,-1122517738);sum2=W(0,-1151923233,1040701127,-1110923755,-1103532415)+W(1,1041909162,-1121169096,1026311687,-1109901381)+W(2,1024679085,1016651554,1036375055,-1135341024)+W(3,1025121279,1034378939,-1080291839,-1082840291)+W(4,-1110170843,1041541680,-1123775834,-1092342947)+W(5,1071256357,1066054209,-1090243220,-1128413506)+W(6,1033596173,-1096202739,1042190483,1056834874)+W(7,-1097275958,1043004954,-1105542037,1051958537)+W(8,-1103925783,-1199035157,1038401459,-1097944284)+W(9,1035290939,-1098166743,1046386099,1035522294)+W(10,-1113079432,1042529081,-1108107550,1047977685)+W(11,-1114731953,1030555165,1015019440,-1099750845);WS(1061142188,1045552914); +sum1=W(0,1022384747,1020461367,1058732728,-1095805239)+W(1,-1101590238,1033080372,1019603337,-1114371061)+W(2,1054684529,-1098135841,-1123665301,1031766591)+W(3,992843677,-1137489184,1060634392,-1085459239)+W(4,1027392977,-1123755612,1025369499,-1128616851)+W(5,1056292747,-1081060320,-1124699057,-1116775033)+W(6,-1149984013,-1114859644,1061516204,-1083596540)+W(7,1038698931,1034158665,1030794181,-1134916072)+W(8,1058073341,-1097701630,-1106352164,-1134014242)+W(9,-1123167236,-1114858116,1052882077,1026645922)+W(10,1006025241,1037240581,1034453383,1009189588)+W(11,1050605022,-1099032542,-1100750969,-1122655396);sum2=W(0,1041010686,1045355628,-1091459780,-1092997038)+W(1,1025085151,1019331790,-1100296712,-1110840017)+W(2,-1109934927,-1109499465,-1110570114,-1115246837)+W(3,1042377248,1028443719,-1120459763,1023984711)+W(4,-1120816159,1025130703,-1124701214,-1097271182)+W(5,1068946970,1068602839,-1090645327,1036287199)+W(6,1002573079,-1108318217,1048538630,1049236461)+W(7,1036483715,1028224647,1026372231,1034868187)+W(8,-1095496747,-1112347607,-1110453128,-1106754238)+W(9,-1107309152,1032249619,-1112114883,-1088682480)+W(10,-1121128467,1040581836,1022594646,1034940919)+W(11,-1096153349,1036467963,-1105549173,-1106253388);WS(-1090464684,1058848194); +sum1=W(0,1038070654,1035807069,1059156269,-1091590511)+W(1,1049775661,-1111666744,-1104784595,-1106022588)+W(2,1027584334,-1104101108,-1100086527,-1128618637)+W(3,-1140651524,-1107342224,1060192817,-1084437581)+W(4,1050662239,-1128690758,1048797564,-1112865880)+W(5,1062566262,-1088742755,1037690576,-1097281200)+W(6,-1115845272,-1102596230,1060113046,-1087393870)+W(7,1050391262,1024450616,-1115304422,-1117573217)+W(8,1043041013,-1095911543,-1117869728,-1151911514)+W(9,1022142646,1011767229,1054886405,-1102839322)+W(10,1042443855,-1131868338,1026901973,-1105151431)+W(11,1057383999,-1088896680,1039830925,-1104457275);sum2=W(0,-1106952896,-1173421195,-1113206734,-1136957987)+W(1,-1152575873,-1112584615,1050458431,-1100970530)+W(2,1037511626,1029901269,-1116273053,1045345833)+W(3,-1084179073,-1117103305,1063723378,-1106205415)+W(4,1039247706,1031320371,-1068828969,1049093414)+W(5,1078393261,-1105390455,1034474614,-1099252776)+W(6,-1082769727,1015202727,1065452472,-1128426057)+W(7,1032907306,1035573879,1054525389,-1093960872)+W(8,-1106048166,993579659,-1100143257,1040309898)+W(9,-1098029126,1043872404,1031385535,-1114758982)+W(10,-1155923695,-1124055116,1038352192,-1107157710)+W(11,1030855073,1034755506,1034533524,-1124561432);WS(-1106782638,-1120193880); +sum1=W(0,1020741911,-1116040418,1053259451,-1112821605)+W(1,-1101282812,-1111424287,1021367862,-1121939617)+W(2,1050945756,-1100446872,1049499553,-1129092267)+W(3,1038644232,-1109539853,1055524943,-1091353929)+W(4,-1100504250,1016236516,-1126436322,-1098608828)+W(5,1065255335,-1085596156,-1101475552,1033532871)+W(6,1043522250,-1101880327,1061719830,-1096552606)+W(7,1025835692,1022700239,-1112066734,993980163)+W(8,1048874997,-1090468372,-1114054607,-1114668904)+W(9,1018349205,-1115252655,1051405991,-1106280862)+W(10,1027947689,-1147278953,1033129938,-1133833389)+W(11,1042923217,-1102788916,-1104899626,1028803059);sum2=W(0,-1113068388,-1115580494,1039529972,-1091718951)+W(1,-1076395174,1046645532,1036673453,1024834555)+W(2,-1098466798,1052150318,-1080701891,-1104586573)+W(3,-1118880240,-1115483686,1043501593,1043613567)+W(4,1068474066,1009076111,1028813378,-1117546792)+W(5,-1115055672,1062484975,1066750300,-1093753132)+W(6,-1107832014,1043490929,-1117282076,1045088246)+W(7,-1097140180,1036864955,1027909744,-1105092918)+W(8,1042504898,-1094456673,1049333443,1022104546)+W(9,-1122240512,1040415904,-1107365158,1030923561)+W(10,-1109881554,1033514298,1011592783,-1119502452)+W(11,-1112704202,-1123953380,1043999999,-1115391680);WS(-1093231703,1042706757); +sum1=W(0,1032826937,1040624182,1058499572,-1084803183)+W(1,-1104136529,1041579305,1026075841,1000558899)+W(2,1052553144,-1099119122,1025447538,1031885534)+W(3,1032961819,-1110755278,1061343357,-1083389465)+W(4,-1114092422,1032264780,1036684171,-1127770315)+W(5,1062021249,-1081334022,-1112317122,1018739433)+W(6,1034757510,-1106938311,1060752603,-1087386813)+W(7,-1132554758,1031902455,1036416025,1019575916)+W(8,1057695045,-1090036539,-1109030926,1037874311)+W(9,1015758976,-1114624210,1051786740,-1098198604)+W(10,1012060669,1027119072,1040004261,1042264396)+W(11,1058906011,-1088285503,-1096739300,1035404188);sum2=W(0,-1134545280,1057942802,-1072425931,-1067197419)+W(1,1049446840,1074141781,-1101426979,1047102485)+W(2,-1084592242,-1071603316,1042726179,1060445087)+W(3,1012752443,1055001204,-1079302223,-1077093049)+W(4,1050812050,1060645469,1036306510,-1096203167)+W(5,-1123894686,-1098326846,-1129334697,1037955576)+W(6,1034320105,-1114902087,1062181631,1072541263)+W(7,-1097319760,-1094473234,-1111393843,-1096420171)+W(8,1062084093,1067609499,-1093274589,-1087350702)+W(9,1046638158,-1101073471,1064536824,1073214169)+W(10,1001153868,-1085693573,-1108867307,-1091559913)+W(11,1073505700,1078744623,-1094526709,-1077663090);WS(-1075107862,1049521772); +sum1=W(0,1027861131,1045206278,-1086495609,1051717721)+W(1,1033503081,1031434621,987763517,1041173528)+W(2,-1097093508,1049572700,-1116084523,-1144572069)+W(3,-1129668766,1032319275,-1086275954,1055584810)+W(4,1009361560,-1140119493,1033675992,1040210256)+W(5,-1081944455,1064397290,995768539,1027980366)+W(6,1016072268,1041485791,-1082045908,1059363461)+W(7,-1112276757,-1129633421,992091051,1044520444)+W(8,-1096923684,1055988184,-1112468587,1024276072)+W(9,1026084697,1042655839,-1093981119,1051323143)+W(10,1005879363,1000619058,-1120420163,-1112688453)+W(11,-1094413520,1050124978,1033578820,1025196738);sum2=W(0,1033523983,-1091543751,1048034710,1051542012)+W(1,1024239879,1041022978,-1107297920,-1125142534)+W(2,1031510683,-1103344470,-1117305947,-1121264057)+W(3,-1109353447,-1100365589,995045613,-1120961303)+W(4,-1099173366,-1115033235,-1097553497,-1121112319)+W(5,1061520608,1061214811,1044020024,1053722991)+W(6,-1102290887,-1119424675,1042981818,-1094266425)+W(7,-1093433218,-1097363289,987526362,-1094244068)+W(8,-1103162896,1043830132,1046119446,1047286054)+W(9,1022298470,1033606211,1052169844,1041952964)+W(10,1043499670,-1106943326,944749371,-1100627225)+W(11,-1098189213,1041818078,-1096785580,1031561067);WS(-1097146583,-1102489480); +sum1=W(0,-1121239074,-1102624204,1041928668,1043173384)+W(1,-1118777253,1016656554,1035066361,1033907292)+W(2,-1096659727,1051162503,-1108685857,995611334)+W(3,-1110655283,-1104909116,-1123609439,1057278053)+W(4,-1102566959,1009112868,1032257412,-1109600459)+W(5,-1091326393,1050132159,-1100309385,1037330963)+W(6,1020382076,-1113387282,-1105975127,1049365769)+W(7,-1101876333,-1111738159,1014217354,-1114213060)+W(8,-1098203983,1049080395,1040792061,1033561904)+W(9,1032256145,-1114763275,1045101428,1033542535)+W(10,-1121020400,-1149295615,-1120529307,-1123950514)+W(11,-1093952115,1055699093,1035959564,-1122689753);sum2=W(0,1030001048,1039849292,-1106927121,1046837828)+W(1,-1131959957,-1116147800,-1107119695,-1106305989)+W(2,1060202814,-1095733546,1012779430,-1124391765)+W(3,1023713698,1019090837,-1104587624,1043085465)+W(4,1026454649,1028873647,-1115026335,1035696383)+W(5,1057308499,1053508746,1038120705,-1104339358)+W(6,1024715164,1036481868,1047684818,1034862818)+W(7,1037173687,1045294658,-1112691697,1023388499)+W(8,-1112160637,1046794790,-1101425448,-1119391248)+W(9,1024758511,-1146519572,-1093257675,-1094465043)+W(10,1036335613,-1156574008,-1147275412,-1112564365)+W(11,1041456307,-1083960309,-1094791365,1012709310);WS(1057303084,-1084740383); +sum1=W(0,1025949163,-1105987664,1034968156,-1097863693)+W(1,1046214631,-1130932027,1023904890,-1104417576)+W(2,1048292239,-1093717272,1042713619,-1126920426)+W(3,1033327896,-1097440039,1057303604,-1088500414)+W(4,1043920086,1012093510,1022060320,-1106403568)+W(5,-1134851644,1058205452,1041892896,1040636140)+W(6,-1131905805,1043670267,-1082452830,1059877080)+W(7,-1101986947,1028551783,-1114170862,1041763972)+W(8,-1089247692,1058731430,-1107457363,1041063330)+W(9,1021513971,1037885311,-1093401571,1046703382)+W(10,-1110573172,-1143718184,-1109381346,1019385429)+W(11,-1097845612,1049842950,1031126152,1016340900);sum2=W(0,-1097593869,-1100989715,1026566131,1061153405)+W(1,1050695083,-1095509343,1040446621,1036240143)+W(2,-1100851860,1047874592,-1096668864,1040237386)+W(3,-1107347821,-1105186205,1046892012,-1103469514)+W(4,-1104864053,-1114614656,1036994425,-1119554977)+W(5,1069594194,1074408805,-1103368475,1040210470)+W(6,989701019,1048367016,-1107809286,-1110319007)+W(7,-1100341899,-1105386934,1043906150,-1095197585)+W(8,1031148367,-1079941721,-1084422687,1031716423)+W(9,1040271244,-1102913875,1038853877,1042791078)+W(10,-1093040701,1036206107,1016581730,1041272891)+W(11,-1105136265,-1086296266,-1099178193,1042594729);WS(-1085311468,1078025451); +sum1=W(0,-1114246985,1033236492,-1126048573,1051596674)+W(1,-1110129580,-1109388771,-1123523234,1042717314)+W(2,-1100167817,1050764301,-1101525701,1021849401)+W(3,-1123774423,1046675224,-1090923842,1057423711)+W(4,-1102550347,1031509177,1017942127,1030027079)+W(5,1002547123,-1138337956,-1117387765,-1126623147)+W(6,1018695644,-1107516674,1061445386,-1085962671)+W(7,1045061525,-1118825262,-1134274761,-1105985470)+W(8,1051174149,-1101362115,1037275627,-1107617348)+W(9,973249598,-1118366597,1032724353,-1098415672)+W(10,1033244340,-1124427728,1032511109,-1108369993)+W(11,1047097650,-1105953621,1025818592,-1115961017);sum2=W(0,-1123353384,-1131031713,1029311455,1047725718)+W(1,1051601031,-1113968956,1030359787,-1114557735)+W(2,-1123787418,1042470619,-1121374979,1045218010)+W(3,1024787123,-1125418898,-1099438470,-1106551206)+W(4,1049816965,1044805763,1015567503,-1132430472)+W(5,1049323738,-1097880179,-1088308991,1039658119)+W(6,-1115408082,1029672716,1042547290,-1089568094)+W(7,-1098255621,1042126156,1026077135,-1118070691)+W(8,1050505809,-1166364565,1026888229,-1115384233)+W(9,-1137211259,-1125125186,-1110579463,-1115324497)+W(10,-1112338809,1043221816,1015951538,-1135395683)+W(11,1040847724,1028809582,-1102185033,1014731468);WS(1060142060,1042832150); +sum1=W(0,1031397804,1036648197,1052129567,-1093104885)+W(1,-1125587404,1030014814,-1121488955,-1142445829)+W(2,1051097024,-1094159296,-1138833071,1024131190)+W(3,1033996248,-1117943062,1054892021,-1086111346)+W(4,1028704007,1024270930,1018827426,-1111782928)+W(5,1065668620,-1081757070,1032794495,-1123778927)+W(6,-1131717262,-1108508447,1059881804,-1087336873)+W(7,1047817147,1022586319,1033609702,-1106903604)+W(8,1058770516,-1090845580,-1104469332,-1125662417)+W(9,1010765225,1015606653,1050176059,-1100487494)+W(10,1038701961,1032196289,1029196868,-1115637854)+W(11,1054801908,-1126749404,-1091639031,1019613157);sum2=W(0,1016709191,1043282989,-1105914972,-1104055195)+W(1,-1113893232,1031619176,1013621039,-1105412866)+W(2,1048947993,1038685325,-1143937773,-1128320153)+W(3,-1134054043,1034830675,-1104630078,-1084033248)+W(4,-1103493551,990218298,1033829499,-1123744731)+W(5,-1088942993,-1072142874,-1098435347,1026126526)+W(6,-1133247239,-1107183956,-1093767876,1073971039)+W(7,1052470850,1042783259,1014723479,-1110083630)+W(8,1055362845,1076386430,-1104225446,-1103699955)+W(9,1025542948,-1115844306,-1111303066,-1098251720)+W(10,1051939911,-1123473137,-1113297030,-1097083153)+W(11,1064727508,-1090433741,-1091328171,1025388740);WS(-1086199532,1054743650); +sum1=W(0,1034444474,1032011277,1048862696,-1097849454)+W(1,1006964268,1027368614,1027498242,-1095519909)+W(2,1053262121,-1090625833,1040908045,-1113781807)+W(3,1040848158,-1107222607,1061389071,-1084999869)+W(4,1038795271,-1118338586,1023783640,-1152811127)+W(5,1030342167,-1113365765,1038235355,-1108967739)+W(6,999869046,1044283945,-1084989084,1060145155)+W(7,-1104327823,1006059384,-1115850147,1044573214)+W(8,-1095010778,1054594461,-1101807134,1028815960)+W(9,1025498402,1036275699,-1106712265,1045643928)+W(10,-1122717633,-1124545277,-1134397103,-1123084051)+W(11,1032418005,1033574715,1015954881,-1135640905);sum2=W(0,-1098769930,1042608106,-1101852353,-1093087039)+W(1,-1139600545,1036192806,1041383757,-1089209738)+W(2,-1121408570,1038811718,-1093098827,-1121276186)+W(3,1031909130,-1102323575,-1108783974,-1089123880)+W(4,-1121335963,1045867083,1040055926,-1105226719)+W(5,1065973699,1069194195,-1098519743,1023817866)+W(6,-1112037460,-1124786133,1049738412,1026907074)+W(7,-1089198426,1042688929,1040275414,-1117623756)+W(8,1057999228,-1106112227,-1101165651,-1122635193)+W(9,-1111784639,-1131302943,-1111524780,1020629449)+W(10,-1109243346,1041146873,-1113621249,1048083051)+W(11,1025491254,-1107530612,1048264427,-1095495518);WS(-1090983255,-1089207473); +sum1=W(0,1011536056,-1126565928,1055178415,-1101680475)+W(1,-1102945718,1026884961,1031895551,-1113602338)+W(2,1054038520,-1097154360,-1121652462,990918528)+W(3,-1113368985,-1111099810,1055473117,-1089575247)+W(4,994604183,1022227241,1041335941,-1099647257)+W(5,1064470249,-1084973552,-1121284913,-1151944468)+W(6,-1112820133,-1102367072,1063942234,-1086493203)+W(7,1041044307,-1119623498,1033755607,1030939267)+W(8,1050197537,-1097159533,-1111487017,1029397803)+W(9,-1120463213,-1111909392,1058279198,-1096914715)+W(10,1017418960,-1127714823,1029129223,1034973975)+W(11,1042393881,-1096995926,-1111098786,1024652821);sum2=W(0,1008868714,-1138668162,988655570,-1108603395)+W(1,1033342078,1018452757,1000134020,1023930211)+W(2,-1099344177,1041622837,1025638720,-1115444075)+W(3,-1131179173,-1108628571,-1064898888,-1131013053)+W(4,-1133763810,1023801183,1026383992,-1114490385)+W(5,-1066369231,-1087427617,1033730604,-1118168395)+W(6,-1108980541,1047990867,1075540559,-1095163420)+W(7,-1117896039,1033324797,1033178726,1030525898)+W(8,1086324754,1057379348,1031531103,-1116567631)+W(9,-1113100227,-1131668265,1049763634,1040828448)+W(10,-1119632759,1028372534,1025874080,-1138114226)+W(11,-1100090533,-1109206595,1025251971,-1128577333);WS(-1109283164,-1114463829); +sum1=W(0,1026307305,1048505142,1056046207,-1087851802)+W(1,-1097387850,1043738183,1010065376,1006853751)+W(2,1051849183,-1096622464,1034233556,1033008793)+W(3,1036887575,-1122796048,1060373686,-1086026376)+W(4,-1106692609,1030721871,1032762791,-1121781501)+W(5,1062361681,-1080983673,-1116217316,1031320492)+W(6,1038442146,-1106474773,1060935143,-1086759863)+W(7,-1136008963,1024808165,1036926348,-1140109366)+W(8,1058739944,-1088322398,-1111740214,1037732587)+W(9,983730417,-1113784606,1052729243,-1098544579)+W(10,973353381,1028455576,1042339968,1033209828)+W(11,1060958338,-1085562739,-1098996574,1032429188);sum2=W(0,1033103311,-1088826877,1076551262,1082157528)+W(1,-1088761642,-1073488400,1036675590,-1093870598)+W(2,1064863709,1075036637,1044533603,-1083381518)+W(3,1035316039,-1096260803,1066303868,1074566779)+W(4,-1088656095,-1087052440,-1139597621,1038770367)+W(5,1054257493,1054121358,-1096732938,1034260530)+W(6,-1104037187,-1120383141,-1086745184,-1075712309)+W(7,1026461691,1055295113,1036924272,1054470917)+W(8,-1080791393,-1075955022,1058516172,1062460380)+W(9,-1111374359,1048854624,-1081541832,-1073360354)+W(10,1036676016,1061463967,1033604811,1052968175)+W(11,-1074269835,-1068055688,1036957577,1072405502);WS(-1073690779,-1087724268); +sum1=W(0,1020006630,1040645890,1037569760,1040537741)+W(1,-1102207443,1011752087,944113971,1024788392)+W(2,1033313762,1022063376,-1117962707,1010250996)+W(3,1028328440,1048604230,1026748704,1037819609)+W(4,1018608989,1035208397,1026519064,-1124203663)+W(5,-1097395091,-1081034849,1030158086,-1107990331)+W(6,1023877839,1026558293,1058432566,-1089181115)+W(7,1048090929,1030700463,1026744019,-1108217132)+W(8,1052406658,-1095782133,1028902900,-1115106384)+W(9,-1116930962,1024907750,1046357449,-1103915032)+W(10,1040820950,1006665970,1037411798,-1124509669)+W(11,1052615509,-1095058991,1037074644,-1120315546);sum2=W(0,1036147454,991782552,-1100036784,-1102354425)+W(1,-1132125723,1037581214,-1115074830,1025479068)+W(2,-1096384442,1031211776,-1114551496,-1107514244)+W(3,-1143660011,-1111873890,1042154750,-1098733186)+W(4,-1120425773,1036528495,-1109526737,1054093522)+W(5,1036720443,1061883500,1042458762,-1113752408)+W(6,-1113309480,1016478163,1015496998,1040999099)+W(7,-1118319659,-1131440878,1006285882,1035621794)+W(8,-1111840809,-1099055155,1021928735,1009305230)+W(9,-1115649745,1027286665,1028637267,-1117281017)+W(10,-1113807339,-1115311515,1026243607,-1108696429)+W(11,1024623035,-1120753705,1033776741,-1117838632);WS(1053167575,1034582410); +sum1=W(0,1023109013,-1135820801,-1107146278,1042183330)+W(1,-1106326923,1038375967,-1105499654,1041430288)+W(2,1045138183,1015167422,1048594337,-1103059717)+W(3,1047073940,-1099071824,1006706653,-1110119411)+W(4,-1101264321,1036901240,-1103829756,1051022760)+W(5,-1098544246,-1114407921,1042439875,1019390619)+W(6,-1134567319,-1103780951,1035133548,1029794991)+W(7,-1115149997,-1122256838,1029509866,1038026111)+W(8,-1101742889,1025810371,-1124355817,1039002364)+W(9,-1107075490,-1144576488,1040882462,1020673517)+W(10,-1133994400,-1113322768,1028951523,1034415069)+W(11,-1110494113,-1144644710,1017843520,1025775953);sum2=W(0,1007469645,-1127684796,1026289720,-1134400734)+W(1,-1121586613,1012304630,1024932078,-1122451669)+W(2,1029479215,-1114161855,1018968072,1018258842)+W(3,-1123529450,934668744,1048216767,-1092503803)+W(4,1055026065,-1105610792,-1106895484,1046133075)+W(5,-1101979386,-1118826374,1057475450,-1091642753)+W(6,-1154152567,1050482770,-1086100405,1054881826)+W(7,1057991283,-1094138317,1026396887,-1100501045)+W(8,-1104578417,1054831843,1037697257,-1097381938)+W(9,1034932657,-1112663810,-1110628430,1037309396)+W(10,1041220013,-1108645190,-1118589447,-1145059796)+W(11,-1120799353,1034243151,1035239909,-1109776821);WS(1065106092,1009251236); +sum1=W(0,-1127594260,-1119086128,-1106710454,1041658930)+W(1,1028936149,999711717,1015119794,1041681344)+W(2,-1108480942,1053952044,-1098626929,-1128362792)+W(3,-1105935716,1038033220,-1085761952,1059673337)+W(4,-1106493133,1030156593,1030756271,-1103164984)+W(5,1048660750,1035410928,1042075767,-1105711219)+W(6,1015463627,-1097628571,1062385221,-1083076739)+W(7,1048795361,-1109139763,1033714469,-1096661826)+W(8,1057312254,-1097132616,1042769246,-1109546740)+W(9,-1121831017,-1162082196,1045270286,-1100422942)+W(10,1033263484,-1128821631,1032817313,1037645501)+W(11,1038003425,-1134248242,-1109564844,-1113038632);sum2=W(0,1026504012,-1111982251,-1115575890,1025515301)+W(1,1038047283,-1121134093,-1115537349,-1109318355)+W(2,1037274256,1036029355,-1140512157,-1118959675)+W(3,1004448402,-1126991046,1032461625,-1105715099)+W(4,1031934837,966777949,-1120289237,-1114485349)+W(5,1046084064,1035923056,-1127252256,1001443794)+W(6,-1116193727,1031030421,-1104386736,1039615788)+W(7,1008094609,-1126229172,1023273402,1036795295)+W(8,1033981186,1034803763,-1108137243,999509622)+W(9,-1106169890,1038895038,1034486696,-1111316562)+W(10,1013721630,-1115420717,-1116296115,1037382021)+W(11,1014573341,-1126611440,-1109430807,-1121268263);WS(1058235500,1054922309); +sum1=W(0,-1126843838,-1110452882,-1096439037,1054965252)+W(1,-1126708475,-1113819273,-1115091447,1026999796)+W(2,-1109530936,1035486938,1040994960,-1112039092)+W(3,1037063794,1027596138,-1126567064,1052521111)+W(4,1048136923,1029145158,-1097782353,1043595317)+W(5,-1080972858,1054616871,-1135709192,-1103625129)+W(6,1017345397,1026915457,-1087153329,1059777872)+W(7,-1117730271,-1113712109,-1106496120,1051692426)+W(8,-1092439359,1055199219,1025849689,-1133876016)+W(9,-1124168315,1033470169,-1096481402,1049045985)+W(10,-1109862614,-1120397392,-1111050604,1047889704)+W(11,-1101856358,1042302776,1048178521,1018059916);sum2=W(0,1032658614,-1104671284,1033357456,-1107649550)+W(1,-1107785448,1014985523,1026047005,1026757765)+W(2,-1146410551,-1093450531,1045006287,-1108588814)+W(3,1016793814,-1106565422,-1129670058,1029536101)+W(4,1032863350,-1114405495,979115576,1040092458)+W(5,1049738304,1048902638,1031141497,1032866808)+W(6,1025048255,-1118382609,1047130549,1043845633)+W(7,1024835039,-1128051766,-1120340424,1024555245)+W(8,-1099524683,1031379649,1016575718,1011865867)+W(9,-1124528004,-1115048442,-1114147283,1015256822)+W(10,-1115840886,1016407002,-1113479651,-1102456829)+W(11,-1143577495,1032535412,-1140327483,-1121997281);WS(1050344663,1040331465); +sum1=W(0,-1119034750,-1123846924,1038870821,1016005498)+W(1,-1113185550,-1180899430,1027008397,1032620906)+W(2,-1145305726,-1104369525,1047408652,-1117862216)+W(3,-1123135107,-1107606109,1045963311,-1101093248)+W(4,-1106188838,1031141157,1034001074,-1113228665)+W(5,1055978044,-1091899011,1019406818,1025902913)+W(6,-1165785906,-1104523524,1061494191,-1089807144)+W(7,-1133495032,995937181,-1109811775,1044228977)+W(8,994921841,-1100340494,1039673315,-1126170822)+W(9,1012082163,-1136436803,1043858443,-1113047285)+W(10,1003314783,-1155810234,1021442477,1015486907)+W(11,1032566715,-1121306753,-1110918342,1012720916);sum2=W(0,1017323653,1006857268,1027026905,-1096858156)+W(1,1057582691,-1108630874,983063098,1027629321)+W(2,1041250623,-1096058068,1069736593,-1103954988)+W(3,-1124332548,1040636195,-1098379711,-1081757810)+W(4,-1098564102,1039138402,-1136855038,1050922570)+W(5,-1095854749,1046692173,-1092586095,1040290673)+W(6,1038193266,-1107256285,-1124475180,1055388353)+W(7,-1101296593,1026430908,-1115428487,1024268384)+W(8,-1107079153,1044471504,-1099842491,-1135051275)+W(9,1037749325,-1105738834,1035306909,1018283467)+W(10,-1130236866,-1127494735,-1162541650,-1112368096)+W(11,1041041721,1034757871,-1116072515,-1128054004);WS(1064629676,-1098084920); +sum1=W(0,1033302207,1017516913,1037844037,1004101612)+W(1,-1100831258,1023773169,1017176603,986968687)+W(2,1048067236,-1094217842,1032944847,1036346276)+W(3,1043155505,-1093133598,1059745345,-1107275372)+W(4,-1118901210,-1109611315,1036523218,-1136867787)+W(5,1054752956,-1083111259,-1111571193,1036061697)+W(6,-1135635048,-1099849236,1054803234,1036740290)+W(7,-1104247276,-1130856180,1036902751,-1112073298)+W(8,1049105955,-1089373007,1044914424,-1178541510)+W(9,-1154473427,1015173986,1045303547,1007182507)+W(10,1032262742,1028817260,1031815708,-1108314079)+W(11,1049045791,-1096296960,1028425028,-1121119813);sum2=W(0,1031116538,-1106561538,1041324255,-1097318271)+W(1,1038093550,1003684433,1018758860,1041892626)+W(2,-1122918288,1050772655,-1113042451,1005733025)+W(3,-1093507837,1060901401,-1090730175,-1089173269)+W(4,-1103574570,1036702490,-1142239225,-1094547881)+W(5,1059998586,1050575163,-1096117806,1007559836)+W(6,1008547208,1048344650,-1105692057,-1105982083)+W(7,1045224094,-1111284039,-1115133937,-1106548880)+W(8,-1107738784,1062167006,-1093777588,1032209739)+W(9,1037272918,1031802380,-1109731964,-1115007264)+W(10,1040225760,-1119496571,-1116833334,1032935937)+W(11,-1105354579,1051274636,-1097190188,1039213738);WS(1059570988,-1104849743); +sum1=W(0,1015935639,-1105217736,-1100062838,1055580097)+W(1,-1114680436,1027695934,-1114327981,-1117057793)+W(2,-1095539196,1051203348,-1104422643,-1122995670)+W(3,1032097032,1045549308,-1097913193,1057098153)+W(4,1035503236,1026067698,-1100671580,994695167)+W(5,-1081463016,1065307314,-1100709080,-1115820943)+W(6,-1118415719,1019924475,-1088685699,1060408535)+W(7,-1100882497,-1121911751,-1146837726,1044124420)+W(8,-1103538521,1060044676,-1127513406,1040976712)+W(9,-1128662677,-1133264506,-1090424260,1048658511)+W(10,-1106885414,-1109730008,-1106017873,1026902699)+W(11,-1096642336,1058793797,-1112552037,1032897105);sum2=W(0,-1101738300,-1102635520,1049960021,-1107186076)+W(1,1031463651,-1109595133,1026251680,1042860418)+W(2,1045813894,1037904592,1043360780,1032162510)+W(3,-1096487254,-1118004862,1012147620,-1101520598)+W(4,-1099464580,-1144663840,-1097132336,-1097577131)+W(5,1062244087,1050699569,1042220045,1017587638)+W(6,-1103125896,1034939290,1030928730,-1118944274)+W(7,-1129575892,-1122088198,-1098301296,-1107323885)+W(8,1018590462,996952385,-1143727552,-1112243029)+W(9,-1145491968,1046219299,1042676852,-1132230456)+W(10,1038679603,1028948530,-1102991820,-1101571742)+W(11,1048890187,-1120981264,1022002534,-1108091801);WS(-1095386967,-1111219145); +sum1=W(0,989878260,1046105185,1042696371,-1089927208)+W(1,-1127509006,1030962098,-1130549149,-1114353482)+W(2,1044731284,-1092958347,1029760895,1015099027)+W(3,1027494660,-1126247292,1059356463,-1090136954)+W(4,-1123276603,1002268463,1027516453,-1101798869)+W(5,1066759339,-1086407791,-1134143337,1008759050)+W(6,-1138329195,-1109199416,1060963410,-1086208082)+W(7,1037957160,1030926587,1029536895,-1149170463)+W(8,1056388995,-1087382795,1028489291,1024487352)+W(9,1016226972,-1110945897,1052477254,-1099705531)+W(10,1033794703,1027177352,1031794584,1041043200)+W(11,1048385630,-1090430272,-1116367629,-1155852515);sum2=W(0,1037152773,-1107393101,-1107499267,-1071982339)+W(1,1050177526,1034063245,-1155239869,-1118272906)+W(2,-1123365743,-1066777138,-1099174901,-1111285661)+W(3,-1110337901,-1121008946,1053226346,1065602467)+W(4,-1114100047,-1111810642,1031799544,1040803769)+W(5,-1091451910,1078719649,1051522302,1032887971)+W(6,-1115579003,1040826838,1036591998,1072207876)+W(7,-1112448128,-1105619991,1027082675,-1129277077)+W(8,984589146,1012365693,1036247818,1027337883)+W(9,-1125050611,1044810576,-1111221822,-1114663567)+W(10,1024897040,-1128259763,1027786160,-1128372019)+W(11,-1115106721,1027240586,1010421237,-1110086921);WS(-1090330604,-1095913405); +sum1=W(0,1020138108,-1155846064,-1089580553,1060107168)+W(1,1026904097,-1129005794,-1123891981,-1158857313)+W(2,-1099259748,1041623909,1034391623,1027969480)+W(3,1027835331,1042832881,-1086143680,1061453552)+W(4,-1115844409,-1126805065,-1104251929,1026174194)+W(5,-1083565678,1065434151,-1108664129,1015124739)+W(6,1036891437,1041459232,-1087459168,1058328348)+W(7,-1103857816,-1133565543,-1115340623,-1107002233)+W(8,-1094838563,1058061687,-1108388469,1018898230)+W(9,1034060158,1043482052,-1096454718,1046178603)+W(10,-1124051644,-1128371111,-1111402939,-1101325435)+W(11,-1097944271,1056232524,-1124315511,1016813002);sum2=W(0,-1123501879,1032645553,1031823713,1073269342)+W(1,1039470942,-1134706270,994818552,-1106534525)+W(2,1055123028,1086127434,-1106004733,-1108902493)+W(3,1024190209,1041404870,1003420836,-1097366650)+W(4,1048036108,-1131894299,1026428551,-1104982451)+W(5,-1080276792,-1064048639,1029604730,1040747994)+W(6,-1113685733,1042593674,-1127504591,-1073275019)+W(7,-1102930579,-1114192145,1033345966,-1115833227)+W(8,1051480126,-1090368136,-1127043711,1028687353)+W(9,-1113104927,1034301013,-1116624943,1039074558)+W(10,1016207563,-1110363669,1032770548,1019409377)+W(11,1017007809,-1104405577,1023925896,1028902826);WS(-1090401964,-1152005757); +sum1=W(0,-1107975723,-1110378885,-1108756369,1036253290)+W(1,-1114963960,-1113670180,1027213860,-1114833045)+W(2,-1095679285,-1126602324,1031108853,-1122691487)+W(3,-1098681011,-1110030634,-1106296032,1055690689)+W(4,-1100045596,-1107558750,1041527967,-1088517567)+W(5,1070380432,1071039479,-1089232274,1041737494)+W(6,-1104614908,-1108968043,-1108442736,1052643167)+W(7,-1099409217,-1114805320,-1117487349,-1117626874)+W(8,-1098750614,1027420045,-1149243844,-1114809497)+W(9,-1139447119,1013150495,-1103582017,1037720897)+W(10,-1112117145,-1129003237,-1114124023,-1107640642)+W(11,-1109258534,1028231256,1004205268,-1115685308);sum2=W(0,1032241318,-1104603794,-1110024851,1040884292)+W(1,-1102517567,1041491703,-1099535875,1042476400)+W(2,1036274242,-1098717699,1017815860,-1106264274)+W(3,1055385702,-1090035137,-1088795135,1054345172)+W(4,-1094964358,1050847172,-1088862448,1058560544)+W(5,1070638870,1049287225,1049908300,-1097728340)+W(6,1049303281,-1088861159,-1093985609,1045145516)+W(7,-1104972980,-1120926078,-1109469239,1052772694)+W(8,-1106832655,1028821082,-1121780800,1040141480)+W(9,-1107728961,-1098593341,1040915158,-1095210561)+W(10,1046695263,-1097969166,-1128383244,1040732759)+W(11,-1094544594,1053404675,-1097835418,1042680505);WS(-1070853435,-1079594702); +sum1=W(0,1031368074,1015638464,-1114370347,-1115839497)+W(1,-1115223191,1032466078,-1129832370,1041167744)+W(2,-1117069532,-1102391672,1027397066,1017764904)+W(3,1034753191,1035847262,-1123068615,-1103157041)+W(4,-1112317379,1032880216,1015854174,-1103546680)+W(5,1064504443,-1091637800,-1115479934,-1129698458)+W(6,1034404179,-1113675090,1061831318,-1080200908)+W(7,1034003429,1015162251,1016952500,1024462894)+W(8,1053421228,-1096184888,1024063661,-1140051844)+W(9,-1121119193,1024493276,1039689052,-1127920108)+W(10,1021986479,-1133040549,1030231874,-1128491667)+W(11,1047845552,-1114780422,-1108195108,-1121925385);sum2=W(0,-1106137478,-1112484873,1057355655,1035747177)+W(1,-1121112608,-1111886750,1043473407,-1102332364)+W(2,-1095817987,-1115086293,-1132505032,1028632460)+W(3,-1106937584,-1092913054,1065744344,1023360745)+W(4,-1113186427,-1106034045,1026389244,-1107744995)+W(5,1065853704,1072123343,-1092294539,1034294011)+W(6,-1112665680,-1097742336,-1081387458,-1079419356)+W(7,-1121542644,1024287965,1037682857,1043622402)+W(8,-1127502696,-1106562006,1037780507,1025382780)+W(9,-1122471729,1020098037,-1107102958,-1106082519)+W(10,1042075138,1002478149,-1132137458,1022975237)+W(11,-1141866869,-1126279403,1036152561,-1184105122);WS(1049779927,-1112776705); +sum1=W(0,1028071903,-1118237477,-1102803275,1029391902)+W(1,1034486619,-1146402448,-1114011991,1043483133)+W(2,-1098367878,-1104983021,1030141823,1024272361)+W(3,1029458468,1007633232,-1088820906,1052808064)+W(4,1041927295,-1136262168,-1119065733,1035764138)+W(5,-1094340312,1066199650,1028311666,-1116603171)+W(6,-1132325110,1035328577,-1080604425,1053987355)+W(7,-1120802495,1022508086,1021654911,1034435922)+W(8,-1090240908,1056392483,1033716813,-1120600656)+W(9,-1140102008,-1138188744,-1148292210,1036299814)+W(10,-1137351220,-1178578023,-1114327724,-1122000063)+W(11,-1113705707,1048826612,1019304377,1020743116);sum2=W(0,1032570045,1038214390,-1105258373,1049712324)+W(1,-1104412018,-1123221706,-1105084280,1026252154)+W(2,1013797397,-1092505394,-1106628914,1042796766)+W(3,1038138439,1040403525,-1089116471,1060934721)+W(4,-1095609080,997194667,-1106537061,-1094267982)+W(5,1076181184,1059180753,-1100140938,1031304969)+W(6,1040196930,-1111441511,-1077048432,-1094660144)+W(7,-1105239307,1025898916,-1115643975,-1113353460)+W(8,1025617857,-1116351798,1035183993,-1113508292)+W(9,1030892929,1041615042,-1099622062,-1112051433)+W(10,-1108612586,1036578837,-1115802712,1045634969)+W(11,1030853641,1036834683,-1126459673,-1114596985);WS(1046079918,-1101410372); +sum1=W(0,-1119247786,-1128322399,1042510685,1040172212)+W(1,-1102544268,-1115138862,1028420729,1041896248)+W(2,1041276767,1029165630,1023180436,1035447066)+W(3,-1112243383,-1105916230,1052547749,-1093769957)+W(4,-1094151845,-1116787216,992275696,1048641796)+W(5,1049660162,-1086983984,1051181214,-1126725978)+W(6,-1122025413,-1106854731,1058242473,-1090223605)+W(7,1034028133,1020616971,-1106451742,1031954663)+W(8,1042746961,-1101840568,1035662026,-1106918309)+W(9,1031954516,1008473970,1045913078,-1131429676)+W(10,-1136064862,1031591591,-1132155589,-1111364501)+W(11,1038481040,1034663574,-1123376855,-1113758304);sum2=W(0,-1141998719,-1109775790,1044487768,-1123003936)+W(1,-1128896096,-1116651188,-1145824639,-1114337335)+W(2,1032184652,-1105393491,-1105870753,1028260552)+W(3,1031031156,1035421278,-1118695686,1043275908)+W(4,-1123077850,-1117301622,1020781312,-1094152732)+W(5,1023745864,1060925239,-1116720242,-1118185274)+W(6,1022361784,1019796096,1018742928,1035441608)+W(7,1005384511,-1111756371,1035727822,-1109500163)+W(8,1044822196,-1129786704,-1106753069,1028382728)+W(9,-1106658345,-1126048860,1018234504,-1154747838)+W(10,-1109895735,-1112885074,1018984000,-1133379360)+W(11,1040264262,-1114483694,-1115363912,1013789936);WS(1065850966,1065849900); +sum1=W(0,-1148044715,1023026535,-1096615656,1051437895)+W(1,1037565454,1009078433,1016251913,1037817733)+W(2,-1090259708,1044690723,1031445334,-1134993406)+W(3,-1121600570,1025496281,-1086496425,1060547800)+W(4,-1123828273,-1122338716,-1122606683,1030608138)+W(5,-1089114938,1067874188,-1103278290,961099943)+W(6,-1119487441,1035148220,-1087399018,1061971613)+W(7,-1103477215,-1115158089,-1123929445,1038603949)+W(8,-1089721837,1051923078,1017932657,-1152593000)+W(9,1022387720,1040789578,-1091666965,1020371139)+W(10,1017045638,1017681054,-1113618935,1029056085)+W(11,-1090055623,1050691807,1041207209,1032486406);sum2=W(0,1035054009,1029203106,-1095822387,-1096883389)+W(1,-1106861506,1003858895,-1100085534,1055497340)+W(2,-1094806083,1022251406,1025821768,-1141198631)+W(3,1050236106,-1099101530,-1112580467,-1105263591)+W(4,-1099047212,1038164225,-1106312974,-1091493710)+W(5,1065636371,1066985993,-1090221894,1007864647)+W(6,1040394388,1035688516,1057422694,1050729384)+W(7,1040303734,-1131632326,-1111006317,-1100130836)+W(8,1038056034,-1113669663,-1095697855,1034223408)+W(9,-1122528690,1051271785,-1090043318,-1109365057)+W(10,-1132012078,1022279531,-1120327060,1037370697)+W(11,-1101753600,-1098907474,1042447412,-1111449439);WS(-1097113303,-1098536273); +sum1=W(0,-1128711506,1026190055,-1089449919,1051085133)+W(1,1039600836,1017357112,1001100740,-1129782332)+W(2,-1090119792,1054274400,1006971045,-1151099700)+W(3,-1116245678,1036959597,-1089233276,1059231684)+W(4,1035061810,1008174399,-1123204686,1010531062)+W(5,-1088111001,1068549146,-1106500579,1027830380)+W(6,-1122390725,1040533155,-1083999320,1060528017)+W(7,-1110173729,-1118330949,973480529,1032146359)+W(8,-1100399617,1051645044,-1118570949,-1138008953)+W(9,-1135175840,1016950072,-1096337083,1021720363)+W(10,-1105366950,-1113983621,-1112078369,-1115082484)+W(11,-1098983064,1056811397,-1163217111,-1114515356);sum2=W(0,-1126544110,1057867675,-1084782762,-1101472514)+W(1,1046930113,1047938716,-1106788080,1045040387)+W(2,-1103936041,-1095964817,1060484868,-1116398073)+W(3,-1123763395,-1116688865,-1096694543,1033632512)+W(4,-1098897900,1033301960,1031886252,1008770068)+W(5,1065118928,1070094219,1055777327,-1112910333)+W(6,1019879781,-1111977015,-1120781351,-1093909441)+W(7,-1105350592,-1132175940,-1106896864,-1104133845)+W(8,-1094413904,-1091348732,-1098592917,1028498658)+W(9,1025236903,-1123575137,1055216743,-1087869152)+W(10,1032159773,-1111429301,-1103198659,-1095297610)+W(11,1063595180,-1101379604,-1090856164,-1148399072);WS(-1088872108,1052196610); +sum1=W(0,-1115772244,-1114837443,1040729928,999143576)+W(1,1035543595,-1109636323,1026268067,-1111544357)+W(2,-1129315660,1051137549,-1115388138,-1138847608)+W(3,1022683057,-1104977249,1050293045,1050616762)+W(4,-1110255664,-1148093909,-1119255225,-1110507588)+W(5,-1115663356,-1123488747,-1102766242,-1113579532)+W(6,-1126845407,-1124752108,1055556797,-1107532492)+W(7,-1115121626,1031428336,1018606696,-1106979958)+W(8,1038400791,-1115698508,-1111362474,-1123058305)+W(9,-1122729971,-1118779367,1043464385,-1106851872)+W(10,-1114761165,1024891874,-1119390253,1032957370)+W(11,1010467373,1013947482,-1127308771,-1117161611);sum2=W(0,1021571414,-1136485425,1033792089,1044650880)+W(1,-1111938281,-1111133361,1005045849,-1108696907)+W(2,1026572719,1068805535,1042295210,1015874538)+W(3,1032761087,1015124882,-1097148617,1072674603)+W(4,1053858128,-1115667125,-1131955840,-1109877489)+W(5,-1072841573,-1073632622,-1114078156,1025743417)+W(6,1002892889,1050593712,1051731235,1040667946)+W(7,986622244,1029743517,-1113636159,-1105061066)+W(8,1040799594,-1114163718,-1105514756,-1150165522)+W(9,1017257782,1027289415,1025178361,1033059623)+W(10,-1131411966,1028606721,-1116947723,1035889263)+W(11,1033387155,-1113785952,1024784261,-1131685126);WS(1059574956,-1147706177); +sum1=W(0,-1126851274,-1107330821,1039522745,-1101979721)+W(1,1039509326,-1113513772,1032992154,-1114850125)+W(2,1036915515,-1103811902,1037543219,-1122830319)+W(3,990365335,-1111585801,1058476188,-1091594576)+W(4,1044635632,-1115799180,1021792788,1025219833)+W(5,1057257569,-1102147871,1015035920,999411009)+W(6,1014654722,1042448198,-1130368142,1049911159)+W(7,-1098033363,1008106627,1023708133,1041111834)+W(8,-1087441640,1046832311,-1103709614,1030688938)+W(9,1021433863,1028566264,-1103664757,1042912388)+W(10,-1112635561,998865060,1024270494,1025900485)+W(11,-1101532519,1034347764,-1106561201,1033251158);sum2=W(0,1030668111,-1100054904,-1106823977,1038847176)+W(1,1045749759,-1139922314,-1138525905,-1127093272)+W(2,-1118630721,1023505668,-1100949461,-1137789612)+W(3,-1118095530,-1104427366,-1104404781,1055088734)+W(4,-1106737563,1025350194,1046358820,-1094333916)+W(5,1066330506,1059364463,-1115593085,-1118124817)+W(6,1026007575,-1098434999,1032956568,-1109156363)+W(7,-1105827255,1044080198,1036395993,-1114547879)+W(8,-1089680445,-1102029714,1014767972,-1111415597)+W(9,1044323398,-1098255510,-1118009606,1019564502)+W(10,-1114455410,1034872747,-1102154889,1043811931)+W(11,-1104253130,1042217401,1033201092,-1116871429);WS(1056332375,1037816258); +sum1=W(0,-1121656782,-1103168373,-1119737691,1044637987)+W(1,1028439953,-1147698697,-1121854558,-1112652978)+W(2,-1116096096,1045017865,-1108613751,1015231409)+W(3,988019291,1032694229,-1099471067,1051843657)+W(4,-1124711667,-1126623722,1027294260,1032971073)+W(5,-1088930875,1058468850,-1105155884,1025720722)+W(6,-1141230927,1036051832,-1088040995,1059943427)+W(7,-1110648631,-1125643860,-1146196851,1029047507)+W(8,-1094038173,1054278049,1023373473,1025459107)+W(9,-1124586778,-1138159876,-1105369135,1040438911)+W(10,-1109090662,-1140770656,-1119789479,-1116156558)+W(11,-1100717841,1052440082,-1121068380,1033302707);sum2=W(0,1037403217,-1101035659,1032316963,-1116665707)+W(1,-1159849898,1025618366,1056969468,-1090106390)+W(2,1038083410,-1119459300,1009385423,-1128266716)+W(3,1057593955,-1080354518,1060881997,1028006921)+W(4,1038355181,-1107076145,1065979451,-1077736273)+W(5,1057826659,-1093367622,-1108823981,1040978108)+W(6,1052219437,-1095104394,1040943565,1050471411)+W(7,1028403474,-1107763897,1048107842,-1110113632)+W(8,-1093495590,-1098889696,1041580846,1031803963)+W(9,1012201018,1035332836,1023246776,1037291810)+W(10,-1108503511,1028340263,1034400525,1036232380)+W(11,-1105354500,-1172133380,1023204972,-1124125618);WS(1057728492,-1114894260); +sum1=W(0,-1113553553,-1137973853,1030725486,1027451936)+W(1,1024408310,-1122023828,-1129994721,1032124939)+W(2,1023297510,1039175515,-1104644784,1015759447)+W(3,-1116323110,1038491142,1042012404,-1096381204)+W(4,-1098358292,-1129065232,1032700067,1042214629)+W(5,1063322480,1002639809,-1097199096,1025211173)+W(6,1022553594,-1102850457,1049455560,-1095884801)+W(7,1038368473,-1119912573,-1174372438,-1103814977)+W(8,1038337085,-1099447670,1041557913,-1120935138)+W(9,1025649872,-1108835354,1036180712,-1107257155)+W(10,-1143485305,1022194670,-1204938694,-1117610625)+W(11,1041170774,-1110131186,-1139346043,-1131327617);sum2=W(0,-1132724746,-1136277690,-1115335750,-1142062564)+W(1,-1111737990,1021138001,-1125894137,1023794749)+W(2,1019650853,-1102896527,1036465851,-1117376889)+W(3,1008401986,1034921985,-1111489002,-1095970428)+W(4,-1093339450,1036367329,-1123753553,-1135255538)+W(5,1065003137,1052274635,-1130345777,-1114642052)+W(6,1028568703,-1095862669,1042205114,1050282098)+W(7,961646223,983274770,-1129573217,-1103833757)+W(8,-1104966989,1039075981,-1123958953,-1121876761)+W(9,-1115138968,989975657,1028245440,-1124502561)+W(10,975314596,-1131382405,-1129237393,-1117578737)+W(11,-1137003202,1029353869,981021860,-1129104973);WS(1064957100,-1084259623); +sum1=W(0,-1147443767,1048172674,1050085746,-1087174820)+W(1,-1110620477,1041967934,1002237105,1022388856)+W(2,1049301459,-1096483251,-1130736462,1032395752)+W(3,1042679235,-1111985505,1061123934,-1084863818)+W(4,1036594273,1029284270,1025036588,-1105536623)+W(5,1059891343,-1085360136,-1096717087,1027822410)+W(6,1039980881,-1111204540,1063082922,-1087496217)+W(7,1049051417,1038157169,1039876787,-1118973740)+W(8,1059164422,-1085023864,-1098175193,1033526682)+W(9,-1122119878,-1115201293,1050147791,-1099749261)+W(10,1038851310,1035926782,1046679440,1036937851)+W(11,1052477312,-1093770425,-1094492881,1040430103);sum2=W(0,1043574668,-1079200674,1070660923,1052128984)+W(1,-1102512316,-1114631788,-1110691764,-1088609636)+W(2,1057860954,1049301959,-1119415890,-1111966430)+W(3,-1103083598,-1104512784,-1107138551,-1106877192)+W(4,-1099577256,1025811761,-1104224219,1072315297)+W(5,-1092267131,-1082025998,1048136354,-1120067756)+W(6,-1111324648,1071717488,-1073631870,-1098154139)+W(7,-1101281480,-1097839567,1045365848,1074062948)+W(8,-1072626825,1060924493,1049098296,1046934152)+W(9,-1123650350,1072927288,-1076777698,1055782129)+W(10,1053482338,-1142912019,1040472402,1075518858)+W(11,-1068851440,-1085268633,1045375219,-1113956244);WS(-1075237718,1059347685); +sum1=W(0,1021242911,1049968737,-1123217820,-1100043508)+W(1,-1123750750,1039650209,1033512399,-1159856274)+W(2,1052611492,-1096977477,1035058824,-1164938034)+W(3,1029870036,1035044013,1055398719,-1086974821)+W(4,-1111424357,1031585078,1022930282,-1122614884)+W(5,1061884279,-1081627821,1035852049,-1146263191)+W(6,1032776022,-1113136009,1059035017,-1085989237)+W(7,1046594056,1040828171,1018371807,-1134430929)+W(8,1058365139,-1083853344,1040835864,-1113397210)+W(9,1019954077,-1114025505,1054270736,-1094951367)+W(10,1036293471,1041271429,1033340372,1040742208)+W(11,1057072208,-1082038839,1043435581,-1112152131);sum2=W(0,-1109418256,-1082007392,1074622373,-1087167323)+W(1,-1079889153,1054843717,1045686709,-1092895857)+W(2,1045059925,-1090791673,1052961109,-1111299754)+W(3,1025535098,-1097230803,1022527077,1061750517)+W(4,-1094791227,-1097908774,1041368995,-1087580936)+W(5,1072979117,1066822104,-1121141584,1039933817)+W(6,1025255906,-1090709237,1059630355,-1104688853)+W(7,-1114952578,-1109459004,1045341483,1030380818)+W(8,-1082271661,-1098772696,1048788253,1032974905)+W(9,-1131647237,-1098811123,-1098333373,-1097425000)+W(10,-1109808864,1041274025,1050563248,-1122444474)+W(11,-1080249300,1035536875,1062091865,-1101634861);WS(-1073405707,1071333561); +sum1=W(0,1032445482,-1107154225,-1086616986,1053035442)+W(1,1037191452,1005358651,-1114759602,1043648434)+W(2,-1097373989,1049497533,-1113096234,-1140703610)+W(3,1009365348,1025826187,-1088696011,1058380737)+W(4,1042579156,-1147371482,-1116673978,1050217769)+W(5,-1084271170,1057270871,1027100008,1008260703)+W(6,-1140494528,1045274198,-1086550017,1060414079)+W(7,-1122447285,-1128134433,-1138343378,1041826370)+W(8,-1088202787,1054213138,1033632004,-1146407565)+W(9,-1164102249,1037855412,-1096484208,1049814032)+W(10,-1117413058,-1132301012,-1128324122,1036590066)+W(11,-1090407429,1044502774,1049279047,1030979244);sum2=W(0,-1104849756,1044778147,1087011564,1051692028)+W(1,-1115275477,1024288807,-1130309268,1042344095)+W(2,1065552014,1050304642,1012814276,-1122813731)+W(3,1032168017,-1115874267,-1071484991,-1095624232)+W(4,1034711867,1018071134,1006608216,1016899230)+W(5,-1064792716,-1080996320,1012706900,-1113948677)+W(6,1025939811,1015318926,-1108487910,1038353709)+W(7,1031018877,1039145567,-1116205504,1017541078)+W(8,-1111002668,1015541566,1017981722,-1121567210)+W(9,-1134020588,1025032291,1026184365,-1115175630)+W(10,1016059306,-1161414849,1015836550,-1134707560)+W(11,-1105554232,1035428553,1030487759,957459976);WS(-1093094231,1019545057); +sum1=W(0,-1147370279,1024662611,1045730364,-1100871081)+W(1,-1113292876,-1115285964,-1111661690,1043371102)+W(2,1007712219,-1103400446,-1125293706,1035921815)+W(3,1036370005,-1098598749,1063151515,-1086049630)+W(4,1038700136,-1106696483,-1130128916,-1121967929)+W(5,1048771569,-1094208743,1042591246,1031896756)+W(6,-1138886402,1034324947,-1102866212,1057052051)+W(7,-1109292474,-1117085921,-1114353490,1030255498)+W(8,1043747359,-1103168823,1040829042,-1117982022)+W(9,-1139052495,1020719663,1042970997,-1114366281)+W(10,-1113681601,986496271,-1123566046,983686292)+W(11,1044423271,-1105757546,-1119014482,-1116127556);sum2=W(0,1017737448,-1113949677,-1109074925,-1106456753)+W(1,1033894674,1002006465,-1112488549,1043174240)+W(2,-1099690943,1036040708,-1136025401,-1127095326)+W(3,1041909593,-1095542187,1055357640,990810979)+W(4,1036060652,-1106928479,-1119128646,-1123930650)+W(5,1063813292,1064786485,-1095508468,1041202855)+W(6,995222883,1011641777,1029075282,-1080550900)+W(7,-1096849813,1028541984,-1138532089,1043431269)+W(8,-1111808055,-1099317256,1042059844,1013308785)+W(9,-1122958336,-1133447353,-1121958092,-1111251400)+W(10,1031456264,-1130037494,1002378369,1011720393)+W(11,-1111615901,-1122017034,1041840135,1011740497);WS(1065464534,1066200435); +sum1=W(0,-1120929867,-1114034816,-1093428139,1053507241)+W(1,1039630850,1039737375,1037468205,-1098649416)+W(2,-1095417420,1053719708,-1117479019,-1104296205)+W(3,-1104046500,1044270480,-1095455089,1059517274)+W(4,-1116571174,1034668025,-1118049328,1030873567)+W(5,-1078956988,1062996894,1037682987,1027940302)+W(6,1026495526,1027018036,-1097112752,1062358792)+W(7,-1100052716,-1105628906,-1102710553,1029661039)+W(8,-1090364038,1051059848,-1134398359,1047874257)+W(9,1047356358,992085460,-1098761015,1053033759)+W(10,-1124964177,-1105711476,-1104379061,1014898857)+W(11,-1089997432,1058137077,-1119205176,1036556777);sum2=W(0,1052570920,-1079960756,1059860803,1024102895)+W(1,-1109439044,1028585912,-1096757231,-1072214843)+W(2,1077140634,1045135233,-1135125103,1026412089)+W(3,1032706704,-1067716640,1078085184,1007395147)+W(4,1039504993,999691338,1048916325,-1071149720)+W(5,1074719494,1048879105,-1119420973,1031274943)+W(6,1032567852,-1113086642,-1126012658,-1105291454)+W(7,1042487387,-1115876939,1027784571,1026889523)+W(8,1023965646,-1125605772,-1107726802,1031655696)+W(9,-1123035498,-1102782368,1033915049,1036400237)+W(10,1040624471,-1118021143,1032789056,-1113248449)+W(11,-1131155204,-1120868355,-1123377002,1033633154);WS(-1088460652,-1077196042); +sum1=W(0,-1106714405,-1126618358,-1100538888,1061836401)+W(1,-1105561066,1017778831,1012745873,-1104692362)+W(2,-1105672234,1049398341,-1107347643,-1107815087)+W(3,-1106817926,-1128320455,-1096420642,1063373516)+W(4,-1095103574,1021813111,1014233321,-1113350277)+W(5,1032760733,1062672955,-1104500106,-1130991024)+W(6,-1139695810,-1104636978,980853696,1040237156)+W(7,-1136108756,1015562593,-1112340330,-1111992333)+W(8,-1098221750,1049303442,-1098848505,-1124042178)+W(9,-1112616426,-1112151140,1032069058,-1115352833)+W(10,1028357771,-1117430379,1014140598,-1103199781)+W(11,-1124202648,1047738902,-1108236605,1024298444);sum2=W(0,1042942941,-1095373315,1047404354,1041600542)+W(1,1029337611,-1116792463,-1103739979,1042549384)+W(2,-1104635751,1049880149,-1113660916,1033409028)+W(3,1021675082,-1100136800,-1156628070,1042313351)+W(4,-1103511888,-1100575516,1031504716,1032277385)+W(5,1056265483,-1095000083,1052284225,1042607543)+W(6,-1103784377,1051314558,-1086627236,1058671506)+W(7,-1098025422,-1102539848,1021140017,-1097536524)+W(8,1056610233,-1087499329,1053296214,-1123811627)+W(9,1032312275,1033748340,-1097748456,1053303874)+W(10,-1097031052,1034071897,-1113021145,1006926454)+W(11,1032415346,-1106742186,1040224097,-1116904421);WS(-1090190636,1052333694); +sum1=W(0,-1118008162,1046164882,-1087764995,1050774996)+W(1,-1132114980,992812356,1017370722,1025512151)+W(2,-1107299674,-1113611419,-1133738119,-1143374172)+W(3,1028313190,1039176172,-1107276920,1042980645)+W(4,1016759930,1031741320,1032465571,-1140639831)+W(5,1054861041,-1104478910,1039228938,991966796)+W(6,1021024634,-1114523818,1048774281,-1116066086)+W(7,1029146129,-1131726971,1022145795,-1123803590)+W(8,1052546887,-1088290914,1046828701,-1135053738)+W(9,974396430,-1114987978,1033108808,-1101829203)+W(10,1025239231,-1135839572,1023704762,-1150325779)+W(11,1052242867,-1082760046,1050382392,-1117633184);sum2=W(0,-1112927492,-1126311221,-1124129707,-1089259297)+W(1,-1121960162,-1127721129,1000278501,-1112124316)+W(2,1030656727,-1136644755,-1119195008,-1143597573)+W(3,-1115114722,-1096516945,1062718459,-1089907054)+W(4,-1113085858,1010259715,1038568093,-1095439368)+W(5,1069168233,1066488720,-1108783853,1016497897)+W(6,-1107752992,1035770391,-1092856910,1057602472)+W(7,-1101947316,-1142073349,1036864823,-1173738153)+W(8,-1097729376,-1119016562,-1105922885,1034450025)+W(9,-1111435217,-1127749525,-1108466839,1028769031)+W(10,-1119106133,-1113345821,999311589,-1118042174)+W(11,-1106807928,-1101412503,-1119408565,-1121786357);WS(1050584535,1068150000); +sum1=W(0,-1115260532,1034938395,1038987194,-1117589351)+W(1,-1115913835,1013034091,1010165469,-1115625742)+W(2,1047833470,-1104527215,-1116485512,1026352434)+W(3,-1112895478,1043729220,-1102791097,1041775364)+W(4,1035117570,-1123123343,1003680362,1046586119)+W(5,1053057826,-1092950416,1032942189,-1126776150)+W(6,1038151522,-1096382429,1060286702,-1085160955)+W(7,1051158381,-1118268740,-1113655284,1036369142)+W(8,1031810112,-1099697720,-1109351189,992197073)+W(9,-1132334157,-1110737789,1033665067,-1112334730)+W(10,1035094123,1007592182,-1116596385,1020311663)+W(11,1045919272,-1112800213,-1113211075,-1128843070);sum2=W(0,1027450901,-1130117632,-1112751331,1023748039)+W(1,-1129067048,1020055214,999052617,1037992777)+W(2,1031860941,-1148181737,1031574877,-1123191999)+W(3,998486633,1035832253,-1100828230,-1107268336)+W(4,-1108371420,-1176849298,-1098069390,1058826704)+W(5,1066377631,1031601953,-1110435251,992240434)+W(6,1050271656,-1075559944,1059983898,-1105105514)+W(7,-1111123861,1022099846,-1144500281,1051052067)+W(8,-1089703828,1006070601,-1135053221,-1122685646)+W(9,1034115809,-1104035684,1037142243,1031181077)+W(10,1013422629,-1154287506,-1111215245,1041076323)+W(11,-1116488683,-1123703892,994427506,1025316569);WS(1065940278,1034622363); +sum1=W(0,-1130882111,1042781009,1048563851,-1106282856)+W(1,991352096,-1132163876,1018945629,-1105035701)+W(2,1039562393,-1093168999,-1128564863,-1146137419)+W(3,1038546130,1037583679,1050832116,-1106056839)+W(4,1040441019,1034240611,-1109081570,-1089961211)+W(5,1065150616,-1081267407,-1125259845,-1103163033)+W(6,-1116833467,-1106689964,1063013875,-1093571617)+W(7,1037655800,1014989293,1027338207,1025705412)+W(8,1053064399,-1098826451,1032573560,-1132178841)+W(9,-1118439678,-1110899849,1043578884,-1098971955)+W(10,-1126802554,-1140385876,1023675896,1000818681)+W(11,1052844651,-1103816344,-1174556270,-1124029942);sum2=W(0,1042045232,1025081894,-1120251562,-1098032480)+W(1,-1122897683,-1131598407,-1100582068,1047796551)+W(2,-1130142714,1051286467,-1114446743,1028094206)+W(3,1051353130,-1135649915,-1091982339,-1088973774)+W(4,1048662352,-1114986235,-1098661297,-1083821047)+W(5,1066411068,1066192686,-1098476628,1035402858)+W(6,1033093932,-1113123121,-1108263063,-1096817778)+W(7,1043244089,-1113670703,1041505758,-1102707738)+W(8,-1116829613,-1124748705,-1105512115,1040252082)+W(9,-1111611431,1042774566,1029093314,-1115318079)+W(10,1039955893,-1113507172,1036803556,-1119704488)+W(11,-1105374597,1039210409,-1115075522,-1136180467);WS(1056991468,-1087030746); +sum1=W(0,-1123211458,-1104816506,-1105628499,1049039296)+W(1,-1110865210,-1119944116,1040392564,-1123900599)+W(2,1035944426,1031104918,1038992913,1019968535)+W(3,-1107179074,-1097679367,-1092912076,1058030045)+W(4,-1092536332,-1113705364,1032323379,1050060447)+W(5,1043269081,1044634502,1052766173,1024115141)+W(6,-1112698351,-1113372906,-1098944114,1032247835)+W(7,-1101773536,1016666555,-1113154609,-1118981766)+W(8,-1111852653,1043769326,-1111088882,-1113641643)+W(9,1035059984,1036804874,1030188977,1035537687)+W(10,1017337855,1034739876,-1117349658,-1117759553)+W(11,-1099907470,1048904265,-1120093295,-1119368937);sum2=W(0,1038207100,-1100024892,1019998746,-1116235844)+W(1,1028590129,-1132429552,1055370704,-1091918952)+W(2,-1108168198,1051323790,1017416940,-1131674494)+W(3,1017023961,-1082116017,1065911065,-1096201210)+W(4,1032160655,-1107738152,-1102268135,-1125190319)+W(5,1060923636,-1094794141,1048662690,-1115273448)+W(6,-1122475964,1048656820,-1095962080,1023749917)+W(7,1005611185,-1120617509,1023693826,-1118701724)+W(8,1025593786,-1112111831,-1121410776,1032669658)+W(9,1033230771,1009208157,1022143062,1028403793)+W(10,-1131420642,1007544955,-1120372849,1017593165)+W(11,-1123799386,-1116942925,1018425448,990755743);WS(1065408790,1036624080); +sum1=W(0,1031689276,-1095782030,1040908418,1044865119)+W(1,1010781241,-1124793181,-1118902603,1036811736)+W(2,-1099523235,1048657234,-1114118270,-1132122507)+W(3,-1130392064,-1106389326,-1100633526,1056569877)+W(4,-1105362262,1010247305,-1130349122,-1116251760)+W(5,-1088986706,1059819669,-1109527143,1021657598)+W(6,-1124855342,1016267643,-1097124896,1057017186)+W(7,-1101014271,-1147394236,-1120117724,-1116551776)+W(8,-1093812931,1059687187,-1105256235,1019294354)+W(9,1032115325,1029730958,-1102530619,1046000250)+W(10,1028862634,-1131137795,-1114562026,-1110739566)+W(11,-1093706094,1058243684,-1118348593,1010280523);sum2=W(0,1008018405,1028827850,1048442625,1022982076)+W(1,1015261982,1023643398,-1131603511,-1115409151)+W(2,-1128423353,976919119,-1110305290,-1142661114)+W(3,988821927,1044469435,-1144038842,-1106419532)+W(4,1025710382,1024565032,-1126539767,-1105522597)+W(5,-1080807551,-1069309764,-1128896061,-1156968388)+W(6,1029044494,1031515550,-1100063920,-1077869698)+W(7,1034212953,-1108906576,-1154431236,1029512486)+W(8,1047735839,1057375362,1047372093,1040986767)+W(9,-1144594818,-1118759177,1049631559,1074645104)+W(10,-1121013958,-1109343217,-1134541747,1017115388)+W(11,1040817807,1074183528,1028992794,1013497529);WS(-1134496480,-1135409208); +sum1=W(0,1012816882,-1118561391,-1172095542,1042727039)+W(1,-1101252924,1038725048,-1131032216,1023949458)+W(2,-1135187513,-1111514505,940438235,-1118209095)+W(3,1015795842,1025102291,-1122643706,1044113108)+W(4,-1099247502,1039141810,1017081284,-1098855254)+W(5,1062211658,-1088869665,1037442288,-1110868352)+W(6,1032335660,-1109465919,1053298610,-1090758606)+W(7,1036453998,-1124785329,-1114842158,1018180354)+W(8,1055550179,-1097017583,1038283500,-1123999226)+W(9,-1121133019,1039697400,-1104417019,1024023145)+W(10,-1127849669,984058180,1020892138,-1121622748)+W(11,1042088653,-1131309822,-1111728213,985363057);sum2=W(0,1027844464,-1123756397,-1109401613,-1123223808)+W(1,1035039619,-1128717516,-1120185020,1023474305)+W(2,1009596088,1048386893,-1119575836,-1197272208)+W(3,1033301171,-1120807818,-1105464515,-1117881742)+W(4,1029989604,-1129559846,-1142892826,1045181163)+W(5,-1069578385,-1079085438,1032607110,1013531724)+W(6,-1130897478,1050514681,1080182479,1057107198)+W(7,-1113328530,1001587842,-1112219415,-1148494098)+W(8,1033916695,-1155326684,-1143648562,-1126181730)+W(9,1008317678,-1124897908,-1111316356,1015620530)+W(10,1010222764,1011089790,-1123809910,-1112292483)+W(11,1038900121,-1138311341,-1144599918,-1129634008);WS(1063953772,1006246735); +sum1=W(0,-1129265445,1023929568,1050480356,-1094701786)+W(1,1037312131,1034664643,-1103221880,-1113408580)+W(2,1053092565,-1092563365,-1114954585,1012249970)+W(3,-1129858606,-1152025615,1054804888,-1099755687)+W(4,1041973195,1007014628,-1113052252,-1124775629)+W(5,1058637767,-1081976315,1043978961,1034276907)+W(6,970168057,-1116248388,1061520345,-1085039957)+W(7,-1109284733,-1121545966,1035503657,-1112901548)+W(8,1052655373,-1106127939,1037644971,1031841028)+W(9,-1114702297,-1114551939,1043614208,-1104465584)+W(10,1036504960,-1122618723,1026538155,1012918985)+W(11,1053852345,-1094975651,-1153236991,1015394179);sum2=W(0,-1108119214,-1098605940,1035846227,1036002502)+W(1,-1110269476,-1115932080,-1096454441,1047215192)+W(2,-1114546522,1051355228,1034086715,1019597651)+W(3,-1110533412,-1103381544,1042040175,-1102267339)+W(4,-1102892813,-1130886478,-1119694402,-1128298432)+W(5,1054173861,1055154953,1033662351,-1108620470)+W(6,-1127729168,-1115663656,-1103681801,1052945690)+W(7,1018137856,1033484697,-1110958880,-1114162078)+W(8,1035812038,-1097546689,-1135158408,-1106956606)+W(9,1023031785,1023974294,1020649501,1033369183)+W(10,998437331,1029836288,-1130979192,-1102917557)+W(11,1043843622,1033695483,-1106336801,1026224246);WS(1049960663,-1098656338); +sum1=W(0,-1129270334,-1097905355,-1106458043,1053746044)+W(1,-1153859324,-1120671826,1010743226,1038429850)+W(2,-1094238830,1050579558,1008020477,1036488405)+W(3,-1116543140,1026505899,-1084542826,1060156652)+W(4,-1101873487,1033306211,1036165346,-1111354490)+W(5,-1093117384,1065413702,-1122984978,1035776465)+W(6,1026370235,1012909508,-1096055524,-1110641506)+W(7,-1132001470,1015184758,1026933359,1034045586)+W(8,-1093158415,-1140159326,1048347588,-1115507932)+W(9,1009750007,-1139624135,-1113672231,-1153271990)+W(10,1027525597,1024719161,-1164389112,1033987231)+W(11,-1098353419,1046556600,-1124973593,1037016731);sum2=W(0,1007202997,-1107138382,-1101985157,-1105521455)+W(1,998286218,-1135144653,1038605814,-1092409649)+W(2,-1111080585,1031799434,-1127152184,-1138707909)+W(3,-1111184485,-1086536233,1058778058,-1102287591)+W(4,1043783051,1018462794,-1097778206,1033842165)+W(5,1062592323,1054124413,-1107786643,-1134709509)+W(6,-1107862779,1050500010,-1115904936,-1121603522)+W(7,-1104929125,1016336685,-1126800416,-1107791267)+W(8,1050870644,1039372702,-1103666737,1035379787)+W(9,-1122928880,1035028069,-1115500703,1030823202)+W(10,-1123649878,-1120475406,-1117103670,1024236113)+W(11,-1137706913,1012044041,1042413442,-1119073178);WS(1045571246,-1101396513); +sum1=W(0,1027156266,-1105879340,-1095381975,1052608133)+W(1,1036979366,-1116386461,-1135540454,1031079263)+W(2,-1094890856,1052732944,-1110160581,-1124519785)+W(3,-1123739311,1036462891,-1086841044,1059410250)+W(4,1033495803,-1113888968,-1123826896,1048275928)+W(5,-1081913239,1057453824,986236332,1015417435)+W(6,-1110505155,1040289247,-1087831711,1053535332)+W(7,-1121128186,-1106215130,-1138173481,1033674439)+W(8,-1095054872,1059217778,-1117509614,1025380519)+W(9,1019384210,1035302207,-1100616678,1056369955)+W(10,1002559041,-1132265864,-1138775820,-1109766005)+W(11,-1096527684,1057086003,1031959012,1009437253);sum2=W(0,1023702857,1025579445,-1107828603,1030949885)+W(1,1030056541,-1138881396,-1116086512,1041684936)+W(2,-1100190580,-1127701406,-1101693823,1031874044)+W(3,1027064225,991232624,-1127488618,1063977916)+W(4,1026840857,-1115029594,1024261913,1049263730)+W(5,-1121382305,1081524863,1032271344,-1124133978)+W(6,-1115739014,994389040,1049530396,1074557390)+W(7,1041139218,1015337722,1023117658,-1121855219)+W(8,1041567276,-1078514947,1024600809,-1113125346)+W(9,1011341860,-1121905805,-1097196557,-1067412604)+W(10,-1110332083,-1157524144,1016675050,-1114246345)+W(11,-1125328530,-1072747255,1045882874,1009384836);WS(-1091844311,1066789497); +sum1=W(0,-1126657090,-1121934839,1053346558,-1094816004)+W(1,-1134360567,-1196074864,-1118280816,-1104655157)+W(2,-1150447404,-1096277599,1026981217,1030410603)+W(3,1035276339,1036892560,1061301148,-1095276499)+W(4,1035239934,-1117233544,1034822275,1041291861)+W(5,1054539137,-1085328499,-1132053288,1032377106)+W(6,-1122398524,1016354085,1061579109,-1094948141)+W(7,1041572288,-1113536398,1027512241,-1100932977)+W(8,1052329175,-1090319102,-1138204721,1028691858)+W(9,-1105911320,-1113195754,1010492736,-1109759879)+W(10,1026669711,1016723124,1036073133,-1137558275)+W(11,1052092547,-1096198988,-1122862318,1004385343);sum2=W(0,-1130924015,1022730742,-1156842543,1039023607)+W(1,-1147026848,1024455841,976327856,-1107671502)+W(2,1030703882,-1100688592,-1113451109,1015244616)+W(3,1006816288,-1102494949,1050591037,1039287442)+W(4,1030233046,-1121583866,1032746467,-1063244855)+W(5,1084548157,-1091568120,1034384724,1032201434)+W(6,-1109752024,-1117144683,1041535529,1042495948)+W(7,1024850879,-1112832588,1030725620,-1118200508)+W(8,1030607420,-1100624377,1037336210,984232072)+W(9,-1118656485,1023153636,-1117378226,1033109796)+W(10,-1123040622,1003511712,1013150272,1019358625)+W(11,1000111712,-1135441064,1025293966,-1124806470);WS(1062375148,982896070); +sum1=W(0,1041356906,-1092346958,-1098857839,1052252533)+W(1,1050501706,-1165233042,-1141741512,1042371688)+W(2,-1100631199,1048733184,-1126563284,-1134397903)+W(3,-1123251246,-1107640316,-1093348349,1057292943)+W(4,1043133649,1008063554,-1121772047,1037798623)+W(5,-1081710855,1063732968,-1111246422,1032268279)+W(6,-1138991637,1035668286,-1084667272,1061645578)+W(7,-1112114769,988108978,-1156317853,1026956462)+W(8,-1088318752,1059891330,-1106214611,1037368483)+W(9,-1161666833,1016120313,-1093940123,1051947731)+W(10,-1109426316,-1138661789,1011726474,-1115727625)+W(11,-1084607638,1059995535,-1190508359,1040598420);sum2=W(0,-1087149149,-1081699534,1075074133,1074122230)+W(1,972078363,-1097056662,-1111774062,1035582541)+W(2,1078981756,1067224402,-1092574897,1045566397)+W(3,-1122195827,-1087576154,1080077903,1066418532)+W(4,-1094572008,1049096521,1039123010,-1082404199)+W(5,-1086433828,-1082120864,-1101495601,-1109136155)+W(6,1035630599,-1111170675,-1073636555,-1078722695)+W(7,-1124013413,1034655424,1055099903,-1119441337)+W(8,-1080599553,-1083892454,1051613332,1023040696)+W(9,1042757145,-1097950160,-1080969229,1038753292)+W(10,1020974546,1027077203,1060125526,-1098859385)+W(11,-1075310961,-1085615144,1056506110,-1129411423);WS(-1073733835,-1077508759); +sum1=W(0,1004911573,1043185540,1056421033,-1084678800)+W(1,1025064353,1009545653,999004239,-1120942224)+W(2,1054442442,-1094509130,1020812405,1022285001)+W(3,1008908284,-1136904037,1059517190,-1087084867)+W(4,-1149079216,-1118599969,1032559088,-1114184455)+W(5,1066321721,-1089134469,-1127746091,1007063543)+W(6,-1123346838,-1112686066,1063474337,-1088382556)+W(7,1027145139,-1149726053,1021646261,1032555200)+W(8,1052962698,-1089853747,-1126936380,1015641511)+W(9,-1114632613,1005792618,1044159722,-1092765869)+W(10,1027348136,1023282088,1036339578,1040940927)+W(11,992460573,-1093589176,-1126618160,981480241);sum2=W(0,1016441223,1040812131,-1091551076,-1083270432)+W(1,1054198423,1001473573,-1123853806,-1136381199)+W(2,1020713637,-1123741604,-1108424657,-1110846033)+W(3,1034027700,-1121560396,-1092123318,1057043619)+W(4,-1115262538,1008724259,1016212045,-1100123577)+W(5,1069362941,1065772322,-1092584961,-1120589670)+W(6,1025170155,-1100550013,1050653373,1058297195)+W(7,-1121642970,1040111989,1030169991,-1105283667)+W(8,1020763615,-1091989226,1029919048,-1104422780)+W(9,1024326153,1029487024,-1121149602,-1092470882)+W(10,1039520200,1027795061,1020004331,-1102325825)+W(11,-1094990109,-1106605421,1026718342,-1115881428);WS(-1083424620,-1083774644); +sum1=W(0,1025997707,-1107578509,-1116799831,1051882641)+W(1,-1114213177,-1140244728,995558823,-1112668224)+W(2,-1098861996,1045883512,-1127946135,-1116793621)+W(3,-1132669247,-1109754213,-1099316274,1060321715)+W(4,-1106758402,-1131243108,1015677409,1048694360)+W(5,-1079768279,1059777970,1040276008,-1129876893)+W(6,-1113673299,-1099923633,-1093459346,1064776049)+W(7,-1108196294,-1167573435,-1146244698,1044345284)+W(8,-1098475085,1036566882,1008462282,1020492609)+W(9,1028038186,-1117921566,-1113981277,1042756750)+W(10,-1117078569,1015090721,-1119640804,1030760459)+W(11,-1105585281,1033934183,-1130472177,-1176961296);sum2=W(0,-1120400279,-1120118931,-1114073896,1044457775)+W(1,1036833596,-1137956564,1006239848,-1112851025)+W(2,1016448074,-1095953339,-1112980685,-1122147671)+W(3,1033967902,-1101370370,1047917593,1065044078)+W(4,-1119396143,987310366,-1138878316,1037781128)+W(5,-1113781647,1069276419,-1110041421,-1187381491)+W(6,1012842788,-1100258045,1045546113,-1075186216)+W(7,-1132903556,-1131003226,-1135736068,1002346920)+W(8,-1114666278,1035717470,-1120766465,1029533357)+W(9,1028356101,-1112182778,1002645288,-1097061266)+W(10,1015304410,1003776904,-1120658117,995892591)+W(11,-1115876966,1049663208,-1123504973,-1150885167);WS(1055938007,-1113494123); +sum1=W(0,1002908945,1028210664,-1133494457,-1135464580)+W(1,1008466835,-1131269290,1005413771,-1117675639)+W(2,1035958810,-1095959351,1040264713,1035203030)+W(3,1025040167,1040926954,1041989700,-1087581816)+W(4,1048292991,-1116685065,1016082831,-1118443670)+W(5,-1101702418,-1121242873,1034336763,-1117662885)+W(6,-1114102015,1040854289,-1098047787,1048632765)+W(7,1043249233,-1132796663,1024456642,1046508410)+W(8,-1093641223,1052220147,-1183964258,-1144182458)+W(9,-1121270129,1019764906,-1111985289,1025236686)+W(10,1036425152,-1137681823,1006080470,1029150738)+W(11,-1102768646,1042463785,-1131127167,1031884341);sum2=W(0,-1148833389,-1103329032,1039527980,1036545465)+W(1,-1140514638,-1111163586,1034952858,-1114547380)+W(2,1019372679,-1111710878,1042452640,1025974311)+W(3,-1131645803,-1099667252,1017530647,1040867364)+W(4,1048394746,-1102843950,1044582101,1046239383)+W(5,-1095619156,1074171367,1046568773,1030125627)+W(6,-1100126968,1038848953,1053527025,-1072583834)+W(7,-1104419698,1045672947,1041029558,1023994452)+W(8,-1122648352,-1089175055,-1095650184,1033990232)+W(9,-1101188496,1040593566,1048348234,-1110512168)+W(10,-1113024814,1039972451,1038559400,-1104909140)+W(11,1034383711,1048723535,-1105559093,-1123744674);WS(1054254551,1014537956); +sum1=W(0,-1121039367,1035774671,-1112598570,-1132150029)+W(1,-1109088445,1040615567,1018675757,-1130008697)+W(2,1008273253,-1122251932,-1109769252,1003469451)+W(3,1022410264,1030747950,-1093495169,1041075666)+W(4,-1103842329,1040565356,1028321069,-1107714718)+W(5,1061840455,-1100441032,-1105690119,-1126038165)+W(6,1032078897,-1097508911,1062686448,-1084814013)+W(7,1049125597,-1115375938,1035879540,-1100889147)+W(8,1058139578,-1090418276,1045096257,-1105705223)+W(9,998902321,-1111836109,1050284599,-1098262366)+W(10,1018266794,1030169589,1035017184,-1112194220)+W(11,1050365160,-1104639554,-1137878196,-1123088958);sum2=W(0,1011204314,-1130282463,-1119643322,1040567914)+W(1,1058038651,-1092395975,-1151906447,1008292026)+W(2,1036989282,-1093705400,1048788001,1041384381)+W(3,-1132982086,-1113509623,1023195387,1046529995)+W(4,1069827352,-1082188469,1015334447,-1118416042)+W(5,1031871454,1053486166,1061661513,-1087135929)+W(6,-1126682819,1010705513,1036745108,1053627848)+W(7,-1076895592,1050130047,1031867988,1015562377)+W(8,-1105750465,-1097180463,-1083563182,1062283738)+W(9,-1118412630,1033032763,1024841875,1042871577)+W(10,-1102862368,-1108358221,1019402007,-1171211484)+W(11,-1132045005,-1098551422,-1093245544,1058279550);WS(1057163500,-1105993220); +sum1=W(0,-1117201821,-1127293622,1046510122,-1119279260)+W(1,-1111026820,1018908832,-1121502764,1045431725)+W(2,-1097880614,1032698105,1044535287,-1110256660)+W(3,1035599249,-1100979748,1061106926,-1097882833)+W(4,-1095331735,1024080836,-1105708961,1049617722)+W(5,-1099817760,-1088567265,1053288920,-1117593824)+W(6,1039647740,-1110465655,-1119635500,1058361641)+W(7,-1096979757,1027464313,-1100922079,1042176840)+W(8,-1109566363,-1097567811,1050620014,-1113789929)+W(9,1009912816,1018827936,-1147860066,1036626725)+W(10,999121112,-1159432152,-1136735831,1001114727)+W(11,1037588842,-1111863248,1037098289,1012647057);sum2=W(0,1032576295,-1107895050,1016729470,1038099246)+W(1,-1122727069,-1114110583,-1123342042,1039805910)+W(2,-1102939450,-1120156902,-1128970625,-1124467804)+W(3,-1102694716,1052615154,1050355566,-1100691281)+W(4,1046407453,-1110408836,-1132748357,1027679479)+W(5,1057040101,-1098318717,997134844,1035923921)+W(6,-1114775905,-1183264704,1041423933,1028185223)+W(7,-1094682594,1040728790,1033817148,-1127944484)+W(8,-1098800812,1043085543,1023808656,-1104134547)+W(9,942234367,1017960690,1027447559,-1113846578)+W(10,1033077879,-1111084310,-1109637447,-1117652574)+W(11,-1113353192,1025700351,-1136470782,1024627457);WS(1069430838,-1077807532); +sum1=W(0,-1123171840,926704291,1028287308,1024652287)+W(1,-1121358347,-1124249574,-1123870031,1035074891)+W(2,1030377682,-1104443381,-1137933441,-1123723658)+W(3,1012978707,-1102713036,1060355037,1049114747)+W(4,-1102473935,-1124350158,1026708965,-1094582899)+W(5,1064667974,1049334299,-1095444677,-1155502135)+W(6,1032241614,-1104095024,1044883747,-1097738289)+W(7,-1112982200,996719039,-1110089696,-1131766218)+W(8,1023923417,-1112895132,-1115022670,-1114119663)+W(9,1013657340,-1123449267,1023074654,-1133494194)+W(10,-1123735342,-1129702439,-1120091289,-1126388352)+W(11,-1134219998,-1105084689,-1125652635,-1115595936);sum2=W(0,-1176390445,-1120278537,-1122813389,1041053822)+W(1,1022193201,-1120846771,1032791968,-1112747779)+W(2,-1119517685,1042596904,-1132233097,-1150821318)+W(3,-1107216374,1039675898,1061000499,1032712030)+W(4,1037891533,-1120324549,1039748018,1025598156)+W(5,1059349510,1055783944,1009116037,1006903493)+W(6,-1104895086,1049256042,-1087513873,-1099074048)+W(7,-1107732985,-1117395279,1038133354,-1105015824)+W(8,1030867610,-1084050573,-1101549778,1034659541)+W(9,-1123666927,1024448666,-1108606159,1040697602)+W(10,1022775251,-1115429715,1013658503,-1110290749)+W(11,1029186614,-1106116496,-1106656496,1028618234);WS(-1107817820,-1083770194); +sum1=W(0,1033900161,-1103638846,-1091016130,1053216608)+W(1,1041711845,1032252891,-1129878691,1019165999)+W(2,-1105602789,1056291523,-1114138529,1005244003)+W(3,-1129439246,1023785569,-1097747004,1057499003)+W(4,-1107402783,-1129556050,-1131338575,1041664750)+W(5,-1076846267,1059566574,1043057225,1037921123)+W(6,1015365308,1007653393,-1089110318,1057822998)+W(7,-1097881621,-1126092988,-1128788741,1026305479)+W(8,-1101714279,1057215924,-1104471663,1041959808)+W(9,1034359265,1029035509,-1095981534,1051239662)+W(10,1029122288,1025745172,1024049691,-1111132977)+W(11,-1089968180,1055184137,1032118072,1027268745);sum2=W(0,-1108694073,1017327589,1040440313,1037365040)+W(1,-1097181356,-1123414724,1045019344,1034893158)+W(2,1020539438,1043169414,1044490295,-1142407924)+W(3,-1102469381,-1100848825,-1091152854,-1179472005)+W(4,-1098856738,-1124070306,1037993179,-1146521528)+W(5,1062010427,1059039676,-1105305386,-1103656828)+W(6,-1102369829,-1136622056,1017850914,1038217042)+W(7,-1109601321,1025666621,1036817135,-1122158468)+W(8,-1095264144,-1119445175,-1098482637,-1105116469)+W(9,-1116848662,1036214504,1045324437,1048192551)+W(10,1034613852,1027457629,-1123721670,-1109074807)+W(11,1047380031,-1115655698,-1105047780,-1121369495);WS(-1121449656,-1084978473); +sum1=W(0,1045775831,-1099605930,-1086366198,1054843763)+W(1,1044622847,1025802254,1021114964,1028648016)+W(2,-1100836955,1049277222,-1121703995,-1116658981)+W(3,1036495664,-1113195701,-1085601027,1059006957)+W(4,1039106531,-1138285574,1032769888,-1106810756)+W(5,-1088747404,1062277595,-1122091582,1043922200)+W(6,-1134400474,1033523886,-1083936243,1060137529)+W(7,-1102614275,1020367213,1043049231,-1109837568)+W(8,-1087596695,1057384673,1011169881,1042132230)+W(9,-1112792957,1039225431,-1102874546,1045407794)+W(10,-1118753961,-1132370673,1043659613,-1097941829)+W(11,-1088234269,1055835664,1048366450,1039326553);sum2=W(0,1027272459,-1105747151,1058588727,1050147388)+W(1,-1089616072,1040922163,-1122536322,-1103046200)+W(2,1025881493,1054947781,-1098050255,-1157391810)+W(3,-1115599503,1043039962,1025318337,1058930692)+W(4,1020160348,-1097372724,-1109953333,1029006014)+W(5,-1079698237,-1072349877,1078384354,1029236731)+W(6,-1101108438,1049577028,-1116019666,-1069493839)+W(7,1078006681,-1111844849,-1160853572,1035298821)+W(8,1050247454,-1072151832,1075828182,-1095907204)+W(9,-1125199072,1043042004,-1104971590,-1072978341)+W(10,1074567753,1046502148,-1105305527,1053260045)+W(11,-1094505007,-1072202568,1072013431,1037030073);WS(-1076413686,1050217089); +sum1=W(0,1037264211,-1103937453,1032015257,1043075881)+W(1,-1122840185,-1144808135,-1140703701,981259974)+W(2,1015092336,-1110472573,-1115654547,-1126940256)+W(3,1010880426,-1126374874,-1117441203,-1140207123)+W(4,-1121072785,-1127053849,-1119658251,1042459879)+W(5,-1095655209,1058975156,1016890098,1040888602)+W(6,-1116247362,-1115463620,-1089060935,1059127610)+W(7,-1095200233,1021095812,1031154598,1040532067)+W(8,-1097693400,1049753500,1024224509,990976051)+W(9,-1125273098,-1110800684,-1116339093,1026525586)+W(10,-1116764924,-1118091276,-1131976189,1020764716)+W(11,-1115082479,1038259412,1027865572,1016317274);sum2=W(0,1057721492,-1087030854,-1098169441,976966634)+W(1,1023517212,1010046217,1028643349,-1118716844)+W(2,1050324940,1023362490,-1141117066,1027499437)+W(3,1060288138,-1080168014,1016748144,-1115171624)+W(4,1023617033,-1115470708,1059252612,-1080273709)+W(5,-1095791676,1047291739,-1099550108,1034407868)+W(6,-1088865108,1065839894,1025332663,-1136639192)+W(7,1041241265,-1116997486,-1086775589,1065802380)+W(8,1048744751,-1124716700,1003901823,-1138422172)+W(9,-1123025940,1052992874,-1103675095,1045176631)+W(10,-1105682362,1028187249,-1093527126,1051057083)+W(11,1047968677,-1122660154,1020688386,-1121332252);WS(1066004950,-1130673709); +sum1=W(0,-1116101174,1031654568,-1088044468,1052873383)+W(1,1041536990,-1136500130,-1143212072,-1115365365)+W(2,-1112634148,1046315731,1018103788,-1125315968)+W(3,-1110468285,1037471350,-1095270314,1053790292)+W(4,1044233532,-1143909091,-1115338446,1044807147)+W(5,-1086079158,1057379349,-1114923292,1020745202)+W(6,-1108483849,1036857292,-1084922887,1062574892)+W(7,-1111082699,1016815907,1016794668,1049500535)+W(8,-1089120237,1059566963,-1112535089,-1120057699)+W(9,-1129241385,-1116011560,-1096691029,1043154809)+W(10,1013224078,1009076749,1013476922,1018991691)+W(11,-1092328502,1052540519,1045681849,-1111113254);sum2=W(0,1049010278,1059657103,-1081123115,-1096253478)+W(1,1022187211,1042763848,1037489391,-1120407882)+W(2,-1091075041,1044030983,-1110198086,-1123055347)+W(3,-1120558834,1065561208,-1094693777,-1088412254)+W(4,1026065263,1010460099,-1115441721,1065354919)+W(5,-1086070082,-1088804298,979808314,1037997843)+W(6,-1107156556,1033902725,1048072918,1059822273)+W(7,1015305348,-1106407542,992841734,-1090673211)+W(8,1058489027,1048768363,-1103664360,-1127526979)+W(9,1011333881,-1082019922,1067731839,-1110539158)+W(10,-1102578162,1046102351,1042878013,-1076779646)+W(11,1065573397,1056386736,1041735451,-1098151359);WS(1047691950,1051513987); +sum1=W(0,1022367675,-1106171493,1047705594,-1115678670)+W(1,-1110486184,-1119968336,1023115866,-1148261013)+W(2,-1138130365,1039875161,1038987295,-1146539325)+W(3,1025923810,-1110614526,-1138856554,-1098498099)+W(4,-1111291916,1031736900,-1121417283,1048684730)+W(5,-1092459648,1059839847,1037143648,-1113038256)+W(6,-1135269348,1043654816,-1088007377,1055365231)+W(7,-1116325726,999460043,-1123344254,1037977761)+W(8,-1117423671,-1110502987,1038170008,-1124410005)+W(9,-1153116613,1018209505,-1145599589,-1108540005)+W(10,1024662707,-1170140361,-1140725337,1012206837)+W(11,-1130685354,1013205632,-1106962771,1022378313);sum2=W(0,-1153456458,1034638423,1026219462,-1118314715)+W(1,-1119545213,1020158000,-1134949160,-1132037434)+W(2,-1110235102,1026400860,1033998497,-1129681397)+W(3,976205336,1047224115,1041432515,-1098555575)+W(4,1038320636,1034767622,-1107040555,-1111241686)+W(5,-1098519781,1048945857,1042089138,-1100590807)+W(6,1031938263,-1102088763,1016119332,1066956313)+W(7,-1089428981,-1131704894,-1148458760,-1109506803)+W(8,1045200456,1038098069,-1088147582,1033722488)+W(9,-1128058621,-1119972538,1026438298,1020127420)+W(10,-1103340362,1036980701,1018102832,-1122339703)+W(11,1012163112,1026446934,-1114149729,-1126638758);WS(1065730166,1060778308); +sum1=W(0,-1109508860,-1157499671,1041425921,999270323)+W(1,1009856488,-1122732458,-1155017835,-1122491724)+W(2,1039607429,-1108915110,1019270959,1019165315)+W(3,-1113193022,-1101845990,1059840031,-1093896302)+W(4,1048952862,-1112299503,1018445113,-1123710636)+W(5,-1103201623,1034241095,-1124851701,1031136123)+W(6,-1116526739,1037579925,-1086536234,1065443257)+W(7,-1100984082,-1130156262,1027367671,-1109701838)+W(8,-1119532176,-1115473720,1042597895,-1112137490)+W(9,-1113248331,1024052458,-1131587533,1023021127)+W(10,988759974,1035869970,-1116098736,-1155438706)+W(11,-1135484603,-1169161851,-1109972554,1026435614);sum2=W(0,-1117967445,1023936292,1048994422,1036573845)+W(1,1025878262,-1136777476,1040648348,1027011316)+W(2,-1081925843,-1090561506,-1121546197,1000734832)+W(3,-1112630617,-1104815876,1069895227,1061477130)+W(4,1006994724,-1120512530,1042642774,1032485416)+W(5,-1079286264,-1076993331,1017402756,1043800887)+W(6,-1134880336,-1097739621,1067803238,1074358700)+W(7,-1094759274,-1115175264,-1108734545,1008252288)+W(8,-1093635474,-1082750513,-1124517798,-1106635673)+W(9,1042723069,1027781874,1039731885,-1152591489)+W(10,-1128233335,1050798200,-1110919553,1017816544)+W(11,-1113045602,1040942069,1015619872,-1104563368);WS(1051081815,1004177576); +sum1=W(0,-1127006616,1047378036,1040477302,-1095193921)+W(1,984028115,1015654525,1009183853,-1123222753)+W(2,-1133548407,-1099314072,1033152150,1000220336)+W(3,1030806032,1030530563,1061394914,-1084986498)+W(4,-1134209438,1016832613,1035550201,-1112167248)+W(5,1067589976,-1091645900,-1104155199,1007541309)+W(6,-1148492092,-1102096100,1061693295,-1092420382)+W(7,-1126214664,1020442767,1031890286,-1119963793)+W(8,1056018877,-1084371172,-1117645071,1016050244)+W(9,-1122950699,-1117414047,1051876647,-1100397982)+W(10,-1115478541,1015156587,1033051522,-1118879820)+W(11,1054656608,-1096248194,-1098736399,-1120116135);sum2=W(0,1038737431,-1086393652,-1122890851,1062117952)+W(1,1031555324,-1105710539,-1107492679,1061143042)+W(2,-1087802869,-1089713201,1047951996,1021198999)+W(3,1048033211,-1086071985,1050554685,1059347527)+W(4,1026779363,-1103176732,-1120313369,1050160290)+W(5,1074235084,1068761695,-1098359769,1024031768)+W(6,1015799927,1036302581,-1097102610,1051722018)+W(7,1043634021,-1105088271,-1127256174,-1118303985)+W(8,-1080828834,-1090432670,-1093586557,1023611974)+W(9,-1108431753,1030572627,1051308486,-1096060997)+W(10,-1093678452,-1113357802,1025558434,1049210573)+W(11,-1086660156,-1089293346,-1099341241,1042868230);WS(-1081907798,-1114644056); +sum1=W(0,1023775725,-1099395677,1055907631,-1100928459)+W(1,-1119324179,-1109439504,-1170980595,-1134709766)+W(2,1050593936,-1112754945,1032148262,1017060589)+W(3,1026005873,-1099241994,1058604967,-1087793848)+W(4,1009969504,-1128826918,-1126334628,-1120114113)+W(5,1054687330,-1087665246,1038203192,-1138112959)+W(6,-1135823392,1034531271,1038229186,-1104299004)+W(7,1028440637,1038462084,-1129163353,-1108351113)+W(8,1034921283,1040795209,-1104169898,999099597)+W(9,-1151688884,1019473342,1018134455,1040889398)+W(10,-1106565731,1007377992,-1129940170,-1110039318)+W(11,-1120708196,1054318790,-1107725509,1027667523);sum2=W(0,-1119441358,-1109792567,-1127769135,-1107196821)+W(1,1030789742,-1113410550,-1129970231,-1120391232)+W(2,1050978947,992017798,1040616080,1030775978)+W(3,1013923693,-1103233485,1033489482,-1095646457)+W(4,1038693473,-1115392393,-1135011770,-1103316489)+W(5,1054134565,1049668759,-1124339641,-1108882435)+W(6,1015830944,-1104701758,1049300223,1056508485)+W(7,1043974386,-1145057435,-1115083307,961266788)+W(8,-1110832497,1047186396,-1086696217,-1118394614)+W(9,1009913072,-1120471806,1049274561,-1110580647)+W(10,-1110322035,1032794842,-1117182320,1032096200)+W(11,-1124368769,-1109467751,-1103392519,1029776437);WS(1054547415,-1080700728); +sum1=W(0,-1118959255,-1106813137,-1136179854,1049136707)+W(1,-1121699838,-1110798213,1000886579,1020745112)+W(2,1042266506,-1113159542,-1135369949,-1133353861)+W(3,-1108938574,1000629071,-1114102394,-1117329322)+W(4,-1098171678,-1132246652,1035589374,-1089948699)+W(5,1058763908,1057279043,-1102488395,-1116069530)+W(6,-1115953331,-1104374042,1043996152,1058534976)+W(7,-1118338951,1023843187,-1120209015,-1115354302)+W(8,1034434840,1042941412,-1123101368,-1110056358)+W(9,-1130255148,-1115551813,1030595334,1024662339)+W(10,-1111680098,-1125104281,-1114831416,-1107411355)+W(11,1037557447,-1115931546,-1111356186,-1113468791);sum2=W(0,-1104438281,1010047952,1041416137,-1126834256)+W(1,-1137643420,-1141914640,1006975884,1033813267)+W(2,-1103312430,-1117623020,-1119875938,-1142859168)+W(3,-1114845259,-1104617278,1059878226,-1091497753)+W(4,1032827109,-1115736166,-1121830816,1016682467)+W(5,1030331467,1058017528,-1098691452,1030249718)+W(6,1035922248,-1119230330,1042445877,1016098448)+W(7,1038105687,-1111253212,-1109021584,1016925125)+W(8,-1127060444,1041560361,-1110812698,-1153808400)+W(9,1024387710,1031893944,-1106783001,-1112957506)+W(10,1032692112,-1114320479,-1116080890,1028042677)+W(11,-1113418625,1032681483,-1112120334,-1122393388);WS(1052913623,1049378679); +sum1=W(0,-1122838827,1042960148,-1086626395,1057292387)+W(1,1037967453,-1155224026,-1140317417,-1131398976)+W(2,-1096052024,1051976144,-1115050310,1021209962)+W(3,-1125024735,1047376245,-1085621156,1057250406)+W(4,1033197251,-1137632582,-1119624720,-1142164473)+W(5,-1082562971,1065554348,-1105683981,1041116332)+W(6,-1114511683,1052155164,-1087926293,1052193006)+W(7,1022767638,-1114068531,1000517975,1026436976)+W(8,-1091398264,1054127476,1031945184,1019309136)+W(9,980913767,1040745327,-1096441475,1052669955)+W(10,-1117629257,-1119607996,-1118732996,1037554661)+W(11,-1088065070,1051850318,1041425290,1029050594);sum2=W(0,-1128729473,-1113890565,1030681183,-1116238263)+W(1,1054381777,-1088819879,1026695603,-1113695617)+W(2,1046246583,1032966985,1060417287,-1094452995)+W(3,-1122814467,1012493154,-1119541727,1063042504)+W(4,1065151040,-1073258706,1038041001,1007226362)+W(5,-1105895610,1066720275,1069419683,-1071852139)+W(6,-1114364242,1022932917,1013035938,1061802664)+W(7,1070184946,-1071972143,1029245131,-1121347205)+W(8,-1109256305,1054635319,1067716376,-1076852924)+W(9,-1114309631,1028217359,1037707015,1034508407)+W(10,1063333907,-1084913408,-1131614889,1005475605)+W(11,1018572933,-1114817272,1057796391,-1086618913);WS(-1080205366,1054586731); +sum1=W(0,1028285119,-1104231365,-1105384067,1018315643)+W(1,1050517144,-1107795033,1034516295,-1118125300)+W(2,-1098317298,1050987674,-1103331232,1030553289)+W(3,-1114270114,-1122896269,-1102251495,1045079495)+W(4,1044797187,-1134423957,1028158052,1031422323)+W(5,-1084181862,1065887519,-1106919576,1039594145)+W(6,-1122816794,1042423964,-1083878719,1058366107)+W(7,-1136969466,-1127143669,1015275709,-1113275778)+W(8,-1102645126,1055927247,-1127822612,1007528111)+W(9,1008209269,1035567225,-1094749758,1042520123)+W(10,-1111681950,-1112108944,1026827799,-1113291743)+W(11,-1095155767,1054820368,1023800268,1010334934);sum2=W(0,1018519238,999332143,1041061518,1033756160)+W(1,1071473984,-1074851124,1015687849,1021267259)+W(2,-1105547391,1042746528,1066765865,-1079967238)+W(3,-1123243110,1021268373,1034089943,1026544409)+W(4,1067795051,-1079279124,-1154321191,1001850235)+W(5,-1097359239,1057524548,1059938647,-1081222132)+W(6,-1147705571,-1122367554,1024181853,-1128118669)+W(7,-1126584943,1036308208,-1137574530,-1149097003)+W(8,964634475,1033087855,-1109247299,995399503)+W(9,1025499637,1028798873,-1139074510,-1129467393)+W(10,1002507759,1006964374,-1123293958,-1120881342)+W(11,1038775557,-1131901697,-1137941026,-1131371017);WS(1032292188,-1145187004); +sum1=W(0,-1121091224,1026282854,-1110430066,1041424886)+W(1,-1163709786,-1130362518,-1124591439,1032165735)+W(2,-1099744666,1053335502,-1097458647,1026340962)+W(3,-1121198813,1048823572,-1088767505,1045555550)+W(4,1040806261,1020242430,1009701366,-1113803654)+W(5,-1109489438,1044961340,1038271382,-1136150382)+W(6,1007646671,-1119045850,1041537816,-1098280566)+W(7,1040783354,-1117600916,1026658136,-1092992668)+W(8,1047050636,1043075732,1037260307,997023189)+W(9,1020346030,1019935126,-1121506375,-1107270401)+W(10,1000329008,-1124456788,-1122546321,-1119672872)+W(11,-1110555528,1047792295,-1120965766,1026784415);sum2=W(0,-1120115102,1027036707,1028744443,1037973272)+W(1,-1111409649,-1114092190,1024423113,-1119221834)+W(2,-1122478763,1049287438,-1096539764,1034186497)+W(3,-1131404107,1034928052,1034534080,1047707985)+W(4,1032305459,-1111870688,-1162462122,-1115806512)+W(5,-1117650486,1065549495,1059270295,-1104163224)+W(6,-1116017912,-1133321326,-1108495610,-1079218451)+W(7,1053073262,-1116841516,1035047655,-1101382306)+W(8,-1105332910,-1101676179,-1108544028,1038206879)+W(9,-1146105278,1029706393,1038914207,-1109811124)+W(10,-1125217018,1004549098,1011265421,1023154260)+W(11,-1113944011,-1116861489,1023662974,1021319568);WS(1065238444,1029810764); +sum1=W(0,-1117664959,1035631050,-1105662947,1044376095)+W(1,-1180059800,-1144996235,1033625479,998132025)+W(2,-1110409480,1041425605,1029921727,1002652741)+W(3,-1121511107,1046740798,-1115600622,-1117226857)+W(4,1047596134,986508455,1026353828,1049143094)+W(5,-1117398499,-1088462543,1050498082,1031133314)+W(6,-1154871713,1044265580,-1101622768,-1090821428)+W(7,1032067983,-1119889178,980940712,1037075730)+W(8,-1109487884,-1099167518,-1134957959,1038687768)+W(9,1018182811,1028486865,-1112099063,1039936213)+W(10,1021107193,-1122286680,1025470327,-1128624253)+W(11,-1120941494,-1117520833,1019194744,1032539083);sum2=W(0,1027136813,-1109237812,-1131106290,1028116649)+W(1,-1115313320,-1132573667,-1126103938,1029641913)+W(2,1047599733,1041211299,-1119521049,1022404146)+W(3,-1134438995,-1108335880,-1097134429,-1092284431)+W(4,-1100904528,1016921434,1023841561,1016569578)+W(5,-1076957808,-1103461794,1040752059,1027441157)+W(6,1003327910,1032415828,1044824498,1073063564)+W(7,1045381268,-1106952976,-1130954514,999116870)+W(8,1037851390,-1111597872,-1112786376,1036890340)+W(9,-1135210803,1003972614,-1123469057,1033926584)+W(10,1034574746,-1110049884,994333964,-1138234067)+W(11,1043898273,-1115472968,-1137298819,-1139674515);WS(-1111543132,1053084187); +sum1=W(0,1033211657,1029336727,1056808676,-1089574549)+W(1,-1112225370,1035575202,-1116548448,-1100473306)+W(2,1042013257,-1097689349,999357322,-1114691470)+W(3,1043994373,1036113196,1061342772,-1087296749)+W(4,1042186215,1040681774,-1112421659,-1100606697)+W(5,1060655799,-1082434496,-1100755553,1045312421)+W(6,1033458902,-1117467379,1059165410,-1087667391)+W(7,1042539448,1039236406,1042588164,1024205686)+W(8,1057924951,-1091727169,1041805473,1042949980)+W(9,-1106715184,-1098518156,1042727104,-1095816456)+W(10,-1105873704,-1113675407,1042106754,1010302211)+W(11,1057649845,-1093601226,-1114265639,1035739628);sum2=W(0,1036389819,1006854517,1049279774,-1104547241)+W(1,-1140479293,1032391465,-1106855677,-1114095075)+W(2,-1106885840,-1120692701,-1096936463,-1098591621)+W(3,1031620401,1044374087,1052305677,1045612807)+W(4,1051540981,-1115708783,-1109245550,-1105124479)+W(5,1054861276,1058901209,-1092919117,-1081363743)+W(6,997072274,-1105277948,1057655059,1054428932)+W(7,-1129490106,-1090444858,-1132619277,1043212463)+W(8,1046093411,1034709627,1034565381,1017473602)+W(9,-1096737767,-1104242691,-1094755169,1054770354)+W(10,-1092959620,-1098730750,1049991282,-1113287926)+W(11,1057224822,-1094426804,1030915645,1044114915);WS(-1084020140,1068126260); +sum1=W(0,1006295077,-1156074282,1049019906,-1097931528)+W(1,-1117241095,-1123621559,-1137936208,-1103771606)+W(2,1049395923,-1091558419,1040511881,1023627215)+W(3,1034316741,-1104490636,1061237576,-1086810430)+W(4,1040083512,-1108467318,-1149620895,1038480604)+W(5,1033598516,-1099102215,1044377854,-1115694024)+W(6,-1141477121,1018703789,-1094713154,1059440745)+W(7,1044961993,-1120119968,-1110713826,1041233006)+W(8,-1098857908,1018408058,-1146014215,-1145494414)+W(9,-1119964867,1031629367,1023717620,-1122483505)+W(10,1038059949,-1122997930,-1159113641,1005339683)+W(11,1036793310,-1108866660,-1129764324,1007729326);sum2=W(0,1015277664,1025130698,1027591084,-1117062871)+W(1,-1101670769,1019605180,-1114453597,-1134749664)+W(2,1033917561,-1115087054,-1114105716,-1131991228)+W(3,1036987011,1032879133,-1126832950,1055956188)+W(4,-1097729634,-1104354242,-1112547401,-1134874844)+W(5,-1114337945,-1108159193,-1123425664,-1097147867)+W(6,1038859445,-1112115766,1026538526,1052262112)+W(7,1058230624,-1101321392,-1116674795,1018163604)+W(8,-1114930086,1032023389,1047994902,-1100180330)+W(9,983557058,-1128408082,968847366,-1105383385)+W(10,1046456588,-1106875572,-1127718668,1003243264)+W(11,-1132712652,-1120777676,1042953566,1009596296);WS(1044178094,-1112419455); +sum1=W(0,-1131480425,1028145051,1050373320,-1113746394)+W(1,-1097767254,1005496122,1014469647,-1106904202)+W(2,1050878345,-1101407218,1036986154,1009224698)+W(3,1033460669,-1114114798,1059597501,-1089975999)+W(4,-1106579916,1010606701,-1111970637,-1103921210)+W(5,1061375910,-1083033439,1025899544,-1155279741)+W(6,1018155424,-1104772954,1062331213,-1089702156)+W(7,1034746546,1027233072,1028778773,-1105642670)+W(8,1054878354,-1100724747,1032512190,1015772371)+W(9,-1120733619,-1122369255,1050980308,-1095744476)+W(10,-1113254377,-1131981388,1036392279,-1105836421)+W(11,1057064179,-1096031599,-1120232930,-1140419566);sum2=W(0,1044058702,-1120335698,1041124235,1021344157)+W(1,-1087803383,1057976488,-1105410550,1016883675)+W(2,1035757794,-1104385836,-1085495757,1058928386)+W(3,1033398047,1032351899,-1105578788,1068114101)+W(4,-1081571635,1051244378,-1119512188,-1103364509)+W(5,-1105098443,1052569394,-1086748155,1048853947)+W(6,-1121578506,-1123961512,1037191880,1027075889)+W(7,1031589750,-1130402783,-1129503263,1043612533)+W(8,1025665274,-1095293941,1048618044,-1124003088)+W(9,1005093795,-1110855577,1024086018,-1113226379)+W(10,-1121765158,1010599720,-1116781712,1044044613)+W(11,1023695645,-1106316439,1039073287,-1120128288);WS(-1095246679,-1087513362); +sum1=W(0,1027634667,1005582218,1054139855,-1093682933)+W(1,1002440559,-1142612208,998672596,1034119552)+W(2,1049059024,-1099832192,1040529483,1024339285)+W(3,-1149130110,-1098084154,1052649123,-1089047862)+W(4,-1122861959,1025618962,1026870673,-1141537276)+W(5,1065515488,-1088853800,-1126585773,1014930618)+W(6,1006905115,-1098155038,1064339388,-1084571535)+W(7,-1099945809,-1117714471,1027369115,-1115874224)+W(8,1053781857,-1097071228,-1105399392,-1136815962)+W(9,-1156874400,-1130796284,1050040635,-1107001190)+W(10,1023818537,1018962754,1027010724,-1110211381)+W(11,1056042372,-1095503614,-1117200441,1028298602);sum2=W(0,1021849900,1041438934,-1128850825,1035803991)+W(1,-1100551265,1028120411,-1131412357,-1119369172)+W(2,1021256857,-1111021944,1042971908,-1109090883)+W(3,-1118206650,1040592619,1046750596,1038923952)+W(4,-1109478151,1026074630,-1125196517,-1114002177)+W(5,1025252531,1072474004,-1083937830,-1100770381)+W(6,1035111533,1032710077,1048692472,1077302109)+W(7,-1067064389,1049109423,-1144348946,1044882286)+W(8,-1128830461,-1095554578,-1084038225,1041329596)+W(9,1021086832,-1106944856,1032666924,1044371493)+W(10,-1106119426,1033664959,1020034266,1034465258)+W(11,1034167215,-1126088605,-1103479472,-1114595648);WS(-1086863724,-1072185677); +sum1=W(0,1028385114,999422396,1054099261,-1096116227)+W(1,-1144842721,-1139590961,-1117432553,-1108936247)+W(2,1053618221,-1097427086,1026659130,1021035463)+W(3,1039695343,-1104614655,1060257868,-1085349189)+W(4,1037424170,-1123772160,-1109809663,-1104994067)+W(5,1062802560,-1083398775,1038629270,-1103266023)+W(6,1021420394,-1154652341,1056152893,-1099176000)+W(7,1048207210,1017905387,-1123921882,-1146863602)+W(8,1045520765,-1110026089,-1118540449,-1111374457)+W(9,-1130768465,-1114930982,1044268562,-1104661441)+W(10,-1129199023,997564786,1022384484,1034006493)+W(11,1050379178,-1115290030,-1101129750,-1108736604);sum2=W(0,-1122660132,1040406414,1007232002,-1096101684)+W(1,-1114861255,1041847394,1028330563,1017997140)+W(2,1025921746,1022732374,1041150821,-1105481885)+W(3,-1115262781,1025264396,1043786284,-1102241564)+W(4,-1094431556,1055232297,1045687787,-1103384157)+W(5,1040909479,1055010544,-1078483413,1061241514)+W(6,-1108704409,-1151694751,-1108714653,1057419270)+W(7,-1079156700,1063042984,1029063313,986929807)+W(8,1043690826,-1126901852,-1078269109,1067726336)+W(9,-1116092784,1026201848,-1119932664,1047767958)+W(10,-1092610189,1054314043,1013546756,-1115691336)+W(11,1038266954,-1115096031,-1098859524,1052159629);WS(-1100931758,-1079897221); +sum1=W(0,1002503979,-1105750735,-1109125113,1042140489)+W(1,-1126416416,-1119888216,1034941050,1038153885)+W(2,1017797614,1051948423,1024057510,1035399096)+W(3,-1106318298,-1105238364,-1095922988,1034322060)+W(4,-1103862864,-1104877795,1040768819,1049149819)+W(5,-1090093369,1059094088,1040510958,1042879258)+W(6,-1115730241,1028324215,-1091054939,1049017573)+W(7,-1112163155,-1120272065,-1141069099,-1106412131)+W(8,-1102230944,1050624300,-1106256757,-1112985689)+W(9,1027555620,1039911116,-1127686569,1045992036)+W(10,1017980086,1033961137,-1123362142,-1114353739)+W(11,-1097766172,1043140938,1018029782,-1117933580);sum2=W(0,-1118098210,1039272612,1033865352,-1107428188)+W(1,1041731770,-1138511840,-1106915273,-1120265428)+W(2,1043187452,-1111026913,-1108614463,-1129236656)+W(3,1038839398,1047577900,-1107536005,1034998667)+W(4,-1104254290,1049639209,-1115506453,-1112696018)+W(5,-1090204449,1068488571,-1073443109,1065503173)+W(6,1032442192,-1123012045,982996928,-1096446249)+W(7,1040126834,1035312463,1016491198,-1123570623)+W(8,1042935567,1013219076,1041050172,-1104804103)+W(9,996494424,-1121836120,-1120793710,-1101384300)+W(10,998034192,1040382819,-1145352236,1026228225)+W(11,1030161309,1023915500,1038049010,-1106858818);WS(1060652716,-1122012062); +sum1=W(0,-1136700086,-1113850590,-1093156519,1056384406)+W(1,-1101587139,1021600449,-1120727741,1022556549)+W(2,-1098011208,1052398904,-1106430355,-1114714908)+W(3,-1136846536,1030968440,-1100004083,1062519968)+W(4,-1132405458,1016310696,-1102129381,1036351121)+W(5,-1079676696,1061355096,-1107897312,-1113036024)+W(6,1035874533,1049961616,-1097573322,1059521337)+W(7,1048756772,1022545811,-1111246103,-1119797202)+W(8,-1087704492,1052440101,-1109566980,956768943)+W(9,1019584793,1037896960,-1096988084,1048869443)+W(10,1020055223,-1121983087,-1111739075,1033695743)+W(11,-1092447605,1048091420,1043876621,1018273385);sum2=W(0,-1134928360,1033535752,-1108867200,1056652859)+W(1,-1094974673,1034782854,1028726521,-1102458559)+W(2,1031241917,1048810536,-1100509489,-1123876292)+W(3,-1102649789,-1114678181,1028753942,1051021341)+W(4,-1100441695,-1100025719,1041988393,1050124192)+W(5,1056497468,1036208495,1034323322,1037384204)+W(6,-1105797881,-1102215651,-1090602802,-1099717915)+W(7,-1115767916,-1098766868,-1125378124,1032107719)+W(8,1057082230,-1114740583,1041259997,1024245049)+W(9,1034345705,1014416128,1023046526,1002570703)+W(10,-1122784508,-1114560124,-1134413224,-1119150822)+W(11,1025484112,-1101875417,1037850051,-1112409616);WS(-1104650926,-1097620835); +sum1=W(0,-1121602225,1025795527,1046345311,-1105175020)+W(1,-1160491701,1000929055,1021304961,-1105437010)+W(2,-1108985665,1045711217,-1117138161,-1145522137)+W(3,-1132438763,1039870965,1041625463,-1093274991)+W(4,1040158758,-1117941464,1033606955,-1097752993)+W(5,-1144407721,1062570208,1049985633,-1122762228)+W(6,-1119908749,1037504305,-1100934531,-1099088029)+W(7,1037586881,-1109694278,1032325913,-1109081755)+W(8,1047145475,-1097698093,1004919651,1026835862)+W(9,-1112547088,-1121171172,-1119544288,-1136783989)+W(10,-1124949278,1024727664,1011690407,-1116159153)+W(11,1036418740,-1106563213,999804916,-1126831120);sum2=W(0,-1103930431,-1122873970,1048581640,-1139346648)+W(1,1030984702,-1115391660,1043997541,-1100601593)+W(2,-1108032519,1042591516,-1123657132,-1107477718)+W(3,-1102154605,-1174042309,1029742536,1045200151)+W(4,-1106767363,1032437784,1046282803,-1084779372)+W(5,1068068442,1052027066,-1086671314,1025856678)+W(6,-1106269056,-1114322527,1051594943,-1098651742)+W(7,1024653780,1036550683,-1116052960,1046060831)+W(8,-1119470820,-1115540046,-1127107345,-1121355040)+W(9,993204113,-1115511338,-1138871916,1021777728)+W(10,-1163609763,-1115373797,-1113135778,1041954938)+W(11,1020181836,-1107159950,-1134598872,-1122730046);WS(1066180726,1071088208); +sum1=W(0,1019239309,-1125280121,-1096761986,1046613601)+W(1,-1107071425,1022045682,-1139409238,1001471451)+W(2,1012641888,-1137946220,1047813898,1006921793)+W(3,1016498838,-1110062156,-1103040193,-1089511315)+W(4,1045045936,1010038708,-1117575980,1036666525)+W(5,-1098591157,1064065326,1024305865,1025055882)+W(6,1000209679,1049354787,-1079760364,1058946251)+W(7,-1110782371,990559266,-1113394675,1048739493)+W(8,-1090655988,1056455200,1013890551,1028621651)+W(9,1030691589,-1119525817,-1102803453,1048597558)+W(10,981956228,-1118324476,-1133365628,-1103045922)+W(11,-1099636767,1050574049,1043476657,-1146495466);sum2=W(0,-1132513434,1043448685,-1099364915,-1092624350)+W(1,1056566992,-1119372495,-1110784932,-1133524329)+W(2,1037755510,1047633966,-1103089496,-1105722911)+W(3,1015163300,-1107748756,-1102119678,-1120785461)+W(4,1032253510,-1123661455,1015068960,1038994810)+W(5,1041992963,1052941265,-1122308723,-1115405106)+W(6,1033174530,-1104237963,1059473601,-1112171819)+W(7,1028984470,-1126727948,-1135254713,-1120882016)+W(8,1015880446,-1149514732,-1121912217,1038410412)+W(9,1032888151,-1105704866,1034086136,-1106883398)+W(10,1037486360,-1113287020,-1132281738,1042278645)+W(11,-1087682569,1032085587,-1121651695,1025242322);WS(1036385628,1044378228); +sum1=W(0,-1125923878,-1119989961,-1113894352,1034400041)+W(1,1040468885,-1119159494,-1122454178,1024777096)+W(2,-1109744594,1050462805,-1118152051,-1136375156)+W(3,-1106272614,1045742974,-1081686591,1057689729)+W(4,-1112362495,1016953331,1034604284,-1106270482)+W(5,1049041391,1056885773,-1111838475,1033159371)+W(6,-1112814039,-1097223397,1058546239,-1082103097)+W(7,1051410218,-1127987422,1030894675,-1112273196)+W(8,1043400251,-1111542214,1042722054,1008300000)+W(9,-1123079474,-1131680651,1024933634,1032256832)+W(10,-1104716944,1020481857,-1130721815,974203052)+W(11,-1127331477,1030325078,1028514056,-1122308858);sum2=W(0,-1126857538,-1124098806,1017023528,-1105780084)+W(1,-1128747572,-1133097491,-1118763531,-1105376950)+W(2,-1096176503,-1094874635,-1140350635,1036694112)+W(3,1031801448,1037674477,1067983244,1071605005)+W(4,-1109792866,-1111308161,1032593429,-1110580495)+W(5,-1078904043,-1075832971,-1097243929,1036064001)+W(6,1004108563,-1116861031,1060638644,1065456263)+W(7,1040323331,1039332997,-1119835024,1039467599)+W(8,-1111109918,-1112838992,-1114824160,-1103055030)+W(9,1016299757,-1109178305,-1098624444,-1104548941)+W(10,1033955221,1027541135,-1169697445,1033383777)+W(11,1040587540,1006549790,-1127435882,1022453269);WS(1044586414,987793058); +sum1=W(0,981244734,-1094962922,1056192743,-1106851755)+W(1,-1119312576,-1109764848,1029861564,-1105742952)+W(2,1054313512,-1099782448,1027895469,1032524411)+W(3,-1127551587,-1103252055,1058042871,-1098041547)+W(4,1019737521,-1110892330,1008852553,-1106380176)+W(5,1048369556,-1096188128,-1121596880,1024237680)+W(6,-1110264932,1039776063,-1104749720,1052995119)+W(7,-1106765091,-1120426409,-1120415085,1036900841)+W(8,-1097596121,1058305414,-1098125906,1026360866)+W(9,-1128191927,1025145152,-1105335335,1045503990)+W(10,-1106717007,-1151171624,-1111219811,1028803677)+W(11,-1103570473,1055249646,-1101993823,1031597860);sum2=W(0,-1170894487,1038321486,1053283699,-1093894288)+W(1,-1100030896,1046510222,-1116947191,1032730216)+W(2,-1102463031,-1109920837,1047091130,-1098101478)+W(3,1031282910,1034140662,1044178467,-1089191295)+W(4,-1097946325,1046381950,-1112734885,-1104751545)+W(5,1054507486,1065532097,-1095028025,-1113780206)+W(6,1042944653,-1102906173,-1128523954,-1115680584)+W(7,-1094781909,1020709100,-1112368696,-1115060896)+W(8,1038784522,1029167633,1050920778,-1114933696)+W(9,1023647443,-1124833342,-1109068581,1021288403)+W(10,-1113980416,-1114621382,-1149951158,-1103764076)+W(11,-1105151256,1048070264,1052479172,-1120673083);WS(-1114317660,-1079530866); +sum1=W(0,1005492722,-1115918380,-1124407701,-1116105277)+W(1,1041270838,-1125596386,1045601427,-1100871485)+W(2,1040297908,-1115200394,1034785295,1024917256)+W(3,-1125684614,-1122621547,-1098312611,-1103806788)+W(4,1049040249,1026343653,1040691817,-1094477942)+W(5,1054673340,-1097950923,-1103823208,1033886401)+W(6,-1138701159,1044150368,1041833209,-1088150296)+W(7,-1129519613,1039772509,-1122106750,1041157065)+W(8,-1120050519,1040435582,-1121264402,1028146611)+W(9,1010492340,1039210328,-1116922669,1025767275)+W(10,-1133614768,1030520276,-1132247342,1037992735)+W(11,1025359158,1032362656,-1107139719,1032249339);sum2=W(0,-1155531695,1035594747,-1111112193,-1101564588)+W(1,-1116834132,-1130931838,-1116868484,-1130123766)+W(2,1034328851,-1113096514,-1115452418,-1123313694)+W(3,-1135508412,-1121397012,1033705026,1029679690)+W(4,-1152418495,1018386998,-1106991844,-1115576312)+W(5,1050004218,1048453590,1029930774,-1127714868)+W(6,-1135674828,-1126221532,-1117911568,1050922209)+W(7,1007646710,-1121358676,1001487940,-1107263445)+W(8,-1123887534,1043692754,-1114385718,1023927325)+W(9,-1119877490,-1121744498,1017446183,1034884616)+W(10,-1122169416,-1115969900,-1131775200,-1125291430)+W(11,-1110635219,1032206024,1016330315,-1122013064);WS(1066254326,-1103165682); +sum1=W(0,1032736195,-1107990998,1040177417,-1102376817)+W(1,1034252186,1019040113,1027879829,-1114107453)+W(2,-1121888407,1024426522,-1134855959,1012754494)+W(3,1031762634,-1103287009,1058340070,-1086180914)+W(4,1048880356,-1128188760,-1123062443,1041209406)+W(5,-1097968365,1045901207,-1117801777,-1116847305)+W(6,1004281096,1039171204,-1082040497,1060563077)+W(7,-1108119503,-1149008906,-1148973229,-1113506869)+W(8,1042461256,1045252895,1021862138,-1140572507)+W(9,-1119568276,1029657432,-1110264442,1035749465)+W(10,1017288487,1021245074,-1130151676,1042306865)+W(11,-1106785311,1042341554,-1125959462,1010461490);sum2=W(0,1021177914,-1111267114,1038432054,-1105822865)+W(1,1037666445,-1122267795,-1124089023,1044764288)+W(2,-1106310853,-1100663157,1039738660,-1121288215)+W(3,1026640236,1026571855,-1115065858,-1088005063)+W(4,-1097556837,1045614354,1019818775,-1103902938)+W(5,1063205014,1066152263,-1094681119,-1112191805)+W(6,1019369915,-1139759728,1054784388,-1093573252)+W(7,-1095778937,1041592438,-1106530127,1046869720)+W(8,-1096246655,-1098236584,1051664274,-1110480242)+W(9,1038187852,-1116925721,-1115197568,1033917272)+W(10,-1104072801,1015983837,1030498751,-1107211067)+W(11,1035488589,-1107121631,1038730556,1022742082);WS(1062838508,-1098141683); +sum1=W(0,-1134697126,-1129876167,-1116304310,-1099161722)+W(1,1038618718,1030514076,1033720508,1021336509)+W(2,-1104597903,1019102333,1045312786,-1118743028)+W(3,-1121504814,1014720225,-1101916102,1049624810)+W(4,1036131058,-1134396481,-1119656591,1046652247)+W(5,-1082370571,1058084844,1029119981,1009920435)+W(6,950602286,1047400131,-1091801796,1053105145)+W(7,-1119759594,-1132133195,-1114868293,1033072079)+W(8,-1096699752,1050650780,-1119884597,-1133963803)+W(9,1034808260,-1139606129,-1121911577,1034036747)+W(10,1024218735,990998386,-1113093265,1026913289)+W(11,-1098146380,1048726310,1017329950,-1121758433);sum2=W(0,-1120814392,1026947049,-1124609851,1029294693)+W(1,-1089366560,1054044776,1018600110,-1114533760)+W(2,1043306429,-1096357662,-1078857162,-1109773692)+W(3,1027325255,-1112504706,1030055965,1075131584)+W(4,-1106088729,-1105806639,-1124538308,-1107191892)+W(5,-1090928488,-1118772404,1060040329,-1102685120)+W(6,-1127260613,1023329910,1046523168,-1092017575)+W(7,1045316672,-1119137158,1007599328,-1124222597)+W(8,1015958190,-1113584525,1047822624,1032716843)+W(9,-1128821133,1024046209,1022187138,-1109468012)+W(10,1021757630,-1120065319,-1125977712,1019591350)+W(11,-1115445424,-1105922548,1038940063,1016647840);WS(1054286935,1054427377); +sum1=W(0,-1139016422,1031868724,-1103470657,1027450488)+W(1,1036611766,-1113202838,1015966225,1024526894)+W(2,-1100637795,1046711412,-1105992614,1036202402)+W(3,1034481375,-1107528289,1043922306,-1098573729)+W(4,1045477269,-1121078688,1029692191,-1123790766)+W(5,-1096987004,1036148808,-1138151730,1006910195)+W(6,-1118014037,1033739398,-1103397016,1053311986)+W(7,-1103945702,1033532379,1037138557,-1101429240)+W(8,1045510949,1016118627,1013880803,-1135069562)+W(9,-1107878452,1035472806,-1113746932,-1127637067)+W(10,1041047838,-1112788047,996243233,-1114181077)+W(11,998962565,1041113135,-1118755335,1020627009);sum2=W(0,998302909,-1114977231,-1111023634,1036510752)+W(1,1004185429,1033017445,1020343611,1031676937)+W(2,-1115901635,-1117993552,1041465226,-1113757911)+W(3,1029585253,-1113383024,-1091081120,-1099268355)+W(4,-1113451820,1021941233,1014080934,1053648356)+W(5,-1095412525,-1083342245,-1115471327,-1161911507)+W(6,-1135780688,1044096370,1066870285,1034064765)+W(7,-1118193886,-1120710156,-1115911996,1042686855)+W(8,-1137657706,1037488276,1023464409,1018751107)+W(9,1018594371,-1108781434,1043350243,1014772326)+W(10,-1138084208,-1148724493,-1117868456,1037265024)+W(11,-1126645268,-1113946823,1032826620,967002060);WS(1069042774,1023813606); +sum1=W(0,-1120569815,1029846837,-1087916882,1052864835)+W(1,1037940281,-1130288148,982627530,-1113747494)+W(2,-1109565588,1048856613,1011966045,-1136915076)+W(3,-1113058670,1033076468,-1095056850,1056781822)+W(4,1041407837,-1140629239,-1122018428,1039673254)+W(5,-1085384902,1059308179,-1107102153,1027021082)+W(6,-1110295833,1038190732,-1083727323,1063669175)+W(7,-1111254596,1007651659,1021479086,1046432919)+W(8,-1089999723,1059014405,-1110936865,-1128736648)+W(9,1001627822,-1134594983,-1094559921,1044534497)+W(10,1025983877,-1139332738,1013049407,1016231853)+W(11,-1094610970,1048044230,1046858383,-1114487747);sum2=W(0,-1097118790,-1088323667,1067177084,1049654149)+W(1,-1120538318,-1108580354,-1115645027,1030684990)+W(2,1056476304,-1101283859,1040556965,-1124995735)+W(3,-1109249259,-1081609065,1058423359,1057270411)+W(4,-1122455315,1017763415,1042765123,-1082143899)+W(5,1061996602,1055747315,-1120372038,-1114753052)+W(6,1015795842,-1102809807,1006287482,-1087207348)+W(7,-1106540179,1040354664,1028792702,1059694558)+W(8,-1085597397,-1106003210,1042932361,1033427208)+W(9,-1116071919,1064574838,-1080103447,1023804763)+W(10,1048665861,-1098395984,-1105083736,1072110122)+W(11,-1081832849,-1090423898,-1101912272,1049644025);WS(1046279854,-1100682627); +sum1=W(0,-1155754074,-1109896894,-1107576521,1035511522)+W(1,1002805634,-1116898232,-1110611178,-1114421037)+W(2,1030120983,-1124410677,-1114543731,1008443967)+W(3,1022309140,-1131162933,-1094043528,1038811574)+W(4,1039227081,-1122237996,-1118509483,1027993210)+W(5,1062355587,1059809630,-1113128332,-1141634631)+W(6,-1109973457,1040243222,-1094900881,1038778317)+W(7,-1105636701,1021837827,1022155595,-1117693450)+W(8,-1110047247,1046487839,-1109843880,-1132048229)+W(9,-1107208537,1019138289,-1110631994,-1127423844)+W(10,1004796827,-1123472091,-1117715774,996768085)+W(11,-1107567326,1039784548,-1112311954,-1128081977);sum2=W(0,-1155805362,-1107499970,1022847832,1035480223)+W(1,-1120962569,-1110725720,-1111094572,-1112866732)+W(2,1044264749,-1148903065,-1114470280,1021130376)+W(3,1028160711,-1106540686,-1155674450,1040150233)+W(4,1010774604,-1120260095,-1123681391,-1140638716)+W(5,1057429467,1045538131,1016428102,1009992044)+W(6,-1116453985,1031083122,-1106158641,1031696457)+W(7,-1120179561,1026515918,-1119301235,-1139408516)+W(8,1025824831,1041846065,-1118124541,-1114275912)+W(9,-1108559318,1034592379,-1111164410,-1120456085)+W(10,999266665,1011855672,-1115385578,-1116565509)+W(11,-1121519923,-1129601606,-1119709653,-1115407958);WS(1068834358,-1130516755); +sum1=W(0,-1110020716,1034114243,1048068617,-1102038774)+W(1,1031998965,-1110620517,1043574522,-1095778974)+W(2,1048936405,1035735542,-1100504766,1038840817)+W(3,-1110718798,1047457188,1038642250,-1105529591)+W(4,1047377413,-1109142655,-1129582842,-1108460854)+W(5,-1114164062,-1096174934,-1130108598,1023990363)+W(6,-1114402010,1054126843,-1110583455,-1112126358)+W(7,1044906670,-1122044916,1034180284,-1096959660)+W(8,1049433806,1043709316,-1095231947,1040978881)+W(9,1025857751,1033414773,-1136840220,-1123546692)+W(10,-1130058411,-1131191403,-1111247176,1039130852)+W(11,-1119539023,-1112879245,1035429307,-1115530151);sum2=W(0,970017593,-1108165952,1047729556,-1102798485)+W(1,-1142827268,1029593938,-1125442959,1040753488)+W(2,1000227776,-1088611471,1049645408,-1108133201)+W(3,-1107196630,1033984686,1038319755,-1087549565)+W(4,-1127043239,-1114349374,-1108273260,1051322703)+W(5,1055231112,1062180091,-1103837458,1035145460)+W(6,-1130992285,-1113564209,-1094436986,1046553690)+W(7,-1107399737,-1114342182,-1132402709,1041587650)+W(8,986706110,-1113546876,1048231400,-1146643074)+W(9,1017358256,-1116630320,-1124437274,-1120036494)+W(10,-1124561928,-1126967424,988670622,-1122802752)+W(11,-1132214419,1032902155,-1145381770,1014303584);WS(1067517750,1033639701); +sum1=W(0,1025509678,-1102897085,1023511162,1037697110)+W(1,1039047450,-1138182274,-1130341242,-1132678155)+W(2,-1096924480,1040728225,-1108434135,-1138791135)+W(3,-1120272434,-1151042791,-1094474081,1056422164)+W(4,1032921189,1010850641,1018375590,1013105800)+W(5,-1086033191,1062857884,-1122589009,1034477848)+W(6,-1116961737,1041000592,-1085852953,1058773976)+W(7,-1100255843,-1112868181,1026047982,1032243033)+W(8,-1093123217,1063905370,-1106044526,1026848855)+W(9,1025041660,1034904976,-1093479580,1050274619)+W(10,-1112977566,-1122948276,-1113724179,-1123793645)+W(11,-1091335173,1057695471,-1136654701,1007925107);sum2=W(0,-1101843642,-1101718380,1046322966,1051125372)+W(1,-1084762721,1050651985,1047092496,-1110599661)+W(2,1053918698,-1092942861,1058235489,-1101055683)+W(3,1032746990,-1127672356,-1100340247,1040369276)+W(4,-1090389206,1050412863,-1098074183,-1096713677)+W(5,1069438643,1074732797,-1088693676,-1103557505)+W(6,1053786699,-1104014372,1025809994,1050011098)+W(7,1053232821,1052371166,-1096910060,1035860070)+W(8,-1083706115,-1080423025,999981171,-1099152238)+W(9,1043846267,-1097849415,1048729218,-1117530220)+W(10,-1097505133,1041618808,1023876031,1051096852)+W(11,-1081917128,-1091623712,1050919626,-1123531943);WS(-1098378327,-1087753140); +sum1=W(0,-1149815841,-1123262056,-1110243207,1053738584)+W(1,-1096838314,1031741109,1013838405,-1131552366)+W(2,997589309,1025605911,967065877,-1135340592)+W(3,1021155853,-1114416842,-1104972312,1049179692)+W(4,-1108406847,1029594857,1025974631,-1103162646)+W(5,1042062186,-1094476095,-1130981226,-1145022506)+W(6,1017740987,-1099404299,1057054155,-1093068705)+W(7,1023051300,1005012974,1020943940,-1100518162)+W(8,1059648114,-1101042271,1010424693,-1112923496)+W(9,-1137239299,-1111541722,1047878460,-1111532695)+W(10,-1117167136,1030823984,1031952605,-1098489580)+W(11,1061110492,-1100382705,989087216,-1113821120);sum2=W(0,1034695587,1032463913,-1087773887,1051055536)+W(1,-1103774157,1028563957,-1111830177,1031752431)+W(2,-1104893727,1010301739,1003908630,-1111301343)+W(3,1017885202,-1103205904,-1114987001,1045597173)+W(4,-1107230114,1042437558,-1116805918,1045285117)+W(5,1061301409,1065451004,999416278,-1106181364)+W(6,1039973913,-1092035876,1053784665,1036331211)+W(7,-1118216068,1014136811,-1113376464,1044034906)+W(8,-1096259933,-1101789830,1047293827,-1127455968)+W(9,1024357631,-1097056010,1015259894,-1105822235)+W(10,-1119063058,-1137717779,-1109344122,1034392181)+W(11,-1095057905,-1098597360,-1139528651,1017174230);WS(1051991511,-1090129628); +sum1=W(0,-1119709994,1035475128,1044364174,-1099369674)+W(1,1024914253,-1122358045,1028979258,-1103260128)+W(2,1048862488,-1107028176,1037758213,-1142000036)+W(3,1025569135,-1099928080,1054464119,-1092954947)+W(4,1045752341,-1110227337,1025156752,1041023848)+W(5,-1103260308,1048877896,992983000,1023847918)+W(6,-1113846787,1030722332,-1090331224,1036105176)+W(7,-1115078629,1018698636,1032797781,1040845476)+W(8,1039529634,-1113372113,1027244574,-1139349278)+W(9,-1137003429,1015665914,1015668019,-1104520406)+W(10,1039091960,-1131269376,-1126457798,1032471277)+W(11,1036006161,-1111431094,-1113568276,1004297100);sum2=W(0,1043798657,-1098470129,-1126555274,1029962999)+W(1,1028782608,-1131048284,-1117698064,-1096590117)+W(2,1047971790,1037727050,-1161955740,1022180969)+W(3,-1102458928,-1084690772,1067678357,1008201251)+W(4,-1103096568,-1120783295,-1101130902,1065791971)+W(5,-1099131342,-1083609361,1051059538,1014843769)+W(6,1025730631,-1123809426,1036453804,1031198846)+W(7,-1106261335,1020274026,1026623851,1019910088)+W(8,-1117295572,-1113754273,1041141064,-1111232000)+W(9,995294154,990258218,-1116170672,1030505142)+W(10,1028328942,-1127235720,1012466631,-1124630920)+W(11,1010360391,-1136369090,-1119361560,1001879503);WS(1062559660,1025273829); +sum1=W(0,1017067222,-1098241838,-1088364567,1060515311)+W(1,-1113064427,1036248943,1004255955,1041017424)+W(2,-1088941672,1050253504,-1115329590,-1133026900)+W(3,1019590495,-1136327879,-1087512143,1064814036)+W(4,-1113817187,1008140615,-1109975080,1032386976)+W(5,-1083706517,1061681108,-1146803505,1028690158)+W(6,1028071367,1031451349,-1089169701,1061080357)+W(7,-1112935650,1010963867,1004648665,-1112687016)+W(8,-1092690193,1052988124,1031379878,1030651112)+W(9,-1129853588,1040197151,-1100415991,1048643203)+W(10,-1112391860,-1133141907,999516190,-1105242363)+W(11,-1093365052,1050105214,1051227835,-1139571464);sum2=W(0,1058977722,-1088438618,-1070888183,-1080154822)+W(1,1057028315,1020668753,-1123128465,-1084402469)+W(2,-1068917363,-1109667848,-1133954517,-1117456198)+W(3,1051128320,-1097793743,-1079680807,-1080832517)+W(4,1057005952,1031920962,1025585093,-1092491618)+W(5,1078112044,1058335327,-1089499329,1039195999)+W(6,1043020026,-1090336452,1082393215,1067339759)+W(7,1038175360,1046190750,-1090331128,-1094761348)+W(8,1070728174,1057746923,-1096630558,-1139309423)+W(9,1037612985,1032815200,-1090225897,-1122043266)+W(10,1051816122,-1116527206,-1101815127,-1080227574)+W(11,1066541275,1067785018,-1086032969,1046599598);WS(-1077531606,-1068627295); +sum1=W(0,-1124767318,-1113367136,-1095446127,1055377197)+W(1,-1111814927,-1126382267,1034866077,1048375560)+W(2,-1099058463,1047513184,1045191539,1025894069)+W(3,-1101653116,-1104403272,-1090535733,1058086815)+W(4,-1094831865,-1117513042,-1130761376,1049955828)+W(5,-1087242437,1061174628,1048150628,1008100281)+W(6,-1106412978,1036710310,-1088900579,1057172304)+W(7,-1103308083,999030326,-1121310187,-1108970480)+W(8,-1096168584,1056094244,-1102502166,-1115104524)+W(9,1040285922,1049541454,-1097928011,1047121222)+W(10,1043510842,1032672660,-1107982930,-1107579101)+W(11,-1095682732,1054731422,-1103869114,1025118882);sum2=W(0,-1118325221,1021086937,1043003051,-1131106753)+W(1,-1122810381,1007248641,-1109912068,-1119472758)+W(2,1026424546,1030452362,-1109242129,1007569065)+W(3,1055626857,1051951524,-1092928023,-1103671831)+W(4,1034708821,-1112697430,1073210842,1028908234)+W(5,-1081037490,-1079815727,1035695099,1034566233)+W(6,1050117205,1044779683,-1093398148,-1105002867)+W(7,1037167425,-1131640977,-1108710534,1039597247)+W(8,1044106321,1032627417,-1112762482,1020894429)+W(9,1007734945,-1130127373,-1119182686,-1108845723)+W(10,-1120996683,-1144614067,1005945059,1026547602)+W(11,1019051617,1023992222,999154803,1009135009);WS(1027136184,1037475189); +sum1=W(0,1032095571,-1116112165,-1115063802,1049018533)+W(1,-1119314641,-1107767341,-1100957374,1049686375)+W(2,1038845436,-1106083983,-1120251015,1047825580)+W(3,1042581547,1028374302,-1088748902,1046087792)+W(4,1034473457,-1104556803,1008293424,-1096656387)+W(5,1053200569,1044615055,-1099043646,1041068763)+W(6,-1125080965,1033692244,1024446429,-1090279185)+W(7,1029265287,1035958465,1046313162,-1105885187)+W(8,-1103807360,1052904956,1033985068,-1106489925)+W(9,-1104233593,-1122471385,1048125173,-1106111045)+W(10,-1106885357,1037737330,1032243376,-1122778646)+W(11,-1114896431,-1113201013,1045413959,-1123269230);sum2=W(0,-1109957285,1028061230,1045893852,-1110812851)+W(1,-1108048047,1027149256,1046942588,-1090820835)+W(2,1047577084,1048459161,-1114577527,-1106934834)+W(3,-1108558913,-1168618571,-1096957845,1058947879)+W(4,-1104353646,-1104794282,1035311457,1053631926)+W(5,-1097789717,1028951753,1041621301,-1139749789)+W(6,-1103268017,-1140171429,1058472778,-1086199154)+W(7,1047742834,-1105608688,1020819182,1024395745)+W(8,1010859305,1018177816,-1101676043,1051639728)+W(9,1017489970,1034074787,-1118924631,-1119421881)+W(10,1030918112,-1105627073,-1119040125,-1111153127)+W(11,-1134098557,1029986143,-1110045381,1035525353);WS(1059085676,-1120419895); +sum1=W(0,-1123531970,1010567522,-1140828475,1031892193)+W(1,-1126417758,1013434325,1015920803,1041225150)+W(2,1042370229,-1105839574,1021017477,-1117671948)+W(3,-1129458830,1048968044,-1081896608,1052692461)+W(4,-1106306215,1033141013,1003238718,-1107069702)+W(5,1061545382,-1113798029,1033163859,-1110196995)+W(6,1024388894,-1107554082,1057779808,-1080962214)+W(7,1051334024,998455538,1019022757,-1131681870)+W(8,1048429719,1023517883,974463598,-1104852314)+W(9,-1122285937,-1110859547,1046207852,-1107360247)+W(10,-1137698561,-1130795454,1029064795,1018058500)+W(11,1043188126,-1109838114,-1182091254,-1115208005);sum2=W(0,-1115293356,1051048471,-1116254969,-1108089569)+W(1,-1110389222,1032305896,-1104270657,1028093784)+W(2,1055158904,-1104160418,1040482382,-1109483288)+W(3,995357221,-1111420185,-1108447426,-1113016550)+W(4,-1105273681,1033267880,-1140125409,-1087783718)+W(5,1057721666,1060085251,-1106428297,-1106001572)+W(6,1041981586,1031459460,-1086769840,1041174723)+W(7,1046452617,-1115354420,1016190873,1035133120)+W(8,-1119040585,-1119561801,1045849559,-1127947625)+W(9,-1140513641,1028088400,-1121069799,-1114345654)+W(10,1044224673,-1119205024,-1115228320,1019234873)+W(11,1043934745,-1097229960,-1114369945,1033437588);WS(1063842732,1069263660); +sum1=W(0,-1134238373,-1122877239,1055968823,-1099884346)+W(1,-1101209335,1027783644,1031532473,-1122091454)+W(2,1052972391,-1097152888,-1119905385,1025876211)+W(3,-1118861678,-1114405937,1057777668,-1088480739)+W(4,1025124405,-1133551424,1031846503,-1102409375)+W(5,1062381841,-1081966868,-1166909210,-1124858713)+W(6,-1118980549,-1105793535,1065218890,-1086950263)+W(7,1045788186,-1146513705,1032122901,-1113900631)+W(8,1051224528,-1107218856,-1105943487,-1136389690)+W(9,-1119645672,-1129606328,1055096307,-1097976619)+W(10,1011470685,-1153551023,1033668289,-1133229476)+W(11,1043160456,-1106065147,-1107257190,1024085520);sum2=W(0,1008982555,1017497319,-1114050188,1044555710)+W(1,-1115112254,-1121509319,-1122047761,-1119731325)+W(2,1048705804,-1104624717,-1113283108,1042591944)+W(3,-1134583037,-1110768789,1082656561,1041907901)+W(4,1041138312,-1111081434,-1137222855,1050149080)+W(5,1079097716,-1088882238,1033378952,1018241317)+W(6,-1140752305,1041298195,-1069364548,1050137131)+W(7,1048604087,-1128224049,1029699842,-1094516021)+W(8,-1064571216,-1099205492,-1105508475,1008906239)+W(9,-1114302140,1037679865,-1105564781,-1109039739)+W(10,1026612451,-1118064246,1026101716,1029205125)+W(11,-1121859551,1040352044,-1131493091,1024193619);WS(-1129102704,1046511454); +sum1=W(0,-1120255189,1003871004,-1098175836,1060542285)+W(1,-1104614392,-1115237700,992833099,1029362986)+W(2,-1113473140,1049212165,-1118651222,1012659838)+W(3,-1134582632,988783847,-1095364566,1059935407)+W(4,-1098721330,1026034940,-1138794987,1011030567)+W(5,-1091886143,1049733902,-1109648580,-1116104473)+W(6,-1157138191,-1118838023,1040190185,-1115543549)+W(7,-1121023765,1036784617,-1129425099,-1111313565)+W(8,-1149570791,1041064643,-1105481630,-1112251695)+W(9,1016407976,-1115457860,1037653026,-1119854466)+W(10,1031662787,1023835049,-1133147960,-1106432157)+W(11,1038304902,1029519512,-1111089569,-1170197274);sum2=W(0,1039353726,1022956598,-1093991321,-1088722171)+W(1,1039854738,-1125147089,-1104263814,1036699032)+W(2,-1154678850,-1088770012,-1104468959,-1123571799)+W(3,1027240563,-1120983737,-1089878099,-1101846939)+W(4,-1096446657,1036003207,1028285409,-1106986979)+W(5,1067214284,1070132546,1029156699,-1117321918)+W(6,1032871415,-1095425364,1047639440,1045480826)+W(7,-1098508409,1027342659,-1151417050,-1136397826)+W(8,1051464555,-1099095249,1024325599,-1150420266)+W(9,1027668005,-1108376211,-1104038071,1043597107)+W(10,-1148394393,-1138411071,1023556565,-1098325150)+W(11,1061372327,-1086577064,1034968116,1031516803);WS(1056411607,-1109579684); +sum1=W(0,-1129654332,1040494825,1053570965,-1089114662)+W(1,-1099475130,1041782836,1027988397,1031736403)+W(2,1051564806,-1091392278,1018661052,1032323860)+W(3,1041758889,-1118623100,1061336939,-1087917688)+W(4,1034322317,1035039650,1027974595,-1104250813)+W(5,1057393436,-1081469355,-1094207710,1010041732)+W(6,1038643645,1023561152,1065029703,-1091410052)+W(7,1052271760,1041287822,1038422303,-1115303377)+W(8,1052932495,-1085011849,-1096091282,1020820966)+W(9,-1115801276,-1111435064,1051403778,-1108233957)+W(10,1036087894,1036272138,1047822542,1037517815)+W(11,1056446507,-1089621406,-1095410877,1043391417);sum2=W(0,-1114696922,1063327246,-1085101471,-1089121793)+W(1,1049274948,1041765085,1043151870,1054945342)+W(2,-1091433742,-1108711949,1036153834,-1114908726)+W(3,-1098855398,-1111180476,1044429796,-1096795753)+W(4,1047012469,1017938665,1045725515,-1078968963)+W(5,1071264665,1049748951,1043607695,-1113887753)+W(6,1041130784,-1075182266,1068966947,1041099170)+W(7,1008700501,1052357470,-1093166728,-1073598210)+W(8,1074573142,-1107925652,-1106854972,-1097732836)+W(9,1048010869,-1072729035,1072575447,-1087601324)+W(10,-1100708600,1035577978,-1097485062,-1069127579)+W(11,1082548410,1057234494,-1095686167,-1117196119);WS(-1075355670,-1094395357); +sum1=W(0,-1145694380,1013276974,1022872131,-1102394069)+W(1,-1132601278,1032373060,1031927794,1019602069)+W(2,1012968093,-1105184299,-1113047243,-1123577887)+W(3,-1126751284,1034056645,1064151904,-1089968245)+W(4,-1112578984,1012023536,-1107635165,1046251906)+W(5,1059501808,-1079531190,1045395638,-1121043161)+W(6,1035883256,-1107984424,1052823861,1040654683)+W(7,1035604635,-1136193989,-1117999477,-1101824103)+W(8,1052884390,-1097950850,-1102570614,-1124087697)+W(9,1025403748,-1117853800,1040309473,1021798787)+W(10,1016601958,1014648876,-1135056568,-1113050587)+W(11,1051481338,-1099617206,-1117559395,1015049529);sum2=W(0,1040559153,1024400373,-1112035522,-1102969122)+W(1,1035694118,1008704054,-1099966915,1050797480)+W(2,-1095559069,1048535090,-1109162397,1035803260)+W(3,1051040838,-1098907063,-1091507667,-1081423354)+W(4,1049424016,1032276403,-1122400566,-1088192853)+W(5,1063399780,1065515124,-1098794388,-1104133833)+W(6,-1103745056,-1132746540,1064106398,-1104928579)+W(7,-1097345189,1042270874,-1127876766,1040989775)+W(8,-1101527709,1047332946,-1105732065,-1109516912)+W(9,-1118336076,999475557,1025976147,-1171911780)+W(10,-1107661001,1033064723,-1122216569,1024449813)+W(11,-1118033876,1047796018,1036172042,-1106418589);WS(1045480366,-1089018411); +sum1=W(0,956510844,-1147321796,-1098659472,1046172476)+W(1,-1117032824,1012429717,998930446,-1119371847)+W(2,-1114996930,1016456206,1032232105,992745416)+W(3,-1129843310,1033743797,-1084286683,1060852743)+W(4,1034928007,-1120189081,-1113698796,1047477674)+W(5,-1080535200,1065762350,1036591131,-1130833259)+W(6,1001814128,993727556,-1100569285,1055209670)+W(7,1034876769,-1112309127,-1126854725,1019312750)+W(8,-1095107249,1054147605,-1103835661,-1162991986)+W(9,1033942209,991522899,-1106428344,1040201800)+W(10,-1110790848,1019870324,-1127622934,-1124727396)+W(11,-1102902186,1049320503,-1117790432,-1166423644);sum2=W(0,-1135134951,1034251754,-1112699779,1028246411)+W(1,1024730233,-1141862453,-1138029383,-1112450391)+W(2,1048844919,-1097747276,1036047504,-1116303285)+W(3,1039247354,1048129179,-1081251706,1030988939)+W(4,1032907358,1032058431,-1105815405,1013788103)+W(5,-1102377508,-1085286825,-1098604264,1026446373)+W(6,1043479193,-1107279344,1074756442,1066704374)+W(7,-1121203556,-1115422697,-1108579602,-1098532570)+W(8,-1079912447,1048531717,-1097926469,1017067577)+W(9,1036464698,-1125069222,1051417558,1025432715)+W(10,1037541288,-1110631868,-1114044136,-1106884027)+W(11,-1113485350,1037742006,-1114746618,1026757097);WS(-1129198960,-1098545020); +sum1=W(0,1016631370,-1103774667,-1097986678,1055978916)+W(1,998946812,-1113370572,-1109829274,1046260982)+W(2,-1103302894,1038066845,1013747092,1026014767)+W(3,1027654249,1041444949,-1085753764,1057520791)+W(4,1033950432,-1133701934,-1135763497,1029491033)+W(5,-1087937321,1064242364,-1108378356,-1124979408)+W(6,1022371969,1033440347,-1100503343,1043702710)+W(7,-1149232679,1034434352,-1109147378,1047095266)+W(8,-1092825640,-1106434743,1039795292,-1123636138)+W(9,-1124465415,-1135425502,-1114972810,1042256612)+W(10,-1134578155,-1133096682,1000105708,1031236725)+W(11,-1092048676,1048160666,1047273267,-1110866582);sum2=W(0,1008784866,-1101060946,1045200185,1046672822)+W(1,-1118279822,994298612,-1111810524,1041574978)+W(2,-1109901275,-1123470329,-1113194466,-1124039764)+W(3,-1123287968,-1113715041,-1111729623,1052382391)+W(4,-1105523541,1016737108,1035375858,1009783259)+W(5,-1099551228,1057574679,-1090683445,1025528776)+W(6,-1131156064,-1117592464,1028611861,1037781521)+W(7,-1089242363,1044936991,1014562100,1037249766)+W(8,-1126723736,-1088911756,1057541056,1038965019)+W(9,1013976797,-1112331585,1048583824,-1105025107)+W(10,1046019340,-1100984465,1025684805,-1116058888)+W(11,-1123970907,-1098796399,1058673062,-1111874598);WS(1055927127,1032414456); +sum1=W(0,1026777470,-1105922759,1039415013,-1114467391)+W(1,1040445212,-1109775801,-1114645447,1038629978)+W(2,-1109541160,1049649890,-1118657663,1029983880)+W(3,-1107741345,-1118870909,-1121580331,-1099187900)+W(4,1040802710,-1103039897,1034928754,1048976902)+W(5,1035267569,-1110167275,1050521172,1032803169)+W(6,-1106080726,1031310464,-1092363639,1044706191)+W(7,-1122260014,-1106266495,1036990351,-1116578243)+W(8,1052806443,-1098780639,1045812872,-1117906236)+W(9,-1132545269,-1121324945,-1105847083,1042096283)+W(10,-1112784326,1031828590,-1115024108,1028926430)+W(11,-1107491323,1026721601,1028974308,-1113700371);sum2=W(0,1046339838,-1095477634,1041080449,-1106007640)+W(1,1022253579,-1124447256,-1116647554,1046850624)+W(2,-1097525459,1046513622,-1109703351,1043170037)+W(3,1008329020,1046890022,-1087064144,1055899106)+W(4,1048733947,-1100004355,1019769686,-1090363791)+W(5,1051375999,-1097018549,1049672544,-1097807314)+W(6,-1108633040,1015468535,1042338708,-1122727333)+W(7,1051464963,-1129042543,1035617664,-1092874283)+W(8,1061754259,-1100515622,1025134369,-1112390214)+W(9,1033551944,-1110478242,-1118600243,1043707610)+W(10,-1099218588,1040819075,-1127469148,1032940188)+W(11,-1108757958,1042447169,-1108633308,-1120359161);WS(1063732396,1030954530); +sum1=W(0,1032126752,1036299263,1040042182,-1085959612)+W(1,1040218780,1017251428,976782235,-1151769923)+W(2,-1126287138,-1100277765,1040546448,-1135394341)+W(3,1026279044,1034233519,1024363996,-1112294345)+W(4,1044348191,-1164354746,-1118035684,1048463661)+W(5,-1092651532,-1099766629,1048686290,1013744650)+W(6,1028715099,1036782808,-1113174091,1035866674)+W(7,1009750781,-1137751148,-1121995199,1036166050)+W(8,-1102126950,1049742039,-1118854702,972654113)+W(9,1032435871,1020132772,-1118937966,-1116277291)+W(10,1040779899,-1123833085,-1124714096,1046021200)+W(11,-1096484767,1041160144,1026126509,1032085003);sum2=W(0,1023560328,-1114346246,1055635447,1080093571)+W(1,1053265582,-1109086292,1005726416,1027252420)+W(2,1058379047,1066361916,1041698127,1032891532)+W(3,-1116687692,-1128267680,-1093219742,-1079490865)+W(4,1044641580,-1142986448,-1115408842,-1102003721)+W(5,-1075825777,-1069273193,-1103412699,1040229437)+W(6,1041728877,1038357336,-1122468504,1048667285)+W(7,-1104322529,1008854368,-1105589301,1012806192)+W(8,1043596623,1040586029,-1123753164,-1116993440)+W(9,1038558105,1025579970,-1110943172,1032482622)+W(10,-1134749344,-1125346072,-1113100068,1032847335)+W(11,1037773232,-1123027612,1003892288,1027065900);WS(-1091386327,1040820769); +sum1=W(0,-1133727678,-1113530145,1024243708,1033777591)+W(1,1009482248,-1122301794,1015097725,-1145488419)+W(2,-1111308865,1043618337,-1113425624,1016257779)+W(3,-1138479056,1016526204,-1103657483,1057905859)+W(4,-1104459527,1026855702,-1114059050,1038143634)+W(5,-1091368514,1056300329,-1103801765,-1136938187)+W(6,1024901707,-1118547201,-1102986721,1019703993)+W(7,1043076580,-1118577003,-1122041679,1031893970)+W(8,-1104061090,1024793576,1039830345,-1111999542)+W(9,1013224377,-1120867010,1020963773,-1114932462)+W(10,1042855834,-1119434421,-1123564392,1007161468)+W(11,-1118947879,1024563890,-1129826522,1018984621);sum2=W(0,-1118014300,-1107425211,988341556,-1122432623)+W(1,1031639360,-1122715046,-1121259996,1034914627)+W(2,1058886039,1043257251,-1110426684,1030027284)+W(3,-1118480989,1057124947,1080471640,1049657622)+W(4,981320073,1022014335,-1120519112,1041680563)+W(5,-1067455811,-1080970083,-1105451271,1012008135)+W(6,1034237400,-1110358856,-1105716188,-1091987171)+W(7,1044181951,-1121988626,1031820662,-1114315301)+W(8,-1113532913,1051213388,-1110623014,1009779611)+W(9,-1116062192,1010762999,1033223294,-1109593637)+W(10,1038375349,-1113750985,1029964608,974005161)+W(11,-1106855886,1037720533,999181553,1028099986);WS(1067317974,-1128063738); +sum1=W(0,-1112292702,1047000343,-1088068429,1048838463)+W(1,-1121751190,1027999791,1030230219,1008892739)+W(2,-1130941083,-1108932456,1013016624,1017454988)+W(3,1023947008,1038318737,-1122235065,1034700890)+W(4,-1165199081,1031463650,1037678225,-1110797816)+W(5,1055157388,-1096039434,1039874719,1025959551)+W(6,1016840879,-1118959774,1048428783,-1113377160)+W(7,1031603132,1018062255,1032095758,-1114918032)+W(8,1052878187,-1088738347,1045859362,-1143147336)+W(9,1018620213,-1114992535,1036886165,-1100769370)+W(10,1028131502,1018649043,1023530868,1004226268)+W(11,1052393190,-1082056652,1050791676,-1115371169);sum2=W(0,1017164622,-1091622621,1072454217,1067262657)+W(1,-1098954881,1035940089,1004731920,1038964407)+W(2,-1113390241,-1112910469,1038887363,-1108193245)+W(3,1046790460,1049069382,-1080520963,1044434118)+W(4,1033204278,1032575148,-1106036842,1047078409)+W(5,-1071223185,-1073367678,-1106847320,-1127548642)+W(6,1036535757,-1107481011,1059476479,-1099641871)+W(7,967303234,1015223408,-1103678216,-1098544714)+W(8,1061994978,1029437169,1030771421,-1109007913)+W(9,1025471738,1040369699,1053016271,1051233508)+W(10,-1123160801,1042599225,-1122761780,-1107095641)+W(11,1054597152,1062276141,-1113404397,-1116480773);WS(-1095745367,-1102532016); +sum1=W(0,-1117700567,-1131139906,-1104729417,1031266390)+W(1,1034962037,-1123836106,-1125050061,-1115476726)+W(2,1049785973,1034862742,-1108925228,1021444802)+W(3,-1104292247,1044141479,-1096094522,1043929817)+W(4,-1121682994,-1112024639,1032821374,1043020835)+W(5,-1103984511,1025371182,1003529681,1036065165)+W(6,-1106685309,1033588284,-1135965844,1048857569)+W(7,-1108409524,-1114922921,1026094807,1027591436)+W(8,-1092452582,1049600882,1029191534,1028793076)+W(9,-1109617979,1031476842,1035377859,-1127826823)+W(10,-1105178749,1025559229,1025256272,-1109574827)+W(11,-1108767399,1045422790,-1147768356,1027631502);sum2=W(0,-1102917712,1050493331,-1104683957,1038417192)+W(1,1032679083,-1124032472,-1090566997,1058641835)+W(2,-1106617401,-1131983160,-1117134944,-1142618034)+W(3,-1083236080,1072277942,-1083529216,1026745412)+W(4,1030312114,1033461689,-1084121809,1066117726)+W(5,-1110147426,-1097349120,1045086676,-1107466492)+W(6,-1092542987,1055792221,1053260074,-1092834676)+W(7,-1115504874,1040055828,-1098664696,1016159325)+W(8,1047496584,1048447149,-1103742512,-1111688997)+W(9,-1115432352,-1123932559,1040670728,-1110071086)+W(10,1018575153,1025562022,-1109069600,-1107091755)+W(11,1041712051,1019306140,1023956348,995416610);WS(1064673964,1027541745); +sum1=W(0,1040862122,1042078126,1060076351,-1092017101)+W(1,1050924251,-1113513485,-1105951646,-1104573695)+W(2,1032906140,-1098380055,-1103234546,-1122608113)+W(3,-1159900529,-1104241265,1059885441,-1084208856)+W(4,1045405901,-1114509959,1047048323,-1111978190)+W(5,1064315273,-1089015252,1048739529,-1097330869)+W(6,-1123048515,-1096920009,1059865934,-1085419935)+W(7,1043557114,-1130206982,-1115789415,1032018046)+W(8,1050382000,-1095947620,1032498465,1009712656)+W(9,1032172675,1022298419,1053685923,-1104053605)+W(10,1042167691,1011282770,1028373376,-1099040790)+W(11,1058530774,-1087017843,1037400788,-1099616447);sum2=W(0,1039738446,-1137481092,1036746190,998253152)+W(1,1035100433,1029249908,-1096514001,1050849818)+W(2,-1109747727,-1102987618,-1144728624,-1103405950)+W(3,1067583917,1017170018,-1078331016,1044897487)+W(4,-1108804343,-1113657787,1083413745,1041988969)+W(5,-1066189939,-1088427847,1030429056,1049519441)+W(6,1067818743,-1115429835,-1077977055,-1125950758)+W(7,-1124211336,-1105416150,-1089267428,1054896719)+W(8,1050059376,-1108032139,1045807183,-1104699523)+W(9,1050540062,-1108022123,-1119460484,1038480975)+W(10,-1164441214,1036658641,-1102208699,1042362507)+W(11,-1140654200,-1098634922,-1138500556,-1135144148);WS(-1084384556,-1100810808); +sum1=W(0,1032390692,-1101205955,-1095424763,1056723089)+W(1,-1103994552,-1113631133,1033258828,-1114756638)+W(2,-1115332589,1044941511,-1103092466,1038921097)+W(3,1036208454,1034225747,-1089988048,1059213081)+W(4,1016698694,1041433148,-1153131217,-1123281148)+W(5,-1080799329,1058219330,-1102604175,1029458059)+W(6,1035878930,1052764669,-1086451675,1065718984)+W(7,1010056863,1046701849,-1113170436,-1110681734)+W(8,-1089641270,1051546784,-1105901266,-1114617106)+W(9,1034716867,-1132636906,-1111992667,1048907447)+W(10,-1104305197,1022756491,1008810370,1010363102)+W(11,-1089944572,1051751177,1025009925,1042675492);sum2=W(0,1003892755,-1106845972,-1130802613,1042856976)+W(1,-1090921483,1035865477,-1123544386,1040443741)+W(2,-1099129814,1046395618,-1117156960,-1128022157)+W(3,1040199158,1041556166,1034864555,1049252005)+W(4,-1101642940,1029291710,-1099919704,-1098641213)+W(5,1044973210,1051151809,-1094482604,1033022953)+W(6,1046124074,1043027552,1046986152,-1120255910)+W(7,1049495257,1028643166,-1114201767,-1102894487)+W(8,1040886200,-1098031952,-1113386876,1031856421)+W(9,-1137485313,1031291554,-1097152858,-1103612985)+W(10,-1132183417,-1106468948,1018916205,1029095170)+W(11,1035815457,1034278467,1026205590,1020718685);WS(-1097545175,-1081485407); +sum1=W(0,1036015463,1034150438,1057909318,-1085934785)+W(1,1035924004,1033963168,1036906638,-1107749409)+W(2,1041348600,-1091465804,-1120240750,-1115496908)+W(3,1033438601,1025404544,1058891216,-1088212159)+W(4,1040930578,1023737332,-1148467606,-1130068931)+W(5,1062920275,-1085185870,1044931644,1034996968)+W(6,-1116883369,-1110996648,1058446394,-1083820335)+W(7,-1110014855,-1109644005,1043481795,-1129433572)+W(8,1057530498,-1097522985,1046628778,1044774695)+W(9,-1107248831,-1112307200,1041812911,-1098817647)+W(10,-1112689630,-1109394217,1035852867,-1133343797)+W(11,1058924580,-1088845017,1031062731,991839047);sum2=W(0,-1085422352,-1096165509,1057773529,-1090487063)+W(1,1044955346,1048850208,-1073537081,-1097506962)+W(2,1050305732,1042351306,-1096519547,-1098077313)+W(3,-1090145600,1035648589,1070820271,1042246902)+W(4,1012707558,1040847724,-1103264022,1037776879)+W(5,1064009122,1057815879,1035447241,1039355809)+W(6,-1098060014,-1106454260,-1102687355,1056492080)+W(7,-1098251612,-1128314591,1039561049,-1132410675)+W(8,1037201191,-1132940238,1055262754,1034334977)+W(9,-1111561066,-1095706003,-1106323076,1047053654)+W(10,-1098685023,-1107078913,-1097648243,-1093619532)+W(11,1065891070,-1104795343,1017091667,1044351754);WS(-1079771574,1075069839); +sum1=W(0,1032166989,-1118529175,1055702741,-1092970539)+W(1,-1117950828,-1113551430,-1111167476,1021133405)+W(2,1048648437,-1092445782,1033539229,-1142239002)+W(3,-1123178206,-1093562003,1062276827,-1088433116)+W(4,-1104828877,-1110397888,1032734815,-1104246611)+W(5,1071187580,-1118830448,-1114529494,-1119974813)+W(6,1029165557,-1098100446,1061220800,-1097110780)+W(7,-1112849365,-1139975764,-1112820125,-1114628655)+W(8,1049405702,-1093425874,1023590922,-1111568211)+W(9,-1135576864,-1133453360,1042497282,-1109854691)+W(10,992807281,974859957,-1114861753,-1119446905)+W(11,1051379002,-1094782027,-1104282614,-1107804608);sum2=W(0,-1108373663,1058265898,-1105791278,-1097633487)+W(1,1040059628,1041333883,1008476139,-1092753943)+W(2,-1098184263,1036219103,-1096394805,-1106791026)+W(3,-1104454680,1052155727,-1106622092,1039768739)+W(4,1043022076,1034264586,1048684757,-1094584251)+W(5,1051207789,1059813061,-1089567461,1043988712)+W(6,-1093428939,1044002260,1040647411,1037804238)+W(7,1053976656,-1094438691,1053127551,1027921055)+W(8,-1092246791,1058749571,-1109099791,1046191998)+W(9,-1096653504,-1109762731,1028193495,-1091622541)+W(10,-1128546349,-1105323978,1052320010,-1093142139)+W(11,-1102532444,1056925595,-1105143398,1027895571);WS(-1080085654,1070612946); +sum1=W(0,1024243697,-1111019203,-1099863023,1051294614)+W(1,1018553499,1001929499,-1118763904,1017624971)+W(2,-1093242824,1049086721,-1110032568,-1129474933)+W(3,-1129448298,998267115,-1096657110,1054244159)+W(4,-1107816470,-1103030358,-1125372076,1049904509)+W(5,-1083526619,1063525996,1050014740,1034265690)+W(6,-1130529432,1044325341,-1084273056,1060516258)+W(7,-1120428313,1028809164,-1113325424,1036368923)+W(8,-1089131829,1052725165,1042939778,-1137068591)+W(9,1028582463,1022422215,-1100657096,1045179095)+W(10,-1105723916,995816851,-1115811081,1029887376)+W(11,-1095229037,1047234173,1034815359,1023513072);sum2=W(0,1027629060,-1114994936,1044032624,-1120685804)+W(1,1028515824,-1128032940,1025235210,1042086314)+W(2,-1110089750,1041443307,-1109301707,1028557604)+W(3,-1125103522,-1109536432,1027377576,1041551160)+W(4,1038947979,-1095260923,-1130467636,1043514454)+W(5,1040857173,1078385077,-1069674168,1041445431)+W(6,1000499297,-1116030212,1049094807,1071531230)+W(7,-1072009528,1044521776,1020465580,1034381305)+W(8,-1102199059,-1097624207,1042363648,-1111317304)+W(9,-1138182160,-1133867384,1040209410,1042950964)+W(10,-1100125727,1026231984,1014590712,1032991925)+W(11,-1107097337,-1110894461,1020171064,-1115643044);WS(-1094677847,1071331518); +sum1=W(0,-1108370254,1050522446,-1090412394,1059909490)+W(1,-1131659964,1045668787,1027561514,-1102155388)+W(2,-1096900614,1033926552,-1108396174,-1099365497)+W(3,-1098732332,1051883284,-1088235704,1060113893)+W(4,-1104366446,1036562753,-1118400576,1052444946)+W(5,-1081990504,1065971548,1016076284,1045429432)+W(6,-1098654343,1048632224,-1083209683,1057796766)+W(7,-1094058291,1027649399,1020701942,1036179296)+W(8,-1095695623,1055081266,1044926426,-1115499084)+W(9,-1114608461,1043748547,-1096819473,1048355474)+W(10,-1102235562,1020598162,-1102267173,1046936641)+W(11,-1088405429,1057781222,-1122894705,1041162909);sum2=W(0,-1102306900,1042298222,1021581591,-1097774924)+W(1,1051289508,1044651623,1039340517,1011988276)+W(2,-1091773202,-1083547573,1050176620,1060043835)+W(3,1036459319,-1104503945,-1086047943,-1076320925)+W(4,1066124397,1072230275,1032447827,-1099734245)+W(5,-1071833762,-1070847208,1069182349,1080482397)+W(6,-1099327251,1032726509,-1087097517,-1079468544)+W(7,1058492703,1067612874,1052797014,1032685073)+W(8,-1094401898,-1084551630,1061745990,1060905071)+W(9,-1122082449,1045894449,-1089730964,-1096261152)+W(10,1029975482,1035766217,-1098452307,1031495568)+W(11,-1094627244,-1097740674,1062784611,1036170953);WS(-1075403638,-1098484659); +sum1=W(0,1008218969,-1141902179,1045612697,-1098198307)+W(1,-1115216112,1014117412,1031048294,1016567255)+W(2,1051272109,-1097302541,1045061466,1032424528)+W(3,-1123131291,-1102849342,1045999461,-1089514713)+W(4,-1110301017,-1117285565,1045188911,1018204181)+W(5,1067242878,-1083074125,1055219615,1039741805)+W(6,-1123984690,-1097928441,1057827361,-1090995143)+W(7,1042127630,-1138318152,1016373997,-1102752375)+W(8,1039307800,-1089521325,1018247819,990571063)+W(9,1038284987,-1119205801,1052680217,-1111274305)+W(10,1043301703,1035406958,993498863,-1111653947)+W(11,1048974634,-1089001074,-1112012330,991913685);sum2=W(0,1032878555,-1136655860,1031615749,-1113247036)+W(1,-1102324444,1033821831,-1123900432,1023477569)+W(2,1032172309,1040892014,1041677780,-1122117887)+W(3,1029453781,993352402,-1101515073,-1093800370)+W(4,-1099560811,-1111754290,-1120535472,1007422372)+W(5,1063516373,1059067488,-1101931537,-1118366060)+W(6,1040510410,-1110556919,-1114866186,1049733424)+W(7,-1091691569,-1131546954,-1109544472,-1138628828)+W(8,-1101753271,-1112478460,-1137342172,1043560141)+W(9,1036988619,-1137184004,1046060209,-1128679382)+W(10,-1112686045,-1110783375,-1113659102,1035524869)+W(11,-1110546008,-1106958218,999359657,1026284797);WS(1018938736,1060529869); +sum1=W(0,-1114076530,1037607357,1045714156,-1166977277)+W(1,-1102825464,1003359422,1008598737,-1120766810)+W(2,1044442542,1024586298,985048227,1019680094)+W(3,1029696041,-1113865353,1057228923,-1084710912)+W(4,1048654858,-1122235660,-1118730378,1019917938)+W(5,1049628033,1048848151,-1109196652,1032134772)+W(6,1036159584,1041300082,-1081803320,1052825757)+W(7,-1101625253,1023446241,1012443924,-1119787914)+W(8,1042784239,-1110703311,1021290536,1025035938)+W(9,1034257674,-1102751430,1016494120,-1108049641)+W(10,1039349129,-1122160707,-1133449206,1018668169)+W(11,1031639516,-1111061268,1018121541,1028394476);sum2=W(0,-1146778654,1033337426,-1101837401,1023259685)+W(1,-1165315756,1017616818,1009999826,-1117028555)+W(2,-1107426057,-1113617305,1042598704,-1119841713)+W(3,1042445717,-1092512747,-1106280442,1063964069)+W(4,-1101414619,1033400884,1027431889,-1100415596)+W(5,1063146362,1058459732,-1136881638,-1110929163)+W(6,-1118789096,-1100913756,-1086144449,-1101061454)+W(7,-1099212326,1043348599,1034933139,1031653672)+W(8,-1121957589,-1139753565,1035181957,-1110261015)+W(9,-1102516465,1049736808,-1104136456,1034026738)+W(10,1031514566,-1119239229,1039233552,-1123203031)+W(11,-1123128270,-1143324392,-1103321885,1032933914);WS(1057790316,-1113005641); +sum1=W(0,-1123468520,1034968039,-1107161453,1035442035)+W(1,-1107573447,1040623159,1016842734,-1180462681)+W(2,-1109372445,-1126387193,-1110219956,1001956750)+W(3,1017823704,-1141354132,-1097660717,1045333479)+W(4,-1111689634,1034883047,1031334797,-1111663246)+W(5,1060769665,-1097006056,1016331253,-1121213099)+W(6,1029517379,-1096962432,1062816796,-1085875335)+W(7,1042106418,999707420,1032276500,-1102337515)+W(8,1057344992,-1087615930,1042154624,-1110655190)+W(9,1024531558,-1112383277,1050585827,-1099229077)+W(10,1021430571,1027213229,1032934320,-1115337892)+W(11,1048852876,-1104188731,1007994773,-1125102461);sum2=W(0,1027505374,1006384241,1038217397,-1102596332)+W(1,-1088198084,1054112069,-1119743709,1032385395)+W(2,-1124784904,1055108824,-1101781911,-1110486748)+W(3,1022357321,-1110226975,1036163691,-1095998103)+W(4,-1077861124,1063443275,-1129702556,1009992786)+W(5,1038388564,-1096068823,-1082211809,1060625206)+W(6,1025908250,-1117540770,-1107551412,1027585837)+W(7,1067639721,-1095993202,-1116658238,1015280579)+W(8,1043662427,1052401764,1063419774,-1084462256)+W(9,1007287620,1013929491,-1110875284,-1112465838)+W(10,1041946916,1040943353,-1132286080,-1123806249)+W(11,1032548500,1049275421,1054953848,-1088060635);WS(1057314092,1031126097); +sum1=W(0,-1113264897,1047286031,1051515170,-1091122512)+W(1,1035529026,-1125355113,1042921300,1038748523)+W(2,1044373061,-1119263830,1016709539,1029610636)+W(3,-1118216326,1040626286,1057172805,-1081529962)+W(4,1043973191,1029771624,1036778483,1048990343)+W(5,-1111196723,-1076778621,1049229393,-1112976162)+W(6,1035020911,1036098930,1053560288,-1085296972)+W(7,1046938632,1041831703,-1108928881,1042428894)+W(8,1053915059,-1112351005,-1123285785,-1103970660)+W(9,1036290288,1016422504,1044112316,-1100809115)+W(10,1035877806,1044125996,1012907241,1041504752)+W(11,1048512334,-1107245185,-1123727583,-1123672296);sum2=W(0,-1110279027,-1116888772,1033554595,-1108669327)+W(1,1015808739,1027314221,1044898087,-1115916604)+W(2,-1111117443,1045218355,-1106102431,-1116221606)+W(3,-1096945908,-1107202311,1035778723,-1103416606)+W(4,1041666953,1024714919,1039092196,1045884385)+W(5,-1113256321,1065794034,-1107247823,-1098987808)+W(6,-1113241071,-1103988696,-1115920774,-1090569433)+W(7,1049716916,1049758114,-1099008684,1049112986)+W(8,-1139004677,1055599565,-1106016659,-1091770239)+W(9,1044106833,-1123386226,-1112080343,-1099737884)+W(10,1031391070,1053158291,-1103116396,-1134049769)+W(11,-1114347803,1044073709,-1108799013,-1105054228);WS(-1078536214,1004530797); +sum1=W(0,1027375859,-1101920227,1025777344,1044389645)+W(1,-1110651587,1018050380,1017444741,1031432968)+W(2,-1103056081,1048716617,-1137653198,-1125959547)+W(3,-1120029560,-1106564803,-1107107772,1051154454)+W(4,-1107166356,1019570356,1000019140,1048371434)+W(5,-1082038651,1066595410,-1130046381,-1125449965)+W(6,-1114543207,-1118108517,-1087843395,1055824714)+W(7,-1105265945,1033235496,1013557197,1042631950)+W(8,-1090887738,1054676989,1030116559,-1126792065)+W(9,-1122136338,1018155212,-1103973545,1041035048)+W(10,1023828021,-1122035417,-1148145247,1016114854)+W(11,-1102912795,1016296812,1040191506,-1142050258);sum2=W(0,1027035378,1026113022,-1111907604,-1117578886)+W(1,-1140538653,1018825264,-1132701065,1034348094)+W(2,1044772326,987582920,-1136739637,1015195718)+W(3,-1114259972,1019537869,-1115459713,-1091701771)+W(4,-1106970806,1029368182,1024730711,-1139897757)+W(5,-1083470341,-1064559027,1035917626,-1129456736)+W(6,986229224,-1140805741,1024256637,1083026821)+W(7,1051507274,1025912688,1013886009,-1118691470)+W(8,1050967575,1062853848,1035548789,-1107265712)+W(9,-1129435432,1009541569,1013091981,-1097816209)+W(10,1030786995,1031335734,-1141056234,-1129312440)+W(11,1028089297,1036032976,-1102804079,-1115863996);WS(1053759831,1032374114); +sum1=W(0,972229904,-1121671930,1054724605,-1092393035)+W(1,1018308729,-1129466650,-1109228149,-1112583528)+W(2,-1112974870,-1101934908,1027590122,1029939172)+W(3,1034978575,1034149296,1061211455,-1092299422)+W(4,1034030567,-1113423424,1041049216,1029443406)+W(5,1048871720,-1093922438,-1111847647,1038901743)+W(6,-1120680758,1029497788,1059772533,-1094240300)+W(7,1041914031,-1106909549,1029299866,-1098177536)+W(8,1052523382,-1091878482,-1113968603,1040006220)+W(9,-1104501302,-1147362406,-1143596105,-1112394307)+W(10,1028043992,-1140269215,1034604409,-1129221556)+W(11,1050895314,-1097371836,-1126204095,998375305);sum2=W(0,-1150066816,-1150466984,1023864952,-1110066210)+W(1,1023825317,-1124858867,-1122485893,1032358015)+W(2,-1120268940,1042589181,1027888694,-1130877326)+W(3,-1114773240,1050624105,-1092046440,1028033997)+W(4,-1151325172,-1135440218,1024800634,1086980496)+W(5,-1062089081,-1086968029,1038366470,-1140173368)+W(6,996682648,1049846439,-1092228228,1024724796)+W(7,-1121152696,1022098295,-1123997738,-1116390866)+W(8,1022750294,1041929871,-1118357792,1017805328)+W(9,1019128023,1016213345,1015347232,-1114433107)+W(10,1031614438,-1119866592,-1127165963,-1127449775)+W(11,1000268865,-1139900476,-1136800730,1025894920);WS(1063005484,1009613411); +sum1=W(0,1023879031,-1099686359,1052137768,1046007565)+W(1,-1104853008,1005501772,-1116658758,-1121736524)+W(2,1047373394,-1096622041,1032552475,-1119708225)+W(3,1016433014,-1101192360,1060630207,-1088767007)+W(4,-1107092245,-1118541917,1020845368,-1114633573)+W(5,1066103327,-1084203279,1041296218,-1116191290)+W(6,1014732617,-1095872969,1062822060,-1090088910)+W(7,1027255591,1022596005,-1133265115,-1106126199)+W(8,1059882369,-1090037515,-1131360500,-1115075910)+W(9,-1123204757,-1114430117,1050777829,-1103091289)+W(10,-1122457924,1022253604,1010953149,-1135381594)+W(11,1058652475,-1092699671,-1108476770,-1114779071);sum2=W(0,1018912922,1027578843,1033809184,-1094114890)+W(1,-1100264522,-1107937173,-1115513506,-1122957333)+W(2,-1107632498,1001948858,1024979575,996744179)+W(3,1035927400,1036987406,-1102289594,1056054406)+W(4,-1110397259,-1110541201,-1104590179,-1100032664)+W(5,1055409420,1048553428,-1121465059,-1114033403)+W(6,1040736265,-1110179624,1055289786,1051787669)+W(7,-1147035242,1041331760,-1107721632,-1125426330)+W(8,-1112721987,-1094744691,1045301422,-1113161109)+W(9,1025188211,-1103038285,1036015348,1032878358)+W(10,-1131004626,-1108457170,-1112944230,1043904940)+W(11,-1110109848,-1118996080,-1124556646,1028913131);WS(-1088267692,1058858468); +sum1=W(0,-1112379634,1030761249,1050799110,-1099191401)+W(1,1033839199,-1111715307,1029162995,1004146884)+W(2,1045209037,-1095201623,981108966,1002675052)+W(3,-1140270752,-1122297718,1060358148,-1091143388)+W(4,1043211072,-1120236170,-1141342278,1040340278)+W(5,1057423488,-1083233902,1032118859,-1118812007)+W(6,-1155361775,1036240851,1058630580,-1098879351)+W(7,1032700466,1017441470,-1113272402,-1129581456)+W(8,1044230767,-1096101987,1030417559,-1148456452)+W(9,-1140210569,1042224566,-1104611845,-1122560784)+W(10,-1140846885,-1124250818,1015213304,994119730)+W(11,-1109863885,-1109785875,1009738084,-1131671893);sum2=W(0,-1113443438,1021821461,-1122246023,-1146734500)+W(1,-1128559783,-1125128801,1023812788,1044300514)+W(2,-1104002403,1024116650,-1115812447,-1134793082)+W(3,-1131593767,-1104994806,1038382254,1049088332)+W(4,-1105739887,-1131329759,-1112801638,1060658961)+W(5,-1099826888,-1089766136,1025686404,1034755166)+W(6,-1105757720,1044687616,1066144433,1042354562)+W(7,-1117250635,-1114066084,-1107427633,-1087213560)+W(8,1057721748,-1129092349,1035306954,1031417186)+W(9,-1107137147,-1093064102,-1097329958,1044181933)+W(10,-1106719387,-1117543346,1049954034,-1093773442)+W(11,1039897892,-1105235988,1040800736,-1128306605);WS(1042978478,1051058289); +sum1=W(0,-1105382966,1032357083,-1099095273,1056839899)+W(1,-1122236410,1024938700,1035278676,1023966158)+W(2,-1110890773,1050844654,1019140850,-1122653091)+W(3,-1102112151,-1113794846,-1087097191,1060126757)+W(4,-1107056589,-1122892351,-1102711504,1052488610)+W(5,-1081382120,1063120271,-1150461374,-1119829084)+W(6,-1113404858,1046698475,-1086454106,1060142827)+W(7,-1103751812,1007453138,-1111458068,1025992701)+W(8,-1097860134,1054395618,-1120625160,-1106500335)+W(9,1038103836,1042579843,-1105233954,1048420817)+W(10,1025690583,1032216339,-1101215220,1026938905)+W(11,-1091436978,1056719627,-1112415123,1010325087);sum2=W(0,986675002,-1098687074,995475005,-1115454695)+W(1,-1110655697,1018060844,-1112567440,1041166801)+W(2,-1097111455,-1132868679,-1114152579,-1101427932)+W(3,1033516168,-1099338776,1062728692,-1120015952)+W(4,1023628514,1045275251,-1097585273,1019263552)+W(5,1066654492,1054175336,-1097107880,-1098419362)+W(6,1031672616,-1108963639,1034345380,1038275134)+W(7,-1118909665,1049612882,1029453516,-1104454378)+W(8,-1124466258,-1096244103,1049130538,-1100742770)+W(9,-1106591291,-1109440188,-1092068145,1039104546)+W(10,-1093717692,1000911598,981423732,1024870634)+W(11,1048117247,-1119846616,1042494451,-1140045927);WS(-1097071959,1072623846); +sum1=W(0,1026094363,1010541764,-1087379998,1028105114)+W(1,1046169702,-1135291959,-1114366565,1023927408)+W(2,-1100421531,1051865478,-1105971271,-1125008010)+W(3,1026372640,1034504814,-1091057687,1057630379)+W(4,1041980470,1012391943,-1127140609,1038480008)+W(5,-1086095524,1064048287,-1104375598,1011497593)+W(6,1020533357,1046400295,-1083615449,1061319210)+W(7,-1113258549,-1126436590,-1164090721,1040252248)+W(8,-1089701071,1056141130,-1149976804,1008261592)+W(9,-1143600974,1040642843,-1093225865,1049626241)+W(10,-1120849689,-1126913777,993477434,1032065949)+W(11,-1090227881,1047950199,1048635489,1026040178);sum2=W(0,1012042818,1045767812,-1063490706,-1101778611)+W(1,-1112785819,1012780879,1021360395,-1098807230)+W(2,-1081789373,-1114664520,1033999610,1021391529)+W(3,-1107209227,1044720012,1074390906,1049922132)+W(4,-1110057121,-1130294258,1027378250,1042281858)+W(5,1079115935,-1094869567,1045861970,1031106226)+W(6,-1105921842,1016599978,1058048856,-1118592797)+W(7,1034050759,-1122317121,1041772128,-1127223374)+W(8,-1108782236,-1121088549,-1129798306,1025125464)+W(9,-1127367716,-1115783877,-1128008216,-1137516645)+W(10,1033434514,-1149825053,-1127019644,1027816090)+W(11,1032186898,-1111496361,-1136389257,1031888403);WS(-1103312814,-1092017335); +sum1=W(0,-1127703091,-1101144796,1054306333,-1126801713)+W(1,1023075088,989243788,1018146514,-1115460311)+W(2,1039997174,1026063214,1027296474,-1122138660)+W(3,-1121799134,-1106383343,1024945271,-1131110905)+W(4,-1132250026,1032388672,1017072510,-1133230391)+W(5,-1088288960,1059941407,-1113425894,982272924)+W(6,-1131539818,1034901054,-1088630417,1061737047)+W(7,-1097522374,1021266411,-1112727125,1027622014)+W(8,-1096972398,1057455253,-1097018828,-1135487483)+W(9,1017229265,1018005017,-1101045202,1048616129)+W(10,-1112216732,-1117699788,-1109754009,1034197373)+W(11,-1098488314,1051714580,-1142469689,995701513);sum2=W(0,1015133861,-1105189044,-1093732269,-1094162786)+W(1,-1109540616,1030009493,1037113072,-1115931822)+W(2,-1102686481,-1113599737,1040400825,-1114813207)+W(3,-1114822552,-1098364789,1041653115,1041635421)+W(4,-1118060506,1027616765,1028491873,-1113527921)+W(5,1065997875,1064813540,-1123044799,-1116517245)+W(6,-1105557810,1024139573,-1130473293,1037786550)+W(7,-1105450383,1021543889,1038591890,-1112247318)+W(8,-1098512761,1036196676,-1106060901,1005718790)+W(9,-1105949948,1007564387,-1125828389,-1114108758)+W(10,-1118151575,-1122858549,1032708826,-1120342494)+W(11,-1125733097,-1132225813,1010062515,1029912177);WS(1054094679,1053313313); +sum1=W(0,-1133457438,-1123263126,1046955525,-1124016519)+W(1,1039131745,-1120644986,-1120986711,-1130558777)+W(2,1034791245,1044418743,-1102726978,1007447622)+W(3,1034987238,-1097984725,1059693200,-1102062065)+W(4,-1136653836,-1119688622,1028444909,-1096198619)+W(5,1056744813,-1098120268,-1097784815,-1150742701)+W(6,1035642130,1007426149,-1111414009,-1111514230)+W(7,-1121981368,1028941155,1018062863,1002886242)+W(8,1030506913,-1104691680,1038384226,-1124505481)+W(9,1034710931,-1123562906,-1113706235,1011520719)+W(10,-1114621003,1028268649,-1149170946,1018181775)+W(11,1033357311,-1107703301,1012043028,1016894461);sum2=W(0,988916677,1035831303,-1110571087,1034464782)+W(1,-1106828560,-1178538002,-1137939637,-1140903881)+W(2,1038296707,-1090860425,1044389789,1041756630)+W(3,-1123566910,-1103092742,-1107155945,1056968489)+W(4,-1079651989,1029915845,1028209713,-1131746560)+W(5,-1117714466,1064742714,1050942503,-1106236653)+W(6,-1123858844,-1101579019,1038803820,1040557782)+W(7,1043224862,-1110415601,1036944358,1038814302)+W(8,-1103151768,-1120375726,-1130430804,1019097405)+W(9,-1119538750,-1130948272,1032643961,-1111036663)+W(10,1041889175,-1132733633,-1142606817,1038676356)+W(11,-1111989951,-1122089622,1014857001,-1140337549);WS(1060301740,-1107262085); +sum1=W(0,980901136,1034782831,-1105836176,1036556474)+W(1,-1123655719,-1123449511,1027361860,1047173818)+W(2,-1090641081,1050207945,-1104237805,1032390687)+W(3,-1140723427,1039236098,-1089836727,1053103024)+W(4,-1097134658,1023266998,1026764890,-1167399456)+W(5,1057068694,1041462691,-1168491986,-1128069487)+W(6,1040866884,-1096504911,1061579759,-1084387656)+W(7,1041789973,-1111341496,1025665684,-1107799148)+W(8,1058017849,-1086651203,1041962562,-1121577073)+W(9,1033047081,-1104388354,1050545524,-1099258584)+W(10,1042093191,-1128080260,-1120424813,1042507977)+W(11,1043225643,-1106352190,-1107448273,-1118302731);sum2=W(0,-1120672932,1046006360,-1112452525,-1103760793)+W(1,-1135937657,1037670355,1020434122,-1097339905)+W(2,1059308780,1054394959,1038148088,-1114765629)+W(3,1029602171,-1114812458,1040180724,1058139034)+W(4,-1103543044,-1120562291,986372169,-1107596062)+W(5,-1073685765,-1075031098,-1098429000,-1131755817)+W(6,1039121856,1036462865,1068230783,1055263295)+W(7,1051067274,1034635900,-1113202257,1042494496)+W(8,1060720662,1065727212,-1106499347,1010504894)+W(9,-1139183469,-1097212089,-1116372590,-1106882983)+W(10,-1127997619,-1127537321,1010867474,-1111658779)+W(11,-1096232759,-1102585430,998537328,-1141626877);WS(-1096709719,-1109932402); +sum1=W(0,1015250582,-1143431239,1041217222,1009444904)+W(1,-1127867147,-1115442975,-1109965037,1015070528)+W(2,1044707911,-1099789672,1028928427,1033219242)+W(3,1037158888,-1094706154,1032459556,1049449359)+W(4,1015515213,-1119289842,-1115453048,1051852512)+W(5,-1103734188,-1091866852,1049692098,-1140261177)+W(6,1032345875,-1107272167,-1116721265,1042112892)+W(7,-1094357813,1041543818,-1113173429,1039101648)+W(8,-1100636937,1051337808,1036490203,-1107580668)+W(9,1033146133,-1112986991,980311674,1011811037)+W(10,-1118660177,1027230184,-1109546082,1034073405)+W(11,1017051268,1035868647,1019523665,-1121586498);sum2=W(0,-1129366500,-1111869912,-1114572049,1047691494)+W(1,1024096486,-1112777200,1029756683,1029022998)+W(2,1041454921,1051011830,-1094989992,1033382685)+W(3,-1113040482,1046043365,1063827282,-1075590857)+W(4,-1094007689,1046068934,1041050942,1028636589)+W(5,-1088878874,1052419847,1049374228,1022134325)+W(6,1019865458,-1100561355,-1120053198,1053136256)+W(7,1051405216,-1104418826,-1130192114,-1118786886)+W(8,1037601458,-1142379802,-1105102628,1039472389)+W(9,1021094310,-1136660469,-1121128994,-1115896886)+W(10,1030093181,-1173694926,1011878989,-1113939693)+W(11,1024511741,1033422229,1038213156,-1122209396);WS(1065853238,1014077745); +sum1=W(0,-1141216588,-1117433015,-1094201799,1050233869)+W(1,1044254087,-1138617969,1026623353,-1129058045)+W(2,-1096460535,1049952264,1008011942,1022594791)+W(3,-1128763228,1039902504,-1083943142,1051933059)+W(4,1048823509,-1141149825,1020370461,1043759351)+W(5,-1077503527,1055071872,1025148605,1032777398)+W(6,1026101893,1050608829,-1089716396,1055823041)+W(7,1040921250,-1117303781,-1118113002,1042454284)+W(8,-1098731144,1057515106,-1120507502,1030831063)+W(9,1032019108,1027449020,-1095714819,1050055875)+W(10,-1149099066,-1131034510,-1113706417,965645460)+W(11,-1094767340,1054942629,1040832262,1023411184);sum2=W(0,1024492456,-1107369605,-1114418679,-1102696165)+W(1,-1133142225,-1122518916,-1126703609,1040389587)+W(2,1038677226,-1115181151,-1114014523,1026327736)+W(3,1029353704,-1109233879,1043636997,-1104069114)+W(4,-1122395696,1035228514,1036516578,-1095300447)+W(5,1063429366,1063594124,-1091978649,1023044321)+W(6,1032071462,-1104963978,-1101740776,-1098164193)+W(7,1053626887,-1116601496,-1107363712,-1106122650)+W(8,-1097459892,1040620147,-1097146692,-1130578705)+W(9,1044306067,-1143085570,1035238854,-1106357294)+W(10,1040976159,1026795860,-1105180142,1043865859)+W(11,-1116890590,-1127904241,-1120794976,-1127926993);WS(-1088917996,1063906509); +sum1=W(0,-1110920777,1044506738,1047786311,-1095080042)+W(1,-1134941681,1033765698,1042151912,-1103723194)+W(2,1032125650,-1113114611,1025189266,-1104090263)+W(3,-1101936374,1033303784,1061302810,-1088574755)+W(4,-1115794445,1041151454,1005195703,1049511025)+W(5,1034065915,-1080208865,1048946939,-1113407178)+W(6,1032265367,-1113286290,1048810800,1049193686)+W(7,-1126346531,-1109067703,-1103459368,1043019742)+W(8,1054491533,-1121283466,-1103486336,1044875416)+W(9,1041691572,-1128222025,-1112859072,1024774526)+W(10,1015955599,-1121559327,-1129700693,-1114181825)+W(11,1049358361,-1147499681,-1097425800,1029016425);sum2=W(0,-1103461552,-1127991186,-1120190757,-1108916090)+W(1,1012492564,1029245469,1050674327,-1116051994)+W(2,-1113530372,-1124692174,1042343963,-1115385529)+W(3,-1104590141,-1131508502,1055990720,-1121470095)+W(4,1032226081,1026603353,1015549042,1050173609)+W(5,1072931527,1046026095,1048814953,1024686773)+W(6,1036919049,-1105608002,-1095048932,1050729023)+W(7,-1098673970,-1108452621,-1098769683,1039941075)+W(8,-1078020039,-1084802111,-1101605152,1046452703)+W(9,1046313441,-1101603735,-1101033642,1047911325)+W(10,-1113534935,-1112756717,-1112862464,1031505597)+W(11,1010804308,1034713295,1017021378,-1119772659);WS(-1128039792,1065254279); +sum1=W(0,949814928,-1114341117,-1094482850,1052398616)+W(1,1027872723,-1155305313,1027171091,1031806764)+W(2,-1095186291,1051880795,-1139824782,1022544667)+W(3,-1129242384,1033646238,-1085842430,1058904806)+W(4,1010706555,-1121892394,1031101353,1018879791)+W(5,-1092086861,1068407459,-1098849364,1040052675)+W(6,-1120975327,1042055949,-1084252337,1055432619)+W(7,-1121195299,-1127339326,1003634843,1033681236)+W(8,-1089087466,1036562814,1023772639,993927654)+W(9,-1144006416,1023909046,-1099056317,1039311896)+W(10,-1126801378,-1123991661,-1123053628,1027677731)+W(11,-1095496311,1050962337,1038931216,1005742098);sum2=W(0,-1120833032,-1124763415,-1118777010,1030229073)+W(1,1028911958,-1123843510,1034915193,-1113475142)+W(2,1010824003,-1105412742,-1133618203,1030755234)+W(3,-1115307960,1025322201,1064953874,1042572184)+W(4,1022077590,-1135426163,967112657,1059271888)+W(5,1082807588,-1098383492,1048790378,-1113939962)+W(6,1023925021,-1102912552,-1080316189,1054443836)+W(7,-1103923621,1038571089,-1107476032,-1118552210)+W(8,-1064631277,-1098098835,1029953956,-1109596012)+W(9,1033449936,-1103660545,-1110193476,-1121091158)+W(10,-1106218101,1035405992,-1132191993,1033898849)+W(11,1039205719,1028111985,1036034024,-1126376787);WS(-1100484014,-1082813103); +sum1=W(0,-1123138350,1037916588,-1092840871,1048819422)+W(1,1042234192,-1212876940,-1124738939,-1123209507)+W(2,-1095165544,1053647432,-1117914254,1018206961)+W(3,991988525,1049386547,-1086369653,1054472273)+W(4,1039202605,-1120915541,-1115403050,1038702225)+W(5,-1082690349,1063735148,-1121098737,1024686130)+W(6,1032429349,1052139678,-1080932794,1057734851)+W(7,-1124146173,1015928020,-1113715255,-1114440425)+W(8,-1104541586,1057909982,-1120991811,-1138122766)+W(9,1024280877,1033284897,-1091044852,1048946363)+W(10,-1116174764,1018911880,1024090791,-1105213156)+W(11,-1098590565,1057027323,-1140316975,1023234987);sum2=W(0,1017320792,-1151813795,-1114719136,-1127138406)+W(1,1024237362,1038691322,-1115193567,-1117132961)+W(2,-1104426322,1035777956,-1122656452,-1114810881)+W(3,1033153774,1023133248,-1094043595,1044557822)+W(4,1043828952,-1134215421,-1109723345,-1096979800)+W(5,-1067432541,-1081748159,-1105451925,1025666138)+W(6,1038092476,1051436512,-1094705611,-1094662263)+W(7,-1118217110,1023161212,-1111785287,-1136600857)+W(8,1084038773,1059186895,-1118750811,-1141123106)+W(9,-1119671739,1043953938,1051561136,1023890070)+W(10,1026839182,1009024009,-1109901657,1038440342)+W(11,-1097692319,1021470996,-1114305884,-1122422926);WS(-1090600151,1059961608); +sum1=W(0,1026132748,1003856660,-1086859502,1051724689)+W(1,1051693682,1032934656,-1119499740,1023957057)+W(2,-1105095800,1035359281,1030063117,-1123043606)+W(3,1009974340,1043713207,-1089372619,1059175635)+W(4,1040699442,1034542394,-1113885561,977342510)+W(5,-1080432315,1059908410,-1106762114,1018557983)+W(6,1031101992,1051525550,-1084623068,1060487798)+W(7,-1114853678,1019132432,-1111559238,1025363409)+W(8,-1086083942,1059822844,-1116041416,1031213982)+W(9,1038517558,1031878320,-1090836983,1051599439)+W(10,-1130086580,-1150140386,-1109274083,-1114083846)+W(11,-1097114792,1057278953,1040974422,-1138998830);sum2=W(0,992923986,-1099561897,-1105536701,1079165891)+W(1,-1067147152,-1122782084,-1162949315,-1123994385)+W(2,-1114799541,1071631223,-1073660425,-1122543983)+W(3,1026898877,-1116860796,1049791100,1068780303)+W(4,-1081838471,-1095462698,-1114052913,1033030662)+W(5,1035377948,1075632919,-1083671230,-1097530520)+W(6,-1129262506,1024241717,-1088177074,-1093777203)+W(7,1057542893,-1107750254,1033577774,1027801571)+W(8,1049717575,-1083766160,1057183721,1032284006)+W(9,-1129225578,1041458479,1043978030,1029517847)+W(10,-1103299573,1025982179,1036380420,1050404867)+W(11,-1091169113,-1083354335,1061807320,1016984746);WS(-1077101366,1062204989); +sum1=W(0,1030791972,1034919675,-1119759728,-1099266697)+W(1,1044609922,-1131275309,1033145401,-1109323772)+W(2,1033209467,1032826652,-1108657922,-1142019948)+W(3,1041963978,-1109601924,1053457281,-1084468746)+W(4,1049423472,1005679697,974201395,-1098302775)+W(5,1054965265,-1116769210,1034832195,-1125973710)+W(6,-1122207423,1049858413,-1085314770,1055247733)+W(7,-1104833109,1038354000,987140211,-1163737350)+W(8,-1111164798,1051122507,-1113738245,1030630601)+W(9,1038549201,-1104961646,-1103072597,1043488164)+W(10,-1121147841,-1132893044,-1110991006,1022472166)+W(11,-1115893275,1036206931,-1131086146,1033991117);sum2=W(0,-1128313262,1013333880,1041733323,1023499747)+W(1,-1111312052,1026149469,-1111995834,1035550861)+W(2,1024909109,-1107108555,1015145454,-1188980193)+W(3,-1111474816,1047569009,1049082846,1042800306)+W(4,1017141780,-1123639612,-1108547758,1036006103)+W(5,-1093864056,-1137016284,1013541080,-1132476264)+W(6,-1123519406,-1104835579,1049905793,1032249988)+W(7,1034012446,987971164,-1107039325,-1119199538)+W(8,1005924363,-1146750815,-1119513572,-1118671040)+W(9,-1122872424,-1113807123,-1107099901,1024429363)+W(10,1036805530,-1119021692,1034342977,-1111926114)+W(11,-1117079308,1029021112,1021769214,1010774610);WS(1062330988,-1108933484); +sum1=W(0,-1130422235,-1127744279,-1103583502,-1112967222)+W(1,1030687296,1027221408,1014897395,1022571909)+W(2,-1095189640,1057599524,1033146447,-1115561596)+W(3,1027643186,-1103670303,-1097916197,1050533350)+W(4,1045948242,1024802772,-1143835797,-1110385841)+W(5,-1083565633,1066390108,-1104991248,1027456689)+W(6,1008148004,1042533684,-1085814590,1059916677)+W(7,-1098839314,-1125614226,-1128962907,-1104774725)+W(8,-1117452294,1050496965,-1114792086,1027191883)+W(9,1015454424,-1116892960,-1099231943,1049304867)+W(10,-1127702342,-1115468561,-1140840472,-1113171223)+W(11,-1103031657,1049771574,1032045679,1026854932);sum2=W(0,1032895988,1032830726,-1115406541,-1088204952)+W(1,-1092446016,1031989945,-1117467777,-1111744013)+W(2,1060942494,1054289941,-1123665301,-1104702594)+W(3,1028545567,1005059811,1047355779,1071613570)+W(4,1060958044,1046230999,-1111764526,984631841)+W(5,-1080183554,-1077634808,1046926373,-1100189171)+W(6,1041090350,1049595248,-1134532596,-1093147012)+W(7,-1113920155,1034621337,-1115412116,-1107906030)+W(8,1035977506,1042083474,-1097187857,-1132922134)+W(9,-1125773241,-1128022386,1020817981,1037668146)+W(10,-1142970826,-1117116166,1023304410,1041765137)+W(11,998580490,1032116542,-1125184917,1022449461);WS(-1109331804,1042368707); +sum1=W(0,-1127022377,1017844485,1059385318,-1100795701)+W(1,-1111987554,1016900750,1024616740,-1131144083)+W(2,1050963589,-1097056965,1029893237,1023074109)+W(3,-1123466393,-1107976561,1060165431,-1085607547)+W(4,1029216560,-1112887422,-1123208698,-1113085828)+W(5,1059271336,-1083778221,1039937652,998408382)+W(6,-1123129456,-1114039899,1060839292,-1087428756)+W(7,1032072458,-1132276000,1019270569,-1111910285)+W(8,1056907678,-1094957746,-1114977786,1030127674)+W(9,981412042,-1118232839,1049849056,-1097540376)+W(10,1024925794,1027413302,-1140654132,1022571624)+W(11,1053487153,-1103251894,-1099334072,1016237783);sum2=W(0,1032849952,1026055449,-1062565523,-1095655110)+W(1,-1117249787,1033345650,-1124884727,-1115329827)+W(2,-1069645041,1045607629,-1117682124,-1126204236)+W(3,-1113876395,1027815845,1071954840,1038549538)+W(4,1041120073,-1111681252,-1129227720,1037903820)+W(5,1082661778,-1099195860,1049745271,1027383795)+W(6,-1120368220,1033732250,1074466947,1038448988)+W(7,-1117133911,1003632367,1017198470,-1135699996)+W(8,1029601901,-1098438651,1028175479,-1122462785)+W(9,-1139825528,999495607,1010255452,-1108984513)+W(10,1021673198,1028818665,-1146042855,-1129930944)+W(11,1032971494,1036170224,-1119888169,1008778484);WS(-1115348316,1054745777); +sum1=W(0,-1137232980,1036166838,1049991788,-1091675395)+W(1,1017816583,1029575560,1010567825,1015838740)+W(2,1049110157,-1096298109,1034100235,1027659359)+W(3,1027515738,-1156212270,1058008076,-1087264777)+W(4,1034455816,1022248439,-1129778165,-1111605669)+W(5,1064241460,-1084812083,1015442096,1022178737)+W(6,1031078129,-1105267814,1060214194,-1090012802)+W(7,1038960299,1027280241,-1163675813,-1129353779)+W(8,1054590870,-1089909917,1024747424,1032358751)+W(9,1021335208,-1109102196,1041116785,-1099321920)+W(10,-1128935590,-1140454872,1015357019,1044530957)+W(11,1051902330,-1087098097,1001621141,1023518060);sum2=W(0,-1165172934,1029679520,-1126280148,-1133513625)+W(1,1007295249,-1112190701,1024206556,1020162972)+W(2,-1122180110,1032751166,-1123729058,1031911051)+W(3,-1116697030,1034059275,997668227,1058808820)+W(4,-1106696521,-1130859572,1027518769,1040171419)+W(5,-1097026624,1078058683,1051253388,-1110596693)+W(6,-1114129087,1027996817,1034726751,1074823993)+W(7,-1129919188,1030310076,1038375004,-1110434123)+W(8,1040744343,-1082346775,-1130957332,1020514684)+W(9,-1112102389,1034335827,-1102815825,-1066028315)+W(10,-1106067749,-1120038362,1033334280,-1129105068)+W(11,-1107441727,-1081349721,1046963831,-1140190249);WS(-1106429870,-1094013011); +sum1=W(0,-1180060253,1032914805,1051659804,-1083977393)+W(1,1044666432,-1143253052,1010730896,-1122572746)+W(2,1041447962,-1096070845,1042077981,-1112889935)+W(3,1021824818,1007289698,1049003466,-1090427610)+W(4,1040702780,1019043703,-1126648308,1032028260)+W(5,1055000463,-1110426966,1039434940,-1121648024)+W(6,-1129917792,1028442598,1028832887,-1154202266)+W(7,-1143541158,-1121855216,-1130361130,1044381070)+W(8,-1108621431,1047276227,-1126798128,1025638626)+W(9,-1120274467,997655159,-1127588999,-1106909952)+W(10,1034262401,-1112957869,-1140710069,1048974915)+W(11,-1092428073,1037115308,-1116914978,1027653084);sum2=W(0,-1113021585,1044056205,-1096040530,-1099894114)+W(1,-1101136816,-1129192316,1027309129,1042644451)+W(2,-1098848264,-1100852865,1051352325,-1127314210)+W(3,1040557912,-1130917417,-1086782093,1055980834)+W(4,-1094431966,1001033976,-1105312463,-1097839840)+W(5,1066533545,1060955207,-1105883820,1028457481)+W(6,1045635393,-1093830389,1047866369,1049480207)+W(7,-1100511063,-1109915970,-1102513438,-1101732547)+W(8,1049511378,-1136131482,-1095199310,1041484506)+W(9,1027399099,-1116545436,1054444603,-1099150452)+W(10,1057783348,-1111537389,-1114789238,1035602021)+W(11,1045074348,-1089010378,-1105061215,1038428609);WS(1043891118,1068855714); +sum1=W(0,1034864935,-1116934668,-1092449819,1054927906)+W(1,1034556804,-1137767170,-1115119790,-1132968331)+W(2,-1094480060,1036212657,-1105343195,-1110944332)+W(3,1021640868,1038582262,-1087769325,1059302628)+W(4,1039390277,1007166673,-1116826163,1007221512)+W(5,-1085866861,1065404307,-1118670257,1000130184)+W(6,-1131811026,1042862352,-1087019235,1060871017)+W(7,-1097654326,-1149095244,1023733166,1036137865)+W(8,-1090795981,1058788692,-1110180471,1038210141)+W(9,-1143217636,-1140157826,-1096174840,1054585007)+W(10,-1103987387,-1123846591,-1132040205,-1132089051)+W(11,-1088777568,1058320673,1039274926,1033742658);sum2=W(0,-1109312558,1043524956,-1128190925,-1098627702)+W(1,1046310591,-1109532722,1016877071,1022447527)+W(2,-1112207078,-1106898612,1038513036,1007593597)+W(3,-1119267190,1041115214,-1098728904,-1125515089)+W(4,1034661588,-1120394532,1012463989,-1113751024)+W(5,-1096567460,1069702771,-1085518745,-1104054586)+W(6,-1126846961,1044302697,-1103900959,1067943590)+W(7,-1080776989,-1120974914,-1130793473,1017381631)+W(8,1042180588,1068665203,-1076263106,1042247803)+W(9,1028514185,-1118188819,-1098746809,1066385707)+W(10,-1082060374,1009589981,987754923,1030898373)+W(11,1045698067,1053793920,-1093259035,-1114854661);WS(-1087649964,1019782291); +sum1=W(0,-1120416323,1030168161,1040415828,-1105270513)+W(1,1024428446,-1138699736,-1143853715,-1112895868)+W(2,1040272853,1031966316,-1115504066,-1138905653)+W(3,997344379,1041161399,-1108639376,-1088122706)+W(4,1050439898,986611002,-1117444008,-1109107148)+W(5,1066099001,-1107599501,-1101667648,-1107645603)+W(6,1021907901,1047711365,1016783474,-1089416651)+W(7,1046888529,998160367,-1121005123,-1121138472)+W(8,1034911086,-1111272734,1033038819,-1138080961)+W(9,1024251314,1000308143,1025062450,-1107120316)+W(10,-1142414472,1016114481,-1131127160,1016698342)+W(11,1039033917,-1102333873,1024070769,-1128756052);sum2=W(0,-1107127477,1040784536,-1117663793,-1112675945)+W(1,1039537683,1025325994,1033768126,-1100939724)+W(2,1017594321,1057262150,-1092150404,1019337948)+W(3,1023416069,-1105075327,-1107862291,-1072566694)+W(4,1066290117,-1099590626,-1125558334,1031863699)+W(5,-1098589794,1078638992,-1077578123,1051733383)+W(6,1043030557,-1103416126,1051532765,-1086195181)+W(7,1053259006,-1119314417,-1118774605,-1104742149)+W(8,1047503953,-1109470897,1050584179,-1100419866)+W(9,-1151915405,1042707477,-1106456825,1041105499)+W(10,-1103867215,1038050610,1000627574,-1121719211)+W(11,1014542959,-1106760943,1033290657,1002291590);WS(1061891500,1029739432); +sum1=W(0,-1120639769,-1106216192,-1113834067,1044238166)+W(1,-1114217922,-1131739160,-1135804195,1006283635)+W(2,-1103570763,991333090,-1139025510,-1118882723)+W(3,-1111424495,-1105829118,-1096510251,1059958553)+W(4,-1105864021,-1144807936,1029738303,-1090566706)+W(5,1051808376,1070740438,-1094764771,1034612526)+W(6,-1117498485,-1116262763,-1092264601,1055146526)+W(7,-1102695282,-1134494805,-1118615961,1034396863)+W(8,-1100309453,1034609097,-1115698885,1017541191)+W(9,-1125527056,1019261400,-1103214946,1035571491)+W(10,-1137185181,-1114134173,-1118385394,-1120846617)+W(11,-1103884676,1043753671,-1118241703,1003240643);sum2=W(0,-1121600381,1026550907,1038640235,-1118247849)+W(1,-1129506938,-1121040584,1006302792,-1138054916)+W(2,-1115693397,1032667651,-1150824496,1022873234)+W(3,-1119262688,1026195583,1049140618,-1131891756)+W(4,1032667233,-1116879102,1002488024,-1109251816)+W(5,-1070322023,1075955836,1037796079,-1123674716)+W(6,1029037035,989985520,1050244555,-1093462820)+W(7,1041966968,1023067742,1026568605,-1119850715)+W(8,-1111337441,1039467523,-1119306593,-1115823182)+W(9,-1136033516,1023268674,1034795019,-1123631905)+W(10,1011205316,1030765775,1023468893,-1113487368)+W(11,1032357843,-1111383976,-1140765060,-1117038411);WS(-1084563692,-1094583093); +sum1=W(0,1022703229,1012279186,1016172182,-1118740542)+W(1,1030161881,-1118949361,-1162852794,-1124105959)+W(2,1043937588,1029178707,-1113029519,1029291849)+W(3,-1132568844,1040618577,-1096721723,1047241030)+W(4,-1110742685,1002005802,1021772616,-1104495965)+W(5,975997096,1058138797,-1095587800,1026228226)+W(6,1024085850,-1108936808,-1105257082,-1098942649)+W(7,1044167852,-1121437018,996545514,-1134036365)+W(8,-1119752408,1033384955,1030217107,-1128298663)+W(9,1026223997,-1117471057,1035927703,-1119041259)+W(10,1033396614,-1127843472,-1146052282,-1121618798)+W(11,1030206390,-1135741956,-1114495566,1024441958);sum2=W(0,1025430445,-1154040649,-1116838887,1050769250)+W(1,-1101164186,1025324860,1022296570,1041313314)+W(2,-1089338077,-1110563158,1049390351,-1110459458)+W(3,1036981025,-1095051054,-1080092115,1047738904)+W(4,-1105225557,-1123670947,-1113204042,1045521896)+W(5,1068042633,-1105725339,1058198082,-1102419914)+W(6,1015494893,-1140159290,-1123762249,1046459196)+W(7,-1097909404,1036400862,-1113488118,1036274902)+W(8,1036460009,-1099991734,1042800199,-1121611661)+W(9,-1127432409,1033705522,-1115504399,1035671600)+W(10,-1112380024,1029427990,-1122316989,1014652738)+W(11,1034428960,-1109634740,1019626217,-1122111247);WS(1070570422,-1118483066); +sum1=W(0,1018165832,-1110069429,-1099959964,1060331110)+W(1,-1162935118,-1139421786,-1132852684,1031499417)+W(2,-1099020957,1050128623,1032275410,1009522871)+W(3,-1139725729,1040072889,-1084885570,1059366093)+W(4,1019497086,-1140197674,-1109730565,1042906054)+W(5,-1081528768,1062372980,996066926,-1117746023)+W(6,1028156415,1042919301,-1083523477,1058454089)+W(7,-1118811556,-1128372287,-1118139972,-1168228894)+W(8,-1091258848,1058887102,-1112630512,1014662756)+W(9,1024357779,1039947243,-1095225642,1048717802)+W(10,-1117991970,-1119179525,-1122455036,-1103975241)+W(11,-1094692227,1057283318,998336395,1028666043);sum2=W(0,1041833519,-1105638218,-1090712556,-1068172350)+W(1,1053466473,1031038629,-1108615966,1028972955)+W(2,1051586707,-1062545743,-1089644697,-1109024185)+W(3,-1125372171,1029956673,1040982790,1058445980)+W(4,1044082250,-1115541422,-1161988394,1048735800)+W(5,-1113315600,1081890452,1021891615,-1110157560)+W(6,-1113215633,1034458457,1025381303,1078990875)+W(7,1047100697,1034093689,1034531971,1025753183)+W(8,-1116357686,1057946443,-1138523317,-1121128958)+W(9,-1118383435,1036634769,-1096961046,-1129266047)+W(10,-1118643722,-1164400298,1028261725,1000882603)+W(11,1047278155,1020805991,1003167691,1023430939);WS(-1086946092,1067745931); +sum1=W(0,-1129718754,1043160110,1057051220,-1086793423)+W(1,1029510552,1019782728,1029399808,-1107060738)+W(2,1052187432,-1093519641,1041235060,1028876859)+W(3,1034551451,1035261538,1056679450,-1086890615)+W(4,1027399596,-1121687640,1031195606,-1095383669)+W(5,1065908691,-1082115172,1028581668,-1151056709)+W(6,1040134022,-1133919947,1053194351,-1091092163)+W(7,1039541441,985161115,1033121193,-1122710934)+W(8,1055695833,-1087806651,1022886169,1032179179)+W(9,1023151712,-1107305618,1050664148,-1106762967)+W(10,1035840335,-1137650955,1042343314,1042006276)+W(11,1051480109,-1086763775,-1123269599,1023858088);sum2=W(0,-1092038506,1049598436,1043882093,1042320103)+W(1,-1131832297,-1121740952,-1100127293,1048639033)+W(2,1037661877,-1103044471,1002123811,1029198842)+W(3,-1076970891,1064718435,1059313512,1034035103)+W(4,-1103733932,-1115216799,-1074419095,1072396257)+W(5,1057486689,-1104719409,1041582287,1010136401)+W(6,-1072137471,1071503744,1051417643,-1111075093)+W(7,-1115120295,-1128000009,-1071882845,1074270589)+W(8,1058040444,1044428409,-1139439905,1024386386)+W(9,-1075499422,1071966648,1034550731,-1105998171)+W(10,1008560441,-1120184167,-1077760287,1067893220)+W(11,-1109701446,1040427981,-1112073274,1030441594);WS(-1081254198,-1103496580); +sum1=W(0,-1115414444,-1146587219,-1093427101,1048836291)+W(1,1038644661,1040942563,1041339642,-1098606506)+W(2,-1097683981,1057498447,-1144521152,-1102869832)+W(3,-1098407452,1050459360,-1091994231,1058816906)+W(4,-1117884339,1036627839,-1130637434,1042214179)+W(5,-1078168847,1061921355,1040740783,-1165859686)+W(6,1020760807,-1117423418,-1095228700,1063391143)+W(7,-1099277734,-1107645994,-1101995566,1034598934)+W(8,-1092752622,1049596874,-1125383814,1047950513)+W(9,1047565230,-1122745995,-1097351785,1055225025)+W(10,-1125503451,-1104517417,-1100079212,1024450296)+W(11,-1094816186,1057483350,-1112883619,1038686359);sum2=W(0,-1101463653,1057761413,-1092703936,-1109493923)+W(1,1041760680,1014720459,1049429767,1067192921)+W(2,-1078098525,-1139460835,1028945771,-1117756514)+W(3,-1128244554,1075421514,-1071536845,1039603395)+W(4,-1114414573,1016362862,-1113723320,1075836777)+W(5,-1077415283,-1087182285,1045554670,-1118637934)+W(6,-1100253783,-1088665878,1059548308,1034610843)+W(7,-1106673179,-1125369728,-1100739127,1016894214)+W(8,1051692516,-1117875445,1032645955,1027339291)+W(9,1041910404,-1116933337,-1101242161,1013931579)+W(10,-1122014712,1013909643,-1105778187,-1111337535)+W(11,1048285068,1038460759,-1113595007,-1124961818);WS(-1089093868,1047195432); +sum1=W(0,-1139038025,-1108646892,1042227448,-1116853265)+W(1,1032512066,1015754506,-1146634508,-1102493258)+W(2,1050027260,-1113152371,1037772585,-1111624526)+W(3,-1107247574,-1102675263,1055627170,-1102292967)+W(4,1040310103,-1122052409,-1111039036,1027299238)+W(5,-1094097439,1059178599,-1120135685,-1123630421)+W(6,-1111569431,1043334313,-1086063146,1064850945)+W(7,-1097054397,1035574535,-1131070116,1035038251)+W(8,-1091453053,1055758905,-1107670363,-1126001639)+W(9,-1123633457,-1130835530,-1104540112,1047069456)+W(10,-1109953256,1015067608,-1125658710,1006218639)+W(11,-1100496626,1028822677,1033685440,906381938);sum2=W(0,-1103632983,1051248459,1050224986,-1112111441)+W(1,-1114055425,-1111599379,1043805370,-1102825598)+W(2,-1106748849,-1107415409,-1113209339,1037386114)+W(3,-1100282419,-1110573499,-1142028319,1047715488)+W(4,-1106125891,-1107474855,1043204826,1027245233)+W(5,1068200484,1064575785,1034756297,1042201726)+W(6,-1107284068,-1115422824,-1110893073,-1116519441)+W(7,-1121811913,-1115818225,1032596944,-1088944566)+W(8,-1082511144,-1166081973,1036646608,1036836551)+W(9,-1115324019,-1119815045,-1101546175,1033478296)+W(10,-1139772871,-1107371535,1038389706,-1103855212)+W(11,-1099926119,-1112155627,1042197713,1026011708);WS(-1121781432,-1075996235); +sum1=W(0,-1139185884,-1104344139,1055178280,1023675446)+W(1,-1115352921,-1116105386,1017932812,-1106763371)+W(2,1050633065,-1102467779,-1113788396,-1134059780)+W(3,1031934942,-1097501556,1061458986,-1098857564)+W(4,987917899,-1113912527,986151814,-1122902443)+W(5,1056941803,-1087567683,1038547421,-1136836585)+W(6,-1164665422,-1153685131,1057254916,-1091469811)+W(7,-1108760371,1007170123,1000199096,-1127990679)+W(8,1045616484,-1104204108,1011665321,-1128021832)+W(9,1007298263,1001735501,1030315686,-1129857478)+W(10,-1121847517,-1154396360,-1140438078,-1113474827)+W(11,1046908556,-1103515070,-1118109260,-1121041198);sum2=W(0,-1168649543,-1097479461,1049098480,1042706476)+W(1,1041988609,-1106980555,-1129109975,-1104465921)+W(2,1049155382,-1102354715,-1112820525,-1122042062)+W(3,1016893178,-1103938775,1057022497,1043506300)+W(4,1047765539,-1105649317,-1132018102,-1118749694)+W(5,-1098731951,-1097087336,1046909100,1031531696)+W(6,-1117453381,-1115486085,-1119719509,1057524747)+W(7,-1100642605,-1114531186,1023462612,976518647)+W(8,-1106384437,1036026738,-1121071990,1040948740)+W(9,-1106957470,1025546665,-1098317799,1045328977)+W(10,-1106523641,-1113359258,-1115823387,1034975399)+W(11,-1105263623,1035074429,1003192501,1033488186);WS(1058868844,1053114578); +sum1=W(0,1019520880,1047026923,1040716289,-1095841007)+W(1,1020793813,1026453035,-1122446279,-1120049453)+W(2,1048040834,-1093651986,1039005404,-1117418946)+W(3,1037061470,994701546,1059285152,-1089525095)+W(4,1046415125,1019785277,1025396381,-1104790763)+W(5,1063349990,-1081113852,1040363303,-1114838686)+W(6,1029402067,-1104820950,1062179110,-1086213616)+W(7,1045703966,1030676884,1031841884,1021084025)+W(8,1056787146,-1087503095,1041196477,1024749253)+W(9,-1120186199,-1105237507,1046529242,-1091401861)+W(10,999605293,1004229292,1033549944,1009185118)+W(11,1057448647,-1088312360,1036113571,1022861598);sum2=W(0,1050427341,-1089070569,1053219089,1067490860)+W(1,-1080930470,1058659628,-1106859908,-1111523090)+W(2,1052246278,-1093125710,-1078811541,1066232343)+W(3,1035861035,1043538575,1059060280,-1078649576)+W(4,-1074777053,1073277874,-1112488680,-1097196972)+W(5,-1088179143,-1087268097,-1075643449,1065823003)+W(6,1032409135,1036654054,1017346040,1059384755)+W(7,-1124572738,1062269032,-1122621450,-1133854060)+W(8,1043005089,1062938540,1049929252,1043425453)+W(9,-1104767713,-1130574088,-1092034159,-1093321870)+W(10,-1112625720,-1092663388,1046587865,-1093068011)+W(11,1052143300,1059539225,1059287102,-1098215774);WS(-1074642550,1059001037); +sum1=W(0,1033877849,-1105864948,1040506928,-1096349630)+W(1,1046552293,-1110243859,-1114814273,-1133959838)+W(2,-1108476642,1023714759,-1108357401,-1127057913)+W(3,1017602926,-1106724665,-1098100854,1055335876)+W(4,1032280783,-1147216585,-1122785432,1042832010)+W(5,-1084427489,1065396984,-1132282059,1033899323)+W(6,-1119942606,1046400581,-1083890617,1062559324)+W(7,-1113686945,1032718711,-1121541554,1036804396)+W(8,-1088670813,1061684023,-1104721044,1025273824)+W(9,1004629641,1032924291,-1090515058,1051195620)+W(10,-1110306392,-1122497752,-1103073299,1039804561)+W(11,-1095458045,1054342111,1031943308,-1121848889);sum2=W(0,1024273115,1021686194,1043888107,-1108335658)+W(1,-1077891718,-1110849641,-1131612410,1025348247)+W(2,-1101286924,-1122239076,-1091711743,-1111108183)+W(3,-1107407950,-1105777061,1048538591,1046097166)+W(4,-1097181377,1033944270,1041256788,1042238427)+W(5,-1090332406,1036931728,1065426853,-1111979954)+W(6,-1117121277,-1126779625,1053208564,1040874893)+W(7,1063431633,1039617071,1031505312,-1118046720)+W(8,1043322093,1040745205,1040529954,-1105370761)+W(9,-1110072407,-1118330488,-1135252559,1050743072)+W(10,-1097546746,-1122096807,1016793154,1027338756)+W(11,-1116082242,-1096125238,1050690616,-1122718137);WS(-1088674604,-1128666815); +sum1=W(0,-1123914807,-1112902532,1031043843,1051063687)+W(1,-1094561666,1018478931,1016031116,-1154837176)+W(2,1033184452,-1131397783,1025159063,-1134237698)+W(3,1014718188,-1114821559,1015481863,1027540319)+W(4,-1102063788,1024172061,1024027612,-1098901213)+W(5,1054517603,-1102428675,-1104802482,-1126359028)+W(6,-1145356432,-1103324234,1051928805,-1094753613)+W(7,1021380397,-1133861065,1024193015,-1099251759)+W(8,1059978813,-1100081596,-1111732847,-1114031158)+W(9,-1124389866,-1119376425,1047372601,-1110958225)+W(10,-1154253637,1028470484,1032770888,-1101826270)+W(11,1062901239,-1101878062,-1113334654,-1114369951);sum2=W(0,-1125911137,-1108931889,1017628143,1050970701)+W(1,1035307535,-1132880011,1012595671,-1114639139)+W(2,1032292317,-1128469007,-1112594616,1026392505)+W(3,999266341,1007405169,-1114156858,-1110785518)+W(4,1028698628,-1126668834,1044288444,-1110292957)+W(5,-1067836662,-1074929312,-1112320536,1035975658)+W(6,-1101165077,1050109344,-1072172899,-1105301985)+W(7,1032862316,-1115294669,1041147790,1041510968)+W(8,1037860217,1044362436,-1133865234,-1122721591)+W(9,-1113177198,1029583838,1074693740,1048694785)+W(10,-1121233078,1027549527,1025832748,1046353900)+W(11,1081403750,1057358913,1015908463,-1114367420);WS(-1092184279,-1114774309); +sum1=W(0,-1112548452,1035183681,-1114927434,1044352162)+W(1,979364527,-1115173597,-1120800919,1038305887)+W(2,-1101125062,1039166894,-1131609361,-1182492945)+W(3,-1114639366,1043708422,-1087724142,1063427286)+W(4,-1093459700,1021495134,1008341430,1037535198)+W(5,-1103312811,1034792975,1048665209,-1113251558)+W(6,1009522319,-1098020135,1062809460,-1088121787)+W(7,1043037714,-1113757330,-1120506536,1029108045)+W(8,-1118967585,-1115071968,1023205859,-1113409875)+W(9,1034801619,-1128765878,1002077113,-1114196826)+W(10,1033949151,-1123554950,1022706306,-1106461058)+W(11,1043448960,-1129024277,-1126884683,-1115469664);sum2=W(0,-1130731300,-1113218164,1024876637,-1112264614)+W(1,-1099018413,1026854381,-1146462793,1028824397)+W(2,-1129593633,-1113338336,-1111675537,-1102804304)+W(3,-1114036842,1013989596,1044891209,1058622224)+W(4,-1088855347,-1102462733,1017173194,1034818358)+W(5,-1101530532,-1105838439,1059579881,-1108694945)+W(6,1027612469,-1104368005,1049606516,1050794194)+W(7,1042736448,-1114432119,-1121343755,1040334859)+W(8,-1097048862,-1102338893,1043492825,1019755962)+W(9,1027895615,-1123082454,1042764886,1040822444)+W(10,-1121501222,-1122392540,-1154268081,-1123775916)+W(11,-1113704648,-1122592353,1034905054,-1119817837);WS(1061153836,-1122742154); +sum1=W(0,1027853554,-1109089440,-1102650256,1051082942)+W(1,1027843188,-1131011401,-1115291137,1043116226)+W(2,-1115210274,1047414994,-1112215273,-1119605372)+W(3,-1171221910,-1138258466,-1112757431,1055597733)+W(4,1034632359,-1126942769,-1112977164,1050791197)+W(5,-1077890273,1055540065,1042514461,-1126698730)+W(6,-1121554637,1034471002,-1082648980,1061271560)+W(7,-1131618020,998349933,1022714404,1041098678)+W(8,-1093251577,1053866013,1046515591,1025132479)+W(9,-1157881362,-1134239506,-1097764996,1044732088)+W(10,1036747322,-1120958927,-1123187178,1034237593)+W(11,-1092621429,1032996986,1043087924,984532249);sum2=W(0,1031101174,-1102026314,1042272104,-1126868316)+W(1,1028240358,1023923290,-1132731961,1038074007)+W(2,-1090146581,1042331882,1036936531,-1128194324)+W(3,1022986308,-1092900468,1028046198,1039425711)+W(4,-1122656394,-1114483483,1017601076,1030590838)+W(5,1054179894,1068886648,1039233571,-1108833787)+W(6,-1126674740,1001758673,-1096188072,1049555295)+W(7,-1086618714,1026905222,1022398052,1001713969)+W(8,1035923987,-1096410864,-1090080092,1029729918)+W(9,1013813081,-1140283033,-1106500726,1036573795)+W(10,-1110072380,1035325123,1010235161,-1138091097)+W(11,1036670019,-1105222854,-1134061337,1035525391);WS(-1098883799,1037141561); +sum1=W(0,-1114839991,1039141586,-1110021469,1020247259)+W(1,1030453625,1040211480,1029657918,1034970850)+W(2,-1090767256,1029681923,-1119339247,-1126798193)+W(3,-1116594483,1048999812,-1089859629,1058872566)+W(4,-1104869706,1041448405,1034543274,1026227619)+W(5,1007604554,-1100094273,-1106749124,-1123771570)+W(6,1026816074,-1103366664,1063309440,-1090400131)+W(7,1040832320,1006844457,-1140770618,-1115755155)+W(8,1050338841,-1090199858,1023759014,-1131945671)+W(9,1035386535,-1109617409,1049028980,-1104209655)+W(10,1040157646,-1115455274,1007197468,-1117505278)+W(11,1050252341,-1101914812,1034144506,-1106217213);sum2=W(0,1003211606,-1120528483,-1156174412,-1122088448)+W(1,1034591096,1008615371,-1137674963,-1120827669)+W(2,-1165578649,1021421814,1046263423,-1109822394)+W(3,-1151639180,-1113012012,1045965141,-1108742643)+W(4,1043768035,-1107512724,-1126381316,-1125167698)+W(5,-1143882022,1025314463,1048434617,-1102660599)+W(6,-1125497686,-1133545211,-1157195276,1048741047)+W(7,-1100558843,-1103528899,-1120928387,1042115577)+W(8,-1139515595,1042307479,-1111490489,-1116374767)+W(9,1024650751,-1111755343,1024020315,1028526161)+W(10,-1106766859,1031989982,-1121709003,1034768106)+W(11,-1128894336,1033940928,-1105393784,-1146160726);WS(1056068055,1054753321); +sum1=W(0,-1151415881,1039080395,1057552055,-1089028090)+W(1,-1115248008,1035025164,-1148496799,-1110003853)+W(2,1043835198,1042243518,1050869997,1014222010)+W(3,1010657956,1010453293,1059020393,-1089501818)+W(4,1038857744,1019596694,1024019466,1036235820)+W(5,1056043521,-1077848098,1040563886,-1121658024)+W(6,-1130137728,1020552269,1059247988,-1085601017)+W(7,1031869090,-1123056704,1008503186,1036573197)+W(8,1054798584,-1088101382,1014726271,1035081577)+W(9,-1132133255,-1115513116,1050516586,-1102383812)+W(10,1037313809,-1137744617,1035499631,1040242409)+W(11,1047345767,-1092379525,-1116861746,1008326318);sum2=W(0,1028355794,-1096807405,1040605863,1067941768)+W(1,-1077104108,1052817152,-1106782132,1053669968)+W(2,-1138391825,-1075220438,-1095467240,-1103015841)+W(3,1035193429,-1113415499,1054131819,-1088459045)+W(4,-1094157882,1049259157,1019490884,1045145961)+W(5,-1117197986,1059082808,1063065831,-1103440804)+W(6,-1103311494,1033457423,1014178849,1050105229)+W(7,1061761756,-1095094287,1051099266,-1105194567)+W(8,1043284247,-1121773074,1042603721,-1122898552)+W(9,-1107701072,-1111393110,1045435457,-1120483817)+W(10,-1116379229,-1109769641,1017055868,995616995)+W(11,-1110630971,1023829774,1044996767,1018464332);WS(-1081368566,-1084412265); +sum1=W(0,1027068306,-1116002144,1048181720,-1097381330)+W(1,-1110979184,1021378954,1015688387,-1139602460)+W(2,1048418201,-1109028275,1018111780,1036715310)+W(3,1033201483,-1116483849,1059204754,-1086309497)+W(4,-1126061147,-1118145977,1018141039,-1108067395)+W(5,1059054739,-1080843359,1023153354,1024269909)+W(6,1032237687,-1114781410,1060863016,1035809139)+W(7,1043786804,1014428471,1022250212,-1101031910)+W(8,1054995541,-1090938969,-1102361409,1015803518)+W(9,1019999841,-1110135922,1048891912,-1097995920)+W(10,1017536656,1027639288,1019305877,-1115253585)+W(11,1054003721,-1098655035,-1110370680,1026153225);sum2=W(0,-1105480981,1050460434,-1098849709,1048076097)+W(1,1035320005,-1105501338,1035973965,-1096496755)+W(2,1051612828,-1090117310,1047120319,-1108725217)+W(3,1037165381,1049140757,-1090898849,1053634690)+W(4,1021130333,1039969785,-1106311589,1006710678)+W(5,1040931379,1066845841,-1083953982,1046728781)+W(6,1052000177,-1091756558,1058463605,-1077185739)+W(7,1057459457,1038345201,-1104974154,1044207757)+W(8,-1090778289,1058534342,-1091684787,-1141278071)+W(9,-1120302417,1032159893,1039812947,-1102438650)+W(10,1041032826,1040363142,1040627526,-1100748342)+W(11,1045155050,-1096398368,1045504944,-1109297232);WS(1040286894,1035975353); +sum1=W(0,-1171293815,1034319831,1059664710,-1091927835)+W(1,-1116625676,1013574450,1023182418,-1127987806)+W(2,1048633701,-1097464070,1029070026,1012611215)+W(3,996039142,-1102399280,1062256902,-1087363556)+W(4,1016696459,-1115123712,-1137235964,-1105596260)+W(5,1059153168,-1086480503,1000027879,1006568169)+W(6,-1135192533,-1103790599,1061115073,-1089057879)+W(7,1028964506,-1134032598,1025821242,-1108335719)+W(8,1056014846,-1099300213,-1108586113,1032814547)+W(9,-1128818097,-1114500598,1050028641,-1097571161)+W(10,1032749254,1020632239,1020463141,-1129600787)+W(11,1052737098,-1112421262,-1096430155,1016193698);sum2=W(0,-1115556642,1037372428,1085969060,1051814466)+W(1,1011471282,-1114698318,-1130243023,1030557532)+W(2,1077581449,1043810263,1030366783,1034280644)+W(3,1032034792,1049080310,-1074326256,-1103611514)+W(4,-1109496698,-1140286158,-1126476135,-1112452010)+W(5,-1064530882,-1081646826,-1129814679,1022645135)+W(6,1032996496,-1108874582,-1074476109,1033029539)+W(7,1035377868,-1126128243,-1138592966,-1125709403)+W(8,-1104386166,993676602,1007963430,1013431542)+W(9,-1121911846,-1147299853,1029772508,1034388196)+W(10,1005762565,-1114714998,1029413614,-1125845903)+W(11,-1109306490,1000946837,1024214725,1024966722);WS(-1128144240,-1105727419); +sum1=W(0,1008177348,1038442911,1034971295,1037111480)+W(1,-1119737674,1019898055,1008158465,1030921926)+W(2,-1108323937,1020025483,1015575522,1036155997)+W(3,1025380533,-1116236765,1041262911,1039711206)+W(4,-1096558626,1023258159,1041196118,-1091904121)+W(5,-1116818069,-1090328900,-1106145913,1038413850)+W(6,-1123971020,-1110541401,-1118195565,1053066642)+W(7,-1107602136,-1123851725,1038005880,-1155490648)+W(8,1050488689,-1108534613,1033678004,1027658998)+W(9,-1110790464,-1118346788,1005836543,1032777199)+W(10,1034582855,-1118860082,1022532691,-1132141153)+W(11,1035288564,1043217853,-1110557919,-1161170171);sum2=W(0,-1128930637,-1132037027,1018701611,-1110976033)+W(1,-1129623857,1029665439,1013105493,-1110061572)+W(2,1028677045,-1113315034,-1136221161,-1120215489)+W(3,1027020519,1023565141,-1097696705,-1136487341)+W(4,1045236380,1025952555,-1111106512,-1118411413)+W(5,1051172043,1064921249,-1100340880,-1120959951)+W(6,1033707008,-1104848450,1036460110,-1097426277)+W(7,1026225447,1006240491,-1108465338,1001195043)+W(8,-1134254189,1028959819,1033145987,-1118442072)+W(9,-1130609759,-1113096913,1035127174,-1113952185)+W(10,-1105387359,-1137489821,-1112986298,-1123693871)+W(11,1021784635,-1139702593,1025786651,-1119362634);WS(1066786198,1018352061); +sum1=W(0,1037807432,1042991174,1056116676,-1089303485)+W(1,-1115182496,1044944769,-1147124480,-1118935590)+W(2,1053008404,-1093203077,1032850856,1019595829)+W(3,1032919115,-1102401423,1058826232,-1091158043)+W(4,-1118679276,1030098999,1043153405,-1111703874)+W(5,1052869895,-1077398372,-1112497438,990101824)+W(6,1024885356,-1105747115,1063596395,-1088790919)+W(7,1041854800,1037575334,1040525108,-1109427003)+W(8,1052412861,-1096537905,-1158252416,1022825908)+W(9,1034093744,1036876386,1055303296,-1092801624)+W(10,1029739551,1042956152,1041644314,-1113217832)+W(11,1055747689,-1095292522,-1097656684,1027108728);sum2=W(0,1036031230,-1102747382,1040389106,1027629590)+W(1,1033840740,-1113736580,-1120880520,1035081854)+W(2,999021742,1048871361,1037408166,1036561850)+W(3,-1118383086,-1081312733,1046511529,-1102228261)+W(4,-1111365044,-1105995296,-1112120068,-1097589576)+W(5,1061513306,1059108854,1017984327,1037901466)+W(6,1044452135,-1136989239,-1098672489,1030279668)+W(7,1032578550,1024281094,-1113902667,-1101386787)+W(8,1028645652,-1090327880,-1098256610,1003868670)+W(9,1036248196,1038098664,1037598188,1046091275)+W(10,1055272900,1035521712,-1175016923,-1106083613)+W(11,1027306194,-1110606753,-1100293962,-1114802202);WS(-1088826540,-1072617048); +sum1=W(0,986338164,1037920241,1051799989,-1096657083)+W(1,-1131268440,-1122826702,1023136598,-1108211448)+W(2,1051897846,-1097067830,-1134063855,1022858827)+W(3,-1127817408,-1117329516,1060040519,-1085267217)+W(4,1034398076,1016624516,1038855104,-1098615294)+W(5,1068445460,-1091986338,-1104903024,1025833567)+W(6,-1112014844,-1156351446,1041659186,-1085224562)+W(7,1041222927,-1148095931,1032100206,-1125030464)+W(8,1049473503,-1095210946,-1123500579,1018816617)+W(9,-1114071293,1025960366,1046320643,-1103740786)+W(10,1021522163,1004333185,1031252724,-1128205111)+W(11,1053193450,-1098483636,-1110505437,-1135786218);sum2=W(0,1025188267,-1139275200,1040515214,-1131755519)+W(1,-1105181237,1030566925,-1121532154,1033600964)+W(2,-1111129732,-1105820182,1041295374,-1137053008)+W(3,1037371296,-1123953755,1035395064,1067277095)+W(4,-1104867399,-1131759093,-1111771837,1046721727)+W(5,-1119362505,1075696256,1058324165,1026363312)+W(6,1040037716,-1098628025,1046868281,-1070220409)+W(7,-1095490474,-1118056117,-1106548534,1040338433)+W(8,-1095083293,-1079865944,1030948623,1018203389)+W(9,1039102739,-1109104289,1045077862,1049591033)+W(10,-1107729189,-1128931569,-1109851481,1042987802)+W(11,-1121821072,-1113640498,1039251361,-1123620784);WS(-1126600048,-1081356549); +sum1=W(0,-1127841038,-1133929050,-1098403026,1044657313)+W(1,-1112364357,-1126110067,-1121393942,1032965854)+W(2,-1092154099,1056638003,1040562850,1036225512)+W(3,-1127713943,1033968271,-1092503722,1049224359)+W(4,1040769245,-1129561307,-1112866678,1043820719)+W(5,-1081570623,1066854747,-1105175211,1047740947)+W(6,-1130256197,1042942538,-1086843241,1055316562)+W(7,-1123699911,-1102743497,-1113126004,1043379215)+W(8,-1092479684,1058087872,-1108064855,1041161205)+W(9,-1135790871,1027795642,-1097678271,1032418298)+W(10,-1138101411,-1106598351,-1114110304,1034600139)+W(11,-1094287464,1051778533,999504676,1039116783);sum2=W(0,1002695390,1041236493,-1107205869,-1110230321)+W(1,1025661924,1013006047,-1122258341,1024135109)+W(2,-1167041196,-1120190201,1051920007,-1101224590)+W(3,-1122292123,1018577975,1048984334,-1063745707)+W(4,1083223141,1033459361,-1120933435,1034742596)+W(5,-1085659967,-1070580481,1079255156,1037086181)+W(6,1032169765,-1148289286,1041640777,1042707591)+W(7,-1110361303,-1105447820,-1117894001,-1155671947)+W(8,-1108030745,1049556353,-1097500712,1029970779)+W(9,1003179774,1027950533,-1123201389,-1106095214)+W(10,1030518681,1006793819,-1138289315,-1116290259)+W(11,-1139220243,1050855401,-1105964729,-1115669085);WS(1044741550,-1111040261); +sum1=W(0,-1123328853,-1129171790,-1119860449,1045626213)+W(1,-1104602741,1022127887,-1102049737,1051367713)+W(2,-1091471693,1046305018,1044417333,-1107859535)+W(3,1040528310,-1097130129,1035652177,1049556145)+W(4,-1091825946,1033350174,-1104112191,1051950321)+W(5,-1092522751,1053940037,1049099055,-1124872112)+W(6,1024305776,1039437043,-1095677118,1055561708)+W(7,-1104689389,-1115808049,-1101315365,1045396986)+W(8,-1130673884,-1095468986,1055485165,-1115536169)+W(9,1021709031,-1108128612,-1112716514,1044018368)+W(10,-1103796617,1029190802,-1111623399,-1165073551)+W(11,-1121220876,1026385047,1036376309,-1122289340);sum2=W(0,-1104033148,1039328248,1040757730,1023457753)+W(1,-1105261590,1019934334,-1105436527,1038128967)+W(2,1010939044,-1118329847,1011822306,998732076)+W(3,-1109964889,1010051700,1051778220,-1098103909)+W(4,1019752394,-1151355224,-1097126651,1057153562)+W(5,1035481326,-1094975289,1037637839,-1112777586)+W(6,-1098141643,1057745438,-1094952202,1048659070)+W(7,1023965510,1012075272,-1090250993,1060383381)+W(8,-1102222701,-1098057265,1049957743,-1134551782)+W(9,-1116302593,1035812245,-1133841678,-1123621243)+W(10,-1104798795,1031321862,-1118233874,1044677482)+W(11,-1105877607,-1160321672,1036758948,-1124061226);WS(1065794902,1053657215); +sum1=W(0,-1121908120,1038333639,1027457764,-1123855831)+W(1,-1123864939,1004753494,1018314063,1031009517)+W(2,-1106391546,1034446294,-1121443224,1015085764)+W(3,1015310777,1039118671,-1097318831,1039330595)+W(4,1026117491,-1152877546,-1124873339,1034311430)+W(5,-1141167585,-1090069831,1040632671,-1119728987)+W(6,1031572020,1041290230,1054548019,-1096859758)+W(7,1028976296,-1155937596,-1147984576,-1120195837)+W(8,1053489270,-1090834490,1043686014,-1132243578)+W(9,1024640407,-1119856235,1041008530,-1105884449)+W(10,1007855863,999100652,1026486289,-1114392412)+W(11,1038700424,-1105777031,1023881277,-1148206328);sum2=W(0,-1111593455,1035072504,1043803228,1033408259)+W(1,-1104275307,998670368,1026283313,1028902500)+W(2,-1108682745,-1102620143,1005020832,1032181798)+W(3,-1106910582,1047373071,1040261276,1048908013)+W(4,-1100960524,1023771046,-1123416451,1053329938)+W(5,1067600226,-1090850305,1050480903,1032569956)+W(6,1050577288,-1092564654,-1072392505,1062297118)+W(7,-1138210428,-1112013629,-1128641646,-1100521328)+W(8,-1113219589,1017836657,-1168415746,1023611526)+W(9,1047088729,-1096962366,1049469167,1033530157)+W(10,1025688819,-1112880371,-1113858977,1017970524)+W(11,1037790473,-1125952722,-1131011166,1021270423);WS(1062391596,1012575503); +sum1=W(0,1031343933,-1118754907,-1124966418,-1110681406)+W(1,1044511208,-1105353116,-1104891955,1040079801)+W(2,1034244551,-1097175282,1039695694,1041572194)+W(3,1032025473,-1098309187,-1115351741,1051954479)+W(4,1024690888,-1106768761,1018981700,1047266492)+W(5,-1082667844,1046130725,1049723012,-1111177056)+W(6,-1107154694,1041578200,1034155267,1051147223)+W(7,-1103478091,1041859398,1037332142,-1102249736)+W(8,-1116669206,1052085167,1031631968,-1100878141)+W(9,-1113508494,1040475388,-1108675062,1003822408)+W(10,1001356052,1037747241,-1120166325,-1099931343)+W(11,1037232762,1045069376,-1120670778,-1115735812);sum2=W(0,1033523600,984378304,1029410276,1013286288)+W(1,-1149511552,-1114072340,-1111554425,1035520350)+W(2,1027721316,-1092144316,1040549613,1027894332)+W(3,-1129275556,-1139357832,-1120989222,1051778774)+W(4,-1101613332,-1138380800,-1122087690,1042336361)+W(5,1063527919,1062226267,1044728263,-1113445964)+W(6,-1124036306,-1098127108,-1086537602,-1106529787)+W(7,-1102568312,1042436209,1037981702,-1108770624)+W(8,-1087308230,1023869712,1043627655,-1103441850)+W(9,-1119955572,1031985496,1038170956,-1106223749)+W(10,-1109791564,1038090706,-1122349214,1030270440)+W(11,1040810725,-1113965912,1025118636,-1120264936);WS(1061969900,1065420380); +sum1=W(0,1002358108,1041410250,1005238718,-1098164717)+W(1,-1127598604,1013481849,-1132400117,1024825568)+W(2,1055004288,-1093641048,1037205414,-1128588267)+W(3,1036273784,-1111416381,1058195604,-1089452644)+W(4,-1122200151,995531041,-1121891281,-1112279056)+W(5,1065721300,-1081575699,1041630292,-1118185583)+W(6,1031471239,-1100377015,1058645356,-1095897092)+W(7,-1115380038,1031870564,1014037550,-1110955448)+W(8,1050103969,-1095327860,1033148051,-1125213521)+W(9,1015146068,-1140842745,1047622119,-1122283864)+W(10,-1112032609,1031659065,1021231496,-1109508230)+W(11,1050895308,-1101391147,-1107652840,-1167265945);sum2=W(0,1037378832,-1097408481,-1089422359,-1134521568)+W(1,1024014288,-1156999910,-1105869799,1040337956)+W(2,1064628576,1048269110,-1113808990,-1121898726)+W(3,1034348880,1050274911,1078490638,1055313899)+W(4,1025241947,1025759300,1010791317,-1124897054)+W(5,-1067190452,-1081189141,-1100728789,1010618498)+W(6,1020451237,-1105197585,1026583828,1051135592)+W(7,1047164907,981635389,1025476671,-1107003535)+W(8,1034175619,1043712009,-1112306567,-1142752483)+W(9,-1121382126,-1131733180,1030289482,-1114815155)+W(10,1025919494,-1158764013,-1144944739,-1128932040)+W(11,1035014695,-1125325948,-1116208218,1029088384);WS(1048733783,1027643848); +sum1=W(0,-1133845785,1036515120,-1088559253,1057953132)+W(1,1034283684,-1114935677,-1133175894,1023561851)+W(2,-1093510507,1049915371,-1130587597,1012777537)+W(3,-1135183403,1042717327,-1088396394,1060634166)+W(4,-1127730531,-1122593837,-1116789548,1030082171)+W(5,-1080791005,1063183646,-1114509469,1031486794)+W(6,-1148511502,1048693393,-1089662985,1058925305)+W(7,-1138682841,-1116148770,-1134260761,1034425221)+W(8,-1090323862,1044704560,1038705162,-1166921432)+W(9,1018609610,1039337356,-1100061261,1042697693)+W(10,1015444552,-1126426832,-1123833247,1027869798)+W(11,-1089888600,1047384498,1049640472,1023971661);sum2=W(0,994989105,1037891939,-1173716290,-1100065758)+W(1,-1120127409,1036146011,-1144072856,-1103317800)+W(2,1052666546,-1122814128,-1094230404,1054652553)+W(3,-1122509885,1037436931,1001371192,-1129250144)+W(4,-1083084807,1061875701,1026939205,-1127785128)+W(5,1040815920,1058553182,-1075758811,1067689129)+W(6,1028398855,-1103788534,-1100616833,1055924851)+W(7,-1074914963,1068744910,-1120878413,1034163445)+W(8,1020001090,1053725018,-1075891465,1067320464)+W(9,1025208177,-1127272012,-1134790452,1036740791)+W(10,-1081737398,1065190583,-1113678678,1026044831)+W(11,1043708121,-1123998093,-1084193900,1062426867);WS(-1084457324,1066101859); +sum1=W(0,-1146837948,-1111022815,-1115296098,1042035070)+W(1,1030912362,-1121095658,1016102797,-1125864729)+W(2,1038645029,1047347075,-1106508822,-1128702979)+W(3,-1115430590,1047559389,-1083544605,1059438663)+W(4,-1104927285,1022709564,-1115904029,1034715654)+W(5,1037951214,1052960194,-1167432352,-1129984885)+W(6,-1139281484,-1103064096,1057869073,-1083491782)+W(7,1045723406,-1123913107,-1117556663,-1108958078)+W(8,-1109939240,1046468604,1012598283,-1123056725)+W(9,1034492603,-1131712724,-1123954086,-1121536740)+W(10,1019381994,1026960983,-1124011056,-1131623214)+W(11,-1123535023,1043250206,-1110102674,-1128824061);sum2=W(0,-1125705477,-1127395739,-1105227463,1036906007)+W(1,1026846896,989272222,-1127756609,1044805550)+W(2,1015549291,-1109261657,1037043129,-1106679057)+W(3,993770127,-1097909373,1049252886,-1102191244)+W(4,-1097396928,1042524140,1034569455,-1177736375)+W(5,1058826852,1061852121,-1116961215,1013800282)+W(6,1010458600,-1116962018,-1119951878,-1086841826)+W(7,-1103314123,1033157194,-1119844207,1043096893)+W(8,-1094678765,-1128420796,1038664018,-1128652243)+W(9,-1122090273,1035619005,-1119199398,1021651597)+W(10,1035622840,-1124905499,1019369801,-1112228363)+W(11,-1109645851,1038741216,1019677755,-1126258736);WS(1067036470,-1087655195); +sum1=W(0,-1143851962,1018554747,1050955184,-1110423387)+W(1,-1106360251,1025799530,1026890311,-1120379564)+W(2,1053786273,-1098337218,1040602294,-1118031105)+W(3,-1106604063,-1114993347,1042552729,-1090196611)+W(4,-1134551499,-1119796702,1016195769,1022258327)+W(5,1063572966,-1083965137,1045568787,-1110210301)+W(6,-1138731339,981655329,1058367344,-1084059678)+W(7,1046272662,-1132188582,1037080924,1045778247)+W(8,1055564522,-1090231591,1028646847,-1117810092)+W(9,-1121217270,1025121994,1047575674,-1096786628)+W(10,1026932869,1021012754,1029907824,1023696087)+W(11,1048845230,-1095677575,1027665749,-1118338222);sum2=W(0,-1113854255,-1108417433,1042382895,1025435556)+W(1,-1108154666,1042045079,1028862084,1033605964)+W(2,1032534216,1033584957,1046901615,-1105415159)+W(3,-1104900936,-1109151867,1017793091,1033281558)+W(4,-1111336587,1039313065,-1104116954,-1102487521)+W(5,1067799294,-1099286824,1036137805,1005958605)+W(6,-1114719178,-1071728118,1077900204,1056033422)+W(7,1024983956,1020191839,1040474278,-1073652757)+W(8,1051278318,-1113833767,1034492621,-1114752489)+W(9,1048817634,-1090221130,1048299521,1011833167)+W(10,1033542750,1024757388,-1122519186,-1102125815)+W(11,-1105402373,-1107682623,-1127962013,1032711916);WS(-1087701164,1071308133); +sum1=W(0,1040776942,-1100025248,1040244657,1047131214)+W(1,-1116520012,-1152028354,-1112915908,1039729431)+W(2,-1108101926,-1104971284,-1123736282,-1120800451)+W(3,1032135583,-1111499300,-1107965963,1036283892)+W(4,-1105297773,1024489952,-1109010607,1047911115)+W(5,-1095250332,1057920197,1040789767,1038925278)+W(6,-1125896234,-1096854047,-1097276733,1057601759)+W(7,-1089523085,1034463851,1033070381,1047586960)+W(8,-1104060437,1046835436,1046328829,-1130324381)+W(9,1001383873,-1100475875,-1129328465,1017446731)+W(10,-1107686492,-1112186573,-1127540900,1025720505)+W(11,-1115131352,1041767855,1031878575,1015088161);sum2=W(0,-1089646175,1060062242,1050551269,1017421696)+W(1,-1124178965,1023971829,-1112379036,1018139178)+W(2,-1096611550,1040955729,-1115297526,-1112174927)+W(3,-1087427677,1066898400,-1116330565,1035645225)+W(4,-1111832492,1035838465,-1088789602,1066001716)+W(5,1056235229,1040223965,1027731712,-1128027042)+W(6,1059010203,-1079880526,-1118197619,-1114176344)+W(7,-1106279788,1015547306,1060985431,-1081253059)+W(8,-1102574794,1044677785,-1130074994,1033729011)+W(9,-1139584980,-1095878540,1039647840,-1100382074)+W(10,1040262609,-1110899873,1054225000,-1095013927)+W(11,-1099698701,1035015292,-1124507789,1032866060);WS(1063980716,-1121784884); +sum1=W(0,1027357276,1046480497,-1094692773,1050884987)+W(1,1046796692,1025153935,-1104528667,-1121849329)+W(2,-1090457523,1048987838,-1098583576,-1107151594)+W(3,-1122859745,1049050976,-1090130146,1057733925)+W(4,1037378828,1016110982,-1107033792,1046903620)+W(5,-1084796508,1061180023,1034725880,1023598816)+W(6,-1105809438,-1128776604,-1089370535,1054317580)+W(7,-1096435840,-1114135692,1033196814,1050194992)+W(8,-1105629197,1055134019,1049629536,1040596522)+W(9,-1111338526,-1112079704,-1093813713,1046804578)+W(10,-1097780651,-1113598601,-1111105883,1037688238)+W(11,-1094775914,1057027842,1038664949,-1127372967);sum2=W(0,1041589168,-1098133521,1031854878,-1105720063)+W(1,1035016760,-1121214780,1024315846,-1106371173)+W(2,1051327081,1023684981,-1128261352,1011090873)+W(3,1043663909,-1106740015,-1108849860,-1124767392)+W(4,1035542785,1029549000,1040621380,-1107177437)+W(5,-1106409587,-1127108094,-1111599720,1034668152)+W(6,1040212968,-1111131552,-1120392794,-1102248051)+W(7,1051247500,-1136161665,1033384296,1040430896)+W(8,-1093765703,1050935529,-1102687331,1018485311)+W(9,1014426993,1032409853,-1107120761,1033359350)+W(10,1037002974,-1126387868,1022694293,1003633577)+W(11,-1104283048,-1128561530,1026574958,998242826);WS(1047153326,-1105960410); +sum1=W(0,1032318440,-1105871782,-1111485966,1043448020)+W(1,-1110710801,1019497606,-1133035902,1024269605)+W(2,-1098984649,1044051929,1028564080,1019882933)+W(3,1023033002,-1110369667,1050315790,1059563250)+W(4,-1113831750,-1118335287,-1111741083,1047130673)+W(5,-1080272088,1053459949,1024144723,1018957863)+W(6,1009988015,1043587009,-1086889743,1061038806)+W(7,-1117616080,-1122250988,-1126171361,-1113373146)+W(8,-1098309317,1044456898,-1145766181,-1124691083)+W(9,-1183551252,1035984354,-1105786176,1048086975)+W(10,-1114741783,-1123242346,-1118067977,-1111622952)+W(11,-1106267538,1037611273,1040212689,-1150984053);sum2=W(0,-1132142402,-1109262360,1044069954,-1111364284)+W(1,1031679549,1018817977,1019405455,1034679642)+W(2,-1104355470,-1108806456,-1097044621,1034241557)+W(3,1022592575,-1099677890,-1119884477,-1066728208)+W(4,1043056057,988348592,1002713172,1048612806)+W(5,-1094376769,1079847520,1057366851,-1114461524)+W(6,993592760,1036415285,-1110824904,1060715429)+W(7,-1104696735,-1107038514,-1120241477,-1118742739)+W(8,1031998111,-1103911380,993276152,1036085605)+W(9,1024283135,-1125545553,-1128336378,1028262793)+W(10,1012785110,-1128734189,-1139068036,-1129249399)+W(11,1030577347,-1127589036,-1133646774,-1182233281);WS(1056964652,1042968547); +sum1=W(0,1026864302,1044356666,-1111481597,-1091567350)+W(1,1041608192,1008927875,-1136392949,1026146499)+W(2,1051097712,-1098882624,1029687022,-1130908784)+W(3,1024389106,1030265493,1040695131,-1090350559)+W(4,1042991030,-1127664937,-1126999334,1038248593)+W(5,1052760426,-1081953599,1043333208,-1121268145)+W(6,1026043785,-1126651679,1056669112,-1095456258)+W(7,1044232931,952128323,-1130628252,-1146035092)+W(8,1038264227,-1102468122,1038520784,-1146879000)+W(9,1000688741,986691602,1027446877,-1109487565)+W(10,1033386798,-1137895230,1002882868,1033146167)+W(11,1040116499,-1110909592,1040618297,1023066122);sum2=W(0,-1155037894,-1109445776,-1106399184,1052866656)+W(1,1046069094,1012439553,-1117766868,-1132308185)+W(2,1041934367,-1111172948,1042904039,-1108172404)+W(3,1042293027,-1101307898,-1137539889,1058738313)+W(4,1045435531,-1110297962,1004126723,995397702)+W(5,1035303811,1064268129,1051607279,-1110625272)+W(6,-1123150924,1014206993,-1091518060,1052685347)+W(7,-1098813712,-1107185126,1015608713,1046458351)+W(8,-1124849601,-1090299347,-1150133894,1045339946)+W(9,-1135323377,-1120597884,1043824666,-1087905074)+W(10,1037110006,-1122419536,1030487760,1026431488)+W(11,1061366644,-1075431372,-1089430426,1049588119);WS(-1096061015,1045980634); +sum1=W(0,-1136709393,1047345176,-1089944925,-1113534082)+W(1,1020871950,1032683291,1028828435,1016418418)+W(2,-1096285771,1049565603,1021274185,1018404508)+W(3,997001355,1049157941,-1094897728,-1113216951)+W(4,1042276288,1027484139,1022855123,1032879612)+W(5,-1097979037,-1094660427,1039512084,-1119890439)+W(6,-1128346047,1042754713,1014307589,1031601097)+W(7,1028680388,1030972704,1031977874,1032419332)+W(8,1040846151,-1095562472,1044068336,-1125789619)+W(9,984865373,-1124110958,1042092045,-1109834744)+W(10,-1140756488,1031142826,1040707047,1040469689)+W(11,1041011167,-1093905225,1048548616,-1123584299);sum2=W(0,-1114682679,1055059251,1064739409,-1095220576)+W(1,-1100660553,1038444345,-1115477579,1024869090)+W(2,1031266096,-1113806527,-1105830101,-1132048253)+W(3,-1100789101,1055732865,1030176534,1040530242)+W(4,-1096186716,1040636888,-1113658391,-1122542034)+W(5,1067742275,1036337974,-1103152959,1015520805)+W(6,-1110942733,-1120682294,1062911121,-1087169731)+W(7,1035448471,1032588114,1044868728,-1107016239)+W(8,-1081471397,1042181045,1052603278,-1102136445)+W(9,1028313432,-1152832742,-1080677577,1042749891)+W(10,1033558186,-1134141481,1046472362,-1087243594)+W(11,-1077241450,1067213860,1052345796,-1112398105);WS(-1086603372,1061480206); +sum1=W(0,1025472273,1022341006,1006839158,-1102342404)+W(1,1042514621,-1114893026,-1143591172,1027469190)+W(2,-1128153798,-1124925900,1043263108,-1114252238)+W(3,-1124123051,-1141108008,1051787090,-1093885235)+W(4,1027880941,-1121794488,-1110008795,1042054049)+W(5,-1090097115,1058414043,-1105821275,1039892842)+W(6,-1124248793,1051331968,-1081435553,1063214861)+W(7,-1094479791,1028544109,-1127491490,1044174205)+W(8,-1089913687,1057428893,-1099759469,1041669328)+W(9,1014214528,1044005681,-1092574472,1052102264)+W(10,-1112069887,977928239,-1120184170,-1155225358)+W(11,-1096696337,1048742922,1035771431,1039400116);sum2=W(0,1037224808,1025638319,-1093017633,-1143762368)+W(1,-1119609796,995865588,-1109009263,1049599085)+W(2,1039705537,-1112746506,-1119534458,1021427773)+W(3,-1120793535,-1142324554,1040559103,-1099136162)+W(4,-1123476586,988834049,-1110258597,1028269513)+W(5,1053657173,1056581815,-1104556193,-1122952792)+W(6,-1112240446,-1132053081,-1120149375,-1118127758)+W(7,1044376501,-1114993482,-1151274598,-1119573384)+W(8,1043501160,-1147801478,-1107739102,1029987722)+W(9,-1120536233,1010517574,-1121251494,-1130373692)+W(10,1033895801,-1106681926,-1103902982,1008384356)+W(11,1035850418,1032229723,-1122521676,-1116132116);WS(1037058908,-1087106898); +sum1=W(0,1032385376,1026637522,-1098495714,1041048768)+W(1,1039729665,1017191910,1028077583,-1129390954)+W(2,-1107088868,1041268325,-1126519617,-1132138900)+W(3,1014613011,1048467894,-1108180359,1045140885)+W(4,1040649531,1035348883,-1151370839,1048758199)+W(5,-1093334653,-1080472255,-1114665834,997380151)+W(6,-1139761263,1043852440,-1108393155,1045570315)+W(7,-1125126080,1031307292,1027279360,1034990442)+W(8,-1097414435,1045361342,1035082182,1030937245)+W(9,1022565566,1017011558,-1111470776,1028923180)+W(10,1023808326,-1138594135,1031834108,1036138504)+W(11,-1104527470,1036330497,1027790590,1036519916);sum2=W(0,-1111516802,-1131222514,-1097346809,1049467820)+W(1,-1118099733,-1111393075,1036231024,-1098228691)+W(2,-1128682274,1020406578,-1102087439,1039222222)+W(3,-1130951686,1034905648,-1113861539,1024259929)+W(4,1049541587,-1113826501,1031916934,-1090487171)+W(5,1052765954,1061096371,-1108988196,1025340241)+W(6,-1130989326,1032129266,-1108538807,-1104129123)+W(7,1033200380,1029417921,-1129631002,1035677128)+W(8,-1122282521,-1108918961,1042713844,-1111528334)+W(9,-1123615369,-1103168970,1038239484,-1114584358)+W(10,-1097598443,1034012496,-1119469958,1049196148)+W(11,-1116187122,-1129232626,1018354634,1029857705);WS(1054906071,-1091145324); +sum1=W(0,1029398237,-1120406171,1051536197,-1115196942)+W(1,-1136290815,-1126429728,-1140775857,-1106052861)+W(2,1046952684,-1109008729,1034481647,1032555988)+W(3,-1128656451,-1099422950,1057886666,-1097962977)+W(4,-1114344740,1015919623,1004160018,1032725545)+W(5,-1085942396,-1130426984,1050651652,-1108426832)+W(6,-1130732913,-1097841652,-1098611557,1048146402)+W(7,-1102043591,1040987294,1029686973,1037934865)+W(8,1042440654,1034532491,-1133864753,-1107032303)+W(9,1021855224,1036573848,1035129734,-1122054089)+W(10,-1124817654,1044439941,-1128798955,-1157619404)+W(11,1032622058,1027356128,-1126847669,-1115113714);sum2=W(0,-1113802973,1027581315,-1110955855,1047020911)+W(1,-1105727831,1022816774,-1116219822,-1112877584)+W(2,-1127685514,1021259086,-1118276653,-1129541322)+W(3,1020553430,-1110295429,-1097495000,1057623683)+W(4,-1110729082,997980814,-1109755343,1027296115)+W(5,1025841055,1053623791,-1104267868,1016281450)+W(6,-1131329246,-1126007358,-1104102640,1057318729)+W(7,-1106795812,-1105649969,-1112950186,1035099341)+W(8,-1110724235,1040083835,-1119773745,1031563375)+W(9,-1113313093,-1130784978,-1165405916,1048620928)+W(10,-1128480210,-1111917112,-1116367256,1035863861)+W(11,-1097352168,1039940909,-1110646461,1032754595);WS(1063926444,-1083200389); +sum1=W(0,-1110900111,1049653262,-1089993663,1052688460)+W(1,-1098055945,1042131972,1015785179,-1116391059)+W(2,-1106495964,1038385529,-1108169455,-1121748392)+W(3,-1132926346,1048988121,-1104923071,1045396422)+W(4,-1110654965,1039495970,1034778082,-1111931241)+W(5,1061854120,-1089207439,-1111176153,-1117097761)+W(6,1029162938,1002973694,1062129309,-1085048198)+W(7,1042255343,-1120523578,1024169214,-1107911937)+W(8,1059656227,-1087799869,1043917388,-1106362715)+W(9,1031086749,-1104277444,1047872627,-1096506545)+W(10,1012240783,1011366638,-1116484151,-1114837807)+W(11,1055218483,-1096830980,1049045741,-1098874335);sum2=W(0,1031260311,-1079593190,-1121246507,-1113337443)+W(1,985022717,1032096214,1008713252,-1080879443)+W(2,1035854140,1043424734,-1123981203,-1130846658)+W(3,-1110413739,-1099919153,1040572163,-1112705599)+W(4,1028350097,-1119780465,-1108083749,1067198745)+W(5,-1111993270,-1102589461,1035118406,1007072124)+W(6,1024382525,1061544601,1060638292,1044789771)+W(7,-1119559917,-1132931022,-1107516795,1037733964)+W(8,-1122943484,1040341398,-1123835438,-1131952682)+W(9,1032742989,1034769578,-1098923291,-1116338100)+W(10,1021760610,1028149723,-1107429215,1037726418)+W(11,1034609836,1030676197,-1114867192,-1115680064);WS(-1091090263,1040227933); +sum1=W(0,-1123880467,-1113261184,1033284496,1044923332)+W(1,-1105999782,-1135767575,-1114808049,1027485320)+W(2,1019377225,-1098653061,1042536309,-1127683258)+W(3,1014154590,-1101480756,-1102787036,1059927492)+W(4,-1095990282,1037484605,1032220316,1043855170)+W(5,-1094753319,1040011797,1044858269,-1120454550)+W(6,1018131933,-1088775234,1065098078,-1099661886)+W(7,-1091964998,1029352975,-1121223347,1021676847)+W(8,-1107869654,-1151140018,1045062557,-1109078132)+W(9,-1128795491,1031227206,1045897152,-1113799968)+W(10,-1109510984,1027724204,1008528046,1026364723)+W(11,1025551690,-1125551659,1023695008,1006311503);sum2=W(0,-1123304381,-1135928985,1039889929,-1113522433)+W(1,-1108136941,1038356153,1011470018,-1131363804)+W(2,1045400660,-1100907702,1038781261,-1139124254)+W(3,-1116901758,1044779190,-1100997480,-1104972678)+W(4,1052809383,-1105005165,1029761957,-1101932196)+W(5,1055172736,1058841413,-1093286229,1040780481)+W(6,-1135722528,-1097334030,-1087140500,1039800739)+W(7,1034962749,-1105451984,-1111769341,994986369)+W(8,1054550160,-1122473050,-1105965260,1042887374)+W(9,-1107033568,1042173475,-1110305303,-1109069053)+W(10,1038676003,-1114167820,1032808415,1025113569)+W(11,-1115908038,1032761157,-1155418681,-1152192529);WS(1063982124,1031276218); +sum1=W(0,1041442545,1031361481,1056936890,-1090353464)+W(1,-1122143798,1007942615,-1103090149,1026538936)+W(2,1055470587,-1090262005,-1101092681,1040474995)+W(3,1042807746,-1101400314,1060963845,-1096383728)+W(4,1031723710,-1103896066,1024468200,1034898060)+W(5,1061353486,-1078114170,-1122232454,1027975174)+W(6,-1106882536,-1103132501,1063510555,-1106902698)+W(7,1043143621,1030475455,1049721332,-1112916420)+W(8,1048946651,-1088793180,-1172995470,-1101011290)+W(9,-1101888878,-1139074135,1054541302,-1098771630)+W(10,1032268200,1044176219,1042454319,-1110788513)+W(11,1058321972,-1093460753,-1104729748,-1108198577);sum2=W(0,1015674059,-1109357907,1031332447,1066992274)+W(1,-1074609058,1048304191,1034996578,1024785272)+W(2,1048659656,1076858856,-1070866381,1030261153)+W(3,1026624942,-1129998179,-1108514478,1078632808)+W(4,-1068251573,-1098508369,-1128049054,-1120348186)+W(5,1052415888,1073772904,-1076608801,-1108782845)+W(6,999367802,1048014132,-1105319294,-1105884909)+W(7,-1103939197,1048310856,1021382702,-1105300006)+W(8,-1117149322,1038594495,-1109221944,1031934850)+W(9,-1124407536,1046166047,1010482847,1038514249)+W(10,-1098022157,1046147873,1029480964,-1116382211)+W(11,-1154249511,-1098756758,-1125235504,1038709270);WS(-1084008748,-1076428689); +sum1=W(0,995293936,-1119372516,-1088304948,1059786207)+W(1,-1137964103,1013109895,-1162911689,1036299874)+W(2,-1097059736,1051547992,-1125552990,1006687204)+W(3,-1138016718,1017340780,-1085861109,1060565598)+W(4,-1116363658,1002349741,-1132274729,1041960361)+W(5,-1081600491,1064118968,-1116908178,1007519945)+W(6,-1145295444,1044385332,-1083799507,1058261310)+W(7,-1119006543,994300076,-1131268254,1034368866)+W(8,-1090459925,1050466917,1026422690,-1119097260)+W(9,-1201649403,1043013720,-1104403080,1049921019)+W(10,-1131911306,-1123993357,-1135278623,-1103541652)+W(11,-1103180426,1042671596,1051353751,1023041036);sum2=W(0,1033856632,-1090933982,1068958128,1067844920)+W(1,-1095515318,-1124923033,1041148647,-1094617784)+W(2,1066199400,-1102124443,-1122244574,1042779533)+W(3,-1094518814,-1122277735,1055138982,1051248434)+W(4,1036900546,-1103088355,1045521814,1062250596)+W(5,-1070105649,-1078683071,1046136146,-1114411292)+W(6,-1128266986,1027053741,-1070096660,-1079091570)+W(7,1021983978,-1114099181,1033117136,1050179515)+W(8,-1082392713,-1089309992,1045719314,1023274434)+W(9,-1173165821,1033890948,1067349236,1047411220)+W(10,1050937215,-1124200313,1041230368,-1086799133)+W(11,1076979077,1070525583,-1091587052,1042022635);WS(-1081223670,1021288719); +sum1=W(0,1011016529,1035837139,1042651768,-1098433890)+W(1,-1129696110,995272815,-1123721507,1032041909)+W(2,1036928499,-1100608474,1024607124,1027549342)+W(3,1017381041,-1108640782,1055254255,-1094722148)+W(4,-1131079071,-1116321147,1017648243,1024313608)+W(5,1061777248,-1083909329,1047474926,1017435439)+W(6,1028006000,-1105590117,1061429156,-1087617676)+W(7,1036831026,-1122084432,-1122128468,-1108791100)+W(8,1052534382,-1091388554,1033276873,-1139273509)+W(9,1009660876,-1128783630,1049990152,-1104773376)+W(10,-1150770463,1024807730,1007983923,-1116825572)+W(11,1053483289,-1093454083,1005912461,-1125665142);sum2=W(0,1057380038,-1088994983,1016685185,998662038)+W(1,1040844632,1027712021,1057597982,-1085734595)+W(2,983594263,1031174835,-1116219635,-1109851055)+W(3,1069621581,-1072283812,1066773393,-1099503122)+W(4,-1134907857,1037507283,1060801069,-1079782207)+W(5,1060848632,-1097910780,1027931069,-1116080368)+W(6,1060050844,-1081640783,1043641192,1038323247)+W(7,-1111695032,-1123552119,1041938366,1046270010)+W(8,-1105013658,1026094487,1047921746,1028446195)+W(9,-1122435905,-1113922524,-1104981345,1036576275)+W(10,-1114519002,-1108250726,1024344515,1043446590)+W(11,-1105295106,-1145544806,1032973176,1031771441);WS(-1120405176,1052288640); +sum1=W(0,-1136485047,1040656325,1051431647,-1114886102)+W(1,-1113721480,-1115542032,-1120969533,1013423883)+W(2,1042796768,-1092939904,1039390695,-1165530871)+W(3,1032711321,-1108004548,1062809491,-1083705303)+W(4,1026161897,1020434857,1027237267,-1107763377)+W(5,1060861813,-1089040632,-1116341945,1024821617)+W(6,1021305874,1022040031,1027813500,1039332409)+W(7,-1108229347,1031183209,-1146847086,1040265357)+W(8,-1107918083,-1098943929,1035322940,1019272038)+W(9,-1133175986,1031093856,1039657966,-1112315213)+W(10,-1115465454,1024346473,1039673939,-1100629595)+W(11,1043412169,-1104541036,-1114748782,1012723731);sum2=W(0,1032873736,-1128467212,-1098460251,1024553592)+W(1,1047433570,-1128334191,-1106233681,-1131275971)+W(2,1035809416,-1114616785,1026776904,-1107845863)+W(3,1036788040,-1113770947,-1078975662,-1092555656)+W(4,-1132131619,1043173677,1009987037,-1088748320)+W(5,1062703231,1067981395,-1104531393,-1111351589)+W(6,-1117147579,-1097209973,1059662245,1058574054)+W(7,-1106248497,991598885,1018109057,1040210251)+W(8,-1110493560,-1103422592,-1125640736,-1107997815)+W(9,-1114508674,-1099376356,1052516052,1038056552)+W(10,-1107638185,1023829740,-1106556966,1050939532)+W(11,992650581,1026754378,-1107493388,-1106870741);WS(1050656983,1072047790); +sum1=W(0,-1128713579,1048792739,1050333168,-1097949975)+W(1,-1101689274,-1127716817,1026709637,1034799517)+W(2,1050171449,-1104033571,1036522731,1037025856)+W(3,1023201012,1014670385,1053203577,-1085647978)+W(4,-1115538280,-1116963676,1030859291,-1116111658)+W(5,1064066450,-1080119690,1043957990,-1112813084)+W(6,1041237492,1025355287,1060032700,-1088145917)+W(7,1037919995,1036783049,-1152997210,-1112906461)+W(8,1050694506,-1088560507,-1120212113,-1113565993)+W(9,-1155686725,1036463444,1053095469,-1105136840)+W(10,1035379762,1035776666,1040488948,1002270506)+W(11,1046913707,-1093840327,-1108210918,-1122514141);sum2=W(0,1032121925,1067037293,-1074821338,-1094551116)+W(1,1045030197,-1115959604,-1105031648,1072414374)+W(2,-1081225596,1050387420,1035683027,-1117669800)+W(3,-1130820039,1072723545,-1069168235,1050306407)+W(4,1054464199,-1109697271,-1105961083,1076922042)+W(5,-1068908234,-1080768789,-1129129027,-1106200850)+W(6,1040237041,1072846596,1068735095,-1110799161)+W(7,-1109242003,1041008693,-1091675607,-1079373087)+W(8,1050158994,1048692149,-1102086715,-1107790175)+W(9,1052906990,1048404715,1043049709,1039557097)+W(10,1050068036,1019897614,-1119953618,-1090018360)+W(11,1036354441,-1114340558,-1106557101,1034398799);WS(-1081468886,1041730784); +sum1=W(0,-1114247594,1021500053,1028761377,1044129269)+W(1,-1131183895,-1121682823,999910687,1042624634)+W(2,1005300019,1053438789,-1096850135,1029411807)+W(3,-1112649805,1043096639,-1100727404,1055682820)+W(4,-1106832988,1022343799,1022168820,1034747044)+W(5,1035906940,-1086991443,1038040260,-1113521452)+W(6,1009392321,-1103886814,1062898916,-1084075064)+W(7,1044548897,-1110992968,1025791509,-1101453262)+W(8,1054732110,-1098009154,1037861846,-1110478453)+W(9,-1115410306,1026735815,1042621601,-1097832968)+W(10,1022910341,-1125653940,1020540891,1034256626)+W(11,1041116931,-1117544535,-1121491970,-1112646442);sum2=W(0,-1109856908,1025315462,-1111613060,-1108093549)+W(1,1041489120,-1114414815,995541592,1040254152)+W(2,997512408,-1085520225,-1094645099,1040714423)+W(3,-1107331629,1035675473,-1115826672,-1103361463)+W(4,-1102705141,-1125997775,1043476326,1026228130)+W(5,1067108106,1059978555,-1121534122,1032256197)+W(6,-1104942022,-1101803200,1053887552,-1094292172)+W(7,1039802977,-1130615251,1039471517,-1123010638)+W(8,-1104388416,-1120534147,1017265579,-1129091643)+W(9,-1114856041,1040268905,-1120685867,-1108094032)+W(10,1040793483,-1108206349,1022399907,1028920354)+W(11,-1103458923,1040596394,-1107135380,1027593934);WS(1054796503,-1111794816); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0][0] = HOOKED_texOff(vec2(-3.0, -2.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-3.0, -1.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-3.0, 0.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-3.0, 1.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-3.0, 2.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-3.0, 3.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-2.0, -2.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-2.0, -1.0)).x; +samples[2][0] = HOOKED_texOff(vec2(-2.0, 0.0)).x; +samples[2][1] = HOOKED_texOff(vec2(-2.0, 1.0)).x; +samples[2][2] = HOOKED_texOff(vec2(-2.0, 2.0)).x; +samples[2][3] = HOOKED_texOff(vec2(-2.0, 3.0)).x; +samples[3][0] = HOOKED_texOff(vec2(-1.0, -2.0)).x; +samples[3][1] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[3][2] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[3][3] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[4][0] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[4][1] = HOOKED_texOff(vec2(-1.0, 3.0)).x; +samples[4][2] = HOOKED_texOff(vec2(0.0, -2.0)).x; +samples[4][3] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[5][0] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[5][1] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[5][2] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[5][3] = HOOKED_texOff(vec2(0.0, 3.0)).x; +samples[6][0] = HOOKED_texOff(vec2(1.0, -2.0)).x; +samples[6][1] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[6][2] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[6][3] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[7][0] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[7][1] = HOOKED_texOff(vec2(1.0, 3.0)).x; +samples[7][2] = HOOKED_texOff(vec2(2.0, -2.0)).x; +samples[7][3] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[8][0] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[8][1] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[8][2] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[8][3] = HOOKED_texOff(vec2(2.0, 3.0)).x; +samples[9][0] = HOOKED_texOff(vec2(3.0, -2.0)).x; +samples[9][1] = HOOKED_texOff(vec2(3.0, -1.0)).x; +samples[9][2] = HOOKED_texOff(vec2(3.0, 0.0)).x; +samples[9][3] = HOOKED_texOff(vec2(3.0, 1.0)).x; +samples[10][0] = HOOKED_texOff(vec2(3.0, 2.0)).x; +samples[10][1] = HOOKED_texOff(vec2(3.0, 3.0)).x; +samples[10][2] = HOOKED_texOff(vec2(4.0, -2.0)).x; +samples[10][3] = HOOKED_texOff(vec2(4.0, -1.0)).x; +samples[11][0] = HOOKED_texOff(vec2(4.0, 0.0)).x; +samples[11][1] = HOOKED_texOff(vec2(4.0, 1.0)).x; +samples[11][2] = HOOKED_texOff(vec2(4.0, 2.0)).x; +samples[11][3] = HOOKED_texOff(vec2(4.0, 3.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns256, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns256, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1118812211,-1126504964,-1120674615,1037346316)+W(1,-1120777358,-1137814218,-1128256674,-1118580651)+W(2,-1118354985,-1117760744,-1117458482,-1097807929)+W(3,-1114916026,-1101147334,978731342,-1112914505)+W(4,-1108702207,-1127312137,-1124477727,1051925971)+W(5,1042061230,1032645830,1026597474,1040041685)+W(6,-1107177196,1040658850,1041726453,1061593601)+W(7,1053108884,1029100907,1023094846,1010634196)+W(8,-1116025261,-1105559165,-1102924251,-1098269094)+W(9,-1109857889,-1121960158,-1133406593,-1137769344)+W(10,-1113369587,1024463101,-1120327001,1015141868)+W(11,-1129934237,-1114359336,1018102856,-1124738995);sum2=W(0,1012167794,975711915,1007876102,-1112492311)+W(1,1037438381,-1104922990,1035896848,-1129478003)+W(2,1034293816,-1103749327,1042152488,1032768248)+W(3,1026775674,-1112883791,1009005510,1029694272)+W(4,1040949842,-1105000392,-1113573827,1065119806)+W(5,1049707133,-1118855570,1019305156,-1105233202)+W(6,-1073125242,-1097051670,1048636347,1064777150)+W(7,1035198208,1049268872,-1110039318,1045598091)+W(8,-1098861131,1026609280,-1103172582,1028248806)+W(9,1042916747,-1108803486,1037762592,1002108025)+W(10,1034317546,-1107080190,1037196612,-1106667446)+W(11,1024046979,-1112062411,1031133421,-1116379320);WS(1002542528,-1081598301); +sum1=W(0,-1123106403,1003194766,-1115291860,-1120609928)+W(1,1033033375,-1104418325,1031657633,-1140694509)+W(2,1018532849,1031358712,-1100442248,-1102109750)+W(3,-1124327881,1022719310,1042404749,-1173350542)+W(4,1058293919,1048723343,1060312385,1065191364)+W(5,1057579241,1055391647,1048926634,1057234642)+W(6,-1096563748,-1102943230,-1084853826,-1082116255)+W(7,-1090047916,-1090520747,-1115672903,-1088607906)+W(8,1033211315,1043311017,-1122032382,1048832547)+W(9,1045565001,1034840623,1040065984,1034960904)+W(10,-1104454821,1033034550,-1105126162,-1093430837)+W(11,1033480943,-1104668395,1041617645,-1100859732);sum2=W(0,-1118979564,-1136455954,1031647880,-1098733088)+W(1,1032618663,-1115252794,-1105564107,1028338874)+W(2,1038135851,-1098903542,1043936541,-1095471090)+W(3,-1114646115,1050331000,-1107943513,1030299514)+W(4,1040555036,-1113356687,1041172918,1058853402)+W(5,-1111675314,1042547849,-1102521857,1048036907)+W(6,1046730291,-1091503884,1053446821,1057969905)+W(7,1026777488,1032649026,-1097022326,1045220138)+W(8,-1098841046,1033064908,-1105844234,-1107613268)+W(9,-1104403193,-1109177822,-1106932655,-1104926499)+W(10,1010901456,-1105119573,1050988870,-1096003667)+W(11,1040941647,-1135105484,-1111654963,1015146572);WS(-1089089900,1057806976); +sum1=W(0,-1107295812,-1127595840,-1123024597,-1107414907)+W(1,1016079705,-1114511976,-1121404144,-1120167114)+W(2,1034138799,1025412102,1036945929,1043589025)+W(3,1048626936,1026901142,-1122208804,-1132433569)+W(4,-1095422036,-1098433268,-1092642698,-1086058047)+W(5,-1087422851,-1090938821,-1099844512,-1092394401)+W(6,1050726826,-1189029283,1055732365,1066834483)+W(7,1060391966,1050840209,1046023279,1054523402)+W(8,1041715821,-1122343505,-1122551116,1012137296)+W(9,-1112593208,1032081267,1025525231,1034856335)+W(10,-1107540610,-1114195981,1004508092,-1123010964)+W(11,1021997657,-1116540066,-1117735535,-1140325311);sum2=W(0,-1100068589,1040406565,-1105732125,-1129255625)+W(1,-1110986904,1041854514,-1108063740,1040297872)+W(2,1045053907,-1112537807,1034765996,-1096936254)+W(3,-1098576495,-1119869595,-1108123574,-1106886121)+W(4,1035618626,-1097933278,-1099579155,1047111871)+W(5,1056019034,-1119227686,1029490732,996712344)+W(6,1049401249,-1091711434,1056573344,1055190008)+W(7,1058665437,-1092612461,-1121089271,-1113107096)+W(8,1036897142,1040848725,-1089717374,1050298277)+W(9,-1089302244,1058580142,-1127874601,-1110437244)+W(10,-1103084156,1039746012,1030295740,-1110783667)+W(11,1041764164,-1100808273,1022690203,1034569294);WS(1049963735,-1124746024); +sum1=W(0,1006389467,991131306,-1124991168,1036315168)+W(1,-1114080443,1034164414,-1168983685,1034869786)+W(2,1034213253,-1110639240,-1124116580,-1106688436)+W(3,1016950458,1034354600,-1118357326,1046100667)+W(4,1058411598,1049374726,1060442825,1064243752)+W(5,1058630778,1057235431,1051622657,1028310995)+W(6,-1089111694,-1111102680,-1086690096,-1080857842)+W(7,-1086343400,-1086990857,-1099687954,-1090257402)+W(8,-1120169982,1039576302,1018630958,1032153615)+W(9,1034713638,1036089759,1035150121,-1126482082)+W(10,1033778855,-1134195605,-1122058050,1024033695)+W(11,1016006830,1017381585,1027377121,-1130216101);sum2=W(0,-1114775505,1022693528,1033686534,-1159675846)+W(1,-1112709023,1033838002,-1125624388,1032684170)+W(2,-1111353121,1040828458,-1108626677,-1179590680)+W(3,1041114289,1028829848,-1108121837,1037026782)+W(4,1051023520,1041444385,-1101109690,-1089609004)+W(5,-1101828769,1037546580,1033655640,-1104771455)+W(6,1077280281,1083159907,-1090827263,-1064966677)+W(7,-1073695373,-1090323484,1042738654,-1104201752)+W(8,1042396970,1039028690,-1129576724,-1146898193)+W(9,-1117377551,1046069066,-1098820901,1049907200)+W(10,-1100155636,1038899070,-1108327399,-1128357112)+W(11,1026559236,1017563688,-1149039617,-1119733667);WS(-1082925548,-1131273240); +sum1=W(0,-1130676005,1024417890,-1127912110,-1123681912)+W(1,-1128802908,1009745483,1030244593,-1124372951)+W(2,1028984921,1026031368,1046418962,1048544370)+W(3,1032747842,-1115143804,1035809011,1012870858)+W(4,-1090453298,-1094705109,-1088411833,-1080625999)+W(5,-1078821070,-1093720869,-1115224705,-1099806226)+W(6,1056020338,1048479050,1054709085,1056570469)+W(7,1060414079,1058018725,1048613352,1053689379)+W(8,1036092472,1026370227,1040943828,1016526011)+W(9,-1134933227,-1146727344,-1126383553,1034696072)+W(10,1031745797,1023514525,-1139610597,1039178347)+W(11,-1115579031,1033865376,-1123856496,1032018765);sum2=W(0,-1117505397,-1126832117,-1116692107,-1107644007)+W(1,-1117458583,-1123105101,-1117032217,1004815486)+W(2,-1114926763,-1140231915,-1125548157,-1125354742)+W(3,1042669208,1027773818,-1115355410,-1119603373)+W(4,1048798551,-1146496262,1045683415,1053833339)+W(5,1057710126,1032098567,-1100115369,-1110288078)+W(6,-1102904639,-1113101086,-1125191934,1000279686)+W(7,-1104919217,-1107525999,1032507221,-1103622420)+W(8,1025448640,-1129185935,1034411663,-1120274227)+W(9,1041220979,1022009255,1021108475,1039592007)+W(10,-1112830121,-1125809392,-1121525964,-1113082203)+W(11,-1111650191,1035574395,-1112638630,-1117835672);WS(-1089340204,1064822548); +sum1=W(0,1024560260,1017532199,1036465700,1032538389)+W(1,1031720480,1035008482,1020865894,1041385023)+W(2,1040632746,-1123651609,998268921,-1115892569)+W(3,-1109887627,1033415588,-1112010572,1043778521)+W(4,1042654740,1053882699,1058440180,1062655475)+W(5,1057084090,1054084900,1046711885,1050203279)+W(6,-1106019185,-1094337163,-1083627654,-1081203240)+W(7,-1087921069,-1086686700,-1098821294,-1083224116)+W(8,-1121721479,1033472482,-1112650528,1042941034)+W(9,1046201917,1038013786,1039144481,1043447032)+W(10,1037194524,1028050126,993325743,1013010462)+W(11,1035154240,1021897635,1027972046,-1131974615);sum2=W(0,-1108565409,1041490776,-1103680498,-1113858207)+W(1,1018958125,-1139146344,1024460115,-1111959213)+W(2,1034353453,1018486577,-1113519263,1052082200)+W(3,-1097140178,1046768714,-1098207895,-1128703602)+W(4,-1088688588,-1105841420,1037914109,1062919581)+W(5,-1095558118,1049328132,1041960027,1035231667)+W(6,1053209723,-1092734414,-1094792328,1049986423)+W(7,-1107726366,1044527939,1046336394,-1110040773)+W(8,1049996954,1039814215,1034343810,1012724150)+W(9,-1098318745,1024888668,-1106186917,1036710347)+W(10,-1107721619,-1122233136,-1116717915,1040029087)+W(11,1007719490,-1100531711,1037888927,-1102670680);WS(-1083458668,-1076208878); +sum1=W(0,1028803476,-1119221604,-1136427363,1033962333)+W(1,-1108948664,1041264181,-1108358441,1032628870)+W(2,1040683401,-1097616301,1042493937,-1106128994)+W(3,-1096558041,1044433886,-1097860853,-1123751924)+W(4,1046406904,1051879501,1058517387,1062475632)+W(5,1061490456,1053313566,1049919352,1054299289)+W(6,-1098733730,-1093169213,-1088547874,-1086787145)+W(7,-1088927588,1035939910,-1096390160,-1130402734)+W(8,1004468631,-1110693690,1024040880,1045297574)+W(9,1028806548,1038834422,-1095128350,-1106314264)+W(10,1030855367,-1111140815,-1127640694,-1108587948)+W(11,-1104411844,1040762412,-1118015030,-1165494119);sum2=W(0,1016611708,1037888148,-1105282980,1016374797)+W(1,-1146676672,-1118267731,-1130451858,1032410610)+W(2,1016478676,1037533502,1012928145,1042320298)+W(3,-1119445205,-1133007186,-1123652878,-1114217777)+W(4,-1110195557,1036667983,-1126800264,-1123884642)+W(5,-1097480948,-1111241984,1039970164,1039354964)+W(6,-1101004152,1029018929,-1092116144,1048907311)+W(7,1063932318,1045206632,1051255124,1032089604)+W(8,1040169462,1051795874,1041335879,1052196876)+W(9,-1105880602,-1088285853,-1095104183,-1090379026)+W(10,-1128480930,-1116498505,-1105668811,-1110762465)+W(11,-1096424000,1016609657,1029046774,1046489649);WS(-1104670894,-1131977046); +sum1=W(0,-1112648188,-1122872327,1034658686,-1105196647)+W(1,1040705957,-1105551222,-1121117111,1017793890)+W(2,-1127207577,1044660591,-1159198685,-1091967838)+W(3,1050515731,-1105182655,-1127322710,1049557794)+W(4,1054983097,1050049705,1055452918,1062208630)+W(5,1055187309,1051606290,1047450666,1052382814)+W(6,-1088875575,-1112061830,-1088327234,-1080890076)+W(7,-1103107959,-1088400827,-1103254713,-1097595959)+W(8,1031188251,1037435556,1047857485,1027642075)+W(9,1054501223,-1109004816,1042878098,1041414585)+W(10,-1103988635,1027063042,-1117747167,-1097581231)+W(11,1026629396,-1115427963,-1119280070,-1121163375);sum2=W(0,1016354951,-1117974191,1039379806,1055799129)+W(1,1043516685,1037116388,1033575170,-1131729016)+W(2,1027513536,1035918257,1037237024,-1144611727)+W(3,1028380863,1042440009,-1106882882,1025801393)+W(4,-1143898815,1029824032,-1103985849,-1097216592)+W(5,-1106760625,-1103814691,-1123395355,-1136138683)+W(6,-1120711631,1038928177,-1101088822,-1097673825)+W(7,-1124050651,-1105579212,1026359109,1011024469)+W(8,-1121835937,-1110582057,1009730353,1040607236)+W(9,-1115312251,1038947942,-1135830635,-1112603972)+W(10,1011202413,1027020738,-1113735870,1044957698)+W(11,-1114960631,1027787831,-1133116095,1008198659);WS(-1096559831,1037484900); +sum1=W(0,1028249855,-1134487991,1034313250,1016173128)+W(1,1027417370,1028347039,1000575210,1035635068)+W(2,1038422322,1027879764,1029515489,-1112460521)+W(3,-1107825326,-1123304579,1030471249,-1120703806)+W(4,1057397273,1048869250,1056640275,1065757625)+W(5,1058322735,1054334819,1052511918,1052376319)+W(6,-1091437192,-1098773026,-1086850776,-1083502823)+W(7,-1083394976,-1089694535,-1098313541,-1102551488)+W(8,-1101563608,1029769503,-1127965876,-1131269971)+W(9,1044386388,-1107441417,1031752252,-1098473097)+W(10,1033785689,1031362249,-1173649736,-1128247556)+W(11,1035484541,-1132373103,1034873120,-1142130892);sum2=W(0,-1112511339,1040888051,1033770332,1027239578)+W(1,-1109060021,-1135961020,-1113507810,-1110941727)+W(2,-1073555081,-1070793862,-1069228230,-1071158503)+W(3,-1080567434,1047598893,948656059,-1129804625)+W(4,1076402541,1075658117,1075655149,1077820889)+W(5,1045918702,-1118850699,1035044244,1026016583)+W(6,-1104998932,1054215981,1042820552,1046227202)+W(7,-1095422364,-1101978428,1045389579,-1103164541)+W(8,-1101584674,-1115233903,1010151672,1035248614)+W(9,1038949494,1049027220,1028467783,-1118124613)+W(10,1037626737,1015165170,1023929473,1033175695)+W(11,1025525751,1032251645,-1117328038,1042587545);WS(-1081931126,1073966570); +sum1=W(0,-1121849711,-1146361331,1017322599,-1106692309)+W(1,1025148299,-1106210884,1006422511,-1115138804)+W(2,1035175459,-1097410109,1043585907,-1120101763)+W(3,1050307440,1038219466,1023773090,-1132131774)+W(4,-1121951547,1026127169,-1144746721,-1091000962)+W(5,-1079735571,-1091953433,-1096168868,-1102445962)+W(6,1027761070,1045225025,-1106255910,1065386286)+W(7,1061827739,1056380469,1049682211,1046599772)+W(8,1025905706,1037511592,1043091875,-1111228857)+W(9,-1120837551,-1102991437,1003336935,1040799505)+W(10,-1114686833,-1113648733,1017686828,-1108319001)+W(11,1018597782,-1147707682,-1110127893,1028136822);sum2=W(0,-1106398945,1034732755,-1136096426,-1116038033)+W(1,1044672515,-1100200943,1037208365,1025870712)+W(2,1035173169,-1090565718,1037348813,-1089313148)+W(3,1037418911,1045738761,-1130864309,-1117649125)+W(4,-1101335301,1056357842,-1122254044,1066071262)+W(5,-1095175639,-1132458755,1007521414,1025322164)+W(6,1053305068,1050400788,1036743473,1057700465)+W(7,-1084949846,1003355997,1030076164,-1106413087)+W(8,-1121291886,-1115544374,-1105444760,-1086616818)+W(9,1050477957,-1102270714,1045722667,999303933)+W(10,-1109509581,-1107192051,1016457143,1022772267)+W(11,1033704361,1035291569,-1111299866,1024551876);WS(1052508503,1065718149); +sum1=W(0,1042149474,-1109127212,1041796883,1033122295)+W(1,-1120120612,1045736850,-1110374755,1038133568)+W(2,962035242,-1098223900,1027445007,-1108112926)+W(3,-1098175173,1043181559,-1100319159,-1102543586)+W(4,1048663227,1043423478,1055339346,1061167739)+W(5,1054196775,1055761732,1041284046,1051299336)+W(6,-1097510801,-1096660204,-1087758861,-1089406218)+W(7,-1094841886,-1105769888,-1103555357,-1120191499)+W(8,1028239019,-1104342914,1027971236,1037128774)+W(9,-1105773058,1042761157,-1101757237,-1105847257)+W(10,1038442493,-1109357577,1040109559,1025450507)+W(11,-1123303012,1044237597,-1111907879,1039590240);sum2=W(0,-1109097964,1021868522,1007318978,1032613655)+W(1,1002517286,-1126879582,1031113174,-1114937810)+W(2,1037136687,-1116667451,-1107845433,-1109068920)+W(3,1016069779,-1103760436,1030143702,-1118059752)+W(4,1031673749,-1094712046,1038331125,1040720319)+W(5,-1111158812,1056111085,-1106358629,-1121843086)+W(6,-1125393555,1041352693,1034962829,-1112580519)+W(7,-1106409067,-1106729155,-1106975050,1047380650)+W(8,1019467600,-1104433838,-1122570447,-1121851072)+W(9,-1113430896,1049773824,1036295980,-1122235886)+W(10,1025995330,1008084051,1039892459,1025598855)+W(11,1045465420,-1110468674,1020538422,-1113447212);WS(1056997868,1008833773); +sum1=W(0,-1118496039,1036420187,-1113594582,1034344230)+W(1,1038393121,-1109888100,1032434307,-1131937728)+W(2,1006806901,-1130107576,-1115019369,1045363911)+W(3,-1090717022,1037930126,-1110427933,-1112104883)+W(4,1039826714,-1123687353,1053157409,1059756929)+W(5,1058230383,1045739824,1042446790,1052782212)+W(6,-1123143270,-1104570591,-1093231896,-1095316624)+W(7,-1095564524,-1098051412,-1101398261,-1104229594)+W(8,1006039247,1032886196,-1105180689,-1102708199)+W(9,1035814292,-1129186168,1025625861,-1112516090)+W(10,1017005492,-1125702370,1028719950,1009228202)+W(11,-1119964195,1033820442,1028568173,-1136905401);sum2=W(0,1034320453,-1112051735,1043966073,1033608293)+W(1,-1092579307,1051236380,-1102939053,1027336318)+W(2,-1118604595,-1109468006,-1106879339,-1088213587)+W(3,1064370547,-1095838484,1043763107,1016664388)+W(4,1025235375,-1107232926,1049289065,1067079268)+W(5,-1088486363,1044420987,-1107783352,-1116658227)+W(6,1028595208,1046387359,1044354198,-1087106166)+W(7,-1108961766,-1104528882,1035658672,1023955051)+W(8,1002638229,-1105038970,1045499601,1035867996)+W(9,-1096457250,1028839698,-1122532695,-1126291119)+W(10,-1116609216,1005965131,-1111658272,-1132447732)+W(11,1042442572,-1134350406,-1131375963,-1135660575);WS(1064849644,-1092967401); +sum1=W(0,1041078624,-1103081652,1045204674,-1126422222)+W(1,-1107755791,1049230600,-1101861336,1041473799)+W(2,1033930742,1034184171,-1098756264,1038407355)+W(3,-1103118957,-1103625882,1035198826,-1102710964)+W(4,1053270962,1058076017,1059044453,1061713418)+W(5,1064682577,1047988615,1055582710,1058355518)+W(6,-1091277968,-1091900963,-1097334921,-1078564449)+W(7,-1099822850,-1091654943,-1096942230,-1098047297)+W(8,-1115974645,-1101902009,1038364767,1031099397)+W(9,1025967234,1010917525,1021900159,-1106099948)+W(10,-1124489961,1046377811,-1096742869,1034335299)+W(11,1015202107,-1098744549,1047801952,-1101582418);sum2=W(0,1034970587,-1105865147,1024111791,1018431373)+W(1,-1107243650,1038385161,-1114574492,-1129893537)+W(2,1039267337,1026053125,1040193826,1037956157)+W(3,-1106797747,1031902437,-1114137980,-1128932411)+W(4,-1109640195,1027743203,1042644379,-1088412806)+W(5,-1104275404,1031274183,-1115379021,1040558376)+W(6,-1085205368,-1076908464,-1072741915,-1079896887)+W(7,1057561219,1052902509,-1103620900,1054347378)+W(8,1065312771,1068235631,1074530244,1069229068)+W(9,-1110308581,1045193510,-1167188013,-1099424233)+W(10,-1111782462,1029167111,1035172075,1048206286)+W(11,-1092973955,-1105822229,-1102796809,-1106619819);WS(-1085552428,1044647857); +sum1=W(0,-1130568573,-1111247047,1001536536,-1104704953)+W(1,1029690778,-1104108900,1012447989,-1107166286)+W(2,-1120131932,1046596325,1026932885,1049575094)+W(3,1042872064,-1127841478,-1114289465,-1110288351)+W(4,-1097293585,-1095715202,-1090361246,-1085535724)+W(5,-1105723034,-1113844876,-1127895515,1028149942)+W(6,1052681344,1050957098,1059711152,1060788917)+W(7,1048249845,-1106926654,1034645781,1043016176)+W(8,-1115182247,-1125685565,-1097304503,-1122898434)+W(9,-1115360055,1050188162,-1110595670,1041406167)+W(10,1016796643,-1123522377,1028362085,-1112833505)+W(11,1008149481,-1111804152,1032897312,-1119471349);sum2=W(0,1049638564,1012096208,1055008508,1058022553)+W(1,1059601221,1065544846,1035938200,1043980555)+W(2,-1122573304,-1169058693,-1092917400,-1080721407)+W(3,-1081684685,-1080284825,-1096574070,-1098850345)+W(4,-1097365817,-1118822370,-1124083512,1056959548)+W(5,1056508637,1051359763,1044088441,1031681402)+W(6,-1120650912,1032693677,-1127709292,1044260765)+W(7,-1099806388,1042746095,1033735876,-1121369890)+W(8,1039129637,1036528332,-1113518885,-1122124802)+W(9,1019567420,-1101554026,1041548497,-1108142320)+W(10,-1114566411,-1119534724,1015256750,1042163670)+W(11,-1110975736,1032382474,-1110809702,1022534793);WS(1049904727,-1085461498); +sum1=W(0,-1114441151,1032673159,1027012354,1041600521)+W(1,1035856141,1033107055,1031163069,-1139856090)+W(2,1047758995,-1122472531,1048177385,-1116753522)+W(3,-1105032264,-1109908945,-1104848436,-1111353615)+W(4,-1092338425,-1101190388,-1096531431,1059669870)+W(5,1063099682,1058897901,1049115478,1055941567)+W(6,1054893264,1042608805,1050188989,-1088410395)+W(7,-1084283112,-1088007491,-1096369309,-1096366496)+W(8,-1095327506,-1108884127,-1104987150,-1123782065)+W(9,1042263123,1042892731,1029697804,1047202227)+W(10,1042581180,-1119554504,1041262473,-1120686401)+W(11,-1117364890,-1107384925,-1138499405,-1100444021);sum2=W(0,-1101934313,-1127864237,-1112463889,1047304216)+W(1,-1097499627,1041678537,-1128505773,1039199998)+W(2,1068410613,1066297935,1052441146,-1077079694)+W(3,-1082290320,-1095668928,-1097722710,-1096167330)+W(4,1053392914,1047339448,-1111508378,1044634164)+W(5,-1086326188,1053023843,1050833435,-1112581958)+W(6,1045964051,-1107136628,1035674775,1046050296)+W(7,-1113442140,-1135364198,1028981469,1028034745)+W(8,-1109754454,1023924243,-1121555471,-1111827987)+W(9,1006763480,1034831467,-1128234727,1032814306)+W(10,-1118726053,1029832629,-1111696115,1036477638)+W(11,-1119582249,1024856185,-1112331027,1017921306);WS(-1087326956,1033622098); +sum1=W(0,-1113899675,1035193378,1030557818,-1119324954)+W(1,1042470612,-1117399605,1021883592,1035419591)+W(2,1045896801,-1161971013,1045303135,-1095480777)+W(3,-1110770003,-1109576477,-1100233714,-1122013269)+W(4,1041409216,-1108871427,-1104804773,1041468886)+W(5,-1098059200,1052050234,1041862393,1017834329)+W(6,-1108955706,1048600721,-1094955846,1051943793)+W(7,1025944442,-1097508910,1030612641,-1106071902)+W(8,-1104543128,-1114333163,1045266364,-1096626659)+W(9,1048775867,1043056710,-1122051827,1042839849)+W(10,1041055226,-1106692192,1039063182,-1112593372)+W(11,-1107180444,1041486173,-1114362202,-1121041260);sum2=W(0,1008283263,-1114415273,-1114655921,1036167174)+W(1,-1111159985,1033204129,-1122340118,-1127458940)+W(2,-1111634453,1032259795,-1123951654,-1116061542)+W(3,1039368345,-1102899145,1024476440,-1118949310)+W(4,-1112224655,1046234660,1039099048,1049934438)+W(5,1003410015,-1113540553,-1117681522,-1122317014)+W(6,-1121896666,1020399084,-1139717487,1050902690)+W(7,1039007446,1039510238,1032062517,1033150391)+W(8,1031996897,-1105304684,1017260660,-1102142181)+W(9,1003551903,-1114854307,992233789,-1113963477)+W(10,-1106176579,1027107696,-1106922258,1022104088)+W(11,-1122048418,-1135188919,-1128403972,-1125862176);WS(1068173014,-1111006676); +sum1=W(0,1031049568,-1115395480,1019703498,-1113567107)+W(1,1015808760,-1109811912,1027899359,-1103105894)+W(2,-1103201566,-1112513259,-1112438249,1042819653)+W(3,1048780036,1039150546,1034094633,1040353932)+W(4,1048004603,-1117860850,-1104427535,-1083606526)+W(5,-1083053360,-1090564527,-1092330682,-1095220995)+W(6,-1100468360,-1173290307,1042677725,1064316383)+W(7,1063571221,1060600586,1050639762,1054475004)+W(8,1046039773,-1123264224,1030284012,-1122621123)+W(9,-1094902185,-1103353426,-1106486660,1034806311)+W(10,1012485196,-1127850837,1029876039,1036820754)+W(11,1035184606,1024997805,-1149057999,-1123061719);sum2=W(0,1014853092,-1120466254,1027909890,-1117512854)+W(1,1026011110,-1110873488,1036041188,-1115497806)+W(2,-1122580470,-1114547761,1030745116,-1119656010)+W(3,1035574738,-1120221385,1020780404,-1122615179)+W(4,-1120994367,1038991680,1034511499,1041066172)+W(5,-1109149586,1024235728,-1112980367,1020521688)+W(6,1047459793,1047680543,-1098401240,-1121088174)+W(7,1045982327,1024310650,-1122000913,1042402937)+W(8,1064875701,1054395623,1045153300,-1085223893)+W(9,-1084582209,-1099510820,1029465320,-1105747852)+W(10,-1132455031,1011283964,-1108441710,1018552602)+W(11,-1106692167,1026658994,1023023932,1004613671);WS(-1095915991,979918868); +sum1=W(0,-1115463727,-1137886897,1011021190,1011860489)+W(1,-1129491953,1007409140,-1124741815,-1122228982)+W(2,1032823819,1037523161,1029800132,1043477300)+W(3,-1105888052,-1114264129,1021218335,1030459197)+W(4,1026707497,-1131549790,-1108429845,-1100874368)+W(5,1047336484,1049886943,1042964547,1038061098)+W(6,-1119898332,1035412665,-1136100063,-1112838682)+W(7,-1098267600,-1097768883,-1106237874,-1108915952)+W(8,1026568544,-1108324895,-1138504034,1047390560)+W(9,1036689246,1037432366,996441389,-1121991146)+W(10,-1121143952,-1129452238,-1120493188,-1147670274)+W(11,1028096953,-1134502280,-1157333673,-1177453050);sum2=W(0,-1121902268,-1128394666,1039974898,-1114856664)+W(1,1032116923,-1115163450,-1112859101,-1128925353)+W(2,1020062213,-1143339877,-1102502778,1034423857)+W(3,1030950002,1038088024,1036537682,1019282123)+W(4,1034601005,-1111450467,1034366199,-1093114037)+W(5,1027196884,1036157347,-1130356560,1032717961)+W(6,-1096503308,1052764693,-1095299550,1060522961)+W(7,1057088106,-1104371255,1031719642,-1110891365)+W(8,1050858947,-1099720262,1055940597,-1087523263)+W(9,-1085850393,-1107617878,-1119144319,1017512699)+W(10,-1108630019,-1130142915,-1105816149,1037139152)+W(11,1054601799,1043807995,-1122652165,1025497552);WS(1066530838,1025703389); +sum1=W(0,-1120765920,1009297086,-1122351141,1015487755)+W(1,1015844344,-1127613121,-1133586812,-1124468594)+W(2,-1132051981,-1139418709,-1109474502,-1098776251)+W(3,-1109199593,-1123764613,-1121408403,-1145136640)+W(4,-1129191897,1032587897,1057153612,1049522345)+W(5,1041525985,-1109817213,1010121533,-1107128582)+W(6,1042371592,-1118415861,-1120712699,-1099055070)+W(7,1049700744,1050593755,1036084166,1038803505)+W(8,1007708012,-1122811552,-1105657359,-1099127683)+W(9,-1111888320,-1113004743,984437698,1036904923)+W(10,-1116932051,-1134432681,-1127344014,1026629028)+W(11,-1119906716,-1136900213,-1118848634,-1123829719);sum2=W(0,-1117430114,1039120940,-1106133189,1026507473)+W(1,1031550625,-1142215401,1026312489,-1139250704)+W(2,1041261247,-1107749198,-1099018179,-1131506304)+W(3,-1123617030,-1123190888,-1112954810,-1137414048)+W(4,1033806419,-1097831330,1064523288,1045711847)+W(5,-1088977338,1052831473,-1133526188,-1122137188)+W(6,-1126022952,1041137317,1057416214,-1092069746)+W(7,1059767697,-1088761837,1033531722,-1110686692)+W(8,-1155381873,-1127685702,-1099691831,1026250214)+W(9,-1098651966,-1118397760,-1130823120,1029280576)+W(10,-1125967712,-1116954634,1032736142,-1120045450)+W(11,1021746164,1028302350,990513889,-1115066264);WS(1066680246,1040921440); +sum1=W(0,-1119730500,1034101258,-1132236433,-1104735450)+W(1,1035235184,-1111591250,1024518355,-1121802685)+W(2,-1110280861,1011417444,1027753539,1038200908)+W(3,1035268043,-1121734057,1032771355,-1126371080)+W(4,-1092083138,1031601302,-1090607216,-1078665075)+W(5,-1096046953,-1093429316,-1094352558,-1102572591)+W(6,1053565584,1054599907,1058261942,1061430978)+W(7,1061610294,1056142824,1053165350,1055282545)+W(8,-1110918026,-1143895330,-1111808624,-1099071584)+W(9,-1106320677,-1105323662,-1138833863,1035738553)+W(10,1029997623,-1113777127,1039976245,-1112447940)+W(11,1023744576,-1145165385,-1113453535,1031263347);sum2=W(0,1033717276,-1129082210,-1111396517,1053521042)+W(1,-1096499765,1041638909,-1115028859,-1143837439)+W(2,1028210443,-1130739278,-1117565460,-1113906791)+W(3,-1106119849,1044690885,1000486481,1015998178)+W(4,1046091050,-1085374293,1033058760,1062822204)+W(5,-1089123399,1003636411,1048601259,-1103883056)+W(6,-1119519632,1026401017,-1106338078,1066908993)+W(7,1034907371,1054286387,-1096894542,1041460877)+W(8,1050909876,-1110182528,-1149282827,-1081393742)+W(9,-1094008056,1035142168,1020535023,1028271260)+W(10,-1117678961,1042909501,-1099518378,1044082334)+W(11,-1097984366,1040282994,-1109925208,1021313035);WS(-1111691100,-1070453585); +sum1=W(0,1040350706,-1107702492,1045915011,-1103582444)+W(1,1036820082,1030081641,-1112926972,1034445457)+W(2,1032181048,1006352113,-1101176752,-1098104500)+W(3,-1111995209,-1105752467,-1111976126,1025879721)+W(4,1054597571,1056547603,1059824936,1062411659)+W(5,1062112057,1042786985,1050598527,1058122296)+W(6,-1090063653,-1111618639,-1087007388,-1079908657)+W(7,-1098160558,-1094958736,-1104521261,-1107753094)+W(8,-1105977411,1011306277,1037450066,-1113612402)+W(9,1043358554,-1108376090,1024420791,-1098378691)+W(10,-1114266718,1034245578,-1130610528,-1111998342)+W(11,1021846218,1026051990,1032139296,1018599200);sum2=W(0,-1102183736,1045283790,-1099060082,1029589699)+W(1,-1103326288,-1146696619,-1123727405,-1106785078)+W(2,1044690091,-1117083441,-1109435037,1005932683)+W(3,-1109954065,-1130369043,-1115538567,1039027144)+W(4,1025447267,1036724432,-1100626978,1066859805)+W(5,-1114206859,1024539831,-1123732285,1040901138)+W(6,-1103679886,-1096666126,935783211,1061824774)+W(7,-1098480165,-1113161303,-1109149493,-1129688427)+W(8,1034791609,1043810354,-1097803022,1034749891)+W(9,-1094988176,1050252440,1029732207,-1105144948)+W(10,-1120655593,-1109094473,1029730663,1023292171)+W(11,-1109570093,1012313206,-1106431920,1015686163);WS(-1105638574,-1077878805); +sum1=W(0,-1112101313,1025565072,-1118212870,1034991091)+W(1,1037618766,1033034081,1023523536,-1143864013)+W(2,1043313362,1041884710,1045058176,-1099609869)+W(3,-1100255017,-1097107341,-1104696333,-1128917761)+W(4,-1104398291,-1093904634,-1086702118,1055637093)+W(5,1061981800,1053455331,1048950646,1037339676)+W(6,1034529536,1043314021,1058479092,1049084915)+W(7,-1082434966,-1087005060,-1098585534,-1105402705)+W(8,-1120033234,-1106696920,-1128822905,-1126325576)+W(9,1050170340,1046293466,1042248226,1032623999)+W(10,1017824488,1028280843,1038132788,-1136921361)+W(11,-1125947450,-1124008918,-1126565485,-1114937252);sum2=W(0,1040832216,1042032808,1039550307,1029252447)+W(1,1040592387,-1111709033,1050208698,-1091595987)+W(2,-1125419559,-1103788280,1043848052,-1099123277)+W(3,1047689572,-1102650535,-1105352144,1033340873)+W(4,-1166596642,1045241846,1051795538,1068949095)+W(5,-1094163017,-1111700665,-1117027793,1027304955)+W(6,-1076839498,-1091833274,1035730071,1070654393)+W(7,-1096947569,1050259859,1051072204,1048679723)+W(8,-1085872442,-1105795498,-1094587067,1007431650)+W(9,-1089767553,1041510738,-1100476212,1057584085)+W(10,1038631745,1037000995,-1115278352,-1103746979)+W(11,1041143367,1025070825,-1116523862,-1093749689);WS(-1095944791,1081861902); +sum1=W(0,-1129669743,-1116664839,-1148272609,-1121494877)+W(1,-1115602986,1028329496,-1123378150,1027525168)+W(2,1034635115,-1122706061,1033259121,-1124251544)+W(3,-1126517523,-1128061368,-1130313237,-1119991479)+W(4,1057433596,1048908041,1058166921,1058746094)+W(5,1055593874,1057488289,1049860117,1061071735)+W(6,-1090131839,-1093164666,-1087001587,-1083481847)+W(7,-1085306808,-1091485686,-1102755929,-1105495231)+W(8,-1120322428,1030509816,1035303897,1044900399)+W(9,1041073282,1023593721,1034451003,-1102595129)+W(10,1008560041,1023557506,1013701241,-1117995899)+W(11,-1116643091,1023656437,-1164007844,1024551167);sum2=W(0,1029670841,-1115575058,1042858197,-1101600217)+W(1,-1117748556,1035438169,-1114535210,1032334939)+W(2,999172620,-1099435099,-1139359478,1027943101)+W(3,1048715384,-1098854617,1036336651,1041563473)+W(4,1042251423,1041110640,1058527193,1075961547)+W(5,1073424302,-1086643829,-1080060710,-1067239867)+W(6,-1105031588,-1120449287,1010020318,-1109667225)+W(7,1057314889,1037113027,-1123725073,-1100548924)+W(8,1027957701,1035596553,1019832195,1011086126)+W(9,1033526397,975610078,1012557694,-1095465488)+W(10,1026093121,-1156632055,-1126960339,1010028142)+W(11,1037810339,-1115077778,-1133987070,1036754195);WS(-1085172076,1069147958); +sum1=W(0,1025703205,-1141293989,1041286826,-1119005195)+W(1,1026450561,-1117134469,-1120895076,1025414366)+W(2,1027233863,-1106615031,-1115436126,-1112858253)+W(3,1042609938,-1122683754,1044686038,-1117169125)+W(4,1026640114,1042354526,1053740861,1054852793)+W(5,-1119314307,1026745790,-1108709290,1023400633)+W(6,1029190628,-1106775167,-1106293072,-1089581852)+W(7,-1098775605,-1108063055,1015550627,-1125318352)+W(8,-1111659152,-1115892869,1035182992,1027435128)+W(9,-1137028117,1038436612,-1112739478,1031194923)+W(10,-1139375968,1028377583,-1156734143,-1121669673)+W(11,1034668065,-1119291218,1027259179,-1118201212);sum2=W(0,-1154464437,1004660066,1011666487,1016373458)+W(1,-1117096132,1027534293,-1118720211,1024315262)+W(2,1027039233,-1115032564,-1147080182,975139636)+W(3,1025013868,-1117310194,1025607183,-1145025250)+W(4,1008089899,1041471507,1053281755,-1081313755)+W(5,-1118862913,1040077608,-1134922624,993302909)+W(6,-1117609897,1033488023,1082321679,-1065846603)+W(7,-1122974098,-1130639872,-1143672974,-1114202318)+W(8,-1118717800,1033628240,1046901100,1050032460)+W(9,-1106934499,-1137731251,-1177023016,1017914834)+W(10,1027401421,-1112728150,1012824907,-1108305112)+W(11,1038621352,-1137500513,-1129758225,1025570630);WS(1065820150,-1112682631); +sum1=W(0,-1105640672,-1136938293,1007936778,-1099447769)+W(1,1033964109,-1110772895,-1107676126,948858222)+W(2,-1140735040,1045425461,1012508339,1052020966)+W(3,-1110876672,1038536521,1034428376,1041035251)+W(4,-1096706537,-1095619178,-1101065539,-1083835034)+W(5,-1127256032,-1101414038,-1102412811,-1104437005)+W(6,1051064512,1046810501,1057299292,1054321083)+W(7,1044289505,1042038046,1050440565,-1126355329)+W(8,-1114855500,1041816072,1015987827,1049485320)+W(9,-1106506396,1031650401,-1098866309,1044647659)+W(10,-1128129890,-1108472292,1036938130,-1101761488)+W(11,1035708141,-1113134674,1031811610,-1119496853);sum2=W(0,-1116689599,1033662400,-1110264521,-1113832562)+W(1,1034493072,1024644211,-1105470304,1030330543)+W(2,-1104060794,1047714485,-1106889746,1055059659)+W(3,-1089308922,1027816870,1032487381,1043118546)+W(4,1023887631,-1101000300,-1123902349,1047334183)+W(5,1060541265,-1145174230,-1099777158,-1100795602)+W(6,1047625619,-1113896185,1058674488,-1105663288)+W(7,-1079751447,1040502911,1059286709,-1110882655)+W(8,-1104647113,1049921725,-1100964722,1060005487)+W(9,-1088726381,1026206299,-1093081927,1033716355)+W(10,1032108768,-1114038586,-1134500667,-1105023935)+W(11,1046968990,-1116742649,1042150309,-1127164330);WS(1051219671,1032040132); +sum1=W(0,1024246061,1029213629,-1142580623,1007533386)+W(1,-1132388626,1016678619,998523489,1023830470)+W(2,-1110293770,-1111062337,1026027124,1035026513)+W(3,1036422600,1011246152,-1173422083,-1130424090)+W(4,-1098745559,-1104763504,-1097349705,-1082429923)+W(5,-1083869189,-1095610025,-1095350964,-1094623957)+W(6,1035978230,1041701281,1051781481,1065410260)+W(7,1060856625,1057796630,1045145830,1055180598)+W(8,1050231066,-1106571859,1040668770,-1111350032)+W(9,-1113287631,-1122887388,-1109374678,1007169387)+W(10,-1111943280,1016965359,1026054164,1035026168)+W(11,987392292,1019565189,-1110518465,1026555204);sum2=W(0,-1123481859,1024186334,-1181265672,-1136581772)+W(1,1007273042,-1130526339,-1134191606,1035801320)+W(2,-1131096266,-1121050215,1023491721,-1115413373)+W(3,1036272276,-1110187157,-1123342647,-1125507188)+W(4,-1107023625,1040345453,-1110082893,-1116173932)+W(5,1041634800,1028205855,1036476425,-1124495703)+W(6,1040776673,-1129271163,1044851152,-1097567007)+W(7,1051516690,-1106625929,1035231370,1007786534)+W(8,-1073406322,-1080765061,-1077100552,-1085034176)+W(9,-1104398720,1019889879,-1115096299,-1105128420)+W(10,1074128739,1066657253,1068015119,1066670217)+W(11,-1111857710,1026394385,990445793,1030299973);WS(-1124324720,1038677119); +sum1=W(0,1008341069,1031967089,1023486232,1037528348)+W(1,-1122921519,1029849459,-1114006089,1035528454)+W(2,1038389179,993181316,-1145165264,991007864)+W(3,1024190949,1044031254,-1123515526,1052524910)+W(4,1056361124,1050863173,1054230472,1063082151)+W(5,1050043692,1049660054,1043779649,-1097977265)+W(6,-1081451931,-1096246661,-1086637900,-1088130503)+W(7,-1092787999,-1099337955,-1095996120,-1102904005)+W(8,1047683325,1035916906,1027831167,1026128198)+W(9,1020947750,1025351359,1037985981,-1114005272)+W(10,-1130646284,-1134539381,986748732,1003368116)+W(11,-1115252008,1036720064,-1116396881,1029521402);sum2=W(0,1042203848,-1133163156,-1108707706,1027923803)+W(1,-1098359820,1043843260,1021888231,1023965418)+W(2,-1089098687,-1098025067,1036383110,1058285406)+W(3,1062333205,1048839159,1058743586,-1078465930)+W(4,1035967917,1052777785,1043356562,1046924897)+W(5,-1080913711,-1088408400,-1097507024,1067915456)+W(6,1068788369,-1096461215,-1090569807,-1088764217)+W(7,-1095261121,-1098396864,-1093746709,1064748817)+W(8,-1095505730,-1097973178,-1127034898,1056967609)+W(9,1040836988,1046078649,-1111389506,-1099047850)+W(10,1025788011,-1111191248,1023876171,1046203397)+W(11,-1107189985,-1113219498,-1110869404,1040158004);WS(-1080347734,-1094728165); +sum1=W(0,-1115633753,-1128052610,996364134,1027254679)+W(1,1027401421,-1125749028,-1143663749,1017291157)+W(2,1036436624,1031912915,1038598142,-1114408211)+W(3,-1097652239,-1109729611,-1111208674,-1118442418)+W(4,-1113632799,-1104119121,-1095896866,1064358521)+W(5,1061684826,1051089073,1044518984,1048577269)+W(6,1018734050,-1104173746,1042956529,1051156401)+W(7,-1087880029,-1093838037,-1100689848,-1104163629)+W(8,-1104273977,-1115038313,-1098511458,1006576423)+W(9,1037804713,1039011098,-1157246715,-1145301883)+W(10,1022550473,-1128796792,1027191321,-1123707765)+W(11,-1125317723,-1116369959,-1130384675,-1113863292);sum2=W(0,-1137561210,1008161562,-1138249722,1032804591)+W(1,-1118405314,-1149548391,-1140666666,-1121723310)+W(2,1000810292,1017087401,-1104015266,1045940061)+W(3,-1112933693,1040845572,-1131915309,-1125770861)+W(4,-1109671087,-1143663956,-1100429296,1064636422)+W(5,1041071232,-1095622064,-1113635957,-1156294183)+W(6,-1098257975,-1088410023,-1110483119,1065774501)+W(7,-1111449957,-1114533177,-1105461804,-1154727079)+W(8,-1113334223,1033424863,-1113376685,1041401738)+W(9,-1107119710,1041680128,-1114424843,-1143304660)+W(10,1010643898,-1122425914,-1120544050,1015219657)+W(11,1028103016,-1125778629,-1127495397,-1128411685);WS(1062796012,-1081433938); +sum1=W(0,-1140258862,1019305782,1017521696,-1128637410)+W(1,1030042599,-1140240046,1023786378,1027083972)+W(2,1047697940,-1137205890,1040574503,-1131514496)+W(3,-1115750349,-1114177400,-1119424318,1025144619)+W(4,1041493798,1051824452,1048941321,1061551411)+W(5,1058760695,1056942277,1045023263,1056967544)+W(6,-1090901033,-1095124244,-1090555023,-1084025976)+W(7,-1089279069,-1089170928,-1099538126,-1087239225)+W(8,1032453887,1034552166,1032035723,1036871279)+W(9,1041251643,1032547975,-1117686145,1027338481)+W(10,1008978681,1031420374,-1124609380,1025475023)+W(11,1016399695,1024887097,1002611913,1012109898);sum2=W(0,1004838046,1009005547,1023830295,-1121204348)+W(1,1026709605,-1145957446,1024434367,-1122812157)+W(2,1036867068,-1112484311,1034701810,-1131856601)+W(3,1008859907,-1129570235,-1120209470,1023686531)+W(4,1023348885,-1113333873,-1115269491,-1084820204)+W(5,-1095888786,1052224270,1043852487,1047863595)+W(6,-1120560082,1019969949,-1089366478,-1067115412)+W(7,-1071017431,1066362408,1084005284,1063525936)+W(8,1032448279,-1115333043,1028612787,-1132671203)+W(9,-1112864526,1045423025,1025066805,1043035962)+W(10,1025411331,-1123665230,1024216939,1034346460)+W(11,-1116027280,-1133553563,1032270816,-1105823812);WS(-1103681710,-1114530079); +sum1=W(0,1025861737,1029506744,1032236919,1035998951)+W(1,-1111043394,1007410083,-1126534927,-1123346113)+W(2,-1130912909,-1104283663,-1132593150,-1102933559)+W(3,1040041573,992747222,1034020670,-1119406504)+W(4,-1110124091,-1117715067,1039686571,-1097542514)+W(5,-1088677703,-1112367617,-1105036246,1035634224)+W(6,1040844938,1046218351,-1098764800,1059317136)+W(7,1057765873,1054923388,1029185429,1040434219)+W(8,-1105267215,-1121870249,1038793978,-1096018272)+W(9,-1105386706,-1101946581,-1122605111,-1143951794)+W(10,1021540535,1032871129,-1120294159,1036773558)+W(11,-1111111618,1031187710,-1138057273,1023823648);sum2=W(0,-1133865733,-1114357788,-1113774565,-1094909862)+W(1,1041934157,1048238594,1041091101,1042608690)+W(2,1041378526,1025611699,1057780422,-1134317911)+W(3,-1084534604,-1105040821,-1096429323,-1128928913)+W(4,-1102114760,1041852494,-1090351620,1058263821)+W(5,1059786982,-1114163954,1034035361,-1102786592)+W(6,1040042063,-1102827642,1041105879,-1094128428)+W(7,-1121888905,1038597269,-1139774900,1035391793)+W(8,1036263014,1023561916,-1107817782,1049906607)+W(9,-1106476521,1034361268,1016844568,1014428216)+W(10,-1111718847,-1109687464,1041802453,-1106696300)+W(11,1023851848,1032032810,-1111010993,1031652841);WS(1059372396,-1131086843); +sum1=W(0,-1116770958,-1133338231,-1109423369,-1142676381)+W(1,-1119417706,1016864285,-1134266292,1026073927)+W(2,1038224730,-1110641250,1048611339,1026922691)+W(3,1012241985,1033593306,-1108924145,1029871326)+W(4,-1145642197,1044958408,1054215533,1059821143)+W(5,1063416476,-1109435540,1051611888,1046037553)+W(6,1033085351,-1100693257,1024247225,-1085100606)+W(7,-1082741615,-1105005730,-1096553463,-1091104802)+W(8,-1114157744,1030339791,-1106016522,1039898225)+W(9,1046979692,-1157274234,1033932042,1022970360)+W(10,-1129272066,1026076824,-1113286331,-1126911267)+W(11,-1119319754,-1131274519,1018258200,-1118999381);sum2=W(0,-1117639690,-1126294727,-1135696947,996342293)+W(1,1025603183,-1120264553,1034416033,1029227505)+W(2,1032542252,-1105983103,-1105990346,-1101410582)+W(3,1031145839,1029472991,-1125334020,1016716795)+W(4,1049036492,1053585046,1063294224,-1084067012)+W(5,1030876063,-1090564487,1047874805,-1103677712)+W(6,-1106428174,-1090074420,1074893281,-1121077701)+W(7,-1079475296,1059480413,-1099339963,-1097572114)+W(8,-1100598545,-1101677356,-1088449090,1052666358)+W(9,1049420880,-1099961793,1047783255,-1106211131)+W(10,-1124515281,1042350020,-1128187082,-1118105649)+W(11,1033189178,1012743453,1016211057,1026065323);WS(998487488,1024735998); +sum1=W(0,1034787125,1033987197,-1118966639,-1138173503)+W(1,1022076300,-1112157509,1034213589,-1125240838)+W(2,-1096711418,1049342972,-1099717199,1051641300)+W(3,1049184050,1032130968,1048086279,1039987293)+W(4,-1093645783,-1089249828,-1085775960,-1083720757)+W(5,-1086133195,-1087092580,-1098046771,-1087792286)+W(6,1058035879,1055719968,1060189357,1061848612)+W(7,1062875388,1007190411,1051240059,1039984791)+W(8,-1113381667,1033680357,-1108537011,-1102783527)+W(9,-1129404117,-1110331987,1030325168,1051616838)+W(10,1020339515,1037116250,-1109989161,1046511483)+W(11,1032957443,1011591327,1039628088,-1135236550);sum2=W(0,1001577162,1041063142,-1112011211,1039747614)+W(1,-1137882877,-1105672858,1031849538,-1108158369)+W(2,1048277958,1048804575,1037383696,1042988518)+W(3,-1097597287,-1099442373,-1108394523,-1155656404)+W(4,-1094388043,1061039504,1055288082,-1084834029)+W(5,-1087507005,1044806256,-1093629181,1059993792)+W(6,-1079852425,-1095199392,-1077655189,-1103423898)+W(7,1064308251,1065240337,1071708239,1061107030)+W(8,1055450674,1054780006,1058201467,1071463850)+W(9,1058560116,-1080251704,-1090257183,-1073879137)+W(10,1040994203,1035580564,-1111912036,-1100510960)+W(11,-1097442490,-1090250140,1028605291,-1106111844);WS(-1077135094,1050907162); +sum1=W(0,-1132921461,-1127648729,-1124984131,-1118007170)+W(1,-1117294457,-1126452986,-1124706520,-1119126518)+W(2,-1117094275,1033699545,1030394994,1045491604)+W(3,1039295895,1040542752,1018438944,1035722382)+W(4,-1098008869,-1094355462,-1089194394,-1081313730)+W(5,-1088142214,-1094044967,-1098093746,-1094059515)+W(6,1043699095,1055483630,1053279460,1065160347)+W(7,1056280352,1058021117,1041063570,1050783700)+W(8,-1112620946,1042990903,1047326318,-1121246728)+W(9,-1110840279,-1106681402,-1128181366,1018820533)+W(10,-1122422352,1034045812,1011377167,1042128328)+W(11,-1103632934,1039870541,-1109127577,1037083890);sum2=W(0,1003021837,1029225785,-1123823650,1023947681)+W(1,-1119691195,1024608678,-1125446899,1034042378)+W(2,-1110495495,1032075003,-1122423961,1043723635)+W(3,-1138212418,1017994477,-1115371525,1002413729)+W(4,1016902499,993748010,1028513681,-1096435650)+W(5,-1120166015,-1119557273,1032720188,-1115060009)+W(6,-1116948709,1041772340,1083263801,1074788880)+W(7,1038793960,1017310535,1032034162,-1118011761)+W(8,1029108513,-1097222635,-1063916786,-1074844879)+W(9,-1115182489,1021770517,1014563122,1027576529)+W(10,-1113320609,1042534143,1039031010,-1104645285)+W(11,-1124877446,-1131419477,-1119401015,999290841);WS(1048452526,1015184705); +sum1=W(0,-1138645804,1032256237,-1114005032,1026512560)+W(1,-1140244890,-1131077462,1024452554,-1122466948)+W(2,-1110581160,1049910352,-1103860667,-1098570768)+W(3,-1119844941,1040825100,1017183931,-1119780203)+W(4,-1106270342,-1113826958,-1097372109,-1087095027)+W(5,-1095003728,-1095439444,-1128526324,-1106181921)+W(6,1048623137,1036222192,1057099626,1061337654)+W(7,1054485156,1049129464,1044366494,1040163591)+W(8,1006760678,1042522323,-1101854594,-1106501979)+W(9,-1115808507,1027903818,-1153767820,1034550428)+W(10,-1113210911,1029873877,-1111141177,1024448974)+W(11,-1125584845,-1111469876,1027351533,-1117633442);sum2=W(0,-1117856953,1002437005,-1122373390,1023823647)+W(1,-1131092262,-1119824143,-1129026789,-1118651901)+W(2,1034706164,-1114697961,-1110151254,-1078943314)+W(3,-1111296752,1008147760,1015792571,1029244251)+W(4,999139177,1016679180,1034965747,1069645782)+W(5,1026082346,1005900489,-1134452913,-1121319377)+W(6,-1115089108,1009230224,1007700984,-1105149666)+W(7,1033262730,-1142960238,1015281188,1026230788)+W(8,970725323,1019562884,-1131774725,1038179083)+W(9,1014219446,-1130072184,1012295392,-1122304449)+W(10,1017499348,-1131336757,1031482891,-1120925641)+W(11,1015408436,1001625665,-1137039581,1019807852);WS(1061396972,-1097419696); +sum1=W(0,1040610541,-1116833412,1015657075,-1126977972)+W(1,1033993320,-1125945514,1028019732,-1120964750)+W(2,-1110826049,1042368898,-1113808270,1036447253)+W(3,1043284110,1048078310,1028739112,1052576556)+W(4,-1087862644,1000165941,-1108964145,-1085843362)+W(5,-1088558114,-1086794197,-1087573386,-1079810761)+W(6,-1108888122,1058527541,1056284429,1053927177)+W(7,1062174380,1055390198,1042115560,1051035743)+W(8,1051684947,-1102910221,1041698836,-1107922836)+W(9,991752527,-1112253878,1039363202,1047360574)+W(10,-1117156776,-1135746300,1026275932,1041042462)+W(11,-1137078595,1035139905,-1118906322,1038370422);sum2=W(0,-1104315228,-1117475550,1019617669,-1096755788)+W(1,1043056626,-1097959989,1038305467,-1121707278)+W(2,-1103350409,1024254038,-1116633366,1042486592)+W(3,1038440719,-1097184876,-1107570984,-1092525975)+W(4,-1094844926,-1091235931,-1089312569,-1104902685)+W(5,1045881224,-1101957876,1058820589,1058872796)+W(6,1062539510,-1112967686,1056743222,1052266072)+W(7,1037341407,1012499609,1048266302,-1099676541)+W(8,-1096027281,1042482062,-1129394013,1051055108)+W(9,1044017054,-1101861122,-1105903455,1041661910)+W(10,1014020953,-1119186298,1028745390,-1093268483)+W(11,1054988226,-1102938164,1026503526,-1135013257);WS(-1084431788,-1073850193); +sum1=W(0,-1121456839,1023326765,-1111055334,-1131954777)+W(1,-1127100870,-1115233108,1032290155,-1113154576)+W(2,-1130755883,-1119027356,1007276024,1032958718)+W(3,1051511197,1038479638,1033362061,-1118671783)+W(4,-1131651239,-1113039213,1041028837,-1121014635)+W(5,-1080291009,-1101242168,-1095204295,-1109590335)+W(6,1035028387,1052115068,-1087869490,1031197854)+W(7,1064028192,1046762496,1048797598,1048241682)+W(8,1035837265,1031790055,1043959725,-1151139494)+W(9,-1097929447,1016490449,974160200,1033898418)+W(10,-1139076328,-1110649673,-1126605404,1037205893)+W(11,1022476742,1029406204,-1117985767,1016018525);sum2=W(0,975878233,1027199947,1032202892,1011577542)+W(1,989447596,-1126785583,-1112180928,1027448187)+W(2,1035912472,1026239811,-1109490583,-1099491895)+W(3,1027909011,-1142596491,1032601180,1030066347)+W(4,1033266404,-1101163205,-1092678923,1052721602)+W(5,-1115079323,1042994318,-1117880304,999387083)+W(6,-1098777501,-1120465270,1026269275,1058060839)+W(7,1022663675,-1109244590,-1139999774,-1113199846)+W(8,-1115369638,1047867282,1048647954,1026065727)+W(9,-1107120056,-1139333782,-1113232790,-1128307819)+W(10,1024165887,-1114558090,-1127793863,-1110013405)+W(11,-1115589183,1028177183,-1119188249,1010561254);WS(1060891500,1063998119); +sum1=W(0,1009319059,1021371624,1020060242,1034805925)+W(1,-1119463744,1029917861,1022228167,1028919037)+W(2,1034817251,-1123888698,1007070174,1031377177)+W(3,1035958587,1040845210,-1119265271,1041595485)+W(4,1060685055,1050963407,1059880676,1058492133)+W(5,1057972187,1045390927,1050698442,1042995863)+W(6,-1082111981,-1089953728,-1083685732,-1080402290)+W(7,-1087669949,-1092052092,-1101265316,-1093474029)+W(8,-1146641530,1042831681,1044491976,1049293617)+W(9,1044279073,1030870792,1040824939,-1117179330)+W(10,1021753903,-1158245846,1024323659,974645755)+W(11,1017781825,1029410098,1009963113,1033823734);sum2=W(0,1043252027,1039685669,1021402919,1043798699)+W(1,-1106121381,-1107286980,-1116219530,-1105216890)+W(2,1031085111,-1103588836,-1094345084,-1097680472)+W(3,-1098140010,-1117022930,-1111854401,-1165267820)+W(4,-1089976691,-1136546874,-1106220008,1053086422)+W(5,1041831351,1053158416,1043898913,1065796563)+W(6,1015926083,1047286193,1049855126,-1093227067)+W(7,1030378489,1047431201,-1088912308,1047204695)+W(8,1075090314,1055918010,-1100279282,-1086978538)+W(9,-1081018505,-1090494906,1049023531,-1076607098)+W(10,-1090475122,1041438201,-1097421747,1055157984)+W(11,1047503463,1040447738,1013873926,1060337257);WS(-1071907259,-1110912590); +sum1=W(0,-1125193009,-1128862543,-1134196340,1030754750)+W(1,-1115532794,1035978988,-1122396199,1030566929)+W(2,1047025832,1037187527,1045585380,1046461539)+W(3,1034859053,1044478211,1038023446,-1115297724)+W(4,-1082520498,-1091004805,-1082717575,-1081098270)+W(5,-1085641231,-1094770022,-1100806498,-1096364930)+W(6,1060301769,1051495910,1059488668,1059029683)+W(7,1058265227,1047385124,1051401113,1030610907)+W(8,1034040338,999732421,1034460834,1039737374)+W(9,1026869576,1035505465,-1108119003,1049444580)+W(10,1027334603,1007930762,1012148988,-1153534395)+W(11,1008981841,-1141674924,-1131397284,1004145403);sum2=W(0,-1094095783,1046265071,-1105766507,1052972269)+W(1,-1118583019,1048411623,-1102184915,1063609884)+W(2,1071341959,1041114835,-1093757522,-1096593198)+W(3,-1091593516,-1091154406,1057911473,-1073590228)+W(4,-1106266089,-1087794787,1036032273,1065807667)+W(5,-1120668367,-1098744738,-1101075731,1041493985)+W(6,-1079612356,-1090342602,-1097206613,1072329002)+W(7,1052074546,1035089459,1053464489,1066861510)+W(8,-1096220802,-1119797941,-1100480279,-1091841958)+W(9,-1107977625,1049018868,-1101117382,-1098841365)+W(10,1053270877,-1103321092,1044676561,-1113258696)+W(11,1022355226,-1099949977,1048742227,-1096064815);WS(-1073583387,-1097642521); +sum1=W(0,-1113793830,1025630043,999171711,-1113970392)+W(1,1041107242,-1126372055,1019259188,-1141619744)+W(2,1040986278,1018743169,1043520539,-1126196031)+W(3,-1117788829,1023908016,999617264,997975216)+W(4,-1123577624,1051202676,-1085714085,-1137921726)+W(5,1058609607,-1120709796,1049515695,1048163249)+W(6,1026212810,-1107655120,1058537807,-1102760649)+W(7,-1084066799,1038867522,-1105494638,-1113662887)+W(8,1031641306,1015332695,-1102186706,1042214156)+W(9,1050734989,-1104026556,1038371877,-1118473257)+W(10,-1117606078,1026666645,999394704,-1098706922)+W(11,1028174279,-1105230460,-1131430066,-1117999154);sum2=W(0,1020465344,-1122047285,-1132946638,1029560286)+W(1,-1137208000,1032274109,996568996,-1139618609)+W(2,-1114187457,1035498840,990134284,-1105572872)+W(3,-1125836673,-1107008827,-1143550666,-1133886920)+W(4,1042661620,-1112200610,1050532943,1053825241)+W(5,1035380426,1041934457,-1132156656,-1115627477)+W(6,-1108558660,990338200,-1098817485,1046181371)+W(7,1052951690,-1099854916,-1101729420,-1120597401)+W(8,1022323488,1037081003,-1116108394,-1112231866)+W(9,-1098433232,-1115059895,-1106305341,-1145950712)+W(10,1024517966,-1114108748,1033071181,1024966834)+W(11,1018142458,-1114933005,1025004711,-1129654551);WS(1066138518,-1093674260); +sum1=W(0,1029114768,1016625343,1023256234,-1135602902)+W(1,-1154917052,-1126509217,-1119361423,-1120895465)+W(2,-1096639483,-1107076945,-1097327813,-1112968866)+W(3,1039946769,-1145778087,1040195377,1035798312)+W(4,1057895286,1046373881,1060592282,1048700903)+W(5,-1102042589,-1102212410,-1110743776,-1096085673)+W(6,-1095967018,-1098130813,-1090692519,-1096019117)+W(7,1052511498,1050590801,1037092318,1054517602)+W(8,1030209323,1027610352,1010824623,-1147523994)+W(9,-1107963320,-1106421308,-1114290095,-1103975991)+W(10,-1115838467,1036809869,-1116997111,1034515722)+W(11,1025259308,1031910367,1015369596,1032370884);sum2=W(0,1020680083,1026207298,-1114338038,1034412140)+W(1,-1119552802,-1132183796,1014438782,1026463590)+W(2,-1098235374,-1129289080,1035819795,1034843888)+W(3,1030579314,1031435954,-1118921036,-1110299389)+W(4,1040052819,1000882372,-1104532064,-1096717996)+W(5,1025849568,-1126927262,1034356940,1043556407)+W(6,1039185699,1041518935,1060121453,-1098039050)+W(7,-1085068698,-1105751584,1039772175,1060018227)+W(8,-1105651771,-1108930987,-1132043948,1059664416)+W(9,1064006582,-1108966794,-1090790505,-1083675102)+W(10,999965284,1025606660,-1127194998,-1123799241)+W(11,1020099573,-1130436386,1040432622,-1098649260);WS(-1098394199,1021768394); +sum1=W(0,-1106976773,1030592418,-1109895628,1031813276)+W(1,-1114022359,-1124672038,980431986,-1118216524)+W(2,1047476460,-1106379994,1041629170,-1108680996)+W(3,1028771909,-1123109432,1035760915,1039049769)+W(4,1035645360,1042879449,1052123789,1053022447)+W(5,-1107385030,1044862779,1023833154,1040198899)+W(6,-1107202165,-1121922344,-1091385002,-1090269731)+W(7,-1107044710,-1127679127,-1107740288,-1099192133)+W(8,-1121988294,986778214,1042582852,1042227034)+W(9,1044112989,-1115617842,1030134009,1025832513)+W(10,1008308247,-1140215924,-1120193402,-1127396653)+W(11,973525940,-1139398721,1014367554,-1116507498);sum2=W(0,-1098169790,968544056,-1162122654,1056997121)+W(1,1029158812,-1112228820,1026696161,-1112296199)+W(2,1055345266,1027898732,1053687424,-1077105818)+W(3,1039110353,1037144043,1022799116,1042942743)+W(4,-1106123518,1021773530,-1089212318,1068095045)+W(5,-1090252350,-1124556656,-1130232224,-1104975561)+W(6,1039932359,1036378047,1035540057,-1098361429)+W(7,1000425352,1050038066,-1118055459,1040445489)+W(8,-1111072353,-1123343911,-1111121590,1044527270)+W(9,-1115281069,-1114307158,-1116705210,1023167430)+W(10,1012808524,-1132858861,1037852727,-1103837325)+W(11,1036594354,-1134065606,1032061348,-1114916168);WS(1064984812,1025677564); +sum1=W(0,1043884023,1030924649,1038396303,1036152448)+W(1,1017544939,1042241831,-1121467129,1047065797)+W(2,-1096329284,1033742216,-1101734196,-1105624932)+W(3,1017123640,-1108991823,1037154774,-1096026219)+W(4,-1084712758,-1103101243,-1087209573,-1086845720)+W(5,-1084903475,-1087299343,-1108220133,-1087523701)+W(6,1057726586,1046959260,1057188432,1061206275)+W(7,1060371326,1055419738,1041931586,1055087388)+W(8,1043356655,1018532660,1046520365,-1114153679)+W(9,-1111584053,1028245989,994164350,1051664559)+W(10,1012739123,-1131015624,1002161670,1044816791)+W(11,1024962678,1043667629,-1114955616,1040331724);sum2=W(0,1043159502,-1105699647,1038273264,1032147900)+W(1,1048938986,-1106879197,-1128156680,1049056829)+W(2,-1104158106,1050222709,1025130152,1032288328)+W(3,-1103450106,-1110143950,-1098742781,-1091104362)+W(4,-1085409392,-1090385012,-1106188919,1061149199)+W(5,1050752016,1049612036,1057886527,-1095713225)+W(6,1067096435,-1106627676,1052171093,1075677902)+W(7,1075039778,1073503496,1075355126,1082426924)+W(8,-1090972778,-1102151020,-1086083449,-1070862987)+W(9,-1070168511,-1072257998,-1070483864,-1070643407)+W(10,-1098664617,1050757442,1039140273,1030992941)+W(11,1040257314,1041175752,1030488248,-1098188298);WS(-1072457547,-1104871915); +sum1=W(0,1018087532,1014551830,-1143311830,1031881454)+W(1,1033102921,1020957612,-1158925470,1015585054)+W(2,-1138749297,1036550950,1001512248,-1098112129)+W(3,-1104222042,-1104597767,-1125431314,1042534317)+W(4,-1129333765,-1131367952,-1083142279,1014989673)+W(5,1059974718,1057969217,1048954301,1043242379)+W(6,983826087,1050222745,1055877542,1020808474)+W(7,-1086706094,-1096646942,-1105443081,-1106542638)+W(8,1026100589,-1118152278,-1106883828,1016760626)+W(9,1045231050,1040528910,1027306868,-1120756612)+W(10,1007352484,-1123482688,1034580622,-1109491581)+W(11,-1122062610,-1114916930,-1147978606,-1122581117);sum2=W(0,-1120473304,-1112539216,-1132295147,-1099708049)+W(1,-1120301365,-1106531527,-1119309605,-1165429700)+W(2,1034530006,1032795060,1046686841,1054832981)+W(3,-1109933894,-1089566811,1004612697,-1105741108)+W(4,-1151412702,1009244103,1037608248,1050403530)+W(5,1051005406,-1106362502,-1114169666,1026755208)+W(6,-1124099243,-1115907580,1020085733,1033863239)+W(7,-1107650300,1030750625,-1130967605,-1146151019)+W(8,1026058392,-1114805763,-1120554932,-1154011810)+W(9,1036477609,-1122049677,1028389062,1026996282)+W(10,-1131120105,1025202928,998829429,-1131382687)+W(11,1020773937,-1143352615,-1142800679,1016610669);WS(1057548396,-1118860492); +sum1=W(0,1024314991,1015464700,1033090170,1024068436)+W(1,1023937802,1007695803,1026830221,-1142835770)+W(2,1024521628,1035643506,1022826491,1044765945)+W(3,1040253828,1032416458,1031527745,1041535598)+W(4,1019907062,1035362560,-1102305323,-1077384746)+W(5,-1095947197,-1110302756,-1110046895,-1106773417)+W(6,-1109277847,1033181378,1038789717,-1093016121)+W(7,1047039772,1032628147,1032291149,1038601945)+W(8,1042186208,1019936830,1047455161,1050623422)+W(9,1039235079,1012944520,1025595072,1031404576)+W(10,-1127185475,1015346289,1015056043,1035221881)+W(11,1019339797,1030260028,-1124358344,1039118899);sum2=W(0,1028948662,-1108748842,1035054379,-1114955281)+W(1,-1123628391,1033670708,-1113438145,1009774019)+W(2,-1119520873,1035535229,1034598190,1040844095)+W(3,1017632867,1028317650,-1152158269,1033306906)+W(4,1040692087,-1128105382,-1105801492,1058969109)+W(5,-1140061979,-1098716294,-1100355456,-1097137530)+W(6,-1099276378,-1125068566,1046560183,1035247795)+W(7,1037021603,1041621971,1042440154,1045186907)+W(8,1042585669,-1119570187,-1104135640,-1104363062)+W(9,-1119904127,-1109815486,1033417138,-1096381982)+W(10,-1108959122,-1105777938,1040780747,-1115696651)+W(11,-1122498951,1039115990,-1102421790,1043903068);WS(-1111617372,-1089239798); +sum1=W(0,-1120946745,1043411666,-1105344783,1034980559)+W(1,1035032490,-1102176538,1042691462,-1106084756)+W(2,-1109363280,-1105933140,-1122482989,-1097138762)+W(3,1028445691,1038047807,-1104930291,1036625252)+W(4,1036859267,-1100282243,1033736099,1040067055)+W(5,-1085774908,985367106,-1095561837,-1105930796)+W(6,-1107333692,1036658471,-1096910672,1063625005)+W(7,1059841631,1050659758,1056206133,1039222942)+W(8,-1131126919,1046725686,-1138971218,-1100591479)+W(9,-1101046354,-1099856795,-1114722211,1033845467)+W(10,1028471724,-1102252305,1048148056,-1115573502)+W(11,1018704810,1038410359,-1104725204,1032806392);sum2=W(0,1032901751,-1107914664,1029069579,987500422)+W(1,-1107918292,1041931397,-1106970712,1026585516)+W(2,-1102980188,1034775565,-1107463876,-1115674720)+W(3,-1122769714,1028640927,-1133982193,-1112107626)+W(4,-1097455677,-1079544271,-1107584024,1066142773)+W(5,1049477386,-1110827944,1040943686,1033119735)+W(6,1019096213,-1123759676,1039965269,1060530292)+W(7,1039765158,-1133849713,-1110406142,-1129682772)+W(8,1032175116,-1101940532,1028816201,1036298034)+W(9,-1100641824,1041944181,-1113302080,1007346649)+W(10,-1112661460,1048109574,-1102645998,1048822254)+W(11,-1106440053,-1113520406,1032469881,-1114426196);WS(1055684951,-1075449937); +sum1=W(0,1025203701,-1109225282,-1105594014,-1102495686)+W(1,-1115277256,-1131312361,1003392922,-1119401549)+W(2,1021145317,1041132226,1045336591,1048290762)+W(3,1046212734,1033816821,1042625602,1032304674)+W(4,-1089325052,-1098148265,-1089314051,-1085251962)+W(5,-1086898788,-1089905605,-1090587428,-1086086859)+W(6,1050955910,1048074946,1059061644,1063401377)+W(7,1058388246,1057949871,1049257380,1056447675)+W(8,1044060206,-1122722677,-1138312640,-1135340574)+W(9,-1108206354,1012872015,1013091209,1030899626)+W(10,1023449767,-1117792831,1024771419,1034487612)+W(11,-1122363216,1023079171,-1119440554,1029355212);sum2=W(0,1061277558,1070915797,1077465728,1077005703)+W(1,1067272551,1035834095,-1140563054,-1101597023)+W(2,-1075680192,-1078675502,-1072669743,-1071891757)+W(3,-1079654744,-1094224921,-1124876273,-1106967769)+W(4,1064394375,-1099840736,-1080083122,-1110541808)+W(5,1034295344,1034313258,1044374977,1056268760)+W(6,1041412946,1036217426,1053075748,1035413026)+W(7,-1098463344,1050839735,1012713199,1033733408)+W(8,-1097187807,1041322393,-1098777830,-1105806062)+W(9,1042040059,-1099205009,1043077130,-1097742853)+W(10,1043650757,-1128025338,-1113957037,1028555409)+W(11,1035679275,-1113787473,1015942004,1036121231);WS(-1084991020,-1093321377); +sum1=W(0,-1124603198,1020905181,1034567442,1033810210)+W(1,1026468027,1034346016,1012576759,1040898454)+W(2,1041431403,-1106261797,1012534679,-1100435893)+W(3,-1113177704,1029015460,-1109083497,1045957208)+W(4,1058092855,1050746614,1060858482,1063338984)+W(5,1057782107,1050350895,1047981412,1051078083)+W(6,-1087194206,-1093664550,-1086211050,-1081371861)+W(7,-1091610836,-1090363161,-1099126963,-1088769118)+W(8,1031898965,1020373118,1037199077,1028138434)+W(9,1041359812,1026545296,1017607178,-1114891854)+W(10,1027465426,1019387090,942151344,-1130539845)+W(11,1019123574,1032894586,1018549369,1024075622);sum2=W(0,1049096145,1050639335,1060252300,1068716746)+W(1,1070836883,1071114171,1069477538,1068968491)+W(2,-1096421724,-1100344181,-1085369111,-1076762820)+W(3,-1073687271,-1075542147,-1076870984,-1078719402)+W(4,-1104462777,1044471716,-1101216805,1050347336)+W(5,1052234046,1009296899,1047758574,-1114781860)+W(6,1019605429,1054069324,-1124780213,1025609425)+W(7,-1096692411,1043747806,1026561745,1035243068)+W(8,-1107039596,-1112798845,1041817400,-1099054195)+W(9,1029953841,1030832137,-1135279155,-1140937749)+W(10,1039363330,-1113551308,999612981,1018249637)+W(11,1028531297,-1109453871,1027426027,-1125031723);WS(-1082530796,1061926473); +sum1=W(0,-1111745736,1030277984,-1123296661,1039021467)+W(1,-1130604760,1012520514,-1112767704,1017586258)+W(2,-1107298323,-1127531019,-1109831840,-1118701125)+W(3,-1101933527,-1114851579,1016124742,-1131932512)+W(4,1048819916,1039611697,1058045501,-1099048749)+W(5,1052265202,1034215157,1037161440,1010862879)+W(6,1033356744,-1113172467,1035918242,-1088898044)+W(7,-1125679275,1029808585,-1110952702,1040689749)+W(8,1034157517,-1127895905,-1146238814,-1099659681)+W(9,1032846000,1005542493,1024904046,-1114167271)+W(10,-1119982339,1009757802,-1125062126,1039341706)+W(11,-1111731430,1016627083,-1137100912,-1130467695);sum2=W(0,-1123675689,1025856461,-1129839981,1039506778)+W(1,-1111122039,-1108253250,1042547871,1023517501)+W(2,1027790609,-1115257125,1041635489,-1087170514)+W(3,1054414527,1040911707,-1107819629,-1119501461)+W(4,-1107220732,-1103597907,-1083432255,1074899174)+W(5,-1087814585,-1119836905,-1108795814,-1120345851)+W(6,-1138688370,1036222096,-1099581339,1052206445)+W(7,1033877978,1035305654,1040418607,974999585)+W(8,-1114685917,-1104487390,-1113019592,-1103205528)+W(9,-1114160943,-1128600489,-1113593105,-1136105250)+W(10,-1131813881,-1138958066,1015980625,1015820001)+W(11,1023501105,-1135082354,1028405761,1023691837);WS(1064809580,1026007555); +sum1=W(0,-1117346201,1012678303,-1112794575,1024755966)+W(1,-1119597108,-1109792204,1039580268,-1109340249)+W(2,-1139810490,-1117193870,1032058104,-1127734554)+W(3,1040786347,-1106953519,-1120656619,-1123630216)+W(4,1018638922,1041509643,-1089321581,-1106321711)+W(5,1042250009,-1136225478,-1140389406,1031754384)+W(6,1046259126,-1116046893,1058768682,1057441571)+W(7,-1088983804,1052663642,1033398978,1030125211)+W(8,-1110265860,-1107022182,1049529906,-1097674775)+W(9,1052962187,-1105006210,-1138416249,-1114619763)+W(10,-1107316166,1042684025,-1107194416,-1115653262)+W(11,-1115453338,-1104239151,1026892022,-1113265368);sum2=W(0,1002173025,1022454821,-1114052781,1026488668)+W(1,1024785122,-1114947733,1041552522,-1114686018)+W(2,-1126476274,-1112202702,1040267060,-1105276944)+W(3,1041996701,1024974628,-1106672600,1014734543)+W(4,993251281,1027055467,-1106967376,1037292044)+W(5,1032247852,-1103384730,1024347316,1038837578)+W(6,1035289805,-1110248161,1050537246,-1103163514)+W(7,1036995069,1044720036,-1136575544,1011597497)+W(8,1026092616,-1106697397,1051631259,-1119693560)+W(9,1026699348,-1113586574,1012871948,-1113050536)+W(10,-1119256919,1035602798,-1119463370,-1109176262)+W(11,-1123291766,-1103668424,-1104716490,-1124038001);WS(1065652022,1032044813); +sum1=W(0,1008146233,-1138253430,-1111490857,1034343482)+W(1,1027957290,1037589943,1035138662,-1130048270)+W(2,1024151812,1033154018,1037025524,-1098142828)+W(3,-1093711910,1019326054,-1137243780,1033030167)+W(4,-1109382253,-1111423088,-1089787453,1056996567)+W(5,1064926206,1020462798,1028825917,1017317515)+W(6,1046726755,-1114751985,1060185520,-1102691401)+W(7,-1084615165,-1096112169,-1123985530,-1105819364)+W(8,-1118504831,1030270670,-1108385813,1034117937)+W(9,1042611828,999245356,-1106962907,-1131349303)+W(10,-1145994760,1011776865,1031075253,-1115595081)+W(11,-1141498448,1030480467,1020535720,-1161641125);sum2=W(0,1006780909,1032029355,928839112,-1118040285)+W(1,-1112805367,-1105940221,1025941308,1031169874)+W(2,1018874621,-1106542042,-1114343998,-1106692361)+W(3,1043467647,1041450718,1036583459,-1106475204)+W(4,-1118402441,-1123089851,-1111882995,1057618964)+W(5,-1114692462,1035656455,-1122657152,-1181112366)+W(6,-1125742470,1042324218,-1150379126,1059562898)+W(7,-1124030112,-1096899429,-1115452253,-1108009053)+W(8,1022906649,1032351097,1030201786,-1096401122)+W(9,-1101041619,-1105376866,1025207396,-1117532473)+W(10,1002124531,-1127943559,-1112138839,1036092239)+W(11,-1119061832,1038704957,-1115257437,1040262599);WS(1060219372,-1086892801); +sum1=W(0,-1103145773,1041685441,-1114046300,-1105288038)+W(1,1036049319,-1105447101,-1153064218,1037687846)+W(2,1039153858,-1139059104,-1139626983,1051743245)+W(3,1005204005,-1096900831,1006778518,-1097346218)+W(4,1051640744,-1111094658,1060139625,1048845947)+W(5,1056234019,1058595229,1030114274,1052830405)+W(6,-1098525574,-1114399172,-1105262039,-1084251893)+W(7,-1132035760,-1097183901,-1095492788,-1105878061)+W(8,-1104573181,1034492410,-1112320535,1048366229)+W(9,1045757805,-1102598303,1044243314,-1114955456)+W(10,1018968139,-1114173214,-1114750605,-1119683574)+W(11,-1113866359,-1132035040,1021887633,-1107291810);sum2=W(0,-1116149857,-1115656995,1030898684,-1101937257)+W(1,-1172884346,-1108962642,-1122887710,1035380843)+W(2,1025241726,1004099725,1025926274,1029996270)+W(3,1015423640,-1098527410,-1102965987,-1099100919)+W(4,-1099180395,-1094029030,1029208805,-1093188603)+W(5,1043486640,1057927618,1033678913,1054675670)+W(6,1043244905,1042198638,1050305603,1051892024)+W(7,1010118001,-1111697287,-1106879588,-1115267941)+W(8,-1108018378,1030698655,-1105752531,1032179392)+W(9,1042453668,-1110311603,1043859461,-1124505249)+W(10,1036684654,-1113978987,1030311314,-1143836228)+W(11,-1107174775,1032971351,-1114814873,-1114563702);WS(1054285911,1050558006); +sum1=W(0,-1123510162,-1131523010,-1131464621,1019709806)+W(1,1029482925,1019519396,1008876867,990268585)+W(2,1038924416,1041880394,1042834130,1022473868)+W(3,-1100861061,-1099456110,-1103795177,1023983666)+W(4,-1103298920,-1093800836,-1095165898,1057683379)+W(5,1065493943,1059660975,1052993120,1049686449)+W(6,1049975562,1050884477,1056805171,-1101108530)+W(7,-1084744157,-1084827161,-1096422344,-1102767109)+W(8,-1107117058,-1103773453,-1101616339,-1121085405)+W(9,1044641696,1037612741,1041661496,-1112995616)+W(10,-1132690963,1013663344,1008580322,-1112183179)+W(11,-1107880231,-1118057053,-1120002940,-1125681410);sum2=W(0,-1122499415,-1135750526,1025808744,1004729468)+W(1,1038371609,1025309219,1037233345,-1107252608)+W(2,-1115660402,-1103885919,-1107570715,-1109043837)+W(3,-1101018403,-1106866200,-1100735475,1049544712)+W(4,1019721643,-1163427536,1050733408,1068391994)+W(5,-1088555463,1029079067,1034253450,-1147071004)+W(6,1052675919,-1111228057,1050715774,1068640266)+W(7,-1109791041,-1082318320,1048468038,-1092391889)+W(8,-1134010714,-1097257542,-1097200131,-1098019427)+W(9,-1104872484,-1103711089,-1096395820,1032346912)+W(10,-1107636671,1043515230,-1113330231,1035061875)+W(11,1015805682,-1134559274,1043601518,-1139706642);WS(-1090663639,-1077388844); +sum1=W(0,1018174482,-1160081154,-1125628059,-1132569784)+W(1,-1117916196,-1117849353,1021610031,-1122253105)+W(2,-1118693311,1029100670,-1120731528,-1106887239)+W(3,-1106415899,-1097169074,-1146324700,-1168966176)+W(4,-1093711755,-1098783931,-1088582516,-1095941442)+W(5,-1087125152,-1094690684,-1097735927,-1093052224)+W(6,1049109025,1046071575,1052420297,1068562223)+W(7,1064382514,1058209900,1048904111,1056110513)+W(8,1040639418,1021012498,-1106387497,986381179)+W(9,-1096200966,-1116837948,1025702951,-1121509238)+W(10,1010315758,-1115518041,-1181480889,1034527238)+W(11,974332196,1015836076,-1123641014,1025570188);sum2=W(0,1034436941,-1113720588,1024698569,-1106229774)+W(1,1036635696,1046234567,1052080385,1034351318)+W(2,-1094381136,1042206203,-1096498964,-1082651758)+W(3,-1065300211,-1070759890,-1090746117,-1089089289)+W(4,1032181918,998633097,1057336919,1076874404)+W(5,1081990850,1049370102,-1114040834,1035723536)+W(6,1038416019,-1112936962,1044225483,1035551973)+W(7,1041430251,1045207615,1038285588,-1119691531)+W(8,-1157362266,1041189037,-1114037642,1029476436)+W(9,1035032611,1036601034,-1115422836,-1130950394)+W(10,1040127243,-1108577062,-1122557473,1033287923)+W(11,1024588020,1015731519,-1155116306,1031958369);WS(-1080363926,-1071486509); +sum1=W(0,1035667824,-1106562756,1048836261,-1099668353)+W(1,1041756943,1034350288,-1111757455,1036008540)+W(2,-1117755862,-1102851061,1026770536,-1096598034)+W(3,-1111989629,-1117155588,-1106686285,-1110305168)+W(4,1058850627,1044522508,1060900423,1062774732)+W(5,1060314417,1058954340,1047827972,1058323473)+W(6,-1089812638,-1098855847,-1094273901,-1081351512)+W(7,-1091724133,-1097309107,-1089979637,-1097705308)+W(8,-1119781738,-1124105919,-1136163052,1019768789)+W(9,1036217472,1034476769,1034808863,-1112569431)+W(10,1033333673,-1122920906,1034167779,-1100720585)+W(11,1023569595,1037864032,-1108224543,997120104);sum2=W(0,-1130221439,1039521143,-1106623296,1040812416)+W(1,-1108121630,1011405671,1024610419,-1120568012)+W(2,1026473921,1040027805,-1103850305,1044422007)+W(3,1033782288,-1112409330,1042204829,1007920671)+W(4,-1098631230,1049962270,-1102633929,1053913409)+W(5,1041179127,-1118313372,1033589003,-1105557487)+W(6,1059210683,1037922688,1032319554,1075309200)+W(7,1051007822,-1114991064,1064519547,1041664007)+W(8,991949852,-1128609979,1032322677,-1093367457)+W(9,-1128820939,1042490244,-1108707286,-1108726636)+W(10,-1088875775,1043008084,-1081254616,-1078110278)+W(11,-1087823621,-1085620101,1038944538,-1097283302);WS(-1085146860,-1078432897); +sum1=W(0,1000247468,1037132754,-1107087079,1043827999)+W(1,-1105171356,1034542459,-1139389265,1019250012)+W(2,-1149696569,-1105005939,1047641075,-1094624073)+W(3,1038438012,-1098392071,1037791108,-1111893867)+W(4,1046594056,1049101493,1036712721,1056540903)+W(5,1056427897,1052522438,1039493090,1053002294)+W(6,-1105608437,-1092242085,1034057408,-1091288646)+W(7,-1092984875,-1099696227,-1123704450,-1096292923)+W(8,1029982264,1035020227,1000135432,-1097712673)+W(9,1048401189,-1113847620,1041969240,-1109486882)+W(10,-1128935441,-1114749360,1041253327,-1098691603)+W(11,1031740017,-1124493285,1035876258,-1117863020);sum2=W(0,981650725,-1123188651,-1132394336,1019312288)+W(1,1007032529,1019035800,-1139057577,994405618)+W(2,1022634928,-1141995321,-1159373413,1040593594)+W(3,-1125839148,-1144628769,-1130558040,996479090)+W(4,-1122722467,1043118137,-1111962066,-1085264893)+W(5,1035586791,1030456162,1025167346,-1121727683)+W(6,-1134931805,1038372119,-1088039805,-1062981933)+W(7,-1088420516,1033594923,-1132235322,-1141102409)+W(8,-1114801830,-1108690895,1059960197,1086226578)+W(9,1052041256,-1121903247,-1127116104,1010205301)+W(10,1035155349,-1113558499,-1123558064,-1122982849)+W(11,1041973847,-1112866008,999416881,1015327588);WS(1065314092,1028007882); +sum1=W(0,1031315399,1009229913,-1129846167,1030512684)+W(1,1027211107,1024491495,-1133667543,1020076159)+W(2,-1118910333,1044274103,1040482617,1028502523)+W(3,-1098008831,-1114626726,1030034106,1035646611)+W(4,-1110071882,-1091088835,-1081937298,1057125791)+W(5,1063505604,1056913060,1045615294,1046315392)+W(6,1027958726,1049048403,1058342964,1041882615)+W(7,-1081007746,-1094994912,-1103714125,-1120947018)+W(8,-1132049297,-1098774521,-1097400260,-1128387300)+W(9,1042307230,1046624506,1018202602,-1116178789)+W(10,1030345978,1015648546,1033820695,-1123750794)+W(11,-1119357859,-1108219417,1021380405,-1113806211);sum2=W(0,-1105494348,1042860341,1034523914,1032509803)+W(1,1037500440,-1136462181,-1115571726,1030953968)+W(2,1051114204,-1095282678,-1099570184,-1092355888)+W(3,-1093487707,-1101634066,1038218158,-1144657738)+W(4,-1106549278,-1095274416,-1097084890,1068351366)+W(5,1045336627,-1093371043,1025607496,-1098135458)+W(6,-1106413411,-1115620988,-1100406176,1061966336)+W(7,1064976080,-1095768559,1051011462,-1103066203)+W(8,1026636954,1032482885,-1103782738,-1111829172)+W(9,-1099957245,1011878641,-1122142689,1046841453)+W(10,-1101805730,-1123651604,1033985372,1041181693)+W(11,-1105149847,1041978329,-1106959075,1034424520);WS(-1100053422,1042143034); +sum1=W(0,-1121193300,1027006179,-1116784408,-1124403186)+W(1,1032959000,1036096698,-1106874909,-1140087089)+W(2,1038907933,-1101648146,1051061595,-1096312949)+W(3,1021329739,-1104405590,1032316755,1026338531)+W(4,1037214192,1052804861,-1092953078,1063691363)+W(5,1057610578,1046101531,1033832353,1044117027)+W(6,-1104157285,-1116788520,-1115727182,-1094770533)+W(7,-1085255924,1032460934,-1101777344,-1123976854)+W(8,1003265009,-1105088109,1044603252,-1110178331)+W(9,1042273837,-1099699080,1042741769,-1110400285)+W(10,927491180,1036085839,-1112320669,-1132796507)+W(11,-1129217311,1029210945,-1111566277,1023324661);sum2=W(0,-1141740532,-1141563308,-1146742484,1037326381)+W(1,-1100634945,-1112991637,998071241,1028661660)+W(2,-1127364827,-1115378106,-1097895309,-1089066292)+W(3,1074712949,1036278807,1023404119,1032269699)+W(4,1016858659,1014774982,1061549017,-1086943216)+W(5,-1081904953,1016249563,-1104500239,-1118089334)+W(6,1019476887,1033910688,-1098904537,-1087533486)+W(7,1051894188,-1105464222,1039001405,1002948788)+W(8,1027610232,-1098709711,1048121474,1044386108)+W(9,1035948687,1034738839,-1111082062,1032376859)+W(10,-1114104878,1038463125,1009723338,-1128378528)+W(11,-1114075451,1023041183,1028418264,-1116656881);WS(1064553004,-1122811923); +sum1=W(0,-1129171987,1032276908,-1113233767,1041762428)+W(1,-1110071667,1027123610,-1123823416,1026480898)+W(2,1031404000,-1105326008,1049333812,-1095271692)+W(3,1021654775,-1101813124,1034262350,-1114787413)+W(4,1045766677,1049463355,1036005443,1059787495)+W(5,1057980603,1052117804,1041561742,1051913520)+W(6,-1102182210,-1094389820,974120215,-1088583546)+W(7,-1092394330,-1097358280,-1111517243,-1097569834)+W(8,1024429036,1026361994,1035186995,-1095666629)+W(9,1048809333,-1132328890,1043990330,-1107060706)+W(10,-1144455651,-1121595412,1034062296,-1100003363)+W(11,1024774373,-1125809241,1035275874,-1116630377);sum2=W(0,1027128731,-1153474964,1032141903,-1114194268)+W(1,1010972171,-1128303982,1020076945,-1125252319)+W(2,-1118374135,1014938475,-1106631533,1049333862)+W(3,-1117272233,1026850075,-1130317298,1023253865)+W(4,1034513610,-1107487108,1042187602,-1091768288)+W(5,1029258819,-1112584656,1019094573,1030375545)+W(6,-1123174378,-1123472496,1054134699,1082046784)+W(7,1048672371,1015595275,-1143083862,-1112246350)+W(8,1026835315,1026726549,-1092438474,-1066065893)+W(9,-1108402828,-1129520676,1012988295,1033146096)+W(10,-1114420605,1026647445,1008281595,1032174407)+W(11,-1107223380,1020663133,1016020771,-1120189048);WS(1066855734,-1119441794); +sum1=W(0,-1127562022,-1123770274,-1115364812,-1108591004)+W(1,-1109630903,1012450637,-1111453929,-1112819014)+W(2,1039804281,-1106380690,1049486942,1052921753)+W(3,1002857256,1049080999,-1123146086,1045715313)+W(4,-1090674092,-1096623933,-1088928155,-1086271011)+W(5,-1088126629,-1098448030,-1095526376,-1090620137)+W(6,1057948125,1041520634,1058254390,1066610309)+W(7,1047590014,1058670697,1020669183,1057080301)+W(8,-1113289318,-1102744925,-1126493725,-1125400685)+W(9,-1097419497,1027654745,-1103558716,-1122765265)+W(10,1040603681,-1104646487,1030330554,1047144630)+W(11,-1118729135,1040353710,-1110153949,1038000005);sum2=W(0,1029773001,-1098400772,1049403575,-1106957817)+W(1,1040180418,-1125940042,-1121768997,1035657430)+W(2,1045848843,-1098127734,1040542896,-1113384065)+W(3,-1098054809,1051521525,-1098090743,1035815778)+W(4,-1100354950,985414438,-1094506611,1065317808)+W(5,-1102424534,1038107076,1030043463,-1104826760)+W(6,1042255280,-1114969170,1044461531,1063282493)+W(7,-1111953320,1052337139,-1098581045,1052586351)+W(8,1031741567,-1101857955,1033605854,-1099888837)+W(9,-1148110913,-1125555808,1034608926,-1105779304)+W(10,-1106457511,-1121665039,-1106685198,-1090380876)+W(11,-1097784009,1010307405,-1105861523,-1121200133);WS(1024108216,1053619151); +sum1=W(0,-1110237276,1036125123,-1105593599,-1116690717)+W(1,-1138403916,-1118424632,-1118568038,-1117554448)+W(2,-1117217830,-1104025987,1053313098,-1107833238)+W(3,-1112296045,-1108171422,1025019530,-1113883668)+W(4,1029541828,1035829669,1040682969,1058976450)+W(5,-1104638900,1053496066,997886569,1047703644)+W(6,-1116974327,1029841740,-1093167724,1049118258)+W(7,-1102593951,-1123704112,-1107943218,-1108512765)+W(8,1028000106,-1125285423,1031701731,-1094097902)+W(9,1055269059,-1100830255,1036129823,-1109656827)+W(10,997960357,-1115997186,1020700860,1017239158)+W(11,-1122615091,1029941429,-1111217181,1020926429);sum2=W(0,-1119993039,1038893624,-1105602869,-1106354535)+W(1,1032998629,998835515,-1119543359,1026155597)+W(2,-1109450011,-1096262037,1055566572,-1158461197)+W(3,-1117939535,-1108137959,1037096144,-1114868339)+W(4,1040401784,1053717996,1043380434,-1105416337)+W(5,-1087999087,1027244587,-1117843291,1031605777)+W(6,-1106582025,-1117988753,-1092886002,1072933379)+W(7,-1083385663,1045359897,-1101171319,1022787365)+W(8,1033614749,1000703247,1034388956,-1081255560)+W(9,1066426555,-1093783038,1051461624,-1100938466)+W(10,-1147493015,-1114388777,1043473668,1043342555)+W(11,-1094544057,1045623937,-1102892249,1041102940);WS(1062840044,1036517115); +sum1=W(0,1027882709,-1102360361,1037386637,1026327034)+W(1,-1102333276,1042539613,-1113170154,-1117867630)+W(2,1024218619,-1119309706,1051294017,-1105387538)+W(3,1045232110,1042423170,-1107171938,1042893141)+W(4,-1088734638,1031157223,-1082181941,-1087289600)+W(5,-1089919726,-1088061047,-1126992520,-1098512042)+W(6,1057788973,1045291130,1057574554,1064725383)+W(7,1056789371,1052153154,-1124580994,-1109192172)+W(8,1032695796,-1107257205,1039133128,1024151288)+W(9,-1131902346,1045762482,-1130270357,1047580087)+W(10,-1105941698,1032367183,1015412087,-1102302982)+W(11,1046746652,-1110282969,-1116552186,1032060742);sum2=W(0,-1128425377,1027402769,-1122701285,1029460017)+W(1,-1128656941,1015114546,-1131912907,1012677721)+W(2,-1106124336,-1123408727,1035952055,-1106291502)+W(3,1034330078,-1137130753,-1151273092,-1141059698)+W(4,-1106789449,1046361983,1033758045,-1092942672)+W(5,1022825967,1043050798,1026393205,-1114857397)+W(6,-1116881359,1040877836,-1092736894,-1089281400)+W(7,1067937621,1057367901,-1100743964,-1116376233)+W(8,-1108203604,1041799035,-1110885432,1058715791)+W(9,1060265099,-1090127289,-1100147508,-1085394823)+W(10,-1154187588,1037669599,-1106801609,1044648045)+W(11,-1104725901,-1099584998,-1114467924,1048436512);WS(-1090906199,1032077706); +sum1=W(0,-1133027020,-1121893314,1023318639,1029445080)+W(1,1001128051,1034316233,-1103958128,1035906358)+W(2,-1114971356,1044790618,-1123234602,1040694938)+W(3,1035215242,-1102125462,1043268297,-1122145747)+W(4,1042474992,-1113284386,1041326284,-1105269270)+W(5,-1090300845,1049843289,-1131346756,1025511402)+W(6,-1109782777,1033127972,-1090554926,1053731809)+W(7,1054234875,-1098556565,-1121911775,-1113919963)+W(8,1040233361,-1105262125,1034823031,-1109230339)+W(9,-1098565414,1042417542,1026215817,-1122686272)+W(10,-1113511763,1025873725,1011115622,-1129412204)+W(11,1038160135,1018477632,1009497794,998364239);sum2=W(0,1010874613,1031993168,-1110586713,1035954309)+W(1,1034349301,-1122071401,-1140127141,1029284667)+W(2,1030375188,-1098558104,-1116546039,-1089737673)+W(3,-1094899703,1053685859,-1108774266,-1124583674)+W(4,-1115235366,1051363302,1056517150,1057138262)+W(5,-1098486858,-1093546729,1034072089,-1122424073)+W(6,1049471257,-1094785947,1031272431,-1102658594)+W(7,-1112892354,1046184196,-1109252950,1037904141)+W(8,-1100352469,1040320218,-1111763071,1043402933)+W(9,1057577914,1039716432,-1122970680,958822899)+W(10,1040126787,-1131978284,-1124433226,1027656919)+W(11,-1092308561,-1116345243,1016915650,-1140678181);WS(1065971990,-1117349785); +sum1=W(0,1041698888,-1112126136,1034826515,-1129568652)+W(1,-1109843230,1024013025,1009653886,-1137279078)+W(2,-1103591502,1043874709,-1101299034,-1186542860)+W(3,1041410157,-1159955630,1030113747,-1120752640)+W(4,-1130045402,1044992637,-1083999976,-1081978560)+W(5,-1085461041,-1090063736,-1097631850,-1094129699)+W(6,1049080916,1047240445,1060703412,1061790267)+W(7,1058214583,1059365054,1049303674,1052607100)+W(8,1009208654,-1121869537,-1123043996,1028920692)+W(9,-1105683576,1011681824,-1125202109,1021258909)+W(10,1021475879,-1134810027,-1144695867,1017436104)+W(11,-1131209785,-1139574520,1000157667,1022839599);sum2=W(0,-1117014919,-1130364155,-1106662873,-1114007102)+W(1,1049348603,-1111037227,1016435713,1035610526)+W(2,-1073720352,-1086725672,1069712606,1062079613)+W(3,-1102930718,1020707077,-1114426132,1034066723)+W(4,-1104300581,-1091483554,1061376514,1060429625)+W(5,-1098979910,-1091915359,1043583392,-1091474650)+W(6,1055286111,-1109695767,-1114136197,1052661025)+W(7,-1131131469,1050631696,-1112682766,-1112601210)+W(8,-1105567211,1032269150,-1138351682,1018497014)+W(9,1032920333,-1117367449,-1122101547,1039950258)+W(10,-1108683793,1033653176,-1115525434,1043366723)+W(11,-1107942477,-1139459182,-1122885189,1026792554);WS(-1087438700,-1079683283); +sum1=W(0,1017584527,-1126645293,1024510860,-1126938201)+W(1,1025818403,-1163276521,1040771729,-1160528892)+W(2,-1111085935,-1110290014,1033919541,1049726143)+W(3,1042036038,-1114444262,1029908410,1035428627)+W(4,-1097724786,-1098381907,-1083731542,-1081500983)+W(5,-1097215121,-1091706404,-1097070911,-1097940968)+W(6,1052950249,1053593812,1063649365,1059087538)+W(7,1052548297,1057898452,1045403069,1052829673)+W(8,-1112145065,-1106211842,1003633557,1023563130)+W(9,1019377518,-1104008328,-1115067299,1032435766)+W(10,1032156829,-1129163939,-1118260846,-1120786763)+W(11,-1116189667,1023503580,-1112674412,1015355644);sum2=W(0,1027460995,-1126036613,1029366028,-1129309981)+W(1,1020875062,988377354,-1109676838,1030688918)+W(2,-1139353737,-1172793556,1021322407,-1097919394)+W(3,-1121912528,1034370211,-1137199485,-1107628664)+W(4,-1116062036,1041340702,1050063273,1055277098)+W(5,-1106551211,1041415105,-1128558209,-1134721053)+W(6,-1105887481,1031879973,-1101108606,1009470709)+W(7,1047064096,1034815104,1034836242,1049845283)+W(8,1043084390,-1108443334,1031078409,1041616760)+W(9,-1107655532,1018545561,1014245687,-1104117922)+W(10,-1112909236,-1144584219,-1116288208,-1099143154)+W(11,-1100042276,-1108610892,-1111876576,-1123449114);WS(1044595630,-1081949232); +sum1=W(0,1039675598,-1114551286,1008233858,-1121252161)+W(1,1033942172,-1122512668,1026205083,-1118876117)+W(2,-1112185757,1041771076,-1113654239,1036138408)+W(3,1043328887,1047911808,1028532559,1051948425)+W(4,-1088266627,-1144202605,-1106609306,-1087961804)+W(5,-1087619944,-1086197995,-1087181441,-1079365891)+W(6,-1103352647,1058269731,1055957016,1060473075)+W(7,1062639593,1055667963,1042300482,1051816684)+W(8,1051863744,-1102436935,1041931682,-1105147684)+W(9,1002098271,-1111264410,1038991809,1047648830)+W(10,-1115854735,-1130126796,1017898629,1041818984)+W(11,-1130413359,1032948860,-1115140949,1035539513);sum2=W(0,1050752765,-1102559074,1004621594,-1106905815)+W(1,1038134564,-1114858390,999530010,-1104442024)+W(2,-1087877559,1042152886,-1095393630,-1106434273)+W(3,-1099723068,1036662936,-1101776331,1054232067)+W(4,-1089125923,1035361880,1058416370,1058355794)+W(5,1056388755,1040360076,-1106345832,1034476952)+W(6,1063798323,1052128007,1062325475,-1120474523)+W(7,1051681161,-1096401119,-1106373450,-1089943559)+W(8,1013490077,-1090156566,-1094287538,-1101206197)+W(9,-1100293430,-1104699402,1048788631,-1113690608)+W(10,-1098786735,1029952535,-1116454071,1025568531)+W(11,1009033997,997069429,-1117506479,1019208527);WS(-1082323244,1081334754); +sum1=W(0,1017652669,1026074030,1026308835,-1139023631)+W(1,-1124784756,-1157466090,-1151223253,-1123067319)+W(2,-1114671162,-1101582293,-1102225205,-1128122150)+W(3,1047028384,1041367009,1037350457,1018518877)+W(4,1045686283,1051997878,1056290627,-1109179969)+W(5,-1088067773,-1090935975,-1100014755,-1100605637)+W(6,-1100397239,-1097273854,-1091487775,1033600923)+W(7,1058585755,1058457225,1047302995,1040259816)+W(8,1040334760,1036251335,1044247257,1034603313)+W(9,-1098471302,-1104671877,-1113240670,1007040336)+W(10,-1120290385,1010893986,-1114193219,1015477828)+W(11,1027532986,1028455628,1023216600,-1167442276);sum2=W(0,1021161720,-1130912565,-1130074229,-1117040706)+W(1,1025588007,1012731209,-1117264939,1035821810)+W(2,1034310052,-1120070653,1013066141,-1097167140)+W(3,-1126989997,1035986228,979500482,-1131150309)+W(4,1028060302,1057895756,1050008660,-1077198236)+W(5,1036249174,1061480822,1036420478,-1114248001)+W(6,-1111691904,1060473449,1048707954,-1071981659)+W(7,1055589119,1068029984,1025639810,-1104930835)+W(8,-1117456161,-1103940220,1041027109,-1101172514)+W(9,1014637039,1014223793,1027808652,-1128414380)+W(10,-1120681063,1030806761,-1131293055,1009545637)+W(11,1035622377,-1130249456,-1120874755,1036288471);WS(1053726551,1012659382); +sum1=W(0,1032083097,-1115995457,1025061558,-1122031383)+W(1,1038196358,-1115071689,-1130575936,-1113099877)+W(2,-1106638998,1034541187,-1115280977,-1104507249)+W(3,-1114143426,1029764374,1031225348,-1102798468)+W(4,-1098702088,-1098027112,-1088652495,-1092902123)+W(5,-1085882325,-1097451113,-1098237300,-1111014420)+W(6,1047871676,1032148771,1060231518,1065996118)+W(7,1058126194,1059563219,1035470703,1054581342)+W(8,998886703,1042659740,-1106688851,-1104094145)+W(9,-1102012910,-1121352461,-1128714910,1000597622)+W(10,1022035144,-1112198366,1034668492,1024148149)+W(11,1010989620,1012420282,-1123786037,1024134712);sum2=W(0,-1124504165,1044199209,-1105768285,1030597508)+W(1,-1097181409,1040834484,-1106395293,1038991009)+W(2,1043258069,-1105860909,-1149580326,1054859448)+W(3,1065166573,1012576825,-1091772000,-1077787203)+W(4,-1119272862,-1096303760,1030851358,1057797022)+W(5,1062380695,-1116955554,-1113754765,-1098893101)+W(6,-1120765402,1027333462,-1110802573,1040041196)+W(7,1017534493,-1108797661,1042765191,-1110880129)+W(8,-1132584009,-1112573193,1028533186,1035436142)+W(9,-1141430739,1032147286,-1113752657,-1120959090)+W(10,-1130103221,1030769098,-1111917317,1033418125)+W(11,-1140263257,-1126074797,1020067757,-1136443945);WS(-1091585367,-1096979755); +sum1=W(0,-1125210148,-1121704545,-1120024086,-1106223422)+W(1,1027649645,-1106879908,1033259600,-1108105765)+W(2,-1104771642,1041680018,1043362647,1048656073)+W(3,1038801018,-1103521718,-1106174833,1031226898)+W(4,-1104387016,-1093500244,-1085845307,-1086139981)+W(5,971788283,-1124812374,1011346436,-1119913673)+W(6,1039960904,1056326757,1060708396,1060053831)+W(7,-1115241635,1040958787,995843043,1040930453)+W(8,1043768271,-1114046313,1022927067,-1105827043)+W(9,-1120254754,1038747748,-1118768800,1040461604)+W(10,-1127914889,-1113011982,-1140249314,-1132509525)+W(11,1027284814,1026834103,-1115807705,1029803545);sum2=W(0,1007158722,-1117465525,1020157105,-1115575087)+W(1,1029731993,-1115951245,1042169362,-1111020797)+W(2,1004004293,1030693613,1007550482,1032793866)+W(3,-1104867994,-1111503366,-1101768383,1042858280)+W(4,-1123076619,1034532408,-1101572236,1059720067)+W(5,-1112732963,-1098900155,-1132362761,-1101011815)+W(6,-1109929145,-1107544976,-1110988335,1067665797)+W(7,1048427228,1058832170,1029991341,1043396912)+W(8,-1104848259,-1095482533,-1085485924,-1090269083)+W(9,-1135504754,1037004208,-1108400441,1041064016)+W(10,1045822378,-1130708853,1036333634,-1111111456)+W(11,-1105802165,-1115747431,-1132122165,-1126685993);WS(1050761175,1067771859); +sum1=W(0,1007679755,1016344868,-1111212068,1035369236)+W(1,-1114152399,1027679203,1024513697,1023429051)+W(2,-1103008542,1051881455,-1113694143,1057165115)+W(3,1030154052,-1119705863,1037582923,-1106945041)+W(4,-1117542415,-1099208581,-1094852820,-1086714990)+W(5,-1087862176,-1098820035,-1101037788,-1098056967)+W(6,1040506400,1050438683,1036449755,1067282489)+W(7,1049754336,1030273979,1048082428,1020854026)+W(8,-1107587308,-1138473483,-1102372368,1045850761)+W(9,-1112794889,-1111030523,-1114576136,1000524418)+W(10,-1123566389,1035136294,-1110750261,1047098321)+W(11,-1108921199,-1158006009,1025557440,1029171882);sum2=W(0,-1108377721,1043256577,-1098471532,1048495965)+W(1,-1103576309,1036658009,-1107738492,1030436882)+W(2,1042939389,-1092756549,-1140040329,-1094992475)+W(3,1017276157,-1104050853,1032200565,-1104348148)+W(4,-1118508723,-1136988785,-1099870420,1064902851)+W(5,1045749581,1045838269,-1110226959,1042649061)+W(6,-1101760284,1050996294,-1098704018,1062859454)+W(7,-1089477514,-1157061765,1046491511,-1106567852)+W(8,1037932369,-1104406221,1015984185,-1098855018)+W(9,1025174042,-1121418697,-1106492592,1027657606)+W(10,-1111488356,1040203060,-1103619810,1045571731)+W(11,1025902034,-1107737652,1044444185,-1105647758);WS(1057448172,1069108917); +sum1=W(0,1025232554,-1128422002,1032607415,-1106129908)+W(1,-1141856298,1015221011,1010040610,1026592994)+W(2,-1116799928,-1123655391,-1111298160,-1119092894)+W(3,1044964179,-1128617181,-1116425884,1015937075)+W(4,-1100727837,1037047614,-1102160962,1036246919)+W(5,-1088316592,-1116622467,1027658969,-1102536008)+W(6,1055215485,-1104723136,1056783106,-1165535249)+W(7,1049606186,1044617768,-1132120236,1042573835)+W(8,-1106508548,1040448906,-1103004521,1040745899)+W(9,-1132962087,-1103456342,1037741920,-1118303623)+W(10,-1139419762,1006660815,1016236833,-1123853933)+W(11,1016605067,-1160895193,1018376479,-1120915345);sum2=W(0,-1128749003,-1091479855,-1124909389,1030767422)+W(1,1028475536,-1118686225,-1133507353,1003197653)+W(2,1042697161,1061865996,1067634595,-1111988197)+W(3,-1102439466,-1117920963,1022976741,1008285339)+W(4,-1101835107,-1097573200,-1083343720,-1090130192)+W(5,1055493018,1027292464,1030733458,1002427213)+W(6,1038607216,1026943422,-1110364223,-1089515454)+W(7,-1090714326,-1101900071,1033968573,1033064671)+W(8,-1108371617,-1114744392,1035072621,1054823097)+W(9,1059932372,1031097460,-1132241300,-1101772178)+W(10,1031384482,1026017402,1036186174,-1104718688)+W(11,1024781950,-1110105890,1040128898,1026666744);WS(1065065708,-1125796377); +sum1=W(0,-1112144555,1029634469,-1112840237,1034269757)+W(1,-1122801969,-1133240789,1016754760,-1119164014)+W(2,-1106943759,1025116330,-1105630541,-1106751530)+W(3,1023923175,1041797158,-1113089188,-1130226634)+W(4,1017193539,-1112668180,-1112954809,-1096457447)+W(5,-1094266089,-1096385878,-1106190977,-1114305030)+W(6,1048634147,1027133034,1055950575,1060800975)+W(7,1051425450,1041695411,1044103184,1036967948)+W(8,-1127916040,1026809557,-1112907992,-1093799807)+W(9,-1103940357,1039766276,-1130590086,1008751883)+W(10,-1132404112,1004217594,-1111964638,1038388364)+W(11,-1132895812,1013909417,1032062573,992673732);sum2=W(0,1043431555,-1109692118,1036275465,-1111890182)+W(1,-1102288351,1045724738,-1109691788,1007408138)+W(2,-1098806978,1046643695,-1097975189,1048664613)+W(3,1049750262,-1098934938,1032869755,-1111259526)+W(4,1024222598,1045861043,-1101643320,1058544270)+W(5,-1098883379,1049188212,-1107029975,1048185689)+W(6,-1105154239,1054740901,-1083291725,1068703829)+W(7,-1080748028,1058055770,-1100454574,-1148294292)+W(8,1031236307,1035789437,1007109846,-1081353417)+W(9,1031821902,-1100833476,1051695731,-1114785167)+W(10,953732840,-1115663935,1042301531,1035678115)+W(11,-1120166561,1047454611,-1096856793,1041528279);WS(1061652844,1044003957); +sum1=W(0,-1118715405,1029075868,-1115471369,1032954233)+W(1,998963525,-1111723799,1036011862,-1152687195)+W(2,1022617806,1045689305,-1094261862,1027529537)+W(3,-1099266912,1045678528,-1119248992,-1108410990)+W(4,1044034950,1030904095,1059625182,1057470859)+W(5,1062131070,-1098407445,1047156095,1037164834)+W(6,-1101088515,-1103346936,-1096538237,-1086691558)+W(7,-1094363880,-1105378993,-1123294521,1016045215)+W(8,1019688911,1045834099,-1102841294,1041319556)+W(9,-1166277444,1028040508,-1135804811,-1106724595)+W(10,-1131961856,-1110934572,1036052922,-1148682371)+W(11,1017830866,-1109411965,1030886475,-1123601124);sum2=W(0,-1123087716,-1122327585,1034911826,-1115300382)+W(1,-1147444258,1031538244,-1122824244,1026384688)+W(2,-1115107680,-1105390433,1034185422,1042081129)+W(3,1036682846,1043195731,-1112377777,1024479380)+W(4,1039737456,-1106584843,987338697,-1094697399)+W(5,1048628369,-1100913302,1041194171,1036768370)+W(6,1045652727,-1139899009,1060423005,-1103292099)+W(7,-1079464406,-1102260713,-1101961861,-1106123677)+W(8,-1106100707,-1102201417,-1111505321,-1094374885)+W(9,1066067653,1062702469,1013733313,1034543612)+W(10,-1128513463,-1114704327,1009548801,1026056400)+W(11,-1112497116,-1107096307,-1125635761,1037241080);WS(1061983340,-1091535279); +sum1=W(0,-1154828523,1027504414,-1131271078,-1120408436)+W(1,-1131629652,-1122568783,-1165314478,995201141)+W(2,-1133965299,-1128653831,-1114200663,-1129743238)+W(3,-1117839504,1035797658,-1115205249,1019503421)+W(4,1043906007,1027190112,1061948198,1054216086)+W(5,1062537731,1028696552,1045640431,1044774081)+W(6,-1118138894,-1097538828,1027560685,-1081158944)+W(7,-1089869577,-1097887897,-1111951485,-1105384996)+W(8,-1109842717,1037523079,-1106988467,1048594270)+W(9,-1121464863,1028427349,-1121440284,-1119142300)+W(10,1025343169,-1121887129,1023298667,-1108007945)+W(11,1034422373,-1120763036,1008081777,-1122356070);sum2=W(0,995087446,1030495116,1007114937,-1121939088)+W(1,-1109334595,1012755199,1031009559,-1123906524)+W(2,1036608468,-1099055008,-1115487063,1057848194)+W(3,-1106051731,1015526929,-1118519790,1024955281)+W(4,965233164,-1104807397,-1070882050,1075270016)+W(5,1059573542,-1102771000,1023903156,-1159976683)+W(6,1033021468,-1107407110,1038417178,-1094462735)+W(7,1039375650,-1124510890,1016192349,1023974018)+W(8,-1114419070,1033869233,-1103406865,1051754977)+W(9,-1104596666,1028405316,-1111745826,955743793)+W(10,1033025046,-1119280070,1028798922,-1120762821)+W(11,1018124826,976567206,1015800189,-1129936862);WS(1062927532,1035014202); +sum1=W(0,1039522007,1034505951,1040732909,1002357921)+W(1,1016035605,-1122944943,999726956,-1140151454)+W(2,-1114736246,-1109500450,1011271190,1044028441)+W(3,1050061010,1042353405,1036129025,1041525964)+W(4,1037103646,1048942600,1053278895,-1097469770)+W(5,-1085392865,-1094832633,-1103977959,-1111797875)+W(6,-1104897563,-1092956200,-1091146839,-1093973369)+W(7,1051214559,1050975197,1043068615,-1126246883)+W(8,1044380938,1044086236,1044239087,1042916452)+W(9,-1112456671,-1111813313,-1112116510,-1110444494)+W(10,-1121785378,1027254073,-1145709740,981579331)+W(11,1035761861,1033165606,1025151372,1033358643);sum2=W(0,1038528863,1036214533,1049223347,-1113699843)+W(1,1041716852,-1100571883,1017295180,-1101978327)+W(2,-1084044031,-1091834288,-1110305241,1042795689)+W(3,1050774414,1043118649,1047177880,1050263507)+W(4,-1082440456,-1077502553,1049812579,1068178608)+W(5,-1092073446,1047476754,1034666293,1054410728)+W(6,1050939225,-1095085693,1050231565,1060273714)+W(7,-1115682722,-1105112612,1050691511,-1101197699)+W(8,1053868195,1028074081,1046376147,-1132635925)+W(9,-1098688235,1017697398,-1092800689,-1104788145)+W(10,-1113963371,-1114781385,1035810200,-1160679206)+W(11,1036026944,1016345266,1040315316,-1112282035);WS(-1086906028,1058773265); +sum1=W(0,-1132629757,997844200,965362145,-1106996409)+W(1,-1153797548,-1120050655,-1122322046,1015091632)+W(2,1044191380,1043197109,-1125429564,1033453658)+W(3,-1118095697,-1121403972,-1119804562,1026125167)+W(4,1032367334,1050808506,1058285756,1062016570)+W(5,1044397873,1043993638,1042486572,1047754366)+W(6,-1096691584,-1095732027,-1086608026,-1081591954)+W(7,1041881517,-1096430215,1002316636,-1099777504)+W(8,-1152318558,1042781664,1034636741,1043388193)+W(9,1045470808,-1115428219,1018594522,1024196285)+W(10,-1109034905,1031594505,-1119832870,-1106441585)+W(11,-1149103576,-1113585524,-1135705587,-1122333654);sum2=W(0,1048104076,1038532068,-1129915388,-1101156186)+W(1,-1128179824,-1128045264,-1131782160,-1109473444)+W(2,-1096548381,-1086001730,-1083843015,1035944594)+W(3,-1102068111,1044127780,-1114990278,1041203218)+W(4,-1107021820,-1131935456,1060056432,1066609131)+W(5,1027352212,1048571914,-1120175088,1038985844)+W(6,1018456960,1007620609,1033171254,1050949241)+W(7,-1107874139,-1104179329,1038875644,-1112054433)+W(8,-1136070657,1040453646,-1111662792,-1110531416)+W(9,-1104445548,-1127646596,-1110249452,1034344442)+W(10,-1112321878,1033875386,-1117768272,1032538050)+W(11,-1114035189,1032855260,-1144805954,-1130080864);WS(1046014126,1065769758); +sum1=W(0,1012096182,-1112076254,-1100987245,-1106802021)+W(1,-1106286530,-1129503003,1021132153,-1112401299)+W(2,-1121314108,1039437825,1043473803,1045721640)+W(3,1049347084,-1109380841,1049245244,-1120677869)+W(4,-1091239207,-1094624040,-1091961473,-1088552177)+W(5,-1089539427,-1091526873,-1091375076,-1088888106)+W(6,1052142286,1048611696,1060125676,1062377804)+W(7,1053897896,1057150062,1048631067,1057709495)+W(8,1042130570,-1109865911,-1128757714,-1119711185)+W(9,-1128945819,-1119080717,1034078686,-1122337355)+W(10,1019346753,-1152131961,-1123465492,1039063160)+W(11,-1114302645,1015225093,-1135518836,1014030866);sum2=W(0,-1089976447,-1078304891,-1071851632,-1070679577)+W(1,-1081022179,-1113339548,1011136331,1035458322)+W(2,1064913799,1068350548,1070575185,1072673707)+W(3,1063744071,-1128451504,1040942179,-1115281660)+W(4,-1094573985,1019506715,1065710309,1065504629)+W(5,1056839493,-1124929726,-1106886716,-1111465381)+W(6,-1109226965,-1120561974,1002672995,-1098180006)+W(7,-1117214353,-1111255228,1028658493,1033265670)+W(8,1030445629,1021062218,-1127826384,1031139735)+W(9,-1112765526,1037321868,-1127063938,1001938923)+W(10,-1115506338,1018259030,1012290398,995896746)+W(11,1010152224,-1118014213,967860273,-1119523230);WS(-1096468055,1053785380); +sum1=W(0,-1110473361,1020813409,-1111899059,1027946631)+W(1,1003556839,-1143096715,996386562,-1123588698)+W(2,-1116957735,-1114360891,-1123200592,-1090968927)+W(3,-1107232681,-1117882342,-1118523124,-1105979736)+W(4,1034879511,-1114475674,-1109008383,1066746382)+W(5,1064704330,1046069775,1042611044,1040361862)+W(6,1017136705,-1111337627,1028379180,1051825655)+W(7,-1094442401,-1129057075,-1114700263,1022269000)+W(8,-1116669644,-1135792006,-1105125143,-1094808947)+W(9,-1116312257,-1106172505,-1135525501,-1106276184)+W(10,-1118632404,-1120549867,-1162426624,-1173354793)+W(11,-1119514205,-1113957025,-1130080208,-1123525720);sum2=W(0,-1127419095,-1140125367,1028088432,-1126099139)+W(1,-1114986450,1024738032,-1114843176,1023949256)+W(2,-1122531649,1025350612,-1123116186,1020760995)+W(3,1019570567,1039021380,1018690059,-1119198021)+W(4,-1111543417,-1108347637,-1101718819,1056423339)+W(5,1073762237,-1100544782,1049061203,1026425060)+W(6,1043407189,1028851928,1048774619,-1086358248)+W(7,-1076137651,1044261707,-1099227611,-1123270518)+W(8,1013519927,-1117946771,1041147594,-1112971994)+W(9,-1118107520,1015761083,-1111772147,1027419728)+W(10,-1134679399,991440379,-1127107007,-1115422093)+W(11,1037345920,-1103403994,1042824177,-1129333383);WS(-1089097708,-1091261619); +sum1=W(0,-1127316247,-1113526029,-1118797136,-1123552881)+W(1,-1123795687,1015138359,-1129675572,-1126584008)+W(2,1003986316,-1120011361,1046355762,-1103137072)+W(3,-1103576251,1032220600,-1120446878,1027028747)+W(4,-1111263852,-1112997295,-1081822066,-1100403388)+W(5,1053114278,-1138618770,1007314666,-1123471427)+W(6,1044425283,1047767320,1061869832,1058200050)+W(7,-1092855018,-1160534136,1034662460,1018063772)+W(8,1033605983,-1118942860,-1110810403,1009152314)+W(9,1046189751,1031283151,1016196275,-1128724178)+W(10,-1116984894,-1121673366,1027944882,-1124559262)+W(11,-1131347855,-1118591413,-1131488026,-1122517738);sum2=W(0,-1151923233,1026311687,1025121279,-1123775834)+W(1,1033596173,-1105542037,1035290939,-1108107550)+W(2,1040701127,-1109901381,1034378939,-1092342947)+W(3,-1096202739,1051958537,-1098166743,1047977685)+W(4,-1110923755,1024679085,-1080291839,1071256357)+W(5,1042190483,-1103925783,1046386099,-1114731953)+W(6,-1103532415,1016651554,-1082840291,1066054209)+W(7,1056834874,-1199035157,1035522294,1030555165)+W(8,1041909162,1036375055,-1110170843,-1090243220)+W(9,-1097275958,1038401459,-1113079432,1015019440)+W(10,-1121169096,-1135341024,1041541680,-1128413506)+W(11,1043004954,-1097944284,1042529081,-1099750845);WS(1061142188,1045552914); +sum1=W(0,1022384747,1019603337,992843677,1025369499)+W(1,-1149984013,1030794181,-1123167236,1034453383)+W(2,1020461367,-1114371061,-1137489184,-1128616851)+W(3,-1114859644,-1134916072,-1114858116,1009189588)+W(4,1058732728,1054684529,1060634392,1056292747)+W(5,1061516204,1058073341,1052882077,1050605022)+W(6,-1095805239,-1098135841,-1085459239,-1081060320)+W(7,-1083596540,-1097701630,1026645922,-1099032542)+W(8,-1101590238,-1123665301,1027392977,-1124699057)+W(9,1038698931,-1106352164,1006025241,-1100750969)+W(10,1033080372,1031766591,-1123755612,-1116775033)+W(11,1034158665,-1134014242,1037240581,-1122655396);sum2=W(0,1041010686,-1100296712,1042377248,-1124701214)+W(1,1002573079,1026372231,-1107309152,1022594646)+W(2,1045355628,-1110840017,1028443719,-1097271182)+W(3,-1108318217,1034868187,1032249619,1034940919)+W(4,-1091459780,-1109934927,-1120459763,1068946970)+W(5,1048538630,-1095496747,-1112114883,-1096153349)+W(6,-1092997038,-1109499465,1023984711,1068602839)+W(7,1049236461,-1112347607,-1088682480,1036467963)+W(8,1025085151,-1110570114,-1120816159,-1090645327)+W(9,1036483715,-1110453128,-1121128467,-1105549173)+W(10,1019331790,-1115246837,1025130703,1036287199)+W(11,1028224647,-1106754238,1040581836,-1106253388);WS(-1090464684,1058848194); +sum1=W(0,1038070654,-1104784595,-1140651524,1048797564)+W(1,-1115845272,-1115304422,1022142646,1026901973)+W(2,1035807069,-1106022588,-1107342224,-1112865880)+W(3,-1102596230,-1117573217,1011767229,-1105151431)+W(4,1059156269,1027584334,1060192817,1062566262)+W(5,1060113046,1043041013,1054886405,1057383999)+W(6,-1091590511,-1104101108,-1084437581,-1088742755)+W(7,-1087393870,-1095911543,-1102839322,-1088896680)+W(8,1049775661,-1100086527,1050662239,1037690576)+W(9,1050391262,-1117869728,1042443855,1039830925)+W(10,-1111666744,-1128618637,-1128690758,-1097281200)+W(11,1024450616,-1151911514,-1131868338,-1104457275);sum2=W(0,-1106952896,1050458431,-1084179073,-1068828969)+W(1,-1082769727,1054525389,-1098029126,1038352192)+W(2,-1173421195,-1100970530,-1117103305,1049093414)+W(3,1015202727,-1093960872,1043872404,-1107157710)+W(4,-1113206734,1037511626,1063723378,1078393261)+W(5,1065452472,-1106048166,1031385535,1030855073)+W(6,-1136957987,1029901269,-1106205415,-1105390455)+W(7,-1128426057,993579659,-1114758982,1034755506)+W(8,-1152575873,-1116273053,1039247706,1034474614)+W(9,1032907306,-1100143257,-1155923695,1034533524)+W(10,-1112584615,1045345833,1031320371,-1099252776)+W(11,1035573879,1040309898,-1124055116,-1124561432);WS(-1106782638,-1120193880); +sum1=W(0,1020741911,1021367862,1038644232,-1126436322)+W(1,1043522250,-1112066734,1018349205,1033129938)+W(2,-1116040418,-1121939617,-1109539853,-1098608828)+W(3,-1101880327,993980163,-1115252655,-1133833389)+W(4,1053259451,1050945756,1055524943,1065255335)+W(5,1061719830,1048874997,1051405991,1042923217)+W(6,-1112821605,-1100446872,-1091353929,-1085596156)+W(7,-1096552606,-1090468372,-1106280862,-1102788916)+W(8,-1101282812,1049499553,-1100504250,-1101475552)+W(9,1025835692,-1114054607,1027947689,-1104899626)+W(10,-1111424287,-1129092267,1016236516,1033532871)+W(11,1022700239,-1114668904,-1147278953,1028803059);sum2=W(0,-1113068388,1036673453,-1118880240,1028813378)+W(1,-1107832014,1027909744,-1122240512,1011592783)+W(2,-1115580494,1024834555,-1115483686,-1117546792)+W(3,1043490929,-1105092918,1040415904,-1119502452)+W(4,1039529972,-1098466798,1043501593,-1115055672)+W(5,-1117282076,1042504898,-1107365158,-1112704202)+W(6,-1091718951,1052150318,1043613567,1062484975)+W(7,1045088246,-1094456673,1030923561,-1123953380)+W(8,-1076395174,-1080701891,1068474066,1066750300)+W(9,-1097140180,1049333443,-1109881554,1043999999)+W(10,1046645532,-1104586573,1009076111,-1093753132)+W(11,1036864955,1022104546,1033514298,-1115391680);WS(-1093231703,1042706757); +sum1=W(0,1032826937,1026075841,1032961819,1036684171)+W(1,1034757510,1036416025,1015758976,1040004261)+W(2,1040624182,1000558899,-1110755278,-1127770315)+W(3,-1106938311,1019575916,-1114624210,1042264396)+W(4,1058499572,1052553144,1061343357,1062021249)+W(5,1060752603,1057695045,1051786740,1058906011)+W(6,-1084803183,-1099119122,-1083389465,-1081334022)+W(7,-1087386813,-1090036539,-1098198604,-1088285503)+W(8,-1104136529,1025447538,-1114092422,-1112317122)+W(9,-1132554758,-1109030926,1012060669,-1096739300)+W(10,1041579305,1031885534,1032264780,1018739433)+W(11,1031902455,1037874311,1027119072,1035404188);sum2=W(0,-1134545280,-1101426979,1012752443,1036306510)+W(1,1034320105,-1111393843,1046638158,-1108867307)+W(2,1057942802,1047102485,1055001204,-1096203167)+W(3,-1114902087,-1096420171,-1101073471,-1091559913)+W(4,-1072425931,-1084592242,-1079302223,-1123894686)+W(5,1062181631,1062084093,1064536824,1073505700)+W(6,-1067197419,-1071603316,-1077093049,-1098326846)+W(7,1072541263,1067609499,1073214169,1078744623)+W(8,1049446840,1042726179,1050812050,-1129334697)+W(9,-1097319760,-1093274589,1001153868,-1094526709)+W(10,1074141781,1060445087,1060645469,1037955576)+W(11,-1094473234,-1087350702,-1085693573,-1077663090);WS(-1075107862,1049521772); +sum1=W(0,1027861131,987763517,-1129668766,1033675992)+W(1,1016072268,992091051,1026084697,-1120420163)+W(2,1045206278,1041173528,1032319275,1040210256)+W(3,1041485791,1044520444,1042655839,-1112688453)+W(4,-1086495609,-1097093508,-1086275954,-1081944455)+W(5,-1082045908,-1096923684,-1093981119,-1094413520)+W(6,1051717721,1049572700,1055584810,1064397290)+W(7,1059363461,1055988184,1051323143,1050124978)+W(8,1033503081,-1116084523,1009361560,995768539)+W(9,-1112276757,-1112468587,1005879363,1033578820)+W(10,1031434621,-1144572069,-1140119493,1027980366)+W(11,-1129633421,1024276072,1000619058,1025196738);sum2=W(0,1033523983,-1107297920,-1109353447,-1097553497)+W(1,-1102290887,987526362,1022298470,944749371)+W(2,-1091543751,-1125142534,-1100365589,-1121112319)+W(3,-1119424675,-1094244068,1033606211,-1100627225)+W(4,1048034710,1031510683,995045613,1061520608)+W(5,1042981818,-1103162896,1052169844,-1098189213)+W(6,1051542012,-1103344470,-1120961303,1061214811)+W(7,-1094266425,1043830132,1041952964,1041818078)+W(8,1024239879,-1117305947,-1099173366,1044020024)+W(9,-1093433218,1046119446,1043499670,-1096785580)+W(10,1041022978,-1121264057,-1115033235,1053722991)+W(11,-1097363289,1047286054,-1106943326,1031561067);WS(-1097146583,-1102489480); +sum1=W(0,-1121239074,1035066361,-1110655283,1032257412)+W(1,1020382076,1014217354,1032256145,-1120529307)+W(2,-1102624204,1033907292,-1104909116,-1109600459)+W(3,-1113387282,-1114213060,-1114763275,-1123950514)+W(4,1041928668,-1096659727,-1123609439,-1091326393)+W(5,-1105975127,-1098203983,1045101428,-1093952115)+W(6,1043173384,1051162503,1057278053,1050132159)+W(7,1049365769,1049080395,1033542535,1055699093)+W(8,-1118777253,-1108685857,-1102566959,-1100309385)+W(9,-1101876333,1040792061,-1121020400,1035959564)+W(10,1016656554,995611334,1009112868,1037330963)+W(11,-1111738159,1033561904,-1149295615,-1122689753);sum2=W(0,1030001048,-1107119695,1023713698,-1115026335)+W(1,1024715164,-1112691697,1024758511,-1147275412)+W(2,1039849292,-1106305989,1019090837,1035696383)+W(3,1036481868,1023388499,-1146519572,-1112564365)+W(4,-1106927121,1060202814,-1104587624,1057308499)+W(5,1047684818,-1112160637,-1093257675,1041456307)+W(6,1046837828,-1095733546,1043085465,1053508746)+W(7,1034862818,1046794790,-1094465043,-1083960309)+W(8,-1131959957,1012779430,1026454649,1038120705)+W(9,1037173687,-1101425448,1036335613,-1094791365)+W(10,-1116147800,-1124391765,1028873647,-1104339358)+W(11,1045294658,-1119391248,-1156574008,1012709310);WS(1057303084,-1084740383); +sum1=W(0,1025949163,1023904890,1033327896,1022060320)+W(1,-1131905805,-1114170862,1021513971,-1109381346)+W(2,-1105987664,-1104417576,-1097440039,-1106403568)+W(3,1043670267,1041763972,1037885311,1019385429)+W(4,1034968156,1048292239,1057303604,-1134851644)+W(5,-1082452830,-1089247692,-1093401571,-1097845612)+W(6,-1097863693,-1093717272,-1088500414,1058205452)+W(7,1059877080,1058731430,1046703382,1049842950)+W(8,1046214631,1042713619,1043920086,1041892896)+W(9,-1101986947,-1107457363,-1110573172,1031126152)+W(10,-1130932027,-1126920426,1012093510,1040636140)+W(11,1028551783,1041063330,-1143718184,1016340900);sum2=W(0,-1097593869,1040446621,-1107347821,1036994425)+W(1,989701019,1043906150,1040271244,1016581730)+W(2,-1100989715,1036240143,-1105186205,-1119554977)+W(3,1048367016,-1095197585,-1102913875,1041272891)+W(4,1026566131,-1100851860,1046892012,1069594194)+W(5,-1107809286,1031148367,1038853877,-1105136265)+W(6,1061153405,1047874592,-1103469514,1074408805)+W(7,-1110319007,-1079941721,1042791078,-1086296266)+W(8,1050695083,-1096668864,-1104864053,-1103368475)+W(9,-1100341899,-1084422687,-1093040701,-1099178193)+W(10,-1095509343,1040237386,-1114614656,1040210470)+W(11,-1105386934,1031716423,1036206107,1042594729);WS(-1085311468,1078025451); +sum1=W(0,-1114246985,-1123523234,-1123774423,1017942127)+W(1,1018695644,-1134274761,973249598,1032511109)+W(2,1033236492,1042717314,1046675224,1030027079)+W(3,-1107516674,-1105985470,-1118366597,-1108369993)+W(4,-1126048573,-1100167817,-1090923842,1002547123)+W(5,1061445386,1051174149,1032724353,1047097650)+W(6,1051596674,1050764301,1057423711,-1138337956)+W(7,-1085962671,-1101362115,-1098415672,-1105953621)+W(8,-1110129580,-1101525701,-1102550347,-1117387765)+W(9,1045061525,1037275627,1033244340,1025818592)+W(10,-1109388771,1021849401,1031509177,-1126623147)+W(11,-1118825262,-1107617348,-1124427728,-1115961017);sum2=W(0,-1123353384,1030359787,1024787123,1015567503)+W(1,-1115408082,1026077135,-1137211259,1015951538)+W(2,-1131031713,-1114557735,-1125418898,-1132430472)+W(3,1029672716,-1118070691,-1125125186,-1135395683)+W(4,1029311455,-1123787418,-1099438470,1049323738)+W(5,1042547290,1050505809,-1110579463,1040847724)+W(6,1047725718,1042470619,-1106551206,-1097880179)+W(7,-1089568094,-1166364565,-1115324497,1028809582)+W(8,1051601031,-1121374979,1049816965,-1088308991)+W(9,-1098255621,1026888229,-1112338809,-1102185033)+W(10,-1113968956,1045218010,1044805763,1039658119)+W(11,1042126156,-1115384233,1043221816,1014731468);WS(1060142060,1042832150); +sum1=W(0,1031397804,-1121488955,1033996248,1018827426)+W(1,-1131717262,1033609702,1010765225,1029196868)+W(2,1036648197,-1142445829,-1117943062,-1111782928)+W(3,-1108508447,-1106903604,1015606653,-1115637854)+W(4,1052129567,1051097024,1054892021,1065668620)+W(5,1059881804,1058770516,1050176059,1054801908)+W(6,-1093104885,-1094159296,-1086111346,-1081757070)+W(7,-1087336873,-1090845580,-1100487494,-1126749404)+W(8,-1125587404,-1138833071,1028704007,1032794495)+W(9,1047817147,-1104469332,1038701961,-1091639031)+W(10,1030014814,1024131190,1024270930,-1123778927)+W(11,1022586319,-1125662417,1032196289,1019613157);sum2=W(0,1016709191,1013621039,-1134054043,1033829499)+W(1,-1133247239,1014723479,1025542948,-1113297030)+W(2,1043282989,-1105412866,1034830675,-1123744731)+W(3,-1107183956,-1110083630,-1115844306,-1097083153)+W(4,-1105914972,1048947993,-1104630078,-1088942993)+W(5,-1093767876,1055362845,-1111303066,1064727508)+W(6,-1104055195,1038685325,-1084033248,-1072142874)+W(7,1073971039,1076386430,-1098251720,-1090433741)+W(8,-1113893232,-1143937773,-1103493551,-1098435347)+W(9,1052470850,-1104225446,1051939911,-1091328171)+W(10,1031619176,-1128320153,990218298,1026126526)+W(11,1042783259,-1103699955,-1123473137,1025388740);WS(-1086199532,1054743650); +sum1=W(0,1034444474,1027498242,1040848158,1023783640)+W(1,999869046,-1115850147,1025498402,-1134397103)+W(2,1032011277,-1095519909,-1107222607,-1152811127)+W(3,1044283945,1044573214,1036275699,-1123084051)+W(4,1048862696,1053262121,1061389071,1030342167)+W(5,-1084989084,-1095010778,-1106712265,1032418005)+W(6,-1097849454,-1090625833,-1084999869,-1113365765)+W(7,1060145155,1054594461,1045643928,1033574715)+W(8,1006964268,1040908045,1038795271,1038235355)+W(9,-1104327823,-1101807134,-1122717633,1015954881)+W(10,1027368614,-1113781807,-1118338586,-1108967739)+W(11,1006059384,1028815960,-1124545277,-1135640905);sum2=W(0,-1098769930,1041383757,1031909130,1040055926)+W(1,-1112037460,1040275414,-1111784639,-1113621249)+W(2,1042608106,-1089209738,-1102323575,-1105226719)+W(3,-1124786133,-1117623756,-1131302943,1048083051)+W(4,-1101852353,-1121408570,-1108783974,1065973699)+W(5,1049738412,1057999228,-1111524780,1025491254)+W(6,-1093087039,1038811718,-1089123880,1069194195)+W(7,1026907074,-1106112227,1020629449,-1107530612)+W(8,-1139600545,-1093098827,-1121335963,-1098519743)+W(9,-1089198426,-1101165651,-1109243346,1048264427)+W(10,1036192806,-1121276186,1045867083,1023817866)+W(11,1042688929,-1122635193,1041146873,-1095495518);WS(-1090983255,-1089207473); +sum1=W(0,1011536056,1031895551,-1113368985,1041335941)+W(1,-1112820133,1033755607,-1120463213,1029129223)+W(2,-1126565928,-1113602338,-1111099810,-1099647257)+W(3,-1102367072,1030939267,-1111909392,1034973975)+W(4,1055178415,1054038520,1055473117,1064470249)+W(5,1063942234,1050197537,1058279198,1042393881)+W(6,-1101680475,-1097154360,-1089575247,-1084973552)+W(7,-1086493203,-1097159533,-1096914715,-1096995926)+W(8,-1102945718,-1121652462,994604183,-1121284913)+W(9,1041044307,-1111487017,1017418960,-1111098786)+W(10,1026884961,990918528,1022227241,-1151944468)+W(11,-1119623498,1029397803,-1127714823,1024652821);sum2=W(0,1008868714,1000134020,-1131179173,1026383992)+W(1,-1108980541,1033178726,-1113100227,1025874080)+W(2,-1138668162,1023930211,-1108628571,-1114490385)+W(3,1047990867,1030525898,-1131668265,-1138114226)+W(4,988655570,-1099344177,-1064898888,-1066369231)+W(5,1075540559,1086324754,1049763634,-1100090533)+W(6,-1108603395,1041622837,-1131013053,-1087427617)+W(7,-1095163420,1057379348,1040828448,-1109206595)+W(8,1033342078,1025638720,-1133763810,1033730604)+W(9,-1117896039,1031531103,-1119632759,1025251971)+W(10,1018452757,-1115444075,1023801183,-1118168395)+W(11,1033324797,-1116567631,1028372534,-1128577333);WS(-1109283164,-1114463829); +sum1=W(0,1026307305,1010065376,1036887575,1032762791)+W(1,1038442146,1036926348,983730417,1042339968)+W(2,1048505142,1006853751,-1122796048,-1121781501)+W(3,-1106474773,-1140109366,-1113784606,1033209828)+W(4,1056046207,1051849183,1060373686,1062361681)+W(5,1060935143,1058739944,1052729243,1060958338)+W(6,-1087851802,-1096622464,-1086026376,-1080983673)+W(7,-1086759863,-1088322398,-1098544579,-1085562739)+W(8,-1097387850,1034233556,-1106692609,-1116217316)+W(9,-1136008963,-1111740214,973353381,-1098996574)+W(10,1043738183,1033008793,1030721871,1031320492)+W(11,1024808165,1037732587,1028455576,1032429188);sum2=W(0,1033103311,1036675590,1035316039,-1139597621)+W(1,-1104037187,1036924272,-1111374359,1033604811)+W(2,-1088826877,-1093870598,-1096260803,1038770367)+W(3,-1120383141,1054470917,1048854624,1052968175)+W(4,1076551262,1064863709,1066303868,1054257493)+W(5,-1086745184,-1080791393,-1081541832,-1074269835)+W(6,1082157528,1075036637,1074566779,1054121358)+W(7,-1075712309,-1075955022,-1073360354,-1068055688)+W(8,-1088761642,1044533603,-1088656095,-1096732938)+W(9,1026461691,1058516172,1036676016,1036957577)+W(10,-1073488400,-1083381518,-1087052440,1034260530)+W(11,1055295113,1062460380,1061463967,1072405502);WS(-1073690779,-1087724268); +sum1=W(0,1020006630,944113971,1028328440,1026519064)+W(1,1023877839,1026744019,-1116930962,1037411798)+W(2,1040645890,1024788392,1048604230,-1124203663)+W(3,1026558293,-1108217132,1024907750,-1124509669)+W(4,1037569760,1033313762,1026748704,-1097395091)+W(5,1058432566,1052406658,1046357449,1052615509)+W(6,1040537741,1022063376,1037819609,-1081034849)+W(7,-1089181115,-1095782133,-1103915032,-1095058991)+W(8,-1102207443,-1117962707,1018608989,1030158086)+W(9,1048090929,1028902900,1040820950,1037074644)+W(10,1011752087,1010250996,1035208397,-1107990331)+W(11,1030700463,-1115106384,1006665970,-1120315546);sum2=W(0,1036147454,-1115074830,-1143660011,-1109526737)+W(1,-1113309480,1006285882,-1115649745,1026243607)+W(2,991782552,1025479068,-1111873890,1054093522)+W(3,1016478163,1035621794,1027286665,-1108696429)+W(4,-1100036784,-1096384442,1042154750,1036720443)+W(5,1015496998,-1111840809,1028637267,1024623035)+W(6,-1102354425,1031211776,-1098733186,1061883500)+W(7,1040999099,-1099055155,-1117281017,-1120753705)+W(8,-1132125723,-1114551496,-1120425773,1042458762)+W(9,-1118319659,1021928735,-1113807339,1033776741)+W(10,1037581214,-1107514244,1036528495,-1113752408)+W(11,-1131440878,1009305230,-1115311515,-1117838632);WS(1053167575,1034582410); +sum1=W(0,1023109013,-1105499654,1047073940,-1103829756)+W(1,-1134567319,1029509866,-1107075490,1028951523)+W(2,-1135820801,1041430288,-1099071824,1051022760)+W(3,-1103780951,1038026111,-1144576488,1034415069)+W(4,-1107146278,1045138183,1006706653,-1098544246)+W(5,1035133548,-1101742889,1040882462,-1110494113)+W(6,1042183330,1015167422,-1110119411,-1114407921)+W(7,1029794991,1025810371,1020673517,-1144644710)+W(8,-1106326923,1048594337,-1101264321,1042439875)+W(9,-1115149997,-1124355817,-1133994400,1017843520)+W(10,1038375967,-1103059717,1036901240,1019390619)+W(11,-1122256838,1039002364,-1113322768,1025775953);sum2=W(0,1007469645,1024932078,-1123529450,-1106895484)+W(1,-1154152567,1026396887,1034932657,-1118589447)+W(2,-1127684796,-1122451669,934668744,1046133075)+W(3,1050482770,-1100501045,-1112663810,-1145059796)+W(4,1026289720,1029479215,1048216767,-1101979386)+W(5,-1086100405,-1104578417,-1110628430,-1120799353)+W(6,-1134400734,-1114161855,-1092503803,-1118826374)+W(7,1054881826,1054831843,1037309396,1034243151)+W(8,-1121586613,1018968072,1055026065,1057475450)+W(9,1057991283,1037697257,1041220013,1035239909)+W(10,1012304630,1018258842,-1105610792,-1091642753)+W(11,-1094138317,-1097381938,-1108645190,-1109776821);WS(1065106092,1009251236); +sum1=W(0,-1127594260,1015119794,-1105935716,1030756271)+W(1,1015463627,1033714469,-1121831017,1032817313)+W(2,-1119086128,1041681344,1038033220,-1103164984)+W(3,-1097628571,-1096661826,-1162082196,1037645501)+W(4,-1106710454,-1108480942,-1085761952,1048660750)+W(5,1062385221,1057312254,1045270286,1038003425)+W(6,1041658930,1053952044,1059673337,1035410928)+W(7,-1083076739,-1097132616,-1100422942,-1134248242)+W(8,1028936149,-1098626929,-1106493133,1042075767)+W(9,1048795361,1042769246,1033263484,-1109564844)+W(10,999711717,-1128362792,1030156593,-1105711219)+W(11,-1109139763,-1109546740,-1128821631,-1113038632);sum2=W(0,1026504012,-1115537349,1004448402,-1120289237)+W(1,-1116193727,1023273402,-1106169890,-1116296115)+W(2,-1111982251,-1109318355,-1126991046,-1114485349)+W(3,1031030421,1036795295,1038895038,1037382021)+W(4,-1115575890,1037274256,1032461625,1046084064)+W(5,-1104386736,1033981186,1034486696,1014573341)+W(6,1025515301,1036029355,-1105715099,1035923056)+W(7,1039615788,1034803763,-1111316562,-1126611440)+W(8,1038047283,-1140512157,1031934837,-1127252256)+W(9,1008094609,-1108137243,1013721630,-1109430807)+W(10,-1121134093,-1118959675,966777949,1001443794)+W(11,-1126229172,999509622,-1115420717,-1121268263);WS(1058235500,1054922309); +sum1=W(0,-1126843838,-1115091447,1037063794,-1097782353)+W(1,1017345397,-1106496120,-1124168315,-1111050604)+W(2,-1110452882,1026999796,1027596138,1043595317)+W(3,1026915457,1051692426,1033470169,1047889704)+W(4,-1096439037,-1109530936,-1126567064,-1080972858)+W(5,-1087153329,-1092439359,-1096481402,-1101856358)+W(6,1054965252,1035486938,1052521111,1054616871)+W(7,1059777872,1055199219,1049045985,1042302776)+W(8,-1126708475,1040994960,1048136923,-1135709192)+W(9,-1117730271,1025849689,-1109862614,1048178521)+W(10,-1113819273,-1112039092,1029145158,-1103625129)+W(11,-1113712109,-1133876016,-1120397392,1018059916);sum2=W(0,1032658614,1026047005,1016793814,979115576)+W(1,1025048255,-1120340424,-1124528004,-1113479651)+W(2,-1104671284,1026757765,-1106565422,1040092458)+W(3,-1118382609,1024555245,-1115048442,-1102456829)+W(4,1033357456,-1146410551,-1129670058,1049738304)+W(5,1047130549,-1099524683,-1114147283,-1143577495)+W(6,-1107649550,-1093450531,1029536101,1048902638)+W(7,1043845633,1031379649,1015256822,1032535412)+W(8,-1107785448,1045006287,1032863350,1031141497)+W(9,1024835039,1016575718,-1115840886,-1140327483)+W(10,1014985523,-1108588814,-1114405495,1032866808)+W(11,-1128051766,1011865867,1016407002,-1121997281);WS(1050344663,1040331465); +sum1=W(0,-1119034750,1027008397,-1123135107,1034001074)+W(1,-1165785906,-1109811775,1012082163,1021442477)+W(2,-1123846924,1032620906,-1107606109,-1113228665)+W(3,-1104523524,1044228977,-1136436803,1015486907)+W(4,1038870821,-1145305726,1045963311,1055978044)+W(5,1061494191,994921841,1043858443,1032566715)+W(6,1016005498,-1104369525,-1101093248,-1091899011)+W(7,-1089807144,-1100340494,-1113047285,-1121306753)+W(8,-1113185550,1047408652,-1106188838,1019406818)+W(9,-1133495032,1039673315,1003314783,-1110918342)+W(10,-1180899430,-1117862216,1031141157,1025902913)+W(11,995937181,-1126170822,-1155810234,1012720916);sum2=W(0,1017323653,983063098,-1124332548,-1136855038)+W(1,1038193266,-1115428487,1037749325,-1162541650)+W(2,1006857268,1027629321,1040636195,1050922570)+W(3,-1107256285,1024268384,-1105738834,-1112368096)+W(4,1027026905,1041250623,-1098379711,-1095854749)+W(5,-1124475180,-1107079153,1035306909,1041041721)+W(6,-1096858156,-1096058068,-1081757810,1046692173)+W(7,1055388353,1044471504,1018283467,1034757871)+W(8,1057582691,1069736593,-1098564102,-1092586095)+W(9,-1101296593,-1099842491,-1130236866,-1116072515)+W(10,-1108630874,-1103954988,1039138402,1040290673)+W(11,1026430908,-1135051275,-1127494735,-1128054004);WS(1064629676,-1098084920); +sum1=W(0,1033302207,1017176603,1043155505,1036523218)+W(1,-1135635048,1036902751,-1154473427,1031815708)+W(2,1017516913,986968687,-1093133598,-1136867787)+W(3,-1099849236,-1112073298,1015173986,-1108314079)+W(4,1037844037,1048067236,1059745345,1054752956)+W(5,1054803234,1049105955,1045303547,1049045791)+W(6,1004101612,-1094217842,-1107275372,-1083111259)+W(7,1036740290,-1089373007,1007182507,-1096296960)+W(8,-1100831258,1032944847,-1118901210,-1111571193)+W(9,-1104247276,1044914424,1032262742,1028425028)+W(10,1023773169,1036346276,-1109611315,1036061697)+W(11,-1130856180,-1178541510,1028817260,-1121119813);sum2=W(0,1031116538,1018758860,-1093507837,-1142239225)+W(1,1008547208,-1115133937,1037272918,-1116833334)+W(2,-1106561538,1041892626,1060901401,-1094547881)+W(3,1048344650,-1106548880,1031802380,1032935937)+W(4,1041324255,-1122918288,-1090730175,1059998586)+W(5,-1105692057,-1107738784,-1109731964,-1105354579)+W(6,-1097318271,1050772655,-1089173269,1050575163)+W(7,-1105982083,1062167006,-1115007264,1051274636)+W(8,1038093550,-1113042451,-1103574570,-1096117806)+W(9,1045224094,-1093777588,1040225760,-1097190188)+W(10,1003684433,1005733025,1036702490,1007559836)+W(11,-1111284039,1032209739,-1119496571,1039213738);WS(1059570988,-1104849743); +sum1=W(0,1015935639,-1114327981,1032097032,-1100671580)+W(1,-1118415719,-1146837726,-1128662677,-1106017873)+W(2,-1105217736,-1117057793,1045549308,994695167)+W(3,1019924475,1044124420,-1133264506,1026902699)+W(4,-1100062838,-1095539196,-1097913193,-1081463016)+W(5,-1088685699,-1103538521,-1090424260,-1096642336)+W(6,1055580097,1051203348,1057098153,1065307314)+W(7,1060408535,1060044676,1048658511,1058793797)+W(8,-1114680436,-1104422643,1035503236,-1100709080)+W(9,-1100882497,-1127513406,-1106885414,-1112552037)+W(10,1027695934,-1122995670,1026067698,-1115820943)+W(11,-1121911751,1040976712,-1109730008,1032897105);sum2=W(0,-1101738300,1026251680,-1096487254,-1097132336)+W(1,-1103125896,-1098301296,-1145491968,-1102991820)+W(2,-1102635520,1042860418,-1118004862,-1097577131)+W(3,1034939290,-1107323885,1046219299,-1101571742)+W(4,1049960021,1045813894,1012147620,1062244087)+W(5,1030928730,1018590462,1042676852,1048890187)+W(6,-1107186076,1037904592,-1101520598,1050699569)+W(7,-1118944274,996952385,-1132230456,-1120981264)+W(8,1031463651,1043360780,-1099464580,1042220045)+W(9,-1129575892,-1143727552,1038679603,1022002534)+W(10,-1109595133,1032162510,-1144663840,1017587638)+W(11,-1122088198,-1112243029,1028948530,-1108091801);WS(-1095386967,-1111219145); +sum1=W(0,989878260,-1130549149,1027494660,1027516453)+W(1,-1138329195,1029536895,1016226972,1031794584)+W(2,1046105185,-1114353482,-1126247292,-1101798869)+W(3,-1109199416,-1149170463,-1110945897,1041043200)+W(4,1042696371,1044731284,1059356463,1066759339)+W(5,1060963410,1056388995,1052477254,1048385630)+W(6,-1089927208,-1092958347,-1090136954,-1086407791)+W(7,-1086208082,-1087382795,-1099705531,-1090430272)+W(8,-1127509006,1029760895,-1123276603,-1134143337)+W(9,1037957160,1028489291,1033794703,-1116367629)+W(10,1030962098,1015099027,1002268463,1008759050)+W(11,1030926587,1024487352,1027177352,-1155852515);sum2=W(0,1037152773,-1155239869,-1110337901,1031799544)+W(1,-1115579003,1027082675,-1125050611,1027786160)+W(2,-1107393101,-1118272906,-1121008946,1040803769)+W(3,1040826838,-1129277077,1044810576,-1128372019)+W(4,-1107499267,-1123365743,1053226346,-1091451910)+W(5,1036591998,984589146,-1111221822,-1115106721)+W(6,-1071982339,-1066777138,1065602467,1078719649)+W(7,1072207876,1012365693,-1114663567,1027240586)+W(8,1050177526,-1099174901,-1114100047,1051522302)+W(9,-1112448128,1036247818,1024897040,1010421237)+W(10,1034063245,-1111285661,-1111810642,1032887971)+W(11,-1105619991,1027337883,-1128259763,-1110086921);WS(-1090330604,-1095913405); +sum1=W(0,1020138108,-1123891981,1027835331,-1104251929)+W(1,1036891437,-1115340623,1034060158,-1111402939)+W(2,-1155846064,-1158857313,1042832881,1026174194)+W(3,1041459232,-1107002233,1043482052,-1101325435)+W(4,-1089580553,-1099259748,-1086143680,-1083565678)+W(5,-1087459168,-1094838563,-1096454718,-1097944271)+W(6,1060107168,1041623909,1061453552,1065434151)+W(7,1058328348,1058061687,1046178603,1056232524)+W(8,1026904097,1034391623,-1115844409,-1108664129)+W(9,-1103857816,-1108388469,-1124051644,-1124315511)+W(10,-1129005794,1027969480,-1126805065,1015124739)+W(11,-1133565543,1018898230,-1128371111,1016813002);sum2=W(0,-1123501879,994818552,1024190209,1026428551)+W(1,-1113685733,1033345966,-1113104927,1032770548)+W(2,1032645553,-1106534525,1041404870,-1104982451)+W(3,1042593674,-1115833227,1034301013,1019409377)+W(4,1031823713,1055123028,1003420836,-1080276792)+W(5,-1127504591,1051480126,-1116624943,1017007809)+W(6,1073269342,1086127434,-1097366650,-1064048639)+W(7,-1073275019,-1090368136,1039074558,-1104405577)+W(8,1039470942,-1106004733,1048036108,1029604730)+W(9,-1102930579,-1127043711,1016207563,1023925896)+W(10,-1134706270,-1108902493,-1131894299,1040747994)+W(11,-1114192145,1028687353,-1110363669,1028902826);WS(-1090401964,-1152005757); +sum1=W(0,-1107975723,1027213860,-1098681011,1041527967)+W(1,-1104614908,-1117487349,-1139447119,-1114124023)+W(2,-1110378885,-1114833045,-1110030634,-1088517567)+W(3,-1108968043,-1117626874,1013150495,-1107640642)+W(4,-1108756369,-1095679285,-1106296032,1070380432)+W(5,-1108442736,-1098750614,-1103582017,-1109258534)+W(6,1036253290,-1126602324,1055690689,1071039479)+W(7,1052643167,1027420045,1037720897,1028231256)+W(8,-1114963960,1031108853,-1100045596,-1089232274)+W(9,-1099409217,-1149243844,-1112117145,1004205268)+W(10,-1113670180,-1122691487,-1107558750,1041737494)+W(11,-1114805320,-1114809497,-1129003237,-1115685308);sum2=W(0,1032241318,-1099535875,1055385702,-1088862448)+W(1,1049303281,-1109469239,-1107728961,-1128383244)+W(2,-1104603794,1042476400,-1090035137,1058560544)+W(3,-1088861159,1052772694,-1098593341,1040732759)+W(4,-1110024851,1036274242,-1088795135,1070638870)+W(5,-1093985609,-1106832655,1040915158,-1094544594)+W(6,1040884292,-1098717699,1054345172,1049287225)+W(7,1045145516,1028821082,-1095210561,1053404675)+W(8,-1102517567,1017815860,-1094964358,1049908300)+W(9,-1104972980,-1121780800,1046695263,-1097835418)+W(10,1041491703,-1106264274,1050847172,-1097728340)+W(11,-1120926078,1040141480,-1097969166,1042680505);WS(-1070853435,-1079594702); +sum1=W(0,1031368074,-1129832370,1034753191,1015854174)+W(1,1034404179,1016952500,-1121119193,1030231874)+W(2,1015638464,1041167744,1035847262,-1103546680)+W(3,-1113675090,1024462894,1024493276,-1128491667)+W(4,-1114370347,-1117069532,-1123068615,1064504443)+W(5,1061831318,1053421228,1039689052,1047845552)+W(6,-1115839497,-1102391672,-1103157041,-1091637800)+W(7,-1080200908,-1096184888,-1127920108,-1114780422)+W(8,-1115223191,1027397066,-1112317379,-1115479934)+W(9,1034003429,1024063661,1021986479,-1108195108)+W(10,1032466078,1017764904,1032880216,-1129698458)+W(11,1015162251,-1140051844,-1133040549,-1121925385);sum2=W(0,-1106137478,1043473407,-1106937584,1026389244)+W(1,-1112665680,1037682857,-1122471729,-1132137458)+W(2,-1112484873,-1102332364,-1092913054,-1107744995)+W(3,-1097742336,1043622402,1020098037,1022975237)+W(4,1057355655,-1095817987,1065744344,1065853704)+W(5,-1081387458,-1127502696,-1107102958,-1141866869)+W(6,1035747177,-1115086293,1023360745,1072123343)+W(7,-1079419356,-1106562006,-1106082519,-1126279403)+W(8,-1121112608,-1132505032,-1113186427,-1092294539)+W(9,-1121542644,1037780507,1042075138,1036152561)+W(10,-1111886750,1028632460,-1106034045,1034294011)+W(11,1024287965,1025382780,1002478149,-1184105122);WS(1049779927,-1112776705); +sum1=W(0,1028071903,-1114011991,1029458468,-1119065733)+W(1,-1132325110,1021654911,-1140102008,-1114327724)+W(2,-1118237477,1043483133,1007633232,1035764138)+W(3,1035328577,1034435922,-1138188744,-1122000063)+W(4,-1102803275,-1098367878,-1088820906,-1094340312)+W(5,-1080604425,-1090240908,-1148292210,-1113705707)+W(6,1029391902,-1104983021,1052808064,1066199650)+W(7,1053987355,1056392483,1036299814,1048826612)+W(8,1034486619,1030141823,1041927295,1028311666)+W(9,-1120802495,1033716813,-1137351220,1019304377)+W(10,-1146402448,1024272361,-1136262168,-1116603171)+W(11,1022508086,-1120600656,-1178578023,1020743116);sum2=W(0,1032570045,-1105084280,1038138439,-1106537061)+W(1,1040196930,-1115643975,1030892929,-1115802712)+W(2,1038214390,1026252154,1040403525,-1094267982)+W(3,-1111441511,-1113353460,1041615042,1045634969)+W(4,-1105258373,1013797397,-1089116471,1076181184)+W(5,-1077048432,1025617857,-1099622062,1030853641)+W(6,1049712324,-1092505394,1060934721,1059180753)+W(7,-1094660144,-1116351798,-1112051433,1036834683)+W(8,-1104412018,-1106628914,-1095609080,-1100140938)+W(9,-1105239307,1035183993,-1108612586,-1126459673)+W(10,-1123221706,1042796766,997194667,1031304969)+W(11,1025898916,-1113508292,1036578837,-1114596985);WS(1046079918,-1101410372); +sum1=W(0,-1119247786,1028420729,-1112243383,992275696)+W(1,-1122025413,-1106451742,1031954516,-1132155589)+W(2,-1128322399,1041896248,-1105916230,1048641796)+W(3,-1106854731,1031954663,1008473970,-1111364501)+W(4,1042510685,1041276767,1052547749,1049660162)+W(5,1058242473,1042746961,1045913078,1038481040)+W(6,1040172212,1029165630,-1093769957,-1086983984)+W(7,-1090223605,-1101840568,-1131429676,1034663574)+W(8,-1102544268,1023180436,-1094151845,1051181214)+W(9,1034028133,1035662026,-1136064862,-1123376855)+W(10,-1115138862,1035447066,-1116787216,-1126725978)+W(11,1020616971,-1106918309,1031591591,-1113758304);sum2=W(0,-1141998719,-1145824639,1031031156,1020781312)+W(1,1022361784,1035727822,-1106658345,1018984000)+W(2,-1109775790,-1114337335,1035421278,-1094152732)+W(3,1019796096,-1109500163,-1126048860,-1133379360)+W(4,1044487768,1032184652,-1118695686,1023745864)+W(5,1018742928,1044822196,1018234504,1040264262)+W(6,-1123003936,-1105393491,1043275908,1060925239)+W(7,1035441608,-1129786704,-1154747838,-1114483694)+W(8,-1128896096,-1105870753,-1123077850,-1116720242)+W(9,1005384511,-1106753069,-1109895735,-1115363912)+W(10,-1116651188,1028260552,-1117301622,-1118185274)+W(11,-1111756371,1028382728,-1112885074,1013789936);WS(1065850966,1065849900); +sum1=W(0,-1148044715,1016251913,-1121600570,-1122606683)+W(1,-1119487441,-1123929445,1022387720,-1113618935)+W(2,1023026535,1037817733,1025496281,1030608138)+W(3,1035148220,1038603949,1040789578,1029056085)+W(4,-1096615656,-1090259708,-1086496425,-1089114938)+W(5,-1087399018,-1089721837,-1091666965,-1090055623)+W(6,1051437895,1044690723,1060547800,1067874188)+W(7,1061971613,1051923078,1020371139,1050691807)+W(8,1037565454,1031445334,-1123828273,-1103278290)+W(9,-1103477215,1017932657,1017045638,1041207209)+W(10,1009078433,-1134993406,-1122338716,961099943)+W(11,-1115158089,-1152593000,1017681054,1032486406);sum2=W(0,1035054009,-1100085534,1050236106,-1106312974)+W(1,1040394388,-1111006317,-1122528690,-1120327060)+W(2,1029203106,1055497340,-1099101530,-1091493710)+W(3,1035688516,-1100130836,1051271785,1037370697)+W(4,-1095822387,-1094806083,-1112580467,1065636371)+W(5,1057422694,1038056034,-1090043318,-1101753600)+W(6,-1096883389,1022251406,-1105263591,1066985993)+W(7,1050729384,-1113669663,-1109365057,-1098907474)+W(8,-1106861506,1025821768,-1099047212,-1090221894)+W(9,1040303734,-1095697855,-1132012078,1042447412)+W(10,1003858895,-1141198631,1038164225,1007864647)+W(11,-1131632326,1034223408,1022279531,-1111449439);WS(-1097113303,-1098536273); +sum1=W(0,-1128711506,1001100740,-1116245678,-1123204686)+W(1,-1122390725,973480529,-1135175840,-1112078369)+W(2,1026190055,-1129782332,1036959597,1010531062)+W(3,1040533155,1032146359,1016950072,-1115082484)+W(4,-1089449919,-1090119792,-1089233276,-1088111001)+W(5,-1083999320,-1100399617,-1096337083,-1098983064)+W(6,1051085133,1054274400,1059231684,1068549146)+W(7,1060528017,1051645044,1021720363,1056811397)+W(8,1039600836,1006971045,1035061810,-1106500579)+W(9,-1110173729,-1118570949,-1105366950,-1163217111)+W(10,1017357112,-1151099700,1008174399,1027830380)+W(11,-1118330949,-1138008953,-1113983621,-1114515356);sum2=W(0,-1126544110,-1106788080,-1123763395,1031886252)+W(1,1019879781,-1106896864,1025236903,-1103198659)+W(2,1057867675,1045040387,-1116688865,1008770068)+W(3,-1111977015,-1104133845,-1123575137,-1095297610)+W(4,-1084782762,-1103936041,-1096694543,1065118928)+W(5,-1120781351,-1094413904,1055216743,1063595180)+W(6,-1101472514,-1095964817,1033632512,1070094219)+W(7,-1093909441,-1091348732,-1087869152,-1101379604)+W(8,1046930113,1060484868,-1098897900,1055777327)+W(9,-1105350592,-1098592917,1032159773,-1090856164)+W(10,1047938716,-1116398073,1033301960,-1112910333)+W(11,-1132175940,1028498658,-1111429301,-1148399072);WS(-1088872108,1052196610); +sum1=W(0,-1115772244,1026268067,1022683057,-1119255225)+W(1,-1126845407,1018606696,-1122729971,-1119390253)+W(2,-1114837443,-1111544357,-1104977249,-1110507588)+W(3,-1124752108,-1106979958,-1118779367,1032957370)+W(4,1040729928,-1129315660,1050293045,-1115663356)+W(5,1055556797,1038400791,1043464385,1010467373)+W(6,999143576,1051137549,1050616762,-1123488747)+W(7,-1107532492,-1115698508,-1106851872,1013947482)+W(8,1035543595,-1115388138,-1110255664,-1102766242)+W(9,-1115121626,-1111362474,-1114761165,-1127308771)+W(10,-1109636323,-1138847608,-1148093909,-1113579532)+W(11,1031428336,-1123058305,1024891874,-1117161611);sum2=W(0,1021571414,1005045849,1032761087,-1131955840)+W(1,1002892889,-1113636159,1017257782,-1116947723)+W(2,-1136485425,-1108696907,1015124882,-1109877489)+W(3,1050593712,-1105061066,1027289415,1035889263)+W(4,1033792089,1026572719,-1097148617,-1072841573)+W(5,1051731235,1040799594,1025178361,1033387155)+W(6,1044650880,1068805535,1072674603,-1073632622)+W(7,1040667946,-1114163718,1033059623,-1113785952)+W(8,-1111938281,1042295210,1053858128,-1114078156)+W(9,986622244,-1105514756,-1131411966,1024784261)+W(10,-1111133361,1015874538,-1115667125,1025743417)+W(11,1029743517,-1150165522,1028606721,-1131685126);WS(1059574956,-1147706177); +sum1=W(0,-1126851274,1032992154,990365335,1021792788)+W(1,1014654722,1023708133,1021433863,1024270494)+W(2,-1107330821,-1114850125,-1111585801,1025219833)+W(3,1042448198,1041111834,1028566264,1025900485)+W(4,1039522745,1036915515,1058476188,1057257569)+W(5,-1130368142,-1087441640,-1103664757,-1101532519)+W(6,-1101979721,-1103811902,-1091594576,-1102147871)+W(7,1049911159,1046832311,1042912388,1034347764)+W(8,1039509326,1037543219,1044635632,1015035920)+W(9,-1098033363,-1103709614,-1112635561,-1106561201)+W(10,-1113513772,-1122830319,-1115799180,999411009)+W(11,1008106627,1030688938,998865060,1033251158);sum2=W(0,1030668111,-1138525905,-1118095530,1046358820)+W(1,1026007575,1036395993,1044323398,-1102154889)+W(2,-1100054904,-1127093272,-1104427366,-1094333916)+W(3,-1098434999,-1114547879,-1098255510,1043811931)+W(4,-1106823977,-1118630721,-1104404781,1066330506)+W(5,1032956568,-1089680445,-1118009606,-1104253130)+W(6,1038847176,1023505668,1055088734,1059364463)+W(7,-1109156363,-1102029714,1019564502,1042217401)+W(8,1045749759,-1100949461,-1106737563,-1115593085)+W(9,-1105827255,1014767972,-1114455410,1033201092)+W(10,-1139922314,-1137789612,1025350194,-1118124817)+W(11,1044080198,-1111415597,1034872747,-1116871429);WS(1056332375,1037816258); +sum1=W(0,-1121656782,-1121854558,988019291,1027294260)+W(1,-1141230927,-1146196851,-1124586778,-1119789479)+W(2,-1103168373,-1112652978,1032694229,1032971073)+W(3,1036051832,1029047507,-1138159876,-1116156558)+W(4,-1119737691,-1116096096,-1099471067,-1088930875)+W(5,-1088040995,-1094038173,-1105369135,-1100717841)+W(6,1044637987,1045017865,1051843657,1058468850)+W(7,1059943427,1054278049,1040438911,1052440082)+W(8,1028439953,-1108613751,-1124711667,-1105155884)+W(9,-1110648631,1023373473,-1109090662,-1121068380)+W(10,-1147698697,1015231409,-1126623722,1025720722)+W(11,-1125643860,1025459107,-1140770656,1033302707);sum2=W(0,1037403217,1056969468,1057593955,1065979451)+W(1,1052219437,1048107842,1012201018,1034400525)+W(2,-1101035659,-1090106390,-1080354518,-1077736273)+W(3,-1095104394,-1110113632,1035332836,1036232380)+W(4,1032316963,1038083410,1060881997,1057826659)+W(5,1040943565,-1093495590,1023246776,-1105354500)+W(6,-1116665707,-1119459300,1028006921,-1093367622)+W(7,1050471411,-1098889696,1037291810,-1172133380)+W(8,-1159849898,1009385423,1038355181,-1108823981)+W(9,1028403474,1041580846,-1108503511,1023204972)+W(10,1025618366,-1128266716,-1107076145,1040978108)+W(11,-1107763897,1031803963,1028340263,-1124125618);WS(1057728492,-1114894260); +sum1=W(0,-1113553553,-1129994721,-1116323110,1032700067)+W(1,1022553594,-1174372438,1025649872,-1204938694)+W(2,-1137973853,1032124939,1038491142,1042214629)+W(3,-1102850457,-1103814977,-1108835354,-1117610625)+W(4,1030725486,1023297510,1042012404,1063322480)+W(5,1049455560,1038337085,1036180712,1041170774)+W(6,1027451936,1039175515,-1096381204,1002639809)+W(7,-1095884801,-1099447670,-1107257155,-1110131186)+W(8,1024408310,-1104644784,-1098358292,-1097199096)+W(9,1038368473,1041557913,-1143485305,-1139346043)+W(10,-1122023828,1015759447,-1129065232,1025211173)+W(11,-1119912573,-1120935138,1022194670,-1131327617);sum2=W(0,-1132724746,-1125894137,1008401986,-1123753553)+W(1,1028568703,-1129573217,-1115138968,-1129237393)+W(2,-1136277690,1023794749,1034921985,-1135255538)+W(3,-1095862669,-1103833757,989975657,-1117578737)+W(4,-1115335750,1019650853,-1111489002,1065003137)+W(5,1042205114,-1104966989,1028245440,-1137003202)+W(6,-1142062564,-1102896527,-1095970428,1052274635)+W(7,1050282098,1039075981,-1124502561,1029353869)+W(8,-1111737990,1036465851,-1093339450,-1130345777)+W(9,961646223,-1123958953,975314596,981021860)+W(10,1021138001,-1117376889,1036367329,-1114642052)+W(11,983274770,-1121876761,-1131382405,-1129104973);WS(1064957100,-1084259623); +sum1=W(0,-1147443767,1002237105,1042679235,1025036588)+W(1,1039980881,1039876787,-1122119878,1046679440)+W(2,1048172674,1022388856,-1111985505,-1105536623)+W(3,-1111204540,-1118973740,-1115201293,1036937851)+W(4,1050085746,1049301459,1061123934,1059891343)+W(5,1063082922,1059164422,1050147791,1052477312)+W(6,-1087174820,-1096483251,-1084863818,-1085360136)+W(7,-1087496217,-1085023864,-1099749261,-1093770425)+W(8,-1110620477,-1130736462,1036594273,-1096717087)+W(9,1049051417,-1098175193,1038851310,-1094492881)+W(10,1041967934,1032395752,1029284270,1027822410)+W(11,1038157169,1033526682,1035926782,1040430103);sum2=W(0,1043574668,-1110691764,-1103083598,-1104224219)+W(1,-1111324648,1045365848,-1123650350,1040472402)+W(2,-1079200674,-1088609636,-1104512784,1072315297)+W(3,1071717488,1074062948,1072927288,1075518858)+W(4,1070660923,1057860954,-1107138551,-1092267131)+W(5,-1073631870,-1072626825,-1076777698,-1068851440)+W(6,1052128984,1049301959,-1106877192,-1082025998)+W(7,-1098154139,1060924493,1055782129,-1085268633)+W(8,-1102512316,-1119415890,-1099577256,1048136354)+W(9,-1101281480,1049098296,1053482338,1045375219)+W(10,-1114631788,-1111966430,1025811761,-1120067756)+W(11,-1097839567,1046934152,-1142912019,-1113956244);WS(-1075237718,1059347685); +sum1=W(0,1021242911,1033512399,1029870036,1022930282)+W(1,1032776022,1018371807,1019954077,1033340372)+W(2,1049968737,-1159856274,1035044013,-1122614884)+W(3,-1113136009,-1134430929,-1114025505,1040742208)+W(4,-1123217820,1052611492,1055398719,1061884279)+W(5,1059035017,1058365139,1054270736,1057072208)+W(6,-1100043508,-1096977477,-1086974821,-1081627821)+W(7,-1085989237,-1083853344,-1094951367,-1082038839)+W(8,-1123750750,1035058824,-1111424357,1035852049)+W(9,1046594056,1040835864,1036293471,1043435581)+W(10,1039650209,-1164938034,1031585078,-1146263191)+W(11,1040828171,-1113397210,1041271429,-1112152131);sum2=W(0,-1109418256,1045686709,1025535098,1041368995)+W(1,1025255906,1045341483,-1131647237,1050563248)+W(2,-1082007392,-1092895857,-1097230803,-1087580936)+W(3,-1090709237,1030380818,-1098811123,-1122444474)+W(4,1074622373,1045059925,1022527077,1072979117)+W(5,1059630355,-1082271661,-1098333373,-1080249300)+W(6,-1087167323,-1090791673,1061750517,1066822104)+W(7,-1104688853,-1098772696,-1097425000,1035536875)+W(8,-1079889153,1052961109,-1094791227,-1121141584)+W(9,-1114952578,1048788253,-1109808864,1062091865)+W(10,1054843717,-1111299754,-1097908774,1039933817)+W(11,-1109459004,1032974905,1041274025,-1101634861);WS(-1073405707,1071333561); +sum1=W(0,1032445482,-1114759602,1009365348,-1116673978)+W(1,-1140494528,-1138343378,-1164102249,-1128324122)+W(2,-1107154225,1043648434,1025826187,1050217769)+W(3,1045274198,1041826370,1037855412,1036590066)+W(4,-1086616986,-1097373989,-1088696011,-1084271170)+W(5,-1086550017,-1088202787,-1096484208,-1090407429)+W(6,1053035442,1049497533,1058380737,1057270871)+W(7,1060414079,1054213138,1049814032,1044502774)+W(8,1037191452,-1113096234,1042579156,1027100008)+W(9,-1122447285,1033632004,-1117413058,1049279047)+W(10,1005358651,-1140703610,-1147371482,1008260703)+W(11,-1128134433,-1146407565,-1132301012,1030979244);sum2=W(0,-1104849756,-1130309268,1032168017,1006608216)+W(1,1025939811,-1116205504,-1134020588,1015836550)+W(2,1044778147,1042344095,-1115874267,1016899230)+W(3,1015318926,1017541078,1025032291,-1134707560)+W(4,1087011564,1065552014,-1071484991,-1064792716)+W(5,-1108487910,-1111002668,1026184365,-1105554232)+W(6,1051692028,1050304642,-1095624232,-1080996320)+W(7,1038353709,1015541566,-1115175630,1035428553)+W(8,-1115275477,1012814276,1034711867,1012706900)+W(9,1031018877,1017981722,1016059306,1030487759)+W(10,1024288807,-1122813731,1018071134,-1113948677)+W(11,1039145567,-1121567210,-1161414849,957459976);WS(-1093094231,1019545057); +sum1=W(0,-1147370279,-1111661690,1036370005,-1130128916)+W(1,-1138886402,-1114353490,-1139052495,-1123566046)+W(2,1024662611,1043371102,-1098598749,-1121967929)+W(3,1034324947,1030255498,1020719663,983686292)+W(4,1045730364,1007712219,1063151515,1048771569)+W(5,-1102866212,1043747359,1042970997,1044423271)+W(6,-1100871081,-1103400446,-1086049630,-1094208743)+W(7,1057052051,-1103168823,-1114366281,-1105757546)+W(8,-1113292876,-1125293706,1038700136,1042591246)+W(9,-1109292474,1040829042,-1113681601,-1119014482)+W(10,-1115285964,1035921815,-1106696483,1031896756)+W(11,-1117085921,-1117982022,986496271,-1116127556);sum2=W(0,1017737448,-1112488549,1041909593,-1119128646)+W(1,995222883,-1138532089,-1122958336,1002378369)+W(2,-1113949677,1043174240,-1095542187,-1123930650)+W(3,1011641777,1043431269,-1133447353,1011720393)+W(4,-1109074925,-1099690943,1055357640,1063813292)+W(5,1029075282,-1111808055,-1121958092,-1111615901)+W(6,-1106456753,1036040708,990810979,1064786485)+W(7,-1080550900,-1099317256,-1111251400,-1122017034)+W(8,1033894674,-1136025401,1036060652,-1095508468)+W(9,-1096849813,1042059844,1031456264,1041840135)+W(10,1002006465,-1127095326,-1106928479,1041202855)+W(11,1028541984,1013308785,-1130037494,1011740497);WS(1065464534,1066200435); +sum1=W(0,-1120929867,1037468205,-1104046500,-1118049328)+W(1,1026495526,-1102710553,1047356358,-1104379061)+W(2,-1114034816,-1098649416,1044270480,1030873567)+W(3,1027018036,1029661039,992085460,1014898857)+W(4,-1093428139,-1095417420,-1095455089,-1078956988)+W(5,-1097112752,-1090364038,-1098761015,-1089997432)+W(6,1053507241,1053719708,1059517274,1062996894)+W(7,1062358792,1051059848,1053033759,1058137077)+W(8,1039630850,-1117479019,-1116571174,1037682987)+W(9,-1100052716,-1134398359,-1124964177,-1119205176)+W(10,1039737375,-1104296205,1034668025,1027940302)+W(11,-1105628906,1047874257,-1105711476,1036556777);sum2=W(0,1052570920,-1096757231,1032706704,1048916325)+W(1,1032567852,1027784571,-1123035498,1032789056)+W(2,-1079960756,-1072214843,-1067716640,-1071149720)+W(3,-1113086642,1026889523,-1102782368,-1113248449)+W(4,1059860803,1077140634,1078085184,1074719494)+W(5,-1126012658,1023965646,1033915049,-1131155204)+W(6,1024102895,1045135233,1007395147,1048879105)+W(7,-1105291454,-1125605772,1036400237,-1120868355)+W(8,-1109439044,-1135125103,1039504993,-1119420973)+W(9,1042487387,-1107726802,1040624471,-1123377002)+W(10,1028585912,1026412089,999691338,1031274943)+W(11,-1115876939,1031655696,-1118021143,1033633154);WS(-1088460652,-1077196042); +sum1=W(0,-1106714405,1012745873,-1106817926,1014233321)+W(1,-1139695810,-1112340330,-1112616426,1014140598)+W(2,-1126618358,-1104692362,-1128320455,-1113350277)+W(3,-1104636978,-1111992333,-1112151140,-1103199781)+W(4,-1100538888,-1105672234,-1096420642,1032760733)+W(5,980853696,-1098221750,1032069058,-1124202648)+W(6,1061836401,1049398341,1063373516,1062672955)+W(7,1040237156,1049303442,-1115352833,1047738902)+W(8,-1105561066,-1107347643,-1095103574,-1104500106)+W(9,-1136108756,-1098848505,1028357771,-1108236605)+W(10,1017778831,-1107815087,1021813111,-1130991024)+W(11,1015562593,-1124042178,-1117430379,1024298444);sum2=W(0,1042942941,-1103739979,1021675082,1031504716)+W(1,-1103784377,1021140017,1032312275,-1113021145)+W(2,-1095373315,1042549384,-1100136800,1032277385)+W(3,1051314558,-1097536524,1033748340,1006926454)+W(4,1047404354,-1104635751,-1156628070,1056265483)+W(5,-1086627236,1056610233,-1097748456,1032415346)+W(6,1041600542,1049880149,1042313351,-1095000083)+W(7,1058671506,-1087499329,1053303874,-1106742186)+W(8,1029337611,-1113660916,-1103511888,1052284225)+W(9,-1098025422,1053296214,-1097031052,1040224097)+W(10,-1116792463,1033409028,-1100575516,1042607543)+W(11,-1102539848,-1123811627,1034071897,-1116904421);WS(-1090190636,1052333694); +sum1=W(0,-1118008162,1017370722,1028313190,1032465571)+W(1,1021024634,1022145795,974396430,1023704762)+W(2,1046164882,1025512151,1039176172,-1140639831)+W(3,-1114523818,-1123803590,-1114987978,-1150325779)+W(4,-1087764995,-1107299674,-1107276920,1054861041)+W(5,1048774281,1052546887,1033108808,1052242867)+W(6,1050774996,-1113611419,1042980645,-1104478910)+W(7,-1116066086,-1088290914,-1101829203,-1082760046)+W(8,-1132114980,-1133738119,1016759930,1039228938)+W(9,1029146129,1046828701,1025239231,1050382392)+W(10,992812356,-1143374172,1031741320,991966796)+W(11,-1131726971,-1135053738,-1135839572,-1117633184);sum2=W(0,-1112927492,1000278501,-1115114722,1038568093)+W(1,-1107752992,1036864823,-1111435217,999311589)+W(2,-1126311221,-1112124316,-1096516945,-1095439368)+W(3,1035770391,-1173738153,-1127749525,-1118042174)+W(4,-1124129707,1030656727,1062718459,1069168233)+W(5,-1092856910,-1097729376,-1108466839,-1106807928)+W(6,-1089259297,-1136644755,-1089907054,1066488720)+W(7,1057602472,-1119016562,1028769031,-1101412503)+W(8,-1121960162,-1119195008,-1113085858,-1108783853)+W(9,-1101947316,-1105922885,-1119106133,-1119408565)+W(10,-1127721129,-1143597573,1010259715,1016497897)+W(11,-1142073349,1034450025,-1113345821,-1121786357);WS(1050584535,1068150000); +sum1=W(0,-1115260532,1010165469,-1112895478,1003680362)+W(1,1038151522,-1113655284,-1132334157,-1116596385)+W(2,1034938395,-1115625742,1043729220,1046586119)+W(3,-1096382429,1036369142,-1110737789,1020311663)+W(4,1038987194,1047833470,-1102791097,1053057826)+W(5,1060286702,1031810112,1033665067,1045919272)+W(6,-1117589351,-1104527215,1041775364,-1092950416)+W(7,-1085160955,-1099697720,-1112334730,-1112800213)+W(8,-1115913835,-1116485512,1035117570,1032942189)+W(9,1051158381,-1109351189,1035094123,-1113211075)+W(10,1013034091,1026352434,-1123123343,-1126776150)+W(11,-1118268740,992197073,1007592182,-1128843070);sum2=W(0,1027450901,999052617,998486633,-1098069390)+W(1,1050271656,-1144500281,1034115809,-1111215245)+W(2,-1130117632,1037992777,1035832253,1058826704)+W(3,-1075559944,1051052067,-1104035684,1041076323)+W(4,-1112751331,1031860941,-1100828230,1066377631)+W(5,1059983898,-1089703828,1037142243,-1116488683)+W(6,1023748039,-1148181737,-1107268336,1031601953)+W(7,-1105105514,1006070601,1031181077,-1123703892)+W(8,-1129067048,1031574877,-1108371420,-1110435251)+W(9,-1111123861,-1135053221,1013422629,994427506)+W(10,1020055214,-1123191999,-1176849298,992240434)+W(11,1022099846,-1122685646,-1154287506,1025316569);WS(1065940278,1034622363); +sum1=W(0,-1130882111,1018945629,1038546130,-1109081570)+W(1,-1116833467,1027338207,-1118439678,1023675896)+W(2,1042781009,-1105035701,1037583679,-1089961211)+W(3,-1106689964,1025705412,-1110899849,1000818681)+W(4,1048563851,1039562393,1050832116,1065150616)+W(5,1063013875,1053064399,1043578884,1052844651)+W(6,-1106282856,-1093168999,-1106056839,-1081267407)+W(7,-1093571617,-1098826451,-1098971955,-1103816344)+W(8,991352096,-1128564863,1040441019,-1125259845)+W(9,1037655800,1032573560,-1126802554,-1174556270)+W(10,-1132163876,-1146137419,1034240611,-1103163033)+W(11,1014989293,-1132178841,-1140385876,-1124029942);sum2=W(0,1042045232,-1100582068,1051353130,-1098661297)+W(1,1033093932,1041505758,-1111611431,1036803556)+W(2,1025081894,1047796551,-1135649915,-1083821047)+W(3,-1113123121,-1102707738,1042774566,-1119704488)+W(4,-1120251562,-1130142714,-1091982339,1066411068)+W(5,-1108263063,-1116829613,1029093314,-1105374597)+W(6,-1098032480,1051286467,-1088973774,1066192686)+W(7,-1096817778,-1124748705,-1115318079,1039210409)+W(8,-1122897683,-1114446743,1048662352,-1098476628)+W(9,1043244089,-1105512115,1039955893,-1115075522)+W(10,-1131598407,1028094206,-1114986235,1035402858)+W(11,-1113670703,1040252082,-1113507172,-1136180467);WS(1056991468,-1087030746); +sum1=W(0,-1123211458,1040392564,-1107179074,1032323379)+W(1,-1112698351,-1113154609,1035059984,-1117349658)+W(2,-1104816506,-1123900599,-1097679367,1050060447)+W(3,-1113372906,-1118981766,1036804874,-1117759553)+W(4,-1105628499,1035944426,-1092912076,1043269081)+W(5,-1098944114,-1111852653,1030188977,-1099907470)+W(6,1049039296,1031104918,1058030045,1044634502)+W(7,1032247835,1043769326,1035537687,1048904265)+W(8,-1110865210,1038992913,-1092536332,1052766173)+W(9,-1101773536,-1111088882,1017337855,-1120093295)+W(10,-1119944116,1019968535,-1113705364,1024115141)+W(11,1016666555,-1113641643,1034739876,-1119368937);sum2=W(0,1038207100,1055370704,1017023961,-1102268135)+W(1,-1122475964,1023693826,1033230771,-1120372849)+W(2,-1100024892,-1091918952,-1082116017,-1125190319)+W(3,1048656820,-1118701724,1009208157,1017593165)+W(4,1019998746,-1108168198,1065911065,1060923636)+W(5,-1095962080,1025593786,1022143062,-1123799386)+W(6,-1116235844,1051323790,-1096201210,-1094794141)+W(7,1023749917,-1112111831,1028403793,-1116942925)+W(8,1028590129,1017416940,1032160655,1048662690)+W(9,1005611185,-1121410776,-1131420642,1018425448)+W(10,-1132429552,-1131674494,-1107738152,-1115273448)+W(11,-1120617509,1032669658,1007544955,990755743);WS(1065408790,1036624080); +sum1=W(0,1031689276,-1118902603,-1130392064,-1130349122)+W(1,-1124855342,-1120117724,1032115325,-1114562026)+W(2,-1095782030,1036811736,-1106389326,-1116251760)+W(3,1016267643,-1116551776,1029730958,-1110739566)+W(4,1040908418,-1099523235,-1100633526,-1088986706)+W(5,-1097124896,-1093812931,-1102530619,-1093706094)+W(6,1044865119,1048657234,1056569877,1059819669)+W(7,1057017186,1059687187,1046000250,1058243684)+W(8,1010781241,-1114118270,-1105362262,-1109527143)+W(9,-1101014271,-1105256235,1028862634,-1118348593)+W(10,-1124793181,-1132122507,1010247305,1021657598)+W(11,-1147394236,1019294354,-1131137795,1010280523);sum2=W(0,1008018405,-1131603511,988821927,-1126539767)+W(1,1029044494,-1154431236,-1144594818,-1134541747)+W(2,1028827850,-1115409151,1044469435,-1105522597)+W(3,1031515550,1029512486,-1118759177,1017115388)+W(4,1048442625,-1128423353,-1144038842,-1080807551)+W(5,-1100063920,1047735839,1049631559,1040817807)+W(6,1022982076,976919119,-1106419532,-1069309764)+W(7,-1077869698,1057375362,1074645104,1074183528)+W(8,1015261982,-1110305290,1025710382,-1128896061)+W(9,1034212953,1047372093,-1121013958,1028992794)+W(10,1023643398,-1142661114,1024565032,-1156968388)+W(11,-1108906576,1040986767,-1109343217,1013497529);WS(-1134496480,-1135409208); +sum1=W(0,1012816882,-1131032216,1015795842,1017081284)+W(1,1032335660,-1114842158,-1121133019,1020892138)+W(2,-1118561391,1023949458,1025102291,-1098855254)+W(3,-1109465919,1018180354,1039697400,-1121622748)+W(4,-1172095542,-1135187513,-1122643706,1062211658)+W(5,1053298610,1055550179,-1104417019,1042088653)+W(6,1042727039,-1111514505,1044113108,-1088869665)+W(7,-1090758606,-1097017583,1024023145,-1131309822)+W(8,-1101252924,940438235,-1099247502,1037442288)+W(9,1036453998,1038283500,-1127849669,-1111728213)+W(10,1038725048,-1118209095,1039141810,-1110868352)+W(11,-1124785329,-1123999226,984058180,985363057);sum2=W(0,1027844464,-1120185020,1033301171,-1142892826)+W(1,-1130897478,-1112219415,1008317678,-1123809910)+W(2,-1123756397,1023474305,-1120807818,1045181163)+W(3,1050514681,-1148494098,-1124897908,-1112292483)+W(4,-1109401613,1009596088,-1105464515,-1069578385)+W(5,1080182479,1033916695,-1111316356,1038900121)+W(6,-1123223808,1048386893,-1117881742,-1079085438)+W(7,1057107198,-1155326684,1015620530,-1138311341)+W(8,1035039619,-1119575836,1029989604,1032607110)+W(9,-1113328530,-1143648562,1010222764,-1144599918)+W(10,-1128717516,-1197272208,-1129559846,1013531724)+W(11,1001587842,-1126181730,1011089790,-1129634008);WS(1063953772,1006246735); +sum1=W(0,-1129265445,-1103221880,-1129858606,-1113052252)+W(1,970168057,1035503657,-1114702297,1026538155)+W(2,1023929568,-1113408580,-1152025615,-1124775629)+W(3,-1116248388,-1112901548,-1114551939,1012918985)+W(4,1050480356,1053092565,1054804888,1058637767)+W(5,1061520345,1052655373,1043614208,1053852345)+W(6,-1094701786,-1092563365,-1099755687,-1081976315)+W(7,-1085039957,-1106127939,-1104465584,-1094975651)+W(8,1037312131,-1114954585,1041973195,1043978961)+W(9,-1109284733,1037644971,1036504960,-1153236991)+W(10,1034664643,1012249970,1007014628,1034276907)+W(11,-1121545966,1031841028,-1122618723,1015394179);sum2=W(0,-1108119214,-1096454441,-1110533412,-1119694402)+W(1,-1127729168,-1110958880,1023031785,-1130979192)+W(2,-1098605940,1047215192,-1103381544,-1128298432)+W(3,-1115663656,-1114162078,1023974294,-1102917557)+W(4,1035846227,-1114546522,1042040175,1054173861)+W(5,-1103681801,1035812038,1020649501,1043843622)+W(6,1036002502,1051355228,-1102267339,1055154953)+W(7,1052945690,-1097546689,1033369183,1033695483)+W(8,-1110269476,1034086715,-1102892813,1033662351)+W(9,1018137856,-1135158408,998437331,-1106336801)+W(10,-1115932080,1019597651,-1130886478,-1108620470)+W(11,1033484697,-1106956606,1029836288,1026224246);WS(1049960663,-1098656338); +sum1=W(0,-1129270334,1010743226,-1116543140,1036165346)+W(1,1026370235,1026933359,1009750007,-1164389112)+W(2,-1097905355,1038429850,1026505899,-1111354490)+W(3,1012909508,1034045586,-1139624135,1033987231)+W(4,-1106458043,-1094238830,-1084542826,-1093117384)+W(5,-1096055524,-1093158415,-1113672231,-1098353419)+W(6,1053746044,1050579558,1060156652,1065413702)+W(7,-1110641506,-1140159326,-1153271990,1046556600)+W(8,-1153859324,1008020477,-1101873487,-1122984978)+W(9,-1132001470,1048347588,1027525597,-1124973593)+W(10,-1120671826,1036488405,1033306211,1035776465)+W(11,1015184758,-1115507932,1024719161,1037016731);sum2=W(0,1007202997,1038605814,-1111184485,-1097778206)+W(1,-1107862779,-1126800416,-1122928880,-1117103670)+W(2,-1107138382,-1092409649,-1086536233,1033842165)+W(3,1050500010,-1107791267,1035028069,1024236113)+W(4,-1101985157,-1111080585,1058778058,1062592323)+W(5,-1115904936,1050870644,-1115500703,-1137706913)+W(6,-1105521455,1031799434,-1102287591,1054124413)+W(7,-1121603522,1039372702,1030823202,1012044041)+W(8,998286218,-1127152184,1043783051,-1107786643)+W(9,-1104929125,-1103666737,-1123649878,1042413442)+W(10,-1135144653,-1138707909,1018462794,-1134709509)+W(11,1016336685,1035379787,-1120475406,-1119073178);WS(1045571246,-1101396513); +sum1=W(0,1027156266,-1135540454,-1123739311,-1123826896)+W(1,-1110505155,-1138173481,1019384210,-1138775820)+W(2,-1105879340,1031079263,1036462891,1048275928)+W(3,1040289247,1033674439,1035302207,-1109766005)+W(4,-1095381975,-1094890856,-1086841044,-1081913239)+W(5,-1087831711,-1095054872,-1100616678,-1096527684)+W(6,1052608133,1052732944,1059410250,1057453824)+W(7,1053535332,1059217778,1056369955,1057086003)+W(8,1036979366,-1110160581,1033495803,986236332)+W(9,-1121128186,-1117509614,1002559041,1031959012)+W(10,-1116386461,-1124519785,-1113888968,1015417435)+W(11,-1106215130,1025380519,-1132265864,1009437253);sum2=W(0,1023702857,-1116086512,1027064225,1024261913)+W(1,-1115739014,1023117658,1011341860,1016675050)+W(2,1025579445,1041684936,991232624,1049263730)+W(3,994389040,-1121855219,-1121905805,-1114246345)+W(4,-1107828603,-1100190580,-1127488618,-1121382305)+W(5,1049530396,1041567276,-1097196557,-1125328530)+W(6,1030949885,-1127701406,1063977916,1081524863)+W(7,1074557390,-1078514947,-1067412604,-1072747255)+W(8,1030056541,-1101693823,1026840857,1032271344)+W(9,1041139218,1024600809,-1110332083,1045882874)+W(10,-1138881396,1031874044,-1115029594,-1124133978)+W(11,1015337722,-1113125346,-1157524144,1009384836);WS(-1091844311,1066789497); +sum1=W(0,-1126657090,-1118280816,1035276339,1034822275)+W(1,-1122398524,1027512241,-1105911320,1036073133)+W(2,-1121934839,-1104655157,1036892560,1041291861)+W(3,1016354085,-1100932977,-1113195754,-1137558275)+W(4,1053346558,-1150447404,1061301148,1054539137)+W(5,1061579109,1052329175,1010492736,1052092547)+W(6,-1094816004,-1096277599,-1095276499,-1085328499)+W(7,-1094948141,-1090319102,-1109759879,-1096198988)+W(8,-1134360567,1026981217,1035239934,-1132053288)+W(9,1041572288,-1138204721,1026669711,-1122862318)+W(10,-1196074864,1030410603,-1117233544,1032377106)+W(11,-1113536398,1028691858,1016723124,1004385343);sum2=W(0,-1130924015,976327856,1006816288,1032746467)+W(1,-1109752024,1030725620,-1118656485,1013150272)+W(2,1022730742,-1107671502,-1102494949,-1063244855)+W(3,-1117144683,-1118200508,1023153636,1019358625)+W(4,-1156842543,1030703882,1050591037,1084548157)+W(5,1041535529,1030607420,-1117378226,1000111712)+W(6,1039023607,-1100688592,1039287442,-1091568120)+W(7,1042495948,-1100624377,1033109796,-1135441064)+W(8,-1147026848,-1113451109,1030233046,1034384724)+W(9,1024850879,1037336210,-1123040622,1025293966)+W(10,1024455841,1015244616,-1121583866,1032201434)+W(11,-1112832588,984232072,1003511712,-1124806470);WS(1062375148,982896070); +sum1=W(0,1041356906,-1141741512,-1123251246,-1121772047)+W(1,-1138991637,-1156317853,-1161666833,1011726474)+W(2,-1092346958,1042371688,-1107640316,1037798623)+W(3,1035668286,1026956462,1016120313,-1115727625)+W(4,-1098857839,-1100631199,-1093348349,-1081710855)+W(5,-1084667272,-1088318752,-1093940123,-1084607638)+W(6,1052252533,1048733184,1057292943,1063732968)+W(7,1061645578,1059891330,1051947731,1059995535)+W(8,1050501706,-1126563284,1043133649,-1111246422)+W(9,-1112114769,-1106214611,-1109426316,-1190508359)+W(10,-1165233042,-1134397903,1008063554,1032268279)+W(11,988108978,1037368483,-1138661789,1040598420);sum2=W(0,-1087149149,-1111774062,-1122195827,1039123010)+W(1,1035630599,1055099903,1042757145,1060125526)+W(2,-1081699534,1035582541,-1087576154,-1082404199)+W(3,-1111170675,-1119441337,-1097950160,-1098859385)+W(4,1075074133,1078981756,1080077903,-1086433828)+W(5,-1073636555,-1080599553,-1080969229,-1075310961)+W(6,1074122230,1067224402,1066418532,-1082120864)+W(7,-1078722695,-1083892454,1038753292,-1085615144)+W(8,972078363,-1092574897,-1094572008,-1101495601)+W(9,-1124013413,1051613332,1020974546,1056506110)+W(10,-1097056662,1045566397,1049096521,-1109136155)+W(11,1034655424,1023040696,1027077203,-1129411423);WS(-1073733835,-1077508759); +sum1=W(0,1004911573,999004239,1008908284,1032559088)+W(1,-1123346838,1021646261,-1114632613,1036339578)+W(2,1043185540,-1120942224,-1136904037,-1114184455)+W(3,-1112686066,1032555200,1005792618,1040940927)+W(4,1056421033,1054442442,1059517190,1066321721)+W(5,1063474337,1052962698,1044159722,992460573)+W(6,-1084678800,-1094509130,-1087084867,-1089134469)+W(7,-1088382556,-1089853747,-1092765869,-1093589176)+W(8,1025064353,1020812405,-1149079216,-1127746091)+W(9,1027145139,-1126936380,1027348136,-1126618160)+W(10,1009545653,1022285001,-1118599969,1007063543)+W(11,-1149726053,1015641511,1023282088,981480241);sum2=W(0,1016441223,-1123853806,1034027700,1016212045)+W(1,1025170155,1030169991,1024326153,1020004331)+W(2,1040812131,-1136381199,-1121560396,-1100123577)+W(3,-1100550013,-1105283667,1029487024,-1102325825)+W(4,-1091551076,1020713637,-1092123318,1069362941)+W(5,1050653373,1020763615,-1121149602,-1094990109)+W(6,-1083270432,-1123741604,1057043619,1065772322)+W(7,1058297195,-1091989226,-1092470882,-1106605421)+W(8,1054198423,-1108424657,-1115262538,-1092584961)+W(9,-1121642970,1029919048,1039520200,1026718342)+W(10,1001473573,-1110846033,1008724259,-1120589670)+W(11,1040111989,-1104422780,1027795061,-1115881428);WS(-1083424620,-1083774644); +sum1=W(0,1025997707,995558823,-1132669247,1015677409)+W(1,-1113673299,-1146244698,1028038186,-1119640804)+W(2,-1107578509,-1112668224,-1109754213,1048694360)+W(3,-1099923633,1044345284,-1117921566,1030760459)+W(4,-1116799831,-1098861996,-1099316274,-1079768279)+W(5,-1093459346,-1098475085,-1113981277,-1105585281)+W(6,1051882641,1045883512,1060321715,1059777970)+W(7,1064776049,1036566882,1042756750,1033934183)+W(8,-1114213177,-1127946135,-1106758402,1040276008)+W(9,-1108196294,1008462282,-1117078569,-1130472177)+W(10,-1140244728,-1116793621,-1131243108,-1129876893)+W(11,-1167573435,1020492609,1015090721,-1176961296);sum2=W(0,-1120400279,1006239848,1033967902,-1138878316)+W(1,1012842788,-1135736068,1028356101,-1120658117)+W(2,-1120118931,-1112851025,-1101370370,1037781128)+W(3,-1100258045,1002346920,-1112182778,995892591)+W(4,-1114073896,1016448074,1047917593,-1113781647)+W(5,1045546113,-1114666278,1002645288,-1115876966)+W(6,1044457775,-1095953339,1065044078,1069276419)+W(7,-1075186216,1035717470,-1097061266,1049663208)+W(8,1036833596,-1112980685,-1119396143,-1110041421)+W(9,-1132903556,-1120766465,1015304410,-1123504973)+W(10,-1137956564,-1122147671,987310366,-1187381491)+W(11,-1131003226,1029533357,1003776904,-1150885167);WS(1055938007,-1113494123); +sum1=W(0,1002908945,1005413771,1025040167,1016082831)+W(1,-1114102015,1024456642,-1121270129,1006080470)+W(2,1028210664,-1117675639,1040926954,-1118443670)+W(3,1040854289,1046508410,1019764906,1029150738)+W(4,-1133494457,1035958810,1041989700,-1101702418)+W(5,-1098047787,-1093641223,-1111985289,-1102768646)+W(6,-1135464580,-1095959351,-1087581816,-1121242873)+W(7,1048632765,1052220147,1025236686,1042463785)+W(8,1008466835,1040264713,1048292991,1034336763)+W(9,1043249233,-1183964258,1036425152,-1131127167)+W(10,-1131269290,1035203030,-1116685065,-1117662885)+W(11,-1132796663,-1144182458,-1137681823,1031884341);sum2=W(0,-1148833389,1034952858,-1131645803,1044582101)+W(1,-1100126968,1041029558,-1101188496,1038559400)+W(2,-1103329032,-1114547380,-1099667252,1046239383)+W(3,1038848953,1023994452,1040593566,-1104909140)+W(4,1039527980,1019372679,1017530647,-1095619156)+W(5,1053527025,-1122648352,1048348234,1034383711)+W(6,1036545465,-1111710878,1040867364,1074171367)+W(7,-1072583834,-1089175055,-1110512168,1048723535)+W(8,-1140514638,1042452640,1048394746,1046568773)+W(9,-1104419698,-1095650184,-1113024814,-1105559093)+W(10,-1111163586,1025974311,-1102843950,1030125627)+W(11,1045672947,1033990232,1039972451,-1123744674);WS(1054254551,1014537956); +sum1=W(0,-1121039367,1018675757,1022410264,1028321069)+W(1,1032078897,1035879540,998902321,1035017184)+W(2,1035774671,-1130008697,1030747950,-1107714718)+W(3,-1097508911,-1100889147,-1111836109,-1112194220)+W(4,-1112598570,1008273253,-1093495169,1061840455)+W(5,1062686448,1058139578,1050284599,1050365160)+W(6,-1132150029,-1122251932,1041075666,-1100441032)+W(7,-1084814013,-1090418276,-1098262366,-1104639554)+W(8,-1109088445,-1109769252,-1103842329,-1105690119)+W(9,1049125597,1045096257,1018266794,-1137878196)+W(10,1040615567,1003469451,1040565356,-1126038165)+W(11,-1115375938,-1105705223,1030169589,-1123088958);sum2=W(0,1011204314,-1151906447,-1132982086,1015334447)+W(1,-1126682819,1031867988,-1118412630,1019402007)+W(2,-1130282463,1008292026,-1113509623,-1118416042)+W(3,1010705513,1015562377,1033032763,-1171211484)+W(4,-1119643322,1036989282,1023195387,1031871454)+W(5,1036745108,-1105750465,1024841875,-1132045005)+W(6,1040567914,-1093705400,1046529995,1053486166)+W(7,1053627848,-1097180463,1042871577,-1098551422)+W(8,1058038651,1048788001,1069827352,1061661513)+W(9,-1076895592,-1083563182,-1102862368,-1093245544)+W(10,-1092395975,1041384381,-1082188469,-1087135929)+W(11,1050130047,1062283738,-1108358221,1058279550);WS(1057163500,-1105993220); +sum1=W(0,-1117201821,-1121502764,1035599249,-1105708961)+W(1,1039647740,-1100922079,1009912816,-1136735831)+W(2,-1127293622,1045431725,-1100979748,1049617722)+W(3,-1110465655,1042176840,1018827936,1001114727)+W(4,1046510122,-1097880614,1061106926,-1099817760)+W(5,-1119635500,-1109566363,-1147860066,1037588842)+W(6,-1119279260,1032698105,-1097882833,-1088567265)+W(7,1058361641,-1097567811,1036626725,-1111863248)+W(8,-1111026820,1044535287,-1095331735,1053288920)+W(9,-1096979757,1050620014,999121112,1037098289)+W(10,1018908832,-1110256660,1024080836,-1117593824)+W(11,1027464313,-1113789929,-1159432152,1012647057);sum2=W(0,1032576295,-1123342042,-1102694716,-1132748357)+W(1,-1114775905,1033817148,942234367,-1109637447)+W(2,-1107895050,1039805910,1052615154,1027679479)+W(3,-1183264704,-1127944484,1017960690,-1117652574)+W(4,1016729470,-1102939450,1050355566,1057040101)+W(5,1041423933,-1098800812,1027447559,-1113353192)+W(6,1038099246,-1120156902,-1100691281,-1098318717)+W(7,1028185223,1043085543,-1113846578,1025700351)+W(8,-1122727069,-1128970625,1046407453,997134844)+W(9,-1094682594,1023808656,1033077879,-1136470782)+W(10,-1114110583,-1124467804,-1110408836,1035923921)+W(11,1040728790,-1104134547,-1111084310,1024627457);WS(1069430838,-1077807532); +sum1=W(0,-1123171840,-1123870031,1012978707,1026708965)+W(1,1032241614,-1110089696,1013657340,-1120091289)+W(2,926704291,1035074891,-1102713036,-1094582899)+W(3,-1104095024,-1131766218,-1123449267,-1126388352)+W(4,1028287308,1030377682,1060355037,1064667974)+W(5,1044883747,1023923417,1023074654,-1134219998)+W(6,1024652287,-1104443381,1049114747,1049334299)+W(7,-1097738289,-1112895132,-1133494194,-1105084689)+W(8,-1121358347,-1137933441,-1102473935,-1095444677)+W(9,-1112982200,-1115022670,-1123735342,-1125652635)+W(10,-1124249574,-1123723658,-1124350158,-1155502135)+W(11,996719039,-1114119663,-1129702439,-1115595936);sum2=W(0,-1176390445,1032791968,-1107216374,1039748018)+W(1,-1104895086,1038133354,-1123666927,1013658503)+W(2,-1120278537,-1112747779,1039675898,1025598156)+W(3,1049256042,-1105015824,1024448666,-1110290749)+W(4,-1122813389,-1119517685,1061000499,1059349510)+W(5,-1087513873,1030867610,-1108606159,1029186614)+W(6,1041053822,1042596904,1032712030,1055783944)+W(7,-1099074048,-1084050573,1040697602,-1106116496)+W(8,1022193201,-1132233097,1037891533,1009116037)+W(9,-1107732985,-1101549778,1022775251,-1106656496)+W(10,-1120846771,-1150821318,-1120324549,1006903493)+W(11,-1117395279,1034659541,-1115429715,1028618234);WS(-1107817820,-1083770194); +sum1=W(0,1033900161,-1129878691,-1129439246,-1131338575)+W(1,1015365308,-1128788741,1034359265,1024049691)+W(2,-1103638846,1019165999,1023785569,1041664750)+W(3,1007653393,1026305479,1029035509,-1111132977)+W(4,-1091016130,-1105602789,-1097747004,-1076846267)+W(5,-1089110318,-1101714279,-1095981534,-1089968180)+W(6,1053216608,1056291523,1057499003,1059566574)+W(7,1057822998,1057215924,1051239662,1055184137)+W(8,1041711845,-1114138529,-1107402783,1043057225)+W(9,-1097881621,-1104471663,1029122288,1032118072)+W(10,1032252891,1005244003,-1129556050,1037921123)+W(11,-1126092988,1041959808,1025745172,1027268745);sum2=W(0,-1108694073,1045019344,-1102469381,1037993179)+W(1,-1102369829,1036817135,-1116848662,-1123721670)+W(2,1017327589,1034893158,-1100848825,-1146521528)+W(3,-1136622056,-1122158468,1036214504,-1109074807)+W(4,1040440313,1020539438,-1091152854,1062010427)+W(5,1017850914,-1095264144,1045324437,1047380031)+W(6,1037365040,1043169414,-1179472005,1059039676)+W(7,1038217042,-1119445175,1048192551,-1115655698)+W(8,-1097181356,1044490295,-1098856738,-1105305386)+W(9,-1109601321,-1098482637,1034613852,-1105047780)+W(10,-1123414724,-1142407924,-1124070306,-1103656828)+W(11,1025666621,-1105116469,1027457629,-1121369495);WS(-1121449656,-1084978473); +sum1=W(0,1045775831,1021114964,1036495664,1032769888)+W(1,-1134400474,1043049231,-1112792957,1043659613)+W(2,-1099605930,1028648016,-1113195701,-1106810756)+W(3,1033523886,-1109837568,1039225431,-1097941829)+W(4,-1086366198,-1100836955,-1085601027,-1088747404)+W(5,-1083936243,-1087596695,-1102874546,-1088234269)+W(6,1054843763,1049277222,1059006957,1062277595)+W(7,1060137529,1057384673,1045407794,1055835664)+W(8,1044622847,-1121703995,1039106531,-1122091582)+W(9,-1102614275,1011169881,-1118753961,1048366450)+W(10,1025802254,-1116658981,-1138285574,1043922200)+W(11,1020367213,1042132230,-1132370673,1039326553);sum2=W(0,1027272459,-1122536322,-1115599503,-1109953333)+W(1,-1101108438,-1160853572,-1125199072,-1105305527)+W(2,-1105747151,-1103046200,1043039962,1029006014)+W(3,1049577028,1035298821,1043042004,1053260045)+W(4,1058588727,1025881493,1025318337,-1079698237)+W(5,-1116019666,1050247454,-1104971590,-1094505007)+W(6,1050147388,1054947781,1058930692,-1072349877)+W(7,-1069493839,-1072151832,-1072978341,-1072202568)+W(8,-1089616072,-1098050255,1020160348,1078384354)+W(9,1078006681,1075828182,1074567753,1072013431)+W(10,1040922163,-1157391810,-1097372724,1029236731)+W(11,-1111844849,-1095907204,1046502148,1037030073);WS(-1076413686,1050217089); +sum1=W(0,1037264211,-1140703701,1010880426,-1119658251)+W(1,-1116247362,1031154598,-1125273098,-1131976189)+W(2,-1103937453,981259974,-1126374874,1042459879)+W(3,-1115463620,1040532067,-1110800684,1020764716)+W(4,1032015257,1015092336,-1117441203,-1095655209)+W(5,-1089060935,-1097693400,-1116339093,-1115082479)+W(6,1043075881,-1110472573,-1140207123,1058975156)+W(7,1059127610,1049753500,1026525586,1038259412)+W(8,-1122840185,-1115654547,-1121072785,1016890098)+W(9,-1095200233,1024224509,-1116764924,1027865572)+W(10,-1144808135,-1126940256,-1127053849,1040888602)+W(11,1021095812,990976051,-1118091276,1016317274);sum2=W(0,1057721492,1028643349,1060288138,1059252612)+W(1,-1088865108,-1086775589,-1123025940,-1093527126)+W(2,-1087030854,-1118716844,-1080168014,-1080273709)+W(3,1065839894,1065802380,1052992874,1051057083)+W(4,-1098169441,1050324940,1016748144,-1095791676)+W(5,1025332663,1048744751,-1103675095,1047968677)+W(6,976966634,1023362490,-1115171624,1047291739)+W(7,-1136639192,-1124716700,1045176631,-1122660154)+W(8,1023517212,-1141117066,1023617033,-1099550108)+W(9,1041241265,1003901823,-1105682362,1020688386)+W(10,1010046217,1027499437,-1115470708,1034407868)+W(11,-1116997486,-1138422172,1028187249,-1121332252);WS(1066004950,-1130673709); +sum1=W(0,-1116101174,-1143212072,-1110468285,-1115338446)+W(1,-1108483849,1016794668,-1129241385,1013476922)+W(2,1031654568,-1115365365,1037471350,1044807147)+W(3,1036857292,1049500535,-1116011560,1018991691)+W(4,-1088044468,-1112634148,-1095270314,-1086079158)+W(5,-1084922887,-1089120237,-1096691029,-1092328502)+W(6,1052873383,1046315731,1053790292,1057379349)+W(7,1062574892,1059566963,1043154809,1052540519)+W(8,1041536990,1018103788,1044233532,-1114923292)+W(9,-1111082699,-1112535089,1013224078,1045681849)+W(10,-1136500130,-1125315968,-1143909091,1020745202)+W(11,1016815907,-1120057699,1009076749,-1111113254);sum2=W(0,1049010278,1037489391,-1120558834,-1115441721)+W(1,-1107156556,992841734,1011333881,1042878013)+W(2,1059657103,-1120407882,1065561208,1065354919)+W(3,1033902725,-1090673211,-1082019922,-1076779646)+W(4,-1081123115,-1091075041,-1094693777,-1086070082)+W(5,1048072918,1058489027,1067731839,1065573397)+W(6,-1096253478,1044030983,-1088412254,-1088804298)+W(7,1059822273,1048768363,-1110539158,1056386736)+W(8,1022187211,-1110198086,1026065263,979808314)+W(9,1015305348,-1103664360,-1102578162,1041735451)+W(10,1042763848,-1123055347,1010460099,1037997843)+W(11,-1106407542,-1127526979,1046102351,-1098151359);WS(1047691950,1051513987); +sum1=W(0,1022367675,1023115866,1025923810,-1121417283)+W(1,-1135269348,-1123344254,-1153116613,-1140725337)+W(2,-1106171493,-1148261013,-1110614526,1048684730)+W(3,1043654816,1037977761,1018209505,1012206837)+W(4,1047705594,-1138130365,-1138856554,-1092459648)+W(5,-1088007377,-1117423671,-1145599589,-1130685354)+W(6,-1115678670,1039875161,-1098498099,1059839847)+W(7,1055365231,-1110502987,-1108540005,1013205632)+W(8,-1110486184,1038987295,-1111291916,1037143648)+W(9,-1116325726,1038170008,1024662707,-1106962771)+W(10,-1119968336,-1146539325,1031736900,-1113038256)+W(11,999460043,-1124410005,-1170140361,1022378313);sum2=W(0,-1153456458,-1134949160,976205336,-1107040555)+W(1,1031938263,-1148458760,-1128058621,1018102832)+W(2,1034638423,-1132037434,1047224115,-1111241686)+W(3,-1102088763,-1109506803,-1119972538,-1122339703)+W(4,1026219462,-1110235102,1041432515,-1098519781)+W(5,1016119332,1045200456,1026438298,1012163112)+W(6,-1118314715,1026400860,-1098555575,1048945857)+W(7,1066956313,1038098069,1020127420,1026446934)+W(8,-1119545213,1033998497,1038320636,1042089138)+W(9,-1089428981,-1088147582,-1103340362,-1114149729)+W(10,1020158000,-1129681397,1034767622,-1100590807)+W(11,-1131704894,1033722488,1036980701,-1126638758);WS(1065730166,1060778308); +sum1=W(0,-1109508860,-1155017835,-1113193022,1018445113)+W(1,-1116526739,1027367671,-1113248331,-1116098736)+W(2,-1157499671,-1122491724,-1101845990,-1123710636)+W(3,1037579925,-1109701838,1024052458,-1155438706)+W(4,1041425921,1039607429,1059840031,-1103201623)+W(5,-1086536234,-1119532176,-1131587533,-1135484603)+W(6,999270323,-1108915110,-1093896302,1034241095)+W(7,1065443257,-1115473720,1023021127,-1169161851)+W(8,1009856488,1019270959,1048952862,-1124851701)+W(9,-1100984082,1042597895,988759974,-1109972554)+W(10,-1122732458,1019165315,-1112299503,1031136123)+W(11,-1130156262,-1112137490,1035869970,1026435614);sum2=W(0,-1117967445,1040648348,-1112630617,1042642774)+W(1,-1134880336,-1108734545,1042723069,-1110919553)+W(2,1023936292,1027011316,-1104815876,1032485416)+W(3,-1097739621,1008252288,1027781874,1017816544)+W(4,1048994422,-1081925843,1069895227,-1079286264)+W(5,1067803238,-1093635474,1039731885,-1113045602)+W(6,1036573845,-1090561506,1061477130,-1076993331)+W(7,1074358700,-1082750513,-1152591489,1040942069)+W(8,1025878262,-1121546197,1006994724,1017402756)+W(9,-1094759274,-1124517798,-1128233335,1015619872)+W(10,-1136777476,1000734832,-1120512530,1043800887)+W(11,-1115175264,-1106635673,1050798200,-1104563368);WS(1051081815,1004177576); +sum1=W(0,-1127006616,1009183853,1030806032,1035550201)+W(1,-1148492092,1031890286,-1122950699,1033051522)+W(2,1047378036,-1123222753,1030530563,-1112167248)+W(3,-1102096100,-1119963793,-1117414047,-1118879820)+W(4,1040477302,-1133548407,1061394914,1067589976)+W(5,1061693295,1056018877,1051876647,1054656608)+W(6,-1095193921,-1099314072,-1084986498,-1091645900)+W(7,-1092420382,-1084371172,-1100397982,-1096248194)+W(8,984028115,1033152150,-1134209438,-1104155199)+W(9,-1126214664,-1117645071,-1115478541,-1098736399)+W(10,1015654525,1000220336,1016832613,1007541309)+W(11,1020442767,1016050244,1015156587,-1120116135);sum2=W(0,1038737431,-1107492679,1048033211,-1120313369)+W(1,1015799927,-1127256174,-1108431753,1025558434)+W(2,-1086393652,1061143042,-1086071985,1050160290)+W(3,1036302581,-1118303985,1030572627,1049210573)+W(4,-1122890851,-1087802869,1050554685,1074235084)+W(5,-1097102610,-1080828834,1051308486,-1086660156)+W(6,1062117952,-1089713201,1059347527,1068761695)+W(7,1051722018,-1090432670,-1096060997,-1089293346)+W(8,1031555324,1047951996,1026779363,-1098359769)+W(9,1043634021,-1093586557,-1093678452,-1099341241)+W(10,-1105710539,1021198999,-1103176732,1024031768)+W(11,-1105088271,1023611974,-1113357802,1042868230);WS(-1081907798,-1114644056); +sum1=W(0,1023775725,-1170980595,1026005873,-1126334628)+W(1,-1135823392,-1129163353,-1151688884,-1129940170)+W(2,-1099395677,-1134709766,-1099241994,-1120114113)+W(3,1034531271,-1108351113,1019473342,-1110039318)+W(4,1055907631,1050593936,1058604967,1054687330)+W(5,1038229186,1034921283,1018134455,-1120708196)+W(6,-1100928459,-1112754945,-1087793848,-1087665246)+W(7,-1104299004,1040795209,1040889398,1054318790)+W(8,-1119324179,1032148262,1009969504,1038203192)+W(9,1028440637,-1104169898,-1106565731,-1107725509)+W(10,-1109439504,1017060589,-1128826918,-1138112959)+W(11,1038462084,999099597,1007377992,1027667523);sum2=W(0,-1119441358,-1129970231,1013923693,-1135011770)+W(1,1015830944,-1115083307,1009913072,-1117182320)+W(2,-1109792567,-1120391232,-1103233485,-1103316489)+W(3,-1104701758,961266788,-1120471806,1032096200)+W(4,-1127769135,1050978947,1033489482,1054134565)+W(5,1049300223,-1110832497,1049274561,-1124368769)+W(6,-1107196821,992017798,-1095646457,1049668759)+W(7,1056508485,1047186396,-1110580647,-1109467751)+W(8,1030789742,1040616080,1038693473,-1124339641)+W(9,1043974386,-1086696217,-1110322035,-1103392519)+W(10,-1113410550,1030775978,-1115392393,-1108882435)+W(11,-1145057435,-1118394614,1032794842,1029776437);WS(1054547415,-1080700728); +sum1=W(0,-1118959255,1000886579,-1108938574,1035589374)+W(1,-1115953331,-1120209015,-1130255148,-1114831416)+W(2,-1106813137,1020745112,1000629071,-1089948699)+W(3,-1104374042,-1115354302,-1115551813,-1107411355)+W(4,-1136179854,1042266506,-1114102394,1058763908)+W(5,1043996152,1034434840,1030595334,1037557447)+W(6,1049136707,-1113159542,-1117329322,1057279043)+W(7,1058534976,1042941412,1024662339,-1115931546)+W(8,-1121699838,-1135369949,-1098171678,-1102488395)+W(9,-1118338951,-1123101368,-1111680098,-1111356186)+W(10,-1110798213,-1133353861,-1132246652,-1116069530)+W(11,1023843187,-1110056358,-1125104281,-1113468791);sum2=W(0,-1104438281,1006975884,-1114845259,-1121830816)+W(1,1035922248,-1109021584,1024387710,-1116080890)+W(2,1010047952,1033813267,-1104617278,1016682467)+W(3,-1119230330,1016925125,1031893944,1028042677)+W(4,1041416137,-1103312430,1059878226,1030331467)+W(5,1042445877,-1127060444,-1106783001,-1113418625)+W(6,-1126834256,-1117623020,-1091497753,1058017528)+W(7,1016098448,1041560361,-1112957506,1032681483)+W(8,-1137643420,-1119875938,1032827109,-1098691452)+W(9,1038105687,-1110812698,1032692112,-1112120334)+W(10,-1141914640,-1142859168,-1115736166,1030249718)+W(11,-1111253212,-1153808400,-1114320479,-1122393388);WS(1052913623,1049378679); +sum1=W(0,-1122838827,-1140317417,-1125024735,-1119624720)+W(1,-1114511683,1000517975,980913767,-1118732996)+W(2,1042960148,-1131398976,1047376245,-1142164473)+W(3,1052155164,1026436976,1040745327,1037554661)+W(4,-1086626395,-1096052024,-1085621156,-1082562971)+W(5,-1087926293,-1091398264,-1096441475,-1088065070)+W(6,1057292387,1051976144,1057250406,1065554348)+W(7,1052193006,1054127476,1052669955,1051850318)+W(8,1037967453,-1115050310,1033197251,-1105683981)+W(9,1022767638,1031945184,-1117629257,1041425290)+W(10,-1155224026,1021209962,-1137632582,1041116332)+W(11,-1114068531,1019309136,-1119607996,1029050594);sum2=W(0,-1128729473,1026695603,-1122814467,1038041001)+W(1,-1114364242,1029245131,-1114309631,-1131614889)+W(2,-1113890565,-1113695617,1012493154,1007226362)+W(3,1022932917,-1121347205,1028217359,1005475605)+W(4,1030681183,1046246583,-1119541727,-1105895610)+W(5,1013035938,-1109256305,1037707015,1018572933)+W(6,-1116238263,1032966985,1063042504,1066720275)+W(7,1061802664,1054635319,1034508407,-1114817272)+W(8,1054381777,1060417287,1065151040,1069419683)+W(9,1070184946,1067716376,1063333907,1057796391)+W(10,-1088819879,-1094452995,-1073258706,-1071852139)+W(11,-1071972143,-1076852924,-1084913408,-1086618913);WS(-1080205366,1054586731); +sum1=W(0,1028285119,1034516295,-1114270114,1028158052)+W(1,-1122816794,1015275709,1008209269,1026827799)+W(2,-1104231365,-1118125300,-1122896269,1031422323)+W(3,1042423964,-1113275778,1035567225,-1113291743)+W(4,-1105384067,-1098317298,-1102251495,-1084181862)+W(5,-1083878719,-1102645126,-1094749758,-1095155767)+W(6,1018315643,1050987674,1045079495,1065887519)+W(7,1058366107,1055927247,1042520123,1054820368)+W(8,1050517144,-1103331232,1044797187,-1106919576)+W(9,-1136969466,-1127822612,-1111681950,1023800268)+W(10,-1107795033,1030553289,-1134423957,1039594145)+W(11,-1127143669,1007528111,-1112108944,1010334934);sum2=W(0,1018519238,1015687849,-1123243110,-1154321191)+W(1,-1147705571,-1137574530,1025499637,-1123293958)+W(2,999332143,1021267259,1021268373,1001850235)+W(3,-1122367554,-1149097003,1028798873,-1120881342)+W(4,1041061518,-1105547391,1034089943,-1097359239)+W(5,1024181853,964634475,-1139074510,1038775557)+W(6,1033756160,1042746528,1026544409,1057524548)+W(7,-1128118669,1033087855,-1129467393,-1131901697)+W(8,1071473984,1066765865,1067795051,1059938647)+W(9,-1126584943,-1109247299,1002507759,-1137941026)+W(10,-1074851124,-1079967238,-1079279124,-1081222132)+W(11,1036308208,995399503,1006964374,-1131371017);WS(1032292188,-1145187004); +sum1=W(0,-1121091224,-1124591439,-1121198813,1009701366)+W(1,1007646671,1026658136,1020346030,-1122546321)+W(2,1026282854,1032165735,1048823572,-1113803654)+W(3,-1119045850,-1092992668,1019935126,-1119672872)+W(4,-1110430066,-1099744666,-1088767505,-1109489438)+W(5,1041537816,1047050636,-1121506375,-1110555528)+W(6,1041424886,1053335502,1045555550,1044961340)+W(7,-1098280566,1043075732,-1107270401,1047792295)+W(8,-1163709786,-1097458647,1040806261,1038271382)+W(9,1040783354,1037260307,1000329008,-1120965766)+W(10,-1130362518,1026340962,1020242430,-1136150382)+W(11,-1117600916,997023189,-1124456788,1026784415);sum2=W(0,-1120115102,1024423113,-1131404107,-1162462122)+W(1,-1116017912,1035047655,-1146105278,1011265421)+W(2,1027036707,-1119221834,1034928052,-1115806512)+W(3,-1133321326,-1101382306,1029706393,1023154260)+W(4,1028744443,-1122478763,1034534080,-1117650486)+W(5,-1108495610,-1105332910,1038914207,-1113944011)+W(6,1037973272,1049287438,1047707985,1065549495)+W(7,-1079218451,-1101676179,-1109811124,-1116861489)+W(8,-1111409649,-1096539764,1032305459,1059270295)+W(9,1053073262,-1108544028,-1125217018,1023662974)+W(10,-1114092190,1034186497,-1111870688,-1104163224)+W(11,-1116841516,1038206879,1004549098,1021319568);WS(1065238444,1029810764); +sum1=W(0,-1117664959,1033625479,-1121511107,1026353828)+W(1,-1154871713,980940712,1018182811,1025470327)+W(2,1035631050,998132025,1046740798,1049143094)+W(3,1044265580,1037075730,1028486865,-1128624253)+W(4,-1105662947,-1110409480,-1115600622,-1117398499)+W(5,-1101622768,-1109487884,-1112099063,-1120941494)+W(6,1044376095,1041425605,-1117226857,-1088462543)+W(7,-1090821428,-1099167518,1039936213,-1117520833)+W(8,-1180059800,1029921727,1047596134,1050498082)+W(9,1032067983,-1134957959,1021107193,1019194744)+W(10,-1144996235,1002652741,986508455,1031133314)+W(11,-1119889178,1038687768,-1122286680,1032539083);sum2=W(0,1027136813,-1126103938,-1134438995,1023841561)+W(1,1003327910,-1130954514,-1135210803,994333964)+W(2,-1109237812,1029641913,-1108335880,1016569578)+W(3,1032415828,999116870,1003972614,-1138234067)+W(4,-1131106290,1047599733,-1097134429,-1076957808)+W(5,1044824498,1037851390,-1123469057,1043898273)+W(6,1028116649,1041211299,-1092284431,-1103461794)+W(7,1073063564,-1111597872,1033926584,-1115472968)+W(8,-1115313320,-1119521049,-1100904528,1040752059)+W(9,1045381268,-1112786376,1034574746,-1137298819)+W(10,-1132573667,1022404146,1016921434,1027441157)+W(11,-1106952976,1036890340,-1110049884,-1139674515);WS(-1111543132,1053084187); +sum1=W(0,1033211657,-1116548448,1043994373,-1112421659)+W(1,1033458902,1042588164,-1106715184,1042106754)+W(2,1029336727,-1100473306,1036113196,-1100606697)+W(3,-1117467379,1024205686,-1098518156,1010302211)+W(4,1056808676,1042013257,1061342772,1060655799)+W(5,1059165410,1057924951,1042727104,1057649845)+W(6,-1089574549,-1097689349,-1087296749,-1082434496)+W(7,-1087667391,-1091727169,-1095816456,-1093601226)+W(8,-1112225370,999357322,1042186215,-1100755553)+W(9,1042539448,1041805473,-1105873704,-1114265639)+W(10,1035575202,-1114691470,1040681774,1045312421)+W(11,1039236406,1042949980,-1113675407,1035739628);sum2=W(0,1036389819,-1106855677,1031620401,-1109245550)+W(1,997072274,-1132619277,-1096737767,1049991282)+W(2,1006854517,-1114095075,1044374087,-1105124479)+W(3,-1105277948,1043212463,-1104242691,-1113287926)+W(4,1049279774,-1106885840,1052305677,1054861276)+W(5,1057655059,1046093411,-1094755169,1057224822)+W(6,-1104547241,-1120692701,1045612807,1058901209)+W(7,1054428932,1034709627,1054770354,-1094426804)+W(8,-1140479293,-1096936463,1051540981,-1092919117)+W(9,-1129490106,1034565381,-1092959620,1030915645)+W(10,1032391465,-1098591621,-1115708783,-1081363743)+W(11,-1090444858,1017473602,-1098730750,1044114915);WS(-1084020140,1068126260); +sum1=W(0,1006295077,-1137936208,1034316741,-1149620895)+W(1,-1141477121,-1110713826,-1119964867,-1159113641)+W(2,-1156074282,-1103771606,-1104490636,1038480604)+W(3,1018703789,1041233006,1031629367,1005339683)+W(4,1049019906,1049395923,1061237576,1033598516)+W(5,-1094713154,-1098857908,1023717620,1036793310)+W(6,-1097931528,-1091558419,-1086810430,-1099102215)+W(7,1059440745,1018408058,-1122483505,-1108866660)+W(8,-1117241095,1040511881,1040083512,1044377854)+W(9,1044961993,-1146014215,1038059949,-1129764324)+W(10,-1123621559,1023627215,-1108467318,-1115694024)+W(11,-1120119968,-1145494414,-1122997930,1007729326);sum2=W(0,1015277664,-1114453597,1036987011,-1112547401)+W(1,1038859445,-1116674795,983557058,-1127718668)+W(2,1025130698,-1134749664,1032879133,-1134874844)+W(3,-1112115766,1018163604,-1128408082,1003243264)+W(4,1027591084,1033917561,-1126832950,-1114337945)+W(5,1026538526,-1114930086,968847366,-1132712652)+W(6,-1117062871,-1115087054,1055956188,-1108159193)+W(7,1052262112,1032023389,-1105383385,-1120777676)+W(8,-1101670769,-1114105716,-1097729634,-1123425664)+W(9,1058230624,1047994902,1046456588,1042953566)+W(10,1019605180,-1131991228,-1104354242,-1097147867)+W(11,-1101321392,-1100180330,-1106875572,1009596296);WS(1044178094,-1112419455); +sum1=W(0,-1131480425,1014469647,1033460669,-1111970637)+W(1,1018155424,1028778773,-1120733619,1036392279)+W(2,1028145051,-1106904202,-1114114798,-1103921210)+W(3,-1104772954,-1105642670,-1122369255,-1105836421)+W(4,1050373320,1050878345,1059597501,1061375910)+W(5,1062331213,1054878354,1050980308,1057064179)+W(6,-1113746394,-1101407218,-1089975999,-1083033439)+W(7,-1089702156,-1100724747,-1095744476,-1096031599)+W(8,-1097767254,1036986154,-1106579916,1025899544)+W(9,1034746546,1032512190,-1113254377,-1120232930)+W(10,1005496122,1009224698,1010606701,-1155279741)+W(11,1027233072,1015772371,-1131981388,-1140419566);sum2=W(0,1044058702,-1105410550,1033398047,-1119512188)+W(1,-1121578506,-1129503263,1005093795,-1116781712)+W(2,-1120335698,1016883675,1032351899,-1103364509)+W(3,-1123961512,1043612533,-1110855577,1044044613)+W(4,1041124235,1035757794,-1105578788,-1105098443)+W(5,1037191880,1025665274,1024086018,1023695645)+W(6,1021344157,-1104385836,1068114101,1052569394)+W(7,1027075889,-1095293941,-1113226379,-1106316439)+W(8,-1087803383,-1085495757,-1081571635,-1086748155)+W(9,1031589750,1048618044,-1121765158,1039073287)+W(10,1057976488,1058928386,1051244378,1048853947)+W(11,-1130402783,-1124003088,1010599720,-1120128288);WS(-1095246679,-1087513362); +sum1=W(0,1027634667,998672596,-1149130110,1026870673)+W(1,1006905115,1027369115,-1156874400,1027010724)+W(2,1005582218,1034119552,-1098084154,-1141537276)+W(3,-1098155038,-1115874224,-1130796284,-1110211381)+W(4,1054139855,1049059024,1052649123,1065515488)+W(5,1064339388,1053781857,1050040635,1056042372)+W(6,-1093682933,-1099832192,-1089047862,-1088853800)+W(7,-1084571535,-1097071228,-1107001190,-1095503614)+W(8,1002440559,1040529483,-1122861959,-1126585773)+W(9,-1099945809,-1105399392,1023818537,-1117200441)+W(10,-1142612208,1024339285,1025618962,1014930618)+W(11,-1117714471,-1136815962,1018962754,1028298602);sum2=W(0,1021849900,-1131412357,-1118206650,-1125196517)+W(1,1035111533,-1144348946,1021086832,1020034266)+W(2,1041438934,-1119369172,1040592619,-1114002177)+W(3,1032710077,1044882286,-1106944856,1034465258)+W(4,-1128850825,1021256857,1046750596,1025252531)+W(5,1048692472,-1128830461,1032666924,1034167215)+W(6,1035803991,-1111021944,1038923952,1072474004)+W(7,1077302109,-1095554578,1044371493,-1126088605)+W(8,-1100551265,1042971908,-1109478151,-1083937830)+W(9,-1067064389,-1084038225,-1106119426,-1103479472)+W(10,1028120411,-1109090883,1026074630,-1100770381)+W(11,1049109423,1041329596,1033664959,-1114595648);WS(-1086863724,-1072185677); +sum1=W(0,1028385114,-1117432553,1039695343,-1109809663)+W(1,1021420394,-1123921882,-1130768465,1022384484)+W(2,999422396,-1108936247,-1104614655,-1104994067)+W(3,-1154652341,-1146863602,-1114930982,1034006493)+W(4,1054099261,1053618221,1060257868,1062802560)+W(5,1056152893,1045520765,1044268562,1050379178)+W(6,-1096116227,-1097427086,-1085349189,-1083398775)+W(7,-1099176000,-1110026089,-1104661441,-1115290030)+W(8,-1144842721,1026659130,1037424170,1038629270)+W(9,1048207210,-1118540449,-1129199023,-1101129750)+W(10,-1139590961,1021035463,-1123772160,-1103266023)+W(11,1017905387,-1111374457,997564786,-1108736604);sum2=W(0,-1122660132,1028330563,-1115262781,1045687787)+W(1,-1108704409,1029063313,-1116092784,1013546756)+W(2,1040406414,1017997140,1025264396,-1103384157)+W(3,-1151694751,986929807,1026201848,-1115691336)+W(4,1007232002,1025921746,1043786284,1040909479)+W(5,-1108714653,1043690826,-1119932664,1038266954)+W(6,-1096101684,1022732374,-1102241564,1055010544)+W(7,1057419270,-1126901852,1047767958,-1115096031)+W(8,-1114861255,1041150821,-1094431556,-1078483413)+W(9,-1079156700,-1078269109,-1092610189,-1098859524)+W(10,1041847394,-1105481885,1055232297,1061241514)+W(11,1063042984,1067726336,1054314043,1052159629);WS(-1100931758,-1079897221); +sum1=W(0,1002503979,1034941050,-1106318298,1040768819)+W(1,-1115730241,-1141069099,1027555620,-1123362142)+W(2,-1105750735,1038153885,-1105238364,1049149819)+W(3,1028324215,-1106412131,1039911116,-1114353739)+W(4,-1109125113,1017797614,-1095922988,-1090093369)+W(5,-1091054939,-1102230944,-1127686569,-1097766172)+W(6,1042140489,1051948423,1034322060,1059094088)+W(7,1049017573,1050624300,1045992036,1043140938)+W(8,-1126416416,1024057510,-1103862864,1040510958)+W(9,-1112163155,-1106256757,1017980086,1018029782)+W(10,-1119888216,1035399096,-1104877795,1042879258)+W(11,-1120272065,-1112985689,1033961137,-1117933580);sum2=W(0,-1118098210,-1106915273,1038839398,-1115506453)+W(1,1032442192,1016491198,996494424,-1145352236)+W(2,1039272612,-1120265428,1047577900,-1112696018)+W(3,-1123012045,-1123570623,-1121836120,1026228225)+W(4,1033865352,1043187452,-1107536005,-1090204449)+W(5,982996928,1042935567,-1120793710,1030161309)+W(6,-1107428188,-1111026913,1034998667,1068488571)+W(7,-1096446249,1013219076,-1101384300,1023915500)+W(8,1041731770,-1108614463,-1104254290,-1073443109)+W(9,1040126834,1041050172,998034192,1038049010)+W(10,-1138511840,-1129236656,1049639209,1065503173)+W(11,1035312463,-1104804103,1040382819,-1106858818);WS(1060652716,-1122012062); +sum1=W(0,-1136700086,-1120727741,-1136846536,-1102129381)+W(1,1035874533,-1111246103,1019584793,-1111739075)+W(2,-1113850590,1022556549,1030968440,1036351121)+W(3,1049961616,-1119797202,1037896960,1033695743)+W(4,-1093156519,-1098011208,-1100004083,-1079676696)+W(5,-1097573322,-1087704492,-1096988084,-1092447605)+W(6,1056384406,1052398904,1062519968,1061355096)+W(7,1059521337,1052440101,1048869443,1048091420)+W(8,-1101587139,-1106430355,-1132405458,-1107897312)+W(9,1048756772,-1109566980,1020055223,1043876621)+W(10,1021600449,-1114714908,1016310696,-1113036024)+W(11,1022545811,956768943,-1121983087,1018273385);sum2=W(0,-1134928360,1028726521,-1102649789,1041988393)+W(1,-1105797881,-1125378124,1034345705,-1134413224)+W(2,1033535752,-1102458559,-1114678181,1050124192)+W(3,-1102215651,1032107719,1014416128,-1119150822)+W(4,-1108867200,1031241917,1028753942,1056497468)+W(5,-1090602802,1057082230,1023046526,1025484112)+W(6,1056652859,1048810536,1051021341,1036208495)+W(7,-1099717915,-1114740583,1002570703,-1101875417)+W(8,-1094974673,-1100509489,-1100441695,1034323322)+W(9,-1115767916,1041259997,-1122784508,1037850051)+W(10,1034782854,-1123876292,-1100025719,1037384204)+W(11,-1098766868,1024245049,-1114560124,-1112409616);WS(-1104650926,-1097620835); +sum1=W(0,-1121602225,1021304961,-1132438763,1033606955)+W(1,-1119908749,1032325913,-1112547088,1011690407)+W(2,1025795527,-1105437010,1039870965,-1097752993)+W(3,1037504305,-1109081755,-1121171172,-1116159153)+W(4,1046345311,-1108985665,1041625463,-1144407721)+W(5,-1100934531,1047145475,-1119544288,1036418740)+W(6,-1105175020,1045711217,-1093274991,1062570208)+W(7,-1099088029,-1097698093,-1136783989,-1106563213)+W(8,-1160491701,-1117138161,1040158758,1049985633)+W(9,1037586881,1004919651,-1124949278,999804916)+W(10,1000929055,-1145522137,-1117941464,-1122762228)+W(11,-1109694278,1026835862,1024727664,-1126831120);sum2=W(0,-1103930431,1043997541,-1102154605,1046282803)+W(1,-1106269056,-1116052960,993204113,-1113135778)+W(2,-1122873970,-1100601593,-1174042309,-1084779372)+W(3,-1114322527,1046060831,-1115511338,1041954938)+W(4,1048581640,-1108032519,1029742536,1068068442)+W(5,1051594943,-1119470820,-1138871916,1020181836)+W(6,-1139346648,1042591516,1045200151,1052027066)+W(7,-1098651742,-1115540046,1021777728,-1107159950)+W(8,1030984702,-1123657132,-1106767363,-1086671314)+W(9,1024653780,-1127107345,-1163609763,-1134598872)+W(10,-1115391660,-1107477718,1032437784,1025856678)+W(11,1036550683,-1121355040,-1115373797,-1122730046);WS(1066180726,1071088208); +sum1=W(0,1019239309,-1139409238,1016498838,-1117575980)+W(1,1000209679,-1113394675,1030691589,-1133365628)+W(2,-1125280121,1001471451,-1110062156,1036666525)+W(3,1049354787,1048739493,-1119525817,-1103045922)+W(4,-1096761986,1012641888,-1103040193,-1098591157)+W(5,-1079760364,-1090655988,-1102803453,-1099636767)+W(6,1046613601,-1137946220,-1089511315,1064065326)+W(7,1058946251,1056455200,1048597558,1050574049)+W(8,-1107071425,1047813898,1045045936,1024305865)+W(9,-1110782371,1013890551,981956228,1043476657)+W(10,1022045682,1006921793,1010038708,1025055882)+W(11,990559266,1028621651,-1118324476,-1146495466);sum2=W(0,-1132513434,-1110784932,1015163300,1015068960)+W(1,1033174530,-1135254713,1032888151,-1132281738)+W(2,1043448685,-1133524329,-1107748756,1038994810)+W(3,-1104237963,-1120882016,-1105704866,1042278645)+W(4,-1099364915,1037755510,-1102119678,1041992963)+W(5,1059473601,1015880446,1034086136,-1087682569)+W(6,-1092624350,1047633966,-1120785461,1052941265)+W(7,-1112171819,-1149514732,-1106883398,1032085587)+W(8,1056566992,-1103089496,1032253510,-1122308723)+W(9,1028984470,-1121912217,1037486360,-1121651695)+W(10,-1119372495,-1105722911,-1123661455,-1115405106)+W(11,-1126727948,1038410412,-1113287020,1025242322);WS(1036385628,1044378228); +sum1=W(0,-1125923878,-1122454178,-1106272614,1034604284)+W(1,-1112814039,1030894675,-1123079474,-1130721815)+W(2,-1119989961,1024777096,1045742974,-1106270482)+W(3,-1097223397,-1112273196,-1131680651,974203052)+W(4,-1113894352,-1109744594,-1081686591,1049041391)+W(5,1058546239,1043400251,1024933634,-1127331477)+W(6,1034400041,1050462805,1057689729,1056885773)+W(7,-1082103097,-1111542214,1032256832,1030325078)+W(8,1040468885,-1118152051,-1112362495,-1111838475)+W(9,1051410218,1042722054,-1104716944,1028514056)+W(10,-1119159494,-1136375156,1016953331,1033159371)+W(11,-1127987422,1008300000,1020481857,-1122308858);sum2=W(0,-1126857538,-1118763531,1031801448,1032593429)+W(1,1004108563,-1119835024,1016299757,-1169697445)+W(2,-1124098806,-1105376950,1037674477,-1110580495)+W(3,-1116861031,1039467599,-1109178305,1033383777)+W(4,1017023528,-1096176503,1067983244,-1078904043)+W(5,1060638644,-1111109918,-1098624444,1040587540)+W(6,-1105780084,-1094874635,1071605005,-1075832971)+W(7,1065456263,-1112838992,-1104548941,1006549790)+W(8,-1128747572,-1140350635,-1109792866,-1097243929)+W(9,1040323331,-1114824160,1033955221,-1127435882)+W(10,-1133097491,1036694112,-1111308161,1036064001)+W(11,1039332997,-1103055030,1027541135,1022453269);WS(1044586414,987793058); +sum1=W(0,981244734,1029861564,-1127551587,1008852553)+W(1,-1110264932,-1120415085,-1128191927,-1111219811)+W(2,-1094962922,-1105742952,-1103252055,-1106380176)+W(3,1039776063,1036900841,1025145152,1028803677)+W(4,1056192743,1054313512,1058042871,1048369556)+W(5,-1104749720,-1097596121,-1105335335,-1103570473)+W(6,-1106851755,-1099782448,-1098041547,-1096188128)+W(7,1052995119,1058305414,1045503990,1055249646)+W(8,-1119312576,1027895469,1019737521,-1121596880)+W(9,-1106765091,-1098125906,-1106717007,-1101993823)+W(10,-1109764848,1032524411,-1110892330,1024237680)+W(11,-1120426409,1026360866,-1151171624,1031597860);sum2=W(0,-1170894487,-1116947191,1031282910,-1112734885)+W(1,1042944653,-1112368696,1023647443,-1149951158)+W(2,1038321486,1032730216,1034140662,-1104751545)+W(3,-1102906173,-1115060896,-1124833342,-1103764076)+W(4,1053283699,-1102463031,1044178467,1054507486)+W(5,-1128523954,1038784522,-1109068581,-1105151256)+W(6,-1093894288,-1109920837,-1089191295,1065532097)+W(7,-1115680584,1029167633,1021288403,1048070264)+W(8,-1100030896,1047091130,-1097946325,-1095028025)+W(9,-1094781909,1050920778,-1113980416,1052479172)+W(10,1046510222,-1098101478,1046381950,-1113780206)+W(11,1020709100,-1114933696,-1114621382,-1120673083);WS(-1114317660,-1079530866); +sum1=W(0,1005492722,1045601427,-1125684614,1040691817)+W(1,-1138701159,-1122106750,1010492340,-1132247342)+W(2,-1115918380,-1100871485,-1122621547,-1094477942)+W(3,1044150368,1041157065,1039210328,1037992735)+W(4,-1124407701,1040297908,-1098312611,1054673340)+W(5,1041833209,-1120050519,-1116922669,1025359158)+W(6,-1116105277,-1115200394,-1103806788,-1097950923)+W(7,-1088150296,1040435582,1025767275,1032362656)+W(8,1041270838,1034785295,1049040249,-1103823208)+W(9,-1129519613,-1121264402,-1133614768,-1107139719)+W(10,-1125596386,1024917256,1026343653,1033886401)+W(11,1039772509,1028146611,1030520276,1032249339);sum2=W(0,-1155531695,-1116868484,-1135508412,-1106991844)+W(1,-1135674828,1001487940,-1119877490,-1131775200)+W(2,1035594747,-1130123766,-1121397012,-1115576312)+W(3,-1126221532,-1107263445,-1121744498,-1125291430)+W(4,-1111112193,1034328851,1033705026,1050004218)+W(5,-1117911568,-1123887534,1017446183,-1110635219)+W(6,-1101564588,-1113096514,1029679690,1048453590)+W(7,1050922209,1043692754,1034884616,1032206024)+W(8,-1116834132,-1115452418,-1152418495,1029930774)+W(9,1007646710,-1114385718,-1122169416,1016330315)+W(10,-1130931838,-1123313694,1018386998,-1127714868)+W(11,-1121358676,1023927325,-1115969900,-1122013064);WS(1066254326,-1103165682); +sum1=W(0,1032736195,1027879829,1031762634,-1123062443)+W(1,1004281096,-1148973229,-1119568276,-1130151676)+W(2,-1107990998,-1114107453,-1103287009,1041209406)+W(3,1039171204,-1113506869,1029657432,1042306865)+W(4,1040177417,-1121888407,1058340070,-1097968365)+W(5,-1082040497,1042461256,-1110264442,-1106785311)+W(6,-1102376817,1024426522,-1086180914,1045901207)+W(7,1060563077,1045252895,1035749465,1042341554)+W(8,1034252186,-1134855959,1048880356,-1117801777)+W(9,-1108119503,1021862138,1017288487,-1125959462)+W(10,1019040113,1012754494,-1128188760,-1116847305)+W(11,-1149008906,-1140572507,1021245074,1010461490);sum2=W(0,1021177914,-1124089023,1026640236,1019818775)+W(1,1019369915,-1106530127,1038187852,1030498751)+W(2,-1111267114,1044764288,1026571855,-1103902938)+W(3,-1139759728,1046869720,-1116925721,-1107211067)+W(4,1038432054,-1106310853,-1115065858,1063205014)+W(5,1054784388,-1096246655,-1115197568,1035488589)+W(6,-1105822865,-1100663157,-1088005063,1066152263)+W(7,-1093573252,-1098236584,1033917272,-1107121631)+W(8,1037666445,1039738660,-1097556837,-1094681119)+W(9,-1095778937,1051664274,-1104072801,1038730556)+W(10,-1122267795,-1121288215,1045614354,-1112191805)+W(11,1041592438,-1110480242,1015983837,1022742082);WS(1062838508,-1098141683); +sum1=W(0,-1134697126,1033720508,-1121504814,-1119656591)+W(1,950602286,-1114868293,1034808260,-1113093265)+W(2,-1129876167,1021336509,1014720225,1046652247)+W(3,1047400131,1033072079,-1139606129,1026913289)+W(4,-1116304310,-1104597903,-1101916102,-1082370571)+W(5,-1091801796,-1096699752,-1121911577,-1098146380)+W(6,-1099161722,1019102333,1049624810,1058084844)+W(7,1053105145,1050650780,1034036747,1048726310)+W(8,1038618718,1045312786,1036131058,1029119981)+W(9,-1119759594,-1119884597,1024218735,1017329950)+W(10,1030514076,-1118743028,-1134396481,1009920435)+W(11,-1132133195,-1133963803,990998386,-1121758433);sum2=W(0,-1120814392,1018600110,1027325255,-1124538308)+W(1,-1127260613,1007599328,-1128821133,-1125977712)+W(2,1026947049,-1114533760,-1112504706,-1107191892)+W(3,1023329910,-1124222597,1024046209,1019591350)+W(4,-1124609851,1043306429,1030055965,-1090928488)+W(5,1046523168,1015958190,1022187138,-1115445424)+W(6,1029294693,-1096357662,1075131584,-1118772404)+W(7,-1092017575,-1113584525,-1109468012,-1105922548)+W(8,-1089366560,-1078857162,-1106088729,1060040329)+W(9,1045316672,1047822624,1021757630,1038940063)+W(10,1054044776,-1109773692,-1105806639,-1102685120)+W(11,-1119137158,1032716843,-1120065319,1016647840);WS(1054286935,1054427377); +sum1=W(0,-1139016422,1015966225,1034481375,1029692191)+W(1,-1118014037,1037138557,-1107878452,996243233)+W(2,1031868724,1024526894,-1107528289,-1123790766)+W(3,1033739398,-1101429240,1035472806,-1114181077)+W(4,-1103470657,-1100637795,1043922306,-1096987004)+W(5,-1103397016,1045510949,-1113746932,998962565)+W(6,1027450488,1046711412,-1098573729,1036148808)+W(7,1053311986,1016118627,-1127637067,1041113135)+W(8,1036611766,-1105992614,1045477269,-1138151730)+W(9,-1103945702,1013880803,1041047838,-1118755335)+W(10,-1113202838,1036202402,-1121078688,1006910195)+W(11,1033532379,-1135069562,-1112788047,1020627009);sum2=W(0,998302909,1020343611,1029585253,1014080934)+W(1,-1135780688,-1115911996,1018594371,-1117868456)+W(2,-1114977231,1031676937,-1113383024,1053648356)+W(3,1044096370,1042686855,-1108781434,1037265024)+W(4,-1111023634,-1115901635,-1091081120,-1095412525)+W(5,1066870285,-1137657706,1043350243,-1126645268)+W(6,1036510752,-1117993552,-1099268355,-1083342245)+W(7,1034064765,1037488276,1014772326,-1113946823)+W(8,1004185429,1041465226,-1113451820,-1115471327)+W(9,-1118193886,1023464409,-1138084208,1032826620)+W(10,1033017445,-1113757911,1021941233,-1161911507)+W(11,-1120710156,1018751107,-1148724493,967002060);WS(1069042774,1023813606); +sum1=W(0,-1120569815,982627530,-1113058670,-1122018428)+W(1,-1110295833,1021479086,1001627822,1013049407)+W(2,1029846837,-1113747494,1033076468,1039673254)+W(3,1038190732,1046432919,-1134594983,1016231853)+W(4,-1087916882,-1109565588,-1095056850,-1085384902)+W(5,-1083727323,-1089999723,-1094559921,-1094610970)+W(6,1052864835,1048856613,1056781822,1059308179)+W(7,1063669175,1059014405,1044534497,1048044230)+W(8,1037940281,1011966045,1041407837,-1107102153)+W(9,-1111254596,-1110936865,1025983877,1046858383)+W(10,-1130288148,-1136915076,-1140629239,1027021082)+W(11,1007651659,-1128736648,-1139332738,-1114487747);sum2=W(0,-1097118790,-1115645027,-1109249259,1042765123)+W(1,1015795842,1028792702,-1116071919,-1105083736)+W(2,-1088323667,1030684990,-1081609065,-1082143899)+W(3,-1102809807,1059694558,1064574838,1072110122)+W(4,1067177084,1056476304,1058423359,1061996602)+W(5,1006287482,-1085597397,-1080103447,-1081832849)+W(6,1049654149,-1101283859,1057270411,1055747315)+W(7,-1087207348,-1106003210,1023804763,-1090423898)+W(8,-1120538318,1040556965,-1122455315,-1120372038)+W(9,-1106540179,1042932361,1048665861,-1101912272)+W(10,-1108580354,-1124995735,1017763415,-1114753052)+W(11,1040354664,1033427208,-1098395984,1049644025);WS(1046279854,-1100682627); +sum1=W(0,-1155754074,-1110611178,1022309140,-1118509483)+W(1,-1109973457,1022155595,-1107208537,-1117715774)+W(2,-1109896894,-1114421037,-1131162933,1027993210)+W(3,1040243222,-1117693450,1019138289,996768085)+W(4,-1107576521,1030120983,-1094043528,1062355587)+W(5,-1094900881,-1110047247,-1110631994,-1107567326)+W(6,1035511522,-1124410677,1038811574,1059809630)+W(7,1038778317,1046487839,-1127423844,1039784548)+W(8,1002805634,-1114543731,1039227081,-1113128332)+W(9,-1105636701,-1109843880,1004796827,-1112311954)+W(10,-1116898232,1008443967,-1122237996,-1141634631)+W(11,1021837827,-1132048229,-1123472091,-1128081977);sum2=W(0,-1155805362,-1111094572,1028160711,-1123681391)+W(1,-1116453985,-1119301235,-1108559318,-1115385578)+W(2,-1107499970,-1112866732,-1106540686,-1140638716)+W(3,1031083122,-1139408516,1034592379,-1116565509)+W(4,1022847832,1044264749,-1155674450,1057429467)+W(5,-1106158641,1025824831,-1111164410,-1121519923)+W(6,1035480223,-1148903065,1040150233,1045538131)+W(7,1031696457,1041846065,-1120456085,-1129601606)+W(8,-1120962569,-1114470280,1010774604,1016428102)+W(9,-1120179561,-1118124541,999266665,-1119709653)+W(10,-1110725720,1021130376,-1120260095,1009992044)+W(11,1026515918,-1114275912,1011855672,-1115407958);WS(1068834358,-1130516755); +sum1=W(0,-1110020716,1043574522,-1110718798,-1129582842)+W(1,-1114402010,1034180284,1025857751,-1111247176)+W(2,1034114243,-1095778974,1047457188,-1108460854)+W(3,1054126843,-1096959660,1033414773,1039130852)+W(4,1048068617,1048936405,1038642250,-1114164062)+W(5,-1110583455,1049433806,-1136840220,-1119539023)+W(6,-1102038774,1035735542,-1105529591,-1096174934)+W(7,-1112126358,1043709316,-1123546692,-1112879245)+W(8,1031998965,-1100504766,1047377413,-1130108598)+W(9,1044906670,-1095231947,-1130058411,1035429307)+W(10,-1110620517,1038840817,-1109142655,1023990363)+W(11,-1122044916,1040978881,-1131191403,-1115530151);sum2=W(0,970017593,-1125442959,-1107196630,-1108273260)+W(1,-1130992285,-1132402709,1017358256,988670622)+W(2,-1108165952,1040753488,1033984686,1051322703)+W(3,-1113564209,1041587650,-1116630320,-1122802752)+W(4,1047729556,1000227776,1038319755,1055231112)+W(5,-1094436986,986706110,-1124437274,-1132214419)+W(6,-1102798485,-1088611471,-1087549565,1062180091)+W(7,1046553690,-1113546876,-1120036494,1032902155)+W(8,-1142827268,1049645408,-1127043239,-1103837458)+W(9,-1107399737,1048231400,-1124561928,-1145381770)+W(10,1029593938,-1108133201,-1114349374,1035145460)+W(11,-1114342182,-1146643074,-1126967424,1014303584);WS(1067517750,1033639701); +sum1=W(0,1025509678,-1130341242,-1120272434,1018375590)+W(1,-1116961737,1026047982,1025041660,-1113724179)+W(2,-1102897085,-1132678155,-1151042791,1013105800)+W(3,1041000592,1032243033,1034904976,-1123793645)+W(4,1023511162,-1096924480,-1094474081,-1086033191)+W(5,-1085852953,-1093123217,-1093479580,-1091335173)+W(6,1037697110,1040728225,1056422164,1062857884)+W(7,1058773976,1063905370,1050274619,1057695471)+W(8,1039047450,-1108434135,1032921189,-1122589009)+W(9,-1100255843,-1106044526,-1112977566,-1136654701)+W(10,-1138182274,-1138791135,1010850641,1034477848)+W(11,-1112868181,1026848855,-1122948276,1007925107);sum2=W(0,-1101843642,1047092496,1032746990,-1098074183)+W(1,1053786699,-1096910060,1043846267,1023876031)+W(2,-1101718380,-1110599661,-1127672356,-1096713677)+W(3,-1104014372,1035860070,-1097849415,1051096852)+W(4,1046322966,1053918698,-1100340247,1069438643)+W(5,1025809994,-1083706115,1048729218,-1081917128)+W(6,1051125372,-1092942861,1040369276,1074732797)+W(7,1050011098,-1080423025,-1117530220,-1091623712)+W(8,-1084762721,1058235489,-1090389206,-1088693676)+W(9,1053232821,999981171,-1097505133,1050919626)+W(10,1050651985,-1101055683,1050412863,-1103557505)+W(11,1052371166,-1099152238,1041618808,-1123531943);WS(-1098378327,-1087753140); +sum1=W(0,-1149815841,1013838405,1021155853,1025974631)+W(1,1017740987,1020943940,-1137239299,1031952605)+W(2,-1123262056,-1131552366,-1114416842,-1103162646)+W(3,-1099404299,-1100518162,-1111541722,-1098489580)+W(4,-1110243207,997589309,-1104972312,1042062186)+W(5,1057054155,1059648114,1047878460,1061110492)+W(6,1053738584,1025605911,1049179692,-1094476095)+W(7,-1093068705,-1101042271,-1111532695,-1100382705)+W(8,-1096838314,967065877,-1108406847,-1130981226)+W(9,1023051300,1010424693,-1117167136,989087216)+W(10,1031741109,-1135340592,1029594857,-1145022506)+W(11,1005012974,-1112923496,1030823984,-1113821120);sum2=W(0,1034695587,-1111830177,1017885202,-1116805918)+W(1,1039973913,-1113376464,1024357631,-1109344122)+W(2,1032463913,1031752431,-1103205904,1045285117)+W(3,-1092035876,1044034906,-1097056010,1034392181)+W(4,-1087773887,-1104893727,-1114987001,1061301409)+W(5,1053784665,-1096259933,1015259894,-1095057905)+W(6,1051055536,1010301739,1045597173,1065451004)+W(7,1036331211,-1101789830,-1105822235,-1098597360)+W(8,-1103774157,1003908630,-1107230114,999416278)+W(9,-1118216068,1047293827,-1119063058,-1139528651)+W(10,1028563957,-1111301343,1042437558,-1106181364)+W(11,1014136811,-1127455968,-1137717779,1017174230);WS(1051991511,-1090129628); +sum1=W(0,-1119709994,1028979258,1025569135,1025156752)+W(1,-1113846787,1032797781,-1137003429,-1126457798)+W(2,1035475128,-1103260128,-1099928080,1041023848)+W(3,1030722332,1040845476,1015665914,1032471277)+W(4,1044364174,1048862488,1054464119,-1103260308)+W(5,-1090331224,1039529634,1015668019,1036006161)+W(6,-1099369674,-1107028176,-1092954947,1048877896)+W(7,1036105176,-1113372113,-1104520406,-1111431094)+W(8,1024914253,1037758213,1045752341,992983000)+W(9,-1115078629,1027244574,1039091960,-1113568276)+W(10,-1122358045,-1142000036,-1110227337,1023847918)+W(11,1018698636,-1139349278,-1131269376,1004297100);sum2=W(0,1043798657,-1117698064,-1102458928,-1101130902)+W(1,1025730631,1026623851,995294154,1012466631)+W(2,-1098470129,-1096590117,-1084690772,1065791971)+W(3,-1123809426,1019910088,990258218,-1124630920)+W(4,-1126555274,1047971790,1067678357,-1099131342)+W(5,1036453804,-1117295572,-1116170672,1010360391)+W(6,1029962999,1037727050,1008201251,-1083609361)+W(7,1031198846,-1113754273,1030505142,-1136369090)+W(8,1028782608,-1161955740,-1103096568,1051059538)+W(9,-1106261335,1041141064,1028328942,-1119361560)+W(10,-1131048284,1022180969,-1120783295,1014843769)+W(11,1020274026,-1111232000,-1127235720,1001879503);WS(1062559660,1025273829); +sum1=W(0,1017067222,1004255955,1019590495,-1109975080)+W(1,1028071367,1004648665,-1129853588,999516190)+W(2,-1098241838,1041017424,-1136327879,1032386976)+W(3,1031451349,-1112687016,1040197151,-1105242363)+W(4,-1088364567,-1088941672,-1087512143,-1083706517)+W(5,-1089169701,-1092690193,-1100415991,-1093365052)+W(6,1060515311,1050253504,1064814036,1061681108)+W(7,1061080357,1052988124,1048643203,1050105214)+W(8,-1113064427,-1115329590,-1113817187,-1146803505)+W(9,-1112935650,1031379878,-1112391860,1051227835)+W(10,1036248943,-1133026900,1008140615,1028690158)+W(11,1010963867,1030651112,-1133141907,-1139571464);sum2=W(0,1058977722,-1123128465,1051128320,1025585093)+W(1,1043020026,-1090331128,1037612985,-1101815127)+W(2,-1088438618,-1084402469,-1097793743,-1092491618)+W(3,-1090336452,-1094761348,1032815200,-1080227574)+W(4,-1070888183,-1068917363,-1079680807,1078112044)+W(5,1082393215,1070728174,-1090225897,1066541275)+W(6,-1080154822,-1109667848,-1080832517,1058335327)+W(7,1067339759,1057746923,-1122043266,1067785018)+W(8,1057028315,-1133954517,1057005952,-1089499329)+W(9,1038175360,-1096630558,1051816122,-1086032969)+W(10,1020668753,-1117456198,1031920962,1039195999)+W(11,1046190750,-1139309423,-1116527206,1046599598);WS(-1077531606,-1068627295); +sum1=W(0,-1124767318,1034866077,-1101653116,-1130761376)+W(1,-1106412978,-1121310187,1040285922,-1107982930)+W(2,-1113367136,1048375560,-1104403272,1049955828)+W(3,1036710310,-1108970480,1049541454,-1107579101)+W(4,-1095446127,-1099058463,-1090535733,-1087242437)+W(5,-1088900579,-1096168584,-1097928011,-1095682732)+W(6,1055377197,1047513184,1058086815,1061174628)+W(7,1057172304,1056094244,1047121222,1054731422)+W(8,-1111814927,1045191539,-1094831865,1048150628)+W(9,-1103308083,-1102502166,1043510842,-1103869114)+W(10,-1126382267,1025894069,-1117513042,1008100281)+W(11,999030326,-1115104524,1032672660,1025118882);sum2=W(0,-1118325221,-1109912068,1055626857,1073210842)+W(1,1050117205,-1108710534,1007734945,1005945059)+W(2,1021086937,-1119472758,1051951524,1028908234)+W(3,1044779683,1039597247,-1130127373,1026547602)+W(4,1043003051,1026424546,-1092928023,-1081037490)+W(5,-1093398148,1044106321,-1119182686,1019051617)+W(6,-1131106753,1030452362,-1103671831,-1079815727)+W(7,-1105002867,1032627417,-1108845723,1023992222)+W(8,-1122810381,-1109242129,1034708821,1035695099)+W(9,1037167425,-1112762482,-1120996683,999154803)+W(10,1007248641,1007569065,-1112697430,1034566233)+W(11,-1131640977,1020894429,-1144614067,1009135009);WS(1027136184,1037475189); +sum1=W(0,1032095571,-1100957374,1042581547,1008293424)+W(1,-1125080965,1046313162,-1104233593,1032243376)+W(2,-1116112165,1049686375,1028374302,-1096656387)+W(3,1033692244,-1105885187,-1122471385,-1122778646)+W(4,-1115063802,1038845436,-1088748902,1053200569)+W(5,1024446429,-1103807360,1048125173,-1114896431)+W(6,1049018533,-1106083983,1046087792,1044615055)+W(7,-1090279185,1052904956,-1106111045,-1113201013)+W(8,-1119314641,-1120251015,1034473457,-1099043646)+W(9,1029265287,1033985068,-1106885357,1045413959)+W(10,-1107767341,1047825580,-1104556803,1041068763)+W(11,1035958465,-1106489925,1037737330,-1123269230);sum2=W(0,-1109957285,1046942588,-1108558913,1035311457)+W(1,-1103268017,1020819182,1017489970,-1119040125)+W(2,1028061230,-1090820835,-1168618571,1053631926)+W(3,-1140171429,1024395745,1034074787,-1111153127)+W(4,1045893852,1047577084,-1096957845,-1097789717)+W(5,1058472778,1010859305,-1118924631,-1134098557)+W(6,-1110812851,1048459161,1058947879,1028951753)+W(7,-1086199154,1018177816,-1119421881,1029986143)+W(8,-1108048047,-1114577527,-1104353646,1041621301)+W(9,1047742834,-1101676043,1030918112,-1110045381)+W(10,1027149256,-1106934834,-1104794282,-1139749789)+W(11,-1105608688,1051639728,-1105627073,1035525353);WS(1059085676,-1120419895); +sum1=W(0,-1123531970,1015920803,-1129458830,1003238718)+W(1,1024388894,1019022757,-1122285937,1029064795)+W(2,1010567522,1041225150,1048968044,-1107069702)+W(3,-1107554082,-1131681870,-1110859547,1018058500)+W(4,-1140828475,1042370229,-1081896608,1061545382)+W(5,1057779808,1048429719,1046207852,1043188126)+W(6,1031892193,-1105839574,1052692461,-1113798029)+W(7,-1080962214,1023517883,-1107360247,-1109838114)+W(8,-1126417758,1021017477,-1106306215,1033163859)+W(9,1051334024,974463598,-1137698561,-1182091254)+W(10,1013434325,-1117671948,1033141013,-1110196995)+W(11,998455538,-1104852314,-1130795454,-1115208005);sum2=W(0,-1115293356,-1104270657,995357221,-1140125409)+W(1,1041981586,1016190873,-1140513641,-1115228320)+W(2,1051048471,1028093784,-1111420185,-1087783718)+W(3,1031459460,1035133120,1028088400,1019234873)+W(4,-1116254969,1055158904,-1108447426,1057721666)+W(5,-1086769840,-1119040585,-1121069799,1043934745)+W(6,-1108089569,-1104160418,-1113016550,1060085251)+W(7,1041174723,-1119561801,-1114345654,-1097229960)+W(8,-1110389222,1040482382,-1105273681,-1106428297)+W(9,1046452617,1045849559,1044224673,-1114369945)+W(10,1032305896,-1109483288,1033267880,-1106001572)+W(11,-1115354420,-1127947625,-1119205024,1033437588);WS(1063842732,1069263660); +sum1=W(0,-1134238373,1031532473,-1118861678,1031846503)+W(1,-1118980549,1032122901,-1119645672,1033668289)+W(2,-1122877239,-1122091454,-1114405937,-1102409375)+W(3,-1105793535,-1113900631,-1129606328,-1133229476)+W(4,1055968823,1052972391,1057777668,1062381841)+W(5,1065218890,1051224528,1055096307,1043160456)+W(6,-1099884346,-1097152888,-1088480739,-1081966868)+W(7,-1086950263,-1107218856,-1097976619,-1106065147)+W(8,-1101209335,-1119905385,1025124405,-1166909210)+W(9,1045788186,-1105943487,1011470685,-1107257190)+W(10,1027783644,1025876211,-1133551424,-1124858713)+W(11,-1146513705,-1136389690,-1153551023,1024085520);sum2=W(0,1008982555,-1122047761,-1134583037,-1137222855)+W(1,-1140752305,1029699842,-1114302140,1026101716)+W(2,1017497319,-1119731325,-1110768789,1050149080)+W(3,1041298195,-1094516021,1037679865,1029205125)+W(4,-1114050188,1048705804,1082656561,1079097716)+W(5,-1069364548,-1064571216,-1105564781,-1121859551)+W(6,1044555710,-1104624717,1041907901,-1088882238)+W(7,1050137131,-1099205492,-1109039739,1040352044)+W(8,-1115112254,-1113283108,1041138312,1033378952)+W(9,1048604087,-1105508475,1026612451,-1131493091)+W(10,-1121509319,1042591944,-1111081434,1018241317)+W(11,-1128224049,1008906239,-1118064246,1024193619);WS(-1129102704,1046511454); +sum1=W(0,-1120255189,992833099,-1134582632,-1138794987)+W(1,-1157138191,-1129425099,1016407976,-1133147960)+W(2,1003871004,1029362986,988783847,1011030567)+W(3,-1118838023,-1111313565,-1115457860,-1106432157)+W(4,-1098175836,-1113473140,-1095364566,-1091886143)+W(5,1040190185,-1149570791,1037653026,1038304902)+W(6,1060542285,1049212165,1059935407,1049733902)+W(7,-1115543549,1041064643,-1119854466,1029519512)+W(8,-1104614392,-1118651222,-1098721330,-1109648580)+W(9,-1121023765,-1105481630,1031662787,-1111089569)+W(10,-1115237700,1012659838,1026034940,-1116104473)+W(11,1036784617,-1112251695,1023835049,-1170197274);sum2=W(0,1039353726,-1104263814,1027240563,1028285409)+W(1,1032871415,-1151417050,1027668005,1023556565)+W(2,1022956598,1036699032,-1120983737,-1106986979)+W(3,-1095425364,-1136397826,-1108376211,-1098325150)+W(4,-1093991321,-1154678850,-1089878099,1067214284)+W(5,1047639440,1051464555,-1104038071,1061372327)+W(6,-1088722171,-1088770012,-1101846939,1070132546)+W(7,1045480826,-1099095249,1043597107,-1086577064)+W(8,1039854738,-1104468959,-1096446657,1029156699)+W(9,-1098508409,1024325599,-1148394393,1034968116)+W(10,-1125147089,-1123571799,1036003207,-1117321918)+W(11,1027342659,-1150420266,-1138411071,1031516803);WS(1056411607,-1109579684); +sum1=W(0,-1129654332,1027988397,1041758889,1027974595)+W(1,1038643645,1038422303,-1115801276,1047822542)+W(2,1040494825,1031736403,-1118623100,-1104250813)+W(3,1023561152,-1115303377,-1111435064,1037517815)+W(4,1053570965,1051564806,1061336939,1057393436)+W(5,1065029703,1052932495,1051403778,1056446507)+W(6,-1089114662,-1091392278,-1087917688,-1081469355)+W(7,-1091410052,-1085011849,-1108233957,-1089621406)+W(8,-1099475130,1018661052,1034322317,-1094207710)+W(9,1052271760,-1096091282,1036087894,-1095410877)+W(10,1041782836,1032323860,1035039650,1010041732)+W(11,1041287822,1020820966,1036272138,1043391417);sum2=W(0,-1114696922,1043151870,-1098855398,1045725515)+W(1,1041130784,-1093166728,1048010869,-1097485062)+W(2,1063327246,1054945342,-1111180476,-1078968963)+W(3,-1075182266,-1073598210,-1072729035,-1069127579)+W(4,-1085101471,-1091433742,1044429796,1071264665)+W(5,1068966947,1074573142,1072575447,1082548410)+W(6,-1089121793,-1108711949,-1096795753,1049748951)+W(7,1041099170,-1107925652,-1087601324,1057234494)+W(8,1049274948,1036153834,1047012469,1043607695)+W(9,1008700501,-1106854972,-1100708600,-1095686167)+W(10,1041765085,-1114908726,1017938665,-1113887753)+W(11,1052357470,-1097732836,1035577978,-1117196119);WS(-1075355670,-1094395357); +sum1=W(0,-1145694380,1031927794,-1126751284,-1107635165)+W(1,1035883256,-1117999477,1025403748,-1135056568)+W(2,1013276974,1019602069,1034056645,1046251906)+W(3,-1107984424,-1101824103,-1117853800,-1113050587)+W(4,1022872131,1012968093,1064151904,1059501808)+W(5,1052823861,1052884390,1040309473,1051481338)+W(6,-1102394069,-1105184299,-1089968245,-1079531190)+W(7,1040654683,-1097950850,1021798787,-1099617206)+W(8,-1132601278,-1113047243,-1112578984,1045395638)+W(9,1035604635,-1102570614,1016601958,-1117559395)+W(10,1032373060,-1123577887,1012023536,-1121043161)+W(11,-1136193989,-1124087697,1014648876,1015049529);sum2=W(0,1040559153,-1099966915,1051040838,-1122400566)+W(1,-1103745056,-1127876766,-1118336076,-1122216569)+W(2,1024400373,1050797480,-1098907063,-1088192853)+W(3,-1132746540,1040989775,999475557,1024449813)+W(4,-1112035522,-1095559069,-1091507667,1063399780)+W(5,1064106398,-1101527709,1025976147,-1118033876)+W(6,-1102969122,1048535090,-1081423354,1065515124)+W(7,-1104928579,1047332946,-1171911780,1047796018)+W(8,1035694118,-1109162397,1049424016,-1098794388)+W(9,-1097345189,-1105732065,-1107661001,1036172042)+W(10,1008704054,1035803260,1032276403,-1104133833)+W(11,1042270874,-1109516912,1033064723,-1106418589);WS(1045480366,-1089018411); +sum1=W(0,956510844,998930446,-1129843310,-1113698796)+W(1,1001814128,-1126854725,1033942209,-1127622934)+W(2,-1147321796,-1119371847,1033743797,1047477674)+W(3,993727556,1019312750,991522899,-1124727396)+W(4,-1098659472,-1114996930,-1084286683,-1080535200)+W(5,-1100569285,-1095107249,-1106428344,-1102902186)+W(6,1046172476,1016456206,1060852743,1065762350)+W(7,1055209670,1054147605,1040201800,1049320503)+W(8,-1117032824,1032232105,1034928007,1036591131)+W(9,1034876769,-1103835661,-1110790848,-1117790432)+W(10,1012429717,992745416,-1120189081,-1130833259)+W(11,-1112309127,-1162991986,1019870324,-1166423644);sum2=W(0,-1135134951,-1138029383,1039247354,-1105815405)+W(1,1043479193,-1108579602,1036464698,-1114044136)+W(2,1034251754,-1112450391,1048129179,1013788103)+W(3,-1107279344,-1098532570,-1125069222,-1106884027)+W(4,-1112699779,1048844919,-1081251706,-1102377508)+W(5,1074756442,-1079912447,1051417558,-1113485350)+W(6,1028246411,-1097747276,1030988939,-1085286825)+W(7,1066704374,1048531717,1025432715,1037742006)+W(8,1024730233,1036047504,1032907358,-1098604264)+W(9,-1121203556,-1097926469,1037541288,-1114746618)+W(10,-1141862453,-1116303285,1032058431,1026446373)+W(11,-1115422697,1017067577,-1110631868,1026757097);WS(-1129198960,-1098545020); +sum1=W(0,1016631370,-1109829274,1027654249,-1135763497)+W(1,1022371969,-1109147378,-1124465415,1000105708)+W(2,-1103774667,1046260982,1041444949,1029491033)+W(3,1033440347,1047095266,-1135425502,1031236725)+W(4,-1097986678,-1103302894,-1085753764,-1087937321)+W(5,-1100503343,-1092825640,-1114972810,-1092048676)+W(6,1055978916,1038066845,1057520791,1064242364)+W(7,1043702710,-1106434743,1042256612,1048160666)+W(8,998946812,1013747092,1033950432,-1108378356)+W(9,-1149232679,1039795292,-1134578155,1047273267)+W(10,-1113370572,1026014767,-1133701934,-1124979408)+W(11,1034434352,-1123636138,-1133096682,-1110866582);sum2=W(0,1008784866,-1111810524,-1123287968,1035375858)+W(1,-1131156064,1014562100,1013976797,1025684805)+W(2,-1101060946,1041574978,-1113715041,1009783259)+W(3,-1117592464,1037249766,-1112331585,-1116058888)+W(4,1045200185,-1109901275,-1111729623,-1099551228)+W(5,1028611861,-1126723736,1048583824,-1123970907)+W(6,1046672822,-1123470329,1052382391,1057574679)+W(7,1037781521,-1088911756,-1105025107,-1098796399)+W(8,-1118279822,-1113194466,-1105523541,-1090683445)+W(9,-1089242363,1057541056,1046019340,1058673062)+W(10,994298612,-1124039764,1016737108,1025528776)+W(11,1044936991,1038965019,-1100984465,-1111874598);WS(1055927127,1032414456); +sum1=W(0,1026777470,-1114645447,-1107741345,1034928754)+W(1,-1106080726,1036990351,-1132545269,-1115024108)+W(2,-1105922759,1038629978,-1118870909,1048976902)+W(3,1031310464,-1116578243,-1121324945,1028926430)+W(4,1039415013,-1109541160,-1121580331,1035267569)+W(5,-1092363639,1052806443,-1105847083,-1107491323)+W(6,-1114467391,1049649890,-1099187900,-1110167275)+W(7,1044706191,-1098780639,1042096283,1026721601)+W(8,1040445212,-1118657663,1040802710,1050521172)+W(9,-1122260014,1045812872,-1112784326,1028974308)+W(10,-1109775801,1029983880,-1103039897,1032803169)+W(11,-1106266495,-1117906236,1031828590,-1113700371);sum2=W(0,1046339838,-1116647554,1008329020,1019769686)+W(1,-1108633040,1035617664,1033551944,-1127469148)+W(2,-1095477634,1046850624,1046890022,-1090363791)+W(3,1015468535,-1092874283,-1110478242,1032940188)+W(4,1041080449,-1097525459,-1087064144,1051375999)+W(5,1042338708,1061754259,-1118600243,-1108757958)+W(6,-1106007640,1046513622,1055899106,-1097018549)+W(7,-1122727333,-1100515622,1043707610,1042447169)+W(8,1022253579,-1109703351,1048733947,1049672544)+W(9,1051464963,1025134369,-1099218588,-1108633308)+W(10,-1124447256,1043170037,-1100004355,-1097807314)+W(11,-1129042543,-1112390214,1040819075,-1120359161);WS(1063732396,1030954530); +sum1=W(0,1032126752,976782235,1026279044,-1118035684)+W(1,1028715099,-1121995199,1032435871,-1124714096)+W(2,1036299263,-1151769923,1034233519,1048463661)+W(3,1036782808,1036166050,1020132772,1046021200)+W(4,1040042182,-1126287138,1024363996,-1092651532)+W(5,-1113174091,-1102126950,-1118937966,-1096484767)+W(6,-1085959612,-1100277765,-1112294345,-1099766629)+W(7,1035866674,1049742039,-1116277291,1041160144)+W(8,1040218780,1040546448,1044348191,1048686290)+W(9,1009750781,-1118854702,1040779899,1026126509)+W(10,1017251428,-1135394341,-1164354746,1013744650)+W(11,-1137751148,972654113,-1123833085,1032085003);sum2=W(0,1023560328,1005726416,-1116687692,-1115408842)+W(1,1041728877,-1105589301,1038558105,-1113100068)+W(2,-1114346246,1027252420,-1128267680,-1102003721)+W(3,1038357336,1012806192,1025579970,1032847335)+W(4,1055635447,1058379047,-1093219742,-1075825777)+W(5,-1122468504,1043596623,-1110943172,1037773232)+W(6,1080093571,1066361916,-1079490865,-1069273193)+W(7,1048667285,1040586029,1032482622,-1123027612)+W(8,1053265582,1041698127,1044641580,-1103412699)+W(9,-1104322529,-1123753164,-1134749344,1003892288)+W(10,-1109086292,1032891532,-1142986448,1040229437)+W(11,1008854368,-1116993440,-1125346072,1027065900);WS(-1091386327,1040820769); +sum1=W(0,-1133727678,1015097725,-1138479056,-1114059050)+W(1,1024901707,-1122041679,1013224377,-1123564392)+W(2,-1113530145,-1145488419,1016526204,1038143634)+W(3,-1118547201,1031893970,-1120867010,1007161468)+W(4,1024243708,-1111308865,-1103657483,-1091368514)+W(5,-1102986721,-1104061090,1020963773,-1118947879)+W(6,1033777591,1043618337,1057905859,1056300329)+W(7,1019703993,1024793576,-1114932462,1024563890)+W(8,1009482248,-1113425624,-1104459527,-1103801765)+W(9,1043076580,1039830345,1042855834,-1129826522)+W(10,-1122301794,1016257779,1026855702,-1136938187)+W(11,-1118577003,-1111999542,-1119434421,1018984621);sum2=W(0,-1118014300,-1121259996,-1118480989,-1120519112)+W(1,1034237400,1031820662,-1116062192,1029964608)+W(2,-1107425211,1034914627,1057124947,1041680563)+W(3,-1110358856,-1114315301,1010762999,974005161)+W(4,988341556,1058886039,1080471640,-1067455811)+W(5,-1105716188,-1113532913,1033223294,-1106855886)+W(6,-1122432623,1043257251,1049657622,-1080970083)+W(7,-1091987171,1051213388,-1109593637,1037720533)+W(8,1031639360,-1110426684,981320073,-1105451271)+W(9,1044181951,-1110623014,1038375349,999181553)+W(10,-1122715046,1030027284,1022014335,1012008135)+W(11,-1121988626,1009779611,-1113750985,1028099986);WS(1067317974,-1128063738); +sum1=W(0,-1112292702,1030230219,1023947008,1037678225)+W(1,1016840879,1032095758,1018620213,1023530868)+W(2,1047000343,1008892739,1038318737,-1110797816)+W(3,-1118959774,-1114918032,-1114992535,1004226268)+W(4,-1088068429,-1130941083,-1122235065,1055157388)+W(5,1048428783,1052878187,1036886165,1052393190)+W(6,1048838463,-1108932456,1034700890,-1096039434)+W(7,-1113377160,-1088738347,-1100769370,-1082056652)+W(8,-1121751190,1013016624,-1165199081,1039874719)+W(9,1031603132,1045859362,1028131502,1050791676)+W(10,1027999791,1017454988,1031463650,1025959551)+W(11,1018062255,-1143147336,1018649043,-1115371169);sum2=W(0,1017164622,1004731920,1046790460,-1106036842)+W(1,1036535757,-1103678216,1025471738,-1122761780)+W(2,-1091622621,1038964407,1049069382,1047078409)+W(3,-1107481011,-1098544714,1040369699,-1107095641)+W(4,1072454217,-1113390241,-1080520963,-1071223185)+W(5,1059476479,1061994978,1053016271,1054597152)+W(6,1067262657,-1112910469,1044434118,-1073367678)+W(7,-1099641871,1029437169,1051233508,1062276141)+W(8,-1098954881,1038887363,1033204278,-1106847320)+W(9,967303234,1030771421,-1123160801,-1113404397)+W(10,1035940089,-1108193245,1032575148,-1127548642)+W(11,1015223408,-1109007913,1042599225,-1116480773);WS(-1095745367,-1102532016); +sum1=W(0,-1117700567,-1125050061,-1104292247,1032821374)+W(1,-1106685309,1026094807,-1109617979,1025256272)+W(2,-1131139906,-1115476726,1044141479,1043020835)+W(3,1033588284,1027591436,1031476842,-1109574827)+W(4,-1104729417,1049785973,-1096094522,-1103984511)+W(5,-1135965844,-1092452582,1035377859,-1108767399)+W(6,1031266390,1034862742,1043929817,1025371182)+W(7,1048857569,1049600882,-1127826823,1045422790)+W(8,1034962037,-1108925228,-1121682994,1003529681)+W(9,-1108409524,1029191534,-1105178749,-1147768356)+W(10,-1123836106,1021444802,-1112024639,1036065165)+W(11,-1114922921,1028793076,1025559229,1027631502);sum2=W(0,-1102917712,-1090566997,-1083236080,-1084121809)+W(1,-1092542987,-1098664696,-1115432352,-1109069600)+W(2,1050493331,1058641835,1072277942,1066117726)+W(3,1055792221,1016159325,-1123932559,-1107091755)+W(4,-1104683957,-1106617401,-1083529216,-1110147426)+W(5,1053260074,1047496584,1040670728,1041712051)+W(6,1038417192,-1131983160,1026745412,-1097349120)+W(7,-1092834676,1048447149,-1110071086,1019306140)+W(8,1032679083,-1117134944,1030312114,1045086676)+W(9,-1115504874,-1103742512,1018575153,1023956348)+W(10,-1124032472,-1142618034,1033461689,-1107466492)+W(11,1040055828,-1111688997,1025562022,995416610);WS(1064673964,1027541745); +sum1=W(0,1040862122,-1105951646,-1159900529,1047048323)+W(1,-1123048515,-1115789415,1032172675,1028373376)+W(2,1042078126,-1104573695,-1104241265,-1111978190)+W(3,-1096920009,1032018046,1022298419,-1099040790)+W(4,1060076351,1032906140,1059885441,1064315273)+W(5,1059865934,1050382000,1053685923,1058530774)+W(6,-1092017101,-1098380055,-1084208856,-1089015252)+W(7,-1085419935,-1095947620,-1104053605,-1087017843)+W(8,1050924251,-1103234546,1045405901,1048739529)+W(9,1043557114,1032498465,1042167691,1037400788)+W(10,-1113513485,-1122608113,-1114509959,-1097330869)+W(11,-1130206982,1009712656,1011282770,-1099616447);sum2=W(0,1039738446,-1096514001,1067583917,1083413745)+W(1,1067818743,-1089267428,1050540062,-1102208699)+W(2,-1137481092,1050849818,1017170018,1041988969)+W(3,-1115429835,1054896719,-1108022123,1042362507)+W(4,1036746190,-1109747727,-1078331016,-1066189939)+W(5,-1077977055,1050059376,-1119460484,-1140654200)+W(6,998253152,-1102987618,1044897487,-1088427847)+W(7,-1125950758,-1108032139,1038480975,-1098634922)+W(8,1035100433,-1144728624,-1108804343,1030429056)+W(9,-1124211336,1045807183,-1164441214,-1138500556)+W(10,1029249908,-1103405950,-1113657787,1049519441)+W(11,-1105416150,-1104699523,1036658641,-1135144148);WS(-1084384556,-1100810808); +sum1=W(0,1032390692,1033258828,1036208454,-1153131217)+W(1,1035878930,-1113170436,1034716867,1008810370)+W(2,-1101205955,-1114756638,1034225747,-1123281148)+W(3,1052764669,-1110681734,-1132636906,1010363102)+W(4,-1095424763,-1115332589,-1089988048,-1080799329)+W(5,-1086451675,-1089641270,-1111992667,-1089944572)+W(6,1056723089,1044941511,1059213081,1058219330)+W(7,1065718984,1051546784,1048907447,1051751177)+W(8,-1103994552,-1103092466,1016698694,-1102604175)+W(9,1010056863,-1105901266,-1104305197,1025009925)+W(10,-1113631133,1038921097,1041433148,1029458059)+W(11,1046701849,-1114617106,1022756491,1042675492);sum2=W(0,1003892755,-1123544386,1040199158,-1099919704)+W(1,1046124074,-1114201767,-1137485313,1018916205)+W(2,-1106845972,1040443741,1041556166,-1098641213)+W(3,1043027552,-1102894487,1031291554,1029095170)+W(4,-1130802613,-1099129814,1034864555,1044973210)+W(5,1046986152,1040886200,-1097152858,1035815457)+W(6,1042856976,1046395618,1049252005,1051151809)+W(7,-1120255910,-1098031952,-1103612985,1034278467)+W(8,-1090921483,-1117156960,-1101642940,-1094482604)+W(9,1049495257,-1113386876,-1132183417,1026205590)+W(10,1035865477,-1128022157,1029291710,1033022953)+W(11,1028643166,1031856421,-1106468948,1020718685);WS(-1097545175,-1081485407); +sum1=W(0,1036015463,1036906638,1033438601,-1148467606)+W(1,-1116883369,1043481795,-1107248831,1035852867)+W(2,1034150438,-1107749409,1025404544,-1130068931)+W(3,-1110996648,-1129433572,-1112307200,-1133343797)+W(4,1057909318,1041348600,1058891216,1062920275)+W(5,1058446394,1057530498,1041812911,1058924580)+W(6,-1085934785,-1091465804,-1088212159,-1085185870)+W(7,-1083820335,-1097522985,-1098817647,-1088845017)+W(8,1035924004,-1120240750,1040930578,1044931644)+W(9,-1110014855,1046628778,-1112689630,1031062731)+W(10,1033963168,-1115496908,1023737332,1034996968)+W(11,-1109644005,1044774695,-1109394217,991839047);sum2=W(0,-1085422352,-1073537081,-1090145600,-1103264022)+W(1,-1098060014,1039561049,-1111561066,-1097648243)+W(2,-1096165509,-1097506962,1035648589,1037776879)+W(3,-1106454260,-1132410675,-1095706003,-1093619532)+W(4,1057773529,1050305732,1070820271,1064009122)+W(5,-1102687355,1037201191,-1106323076,1065891070)+W(6,-1090487063,1042351306,1042246902,1057815879)+W(7,1056492080,-1132940238,1047053654,-1104795343)+W(8,1044955346,-1096519547,1012707558,1035447241)+W(9,-1098251612,1055262754,-1098685023,1017091667)+W(10,1048850208,-1098077313,1040847724,1039355809)+W(11,-1128314591,1034334977,-1107078913,1044351754);WS(-1079771574,1075069839); +sum1=W(0,1032166989,-1111167476,-1123178206,1032734815)+W(1,1029165557,-1112820125,-1135576864,-1114861753)+W(2,-1118529175,1021133405,-1093562003,-1104246611)+W(3,-1098100446,-1114628655,-1133453360,-1119446905)+W(4,1055702741,1048648437,1062276827,1071187580)+W(5,1061220800,1049405702,1042497282,1051379002)+W(6,-1092970539,-1092445782,-1088433116,-1118830448)+W(7,-1097110780,-1093425874,-1109854691,-1094782027)+W(8,-1117950828,1033539229,-1104828877,-1114529494)+W(9,-1112849365,1023590922,992807281,-1104282614)+W(10,-1113551430,-1142239002,-1110397888,-1119974813)+W(11,-1139975764,-1111568211,974859957,-1107804608);sum2=W(0,-1108373663,1008476139,-1104454680,1048684757)+W(1,-1093428939,1053127551,-1096653504,1052320010)+W(2,1058265898,-1092753943,1052155727,-1094584251)+W(3,1044002260,1027921055,-1109762731,-1093142139)+W(4,-1105791278,-1098184263,-1106622092,1051207789)+W(5,1040647411,-1092246791,1028193495,-1102532444)+W(6,-1097633487,1036219103,1039768739,1059813061)+W(7,1037804238,1058749571,-1091622541,1056925595)+W(8,1040059628,-1096394805,1043022076,-1089567461)+W(9,1053976656,-1109099791,-1128546349,-1105143398)+W(10,1041333883,-1106791026,1034264586,1043988712)+W(11,-1094438691,1046191998,-1105323978,1027895571);WS(-1080085654,1070612946); +sum1=W(0,1024243697,-1118763904,-1129448298,-1125372076)+W(1,-1130529432,-1113325424,1028582463,-1115811081)+W(2,-1111019203,1017624971,998267115,1049904509)+W(3,1044325341,1036368923,1022422215,1029887376)+W(4,-1099863023,-1093242824,-1096657110,-1083526619)+W(5,-1084273056,-1089131829,-1100657096,-1095229037)+W(6,1051294614,1049086721,1054244159,1063525996)+W(7,1060516258,1052725165,1045179095,1047234173)+W(8,1018553499,-1110032568,-1107816470,1050014740)+W(9,-1120428313,1042939778,-1105723916,1034815359)+W(10,1001929499,-1129474933,-1103030358,1034265690)+W(11,1028809164,-1137068591,995816851,1023513072);sum2=W(0,1027629060,1025235210,-1125103522,-1130467636)+W(1,1000499297,1020465580,-1138182160,1014590712)+W(2,-1114994936,1042086314,-1109536432,1043514454)+W(3,-1116030212,1034381305,-1133867384,1032991925)+W(4,1044032624,-1110089750,1027377576,1040857173)+W(5,1049094807,-1102199059,1040209410,-1107097337)+W(6,-1120685804,1041443307,1041551160,1078385077)+W(7,1071531230,-1097624207,1042950964,-1110894461)+W(8,1028515824,-1109301707,1038947979,-1069674168)+W(9,-1072009528,1042363648,-1100125727,1020171064)+W(10,-1128032940,1028557604,-1095260923,1041445431)+W(11,1044521776,-1111317304,1026231984,-1115643044);WS(-1094677847,1071331518); +sum1=W(0,-1108370254,1027561514,-1098732332,-1118400576)+W(1,-1098654343,1020701942,-1114608461,-1102267173)+W(2,1050522446,-1102155388,1051883284,1052444946)+W(3,1048632224,1036179296,1043748547,1046936641)+W(4,-1090412394,-1096900614,-1088235704,-1081990504)+W(5,-1083209683,-1095695623,-1096819473,-1088405429)+W(6,1059909490,1033926552,1060113893,1065971548)+W(7,1057796766,1055081266,1048355474,1057781222)+W(8,-1131659964,-1108396174,-1104366446,1016076284)+W(9,-1094058291,1044926426,-1102235562,-1122894705)+W(10,1045668787,-1099365497,1036562753,1045429432)+W(11,1027649399,-1115499084,1020598162,1041162909);sum2=W(0,-1102306900,1039340517,1036459319,1032447827)+W(1,-1099327251,1052797014,-1122082449,-1098452307)+W(2,1042298222,1011988276,-1104503945,-1099734245)+W(3,1032726509,1032685073,1045894449,1031495568)+W(4,1021581591,-1091773202,-1086047943,-1071833762)+W(5,-1087097517,-1094401898,-1089730964,-1094627244)+W(6,-1097774924,-1083547573,-1076320925,-1070847208)+W(7,-1079468544,-1084551630,-1096261152,-1097740674)+W(8,1051289508,1050176620,1066124397,1069182349)+W(9,1058492703,1061745990,1029975482,1062784611)+W(10,1044651623,1060043835,1072230275,1080482397)+W(11,1067612874,1060905071,1035766217,1036170953);WS(-1075403638,-1098484659); +sum1=W(0,1008218969,1031048294,-1123131291,1045188911)+W(1,-1123984690,1016373997,1038284987,993498863)+W(2,-1141902179,1016567255,-1102849342,1018204181)+W(3,-1097928441,-1102752375,-1119205801,-1111653947)+W(4,1045612697,1051272109,1045999461,1067242878)+W(5,1057827361,1039307800,1052680217,1048974634)+W(6,-1098198307,-1097302541,-1089514713,-1083074125)+W(7,-1090995143,-1089521325,-1111274305,-1089001074)+W(8,-1115216112,1045061466,-1110301017,1055219615)+W(9,1042127630,1018247819,1043301703,-1112012330)+W(10,1014117412,1032424528,-1117285565,1039741805)+W(11,-1138318152,990571063,1035406958,991913685);sum2=W(0,1032878555,-1123900432,1029453781,-1120535472)+W(1,1040510410,-1109544472,1036988619,-1113659102)+W(2,-1136655860,1023477569,993352402,1007422372)+W(3,-1110556919,-1138628828,-1137184004,1035524869)+W(4,1031615749,1032172309,-1101515073,1063516373)+W(5,-1114866186,-1101753271,1046060209,-1110546008)+W(6,-1113247036,1040892014,-1093800370,1059067488)+W(7,1049733424,-1112478460,-1128679382,-1106958218)+W(8,-1102324444,1041677780,-1099560811,-1101931537)+W(9,-1091691569,-1137342172,-1112686045,999359657)+W(10,1033821831,-1122117887,-1111754290,-1118366060)+W(11,-1131546954,1043560141,-1110783375,1026284797);WS(1018938736,1060529869); +sum1=W(0,-1114076530,1008598737,1029696041,-1118730378)+W(1,1036159584,1012443924,1034257674,-1133449206)+W(2,1037607357,-1120766810,-1113865353,1019917938)+W(3,1041300082,-1119787914,-1102751430,1018668169)+W(4,1045714156,1044442542,1057228923,1049628033)+W(5,-1081803320,1042784239,1016494120,1031639516)+W(6,-1166977277,1024586298,-1084710912,1048848151)+W(7,1052825757,-1110703311,-1108049641,-1111061268)+W(8,-1102825464,985048227,1048654858,-1109196652)+W(9,-1101625253,1021290536,1039349129,1018121541)+W(10,1003359422,1019680094,-1122235660,1032134772)+W(11,1023446241,1025035938,-1122160707,1028394476);sum2=W(0,-1146778654,1009999826,1042445717,1027431889)+W(1,-1118789096,1034933139,-1102516465,1039233552)+W(2,1033337426,-1117028555,-1092512747,-1100415596)+W(3,-1100913756,1031653672,1049736808,-1123203031)+W(4,-1101837401,-1107426057,-1106280442,1063146362)+W(5,-1086144449,-1121957589,-1104136456,-1123128270)+W(6,1023259685,-1113617305,1063964069,1058459732)+W(7,-1101061454,-1139753565,1034026738,-1143324392)+W(8,-1165315756,1042598704,-1101414619,-1136881638)+W(9,-1099212326,1035181957,1031514566,-1103321885)+W(10,1017616818,-1119841713,1033400884,-1110929163)+W(11,1043348599,-1110261015,-1119239229,1032933914);WS(1057790316,-1113005641); +sum1=W(0,-1123468520,1016842734,1017823704,1031334797)+W(1,1029517379,1032276500,1024531558,1032934320)+W(2,1034968039,-1180462681,-1141354132,-1111663246)+W(3,-1096962432,-1102337515,-1112383277,-1115337892)+W(4,-1107161453,-1109372445,-1097660717,1060769665)+W(5,1062816796,1057344992,1050585827,1048852876)+W(6,1035442035,-1126387193,1045333479,-1097006056)+W(7,-1085875335,-1087615930,-1099229077,-1104188731)+W(8,-1107573447,-1110219956,-1111689634,1016331253)+W(9,1042106418,1042154624,1021430571,1007994773)+W(10,1040623159,1001956750,1034883047,-1121213099)+W(11,999707420,-1110655190,1027213229,-1125102461);sum2=W(0,1027505374,-1119743709,1022357321,-1129702556)+W(1,1025908250,-1116658238,1007287620,-1132286080)+W(2,1006384241,1032385395,-1110226975,1009992786)+W(3,-1117540770,1015280579,1013929491,-1123806249)+W(4,1038217397,-1124784904,1036163691,1038388564)+W(5,-1107551412,1043662427,-1110875284,1032548500)+W(6,-1102596332,1055108824,-1095998103,-1096068823)+W(7,1027585837,1052401764,-1112465838,1049275421)+W(8,-1088198084,-1101781911,-1077861124,-1082211809)+W(9,1067639721,1063419774,1041946916,1054953848)+W(10,1054112069,-1110486748,1063443275,1060625206)+W(11,-1095993202,-1084462256,1040943353,-1088060635);WS(1057314092,1031126097); +sum1=W(0,-1113264897,1042921300,-1118216326,1036778483)+W(1,1035020911,-1108928881,1036290288,1012907241)+W(2,1047286031,1038748523,1040626286,1048990343)+W(3,1036098930,1042428894,1016422504,1041504752)+W(4,1051515170,1044373061,1057172805,-1111196723)+W(5,1053560288,1053915059,1044112316,1048512334)+W(6,-1091122512,-1119263830,-1081529962,-1076778621)+W(7,-1085296972,-1112351005,-1100809115,-1107245185)+W(8,1035529026,1016709539,1043973191,1049229393)+W(9,1046938632,-1123285785,1035877806,-1123727583)+W(10,-1125355113,1029610636,1029771624,-1112976162)+W(11,1041831703,-1103970660,1044125996,-1123672296);sum2=W(0,-1110279027,1044898087,-1096945908,1039092196)+W(1,-1113241071,-1099008684,1044106833,-1103116396)+W(2,-1116888772,-1115916604,-1107202311,1045884385)+W(3,-1103988696,1049112986,-1123386226,-1134049769)+W(4,1033554595,-1111117443,1035778723,-1113256321)+W(5,-1115920774,-1139004677,-1112080343,-1114347803)+W(6,-1108669327,1045218355,-1103416606,1065794034)+W(7,-1090569433,1055599565,-1099737884,1044073709)+W(8,1015808739,-1106102431,1041666953,-1107247823)+W(9,1049716916,-1106016659,1031391070,-1108799013)+W(10,1027314221,-1116221606,1024714919,-1098987808)+W(11,1049758114,-1091770239,1053158291,-1105054228);WS(-1078536214,1004530797); +sum1=W(0,1027375859,1017444741,-1120029560,1000019140)+W(1,-1114543207,1013557197,-1122136338,-1148145247)+W(2,-1101920227,1031432968,-1106564803,1048371434)+W(3,-1118108517,1042631950,1018155212,1016114854)+W(4,1025777344,-1103056081,-1107107772,-1082038651)+W(5,-1087843395,-1090887738,-1103973545,-1102912795)+W(6,1044389645,1048716617,1051154454,1066595410)+W(7,1055824714,1054676989,1041035048,1016296812)+W(8,-1110651587,-1137653198,-1107166356,-1130046381)+W(9,-1105265945,1030116559,1023828021,1040191506)+W(10,1018050380,-1125959547,1019570356,-1125449965)+W(11,1033235496,-1126792065,-1122035417,-1142050258);sum2=W(0,1027035378,-1132701065,-1114259972,1024730711)+W(1,986229224,1013886009,-1129435432,-1141056234)+W(2,1026113022,1034348094,1019537869,-1139897757)+W(3,-1140805741,-1118691470,1009541569,-1129312440)+W(4,-1111907604,1044772326,-1115459713,-1083470341)+W(5,1024256637,1050967575,1013091981,1028089297)+W(6,-1117578886,987582920,-1091701771,-1064559027)+W(7,1083026821,1062853848,-1097816209,1036032976)+W(8,-1140538653,-1136739637,-1106970806,1035917626)+W(9,1051507274,1035548789,1030786995,-1102804079)+W(10,1018825264,1015195718,1029368182,-1129456736)+W(11,1025912688,-1107265712,1031335734,-1115863996);WS(1053759831,1032374114); +sum1=W(0,972229904,-1109228149,1034978575,1041049216)+W(1,-1120680758,1029299866,-1104501302,1034604409)+W(2,-1121671930,-1112583528,1034149296,1029443406)+W(3,1029497788,-1098177536,-1147362406,-1129221556)+W(4,1054724605,-1112974870,1061211455,1048871720)+W(5,1059772533,1052523382,-1143596105,1050895314)+W(6,-1092393035,-1101934908,-1092299422,-1093922438)+W(7,-1094240300,-1091878482,-1112394307,-1097371836)+W(8,1018308729,1027590122,1034030567,-1111847647)+W(9,1041914031,-1113968603,1028043992,-1126204095)+W(10,-1129466650,1029939172,-1113423424,1038901743)+W(11,-1106909549,1040006220,-1140269215,998375305);sum2=W(0,-1150066816,-1122485893,-1114773240,1024800634)+W(1,996682648,-1123997738,1019128023,-1127165963)+W(2,-1150466984,1032358015,1050624105,1086980496)+W(3,1049846439,-1116390866,1016213345,-1127449775)+W(4,1023864952,-1120268940,-1092046440,-1062089081)+W(5,-1092228228,1022750294,1015347232,1000268865)+W(6,-1110066210,1042589181,1028033997,-1086968029)+W(7,1024724796,1041929871,-1114433107,-1139900476)+W(8,1023825317,1027888694,-1151325172,1038366470)+W(9,-1121152696,-1118357792,1031614438,-1136800730)+W(10,-1124858867,-1130877326,-1135440218,-1140173368)+W(11,1022098295,1017805328,-1119866592,1025894920);WS(1063005484,1009613411); +sum1=W(0,1023879031,-1116658758,1016433014,1020845368)+W(1,1014732617,-1133265115,-1123204757,1010953149)+W(2,-1099686359,-1121736524,-1101192360,-1114633573)+W(3,-1095872969,-1106126199,-1114430117,-1135381594)+W(4,1052137768,1047373394,1060630207,1066103327)+W(5,1062822060,1059882369,1050777829,1058652475)+W(6,1046007565,-1096622041,-1088767007,-1084203279)+W(7,-1090088910,-1090037515,-1103091289,-1092699671)+W(8,-1104853008,1032552475,-1107092245,1041296218)+W(9,1027255591,-1131360500,-1122457924,-1108476770)+W(10,1005501772,-1119708225,-1118541917,-1116191290)+W(11,1022596005,-1115075910,1022253604,-1114779071);sum2=W(0,1018912922,-1115513506,1035927400,-1104590179)+W(1,1040736265,-1107721632,1025188211,-1112944230)+W(2,1027578843,-1122957333,1036987406,-1100032664)+W(3,-1110179624,-1125426330,-1103038285,1043904940)+W(4,1033809184,-1107632498,-1102289594,1055409420)+W(5,1055289786,-1112721987,1036015348,-1110109848)+W(6,-1094114890,1001948858,1056054406,1048553428)+W(7,1051787669,-1094744691,1032878358,-1118996080)+W(8,-1100264522,1024979575,-1110397259,-1121465059)+W(9,-1147035242,1045301422,-1131004626,-1124556646)+W(10,-1107937173,996744179,-1110541201,-1114033403)+W(11,1041331760,-1113161109,-1108457170,1028913131);WS(-1088267692,1058858468); +sum1=W(0,-1112379634,1029162995,-1140270752,-1141342278)+W(1,-1155361775,-1113272402,-1140210569,1015213304)+W(2,1030761249,1004146884,-1122297718,1040340278)+W(3,1036240851,-1129581456,1042224566,994119730)+W(4,1050799110,1045209037,1060358148,1057423488)+W(5,1058630580,1044230767,-1104611845,-1109863885)+W(6,-1099191401,-1095201623,-1091143388,-1083233902)+W(7,-1098879351,-1096101987,-1122560784,-1109785875)+W(8,1033839199,981108966,1043211072,1032118859)+W(9,1032700466,1030417559,-1140846885,1009738084)+W(10,-1111715307,1002675052,-1120236170,-1118812007)+W(11,1017441470,-1148456452,-1124250818,-1131671893);sum2=W(0,-1113443438,1023812788,-1131593767,-1112801638)+W(1,-1105757720,-1107427633,-1107137147,1049954034)+W(2,1021821461,1044300514,-1104994806,1060658961)+W(3,1044687616,-1087213560,-1093064102,-1093773442)+W(4,-1122246023,-1104002403,1038382254,-1099826888)+W(5,1066144433,1057721748,-1097329958,1039897892)+W(6,-1146734500,1024116650,1049088332,-1089766136)+W(7,1042354562,-1129092349,1044181933,-1105235988)+W(8,-1128559783,-1115812447,-1105739887,1025686404)+W(9,-1117250635,1035306954,-1106719387,1040800736)+W(10,-1125128801,-1134793082,-1131329759,1034755166)+W(11,-1114066084,1031417186,-1117543346,-1128306605);WS(1042978478,1051058289); +sum1=W(0,-1105382966,1035278676,-1102112151,-1102711504)+W(1,-1113404858,-1111458068,1038103836,-1101215220)+W(2,1032357083,1023966158,-1113794846,1052488610)+W(3,1046698475,1025992701,1042579843,1026938905)+W(4,-1099095273,-1110890773,-1087097191,-1081382120)+W(5,-1086454106,-1097860134,-1105233954,-1091436978)+W(6,1056839899,1050844654,1060126757,1063120271)+W(7,1060142827,1054395618,1048420817,1056719627)+W(8,-1122236410,1019140850,-1107056589,-1150461374)+W(9,-1103751812,-1120625160,1025690583,-1112415123)+W(10,1024938700,-1122653091,-1122892351,-1119829084)+W(11,1007453138,-1106500335,1032216339,1010325087);sum2=W(0,986675002,-1112567440,1033516168,-1097585273)+W(1,1031672616,1029453516,-1106591291,981423732)+W(2,-1098687074,1041166801,-1099338776,1019263552)+W(3,-1108963639,-1104454378,-1109440188,1024870634)+W(4,995475005,-1097111455,1062728692,1066654492)+W(5,1034345380,-1124466258,-1092068145,1048117247)+W(6,-1115454695,-1132868679,-1120015952,1054175336)+W(7,1038275134,-1096244103,1039104546,-1119846616)+W(8,-1110655697,-1114152579,1023628514,-1097107880)+W(9,-1118909665,1049130538,-1093717692,1042494451)+W(10,1018060844,-1101427932,1045275251,-1098419362)+W(11,1049612882,-1100742770,1000911598,-1140045927);WS(-1097071959,1072623846); +sum1=W(0,1026094363,-1114366565,1026372640,-1127140609)+W(1,1020533357,-1164090721,-1143600974,993477434)+W(2,1010541764,1023927408,1034504814,1038480008)+W(3,1046400295,1040252248,1040642843,1032065949)+W(4,-1087379998,-1100421531,-1091057687,-1086095524)+W(5,-1083615449,-1089701071,-1093225865,-1090227881)+W(6,1028105114,1051865478,1057630379,1064048287)+W(7,1061319210,1056141130,1049626241,1047950199)+W(8,1046169702,-1105971271,1041980470,-1104375598)+W(9,-1113258549,-1149976804,-1120849689,1048635489)+W(10,-1135291959,-1125008010,1012391943,1011497593)+W(11,-1126436590,1008261592,-1126913777,1026040178);sum2=W(0,1012042818,1021360395,-1107209227,1027378250)+W(1,-1105921842,1041772128,-1127367716,-1127019644)+W(2,1045767812,-1098807230,1044720012,1042281858)+W(3,1016599978,-1127223374,-1115783877,1027816090)+W(4,-1063490706,-1081789373,1074390906,1079115935)+W(5,1058048856,-1108782236,-1128008216,1032186898)+W(6,-1101778611,-1114664520,1049922132,-1094869567)+W(7,-1118592797,-1121088549,-1137516645,-1111496361)+W(8,-1112785819,1033999610,-1110057121,1045861970)+W(9,1034050759,-1129798306,1033434514,-1136389257)+W(10,1012780879,1021391529,-1130294258,1031106226)+W(11,-1122317121,1025125464,-1149825053,1031888403);WS(-1103312814,-1092017335); +sum1=W(0,-1127703091,1018146514,-1121799134,1017072510)+W(1,-1131539818,-1112727125,1017229265,-1109754009)+W(2,-1101144796,-1115460311,-1106383343,-1133230391)+W(3,1034901054,1027622014,1018005017,1034197373)+W(4,1054306333,1039997174,1024945271,-1088288960)+W(5,-1088630417,-1096972398,-1101045202,-1098488314)+W(6,-1126801713,1026063214,-1131110905,1059941407)+W(7,1061737047,1057455253,1048616129,1051714580)+W(8,1023075088,1027296474,-1132250026,-1113425894)+W(9,-1097522374,-1097018828,-1112216732,-1142469689)+W(10,989243788,-1122138660,1032388672,982272924)+W(11,1021266411,-1135487483,-1117699788,995701513);sum2=W(0,1015133861,1037113072,-1114822552,1028491873)+W(1,-1105557810,1038591890,-1105949948,1032708826)+W(2,-1105189044,-1115931822,-1098364789,-1113527921)+W(3,1024139573,-1112247318,1007564387,-1120342494)+W(4,-1093732269,-1102686481,1041653115,1065997875)+W(5,-1130473293,-1098512761,-1125828389,-1125733097)+W(6,-1094162786,-1113599737,1041635421,1064813540)+W(7,1037786550,1036196676,-1114108758,-1132225813)+W(8,-1109540616,1040400825,-1118060506,-1123044799)+W(9,-1105450383,-1106060901,-1118151575,1010062515)+W(10,1030009493,-1114813207,1027616765,-1116517245)+W(11,1021543889,1005718790,-1122858549,1029912177);WS(1054094679,1053313313); +sum1=W(0,-1133457438,-1120986711,1034987238,1028444909)+W(1,1035642130,1018062863,1034710931,-1149170946)+W(2,-1123263126,-1130558777,-1097984725,-1096198619)+W(3,1007426149,1002886242,-1123562906,1018181775)+W(4,1046955525,1034791245,1059693200,1056744813)+W(5,-1111414009,1030506913,-1113706235,1033357311)+W(6,-1124016519,1044418743,-1102062065,-1098120268)+W(7,-1111514230,-1104691680,1011520719,-1107703301)+W(8,1039131745,-1102726978,-1136653836,-1097784815)+W(9,-1121981368,1038384226,-1114621003,1012043028)+W(10,-1120644986,1007447622,-1119688622,-1150742701)+W(11,1028941155,-1124505481,1028268649,1016894461);sum2=W(0,988916677,-1137939637,-1123566910,1028209713)+W(1,-1123858844,1036944358,-1119538750,-1142606817)+W(2,1035831303,-1140903881,-1103092742,-1131746560)+W(3,-1101579019,1038814302,-1130948272,1038676356)+W(4,-1110571087,1038296707,-1107155945,-1117714466)+W(5,1038803820,-1103151768,1032643961,-1111989951)+W(6,1034464782,-1090860425,1056968489,1064742714)+W(7,1040557782,-1120375726,-1111036663,-1122089622)+W(8,-1106828560,1044389789,-1079651989,1050942503)+W(9,1043224862,-1130430804,1041889175,1014857001)+W(10,-1178538002,1041756630,1029915845,-1106236653)+W(11,-1110415601,1019097405,-1132733633,-1140337549);WS(1060301740,-1107262085); +sum1=W(0,980901136,1027361860,-1140723427,1026764890)+W(1,1040866884,1025665684,1033047081,-1120424813)+W(2,1034782831,1047173818,1039236098,-1167399456)+W(3,-1096504911,-1107799148,-1104388354,1042507977)+W(4,-1105836176,-1090641081,-1089836727,1057068694)+W(5,1061579759,1058017849,1050545524,1043225643)+W(6,1036556474,1050207945,1053103024,1041462691)+W(7,-1084387656,-1086651203,-1099258584,-1106352190)+W(8,-1123655719,-1104237805,-1097134658,-1168491986)+W(9,1041789973,1041962562,1042093191,-1107448273)+W(10,-1123449511,1032390687,1023266998,-1128069487)+W(11,-1111341496,-1121577073,-1128080260,-1118302731);sum2=W(0,-1120672932,1020434122,1029602171,986372169)+W(1,1039121856,-1113202257,-1139183469,1010867474)+W(2,1046006360,-1097339905,-1114812458,-1107596062)+W(3,1036462865,1042494496,-1097212089,-1111658779)+W(4,-1112452525,1059308780,1040180724,-1073685765)+W(5,1068230783,1060720662,-1116372590,-1096232759)+W(6,-1103760793,1054394959,1058139034,-1075031098)+W(7,1055263295,1065727212,-1106882983,-1102585430)+W(8,-1135937657,1038148088,-1103543044,-1098429000)+W(9,1051067274,-1106499347,-1127997619,998537328)+W(10,1037670355,-1114765629,-1120562291,-1131755817)+W(11,1034635900,1010504894,-1127537321,-1141626877);WS(-1096709719,-1109932402); +sum1=W(0,1015250582,-1109965037,1037158888,-1115453048)+W(1,1032345875,-1113173429,1033146133,-1109546082)+W(2,-1143431239,1015070528,-1094706154,1051852512)+W(3,-1107272167,1039101648,-1112986991,1034073405)+W(4,1041217222,1044707911,1032459556,-1103734188)+W(5,-1116721265,-1100636937,980311674,1017051268)+W(6,1009444904,-1099789672,1049449359,-1091866852)+W(7,1042112892,1051337808,1011811037,1035868647)+W(8,-1127867147,1028928427,1015515213,1049692098)+W(9,-1094357813,1036490203,-1118660177,1019523665)+W(10,-1115442975,1033219242,-1119289842,-1140261177)+W(11,1041543818,-1107580668,1027230184,-1121586498);sum2=W(0,-1129366500,1029756683,-1113040482,1041050942)+W(1,1019865458,-1130192114,1021094310,1011878989)+W(2,-1111869912,1029022998,1046043365,1028636589)+W(3,-1100561355,-1118786886,-1136660469,-1113939693)+W(4,-1114572049,1041454921,1063827282,-1088878874)+W(5,-1120053198,1037601458,-1121128994,1024511741)+W(6,1047691494,1051011830,-1075590857,1052419847)+W(7,1053136256,-1142379802,-1115896886,1033422229)+W(8,1024096486,-1094989992,-1094007689,1049374228)+W(9,1051405216,-1105102628,1030093181,1038213156)+W(10,-1112777200,1033382685,1046068934,1022134325)+W(11,-1104418826,1039472389,-1173694926,-1122209396);WS(1065853238,1014077745); +sum1=W(0,-1141216588,1026623353,-1128763228,1020370461)+W(1,1026101893,-1118113002,1032019108,-1113706417)+W(2,-1117433015,-1129058045,1039902504,1043759351)+W(3,1050608829,1042454284,1027449020,965645460)+W(4,-1094201799,-1096460535,-1083943142,-1077503527)+W(5,-1089716396,-1098731144,-1095714819,-1094767340)+W(6,1050233869,1049952264,1051933059,1055071872)+W(7,1055823041,1057515106,1050055875,1054942629)+W(8,1044254087,1008011942,1048823509,1025148605)+W(9,1040921250,-1120507502,-1149099066,1040832262)+W(10,-1138617969,1022594791,-1141149825,1032777398)+W(11,-1117303781,1030831063,-1131034510,1023411184);sum2=W(0,1024492456,-1126703609,1029353704,1036516578)+W(1,1032071462,-1107363712,1044306067,-1105180142)+W(2,-1107369605,1040389587,-1109233879,-1095300447)+W(3,-1104963978,-1106122650,-1143085570,1043865859)+W(4,-1114418679,1038677226,1043636997,1063429366)+W(5,-1101740776,-1097459892,1035238854,-1116890590)+W(6,-1102696165,-1115181151,-1104069114,1063594124)+W(7,-1098164193,1040620147,-1106357294,-1127904241)+W(8,-1133142225,-1114014523,-1122395696,-1091978649)+W(9,1053626887,-1097146692,1040976159,-1120794976)+W(10,-1122518916,1026327736,1035228514,1023044321)+W(11,-1116601496,-1130578705,1026795860,-1127926993);WS(-1088917996,1063906509); +sum1=W(0,-1110920777,1042151912,-1101936374,1005195703)+W(1,1032265367,-1103459368,1041691572,-1129700693)+W(2,1044506738,-1103723194,1033303784,1049511025)+W(3,-1113286290,1043019742,-1128222025,-1114181825)+W(4,1047786311,1032125650,1061302810,1034065915)+W(5,1048810800,1054491533,-1112859072,1049358361)+W(6,-1095080042,-1113114611,-1088574755,-1080208865)+W(7,1049193686,-1121283466,1024774526,-1147499681)+W(8,-1134941681,1025189266,-1115794445,1048946939)+W(9,-1126346531,-1103486336,1015955599,-1097425800)+W(10,1033765698,-1104090263,1041151454,-1113407178)+W(11,-1109067703,1044875416,-1121559327,1029016425);sum2=W(0,-1103461552,1050674327,-1104590141,1015549042)+W(1,1036919049,-1098769683,1046313441,-1112862464)+W(2,-1127991186,-1116051994,-1131508502,1050173609)+W(3,-1105608002,1039941075,-1101603735,1031505597)+W(4,-1120190757,-1113530372,1055990720,1072931527)+W(5,-1095048932,-1078020039,-1101033642,1010804308)+W(6,-1108916090,-1124692174,-1121470095,1046026095)+W(7,1050729023,-1084802111,1047911325,1034713295)+W(8,1012492564,1042343963,1032226081,1048814953)+W(9,-1098673970,-1101605152,-1113534935,1017021378)+W(10,1029245469,-1115385529,1026603353,1024686773)+W(11,-1108452621,1046452703,-1112756717,-1119772659);WS(-1128039792,1065254279); +sum1=W(0,949814928,1027171091,-1129242384,1031101353)+W(1,-1120975327,1003634843,-1144006416,-1123053628)+W(2,-1114341117,1031806764,1033646238,1018879791)+W(3,1042055949,1033681236,1023909046,1027677731)+W(4,-1094482850,-1095186291,-1085842430,-1092086861)+W(5,-1084252337,-1089087466,-1099056317,-1095496311)+W(6,1052398616,1051880795,1058904806,1068407459)+W(7,1055432619,1036562814,1039311896,1050962337)+W(8,1027872723,-1139824782,1010706555,-1098849364)+W(9,-1121195299,1023772639,-1126801378,1038931216)+W(10,-1155305313,1022544667,-1121892394,1040052675)+W(11,-1127339326,993927654,-1123991661,1005742098);sum2=W(0,-1120833032,1034915193,-1115307960,967112657)+W(1,1023925021,-1107476032,1033449936,-1132191993)+W(2,-1124763415,-1113475142,1025322201,1059271888)+W(3,-1102912552,-1118552210,-1103660545,1033898849)+W(4,-1118777010,1010824003,1064953874,1082807588)+W(5,-1080316189,-1064631277,-1110193476,1039205719)+W(6,1030229073,-1105412742,1042572184,-1098383492)+W(7,1054443836,-1098098835,-1121091158,1028111985)+W(8,1028911958,-1133618203,1022077590,1048790378)+W(9,-1103923621,1029953956,-1106218101,1036034024)+W(10,-1123843510,1030755234,-1135426163,-1113939962)+W(11,1038571089,-1109596012,1035405992,-1126376787);WS(-1100484014,-1082813103); +sum1=W(0,-1123138350,-1124738939,991988525,-1115403050)+W(1,1032429349,-1113715255,1024280877,1024090791)+W(2,1037916588,-1123209507,1049386547,1038702225)+W(3,1052139678,-1114440425,1033284897,-1105213156)+W(4,-1092840871,-1095165544,-1086369653,-1082690349)+W(5,-1080932794,-1104541586,-1091044852,-1098590565)+W(6,1048819422,1053647432,1054472273,1063735148)+W(7,1057734851,1057909982,1048946363,1057027323)+W(8,1042234192,-1117914254,1039202605,-1121098737)+W(9,-1124146173,-1120991811,-1116174764,-1140316975)+W(10,-1212876940,1018206961,-1120915541,1024686130)+W(11,1015928020,-1138122766,1018911880,1023234987);sum2=W(0,1017320792,-1115193567,1033153774,-1109723345)+W(1,1038092476,-1111785287,-1119671739,-1109901657)+W(2,-1151813795,-1117132961,1023133248,-1096979800)+W(3,1051436512,-1136600857,1043953938,1038440342)+W(4,-1114719136,-1104426322,-1094043595,-1067432541)+W(5,-1094705611,1084038773,1051561136,-1097692319)+W(6,-1127138406,1035777956,1044557822,-1081748159)+W(7,-1094662263,1059186895,1023890070,1021470996)+W(8,1024237362,-1122656452,1043828952,-1105451925)+W(9,-1118217110,-1118750811,1026839182,-1114305884)+W(10,1038691322,-1114810881,-1134215421,1025666138)+W(11,1023161212,-1141123106,1009024009,-1122422926);WS(-1090600151,1059961608); +sum1=W(0,1026132748,-1119499740,1009974340,-1113885561)+W(1,1031101992,-1111559238,1038517558,-1109274083)+W(2,1003856660,1023957057,1043713207,977342510)+W(3,1051525550,1025363409,1031878320,-1114083846)+W(4,-1086859502,-1105095800,-1089372619,-1080432315)+W(5,-1084623068,-1086083942,-1090836983,-1097114792)+W(6,1051724689,1035359281,1059175635,1059908410)+W(7,1060487798,1059822844,1051599439,1057278953)+W(8,1051693682,1030063117,1040699442,-1106762114)+W(9,-1114853678,-1116041416,-1130086580,1040974422)+W(10,1032934656,-1123043606,1034542394,1018557983)+W(11,1019132432,1031213982,-1150140386,-1138998830);sum2=W(0,992923986,-1162949315,1026898877,-1114052913)+W(1,-1129262506,1033577774,-1129225578,1036380420)+W(2,-1099561897,-1123994385,-1116860796,1033030662)+W(3,1024241717,1027801571,1041458479,1050404867)+W(4,-1105536701,-1114799541,1049791100,1035377948)+W(5,-1088177074,1049717575,1043978030,-1091169113)+W(6,1079165891,1071631223,1068780303,1075632919)+W(7,-1093777203,-1083766160,1029517847,-1083354335)+W(8,-1067147152,-1073660425,-1081838471,-1083671230)+W(9,1057542893,1057183721,-1103299573,1061807320)+W(10,-1122782084,-1122543983,-1095462698,-1097530520)+W(11,-1107750254,1032284006,1025982179,1016984746);WS(-1077101366,1062204989); +sum1=W(0,1030791972,1033145401,1041963978,974201395)+W(1,-1122207423,987140211,1038549201,-1110991006)+W(2,1034919675,-1109323772,-1109601924,-1098302775)+W(3,1049858413,-1163737350,-1104961646,1022472166)+W(4,-1119759728,1033209467,1053457281,1054965265)+W(5,-1085314770,-1111164798,-1103072597,-1115893275)+W(6,-1099266697,1032826652,-1084468746,-1116769210)+W(7,1055247733,1051122507,1043488164,1036206931)+W(8,1044609922,-1108657922,1049423472,1034832195)+W(9,-1104833109,-1113738245,-1121147841,-1131086146)+W(10,-1131275309,-1142019948,1005679697,-1125973710)+W(11,1038354000,1030630601,-1132893044,1033991117);sum2=W(0,-1128313262,-1111995834,-1111474816,-1108547758)+W(1,-1123519406,-1107039325,-1122872424,1034342977)+W(2,1013333880,1035550861,1047569009,1036006103)+W(3,-1104835579,-1119199538,-1113807123,-1111926114)+W(4,1041733323,1024909109,1049082846,-1093864056)+W(5,1049905793,1005924363,-1107099901,-1117079308)+W(6,1023499747,-1107108555,1042800306,-1137016284)+W(7,1032249988,-1146750815,1024429363,1029021112)+W(8,-1111312052,1015145454,1017141780,1013541080)+W(9,1034012446,-1119513572,1036805530,1021769214)+W(10,1026149469,-1188980193,-1123639612,-1132476264)+W(11,987971164,-1118671040,-1119021692,1010774610);WS(1062330988,-1108933484); +sum1=W(0,-1130422235,1014897395,1027643186,-1143835797)+W(1,1008148004,-1128962907,1015454424,-1140840472)+W(2,-1127744279,1022571909,-1103670303,-1110385841)+W(3,1042533684,-1104774725,-1116892960,-1113171223)+W(4,-1103583502,-1095189640,-1097916197,-1083565633)+W(5,-1085814590,-1117452294,-1099231943,-1103031657)+W(6,-1112967222,1057599524,1050533350,1066390108)+W(7,1059916677,1050496965,1049304867,1049771574)+W(8,1030687296,1033146447,1045948242,-1104991248)+W(9,-1098839314,-1114792086,-1127702342,1032045679)+W(10,1027221408,-1115561596,1024802772,1027456689)+W(11,-1125614226,1027191883,-1115468561,1026854932);sum2=W(0,1032895988,-1117467777,1028545567,-1111764526)+W(1,1041090350,-1115412116,-1125773241,1023304410)+W(2,1032830726,-1111744013,1005059811,984631841)+W(3,1049595248,-1107906030,-1128022386,1041765137)+W(4,-1115406541,1060942494,1047355779,-1080183554)+W(5,-1134532596,1035977506,1020817981,998580490)+W(6,-1088204952,1054289941,1071613570,-1077634808)+W(7,-1093147012,1042083474,1037668146,1032116542)+W(8,-1092446016,-1123665301,1060958044,1046926373)+W(9,-1113920155,-1097187857,-1142970826,-1125184917)+W(10,1031989945,-1104702594,1046230999,-1100189171)+W(11,1034621337,-1132922134,-1117116166,1022449461);WS(-1109331804,1042368707); +sum1=W(0,-1127022377,1024616740,-1123466393,-1123208698)+W(1,-1123129456,1019270569,981412042,-1140654132)+W(2,1017844485,-1131144083,-1107976561,-1113085828)+W(3,-1114039899,-1111910285,-1118232839,1022571624)+W(4,1059385318,1050963589,1060165431,1059271336)+W(5,1060839292,1056907678,1049849056,1053487153)+W(6,-1100795701,-1097056965,-1085607547,-1083778221)+W(7,-1087428756,-1094957746,-1097540376,-1103251894)+W(8,-1111987554,1029893237,1029216560,1039937652)+W(9,1032072458,-1114977786,1024925794,-1099334072)+W(10,1016900750,1023074109,-1112887422,998408382)+W(11,-1132276000,1030127674,1027413302,1016237783);sum2=W(0,1032849952,-1124884727,-1113876395,-1129227720)+W(1,-1120368220,1017198470,-1139825528,-1146042855)+W(2,1026055449,-1115329827,1027815845,1037903820)+W(3,1033732250,-1135699996,999495607,-1129930944)+W(4,-1062565523,-1069645041,1071954840,1082661778)+W(5,1074466947,1029601901,1010255452,1032971494)+W(6,-1095655110,1045607629,1038549538,-1099195860)+W(7,1038448988,-1098438651,-1108984513,1036170224)+W(8,-1117249787,-1117682124,1041120073,1049745271)+W(9,-1117133911,1028175479,1021673198,-1119888169)+W(10,1033345650,-1126204236,-1111681252,1027383795)+W(11,1003632367,-1122462785,1028818665,1008778484);WS(-1115348316,1054745777); +sum1=W(0,-1137232980,1010567825,1027515738,-1129778165)+W(1,1031078129,-1163675813,1021335208,1015357019)+W(2,1036166838,1015838740,-1156212270,-1111605669)+W(3,-1105267814,-1129353779,-1109102196,1044530957)+W(4,1049991788,1049110157,1058008076,1064241460)+W(5,1060214194,1054590870,1041116785,1051902330)+W(6,-1091675395,-1096298109,-1087264777,-1084812083)+W(7,-1090012802,-1089909917,-1099321920,-1087098097)+W(8,1017816583,1034100235,1034455816,1015442096)+W(9,1038960299,1024747424,-1128935590,1001621141)+W(10,1029575560,1027659359,1022248439,1022178737)+W(11,1027280241,1032358751,-1140454872,1023518060);sum2=W(0,-1165172934,1024206556,-1116697030,1027518769)+W(1,-1114129087,1038375004,-1112102389,1033334280)+W(2,1029679520,1020162972,1034059275,1040171419)+W(3,1027996817,-1110434123,1034335827,-1129105068)+W(4,-1126280148,-1122180110,997668227,-1097026624)+W(5,1034726751,1040744343,-1102815825,-1107441727)+W(6,-1133513625,1032751166,1058808820,1078058683)+W(7,1074823993,-1082346775,-1066028315,-1081349721)+W(8,1007295249,-1123729058,-1106696521,1051253388)+W(9,-1129919188,-1130957332,-1106067749,1046963831)+W(10,-1112190701,1031911051,-1130859572,-1110596693)+W(11,1030310076,1020514684,-1120038362,-1140190249);WS(-1106429870,-1094013011); +sum1=W(0,-1180060253,1010730896,1021824818,-1126648308)+W(1,-1129917792,-1130361130,-1120274467,-1140710069)+W(2,1032914805,-1122572746,1007289698,1032028260)+W(3,1028442598,1044381070,997655159,1048974915)+W(4,1051659804,1041447962,1049003466,1055000463)+W(5,1028832887,-1108621431,-1127588999,-1092428073)+W(6,-1083977393,-1096070845,-1090427610,-1110426966)+W(7,-1154202266,1047276227,-1106909952,1037115308)+W(8,1044666432,1042077981,1040702780,1039434940)+W(9,-1143541158,-1126798128,1034262401,-1116914978)+W(10,-1143253052,-1112889935,1019043703,-1121648024)+W(11,-1121855216,1025638626,-1112957869,1027653084);sum2=W(0,-1113021585,1027309129,1040557912,-1105312463)+W(1,1045635393,-1102513438,1027399099,-1114789238)+W(2,1044056205,1042644451,-1130917417,-1097839840)+W(3,-1093830389,-1101732547,-1116545436,1035602021)+W(4,-1096040530,-1098848264,-1086782093,1066533545)+W(5,1047866369,1049511378,1054444603,1045074348)+W(6,-1099894114,-1100852865,1055980834,1060955207)+W(7,1049480207,-1136131482,-1099150452,-1089010378)+W(8,-1101136816,1051352325,-1094431966,-1105883820)+W(9,-1100511063,-1095199310,1057783348,-1105061215)+W(10,-1129192316,-1127314210,1001033976,1028457481)+W(11,-1109915970,1041484506,-1111537389,1038428609);WS(1043891118,1068855714); +sum1=W(0,1034864935,-1115119790,1021640868,-1116826163)+W(1,-1131811026,1023733166,-1143217636,-1132040205)+W(2,-1116934668,-1132968331,1038582262,1007221512)+W(3,1042862352,1036137865,-1140157826,-1132089051)+W(4,-1092449819,-1094480060,-1087769325,-1085866861)+W(5,-1087019235,-1090795981,-1096174840,-1088777568)+W(6,1054927906,1036212657,1059302628,1065404307)+W(7,1060871017,1058788692,1054585007,1058320673)+W(8,1034556804,-1105343195,1039390277,-1118670257)+W(9,-1097654326,-1110180471,-1103987387,1039274926)+W(10,-1137767170,-1110944332,1007166673,1000130184)+W(11,-1149095244,1038210141,-1123846591,1033742658);sum2=W(0,-1109312558,1016877071,-1119267190,1012463989)+W(1,-1126846961,-1130793473,1028514185,987754923)+W(2,1043524956,1022447527,1041115214,-1113751024)+W(3,1044302697,1017381631,-1118188819,1030898373)+W(4,-1128190925,-1112207078,-1098728904,-1096567460)+W(5,-1103900959,1042180588,-1098746809,1045698067)+W(6,-1098627702,-1106898612,-1125515089,1069702771)+W(7,1067943590,1068665203,1066385707,1053793920)+W(8,1046310591,1038513036,1034661588,-1085518745)+W(9,-1080776989,-1076263106,-1082060374,-1093259035)+W(10,-1109532722,1007593597,-1120394532,-1104054586)+W(11,-1120974914,1042247803,1009589981,-1114854661);WS(-1087649964,1019782291); +sum1=W(0,-1120416323,-1143853715,997344379,-1117444008)+W(1,1021907901,-1121005123,1024251314,-1131127160)+W(2,1030168161,-1112895868,1041161399,-1109107148)+W(3,1047711365,-1121138472,1000308143,1016698342)+W(4,1040415828,1040272853,-1108639376,1066099001)+W(5,1016783474,1034911086,1025062450,1039033917)+W(6,-1105270513,1031966316,-1088122706,-1107599501)+W(7,-1089416651,-1111272734,-1107120316,-1102333873)+W(8,1024428446,-1115504066,1050439898,-1101667648)+W(9,1046888529,1033038819,-1142414472,1024070769)+W(10,-1138699736,-1138905653,986611002,-1107645603)+W(11,998160367,-1138080961,1016114481,-1128756052);sum2=W(0,-1107127477,1033768126,1023416069,-1125558334)+W(1,1043030557,-1118774605,-1151915405,1000627574)+W(2,1040784536,-1100939724,-1105075327,1031863699)+W(3,-1103416126,-1104742149,1042707477,-1121719211)+W(4,-1117663793,1017594321,-1107862291,-1098589794)+W(5,1051532765,1047503953,-1106456825,1014542959)+W(6,-1112675945,1057262150,-1072566694,1078638992)+W(7,-1086195181,-1109470897,1041105499,-1106760943)+W(8,1039537683,-1092150404,1066290117,-1077578123)+W(9,1053259006,1050584179,-1103867215,1033290657)+W(10,1025325994,1019337948,-1099590626,1051733383)+W(11,-1119314417,-1100419866,1038050610,1002291590);WS(1061891500,1029739432); +sum1=W(0,-1120639769,-1135804195,-1111424495,1029738303)+W(1,-1117498485,-1118615961,-1125527056,-1118385394)+W(2,-1106216192,1006283635,-1105829118,-1090566706)+W(3,-1116262763,1034396863,1019261400,-1120846617)+W(4,-1113834067,-1103570763,-1096510251,1051808376)+W(5,-1092264601,-1100309453,-1103214946,-1103884676)+W(6,1044238166,991333090,1059958553,1070740438)+W(7,1055146526,1034609097,1035571491,1043753671)+W(8,-1114217922,-1139025510,-1105864021,-1094764771)+W(9,-1102695282,-1115698885,-1137185181,-1118241703)+W(10,-1131739160,-1118882723,-1144807936,1034612526)+W(11,-1134494805,1017541191,-1114134173,1003240643);sum2=W(0,-1121600381,1006302792,-1119262688,1002488024)+W(1,1029037035,1026568605,-1136033516,1023468893)+W(2,1026550907,-1138054916,1026195583,-1109251816)+W(3,989985520,-1119850715,1023268674,-1113487368)+W(4,1038640235,-1115693397,1049140618,-1070322023)+W(5,1050244555,-1111337441,1034795019,1032357843)+W(6,-1118247849,1032667651,-1131891756,1075955836)+W(7,-1093462820,1039467523,-1123631905,-1111383976)+W(8,-1129506938,-1150824496,1032667233,1037796079)+W(9,1041966968,-1119306593,1011205316,-1140765060)+W(10,-1121040584,1022873234,-1116879102,-1123674716)+W(11,1023067742,-1115823182,1030765775,-1117038411);WS(-1084563692,-1094583093); +sum1=W(0,1022703229,-1162852794,-1132568844,1021772616)+W(1,1024085850,996545514,1026223997,-1146052282)+W(2,1012279186,-1124105959,1040618577,-1104495965)+W(3,-1108936808,-1134036365,-1117471057,-1121618798)+W(4,1016172182,1043937588,-1096721723,975997096)+W(5,-1105257082,-1119752408,1035927703,1030206390)+W(6,-1118740542,1029178707,1047241030,1058138797)+W(7,-1098942649,1033384955,-1119041259,-1135741956)+W(8,1030161881,-1113029519,-1110742685,-1095587800)+W(9,1044167852,1030217107,1033396614,-1114495566)+W(10,-1118949361,1029291849,1002005802,1026228226)+W(11,-1121437018,-1128298663,-1127843472,1024441958);sum2=W(0,1025430445,1022296570,1036981025,-1113204042)+W(1,1015494893,-1113488118,-1127432409,-1122316989)+W(2,-1154040649,1041313314,-1095051054,1045521896)+W(3,-1140159290,1036274902,1033705522,1014652738)+W(4,-1116838887,-1089338077,-1080092115,1068042633)+W(5,-1123762249,1036460009,-1115504399,1034428960)+W(6,1050769250,-1110563158,1047738904,-1105725339)+W(7,1046459196,-1099991734,1035671600,-1109634740)+W(8,-1101164186,1049390351,-1105225557,1058198082)+W(9,-1097909404,1042800199,-1112380024,1019626217)+W(10,1025324860,-1110459458,-1123670947,-1102419914)+W(11,1036400862,-1121611661,1029427990,-1122111247);WS(1070570422,-1118483066); +sum1=W(0,1018165832,-1132852684,-1139725729,-1109730565)+W(1,1028156415,-1118139972,1024357779,-1122455036)+W(2,-1110069429,1031499417,1040072889,1042906054)+W(3,1042919301,-1168228894,1039947243,-1103975241)+W(4,-1099959964,-1099020957,-1084885570,-1081528768)+W(5,-1083523477,-1091258848,-1095225642,-1094692227)+W(6,1060331110,1050128623,1059366093,1062372980)+W(7,1058454089,1058887102,1048717802,1057283318)+W(8,-1162935118,1032275410,1019497086,996066926)+W(9,-1118811556,-1112630512,-1117991970,998336395)+W(10,-1139421786,1009522871,-1140197674,-1117746023)+W(11,-1128372287,1014662756,-1119179525,1028666043);sum2=W(0,1041833519,-1108615966,-1125372171,-1161988394)+W(1,-1113215633,1034531971,-1118383435,1028261725)+W(2,-1105638218,1028972955,1029956673,1048735800)+W(3,1034458457,1025753183,1036634769,1000882603)+W(4,-1090712556,1051586707,1040982790,-1113315600)+W(5,1025381303,-1116357686,-1096961046,1047278155)+W(6,-1068172350,-1062545743,1058445980,1081890452)+W(7,1078990875,1057946443,-1129266047,1020805991)+W(8,1053466473,-1089644697,1044082250,1021891615)+W(9,1047100697,-1138523317,-1118643722,1003167691)+W(10,1031038629,-1109024185,-1115541422,-1110157560)+W(11,1034093689,-1121128958,-1164400298,1023430939);WS(-1086946092,1067745931); +sum1=W(0,-1129718754,1029399808,1034551451,1031195606)+W(1,1040134022,1033121193,1023151712,1042343314)+W(2,1043160110,-1107060738,1035261538,-1095383669)+W(3,-1133919947,-1122710934,-1107305618,1042006276)+W(4,1057051220,1052187432,1056679450,1065908691)+W(5,1053194351,1055695833,1050664148,1051480109)+W(6,-1086793423,-1093519641,-1086890615,-1082115172)+W(7,-1091092163,-1087806651,-1106762967,-1086763775)+W(8,1029510552,1041235060,1027399596,1028581668)+W(9,1039541441,1022886169,1035840335,-1123269599)+W(10,1019782728,1028876859,-1121687640,-1151056709)+W(11,985161115,1032179179,-1137650955,1023858088);sum2=W(0,-1092038506,-1100127293,-1076970891,-1074419095)+W(1,-1072137471,-1071882845,-1075499422,-1077760287)+W(2,1049598436,1048639033,1064718435,1072396257)+W(3,1071503744,1074270589,1071966648,1067893220)+W(4,1043882093,1037661877,1059313512,1057486689)+W(5,1051417643,1058040444,1034550731,-1109701446)+W(6,1042320103,-1103044471,1034035103,-1104719409)+W(7,-1111075093,1044428409,-1105998171,1040427981)+W(8,-1131832297,1002123811,-1103733932,1041582287)+W(9,-1115120295,-1139439905,1008560441,-1112073274)+W(10,-1121740952,1029198842,-1115216799,1010136401)+W(11,-1128000009,1024386386,-1120184167,1030441594);WS(-1081254198,-1103496580); +sum1=W(0,-1115414444,1041339642,-1098407452,-1130637434)+W(1,1020760807,-1101995566,1047565230,-1100079212)+W(2,-1146587219,-1098606506,1050459360,1042214179)+W(3,-1117423418,1034598934,-1122745995,1024450296)+W(4,-1093427101,-1097683981,-1091994231,-1078168847)+W(5,-1095228700,-1092752622,-1097351785,-1094816186)+W(6,1048836291,1057498447,1058816906,1061921355)+W(7,1063391143,1049596874,1055225025,1057483350)+W(8,1038644661,-1144521152,-1117884339,1040740783)+W(9,-1099277734,-1125383814,-1125503451,-1112883619)+W(10,1040942563,-1102869832,1036627839,-1165859686)+W(11,-1107645994,1047950513,-1104517417,1038686359);sum2=W(0,-1101463653,1049429767,-1128244554,-1113723320)+W(1,-1100253783,-1100739127,1041910404,-1105778187)+W(2,1057761413,1067192921,1075421514,1075836777)+W(3,-1088665878,1016894214,-1116933337,-1111337535)+W(4,-1092703936,-1078098525,-1071536845,-1077415283)+W(5,1059548308,1051692516,-1101242161,1048285068)+W(6,-1109493923,-1139460835,1039603395,-1087182285)+W(7,1034610843,-1117875445,1013931579,1038460759)+W(8,1041760680,1028945771,-1114414573,1045554670)+W(9,-1106673179,1032645955,-1122014712,-1113595007)+W(10,1014720459,-1117756514,1016362862,-1118637934)+W(11,-1125369728,1027339291,1013909643,-1124961818);WS(-1089093868,1047195432); +sum1=W(0,-1139038025,-1146634508,-1107247574,-1111039036)+W(1,-1111569431,-1131070116,-1123633457,-1125658710)+W(2,-1108646892,-1102493258,-1102675263,1027299238)+W(3,1043334313,1035038251,-1130835530,1006218639)+W(4,1042227448,1050027260,1055627170,-1094097439)+W(5,-1086063146,-1091453053,-1104540112,-1100496626)+W(6,-1116853265,-1113152371,-1102292967,1059178599)+W(7,1064850945,1055758905,1047069456,1028822677)+W(8,1032512066,1037772585,1040310103,-1120135685)+W(9,-1097054397,-1107670363,-1109953256,1033685440)+W(10,1015754506,-1111624526,-1122052409,-1123630421)+W(11,1035574535,-1126001639,1015067608,906381938);sum2=W(0,-1103632983,1043805370,-1100282419,1043204826)+W(1,-1107284068,1032596944,-1115324019,1038389706)+W(2,1051248459,-1102825598,-1110573499,1027245233)+W(3,-1115422824,-1088944566,-1119815045,-1103855212)+W(4,1050224986,-1106748849,-1142028319,1068200484)+W(5,-1110893073,-1082511144,-1101546175,-1099926119)+W(6,-1112111441,-1107415409,1047715488,1064575785)+W(7,-1116519441,-1166081973,1033478296,-1112155627)+W(8,-1114055425,-1113209339,-1106125891,1034756297)+W(9,-1121811913,1036646608,-1139772871,1042197713)+W(10,-1111599379,1037386114,-1107474855,1042201726)+W(11,-1115818225,1036836551,-1107371535,1026011708);WS(-1121781432,-1075996235); +sum1=W(0,-1139185884,1017932812,1031934942,986151814)+W(1,-1164665422,1000199096,1007298263,-1140438078)+W(2,-1104344139,-1106763371,-1097501556,-1122902443)+W(3,-1153685131,-1127990679,1001735501,-1113474827)+W(4,1055178280,1050633065,1061458986,1056941803)+W(5,1057254916,1045616484,1030315686,1046908556)+W(6,1023675446,-1102467779,-1098857564,-1087567683)+W(7,-1091469811,-1104204108,-1129857478,-1103515070)+W(8,-1115352921,-1113788396,987917899,1038547421)+W(9,-1108760371,1011665321,-1121847517,-1118109260)+W(10,-1116105386,-1134059780,-1113912527,-1136836585)+W(11,1007170123,-1128021832,-1154396360,-1121041198);sum2=W(0,-1168649543,-1129109975,1016893178,-1132018102)+W(1,-1117453381,1023462612,-1106957470,-1115823387)+W(2,-1097479461,-1104465921,-1103938775,-1118749694)+W(3,-1115486085,976518647,1025546665,1034975399)+W(4,1049098480,1049155382,1057022497,-1098731951)+W(5,-1119719509,-1106384437,-1098317799,-1105263623)+W(6,1042706476,-1102354715,1043506300,-1097087336)+W(7,1057524747,1036026738,1045328977,1035074429)+W(8,1041988609,-1112820525,1047765539,1046909100)+W(9,-1100642605,-1121071990,-1106523641,1003192501)+W(10,-1106980555,-1122042062,-1105649317,1031531696)+W(11,-1114531186,1040948740,-1113359258,1033488186);WS(1058868844,1053114578); +sum1=W(0,1019520880,-1122446279,1037061470,1025396381)+W(1,1029402067,1031841884,-1120186199,1033549944)+W(2,1047026923,-1120049453,994701546,-1104790763)+W(3,-1104820950,1021084025,-1105237507,1009185118)+W(4,1040716289,1048040834,1059285152,1063349990)+W(5,1062179110,1056787146,1046529242,1057448647)+W(6,-1095841007,-1093651986,-1089525095,-1081113852)+W(7,-1086213616,-1087503095,-1091401861,-1088312360)+W(8,1020793813,1039005404,1046415125,1040363303)+W(9,1045703966,1041196477,999605293,1036113571)+W(10,1026453035,-1117418946,1019785277,-1114838686)+W(11,1030676884,1024749253,1004229292,1022861598);sum2=W(0,1050427341,-1106859908,1035861035,-1112488680)+W(1,1032409135,-1122621450,-1104767713,1046587865)+W(2,-1089070569,-1111523090,1043538575,-1097196972)+W(3,1036654054,-1133854060,-1130574088,-1093068011)+W(4,1053219089,1052246278,1059060280,-1088179143)+W(5,1017346040,1043005089,-1092034159,1052143300)+W(6,1067490860,-1093125710,-1078649576,-1087268097)+W(7,1059384755,1062938540,-1093321870,1059539225)+W(8,-1080930470,-1078811541,-1074777053,-1075643449)+W(9,-1124572738,1049929252,-1112625720,1059287102)+W(10,1058659628,1066232343,1073277874,1065823003)+W(11,1062269032,1043425453,-1092663388,-1098215774);WS(-1074642550,1059001037); +sum1=W(0,1033877849,-1114814273,1017602926,-1122785432)+W(1,-1119942606,-1121541554,1004629641,-1103073299)+W(2,-1105864948,-1133959838,-1106724665,1042832010)+W(3,1046400581,1036804396,1032924291,1039804561)+W(4,1040506928,-1108476642,-1098100854,-1084427489)+W(5,-1083890617,-1088670813,-1090515058,-1095458045)+W(6,-1096349630,1023714759,1055335876,1065396984)+W(7,1062559324,1061684023,1051195620,1054342111)+W(8,1046552293,-1108357401,1032280783,-1132282059)+W(9,-1113686945,-1104721044,-1110306392,1031943308)+W(10,-1110243859,-1127057913,-1147216585,1033899323)+W(11,1032718711,1025273824,-1122497752,-1121848889);sum2=W(0,1024273115,-1131612410,-1107407950,1041256788)+W(1,-1117121277,1031505312,-1110072407,1016793154)+W(2,1021686194,1025348247,-1105777061,1042238427)+W(3,-1126779625,-1118046720,-1118330488,1027338756)+W(4,1043888107,-1101286924,1048538591,-1090332406)+W(5,1053208564,1043322093,-1135252559,-1116082242)+W(6,-1108335658,-1122239076,1046097166,1036931728)+W(7,1040874893,1040745205,1050743072,-1096125238)+W(8,-1077891718,-1091711743,-1097181377,1065426853)+W(9,1063431633,1040529954,-1097546746,1050690616)+W(10,-1110849641,-1111108183,1033944270,-1111979954)+W(11,1039617071,-1105370761,-1122096807,-1122718137);WS(-1088674604,-1128666815); +sum1=W(0,-1123914807,1016031116,1014718188,1024027612)+W(1,-1145356432,1024193015,-1124389866,1032770888)+W(2,-1112902532,-1154837176,-1114821559,-1098901213)+W(3,-1103324234,-1099251759,-1119376425,-1101826270)+W(4,1031043843,1033184452,1015481863,1054517603)+W(5,1051928805,1059978813,1047372601,1062901239)+W(6,1051063687,-1131397783,1027540319,-1102428675)+W(7,-1094753613,-1100081596,-1110958225,-1101878062)+W(8,-1094561666,1025159063,-1102063788,-1104802482)+W(9,1021380397,-1111732847,-1154253637,-1113334654)+W(10,1018478931,-1134237698,1024172061,-1126359028)+W(11,-1133861065,-1114031158,1028470484,-1114369951);sum2=W(0,-1125911137,1012595671,999266341,1044288444)+W(1,-1101165077,1041147790,-1113177198,1025832748)+W(2,-1108931889,-1114639139,1007405169,-1110292957)+W(3,1050109344,1041510968,1029583838,1046353900)+W(4,1017628143,1032292317,-1114156858,-1067836662)+W(5,-1072172899,1037860217,1074693740,1081403750)+W(6,1050970701,-1128469007,-1110785518,-1074929312)+W(7,-1105301985,1044362436,1048694785,1057358913)+W(8,1035307535,-1112594616,1028698628,-1112320536)+W(9,1032862316,-1133865234,-1121233078,1015908463)+W(10,-1132880011,1026392505,-1126668834,1035975658)+W(11,-1115294669,-1122721591,1027549527,-1114367420);WS(-1092184279,-1114774309); +sum1=W(0,-1112548452,-1120800919,-1114639366,1008341430)+W(1,1009522319,-1120506536,1034801619,1022706306)+W(2,1035183681,1038305887,1043708422,1037535198)+W(3,-1098020135,1029108045,-1128765878,-1106461058)+W(4,-1114927434,-1101125062,-1087724142,-1103312811)+W(5,1062809460,-1118967585,1002077113,1043448960)+W(6,1044352162,1039166894,1063427286,1034792975)+W(7,-1088121787,-1115071968,-1114196826,-1129024277)+W(8,979364527,-1131609361,-1093459700,1048665209)+W(9,1043037714,1023205859,1033949151,-1126884683)+W(10,-1115173597,-1182492945,1021495134,-1113251558)+W(11,-1113757330,-1113409875,-1123554950,-1115469664);sum2=W(0,-1130731300,-1146462793,-1114036842,1017173194)+W(1,1027612469,-1121343755,1027895615,-1154268081)+W(2,-1113218164,1028824397,1013989596,1034818358)+W(3,-1104368005,1040334859,-1123082454,-1123775916)+W(4,1024876637,-1129593633,1044891209,-1101530532)+W(5,1049606516,-1097048862,1042764886,-1113704648)+W(6,-1112264614,-1113338336,1058622224,-1105838439)+W(7,1050794194,-1102338893,1040822444,-1122592353)+W(8,-1099018413,-1111675537,-1088855347,1059579881)+W(9,1042736448,1043492825,-1121501222,1034905054)+W(10,1026854381,-1102804304,-1102462733,-1108694945)+W(11,-1114432119,1019755962,-1122392540,-1119817837);WS(1061153836,-1122742154); +sum1=W(0,1027853554,-1115291137,-1171221910,-1112977164)+W(1,-1121554637,1022714404,-1157881362,-1123187178)+W(2,-1109089440,1043116226,-1138258466,1050791197)+W(3,1034471002,1041098678,-1134239506,1034237593)+W(4,-1102650256,-1115210274,-1112757431,-1077890273)+W(5,-1082648980,-1093251577,-1097764996,-1092621429)+W(6,1051082942,1047414994,1055597733,1055540065)+W(7,1061271560,1053866013,1044732088,1032996986)+W(8,1027843188,-1112215273,1034632359,1042514461)+W(9,-1131618020,1046515591,1036747322,1043087924)+W(10,-1131011401,-1119605372,-1126942769,-1126698730)+W(11,998349933,1025132479,-1120958927,984532249);sum2=W(0,1031101174,-1132731961,1022986308,1017601076)+W(1,-1126674740,1022398052,1013813081,1010235161)+W(2,-1102026314,1038074007,-1092900468,1030590838)+W(3,1001758673,1001713969,-1140283033,-1138091097)+W(4,1042272104,-1090146581,1028046198,1054179894)+W(5,-1096188072,1035923987,-1106500726,1036670019)+W(6,-1126868316,1042331882,1039425711,1068886648)+W(7,1049555295,-1096410864,1036573795,-1105222854)+W(8,1028240358,1036936531,-1122656394,1039233571)+W(9,-1086618714,-1090080092,-1110072380,-1134061337)+W(10,1023923290,-1128194324,-1114483483,-1108833787)+W(11,1026905222,1029729918,1035325123,1035525391);WS(-1098883799,1037141561); +sum1=W(0,-1114839991,1029657918,-1116594483,1034543274)+W(1,1026816074,-1140770618,1035386535,1007197468)+W(2,1039141586,1034970850,1048999812,1026227619)+W(3,-1103366664,-1115755155,-1109617409,-1117505278)+W(4,-1110021469,-1090767256,-1089859629,1007604554)+W(5,1063309440,1050338841,1049028980,1050252341)+W(6,1020247259,1029681923,1058872566,-1100094273)+W(7,-1090400131,-1090199858,-1104209655,-1101914812)+W(8,1030453625,-1119339247,-1104869706,-1106749124)+W(9,1040832320,1023759014,1040157646,1034144506)+W(10,1040211480,-1126798193,1041448405,-1123771570)+W(11,1006844457,-1131945671,-1115455274,-1106217213);sum2=W(0,1003211606,-1137674963,-1151639180,-1126381316)+W(1,-1125497686,-1120928387,1024650751,-1121709003)+W(2,-1120528483,-1120827669,-1113012012,-1125167698)+W(3,-1133545211,1042115577,-1111755343,1034768106)+W(4,-1156174412,-1165578649,1045965141,-1143882022)+W(5,-1157195276,-1139515595,1024020315,-1128894336)+W(6,-1122088448,1021421814,-1108742643,1025314463)+W(7,1048741047,1042307479,1028526161,1033940928)+W(8,1034591096,1046263423,1043768035,1048434617)+W(9,-1100558843,-1111490489,-1106766859,-1105393784)+W(10,1008615371,-1109822394,-1107512724,-1102660599)+W(11,-1103528899,-1116374767,1031989982,-1146160726);WS(1056068055,1054753321); +sum1=W(0,-1151415881,-1148496799,1010657956,1024019466)+W(1,-1130137728,1008503186,-1132133255,1035499631)+W(2,1039080395,-1110003853,1010453293,1036235820)+W(3,1020552269,1036573197,-1115513116,1040242409)+W(4,1057552055,1043835198,1059020393,1056043521)+W(5,1059247988,1054798584,1050516586,1047345767)+W(6,-1089028090,1042243518,-1089501818,-1077848098)+W(7,-1085601017,-1088101382,-1102383812,-1092379525)+W(8,-1115248008,1050869997,1038857744,1040563886)+W(9,1031869090,1014726271,1037313809,-1116861746)+W(10,1035025164,1014222010,1019596694,-1121658024)+W(11,-1123056704,1035081577,-1137744617,1008326318);sum2=W(0,1028355794,-1106782132,1035193429,1019490884)+W(1,-1103311494,1051099266,-1107701072,1017055868)+W(2,-1096807405,1053669968,-1113415499,1045145961)+W(3,1033457423,-1105194567,-1111393110,995616995)+W(4,1040605863,-1138391825,1054131819,-1117197986)+W(5,1014178849,1043284247,1045435457,-1110630971)+W(6,1067941768,-1075220438,-1088459045,1059082808)+W(7,1050105229,-1121773074,-1120483817,1023829774)+W(8,-1077104108,-1095467240,-1094157882,1063065831)+W(9,1061761756,1042603721,-1116379229,1044996767)+W(10,1052817152,-1103015841,1049259157,-1103440804)+W(11,-1095094287,-1122898552,-1109769641,1018464332);WS(-1081368566,-1084412265); +sum1=W(0,1027068306,1015688387,1033201483,1018141039)+W(1,1032237687,1022250212,1019999841,1019305877)+W(2,-1116002144,-1139602460,-1116483849,-1108067395)+W(3,-1114781410,-1101031910,-1110135922,-1115253585)+W(4,1048181720,1048418201,1059204754,1059054739)+W(5,1060863016,1054995541,1048891912,1054003721)+W(6,-1097381330,-1109028275,-1086309497,-1080843359)+W(7,1035809139,-1090938969,-1097995920,-1098655035)+W(8,-1110979184,1018111780,-1126061147,1023153354)+W(9,1043786804,-1102361409,1017536656,-1110370680)+W(10,1021378954,1036715310,-1118145977,1024269909)+W(11,1014428471,1015803518,1027639288,1026153225);sum2=W(0,-1105480981,1035973965,1037165381,-1106311589)+W(1,1052000177,-1104974154,-1120302417,1040627526)+W(2,1050460434,-1096496755,1049140757,1006710678)+W(3,-1091756558,1044207757,1032159893,-1100748342)+W(4,-1098849709,1051612828,-1090898849,1040931379)+W(5,1058463605,-1090778289,1039812947,1045155050)+W(6,1048076097,-1090117310,1053634690,1066845841)+W(7,-1077185739,1058534342,-1102438650,-1096398368)+W(8,1035320005,1047120319,1021130333,-1083953982)+W(9,1057459457,-1091684787,1041032826,1045504944)+W(10,-1105501338,-1108725217,1039969785,1046728781)+W(11,1038345201,-1141278071,1040363142,-1109297232);WS(1040286894,1035975353); +sum1=W(0,-1171293815,1023182418,996039142,-1137235964)+W(1,-1135192533,1025821242,-1128818097,1020463141)+W(2,1034319831,-1127987806,-1102399280,-1105596260)+W(3,-1103790599,-1108335719,-1114500598,-1129600787)+W(4,1059664710,1048633701,1062256902,1059153168)+W(5,1061115073,1056014846,1050028641,1052737098)+W(6,-1091927835,-1097464070,-1087363556,-1086480503)+W(7,-1089057879,-1099300213,-1097571161,-1112421262)+W(8,-1116625676,1029070026,1016696459,1000027879)+W(9,1028964506,-1108586113,1032749254,-1096430155)+W(10,1013574450,1012611215,-1115123712,1006568169)+W(11,-1134032598,1032814547,1020632239,1016193698);sum2=W(0,-1115556642,-1130243023,1032034792,-1126476135)+W(1,1032996496,-1138592966,-1121911846,1029413614)+W(2,1037372428,1030557532,1049080310,-1112452010)+W(3,-1108874582,-1125709403,-1147299853,-1125845903)+W(4,1085969060,1077581449,-1074326256,-1064530882)+W(5,-1074476109,-1104386166,1029772508,-1109306490)+W(6,1051814466,1043810263,-1103611514,-1081646826)+W(7,1033029539,993676602,1034388196,1000946837)+W(8,1011471282,1030366783,-1109496698,-1129814679)+W(9,1035377868,1007963430,1005762565,1024214725)+W(10,-1114698318,1034280644,-1140286158,1022645135)+W(11,-1126128243,1013431542,-1114714998,1024966722);WS(-1128144240,-1105727419); +sum1=W(0,1008177348,1008158465,1025380533,1041196118)+W(1,-1123971020,1038005880,-1110790464,1022532691)+W(2,1038442911,1030921926,-1116236765,-1091904121)+W(3,-1110541401,-1155490648,-1118346788,-1132141153)+W(4,1034971295,-1108323937,1041262911,-1116818069)+W(5,-1118195565,1050488689,1005836543,1035288564)+W(6,1037111480,1020025483,1039711206,-1090328900)+W(7,1053066642,-1108534613,1032777199,1043217853)+W(8,-1119737674,1015575522,-1096558626,-1106145913)+W(9,-1107602136,1033678004,1034582855,-1110557919)+W(10,1019898055,1036155997,1023258159,1038413850)+W(11,-1123851725,1027658998,-1118860082,-1161170171);sum2=W(0,-1128930637,1013105493,1027020519,-1111106512)+W(1,1033707008,-1108465338,-1130609759,-1112986298)+W(2,-1132037027,-1110061572,1023565141,-1118411413)+W(3,-1104848450,1001195043,-1113096913,-1123693871)+W(4,1018701611,1028677045,-1097696705,1051172043)+W(5,1036460110,-1134254189,1035127174,1021784635)+W(6,-1110976033,-1113315034,-1136487341,1064921249)+W(7,-1097426277,1028959819,-1113952185,-1139702593)+W(8,-1129623857,-1136221161,1045236380,-1100340880)+W(9,1026225447,1033145987,-1105387359,1025786651)+W(10,1029665439,-1120215489,1025952555,-1120959951)+W(11,1006240491,-1118442072,-1137489821,-1119362634);WS(1066786198,1018352061); +sum1=W(0,1037807432,-1147124480,1032919115,1043153405)+W(1,1024885356,1040525108,1034093744,1041644314)+W(2,1042991174,-1118935590,-1102401423,-1111703874)+W(3,-1105747115,-1109427003,1036876386,-1113217832)+W(4,1056116676,1053008404,1058826232,1052869895)+W(5,1063596395,1052412861,1055303296,1055747689)+W(6,-1089303485,-1093203077,-1091158043,-1077398372)+W(7,-1088790919,-1096537905,-1092801624,-1095292522)+W(8,-1115182496,1032850856,-1118679276,-1112497438)+W(9,1041854800,-1158252416,1029739551,-1097656684)+W(10,1044944769,1019595829,1030098999,990101824)+W(11,1037575334,1022825908,1042956152,1027108728);sum2=W(0,1036031230,-1120880520,-1118383086,-1112120068)+W(1,1044452135,-1113902667,1036248196,-1175016923)+W(2,-1102747382,1035081854,-1081312733,-1097589576)+W(3,-1136989239,-1101386787,1038098664,-1106083613)+W(4,1040389106,999021742,1046511529,1061513306)+W(5,-1098672489,1028645652,1037598188,1027306194)+W(6,1027629590,1048871361,-1102228261,1059108854)+W(7,1030279668,-1090327880,1046091275,-1110606753)+W(8,1033840740,1037408166,-1111365044,1017984327)+W(9,1032578550,-1098256610,1055272900,-1100293962)+W(10,-1113736580,1036561850,-1105995296,1037901466)+W(11,1024281094,1003868670,1035521712,-1114802202);WS(-1088826540,-1072617048); +sum1=W(0,986338164,1023136598,-1127817408,1038855104)+W(1,-1112014844,1032100206,-1114071293,1031252724)+W(2,1037920241,-1108211448,-1117329516,-1098615294)+W(3,-1156351446,-1125030464,1025960366,-1128205111)+W(4,1051799989,1051897846,1060040519,1068445460)+W(5,1041659186,1049473503,1046320643,1053193450)+W(6,-1096657083,-1097067830,-1085267217,-1091986338)+W(7,-1085224562,-1095210946,-1103740786,-1098483636)+W(8,-1131268440,-1134063855,1034398076,-1104903024)+W(9,1041222927,-1123500579,1021522163,-1110505437)+W(10,-1122826702,1022858827,1016624516,1025833567)+W(11,-1148095931,1018816617,1004333185,-1135786218);sum2=W(0,1025188267,-1121532154,1037371296,-1111771837)+W(1,1040037716,-1106548534,1039102739,-1109851481)+W(2,-1139275200,1033600964,-1123953755,1046721727)+W(3,-1098628025,1040338433,-1109104289,1042987802)+W(4,1040515214,-1111129732,1035395064,-1119362505)+W(5,1046868281,-1095083293,1045077862,-1121821072)+W(6,-1131755519,-1105820182,1067277095,1075696256)+W(7,-1070220409,-1079865944,1049591033,-1113640498)+W(8,-1105181237,1041295374,-1104867399,1058324165)+W(9,-1095490474,1030948623,-1107729189,1039251361)+W(10,1030566925,-1137053008,-1131759093,1026363312)+W(11,-1118056117,1018203389,-1128931569,-1123620784);WS(-1126600048,-1081356549); +sum1=W(0,-1127841038,-1121393942,-1127713943,-1112866678)+W(1,-1130256197,-1113126004,-1135790871,-1114110304)+W(2,-1133929050,1032965854,1033968271,1043820719)+W(3,1042942538,1043379215,1027795642,1034600139)+W(4,-1098403026,-1092154099,-1092503722,-1081570623)+W(5,-1086843241,-1092479684,-1097678271,-1094287464)+W(6,1044657313,1056638003,1049224359,1066854747)+W(7,1055316562,1058087872,1032418298,1051778533)+W(8,-1112364357,1040562850,1040769245,-1105175211)+W(9,-1123699911,-1108064855,-1138101411,999504676)+W(10,-1126110067,1036225512,-1129561307,1047740947)+W(11,-1102743497,1041161205,-1106598351,1039116783);sum2=W(0,1002695390,-1122258341,-1122292123,-1120933435)+W(1,1032169765,-1117894001,1003179774,-1138289315)+W(2,1041236493,1024135109,1018577975,1034742596)+W(3,-1148289286,-1155671947,1027950533,-1116290259)+W(4,-1107205869,-1167041196,1048984334,-1085659967)+W(5,1041640777,-1108030745,-1123201389,-1139220243)+W(6,-1110230321,-1120190201,-1063745707,-1070580481)+W(7,1042707591,1049556353,-1106095214,1050855401)+W(8,1025661924,1051920007,1083223141,1079255156)+W(9,-1110361303,-1097500712,1030518681,-1105964729)+W(10,1013006047,-1101224590,1033459361,1037086181)+W(11,-1105447820,1029970779,1006793819,-1115669085);WS(1044741550,-1111040261); +sum1=W(0,-1123328853,-1102049737,1040528310,-1104112191)+W(1,1024305776,-1101315365,1021709031,-1111623399)+W(2,-1129171790,1051367713,-1097130129,1051950321)+W(3,1039437043,1045396986,-1108128612,-1165073551)+W(4,-1119860449,-1091471693,1035652177,-1092522751)+W(5,-1095677118,-1130673884,-1112716514,-1121220876)+W(6,1045626213,1046305018,1049556145,1053940037)+W(7,1055561708,-1095468986,1044018368,1026385047)+W(8,-1104602741,1044417333,-1091825946,1049099055)+W(9,-1104689389,1055485165,-1103796617,1036376309)+W(10,1022127887,-1107859535,1033350174,-1124872112)+W(11,-1115808049,-1115536169,1029190802,-1122289340);sum2=W(0,-1104033148,-1105436527,-1109964889,-1097126651)+W(1,-1098141643,-1090250993,-1116302593,-1118233874)+W(2,1039328248,1038128967,1010051700,1057153562)+W(3,1057745438,1060383381,1035812245,1044677482)+W(4,1040757730,1010939044,1051778220,1035481326)+W(5,-1094952202,-1102222701,-1133841678,-1105877607)+W(6,1023457753,-1118329847,-1098103909,-1094975289)+W(7,1048659070,-1098057265,-1123621243,-1160321672)+W(8,-1105261590,1011822306,1019752394,1037637839)+W(9,1023965510,1049957743,-1104798795,1036758948)+W(10,1019934334,998732076,-1151355224,-1112777586)+W(11,1012075272,-1134551782,1031321862,-1124061226);WS(1065794902,1053657215); +sum1=W(0,-1121908120,1018314063,1015310777,-1124873339)+W(1,1031572020,-1147984576,1024640407,1026486289)+W(2,1038333639,1031009517,1039118671,1034311430)+W(3,1041290230,-1120195837,-1119856235,-1114392412)+W(4,1027457764,-1106391546,-1097318831,-1141167585)+W(5,1054548019,1053489270,1041008530,1038700424)+W(6,-1123855831,1034446294,1039330595,-1090069831)+W(7,-1096859758,-1090834490,-1105884449,-1105777031)+W(8,-1123864939,-1121443224,1026117491,1040632671)+W(9,1028976296,1043686014,1007855863,1023881277)+W(10,1004753494,1015085764,-1152877546,-1119728987)+W(11,-1155937596,-1132243578,999100652,-1148206328);sum2=W(0,-1111593455,1026283313,-1106910582,-1123416451)+W(1,1050577288,-1128641646,1047088729,-1113858977)+W(2,1035072504,1028902500,1047373071,1053329938)+W(3,-1092564654,-1100521328,-1096962366,1017970524)+W(4,1043803228,-1108682745,1040261276,1067600226)+W(5,-1072392505,-1113219589,1049469167,1037790473)+W(6,1033408259,-1102620143,1048908013,-1090850305)+W(7,1062297118,1017836657,1033530157,-1125952722)+W(8,-1104275307,1005020832,-1100960524,1050480903)+W(9,-1138210428,-1168415746,1025688819,-1131011166)+W(10,998670368,1032181798,1023771046,1032569956)+W(11,-1112013629,1023611526,-1112880371,1021270423);WS(1062391596,1012575503); +sum1=W(0,1031343933,-1104891955,1032025473,1018981700)+W(1,-1107154694,1037332142,-1113508494,-1120166325)+W(2,-1118754907,1040079801,-1098309187,1047266492)+W(3,1041578200,-1102249736,1040475388,-1099931343)+W(4,-1124966418,1034244551,-1115351741,-1082667844)+W(5,1034155267,-1116669206,-1108675062,1037232762)+W(6,-1110681406,-1097175282,1051954479,1046130725)+W(7,1051147223,1052085167,1003822408,1045069376)+W(8,1044511208,1039695694,1024690888,1049723012)+W(9,-1103478091,1031631968,1001356052,-1120670778)+W(10,-1105353116,1041572194,-1106768761,-1111177056)+W(11,1041859398,-1100878141,1037747241,-1115735812);sum2=W(0,1033523600,-1111554425,-1129275556,-1122087690)+W(1,-1124036306,1037981702,-1119955572,-1122349214)+W(2,984378304,1035520350,-1139357832,1042336361)+W(3,-1098127108,-1108770624,1031985496,1030270440)+W(4,1029410276,1027721316,-1120989222,1063527919)+W(5,-1086537602,-1087308230,1038170956,1040810725)+W(6,1013286288,-1092144316,1051778774,1062226267)+W(7,-1106529787,1023869712,-1106223749,-1113965912)+W(8,-1149511552,1040549613,-1101613332,1044728263)+W(9,-1102568312,1043627655,-1109791564,1025118636)+W(10,-1114072340,1027894332,-1138380800,-1113445964)+W(11,1042436209,-1103441850,1038090706,-1120264936);WS(1061969900,1065420380); +sum1=W(0,1002358108,-1132400117,1036273784,-1121891281)+W(1,1031471239,1014037550,1015146068,1021231496)+W(2,1041410250,1024825568,-1111416381,-1112279056)+W(3,-1100377015,-1110955448,-1140842745,-1109508230)+W(4,1005238718,1055004288,1058195604,1065721300)+W(5,1058645356,1050103969,1047622119,1050895308)+W(6,-1098164717,-1093641048,-1089452644,-1081575699)+W(7,-1095897092,-1095327860,-1122283864,-1101391147)+W(8,-1127598604,1037205414,-1122200151,1041630292)+W(9,-1115380038,1033148051,-1112032609,-1107652840)+W(10,1013481849,-1128588267,995531041,-1118185583)+W(11,1031870564,-1125213521,1031659065,-1167265945);sum2=W(0,1037378832,-1105869799,1034348880,1010791317)+W(1,1020451237,1025476671,-1121382126,-1144944739)+W(2,-1097408481,1040337956,1050274911,-1124897054)+W(3,-1105197585,-1107003535,-1131733180,-1128932040)+W(4,-1089422359,1064628576,1078490638,-1067190452)+W(5,1026583828,1034175619,1030289482,1035014695)+W(6,-1134521568,1048269110,1055313899,-1081189141)+W(7,1051135592,1043712009,-1114815155,-1125325948)+W(8,1024014288,-1113808990,1025241947,-1100728789)+W(9,1047164907,-1112306567,1025919494,-1116208218)+W(10,-1156999910,-1121898726,1025759300,1010618498)+W(11,981635389,-1142752483,-1158764013,1029088384);WS(1048733783,1027643848); +sum1=W(0,-1133845785,-1133175894,-1135183403,-1116789548)+W(1,-1148511502,-1134260761,1018609610,-1123833247)+W(2,1036515120,1023561851,1042717327,1030082171)+W(3,1048693393,1034425221,1039337356,1027869798)+W(4,-1088559253,-1093510507,-1088396394,-1080791005)+W(5,-1089662985,-1090323862,-1100061261,-1089888600)+W(6,1057953132,1049915371,1060634166,1063183646)+W(7,1058925305,1044704560,1042697693,1047384498)+W(8,1034283684,-1130587597,-1127730531,-1114509469)+W(9,-1138682841,1038705162,1015444552,1049640472)+W(10,-1114935677,1012777537,-1122593837,1031486794)+W(11,-1116148770,-1166921432,-1126426832,1023971661);sum2=W(0,994989105,-1144072856,-1122509885,1026939205)+W(1,1028398855,-1120878413,1025208177,-1113678678)+W(2,1037891939,-1103317800,1037436931,-1127785128)+W(3,-1103788534,1034163445,-1127272012,1026044831)+W(4,-1173716290,1052666546,1001371192,1040815920)+W(5,-1100616833,1020001090,-1134790452,1043708121)+W(6,-1100065758,-1122814128,-1129250144,1058553182)+W(7,1055924851,1053725018,1036740791,-1123998093)+W(8,-1120127409,-1094230404,-1083084807,-1075758811)+W(9,-1074914963,-1075891465,-1081737398,-1084193900)+W(10,1036146011,1054652553,1061875701,1067689129)+W(11,1068744910,1067320464,1065190583,1062426867);WS(-1084457324,1066101859); +sum1=W(0,-1146837948,1016102797,-1115430590,-1115904029)+W(1,-1139281484,-1117556663,1034492603,-1124011056)+W(2,-1111022815,-1125864729,1047559389,1034715654)+W(3,-1103064096,-1108958078,-1131712724,-1131623214)+W(4,-1115296098,1038645029,-1083544605,1037951214)+W(5,1057869073,-1109939240,-1123954086,-1123535023)+W(6,1042035070,1047347075,1059438663,1052960194)+W(7,-1083491782,1046468604,-1121536740,1043250206)+W(8,1030912362,-1106508822,-1104927285,-1167432352)+W(9,1045723406,1012598283,1019381994,-1110102674)+W(10,-1121095658,-1128702979,1022709564,-1129984885)+W(11,-1123913107,-1123056725,1026960983,-1128824061);sum2=W(0,-1125705477,-1127756609,993770127,1034569455)+W(1,1010458600,-1119844207,-1122090273,1019369801)+W(2,-1127395739,1044805550,-1097909373,-1177736375)+W(3,-1116962018,1043096893,1035619005,-1112228363)+W(4,-1105227463,1015549291,1049252886,1058826852)+W(5,-1119951878,-1094678765,-1119199398,-1109645851)+W(6,1036906007,-1109261657,-1102191244,1061852121)+W(7,-1086841826,-1128420796,1021651597,1038741216)+W(8,1026846896,1037043129,-1097396928,-1116961215)+W(9,-1103314123,1038664018,1035622840,1019677755)+W(10,989272222,-1106679057,1042524140,1013800282)+W(11,1033157194,-1128652243,-1124905499,-1126258736);WS(1067036470,-1087655195); +sum1=W(0,-1143851962,1026890311,-1106604063,1016195769)+W(1,-1138731339,1037080924,-1121217270,1029907824)+W(2,1018554747,-1120379564,-1114993347,1022258327)+W(3,981655329,1045778247,1025121994,1023696087)+W(4,1050955184,1053786273,1042552729,1063572966)+W(5,1058367344,1055564522,1047575674,1048845230)+W(6,-1110423387,-1098337218,-1090196611,-1083965137)+W(7,-1084059678,-1090231591,-1096786628,-1095677575)+W(8,-1106360251,1040602294,-1134551499,1045568787)+W(9,1046272662,1028646847,1026932869,1027665749)+W(10,1025799530,-1118031105,-1119796702,-1110210301)+W(11,-1132188582,-1117810092,1021012754,-1118338222);sum2=W(0,-1113854255,1028862084,-1104900936,-1104116954)+W(1,-1114719178,1040474278,1048817634,-1122519186)+W(2,-1108417433,1033605964,-1109151867,-1102487521)+W(3,-1071728118,-1073652757,-1090221130,-1102125815)+W(4,1042382895,1032534216,1017793091,1067799294)+W(5,1077900204,1051278318,1048299521,-1105402373)+W(6,1025435556,1033584957,1033281558,-1099286824)+W(7,1056033422,-1113833767,1011833167,-1107682623)+W(8,-1108154666,1046901615,-1111336587,1036137805)+W(9,1024983956,1034492621,1033542750,-1127962013)+W(10,1042045079,-1105415159,1039313065,1005958605)+W(11,1020191839,-1114752489,1024757388,1032711916);WS(-1087701164,1071308133); +sum1=W(0,1040776942,-1112915908,1032135583,-1109010607)+W(1,-1125896234,1033070381,1001383873,-1127540900)+W(2,-1100025248,1039729431,-1111499300,1047911115)+W(3,-1096854047,1047586960,-1100475875,1025720505)+W(4,1040244657,-1108101926,-1107965963,-1095250332)+W(5,-1097276733,-1104060437,-1129328465,-1115131352)+W(6,1047131214,-1104971284,1036283892,1057920197)+W(7,1057601759,1046835436,1017446731,1041767855)+W(8,-1116520012,-1123736282,-1105297773,1040789767)+W(9,-1089523085,1046328829,-1107686492,1031878575)+W(10,-1152028354,-1120800451,1024489952,1038925278)+W(11,1034463851,-1130324381,-1112186573,1015088161);sum2=W(0,-1089646175,-1112379036,-1087427677,-1088789602)+W(1,1059010203,1060985431,-1139584980,1054225000)+W(2,1060062242,1018139178,1066898400,1066001716)+W(3,-1079880526,-1081253059,-1095878540,-1095013927)+W(4,1050551269,-1096611550,-1116330565,1056235229)+W(5,-1118197619,-1102574794,1039647840,-1099698701)+W(6,1017421696,1040955729,1035645225,1040223965)+W(7,-1114176344,1044677785,-1100382074,1035015292)+W(8,-1124178965,-1115297526,-1111832492,1027731712)+W(9,-1106279788,-1130074994,1040262609,-1124507789)+W(10,1023971829,-1112174927,1035838465,-1128027042)+W(11,1015547306,1033729011,-1110899873,1032866060);WS(1063980716,-1121784884); +sum1=W(0,1027357276,-1104528667,-1122859745,-1107033792)+W(1,-1105809438,1033196814,-1111338526,-1111105883)+W(2,1046480497,-1121849329,1049050976,1046903620)+W(3,-1128776604,1050194992,-1112079704,1037688238)+W(4,-1094692773,-1090457523,-1090130146,-1084796508)+W(5,-1089370535,-1105629197,-1093813713,-1094775914)+W(6,1050884987,1048987838,1057733925,1061180023)+W(7,1054317580,1055134019,1046804578,1057027842)+W(8,1046796692,-1098583576,1037378828,1034725880)+W(9,-1096435840,1049629536,-1097780651,1038664949)+W(10,1025153935,-1107151594,1016110982,1023598816)+W(11,-1114135692,1040596522,-1113598601,-1127372967);sum2=W(0,1041589168,1024315846,1043663909,1040621380)+W(1,1040212968,1033384296,1014426993,1022694293)+W(2,-1098133521,-1106371173,-1106740015,-1107177437)+W(3,-1111131552,1040430896,1032409853,1003633577)+W(4,1031854878,1051327081,-1108849860,-1106409587)+W(5,-1120392794,-1093765703,-1107120761,-1104283048)+W(6,-1105720063,1023684981,-1124767392,-1127108094)+W(7,-1102248051,1050935529,1033359350,-1128561530)+W(8,1035016760,-1128261352,1035542785,-1111599720)+W(9,1051247500,-1102687331,1037002974,1026574958)+W(10,-1121214780,1011090873,1029549000,1034668152)+W(11,-1136161665,1018485311,-1126387868,998242826);WS(1047153326,-1105960410); +sum1=W(0,1032318440,-1133035902,1023033002,-1111741083)+W(1,1009988015,-1126171361,-1183551252,-1118067977)+W(2,-1105871782,1024269605,-1110369667,1047130673)+W(3,1043587009,-1113373146,1035984354,-1111622952)+W(4,-1111485966,-1098984649,1050315790,-1080272088)+W(5,-1086889743,-1098309317,-1105786176,-1106267538)+W(6,1043448020,1044051929,1059563250,1053459949)+W(7,1061038806,1044456898,1048086975,1037611273)+W(8,-1110710801,1028564080,-1113831750,1024144723)+W(9,-1117616080,-1145766181,-1114741783,1040212689)+W(10,1019497606,1019882933,-1118335287,1018957863)+W(11,-1122250988,-1124691083,-1123242346,-1150984053);sum2=W(0,-1132142402,1019405455,1022592575,1002713172)+W(1,993592760,-1120241477,1024283135,-1139068036)+W(2,-1109262360,1034679642,-1099677890,1048612806)+W(3,1036415285,-1118742739,-1125545553,-1129249399)+W(4,1044069954,-1104355470,-1119884477,-1094376769)+W(5,-1110824904,1031998111,-1128336378,1030577347)+W(6,-1111364284,-1108806456,-1066728208,1079847520)+W(7,1060715429,-1103911380,1028262793,-1127589036)+W(8,1031679549,-1097044621,1043056057,1057366851)+W(9,-1104696735,993276152,1012785110,-1133646774)+W(10,1018817977,1034241557,988348592,-1114461524)+W(11,-1107038514,1036085605,-1128734189,-1182233281);WS(1056964652,1042968547); +sum1=W(0,1026864302,-1136392949,1024389106,-1126999334)+W(1,1026043785,-1130628252,1000688741,1002882868)+W(2,1044356666,1026146499,1030265493,1038248593)+W(3,-1126651679,-1146035092,986691602,1033146167)+W(4,-1111481597,1051097712,1040695131,1052760426)+W(5,1056669112,1038264227,1027446877,1040116499)+W(6,-1091567350,-1098882624,-1090350559,-1081953599)+W(7,-1095456258,-1102468122,-1109487565,-1110909592)+W(8,1041608192,1029687022,1042991030,1043333208)+W(9,1044232931,1038520784,1033386798,1040618297)+W(10,1008927875,-1130908784,-1127664937,-1121268145)+W(11,952128323,-1146879000,-1137895230,1023066122);sum2=W(0,-1155037894,-1117766868,1042293027,1004126723)+W(1,-1123150924,1015608713,-1135323377,1030487760)+W(2,-1109445776,-1132308185,-1101307898,995397702)+W(3,1014206993,1046458351,-1120597884,1026431488)+W(4,-1106399184,1041934367,-1137539889,1035303811)+W(5,-1091518060,-1124849601,1043824666,1061366644)+W(6,1052866656,-1111172948,1058738313,1064268129)+W(7,1052685347,-1090299347,-1087905074,-1075431372)+W(8,1046069094,1042904039,1045435531,1051607279)+W(9,-1098813712,-1150133894,1037110006,-1089430426)+W(10,1012439553,-1108172404,-1110297962,-1110625272)+W(11,-1107185126,1045339946,-1122419536,1049588119);WS(-1096061015,1045980634); +sum1=W(0,-1136709393,1028828435,997001355,1022855123)+W(1,-1128346047,1031977874,984865373,1040707047)+W(2,1047345176,1016418418,1049157941,1032879612)+W(3,1042754713,1032419332,-1124110958,1040469689)+W(4,-1089944925,-1096285771,-1094897728,-1097979037)+W(5,1014307589,1040846151,1042092045,1041011167)+W(6,-1113534082,1049565603,-1113216951,-1094660427)+W(7,1031601097,-1095562472,-1109834744,-1093905225)+W(8,1020871950,1021274185,1042276288,1039512084)+W(9,1028680388,1044068336,-1140756488,1048548616)+W(10,1032683291,1018404508,1027484139,-1119890439)+W(11,1030972704,-1125789619,1031142826,-1123584299);sum2=W(0,-1114682679,-1115477579,-1100789101,-1113658391)+W(1,-1110942733,1044868728,1028313432,1046472362)+W(2,1055059251,1024869090,1055732865,-1122542034)+W(3,-1120682294,-1107016239,-1152832742,-1087243594)+W(4,1064739409,1031266096,1030176534,1067742275)+W(5,1062911121,-1081471397,-1080677577,-1077241450)+W(6,-1095220576,-1113806527,1040530242,1036337974)+W(7,-1087169731,1042181045,1042749891,1067213860)+W(8,-1100660553,-1105830101,-1096186716,-1103152959)+W(9,1035448471,1052603278,1033558186,1052345796)+W(10,1038444345,-1132048253,1040636888,1015520805)+W(11,1032588114,-1102136445,-1134141481,-1112398105);WS(-1086603372,1061480206); +sum1=W(0,1025472273,-1143591172,-1124123051,-1110008795)+W(1,-1124248793,-1127491490,1014214528,-1120184170)+W(2,1022341006,1027469190,-1141108008,1042054049)+W(3,1051331968,1044174205,1044005681,-1155225358)+W(4,1006839158,-1128153798,1051787090,-1090097115)+W(5,-1081435553,-1089913687,-1092574472,-1096696337)+W(6,-1102342404,-1124925900,-1093885235,1058414043)+W(7,1063214861,1057428893,1052102264,1048742922)+W(8,1042514621,1043263108,1027880941,-1105821275)+W(9,-1094479791,-1099759469,-1112069887,1035771431)+W(10,-1114893026,-1114252238,-1121794488,1039892842)+W(11,1028544109,1041669328,977928239,1039400116);sum2=W(0,1037224808,-1109009263,-1120793535,-1110258597)+W(1,-1112240446,-1151274598,-1120536233,-1103902982)+W(2,1025638319,1049599085,-1142324554,1028269513)+W(3,-1132053081,-1119573384,1010517574,1008384356)+W(4,-1093017633,1039705537,1040559103,1053657173)+W(5,-1120149375,1043501160,-1121251494,1035850418)+W(6,-1143762368,-1112746506,-1099136162,1056581815)+W(7,-1118127758,-1147801478,-1130373692,1032229723)+W(8,-1119609796,-1119534458,-1123476586,-1104556193)+W(9,1044376501,-1107739102,1033895801,-1122521676)+W(10,995865588,1021427773,988834049,-1122952792)+W(11,-1114993482,1029987722,-1106681926,-1116132116);WS(1037058908,-1087106898); +sum1=W(0,1032385376,1028077583,1014613011,-1151370839)+W(1,-1139761263,1027279360,1022565566,1031834108)+W(2,1026637522,-1129390954,1048467894,1048758199)+W(3,1043852440,1034990442,1017011558,1036138504)+W(4,-1098495714,-1107088868,-1108180359,-1093334653)+W(5,-1108393155,-1097414435,-1111470776,-1104527470)+W(6,1041048768,1041268325,1045140885,-1080472255)+W(7,1045570315,1045361342,1028923180,1036330497)+W(8,1039729665,-1126519617,1040649531,-1114665834)+W(9,-1125126080,1035082182,1023808326,1027790590)+W(10,1017191910,-1132138900,1035348883,997380151)+W(11,1031307292,1030937245,-1138594135,1036519916);sum2=W(0,-1111516802,1036231024,-1130951686,1031916934)+W(1,-1130989326,-1129631002,-1123615369,-1119469958)+W(2,-1131222514,-1098228691,1034905648,-1090487171)+W(3,1032129266,1035677128,-1103168970,1049196148)+W(4,-1097346809,-1128682274,-1113861539,1052765954)+W(5,-1108538807,-1122282521,1038239484,-1116187122)+W(6,1049467820,1020406578,1024259929,1061096371)+W(7,-1104129123,-1108918961,-1114584358,-1129232626)+W(8,-1118099733,-1102087439,1049541587,-1108988196)+W(9,1033200380,1042713844,-1097598443,1018354634)+W(10,-1111393075,1039222222,-1113826501,1025340241)+W(11,1029417921,-1111528334,1034012496,1029857705);WS(1054906071,-1091145324); +sum1=W(0,1029398237,-1140775857,-1128656451,1004160018)+W(1,-1130732913,1029686973,1021855224,-1128798955)+W(2,-1120406171,-1106052861,-1099422950,1032725545)+W(3,-1097841652,1037934865,1036573848,-1157619404)+W(4,1051536197,1046952684,1057886666,-1085942396)+W(5,-1098611557,1042440654,1035129734,1032622058)+W(6,-1115196942,-1109008729,-1097962977,-1130426984)+W(7,1048146402,1034532491,-1122054089,1027356128)+W(8,-1136290815,1034481647,-1114344740,1050651652)+W(9,-1102043591,-1133864753,-1124817654,-1126847669)+W(10,-1126429728,1032555988,1015919623,-1108426832)+W(11,1040987294,-1107032303,1044439941,-1115113714);sum2=W(0,-1113802973,-1116219822,1020553430,-1109755343)+W(1,-1131329246,-1112950186,-1113313093,-1116367256)+W(2,1027581315,-1112877584,-1110295429,1027296115)+W(3,-1126007358,1035099341,-1130784978,1035863861)+W(4,-1110955855,-1127685514,-1097495000,1025841055)+W(5,-1104102640,-1110724235,-1165405916,-1097352168)+W(6,1047020911,1021259086,1057623683,1053623791)+W(7,1057318729,1040083835,1048620928,1039940909)+W(8,-1105727831,-1118276653,-1110729082,-1104267868)+W(9,-1106795812,-1119773745,-1128480210,-1110646461)+W(10,1022816774,-1129541322,997980814,1016281450)+W(11,-1105649969,1031563375,-1111917112,1032754595);WS(1063926444,-1083200389); +sum1=W(0,-1110900111,1015785179,-1132926346,1034778082)+W(1,1029162938,1024169214,1031086749,-1116484151)+W(2,1049653262,-1116391059,1048988121,-1111931241)+W(3,1002973694,-1107911937,-1104277444,-1114837807)+W(4,-1089993663,-1106495964,-1104923071,1061854120)+W(5,1062129309,1059656227,1047872627,1055218483)+W(6,1052688460,1038385529,1045396422,-1089207439)+W(7,-1085048198,-1087799869,-1096506545,-1096830980)+W(8,-1098055945,-1108169455,-1110654965,-1111176153)+W(9,1042255343,1043917388,1012240783,1049045741)+W(10,1042131972,-1121748392,1039495970,-1117097761)+W(11,-1120523578,-1106362715,1011366638,-1098874335);sum2=W(0,1031260311,1008713252,-1110413739,-1108083749)+W(1,1024382525,-1107516795,1032742989,-1107429215)+W(2,-1079593190,-1080879443,-1099919153,1067198745)+W(3,1061544601,1037733964,1034769578,1037726418)+W(4,-1121246507,1035854140,1040572163,-1111993270)+W(5,1060638292,-1122943484,-1098923291,1034609836)+W(6,-1113337443,1043424734,-1112705599,-1102589461)+W(7,1044789771,1040341398,-1116338100,1030676197)+W(8,985022717,-1123981203,1028350097,1035118406)+W(9,-1119559917,-1123835438,1021760610,-1114867192)+W(10,1032096214,-1130846658,-1119780465,1007072124)+W(11,-1132931022,-1131952682,1028149723,-1115680064);WS(-1091090263,1040227933); +sum1=W(0,-1123880467,-1114808049,1014154590,1032220316)+W(1,1018131933,-1121223347,-1128795491,1008528046)+W(2,-1113261184,1027485320,-1101480756,1043855170)+W(3,-1088775234,1021676847,1031227206,1026364723)+W(4,1033284496,1019377225,-1102787036,-1094753319)+W(5,1065098078,-1107869654,1045897152,1025551690)+W(6,1044923332,-1098653061,1059927492,1040011797)+W(7,-1099661886,-1151140018,-1113799968,-1125551659)+W(8,-1105999782,1042536309,-1095990282,1044858269)+W(9,-1091964998,1045062557,-1109510984,1023695008)+W(10,-1135767575,-1127683258,1037484605,-1120454550)+W(11,1029352975,-1109078132,1027724204,1006311503);sum2=W(0,-1123304381,1011470018,-1116901758,1029761957)+W(1,-1135722528,-1111769341,-1107033568,1032808415)+W(2,-1135928985,-1131363804,1044779190,-1101932196)+W(3,-1097334030,994986369,1042173475,1025113569)+W(4,1039889929,1045400660,-1100997480,1055172736)+W(5,-1087140500,1054550160,-1110305303,-1115908038)+W(6,-1113522433,-1100907702,-1104972678,1058841413)+W(7,1039800739,-1122473050,-1109069053,1032761157)+W(8,-1108136941,1038781261,1052809383,-1093286229)+W(9,1034962749,-1105965260,1038676003,-1155418681)+W(10,1038356153,-1139124254,-1105005165,1040780481)+W(11,-1105451984,1042887374,-1114167820,-1152192529);WS(1063982124,1031276218); +sum1=W(0,1041442545,-1103090149,1042807746,1024468200)+W(1,-1106882536,1049721332,-1101888878,1042454319)+W(2,1031361481,1026538936,-1101400314,1034898060)+W(3,-1103132501,-1112916420,-1139074135,-1110788513)+W(4,1056936890,1055470587,1060963845,1061353486)+W(5,1063510555,1048946651,1054541302,1058321972)+W(6,-1090353464,-1090262005,-1096383728,-1078114170)+W(7,-1106902698,-1088793180,-1098771630,-1093460753)+W(8,-1122143798,-1101092681,1031723710,-1122232454)+W(9,1043143621,-1172995470,1032268200,-1104729748)+W(10,1007942615,1040474995,-1103896066,1027975174)+W(11,1030475455,-1101011290,1044176219,-1108198577);sum2=W(0,1015674059,1034996578,1026624942,-1128049054)+W(1,999367802,1021382702,-1124407536,1029480964)+W(2,-1109357907,1024785272,-1129998179,-1120348186)+W(3,1048014132,-1105300006,1046166047,-1116382211)+W(4,1031332447,1048659656,-1108514478,1052415888)+W(5,-1105319294,-1117149322,1010482847,-1154249511)+W(6,1066992274,1076858856,1078632808,1073772904)+W(7,-1105884909,1038594495,1038514249,-1098756758)+W(8,-1074609058,-1070866381,-1068251573,-1076608801)+W(9,-1103939197,-1109221944,-1098022157,-1125235504)+W(10,1048304191,1030261153,-1098508369,-1108782845)+W(11,1048310856,1031934850,1046147873,1038709270);WS(-1084008748,-1076428689); +sum1=W(0,995293936,-1162911689,-1138016718,-1132274729)+W(1,-1145295444,-1131268254,-1201649403,-1135278623)+W(2,-1119372516,1036299874,1017340780,1041960361)+W(3,1044385332,1034368866,1043013720,-1103541652)+W(4,-1088304948,-1097059736,-1085861109,-1081600491)+W(5,-1083799507,-1090459925,-1104403080,-1103180426)+W(6,1059786207,1051547992,1060565598,1064118968)+W(7,1058261310,1050466917,1049921019,1042671596)+W(8,-1137964103,-1125552990,-1116363658,-1116908178)+W(9,-1119006543,1026422690,-1131911306,1051353751)+W(10,1013109895,1006687204,1002349741,1007519945)+W(11,994300076,-1119097260,-1123993357,1023041036);sum2=W(0,1033856632,1041148647,-1094518814,1045521814)+W(1,-1128266986,1033117136,-1173165821,1041230368)+W(2,-1090933982,-1094617784,-1122277735,1062250596)+W(3,1027053741,1050179515,1033890948,-1086799133)+W(4,1068958128,1066199400,1055138982,-1070105649)+W(5,-1070096660,-1082392713,1067349236,1076979077)+W(6,1067844920,-1102124443,1051248434,-1078683071)+W(7,-1079091570,-1089309992,1047411220,1070525583)+W(8,-1095515318,-1122244574,1036900546,1046136146)+W(9,1021983978,1045719314,1050937215,-1091587052)+W(10,-1124923033,1042779533,-1103088355,-1114411292)+W(11,-1114099181,1023274434,-1124200313,1042022635);WS(-1081223670,1021288719); +sum1=W(0,1011016529,-1123721507,1017381041,1017648243)+W(1,1028006000,-1122128468,1009660876,1007983923)+W(2,1035837139,1032041909,-1108640782,1024313608)+W(3,-1105590117,-1108791100,-1128783630,-1116825572)+W(4,1042651768,1036928499,1055254255,1061777248)+W(5,1061429156,1052534382,1049990152,1053483289)+W(6,-1098433890,-1100608474,-1094722148,-1083909329)+W(7,-1087617676,-1091388554,-1104773376,-1093454083)+W(8,-1129696110,1024607124,-1131079071,1047474926)+W(9,1036831026,1033276873,-1150770463,1005912461)+W(10,995272815,1027549342,-1116321147,1017435439)+W(11,-1122084432,-1139273509,1024807730,-1125665142);sum2=W(0,1057380038,1057597982,1069621581,1060801069)+W(1,1060050844,1041938366,-1122435905,1024344515)+W(2,-1088994983,-1085734595,-1072283812,-1079782207)+W(3,-1081640783,1046270010,-1113922524,1043446590)+W(4,1016685185,983594263,1066773393,1060848632)+W(5,1043641192,-1105013658,-1104981345,-1105295106)+W(6,998662038,1031174835,-1099503122,-1097910780)+W(7,1038323247,1026094487,1036576275,-1145544806)+W(8,1040844632,-1116219635,-1134907857,1027931069)+W(9,-1111695032,1047921746,-1114519002,1032973176)+W(10,1027712021,-1109851055,1037507283,-1116080368)+W(11,-1123552119,1028446195,-1108250726,1031771441);WS(-1120405176,1052288640); +sum1=W(0,-1136485047,-1120969533,1032711321,1027237267)+W(1,1021305874,-1146847086,-1133175986,1039673939)+W(2,1040656325,1013423883,-1108004548,-1107763377)+W(3,1022040031,1040265357,1031093856,-1100629595)+W(4,1051431647,1042796768,1062809491,1060861813)+W(5,1027813500,-1107918083,1039657966,1043412169)+W(6,-1114886102,-1092939904,-1083705303,-1089040632)+W(7,1039332409,-1098943929,-1112315213,-1104541036)+W(8,-1113721480,1039390695,1026161897,-1116341945)+W(9,-1108229347,1035322940,-1115465454,-1114748782)+W(10,-1115542032,-1165530871,1020434857,1024821617)+W(11,1031183209,1019272038,1024346473,1012723731);sum2=W(0,1032873736,-1106233681,1036788040,1009987037)+W(1,-1117147579,1018109057,-1114508674,-1106556966)+W(2,-1128467212,-1131275971,-1113770947,-1088748320)+W(3,-1097209973,1040210251,-1099376356,1050939532)+W(4,-1098460251,1035809416,-1078975662,1062703231)+W(5,1059662245,-1110493560,1052516052,992650581)+W(6,1024553592,-1114616785,-1092555656,1067981395)+W(7,1058574054,-1103422592,1038056552,1026754378)+W(8,1047433570,1026776904,-1132131619,-1104531393)+W(9,-1106248497,-1125640736,-1107638185,-1107493388)+W(10,-1128334191,-1107845863,1043173677,-1111351589)+W(11,991598885,-1107997815,1023829740,-1106870741);WS(1050656983,1072047790); +sum1=W(0,-1128713579,1026709637,1023201012,1030859291)+W(1,1041237492,-1152997210,-1155686725,1040488948)+W(2,1048792739,1034799517,1014670385,-1116111658)+W(3,1025355287,-1112906461,1036463444,1002270506)+W(4,1050333168,1050171449,1053203577,1064066450)+W(5,1060032700,1050694506,1053095469,1046913707)+W(6,-1097949975,-1104033571,-1085647978,-1080119690)+W(7,-1088145917,-1088560507,-1105136840,-1093840327)+W(8,-1101689274,1036522731,-1115538280,1043957990)+W(9,1037919995,-1120212113,1035379762,-1108210918)+W(10,-1127716817,1037025856,-1116963676,-1112813084)+W(11,1036783049,-1113565993,1035776666,-1122514141);sum2=W(0,1032121925,-1105031648,-1130820039,-1105961083)+W(1,1040237041,-1091675607,1052906990,-1119953618)+W(2,1067037293,1072414374,1072723545,1076922042)+W(3,1072846596,-1079373087,1048404715,-1090018360)+W(4,-1074821338,-1081225596,-1069168235,-1068908234)+W(5,1068735095,1050158994,1043049709,1036354441)+W(6,-1094551116,1050387420,1050306407,-1080768789)+W(7,-1110799161,1048692149,1039557097,-1114340558)+W(8,1045030197,1035683027,1054464199,-1129129027)+W(9,-1109242003,-1102086715,1050068036,-1106557101)+W(10,-1115959604,-1117669800,-1109697271,-1106200850)+W(11,1041008693,-1107790175,1019897614,1034398799);WS(-1081468886,1041730784); +sum1=W(0,-1114247594,999910687,-1112649805,1022168820)+W(1,1009392321,1025791509,-1115410306,1020540891)+W(2,1021500053,1042624634,1043096639,1034747044)+W(3,-1103886814,-1101453262,1026735815,1034256626)+W(4,1028761377,1005300019,-1100727404,1035906940)+W(5,1062898916,1054732110,1042621601,1041116931)+W(6,1044129269,1053438789,1055682820,-1086991443)+W(7,-1084075064,-1098009154,-1097832968,-1117544535)+W(8,-1131183895,-1096850135,-1106832988,1038040260)+W(9,1044548897,1037861846,1022910341,-1121491970)+W(10,-1121682823,1029411807,1022343799,-1113521452)+W(11,-1110992968,-1110478453,-1125653940,-1112646442);sum2=W(0,-1109856908,995541592,-1107331629,1043476326)+W(1,-1104942022,1039471517,-1114856041,1022399907)+W(2,1025315462,1040254152,1035675473,1026228130)+W(3,-1101803200,-1123010638,1040268905,1028920354)+W(4,-1111613060,997512408,-1115826672,1067108106)+W(5,1053887552,-1104388416,-1120685867,-1103458923)+W(6,-1108093549,-1085520225,-1103361463,1059978555)+W(7,-1094292172,-1120534147,-1108094032,1040596394)+W(8,1041489120,-1094645099,-1102705141,-1121534122)+W(9,1039802977,1017265579,1040793483,-1107135380)+W(10,-1114414815,1040714423,-1125997775,1032256197)+W(11,-1130615251,-1129091643,-1108206349,1027593934);WS(1054796503,-1111794816); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0][0] = HOOKED_texOff(vec2(-2.0, -3.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-2.0, -2.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-2.0, -1.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-2.0, 0.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-2.0, 1.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-2.0, 2.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-2.0, 3.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-2.0, 4.0)).x; +samples[2][0] = HOOKED_texOff(vec2(-1.0, -3.0)).x; +samples[2][1] = HOOKED_texOff(vec2(-1.0, -2.0)).x; +samples[2][2] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[2][3] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[3][0] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[3][1] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[3][2] = HOOKED_texOff(vec2(-1.0, 3.0)).x; +samples[3][3] = HOOKED_texOff(vec2(-1.0, 4.0)).x; +samples[4][0] = HOOKED_texOff(vec2(0.0, -3.0)).x; +samples[4][1] = HOOKED_texOff(vec2(0.0, -2.0)).x; +samples[4][2] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[4][3] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[5][0] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[5][1] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[5][2] = HOOKED_texOff(vec2(0.0, 3.0)).x; +samples[5][3] = HOOKED_texOff(vec2(0.0, 4.0)).x; +samples[6][0] = HOOKED_texOff(vec2(1.0, -3.0)).x; +samples[6][1] = HOOKED_texOff(vec2(1.0, -2.0)).x; +samples[6][2] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[6][3] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[7][0] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[7][1] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[7][2] = HOOKED_texOff(vec2(1.0, 3.0)).x; +samples[7][3] = HOOKED_texOff(vec2(1.0, 4.0)).x; +samples[8][0] = HOOKED_texOff(vec2(2.0, -3.0)).x; +samples[8][1] = HOOKED_texOff(vec2(2.0, -2.0)).x; +samples[8][2] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[8][3] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[9][0] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[9][1] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[9][2] = HOOKED_texOff(vec2(2.0, 3.0)).x; +samples[9][3] = HOOKED_texOff(vec2(2.0, 4.0)).x; +samples[10][0] = HOOKED_texOff(vec2(3.0, -3.0)).x; +samples[10][1] = HOOKED_texOff(vec2(3.0, -2.0)).x; +samples[10][2] = HOOKED_texOff(vec2(3.0, -1.0)).x; +samples[10][3] = HOOKED_texOff(vec2(3.0, 0.0)).x; +samples[11][0] = HOOKED_texOff(vec2(3.0, 1.0)).x; +samples[11][1] = HOOKED_texOff(vec2(3.0, 2.0)).x; +samples[11][2] = HOOKED_texOff(vec2(3.0, 3.0)).x; +samples[11][3] = HOOKED_texOff(vec2(3.0, 4.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns256, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/nnedi3-nns32-win8x4.glsl b/shaders/nnedi3/nnedi3-nns32-win8x4.glsl new file mode 100644 index 0000000..a5c856d --- /dev/null +++ b/shaders/nnedi3/nnedi3-nns32-win8x4.glsl @@ -0,0 +1,226 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns32, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,1036208225,-1091571194,1048590727,1032174663)+W(1,1039469975,-1095740683,1028885330,1026075554)+W(2,1027560868,-1097328754,1039928979,1023201972)+W(3,1039536921,1025116802,1017576356,1042058704)+W(4,-1144450173,1043923973,-1098962113,1033278580)+W(5,1035622988,1049700439,-1090255529,1046104373)+W(6,1024461970,1024545936,-1100301043,1035224848)+W(7,1029776426,1047463785,-1090407950,1043393326);sum2=W(0,-1098253927,1055965966,1006679350,-1096709168)+W(1,-1166389754,-1101782718,983512221,-1105895383)+W(2,-1106582410,1045236553,-1097283179,1040768379)+W(3,1034460863,-1132225959,-1090237017,1030302550)+W(4,1027738130,1057568628,1036184228,-1111760224)+W(5,-1113669665,1055278331,-1133967067,1033275358)+W(6,1016925525,-1127810369,1022264595,-1104949250)+W(7,-1129223232,-1108092808,1009711002,1045297871);WS(-1080723616,-1076327864); +sum1=W(0,1017315691,-1106293281,1041272315,-1113397025)+W(1,-1140602116,1024505865,-1129176587,1022464939)+W(2,1037257964,-1101486193,1040932726,1024865293)+W(3,-1107192473,1027220277,-1098639185,1043879330)+W(4,1022003974,1032001763,1032224091,-1118929755)+W(5,1022805527,-1106692027,1038889695,-1123579783)+W(6,1021604747,1020788295,1019749115,-1117432531)+W(7,1014959990,-1109388172,1036681163,998707020);sum2=W(0,1015755803,-1127131649,-1137718334,1033341381)+W(1,-1140061902,1016927815,-1129880851,1024947773)+W(2,-1129835189,-1112279061,-1089663810,1058036499)+W(3,1032555441,-1095938931,-1069364926,1079454606)+W(4,-1138877514,-1116204914,-1092530653,1053318688)+W(5,-1123339814,1009679614,-1148409052,1022404175)+W(6,1016646759,-1153656135,-1122312216,1028043253)+W(7,-1165772366,-1146249364,1018619187,1025789685);WS(1058954560,1004956589); +sum1=W(0,-1128607008,-1102342440,1027139080,1038455278)+W(1,1038458494,-1105082889,-1147341058,-1156235011)+W(2,1047693245,-1085974686,1057887999,-1103441674)+W(3,1026348672,1047296084,-1100046248,1029167261)+W(4,-1108459679,1058722958,-1087115665,1033885827)+W(5,-1116524774,-1135229473,1043502422,1027001826)+W(6,1024592800,1019546620,1020243248,-1124163292)+W(7,-1117551096,-1122816147,1043995308,1023459588);sum2=W(0,1039897191,1032715073,-1104821098,-1103487249)+W(1,-1116902056,1035295215,-1120385367,-1118716257)+W(2,-1115617116,1051413477,1060018690,-1091510775)+W(3,-1116419565,-1089611288,-1132652148,1048354743)+W(4,-1121428266,1039274043,1008252604,1040404198)+W(5,1003022729,-1102315300,-1117381948,1037629937)+W(6,1032782009,1012620980,-1113601670,1035102099)+W(7,-1161229156,1023483611,-1116040249,-1132320852);WS(-1088253760,-1127575790); +sum1=W(0,1038728366,-1156102863,1036225546,1011512228)+W(1,1033404580,1042126700,-1111684630,1043566527)+W(2,1036121471,-1099951467,1050604224,1032168346)+W(3,1045370723,-1083618166,-1088174091,1050156122)+W(4,994877095,1040753147,-1098202972,1037663513)+W(5,1036217881,-1099186053,1039701042,1034991255)+W(6,1012008372,1033329669,1015138122,1030253051)+W(7,1040247041,-1099351704,1032444126,1041638884);sum2=W(0,1030438042,-1147399085,-1093920639,-1109485523)+W(1,1009286759,1025260806,-1086940227,-1143426189)+W(2,1027607240,1032031341,-1090745109,-1114490725)+W(3,1019667875,1065802217,1049694895,-1135657207)+W(4,-1113200383,1046766533,-1117099650,1032826151)+W(5,1032828373,-1110418147,1041550488,1024844082)+W(6,-1125602091,-1137630919,-1114583845,993352218)+W(7,1008172775,-1119451994,1034586333,-1137428855);WS(-1079364256,1057874888); +sum1=W(0,1038744583,1023431711,-1097930673,1027252187)+W(1,1028964378,1034807569,-1105253352,1030066159)+W(2,1038770168,1043817591,-1095573950,1037737491)+W(3,1044691424,-1093522810,-1085514994,1045101529)+W(4,1039465822,1033837359,-1111615463,1019830473)+W(5,1031872786,1026052487,1038514603,1014931844)+W(6,1031706975,1024735357,1029114647,1030853165)+W(7,1026510455,1032349913,1036441879,1025856707);sum2=W(0,-1110129969,1023276596,1028080466,-1115008651)+W(1,-1122608874,1020476676,-1106237621,-1145788944)+W(2,-1109784187,1055608478,-1110801543,-1135649000)+W(3,1036903789,1056514262,-1099727798,1034305529)+W(4,1016388156,-1122102418,1033517697,1019861916)+W(5,-1134147112,1032271709,-1114242709,-1104837577)+W(6,1025386706,-1109100200,-1110189468,1027443202)+W(7,-1114085729,1030585586,-1128034084,-1105665752);WS(-1091483264,-1079194671); +sum1=W(0,-1131351604,-1116837930,-1139989065,1024497830)+W(1,-1113984995,1032278999,987288903,-1120582522)+W(2,1021186040,-1099425098,1055014512,-1105371085)+W(3,-1116327562,1045060919,1046630795,-1115581427)+W(4,-1132080655,1054575181,-1092379987,1026057008)+W(5,-1206829265,-1113261897,1027226210,-1110689206)+W(6,1023600234,-1130307600,-1122295330,-1130576880)+W(7,-1126861572,-1115285054,1003385298,-1136751161);sum2=W(0,-1129629424,1004745569,1012138921,1021845392)+W(1,1028468886,-1114381934,1032075412,1000184001)+W(2,-1120636360,1032177433,-1114041388,1017905952)+W(3,-1136732761,1051604488,-1122709320,-1141636449)+W(4,1036262769,-1115452378,-1105925279,-1138562729)+W(5,1022425868,1026786204,-1102674451,1006971361)+W(6,1019955588,-1123076816,1002766561,-1146151969)+W(7,-1123045172,-1139760465,-1135173233,-1127921184);WS(1067689632,-1150117831); +sum1=W(0,-1109849008,1047555836,1035630764,-1099893915)+W(1,-1130553174,1029999475,-1114674616,-1113991840)+W(2,-1123520321,1050420518,1040630545,-1107722684)+W(3,1036413160,-1116179871,-1098283742,-1150636351)+W(4,1029117869,1035246488,1031697439,1041501593)+W(5,-1127374955,-1104890550,-1116392999,1019029347)+W(6,-1140464318,1020611803,-1125473743,1031847583)+W(7,1027561031,-1113066609,-1114557056,1006720846);sum2=W(0,1032302578,1032483043,1055539881,-1089061083)+W(1,-1114467512,1037446674,1053856893,-1095432519)+W(2,1035589071,-1114962225,1060021172,-1087688027)+W(3,-1140727686,-1107033941,1044678306,-1119624965)+W(4,1028178655,1017647091,-1086216329,1060967891)+W(5,-1123814512,-1102520792,-1096729370,1056004093)+W(6,-1131958732,1028700703,-1098594526,1046082925)+W(7,-1114865396,-1106445462,-1103816765,1049601918);WS(1053174400,-1151490459); +sum1=W(0,-1122069115,1032070534,-1106451229,1016988943)+W(1,-1147738936,-1116405775,1015337751,-1131178679)+W(2,1027718109,1043517586,-1118269791,1030116243)+W(3,1032697654,-1108806494,-1117317899,1014470144)+W(4,1025368761,1041596435,1044803791,-1112007328)+W(5,-1112696969,1030488179,-1098708424,1036691591)+W(6,1007532846,-1145227340,1024445699,-1121635481)+W(7,-1121758051,1032005679,-1105947015,1025294511);sum2=W(0,1030975148,-1130068082,-1128045540,1009416079)+W(1,1021517080,-1126516206,1010660367,1014043007)+W(2,1055956931,-1091517508,-1115164896,-1124472846)+W(3,1077778659,-1071480833,-1096786527,1028586964)+W(4,1057214094,-1089646275,-1109767888,1004868686)+W(5,1029844584,-1129174056,1010452735,-1122799750)+W(6,1029913248,-1116251741,-1130073888,1023899390)+W(7,1021753404,998387790,-1161269496,-1126055830);WS(1064255296,1017910760); +sum1=W(0,1034554881,1054734130,-1098111935,-1127407003)+W(1,-1112041607,1053450179,1024002066,-1117294562)+W(2,-1108750194,1051103338,-1095577677,1016696883)+W(3,-1098306542,1044871248,1046694116,-1097130662)+W(4,-1140839485,-1103441076,-1111281057,983357671)+W(5,-1117661336,1027829882,1048629833,-1104687573)+W(6,-1142577806,-1122634224,1032310597,-1118108640)+W(7,-1131295699,1024857124,1048835924,-1098281839);sum2=W(0,-1120767464,1053966016,1035968374,-1147532546)+W(1,1032914397,1073793292,1040357442,-1129131123)+W(2,-1109760249,1060302091,-1122023462,-1130362887)+W(3,1040094052,-1072585870,-1086238928,-1116834009)+W(4,1016200567,-1094220304,-1172011891,1036030945)+W(5,1009241688,-1113143087,1043210576,1015923256)+W(6,-1122384418,1028063795,1025380203,1017132829)+W(7,1032959032,-1104349617,-1119727737,1019714285);WS(-1096343168,-1126236522); +sum1=W(0,1030703603,-1108689250,1038321302,-1121378303)+W(1,1007810299,-1119306439,1031818658,-1127608870)+W(2,1040041675,-1096469888,1053153171,-1126859158)+W(3,1047119465,-1085509191,-1089344732,1045457184)+W(4,-1113575360,1056154112,1045446045,-1144694086)+W(5,-1132527909,1020253526,999324634,1029954693)+W(6,-1134236941,1041829816,-1115315934,1019451938)+W(7,1009418349,1033231243,-1107897834,1026209383);sum2=W(0,983284602,1020456556,-1131636264,1015204808)+W(1,1016178696,-1144975071,-1131007184,1022946788)+W(2,1029794920,-1114118472,997214653,998054973)+W(3,1029986296,1041996066,1053737341,1023304596)+W(4,-1109420788,-1139464095,-1097949071,1029400914)+W(5,-1131549160,-1114876306,-1113647896,1024576522)+W(6,-1118046352,1015095008,-1115559594,-1124860928)+W(7,-1117716768,983229178,-1141234271,-1131778280);WS(1054415488,1031748714); +sum1=W(0,1032036500,1016814449,-1098109636,1018567785)+W(1,-1106849745,1048190511,-1110288412,-1119790601)+W(2,1032905605,1025341687,-1090213441,1041909072)+W(3,998976710,1051815981,1042721902,1029877301)+W(4,1035586875,-1102465150,-1117518441,1033626399)+W(5,1024707071,-1113968464,1046144796,-1106536335)+W(6,-1137244643,-1127337837,-1117570737,1018599181)+W(7,1040319748,-1115415046,-1135047459,-1122513053);sum2=W(0,990440998,-1103416430,-1120602807,1034530622)+W(1,-1138393335,-1121991569,1037302636,-1117267403)+W(2,-1115155620,-1128966950,-1098451061,1032576586)+W(3,1002996807,-1100463136,1060125031,-1114490937)+W(4,-1122715509,-1095499559,1057202890,-1120765719)+W(5,-1107496177,1010012987,1038403096,-1126507430)+W(6,-1109700727,1000571127,1011003397,1027555951)+W(7,-1100731818,1048400711,1041385707,-1105804206);WS(1057399616,1074070393); +sum1=W(0,-1116946950,1049855515,-1097294408,1045229301)+W(1,-1167692925,1048650971,-1103643414,1041758026)+W(2,1025124136,1035712138,-1094845877,1045455640)+W(3,1027460150,-1096264273,-1106323062,1036926493)+W(4,1033233658,-1093603523,1045414146,1036007790)+W(5,1043057687,-1089515076,1057610273,-1123310040)+W(6,1031827147,-1102565613,1043872372,1012034194)+W(7,1036180887,-1089497938,1048651645,1034964477);sum2=W(0,-1099019906,-1135117191,1053230727,-1102919364)+W(1,1016280180,-1104821294,-1108236474,1021862852)+W(2,-1104956478,1031344902,1044240449,-1102746088)+W(3,-1160553787,1057285857,1060881655,-1121198562)+W(4,-1115190705,-1108143797,-1141578351,-1107568696)+W(5,1040551613,-1096822242,-1110487530,1027740054)+W(6,-1110901592,-1121444630,1033167055,-1115478973)+W(7,1043284947,-1108844527,-1097266933,1039050835);WS(-1079272096,-1088198283); +sum1=W(0,-1150549691,-1112293630,1038263474,-1117531256)+W(1,-1136809437,-1147892734,-1131332343,1024124492)+W(2,1035238887,-1101200910,1042949876,1022854919)+W(3,-1114730926,-1153686203,-1109365886,1038223988)+W(4,1013948517,1033312670,-1123815596,-1137128325)+W(5,1024493634,-1111552818,1033656538,-1131368443)+W(6,1014747375,993656219,999554974,-1123012682)+W(7,1007675727,-1115285591,1031561484,983503863);sum2=W(0,-1130912341,-1131869901,1021624533,-1116201618)+W(1,933663296,973137042,1031913949,-1114826138)+W(2,1024898014,1022547165,1049231168,-1097351564)+W(3,1026863962,-1103034755,1074345895,-1074065991)+W(4,1006981209,1032168251,1046910286,-1101411998)+W(5,1015250909,-1122671508,1033396431,-1116799454)+W(6,-1128875465,1002623282,1015118461,-1122428830)+W(7,-1163156681,-1124284861,987851849,-1131138133);WS(1066898592,-1135257599); +sum1=W(0,-1110180874,1039457202,-1099722419,1033603984)+W(1,-1104421608,1036077428,-1109956850,1025966004)+W(2,-1108282395,1042328969,-1108344348,1027866348)+W(3,-1109212258,1047234565,1050666829,-1127852161)+W(4,-1112266449,-1102031401,1052651555,-1117920074)+W(5,-1104815307,-1101771699,1056795268,-1103088922)+W(6,-1117810340,-1107974833,1044347095,-1114797145)+W(7,-1107536862,-1105991798,1052879183,-1109126692);sum2=W(0,-1109573955,1053252716,-1111963093,-1104024699)+W(1,-1130272686,-1099761318,1023415227,-1113318439)+W(2,-1112628352,1053124236,1036225124,-1113101390)+W(3,-1135365682,1015950468,-1098416341,989675628)+W(4,-1127976571,1055173972,984548524,-1113626094)+W(5,-1109041460,1056516595,-1099834172,1021900236)+W(6,-1141484375,-1111992284,-1115296758,-1121224929)+W(7,-1124075328,-1111067004,-1123095583,1035158074);WS(-1080514464,1071098312); +sum1=W(0,1029423638,-1104998922,1034143047,-1121480226)+W(1,1032590577,-1109637973,1035675859,-1116754806)+W(2,1026820152,-1100165641,1041959039,-1119258414)+W(3,1032314563,1052963835,1044386890,-1124675269)+W(4,-1121041060,1049180397,-1094089003,-1141724766)+W(5,-1118573868,1051364482,-1091683740,1026232616)+W(6,-1120807462,1040988017,-1104568584,-1142663074)+W(7,-1138006521,1046351030,-1100071438,-1128189972);sum2=W(0,-1103917515,1047440331,1045127249,-1101094893)+W(1,1015651007,-1161898742,-1107946310,1034127906)+W(2,-1110033797,1037971494,1032097498,-1105034150)+W(3,-1102760582,1064882055,1062501861,-1105985747)+W(4,-1111112749,-1094052244,-1097807648,952358760)+W(5,1038662254,-1095531648,-1103513552,1029080884)+W(6,-1114159185,1028288648,1000704926,-1115269879)+W(7,1037944898,-1103088589,-1103412727,1036625418);WS(1048356096,1025975827); +sum1=W(0,-1127785256,1042988217,-1143337570,-1113788528)+W(1,-1122099232,1042373466,-1109964850,985728647)+W(2,-1101696686,1057753530,-1091154007,981326605)+W(3,1026577988,1024353684,1027827940,1025248769)+W(4,1038799529,-1089144738,1052285203,1031883373)+W(5,1035389109,-1100403603,-1125657656,1042938314)+W(6,1026796836,-1117105634,-1109515886,1041478413)+W(7,1026531900,-1118224663,-1110632314,1024598728);sum2=W(0,1012220951,-1127410563,-1133847817,-1150652997)+W(1,-1116521159,-1105350472,1023881724,-1121646209)+W(2,-1112142878,1052174871,1044599155,-1123898264)+W(3,1029633040,-1097063130,-1106094805,1019540966)+W(4,-1134401830,-1157154125,1059986787,-1101447493)+W(5,-1123437332,1029744370,-1111846084,-1113752268)+W(6,-1127274631,-1133421881,1028497368,-1115689394)+W(7,-1127142758,1031896001,-1111750394,-1144497399);WS(1047538944,-1094881626); +sum1=W(0,-1131292909,1026526343,-1137367995,-1137761291)+W(1,-1116924690,1015768341,1040643394,-1105713526)+W(2,-1112297452,1061821276,-1088680894,1031500559)+W(3,1021777101,1006944475,-1090839121,-1122499811)+W(4,1043477817,-1091685625,1059324523,-1107169411)+W(5,-1116873677,1042550748,-1162815447,-1119456201)+W(6,-1148100662,-1112344306,1036475455,998501030)+W(7,-1142312694,1025260793,1009991259,1032218389);sum2=W(0,1018368946,-1112001321,-1120361628,-1136144308)+W(1,1027383442,-1114299623,-1113414147,995591994)+W(2,1026347909,-1159080892,-1114902877,-1130300135)+W(3,-1120907217,1048017951,1047229175,-1113455406)+W(4,-1113638165,1043117803,1034197636,-1104824263)+W(5,1015876554,-1117678872,-1153448320,-1135559770)+W(6,-1121952605,1016312397,1030999359,-1116260909)+W(7,-1157376536,-1122492527,-1146986041,1024817261);WS(1059019584,-1093542352); +sum1=W(0,-1118590060,1030085820,1044414089,-1139295455)+W(1,1036739212,-1117660736,1037660574,1017695255)+W(2,-1117950862,1053611807,1035930184,-1132182919)+W(3,1044992135,-1088498407,-1087395836,1041445842)+W(4,1031932973,-1106481599,1044296603,-1162575911)+W(5,-1157350427,1041316489,-1101366685,1028651518)+W(6,1018600951,1033416637,-1113146202,1029799946)+W(7,-1135788111,1042914684,-1105147443,1024137952);sum2=W(0,-1139124704,-1098733365,-1134878408,1017748092)+W(1,-1129149604,-1096002059,-1139933424,-1120672660)+W(2,-1112674264,-1099326395,1006823136,1007868832)+W(3,1041796064,1042574015,1054885382,1038924927)+W(4,1023328190,993486752,1040771663,-1118903044)+W(5,983636161,1013026008,1012616072,-1117420588)+W(6,-1131439188,-1121650464,-1119789204,1032346590)+W(7,968306692,1025526661,1007743024,1016029412);WS(1034201600,1032755867); +sum1=W(0,-1153568391,-1096012775,1054286804,-1151613767)+W(1,1027758260,-1105013167,1040809774,-1113241540)+W(2,-1120836106,-1096428191,1052819554,-1109787424)+W(3,-1106713574,1052356477,1045456334,-1103823871)+W(4,-1110497539,1040996254,-1104715738,-1140335480)+W(5,-1113115007,1046162344,-1106901340,-1136669162)+W(6,-1129181937,1026611286,-1119554608,-1129950605)+W(7,-1106649828,1046578147,-1111616164,1018423993);sum2=W(0,-1116195452,1046553581,1060291180,-1133268119)+W(1,-1114916062,1044137813,1067697792,1023665145)+W(2,1015539387,1039450853,1056432615,1037512606)+W(3,1031939547,-1081686100,-1075409426,1033868463)+W(4,1004500534,-1106570618,-1100622921,1015733077)+W(5,1002967134,1023858175,1018449047,-1120650920)+W(6,-1116253852,1032662783,1002080710,1016550645)+W(7,1037899637,1018521363,-1106597825,1008358731);WS(-1092032128,-1114982082); +sum1=W(0,1022785838,-1092594901,1053421570,-1131318086)+W(1,1030256707,-1096516325,1038780564,-1117764855)+W(2,1019093490,-1091986421,1047196191,-1114799192)+W(3,-1129380878,1046024022,1055287349,-1136363407)+W(4,-1136259347,-1122621159,-1127922606,-1144800614)+W(5,-1112386231,1047446468,-1103792760,1031400745)+W(6,-1119087591,983613607,-1127804734,-1141783466)+W(7,-1105547264,1044817638,-1107803612,1035179430);sum2=W(0,1041280609,-1101864626,-1094055741,1033694830)+W(1,-1122718101,-1105911709,-1103824921,-1107222411)+W(2,1032208518,-1098031958,-1096453130,-1124818562)+W(3,-1105883428,1058683727,1064792422,-1108861898)+W(4,1032385022,-1120084233,1036982526,-1126293810)+W(5,-1105712369,1049511237,1028614917,-1108778587)+W(6,1026423073,-1101782173,1024411853,1022233154)+W(7,-1100029914,1048360263,1045846387,-1104838815);WS(-1109129728,1010433912); +sum1=W(0,-1117250164,-1096823624,1040646763,1019407999)+W(1,1006908285,-1105899410,1019351431,-1137630799)+W(2,-1122855062,-1092542200,1052048931,-1109418342)+W(3,-1107144297,1057728383,1064635860,-1105008732)+W(4,-1106683568,1037050434,-1117087348,-1114857797)+W(5,-1123315850,1026000812,-1107858814,1029923270)+W(6,-1130212999,-1117617698,-1107016783,-1137382471)+W(7,-1125685047,-1122267030,-1100117973,1034575732);sum2=W(0,-1153548328,-1138461074,-1109953492,970383811)+W(1,-1146428548,1040260969,-1109276610,1016706951)+W(2,-1122720334,1050908092,-1119113122,-1113772244)+W(3,-1131960189,1057542522,-1109440842,-1149783528)+W(4,-1105417557,1046314824,1008998438,-1111645386)+W(5,-1140382642,-1105004761,-1140136790,-1114961145)+W(6,-1130524097,1024281381,-1119699464,-1128062487)+W(7,1025793768,-1110366356,-1135544654,-1113390177);WS(1028043776,1066748487); +sum1=W(0,1020869188,1042153037,-1114798157,-1111756535)+W(1,1029235758,-1142684082,-1109061593,1025123714)+W(2,-1130366216,1055996350,-1084468040,1039957533)+W(3,1035504777,1053860476,1054127718,1020063133)+W(4,1043701316,-1085695847,1050138268,1020852591)+W(5,1028701624,-1103910983,-1111428405,1027291444)+W(6,-1140377801,-1112356264,-1142788434,1023500800)+W(7,-1122144394,-1125763849,-1122964802,-1137256281);sum2=W(0,-1124029698,-1129530165,-1125964837,1021970837)+W(1,924100096,-1119644642,1007880106,-1133743274)+W(2,-1114278109,-1119677450,1030663674,-1118803866)+W(3,-1110737625,1050522694,1051750384,-1114387111)+W(4,-1113250169,1031715210,-1120664914,999385235)+W(5,-1121059730,-1121636434,-1117515026,1025411170)+W(6,998717971,-1145009875,-1122454562,1019195093)+W(7,-1125884533,-1119348450,1010693450,-1127692741);WS(1060837696,-1133947077); +sum1=W(0,-1111653883,1043511426,1035524535,-1102491073)+W(1,1028161858,-1107876293,1015032078,-1120891991)+W(2,1026751705,1032976162,1051427819,-1107214884)+W(3,1035200691,-1100826286,-1104551490,-1125941943)+W(4,1000443428,1046154066,1014718172,1038586510)+W(5,-1124636570,-1109841015,-1105048272,1029969865)+W(6,-1153569903,1028652293,-1150803951,1023653077)+W(7,1010162044,-1123706233,-1122173975,990755503);sum2=W(0,-1109148006,-1124907300,-1092637531,1058387135)+W(1,1027230711,-1130116966,-1092832201,1052271642)+W(2,-1141349815,-1099589874,-1085994041,1062146597)+W(3,-1115012616,1033368851,1040685020,1019043320)+W(4,1025861327,-1097709653,1063174823,-1085821967)+W(5,-1129789352,1048790586,1056989663,-1089224415)+W(6,1018453676,-1111271581,1049450817,-1100831168)+W(7,1031045509,1042673858,1044673285,-1096709646);WS(1052991104,1024635730); +sum1=W(0,1035832004,1054985227,-1101014640,-1119430356)+W(1,-1113667962,1053766219,1027437528,-1121298600)+W(2,-1115665493,1046292645,-1097461637,1029858016)+W(3,-1099876558,-1128304655,-1148766910,-1098528437)+W(4,-1124670698,-1115760280,-1103841730,1026860541)+W(5,-1123144798,1032906080,1048476772,-1107490221)+W(6,-1141396670,1011324759,1034147624,-1114702739)+W(7,991927035,1032830229,1048946541,-1098098175);sum2=W(0,1023525971,-1101540780,-1109590196,-1124206084)+W(1,-1123155104,-1081244300,-1107189914,989815561)+W(2,1037524511,-1094597742,1026840221,979200786)+W(3,-1119336486,1068940029,1038949441,1039597181)+W(4,-1120201684,1051860638,1014639773,-1126284432)+W(5,-1140931614,998725346,-1110977051,-1128575576)+W(6,1025256785,1002156586,-1117345859,-1123250336)+W(7,-1116496860,1038812729,1033886084,-1117282785);WS(-1106197760,-1107941957); +sum1=W(0,-1126741205,958134964,1042417753,-1131232109)+W(1,992223587,-1096404880,-1114006205,-1156891819)+W(2,-1103296147,1050569383,1053212362,-1104768673)+W(3,-1096167611,-1089676235,-1101748223,-1105076618)+W(4,-1103227950,1032016157,1057274419,-1101041056)+W(5,1041994672,1020956357,1042030605,-1124618361)+W(6,-1124973941,-1180953690,1049652990,-1114495652)+W(7,1027666259,1043412107,1052224033,-1117167007);sum2=W(0,-1114619118,1033666378,1015708744,1027002418)+W(1,-1149001791,1045400432,-1103940412,-1125963088)+W(2,-1110825372,924614016,-1107881456,-1103385448)+W(3,-1090736686,1063026008,1059931802,-1091159350)+W(4,-1106216772,-1114127208,-1107266078,-1139192735)+W(5,1027272732,-1108719036,1024735270,-1125128312)+W(6,1033544093,1032301903,-1134995311,1019689496)+W(7,-1120615480,-1114760302,1034226031,1032462491);WS(-1076602784,-1079939509); +sum1=W(0,1033209209,-1103738752,1025390185,1002177000)+W(1,-1124683769,-1119780485,1041533536,-1112424745)+W(2,1015980198,-1096323000,1052087227,-1104846498)+W(3,-1141354248,1042233324,1039917313,-1113895617)+W(4,-1106007132,1054450248,-1105614956,-1119444855)+W(5,-1114123684,1052850909,-1098158311,-1112376802)+W(6,-1121157953,1043529432,-1107965437,1021969694)+W(7,1019464370,1045060053,-1103437636,-1109951699);sum2=W(0,1032197744,-1106233686,-1119285117,1036373860)+W(1,-1119329897,-1117977933,1035649904,-1113988579)+W(2,1026978731,-1119744119,1046616172,-1150690390)+W(3,1042368013,-1074309068,-1080074847,-1148379867)+W(4,1034747948,1068607081,1045039448,1031972703)+W(5,-1109569271,1064708176,1043980108,-1113275705)+W(6,1037031349,-1119111329,1029320825,1015848847)+W(7,-1111213511,1041980892,1028259198,1008019670);WS(-1093673600,-1131421273); +sum1=W(0,-1121371719,-1114120908,1035660544,1009001293)+W(1,-1126420325,-1110871822,1021798446,1008740253)+W(2,1033366837,-1087025669,1058317703,-1120291359)+W(3,1021303790,-1118558279,1042294182,1022689127)+W(4,-1117842165,1056872571,-1088792724,1031810222)+W(5,1011797877,1032969664,-1114500968,-1148303562)+W(6,1021502382,1037611499,-1111697864,-1137856917)+W(7,-1131840478,1040800018,1017988942,-1121301883);sum2=W(0,-1145039688,-1114206314,-1116540509,1020565626)+W(1,-1129835426,-1119983153,-1113040628,1000979816)+W(2,-1119915157,-1121785409,-1118504757,989230112)+W(3,-1110668832,1051729955,1051989643,-1112437186)+W(4,-1111519800,1012089860,1039755978,-1112214518)+W(5,1002833896,-1118223897,1025479957,1015165050)+W(6,-1127947266,-1130809610,-1158783904,-1128941978)+W(7,1006052904,-1123764449,-1127132522,1025956493);WS(1065682080,-1111828541); +sum1=W(0,1015869752,-1145885026,1022264616,-1126764880)+W(1,1017604463,-1115077208,1021224792,1032942526)+W(2,-1112250175,1052074397,-1089954536,1040282413)+W(3,1024786188,-1121697500,1047440331,1035803452)+W(4,1036568133,-1086889687,1049268572,-1125683619)+W(5,1002255762,1045248549,-1109225970,1031850711)+W(6,-1131800664,-1130857684,-1123514660,-1141787602)+W(7,982208647,1037568127,-1113425822,1017131424);sum2=W(0,-1122978131,1016858600,1028741871,993636865)+W(1,1016040732,968811648,1021399769,-1144040913)+W(2,-1114060649,1029169324,1032336595,-1118019503)+W(3,-1125004872,1051074882,1031746308,-1109484363)+W(4,1029971540,1006053609,-1103346234,-1124468225)+W(5,1026938249,-1154135582,-1113140779,1013417282)+W(6,1017189437,-1115290499,-1141169189,-1169769501)+W(7,-1124460348,-1140773838,-1122277912,-1139883250);WS(1068575136,1057679145); +sum1=W(0,-1106541599,1049880682,-1093397815,1052783569)+W(1,1008215334,1049251178,-1111487207,1042509671)+W(2,989927934,1026486412,-1092992340,1051194971)+W(3,1042310507,-1095539136,-1103138323,1040579493)+W(4,1018512183,-1094672658,1043830943,1038856114)+W(5,1040070410,-1089191083,1057944056,-1114567880)+W(6,1014261304,-1100618939,1044894993,1025292508)+W(7,1041475113,-1087252724,1049811244,1038361721);sum2=W(0,-1114445084,1053593458,1057823779,-1150175899)+W(1,-1136765855,1055007475,1054334485,-1141017037)+W(2,1039574032,-1105638736,-1096181786,1042094581)+W(3,-1113238946,-1078800745,-1078443122,-1134493359)+W(4,1030357662,-1104375874,1049857835,1020483059)+W(5,-1106803932,1059224194,1058193036,-1099695416)+W(6,964162478,1050059734,1043677394,-1118569338)+W(7,-1113028634,1035501186,1029634285,-1110238952);WS(-1069843280,1043992756); +sum1=W(0,-1124948267,1027695014,-1108770183,1008956039)+W(1,-1135429253,-1119099178,1017935435,-1129507307)+W(2,1025550072,1044103833,-1112757821,1030807982)+W(3,1025838726,-1113789227,-1130965835,1014849865)+W(4,1019242118,1039477491,1042243413,-1114625158)+W(5,-1116233196,1024839950,-1101790135,1035190516)+W(6,998797102,-1142719774,1012540023,-1127852007)+W(7,-1130610171,1028120504,-1106167085,1023573770);sum2=W(0,-1114838118,1026300352,1004928481,-1130791968)+W(1,-1121247640,1028491168,-1130258048,-1127851536)+W(2,-1095359738,1053083344,1024432884,1025789396)+W(3,-1072953064,1074653957,-1102013621,1030571860)+W(4,-1093135708,1056568596,1030571276,984097412)+W(5,-1115141896,1033233928,-1116002270,1025870428)+W(6,-1116140314,1030713448,1015669456,-1120604784)+W(7,-1127503160,1023653964,-1129660856,1016702232);WS(1066802848,-1129257078); +sum1=W(0,1015630667,1033473243,-1104672775,-1114728473)+W(1,-1118978065,-1155453851,-1122431286,-1121467910)+W(2,-1113784260,1035395194,-1115117829,-1105320751)+W(3,-1101616805,1065736411,1061324843,-1095556296)+W(4,-1108037466,1045542397,-1100789945,-1104703871)+W(5,-1114908350,1040181775,-1114134583,-1109993148)+W(6,-1114956027,-1177594330,-1124148059,-1111474306)+W(7,-1111947911,1036229652,-1138173719,-1106051686);sum2=W(0,-1109560646,-1155123513,1035199782,-1115008786)+W(1,-1134031950,-1108713026,-1107664082,1019412439)+W(2,-1107125821,1038996664,1043157052,-1123597732)+W(3,1017238679,1026897780,1051508948,1016515095)+W(4,1024343484,-1107646918,1055083262,-1106563795)+W(5,-1127256871,-1107869542,998755997,-1116358964)+W(6,1004378333,-1112902766,-1159444594,-1117600772)+W(7,-1129735047,-1145442397,1012570830,-1110777694);WS(-1093453440,1062530498); +sum1=W(0,-1124930739,-1115495349,1025637074,1023868966)+W(1,1018166794,-1109318263,1039727605,1023563962)+W(2,-1109529502,1024699176,931786146,-1131885027)+W(3,-1114300581,1040214918,1052285453,-1104984446)+W(4,1025096231,-1105577322,1009762919,-1110072888)+W(5,1023247327,1043329716,-1105534248,-1137647791)+W(6,998443854,-1123543752,988548151,-1123805240)+W(7,-1125424515,1034740398,-1116356474,1018092315);sum2=W(0,-1116378324,1018118074,1027066059,-1110082211)+W(1,-1110334365,-1135013993,1002595554,-1111471528)+W(2,-1139723269,-1117515615,1053899571,-1114430561)+W(3,-1134041225,-1097345050,1043336959,1040454031)+W(4,-1147091114,1039717826,1040668505,1033656482)+W(5,-1112237914,-1107830137,1010598309,-1117546906)+W(6,-1123080609,1032288465,1016807738,-1115822981)+W(7,-1131603942,978891919,1026333875,-1119917138);WS(1067735712,-1080534052); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0][0] = HOOKED_texOff(vec2(-3.0, -1.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-3.0, 0.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-3.0, 1.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-3.0, 2.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-2.0, -1.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-2.0, 0.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-2.0, 1.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-2.0, 2.0)).x; +samples[2][0] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[2][1] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[2][2] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[2][3] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[3][0] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[3][1] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[3][2] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[3][3] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[4][0] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[4][1] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[4][2] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[4][3] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[5][0] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[5][1] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[5][2] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[5][3] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[6][0] = HOOKED_texOff(vec2(3.0, -1.0)).x; +samples[6][1] = HOOKED_texOff(vec2(3.0, 0.0)).x; +samples[6][2] = HOOKED_texOff(vec2(3.0, 1.0)).x; +samples[6][3] = HOOKED_texOff(vec2(3.0, 2.0)).x; +samples[7][0] = HOOKED_texOff(vec2(4.0, -1.0)).x; +samples[7][1] = HOOKED_texOff(vec2(4.0, 0.0)).x; +samples[7][2] = HOOKED_texOff(vec2(4.0, 1.0)).x; +samples[7][3] = HOOKED_texOff(vec2(4.0, 2.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns32, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns32, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,1036208225,1039469975,1027560868,1039536921)+W(1,-1144450173,1035622988,1024461970,1029776426)+W(2,-1091571194,-1095740683,-1097328754,1025116802)+W(3,1043923973,1049700439,1024545936,1047463785)+W(4,1048590727,1028885330,1039928979,1017576356)+W(5,-1098962113,-1090255529,-1100301043,-1090407950)+W(6,1032174663,1026075554,1023201972,1042058704)+W(7,1033278580,1046104373,1035224848,1043393326);sum2=W(0,-1098253927,-1166389754,-1106582410,1034460863)+W(1,1027738130,-1113669665,1016925525,-1129223232)+W(2,1055965966,-1101782718,1045236553,-1132225959)+W(3,1057568628,1055278331,-1127810369,-1108092808)+W(4,1006679350,983512221,-1097283179,-1090237017)+W(5,1036184228,-1133967067,1022264595,1009711002)+W(6,-1096709168,-1105895383,1040768379,1030302550)+W(7,-1111760224,1033275358,-1104949250,1045297871);WS(-1080723616,-1076327864); +sum1=W(0,1017315691,-1140602116,1037257964,-1107192473)+W(1,1022003974,1022805527,1021604747,1014959990)+W(2,-1106293281,1024505865,-1101486193,1027220277)+W(3,1032001763,-1106692027,1020788295,-1109388172)+W(4,1041272315,-1129176587,1040932726,-1098639185)+W(5,1032224091,1038889695,1019749115,1036681163)+W(6,-1113397025,1022464939,1024865293,1043879330)+W(7,-1118929755,-1123579783,-1117432531,998707020);sum2=W(0,1015755803,-1140061902,-1129835189,1032555441)+W(1,-1138877514,-1123339814,1016646759,-1165772366)+W(2,-1127131649,1016927815,-1112279061,-1095938931)+W(3,-1116204914,1009679614,-1153656135,-1146249364)+W(4,-1137718334,-1129880851,-1089663810,-1069364926)+W(5,-1092530653,-1148409052,-1122312216,1018619187)+W(6,1033341381,1024947773,1058036499,1079454606)+W(7,1053318688,1022404175,1028043253,1025789685);WS(1058954560,1004956589); +sum1=W(0,-1128607008,1038458494,1047693245,1026348672)+W(1,-1108459679,-1116524774,1024592800,-1117551096)+W(2,-1102342440,-1105082889,-1085974686,1047296084)+W(3,1058722958,-1135229473,1019546620,-1122816147)+W(4,1027139080,-1147341058,1057887999,-1100046248)+W(5,-1087115665,1043502422,1020243248,1043995308)+W(6,1038455278,-1156235011,-1103441674,1029167261)+W(7,1033885827,1027001826,-1124163292,1023459588);sum2=W(0,1039897191,-1116902056,-1115617116,-1116419565)+W(1,-1121428266,1003022729,1032782009,-1161229156)+W(2,1032715073,1035295215,1051413477,-1089611288)+W(3,1039274043,-1102315300,1012620980,1023483611)+W(4,-1104821098,-1120385367,1060018690,-1132652148)+W(5,1008252604,-1117381948,-1113601670,-1116040249)+W(6,-1103487249,-1118716257,-1091510775,1048354743)+W(7,1040404198,1037629937,1035102099,-1132320852);WS(-1088253760,-1127575790); +sum1=W(0,1038728366,1033404580,1036121471,1045370723)+W(1,994877095,1036217881,1012008372,1040247041)+W(2,-1156102863,1042126700,-1099951467,-1083618166)+W(3,1040753147,-1099186053,1033329669,-1099351704)+W(4,1036225546,-1111684630,1050604224,-1088174091)+W(5,-1098202972,1039701042,1015138122,1032444126)+W(6,1011512228,1043566527,1032168346,1050156122)+W(7,1037663513,1034991255,1030253051,1041638884);sum2=W(0,1030438042,1009286759,1027607240,1019667875)+W(1,-1113200383,1032828373,-1125602091,1008172775)+W(2,-1147399085,1025260806,1032031341,1065802217)+W(3,1046766533,-1110418147,-1137630919,-1119451994)+W(4,-1093920639,-1086940227,-1090745109,1049694895)+W(5,-1117099650,1041550488,-1114583845,1034586333)+W(6,-1109485523,-1143426189,-1114490725,-1135657207)+W(7,1032826151,1024844082,993352218,-1137428855);WS(-1079364256,1057874888); +sum1=W(0,1038744583,1028964378,1038770168,1044691424)+W(1,1039465822,1031872786,1031706975,1026510455)+W(2,1023431711,1034807569,1043817591,-1093522810)+W(3,1033837359,1026052487,1024735357,1032349913)+W(4,-1097930673,-1105253352,-1095573950,-1085514994)+W(5,-1111615463,1038514603,1029114647,1036441879)+W(6,1027252187,1030066159,1037737491,1045101529)+W(7,1019830473,1014931844,1030853165,1025856707);sum2=W(0,-1110129969,-1122608874,-1109784187,1036903789)+W(1,1016388156,-1134147112,1025386706,-1114085729)+W(2,1023276596,1020476676,1055608478,1056514262)+W(3,-1122102418,1032271709,-1109100200,1030585586)+W(4,1028080466,-1106237621,-1110801543,-1099727798)+W(5,1033517697,-1114242709,-1110189468,-1128034084)+W(6,-1115008651,-1145788944,-1135649000,1034305529)+W(7,1019861916,-1104837577,1027443202,-1105665752);WS(-1091483264,-1079194671); +sum1=W(0,-1131351604,-1113984995,1021186040,-1116327562)+W(1,-1132080655,-1206829265,1023600234,-1126861572)+W(2,-1116837930,1032278999,-1099425098,1045060919)+W(3,1054575181,-1113261897,-1130307600,-1115285054)+W(4,-1139989065,987288903,1055014512,1046630795)+W(5,-1092379987,1027226210,-1122295330,1003385298)+W(6,1024497830,-1120582522,-1105371085,-1115581427)+W(7,1026057008,-1110689206,-1130576880,-1136751161);sum2=W(0,-1129629424,1028468886,-1120636360,-1136732761)+W(1,1036262769,1022425868,1019955588,-1123045172)+W(2,1004745569,-1114381934,1032177433,1051604488)+W(3,-1115452378,1026786204,-1123076816,-1139760465)+W(4,1012138921,1032075412,-1114041388,-1122709320)+W(5,-1105925279,-1102674451,1002766561,-1135173233)+W(6,1021845392,1000184001,1017905952,-1141636449)+W(7,-1138562729,1006971361,-1146151969,-1127921184);WS(1067689632,-1150117831); +sum1=W(0,-1109849008,-1130553174,-1123520321,1036413160)+W(1,1029117869,-1127374955,-1140464318,1027561031)+W(2,1047555836,1029999475,1050420518,-1116179871)+W(3,1035246488,-1104890550,1020611803,-1113066609)+W(4,1035630764,-1114674616,1040630545,-1098283742)+W(5,1031697439,-1116392999,-1125473743,-1114557056)+W(6,-1099893915,-1113991840,-1107722684,-1150636351)+W(7,1041501593,1019029347,1031847583,1006720846);sum2=W(0,1032302578,-1114467512,1035589071,-1140727686)+W(1,1028178655,-1123814512,-1131958732,-1114865396)+W(2,1032483043,1037446674,-1114962225,-1107033941)+W(3,1017647091,-1102520792,1028700703,-1106445462)+W(4,1055539881,1053856893,1060021172,1044678306)+W(5,-1086216329,-1096729370,-1098594526,-1103816765)+W(6,-1089061083,-1095432519,-1087688027,-1119624965)+W(7,1060967891,1056004093,1046082925,1049601918);WS(1053174400,-1151490459); +sum1=W(0,-1122069115,-1147738936,1027718109,1032697654)+W(1,1025368761,-1112696969,1007532846,-1121758051)+W(2,1032070534,-1116405775,1043517586,-1108806494)+W(3,1041596435,1030488179,-1145227340,1032005679)+W(4,-1106451229,1015337751,-1118269791,-1117317899)+W(5,1044803791,-1098708424,1024445699,-1105947015)+W(6,1016988943,-1131178679,1030116243,1014470144)+W(7,-1112007328,1036691591,-1121635481,1025294511);sum2=W(0,1030975148,1021517080,1055956931,1077778659)+W(1,1057214094,1029844584,1029913248,1021753404)+W(2,-1130068082,-1126516206,-1091517508,-1071480833)+W(3,-1089646275,-1129174056,-1116251741,998387790)+W(4,-1128045540,1010660367,-1115164896,-1096786527)+W(5,-1109767888,1010452735,-1130073888,-1161269496)+W(6,1009416079,1014043007,-1124472846,1028586964)+W(7,1004868686,-1122799750,1023899390,-1126055830);WS(1064255296,1017910760); +sum1=W(0,1034554881,-1112041607,-1108750194,-1098306542)+W(1,-1140839485,-1117661336,-1142577806,-1131295699)+W(2,1054734130,1053450179,1051103338,1044871248)+W(3,-1103441076,1027829882,-1122634224,1024857124)+W(4,-1098111935,1024002066,-1095577677,1046694116)+W(5,-1111281057,1048629833,1032310597,1048835924)+W(6,-1127407003,-1117294562,1016696883,-1097130662)+W(7,983357671,-1104687573,-1118108640,-1098281839);sum2=W(0,-1120767464,1032914397,-1109760249,1040094052)+W(1,1016200567,1009241688,-1122384418,1032959032)+W(2,1053966016,1073793292,1060302091,-1072585870)+W(3,-1094220304,-1113143087,1028063795,-1104349617)+W(4,1035968374,1040357442,-1122023462,-1086238928)+W(5,-1172011891,1043210576,1025380203,-1119727737)+W(6,-1147532546,-1129131123,-1130362887,-1116834009)+W(7,1036030945,1015923256,1017132829,1019714285);WS(-1096343168,-1126236522); +sum1=W(0,1030703603,1007810299,1040041675,1047119465)+W(1,-1113575360,-1132527909,-1134236941,1009418349)+W(2,-1108689250,-1119306439,-1096469888,-1085509191)+W(3,1056154112,1020253526,1041829816,1033231243)+W(4,1038321302,1031818658,1053153171,-1089344732)+W(5,1045446045,999324634,-1115315934,-1107897834)+W(6,-1121378303,-1127608870,-1126859158,1045457184)+W(7,-1144694086,1029954693,1019451938,1026209383);sum2=W(0,983284602,1016178696,1029794920,1029986296)+W(1,-1109420788,-1131549160,-1118046352,-1117716768)+W(2,1020456556,-1144975071,-1114118472,1041996066)+W(3,-1139464095,-1114876306,1015095008,983229178)+W(4,-1131636264,-1131007184,997214653,1053737341)+W(5,-1097949071,-1113647896,-1115559594,-1141234271)+W(6,1015204808,1022946788,998054973,1023304596)+W(7,1029400914,1024576522,-1124860928,-1131778280);WS(1054415488,1031748714); +sum1=W(0,1032036500,-1106849745,1032905605,998976710)+W(1,1035586875,1024707071,-1137244643,1040319748)+W(2,1016814449,1048190511,1025341687,1051815981)+W(3,-1102465150,-1113968464,-1127337837,-1115415046)+W(4,-1098109636,-1110288412,-1090213441,1042721902)+W(5,-1117518441,1046144796,-1117570737,-1135047459)+W(6,1018567785,-1119790601,1041909072,1029877301)+W(7,1033626399,-1106536335,1018599181,-1122513053);sum2=W(0,990440998,-1138393335,-1115155620,1002996807)+W(1,-1122715509,-1107496177,-1109700727,-1100731818)+W(2,-1103416430,-1121991569,-1128966950,-1100463136)+W(3,-1095499559,1010012987,1000571127,1048400711)+W(4,-1120602807,1037302636,-1098451061,1060125031)+W(5,1057202890,1038403096,1011003397,1041385707)+W(6,1034530622,-1117267403,1032576586,-1114490937)+W(7,-1120765719,-1126507430,1027555951,-1105804206);WS(1057399616,1074070393); +sum1=W(0,-1116946950,-1167692925,1025124136,1027460150)+W(1,1033233658,1043057687,1031827147,1036180887)+W(2,1049855515,1048650971,1035712138,-1096264273)+W(3,-1093603523,-1089515076,-1102565613,-1089497938)+W(4,-1097294408,-1103643414,-1094845877,-1106323062)+W(5,1045414146,1057610273,1043872372,1048651645)+W(6,1045229301,1041758026,1045455640,1036926493)+W(7,1036007790,-1123310040,1012034194,1034964477);sum2=W(0,-1099019906,1016280180,-1104956478,-1160553787)+W(1,-1115190705,1040551613,-1110901592,1043284947)+W(2,-1135117191,-1104821294,1031344902,1057285857)+W(3,-1108143797,-1096822242,-1121444630,-1108844527)+W(4,1053230727,-1108236474,1044240449,1060881655)+W(5,-1141578351,-1110487530,1033167055,-1097266933)+W(6,-1102919364,1021862852,-1102746088,-1121198562)+W(7,-1107568696,1027740054,-1115478973,1039050835);WS(-1079272096,-1088198283); +sum1=W(0,-1150549691,-1136809437,1035238887,-1114730926)+W(1,1013948517,1024493634,1014747375,1007675727)+W(2,-1112293630,-1147892734,-1101200910,-1153686203)+W(3,1033312670,-1111552818,993656219,-1115285591)+W(4,1038263474,-1131332343,1042949876,-1109365886)+W(5,-1123815596,1033656538,999554974,1031561484)+W(6,-1117531256,1024124492,1022854919,1038223988)+W(7,-1137128325,-1131368443,-1123012682,983503863);sum2=W(0,-1130912341,933663296,1024898014,1026863962)+W(1,1006981209,1015250909,-1128875465,-1163156681)+W(2,-1131869901,973137042,1022547165,-1103034755)+W(3,1032168251,-1122671508,1002623282,-1124284861)+W(4,1021624533,1031913949,1049231168,1074345895)+W(5,1046910286,1033396431,1015118461,987851849)+W(6,-1116201618,-1114826138,-1097351564,-1074065991)+W(7,-1101411998,-1116799454,-1122428830,-1131138133);WS(1066898592,-1135257599); +sum1=W(0,-1110180874,-1104421608,-1108282395,-1109212258)+W(1,-1112266449,-1104815307,-1117810340,-1107536862)+W(2,1039457202,1036077428,1042328969,1047234565)+W(3,-1102031401,-1101771699,-1107974833,-1105991798)+W(4,-1099722419,-1109956850,-1108344348,1050666829)+W(5,1052651555,1056795268,1044347095,1052879183)+W(6,1033603984,1025966004,1027866348,-1127852161)+W(7,-1117920074,-1103088922,-1114797145,-1109126692);sum2=W(0,-1109573955,-1130272686,-1112628352,-1135365682)+W(1,-1127976571,-1109041460,-1141484375,-1124075328)+W(2,1053252716,-1099761318,1053124236,1015950468)+W(3,1055173972,1056516595,-1111992284,-1111067004)+W(4,-1111963093,1023415227,1036225124,-1098416341)+W(5,984548524,-1099834172,-1115296758,-1123095583)+W(6,-1104024699,-1113318439,-1113101390,989675628)+W(7,-1113626094,1021900236,-1121224929,1035158074);WS(-1080514464,1071098312); +sum1=W(0,1029423638,1032590577,1026820152,1032314563)+W(1,-1121041060,-1118573868,-1120807462,-1138006521)+W(2,-1104998922,-1109637973,-1100165641,1052963835)+W(3,1049180397,1051364482,1040988017,1046351030)+W(4,1034143047,1035675859,1041959039,1044386890)+W(5,-1094089003,-1091683740,-1104568584,-1100071438)+W(6,-1121480226,-1116754806,-1119258414,-1124675269)+W(7,-1141724766,1026232616,-1142663074,-1128189972);sum2=W(0,-1103917515,1015651007,-1110033797,-1102760582)+W(1,-1111112749,1038662254,-1114159185,1037944898)+W(2,1047440331,-1161898742,1037971494,1064882055)+W(3,-1094052244,-1095531648,1028288648,-1103088589)+W(4,1045127249,-1107946310,1032097498,1062501861)+W(5,-1097807648,-1103513552,1000704926,-1103412727)+W(6,-1101094893,1034127906,-1105034150,-1105985747)+W(7,952358760,1029080884,-1115269879,1036625418);WS(1048356096,1025975827); +sum1=W(0,-1127785256,-1122099232,-1101696686,1026577988)+W(1,1038799529,1035389109,1026796836,1026531900)+W(2,1042988217,1042373466,1057753530,1024353684)+W(3,-1089144738,-1100403603,-1117105634,-1118224663)+W(4,-1143337570,-1109964850,-1091154007,1027827940)+W(5,1052285203,-1125657656,-1109515886,-1110632314)+W(6,-1113788528,985728647,981326605,1025248769)+W(7,1031883373,1042938314,1041478413,1024598728);sum2=W(0,1012220951,-1116521159,-1112142878,1029633040)+W(1,-1134401830,-1123437332,-1127274631,-1127142758)+W(2,-1127410563,-1105350472,1052174871,-1097063130)+W(3,-1157154125,1029744370,-1133421881,1031896001)+W(4,-1133847817,1023881724,1044599155,-1106094805)+W(5,1059986787,-1111846084,1028497368,-1111750394)+W(6,-1150652997,-1121646209,-1123898264,1019540966)+W(7,-1101447493,-1113752268,-1115689394,-1144497399);WS(1047538944,-1094881626); +sum1=W(0,-1131292909,-1116924690,-1112297452,1021777101)+W(1,1043477817,-1116873677,-1148100662,-1142312694)+W(2,1026526343,1015768341,1061821276,1006944475)+W(3,-1091685625,1042550748,-1112344306,1025260793)+W(4,-1137367995,1040643394,-1088680894,-1090839121)+W(5,1059324523,-1162815447,1036475455,1009991259)+W(6,-1137761291,-1105713526,1031500559,-1122499811)+W(7,-1107169411,-1119456201,998501030,1032218389);sum2=W(0,1018368946,1027383442,1026347909,-1120907217)+W(1,-1113638165,1015876554,-1121952605,-1157376536)+W(2,-1112001321,-1114299623,-1159080892,1048017951)+W(3,1043117803,-1117678872,1016312397,-1122492527)+W(4,-1120361628,-1113414147,-1114902877,1047229175)+W(5,1034197636,-1153448320,1030999359,-1146986041)+W(6,-1136144308,995591994,-1130300135,-1113455406)+W(7,-1104824263,-1135559770,-1116260909,1024817261);WS(1059019584,-1093542352); +sum1=W(0,-1118590060,1036739212,-1117950862,1044992135)+W(1,1031932973,-1157350427,1018600951,-1135788111)+W(2,1030085820,-1117660736,1053611807,-1088498407)+W(3,-1106481599,1041316489,1033416637,1042914684)+W(4,1044414089,1037660574,1035930184,-1087395836)+W(5,1044296603,-1101366685,-1113146202,-1105147443)+W(6,-1139295455,1017695255,-1132182919,1041445842)+W(7,-1162575911,1028651518,1029799946,1024137952);sum2=W(0,-1139124704,-1129149604,-1112674264,1041796064)+W(1,1023328190,983636161,-1131439188,968306692)+W(2,-1098733365,-1096002059,-1099326395,1042574015)+W(3,993486752,1013026008,-1121650464,1025526661)+W(4,-1134878408,-1139933424,1006823136,1054885382)+W(5,1040771663,1012616072,-1119789204,1007743024)+W(6,1017748092,-1120672660,1007868832,1038924927)+W(7,-1118903044,-1117420588,1032346590,1016029412);WS(1034201600,1032755867); +sum1=W(0,-1153568391,1027758260,-1120836106,-1106713574)+W(1,-1110497539,-1113115007,-1129181937,-1106649828)+W(2,-1096012775,-1105013167,-1096428191,1052356477)+W(3,1040996254,1046162344,1026611286,1046578147)+W(4,1054286804,1040809774,1052819554,1045456334)+W(5,-1104715738,-1106901340,-1119554608,-1111616164)+W(6,-1151613767,-1113241540,-1109787424,-1103823871)+W(7,-1140335480,-1136669162,-1129950605,1018423993);sum2=W(0,-1116195452,-1114916062,1015539387,1031939547)+W(1,1004500534,1002967134,-1116253852,1037899637)+W(2,1046553581,1044137813,1039450853,-1081686100)+W(3,-1106570618,1023858175,1032662783,1018521363)+W(4,1060291180,1067697792,1056432615,-1075409426)+W(5,-1100622921,1018449047,1002080710,-1106597825)+W(6,-1133268119,1023665145,1037512606,1033868463)+W(7,1015733077,-1120650920,1016550645,1008358731);WS(-1092032128,-1114982082); +sum1=W(0,1022785838,1030256707,1019093490,-1129380878)+W(1,-1136259347,-1112386231,-1119087591,-1105547264)+W(2,-1092594901,-1096516325,-1091986421,1046024022)+W(3,-1122621159,1047446468,983613607,1044817638)+W(4,1053421570,1038780564,1047196191,1055287349)+W(5,-1127922606,-1103792760,-1127804734,-1107803612)+W(6,-1131318086,-1117764855,-1114799192,-1136363407)+W(7,-1144800614,1031400745,-1141783466,1035179430);sum2=W(0,1041280609,-1122718101,1032208518,-1105883428)+W(1,1032385022,-1105712369,1026423073,-1100029914)+W(2,-1101864626,-1105911709,-1098031958,1058683727)+W(3,-1120084233,1049511237,-1101782173,1048360263)+W(4,-1094055741,-1103824921,-1096453130,1064792422)+W(5,1036982526,1028614917,1024411853,1045846387)+W(6,1033694830,-1107222411,-1124818562,-1108861898)+W(7,-1126293810,-1108778587,1022233154,-1104838815);WS(-1109129728,1010433912); +sum1=W(0,-1117250164,1006908285,-1122855062,-1107144297)+W(1,-1106683568,-1123315850,-1130212999,-1125685047)+W(2,-1096823624,-1105899410,-1092542200,1057728383)+W(3,1037050434,1026000812,-1117617698,-1122267030)+W(4,1040646763,1019351431,1052048931,1064635860)+W(5,-1117087348,-1107858814,-1107016783,-1100117973)+W(6,1019407999,-1137630799,-1109418342,-1105008732)+W(7,-1114857797,1029923270,-1137382471,1034575732);sum2=W(0,-1153548328,-1146428548,-1122720334,-1131960189)+W(1,-1105417557,-1140382642,-1130524097,1025793768)+W(2,-1138461074,1040260969,1050908092,1057542522)+W(3,1046314824,-1105004761,1024281381,-1110366356)+W(4,-1109953492,-1109276610,-1119113122,-1109440842)+W(5,1008998438,-1140136790,-1119699464,-1135544654)+W(6,970383811,1016706951,-1113772244,-1149783528)+W(7,-1111645386,-1114961145,-1128062487,-1113390177);WS(1028043776,1066748487); +sum1=W(0,1020869188,1029235758,-1130366216,1035504777)+W(1,1043701316,1028701624,-1140377801,-1122144394)+W(2,1042153037,-1142684082,1055996350,1053860476)+W(3,-1085695847,-1103910983,-1112356264,-1125763849)+W(4,-1114798157,-1109061593,-1084468040,1054127718)+W(5,1050138268,-1111428405,-1142788434,-1122964802)+W(6,-1111756535,1025123714,1039957533,1020063133)+W(7,1020852591,1027291444,1023500800,-1137256281);sum2=W(0,-1124029698,924100096,-1114278109,-1110737625)+W(1,-1113250169,-1121059730,998717971,-1125884533)+W(2,-1129530165,-1119644642,-1119677450,1050522694)+W(3,1031715210,-1121636434,-1145009875,-1119348450)+W(4,-1125964837,1007880106,1030663674,1051750384)+W(5,-1120664914,-1117515026,-1122454562,1010693450)+W(6,1021970837,-1133743274,-1118803866,-1114387111)+W(7,999385235,1025411170,1019195093,-1127692741);WS(1060837696,-1133947077); +sum1=W(0,-1111653883,1028161858,1026751705,1035200691)+W(1,1000443428,-1124636570,-1153569903,1010162044)+W(2,1043511426,-1107876293,1032976162,-1100826286)+W(3,1046154066,-1109841015,1028652293,-1123706233)+W(4,1035524535,1015032078,1051427819,-1104551490)+W(5,1014718172,-1105048272,-1150803951,-1122173975)+W(6,-1102491073,-1120891991,-1107214884,-1125941943)+W(7,1038586510,1029969865,1023653077,990755503);sum2=W(0,-1109148006,1027230711,-1141349815,-1115012616)+W(1,1025861327,-1129789352,1018453676,1031045509)+W(2,-1124907300,-1130116966,-1099589874,1033368851)+W(3,-1097709653,1048790586,-1111271581,1042673858)+W(4,-1092637531,-1092832201,-1085994041,1040685020)+W(5,1063174823,1056989663,1049450817,1044673285)+W(6,1058387135,1052271642,1062146597,1019043320)+W(7,-1085821967,-1089224415,-1100831168,-1096709646);WS(1052991104,1024635730); +sum1=W(0,1035832004,-1113667962,-1115665493,-1099876558)+W(1,-1124670698,-1123144798,-1141396670,991927035)+W(2,1054985227,1053766219,1046292645,-1128304655)+W(3,-1115760280,1032906080,1011324759,1032830229)+W(4,-1101014640,1027437528,-1097461637,-1148766910)+W(5,-1103841730,1048476772,1034147624,1048946541)+W(6,-1119430356,-1121298600,1029858016,-1098528437)+W(7,1026860541,-1107490221,-1114702739,-1098098175);sum2=W(0,1023525971,-1123155104,1037524511,-1119336486)+W(1,-1120201684,-1140931614,1025256785,-1116496860)+W(2,-1101540780,-1081244300,-1094597742,1068940029)+W(3,1051860638,998725346,1002156586,1038812729)+W(4,-1109590196,-1107189914,1026840221,1038949441)+W(5,1014639773,-1110977051,-1117345859,1033886084)+W(6,-1124206084,989815561,979200786,1039597181)+W(7,-1126284432,-1128575576,-1123250336,-1117282785);WS(-1106197760,-1107941957); +sum1=W(0,-1126741205,992223587,-1103296147,-1096167611)+W(1,-1103227950,1041994672,-1124973941,1027666259)+W(2,958134964,-1096404880,1050569383,-1089676235)+W(3,1032016157,1020956357,-1180953690,1043412107)+W(4,1042417753,-1114006205,1053212362,-1101748223)+W(5,1057274419,1042030605,1049652990,1052224033)+W(6,-1131232109,-1156891819,-1104768673,-1105076618)+W(7,-1101041056,-1124618361,-1114495652,-1117167007);sum2=W(0,-1114619118,-1149001791,-1110825372,-1090736686)+W(1,-1106216772,1027272732,1033544093,-1120615480)+W(2,1033666378,1045400432,924614016,1063026008)+W(3,-1114127208,-1108719036,1032301903,-1114760302)+W(4,1015708744,-1103940412,-1107881456,1059931802)+W(5,-1107266078,1024735270,-1134995311,1034226031)+W(6,1027002418,-1125963088,-1103385448,-1091159350)+W(7,-1139192735,-1125128312,1019689496,1032462491);WS(-1076602784,-1079939509); +sum1=W(0,1033209209,-1124683769,1015980198,-1141354248)+W(1,-1106007132,-1114123684,-1121157953,1019464370)+W(2,-1103738752,-1119780485,-1096323000,1042233324)+W(3,1054450248,1052850909,1043529432,1045060053)+W(4,1025390185,1041533536,1052087227,1039917313)+W(5,-1105614956,-1098158311,-1107965437,-1103437636)+W(6,1002177000,-1112424745,-1104846498,-1113895617)+W(7,-1119444855,-1112376802,1021969694,-1109951699);sum2=W(0,1032197744,-1119329897,1026978731,1042368013)+W(1,1034747948,-1109569271,1037031349,-1111213511)+W(2,-1106233686,-1117977933,-1119744119,-1074309068)+W(3,1068607081,1064708176,-1119111329,1041980892)+W(4,-1119285117,1035649904,1046616172,-1080074847)+W(5,1045039448,1043980108,1029320825,1028259198)+W(6,1036373860,-1113988579,-1150690390,-1148379867)+W(7,1031972703,-1113275705,1015848847,1008019670);WS(-1093673600,-1131421273); +sum1=W(0,-1121371719,-1126420325,1033366837,1021303790)+W(1,-1117842165,1011797877,1021502382,-1131840478)+W(2,-1114120908,-1110871822,-1087025669,-1118558279)+W(3,1056872571,1032969664,1037611499,1040800018)+W(4,1035660544,1021798446,1058317703,1042294182)+W(5,-1088792724,-1114500968,-1111697864,1017988942)+W(6,1009001293,1008740253,-1120291359,1022689127)+W(7,1031810222,-1148303562,-1137856917,-1121301883);sum2=W(0,-1145039688,-1129835426,-1119915157,-1110668832)+W(1,-1111519800,1002833896,-1127947266,1006052904)+W(2,-1114206314,-1119983153,-1121785409,1051729955)+W(3,1012089860,-1118223897,-1130809610,-1123764449)+W(4,-1116540509,-1113040628,-1118504757,1051989643)+W(5,1039755978,1025479957,-1158783904,-1127132522)+W(6,1020565626,1000979816,989230112,-1112437186)+W(7,-1112214518,1015165050,-1128941978,1025956493);WS(1065682080,-1111828541); +sum1=W(0,1015869752,1017604463,-1112250175,1024786188)+W(1,1036568133,1002255762,-1131800664,982208647)+W(2,-1145885026,-1115077208,1052074397,-1121697500)+W(3,-1086889687,1045248549,-1130857684,1037568127)+W(4,1022264616,1021224792,-1089954536,1047440331)+W(5,1049268572,-1109225970,-1123514660,-1113425822)+W(6,-1126764880,1032942526,1040282413,1035803452)+W(7,-1125683619,1031850711,-1141787602,1017131424);sum2=W(0,-1122978131,1016040732,-1114060649,-1125004872)+W(1,1029971540,1026938249,1017189437,-1124460348)+W(2,1016858600,968811648,1029169324,1051074882)+W(3,1006053609,-1154135582,-1115290499,-1140773838)+W(4,1028741871,1021399769,1032336595,1031746308)+W(5,-1103346234,-1113140779,-1141169189,-1122277912)+W(6,993636865,-1144040913,-1118019503,-1109484363)+W(7,-1124468225,1013417282,-1169769501,-1139883250);WS(1068575136,1057679145); +sum1=W(0,-1106541599,1008215334,989927934,1042310507)+W(1,1018512183,1040070410,1014261304,1041475113)+W(2,1049880682,1049251178,1026486412,-1095539136)+W(3,-1094672658,-1089191083,-1100618939,-1087252724)+W(4,-1093397815,-1111487207,-1092992340,-1103138323)+W(5,1043830943,1057944056,1044894993,1049811244)+W(6,1052783569,1042509671,1051194971,1040579493)+W(7,1038856114,-1114567880,1025292508,1038361721);sum2=W(0,-1114445084,-1136765855,1039574032,-1113238946)+W(1,1030357662,-1106803932,964162478,-1113028634)+W(2,1053593458,1055007475,-1105638736,-1078800745)+W(3,-1104375874,1059224194,1050059734,1035501186)+W(4,1057823779,1054334485,-1096181786,-1078443122)+W(5,1049857835,1058193036,1043677394,1029634285)+W(6,-1150175899,-1141017037,1042094581,-1134493359)+W(7,1020483059,-1099695416,-1118569338,-1110238952);WS(-1069843280,1043992756); +sum1=W(0,-1124948267,-1135429253,1025550072,1025838726)+W(1,1019242118,-1116233196,998797102,-1130610171)+W(2,1027695014,-1119099178,1044103833,-1113789227)+W(3,1039477491,1024839950,-1142719774,1028120504)+W(4,-1108770183,1017935435,-1112757821,-1130965835)+W(5,1042243413,-1101790135,1012540023,-1106167085)+W(6,1008956039,-1129507307,1030807982,1014849865)+W(7,-1114625158,1035190516,-1127852007,1023573770);sum2=W(0,-1114838118,-1121247640,-1095359738,-1072953064)+W(1,-1093135708,-1115141896,-1116140314,-1127503160)+W(2,1026300352,1028491168,1053083344,1074653957)+W(3,1056568596,1033233928,1030713448,1023653964)+W(4,1004928481,-1130258048,1024432884,-1102013621)+W(5,1030571276,-1116002270,1015669456,-1129660856)+W(6,-1130791968,-1127851536,1025789396,1030571860)+W(7,984097412,1025870428,-1120604784,1016702232);WS(1066802848,-1129257078); +sum1=W(0,1015630667,-1118978065,-1113784260,-1101616805)+W(1,-1108037466,-1114908350,-1114956027,-1111947911)+W(2,1033473243,-1155453851,1035395194,1065736411)+W(3,1045542397,1040181775,-1177594330,1036229652)+W(4,-1104672775,-1122431286,-1115117829,1061324843)+W(5,-1100789945,-1114134583,-1124148059,-1138173719)+W(6,-1114728473,-1121467910,-1105320751,-1095556296)+W(7,-1104703871,-1109993148,-1111474306,-1106051686);sum2=W(0,-1109560646,-1134031950,-1107125821,1017238679)+W(1,1024343484,-1127256871,1004378333,-1129735047)+W(2,-1155123513,-1108713026,1038996664,1026897780)+W(3,-1107646918,-1107869542,-1112902766,-1145442397)+W(4,1035199782,-1107664082,1043157052,1051508948)+W(5,1055083262,998755997,-1159444594,1012570830)+W(6,-1115008786,1019412439,-1123597732,1016515095)+W(7,-1106563795,-1116358964,-1117600772,-1110777694);WS(-1093453440,1062530498); +sum1=W(0,-1124930739,1018166794,-1109529502,-1114300581)+W(1,1025096231,1023247327,998443854,-1125424515)+W(2,-1115495349,-1109318263,1024699176,1040214918)+W(3,-1105577322,1043329716,-1123543752,1034740398)+W(4,1025637074,1039727605,931786146,1052285453)+W(5,1009762919,-1105534248,988548151,-1116356474)+W(6,1023868966,1023563962,-1131885027,-1104984446)+W(7,-1110072888,-1137647791,-1123805240,1018092315);sum2=W(0,-1116378324,-1110334365,-1139723269,-1134041225)+W(1,-1147091114,-1112237914,-1123080609,-1131603942)+W(2,1018118074,-1135013993,-1117515615,-1097345050)+W(3,1039717826,-1107830137,1032288465,978891919)+W(4,1027066059,1002595554,1053899571,1043336959)+W(5,1040668505,1010598309,1016807738,1026333875)+W(6,-1110082211,-1111471528,-1114430561,1040454031)+W(7,1033656482,-1117546906,-1115822981,-1119917138);WS(1067735712,-1080534052); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0][0] = HOOKED_texOff(vec2(-1.0, -3.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-1.0, -2.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-1.0, 3.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-1.0, 4.0)).x; +samples[2][0] = HOOKED_texOff(vec2(0.0, -3.0)).x; +samples[2][1] = HOOKED_texOff(vec2(0.0, -2.0)).x; +samples[2][2] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[2][3] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[3][0] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[3][1] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[3][2] = HOOKED_texOff(vec2(0.0, 3.0)).x; +samples[3][3] = HOOKED_texOff(vec2(0.0, 4.0)).x; +samples[4][0] = HOOKED_texOff(vec2(1.0, -3.0)).x; +samples[4][1] = HOOKED_texOff(vec2(1.0, -2.0)).x; +samples[4][2] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[4][3] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[5][0] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[5][1] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[5][2] = HOOKED_texOff(vec2(1.0, 3.0)).x; +samples[5][3] = HOOKED_texOff(vec2(1.0, 4.0)).x; +samples[6][0] = HOOKED_texOff(vec2(2.0, -3.0)).x; +samples[6][1] = HOOKED_texOff(vec2(2.0, -2.0)).x; +samples[6][2] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[6][3] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[7][0] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[7][1] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[7][2] = HOOKED_texOff(vec2(2.0, 3.0)).x; +samples[7][3] = HOOKED_texOff(vec2(2.0, 4.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns32, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/nnedi3-nns32-win8x6.glsl b/shaders/nnedi3/nnedi3-nns32-win8x6.glsl new file mode 100644 index 0000000..c0d3608 --- /dev/null +++ b/shaders/nnedi3/nnedi3-nns32-win8x6.glsl @@ -0,0 +1,258 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns32, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1120567290,994153301,-1139074345,1021572063)+W(1,-1117468940,-1119615974,-1132374181,1016607238)+W(2,992947237,-1137843051,-1125619459,1000210819)+W(3,-1132591953,-1122316900,1053527378,-1096186409)+W(4,-1144213939,-1121684346,-1125130389,-1146864427)+W(5,1046512564,1056444330,-1138699933,-1129869365)+W(6,-1117911182,1031756856,-1093298645,1051252577)+W(7,1023905988,979248533,-1119806663,1024055745)+W(8,-1112059294,-1109040755,1033651817,-1119537890)+W(9,-1121091407,1003125923,-1120338466,-1148456803)+W(10,-1133630411,-1141776739,-1126690796,1029429758)+W(11,-1110173889,-1113641375,1032546877,-1127458445);sum2=W(0,-1126549409,1022573468,-1140490164,-1114833146)+W(1,1021805248,1003196031,-1119263575,-1114028928)+W(2,-1119708173,1024108770,-1146392599,-1113990054)+W(3,1019494412,-1116443736,1032492771,1037187519)+W(4,1026983682,1006796332,-1124834267,-1099458226)+W(5,1055169273,1055452063,-1095922228,-1126677517)+W(6,1007192676,1017309436,1044169825,-1106256028)+W(7,-1122158651,1022777176,-1122284082,-1118444706)+W(8,1039787167,-1112035826,-1118290710,-1130573089)+W(9,-1127647730,-1121042004,-1145097543,-1125070906)+W(10,-1129575364,-1123455912,1010488320,-1109973330)+W(11,1044065299,-1121131548,-1121253833,1019346120);WS(1060265584,1063714812); +sum1=W(0,1021450242,-1128788280,-1111111528,1039397963)+W(1,-1131322533,1011253684,-1123065753,1022311347)+W(2,999728711,-1108349889,1022720848,974355898)+W(3,-1137050988,1028928107,-1119265827,1026074151)+W(4,1019796282,-1136338948,1021294882,-1140362288)+W(5,-1137639751,-1102959280,1043907075,1025863841)+W(6,-1118036885,1024570351,-1101623708,1041760911)+W(7,-1151514983,-1136816500,1009531192,1035626828)+W(8,-1106406289,1036057270,-1132552740,1027651305)+W(9,-1118665549,1025121435,-1128138578,1017790822)+W(10,-1124857459,-1139070668,992320459,1029327365)+W(11,-1106167682,1037788386,-1134343810,1024478285);sum2=W(0,1023758242,-1130878336,-1120671625,1027498838)+W(1,-1144315403,-1131041230,-1124053764,1017938673)+W(2,-1145138723,1027873020,-1122179044,-1127336921)+W(3,1000956747,1028583936,1005174931,1053869854)+W(4,-1093535895,1009416925,-1122894214,1031015106)+W(5,-1104963408,1073183850,-1074622268,1033668418)+W(6,999883691,994031846,1001047899,1053107786)+W(7,-1094361386,990806038,1004424067,999096115)+W(8,-1126082311,1035733703,-1114468554,992895974)+W(9,-1150041590,-1134395125,1002728051,1022225293)+W(10,-1123867271,-1131337021,1009546537,1005722235)+W(11,-1135618057,1023923178,-1126165581,-1138321549);WS(1067199072,981674447); +sum1=W(0,-1113726457,-1105288827,1040785760,1032552483)+W(1,-1124907206,-1139898486,1018794771,-1113372949)+W(2,-1099180638,1040483381,-1114167068,-1127069135)+W(3,-1115871564,-1095136821,1050678235,1054762461)+W(4,-1107257499,-1118671794,1008735750,-1102105679)+W(5,1052734745,1065065389,-1097429016,1035770473)+W(6,-1125817867,-1103744656,1044281884,1044820043)+W(7,-1104994292,-1122788302,-1125149117,-1108798620)+W(8,1033282170,-1097094388,1027211226,-1125646899)+W(9,1001830321,-1137689902,-1121192922,1010644366)+W(10,-1114303237,-1123221796,1016463803,-1099284685)+W(11,1032013917,-1124668651,1015961570,-1114483455);sum2=W(0,-1124538541,1021627528,-1127440395,1027300307)+W(1,1020622605,-1130074937,-1139313841,989560618)+W(2,1028695072,1011050585,999023778,1015498074)+W(3,-1119374292,1014774531,-1102978428,1052523334)+W(4,-1119874204,-1126569197,1010830983,1026431506)+W(5,-1087762234,1053318756,1038687085,-1128231773)+W(6,1020827626,-1118520012,1027251929,-1113197028)+W(7,1029469191,1018969905,-1125616841,1018739126)+W(8,-1109480314,1034265115,-1125820221,-1123965604)+W(9,1008596323,1014458179,1023848922,-1134832277)+W(10,-1159659466,1024095771,-1136528497,-1129452021)+W(11,-1132845253,1022117249,-1150305989,-1130502215);WS(-1082327904,-1101742629); +sum1=W(0,-1128942355,994965062,-1116531225,1027052286)+W(1,-1127603958,1021969515,1007179909,-1124051394)+W(2,1022855203,-1119991818,1015495233,-1129777663)+W(3,-1172666584,1029361427,1044526075,-1110346311)+W(4,1026992677,1017142675,-1115398989,1047686461)+W(5,-1095192109,-1106285700,1037065627,-1113404469)+W(6,-1145393643,1028067431,-1123739865,1043850022)+W(7,-1119388383,-1130059467,-1126910957,1025118144)+W(8,-1116394763,1030498357,1013662917,1016457699)+W(9,-1153678686,-1121058723,-1123838961,1032721886)+W(10,-1119902562,-1131255799,-1127439210,1018201755)+W(11,-1120454737,1034890279,1021249778,1017348651);sum2=W(0,1014279427,-1130890464,-1129394348,1014973315)+W(1,-1152876382,1004833335,-1131491186,-1137235679)+W(2,1024729347,-1130557096,-1150339726,-1141673719)+W(3,1026571161,-1097554196,1048952496,1014221291)+W(4,1016692910,-1159625756,1042930837,-1073378768)+W(5,1073588633,-1105375875,1035354953,-1124590261)+W(6,1025279833,-1092458255,1053816664,1016092170)+W(7,-1129170378,989537980,993445038,-1130245298)+W(8,1029166823,-1119905200,1027382919,-1138326931)+W(9,-1133457551,-1120075373,1030737081,-1147013927)+W(10,-1124802440,1017200998,1014707171,-1135266971)+W(11,-1151431678,-1161525308,979085751,1009604643);WS(1067891072,-1132872541); +sum1=W(0,1025237873,-1122834636,-1117007553,-1114151507)+W(1,1031366707,984935338,1014334757,1020114356)+W(2,-1118569017,976917621,1039451348,-1152616053)+W(3,1030238795,-1105197551,1049984500,-1088419628)+W(4,1049092386,-1123762161,1029025473,-1121917372)+W(5,-1114461425,1051488823,1008484089,-1145922699)+W(6,1007260181,1038150728,-1084792932,1053317187)+W(7,-1122288663,1012164149,-1121222990,1024596920)+W(8,1039495098,987986858,-1131993235,1000937675)+W(9,988616634,1024170379,-1124531763,1026119523)+W(10,1022258228,1011615629,-1123834925,1015271403)+W(11,1027254009,993078101,999667975,1004174827);sum2=W(0,-1144599930,-1116760996,1032730282,1032901632)+W(1,985378521,-1129170670,-1136232721,1019759527)+W(2,-1125055029,1027655943,1005941018,-1131155477)+W(3,-1137221455,-1111064134,1047170030,-1115058011)+W(4,-1129460922,-1129924333,-1128645029,1041961890)+W(5,1050767412,-1130649513,1019394239,1022276751)+W(6,-1151231836,1036336113,-1093680614,-1116185015)+W(7,-1115704458,-1148456898,-1156748756,1033905549)+W(8,-1120368706,-1105887613,1024734935,1015791177)+W(9,-1160295481,1022489781,-1115425401,1012694293)+W(10,-1147415538,-1140100033,1020235585,-1122711401)+W(11,-1132924343,-1122854992,1018590227,1012472897);WS(1059709408,1024973287); +sum1=W(0,-1126012593,996494647,-1119189544,1028092109)+W(1,-1124577204,1023428420,1004611460,-1122880609)+W(2,1030391200,-1114579692,1016065247,-1127475101)+W(3,-1134152138,1020165829,1046947367,-1111968183)+W(4,1002304420,1021721777,-1114032340,1049657976)+W(5,-1094041084,-1106474499,1040268033,-1114564220)+W(6,-1131432537,1014735450,1018380112,1044458845)+W(7,-1114168306,-1128430825,-1126017195,1032225804)+W(8,-1112475533,1030371012,1023640576,1019190017)+W(9,991561039,-1115613273,-1123292160,1033263557)+W(10,-1119951545,-1127717781,-1124178504,1022764985)+W(11,-1122300512,1034006830,1017080432,1017178441);sum2=W(0,-1125800395,1024962708,1023886172,-1122338700)+W(1,-1171853367,973576887,1011909323,-1143341847)+W(2,-1144213999,1018807292,1000330119,984068764)+W(3,-1116511680,1052819438,-1097320166,-1115186882)+W(4,-1140479659,1001426319,-1103527255,1076690943)+W(5,-1072687587,-1098249874,1023038428,1007326739)+W(6,-1120293374,1057154431,-1091630497,-1117298851)+W(7,1029135274,-1135413483,-1148349175,990717342)+W(8,1012280135,1010582795,-1122270538,1008233815)+W(9,1015270352,1025045202,-1118805022,990164302)+W(10,1020995472,-1129534965,-1125483347,1023577182)+W(11,1016249338,-1125194137,1003973863,-1140102471);WS(1066253200,1009489111); +sum1=W(0,-1121073890,-1102592607,1041243549,1033075644)+W(1,-1123366116,-1130535196,1024085178,-1107707469)+W(2,1026388586,-1107162241,1004872905,-1145989825)+W(3,-1130104696,-1106598971,-1121496677,1050587318)+W(4,-1113976447,-1120961954,1023275236,-1116780301)+W(5,1049328440,1057262167,-1116780079,1023066500)+W(6,-1128214764,-1111680448,1018012708,1027096831)+W(7,-1113850464,-1121521086,-1135799996,1032050668)+W(8,-1096674093,1040843700,1015552212,1008378152)+W(9,-1141685621,-1131519352,-1122519370,1028580820)+W(10,-1123000331,-1124335656,-1121776782,1028096678)+W(11,-1101864235,-1117086438,1040749648,-1135644600);sum2=W(0,1013104936,-1106333857,1041445982,-1143812784)+W(1,-1111423698,-1153458272,-1117172679,-1121647283)+W(2,1046293466,-1098323478,1025469214,-1123006845)+W(3,-1127525498,1031691189,1054977467,1032669672)+W(4,-1110723238,1018478818,-1135146700,1030458550)+W(5,1051999059,1016608418,1041509878,-1111394764)+W(6,-1122718205,-1111791784,1044523088,-1093831562)+W(7,1024902469,-1127833490,1027187072,1009508096)+W(8,-1099681845,1044831040,-1110045970,-1140396324)+W(9,-1119344027,-1127767754,-1185033988,-1117227205)+W(10,-1129401382,-1129041118,-1128814570,1037784205)+W(11,-1107269301,-1118967703,-1121987113,1021194206);WS(1055988095,1068562120); +sum1=W(0,1025054956,1041692938,1040251631,-1141880069)+W(1,-1113980711,1011769695,-1130996743,1036197410)+W(2,1032351834,1043619883,1002392085,1020511427)+W(3,1024941510,1042434277,-1100356972,1026325313)+W(4,1040781794,-1124414423,1026193148,1039706891)+W(5,-1093055992,-1087193164,1032223740,-1163338101)+W(6,1035977616,1036807045,1047058383,-1087410536)+W(7,1047196369,1015241743,1028839961,1029783554)+W(8,1043491547,-1097265155,1027612260,-1129538215)+W(9,1016648336,1019008523,1044781893,-1104034167)+W(10,1036828166,1018634427,1025665319,1026886128)+W(11,1048991774,-1099060796,-1113322870,-1180507092);sum2=W(0,-1109623534,-1098330057,1051762285,-1105318233)+W(1,-1120494292,1036873688,-1119308996,-1121926087)+W(2,1045894429,-1111281216,1002875661,-1152598618)+W(3,-1108667787,1031129408,1029096148,-1116694436)+W(4,1042501069,-1117793653,-1107757858,-1111457821)+W(5,1060518836,-1103134861,-1104320409,1023528108)+W(6,-1126585969,-1091241820,1065480819,1017373783)+W(7,1041202422,-1117516356,-1144042093,-1092220222)+W(8,-1120268316,1034184394,-1131983911,-1123122827)+W(9,1004201965,-1112242725,1035423856,-1129342463)+W(10,1023586732,-1131565835,1024608852,-1104308532)+W(11,-1105721536,-1134873838,1017105251,1015347387);WS(-1073915832,-1098883962); +sum1=W(0,1030932360,1024626915,-1098288699,-1130380922)+W(1,1033018229,1021355752,-1131602112,1032898976)+W(2,-1117814224,-1103847418,1040490540,-1120290302)+W(3,-1125999684,-1122370130,1056014501,-1096397881)+W(4,1031863906,-1131922448,1018154928,1011274315)+W(5,-1106175819,-1105327485,1044317365,-1139369119)+W(6,-1122265980,-1113904235,-1097956311,1059753579)+W(7,-1098424101,-1121102372,-1122315861,1029902191)+W(8,-1115232133,1040451325,-1122968848,1033247800)+W(9,1018577993,-1115348785,-1126206816,1039068637)+W(10,-1136273729,-1121007738,-1120663220,-1111387910)+W(11,1017122848,1042824131,1021433455,-1143567007);sum2=W(0,-1118315643,1046909717,-1100980148,-1129801877)+W(1,-1122172234,1010610423,-1126395193,1025514844)+W(2,-1112473945,1030594060,-1111527676,-1135186433)+W(3,1014636591,1026986728,1040985677,-1101816290)+W(4,1023795758,1030475382,-1138413531,-1112879553)+W(5,1027746798,-1094641835,1027030278,-1121095046)+W(6,1013622247,-1122377333,1051150943,1041324898)+W(7,-1113671456,1015864126,-1129252552,-1114813410)+W(8,1057006779,-1106485598,-1133454616,999966259)+W(9,-1122713894,-1144089687,-1138866101,-1115757412)+W(10,1001347783,-1127643580,-1131632742,-1140190295)+W(11,1035155819,1016695560,-1139893847,-1124292419);WS(1058139200,1067005003); +sum1=W(0,-1131277347,-1103206155,1015263811,1048238354)+W(1,-1106607621,-1122297405,-1128484819,-1112832909)+W(2,-1111332237,1044526364,-1104751670,-1124214159)+W(3,1014594990,-1108301118,1004409248,1056580635)+W(4,-1107635783,1017238947,-1112913457,-1111811582)+W(5,1031432468,-1114379264,-1107787999,-1110162105)+W(6,1028891109,-1113179152,1057408386,1025802539)+W(7,1020725062,1002560364,-1118434446,-1100757638)+W(8,1053177162,-1104236495,-1114959053,-1113724157)+W(9,-1125459884,-1116265771,1035803645,-1124751623)+W(10,-1129296244,-1123244163,-1151139539,-1119227733)+W(11,1052437131,-1121289813,-1120069105,-1115210511);sum2=W(0,-1121057595,1023292260,-1111891368,1035766063)+W(1,1032208606,-1122161823,1016432775,-1124268922)+W(2,1029388268,-1118389960,-1122510207,1028529468)+W(3,-1112629457,-1116199054,-1123843875,1033023394)+W(4,-1113138713,-1118001871,1031151061,-1110795130)+W(5,1054055516,1054507013,1019595258,1026811027)+W(6,-1126819952,-1103006120,1020478730,-1104664187)+W(7,-1114598707,-1116707921,1021228732,-1134369449)+W(8,-1135412321,-1121918429,1023542227,1018790016)+W(9,1009585899,-1120667087,993043492,982538191)+W(10,993709924,-1146185904,-1127402608,1016333862)+W(11,996548072,-1108029597,-1129671373,-1152045912);WS(-1091835967,1038509097); +sum1=W(0,1002958335,1041562959,-1124369824,-1093861855)+W(1,1039801017,-1132073944,1031236696,1038000620)+W(2,1029288008,-1100002304,1038306915,1032364667)+W(3,-1122124314,1042029266,-1104824881,-1087002164)+W(4,1037725118,-1122032128,1034973544,1034473413)+W(5,1049571184,1052741396,1041619283,1036587856)+W(6,-1120202292,1040514695,-1089024373,1044570703)+W(7,1031782758,-1138629744,1015820538,1042048878)+W(8,-1089426268,1042398171,1038671876,1010685600)+W(9,1033636218,1029242778,-1107643796,1023923250)+W(10,1025678032,1027566834,-1121967836,1042898689)+W(11,-1091407169,1030369604,1043274836,-1153060031);sum2=W(0,1016791821,-1110538641,-1114409767,1045544748)+W(1,-1111278622,-1127655665,1013192458,1023566599)+W(2,-1113846927,1029704719,-1125617069,1012727082)+W(3,-1123883287,1000152052,-1109610416,1034122997)+W(4,-1110039103,-1131212885,1015528749,-1112636904)+W(5,1054155729,1054056541,-1108588248,1000573476)+W(6,-1131825297,-1116367667,-1109117303,1030522539)+W(7,-1132906850,-1123699129,-1132736674,-1130121037)+W(8,1016394661,-1116026974,-1135451026,-1126704253)+W(9,1019880949,-1114305335,1030290683,992430312)+W(10,-1134728538,988228497,-1117749640,1033496981)+W(11,-1157815185,-1107824982,1016739853,-1123545619);WS(-1089794384,1053743764); +sum1=W(0,977181200,-1124062435,1045792382,-1096122984)+W(1,1035356461,-1146772642,1022034304,-1123589329)+W(2,1045687772,-1100185218,1029423919,1022712508)+W(3,999195154,1008939465,1043214811,-1089534650)+W(4,1037071922,986801416,-1173982736,967031199)+W(5,1051096635,-1128424615,-1130937578,1009586465)+W(6,-1131079992,1031201254,-1106608558,1022835035)+W(7,1033635179,1012941585,-1117753925,1038421055)+W(8,-1104815387,1033659882,-1112564552,1008485953)+W(9,1011212627,1023184516,975115280,1025453978)+W(10,-1148354182,1023442138,-1131210280,1042888267)+W(11,-1113606040,-1114474998,-1115626236,1020831720);sum2=W(0,1025756371,1038582018,-1095235720,-1097242729)+W(1,1048188946,-1145714840,-1152866061,-1136865390)+W(2,1027392563,-1108446917,1009460859,1022755591)+W(3,1022411083,1028991375,-1094985700,-1092586393)+W(4,1013992713,1033471029,1021941035,-1102180290)+W(5,1062263751,1055770556,-1098658877,1018658879)+W(6,1018807869,-1127151005,1023141397,1024429444)+W(7,-1162587434,1032105067,-1162131898,-1103213990)+W(8,1032099771,1045256871,-1104388978,-1135748387)+W(9,1030478695,-1148467374,-1139645537,-1115314196)+W(10,1033707193,1008760659,-1117519259,-1101731450)+W(11,1050734432,1044538365,-1097902791,1019361371);WS(-1092258911,-1089815334); +sum1=W(0,-1139634407,1045821685,-1119357002,1034361159)+W(1,-1137425069,-1130196683,-1147044493,1034203057)+W(2,1015718019,1051668019,-1115826689,1023465264)+W(3,1017866535,1044613801,-1104936487,1032636456)+W(4,1035725147,1015877619,-1130890003,1035729090)+W(5,-1090722234,-1086460492,1010439579,-1117806874)+W(6,1027130446,1029847032,1052628837,-1094763749)+W(7,1043916211,1025832214,1016637069,-1102281888)+W(8,1057948020,-1095562645,-1114240161,-1123952546)+W(9,1016500860,-1131657511,1044884520,-1106362539)+W(10,1035145793,1029577644,1026913637,-1121093118)+W(11,1053191568,-1098187032,-1102258214,1011300119);sum2=W(0,-1128703433,-1113670137,1038503213,1040684472)+W(1,-1099552212,993905065,1012757410,1024378351)+W(2,-1102109659,-1100043210,1026887817,1003273444)+W(3,1007787634,-1111552612,1041322248,1041989415)+W(4,-1104965070,-1144755940,1023396449,-1131966925)+W(5,1061982310,1066879681,-1107386978,1019447753)+W(6,1017560605,-1114649634,-1104769108,-1101238360)+W(7,-1104448348,1019550873,1012244530,1040107467)+W(8,-1098175974,-1089047102,1016563929,1024790159)+W(9,-1143125556,-1122758108,1026757617,1023979343)+W(10,-1107880053,-1138003290,1024938353,1032092801)+W(11,-1105089779,-1100231891,1036400101,1014825186);WS(-1086002512,-1084928660); +sum1=W(0,-1131929465,-1115340892,1050776738,-1103148388)+W(1,-1143173743,-1130358353,1017039401,-1113717074)+W(2,1042912513,1010821235,-1128281895,-1122997746)+W(3,1020173741,-1102662114,1053707114,-1104889757)+W(4,-1111952748,-1139775729,-1134499377,-1097984585)+W(5,1055825787,1049797700,-1098746549,-1117617116)+W(6,-1129468257,999020755,-1108349590,1042555580)+W(7,-1106170922,1014563169,-1138890277,-1114393442)+W(8,1033511359,1041826234,-1103706929,1010736529)+W(9,-1132813939,1028151894,-1108075378,1032548919)+W(10,-1127274842,-1137959865,-1143488833,-1132982017)+W(11,-1138015505,1041074464,-1110410462,-1123442568);sum2=W(0,1000102260,-1118205558,1051204856,1041999613)+W(1,-1135930364,1019347314,-1126633986,1029900308)+W(2,1063980475,1037162912,-1134402620,-1137379540)+W(3,-1144291760,-1140439712,1066576503,-1167793729)+W(4,1020225891,1012525172,-1119827470,1041420529)+W(5,-1075398805,-1085093765,-1133429672,-1123883092)+W(6,1016232493,979974721,-1098954833,1017117707)+W(7,1028764817,-1139078108,1023762781,1006017080)+W(8,-1114660078,1033481679,1018587503,990744512)+W(9,-1141218312,-1137204884,1021034547,-1137323924)+W(10,-1132685152,-1137103964,1025293286,1002898232)+W(11,-1117648930,1002077480,1026769102,1022792204);WS(-1084377664,1027078466); +sum1=W(0,1028609881,1023875764,-1113303893,1031700430)+W(1,-1138486380,1025866053,-1129675619,1032239673)+W(2,-1114746833,1026119482,-1122216064,1016759071)+W(3,1022038247,1043647401,-1084547118,1051850662)+W(4,-1132199979,1032834541,1010908070,1024809124)+W(5,-1156932707,-1104988345,1033025459,1029398137)+W(6,1026611885,-1131519215,1050946557,-1083734174)+W(7,1043104191,1007914454,1030113110,-1128260416)+W(8,1047159719,1027361605,1018468419,1021351811)+W(9,-1132403564,1026951667,1020650755,-1111325382)+W(10,1014159432,1014779182,1031201461,-1115829469)+W(11,1037768177,1042797655,-1108759836,1018395723);sum2=W(0,-1123315648,1034590473,1026150549,1030314237)+W(1,-1113579452,1014056813,-1139192721,-1139997869)+W(2,969235347,-1112534256,-1158492453,-1132289868)+W(3,-1123875414,-1115134908,1042477897,1037120039)+W(4,-1098184684,1018097190,1030816333,1008365317)+W(5,1046059603,1027803789,1032895251,1032146261)+W(6,-1123326315,-1110803030,-1155992274,-1102080708)+W(7,-1126452160,-1114996104,1016532474,1028786615)+W(8,-1122978967,-1135183209,1047700729,1011346781)+W(9,-1130303816,1004595129,-1119026545,-1120008811)+W(10,999072441,-1115756663,-1131093304,1015409534)+W(11,-1111529432,-1109468455,1047312851,-1122411639);WS(1043014014,-1087744322); +sum1=W(0,1027952711,-1123526530,1008337244,1035059438)+W(1,-1116610857,1026995059,1020523582,-1138321214)+W(2,1022379422,-1120526792,1037330895,-1156487121)+W(3,1002118409,-1110182129,1057818171,-1086364127)+W(4,1040407761,1009757724,1021435438,1032339433)+W(5,-1110004232,-1118604170,1040846837,-1153254001)+W(6,-1138414444,1035386835,-1083267015,1057062103)+W(7,-1107059287,1021783366,1003104545,-1137297015)+W(8,1007303460,1036507098,-1128420830,1034169880)+W(9,1021955143,-1119534945,-1115695919,1038869533)+W(10,1017909759,-1138765796,1013303243,-1108462406)+W(11,1036022088,1036993862,-1142792885,1027514579);sum2=W(0,-1129567658,-1117738234,1034622765,1030957051)+W(1,1029443337,-1132249217,-1156092221,-1131091573)+W(2,-1128107850,-1118479197,1005860107,969559787)+W(3,-1123579911,-1115037144,1017778197,1041246295)+W(4,-1110926783,-1132354551,1008715269,-1115010115)+W(5,1050631618,1054490255,-1157251077,1024782459)+W(6,-1125160256,-1101087826,1045062017,-1117275788)+W(7,-1108959270,998415619,1026524337,1015586863)+W(8,-1095615964,1025836507,1020928095,1012990901)+W(9,-1137738801,-1113332277,1020345131,1027688491)+W(10,-1122972204,-1161032699,1017463077,1019720419)+W(11,-1101223712,-1120912313,983922363,1011300789);WS(1054959103,-1083836992); +sum1=W(0,-1144415487,1023853723,-1123173616,-1121737045)+W(1,-1124541667,1017937944,-1132171248,-1118146184)+W(2,1018672592,-1123041056,-1120856711,-1131928876)+W(3,-1133053416,1039313221,-1090265426,-1161038260)+W(4,1034290206,1027902624,980216825,-1107434917)+W(5,1057912142,1053211380,-1109871174,-1129566080)+W(6,1018609320,1027331294,1044087220,-1089253699)+W(7,1040602782,-1121689404,1017404666,-1111685883)+W(8,1046306952,1036559366,-1113560292,1010241568)+W(9,-1127349353,-1129432820,-1133031712,-1110305609)+W(10,-1148202051,-1124796708,-1154920122,-1126004808)+W(11,1039769364,1035028498,-1109624712,-1127304152);sum2=W(0,1018338338,-1110884586,-1136808221,1026570078)+W(1,-1136194357,-1120452457,-1139755941,-1129406227)+W(2,-1118232763,1021052542,1020321772,1004896115)+W(3,1025801614,-1108237236,-1115176435,-1114736489)+W(4,1048907220,-1119060361,-1122001203,1037408540)+W(5,-1113269344,1041519115,1046652366,-1107310106)+W(6,1010171613,1040327756,-1105808410,1047951095)+W(7,1035402835,1033649944,-1132321439,-1123391437)+W(8,-1110685464,-1115014721,-1111631696,-1126977687)+W(9,1016232007,-1129086463,-1168436052,-1113536502)+W(10,1026410761,1026056519,1013259501,-1132299663)+W(11,1021765462,-1123780081,-1102273277,1027695361);WS(1057903600,1067139767); +sum1=W(0,-1130009103,-1107061793,1043136838,-1102099951)+W(1,-1115498357,-1123992244,1012511358,-1111029392)+W(2,1028125200,992918145,-1117969679,-1145160172)+W(3,-1137761926,-1104154592,1051222763,-1106189879)+W(4,-1104467697,-1125356943,-1124300975,-1103367501)+W(5,1060113955,1050079197,-1108729546,-1117739880)+W(6,1008012526,1009980758,1024983063,1048697267)+W(7,-1111781863,-1165450354,-1117250069,-1113394087)+W(8,1016245011,1034440698,-1104780916,-1114615608)+W(9,-1162310274,1026647906,-1117690736,1041096574)+W(10,-1117169584,-1139440358,-1115259538,-1114684710)+W(11,1025498192,1041574755,-1120787335,-1118506516);sum2=W(0,1011962608,1038855085,-1122245118,-1126451804)+W(1,-1106947014,1026864717,-1120699406,-1131692032)+W(2,-1112627842,-1110442893,1008646548,-1123527836)+W(3,1007214128,1038467393,-1122221782,1042136464)+W(4,-1113116412,999106843,1026799984,-1112343444)+W(5,-1106597578,1054959792,-1109079281,1011333214)+W(6,-1145867047,-1113849522,1026356645,1031831390)+W(7,-1109881757,-1117815384,1029224075,-1138735380)+W(8,-1114988845,1046305460,-1109725169,1032922020)+W(9,-1116434980,-1120001434,1020413259,1008343524)+W(10,-1123390380,-1119479700,1022659583,-1118784264)+W(11,-1123194990,1047204017,-1114571313,1000599735);WS(-1101058110,1058505899); +sum1=W(0,1008909245,-1123852394,1037579744,1024016996)+W(1,-1121096497,1022516663,1015324303,-1112299044)+W(2,992056181,-1124723744,-1131134189,-1130344395)+W(3,-1151491221,-1128516275,-1098678002,1056678303)+W(4,-1109419958,1021039583,-1139701245,-1102217815)+W(5,1045087960,1021619781,-1098726544,-1132041247)+W(6,1009250957,-1104833467,1058072040,-1095085849)+W(7,-1109643932,-1140161581,1031005836,-1113648843)+W(8,1036986521,1041104615,-1121889031,1026848535)+W(9,-1131857944,-1119585353,1024521495,-1129179587)+W(10,-1127292144,-1125244995,1009310828,-1121962739)+W(11,1032839164,1025292595,1017031326,1005622747);sum2=W(0,992821683,1023078017,1023704638,-1112719649)+W(1,1027637582,1021903376,1017011277,-1140746852)+W(2,-1139829185,1034266306,-1119668356,1016759855)+W(3,1011814063,959773689,-1107874815,1032357888)+W(4,-1113625790,1034398452,999390943,-1112338116)+W(5,-1113377165,1057654961,-1086342498,1051594315)+W(6,-1121326865,1035095219,-1108229047,1012152366)+W(7,-1101720659,1035110699,-1128713872,1024063493)+W(8,1033653422,-1122811174,-1136544465,1031049449)+W(9,-1144442308,1023948090,-1133039950,1020168485)+W(10,-1121720102,1018271190,-1138094133,1032024680)+W(11,-1140161389,-1113617432,1019370668,1021410443);WS(-1098338111,1023498750); +sum1=W(0,-1138701849,-1121510465,1040383254,1010706669)+W(1,-1149170878,1021863397,1022617405,-1112416999)+W(2,1041395124,-1110248019,1020223099,1016227961)+W(3,-1168316434,-1180399652,-1097293461,1058209828)+W(4,-1106291545,1018489101,989875557,1037491593)+W(5,-1094988553,-1095385553,984962665,1021609037)+W(6,1014043241,-1102495433,1059563452,-1097437690)+W(7,-1119747464,-1145092370,1028694643,-1121884733)+W(8,-1118903112,1046085501,-1122110350,1026243438)+W(9,1012653195,-1122132512,1027507886,-1130301425)+W(10,-1123237039,992349061,-1123740578,1036415429)+W(11,-1126796061,-1128488725,989067449,-1164474953);sum2=W(0,-1164068108,1029420636,-1112077059,-1110964317)+W(1,1028276360,-1148255859,-1120898035,1036981221)+W(2,-1106651210,-1141413971,1028557670,-1129246253)+W(3,1013829433,1035658823,-1106432341,1035230257)+W(4,1017251513,-1131530425,972583599,1039879187)+W(5,-1108370344,1044568046,1026800348,-1126980980)+W(6,1016837545,-1102894380,1027609202,1041920264)+W(7,-1124056839,-1121785123,-1128855117,-1128781606)+W(8,1035930993,-1110600858,1023713154,-1124361549)+W(9,-1120505887,1013125305,1026372950,-1125837008)+W(10,-1132458450,1009116645,-1130000643,1008550341)+W(11,1017927697,1019426133,-1129712212,-1127748642);WS(1064075168,-1085260633); +sum1=W(0,1020097830,-1104011171,1041894009,1034297780)+W(1,-1113914242,-1138151419,1004279127,-1113516590)+W(2,1036855277,-1106861493,1031661466,-1151789197)+W(3,1028112237,-1103036207,1045116105,-1112331770)+W(4,1017072798,-1129921062,1026532451,-1102348791)+W(5,1027716980,1058153819,-1100287056,1026370483)+W(6,961537748,-1120389361,-1096376936,1043898973)+W(7,-1119328440,1025128111,-1130706656,1038928889)+W(8,-1096709211,1048347472,1032287909,-1140511211)+W(9,-1135275149,-1129088474,996846509,-1164071066)+W(10,1019059671,-1167790389,994604265,1031068695)+W(11,-1102472071,-1118081687,1040008649,-1140610427);sum2=W(0,1014633478,1033869831,-1114935893,-1111281510)+W(1,1016908923,990649086,-1138053524,-1133342724)+W(2,-1126366588,-1128243618,-1145483991,996067150)+W(3,-1140130516,1003291347,1043822142,-1107071420)+W(4,1006526455,1012165262,-1120104172,1033872317)+W(5,-1086850225,-1084734921,1045857736,-1119271334)+W(6,1012698026,1006625651,1030145358,1067004758)+W(7,1020093203,-1129772456,-1123853902,-1121932314)+W(8,1040015383,1046081705,-1118176982,-1144422823)+W(9,1013120742,1004319943,-1150276254,1002809783)+W(10,-1161820989,-1141799647,-1133638700,975983930)+W(11,1028724356,1031930717,-1104669476,-1143148999);WS(-1102756414,-1120030182); +sum1=W(0,-1114857721,-1102767115,1043961809,-1124210446)+W(1,-1117667780,-1120413918,1007304745,-1115971707)+W(2,-1101676399,1028311347,-1113057893,-1125847632)+W(3,-1113282502,-1095987354,1053600405,1046261656)+W(4,-1103902228,-1114932345,-1135708169,-1101194087)+W(5,1065521342,1068133511,-1095174540,1027169042)+W(6,-1130226572,-1099422340,1046696200,1042816511)+W(7,-1101926052,-1125196828,-1115825727,-1109693396)+W(8,997946179,-1098872988,1020822452,-1114420141)+W(9,-1142173365,-1122657804,-1112668237,-1133742993)+W(10,-1113901869,-1121096548,-1136250680,-1100198174)+W(11,1025742970,-1113205915,-1140085511,-1110338975);sum2=W(0,1022430051,-1119384349,-1127804673,1011315171)+W(1,-1121146859,1009328259,-1126993785,-1117046041)+W(2,1014745875,-1106680506,1009189211,-1125156477)+W(3,1027244407,-1113440146,-1129639049,1020590601)+W(4,-1115604020,1000906166,-1136699515,-1099757367)+W(5,1065124465,1034863647,-1111752578,1017063165)+W(6,-1115987625,1038214736,-1113943514,1035633573)+W(7,-1124061319,-1117062841,1024283610,-1152620459)+W(8,-1130768777,-1116743921,-1120130033,1024425511)+W(9,-1120680273,1013074835,-1113854522,-1127682237)+W(10,-1148961286,-1119191933,-1137060371,1015902709)+W(11,-1112590762,1012706011,-1113078716,1024105421);WS(-1077988040,-1098609713); +sum1=W(0,1020152245,1040202093,-1114910389,-1104283732)+W(1,1039298438,-1125387021,1002836371,1027276515)+W(2,1037438449,-1105856183,1028081393,1013826369)+W(3,-1132015209,1049452385,-1100627367,-1098108347)+W(4,1024125142,1018674229,1010566313,1032875267)+W(5,1030654167,-1102427678,-1131705423,1017725301)+W(6,1010053945,1036663212,-1113362709,-1104090280)+W(7,1042947115,-1141124531,1020486319,1034908465)+W(8,-1095852652,1048934265,1019783717,1015682181)+W(9,1030571159,-1114877050,1025947458,-1126406169)+W(10,1021770278,1006527587,-1132252076,1038229775)+W(11,-1105166249,-1138504825,1035155325,1016700365);sum2=W(0,-1142267837,-1132626695,1023852808,1039691642)+W(1,-1114839167,-1147709133,-1139598567,-1138132903)+W(2,1033876712,-1110747637,-1127924867,-1155304986)+W(3,967895252,-1131100139,1012220303,1061640184)+W(4,-1122160974,-1121532798,1008554815,1032537913)+W(5,-1095058264,1037101696,1049832068,992067354)+W(6,-1145406733,-1112410791,-1110252153,-1091888991)+W(7,1027903240,-1128735955,1024473654,1023361695)+W(8,-1104029741,-1161200181,-1126050715,1025251228)+W(9,-1120792990,-1130141475,1031843465,-1119701362)+W(10,-1132864167,-1157362170,1020245499,1015868043)+W(11,-1196949327,977066218,-1118663498,1009680879);WS(1050097375,-1144620389); +sum1=W(0,-1128715377,1044211901,-1107032850,-1104047251)+W(1,1044522647,-1128884681,1011057731,1033637193)+W(2,1022227585,1028225817,1008625791,1011579579)+W(3,-1134438475,1048874276,-1096643663,-1092741994)+W(4,1044273989,1018667761,1019193873,1034983634)+W(5,-1114392598,1036584266,-1113959235,1025301657)+W(6,1022275225,1042543166,-1092702793,1025153498)+W(7,1042105869,1024565397,1009602711,1017343103)+W(8,-1097617495,1028276325,1041046056,-1123355105)+W(9,1032927683,-1149239594,-1139445891,-1142331733)+W(10,1025445761,1027058603,-1136253330,1037918654)+W(11,-1097624368,-1118553533,1045159742,1015982985);sum2=W(0,-1125113091,1033296420,1004274749,-1102915066)+W(1,1028147108,1017918867,-1172679141,-1128383915)+W(2,1016688407,1037338868,-1144981581,991135609)+W(3,-1152889753,1019343075,-1103752812,-1089888071)+W(4,1030353331,1022111055,-1126905475,1031861037)+W(5,-1097163724,-1090194983,-1121675098,-1117974458)+W(6,1006649294,1038268779,1062746712,1041005261)+W(7,1019962267,1026630548,-1117488938,-1113645001)+W(8,1051715314,-1118523722,1006661278,-1115156997)+W(9,1019337735,1028739248,-1124587947,1027501384)+W(10,1023891692,1018829507,-1172252645,-1120621430)+W(11,1035778038,-1154227385,1013440998,-1136345798);WS(-1098112447,-1125216946); +sum1=W(0,1010417568,-1112042689,1004161984,1041397655)+W(1,-1114418485,1021110568,1006322176,-1119953952)+W(2,-1112614584,1018267345,1024614191,-1137912440)+W(3,-1140685064,-1116450322,-1090400895,1058507679)+W(4,-1104618697,-1127130192,1017991280,-1112784281)+W(5,-1113885864,1050855349,1027345269,1019594896)+W(6,-1126853432,-1105219289,1051228911,-1097135921)+W(7,1037685358,-1116355204,-1146614696,1023451023)+W(8,-1126136276,-1122997076,1039454784,987030015)+W(9,1004323364,-1153582112,1016683168,-1149231824)+W(10,-1140802306,988441407,1019294567,-1110071894)+W(11,983864831,1012208560,1030420791,-1149650752);sum2=W(0,1035141604,-1152950404,-1100547860,-1104792229)+W(1,1037875812,-1138078871,-1134943159,1010887850)+W(2,1025641276,-1119115361,1021611837,1016878804)+W(3,1031353634,-1122370025,-1101375945,-1100366049)+W(4,1015511489,1015482099,-1120750640,-1101926585)+W(5,1057546844,1042205116,-1109199537,-1140091328)+W(6,1025254666,-1104605825,1048526282,1042952063)+W(7,-1105787312,1032201266,-1114509439,1035852377)+W(8,-1108641700,1039483674,-1109299079,-1132053601)+W(9,1028756554,-1114959163,1033576762,1030776026)+W(10,-1143994351,1007578680,-1113538005,-1148680422)+W(11,1037895648,1041006229,-1107406256,-1124574444);WS(1027823864,1049081066); +sum1=W(0,1012131718,1045092167,-1108779609,1031292119)+W(1,-1168425160,-1123848398,-1130128499,1032126573)+W(2,-1127539283,1050389010,-1113259988,1017365039)+W(3,1020918007,1043895467,-1101697729,998802811)+W(4,1036534559,1015583683,-1147020173,1034108246)+W(5,-1094495268,-1089568357,1026355631,-1120941186)+W(6,1027080278,1035993776,1047905888,-1096020979)+W(7,1044370080,1024649726,1020448605,-1104998342)+W(8,1057437086,-1097851474,-1112197645,-1123264842)+W(9,1012408472,-1129990263,1041161122,-1105719893)+W(10,1035394325,1027345300,1024273997,-1123698278)+W(11,1052750589,-1101687913,-1103284196,966350543);sum2=W(0,1023788251,-1115639872,1042970848,1041100183)+W(1,-1120506242,-1214633659,982227227,-1150596845)+W(2,1046665761,1053945290,-1121383639,-1143798279)+W(3,1006064903,1015277390,1037025188,-1128807740)+W(4,1017634434,1023282498,-1119196045,1006169559)+W(5,-1080187678,-1078236510,998104205,-1114831851)+W(6,1022374646,1034991246,1047303977,1053440142)+W(7,1037533712,1023435593,-1139981943,-1110295858)+W(8,1052132899,1058969577,-1112892146,-1124500500)+W(9,1006364327,-1148612007,1033799186,1029728171)+W(10,1033828190,1015376522,-1130167410,-1131776900)+W(11,1035867784,1005561207,-1110685126,1014287051);WS(-1088189216,1043089281); +sum1=W(0,-1140748743,1049770738,-1088213532,1042644994)+W(1,1041481493,1008330103,-1121398410,1041680407)+W(2,-1096476823,1047024381,-1107153702,1031833588)+W(3,1026065228,1048806759,-1084369379,1050638745)+W(4,1035104215,1020682979,-1149048846,1043836791)+W(5,-1108723571,-1101872740,1041455384,1026205458)+W(6,1020127051,1034371336,1036745881,-1094226627)+W(7,1040593116,1006701623,1036138263,1024770968)+W(8,1041309981,-1096464492,1045395982,-1120876186)+W(9,-1128555260,1037337862,1011670631,-1106071481)+W(10,1040128941,1024336228,1038047047,-1137213911)+W(11,1028379642,-1102959693,1016152290,1028740542);sum2=W(0,-1129618765,1028575755,1018469269,-1109549862)+W(1,1022763469,-1123897489,1004169862,-1114659435)+W(2,1020493837,1025826707,-1116607191,-1153284395)+W(3,-1163586391,1025093243,-1120959857,1018231561)+W(4,1017295613,-1131222849,1012667011,-1110197183)+W(5,1045602812,1050121196,-1110473213,1019030581)+W(6,1004789414,-1140439179,-1119013866,1009644755)+W(7,-1143499366,-1125130849,1006867267,-1110600679)+W(8,1007539419,1038682513,-1107944702,1009132883)+W(9,-1148564598,1019765437,-1126956769,1017107081)+W(10,-1123266847,1006886939,1023888443,-1106146141)+W(11,1005311510,1040899502,-1114206671,-1127991173);WS(-1082596160,1043517696); +sum1=W(0,1028909798,-1154689545,-1104169149,1025985531)+W(1,1029418231,1024711058,-1153492953,1032486047)+W(2,-1117361518,-1118729126,1034798166,-1125485751)+W(3,967933898,-1128767583,1049441299,1031994846)+W(4,1006099469,1008177302,1019116907,1037703496)+W(5,-1087176649,-1089391227,1046438773,986175666)+W(6,-1132218099,-1115978788,-1115448907,1056185125)+W(7,-1106352341,-1125946755,-1129844133,1027446332)+W(8,1018413135,1032249225,991686873,1030151438)+W(9,1011144392,-1146849277,-1154137305,1036574828)+W(10,-1131200252,1006963806,999709323,-1114471573)+W(11,-1130624603,1042483386,1022706506,1019997155);sum2=W(0,987806561,-1103978637,1039699877,1032745921)+W(1,-1106709297,1017765222,1024001581,-1138508200)+W(2,-1109586411,1036006171,984628641,-1151113585)+W(3,-1132313544,-1113576691,-1109697688,1041044376)+W(4,-1135869680,-1128136972,-1138298076,1037869389)+W(5,1004783368,1057490671,-1123523352,-1126668402)+W(6,1003342504,1041829747,-1101655248,-1120283284)+W(7,1037905909,-1142518888,-1131321664,-1102361734)+W(8,1023850463,-1118937466,-1133053924,-1119975873)+W(9,1015369606,995389041,-1123567230,-1137071480)+W(10,1008345900,1015435786,1016585830,-1103350916)+W(11,1033013495,1023653113,-1123775069,-1153724113);WS(1066487464,-1081148228); +sum1=W(0,-1156758047,1045622655,-1121579186,1016497454)+W(1,1026804003,1025331662,-1115667101,1039828621)+W(2,1016276052,1034243041,-1129971954,1022570928)+W(3,1032245054,1043227835,-1107379682,-1125065087)+W(4,1036683903,1033790001,-1120457266,1051174634)+W(5,-1081882686,-1081200961,1050524446,950141917)+W(6,1025970038,1038187760,-1114502289,-1121918554)+W(7,1033938044,1035886143,1028999903,1035936180)+W(8,-1110627634,-1121754318,1045144826,-1123227402)+W(9,-1129094085,1028125692,1032926021,-1138807120)+W(10,1028558202,1023360168,1031685286,1038703027)+W(11,-1130240468,-1128847308,1036935449,1033245399);sum2=W(0,990406129,1013162021,-1111903383,1031481662)+W(1,-1112035485,1026146121,-1109318105,1040565489)+W(2,-1098989385,1036428343,-1111376696,1020848344)+W(3,1032976305,-1125670617,-1114873385,1043786440)+W(4,1007686716,993596601,-1108583903,1041812300)+W(5,1042303391,1039454897,1044627344,-1114987237)+W(6,1009651516,-1123723867,1001920896,1032603577)+W(7,-1107723593,1030752081,1027268958,1031967357)+W(8,-1113158574,-1097549253,1043104932,-1112152994)+W(9,-1109295843,1033460548,1015358203,-1117993943)+W(10,-1142055788,-1128311189,1034160517,-1113698315)+W(11,1032025507,-1119346601,-1111706149,1024170945);WS(-1085700080,-1080808385); +sum1=W(0,1024296914,-1130852634,-1113008209,1037784580)+W(1,-1128041639,1011155704,-1122227946,1020782261)+W(2,1011762792,-1106441949,1023563097,1007950112)+W(3,-1137292464,1018157624,-1132968658,1034492712)+W(4,1002605936,-1130475172,1023737634,1000516328)+W(5,-1126768286,-1096045179,1048917408,1027876850)+W(6,-1114666035,1007198528,-1104353680,1044579508)+W(7,-1126595297,-1148910448,1017074878,1034334952)+W(8,-1108931914,1035021791,-1127030516,1030237498)+W(9,-1116342907,1028012332,-1128335092,1016641544)+W(10,-1124799637,-1178616327,998628462,1030076118)+W(11,-1106440695,1037317931,-1122557970,1026212766);sum2=W(0,-1127545645,1009004191,1015771798,-1131692274)+W(1,1014637794,996126556,1018138398,-1136885460)+W(2,-1151865619,-1125888003,1023581282,1018938725)+W(3,-1144042592,-1141392422,-1107745249,-1091675886)+W(4,1057331451,-1136255574,999025130,1032831862)+W(5,-1097510643,-1072938398,1076041086,-1112160457)+W(6,-1139402988,1017820345,-1117369881,-1091916978)+W(7,1056314077,-1150817344,-1150259805,-1138954980)+W(8,1017078443,-1117354278,1032772879,-1138128772)+W(9,985356315,1013413304,-1132039248,-1124163047)+W(10,1020965023,1018397555,-1133933532,-1164078621)+W(11,-1132951491,-1138824868,1026258229,985080995);WS(1065410184,989310727); +sum1=W(0,-1129262375,-1109321255,1036945010,1026154888)+W(1,-1134197844,-1125355007,-1140125102,-1114916286)+W(2,1039766830,-1115626794,-1121887434,1012320294)+W(3,-1116437485,-1113105487,1017194412,1060001058)+W(4,-1094555822,-1137406030,-1133156750,-1103994248)+W(5,1046741097,1017259310,-1114897776,-1133486286)+W(6,1013595422,-1113291025,1059311888,-1103200016)+W(7,1023750749,-1124720479,-1140436482,-1135877737)+W(8,-1110004779,1018378495,-1113774366,-1115411390)+W(9,1001232640,1027066925,-1131666807,-1131905035)+W(10,-1124072268,1004266540,-1120957855,1020121135)+W(11,-1115618446,-1127100975,-1116648163,-1123146591);sum2=W(0,-1134742142,1015903261,1020154303,-1137672551)+W(1,1024853570,1005131169,994239369,1014594226)+W(2,-1150882457,1023023759,1017377705,-1125421078)+W(3,-1134258278,-1129761964,1022217883,1027518631)+W(4,-1148789809,1001175413,-1126643555,1031995313)+W(5,1040302074,-1097618001,1026258033,-1138047636)+W(6,-1124787402,1009465920,1049285742,-1098762324)+W(7,-1132512970,-1148246653,1015413679,1021296491)+W(8,1029784509,-1122992412,1015729459,1016986651)+W(9,991423945,-1131866907,-1135790753,-1126884057)+W(10,-1130065044,-1142203369,1010959842,1022764367)+W(11,-1122024941,-1118740892,980872325,992745521);WS(1051937311,1019742014); +sum1=W(0,-1128733562,-1110586220,1044317379,1034449865)+W(1,-1129053661,-1126315858,997229903,1007594774)+W(2,-1115449474,1040493967,-1122019556,-1118602611)+W(3,1023734487,-1114376035,1058430122,-1106892452)+W(4,-1137597924,1007433460,-1116159949,-1126695312)+W(5,-1131615423,-1096043495,-1114653189,-1115826781)+W(6,-1132293538,1032525373,1028795565,1048571437)+W(7,-1104742917,1027349977,-1139661928,-1154941499)+W(8,1043036192,-1110832404,-1106286569,1018237258)+W(9,-1123545457,1019369518,-1111719346,1031893623)+W(10,-1118024837,-1123671919,1016780849,1026460481)+W(11,-1122201669,1016066306,-1121789868,1018711058);sum2=W(0,1008400273,-1127535498,-1110432262,-1120718262)+W(1,-1113670226,1025653041,1016157529,-1127740478)+W(2,-1101104373,-1108362087,-1146032407,-1134925453)+W(3,-1144490357,1041994790,-1088501039,1042410198)+W(4,-1132649478,1011207517,-1138058389,1049438349)+W(5,1056816205,-1105949033,1045816390,-1153231998)+W(6,-1125392389,-1105215135,1056199589,-1108549667)+W(7,-1122823248,-1127906971,-1130565626,-1113276412)+W(8,1025802623,1029274599,-1139374331,1000306913)+W(9,965128306,-1135958083,1003347845,-1152613734)+W(10,-1123972337,-1157554354,-1135290574,-1114929610)+W(11,1003318865,1031964529,1019133207,-1130500213);WS(-1117640696,1034706864); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0][0] = HOOKED_texOff(vec2(-3.0, -2.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-3.0, -1.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-3.0, 0.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-3.0, 1.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-3.0, 2.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-3.0, 3.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-2.0, -2.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-2.0, -1.0)).x; +samples[2][0] = HOOKED_texOff(vec2(-2.0, 0.0)).x; +samples[2][1] = HOOKED_texOff(vec2(-2.0, 1.0)).x; +samples[2][2] = HOOKED_texOff(vec2(-2.0, 2.0)).x; +samples[2][3] = HOOKED_texOff(vec2(-2.0, 3.0)).x; +samples[3][0] = HOOKED_texOff(vec2(-1.0, -2.0)).x; +samples[3][1] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[3][2] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[3][3] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[4][0] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[4][1] = HOOKED_texOff(vec2(-1.0, 3.0)).x; +samples[4][2] = HOOKED_texOff(vec2(0.0, -2.0)).x; +samples[4][3] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[5][0] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[5][1] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[5][2] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[5][3] = HOOKED_texOff(vec2(0.0, 3.0)).x; +samples[6][0] = HOOKED_texOff(vec2(1.0, -2.0)).x; +samples[6][1] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[6][2] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[6][3] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[7][0] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[7][1] = HOOKED_texOff(vec2(1.0, 3.0)).x; +samples[7][2] = HOOKED_texOff(vec2(2.0, -2.0)).x; +samples[7][3] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[8][0] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[8][1] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[8][2] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[8][3] = HOOKED_texOff(vec2(2.0, 3.0)).x; +samples[9][0] = HOOKED_texOff(vec2(3.0, -2.0)).x; +samples[9][1] = HOOKED_texOff(vec2(3.0, -1.0)).x; +samples[9][2] = HOOKED_texOff(vec2(3.0, 0.0)).x; +samples[9][3] = HOOKED_texOff(vec2(3.0, 1.0)).x; +samples[10][0] = HOOKED_texOff(vec2(3.0, 2.0)).x; +samples[10][1] = HOOKED_texOff(vec2(3.0, 3.0)).x; +samples[10][2] = HOOKED_texOff(vec2(4.0, -2.0)).x; +samples[10][3] = HOOKED_texOff(vec2(4.0, -1.0)).x; +samples[11][0] = HOOKED_texOff(vec2(4.0, 0.0)).x; +samples[11][1] = HOOKED_texOff(vec2(4.0, 1.0)).x; +samples[11][2] = HOOKED_texOff(vec2(4.0, 2.0)).x; +samples[11][3] = HOOKED_texOff(vec2(4.0, 3.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns32, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns32, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1120567290,-1132374181,-1132591953,-1125130389)+W(1,-1117911182,-1119806663,-1121091407,-1126690796)+W(2,994153301,1016607238,-1122316900,-1146864427)+W(3,1031756856,1024055745,1003125923,1029429758)+W(4,-1139074345,992947237,1053527378,1046512564)+W(5,-1093298645,-1112059294,-1120338466,-1110173889)+W(6,1021572063,-1137843051,-1096186409,1056444330)+W(7,1051252577,-1109040755,-1148456803,-1113641375)+W(8,-1117468940,-1125619459,-1144213939,-1138699933)+W(9,1023905988,1033651817,-1133630411,1032546877)+W(10,-1119615974,1000210819,-1121684346,-1129869365)+W(11,979248533,-1119537890,-1141776739,-1127458445);sum2=W(0,-1126549409,-1119263575,1019494412,-1124834267)+W(1,1007192676,-1122284082,-1127647730,1010488320)+W(2,1022573468,-1114028928,-1116443736,-1099458226)+W(3,1017309436,-1118444706,-1121042004,-1109973330)+W(4,-1140490164,-1119708173,1032492771,1055169273)+W(5,1044169825,1039787167,-1145097543,1044065299)+W(6,-1114833146,1024108770,1037187519,1055452063)+W(7,-1106256028,-1112035826,-1125070906,-1121131548)+W(8,1021805248,-1146392599,1026983682,-1095922228)+W(9,-1122158651,-1118290710,-1129575364,-1121253833)+W(10,1003196031,-1113990054,1006796332,-1126677517)+W(11,1022777176,-1130573089,-1123455912,1019346120);WS(1060265584,1063714812); +sum1=W(0,1021450242,-1123065753,-1137050988,1021294882)+W(1,-1118036885,1009531192,-1118665549,992320459)+W(2,-1128788280,1022311347,1028928107,-1140362288)+W(3,1024570351,1035626828,1025121435,1029327365)+W(4,-1111111528,999728711,-1119265827,-1137639751)+W(5,-1101623708,-1106406289,-1128138578,-1106167682)+W(6,1039397963,-1108349889,1026074151,-1102959280)+W(7,1041760911,1036057270,1017790822,1037788386)+W(8,-1131322533,1022720848,1019796282,1043907075)+W(9,-1151514983,-1132552740,-1124857459,-1134343810)+W(10,1011253684,974355898,-1136338948,1025863841)+W(11,-1136816500,1027651305,-1139070668,1024478285);sum2=W(0,1023758242,-1124053764,1000956747,-1122894214)+W(1,999883691,1004424067,-1150041590,1009546537)+W(2,-1130878336,1017938673,1028583936,1031015106)+W(3,994031846,999096115,-1134395125,1005722235)+W(4,-1120671625,-1145138723,1005174931,-1104963408)+W(5,1001047899,-1126082311,1002728051,-1135618057)+W(6,1027498838,1027873020,1053869854,1073183850)+W(7,1053107786,1035733703,1022225293,1023923178)+W(8,-1144315403,-1122179044,-1093535895,-1074622268)+W(9,-1094361386,-1114468554,-1123867271,-1126165581)+W(10,-1131041230,-1127336921,1009416925,1033668418)+W(11,990806038,992895974,-1131337021,-1138321549);WS(1067199072,981674447); +sum1=W(0,-1113726457,1018794771,-1115871564,1008735750)+W(1,-1125817867,-1125149117,1001830321,1016463803)+W(2,-1105288827,-1113372949,-1095136821,-1102105679)+W(3,-1103744656,-1108798620,-1137689902,-1099284685)+W(4,1040785760,-1099180638,1050678235,1052734745)+W(5,1044281884,1033282170,-1121192922,1032013917)+W(6,1032552483,1040483381,1054762461,1065065389)+W(7,1044820043,-1097094388,1010644366,-1124668651)+W(8,-1124907206,-1114167068,-1107257499,-1097429016)+W(9,-1104994292,1027211226,-1114303237,1015961570)+W(10,-1139898486,-1127069135,-1118671794,1035770473)+W(11,-1122788302,-1125646899,-1123221796,-1114483455);sum2=W(0,-1124538541,-1139313841,-1119374292,1010830983)+W(1,1020827626,-1125616841,1008596323,-1136528497)+W(2,1021627528,989560618,1014774531,1026431506)+W(3,-1118520012,1018739126,1014458179,-1129452021)+W(4,-1127440395,1028695072,-1102978428,-1087762234)+W(5,1027251929,-1109480314,1023848922,-1132845253)+W(6,1027300307,1011050585,1052523334,1053318756)+W(7,-1113197028,1034265115,-1134832277,1022117249)+W(8,1020622605,999023778,-1119874204,1038687085)+W(9,1029469191,-1125820221,-1159659466,-1150305989)+W(10,-1130074937,1015498074,-1126569197,-1128231773)+W(11,1018969905,-1123965604,1024095771,-1130502215);WS(-1082327904,-1101742629); +sum1=W(0,-1128942355,1007179909,-1172666584,-1115398989)+W(1,-1145393643,-1126910957,-1153678686,-1127439210)+W(2,994965062,-1124051394,1029361427,1047686461)+W(3,1028067431,1025118144,-1121058723,1018201755)+W(4,-1116531225,1022855203,1044526075,-1095192109)+W(5,-1123739865,-1116394763,-1123838961,-1120454737)+W(6,1027052286,-1119991818,-1110346311,-1106285700)+W(7,1043850022,1030498357,1032721886,1034890279)+W(8,-1127603958,1015495233,1026992677,1037065627)+W(9,-1119388383,1013662917,-1119902562,1021249778)+W(10,1021969515,-1129777663,1017142675,-1113404469)+W(11,-1130059467,1016457699,-1131255799,1017348651);sum2=W(0,1014279427,-1131491186,1026571161,1042930837)+W(1,1025279833,993445038,-1133457551,1014707171)+W(2,-1130890464,-1137235679,-1097554196,-1073378768)+W(3,-1092458255,-1130245298,-1120075373,-1135266971)+W(4,-1129394348,1024729347,1048952496,1073588633)+W(5,1053816664,1029166823,1030737081,-1151431678)+W(6,1014973315,-1130557096,1014221291,-1105375875)+W(7,1016092170,-1119905200,-1147013927,-1161525308)+W(8,-1152876382,-1150339726,1016692910,1035354953)+W(9,-1129170378,1027382919,-1124802440,979085751)+W(10,1004833335,-1141673719,-1159625756,-1124590261)+W(11,989537980,-1138326931,1017200998,1009604643);WS(1067891072,-1132872541); +sum1=W(0,1025237873,1014334757,1030238795,1029025473)+W(1,1007260181,-1121222990,988616634,-1123834925)+W(2,-1122834636,1020114356,-1105197551,-1121917372)+W(3,1038150728,1024596920,1024170379,1015271403)+W(4,-1117007553,-1118569017,1049984500,-1114461425)+W(5,-1084792932,1039495098,-1124531763,1027254009)+W(6,-1114151507,976917621,-1088419628,1051488823)+W(7,1053317187,987986858,1026119523,993078101)+W(8,1031366707,1039451348,1049092386,1008484089)+W(9,-1122288663,-1131993235,1022258228,999667975)+W(10,984935338,-1152616053,-1123762161,-1145922699)+W(11,1012164149,1000937675,1011615629,1004174827);sum2=W(0,-1144599930,-1136232721,-1137221455,-1128645029)+W(1,-1151231836,-1156748756,-1160295481,1020235585)+W(2,-1116760996,1019759527,-1111064134,1041961890)+W(3,1036336113,1033905549,1022489781,-1122711401)+W(4,1032730282,-1125055029,1047170030,1050767412)+W(5,-1093680614,-1120368706,-1115425401,-1132924343)+W(6,1032901632,1027655943,-1115058011,-1130649513)+W(7,-1116185015,-1105887613,1012694293,-1122854992)+W(8,985378521,1005941018,-1129460922,1019394239)+W(9,-1115704458,1024734935,-1147415538,1018590227)+W(10,-1129170670,-1131155477,-1129924333,1022276751)+W(11,-1148456898,1015791177,-1140100033,1012472897);WS(1059709408,1024973287); +sum1=W(0,-1126012593,1004611460,-1134152138,-1114032340)+W(1,-1131432537,-1126017195,991561039,-1124178504)+W(2,996494647,-1122880609,1020165829,1049657976)+W(3,1014735450,1032225804,-1115613273,1022764985)+W(4,-1119189544,1030391200,1046947367,-1094041084)+W(5,1018380112,-1112475533,-1123292160,-1122300512)+W(6,1028092109,-1114579692,-1111968183,-1106474499)+W(7,1044458845,1030371012,1033263557,1034006830)+W(8,-1124577204,1016065247,1002304420,1040268033)+W(9,-1114168306,1023640576,-1119951545,1017080432)+W(10,1023428420,-1127475101,1021721777,-1114564220)+W(11,-1128430825,1019190017,-1127717781,1017178441);sum2=W(0,-1125800395,1011909323,-1116511680,-1103527255)+W(1,-1120293374,-1148349175,1015270352,-1125483347)+W(2,1024962708,-1143341847,1052819438,1076690943)+W(3,1057154431,990717342,1025045202,1023577182)+W(4,1023886172,-1144213999,-1097320166,-1072687587)+W(5,-1091630497,1012280135,-1118805022,1016249338)+W(6,-1122338700,1018807292,-1115186882,-1098249874)+W(7,-1117298851,1010582795,990164302,-1125194137)+W(8,-1171853367,1000330119,-1140479659,1023038428)+W(9,1029135274,-1122270538,1020995472,1003973863)+W(10,973576887,984068764,1001426319,1007326739)+W(11,-1135413483,1008233815,-1129534965,-1140102471);WS(1066253200,1009489111); +sum1=W(0,-1121073890,1024085178,-1130104696,1023275236)+W(1,-1128214764,-1135799996,-1141685621,-1121776782)+W(2,-1102592607,-1107707469,-1106598971,-1116780301)+W(3,-1111680448,1032050668,-1131519352,1028096678)+W(4,1041243549,1026388586,-1121496677,1049328440)+W(5,1018012708,-1096674093,-1122519370,-1101864235)+W(6,1033075644,-1107162241,1050587318,1057262167)+W(7,1027096831,1040843700,1028580820,-1117086438)+W(8,-1123366116,1004872905,-1113976447,-1116780079)+W(9,-1113850464,1015552212,-1123000331,1040749648)+W(10,-1130535196,-1145989825,-1120961954,1023066500)+W(11,-1121521086,1008378152,-1124335656,-1135644600);sum2=W(0,1013104936,-1117172679,-1127525498,-1135146700)+W(1,-1122718205,1027187072,-1119344027,-1128814570)+W(2,-1106333857,-1121647283,1031691189,1030458550)+W(3,-1111791784,1009508096,-1127767754,1037784205)+W(4,1041445982,1046293466,1054977467,1051999059)+W(5,1044523088,-1099681845,-1185033988,-1107269301)+W(6,-1143812784,-1098323478,1032669672,1016608418)+W(7,-1093831562,1044831040,-1117227205,-1118967703)+W(8,-1111423698,1025469214,-1110723238,1041509878)+W(9,1024902469,-1110045970,-1129401382,-1121987113)+W(10,-1153458272,-1123006845,1018478818,-1111394764)+W(11,-1127833490,-1140396324,-1129041118,1021194206);WS(1055988095,1068562120); +sum1=W(0,1025054956,-1130996743,1024941510,1026193148)+W(1,1035977616,1028839961,1016648336,1025665319)+W(2,1041692938,1036197410,1042434277,1039706891)+W(3,1036807045,1029783554,1019008523,1026886128)+W(4,1040251631,1032351834,-1100356972,-1093055992)+W(5,1047058383,1043491547,1044781893,1048991774)+W(6,-1141880069,1043619883,1026325313,-1087193164)+W(7,-1087410536,-1097265155,-1104034167,-1099060796)+W(8,-1113980711,1002392085,1040781794,1032223740)+W(9,1047196369,1027612260,1036828166,-1113322870)+W(10,1011769695,1020511427,-1124414423,-1163338101)+W(11,1015241743,-1129538215,1018634427,-1180507092);sum2=W(0,-1109623534,-1119308996,-1108667787,-1107757858)+W(1,-1126585969,-1144042093,1004201965,1024608852)+W(2,-1098330057,-1121926087,1031129408,-1111457821)+W(3,-1091241820,-1092220222,-1112242725,-1104308532)+W(4,1051762285,1045894429,1029096148,1060518836)+W(5,1065480819,-1120268316,1035423856,-1105721536)+W(6,-1105318233,-1111281216,-1116694436,-1103134861)+W(7,1017373783,1034184394,-1129342463,-1134873838)+W(8,-1120494292,1002875661,1042501069,-1104320409)+W(9,1041202422,-1131983911,1023586732,1017105251)+W(10,1036873688,-1152598618,-1117793653,1023528108)+W(11,-1117516356,-1123122827,-1131565835,1015347387);WS(-1073915832,-1098883962); +sum1=W(0,1030932360,-1131602112,-1125999684,1018154928)+W(1,-1122265980,-1122315861,1018577993,-1120663220)+W(2,1024626915,1032898976,-1122370130,1011274315)+W(3,-1113904235,1029902191,-1115348785,-1111387910)+W(4,-1098288699,-1117814224,1056014501,-1106175819)+W(5,-1097956311,-1115232133,-1126206816,1017122848)+W(6,-1130380922,-1103847418,-1096397881,-1105327485)+W(7,1059753579,1040451325,1039068637,1042824131)+W(8,1033018229,1040490540,1031863906,1044317365)+W(9,-1098424101,-1122968848,-1136273729,1021433455)+W(10,1021355752,-1120290302,-1131922448,-1139369119)+W(11,-1121102372,1033247800,-1121007738,-1143567007);sum2=W(0,-1118315643,-1126395193,1014636591,-1138413531)+W(1,1013622247,-1129252552,-1122713894,-1131632742)+W(2,1046909717,1025514844,1026986728,-1112879553)+W(3,-1122377333,-1114813410,-1144089687,-1140190295)+W(4,-1100980148,-1112473945,1040985677,1027746798)+W(5,1051150943,1057006779,-1138866101,1035155819)+W(6,-1129801877,1030594060,-1101816290,-1094641835)+W(7,1041324898,-1106485598,-1115757412,1016695560)+W(8,-1122172234,-1111527676,1023795758,1027030278)+W(9,-1113671456,-1133454616,1001347783,-1139893847)+W(10,1010610423,-1135186433,1030475382,-1121095046)+W(11,1015864126,999966259,-1127643580,-1124292419);WS(1058139200,1067005003); +sum1=W(0,-1131277347,-1128484819,1014594990,-1112913457)+W(1,1028891109,-1118434446,-1125459884,-1151139539)+W(2,-1103206155,-1112832909,-1108301118,-1111811582)+W(3,-1113179152,-1100757638,-1116265771,-1119227733)+W(4,1015263811,-1111332237,1004409248,1031432468)+W(5,1057408386,1053177162,1035803645,1052437131)+W(6,1048238354,1044526364,1056580635,-1114379264)+W(7,1025802539,-1104236495,-1124751623,-1121289813)+W(8,-1106607621,-1104751670,-1107635783,-1107787999)+W(9,1020725062,-1114959053,-1129296244,-1120069105)+W(10,-1122297405,-1124214159,1017238947,-1110162105)+W(11,1002560364,-1113724157,-1123244163,-1115210511);sum2=W(0,-1121057595,1016432775,-1112629457,1031151061)+W(1,-1126819952,1021228732,1009585899,-1127402608)+W(2,1023292260,-1124268922,-1116199054,-1110795130)+W(3,-1103006120,-1134369449,-1120667087,1016333862)+W(4,-1111891368,1029388268,-1123843875,1054055516)+W(5,1020478730,-1135412321,993043492,996548072)+W(6,1035766063,-1118389960,1033023394,1054507013)+W(7,-1104664187,-1121918429,982538191,-1108029597)+W(8,1032208606,-1122510207,-1113138713,1019595258)+W(9,-1114598707,1023542227,993709924,-1129671373)+W(10,-1122161823,1028529468,-1118001871,1026811027)+W(11,-1116707921,1018790016,-1146185904,-1152045912);WS(-1091835967,1038509097); +sum1=W(0,1002958335,1031236696,-1122124314,1034973544)+W(1,-1120202292,1015820538,1033636218,-1121967836)+W(2,1041562959,1038000620,1042029266,1034473413)+W(3,1040514695,1042048878,1029242778,1042898689)+W(4,-1124369824,1029288008,-1104824881,1049571184)+W(5,-1089024373,-1089426268,-1107643796,-1091407169)+W(6,-1093861855,-1100002304,-1087002164,1052741396)+W(7,1044570703,1042398171,1023923250,1030369604)+W(8,1039801017,1038306915,1037725118,1041619283)+W(9,1031782758,1038671876,1025678032,1043274836)+W(10,-1132073944,1032364667,-1122032128,1036587856)+W(11,-1138629744,1010685600,1027566834,-1153060031);sum2=W(0,1016791821,1013192458,-1123883287,1015528749)+W(1,-1131825297,-1132736674,1019880949,-1117749640)+W(2,-1110538641,1023566599,1000152052,-1112636904)+W(3,-1116367667,-1130121037,-1114305335,1033496981)+W(4,-1114409767,-1113846927,-1109610416,1054155729)+W(5,-1109117303,1016394661,1030290683,-1157815185)+W(6,1045544748,1029704719,1034122997,1054056541)+W(7,1030522539,-1116026974,992430312,-1107824982)+W(8,-1111278622,-1125617069,-1110039103,-1108588248)+W(9,-1132906850,-1135451026,-1134728538,1016739853)+W(10,-1127655665,1012727082,-1131212885,1000573476)+W(11,-1123699129,-1126704253,988228497,-1123545619);WS(-1089794384,1053743764); +sum1=W(0,977181200,1022034304,999195154,-1173982736)+W(1,-1131079992,-1117753925,1011212627,-1131210280)+W(2,-1124062435,-1123589329,1008939465,967031199)+W(3,1031201254,1038421055,1023184516,1042888267)+W(4,1045792382,1045687772,1043214811,1051096635)+W(5,-1106608558,-1104815387,975115280,-1113606040)+W(6,-1096122984,-1100185218,-1089534650,-1128424615)+W(7,1022835035,1033659882,1025453978,-1114474998)+W(8,1035356461,1029423919,1037071922,-1130937578)+W(9,1033635179,-1112564552,-1148354182,-1115626236)+W(10,-1146772642,1022712508,986801416,1009586465)+W(11,1012941585,1008485953,1023442138,1020831720);sum2=W(0,1025756371,-1152866061,1022411083,1021941035)+W(1,1018807869,-1162131898,1030478695,-1117519259)+W(2,1038582018,-1136865390,1028991375,-1102180290)+W(3,-1127151005,-1103213990,-1148467374,-1101731450)+W(4,-1095235720,1027392563,-1094985700,1062263751)+W(5,1023141397,1032099771,-1139645537,1050734432)+W(6,-1097242729,-1108446917,-1092586393,1055770556)+W(7,1024429444,1045256871,-1115314196,1044538365)+W(8,1048188946,1009460859,1013992713,-1098658877)+W(9,-1162587434,-1104388978,1033707193,-1097902791)+W(10,-1145714840,1022755591,1033471029,1018658879)+W(11,1032105067,-1135748387,1008760659,1019361371);WS(-1092258911,-1089815334); +sum1=W(0,-1139634407,-1147044493,1017866535,-1130890003)+W(1,1027130446,1016637069,1016500860,1026913637)+W(2,1045821685,1034203057,1044613801,1035729090)+W(3,1029847032,-1102281888,-1131657511,-1121093118)+W(4,-1119357002,1015718019,-1104936487,-1090722234)+W(5,1052628837,1057948020,1044884520,1053191568)+W(6,1034361159,1051668019,1032636456,-1086460492)+W(7,-1094763749,-1095562645,-1106362539,-1098187032)+W(8,-1137425069,-1115826689,1035725147,1010439579)+W(9,1043916211,-1114240161,1035145793,-1102258214)+W(10,-1130196683,1023465264,1015877619,-1117806874)+W(11,1025832214,-1123952546,1029577644,1011300119);sum2=W(0,-1128703433,1012757410,1007787634,1023396449)+W(1,1017560605,1012244530,-1143125556,1024938353)+W(2,-1113670137,1024378351,-1111552612,-1131966925)+W(3,-1114649634,1040107467,-1122758108,1032092801)+W(4,1038503213,-1102109659,1041322248,1061982310)+W(5,-1104769108,-1098175974,1026757617,-1105089779)+W(6,1040684472,-1100043210,1041989415,1066879681)+W(7,-1101238360,-1089047102,1023979343,-1100231891)+W(8,-1099552212,1026887817,-1104965070,-1107386978)+W(9,-1104448348,1016563929,-1107880053,1036400101)+W(10,993905065,1003273444,-1144755940,1019447753)+W(11,1019550873,1024790159,-1138003290,1014825186);WS(-1086002512,-1084928660); +sum1=W(0,-1131929465,1017039401,1020173741,-1134499377)+W(1,-1129468257,-1138890277,-1132813939,-1143488833)+W(2,-1115340892,-1113717074,-1102662114,-1097984585)+W(3,999020755,-1114393442,1028151894,-1132982017)+W(4,1050776738,1042912513,1053707114,1055825787)+W(5,-1108349590,1033511359,-1108075378,-1138015505)+W(6,-1103148388,1010821235,-1104889757,1049797700)+W(7,1042555580,1041826234,1032548919,1041074464)+W(8,-1143173743,-1128281895,-1111952748,-1098746549)+W(9,-1106170922,-1103706929,-1127274842,-1110410462)+W(10,-1130358353,-1122997746,-1139775729,-1117617116)+W(11,1014563169,1010736529,-1137959865,-1123442568);sum2=W(0,1000102260,-1126633986,-1144291760,-1119827470)+W(1,1016232493,1023762781,-1141218312,1025293286)+W(2,-1118205558,1029900308,-1140439712,1041420529)+W(3,979974721,1006017080,-1137204884,1002898232)+W(4,1051204856,1063980475,1066576503,-1075398805)+W(5,-1098954833,-1114660078,1021034547,-1117648930)+W(6,1041999613,1037162912,-1167793729,-1085093765)+W(7,1017117707,1033481679,-1137323924,1002077480)+W(8,-1135930364,-1134402620,1020225891,-1133429672)+W(9,1028764817,1018587503,-1132685152,1026769102)+W(10,1019347314,-1137379540,1012525172,-1123883092)+W(11,-1139078108,990744512,-1137103964,1022792204);WS(-1084377664,1027078466); +sum1=W(0,1028609881,-1129675619,1022038247,1010908070)+W(1,1026611885,1030113110,-1132403564,1031201461)+W(2,1023875764,1032239673,1043647401,1024809124)+W(3,-1131519215,-1128260416,1026951667,-1115829469)+W(4,-1113303893,-1114746833,-1084547118,-1156932707)+W(5,1050946557,1047159719,1020650755,1037768177)+W(6,1031700430,1026119482,1051850662,-1104988345)+W(7,-1083734174,1027361605,-1111325382,1042797655)+W(8,-1138486380,-1122216064,-1132199979,1033025459)+W(9,1043104191,1018468419,1014159432,-1108759836)+W(10,1025866053,1016759071,1032834541,1029398137)+W(11,1007914454,1021351811,1014779182,1018395723);sum2=W(0,-1123315648,-1139192721,-1123875414,1030816333)+W(1,-1123326315,1016532474,-1130303816,-1131093304)+W(2,1034590473,-1139997869,-1115134908,1008365317)+W(3,-1110803030,1028786615,1004595129,1015409534)+W(4,1026150549,969235347,1042477897,1046059603)+W(5,-1155992274,-1122978967,-1119026545,-1111529432)+W(6,1030314237,-1112534256,1037120039,1027803789)+W(7,-1102080708,-1135183209,-1120008811,-1109468455)+W(8,-1113579452,-1158492453,-1098184684,1032895251)+W(9,-1126452160,1047700729,999072441,1047312851)+W(10,1014056813,-1132289868,1018097190,1032146261)+W(11,-1114996104,1011346781,-1115756663,-1122411639);WS(1043014014,-1087744322); +sum1=W(0,1027952711,1020523582,1002118409,1021435438)+W(1,-1138414444,1003104545,1021955143,1013303243)+W(2,-1123526530,-1138321214,-1110182129,1032339433)+W(3,1035386835,-1137297015,-1119534945,-1108462406)+W(4,1008337244,1022379422,1057818171,-1110004232)+W(5,-1083267015,1007303460,-1115695919,1036022088)+W(6,1035059438,-1120526792,-1086364127,-1118604170)+W(7,1057062103,1036507098,1038869533,1036993862)+W(8,-1116610857,1037330895,1040407761,1040846837)+W(9,-1107059287,-1128420830,1017909759,-1142792885)+W(10,1026995059,-1156487121,1009757724,-1153254001)+W(11,1021783366,1034169880,-1138765796,1027514579);sum2=W(0,-1129567658,-1156092221,-1123579911,1008715269)+W(1,-1125160256,1026524337,-1137738801,1017463077)+W(2,-1117738234,-1131091573,-1115037144,-1115010115)+W(3,-1101087826,1015586863,-1113332277,1019720419)+W(4,1034622765,-1128107850,1017778197,1050631618)+W(5,1045062017,-1095615964,1020345131,-1101223712)+W(6,1030957051,-1118479197,1041246295,1054490255)+W(7,-1117275788,1025836507,1027688491,-1120912313)+W(8,1029443337,1005860107,-1110926783,-1157251077)+W(9,-1108959270,1020928095,-1122972204,983922363)+W(10,-1132249217,969559787,-1132354551,1024782459)+W(11,998415619,1012990901,-1161032699,1011300789);WS(1054959103,-1083836992); +sum1=W(0,-1144415487,-1132171248,-1133053416,980216825)+W(1,1018609320,1017404666,-1127349353,-1154920122)+W(2,1023853723,-1118146184,1039313221,-1107434917)+W(3,1027331294,-1111685883,-1129432820,-1126004808)+W(4,-1123173616,1018672592,-1090265426,1057912142)+W(5,1044087220,1046306952,-1133031712,1039769364)+W(6,-1121737045,-1123041056,-1161038260,1053211380)+W(7,-1089253699,1036559366,-1110305609,1035028498)+W(8,-1124541667,-1120856711,1034290206,-1109871174)+W(9,1040602782,-1113560292,-1148202051,-1109624712)+W(10,1017937944,-1131928876,1027902624,-1129566080)+W(11,-1121689404,1010241568,-1124796708,-1127304152);sum2=W(0,1018338338,-1139755941,1025801614,-1122001203)+W(1,1010171613,-1132321439,1016232007,1013259501)+W(2,-1110884586,-1129406227,-1108237236,1037408540)+W(3,1040327756,-1123391437,-1129086463,-1132299663)+W(4,-1136808221,-1118232763,-1115176435,-1113269344)+W(5,-1105808410,-1110685464,-1168436052,1021765462)+W(6,1026570078,1021052542,-1114736489,1041519115)+W(7,1047951095,-1115014721,-1113536502,-1123780081)+W(8,-1136194357,1020321772,1048907220,1046652366)+W(9,1035402835,-1111631696,1026410761,-1102273277)+W(10,-1120452457,1004896115,-1119060361,-1107310106)+W(11,1033649944,-1126977687,1026056519,1027695361);WS(1057903600,1067139767); +sum1=W(0,-1130009103,1012511358,-1137761926,-1124300975)+W(1,1008012526,-1117250069,-1162310274,-1115259538)+W(2,-1107061793,-1111029392,-1104154592,-1103367501)+W(3,1009980758,-1113394087,1026647906,-1114684710)+W(4,1043136838,1028125200,1051222763,1060113955)+W(5,1024983063,1016245011,-1117690736,1025498192)+W(6,-1102099951,992918145,-1106189879,1050079197)+W(7,1048697267,1034440698,1041096574,1041574755)+W(8,-1115498357,-1117969679,-1104467697,-1108729546)+W(9,-1111781863,-1104780916,-1117169584,-1120787335)+W(10,-1123992244,-1145160172,-1125356943,-1117739880)+W(11,-1165450354,-1114615608,-1139440358,-1118506516);sum2=W(0,1011962608,-1120699406,1007214128,1026799984)+W(1,-1145867047,1029224075,-1116434980,1022659583)+W(2,1038855085,-1131692032,1038467393,-1112343444)+W(3,-1113849522,-1138735380,-1120001434,-1118784264)+W(4,-1122245118,-1112627842,-1122221782,-1106597578)+W(5,1026356645,-1114988845,1020413259,-1123194990)+W(6,-1126451804,-1110442893,1042136464,1054959792)+W(7,1031831390,1046305460,1008343524,1047204017)+W(8,-1106947014,1008646548,-1113116412,-1109079281)+W(9,-1109881757,-1109725169,-1123390380,-1114571313)+W(10,1026864717,-1123527836,999106843,1011333214)+W(11,-1117815384,1032922020,-1119479700,1000599735);WS(-1101058110,1058505899); +sum1=W(0,1008909245,1015324303,-1151491221,-1139701245)+W(1,1009250957,1031005836,-1131857944,1009310828)+W(2,-1123852394,-1112299044,-1128516275,-1102217815)+W(3,-1104833467,-1113648843,-1119585353,-1121962739)+W(4,1037579744,992056181,-1098678002,1045087960)+W(5,1058072040,1036986521,1024521495,1032839164)+W(6,1024016996,-1124723744,1056678303,1021619781)+W(7,-1095085849,1041104615,-1129179587,1025292595)+W(8,-1121096497,-1131134189,-1109419958,-1098726544)+W(9,-1109643932,-1121889031,-1127292144,1017031326)+W(10,1022516663,-1130344395,1021039583,-1132041247)+W(11,-1140161581,1026848535,-1125244995,1005622747);sum2=W(0,992821683,1017011277,1011814063,999390943)+W(1,-1121326865,-1128713872,-1144442308,-1138094133)+W(2,1023078017,-1140746852,959773689,-1112338116)+W(3,1035095219,1024063493,1023948090,1032024680)+W(4,1023704638,-1139829185,-1107874815,-1113377165)+W(5,-1108229047,1033653422,-1133039950,-1140161389)+W(6,-1112719649,1034266306,1032357888,1057654961)+W(7,1012152366,-1122811174,1020168485,-1113617432)+W(8,1027637582,-1119668356,-1113625790,-1086342498)+W(9,-1101720659,-1136544465,-1121720102,1019370668)+W(10,1021903376,1016759855,1034398452,1051594315)+W(11,1035110699,1031049449,1018271190,1021410443);WS(-1098338111,1023498750); +sum1=W(0,-1138701849,1022617405,-1168316434,989875557)+W(1,1014043241,1028694643,1012653195,-1123740578)+W(2,-1121510465,-1112416999,-1180399652,1037491593)+W(3,-1102495433,-1121884733,-1122132512,1036415429)+W(4,1040383254,1041395124,-1097293461,-1094988553)+W(5,1059563452,-1118903112,1027507886,-1126796061)+W(6,1010706669,-1110248019,1058209828,-1095385553)+W(7,-1097437690,1046085501,-1130301425,-1128488725)+W(8,-1149170878,1020223099,-1106291545,984962665)+W(9,-1119747464,-1122110350,-1123237039,989067449)+W(10,1021863397,1016227961,1018489101,1021609037)+W(11,-1145092370,1026243438,992349061,-1164474953);sum2=W(0,-1164068108,-1120898035,1013829433,972583599)+W(1,1016837545,-1128855117,-1120505887,-1130000643)+W(2,1029420636,1036981221,1035658823,1039879187)+W(3,-1102894380,-1128781606,1013125305,1008550341)+W(4,-1112077059,-1106651210,-1106432341,-1108370344)+W(5,1027609202,1035930993,1026372950,1017927697)+W(6,-1110964317,-1141413971,1035230257,1044568046)+W(7,1041920264,-1110600858,-1125837008,1019426133)+W(8,1028276360,1028557670,1017251513,1026800348)+W(9,-1124056839,1023713154,-1132458450,-1129712212)+W(10,-1148255859,-1129246253,-1131530425,-1126980980)+W(11,-1121785123,-1124361549,1009116645,-1127748642);WS(1064075168,-1085260633); +sum1=W(0,1020097830,1004279127,1028112237,1026532451)+W(1,961537748,-1130706656,-1135275149,994604265)+W(2,-1104011171,-1113516590,-1103036207,-1102348791)+W(3,-1120389361,1038928889,-1129088474,1031068695)+W(4,1041894009,1036855277,1045116105,1027716980)+W(5,-1096376936,-1096709211,996846509,-1102472071)+W(6,1034297780,-1106861493,-1112331770,1058153819)+W(7,1043898973,1048347472,-1164071066,-1118081687)+W(8,-1113914242,1031661466,1017072798,-1100287056)+W(9,-1119328440,1032287909,1019059671,1040008649)+W(10,-1138151419,-1151789197,-1129921062,1026370483)+W(11,1025128111,-1140511211,-1167790389,-1140610427);sum2=W(0,1014633478,-1138053524,-1140130516,-1120104172)+W(1,1012698026,-1123853902,1013120742,-1133638700)+W(2,1033869831,-1133342724,1003291347,1033872317)+W(3,1006625651,-1121932314,1004319943,975983930)+W(4,-1114935893,-1126366588,1043822142,-1086850225)+W(5,1030145358,1040015383,-1150276254,1028724356)+W(6,-1111281510,-1128243618,-1107071420,-1084734921)+W(7,1067004758,1046081705,1002809783,1031930717)+W(8,1016908923,-1145483991,1006526455,1045857736)+W(9,1020093203,-1118176982,-1161820989,-1104669476)+W(10,990649086,996067150,1012165262,-1119271334)+W(11,-1129772456,-1144422823,-1141799647,-1143148999);WS(-1102756414,-1120030182); +sum1=W(0,-1114857721,1007304745,-1113282502,-1135708169)+W(1,-1130226572,-1115825727,-1142173365,-1136250680)+W(2,-1102767115,-1115971707,-1095987354,-1101194087)+W(3,-1099422340,-1109693396,-1122657804,-1100198174)+W(4,1043961809,-1101676399,1053600405,1065521342)+W(5,1046696200,997946179,-1112668237,1025742970)+W(6,-1124210446,1028311347,1046261656,1068133511)+W(7,1042816511,-1098872988,-1133742993,-1113205915)+W(8,-1117667780,-1113057893,-1103902228,-1095174540)+W(9,-1101926052,1020822452,-1113901869,-1140085511)+W(10,-1120413918,-1125847632,-1114932345,1027169042)+W(11,-1125196828,-1114420141,-1121096548,-1110338975);sum2=W(0,1022430051,-1126993785,1027244407,-1136699515)+W(1,-1115987625,1024283610,-1120680273,-1137060371)+W(2,-1119384349,-1117046041,-1113440146,-1099757367)+W(3,1038214736,-1152620459,1013074835,1015902709)+W(4,-1127804673,1014745875,-1129639049,1065124465)+W(5,-1113943514,-1130768777,-1113854522,-1112590762)+W(6,1011315171,-1106680506,1020590601,1034863647)+W(7,1035633573,-1116743921,-1127682237,1012706011)+W(8,-1121146859,1009189211,-1115604020,-1111752578)+W(9,-1124061319,-1120130033,-1148961286,-1113078716)+W(10,1009328259,-1125156477,1000906166,1017063165)+W(11,-1117062841,1024425511,-1119191933,1024105421);WS(-1077988040,-1098609713); +sum1=W(0,1020152245,1002836371,-1132015209,1010566313)+W(1,1010053945,1020486319,1030571159,-1132252076)+W(2,1040202093,1027276515,1049452385,1032875267)+W(3,1036663212,1034908465,-1114877050,1038229775)+W(4,-1114910389,1037438449,-1100627367,1030654167)+W(5,-1113362709,-1095852652,1025947458,-1105166249)+W(6,-1104283732,-1105856183,-1098108347,-1102427678)+W(7,-1104090280,1048934265,-1126406169,-1138504825)+W(8,1039298438,1028081393,1024125142,-1131705423)+W(9,1042947115,1019783717,1021770278,1035155325)+W(10,-1125387021,1013826369,1018674229,1017725301)+W(11,-1141124531,1015682181,1006527587,1016700365);sum2=W(0,-1142267837,-1139598567,967895252,1008554815)+W(1,-1145406733,1024473654,-1120792990,1020245499)+W(2,-1132626695,-1138132903,-1131100139,1032537913)+W(3,-1112410791,1023361695,-1130141475,1015868043)+W(4,1023852808,1033876712,1012220303,-1095058264)+W(5,-1110252153,-1104029741,1031843465,-1196949327)+W(6,1039691642,-1110747637,1061640184,1037101696)+W(7,-1091888991,-1161200181,-1119701362,977066218)+W(8,-1114839167,-1127924867,-1122160974,1049832068)+W(9,1027903240,-1126050715,-1132864167,-1118663498)+W(10,-1147709133,-1155304986,-1121532798,992067354)+W(11,-1128735955,1025251228,-1157362170,1009680879);WS(1050097375,-1144620389); +sum1=W(0,-1128715377,1011057731,-1134438475,1019193873)+W(1,1022275225,1009602711,1032927683,-1136253330)+W(2,1044211901,1033637193,1048874276,1034983634)+W(3,1042543166,1017343103,-1149239594,1037918654)+W(4,-1107032850,1022227585,-1096643663,-1114392598)+W(5,-1092702793,-1097617495,-1139445891,-1097624368)+W(6,-1104047251,1028225817,-1092741994,1036584266)+W(7,1025153498,1028276325,-1142331733,-1118553533)+W(8,1044522647,1008625791,1044273989,-1113959235)+W(9,1042105869,1041046056,1025445761,1045159742)+W(10,-1128884681,1011579579,1018667761,1025301657)+W(11,1024565397,-1123355105,1027058603,1015982985);sum2=W(0,-1125113091,-1172679141,-1152889753,-1126905475)+W(1,1006649294,-1117488938,1019337735,-1172252645)+W(2,1033296420,-1128383915,1019343075,1031861037)+W(3,1038268779,-1113645001,1028739248,-1120621430)+W(4,1004274749,1016688407,-1103752812,-1097163724)+W(5,1062746712,1051715314,-1124587947,1035778038)+W(6,-1102915066,1037338868,-1089888071,-1090194983)+W(7,1041005261,-1118523722,1027501384,-1154227385)+W(8,1028147108,-1144981581,1030353331,-1121675098)+W(9,1019962267,1006661278,1023891692,1013440998)+W(10,1017918867,991135609,1022111055,-1117974458)+W(11,1026630548,-1115156997,1018829507,-1136345798);WS(-1098112447,-1125216946); +sum1=W(0,1010417568,1006322176,-1140685064,1017991280)+W(1,-1126853432,-1146614696,1004323364,1019294567)+W(2,-1112042689,-1119953952,-1116450322,-1112784281)+W(3,-1105219289,1023451023,-1153582112,-1110071894)+W(4,1004161984,-1112614584,-1090400895,-1113885864)+W(5,1051228911,-1126136276,1016683168,983864831)+W(6,1041397655,1018267345,1058507679,1050855349)+W(7,-1097135921,-1122997076,-1149231824,1012208560)+W(8,-1114418485,1024614191,-1104618697,1027345269)+W(9,1037685358,1039454784,-1140802306,1030420791)+W(10,1021110568,-1137912440,-1127130192,1019594896)+W(11,-1116355204,987030015,988441407,-1149650752);sum2=W(0,1035141604,-1134943159,1031353634,-1120750640)+W(1,1025254666,-1114509439,1028756554,-1113538005)+W(2,-1152950404,1010887850,-1122370025,-1101926585)+W(3,-1104605825,1035852377,-1114959163,-1148680422)+W(4,-1100547860,1025641276,-1101375945,1057546844)+W(5,1048526282,-1108641700,1033576762,1037895648)+W(6,-1104792229,-1119115361,-1100366049,1042205116)+W(7,1042952063,1039483674,1030776026,1041006229)+W(8,1037875812,1021611837,1015511489,-1109199537)+W(9,-1105787312,-1109299079,-1143994351,-1107406256)+W(10,-1138078871,1016878804,1015482099,-1140091328)+W(11,1032201266,-1132053601,1007578680,-1124574444);WS(1027823864,1049081066); +sum1=W(0,1012131718,-1130128499,1020918007,-1147020173)+W(1,1027080278,1020448605,1012408472,1024273997)+W(2,1045092167,1032126573,1043895467,1034108246)+W(3,1035993776,-1104998342,-1129990263,-1123698278)+W(4,-1108779609,-1127539283,-1101697729,-1094495268)+W(5,1047905888,1057437086,1041161122,1052750589)+W(6,1031292119,1050389010,998802811,-1089568357)+W(7,-1096020979,-1097851474,-1105719893,-1101687913)+W(8,-1168425160,-1113259988,1036534559,1026355631)+W(9,1044370080,-1112197645,1035394325,-1103284196)+W(10,-1123848398,1017365039,1015583683,-1120941186)+W(11,1024649726,-1123264842,1027345300,966350543);sum2=W(0,1023788251,982227227,1006064903,-1119196045)+W(1,1022374646,-1139981943,1006364327,-1130167410)+W(2,-1115639872,-1150596845,1015277390,1006169559)+W(3,1034991246,-1110295858,-1148612007,-1131776900)+W(4,1042970848,1046665761,1037025188,-1080187678)+W(5,1047303977,1052132899,1033799186,1035867784)+W(6,1041100183,1053945290,-1128807740,-1078236510)+W(7,1053440142,1058969577,1029728171,1005561207)+W(8,-1120506242,-1121383639,1017634434,998104205)+W(9,1037533712,-1112892146,1033828190,-1110685126)+W(10,-1214633659,-1143798279,1023282498,-1114831851)+W(11,1023435593,-1124500500,1015376522,1014287051);WS(-1088189216,1043089281); +sum1=W(0,-1140748743,-1121398410,1026065228,-1149048846)+W(1,1020127051,1036138263,-1128555260,1038047047)+W(2,1049770738,1041680407,1048806759,1043836791)+W(3,1034371336,1024770968,1037337862,-1137213911)+W(4,-1088213532,-1096476823,-1084369379,-1108723571)+W(5,1036745881,1041309981,1011670631,1028379642)+W(6,1042644994,1047024381,1050638745,-1101872740)+W(7,-1094226627,-1096464492,-1106071481,-1102959693)+W(8,1041481493,-1107153702,1035104215,1041455384)+W(9,1040593116,1045395982,1040128941,1016152290)+W(10,1008330103,1031833588,1020682979,1026205458)+W(11,1006701623,-1120876186,1024336228,1028740542);sum2=W(0,-1129618765,1004169862,-1163586391,1012667011)+W(1,1004789414,1006867267,-1148564598,1023888443)+W(2,1028575755,-1114659435,1025093243,-1110197183)+W(3,-1140439179,-1110600679,1019765437,-1106146141)+W(4,1018469269,1020493837,-1120959857,1045602812)+W(5,-1119013866,1007539419,-1126956769,1005311510)+W(6,-1109549862,1025826707,1018231561,1050121196)+W(7,1009644755,1038682513,1017107081,1040899502)+W(8,1022763469,-1116607191,1017295613,-1110473213)+W(9,-1143499366,-1107944702,-1123266847,-1114206671)+W(10,-1123897489,-1153284395,-1131222849,1019030581)+W(11,-1125130849,1009132883,1006886939,-1127991173);WS(-1082596160,1043517696); +sum1=W(0,1028909798,-1153492953,967933898,1019116907)+W(1,-1132218099,-1129844133,1011144392,999709323)+W(2,-1154689545,1032486047,-1128767583,1037703496)+W(3,-1115978788,1027446332,-1146849277,-1114471573)+W(4,-1104169149,-1117361518,1049441299,-1087176649)+W(5,-1115448907,1018413135,-1154137305,-1130624603)+W(6,1025985531,-1118729126,1031994846,-1089391227)+W(7,1056185125,1032249225,1036574828,1042483386)+W(8,1029418231,1034798166,1006099469,1046438773)+W(9,-1106352341,991686873,-1131200252,1022706506)+W(10,1024711058,-1125485751,1008177302,986175666)+W(11,-1125946755,1030151438,1006963806,1019997155);sum2=W(0,987806561,1024001581,-1132313544,-1138298076)+W(1,1003342504,-1131321664,1015369606,1016585830)+W(2,-1103978637,-1138508200,-1113576691,1037869389)+W(3,1041829747,-1102361734,995389041,-1103350916)+W(4,1039699877,-1109586411,-1109697688,1004783368)+W(5,-1101655248,1023850463,-1123567230,1033013495)+W(6,1032745921,1036006171,1041044376,1057490671)+W(7,-1120283284,-1118937466,-1137071480,1023653113)+W(8,-1106709297,984628641,-1135869680,-1123523352)+W(9,1037905909,-1133053924,1008345900,-1123775069)+W(10,1017765222,-1151113585,-1128136972,-1126668402)+W(11,-1142518888,-1119975873,1015435786,-1153724113);WS(1066487464,-1081148228); +sum1=W(0,-1156758047,-1115667101,1032245054,-1120457266)+W(1,1025970038,1028999903,-1129094085,1031685286)+W(2,1045622655,1039828621,1043227835,1051174634)+W(3,1038187760,1035936180,1028125692,1038703027)+W(4,-1121579186,1016276052,-1107379682,-1081882686)+W(5,-1114502289,-1110627634,1032926021,-1130240468)+W(6,1016497454,1034243041,-1125065087,-1081200961)+W(7,-1121918554,-1121754318,-1138807120,-1128847308)+W(8,1026804003,-1129971954,1036683903,1050524446)+W(9,1033938044,1045144826,1028558202,1036935449)+W(10,1025331662,1022570928,1033790001,950141917)+W(11,1035886143,-1123227402,1023360168,1033245399);sum2=W(0,990406129,-1109318105,1032976305,-1108583903)+W(1,1009651516,1027268958,-1109295843,1034160517)+W(2,1013162021,1040565489,-1125670617,1041812300)+W(3,-1123723867,1031967357,1033460548,-1113698315)+W(4,-1111903383,-1098989385,-1114873385,1042303391)+W(5,1001920896,-1113158574,1015358203,1032025507)+W(6,1031481662,1036428343,1043786440,1039454897)+W(7,1032603577,-1097549253,-1117993943,-1119346601)+W(8,-1112035485,-1111376696,1007686716,1044627344)+W(9,-1107723593,1043104932,-1142055788,-1111706149)+W(10,1026146121,1020848344,993596601,-1114987237)+W(11,1030752081,-1112152994,-1128311189,1024170945);WS(-1085700080,-1080808385); +sum1=W(0,1024296914,-1122227946,-1137292464,1023737634)+W(1,-1114666035,1017074878,-1116342907,998628462)+W(2,-1130852634,1020782261,1018157624,1000516328)+W(3,1007198528,1034334952,1028012332,1030076118)+W(4,-1113008209,1011762792,-1132968658,-1126768286)+W(5,-1104353680,-1108931914,-1128335092,-1106440695)+W(6,1037784580,-1106441949,1034492712,-1096045179)+W(7,1044579508,1035021791,1016641544,1037317931)+W(8,-1128041639,1023563097,1002605936,1048917408)+W(9,-1126595297,-1127030516,-1124799637,-1122557970)+W(10,1011155704,1007950112,-1130475172,1027876850)+W(11,-1148910448,1030237498,-1178616327,1026212766);sum2=W(0,-1127545645,1018138398,-1144042592,999025130)+W(1,-1139402988,-1150259805,985356315,-1133933532)+W(2,1009004191,-1136885460,-1141392422,1032831862)+W(3,1017820345,-1138954980,1013413304,-1164078621)+W(4,1015771798,-1151865619,-1107745249,-1097510643)+W(5,-1117369881,1017078443,-1132039248,-1132951491)+W(6,-1131692274,-1125888003,-1091675886,-1072938398)+W(7,-1091916978,-1117354278,-1124163047,-1138824868)+W(8,1014637794,1023581282,1057331451,1076041086)+W(9,1056314077,1032772879,1020965023,1026258229)+W(10,996126556,1018938725,-1136255574,-1112160457)+W(11,-1150817344,-1138128772,1018397555,985080995);WS(1065410184,989310727); +sum1=W(0,-1129262375,-1140125102,-1116437485,-1133156750)+W(1,1013595422,-1140436482,1001232640,-1120957855)+W(2,-1109321255,-1114916286,-1113105487,-1103994248)+W(3,-1113291025,-1135877737,1027066925,1020121135)+W(4,1036945010,1039766830,1017194412,1046741097)+W(5,1059311888,-1110004779,-1131666807,-1115618446)+W(6,1026154888,-1115626794,1060001058,1017259310)+W(7,-1103200016,1018378495,-1131905035,-1127100975)+W(8,-1134197844,-1121887434,-1094555822,-1114897776)+W(9,1023750749,-1113774366,-1124072268,-1116648163)+W(10,-1125355007,1012320294,-1137406030,-1133486286)+W(11,-1124720479,-1115411390,1004266540,-1123146591);sum2=W(0,-1134742142,994239369,-1134258278,-1126643555)+W(1,-1124787402,1015413679,991423945,1010959842)+W(2,1015903261,1014594226,-1129761964,1031995313)+W(3,1009465920,1021296491,-1131866907,1022764367)+W(4,1020154303,-1150882457,1022217883,1040302074)+W(5,1049285742,1029784509,-1135790753,-1122024941)+W(6,-1137672551,1023023759,1027518631,-1097618001)+W(7,-1098762324,-1122992412,-1126884057,-1118740892)+W(8,1024853570,1017377705,-1148789809,1026258033)+W(9,-1132512970,1015729459,-1130065044,980872325)+W(10,1005131169,-1125421078,1001175413,-1138047636)+W(11,-1148246653,1016986651,-1142203369,992745521);WS(1051937311,1019742014); +sum1=W(0,-1128733562,997229903,1023734487,-1116159949)+W(1,-1132293538,-1139661928,-1123545457,1016780849)+W(2,-1110586220,1007594774,-1114376035,-1126695312)+W(3,1032525373,-1154941499,1019369518,1026460481)+W(4,1044317379,-1115449474,1058430122,-1131615423)+W(5,1028795565,1043036192,-1111719346,-1122201669)+W(6,1034449865,1040493967,-1106892452,-1096043495)+W(7,1048571437,-1110832404,1031893623,1016066306)+W(8,-1129053661,-1122019556,-1137597924,-1114653189)+W(9,-1104742917,-1106286569,-1118024837,-1121789868)+W(10,-1126315858,-1118602611,1007433460,-1115826781)+W(11,1027349977,1018237258,-1123671919,1018711058);sum2=W(0,1008400273,1016157529,-1144490357,-1138058389)+W(1,-1125392389,-1130565626,965128306,-1135290574)+W(2,-1127535498,-1127740478,1041994790,1049438349)+W(3,-1105215135,-1113276412,-1135958083,-1114929610)+W(4,-1110432262,-1101104373,-1088501039,1056816205)+W(5,1056199589,1025802623,1003347845,1003318865)+W(6,-1120718262,-1108362087,1042410198,-1105949033)+W(7,-1108549667,1029274599,-1152613734,1031964529)+W(8,-1113670226,-1146032407,-1132649478,1045816390)+W(9,-1122823248,-1139374331,-1123972337,1019133207)+W(10,1025653041,-1134925453,1011207517,-1153231998)+W(11,-1127906971,1000306913,-1157554354,-1130500213);WS(-1117640696,1034706864); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0][0] = HOOKED_texOff(vec2(-2.0, -3.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-2.0, -2.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-2.0, -1.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-2.0, 0.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-2.0, 1.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-2.0, 2.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-2.0, 3.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-2.0, 4.0)).x; +samples[2][0] = HOOKED_texOff(vec2(-1.0, -3.0)).x; +samples[2][1] = HOOKED_texOff(vec2(-1.0, -2.0)).x; +samples[2][2] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[2][3] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[3][0] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[3][1] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[3][2] = HOOKED_texOff(vec2(-1.0, 3.0)).x; +samples[3][3] = HOOKED_texOff(vec2(-1.0, 4.0)).x; +samples[4][0] = HOOKED_texOff(vec2(0.0, -3.0)).x; +samples[4][1] = HOOKED_texOff(vec2(0.0, -2.0)).x; +samples[4][2] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[4][3] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[5][0] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[5][1] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[5][2] = HOOKED_texOff(vec2(0.0, 3.0)).x; +samples[5][3] = HOOKED_texOff(vec2(0.0, 4.0)).x; +samples[6][0] = HOOKED_texOff(vec2(1.0, -3.0)).x; +samples[6][1] = HOOKED_texOff(vec2(1.0, -2.0)).x; +samples[6][2] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[6][3] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[7][0] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[7][1] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[7][2] = HOOKED_texOff(vec2(1.0, 3.0)).x; +samples[7][3] = HOOKED_texOff(vec2(1.0, 4.0)).x; +samples[8][0] = HOOKED_texOff(vec2(2.0, -3.0)).x; +samples[8][1] = HOOKED_texOff(vec2(2.0, -2.0)).x; +samples[8][2] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[8][3] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[9][0] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[9][1] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[9][2] = HOOKED_texOff(vec2(2.0, 3.0)).x; +samples[9][3] = HOOKED_texOff(vec2(2.0, 4.0)).x; +samples[10][0] = HOOKED_texOff(vec2(3.0, -3.0)).x; +samples[10][1] = HOOKED_texOff(vec2(3.0, -2.0)).x; +samples[10][2] = HOOKED_texOff(vec2(3.0, -1.0)).x; +samples[10][3] = HOOKED_texOff(vec2(3.0, 0.0)).x; +samples[11][0] = HOOKED_texOff(vec2(3.0, 1.0)).x; +samples[11][1] = HOOKED_texOff(vec2(3.0, 2.0)).x; +samples[11][2] = HOOKED_texOff(vec2(3.0, 3.0)).x; +samples[11][3] = HOOKED_texOff(vec2(3.0, 4.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns32, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/nnedi3-nns64-win8x4.glsl b/shaders/nnedi3/nnedi3-nns64-win8x4.glsl new file mode 100644 index 0000000..a6e8181 --- /dev/null +++ b/shaders/nnedi3/nnedi3-nns64-win8x4.glsl @@ -0,0 +1,290 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns64, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,1040079017,-1115658697,-1107150591,-1119789534)+W(1,-1129953383,1052077971,-1102425550,1027055297)+W(2,-1112255447,1056937139,-1089460941,1033358144)+W(3,-1100320116,1052646725,1029401490,-1121552872)+W(4,1039284509,-1091236407,1057992884,-1097729145)+W(5,991372703,-1106109018,1043570389,-1111268755)+W(6,1013856427,-1112818013,1044897031,-1110301789)+W(7,-1108390802,1030287040,1028923089,-1132036495);sum2=W(0,-1108031914,-1118430023,1012288055,1013768747)+W(1,1026461175,1041449883,1027150813,-1122068949)+W(2,1032549274,1072973866,1049697467,1026059807)+W(3,1041814131,-1076980873,-1082819831,1036691428)+W(4,1017353224,-1111091488,1041587393,-1152272302)+W(5,-1121140359,1028730196,1027133694,-1116481805)+W(6,-1132764107,-1121430441,-1122016279,1025296987)+W(7,-1138465879,-1127880506,-1141547063,1012449399);WS(-1098744132,1034278418); +sum1=W(0,-1103397220,-1145635621,-1105248316,1050544938)+W(1,-1124165708,1041815523,-1120033612,1021903208)+W(2,-1110800938,-1099348442,1050332487,1035939706)+W(3,1026719460,-1092523700,1047722705,994253234)+W(4,1022646298,-1100009602,1037024150,1017012340)+W(5,1032193166,-1088889154,1057456646,992386946)+W(6,1022064347,-1104673163,1045722836,-1126668889)+W(7,-1136800346,-1098235958,1051861685,1007925993);sum2=W(0,-1097631923,1051137052,1049915324,-1103655169)+W(1,1038271179,-1138123466,-1101382095,1030554459)+W(2,1016052501,1047950529,1053016941,-1103587135)+W(3,1038061501,1066995446,1044310058,1039796029)+W(4,-1098093629,1052164534,-1101624661,1022295275)+W(5,1036023945,-1086456688,-1097740488,1002073396)+W(6,-1103222197,-1092315790,1025704121,1009745942)+W(7,1049634734,-1088937960,-1095498431,1037237655);WS(-1082862242,-1106529553); +sum1=W(0,-1130854575,1035507577,-1111381151,-1121770975)+W(1,-1136558799,-1134799464,-1109420173,1040932752)+W(2,-1106220300,1050921813,-1090777253,1042678624)+W(3,1011297096,1017516694,1058584025,1023914089)+W(4,1032803517,-1083278305,1053793791,-1114891124)+W(5,1003802452,-1113237716,1038764911,1024022374)+W(6,-1130818358,-1166618304,1011564912,1003125716)+W(7,-1115833284,1036440480,-1125528356,-1148371520);sum2=W(0,-1113253112,-1114468103,1046106511,1029911106)+W(1,1017383795,-1105748811,1042779663,-1111927878)+W(2,-1098397046,1042070822,1049941293,-1106009556)+W(3,-1105653936,1062131274,1049624420,-1113543954)+W(4,1043748521,-1088478625,-1093962905,-1110290200)+W(5,-1130700635,1039489157,-1102421728,1032413051)+W(6,1040646747,-1112481937,-1120850913,1032000907)+W(7,-1134989990,-1118262998,-1124158867,1027657598);WS(1055738180,1034492849); +sum1=W(0,-1130881323,-1111251428,1042092597,1006685651)+W(1,-1114926341,-1128721888,1039888312,-1103919286)+W(2,1041145701,-1099536939,1055510938,-1104400342)+W(3,-1109424308,1051914904,-1131357522,-1113433279)+W(4,-1112247108,1058202118,-1089549409,1022435899)+W(5,-1112831856,1051860704,-1104754439,-1139575663)+W(6,-1114665081,1026763985,-1109075065,-1129253153)+W(7,-1121239258,-1130346670,-1117425768,-1142807791);sum2=W(0,-1110077216,-1118181126,1049383148,-1110853226)+W(1,1036549925,-1116107500,1034915268,-1119533468)+W(2,-1103858204,1042025735,1044994486,-1101175453)+W(3,1011211476,1056055130,1058209450,-1113779586)+W(4,1008268344,-1090440399,-1098004228,-1109857174)+W(5,1023981444,-1117941654,-1099569204,1034145803)+W(6,1010863636,1001166765,-1121873216,1026441284)+W(7,1034090633,-1130298175,-1107211558,1033292040);WS(1056018244,-1109435672); +sum1=W(0,1028147653,-1121172806,-1156629272,1029524274)+W(1,1025593127,-1108190871,1019648283,998861994)+W(2,1019179235,1044333967,-1105021998,-1126875818)+W(3,1042157337,-1098176216,-1084323638,1048944704)+W(4,-1110312463,1052400296,1052575762,-1112766254)+W(5,1019247612,1041545807,-1144495302,1027979993)+W(6,-1120006735,-1152440548,960835398,-1115664295)+W(7,-1144225212,1040728133,-1117757541,-1127435447);sum2=W(0,-1133465842,1020564842,-1109452473,1020759546)+W(1,1037565600,-1103457632,1042355402,1025892619)+W(2,-1114814180,1043192653,-1103393926,1033812672)+W(3,1023511793,1057142397,1042803000,1040091206)+W(4,1028077461,-1101196001,-1093624788,-1104532905)+W(5,1005396583,1038394412,-1094252679,-1153222990)+W(6,1022326514,-1113456189,1041416796,-1130818626)+W(7,-1149118303,-1137100532,1021621854,1028700597);WS(1058353218,1042996167); +sum1=W(0,1024954343,-1094124879,1052314513,1009270680)+W(1,1015847030,-1107919793,-1138612357,-1116609353)+W(2,1036476495,-1097421664,1044445371,-1202266712)+W(3,-1110665693,1048862286,1050687635,-1105910956)+W(4,-1121159378,1033331871,-1102818752,1018868510)+W(5,-1108641009,1049066134,998963493,-1115498359)+W(6,-1137738249,1023600450,-1113493234,1016588291)+W(7,-1102251787,1041347474,1023627001,-1119202191);sum2=W(0,-1126808420,-1120540574,-1098896413,1039187917)+W(1,980939457,-1110048722,-1075343834,-1110843188)+W(2,-1123796075,1033167871,-1086151008,1032482295)+W(3,1037410136,-1106277561,1075199384,991431992)+W(4,1002142140,-1166268225,1058982643,-1123555130)+W(5,-1139817292,-1116671070,-1127002394,-1163241473)+W(6,-1134378480,-1143978200,1028067074,1021947375)+W(7,-1142652688,1011961658,1027681870,-1117918702);WS(1065448321,-1123448424); +sum1=W(0,1033675765,1042933049,-1113419593,-1107290229)+W(1,1010310940,1048779866,-1098481070,1033876859)+W(2,-1135157253,1053164479,-1085464413,1028430645)+W(3,-1130617674,1054681092,1025088582,-1126554424)+W(4,1045868403,-1088933089,1052703622,-1113028565)+W(5,1037821135,-1096402228,1043193000,-1114258373)+W(6,1029877230,-1112063319,1039463880,-1131689691)+W(7,-1107423852,-1132569296,1039088003,992526257);sum2=W(0,992398551,-1118632904,-1109433050,-1143518596)+W(1,1027463162,-1115592424,998577524,-1122494561)+W(2,-1110914988,-1094541616,-1095126430,-1116426235)+W(3,-1119896935,1058308065,1059518579,-1103007923)+W(4,-1100289244,1052134722,1038527426,-1121464784)+W(5,1024218964,-1139018826,-1109739820,-1115201103)+W(6,-1111923136,1043392525,1004586244,-1120049915)+W(7,1036361104,-1114310803,1020338285,-1128089075);WS(1050696068,-1101686596); +sum1=W(0,1030829490,1032239887,1015204626,-1113406309)+W(1,1025629886,1039198082,1033819234,1030627629)+W(2,1028506281,1035777849,1052890832,-1111973334)+W(3,1044306231,-1094476563,-1083567844,1049080890)+W(4,1022456523,1053256444,-1095460989,1026744658)+W(5,1033300499,-1108777674,1028011096,1009469122)+W(6,1025382374,-1125496907,-1117978119,1014700692)+W(7,-1126351518,1013615278,1022077689,-1117484787);sum2=W(0,-1123705959,-1116235595,1034058997,-1139597844)+W(1,1033160533,1028975273,-1094422871,-1122943830)+W(2,1021465594,-1105037500,-1106553103,-1103106284)+W(3,1019539230,1055127070,1036912081,1037858431)+W(4,-1115261066,1039390029,-1113630050,1034945731)+W(5,1030761443,-1104569658,1034816057,997585040)+W(6,1021971134,1024962787,-1131788338,-1137214108)+W(7,-1122567677,999405400,1014360364,1023175710);WS(1058623938,1044469574); +sum1=W(0,1045615020,-1108426137,-1135193336,1044911680)+W(1,1035147318,-1141312974,1044306859,1030580258)+W(2,1047639223,-1105886038,-1122107414,1043270872)+W(3,1050348390,-1079944741,-1085342603,1051720601)+W(4,1030161626,1039515483,-1100470855,1041363874)+W(5,1044899106,1021302290,-1110191310,1041545713)+W(6,-1132009366,-1167333042,-1180200419,1040848727)+W(7,1044251461,991624716,-1100960996,1042676794);sum2=W(0,-1126998679,-1097249916,1048536708,-1118913729)+W(1,-1112584470,-1101780852,1037003529,-1122142287)+W(2,-1125720699,-1124055793,1040132893,1008038822)+W(3,1026650453,1050619160,1058508674,-1117660887)+W(4,-1098785634,1044368398,1037637019,-1121056345)+W(5,1035354845,-1115949975,-1106591466,1006096779)+W(6,-1103280207,1036370417,-1109803757,-1116815483)+W(7,-1117822839,1013784870,-1104576316,-1119752481);WS(-1092650820,-1093598320); +sum1=W(0,-1126483198,-1111185837,1032567139,1028684103)+W(1,-1136033646,-1107026560,-1113511425,1034982933)+W(2,1019177644,-1096033968,1059010394,1025024233)+W(3,-1119240794,-1101350837,1042563567,-1118967697)+W(4,-1095523617,1057301262,-1131092420,-1118984463)+W(5,-1108863241,1042409572,-1108714423,1023629806)+W(6,-1113123137,1040959081,-1114101506,-1128061252)+W(7,-1126435736,1035081684,-1106962654,-1142697342);sum2=W(0,-1118904411,-1134435633,-1102280300,-1150017862)+W(1,-1158272012,-1107189637,992574886,-1122133752)+W(2,1013234849,-1120249847,-1083559741,-1146867651)+W(3,1030464194,1057018316,1062197029,-1097179586)+W(4,-1106482941,1048792270,1040811198,-1115216614)+W(5,1025489390,1024832618,-1114392001,1021081809)+W(6,-1129648553,1031754422,1031998303,-1112304821)+W(7,1028128070,-1125347555,1029475610,993658022);WS(1058173058,1066808129); +sum1=W(0,-1107348220,1035236882,1041707116,-1121094224)+W(1,-1099127505,1036577094,1043659283,-1105652573)+W(2,-1103913530,1044208414,1046852514,-1107481241)+W(3,-1113478482,1029276252,1039741986,-1121409754)+W(4,1040539139,-1097605967,1044710619,1032545388)+W(5,-1113016318,-1100723463,1043551606,-1115290924)+W(6,-1120477164,1029619500,-1133641268,1013015214)+W(7,1000206250,-1122925746,994694705,950366748);sum2=W(0,-1094008764,1034130054,1031813868,1011760553)+W(1,-1105723160,-1120175931,1042930394,-1124103013)+W(2,-1087139249,1064201383,-1110465854,-1131636845)+W(3,1052425931,1002356625,-1098172076,1006833373)+W(4,1056772124,-1089869944,1043061462,1007319139)+W(5,1034445536,-1114835724,-1102352886,1014923704)+W(6,1012087213,-1123264660,1040830367,1016549099)+W(7,1037095176,-1129286431,-1111397998,993051546);WS(1061928770,1027279769); +sum1=W(0,1034406912,-1100123699,1029564087,1033006716)+W(1,-1113862823,-1162686055,-1109708970,-1128579510)+W(2,1039933724,-1096018034,1050604450,1007368299)+W(3,-1111710246,1056786929,1037263862,-1109765633)+W(4,-1111349982,1056534441,-1098017894,-1113416432)+W(5,-1109997378,1044907121,1038664521,-1101798872)+W(6,-1113344954,1022437288,-1116167797,-1105438789)+W(7,-1114279935,1031029722,1027389387,-1113862289);sum2=W(0,1026006751,-1115270559,1024783342,-1130316822)+W(1,-1108403600,1031363022,1033798448,-1139293944)+W(2,1035073774,-1104904057,1037041630,1025961213)+W(3,-1122004937,1031769509,1039898935,1021529214)+W(4,1035952663,-1106336513,1057393141,-1112547455)+W(5,1015050843,1027760004,1027825620,-1096601581)+W(6,-1124438030,1019789656,-1121305243,-1105185563)+W(7,-1133483016,-1118390529,-1128829234,-1106336479);WS(1053752708,1043937257); +sum1=W(0,-1114168512,-1105170221,1031197758,-1109039567)+W(1,-1112521242,-1098204331,-1104934543,-1113606305)+W(2,-1097902456,1046102006,1042705158,-1098767200)+W(3,-1095288434,1066642253,1070561411,-1089903115)+W(4,-1094410051,1054367941,1038022813,-1100846418)+W(5,-1114520925,-1100810554,1032266099,-1108028099)+W(6,-1115668990,-1121904763,-1114135854,-1115062077)+W(7,-1105295129,1031167873,-1123380722,-1118408200);sum2=W(0,-1113064749,-1090786559,1038982572,-1136678198)+W(1,-1144787532,-1094418907,-1102980167,-1129681067)+W(2,-1115681675,1009808406,1041806798,1023762114)+W(3,1041111385,1053253351,1054413523,1035936399)+W(4,-1130408019,1015714915,1024043560,-1114747797)+W(5,-1136936214,1020895003,-1114777947,1001107148)+W(6,1022660811,-1117683238,1021536435,-1129865467)+W(7,-1121651306,1028089270,-1123371786,1019986163);WS(-1077899937,-1095640595); +sum1=W(0,1038010313,1032811586,-1097475626,1033727032)+W(1,1026389718,1036208246,-1123908524,-1117534996)+W(2,1040451742,-1100196466,1051006893,-1116405267)+W(3,1038149954,-1112596654,-1096170677,1043001855)+W(4,1012098034,1057575303,-1089360567,1035677341)+W(5,1041468735,1025151035,-1102384270,-1122502968)+W(6,1036152598,-1108998502,-1117118702,959089718)+W(7,1035936827,-1117388883,1019229383,-1122221082);sum2=W(0,1014408115,1037203464,-1112987386,1006518986)+W(1,1031626038,-1111295182,1033188726,998532726)+W(2,1042237958,-1111204470,1033012571,1002908510)+W(3,1024306585,1046645930,1040504174,-1142339005)+W(4,1005347958,1036175171,1022488131,1028667874)+W(5,-1108949069,-1102667672,-1113110436,1028194944)+W(6,-1129272561,-1105300490,1012028387,991631364)+W(7,-1155665460,-1098212068,1026136762,-1118275484);WS(1052188868,-1105025774); +sum1=W(0,1026006805,1053332527,-1093124457,1016895952)+W(1,-1127133881,1046329385,-1102124985,1015047702)+W(2,-1111238899,1054121990,-1093232644,1031180874)+W(3,1039605133,1041936861,-1108714798,-1123947762)+W(4,1036489378,-1098161716,1047964177,-1116894641)+W(5,1027868467,-1100202284,1042303686,-1100188956)+W(6,1028341284,-1114580002,1042593657,-1114267170)+W(7,1040022103,-1112308133,1033044781,-1120167377);sum2=W(0,-1098242390,1038124206,1035251585,-1146833441)+W(1,-1090155459,-1111850856,-1110800852,1015159009)+W(2,-1080159437,-1111691725,1033462452,-1114532383)+W(3,-1083172772,1045262621,-1116129960,1037947101)+W(4,1043663143,-1107342132,-1117401930,-1115149205)+W(5,1066420271,-1115094311,1036826747,-1118954060)+W(6,1065821018,1045364599,-1121811075,-1159263732)+W(7,1052081121,1039539139,1031476522,-1144829650);WS(-1102870152,1022622513); +sum1=W(0,1055644087,-1105950504,-1114669622,-1099940547)+W(1,1035394969,-1108831748,1043185370,1029691760)+W(2,1045649819,1041190721,-1098060649,-1105006556)+W(3,1045987408,1039545500,-1093030704,1034170571)+W(4,1030573816,1049616144,-1093912525,1028754581)+W(5,1031111560,1056957379,-1084377448,1032315050)+W(6,1035095156,1047436506,-1093512673,1008186016)+W(7,1041054212,1055423038,-1094643096,1002093997);sum2=W(0,-1084145430,1070336926,1055168354,-1086613448)+W(1,1037387540,-1098862516,-1095516697,1056626754)+W(2,-1091365810,1050914492,1050568943,-1097405209)+W(3,-1096604175,1068317532,1069441477,-1099937369)+W(4,-1095647742,1054262144,-1090345251,-1106692290)+W(5,1043123500,-1083131387,-1085743049,1045945631)+W(6,-1106696806,1046449081,1048225937,-1106594556)+W(7,1053814194,-1081281727,-1086819148,1058187197);WS(-1069426976,-1120848841); +sum1=W(0,1036938172,1037072255,-1103659451,1032159990)+W(1,1035259664,997868135,1049019033,1025792718)+W(2,1047028417,1031706371,-1095105906,1020529436)+W(3,1052190352,-1092031243,-1081236347,1049696791)+W(4,1041456894,1045414333,-1090672009,1038916826)+W(5,1039915051,1026900661,1032303833,1035011641)+W(6,1015525967,-1119324359,1008361890,1039253091)+W(7,1036563112,1015048091,-1146656500,-1145253028);sum2=W(0,-1131675185,1029191442,-1114450600,1024984252)+W(1,-1130807793,-1132163681,1018117017,-1115031522)+W(2,-1137547874,-1115933340,1033829647,1037592454)+W(3,-1119117212,-1086087178,1063181450,1006729954)+W(4,-1138868050,-1112002886,1026390676,1017409241)+W(5,-1139313154,1014175682,-1143924164,-1134939410)+W(6,-1127085641,1023290113,-1138352802,-1125048401)+W(7,-1144490820,-1135148482,1007342770,974288160);WS(-1092511940,1056045775); +sum1=W(0,1034351639,-1122413709,1034842253,-1109413949)+W(1,1036571263,-1107220477,1031880235,-1128037178)+W(2,1026078569,-1123595634,1048156900,-1106487287)+W(3,1044122211,-1099810889,-1106066347,1038991202)+W(4,-1145831724,1052039823,-1096815763,1016305349)+W(5,-1113387827,1050308552,-1095462256,1039930976)+W(6,1018446892,1032192235,-1104039774,-1145490603)+W(7,-1119385695,1047960215,-1105858435,-1115254417);sum2=W(0,-1129634341,1017418680,1033383321,-1086264457)+W(1,-1125984965,-1145267460,-1108053053,-1078809375)+W(2,-1131211232,1019434782,1035592777,-1073693037)+W(3,1032304695,-1112808134,1017461836,-1098879629)+W(4,-1126835561,1027589163,-1125819067,1071963841)+W(5,-1135310730,-1164412329,1048432434,1073307463)+W(6,1030376830,1012340975,-1132396034,1053688201)+W(7,-1115706548,1024240430,1037084632,-1110470100);WS(1042257800,-1115776325); +sum1=W(0,-1146926115,-1107281138,1038400362,1010013391)+W(1,1032352980,-1098526814,1045994468,-1117084567)+W(2,-1109330569,1043068219,-1111135982,1043908518)+W(3,-1114314051,-1109412128,-1144690495,-1120663934)+W(4,1039411448,-1097266597,1057956169,-1098521248)+W(5,-1111850704,1039093055,-1128243973,-1122589083)+W(6,1040829028,-1100632132,1048043508,1029880783)+W(7,-1123393177,-1104810789,1025450855,997333453);sum2=W(0,1029402915,-1139977433,-1102627522,1041328458)+W(1,-1131137316,-1118253197,1040550677,-1112092070)+W(2,1031911869,-1122896144,-1088615745,1058291503)+W(3,1023173531,-1122404168,1061434285,-1087193418)+W(4,1023792141,-1098422336,1075510495,-1072676007)+W(5,-1123803784,1037623928,1067804318,-1079538943)+W(6,1014267385,-1106514445,1045458757,-1106625048)+W(7,-1128776324,1036548666,1035151624,-1107997040);WS(1062572194,-1113128476); +sum1=W(0,1025054504,-1105909778,1035303099,1030405814)+W(1,1032745069,-1098454710,1048922046,-1107189334)+W(2,-1111717923,1040855323,-1111940687,1047137430)+W(3,-1115121012,-1102647392,1030883818,-1120733568)+W(4,1039928305,-1094658254,1056642050,-1102007432)+W(5,-1108655721,1048800872,-1114397119,-1121522301)+W(6,1042636501,-1098634802,1045405821,1030940241)+W(7,-1121873307,-1107065062,1028123977,-1129454014);sum2=W(0,-1114559261,-1138228901,1049277284,-1102431407)+W(1,1015935669,1029828517,-1107208114,1036930870)+W(2,-1119968612,-1110320033,1062476231,-1086736101)+W(3,1034980574,-1095660939,-1090290563,1061616421)+W(4,-1134322843,1043622789,-1071408041,1075586093)+W(5,1031387619,-1103434641,-1079628774,1068626110)+W(6,-1130912561,1043842027,-1100585862,1036267766)+W(7,1028413753,-1104010102,-1110973692,1043722127);WS(1060774594,1031131703); +sum1=W(0,-1107942447,1045023814,1022102280,-1109726834)+W(1,-1105426838,1048858052,1019498368,-1115599332)+W(2,-1102134060,1057375412,-1089780107,1024119623)+W(3,-1108928460,1053310638,1054202179,-1117349999)+W(4,1030069408,-1086363546,1056436400,-1105657043)+W(5,-1109912496,-1121814959,1045750878,-1112636534)+W(6,-1111247296,-1121700033,1017717699,1020787328)+W(7,1016389396,-1112979299,-1115080444,1034439495);sum2=W(0,1036474850,-1115841609,-1115206474,1027456791)+W(1,-1117613837,1015990489,-1121605429,-1155010952)+W(2,993333704,-1114813616,1041891165,-1115442992)+W(3,-1124280889,1046600726,1051997378,-1145891812)+W(4,-1120272689,-1127188969,-1122067781,-1135549634)+W(5,-1147158916,-1101686418,1035140408,1009536026)+W(6,-1136721538,-1106242516,1020051521,1019245009)+W(7,1006917274,-1111325506,-1113122752,1017045509);WS(1060194466,-1100017114); +sum1=W(0,-1107280066,-1105747811,1059466063,-1103466926)+W(1,-1110455654,-1101985628,1043733237,-1106475814)+W(2,-1108454907,1018718942,1057500851,-1106517942)+W(3,-1102634810,-1106901713,1036011765,-1094721336)+W(4,-1103570769,1046100821,1016328357,-1110005824)+W(5,-1103041901,1055521256,-1113318903,-1108487663)+W(6,-1108837738,1047438565,-1139455183,-1116101330)+W(7,-1103753711,1059153514,-1111475141,-1118902112);sum2=W(0,-1134258178,-1116481221,1032034504,-1123729210)+W(1,1016306377,-1123533287,-1130975497,-1124034546)+W(2,-1119701101,-1150894505,-1129842733,-1119840142)+W(3,-1121134035,1050682292,1050657130,-1118895679)+W(4,-1110905440,1003934853,1032136922,-1115758498)+W(5,-1123898542,1016401385,-1114630639,-1135589646)+W(6,-1120388479,1010383122,-1135861370,-1140270714)+W(7,-1131815221,1025651043,-1115813895,-1126135829);WS(-1094780356,-1096037829); +sum1=W(0,-1094564683,1051641704,1042321778,-1109647669)+W(1,998269945,1048993133,-1097112145,1034946343)+W(2,-1106439374,-1105882161,1049078036,-1120792141)+W(3,-1099790159,1021385644,1039341071,-1101585581)+W(4,1039955171,-1110801281,1035258371,1020526630)+W(5,-1116696534,-1093602407,1056382370,-1124429730)+W(6,1026955814,1040928722,1035779188,-1106396689)+W(7,-1132274079,-1094848202,1053064740,1027970323);sum2=W(0,-1137596463,1029577680,1038439017,-1113448033)+W(1,-1129205035,-1107142480,1015352075,1012914617)+W(2,-1126343315,1047351132,1070713407,-1114069586)+W(3,1039861741,-1098569120,1073186805,1046610276)+W(4,-1126312459,1038608299,1038004689,-1144677526)+W(5,-1123052878,-1116615219,-1073950732,1007385420)+W(6,996868828,-1112533224,-1077903771,-1108941862)+W(7,-1125851727,-1107291575,-1107100148,1037961064);WS(1053603780,-1115461008); +sum1=W(0,-1137418943,-1097293942,1049585228,1014991997)+W(1,1030817204,-1095449155,1046317951,-1134044169)+W(2,1016256157,-1092155167,1056038503,-1118818050)+W(3,1021933093,1049349309,1058232189,-1129232467)+W(4,-1107174285,-1125654285,-1109114845,1020919504)+W(5,1024187323,-1107838901,-1104780729,1042320778)+W(6,-1121722108,-1112035518,-1104946775,1033110781)+W(7,1027865701,-1115980033,-1096840466,1040979266);sum2=W(0,1033231462,-1115237141,-1111323807,1022510111)+W(1,-1122607696,1031925962,-1115623012,1016053183)+W(2,-1126070520,1042960949,-1119706606,999155791)+W(3,1021774826,1053325526,1049744257,-1130112624)+W(4,-1120788802,-1107200469,1005054791,-1116359926)+W(5,1023918789,-1112013861,1026671690,-1115047971)+W(6,-1127228708,-1114604471,-1107279270,-1133439199)+W(7,-1155086158,-1120863174,-1119270266,-1114777589);WS(1049944452,-1118177299); +sum1=W(0,1004954534,-1113835168,-1131743895,1036431958)+W(1,1034605113,-1117712807,1044152226,-1113909672)+W(2,1042179871,1049772083,-1105992217,1034469319)+W(3,1046072096,-1089565448,-1102704504,1047091406)+W(4,-1119832136,-1087875066,1051885673,-1117867957)+W(5,-1115172412,1028249398,1023284205,1037431354)+W(6,1021914321,-1115173764,1032417701,-1128742159)+W(7,-1125265763,1016032028,1023720959,1027934165);sum2=W(0,-1122048832,1053033259,-1121809206,-1100778293)+W(1,-1102028824,1033866732,1014156522,1033801710)+W(2,-1098388207,-1083784972,1055740053,-1112352078)+W(3,1042109429,1035235216,-1104400409,1046653262)+W(4,1037898289,1056376564,-1126110057,-1111071353)+W(5,1035691269,-1103367787,-1120368299,1025902829)+W(6,-1120157845,1034674212,1015248281,997672170)+W(7,1026959129,-1128193065,984939091,-1153716682);WS(-1165444096,-1119710264); +sum1=W(0,1042994118,1051115175,-1098028621,-1108071955)+W(1,1034244741,1042802936,1040688824,1032455940)+W(2,1037778378,1051394930,-1088773549,-1120702728)+W(3,1041081798,-1114386041,-1087521946,1029133552)+W(4,1016348739,1044466585,-1089153334,1045508004)+W(5,1044760836,1039392600,-1102706330,-1117660781)+W(6,-1126699940,1042064672,987979863,1043978432)+W(7,1049969601,-1111502020,-1112154588,-1112358151);sum2=W(0,-1113048377,1060341068,1067872749,-1107478445)+W(1,-1169925094,1041247352,1057359743,-1121919154)+W(2,1033233769,999982909,-1089189226,-1112420946)+W(3,1022227231,-1081289783,-1075624869,1030919570)+W(4,973479782,-1090689511,-1088323315,1049895882)+W(5,1025958326,1036288861,1048635178,-1108655271)+W(6,-1175748301,1044034366,1052769876,1042449401)+W(7,-1108998850,1055733822,1060416891,-1098757157);WS(-1077066897,-1138646112); +sum1=W(0,1024267775,-1092381223,1053014632,1025453154)+W(1,1009759453,-1106693383,1027242622,-1118474373)+W(2,1034803609,-1096180043,1051220983,-1149202983)+W(3,-1105412061,1042083852,1053447283,-1101608091)+W(4,-1118414542,1031147625,-1105039519,1010847661)+W(5,-1104989395,1050244398,1023828386,-1113932053)+W(6,1000523125,1024065726,-1110843104,1023831870)+W(7,-1099033634,1045342865,1028746421,-1113130950);sum2=W(0,1013870164,1032969077,1050672871,-1105627059)+W(1,-1133465912,1032956180,1076869477,1037977967)+W(2,1030888661,-1118666398,1063553933,1017901782)+W(3,-1118337904,-1095979039,-1069322680,1026329625)+W(4,1030672570,-1102611716,-1088200357,-1169512700)+W(5,-1156287199,1041525268,1026168517,-1153801247)+W(6,1014316520,-1121602320,-1129519600,-1126632288)+W(7,-1145191680,-1129518532,-1120095414,1031405165);WS(1059038658,1028594353); +sum1=W(0,1030613999,1027001704,-1089493909,1046010101)+W(1,-1132336275,1035531624,-1094328658,1026431736)+W(2,-1117493948,1032402678,-1106243079,1043051950)+W(3,1038489844,-1152158733,1052296065,1044337864)+W(4,1028206993,-1098315241,1042911580,1028671678)+W(5,1044643916,-1088517514,1049587060,1032918142)+W(6,1007880004,-1103996748,1035409673,-1137633217)+W(7,1043840791,-1091506711,1044000434,1036291743);sum2=W(0,-1118922878,-1105269646,1050974192,-1110275215)+W(1,998383694,-1109062791,1002191246,-1111322692)+W(2,-1117830208,1013977255,1046707356,-1114811922)+W(3,-1123342062,1052555170,1051646415,-1114439732)+W(4,-1109116635,1041098100,1036678597,-1108145020)+W(5,-1124252768,1040874722,-1098775079,-1121186646)+W(6,-1104593856,1030669290,-1122565606,-1115485971)+W(7,1026377322,1040986964,-1098750401,-1115223671);WS(-1089038754,1070610314); +sum1=W(0,1006818038,-1112569734,-1110914124,1038135388)+W(1,-1126323612,-1099849389,1036085850,1043645143)+W(2,1015379312,-1090696922,1053776546,1040122382)+W(3,-1107760774,-1101892281,1045400523,-1118717763)+W(4,-1110158738,1028620400,1040930437,1002760462)+W(5,-1104391397,1047988033,-1132043583,1016954112)+W(6,-1114553627,1043536901,-1119469430,974497054)+W(7,-1113068735,1039930893,-1114659286,-1139206280);sum2=W(0,-1120363159,1029972206,-1135126990,-1111466112)+W(1,-1119340063,1020623843,1026762268,-1099605665)+W(2,-1119078724,-1137841818,1064611900,-1102195223)+W(3,1035843986,-1094446255,1017486399,1042926586)+W(4,1035175754,1049035968,-1094749382,1014516782)+W(5,-1106992039,-1128810267,1039608352,-1112006203)+W(6,-1128507307,-1123633215,-1194223384,-1136077530)+W(7,-1129270833,-1123131987,-1197948696,-1129209333);WS(-1120775200,-1094115106); +sum1=W(0,-1117113151,-1112921839,1046145098,-1107062579)+W(1,-1133090109,-1099947345,-1097096777,-1151313622)+W(2,-1096583070,1050818928,1048882552,-1100319675)+W(3,-1098081804,1057531117,1067142180,-1094480203)+W(4,-1092969217,1051254629,1054137781,-1100195749)+W(5,-1119648950,-1098660371,1035250696,-1111825641)+W(6,-1113650835,926574177,-1115652196,-1118408614)+W(7,-1105675228,1035449878,1024424221,-1114839546);sum2=W(0,-1122846232,1031116535,-1118531646,1030028661)+W(1,1002183233,-1113707943,1034244245,-1116699784)+W(2,-1129631292,988543074,1027624889,1039671963)+W(3,-1112395279,-1080457005,1064104967,1037992478)+W(4,1009610216,-1097715519,1052372051,-1115290878)+W(5,1001287537,1037716560,1011412016,1016046512)+W(6,-1122731504,-1112112395,1031591085,-1122589730)+W(7,-1139829356,1031806339,-1128697528,1022404309);WS(-1083041826,-1088446577); +sum1=W(0,-1112868382,-1138041180,1041478665,-1123809603)+W(1,-1139686881,998832115,1026886463,1007627162)+W(2,1037998481,-1108164766,1018740405,-1137074328)+W(3,1035817611,-1106005004,-1092605991,1036557383)+W(4,1028314191,1054394898,-1096954228,1043199331)+W(5,-1112414119,1042585939,-1105339656,1016960213)+W(6,-1123391616,1037009680,-1122534560,949272012)+W(7,-1152205450,1027830053,-1128384493,-1161448845);sum2=W(0,1036010005,-1080772886,-1110295637,-1113551367)+W(1,-1112615912,-1080108640,1033469827,-1118689741)+W(2,-1108103320,1042883784,991295446,-1123719569)+W(3,1026422893,1067023817,-1106557392,1039881895)+W(4,1043952518,1065911618,1015020021,1028046949)+W(5,-1112407780,1043418298,-1113416335,986544491)+W(6,1025610945,-1121396391,-1118133995,1028536389)+W(7,-1142574731,1019038275,1027619053,-1114551687);WS(1059656866,1032254503); +sum1=W(0,1051132033,-1087438145,1040121644,1047684766)+W(1,1032901415,-1096624519,1045530925,1031967406)+W(2,1050001035,-1093591378,1040228252,1044069767)+W(3,1051046262,-1092342973,-1096329486,1050005760)+W(4,1024623477,1024747921,-1100479077,1045316401)+W(5,1041030197,1042870865,-1092498854,1048633756)+W(6,-1129401004,-1112612011,-1100524478,1041789317)+W(7,1040932616,1037509038,-1089145703,1050363772);sum2=W(0,1033723840,1054927280,-1094930774,-1110893464)+W(1,-1120765513,1004192518,1009606707,-1117945313)+W(2,-1151198348,1032813206,1018976553,-1111742424)+W(3,-1121736497,-1097617496,-1096835022,-1121652889)+W(4,1020727265,994767756,-1114598300,-1144829382)+W(5,-1111733852,1024454465,1049726638,1030389401)+W(6,1010605379,-1124374145,1040837102,-1120942585)+W(7,-1112033268,-1107458988,1057385902,1035752486);WS(-1076352721,1061176787); +sum1=W(0,-1115567878,-1095051668,1047858891,1038434246)+W(1,1039493528,-1094852257,1040618482,-1116442287)+W(2,1037423542,-1086623624,1057001770,-1114755255)+W(3,1022350014,1044286862,1036068672,1022609452)+W(4,-1114677168,1057477914,-1086915318,1037805114)+W(5,-1123591576,1049595083,-1095930750,1044588197)+W(6,-1143365955,1036655988,-1108386213,1031697064)+W(7,-1114839417,1044280124,1029598047,-1119274549);sum2=W(0,1018488840,-1104206436,-1111729053,1004158510)+W(1,-1109735653,1012246375,-1117505825,-1122544930)+W(2,-1113462230,-1114523900,1042992721,-1111468709)+W(3,-1112517262,1056346033,1051780099,-1133433375)+W(4,-1108529674,1029007760,1042618199,-1114816198)+W(5,-1112282852,-1106712811,1035563022,-1136000711)+W(6,1002563934,-1113168793,1024458488,-1122022613)+W(7,1011039855,-1115338003,-1112797570,1037211560);WS(1037340944,-1121222187); +sum1=W(0,-1116495838,1040689218,1036502651,-1106495021)+W(1,-1118176747,-1110298712,-1106426924,-1119752153)+W(2,-1096308023,1052341602,1044624667,-1097659059)+W(3,-1094205341,1064260668,1068943083,-1089978464)+W(4,-1095502171,1052009702,1045175252,-1099820424)+W(5,-1115640417,-1100646016,1004526500,-1108261518)+W(6,-1112496425,-1117627026,-1108867801,-1110958217)+W(7,-1105702479,1026863896,-1112879076,-1111070831);sum2=W(0,1002312827,1043920878,-1113959010,-1124888335)+W(1,-1134403694,1045056865,-1120905299,1019347263)+W(2,1025097519,-1107896626,1031903433,-1120916959)+W(3,-1105297347,1060319926,-1100397803,1028583233)+W(4,1007461646,-1100756735,1042137547,-1119634731)+W(5,-1117960999,1018292031,-1106899263,-1134844462)+W(6,-1123847191,-1136355134,-1119650359,998264859)+W(7,-1129847887,-1108036266,1033071013,-1109200858);WS(-1087648930,1056984912); +sum1=W(0,1027950097,1048727276,-1101873716,-1111974664)+W(1,1027762677,1043573475,1015678999,1024202483)+W(2,1025406415,1051177331,-1091649404,1016025318)+W(3,1043195617,-1092810048,-1082302860,1050173331)+W(4,1035903278,1038252876,-1097139061,-1156961168)+W(5,1031391740,1044809191,1038200652,998750650)+W(6,1023913741,1035706934,1042041459,1023377112)+W(7,1033673899,1020597221,1041744649,-1114494621);sum2=W(0,1035604443,-1109665959,1027481873,-1121529027)+W(1,-1113891962,1017090586,-1115818981,1006860245)+W(2,-1155240851,1033553543,1023852497,-1124657042)+W(3,-1130359386,1061263788,1027230949,1039189933)+W(4,1025386829,-1109330568,1041592808,-1123139111)+W(5,1028100153,-1106256683,-1113120233,999905578)+W(6,1016774458,-1097657183,-1101411950,-1132638677)+W(7,-1126789482,-1118236009,-1121071325,-1109638591);WS(-1090940868,1045539156); +sum1=W(0,-1125495305,-1111842948,1024315123,1033322010)+W(1,-1122547977,1036262295,1017057054,1021788462)+W(2,1049435900,-1083395945,1046781659,1041875702)+W(3,1022396558,1050733040,1016653136,1032259903)+W(4,1034779456,1050803832,-1084181811,1045300311)+W(5,-1113477720,1023164412,1044787970,-1103054087)+W(6,1025152496,-1141132416,1025666193,-1119238479)+W(7,1017461170,-1119150102,1039405571,-1121753565);sum2=W(0,-1111850352,-1154701652,1008422401,-1128983709)+W(1,-1115334877,1045060155,1033609440,-1109145509)+W(2,-1101312255,1053683311,-1090718168,1041457249)+W(3,-1131783421,1041887968,1047082317,1009316297)+W(4,1037660946,-1090960245,1034433310,1037394704)+W(5,-1121261620,1034919558,1036748070,1030040522)+W(6,1008969141,-1118627401,-1109720341,1034723828)+W(7,-1118719808,-1117531173,998924330,-1122112519);WS(1058382658,-1101786424); +sum1=W(0,-1110270554,1020557616,1042446649,1010032145)+W(1,-1139041509,1040419632,-1110579152,1021044303)+W(2,-1106470550,1039037886,1052788411,-1107378131)+W(3,-1114587164,-1089217895,-1102603214,-1101971332)+W(4,1023988544,-1116816379,1052497916,-1110520967)+W(5,1031022672,-1098005290,1048850952,-1136091053)+W(6,1028924449,1030444000,1041387232,-1142630143)+W(7,1026679274,-1105928314,1042985742,1036784631);sum2=W(0,-1122331173,1021048143,-1121426033,-1141905806)+W(1,-1116694246,-1117334358,1034622720,-1109719947)+W(2,-1133055086,985385246,-1111822939,-1111398337)+W(3,-1106162040,1058597177,1062397265,-1092732322)+W(4,1033705060,-1096472079,1007125953,-1104483430)+W(5,-1119866494,1040447045,-1124693001,-1148551778)+W(6,1019582103,-1107345628,1025700470,-1142669219)+W(7,-1119480360,1011504527,1026572561,-1124513225);WS(1062970978,-1081266569); +sum1=W(0,-1102316771,1049067654,1040583110,986432279)+W(1,1026249566,1049251698,1039432874,1031488060)+W(2,-1104248914,-1100292756,1040278772,1034368766)+W(3,1037424006,-1086541140,-1096033842,1046796153)+W(4,1035596338,-1092317470,1045287213,1039493185)+W(5,-1122189220,-1101422105,1049598341,1029733120)+W(6,1016727466,-1130063849,1043296141,-1132489681)+W(7,1006845944,-1103019359,1042202275,1032483937);sum2=W(0,-1108138297,-1092863213,-1134447463,1020893591)+W(1,1024987284,-1095439435,-1107350452,1030342296)+W(2,-1107013954,1054820060,-1104627754,1023656240)+W(3,1038311792,991870971,1058790229,-1145193326)+W(4,-1140508767,1019051815,1049499199,-1111721419)+W(5,999045582,1003248078,-1113643053,-1124168067)+W(6,1010876103,-1122507350,1040683258,-1111078930)+W(7,-1139420079,-1120196608,-1107048418,1036851190);WS(-1090709444,1049440503); +sum1=W(0,-1112814366,1025170444,1021129071,-1116166456)+W(1,1009000949,-1102968365,-1107658202,1013557870)+W(2,-1102384190,1054801672,-1108358704,-1112664461)+W(3,-1098104133,1055216649,1055155742,-1102466049)+W(4,-1100420271,1007027006,1062491877,-1093799886)+W(5,-1117987732,994631719,-1115514619,-1139587454)+W(6,-1108681738,-1122456724,1032182427,-1112800010)+W(7,-1118237822,1037835469,-1137063726,-1119596065);sum2=W(0,1010269627,-1125700925,-1129465449,-1124401971)+W(1,1011116525,1031004177,-1111184590,-1139731999)+W(2,1031226256,991734042,-1090395945,-1123603568)+W(3,1023655690,1056735713,1007034923,-1106780773)+W(4,-1117593255,1023598587,-1114530604,1032362667)+W(5,-1139919503,-1116020697,1044588818,1019563835)+W(6,-1131886173,1030692092,-1118660887,1016903156)+W(7,-1132337311,1014084462,1027760305,1003383541);WS(1052605444,-1096548047); +sum1=W(0,-1135269079,-1099989408,1035141158,-1157809579)+W(1,1014261129,-1107118442,1022832721,1034237928)+W(2,1035728362,-1095069609,1036930738,1014945855)+W(3,1017149121,1004173259,1042230040,1022065263)+W(4,1022065234,-1102684265,1051854441,-1149699425)+W(5,-1106055602,1026600311,-1123731628,1033708682)+W(6,-1122459306,1029280393,1039321653,-1120230985)+W(7,-1120275059,-1114974728,-1108029264,1040542518);sum2=W(0,-1139099893,-1078862437,-1097588090,-1129576496)+W(1,-1102121527,-1076350607,998819801,1024729710)+W(2,-1108414487,1043522425,-1111980043,-1134118593)+W(3,1039987934,1067956735,-1109442889,1032654822)+W(4,1045186917,1072447081,1044036972,-1118463242)+W(5,-1096991255,1053122067,-1115256553,-1124332658)+W(6,1033745090,-1111637970,1027886256,-1123595298)+W(7,-1102163660,1040872955,1044251533,-1115579557);WS(1054231108,1025279114); +sum1=W(0,1020527399,-1123453065,-1096862627,1049493415)+W(1,1020186806,1039341944,-1119337841,-1160786718)+W(2,1026191493,-1104689967,1034733383,1041541558)+W(3,1046988234,-1092316960,1008801448,1041661776)+W(4,-1147857037,-1122753069,-1108979241,1034215919)+W(5,1041704764,-1093206832,1050167121,1032223662)+W(6,-1120557618,-1107112804,1027712531,-1156220183)+W(7,1039867950,-1094240131,1043962418,1036558383);sum2=W(0,-1156731980,-1121143571,1027150242,1019039796)+W(1,-1125155383,1021067288,1024911074,-1128517034)+W(2,-1153680156,-1101109237,-1096825521,1036906894)+W(3,-1140765671,-1079877582,-1088644111,-1110310177)+W(4,1018992688,-1094350155,-1113080073,1019841700)+W(5,1030176462,1058234221,1052444813,1000349534)+W(6,1027890172,1064456596,1024094624,-1128055622)+W(7,1018002108,1058386161,1045751986,-1134555143);WS(-1097731588,1025129315); +sum1=W(0,1033609822,1037092684,-1099469177,-1125480775)+W(1,972033083,-1118357663,-1139849211,-1113410371)+W(2,1036940225,1046113067,-1089626010,1035911587)+W(3,1025915127,1050865438,-1143345853,1047135499)+W(4,1037164536,-1109542297,-1104510832,1038594118)+W(5,1018117854,1047810219,-1097851227,1031924197)+W(6,1009743167,-1111680192,-1113708160,-1146462713)+W(7,1021572178,1036701507,-1110047355,-1120871309);sum2=W(0,-1124965724,1029789829,-1119672690,-1132623148)+W(1,-1134630348,-1105084635,1036116775,-1123511646)+W(2,-1138485084,1035852445,1002738585,-1106888257)+W(3,-1143859545,1050249105,1057234226,-1097411434)+W(4,-1133066340,-1114135764,-1115375290,-1109817844)+W(5,1030422253,1024721985,-1117221657,1017260494)+W(6,-1121255807,-1120848177,1007172972,-1118819718)+W(7,1003464777,1033535897,-1110249095,1021514610);WS(1064258306,1057427735); +sum1=W(0,1046669668,1041288794,-1094345727,1024557366)+W(1,1048078371,1002554246,-1107049340,1026345305)+W(2,1049007041,1039217007,-1092155570,-1126800432)+W(3,1043467602,-1117262306,-1100296810,1017273727)+W(4,1032131185,1041191743,-1101509636,1027549470)+W(5,1040278032,1037075392,-1100720075,-1136038899)+W(6,995640096,-1121877906,1015117221,-1134767685)+W(7,-1135631084,1026049048,1034147956,-1111532367);sum2=W(0,-1083389635,1062132206,-1122840851,-1127222139)+W(1,-1081609637,1066099523,1053156114,1022631188)+W(2,-1079976349,1066066300,-1105997303,1027246780)+W(3,-1090363224,1067427062,-1091867230,-1128121946)+W(4,-1100056051,1049064133,-1103783968,1036294091)+W(5,-1097029007,996873905,1048340523,-1115106526)+W(6,1028030408,-1137063332,-1134953960,1035025213)+W(7,-1118886369,1035057689,-1104392578,-1117772337);WS(-1082692450,-1121765493); +sum1=W(0,-1112587635,992292947,1015927970,-1121302066)+W(1,-1118487719,-1104534315,1038416886,-1121296341)+W(2,-1105756568,1049230729,-1104867982,1043167221)+W(3,-1111631170,1048175951,1051898365,1037146590)+W(4,1036199927,-1089217933,1057590961,-1113442509)+W(5,-1106833087,1028715132,-1104675396,1030891673)+W(6,-1115752014,-1121927694,1012516667,-1121397517)+W(7,-1109370235,1018481703,1022215305,-1113425325);sum2=W(0,-1102561169,1040868564,-1126923948,-1123351116)+W(1,1026098771,1021710972,1009959824,-1125337962)+W(2,-1149524831,1048116590,1037970343,1024724387)+W(3,-1113975834,1041914200,1042300553,-1123062396)+W(4,-1157274159,1051191259,1032086087,1021621986)+W(5,-1105234356,1039729263,-1097615037,-1105344931)+W(6,1008573990,1018638481,-1115639834,-1109718449)+W(7,-1102778536,1035375403,-1115667744,-1105611058);WS(1063145570,1065948321); +sum1=W(0,-1113780043,1042647928,1023153433,-1113344071)+W(1,-1107415145,1041877314,-1105577826,1034763992)+W(2,-1103697695,1043379605,1035095074,-1113485016)+W(3,-1125795137,-1105676766,1058030732,-1107021830)+W(4,-1119226457,-1093770877,1049757493,-1116457366)+W(5,1032469064,-1098882227,1047432094,1028002580)+W(6,-1118570362,1029896809,-1106671851,1033670420)+W(7,-1148759702,1007275454,-1110160160,1021171309);sum2=W(0,1033443671,-1147652316,-1122182070,-1114870166)+W(1,-1119163512,1034562054,-1110746439,-1126213983)+W(2,1032648925,1044843888,-1104224164,1033622730)+W(3,1022262943,-1082830049,-1080473697,1036499220)+W(4,-1121656898,1049609982,1070472721,1042757767)+W(5,-1125619769,1025258841,1045148854,-1125695843)+W(6,-1116250872,1030706970,-1138594966,-1109235057)+W(7,983397903,1030898199,1015661307,-1105016797);WS(1047808392,-1105857653); +sum1=W(0,1036414223,1057255335,-1089047968,1019549874)+W(1,1038664639,1050583338,-1095111703,1027946812)+W(2,1033646416,1052085724,-1090242223,1014185453)+W(3,1045309491,-1112577010,-1088425805,1038762993)+W(4,1028560677,1049269098,-1097592171,1038356881)+W(5,1047007737,-1101673225,1024927375,-1120878336)+W(6,1035626955,1020504170,988289723,1031636916)+W(7,1052689664,-1098667351,-1153489085,-1106190208);sum2=W(0,1050181400,-1084160527,-1088778570,1059321043)+W(1,-1114267734,1035785784,-1097051496,-1113170400)+W(2,1015251419,-1094891239,-1096397593,1035392846)+W(3,-1097894374,1060354212,1063793540,-1098458292)+W(4,1014394222,1045924604,-1132415773,1030978836)+W(5,-1098468098,1054874631,-1115217527,-1096505073)+W(6,1043075035,1042828743,-1098450150,1042772598)+W(7,-1092845444,1063378281,1051615858,-1088082125);WS(-1073783985,-1080098540); +sum1=W(0,1012137476,1004414705,994170013,-1135747626)+W(1,-1111733448,-1125334283,1040796537,-1106294475)+W(2,1027546650,-1098951217,1045494048,-1105932043)+W(3,-1095391448,1058781709,1038631039,-1097893467)+W(4,-1107725963,1056582836,-1099332954,1027155091)+W(5,1030910366,1054585131,-1102018612,1001385357)+W(6,1024902311,-1118558951,-1106829042,-1141795121)+W(7,-1136391487,1012935090,-1113109295,-1118975220);sum2=W(0,-1136577003,-1161174488,-1123274403,1021768566)+W(1,-1123969951,-1115268047,1023359390,-1128609502)+W(2,-1126970134,-1111829747,1034323377,1026568479)+W(3,1039844510,-1078035036,-1085317526,1027511085)+W(4,1037108170,1072008544,1044555209,986504280)+W(5,-1182117728,1038025274,1032404118,-1139830523)+W(6,1024145219,1006927579,1024479257,-1127097094)+W(7,-1107924935,1013110307,983390936,1022685546);WS(-1104974728,1024380720); +sum1=W(0,-1117848102,-1117883163,1036325571,-1131530510)+W(1,1021171896,-1127535108,1018298053,1031544042)+W(2,1039153371,-1099610928,1041104624,982295861)+W(3,1036503965,-1100771573,-1101972463,1036843369)+W(4,988770395,1043814114,-1133844875,1029874576)+W(5,-1109841905,1034691017,-1107251369,1031396654)+W(6,-1121562883,1034709362,1025626276,-1125713989)+W(7,-1126175513,1004793673,-1111468989,1034135320);sum2=W(0,-1125393898,1071281072,1044770418,1011595325)+W(1,1044163006,1072425553,-1125402454,1021558362)+W(2,1045704700,-1104699996,1018560910,1010524637)+W(3,-1110276988,-1078765241,-1098423872,-1113439186)+W(4,-1099412627,-1076152216,-1103281302,-1178088596)+W(5,1044569612,-1100004941,1028856833,1019143058)+W(6,-1115657155,1036033265,-1123488110,-1126446200)+W(7,1037394103,-1111185479,-1117821699,1026998165);WS(1066498257,1026989550); +sum1=W(0,-1129927868,1023571545,1016605513,-1133253141)+W(1,-1123659738,1024686464,-1143882757,1025371048)+W(2,1045121333,-1084187390,1042249043,1033458708)+W(3,1002634947,1040895252,1054068239,1032849928)+W(4,1036944705,1040663099,-1089079196,1049903454)+W(5,970850411,-1115004776,-1120675276,1024612748)+W(6,1022709187,1024409057,-1112524513,1017685954)+W(7,1004856149,1001199419,-1120648472,-1117202350);sum2=W(0,1038138620,-1106434423,1014840059,-1117610677)+W(1,-1155040203,1038340354,-1105689565,1038431916)+W(2,1049419982,-1087069176,-1102609737,-1115449783)+W(3,-1094597030,1064410985,1043321526,-1117967352)+W(4,1022703337,-1110711879,1043390477,-1107988055)+W(5,-1117198782,-1112639315,1042536365,-1112813855)+W(6,-1132959015,1026273617,1036470844,-1122022929)+W(7,-1121486321,-1123727669,1009362023,1031915394);WS(1059170114,-1115069681); +sum1=W(0,1041126528,1039057944,-1114418030,-1125005432)+W(1,1031327889,1043197758,1035998588,-1184440086)+W(2,-1137442701,1057495242,-1086197480,-1107377807)+W(3,1027929903,1035662548,-1092661254,-1131407372)+W(4,1016336432,1036387882,-1098594899,1031309989)+W(5,1045677858,1043295874,-1097533773,1017102598)+W(6,1027533272,1020376880,-1116322521,1036182828)+W(7,1040648584,1035357519,-1106979748,-1128058314);sum2=W(0,1029223181,-1099457044,-1094833228,1022472216)+W(1,1035999136,-1123134927,-1107153986,-1129014496)+W(2,1032743888,-1106245137,1052844759,1034397600)+W(3,1050206678,-1115721168,1029163621,1043654862)+W(4,1030968394,1035536761,1046847142,-1114537747)+W(5,969652021,-1109098872,-1111905268,-1149928759)+W(6,1018474295,-1136790748,-1116305850,968266517)+W(7,-1138117380,-1105152866,-1102858563,1033858063);WS(-1091215044,-1097536449); +sum1=W(0,1036334229,-1088688205,1028067640,1049627927)+W(1,1027816414,-1110004986,1025245044,1039037582)+W(2,1046343318,-1088611549,-1104070412,1048707955)+W(3,1054850406,-1085760696,-1089807987,1052669472)+W(4,1041878433,-1113122464,990395721,1043177720)+W(5,1040414769,-1115511970,1024229024,1039929856)+W(6,1017820267,-1113420363,1028468150,1044644789)+W(7,1047750528,1034437006,-1097347774,1048578060);sum2=W(0,-1114440831,1036847317,1041890716,1027069126)+W(1,1030624098,1042295753,-1115362087,1021176355)+W(2,988636086,1050034374,-1113867927,1029167466)+W(3,-1132718391,1031424194,1016671019,1028661170)+W(4,1030310950,-1119733782,-1130826523,-1183083952)+W(5,1016098323,-1120554286,-1097953797,-1108500823)+W(6,1024855622,-1114648667,-1146049358,1027651154)+W(7,1018716851,1035432255,-1096082463,-1106095247);WS(-1074893425,-1117971628); +sum1=W(0,-1094367290,1052023128,1042452051,-1107223211)+W(1,-1152038187,1049322869,-1097322793,1034136520)+W(2,-1103630563,-1111356283,1049675109,-1112379016)+W(3,-1098786216,999054287,1040732760,-1102728254)+W(4,1037656965,-1106664801,1040645714,1016544493)+W(5,-1114777697,-1093651375,1057236855,-1125564586)+W(6,1025099466,1040611874,1040783587,-1105965314)+W(7,-1124130662,-1094570594,1055134184,1008351835);sum2=W(0,1004001863,-1116735450,-1111481570,1033584975)+W(1,1021526755,1032892007,1024548251,-1130001464)+W(2,1018968138,-1096890588,-1073615974,1026017190)+W(3,-1116175346,-1099974349,-1071438395,-1121576034)+W(4,-1139174407,-1103015201,-1146527383,-1164624762)+W(5,1031843333,1040986630,1076155388,1024580999)+W(6,-1131104448,1035109709,1074182350,1043256283)+W(7,1009509771,1041412407,1041860718,-1106441216);WS(1040475912,1032695578); +sum1=W(0,-1124525022,-1112011377,1035534023,-1136466746)+W(1,-1155851319,-1123298122,-1102944834,1035920825)+W(2,1035372099,-1091278169,1055301749,-1130626274)+W(3,-1122500130,1056532699,1041895809,-1104812886)+W(4,-1172701842,1054708857,-1087252087,1028924087)+W(5,1033773669,-1105035590,1039100863,-1111589035)+W(6,1014757675,1007501482,-1123874252,-1142366545)+W(7,-1116930196,1026134833,1036316385,-1110262076);sum2=W(0,-1109091355,1041703749,-1120034208,1010537508)+W(1,-1119792870,-1123886114,-1123320808,1026411366)+W(2,-1111337413,1026232126,1045621744,1015836410)+W(3,-1102054262,1049335147,1063803841,-1098413574)+W(4,-1118550690,-1114718085,-1088756378,1041947548)+W(5,-1113960445,-1111978783,1016064880,-1123461018)+W(6,-1142500624,-1124340572,1026268254,999681904)+W(7,-1109065069,1020384670,1030310973,-1122952578);WS(1060902754,1050355625); +sum1=W(0,-1156790206,-1099711167,1048936605,975051222)+W(1,-1151083459,-1104333225,1047935457,-1120760458)+W(2,1011568442,-1101534272,1041411896,1040804594)+W(3,1023922682,-1082482317,-1103038759,1043235660)+W(4,1024500211,-1107281952,1049946264,998453633)+W(5,-1112644265,1053813598,1036831245,1030084558)+W(6,1033389138,1025001795,1037700978,1007099659)+W(7,-1104847739,-1116841801,1030797274,1035779080);sum2=W(0,1036801640,-1106066969,-1098529900,1051617655)+W(1,-1120633215,1029646415,-1094622159,-1128436081)+W(2,1043653368,-1102845552,1045091011,-1108268977)+W(3,1045612039,1020964885,1062435502,-1120809462)+W(4,-1100846658,1041841354,-1104869009,-1127923721)+W(5,976462574,-1088569123,1054359824,-1115259155)+W(6,-1115109418,-1101549413,-1101036113,1041018201)+W(7,-1097687290,1054633350,1044975639,-1102739129);WS(-1090140642,-1081743990); +sum1=W(0,1014408182,1037549524,-1119977588,-1148996265)+W(1,-1130293844,1009886528,1031805064,-1107483388)+W(2,1031847606,1044394635,-1097431626,1015837167)+W(3,1042594418,1037202321,-1094879521,1035016080)+W(4,1041618980,-1117833212,-1119842097,1032499967)+W(5,1035968392,1037634256,-1101547735,1034663662)+W(6,1009499077,-1122700465,-1107123493,1017023585)+W(7,1033368909,1015596142,-1105308242,1030806526);sum2=W(0,-1123785792,1013646496,-1105735433,1032589029)+W(1,1006912162,-1120892227,1034054467,-1113324539)+W(2,-1091554339,1057715626,-1103626228,1043157583)+W(3,-1071648513,1076150687,-1110563164,1029343874)+W(4,-1078529007,1069469884,1025732222,-1120727508)+W(5,-1106043455,1049558148,-1102425071,1029688242)+W(6,-1108743589,1035924910,1028146935,-1120545616)+W(7,-1113325201,1038760139,1001130061,-1123660578);WS(1055430148,-1108560690); +sum1=W(0,1035961997,-1122962962,1001804274,-1109508687)+W(1,1035029338,-1107101862,1037435821,-1114596033)+W(2,1036894711,-1105458486,1049324163,-1105968336)+W(3,1041930516,-1102453987,-1115462345,1030068713)+W(4,1018389269,1050880022,-1096234295,1023650152)+W(5,-1113968413,1050461237,-1096034793,1041307521)+W(6,1026969083,1017425654,-1105484423,1023939770)+W(7,-1119268932,1049028992,-1109268985,-1110794404);sum2=W(0,1020921672,-1133145023,967639540,1057583079)+W(1,1015626891,1000680715,1038163303,1066461314)+W(2,-1131154511,1034643892,1029820070,1070593780)+W(3,-1149322267,-1106033700,1027175814,1042500058)+W(4,1005570725,-1155618307,1050725869,-1076733999)+W(5,-1122484266,1030350968,-1107328459,-1075365186)+W(6,-1125609227,-1127714103,984351189,-1095092572)+W(7,1019773418,1027949553,-1113454879,1026351361);WS(1048611396,-1120253991); +sum1=W(0,-1109906484,-1104843595,1042068462,1029221016)+W(1,-1134442421,1020368935,-1116357012,1014414830)+W(2,-1157090745,-1102655324,-1127594975,1044033359)+W(3,1038629782,-1096452233,1048790986,1052393436)+W(4,1019276152,-1094801150,1026936628,1029702657)+W(5,1008425488,-1098953977,1044903358,-1137141374)+W(6,-1121251029,-1125379561,1031973931,-1117911220)+W(7,-1115994974,-1120481658,1042932491,1022285443);sum2=W(0,-1129566974,-1111784437,1050813877,-1093517653)+W(1,-1143746400,1036277891,1047551505,-1098527209)+W(2,1036033029,1028988774,1061486774,-1081514759)+W(3,-1117052801,-1100779042,1077969880,-1071648362)+W(4,-1123748463,1044450885,1055586292,-1089190754)+W(5,1038502321,-1129810696,-1131992338,-1107152864)+W(6,-1138810328,1034348699,1040643987,-1111885211)+W(7,1043607047,-1108082071,-1108034712,1025200270);WS(-1095808772,1065647947); +sum1=W(0,-1096536264,1055051378,-1152511995,-1101629224)+W(1,-1104862109,1050045579,-1106144343,-1139560206)+W(2,-1101976087,1051209263,-1114400236,-1118447811)+W(3,-1101730853,1045989771,1051130659,-1101507019)+W(4,-1126516760,-1096666661,1054814183,-1103658466)+W(5,-1106707963,-1098537885,1057272194,-1098960762)+W(6,-1123882077,1021791993,1047598263,-1106849375)+W(7,-1108125731,-1104774017,1057816237,-1104521538);sum2=W(0,-1110633145,1046325680,-1106205960,-1121981161)+W(1,-1114352725,-1134514653,-1145236426,-1115188107)+W(2,-1120367533,1030462840,-1121802017,1009337269)+W(3,-1113576661,1052343557,1052169724,-1122467029)+W(4,-1147392026,1028577898,-1126550987,-1112707841)+W(5,-1111220567,-1127265311,967975074,-1123885069)+W(6,-1123261925,1023140267,-1125641651,-1109514951)+W(7,-1131596567,-1109705515,1019189507,1036097210);WS(-1088656098,-1093593990); +sum1=W(0,1009988669,1053407451,-1093246956,1009810317)+W(1,1006243392,1046462824,-1100605512,1021367180)+W(2,-1118924498,1054487499,-1092703459,1031892963)+W(3,1040203342,1043824044,-1110184012,-1115326423)+W(4,1030956655,-1107509853,1041099456,1009525296)+W(5,1015251645,-1099069067,1036164518,-1102894371)+W(6,1032654584,-1114843936,1040232112,-1121673919)+W(7,1034196708,-1106663601,1035276411,-1120762380);sum2=W(0,1045046842,-1111686548,-1120613757,-1123157156)+W(1,1057379920,1047338924,1041926325,-1122209414)+W(2,1066661430,1044625920,1010608356,1026048962)+W(3,1065556520,-1108706635,-1107659276,-1118064370)+W(4,-1100359290,1040575208,1029226052,1036917588)+W(5,-1079104557,1048831397,990146073,-1118722317)+W(6,-1080513286,-1106604517,-1122878530,999828841)+W(7,-1090732450,-1118381857,-1148427089,-1128484108);WS(-1103417864,1032685901); +sum1=W(0,-1113840082,999140540,1026362243,1025795300)+W(1,-1101895278,1021813182,1049323684,-1104186210)+W(2,-1106883347,1050838637,-1123649147,1026463622)+W(3,-1112947643,1035808888,-1115046028,1015970396)+W(4,1045150312,-1089518824,1051398592,1028121997)+W(5,-1106874992,-1112862903,1043843226,-1114287989)+W(6,-1122615424,-1123587264,1032255888,-1148228092)+W(7,-1140285221,991482976,1025625239,-1125179546);sum2=W(0,1052414494,-1107019340,1021676257,-1118630717)+W(1,1041601968,1032004449,-1101889010,1028135044)+W(2,1061231009,-1083281727,1040520305,994543087)+W(3,-1094738093,1048799024,-1113266306,1023423300)+W(4,-1090047391,1060484354,-1097572834,1023744190)+W(5,-1112254382,1026094686,1047868927,-1123297050)+W(6,-1124055261,1028491114,-1106439707,-1134044699)+W(7,-1106989530,1016363351,1039531031,-1135541243);WS(1062251010,-1128406975); +sum1=W(0,-1122559590,-1114430084,1041522773,-1200477464)+W(1,-1117783082,998905218,-1122146129,1030594936)+W(2,-1111223497,-1117430765,1049934150,-1117296696)+W(3,-1097132645,1043264160,1038499861,-1108127936)+W(4,-1118294493,-1137238321,1040349396,-1117164622)+W(5,1027318465,-1109365760,1038350478,1008104625)+W(6,-1122628178,1012147781,-1161426505,1016497826)+W(7,-1142140116,-1112437644,1022231761,1030977566);sum2=W(0,-1117898288,1035048481,1015521050,-1121110162)+W(1,-1125963325,1029071818,-1131842712,-1139107970)+W(2,-1090182563,1058090849,-1155119281,-1131029094)+W(3,-1072766634,1075259304,-1099596444,1037152077)+W(4,-1084699977,1062748800,1015646848,1018972128)+W(5,1030742992,-1113008632,-1124623837,1025197316)+W(6,-1114032290,1039805619,-1116189732,-1127481518)+W(7,1021721886,-1113709765,-1146515621,1027813594);WS(1065708113,-1121751611); +sum1=W(0,-1151170552,1004700116,1029908854,-1203182552)+W(1,-1113367966,1033929377,-1124121476,-1152107167)+W(2,-1132161740,1028879143,1021289212,985230639)+W(3,-1102777150,1048992314,-1106962671,-1118004497)+W(4,1008580363,-1130586604,-1145749780,1024087440)+W(5,1034637855,-1123817297,1010684790,1024857134)+W(6,-1122909571,997138991,-1110778290,1018524741)+W(7,1029317996,-1119780649,-1119558682,1030859440);sum2=W(0,1022085973,-1128031215,1012976820,-1176062153)+W(1,1007192988,982756722,-1124806095,1022708360)+W(2,1059325611,-1087213694,1030136738,-1120463845)+W(3,1078660314,-1070139299,-1095156098,1033425170)+W(4,1067996709,-1079390657,-1131018297,-1138793506)+W(5,-1179370697,-1159362498,1019962283,-1124014927)+W(6,1033764027,-1110724756,1025926144,1016277465)+W(7,1000911377,1028041806,-1121497459,-1138055830);WS(1067144001,1026092834); +sum1=W(0,1005864375,1049810486,-1103125415,-1120236446)+W(1,1014388109,1020396467,1040462414,-1132016387)+W(2,-1110877439,1055042333,-1103579165,-1107048544)+W(3,-1100539124,1042867979,-1096204250,-1116193256)+W(4,-1110133357,1031992147,1048911295,1010104860)+W(5,-1126225268,1044290490,-1091768605,1031444773)+W(6,1033891677,1034565181,-1114007278,1030176378)+W(7,1016160519,1034066560,-1112003369,1031923300);sum2=W(0,-1130823435,-1123834023,1036568073,-1114604843)+W(1,-1108591076,1045671991,-1106172311,1024976861)+W(2,-1112679806,-1133291790,-1115701009,1033105292)+W(3,-1095898825,1058163296,1057311204,-1122476787)+W(4,-1107310218,-1100325346,-1097367248,1035411458)+W(5,1030441654,-1113640367,1044352434,-1111920852)+W(6,-1128226189,1016405480,-1106561364,1031834977)+W(7,1031713190,-1116067001,1014762708,-1121017007);WS(1057420226,-1092362255); +sum1=W(0,1032475105,1044920519,-1103664666,-1114304581)+W(1,1020346174,-1144052776,1027257637,-1116794957)+W(2,-1121587297,1052978802,-1096869991,-1103967019)+W(3,1019256762,1055322687,-1116373310,-1100439285)+W(4,-1123769862,-1104246416,1028318277,1018564517)+W(5,1033058515,1040777765,-1096789598,1036089864)+W(6,1024808486,1016898380,-1118572551,1021198731)+W(7,1030782351,1041983019,-1106323631,-1130998630);sum2=W(0,-1134184569,1016741405,1020516693,-1102863001)+W(1,1006994613,-1130764191,1043863088,-1103907912)+W(2,1034914936,1033077740,1060988002,-1084447988)+W(3,-1134366153,-1112456708,1071901111,-1076633620)+W(4,1033598449,1043198162,1043355315,-1098165823)+W(5,1009154259,-1132669129,1018979141,-1118646231)+W(6,989883430,1016038391,1034096544,-1113048166)+W(7,1021229932,-1126067903,1022348007,-1118544043);WS(-1105493768,-1082709441); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0][0] = HOOKED_texOff(vec2(-3.0, -1.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-3.0, 0.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-3.0, 1.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-3.0, 2.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-2.0, -1.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-2.0, 0.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-2.0, 1.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-2.0, 2.0)).x; +samples[2][0] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[2][1] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[2][2] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[2][3] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[3][0] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[3][1] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[3][2] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[3][3] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[4][0] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[4][1] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[4][2] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[4][3] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[5][0] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[5][1] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[5][2] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[5][3] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[6][0] = HOOKED_texOff(vec2(3.0, -1.0)).x; +samples[6][1] = HOOKED_texOff(vec2(3.0, 0.0)).x; +samples[6][2] = HOOKED_texOff(vec2(3.0, 1.0)).x; +samples[6][3] = HOOKED_texOff(vec2(3.0, 2.0)).x; +samples[7][0] = HOOKED_texOff(vec2(4.0, -1.0)).x; +samples[7][1] = HOOKED_texOff(vec2(4.0, 0.0)).x; +samples[7][2] = HOOKED_texOff(vec2(4.0, 1.0)).x; +samples[7][3] = HOOKED_texOff(vec2(4.0, 2.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns64, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns64, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[8]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 8; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 32.0; +float mstd1 = sumsq / 32.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,1040079017,-1129953383,-1112255447,-1100320116)+W(1,1039284509,991372703,1013856427,-1108390802)+W(2,-1115658697,1052077971,1056937139,1052646725)+W(3,-1091236407,-1106109018,-1112818013,1030287040)+W(4,-1107150591,-1102425550,-1089460941,1029401490)+W(5,1057992884,1043570389,1044897031,1028923089)+W(6,-1119789534,1027055297,1033358144,-1121552872)+W(7,-1097729145,-1111268755,-1110301789,-1132036495);sum2=W(0,-1108031914,1026461175,1032549274,1041814131)+W(1,1017353224,-1121140359,-1132764107,-1138465879)+W(2,-1118430023,1041449883,1072973866,-1076980873)+W(3,-1111091488,1028730196,-1121430441,-1127880506)+W(4,1012288055,1027150813,1049697467,-1082819831)+W(5,1041587393,1027133694,-1122016279,-1141547063)+W(6,1013768747,-1122068949,1026059807,1036691428)+W(7,-1152272302,-1116481805,1025296987,1012449399);WS(-1098744132,1034278418); +sum1=W(0,-1103397220,-1124165708,-1110800938,1026719460)+W(1,1022646298,1032193166,1022064347,-1136800346)+W(2,-1145635621,1041815523,-1099348442,-1092523700)+W(3,-1100009602,-1088889154,-1104673163,-1098235958)+W(4,-1105248316,-1120033612,1050332487,1047722705)+W(5,1037024150,1057456646,1045722836,1051861685)+W(6,1050544938,1021903208,1035939706,994253234)+W(7,1017012340,992386946,-1126668889,1007925993);sum2=W(0,-1097631923,1038271179,1016052501,1038061501)+W(1,-1098093629,1036023945,-1103222197,1049634734)+W(2,1051137052,-1138123466,1047950529,1066995446)+W(3,1052164534,-1086456688,-1092315790,-1088937960)+W(4,1049915324,-1101382095,1053016941,1044310058)+W(5,-1101624661,-1097740488,1025704121,-1095498431)+W(6,-1103655169,1030554459,-1103587135,1039796029)+W(7,1022295275,1002073396,1009745942,1037237655);WS(-1082862242,-1106529553); +sum1=W(0,-1130854575,-1136558799,-1106220300,1011297096)+W(1,1032803517,1003802452,-1130818358,-1115833284)+W(2,1035507577,-1134799464,1050921813,1017516694)+W(3,-1083278305,-1113237716,-1166618304,1036440480)+W(4,-1111381151,-1109420173,-1090777253,1058584025)+W(5,1053793791,1038764911,1011564912,-1125528356)+W(6,-1121770975,1040932752,1042678624,1023914089)+W(7,-1114891124,1024022374,1003125716,-1148371520);sum2=W(0,-1113253112,1017383795,-1098397046,-1105653936)+W(1,1043748521,-1130700635,1040646747,-1134989990)+W(2,-1114468103,-1105748811,1042070822,1062131274)+W(3,-1088478625,1039489157,-1112481937,-1118262998)+W(4,1046106511,1042779663,1049941293,1049624420)+W(5,-1093962905,-1102421728,-1120850913,-1124158867)+W(6,1029911106,-1111927878,-1106009556,-1113543954)+W(7,-1110290200,1032413051,1032000907,1027657598);WS(1055738180,1034492849); +sum1=W(0,-1130881323,-1114926341,1041145701,-1109424308)+W(1,-1112247108,-1112831856,-1114665081,-1121239258)+W(2,-1111251428,-1128721888,-1099536939,1051914904)+W(3,1058202118,1051860704,1026763985,-1130346670)+W(4,1042092597,1039888312,1055510938,-1131357522)+W(5,-1089549409,-1104754439,-1109075065,-1117425768)+W(6,1006685651,-1103919286,-1104400342,-1113433279)+W(7,1022435899,-1139575663,-1129253153,-1142807791);sum2=W(0,-1110077216,1036549925,-1103858204,1011211476)+W(1,1008268344,1023981444,1010863636,1034090633)+W(2,-1118181126,-1116107500,1042025735,1056055130)+W(3,-1090440399,-1117941654,1001166765,-1130298175)+W(4,1049383148,1034915268,1044994486,1058209450)+W(5,-1098004228,-1099569204,-1121873216,-1107211558)+W(6,-1110853226,-1119533468,-1101175453,-1113779586)+W(7,-1109857174,1034145803,1026441284,1033292040);WS(1056018244,-1109435672); +sum1=W(0,1028147653,1025593127,1019179235,1042157337)+W(1,-1110312463,1019247612,-1120006735,-1144225212)+W(2,-1121172806,-1108190871,1044333967,-1098176216)+W(3,1052400296,1041545807,-1152440548,1040728133)+W(4,-1156629272,1019648283,-1105021998,-1084323638)+W(5,1052575762,-1144495302,960835398,-1117757541)+W(6,1029524274,998861994,-1126875818,1048944704)+W(7,-1112766254,1027979993,-1115664295,-1127435447);sum2=W(0,-1133465842,1037565600,-1114814180,1023511793)+W(1,1028077461,1005396583,1022326514,-1149118303)+W(2,1020564842,-1103457632,1043192653,1057142397)+W(3,-1101196001,1038394412,-1113456189,-1137100532)+W(4,-1109452473,1042355402,-1103393926,1042803000)+W(5,-1093624788,-1094252679,1041416796,1021621854)+W(6,1020759546,1025892619,1033812672,1040091206)+W(7,-1104532905,-1153222990,-1130818626,1028700597);WS(1058353218,1042996167); +sum1=W(0,1024954343,1015847030,1036476495,-1110665693)+W(1,-1121159378,-1108641009,-1137738249,-1102251787)+W(2,-1094124879,-1107919793,-1097421664,1048862286)+W(3,1033331871,1049066134,1023600450,1041347474)+W(4,1052314513,-1138612357,1044445371,1050687635)+W(5,-1102818752,998963493,-1113493234,1023627001)+W(6,1009270680,-1116609353,-1202266712,-1105910956)+W(7,1018868510,-1115498359,1016588291,-1119202191);sum2=W(0,-1126808420,980939457,-1123796075,1037410136)+W(1,1002142140,-1139817292,-1134378480,-1142652688)+W(2,-1120540574,-1110048722,1033167871,-1106277561)+W(3,-1166268225,-1116671070,-1143978200,1011961658)+W(4,-1098896413,-1075343834,-1086151008,1075199384)+W(5,1058982643,-1127002394,1028067074,1027681870)+W(6,1039187917,-1110843188,1032482295,991431992)+W(7,-1123555130,-1163241473,1021947375,-1117918702);WS(1065448321,-1123448424); +sum1=W(0,1033675765,1010310940,-1135157253,-1130617674)+W(1,1045868403,1037821135,1029877230,-1107423852)+W(2,1042933049,1048779866,1053164479,1054681092)+W(3,-1088933089,-1096402228,-1112063319,-1132569296)+W(4,-1113419593,-1098481070,-1085464413,1025088582)+W(5,1052703622,1043193000,1039463880,1039088003)+W(6,-1107290229,1033876859,1028430645,-1126554424)+W(7,-1113028565,-1114258373,-1131689691,992526257);sum2=W(0,992398551,1027463162,-1110914988,-1119896935)+W(1,-1100289244,1024218964,-1111923136,1036361104)+W(2,-1118632904,-1115592424,-1094541616,1058308065)+W(3,1052134722,-1139018826,1043392525,-1114310803)+W(4,-1109433050,998577524,-1095126430,1059518579)+W(5,1038527426,-1109739820,1004586244,1020338285)+W(6,-1143518596,-1122494561,-1116426235,-1103007923)+W(7,-1121464784,-1115201103,-1120049915,-1128089075);WS(1050696068,-1101686596); +sum1=W(0,1030829490,1025629886,1028506281,1044306231)+W(1,1022456523,1033300499,1025382374,-1126351518)+W(2,1032239887,1039198082,1035777849,-1094476563)+W(3,1053256444,-1108777674,-1125496907,1013615278)+W(4,1015204626,1033819234,1052890832,-1083567844)+W(5,-1095460989,1028011096,-1117978119,1022077689)+W(6,-1113406309,1030627629,-1111973334,1049080890)+W(7,1026744658,1009469122,1014700692,-1117484787);sum2=W(0,-1123705959,1033160533,1021465594,1019539230)+W(1,-1115261066,1030761443,1021971134,-1122567677)+W(2,-1116235595,1028975273,-1105037500,1055127070)+W(3,1039390029,-1104569658,1024962787,999405400)+W(4,1034058997,-1094422871,-1106553103,1036912081)+W(5,-1113630050,1034816057,-1131788338,1014360364)+W(6,-1139597844,-1122943830,-1103106284,1037858431)+W(7,1034945731,997585040,-1137214108,1023175710);WS(1058623938,1044469574); +sum1=W(0,1045615020,1035147318,1047639223,1050348390)+W(1,1030161626,1044899106,-1132009366,1044251461)+W(2,-1108426137,-1141312974,-1105886038,-1079944741)+W(3,1039515483,1021302290,-1167333042,991624716)+W(4,-1135193336,1044306859,-1122107414,-1085342603)+W(5,-1100470855,-1110191310,-1180200419,-1100960996)+W(6,1044911680,1030580258,1043270872,1051720601)+W(7,1041363874,1041545713,1040848727,1042676794);sum2=W(0,-1126998679,-1112584470,-1125720699,1026650453)+W(1,-1098785634,1035354845,-1103280207,-1117822839)+W(2,-1097249916,-1101780852,-1124055793,1050619160)+W(3,1044368398,-1115949975,1036370417,1013784870)+W(4,1048536708,1037003529,1040132893,1058508674)+W(5,1037637019,-1106591466,-1109803757,-1104576316)+W(6,-1118913729,-1122142287,1008038822,-1117660887)+W(7,-1121056345,1006096779,-1116815483,-1119752481);WS(-1092650820,-1093598320); +sum1=W(0,-1126483198,-1136033646,1019177644,-1119240794)+W(1,-1095523617,-1108863241,-1113123137,-1126435736)+W(2,-1111185837,-1107026560,-1096033968,-1101350837)+W(3,1057301262,1042409572,1040959081,1035081684)+W(4,1032567139,-1113511425,1059010394,1042563567)+W(5,-1131092420,-1108714423,-1114101506,-1106962654)+W(6,1028684103,1034982933,1025024233,-1118967697)+W(7,-1118984463,1023629806,-1128061252,-1142697342);sum2=W(0,-1118904411,-1158272012,1013234849,1030464194)+W(1,-1106482941,1025489390,-1129648553,1028128070)+W(2,-1134435633,-1107189637,-1120249847,1057018316)+W(3,1048792270,1024832618,1031754422,-1125347555)+W(4,-1102280300,992574886,-1083559741,1062197029)+W(5,1040811198,-1114392001,1031998303,1029475610)+W(6,-1150017862,-1122133752,-1146867651,-1097179586)+W(7,-1115216614,1021081809,-1112304821,993658022);WS(1058173058,1066808129); +sum1=W(0,-1107348220,-1099127505,-1103913530,-1113478482)+W(1,1040539139,-1113016318,-1120477164,1000206250)+W(2,1035236882,1036577094,1044208414,1029276252)+W(3,-1097605967,-1100723463,1029619500,-1122925746)+W(4,1041707116,1043659283,1046852514,1039741986)+W(5,1044710619,1043551606,-1133641268,994694705)+W(6,-1121094224,-1105652573,-1107481241,-1121409754)+W(7,1032545388,-1115290924,1013015214,950366748);sum2=W(0,-1094008764,-1105723160,-1087139249,1052425931)+W(1,1056772124,1034445536,1012087213,1037095176)+W(2,1034130054,-1120175931,1064201383,1002356625)+W(3,-1089869944,-1114835724,-1123264660,-1129286431)+W(4,1031813868,1042930394,-1110465854,-1098172076)+W(5,1043061462,-1102352886,1040830367,-1111397998)+W(6,1011760553,-1124103013,-1131636845,1006833373)+W(7,1007319139,1014923704,1016549099,993051546);WS(1061928770,1027279769); +sum1=W(0,1034406912,-1113862823,1039933724,-1111710246)+W(1,-1111349982,-1109997378,-1113344954,-1114279935)+W(2,-1100123699,-1162686055,-1096018034,1056786929)+W(3,1056534441,1044907121,1022437288,1031029722)+W(4,1029564087,-1109708970,1050604450,1037263862)+W(5,-1098017894,1038664521,-1116167797,1027389387)+W(6,1033006716,-1128579510,1007368299,-1109765633)+W(7,-1113416432,-1101798872,-1105438789,-1113862289);sum2=W(0,1026006751,-1108403600,1035073774,-1122004937)+W(1,1035952663,1015050843,-1124438030,-1133483016)+W(2,-1115270559,1031363022,-1104904057,1031769509)+W(3,-1106336513,1027760004,1019789656,-1118390529)+W(4,1024783342,1033798448,1037041630,1039898935)+W(5,1057393141,1027825620,-1121305243,-1128829234)+W(6,-1130316822,-1139293944,1025961213,1021529214)+W(7,-1112547455,-1096601581,-1105185563,-1106336479);WS(1053752708,1043937257); +sum1=W(0,-1114168512,-1112521242,-1097902456,-1095288434)+W(1,-1094410051,-1114520925,-1115668990,-1105295129)+W(2,-1105170221,-1098204331,1046102006,1066642253)+W(3,1054367941,-1100810554,-1121904763,1031167873)+W(4,1031197758,-1104934543,1042705158,1070561411)+W(5,1038022813,1032266099,-1114135854,-1123380722)+W(6,-1109039567,-1113606305,-1098767200,-1089903115)+W(7,-1100846418,-1108028099,-1115062077,-1118408200);sum2=W(0,-1113064749,-1144787532,-1115681675,1041111385)+W(1,-1130408019,-1136936214,1022660811,-1121651306)+W(2,-1090786559,-1094418907,1009808406,1053253351)+W(3,1015714915,1020895003,-1117683238,1028089270)+W(4,1038982572,-1102980167,1041806798,1054413523)+W(5,1024043560,-1114777947,1021536435,-1123371786)+W(6,-1136678198,-1129681067,1023762114,1035936399)+W(7,-1114747797,1001107148,-1129865467,1019986163);WS(-1077899937,-1095640595); +sum1=W(0,1038010313,1026389718,1040451742,1038149954)+W(1,1012098034,1041468735,1036152598,1035936827)+W(2,1032811586,1036208246,-1100196466,-1112596654)+W(3,1057575303,1025151035,-1108998502,-1117388883)+W(4,-1097475626,-1123908524,1051006893,-1096170677)+W(5,-1089360567,-1102384270,-1117118702,1019229383)+W(6,1033727032,-1117534996,-1116405267,1043001855)+W(7,1035677341,-1122502968,959089718,-1122221082);sum2=W(0,1014408115,1031626038,1042237958,1024306585)+W(1,1005347958,-1108949069,-1129272561,-1155665460)+W(2,1037203464,-1111295182,-1111204470,1046645930)+W(3,1036175171,-1102667672,-1105300490,-1098212068)+W(4,-1112987386,1033188726,1033012571,1040504174)+W(5,1022488131,-1113110436,1012028387,1026136762)+W(6,1006518986,998532726,1002908510,-1142339005)+W(7,1028667874,1028194944,991631364,-1118275484);WS(1052188868,-1105025774); +sum1=W(0,1026006805,-1127133881,-1111238899,1039605133)+W(1,1036489378,1027868467,1028341284,1040022103)+W(2,1053332527,1046329385,1054121990,1041936861)+W(3,-1098161716,-1100202284,-1114580002,-1112308133)+W(4,-1093124457,-1102124985,-1093232644,-1108714798)+W(5,1047964177,1042303686,1042593657,1033044781)+W(6,1016895952,1015047702,1031180874,-1123947762)+W(7,-1116894641,-1100188956,-1114267170,-1120167377);sum2=W(0,-1098242390,-1090155459,-1080159437,-1083172772)+W(1,1043663143,1066420271,1065821018,1052081121)+W(2,1038124206,-1111850856,-1111691725,1045262621)+W(3,-1107342132,-1115094311,1045364599,1039539139)+W(4,1035251585,-1110800852,1033462452,-1116129960)+W(5,-1117401930,1036826747,-1121811075,1031476522)+W(6,-1146833441,1015159009,-1114532383,1037947101)+W(7,-1115149205,-1118954060,-1159263732,-1144829650);WS(-1102870152,1022622513); +sum1=W(0,1055644087,1035394969,1045649819,1045987408)+W(1,1030573816,1031111560,1035095156,1041054212)+W(2,-1105950504,-1108831748,1041190721,1039545500)+W(3,1049616144,1056957379,1047436506,1055423038)+W(4,-1114669622,1043185370,-1098060649,-1093030704)+W(5,-1093912525,-1084377448,-1093512673,-1094643096)+W(6,-1099940547,1029691760,-1105006556,1034170571)+W(7,1028754581,1032315050,1008186016,1002093997);sum2=W(0,-1084145430,1037387540,-1091365810,-1096604175)+W(1,-1095647742,1043123500,-1106696806,1053814194)+W(2,1070336926,-1098862516,1050914492,1068317532)+W(3,1054262144,-1083131387,1046449081,-1081281727)+W(4,1055168354,-1095516697,1050568943,1069441477)+W(5,-1090345251,-1085743049,1048225937,-1086819148)+W(6,-1086613448,1056626754,-1097405209,-1099937369)+W(7,-1106692290,1045945631,-1106594556,1058187197);WS(-1069426976,-1120848841); +sum1=W(0,1036938172,1035259664,1047028417,1052190352)+W(1,1041456894,1039915051,1015525967,1036563112)+W(2,1037072255,997868135,1031706371,-1092031243)+W(3,1045414333,1026900661,-1119324359,1015048091)+W(4,-1103659451,1049019033,-1095105906,-1081236347)+W(5,-1090672009,1032303833,1008361890,-1146656500)+W(6,1032159990,1025792718,1020529436,1049696791)+W(7,1038916826,1035011641,1039253091,-1145253028);sum2=W(0,-1131675185,-1130807793,-1137547874,-1119117212)+W(1,-1138868050,-1139313154,-1127085641,-1144490820)+W(2,1029191442,-1132163681,-1115933340,-1086087178)+W(3,-1112002886,1014175682,1023290113,-1135148482)+W(4,-1114450600,1018117017,1033829647,1063181450)+W(5,1026390676,-1143924164,-1138352802,1007342770)+W(6,1024984252,-1115031522,1037592454,1006729954)+W(7,1017409241,-1134939410,-1125048401,974288160);WS(-1092511940,1056045775); +sum1=W(0,1034351639,1036571263,1026078569,1044122211)+W(1,-1145831724,-1113387827,1018446892,-1119385695)+W(2,-1122413709,-1107220477,-1123595634,-1099810889)+W(3,1052039823,1050308552,1032192235,1047960215)+W(4,1034842253,1031880235,1048156900,-1106066347)+W(5,-1096815763,-1095462256,-1104039774,-1105858435)+W(6,-1109413949,-1128037178,-1106487287,1038991202)+W(7,1016305349,1039930976,-1145490603,-1115254417);sum2=W(0,-1129634341,-1125984965,-1131211232,1032304695)+W(1,-1126835561,-1135310730,1030376830,-1115706548)+W(2,1017418680,-1145267460,1019434782,-1112808134)+W(3,1027589163,-1164412329,1012340975,1024240430)+W(4,1033383321,-1108053053,1035592777,1017461836)+W(5,-1125819067,1048432434,-1132396034,1037084632)+W(6,-1086264457,-1078809375,-1073693037,-1098879629)+W(7,1071963841,1073307463,1053688201,-1110470100);WS(1042257800,-1115776325); +sum1=W(0,-1146926115,1032352980,-1109330569,-1114314051)+W(1,1039411448,-1111850704,1040829028,-1123393177)+W(2,-1107281138,-1098526814,1043068219,-1109412128)+W(3,-1097266597,1039093055,-1100632132,-1104810789)+W(4,1038400362,1045994468,-1111135982,-1144690495)+W(5,1057956169,-1128243973,1048043508,1025450855)+W(6,1010013391,-1117084567,1043908518,-1120663934)+W(7,-1098521248,-1122589083,1029880783,997333453);sum2=W(0,1029402915,-1131137316,1031911869,1023173531)+W(1,1023792141,-1123803784,1014267385,-1128776324)+W(2,-1139977433,-1118253197,-1122896144,-1122404168)+W(3,-1098422336,1037623928,-1106514445,1036548666)+W(4,-1102627522,1040550677,-1088615745,1061434285)+W(5,1075510495,1067804318,1045458757,1035151624)+W(6,1041328458,-1112092070,1058291503,-1087193418)+W(7,-1072676007,-1079538943,-1106625048,-1107997040);WS(1062572194,-1113128476); +sum1=W(0,1025054504,1032745069,-1111717923,-1115121012)+W(1,1039928305,-1108655721,1042636501,-1121873307)+W(2,-1105909778,-1098454710,1040855323,-1102647392)+W(3,-1094658254,1048800872,-1098634802,-1107065062)+W(4,1035303099,1048922046,-1111940687,1030883818)+W(5,1056642050,-1114397119,1045405821,1028123977)+W(6,1030405814,-1107189334,1047137430,-1120733568)+W(7,-1102007432,-1121522301,1030940241,-1129454014);sum2=W(0,-1114559261,1015935669,-1119968612,1034980574)+W(1,-1134322843,1031387619,-1130912561,1028413753)+W(2,-1138228901,1029828517,-1110320033,-1095660939)+W(3,1043622789,-1103434641,1043842027,-1104010102)+W(4,1049277284,-1107208114,1062476231,-1090290563)+W(5,-1071408041,-1079628774,-1100585862,-1110973692)+W(6,-1102431407,1036930870,-1086736101,1061616421)+W(7,1075586093,1068626110,1036267766,1043722127);WS(1060774594,1031131703); +sum1=W(0,-1107942447,-1105426838,-1102134060,-1108928460)+W(1,1030069408,-1109912496,-1111247296,1016389396)+W(2,1045023814,1048858052,1057375412,1053310638)+W(3,-1086363546,-1121814959,-1121700033,-1112979299)+W(4,1022102280,1019498368,-1089780107,1054202179)+W(5,1056436400,1045750878,1017717699,-1115080444)+W(6,-1109726834,-1115599332,1024119623,-1117349999)+W(7,-1105657043,-1112636534,1020787328,1034439495);sum2=W(0,1036474850,-1117613837,993333704,-1124280889)+W(1,-1120272689,-1147158916,-1136721538,1006917274)+W(2,-1115841609,1015990489,-1114813616,1046600726)+W(3,-1127188969,-1101686418,-1106242516,-1111325506)+W(4,-1115206474,-1121605429,1041891165,1051997378)+W(5,-1122067781,1035140408,1020051521,-1113122752)+W(6,1027456791,-1155010952,-1115442992,-1145891812)+W(7,-1135549634,1009536026,1019245009,1017045509);WS(1060194466,-1100017114); +sum1=W(0,-1107280066,-1110455654,-1108454907,-1102634810)+W(1,-1103570769,-1103041901,-1108837738,-1103753711)+W(2,-1105747811,-1101985628,1018718942,-1106901713)+W(3,1046100821,1055521256,1047438565,1059153514)+W(4,1059466063,1043733237,1057500851,1036011765)+W(5,1016328357,-1113318903,-1139455183,-1111475141)+W(6,-1103466926,-1106475814,-1106517942,-1094721336)+W(7,-1110005824,-1108487663,-1116101330,-1118902112);sum2=W(0,-1134258178,1016306377,-1119701101,-1121134035)+W(1,-1110905440,-1123898542,-1120388479,-1131815221)+W(2,-1116481221,-1123533287,-1150894505,1050682292)+W(3,1003934853,1016401385,1010383122,1025651043)+W(4,1032034504,-1130975497,-1129842733,1050657130)+W(5,1032136922,-1114630639,-1135861370,-1115813895)+W(6,-1123729210,-1124034546,-1119840142,-1118895679)+W(7,-1115758498,-1135589646,-1140270714,-1126135829);WS(-1094780356,-1096037829); +sum1=W(0,-1094564683,998269945,-1106439374,-1099790159)+W(1,1039955171,-1116696534,1026955814,-1132274079)+W(2,1051641704,1048993133,-1105882161,1021385644)+W(3,-1110801281,-1093602407,1040928722,-1094848202)+W(4,1042321778,-1097112145,1049078036,1039341071)+W(5,1035258371,1056382370,1035779188,1053064740)+W(6,-1109647669,1034946343,-1120792141,-1101585581)+W(7,1020526630,-1124429730,-1106396689,1027970323);sum2=W(0,-1137596463,-1129205035,-1126343315,1039861741)+W(1,-1126312459,-1123052878,996868828,-1125851727)+W(2,1029577680,-1107142480,1047351132,-1098569120)+W(3,1038608299,-1116615219,-1112533224,-1107291575)+W(4,1038439017,1015352075,1070713407,1073186805)+W(5,1038004689,-1073950732,-1077903771,-1107100148)+W(6,-1113448033,1012914617,-1114069586,1046610276)+W(7,-1144677526,1007385420,-1108941862,1037961064);WS(1053603780,-1115461008); +sum1=W(0,-1137418943,1030817204,1016256157,1021933093)+W(1,-1107174285,1024187323,-1121722108,1027865701)+W(2,-1097293942,-1095449155,-1092155167,1049349309)+W(3,-1125654285,-1107838901,-1112035518,-1115980033)+W(4,1049585228,1046317951,1056038503,1058232189)+W(5,-1109114845,-1104780729,-1104946775,-1096840466)+W(6,1014991997,-1134044169,-1118818050,-1129232467)+W(7,1020919504,1042320778,1033110781,1040979266);sum2=W(0,1033231462,-1122607696,-1126070520,1021774826)+W(1,-1120788802,1023918789,-1127228708,-1155086158)+W(2,-1115237141,1031925962,1042960949,1053325526)+W(3,-1107200469,-1112013861,-1114604471,-1120863174)+W(4,-1111323807,-1115623012,-1119706606,1049744257)+W(5,1005054791,1026671690,-1107279270,-1119270266)+W(6,1022510111,1016053183,999155791,-1130112624)+W(7,-1116359926,-1115047971,-1133439199,-1114777589);WS(1049944452,-1118177299); +sum1=W(0,1004954534,1034605113,1042179871,1046072096)+W(1,-1119832136,-1115172412,1021914321,-1125265763)+W(2,-1113835168,-1117712807,1049772083,-1089565448)+W(3,-1087875066,1028249398,-1115173764,1016032028)+W(4,-1131743895,1044152226,-1105992217,-1102704504)+W(5,1051885673,1023284205,1032417701,1023720959)+W(6,1036431958,-1113909672,1034469319,1047091406)+W(7,-1117867957,1037431354,-1128742159,1027934165);sum2=W(0,-1122048832,-1102028824,-1098388207,1042109429)+W(1,1037898289,1035691269,-1120157845,1026959129)+W(2,1053033259,1033866732,-1083784972,1035235216)+W(3,1056376564,-1103367787,1034674212,-1128193065)+W(4,-1121809206,1014156522,1055740053,-1104400409)+W(5,-1126110057,-1120368299,1015248281,984939091)+W(6,-1100778293,1033801710,-1112352078,1046653262)+W(7,-1111071353,1025902829,997672170,-1153716682);WS(-1165444096,-1119710264); +sum1=W(0,1042994118,1034244741,1037778378,1041081798)+W(1,1016348739,1044760836,-1126699940,1049969601)+W(2,1051115175,1042802936,1051394930,-1114386041)+W(3,1044466585,1039392600,1042064672,-1111502020)+W(4,-1098028621,1040688824,-1088773549,-1087521946)+W(5,-1089153334,-1102706330,987979863,-1112154588)+W(6,-1108071955,1032455940,-1120702728,1029133552)+W(7,1045508004,-1117660781,1043978432,-1112358151);sum2=W(0,-1113048377,-1169925094,1033233769,1022227231)+W(1,973479782,1025958326,-1175748301,-1108998850)+W(2,1060341068,1041247352,999982909,-1081289783)+W(3,-1090689511,1036288861,1044034366,1055733822)+W(4,1067872749,1057359743,-1089189226,-1075624869)+W(5,-1088323315,1048635178,1052769876,1060416891)+W(6,-1107478445,-1121919154,-1112420946,1030919570)+W(7,1049895882,-1108655271,1042449401,-1098757157);WS(-1077066897,-1138646112); +sum1=W(0,1024267775,1009759453,1034803609,-1105412061)+W(1,-1118414542,-1104989395,1000523125,-1099033634)+W(2,-1092381223,-1106693383,-1096180043,1042083852)+W(3,1031147625,1050244398,1024065726,1045342865)+W(4,1053014632,1027242622,1051220983,1053447283)+W(5,-1105039519,1023828386,-1110843104,1028746421)+W(6,1025453154,-1118474373,-1149202983,-1101608091)+W(7,1010847661,-1113932053,1023831870,-1113130950);sum2=W(0,1013870164,-1133465912,1030888661,-1118337904)+W(1,1030672570,-1156287199,1014316520,-1145191680)+W(2,1032969077,1032956180,-1118666398,-1095979039)+W(3,-1102611716,1041525268,-1121602320,-1129518532)+W(4,1050672871,1076869477,1063553933,-1069322680)+W(5,-1088200357,1026168517,-1129519600,-1120095414)+W(6,-1105627059,1037977967,1017901782,1026329625)+W(7,-1169512700,-1153801247,-1126632288,1031405165);WS(1059038658,1028594353); +sum1=W(0,1030613999,-1132336275,-1117493948,1038489844)+W(1,1028206993,1044643916,1007880004,1043840791)+W(2,1027001704,1035531624,1032402678,-1152158733)+W(3,-1098315241,-1088517514,-1103996748,-1091506711)+W(4,-1089493909,-1094328658,-1106243079,1052296065)+W(5,1042911580,1049587060,1035409673,1044000434)+W(6,1046010101,1026431736,1043051950,1044337864)+W(7,1028671678,1032918142,-1137633217,1036291743);sum2=W(0,-1118922878,998383694,-1117830208,-1123342062)+W(1,-1109116635,-1124252768,-1104593856,1026377322)+W(2,-1105269646,-1109062791,1013977255,1052555170)+W(3,1041098100,1040874722,1030669290,1040986964)+W(4,1050974192,1002191246,1046707356,1051646415)+W(5,1036678597,-1098775079,-1122565606,-1098750401)+W(6,-1110275215,-1111322692,-1114811922,-1114439732)+W(7,-1108145020,-1121186646,-1115485971,-1115223671);WS(-1089038754,1070610314); +sum1=W(0,1006818038,-1126323612,1015379312,-1107760774)+W(1,-1110158738,-1104391397,-1114553627,-1113068735)+W(2,-1112569734,-1099849389,-1090696922,-1101892281)+W(3,1028620400,1047988033,1043536901,1039930893)+W(4,-1110914124,1036085850,1053776546,1045400523)+W(5,1040930437,-1132043583,-1119469430,-1114659286)+W(6,1038135388,1043645143,1040122382,-1118717763)+W(7,1002760462,1016954112,974497054,-1139206280);sum2=W(0,-1120363159,-1119340063,-1119078724,1035843986)+W(1,1035175754,-1106992039,-1128507307,-1129270833)+W(2,1029972206,1020623843,-1137841818,-1094446255)+W(3,1049035968,-1128810267,-1123633215,-1123131987)+W(4,-1135126990,1026762268,1064611900,1017486399)+W(5,-1094749382,1039608352,-1194223384,-1197948696)+W(6,-1111466112,-1099605665,-1102195223,1042926586)+W(7,1014516782,-1112006203,-1136077530,-1129209333);WS(-1120775200,-1094115106); +sum1=W(0,-1117113151,-1133090109,-1096583070,-1098081804)+W(1,-1092969217,-1119648950,-1113650835,-1105675228)+W(2,-1112921839,-1099947345,1050818928,1057531117)+W(3,1051254629,-1098660371,926574177,1035449878)+W(4,1046145098,-1097096777,1048882552,1067142180)+W(5,1054137781,1035250696,-1115652196,1024424221)+W(6,-1107062579,-1151313622,-1100319675,-1094480203)+W(7,-1100195749,-1111825641,-1118408614,-1114839546);sum2=W(0,-1122846232,1002183233,-1129631292,-1112395279)+W(1,1009610216,1001287537,-1122731504,-1139829356)+W(2,1031116535,-1113707943,988543074,-1080457005)+W(3,-1097715519,1037716560,-1112112395,1031806339)+W(4,-1118531646,1034244245,1027624889,1064104967)+W(5,1052372051,1011412016,1031591085,-1128697528)+W(6,1030028661,-1116699784,1039671963,1037992478)+W(7,-1115290878,1016046512,-1122589730,1022404309);WS(-1083041826,-1088446577); +sum1=W(0,-1112868382,-1139686881,1037998481,1035817611)+W(1,1028314191,-1112414119,-1123391616,-1152205450)+W(2,-1138041180,998832115,-1108164766,-1106005004)+W(3,1054394898,1042585939,1037009680,1027830053)+W(4,1041478665,1026886463,1018740405,-1092605991)+W(5,-1096954228,-1105339656,-1122534560,-1128384493)+W(6,-1123809603,1007627162,-1137074328,1036557383)+W(7,1043199331,1016960213,949272012,-1161448845);sum2=W(0,1036010005,-1112615912,-1108103320,1026422893)+W(1,1043952518,-1112407780,1025610945,-1142574731)+W(2,-1080772886,-1080108640,1042883784,1067023817)+W(3,1065911618,1043418298,-1121396391,1019038275)+W(4,-1110295637,1033469827,991295446,-1106557392)+W(5,1015020021,-1113416335,-1118133995,1027619053)+W(6,-1113551367,-1118689741,-1123719569,1039881895)+W(7,1028046949,986544491,1028536389,-1114551687);WS(1059656866,1032254503); +sum1=W(0,1051132033,1032901415,1050001035,1051046262)+W(1,1024623477,1041030197,-1129401004,1040932616)+W(2,-1087438145,-1096624519,-1093591378,-1092342973)+W(3,1024747921,1042870865,-1112612011,1037509038)+W(4,1040121644,1045530925,1040228252,-1096329486)+W(5,-1100479077,-1092498854,-1100524478,-1089145703)+W(6,1047684766,1031967406,1044069767,1050005760)+W(7,1045316401,1048633756,1041789317,1050363772);sum2=W(0,1033723840,-1120765513,-1151198348,-1121736497)+W(1,1020727265,-1111733852,1010605379,-1112033268)+W(2,1054927280,1004192518,1032813206,-1097617496)+W(3,994767756,1024454465,-1124374145,-1107458988)+W(4,-1094930774,1009606707,1018976553,-1096835022)+W(5,-1114598300,1049726638,1040837102,1057385902)+W(6,-1110893464,-1117945313,-1111742424,-1121652889)+W(7,-1144829382,1030389401,-1120942585,1035752486);WS(-1076352721,1061176787); +sum1=W(0,-1115567878,1039493528,1037423542,1022350014)+W(1,-1114677168,-1123591576,-1143365955,-1114839417)+W(2,-1095051668,-1094852257,-1086623624,1044286862)+W(3,1057477914,1049595083,1036655988,1044280124)+W(4,1047858891,1040618482,1057001770,1036068672)+W(5,-1086915318,-1095930750,-1108386213,1029598047)+W(6,1038434246,-1116442287,-1114755255,1022609452)+W(7,1037805114,1044588197,1031697064,-1119274549);sum2=W(0,1018488840,-1109735653,-1113462230,-1112517262)+W(1,-1108529674,-1112282852,1002563934,1011039855)+W(2,-1104206436,1012246375,-1114523900,1056346033)+W(3,1029007760,-1106712811,-1113168793,-1115338003)+W(4,-1111729053,-1117505825,1042992721,1051780099)+W(5,1042618199,1035563022,1024458488,-1112797570)+W(6,1004158510,-1122544930,-1111468709,-1133433375)+W(7,-1114816198,-1136000711,-1122022613,1037211560);WS(1037340944,-1121222187); +sum1=W(0,-1116495838,-1118176747,-1096308023,-1094205341)+W(1,-1095502171,-1115640417,-1112496425,-1105702479)+W(2,1040689218,-1110298712,1052341602,1064260668)+W(3,1052009702,-1100646016,-1117627026,1026863896)+W(4,1036502651,-1106426924,1044624667,1068943083)+W(5,1045175252,1004526500,-1108867801,-1112879076)+W(6,-1106495021,-1119752153,-1097659059,-1089978464)+W(7,-1099820424,-1108261518,-1110958217,-1111070831);sum2=W(0,1002312827,-1134403694,1025097519,-1105297347)+W(1,1007461646,-1117960999,-1123847191,-1129847887)+W(2,1043920878,1045056865,-1107896626,1060319926)+W(3,-1100756735,1018292031,-1136355134,-1108036266)+W(4,-1113959010,-1120905299,1031903433,-1100397803)+W(5,1042137547,-1106899263,-1119650359,1033071013)+W(6,-1124888335,1019347263,-1120916959,1028583233)+W(7,-1119634731,-1134844462,998264859,-1109200858);WS(-1087648930,1056984912); +sum1=W(0,1027950097,1027762677,1025406415,1043195617)+W(1,1035903278,1031391740,1023913741,1033673899)+W(2,1048727276,1043573475,1051177331,-1092810048)+W(3,1038252876,1044809191,1035706934,1020597221)+W(4,-1101873716,1015678999,-1091649404,-1082302860)+W(5,-1097139061,1038200652,1042041459,1041744649)+W(6,-1111974664,1024202483,1016025318,1050173331)+W(7,-1156961168,998750650,1023377112,-1114494621);sum2=W(0,1035604443,-1113891962,-1155240851,-1130359386)+W(1,1025386829,1028100153,1016774458,-1126789482)+W(2,-1109665959,1017090586,1033553543,1061263788)+W(3,-1109330568,-1106256683,-1097657183,-1118236009)+W(4,1027481873,-1115818981,1023852497,1027230949)+W(5,1041592808,-1113120233,-1101411950,-1121071325)+W(6,-1121529027,1006860245,-1124657042,1039189933)+W(7,-1123139111,999905578,-1132638677,-1109638591);WS(-1090940868,1045539156); +sum1=W(0,-1125495305,-1122547977,1049435900,1022396558)+W(1,1034779456,-1113477720,1025152496,1017461170)+W(2,-1111842948,1036262295,-1083395945,1050733040)+W(3,1050803832,1023164412,-1141132416,-1119150102)+W(4,1024315123,1017057054,1046781659,1016653136)+W(5,-1084181811,1044787970,1025666193,1039405571)+W(6,1033322010,1021788462,1041875702,1032259903)+W(7,1045300311,-1103054087,-1119238479,-1121753565);sum2=W(0,-1111850352,-1115334877,-1101312255,-1131783421)+W(1,1037660946,-1121261620,1008969141,-1118719808)+W(2,-1154701652,1045060155,1053683311,1041887968)+W(3,-1090960245,1034919558,-1118627401,-1117531173)+W(4,1008422401,1033609440,-1090718168,1047082317)+W(5,1034433310,1036748070,-1109720341,998924330)+W(6,-1128983709,-1109145509,1041457249,1009316297)+W(7,1037394704,1030040522,1034723828,-1122112519);WS(1058382658,-1101786424); +sum1=W(0,-1110270554,-1139041509,-1106470550,-1114587164)+W(1,1023988544,1031022672,1028924449,1026679274)+W(2,1020557616,1040419632,1039037886,-1089217895)+W(3,-1116816379,-1098005290,1030444000,-1105928314)+W(4,1042446649,-1110579152,1052788411,-1102603214)+W(5,1052497916,1048850952,1041387232,1042985742)+W(6,1010032145,1021044303,-1107378131,-1101971332)+W(7,-1110520967,-1136091053,-1142630143,1036784631);sum2=W(0,-1122331173,-1116694246,-1133055086,-1106162040)+W(1,1033705060,-1119866494,1019582103,-1119480360)+W(2,1021048143,-1117334358,985385246,1058597177)+W(3,-1096472079,1040447045,-1107345628,1011504527)+W(4,-1121426033,1034622720,-1111822939,1062397265)+W(5,1007125953,-1124693001,1025700470,1026572561)+W(6,-1141905806,-1109719947,-1111398337,-1092732322)+W(7,-1104483430,-1148551778,-1142669219,-1124513225);WS(1062970978,-1081266569); +sum1=W(0,-1102316771,1026249566,-1104248914,1037424006)+W(1,1035596338,-1122189220,1016727466,1006845944)+W(2,1049067654,1049251698,-1100292756,-1086541140)+W(3,-1092317470,-1101422105,-1130063849,-1103019359)+W(4,1040583110,1039432874,1040278772,-1096033842)+W(5,1045287213,1049598341,1043296141,1042202275)+W(6,986432279,1031488060,1034368766,1046796153)+W(7,1039493185,1029733120,-1132489681,1032483937);sum2=W(0,-1108138297,1024987284,-1107013954,1038311792)+W(1,-1140508767,999045582,1010876103,-1139420079)+W(2,-1092863213,-1095439435,1054820060,991870971)+W(3,1019051815,1003248078,-1122507350,-1120196608)+W(4,-1134447463,-1107350452,-1104627754,1058790229)+W(5,1049499199,-1113643053,1040683258,-1107048418)+W(6,1020893591,1030342296,1023656240,-1145193326)+W(7,-1111721419,-1124168067,-1111078930,1036851190);WS(-1090709444,1049440503); +sum1=W(0,-1112814366,1009000949,-1102384190,-1098104133)+W(1,-1100420271,-1117987732,-1108681738,-1118237822)+W(2,1025170444,-1102968365,1054801672,1055216649)+W(3,1007027006,994631719,-1122456724,1037835469)+W(4,1021129071,-1107658202,-1108358704,1055155742)+W(5,1062491877,-1115514619,1032182427,-1137063726)+W(6,-1116166456,1013557870,-1112664461,-1102466049)+W(7,-1093799886,-1139587454,-1112800010,-1119596065);sum2=W(0,1010269627,1011116525,1031226256,1023655690)+W(1,-1117593255,-1139919503,-1131886173,-1132337311)+W(2,-1125700925,1031004177,991734042,1056735713)+W(3,1023598587,-1116020697,1030692092,1014084462)+W(4,-1129465449,-1111184590,-1090395945,1007034923)+W(5,-1114530604,1044588818,-1118660887,1027760305)+W(6,-1124401971,-1139731999,-1123603568,-1106780773)+W(7,1032362667,1019563835,1016903156,1003383541);WS(1052605444,-1096548047); +sum1=W(0,-1135269079,1014261129,1035728362,1017149121)+W(1,1022065234,-1106055602,-1122459306,-1120275059)+W(2,-1099989408,-1107118442,-1095069609,1004173259)+W(3,-1102684265,1026600311,1029280393,-1114974728)+W(4,1035141158,1022832721,1036930738,1042230040)+W(5,1051854441,-1123731628,1039321653,-1108029264)+W(6,-1157809579,1034237928,1014945855,1022065263)+W(7,-1149699425,1033708682,-1120230985,1040542518);sum2=W(0,-1139099893,-1102121527,-1108414487,1039987934)+W(1,1045186917,-1096991255,1033745090,-1102163660)+W(2,-1078862437,-1076350607,1043522425,1067956735)+W(3,1072447081,1053122067,-1111637970,1040872955)+W(4,-1097588090,998819801,-1111980043,-1109442889)+W(5,1044036972,-1115256553,1027886256,1044251533)+W(6,-1129576496,1024729710,-1134118593,1032654822)+W(7,-1118463242,-1124332658,-1123595298,-1115579557);WS(1054231108,1025279114); +sum1=W(0,1020527399,1020186806,1026191493,1046988234)+W(1,-1147857037,1041704764,-1120557618,1039867950)+W(2,-1123453065,1039341944,-1104689967,-1092316960)+W(3,-1122753069,-1093206832,-1107112804,-1094240131)+W(4,-1096862627,-1119337841,1034733383,1008801448)+W(5,-1108979241,1050167121,1027712531,1043962418)+W(6,1049493415,-1160786718,1041541558,1041661776)+W(7,1034215919,1032223662,-1156220183,1036558383);sum2=W(0,-1156731980,-1125155383,-1153680156,-1140765671)+W(1,1018992688,1030176462,1027890172,1018002108)+W(2,-1121143571,1021067288,-1101109237,-1079877582)+W(3,-1094350155,1058234221,1064456596,1058386161)+W(4,1027150242,1024911074,-1096825521,-1088644111)+W(5,-1113080073,1052444813,1024094624,1045751986)+W(6,1019039796,-1128517034,1036906894,-1110310177)+W(7,1019841700,1000349534,-1128055622,-1134555143);WS(-1097731588,1025129315); +sum1=W(0,1033609822,972033083,1036940225,1025915127)+W(1,1037164536,1018117854,1009743167,1021572178)+W(2,1037092684,-1118357663,1046113067,1050865438)+W(3,-1109542297,1047810219,-1111680192,1036701507)+W(4,-1099469177,-1139849211,-1089626010,-1143345853)+W(5,-1104510832,-1097851227,-1113708160,-1110047355)+W(6,-1125480775,-1113410371,1035911587,1047135499)+W(7,1038594118,1031924197,-1146462713,-1120871309);sum2=W(0,-1124965724,-1134630348,-1138485084,-1143859545)+W(1,-1133066340,1030422253,-1121255807,1003464777)+W(2,1029789829,-1105084635,1035852445,1050249105)+W(3,-1114135764,1024721985,-1120848177,1033535897)+W(4,-1119672690,1036116775,1002738585,1057234226)+W(5,-1115375290,-1117221657,1007172972,-1110249095)+W(6,-1132623148,-1123511646,-1106888257,-1097411434)+W(7,-1109817844,1017260494,-1118819718,1021514610);WS(1064258306,1057427735); +sum1=W(0,1046669668,1048078371,1049007041,1043467602)+W(1,1032131185,1040278032,995640096,-1135631084)+W(2,1041288794,1002554246,1039217007,-1117262306)+W(3,1041191743,1037075392,-1121877906,1026049048)+W(4,-1094345727,-1107049340,-1092155570,-1100296810)+W(5,-1101509636,-1100720075,1015117221,1034147956)+W(6,1024557366,1026345305,-1126800432,1017273727)+W(7,1027549470,-1136038899,-1134767685,-1111532367);sum2=W(0,-1083389635,-1081609637,-1079976349,-1090363224)+W(1,-1100056051,-1097029007,1028030408,-1118886369)+W(2,1062132206,1066099523,1066066300,1067427062)+W(3,1049064133,996873905,-1137063332,1035057689)+W(4,-1122840851,1053156114,-1105997303,-1091867230)+W(5,-1103783968,1048340523,-1134953960,-1104392578)+W(6,-1127222139,1022631188,1027246780,-1128121946)+W(7,1036294091,-1115106526,1035025213,-1117772337);WS(-1082692450,-1121765493); +sum1=W(0,-1112587635,-1118487719,-1105756568,-1111631170)+W(1,1036199927,-1106833087,-1115752014,-1109370235)+W(2,992292947,-1104534315,1049230729,1048175951)+W(3,-1089217933,1028715132,-1121927694,1018481703)+W(4,1015927970,1038416886,-1104867982,1051898365)+W(5,1057590961,-1104675396,1012516667,1022215305)+W(6,-1121302066,-1121296341,1043167221,1037146590)+W(7,-1113442509,1030891673,-1121397517,-1113425325);sum2=W(0,-1102561169,1026098771,-1149524831,-1113975834)+W(1,-1157274159,-1105234356,1008573990,-1102778536)+W(2,1040868564,1021710972,1048116590,1041914200)+W(3,1051191259,1039729263,1018638481,1035375403)+W(4,-1126923948,1009959824,1037970343,1042300553)+W(5,1032086087,-1097615037,-1115639834,-1115667744)+W(6,-1123351116,-1125337962,1024724387,-1123062396)+W(7,1021621986,-1105344931,-1109718449,-1105611058);WS(1063145570,1065948321); +sum1=W(0,-1113780043,-1107415145,-1103697695,-1125795137)+W(1,-1119226457,1032469064,-1118570362,-1148759702)+W(2,1042647928,1041877314,1043379605,-1105676766)+W(3,-1093770877,-1098882227,1029896809,1007275454)+W(4,1023153433,-1105577826,1035095074,1058030732)+W(5,1049757493,1047432094,-1106671851,-1110160160)+W(6,-1113344071,1034763992,-1113485016,-1107021830)+W(7,-1116457366,1028002580,1033670420,1021171309);sum2=W(0,1033443671,-1119163512,1032648925,1022262943)+W(1,-1121656898,-1125619769,-1116250872,983397903)+W(2,-1147652316,1034562054,1044843888,-1082830049)+W(3,1049609982,1025258841,1030706970,1030898199)+W(4,-1122182070,-1110746439,-1104224164,-1080473697)+W(5,1070472721,1045148854,-1138594966,1015661307)+W(6,-1114870166,-1126213983,1033622730,1036499220)+W(7,1042757767,-1125695843,-1109235057,-1105016797);WS(1047808392,-1105857653); +sum1=W(0,1036414223,1038664639,1033646416,1045309491)+W(1,1028560677,1047007737,1035626955,1052689664)+W(2,1057255335,1050583338,1052085724,-1112577010)+W(3,1049269098,-1101673225,1020504170,-1098667351)+W(4,-1089047968,-1095111703,-1090242223,-1088425805)+W(5,-1097592171,1024927375,988289723,-1153489085)+W(6,1019549874,1027946812,1014185453,1038762993)+W(7,1038356881,-1120878336,1031636916,-1106190208);sum2=W(0,1050181400,-1114267734,1015251419,-1097894374)+W(1,1014394222,-1098468098,1043075035,-1092845444)+W(2,-1084160527,1035785784,-1094891239,1060354212)+W(3,1045924604,1054874631,1042828743,1063378281)+W(4,-1088778570,-1097051496,-1096397593,1063793540)+W(5,-1132415773,-1115217527,-1098450150,1051615858)+W(6,1059321043,-1113170400,1035392846,-1098458292)+W(7,1030978836,-1096505073,1042772598,-1088082125);WS(-1073783985,-1080098540); +sum1=W(0,1012137476,-1111733448,1027546650,-1095391448)+W(1,-1107725963,1030910366,1024902311,-1136391487)+W(2,1004414705,-1125334283,-1098951217,1058781709)+W(3,1056582836,1054585131,-1118558951,1012935090)+W(4,994170013,1040796537,1045494048,1038631039)+W(5,-1099332954,-1102018612,-1106829042,-1113109295)+W(6,-1135747626,-1106294475,-1105932043,-1097893467)+W(7,1027155091,1001385357,-1141795121,-1118975220);sum2=W(0,-1136577003,-1123969951,-1126970134,1039844510)+W(1,1037108170,-1182117728,1024145219,-1107924935)+W(2,-1161174488,-1115268047,-1111829747,-1078035036)+W(3,1072008544,1038025274,1006927579,1013110307)+W(4,-1123274403,1023359390,1034323377,-1085317526)+W(5,1044555209,1032404118,1024479257,983390936)+W(6,1021768566,-1128609502,1026568479,1027511085)+W(7,986504280,-1139830523,-1127097094,1022685546);WS(-1104974728,1024380720); +sum1=W(0,-1117848102,1021171896,1039153371,1036503965)+W(1,988770395,-1109841905,-1121562883,-1126175513)+W(2,-1117883163,-1127535108,-1099610928,-1100771573)+W(3,1043814114,1034691017,1034709362,1004793673)+W(4,1036325571,1018298053,1041104624,-1101972463)+W(5,-1133844875,-1107251369,1025626276,-1111468989)+W(6,-1131530510,1031544042,982295861,1036843369)+W(7,1029874576,1031396654,-1125713989,1034135320);sum2=W(0,-1125393898,1044163006,1045704700,-1110276988)+W(1,-1099412627,1044569612,-1115657155,1037394103)+W(2,1071281072,1072425553,-1104699996,-1078765241)+W(3,-1076152216,-1100004941,1036033265,-1111185479)+W(4,1044770418,-1125402454,1018560910,-1098423872)+W(5,-1103281302,1028856833,-1123488110,-1117821699)+W(6,1011595325,1021558362,1010524637,-1113439186)+W(7,-1178088596,1019143058,-1126446200,1026998165);WS(1066498257,1026989550); +sum1=W(0,-1129927868,-1123659738,1045121333,1002634947)+W(1,1036944705,970850411,1022709187,1004856149)+W(2,1023571545,1024686464,-1084187390,1040895252)+W(3,1040663099,-1115004776,1024409057,1001199419)+W(4,1016605513,-1143882757,1042249043,1054068239)+W(5,-1089079196,-1120675276,-1112524513,-1120648472)+W(6,-1133253141,1025371048,1033458708,1032849928)+W(7,1049903454,1024612748,1017685954,-1117202350);sum2=W(0,1038138620,-1155040203,1049419982,-1094597030)+W(1,1022703337,-1117198782,-1132959015,-1121486321)+W(2,-1106434423,1038340354,-1087069176,1064410985)+W(3,-1110711879,-1112639315,1026273617,-1123727669)+W(4,1014840059,-1105689565,-1102609737,1043321526)+W(5,1043390477,1042536365,1036470844,1009362023)+W(6,-1117610677,1038431916,-1115449783,-1117967352)+W(7,-1107988055,-1112813855,-1122022929,1031915394);WS(1059170114,-1115069681); +sum1=W(0,1041126528,1031327889,-1137442701,1027929903)+W(1,1016336432,1045677858,1027533272,1040648584)+W(2,1039057944,1043197758,1057495242,1035662548)+W(3,1036387882,1043295874,1020376880,1035357519)+W(4,-1114418030,1035998588,-1086197480,-1092661254)+W(5,-1098594899,-1097533773,-1116322521,-1106979748)+W(6,-1125005432,-1184440086,-1107377807,-1131407372)+W(7,1031309989,1017102598,1036182828,-1128058314);sum2=W(0,1029223181,1035999136,1032743888,1050206678)+W(1,1030968394,969652021,1018474295,-1138117380)+W(2,-1099457044,-1123134927,-1106245137,-1115721168)+W(3,1035536761,-1109098872,-1136790748,-1105152866)+W(4,-1094833228,-1107153986,1052844759,1029163621)+W(5,1046847142,-1111905268,-1116305850,-1102858563)+W(6,1022472216,-1129014496,1034397600,1043654862)+W(7,-1114537747,-1149928759,968266517,1033858063);WS(-1091215044,-1097536449); +sum1=W(0,1036334229,1027816414,1046343318,1054850406)+W(1,1041878433,1040414769,1017820267,1047750528)+W(2,-1088688205,-1110004986,-1088611549,-1085760696)+W(3,-1113122464,-1115511970,-1113420363,1034437006)+W(4,1028067640,1025245044,-1104070412,-1089807987)+W(5,990395721,1024229024,1028468150,-1097347774)+W(6,1049627927,1039037582,1048707955,1052669472)+W(7,1043177720,1039929856,1044644789,1048578060);sum2=W(0,-1114440831,1030624098,988636086,-1132718391)+W(1,1030310950,1016098323,1024855622,1018716851)+W(2,1036847317,1042295753,1050034374,1031424194)+W(3,-1119733782,-1120554286,-1114648667,1035432255)+W(4,1041890716,-1115362087,-1113867927,1016671019)+W(5,-1130826523,-1097953797,-1146049358,-1096082463)+W(6,1027069126,1021176355,1029167466,1028661170)+W(7,-1183083952,-1108500823,1027651154,-1106095247);WS(-1074893425,-1117971628); +sum1=W(0,-1094367290,-1152038187,-1103630563,-1098786216)+W(1,1037656965,-1114777697,1025099466,-1124130662)+W(2,1052023128,1049322869,-1111356283,999054287)+W(3,-1106664801,-1093651375,1040611874,-1094570594)+W(4,1042452051,-1097322793,1049675109,1040732760)+W(5,1040645714,1057236855,1040783587,1055134184)+W(6,-1107223211,1034136520,-1112379016,-1102728254)+W(7,1016544493,-1125564586,-1105965314,1008351835);sum2=W(0,1004001863,1021526755,1018968138,-1116175346)+W(1,-1139174407,1031843333,-1131104448,1009509771)+W(2,-1116735450,1032892007,-1096890588,-1099974349)+W(3,-1103015201,1040986630,1035109709,1041412407)+W(4,-1111481570,1024548251,-1073615974,-1071438395)+W(5,-1146527383,1076155388,1074182350,1041860718)+W(6,1033584975,-1130001464,1026017190,-1121576034)+W(7,-1164624762,1024580999,1043256283,-1106441216);WS(1040475912,1032695578); +sum1=W(0,-1124525022,-1155851319,1035372099,-1122500130)+W(1,-1172701842,1033773669,1014757675,-1116930196)+W(2,-1112011377,-1123298122,-1091278169,1056532699)+W(3,1054708857,-1105035590,1007501482,1026134833)+W(4,1035534023,-1102944834,1055301749,1041895809)+W(5,-1087252087,1039100863,-1123874252,1036316385)+W(6,-1136466746,1035920825,-1130626274,-1104812886)+W(7,1028924087,-1111589035,-1142366545,-1110262076);sum2=W(0,-1109091355,-1119792870,-1111337413,-1102054262)+W(1,-1118550690,-1113960445,-1142500624,-1109065069)+W(2,1041703749,-1123886114,1026232126,1049335147)+W(3,-1114718085,-1111978783,-1124340572,1020384670)+W(4,-1120034208,-1123320808,1045621744,1063803841)+W(5,-1088756378,1016064880,1026268254,1030310973)+W(6,1010537508,1026411366,1015836410,-1098413574)+W(7,1041947548,-1123461018,999681904,-1122952578);WS(1060902754,1050355625); +sum1=W(0,-1156790206,-1151083459,1011568442,1023922682)+W(1,1024500211,-1112644265,1033389138,-1104847739)+W(2,-1099711167,-1104333225,-1101534272,-1082482317)+W(3,-1107281952,1053813598,1025001795,-1116841801)+W(4,1048936605,1047935457,1041411896,-1103038759)+W(5,1049946264,1036831245,1037700978,1030797274)+W(6,975051222,-1120760458,1040804594,1043235660)+W(7,998453633,1030084558,1007099659,1035779080);sum2=W(0,1036801640,-1120633215,1043653368,1045612039)+W(1,-1100846658,976462574,-1115109418,-1097687290)+W(2,-1106066969,1029646415,-1102845552,1020964885)+W(3,1041841354,-1088569123,-1101549413,1054633350)+W(4,-1098529900,-1094622159,1045091011,1062435502)+W(5,-1104869009,1054359824,-1101036113,1044975639)+W(6,1051617655,-1128436081,-1108268977,-1120809462)+W(7,-1127923721,-1115259155,1041018201,-1102739129);WS(-1090140642,-1081743990); +sum1=W(0,1014408182,-1130293844,1031847606,1042594418)+W(1,1041618980,1035968392,1009499077,1033368909)+W(2,1037549524,1009886528,1044394635,1037202321)+W(3,-1117833212,1037634256,-1122700465,1015596142)+W(4,-1119977588,1031805064,-1097431626,-1094879521)+W(5,-1119842097,-1101547735,-1107123493,-1105308242)+W(6,-1148996265,-1107483388,1015837167,1035016080)+W(7,1032499967,1034663662,1017023585,1030806526);sum2=W(0,-1123785792,1006912162,-1091554339,-1071648513)+W(1,-1078529007,-1106043455,-1108743589,-1113325201)+W(2,1013646496,-1120892227,1057715626,1076150687)+W(3,1069469884,1049558148,1035924910,1038760139)+W(4,-1105735433,1034054467,-1103626228,-1110563164)+W(5,1025732222,-1102425071,1028146935,1001130061)+W(6,1032589029,-1113324539,1043157583,1029343874)+W(7,-1120727508,1029688242,-1120545616,-1123660578);WS(1055430148,-1108560690); +sum1=W(0,1035961997,1035029338,1036894711,1041930516)+W(1,1018389269,-1113968413,1026969083,-1119268932)+W(2,-1122962962,-1107101862,-1105458486,-1102453987)+W(3,1050880022,1050461237,1017425654,1049028992)+W(4,1001804274,1037435821,1049324163,-1115462345)+W(5,-1096234295,-1096034793,-1105484423,-1109268985)+W(6,-1109508687,-1114596033,-1105968336,1030068713)+W(7,1023650152,1041307521,1023939770,-1110794404);sum2=W(0,1020921672,1015626891,-1131154511,-1149322267)+W(1,1005570725,-1122484266,-1125609227,1019773418)+W(2,-1133145023,1000680715,1034643892,-1106033700)+W(3,-1155618307,1030350968,-1127714103,1027949553)+W(4,967639540,1038163303,1029820070,1027175814)+W(5,1050725869,-1107328459,984351189,-1113454879)+W(6,1057583079,1066461314,1070593780,1042500058)+W(7,-1076733999,-1075365186,-1095092572,1026351361);WS(1048611396,-1120253991); +sum1=W(0,-1109906484,-1134442421,-1157090745,1038629782)+W(1,1019276152,1008425488,-1121251029,-1115994974)+W(2,-1104843595,1020368935,-1102655324,-1096452233)+W(3,-1094801150,-1098953977,-1125379561,-1120481658)+W(4,1042068462,-1116357012,-1127594975,1048790986)+W(5,1026936628,1044903358,1031973931,1042932491)+W(6,1029221016,1014414830,1044033359,1052393436)+W(7,1029702657,-1137141374,-1117911220,1022285443);sum2=W(0,-1129566974,-1143746400,1036033029,-1117052801)+W(1,-1123748463,1038502321,-1138810328,1043607047)+W(2,-1111784437,1036277891,1028988774,-1100779042)+W(3,1044450885,-1129810696,1034348699,-1108082071)+W(4,1050813877,1047551505,1061486774,1077969880)+W(5,1055586292,-1131992338,1040643987,-1108034712)+W(6,-1093517653,-1098527209,-1081514759,-1071648362)+W(7,-1089190754,-1107152864,-1111885211,1025200270);WS(-1095808772,1065647947); +sum1=W(0,-1096536264,-1104862109,-1101976087,-1101730853)+W(1,-1126516760,-1106707963,-1123882077,-1108125731)+W(2,1055051378,1050045579,1051209263,1045989771)+W(3,-1096666661,-1098537885,1021791993,-1104774017)+W(4,-1152511995,-1106144343,-1114400236,1051130659)+W(5,1054814183,1057272194,1047598263,1057816237)+W(6,-1101629224,-1139560206,-1118447811,-1101507019)+W(7,-1103658466,-1098960762,-1106849375,-1104521538);sum2=W(0,-1110633145,-1114352725,-1120367533,-1113576661)+W(1,-1147392026,-1111220567,-1123261925,-1131596567)+W(2,1046325680,-1134514653,1030462840,1052343557)+W(3,1028577898,-1127265311,1023140267,-1109705515)+W(4,-1106205960,-1145236426,-1121802017,1052169724)+W(5,-1126550987,967975074,-1125641651,1019189507)+W(6,-1121981161,-1115188107,1009337269,-1122467029)+W(7,-1112707841,-1123885069,-1109514951,1036097210);WS(-1088656098,-1093593990); +sum1=W(0,1009988669,1006243392,-1118924498,1040203342)+W(1,1030956655,1015251645,1032654584,1034196708)+W(2,1053407451,1046462824,1054487499,1043824044)+W(3,-1107509853,-1099069067,-1114843936,-1106663601)+W(4,-1093246956,-1100605512,-1092703459,-1110184012)+W(5,1041099456,1036164518,1040232112,1035276411)+W(6,1009810317,1021367180,1031892963,-1115326423)+W(7,1009525296,-1102894371,-1121673919,-1120762380);sum2=W(0,1045046842,1057379920,1066661430,1065556520)+W(1,-1100359290,-1079104557,-1080513286,-1090732450)+W(2,-1111686548,1047338924,1044625920,-1108706635)+W(3,1040575208,1048831397,-1106604517,-1118381857)+W(4,-1120613757,1041926325,1010608356,-1107659276)+W(5,1029226052,990146073,-1122878530,-1148427089)+W(6,-1123157156,-1122209414,1026048962,-1118064370)+W(7,1036917588,-1118722317,999828841,-1128484108);WS(-1103417864,1032685901); +sum1=W(0,-1113840082,-1101895278,-1106883347,-1112947643)+W(1,1045150312,-1106874992,-1122615424,-1140285221)+W(2,999140540,1021813182,1050838637,1035808888)+W(3,-1089518824,-1112862903,-1123587264,991482976)+W(4,1026362243,1049323684,-1123649147,-1115046028)+W(5,1051398592,1043843226,1032255888,1025625239)+W(6,1025795300,-1104186210,1026463622,1015970396)+W(7,1028121997,-1114287989,-1148228092,-1125179546);sum2=W(0,1052414494,1041601968,1061231009,-1094738093)+W(1,-1090047391,-1112254382,-1124055261,-1106989530)+W(2,-1107019340,1032004449,-1083281727,1048799024)+W(3,1060484354,1026094686,1028491114,1016363351)+W(4,1021676257,-1101889010,1040520305,-1113266306)+W(5,-1097572834,1047868927,-1106439707,1039531031)+W(6,-1118630717,1028135044,994543087,1023423300)+W(7,1023744190,-1123297050,-1134044699,-1135541243);WS(1062251010,-1128406975); +sum1=W(0,-1122559590,-1117783082,-1111223497,-1097132645)+W(1,-1118294493,1027318465,-1122628178,-1142140116)+W(2,-1114430084,998905218,-1117430765,1043264160)+W(3,-1137238321,-1109365760,1012147781,-1112437644)+W(4,1041522773,-1122146129,1049934150,1038499861)+W(5,1040349396,1038350478,-1161426505,1022231761)+W(6,-1200477464,1030594936,-1117296696,-1108127936)+W(7,-1117164622,1008104625,1016497826,1030977566);sum2=W(0,-1117898288,-1125963325,-1090182563,-1072766634)+W(1,-1084699977,1030742992,-1114032290,1021721886)+W(2,1035048481,1029071818,1058090849,1075259304)+W(3,1062748800,-1113008632,1039805619,-1113709765)+W(4,1015521050,-1131842712,-1155119281,-1099596444)+W(5,1015646848,-1124623837,-1116189732,-1146515621)+W(6,-1121110162,-1139107970,-1131029094,1037152077)+W(7,1018972128,1025197316,-1127481518,1027813594);WS(1065708113,-1121751611); +sum1=W(0,-1151170552,-1113367966,-1132161740,-1102777150)+W(1,1008580363,1034637855,-1122909571,1029317996)+W(2,1004700116,1033929377,1028879143,1048992314)+W(3,-1130586604,-1123817297,997138991,-1119780649)+W(4,1029908854,-1124121476,1021289212,-1106962671)+W(5,-1145749780,1010684790,-1110778290,-1119558682)+W(6,-1203182552,-1152107167,985230639,-1118004497)+W(7,1024087440,1024857134,1018524741,1030859440);sum2=W(0,1022085973,1007192988,1059325611,1078660314)+W(1,1067996709,-1179370697,1033764027,1000911377)+W(2,-1128031215,982756722,-1087213694,-1070139299)+W(3,-1079390657,-1159362498,-1110724756,1028041806)+W(4,1012976820,-1124806095,1030136738,-1095156098)+W(5,-1131018297,1019962283,1025926144,-1121497459)+W(6,-1176062153,1022708360,-1120463845,1033425170)+W(7,-1138793506,-1124014927,1016277465,-1138055830);WS(1067144001,1026092834); +sum1=W(0,1005864375,1014388109,-1110877439,-1100539124)+W(1,-1110133357,-1126225268,1033891677,1016160519)+W(2,1049810486,1020396467,1055042333,1042867979)+W(3,1031992147,1044290490,1034565181,1034066560)+W(4,-1103125415,1040462414,-1103579165,-1096204250)+W(5,1048911295,-1091768605,-1114007278,-1112003369)+W(6,-1120236446,-1132016387,-1107048544,-1116193256)+W(7,1010104860,1031444773,1030176378,1031923300);sum2=W(0,-1130823435,-1108591076,-1112679806,-1095898825)+W(1,-1107310218,1030441654,-1128226189,1031713190)+W(2,-1123834023,1045671991,-1133291790,1058163296)+W(3,-1100325346,-1113640367,1016405480,-1116067001)+W(4,1036568073,-1106172311,-1115701009,1057311204)+W(5,-1097367248,1044352434,-1106561364,1014762708)+W(6,-1114604843,1024976861,1033105292,-1122476787)+W(7,1035411458,-1111920852,1031834977,-1121017007);WS(1057420226,-1092362255); +sum1=W(0,1032475105,1020346174,-1121587297,1019256762)+W(1,-1123769862,1033058515,1024808486,1030782351)+W(2,1044920519,-1144052776,1052978802,1055322687)+W(3,-1104246416,1040777765,1016898380,1041983019)+W(4,-1103664666,1027257637,-1096869991,-1116373310)+W(5,1028318277,-1096789598,-1118572551,-1106323631)+W(6,-1114304581,-1116794957,-1103967019,-1100439285)+W(7,1018564517,1036089864,1021198731,-1130998630);sum2=W(0,-1134184569,1006994613,1034914936,-1134366153)+W(1,1033598449,1009154259,989883430,1021229932)+W(2,1016741405,-1130764191,1033077740,-1112456708)+W(3,1043198162,-1132669129,1016038391,-1126067903)+W(4,1020516693,1043863088,1060988002,1071901111)+W(5,1043355315,1018979141,1034096544,1022348007)+W(6,-1102863001,-1103907912,-1084447988,-1076633620)+W(7,-1098165823,-1118646231,-1113048166,-1118544043);WS(-1105493768,-1082709441); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[8]; +samples[0][0] = HOOKED_texOff(vec2(-1.0, -3.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-1.0, -2.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-1.0, 3.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-1.0, 4.0)).x; +samples[2][0] = HOOKED_texOff(vec2(0.0, -3.0)).x; +samples[2][1] = HOOKED_texOff(vec2(0.0, -2.0)).x; +samples[2][2] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[2][3] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[3][0] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[3][1] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[3][2] = HOOKED_texOff(vec2(0.0, 3.0)).x; +samples[3][3] = HOOKED_texOff(vec2(0.0, 4.0)).x; +samples[4][0] = HOOKED_texOff(vec2(1.0, -3.0)).x; +samples[4][1] = HOOKED_texOff(vec2(1.0, -2.0)).x; +samples[4][2] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[4][3] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[5][0] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[5][1] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[5][2] = HOOKED_texOff(vec2(1.0, 3.0)).x; +samples[5][3] = HOOKED_texOff(vec2(1.0, 4.0)).x; +samples[6][0] = HOOKED_texOff(vec2(2.0, -3.0)).x; +samples[6][1] = HOOKED_texOff(vec2(2.0, -2.0)).x; +samples[6][2] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[6][3] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[7][0] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[7][1] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[7][2] = HOOKED_texOff(vec2(2.0, 3.0)).x; +samples[7][3] = HOOKED_texOff(vec2(2.0, 4.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns64, win8x4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/nnedi3/nnedi3-nns64-win8x6.glsl b/shaders/nnedi3/nnedi3-nns64-win8x6.glsl new file mode 100644 index 0000000..c583e0f --- /dev/null +++ b/shaders/nnedi3/nnedi3-nns64-win8x6.glsl @@ -0,0 +1,322 @@ +// +// 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 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 . + +//!DESC NNEDI3 (double_y, nns64, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1120714617,1035162146,-1110752415,-1121818163)+W(1,1035961863,-1120878363,1007614003,-1123901891)+W(2,1046176310,-1105876799,1034124059,-1120533037)+W(3,-1123305414,1027364554,-1114390527,-1096860741)+W(4,1022953826,-1155422496,1009908268,1030225939)+W(5,-1110762423,1046191054,1023450788,-1124524780)+W(6,-1129324172,-1116882705,1032526991,1043289735)+W(7,-1114841418,-1129613106,-1121901526,1030599214)+W(8,-1096831458,1052908756,-1114991488,1013731840)+W(9,1022915304,-1135846624,-1117077507,1034530771)+W(10,-1116257712,981289536,-1142748844,-1113117446)+W(11,-1127767760,1039462233,1025047056,-1143328976);sum2=W(0,-1131108965,1043465638,988544780,-1145266179)+W(1,1018501507,1021344415,1000650931,-1113612493)+W(2,-1124179817,-1111438835,1003301507,-1131299129)+W(3,1025688791,-1106748353,-1070139293,-1110118136)+W(4,1026178295,-1123696315,-1116852534,1029599173)+W(5,-1102659167,-1097100047,1031198431,1012522521)+W(6,-1145056307,1045881517,1078104617,1027449515)+W(7,-1123515159,1024975831,-1123043594,-1118230687)+W(8,1048052425,1027739737,-1134523125,1020199127)+W(9,1018436747,1029259867,-1126127905,-1136112041)+W(10,995063942,-1162666156,-1139914565,-1107504809)+W(11,1025133515,1036504803,-1120319069,-1131042995);WS(1061710334,-1113637247); +sum1=W(0,-1121814583,1036106897,-1109309294,-1143950978)+W(1,1033251382,-1118153848,-1138603692,-1122595552)+W(2,1048694647,-1103580007,1032154570,-1122508490)+W(3,-1138264845,1018454510,1030681928,-1097890158)+W(4,1019050396,1012933309,-1140194465,1033737112)+W(5,-1115559686,-1120177173,1021617155,-1120902675)+W(6,-1131439046,-1122735662,1044326142,1042373458)+W(7,-1113884080,-1152998244,-1125621862,1024541667)+W(8,-1097437158,1052689231,-1107957310,1016843898)+W(9,1023073058,-1122620661,-1132933761,1034486114)+W(10,-1116304653,-1144273714,-1129805541,-1116003130)+W(11,-1128614666,1037961704,1019245786,-1155701620);sum2=W(0,-1162960213,-1107084454,-1126626424,1025411499)+W(1,-1126548940,-1127269937,1013908203,1023868855)+W(2,1032930462,1029914487,997665611,1018748433)+W(3,-1113327157,1032525526,1076098019,1035900190)+W(4,-1121182801,-1158385717,1023571595,1048796624)+W(5,-1132699465,-1093496445,1038561302,1000017309)+W(6,-1133790043,-1104878976,-1072747140,1026052839)+W(7,-1146184997,-1123007653,1024139725,1003078933)+W(8,-1104764998,-1109617402,-1142783113,-1154085627)+W(9,-1130037920,-1121062518,1019199125,1025857863)+W(10,-1147685381,1000677165,1007034787,1034207166)+W(11,-1123497947,-1118139493,1017680405,1016687665);WS(1064800702,1030635520); +sum1=W(0,1004285524,-1128056492,1035663048,-1110660706)+W(1,-1128734654,1028175148,-1122860750,1024005652)+W(2,1031878036,-1116831438,-1204558974,-1143857649)+W(3,-1122286551,1035530413,984521208,1023270757)+W(4,-1136886024,1005008153,1021316024,1053335517)+W(5,-1100061872,-1093549817,1042579293,1016449422)+W(6,-1116388951,-1139373960,1048911707,-1104621327)+W(7,-1148999845,-1135015336,1022533838,-1130762670)+W(8,1035194194,-1149876978,-1142259845,1010510404)+W(9,-1125657162,-1121564617,-1131931048,-1142066105)+W(10,-1120920449,1018152308,1001429301,-1129213371)+W(11,-1141986761,1031904066,-1111776529,1020350678);sum2=W(0,1015139874,-1120731382,1017539382,1020112270)+W(1,-1126248934,1013963196,-1150118671,-1116737087)+W(2,1031888972,-1112637962,1010207212,-1138130380)+W(3,1032711786,-1087320828,1059502015,1026899401)+W(4,-1119882792,1019091922,1028577839,-1069693959)+W(5,1078824499,-1094071548,1040940327,-1123861886)+W(6,-1116703472,-1103666133,1045823576,1036639812)+W(7,-1131804892,1004924552,-1123435694,-1138801588)+W(8,1009232228,-1114441289,1029410629,-1130443436)+W(9,-1140098908,999422392,1011539428,1023067274)+W(10,-1130083750,-1137456436,-1140019692,1029210329)+W(11,-1118193829,-1131442506,1007549476,1026106777);WS(1058942782,1023618692); +sum1=W(0,-1126072821,1041771492,-1110777188,-1110871838)+W(1,1036426764,-1142526755,1011693912,1025548876)+W(2,1035801072,1043278082,-1146527995,1015953709)+W(3,1017195423,1036961985,-1094081945,-1103634941)+W(4,1046715887,-1148709083,-1122268692,1037536142)+W(5,-1091452759,-1105679152,1040286827,-1119884351)+W(6,1022607903,1038780013,-1095962376,-1103558179)+W(7,1049101574,-1122534754,982545387,1023558139)+W(8,1049096396,-1130619215,1031851588,1007174309)+W(9,-1126061755,1037537425,-1113879430,-1136949949)+W(10,1002869195,1017517093,1003763447,1035261291)+W(11,955835050,1026350907,1006549707,986004587);sum2=W(0,-1128639222,1001638233,-1119841411,1014385869)+W(1,986023269,-1135260845,-1150616818,1013509397)+W(2,1029376723,1037911199,970306708,1013815957)+W(3,-1118932607,1035428655,1019940778,-1102461584)+W(4,-1141011097,959170344,-1125568566,1024255335)+W(5,1063260126,-1085129330,-1110526300,1017551658)+W(6,991022546,1031481278,1032753418,-1110003004)+W(7,1033244979,1016351942,-1129687950,-1111645244)+W(8,1026999545,1019019978,-1121764803,-1127392454)+W(9,1018120650,1028380841,-1121385219,1021463302)+W(10,1025283273,1009569613,1006676397,-1115817479)+W(11,-1134958989,1017625850,-1128128990,-1138867245);WS(1037837808,1056377428); +sum1=W(0,-1135573495,-1105969090,1027945538,1043223694)+W(1,-1100584037,1025656415,1023727061,-1138454045)+W(2,-1116105371,1039709953,-1111027805,1021082723)+W(3,-1118803082,-1114548551,-1126955510,1051232418)+W(4,-1097887999,1018764077,-1123500111,1046351686)+W(5,-1122693874,-1100833583,1040497066,-1115071549)+W(6,1020600341,1036383371,1053007142,-1103740252)+W(7,1024768136,1025234525,-1111066541,1034647805)+W(8,1035274060,-1101618713,-1138012047,-1116333124)+W(9,1008936161,1026657308,-1156882549,1033814037)+W(10,-1123286772,1016891995,-1115286797,1033474888)+W(11,-1122516460,-1129756781,1010716753,-1114238799);sum2=W(0,1020978875,-1100967324,1043179705,1026290891)+W(1,1013196277,-1138979633,-1121670462,-1130583533)+W(2,-1122981488,1032797386,-1120286641,966672716)+W(3,-1103298336,-1096736455,1062358565,-1104401130)+W(4,-1114052290,-1152672163,-1110731474,1053186254)+W(5,-1112891412,-1091109944,1048200412,-1122242747)+W(6,-1105136733,1045958215,1031005462,-1133705481)+W(7,-1113847816,1023845499,-1119790394,1043729632)+W(8,1033523405,-1102472853,1033631266,-1118586102)+W(9,-1127100056,1033816035,-1109547546,1031959215)+W(10,-1126209517,-1147194793,999102475,1020355333)+W(11,-1122874410,-1122532081,1027184816,-1127245018);WS(1050865148,1032626572); +sum1=W(0,-1110436993,1043627312,-1118552440,1045700875)+W(1,-1115060612,1040430485,1040042556,-1101476879)+W(2,-1108049256,1033317691,1031191472,-1096410465)+W(3,-1107890608,1049906138,-1107535228,-1115480133)+W(4,1025393771,1042925123,-1113356418,-1109025830)+W(5,-1162779891,1049713062,-1106727656,-1114330616)+W(6,1034032544,-1120749707,-1095271743,1042738346)+W(7,-1127443770,-1106585845,-1105712244,1051482110)+W(8,1035225158,-1122810712,1039553933,1042770518)+W(9,999321197,-1103830356,-1104074479,1050825756)+W(10,-1104755066,-1103219825,-1110201208,1048543054)+W(11,-1106449960,1031488492,1040395170,1009713998);sum2=W(0,1024944996,-1111924540,-1107012648,1057346437)+W(1,-1105023593,-1097010076,1020193961,1007347355)+W(2,1049541488,1054940943,-1097277462,-1107952444)+W(3,1014966838,-1116539066,-1107447750,1059914271)+W(4,-1142156696,-1085761230,1015828472,1012341552)+W(5,-1109770505,1066972918,1043445868,-1078926120)+W(6,-1113612636,1034050704,-1111197863,1063973493)+W(7,1017043379,-1084679416,1032934706,-1113193567)+W(8,1014122612,1056333532,-1118781870,-1092348708)+W(9,-1116105943,1042584092,1016467631,1045837843)+W(10,-1113967259,-1128370702,1021395599,-1116104243)+W(11,-1135977693,1043326701,-1117573943,-1108363561);WS(1054811644,1027249161); +sum1=W(0,1040940111,-1101358582,-1113576073,1049141881)+W(1,-1132483205,-1116754862,-1100243090,1036221579)+W(2,1038054901,-1105999252,-1104538698,1037145120)+W(3,1043481462,1014943347,-1097482896,1051960356)+W(4,1036681666,-1118995685,-1119365790,-1109150355)+W(5,-1106696288,1048275427,-1123112824,-1126689554)+W(6,-1111878381,1036687602,1022736646,-1118345360)+W(7,1019000333,1038634998,1044780378,-1109759237)+W(8,-1097940765,1049145430,1044474573,-1101292557)+W(9,-1101638738,1028424107,1038478827,-1113101949)+W(10,-1103799553,1034438878,1035929492,-1122643648)+W(11,-1103674991,1037909315,1037239602,-1126283866);sum2=W(0,1023766557,1016554458,1021815988,-1137435361)+W(1,-1114856427,1032032312,1015306072,1020144724)+W(2,-1103467660,1016553974,1044555388,-1105991725)+W(3,-1136376403,-1116988904,1034521268,1060795535)+W(4,-1088370625,-1127777881,-1113107482,1050162106)+W(5,-1102546407,1075503478,-1071164689,1035804901)+W(6,1038494252,-1104347057,-1103257907,1072821349)+W(7,-1077590614,-1120944929,-1113447013,1003678517)+W(8,1025406308,-1113972415,-1112563255,1036418439)+W(9,1023629411,1033762395,-1113239746,1031283975)+W(10,995356642,-1123929939,1024784188,-1109441777)+W(11,1026085595,1037416902,-1112537357,-1140753514);WS(1055940220,-1124188157); +sum1=W(0,-1113999823,-1119569210,1015781094,-1147977024)+W(1,-1117684995,-1108336232,1015763751,1043278990)+W(2,-1106256755,1046188556,1036478965,1006648968)+W(3,-1115168029,-1094609330,1052603679,1041916962)+W(4,1033522483,-1101485874,1022861696,1044340802)+W(5,-1095339972,-1108128054,1047885622,-1110457109)+W(6,-1114461725,1033154083,-1108564239,1057380776)+W(7,1036635468,-1114614567,-1113117029,-1106205123)+W(8,1042723938,-1095928258,1035899866,-1108232826)+W(9,1032164308,1021089498,-1125646960,1041299799)+W(10,-1139371156,1034599135,-1121800074,-1107756257)+W(11,-1171638077,1027517543,-1131185034,-1115299047);sum2=W(0,-1120118804,-1136369034,-1127959037,1015341014)+W(1,1033327798,-1113602386,1013270421,1027353114)+W(2,-1129939889,1034464346,1041751325,-1114857235)+W(3,-1120552641,-1125884733,-1117793827,-1117887441)+W(4,1049619624,-1103868602,-1117027367,1035518448)+W(5,-1095769137,1043338219,1049093640,-1097589990)+W(6,1016254148,1043285424,-1095274849,1049861339)+W(7,1048627700,-1105817123,-1110780393,-1129166063)+W(8,-1117623897,-1128474295,1035712363,-1106207094)+W(9,1030787932,-1140216380,-1128598589,1032330618)+W(10,1035384499,1004274322,-1133117880,-1120569751)+W(11,-1129927717,1018695247,1027229852,-1120123842);WS(1057163582,1025817537); +sum1=W(0,1037167835,1031655825,-1096271953,1045084224)+W(1,1033520525,1016078798,-1121852313,1046829204)+W(2,-1093143228,1046279122,-1103697416,1030441081)+W(3,1034559945,1038865075,-1085198281,1057074420)+W(4,-1107583934,1036548879,1027044951,987855837)+W(5,1050118415,1040167170,1024989936,974934139)+W(6,1039868489,-1105739319,1057217669,-1086525384)+W(7,1034776664,1034922130,1037598609,-1112419405)+W(8,1047779928,-1087515051,1044254259,-1113468278)+W(9,1007581568,1015381448,1035805671,-1098926044)+W(10,-1134624240,1036139674,1031626785,1037495244)+W(11,1015872616,-1124461564,-1113253902,1017385676);sum2=W(0,-1136384493,1036526786,1028719631,-1123632092)+W(1,-1145098603,-1122280548,1023814631,-1099879539)+W(2,1030342243,1043747658,-1102737141,-1130733945)+W(3,1033659202,1034332004,1046758826,1050427835)+W(4,-1112406001,1014543213,1017810163,1013925981)+W(5,-1093436173,-1100447595,-1119158797,-1123106681)+W(6,1009967381,-1106516740,1051870663,1041231786)+W(7,1034292458,1019870319,1017781727,-1101585218)+W(8,1042788701,1045006578,-1107586767,1013053757)+W(9,-1118180802,-1131784625,-1114786901,1010389989)+W(10,-1143106923,-1119739637,-1141961139,-1112082470)+W(11,-1113417628,-1117114477,1032164569,1012643781);WS(-1081763615,-1092598780); +sum1=W(0,-1130922677,-1114318275,-1127997567,1028467828)+W(1,1023598927,-1139280241,-1122514966,1026414532)+W(2,-1121576984,-1127358845,1017010415,1002425203)+W(3,-1136114845,1017564438,-1088500870,1061837768)+W(4,-1116904946,-1123987795,1015393433,1021344041)+W(5,-1098266094,1035926493,1037585875,-1136160989)+W(6,-1137786397,-1095352826,1061435536,-1095349722)+W(7,1040151266,-1131570741,1023447063,-1116164091)+W(8,-1148866211,-1114585584,1031742785,-1116123969)+W(9,-1142668459,-1123782681,1039772482,-1114677716)+W(10,1007413957,1020007637,-1140705115,1012849463)+W(11,1024002537,-1116920883,-1128808099,-1126849079);sum2=W(0,1021958137,1034408685,-1106091708,-1098486326)+W(1,1028745769,1024682325,-1117837187,1036094407)+W(2,-1147105428,-1110159069,1031154711,-1116910593)+W(3,1026312941,1033683959,-1094093059,-1088187103)+W(4,-1105512708,1039406737,-1115513274,-1124949158)+W(5,1061646324,1055280585,-1100598283,-1117359799)+W(6,1037370871,-1091894288,1058519893,1045036050)+W(7,-1109806227,1026080301,-1112242113,1027011647)+W(8,-1106569597,1045721104,-1117345257,-1117139296)+W(9,1033686533,-1107943508,1037199097,1034325435)+W(10,-1144974476,991455177,-1107052036,1010459130)+W(11,1030945863,1039418143,-1124920152,-1112397476);WS(1049187708,1061143407); +sum1=W(0,1032206028,1046469409,1044620591,-1086760535)+W(1,1049164066,1022165171,-1121811767,1033070593)+W(2,1020031147,-1113096094,-1132628435,1009114287)+W(3,1032297330,1049873346,-1111788011,-1092765627)+W(4,1051671486,1034535880,-1136528167,1050639650)+W(5,-1089881571,-1083700943,1044844041,1024964917)+W(6,1005295654,1041319460,-1127219501,-1092202425)+W(7,1037004161,1011091807,1031846890,1041542033)+W(8,1033106537,1011207027,1026161438,1038185039)+W(9,-1136496587,1036329419,991465499,1015330121)+W(10,-1134373563,1018308239,1032778794,1043869975)+W(11,-1112918515,1026637361,1019220893,1032129132);sum2=W(0,-1123557888,1024038368,964997605,-1123190992)+W(1,-1170950771,1009594487,-1139662759,1022314468)+W(2,1007232143,1040909663,-1119781676,1011035391)+W(3,-1120649660,1016353740,-1112234110,1035500288)+W(4,-1122589660,-1122952928,1021700488,-1149024430)+W(5,1052797849,1059925772,1021322900,1015425876)+W(6,-1119215196,-1127462832,1032636001,-1123381020)+W(7,-1124742672,1024335912,1025758640,-1109226016)+W(8,-1096670151,-1110751472,1037872214,-1115520552)+W(9,-1134635263,1022909500,-1103246759,-1114698588)+W(10,-1123038904,1026100870,1025396502,-1106595065)+W(11,-1095307242,1016687528,1025386190,-1128653768);WS(-1080960863,1058419411); +sum1=W(0,-1118700722,-1111066847,984198859,1043965403)+W(1,-1108783427,1000248987,1032983255,-1112208894)+W(2,-1099715572,-1113907195,-1113914551,-1124179019)+W(3,-1122641758,-1099579692,1049479517,1050672334)+W(4,-1105019770,-1128328213,1033094082,-1090459763)+W(5,1062349342,1061713555,-1095692932,1023738862)+W(6,-1121000958,-1107128402,-1099059374,1059583022)+W(7,-1099879371,-1131329315,-1133773881,-1107276892)+W(8,1033076198,-1121054998,-1108028092,1027231576)+W(9,-1141737059,-1116550064,-1125040759,1024684126)+W(10,1024533736,-1113801521,-1120123854,-1103159313)+W(11,1037355536,1026513898,-1110661700,1007580489);sum2=W(0,995719700,-1129327601,-1125739202,1029045123)+W(1,1025141617,-1154923092,-1114687459,1021214658)+W(2,1027238209,1037994429,-1113434302,1007115993)+W(3,1024240180,997717028,-1120915257,1036441804)+W(4,1032546636,1003062850,-1115935924,978476974)+W(5,-1078687396,1066236156,1035362808,-1118441375)+W(6,1025427056,-1140454571,-1111104335,1022342240)+W(7,1033358736,1017727844,-1123062148,1010080137)+W(8,-1128218828,1028953671,-1166615662,-1129048983)+W(9,999440794,1002330866,-1147995690,1024857232)+W(10,-1165027863,1019778022,-1131128122,-1152746908)+W(11,-1128526870,-1126806088,1024563904,1009762473);WS(-1082880574,-1095080656); +sum1=W(0,-1120399523,-1111736159,-1111698940,1037879414)+W(1,1037066756,-1118524245,-1123397517,-1128373242)+W(2,1019423266,1028697399,-1119567216,1027581671)+W(3,-1135116544,1025039907,-1092929515,1062200098)+W(4,-1131199446,-1139610160,-1168421181,-1127950106)+W(5,-1098702381,1023355236,1027882718,-1139561152)+W(6,-1131259136,-1098593297,1060991762,-1094756999)+W(7,1038218895,1005358744,1037719400,-1106461210)+W(8,1018082074,-1115312044,1022591155,-1113962893)+W(9,-1113348279,1024172498,1036669022,-1106391640)+W(10,-1118950442,1026868195,1030740495,1028249110)+W(11,-1114016273,-1109491766,-1141634128,-1126548648);sum2=W(0,1007561151,-1106890729,-1144059530,1010626011)+W(1,-1140206187,-1152147163,-1118820752,1031296198)+W(2,-1112391017,-1114880200,-1136937433,-1120281594)+W(3,-1128452386,-1110907715,1056169840,1052511775)+W(4,1034255225,-1114711449,-1121745985,1032462388)+W(5,-1096446085,-1094697844,1033067226,993102387)+W(6,-1114861795,1035962501,1031556034,1056886944)+W(7,-1104164393,-1120009849,-1121584151,1035033495)+W(8,987032615,-1129701328,1013679559,-1122813977)+W(9,-1120079456,982365671,-1138039959,980377326)+W(10,-1115367679,-1118918686,-1129117272,1035951051)+W(11,-1119286197,-1126702674,-1137374445,1006646323);WS(1058795070,1058351276); +sum1=W(0,-1129226172,-1106246658,1041614193,1041522846)+W(1,-1106977045,-1140271486,1032650784,-1132244111)+W(2,1048401911,1041471472,1031926461,-1130658915)+W(3,-1134152362,-1102574120,1050141831,1033352747)+W(4,-1121658742,-1115542891,-1122312016,1028257624)+W(5,-1088102699,1030285885,-1124591186,-1119417531)+W(6,-1145265749,1004724909,-1093353638,1056599450)+W(7,-1107883356,-1155196377,-1118796187,-1128587973)+W(8,-1112285036,1049138668,-1114299650,1003429157)+W(9,1017891569,-1150296521,-1122892680,1043369227)+W(10,-1130730345,-1125742491,-1131365684,-1107598873)+W(11,-1120116589,1040658126,1034850634,-1137642362);sum2=W(0,1018264792,-1109681111,1028734812,-1104210606)+W(1,1025579416,1029305888,1019878456,-1134735936)+W(2,-1093714299,-1099909667,1032419228,-1113499692)+W(3,1020074080,-1106212594,1034660210,-1098896203)+W(4,1010388000,1025031188,-1143212320,1037009054)+W(5,1047288883,1060586916,1030286292,-1130541520)+W(6,-1148803168,-1132238328,1031452084,1042866381)+W(7,-1107165918,-1127563664,-1127882992,1032289620)+W(8,-1112028563,-1109339206,1019446368,1026005920)+W(9,1017409120,990246720,-1115169564,1023925320)+W(10,989303425,-1123344268,-1131165168,1004132864)+W(11,1020410832,-1112228144,1029468412,1009015280);WS(1043816952,1056206353); +sum1=W(0,-1132948972,-1115461859,1034684352,1037119642)+W(1,-1107088436,-1144087781,1024900084,-1107172113)+W(2,1038250028,1039626815,-1110088668,-1116127087)+W(3,-1150680698,-1097009915,1061195075,-1095598055)+W(4,-1113187289,-1117712852,1016358425,-1102438229)+W(5,1051576078,1056604231,-1102307882,-1114968828)+W(6,-1160444148,1024199571,-1088975285,1057172865)+W(7,-1103288997,-1134624362,-1115326124,-1148961467)+W(8,1010078034,1029312608,-1122873761,1012385158)+W(9,1019123435,-1130723763,-1107729186,1039764276)+W(10,1032878393,-1114736693,-1120343575,-1144998513)+W(11,1022450003,-1112740858,1034042985,1002559709);sum2=W(0,-1135809827,1031002711,-1136033931,-1114169661)+W(1,-1107967067,1027957130,-1140675011,1009667595)+W(2,1025543601,-1124911966,-1108557845,1004385158)+W(3,-1137384851,-1156373420,-1123691685,1056449903)+W(4,-1096033675,1015282250,-1147988326,1010789683)+W(5,-1105219090,1044469394,-1118550723,-1115586301)+W(6,1019754904,-1122328477,-1118075063,1046754031)+W(7,1020360378,-1120013003,-1172160176,-1135703979)+W(8,-1111692677,1034039333,1005574774,-1130287690)+W(9,1006265798,1016962928,-1131889022,1024901767)+W(10,1025982043,-1127946498,990940844,-1135289651)+W(11,1010975355,-1111731157,1036125487,-1169619760);WS(1049886076,1034318367); +sum1=W(0,-1140544720,1022042959,1021784769,-1131075883)+W(1,-1142660485,-1160888244,1006465467,-1106141033)+W(2,966352080,1032360624,1029412697,-1121174096)+W(3,1025588553,-1104462159,1059646174,-1086897182)+W(4,1042100949,1017231209,-1118154094,-1100197533)+W(5,1051735858,1059041662,-1106256562,-1150715274)+W(6,996302474,1029682164,-1085821075,1057694799)+W(7,-1106530518,1024907260,-1111905052,-1112348667)+W(8,1029991670,1036690656,-1121375714,1015672965)+W(9,-1125961261,-1117824763,-1111853843,1030592201)+W(10,1017125029,-1120397516,-1122979160,-1123002959)+W(11,1031029131,-1155480906,1014936522,-1124207481);sum2=W(0,-1110846605,1032320648,1027180085,1029603693)+W(1,1033577170,-1112673640,-1118194097,1027617785)+W(2,-1144235925,1030911393,-1134544211,-1123614185)+W(3,-1143898437,1000132981,1031570329,-1119293171)+W(4,-1126616369,-1129974305,1019764549,-1102116254)+W(5,1058710858,1058397441,-1096477332,1018853209)+W(6,1008325379,1026769453,1031557517,-1104852463)+W(7,-1103611475,1036639048,999139301,-1131321177)+W(8,-1129394727,-1097515304,-1115701158,1018401637)+W(9,997400075,1008054267,-1131248001,-1123234663)+W(10,-1119810656,1024391909,1024689095,-1118482095)+W(11,-1120094485,-1106708620,-1134741251,1017993989);WS(1058429118,1064863249); +sum1=W(0,1021156518,983001563,1054264097,-1097350840)+W(1,-1175841770,964768362,1024394983,-1115666854)+W(2,1049468028,-1099725362,1024539904,-1149024695)+W(3,1020219616,1039490386,1055450440,-1115114453)+W(4,997016493,1012766063,-1131178666,1046648007)+W(5,-1104196510,-1085827188,1043203980,1022718592)+W(6,1016100640,1017911734,992909240,-1100930382)+W(7,1033767351,-1136266891,1007341951,1043757188)+W(8,-1104186631,-1128095056,-1119513801,1035657141)+W(9,994206685,-1128564932,-1122765517,-1118903024)+W(10,-1131557236,1016423590,964693930,1045299318)+W(11,-1105268364,1023907580,-1106015350,1029236260);sum2=W(0,1005391535,-1106696811,1050575955,-1100156814)+W(1,-1098256564,1028021126,1018096716,-1121907467)+W(2,1051313221,1060662591,1029467086,-1129063320)+W(3,-1135288360,1026226746,1047952814,1068258385)+W(4,-1142136447,-1131820748,-1121648533,1031305614)+W(5,-1081952512,-1074657656,1051661425,1008147176)+W(6,996459166,1032267559,1040750694,-1095314974)+W(7,1035381379,-1168737402,-1130245220,-1111725659)+W(8,1031579134,1036231973,-1107714686,1020424408)+W(9,-1123582348,1028271694,1007524520,1044691450)+W(10,1022647148,-1129848660,1033610651,-1108648643)+W(11,1034169827,1044987108,-1100160947,1024695710);WS(-1083443454,998713176); +sum1=W(0,1032696047,1040709994,1040929033,-1087559501)+W(1,1049786774,-1146095614,1026355790,1040668906)+W(2,1032459486,-1103862520,1037090637,1033091241)+W(3,1024354795,1036398699,1012490030,-1102928053)+W(4,1047072725,1024780023,1034252472,1051748575)+W(5,-1097753826,-1093112676,1050721065,1037512365)+W(6,1012872363,1035129883,-1114537329,-1092883854)+W(7,1039546228,1024615038,1032281789,1044965075)+W(8,-1100635790,-1099081393,1011437457,1037286498)+W(9,1027888345,1031400701,-1103916602,-1104850339)+W(10,1009955155,1036010231,1016830581,1048807512)+W(11,-1098186970,-1112352715,-1114553850,1033653631);sum2=W(0,1035861958,-1098289107,1026686124,-1096172460)+W(1,-1113513064,1019723703,-1161872500,-1119785106)+W(2,1049978705,-1107697817,1027596044,-1121217732)+W(3,-1113290777,1033623622,-1098402027,-1091833397)+W(4,-1098063812,1033198374,-1137177342,1045692473)+W(5,1024040864,1013412750,1031079096,-1107709748)+W(6,1034613598,-1106425659,1053770527,1046082211)+W(7,1012376430,1038124498,-1103597964,-1117971136)+W(8,-1127968019,1057075430,-1095279992,-1112843267)+W(9,1038756242,1019694879,1049090628,1047895771)+W(10,1045163433,-1120386622,-1111249467,-1114046628)+W(11,1052585151,-1102204197,-1100444173,1034273086);WS(-1086369662,-1078015058); +sum1=W(0,1024279387,1042615374,1054091094,-1095346029)+W(1,1050416872,-1113840294,-1100066053,-1106499229)+W(2,-1113085188,-1103658220,-1111759460,-1141254386)+W(3,1039589628,1049518735,1050614757,-1097514477)+W(4,1048966812,1032485602,-1104719791,-1115604002)+W(5,-1103236040,-1100854410,-1122281110,-1113439156)+W(6,-1113174076,-1127523972,1047781504,-1097175852)+W(7,1043919349,-1119980106,-1125885710,1049389829)+W(8,-1108066658,1026529231,1032565272,1039770777)+W(9,-1111149795,-1102519338,1041501469,-1104719494)+W(10,1027138593,-1104628175,1024511623,1042212335)+W(11,1048227542,-1099302313,1036646913,1032389542);sum2=W(0,-1092512531,-1098738343,1063615535,1009177475)+W(1,-1119750726,1030476954,-1093473489,-1088925799)+W(2,1062426368,1026425874,1012050343,-1120184004)+W(3,-1081280020,1042571962,1067242406,998962046)+W(4,1025403720,1031881676,-1076988140,1043337888)+W(5,1066811408,-1096426756,-1129159374,-1116680638)+W(6,-1081342477,1033193400,1066297017,1022780060)+W(7,1023044380,-1135563955,-1086556968,1010020371)+W(8,1060290312,1026166068,-1115355073,1004442726)+W(9,-1107875638,-1102154130,1052028857,1017583668)+W(10,1026819560,946141982,-1121362077,-1126174974)+W(11,1037059936,-1119102823,-1127777686,1034449190);WS(-1129707456,1007685382); +sum1=W(0,-1134894751,-1098519836,1040671079,1044073412)+W(1,-1109530006,-1134057701,1044154267,1030394337)+W(2,1013414869,1041040503,1035376874,1028314315)+W(3,-1111052786,-1107874844,-1103276809,1038778991)+W(4,-1105794628,-1112561176,1038046773,-1118678129)+W(5,-1098881194,-1107344299,-1139987723,992777541)+W(6,-1192544411,-1111301144,-1110522396,1048980909)+W(7,-1108336721,-1112828028,-1128991721,-1115520098)+W(8,-1107120076,1052479600,-1112546431,-1132207293)+W(9,1035051017,1015910765,1033063921,1049200001)+W(10,1023468750,999515194,-1122391156,-1103669035)+W(11,-1111557603,1051478546,1018554845,-1119107128);sum2=W(0,-1137824107,-1110122518,-1137081539,1039063461)+W(1,-1158403413,-1124656554,-1126465818,1033612180)+W(2,-1106894813,1047362418,-1117814890,1023374342)+W(3,1005362547,-1116868027,1045165527,1067526191)+W(4,-1136640937,-1115663214,-1158497445,1039739597)+W(5,-1106604299,1071589227,1044031039,-1148955153)+W(6,-1119770196,1037998233,-1138568822,1061860820)+W(7,-1133800170,-1123862185,1021074352,-1112420682)+W(8,1039276731,-1077533661,1031122886,999718675)+W(9,-1138544392,1025116420,-1104439342,-1073373771)+W(10,-1106196407,-1139157324,1034621027,-1120069279)+W(11,-1113398206,-1094637864,1031315442,1025985948);WS(1033791472,-1138498893); +sum1=W(0,-1143657507,-1102835756,1024249065,1044190455)+W(1,-1107762844,1008291608,1014781903,-1108646231)+W(2,-1130492804,1021681616,-1112711792,-1128240816)+W(3,1029133201,-1108649138,1008218246,-1115040338)+W(4,1019895480,1025256893,1018917100,-1106020223)+W(5,1054388603,1058377694,-1123372431,1014932868)+W(6,998381448,1003669472,-1092207694,1046387590)+W(7,-1111491159,1007448080,1016812674,-1113672010)+W(8,-1132293500,1049136345,-1123523050,1008489644)+W(9,-1118545247,-1114481905,-1112726231,1017676194)+W(10,-1123035739,-1112884042,-1137667330,-1127743919)+W(11,-1119594899,-1119541597,1028355707,1001709096);sum2=W(0,1014470821,-1106657768,1034825132,1006830039)+W(1,-1104684796,-1124459301,-1120344268,-1106292024)+W(2,1032219219,-1101139832,-1114556582,1008940380)+W(3,-1114330800,1049926230,1057813788,-1102461554)+W(4,-1111886229,1029827978,-1106002658,1054743689)+W(5,1049962194,-1103958261,1050373872,-1133852786)+W(6,1024999308,-1112305858,1051810194,-1098680718)+W(7,1035894797,-1109427720,-1126273593,-1122403994)+W(8,996027236,1040205712,-1100520246,1024816377)+W(9,-1127411221,-1116955850,984340447,-1109277736)+W(10,1014102650,-1117160816,-1123975632,1030827431)+W(11,-1114551452,-1111240037,-1106040331,1003623824);WS(1060089726,1074996161); +sum1=W(0,-1117558175,1046443391,-1083103171,1040714346)+W(1,1044503809,1023987857,1029119241,1039893948)+W(2,-1093429938,1021452133,1030628716,1027140771)+W(3,-1141503452,1041448800,-1088988175,1048946821)+W(4,1038933875,1026874120,1010789890,1035829124)+W(5,1032282738,1021975771,1038764813,1026271340)+W(6,1037081758,1041862066,1035486030,1040332065)+W(7,1032949373,1034225415,-1120312844,1028398131)+W(8,-1142682180,-1090323173,1041097413,-1113760891)+W(9,1027150698,1038548631,-1111879740,-1112512014)+W(10,1029165798,1028642719,1021223318,1047369209)+W(11,-1105296983,-1095359061,1046714577,-1134282558);sum2=W(0,-1130708327,-1131662151,1027052068,-1104634511)+W(1,1037500532,-1117309872,-1156760442,-1160974837)+W(2,-1119116140,-1148640061,1028521640,-1132259207)+W(3,1011385503,-1122121264,1006726095,-1101053828)+W(4,1041142688,-1129219511,1005458237,-1104012424)+W(5,1053197196,1050251696,-1121651972,-1148190653)+W(6,1015786967,1025508020,-1150821434,1043632028)+W(7,-1105814552,1005943453,-1121500080,-1106371091)+W(8,1032166230,-1115585403,-1117076340,-1120252400)+W(9,1023017975,1032453110,-1116451706,1032061998)+W(10,-1120517680,1024831312,1008927007,-1107217673)+W(11,-1143126685,1045664978,-1103126409,-1126349911);WS(-1081408895,1057237802); +sum1=W(0,1016592219,1050393725,-1096948620,-1099121222)+W(1,1042338077,1026859007,-1135569700,1025037351)+W(2,1021729271,-1114451665,1033766733,1023688209)+W(3,1019913045,1042967287,-1123436299,-1104931659)+W(4,1036822635,994107237,-1134722237,1042881918)+W(5,-1107250293,-1092679092,1042265522,1017621813)+W(6,1020337237,1033060699,1047123275,-1098053310)+W(7,1043883210,1033354815,1019971573,1038993285)+W(8,1037602588,-1091584672,1042862441,-1147819555)+W(9,1015924209,1028206140,1034435092,-1092984777)+W(10,1029491668,1035642823,1027236154,1041649576)+W(11,1044331459,-1089381821,1042007901,963919445);sum2=W(0,-1127968320,-1092240358,1057542400,1016463192)+W(1,-1094079665,1037438732,1036537032,1030963640)+W(2,-1105653780,-1097383073,1040975890,1019305024)+W(3,-1112917417,-1097473768,1053316325,1038201480)+W(4,-1101066411,1028884816,1020801080,-1109029546)+W(5,1058712288,1052867895,1013027424,1010261952)+W(6,1019615648,-1116583352,1043894648,-1123129572)+W(7,-1118015492,1027371024,-1127208552,1028578068)+W(8,-1093453186,-1141347136,-1117505000,-1113360113)+W(9,1023589392,-1113404853,1034405836,1006791808)+W(10,-1111557726,1034904608,-1121416948,1041090246)+W(11,-1094394128,1037486484,1044943944,-1104647878);WS(-1076745215,1064070508); +sum1=W(0,1019383636,1043437193,-1100863080,1019299111)+W(1,1041928012,1018313975,-1138649581,1030286820)+W(2,1033675388,1027453406,1031909515,-1136380470)+W(3,1029667879,1040316179,-1102225484,-1110289513)+W(4,1043406276,1026991539,-1127653591,1048543741)+W(5,-1084687593,-1082029409,1044625233,-1136351578)+W(6,1027426151,1029763954,-1111626052,983973284)+W(7,1044339921,1027257018,1022926189,1039947283)+W(8,1026499316,1031954367,1039879984,1022902273)+W(9,1004012708,1025479577,-1122995300,-1118301831)+W(10,1022733729,1026798858,1016119660,1041368223)+W(11,1026134601,1016553765,1012331970,1027440187);sum2=W(0,-1131696089,1012459087,-1112347233,1039451269)+W(1,-1158657302,-1129595249,1008718823,-1135045027)+W(2,-1125420309,-1110618065,1007247903,999949222)+W(3,-1149188438,-1118135053,1041969824,1024383435)+W(4,1015365577,-1130814181,-1140198251,1033739972)+W(5,1052325325,1052741682,1034080133,-1140370763)+W(6,-1129603953,-1142742214,1029891118,-1121721953)+W(7,-1110453303,1020979581,1007479839,1015462815)+W(8,-1120072309,-1095903036,-1162307222,-1132990667)+W(9,-1141563590,-1126906553,1017890385,-1105015368)+W(10,-1122346803,1008938691,1018622169,-1135479163)+W(11,1016803437,-1098230278,1021342643,-1137891195);WS(-1094563452,1051169575); +sum1=W(0,-1154622990,1018130713,1040428881,-1120902330)+W(1,-1113835211,1019319877,1029393378,1035203109)+W(2,1032896399,1039535746,1021002107,1036762426)+W(3,-1117775501,-1113234793,1049040808,-1102863965)+W(4,-1107942972,-1135300966,1033996553,-1106127031)+W(5,-1112183035,-1090463816,-1105904891,1040237135)+W(6,-1136342582,-1114335628,1048012112,961094679)+W(7,-1148767576,1032716400,1018491963,-1112874623)+W(8,1044702279,-1098092733,-1124337998,-1137189022)+W(9,1032030382,1023872671,1032915973,1033184663)+W(10,1006151100,1037223880,1015760954,-1110067034)+W(11,1035998904,1029109433,-1110631596,1013167238);sum2=W(0,1028413027,-1121092135,1017337743,-1137632446)+W(1,999930971,1027578971,-1120070369,-1130520759)+W(2,1037177446,-1104029390,1033133092,-1114678191)+W(3,1012563150,-1120753460,-1106734706,1048794348)+W(4,-1111694827,1030530567,-1111535757,-1097640928)+W(5,1051800696,1050145982,1041394994,-1119592910)+W(6,1011962278,-1098008778,1035782812,-1114477541)+W(7,-1118971109,1001961835,1009477102,999766235)+W(8,-1106510696,1047938812,-1127041263,1024176823)+W(9,-1153318262,-1122757360,1010623246,-1111017918)+W(10,1020162151,-1115486877,974823129,-1129371381)+W(11,1028214977,-1123769252,-1124747017,1007999422);WS(1057759166,-1088449289); +sum1=W(0,-1129635066,1044873994,-1087389198,-1116302487)+W(1,1048786726,1017011581,1025446574,1037627635)+W(2,-1097118359,1022204225,1039292653,1021371937)+W(3,-1144519245,1041685209,-1089578865,1022125102)+W(4,1045860709,1025212662,1017539549,1033910011)+W(5,-1129568803,-1105345911,1045748274,1031878029)+W(6,1026395242,1039651930,1010566389,-1122366800)+W(7,1027479143,1013486066,-1122678010,1035038013)+W(8,1030050103,-1097803608,1033498658,1007580942)+W(9,1025431320,1039320958,-1110122707,-1119554634)+W(10,-1161253492,1028360045,1024557433,1038868536)+W(11,-1112614790,-1126568107,1010965710,1015223035);sum2=W(0,-1162281894,1033992046,1042856153,1038465062)+W(1,-1093956780,1024284423,-1124547002,-1149048922)+W(2,1036788056,1046094595,-1100316514,1035682376)+W(3,-1150111187,988741862,-1112557119,1060179844)+W(4,-1090501223,-1122577303,-1135956229,-1132541637)+W(5,-1097406101,1049669935,1022378118,-1113139255)+W(6,-1145634890,-1132011310,-1121853795,-1101657128)+W(7,1045140163,-1130855582,965409433,1024739191)+W(8,-1104384368,1042681611,-1121116299,-1118824057)+W(9,-1123274137,1008671821,1032013500,-1111116605)+W(10,1035479824,1006161754,1024679583,-1129294934)+W(11,-1147059498,1027020519,-1131272734,-1124922046);WS(-1086987838,-1100233980); +sum1=W(0,1015308459,1041765192,-1105415847,1042444900)+W(1,-1111075669,1003799483,-1122325985,1028094431)+W(2,-1114108890,1041449686,-1106140165,1034767973)+W(3,-1116672610,1042485054,-1092596043,1049087917)+W(4,-1110170951,-1144225139,1032904116,-1118546351)+W(5,1046690691,-1128556841,1034284768,1033288361)+W(6,-1141168915,-1118052589,1054244345,-1089307961)+W(7,1026589088,1010481109,1033123257,-1116818498)+W(8,1049735534,-1094503991,1030527932,-1121578684)+W(9,1001375875,992241989,1040724504,-1104029377)+W(10,1008796465,1030765989,1015833828,1015146386)+W(11,1041637233,-1100869156,-1123717612,-1124977133);sum2=W(0,-1128145157,-1100557855,1057648426,1048654145)+W(1,-1122215769,-1133425768,1026284201,-1106810438)+W(2,1054522141,1057115188,-1103409060,1017140792)+W(3,1012811840,1042787919,-1098531848,1046636853)+W(4,1046426252,-1118227807,-1136599052,1044596046)+W(5,-1073275189,-1074262745,1035358469,-1143532160)+W(6,992541697,1038174685,1061008073,1044984510)+W(7,1036107748,1016191398,1011005728,-1104618112)+W(8,1059653331,1060082709,-1104639697,981079778)+W(9,-1127430370,-1166127490,1035655860,1034192337)+W(10,-1130597644,1006837720,995789721,-1116633305)+W(11,1017274260,1033697834,-1112828961,1021901152);WS(-1092446204,989212831); +sum1=W(0,1007124942,1048125124,-1138101793,-1141178857)+W(1,-1102978326,1034583667,-1116778591,-1131432602)+W(2,-1106585464,1019782926,-1115311760,1015089582)+W(3,1027403088,1042237585,1016240146,1036610823)+W(4,-1110971902,1027127900,-1121715541,-1138060917)+W(5,1037962972,-1101006449,-1114322839,1008360193)+W(6,1019921952,1027977243,1053191424,-1094792341)+W(7,1031189102,1028625507,1020332096,-1126238792)+W(8,1053622732,-1089064867,-1137835047,1017386452)+W(9,-1139218425,-1131884420,1043276755,-1101892348)+W(10,-1132849129,1009465805,1020381759,1024321015)+W(11,1049124886,-1107274751,-1110951117,1008208785);sum2=W(0,-1120159352,-1088595541,1060560783,1061831343)+W(1,-1089452071,-1101640393,-1125980662,1050146519)+W(2,-1093128727,-1098317152,1042347964,1038452583)+W(3,-1131578305,-1090859444,1057304640,1057012981)+W(4,-1095995319,-1105624394,1028063854,-1107336769)+W(5,1071289406,1069689231,-1096815763,1041229675)+W(6,1021975879,-1105868965,-1087527230,-1097221007)+W(7,-1104502319,1037791301,1033612769,1041431951)+W(8,-1086794372,-1086042421,1049524493,-1143180172)+W(9,-1119579693,-1112749441,982969010,1033122226)+W(10,-1104150062,1029453052,1040487308,1042279365)+W(11,-1089785065,-1088997285,-1135764460,1049121852);WS(-1080642303,1037515653); +sum1=W(0,1014399585,-1123461796,-1115821917,1037702505)+W(1,-1105260875,-1134503912,1040389217,1009459592)+W(2,-1138501592,1046330151,-1113097082,1032999462)+W(3,1025436037,-1118449912,1046808963,-1088063230)+W(4,-1166545913,1011659972,1035628117,-1111999897)+W(5,1046961203,1048171302,-1112931778,1033647146)+W(6,1032176658,1042449564,-1085801589,1046621083)+W(7,-1116953058,1020514160,1019714410,-1098862637)+W(8,1042823052,1033619294,-1108126015,1023868127)+W(9,1031481267,1015874414,1032561937,1017602698)+W(10,1033606503,1030447848,-1129425897,-1108656118)+W(11,1022709518,-1172911161,-1161936349,1015791986);sum2=W(0,-1139497271,-1104932637,1000924601,1034980171)+W(1,-1102656208,-1154378706,1025910769,1043978669)+W(2,-1116100213,1042493673,1038409695,1025837919)+W(3,-1105297083,-1105480129,-1102785010,1044002411)+W(4,-1098474508,-1109802618,1037339247,1037617885)+W(5,1049988969,1050036780,-1122964745,1036616991)+W(6,-1111547600,-1107402541,1045831134,1039942071)+W(7,-1106907325,-1132149525,-1123186639,-1105522985)+W(8,1040977948,-1097804729,1028039731,-1111839940)+W(9,1029488041,1011577705,1036894407,1042714488)+W(10,-1112976714,1040500443,-1137152287,-1102258444)+W(11,1025599417,-1139888185,-1112698813,-1114191023);WS(1060124606,-1084472548); +sum1=W(0,1012638700,-1112711971,1024524352,1032623962)+W(1,-1115629480,1027484509,-1131934189,1021193865)+W(2,1017460401,-1117271615,1023262959,-1157409515)+W(3,-1129347279,-1125331574,-1113956442,1049120342)+W(4,-1108495481,1010910287,-1138043955,1048955067)+W(5,-1094951982,1015143283,1031640934,1021584239)+W(6,1007380511,-1106488069,1048203795,-1110142007)+W(7,-1129214986,-1144904917,1022374575,-1115361884)+W(8,1005249701,1024310560,-1136673413,1017598403)+W(9,996895579,-1120058426,1026650437,-1121731240)+W(10,1017029987,-1145343061,992489843,-1118477310)+W(11,-1129456851,1036683482,-1115998674,1014521967);sum2=W(0,-1113301049,1041723134,-1119425470,1012563935)+W(1,1013366251,-1135264199,-1129519836,1018887182)+W(2,-1123219625,1021107126,-1131491053,1017265018)+W(3,-1113144608,1065721494,-1082046556,1032971141)+W(4,-1132479565,-1135106943,-1114997262,1081282167)+W(5,-1068115046,-1092304788,1028331651,927030725)+W(6,1028189537,1053752802,-1091841582,-1120681827)+W(7,1021570574,983594844,-1144798799,1004635839)+W(8,-1126716683,1026059029,-1132445755,-1137356791)+W(9,-1135227415,1024321495,-1149813598,992723582)+W(10,1010781703,959859164,-1123606042,1032429021)+W(11,-1137534547,-1121765421,1024141029,-1123588459);WS(1064307390,997943845); +sum1=W(0,1016504192,-1110031838,-1108555962,1047561626)+W(1,-1114174882,1004953741,1004931163,-1124632947)+W(2,-1129767067,1003984285,1017992857,1018940039)+W(3,1001468389,-1106796660,-1106350773,1053522405)+W(4,-1106382906,1000370245,-1125536771,-1132488742)+W(5,-1097456765,1050670238,-1136221548,1015934681)+W(6,1024701821,-1111862756,1040312105,-1128004006)+W(7,-1123896954,1011062590,-1157300426,-1111316170)+W(8,-1110123941,1039422954,1020844396,-1128259885)+W(9,1008115882,-1153319146,1030600762,1005773541)+W(10,1015300557,-1153739770,1014991280,-1116314499)+W(11,-1109063375,1042190650,1024320647,-1130969505);sum2=W(0,1036505224,-1100095598,1039944480,-1110028565)+W(1,1016119595,1017378303,1018720963,-1119632397)+W(2,1033659023,1025734363,1015545311,-1126149289)+W(3,1037554666,-1082101932,1064933062,-1103479495)+W(4,1036578506,1022196513,1035136259,-1072130218)+W(5,1074634461,1012777017,1036162128,-1118704038)+W(6,-1131720942,-1090292986,1057038142,-1132873326)+W(7,-1120419990,1020047721,1012123245,-1114842502)+W(8,1046242606,-1117820012,-1115011900,1033886326)+W(9,1027168757,-1108983905,1018437263,-1117294599)+W(10,1004277346,-1136709697,1024471767,-1105383800)+W(11,1041395450,1033191694,-1113427773,1024978781);WS(1053812476,-1113586226); +sum1=W(0,-1130399840,-1111011390,1007197394,1037708373)+W(1,-1122978308,-1139049030,1028349447,-1120416825)+W(2,-1105796643,1044272829,-1110423782,-1125249991)+W(3,1021963321,-1107941440,1056809437,-1093131829)+W(4,-1122097703,1011721762,-1121520129,-1106086226)+W(5,1046348585,1057081835,-1099751719,-1114497366)+W(6,1020769785,-1129958415,-1090756230,1059679544)+W(7,-1102044582,1018253471,-1115853964,-1107644952)+W(8,1050300257,-1119895572,-1111488955,1022041005)+W(9,1021860117,-1122155502,-1116443513,1040260199)+W(10,1019054925,-1121197023,-1121122124,-1114352785)+W(11,1041113720,-1110926804,-1156322407,-1135672898);sum2=W(0,1015672618,1010541588,-1115998566,1020421847)+W(1,-1129704409,1015113530,-1121994623,1032866568)+W(2,1011616452,-1095022641,1020628925,1017019595)+W(3,-1149412980,1044676778,-1107438884,-1097106911)+W(4,-1112769863,1022483811,-1127744422,-1124040172)+W(5,1058620442,1015017230,-1113422252,1015061518)+W(6,990134373,-1102290659,1049322309,-1104275347)+W(7,1039268635,-1114030797,1024671460,1029499881)+W(8,-1104592911,1045525693,1026741584,-1136765715)+W(9,-1132259460,-1120084193,1035840939,-1119993661)+W(10,999745387,-1131682952,-1125579600,1001699435)+W(11,-1123886068,1037165892,-1126762930,-1134246014);WS(1059863230,-1098226968); +sum1=W(0,-1111154474,-1130042625,-1124092147,-1126659421)+W(1,-1116454602,-1109234699,1033627108,1044463840)+W(2,-1125693093,1045974478,1040744732,1026252457)+W(3,-1111220881,-1098768819,1043860042,1040108899)+W(4,-1149847241,-1103478147,1018934285,1036585799)+W(5,-1094381437,-1098844542,1043775752,-1107008620)+W(6,-1156119577,1041677635,1034781361,1051479065)+W(7,1046003792,-1127254569,-1108034825,-1100472134)+W(8,1038465479,-1096809363,-1121805723,-1105262391)+W(9,1035708952,1038444026,1027036095,1040658808)+W(10,1037992790,1038964162,-1116166225,-1111999396)+W(11,1019243847,1003830125,-1131289879,-1116821910);sum2=W(0,1031860762,1008804487,1036033743,-1130814575)+W(1,-1114717025,1042429978,-1114215534,-1119320351)+W(2,-1105317049,-1126605754,-1103884858,1019583714)+W(3,1037917300,1028769566,1033869945,1029943513)+W(4,-1097519272,1050527129,-1123072391,-1145928741)+W(5,-1104666827,1058632863,-1084821476,1057878257)+W(6,-1121765219,-1118791492,-1103277106,1010033985)+W(7,-1091781337,1047090522,1036233577,1035112755)+W(8,1043081028,1033184724,-1108906997,1050006554)+W(9,-1113082189,-1119166399,-1110309063,-1124066564)+W(10,-1105454190,-1116436299,1007761049,1034891236)+W(11,1003334201,-1146667244,-1124982586,1037673833);WS(1053829756,-1108691549); +sum1=W(0,1014621415,1034972923,-1105089900,-1121242915)+W(1,1024842558,-1125107735,-1117035633,1031518451)+W(2,-1146432572,1011744694,-1195363583,1024600093)+W(3,1017668333,1028891034,-1111069516,-1099260407)+W(4,1035963185,-1111257697,-1121088251,1043029617)+W(5,1052288956,-1096216885,1043236853,1022444749)+W(6,-1113943163,1037608353,1043183409,-1109446679)+W(7,-1104376301,1008767270,1027915142,-1118505878)+W(8,1040529537,1033001703,-1110826184,983774736)+W(9,-1117882340,1008280866,-1127832039,1023717270)+W(10,-1108863440,1021787123,1018110476,-1114328254)+W(11,1025673432,1038283409,-1136644866,-1122279626);sum2=W(0,1011466728,-1153535168,-1121363658,-1113493290)+W(1,1016979229,-1121975877,-1128158188,-1133074596)+W(2,-1108077390,1031842286,-1114077565,1032726750)+W(3,993685376,-1111924694,1048370655,-1096696142)+W(4,1032702600,-1126878203,1021341187,1041916532)+W(5,-1088803436,-1097359431,1051606360,1020447303)+W(6,-1125064327,-1115375045,1050909934,1066069354)+W(7,-1108957150,-1115472084,1016637363,-1111577830)+W(8,1048268187,-1102058354,-1106393780,1011253904)+W(9,-1135616946,-1121861231,1028734454,-1112810542)+W(10,-1104652034,1032484333,-1142265296,-1139232914)+W(11,1033829714,-1108918948,-1124153420,-1135690267);WS(1043379192,-1131322837); +sum1=W(0,-1129021027,-1109595831,1033800339,1042153991)+W(1,-1099711038,1026187331,-1148980502,-1141769560)+W(2,1040943040,1016895818,1029537886,1023917269)+W(3,-1117253390,-1131540259,-1099641090,1040857522)+W(4,-1104535414,999787984,1015261926,1038059198)+W(5,1019360940,-1103092216,1032384358,-1137467256)+W(6,1024719214,1043151230,1047704456,-1091529984)+W(7,1043292971,1021851650,-1130947836,1040366611)+W(8,-1120007803,-1100986498,1031568104,-1117455240)+W(9,974083843,1036650848,1032688054,-1116706574)+W(10,1019020464,1021119266,1010796022,1032003186)+W(11,-1135300928,-1114490317,1026900536,-1124200964);sum2=W(0,-1127801857,1028175283,-1129802997,-1133354170)+W(1,-1129332011,1029358411,-1143073539,1010285366)+W(2,1022418743,-1111757330,1032847739,-1119713292)+W(3,-1106914355,1045024365,-1109183829,1035388549)+W(4,1028119663,984677997,-1114698807,-1107796176)+W(5,1055188047,-1099199714,1027769667,-1126683209)+W(6,-1129241721,-1093181393,1060464193,-1108056884)+W(7,1015260775,-1117802232,1034854605,-1094857339)+W(8,1038631095,1042537531,-1123722407,1025618013)+W(9,1015357631,-1104001534,1035894131,1019867695)+W(10,1021694327,-1116557581,1026781991,-1106206681)+W(11,-1121422795,1010545294,-1120402439,1021478623);WS(1049844732,-1121310639); +sum1=W(0,1023733410,1044402267,1053233309,-1096212219)+W(1,1051767783,-1114613442,-1099209689,-1106734859)+W(2,-1108848000,-1103164857,-1109302031,-1129199659)+W(3,1040893204,1050332331,1049912979,-1099336615)+W(4,1050917291,1033787229,-1102957277,-1111686974)+W(5,-1098618899,-1097562740,-1121562509,-1111886543)+W(6,-1114244983,-1122456058,1048539349,-1096335583)+W(7,1042792075,-1121890370,-1136674298,1049981942)+W(8,-1111429758,1033031043,1039550692,1041151474)+W(9,-1108461358,-1102278760,1039273110,-1102589972)+W(10,1008842338,-1104020956,1021220348,1043895987)+W(11,1048170180,-1101337719,1041281742,1031699907);sum2=W(0,1051830333,1040398919,-1088812275,-1112895824)+W(1,1030823820,-1120174945,1052363768,1056364330)+W(2,-1088095023,-1128031249,-1126124865,1022839272)+W(3,1062286287,-1105094784,-1083945825,-1110939052)+W(4,-1131257287,-1113476028,1068323273,-1117763636)+W(5,-1086712736,-1122350162,1034881723,1031923437)+W(6,1062941652,-1117097644,-1085128967,-1107088013)+W(7,993374262,-1149114843,1058036233,-1135317262)+W(8,-1090471655,-1117471490,1022005418,-1131972943)+W(9,1038399576,1045469136,-1096613184,-1128774604)+W(10,-1124473506,1015689530,1029358050,-1127713443)+W(11,-1118175248,1023889083,1006015479,-1114795832);WS(997080576,-1130763300); +sum1=W(0,-1113905570,-1121320815,1038521748,1025325853)+W(1,-1108459484,-1123369669,1030153879,-1108108727)+W(2,1032364321,-1131460303,-1152289285,-1111143084)+W(3,-1117230256,-1100762033,1051702873,1040312882)+W(4,-1099800679,1018134009,-1152616277,-1090117932)+W(5,1069923213,1063008042,-1092045374,-1116551136)+W(6,-1146808706,-1109500574,-1104049339,1056019095)+W(7,-1100849447,1015899783,-1112646432,-1102311764)+W(8,1028696893,-1115439812,-1105934578,-1120248394)+W(9,-1186209359,-1119610882,-1120830317,-1125581089)+W(10,1028735898,-1113190874,-1120216576,-1099135446)+W(11,1030578386,-1116447004,-1108771165,-1120342084);sum2=W(0,-1130955153,1025142055,1025405091,1041203911)+W(1,1034798579,-1107186683,-1115062100,1033634795)+W(2,-1124058081,-1151569099,-1098708869,1041850582)+W(3,-1114768924,-1114031272,1047530952,-1160505239)+W(4,1048498835,-1097808347,1040485485,-1115074190)+W(5,-1104495565,1065129660,-1095909934,1045395705)+W(6,-1102247365,-1110799922,1038913214,-1115442088)+W(7,-1105078519,-1106337339,1040365390,1039570131)+W(8,-1102056033,1037120419,1024518769,1007217475)+W(9,-1105380703,-1112489130,-1123724877,-1145632358)+W(10,-1109649658,-1152795787,-1134789779,1035629875)+W(11,-1104428707,1035843769,-1117935125,-1124566009);WS(-1078383103,1059446981); +sum1=W(0,-1139864362,-1142609202,-1105667544,1048881003)+W(1,-1110989208,1019807480,1022304576,1008862865)+W(2,-1100327790,1047898440,1029966423,-1128249884)+W(3,-1117916615,-1109139429,-1098424968,1053051896)+W(4,1023833874,-1114518074,1007335089,1032501274)+W(5,-1089810345,-1104044598,1040575921,1013296733)+W(6,-1119884647,982044231,1033240873,1051763270)+W(7,-1114053146,-1110353213,1022280942,-1115332063)+W(8,1049118183,-1113330784,1041606896,-1126749570)+W(9,1023668405,991223187,-1140016273,1027424455)+W(10,-1122699729,1021514772,1034312731,-1102309771)+W(11,-1110413061,1032557738,1041157596,-1121516731);sum2=W(0,-1143648694,1050457027,-1090901428,-1095258955)+W(1,1047388223,1034828442,1022767513,-1104882348)+W(2,1017677825,-1116653154,-1125154789,-1149114774)+W(3,963325627,1052893834,-1090554669,1030383529)+W(4,-1114292033,1040557770,-1138915747,-1122824043)+W(5,1048412513,1063122641,-1118207917,1005930742)+W(6,1040530304,1019582897,-1101863176,-1089352859)+W(7,1048190601,980397999,1031585165,-1094902239)+W(8,-1104950416,1057380402,-1102824630,1033506230)+W(9,1008260859,-1113748748,-1120605391,-1106433792)+W(10,1038107916,-1115355457,-1120690652,-1090635807)+W(11,1056780417,1049388154,-1104842210,-1136517107);WS(-1104952056,-1073278929); +sum1=W(0,-1144211169,-1099507218,1047627264,1043300637)+W(1,-1098196346,1030331294,1031125659,-1116651974)+W(2,-1113308557,1037274304,-1126577137,-1122667056)+W(3,-1121100585,-1101060075,1054491321,-1102367022)+W(4,-1102852173,1026346581,-1142367854,-1105066053)+W(5,1039149624,1051689271,-1106731162,-1120693369)+W(6,1025675017,-1131576359,-1106626380,1044811828)+W(7,-1111689619,1018492983,-1114298540,-1114707952)+W(8,1042584197,-1128472513,-1126957444,-1140414731)+W(9,1036563163,-1120605819,-1128818827,1045578618)+W(10,992521004,-1128018583,-1122834968,-1111900952)+W(11,1039018645,-1115669626,1025441875,997033420);sum2=W(0,-1117577133,1036324905,1012676607,-1164734594)+W(1,1039853902,-1110394349,-1139616023,-1124977156)+W(2,-1115101040,1032695755,-1116113854,1006188424)+W(3,997820975,-1120808104,1041273688,1041759226)+W(4,1041255405,-1120661488,1028627780,-1109376562)+W(5,1049990275,-1096754642,-1106762918,1033535767)+W(6,-1114909048,1029259135,1043064430,1041324783)+W(7,-1111929038,1021759445,1032747040,-1145526876)+W(8,1039154681,-1094055114,1025837595,1023476809)+W(9,-1116006677,1022442689,1027909669,-1098711698)+W(10,-1130147608,-1133986843,1030832637,983753970)+W(11,-1115224952,1023440264,-1112181665,1029342490);WS(1057403966,-1096678293); +sum1=W(0,1015545167,-1133819725,1037006758,-1110196161)+W(1,-1111752718,1028708905,1013920108,-1127594402)+W(2,-1136130453,-1123399563,1041684833,-1119121787)+W(3,1030182836,1031500952,1042283546,-1086200264)+W(4,1047364560,-1120221088,991347091,-1107540753)+W(5,1040431359,1060132444,-1104881213,1006406689)+W(6,1031028372,1042502792,-1084295706,1049379651)+W(7,-1113607001,1002061113,-1130110920,-1120427420)+W(8,1042737160,1001749345,-1117219726,1026883950)+W(9,-1137745417,1023814022,1019878434,1023472436)+W(10,1017968636,-1124476270,-1127755335,-1113612941)+W(11,1042334622,-1123659840,1008021369,1011156129);sum2=W(0,-1178786588,-1129322914,-1116170217,1036181740)+W(1,1016863918,-1132924585,1027650789,-1117835702)+W(2,-1106357388,1050236879,-1107702296,-1127926494)+W(3,1004569898,-1120140062,1012300621,1029537087)+W(4,-1115347042,1007741857,1010647389,-1110565129)+W(5,1051050908,-1121260831,1019718506,-1147888890)+W(6,-1130907066,1046200355,-1094299123,-1105419536)+W(7,1018471790,-1122466004,-1128412421,1035331810)+W(8,1038925264,-1104188032,1035623426,-1132432621)+W(9,1000455394,1040609034,-1110352470,-1148832482)+W(10,1031812039,-1132484471,1019136642,-1114775527)+W(11,1028674911,1009994365,-1129304944,-1146317634);WS(1056335484,-1129697442); +sum1=W(0,-1118615510,1026825265,-1102686619,1045269336)+W(1,1031523962,-1140818205,-1123816285,-1162479083)+W(2,-1175208362,-1122870505,1025178018,-1112741005)+W(3,1016357093,-1123245334,-1112742573,1056143939)+W(4,-1115481871,1004860403,-1126548591,-1115166368)+W(5,1012633705,1022501065,-1098786498,-1121817826)+W(6,1017679973,993334229,1048503365,1044007618)+W(7,-1107348056,-1134864917,-1125007109,1009460392)+W(8,-1110640192,1043433395,-1104721331,-1142571619)+W(9,-1130509569,-1117686884,1010107581,1037226473)+W(10,-1124234681,-1120701013,-1127256452,-1110259820)+W(11,1008538193,1040188728,-1112073470,1004599859);sum2=W(0,-1140731697,-1126783010,1035005186,-1110815467)+W(1,-1144657885,-1127206230,1018164054,-1144859189)+W(2,1011714049,1039236492,-1130754383,-1146205013)+W(3,-1116322329,-1148034885,-1112384840,-1109778149)+W(4,-1113329105,-1113225660,1033668632,-1111621890)+W(5,1057652336,1053123628,-1107649638,1012470213)+W(6,-1110091010,1034430751,-1103655808,-1113563636)+W(7,-1112793157,-1113811608,1006827755,-1133278289)+W(8,1035575897,1009902097,-1136830370,-1126431906)+W(9,1024608202,-1134565598,1007536733,1031837967)+W(10,-1131576514,1007646275,978878091,-1106732021)+W(11,1017810394,1032913014,-1118754368,-1123083034);WS(1064654654,1035088379); +sum1=W(0,-1123150274,-1101065371,1052021669,1034671630)+W(1,-1103122974,-1124628232,1013730923,-1104968795)+W(2,1043838624,-1116995686,1025043295,-1123853974)+W(3,-1124984926,-1104298005,1050953841,-1125221929)+W(4,-1102292982,-1122875259,-1143080352,-1097917367)+W(5,1053857683,1053311748,-1101557747,-1129945790)+W(6,-1115541655,-1115560637,-1098028717,1054064059)+W(7,-1102206963,-1115475969,-1120446591,-1112072243)+W(8,-1118042236,1056948345,-1099829586,1010096420)+W(9,1019709882,-1121553409,-1117850604,1047317764)+W(10,-1123986585,-1120157778,-1123168830,-1101025669)+W(11,1024509393,1051915779,-1105952782,1010117900);sum2=W(0,-1115290116,-1109338596,1052546267,-1101682429)+W(1,-1106866549,1027635895,1036300391,-1120873277)+W(2,1031940424,1045633640,-1121551223,1021591180)+W(3,-1109664288,-1133763869,1041363997,-1094977574)+W(4,1008614181,-1119215823,1023887773,-1110763968)+W(5,1046589307,1050150667,-1110488084,1009099129)+W(6,1031338337,-1104363651,1038758869,-1104681827)+W(7,-1120223295,1016354897,-1112746552,-1111086518)+W(8,1026186944,-1121584221,1035823152,-1115537942)+W(9,1029647363,1014654409,1011886363,1042076972)+W(10,-1111033402,1012736237,-1123357025,-1113327782)+W(11,-1114411312,1033926660,1046305164,-1109553196);WS(-1088190206,-1108558078); +sum1=W(0,-1109712467,1048826552,-1117596347,1045129740)+W(1,-1145103958,1040739958,1034096473,-1100191472)+W(2,-1104233509,1021528052,1015098342,-1095362037)+W(3,-1111610193,1051587686,-1112703594,-1123092480)+W(4,1033306871,1043699492,-1111503908,-1114238856)+W(5,-1118548075,1045282957,-1105600408,-1112734841)+W(6,1029528067,-1124911644,-1094857227,1041941490)+W(7,-1116887040,-1106244021,-1109918121,1053388852)+W(8,1040678692,-1121835291,1043572363,1044475255)+W(9,-1130336610,-1101598429,-1102065648,1050563972)+W(10,-1101594283,-1100499697,-1110290409,1049826386)+W(11,-1108498290,1032628503,1041251987,1015959598);sum2=W(0,-1140036524,1033121292,1020537037,-1094559771)+W(1,1042598592,1048560917,-1122134368,-1135675176)+W(2,-1102563608,-1090683436,1049536131,1043095342)+W(3,-1124742331,1022385651,1017232470,-1089829937)+W(4,1015761873,1060516603,1023368729,1037868584)+W(5,-1097085277,-1081905013,-1122385293,1068776853)+W(6,1025643512,-1113410705,1026038978,-1085580324)+W(7,-1119606047,1062905414,-1117935205,1034815986)+W(8,-1107749524,-1093433405,1034046493,1053234619)+W(9,1029315286,-1106876578,-1116418603,-1100509010)+W(10,1037794408,1023262329,-1121900993,1029051910)+W(11,1013163432,-1107168757,1020109569,1038509970);WS(1048802172,-1118644607); +sum1=W(0,1022629891,-1112271863,-1115934246,-1112205646)+W(1,1050188943,-1125264263,1001330921,1008285357)+W(2,1007889405,-1137992085,1025826270,-1127716075)+W(3,-1147098739,-1106982824,-1110669107,1044651974)+W(4,1026008921,-1113499645,1023807923,1020475895)+W(5,-1095657203,1050363724,1011316531,1026946398)+W(6,-1129374813,958183765,-1113474437,1050921091)+W(7,-1106529387,-1121270209,1028532286,1025640422)+W(8,-1090481180,1050665633,-1131537104,1021652689)+W(9,1031375324,-1133565569,-1104303995,1037811271)+W(10,-1125009457,1014192325,-1151549405,-1106868493)+W(11,-1104624276,1049383075,1022847857,-1142930963);sum2=W(0,1016559128,-1089262209,1053795811,1058569170)+W(1,-1094475155,1008650912,-1119933527,1032931419)+W(2,-1108360154,-1097574423,1036603460,-1121755244)+W(3,1008526536,-1094914643,1052999976,1052760357)+W(4,-1106271635,1039081818,1034816070,-1096197918)+W(5,1069558608,1058007152,1022028102,1004102711)+W(6,1018959568,-1101210129,-1103281588,-1106340652)+W(7,-1121182797,1033515588,1026554777,1049415798)+W(8,-1085501184,-1101474305,1027756295,1032461240)+W(9,-1112891495,-1128790619,-1098019814,-1114646508)+W(10,-1124734105,-1118822413,1046177388,1043157162)+W(11,-1088254262,-1096632714,1015426864,1043397723);WS(-1085648446,-1079079370); +sum1=W(0,1031831473,1036117159,1049939273,-1094329359)+W(1,1040633606,1023486628,-1114079994,1003975776)+W(2,1042007752,-1097850009,-1134555900,1019647980)+W(3,1031367567,1044164867,1043312672,-1089391360)+W(4,1041283678,1023951387,-1118896788,1045647319)+W(5,-1095211959,-1087218668,1044809099,1014099708)+W(6,-1123680847,1033826253,-1122554975,-1100203021)+W(7,1046447947,1017251780,1033718927,1041970952)+W(8,-1116359196,1033960979,1042238738,1031788713)+W(9,-1123944253,1024952417,-1176880640,-1108529239)+W(10,1024390649,-1146375056,1033541103,1040029267)+W(11,1026974961,-1111794397,996515216,1033511473);sum2=W(0,1019169584,1042983019,-1098354632,-1099987280)+W(1,1048978343,-1118546716,-1120973142,1009997472)+W(2,-1106283039,1032814660,-1103033329,1022934360)+W(3,1033125970,-1103915398,1033722376,-1095179878)+W(4,1055664562,-1110281795,1025364316,1036688212)+W(5,1062322516,1032770062,-1097173506,1045599869)+W(6,-1109812797,-1125420780,-1098634798,-1109050948)+W(7,-1103688168,-1119010038,1040314133,-1119986230)+W(8,1057333054,-1097734639,-1173745415,1038965178)+W(9,-1108282977,1034277286,-1102308141,1034195486)+W(10,-1107997912,1007528912,1018923536,-1117630132)+W(11,-1125368820,1049154263,-1098308929,1035253180);WS(-1089355774,-1078290086); +sum1=W(0,-1122950775,1037182841,-1118638572,-1121667553)+W(1,1009124079,-1115334660,-1112691207,-1124344033)+W(2,1041047393,-1104403323,-1138062223,-1126199861)+W(3,1023290087,1046400294,-1098349922,-1099164822)+W(4,1044398104,-1136525567,-1107733500,-1118583361)+W(5,1057481334,1054069421,-1149431076,-1110719762)+W(6,-1146188190,1042531744,-1139289650,-1097191323)+W(7,1044515332,1015659149,-1132821263,-1121639475)+W(8,-1109625472,1041114291,-1120573261,-1121643278)+W(9,-1112282369,-1137408791,1026873009,-1120861012)+W(10,-1120947806,-1122889719,-1116356099,1018516820)+W(11,-1139389015,-1139200383,1017011067,-1120569352);sum2=W(0,-1120919296,-1124567280,1037030993,-1120629799)+W(1,-1106639281,1020211370,1009843654,-1107129213)+W(2,1043380414,-1102119519,1030878171,-1126825280)+W(3,-1132368064,1020831927,-1109288357,-1112537154)+W(4,-1118412551,-1144175329,1020138111,-1098918731)+W(5,1059483198,1064361176,-1093377806,-1146281491)+W(6,1029564211,-1132836513,-1119273466,-1104145236)+W(7,-1123848756,-1135251423,-1115205032,1010227332)+W(8,-1106893419,1043150197,-1103899854,1028327527)+W(9,1016741875,-1118685376,1028452918,-1117770026)+W(10,1024207514,-1128215590,-1119663171,1026001154)+W(11,-1135273053,1019055438,-1109882780,1024565629);WS(1064975294,1066308158); +sum1=W(0,1031747776,-1119071204,984462229,-1132055971)+W(1,-1148253029,-1126913907,-1106142801,1032019633)+W(2,1045090381,-1108909198,-1110036442,1036419718)+W(3,1028818885,1041375482,-1093262116,1038243096)+W(4,1036945928,-1121925745,1001228109,-1112793497)+W(5,1049965274,1021279149,-1115536386,1019907753)+W(6,-1115396498,1013499583,1052662103,-1090377239)+W(7,1034061985,1032108124,1041342669,-1123968938)+W(8,-1113450905,1040402543,993049059,-1109636927)+W(9,-1108139113,1024220311,1035427697,-1107965954)+W(10,-1113141447,1032825796,1027821620,1020544662)+W(11,-1138282267,-1116422289,1016907357,-1128061041);sum2=W(0,1016610899,-1118189976,1027283971,1028895363)+W(1,-1113530321,1007846553,-1135553471,1018031354)+W(2,-1118352328,1032145382,-1123867563,1011272254)+W(3,-1163068737,-1120752887,1042584076,1042427003)+W(4,-1099207121,1010785270,-1147979120,1035872696)+W(5,-1095799786,1073605475,-1075418961,1026092591)+W(6,-1121296916,1034250650,1009508653,1056095764)+W(7,-1091570337,1030054693,-1139692219,1022157658)+W(8,-1121907329,-1130051225,-1113117501,1019567305)+W(9,1007282246,-1131969269,-1148404200,1025403981)+W(10,-1124635978,1012575724,1019770181,-1131641536)+W(11,1013257077,-1121748387,-1123610989,1018865930);WS(1062423998,1020226002); +sum1=W(0,-1122384152,-1116470612,-1095861522,1055717600)+W(1,-1128557498,-1133541800,1000976853,1015809956)+W(2,-1125526476,1034182342,-1136390676,1025071548)+W(3,-1122957973,-1115150860,-1101122465,1052715645)+W(4,-1101688288,-1121585121,-1140430696,-1100102424)+W(5,1051208664,1053221217,-1097231798,1026360261)+W(6,1018079658,-1099378776,1045734276,1041738487)+W(7,-1114764537,-1127628368,-1116871589,-1102397253)+W(8,1040938184,1038184662,-1107259340,-1121765359)+W(9,1021042950,-1121061927,1045437908,-1114085178)+W(10,1034631967,1018430000,-1130305609,-1097083551)+W(11,1049869175,1019939330,-1105843464,-1122412137);sum2=W(0,-1125184611,-1124729770,1045115043,1058112728)+W(1,1023628890,1007171579,985313435,-1132095255)+W(2,-1117207517,1067077185,-1158219675,-1118062236)+W(3,-1181860650,1028760415,1036693207,-1107623537)+W(4,1043689375,1000645119,-1124740239,1011065519)+W(5,-1088457353,-1080660794,1020427720,-1160295467)+W(6,-1132645547,1033849803,-1096437481,-1109418981)+W(7,-1110185484,1015083304,999484231,1015359010)+W(8,1048821220,-1117188353,1032363474,1023561702)+W(9,-1125466771,-1140486285,-1107942084,1027196953)+W(10,-1121893121,-1134577643,1024683619,-1125848669)+W(11,1027562883,-1127975224,1023023798,-1158549787);WS(-1085592318,-1113086899); +sum1=W(0,-1127342656,-1105245475,-1104578161,1053241687)+W(1,-1103827813,-1138537863,1024334944,1029597578)+W(2,-1117644382,1041591201,1020278010,1015573096)+W(3,-1107952998,-1104926592,-1101901257,1051692021)+W(4,-1097952575,-1110174988,1034498345,-1110412429)+W(5,1053247055,1044816720,-1110749814,1033881662)+W(6,-1131633306,-1103724998,1051300307,1042909421)+W(7,-1106968399,-1116328992,-1110168462,-1098176238)+W(8,1051451939,-1124765258,-1105195378,-1113141267)+W(9,1033648125,-1115323711,1049307889,-1143558503)+W(10,1027981559,1028312016,-1119681052,-1098367950)+W(11,1053283054,-1113485404,-1102600950,-1113790704);sum2=W(0,1019423143,-1118706158,-1110500850,982325064)+W(1,-1117883328,-1145733922,-1134200265,-1122995556)+W(2,1021681136,-1106847870,-1115095323,1001371122)+W(3,1022335641,-1113839515,-1121978030,1042414810)+W(4,-1112736275,1019850892,-1126211289,-1123774588)+W(5,1048787768,1052221246,-1118959328,-1113736050)+W(6,-1160177640,1002859666,1035034344,1009324191)+W(7,1026260852,1023767274,995157684,-1114460336)+W(8,1025695056,-1129766425,-1114723897,-1130130145)+W(9,-1138832033,-1131104601,-1126984825,-1136621129)+W(10,1016807320,-1131688905,-1130236057,1027754115)+W(11,1027074464,-1120353368,-1121253912,992217060);WS(1025516512,-1100199588); +sum1=W(0,1010096560,1021891087,1041308560,-1106994989)+W(1,-1107391304,1032706511,998291066,-1128181387)+W(2,1015332531,-1097993736,1040752366,-1115681272)+W(3,1015136529,-1152435393,1054580194,-1087955312)+W(4,1021987303,1013936722,1016981531,1035336779)+W(5,1043985948,1049373383,1016493518,-1153713033)+W(6,-1134306338,1040424469,-1088067164,1048585956)+W(7,-1111549299,-1122756060,1015217585,1041134374)+W(8,-1097437107,1044933000,1015283332,1028860515)+W(9,1025573847,-1147235028,-1108043523,1037061588)+W(10,-1125444197,-1124931799,1027586712,-1105873140)+W(11,1024655979,1041451309,1025261651,1010373746);sum2=W(0,1024904631,-1115115972,-1128899549,-1100416868)+W(1,1014205090,-1138213458,-1136864762,1023564875)+W(2,-1103710322,-1105139728,-1112771593,1024304323)+W(3,1005033941,-1114446231,-1140124434,-1107001478)+W(4,-1105823902,1028369943,1030076655,-1115188268)+W(5,1057566767,1061216146,-1101449249,1031401203)+W(6,1022202973,-1099782234,1051976820,-1114917196)+W(7,-1115621063,-1127316949,995105737,1025338591)+W(8,1009750634,-1107279078,-1123827499,1002907445)+W(9,1009257370,-1107689693,1040613751,-1123762171)+W(10,-1124460977,1021828037,-1113660547,1049272645)+W(11,-1105716747,-1112133417,1019919657,-1121285688);WS(1050734204,-1108852232); +sum1=W(0,-1111669430,-1116292712,-1122281377,1027495958)+W(1,-1113568120,-1123139966,1026854009,-1106093993)+W(2,-1103616254,-1113635568,-1125634353,-1117637392)+W(3,-1115457556,-1104273631,1027625969,1042550097)+W(4,-1100906821,-1147736996,1022285659,-1090233269)+W(5,1069754213,1065691213,-1090598793,999398084)+W(6,-1130768721,-1103820941,-1114752252,1054098174)+W(7,-1103145534,-1140005358,-1124925681,-1107176543)+W(8,-1130883179,1026991873,-1107767585,-1123096067)+W(9,988348114,-1114665965,-1144129324,1018693905)+W(10,1007587914,-1120005196,-1117352760,-1103610460)+W(11,1032882469,1034282506,-1112131865,-1122062653);sum2=W(0,1024214881,-1105712489,-1096328526,1036545949)+W(1,-1114697429,1029115040,-1122830075,1026001227)+W(2,-1089670730,-1104892025,1027384734,-1127506094)+W(3,1024710111,-1105988647,-1109313571,1042923133)+W(4,-1108836817,1018384918,-1118490155,1044311614)+W(5,1057951288,1050757116,1046225965,-1118982995)+W(6,-1134765475,-1128591966,1031038781,1041007149)+W(7,-1111832237,1000957030,1007204875,1016894538)+W(8,-1135710147,-1111844715,1020988490,1018633070)+W(9,955722144,-1132281374,-1121635711,982097434)+W(10,-1141601766,-1131312630,-1132418382,-1121103003)+W(11,1040031313,-1131469166,-1137288635,1012074251);WS(-1077332287,-1089760701); +sum1=W(0,998476811,-1126986618,1035645275,1035996661)+W(1,-1111559939,1002151576,-1146931846,-1106320367)+W(2,1033143495,1030948981,-1116749294,-1132098378)+W(3,1020090684,-1103512376,1057100532,-1098691810)+W(4,-1114602228,1020764052,-1115596769,-1106044643)+W(5,1033806067,1054020686,-1102410839,-1131285468)+W(6,1018970620,1033789092,-1089559024,1053006209)+W(7,-1114317262,-1143682184,-1117338894,-1121544222)+W(8,-1119052427,1053247323,-1148875196,-1140686688)+W(9,-1131301080,1025908912,-1109205213,-1117960094)+W(10,1040862618,-1112291776,-1134004534,-1120853460)+W(11,1021655744,-1112997269,1024305160,-1137942600);sum2=W(0,1006079429,1015506585,-1129173219,-1126961905)+W(1,1025558752,1004493969,-1142220161,1012377004)+W(2,1019086641,1027847692,-1121396179,-1129089615)+W(3,-1129651941,1027444401,1029291472,-1099113060)+W(4,1031608500,1032469225,-1120056293,1027255740)+W(5,-1087748986,-1071778912,-1132223695,-1117547929)+W(6,1021210606,-1154390002,1030702430,1077548482)+W(7,1041292060,1017793536,-1138049810,-1121552483)+W(8,1046290929,1017608723,1030045463,-1115202758)+W(9,1020679942,988683875,-1149010889,1009874569)+W(10,-1116313503,1024909384,-1144760977,-1149209645)+W(11,958643736,-1165018915,-1108302337,-1153372770);WS(1054407548,983325672); +sum1=W(0,1028412425,-1105600625,-1148390382,1033571545)+W(1,1032293767,-1124427701,-1115456470,1033490817)+W(2,1044756246,-1114006910,-1119790070,1037509878)+W(3,1017604747,-1115519181,-1103922376,1059608097)+W(4,-1107101148,1007976775,1031921957,1031550611)+W(5,-1090010995,-1087252051,1044072953,1022727275)+W(6,-1121692358,-1103698804,1062123705,-1094628214)+W(7,1027680451,1033962892,1041128181,-1109550327)+W(8,-1103937189,1042983319,1021059262,-1108328080)+W(9,-1131299175,1030793272,1039103265,-1106569209)+W(10,1007158719,1032055396,1034097067,1014014769)+W(11,-1135652511,-1116995186,-1141553278,-1143059662);sum2=W(0,1007145536,1011835040,-1115291423,1029973058)+W(1,1036345379,-1106716830,-1108956115,1040320325)+W(2,-1145921569,-1113530029,-1116109872,1031627486)+W(3,-1123468231,1009493536,-1120694127,1025444390)+W(4,-1106839609,-1106619549,1003522017,1036429861)+W(5,1057547857,1039825371,1028735446,1032586179)+W(6,-1106382527,1045134298,-1120933925,-1093621604)+W(7,1043632212,-1135351552,1023566518,-1132203156)+W(8,-1105348488,1030401418,1032927131,-1107014793)+W(9,-1116797301,1044032552,-1105744806,-1111109931)+W(10,1031187850,1030984886,1016028592,-1103689691)+W(11,1019566780,1039637835,-1119043970,-1117261713);WS(1062610366,-1081620328); +sum1=W(0,1034909184,1041975919,1038564634,-1086061975)+W(1,1054071881,-1118145809,1022225638,1036878493)+W(2,1032326503,-1097049310,1038246806,1033815666)+W(3,1022593144,1038275488,1032775158,-1094128798)+W(4,1049378869,984752392,1034659649,1049110721)+W(5,-1104434937,-1097332230,1048167927,1040915883)+W(6,-1145063906,1039909252,-1098154666,-1096830529)+W(7,1037005773,-1127387550,1029979468,1050285945)+W(8,-1091716385,1031802154,-1122539766,1042582214)+W(9,1024460554,1032760119,-1098908862,-1125106744)+W(10,1023442918,1025327999,-1129493655,1052309552)+W(11,-1093908076,1033460244,-1111713187,1038395208);sum2=W(0,1025388154,-1106689977,-1110560421,1049316874)+W(1,983067209,-1121273022,1001261778,1031762430)+W(2,-1111104301,-1112011481,1033280635,1026153330)+W(3,1007664153,-1105078255,-1122922762,1044332351)+W(4,-1133572905,-1116643818,1018216589,-1117638934)+W(5,1029938402,-1117360942,1022258405,1033323756)+W(6,1011431705,-1119019386,-1107704269,-1116357646)+W(7,1016143957,-1123412994,-1124915037,1039919645)+W(8,1043034893,-1107523849,-1109485745,1027380094)+W(9,1007167865,-1115769810,1041034358,-1112781805)+W(10,1010088409,1016238045,-1118462618,1041969311)+W(11,1050092429,-1104673921,-1106654827,1006440178);WS(-1079099231,1058224693); +sum1=W(0,-1136025729,-1098612147,1040574357,1044962866)+W(1,-1107948018,-1152707357,1041807413,1030021338)+W(2,-1113591959,1041390773,1030293261,1019631368)+W(3,-1113852830,-1101745716,1035906153,1038641429)+W(4,-1102747762,-1119110697,1038775953,-1114342965)+W(5,-1100940817,-1112997607,-1131180663,1008365619)+W(6,-1130024634,-1109189268,-1110548904,1053521164)+W(7,-1102886695,-1120409456,-1139925939,-1116898669)+W(8,-1107090858,1048687519,-1127712365,-1156710253)+W(9,1032899333,-1169623989,983487291,1048553583)+W(10,1020276366,-1137865855,-1135488689,-1105924753)+W(11,-1105279552,1049805017,1033907987,-1120648241);sum2=W(0,1026221982,1031288593,1025270629,-1105433524)+W(1,1025604422,1025361731,-1150712731,-1121646784)+W(2,1040465550,-1099611845,1015298833,-1118571342)+W(3,-1135858910,1020650492,-1102699692,-1077885918)+W(4,1013887757,1035533544,998750602,-1118866549)+W(5,-1090773917,-1073585027,-1111404471,-1115122758)+W(6,1026066546,-1126679589,-1103726643,-1083499628)+W(7,1029004921,1025173545,-1122173835,1033676882)+W(8,1038653616,1072488285,-1128843744,-1132364945)+W(9,1019885572,-1119823506,1044175124,1076879885)+W(10,1042609155,982102231,-1114797832,1024418530)+W(11,1035909226,1053754278,-1128976380,-1120827581);WS(1039418864,-1140458522); +sum1=W(0,983096624,-1114535995,1044450572,1027001827)+W(1,-1117675070,1035770150,1029517505,-1145085849)+W(2,-1097839409,1032347927,1031259878,-1104931415)+W(3,-1121873782,-1102746926,1062380387,-1106235793)+W(4,-1105839880,1033087169,1019803894,1028523779)+W(5,-1088253674,-1090653261,1036696746,-1121428646)+W(6,1027911414,-1100878768,-1109645966,1061486174)+W(7,-1097301074,-1120235273,-1108005699,1038991951)+W(8,-1154916402,1029669390,1024178544,1035324408)+W(9,1033576274,-1142936385,-1107146685,1047810758)+W(10,1038477872,-1108040973,-1135118358,-1125909817)+W(11,-1122115416,1038152785,1041849616,1017003668);sum2=W(0,-1121567066,1033267920,-1104421963,-1130139832)+W(1,-1132243276,1024120715,1034344084,1026284945)+W(2,-1103410132,1037507308,1034735332,-1109350039)+W(3,-1105011035,1033899226,1022298858,-1102818563)+W(4,1044067085,-1127155070,-1142865888,-1120108491)+W(5,1057117238,1003910328,1041074904,975508032)+W(6,-1136511728,-1122542627,1038703002,1043197066)+W(7,-1101099519,-1117378085,-1106811819,-1120621959)+W(8,1033583066,-1124006960,-1109459597,1001772648)+W(9,1032101677,-1134482876,-1122973141,-1124335993)+W(10,1041237660,-1113899392,-1113394506,-1114137407)+W(11,1030826553,-1125132432,-1128301632,-1126301549);WS(1053462780,-1083681865); +sum1=W(0,1023511963,1041747598,1041497612,-1138339988)+W(1,1035615616,1020629658,-1126058411,1015154794)+W(2,1018224530,996055791,1027711272,-1123213919)+W(3,1027394040,1045749945,1041814811,1014351349)+W(4,1040756601,1032965474,-1118697149,1048726745)+W(5,-1086401302,-1082085657,1048515830,-1129047376)+W(6,993307519,1043007793,-1115623160,-1096882594)+W(7,1042139693,-1132054806,1025756296,1038169844)+W(8,1032344226,-1105145572,1038148425,1033289129)+W(9,-1131368524,1024626666,-1127070442,-1110953740)+W(10,1009997960,-1128695798,1029589575,1040782360)+W(11,-1131398580,-1110890258,1029718722,1029252236);sum2=W(0,1008350928,-1118714967,1030231193,-1091889801)+W(1,-1108897465,1032606711,1011413600,1024023545)+W(2,-1124778398,-1098641764,1033453825,-1125648711)+W(3,-1120704007,-1126562655,-1110351493,-1104262464)+W(4,-1106889474,1025836907,1027382950,1034951721)+W(5,1052754126,1057762368,1035809187,-1131934955)+W(6,-1127381517,-1128407708,1033272406,-1161878816)+W(7,-1132306565,-1134699254,981904616,-1126139913)+W(8,-1151802072,1012148800,-1153180738,-1131180247)+W(9,1015535284,999360844,1013432992,1024540201)+W(10,1014625240,-1171757551,-1135583391,-1138986423)+W(11,-1123376913,1031971990,-1118108772,-1140791326);WS(-1099299320,1056598066); +sum1=W(0,1006197652,-1127547996,-1106221946,1045972807)+W(1,1004824505,-1119658116,-1128153660,1041714651)+W(2,-1098261544,1038366195,-1113181968,1030219574)+W(3,-1136164796,1029712499,-1085896508,1057638589)+W(4,-1113770157,-1129447670,1035903322,-1128532088)+W(5,1057218165,1054413180,1038963911,1033715440)+W(6,-1130396894,-1106761055,1054525467,-1086573266)+W(7,1033084478,-1128924420,1036246880,-1121593759)+W(8,1028130044,-1090476168,1042818602,-1116035017)+W(9,-1124832314,1017604226,1036683414,-1101308500)+W(10,-1130963634,1030841394,1029570879,1017990507)+W(11,1016287010,-1110319406,-1114724733,998207538);sum2=W(0,-1131923124,1046772351,-1110971235,-1105011941)+W(1,1028001687,-1121147281,993280665,1028557303)+W(2,-1134148898,-1104446514,-1147560296,1024426003)+W(3,-1127811288,-1107794670,1043137579,-1096504482)+W(4,-1101129935,1034898623,1032538133,-1098564467)+W(5,1067961229,1066594258,-1104613803,-1136832302)+W(6,992174233,-1121892222,-1095277951,-1107079502)+W(7,-1097683180,1036381319,1002762140,1035775413)+W(8,-1099141736,-1090299346,-1129031039,1009264906)+W(9,1015088121,-1158807761,1011333246,-1132433157)+W(10,-1108888578,1032287279,992586073,1019898989)+W(11,-1118039147,-1109952821,1040568125,-1111357043);WS(-1105186296,-1108555742); +sum1=W(0,1040483623,-1105046378,-1118442722,1040666374)+W(1,986662468,-1118942975,-1101386974,1038429012)+W(2,1042743759,-1109750289,-1103538071,1040611956)+W(3,1040816739,1031828819,-1093958439,1050019912)+W(4,1033262923,-1118385334,-1134311356,-1107675004)+W(5,1030110546,1040526743,-1121451017,1012951144)+W(6,-1108915605,1034430779,1044698927,-1097473172)+W(7,1032745156,1035127903,1046011615,-1109709717)+W(8,-1103097566,1045974257,1041021277,-1100748433)+W(9,-1102638726,1030173660,1041159370,-1110364069)+W(10,-1106175813,1037154391,1034864637,-1130419297)+W(11,-1111922822,1017242540,1032931450,-1121991998);sum2=W(0,-1127162070,1014979733,-1114518101,1016203776)+W(1,1035296562,-1117887634,-1135271108,-1136185376)+W(2,1038675289,-1140478504,-1111853852,1030827904)+W(3,1003505825,1028363168,-1105093650,-1089585970)+W(4,1058969759,-1123277259,1012864633,-1131143608)+W(5,-1095849351,-1070239185,1079096535,-1116960146)+W(6,-1123384038,1033256022,1028346583,-1078361549)+W(7,1068193425,-1125445846,1026898060,-1133517476)+W(8,-1113528611,1038794260,1032636395,-1113311282)+W(9,-1134649836,-1120532892,1028725832,-1125525718)+W(10,1017911666,991223090,-1125848258,1028008335)+W(11,-1117113572,1005296645,1032298564,-1134431064);WS(1065442623,1015025160); +sum1=W(0,-1115365041,-1113215535,1018550702,983382403)+W(1,-1103693946,-1124004468,1040496438,1031517084)+W(2,1044423084,1017412396,1032083208,1040563090)+W(3,-1114325264,-1109245393,-1131936399,-1109909072)+W(4,-1106995843,-1120263275,1036061554,1002812769)+W(5,1034975748,-1099246196,1024898238,1012000060)+W(6,1038370800,1036804053,1048106991,-1114225707)+W(7,1044531927,1036150809,-1112496600,-1099928488)+W(8,-1107673238,-1129165678,-1096349707,-1113013165)+W(9,1039123015,1036473513,1041344487,1011581692)+W(10,1043676418,1037117105,-1120668655,-1116761110)+W(11,1019812354,-1138585900,-1110354101,-1128538214);sum2=W(0,1010698941,1023126843,-1106210958,-1122624743)+W(1,-1122034237,-1117968485,1042699596,-1140656688)+W(2,1029081919,1040813712,-1174961495,1039098482)+W(3,1048659418,-1095653758,-1118272649,-1097694847)+W(4,1033474214,-1118912655,1058578114,-1081184698)+W(5,1060468587,996865603,-1102355565,1020119257)+W(6,1052277576,-1097586600,1043044817,-1103459725)+W(7,1049205466,1031051049,1019470633,-1098953045)+W(8,-1108654451,-1128239326,-1112376452,-1108144089)+W(9,1041036392,1018118885,1029721267,1034766857)+W(10,1033989555,1038110136,-1119471849,-1122826054)+W(11,-1130901998,1000734433,1017824567,-1114988670);WS(-1115864032,1039792746); +sum1=W(0,-1140468214,-1121375417,1034497081,1039608980)+W(1,-1113171393,-1132620605,996096400,-1108218204)+W(2,1033625894,1040179481,-1108192053,1018030914)+W(3,1010495721,-1109130991,1055392502,-1093805194)+W(4,-1127063626,1012649753,-1114956320,-1115276388)+W(5,1036829073,1050653566,-1109643980,-1127455572)+W(6,1013460969,1040789857,-1088431348,1049263376)+W(7,-1124542831,-1135717173,-1122072970,-1114444905)+W(8,1030275655,1051648994,-1129660583,-1147064482)+W(9,-1127833232,1026520268,-1111886108,-1121903450)+W(10,1034831154,-1114505023,-1140762151,-1127271361)+W(11,1031218972,-1112576115,1019975176,-1135014713);sum2=W(0,1015385693,-1115435752,1035175215,1017441239)+W(1,-1112773411,998363696,1020691269,-1141202058)+W(2,-1117300235,-1122675471,1031000417,1016207247)+W(3,1015565489,-1111436746,1033401267,1055273933)+W(4,-1101083444,-1113092041,1019337403,1040267853)+W(5,-1100581516,1073306798,1046685605,1013448250)+W(6,-1132207064,-1114623303,1041259906,-1073173797)+W(7,-1115311051,-1130370856,-1131086480,1025609602)+W(8,-1101351817,1032997632,-1113329498,1026870685)+W(9,-1163542113,-1140470334,1020278145,-1122237085)+W(10,1031244051,-1124843109,1010427910,-1128429973)+W(11,1027629029,-1119509251,1033297372,1014260054);WS(1060418110,-1122066101); +sum1=W(0,1031696780,-1115430516,-1104465800,1041576533)+W(1,-1122042801,1028261758,-1124029560,-1129767372)+W(2,-1124342772,1035204176,-1109435772,1025573168)+W(3,-1147879495,1033383950,-1084846132,1057835449)+W(4,-1106791333,1024098613,-1123330286,1032201307)+W(5,1040589380,-1121351835,1025265863,1000233671)+W(6,-1137787811,-1124043956,1059143665,-1085338500)+W(7,1037079395,1020968696,1025904121,-1135655378)+W(8,1047669789,1026196737,1031201378,-1122702819)+W(9,-1122010711,1016436406,1032251443,-1113520196)+W(10,-1120875027,1016849816,-1131825009,1011740349)+W(11,1017074582,1023559701,1024540211,-1123483709);sum2=W(0,-1127836624,1033364881,-1101679270,1023580345)+W(1,-1149619356,-1136662275,-1173496113,-1127629564)+W(2,-1105780675,-1119640853,1033890881,-1122666983)+W(3,1027284157,-1104916712,-1113070309,-1132739235)+W(4,-1113766541,1023707939,1022886010,-1097350377)+W(5,1061873799,1062616603,-1112358042,1028952789)+W(6,1036751625,-1105423640,-1096904559,1009507187)+W(7,-1119315178,-1117384012,-1124242822,1034826035)+W(8,-1105550966,-1098447862,1045500652,-1137245711)+W(9,1017945890,-1122986652,-1127473876,-1116534057)+W(10,1015952658,-1136860123,-1140181115,1033442485)+W(11,-1108824717,-1115327874,1033458469,1001899534);WS(1052277756,1024619064); +sum1=W(0,1029425189,-1120340480,1055903799,-1093981294)+W(1,-1125235986,1026200342,-1155801216,-1107014752)+W(2,1049346130,-1099678446,1003141514,-1131584400)+W(3,1030252033,1038469578,1057427995,-1098793998)+W(4,1025012844,1031806855,-1112675811,1032327591)+W(5,-1103272826,-1090697510,-1118748640,-1126277858)+W(6,1025211073,1034534022,1040656272,-1103403378)+W(7,1025335343,1010568017,-1122395345,1039704040)+W(8,-1111436999,1041606598,-1106833215,1032770798)+W(9,994289396,-1137717581,1016775164,1005246730)+W(10,1029370155,-1124454216,-1124711713,1045346698)+W(11,-1134653325,1013960373,-1099652851,1034190187);sum2=W(0,1023289146,1045862572,-1095566322,-1087461476)+W(1,1016132472,1044890152,1020437582,1028786959)+W(2,-1132354231,-1101737384,-1127607289,-1124440021)+W(3,1009748873,-1120652794,-1090793815,-1083542229)+W(4,-1107157844,1037463572,1030199907,1015917080)+W(5,1063879108,1069217208,-1097091848,1032502373)+W(6,1007345789,-1117660774,-1107315270,1056862945)+W(7,-1098187278,1028169917,1010063617,-1106003069)+W(8,1045942315,-1153692567,-1116485608,-1108513707)+W(9,1018930146,1039304637,-1106431667,-1111757292)+W(10,1036040005,1034190881,-1127799210,-1098471935)+W(11,1048572904,1056217861,-1094693884,-1108016950);WS(-1086218302,-1084258561); +sum1=W(0,1027347742,1041008695,1040638149,-1088163117)+W(1,1045697689,-1131589088,1021408948,1036310380)+W(2,1041666443,-1103354245,1033383494,1033326017)+W(3,-1127633782,1035524367,1033011818,-1094269524)+W(4,1040895122,-1132088142,1039366096,1048593117)+W(5,1050103608,-1122175629,1042904478,1042877939)+W(6,-1116749595,-1138037400,-1111907839,-1096387988)+W(7,-1136050786,-1131538396,1033396118,1045683171)+W(8,-1097626581,-1103712029,1018682217,1039834587)+W(9,-1139872292,1032120647,-1099416246,-1111740158)+W(10,-1126758410,1030901630,1025066091,1046369740)+W(11,-1095221944,-1117250695,-1121047845,1034112696);sum2=W(0,-1116225927,1020583173,-1120289762,-1116630862)+W(1,1037488437,-1120774706,1030773056,1018516207)+W(2,-1142227828,-1157244503,-1120616119,1021325617)+W(3,-1122365237,-1121497633,1024002380,1045806125)+W(4,-1122845130,-1124264052,1032148531,1032012136)+W(5,1050603076,1061490298,1029135782,1020114521)+W(6,-1127594672,-1111134479,1040110681,-1104925089)+W(7,-1122119114,-1129316292,1026422036,-1112679629)+W(8,-1109379336,-1096282325,1035818151,-1129796491)+W(9,1023835916,-1123177144,-1102178993,-1103628682)+W(10,-1118358279,1024324894,-1131330830,-1112996078)+W(11,-1102999759,-1116593585,1024073644,-1129630471);WS(-1092406524,-1089571522); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0][0] = HOOKED_texOff(vec2(-3.0, -2.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-3.0, -1.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-3.0, 0.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-3.0, 1.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-3.0, 2.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-3.0, 3.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-2.0, -2.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-2.0, -1.0)).x; +samples[2][0] = HOOKED_texOff(vec2(-2.0, 0.0)).x; +samples[2][1] = HOOKED_texOff(vec2(-2.0, 1.0)).x; +samples[2][2] = HOOKED_texOff(vec2(-2.0, 2.0)).x; +samples[2][3] = HOOKED_texOff(vec2(-2.0, 3.0)).x; +samples[3][0] = HOOKED_texOff(vec2(-1.0, -2.0)).x; +samples[3][1] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[3][2] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[3][3] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[4][0] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[4][1] = HOOKED_texOff(vec2(-1.0, 3.0)).x; +samples[4][2] = HOOKED_texOff(vec2(0.0, -2.0)).x; +samples[4][3] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[5][0] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[5][1] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[5][2] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[5][3] = HOOKED_texOff(vec2(0.0, 3.0)).x; +samples[6][0] = HOOKED_texOff(vec2(1.0, -2.0)).x; +samples[6][1] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[6][2] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[6][3] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[7][0] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[7][1] = HOOKED_texOff(vec2(1.0, 3.0)).x; +samples[7][2] = HOOKED_texOff(vec2(2.0, -2.0)).x; +samples[7][3] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[8][0] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[8][1] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[8][2] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[8][3] = HOOKED_texOff(vec2(2.0, 3.0)).x; +samples[9][0] = HOOKED_texOff(vec2(3.0, -2.0)).x; +samples[9][1] = HOOKED_texOff(vec2(3.0, -1.0)).x; +samples[9][2] = HOOKED_texOff(vec2(3.0, 0.0)).x; +samples[9][3] = HOOKED_texOff(vec2(3.0, 1.0)).x; +samples[10][0] = HOOKED_texOff(vec2(3.0, 2.0)).x; +samples[10][1] = HOOKED_texOff(vec2(3.0, 3.0)).x; +samples[10][2] = HOOKED_texOff(vec2(4.0, -2.0)).x; +samples[10][3] = HOOKED_texOff(vec2(4.0, -1.0)).x; +samples[11][0] = HOOKED_texOff(vec2(4.0, 0.0)).x; +samples[11][1] = HOOKED_texOff(vec2(4.0, 1.0)).x; +samples[11][2] = HOOKED_texOff(vec2(4.0, 2.0)).x; +samples[11][3] = HOOKED_texOff(vec2(4.0, 3.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_y, nns64, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!HEIGHT 2 HOOKED.h * +//!OFFSET 0.000000 -0.500000 +//!WHEN HOOKED.h OUTPUT.h / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.y < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} +//!DESC NNEDI3 (double_x, nns64, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!SAVE nnedi3_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +float nnedi3(vec4 samples[12]) { +float sum = 0.0, sumsq = 0.0; +for (int i = 0; i < 12; i++) { + sum += dot(samples[i], vec4(1.0)); + sumsq += dot(samples[i], samples[i]); +} +float mstd0 = sum / 48.0; +float mstd1 = sumsq / 48.0 - mstd0 * mstd0; +float mstd2 = mix(0.0, inversesqrt(mstd1), mstd1 >= 1.192092896e-7); +mstd1 *= mstd2; +float vsum = 0.0, wsum = 0.0, sum1, sum2; +#define T(x) intBitsToFloat(x) +#define W(i,w0,w1,w2,w3) dot(samples[i],vec4(T(w0),T(w1),T(w2),T(w3))) +#define WS(w0,w1) sum1 = exp(sum1 * mstd2 + T(w0)); sum2 = sum2 * mstd2 + T(w1); wsum += sum1; vsum += sum1*(sum2/(1.0+abs(sum2))); +sum1=W(0,-1120714617,1007614003,-1123305414,1009908268)+W(1,-1129324172,-1121901526,1022915304,-1142748844)+W(2,1035162146,-1123901891,1027364554,1030225939)+W(3,-1116882705,1030599214,-1135846624,-1113117446)+W(4,-1110752415,1046176310,-1114390527,-1110762423)+W(5,1032526991,-1096831458,-1117077507,-1127767760)+W(6,-1121818163,-1105876799,-1096860741,1046191054)+W(7,1043289735,1052908756,1034530771,1039462233)+W(8,1035961863,1034124059,1022953826,1023450788)+W(9,-1114841418,-1114991488,-1116257712,1025047056)+W(10,-1120878363,-1120533037,-1155422496,-1124524780)+W(11,-1129613106,1013731840,981289536,-1143328976);sum2=W(0,-1131108965,1000650931,1025688791,-1116852534)+W(1,-1145056307,-1123043594,1018436747,-1139914565)+W(2,1043465638,-1113612493,-1106748353,1029599173)+W(3,1045881517,-1118230687,1029259867,-1107504809)+W(4,988544780,-1124179817,-1070139293,-1102659167)+W(5,1078104617,1048052425,-1126127905,1025133515)+W(6,-1145266179,-1111438835,-1110118136,-1097100047)+W(7,1027449515,1027739737,-1136112041,1036504803)+W(8,1018501507,1003301507,1026178295,1031198431)+W(9,-1123515159,-1134523125,995063942,-1120319069)+W(10,1021344415,-1131299129,-1123696315,1012522521)+W(11,1024975831,1020199127,-1162666156,-1131042995);WS(1061710334,-1113637247); +sum1=W(0,-1121814583,-1138603692,-1138264845,-1140194465)+W(1,-1131439046,-1125621862,1023073058,-1129805541)+W(2,1036106897,-1122595552,1018454510,1033737112)+W(3,-1122735662,1024541667,-1122620661,-1116003130)+W(4,-1109309294,1048694647,1030681928,-1115559686)+W(5,1044326142,-1097437158,-1132933761,-1128614666)+W(6,-1143950978,-1103580007,-1097890158,-1120177173)+W(7,1042373458,1052689231,1034486114,1037961704)+W(8,1033251382,1032154570,1019050396,1021617155)+W(9,-1113884080,-1107957310,-1116304653,1019245786)+W(10,-1118153848,-1122508490,1012933309,-1120902675)+W(11,-1152998244,1016843898,-1144273714,-1155701620);sum2=W(0,-1162960213,1013908203,-1113327157,1023571595)+W(1,-1133790043,1024139725,-1130037920,1007034787)+W(2,-1107084454,1023868855,1032525526,1048796624)+W(3,-1104878976,1003078933,-1121062518,1034207166)+W(4,-1126626424,1032930462,1076098019,-1132699465)+W(5,-1072747140,-1104764998,1019199125,-1123497947)+W(6,1025411499,1029914487,1035900190,-1093496445)+W(7,1026052839,-1109617402,1025857863,-1118139493)+W(8,-1126548940,997665611,-1121182801,1038561302)+W(9,-1146184997,-1142783113,-1147685381,1017680405)+W(10,-1127269937,1018748433,-1158385717,1000017309)+W(11,-1123007653,-1154085627,1000677165,1016687665);WS(1064800702,1030635520); +sum1=W(0,1004285524,-1122860750,-1122286551,1021316024)+W(1,-1116388951,1022533838,-1125657162,1001429301)+W(2,-1128056492,1024005652,1035530413,1053335517)+W(3,-1139373960,-1130762670,-1121564617,-1129213371)+W(4,1035663048,1031878036,984521208,-1100061872)+W(5,1048911707,1035194194,-1131931048,-1141986761)+W(6,-1110660706,-1116831438,1023270757,-1093549817)+W(7,-1104621327,-1149876978,-1142066105,1031904066)+W(8,-1128734654,-1204558974,-1136886024,1042579293)+W(9,-1148999845,-1142259845,-1120920449,-1111776529)+W(10,1028175148,-1143857649,1005008153,1016449422)+W(11,-1135015336,1010510404,1018152308,1020350678);sum2=W(0,1015139874,-1150118671,1032711786,1028577839)+W(1,-1116703472,-1123435694,-1140098908,-1140019692)+W(2,-1120731382,-1116737087,-1087320828,-1069693959)+W(3,-1103666133,-1138801588,999422392,1029210329)+W(4,1017539382,1031888972,1059502015,1078824499)+W(5,1045823576,1009232228,1011539428,-1118193829)+W(6,1020112270,-1112637962,1026899401,-1094071548)+W(7,1036639812,-1114441289,1023067274,-1131442506)+W(8,-1126248934,1010207212,-1119882792,1040940327)+W(9,-1131804892,1029410629,-1130083750,1007549476)+W(10,1013963196,-1138130380,1019091922,-1123861886)+W(11,1004924552,-1130443436,-1137456436,1026106777);WS(1058942782,1023618692); +sum1=W(0,-1126072821,1011693912,1017195423,-1122268692)+W(1,1022607903,982545387,-1126061755,1003763447)+W(2,1041771492,1025548876,1036961985,1037536142)+W(3,1038780013,1023558139,1037537425,1035261291)+W(4,-1110777188,1035801072,-1094081945,-1091452759)+W(5,-1095962376,1049096396,-1113879430,955835050)+W(6,-1110871838,1043278082,-1103634941,-1105679152)+W(7,-1103558179,-1130619215,-1136949949,1026350907)+W(8,1036426764,-1146527995,1046715887,1040286827)+W(9,1049101574,1031851588,1002869195,1006549707)+W(10,-1142526755,1015953709,-1148709083,-1119884351)+W(11,-1122534754,1007174309,1017517093,986004587);sum2=W(0,-1128639222,-1150616818,-1118932607,-1125568566)+W(1,991022546,-1129687950,1018120650,1006676397)+W(2,1001638233,1013509397,1035428655,1024255335)+W(3,1031481278,-1111645244,1028380841,-1115817479)+W(4,-1119841411,1029376723,1019940778,1063260126)+W(5,1032753418,1026999545,-1121385219,-1134958989)+W(6,1014385869,1037911199,-1102461584,-1085129330)+W(7,-1110003004,1019019978,1021463302,1017625850)+W(8,986023269,970306708,-1141011097,-1110526300)+W(9,1033244979,-1121764803,1025283273,-1128128990)+W(10,-1135260845,1013815957,959170344,1017551658)+W(11,1016351942,-1127392454,1009569613,-1138867245);WS(1037837808,1056377428); +sum1=W(0,-1135573495,1023727061,-1118803082,-1123500111)+W(1,1020600341,-1111066541,1008936161,-1115286797)+W(2,-1105969090,-1138454045,-1114548551,1046351686)+W(3,1036383371,1034647805,1026657308,1033474888)+W(4,1027945538,-1116105371,-1126955510,-1122693874)+W(5,1053007142,1035274060,-1156882549,-1122516460)+W(6,1043223694,1039709953,1051232418,-1100833583)+W(7,-1103740252,-1101618713,1033814037,-1129756781)+W(8,-1100584037,-1111027805,-1097887999,1040497066)+W(9,1024768136,-1138012047,-1123286772,1010716753)+W(10,1025656415,1021082723,1018764077,-1115071549)+W(11,1025234525,-1116333124,1016891995,-1114238799);sum2=W(0,1020978875,-1121670462,-1103298336,-1110731474)+W(1,-1105136733,-1119790394,-1127100056,999102475)+W(2,-1100967324,-1130583533,-1096736455,1053186254)+W(3,1045958215,1043729632,1033816035,1020355333)+W(4,1043179705,-1122981488,1062358565,-1112891412)+W(5,1031005462,1033523405,-1109547546,-1122874410)+W(6,1026290891,1032797386,-1104401130,-1091109944)+W(7,-1133705481,-1102472853,1031959215,-1122532081)+W(8,1013196277,-1120286641,-1114052290,1048200412)+W(9,-1113847816,1033631266,-1126209517,1027184816)+W(10,-1138979633,966672716,-1152672163,-1122242747)+W(11,1023845499,-1118586102,-1147194793,-1127245018);WS(1050865148,1032626572); +sum1=W(0,-1110436993,1040042556,-1107890608,-1113356418)+W(1,1034032544,-1105712244,999321197,-1110201208)+W(2,1043627312,-1101476879,1049906138,-1109025830)+W(3,-1120749707,1051482110,-1103830356,1048543054)+W(4,-1118552440,-1108049256,-1107535228,-1162779891)+W(5,-1095271743,1035225158,-1104074479,-1106449960)+W(6,1045700875,1033317691,-1115480133,1049713062)+W(7,1042738346,-1122810712,1050825756,1031488492)+W(8,-1115060612,1031191472,1025393771,-1106727656)+W(9,-1127443770,1039553933,-1104755066,1040395170)+W(10,1040430485,-1096410465,1042925123,-1114330616)+W(11,-1106585845,1042770518,-1103219825,1009713998);sum2=W(0,1024944996,1020193961,1014966838,1015828472)+W(1,-1113612636,1032934706,-1116105943,1021395599)+W(2,-1111924540,1007347355,-1116539066,1012341552)+W(3,1034050704,-1113193567,1042584092,-1116104243)+W(4,-1107012648,1049541488,-1107447750,-1109770505)+W(5,-1111197863,1014122612,1016467631,-1135977693)+W(6,1057346437,1054940943,1059914271,1066972918)+W(7,1063973493,1056333532,1045837843,1043326701)+W(8,-1105023593,-1097277462,-1142156696,1043445868)+W(9,1017043379,-1118781870,-1113967259,-1117573943)+W(10,-1097010076,-1107952444,-1085761230,-1078926120)+W(11,-1084679416,-1092348708,-1128370702,-1108363561);WS(1054811644,1027249161); +sum1=W(0,1040940111,-1100243090,1043481462,-1119365790)+W(1,-1111878381,1044780378,-1101638738,1035929492)+W(2,-1101358582,1036221579,1014943347,-1109150355)+W(3,1036687602,-1109759237,1028424107,-1122643648)+W(4,-1113576073,1038054901,-1097482896,-1106696288)+W(5,1022736646,-1097940765,1038478827,-1103674991)+W(6,1049141881,-1105999252,1051960356,1048275427)+W(7,-1118345360,1049145430,-1113101949,1037909315)+W(8,-1132483205,-1104538698,1036681666,-1123112824)+W(9,1019000333,1044474573,-1103799553,1037239602)+W(10,-1116754862,1037145120,-1118995685,-1126689554)+W(11,1038634998,-1101292557,1034438878,-1126283866);sum2=W(0,1023766557,1015306072,-1136376403,-1113107482)+W(1,1038494252,-1113447013,1023629411,1024784188)+W(2,1016554458,1020144724,-1116988904,1050162106)+W(3,-1104347057,1003678517,1033762395,-1109441777)+W(4,1021815988,-1103467660,1034521268,-1102546407)+W(5,-1103257907,1025406308,-1113239746,1026085595)+W(6,-1137435361,1016553974,1060795535,1075503478)+W(7,1072821349,-1113972415,1031283975,1037416902)+W(8,-1114856427,1044555388,-1088370625,-1071164689)+W(9,-1077590614,-1112563255,995356642,-1112537357)+W(10,1032032312,-1105991725,-1127777881,1035804901)+W(11,-1120944929,1036418439,-1123929939,-1140753514);WS(1055940220,-1124188157); +sum1=W(0,-1113999823,1015763751,-1115168029,1022861696)+W(1,-1114461725,-1113117029,1032164308,-1121800074)+W(2,-1119569210,1043278990,-1094609330,1044340802)+W(3,1033154083,-1106205123,1021089498,-1107756257)+W(4,1015781094,-1106256755,1052603679,-1095339972)+W(5,-1108564239,1042723938,-1125646960,-1171638077)+W(6,-1147977024,1046188556,1041916962,-1108128054)+W(7,1057380776,-1095928258,1041299799,1027517543)+W(8,-1117684995,1036478965,1033522483,1047885622)+W(9,1036635468,1035899866,-1139371156,-1131185034)+W(10,-1108336232,1006648968,-1101485874,-1110457109)+W(11,-1114614567,-1108232826,1034599135,-1115299047);sum2=W(0,-1120118804,1013270421,-1120552641,-1117027367)+W(1,1016254148,-1110780393,1030787932,-1133117880)+W(2,-1136369034,1027353114,-1125884733,1035518448)+W(3,1043285424,-1129166063,-1140216380,-1120569751)+W(4,-1127959037,-1129939889,-1117793827,-1095769137)+W(5,-1095274849,-1117623897,-1128598589,-1129927717)+W(6,1015341014,1034464346,-1117887441,1043338219)+W(7,1049861339,-1128474295,1032330618,1018695247)+W(8,1033327798,1041751325,1049619624,1049093640)+W(9,1048627700,1035712363,1035384499,1027229852)+W(10,-1113602386,-1114857235,-1103868602,-1097589990)+W(11,-1105817123,-1106207094,1004274322,-1120123842);WS(1057163582,1025817537); +sum1=W(0,1037167835,-1121852313,1034559945,1027044951)+W(1,1039868489,1037598609,1007581568,1031626785)+W(2,1031655825,1046829204,1038865075,987855837)+W(3,-1105739319,-1112419405,1015381448,1037495244)+W(4,-1096271953,-1093143228,-1085198281,1050118415)+W(5,1057217669,1047779928,1035805671,1015872616)+W(6,1045084224,1046279122,1057074420,1040167170)+W(7,-1086525384,-1087515051,-1098926044,-1124461564)+W(8,1033520525,-1103697416,-1107583934,1024989936)+W(9,1034776664,1044254259,-1134624240,-1113253902)+W(10,1016078798,1030441081,1036548879,974934139)+W(11,1034922130,-1113468278,1036139674,1017385676);sum2=W(0,-1136384493,1023814631,1033659202,1017810163)+W(1,1009967381,1017781727,-1118180802,-1141961139)+W(2,1036526786,-1099879539,1034332004,1013925981)+W(3,-1106516740,-1101585218,-1131784625,-1112082470)+W(4,1028719631,1030342243,1046758826,-1093436173)+W(5,1051870663,1042788701,-1114786901,-1113417628)+W(6,-1123632092,1043747658,1050427835,-1100447595)+W(7,1041231786,1045006578,1010389989,-1117114477)+W(8,-1145098603,-1102737141,-1112406001,-1119158797)+W(9,1034292458,-1107586767,-1143106923,1032164569)+W(10,-1122280548,-1130733945,1014543213,-1123106681)+W(11,1019870319,1013053757,-1119739637,1012643781);WS(-1081763615,-1092598780); +sum1=W(0,-1130922677,-1122514966,-1136114845,1015393433)+W(1,-1137786397,1023447063,-1142668459,-1140705115)+W(2,-1114318275,1026414532,1017564438,1021344041)+W(3,-1095352826,-1116164091,-1123782681,1012849463)+W(4,-1127997567,-1121576984,-1088500870,-1098266094)+W(5,1061435536,-1148866211,1039772482,1024002537)+W(6,1028467828,-1127358845,1061837768,1035926493)+W(7,-1095349722,-1114585584,-1114677716,-1116920883)+W(8,1023598927,1017010415,-1116904946,1037585875)+W(9,1040151266,1031742785,1007413957,-1128808099)+W(10,-1139280241,1002425203,-1123987795,-1136160989)+W(11,-1131570741,-1116123969,1020007637,-1126849079);sum2=W(0,1021958137,-1117837187,1026312941,-1115513274)+W(1,1037370871,-1112242113,1033686533,-1107052036)+W(2,1034408685,1036094407,1033683959,-1124949158)+W(3,-1091894288,1027011647,-1107943508,1010459130)+W(4,-1106091708,-1147105428,-1094093059,1061646324)+W(5,1058519893,-1106569597,1037199097,1030945863)+W(6,-1098486326,-1110159069,-1088187103,1055280585)+W(7,1045036050,1045721104,1034325435,1039418143)+W(8,1028745769,1031154711,-1105512708,-1100598283)+W(9,-1109806227,-1117345257,-1144974476,-1124920152)+W(10,1024682325,-1116910593,1039406737,-1117359799)+W(11,1026080301,-1117139296,991455177,-1112397476);WS(1049187708,1061143407); +sum1=W(0,1032206028,-1121811767,1032297330,-1136528167)+W(1,1005295654,1031846890,-1136496587,1032778794)+W(2,1046469409,1033070593,1049873346,1050639650)+W(3,1041319460,1041542033,1036329419,1043869975)+W(4,1044620591,1020031147,-1111788011,-1089881571)+W(5,-1127219501,1033106537,991465499,-1112918515)+W(6,-1086760535,-1113096094,-1092765627,-1083700943)+W(7,-1092202425,1011207027,1015330121,1026637361)+W(8,1049164066,-1132628435,1051671486,1044844041)+W(9,1037004161,1026161438,-1134373563,1019220893)+W(10,1022165171,1009114287,1034535880,1024964917)+W(11,1011091807,1038185039,1018308239,1032129132);sum2=W(0,-1123557888,-1139662759,-1120649660,1021700488)+W(1,-1119215196,1025758640,-1134635263,1025396502)+W(2,1024038368,1022314468,1016353740,-1149024430)+W(3,-1127462832,-1109226016,1022909500,-1106595065)+W(4,964997605,1007232143,-1112234110,1052797849)+W(5,1032636001,-1096670151,-1103246759,-1095307242)+W(6,-1123190992,1040909663,1035500288,1059925772)+W(7,-1123381020,-1110751472,-1114698588,1016687528)+W(8,-1170950771,-1119781676,-1122589660,1021322900)+W(9,-1124742672,1037872214,-1123038904,1025386190)+W(10,1009594487,1011035391,-1122952928,1015425876)+W(11,1024335912,-1115520552,1026100870,-1128653768);WS(-1080960863,1058419411); +sum1=W(0,-1118700722,1032983255,-1122641758,1033094082)+W(1,-1121000958,-1133773881,-1141737059,-1120123854)+W(2,-1111066847,-1112208894,-1099579692,-1090459763)+W(3,-1107128402,-1107276892,-1116550064,-1103159313)+W(4,984198859,-1099715572,1049479517,1062349342)+W(5,-1099059374,1033076198,-1125040759,1037355536)+W(6,1043965403,-1113907195,1050672334,1061713555)+W(7,1059583022,-1121054998,1024684126,1026513898)+W(8,-1108783427,-1113914551,-1105019770,-1095692932)+W(9,-1099879371,-1108028092,1024533736,-1110661700)+W(10,1000248987,-1124179019,-1128328213,1023738862)+W(11,-1131329315,1027231576,-1113801521,1007580489);sum2=W(0,995719700,-1114687459,1024240180,-1115935924)+W(1,1025427056,-1123062148,999440794,-1131128122)+W(2,-1129327601,1021214658,997717028,978476974)+W(3,-1140454571,1010080137,1002330866,-1152746908)+W(4,-1125739202,1027238209,-1120915257,-1078687396)+W(5,-1111104335,-1128218828,-1147995690,-1128526870)+W(6,1029045123,1037994429,1036441804,1066236156)+W(7,1022342240,1028953671,1024857232,-1126806088)+W(8,1025141617,-1113434302,1032546636,1035362808)+W(9,1033358736,-1166615662,-1165027863,1024563904)+W(10,-1154923092,1007115993,1003062850,-1118441375)+W(11,1017727844,-1129048983,1019778022,1009762473);WS(-1082880574,-1095080656); +sum1=W(0,-1120399523,-1123397517,-1135116544,-1168421181)+W(1,-1131259136,1037719400,-1113348279,1030740495)+W(2,-1111736159,-1128373242,1025039907,-1127950106)+W(3,-1098593297,-1106461210,1024172498,1028249110)+W(4,-1111698940,1019423266,-1092929515,-1098702381)+W(5,1060991762,1018082074,1036669022,-1114016273)+W(6,1037879414,1028697399,1062200098,1023355236)+W(7,-1094756999,-1115312044,-1106391640,-1109491766)+W(8,1037066756,-1119567216,-1131199446,1027882718)+W(9,1038218895,1022591155,-1118950442,-1141634128)+W(10,-1118524245,1027581671,-1139610160,-1139561152)+W(11,1005358744,-1113962893,1026868195,-1126548648);sum2=W(0,1007561151,-1118820752,-1128452386,-1121745985)+W(1,-1114861795,-1121584151,-1120079456,-1129117272)+W(2,-1106890729,1031296198,-1110907715,1032462388)+W(3,1035962501,1035033495,982365671,1035951051)+W(4,-1144059530,-1112391017,1056169840,-1096446085)+W(5,1031556034,987032615,-1138039959,-1119286197)+W(6,1010626011,-1114880200,1052511775,-1094697844)+W(7,1056886944,-1129701328,980377326,-1126702674)+W(8,-1140206187,-1136937433,1034255225,1033067226)+W(9,-1104164393,1013679559,-1115367679,-1137374445)+W(10,-1152147163,-1120281594,-1114711449,993102387)+W(11,-1120009849,-1122813977,-1118918686,1006646323);WS(1058795070,1058351276); +sum1=W(0,-1129226172,1032650784,-1134152362,-1122312016)+W(1,-1145265749,-1118796187,1017891569,-1131365684)+W(2,-1106246658,-1132244111,-1102574120,1028257624)+W(3,1004724909,-1128587973,-1150296521,-1107598873)+W(4,1041614193,1048401911,1050141831,-1088102699)+W(5,-1093353638,-1112285036,-1122892680,-1120116589)+W(6,1041522846,1041471472,1033352747,1030285885)+W(7,1056599450,1049138668,1043369227,1040658126)+W(8,-1106977045,1031926461,-1121658742,-1124591186)+W(9,-1107883356,-1114299650,-1130730345,1034850634)+W(10,-1140271486,-1130658915,-1115542891,-1119417531)+W(11,-1155196377,1003429157,-1125742491,-1137642362);sum2=W(0,1018264792,1019878456,1020074080,-1143212320)+W(1,-1148803168,-1127882992,1017409120,-1131165168)+W(2,-1109681111,-1134735936,-1106212594,1037009054)+W(3,-1132238328,1032289620,990246720,1004132864)+W(4,1028734812,-1093714299,1034660210,1047288883)+W(5,1031452084,-1112028563,-1115169564,1020410832)+W(6,-1104210606,-1099909667,-1098896203,1060586916)+W(7,1042866381,-1109339206,1023925320,-1112228144)+W(8,1025579416,1032419228,1010388000,1030286292)+W(9,-1107165918,1019446368,989303425,1029468412)+W(10,1029305888,-1113499692,1025031188,-1130541520)+W(11,-1127563664,1026005920,-1123344268,1009015280);WS(1043816952,1056206353); +sum1=W(0,-1132948972,1024900084,-1150680698,1016358425)+W(1,-1160444148,-1115326124,1019123435,-1120343575)+W(2,-1115461859,-1107172113,-1097009915,-1102438229)+W(3,1024199571,-1148961467,-1130723763,-1144998513)+W(4,1034684352,1038250028,1061195075,1051576078)+W(5,-1088975285,1010078034,-1107729186,1022450003)+W(6,1037119642,1039626815,-1095598055,1056604231)+W(7,1057172865,1029312608,1039764276,-1112740858)+W(8,-1107088436,-1110088668,-1113187289,-1102307882)+W(9,-1103288997,-1122873761,1032878393,1034042985)+W(10,-1144087781,-1116127087,-1117712852,-1114968828)+W(11,-1134624362,1012385158,-1114736693,1002559709);sum2=W(0,-1135809827,-1140675011,-1137384851,-1147988326)+W(1,1019754904,-1172160176,1006265798,990940844)+W(2,1031002711,1009667595,-1156373420,1010789683)+W(3,-1122328477,-1135703979,1016962928,-1135289651)+W(4,-1136033931,1025543601,-1123691685,-1105219090)+W(5,-1118075063,-1111692677,-1131889022,1010975355)+W(6,-1114169661,-1124911966,1056449903,1044469394)+W(7,1046754031,1034039333,1024901767,-1111731157)+W(8,-1107967067,-1108557845,-1096033675,-1118550723)+W(9,1020360378,1005574774,1025982043,1036125487)+W(10,1027957130,1004385158,1015282250,-1115586301)+W(11,-1120013003,-1130287690,-1127946498,-1169619760);WS(1049886076,1034318367); +sum1=W(0,-1140544720,1006465467,1025588553,-1118154094)+W(1,996302474,-1111905052,-1125961261,-1122979160)+W(2,1022042959,-1106141033,-1104462159,-1100197533)+W(3,1029682164,-1112348667,-1117824763,-1123002959)+W(4,1021784769,966352080,1059646174,1051735858)+W(5,-1085821075,1029991670,-1111853843,1031029131)+W(6,-1131075883,1032360624,-1086897182,1059041662)+W(7,1057694799,1036690656,1030592201,-1155480906)+W(8,-1142660485,1029412697,1042100949,-1106256562)+W(9,-1106530518,-1121375714,1017125029,1014936522)+W(10,-1160888244,-1121174096,1017231209,-1150715274)+W(11,1024907260,1015672965,-1120397516,-1124207481);sum2=W(0,-1110846605,-1118194097,-1143898437,1019764549)+W(1,1008325379,999139301,997400075,1024689095)+W(2,1032320648,1027617785,1000132981,-1102116254)+W(3,1026769453,-1131321177,1008054267,-1118482095)+W(4,1027180085,-1144235925,1031570329,1058710858)+W(5,1031557517,-1129394727,-1131248001,-1120094485)+W(6,1029603693,1030911393,-1119293171,1058397441)+W(7,-1104852463,-1097515304,-1123234663,-1106708620)+W(8,1033577170,-1134544211,-1126616369,-1096477332)+W(9,-1103611475,-1115701158,-1119810656,-1134741251)+W(10,-1112673640,-1123614185,-1129974305,1018853209)+W(11,1036639048,1018401637,1024391909,1017993989);WS(1058429118,1064863249); +sum1=W(0,1021156518,1024394983,1020219616,-1131178666)+W(1,1016100640,1007341951,994206685,964693930)+W(2,983001563,-1115666854,1039490386,1046648007)+W(3,1017911734,1043757188,-1128564932,1045299318)+W(4,1054264097,1049468028,1055450440,-1104196510)+W(5,992909240,-1104186631,-1122765517,-1105268364)+W(6,-1097350840,-1099725362,-1115114453,-1085827188)+W(7,-1100930382,-1128095056,-1118903024,1023907580)+W(8,-1175841770,1024539904,997016493,1043203980)+W(9,1033767351,-1119513801,-1131557236,-1106015350)+W(10,964768362,-1149024695,1012766063,1022718592)+W(11,-1136266891,1035657141,1016423590,1029236260);sum2=W(0,1005391535,1018096716,-1135288360,-1121648533)+W(1,996459166,-1130245220,-1123582348,1033610651)+W(2,-1106696811,-1121907467,1026226746,1031305614)+W(3,1032267559,-1111725659,1028271694,-1108648643)+W(4,1050575955,1051313221,1047952814,-1081952512)+W(5,1040750694,1031579134,1007524520,1034169827)+W(6,-1100156814,1060662591,1068258385,-1074657656)+W(7,-1095314974,1036231973,1044691450,1044987108)+W(8,-1098256564,1029467086,-1142136447,1051661425)+W(9,1035381379,-1107714686,1022647148,-1100160947)+W(10,1028021126,-1129063320,-1131820748,1008147176)+W(11,-1168737402,1020424408,-1129848660,1024695710);WS(-1083443454,998713176); +sum1=W(0,1032696047,1026355790,1024354795,1034252472)+W(1,1012872363,1032281789,1027888345,1016830581)+W(2,1040709994,1040668906,1036398699,1051748575)+W(3,1035129883,1044965075,1031400701,1048807512)+W(4,1040929033,1032459486,1012490030,-1097753826)+W(5,-1114537329,-1100635790,-1103916602,-1098186970)+W(6,-1087559501,-1103862520,-1102928053,-1093112676)+W(7,-1092883854,-1099081393,-1104850339,-1112352715)+W(8,1049786774,1037090637,1047072725,1050721065)+W(9,1039546228,1011437457,1009955155,-1114553850)+W(10,-1146095614,1033091241,1024780023,1037512365)+W(11,1024615038,1037286498,1036010231,1033653631);sum2=W(0,1035861958,-1161872500,-1113290777,-1137177342)+W(1,1034613598,-1103597964,1038756242,-1111249467)+W(2,-1098289107,-1119785106,1033623622,1045692473)+W(3,-1106425659,-1117971136,1019694879,-1114046628)+W(4,1026686124,1049978705,-1098402027,1024040864)+W(5,1053770527,-1127968019,1049090628,1052585151)+W(6,-1096172460,-1107697817,-1091833397,1013412750)+W(7,1046082211,1057075430,1047895771,-1102204197)+W(8,-1113513064,1027596044,-1098063812,1031079096)+W(9,1012376430,-1095279992,1045163433,-1100444173)+W(10,1019723703,-1121217732,1033198374,-1107709748)+W(11,1038124498,-1112843267,-1120386622,1034273086);WS(-1086369662,-1078015058); +sum1=W(0,1024279387,-1100066053,1039589628,-1104719791)+W(1,-1113174076,-1125885710,-1111149795,1024511623)+W(2,1042615374,-1106499229,1049518735,-1115604002)+W(3,-1127523972,1049389829,-1102519338,1042212335)+W(4,1054091094,-1113085188,1050614757,-1103236040)+W(5,1047781504,-1108066658,1041501469,1048227542)+W(6,-1095346029,-1103658220,-1097514477,-1100854410)+W(7,-1097175852,1026529231,-1104719494,-1099302313)+W(8,1050416872,-1111759460,1048966812,-1122281110)+W(9,1043919349,1032565272,1027138593,1036646913)+W(10,-1113840294,-1141254386,1032485602,-1113439156)+W(11,-1119980106,1039770777,-1104628175,1032389542);sum2=W(0,-1092512531,-1093473489,-1081280020,-1076988140)+W(1,-1081342477,-1086556968,-1107875638,-1121362077)+W(2,-1098738343,-1088925799,1042571962,1043337888)+W(3,1033193400,1010020371,-1102154130,-1126174974)+W(4,1063615535,1062426368,1067242406,1066811408)+W(5,1066297017,1060290312,1052028857,1037059936)+W(6,1009177475,1026425874,998962046,-1096426756)+W(7,1022780060,1026166068,1017583668,-1119102823)+W(8,-1119750726,1012050343,1025403720,-1129159374)+W(9,1023044380,-1115355073,1026819560,-1127777686)+W(10,1030476954,-1120184004,1031881676,-1116680638)+W(11,-1135563955,1004442726,946141982,1034449190);WS(-1129707456,1007685382); +sum1=W(0,-1134894751,1044154267,-1111052786,1038046773)+W(1,-1192544411,-1128991721,1035051017,-1122391156)+W(2,-1098519836,1030394337,-1107874844,-1118678129)+W(3,-1111301144,-1115520098,1015910765,-1103669035)+W(4,1040671079,1013414869,-1103276809,-1098881194)+W(5,-1110522396,-1107120076,1033063921,-1111557603)+W(6,1044073412,1041040503,1038778991,-1107344299)+W(7,1048980909,1052479600,1049200001,1051478546)+W(8,-1109530006,1035376874,-1105794628,-1139987723)+W(9,-1108336721,-1112546431,1023468750,1018554845)+W(10,-1134057701,1028314315,-1112561176,992777541)+W(11,-1112828028,-1132207293,999515194,-1119107128);sum2=W(0,-1137824107,-1126465818,1005362547,-1158497445)+W(1,-1119770196,1021074352,-1138544392,1034621027)+W(2,-1110122518,1033612180,-1116868027,1039739597)+W(3,1037998233,-1112420682,1025116420,-1120069279)+W(4,-1137081539,-1106894813,1045165527,-1106604299)+W(5,-1138568822,1039276731,-1104439342,-1113398206)+W(6,1039063461,1047362418,1067526191,1071589227)+W(7,1061860820,-1077533661,-1073373771,-1094637864)+W(8,-1158403413,-1117814890,-1136640937,1044031039)+W(9,-1133800170,1031122886,-1106196407,1031315442)+W(10,-1124656554,1023374342,-1115663214,-1148955153)+W(11,-1123862185,999718675,-1139157324,1025985948);WS(1033791472,-1138498893); +sum1=W(0,-1143657507,1014781903,1029133201,1018917100)+W(1,998381448,1016812674,-1118545247,-1137667330)+W(2,-1102835756,-1108646231,-1108649138,-1106020223)+W(3,1003669472,-1113672010,-1114481905,-1127743919)+W(4,1024249065,-1130492804,1008218246,1054388603)+W(5,-1092207694,-1132293500,-1112726231,-1119594899)+W(6,1044190455,1021681616,-1115040338,1058377694)+W(7,1046387590,1049136345,1017676194,-1119541597)+W(8,-1107762844,-1112711792,1019895480,-1123372431)+W(9,-1111491159,-1123523050,-1123035739,1028355707)+W(10,1008291608,-1128240816,1025256893,1014932868)+W(11,1007448080,1008489644,-1112884042,1001709096);sum2=W(0,1014470821,-1120344268,-1114330800,-1106002658)+W(1,1024999308,-1126273593,-1127411221,-1123975632)+W(2,-1106657768,-1106292024,1049926230,1054743689)+W(3,-1112305858,-1122403994,-1116955850,1030827431)+W(4,1034825132,1032219219,1057813788,1049962194)+W(5,1051810194,996027236,984340447,-1114551452)+W(6,1006830039,-1101139832,-1102461554,-1103958261)+W(7,-1098680718,1040205712,-1109277736,-1111240037)+W(8,-1104684796,-1114556582,-1111886229,1050373872)+W(9,1035894797,-1100520246,1014102650,-1106040331)+W(10,-1124459301,1008940380,1029827978,-1133852786)+W(11,-1109427720,1024816377,-1117160816,1003623824);WS(1060089726,1074996161); +sum1=W(0,-1117558175,1029119241,-1141503452,1010789890)+W(1,1037081758,-1120312844,1027150698,1021223318)+W(2,1046443391,1039893948,1041448800,1035829124)+W(3,1041862066,1028398131,1038548631,1047369209)+W(4,-1083103171,-1093429938,-1088988175,1032282738)+W(5,1035486030,-1142682180,-1111879740,-1105296983)+W(6,1040714346,1021452133,1048946821,1021975771)+W(7,1040332065,-1090323173,-1112512014,-1095359061)+W(8,1044503809,1030628716,1038933875,1038764813)+W(9,1032949373,1041097413,1029165798,1046714577)+W(10,1023987857,1027140771,1026874120,1026271340)+W(11,1034225415,-1113760891,1028642719,-1134282558);sum2=W(0,-1130708327,-1156760442,1011385503,1005458237)+W(1,1015786967,-1121500080,1023017975,1008927007)+W(2,-1131662151,-1160974837,-1122121264,-1104012424)+W(3,1025508020,-1106371091,1032453110,-1107217673)+W(4,1027052068,-1119116140,1006726095,1053197196)+W(5,-1150821434,1032166230,-1116451706,-1143126685)+W(6,-1104634511,-1148640061,-1101053828,1050251696)+W(7,1043632028,-1115585403,1032061998,1045664978)+W(8,1037500532,1028521640,1041142688,-1121651972)+W(9,-1105814552,-1117076340,-1120517680,-1103126409)+W(10,-1117309872,-1132259207,-1129219511,-1148190653)+W(11,1005943453,-1120252400,1024831312,-1126349911);WS(-1081408895,1057237802); +sum1=W(0,1016592219,-1135569700,1019913045,-1134722237)+W(1,1020337237,1019971573,1015924209,1027236154)+W(2,1050393725,1025037351,1042967287,1042881918)+W(3,1033060699,1038993285,1028206140,1041649576)+W(4,-1096948620,1021729271,-1123436299,-1107250293)+W(5,1047123275,1037602588,1034435092,1044331459)+W(6,-1099121222,-1114451665,-1104931659,-1092679092)+W(7,-1098053310,-1091584672,-1092984777,-1089381821)+W(8,1042338077,1033766733,1036822635,1042265522)+W(9,1043883210,1042862441,1029491668,1042007901)+W(10,1026859007,1023688209,994107237,1017621813)+W(11,1033354815,-1147819555,1035642823,963919445);sum2=W(0,-1127968320,1036537032,-1112917417,1020801080)+W(1,1019615648,-1127208552,1023589392,-1121416948)+W(2,-1092240358,1030963640,-1097473768,-1109029546)+W(3,-1116583352,1028578068,-1113404853,1041090246)+W(4,1057542400,-1105653780,1053316325,1058712288)+W(5,1043894648,-1093453186,1034405836,-1094394128)+W(6,1016463192,-1097383073,1038201480,1052867895)+W(7,-1123129572,-1141347136,1006791808,1037486484)+W(8,-1094079665,1040975890,-1101066411,1013027424)+W(9,-1118015492,-1117505000,-1111557726,1044943944)+W(10,1037438732,1019305024,1028884816,1010261952)+W(11,1027371024,-1113360113,1034904608,-1104647878);WS(-1076745215,1064070508); +sum1=W(0,1019383636,-1138649581,1029667879,-1127653591)+W(1,1027426151,1022926189,1004012708,1016119660)+W(2,1043437193,1030286820,1040316179,1048543741)+W(3,1029763954,1039947283,1025479577,1041368223)+W(4,-1100863080,1033675388,-1102225484,-1084687593)+W(5,-1111626052,1026499316,-1122995300,1026134601)+W(6,1019299111,1027453406,-1110289513,-1082029409)+W(7,983973284,1031954367,-1118301831,1016553765)+W(8,1041928012,1031909515,1043406276,1044625233)+W(9,1044339921,1039879984,1022733729,1012331970)+W(10,1018313975,-1136380470,1026991539,-1136351578)+W(11,1027257018,1022902273,1026798858,1027440187);sum2=W(0,-1131696089,1008718823,-1149188438,-1140198251)+W(1,-1129603953,1007479839,-1141563590,1018622169)+W(2,1012459087,-1135045027,-1118135053,1033739972)+W(3,-1142742214,1015462815,-1126906553,-1135479163)+W(4,-1112347233,-1125420309,1041969824,1052325325)+W(5,1029891118,-1120072309,1017890385,1016803437)+W(6,1039451269,-1110618065,1024383435,1052741682)+W(7,-1121721953,-1095903036,-1105015368,-1098230278)+W(8,-1158657302,1007247903,1015365577,1034080133)+W(9,-1110453303,-1162307222,-1122346803,1021342643)+W(10,-1129595249,999949222,-1130814181,-1140370763)+W(11,1020979581,-1132990667,1008938691,-1137891195);WS(-1094563452,1051169575); +sum1=W(0,-1154622990,1029393378,-1117775501,1033996553)+W(1,-1136342582,1018491963,1032030382,1015760954)+W(2,1018130713,1035203109,-1113234793,-1106127031)+W(3,-1114335628,-1112874623,1023872671,-1110067034)+W(4,1040428881,1032896399,1049040808,-1112183035)+W(5,1048012112,1044702279,1032915973,1035998904)+W(6,-1120902330,1039535746,-1102863965,-1090463816)+W(7,961094679,-1098092733,1033184663,1029109433)+W(8,-1113835211,1021002107,-1107942972,-1105904891)+W(9,-1148767576,-1124337998,1006151100,-1110631596)+W(10,1019319877,1036762426,-1135300966,1040237135)+W(11,1032716400,-1137189022,1037223880,1013167238);sum2=W(0,1028413027,-1120070369,1012563150,-1111535757)+W(1,1011962278,1009477102,-1153318262,974823129)+W(2,-1121092135,-1130520759,-1120753460,-1097640928)+W(3,-1098008778,999766235,-1122757360,-1129371381)+W(4,1017337743,1037177446,-1106734706,1051800696)+W(5,1035782812,-1106510696,1010623246,1028214977)+W(6,-1137632446,-1104029390,1048794348,1050145982)+W(7,-1114477541,1047938812,-1111017918,-1123769252)+W(8,999930971,1033133092,-1111694827,1041394994)+W(9,-1118971109,-1127041263,1020162151,-1124747017)+W(10,1027578971,-1114678191,1030530567,-1119592910)+W(11,1001961835,1024176823,-1115486877,1007999422);WS(1057759166,-1088449289); +sum1=W(0,-1129635066,1025446574,-1144519245,1017539549)+W(1,1026395242,-1122678010,1025431320,1024557433)+W(2,1044873994,1037627635,1041685209,1033910011)+W(3,1039651930,1035038013,1039320958,1038868536)+W(4,-1087389198,-1097118359,-1089578865,-1129568803)+W(5,1010566389,1030050103,-1110122707,-1112614790)+W(6,-1116302487,1022204225,1022125102,-1105345911)+W(7,-1122366800,-1097803608,-1119554634,-1126568107)+W(8,1048786726,1039292653,1045860709,1045748274)+W(9,1027479143,1033498658,-1161253492,1010965710)+W(10,1017011581,1021371937,1025212662,1031878029)+W(11,1013486066,1007580942,1028360045,1015223035);sum2=W(0,-1162281894,-1124547002,-1150111187,-1135956229)+W(1,-1145634890,965409433,-1123274137,1024679583)+W(2,1033992046,-1149048922,988741862,-1132541637)+W(3,-1132011310,1024739191,1008671821,-1129294934)+W(4,1042856153,1036788056,-1112557119,-1097406101)+W(5,-1121853795,-1104384368,1032013500,-1147059498)+W(6,1038465062,1046094595,1060179844,1049669935)+W(7,-1101657128,1042681611,-1111116605,1027020519)+W(8,-1093956780,-1100316514,-1090501223,1022378118)+W(9,1045140163,-1121116299,1035479824,-1131272734)+W(10,1024284423,1035682376,-1122577303,-1113139255)+W(11,-1130855582,-1118824057,1006161754,-1124922046);WS(-1086987838,-1100233980); +sum1=W(0,1015308459,-1122325985,-1116672610,1032904116)+W(1,-1141168915,1033123257,1001375875,1015833828)+W(2,1041765192,1028094431,1042485054,-1118546351)+W(3,-1118052589,-1116818498,992241989,1015146386)+W(4,-1105415847,-1114108890,-1092596043,1046690691)+W(5,1054244345,1049735534,1040724504,1041637233)+W(6,1042444900,1041449686,1049087917,-1128556841)+W(7,-1089307961,-1094503991,-1104029377,-1100869156)+W(8,-1111075669,-1106140165,-1110170951,1034284768)+W(9,1026589088,1030527932,1008796465,-1123717612)+W(10,1003799483,1034767973,-1144225139,1033288361)+W(11,1010481109,-1121578684,1030765989,-1124977133);sum2=W(0,-1128145157,1026284201,1012811840,-1136599052)+W(1,992541697,1011005728,-1127430370,995789721)+W(2,-1100557855,-1106810438,1042787919,1044596046)+W(3,1038174685,-1104618112,-1166127490,-1116633305)+W(4,1057648426,1054522141,-1098531848,-1073275189)+W(5,1061008073,1059653331,1035655860,1017274260)+W(6,1048654145,1057115188,1046636853,-1074262745)+W(7,1044984510,1060082709,1034192337,1033697834)+W(8,-1122215769,-1103409060,1046426252,1035358469)+W(9,1036107748,-1104639697,-1130597644,-1112828961)+W(10,-1133425768,1017140792,-1118227807,-1143532160)+W(11,1016191398,981079778,1006837720,1021901152);WS(-1092446204,989212831); +sum1=W(0,1007124942,-1116778591,1027403088,-1121715541)+W(1,1019921952,1020332096,-1139218425,1020381759)+W(2,1048125124,-1131432602,1042237585,-1138060917)+W(3,1027977243,-1126238792,-1131884420,1024321015)+W(4,-1138101793,-1106585464,1016240146,1037962972)+W(5,1053191424,1053622732,1043276755,1049124886)+W(6,-1141178857,1019782926,1036610823,-1101006449)+W(7,-1094792341,-1089064867,-1101892348,-1107274751)+W(8,-1102978326,-1115311760,-1110971902,-1114322839)+W(9,1031189102,-1137835047,-1132849129,-1110951117)+W(10,1034583667,1015089582,1027127900,1008360193)+W(11,1028625507,1017386452,1009465805,1008208785);sum2=W(0,-1120159352,-1125980662,-1131578305,1028063854)+W(1,1021975879,1033612769,-1119579693,1040487308)+W(2,-1088595541,1050146519,-1090859444,-1107336769)+W(3,-1105868965,1041431951,-1112749441,1042279365)+W(4,1060560783,-1093128727,1057304640,1071289406)+W(5,-1087527230,-1086794372,982969010,-1089785065)+W(6,1061831343,-1098317152,1057012981,1069689231)+W(7,-1097221007,-1086042421,1033122226,-1088997285)+W(8,-1089452071,1042347964,-1095995319,-1096815763)+W(9,-1104502319,1049524493,-1104150062,-1135764460)+W(10,-1101640393,1038452583,-1105624394,1041229675)+W(11,1037791301,-1143180172,1029453052,1049121852);WS(-1080642303,1037515653); +sum1=W(0,1014399585,1040389217,1025436037,1035628117)+W(1,1032176658,1019714410,1031481267,-1129425897)+W(2,-1123461796,1009459592,-1118449912,-1111999897)+W(3,1042449564,-1098862637,1015874414,-1108656118)+W(4,-1115821917,-1138501592,1046808963,1046961203)+W(5,-1085801589,1042823052,1032561937,1022709518)+W(6,1037702505,1046330151,-1088063230,1048171302)+W(7,1046621083,1033619294,1017602698,-1172911161)+W(8,-1105260875,-1113097082,-1166545913,-1112931778)+W(9,-1116953058,-1108126015,1033606503,-1161936349)+W(10,-1134503912,1032999462,1011659972,1033647146)+W(11,1020514160,1023868127,1030447848,1015791986);sum2=W(0,-1139497271,1025910769,-1105297083,1037339247)+W(1,-1111547600,-1123186639,1029488041,-1137152287)+W(2,-1104932637,1043978669,-1105480129,1037617885)+W(3,-1107402541,-1105522985,1011577705,-1102258444)+W(4,1000924601,-1116100213,-1102785010,1049988969)+W(5,1045831134,1040977948,1036894407,1025599417)+W(6,1034980171,1042493673,1044002411,1050036780)+W(7,1039942071,-1097804729,1042714488,-1139888185)+W(8,-1102656208,1038409695,-1098474508,-1122964745)+W(9,-1106907325,1028039731,-1112976714,-1112698813)+W(10,-1154378706,1025837919,-1109802618,1036616991)+W(11,-1132149525,-1111839940,1040500443,-1114191023);WS(1060124606,-1084472548); +sum1=W(0,1012638700,-1131934189,-1129347279,-1138043955)+W(1,1007380511,1022374575,996895579,992489843)+W(2,-1112711971,1021193865,-1125331574,1048955067)+W(3,-1106488069,-1115361884,-1120058426,-1118477310)+W(4,1024524352,1017460401,-1113956442,-1094951982)+W(5,1048203795,1005249701,1026650437,-1129456851)+W(6,1032623962,-1117271615,1049120342,1015143283)+W(7,-1110142007,1024310560,-1121731240,1036683482)+W(8,-1115629480,1023262959,-1108495481,1031640934)+W(9,-1129214986,-1136673413,1017029987,-1115998674)+W(10,1027484509,-1157409515,1010910287,1021584239)+W(11,-1144904917,1017598403,-1145343061,1014521967);sum2=W(0,-1113301049,-1129519836,-1113144608,-1114997262)+W(1,1028189537,-1144798799,-1135227415,-1123606042)+W(2,1041723134,1018887182,1065721494,1081282167)+W(3,1053752802,1004635839,1024321495,1032429021)+W(4,-1119425470,-1123219625,-1082046556,-1068115046)+W(5,-1091841582,-1126716683,-1149813598,-1137534547)+W(6,1012563935,1021107126,1032971141,-1092304788)+W(7,-1120681827,1026059029,992723582,-1121765421)+W(8,1013366251,-1131491053,-1132479565,1028331651)+W(9,1021570574,-1132445755,1010781703,1024141029)+W(10,-1135264199,1017265018,-1135106943,927030725)+W(11,983594844,-1137356791,959859164,-1123588459);WS(1064307390,997943845); +sum1=W(0,1016504192,1004931163,1001468389,-1125536771)+W(1,1024701821,-1157300426,1008115882,1014991280)+W(2,-1110031838,-1124632947,-1106796660,-1132488742)+W(3,-1111862756,-1111316170,-1153319146,-1116314499)+W(4,-1108555962,-1129767067,-1106350773,-1097456765)+W(5,1040312105,-1110123941,1030600762,-1109063375)+W(6,1047561626,1003984285,1053522405,1050670238)+W(7,-1128004006,1039422954,1005773541,1042190650)+W(8,-1114174882,1017992857,-1106382906,-1136221548)+W(9,-1123896954,1020844396,1015300557,1024320647)+W(10,1004953741,1018940039,1000370245,1015934681)+W(11,1011062590,-1128259885,-1153739770,-1130969505);sum2=W(0,1036505224,1018720963,1037554666,1035136259)+W(1,-1131720942,1012123245,1027168757,1024471767)+W(2,-1100095598,-1119632397,-1082101932,-1072130218)+W(3,-1090292986,-1114842502,-1108983905,-1105383800)+W(4,1039944480,1033659023,1064933062,1074634461)+W(5,1057038142,1046242606,1018437263,1041395450)+W(6,-1110028565,1025734363,-1103479495,1012777017)+W(7,-1132873326,-1117820012,-1117294599,1033191694)+W(8,1016119595,1015545311,1036578506,1036162128)+W(9,-1120419990,-1115011900,1004277346,-1113427773)+W(10,1017378303,-1126149289,1022196513,-1118704038)+W(11,1020047721,1033886326,-1136709697,1024978781);WS(1053812476,-1113586226); +sum1=W(0,-1130399840,1028349447,1021963321,-1121520129)+W(1,1020769785,-1115853964,1021860117,-1121122124)+W(2,-1111011390,-1120416825,-1107941440,-1106086226)+W(3,-1129958415,-1107644952,-1122155502,-1114352785)+W(4,1007197394,-1105796643,1056809437,1046348585)+W(5,-1090756230,1050300257,-1116443513,1041113720)+W(6,1037708373,1044272829,-1093131829,1057081835)+W(7,1059679544,-1119895572,1040260199,-1110926804)+W(8,-1122978308,-1110423782,-1122097703,-1099751719)+W(9,-1102044582,-1111488955,1019054925,-1156322407)+W(10,-1139049030,-1125249991,1011721762,-1114497366)+W(11,1018253471,1022041005,-1121197023,-1135672898);sum2=W(0,1015672618,-1121994623,-1149412980,-1127744422)+W(1,990134373,1024671460,-1132259460,-1125579600)+W(2,1010541588,1032866568,1044676778,-1124040172)+W(3,-1102290659,1029499881,-1120084193,1001699435)+W(4,-1115998566,1011616452,-1107438884,1058620442)+W(5,1049322309,-1104592911,1035840939,-1123886068)+W(6,1020421847,-1095022641,-1097106911,1015017230)+W(7,-1104275347,1045525693,-1119993661,1037165892)+W(8,-1129704409,1020628925,-1112769863,-1113422252)+W(9,1039268635,1026741584,999745387,-1126762930)+W(10,1015113530,1017019595,1022483811,1015061518)+W(11,-1114030797,-1136765715,-1131682952,-1134246014);WS(1059863230,-1098226968); +sum1=W(0,-1111154474,1033627108,-1111220881,1018934285)+W(1,-1156119577,-1108034825,1035708952,-1116166225)+W(2,-1130042625,1044463840,-1098768819,1036585799)+W(3,1041677635,-1100472134,1038444026,-1111999396)+W(4,-1124092147,-1125693093,1043860042,-1094381437)+W(5,1034781361,1038465479,1027036095,1019243847)+W(6,-1126659421,1045974478,1040108899,-1098844542)+W(7,1051479065,-1096809363,1040658808,1003830125)+W(8,-1116454602,1040744732,-1149847241,1043775752)+W(9,1046003792,-1121805723,1037992790,-1131289879)+W(10,-1109234699,1026252457,-1103478147,-1107008620)+W(11,-1127254569,-1105262391,1038964162,-1116821910);sum2=W(0,1031860762,-1114215534,1037917300,-1123072391)+W(1,-1121765219,1036233577,-1113082189,1007761049)+W(2,1008804487,-1119320351,1028769566,-1145928741)+W(3,-1118791492,1035112755,-1119166399,1034891236)+W(4,1036033743,-1105317049,1033869945,-1104666827)+W(5,-1103277106,1043081028,-1110309063,1003334201)+W(6,-1130814575,-1126605754,1029943513,1058632863)+W(7,1010033985,1033184724,-1124066564,-1146667244)+W(8,-1114717025,-1103884858,-1097519272,-1084821476)+W(9,-1091781337,-1108906997,-1105454190,-1124982586)+W(10,1042429978,1019583714,1050527129,1057878257)+W(11,1047090522,1050006554,-1116436299,1037673833);WS(1053829756,-1108691549); +sum1=W(0,1014621415,-1117035633,1017668333,-1121088251)+W(1,-1113943163,1027915142,-1117882340,1018110476)+W(2,1034972923,1031518451,1028891034,1043029617)+W(3,1037608353,-1118505878,1008280866,-1114328254)+W(4,-1105089900,-1146432572,-1111069516,1052288956)+W(5,1043183409,1040529537,-1127832039,1025673432)+W(6,-1121242915,1011744694,-1099260407,-1096216885)+W(7,-1109446679,1033001703,1023717270,1038283409)+W(8,1024842558,-1195363583,1035963185,1043236853)+W(9,-1104376301,-1110826184,-1108863440,-1136644866)+W(10,-1125107735,1024600093,-1111257697,1022444749)+W(11,1008767270,983774736,1021787123,-1122279626);sum2=W(0,1011466728,-1128158188,993685376,1021341187)+W(1,-1125064327,1016637363,-1135616946,-1142265296)+W(2,-1153535168,-1133074596,-1111924694,1041916532)+W(3,-1115375045,-1111577830,-1121861231,-1139232914)+W(4,-1121363658,-1108077390,1048370655,-1088803436)+W(5,1050909934,1048268187,1028734454,1033829714)+W(6,-1113493290,1031842286,-1096696142,-1097359431)+W(7,1066069354,-1102058354,-1112810542,-1108918948)+W(8,1016979229,-1114077565,1032702600,1051606360)+W(9,-1108957150,-1106393780,-1104652034,-1124153420)+W(10,-1121975877,1032726750,-1126878203,1020447303)+W(11,-1115472084,1011253904,1032484333,-1135690267);WS(1043379192,-1131322837); +sum1=W(0,-1129021027,-1148980502,-1117253390,1015261926)+W(1,1024719214,-1130947836,974083843,1010796022)+W(2,-1109595831,-1141769560,-1131540259,1038059198)+W(3,1043151230,1040366611,1036650848,1032003186)+W(4,1033800339,1040943040,-1099641090,1019360940)+W(5,1047704456,-1120007803,1032688054,-1135300928)+W(6,1042153991,1016895818,1040857522,-1103092216)+W(7,-1091529984,-1100986498,-1116706574,-1114490317)+W(8,-1099711038,1029537886,-1104535414,1032384358)+W(9,1043292971,1031568104,1019020464,1026900536)+W(10,1026187331,1023917269,999787984,-1137467256)+W(11,1021851650,-1117455240,1021119266,-1124200964);sum2=W(0,-1127801857,-1143073539,-1106914355,-1114698807)+W(1,-1129241721,1034854605,1015357631,1026781991)+W(2,1028175283,1010285366,1045024365,-1107796176)+W(3,-1093181393,-1094857339,-1104001534,-1106206681)+W(4,-1129802997,1022418743,-1109183829,1055188047)+W(5,1060464193,1038631095,1035894131,-1121422795)+W(6,-1133354170,-1111757330,1035388549,-1099199714)+W(7,-1108056884,1042537531,1019867695,1010545294)+W(8,-1129332011,1032847739,1028119663,1027769667)+W(9,1015260775,-1123722407,1021694327,-1120402439)+W(10,1029358411,-1119713292,984677997,-1126683209)+W(11,-1117802232,1025618013,-1116557581,1021478623);WS(1049844732,-1121310639); +sum1=W(0,1023733410,-1099209689,1040893204,-1102957277)+W(1,-1114244983,-1136674298,-1108461358,1021220348)+W(2,1044402267,-1106734859,1050332331,-1111686974)+W(3,-1122456058,1049981942,-1102278760,1043895987)+W(4,1053233309,-1108848000,1049912979,-1098618899)+W(5,1048539349,-1111429758,1039273110,1048170180)+W(6,-1096212219,-1103164857,-1099336615,-1097562740)+W(7,-1096335583,1033031043,-1102589972,-1101337719)+W(8,1051767783,-1109302031,1050917291,-1121562509)+W(9,1042792075,1039550692,1008842338,1041281742)+W(10,-1114613442,-1129199659,1033787229,-1111886543)+W(11,-1121890370,1041151474,-1104020956,1031699907);sum2=W(0,1051830333,1052363768,1062286287,1068323273)+W(1,1062941652,1058036233,1038399576,1029358050)+W(2,1040398919,1056364330,-1105094784,-1117763636)+W(3,-1117097644,-1135317262,1045469136,-1127713443)+W(4,-1088812275,-1088095023,-1083945825,-1086712736)+W(5,-1085128967,-1090471655,-1096613184,-1118175248)+W(6,-1112895824,-1128031249,-1110939052,-1122350162)+W(7,-1107088013,-1117471490,-1128774604,1023889083)+W(8,1030823820,-1126124865,-1131257287,1034881723)+W(9,993374262,1022005418,-1124473506,1006015479)+W(10,-1120174945,1022839272,-1113476028,1031923437)+W(11,-1149114843,-1131972943,1015689530,-1114795832);WS(997080576,-1130763300); +sum1=W(0,-1113905570,1030153879,-1117230256,-1152616277)+W(1,-1146808706,-1112646432,-1186209359,-1120216576)+W(2,-1121320815,-1108108727,-1100762033,-1090117932)+W(3,-1109500574,-1102311764,-1119610882,-1099135446)+W(4,1038521748,1032364321,1051702873,1069923213)+W(5,-1104049339,1028696893,-1120830317,1030578386)+W(6,1025325853,-1131460303,1040312882,1063008042)+W(7,1056019095,-1115439812,-1125581089,-1116447004)+W(8,-1108459484,-1152289285,-1099800679,-1092045374)+W(9,-1100849447,-1105934578,1028735898,-1108771165)+W(10,-1123369669,-1111143084,1018134009,-1116551136)+W(11,1015899783,-1120248394,-1113190874,-1120342084);sum2=W(0,-1130955153,-1115062100,-1114768924,1040485485)+W(1,-1102247365,1040365390,-1105380703,-1134789779)+W(2,1025142055,1033634795,-1114031272,-1115074190)+W(3,-1110799922,1039570131,-1112489130,1035629875)+W(4,1025405091,-1124058081,1047530952,-1104495565)+W(5,1038913214,-1102056033,-1123724877,-1104428707)+W(6,1041203911,-1151569099,-1160505239,1065129660)+W(7,-1115442088,1037120419,-1145632358,1035843769)+W(8,1034798579,-1098708869,1048498835,-1095909934)+W(9,-1105078519,1024518769,-1109649658,-1117935125)+W(10,-1107186683,1041850582,-1097808347,1045395705)+W(11,-1106337339,1007217475,-1152795787,-1124566009);WS(-1078383103,1059446981); +sum1=W(0,-1139864362,1022304576,-1117916615,1007335089)+W(1,-1119884647,1022280942,1023668405,1034312731)+W(2,-1142609202,1008862865,-1109139429,1032501274)+W(3,982044231,-1115332063,991223187,-1102309771)+W(4,-1105667544,-1100327790,-1098424968,-1089810345)+W(5,1033240873,1049118183,-1140016273,-1110413061)+W(6,1048881003,1047898440,1053051896,-1104044598)+W(7,1051763270,-1113330784,1027424455,1032557738)+W(8,-1110989208,1029966423,1023833874,1040575921)+W(9,-1114053146,1041606896,-1122699729,1041157596)+W(10,1019807480,-1128249884,-1114518074,1013296733)+W(11,-1110353213,-1126749570,1021514772,-1121516731);sum2=W(0,-1143648694,1022767513,963325627,-1138915747)+W(1,1040530304,1031585165,1008260859,-1120690652)+W(2,1050457027,-1104882348,1052893834,-1122824043)+W(3,1019582897,-1094902239,-1113748748,-1090635807)+W(4,-1090901428,1017677825,-1090554669,1048412513)+W(5,-1101863176,-1104950416,-1120605391,1056780417)+W(6,-1095258955,-1116653154,1030383529,1063122641)+W(7,-1089352859,1057380402,-1106433792,1049388154)+W(8,1047388223,-1125154789,-1114292033,-1118207917)+W(9,1048190601,-1102824630,1038107916,-1104842210)+W(10,1034828442,-1149114774,1040557770,1005930742)+W(11,980397999,1033506230,-1115355457,-1136517107);WS(-1104952056,-1073278929); +sum1=W(0,-1144211169,1031125659,-1121100585,-1142367854)+W(1,1025675017,-1114298540,1036563163,-1122834968)+W(2,-1099507218,-1116651974,-1101060075,-1105066053)+W(3,-1131576359,-1114707952,-1120605819,-1111900952)+W(4,1047627264,-1113308557,1054491321,1039149624)+W(5,-1106626380,1042584197,-1128818827,1039018645)+W(6,1043300637,1037274304,-1102367022,1051689271)+W(7,1044811828,-1128472513,1045578618,-1115669626)+W(8,-1098196346,-1126577137,-1102852173,-1106731162)+W(9,-1111689619,-1126957444,992521004,1025441875)+W(10,1030331294,-1122667056,1026346581,-1120693369)+W(11,1018492983,-1140414731,-1128018583,997033420);sum2=W(0,-1117577133,-1139616023,997820975,1028627780)+W(1,-1114909048,1032747040,-1116006677,1030832637)+W(2,1036324905,-1124977156,-1120808104,-1109376562)+W(3,1029259135,-1145526876,1022442689,983753970)+W(4,1012676607,-1115101040,1041273688,1049990275)+W(5,1043064430,1039154681,1027909669,-1115224952)+W(6,-1164734594,1032695755,1041759226,-1096754642)+W(7,1041324783,-1094055114,-1098711698,1023440264)+W(8,1039853902,-1116113854,1041255405,-1106762918)+W(9,-1111929038,1025837595,-1130147608,-1112181665)+W(10,-1110394349,1006188424,-1120661488,1033535767)+W(11,1021759445,1023476809,-1133986843,1029342490);WS(1057403966,-1096678293); +sum1=W(0,1015545167,1013920108,1030182836,991347091)+W(1,1031028372,-1130110920,-1137745417,-1127755335)+W(2,-1133819725,-1127594402,1031500952,-1107540753)+W(3,1042502792,-1120427420,1023814022,-1113612941)+W(4,1037006758,-1136130453,1042283546,1040431359)+W(5,-1084295706,1042737160,1019878434,1042334622)+W(6,-1110196161,-1123399563,-1086200264,1060132444)+W(7,1049379651,1001749345,1023472436,-1123659840)+W(8,-1111752718,1041684833,1047364560,-1104881213)+W(9,-1113607001,-1117219726,1017968636,1008021369)+W(10,1028708905,-1119121787,-1120221088,1006406689)+W(11,1002061113,1026883950,-1124476270,1011156129);sum2=W(0,-1178786588,1027650789,1004569898,1010647389)+W(1,-1130907066,-1128412421,1000455394,1019136642)+W(2,-1129322914,-1117835702,-1120140062,-1110565129)+W(3,1046200355,1035331810,1040609034,-1114775527)+W(4,-1116170217,-1106357388,1012300621,1051050908)+W(5,-1094299123,1038925264,-1110352470,1028674911)+W(6,1036181740,1050236879,1029537087,-1121260831)+W(7,-1105419536,-1104188032,-1148832482,1009994365)+W(8,1016863918,-1107702296,-1115347042,1019718506)+W(9,1018471790,1035623426,1031812039,-1129304944)+W(10,-1132924585,-1127926494,1007741857,-1147888890)+W(11,-1122466004,-1132432621,-1132484471,-1146317634);WS(1056335484,-1129697442); +sum1=W(0,-1118615510,-1123816285,1016357093,-1126548591)+W(1,1017679973,-1125007109,-1130509569,-1127256452)+W(2,1026825265,-1162479083,-1123245334,-1115166368)+W(3,993334229,1009460392,-1117686884,-1110259820)+W(4,-1102686619,-1175208362,-1112742573,1012633705)+W(5,1048503365,-1110640192,1010107581,1008538193)+W(6,1045269336,-1122870505,1056143939,1022501065)+W(7,1044007618,1043433395,1037226473,1040188728)+W(8,1031523962,1025178018,-1115481871,-1098786498)+W(9,-1107348056,-1104721331,-1124234681,-1112073470)+W(10,-1140818205,-1112741005,1004860403,-1121817826)+W(11,-1134864917,-1142571619,-1120701013,1004599859);sum2=W(0,-1140731697,1018164054,-1116322329,1033668632)+W(1,-1110091010,1006827755,1024608202,978878091)+W(2,-1126783010,-1144859189,-1148034885,-1111621890)+W(3,1034430751,-1133278289,-1134565598,-1106732021)+W(4,1035005186,1011714049,-1112384840,1057652336)+W(5,-1103655808,1035575897,1007536733,1017810394)+W(6,-1110815467,1039236492,-1109778149,1053123628)+W(7,-1113563636,1009902097,1031837967,1032913014)+W(8,-1144657885,-1130754383,-1113329105,-1107649638)+W(9,-1112793157,-1136830370,-1131576514,-1118754368)+W(10,-1127206230,-1146205013,-1113225660,1012470213)+W(11,-1113811608,-1126431906,1007646275,-1123083034);WS(1064654654,1035088379); +sum1=W(0,-1123150274,1013730923,-1124984926,-1143080352)+W(1,-1115541655,-1120446591,1019709882,-1123168830)+W(2,-1101065371,-1104968795,-1104298005,-1097917367)+W(3,-1115560637,-1112072243,-1121553409,-1101025669)+W(4,1052021669,1043838624,1050953841,1053857683)+W(5,-1098028717,-1118042236,-1117850604,1024509393)+W(6,1034671630,-1116995686,-1125221929,1053311748)+W(7,1054064059,1056948345,1047317764,1051915779)+W(8,-1103122974,1025043295,-1102292982,-1101557747)+W(9,-1102206963,-1099829586,-1123986585,-1105952782)+W(10,-1124628232,-1123853974,-1122875259,-1129945790)+W(11,-1115475969,1010096420,-1120157778,1010117900);sum2=W(0,-1115290116,1036300391,-1109664288,1023887773)+W(1,1031338337,-1112746552,1029647363,-1123357025)+W(2,-1109338596,-1120873277,-1133763869,-1110763968)+W(3,-1104363651,-1111086518,1014654409,-1113327782)+W(4,1052546267,1031940424,1041363997,1046589307)+W(5,1038758869,1026186944,1011886363,-1114411312)+W(6,-1101682429,1045633640,-1094977574,1050150667)+W(7,-1104681827,-1121584221,1042076972,1033926660)+W(8,-1106866549,-1121551223,1008614181,-1110488084)+W(9,-1120223295,1035823152,-1111033402,1046305164)+W(10,1027635895,1021591180,-1119215823,1009099129)+W(11,1016354897,-1115537942,1012736237,-1109553196);WS(-1088190206,-1108558078); +sum1=W(0,-1109712467,1034096473,-1111610193,-1111503908)+W(1,1029528067,-1109918121,-1130336610,-1110290409)+W(2,1048826552,-1100191472,1051587686,-1114238856)+W(3,-1124911644,1053388852,-1101598429,1049826386)+W(4,-1117596347,-1104233509,-1112703594,-1118548075)+W(5,-1094857227,1040678692,-1102065648,-1108498290)+W(6,1045129740,1021528052,-1123092480,1045282957)+W(7,1041941490,-1121835291,1050563972,1032628503)+W(8,-1145103958,1015098342,1033306871,-1105600408)+W(9,-1116887040,1043572363,-1101594283,1041251987)+W(10,1040739958,-1095362037,1043699492,-1112734841)+W(11,-1106244021,1044475255,-1100499697,1015959598);sum2=W(0,-1140036524,-1122134368,-1124742331,1023368729)+W(1,1025643512,-1117935205,1029315286,-1121900993)+W(2,1033121292,-1135675176,1022385651,1037868584)+W(3,-1113410705,1034815986,-1106876578,1029051910)+W(4,1020537037,-1102563608,1017232470,-1097085277)+W(5,1026038978,-1107749524,-1116418603,1013163432)+W(6,-1094559771,-1090683436,-1089829937,-1081905013)+W(7,-1085580324,-1093433405,-1100509010,-1107168757)+W(8,1042598592,1049536131,1015761873,-1122385293)+W(9,-1119606047,1034046493,1037794408,1020109569)+W(10,1048560917,1043095342,1060516603,1068776853)+W(11,1062905414,1053234619,1023262329,1038509970);WS(1048802172,-1118644607); +sum1=W(0,1022629891,1001330921,-1147098739,1023807923)+W(1,-1129374813,1028532286,1031375324,-1151549405)+W(2,-1112271863,1008285357,-1106982824,1020475895)+W(3,958183765,1025640422,-1133565569,-1106868493)+W(4,-1115934246,1007889405,-1110669107,-1095657203)+W(5,-1113474437,-1090481180,-1104303995,-1104624276)+W(6,-1112205646,-1137992085,1044651974,1050363724)+W(7,1050921091,1050665633,1037811271,1049383075)+W(8,1050188943,1025826270,1026008921,1011316531)+W(9,-1106529387,-1131537104,-1125009457,1022847857)+W(10,-1125264263,-1127716075,-1113499645,1026946398)+W(11,-1121270209,1021652689,1014192325,-1142930963);sum2=W(0,1016559128,-1119933527,1008526536,1034816070)+W(1,1018959568,1026554777,-1112891495,1046177388)+W(2,-1089262209,1032931419,-1094914643,-1096197918)+W(3,-1101210129,1049415798,-1128790619,1043157162)+W(4,1053795811,-1108360154,1052999976,1069558608)+W(5,-1103281588,-1085501184,-1098019814,-1088254262)+W(6,1058569170,-1097574423,1052760357,1058007152)+W(7,-1106340652,-1101474305,-1114646508,-1096632714)+W(8,-1094475155,1036603460,-1106271635,1022028102)+W(9,-1121182797,1027756295,-1124734105,1015426864)+W(10,1008650912,-1121755244,1039081818,1004102711)+W(11,1033515588,1032461240,-1118822413,1043397723);WS(-1085648446,-1079079370); +sum1=W(0,1031831473,-1114079994,1031367567,-1118896788)+W(1,-1123680847,1033718927,-1123944253,1033541103)+W(2,1036117159,1003975776,1044164867,1045647319)+W(3,1033826253,1041970952,1024952417,1040029267)+W(4,1049939273,1042007752,1043312672,-1095211959)+W(5,-1122554975,-1116359196,-1176880640,1026974961)+W(6,-1094329359,-1097850009,-1089391360,-1087218668)+W(7,-1100203021,1033960979,-1108529239,-1111794397)+W(8,1040633606,-1134555900,1041283678,1044809099)+W(9,1046447947,1042238738,1024390649,996515216)+W(10,1023486628,1019647980,1023951387,1014099708)+W(11,1017251780,1031788713,-1146375056,1033511473);sum2=W(0,1019169584,-1120973142,1033125970,1025364316)+W(1,-1109812797,1040314133,-1108282977,1018923536)+W(2,1042983019,1009997472,-1103915398,1036688212)+W(3,-1125420780,-1119986230,1034277286,-1117630132)+W(4,-1098354632,-1106283039,1033722376,1062322516)+W(5,-1098634798,1057333054,-1102308141,-1125368820)+W(6,-1099987280,1032814660,-1095179878,1032770062)+W(7,-1109050948,-1097734639,1034195486,1049154263)+W(8,1048978343,-1103033329,1055664562,-1097173506)+W(9,-1103688168,-1173745415,-1107997912,-1098308929)+W(10,-1118546716,1022934360,-1110281795,1045599869)+W(11,-1119010038,1038965178,1007528912,1035253180);WS(-1089355774,-1078290086); +sum1=W(0,-1122950775,-1112691207,1023290087,-1107733500)+W(1,-1146188190,-1132821263,-1112282369,-1116356099)+W(2,1037182841,-1124344033,1046400294,-1118583361)+W(3,1042531744,-1121639475,-1137408791,1018516820)+W(4,-1118638572,1041047393,-1098349922,1057481334)+W(5,-1139289650,-1109625472,1026873009,-1139389015)+W(6,-1121667553,-1104403323,-1099164822,1054069421)+W(7,-1097191323,1041114291,-1120861012,-1139200383)+W(8,1009124079,-1138062223,1044398104,-1149431076)+W(9,1044515332,-1120573261,-1120947806,1017011067)+W(10,-1115334660,-1126199861,-1136525567,-1110719762)+W(11,1015659149,-1121643278,-1122889719,-1120569352);sum2=W(0,-1120919296,1009843654,-1132368064,1020138111)+W(1,1029564211,-1115205032,1016741875,-1119663171)+W(2,-1124567280,-1107129213,1020831927,-1098918731)+W(3,-1132836513,1010227332,-1118685376,1026001154)+W(4,1037030993,1043380414,-1109288357,1059483198)+W(5,-1119273466,-1106893419,1028452918,-1135273053)+W(6,-1120629799,-1102119519,-1112537154,1064361176)+W(7,-1104145236,1043150197,-1117770026,1019055438)+W(8,-1106639281,1030878171,-1118412551,-1093377806)+W(9,-1123848756,-1103899854,1024207514,-1109882780)+W(10,1020211370,-1126825280,-1144175329,-1146281491)+W(11,-1135251423,1028327527,-1128215590,1024565629);WS(1064975294,1066308158); +sum1=W(0,1031747776,-1106142801,1028818885,1001228109)+W(1,-1115396498,1041342669,-1108139113,1027821620)+W(2,-1119071204,1032019633,1041375482,-1112793497)+W(3,1013499583,-1123968938,1024220311,1020544662)+W(4,984462229,1045090381,-1093262116,1049965274)+W(5,1052662103,-1113450905,1035427697,-1138282267)+W(6,-1132055971,-1108909198,1038243096,1021279149)+W(7,-1090377239,1040402543,-1107965954,-1116422289)+W(8,-1148253029,-1110036442,1036945928,-1115536386)+W(9,1034061985,993049059,-1113141447,1016907357)+W(10,-1126913907,1036419718,-1121925745,1019907753)+W(11,1032108124,-1109636927,1032825796,-1128061041);sum2=W(0,1016610899,-1135553471,-1163068737,-1147979120)+W(1,-1121296916,-1139692219,1007282246,1019770181)+W(2,-1118189976,1018031354,-1120752887,1035872696)+W(3,1034250650,1022157658,-1131969269,-1131641536)+W(4,1027283971,-1118352328,1042584076,-1095799786)+W(5,1009508653,-1121907329,-1148404200,1013257077)+W(6,1028895363,1032145382,1042427003,1073605475)+W(7,1056095764,-1130051225,1025403981,-1121748387)+W(8,-1113530321,-1123867563,-1099207121,-1075418961)+W(9,-1091570337,-1113117501,-1124635978,-1123610989)+W(10,1007846553,1011272254,1010785270,1026092591)+W(11,1030054693,1019567305,1012575724,1018865930);WS(1062423998,1020226002); +sum1=W(0,-1122384152,1000976853,-1122957973,-1140430696)+W(1,1018079658,-1116871589,1021042950,-1130305609)+W(2,-1116470612,1015809956,-1115150860,-1100102424)+W(3,-1099378776,-1102397253,-1121061927,-1097083551)+W(4,-1095861522,-1125526476,-1101122465,1051208664)+W(5,1045734276,1040938184,1045437908,1049869175)+W(6,1055717600,1034182342,1052715645,1053221217)+W(7,1041738487,1038184662,-1114085178,1019939330)+W(8,-1128557498,-1136390676,-1101688288,-1097231798)+W(9,-1114764537,-1107259340,1034631967,-1105843464)+W(10,-1133541800,1025071548,-1121585121,1026360261)+W(11,-1127628368,-1121765359,1018430000,-1122412137);sum2=W(0,-1125184611,985313435,-1181860650,-1124740239)+W(1,-1132645547,999484231,-1125466771,1024683619)+W(2,-1124729770,-1132095255,1028760415,1011065519)+W(3,1033849803,1015359010,-1140486285,-1125848669)+W(4,1045115043,-1117207517,1036693207,-1088457353)+W(5,-1096437481,1048821220,-1107942084,1027562883)+W(6,1058112728,1067077185,-1107623537,-1080660794)+W(7,-1109418981,-1117188353,1027196953,-1127975224)+W(8,1023628890,-1158219675,1043689375,1020427720)+W(9,-1110185484,1032363474,-1121893121,1023023798)+W(10,1007171579,-1118062236,1000645119,-1160295467)+W(11,1015083304,1023561702,-1134577643,-1158549787);WS(-1085592318,-1113086899); +sum1=W(0,-1127342656,1024334944,-1107952998,1034498345)+W(1,-1131633306,-1110168462,1033648125,-1119681052)+W(2,-1105245475,1029597578,-1104926592,-1110412429)+W(3,-1103724998,-1098176238,-1115323711,-1098367950)+W(4,-1104578161,-1117644382,-1101901257,1053247055)+W(5,1051300307,1051451939,1049307889,1053283054)+W(6,1053241687,1041591201,1051692021,1044816720)+W(7,1042909421,-1124765258,-1143558503,-1113485404)+W(8,-1103827813,1020278010,-1097952575,-1110749814)+W(9,-1106968399,-1105195378,1027981559,-1102600950)+W(10,-1138537863,1015573096,-1110174988,1033881662)+W(11,-1116328992,-1113141267,1028312016,-1113790704);sum2=W(0,1019423143,-1134200265,1022335641,-1126211289)+W(1,-1160177640,995157684,-1138832033,-1130236057)+W(2,-1118706158,-1122995556,-1113839515,-1123774588)+W(3,1002859666,-1114460336,-1131104601,1027754115)+W(4,-1110500850,1021681136,-1121978030,1048787768)+W(5,1035034344,1025695056,-1126984825,1027074464)+W(6,982325064,-1106847870,1042414810,1052221246)+W(7,1009324191,-1129766425,-1136621129,-1120353368)+W(8,-1117883328,-1115095323,-1112736275,-1118959328)+W(9,1026260852,-1114723897,1016807320,-1121253912)+W(10,-1145733922,1001371122,1019850892,-1113736050)+W(11,1023767274,-1130130145,-1131688905,992217060);WS(1025516512,-1100199588); +sum1=W(0,1010096560,998291066,1015136529,1016981531)+W(1,-1134306338,1015217585,1025573847,1027586712)+W(2,1021891087,-1128181387,-1152435393,1035336779)+W(3,1040424469,1041134374,-1147235028,-1105873140)+W(4,1041308560,1015332531,1054580194,1043985948)+W(5,-1088067164,-1097437107,-1108043523,1024655979)+W(6,-1106994989,-1097993736,-1087955312,1049373383)+W(7,1048585956,1044933000,1037061588,1041451309)+W(8,-1107391304,1040752366,1021987303,1016493518)+W(9,-1111549299,1015283332,-1125444197,1025261651)+W(10,1032706511,-1115681272,1013936722,-1153713033)+W(11,-1122756060,1028860515,-1124931799,1010373746);sum2=W(0,1024904631,-1136864762,1005033941,1030076655)+W(1,1022202973,995105737,1009257370,-1113660547)+W(2,-1115115972,1023564875,-1114446231,-1115188268)+W(3,-1099782234,1025338591,-1107689693,1049272645)+W(4,-1128899549,-1103710322,-1140124434,1057566767)+W(5,1051976820,1009750634,1040613751,-1105716747)+W(6,-1100416868,-1105139728,-1107001478,1061216146)+W(7,-1114917196,-1107279078,-1123762171,-1112133417)+W(8,1014205090,-1112771593,-1105823902,-1101449249)+W(9,-1115621063,-1123827499,-1124460977,1019919657)+W(10,-1138213458,1024304323,1028369943,1031401203)+W(11,-1127316949,1002907445,1021828037,-1121285688);WS(1050734204,-1108852232); +sum1=W(0,-1111669430,1026854009,-1115457556,1022285659)+W(1,-1130768721,-1124925681,988348114,-1117352760)+W(2,-1116292712,-1106093993,-1104273631,-1090233269)+W(3,-1103820941,-1107176543,-1114665965,-1103610460)+W(4,-1122281377,-1103616254,1027625969,1069754213)+W(5,-1114752252,-1130883179,-1144129324,1032882469)+W(6,1027495958,-1113635568,1042550097,1065691213)+W(7,1054098174,1026991873,1018693905,1034282506)+W(8,-1113568120,-1125634353,-1100906821,-1090598793)+W(9,-1103145534,-1107767585,1007587914,-1112131865)+W(10,-1123139966,-1117637392,-1147736996,999398084)+W(11,-1140005358,-1123096067,-1120005196,-1122062653);sum2=W(0,1024214881,-1122830075,1024710111,-1118490155)+W(1,-1134765475,1007204875,955722144,-1132418382)+W(2,-1105712489,1026001227,-1105988647,1044311614)+W(3,-1128591966,1016894538,-1132281374,-1121103003)+W(4,-1096328526,-1089670730,-1109313571,1057951288)+W(5,1031038781,-1135710147,-1121635711,1040031313)+W(6,1036545949,-1104892025,1042923133,1050757116)+W(7,1041007149,-1111844715,982097434,-1131469166)+W(8,-1114697429,1027384734,-1108836817,1046225965)+W(9,-1111832237,1020988490,-1141601766,-1137288635)+W(10,1029115040,-1127506094,1018384918,-1118982995)+W(11,1000957030,1018633070,-1131312630,1012074251);WS(-1077332287,-1089760701); +sum1=W(0,998476811,-1146931846,1020090684,-1115596769)+W(1,1018970620,-1117338894,-1131301080,-1134004534)+W(2,-1126986618,-1106320367,-1103512376,-1106044643)+W(3,1033789092,-1121544222,1025908912,-1120853460)+W(4,1035645275,1033143495,1057100532,1033806067)+W(5,-1089559024,-1119052427,-1109205213,1021655744)+W(6,1035996661,1030948981,-1098691810,1054020686)+W(7,1053006209,1053247323,-1117960094,-1112997269)+W(8,-1111559939,-1116749294,-1114602228,-1102410839)+W(9,-1114317262,-1148875196,1040862618,1024305160)+W(10,1002151576,-1132098378,1020764052,-1131285468)+W(11,-1143682184,-1140686688,-1112291776,-1137942600);sum2=W(0,1006079429,-1142220161,-1129651941,-1120056293)+W(1,1021210606,-1138049810,1020679942,-1144760977)+W(2,1015506585,1012377004,1027444401,1027255740)+W(3,-1154390002,-1121552483,988683875,-1149209645)+W(4,-1129173219,1019086641,1029291472,-1087748986)+W(5,1030702430,1046290929,-1149010889,958643736)+W(6,-1126961905,1027847692,-1099113060,-1071778912)+W(7,1077548482,1017608723,1009874569,-1165018915)+W(8,1025558752,-1121396179,1031608500,-1132223695)+W(9,1041292060,1030045463,-1116313503,-1108302337)+W(10,1004493969,-1129089615,1032469225,-1117547929)+W(11,1017793536,-1115202758,1024909384,-1153372770);WS(1054407548,983325672); +sum1=W(0,1028412425,-1115456470,1017604747,1031921957)+W(1,-1121692358,1041128181,-1131299175,1034097067)+W(2,-1105600625,1033490817,-1115519181,1031550611)+W(3,-1103698804,-1109550327,1030793272,1014014769)+W(4,-1148390382,1044756246,-1103922376,-1090010995)+W(5,1062123705,-1103937189,1039103265,-1135652511)+W(6,1033571545,-1114006910,1059608097,-1087252051)+W(7,-1094628214,1042983319,-1106569209,-1116995186)+W(8,1032293767,-1119790070,-1107101148,1044072953)+W(9,1027680451,1021059262,1007158719,-1141553278)+W(10,-1124427701,1037509878,1007976775,1022727275)+W(11,1033962892,-1108328080,1032055396,-1143059662);sum2=W(0,1007145536,-1108956115,-1123468231,1003522017)+W(1,-1106382527,1023566518,-1116797301,1016028592)+W(2,1011835040,1040320325,1009493536,1036429861)+W(3,1045134298,-1132203156,1044032552,-1103689691)+W(4,-1115291423,-1145921569,-1120694127,1057547857)+W(5,-1120933925,-1105348488,-1105744806,1019566780)+W(6,1029973058,-1113530029,1025444390,1039825371)+W(7,-1093621604,1030401418,-1111109931,1039637835)+W(8,1036345379,-1116109872,-1106839609,1028735446)+W(9,1043632212,1032927131,1031187850,-1119043970)+W(10,-1106716830,1031627486,-1106619549,1032586179)+W(11,-1135351552,-1107014793,1030984886,-1117261713);WS(1062610366,-1081620328); +sum1=W(0,1034909184,1022225638,1022593144,1034659649)+W(1,-1145063906,1029979468,1024460554,-1129493655)+W(2,1041975919,1036878493,1038275488,1049110721)+W(3,1039909252,1050285945,1032760119,1052309552)+W(4,1038564634,1032326503,1032775158,-1104434937)+W(5,-1098154666,-1091716385,-1098908862,-1093908076)+W(6,-1086061975,-1097049310,-1094128798,-1097332230)+W(7,-1096830529,1031802154,-1125106744,1033460244)+W(8,1054071881,1038246806,1049378869,1048167927)+W(9,1037005773,-1122539766,1023442918,-1111713187)+W(10,-1118145809,1033815666,984752392,1040915883)+W(11,-1127387550,1042582214,1025327999,1038395208);sum2=W(0,1025388154,1001261778,1007664153,1018216589)+W(1,1011431705,-1124915037,1007167865,-1118462618)+W(2,-1106689977,1031762430,-1105078255,-1117638934)+W(3,-1119019386,1039919645,-1115769810,1041969311)+W(4,-1110560421,-1111104301,-1122922762,1029938402)+W(5,-1107704269,1043034893,1041034358,1050092429)+W(6,1049316874,-1112011481,1044332351,-1117360942)+W(7,-1116357646,-1107523849,-1112781805,-1104673921)+W(8,983067209,1033280635,-1133572905,1022258405)+W(9,1016143957,-1109485745,1010088409,-1106654827)+W(10,-1121273022,1026153330,-1116643818,1033323756)+W(11,-1123412994,1027380094,1016238045,1006440178);WS(-1079099231,1058224693); +sum1=W(0,-1136025729,1041807413,-1113852830,1038775953)+W(1,-1130024634,-1139925939,1032899333,-1135488689)+W(2,-1098612147,1030021338,-1101745716,-1114342965)+W(3,-1109189268,-1116898669,-1169623989,-1105924753)+W(4,1040574357,-1113591959,1035906153,-1100940817)+W(5,-1110548904,-1107090858,983487291,-1105279552)+W(6,1044962866,1041390773,1038641429,-1112997607)+W(7,1053521164,1048687519,1048553583,1049805017)+W(8,-1107948018,1030293261,-1102747762,-1131180663)+W(9,-1102886695,-1127712365,1020276366,1033907987)+W(10,-1152707357,1019631368,-1119110697,1008365619)+W(11,-1120409456,-1156710253,-1137865855,-1120648241);sum2=W(0,1026221982,-1150712731,-1135858910,998750602)+W(1,1026066546,-1122173835,1019885572,-1114797832)+W(2,1031288593,-1121646784,1020650492,-1118866549)+W(3,-1126679589,1033676882,-1119823506,1024418530)+W(4,1025270629,1040465550,-1102699692,-1090773917)+W(5,-1103726643,1038653616,1044175124,1035909226)+W(6,-1105433524,-1099611845,-1077885918,-1073585027)+W(7,-1083499628,1072488285,1076879885,1053754278)+W(8,1025604422,1015298833,1013887757,-1111404471)+W(9,1029004921,-1128843744,1042609155,-1128976380)+W(10,1025361731,-1118571342,1035533544,-1115122758)+W(11,1025173545,-1132364945,982102231,-1120827581);WS(1039418864,-1140458522); +sum1=W(0,983096624,1029517505,-1121873782,1019803894)+W(1,1027911414,-1108005699,1033576274,-1135118358)+W(2,-1114535995,-1145085849,-1102746926,1028523779)+W(3,-1100878768,1038991951,-1142936385,-1125909817)+W(4,1044450572,-1097839409,1062380387,-1088253674)+W(5,-1109645966,-1154916402,-1107146685,-1122115416)+W(6,1027001827,1032347927,-1106235793,-1090653261)+W(7,1061486174,1029669390,1047810758,1038152785)+W(8,-1117675070,1031259878,-1105839880,1036696746)+W(9,-1097301074,1024178544,1038477872,1041849616)+W(10,1035770150,-1104931415,1033087169,-1121428646)+W(11,-1120235273,1035324408,-1108040973,1017003668);sum2=W(0,-1121567066,1034344084,-1105011035,-1142865888)+W(1,-1136511728,-1106811819,1032101677,-1113394506)+W(2,1033267920,1026284945,1033899226,-1120108491)+W(3,-1122542627,-1120621959,-1134482876,-1114137407)+W(4,-1104421963,-1103410132,1022298858,1057117238)+W(5,1038703002,1033583066,-1122973141,1030826553)+W(6,-1130139832,1037507308,-1102818563,1003910328)+W(7,1043197066,-1124006960,-1124335993,-1125132432)+W(8,-1132243276,1034735332,1044067085,1041074904)+W(9,-1101099519,-1109459597,1041237660,-1128301632)+W(10,1024120715,-1109350039,-1127155070,975508032)+W(11,-1117378085,1001772648,-1113899392,-1126301549);WS(1053462780,-1083681865); +sum1=W(0,1023511963,-1126058411,1027394040,-1118697149)+W(1,993307519,1025756296,-1131368524,1029589575)+W(2,1041747598,1015154794,1045749945,1048726745)+W(3,1043007793,1038169844,1024626666,1040782360)+W(4,1041497612,1018224530,1041814811,-1086401302)+W(5,-1115623160,1032344226,-1127070442,-1131398580)+W(6,-1138339988,996055791,1014351349,-1082085657)+W(7,-1096882594,-1105145572,-1110953740,-1110890258)+W(8,1035615616,1027711272,1040756601,1048515830)+W(9,1042139693,1038148425,1009997960,1029718722)+W(10,1020629658,-1123213919,1032965474,-1129047376)+W(11,-1132054806,1033289129,-1128695798,1029252236);sum2=W(0,1008350928,1011413600,-1120704007,1027382950)+W(1,-1127381517,981904616,1015535284,-1135583391)+W(2,-1118714967,1024023545,-1126562655,1034951721)+W(3,-1128407708,-1126139913,999360844,-1138986423)+W(4,1030231193,-1124778398,-1110351493,1052754126)+W(5,1033272406,-1151802072,1013432992,-1123376913)+W(6,-1091889801,-1098641764,-1104262464,1057762368)+W(7,-1161878816,1012148800,1024540201,1031971990)+W(8,-1108897465,1033453825,-1106889474,1035809187)+W(9,-1132306565,-1153180738,1014625240,-1118108772)+W(10,1032606711,-1125648711,1025836907,-1131934955)+W(11,-1134699254,-1131180247,-1171757551,-1140791326);WS(-1099299320,1056598066); +sum1=W(0,1006197652,-1128153660,-1136164796,1035903322)+W(1,-1130396894,1036246880,-1124832314,1029570879)+W(2,-1127547996,1041714651,1029712499,-1128532088)+W(3,-1106761055,-1121593759,1017604226,1017990507)+W(4,-1106221946,-1098261544,-1085896508,1057218165)+W(5,1054525467,1028130044,1036683414,1016287010)+W(6,1045972807,1038366195,1057638589,1054413180)+W(7,-1086573266,-1090476168,-1101308500,-1110319406)+W(8,1004824505,-1113181968,-1113770157,1038963911)+W(9,1033084478,1042818602,-1130963634,-1114724733)+W(10,-1119658116,1030219574,-1129447670,1033715440)+W(11,-1128924420,-1116035017,1030841394,998207538);sum2=W(0,-1131923124,993280665,-1127811288,1032538133)+W(1,992174233,1002762140,1015088121,992586073)+W(2,1046772351,1028557303,-1107794670,-1098564467)+W(3,-1121892222,1035775413,-1158807761,1019898989)+W(4,-1110971235,-1134148898,1043137579,1067961229)+W(5,-1095277951,-1099141736,1011333246,-1118039147)+W(6,-1105011941,-1104446514,-1096504482,1066594258)+W(7,-1107079502,-1090299346,-1132433157,-1109952821)+W(8,1028001687,-1147560296,-1101129935,-1104613803)+W(9,-1097683180,-1129031039,-1108888578,1040568125)+W(10,-1121147281,1024426003,1034898623,-1136832302)+W(11,1036381319,1009264906,1032287279,-1111357043);WS(-1105186296,-1108555742); +sum1=W(0,1040483623,-1101386974,1040816739,-1134311356)+W(1,-1108915605,1046011615,-1102638726,1034864637)+W(2,-1105046378,1038429012,1031828819,-1107675004)+W(3,1034430779,-1109709717,1030173660,-1130419297)+W(4,-1118442722,1042743759,-1093958439,1030110546)+W(5,1044698927,-1103097566,1041159370,-1111922822)+W(6,1040666374,-1109750289,1050019912,1040526743)+W(7,-1097473172,1045974257,-1110364069,1017242540)+W(8,986662468,-1103538071,1033262923,-1121451017)+W(9,1032745156,1041021277,-1106175813,1032931450)+W(10,-1118942975,1040611956,-1118385334,1012951144)+W(11,1035127903,-1100748433,1037154391,-1121991998);sum2=W(0,-1127162070,-1135271108,1003505825,1012864633)+W(1,-1123384038,1026898060,-1134649836,-1125848258)+W(2,1014979733,-1136185376,1028363168,-1131143608)+W(3,1033256022,-1133517476,-1120532892,1028008335)+W(4,-1114518101,1038675289,-1105093650,-1095849351)+W(5,1028346583,-1113528611,1028725832,-1117113572)+W(6,1016203776,-1140478504,-1089585970,-1070239185)+W(7,-1078361549,1038794260,-1125525718,1005296645)+W(8,1035296562,-1111853852,1058969759,1079096535)+W(9,1068193425,1032636395,1017911666,1032298564)+W(10,-1117887634,1030827904,-1123277259,-1116960146)+W(11,-1125445846,-1113311282,991223090,-1134431064);WS(1065442623,1015025160); +sum1=W(0,-1115365041,1040496438,-1114325264,1036061554)+W(1,1038370800,-1112496600,1039123015,-1120668655)+W(2,-1113215535,1031517084,-1109245393,1002812769)+W(3,1036804053,-1099928488,1036473513,-1116761110)+W(4,1018550702,1044423084,-1131936399,1034975748)+W(5,1048106991,-1107673238,1041344487,1019812354)+W(6,983382403,1017412396,-1109909072,-1099246196)+W(7,-1114225707,-1129165678,1011581692,-1138585900)+W(8,-1103693946,1032083208,-1106995843,1024898238)+W(9,1044531927,-1096349707,1043676418,-1110354101)+W(10,-1124004468,1040563090,-1120263275,1012000060)+W(11,1036150809,-1113013165,1037117105,-1128538214);sum2=W(0,1010698941,1042699596,1048659418,1058578114)+W(1,1052277576,1019470633,1041036392,-1119471849)+W(2,1023126843,-1140656688,-1095653758,-1081184698)+W(3,-1097586600,-1098953045,1018118885,-1122826054)+W(4,-1106210958,1029081919,-1118272649,1060468587)+W(5,1043044817,-1108654451,1029721267,-1130901998)+W(6,-1122624743,1040813712,-1097694847,996865603)+W(7,-1103459725,-1128239326,1034766857,1000734433)+W(8,-1122034237,-1174961495,1033474214,-1102355565)+W(9,1049205466,-1112376452,1033989555,1017824567)+W(10,-1117968485,1039098482,-1118912655,1020119257)+W(11,1031051049,-1108144089,1038110136,-1114988670);WS(-1115864032,1039792746); +sum1=W(0,-1140468214,996096400,1010495721,-1114956320)+W(1,1013460969,-1122072970,-1127833232,-1140762151)+W(2,-1121375417,-1108218204,-1109130991,-1115276388)+W(3,1040789857,-1114444905,1026520268,-1127271361)+W(4,1034497081,1033625894,1055392502,1036829073)+W(5,-1088431348,1030275655,-1111886108,1031218972)+W(6,1039608980,1040179481,-1093805194,1050653566)+W(7,1049263376,1051648994,-1121903450,-1112576115)+W(8,-1113171393,-1108192053,-1127063626,-1109643980)+W(9,-1124542831,-1129660583,1034831154,1019975176)+W(10,-1132620605,1018030914,1012649753,-1127455572)+W(11,-1135717173,-1147064482,-1114505023,-1135014713);sum2=W(0,1015385693,1020691269,1015565489,1019337403)+W(1,-1132207064,-1131086480,-1163542113,1010427910)+W(2,-1115435752,-1141202058,-1111436746,1040267853)+W(3,-1114623303,1025609602,-1140470334,-1128429973)+W(4,1035175215,-1117300235,1033401267,-1100581516)+W(5,1041259906,-1101351817,1020278145,1027629029)+W(6,1017441239,-1122675471,1055273933,1073306798)+W(7,-1073173797,1032997632,-1122237085,-1119509251)+W(8,-1112773411,1031000417,-1101083444,1046685605)+W(9,-1115311051,-1113329498,1031244051,1033297372)+W(10,998363696,1016207247,-1113092041,1013448250)+W(11,-1130370856,1026870685,-1124843109,1014260054);WS(1060418110,-1122066101); +sum1=W(0,1031696780,-1124029560,-1147879495,-1123330286)+W(1,-1137787811,1025904121,-1122010711,-1131825009)+W(2,-1115430516,-1129767372,1033383950,1032201307)+W(3,-1124043956,-1135655378,1016436406,1011740349)+W(4,-1104465800,-1124342772,-1084846132,1040589380)+W(5,1059143665,1047669789,1032251443,1017074582)+W(6,1041576533,1035204176,1057835449,-1121351835)+W(7,-1085338500,1026196737,-1113520196,1023559701)+W(8,-1122042801,-1109435772,-1106791333,1025265863)+W(9,1037079395,1031201378,-1120875027,1024540211)+W(10,1028261758,1025573168,1024098613,1000233671)+W(11,1020968696,-1122702819,1016849816,-1123483709);sum2=W(0,-1127836624,-1173496113,1027284157,1022886010)+W(1,1036751625,-1124242822,1017945890,-1140181115)+W(2,1033364881,-1127629564,-1104916712,-1097350377)+W(3,-1105423640,1034826035,-1122986652,1033442485)+W(4,-1101679270,-1105780675,-1113070309,1061873799)+W(5,-1096904559,-1105550966,-1127473876,-1108824717)+W(6,1023580345,-1119640853,-1132739235,1062616603)+W(7,1009507187,-1098447862,-1116534057,-1115327874)+W(8,-1149619356,1033890881,-1113766541,-1112358042)+W(9,-1119315178,1045500652,1015952658,1033458469)+W(10,-1136662275,-1122666983,1023707939,1028952789)+W(11,-1117384012,-1137245711,-1136860123,1001899534);WS(1052277756,1024619064); +sum1=W(0,1029425189,-1155801216,1030252033,-1112675811)+W(1,1025211073,-1122395345,994289396,-1124711713)+W(2,-1120340480,-1107014752,1038469578,1032327591)+W(3,1034534022,1039704040,-1137717581,1045346698)+W(4,1055903799,1049346130,1057427995,-1103272826)+W(5,1040656272,-1111436999,1016775164,-1134653325)+W(6,-1093981294,-1099678446,-1098793998,-1090697510)+W(7,-1103403378,1041606598,1005246730,1013960373)+W(8,-1125235986,1003141514,1025012844,-1118748640)+W(9,1025335343,-1106833215,1029370155,-1099652851)+W(10,1026200342,-1131584400,1031806855,-1126277858)+W(11,1010568017,1032770798,-1124454216,1034190187);sum2=W(0,1023289146,1020437582,1009748873,1030199907)+W(1,1007345789,1010063617,1018930146,-1127799210)+W(2,1045862572,1028786959,-1120652794,1015917080)+W(3,-1117660774,-1106003069,1039304637,-1098471935)+W(4,-1095566322,-1132354231,-1090793815,1063879108)+W(5,-1107315270,1045942315,-1106431667,1048572904)+W(6,-1087461476,-1101737384,-1083542229,1069217208)+W(7,1056862945,-1153692567,-1111757292,1056217861)+W(8,1016132472,-1127607289,-1107157844,-1097091848)+W(9,-1098187278,-1116485608,1036040005,-1094693884)+W(10,1044890152,-1124440021,1037463572,1032502373)+W(11,1028169917,-1108513707,1034190881,-1108016950);WS(-1086218302,-1084258561); +sum1=W(0,1027347742,1021408948,-1127633782,1039366096)+W(1,-1116749595,1033396118,-1139872292,1025066091)+W(2,1041008695,1036310380,1035524367,1048593117)+W(3,-1138037400,1045683171,1032120647,1046369740)+W(4,1040638149,1041666443,1033011818,1050103608)+W(5,-1111907839,-1097626581,-1099416246,-1095221944)+W(6,-1088163117,-1103354245,-1094269524,-1122175629)+W(7,-1096387988,-1103712029,-1111740158,-1117250695)+W(8,1045697689,1033383494,1040895122,1042904478)+W(9,-1136050786,1018682217,-1126758410,-1121047845)+W(10,-1131589088,1033326017,-1132088142,1042877939)+W(11,-1131538396,1039834587,1030901630,1034112696);sum2=W(0,-1116225927,1030773056,-1122365237,1032148531)+W(1,-1127594672,1026422036,1023835916,-1131330830)+W(2,1020583173,1018516207,-1121497633,1032012136)+W(3,-1111134479,-1112679629,-1123177144,-1112996078)+W(4,-1120289762,-1142227828,1024002380,1050603076)+W(5,1040110681,-1109379336,-1102178993,-1102999759)+W(6,-1116630862,-1157244503,1045806125,1061490298)+W(7,-1104925089,-1096282325,-1103628682,-1116593585)+W(8,1037488437,-1120616119,-1122845130,1029135782)+W(9,-1122119114,1035818151,-1118358279,1024073644)+W(10,-1120774706,1021325617,-1124264052,1020114521)+W(11,-1129316292,-1129796491,1024324894,-1129630471);WS(-1092406524,-1089571522); +return clamp(mstd0 + 5.0 * vsum / wsum * mstd1, 0.0, 1.0); +} // nnedi3 +vec4 hook() { +vec4 ret = vec4(0.0); +vec4 samples[12]; +samples[0][0] = HOOKED_texOff(vec2(-2.0, -3.0)).x; +samples[0][1] = HOOKED_texOff(vec2(-2.0, -2.0)).x; +samples[0][2] = HOOKED_texOff(vec2(-2.0, -1.0)).x; +samples[0][3] = HOOKED_texOff(vec2(-2.0, 0.0)).x; +samples[1][0] = HOOKED_texOff(vec2(-2.0, 1.0)).x; +samples[1][1] = HOOKED_texOff(vec2(-2.0, 2.0)).x; +samples[1][2] = HOOKED_texOff(vec2(-2.0, 3.0)).x; +samples[1][3] = HOOKED_texOff(vec2(-2.0, 4.0)).x; +samples[2][0] = HOOKED_texOff(vec2(-1.0, -3.0)).x; +samples[2][1] = HOOKED_texOff(vec2(-1.0, -2.0)).x; +samples[2][2] = HOOKED_texOff(vec2(-1.0, -1.0)).x; +samples[2][3] = HOOKED_texOff(vec2(-1.0, 0.0)).x; +samples[3][0] = HOOKED_texOff(vec2(-1.0, 1.0)).x; +samples[3][1] = HOOKED_texOff(vec2(-1.0, 2.0)).x; +samples[3][2] = HOOKED_texOff(vec2(-1.0, 3.0)).x; +samples[3][3] = HOOKED_texOff(vec2(-1.0, 4.0)).x; +samples[4][0] = HOOKED_texOff(vec2(0.0, -3.0)).x; +samples[4][1] = HOOKED_texOff(vec2(0.0, -2.0)).x; +samples[4][2] = HOOKED_texOff(vec2(0.0, -1.0)).x; +samples[4][3] = HOOKED_texOff(vec2(0.0, 0.0)).x; +samples[5][0] = HOOKED_texOff(vec2(0.0, 1.0)).x; +samples[5][1] = HOOKED_texOff(vec2(0.0, 2.0)).x; +samples[5][2] = HOOKED_texOff(vec2(0.0, 3.0)).x; +samples[5][3] = HOOKED_texOff(vec2(0.0, 4.0)).x; +samples[6][0] = HOOKED_texOff(vec2(1.0, -3.0)).x; +samples[6][1] = HOOKED_texOff(vec2(1.0, -2.0)).x; +samples[6][2] = HOOKED_texOff(vec2(1.0, -1.0)).x; +samples[6][3] = HOOKED_texOff(vec2(1.0, 0.0)).x; +samples[7][0] = HOOKED_texOff(vec2(1.0, 1.0)).x; +samples[7][1] = HOOKED_texOff(vec2(1.0, 2.0)).x; +samples[7][2] = HOOKED_texOff(vec2(1.0, 3.0)).x; +samples[7][3] = HOOKED_texOff(vec2(1.0, 4.0)).x; +samples[8][0] = HOOKED_texOff(vec2(2.0, -3.0)).x; +samples[8][1] = HOOKED_texOff(vec2(2.0, -2.0)).x; +samples[8][2] = HOOKED_texOff(vec2(2.0, -1.0)).x; +samples[8][3] = HOOKED_texOff(vec2(2.0, 0.0)).x; +samples[9][0] = HOOKED_texOff(vec2(2.0, 1.0)).x; +samples[9][1] = HOOKED_texOff(vec2(2.0, 2.0)).x; +samples[9][2] = HOOKED_texOff(vec2(2.0, 3.0)).x; +samples[9][3] = HOOKED_texOff(vec2(2.0, 4.0)).x; +samples[10][0] = HOOKED_texOff(vec2(3.0, -3.0)).x; +samples[10][1] = HOOKED_texOff(vec2(3.0, -2.0)).x; +samples[10][2] = HOOKED_texOff(vec2(3.0, -1.0)).x; +samples[10][3] = HOOKED_texOff(vec2(3.0, 0.0)).x; +samples[11][0] = HOOKED_texOff(vec2(3.0, 1.0)).x; +samples[11][1] = HOOKED_texOff(vec2(3.0, 2.0)).x; +samples[11][2] = HOOKED_texOff(vec2(3.0, 3.0)).x; +samples[11][3] = HOOKED_texOff(vec2(3.0, 4.0)).x; +ret[0] = nnedi3(samples); +return ret; +} // hook +//!DESC NNEDI3 (combine_x, nns64, win8x6) +//!HOOK LUMA +//!BIND HOOKED +//!BIND nnedi3_int +//!WIDTH 2 HOOKED.w * +//!OFFSET -0.500000 0.000000 +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + if (dir.x < 0.0) { + return HOOKED_texOff(-dir); + } else { + return nnedi3_int_texOff(-dir); + } +} diff --git a/shaders/other/JointBilateral.glsl b/shaders/other/JointBilateral.glsl new file mode 100644 index 0000000..4ef2e80 --- /dev/null +++ b/shaders/other/JointBilateral.glsl @@ -0,0 +1,235 @@ +// MIT License + +// Copyright (c) 2023 João Chrisóstomo + +// 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. + +//!PARAM chroma_offset_x +//!TYPE float +0.0 + +//!PARAM chroma_offset_y +//!TYPE float +0.0 + +//!HOOK CHROMA +//!BIND LUMA +//!BIND CHROMA +//!SAVE LUMA_LR +//!WIDTH CHROMA.w +//!HEIGHT LUMA.h +//!WHEN CHROMA.w LUMA.w < +//!DESC Joint Bilateral (Hermite 1st step, Downscaling Luma) + +float comp_wd(vec2 v) { + float x = min(length(v), 1.0); + return smoothstep(0.0, 1.0, 1.0 - x); +} + +vec4 hook() { + vec2 luma_pos = LUMA_pos; + luma_pos.x += chroma_offset_x / LUMA_size.x; + float start = ceil((luma_pos.x - (1.0 / CHROMA_size.x)) * LUMA_size.x - 0.5); + float end = floor((luma_pos.x + (1.0 / CHROMA_size.x)) * LUMA_size.x - 0.5); + + float wt = 0.0; + float luma_sum = 0.0; + vec2 pos = luma_pos; + + for (float dx = start.x; dx <= end.x; dx++) { + pos.x = LUMA_pt.x * (dx + 0.5); + vec2 dist = (pos - luma_pos) * CHROMA_size; + float wd = comp_wd(dist); + float luma_pix = LUMA_tex(pos).x; + luma_sum += wd * luma_pix; + wt += wd; + } + + vec4 output_pix = vec4(luma_sum /= wt, 0.0, 0.0, 1.0); + return clamp(output_pix, 0.0, 1.0); +} + +//!HOOK CHROMA +//!BIND LUMA_LR +//!BIND CHROMA +//!BIND LUMA +//!SAVE LUMA_LR +//!WIDTH CHROMA.w +//!HEIGHT CHROMA.h +//!WHEN CHROMA.w LUMA.w < +//!DESC Joint Bilateral (Hermite 2nd step, Downscaling Luma) + +float comp_wd(vec2 v) { + float x = min(length(v), 1.0); + return smoothstep(0.0, 1.0, 1.0 - x); +} + +vec4 hook() { + vec2 luma_pos = LUMA_LR_pos; + luma_pos.y += chroma_offset_y / LUMA_LR_size.y; + float start = ceil((luma_pos.y - (1.0 / CHROMA_size.y)) * LUMA_LR_size.y - 0.5); + float end = floor((luma_pos.y + (1.0 / CHROMA_size.y)) * LUMA_LR_size.y - 0.5); + + float wt = 0.0; + float luma_sum = 0.0; + vec2 pos = luma_pos; + + for (float dy = start; dy <= end; dy++) { + pos.y = LUMA_LR_pt.y * (dy + 0.5); + vec2 dist = (pos - luma_pos) * CHROMA_size; + float wd = comp_wd(dist); + float luma_pix = LUMA_LR_tex(pos).x; + luma_sum += wd * luma_pix; + wt += wd; + } + + vec4 output_pix = vec4(luma_sum /= wt, 0.0, 0.0, 1.0); + return clamp(output_pix, 0.0, 1.0); +} + +//!PARAM distance_coeff +//!TYPE float +//!MINIMUM 0.0 +2.0 + +//!PARAM intensity_coeff +//!TYPE float +//!MINIMUM 0.0 +128.0 + +//!HOOK CHROMA +//!BIND LUMA +//!BIND LUMA_LR +//!BIND HOOKED +//!WIDTH LUMA.w +//!HEIGHT LUMA.h +//!WHEN CHROMA.w LUMA.w < +//!OFFSET ALIGN +//!DESC Joint Bilateral (Upscaling Chroma) + +float comp_w(vec2 spatial_distance, float intensity_distance) { + return max(100.0 * exp(-distance_coeff * pow(length(spatial_distance), 2.0) - intensity_coeff * pow(intensity_distance, 2.0)), 1e-32); +} + +vec4 hook() { + float luma_zero = LUMA_texOff(0.0).x; + vec4 output_pix = vec4(0.0, 0.0, 0.0, 1.0); + + vec2 pp = HOOKED_pos * HOOKED_size - vec2(0.5); + vec2 fp = floor(pp); + pp -= fp; + +#ifdef HOOKED_gather + vec4 chroma_quads[4][2]; + chroma_quads[0][0] = HOOKED_gather(vec2((fp + vec2(0.0, 0.0)) * HOOKED_pt), 0); + chroma_quads[1][0] = HOOKED_gather(vec2((fp + vec2(2.0, 0.0)) * HOOKED_pt), 0); + chroma_quads[2][0] = HOOKED_gather(vec2((fp + vec2(0.0, 2.0)) * HOOKED_pt), 0); + chroma_quads[3][0] = HOOKED_gather(vec2((fp + vec2(2.0, 2.0)) * HOOKED_pt), 0); + chroma_quads[0][1] = HOOKED_gather(vec2((fp + vec2(0.0, 0.0)) * HOOKED_pt), 1); + chroma_quads[1][1] = HOOKED_gather(vec2((fp + vec2(2.0, 0.0)) * HOOKED_pt), 1); + chroma_quads[2][1] = HOOKED_gather(vec2((fp + vec2(0.0, 2.0)) * HOOKED_pt), 1); + chroma_quads[3][1] = HOOKED_gather(vec2((fp + vec2(2.0, 2.0)) * HOOKED_pt), 1); + + vec2 chroma_pixels[12]; + chroma_pixels[0] = vec2(chroma_quads[0][0].z, chroma_quads[0][1].z); + chroma_pixels[1] = vec2(chroma_quads[1][0].w, chroma_quads[1][1].w); + chroma_pixels[2] = vec2(chroma_quads[0][0].x, chroma_quads[0][1].x); + chroma_pixels[3] = vec2(chroma_quads[0][0].y, chroma_quads[0][1].y); + chroma_pixels[4] = vec2(chroma_quads[1][0].x, chroma_quads[1][1].x); + chroma_pixels[5] = vec2(chroma_quads[1][0].y, chroma_quads[1][1].y); + chroma_pixels[6] = vec2(chroma_quads[2][0].w, chroma_quads[2][1].w); + chroma_pixels[7] = vec2(chroma_quads[2][0].z, chroma_quads[2][1].z); + chroma_pixels[8] = vec2(chroma_quads[3][0].w, chroma_quads[3][1].w); + chroma_pixels[9] = vec2(chroma_quads[3][0].z, chroma_quads[3][1].z); + chroma_pixels[10] = vec2(chroma_quads[2][0].y, chroma_quads[2][1].y); + chroma_pixels[11] = vec2(chroma_quads[3][0].x, chroma_quads[3][1].x); + + vec4 luma_quads[4]; + luma_quads[0] = LUMA_LR_gather(vec2((fp + vec2(0.0, 0.0)) * HOOKED_pt), 0); + luma_quads[1] = LUMA_LR_gather(vec2((fp + vec2(2.0, 0.0)) * HOOKED_pt), 0); + luma_quads[2] = LUMA_LR_gather(vec2((fp + vec2(0.0, 2.0)) * HOOKED_pt), 0); + luma_quads[3] = LUMA_LR_gather(vec2((fp + vec2(2.0, 2.0)) * HOOKED_pt), 0); + + float luma_pixels[12]; + luma_pixels[0] = luma_quads[0].z; + luma_pixels[1] = luma_quads[1].w; + luma_pixels[2] = luma_quads[0].x; + luma_pixels[3] = luma_quads[0].y; + luma_pixels[4] = luma_quads[1].x; + luma_pixels[5] = luma_quads[1].y; + luma_pixels[6] = luma_quads[2].w; + luma_pixels[7] = luma_quads[2].z; + luma_pixels[8] = luma_quads[3].w; + luma_pixels[9] = luma_quads[3].z; + luma_pixels[10] = luma_quads[2].y; + luma_pixels[11] = luma_quads[3].x; +#else + vec2 chroma_pixels[12]; + chroma_pixels[0] = HOOKED_tex(vec2((fp + vec2(0.5, -0.5)) * HOOKED_pt)).xy; + chroma_pixels[1] = HOOKED_tex(vec2((fp + vec2(1.5, -0.5)) * HOOKED_pt)).xy; + chroma_pixels[2] = HOOKED_tex(vec2((fp + vec2(-0.5, 0.5)) * HOOKED_pt)).xy; + chroma_pixels[3] = HOOKED_tex(vec2((fp + vec2( 0.5, 0.5)) * HOOKED_pt)).xy; + chroma_pixels[4] = HOOKED_tex(vec2((fp + vec2( 1.5, 0.5)) * HOOKED_pt)).xy; + chroma_pixels[5] = HOOKED_tex(vec2((fp + vec2( 2.5, 0.5)) * HOOKED_pt)).xy; + chroma_pixels[6] = HOOKED_tex(vec2((fp + vec2(-0.5, 1.5)) * HOOKED_pt)).xy; + chroma_pixels[7] = HOOKED_tex(vec2((fp + vec2( 0.5, 1.5)) * HOOKED_pt)).xy; + chroma_pixels[8] = HOOKED_tex(vec2((fp + vec2( 1.5, 1.5)) * HOOKED_pt)).xy; + chroma_pixels[9] = HOOKED_tex(vec2((fp + vec2( 2.5, 1.5)) * HOOKED_pt)).xy; + chroma_pixels[10] = HOOKED_tex(vec2((fp + vec2( 0.5, 2.5)) * HOOKED_pt)).xy; + chroma_pixels[11] = HOOKED_tex(vec2((fp + vec2( 1.5, 2.5)) * HOOKED_pt)).xy; + + float luma_pixels[12]; + luma_pixels[0] = LUMA_LR_tex(vec2((fp + vec2(0.5, -0.5)) * HOOKED_pt)).x; + luma_pixels[1] = LUMA_LR_tex(vec2((fp + vec2(1.5, -0.5)) * HOOKED_pt)).x; + luma_pixels[2] = LUMA_LR_tex(vec2((fp + vec2(-0.5, 0.5)) * HOOKED_pt)).x; + luma_pixels[3] = LUMA_LR_tex(vec2((fp + vec2( 0.5, 0.5)) * HOOKED_pt)).x; + luma_pixels[4] = LUMA_LR_tex(vec2((fp + vec2( 1.5, 0.5)) * HOOKED_pt)).x; + luma_pixels[5] = LUMA_LR_tex(vec2((fp + vec2( 2.5, 0.5)) * HOOKED_pt)).x; + luma_pixels[6] = LUMA_LR_tex(vec2((fp + vec2(-0.5, 1.5)) * HOOKED_pt)).x; + luma_pixels[7] = LUMA_LR_tex(vec2((fp + vec2( 0.5, 1.5)) * HOOKED_pt)).x; + luma_pixels[8] = LUMA_LR_tex(vec2((fp + vec2( 1.5, 1.5)) * HOOKED_pt)).x; + luma_pixels[9] = LUMA_LR_tex(vec2((fp + vec2( 2.5, 1.5)) * HOOKED_pt)).x; + luma_pixels[10] = LUMA_LR_tex(vec2((fp + vec2( 0.5, 2.5)) * HOOKED_pt)).x; + luma_pixels[11] = LUMA_LR_tex(vec2((fp + vec2( 1.5, 2.5)) * HOOKED_pt)).x; +#endif + + float w[12]; + w[0] = comp_w(vec2( 0.0,-1.0) - pp, luma_zero - luma_pixels[0] ); + w[1] = comp_w(vec2( 1.0,-1.0) - pp, luma_zero - luma_pixels[1] ); + w[2] = comp_w(vec2(-1.0, 0.0) - pp, luma_zero - luma_pixels[2] ); + w[3] = comp_w(vec2( 0.0, 0.0) - pp, luma_zero - luma_pixels[3] ); + w[4] = comp_w(vec2( 1.0, 0.0) - pp, luma_zero - luma_pixels[4] ); + w[5] = comp_w(vec2( 2.0, 0.0) - pp, luma_zero - luma_pixels[5] ); + w[6] = comp_w(vec2(-1.0, 1.0) - pp, luma_zero - luma_pixels[6] ); + w[7] = comp_w(vec2( 0.0, 1.0) - pp, luma_zero - luma_pixels[7] ); + w[8] = comp_w(vec2( 1.0, 1.0) - pp, luma_zero - luma_pixels[8] ); + w[9] = comp_w(vec2( 2.0, 1.0) - pp, luma_zero - luma_pixels[9] ); + w[10] = comp_w(vec2( 0.0, 2.0) - pp, luma_zero - luma_pixels[10]); + w[11] = comp_w(vec2( 1.0, 2.0) - pp, luma_zero - luma_pixels[11]); + + float wt = 0.0; + vec2 ct = vec2(0.0); + for (int i = 0; i < 12; i++) { + wt += w[i]; + ct += w[i] * chroma_pixels[i]; + } + + output_pix.xy = clamp(ct / wt, 0.0, 1.0); + return output_pix; +} \ No newline at end of file diff --git a/shaders/other/PixelClipper.glsl b/shaders/other/PixelClipper.glsl new file mode 100644 index 0000000..ee3768f --- /dev/null +++ b/shaders/other/PixelClipper.glsl @@ -0,0 +1,186 @@ +// MIT License + +// Copyright (c) 2023 João Chrisóstomo + +// 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. + +//!HOOK POSTKERNEL +//!BIND POSTKERNEL +//!BIND PREKERNEL +//!DESC Pixel Clipper (Upscaling AR) +//!WHEN POSTKERNEL.w PREKERNEL.w / 1.000 > POSTKERNEL.h PREKERNEL.h / 1.000 > * + +#define TWELVE_TAP_AR 0 + +const float strength = 0.8; + +vec4 hook() { + vec2 pp = PREKERNEL_pos * PREKERNEL_size - vec2(0.5); + vec2 fp = floor(pp); + + vec4 f = PREKERNEL_tex(vec2((fp + vec2( 0.5, 0.5)) * PREKERNEL_pt)); + vec4 g = PREKERNEL_tex(vec2((fp + vec2( 1.5, 0.5)) * PREKERNEL_pt)); + vec4 j = PREKERNEL_tex(vec2((fp + vec2( 0.5, 1.5)) * PREKERNEL_pt)); + vec4 k = PREKERNEL_tex(vec2((fp + vec2( 1.5, 1.5)) * PREKERNEL_pt)); +#if (TWELVE_TAP_AR == 1) + vec4 b = PREKERNEL_tex(vec2((fp + vec2(0.5, -0.5)) * PREKERNEL_pt)); + vec4 c = PREKERNEL_tex(vec2((fp + vec2(1.5, -0.5)) * PREKERNEL_pt)); + vec4 e = PREKERNEL_tex(vec2((fp + vec2(-0.5, 0.5)) * PREKERNEL_pt)); + vec4 h = PREKERNEL_tex(vec2((fp + vec2( 2.5, 0.5)) * PREKERNEL_pt)); + vec4 i = PREKERNEL_tex(vec2((fp + vec2(-0.5, 1.5)) * PREKERNEL_pt)); + vec4 l = PREKERNEL_tex(vec2((fp + vec2( 2.5, 1.5)) * PREKERNEL_pt)); + vec4 n = PREKERNEL_tex(vec2((fp + vec2(0.5, 2.5) ) * PREKERNEL_pt)); + vec4 o = PREKERNEL_tex(vec2((fp + vec2(1.5, 2.5) ) * PREKERNEL_pt)); +#endif + + vec4 min_pix = vec4(1e8); + min_pix = min(min_pix, f); + min_pix = min(min_pix, g); + min_pix = min(min_pix, j); + min_pix = min(min_pix, k); +#if (TWELVE_TAP_AR == 1) + min_pix = min(min_pix, b); + min_pix = min(min_pix, c); + min_pix = min(min_pix, e); + min_pix = min(min_pix, h); + min_pix = min(min_pix, i); + min_pix = min(min_pix, l); + min_pix = min(min_pix, n); + min_pix = min(min_pix, o); +#endif + + vec4 max_pix = vec4(1e-8); + max_pix = max(max_pix, f); + max_pix = max(max_pix, g); + max_pix = max(max_pix, j); + max_pix = max(max_pix, k); +#if (TWELVE_TAP_AR == 1) + max_pix = max(max_pix, b); + max_pix = max(max_pix, c); + max_pix = max(max_pix, e); + max_pix = max(max_pix, h); + max_pix = max(max_pix, i); + max_pix = max(max_pix, l); + max_pix = max(max_pix, n); + max_pix = max(max_pix, o); +#endif + + //Sample current high-res pixel + vec4 hr_pix = POSTKERNEL_texOff(0.0); + + // Clamp the intensity so it doesn't ring + vec4 clipped = clamp(hr_pix, min_pix, max_pix); + return mix(hr_pix, clipped, strength); +} + +//!HOOK CHROMA_SCALED +//!BIND CHROMA +//!BIND CHROMA_SCALED +//!DESC Pixel Clipper (Chroma AR) +//!WHEN CHROMA_SCALED.w CHROMA.w / 1.000 > CHROMA_SCALED.h CHROMA.h / 1.000 > * + +#define TWELVE_TAP_AR 0 + +const float strength = 0.8; + +vec4 hook() { + vec2 pp = CHROMA_pos * CHROMA_size - vec2(0.5); + vec2 fp = floor(pp); + + vec4 f = CHROMA_tex(vec2((fp + vec2( 0.5, 0.5)) * CHROMA_pt)); + vec4 g = CHROMA_tex(vec2((fp + vec2( 1.5, 0.5)) * CHROMA_pt)); + vec4 j = CHROMA_tex(vec2((fp + vec2( 0.5, 1.5)) * CHROMA_pt)); + vec4 k = CHROMA_tex(vec2((fp + vec2( 1.5, 1.5)) * CHROMA_pt)); +#if (TWELVE_TAP_AR == 1) + vec4 b = CHROMA_tex(vec2((fp + vec2(0.5, -0.5)) * CHROMA_pt)); + vec4 c = CHROMA_tex(vec2((fp + vec2(1.5, -0.5)) * CHROMA_pt)); + vec4 e = CHROMA_tex(vec2((fp + vec2(-0.5, 0.5)) * CHROMA_pt)); + vec4 h = CHROMA_tex(vec2((fp + vec2( 2.5, 0.5)) * CHROMA_pt)); + vec4 i = CHROMA_tex(vec2((fp + vec2(-0.5, 1.5)) * CHROMA_pt)); + vec4 l = CHROMA_tex(vec2((fp + vec2( 2.5, 1.5)) * CHROMA_pt)); + vec4 n = CHROMA_tex(vec2((fp + vec2(0.5, 2.5) ) * CHROMA_pt)); + vec4 o = CHROMA_tex(vec2((fp + vec2(1.5, 2.5) ) * CHROMA_pt)); +#endif + + vec4 min_pix = vec4(1e8); + min_pix = min(min_pix, f); + min_pix = min(min_pix, g); + min_pix = min(min_pix, j); + min_pix = min(min_pix, k); +#if (TWELVE_TAP_AR == 1) + min_pix = min(min_pix, b); + min_pix = min(min_pix, c); + min_pix = min(min_pix, e); + min_pix = min(min_pix, h); + min_pix = min(min_pix, i); + min_pix = min(min_pix, l); + min_pix = min(min_pix, n); + min_pix = min(min_pix, o); +#endif + + vec4 max_pix = vec4(1e-8); + max_pix = max(max_pix, f); + max_pix = max(max_pix, g); + max_pix = max(max_pix, j); + max_pix = max(max_pix, k); +#if (TWELVE_TAP_AR == 1) + max_pix = max(max_pix, b); + max_pix = max(max_pix, c); + max_pix = max(max_pix, e); + max_pix = max(max_pix, h); + max_pix = max(max_pix, i); + max_pix = max(max_pix, l); + max_pix = max(max_pix, n); + max_pix = max(max_pix, o); +#endif + + //Sample current high-res pixel + vec4 hr_pix = CHROMA_SCALED_texOff(0.0); + + // Clamp the intensity so it doesn't ring + vec4 clipped = clamp(hr_pix, min_pix, max_pix); + return mix(hr_pix, clipped, strength); +} + +//!HOOK POSTKERNEL +//!BIND PREKERNEL +//!BIND POSTKERNEL +//!DESC Pixel Clipper (Downscaling AR) +//!WHEN POSTKERNEL.w PREKERNEL.w / 1.000 < POSTKERNEL.h PREKERNEL.h / 1.000 < * + +const float strength = 1.0; + +vec4 hook() { + int radius = int(ceil((PREKERNEL_size.x / POSTKERNEL_size.x) * 0.5)); + vec4 pix = vec4(0.0); + vec4 min_pix = vec4(1e8); + vec4 max_pix = vec4(1e-8); + + for (int dx = -radius; dx <= radius; dx++) { + for (int dy = -radius; dy <= radius; dy++) { + pix = PREKERNEL_texOff(vec2(dx, dy)); + min_pix = min(pix, min_pix); + max_pix = max(pix, max_pix); + } + } + + vec4 lr_pix = POSTKERNEL_texOff(0.0); + vec4 clipped = clamp(lr_pix, min_pix, max_pix); + return mix(lr_pix, clipped, strength); +} \ No newline at end of file diff --git a/shaders/other/color-alt_luma.glsl b/shaders/other/color-alt_luma.glsl new file mode 100644 index 0000000..0e98de9 --- /dev/null +++ b/shaders/other/color-alt_luma.glsl @@ -0,0 +1,11 @@ + +//!DESC color-alt_luma (Black & White) +//!HOOK LUMA +//!BIND HOOKED + +vec4 hook() +{ + float color = LUMA_texOff(0).x; + return vec4(1.0 - color); +} + diff --git a/shaders/other/colorlevel_expand.glsl b/shaders/other/colorlevel_expand.glsl new file mode 100644 index 0000000..ff51bc4 --- /dev/null +++ b/shaders/other/colorlevel_expand.glsl @@ -0,0 +1,13 @@ + +//!DESC color levels + +//!HOOK MAINPRESUB +//!BIND HOOKED + +const float min = 16.0 / 255.0; +const float max = 255.0 / (235.0 - 16.0); + +vec4 hook() +{ + return (HOOKED_texOff(0) - min) * max; +} + diff --git a/shaders/other/colorlevel_expand_chroma.glsl b/shaders/other/colorlevel_expand_chroma.glsl new file mode 100644 index 0000000..d0d8be4 --- /dev/null +++ b/shaders/other/colorlevel_expand_chroma.glsl @@ -0,0 +1,13 @@ + +//!DESC color levels + (CHROMA) +//!HOOK CHROMA +//!BIND HOOKED + +const float min = 16.0 / 255.0; +const float max = 255.0 / (240.0 - 16.0); + +vec4 hook() +{ + return (HOOKED_texOff(0) - min) * max; +} + diff --git a/shaders/other/colorlevel_expand_luma.glsl b/shaders/other/colorlevel_expand_luma.glsl new file mode 100644 index 0000000..b7220b8 --- /dev/null +++ b/shaders/other/colorlevel_expand_luma.glsl @@ -0,0 +1,13 @@ + +//!DESC color levels + (LUMA) +//!HOOK LUMA +//!BIND HOOKED + +const float min = 16.0 / 255.0; +const float max = 255.0 / (235.0 - 16.0); + +vec4 hook() +{ + return (HOOKED_texOff(0) - min) * max; +} + diff --git a/shaders/other/colorlevel_shrink.glsl b/shaders/other/colorlevel_shrink.glsl new file mode 100644 index 0000000..748a67d --- /dev/null +++ b/shaders/other/colorlevel_shrink.glsl @@ -0,0 +1,13 @@ + +//!DESC color levels - +//!HOOK MAINPRESUB +//!BIND HOOKED + +const float min = 16.0 / 255.0; +const float max = (235.0 - 16.0) / 255.0; + +vec4 hook() +{ + return (HOOKED_texOff(0) * max) + min; +} + diff --git a/shaders/other/colorlevel_shrink_chroma.glsl b/shaders/other/colorlevel_shrink_chroma.glsl new file mode 100644 index 0000000..a72ed58 --- /dev/null +++ b/shaders/other/colorlevel_shrink_chroma.glsl @@ -0,0 +1,13 @@ + +//!DESC color levels - (CHROMA) +//!HOOK CHROMA +//!BIND HOOKED + +const float min = 16.0 / 255.0; +const float max = (240.0 - 16.0) / 255.0; + +vec4 hook() +{ + return (HOOKED_texOff(0) * max) + min; +} + diff --git a/shaders/other/colorlevel_shrink_luma.glsl b/shaders/other/colorlevel_shrink_luma.glsl new file mode 100644 index 0000000..6bfccd0 --- /dev/null +++ b/shaders/other/colorlevel_shrink_luma.glsl @@ -0,0 +1,13 @@ + +//!DESC color levels - (LUMA) +//!HOOK LUMA +//!BIND HOOKED + +const float min = 16.0 / 255.0; +const float max = (235.0 - 16.0) / 255.0; + +vec4 hook() +{ + return (HOOKED_texOff(0) * max) + min; +} + diff --git a/shaders/other/colorlevels.glsl b/shaders/other/colorlevels.glsl new file mode 100644 index 0000000..9bd97e0 --- /dev/null +++ b/shaders/other/colorlevels.glsl @@ -0,0 +1,12 @@ +//!HOOK OUTPUT +//!BIND HOOKED +//!DESC signal range scaling +vec4 color = HOOKED_texOff(vec2(0.0, 0.0)); +vec4 hook() { + const float REFBLACK = ( 64. / 1023.); + const float REFWHITE = ( 940. / 1023.); + + color.rgb *= REFWHITE - REFBLACK; + color.rgb += REFBLACK; + return color; +} \ No newline at end of file diff --git a/shaders/other/minblur-usm.glsl b/shaders/other/minblur-usm.glsl new file mode 100644 index 0000000..b22dedd --- /dev/null +++ b/shaders/other/minblur-usm.glsl @@ -0,0 +1,72 @@ +//!DESC MinBlur-USM +//!HOOK LUMA +//!BIND HOOKED + +#define CMPSWAP(i, j) if (a[i] > a[j]) {\ + float t = a[i];\ + a[i] = a[j];\ + a[j] = t;\ +} + +float remove_grain_20() { + float r = 0.; + r += HOOKED_texOff(vec2(-1, -1)).x; + r += HOOKED_texOff(vec2(+0, -1)).x; + r += HOOKED_texOff(vec2(+1, -1)).x; + r += HOOKED_texOff(vec2(-1, +0)).x; + r += HOOKED_texOff(vec2(+0, +0)).x; + r += HOOKED_texOff(vec2(+1, +0)).x; + r += HOOKED_texOff(vec2(-1, +1)).x; + r += HOOKED_texOff(vec2(+0, +1)).x; + r += HOOKED_texOff(vec2(+1, +1)).x; + r /= 9; + return r; +} + +float remove_grain_11() { + float r = 0.; + r += HOOKED_texOff(vec2(-1, -1)).x * 1.; + r += HOOKED_texOff(vec2(+0, -1)).x * 2.; + r += HOOKED_texOff(vec2(+1, -1)).x * 1.; + r += HOOKED_texOff(vec2(-1, +0)).x * 2.; + r += HOOKED_texOff(vec2(+0, +0)).x * 4.; + r += HOOKED_texOff(vec2(+1, +0)).x * 2.; + r += HOOKED_texOff(vec2(-1, +1)).x * 1.; + r += HOOKED_texOff(vec2(+0, +1)).x * 2.; + r += HOOKED_texOff(vec2(+1, +1)).x * 1.; + r /= 16; + return r; +} + +float remove_grain_4() { + float a[9]; + a[0] = HOOKED_texOff(vec2(-1, -1)).x; + a[1] = HOOKED_texOff(vec2(+0, -1)).x; + a[2] = HOOKED_texOff(vec2(+1, -1)).x; + a[3] = HOOKED_texOff(vec2(-1, +0)).x; + a[4] = HOOKED_texOff(vec2(+0, +0)).x; + a[5] = HOOKED_texOff(vec2(+1, +0)).x; + a[6] = HOOKED_texOff(vec2(-1, +1)).x; + a[7] = HOOKED_texOff(vec2(+0, +1)).x; + a[8] = HOOKED_texOff(vec2(+1, +1)).x; + CMPSWAP(0, 1); CMPSWAP(2, 3); CMPSWAP(4, 5); CMPSWAP(7, 8); + CMPSWAP(0, 2); CMPSWAP(1, 3); CMPSWAP(6, 8); + CMPSWAP(1, 2); CMPSWAP(6, 7); CMPSWAP(5, 8); + CMPSWAP(4, 7); CMPSWAP(3, 8); + CMPSWAP(4, 6); CMPSWAP(5, 7); + CMPSWAP(5, 6); CMPSWAP(2, 7); + CMPSWAP(0, 5); CMPSWAP(1, 6); CMPSWAP(3, 7); + CMPSWAP(0, 4); CMPSWAP(1, 5); CMPSWAP(3, 6); + CMPSWAP(1, 4); CMPSWAP(2, 5); + CMPSWAP(2, 4); CMPSWAP(3, 5); + CMPSWAP(3, 4); + return a[4]; +} + +vec4 hook() { + float src = HOOKED_tex(HOOKED_pos).x; + float rg11 = remove_grain_11(); + float rg4 = remove_grain_4(); + float min_blur = (src - rg11) * (src - rg4) < 0 ? src : abs(src - rg11) < abs(src - rg4) ? rg11 : rg4; + return vec4(src + src - min_blur, 0, 0, 0); +} diff --git a/shaders/other/nlmeans_luma.glsl b/shaders/other/nlmeans_luma.glsl new file mode 100644 index 0000000..3e8a733 --- /dev/null +++ b/shaders/other/nlmeans_luma.glsl @@ -0,0 +1,1035 @@ +/* vi: ft=c + * + * Based on vf_nlmeans.c from FFmpeg. + * + * Copyright (c) 2022 an3223 + * Copyright (c) 2016 Clément Bœsch + * + * 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 2.1 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 . + */ + +// Profile description: Luma only, saves some time by not processing the chroma plane. + +/* The recommended usage of this shader and its variant profiles is to add them + * to input.conf and then dispatch the appropriate shader via a keybind during + * media playback. Here is an example input.conf entry: + * + * F4 no-osd change-list glsl-shaders toggle "~~/shaders/nlmeans_luma.glsl"; show-text "Non-local means (LUMA only)" + * + * These shaders can also be enabled by default in mpv.conf, for example: + * + * glsl-shaders='~~/shaders/nlmeans.glsl' + * + * Both of the examples above assume the shaders are located in a subdirectory + * named "shaders" within mpv's config directory. Refer to the mpv + * documentation for more details. + * + * This shader is highly configurable via user variables below. Although the + * default settings should offer good quality at a reasonable speed, you are + * encouraged to tweak them to your preferences. Be mindful that certain + * settings may greatly affect speed. + * + * Denoising is most useful for noisy content. If there is no perceptible + * noise, you probably won't see a positive difference. + * + * The default settings are generally tuned for low noise and high detail + * preservation. The "medium" and "heavy" profiles are tuned for higher levels + * of noise. + * + * The denoiser will not work properly if the content has been upscaled + * beforehand, whether it was done by you or someone down the line. Consider + * issuing a command to downscale in the mpv console, like so: + * + * vf toggle scale=-2:720 + * + * ...replacing 720 with whatever resolution seems appropriate. Rerun the + * command to undo the downscale. It may take some trial-and-error to find the + * proper resolution. + */ + +/* Regarding speed + * + * Speed may vary wildly for different vo and gpu-api settings. Generally + * vo=gpu-next and gpu-api=vulkan are recommended for the best speed, but this + * may be different for your system. + * + * If your GPU doesn't support textureGather, or if you are on a version of mpv + * prior to 0.35.0, then consider setting RI/RFI to 0, or try the LQ and VLQ + * profiles. + * + * textureGather is LUMA only and limited to the following configurations: + * + * - PS={3,7}:P=3:PST=0:RI={0,1,3}:RFI={0,1,2}:M!=1 + * - Default, very fast, rotations and reflections should be free + * - If this is unusually slow then try changing gpu-api and vo + * - If it's still slow, try setting RI/RFI to 0. + * + * - PS=6:RI={0,1,3}:RFI={0,1,2} + * - Currently the only scalable variant + * - Patch shape is asymmetric on two axis + * - Rotations should have very little speed impact + * - Reflections may have a significant speed impact + * + * Options which always disable textureGather: + * - RF + * - PD + */ + +// The following is shader code injected from guided_s.glsl +/* vi: ft=c + * + * Copyright (c) 2022 an3223 + * + * 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 2.1 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 . + */ + +//desc: "Self-guided" guided filter + +/* The radius can be adjusted with the MEANIP stage's downscaling factor. + * Higher numbers give a bigger radius. + * + * The E variable can be found in the A stage. + * + * The subsampling (fast guided filter) can be adjusted with the IP stage's + * downscaling factor. Higher numbers are faster. + */ + +//!HOOK LUMA +//!DESC Guided filter (IP) +//!BIND HOOKED +//!WIDTH HOOKED.w 1.0 / +//!HEIGHT HOOKED.h 1.0 / +//!SAVE _INJ_IP + +vec4 hook() +{ + return HOOKED_texOff(0); +} + +//!HOOK LUMA +//!DESC Guided filter (MEANIP) +//!BIND _INJ_IP +//!WIDTH _INJ_IP.w 2.0 / +//!HEIGHT _INJ_IP.h 2.0 / +//!SAVE _INJ_MEANIP + +vec4 hook() +{ +return _INJ_IP_texOff(0); +} + +//!HOOK LUMA +//!DESC Guided filter (_INJ_IP_SQ) +//!BIND _INJ_IP +//!WIDTH _INJ_IP.w +//!HEIGHT _INJ_IP.h +//!SAVE _INJ_IP_SQ + +vec4 hook() +{ +return _INJ_IP_texOff(0) * _INJ_IP_texOff(0); +} + +//!HOOK LUMA +//!DESC Guided filter (CORRIP) +//!BIND _INJ_IP_SQ +//!WIDTH _INJ_MEANIP.w +//!HEIGHT _INJ_MEANIP.h +//!SAVE _INJ_CORRIP + +vec4 hook() +{ +return _INJ_IP_SQ_texOff(0); +} + +//!HOOK LUMA +//!DESC Guided filter (A) +//!BIND _INJ_MEANIP +//!BIND _INJ_CORRIP +//!WIDTH _INJ_IP.w +//!HEIGHT _INJ_IP.h +//!SAVE _INJ_A + +#define E 0.001 + +vec4 hook() +{ +vec4 var = _INJ_CORRIP_texOff(0) - _INJ_MEANIP_texOff(0) * _INJ_MEANIP_texOff(0); + vec4 cov = var; + return cov / (var + E); +} + +//!HOOK LUMA +//!DESC Guided filter (B) +//!BIND _INJ_A +//!BIND _INJ_MEANIP +//!WIDTH _INJ_IP.w +//!HEIGHT _INJ_IP.h +//!SAVE _INJ_B + +vec4 hook() +{ +return _INJ_MEANIP_texOff(0) - _INJ_A_texOff(0) * _INJ_MEANIP_texOff(0); +} + +//!HOOK LUMA +//!DESC Guided filter (MEANA) +//!BIND _INJ_A +//!WIDTH _INJ_MEANIP.w +//!HEIGHT _INJ_MEANIP.h +//!SAVE _INJ_MEANA + +vec4 hook() +{ +return _INJ_A_texOff(0); +} + +//!HOOK LUMA +//!DESC Guided filter (MEANB) +//!BIND _INJ_B +//!WIDTH _INJ_MEANIP.w +//!HEIGHT _INJ_MEANIP.h +//!SAVE _INJ_MEANB + +vec4 hook() +{ +return _INJ_B_texOff(0); +} + +//!HOOK LUMA +//!DESC Guided filter +//!BIND HOOKED +//!BIND _INJ_MEANA +//!BIND _INJ_MEANB +//!SAVE RF_LUMA + +vec4 hook() +{ +return _INJ_MEANA_texOff(0) * HOOKED_texOff(0) + _INJ_MEANB_texOff(0); +} + +// End of source code injected from guided_s.glsl +//!HOOK LUMA +//!DESC Non-local means (downscale) +//!WIDTH LUMA.w 3 / +//!HEIGHT LUMA.h 3 / +//!BIND LUMA +//!SAVE EP + +vec4 hook() +{ + return LUMA_texOff(0); +} + +//!HOOK LUMA +//!DESC Non-local means (share) +//!BIND RF_LUMA +//!SAVE RF + +vec4 hook() +{ + return RF_LUMA_texOff(0); +} + +//!HOOK LUMA +//!BIND HOOKED +//!BIND RF_LUMA +//!BIND EP +//!BIND RF +//!DESC Non-local means (nlmeans_luma.glsl) + +/* User variables + * + * It is usually preferable to denoise chroma and luma differently, so the user + * variables for luma and chroma are split. + */ + +/* S = denoising factor + * P = patch size + * R = research size + * + * The denoising factor controls the level of blur, higher is blurrier. + * + * Patch size should usually be an odd number greater than or equal to 3. + * Higher values are slower and not always better. + * + * Research size usually be an odd number greater than or equal to 3. Higher + * values are usually better, but slower and offer diminishing returns. + * + * Even-numbered patch/research sizes will sample between pixels unless PS=6. + * It's not known whether this is ever useful behavior or not. This is + * incompatible with textureGather optimizations, so enable RF when using even + * patch/research sizes. + */ +#ifdef LUMA_raw +#define S 2.25 +#define P 3 +#define R 5 +#else +#define S 1.50 +#define P 3 +#define R 5 +#endif + +/* Adaptive sharpening + * + * Uses the blur incurred by denoising plus the weight map to perform an + * unsharp mask that gets applied most strongly to edges. + * + * Sharpening will amplify noise, so the denoising factor (S) should usually be + * increased to compensate. + * + * AS: 2 for sharpening, 1 for sharpening+denoising, 0 to disable + * ASF: Sharpening factor, higher numbers make a sharper underlying image + * ASP: Weight power, higher numbers use more of the sharp image + */ +#ifdef LUMA_raw +#define AS 0 +#define ASF 1.0 +#define ASP 2.0 +#else +#define AS 0 +#define ASF 1.0 +#define ASP 2.0 +#endif + +/* Starting weight + * + * Lower numbers give less weight to the pixel-of-interest, which may help + * handle higher noise levels, ringing, and may be useful for other things too? + * + * EPSILON should be used instead of zero to avoid divide-by-zero errors. The + * avg_weight variable may be used to make SW adapt to the local noise level, + * e.g., SW=max(avg_weight, EPSILON) + */ +#ifdef LUMA_raw +#define SW 1.0 +#else +#define SW 1.0 +#endif + +/* Weight discard + * + * Discard weights that fall below a fraction of the average weight. This culls + * the most dissimilar samples from the blur, yielding a much more pleasant + * result, especially around edges. + * + * WD: + * - 2: True average. Very good quality, but slower and uses more memory. + * - 1: Moving cumulative average. Inaccurate, tends to blur directionally. + * - 0: Disable + * + * WDT: Threshold coefficient, higher numbers discard more + * WDP (WD=1): Higher numbers reduce the threshold more for small sample sizes + */ +#ifdef LUMA_raw +#define WD 2 +#define WDT 1.0 +#define WDP 6.0 +#else +#define WD 2 +#define WDT 1.0 +#define WDP 6.0 +#endif + +/* Search shape + * + * Determines the shape of patches and research zones. Different shapes have + * different speed and quality characteristics. Every shape (besides square) is + * smaller than square. + * + * PS applies applies to patches, RS applies to research zones. + * + * 0: square (symmetrical) + * 1: horizontal line (asymmetric) + * 2: vertical line (asymmetric) + * 3: diamond (symmetrical) + * 4: triangle (asymmetric, pointing upward) + * 5: truncated triangle (asymmetric on two axis, last row halved) + * 6: even sized square (asymmetric on two axis) + * 7: plus (symmetrical) + */ +#ifdef LUMA_raw +#define RS 3 +#define PS 3 +#else +#define RS 3 +#define PS 3 +#endif + +/* Rotational/reflectional invariance + * + * Number of rotations/reflections to try for each patch comparison. Slow, but + * improves feature preservation, although adding more rotations/reflections + * gives diminishing returns. The most similar rotation/reflection will be used. + * + * The angle in degrees of each rotation is 360/(RI+1), so RI=1 will do a + * single 180 degree rotation, RI=3 will do three 90 degree rotations, etc. + * + * RI: Rotational invariance + * RFI (0 to 2): Reflectional invariance + */ +#ifdef LUMA_raw +#define RI 3 +#define RFI 2 +#else +#define RI 0 +#define RFI 0 +#endif + +/* Temporal denoising + * + * Caveats: + * - Slower, each frame needs to be researched + * - Requires vo=gpu-next and nlmeans_temporal.glsl + * - Luma-only (this is a bug) + * - Buggy + * + * Gather samples across multiple frames. May cause motion blur and may + * struggle more with noise that persists across multiple frames (compression + * noise, repeating frames), but can work very well on high quality video. + * + * Motion estimation (ME) should improve quality without impacting speed. + * + * T: number of frames used + * ME: motion estimation, 0 for none, 1 for max weight, 2 for weighted avg + */ +#ifdef LUMA_raw +#define T 0 +#define ME 1 +#else +#define T 0 +#define ME 0 +#endif + +/* Spatial kernel + * + * Increasing the spatial denoising factor (SS) reduces the weight of further + * pixels. + * + * Spatial distortion instructs the spatial kernel to view that axis as + * closer/further, for instance SD=(1,1,0.5) would make the temporal axis + * appear closer and increase blur between frames. + * + * The intra-patch variants do not yet have well-understood effects. They are + * intended to make large patch sizes more useful. Likely slower. + * + * SS: spatial denoising factor + * SD: spatial distortion (X, Y, time) + * PSS: intra-patch spatial denoising factor + * PST: enables intra-patch spatial kernel if P>=PST, 0 fully disables + * PSD: intra-patch spatial distortion (X, Y) + */ +#ifdef LUMA_raw +#define SS 0.25 +#define SD vec3(1,1,1) +#define PST 0 +#define PSS 0.0 +#define PSD vec2(1,1) +#else +#define SS 0.25 +#define SD vec3(1,1,1) +#define PST 0 +#define PSS 0.0 +#define PSD vec2(1,1) +#endif + +/* Extremes preserve + * + * Reduces denoising around very bright/dark areas. The downscaling factor of + * EP (located near the top of this shader) controls the area sampled for + * luminance (higher numbers consider more area). + * + * EP: 1 to enable, 0 to disable + * DP: EP strength on dark patches, 0 to fully denoise + * BP: EP strength on bright patches, 0 to fully denoise + */ +#ifdef LUMA_raw +#define EP 1 +#define BP 0.75 +#define DP 0.25 +#else +#define EP 0 +#define BP 0.0 +#define DP 0.0 +#endif + +/* Robust filtering + * + * This setting is dependent on code generation from nlmeans_cfg, so this + * setting can only be enabled via nlmeans_cfg. + * + * Compares the pixel-of-interest against downscaled pixels. + * + * This will virtually always improve quality, but will always disable + * textureGather optimizations. + * + * The downscale factor can be modified in the WIDTH/HEIGHT directives for the + * RF texture (for CHROMA, RGB) and RF_LUMA (LUMA only) textures near the top + * of this shader, higher numbers increase blur. + * + * Any notation of RF as a positive number should be assumed to be referring to + * the downscaling factor, e.g., RF=3 means RF is set to 1 and the downscaling + * factor is set to 3. + */ +#ifdef LUMA_raw +#define RF 1 +#else +#define RF 1 +#endif + +/* Blur factor + * + * 0 to 1, only useful for alternative estimators. You're probably looking for + * "S" (denoising factor), go back to the top of the shader! + */ +#ifdef LUMA_raw +#define BF 1.0 +#else +#define BF 1.0 +#endif + +/* ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS */ +/* ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS */ +/* ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS */ +/* ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS */ +/* ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS * ADVANCED OPTIONS */ + +// Scaling factor (should match WIDTH/HEIGHT) +#ifdef LUMA_raw +#define SF 1 +#else +#define SF 1 +#endif + +/* Estimator + * + * 0: means + * 1: Euclidean medians (extremely slow, may be good for heavy noise) + * 2: weight map (not a denoiser, maybe useful for generating image masks) + * 3: weighted median intensity (slow, may be good for heavy noise) + */ +#ifdef LUMA_raw +#define M 0 +#else +#define M 0 +#endif + +// Patch donut (probably useless) +#ifdef LUMA_raw +#define PD 0 +#else +#define PD 0 +#endif + +// Duplicate 1st weight +#ifdef LUMA_raw +#define D1W 0 +#else +#define D1W 0 +#endif + +/* Shader code */ + +#define EPSILON 0.00000000001 + +#if PS == 6 +const int hp = P/2; +#else +const float hp = int(P/2) - 0.5*(1-(P%2)); // sample between pixels for even patch sizes +#endif + +#if RS == 6 +const int hr = R/2; +#else +const float hr = int(R/2) - 0.5*(1-(R%2)); // sample between pixels for even research sizes +#endif + +// donut increment, increments without landing on (0,0,0) +// much faster than a "continue" statement +#define DINCR(z,c) (z.c++,(z.c += int(z == vec3(0)))) + +// search shapes and their corresponding areas +#define S_1X1(z) for (z = vec3(0); z.x <= 0; z.x++) + +#define S_TRIANGLE(z,hz,incr) for (z.y = -hz; z.y <= 0; z.y++) for (z.x = -abs(abs(z.y) - hz); z.x <= abs(abs(z.y) - hz); incr) +#define S_TRUNC_TRIANGLE(z,hz,incr) for (z.y = -hz; z.y <= 0; z.y++) for (z.x = -abs(abs(z.y) - hz); z.x <= abs(abs(z.y) - hz)*int(z.y!=0); incr) +#define S_TRIANGLE_A(hz,Z) int(pow(hz, 2)+Z) + +#define S_DIAMOND(z,hz,incr) for (z.x = -hz; z.x <= hz; z.x++) for (z.y = -abs(abs(z.x) - hz); z.y <= abs(abs(z.x) - hz); incr) +#define S_DIAMOND_A(hz,Z) int(pow(hz, 2)*2+Z) + +#define S_VERTICAL(z,hz,incr) for (z.x = 0; z.x <= 0; z.x++) for (z.y = -hz; z.y <= hz; incr) +#define S_HORIZONTAL(z,hz,incr) for (z.x = -hz; z.x <= hz; incr) for (z.y = 0; z.y <= 0; z.y++) + +#define S_PLUS(z,hz,incr) for (z.x = -hz; z.x <= hz; z.x++) for (z.y = -hz * int(z.x == 0); z.y <= hz * int(z.x == 0); incr) +#define S_PLUS_A(hz,Z) (Z*2 - 1) + +#define S_SQUARE(z,hz,incr) for (z.x = -hz; z.x <= hz; z.x++) for (z.y = -hz; z.y <= hz; incr) +#define S_SQUARE_EVEN(z,hz,incr) for (z.x = -hz; z.x < hz; z.x++) for (z.y = -hz; z.y < hz; incr) + +#define T1 (T+1) +#define FOR_FRAME(r) for (r.z = 0; r.z < T1; r.z++) + +// Skip comparing the pixel-of-interest against itself, unless RF is enabled +#if RF +#define RINCR(z,c) (z.c++) +#else +#define RINCR DINCR +#endif + +#define R_AREA(a) (a * T1 + RF-1) + +// research shapes +#if R == 0 || R == 1 +#define FOR_RESEARCH(r) S_1X1(r) +const int r_area = R_AREA(1); +#elif RS == 7 +#define FOR_RESEARCH(r) S_PLUS(r,hr,RINCR(r,y)) +const int r_area = R_AREA(S_PLUS_A(hr,R)); +#elif RS == 6 +#define FOR_RESEARCH(r) S_SQUARE_EVEN(r,hr,RINCR(r,y)) +const int r_area = R_AREA(R*R); +#elif RS == 5 +#define FOR_RESEARCH(r) S_TRUNC_TRIANGLE(r,hr,RINCR(r,x)) +const int r_area = R_AREA(S_TRIANGLE_A(hr,hr)); +#elif RS == 4 +#define FOR_RESEARCH(r) S_TRIANGLE(r,hr,RINCR(r,x)) +const int r_area = R_AREA(S_TRIANGLE_A(hr,R)); +#elif RS == 3 +#define FOR_RESEARCH(r) S_DIAMOND(r,hr,RINCR(r,y)) +const int r_area = R_AREA(S_DIAMOND_A(hr,R)); +#elif RS == 2 +#define FOR_RESEARCH(r) S_VERTICAL(r,hr,RINCR(r,y)) +const int r_area = R_AREA(R); +#elif RS == 1 +#define FOR_RESEARCH(r) S_HORIZONTAL(r,hr,RINCR(r,x)) +const int r_area = R_AREA(R); +#elif RS == 0 +#define FOR_RESEARCH(r) S_SQUARE(r,hr,RINCR(r,y)) +const int r_area = R_AREA(R*R); +#endif + +#define RI1 (RI+1) +#define RFI1 (RFI+1) + +#if RI +#define FOR_ROTATION for (float ri = 0; ri < 360; ri+=360.0/RI1) +#else +#define FOR_ROTATION +#endif + +#if RFI +#define FOR_REFLECTION for (int rfi = 0; rfi < RFI1; rfi++) +#else +#define FOR_REFLECTION +#endif + +#if PD +#define PINCR DINCR +#else +#define PINCR(z,c) (z.c++) +#endif + +#define P_AREA(a) (a - PD) + +// patch shapes +#if P == 0 || P == 1 +#define FOR_PATCH(p) S_1X1(p) +const int p_area = P_AREA(1); +#elif PS == 7 +#define FOR_PATCH(p) S_PLUS(p,hp,PINCR(p,y)) +const int p_area = P_AREA(S_PLUS_A(hp,P)); +#elif PS == 6 +#define FOR_PATCH(p) S_SQUARE_EVEN(p,hp,PINCR(p,y)) +const int p_area = P_AREA(P*P); +#elif PS == 5 +#define FOR_PATCH(p) S_TRUNC_TRIANGLE(p,hp,PINCR(p,x)) +const int p_area = P_AREA(S_TRIANGLE_A(hp,hp)); +#elif PS == 4 +#define FOR_PATCH(p) S_TRIANGLE(p,hp,PINCR(p,x)) +const int p_area = P_AREA(S_TRIANGLE_A(hp,P)); +#elif PS == 3 +#define FOR_PATCH(p) S_DIAMOND(p,hp,PINCR(p,y)) +const int p_area = P_AREA(S_DIAMOND_A(hp,P)); +#elif PS == 2 +#define FOR_PATCH(p) S_VERTICAL(p,hp,PINCR(p,y)) +const int p_area = P_AREA(P); +#elif PS == 1 +#define FOR_PATCH(p) S_HORIZONTAL(p,hp,PINCR(p,x)) +const int p_area = P_AREA(P); +#elif PS == 0 +#define FOR_PATCH(p) S_SQUARE(p,hp,PINCR(p,y)) +const int p_area = P_AREA(P*P); +#endif + +const float r_scale = 1.0/r_area; +const float p_scale = 1.0/p_area; + +#define load_(off) HOOKED_tex(HOOKED_pos + HOOKED_pt * vec2(off)) + +#if RF && defined(LUMA_raw) +#define load2_(off) RF_LUMA_tex(RF_LUMA_pos + RF_LUMA_pt * vec2(off)) +#define gather_offs(off, off_arr) (RF_LUMA_mul * vec4(textureGatherOffsets(RF_LUMA_raw, RF_LUMA_pos + vec2(off) * RF_LUMA_pt, off_arr))) +#define gather(off) RF_LUMA_gather(RF_LUMA_pos + (off) * RF_LUMA_pt, 0) +#elif RF && D1W +#define load2_(off) RF_tex(RF_pos + RF_pt * vec2(off)) +#define gather_offs(off, off_arr) (RF_mul * vec4(textureGatherOffsets(RF_raw, RF_pos + vec2(off) * RF_pt, off_arr))) +#define gather(off) RF_gather(RF_pos + (off) * RF_pt, 0) +#elif RF +#define load2_(off) RF_tex(RF_pos + RF_pt * vec2(off)) +#else +#define load2_(off) HOOKED_tex(HOOKED_pos + HOOKED_pt * vec2(off)) +#define gather_offs(off, off_arr) (HOOKED_mul * vec4(textureGatherOffsets(HOOKED_raw, HOOKED_pos + vec2(off) * HOOKED_pt, off_arr))) +#define gather(off) HOOKED_gather(HOOKED_pos + (off)*HOOKED_pt, 0) +#endif + +#if T +vec4 load(vec3 off) +{ + switch (int(off.z)) { + case 0: return load_(off); + } +} +vec4 load2(vec3 off) +{ + switch (int(off.z)) { + case 0: return load2_(off); + } +} +#else +#define load(off) load_(off) +#define load2(off) load2_(off) +#endif + +vec4 poi = load(vec3(0)); // pixel-of-interest +vec4 poi2 = load2(vec3(0)); // guide pixel-of-interest + +#if RI // rotation +vec2 rot(vec2 p, float d) +{ + return vec2( + p.x * cos(radians(d)) - p.y * sin(radians(d)), + p.y * sin(radians(d)) + p.x * cos(radians(d)) + ); +} +#else +#define rot(p, d) (p) +#endif + +#if RFI // reflection +vec2 ref(vec2 p, int d) +{ + switch (d) { + case 0: return p; + case 1: return p * vec2(1, -1); + case 2: return p * vec2(-1, 1); + } +} +#else +#define ref(p, d) (p) +#endif + +vec4 patch_comparison(vec3 r, vec3 r2) +{ + vec3 p; + vec4 min_rot = vec4(p_area); + + FOR_ROTATION FOR_REFLECTION { + vec4 pdiff_sq = vec4(0); + FOR_PATCH(p) { + vec3 transformed_p = vec3(ref(rot(p.xy, ri), rfi), p.z); + vec4 diff_sq = pow(load2(p + r2) - load2((transformed_p + r) * SF), vec4(2)); +#if PST && P >= PST + float pdist = exp(-pow(length(p.xy*PSD)*PSS, 2)); + diff_sq = pow(max(diff_sq, EPSILON), vec4(pdist)); +#endif + pdiff_sq += diff_sq; + } + min_rot = min(min_rot, pdiff_sq); + } + + return min_rot * p_scale; +} + +#define NO_GATHER (PD == 0) // never textureGather if any of these conditions are false +#define REGULAR_ROTATIONS (RI == 0 || RI == 1 || RI == 3) + +#if (defined(LUMA_gather) || D1W) && ((PS == 3 || PS == 7) && P == 3) && PST == 0 && M != 1 && REGULAR_ROTATIONS && NO_GATHER +// 3x3 diamond/plus patch_comparison_gather +const ivec2 offsets[4] = { ivec2(0,-1), ivec2(-1,0), ivec2(0,1), ivec2(1,0) }; +const ivec2 offsets_sf[4] = { ivec2(0,-1) * SF, ivec2(-1,0) * SF, ivec2(0,1) * SF, ivec2(1,0) * SF }; +vec4 poi_patch = gather_offs(0, offsets); +vec4 patch_comparison_gather(vec3 r, vec3 r2) +{ + float min_rot = p_area - 1; + vec4 transformer = gather_offs(r, offsets_sf); + FOR_ROTATION { + FOR_REFLECTION { + float diff_sq = dot(pow(poi_patch - transformer, vec4(2)), vec4(1)); + min_rot = min(diff_sq, min_rot); +#if RFI + switch(rfi) { + case 0: transformer = transformer.zyxw; break; + case 1: transformer = transformer.zwxy; break; // undoes last mirror, performs another mirror + case 2: transformer = transformer.zyxw; break; // undoes last mirror + } +#endif + } +#if RI == 3 + transformer = transformer.wxyz; +#elif RI == 1 + transformer = transformer.zwxy; +#endif + } + return vec4(min_rot + pow(poi2.x - load2(r).x, 2), 0, 0, 0) * p_scale; +} +#elif (defined(LUMA_gather) || D1W) && PS == 6 && REGULAR_ROTATIONS && NO_GATHER +// tiled even square patch_comparison_gather +vec4 patch_comparison_gather(vec3 r, vec3 r2) +{ + vec2 tile; + float min_rot = p_area; + + /* gather order: + * w z + * x y + */ + FOR_ROTATION FOR_REFLECTION { + float pdiff_sq = 0; + for (tile.x = -hp; tile.x < hp; tile.x+=2) for (tile.y = -hp; tile.y < hp; tile.y+=2) { + vec4 poi_patch = gather(tile + r2.xy); + vec4 transformer = gather(ref(rot(tile + 0.5, ri), rfi) - 0.5 + r.xy); + +#if RI + for (float i = 0; i < ri; i+=90) + transformer = transformer.wxyz; // rotate 90 degrees +#endif +#if RFI // XXX output is a little off + switch(rfi) { + case 1: transformer = transformer.zyxw; break; + case 2: transformer = transformer.xwzy; break; + } +#endif + + vec4 diff_sq = pow(poi_patch - transformer, vec4(2)); +#if PST && P >= PST + vec4 pdist = vec4( + exp(-pow(length((tile+vec2(0,1))*PSD)*PSS, 2)), + exp(-pow(length((tile+vec2(1,1))*PSD)*PSS, 2)), + exp(-pow(length((tile+vec2(1,0))*PSD)*PSS, 2)), + exp(-pow(length((tile+vec2(0,0))*PSD)*PSS, 2)) + ); + diff_sq = pow(max(diff_sq, EPSILON), pdist); +#endif + pdiff_sq += dot(diff_sq, vec4(1)); + } + min_rot = min(min_rot, pdiff_sq); + } + + return vec4(min_rot, 0, 0, 0) * p_scale; +} +#else +#define patch_comparison_gather patch_comparison +#endif + +vec4 hook() +{ + vec4 total_weight = vec4(0); + vec4 sum = vec4(0); + vec4 result = vec4(0); + + vec3 r = vec3(0); + vec3 p = vec3(0); + vec3 me = vec3(0); + +#if T && ME == 1 // temporal & motion estimation + vec3 me_tmp = vec3(0); + float maxweight = 0; +#elif T && ME == 2 // temporal & motion estimation + vec3 me_sum = vec3(0); + float me_weight = 0; +#endif + +#if WD == 2 || M == 3 // weight discard, weighted median intensities + int r_index = 0; + vec4 all_weights[r_area]; + vec4 all_pixels[r_area]; +#elif WD == 1 // weight discard + vec4 no_weights = vec4(0); + vec4 discard_total_weight = vec4(0); + vec4 discard_sum = vec4(0); +#endif + +#if M == 1 // Euclidean medians + vec4 minsum = vec4(0); +#endif + + FOR_FRAME(r) { +#if T && ME == 1 // temporal & motion estimation max weight + if (r.z > 0) { + me += me_tmp; + me_tmp = vec3(0); + maxweight = 0; + } +#elif T && ME == 2 // temporal & motion estimation weighted average + if (r.z > 0) { + me += round(me_sum / me_weight); + me_sum = vec3(0); + me_weight = 0; + } +#endif + FOR_RESEARCH(r) { + // main NLM logic + const float h = S*0.013; + const float pdiff_scale = 1.0/(h*h); + vec4 pdiff_sq = (r.z == 0) ? patch_comparison_gather(r+me, vec3(0)) : patch_comparison(r+me, vec3(0)); + vec4 weight = exp(-pdiff_sq * pdiff_scale); + +#if T && ME == 1 // temporal & motion estimation max weight + me_tmp = vec3(r.xy,0) * step(maxweight, weight.x) + me_tmp * (1 - step(maxweight, weight.x)); + maxweight = max(maxweight, weight.x); +#elif T && ME == 2 // temporal & motion estimation weighted average + me_sum += vec3(r.xy,0) * weight.x; + me_weight += weight.x; +#endif + +#if D1W + weight = vec4(weight.x); +#endif + + weight *= exp(-pow(length(r*SD)*SS, 2)); // spatial kernel + +#if WD == 2 || M == 3 // weight discard, weighted median intensity + all_weights[r_index] = weight; + all_pixels[r_index] = load(r+me); + r_index++; +#elif WD == 1 // weight discard + vec4 wd_scale = 1.0/max(no_weights, 1); + vec4 keeps = step(total_weight*wd_scale * WDT*exp(-wd_scale*WDP), weight); + discard_sum += load(r+me) * weight * (1 - keeps); + discard_total_weight += weight * (1 - keeps); + no_weights += keeps; +#endif + + sum += load(r+me) * weight; + total_weight += weight; + +#if M == 1 // Euclidean median + // Based on: https://arxiv.org/abs/1207.3056 + // XXX might not work with ME + vec3 r2; + vec4 wpdist_sum = vec4(0); + FOR_FRAME(r2) FOR_RESEARCH(r2) { + vec4 pdist = (r.z + r2.z) == 0 ? patch_comparison_gather(r+me, r2+me) : patch_comparison(r+me, r2+me); + wpdist_sum += sqrt(pdist) * (1-weight); + } + + vec4 newmin = step(wpdist_sum, minsum); // wpdist_sum <= minsum + newmin *= 1 - step(wpdist_sum, vec4(0)); // && wpdist_sum > 0 + newmin += step(minsum, vec4(0)); // || minsum <= 0 + newmin = min(newmin, 1); + + minsum = (newmin * wpdist_sum) + ((1-newmin) * minsum); + result = (newmin * load(r+me)) + ((1-newmin) * result); +#endif + } // FOR_RESEARCH + } // FOR_FRAME + +#if T // temporal +#endif + + vec4 avg_weight = total_weight * r_scale; + vec4 old_avg_weight = avg_weight; + +#if WD == 2 // true average + total_weight = vec4(0); + sum = vec4(0); + vec4 no_weights = vec4(0); + + for (int i = 0; i < r_area; i++) { + vec4 keeps = step(avg_weight*WDT, all_weights[i]); + all_weights[i] *= keeps; + sum += all_pixels[i] * all_weights[i]; + total_weight += all_weights[i]; + no_weights += keeps; + } +#elif WD == 1 // moving cumulative average + total_weight -= discard_total_weight; + sum -= discard_sum; +#endif +#if WD // weight discard + avg_weight = total_weight / no_weights; +#endif + + total_weight += SW; + sum += poi * SW; + +#if M == 3 // weighted median intensity + const float hr_area = r_area/2.0; + vec4 is_median, gt, lt, gte, lte, neq; + + for (int i = 0; i < r_area; i++) { + gt = lt = vec4(0); + for (int j = 0; j < r_area; j++) { + gte = step(all_pixels[i]*all_weights[i], all_pixels[j]*all_weights[j]); + lte = step(all_pixels[j]*all_weights[j], all_pixels[i]*all_weights[i]); + neq = 1 - gte * lte; + gt += gte * neq; + lt += lte * neq; + } + is_median = step(gt, vec4(hr_area)) * step(lt, vec4(hr_area)); + result += step(result, vec4(0)) * is_median * all_pixels[i]; + } +#elif M == 2 // weight map + result = avg_weight; +#elif M == 0 // mean + result = sum / total_weight; +#endif + +#if AS == 1 // sharpen+denoise + vec4 sharpened = result + (poi - result) * ASF; + vec4 sharpening_power = pow(avg_weight, vec4(ASP)); +#elif AS == 2 // sharpen only + vec4 sharpened = poi + (poi - result) * ASF; + vec4 sharpening_power = pow(avg_weight, vec4(ASP)); +#endif + +#if EP // extremes preserve + float luminance = EP_texOff(0).x; + // EPSILON is needed since pow(0,0) is undefined + float ep_weight = pow(max(min(1-luminance, luminance)*2, EPSILON), (luminance < 0.5 ? DP : BP)); + result = mix(poi, result, ep_weight); +#endif + +#if AS == 1 // sharpen+denoise + result = mix(sharpened, result, sharpening_power); +#elif AS == 2 // sharpen only + result = mix(sharpened, poi, sharpening_power); +#endif + + return mix(poi, result, BF); +} + diff --git a/shaders/other/noise_static_chroma.glsl b/shaders/other/noise_static_chroma.glsl new file mode 100644 index 0000000..cb94cb6 --- /dev/null +++ b/shaders/other/noise_static_chroma.glsl @@ -0,0 +1,23 @@ + +//!DESC Reduce static noise (chroma) +//!HOOK CHROMA +//!BIND HOOKED + +// Change this to tune the strength of the noise +// Apparently this has to be float on some setups +#define STRENGTH 48.0 + +// PRNG taken from mpv's deband shader +float mod289(float x) { return x - floor(x / 289.0) * 289.0; } +float permute(float x) { return mod289((34.0*x + 1.0) * x); } +float rand(float x) { return fract(x / 41.0); } + +vec4 hook() { + vec3 _m = vec3(HOOKED_pos, 0.5) + vec3(1.0); + float h = permute(permute(permute(_m.x)+_m.y)+_m.z); + vec4 noise; + noise.x = rand(h); h = permute(h); + noise.y = rand(h); + return HOOKED_tex(HOOKED_pos) + vec4(STRENGTH/8192.0) * (noise - 0.5); +} + diff --git a/shaders/other/noise_static_luma.glsl b/shaders/other/noise_static_luma.glsl new file mode 100644 index 0000000..ee0287d --- /dev/null +++ b/shaders/other/noise_static_luma.glsl @@ -0,0 +1,22 @@ + +//!DESC Reduce static noise (luma) +//!HOOK LUMA +//!BIND HOOKED + +// Change this to tune the strength of the noise +// Apparently this has to be float on some setups +#define STRENGTH 48.0 + +// PRNG taken from mpv's deband shader +float mod289(float x) { return x - floor(x / 289.0) * 289.0; } +float permute(float x) { return mod289((34.0*x + 1.0) * x); } +float rand(float x) { return fract(x / 41.0); } + +vec4 hook() { + vec3 _m = vec3(HOOKED_pos, 1.0) + vec3(1.0); + float h = permute(permute(permute(_m.x)+_m.y)+_m.z); + vec4 noise; + noise.x = rand(h); + return HOOKED_tex(HOOKED_pos) + vec4(STRENGTH/8192.0) * (noise - 0.5); +} + diff --git a/shaders/other/sdr_normalize.glsl b/shaders/other/sdr_normalize.glsl new file mode 100644 index 0000000..a8ce08a --- /dev/null +++ b/shaders/other/sdr_normalize.glsl @@ -0,0 +1,220 @@ +// https://www.itu.int/rec/R-REC-BT.1886 + +//!HOOK OUTPUT +//!BIND HOOKED +//!DESC transfer function (bt.1886, inverse) + +float bt1886_eotf(float V, float gamma, float Lw, float Lb) { + float a = pow(pow(Lw, 1.0 / gamma) - pow(Lb, 1.0 / gamma), gamma); + float b = pow(Lb, 1.0 / gamma) / (pow(Lw, 1.0 / gamma) - pow(Lb, 1.0 / gamma)); + float L = a * pow(max(V + b, 0.0), gamma); + return L; +} + +vec3 bt1886_eotf(vec3 color, float gamma, float Lw, float Lb) { + return vec3( + bt1886_eotf(color.r, gamma, Lw, Lb), + bt1886_eotf(color.g, gamma, Lw, Lb), + bt1886_eotf(color.b, gamma, Lw, Lb) + ); +} + +vec4 hook() { + vec4 color = HOOKED_tex(HOOKED_pos); + + color.rgb = bt1886_eotf(color.rgb, 2.4, 1.0, 0.001); + + return color; +} + +//!TEXTURE TONE +//!SIZE 1024 1 +//!FORMAT rgba16f +//!FILTER LINEAR +//!BORDER REPEAT +//!STORAGE + +//!HOOK OUTPUT +//!BIND HOOKED +//!BIND TONE +//!SAVE GARB +//!WIDTH 4096 +//!HEIGHT 1 +//!DESC bake lut + +float bezier(float t, float a, float b, float c) { + a = mix(a, b, t); + b = mix(b, c, t); + a = mix(a, b, t); + return a; +} + +vec2 bezier(float t, vec2 a, vec2 b, vec2 c) { + return vec2( + bezier(t, a.x, b.x, c.x), + bezier(t, a.y, b.y, c.y) + ); +} + +vec4 hook() { + vec2 b = bezier(HOOKED_pos.x, vec2(0.0, 0.0), vec2(0.5, 0.8), vec2(1.0, 1.0)); + imageStore(TONE, ivec2(int(1023.0 * b.x), 0), vec4(vec3(b.y), 1.0)); + + vec4 color = HOOKED_texOff(0); + return color; +} + +//!HOOK OUTPUT +//!BIND HOOKED +//!BIND TONE +//!DESC tone-mapping + +float cbrt(float x) { + return sign(x) * pow(abs(x), 1.0 / 3.0); +} + +vec3 RGB_to_XYZ(vec3 RGB) { + mat3 M = mat3( + 0.41239079926595934, 0.357584339383878, 0.1804807884018343, + 0.21263900587151027, 0.715168678767756, 0.07219231536073371, + 0.01933081871559182, 0.11919477979462598, 0.9505321522496607); + return RGB * M; +} + +vec3 XYZ_to_RGB(vec3 XYZ) { + mat3 M = mat3( + 3.2409699419045226, -1.537383177570094, -0.4986107602930034, + -0.9692436362808796, 1.8759675015077202, 0.04155505740717559, + 0.05563007969699366, -0.20397695888897652, 1.0569715142428786); + return XYZ * M; +} + +vec3 XYZ_to_LMS(vec3 XYZ) { + mat3 M = mat3( + 0.8190224379967030, 0.3619062600528904, -0.1288737815209879, + 0.0329836539323885, 0.9292868615863434, 0.0361446663506424, + 0.0481771893596242, 0.2642395317527308, 0.6335478284694309); + return XYZ * M; +} + +vec3 LMS_to_XYZ(vec3 LMS) { + mat3 M = mat3( + 1.2268798758459243, -0.5578149944602171, 0.2813910456659647, + -0.0405757452148008, 1.1122868032803170, -0.0717110580655164, + -0.0763729366746601, -0.4214933324022432, 1.5869240198367816); + return LMS * M; +} + +vec3 LMS_to_Lab(vec3 LMS) { + mat3 M = mat3( + 0.2104542683093140, 0.7936177747023054, -0.0040720430116193, + 1.9779985324311684, -2.4285922420485799, 0.4505937096174110, + 0.0259040424655478, 0.7827717124575296, -0.8086757549230774); + + LMS = vec3( + cbrt(LMS.x), + cbrt(LMS.y), + cbrt(LMS.z) + ); + + return LMS * M; +} + +vec3 Lab_to_LMS(vec3 Lab) { + mat3 M = mat3( + 1.0000000000000000, 0.3963377773761749, 0.2158037573099136, + 1.0000000000000000, -0.1055613458156586, -0.0638541728258133, + 1.0000000000000000, -0.0894841775298119, -1.2914855480194092); + + Lab = Lab * M; + + return vec3( + pow(Lab.x, 3.0), + pow(Lab.y, 3.0), + pow(Lab.z, 3.0) + ); +} + +float L_to_Lr(float x) { + const float k1 = 0.206; + const float k2 = 0.03; + const float k3 = (1.0 + k1) / (1.0 + k2); + return 0.5 * (k3 * x - k1 + sqrt(pow(k3 * x - k1, 2.0) + 4.0 * k2 * k3 * x)); +} + +float Lr_to_L(float x) { + const float k1 = 0.206; + const float k2 = 0.03; + const float k3 = (1.0 + k1) / (1.0 + k2); + return (x * (x + k1)) / (k3 * (x + k2)); +} + +vec3 RGB_to_Lab(vec3 color) { + color = RGB_to_XYZ(color); + color = XYZ_to_LMS(color); + color = LMS_to_Lab(color); + color.x = L_to_Lr(color.x); + return color; +} + +vec3 Lab_to_RGB(vec3 color) { + color.x = Lr_to_L(color.x); + color = Lab_to_LMS(color); + color = LMS_to_XYZ(color); + color = XYZ_to_RGB(color); + return color; +} + +float curve(float x) { + // TODO: remove two compare + if (x <= 1e-6) + return 0.0; + if (x >= 1.0 - 1e-6) + return 1.0; + return imageLoad(TONE, ivec2(int(1023.0 * x), 0)).x; +} + +vec3 tone_mapping_ictcp(vec3 ICtCp) { + float I2 = curve(ICtCp.x); + ICtCp.yz *= max(ICtCp.x / I2, I2 / ICtCp.x); + ICtCp.x = I2; + + return ICtCp; +} + +vec4 hook() { + vec4 color = HOOKED_texOff(0); + + color.rgb = RGB_to_Lab(color.rgb); + color.rgb = tone_mapping_ictcp(color.rgb); + color.rgb = Lab_to_RGB(color.rgb); + + return color; +} + +//!HOOK OUTPUT +//!BIND HOOKED +//!DESC transfer function (bt.1886) + +float bt1886_eotf_inv(float L, float gamma, float Lw, float Lb) { + float a = pow(pow(Lw, 1.0 / gamma) - pow(Lb, 1.0 / gamma), gamma); + float b = pow(Lb, 1.0 / gamma) / (pow(Lw, 1.0 / gamma) - pow(Lb, 1.0 / gamma)); + float V = pow(max(L / a, 0.0), 1.0 / gamma) - b; + return V; +} + +vec3 bt1886_eotf_inv(vec3 color, float gamma, float Lw, float Lb) { + return vec3( + bt1886_eotf_inv(color.r, gamma, Lw, Lb), + bt1886_eotf_inv(color.g, gamma, Lw, Lb), + bt1886_eotf_inv(color.b, gamma, Lw, Lb) + ); +} + +vec4 hook() { + vec4 color = HOOKED_tex(HOOKED_pos); + + color.rgb = bt1886_eotf_inv(color.rgb, 2.4, 1.0, 0.001); + + return color; +} \ No newline at end of file diff --git a/shaders/other/unsharp-masking_blur.glsl b/shaders/other/unsharp-masking_blur.glsl new file mode 100644 index 0000000..6b8d4f0 --- /dev/null +++ b/shaders/other/unsharp-masking_blur.glsl @@ -0,0 +1,24 @@ + +//!DESC unsharp-masking_blur +//!HOOK MAIN +//!BIND HOOKED + +#define BLUR -1.0 // terrible when below -2 + +vec4 hook() +{ + const float st1 = 1.2; + vec4 p = HOOKED_tex(HOOKED_pos); + vec4 sum1 = HOOKED_texOff(st1 * vec2(+1, +1)) + + HOOKED_texOff(st1 * vec2(+1, -1)) + + HOOKED_texOff(st1 * vec2(-1, +1)) + + HOOKED_texOff(st1 * vec2(-1, -1)); + const float st2 = 1.5; + vec4 sum2 = HOOKED_texOff(st2 * vec2(+1, 0)) + + HOOKED_texOff(st2 * vec2( 0, +1)) + + HOOKED_texOff(st2 * vec2(-1, 0)) + + HOOKED_texOff(st2 * vec2( 0, -1)); + vec4 t = p * 0.859375 + sum2 * -0.1171875 + sum1 * -0.09765625; + return p + t * BLUR; +} + diff --git a/shaders/other/unsharp-masking_sharpen.glsl b/shaders/other/unsharp-masking_sharpen.glsl new file mode 100644 index 0000000..8cc25b8 --- /dev/null +++ b/shaders/other/unsharp-masking_sharpen.glsl @@ -0,0 +1,24 @@ + +//!DESC unsharp-masking_sharpen +//!HOOK MAIN +//!BIND HOOKED + +#define SHARPEN 1.0 // terrible when over 3 + +vec4 hook() +{ + const float st1 = 1.2; + vec4 p = HOOKED_tex(HOOKED_pos); + vec4 sum1 = HOOKED_texOff(st1 * vec2(+1, +1)) + + HOOKED_texOff(st1 * vec2(+1, -1)) + + HOOKED_texOff(st1 * vec2(-1, +1)) + + HOOKED_texOff(st1 * vec2(-1, -1)); + const float st2 = 1.5; + vec4 sum2 = HOOKED_texOff(st2 * vec2(+1, 0)) + + HOOKED_texOff(st2 * vec2( 0, +1)) + + HOOKED_texOff(st2 * vec2(-1, 0)) + + HOOKED_texOff(st2 * vec2( 0, -1)); + vec4 t = p * 0.859375 + sum2 * -0.1171875 + sum1 * -0.09765625; + return p + t * SHARPEN; +} + diff --git a/shaders/other/unsharp.glsl b/shaders/other/unsharp.glsl new file mode 100644 index 0000000..236c722 --- /dev/null +++ b/shaders/other/unsharp.glsl @@ -0,0 +1,45 @@ + +//!DESC unsharp +//!HOOK SCALED +//!BIND HOOKED + +#define effect_width 1 +#define coeff_blur 0.9 + +#define coeff_orig (1 + coeff_blur) + +#define Src(a,b) HOOKED_texOff(vec2(a,b)) +#define dx (effect_width) +#define dy (effect_width) + +vec4 hook() +{ + + // Retrieves the original pixel + vec4 orig = Src(0,0); + + // Calculates blurred image (gaussian blur) + vec4 c1 = Src(-dx,-dy); + vec4 c2 = Src(0,-dy); + vec4 c3 = Src(dx,-dy); + vec4 c4 = Src(-dx,0); + vec4 c5 = Src(dx,0); + vec4 c6 = Src(-dx,dy); + vec4 c7 = Src(0,dy); + vec4 c8 = Src(dx,dy); + + // gaussian blur filter + // [ 1, 2 , 1 ] + // [ 2, 4 , 2 ] + // [ 1, 2 , 1 ] + // c1 c2 c3 + // c4 c5 + // c6 c7 c8 + vec4 blur = (c1 + c3 + c6 + c8 + 2 * (c2 + c4 + c5 + c7) + 4 * orig)/16; + + // The blurred image is substracted from the origginal image + vec4 corr = coeff_orig*orig - coeff_blur*blur; + + return corr; +} + diff --git a/shaders/ravu/gather/ravu-lite-ar-r2.glsl b/shaders/ravu/gather/ravu-lite-ar-r2.glsl new file mode 100644 index 0000000..0ccca76 --- /dev/null +++ b/shaders/ravu/gather/ravu-lite-ar-r2.glsl @@ -0,0 +1,147 @@ +// +// 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 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 . + +//!DESC RAVU-Lite-AR (step1, r2) +//!HOOK LUMA +//!BIND HOOKED +//!BIND ravu_lite_lut2 +//!SAVE ravu_lite_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < HOOKED.h OUTPUT.h / 0.833333 < * +//!COMPONENTS 4 +vec4 hook() { +vec4 gather0 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -1), 0); +vec2 gather2 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 1), 0).wz; +vec2 gather6 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -1), 0).wx; +float luma8 = HOOKED_texOff(vec2(1.0, 1.0)).x; +vec3 abd = vec3(0.0); +float gx, gy; +gx = (gather0.z-gather0.w); +gy = (gather0.x-gather0.w); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.1018680644198163; +gx = (gather0.y-gather0.x); +gy = (gather2.x-gather0.w)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.11543163961422666; +gx = (gather2.y-gather2.x); +gy = (gather2.x-gather0.x); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.1018680644198163; +gx = (gather6.x-gather0.w)/2.0; +gy = (gather0.y-gather0.z); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.11543163961422666; +gx = (gather6.y-gather0.x)/2.0; +gy = (gather2.y-gather0.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.13080118386382833; +gx = (luma8-gather2.x)/2.0; +gy = (gather2.y-gather0.y); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.11543163961422666; +gx = (gather6.x-gather0.z); +gy = (gather6.y-gather6.x); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.1018680644198163; +gx = (gather6.y-gather0.y); +gy = (luma8-gather6.x)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.11543163961422666; +gx = (luma8-gather2.y); +gy = (luma8-gather6.y); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.1018680644198163; +float a = abd.x, b = abd.y, d = abd.z; +float T = a + d, D = a * d - b * b; +float delta = sqrt(max(T * T / 4.0 - D, 0.0)); +float L1 = T / 2.0 + delta, L2 = T / 2.0 - delta; +float sqrtL1 = sqrt(L1), sqrtL2 = sqrt(L2); +float theta = mix(mod(atan(L1 - a, b) + 3.141592653589793, 3.141592653589793), 0.0, abs(b) < 1.192092896e-7); +float lambda = sqrtL1; +float mu = mix((sqrtL1 - sqrtL2) / (sqrtL1 + sqrtL2), 0.0, sqrtL1 + sqrtL2 < 1.192092896e-7); +float angle = floor(theta * 24.0 / 3.141592653589793); +float strength = mix(mix(0.0, 1.0, lambda >= 0.004), mix(2.0, 3.0, lambda >= 0.05), lambda >= 0.016); +float coherence = mix(mix(0.0, 1.0, mu >= 0.25), 2.0, mu >= 0.5); +float coord_y = ((angle * 4.0 + strength) * 3.0 + coherence + 0.5) / 288.0; +vec4 res = vec4(0.0), w; +vec4 lo = vec4(0.0), hi = vec4(0.0), lo2 = vec4(0.0), hi2 = vec4(0.0), wg, cg4, cg4_1; +w = texture(ravu_lite_lut2, vec2(0.1, coord_y)); +wg = max(vec4(0.0), w); +res += gather0.w * w + luma8 * w.wzyx; +cg4 = vec4(0.1 + gather0.w, 1.1 - gather0.w, 0.1 + luma8, 1.1 - luma8); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut2, vec2(0.3, coord_y)); +wg = max(vec4(0.0), w); +res += gather0.x * w + gather6.y * w.wzyx; +cg4 = vec4(0.1 + gather0.x, 1.1 - gather0.x, 0.1 + gather6.y, 1.1 - gather6.y); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut2, vec2(0.5, coord_y)); +wg = max(vec4(0.0), w); +res += gather2.x * w + gather6.x * w.wzyx; +cg4 = vec4(0.1 + gather2.x, 1.1 - gather2.x, 0.1 + gather6.x, 1.1 - gather6.x); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut2, vec2(0.7, coord_y)); +wg = max(vec4(0.0), w); +res += gather0.z * w + gather2.y * w.wzyx; +cg4 = vec4(0.1 + gather0.z, 1.1 - gather0.z, 0.1 + gather2.y, 1.1 - gather2.y); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut2, vec2(0.9, coord_y)); +wg = max(vec4(0.0), w); +res += gather0.y * w; +vec2 cg2 = vec2(0.1 + gather0.y, 1.1 - gather0.y); +vec2 cg2_1 = cg2; +cg2 *= cg2;cg2 *= cg2;cg2 *= cg2;cg2 *= cg2;cg2 *= cg2; +hi += cg2.x * wg; +lo += cg2.y * wg; +cg2 *= cg2_1; +hi2 += cg2.x * wg; +lo2 += cg2.y * wg; +lo = 1.1 - lo2 / lo; +hi = hi2 / hi - 0.1; +res = mix(res, clamp(res, lo, hi), 0.800000); +return res; +} +//!DESC RAVU-Lite-AR (step2, r2) +//!HOOK LUMA +//!BIND HOOKED +//!BIND ravu_lite_int +//!WIDTH 2 HOOKED.w * +//!HEIGHT 2 HOOKED.h * +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < HOOKED.h OUTPUT.h / 0.833333 < * +//!COMPONENTS 1 +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + int idx = int(dir.x > 0.0) * 2 + int(dir.y > 0.0); + return vec4(ravu_lite_int_texOff(-dir)[idx], 0.0, 0.0, 0.0); +} +//!TEXTURE ravu_lite_lut2 +//!SIZE 5 288 +//!FORMAT rgba16f +//!FILTER NEAREST +a7ca113dc4d036bce1a84abc5bea31bbd9a7a13d5919a13dfe79febd3b27febd413532bcfac2123d7d6836bb8f0153bcea82a53d68fc00be04efa43da85201be296f8a3fb56e8a3fb56e8a3f296f8a3fd1f5eb3c034d0cbcc3ae80bc1b27b93b62d5b23de39bb43dda1608bee95607bec937f8bb69aff43cb8e19d3b4ba98bbc1e4ac43db7f50dbe5d40be3d62760fbe8e258a3f803e8a3f803e8a3f8e258a3f37a6c63cb645e0bb44ec7dbc68fd283c06a7b53d411fba3d7f680abe19ca07be6104b73a6a56003da4264e3bedb3c8bc5a2ce93df64d11be0d58c83db04d21be3bbe893fa8c1893fa8c1893f3bbe893f5bc10a3d2d513dbc606aa6bc834b2a3c1dfcc93d18fbc53d5f9b11be400312be1a7834bc1de0143d7606113c3447b5bc8207de3daa0c19bee054d43d58921bbeb2c5893f23fb893f23fb893fb2c5893f1185d73c60cc1fbc3386a8bc091f903c5adccd3dd874c73dbc3313be44c111be7fa92fbbb3cb143dcd97133ce37ef5bce225fc3dc9cc1dbe53b5dc3de6f429beaf65893f73f1893f73f1893faf65893f4d9e973c425f85bcfba620bc11f0c73cb4c2c43d703bbc3d733c0ebe31600cbe361ccc3b86f3393d265edebae9f212bd0882093ef2a609be20f3ae3dae5837bed847893f10088a3f10088a3fd847893f39cb113df3dbe6bba64a05bde2d7813c364ae93dca05df3d87701ebe26211cbed29264bbe284353de61d2f3c5bf524bd92c3143ec15f34bea5ae063e46663cbe5ae6883f059a893f059a893f5ae6883f49e7bb3cfb8d0bbb13f3e7bcee84a83cebcbd43da3fec23ddc5814bef0eb0fbe687a7a3cee154b3d7e6873ba734957bdde60253e07b928be75d1f23dc7904abec389883f08ef893f08ef893fc389883fe53a88bb3492f0bc0436ab3b48f53b3d11a5b43d9623a13d56ab06be80b3febda9e6333dac979f3d113b05bdecff9ebde41e463ebed1d6bd8103603d6bf96cbea974883f8a758a3f8a758a3fa974883f67590a3d58003f3bc4153bbd1414ac3c46e9013e0487ec3d85c32bbeacef24be53e98f3cc7786e3dd8bc873b564d8ebd210b393e57cc41beecd50f3e99305bbe3741883fbd6a8a3fbd6a8a3f3741883fc24a673c84fb293c019bdabc0e71833c0256e83d76eebd3d0afc20be1bf40ebea8cd513de403903de42cebbc30aba9bdc1104a3e3d8f0cbec85fad3d240365be10e4863fccb98b3fccb98b3f10e4863fe6d792bd8d43a7bd7797953d5791d23d4df4b33da1d7603dbe960abec5d9d2bd09be063e625a2a3ecb72f9bdf6bb32be45e7ab3ee0a0e23cb9dab7bd994fb3be074b853f80998d3f80998d3f074b853f723d0e3d683b29bced1c4bbc63960dbb728c9f3d8746a13d5748febd852efdbd338115bcc758123d528a68bb74645cbc6361ae3d9b4403be138aab3dc7ac06be5b828a3f2b4a8a3f2b4a8a3f5b828a3fc322fa3c51b004bcf18384bc1ac48d3b5e3ca63dbaa2ad3de3bd05beac5a00be49f889bbdf1a103d0376e93aaccfb8bc3920d63d44a30bbe1a24b53d715a16bebe078a3ff05f8a3ff05f8a3fbe078a3fbe503f3c240eb2bcb487deba391dcd3c4374983d74eda33dff9dfebd435bf4bdb042f93cc334723d81cad4bc202158bd14c3153e5043fabdbe9b9d3d775b42be6d7a893fc7368a3fc7368a3f6d7a893f85a7003d3ed953bcb76a8dbcaba53e3cb497cc3dabacc33d241013be3ec910be4ac138bcb6e5243d5cdeed3b457cc8bcd1abe73ddc3418beed24cd3d4d5a1dbec290893fed238a3fed238a3fc290893f137a8d3c02c876bc095f4ebc648acc3c3dcad33d4b82c23da7f514be135f10be50b10a3be33b3a3dab493b3bc2451ebdf1a80c3e13c114be9396c03d806e33bea5ec883fd35f8a3fd35f8a3fa5ec883f47b562ba2f7cfbbc401dd63b008a323d7d8cd73d11bebc3da75714be3c240fbe1409843c8f65743d7e2452bc9aa04ebd1c90223eb813f2bd73df863da33d4dbe59ae883ff68a8a3ff68a8a3f59ae883f8e59d83cf5bf1dbccc1fcdbc87f5ab3c4598f73dbf2ed63d555422beb10f1bbe31fd46bb93ff543d4c72f43b18e73abdc466203eb91330bed4b2f53d11bc40be891b883f77618a3f77618a3f891b883f4ef3013ade507bbc0ee006bc7a001b3d2868ea3d1b6db33d21131abed8540cbef550cb3c7bd78f3dca5d6ebc9e5790bd9a47483e334813be43bead3d988d60bec3dc863f8e7a8b3f8e7a8b3fc3dc863fc14f20bdf86f52bd9982173d7aec983dd6a2db3d402b963dec7c13be0af4febdae136a3d0256d23d987a4bbd5ea0cdbdadf9793e5a7b92bd4c4df53bfbb889be7f61863fd54a8c3fd54a8c3f7f61863ff0c5293c2d1fefbb7594c5bc5bce103d9c70103e37cfd73d592c35becfe31fbea117e73c9e93a03d60d3f3bb5a68b7bdbe105c3e98a72cbe56c4d23d4b9d6dbe1716863f61848c3f61848c3f1716863f2689f0bcac974dbcef00763c8401383d5505ff3dba1c5b3d307624bec8c8ddbdc5b39d3dc467f33d4a2b77bdf08302be5a9d943e21e9a2bd0f2704bcdbb590be5367813fb519913fb519913f5367813f9775dfbd227889bd0535dd3d87a7c93d553be93d76f4ecbbcccb1ebeb5aa59bdb677e73dad162e3e2e46debda59d2dbebaaee13e4b85853d7d393cbef562cfbe268c783f02cb963f02cb963f268c783f74be0c3dfeb033bcfbba2ebc72b236bb938d9e3d89e9a23dc71101be990cfabd7a7e26bc4419133d112200bb34fe6abcb374ad3dccb003bef007a63db41c03be9d5c8a3f53758a3f53758a3f9d5c8a3fb657ed3c7adf44bc633a35bc72a7a73bfd1f9e3d1024ac3d126a05bed883f6bd018c9839a7292c3dafe691bb9e0ceebc6e06dd3d0fb40ebe4c3ab83d970718be72088a3f9e628a3f9e628a3f72088a3fbbfa2d3c792cd1bc661d993b7e01c73c5b97b83d4d05af3de4ba10be5c64fcbd31f1243c984b7a3d908fa0bc38aa2fbda68b173e635306be07b1ab3d69e541be6b43893fdb918a3fdb918a3f6b43893fab40f23cd43c63bc232b72bc30ca483cb6b2d03d2536c13d5b2a14be5c8110bea51b44bce4342d3d6c0bd53bb29bcfbc8679ea3dcced15be6485c43d27cb1cbe9b62893f61538a3f61538a3f9b62893f8d71293cfe978ebc4357e1bb24e6ee3c3d55e03d299dbd3d8ed917be01c610be8b649c3a4360513dbdf27f38cc832abd946b143e486e12becef7b23da84d36be3e6e883f14ce8a3f14ce8a3f3e6e883fde1903bc35db01bdbe50353c0bad453d15d2e93dfab4b93d49ec18be6f9c11be0051473ceda7823ddacf59bc052954bd92852d3e8cbef5bd89df7a3ddaa250bea3e5873f19348b3f19348b3fa3e5873fd6d5a13caf174fbc388c9abc007cce3c53c8033e3835d23d7d3e27bedb2a1cbedcbec4bbb8c1653d3f570f3cedb245bda589273e3ee02cbe9183e13d292041bebe6e873f71038b3f71038b3fbe6e873fbced56bce50d94bc79f7bf3a6c4f3b3d2660023e7ca2a63d0a5020be64680bbe5604b43c8edba03d30827abc925f9cbde980583e20a410bedbe18e3d2f2064be745e853feacb8c3feacb8c3f745e853fd80439bd661235bdd3091b3d0f53963d2215003e60518d3d3fd21cbe7e0d01bed3182b3d3b4bce3de81923bd0149c1bde65c7f3e9399afbdacafd43bc7a084befa7a843f71ec8d3f71ec8d3ffa7a843f6df4ecbafa5e39bc981168bc69622e3d7261223edc1cc73da33b40be1d231ebe3407953cfb36aa3d6d20d73ad51cc0bdbc2a6b3e40852cbef5c6b03d88056cbe47ff833fda868e3fda868e3f47ff833f77fb4bbdee4e2bbc4452fb3cd8d34a3de69f133e671ddb3c4d4730bec0efb3bdb9e0773d8d72023e89333ebdf1080abe3184a83ee793c0bd7a6310bd7dde8fbeb05f783fbf2b963fbf2b963fb05f783fc620c9bd96a593bc04cbb83d7f0a683d153ae93d63f484bd50311cbecf07d83bffbc973d470f293ec83290bdd9cb27be9c11e63e789dc2bb201932be6fb8b6becc236b3fbd729d3fbd729d3fcc236b3fbd6d103de3f828bc173c3abc7cd36fbb181da13d7c8aa13df46101be9182fabddd8e38bcb2020e3db41705bab7da5fbc3f46aa3d6db402bed079a53d502002be455b8a3f82798a3f82798a3f455b8a3fe496e63c722958bc26ab16bc493ea93b95f9a73d7825b13d40f809be0413fcbd85714abbbebf223d258224b9043fe7bc9863db3d6fc70dbe7b5db43d28a715bed3fe893f996c8a3f996c8a3fd3fe893f6a8b553c969fbcbcecd30ebb2df0d43c5510c13d7659aa3dc9ad13bed6d9f8bd6532b6bbd6ee823d981065bb2f1944bd0bcd203e1a650ebea99da83d787a41be686a893f60908a3f60908a3f686a893f5db4eb3c841b6dbc9bf156bc9714473c2129d53df55dbf3d7f6415be3e8810be58d163bcaaef2c3d5cba043c00cacebc01aee93dbef614befa7abe3d71391abe4a30893f0a858a3f0a858a3f4a30893fe296e13ba44a87bcdf67a0bb0061f53ccf55ee3d1a96b93def6e19be645f13be67ca5bbb0da15c3d1b719db953a126bdf3f5153efdec13bebaa0ac3d179632be6f06883f2f2a8b3f2f2a8b3f6f06883f9cb251bca1dfd9bc8fb5203c0718493d3b6a003e934ab73d39ee1cbe4ee716be5f5b983b6a34803d0b7719bc724c47bd518c2e3e335903be2aad823d843f4abeb842873fe7be8b3fe7be8b3fb842873fbe107b3c970e60bc56ba78bca879e03c00fe0c3ecc3ace3daf0e2cbe78501ebea23c4bbc318e743d40692d3c68c942bd39f32a3e09a12dbe1088d43d8b5b3dbe11ab863f76bb8b3f76bb8b3f11ab863fa7f0b2bc9be282bca324dc3b5c07433d4548123ea55c9c3d60c226be90d20dbee0cb563cb8daac3d0b4950bc80f39dbd9d085d3e38ed17be01ec823d64355bbef31b843f8be28d3f8be28d3ff31b843fa4db41bdbe140abdc7cf093d36da8b3d0bfa113efde28c3dfcfd25be9e4a06be4ee0cb3cbe50c73d868bf2bca55bafbd5174773edd07e4bd46f9a23c8b0373beeb13833fe3fb8e3fe3fb8e3feb13833f57dc14bc88ee4fbc805e26bc6c09433d17de373eaed0b83d3acd4abef4cb20bec96e86baefcaac3dd6408f3cf978bdbd7055733e79e231be3d9f9b3d100e64be8b36823f2434903f2434903f8b36823f2fc186bd24c606bb4267213d09e0493d765b263e88c1563cd77439beb5f6a3bd322d153da381023e1de0c7bcd6b709bebb7db03e910103bee3c918bdd0ef85be04f5723f32a9983f32a9983f04f5723f0156b8bdff94bd3a87d9963d1e0d2b3d916fcd3d77a185bd6f3816be66bcce3cc461723dc59c223e742b55bd0cd827bec3d0e43edb1596bdf05810be59f4a3bef09b663fec3e9f3fec3e9f3ff09b663fb441123d69de2abca02a34bc2b598fbbabaca23d4c36a43db0e202be3daefbbd02c95abcfb360f3d8da78e3ad9b15dbc2afda73dd81903be0b94a33d6662ffbda0748a3fa6638a3fa6638a3fa0748a3fb71cf03c740257bc4b4111bc266e583bf3f9a73d806dab3d6e0b0abeb9f7f5bd2f8439bc20232b3dde68833b0fdcdbbc69abde3d1a1210be2932b43d5a1e14bec02e8a3fb43d8a3fb43d8a3fc02e8a3f9ad60a3c864ebebc7fe1373bf97ecf3cc802d83d742db53d275f1dbe673e02be07c3d6bcc9c5923d38ea04bca82707bd5b971d3e07ab13be55e6ab3de08439bef785893fb88a8a3fb88a8a3ff785893f5553e83c172d63bc743d4abc97e5383cd989db3dfc3fbd3d081b17be5dc510bea1028cbc59d42e3de1f2143c9df5c1bc2bc7e53ddf0015bef047bb3db5c816be9301893ff7b48a3ff7b48a3f9301893fb125d63bba1363bca03f90bbe9d2da3c2c47fa3de320b53d71031cbe9dc513bed03522bcaa65603da1b4003b76ba1cbd03d7123efc2c17bea701aa3d1aa929be4797873f9e868b3f9e868b3f4797873f00e67fbce455a9bc611ef23bb17e413db4b30b3e80b1ba3d269122be75141dbe735a78bb5b707d3d9515e3bb485a31bd871a2a3ef73510bee32c943d68dd3ebe60bf863f74158c3f74158c3f60bf863f401b4a3cb41e61bc8ce84bbce2c6e43cdfe0163e7d32c93d4d8f30bea5c220be3f23b2bc7e157d3d2caf743c845f38bdae93293e91df2ebe4eaec93d0c2835be6b12863ff0468c3ff0468c3f6b12863fdb13c5bc639b35bc5931eb3bfe96333d07df213e85c2983d41fb2cbe433713be6b0e0cbbad23ad3d0fd2babb88b48fbd5dfb573eb9d821be8ff7813db8434abe482c833f36978e3f36978e3f482c833f32c93dbda16fa8bcb048c83c8c08793dd719243eb02f8e3d37922abe49f810be7733003c71a9bf3d4eeebabc75ed94bd80a9663e19570bbea814193dd17e56be550b823f23828f3f23828f3f550b823fbd5257bcaa6234bc59ac02bce125453d53e94c3e57c8a43d87e152beb8cf21be647dbebcb58fb33d63100c3dcbe0bbbd52f7783ed10b3dbe5f798d3d5f1657be9e93803f58b2913f58b2913f9e93803ff6659abdc23a003c45851f3d61eb483d0705363e92ec1f3cf7763dbee170abbd8a86813c99c7013ea40380bbcba60abe7d25ad3ee0b725be1afcd1bc0f176ebe132b723fbaba983fbaba983f132b723f2ad9c1bd34e8553be969703dfbe25c3d0747fc3defdb90bc980124bebdc0acbc7ed72d3d991c093e84f621bdf2b30dbe5e63d23eeb9c01befe6a9cbd434794be79cc693fd0b69c3fd0b69c3f79cc693fd1f41c3d9ab809bcfcde5bbc12cbd8bba503a93d658aa83de20106be41dbffbd1b5b5bbc07350f3d5915dd3a808c6abc8a91a33dffc702be35eea33d6cfdfbbd2d718a3fee6b8a3fee6b8a3f2d718a3f187c083d18e350bc19af3fbc9783823a0188bc3d2e38a83d2e030cbef0aa00be45d2d1bc7385383d0b484b3c4f08cbbc3e65c53d43270dbe2facaa3d6b2605be41aa8a3f6bbd893f6bbd893f41aa8a3f48a11abb251460bc3181b93aceecd93c63faf83d85f3c53d928524be8b5512bec56fc0bc8c02653d482dc5bbf67dbebcb450153eefe71cbe4161b43d6ad729be402d883f2fb78b3f2fb78b3f402d883f1f40e93c950b5fbc672c43bc70422b3c6bcfde3dd433bc3de42c17be4ea111be23cda1bcc6742f3df796273c3aa0b8bc00cbe13dc41c16bea127ba3d1d2213be11fd883fccbc8a3fccbc8a3f11fd883f9ab2f73b3dbf22bc506cbabb83eab33c266c043e7dcfb03d68231dbef0d616be1420a9bc3e29603d031a763ba79ff4bc67540b3e3ea01abe88c3ab3d441f1ebe7156873f9bb28b3f9bb28b3f7156873fe13481bc26fb2ebc5b6a4e3976032d3d572d173ea0aeb13d26eb20be3b3424be6df588bc93607c3df22f96bb00b607bdaf64213e159d1abe0aa6a13d8e632ebe2f3f863f08468c3f08468c3f2f3f863feb96423ceb8551bc31ff3ebc0a7eda3c10171f3e905cc43db81333be898c23beca0803bd80e6823df4da953c61b526bdeb74253ed70132bebed5c43df5342bbe00a5853fdba98c3fdba98c3f00a5853f2bbfacbc13c894bbc5be123ba73c173d3d41333e7ce4953d714a2fbe891c1ebebbc9cfbc9cf0a93d07b9123abb8057bdece8473eafa22bbe569f8c3de89c32be98a5823fc4cf8e3fc4cf8e3f98a5823f73b126bd3b25c1bbee702e3c9e8e4c3d265b353e62668e3daca22abe59481dbe6bd389bca85eb33d35e088bcd2c84cbdd5f04d3eb2bf1fbee8096c3dbac836be8877813fc6568f3fc6568f3f8877813f6af964bc2417e9bba9ebc8bbe0b2313d9f5d5e3e91498d3d197056bee10c22be86ab62bd6cbabf3d25b8523d0634adbd8338723e10524ebe8d50843d188e39be7c007f3f8f9d923f8f9d923f7c007f3fb57e90bdb00c673cf8dccd3ccdbb453d17aa563e3bf28b3cc1193fbeea03eebdff05c4bc6585f03d409d813c8b6ddcbda509943e490c3bbe0b1b493bc4c03fbeb745753f1aa8963f1aa8963fb745753f16dbc7bdffdd473c4f7c0c3d682e893d610f413eb3fc893cf13128be0802dfbd27b4453c8229db3d51750ebd3068b8bdf4efa63ea81421be4db519bc30cd6cbee0226f3f5cfe983f5cfe983fe0226f3f50e81c3d8d1c5cbc92120abcec8dd6bb8e49a33d95eaa33dccc602be8cb4fbbd5c7e6bbc3b580f3d00bee13a19365bbc62bea83d20fd05bedf81a83d6a9affbd26718a3fde6a8a3fde6a8a3f26718a3f18e8093d1c6743bc686c54bcef81853a5265c63ded2daa3dee620dbe521305beabf4d1bceaaa3c3d38055c3cf8fedbbcc4f2bc3d182d0cbeaadca73d736b00be86c18a3f97a3893f97a3893f86c18a3f03d828bbfb8bb73aa0365fbc362bdb3c6a56153eed8bb43d11c31cbe1fdf29be6fa3bebc2817643d19f9c8bbf2ecbebc2790f93dd06624be88eec53daf9912be5429883f49b68b3f49b68b3f5429883fc73ce93c022e43bc100d5fbcc94c2b3c53c7e13da227ba3da51c16be4c2013bebda1b8bcb7732f3dfb8c273c00c8a1bcf4cbde3db62c17bedf33bc3dac9f11befffc883fe4bc8a3fe4bc8a3ffffc883f42d8f73b007bbabbb6c522bc42e7b33c7b530b3e37c3ab3d62a01abef01d1ebe4eaff4bc972e603dee71763ba827a9bc2a6b043e69231dbe61cfb03dbcd516bea256873f6bb28b3f6bb28b3fa256873ffe3981bc6c6e4c39cdfd2ebcb6072d3dde67213e97a4a13d289d1abe4d652ebe7bb207bd2f637c3df50696bbf90f89bcbc2d173e98ea20be73adb13dfb3324be2d3f863ffa458c3ffa458c3f2d3f863fe097423ca0ff3ebcd08551bcb87dda3ce374253ec6d5c43ddf0132beea342bbe45b526bd99e6823dd0da953c040903bd11171f3eb61333be945cc43d8e8c23be00a5853fdba98c3fdba98c3f00a5853f1dbfacbc35c0123b01c994bba83c173de4e8473e449f8c3da5a22bbee19c32beae8057bdb1f0a93d2db1123aedc9cfbc4041333e6f4a2fbe7ce4953d8e1c1ebe99a5823fc4cf8e3fc4cf8e3f99a5823f73b126bdee702e3c3b25c1bb9e8e4c3dd5f04d3ee8096c3db2bf1fbebac836bed2c84cbda85eb33d35e088bc6bd389bc265b353eaca22abe62668e3d59481dbe8877813fc6568f3fc6568f3f8877813ff5f664bc40edc8bb7e16e9bb66b2313d5538723e0151843d3e524ebef78d39be3734adbd12babf3d34b9523d89ab62bd9c5d5e3e397056bebc498d3dd30c22be80007f3f8d9d923f8d9d923f80007f3f9b7e90bd13ddcd3c4f0c673ca2bb453d9f09943e491e493b510c3bbebdc03fbe5f6ddcbd8285f03d899c813c7706c4bc0baa563ecc193fbed3f28b3cdb03eebdb845753f1aa8963f1aa8963fb845753f18dbc7bd517c0c3d26de473c652e893d02f0a63ee4b519bc9e1421be4dcd6cbeb567b8bd5929db3dd9740ebdd1af453c500f413eec3128be61fc893cde01dfbde2226f3f5bfe983f5bfe983fe2226f3faf41123d7b2b34bcbcdf2abc2d548fbb20fda73d3794a33dc71903beaa62ffbd64af5dbc4e360f3dbe9d8e3a3cc75abca2aca23dbce202beb836a43d97aefbbd9e748a3fa8638a3fa8638a3f9e748a3f381cf03c874111bc430257bc3772583b5fabde3d1c32b43d091210be601e14be70dcdbbc43232b3de067833ba48339bcfdf9a73d660b0abe7a6dab3dc7f7f5bdc22e8a3fb23d8a3fb23d8a3fc22e8a3f9ad60a3c7fe1373b864ebebcf97ecf3c5b971d3e55e6ab3d07ab13bee08439bea82707bdc9c5923d38ea04bc07c3d6bcc802d83d275f1dbe742db53d673e02bef785893fb88a8a3fb88a8a3ff785893f2c53e83c2c3d4abcf32c63bc52e5383c2fc7e53df647bb3de60015beb2c816be97f5c1bc3ad42e3d27f3143c7c028cbce589db3d0b1b17befd3fbd3d60c510be9301893ff8b48a3ff8b48a3f9301893ff928d63b4b3d90bba61463bcf4d1da3cf6d6123e9901aa3df52c17be0ca929be84bb1cbd1865603d9ec0003b673222bcdd46fa3d8c031cbe0e21b53d6fc513be4897873f9c868b3f9c868b3f4897873f5de57fbc0a1df23be856a9bc397f413d731a2a3e092d943dfe3510be60dd3ebe465931bd696f7d3d9a14e3bb0f5d78bbc0b30b3e2e9122be33b2ba3dd4141dbe60bf863f75158c3f75158c3f60bf863f531a4a3c80e84bbc6c1e61bc33c7e43cb393293e45aec93d88df2ebe152835be9b5f38bd6f157d3dfcae743ce322b2bce1e0163e478f30be6732c93da2c220be6b12863ff1468c3ff1468c3f6b12863f1b14c5bc4c30eb3bd79a35bc1b97333d63fb573ea7f7813dc7d821bebb434abea1b48fbd8323ad3d9ccfbabb0c0b0cbb08df213e46fb2cbe97c2983d473713be482c833f36978e3f36978e3f482c833f47c93dbdc048c83cc66fa8bca908793d84a9663eae14193d1c570bbed07e56be83ed94bd7ca9bf3d5deebabcb033003cdf19243e3d922abec12f8e3d54f810be550b823f23828f3f23828f3f550b823fde5257bcdaab02bc1a6334bce125453d6df7783e05798d3daa0b3dbe741657be9ae0bbbd818fb33d98100c3db77dbebc49e94c3e7ae152be64c8a43dc2cf21be9f93803f58b2913f58b2913f9f93803f16669abd2a851f3d4d3b003c9beb483d8325ad3e0dfcd1bce4b725be19176ebed4a60abe99c7013e3c0280bb7e86813c1905363ef2763dbed2eb1f3cfc70abbd152b723fb9ba983fb9ba983f152b723f1cd9c1bdd269703de0e6553b02e35c3d5963d23efc6a9cbdf89c01be394794be1ab40dbea91c093ee0f621bd34d82d3de846fc3d8c0124be97db90bcd9c0acbc77cc693fd1b69c3fd1b69c3f77cc693fc76d103ded3b3abce1f628bc90dd6fbb7946aa3d9979a53d82b402be3a2002beece15fbceb030e3d040c05bab08d38bcb61ca13dc76101beb189a13db381fabd485b8a3f80798a3f80798a3f485b8a3fe496e63c26ab16bc722958bc493ea93b9863db3d7b5db43d6fc70dbe28a715be043fe7bcbebf223d208224b985714abb95f9a73d40f809be7825b13d0413fcbdd3fe893f996c8a3f996c8a3fd3fe893f1089553ce8d10ebbcd9fbcbc50f1d43cd2cc203ec39da83d28650ebe3e7a41be301a44bdf6ee823d971465bb582ab6bb8210c13dcfad13be8259aa3d02daf8bd686a893f60908a3f60908a3f686a893f9fb4eb3ceaf156bc6d1b6dbc5814473cf3ade93dfb7abe3dbcf614be6e391abe0fcacebcbbef2c3de6ba043c31d263bc2429d53d876415befd5dbf3d3c8810be4c30893f09858a3f09858a3f4c30893fdc92e13b9f6aa0bb484a87bc5a62f53cfef5153ecba0ac3dfaec13be2f9632bea5a026bd9ca15c3d6bdb9db9a7d05bbb1f56ee3dc56e19bee095b93d995f13be6f06883f2f2a8b3f2f2a8b3f6f06883f9cb251bc8fb5203ca1dfd9bc0718493d518c2e3e2aad823d335903be843f4abe724c47bd6a34803d0b7719bc5f5b983b3b6a003e39ee1cbe934ab73d4ee716beb842873fe7be8b3fe7be8b3fb842873fa0107b3cdcb978bc090f60bcb279e03c39f32a3e1288d43d0aa12dbe8c5b3dbe67c942bd1b8e743d7b692d3c7f3c4bbc01fe0c3eb90e2cbee33ace3d7b501ebe11ab863f76bb8b3f76bb8b3f11ab863f5af0b2bc7625dc3bf1e282bc4407433da7085d3e1eec823d49ed17be6c355bbe77f39dbdeddaac3dfd4950bce6ca563c3c48123e65c226beb25c9c3d88d20dbef41b843f8ae28d3f8ae28d3ff41b843f87db41bdb7cf093dbc140abd2dda8b3d3b74773e4cf9a23cdc07e4bd770373bea85bafbdae50c73d698bf2bc78e0cb3c08fa113ef6fd25befee28c3d9f4a06beeb13833fe3fb8e3fe3fb8e3feb13833f75dc14bc565e26bc8eee4fbc6b09433d7855733e3f9f9b3d79e231be1a0e64befc78bdbdf5caac3deb408f3cb47086ba1ade373e41cd4abea7d0b83deecb20be8b36823f2434903f2434903f8b36823f35c186bd4567213d23c606bb11e0493db47db03eecc918bd900103bec9ef85bedbb709bea281023e26e0c7bc4e2d153d7b5b263ed77439be80c1563cbef6a3bd03f5723f32a9983f32a9983f03f5723ffc55b8bd7dd9963ddf92bd3a370d2b3dc2d0e43eef5810bed81596bd59f4a3be0cd827bec09c223e7e2b55bde061723d836fcd3d643816be63a185bd09bcce3cf29b663feb3e9f3feb3e9f3ff29b663fc3be0c3dccba2ebcceb133bc59b436bba774ad3d0f08a63dc9b003bec31c03bec4f96abc9018133da21e00bbf18026bced8d9e3def1101beebe9a23d060dfabd9b5c8a3f55758a3f55758a3f9b5c8a3fe257ed3c123a35bc88df44bc4fa6a73b8d06dd3d3a3ab83d1db40ebe930718be5c0ceebc73292c3d19e891bb0aa59839c11f9e3d136a05be3324ac3db783f6bd6f088a3fa1628a3fa1628a3f6f088a3fd9f92d3c281f993b292cd1bc4501c73ca78b173ef3b0ab3d805306be48e541be62a92fbd564b7a3d4e8da0bcc4ea243cf497b83d1fbb10be4905af3d8b64fcbd6943893fdd918a3fdd918a3f6943893f2640f23c0c2b72bcc03b63bc2cca483c8b79ea3d2485c43dc2ed15be15cb1cbe189ccfbcd0342d3dd70cd53b311b44bcc5b2d03d502a14befd35c13d5c8110be9b62893f62538a3f62538a3f9b62893fe471293c8357e1bbba978ebcc2e5ee3c9a6b143ec4f7b23d4f6e12bea04d36be7e832abd2660513dcc57803899589c3a4b55e03d8fd917be239dbd3d04c610be3e6e883f15ce8a3f15ce8a3f3e6e883fa11903bc1550353c18db01bd08ad453d96852d3e52df7a3d76bef5bddca250befb2854bdd1a7823dc5ce59bca750473c10d2e93d44ec18bef7b4b93d709c11bea3e5873f19348b3f19348b3fa3e5873f1ad6a13ce48c9abc5f154fbc3d7bce3cb189273e8683e13d52e02cbe1f2041befdb245bde0c1653d40570f3c32bfc4bb3dc8033e5d3e27bee034d23db92a1cbebc6e873f73038b3f73038b3fbc6e873f66ee56bc54f1bf3a640d94bc8c4f3b3de280583ebce18e3d11a410be272064be845f9cbd7cdba03d18827abc5804b43c3560023efd4f20be5aa2a63d71680bbe735e853febcb8c3febcb8c3f735e853fe10439bdc7091b3d351235bd0653963ded5c7f3ec2afd43b8e99afbdcda084be0249c1bd3b4bce3dec1923bdda182b3d2115003e3cd21cbe43518d3d760d01befa7a843f71ec8d3f71ec8d3ffa7a843f3d09edbadd0e68bce95d39bc15622e3df32a6b3e8ec6b03d76852cbe52056cbef91cc0bd1737aa3d6636d73ae705953cab61223edd3b40bea31cc73dfd221ebe3eff833fe2868e3fe2868e3f3eff833f78fb4bbd4c52fb3cf74e2bbcd8d34a3d3284a83e7d6310bde593c0bd7ede8fbef1080abe8b72023e88333ebdc2e0773de49f133e4c4730be6c1ddb3cbeefb3bdb05f783fbf2b963fbf2b963fb05f783fcf20c9bd0acbb83d87a593bc7f0a683d9a11e63e221932be1a9fc2bb67b8b6beebcb27be580f293ebe3290bdfbbc973d263ae93d58311cbe7bf484bd1609d83bca236b3fbe729d3fbe729d3fca236b3f323d0e3da11d4bbc163b29bcc6900dbb5761ae3d048aab3d9a4403bebaac06be65655cbcc558123d228868bbcc8015bc798c9f3d4948febd8846a13d9b2efdbd5c828a3f2a4a8a3f2a4a8a3f5c828a3f8221fa3c7f8484bc23ae04bc7ac68d3b3220d63d7424b53d3ea30bbea05a16be0fcfb8bc311a103d1977e93ac1f489bbc33ca63ddebd05be9ca2ad3dd65a00bec0078a3fee5f8a3fee5f8a3fc0078a3f2a553f3ceaaadebaf40cb2bce31bcd3c28c3153e439c9d3da143fabda05b42beca2058bd5634723dc1cad4bcfd42f93ca373983d869dfebd6ceda33d055bf4bd6f7a893fc6368a3fc6368a3f6f7a893fc5a7003da96a8dbc5ada53bca4a53e3ce1abe73d1e25cd3de23418be655a1dbe827cc8bcd9e5243d5added3bd6c038bca497cc3d261013beb5acc33d3ac910bec290893fed238a3fed238a3fc290893f3a7a8d3ced5e4ebc41c876bc538acc3cf0a80c3e9b96c03d17c114be806e33beca451ebdbd3b3a3da74b3b3b82b20a3b2bcad33db5f514be6c82c23d0e5f10bea5ec883fd35f8a3fd35f8a3fa5ec883f509c62bae51dd63bd97bfbbc6489323d2e90223e83df863dd513f2bdaf3d4dbeec9f4ebda065743d682452bc8407843c818cd73daa5714befabdbc3d2f240fbe59ae883ff58a8a3ff58a8a3f59ae883f5559d83c781fcdbcc1c11dbc3ff6ab3cba66203ed0b2f53da81330be11bc40be68e73abdb4ff543d6b71f43b43fa46bbc498f73d965422be422fd63ded0f1bbe891b883f77618a3f77618a3f891b883f61f9013ae1df06bc17517bbc62001b3d9947483e45bead3d334813be998d60bea75790bd77d78f3dae5d6ebc1951cb3c1868ea3d23131abe206db33dd0540cbec3dc863f8e7a8b3f8e7a8b3fc3dc863fc24f20bda682173d017052bd78ec983dacf9793ea14df53b617b92bdfab889be73a0cdbd1b56d23dc07a4bbdca136a3dcba2db3de77c13be312b963df7f3febd7f61863fd54a8c3fd54a8c3f7f61863fcdc8293cef95c5bc0e22efbbb8ce103d88105c3ec0c4d23d62a72cbe829d6dbe2368b7bd6993a03d7dd9f3bb1219e73c5e70103e1b2c35be84cfd73df6e31fbe1f16863f5a848c3f5a848c3f1f16863f5b89f0bc2501763cc9974dbc9901383d589d943ede2604bc29e9a2bdd9b590bef58302bed167f33d5c2b77bdceb39d3d5d05ff3d327624beb81c5b3dccc8ddbd5267813fb519913fb519913f5267813f8c75dfbd2735dd3d257889bd5ca7c93dc0aee13e77393cbe2d85853df762cfbe929d2dbea9162e3e4646debdb377e73d483be93ddccb1ebea9f3ecbb76aa59bd228c783f05cb963f05cb963f228c783f083c0f3dcf0a48bc943238bca399c8bafdfcb33dd203b33dabce07be029608be3d1b75bcf145153d61cddcba9d1b23bcdb19a23d8dc500bed7a3a13d40affcbdfe648a3f81558a3f81558a3ffe648a3fc30e073d7a9b9bbc99e4cbbbe5ec333b4a6dcc3d86aebf3def0310be76a312bef927b1bc3e440e3dae61353ad4a05cbb82d6a23dce8b01befed3a83d315f00be9a0c8a3f4b5b8a3f4b5b8a3f9a0c8a3ff201cf3c5cf199bc1e434dbb097a0f3cbb30fb3d6b95c73dc73d11be1f932bbec39606bd4ff50e3d07a376b96fa5043c210da63d30a704be7c11ad3dd558fcbd89f4893f8bd0893f8bd0893f89f4893ff23f0b3d96f9a7bc9cf23ebc5cd92d3cda45e23dbd4ad73db88e1abeb33f1dbeb484b8bc24e3163dd6c1113cb27b36bcfabcca3dc3e311be1c5ec63d273212be2cb7893fd2f6893fd2f6893f2cb7893fe1b5d53c545ea6bcec4c25bcac9f923ce3cbfd3da988de3dbecd1ebe359f2abeb402fdbc62fd183d0214063c329c01bbfd1ccd3d2fda12bec68dc63d093d11be4760893f77f3893f77f3893f4760893f8c49793cbeb80bbc018591bc2818e33c4b0e073ee8ffb03dbbf50abee0f434bed27524bdaf9d423da9af70bbc0f2263c1eaec43dbccc0dbe119abb3d92fb0bbe1e48893f600f8a3f600f8a3f1e48893f90cf113d64da05bd44b3e0bbaf69813c48f6143e22bd063e517534be838b3cbed8db25bd64e6353db99b2d3cbd8b56bb27e8e83d0e3d1ebee085de3d10e31bbecfe4883fc89a893fc89a893fcfe4883f83d5bb3c835ce8bca8fc05bbf481a83c737b253e05d8f23dffbe28be05a24abe5b2758bdaabf4b3d424b8cbaf9e57d3c6672d43d092f14be3d8ec23dc7bb0fbe9688883f5def893f5def893f9688883f7a92bcbb34a9c03bfe8bf5bc1883423dec99443ef252623df2fad7bd676a6bbe4cf0a2bd965da13d4aa008bd3ac53b3d249bb43d359e06bef6dba03ddea7febd4873883fb5758a3fb5758a3f4873883fa5570a3d9c263bbd770c413b19ffab3c0b12393ecad50f3e88ce41be19355bbebd5e8ebdc1896e3dc123873b1237903c9be3013e38be2bbef975ec3d2ee824beee40883f006b8a3f006b8a3fee40883f41e1663ccaf2dabcf6c22a3c2aa4833c860b4a3eb142ad3dc1810cbedbfb64beedc5a9bd00f78f3dadf5eabc6204523d684ce83de6f620beccdfbd3d4fef0ebecae3863ff5b98b3ff5b98b3fcae3863f689293bd889c953d4638a7bd0659d33d00bbab3e0ceab7bd4b03e33c471fb3be742133be2c612a3e8c74f9bde629073ecef4b33dfa970abe03a3603daff3d2bdfd49853ff5988d3ff5988d3ffd49853ff145153d3d1b75bc9d1b23bc61cddcbad203b33dfdfcb33d029608beabce07becf0a48bc083c0f3da399c8ba943238bcd7a3a13d40affcbddb19a23d8dc500be81558a3ffe648a3ffe648a3f81558a3f32430e3d1627b1bc50965cbb9161353ac5aebf3d726dcc3da7a312bef50310be589c9bbc1c0e073ddbf0333b7adecbbb00d4a83d585f00beb8d6a23dc18b01be4c5b8a3f9a0c8a3f9a0c8a3f4c5b8a3f48f40e3d4a9606bd83a3043ce19a75b9cf95c73d8d30fb3d07932bbefa3d11be1ef499bc3703cf3c77770f3cfa2c4dbb5211ad3dc158fcbd100da63d1ca704be8bd0893f89f4893f89f4893f8bd0893f36e3163d3885b8bc877b36bc74c2113cba4ad73dde45e23db23f1dbeba8e1abe96f9a7bc02400b3defd82d3c69f23ebc0a5ec63d1e3212befdbcca3dc6e311bed2f6893f2cb7893f2cb7893fd2f6893f32fd183dce02fdbce49a01bbb014063ca288de3de0cbfd3d349f2abebbcd1ebe405ea6bcf9b5d53caf9f923c364d25bcea8dc63d053d11beed1ccd3d3fda12be77f3893f4660893f4660893f77f3893f569d423d487524bda6f0263cc3aa70bbcfffb03d550e073ee7f434beb3f50abe81b90bbce04a793cec16e33cf78391bcfa99bb3d8afb0bbe26aec43dbdcc0dbe600f8a3f1e48893f1e48893f600f8a3f98e6353d21dc25bd968a56bb8b9b2d3c17bd063e4ef6143e7e8b3cbe4e7534beb4da05bdafcf113d7769813c37b1e0bb0486de3d28e31bbe76e8e83d2b3d1ebec99a893fcde4883fcde4883fc99a893faabf4b3d5b2758bdf9e57d3c424b8cba05d8f23d737b253e05a24abeffbe28be835ce8bc83d5bb3cf481a83ca8fc05bb3d8ec23dc7bb0fbe6672d43d092f14be5def893f9688883f9688883f5def893fa85da13d5cf0a2bd50c53b3d66a008bdfd52623de999443e646a6bbef8fad7bd31a9c03b5a92bcbb1683423d028cf5bce7dba03dcea7febd179bb43d2f9e06beb5758a3f4873883f4873883fb5758a3f9d896e3db35e8ebd3937903c2923873bcdd50f3e0912393e1b355bbe86ce41beac263bbdbb570a3d36ffab3c540a413b0d76ec3d32e824be96e3013e35be2bbe016b8a3fed40883fed40883f016b8a3f07f78f3df2c5a9bd6d04523dc9f5eabcb542ad3d850b4a3edbfb64bec1810cbebaf2dabc0ee1663c3fa4833ce3c22a3ccadfbd3d50ef0ebe6b4ce83de6f620bef5b98b3fcae3863fcae3863ff5b98b3f22612a3e752133bee429073e7674f9bd1beab7bdfebaab3e401fb3be3703e33c859c953d5a9293bdf058d33d3838a7bd0ca3603d96f3d2bdc6f4b33d05980abef6988d3ffc49853ffc49853ff6988d3fc758123d74645cbc338115bc528a68bb138aab3d6361ae3dc7ac06be9b4403beed1c4bbc723d0e3d63960dbb683b29bc8746a13d852efdbd728c9f3d5748febd2b4a8a3f5b828a3f5b828a3f2b4a8a3fdf1a103daccfb8bc49f889bb0376e93a1a24b53d3920d63d715a16be44a30bbef18384bcc322fa3c1ac48d3b51b004bcbaa2ad3dac5a00be5e3ca63de3bd05bef05f8a3fbe078a3fbe078a3ff05f8a3fc334723d202158bdb042f93c81cad4bcbe9b9d3d14c3153e775b42be5043fabdb487debabe503f3c391dcd3c240eb2bc74eda33d435bf4bd4374983dff9dfebdc7368a3f6d7a893f6d7a893fc7368a3fb6e5243d457cc8bc4ac138bc5cdeed3bed24cd3dd1abe73d4d5a1dbedc3418beb76a8dbc85a7003daba53e3c3ed953bcabacc33d3ec910beb497cc3d241013beed238a3fc290893fc290893fed238a3fe33b3a3dc2451ebd50b10a3bab493b3b9396c03df1a80c3e806e33be13c114be095f4ebc137a8d3c648acc3c02c876bc4b82c23d135f10be3dcad33da7f514bed35f8a3fa5ec883fa5ec883fd35f8a3f8f65743d9aa04ebd1409843c7e2452bc73df863d1c90223ea33d4dbeb813f2bd401dd63b47b562ba008a323d2f7cfbbc11bebc3d3c240fbe7d8cd73da75714bef68a8a3f59ae883f59ae883ff68a8a3f93ff543d18e73abd31fd46bb4c72f43bd4b2f53dc466203e11bc40beb91330becc1fcdbc8e59d83c87f5ab3cf5bf1dbcbf2ed63db10f1bbe4598f73d555422be77618a3f891b883f891b883f77618a3f7bd78f3d9e5790bdf550cb3cca5d6ebc43bead3d9a47483e988d60be334813be0ee006bc4ef3013a7a001b3dde507bbc1b6db33dd8540cbe2868ea3d21131abe8e7a8b3fc3dc863fc3dc863f8e7a8b3f0256d23d5ea0cdbdae136a3d987a4bbd4c4df53badf9793efbb889be5a7b92bd9982173dc14f20bd7aec983df86f52bd402b963d0af4febdd6a2db3dec7c13bed54a8c3f7f61863f7f61863fd54a8c3f9e93a03d5a68b7bda117e73c60d3f3bb56c4d23dbe105c3e4b9d6dbe98a72cbe7594c5bcf0c5293c5bce103d2d1fefbb37cfd73dcfe31fbe9c70103e592c35be61848c3f1716863f1716863f61848c3fc467f33df08302bec5b39d3d4a2b77bd0f2704bc5a9d943edbb590be21e9a2bdef00763c2689f0bc8401383dac974dbcba1c5b3dc8c8ddbd5505ff3d307624beb519913f5367813f5367813fb519913fad162e3ea59d2dbeb677e73d2e46debd7d393cbebaaee13ef562cfbe4b85853d0535dd3d9775dfbd87a7c93d227889bd76f4ecbbb5aa59bd553be93dcccb1ebe02cb963f268c783f268c783f02cb963f4419133d34fe6abc7a7e26bc112200bbf007a63db374ad3db41c03beccb003befbba2ebc74be0c3d72b236bbfeb033bc89e9a23d990cfabd938d9e3dc71101be53758a3f9d5c8a3f9d5c8a3f53758a3fa7292c3d9e0ceebc008c9839afe691bb4c3ab83d6e06dd3d970718be0fb40ebe633a35bcb657ed3c72a7a73b7adf44bc1024ac3dd883f6bdfd1f9e3d126a05be9e628a3f72088a3f72088a3f9e628a3f984b7a3d38aa2fbd31f1243c908fa0bc07b1ab3da68b173e69e541be635306be661d993bbbfa2d3c7e01c73c792cd1bc4d05af3d5c64fcbd5b97b83de4ba10bedb918a3f6b43893f6b43893fdb918a3fe4342d3db29bcfbca51b44bc6c0bd53b6485c43d8679ea3d27cb1cbecced15be232b72bcab40f23c30ca483cd43c63bc2536c13d5c8110beb6b2d03d5b2a14be61538a3f9b62893f9b62893f61538a3f4360513dcc832abd8b649c3abdf27f38cef7b23d946b143ea84d36be486e12be4357e1bb8d71293c24e6ee3cfe978ebc299dbd3d01c610be3d55e03d8ed917be14ce8a3f3e6e883f3e6e883f14ce8a3feda7823d052954bd0051473cdacf59bc89df7a3d92852d3edaa250be8cbef5bdbe50353cde1903bc0bad453d35db01bdfab4b93d6f9c11be15d2e93d49ec18be19348b3fa3e5873fa3e5873f19348b3fb8c1653dedb245bddcbec4bb3f570f3c9183e13da589273e292041be3ee02cbe388c9abcd6d5a13c007cce3caf174fbc3835d23ddb2a1cbe53c8033e7d3e27be71038b3fbe6e873fbe6e873f71038b3f8edba03d925f9cbd5604b43c30827abcdbe18e3de980583e2f2064be20a410be79f7bf3abced56bc6c4f3b3de50d94bc7ca2a63d64680bbe2660023e0a5020beeacb8c3f745e853f745e853feacb8c3f3b4bce3d0149c1bdd3182b3de81923bdacafd43be65c7f3ec7a084be9399afbdd3091b3dd80439bd0f53963d661235bd60518d3d7e0d01be2215003e3fd21cbe71ec8d3ffa7a843ffa7a843f71ec8d3ffb36aa3dd51cc0bd3407953c6d20d73af5c6b03dbc2a6b3e88056cbe40852cbe981168bc6df4ecba69622e3dfa5e39bcdc1cc73d1d231ebe7261223ea33b40beda868e3f47ff833f47ff833fda868e3f8d72023ef1080abeb9e0773d89333ebd7a6310bd3184a83e7dde8fbee793c0bd4452fb3c77fb4bbdd8d34a3dee4e2bbc671ddb3cc0efb3bde69f133e4d4730bebf2b963fb05f783fb05f783fbf2b963f470f293ed9cb27beffbc973dc83290bd201932be9c11e63e6fb8b6be789dc2bb04cbb83dc620c9bd7f0a683d96a593bc63f484bdcf07d83b153ae93d50311cbebd729d3fcc236b3fcc236b3fbd729d3fb1020e3dc3da5fbcd18e38bc941705bad079a53d4546aa3d532002be6cb402be1d3c3abcdb6d103d53d56fbbdef828bc7c8aa13d9782fabd1e1da13df46101be82798a3f455b8a3f455b8a3f82798a3fbebf223d043fe7bc85714abb228224b97b5db43d9863db3d28a715be6fc70dbe26ab16bce496e63c493ea93b722958bc7825b13d0413fcbd95f9a73d40f809be996c8a3fd3fe893fd3fe893f996c8a3ff4ee823d441a44bdb229b6bb5e1465bbc09da83dcccc203e377a41be26650ebe18d20ebba188553c7ff1d43cbf9fbcbc8159aa3d03daf8bd8510c13dcfad13be60908a3f686a893f686a893f60908a3faaef2c3d00cacebc58d163bc5cba043cfa7abe3d01aee93d71391abebef614be9bf156bc5db4eb3c9714473c841b6dbcf55dbf3d3e8810be2129d53d7f6415be0a858a3f4a30893f4a30893f0a858a3f0da15c3d53a126bd67ca5bbb1b719db9baa0ac3df3f5153e179632befdec13bedf67a0bbe296e13b0061f53ca44a87bc1a96b93d645f13becf55ee3def6e19be2f2a8b3f6f06883f6f06883f2f2a8b3f6a34803d724c47bd5f5b983b0b7719bc2aad823d518c2e3e843f4abe335903be8fb5203c9cb251bc0718493da1dfd9bc934ab73d4ee716be3b6a003e39ee1cbee7be8b3fb842873fb842873fe7be8b3f318e743d68c942bda23c4bbc40692d3c1088d43d39f32a3e8b5b3dbe09a12dbe56ba78bcbe107b3ca879e03c970e60bccc3ace3d78501ebe00fe0c3eaf0e2cbe76bb8b3f11ab863f11ab863f76bb8b3fb8daac3d80f39dbde0cb563c0b4950bc01ec823d9d085d3e64355bbe38ed17bea324dc3ba7f0b2bc5c07433d9be282bca55c9c3d90d20dbe4548123e60c226be8be28d3ff31b843ff31b843f8be28d3fbe50c73da55bafbd4ee0cb3c868bf2bc46f9a23c5174773e8b0373bedd07e4bdc7cf093da4db41bd36da8b3dbe140abdfde28c3d9e4a06be0bfa113efcfd25bee3fb8e3feb13833feb13833fe3fb8e3fefcaac3df978bdbdc96e86bad6408f3c3d9f9b3d7055733e100e64be79e231be805e26bc57dc14bc6c09433d88ee4fbcaed0b83df4cb20be17de373e3acd4abe2434903f8b36823f8b36823f2434903fa381023ed6b709be322d153d1de0c7bce3c918bdbb7db03ed0ef85be910103be4267213d2fc186bd09e0493d24c606bb88c1563cb5f6a3bd765b263ed77439be32a9983f04f5723f04f5723f32a9983fc59c223e0cd827bec461723d742b55bdf05810bec3d0e43e59f4a3bedb1596bd87d9963d0156b8bd1e0d2b3dff94bd3a77a185bd66bcce3c916fcd3d6f3816beec3e9f3ff09b663ff09b663fec3e9f3ffb360f3dd9b15dbc02c95abc8ca78e3a0b94a33d2afda73d6662ffbdd81903bea02a34bcb441123d2b598fbb69de2abc4c36a43d3daefbbdabaca23db0e202bea6638a3fa0748a3fa0748a3fa6638a3f20232b3d0fdcdbbc2f8439bcde68833b2932b43d69abde3d5a1e14be1a1210be4b4111bcb71cf03c266e583b740257bc806dab3db9f7f5bdf3f9a73d6e0b0abeb43d8a3fc02e8a3fc02e8a3fb43d8a3fc9c5923da82707bd07c3d6bc38ea04bc55e6ab3d5b971d3ee08439be07ab13be7fe1373b9ad60a3cf97ecf3c864ebebc742db53d673e02bec802d83d275f1dbeb88a8a3ff785893ff785893fb88a8a3f59d42e3d9df5c1bca1028cbce1f2143cf047bb3d2bc7e53db5c816bedf0015be743d4abc5553e83c97e5383c172d63bcfc3fbd3d5dc510bed989db3d081b17bef7b48a3f9301893f9301893ff7b48a3faa65603d76ba1cbdd03522bca1b4003ba701aa3d03d7123e1aa929befc2c17bea03f90bbb125d63be9d2da3cba1363bce320b53d9dc513be2c47fa3d71031cbe9e868b3f4797873f4797873f9e868b3f5b707d3d485a31bd735a78bb9515e3bbe32c943d871a2a3e68dd3ebef73510be611ef23b00e67fbcb17e413de455a9bc80b1ba3d75141dbeb4b30b3e269122be74158c3f60bf863f60bf863f74158c3f7e157d3d845f38bd3f23b2bc2caf743c4eaec93dae93293e0c2835be91df2ebe8ce84bbc401b4a3ce2c6e43cb41e61bc7d32c93da5c220bedfe0163e4d8f30bef0468c3f6b12863f6b12863ff0468c3fad23ad3d88b48fbd6b0e0cbb0fd2babb8ff7813d5dfb573eb8434abeb9d821be5931eb3bdb13c5bcfe96333d639b35bc85c2983d433713be07df213e41fb2cbe36978e3f482c833f482c833f36978e3f71a9bf3d75ed94bd7733003c4eeebabca814193d80a9663ed17e56be19570bbeb048c83c32c93dbd8c08793da16fa8bcb02f8e3d49f810bed719243e37922abe23828f3f550b823f550b823f23828f3fb58fb33dcbe0bbbd647dbebc63100c3d5f798d3d52f7783e5f1657bed10b3dbe59ac02bcbd5257bce125453daa6234bc57c8a43db8cf21be53e94c3e87e152be58b2913f9e93803f9e93803f58b2913f99c7013ecba60abe8a86813ca40380bb1afcd1bc7d25ad3e0f176ebee0b725be45851f3df6659abd61eb483dc23a003c92ec1f3ce170abbd0705363ef7763dbebaba983f132b723f132b723fbaba983f991c093ef2b30dbe7ed72d3d84f621bdfe6a9cbd5e63d23e434794beeb9c01bee969703d2ad9c1bdfbe25c3d34e8553befdb90bcbdc0acbc0747fc3d980124bed0b69c3f79cc693f79cc693fd0b69c3f0b350f3d8d8c6abc0e5b5bbcd014dd3a3ceea33d8491a33d66fdfbbd03c802be8bde5bbcbcf41c3d66cad8bb0bb909bc608aa83d3ddbffbda203a93de00106beee6b8a3f2d718a3f2d718a3fee6b8a3f7385383d4f08cbbc45d2d1bc0b484b3c2facaa3d3e65c53d6b2605be43270dbe19af3fbc187c083d9783823a18e350bc2e38a83df0aa00be0188bc3d2e030cbe6bbd893f41aa8a3f41aa8a3f6bbd893fe200653d7f7bbebc3b72c0bcfc1fc5bb9760b43df350153ea9d729be9ae71cbe3577b93a959d1abb57ecd93ce51260bc20f3c53d665512be18faf83d5f8524be2fb78b3f402d883f402d883f2fb78b3fc6742f3d3aa0b8bc23cda1bcf796273ca127ba3d00cbe13d1d2213bec41c16be672c43bc1f40e93c70422b3c950b5fbcd433bc3d4ea111be6bcfde3de42c17beccbc8a3f11fd883f11fd883fccbc8a3f3e29603da79ff4bc1420a9bc031a763b88c3ab3d67540b3e441f1ebe3ea01abe506cbabb9ab2f73b83eab33c3dbf22bc7dcfb03df0d616be266c043e68231dbe9bb28b3f7156873f7156873f9bb28b3f93607c3d00b607bd6df588bcf22f96bb0aa6a13daf64213e8e632ebe159d1abe5a6a4e39e13481bc76032d3d26fb2ebca0aeb13d3b3424be572d173e26eb20be08468c3f2f3f863f2f3f863f08468c3f80e6823d61b526bdca0803bdf4da953cbed5c43deb74253ef5342bbed70132be31ff3ebceb96423c0a7eda3ceb8551bc905cc43d898c23be10171f3eb81333bedba98c3f00a5853f00a5853fdba98c3f9cf0a93dbb8057bdbbc9cfbc07b9123a569f8c3dece8473ee89c32beafa22bbec5be123b2bbfacbca73c173d13c894bb7ce4953d891c1ebe3d41333e714a2fbec4cf8e3f98a5823f98a5823fc4cf8e3fa85eb33dd2c84cbd6bd389bc35e088bce8096c3dd5f04d3ebac836beb2bf1fbeee702e3c73b126bd9e8e4c3d3b25c1bb62668e3d59481dbe265b353eaca22abec6568f3f8877813f8877813fc6568f3f6cbabf3d0634adbd86ab62bd25b8523d8d50843d8338723e188e39be10524ebea9ebc8bb6af964bce0b2313d2417e9bb91498d3de10c22be9f5d5e3e197056be8f9d923f7c007f3f7c007f3f8f9d923f6585f03d8b6ddcbdff05c4bc409d813c0b1b493ba509943ec4c03fbe490c3bbef8dccd3cb57e90bdcdbb453db00c673c3bf28b3cea03eebd17aa563ec1193fbe1aa8963fb745753fb745753f1aa8963f8229db3d3068b8bd27b4453c51750ebd4db519bcf4efa63e30cd6cbea81421be4f7c0c3d16dbc7bd682e893dffdd473cb3fc893c0802dfbd610f413ef13128be5cfe983fe0226f3fe0226f3f5cfe983f3b580f3d63365bbc117e6bbcf6bde13adf81a83d78bea83d809affbd20fd05be91120abccee81c3de191d6bb8e1c5cbc95eaa33dafb4fbbdb049a33dccc602bede6a8a3f26718a3f26718a3fde6a8a3feaaa3c3df8fedbbcabf4d1bc38055c3caadca73dc4f2bc3d736b00be182d0cbe686c54bc18e8093def81853a1c6743bced2daa3d521305be5265c63dee620dbe97a3893f86c18a3f86c18a3f97a3893f3617643db2debebcafb1bebc84f9c8bb8aeec53dd691f93d869a12bed16624beb5365fbc93ed28bbe82ddb3ca28cb73af48bb43db2dd29befd54153e15c31cbe49b68b3f5429883f5429883f49b68b3fb7732f3d00c8a1bcbda1b8bcfb8c273cdf33bc3df4cbde3dac9f11beb62c17be100d5fbcc73ce93cc94c2b3c022e43bca227ba3d4c2013be53c7e13da51c16bee4bc8a3ffffc883ffffc883fe4bc8a3f972e603da827a9bc4eaff4bcee71763b61cfb03d2a6b043ebcd516be69231dbeb6c522bc42d8f73b42e7b33c007bbabb37c3ab3df01d1ebe7b530b3e62a01abe6bb28b3fa256873fa256873f6bb28b3f2f637c3df90f89bc7bb207bdf50696bb73adb13dbc2d173efb3324be98ea20becdfd2ebcfe3981bcb6072d3d6c6e4c3997a4a13d4d652ebede67213e289d1abefa458c3f2d3f863f2d3f863ffa458c3f99e6823d040903bd45b526bdd0da953c945cc43d11171f3e8e8c23beb61333bed08551bce097423cb87dda3ca0ff3ebcc6d5c43dea342bbee374253edf0132bedba98c3f00a5853f00a5853fdba98c3fb1f0a93dedc9cfbcae8057bd2db1123a7ce4953d4041333e8e1c1ebe6f4a2fbe01c994bb1dbfacbca83c173d35c0123b449f8c3de19c32bee4e8473ea5a22bbec4cf8e3f99a5823f99a5823fc4cf8e3fa85eb33d6bd389bcd2c84cbd35e088bc62668e3d265b353e59481dbeaca22abe3b25c1bb73b126bd9e8e4c3dee702e3ce8096c3dbac836bed5f04d3eb2bf1fbec6568f3f8877813f8877813fc6568f3f12babf3d89ab62bd3734adbd34b9523dbc498d3d9c5d5e3ed30c22be397056be7e16e9bbf5f664bc66b2313d40edc8bb0151843df78d39be5538723e3e524ebe8d9d923f80007f3f80007f3f8d9d923f8285f03d7706c4bc5f6ddcbd899c813cd3f28b3c0baa563edb03eebdcc193fbe4f0c673c9b7e90bda2bb453d13ddcd3c491e493bbdc03fbe9f09943e510c3bbe1aa8963fb845753fb845753f1aa8963f5929db3dd1af453cb567b8bdd9740ebd61fc893c500f413ede01dfbdec3128be26de473c18dbc7bd652e893d517c0c3de4b519bc4dcd6cbe02f0a63e9e1421be5bfe983fe2226f3fe2226f3f5bfe983f4e360f3d3cc75abc64af5dbcbe9d8e3ab836a43da2aca23d97aefbbdbce202bebcdf2abcaf41123d2d548fbb7b2b34bc3794a33daa62ffbd20fda73dc71903bea8638a3f9e748a3f9e748a3fa8638a3f43232b3da58339bc70dcdbbce067833b7a6dab3dfdf9a73dc7f7f5bd660b0abe430257bc381cf03c3772583b874111bc1c32b43d601e14be5fabde3d091210beb23d8a3fc22e8a3fc22e8a3fb23d8a3fc9c5923d07c3d6bca82707bd38ea04bc742db53dc802d83d673e02be275f1dbe864ebebc9ad60a3cf97ecf3c7fe1373b55e6ab3de08439be5b971d3e07ab13beb88a8a3ff785893ff785893fb88a8a3f3ad42e3d7c028cbc97f5c1bc27f3143cfd3fbd3de589db3d60c510be0b1b17bef32c63bc2c53e83c52e5383c2c3d4abcf647bb3db2c816be2fc7e53de60015bef8b48a3f9301893f9301893ff8b48a3f1865603d673222bc84bb1cbd9ec0003b0e21b53ddd46fa3d6fc513be8c031cbea61463bcf928d63bf4d1da3c4b3d90bb9901aa3d0ca929bef6d6123ef52c17be9c868b3f4897873f4897873f9c868b3f696f7d3d0f5d78bb465931bd9a14e3bb33b2ba3dc0b30b3ed4141dbe2e9122bee856a9bc5de57fbc397f413d0a1df23b092d943d60dd3ebe731a2a3efe3510be75158c3f60bf863f60bf863f75158c3f6f157d3de322b2bc9b5f38bdfcae743c6732c93de1e0163ea2c220be478f30be6c1e61bc531a4a3c33c7e43c80e84bbc45aec93d152835beb393293e88df2ebef1468c3f6b12863f6b12863ff1468c3f8323ad3d0c0b0cbba1b48fbd9ccfbabb97c2983d08df213e473713be46fb2cbed79a35bc1b14c5bc1b97333d4c30eb3ba7f7813dbb434abe63fb573ec7d821be36978e3f482c833f482c833f36978e3f7ca9bf3db033003c83ed94bd5deebabcc12f8e3ddf19243e54f810be3d922abec66fa8bc47c93dbda908793dc048c83cae14193dd07e56be84a9663e1c570bbe23828f3f550b823f550b823f23828f3f818fb33db77dbebc9ae0bbbd98100c3d64c8a43d49e94c3ec2cf21be7ae152be1a6334bcde5257bce125453ddaab02bc05798d3d741657be6df7783eaa0b3dbe58b2913f9f93803f9f93803f58b2913f99c7013e7e86813cd4a60abe3c0280bbd2eb1f3c1905363efc70abbdf2763dbe4d3b003c16669abd9beb483d2a851f3d0dfcd1bc19176ebe8325ad3ee4b725beb9ba983f152b723f152b723fb9ba983fa91c093e34d82d3d1ab40dbee0f621bd97db90bce846fc3dd9c0acbc8c0124bee0e6553b1cd9c1bd02e35c3dd269703dfc6a9cbd394794be5963d23ef89c01bed1b69c3f77cc693f77cc693fd1b69c3feb030e3db08d38bcece15fbc030c05bab189a13db31ca13db181fabdc76101bef1f628bcb86d103da0dc6fbbdc3b3abc9a79a53d382002be7646aa3d82b402be80798a3f485b8a3f485b8a3f80798a3fbebf223d85714abb043fe7bc258224b97825b13d95f9a73d0413fcbd40f809be722958bce496e63c493ea93b26ab16bc7b5db43d28a715be9863db3d6fc70dbe996c8a3fd3fe893fd3fe893f996c8a3fd4ee823dbe31b6bb431944bd601065bb7659aa3d5810c13dd7d9f8bdc9ad13be879fbcbcf98a553c5bf0d43c16d40ebba69da83d717a41be05cd203e19650ebe60908a3f686a893f686a893f60908a3fbbef2c3d31d263bc0fcacebce6ba043cfd5dbf3d2429d53d3c8810be876415be6d1b6dbc9fb4eb3c5814473cebf156bcfb7abe3d6e391abef3ade93dbcf614be09858a3f4c30893f4c30893f09858a3f9ca15c3da7d05bbba5a026bd6bdb9db9e095b93d1f56ee3d995f13bec56e19be484a87bcdc92e13b5a62f53c9f6aa0bbcba0ac3d2f9632befef5153efaec13be2f2a8b3f6f06883f6f06883f2f2a8b3f6a34803d5f5b983b724c47bd0b7719bc934ab73d3b6a003e4ee716be39ee1cbea1dfd9bc9cb251bc0718493d8fb5203c2aad823d843f4abe518c2e3e335903bee7be8b3fb842873fb842873fe7be8b3f1b8e743d7f3c4bbc67c942bd7b692d3ce33ace3d01fe0c3e7b501ebeb90e2cbe090f60bca0107b3cb279e03cdcb978bc1288d43d8c5b3dbe39f32a3e0aa12dbe76bb8b3f11ab863f11ab863f76bb8b3feddaac3de6ca563c77f39dbdfd4950bcb25c9c3d3c48123e88d20dbe65c226bef1e282bc5af0b2bc4407433d7625dc3b1eec823d6c355bbea7085d3e49ed17be8ae28d3ff41b843ff41b843f8ae28d3fae50c73d78e0cb3ca85bafbd698bf2bcfee28c3d08fa113e9f4a06bef6fd25bebc140abd87db41bd2dda8b3db7cf093d4cf9a23c770373be3b74773edc07e4bde3fb8e3feb13833feb13833fe3fb8e3ff5caac3db47086bafc78bdbdeb408f3ca7d0b83d1ade373eeecb20be41cd4abe8eee4fbc75dc14bc6b09433d565e26bc3f9f9b3d1a0e64be7855733e79e231be2434903f8b36823f8b36823f2434903fa281023e4e2d153ddbb709be26e0c7bc80c1563c7b5b263ebef6a3bdd77439be23c606bb35c186bd11e0493d4567213decc918bdc9ef85beb47db03e900103be32a9983f03f5723f03f5723f32a9983fc09c223ee061723d0cd827be7e2b55bd63a185bd836fcd3d09bcce3c643816bedf92bd3afc55b8bd370d2b3d7dd9963def5810be59f4a3bec2d0e43ed81596bdeb3e9f3ff29b663ff29b663feb3e9f3f9018133df18026bcc4f96abca21e00bbebe9a23ded8d9e3d060dfabdef1101beceb133bcc3be0c3d59b436bbccba2ebc0f08a63dc31c03bea774ad3dc9b003be55758a3f9b5c8a3f9b5c8a3f55758a3f73292c3d0ba598395c0ceebc19e891bb3324ac3dc11f9e3db783f6bd136a05be88df44bce257ed3c4fa6a73b123a35bc3a3ab83d930718be8d06dd3d1db40ebea1628a3f6f088a3f6f088a3fa1628a3f564b7a3dc4ea243c62a92fbd4e8da0bc4905af3df497b83d8b64fcbd1fbb10be292cd1bcd9f92d3c4501c73c281f993bf3b0ab3d48e541bea78b173e805306bedd918a3f6943893f6943893fdd918a3fd0342d3d311b44bc189ccfbcd70cd53bfd35c13dc5b2d03d5c8110be502a14bec03b63bc2640f23c2cca483c0c2b72bc2485c43d15cb1cbe8b79ea3dc2ed15be62538a3f9b62893f9b62893f62538a3f2660513d99589c3a7e832abdcc578038239dbd3d4b55e03d04c610be8fd917beba978ebce471293cc2e5ee3c8357e1bbc4f7b23da04d36be9a6b143e4f6e12be15ce8a3f3e6e883f3e6e883f15ce8a3fd1a7823da750473cfb2854bdc5ce59bcf7b4b93d10d2e93d709c11be44ec18be18db01bda11903bc08ad453d1550353c52df7a3ddca250be96852d3e76bef5bd19348b3fa3e5873fa3e5873f19348b3fe0c1653d32bfc4bbfdb245bd40570f3ce034d23d3dc8033eb92a1cbe5d3e27be5f154fbc1ad6a13c3d7bce3ce48c9abc8683e13d1f2041beb189273e52e02cbe73038b3fbc6e873fbc6e873f73038b3f7cdba03d5804b43c845f9cbd18827abc5aa2a63d3560023e71680bbefd4f20be640d94bc66ee56bc8c4f3b3d54f1bf3abce18e3d272064bee280583e11a410beebcb8c3f735e853f735e853febcb8c3f3b4bce3dda182b3d0249c1bdec1923bd43518d3d2115003e760d01be3cd21cbe351235bde10439bd0653963dc7091b3dc2afd43bcda084beed5c7f3e8e99afbd71ec8d3ffa7a843ffa7a843f71ec8d3f1737aa3de705953cf91cc0bd6636d73aa31cc73dab61223efd221ebedd3b40bee95d39bc3d09edba15622e3ddd0e68bc8ec6b03d52056cbef32a6b3e76852cbee2868e3f3eff833f3eff833fe2868e3f8b72023ec2e0773df1080abe88333ebd6c1ddb3ce49f133ebeefb3bd4c4730bef74e2bbc78fb4bbdd8d34a3d4c52fb3c7d6310bd7ede8fbe3284a83ee593c0bdbf2b963fb05f783fb05f783fbf2b963f580f293efbbc973debcb27bebe3290bd7bf484bd263ae93d1609d83b58311cbe87a593bccf20c9bd7f0a683d0acbb83d221932be67b8b6be9a11e63e1a9fc2bbbe729d3fca236b3fca236b3fbe729d3fc558123dcc8015bc65655cbc228868bb8846a13d798c9f3d9b2efdbd4948febd163b29bc323d0e3dc6900dbba11d4bbc048aab3dbaac06be5761ae3d9a4403be2a4a8a3f5c828a3f5c828a3f2a4a8a3f311a103dc1f489bb0fcfb8bc1a77e93a9ca2ad3dc33ca63dd65a00bedebd05be23ae04bc8221fa3c7ac68d3b7f8484bc7424b53da05a16be3220d63d3ea30bbeee5f8a3fc0078a3fc0078a3fee5f8a3f5634723dfd42f93cca2058bdc1cad4bc6ceda33da373983d055bf4bd869dfebdf40cb2bc2a553f3ce31bcd3cebaadeba439c9d3da05b42be28c3153ea143fabdc6368a3f6f7a893f6f7a893fc6368a3fd9e5243dd6c038bc827cc8bc5added3bb5acc33da497cc3d3ac910be261013be5ada53bcc5a7003da4a53e3ca96a8dbc1e25cd3d655a1dbee1abe73de23418beed238a3fc290893fc290893fed238a3fbd3b3a3d82b20a3bca451ebda74b3b3b6c82c23d2bcad33d0e5f10beb5f514be41c876bc3a7a8d3c538acc3ced5e4ebc9b96c03d806e33bef0a80c3e17c114bed35f8a3fa5ec883fa5ec883fd35f8a3fa065743d8407843cec9f4ebd682452bcfabdbc3d818cd73d2f240fbeaa5714bed97bfbbc509c62ba6489323de51dd63b83df863daf3d4dbe2e90223ed513f2bdf58a8a3f59ae883f59ae883ff58a8a3fb4ff543d43fa46bb68e73abd6b71f43b422fd63dc498f73ded0f1bbe965422bec1c11dbc5559d83c3ff6ab3c781fcdbcd0b2f53d11bc40beba66203ea81330be77618a3f891b883f891b883f77618a3f77d78f3d1951cb3ca75790bdae5d6ebc206db33d1868ea3dd0540cbe23131abe17517bbc61f9013a62001b3de1df06bc45bead3d998d60be9947483e334813be8e7a8b3fc3dc863fc3dc863f8e7a8b3f1b56d23dca136a3d73a0cdbdc07a4bbd312b963dcba2db3df7f3febde77c13be017052bdc24f20bd78ec983da682173da14df53bfab889beacf9793e617b92bdd54a8c3f7f61863f7f61863fd54a8c3f6993a03d1219e73c2368b7bd7dd9f3bb84cfd73d5e70103ef6e31fbe1b2c35be0e22efbbcdc8293cb8ce103def95c5bcc0c4d23d829d6dbe88105c3e62a72cbe5a848c3f1f16863f1f16863f5a848c3fd167f33dceb39d3df58302be5c2b77bdb81c5b3d5d05ff3dccc8ddbd327624bec9974dbc5b89f0bc9901383d2501763cde2604bcd9b590be589d943e29e9a2bdb519913f5267813f5267813fb519913fa9162e3eb377e73d929d2dbe4646debda9f3ecbb483be93d76aa59bddccb1ebe257889bd8c75dfbd5ca7c93d2735dd3d77393cbef762cfbec0aee13e2d85853d05cb963f228c783f228c783f05cb963ff145153d9d1b23bc3d1b75bc61cddcbad7a3a13ddb19a23d40affcbd8dc500be943238bc083c0f3da399c8bacf0a48bcd203b33d029608befdfcb33dabce07be81558a3ffe648a3ffe648a3f81558a3f3e440e3dd4a05cbbf927b1bcae61353afed3a83d82d6a23d315f00bece8b01be99e4cbbbc30e073de5ec333b7a9b9bbc86aebf3d76a312be4a6dcc3def0310be4b5b8a3f9a0c8a3f9a0c8a3f4b5b8a3f4ff50e3d6fa5043cc39606bd0fa376b97c11ad3d210da63dd558fcbd30a704be1d434dbbf201cf3c097a0f3c5cf199bc6b95c73d1f932bbebb30fb3dc73d11be8bd0893f89f4893f89f4893f8bd0893f24e3163db27b36bcb484b8bcd6c1113c1c5ec63dfabcca3d273212bec3e311be9cf23ebcf23f0b3d5cd92d3c96f9a7bcbd4ad73db33f1dbeda45e23db88e1abed2f6893f2cb7893f2cb7893fd2f6893f62fd183d329c01bbb402fdbc0214063cc68dc63dfd1ccd3d093d11be2fda12beec4c25bce1b5d53cac9f923c545ea6bca988de3d359f2abee3cbfd3dbecd1ebe77f3893f4760893f4760893f77f3893faf9d423dc0f2263cd27524bda9af70bb119abb3d1eaec43d92fb0bbebccc0dbe018591bc8c49793c2818e33cbeb80bbce8ffb03de0f434be4b0e073ebbf50abe600f8a3f1e48893f1e48893f600f8a3f64e6353dbd8b56bbd8db25bdb99b2d3ce085de3d27e8e83d10e31bbe0e3d1ebe44b3e0bb90cf113daf69813c64da05bd22bd063e838b3cbe48f6143e517534bec89a893fcfe4883fcfe4883fc89a893faabf4b3df9e57d3c5b2758bd424b8cba3d8ec23d6672d43dc7bb0fbe092f14bea8fc05bb83d5bb3cf481a83c835ce8bc05d8f23d05a24abe737b253effbe28be5def893f9688883f9688883f5def893f965da13d3ac53b3d4cf0a2bd4aa008bdf6dba03d249bb43ddea7febd359e06befe8bf5bc7a92bcbb1883423d34a9c03bf252623d676a6bbeec99443ef2fad7bdb5758a3f4873883f4873883fb5758a3fc1896e3d1237903cbd5e8ebdc123873bf975ec3d9be3013e2ee824be38be2bbe770c413ba5570a3d19ffab3c9c263bbdcad50f3e19355bbe0b12393e88ce41be006b8a3fee40883fee40883f006b8a3f00f78f3d6204523dedc5a9bdadf5eabcccdfbd3d684ce83d4fef0ebee6f620bef6c22a3c41e1663c2aa4833ccaf2dabcb142ad3ddbfb64be860b4a3ec1810cbef5b98b3fcae3863fcae3863ff5b98b3f2c612a3ee629073e742133be8c74f9bd03a3603dcef4b33daff3d2bdfa970abe4638a7bd689293bd0659d33d889c953d0ceab7bd471fb3be00bbab3e4b03e33cf5988d3ffd49853ffd49853ff5988d3f diff --git a/shaders/ravu/gather/ravu-lite-ar-r3.glsl b/shaders/ravu/gather/ravu-lite-ar-r3.glsl new file mode 100644 index 0000000..ec6d6a8 --- /dev/null +++ b/shaders/ravu/gather/ravu-lite-ar-r3.glsl @@ -0,0 +1,186 @@ +// +// 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 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 . + +//!DESC RAVU-Lite-AR (step1, r3) +//!HOOK LUMA +//!BIND HOOKED +//!BIND ravu_lite_lut3 +//!SAVE ravu_lite_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < HOOKED.h OUTPUT.h / 0.833333 < * +//!COMPONENTS 4 +vec4 hook() { +vec4 gather0 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, -2), 0); +vec4 gather2 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, 0), 0); +vec2 gather4 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-2, 2), 0).wz; +vec4 gather10 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, -2), 0); +vec4 gather12 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, 0), 0); +vec2 gather14 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(0, 2), 0).wz; +vec2 gather20 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, -2), 0).wx; +vec2 gather22 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(2, 0), 0).wx; +float luma24 = HOOKED_texOff(vec2(2.0, 2.0)).x; +vec3 abd = vec3(0.0); +float gx, gy; +gx = (gather10.x-gather0.x)/2.0; +gy = (gather2.z-gather0.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.1018680644198163; +gx = (gather12.w-gather2.w)/2.0; +gy = (gather2.y-gather0.y)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.11543163961422666; +gx = (gather12.x-gather2.x)/2.0; +gy = (gather4.y-gather2.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.1018680644198163; +gx = (gather10.y-gather0.y)/2.0; +gy = (gather12.w-gather10.w)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.11543163961422666; +gx = (gather12.z-gather2.z)/2.0; +gy = (gather12.x-gather10.x)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.13080118386382833; +gx = (gather12.y-gather2.y)/2.0; +gy = (gather14.x-gather12.w)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.11543163961422666; +gx = (gather20.y-gather10.x)/2.0; +gy = (gather12.z-gather10.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.1018680644198163; +gx = (gather22.x-gather12.w)/2.0; +gy = (gather12.y-gather10.y)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.11543163961422666; +gx = (gather22.y-gather12.x)/2.0; +gy = (gather14.y-gather12.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.1018680644198163; +float a = abd.x, b = abd.y, d = abd.z; +float T = a + d, D = a * d - b * b; +float delta = sqrt(max(T * T / 4.0 - D, 0.0)); +float L1 = T / 2.0 + delta, L2 = T / 2.0 - delta; +float sqrtL1 = sqrt(L1), sqrtL2 = sqrt(L2); +float theta = mix(mod(atan(L1 - a, b) + 3.141592653589793, 3.141592653589793), 0.0, abs(b) < 1.192092896e-7); +float lambda = sqrtL1; +float mu = mix((sqrtL1 - sqrtL2) / (sqrtL1 + sqrtL2), 0.0, sqrtL1 + sqrtL2 < 1.192092896e-7); +float angle = floor(theta * 24.0 / 3.141592653589793); +float strength = mix(mix(0.0, 1.0, lambda >= 0.004), mix(2.0, 3.0, lambda >= 0.05), lambda >= 0.016); +float coherence = mix(mix(0.0, 1.0, mu >= 0.25), 2.0, mu >= 0.5); +float coord_y = ((angle * 4.0 + strength) * 3.0 + coherence + 0.5) / 288.0; +vec4 res = vec4(0.0), w; +vec4 lo = vec4(0.0), hi = vec4(0.0), lo2 = vec4(0.0), hi2 = vec4(0.0), wg, cg4, cg4_1; +w = texture(ravu_lite_lut3, vec2(0.038461538461538464, coord_y)); +res += gather0.w * w + luma24 * w.wzyx; +w = texture(ravu_lite_lut3, vec2(0.11538461538461539, coord_y)); +res += gather0.x * w + gather22.y * w.wzyx; +w = texture(ravu_lite_lut3, vec2(0.19230769230769232, coord_y)); +wg = max(vec4(0.0), w); +res += gather2.w * w + gather22.x * w.wzyx; +cg4 = vec4(0.1 + gather2.w, 1.1 - gather2.w, 0.1 + gather22.x, 1.1 - gather22.x); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut3, vec2(0.2692307692307692, coord_y)); +res += gather2.x * w + gather20.y * w.wzyx; +w = texture(ravu_lite_lut3, vec2(0.34615384615384615, coord_y)); +res += gather4.x * w + gather20.x * w.wzyx; +w = texture(ravu_lite_lut3, vec2(0.4230769230769231, coord_y)); +res += gather0.z * w + gather14.y * w.wzyx; +w = texture(ravu_lite_lut3, vec2(0.5, coord_y)); +wg = max(vec4(0.0), w); +res += gather0.y * w + gather12.y * w.wzyx; +cg4 = vec4(0.1 + gather0.y, 1.1 - gather0.y, 0.1 + gather12.y, 1.1 - gather12.y); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut3, vec2(0.5769230769230769, coord_y)); +wg = max(vec4(0.0), w); +res += gather2.z * w + gather12.z * w.wzyx; +cg4 = vec4(0.1 + gather2.z, 1.1 - gather2.z, 0.1 + gather12.z, 1.1 - gather12.z); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut3, vec2(0.6538461538461539, coord_y)); +wg = max(vec4(0.0), w); +res += gather2.y * w + gather10.y * w.wzyx; +cg4 = vec4(0.1 + gather2.y, 1.1 - gather2.y, 0.1 + gather10.y, 1.1 - gather10.y); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut3, vec2(0.7307692307692307, coord_y)); +res += gather4.y * w + gather10.z * w.wzyx; +w = texture(ravu_lite_lut3, vec2(0.8076923076923077, coord_y)); +wg = max(vec4(0.0), w); +res += gather10.w * w + gather14.x * w.wzyx; +cg4 = vec4(0.1 + gather10.w, 1.1 - gather10.w, 0.1 + gather14.x, 1.1 - gather14.x); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut3, vec2(0.8846153846153846, coord_y)); +wg = max(vec4(0.0), w); +res += gather10.x * w + gather12.x * w.wzyx; +cg4 = vec4(0.1 + gather10.x, 1.1 - gather10.x, 0.1 + gather12.x, 1.1 - gather12.x); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut3, vec2(0.9615384615384616, coord_y)); +wg = max(vec4(0.0), w); +res += gather12.w * w; +vec2 cg2 = vec2(0.1 + gather12.w, 1.1 - gather12.w); +vec2 cg2_1 = cg2; +cg2 *= cg2;cg2 *= cg2;cg2 *= cg2;cg2 *= cg2;cg2 *= cg2; +hi += cg2.x * wg; +lo += cg2.y * wg; +cg2 *= cg2_1; +hi2 += cg2.x * wg; +lo2 += cg2.y * wg; +lo = 1.1 - lo2 / lo; +hi = hi2 / hi - 0.1; +res = mix(res, clamp(res, lo, hi), 0.800000); +return res; +} +//!DESC RAVU-Lite-AR (step2, r3) +//!HOOK LUMA +//!BIND HOOKED +//!BIND ravu_lite_int +//!WIDTH 2 HOOKED.w * +//!HEIGHT 2 HOOKED.h * +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < HOOKED.h OUTPUT.h / 0.833333 < * +//!COMPONENTS 1 +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + int idx = int(dir.x > 0.0) * 2 + int(dir.y > 0.0); + return vec4(ravu_lite_int_texOff(-dir)[idx], 0.0, 0.0, 0.0); +} +//!TEXTURE ravu_lite_lut3 +//!SIZE 13 288 +//!FORMAT rgba16f +//!FILTER NEAREST +d8b8c339ab9780b831e9aeb810cfa4b91782da3922bf67bb9bb1603b7ef86639ce52373bc9b3333bfcd11f3b3ce91e3b433e6abbe7c23b3a81956338ac065b3b5b5927b96c56eb39fcccb5b9258016b88813bd3a9a38793b0a1b86bbdce729ba413b023db08e35bc244447bc10cbbebb5a82a03d19ef9f3d870d01bef04801bea69d32bcaae7013d5bedbabb04684bbc2963753b9033d23a4e0d35ba8b5189bbeb70633b13fbff3af286483b8daafc3a61529f3deca800bed2069f3d42de00be63808a3f00768a3f00768a3f63808a3f2cbb89b9b94a943808a23f3912d006b9e769fdba382898bb9baab43bc1d6e63acbc024ba354748ba73f9b63b2f83c73bf7b193bb8e41dfba5597df3a7705aa3b396ca638bae278b826b988b920400a398ccb243b89cec33b4f38b5bb77080ebbc7af1a3d282424bca8ef71bc4f5f1fbc789aab3d1b39ab3d9e7306bef86a06be863223bcbef41c3d6e2224bc597579bcec85e13ba92d293bc44a33bbcf41c5bb6852d93a30089e3b5dc2113aa159533be002a93d15cd04beb6fca63dc22c06be58668a3f5e5f8a3f5e5f8a3f58668a3fe65bc9b9c883b338dec198b9c4a7ce39bca248bba70b9fbb49cccf3bead31b3b9057b2bb5f31b9bb6e61123c4259163c3830cabb5b016dbb0926723bf882ec3bdce743b9e717feb96f630e3aac3a5eb778eeef395decc93b1f2fafbb8e6a38b96aa03c3d70ce0dbcc9cf67bc172f8cbc8ac9b53d9bc2b33d5da90abe0d3609bef0118abbee34493d6377adbc8b3798bcc3c8163ca0f9693b380e76bba6dc09bc8eea68ba4d9d1b3cb7b8c3bb69f9853be624c33d5b1c0bbe14e4b33d47a712be72178a3f7b738a3f7b738a3f72178a3ff6df70b625f7cab86ccf24b8709bbeb963887ebbb7a698bb6216fd3b31b97d3aa65c1cbcef8b3dbc17488c3c6a6c833c9a9cc7bb47fc56bb54df353af38e113cd957f439f6ef87b9f18fdeb9efad54b929d91fbb35541a3c18bdc8bb6c3c6aba9f20233dc6ce95bc6e4daabcbca2553b7d28f03dbfb6e93d6cce25bec14d26bec00496bc5a5b333dfe7d1c3a4149b7bc90001c3ce0a124bb087e86b9df88debb400f28bcfb71903c487a36bc90fa8a3cc2e7f93d3f8b2abecda0f03ded502cbeb4ce893feb268a3feb268a3fb4ce893f6e189d39fd806bb9cba1823950473eba19af8fbb7be605bb9e3ca23b3d32b63a150d27bcb7842fbc9cad863c01957e3cf64a94bb7fd9a0bb000b293be704e93b08a97c37cc7ac4b97fe67bb9fc2ca2390f725abb95cf123cf298aebba94179b9115f1e3d18b8a0bcc96d9fbc63e5a93b9954e93db81ede3dd4b020beb44b20be6ba875bcabfe3e3d29a11bbbe908d0bcdfb14c3c1d01873aa9a572bb0fa023bce7c8e7bbcc6ea83c267d6cbcc2e9633cd7ef033e11242abedd92ed3d533d33befb90893f84528a3f84528a3ffb90893fe8da2d3a4051b93973b400ba223159ba2c4392bb1a260abb47046d3b3868483b562de3bb94bfdfbbb728393c65ea213ced3cb9bbc258c4bb9430a83bbf97f43bdf15cd38e8f8afb956021b3988a899b80b1eeabb0ab5bd3aa0576f3a5d10cb3bec3a163d07de96bc979574bc0b70473b38bace3d48fbc13d3ae112be42cd10be27aeb4bb465e543d4b3b48bc0bc0f1bc7b3ca23cc6063e3cb39355bcef5997bcc0c0453c4b6ce33c5295b5bc723ef5bbde29fc3d9b3c19bebc17ca3da79e2ebe5c99893feb818a3feb818a3f5c99893fde5d30ba1d7c27b9cf2f07b84aeb3238c6ca9dba2e7611bb3c84dd3b6fb368bbf3f3c2bcd0cfb7bc3a7cf63c184bf33c0a9152bbf3064dbb6631dbba6e11053c0dfd20b9891360baa00ebeb80e547d3922ec99b9047a373c7857aabb2127cabb12d9fd3c7ba1ccbc627bb6bccc24a53c0265173e7e9a0e3e44c841bea9d140be3ed2ccbca2ea283dc69c5a3ca16dd7bc032e533c35481cbac2e5adbb8596f0bbc746cabcf3ec083d349fd7bcb81d043daa3a223e1a2549be7d01163e887e4dbe790d893fd3208a3fd3208a3f790d893ff3d5e7397269b4babb60763a03e90fbacf96e9baf0e1073bdafd033b4e7a2dbbc05489bc9e6184bc92bdbd3cc68cb03c6e9ebcba759d88bbc65e13b9c60bc83b880103bb0bd5c3ba531d753ae9b50b3bf3e917baeacb1d3c18495fbb1791d3bba440b33c788ad4bcbf158cbcafecd03cc0a0073eaf9af03d29612dbe253d2cbe79da9ebc78e9343d4295073c7794fabc6e2b9f3c8184d03bd31455bc803562bce78194bc9cce223d2c5f04bdd9dccc3cbf322d3e449f44bec0c50e3e93bb55be7aa1883f5f868a3f5f868a3f7aa1883f1f58c237b333bfbaaecab33a287a30b9a86ae63767c05c3b8f4f10bb7fd1b5ba6b5df6bb0cab03bcff504b3ccbd3293cb11d36ba65018cbade4d823a289ed73a3ccc99bbdcb99ebbc2528d3bcec8b73bbcc07fbc44add7bb6a2f313cf03e4e3ca76f533b388d20bd217cb73bb9be143d2993da3d49b2c23d96a914be6e4310bef8ee59bbc36e383d884de1bbc2db08bd4bf9443d406d293d2b8e2fbd3ff74abdfa88103d9fc28e3d5f3b87bd0c29d9bc3de42f3e20761ebe8da3d83d1f1f5ebe71d5883fc6a88a3fc6a88a3f71d5883f0104f13909470ebbacb30d3a86685fb802fe6bbbab842d3b1f9afa3b19dce8bb719514bd32b60dbde74f313debf1313dfb2f1db9af89f1bb5b7c28bbe44d273c79c122bbdafa18ba7b5cab368e17f33a4499abbaa162633c97a411bb41492ebc0f0fef3c8e01e4bc7febfabcac75073d70972e3ef6681f3e646156bee0f255be3821debc78c0433d4d5ea93c2e2e1dbdc4c98f3cbab947bbda6412bc1165b9bb593916bd0e57393d5b7614bdb829323d9d523a3e01275bbe623c253e410b62bee6a0883fd65a8a3fd65a8a3fe6a0883f5ad4083ac72e1dbb34718739f31693390ccbedba18457c3b60778d3bec01dabb0d9eedbc40bdc2bc0f490d3d7922093dc2e37fb9f05218bce381b63acc65163c07a9c6bb12269cbb55d6673b49bcce3b3001673b35524e3ca25316bb90166bbc78204f3cacf2debc829ca1bca8471b3dc1ca133eb175fb3d0d8438be164634bec3edfcbb87425d3dc5af4f3b760447bd79cedb3c25815d3c3f32babcca7d95bce928c8bc70bb413da0aa26bd7e56003d39d6463ed14847be5a66103e48226bbe14fa873fd1ef8a3fd1ef8a3f14fa873fd188593b14a6f33a086189bbf96713bb512a013cd4381b3cc8a9d5bb40b546bcf31715bc4e0ca8bb369c4e3cfbb6403c7cc809b9b6e264bb742a033b4429553b3c36fabc7eb7f0bc12dbfd3c994f043d30113ebde55b22bd7ebe4d3da861233deb362bbdab4e92bd40f1163d6adaab3d1c4add3d5475ae3dc3c112bed40b0abe9265eb3c344a993dbb1611bd2d6894bdf89dea3df445d93dbb22e8bd5209eabd4389ca3d91921a3ec2a419be9b04b8bd45a2843ec9ddd5bd1426623df58c98bef6b2873fa4878b3fa4878b3ff6b2873f8b8a88baff2d5e3adf35823963d982b9bcca60b617f0acbb43f9913bae02c73a38635e3b28ddd13ab2484b3b69d71e3b52cf8ebb1c476639410a04b9ab9e9d3b958e0eb97a1010baebf559397387e1398624163aaea5b93b9f2fc0bbff0b0f3916e2073d736235bc6a8463bca2b8b1bb5c3ba93df733a73de76e05be976504be17ec25bc99f0053d180995bbc35879bc40f2b03be5c22f3b6e97d0bad268cbbb2fa99c3bc5651f3b1b98493b0a3ada398eeea63d7b7703beb9fba43d804905be0e5f8a3f75848a3f75848a3f0e5f8a3f283ac2b9ea53bdb93a299239b6d678396c8c4bbb03999abb84b8ae3b8d224f3bf02a2bba089b4db9a9aeb93beec0b53b43eaa7bb297a85bbeb326d3b44e0ce3b9af9a239ba51b93978202fba8d4779b8cbed3d3bf8b3d93b88eed1bbe7d822bbf6fb0c3d502916bc95098ebc498196bb1b0cae3d93f7aa3d2d4406be4b9f06beeb9fa2bb435d1c3d949508bc82a0b3bc70490d3c840a9c3bbee98ebb2d9511bcaa7b9f3b5c6aab3bf33aba386cf463392c33b13dc28e03be57f2a23d14fa09be79468a3fb87f8a3fb87f8a3f79468a3f3f17c83976e52639a7d4a9b9a691dfb9ffd7c3bb449770bbefb1be3bb590713b7ad2d1bb19159ebb65ae2f3c9e482a3cfdf8dcbbaddde2bbfe38bd3ba701113c88da8538786d0d3822c59e37d477fdb8ea89c03a80d34e3b03a349bb1aac8fb7a7a8093ddb7926bcb92989bc2579e3ba5b40b73d9078a73d4d0008be742d05bee9c0cf3b6a74403d6c7585bcb8570cbd995e8a3c0ccd8e3c4cde89bc7c6793bc45d5883c1a60863c9ad453bcef1a34bcdce9cb3d4a74fcbd333d9a3dbd7519be6ce0893f34c98a3f34c98a3f6ce0893f8e734639bf3ea1380c22e0b929fac5b9166b6abb64e58cbbe523e23b2b658b3a66e622bc9d5e38bc8d39973c503e723cb939f5bba7b881bb197c6d3ad457333c7a8dfd39c771bcb7ccf49ab94ecb1cba1a635bbbdeef063cb1efaabb28b69239a452123d53cc93bcabcb97bc1579a73b4d27fb3d5001e23d59c227be0ade25bef40896bc1b5f463dd4960bbb579cc9bc356d3d3cadae0fbba2722bba3bc210bcfb1317bc6da9a43c8e6c55bca44f7d3cd185033eacf02abee311e93d87ab2ebe9a3d893f64b18a3f64b18a3f9a3d893f23e01b3aea5532b9e6383db99ea931baacf566bb39567eba81ce773b13b26439765032bcc5822abc6892913cf2ae723cd734d0bb2944e5bbc4817b3b99a7243cece597b989fc5cba113b9b398a2e413af545e0bb78feaf3bdc4f54ba8f1a1d3bb859ef3cfe1bbdbc468d62bc257b583c6990f93d46b6d23d8dcc22be639420be231638bce75b683dea991abc5c4007bd3f61903c63309c3b0c7d01bcb42274bc9b66a8b8be2be83c2cffb5bc4c09ea3b168a103edabb23be46ead63d31083bbed2bc883f12238b3f12238b3fd2bc883f766fe53aa1a7c7398c7e98bad775a0ba927971bbc97fd63ad4e9c53adb4b56bae0b7f7bb3dc80abc822e613c96ad403cba9935bc532f29bc5669283c012c513c337769ba9f69d6ba23a3993a1af1c13a854489bc8d11cfbb9b15253c6756723ce495b73c97e7e5bc4abdc2bb41509b3c8533e83da789ba3de16c18bea65d15be2e8d8a3bd8ca893d1309cebc23b232bd5e760b3d9ba4c13cf814cebc2dbf07bd9e79e13c62d63a3d92a825bd86e8b1bc5c40143e39ec0ebe3349ae3d853241bed098883f87778b3f87778b3fd098883f74a20bba10d0d2b9a9a3ef38413bb7b731bfd13987fa86ba4a0bab3bb86da7bb3f7ec8bc1ce4b9bcc8b3fd3c9e9ef33cfb4e96bbf1387fbbaef430ba50611d3c4e0afdb910f3d2ba490a923974b6773aad9606b97de0073c706659bbcc97b2bb7a8aa33c09d6c0bcc92e96bcd0e9da3cde09233ec154053ed2a041beba8243bef695dcbcda0f543da50fe63ba9e7efbc9cea823cd2f68bb946a2babbe2f825bc1fa9c6bc0271173db049e3bc1e4ff33c6d2a2f3e14d847be7db10a3ee5a150be7107883f47288b3f47288b3f7107883f32e7a63aa5185abafc47f9b9cb4e1eba0553b73a76bc883bc3e6adb9dc23cfbb03dc94bc1de47cbc32e5c53c6605af3cd016a9bbbdbccdbb1e21593b873e173c3cc83bbb83a571bb0e131f3bf8d97a3b786caebb5376363b56199b3b283633bb9300c639ab52f9bc7e2cadbb17e6293df20b1a3ed6b4d13d9cb930be56452cbe00d074bcc46b873d4d9903bce1532dbd9fa4ea3c538f433ce4c191bc41e7c1bc96cf15bc7414503de0a932bd51c7823ca7cc4b3ee56b37be718ee63d85fb65be2b89863fb09b8c3fb09b8c3f2b89863fa4f1013b94dbe0bae6adff366bfa3cba14d1733b47d61f3ca36102bc593ef4bb3968cdbb836be2bbce045b3caefc0b3c6f8bdfbbc45534bb2a3fc63b5734c43bc4f623bc1d4054bc9ce8313cc03a5a3c11a9e9bc933678bcad34dd3cd954983c7244b3bc3c926bbdaa64bf3c2e94843db177f33dc9b69e3d164715be7ed60bbeeba26d3c40ce923d487b0ebd546d5abdc7dd8e3d5e71853d59417dbd220b9cbddd6e663da721be3d5eb6cabd70ba1fbd34e55f3e6d0606bea92da33dfd2385be8aa3863fb0cb8c3fb0cb8c3f8aa3863f039bbe3a6c4f17bb2a104fba9b84ce39dc3e4c3a8a917e3b136eaa3b5d8330bc63641bbd0bf503bd3808323dbc1d2e3d985e63bbb73847bc0c8c073badf4693c45b62dbb0593bdbad07e1d3920bc2d3ba62dc3ba1c4d433c25e2013a8d113cbcb745483c7785eabcd06db8bc366d333df8d13e3e4c8b123e35b358be972757bed681dfbc13a2863d63a7113c61fb38bd8dd8ab3c32e981bb540af8bbae5716bc25d413bd551a3f3d02dd15bddc4b2b3d2d7c4d3ec4b054be4c1a123e5fb168be930c873fb1ee8b3fb1ee8b3f930c873f55a6ee3af9866fba2a6d04bb22d224b99783023cf3ac1d3c281888bb018579bc587901bd9d9796bc57d70a3d0793fc3cfca5b0bb0b4384bc76b1223c1ea9623cc66134bcbbe331bce1dcfa3b26785f3c2a9cf6ba484f103b2e58173c3b5a22bcf6a2d3bc49b81cbdebbd8d3ba0de873d009c2e3ebfdfc83d15363dbe682932bee006a63b98b8ba3dcd05e0bcce9c8fbddb3e173db77aa43c21f9d6bcdf5afdbc040574bcb3aa6b3dd61851bda444b13cd4667a3ede302abef82eba3dc25884be8ba9843fbe4a8e3fbe4a8e3f8ba9843f2fcc2d3b291b9fb9dadbb7bb61229f3a092bb83c56b29a3c5a40a2bc8550d6bc7f8b84bb0e84143cd68b813ba319023b2ee8533b8d977d3a76a1a53bec5a91bb47b33abd7d0032bd69b1323d30034b3dc4ca1abd96ecf0bc6ff7543d46cfac3cba34d0bd4a98babdd3be9c3dc2f4033e5577fb3d4632cc3c39aa08be12b8d3bda432483df533db3d1896a0bd73c8b7bde4ef043e38cbf63dfb99f5bd757209be7cabb33d76580b3e139d19be87358cbd5a66af3e45da74bdecadb9bb3b33b9be21d6813f38b5913f38b5913f21d6813ff20035ba06d02b3864f2113935809c39184a86394286b0bb87c2843bb6dbe73a14124f3bbb28383ba8eb513bc46ea83a1cda8cbbf38049b92ac7f1395913963ba105113acb33d039f22ab2b9e6b043ba1605533a4eefa03b9fba97bbb633ecb9f2a4013dce912bbc530757bcb832abbb1e5ca83d2dcfa33de54804bedeab03be561327bc9d1b093d341abfbbeaf66ebc1ea1773bf914db3a99736fb9504ba0bbb0ceb83bcc2b733beb6eb33a8d469437ecc4a63dbd3104be7c17a23de90503bec4438a3f7fa38a3f7fa38a3fc4438a3f7f9b69b988a606ba5868c339282f4439dde34abb2fab95bbf2009b3b5d48733b475c913acd4983ba3fffef3b6d17443bd6739bbb9b5e23bbec4bf73aa04bc83b7e7edc3993fe55b79d3552389f0b01bae08958395440dd3b1f9ebabba0482eba78a60d3dc45a35bc46616ebc3b61bdbbe887af3d8491ab3ded560abe1d2e04be07b296bbe5fd1b3d8edbf3bb104bbdbc07adbe3bfe4e933bfbed3fbb743befbb2da4c93b97aed13b2178cbbabd1481b93d91b33d322005be0530a53d3ead0abefb3f8a3f268c8a3f268c8a3ffb3f8a3f1a1156b8282a6838fe53f0b7fbbb64b92f8cb1bba13f6ebb08318f3baad88e3bca77c3bbed9476bb964f373c372d113ceca8b2bb0c23cbbbd74a9e3b0ed4073c2d473338a4eac0b9edf3bd396af38eb6618c36ba10615c3bc60c0dbb2a5e613a6836ff3c7fe252bce2584cbc30fb09ba3fb0c13d71d9a83dbe070fbeac7205bec08fcb3bdcbb413d2a6b8dbc80c70bbd864d3f3c78e6813c357c43bcd74283bc4dcc8e3c28e26c3cc6c12fbc885730bc9965da3d12ccfbbdc710963da4bc1ebe8c88893f98138b3f98138b3f8c88893f2a9958b9886d41b98e35bcb991c02039e6272abb583e85bb5301d63b63f97d38b61226bc66d635bc94bf983c1d6d723c5f6c11bcaf6696bb9cb60d3bbd60413c7993623a209500ba7f7c08ba3a0c7bb93d687bbb264b053c589181bb6f7cb6b956f7033d298899bc85c78abc012a043cc43a013e715fdc3d24be27be7ffe26be0b2890bcf05e543d97c9aabbbf22d5bc56e7443c7c18beba55bd75bac39e1fbc0b0d00bc23eaa83c968163bc74b16c3cd726073e558228beb2c8e03df59330be3b00893fb4f18a3fb4f18a3f3b00893fc18f333aee13f7b804e7e1b932bd28ba106f1ebb486422ba2d8d5a3bfd4a84bad9382cbc2c5c20bc6dcf913cbd81653c3c0519bcff670bbc4223c43bddbd533ce24822baf118a8bac924193ac404a13a5f3812bcddfb573b91d9d53af539843be2fbb13c2647bcbca38f27bc330e923cccd7053e245ac33ddda824bec1bf20bed8df0dbca747893d63f18abc83e220bd1e649f3cc469ca3be9e103bc83de93bc0695453bde17fd3cb578d6bc007cb33b2c991b3ee27920bed883c53ded7240be98d9873fa40b8c3fa40b8c3f98d9873f53ab0a3b2cac08b87d227cbafae6acba7ca009bb3c67853bf0f0ceba81ea29bbff5c0bbc9faa08bc9057803c8b5c3b3c433180bc80d661bcec896e3cde538e3c925fcfbaaf6753bb596a0b3bf87f413be4aa96bc3bc887bbb612403c2bba423cfcc47d3c63d601bd47d222bb5091e03cc475013ebee1b13d45b41ebe1bb018becdf8203c88e2a13d266311bdacf855bdb3f2063d3cc0c33c5c84babc85610ebda2c7d63cc437293dad7928bdc6e072bc29b6253ec9f009be6bd29e3db83c4fbeb95d873fac9c8c3fac9c8c3fb95d873f77ed7eba0504ddb8dd03b638bac2fb38e8750e3b85a1c6b8d427723b2511d5bb9afbcbbc9118b5bcf547013d054fee3c745bdbbb1b16b3bb72a9683aac50453cd4e3c7b93f57efbae4f0b8395a767e3a9ae71d39efadc53be6d5b8bae5cbb4bbf99d2a3c3c00b6bc277674bc1dc1033d9a872d3e9806f93d905a42be25af44bee16ee1bc46947e3df7484d38e44406bd12f8923c41ddb6ba7c578ebb9c2846bc7728bdbc152f1d3de9f9e9bcf847e43ca0c8393e8a0846beb40d013e1b6a53be1e10873fed228c3fed228c3f1e10873f32321a3a9930ccb9f0b940bacbeab9b76481c03be082993bfafb58bb8da714bc2693a3bc0f2d53bc1b64ca3cfaeba53cec9115bc6cf715bc37d2ef3bf366533c084880bb25eec0bb433f633be41cc83b5e1e82bb04a46dba04a4053c2c4285bbd0e8afbc5498f0bc64ef903b76005f3d5bbd2f3e3615ac3d0bc232be89182ebeec395dbcb6eab73dbc8ad0bcefd652bdda6e073d6163543c376588bccfc3f3bcfc4401bc2b26553df3b339bd92f9723c324b653e244a2fbebfdcb53d261a6fbe235f843f6bc78e3f6bc78e3f235f843f0b4d8b3a364a6fbbbc75063b7f66083a7e7b093c149b593c9cc175bc1a1424bccdc6a8bbb59892bb44ab753c7838653b36b84fbc429983bb3d1c213cf8f7353c39e257bcf7e297bc33eb793c311a923ca51f98bcdb6688bbcdab903c5e9abe3b72873cbd125979bd4eb22a3d55409d3d2cf10f3e1713683d22c520be52cf02be46f4c43cf723c73d916659bd4d8595bda911843d01d3763dc9a658bddb4696bd2a5e143d28d2923d39c6a8bd261278bcf11a853e22c7f4bddf34433dfd448fbe921f833f544e903f544e903f921f833fbcfa653afc3f1abb476a82ba9bd0aa3a13ca8b3b0e5eb83b3814313bddeb65bcc75a23bda440f7bc1c4d323dbf632d3d28d4adbb42647fbc6dc3c43b39c2833c04952ebb12822bbbe6777b38b053763bd38882397d5c193cf6052c3b72b756bcf02c78bb143de0bc7fda87bc8fbf5b3d8135503e1c89043e92c859be5bb559be1948f6bc5d76a83d907396bade754abd10a4c53c3aa7a4bb3179c4bb758b4abcbb8618bd0940443dde2115bdb4232a3d591e5f3ef4ee50bec270003e5cae6cbe286b853fdd918d3fdd918d3f286b853f21df343a1454acba33ab19bb51e6f53af6a8923c3faa483ca14f35bce1a5b6bccde102bd2b5b31bc503af83c97d0db3ca5a239bc1396acbcedb4983c642f8c3c7bc664bccdbf85bc90e4203ccefea33cc6a9f23aa47a8dba935d593c6b446fbc95b47fbdc5901abdc7a9af3ce296b43de0f64c3e3689893d616740beafff2ebe25abe13b09b5fc3df5c350bd7a41a8bda92e2d3d4568aa3cc13ab5bc253424bd263c83bc796d6b3d016d53bd747ebc3c87fb913ebec61bbe96ff533d178f8cbe9d15813f0cef913f0cef913f9d15813f7646bfbbf5a9d8bbc981163b48c11d3c1f5fc83c5b9e3a3c66a2b5bc9e17acbcdb27c83b37f4ab3c99c613bcd45309bc29e9c0bafb2cb73ba87b673cffb02dbc787434bd75ac39bde9dc223d89f9563d6f24353b6496563bee04b23c560dc3bcba250fbe02448fbdf380be3d3b410a3e509d093ec48033bd1f5ff1bd4b6784bd47228e3dbbb2123e4f91ffbd7e60d6bddeebd43d858ad03d7de1a4bde295fcbd6504053d2766913dd012d3bd3f01133b3a90d13ec4de31bde74764bdfe9ecabe500d763f59d6983f59d6983f500d763fe1a66fb96c76e239b59ca5b9f6e9a1b85bf5243845d49fbb21a6843b274ec53a30e5593ba51d2f3bb7177f3b8e1a1d3a4d8465bbf15742baae87a2397c5d923b6b66ae38558d163a84f511baa9f071b9dba9a43802368e3b54e894bb84b2453a00ca043dae0e38bc2e974ebc0be4babb4503a73d5a27a43d62d604bef2b302beea103fbca656083d68aba2bbef4062bc40db903b855ca93a8691b6b9c137a9bb7ec9c03b9d993d3b9408fa3af99d1cb71e94a43d90cf02be93a4a23d5d8003bef85c8a3f858d8a3f858d8a3ff85c8a3f4b1269ba088f93b8bf68d1393f8caa39da49d0ba22d091bb897d833b2a0e3a3b04f1bf3a40b6d1394f18c53bad8b353b89c692bbfaae12bb522c033b5e57ae3b2b01873a980b7d3939c33bba684413baf3b06bba14018b3b9e228ebb8ccbd03ac6890f3d094c47bc1f8962bc9e08c3bb1431ae3d595cac3d147809beeb1805bebbc0d9bb41711d3dfa94f1bb2220b0bcb13ca03b3140463b4b51baba2015d7bbc199fc3bfd48eb3bb2bc02bba909ddba3357b23d7ad505be5fc6a53d1d9d09becd3d8a3f9a8e8a3f9a8e8a3fcd3d8a3f08141e385a4ead3833ba95b9a42062b8bb7189bb40ea33bb820f893b6f661e3b57f2b5bb579249bb879b293c830b153cf62e90bba0fccebbb6066e3b5bf80e3cbd07b7392411893ac1356cba636e07ba956b8bbb0180203b2b979fb95eeb483b10d20a3d169a88bc20a649bc8ec158b94166c43d870db33d773014be759307be8958573be6e84e3d1c676fbc8c9218bd63c3f43b4fcdee3b3112a1bb78f332bcaa85693c82543d3c375b1bbc1ca08dbb578ddf3d3c5905be133da53dd3cb20bed866893f332e8b3f332e8b3fd866893f91ef0cba886e8539050600bae122f7388aab17bb662c89bb89b3d73bde7f4ab87d5e18bc305f34bc5467963cfe28683c05d111bc7c8ca4bb6a1b323b9d3b403c812b1c3a4a687cb9a9dfb9b9d394b9b9f28e8bbbb91ade3bb2e358bb79714f3a71fbef3c00b091bc350883bc7ed7173c0ec8043eea53d43d2b7126bebd2628bed0909abce271673d65390dbc41f3d6bc8a094f3c8fb0c6ba9b8947ba9c7b29bc5fe0e0bb6efbb03cf8f477bc5fcb5d3c8dbe093e017027bef66fd83d3af42fbec6ab883fdc4d8b3fdc4d8b3fc6ab883fc9f23a3a1cea03ba0fe05fb9b10513ba5ea366ba1337a1b991dde23a2f10b1ba12653fbc471d21bc60479e3c4faa633ca4812cbc84321abcca8ef63b3fed633cf4e5b0b9ba849dba8e321539cf51a73ad2c010bc7bb76b3b5d1e0e3ba1ad3c3b32af6a3c6a40b1bc20d7e2bb964aad3cfad60f3ed851b43dbd0c26be287022bed22d19bc9e3b9b3d5f91bbbc3bed2cbdf3769f3c41f39e3b28aec7bbd37997bc81a41c3b2ae8f33c0454d0bcf4a2d23b774d243ea1961dbec0cdb03d615541bea6f3863fdcf48c3fdcf48c3fa6f3863fa0e3d13a0fdb40ba353e94b998162dba6eec013a1ba2a33b1ae981bbbe3f8cbb6ce147bce30e1ebca0b7983c9cf2673c2ead85bce7cd66bc0aa5863c94638c3cf755c8bad79b90bbdd1dae3a8bc9983bd67280bc0dfe7a39c3da1d3c27d5bd3b34ede63b710204bdc42eecb9c1b7103d1a6b113e2633ab3d822c23be683a21be18d5443c7057bb3d36b73bbda2f96dbdcd8bca3cc939943c603d4bbcf067fdbcee918b3ca48c033d8aae13bdd55324badc3e353eb47609be1bfd933df0dd58be4e78863fbd6c8d3fbd6c8d3f4e78863fd0b038bac1b8f5b866edd3b9bd1be5399cfc3c3be8cbe7386035443b508de4bbd942cbbc8927b5bc538e043db40ee83cb3390dbc60ddccbbceb71f3bdb7c5b3cee05e3b90acdecba76ef07b98636c03aa98c1d3a2e1e9c3b9533d0b90e13c3bbb7e0043b4d18a0bc0b3754bc4f15163d5354373e0127ea3d810643bef7d146bed1dbebbcd2de913d85e0afbbe4dd11bd66c09a3cf83341bbc3770ebb55f45abcac23babcc679193d3592dfbc27ebdd3c60f3413efa9b44be08b6ef3de4db53befc40863f87f48c3f87f48c3ffc40863f648c55ba070786b8c8c81dba56af883ab0232b3c9b64643b40d8a2bbdc883cbc6ac8c2bca51d2cbc397acf3c684fae3ca32545bcc62d49bc1a5a3d3c959d7c3c4cd881bb43c8cdbbb35e413b1baee43b01d8403a3efdf4ba9bc1ee3b5edbf2bb56d927bdcabfbbbca81d3d3c51a27e3d13a6493ee93b863df3c936bed02332be694a96bcf9f4e53dc0fc1dbd66196abde99a103d954bfd3b7a0d37bc4ea800bdc8c44bbcfe0d483dd37b23bd1b6a8a3c7a7d7a3e7b4a2dbef0f5863d37136fbecefa813f3b35913f3b35913fcefa813f161152ba3ddb81bbfc73543b08eb043b58fd303cc555333c74f48abcbd940fbc1c4ec3bbc07e05bbaf16833c14e17e3af017b9bc040216bc2b5e9d3c34d3943cd4e11ebc19b39abcd5ae423c7a9b8c3c2ab05dbb829d2b3bb5f9153cb6f01fbc522c8cbdc0093abddc32363d1d7caa3dffa7323e814b043dada026be188b07beaf79e83cb2b3093edd0ea1bd30aeb9bdd87b3a3d46ae1b3d521bd0bc34ca6bbd4550c43b6f59393d9bd865bd743a813ca085973eafc0f5bdba3f993c65c092bed9867f3f0697933f0697933fd9867f3f70a1fdb7e57525bbbe9289ba22bd213b7561043cc247e43b4fd1a2b6e60c8abc7e362bbd2114f1bcdc59363deeff2d3dcda6f9bb060396bcd4af193ccddb943c141511bbc5d8edbab8f9c9baaa6f823ba2f6843bd82ad93b4cc1903b297d85bce8eaa0bc6c29c2bcae5848bc36cd7f3d90f4613ec7c8ee3df4855bbe59b95cbe4df30abdee8fc83df65f1dbc3d945abd5b2bd03c59d811bc9ab809bb5bc759bc951b23bdaf96473dc54e10bd1d602c3dc1d86e3ecb2a51be70bee43dbf6f6ebecedc833fb5248f3fb5248f3fcedc833fbddf72bb07493cbb54f995b9274ec93bae6adc3cceba313cd10984bc84acd6bc32d905bdd2e979bb352edd3cd175c13c088893bce328cbbcd986dc3c63aca73c61334bbc2a4d94bc053f0c3ca8e4ad3cdf23623c2200e6b966722f3c184dcfbcb7aac6bd0387e2bc8a650b3d7c63d23dc81f703e31fa093df41843beab542ebe266b66ba99531e3eb2098ebd774db5bd5edf383dcde0733cc9be56bc7e0838bd5c20c9bcd88e523d740835bdef10f63cd197a23e81631bbeb557a13c5c678dbe3b837a3fafd7953fafd7953f3b837a3f44e238bcab855ebbeb33e43b2854153cfdc98b3c7ee899bb255c8ebc66f35abb17218c3cb133d63cbaf490bce36f8fbc9a56b2bc0722bfba47fb0e3d81cecfba3b4605bdecb827bd1140de3c11a0403da4082b3dffbd4c3c8d54b2bbe5e94bbdedc42dbe5ab4cdbc3ec4cd3df3a6f03dd8de203ea3fbb7bdb6eaf9bd35f11abd0d01cd3d96854b3e520b2bbeae0c18be373c733d450d863d6cd2e5bca57ebabd966ed4bcec18c03c33e74fbd101a6d3db8bef23e78217cbd3905dabd74e9cabec6b0683f49819f3f49819f3fc6b0683f3cd802bab18eba395649aeb968118e399da6d236e10597bb0cd7743b2a2cd03aed4e9a3ba4c82d3b80451b3b38cd523ab3cd98bb902f41b72c89a03ad1b0773b19cab9b86ca17a3a8ff94cbaefa408b99e9c2339948b963ba340a0bb0fa6543aae10053df04348bc240b38bc8c07cebb46a2a73d99ffa43d547405be57d902becd0337bc1b92033d594d84bbbcfd66bce0d59c3b359cad3a598283b9f5d0b6bb555bac3bd35f3b3b743c013b57ec263af968a43d9f7203be48a1a23d7eab02be304d8a3f3c9d8a3f3c9d8a3f304d8a3ffb7a44bafd834cb90ee54a3954fe053a2a4953ba48799bbb3818843b7e3e193b2720283bda59d339e109b63bc2cc123b9ced4ebb5d4359ba6280993a1a79603b2a5b7f3a9af3833aaecbc9ba4bd420ba21bc19bb8d54953b665992bba967433b6dc90d3d9d134abc72bb4abcd726e2bb6208b03d89a4a53dbea308be26fd03be7a6a1abc68ba123dbca399bbd3919bbcf065463bed42c33a5a79c5b8175996bb3dbcf33b0054e03bd8cb9dbaa1a4f1bab913b13dde2906be06b3a63dc49908be9c228a3f80b28a3f80b28a3f9c228a3f1cc3cdb84ed61b39a787a5b8ce855eb9417174bbef096fbb6e98a03bac6c203bed129cbb1fa8113b0035f23b5235d03b526edd3923b8edbb0d7e1f3b6359b83b19903e3ae686113bccc2b3baa317e0ba25bebfbb6c874e3b954ffababaa0a03b86b0133dc29582bca37d67bcb4b8e1bac87cc43defe1b43d843316bebffe06be2f1f72bbcad44a3dffd9d7bba80a1abd204837ba1a6c823b2b1486b953d88dbb9eb20e3c8b95c43b93886ebb2cd0f53a3e61e43d9ea610be325db13d883c1dbee8a0893f93fd8a3f93fd8a3fe8a0893f9c3843bac518ba381f8a14bae0181c3a450c41bb61828bbb7c7ce23b9e306c3936ed06bc4a0747bc11ce9d3cb27a5d3c8a022abc0c7f51bb83c0e23a54794a3cf2dd043a4fcb50ba5ade91b7d141b5b8650058bb8d63d53bf33b4fbb8daf13b9b5e6dd3cf4f685bce40f80bc5cb6243c140f083e24afd03df88927bec4ec28be5e46a2bcd8a46c3db52e1ebc4c83d2bcb5a3573cacbfd3ba2c7460383c173bbc1d6fd9bb2c3cb43c1e0d77bc9bcc513cb87f0b3e0ea627be1039d33d17e52ebe226a883fbe938b3fbe938b3f226a883f7259b639d1cf8ab9040eebb917f32fb92e0740ba1255a7bac2da0e3b4a9e8cba64332fbc14ba1fbc87aa9f3c97e6553cce844fbcefa31fbc58cb103c7172783c45308d34c5a845ba85c10cba705d853a12cde4bb6aef6d3b96d8613a6265ff3acbdd013c12c593bc95dc8abbae62b23ce4c4193ef67fa73dcb5927be279025bef7f161bc9cf2aa3d9785e4bcbf1528bd9099973cc744b53a570d08bbd75690bc85de793ab16fda3c58edb2bce539f23b5c84283e11191ebe34b5a13dcb4a3dbead34863ff1bf8d3ff1bf8d3fad34863fcddb5e3adbd802ba58dcf338b457cdb95d6f293b0ae7c53acf8336bbafc983bb1c3c96bcf8a0d0bb370da83c3b5f803c5cbf3ebc3f36a7bc318d8a3c554d983c10e536ba09308639e935ecbaf795ef3accb0fcbb75d2263b9acd513be9bfe239bb141ebc3103b8bc8805953bcc891a3d47642e3e0d668c3d547f2bbee76126be79141cbab21be43d670733bdceff8dbdda58843cc8d01f3be1eb4cbbc10077bccf4124bb278ddd3ca56ebfbcc326493c48ab4d3ec6c112be53d4603d3f0a55beac40843f7e8a8f3f7e8a8f3fac40843f79175cba0789e8b90ce908b993f6163a3ffe523b0f3d1e3a60ac2b3b9f2ef8bb9398cdbcc481b8bc0f6b083d2eade73c18c430bcda71d8bb127a3c3b6d8d7f3c7a151f3973a501bb19fa90b9d359973a33a80e3bbd975d3bd9b6ea38d359ddbbdf0e8bbbe9918ebc0f4440bcc41c243d5a93403e97d3e03d699f44be6e524abefa43ffbc7c08a03dfd9721bcc77e13bdb7cb973c6cb17abb9acc25b947bf62bc6042c4bcf41a183d7a51d7bc105be13ce33c483ed26844be6e16e13da9fb52becb81853faab88d3faab88d3fcb81853f6b822cbb3c6de9b7793e0639d3eb1c3b9b97673c3424f33acf12c0bb0f8a57bc0d24d9bc53271bbca5dfd83cd1afb53c154381bc092e72bc40df793c5f04983cf1dc17bba0dbc0bb2ecee33a86b5bc3bbe9ff83bb9db24bb67a87c3b2ae735bcb64a75bda0733bbc5ee5793c9ead893d5cb0653e2bbe443daf4c39be7bc13abeb23bd9bcfca6083e36114fbdcc6372bdf8f6073d6fdb27b93108efba61bef2bc2b6099bc8bca2a3dbc06f3bc162da43c1a80843eaf562fbe6566393d3e8a66be48b07f3f7760933f7760933f48b07f3f9044a7bb87f7ccb985ff263b5e04853b9c7e783cae58b33a40d746bc67fb07bc573e74bc2dcde73bffba6e3cf129283b30eacabcb831d2bc24d2f03c3b5edf3cae23b1bb4c4922bce049743b98d32e3ca0e68e3c6b6fe6ba90c7b739241ea3bcac7dc5bda84953bc60872d3deaf7a63de3a8683ef1f16c382e9731bebc4311bedc4acc3be1f6383e3939b0bdeacfddbd4db3fb3c3b29053b3d744b390cf8f6bc3476f1bceae40d3dd64ac8bc1c59003d896ca93ea36516be85b54bbcdeb886befc6e763fc6f0973fc6f0973ffc6e763fcb305bbabcc200bbb619c8bab89d523bc42c263c5fced63bb97263ba647d92bc5d2731bdc8deefbce3f53b3d55042e3d783025bc6189a0bcb107373c65cfa63cae0c19ba2bcf1abbb76800bb8dad523bb160de3b80e0873b84c2a23be7618ebc11adfabca5c0a0bc651725bc28138b3d58e3713e7af3dc3da8405dbe714362be885824bd21ede03dd22d89bca69856bd1fc8d43cdbc942bc0fba003be4fe6ebcf5ae28bd2b80473d8ef508bdfacf2a3dd588783ef79b52bef4b3d13d31836dbef8b5823fd753903fd753903ff8b5823f31f517bce7b8c4ba09d5ab3abe501b3c63410e3d4d5eb93b37208ebc33c5e8bc8e1d18bdfc07ddb86438d43c0a68cf3c3f2abfbc0a95e7bce9b50e3d023db53cc0f0fcbb613583bc8c31483bf50e9e3c7c3ae73c697b73bb1196b63b9fdc06bd9f7901beca3114bc972d203dcf9ee23d26138c3eeda6c33b560245be6daa38be78cb84bc55843b3e848da8bd152ab7bd90c1393d4bcb413b73c2f4b9f3ec36bdd2270ebdb4d83b3db655ffbcecb3073d2ae0ac3ee21c26be955aaabbba3386bec504743f6224993f6224993fc504743f200996bc328a723bf2950d3c87c20f3c27254c3c1d275dbc802360bc1615ec3bf72f963c7a32d23c2bd369bca8c7b5bc05a13abd4c9180bc7e78623dbcfe893c02315fbc210507bd0c860b3c2cd1143d82d6a03d07ac6bbb6dc9a7bc963d79bd952d46be52edc13c6009c13d3699cd3d12dc523e0812dabd012417becbe332bde3dfc63d95ff783e32182ebe728c3cbe1d00963cb15eb93cb20e7d3c2eeb48bdccc59dbd9b0f6b3cd6fd2ebce17ea83dfbaf013f6444f5bd4a0e03bec082b4be00165f3f2006a43f2006a43f00165f3fd9c2fab9bbd3d3b94a891e388e23353aac89cd396b6182bbeef4613b217d5b3a03a1a33bd4cc333bfa5f443b6d9b30b847888dbb828efeb9d96d853a8db4853bccad0eb9e1886e3aea2be1b9c1bee9b941c612bae6366b3beb0c71bb146ab23ad6ee063daca53cbcadf34fbc2a87c5bb95d6a33d6920a23dd2b503be748e01be4a3c3bbc58a2073d13dbc2bbde4755bc44187f3b74ee3439470a2c3aee6a91bbf157b33bca64573b23d5153b3815a1b9cbd6a33db5a603be27bda33dce9d02be91518a3ff09d8a3ff09d8a3f91518a3f80c1afbab0cddfb641c6053a73b4123a5f314aba3bf863bb6d58323bf8ea1c3b7bc6b83be27e033acb8c973b3df93a39fdfc80bb411f9eba71d0003b8a2f623b2ef6ee39f33cc93aba16d6ba2e6903ba8fa3aeba98ce233be5cf85bbf060743baa000d3da78442bc7aad38bcdcab07bc4625b03d58baa53d8bff08bef82e04be0fa954bcd962123d71af7ebb007685bc22fc253b07f0de3931672a3a852174bb98d9c73b9c1ec13b648994398bbb8aba9cfbae3d64dd06bedb3fa53d58d705bec11f8a3f96bf8a3f96bf8a3fc11f8a3f04c63cb97cac8239c2a405b6a75896b98be790bb5c410bbb770ffd3a1c4a9b3b5a7ababb04351c3a3dca323c7efcdc3b624e1f3cc4acf6bb27de73baf55fb6bad576e8b90c3e753b968e37bb99235dbade54e0bb2a12233b750d3dba7242a73b9870123d24e272bcfd765cbc44ac7dbbc000cd3d108fb53d7f3215be97c20cbef75f5abc95f4353d04f2cd3a98a301bd14c8b6bbedfee9ba9e2b0f3a6059c13b91be953b67c6fa3b63d79cbb56e7bb3bf534d33d625713be09a8b83d366a14bed6a7893f99f58a3f99f58a3fd6a7893f90e3bdb980b08bb9bdd0e138f97322b9a9991fbb0c1e84bb1bf4ab3be047a63ae0a6fabb5c9d4abc4282a53cc1dd493c042038bc266f5ebb7c6cd33a2f5b5e3ce9db0a3a0a3917ba6d7da2b8cffbb2b926704dbb8215c93b138263bbf385d9394333d13c775271bc707179bc42e21c3cf7f30a3ef923cd3d3b6227be12ae2abe04a2babcdc9a763d058c37bc8bcec1bc0284613ccaae35bb844c4d3a8d563bbcdeaedbbbbf2bac3ca3505dbc851d443c27470b3ec77a28bec2f1cf3d10ba2bbea124883f38da8b3f38da8b3fa124883f2fbb71b9cf9e79b921dcc8389ea22ab9ef4f20ba2fcf15bb75b1093b8e6013b967500abc0eb932bc87bca83c3c0f3b3cd3536abc243cffbbef7bfe3b5c197f3ce1bb2a3a40023cb971997bba8f092038802390bbc4094a3b4c04b0ba4817f93ab20b183b396d31bc0336a9bba529ae3c55b0243e3537973d57d424bebbc62bbeb3aab5bcc5f5b83d3b5706bd498c0fbdd93a843c2ef389bbfbcc833b4fcc77bc1c0d76bb12b0bd3c874981bcc5b91a3c19762a3e1f4d21be1d34943d20aa34be8f71853ffc8b8e3ffc8b8e3f8f71853f63de71baded72c3a1d56053afb5077b7d2ebdf3ba8865abbf68a2cbbe52767bbe189fabc1089ffb9fedec23c4a85a13c8cd88a3b1873e2bc458d403cd4177a3cf84389bbc07eeb3bc87417bb001b0bbbe8b07c3bd7d168bad0d6e0baf6b285bb45eff1bcdd9746bb94a8dc3b5e9a133d9238553e27e9313daedf31be56c32dbe430520bdbbf60a3ec47113bdd31c85bdf3e8693c694595bc868d6d3b3cf6343ba574ccbc51f8db3c4a1e0bbcbc2ba53c7585613e7e5d28be17bb1f3ddba540bead4e813f9462923f9462923fad4e813f13d251baa034edb92606a6b9c5a6483a0bd3763b41445b39ae20283bbe62fcbb8db9d0bcc054bfbc46360e3d0ec6e63c02da45bc3810d7bb8d772e3b01988c3c44fff739ad4afbbae148dcb8a52c0f3a7eb62e3beeed573b2c3161395aa3f0bb139404bcb08e68bcb38b49bc0b1e2a3d72a8483ee42eda3dc27d45bec3904ebef34d0cbd645aa83d4b6d3fbcc02011bd9715933c7fb3acbb6524823a103251bcf5ecc8bc2005123d0065c8bcea60e23c08414a3eba4945beec08da3da98950beb014853f902a8e3f902a8e3fb014853f85ad96bb1abb0f3ac459093a9b456b3b6da6883c04d60ab90a949fbb089272bc2507e9bce97d34bc5ff7e73c0662c63ccc649fbc6a9c75bcb1f9853c3bf7ae3c015fca382fdb8ebb96470ebabf46763b77a9603cdb8d77bb78dd593a4a2260bc7f9d95bd02c1463bd6c0523c38958d3d2717803eaf020f3dee043abecf2248be331621bdc538163efb0870bdd36b55bd5b88eb3c37da15bcf0c11d3c0e61d9bc937dc8bc1e64093d5ee596bc518eb93ca29a863ef46c35be7ff5063de33f58be256f7c3fe50e953fe50e953f256f7c3fb15340bcc2aa543b3bee653b77c5dc3b5e3fdc3c5a8401bc923c13bc278e6cbcb7b413bd6f7f4d3c4d65973c895b7d3c621f79bc6e5912bdab8bf93c3a66da3c5c3a51bbcfdf38bbb96eb8ba9fe5b23b52a0053da73bfbbb81691dbc592faabc89dff5bd026aa73c1f5c203d1a509b3d59dc943ee28ee6bcf97c3cbe0ade2bbeddde3abdd0c1583e8eaea7bdc5e4bcbdf8aaee3cc498d7bc1ff89b3cfb308abcebdd3dbdee60da3cdfdc8b3bda0be33cd51dab3ebc1433be70da15bdf52d5bbe1fd66e3f8db79b3f8db79b3f1fd66e3f9ba2abbaa7b2f6baaf66f3ba7f8f833b4452313cfea8d63b72d919bab5729abc32d932bd7639f2bc2e07403d4e092d3d258855bc6075a0bc4ccb323ccb58c13ca6011f3a8862b8bad0fe56bbb507143bd102203c40f4d43a2a09bf3b9d3f9cbc6e721abdf25e6cbcdeaa3abcc39f923dab8a7c3e9905cd3d48115bbec83167beaadc38bde6a4f13de184b0bc815351bd2e0ecf3c4b0284bcb6b8e33be72e6bbcb58b30bd1a75463d8f6600bdbe702b3d3e8d7e3e926157be3234c93d07ca6abe37f3813f621d913f621d913f37f3813faf146ebcea59403a4359053b5b4b483c37cb313d5f50593a2ada7fbc470a0bbd449335bdbb63c7ba95e6ec3cab71fe3c1f58fcbcd9b1dcbc20bd163dfa92d83c09ad163b4e6066bcb93a42bb90534c3cc359213d879d10bc6bd44c3aab3c12bd71ed1abe8885683c1db3133d5bddee3d7d09a23ecbc383bcde7842be701451be72921dbd2f5e4f3e3c73bdbd3cef9cbdd2ec153dfd5d65bc09b8a73c76bc1dbd5e7431bdea77143d6f4079bc82fd123dd7afb03ef16c34be2264b7bcdd6b75beb8ee6e3f4bc09b3f4bc09b3fb8ee6e3f442c13bd74293a3cbbfe4b3c955e853c4cd63c3d17319cbc104394bc48c086bc5e66b2bcdfdfdf3c7041803bb9989bb9dd7a30bdb3b801bd0b465a3d28cafa3cbc260bba215c9ebcdc3b20bb2988a13cc381c53df448c7bcf142eebc1ec458bd218566be66b5673df6d2aa3d0492e03d93cea53ee1e0dfbda72f38be077602bea40a1e3bf100883eff9a09bec3eb12be9779883c3bc7a0bc3f05073da188bbbc2593b8bdadbec13cbf66a23c88db703d1c82ec3ef5f42fbeb40100be9ff984becb755b3fc397a53fc397a53fcb755b3ffd8cf9b962c01e385fc9d3b96380343a931814bab40571bbc4316b3b161db33a918eb23b32e2153bff73573b5ecb94b9fa0691bbab88323989742b3a82817e3ba6bee9b9978a6e3ae085e1b9765b0eb907f3ca3926f2613b755e82bb99d25c3abbee063d8bff4fbc32b43cbcb045c5bb69c8a33d65bea33df0a603beed9602be805d55bcfda8073ddaf1c2bb893e3bbc934f853be9adffb9a629853ae40c8dbba2efa23b4272443b02dd333b0f89b8b7cbc9a33df7b503beaf21a23d778801be70518a3f159e8a3f159e8a3f70518a3f39f4afba3bfa053afa22c4b6dba4123a2deeadba68fd85bb7975233b69a7743b58cac73bf4329639d037c13b9f088bba303075bb5f12e439fb0f2d3ab6c3253b7d9b03babf4fc93a9c04d6ba878dee39811749ba0b16323b453964bbfa181d3bd5160d3d4ef638bcd4cc42bcf97c07bcb9ffae3d4b3da53decde06be97d605be64a085bc3379123d923e7dbb4c0555bc0107623bd0ed9cbaf169013b1f7e81bbc9a4b83b1ab7973be3b7043a04223739a228b03deb0009be01b8a53d0c2e04be93208a3fb8be8a3fb8be8a3f93208a3f896b3cb9a2e9c9b583ec823908d896b9875de0bb4b193cba155d233bbce3a63b1ef2943b20239cbbf384fb3b2adbbb3b20ecc73b0b5bf7badaaee939e17eb7bb6b7461baea75763b5f7036bbebaef2b9dfd891bb540dfe3a3cc30abb82a19b3b74eb123d78e95dbcb94f74bcc28d7abb2304d33dadc9b83deb4713beb36d14be411c02bda585363d4a71e03a74ee5cbccbb6b6bae5aff9bb07e385ba8ffe213c0f82bcbbf863333c9a30253a1e2add3b6dc6cc3d072015be5fb7b53df1c60cbebfac893f3bf08a3f3bf08a3fbfac893feedabdb9b8cce1387eb18bb9b48122b96f704dbbf68163bb9115c93b5086d939baafdbbb93505dbcc82bac3cd31d443c69563bbca2ae35bb594c4d3ad583613cd9fcb2b9c13917bacf82a2b803de0a3a5d9a1fbb28f4ab3b001e84bbdd48a63a8133d13c8b7179bc925271bc08e21c3c26470b3ec0f1cf3dc77a28be0fba2bbe84cec1bcdd9a763d0d8c37bc0fa2babc165b5e3c056f5ebb616cd33af21f38bc1ca8fabb4b82a53c4d9d4abc40de493cf1f30a3e3b6227bef723cd3d0cae2abea124883f38da8b3f38da8b3fa124883fb9ba71b94ddac8385aa379b9899d2ab9d82290bb5804b0ba91094a3b0d15f93a490e76bb6b4981bc2fb0bd3ca2b91a3ca6cc77bcd8f289bb4ecd833be53a843c34282038890a3cb9009b7bba88bd2a3a834c20ba96b0093ba0cf15bbd95913b95b10183b7337a9bbc76d31bcb129ae3c22762a3e2434943d204d21be2caa34be618c0fbdd7f5b83d045706bd38abb5bc8f197f3cb33bffbb6c7cfe3b67546abceb500abc9dbca83cf5b832bc7a0f3b3c5bb0243e58d424be3537973dc0c62bbe9171853ffa8b8e3ffa8b8e3f9171853fd2de71ba6c56053a08d82c3a4d6077b7d6b07c3ba6d6e0baedca68baaeb385bb4175ccbc841d0bbc94f8db3ccb2ba53c540e353ba44695bc16846d3bfbe6693cb21a0bbb1d7feb3bda7417bb124489bb67eadf3be5892cbbf9855abba42667bb96edf1bc03a4dc3b3fa246bba59a133d4c85613e93bb1f3d555d28beefa540be221d85bdebf60a3e137113bd070620bd9e167a3c5474e2bc528a403c6ce48a3b1b8bfabc7fdfc23c496dffb9a485a13c5138553e80df31bec2e9313d5dc32dbeb64e813f8b62923f8b62923fb64e813f06d751ba4b00a6b93539edb9bbaa483a3cbf2e3b360a613958f1573b44a8f0bb71edc8bcd664c8bc0105123d7761e23cd13151bc47b1acbbe21e823a4e15933cb22e0f3a8051fbbaebfadbb8ea02f8396ccf763bd522283b87185b398760fcbbaa9304bc6b8c49bc298e68bcfb1d2a3d07414a3e0509da3dba4945beb58950befb2011bd565aa83d8e6d3fbc914d0cbd6d978c3ce60fd7bbf9762e3bdad845bc51b9d0bc16360e3d9554bfbc02c6e63c46a8483eb97d45bee22eda3d9f904ebeb114853f902a8e3f902a8e3fb114853f0aad96bbd65a093a5bb80f3a15456b3b52a9603c4adb593a478c77bb652260bc9f7dc8bc5fe596bc1164093d7a8eb93cae60d9bc57da15bcb1c11d3c2a88eb3cce45763b70da8ebb5f470ebaed4bca3860a6883cb0939fbb3de20ab9ee9172bc859d95bd0ec1523c05c2463b30958d3da59a863e95f5063df66c35beec3f58beda6b55bdbb38163eca0870bd351621bd0df7ae3ca19c75bca5f9853c76649fbc6a07e9bc50f7e73c0a7e34bc6762c63c2717803ef8043abec2020f3dcb2248be256f7c3fe50e953fe50e953f256f7c3fb15340bc3bee653bc1aa543b76c5dc3b54a0053d7f691dbcac3bfbbb5c2faabcebdd3dbdd9dc8b3bef60da3cd90be33cfa308abcc498d7bc1ff89b3cf7aaee3ca0e5b23bd4df38bbb06eb8ba5d3a51bb5e3fdc3c953c13bc588401bc278e6cbc89dff5bd1f5c203d026aa73c1a509b3dd61dab3e70da15bdbc1433bef62d5bbec4e4bcbdcfc1583e8eaea7bddfde3abd3c66da3c6e5912bdab8bf93c661f79bcb8b413bd4e65973c6c7f4d3c8c5b7d3c59dc943ef87c3cbee38ee6bc0ade2bbe1fd66e3f8db79b3f8db79b3f1fd66e3f539fabba6967f3ba4ab2f6bab98e833b8102203c5709bf3b29f4d43a7c3f9cbcad8b30bd8b6600bd2175463dad702b3d962f6bbc3b0284bc7cb8e33b860ecf3cb309143bbc63b8bacbfe56bb67fb1e3a5552313cf4d919baf5a8d63bb9729abc5f721abde2aa3abcde5e6cbcba9f923d338d7e3e3634c93d946157befcc96abe6c5351bde2a4f13de884b0bcb5dc38bd9258c13c5075a0bc46cb323cc78755bc17d932bd2907403d6e39f2bc34092d3da78a7c3e48115bbe9805cd3dc53167be37f3813f621d913f621d913f37f3813fb9146ebc1559053b225a403a684b483cc459213db4d34c3a619d10bcb03c12bd5f7431bd874079bcfa77143d77fd123d5ebc1dbd295e65bc00b8a73cc3ec153d55534c3c336066bc2a3b42bbf6ad163b22cb313d2fda7fbc0750593a2f0a0bbd76ed1abe0fb3133da985683c69ddee3dd7afb03e2464b7bcee6c34bee16b75be49ef9cbd2c5e4f3e3b73bdbd51921dbdee92d83ce5b1dcbc26bd163d1258fcbc309335bdb6e6ec3cf065c7ba7e71fe3c7f09a23eda7842bef0c383bc731451beb8ee6e3f4bc09b3f4bc09b3fb8ee6e3f4f2c13bdf4fe4b3c1c293a3cb75e853cbc81c53dec42eebcad48c7bc2ac458bd2c93b8bdfc66a23c23bec13cb1db703d5788bbbc84c7a0bc7505073d3479883cd287a13cbf5b9ebcb93e20bb681c0bba4fd63c3d264394bc40319cbc21c086bc1b8566beedd2aa3d8fb5673def91e03d1882ec3ead0100befdf42fbe9af984bebceb12beed00883efa9a09be47091e3bfdc9fa3c8eb801bdfa455a3dd67a30bd2f66b2bc3b41803be5dfdf3cefa29bb990cea53ea42f38bee9e0dfbd017602becb755b3fc397a53fc397a53fcb755b3f09d702ba3a4baeb93b8bba394d148e39eb9c2339f240a0bb278c963be4a3543a755bac3b763c013b135f3b3b4cee263ad4d0b6bb6a98ad3a036b83b93ed59c3b93a808b919a37a3a1bfa4cbabccbb9b84be9d13671d7743bb60597bb782bd03ab410053d350b38bc194448bc4b07cebbf168a43d56a1a23d9f7203be80ab02beddfd66bc4092033ddd4e84bb800337bcf3b1773ba0b042b74888a03a4dcd98bbc34e9a3bba451b3b2dc92d3b84cb523a42a2a73d527405be9cffa43d58d902be314d8a3f3b9d8a3f3b9d8a3f314d8a3f4f7b44ba10ed4a3955834cb929fc053a0cb519bb135c92bbc851953bcb6b433b30b9f33b3db89dbaa257e03bcfbaf1bad05896bb5247c33ac58fc5b8a763463b65ce20ba39ef833a80cec9ba13647f3ada3f53baf316843b797a9bbb1141193b47c90d3d48bb4abc7d134abc3026e2bbbe13b13d03b3a63dcd2906bed79908be7e919bbc60ba123db7a399bb196b1abcde75603b4c2859bacb88993a53f54ebbb926283b4307b63bbf20d339dcd2123b4e08b03dc5a308bea0a4a53d20fd03be9e228a3f7eb28a3f7eb28a3f9e228a3f2ec4cdb88f71a5b868db1b39d3955eb976b4bfbb7d31faba0a684e3b299fa03beab40e3cb3616ebb0484c43b55b6f53a1df08dbbb469823b3a0c86b9d37936baf3c1dfba4c87113bdac3b3ba36e53d3af15b74bb4f9aa03b45096fbb5753203bd5a9133d298367bc639182bc87fbe0ba3b63e43dcb5cb13d8da610be653d1dbe63061abd97d94a3d2afcd7bbf66b72bbe730b83b22b6edbbc57e1f3bc9d1df39851d9cbb4426f23b2cc7113bde3ed03b357ec43dbe3216befedfb43d45ff06bee6a0893f95fd8a3f95fd8a3fe6a0893f193943ba168a14ba0619ba3853191c3adb0058bbee3b4fbb8f63d53b83a813b9726fd9bb1d0d77bc2d3cb43cc5cc513c4d173bbca6bfd3bac4746038c6a3573cf037b5b83fcb50ba1bdc91b7a2dc043a3d0c41bb7e7ce23b5e828bbbb22f6c39b9e6dd3ce40f80bcf4f685bc54b6243cb57f0b3e1039d33d0ea627be15e52ebe5683d2bcd8a46c3db52e1ebc5446a2bc4a794a3c087f51bb8ac0e23a81022abc23ed06bc12ce9d3c490747bc9f7a5d3c170f083ef88927be24afd03dc7ec28be226a883fbe938b3fbe938b3f226a883f2e66b639f014ebb97cc88ab9a50e30b913cee4bb68df613a53ec6d3bf86bff3ab6db793aacedb2bc1f70da3cef39f23bf65690bcf644b53a8b0c08bb9099973cef5e853aaaa645ba70c80cbafeaa9e34b70e40bad1dc0e3bf952a7ba99a08cbacdde013cbedc8abb49c593bc7362b23c5184283e3eb5a13d30191ebea84a3dbed31528bda6f2aa3d7485e4bc2df261bc4072783cd2a41fbc27cc103c92844fbca9332fbc51aa9f3c16b91fbc53e6553ce9c4193ed35927befd7fa73d2a9025beac34863ff2bf8d3ff2bf8d3fac34863f84dc5e3ac9dbf338a0d802baa759cdb917b2fcbb01cf513bcfd0263b7ed6e239684424bb826ebfbc4b8ddd3ce026493c490077bc20d01f3b72ed4cbbed58843c2996ef3a242d86391c35ecba1de636ba0670293bb18436bba1e6c53a77c983bb85141ebc3d06953bbd02b8bc6b891a3d45ab4d3e54d4603dd7c112be2c0a55bed4ff8dbdb61be43d630733bdb8141cba494d983c2236a7bc648d8a3cdebf3ebc023c96bc210da83caba0d0bb2c5f803c5b642e3e667f2bbefa658c3de06126beaa40843f808a8f3f808a8f3faa40843f41155cba3d0409b98a84e8b9d6f8163affa00e3b1dd3ea3856965d3bf655ddbbbc41c4bcf950d7bcd21a183d3c5ae13c8ebf62bcaab97abb567f25b930cc973c0953973ab5a001bb3d0d91b9662a1f39b202533b60ac2b3b6a3e1e3a1a31f8bb2c0f8bbbc84340bceb918ebcc01c243dd53c483e6916e13ddf6844be8dfb52be8f7e13bd8708a03dba9721bcaf44ffbc588f7f3cec73d8bbc57c3c3bb8c530bcce98cdbc086b083d7e81b8bc31ade73c7693403e6e9f44be93d3e03d82524abeca81853fabb88d3fabb88d3fca81853fa8812cbb263306392854eab76aed1c3beea0f83b90a47c3b63de24bb38e635bc1c6099bca206f3bc7fca2a3dff2ca43cdcbef2bce2f127b9cdfbeebaecf6073d49b5bc3b00dcc0bbe1d1e33a79dd17bba296673cfb10c0bbd72cf33aef8a57bcce4a75bd2ae5793cad733bbcb2ad893d1e80843e2d66393db2562fbe378a66be886372bd0aa7083ec4114fbd973bd9bc5204983c7e2d72bc57df793c574381bc9823d9bc6fdfd83c83271bbca2afb53c5cb0653e9d4c39be15be443d86c13abe46b07f3f7860933f7860933f46b07f3f9044a7bb85ff263b87f7ccb95e04853ba0e68e3c90c7b7396b6fe6ba241ea3bc3476f1bcd64ac8bceae40d3d1c59003d0cf8f6bc3b29053b3d744b394db3fb3c98d32e3c4c4922bce049743bae23b1bb9c7e783c40d746bcae58b33a67fb07bcac7dc5bd60872d3da84953bceaf7a63d896ca93e85b54bbca36516bedeb886beeacfddbde1f6383e3939b0bddc4acc3b3b5edf3cb831d2bc24d2f03c30eacabc573e74bcffba6e3c2dcde73bf129283be3a8683e2e9731bef1f16c38bc4311befc6e763fc6f0973fc6f0973ffc6e763f96375bbaf418c8baedc200bb509f523b5161de3b54c2a23b83e0873b07628ebcfdae28bd93f508bd2280473d0dd02a3d1ffe6ebcffc942bc93ba003bbcc7d43c57ab523b81ce1abbbc6800bbce0519babd2c263c477263ba6cced63b667d92bc32adfabc621725bcb1c0a0bc33138b3de288783eefb3d13df59b52be3d836dbebe9856bd27ede03dc92d89bc7c5824bda2cfa63c7289a0bcb607373cda3025bc792731bde8f53b3dcfdeefbc70042e3d5de3713ea9405dbe7bf3dc3d764362bef8b5823fd753903fd753903ff8b5823f10f517bcafd5ab3a11b9c4ba93501b3c493ae73c6296b63b907c73bb80dc06bdcd270ebdbd55ffbcb6d83b3debb3073d11ed36bd1bcb413bb2b8f4b9a6c1393d190f9e3c623583bc7f31483b3ef1fcbb65410e3d4b208ebc8f5eb93b39c5e8bc9b7901bea32d203dfd3114bcc99ee23d2ae0ac3ee25aaabbe41c26beb93386be062ab7bd55843b3e7e8da8bdc5cb84bc0a3db53c1595e7bcebb50e3d412abfbc941d18bd6a38d43c30f6dcb80668cf3c27138c3e5c0245be76a7c33b6faa38bec504743f6124993f6124993fc504743f3e0996bcf0950d3c488b723b98c20f3c83d6a03dbec9a7bcd0b06bbb4b3d79bdd5c59dbdc9fd2ebcb5106b3cd37ea83d72eb48bd0d5fb93caf0d7d3cbf00963c5ed1143d4f0507bd82860b3c9e315fbc38254c3c312360bc83265dbcc313ec3b932d46be6709c13d39edc13c2f99cd3dfdaf013f510e03be6944f5bdc182b4be7d8c3cbe9cff783e33182ebef4dfc63daefe893c7b9180bc7578623deaa03abd2230963c2ed369bcad32d23cf2c7b5bc0cdc523eff2317be0712dabdb4e332bdff155f3f2106a43f2106a43fff155f3f1fa76fb9bf9ca5b96576e239a7eaa1b80df6a4389de894bb4f368e3b82a9453a52c9c03bb308fa3a87993d3b50611cb7dc36a9bba15ba93ae88db6b95dda903ba91872b9c48f163a09f811ba67b3ae38d73b243881a6843ba3d49fbb1954c53a01ca043d2f974ebcac0e38bc13e4babb2294a43d92a4a23d90cf02be5f8003be624162bcad56083da2aba2bb7c103fbc675e923bcf5942ba678ba239278665bb5ce8593bec167f3b721e2f3bff0d1d3a3203a73d60d604be5527a43de8b302bef85c8a3f858d8a3f858d8a3ff85c8a3f331169ba3c64d1391c9593b8f190aa39dbcc6bbaf51e8ebbaa038b3b2ebfd03a0a9cfc3bcbc502bbcb45eb3b01f5dcbada14d7bb853e463b1552baba973da03bd94b13ba63247d39b5bb3bbaf9fd863ad44bd0ba2c7e833b78cf91bb0f0d3a3bce890f3d288962bcc34b47bc5b09c3bb4957b23d7ec6a53d9ed505be139d09be5520b0bc54711d3dbb95f1bbb8bfd9bbf158ae3b14b612bb0728033b7ac292bbffe1bf3a361ac53b29f2d1392787353b2831ae3d137809be435cac3de91805beca3d8a3f9e8e8a3f9e8e8a3fca3d8a3f5d871d3821a995b91ab0ad382df362b899558bbb08799fb954c5203b3a71483b0092693c81671bbcaa483d3c5d858dbb0ce432bcd4c7ee3bfa19a1bb8fb2f43bc9e707ba45ff883a1ad46bba9a76b739c07789bb49fb883bcd1f34bb5ad61e3b4ad50a3d429549bc0e9988bc5a0b61b9af89df3d963ca53dbe5805be43ca20bef19418bd41e54e3dbf6a6fbcafcc573b5ef60e3cdbd4cebb5d216e3ba06390bb1bf8b5bb559e293c5eb649bb2415153ca764c43ddc3014be7d0db33d359207bebe66893f4c2e8b3f4c2e8b3fbe66893fdbec0cba640400baef6f853978f6f638168f8bbb64e358bb4619de3bd87c4f3aa6dfe0bbaef477bc93fbb03c68ca5d3cf27b29bcb8b1c6ba798547bad9094f3c9491b9b9fb637cb976e5b9b9b42b1c3a15ac17bb1eb3d73b7e2c89bb0d0d4ab826fbef3cf10783bce3af91bc48d7173c8ebe093edb6fd83dff6f27be31f42fbeadf3d6bc0e72673dba390dbc98909abc273c403c108da4bbb91a323b10d111bc205e18bc5267963cc55e34bc3828683c09c8043e2b7126bedf53d43db02628bec6ab883fdc4d8b3fdc4d8b3fc6ab883f31ec3a3af6d35fb9cdeb03ba9e0013ba58c110bc85210e3b9cb36b3ba5b03c3ba8ab1c3b8455d0bc70e9f33c22a0d23b787997bcf6f29e3b09b0c7bb06779f3c0d46a73a02789dbaffe2143946c3b0b9fd8d66bad5d4e23ad130a1b9f014b1ba49ac6a3cfad0e2bb6741b1bca24bad3c7f4d243eabcdb03d83961dbe7a5541be22ed2cbd743b9b3d5090bbbced2e19bc06ef633ce3321abc608ff63b41832cbcd0643fbc0b489e3c221f21bc67aa633c1dd70f3ee90c26be3852b43d4f7022bea8f3863fdbf48c3fdbf48c3fa8f3863fe2e3d13a0a4194b9a4d940ba1a172dbacf7280bc9cda1d3c86077b390cd5bd3bc9918b3c57ae13bd708c033d2f4f24baec67fdbcbf39943c4c3d4bbcc98bca3cc6c9983b7a9c90bb6a20ae3ae356c8ba49ec013a0ee981bb0fa2a33bb93f8cbb0dede63b1928ecb97e0204bdc5b7103de33e353ef2fc933d9f7609bef8dd58bebef96dbd9657bb3d83b73bbd88d5443c73638c3c31cd66bcafa4863c0dad85bc7ee147bcbab7983c160f1ebcaff2673c156b113e762c23be0e33ab3d633a21be4e78863fbd6c8d3fbd6c8d3f4e78863f46ad38ba27e6d3b965b8f5b8370ee539a8821d3a9225d0b92c1d9c3b9f11c3bbda23babce592dfbc0e7a193d6bebdd3c42f45abc563041bbb9790ebb32c09a3cf63bc03a72cfecba20f107b95413e3b9e1fb3c3b1233443bc218e838078de4bbdddf043b953654bc9218a0bc6015163d72f3413ef2b5ef3ded9b44bef8db53bedcdd11bdd8de913da7e0afbbf1dbebbc187c5b3cb7dbccbbc4b51f3b33390dbcd642cbbc898e043d0228b5bcc10ee83c6954373e880643be0927ea3d0cd246befc40863f87f48c3f87f48c3ffc40863f9e9255badccd1dba53a785b84aaf883a27be403a4fc3ee3b5af7f4ba17dbf2bbadc44bbcc77b23bdf80d483dfe698a3cbda700bda34cfd3bab0f37bcc19a103dbbade43bb3c7cdbbb95d413b07d881bba9242b3c4ed9a2bb6d60643b64883cbc4bd927bd9a1d3d3cc9bfbbbc4aa27e3d797d7a3e0ff6863d7b4a2dbe45136fbeb1196abd09f5e53d7afc1dbd9f4a96bc8d9e7c3cd22d49bc39593d3cae2545bc70c8c2bc997acf3cb41d2cbc1d4fae3c1da6493ef7c936bee23b863dd22332becffa813f3a35913f3a35913fcffa813fe10e52ba4f74543b68db81bb81ea043b83af5dbbf4f9153ce19c2b3becf01fbc7b4fc43b8cd865bd6259393da73a813c55ca6bbd5cae1b3d781bd0bcf97b3a3d719b8c3c34b39abcf0ae423cafe11ebc04fd303c9df48abc0b56333c67940fbc4c2c8cbdef32363dc9093abd127caa3dac85973eac40993ceec0f5bd70c092be2daeb9bdaeb3093ed80ea1bdac79e83c6fd3943c600116bced5d9d3c3a18b9bc4e4dc3bbbb16833c277f05bb53db7e3af3a7323ec5a026becf4b043d098b07bed9867f3f0697933f0697933fd9867f3fe14cf2b75ebd89ba865f25bb7aa5213b8eeb843ba2cd903ba91ed93b677a85bc011b23bda44f10bd6097473db55f2c3d06c559bcf2d811bc2bb109bb8929d03c9d6c823befcfedba3309caba6f0b11bba561043cfb7298b6c346e43b4b0d8abc24eaa0bc2c5b48bcab28c2bcfbcc7f3db9d86e3e8dbee43dd82a51beb56f6ebe26935abd6b8fc83d7d5b1dbc75f40abda5db943c320296bc68ad193cf3a4f9bb18372bbd835a363d2415f1bc5e002e3d9af4613eeb855bbea7c8ee3d5ab95cbecddc833fb6248f3fb6248f3fcddc833f7ce172bb9fe995b9ca4a3cbb914ec93b6124623ce4712f3c96f2e5b92a4dcfbc8820c9bc590835bdbf8e523d0911f63c750838bda0e0733c9dbe56bc57df383da6e4ad3c274d94bcfe3e0c3c5b334bbc046bdc3c4d0a84bcc4bb313cd9acd6bcd5aac6bddc650b3da287e2bc9563d23dd497a23e8957a13c7b631bbe5e678dbe8a4db5bda7531e3ed0098ebd956066ba94aca73c2c29cbbc2387dc3c3d8893bc1fd905bd162edd3c20e979bbd175c13cc91f703ef81843be44fa093db0542ebe3c837a3fafd7953fafd7953f3c837a3f85e138bc5133e43bbd835ebb3d53153cd8082b3de054b2bb85be4c3c21ea4bbd216ed4bc68e74fbdd018c03c031a6d3d877ebabd3b0d863d28d2e5bcf03b733dc99f403dc7b827bdf23fde3c024605bdd8c98b3c1b5c8ebc5ce999bb76f15abbffc42dbe4dc4cd3d6cb4cdbc12a7f03dafbef23e2805dabda1217cbd6ae9cabea90c18be93854b3e4d0b2bbefe00cd3d05c8cfba1525bfba4efb0e3de156b2bca8208c3c93f490bc7233d63c686f8fbce6de203ebdeaf9bd90fbb7bd86f11abdc6b0683f49819f3f49819f3fc6b0683f3cfc34ba5de8113915af2b38f9809c3920f0523a37b997bb0df0a03b0d30ecb911cfb83b476fb33a452c733b419c9337d64ba0bb2a12db3a8a9d6fb974a6773bcda643bab42dd0393d27b2b94afd103a3f878639ffc1843b8685b0bb5bcbe73a2da5013de50757bc4f922bbc4632abbb11c5a63d7517a23dbd3104bef80503bef1f66ebcc31b093d6d18bfbbe11427bc3513963b938849b9afbcf13902d98cbb100b4f3b42ee513b4729383bf975a83a235ca83de24804be3ccfa33debab03bec6438a3f7da38a3f7da38a3fc6438a3ff69b69b96868c33995a606ba732f4439918958390c9ebabb5540dd3b68482eba2aa4c93b2c78cbbad0aed13bcc1181b9e43befbbdf4e933ba8ed3fbb6dadbe3b0b0b01ba3fd555b7e32852380b7ddc392ae44abbdc009b3b3bab95bb7248733b79a60d3d44616ebcc25a35bc4c61bdbb3591b33d0130a53d302005be3aad0abe0d4bbdbce6fd1b3d90dbf3bbfdb196bb964bc83ba55e23bb4e4cf73acd739bbb7e5d913a5effef3b994983baf416443be487af3dee560abe8191ab3d1c2e04befb3f8a3f258c8a3f258c8a3ffb3f8a3f853e55b8cb40f1b75b2c6738278d64b9cc2637ba0e290dbbd23d5c3b6007633aedcf8e3cb0b62fbc05ed6c3c257630bc6e4283bcfbe7813c907643bc7b433f3c8eee9ab6dbe1c0b9fcaabd3945e836380b9ab1bb3e448f3b51156ebb79bb8e3b6e40ff3cb2664cbcdce852bcd1e609bac468da3d0310963d00ccfbbddcbd1ebe85c60bbd1ebd413d1c638dbc785bcb3baced073c403dcbbb70369e3b87aab2bb8e68c3bbc752373c578276bb4c1d113cbfafc13dd0070fbebcd9a83d817205bea688893f7f138b3f7f138b3fa688893fcba958b96038bcb9bb7141b91edd2039da667bbb9e9181bbf44b053cb29cb6b9940d00bcda8163bcf9e9a83c9bb26c3c4e9e1fbc7717beba1ac175bae6e6443cdc177bb9f19500ba0d7a08bac394623aea272abbcd01d63b4a3e85bbeca87d388ff7033dd4c78abc3f8899bcf029043cd726073ecec8e03d588228beff9330be3622d5bcc15e543dcfc8aabb622890bc2f60413c156696bb3db70d3b4f6c11bc291326bc96bf983cd3d635bcf96d723ccb3a013e23be27be7d5fdc3d8ffe26be3c00893fb4f18a3fb4f18a3f3c00893f3392333a84e7e1b9d50af7b8fabf28ba8e3712bc13cdd53a0803583be337843b0592453b5477d6bcb116fd3ccd7cb33bdce093bc6372ca3b5be503bc2a669f3c671aa13aab33a8ba625a193a277422ba58701ebbaa8d5a3b556322bafc4884baf1fbb13c689027bce946bcbc220e923c32991b3eb983c53dd07920bef57240be10e320bd0048893daff38abcf9db0dbcd6bc533c3e670bbc7821c43b260419bc25392cbc5ecf913cd15b20bcec81653cb3d7053ebea824bee959c33da8bf20be97d9873fa40b8c3fa40b8c3f97d9873f14ab0a3b2c207cba0fd308b856e6acba12aa96bc0711403cfdc487bbb6b8423c76c5d63c707828bd7e36293d17dc72bc56600ebd84bdc33c9081babc6cf1063d8e7e413b906553bb4e680b3b3a5dcfbaa9a209bbc7ecceba5066853bf4e829bb6fc67d3c8dd922bbead501bd8490e03c2eb6253e7fd29e3dd4f009beba3c4fbe0ef855bd1ee2a13d5a6211bd95f6203c3a538e3c55d561bccd886e3cac3080bcb55c0bbc5757803c3daa08bc625c3b3cc275013e4bb41ebecde1b13d1db018beb95d873fac9c8c3fac9c8c3fb95d873f1dee7ebade10b6383312ddb822c8fb383aec1d39f3dbb8ba22afc53bd3cbb4bb8528bdbc65f9e9bcda2e1d3d0348e43c8a2846bcd0deb6ba18578ebb09f8923ce0757e3a2851efba10d8b8395be2c7b91a760e3b8f25723bd861c6b82c11d5bb039e2a3c627674bc2900b6bc1ec1033da0c8393ec00d013e980846be1a6a53bedd4406bdf5937e3da7aa4e38f76ee1bcbe50453c5b16b3bb8aa7683a565bdbbbb9fbcbbc6548013d4619b5bc0b4fee3c9c872d3e9e5a42beb306f93d26af44be1e10873fed228c3fed228c3f1e10873f68381a3ac6b540baec34ccb9eef6bab71a1d82bb65a4053cdba66dbaec4385bbea4301bc16b439bd5126553d7ff8723c7ec4f3bceb62543c126588bc386f073df21dc83b2beec0bba33f633b2a4980bb8b80c03be2fb58bb0d83993b32a714bc9fe8afbce0ee903b6498f0bc71005f3d124b653ecfdcb53d254a2fbe0b1a6fbec7d652bd9ceab73d698ad0bc4f3a5dbcb066533c32f815bc0fd3ef3b669115bc2c93a3bce063ca3c6a2c53bcefeba53c52bd2f3e12c232be4815ac3d82182ebe245f843f6bc78e3f6bc78e3f245f843f3b4a8b3a3b77063bab4b6fbbeb6a083add1f98bc28ac903cc06888bbb39bbe3b9e5e143d69c6a8bd4fd2923da71378bcd14696bd23d3763de6a658bd9911843d901a923c4ee397bccbeb793cdbe257bc267c093c53c275bce19b593caf1424bcac873cbd91b22a3d615979bd77409d3de01a853ef134433d20c7f4bdef448fbe5d8595bd3624c73d0c6759bd7cf4c43c75f6353c329683bbbf1a213cacb64fbccec7a8bb59ab753cef9892bbef39653b36f10f3e08c520bec512683d60cf02be921f833f534e903f534e903f921f833f569c653ae33d82ba41571abbd101ab3a5f3a8339c2ec2b3bb062193cf3bc56bc518718bdfc2015bd553f443d1f242a3dd78d4abc09a6a4bbd37cc4bbe2a5c53cc259763b7c862bbbe15b7d38779e2ebb14ca8b3b300e313b7f5fb83b4deb65bcac3478bb0ad987bc033ee0bce2bf5b3d611e5f3eb070003ee6ee50be64ae6cbefb764abde176a83dec9796babd45f6bc72c2833c0e667fbc96c8c43b48d6adbb285a23bd704c323d903ff7bc47632d3d7335503e97c859be2889043e57b559be296b853fdc918d3fdc918d3f296b853f5fe1343a4cad19bbd64eacba0ae5f53a16a8f23a415e593ced808dba5b446fbc123c83bc156d53bd9b6d6b3d497ebc3c123424bd9768aa3c213bb5bcaa2e2d3db2fea33cd6bf85bcd3e4203ca0c664bcd7a8923ca24e35bc0ba9483c93a5b6bc7ab47fbdf5a8af3c4f901abdcf96b43d83fb913ea1ff533dc2c61bbe138f8cbe6b41a8bde5b4fc3dbdc350bdf4a9e13b562f8c3cd195acbca2b4983c1fa239bcede102bd583af83c0d5b31bc81d0db3ce8f64c3e576740be2089893dadff2ebe9d15813f0cef913f0cef913f9d15813fd546bfbbde81163b8caad8bbacc11d3c2125353be504b23cad96563b6c0dc3bc3d04053dc012d3bd2a66913df001133bde95fcbd828ad03d80e1a4bddeebd43d9ff9563d84ac39bdeddc223d877434bd235fc83c63a2b5bc839e3a3cb317acbcba250fbef080be3d08448fbd3e410a3e4390d13e0a4864bd93de31bd099fcabe8660d6bdbdb2123e5791ffbd52228e3d32b12dbc632db73bc27b673c66e9c0ba3428c83bacc613bc49f4ab3c0d5409bc4c9d093e1b5ff1bdcc8033bd436784bd510d763f58d6983f58d6983f510d763f528c88badb39823914325e3afdde82b97a30163ac730c0bb2ca5b93bed180f3994a79c3b6499493b85631f3ba85bda39d769cbbbfdc42f3b5d98d0ba2ef2b03b3c8ae1395a1010ba02035a3961a10eb9189075b661f9913bfdf0acbb1610c73adee1073dec8363bccf6135bc4cb9b1bb48eea63dd4fba43d7d7703be684905be385879bc67f0053d5c0a95bb19eb25bc7c9e9d3bae436639270104b970cf8ebba2665e3b5d474b3b34dbd13a95d61e3b5c3ba93de86e05bee133a73d8b6504be0c5f8a3f78848a3f78848a3f0c5f8a3fab35c2b9ee2192396753bdb9dbda78397ff13d3b7af0d1bb27b2d93b51d522bb337b9f3b624bba38516bab3bf3dd6339d09511bc3d0d9c3b2eeb8ebb72490d3c465c79b86656b939f3202fba9af8a239048e4bbbb9b9ae3bf5989abbb5214f3bd9fb0c3d2f098ebc782916bc9f8196bb3033b13d47f2a23db88e03be18fa09bea4a0b3bc585d1c3d619508bc68a0a2bb5fe0ce3b2d7a85bb46326d3b0aeaa7bbec222bbaa4acb93b867e4db904c1b53b200cae3d264406be6af7aa3d409f06be78468a3fb97f8a3fb97f8a3f78468a3f260bc839d8d9a9b9acec26390b84dfb941d9c03a368e49bb7bc24e3bab84a5b731d6883c0ad553bca25f863c521b34bc966493bca9ce8e3c6edf89bc2f5b8a3cdba2fdb8c33c0d38d40b9f37fc0c863863dac3bb9cb0be3bac9370bb9194713b06aa093d2b2889bc527b26bce2b1e3ba87eacb3d843d9a3d9274fcbd177619be95540cbd1a75403d5e7885bc10aecf3bbcff103c01dee2bb813abd3b68f6dcbb4cdad1bb18ac2f3c24139ebbea4d2a3c9340b73d410008be6d78a73d8b2d05be69e0893f38c98a3f38c98a3f69e0893f217946399d22e0b98941a13812fdc5b93a645bbb91efaabbceef063c3ebf9239d71317bc966c55bc71a9a43c7f4f7d3c54c210bc97ae0fbbff722bba4f6d3d3cf2c91cbaf67abcb727f49ab9b08afd39896a6abbd623e23b54e58cbb0d648b3a9152123da2cb97bc5bcc93bcaa79a73bd185033ee311e93dacf02abe87ab2ebe739cc9bc1e5f463d09970bbbd70896bcd857333ca8b881bb2c7c6d3ac139f5bb4fe622bc8b39973c985e38bc393e723c4927fb3d59c227be4f01e23d08de25be9a3d893f64b18a3f64b18a3f9a3d893ff9dc1b3a55373db9705c32b952a531ba7a44e0bb795554baa6ffaf3bb0161d3be5eba8b8a7feb5bcf02ae83c620cea3bf81e74bc9d289c3bcb7801bc375f903c1e19413abae55cba330f9b3955bc97b953f766bb77d1773b965e7eba54c06439d45aef3ce88f62bcd31abdbc3679583c0c8a103e68ead63de9bb23be29083bbed33f07bd4e5b683dad971abc2e1838bc3da7243c7843e5bbe3807b3b5634d0bb275032bc0f92913c42822abcc9ae723c4190f93d75cc22be18b6d23d509420bed2bc883f12238b3f12238b3fd2bc883fd16fe53a197f98ba0baac7395476a0bac44589bc7318253c3317cfbbd558723c1a7ce13c0eaa25bde4d73a3d1bebb1bc30c007bdf9a6c13c6217cebc6e770b3d97f0c13ae668d6ba57a2993ab97569ba937771bb92e5c53aca83d63a815256ba0895b73c50b9c2bba1e8e5bc36519b3c5b40143e3349ae3d38ec0ebe853241beacb232bd23cb893d2b0acebcd4908a3bfe2c513c783029bc746a283ca79a35bc23b8f7bb9d2e613c4cc80abc9dad403c8933e83de16c18bea689ba3da55d15bed098883f87778b3f87778b3fd098883f6ba60bbafcc6ef3826ced2b95c76b7b7217206b9f76659bbfbdf073c5b97b2bbdfa8c6bc574ae3bc0c71173d714ff33c71f925bc78de8bb927a2babb6dea823c5ec0773a0b02d3baf0359239b90bfdb98ecad139e00aab3b13fa86ba006ea7bb008aa33c3d2e96bcc6d5c0bc6ae9da3c812a2f3e58b10a3e05d847bee0a150bec0e7efbc5210543d7d0ae63b8395dcbc6e601d3cd8337fbba7f330bae64f96bb027ec8bc1ab3fd3c13e4b9bc039ff33cd109233ebaa041bebd54053ec28243be7007883f47288b3f47288b3f7007883f59e5a63a4048f9b9eb195aba96491eba546baebb88199b3b6876363bef3833bb98d015bcc9a932bd6814503dbac7823c69e7c1bc548f433cb8c191bc9fa4ea3c63d97a3b3ca571bb67111f3b61c63bbb6456b73a07e7adb90dbc883b5024cfbb28e3c539982cadbb6252f9bc34e6293db9cc4b3e578ee63de66b37be8cfb65becc532dbdcd6b873dfd9903bcedcf74bc163e173cb2bccdbbbb23593b2a17a9bb36dc94bc17e5c53c2ae47cbcb505af3cf60b1a3e92b930bec0b4d13d59452cbe2a89863fb19b8c3fb19b8c3f2a89863f75f2013b0e45fb3626d7e0bafbfc3cba06a9e9bc8834dd3cff3578bc9e54983c876e663d22b6cabd7321be3d2fba1fbd230b9cbd7371853d8e417dbdd0dd8e3d603a5a3c1c4054bc85e8313c3ff623bc76d0733b8d6002bcfdd41f3cbd3df4bb3544b3bcb664bf3c4f926bbd2794843d3ae55f3ea02da33d690606be002485be3a6d5abd18ce923d027b0ebdbaa26d3c7f35c43bcd5634bb2640c63b538ddfbb0268cdbb0d045b3cc769e2bb87fc0b3cac77f33d214715bee3b69e3d7ed60bbe8aa3863fb0cb8c3fb0cb8c3f8aa3863f3a9cbe3a90114fbae84e17bbcf7fce39d62dc3bad6de013a3e4d433c79113cbc1cd413bd01dd15bd4b1a3f3dd84b2b3d2f5816bc73e881bba20af8bbb6d8ab3c8cbc2d3bce93bdbaa3811d3990b62dbbfa3e4c3a2e6eaa3b5e917e3b638330bc6745483cb36db8bc8a85eabc446d333d2e7c4d3e4b1a123ec5b054be5eb168be78fb38bd1aa2863d59a7113cbc81dfbcf0f4693cd13847bcf28b073b435f63bb68641bbd3708323d0ff503bdc61d2e3dfcd13e3e35b358be4e8b123e9c2757be930c873fb1ee8b3fb1ee8b3f930c873fcca8ee3a3b6d04bba98a6fba7dcf24b97f9ff6ba2158173caa50103b3d5a22bccb0474bcdf1851bda9aa6b3db944b13c145bfdbc7f7aa43cdef8d6bce23e173d62785f3cb1e331bc7fdcfa3bac6134bc3e83023c2f1888bb30ad1d3c0c8579bcb8a2d3bc69be8d3b6db81cbd9ede873dd7667a3eff2eba3de0302abec55884bece9c8fbda0b8ba3dbe05e0bcd406a63bf8a8623c034384bc65b1223c4da6b0bb4a7901bd63d70a3db69796bc0993fc3cfb9b2e3e1d363dbecbdfc83d632932be8ba9843fbe4a8e3fbe4a8e3f8ba9843f16cc2d3bc8dbb7bbdc1c9fb9a6229f3aaeca1abd48f7543d51ecf0bc23cfac3c4eabb33dfc9c19be5e580b3e57358cbd687209be0fcbf63dd499f5bdd9ef043e0a034b3d4f0032bd4bb1323d30b33abd062bb83c5c40a2bc5fb29a3c8950d6bcaa34d0bdcebe9c3d4a98babdbbf4033e5466af3edcacb9bb85da74bd3233b9be80c8b7bd1434db3d1d96a0bd9632483d595a91bb148e7d3a16a2a53beee7533bb68b84bb218c813bdf83143c561a023b5c77fb3d40aa08be8432cc3c18b8d3bd21d6813f38b5913f38b5913f21d6813fd6ef91b9d03a04b9387b16393caaf1381786bb3a22c5cbbbde23c83b52fd56bad4a38c3b656b1e3b5ac10c3b2dfb083bbd5dddbb24661e3b906b8dba0373bb3b09b513395f7037b780f358373d8facb9a76501bb91f0993b6f0883bb2b24f83aed6f0c3dbc6f67bcb48e2dbcfbaed9bb809ca73d0cd0a73da0f604befc6e05be923f7bbc1ce50b3dadfecbbb99931fbc8f1a8f3b5c4861ba0377b03a5d3f89bbbd42a73a5b4b873b2155633a1898873bfd98ab3deab305be1b5ca93dfb5306be99848a3f51508a3f51508a3f99848a3f8ce4f4b9ab32e03817884638c00a23399028a53b596bfabb568df93bd88891bb4acf893b6a06c73a155a913b74b948395c820ebc43619e3b1a19b1bb6e211f3c2ab864b5b5d368b896afc0b8d9ae6038d46486bb99b6d83beb62aebb0941613b929d143d0f039bbc41a201bc6ce9c4bb26eeae3ddf52ab3d562d07be5ead09beda34a1bcd3ab193dfe37d5bb3e8404bcb555c83b021f80bb9255743bd563b0bb64f78bba180ac73b83a7ccbae33bdf3bf0c8b03d32f208be0941b13d962e08be06738a3fda498a3fda498a3f06738a3f529b26391790cab931a4483959a325b9f49b043ca97bd4bb0943e93bcbebeebb32ff073cbe14babbf074263caa008fbb90bc7dbcd7788e3c55b290bce399823c04fd95b80f3cc339e499bfb91df05bb80b27bbbb95bdbd3b2dbb87bb8361893bbf1d0f3da6cab4bc2ce112bbb7c9c7bb09eec13d1cf2a63df5f505befd4013bebe18e7bc1229233da0c145bc2515893b8bab063cf19bfebb4c8afc3bb259f1bb417cb4bbb32b2d3c1356d4bb5066273cb9beac3db50d05be54f9a83db9a102befd088a3f179e8a3f179e8a3ffd088a3fea346238d4e2b3b8c67fd9b817b8c1b9ca722ebb346ac4bb98031a3cbe5960ba066230bcf6cb40bc3d61963ce85f903c5acfdcbbffdf35bb9aa3a2b85f5a1b3c8c7193b9a34770b97283e8b9f2080e3a7beb82bbb6a5fa3b631793bb6db0813afd57223d5172acbc647297bc91f37b3be33ffe3dd1bdf33d65462cbe70462ebee3c8bbbc1be9343dfa49553a322597bcd995133caaa65dbb345d3f3ab353c9bb082f21bce5fc8f3cb28445bc0bd5853c45b0f23de2bb26be9479eb3de71e27bee0c2893f18278a3f18278a3fe0c2893f0e24ce394d685e3997bd8eb934373ebacf9b65bbaa0dafbbaea7153cebd099b932c0e7bbd0cb74bc2ae3ac3c9725663cd53129bcadb2953a008580bb31c5523c1970823927c59bb9986370b96ebe9735b58591bb36899f3b2df1f7baf4b8b03a44d21c3d1a5f9fbcdaafa1bccf1fb93b8a14053ea54cee3d4fab2abe255134be1e4dd3bc90753f3d57081abb105272bc0a6beb3b62f8a5bba04f2c3b0c0094bb92e327bc147b873c4a9230bc9ef17e3c2b8de93da39a20be16c9dd3da80a20be8089893f9a568a3f9a568a3f8089893f32ea403a9b6be9b9ac82b23929f56bba18fc01bc6e54f43aa8be6c3a1b58e23b7ff5513c2aa0bfbc51d8f03c71ea03bc1d14a8bca4d15f3c4bd375bc7381b33c2aed27b915201eb9eb91eeb7845362393bf193bb5a355b3bb33efcba5e77493be14d0e3d6a8178bc24b797bcb549a13b10bbfa3de703ca3dbb9419beecff2dbed23afebc76b3513d4f973ebc602d8dbb782ef53b50e1cebb703cb13b7ff8babb158fe0bbba9d3a3c57b1dfbb9ae6203c6e13ce3d645412be998cc03d1f0110bed594893fe2828a3fe2828a3fd594893fd4af26ba21e934b85ad534b9c76302387866a0b97974aabbb01c383cd325cbbbe762cabca5f2d7bca216093d0939043dde81f1bbe3f71fba0a7aaebbe70e543c7ef2733933b756ba90d4dbb88fc52cb9f362a0baf0f5dc3bd46b0fbb588868bb5078fd3c8e7fb6bc93d6ccbc6fbfa53c1a58223e13fb153eb22949be32924dbe4dded7bcbb2e293d13a35a3ceef9ccbcf018053c68fe4fbbfb57d8ba0f2951bbc6fbc2bcf479f63c41b0b7bcc333f33cf063173e09bb41beea800e3e7fbf40bee00b893f43228a3f43228a3fe00b893f3209e2395eb7723a673cb5ba55f706ba517a1dba683362bbfe011f3c7605d4bb1c1d95bc830c05bdbb7b233d2884cd3c18dc63bc03dfd03b81b255bcb028a03cd0e00a3b7c4fc6ba69f67f3a876903bbd009e7baede4033b5fa2083bd5902fbb9f54b33ceb798bbca516d5bc6db9d03c3c632d3e2ad00e3ec2b144bea9e455be6890fabc385c353db7e6053c880e9fbcae94c83b358088bba4282ab9c281bcba356c89bc86cfbd3c226784bcd590b03c6e91073e17482dbe2b5df03dc11e2cbe39a0883f8c878a3f8c878a3f39a0883fa4b5a9b728c7b03a4eb1bbbafaedeeb8e98685bc6a762f3ce847d1bb09c5593cb6200f3d88db88bdbf83903d969bd5bc6de94fbd20bf2a3dc4b230bd87ed493de185b53be4799fbb1a8b8e3b326997bb41c80739e9640dbb48b1583b3549c5babed9573b33b8ce3b63bd23bd9252143db718303ed96eda3df06e1fbe5c625ebee8c607bdb2753a3d0ed0f2bb64a76ebba119e03a36ce85ba2e5e743a6c8049bae4b0f5bb85f54a3c791203bc2e9c293cb13ada3db67c14bee846c23d4b0310be52d4883f63a98a3f63a98a3f52d4883f05c2003a00d10d3a6a830ebba5b0abb8e8fdacba2a4d12bb7fac633ceb392ebcd73516bd367214bdfc54393d6c25323ddfd5b9bb9f9948bb294a12bc62f68f3c9057f33a730711ba46a4c6b73e0023bb390f6dbb75d6fa3b42662d3b3c82e8bb8607ef3c7401fbbc3109e4bc9f89073d81553a3ee937253e5b255bbef50b62be80451dbdd1d6433ddb66a93c3c27debcc17e273c7f44f2bb986a27bbba9522b9129114bd484b313d45ae0dbd58eb313dc0962e3eda5e56befb621f3eddef55bea6a0883f215b8a3f215b8a3fa6a0883f825f0b3ac9a58539c0741dbbecd09139384b673b465116bbfc674e3c9f436bbc742ec8bcedb326bd8fc2413d2b59003df28f95bcbdab5d3c6b52babc28eadb3c02bace3bd8eb9bbb5cc4673bccd9c6bbabc4edba01808d3ba17f7c3bb626dabb371f4f3c337aa1bc240edfbc54461b3d4ddf463e0969103ef24c47bef3296bbe580847bd045f5d3de70d4e3b09dffcbb787a163c066518bcc970b63a07047fb97caaedbce84c0d3dd8bfc2bc0726093d49c8133ecd8038bed46bfb3dfd4134bedef9873f14f08a3f14f08a3fdef9873f66d4583b95d989bbb687f53ad7af12bbee403ebd7b984d3d323b22bd7797233d618aca3ddfca19beeeb51a3ea900b8bd1b36eabd0547d93d8527e8bd19cbea3df852043db4eef0bcb00efe3cd933fabc8f96013cb830d5bbb2e81a3c892247bc20fc2abd806a173de78a92bdd4b7ab3d27b6843e71b3623dfc29d6bd41a198be1b3c94bd7175993d967611bd08b7ea3c4ee6553b2a8b63bb68d8013bf1bf1ab9122815bc0e974e3c38c4a7bb46c9403c6344dd3dbebd12be4776ae3d06080abeb7b2873f63888b3f63888b3fb7b2873f2e9337b7c9bc13397299acb90cf3593763661e3b9c5eddbbd975bb3ba0748dbae96d1e3bcda18c3ba7ff083b60be0c3b13c5cbbb1987bb3a430757bae324c83b8c3f04b926eb91b9c58bf13857861639844f61ba9f1b8f3b7c3f89bb7d76b03a16e50b3d5d3f7bbcf4931fbc26fecbbb2bd0a73d569ca73df26e05bea4f604beda6f67bcfa6f0c3d89afd9bb838e2dbc85f0993b056601bbd727f83a310983bb4e57633adb97873b9141a73aaa4b873b055ca93deb5306bee098ab3de1b305be51508a3f99848a3f99848a3f51508a3fd6ab68b8548a6ab56ea3603895b1c0b869649e3b2e830ebc47211f3c421ab1bb0a06c73ae1ce893b509b4839965b913b3d6efabb222ba53b8a8691bb338bf93bee0be0388fdef4b95e102339ce8c4638541f80bbf755c83b9563b0bb2a55743be4ab193d0b35a1bcc68404bca236d5bbc752ab3d2ceeae3d64ad09be462d07bebf029bbc7a9d143dc7e9c4bb50a201bc20b8d83bcd6586bb1740613bf262aebb87a3ccba023cdf3bb4f28bbac207c73bd840b13d882e08bef8c8b03d2cf208bedb498a3f05738a3f05738a3fdb498a3f0f3cc33904fd95b81df05bb8e499bfb9d7788e3c90bc7dbce399823c55b290bcbe14babb32ff073caa008fbbf074263ca97bd4bbf49b043ccbebeebb0943e93b1790cab9529b263959a325b931a44839f19bfebb8bab063cb259f1bb4c8afc3b1229233dbe18e7bc2415893ba0c145bc1cf2a63d09eec13dfd4013bef5f505bea6cab4bcbf1d0f3db7c9c7bb2ce112bb95bdbd3b0b27bbbb8361893b2dbb87bb1356d4bb5066273c417cb4bbb32b2d3c54f9a83db9a102beb9beac3db50d05be179e8a3ffd088a3ffd088a3f179e8a3fa34770b98c7193b9f2080e3a7283e8b9ffdf35bb5acfdcbb5f5a1b3c9aa3a2b8f6cb40bc066230bce85f903c3d61963c346ac4bbca722ebbbe5960ba98031a3cd4e2b3b8ea34623817b8c1b9c67fd9b8aaa65dbbd995133cb353c9bb345d3f3a1be9343de3c8bbbc322597bcfa49553ad1bdf33de33ffe3d70462ebe65462cbe5172acbcfd57223d91f37b3b647297bcb6a5fa3b7beb82bb6db0813a631793bbb28445bc0bd5853c082f21bce5fc8f3c9479eb3de71e27be45b0f23de2bb26be18278a3fe0c2893fe0c2893f18278a3ff3c39bb9cc6c82393d669835e15f70b946b5953afc3129bc10c5523c078580bbf9cb74bce9bfe7bbe625663cfce2ac3c770dafbb859b65bb60d799b9bba7153ce6615e397525ce398c373eba33bb8eb948f8a5bb096beb3b1d0094bb984f2c3b8c753f3d1f4dd3bce95172bcc7081abb9c4cee3d8b14053e295134be49ab2abe285f9fbc44d21c3d2a20b93be5afa1bcb6899f3bd98591bb78b8b03af2f1f7ba689230bcccf17e3c99e327bc0b7b873c13c9dd3da60a20be278de93da09a20be9a568a3f8089893f8089893f9a568a3f15201eb92aed27b984536239ec91eeb7a4d15f3c1d14a8bc7381b33c4bd375bc2aa0bfbc7ff5513c71ea03bc51d8f03c6e54f43a18fc01bc1b58e23ba8be6c3a9b6be9b932ea403a29f56bbaac82b23950e1cebb782ef53b7ff8babb703cb13b76b3513dd23afebc602d8dbb4f973ebce703ca3d10bbfa3decff2dbebb9419be6a8178bce14d0e3db549a13b24b797bc5a355b3b3bf193bb5e77493bb33efcba57b1dfbb9ae6203c158fe0bbba9d3a3c998cc03d1f0110be6e13ce3d645412bee2828a3fd594893fd594893fe2828a3fe7c756baf91374395ac32cb9c68ddbb837ef1fbad182f1bb8e0e543cac79aebbc0f2d7bcba62cabc3339043d7516093d5376aabb0f51a0b98525cbbbe21c383c808c34b8deb326ba9d49023808d834b9c2f94fbb1e18053cad2a51bb6f58d8bae02e293d54ded7bc90f9ccbce7a15a3cfcfa153e2c58223e2d924dbeb02949be157fb6bcda77fd3c0cbfa53c4ad6ccbc3bf4dc3b2d5fa0baf18868bb92690fbbebb0b7bc3034f33caafbc2bc247af63cf3800e3e89bf40bee463173efeba41be44228a3fdf0b893fdf0b893f44228a3ffd4ec6ba4ce10a3b846903bb65f37f3aebded03b5bdc63bcc828a03c62b255bc820c05bdf91c95bce483cd3cca7b233d853262bb30771dbaea05d4bbca011f3c7fb6723a8a07e23907f506baa43cb5baa78088bb4494c83b2c81bcba1f122ab9505c353d3990fabca40e9fbc32e6053c28d00e3e3c632d3ea5e455bec5b144be237a8bbc7f54b33c9ab9d03c7b16d5bc88e5033b3b09e7ba1e912fbbc9a1083b076784bcda90b03c3a6c89bc6ccfbd3c1b5df03dc71e2cbe7191073e0c482dbe8d878a3f39a0883f39a0883f8d878a3fbb7a9fbb1d86b53b256997bbbc8b8e3b2abf2a3d68e94fbd8bed493dd5b230bd8cdb88bdbc200f3da99bd5bcc483903d04762f3cd78685bccec4593cf846d1bbb3c6b03ad0b0a9b72defeeb8dbb0bbbaaac985ba5018e03a818149bacb57743a85753a3ddcc607bd87a76ebbdacef2bbeb6eda3db618303e5e625ebef76e1fbefcb8ce3bbad9573b9f52143d85bd23bd8f630dbb31c907393a48c5ba88af583b331203bc1c9c293ce7b0f5bb4ef54a3cfa46c23d4e0310bead3ada3dbb7c14be63a98a3f52d4883f52d4883f63a98a3fe40811ba4b58f33a7e0023bb2c90c6b73a9848bbcfd6b9bb87f68f3c484a12bc357214bdce3516bd6825323df254393d0e4e12bb0afeacbad8392ebca3ac633cbdcf0d3a4dc4003ae2c2abb8eb820ebbaf44f2bb027f273c479f22b9c16a27bbded6433d95451dbd2527debcd966a93ce837253e83553a3ef40b62be5c255bbe5801fbbc5f07ef3cad89073d4409e4bc8ed6fa3b340f6dbb4582e8bb18662d3b48ae0dbd62eb313d189114bd474b313dfd621f3ee1ef55bec4962e3eda5e56be215b8a3fa6a0883fa6a0883f215b8a3fd7eb9bbb00bace3bccd9c6bb5cc4673bbeab5d3cf28f95bc28eadb3c6b52babcecb326bd742ec8bc2b59003d8fc2413d445116bb334b673b9d436bbcfb674e3cc6a58539845f0b3af2d09139c1741dbb076518bc797a163c22047fb9c970b63a045f5d3d580847bd09dffcbbe70d4e3b0969103e4ddf463ef3296bbef24c47be337aa1bc371f4f3c54461b3d240edfbc01808d3babc4edbab626dabba17f7c3bd8bfc2bc0726093d7caaedbce84c0d3dd46bfb3dfd4134be49c8133ecd8038be14f08a3fdef9873fdef9873f14f08a3f70eef0bcde52043dc333fabc900efe3cd046d93df235eabd01cbea3d6527e8bdc4ca19be2b8aca3d7c00b8bdd9b51a3e46984d3dbc403ebd4197233df73a22bd5cd989bbe2d3583b34af12bb8186f53a5d8c63bbd5e6553b11be1ab9cbd8013b7475993d0e3c94bdabb6ea3c807611bd9eb3623d1fb6843e37a198be1f2ad6bd696a173df0fb2abdb8b7ab3dd78a92bdc230d5bb8996013c842247bcb7e81a3c7cc4a7bb5dc9403c132815bc1b974e3c5276ae3d08080abe6144dd3dc1bd12be63888b3fb7b2873fb7b2873f63888b3f7a1010ba7387e139958e0eb9ebf55939e5c22f3bd268cbbb40f2b03b6e97d0ba1b98493b2fa99c3b0a3ada39c5651f3b9f2fc0bb8624163aff0b0f39aea5b93bdf3582398b8a88ba63d982b9ff2d5e3a1c476639ab9e9d3b52cf8ebb400a04b999f0053dc35879bc17ec25bc180995bbb9fba43d8eeea63d804905be7b7703be6a8463bc16e2073da2b8b1bb736235bc43f9913bcbca60b6ae02c73a17f0acbb28ddd13a69d71e3b38635e3bb2484b3bf733a73d976504be5c3ba93de76e05be75848a3f0e5f8a3f0e5f8a3f75848a3fba51b9398d4779b89af9a23978202fba840a9c3b2d9511bc70490d3cbde98ebbf33aba38aa7b9f3b6cf463395c6aab3b88eed1bbcbed3d3be7d822bbf8b3d93b3a299239283ac2b9b6d67839ea53bdb9297a85bb44e0ce3b43eaa7bbeb326d3b435d1c3d82a0b3bceb9fa2bb949508bc57f2a23d2c33b13d14fa09bec28e03be95098ebcf6fb0c3d498196bb502916bc84b8ae3b6c8c4bbb8d224f3b03999abb089b4db9eec0b53bf02a2bbaa9aeb93b93f7aa3d4b9f06be1b0cae3d2d4406beb87f8a3f79468a3f79468a3fb87f8a3f786d0d38d477fdb888da853824c59e370ccd8e3c7c6793bc995e8a3c4cde89bc9ad453bc45d5883cef1a34bc1a60863c03a349bbea89c03a24ac8fb780d34e3ba7d4a9b93f17c839a691dfb976e52639addde2bba701113cfdf8dcbbfe38bd3b6b74403db8570cbde9c0cf3b6c7585bc333d9a3ddce9cb3dbd7519be4a74fcbdb92989bca7a8093d2679e3badb7926bcf0b1be3bffd7c3bbb590713b449770bb19159ebb9e482a3c7ad2d1bb65ae2f3c9078a73d742d05be5b40b73d4d0008be34c98a3f6ce0893f6ce0893f34c98a3fc771bcb74ecb1cba7a8dfd39ccf49ab9adae0fbb3bc210bc356d3d3ca2722bba8e6c55bcfb1317bca44f7d3c6da9a43cb1efaabb1a635bbb28b69239deef063c0c22e0b98e73463929fac5b9bf3ea138a7b881bbd457333cb939f5bb197c6d3a1b5f463d579cc9bcf40896bcd4960bbbe311e93dd185033e87ab2ebeacf02abeabcb97bca452123d1579a73b53cc93bce523e23b166b6abb2b658b3a64e58cbb9d5e38bc503e723c66e622bc8d39973c5001e23d0ade25be4d27fb3d59c227be64b18a3f9a3d893f9a3d893f64b18a3f89fc5cba8a2e413aece597b9113b9b3963309c3bb42274bc3f61903c0c7d01bc2cffb5bc9b66a8b84c09ea3bbe2be83cdc4f54baf545e0bb8f1a1d3b78feaf3be6383db923e01b3a9ea931baea5532b92944e5bb99a7243cd734d0bbc4817b3be75b683d5c4007bd231638bcea991abc46ead63d168a103e31083bbedabb23be468d62bcb859ef3c257b583cfe1bbdbc81ce773bacf566bb13b2643939567ebac5822abcf2ae723c765032bc6892913c46b6d23d639420be6990f93d8dcc22be12238b3fd2bc883fd2bc883f12238b3f9f69d6ba1af1c13a337769ba23a3993a9ba4c13c2dbf07bd5e760b3df814cebc92a825bd9e79e13c86e8b1bc62d63a3d9b15253c854489bc6756723c8d11cfbb8c7e98ba766fe53ad775a0baa1a7c739532f29bc012c513cba9935bc5669283cd8ca893d23b232bd2e8d8a3b1309cebc3349ae3d5c40143e853241be39ec0ebe4abdc2bbe495b73c41509b3c97e7e5bcd4e9c53a927971bbdb4b56bac97fd63a3dc80abc96ad403ce0b7f7bb822e613ca789ba3da65d15be8533e83de16c18be87778b3fd098883fd098883f87778b3f10f3d2ba74b6773a4e0afdb9490a9239d2f68bb9e2f825bc9cea823c46a2babbb049e3bc1fa9c6bc1e4ff33c0271173d706659bbad9606b9cc97b2bb7de0073ca9a3ef3874a20bba413bb7b710d0d2b9f1387fbb50611d3cfb4e96bbaef430bada0f543da9e7efbcf695dcbca50fe63b7db10a3e6d2a2f3ee5a150be14d847bec92e96bc7a8aa33cd0e9da3c09d6c0bc4a0bab3b31bfd139b86da7bb87fa86ba1ce4b9bc9e9ef33c3f7ec8bcc8b3fd3cc154053eba8243bede09233ed2a041be47288b3f7107883f7107883f47288b3f83a571bbf8d97a3b3cc83bbb0e131f3b538f433c41e7c1bc9fa4ea3ce4c191bce0a932bd96cf15bc51c7823c7414503d56199b3b786caebb283633bb5376363bfc47f9b932e7a63acb4e1ebaa5185ababdbccdbb873e173cd016a9bb1e21593bc46b873de1532dbd00d074bc4d9903bc718ee63da7cc4b3e85fb65bee56b37be7e2cadbb9300c63917e6293dab52f9bcc3e6adb90553b73adc23cfbb76bc883b1de47cbc6605af3c03dc94bc32e5c53cd6b4d13d56452cbef20b1a3e9cb930beb09b8c3f2b89863f2b89863fb09b8c3f1d4054bcc03a5a3cc4f623bc9ce8313c5e71853d220b9cbdc7dd8e3d59417dbd5eb6cabddd6e663d70ba1fbda721be3dad34dd3c11a9e9bcd954983c933678bce6adff36a4f1013b6bfa3cba94dbe0bac45534bb5734c43b6f8bdfbb2a3fc63b40ce923d546d5abdeba26d3c487b0ebda92da33d34e55f3efd2385be6d0606beaa64bf3c7244b3bc2e94843d3c926bbda36102bc14d1733b593ef4bb47d61f3c836be2bbaefc0b3c3968cdbbce045b3cc9b69e3d7ed60bbeb177f33d164715beb0cb8c3f8aa3863f8aa3863fb0cb8c3f0593bdba20bc2d3b45b62dbbd07e1d3932e981bbae5716bc8dd8ab3c540af8bb02dd15bd25d413bddc4b2b3d551a3f3d25e2013aa62dc3ba8d113cbc1c4d433c2a104fba039bbe3a9b84ce396c4f17bbb73847bcadf4693c985e63bb0c8c073b13a2863d61fb38bdd681dfbc63a7113c4c1a123e2d7c4d3e5fb168bec4b054bed06db8bcb745483c366d333d7785eabc136eaa3bdc3e4c3a5d8330bc8a917e3b0bf503bdbc1d2e3d63641bbd3808323d4c8b123e972757bef8d13e3e35b358beb1ee8b3f930c873f930c873fb1ee8b3fbbe331bc26785f3cc66134bce1dcfa3bb77aa43cdf5afdbcdb3e173d21f9d6bcd61851bd040574bca444b13cb3aa6b3d2e58173c2a9cf6ba3b5a22bc484f103b2a6d04bb55a6ee3a22d224b9f9866fba0b4384bc1ea9623cfca5b0bb76b1223c98b8ba3dce9c8fbde006a63bcd05e0bcf82eba3dd4667a3ec25884bede302abeebbd8d3bf6a2d3bca0de873d49b81cbd281888bb9783023c018579bcf3ac1d3c9d9796bc0793fc3c587901bd57d70a3dbfdfc83d682932be009c2e3e15363dbebe4a8e3f8ba9843f8ba9843fbe4a8e3f7d0032bd30034b3d47b33abd69b1323d38cbf63d757209bee4ef043efb99f5bd139d19be7cabb33d87358cbd76580b3e6ff7543dc4ca1abd46cfac3c96ecf0bcdadbb7bb2fcc2d3b61229f3a291b9fb98d977d3aec5a91bb2ee8533b76a1a53bf533db3d73c8b7bda432483d1896a0bdecadb9bb5a66af3e3b33b9be45da74bdd3be9c3dba34d0bdc2f4033e4a98babd5a40a2bc092bb83c8550d6bc56b29a3c0e84143ca319023b7f8b84bbd68b813b4632cc3c12b8d3bd5577fb3d39aa08be38b5913f21d6813f21d6813f38b5913fcb33d039e6b043baa105113af22ab2b9f914db3a504ba0bb1ea1773b99736fb9eb6eb33ab0ceb83b90469437cc2b733b9fba97bb1605533ab733ecb94eefa03b64f21139f20035ba35809c3905d02b38f38049b95913963b1cda8cbb2ac7f1399d1b093deaf66ebc561327bc341abfbb7c17a23decc4a63de90503bebd3104be530757bcf2a4013db832abbbce912bbc87c2843b184a8639b6dbe73a4286b0bbbb28383bc46ea83a14124f3ba8eb513b2dcfa33ddeab03be1e5ca83de54804be7fa38a3fc4438a3fc4438a3f7fa38a3f8dfe55b79f0b01ba7e7edc399d355238fe4e933b743befbb07adbe3bfbed3fbb2178cbba2da4c93bbd1481b997aed13b1f9ebabbe0895839a0482eba5440dd3b5868c3397f9b69b9282f443988a606ba9b5e23bba04bc83bd6739bbbec4bf73ae5fd1b3d104bbdbc07b296bb8edbf3bb0530a53d3d91b33d3ead0abe322005be46616ebc78a60d3d3b61bdbbc45a35bcf2009b3bdde34abb5d48733b2fab95bbcd4983ba6d17443b475c913a3fffef3b8491ab3d1d2e04bee887af3ded560abe268c8a3ffb3f8a3ffb3f8a3f268c8a3fa4eac0b963f38eb62c473338edf3bd3978e6813cd74283bc864d3f3c357c43bcc6c12fbc4dcc8e3c885730bc28e26c3cc60c0dbb618c36ba295e613a10615c3bfe53f0b71a1156b8fbbb64b9282a68380c23cbbb0ed4073ceca8b2bbd74a9e3bdcbb413d80c70bbdc08fcb3b2a6b8dbcc710963d9965da3da4bc1ebe12ccfbbde2584cbc6836ff3c2ffb09ba7fe252bc08318f3b2f8cb1bbaad88e3ba13f6ebbed9476bb372d113cca77c3bb964f373c71d9a83dac7205be3fb0c13dbe070fbe98138b3f8c88893f8c88893f98138b3f209500ba3a0c7bb97993623a7f7c08ba7c18bebac39e1fbc56e7443c55bd75ba968163bc0b0d00bc74b16c3c23eaa83c589181bb3d687bbb6f7cb6b9264b053c8e35bcb92a9958b991c02039886d41b9af6696bbbd60413c5f6c11bc9cb60d3bf05e543dbf22d5bc0b2890bc97c9aabbb2c8e03dd726073ef59330be558228be85c78abc56f7033d012a043c298899bc5301d63be6272abb63f97d38583e85bb66d635bc1d6d723cb61226bc94bf983c715fdc3d7ffe26bec43a013e24be27beb4f18a3f3b00893f3b00893fb4f18a3ff118a8bac404a13ae24822bac924193ac469ca3b83de93bc1e649f3ce9e103bcb578d6bc0695453b007cb33bde17fd3c91d9d53a5f3812bcf539843bddfb573b04e7e1b9c18f333a32bd28baee13f7b8ff670bbcddbd533c3c0519bc4223c43ba747893d83e220bdd8df0dbc63f18abcd883c53d2c991b3eed7240bee27920bea38f27bce2fbb13c330e923c2647bcbc2d8d5a3b106f1ebbfd4a84ba486422ba2c5c20bcbd81653cd9382cbc6dcf913c245ac33dc1bf20beccd7053edda824bea40b8c3f98d9873f98d9873fa40b8c3faf6753bbf87f413b925fcfba596a0b3b3cc0c33c85610ebdb3f2063d5c84babcad7928bda2c7d63cc6e072bcc437293db612403ce4aa96bc2bba423c3bc887bb7d227cba53ab0a3bfae6acba2cac08b880d661bcde538e3c433180bcec896e3c88e2a13dacf855bdcdf8203c266311bd6bd29e3d29b6253eb83c4fbec9f009be47d222bbfcc47d3c5091e03c63d601bdf0f0ceba7ca009bb81ea29bb3c67853b9faa08bc8b5c3b3cff5c0bbc9057803cbee1b13d1bb018bec475013e45b41ebeac9c8c3fb95d873fb95d873fac9c8c3f3f57efba5a767e3ad4e3c7b9e4f0b83941ddb6ba9c2846bc12f8923c7c578ebbe9f9e9bc7728bdbcf847e43c152f1d3de6d5b8ba9ae71d39e5cbb4bbefadc53bdd03b63877ed7ebabac2fb380504ddb81b16b3bbac50453c745bdbbb72a9683a46947e3de44406bde16ee1bcf7484d38b40d013ea0c8393e1b6a53be8a0846be277674bcf99d2a3c1dc1033d3c00b6bcd427723be8750e3b2511d5bb85a1c6b89118b5bc054fee3c9afbcbbcf547013d9806f93d25af44be9a872d3e905a42beed228c3f1e10873f1e10873fed228c3f25eec0bbe41cc83b084880bb433f633b6163543ccfc3f3bcda6e073d376588bcf3b339bdfc4401bc92f9723c2b26553d04a4053c5e1e82bb2c4285bb04a46dbaf0b940ba32321a3acbeab9b79930ccb96cf715bcf366533cec9115bc37d2ef3bb6eab73defd652bdec395dbcbc8ad0bcbfdcb53d324b653e261a6fbe244a2fbe64ef903bd0e8afbc76005f3d5498f0bcfafb58bb6481c03b8da714bce082993b0f2d53bcfaeba53c2693a3bc1b64ca3c3615ac3d89182ebe5bbd2f3e0bc232be6bc78e3f235f843f235f843f6bc78e3ff7e297bc311a923c39e257bc33eb793c01d3763ddb4696bda911843dc9a658bd39c6a8bd2a5e143d261278bc28d2923dcdab903ca51f98bc5e9abe3bdb6688bbbc75063b0b4d8b3a7f66083a364a6fbb429983bbf8f7353c36b84fbc3d1c213cf723c73d4d8595bd46f4c43c916659bddf34433df11a853efd448fbe22c7f4bd4eb22a3d72873cbd55409d3d125979bd9cc175bc7e7b093c1a1424bc149b593cb59892bb7838653bcdc6a8bb44ab753c1713683d52cf02be2cf10f3e22c520be544e903f921f833f921f833f544e903f12822bbbb053763b04952ebbe6777b383aa7a4bb758b4abc10a4c53c3179c4bbde2115bdbb8618bdb4232a3d0940443df6052c3bd388823972b756bc7d5c193c476a82babcfa653a9bd0aa3afc3f1abb42647fbc39c2833c28d4adbb6dc3c43b5d76a83dde754abd1948f6bc907396bac270003e591e5f3e5cae6cbef4ee50be7fda87bcf02c78bb8fbf5b3d143de0bc3814313b13ca8b3bddeb65bc0e5eb83ba440f7bcbf632d3dc75a23bd1c4d323d1c89043e5bb559be8135503e92c859bedd918d3f286b853f286b853fdd918d3fcdbf85bccefea33c7bc664bc90e4203c4568aa3c253424bda92e2d3dc13ab5bc016d53bd263c83bc747ebc3c796d6b3d935d593cc6a9f23a6b446fbca47a8dba33ab19bb21df343a51e6f53a1454acba1396acbc642f8c3ca5a239bcedb4983c09b5fc3d7a41a8bd25abe13bf5c350bd96ff533d87fb913e178f8cbebec61bbec7a9af3c95b47fbde296b43dc5901abda14f35bcf6a8923ce1a5b6bc3faa483c2b5b31bc97d0db3ccde102bd503af83c3689893dafff2ebee0f64c3e616740be0cef913f9d15813f9d15813f0cef913f75ac39bd89f9563d787434bde9dc223d858ad03de295fcbddeebd43d7de1a4bdd012d3bd6504053d3f01133b2766913dee04b23c6f24353b560dc3bc6496563bc981163b7646bfbb48c11d3cf5a9d8bbfb2cb73bffb02dbc29e9c0baa87b673cbbb2123e7e60d6bd47228e3d4f91ffbde74764bd3a90d13efe9ecabec4de31bdf380be3dba250fbe3b410a3e02448fbd66a2b5bc1f5fc83c9e17acbc5b9e3a3c37f4ab3cd45309bcdb27c83b99c613bcc48033bd4b6784bd509d093e1f5ff1bd59d6983f500d763f500d763f59d6983f558d163aa9f071b96b66ae3884f511ba855ca93ac137a9bb40db903b8691b6b99408fa3a7ec9c03bfc9d1cb79d993d3b54e894bbdba9a43884b2453a02368e3bb59ca5b9e1a66fb9f5e9a1b86b76e239f15742ba7c5d923b4d8465bbae87a239a656083def4062bcea103fbc68aba2bb93a4a23d1e94a43d5d8003be90cf02be2e974ebc00ca043d0be4babbae0e38bc21a6843b5bf52438274ec53a45d49fbba51d2f3b8e1a1d3a30e5593bb7177f3b5a27a43df2b302be4503a73d62d604be858d8a3ff85c8a3ff85c8a3f858d8a3f980b7d39684413ba2b01873a39c33bba3140463b2015d7bbb13ca03b4b51babab2bc02bbc199fc3ba909ddbafd48eb3b9e228ebbf3b06bba8ccbd03a14018b3bbf68d1394b1269ba3f8caa39088f93b8faae12bb5e57ae3b89c692bb522c033b41711d3d2220b0bcbbc0d9bbfa94f1bb5fc6a53d3357b23d1d9d09be7ad505be1f8962bcc6890f3d9e08c3bb094c47bc897d833bda49d0ba2a0e3a3b22d091bb40b6d139ad8b353b04f1bf3a4f18c53b595cac3deb1805be1431ae3d147809be9a8e8a3fcd3d8a3fcd3d8a3f9a8e8a3f2511893a636e07babd07b739c1356cba4fcdee3b78f332bc63c3f43b3112a1bb375b1bbcaa85693c1ca08dbb82543d3c2c979fb9956b8bbb5eeb483b0180203b33ba95b908141e38a32062b85a4ead38a0fccebb5bf80e3cf62e90bbb6066e3be6e84e3d8c9218bd8958573b1c676fbc133da53d578ddf3dd3cb20be3c5905be20a649bc10d20a3d8ec158b9169a88bc820f893bbb7189bb6f661e3b40ea33bb579249bb830b153c57f2b5bb879b293c870db33d759307be4166c43d773014be332e8b3fd866893fd866893f332e8b3f4a687cb9d394b9b9812b1c3aa9dfb9b98fb0c6ba9c7b29bc8a094f3c9b8947baf8f477bc5fe0e0bb5fcb5d3c6efbb03cb2e358bbf28e8bbb79714f3ab91ade3b050600ba91ef0cbae122f738886e85397c8ca4bb9d3b403c05d111bc6a1b323be271673d41f3d6bcd0909abc65390dbcf66fd83d8dbe093e3af42fbe017027be350883bc71fbef3c7ed7173c00b091bc89b3d73b8aab17bbde7f4ab8662c89bb305f34bcfe28683c7d5e18bc5467963cea53d43dbd2628be0ec8043e2b7126bedc4d8b3fc6ab883fc6ab883fdc4d8b3fba849dbacf51a73af4e5b0b98e32153941f39e3bd37997bcf3769f3c28aec7bb0454d0bc81a41c3bf4a2d23b2ae8f33c5d1e0e3bd2c010bca1ad3c3b7bb76b3b0fe05fb9c9f23a3ab10513ba1cea03ba84321abc3fed633ca4812cbcca8ef63b9e3b9b3d3bed2cbdd22d19bc5f91bbbcc0cdb03d774d243e615541bea1961dbe20d7e2bb32af6a3c964aad3c6a40b1bc91dde23a5ea366ba2f10b1ba1337a1b9471d21bc4faa633c12653fbc60479e3cd851b43d287022befad60f3ebd0c26bedcf48c3fa6f3863fa6f3863fdcf48c3fd79b90bb8bc9983bf755c8badd1dae3ac939943cf067fdbccd8bca3c603d4bbc8aae13bdee918b3cd55324baa48c033dc3da1d3cd67280bc27d5bd3b0dfe7a39353e94b9a0e3d13a98162dba0fdb40bae7cd66bc94638c3c2ead85bc0aa5863c7057bb3da2f96dbd18d5443c36b73bbd1bfd933ddc3e353ef0dd58beb47609bec42eecb934ede63bc1b7103d710204bd1ae981bb6eec013abe3f8cbb1ba2a33be30e1ebc9cf2673c6ce147bca0b7983c2633ab3d683a21be1a6b113e822c23bebd6c8d3f4e78863f4e78863fbd6c8d3f0acdecba8636c03aee05e3b976ef07b9f83341bb55f45abc66c09a3cc3770ebb3592dfbcac23babc27ebdd3cc679193d9533d0b9a98c1d3a0e13c3bb2e1e9c3b66edd3b9d0b038babd1be539c1b8f5b860ddccbbdb7c5b3cb3390dbcceb71f3bd2de913de4dd11bdd1dbebbc85e0afbb08b6ef3d60f3413ee4db53befa9b44be0b3754bcb7e0043b4f15163d4d18a0bc6035443b9cfc3c3b508de4bbe8cbe7388927b5bcb40ee83cd942cbbc538e043d0127ea3df7d146be5354373e810643be87f48c3ffc40863ffc40863f87f48c3f43c8cdbb1baee43b4cd881bbb35e413b954bfd3b4ea800bde99a103d7a0d37bcd37b23bdc8c44bbc1b6a8a3cfe0d483d9bc1ee3b01d8403a5edbf2bb3efdf4bac8c81dba648c55ba56af883a070786b8c62d49bc959d7c3ca32545bc1a5a3d3cf9f4e53d66196abd694a96bcc0fc1dbdf0f5863d7a7d7a3e37136fbe7b4a2dbea81d3d3c56d927bd51a27e3dcabfbbbc40d8a2bbb0232b3cdc883cbc9b64643ba51d2cbc684fae3c6ac8c2bc397acf3ce93b863dd02332be13a6493ef3c936be3b35913fcefa813fcefa813f3b35913f19b39abc7a9b8c3cd4e11ebcd5ae423c46ae1b3d34ca6bbdd87b3a3d521bd0bc9bd865bd4550c43b743a813c6f59393db5f9153c2ab05dbbb6f01fbc829d2b3bfc73543b161152ba08eb043b3ddb81bb040216bc34d3943cf017b9bc2b5e9d3cb2b3093e30aeb9bdaf79e83cdd0ea1bdba3f993ca085973e65c092beafc0f5bddc32363d522c8cbd1d7caa3dc0093abd74f48abc58fd303cbd940fbcc555333cc07e05bb14e17e3a1c4ec3bbaf16833c814b043d188b07beffa7323eada026be0697933fd9867f3fd9867f3f0697933fc5d8edbaaa6f823b141511bbb8f9c9ba59d811bc5bc759bc5b2bd03c9ab809bbc54e10bd951b23bd1d602c3daf96473d4cc1903ba2f6843b297d85bcd82ad93bbe9289ba70a1fdb722bd213be57525bb060396bccddb943ccda6f9bbd4af193cee8fc83d3d945abd4df30abdf65f1dbc70bee43dc1d86e3ebf6f6ebecb2a51beae5848bce8eaa0bc36cd7f3d6c29c2bc4fd1a2b67561043ce60c8abcc247e43b2114f1bceeff2d3d7e362bbddc59363dc7c8ee3d59b95cbe90f4613ef4855bbeb5248f3fcedc833fcedc833fb5248f3f2a4d94bca8e4ad3c61334bbc053f0c3ccde0733c7e0838bd5edf383dc9be56bc740835bd5c20c9bcef10f63cd88e523d66722f3cdf23623c184dcfbc2200e6b954f995b9bddf72bb274ec93b07493cbbe328cbbc63aca73c088893bcd986dc3c99531e3e774db5bd266b66bab2098ebdb557a13cd197a23e5c678dbe81631bbe8a650b3db7aac6bd7c63d23d0387e2bcd10984bcae6adc3c84acd6bcceba313cd2e979bbd175c13c32d905bd352edd3c31fa093dab542ebec81f703ef41843beafd7953f3b837a3f3b837a3fafd7953fecb827bd11a0403d3b4605bd1140de3c450d863da57ebabd373c733d6cd2e5bc33e74fbd966ed4bc101a6d3dec18c03c8d54b2bba4082b3de5e94bbdffbd4c3ceb33e43b44e238bc2854153cab855ebb0722bfba81cecfba9a56b2bc47fb0e3d96854b3eae0c18be0d01cd3d520b2bbe3905dabdb8bef23e74e9cabe78217cbd3ec4cd3dedc42dbef3a6f03d5ab4cdbc255c8ebcfdc98b3c66f35abb7ee899bbb133d63ce36f8fbc17218c3cbaf490bca3fbb7bd35f11abdd8de203eb6eaf9bd49819f3fc6b0683fc6b0683f49819f3f6ca17a3aefa408b91acab9b88ff94cba359cad3af5d0b6bbe0d59c3b598283b9743c013b555bac3b57ec263ad35f3b3ba340a0bb9e9c23390fa6543a948b963b5649aeb93cd802ba68118e39b18eba398e2f41b7d1b0773bb3cd98bb2c89a03a1b92033dbcfd66bccd0337bc594d84bb48a1a23df968a43d7eab02be9f7203be240b38bcae10053d8c07cebbf04348bc0cd7743ba3a6d2362a2cd03ae10597bba4c82d3b38cd523aed4e9a3b80451b3b99ffa43d57d902be46a2a73d547405be3c9d8a3f304d8a3f304d8a3f3c9d8a3f9af3833a4bd420ba2a5b7f3aaecbc9baed42c33a175996bbf065463b5a79c5b8d8cb9dba3dbcf33ba1a4f1ba0054e03b665992bb21bc19bba967433b8d54953b0ee54a39fb7a44ba54fe053afd834cb95d4359ba1a79603b9ced4ebb6280993a68ba123dd3919bbc7a6a1abcbca399bb06b3a63db913b13dc49908bede2906be72bb4abc6dc90d3dd726e2bb9d134abc3818843b2a4953ba7e3e193b48799bbbda59d339c2cc123b2720283be109b63b89a4a53d26fd03be6208b03dbea308be80b28a3f9c228a3f9c228a3f80b28a3fe686113ba317e0ba19903e3accc2b3ba1a6c823b53d88dbb204837ba2a1486b994886ebb9eb20e3c2cd0f53a8b95c43b954ffaba25bebfbbbaa0a03b6c874e3ba887a5b81cc3cdb8ce855eb94ed61b3923b8edbb6359b83b516edd390d7e1f3bcad44a3da80a1abd2f1f72bbffd9d7bb325db13d3e61e43d883c1dbe9ea610bea37d67bc86b0133db4b8e1bac29582bc6e98a03b417174bbac6c203bef096fbb1fa8113b5235d03bed129cbb0035f23befe1b43dbffe06bec87cc43d843316be93fd8a3fe8a0893fe8a0893f93fd8a3f4fcb50bad041b5b8f2dd043a5ade91b7acbfd3ba3c173bbcb5a3573c2c7460381e0d77bc1d6fd9bb9bcc513c2c3cb43cf33b4fbb650058bb8daf13b98d63d53b1f8a14ba9c3843bae0181c3ac518ba380c7f51bb54794a3c8a022abc83c0e23ad8a46c3d4c83d2bc5e46a2bcb52e1ebc1039d33db87f0b3e17e52ebe0ea627bee40f80bcb5e6dd3c5cb6243cf4f685bc7c7ce23b450c41bb9e306c3961828bbb4a0747bcb27a5d3c36ed06bc11ce9d3c24afd03dc4ec28be140f083ef88927bebe938b3f226a883f226a883fbe938b3fc5a845ba705d853a46308d3485c10cbac744b53ad75690bc9099973c570d08bb58edb2bc85de793ae539f23bb16fda3c96d8613a12cde4bb6265ff3a6aef6d3b040eebb97259b63917f32fb9d1cf8ab9efa31fbc7172783cce844fbc58cb103c9cf2aa3dbf1528bdf7f161bc9785e4bc34b5a13d5c84283ecb4a3dbe11191ebe95dc8abbcbdd013cae62b23c12c593bcc2da0e3b2e0740ba4a9e8cba1255a7ba14ba1fbc97e6553c64332fbc87aa9f3cf67fa73d279025bee4c4193ecb5927bef1bf8d3fad34863fad34863ff1bf8d3f09308639f795ef3a10e536bae935ecbac8d01f3bc10077bcda58843ce1eb4cbba56ebfbccf4124bbc326493c278ddd3c9acd513bccb0fcbbe9bfe23975d2263b58dcf338cddb5e3ab457cdb9dbd802ba3f36a7bc554d983c5cbf3ebc318d8a3cb21be43dceff8dbd79141cba670733bd53d4603d48ab4d3e3f0a55bec6c112be8805953bbb141ebccc891a3d3103b8bccf8336bb5d6f293bafc983bb0ae7c53af8a0d0bb3b5f803c1c3c96bc370da83c0d668c3de76126be47642e3e547f2bbe7e8a8f3fac40843fac40843f7e8a8f3f73a501bbd359973a7a151f3919fa90b96cb17abb47bf62bcb7cb973c9acc25b97a51d7bc6042c4bc105be13cf41a183dd9b6ea3833a80e3bd359ddbbbd975d3b0ce908b979175cba93f6163a0789e8b9da71d8bb6d8d7f3c18c430bc127a3c3b7c08a03dc77e13bdfa43ffbcfd9721bc6e16e13de33c483ea9fb52bed26844be0f4440bcdf0e8bbbc41c243de9918ebc60ac2b3b3ffe523b9f2ef8bb0f3d1e3ac481b8bc2eade73c9398cdbc0f6b083d97d3e03d6e524abe5a93403e699f44beaab88d3fcb81853fcb81853faab88d3fa0dbc0bb86b5bc3bf1dc17bb2ecee33a6fdb27b961bef2bcf8f6073d3108efbabc06f3bc2b6099bc162da43c8bca2a3d67a87c3bbe9ff83b2ae735bcb9db24bb793e06396b822cbbd3eb1c3b3c6de9b7092e72bc5f04983c154381bc40df793cfca6083ecc6372bdb23bd9bc36114fbd6566393d1a80843e3e8a66beaf562fbe5ee5793cb64a75bd9ead893da0733bbccf12c0bb9b97673c0f8a57bc3424f33a53271bbcd1afb53c0d24d9bca5dfd83c2bbe443d7bc13abe5cb0653eaf4c39be7760933f48b07f3f48b07f3f7760933f4c4922bc98d32e3cae23b1bbe049743b3b29053b0cf8f6bc4db3fb3c3d744b39d64ac8bc3476f1bc1c59003deae40d3d90c7b739a0e68e3c241ea3bc6b6fe6ba85ff263b9044a7bb5e04853b87f7ccb9b831d2bc3b5edf3c30eacabc24d2f03ce1f6383eeacfddbddc4acc3b3939b0bd85b54bbc896ca93edeb886bea36516be60872d3dac7dc5bdeaf7a63da84953bc40d746bc9c7e783c67fb07bcae58b33a2dcde73bf129283b573e74bcffba6e3cf1f16c38bc4311bee3a8683e2e9731bec6f0973ffc6e763ffc6e763fc6f0973f2bcf1abb8dad523bae0c19bab76800bbdbc942bce4fe6ebc1fc8d43c0fba003b8ef508bdf5ae28bdfacf2a3d2b80473d84c2a23bb160de3be7618ebc80e0873bb619c8bacb305bbab89d523bbcc200bb6189a0bc65cfa63c783025bcb107373c21ede03da69856bd885824bdd22d89bcf4b3d13dd588783e31836dbef79b52be651725bc11adfabc28138b3da5c0a0bcb97263bac42c263c647d92bc5fced63bc8deefbc55042e3d5d2731bde3f53b3d7af3dc3d714362be58e3713ea8405dbed753903ff8b5823ff8b5823fd753903f613583bcf50e9e3cc0f0fcbb8c31483b4bcb413bf3ec36bd90c1393d73c2f4b9b655ffbcd2270ebdecb3073db4d83b3d1196b63b7c3ae73c9fdc06bd697b73bb09d5ab3a31f517bcbe501b3ce7b8c4ba0a95e7bc023db53c3f2abfbce9b50e3d55843b3e152ab7bd78cb84bc848da8bd955aaabb2ae0ac3eba3386bee21c26be972d203d9f7901becf9ee23dca3114bc37208ebc63410e3d33c5e8bc4d5eb93bfc07ddb80a68cf3c8e1d18bd6438d43ceda6c33b6daa38be26138c3e560245be6224993fc504743fc504743f6224993f210507bd2cd1143d02315fbc0c860b3cb15eb93c2eeb48bd1d00963cb20e7d3cd6fd2ebcccc59dbde17ea83d9b0f6b3c6dc9a7bc82d6a03d963d79bd07ac6bbbf2950d3c200996bc87c20f3c328a723b4c9180bcbcfe893c05a13abd7e78623d95ff783e728c3cbee3dfc63d32182ebe4a0e03befbaf013fc082b4be6444f5bd6009c13d952d46be3699cd3d52edc13c802360bc27254c3c1615ec3b1d275dbc7a32d23ca8c7b5bcf72f963c2bd369bc0812dabdcbe332bd12dc523e012417be2006a43f00165f3f00165f3f2006a43fe1886e3ac1bee9b9cbad0eb9ea2be1b974ee3439ee6a91bb44187f3b470a2c3a23d5153bf157b33b3815a1b9ca64573beb0c71bb41c612ba146ab23ae6366b3b4b891e38d9c2fab98e23353abbd3d3b9828efeb98db4853b47888dbbd96d853a58a2073dde4755bc4a3c3bbc13dbc2bb27bda33dcbd6a33dce9d02beb5a603beadf34fbcd6ee063d2a87c5bbaca53cbceef4613bac89cd39217d5b3a6b6182bbd4cc333b6e9b30b803a1a33bfa5f443b6920a23d748e01be95d6a33dd2b503bef09d8a3f91518a3f91518a3ff09d8a3ff33cc93a2e6903ba2ef6ee39ba16d6ba06f0de39852174bb22fc253b31672a3a6489943998d9c73b8bbb8aba9c1ec13be5cf85bb8fa3aebaf060743b98ce233b41c6053a80c1afba73b4123aadcddfb6411f9eba8a2f623bfdfc80bb71d0003bd962123d007685bc0fa954bc71af7ebbdb3fa53d9cfbae3d58d705be64dd06be7aad38bcaa000d3ddcab07bca78442bc6d58323b5f314abaf8ea1c3b3bf863bbe27e033a3bf93a397bc6b83bca8c973b58baa53df82e04be4625b03d8bff08be96bf8a3fc11f8a3fc11f8a3f96bf8a3f0c3e753b9a235dbad576e8b9968e37bbedfee9ba6059c13b14c8b6bb9e2b0f3a63d79cbb91be953b56e7bb3b67c6fa3b740d3dbade54e0bb7242a73b2b12233bc1a405b604c63cb9a75896b97cac8239c4acf6bbf55fb6ba624e1f3c27de73ba95f4353d98a301bdf75f5abc04f2cd3a09a8b83df534d33d366a14be625713befd765cbc9870123d44ac7dbb24e272bc770ffd3a8be790bb1c4a9b3b5c410bbb05351c3a7efcdc3b5a7ababb3dca323c108fb53d97c20cbec000cd3d7f3215be99f58a3fd6a7893fd6a7893f99f58a3f0a3917bacffbb2b9e9db0a3a6d7da2b8caae35bb8d563bbc0284613c844c4d3aa3505dbcdeaedbbb851d443cbf2bac3c138263bb26704dbbf385d9398215c93bbdd0e13890e3bdb9f97322b980b08bb9266f5ebb2f5b5e3c042038bc7c6cd33adc9a763d8bcec1bc04a2babc058c37bcc2f1cf3d27470b3e10ba2bbec77a28be707179bc4333d13c42e21c3c775271bc1bf4ab3ba9991fbbe047a63a0c1e84bb5c9d4abcc1dd493ce0a6fabb4282a53cf923cd3d12ae2abef7f30a3e3b6227be38da8b3fa124883fa124883f38da8b3f40023cb98f092038e1bb2a3a71997bba2ef389bb4fcc77bcd93a843cfbcc833b874981bc1c0d76bbc5b91a3c12b0bd3c4c04b0ba802390bb4817f93ac4094a3b21dcc8382fbb71b99ea22ab9cf9e79b9243cffbb5c197f3cd3536abcef7bfe3bc5f5b83d498c0fbdb3aab5bc3b5706bd1d34943d19762a3e20aa34be1f4d21be0336a9bbb20b183ba529ae3c396d31bc75b1093bef4f20ba8e6013b92fcf15bb0eb932bc3c0f3b3c67500abc87bca83c3537973dbbc62bbe55b0243e57d424befc8b8e3f8f71853f8f71853ffc8b8e3fc07eeb3b001b0bbbf84389bbc87417bb694595bc3cf6343bf3e8693c868d6d3b4a1e0bbca574ccbcbc2ba53c51f8db3cd0d6e0bae8b07c3bf6b285bbd7d168ba1d56053a63de71bafb5077b7ded72c3a1873e2bcd4177a3c8cd88a3b458d403cbbf60a3ed31c85bd430520bdc47113bd17bb1f3d7585613edba540be7e5d28be94a8dc3b45eff1bc5e9a133ddd9746bbf68a2cbbd2ebdf3be52767bba8865abb1089ffb94a85a13ce189fabcfedec23c27e9313d56c32dbe9238553eaedf31be9462923fad4e813fad4e813f9462923fad4afbbaa52c0f3a44fff739e148dcb87fb3acbb103251bc9715933c6524823a0065c8bcf5ecc8bcea60e23c2005123d2c3161397eb62e3b5aa3f0bbeeed573b2606a6b913d251bac5a6483aa034edb93810d7bb01988c3c02da45bc8d772e3b645aa83dc02011bdf34d0cbd4b6d3fbcec08da3d08414a3ea98950beba4945beb38b49bc139404bc0b1e2a3db08e68bcae20283b0bd3763bbe62fcbb41445b39c054bfbc0ec6e63c8db9d0bc46360e3de42eda3dc3904ebe72a8483ec27d45be902a8e3fb014853fb014853f902a8e3f2fdb8ebbbf46763b015fca3896470eba37da15bc0e61d9bc5b88eb3cf0c11d3c5ee596bc937dc8bc518eb93c1e64093d78dd593a77a9603c4a2260bcdb8d77bbc459093a85ad96bb9b456b3b1abb0f3a6a9c75bc3bf7ae3ccc649fbcb1f9853cc538163ed36b55bd331621bdfb0870bd7ff5063da29a863ee33f58bef46c35bed6c0523c7f9d95bd38958d3d02c1463b0a949fbb6da6883c089272bc04d60ab9e97d34bc0662c63c2507e9bc5ff7e73caf020f3dcf2248be2717803eee043abee50e953f256f7c3f256f7c3fe50e953fcfdf38bb9fe5b23b5c3a51bbb96eb8bac498d7bcfb308abcf8aaee3c1ff89b3cdfdc8b3bebdd3dbdda0be33cee60da3c81691dbc52a0053d592faabca73bfbbb3bee653bb15340bc77c5dc3bc2aa543b6e5912bd3a66da3c621f79bcab8bf93cd0c1583ec5e4bcbdddde3abd8eaea7bd70da15bdd51dab3ef52d5bbebc1433be1f5c203d89dff5bd1a509b3d026aa73c923c13bc5e3fdc3c278e6cbc5a8401bc6f7f4d3c895b7d3cb7b413bd4d65973ce28ee6bc0ade2bbe59dc943ef97c3cbe8db79b3f1fd66e3f1fd66e3f8db79b3f8862b8bab507143ba6011f3ad0fe56bb4b0284bce72e6bbc2e0ecf3cb6b8e33b8f6600bdb58b30bdbe702b3d1a75463d2a09bf3bd102203c9d3f9cbc40f4d43aaf66f3ba9ba2abba7f8f833ba7b2f6ba6075a0bccb58c13c258855bc4ccb323ce6a4f13d815351bdaadc38bde184b0bc3234c93d3e8d7e3e07ca6abe926157bedeaa3abc6e721abdc39f923df25e6cbc72d919ba4452313cb5729abcfea8d63b7639f2bc4e092d3d32d932bd2e07403d9905cd3dc83167beab8a7c3e48115bbe621d913f37f3813f37f3813f621d913f4e6066bc90534c3c09ad163bb93a42bbfd5d65bc76bc1dbdd2ec153d09b8a73c6f4079bc5e7431bd82fd123dea77143d6bd44c3ac359213dab3c12bd879d10bc4359053baf146ebc5b4b483cea59403ad9b1dcbcfa92d83c1f58fcbc20bd163d2f5e4f3e3cef9cbd72921dbd3c73bdbd2264b7bcd7afb03edd6b75bef16c34be1db3133d71ed1abe5bddee3d8885683c2ada7fbc37cb313d470a0bbd5f50593abb63c7baab71fe3c449335bd95e6ec3ccbc383bc701451be7d09a23ede7842be4bc09b3fb8ee6e3fb8ee6e3f4bc09b3f215c9ebc2988a13cbc260bbadc3b20bb3bc7a0bca188bbbc9779883c3f05073dbf66a23c2593b8bd88db703dadbec13cf142eebcc381c53d1ec458bdf448c7bcbbfe4b3c442c13bd955e853c74293a3cb3b801bd28cafa3cdd7a30bd0b465a3df100883ec3eb12bea40a1e3bff9a09beb40100be1c82ec3e9ff984bef5f42fbef6d2aa3d218566be0492e03d66b5673d104394bc4cd63c3d48c086bc17319cbcdfdfdf3cb9989bb95e66b2bc7041803be1e0dfbd077602be93cea53ea72f38bec397a53fcb755b3fcb755b3fc397a53f988a6e3a805b0eb9abbee9b9de85e1b9e5adffb9e50c8dbb934f853ba729853a03dd333ba1efa23b6489b8b74372443b755e82bb1ef3ca399fd25c3a25f2613b6cc9d3b9da8cf9b96b80343a25c01e38af88323981817e3bfb0691bb8b742b3afda8073d893e3bbc805d55bcd9f1c2bbaf21a23dcbc9a33d778801bef7b503be32b43cbcbbee063db145c5bb8bff4fbcc3316b3b861814ba191db33ab50571bb32e2153b63cb94b9908eb23bff73573b65bea33dee9602be69c8a33df0a603be159e8a3f70518a3f70518a3f159e8a3fbf4fc93a878dee397d9b03ba9c04d6bad0ed9cba1e7e81bb0107623bf169013be3b7043ac9a4b83b042237391ab7973b453964bb811749bafa181d3b0b16323bf922c4b639f4afbadba4123a3bfa053a5f12e439b6c3253b303075bbfb0f2d3a3379123d4c0555bc64a085bc923e7dbb01b8a53da228b03d0c2e04beeb0009bed3cc42bcd5160d3df97c07bc4ef638bc7975233b2deeadba69a7743b68fd85bbf43296399f088bba58cac73bd037c13b4b3da53d97d605beb9ffae3decde06beb8be8a3f93208a3f93208a3fb8be8a3fea75763be4aef2b9687461ba5f7036bbe5aff9bb8cfe213ca9b6b6ba07e385ba9730253a1c82bcbb312add3bf863333c3cc30abbd7d891bb74a19b3b530dfe3a84ec8239466b3cb938d896b9eae9c9b50a5bf7badb7eb7bb1cecc73bd8aee939a585363d77ee5cbc401c02bd4a71e03a5fb7b53d6dc6cc3df1c60cbe072015beb94f74bc72eb123d928d7abb78e95dbc165d233b735de0bb99e3a63b4b193cba20239cbb37dbbb3b17f2943bf384fb3badc9b83db46d14be2304d33deb4713be3bf08a3fbfac893fbfac893f3bf08a3fc13917ba03de0a3ad9fcb2b9cf82a2b8056f5ebbf21f38bc165b5e3c616cd33a4d9d4abc1ca8fabb40de493c4b82a53c001e84bb5d9a1fbbdd48a63a28f4ab3b7eb18bb9eedabdb9b48122b9b8cce138a2ae35bbd583613c69563bbc594c4d3add9a763d0fa2babc84cec1bc0d8c37bcf723cd3df1f30a3e0cae2abe3b6227be925271bc8133d13c08e21c3c8b7179bc9115c93b6f704dbb5086d939f68163bb93505dbcd31d443cbaafdbbbc82bac3cc0f1cf3d0fba2bbe26470b3ec77a28be38da8b3fa124883fa124883f38da8b3f890a3cb988bd2a3a34282038009b7bbab33bffbb67546abc8f197f3c6c7cfe3bf5b832bceb500abc7a0f3b3c9dbca83ca0cf15bb834c20bad95913b996b0093b5aa379b9b9ba71b9899d2ab94ddac838d8f289bbe53a843ca6cc77bc4ecd833bd7f5b83d38abb5bc618c0fbd045706bd3537973d5bb0243ec0c62bbe58d424bec76d31bc5b10183bb129ae3c7337a9bb91094a3bd82290bb0d15f93a5804b0ba6b4981bca2b91a3c490e76bb2fb0bd3c2434943d2caa34be22762a3e204d21befa8b8e3f9171853f9171853ffa8b8e3f1d7feb3b124489bbb21a0bbbda7417bb5474e2bc6ce48a3b9e167a3c528a403c4a6dffb91b8bfabca485a13c7fdfc23cf9855abb67eadf3ba42667bbe5892cbb08d82c3ad2de71ba4d6077b76c56053aa44695bcfbe6693c540e353b16846d3bebf60a3e070620bd221d85bd137113bdc2e9313d5138553e5dc32dbe80df31be3fa246bb96edf1bca59a133d03a4dc3bedca68bad6b07c3baeb385bba6d6e0ba841d0bbccb2ba53c4175ccbc94f8db3c93bb1f3defa540be4c85613e555d28be8b62923fb64e813fb64e813f8b62923f8051fbbaea02f839b22e0f3aebfadbb8e60fd7bbdad845bc6d978c3cf9762e3b9554bfbc51b9d0bc02c6e63c16360e3d87185b396ccf763b8760fcbbd522283b3539edb906d751babbaa483a4b00a6b947b1acbb4e15933cd13151bce21e823a565aa83d914d0cbdfb2011bd8e6d3fbce22eda3d46a8483e9f904ebeb97d45be298e68bcaa9304bcfb1d2a3d6b8c49bc58f1573b3cbf2e3b44a8f0bb360a6139d664c8bc7761e23c71edc8bc0105123d0509da3db58950be07414a3eba4945be902a8e3fb114853fb114853f902a8e3f70da8ebbed4bca38ce45763b5f470ebaa19c75bc76649fbc0df7ae3ca5f9853c0a7e34bc6a07e9bc6762c63c50f7e73c3de20ab960a6883cee9172bcb0939fbb5bb80f3a0aad96bb15456b3bd65a093a57da15bc2a88eb3cae60d9bcb1c11d3cbb38163e351621bdda6b55bdca0870bdc2020f3d2717803ecb2248bef8043abe05c2463b859d95bd30958d3d0ec1523c478c77bb52a9603c652260bc4adb593a5fe596bc7a8eb93c9f7dc8bc1164093d95f5063dec3f58bea59a863ef66c35bee50e953f256f7c3f256f7c3fe50e953fd4df38bb5d3a51bba0e5b23bb06eb8ba6e5912bd661f79bc3c66da3cab8bf93c6c7f4d3cb8b413bd8c5b7d3c4e65973c588401bc5e3fdc3c278e6cbc953c13bcc1aa543bb15340bc76c5dc3b3bee653bc498d7bcf7aaee3cfa308abc1ff89b3ccfc1583edfde3abdc4e4bcbd8eaea7bde38ee6bc59dc943e0ade2bbef87c3cbe026aa73c89dff5bd1a509b3d1f5c203dac3bfbbb54a0053d5c2faabc7f691dbcd9dc8b3bd90be33cebdd3dbdef60da3c70da15bdf62d5bbed61dab3ebc1433be8db79b3f1fd66e3f1fd66e3f8db79b3fbc63b8ba67fb1e3ab309143bcbfe56bb5075a0bcc78755bc9258c13c46cb323c6e39f2bc17d932bd34092d3d2907403df5a8d63b5552313cb9729abcf4d919ba4ab2f6ba539fabbab98e833b6967f3ba3b0284bc860ecf3c962f6bbc7cb8e33be2a4f13db5dc38bd6c5351bde884b0bc9805cd3da78a7c3ec53167be48115bbede5e6cbc5f721abdba9f923de2aa3abc29f4d43a8102203c7c3f9cbc5709bf3b8b6600bdad702b3dad8b30bd2175463d3634c93dfcc96abe338d7e3e946157be621d913f37f3813f37f3813f621d913f336066bcf6ad163b55534c3c2a3b42bbe5b1dcbc1258fcbcee92d83c26bd163df065c7ba309335bd7e71fe3cb6e6ec3c0750593a22cb313d2f0a0bbd2fda7fbc225a403ab9146ebc684b483c1559053b295e65bcc3ec153d5ebc1dbd00b8a73c2c5e4f3e51921dbd49ef9cbd3b73bdbdf0c383bc7f09a23e731451beda7842bea985683c76ed1abe69ddee3d0fb3133d619d10bcc459213db03c12bdb4d34c3a874079bc77fd123d5f7431bdfa77143d2464b7bce16b75bed7afb03eee6c34be4bc09b3fb8ee6e3fb8ee6e3f4bc09b3fbf5b9ebc681c0bbad287a13cb93e20bb8eb801bdd67a30bdfdc9fa3cfa455a3de5dfdf3c2f66b2bcefa29bb93b41803b40319cbc4fd63c3d21c086bc264394bc1c293a3c4f2c13bdb75e853cf4fe4b3c84c7a0bc3479883c5788bbbc7505073ded00883e47091e3bbceb12befa9a09bee9e0dfbd90cea53e017602bea42f38be8fb5673d1b8566beef91e03dedd2aa3dad48c7bcbc81c53d2ac458bdec42eebcfc66a23cb1db703d2c93b8bd23bec13cad0100be9af984be1882ec3efdf42fbec397a53fcb755b3fcb755b3fc397a53f19a37a3abccbb9b893a808b91bfa4cba9eb042b74dcd98bbf3b1773b4888a03a2dc92d3bc34e9a3b84cb523aba451b3bb60597bb43e9d136782bd03a71d7743b3b8bba3909d702ba4d148e393a4baeb96a98ad3a3ed59c3bd4d0b6bb036b83b94092033d800337bcddfd66bcdd4e84bb9cffa43d42a2a73d58d902be527405be194448bcb410053d4b07cebb350b38bc278c963bec9c2339e4a3543af240a0bb763c013b4cee263a755bac3b135f3b3b56a1a23d80ab02bef168a43d9f7203be3b9d8a3f314d8a3f314d8a3f3b9d8a3f39ef833a13647f3a65ce20ba80cec9ba4c2859ba53f54ebbde75603bcb88993abf20d339b926283bdcd2123b4307b63b797a9bbbda3f53ba1141193bf316843b55834cb94f7b44ba29fc053a10ed4a395247c33aa763463bd05896bbc68fc5b860ba123d196b1abc7e919bbcb7a399bba0a4a53d4e08b03d20fd03bec5a308be7d134abc47c90d3d3026e2bb48bb4abcc851953b0cb519bbcb6b433b135c92bb3db89dbacfbaf1ba30b9f33ba257e03b03b3a63dd79908bebe13b13dcd2906be7eb28a3f9e228a3f9e228a3f7eb28a3f4c87113b36e53d3af3c1dfbadac3b3ba22b6edbbc8d1df39e730b83bc57e1f3b2cc7113b851d9cbbde3ed03b4426f23b45096fbbf15b74bb5753203b4f9aa03b68db1b392ec4cdb8d3955eb98f71a5b8b469823bd47936ba1df08dbb3b0c86b997d94a3df66b72bb63061abd2afcd7bbfedfb43d357ec43d45ff06bebe3216be639182bcd5a9133d87fbe0ba2a8367bc0b684e3b76b4bfbb299fa03b7d31fabab3616ebb55b6f53aeab40e3c0484c43bcc5cb13d653d1dbe3b63e43d8da610be95fd8a3fe6a0893fe6a0893f95fd8a3f3fcb50baa2dc043af037b5b81bdc91b7087f51bb81022abc4a794a3c8ac0e23a490747bc23ed06bc9f7a5d3c12ce9d3c5e828bbb3d0c41bbb22f6c397e7ce23b0619ba38193943ba53191c3a168a14baa6bfd3bac6a3573c4d173bbcc4746038d8a46c3d5446a2bc5683d2bcb52e1ebc24afd03d170f083ec7ec28bef88927bef4f685bcb9e6dd3c54b6243ce40f80bc8f63d53bdb0058bb83a813b9ee3b4fbb1d0d77bcc5cc513c726fd9bb2d3cb43c1039d33d15e52ebeb57f0b3e0ea627bebe938b3f226a883f226a883fbe938b3faaa645baf8aa9e34ef5e853a70c80cbad2a41fbc92844fbc4072783c27cc103c16b91fbca9332fbc53e6553c51aa9f3cf952a7bab70e40ba99a08cbad1dc0e3b7cc88ab92e66b639a50e30b9f014ebb9f644b53a9099973cf65690bc8b0c08bba6f2aa3d2df261bcd31528bd7485e4bcfd7fa73de9c4193e2a9025bed35927be49c593bccdde013c7362b23cbedc8abb53ec6d3b13cee4bbf86bff3a68df613aacedb2bcef39f23bb6db793a1f70da3c3eb5a13da84a3dbe5184283e30191ebef2bf8d3fac34863fac34863ff2bf8d3f242d86391de636ba2996ef3a1c35ecba2236a7bcdebf3ebc494d983c648d8a3caba0d0bb023c96bc2c5f803c210da83ca1e6c53a0670293b77c983bbb18436bba0d802ba84dc5e3aa759cdb9c9dbf33820d01f3bed58843c490077bc72ed4cbbb61be43db8141cbad4ff8dbd630733bdfa658c3d5b642e3ee06126be667f2bbebd02b8bc85141ebc6b891a3d3d06953bcfd0263b17b2fcbb7ed6e23901cf513b826ebfbce026493c684424bb4b8ddd3c54d4603d2c0a55be45ab4d3ed7c112be808a8f3faa40843faa40843f808a8f3fb5a001bb662a1f390953973a3d0d91b9ec73d8bbb8c530bc588f7f3cc57c3c3b7e81b8bcce98cdbc31ade73c086b083d6a3e1e3ab202533b1a31f8bb60ac2b3b8a84e8b941155cbad6f8163a3d0409b9aab97abb30cc973c8ebf62bc567f25b98708a03daf44ffbc8f7e13bdba9721bc93d3e03d7693403e82524abe6e9f44beeb918ebc2c0f8bbbc01c243dc84340bc56965d3bffa00e3bf655ddbb1dd3ea38f950d7bc3c5ae13cbc41c4bcd21a183d6916e13d8dfb52bed53c483edf6844beabb88d3fca81853fca81853fabb88d3f00dcc0bb79dd17bb49b5bc3be1d1e33a7e2d72bc574381bc5204983c57df793c83271bbc9823d9bca2afb53c6fdfd83cd72cf33aa296673cef8a57bcfb10c0bb2854eab7a8812cbb6aed1c3b26330639e2f127b9ecf6073ddcbef2bccdfbeeba0aa7083e973bd9bc886372bdc4114fbd15be443d5cb0653e86c13abe9d4c39bead733bbcce4a75bdb2ad893d2ae5793c63de24bbeea0f83b38e635bc90a47c3ba206f3bcff2ca43c1c6099bc7fca2a3d2d66393d378a66be1e80843eb2562fbe7860933f46b07f3f46b07f3f7860933f4c4922bcae23b1bb98d32e3ce049743bb831d2bc30eacabc3b5edf3c24d2f03c2dcde73b573e74bcf129283bffba6e3cae58b33a9c7e783c67fb07bc40d746bc87f7ccb99044a7bb5e04853b85ff263b3b29053b4db3fb3c0cf8f6bc3d744b39e1f6383edc4acc3beacfddbd3939b0bdf1f16c38e3a8683ebc4311be2e9731bea84953bcac7dc5bdeaf7a63d60872d3d6b6fe6baa0e68e3c241ea3bc90c7b739d64ac8bc1c59003d3476f1bceae40d3d85b54bbcdeb886be896ca93ea36516bec6f0973ffc6e763ffc6e763fc6f0973f81ce1abbce0519ba57ab523bbc6800bb7289a0bcda3025bca2cfa63cb607373ccfdeefbc792731bd70042e3de8f53b3d6cced63bbd2c263c667d92bc477263baedc200bb96375bba509f523bf418c8baffc942bcbcc7d43c1ffe6ebc93ba003b27ede03d7c5824bdbe9856bdc92d89bc7bf3dc3d5de3713e764362bea9405dbeb1c0a0bc32adfabc33138b3d621725bc83e0873b5161de3b07628ebc54c2a23b93f508bd0dd02a3dfdae28bd2280473defb3d13d3d836dbee288783ef59b52bed753903ff8b5823ff8b5823fd753903f623583bc3ef1fcbb190f9e3c7f31483b1595e7bc412abfbc0a3db53cebb50e3d30f6dcb8941d18bd0668cf3c6a38d43c8f5eb93b65410e3d39c5e8bc4b208ebc11b9c4ba10f517bc93501b3cafd5ab3a1bcb413ba6c1393d11ed36bdb2b8f4b955843b3ec5cb84bc062ab7bd7e8da8bd76a7c33b27138c3e6faa38be5c0245befd3114bc9b7901bec99ee23da32d203d907c73bb493ae73c80dc06bd6296b63bbd55ffbcebb3073dcd270ebdb6d83b3de25aaabbb93386be2ae0ac3ee41c26be6124993fc504743fc504743f6124993f4f0507bd9e315fbc5ed1143d82860b3c7b9180bceaa03abdaefe893c7578623dad32d23c2230963cf2c7b5bc2ed369bc83265dbc38254c3cc313ec3b312360bc488b723b3e0996bc98c20f3cf0950d3c0d5fb93cbf00963c72eb48bdaf0d7d3c9cff783ef4dfc63d7d8c3cbe33182ebe0712dabd0cdc523eb4e332bdff2317be39edc13c932d46be2f99cd3d6709c13dd0b06bbb83d6a03d4b3d79bdbec9a7bcc9fd2ebcd37ea83dd5c59dbdb5106b3c510e03bec182b4befdaf013f6944f5bd2106a43fff155f3fff155f3f2106a43fc48f163a67b3ae38a91872b909f811bacf5942ba278665bb675e923b678ba239721e2f3b5ce8593bff0d1d3aec167f3ba3d49fbbd93b24381954c53a81a6843b6576e23920a76fb9a7eaa1b8c09ca5b9a15ba93a5dda903bdc36a9bbe88db6b9ad56083d7c103fbc624162bca2aba2bb5527a43d3203a73de8b302be60d604beac0e38bc01ca043d13e4babb2f974ebc4f368e3b0df6a43882a9453a9de894bbb308fa3a50611cb752c9c03b87993d3b92a4a23d5f8003be2294a43d90cf02be858d8a3ff85c8a3ff85c8a3f858d8a3f63247d39f9fd863ad94b13bab5bb3bba14b612bb7ac292bbf158ae3b0728033b28f2d139ffe1bf3a2787353b361ac53b78cf91bbd44bd0ba0f0d3a3b2d7e833b1c9593b8331169baf190aa393c64d139853e463b973da03bda14d7bb1552baba54711d3db8bfd9bb5520b0bcbb95f1bb435cac3d2831ae3de91805be137809bec34b47bcce890f3d5b09c3bb288962bca9038b3bdccc6bba2ebfd03af51e8ebbcbc502bb00f5dcba0a9cfc3bcb45eb3b7ec6a53d139d09be4957b23d9ed505be9e8e8a3fca3d8a3fca3d8a3f9e8e8a3f45ff883a9a76b739c9e707ba1ad46bbadbd4cebba06390bb5ef60e3c5d216e3b5eb649bb1bf8b5bb2415153c559e293ccd1f34bbc07789bb5ad61e3b4afb883b1ab0ad385e871d382df362b821a995b9d4c7ee3b8fb2f43b0ce432bcfa19a1bb41e54e3dafcc573bf19418bdbf6a6fbc7d0db33da764c43d359207bedc3014be0e9988bc4ad50a3d5a0b61b9429549bc54c5203b99558bbb3971483b09799fb981671bbc5d858dbb0092693cab483d3c963ca53d43ca20beaf89df3dbe5805be4c2e8b3fbe66893fbe66893f4c2e8b3ffb637cb9b42b1c3a9491b9b976e5b9b9108da4bb10d111bc273c403cb91a323bc55e34bc205e18bc3828683c5267963c7e2c89bb15ac17bb0d0d4ab81eb3d73bef6f8539dbec0cba78f6f638640400bab8b1c6bad9094f3cf27b29bc798547ba0e72673d98909abcadf3d6bcba390dbcdf53d43d09c8043eb02628be2b7126bee3af91bc26fbef3c48d7173cf10783bc4619de3b168f8bbbd87c4f3a64e358bbaef477bc68ca5d3ca6dfe0bb93fbb03cdb6fd83d31f42fbe8ebe093eff6f27bedc4d8b3fc6ab883fc6ab883fdc4d8b3f02789dba46c3b0b90d46a73affe21439e3321abc41832cbc06ef633c608ff63b221f21bcd0643fbc67aa633c0b489e3cd130a1b9fd8d66baf014b1bad5d4e23acdeb03ba31ec3a3a9e0013baf6d35fb9f6f29e3b06779f3c787997bc09b0c7bb743b9b3ded2e19bc22ed2cbd5090bbbc3852b43d1dd70f3e4f7022bee90c26be6741b1bc49ac6a3ca24bad3cfad0e2bb9cb36b3b58c110bca5b03c3b85210e3b8455d0bc22a0d23ba8ab1c3b70e9f33cabcdb03d7a5541be7f4d243e83961dbedbf48c3fa8f3863fa8f3863fdbf48c3f7a9c90bbe356c8bac6c9983b6a20ae3a31cd66bc0dad85bc73638c3cafa4863c160f1ebc7ee147bcaff2673cbab7983c0fa2a33b49ec013ab93f8cbb0ee981bba4d940bae2e3d13a1a172dba0a4194b9bf39943cc98bca3cec67fdbc4c3d4bbc9657bb3d88d5443cbef96dbd83b73bbd0e33ab3d156b113e633a21be762c23be7e0204bd0dede63bc5b7103d1928ecb986077b39cf7280bc0cd5bd3b9cda1d3c57ae13bd2f4f24bac9918b3c708c033df2fc933df8dd58bee33e353e9f7609bebd6c8d3f4e78863f4e78863fbd6c8d3f72cfecba5413e3b9f63bc03a20f107b9b7dbccbb33390dbc187c5b3cc4b51f3b0228b5bcd642cbbcc10ee83c898e043dc218e838e1fb3c3b078de4bb1233443b65b8f5b846ad38ba370ee53927e6d3b9563041bb32c09a3c42f45abcb9790ebbd8de913df1dbebbcdcdd11bda7e0afbb0927ea3d6954373e0cd246be880643be9218a0bcdddf043b6015163d953654bc2c1d9c3ba8821d3a9f11c3bb9225d0b9e592dfbc6bebdd3cda23babc0e7a193df2b5ef3df8db53be72f3413eed9b44be87f48c3ffc40863ffc40863f87f48c3fb3c7cdbb07d881bbbbade43bb95d413bd22d49bcae2545bc8d9e7c3c39593d3cb41d2cbc70c8c2bc1d4fae3c997acf3c6d60643ba9242b3c64883cbc4ed9a2bb53a785b89e9255ba4aaf883adccd1dbaa34cfd3bc19a103dbda700bdab0f37bc09f5e53d9f4a96bcb1196abd7afc1dbde23b863d1da6493ed22332bef7c936bec9bfbbbc4bd927bd4aa27e3d9a1d3d3c5af7f4ba27be403a17dbf2bb4fc3ee3bc77b23bdfe698a3cadc44bbcf80d483d0ff6863d45136fbe797d7a3e7b4a2dbe3a35913fcffa813fcffa813f3a35913f34b39abcafe11ebc719b8c3cf0ae423c600116bc3a18b9bc6fd3943ced5d9d3c277f05bb4e4dc3bb53db7e3abb16833c0b56333c04fd303c67940fbc9df48abc68db81bbe10e52ba81ea043b4f74543b5cae1b3df97b3a3d55ca6bbd781bd0bcaeb3093eac79e83c2daeb9bdd80ea1bdcf4b043df3a7323e098b07bec5a026bec9093abd4c2c8cbd127caa3def32363de19c2b3b83af5dbbecf01fbcf4f9153c8cd865bda73a813c7b4fc43b6259393dac40993c70c092beac85973eeec0f5bd0697933fd9867f3fd9867f3f0697933fefcfedba6f0b11bb9d6c823b3309caba320296bcf3a4f9bba5db943c68ad193c2415f1bc18372bbd5e002e3d835a363dc346e43ba561043c4b0d8abcfb7298b6865f25bbe14cf2b77aa5213b5ebd89baf2d811bc8929d03c06c559bc2bb109bb6b8fc83d75f40abd26935abd7d5b1dbca7c8ee3d9af4613e5ab95cbeeb855bbeab28c2bc24eaa0bcfbcc7f3d2c5b48bca91ed93b8eeb843b677a85bca2cd903ba44f10bdb55f2c3d011b23bd6097473d8dbee43db56f6ebeb9d86e3ed82a51beb6248f3fcddc833fcddc833fb6248f3f274d94bc5b334bbca6e4ad3cfe3e0c3c2c29cbbc3d8893bc94aca73c2387dc3c20e979bb1fd905bdd175c13c162edd3cc4bb313c046bdc3cd9acd6bc4d0a84bcca4a3cbb7ce172bb914ec93b9fe995b9a0e0733c57df383d750838bd9dbe56bca7531e3e956066ba8a4db5bdd0098ebd44fa093dc91f703eb0542ebef81843bea287e2bcd5aac6bd9563d23ddc650b3d96f2e5b96124623c2a4dcfbce4712f3c590835bd0911f63c8820c9bcbf8e523d8957a13c5e678dbed497a23e7b631bbeafd7953f3c837a3f3c837a3fafd7953fc7b827bd024605bdc99f403df23fde3c1525bfbae156b2bc05c8cfba4efb0e3d7233d63ca8208c3c686f8fbc93f490bc5ce999bbd8c98b3c76f15abb1b5c8ebcbd835ebb85e138bc3d53153c5133e43b3b0d863df03b733d877ebabd28d2e5bc93854b3efe00cd3da90c18be4d0b2bbe90fbb7bde6de203e86f11abdbdeaf9bd6cb4cdbcffc42dbe12a7f03d4dc4cd3d85be4c3cd8082b3d21ea4bbde054b2bb68e74fbd031a6d3d216ed4bcd018c03c2805dabd6ae9cabeafbef23ea1217cbd49819f3fc6b0683fc6b0683f49819f3fb42dd0394afd103acda643ba3d27b2b9938849b902d98cbb3513963baebcf1394729383b100b4f3bf975a83a42ee513b8685b0bb3f8786395bcbe73affc1843b15af2b383cfc34baf9809c395de811392a12db3a74a6773bd64ba0bb899d6fb9c31b093de11427bcf1f66ebc6d18bfbb3ccfa33d235ca83debab03bee24804be4f922bbc2da5013d4632abbbe50757bc0df0a03b20f0523a0d30ecb937b997bb476fb33a409c933711cfb83b452c733b7517a23df80503be11c5a63dbd3104be7da38a3fc6438a3fc6438a3f7da38a3f43d555b70a7ddc390c0b01bae1285238a55e23bbcd739bbb964bc83b4e4cf73a994983ba7e5d913af416443b5effef3b3bab95bb2ae44abb7248733bdc009b3b95a606baf69b69b9732f44396868c339df4e933b6dadbe3be43befbba8ed3fbbe6fd1b3dfdb196bb0d4bbdbc90dbf3bb8191ab3de487af3d1c2e04beee560abec25a35bc79a60d3d4c61bdbb44616ebc5540dd3b9089583968482eba0c9ebabb2c78cbbacb1181b92aa4c93bd0aed13b0130a53d3aad0abe3591b33d302005be258c8a3ffb3f8a3ffb3f8a3f258c8a3fdbe1c0b944e8363883ee9ab6fcaabd39403dcbbb87aab2bbaced073c70369e3b578276bb8e68c3bb4c1d113cc752373c51156ebb0b9ab1bb7abb8e3b3e448f3b5a2c6738853e55b8288d64b9cc40f1b7fbe7813c7b433f3c6e4283bc907643bc1ebd413d785bcb3b85c60bbd1c638dbcbcd9a83dbfafc13d817205bed0070fbedce852bc6e40ff3cd0e609bab2664cbcd13d5c3bcd2637ba6007633a0e290dbbb0b62fbc257630bcedcf8e3c05ed6c3c0310963ddcbd1ebec468da3d00ccfbbd7f138b3fa688893fa688893f7f138b3ff19500bac394623adc177bb90d7a08ba156696bb4f6c11bc2f60413c3db70d3bd3d635bc291326bcf96d723c96bf983c4a3e85bbea272abbeca87d38cd01d63bbb7141b9cba958b91edd20396038bcb97717bebae6e6443c4e9e1fbc1ac175bac15e543d622890bc3622d5bccfc8aabb7d5fdc3dcb3a013e8ffe26be23be27be3f8899bc8ff7033df029043cd4c78abcf44b053cda667bbbb29cb6b99e9181bbda8163bc9bb26c3c940d00bcf9e9a83ccec8e03dff9330bed726073e588228beb4f18a3f3c00893f3c00893fb4f18a3fab33a8ba277422ba671aa13a625a193a3e670bbc260419bcd6bc533c7821c43bd15b20bc25392cbcec81653c5ecf913c556322ba58701ebbfc4884baaa8d5a3bd50af7b83392333afabf28ba84e7e1b96372ca3b2a669f3cdce093bc5be503bc0048893df9db0dbc10e320bdaff38abce959c33db3d7053ea8bf20bebea824bee946bcbcf1fbb13c220e923c689027bc0803583b8e3712bce337843b13cdd53a5477d6bccd7cb33b0592453bb116fd3cb983c53df57240be32991b3ed07920bea40b8c3f97d9873f97d9873fa40b8c3f906553bb3a5dcfba8e7e413b4e680b3b55d561bcac3080bc3a538e3ccd886e3c3daa08bcb55c0bbc625c3b3c5757803c5066853ba9a209bbf4e829bbc7ecceba0fd308b814ab0a3b56e6acba2c207cba84bdc33c6cf1063d56600ebd9081babc1ee2a13d95f6203c0ef855bd5a6211bdcde1b13dc275013e1db018be4bb41ebeead501bd6fc67d3c8490e03c8dd922bbfdc487bb12aa96bcb6b8423c0711403c707828bd17dc72bc76c5d63c7e36293d7fd29e3dba3c4fbe2eb6253ed4f009beac9c8c3fb95d873fb95d873fac9c8c3f2851efba5be2c7b9e0757e3a10d8b8395b16b3bb565bdbbbbe50453c8aa7683a4619b5bcb9fbcbbc0b4fee3c6548013dd861c6b81a760e3b2c11d5bb8f25723b3312ddb81dee7eba22c8fb38de10b638d0deb6ba09f8923c8a2846bc18578ebbf5937e3df76ee1bcdd4406bda7aa4e38b306f93d9c872d3e26af44be9e5a42be2900b6bc039e2a3c1ec1033d627674bc22afc53b3aec1d39d3cbb4bbf3dbb8ba65f9e9bc0348e43c8528bdbcda2e1d3dc00d013e1a6a53bea0c8393e980846beed228c3f1e10873f1e10873fed228c3f2beec0bb2a4980bbf21dc83ba33f633b32f815bc669115bcb066533c0fd3ef3b6a2c53bc2c93a3bcefeba53ce063ca3c0d83993b8b80c03b32a714bce2fb58bbec34ccb968381a3aeef6bab7c6b540baeb62543c386f073d7ec4f3bc126588bc9ceab73d4f3a5dbcc7d652bd698ad0bc4815ac3d52bd2f3e82182ebe12c232be6498f0bc9fe8afbc71005f3de0ee903bdba66dba1a1d82bbec4385bb65a4053c16b439bd7ff8723cea4301bc5126553dcfdcb53d0b1a6fbe124b653e254a2fbe6bc78e3f245f843f245f843f6bc78e3f4ee397bcdbe257bc901a923ccbeb793c329683bbacb64fbc75f6353cbf1a213cef9892bbcec7a8bbef39653b59ab753ce19b593c267c093caf1424bc53c275bcab4b6fbb3b4a8b3aeb6a083a3b77063b23d3763d9911843dd14696bde6a658bd3624c73d7cf4c43c5d8595bd0c6759bdc512683d36f10f3e60cf02be08c520be615979bdac873cbd77409d3d91b22a3dc06888bbdd1f98bcb39bbe3b28ac903c69c6a8bda71378bc9e5e143d4fd2923df134433def448fbee01a853e20c7f4bd534e903f921f833f921f833f534e903f7c862bbb779e2ebbc259763be15b7d380e667fbc48d6adbb72c2833c96c8c43b903ff7bc285a23bd47632d3d704c323d7f5fb83b14ca8b3b4deb65bc300e313b41571abb569c653ad101ab3ae33d82ba09a6a4bbe2a5c53cd78d4abcd37cc4bbe176a83dbd45f6bcfb764abdec9796ba2889043e7335503e57b559be97c859be033ee0bcac3478bbe2bf5b3d0ad987bcb062193c5f3a8339f3bc56bcc2ec2b3bfc2015bd1f242a3d518718bd553f443db070003e64ae6cbe611e5f3ee6ee50bedc918d3f296b853f296b853fdc918d3fd6bf85bca0c664bcb2fea33cd3e4203cd195acbc1fa239bc562f8c3ca2b4983c0d5b31bcede102bd81d0db3c583af83c0ba9483cd7a8923c93a5b6bca24e35bcd64eacba5fe1343a0ae5f53a4cad19bb9768aa3caa2e2d3d123424bd213bb5bce5b4fc3df4a9e13b6b41a8bdbdc350bd2089893de8f64c3eadff2ebe576740be4f901abd7ab47fbdcf96b43df5a8af3ced808dba16a8f23a5b446fbc415e593c156d53bd497ebc3c123c83bc9b6d6b3da1ff533d138f8cbe83fb913ec2c61bbe0cef913f9d15813f9d15813f0cef913f84ac39bd877434bd9ff9563deddc223d632db73b66e9c0ba32b12dbcc27b673c49f4ab3c3428c83b0d5409bcacc613bc839e3a3c235fc83cb317acbc63a2b5bc8caad8bbd546bfbbacc11d3cde81163b828ad03ddeebd43dde95fcbd80e1a4bdbdb2123e52228e3d8660d6bd5791ffbdcc8033bd4c9d093e436784bd1b5ff1bd08448fbdba250fbe3e410a3ef080be3dad96563b2125353b6c0dc3bce504b23cc012d3bdf001133b3d04053d2a66913d0a4864bd099fcabe4390d13e93de31bd58d6983f510d763f510d763f58d6983f5a1010ba61a10eb93c8ae13902035a39ae43663970cf8ebb7c9e9d3b270104b934dbd13aa2665e3b95d61e3b5d474b3bfdf0acbb189075b61610c73a61f9913b14325e3a528c88bafdde82b9db398239fdc42f3b2ef2b03bd769cbbb5d98d0ba67f0053d19eb25bc385879bc5c0a95bbe133a73d5c3ba93d8b6504bee86e05becf6135bcdee1073d4cb9b1bbec8363bc2ca5b93b7b30163aed180f39c730c0bb6499493ba85bda3994a79c3b85631f3bd4fba43d684905be48eea63d7d7703be78848a3f0c5f8a3f0c5f8a3f78848a3f6656b9399af8a239465c79b8f3202fba2d7a85bb0beaa7bb5fe0ce3b46326d3b877e4db9ec222bba04c1b53ba4acb93bf5989abb048e4bbbb5214f3bb9b9ae3b6753bdb9ab35c2b9dbda7839ee2192393d0d9c3b72490d3cd09511bc2eeb8ebb585d1c3d68a0a2bba4a0b3bc619508bc6af7aa3d200cae3d409f06be264406be782916bcd9fb0c3d9f8196bb2f098ebc27b2d93b7ff13d3b51d522bb7af0d1bb614bba38f3dd6339337b9f3b516bab3b47f2a23d18fa09be3033b13db88e03beb97f8a3f78468a3f78468a3fb97f8a3fc33c0d38fc0c8638dba2fdb8d20b9f3701dee2bb68f6dcbbbcff103c823abd3b24139ebb4cdad1bbea4d2a3c18ac2f3cac9370bb63dac3bb9194713b9cb0be3bacec2639260bc8390b84dfb9d8d9a9b9a9ce8e3c2f5b8a3c966493bc6edf89bc1a75403d10aecf3b95540cbd5e7885bc6d78a73d9340b73d8b2d05be410008be527b26bc06aa093de3b1e3ba2b2889bc7cc24e3b41d9c03a9a84a5b7368e49bb0ad553bc521b34bc31d6883ca25f863c843d9a3d177619be87eacb3d9274fcbd38c98a3f69e0893f69e0893f38c98a3ff67abcb7b08afd39f2c91cba27f49ab9a8b881bbc139f5bbd857333c2c7c6d3a985e38bc4fe622bc393e723c8b39973c54e58cbb896a6abb0d648b3ad623e23b8941a1382079463912fdc5b99d22e0b997ae0fbb4f6d3d3c54c210bcff722bba1e5f463dd70896bc739cc9bc09970bbb4f01e23d4927fb3d08de25be59c227be5bcc93bc9152123daa79a73ba2cb97bcceef063c3a645bbb3ebf923991efaabb966c55bc7f4f7d3cd71317bc71a9a43ce311e93d87ab2ebed185033eacf02abe64b18a3f9a3d893f9a3d893f64b18a3fbae55cba55bc97b91e19413a330f9b397843e5bb5634d0bb3da7243ce3807b3b42822abc275032bcc9ae723c0f92913c965e7eba53f766bb54c0643977d1773b705c32b9f9dc1b3a52a531ba55373db99d289c3b375f903cf81e74bccb7801bc4e5b683d2e1838bcd33f07bdad971abc18b6d23d4190f93d509420be75cc22bed31abdbcd45aef3c3679583ce88f62bca6ffaf3b7a44e0bbb0161d3b795554baa7feb5bc620cea3be5eba8b8f02ae83c68ead63d29083bbe0c8a103ee9bb23be12238b3fd2bc883fd2bc883f12238b3fe668d6bab97569ba97f0c13a57a2993a783029bca79a35bcfe2c513c746a283c4cc80abc23b8f7bb9dad403c9d2e613cca83d63a937771bb815256ba92e5c53a0baac739d16fe53a5476a0ba197f98baf9a6c13c6e770b3d30c007bd6217cebc23cb893dd4908a3bacb232bd2b0acebca689ba3d8933e83da55d15bee16c18bea1e8e5bc0895b73c36519b3c50b9c2bb3317cfbbc44589bcd558723c7318253c0eaa25bd1bebb1bc1a7ce13ce4d73a3d3349ae3d853241be5b40143e38ec0ebe87778b3fd098883fd098883f87778b3f0b02d3bab90bfdb95ec0773af0359239d8337fbbe64f96bb6e601d3ca7f330ba13e4b9bc027ec8bc039ff33c1ab3fd3c13fa86ba8ecad139006ea7bbe00aab3b26ced2b96ba60bba5c76b7b7fcc6ef3878de8bb96dea823c71f925bc27a2babb5210543d8395dcbcc0e7efbc7d0ae63bbd54053ed109233ec28243bebaa041bec6d5c0bc008aa33c6ae9da3c3d2e96bcfbdf073c217206b95b97b2bbf76659bb574ae3bc714ff33cdfa8c6bc0c71173d58b10a3ee0a150be812a2f3e05d847be47288b3f7007883f7007883f47288b3f3ca571bb61c63bbb63d97a3b67111f3bb2bccdbb2a17a9bb163e173cbb23593b2ae47cbc36dc94bcb505af3c17e5c53c0dbc883b6456b73a5024cfbb07e7adb9eb195aba59e5a63a96491eba4048f9b9548f433c9fa4ea3c69e7c1bcb8c191bccd6b873dedcf74bccc532dbdfd9903bcc0b4d13df60b1a3e59452cbe92b930be6252f9bc28e3c53934e6293d982cadbb6876363b546baebbef3833bb88199b3bc9a932bdbac7823c98d015bc6814503d578ee63d8cfb65beb9cc4b3ee66b37beb19b8c3f2a89863f2a89863fb19b8c3f1c4054bc3ff623bc603a5a3c85e8313ccd5634bb538ddfbb7f35c43b2640c63bc769e2bb0268cdbb87fc0b3c0d045b3cfdd41f3c76d0733bbd3df4bb8d6002bc26d7e0ba75f2013bfbfc3cba0e45fb367371853dd0dd8e3d230b9cbd8e417dbd18ce923dbaa26d3c3a6d5abd027b0ebde3b69e3dac77f33d7ed60bbe214715be4f926bbd3544b3bc2794843db664bf3cff3578bc06a9e9bc9e54983c8834dd3c22b6cabd2fba1fbd876e663d7321be3da02da33d002485be3ae55f3e690606beb0cb8c3f8aa3863f8aa3863fb0cb8c3fce93bdba90b62dbb8cbc2d3ba3811d39d13847bc435f63bbf0f4693cf28b073b0ff503bd68641bbdc61d2e3d3708323d5e917e3bfa3e4c3a638330bc2e6eaa3be84e17bb3a9cbe3acf7fce3990114fba73e881bbb6d8ab3c2f5816bca20af8bb1aa2863dbc81dfbc78fb38bd59a7113c4e8b123efcd13e3e9c2757be35b358be8a85eabc6745483c446d333db36db8bc3e4d433cd62dc3ba79113cbcd6de013a01dd15bdd84b2b3d1cd413bd4b1a3f3d4b1a123e5eb168be2e7c4d3ec5b054beb1ee8b3f930c873f930c873fb1ee8b3fb1e331bcac6134bc62785f3c7fdcfa3b034384bc4da6b0bbf8a8623c65b1223cb69796bc4a7901bd0993fc3c63d70a3d30ad1d3c3e83023c0c8579bc2f1888bba98a6fbacca8ee3a7dcf24b93b6d04bb7f7aa43ce23e173d145bfdbcdef8d6bca0b8ba3dd406a63bce9c8fbdbe05e0bccbdfc83dfb9b2e3e632932be1d363dbe6db81cbdb8a2d3bc9ede873d69be8d3baa50103b7f9ff6ba3d5a22bc2158173cdf1851bdb944b13ccb0474bca9aa6b3dff2eba3dc55884bed7667a3ee0302abebe4a8e3f8ba9843f8ba9843fbe4a8e3f4f0032bd30b33abd0a034b3d4bb1323d148e7d3aeee7533b595a91bb16a2a53bdf83143cb68b84bb561a023b218c813b5fb29a3c062bb83c8950d6bc5c40a2bcdc1c9fb916cc2d3ba6229f3ac8dbb7bb0fcbf63dd9ef043e687209bed499f5bd1434db3d9632483d80c8b7bd1d96a0bd8432cc3c5c77fb3d18b8d3bd40aa08be4a98babdaa34d0bdbbf4033ecebe9c3d51ecf0bcaeca1abd23cfac3c48f7543dfc9c19be57358cbd4eabb33d5e580b3edcacb9bb3233b9be5466af3e85da74bd38b5913f21d6813f21d6813f38b5913f5e7037b73d8facb909b5133982f358375c4861ba5d3f89bb8f1a8f3b0377b03a2055633abd42a73a1898873b5b4b873b6f0883bba76501bb2b24f83a91f0993b387b1639d6ef91b93daaf138d03a04b924661e3b0373bb3bbd5dddbb906b8dba1ce50b3d99931fbc923f7bbcadfecbbb1b5ca93dfd98ab3dfb5306beeab305beb48e2dbced6f0c3dfbaed9bbbc6f67bcde23c83b1786bb3a52fd56ba22c5cbbb656b1e3b2dfb083bd4a38c3b5ac10c3b0cd0a73dfc6e05be809ca73da0f604be51508a3f99848a3f99848a3f51508a3fb5d368b8d9ae603827b864b596afc0b8021f80bbd563b0bbb555c83b9255743b83a7ccba64f78bbae33bdf3b180ac73beb62aebbd46486bb0941613b99b6d83b168846388ce4f4b9c00a2339ab32e03843619e3b6e211f3c5c820ebc1a19b1bbd3ab193d3e8404bcda34a1bcfe37d5bb0941b13df0c8b03d962e08be32f208be41a201bc929d143d6ce9c4bb0f039bbc568df93b9028a53bd88891bb586bfabb6a06c73a74b948394acf893b155a913bdf52ab3d5ead09be26eeae3d562d07beda498a3f06738a3f06738a3fda498a3f0f3cc3391cf05bb804fd95b8e499bfb9f19bfebbb259f1bb8bab063c4c8afc3b1356d4bb417cb4bb5066273cb32b2d3c2ebb87bb0b27bbbb8361893b95bdbd3b31a44839519b263959a325b91790cab9d7788e3ce399823c90bc7dbc55b290bc1229233d2415893bbe18e7bca0c145bc54f9a83db9beac3db9a102beb50d05be2ce112bbbf1d0f3db7c9c7bba6cab4bc0943e93bf49b043ccbebeebba97bd4bbbe14babbaa008fbb32ff073cf074263c1cf2a63dfd4013be09eec13df5f505be179e8a3ffd088a3ffd088a3f179e8a3fa34770b9f2080e3a8c7193b97283e8b9aaa65dbbb353c9bbd995133c345d3f3ab28445bc082f21bc0bd5853ce5fc8f3c631793bb7beb82bb6db0813ab6a5fa3bc67fd9b8ea34623817b8c1b9d4e2b3b8ffdf35bb5f5a1b3c5acfdcbb9aa3a2b81be9343d322597bce3c8bbbcfa49553a9479eb3d45b0f23de71e27bee2bb26be647297bcfd57223d91f37b3b5172acbc98031a3cca722ebbbe5960ba346ac4bbf6cb40bce85f903c066230bc3d61963cd1bdf33d70462ebee33ffe3d65462cbe18278a3fe0c2893fe0c2893f18278a3f27c59bb96ebe973519708239986370b962f8a5bb0c0094bb0a6beb3ba04f2c3b4a9230bc92e327bc9ef17e3c147b873c2df1f7bab58591bbf4b8b03a36899f3b97bd8eb90e24ce3934373eba4d685e39adb2953a31c5523cd53129bc008580bb90753f3d105272bc1e4dd3bc57081abb16c9dd3d2b8de93da80a20bea39a20bedaafa1bc44d21c3dcf1fb93b1a5f9fbcaea7153ccf9b65bbebd099b9aa0dafbbd0cb74bc9725663c32c0e7bb2ae3ac3ca54cee3d255134be8a14053e4fab2abe9a568a3f8089893f8089893f9a568a3f15201eb9845362392aed27b9ec91eeb750e1cebb7ff8babb782ef53b703cb13b57b1dfbb158fe0bb9ae6203cba9d3a3cb33efcba3bf193bb5e77493b5a355b3bac82b23932ea403a29f56bba9b6be9b9a4d15f3c7381b33c1d14a8bc4bd375bc76b3513d602d8dbbd23afebc4f973ebc998cc03d6e13ce3d1f0110be645412be24b797bce14d0e3db549a13b6a8178bca8be6c3a18fc01bc1b58e23b6e54f43a2aa0bfbc71ea03bc7ff5513c51d8f03ce703ca3decff2dbe10bbfa3dbb9419bee2828a3fd594893fd594893fe2828a3f33b756ba8fc52cb97ef2733990d4dbb868fe4fbb0f2951bbf018053cfb57d8ba41b0b7bcc6fbc2bcc333f33cf479f63cd46b0fbbf362a0ba588868bbf0f5dc3b5ad534b9d4af26bac763023821e934b8e3f71fbae70e543cde81f1bb0a7aaebbbb2e293deef9ccbc4dded7bc13a35a3cea800e3ef063173e7fbf40be09bb41be93d6ccbc5078fd3c6fbfa53c8e7fb6bcb01c383c7866a0b9d325cbbb7974aabba5f2d7bc0939043de762cabca216093d13fb153e32924dbe1a58223eb22949be43228a3fe00b893fe00b893f43228a3f7c4fc6ba876903bbd0e00a3b69f67f3a358088bbc281bcbaae94c83ba4282ab9226784bc356c89bcd590b03c86cfbd3c5fa2083bd009e7bad5902fbbede4033b673cb5ba3209e23955f706ba5eb7723a03dfd03bb028a03c18dc63bc81b255bc385c353d880e9fbc6890fabcb7e6053c2b5df03d6e91073ec11e2cbe17482dbea516d5bc9f54b33c6db9d03ceb798bbcfe011f3c517a1dba7605d4bb683362bb830c05bd2884cd3c1c1d95bcbb7b233d2ad00e3ea9e455be3c632d3ec2b144be8c878a3f39a0883f39a0883f8c878a3fe4799fbb326997bbe185b53b1a8b8e3b36ce85ba6c8049baa119e03a2e5e743a791203bce4b0f5bb2e9c293c85f54a3c48b1583b41c807393549c5bae9640dbb4eb1bbbaa4b5a9b7faedeeb828c7b03a20bf2a3d87ed493d6de94fbdc4b230bdb2753a3d64a76ebbe8c607bd0ed0f2bbe846c23db13ada3d4b0310beb67c14be63bd23bdbed9573b9252143d33b8ce3be847d1bbe98685bc09c5593c6a762f3c88db88bd969bd5bcb6200f3dbf83903dd96eda3d5c625ebeb718303ef06e1fbe63a98a3f52d4883f52d4883f63a98a3f730711ba3e0023bb9057f33a46a4c6b77f44f2bbba9522b9c17e273c986a27bb45ae0dbd129114bd58eb313d484b313d42662d3b390f6dbb3c82e8bb75d6fa3b6a830ebb05c2003aa5b0abb800d10d3a9f9948bb62f68f3cdfd5b9bb294a12bcd1d6433d3c27debc80451dbddb66a93cfb621f3ec0962e3eddef55beda5e56be3109e4bc8607ef3c9f89073d7401fbbc7fac633ce8fdacbaeb392ebc2a4d12bb367214bd6c25323dd73516bdfc54393de937253ef50b62be81553a3e5b255bbe215b8a3fa6a0883fa6a0883f215b8a3fd8eb9bbbccd9c6bb02bace3b5cc4673b066518bc07047fb9787a163cc970b63ad8bfc2bc7caaedbc0726093de84c0d3da17f7c3babc4edbab626dabb01808d3bc0741dbb825f0b3aecd09139c9a58539bdab5d3c28eadb3cf28f95bc6b52babc045f5d3d09dffcbb580847bde70d4e3bd46bfb3d49c8133efd4134becd8038be240edfbc371f4f3c54461b3d337aa1bcfc674e3c384b673b9f436bbc465116bbedb326bd2b59003d742ec8bc8fc2413d0969103ef3296bbe4ddf463ef24c47be14f08a3fdef9873fdef9873f14f08a3fb4eef0bcd933fabcf852043db00efe3c2a8b63bbf1bf1ab94ee6553b68d8013b38c4a7bb122815bc46c9403c0e974e3cb2e81a3c8f96013c892247bcb830d5bbb687f53a66d4583bd7af12bb95d989bb0547d93d19cbea3d1b36eabd8527e8bd7175993d08b7ea3c1b3c94bd967611bd4776ae3d6344dd3d06080abebebd12bee78a92bd20fc2abdd4b7ab3d806a173d323b22bdee403ebd7797233d7b984d3ddfca19bea900b8bd618aca3deeb51a3e71b3623d41a198be27b6843efc29d6bd63888b3fb7b2873fb7b2873f63888b3f diff --git a/shaders/ravu/gather/ravu-lite-ar-r4.glsl b/shaders/ravu/gather/ravu-lite-ar-r4.glsl new file mode 100644 index 0000000..2c4dc07 --- /dev/null +++ b/shaders/ravu/gather/ravu-lite-ar-r4.glsl @@ -0,0 +1,265 @@ +// +// 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 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 . + +//!DESC RAVU-Lite-AR (step1, r4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND ravu_lite_lut4 +//!SAVE ravu_lite_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < HOOKED.h OUTPUT.h / 0.833333 < * +//!COMPONENTS 4 +vec4 hook() { +vec4 gather0 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, -3), 0); +vec4 gather2 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, -1), 0); +vec4 gather4 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 1), 0); +vec2 gather6 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-3, 3), 0).wz; +vec4 gather14 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -3), 0); +vec4 gather16 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, -1), 0); +vec4 gather18 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 1), 0); +vec2 gather20 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(-1, 3), 0).wz; +vec4 gather28 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -3), 0); +vec4 gather30 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, -1), 0); +vec4 gather32 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 1), 0); +vec2 gather34 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(1, 3), 0).wz; +vec2 gather42 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, -3), 0).wx; +vec2 gather44 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, -1), 0).wx; +vec2 gather46 = HOOKED_mul * textureGatherOffset(HOOKED_raw, HOOKED_pos, ivec2(3, 1), 0).wx; +float luma48 = HOOKED_texOff(vec2(3.0, 3.0)).x; +vec3 abd = vec3(0.0); +float gx, gy; +gx = (gather14.x-gather0.x)/2.0; +gy = (gather2.z-gather0.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.02324683987829437; +gx = (gather16.w-gather2.w)/2.0; +gy = (gather2.y-gather0.y)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.033823952439922346; +gx = (gather16.x-gather2.x)/2.0; +gy = (gather4.z-gather2.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.038327559383903906; +gx = (gather18.w-gather4.w)/2.0; +gy = (gather4.y-gather2.y)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.033823952439922346; +gx = (gather18.x-gather4.x)/2.0; +gy = (gather6.y-gather4.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.02324683987829437; +gx = (gather14.y-gather0.y)/2.0; +gy = (gather16.w-gather14.w)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.033823952439922346; +gx = (gather16.z-gather2.z)/2.0; +gy = (gather16.x-gather14.x)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04921356040854137; +gx = (gather16.y-gather2.y)/2.0; +gy = (gather18.w-gather16.w)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.055766269846849466; +gx = (gather18.z-gather4.z)/2.0; +gy = (gather18.x-gather16.x)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04921356040854137; +gx = (gather18.y-gather4.y)/2.0; +gy = (gather20.x-gather18.w)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.033823952439922346; +gx = (gather28.x-gather14.x)/2.0; +gy = (gather16.z-gather14.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.038327559383903906; +gx = (gather30.w-gather16.w)/2.0; +gy = (gather16.y-gather14.y)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.055766269846849466; +gx = (gather30.x-gather16.x)/2.0; +gy = (gather18.z-gather16.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06319146241026467; +gx = (gather32.w-gather18.w)/2.0; +gy = (gather18.y-gather16.y)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.055766269846849466; +gx = (gather32.x-gather18.x)/2.0; +gy = (gather20.y-gather18.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.038327559383903906; +gx = (gather28.y-gather14.y)/2.0; +gy = (gather30.w-gather28.w)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.033823952439922346; +gx = (gather30.z-gather16.z)/2.0; +gy = (gather30.x-gather28.x)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04921356040854137; +gx = (gather30.y-gather16.y)/2.0; +gy = (gather32.w-gather30.w)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.055766269846849466; +gx = (gather32.z-gather18.z)/2.0; +gy = (gather32.x-gather30.x)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04921356040854137; +gx = (gather32.y-gather18.y)/2.0; +gy = (gather34.x-gather32.w)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.033823952439922346; +gx = (gather42.y-gather28.x)/2.0; +gy = (gather30.z-gather28.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.02324683987829437; +gx = (gather44.x-gather30.w)/2.0; +gy = (gather30.y-gather28.y)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.033823952439922346; +gx = (gather44.y-gather30.x)/2.0; +gy = (gather32.z-gather30.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.038327559383903906; +gx = (gather46.x-gather32.w)/2.0; +gy = (gather32.y-gather30.y)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.033823952439922346; +gx = (gather46.y-gather32.x)/2.0; +gy = (gather34.y-gather32.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.02324683987829437; +float a = abd.x, b = abd.y, d = abd.z; +float T = a + d, D = a * d - b * b; +float delta = sqrt(max(T * T / 4.0 - D, 0.0)); +float L1 = T / 2.0 + delta, L2 = T / 2.0 - delta; +float sqrtL1 = sqrt(L1), sqrtL2 = sqrt(L2); +float theta = mix(mod(atan(L1 - a, b) + 3.141592653589793, 3.141592653589793), 0.0, abs(b) < 1.192092896e-7); +float lambda = sqrtL1; +float mu = mix((sqrtL1 - sqrtL2) / (sqrtL1 + sqrtL2), 0.0, sqrtL1 + sqrtL2 < 1.192092896e-7); +float angle = floor(theta * 24.0 / 3.141592653589793); +float strength = mix(mix(0.0, 1.0, lambda >= 0.004), mix(2.0, 3.0, lambda >= 0.05), lambda >= 0.016); +float coherence = mix(mix(0.0, 1.0, mu >= 0.25), 2.0, mu >= 0.5); +float coord_y = ((angle * 4.0 + strength) * 3.0 + coherence + 0.5) / 288.0; +vec4 res = vec4(0.0), w; +vec4 lo = vec4(0.0), hi = vec4(0.0), lo2 = vec4(0.0), hi2 = vec4(0.0), wg, cg4, cg4_1; +w = texture(ravu_lite_lut4, vec2(0.02, coord_y)); +res += gather0.w * w + luma48 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.06, coord_y)); +res += gather0.x * w + gather46.y * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.1, coord_y)); +res += gather2.w * w + gather46.x * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.14, coord_y)); +res += gather2.x * w + gather44.y * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.18, coord_y)); +res += gather4.w * w + gather44.x * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.22, coord_y)); +res += gather4.x * w + gather42.y * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.26, coord_y)); +res += gather6.x * w + gather42.x * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.3, coord_y)); +res += gather0.z * w + gather34.y * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.34, coord_y)); +res += gather0.y * w + gather32.y * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.38, coord_y)); +res += gather2.z * w + gather32.z * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.42, coord_y)); +wg = max(vec4(0.0), w); +res += gather2.y * w + gather30.y * w.wzyx; +cg4 = vec4(0.1 + gather2.y, 1.1 - gather2.y, 0.1 + gather30.y, 1.1 - gather30.y); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut4, vec2(0.46, coord_y)); +res += gather4.z * w + gather30.z * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.5, coord_y)); +res += gather4.y * w + gather28.y * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.54, coord_y)); +res += gather6.y * w + gather28.z * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.58, coord_y)); +res += gather14.w * w + gather34.x * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.62, coord_y)); +res += gather14.x * w + gather32.x * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.66, coord_y)); +wg = max(vec4(0.0), w); +res += gather16.w * w + gather32.w * w.wzyx; +cg4 = vec4(0.1 + gather16.w, 1.1 - gather16.w, 0.1 + gather32.w, 1.1 - gather32.w); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut4, vec2(0.7, coord_y)); +wg = max(vec4(0.0), w); +res += gather16.x * w + gather30.x * w.wzyx; +cg4 = vec4(0.1 + gather16.x, 1.1 - gather16.x, 0.1 + gather30.x, 1.1 - gather30.x); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut4, vec2(0.74, coord_y)); +wg = max(vec4(0.0), w); +res += gather18.w * w + gather30.w * w.wzyx; +cg4 = vec4(0.1 + gather18.w, 1.1 - gather18.w, 0.1 + gather30.w, 1.1 - gather30.w); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut4, vec2(0.78, coord_y)); +res += gather18.x * w + gather28.x * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.82, coord_y)); +res += gather20.x * w + gather28.w * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.86, coord_y)); +res += gather14.z * w + gather20.y * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.9, coord_y)); +wg = max(vec4(0.0), w); +res += gather14.y * w + gather18.y * w.wzyx; +cg4 = vec4(0.1 + gather14.y, 1.1 - gather14.y, 0.1 + gather18.y, 1.1 - gather18.y); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut4, vec2(0.94, coord_y)); +wg = max(vec4(0.0), w); +res += gather16.z * w + gather18.z * w.wzyx; +cg4 = vec4(0.1 + gather16.z, 1.1 - gather16.z, 0.1 + gather18.z, 1.1 - gather18.z); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut4, vec2(0.98, coord_y)); +wg = max(vec4(0.0), w); +res += gather16.y * w; +vec2 cg2 = vec2(0.1 + gather16.y, 1.1 - gather16.y); +vec2 cg2_1 = cg2; +cg2 *= cg2;cg2 *= cg2;cg2 *= cg2;cg2 *= cg2;cg2 *= cg2; +hi += cg2.x * wg; +lo += cg2.y * wg; +cg2 *= cg2_1; +hi2 += cg2.x * wg; +lo2 += cg2.y * wg; +lo = 1.1 - lo2 / lo; +hi = hi2 / hi - 0.1; +res = mix(res, clamp(res, lo, hi), 0.800000); +return res; +} +//!DESC RAVU-Lite-AR (step2, r4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND ravu_lite_int +//!WIDTH 2 HOOKED.w * +//!HEIGHT 2 HOOKED.h * +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < HOOKED.h OUTPUT.h / 0.833333 < * +//!COMPONENTS 1 +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + int idx = int(dir.x > 0.0) * 2 + int(dir.y > 0.0); + return vec4(ravu_lite_int_texOff(-dir)[idx], 0.0, 0.0, 0.0); +} +//!TEXTURE ravu_lite_lut4 +//!SIZE 25 288 +//!FORMAT rgba16f +//!FILTER NEAREST +cdd62e37a650b737dd8719b950a8d038d9d96c39bbdc73bafb218d3ad9d79fb95340343ae847f4b99d82a739465c3cbaa8950cbae80da6b9031f4e393097ca39a6660dba43f5453ae07d30bad92c9739ede35fba28a8c2393f0a68b934474c3a05420ab82f19183630e50839a60dd2b8b6ac35394a30273a9ba72cba84c30ab80a59c93a684edeb86f99f5b8b5d887ba3a7f6d397fd63ebba945253b628d633a4d86873b7abe803b80fab83ae447943ae2a33bbbb06a823963e2323a6ce62c3b94e797b80077c53a5cb68cbad42f88b8af334f3a2d613d398aabe3b8e83745ba3344a03a331b3b3a88de74ba3a8a94bacb1d8e3a17c9373baab65bbbdfaaec3890ccff3c64552ebc183348bca30cc3bb2b819a3d84459a3db42dfdbdd1a0fcbdd6172dbcce6cff3c0379c0bb81ae49bc9d8c353bfbfd9d3a0a7178b848105bbbee67413a6265a63a55629dbaaf1778ba3ae50db993168139f162d8b97eb5e4b72e56983be64a5e3ab7aa933bbfe6053addc9993d2f3ffcbdd31b993d072afcbd397e8a3fbc8a8a3fbc8a8a3f397e8a3f6fdc0b3812cb0e39ad3277b8cd9905b96880cbb9642dfc39e4701cb9d3eeb33851d9003bd1096bba8ac8253a10a206bb296de7b99462b5b60aaeaeb9fcb63fb9883df5b9ab10f53a65160fbb9aead83962bb19b9092cc4b93155ee391e29a2384a388a3960eec7380eeedab818528db936fd00bb618ca0baccf97b3a2273163b9ce631bba6435aba809fc23a51ad2a3b025ed2baf54802bc45f70e3ca569103b988f95bac660bcba6f21d63b4a45de3b59c408bcd55108bbd698313b0763173cecab2cbae12e18bba8ba1f3b27b0a03a6681d2bae31b12bb9aaf153bbcfde33a9eee563b34525f3b3a5c55bb0ef95abb81983a3b5c09ef3be90ff4bb3185acba2c67383d932414bc3e4b94bcc2796fbc11cfaf3d92aeab3d43ec07be765808bec7fe00bcd9fa3e3d410484bc5235a0bc5bfa183cb66c723b18b54abb6e3011bcc4df923bdcb9b03b09dca2bbb3dca3bb47064e3a2ec78b3a609c07bb57e38fbaa8916a3b7c0ca33b7ef2533a4dde8f3ac546af3d1d4607bedf76aa3dd98d09bef64c8a3f3e7e8a3f3e7e8a3ff64c8a3f994c47394bd9a6b864912a3633c7d3b8d606fbb900f2943ab01d87ba0e08a439cb2b2b3bf0f1d9b916c265398e2b28bbf1e6423a671eda3a4765f9ba725bbcba8ca253bac1d92d3b6b5a19bbd4bb90398488003b9a123fba1785fd371b75b8ba923477b8eb269339fe4c21b9d6da76b8b16902bbd1b084ba9ed2f23a292a843a2e4ae7bb87c72a39f6a6ac3a955bcd3b8440cd398f2f64bc8235753c07df29b92c11adbb121cdebb4e85263c1878323ce16880bce93b2b3a138f623a3d23833ca93da1ba2a9020bc9513173c8bcd523bd98c26bbb2ee1dbb67e90d3b1ea43b3b8709533be7199b3afddcfeba9c4f07bb63c3723ba4303f3cbcb846bcb669b2ba9381473d6f3806bc241785bc1767a2bcd689ac3dbb2cad3db19f07be614707be0fb205bb4a445b3dae94d8bc8d33afbcfc5ca93c2b6a453c721625bce8e2b1bc230ab13beaf8dc3bf14dd2bb344dbcbb7c31733bdc16f33af8db28bb7d4a90bb5c106c3b791e6a3cee2b1bbc05db1e3ace83c23d966309be6ca8ae3d962b13be45318a3f97848a3f97848a3f45318a3fc5593cbaf82a9cb86fc2973916d7f239fdcf433a23e317ba68d30b39db6088b9d1f8a0b936b85bbaf5aae739ec4724397203fc394c6ec439c514b7baaefd35baf30111b963ad5e384536073990b92cba6e663dbaa894493a438d08baf501ee3920df5b39907902ba4446f639049e83b959b5dbbadc22c438dceab0b813f2f13a68e76bba97207839ebafaf3a375bb8b91dba8fbb9ad294bbfde5ef3b034e243bbb3e05bca9be03bcb157713cbcd5713c0b44c0bb1a18a9bbd940553b6ef2113cea6982391b57cfbabcb6f139eccaa93af5138bba522d06bba45afb3a9f3bc43a5921623b568ee03a5d750fbb41e551bb2dbd82bb2b1ad63b39ff83bb43dc183b0dbe263d01aa81bc176cbbbc37d7b03ae992eb3d1e5ae23d966224be264f23beb1ce80bcc60b3e3d159e06bbb7ecd2bcd3220f3cd0ce29bbbd85933a424ed4bbfc7a5a3bbc379c3b680085bbf40b90bb7abb3f39e835433a480423bbfcda57ba5371e1bbc4f4833cc6940cbc1caa643c4367fe3d4d532bbee08ef03dc2472ebe41c0893f144e8a3f144e8a3f41c0893f0fbc27baccaf9e3699825b3ac8724cb92eadff3ac7c50d3a274bf4baada420ba5a9cfdbaafcfbdbab6ed093b46e18b3a7168043b616eef3a376c3fbbce4d0cbbd81fd6b9a7ce62ba1e723b391caa273ac3cea2395fd10f3ba8da50baa70eefbac80d093a9baf0aba30c7c8b9c2c1a63984fe63ba9e2821b8c9a9faba23dc343bf39299ba76560cbb234bad3b121709bb880d96bbd1ce42babfd2123bdf17653b90be0dbc42e514bc21b38b3c906b5d3cf5dcd6bb989eb4bbf261a63b4af3073c40b01fbb4343d0bb1377203b6bf4e03b468097bb2ab88ebbcf77cf3b53b5513b9f5d4f3ab9de75ba8196213b1d51f3bad1ea02bc1780d93b324496bb8dafe93b538c263d89dc98bcbca5a6bc46e42d3b7c56e93d887fd83d104a22be270d1fbed3a635bc444c593d2e5defbb30b801bdf49f813ca4cb7e3a642e49bb5fc257bc039b1a3cb7725b3c834f50bcff382cbc03b2e33b3cc9e43b905a2bbcbd25ccbb62deaeba8166b13c70124ebcd9fdd83ba089063e824f28be7c55e63d0d7934be7372893f659f8a3f659f8a3f7372893fb48a14b8f6bc93b9ac8b5f3908e6113909083fb9aa93233a645aebb9d8dc01389c95173a90dc60ba8772153ac2d3c2b992b6663962bc853a3a17abba1f1914babd60523a166a433a8f3780ba83a981baf3ed0b3a34f90d3a985217ba1a9f2ebab37748391a14f9386d9d2eb90bfc2bb9b989ea3afac0183b5a4e24bb9cc320bb4dd0ca392920453b41783bbb7038cfba2a2d6cba26f72abb9553a83bb5b4acba70d395bb620382bb8f33273c2eb4163ca15f21bc1f37dfbbcb0fd63bc539433c665be9bb9f5929bca4591e3c7c98133c522431bc196136bca3a43b3c4b37413c0acd46bccf3e52bc433f623ce6e45b3ca7ab6cbc6ac262bbb47b9a3b877f823c92f31b3d8b6aa6bc1d635ebc54e3653a5910cb3d3f43be3d0b0614be19a311be0a0982ba5bbf6b3d8c74aabc578005bdb29be93cd545933c121392bc7d7eebbc08ffe83cf705fd3cb633f2bcf49bfdbc64baf33cce71e53c90f1fcbc3cd7f1bcdbf6b43c3aacf03cbd4abcbc479889bce235f23d0d3d0fbe964ab93de3e42abee6b2893f08b58a3f08b58a3fe6b2893f32a1afb6e7b58a3a4cd17bbabee475b738155a3a0e0a1d39bf7aa9b940322ebab466ed3978663db93677bdb96ab56eb8db72363b014c293b61a982bb114379bbf4285b3a29e7b63ac3fa5bbadd21e5ba796d9a39f696c03a2012b6bab6f5d8b9317c623a5094ccb885132839a4ee67ba8a4a4aba85be44bb4fa71d3b9f5abe3a2c8388bb7acf673abb332b3a831d353bdeca46bb46ff1cbbbee7023cb9f319bbd2f5c0bcf356b8bce4d5fd3c1b76f83c407aa8bb0014bcbb2ccc643ae96e313cbee45238fa86cfbba12b863bfd401e3b6d0667bb63fac0baf629053b98b8503b3d9c593b22f1c33ac9cc01bb00422abb51df7ebb7f5c1a3c79f712bb8cca4dbb344b023d2417cbbcb040dabcc089bd3cc933193eed640e3e00af42be07d742be207dc2bc0999383d85675c3cc80204bd57ce633c2b5047bb3b706abbd2dde6bb0acd1d3be158d03b3732aabb883468bb11f2b13bb16095bb11c30f3b0502e0bb46efefbc89e1273da29f05bd28721a3df2fe2c3eedb551bea20c1e3e48b157be21f6883f303e8a3f303e8a3f21f6883f5f775739eda6a33a2b129fb90f0695ba653dca39e4a46abad7ca87b8faa1303a7d3af0b945a222b9820b093abf68fb382d328e3a3c0d213af8c81bbbb5a863bad81f3b3aef1bcb39cfd3acb8ef03bcba2a35dbb9fcb9d03a329289ba088f81b97b84203b50b3823a0f1ed7ba6a5703bb4bcb2ebbe145acba7f899cb911168a3be7de0d3b95d295ba9457243b3ff468bb7e7345bb347f5c3b23437238691f83bae62655bcf3813cbca251a83ca0458e3c98ab5bbb39e607bc11ddaa3b0843f63b23df9fbb44c363bb5e8fd73a22bff93bfefdefbb362010bc8b3f253c4bf8e03bd5183a3a0f82a7bae562003baf02dfb96e751ebc23dea73b293f703b58c1b53a0a55ae3cb134ecbcabc591bc9ce5f03cece0073e094ced3da09030bef5722bbe34c078bc2849493dcc34b83b0eae1bbd3967ae3ceb6f463b27ad2fbc0f2366bc2d9e453ce429943cc78081bc18ff6ebccfa1693cd72fae3b088b1fbc749e65bcfd8491bccd913f3d596b1cbd5867d23c14d8353e68cd44befd650f3e5af25ebe4f82883f91e08a3f91e08a3f4f82883fb5028fbae20c5e39b004d83a56cb3bbaa59d193b6f4c5739dd292abb99fd1d39005852bb722a0cbb2e665c3b5c090a3b07fb0e3b367c123bb4e325bb53b220bb9348cdba2c0b36bb9f31a13a6f353b3b5afd373a2c84423b2e38edb919225abbfbdc123bb4df383ac8d939bbf53f2eba37a4873b6d3e973bb4bf3bbca87c903a4dc56c3bc3854f391395ee3b0e4f4dbc5e61053cd1f86a3cdd588ebc86fbdebb016cd9bb0dba14bcdd99853c24dd2b3c3918443ad540883bbb171ab914a565bbe2cc44bc1aff81bc7ef5083cf9f2b23ce06db5bc8a80acbc2924e43cd8739b3ce24de9bca334e2bc6825193d9932c23c8960dbbc76ff62bcaf5d643ce404f33c606c343b4d9d3fbdf597243cc8eb203d329be43d3492cc3d89121fbec62718be242207bc261a293d7ebea9bb0647dfbcb70a373d1842ff3c863deebcb28149bd03f96e3dcbbb853d75498abd224872bda09d823d39d28a3da9af9bbd75cd79bd63281d3d4e84603d2e3244bd626af8bccbce243ef62f16beacc4ce3d931256be9cf3883f18038b3f18038b3f9cf3883f612aaa37fc8797391c70b0b91aed6539410e573acdf47f3a971f05ba1b79bdba6ada113b771e04baac1209bb80e7bb392558bc3b49c6c23b423e04bcee57eebbfa3cdf3a83412b3b89009fb920808cbb5049ea3942b6c83af22d13bbf3e5bb37ceb49b3a664f0d3aaf5859b9295bb6ba6f288aba6c2c21ba3603a13a9428063a871d4abba7bb21bbbf07c13a113e883bd6a4edbbd0dbb23a1974263c4b4e88bb2d2712bdad2a06bdaf90323d0e6a2d3d6e6d29bb747b47bc0247713a4319743c1be456bbf0bda2bb0247a73ba9aa513bdec331bbcb603dbbdc4c1d3b12ba633b997d1c3b2fc79fba97e4baba7a0a123ae7e085bba20b493c829e4d3a51af17bcf180f23c9e90ecbcdfc602bdd7af0d3dd0282d3e9d211d3ef8de54beef1253be2342d2bcd1994f3db7ada23c7d142fbd7fd8943c32f384bb9b2018bce8439bbb48fb39ba4fa5c43b4bd500bb84a15cbb1285233c9c9425bcb01fdc3b2f7e33bc9bc12abd219b5c3da51e33bd86434b3d8f4d413eff565ebe7fa8283e3ab868beb289883f59668a3f59668a3fb289883f3dead239d2f36c3a911527ba8f640ababeeae3b712125638d42968b7f5ed95b8e28d0539d4d29cba840bfb39dae44b3a81763f3b0ef23a3ba9faaabbc9d65ebb347c023b5562e73acfabacbad3984abbc64c133bc411463b5c7052bbe01a29bb12316e3b7cc7583bd73b57bb8be981bbc71c07bbd4b3b6baa350ca3a10d1e43a352b55ba447510bb1c04813a5d48103b6d7a263a6ac9973b4f38c23afaf9f2bb6c61bdbcbe018fbc4a4df03c150ed93c3c22d0bbe38c5abc78fae73b52b6743c0cb42dbc195f16bce9e62c3c2bf42a3c15981abc4c7d3abc69d6273cf1853b3c6362c6b93fdfabbaf9ccae39609c233b2e60b4bba6a5b33bbc17f33b8e17f6bbccd8f13b23d007bd32cf82bcff4f3c3d407b193e2000ff3d00c13ebe1d2137beb88117bcaee05f3d70d8be3b68a050bddff1003d1517523ca5e5d7bc29c29cbcada42d3ca28a973c1c624bbc44ad87bc7481983c6c9de6ba6dd782bbfd108dbcd978cbbc7675853df4af64bd2d20023d9d1e503e3c2447be0eb70f3e1e4774beafc6873fa9458b3fa9458b3fafc6873f1649573adc6803392acca139e02629bac16c47bb5e9012ba7330c03af995283ba078d0baf4d263bbdbba5d3b06952b3b3c86a0bae2778dba25211c3a2e9df5391bfceeba3c9b4cba403a18392eb7103b7803243b5266153aedfa46ba84b25bbbe13f393c9c08413c456b60bc15ac41bc67ccc63bad7f943b50afe4bbf16dd6bb4baa323cac652a3c898f63bcd84f25bc2980813c083b753c68ea61bcb052a8bce414cbbbe0069cb98bbd233cd1d70d3c783adfbabf4d79bb3ce1673b89d8a13b155e91bcf3f06abcfc359a3cdb86953c08b238bd1a3f41bd4d34493db23b4a3d217925bdf95f0dbd5db72c3ddf0b233d243657bdfd3932bd9357673d7836383d10aa07bd535790bd8394f63cd1bda33d596af73d36c3bd3d59fa22bec3a915beb043cd3b5376773d3a497fbc800b60bd3df29b3d9c16603d930c91bd28b688bdd898b93d3551d03da2d0c1bdf46dcfbd9be1d23d3898a63d2790c3bd2730c4bd76e9803d5c43063e49f9f7bdad776dbdcbbf6a3ee93008be0f4dad3d61ea89be6696873fcf018c3fcf018c3f6696873fc6965eb9074ad5b7600016378c1e20399cd455b8dabc46ba033faf395af9e1393b1ad4b94744a3b70ee517b903bc9d395272c434c49c70ba44a9523ae7e215b9bbfedfb9d3f7233a618427ba859c21398e502c398418e3b8a03aabb9443ca639faa0a2b873644c38144994391ce18ab989624eba7cd41db96eb66c3ad07698394db15a3950ab643a516134ba06c536b9d1eb65b9072a89bb88648b3bf2fc903afccd6d3be268603be5560b3b36d3e03aff2789bb1ccce5b98a59ff3aa7296f3b88598639a550d1396b0b4db990ad99b873327ab7930f64ba36c51b3afeeee2390e33163bc2c2f03abe07f8ba775119bb9ad2d23a0e03093bd3f36fbb1ec4343aa93d033df0bb0bbc7f8681bcb952a8bb26b6a43db264a13df7ba02beb99e02be51570abc3a95093d50f5ccbb5b2b87bccdc6703bc5b4c63a6b0cf1b83baf91bb906b033b3ece753bbe8480bb7b7907bb277b75b8c8f1cd3a77b108bb122cdb3837fce23b831ec03ad8327d3b50abb1ba0e8fa43db41a03be3290a33dc23e04be7c638a3ff08d8a3ff08d8a3f7c638a3fab0ee0374b5b43396a6e45b98ed5de36d1999339e531e5b9abae8039319c72b9c3e436395b73d63a32b4c1ba31c340ba03002eb950fc53ba30207a3a0d0e1bbaceb7f23af405863aebab0abb1999b0ba2e718cbac2fe95b73df61e393d6e503af58266396ea864393d6573b97c315cb9d12b2bbb9947c3ba6e56363b0a96ae3af50e9cb96525d0ba4d3cc93aba2af03946fca1bb3edba6bb3fa49e3b4174cf3b7b2d19bb80bc6cbafdfc0d3c30c9c73b19d9dbbb17ddefbb98d3f33bf87a063ccbd6bfbab3f4e0baf6b2b839472e5e3be1b200bbc00338bbbc44533be6ba083b2bbbcf3a33c0073b0f6e17bbb8d46bba6595e03a2790473b1bf768bb3a59863997de223d9750d0bb3f3eafbc23c60ebc773fb43d6f16ab3d58020abe292e07be035661b97eb3413d957080bc6c31ecbc7b4e163c144ee33bdb839cbba23c35bc17e9d83b06a90e3c1cf908bce7e5ecbb075d9c3bfdfd863b9507b7bb20e890bb1443183c9cb6e63b501086ba74c494bb3e49ba3df76004be5682a33da0290fbef21c8a3f17ae8a3f17ae8a3ff21c8a3f27d381b89d2526389c9cbbb8e85700391b9a3d3afb2aafb83571ba39c00351ba63b61d3a0783923a0462d2ba550be4b975ad233aff1a3dbaec3ea0b7e34514ba1502463b8d7f9c3af6bd16bbb31138bbe7b284ba4076d83a21cca1baabf1543969eb7bb8b6a17cb977c1c539d9a585b8430a44bbe110e53866fac43a4df3703af97049b9bff66ebb313e153abd30323b5ec803bcd4035dbb70a3df3b98d5a73bc043cbbbd9a505baa736113cb021123c65a9debb094036bc8df5313c2a9a193c1c68f0bbbda3c2bbc9e8c93bf132103c6b8a2bbb21359dbbce939a3b50d7773bb6a227b7aa5abcba6334863ae89b063b16f7213aca3dd339de4696ba2f9c283bcb7f0a3df4b78fbb56a1a4bcc07eacbbebeeb23d6aa09d3d7f9306be885702be045c573c06f73b3d2b5c9dbc3baa1bbd11f69e3cd21fbf3ce3deaabc7de2b6bc056a583c4955943c1b3273bcc1b18dbc72a18d3c2379343c563b81bc5b0d66bc1f7ea63c3f2e893c4ee936bc8c2886bc0f2cc33d14bbf3bd2ae6903da21d15be28c0893ff2108b3ff2108b3f28c0893fcd9732ba76a2013843bcb03814050c3a6f38753a44190bbaf59db7394a5e35bad114a4bad9dc48ba4d68a039a7a3ac3af0b6813a89145938e656b9ba04117ebaeeb149b959873a3a1858efb83a5f8dba1558b8b9ba0e263a809a8cbaa9d1483ab93c1bb8be9c59bacc98743abb7b32b9f27d9ebae76bd439d25a333978db373a871327ba511d0e39d4549139acdbae39b7cf10bbd65868bb5210cd3baebd753914e51dbc746e03bcb760853c3ce16f3cc626fcbb8af8c4bb64bca13b656c283c95a45e39540643bb894e403a5b6f283b723992bae2a1f6ba2c123d3b999bef390da9093bf38b543a178faeba9adcd3baff78b5bba385be3b9944e3ba3d3e183bd2a80f3d703292bc75b3aabc1142f43b7c31f63d0365da3d255025bef59c23be02045ebca577563dbc9ccdbb7330f6bcc7012d3c5056adba43ec5c3a178a1abc1b6b853b82fbcc3b1ea4d8bbf8d187bb3d9eab3a0ea8433b81749fbb0237faba7cb693bbe61a983cba6a40bc34b24c3c2ece083e97102abe1072e73d059334be472b893f0fda8a3f0fda8a3f472b893f88cb9cb9011a06ba195a0f3a28c69139239dc839185d2b3a321215ba702283b9a7ca8bba2e3bf6bad549c73a3f2ab23acdc9db39f3cbb43aff6f0bbb48af54ba097a163b0fe515baa89731bad78bfaba1e9e3d38a582563b430322bbafef97ba82de923a6ffd52b95dc6bbb87a8b81ba099658baa688403b360a2cbb409d863998fbad3b1b0e06bb539c303abf4398bb1780cfbb6d3b803b400b50b8bc4d063b3464f7bb1a4d09bc478c913c5c9f363c2c7f3dbc0b8a34bc41581f3c23f5753c3fd8afbba9a2efbb96b3e03b6d95e73beeff06bc82351ebc09d4153cc4771e3cca797bbb110ad0bb7191023c22bb533b862098bc7eefa3b9a91fde3b6a1f623c932cfb3c15e2d0bc01be56bccec75f3c7c1ffb3dc88dc73dbfcb24be38031dbed4fb1cbbd5cd8b3dd0e9a6bc91bf32bdfccbcb3c42be003c00f039bcd644b0bcd4c1843c2840c43cee91a3bc2e79aabc329b8b3c776b763cd28fb2bc031c5ebc0a4e303c348f083d68aed0bcda917dbb4834193ef4a01dbe6f0ac93ded6143be4b40883f48c98b3f48c98b3f4b40883f5cb841b8747d81b9240afb38c4e11939014321ba6e81beb8d31b0a3a7a37203a8f9703ba54d50abbfa7dc53aaa96af3a2661b6ba0ababc3a0bb616bab53c9939da61be3b1115093a6dec6bbb375884bb31221e3a5f6b9b3bb25967bb957a1cbbc49ce43ab0264439aec95fba0529afbac2e8d43a4fa6713bf5454dbbb8a04ebb401a123c0c23833b32c9f3bbe32dffbb50869fbb679a823bb66f8b3a44e573bac588e939b60b28bb56a40c3c6a84953b965b8dbc90cb34bcfd21713c6f06883c97aa2fbc14c15abceb855f3c94774a3c6325cbbc4da3c8bcf895cd3c1507da3c5ae68cbc888380bc9ecf9a3c370f8b3ccb97f8bc56cf7dbc9da6b73c5b6ce03c1654f03c08d0f3bc4e2d13bc93c3833c18f5d43d5fb0ab3d24cb13beeb650dbea768803c539e8c3d7b9111bdd48442bdaaa51c3d32aef33cd54afcbcd3ea1cbdc838493d571d5e3d34474abdabd461bd14b7383de7391f3dcba447bd36c720bd70f62d3dfd78393dc7e920bd9b6f14bd3a4a0b3e6726f7bd13dc963dd6ef3fbe4c9b883fefcf8b3fefcf8b3f4c9b883fe1432ab94d67ce39b15882b916ddc038d841e6394e0ff4399c848ab9f12e1fbad26b6238751b88ba57cef33941080a3afe1b5b3b3e74323bf2e89cbb649c75bb42de723a53a7e33a2619b7ba16caedba85e8933a272cf53ad676f2ba9738acbab95b8d3abb1a63394e9c1bb9afe88dbaa67702ba89d104bbdbef9f3a0124b33ade3045bb5bad613a50a665388b73093bf98bb5b901dd12baa7cba63bfb3891bbe0a3cfbca0a4b1bc16e0053d218bf23c9af10cbcbda505bc6e2c8d3bd63b653c251aabb9128c07bc1741a33b2529823bc65899bb1d3810bbe1a5493b8dce843b63a49c3a6bd8bf3ab19a83ba1a55a4babe875ebb4005c93bf28a343ad4105ebb36a0953cd3d0cbbc399da5bcf92a003d1b0c263ed2f0033e51a244be205943beff99bbbc7ec7713d2d1e6c3bd7031cbdfb88923c2b3834bb540f5bbb33ce39bc0bfd4c3b571b0a3c8cb7debb3e27a1bb6a96073cdffd85bba07985b9c9cafcbbc6b0e4bc5f3c343de52809bd3bd30b3ded5e3c3e541e4cbeba080e3ec29f5cbe0cb3873ffc7c8b3ffc7c8b3f0cb3873f228f3238907f893aa2c1c7b96f6e29ba87cc89b9a215b9ba6ddf913ab2f4433acb5fddba084a35bae4b9b73a940db43aea3a683ae306a9b9cf0801bba6d904b88f9a003b2e5a593a34038bbaad8b2bbb4372023aed29223b98052cbbb7574cbafa095e3b0e8ff83a855417bb852663bbc47c93b9d013c1b9ed6fa9ba3388cf3a98cf893bf549163bf6982fbb53988dbb3a167d3be092e43bc996aebbd3b1f9bb5ff862bc08e302bc67f2b03c49d35c3c0ad530bcd46535bc8f27203cc62a783c60f4fbbbb26340bc5c54293c00852f3c4f5f6fbc99fd68bc7610733c5db37e3c94e4d9bb18b694bb40a1fc3bf499ab3ba26089bc521d9abbbb06833cb651d43bbf64fbbbfded27bd1aac0f3b80385a3d24891a3e1030c43d8a4434be332426be188082bb8040a23d1228a2bc93b667bdaa6f193d5bad4e3c4882a8bc8170f8bc4b86b03c5ba2063da270debcc963e4bc009eec3cd8df423c3d8db1bca817c5bcf192e1bba19d863db9166dbdcae87b3c618a633e12062fbe7f56da3d3c947fbe6bf2853fa4618d3fa4618d3f6bf2853f9ffcf1b83198e4398e38a23a70c9d9bae474f83907de8738c9c80ebb0572023bbdff07bbccb839bb82bcab3bed1c093a1e9b4abbc2ae2c3a9584aab991af303b635496b8ac7cd8bb7aeb4a3bec104a3ba7a671bb6bce693baef5b539a7076fbabeb4143c61bc893b5f4f09bcd217d6bbcb7abd3963c00c3b6850c8bb2d6f283b744f313c06115bba24c2b7bacd3333bc4f47103c3221be3c27bab4bc9dba6abc12951c3c442837bb3ddec83b8ca726bb92a01abc38766e3cc7741c3bf8cb7ebb24ef32bb9336b4bc7352283c5f6d973c1cd540bd44e919bdc124423dcb432d3dab2f98bcaf9ba1bcb80fed3c30da6a3cd2255cbd99da4abc595a143d0e910d3da0e096bcbe7db0bda8600a3d5fe1a33d8c17db3d5dbda03d221614be6f6909be79a7a73cf2e5683d37302abdfae922bde1dc553d3af6463d666b1cbda74b89bdd103a93d59d2b83dd702b4bd93ecb0bdcf22923dd1cb7a3d2d589ebdec3d82bd614b813d1ebca03d3299bcbd496d0cbda743553eccd9d0bd05a5a23dca0b8ebe236a873f4f868c3f4f868c3f236a873ff282deb969c0a539be8c10ba659c6d3a5b738f3991eb5d3928a9ee39bf0791baa8e5603a890ab6ba15b563ba51f3dc3a1705d53b0226ce3bd0a517bc0b84ebbbf69d453baefb573b59a2beba9770b4bbf9328d3a3fd1173b6ee639bb1ca35ebae6efb73af7406d3ae4a08db8d7ad0cbb0e880bba4df5f0b9a8fa9b3a169233b9ac61ebbad257e7ba891000b9d1bd743b0ee4a0ba3c1f913bcda9b13b6aab18bc8cd520bdde19fabcccdd3c3d43e9283dcaa8f1bbb1db8bbc568ebf3b6455a83c04ae95bb093904bcbe66e23b2aa4bf3b4f6367bb3c8e67bb10d2273b493d9c3b877fb438b44a7ebab4516bba724c133bc11348bb0cdd143cc54a8d3be54730bc79b82e3c7457febcead4b4bc7501413d38cc3d3e999e0e3e170558be933f52befd66c1bc4f30913d85d2d03b96af57bd4e06be3cf5ec9cbb9c0501bc055324bca3a191b9772d1d3c7cd693bb2151a2bb22894f3cfc9616bc0bb8763b97bf3fbc46f426bd06a9673d585839bd0711423d7bc8573e9e4156bec806133edec171beb2c6863f802a8c3f802a8c3fb2c6863fcfd628ba3fd2c939817710399f2ddf39ce1d1cbaa2f663ba0a23c03a1903e33892695dbbba4c30bb3d36503b31547f3b4235043b7ca899b872f77bbb45041dbad41d903be0305f3b3a926bbbcd52bbbb9e06453b9fe2873be923aebb20a135bb6e47ea3b2005db3b0384ccbb924608bc141a4d3addc92abae98013bac954b8b8036c133b7896ef3a9e098fbbb40b59b8c583633c6df4343c552925bc29df93bcab39cbbc73b4e9bbc607e63cda539b3ce63c80bc5ef6b5bccd409f3c947ac13c25a084bc6c0f82bc2134883cf2128d3c984c8fbc9b65a9bcbbff913c9254b13caba7dabb2e5781ba7b537b3b999eb63bfe6f47bcd169f5bba47bb83c66220fbbf0791ebd0cf04dbd4ed1903ca92aa23d22c2313e7519b83db47043bec43228beaa6d333ce6bacd3dc34e08bd49b0a7bd0f69493dcc2faf3c50bf0dbd52e516bd11fd863cae64073daa25aebc1113e7bc9346e63c2423503a6eba63bcf2b8a4bc8eb429bc0cc7a93dee2498bd176d8f3c6894893e848122bee4b9aa3d488e90be83c4833f5c518f3f5c518f3f83c4833fcd611b3baf60ac3ae52444bb230c53ba0a79173ac37e153bb1623d3a0c5b68bbffcd58ba32f240ba285c833ae4d3423b641cb8bbe01a31bb5a30d03bcbea033b97fac2bb0eddcabba7757c3b9651093cf8a2acbbc9e2e9bb83c4ea3b9e4e823bf4478b3c75997c3cc7dda4bcc1a783bcdd33f0bbb5fed7bb15c6033c5f33b23b8a3e9a3aa5c9cdbbc3b6c1bbcee7043cac3ee03c6cb49a3c3587cbbc2bb9f9bc825b173c6228a53cfdd539bcafb102bc22d8713c726b533c8dbd50bbbfae97bc99e465bc1546243b6959263ca5f8193c08586dbd9c3f83bdb5c1823d4f45823d9fb4e6b9a84d8a3c1001b6bb68c0c8bb041122bd5f8205bd9f1f883d18666b3c23b9f8bd282ed8bd362cb03d0dda1d3ec6b1013edc642a3cdc1a05be4ccccebd8178653ce14ab33db16c6bbdecd76dbd6cace93d575d753d2d38babd74d9bcbd7d6b913d2574db3d1253a1bdc39fc6bd60486e3dbbf1483ca3f44cbd67b602bd25f89f3d8145253e249b21be0b338dbd6799ad3e1c1190bd88bc533ca3b4babe0e3d813fc8a3923fc8a3923f0e3d813f40816bb9c9bba8b8288b2f395fe7093963be01b92d1d84ba6f50ec39a0c02e3a233e19bad26a153ad052cf394ac72fbafb8e7eb999168cbafe433bb904caae3ae5381a387727243afc820fb81f2856ba0bdf15b9aa0eac3944be42ba9fd60f3ab78b4b388d10eab973560c3a4bf520b9025faabac61aa83962d24d3a321f8739335d9c3a1c1ccf394b1b86ba4f178cb997b5fa38cca077bbc460493be705cd3abc19883bcc61853b1e4d2f3bd9d163b9a1cf67bb421389ba12d8c53a0eb8833b0ca1713a466b97b91652dbb9367776381aea89b86574643ae2fdd6b81df006ba2beee83a2ebcef3a2683e4ba464004bb983ab43a4ef6cd3afb3041bb02d9443a36d1f63c0bae21bc83e354bc3dd29abb8500a33dfe12a13d3ce402be889001bec4f208bc27b1093d2f79dcbbe7f383bc3eb0133bc0b4ec3a3aa79db9c3585bbb6497233a9c18233b277a27bbbcf141bac35af1b963a8163b006a45bb011c643a0bfae83b9f923e3ad6869b3b1b09e5ba9d63a53d7a5502be6a9f9f3de73c03be82568a3f75a08a3f75a08a3f82568a3fdcccc1b771e74f3979511a37edf040b91c6e90b91bca5fba056ebc3a1c31c4b92c6c20baab8f903a3e7ee6ba49b96a3a358221b89d8f91ba1769a23989338339de291f3b3bd6413a2b13c7baf40e0fbb3662f2baf138903a0c212bb9b0923f3a1667b339dbfa30b9150d5039673cd5b98fb4fdbaac17aebac1a4f1391927303b939cea38812c1f39bb83543a5ca382bad7127ebb79705cbbbb209f3be3f45d3b8f3dfcba2f7b37bba8050c3ce050023c4e02aebbb272e5bbfc6fda3bd537f43b1e5c0abb285f1bbaf8aef23905b9373b1c3e3d393fd7d6ba6287983ad3f8483a2c11623ac3b5f23aff9a77ba7bc7baba520894bae7c8d13a74fb12bbc17b4c3b5f941b3dc7e423bc1b319bbcd7f7babbee04bb3da89daf3d08c90cbec8420abe387506bb5b18433dcd6263bce3aef1bc12000d3cf0f7c93b788ca2bb689b1cbc0c3b6a3b7fb6a83b1ea58abb8d57a1bb03f9823be75e8f3be7edb7bb516471bb4943383ca5a4fe3bbf4f16bb7878b3bbba20c23da7d705be5ff2a43d06c711beefe9893fb8d28a3fb8d28a3fefe9893fabfccdb80ac22c398310dfb75e0aefb7959fc0394b590eb9fdd90e385cbdf0b7e59fbeb9b1bf95b9a7b65439a6c81a38006dc43954a9493aab415bba7e948aba1b71ccb73cfcb9bac4b489b97bd3333adad088bacc9e0c3a9649383ad96d06ba8a41443a65c048ba4e6bb138b07586b8de30143a32baa639361816ba74f15bba3f5681ba3e0b743af54a4fba9940bd397928dfbb4ed6debab6687a3b20efa83b19748bbbf1ee76bb48e14b3c17d9ee3b4a58d4bb8494f7bb94a8fc3b6687153cd3958cbb056e4bbbf4b6d83aabbeea3b946f903ae5d9dbba11871b3aac0b9c3af6fea3bbf1dcf7ba5ebf943b1b955f3b1f0d1cbb9ba141bbf2d2bb3ad27bcc3b39aa073d2ba137bc21f16ebc69d437bb4116be3d16ef9f3dd7cb0dbebffb01be12867d3c7ab7543d9507bbbcd4f732bdf2ca743c7076a13c5d8a69bc9e6faebced9c883b100b343c0e4b04bced810bbce79c533cf80c213c446a62bc0da91cbc4c6ec03cc2d3753ce5c150bc9cc878bc2983da3d0bdcf6bd9109913da7281fbeccfd883f21c58b3f21c58b3fccfd883f912ca7b9b0bcb5b84ccb4bb8c930d9392cbaaab84385d7b94637353af684feb8b2af17ba30b3b5ba18f7e23915679d3a71aa443ac1b56739eb3ddbba2f8119baa5253e3a3fc3363a9e499bb7498911bb4a4bdeb92bac793a46e5dabaca4b8d3aefec8639475cf4b91632573aaa3b35ba8c6c90bae748663a2b598db9b7ee0d3af9c6a4b871dc14b81c9794b99d51f039a28df0bad3ae0bbbdf07b83b2fdd98ba921b1bbc9ca50abca6238e3c0aaf623c9bad1cbc122ae5bb9b09bc3b9bf04f3ccce98aba4b6d91bb039a213b8bb96e3bd3c3a5baa63f00bb05e4113bb90caf3a1533d1397edd343a487772b9ede05eba941bbabbdda0863bfbdd82b90f1c313b3bbdf53cb97c93bcfc1797bcc3b02f3c6354ff3d2a51d13dffeb24bed91324bea6c843bc9c3c6e3d1bb73abcda5306bd0a715c3c5b24d3b9a70b2c3945744dbc4f3c633b1593e83b5c0fd1bb9eea9abb7d3e403b9359373bf2f1bebb35c612bb2bc248bb94a3ac3cbd0168bce2e6303c06bf0e3e26a826be251cda3d844737bed2b8883fbe4e8b3fbe4e8b3fd2b8883f60a2c53925ec2fba28040139d3e12539f83cbabaa0c4693a3e233d3a0dab9538ef9b853aaef544bbd10bab3aee19493a313b19bb96f4e83a943ff5baf2bea23a96dba93be9c593b91ca5e9baf5bc87bbbfd1fcb9cb665b3b301a48bb19a807ba81e8dc3a39c5a73917756eb93dd200bb065233ba5270263b61a8f7bac9774ab89148c13b91cbf0b9f79d39bbd4696abb350f81bb8749953b6c73793a1f5036bb380801bca390ecbb4acb873c6377403c2ce286bc573e5dbc82987b3c0e32913c05ef04bcf74a22bc2f8e113ca2a7333c724905bcc33038bcafd61e3cce682d3c43656fbb44aeb5bbe748fc3b56fc1a3b3806babcbb6108bb11a3353c9beb7e3ca45f953ced27f8bca95cccbbef05d13c576e093e15c5b43d8e4926be42321ebe5af8673bec2eac3d8acc0bbdcddb58bd516e023d278e4b3ca7f671bcd6fdf3bc3182693c0047d03cd3dc9bbc7dd2adbc65b9923c266b463c11beaabcd2634bbc9ca8823c3f6f223d706d0fbd974dc0bb1a322f3e86a413beb0d1aa3d614454befd08873f3bf68c3f3bf68c3ffd08873f94527a39a8751bba776ab838fdf04f39658da4bae5a3f8390321823a7bff8c39d0074a3a00fd3abb4c561a3af8ffff3a379d59bbf155583a13a0cd3a4c73523a4f2dd23bf39daab976c994bbc56246bb8feca93a4982a83b8eee72bb63c477bbcd0f4f3b3a45043bb73b28bbfba945bbbfaaffb94f5c7b3bf5561fbb2659bbba611b3c3ca6cf6a3aef00e2bbf001f6bb1d10febb9544ea3bcb85193a12dfe2ba54644b3af7c921bb4517183c0d87833b185ccbbc803163bcb577b43c9a43aa3c0f4424bcd7cc7cbc01dc5d3c885e6f3cc1a28abcc552a3bc4e978c3c2da1ab3c570813bc57e714bce4973a3c2ebf003c51a608bd199420bc58b3af3cb970cf3c4724bf3cbb440fbd8d4484bb0164c33cb290eb3d79d69f3dc19a18be8aed0dbea23fdb3cc127aa3dd4c14bbdc93876bd418a213d4a96023d4096f5bc17c52ebdafbab83cbf1a0f3d8817c4bcf5ae0abd9fe5cd3cee158d3c40b0e6bc6c3788bc3d58393d930a323de2123abd93e2fdbc00ad1e3e5537e5bd91c8833d24ee52be8f8f873f7ac38c3f7ac38c3f8f8f873f5069f2b943d6d839eaf4fcb92698263a8c55eb394dc604b980e496391a5b13ba87f71dbab3b884bab30c413a5a4d863a2aac653bb3eb183bf416a7bbf01257bb7304103b41f02d3bc72b13bb87e259bb3a3a203a29aa203ba65d06bb86c7a2ba86cfb73aad2fcbb9744ee338bfd18dba446a023a4b25cabaac2a933a79cbb2b8428c47bb0f76d33a826493babcac2a3bacc0093b82eabf39f4e16e3bbc8ae2bbbe1ee1bcf11ca9bcf0ac0a3da811f33ca7b832bc9d012fbc6ec9e33b0175893ca0311aba5b762bbca883c23bb5c7b43bf062a5bbd220dbbae78b463bf457823b3c9380bae3b7c33ae795e437fd5875b896b8f5ba40b7773b2b06193b920d90bb6f99c43b27b4c4bca2e979bccea81e3d9747333e7338f23decf745bef68544bed967c4bc71dc933d7f99a5bb47ee2dbde4a5b23c163b39bb50522ebb4c517dbcc39f093b4bbe1c3c672bf7bbaf9392bbaeca163c5b6084bbff7bebbabfece6bb9ab0ddbc33a5393dd5410abd6221033dfe144a3e1a8f47bec482fe3dd03460be1a67863fecc98c3fecc98c3f1a67863fcea58cb7593e743a87d02eba4f3f7cb91a3da638341a54ba10f15f3ad87b1638aee12bbb11ccecbacf9d423b60b30f3be3d22ab8fde655baf1a1e3ba04e5b23a5a19443ba90c3c3a21eedeba187460bb4c6ea63a2eac583be58780bb2ae7b8ba8d6d853bd5d73d3b653339bb39a799bbb4bb8538905483ba2581bfb911df9a3a55223a3bec570d3b577265bb356b01bbff313c3c1fba0e3c46c42ebc86c755bc9d8d7ebccc7738bb8d7aad3c9eb8283c3b7a8dbc475b81bc62f3903c59d2a53c9e9042bcac198abc588d6b3c0c1c873cf4387dbc5ca581bc2d327f3c66bc8b3c55d4b2bb80a381ba4ff4b13b8c72253b24067abcdd89dabb2a849d3c35386d3b2c6f1dbdd48834bd00a7ad3c410b913d1cfc303ee3568e3d196a38be2a001ebe6e25ae3bfbf8e33df37b37bd2a609abdaa57483d6b868f3c5cc0c1bcd87130bdbf398d3c59250a3d5248cdbc066bd6bc8ba9da3c291aa73b21b997bc844096bc59ab96bb0575923d80a285bd3cad673c64ae873e50011fbeae00913d0f778bbe8dd8823f927c903f927c903f8dd8823f359d73b937a600bb390a953b0e691ebbaa730b3aeeb5893b9c8a0fbcb1d0823bd1dbbc3a9f9f07bc51e15b3c145eb9bb830408bc852c3b3c795e3cbcb361103c20379e3b7cdfb4bc48f88a3c1fa1a4b9b6f1e7bbbeef873cbad34cbc5c6e973a649d5c3c3598693a29cec0bbe16320bc9edc38bb5de1be3bbc980dbc6783b93b64fbc33b8b8f7abc5bfc7d3cb90ce9bbbccbf13ba27f0a3d3b3429bd87e4c5bba5439a3ca1f876bc9774a73c2cf770bc8a5fc6bc5a3f033d48166bbb7a16053b9b1f15bc0fec37bdf29bfe3c6a79ea3c7a1329bd3ae2dfbc3a3c0e3d734c133dfff9063c9e2766bcd0e8883ccdc91abc002357bd4188d83c4334013c287ab93c71eb14bd4efdeebd33639f3d04a1b53d3b92d53dccc2923dd09b22be3787e2bd8729823dd2d4933df4da99bdc85f8cbd73097e3db0a09b3db0a142bd5152c0bdbf82283d85825a3da68344bdfb1537bd1702853cfd96c83cf0d412bda0623ebc96c3a13d7ea9543dece7bdbd6870ccbc53e9813ea37658bdf93bff3c5775a6be87f1843f050e8f3f050e8f3f87f1843f6f1ea9b9058e80395ab71cbae2906d3a5128b5b792fbd438b1fa6d3ad7f096bafed9d3b9e5e9f6ba3110a5394a17263b24f1df3b975cae3ba7cd1abc8428d2bb41978d3b712d923b498249bb92fbd8bb0ab4c03a72bc533be3f64dbb3c96f6bab17c8b3ace17453ac2decb38e070ebba380932b96cdac1b9889eab3a29bf56ba9a89f6badd3273ba9090e5ba35979b3b9200963b1b8db93bbb97203b734e67bc482f32bd31f3e0bc88fb3e3de4d22b3d0dab2ebcf0faafbc7e1b383c7120c13c985aabbb83e232bc1647003ca2f6093c09ca39bb7f3548bbb7df0a3b068b823b61427dbacee0773a731f06bb6f372e3b6a84e6b92e00a33b16a6f33be5654fbcf57903bcd665f6bc147e65bcef836d3d3302503e0677fd3dd28e59beba3e53be35cbd0bc476fba3d9a24e4bbcd0670bd7ee0e93cf8accbbbc5e5b6bb79ba7fbc075825bb0f2b2f3c3a2ea5bb696461bb5715583c99071fbc76a6363b0b3b2fbc82142abdbdfc693df10434bd14c43c3def2a6d3e3dc84fbeb713fb3d4e4e78beaffc843fa7f58d3fa7f58d3faffc843f64a0a8395f59433a960960ba1c691fb88e1af539afc365b9a0a9813af40eadbaa28392bb0b921ebb0e948f3b9abf873b24cfacba89d608bb9e7789ba51a4293b265ec23bd08f893acaf18abbd2aea0bb18b58a3ba927d23bd6b5f5bba32294bbb811073cc5a4013c134be6bb8bca1ebc135064ba35b7efba8eabfb3ad0de223a1cdac4bade0473ba86dd48bb07cbb23bca6acf3c79b6473ca0c197bc0cb7c8bc207fb3bc1985a83b6975b13c9845213cac1ab9bcf8fcccbc9976f23ccb70cf3c074dbabc651dc3bc7908b23c0a45dc3c49608ebcd276bdbc265e973cbc02bb3ccc2ea9bb29cb963b54956dba25ee3e3be304caba7835b0bbc964b53ce86c6cbc5dccafbd33a65fbd32b73d3dcb4ad83d6d47483e0e11433ddcfd41be840616be5302cf3c5cb30f3ecdc08ebd4a14d3bde761763dd6c5d23cf52c02bdafef59bde9241f3cad320c3dbb5299bc3c2bcabc2b5ec63cf80af2bbef741abc154052bcee1861bc921aa53dd7a39cbd794dc53c2d9ca83e6d0b0abe8359023d4493a1be5eca7e3f8bcd933f8bcd933f5eca7e3f454d353a299cebba728536badd45ee3a6f293e3a0799193b100456ba46b572bb122dce3b9152603b76f7d5bbe2459aba52b682bbbaa8753bc212d93b1c7eabbb147b2cbc996b10bc7d32d53b48605b3c0a10a3bba48529bc4b34fb3b786f9f3b5e45923c4c79873cad36abbc050084bcbfd189bb28700e3bbb28b03b9f300fbbd47d7cbc2410a1bc574b5c3c07a8b93ce7c2a53c9cb1803a9a5a99bcb25c6abce2f8a83c21a9b83c00b1dcbc9ab421bc3c39b33c6021d93cbad719bbedb515bde91232bd2ba030bc0a25083dd2a8ff3c0ba230bd818275bda3e04d3dac865c3df5bb363cdcd3933c0063c7bc3d5eabbb937c8a3cefbc983ce4e1cd3cf10a5abdab7b34be6d05adbd992ef63ddb27263e25dffc3db83d85bd8384d5bd399b45bdb0175f3ddde9ff3d5947f3bda85da9bd4d73133e551bc13dd892d7bdb2540bbeb897513c5246863dbfc0c7bcb02b45bd87ecbd3bfa7612bd0a7a003ccc976b3c7ca44f3d24eae73df8071dbe79bbd0bb4c71e43ede06afbc8e0c8ebd95fce0be40cb733f5f4a9a3f5f4a9a3f40cb733f057676b93290d9b8197a15b9266cf139dd4adc38d5245f3900a7a737b90edab94d4a82b914013fba83041f3952da1a3a452c29bae216c1bab151713aa8798b3aadcba339a3158a3a4428d3b9b7039bba2d0d30b9337855b9922551b9b1d7143aaf519a39828ad63859c92639219e0bbaaeca63b8572f8c39b2aa37b6d9899db86414d4380872cd39d860bcb99f6df7386532643917265abb93d4503b9027433a594bac3b36da863bb653c13a71acc6b8854d46bbd92668ba2098913aa638693bbf7e623a5591a23afd6bbabaffdaadb9f68ca8b921db253a424841b9c7ae8bb896ea043af79ec43adae156ba4078a8ba3feba03a5f66d83ab49636bb0a7f293a2eddf63c492d25bceda153bce75f94bbe373a33d878d9d3dffe301be530501bebab124bc63c7023dd3eba6bbb4af6bbcdbcf663beaebb43a2775bb37c9bc96bbec3728ba4d4f0a3bc781c3bae03426b95ea1b1b98695c03a743a1cbbb987823a02f1d93b84ffa83a1e3e9c3b9956e8ba5458a53d666102beebc19e3d9e9b02be82448a3f93b28a3f93b28a3f82448a3fe4baa7b875518e38981785b82e39a8387021e838a456e0b96b6df139078169b962d5d1ba41ee903a139a0eba19b4333a7662093aae1b20bbb9430a391136a33a7bf7d13a2f685e3a1b5b0fbabcd11cbbdada01bb71912039bd303e3ace68883a2a590238b5e42e38685caab9839b9a39cef102ba70e23aba3a284a3958297f3a94ea4739130e6d394e2aff39d51e74bad46538bb93ea2ebb73b35a3b56384f3bd1d095ba1b98e939f2540a3c42dd853be9e1b6bbfd84c3bbffc8ab3bd5d2fe3bb440c43a3cd498b95cdaa7ba1634353a7987c33a9949503aece059baa430aebae4c8e0b90c09e838f63759390b42ad3931b5eebabaa9ef3a1ddfceba99fd293beafd113dc72f4fbc419384bc76895ebb4785be3d3616ac3dabc40dbedd7909bee8b99dbb3b333b3ddfad36bccf36e2bc173f9c3b3d1ca73b9ce1bbba65be08bcee1da1bab5fc273b5841d6bab61c21b9ef50283ba69e833b9da8b0bba206d7ba776c1d3ca82fb53b272c07bb1301a9ba14cec63d086b05bea9e6a43da94614bee1e3893f95d48a3f95d48a3fe1e3893ff3cca3b85cc05e39a21959b88077aab82c0d8d3a11e8f9b98c5313b9d389bab90b778bb8d73d553ad97053ba94ff9eb94f55ccb89e250eb858c1d0ba1d80643a4e8785b9c433e8b8da204cb70df61bbaee8468bbe818c6bac813d53ac1b86e3b2042d6b9f12820b9404a7b3a3afb94b9a2a992b9335c9c37e2f6f4385ac0d5383a03523b8bc9ca381b2a62b73dbe76bb9090f1bbddd7a0bb67b8db3b9a5cb93b94fea9bb3a7afdb9ac811f3cbcb6003c735e88bbefbefdbb52b0ce3b20720e3ce300a13b3abf7bb9f8e09cbb203daa3ace120f3c7eb7cb3b2e2ba9bbb0d31fbcd9a3ddbb1fc69639bd96ea3a41ef943b4c50eabbc8562dbac229833bca41af3b99bf013db62786bca7be5fbc5780803b8216c93d21de9f3d67c50fbe7ab605be0abb393c1ced6b3dde00a7bc0d0845bd6157853b043e6a3c1b2a63bbccf683bca5a314bc396bb1bb882aa03bdded093cf0d5d13b9e9eccb9ab7956bb96f6f1ba0703a43c4755363ce98363bc3d9bbebbec86eb3d068becbd02e7853dfa0627be3afb883fe7b28b3fe7b28b3f3afb883fb2b3b5b886ba79b9599a1339663f0b39f12904bad9c6d5b723a9073ae4bcd738812985ba93b7d4ba217dc43aa4a6443a2beb913abb6c88ba74dc0cbb11175b3af9fd973a10bcfe3a062841bad39352bb14f00cbafd46863a529e9ebaf2ae1b3a81e3a739e7c81eba4134683a295d2cba440e1cba30a9a839eeb2ad392f333338d9f8a7b9f38e2f3ab006a3bad6987e3a31d47bba16e2d2ba9c21933b5e1cceba8ae617bc54f4e8bb3f0f8a3ce48d533c95b43ebc085df5bbbcb7d83b227b6b3c558bfa392c4dacbb931a403beda82f3bbaeddbba33ccd1baeaf1c23a21c8043b2961143ab040943a8cd13fbaa9c68ebac3a8babbfb243b3b94bc7739debc633b47e3d33ce85395bc555271bc2d0e413c14aa043e8dd2c73d907a25beed0824be9f3467bcfea8813d5fa673bc9ae705bd4bc1723c981beeb8780fbdb8a95161bceb75073be7d1d23bcf69a7bb760784bb74d0183bd740113b7b5fbdbb8cf572ba73e2bbbaaa2eae3c2b3062bca5260a3cb7bd113eb71c24be2b1ccc3d54cd35bed62a883f41e38b3f41e38b3fd62a883ff3ef693ab67131ba149de9b7be3261b90b3adfba23adbf3a63a830390b999f396425933a33a07abb4b30f33ac2b5843a21fbffbafc78803bbfd96dbbd6600b3aa932d03bd273eaba115e8aba5f25a1bbcc39e8b776a3b13bf55495bb151bc9bab7078c3a001a1ebaec68143ad9d093ba0d8918bb2150b73a48ea03391818543a0a40aa3ba11fd7b9cb336ebb070ae8bae44276ba600a593b1e947c3a2d5ea8bbf4ff51bcfbfcc3bb8c6b943c719d663ce05d9bbc9c3694bc7858ad3cefa9a33cb05f15bc5c3b32bce990d63b17cc763c08df36bb82f6f9bb6680d83bdb748f3b91cfa6b91aad28bbd0a0763bbdcc00ba02bd92bca2891a39ca931f3cf5d6173c9a058f3bd046ebbc0451bebabd470c3de70a1a3e1b98a03dbb2f29bef3b021be2e4cb13b6d9dc83d8c6034bd749e76bd8a95f03cca97473cc6c321bc1da6ffbc37578c3b4f5e813cea0b2abca62d29bc6d9f143c19d08a3b675141bcdd068abbb8f1383c0863123dea680abd065abd3a6f71413e0dc40fbe8e36903ddbeb5cbebbbb853fd8358e3fd8358e3fbbbb853f98940439005d86bac14c003ba4aa8fbac98423ba9b4ccf3a4de28cbb25bb653b8a9b983aba8711bc6176403cd3c266bb038cbdbb5c7a7e3c02cc76bc52f9963be4df693c5f139abc973f043c086badbb3cedefbb4661b83c0c2631bc3772afbba8dd843b258ef2bb3cac013b47d7bb3ad3e7acba7b77c83b3070b4bb0730303ad29c073cc573e6bbfd134c3bbca5a6bb1144cebb5f36953c211001bcd53cd7bb673adcbb1f92aabcb05aab3c19f39d3ce815f4bc822e95bb76cadd3c55a94b3cff1624bbb03ff4bc62ef0b3bac78043d158e61bb1ae2753b4a70043c9ebd05bce3e4be3afcef57bc3a4d033c562b653b26abf3bc38236b3c76b10f3c9a77083c6da0a33c412256bd37bbef3af84d233d6e37023e889ac13d5c161fbe9ddd23be8910283d4412aa3dbaf983bdce037cbd2472483c0a571b3d694a67bbdb363fbd4793913b819f1a3b7f6f3ebc6517813bf2a5debab8b8723ca69d14bca6199dbba32c213dec1b333cdce41bbd4db57c3afc7b293ec3a3c8bd7f52773dc6b567be7aa4873f91808c3f91808c3f7aa4873f93077db9779b8939e060f0b9aa5f0e3a8affbd3988c6cd3970763e37eaa947ba9d2068baf4d5eeba9a04ec3adabb973ae2d2883b92ecf63ac01cb8bb79f046bbf4d30c3bd7eb5d3bf4712cbb78c076bb75daa83a6f990c3b87af09bb81c2caba96b2223abe6bea38462ee639f9378cbaf65085393e59c4baf6278b3afec92c394b5751bbc92a993ae7f855ba3989473b93d29a3b11d0d13abd92d53a626915bce3bff6bc040a9dbc15a50e3dd337f63c887957bccafd57bc3d3f1a3c79599f3c6cfc97b90b953cbcd0d2cf3b6dccbb3bccb969bb0e2c91ba8816b93a55d9613b1c6080bab8a5243bc4c55bba142026b9cd2db83974a5e53a682c5d3b9332c6bb00f5a9bb51e9adbc35703dbcec2e353d8e04413ed32adc3db3d246bed08d46be8fcadbbcc4b0af3d8f3357bcb2643bbde31cc43c67e1a1bb314516b7efa390bc1e1039bacc260f3c55ffc9bbfb061bbb4f9c093c6d14b1bb80c756ba3648bbbb3b14eabc1b42393d2a0803bdbc5a023d981b563e698245be6af4e23d28a660bea52e853fd9028e3fd9028e3fa52e853fd7393eba8c38af3957b398b9712e473a51d4b73aa20af1389e8d3e39d194eaba307775bbfe5e01bbdc19623b04de513b44346cb943ec84baf50ab7ba4145c73a35fda63b131c3b3ab18d60bb7c978dbb2c14213b2ff2b83b3095c8bb392a42bbcf51603b9f420c3ba3e7bbba4cd48dbb1f8f053abadb77ba67bf0c3a727ddbb8010eecbabe388f366ec5d3bac9796a3bdfac933cb9b6f33bca7552bc3ba68bbc8ee19bbcc33fae3acbf7a93c928a263c1098d8bcbadcadbc538ce23c7125d93c051358bc5205c7bc19f78d3c7230b33c6ef10dbc1e741dbcf053fc3b31c1343c458137bb708f683bcd661db83cb36d39961b81baf25d74bb88405d3ce86315bcd8358bbd4f1c0cbd14fc003d783da93d49784f3e122f2d3da7f33abe446f1ebe6f0be13b159e143e6e5b8bbdd0d3b6bdf6334d3d703c653cfe905ebc3d3a48bd1ceb333a0bfab03cf1664abcd87a25bcb1d1623cf80dccbb0b08d4bbeadfafbb5f2178bcf5f17d3d593b61bd5da7be3c6bef993efe4f1bbe8f18143d62248ebeaef27e3f15d9933f15d9933faef27e3fbd01a1bad9e7f3ba4fef983b35e8ccba8fbcdb3a1022ae3adff5d1bbe2134d3b3b9fadba25a7e1bbc992423cefb848bb4d7fe7bbdb5d163c31830dbc42feed3b8722a53bde03aabcf5e5443c4710033bd12a713bd1bdc13c87f2a4bc6b8618bc13240c3c2fd6a1ba88033bba9f53d6bb79da6bb9e3c6103c5b032abc3f1d013bd4bace3a5f3956bc4ecd803c017d6fbb9bd4e83bf718de3cf77816bd95674ebb33be953c1fec6bbcb2f1b33cb30888bc5d9857bdbbf8963ccdc7aa3cb8efba3c25fd53bc4c7b87bd429d1b3d2080363dcf1e88bc64c857ba25c9c43bd80f253c4071333cfc885fbce486ec3b92be9bbbcabfb0bc0cde103dd56d9abbf39f10bcd7fb65bd56c6b4bde8bb933da532b53d8d0f083e89574e3d327d27be0e65e6bd18d6c33d1f46f53d083fefbd81ecdbbdc480073d290b9c3defd659bcd201c2bd3ff2a8ba413bfaba79ef00bcd150563cc2e3a3bcddf68e3be773c93bf07fce3bb3ce203da5b46a3c0beb93bd35d8013d25959a3e38fd63bd58019b39cb5aafbe62df813f00f7913f00f7913f62df813f91e912b982d22b39660d8db9b018f339e2ccf2b974a5343a33a2ab39193c3bba308c73ba2eef5fbb60a9053bcf84413b54dcd83b55d1be3b2ba72fbcbca8b0bb5e65bf3b242da03bd55563bb6f170abc6feed13a4951863b8b1e85bb9f70f6ba93ad7e3aa49cfd39b1a35c3a96c805bb053b3cb9c1e660b94c218a3aa37c37ba8b6d2abbb461d1ba80c69eba1844bd3b4e8a163cd115dd3ba66894b9f29890bce6043dbda523d0bcfdd1423d96c02a3dc27d72bc3fdbd0bc72b77d3cfc54e53c670a82bbbd1c4ebc3e82f83ba298113ca54cf7ba43c2dabaa656143a4ed1463b8b85d2ba00f5d63aae1326bb4d1e4f3bbfa58b3bd4d1773b2539ef3b682d87bc1e95cfbc178ad7bc76ea04bc0fc2883db1c6623e1ad1dd3de3b35abe135755be31cfedbcb819e03d55c592bc908381bdedfffa3c2b6e21bc0773f1b98cbe96bca7a4bbbb941f233c5ed995bbf72644b94a233a3c1f6f32bc8ada683b088108bc1d2534bd7419693daa3f28bdc8d83b3db2637e3e507d4ebece23d73ddf4879be6c35833ffbc08f3ffbc08f3f6c35833f6849c8b922088f390165a1b956072f3acf15033be33eca3a5f7acaba849525bbdbd869bb9c2611bb80e7ae3bd3711b3b1b4692bb140dd0ba6d2f10ba3cf4a63b6ab4163c036459bab52ba3bb3ce4c5bb4a8bb93b2fdd223c975938bc33f2c6bb5a45c33b8b83c03bf46e55bba1c20abc6b6d3a3acb2ec7ba35cce63acc9492bac3bc23bccf386fbbf6143e3b78b7413c6a65063d87e3d93b7805b2bca35acabc2a73a9bc4642663ccc7a843c3dcb9d3b7c95ffbc3957eabccede273dea70e33cbc59edbcc79f0bbd367fd73c1b741d3d80d9c2bb9ae16abc2427013cd7ce463cbc3493bbd517d83bcd1c9ebbce05753be20da93c357df5392cb83c3cef3c08bd413bfebdd1671abd276e773d8208ee3d43aa653ee34b963b8cd03ebebf4a0bbe2840e43cc17d393eaef0cabd098ef3bd82a5813d45e3bb3c57a495bc080484bda30516bc8719a93c17fddabbc24f92bb73bf543c6c7b74bc008bbe3aabd881bbd15e00bd2789823d227e7cbd5ebb2e3d4847c13e1ac805bef1704ebcba63a6beeaed753fde52983fde52983feaed753f24d6a7b89c9aa8b9f5826c3a50b151b825fa5abbe159e6baf92c353a83eb603bc196233cab95a73acf1be0bb2f5d8bbb613ebcbb7534053c7f28853b5c2988bbf07845bce5196abc10464a3c6ba6593c0c9d243cd8db89ba67674fbc165599baa76e3d3c2e2a883cdba934bc8f4389bca922913b54f67f3be06572bb371cb2bb90b350bc8a5257bb94eb793c3a40a93b3e2de9ba3a3e92bcc9d322bb23a2473c06f9293d9f57d13c10bc29bd6979aebc5c925ebcc805b73ce7a2023d1591d0bc0b1199bd92dd61bd0c267f3d5848973d7c76febaf3d3f6bc8ba9023c9643ae3c137016bc4b4750bb67a2bcbb8473943cf2828a3d278fe33c9596d7bc895592bd83ef34bef57a83bce37bf23d501ed13d4496f33d2564f1bd531bcdbd7080a23bf57d133e8e304c3edb224cbebfd62bbe602fa33deb7ad03dffd72bbda79c05bec735d4bc0f1a693b01e64a3c3fa1443c6d978dbb65378dbc36ced13c2a32bebb440842bdbb5e953c0e5896bdd570db3dfdb20a3f9a9e04bdb51319be0356e8be07ec643feee1a13feee1a13f07ec643fb7a1273789758135cbee39b9b81c193919311bb95124eeb9a1330f3a70f2b7b77e838ebafd1edc39e105ca39a552ff38cd91e5b702ffc8baa2a7ac39d382943a3ccf993ad54ea1390b56eeb9c554a0ba649d8aba2ee0053a84f3c0b81c082e3aa8d3d3393bd0e539cfed1ab9abdd35bacf77adb9530b5e393dac0339ad988c382fae77b820203d39a99f1eb93aaa9a393dbc123b5a184bbbaf2aeb3aabc5ddb8be219c3bc942933b0b33de3a95882eb962e679bbcd19aab9b09fae3a679d633b8fb4973ad4f47d3acf87a4bae91929bad15c5b39da054c3ab8f2a1b9f50021ba5e0f923ab657213a054719ba06efa5ba0790813a1a47a43aaeea17bb42d85f3a2440ec3c59082dbc731044bc908c7ebb778ca33d3fbd9b3d41b301be9b6200beb9122abc3914013d3462a2bb2f2e63bc057c463b88ae523a656f783ac09d8dbb399c1bbafb39bd3a856809bb67c28a3a747f67ba2ac2173b0e7d0dbba50c023ac455d43b5c2ed83a5cc88d3bc084cbbab4c7a43db96601be7de99c3d013d02be44468a3f09b48a3f09b48a3f44468a3fe6fbbab9f3a67439989699b7b6c61339ae0c57b9b57988ba33e7593af5d79239038624bb2e11603a45aba5b9f0dcd73a58fc3a3a8f540dbb0511ec39f235313a3bbb963a10fc8c39b67606b9e67fceba2182d4ba218ad9391fa90ab97462ad3a2ef0f9393e8788b993468a3917aec1b9f3a2513a577da0b9f0084fbac70d8339ada367ba6ca8373a0a68863a51863aba0216113aac4e27bbd338133bc0e3293a373936bae3badf39a2e1f03b3c95963b69d13dbb4ebb77bbd9f4163b1978bc3b5309343b9ab11d3bd4876dbbfea6bdbafc53963a64b0113bc8ecbfba129301bb7a4be8ba09a64c3a174a493947712d3a7961bfb98e379a3a00470cbb09b4153b1805013db23143bc92e953bcd3e760bb8d51c03d61aaa63d9b930cbe1a3409bec5c00ebc20ce343d05c618bcc7d6c4bc065ec73aaf459c3a2d770e3b073e9fbb56812cbb8dcd25ba0f96fa39bc80243b31e5c439760c943a93a632bb2f637e3a2861e93bdc8dae3b81ac8eb8975336b960e9c93d62f808befed9a43d71b611be419f893f141f8b3f141f8b3f419f893f7e9b0e3840873f39c8919db9e23fcf3898012fba5fde08bb5b26213b0222c6391842fe3951544cbaf2108fba943e893a3a1986b90fa9043b690f81bb1b99a63a3704d5ba912173bb555cdd3b9d93feba08fd8bbbdd006039968f8e3a6cf1763b8d5ccc39f92784b8f484ad391b9f12ba0a007d3a06a70b3b69322fbb1809e3b9175b143b8f861b3bb43292bab8ab6bbb5c79ebbbf8fd5bb8a692053bb1a29a3b561406bc87d164bbc156263ca540653c77f83a3b8bb61ebcfc3ab23a5420093cdf0d213c55d7f33b77de11bcfee80abc1095e93b281eac3bc518dcbb41f7c4bb20141dbbdd8433bb6e6b423beb99c33a15f19bbb0084fc3a1b98553b8bb96b39ce53ce3c902a8bbc323815bc928fd93b90f0e23dbf229e3d4d6711be600410bedd45fe38ca757a3d08db81bcbc933cbdb59c33bc98e3683b3a22663ba7a13a3b7edd25bcb689ecbbeb92b13ba0bf3b3c6e160cbb5880a63aee1691b9a8f7ee3a91ae0e3c066f663ba8d7abbb0e89cb3bcf57013e8a3d00bea695823da8d525be8a09883f87888c3f87888c3f8a09883ff4de87b94b96ec365ffa9db817f3a0397a24ee3760dd03baf895a83ae64354ba4df3d2b950e0b3ba8e00823928c6a33a8911c13947dca6ba7a4a71baeb54073a7e79ed3a0581073b0376eeba57a33fbb104b08ba0d81a73a681983bab8b51339f9707ab729cf55ba67316e3abcbb05b924bd1ebab8e17539a43285390b5e14395e33d1ba4de6f1393c666bba908b123b9e8f253a61e0c7ba83dc843b287d38bbac501fbcf772e6bb7f568d3c66ca533c685743bc632cefbbc753dc3b13286d3c4ffdd0392a05b2bbd477243b84d0503b992223b8edca1aba08a94b3aca31bd35fc995a39e6fd7b3ac29d85ba6b55a6b999941fbb7f795d3bc50b36bad070fd399ad6a93c78e288bc911255bc87bf603cacda0a3ef009bf3d4f3825be315626bebdcc8dbcbbd6883d67628ebc20e1fabcf763703cae6ce2ba617eff3a5c2561bc8665a7ba83c6a53b05b15ebb3f5b8bba25435d3a61e41d3a2efa81bb042c273a993676bbcfd59f3cc77034bcfe501b3c0819123e526422be66e0bf3da7a831bea2c6873fce4c8c3fce4c8c3fa2c6873f376b163aae850bba1964d93881532db9f85f05bb7447ba3a874f1fba49b2aa3a0c7ccb3a2dc640bbe4d61b3b582a5aba435401bb3d86fe3a358386bb9fbe393b3363f63bd87ec2b9069884ba373ffabb9d9e97ba5a97bb3b7a8b96bb8c850aba900983393825e0bae92be33a158bdfb88152a9ba6bc81d3ad3e0523a1f8d6fb8ca86c23af201d2b9a447c7ba03f50f3a68624e3b8bbd163b18833dbac91ddbbb962490bcd31999bb8e73a73c0a85803c479e9fbc42b1afbc5e3eb73cdc9bbb3c021d8dbbe61d22bc6be1313b30b54b3c086f423b5f326fba4ac5ad39149021bbf3a0b43afcf936b9b3aea7395365cabacb1ce8bb6424ef3a60757c3b533dac3ae4e531bc21a3a8bcc691393b5df7193dc5b62e3e01eb873de54c2dbef0e725be854e8dbb2160e63d21e940bda2ac80bd8e33ad3c377e0e3beb91053bc207c2bc8f5dc6bb883aa23b5f57d3ba1ef6fd3a4afcf739b31bebbad18346bb79461c3bbaf2faba8a73de3c28aeb6bced4f443ce1b14e3ecb3016be17c46a3d1ce255be0e0c843f73d78f3f73d78f3f0e0c843f7364383ad915b2bafcc7ad3ad7822fba31cc98ba5eee263b90cc52bba456e93a78ed6e3bfc8010bc5799153c614468bb825ef2bb072c843c982e85bcb8c7d33bfa1b8a3cfd2287bcef10293c005351bc3d9e53bc23058b3c8f64fdbb4170683b918e3c3b9f42e9bb93784b3b5b09c33a763845bb4350a53b0f1440bb300a7c3a0f48963bed36c2bb1d6e203b9f8d47bafe9cbbba61ab293c7ebdb4bb0d1dcdbb8e409dbce5e048bca6a1c13c552fad3cfc86a3bc5b3ea2bc9345cc3c8034ab3c34b0e03b2ee418bc17142ebc41bd5f3c84e0b33b7bc2cd3bc8ce0c3b83466dbc83d5d53b13b609bc2dcc673b4bd5fcba81dd81bc1ad2613cd2e6c13a9fa408bafce303bb718a12bd83e2ef3bf5d6273d96bb223e5328973dbab72cbe1bef20be5a3dd63c9cb0da3dc9584cbdbf06b2bd13c63cbccc1b6f3c8da6da3bfff312bc1d8da6bba2de18bc0ee7883a16a4553cd7fa36bcbcdda03b46e2a13a41ae803b95f8ce3b251eb53b84fe9cbc1e07bc3c36384c3e47aef1bd9c6b2f3dff2063be1ec7843fdb328f3fdb328f3f1ec7843ffafaa3b941768f3912330fbadf24373af2950e3a8d045339353171380a415ebaefecb2ba411201bb493c123bca31b93a02a8813b073a193b7c36ccbba24231bb1a33513b27d1883b372b70bb2c559abbb3c0673a8000233b8f57feba60f4ccba216f183ab8593bba05416d3a03f928ba6e11103a118f95ba1fa7b53a974052babc577fbb3ce6993ad1e98ebaecce883b1d0ce93beae4753afde7c43a114433bc15d502bd2b35a1bc1f55143da94dff3c5aa77abcf74f69bcad37343ca113af3ce7988d3a6bfe45bc768aaa3ba6f5c23b815e4dbb50d8f5397bc3253ab81e0a3b82a6adbaa2560a3b2bb6aaba9c7f713a04df913bfccdc23a8f14233b8c6019bcb9f073bc306b89bc07301ebc9078453dbecd4d3ec78dca3dd4d946be0dbe4abe630301bd727fc53d5334a0bce4b63bbd8f65c93cfd6008bcc9389b3b4e0b9cbc29d33abbbd10e83b441cb8bb9b402a3af375d13be9c9bcbbfa2c8c397a1f86bb4c82fcbccaff2b3d06d9e0bc6d68053d40c65c3e9b4b44bef33ecc3d0c3e5dbef731843fee008f3fee008f3ff731843f77abb3baa024a339c054233825e29c3a5f2f123b19c95d3444e41bba6b8503bb155c87bb2a6cdfba63e0823b2511373b67c7dab8966f8cb93ee522bb5908cf3a76680c3c6599973a3891b1bb5335d7bbc2a51e3b29f0073caadae2bbee6e98bb1ddabd3a3bb931b99c69a53ab82b13bb0b26283b2c5a73ba19bfac39284d09bb283b02bc1cd781398826993a58f2fe3bb228c93c5800f33ab1d44cbc4f0a99bc98b5f1bc2912713b08ffc63ccf827b3c254b01bd2f47e4bc1318113d4a2b003ddf4df8bb5c37d9bcbd80373cb74cbf3c6767e0ba76517fbae2e7f939407bff3a1f1989bb9231a63bbe512dbbf88d1c3bfe389c3cf56e54bb0266623b0a64b2bc31edbebdcf5944bcab6e073d3016af3d55da793e403e843c7adf3ebe2e482abed5922fbc1767363ee8f2a8bd83c4babd830d2d3dc1bc3dbb231a173cc0db35bd760546bc276c123c76aa97bb0592e03ba3f39a3b24742bbc457f0a3b24f73f3a9da113bd8c943c3d9f9afdbc8ce7133d828ba43eb3c326be93f90e3c854285be2564783f5413973f5413973f2564783fc2296db99e459ebaf5dad13afa18d5b8dc4f95ba80b009b8570d67b8fa2d713acb0d39b9649c26bb6907f33ab6178b3a5213d4bb6904cc3964cf933bcb050f3b31edd73b62fdb1bbc26507bcea108b3b549d493c95667f3ca3c807bce806a9bcebc966bb57b04dba3c86123ae01c903b6e95f53a0df18e3b65f4a7bb2699a1ba021b7bba90357cbbf035da3b2da32db92685293ccad8b43bbf5792bca4782dbbb937a93a916b1b3c34f6503c72d05bbc9b6e74bd6e7ed6bc52104e3de344403d855659bb529428bdfc641c3cdeb8093d3893a53b421a023c3ef366bbde132abc70a261bb60f212bb3699933af87eab3bd179ce3cd86c223c82bc25bcfa29f3bcab24c9bd059497bc68c15f3d2364a03d9bcf543e415b0fbcf87636be9f1de6bd831c803de73d4d3eafeae7bd8c6623be4c5ebdbb2bcaf83b60b5d23cb16fb2bc6d3624bc983214bc8dc79ab904ce9a3c482c2ababf90bcbbf326293cf906cabb089782bd4d21913c3b8a92bc6b17a33dad32c03e78a905bed89d18bdf02f9bbe3a68743fb54a993fb54a993f3a68743f2805bc396ff129375b4021ba5e3afc39b90bfeb92623613a1414ea39702984ba5120ecba98ef65bbb27c223bd9cd6d3b84f8f43b58beb83b864e3bbcc898b2bb02d4b43bb6d2b73b3d6d66bbf96c11bc8c61b43a088d8c3bbf9385bb812ce5bac742a63966ec06ba3ef3f83a9255b9baee250ab8acb869b921f9b03ac24fa1ba560b84bb80d999ba0defb1bae2cdeb3bec79553c9abbb53ba54e66bae050a4bce9264bbd2963c7bcd224483da97d2f3d0dfe85bc60b5debca3ca8e3c8041f23c0479d8ba0b7b4dbc9628b73bf15f073c8bfd90ba24251c3a965e53bada86ad3a841f02bb35b30f3b908d3ebbacb05d3b41a31d3cc545203b0543b73bd6579ebc43a31dbd39dca4bc91d4a7bb2c93923d87e3743e0da6c33da65e5bbe82c959bed9771abd5499fd3d7cedc8bc75ad80bda28a003da94e86bcda27d43ba66f9bbc680106bc7187103c845399bb70cb573b5611203c5e5037bc2a0b823b3146dcbb523645bdfbfb5d3d22410ebd22613e3d9d5f843ea08350beb139bc3d047d74beb5cc813f932b913f932b913fb5cc813f32ba00bbe2fd9db8d749b339206f083b124d993b0f5ed2398e3206bb391280bb5f9eb1bb0758f4b929aea13b5f61373b4fa884bb3a0fadba051f89ba1eae9f3b558e5a3c099678bafdbeeabba29606bc5a1da23bfbb5673c9c0344bc71e509bc3abab03a707d4f3a2aa61c3b5ead79bb2436c23b2f8a3cba0f529437f72fb9bb4e4fa7bcd98e9cbab0fdce3b6107913c578f2b3db87288ba14e1acbc489fddbc0172f3bc2a75883c71889a3cbd9f113c54e627bd6fad11bd2b3a523dd9150e3de3449cbcddb619bd5eae893cae6b223d6026a43b11bf3b38cd2e71bbd07d0bbb660e1bbc542fc23b132889bb0f290e3cea633d3dbf881ebb86efbfbab8f13bbd71201dbe75c6efbb8edb743d2d22f13d8bcd8a3e003ec9bc4a7743befa1919bebec20a3c0f825d3ea294e5bd10ebf8bda1b5483d78617a3a577d453c20b664bd12e4b0bccefccf3bd3460bb925046d3c8d23bb3b88e774bc4729e03b943b47babdfe6cbd2ea73b3d152efdbce1e06a3d1302cc3e25741bbee81a1fbdfbd799be1da36e3f6ff39b3f6ff39b3f1da36e3f035589b98731533a6254e53976450fba4788d6bb18e69fba346f5e3b462d8f3bac13123c51b607bb053dd2bb7df491baac03d0bbc38c0b3cac50c73baf9cbdbb3b1f2bbc8ff085bc3a29c83b6f80933cadd8f33cc5086f3ccc12cdbcbbe0bdbc8f6e15bcb3a8bf3b957bb23b429a8bb9fbf02f3ce21ce2ba00dfd7bb770293bb426c15bb2ebe113c612e013cdcce29bc582a6fbc98f799bce0d4843b7834b93ce0234e3da34cc33c823322bd3153f4bc425a86bdeaa9223bb7229e3d225e8c3bdce644bd7cb69cbd5998fa3cecbfbc3d4c7cd43c3e5ae43bc13e4bbc015bb5bcf27812bd9c806a3ae38f1b3cb727e73c2e47c13dc6c034bc86a12dbd07714fbdfd1c2cbe22253c3d277ac63d4277563df8f4213e23f609be720507be8a0a743c4c97303eee15893ee6195abec2b87cbefc47eabc533c193d20fc433dc3b72cbd002a2fbc515c97bc5f6d97ba7c83e13c853eec3cf285fd3855ba0f3c1aa61fbd112829be550ab93b50046d3c9ed6213eec96163f2ba4fabddd0534be35b6c7be6703593f0c92a73f0c92a73f6703593f976b96b81309a6388b55e5b7699d9437844292b9097a13baede94c3aaea0b037068a22b9b7260eba5711283a2d111ab8fb4539bae96da5baa1563e3a79f8963af812af3a056c8039631457bab85677ba1a672cbacb29913a857839baf4c89b396673eeb7975f63b96a915739e71cb93893eb8a397f6dcf38823ba0b99bb2d2b7a8edd939400f3cb83f66a6b7052de8b8703dc83afa5b31bb33739f3adcca4d3a988cd53b0d168f3b2f75dd3a774df2bafed084bb505cd6393a830f3a9d1f6d3b48336139fc93993a23bec6b9636049ba0a77ff38db918c3a3e9b2bba409710bad4eaed39ea2c613a831e74ba541a0fba90e10e3a375e0b3be9ba39bb39de823ae287e63c1a373abc778f24bc58418fbba461a23d6e0e9b3d154e01be910100be6bc53fbcb004013dd61897bb7ed252bc6ac2453b1fa051389ca92a3a8cfd51bbe981d0b956f4a03acb0865bad604dab8fb12a3390631f5392a39edba23c2613af4b9e13be3a0ce3a436b913b37e907bbfe1ea23d107600be2d7c9a3d098800be0f3d8a3f14c28a3f14c28a3f0f3d8a3f7cc72738863cd5384b1c0db89652f0b845cdafb9f6ce22ba38f4233a42240339286d3fbbb0b2a3b93521983a800ff13a32254f39ac16dcba81156fba69970d3b10f42e3bb61501b9e57c083aaaac5cbbe37130b9cea68139421383b9e3b6a13992b2cd395cddb2b8ef6454b865e08eb938977e3902cd113a7bb877ba45bdab38a7f2b4badc6a103ab9d8e539d53e243a656ffd3a069233bb17d5bd3af29f85399b55373a5a62413bda19c83ba2eb093b937000bb22da76bb9ebe123b69118b3b387ed73aadad7e3b9c3b9cbb18bb48ba49656bbaaaafde3abb8395ba0f095039fd210ebba748283adf99f7393544403a5999d53a2a57633a4a150fbb977b383a461bef3cc96941bc4ffd32bc0f2a65bb86f4c03dae64a23d04780cbeeb8407be68e36ebc65a4313d01e3c3bb03d5abbc5153913ae1fc21bb768c853be11d22bb43a83dbbae6818ba70d06339cfa6503be81e7aba9c58893a5bc02ebb1c44213bf2f87a3b629eb03bb6f0cd3ac42b9e3a5678c73d12bb0abeb0a4a33de39f0dbe1298893f112d8b3f112d8b3f1298893f2a710139efafcfb8f91aa6b8b4c412384e4e26baedb327bb1b133c3bb929eb397a968eba8e372f3beac82cbbb178513a04f7883a5ea7c339075d5bba63ca00bba85882bb0b7280ba817f1f3bbebb333b931d523acd3d69bbbf93c13a79d2303bfa32eeb871afdb39d4e8af3a90a4cdbac554443a65583e3b2a5935bbc92f64baaa933f3be699983a229c23b99c0187bb380a83bbcf2564ba2be07c3bbdf8883902ad8fbcff2831ba7023283ca6a2b33c5fb9df3ced7170bc741f38bbcf8203bca92a903b1b52cb3c6ae153bc9f4898bcead62dbb41b7553b8bdc26bb92c9cd3ac14aa7ba66eb87bb803df63a3f8b6a3b12bff1bb20dce03aa6cc613a3ce17a3b9a538d3c959969bc0fa419bcc31f4a3c45bb033ef50a933d3f8e17be277615be7be49abcd0ca703ddab9e63b169e4bbd2f03b7bc04403cbc62ff2bbb162d113d7c84013b496db0bbbad0543bb2cec23a538ca23a07af30b98d3e133b03bd96bbfeab44bc5be6163c27cf34bb837da73c8009093ebabe08be1509863d865024be7faa873fbbc78c3fbbc78c3f7faa873f6a15a8385f505cb896770fb93771cd38b42611ba5ed45a3959259f389021683934eb36bae49d09bb0b48033b4f00f53993a9ba3971558abada0fcfbae7fc7a3a101ad03a9046f73a7de095baec694dbb1468a6b9d145b93a2d2dbbbaf34558391c26a3b9474896ba39a7b43aea028738155e40b951e38138e7bce539cc619ab9ddf70ebb4748d9370ce44639e05e173b63dd7a3a572d79ba1728383b99e61abbb3c4fabb367802bcdd27913c16b93c3c1c295bbc1ecfc2bb8ca4c53b5ea4753cf487c73afc23b5bbdd0a093b9f6e2a3b8a2bfc367c3b733acbba19ba9e3bc0b92a1d2aba8354b33a26fcb2babb78ce39a6b3e6b9c079683bab6162ba4366debab411993cd68a7abc74b55dbcc8c2733cf3590d3e6bf9bb3d8a4224bec58128be329ab0bcebdd8a3d889492bc3e3fdcbc7d6b6a3c711194bb5cd6a73b57095dbcb69012bb8504633bff3b37bb01fe633a911ea9395c4164385cfe48bbac14923a07a2b0bb973e913cd9bd15bc863d2f3ca5e5103ee81423bee81fbc3d31ac2dbe6493873f53838c3f53838c3f6493873f346ef039e6e60eb94259cb39fac337badc9018bae5f1fd39a9b8f8b967aded390592e4b986e70dbb408b0f3b0944013a987d4cbb4d1c013bf24f82bb44267c3b6b13263c2493ddba32bf83baf4ed10bca53c6fbb9814ab3b371d3fbb78798b3a5bd38639a27908bbb741083b7fe485b6d63d4dbae5b9353970e2c8b934e5743a237b13bb620c773793f00a3aea102d3b6e41133cb53618ba68d48eba469319bc32e0b1bca52e36bb7a9ba83ce6e0943c7e3991bcd9589abca7f8a73cbf4ba63c2a62073b9ec60bbc0e50d1baaec4043c3ea3473b961b2e3bc3e2acba2dff99bb15339539c3655b3ae88cd7b906a040baf0b2bc3b4e7d363a85b3a7bacdbbdabbe6e0dfbc4e92d6bb5f643c3be27e253d9d2d493ecb0c483de6a92bbe057830be3bbae0bc0f34003ea8ec45bdd49655bd1b7f8d3c17bf33bcb4796b3c69ac8fbcb23711bca69ea33904192fbae06c073cd0150cbbe46937bbb2e7dd374c825b3b198294bc4a4eac3cca3602bc1c69a23c0f97563e827321be832d383d140645be3d3c823fd0a5913fd0a5913f3d3c823fbe1c93391af83ab91bfc7a39a48782b9eb8bb2ba7841bd3a03bd00bb7d7ee43a0b61803a0955f6ba1e208e3bdbb440bb2ddf943a4170603bdea624bcacee773b34b7d73a2f7e92bae5d4e83b5e4b1cbca8769ebb34be993a4a792ebbcbb2ec3bd55fa73891f221bbb11d053b992378395299593a2f71a3ba3476913aa46a93babf2f78bbf1d0ec3a8ce74fbaa38e8b3b06a3823c068cdbbb1a1f8cb8835a53bc4c1c4fbd1e8a643cd1eca83c44bdfd3c1e7eb53cb69b50bdf24cb63c90d0593c81bac8bb9acadf3c2728a4bcbc0a85bbdeabfd3b7cf577bbdeca693bbca4dfbbfec6deba43d6a93a2f9d1d39e6f1923abd5a643c966bbeba2f139cbbd81439bcce414cbdbf2cbdb86f05673c2b043f3d5fe8673e3afedf3ca14c3cbedccc25be9d750dbdf2fc1a3e76d0cebc97fccbbd225646bc5d35e5bc79717b3b1fec263d47f2033a96704cbb0f58e73b406db0bb23708f3b86488bbbb53ad9396e2244bb805545bd1b249b3cab99043cebb91a3d2e86803ec57025bed6fb3e3cd42748bee1107e3faaaf943faaaf943fe1107e3f896030baad4f16b974bd5735add2793af5f08d3a6558483a9fa179bac60782ba4948dfba798309bb7f3b3f3b5930a33a08e4973bff8bfe3ab3ecddbb7df528bb35f1693ba81b9b3b38a589bb313fa7bb97d7703a2351223bb62281ba9d9c21bbe2421e39ec5948ba08113d3add54a537d175673ace9e69ba3dd9473a1d2b5fba81f1a7bb0d92483a34647738538fa03b67110b3ca358193a9efd383a377639bcd1f608bd8184a4bccb491b3de9ad013d3b818bbcbd0273bcd93b393c87f7be3cf4b2533b8e5245bce2b9813bee47a03bdead1abb704fba3afef62ab932d8893a2a95e4ba33884b3b6e1edfba3124463ab5fef53b2247243afc75ae3ae46f31bc7ac1aabc658549bc232b18bc48844b3d0c50593e7bfcbd3dec3047bec1b74fbec8f21bbd99fad33d59c7b8bc66a732bdcdb5c13c5a824abc13720d3c722f8fbc9ac18dbb69bfbc3bb76785bb40a2ee3a05a6b73bf920e9bb03e8b63a9f913ebba3fb08bd5f29263d0765bdbc6e21043dcfbe5e3e556d46be2fb8be3d565756beac76833fc7ba8f3fc7ba8f3fac76833f29d3c1ba3696bd39de9e8939b72a8c3a8ccb493b52af7b3951a4adbac4c225bbc022b2bb1ab10dbb0c0ea93b86755e3bd81eae39e709153a34e48abbd95ce73a15ed493c73ebc73af7b4d7bb65aa1bbcaac1feb99b880e3cb504a0bb1d4482bbc607123a3ca5d6ba3f4afa3af02f98b9c6f4743bb07cf3ba54bcb1398d2d2cbb213268bcb46c323ba08a163b78cb393c030c0b3d29c392bbd40e2abc12abc4bc140e35bd6655bd3b7ad0d83c0774d93c08c1fcbcaffb02bd9c251e3d79bb003de7d33b3b1a8fcabcd4375b3b3f6c923cb97414bac6b1b03b91d413bb09c645bb09e2a5bb9715b93bfca739bb9773433b167a083d059cebbb6acc8dbb60c4d5bc5da2e5bd15c7553c7fafef3cd44eac3d7c36943e152ed0bbbb7340beaddd40bef86c37bd4db94d3e852ab0bdae3c9dbd90250f3d46cab4bc652dec3ce34111bd69705bbcba34623b750faabbf5e7593caad77e3a872cfabb5cf21e3bf6a4103b067a46bd0964093daf0ec7bb9000143d5058a33e3f4037beb0db20bcc71365bea059733fa39d993fa39d993fa059733faa85cfbafbc42e3a77457f3a7455873976d904ba0784003a042fe0ba2e48a03aa5acfbbabdc4dabadade693b42cdae39670805bbe38213bb8e8ec93ace8e2f3b4dfc193ce3a1233a589f2abcd1f337bb6eb79b3b2125413cfa0044bb209759bc1c0886bb4a867cbb8bd9f73ade7bcc3b8f7a083c41d667bb3fbb85bae1ce98bb03ef5dbc4a999a3b1bd05b3b37d9073cbb0f033d55bd42bcd6c821bcb35079bc18cc2dbd67e6e13c8ae6823c70ec373c5e10f2bce0275bbd49d5593d43e6253d0136b43bdc2f56bcf01d5dbc8f0f8e3c960da33bcff7083cd2adb13a412f68bc42fe73bc8672fe3ba9b5643a1149fe3be2a8563daf3b29bc1ec48abcb4dd00bd0b2108be01aeec3c65ea433d87ff923d2b05963ef0b747bdb13e47bea28e10bea694c4bc6b5c783e1076b0bd1f1c12bee521b0b92d8731bd1fc91b3d3d9e5e3c88e9c1bb91f967bac1ffc5bbfdfc2e3c82313c3c5274d2bb812a38ba470ad7bb3dd2c3bdbd1bd83c22c5c33c3e127c3ddf42c13ef9973cbe857e76bde97d68bec7676a3f9e259e3f9e259e3fc7676a3f374d1fb9fdb1e7b94466fcb90fd1aa3a370d7e39a11eb13a58fcce39a41a0abbaf3efcba010d61bb13ea1f3be9db6f3b29a8043c8651a13b8d923ebcc9c6abbb3878b03b18bad33b250972bbee5d18bc672b993af64f4f3b7afc3cbb3733cabaeb61ceb9f05e87b97372f43a950972ba47b3f9386a141839c4c4be3a862bfbba2ec3bebb169dd3ba7e243aba141c133cb67b783ca173b63bf8d2b1ba5987b2bc633e57bd64a8ccbc10894f3ddc46373dda798cbc74f5dabc5a0b823cc692003d66e00f3b200139bcfe06853b1a48943be1e49aba8890c73a1fabe7baeddeb43ad722ecba4be7213b75b86dbb81b16f3bcc06703cfe0cf8390b2b9f3b058cb5bce33640bd472d4bbc4999dcbbb343983dd948823eadc0af3d0a8259be366861be18dd44bdf76f083eaaede3bc433071bdc4bff93c38b7c0bc2a684e3c334a87bcc36119bc299e053cd0d58cbb8a8d933b4a7d0b3ce14739bcd3948b3b68ddb2bb883958bdad92533def01e6bc0d42413d1c0a863ea14055bef3ecac3d51bd6bbe7dcf803f3529923f3529923f7dcf803fa80885bbe8ef9339beaf623a0f73633b7cb60f3c9c3da1bad8cb21bb71a2c9bb42f324bc2b23173aa310ac3bc44ec33b50a249ba68f353ba035e68bbfa0d573b8da4953c6f6b793a0fa812bc82c15abc350c3a3a0b46733ca06a23bcb628cbbbd4b3d8baa1ab7fbb0726d83bee6623b931781c3c0bcbbbbac8e7c6ba48fbf4bb3e5bf2bc8dd67d3ba2fb013cd43eac3c4446613d1dd2febbaf9b9fbc71500ebd3a2151bd49bc653ce086e13c48ffcb3cc69330bda3a924bd0165533d48fd253df1798d3a1cee08bdb41c953be816d73c18dca73bb8ea303cfaf708bc12dd03bc1c5a56bc84e0bd3be3cd5bba21141c3c70f97e3d51f432bca57629bcf80940bd7e6031bebbafc83c47194c3d3babee3ddd93a83ec25f35bd2b9045be1c783ebeae8814bdb0b6753ecc7be4bdfb87cdbd1cbf1b3dbf71d0bcf4401a3dcb272ebdbcd5b5bc64a9aa39481543bbbc3cb83c1beb383b7bf926bc6761883b9303653a700693bd08500e3d7dee8aba08885b3d9970c63e402f36be372251bd1e4881be62146a3fc8339e3fc8339e3f62146a3f5549c0bb37f8243bb2571b3b7d39fa3abf9f163bdaba87bbc5a4fa38cad16a3a12ba96b802ff453b67ec53bb1669213a633f02bcdbbbc3388b71023c4a5aa03a08ab2a3c597bdcbba90613bc8685933af80c6e3c8db58a3ce59345bc228ba4bcae3a45bce5b973bb90d2e53b46dd1b3c2fe8bc3c73bbbabb60b317bceafe30bce993c9bc25f84a3c0d28533cc3f07c3bc1ce023dbb49b2bc65386fbced9d47bb051b11bc04ac053da54de9baa58a3ebc993a9abd231418bd6b879c3d2a194d3d230b2b3c417e30bddcccb4bb78d70b3dc5845c3c18a2803c0115ccbb62b6b8bc53053abd24870f3cbe395c3c9ff0de3ccb31c63df460cdbcae0114bd22c23cbd013e45be2bb9743dc611a53d02a59b3dfb4e973eeefceebd12533bbec4a7b8bd10a51f3d36cc953e181c16be46de49be7058cdbcac2909bd033e663d4737543c6b68cebab0959dbb00c208bc83c9383c4caf213d88f1b2bb9a59d7bbe0e2f4bc8b281ebe03eef53c64d31e3d4675d13d1d36fd3e4ab23dbe58770abe4b2d8bbe093f5a3f0570a63f0570a63f093f5a3f904096b8dfeae4b7f923a6386b14933750118b390d3da0b98d4dcf3842d5d4b71940ee396a3e74ba2a11613a030a0fbac1b7a2394f3eedba4837f53902fb613aa15edab889efa03a3bee64ba968bd0b96ca910bae4958c3a1da32bba04110039d20bb938f32e63b9db735739fca7eeb7041b92b976e44c3aa57a13bab890ae3704ddd9396131a8b77bdf3cb8ec0fe7b8c1260f3acac339bb83510b3b50e6823a99aee13b6f6d913b17a2ce3ac8d507bb3c0652bbc03c53387ad62a3aafb8453ba78249baeca6993aaeaac6b907cb6039daeb9b39342e913a8e7e39ba2c782cba00db21b915f6273a60470eba011619b8725fc83a615a9f3a846531bbc1dd4d3a2d8de63c279524bc093d3abcfb3e8fbb9a1ea23d8f7c9a3d3e7600bedd8700befbd952bc5107013dc70e97bb0fcd3fbc56136d3b279cd63943b50f3a81d584bb3d6377bae966803981f656baee0baf3a1e7639ba6e5c3e3a7a71a5ba1e13973ae180d53b7c79dd3a67188f3b0629f2ba3f61a23d3e4e01bece0e9b3d680100be133d8a3f0fc28a3f0fc28a3f133d8a3f29442838b9dd0cb80453d5381fc4f0b886227d39b18a77ba0cf5113a4fccab38ca290ebb9ab2f7392f28283adf78403a4cd379ba44c62ebb5150893a0d3f213b9de5503ba4a518bac0f562391ecf3dbbf6c14f390c81de3abf8d95ba7be26aba92d38eb95582b2b8f3fa53b8aa89cd3956d7afb95701243a82e022ba2e4e03396608b5bacba6e539fa6b103a367d243a18a2d53a240f0fbba744633aa85b383aa4cb7a3b7615ce3af3a3b03bfa639e3a0cc621bb7f1e22bb067c853bcc21913ab12948ba1c977e3b1c629cbbaaebd73ab917a239672a81394a2b83b9e11630b9d3683fbb3e0e983ad274a3b9d30af13a8549fd3a27d1bd3ae98f33bba52a8639d823ef3c050c33bc547541bcf00a65bbd076c73d32a6a33dfcba0abee59f0dbe1be7abbca9ac313d1da3c3bb76fe6ebc6f208b3b0bf876bb66a4123be25900bb1ede5cbbd51902b93d62083ab3372f3bb02c4f398f296fba2204dcba9b950d3b2dd5363ab029c83b1275413b62e4093baaf2c03db9770cbe9666a23d2e8507be2a98893ff42c8b3ff42c8b3f2a98893fe5ff00391384a6b80f11d0b8a2051638dfa3443ab62835bb91853e3bb4e065baef3ba8ba5d26f63afdea87bb1a336b3b0be9a33a0929133bb67630b9582997bb4154c53a67a9b0bb684b543be984013bf9e3c73a8667563b653526bbe1d22bbb245ecdba1545da398c8caf3a593ee9b8725626baaf293c3be3a027bbcdf0e9390a5e403b39e826b9851f983ae94687bb951ff2bb5373633a9bb6e13ae6cd7a3b93f444bc9f0434bbcf14173c0482a73cd2a7113d1f243dbc63872fbb1b38b7bc3f7498bc8489cb3cc37253bc470a8f3bb5be323b9d6568bbde53c33a6bd0443ab9b18fba7ae52cbb4e232f3b99f8543a8c9383bb0a477d3b168a62ba8f358b390bbb8d3caa251abcb2156abc66264a3c02fc083eb212863d1dba08be244a24bee3d24bbd6d02713d6277e83b31519bbc8ce203bcee4371bcc96b3bbb6798e03c34a7333b8b4d81ba04251f3bd3d181bb4e178a3a8ce85bba8204c339a65c01bb53e08fbcd85b283c76012ebabfb1b33cefac033ee38817be4015933def6f15bedfab873f33c68c3f33c68c3fdfab873f87efa738f68b0fb90a015cb8639ccd38c46d40b904c7e539d2eb813834679ab967162abaebffb2ba2354b33a8778ce395f0ca93966fc48bb6bc26438df11923a5700643ac707633b933b37bbe49412bb0131c0b97334733a64bd19ba8c6ffe36f7ef86380e4696bab1a7b43af32ca3b90e2711ba0a419f383ac55a39fb226839cbf60ebb06f94639f878d937895c173bdebae6b95f5e62ba7477683baf61deba24a1b0bb0abe15bcc73e913cee3c2f3c160a5dbcc21294bb1ed6a73b026d6a3c9c6d2a3b3423b5bb8a0b093b0985c73a254f5839fe44b93a352dbbba4d69a6b9d2d236babb46033b46a109bb94f2f439c1de7a3a4f25383b2c2879ba9ae51abbbf11993c4ab55dbc928a7abc57c2733cb4e5103ec91fbc3dfd1423be1dac2dbe6e3fdcbcfedd8a3d099492bcc09ab0bc6aa5753ca8cfc2bbbda3c53b80295bbc876d4dbbd242f73ab1df95ba8c24d03ae245ba39fc0dcfba744b8aba0a187b3a06c3fabb3528913c737802bcd6b73c3c0d5a0d3e9c4224be49f9bb3dc08128be6193873f56838c3f56838c3f6193873fbd65f0399855cb39efdf0eb98bbf37ba4d434dbabce7c8b9bbc6353979e9743a253495397c8cd7b9a7645b3a7ba040baaa190cbb2224dd37fc6737bbfd855b3b6b6d073cb69aa33918162fba3d3811bc19ff99bb331c2e3b52e3acbab6a2473b367c81b62f7908bb1141083badc286394b8418ba00b2f8b9b7e9fd39d095ed394e7e13bb62f40a3ab40777375b132d3b11b4bc3ba7b2a7babd7a363ae7bcdabbd48194bc7e3602bc1f4eac3cd168a23c7fac8fbc40bf33bcc1796b3c3a7f8d3c91c3043c21c70bbc734cd1baef66073bc6778b3a8c14ab3ba51c3fbb063c6fbbe286e4b9888b0f3b64e80dbbc040013a5241133ce4d08ebae93b18ba2e9319bcbbe0dfbca0643c3b5792d6bbcc7e253d1197563e8a2d383d857321be150645be089755bd1034003e9eec45bdf2b9e0bc2c4ca63c80589abc5ef8a73cfb3991bc17ee10bc3d93ddbaadc083bab313263cca7d4cbb995082bb8b1d013b90267c3b11e0b1bc7b9ba83cb82e36bbc5e0943c992d493ee5a92bbec10c483dff7730be3d3c823fd0a5913fd0a5913f3d3c823fbe1c93391bfc7a391af83ab9a48782b95299593a3476913a2f71a3baa46a93bafec6deba2f9d1d3943d6a93ae6f1923a23708f3bb53ad93986488bbb6e2244bb406db0bb96704cbb0f58e73b47f2033abca4dfbb7cf577bbdeca693bdeabfd3b9923783991f221bbb11d053bd55fa738eb8bb2ba03bd00bb7841bd3a7d7ee43abf2f78bb8ce74fbaf1d0ec3aa38e8b3bbd5a643c2f139cbb966bbebad81439bc805545bdab99043c1b249b3cebb91a3d1fec263d5d35e5bc79717b3b225646bcbc0a85bb9acadf3c2728a4bc81bac8bbcbb2ec3b34be993a4a792ebba8769ebb0b61803a1e208e3b0955f6badbb440bb06a3823c1b1f8cb8068cdbbb835a53bcce414cbd6f05673cbf2cbdb82b043f3d2e86803ed6fb3e3cc57025bed42748be97fccbbdf2fc1a3e76d0cebc9d750dbd90d0593cb69b50bdf24cb63c1e7eb53c5e4b1cbc2f7e92bae5d4e83b34b7d73a2ddf943adea624bc4170603bacee773b4c1c4fbdd1eca83c1e8a643c44bdfd3c5fe8673ea14c3cbe3afedf3cdccc25bee1107e3faaaf943faaaf943fe1107e3f6a5c30ba14045135b95e16b9b9d5793a7b77673ae8dd473ae49c69ba95335fbadd91e4ba1b27dfbadd884b3bc829463a27a4b73bb9f0b63a7220e9bb53913ebb3daaee3ac7bcbc3bde6685bbc7c28dbb3ed6893a7756ba3aec002bb93dae1abba8e9a5377c6248ba7e073d3a3c621e39bdf08d3a409c79ba9f5b483a050c82bafff0a7bb60627638a991483a0a90a03b6efdf53b0483ae3aaa3e243afd6f31bca4fb08bd7c65bdbc6c29263d8f21043dc02f8fbc5f804abc4f700d3c0bb6c13c5548a03bc85345bc77bd813ba9af533b979d21bb4954223b882381bad3d6703aa849dfba123b3f3b3e8609bb0937a33a75110b3c2602393a2e5e193a9c7639bc19c1aabc2d2c18bca58449bc1f844b3dc1be5e3e2eb8be3d456d46be545756be34a732bd5dfad33dc3c6b8bccaf21bbd2df7be3cbb0073bc4139393c99808bbceb3ea7bb591a9b3b81a689bb91f3693bc2e2973bf5eaddbbed91fe3a29f728bb03f708bd1e4a1b3d3b85a4bc1dae013d0650593ee13047be78fcbd3dc1b74fbeac76833fc6ba8f3fc6ba8f3fac76833f0ed3c1ba83958939c88ebd397c2e8c3a16f6743bf1adb139b776f3baf02f2cbba8e2a5bb46a439bb0b15b93b5e72433bbaf87e3a83ef1e3b152dfabb65a0103b94e6593ccf36623b4a10aabb1d6f5bbc2ac245bb89aeb03bd2cd13bbc88414baa23898b9369dd6ba0144fa3a8a07123a38cd493bd69dadbafc907b39adc525bb7a3268bc4d89163bf36a323b87cc393cc879083d85cc8dbb8c9bebbbd8c3d5bcde7946bdee0dc7bb1564093d4500143d244211bd9fc9b4bc2e2dec3c9c250f3d376c923ce68ecabc4f345b3b0bd63b3b524682bb0a870e3c9001a0bb9b9dfeb90524b2bb4c0da93b3ead0dbbe4755e3bc50b0b3d9c0e2abc11c392bbb4aac4bc74a2e5bd8aafef3c21c7553ce74eac3d4b58a33e1bdd20bc354037beb11365bea13c9dbd42b94d3e8f2ab0bdd86c37bd89bb003d5bfb02bd80251e3d92c1fcbc09a91bbc96efc73ae4b5d7bbb2eb493ccd5dae396ae48abbeafd143a5553e73adc0d35bd78d0d83cc055bd3b8473d93c7a36943eb27340bea430d0bb9ddd40be9d59733fa59d993fa59d993f9d59733f1787cfba10457f3aeac52e3a1a598739ca7a083cefc385ba43d267bb1bcf98bb27fe73bc79bf643a3671fe3bf948fe3b64313c3cc52738ba5074d2bb710ad7bb07fd2e3c66fc67ba7affc5bb82e9c1bb712f68bcfcf8083c36a3b13a2e0ea33b6a7bcc3b85887cbbdddff73a0e0886bb20db04ba4c26e0bab373003a7648a03a32ef5dbcc8d05b3bfc989a3b5dd9073ce6a8563d77c48abc213b29bcb0dd00bd36d2c3bd2fc5c33c9c1bd83c36127c3dc69e5e3c7c8731bd72c91b3dec33b0b9770f8e3cb42f56bc1e1e5dbc6136b43b409759bc1026413c4a0544bbe0b79b3b4eabfbba41dc693bcebfdaba4dc9ae39b00f033d66c821bce9bd42bc625079bc0d2108be6dea433d10aeec3c85ff923ddc42c13e507e76bd05983cbee47d68be161c12be595c783ef275b0bdd794c4bc4de6253d25285bbd92d5593d7510f2bc36f437bb21a2233a399f2abc42fc193c230805bbc58ec93a588213bbd88d2f3b20cc2dbd76e6823c65e6e13cb3ec373c2d05963ec13e47beb6b747bda48e10bec7676a3f9e259e3f9e259e3fc7676a3f254a1fb93d61fcb927b9e7b914d1aa3adcccf9388fc5be3a961118397f2dfbbaa925ecba49b96dbbc7e7213b4cb36f3b7f7d0b3c16958b3be64739bc0edeb2bb0c8d933b2f9e053ccbd58cbb8f6119bc33e0b43ad090c73aeeabe7ba83e59abadd0972bad25c87b99072f43a3464ceb96f107e3977f3ce390821b13ae91a0abbfec2bebb30233aba879dd3baf41b133cd806703c2b2b9f3bb60bf8390e8cb5bc6c3958bde601e6bca792533df441413d454a87bc3cb7c0bc37684e3cd2bff93c4348943b150139bce906853b19e00f3b3034caba8d4f4f3b8afc3cbb632d993a0c41fcbaa3ea1f3be80d61bb78dd6f3bb57b783c80d3b1babb73b63b5687b2bc033740bd7699dcbb1d2d4bbcc243983d1a0a863ef2ecac3da04055be4ebd6bbe3f3071bdf56f083ea7ede3bc11dd44bdcc92003d5ff5dabc4b0b823cee798cbcb85d18bcecb9d33b750872bb9d77b03b7ca8043c97923ebca151a13b7fc7abbb4d3e57bd09894f3d63a8ccbccc46373dd848823e0a8259beb0c0af3d366861be7dcf803f3529923f3529923f7dcf803f8b0885bb25b0623a45ed93390873633b2d781c3cdee7c6bacccabbba49fbf4bb295a56bcbbcd5bba9ee0bd3b1f141c3c26eb383b3f61883b76f926bc3804653ab83cb83cf5a9aa39221543bbbfd5b5bc05dd03bcb3ea303cf7f708bc02dca73b566a23b9a5ab7fbb2a26d83be7b3d8ba69b60f3cf7cb21bbe13ca1ba69a2c9bb3a5bf2bc9afb013c73d67d3bd63eac3c71f97e3db37629bc57f432bcf50940bd700693bd65ed8aba03500e3d03885b3dca272ebdbb71d0bcf0401a3d1dbf1b3deb16d73c1bee08bd961c953bff798d3ad228cbbb1746733ca76a23bcda0c3a3a38f324bcc510ac3b2d22173aad4ec33b4446613da39b9fbc34d2febb74500ebd7d6031be4a194c3db7afc83c3aabee3d9a70c63e3a2251bd412f36be1e4881befc87cdbdb1b6753ecd7be4bdad8814bd4bfd253da2a924bdfe64533dc69330bd84c15abc2f6a793afda712bc8ea4953cb6a249ba555e68bb28f253ba150e573b3a2151bddc86e13c4ebc653c49ffcb3cdd93a83e2d9045beb95f35bd1c783ebe62146a3fc8339e3fc8339e3f62146a3ff047c0bb435a1b3bdafa243bd429fa3a81e8bc3c7db317bc59bcbabb04ff30bc1d053abdf7395c3c46870f3cfdefde3c04b0213d0a5ad7bbf4f1b2bb1de4f4bc0ec9383c6e959dbbbbc108bc9168ceba95b8b8bc09a2803c5814ccbbf0885c3c73dd1b3c69ba73bb34d2e53b953a45bc549e163ba244fa3888bb87bbcce76a3a7294c9bcbc27533ce7f74a3ce5f77c3b9231c63dae0114bdda60cdbcbbc13cbd91281ebe56d31e3d95edf53c7675d13d3d3e543c962909bd263e663d565ccdbccfd70b3d557e30bd93cdb4bb680a2b3c768aa4bc59b58a3c8d9345bcae0b6e3c22e796b821ea53bb7b00463bdc5f213adcce023d13386fbcd349b2bc50a047bbee3d45bed711a53d5cb9743daba49b3df235fd3e55770abe43b23dbe242d8bbe4fde49be32cc953e251c16be98a51f3d51174d3d071418bd69879c3db7399abd2e77933aaa7adcbb100613bce7ab2a3c163e02bcb970023c1eb0c338bd56a03a212011bc1254e9bae4ab053d19843ebcda4e973e09533bbee9fceebd59a7b8bd093f5a3f0570a63f0570a63f093f5a3fd3ac2637f3063ab9b8908c35ee2e19395882adb9c09a03397a1b5e3977c58c38e50d923ab64b19baae5d213a57eea5ba607c67ba127d0dbbf4c1173bd10a023abdbc8a3ae334bd3a7c6609bbed8d1bba38f720ba380f4c3aa802a2b98b2b5b39f3d635bacadfe539b90d1bb923c7d3397d061bb9d23f0f3ada3beeb98f57b9b7dfbe77b8b9911eb976193d390aa99a39b18b813ad4ec17bbe84ba43a60df5f3a9d57d43bc3c98d3b5c28d83aed8bcbba519e8dbb7caa523ab073783a207d463b091429baa9fb7d3a428ca4ba5eb2973a65ff2d3a4cd5053a699fc0b80b998aba167d8eba021dca398206dc394cf3fe3849bd123b262feb3a461a4bbb9bf6ddb82340ec3c2c1044bc6c082dbc5b8d7ebbb2c7a43d7be99c3db76601be013d02be972d63bc4a14013d6863a2bb0c132abc599e633b4808aab9aa9bae3a67e779bb4056a0ba8c45a139b049eeb94ad0993af908e7b7fe89ac390df8c8ba6289943ac9219c3b1332de3ad142933b88812eb9668ca33d47b301be50bd9b3d956200be44468a3f09b48a3f09b48a3f44468a3f2b0dbbb95cbd99b7f29c743983f8133913ea513aea134fba10c9a0b9f6e582397c52e8bafb7449393cba4c3a475e2d3a1ab1c439469e32bb13fa933a1c837e3aad9b243b75f425ba4d9dfa3930922cbb398e01bb98b5113b14e9bfba123a963abcb6c1b9f59088b91c378a39be14fa39348657b9a5e0593a825c88bae6a99239128967ba2a63863a45af373a3aa03aba618dbfb98b4c0cbb5c399a3ac2be153be365e93b9eb98eb89d8eae3b890537b997529fbb99529c3aa26d0e3b8fb7c73a3298bdbae9ae1d3b097f6dbbbcfb333b3a76ad3ac86cd939ac7b0ab93495d4bace9424bbf276a5b96ff95f3a79f9d73aca55113a9233133bb64b27bb10ab293af304013dede953bc3d3343bc69dd60bbf0e8c93d5adaa43d4cf808be85b611beb4d4c4bc31ce343defc518bc5dc50ebcff66bc3b4bb677bb81f2163bb2b13dbb8a96ceba64118d39415106b935c8963a34193b3a560bec3975610dbbe651313ae79636ba03e0f03b39e8df3903a0963b6751c03db8930cbe9caaa63d0a3409be449f893f111f8b3f111f8b3f449f893f7e9b0e38c8919db940873f39e23fcf380a007d3a69322fbb06a70b3b1809e3b920141dbb6f6b423bdd8433bbeb99c33a6e160cbbee1691b95880a63aa8f7ee3aa0bf3b3cb689ecbbeb92b13b7edd25bc41f7c4bb281eac3bc518dcbb1095e93b1b9f12baf82784b8f484ad398e5ccc3998012fba5b26213b5fde08bb0222c639175b143bb43292ba8f861b3bb8ab6bbb15f19bbb1b98553bff83fc3a89b96b3991ae0e3ca8d7abbb066f663b0e89cb3ba7a13a3b98e3683b3a22663bb59c33bcfee80abc55d7f33b77de11bcdf0d213c6cf1763bdd006039958f8e3a08fd8bbb1842fe39f2108fba51544cba953e893a5c79ebbba592053bfafd5bb8b1a29a3bce53ce3c323815bc902a8bbc928fd93bcf57013ea695823d8a3d00bea8d525bebc933cbdca757a3d08db81bcdd45fe385420093c8bb61ebcfc3ab23a77f83a3b9d93feba912173bb555cdd3b3704d5ba391986b9690f81bb0fa9043b1a99a63a561406bcc156263c87d164bba540653c90f0e23d4d6711bebf229e3d600410be8a09883f87888c3f87888c3f8a09883f5ad487b9d9b99db8fad1ea3652dfa03912b91eba012585393bd975390f721439129b5a39719d85baa3f77b3ab449a6b9ae435d3a38fb81bb0ce41d3ad933273a6a5e8bba9bc5a53bc7b15ebb125da7ba4880a9355bc81aba33af4b3a2a1423b889b105b9aad355ba822d6e3a37ea78b75256ee377194a83afddd03baed4154ba773bd1ba24646bbad2f2f139918d123b01931fbbd70f36ba807a5d3b7e63fd39f03576bb6b7034bcd4d59f3c72501b3c062561bc6f67e2bad880ff3aa062703c20d3503bee05b2bb6774243b8e10d13951bf1339ff7fa73a581883ba904d08baee14d3b91102823990dbb3ba6bc9a33ab88b253a04dd843b32e2c7ba477c38bbadd6a93c611255bc7ee288bc3ebf603cff18123e61e0bf3d416422beada831be1be1fabcbbd6883db9628ebc6ecc8dbc28276d3c1b2cefbbba54dc3b275743bc41a03fbbcf84073ba077eeba736ded3a9862c139f44571bae6e4a6ba3339073af0501fbc31568d3cfe71e6bbc8ca533c9ada0a3e443825bee409bf3d235626bea2c6873fcd4c8c3fcd4c8c3fa2c6873f8770163abd73d9387c870bbaf5692db97d4fa9bab3e3523a46c41d3a73cb6fb88ba1b43ae8aca739c3f236b9e365caba7623f839188246bb1320ebbaba411c3bcceffd3ac03aa23b1a59d3baeb5bc6bbca9021bbe2356fba02caad391b70423bf9dddfb82826e0babb2de33a5e1b83390c6305bb9c521fbafa48ba3a85b8aa3a768dc23a8449c7ba2602d2b9bcea0f3a541ee8bb7c747c3b3227ef3aa342ac3a4cf9faba5eaeb6bcc273de3cd050443ca807c2bc747e0e3bc291053b7733ad3ca6b64b3c341d22bcc8de313b03208dbbd5810aba5797bb3bac8b96bb37a097ba6679cb3a89d61b3b21c540bbdb275abaac624e3b4b893dba6dbe163bcc1ddbbb6ae631bc3a91393b0ea3a8bc7af7193ddfb14e3e13c46a3dc83016be1ce255be84ac80bd1e60e63d28e940bded4f8dbb479bbb3cafb1afbcb63eb73c9e9d9fbccc3efabbc67ac2b93f9784ba7762f63b1a5401bba98286bb0984fe3a66be393bb42490bc9b73a73c0c1a99bb2e85803cceb62e3ee34c2dbe02eb873dfbe725be0e0c843f73d78f3f73d78f3f0e0c843f7364383afcc7ad3ad915b2bad7822fba763845bb0f1440bb4350a53b300a7c3a83d5d53b2dcc673b13b609bc4bd5fcbad7fa36bc46e2a13abcdda03b41ae803b16a4553ca2de18bc0ee7883a1d8da6bb83466dbc7bc2cd3bc8ce0c3b84e0b33b5b09c33a9f42e9bb93784b3b918e3c3b31cc98ba90cc52bb5eee263ba456e93a0f48963b1d6e203bed36c2bb9f8d47ba81dd81bcd2e6c13a1ad2613c9fa408ba95f8ce3b84fe9cbc251eb53b1e07bc3cfff312bccc1b6f3c8da6da3b13c63cbc41bd5f3c2ee418bc17142ebc34b0e03b4170683b23058b3c8f64fdbb3d9e53bc78ed6e3b5799153cfc8010bc614468bbfe9cbbba7ebdb4bb61ab293c0d1dcdbbfce303bb83e2ef3b718a12bdf5d6273d36384c3e9c6b2f3d47aef1bdff2063bebf06b2bd9cb0da3dc9584cbd5a3dd63c8034ab3c5b3ea2bc9345cc3cfc86a3bc005351bcfd2287bcef10293cfa1b8a3c825ef2bb982e85bc072c843cb8c7d33b8e409dbca6a1c13ce5e048bc552fad3c96bb223ebab72cbe5328973d1bef20be1ec7843fdb328f3fdb328f3f1ec7843ff6f2a3b935310fba686a8f39e524373acc0e103ac9a5b53af18c95badc3f52ba42abadbac5afaaba9c550a3bea80713af176d13b651b8c3964c9bcbbdf1f86bb3d372a3a5912e83be61db8bb04d13abb2e200a3b74c9f539e6c5253af85e4dbb63fc28ba8a563bba89496d3a5869183a09960e3ae431713863f95239a53e5eba76587fbbb0e48eba05e3993ae1ce883be2e0913b4e10233bfad1c23aea6019bc4382fcbcedd8e0bcb8ff2b3d6c68053dec0a9cbc376208bcab3a9b3b5865c93cd4f4c23badfd45bc0b88aa3b939f8d3a50f4ccbafcfe223b0b55feba91c0673afbebb2ba1c3b123ba31001bb1330b93ae10be93bd3e5c43addee753a394433bc53f173bc482f1ebca56b89bcbf78453d3dc65c3efa3ecc3d974b44be113e5dbefeb63bbd8d7fc53dea34a0bc390301bdf113af3ce35069bc9439343cc7a87abc2b559abb40d1883b7f2b70bb4933513b17a8813bae36ccbbe538193b9f4131bbd6d402bdba54143dd134a1bc8d4dff3cb5cd4d3eced946becf8dca3d0ebe4abef731843fee008f3fee008f3ff731843fa0aab3ba6a4623380926a33970e19c3ad825283bedc0ac39965a73ba1b4d09bb8a1989bba4512dbb4431a63b5f8f1c3bfaf39a3b317f0a3bfc732bbce6f13f3a7192e03b186c123c68aa97bba30546bc6c79ff3a5b507fba3fe6f939be65e0ba7e2b13bbfeb731b99869a53a86d9bd3a5c2f123b61e41bba73e463347c8503bb373b02bce626993ac1d5813973f2fe3b16399c3cdf65623b976e54bb2a64b2bca8a113bd9d9afdbc87943c3d9ce7133dd1db35bd95bc3dbbed19173c9f0d2d3dd14cbf3c6337d9bcd980373c654ef8bb856e98bb11f0073c90dae2bb15a51e3b3f5c87bb6ee0823b8a6cdfba9411373bbd28c93cc9d44cbcbf00f33a560a99bc30edbebdb06e073dcb5944bc2c16af3d828ba43e79f90e3cb4c326be844285be87c4babd1967363ee4f2a8bdf6922fbc4e2b003d3c47e4bc0a18113d174b01bdab35d7bbf099973a3191b1bb8a680c3cb6c9dab82de522bb84708cb9a508cf3a98b5f1bc0cffc63c9b12713ba7827b3c52da793e79df3ebe333e843c2a482abe2564783f5413973f5413973f2564783fe81c6db996dad13ad4459eba0126d5b86195f53a60f4a7bb12f18e3b4e99a1ba33a361bb8098933ac4f112bb2b7fab3b07282abaf726293c0c91bcbb1f07cabb08ce9a3c8c3214bcb1c89ab97a3624bcc5132abc191a023cacf266bb0d93a53b251d903b9aaf4dba1485123a4eca66bbbb5095ba0c0a67b8caaa09b8f32e713ae7187bbad135da3b6d357cbbf5a82db9db79ce3c80bc25bcd86c223c052af3bc0e9782bd608a92bc6d21913c7317a33df86fb2bc32caf83b66b5d23c585dbdbbebb8093d569428bdfc641c3c065759bbcf06a9bca4667f3cadc807bc1b9d493c2f1839b97508f33aaf9c26bb5d188b3a4585293cb85792bcd1d8b43b81792dbba824c9bd6cc15f3d129497bc2164a03daf32c03ec19d18bd7da905bef22f9bbe906623bee63d4d3eadeae7bd8e1c803ddc44403d807ed6bc61104e3d9b6e74bdef108b3bc7fdb1bb9f6507bc52edd73b7113d4bb22cf933b2c06cc396e060f3b5c39a93a26f6503c9a6b1b3c9cd05bbc95cf543efd7636bec05a0fbc991de6bd3b68743fb54a993fb54a993f3b68743f57ffbb39e54121bad24e2b370a39fc39ab020ab81bf7b03a54c469b9a44da1ba7a2002bb3f8c3ebb08b40f3ba6af5d3b9511203cc20a823ba85037bcc545dcbbb3ca573b7287103c2e5399bb620106bcf588ad3a3d231c3a475e53bae9fe90bab757b9ba8feb06ba4df3f83a8949a639e405feb90a1cea39ff1d613a5f2a84baa00b84bb83eeb1baa1d799ba9dcdeb3b7ea31d3c7642b73b1445203bbf579ebc693645bd1b410ebd0ffc5d3d21613e3d776f9bbcb54e86bc9327d43b988a003d7e5f073cfe7a4dbcd128b73bad76d8ba7429e5bae38c8c3bf89385bbe45fb43a5222ecbaa37c223bc4ef65bb11cf6d3b5b7a553c045166bad1bbb53b1251a4bc4ea31dbd2cd4a7bb55dca4bc3293923d9d5f843eb639bc3da38350be047d74be76ad80bd5799fd3d82edc8bcd9771abd8d41f23c77b5debca6ca8e3c08fe85bc356d11bc2fd3b73b326d66bb05d4b43babf8f43b994e3bbcacbeb83b1999b2bbfa264bbde024483d4863c7bcbb7d2f3d89e3743ea75e5bbe12a6c33d86c959beb5cc813f932b913f932b913fb5cc813f7db900bbb947b339a4f39db8656e083b2536c23b24c294378e8c3cba1830b9bb760e1bbc6c2889bb612fc23b49290e3cb223bb3b8c29e03b5ee774bc204247baf3036d3c6cfccf3b844f0bb9c7e3b0bc847b0bbb96df3b38892f71bb5a25a43b9baf79bb3f7d4f3a5ea61c3b41beb03a6e4d993b9f3206bb275bd239551280bb3b4fa7bcd2fdce3b3c8e9cba3b07913c02643d3de0edbfba54891ebbd6f13bbdd9fe6cbd492efdbc15a73b3d34e16a3d34b664bd69667a3a9f7d453c8bb5483dab6b223dd3b619bd51ae893ce4449cbc40e509bcabb5673c570344bc151da23bee9fb1bbf7ada13bb54bf4b91863373b598f2b3d22e1acbcec7188ba4a9fddbc7c201dbe72db743d78c6efbb5322f13d1a02cc3ece1a1fbd1f741bbe0ad899be02ebf8bd06825d3eb394e5bd7bc30a3cc0150e3d6bad11bd323a523d4be627bdd19606bc4a9178ba2abfeabb4c8e5a3cf9a684bb1e1e89ba3412adba58ad9f3bf671f3bc54889a3c1c75883c08a0113c88cd8a3e3b7743bedf3dc9bc091a19be1fa36e3f6ef39b3f6ef39b3f1fa36e3fb15389b93152e5391531533a88440fba24f12f3c46dfd7bbaf1ce2ba8d0293bb147912bd4c901b3cec896a3a7a27e73c9e3eec3c31ba0f3c5c50fd3805a61fbd7483e13c5b5c97bc096c97baf9292fbc435bb5bcb65be43b2e3e4bbcee7bd43c7a908bb9d5a7bf3bd07ab23b166e15bc6088d6bb34705e3bace99fbac12d8f3bb06c15bb802e013cbabe113c64cf29bc4747c13da7a12dbd86c134bce6704fbd1a2829becc046d3c790bb93b98d6213eb3b72cbd393c193d02fc433dbb47eabcf9bfbc3d89b69cbd3b98fa3cc8e644bdeee0bdbc67096f3c9912cdbc65d8f33c4e13123c803dd2bbb1b307bb3bf591baef296fbcc8d4843b20f899bcce34b93c041d2cbe397ac63d44253c3d1e77563dec96163fdc0534be2da4fabd37b6c7becbb87cbef215893ee2195abe4797303ed85d8c3b7aa8223bbe229e3d3d5a86bd7a80933c72f085bc6328c83b271f2bbc1103d0bb8051c73beb8b0b3c629cbdbbc8234e3d943322bd2c4dc33c6153f4bcfff4213e7d0507be2ff609be7e0b743c6903593f0b92a73f0b92a73f6903593f9a6f76b9c85115b9f38cd9b8fb55f1396a1765b8536e1eb69dff8b39affa9cb83f1b053ac2fd56bae0a5c43a5f89a8baefacb1b9a33c1cbbd891c03a4e91823a15a225b91c4d0a3b8e73c3babb6e28bad1328db8b3e7253aa34342b9d8cda7b94cb00bbad8b8d6386d3427394a399a39d8f3dd3887549f377d745f39aa23dab9f8b8d238b512bcb9f097cd39f229f7386419a13ae5a436bbd874d83a7f3d293a9bf6d93b80379c3b8c28a93a107ae8baaabc96bb99ebb43ab9c5b3379ddd663b0c28aeb9e4a0a23aed4dbaba8051623a2aeb143abb7755b9818151b96e0330b94a3883b9d32f2039b63e3fba8f451b3a27f66339f5d1503bb2275abbc446433a55ddf63ce9a253bcda2e25bcaf5b94bba257a53d84c29e3d8f6102be669b02be13b36bbcf0c7023dbaeba6bb60b024bcbf4d693b818268ba43ad913a805746bb190c9bba74218a3a1647d3b9b8dda33927ff28ba2b47713a1b13c1ba7f638b3ae04aac3b0154c13a69dc863b381ac7b80074a33df4e301bea18d9d3d770501be85448a3f8fb28a3f8fb28a3f85448a3f6ebca7b8212085b8875c8e38763aa838c7ee02ba2cdf49392dca3ababd207f3a0ee0e0b9353e5939552be8381e4dad39b851283b58abb0bb32a0833b7b04d7ba721221b9e702283b9c51d6ba1b1ca1badf31aeba134b503a6ad759ba1384c33ad6999a393ebf2e38d95daab94a990238ff75e838a08af139e27be0b992a469b97d1948395264ff3984a56c39132b74bab0b5eebacfd9cebac9a2ef3a9cfe293b0c6b1d3c9f2c07bbb332b53b8600a9ba50bd08bcbd1ba73b2de6bbba653e9c3bf830353afaad98b98ce3a7ba4c41c43a9866883a22c32039052d3e3a9cdb01bb7dd7d1baeea40ebae7ed903a7fc4333a636938bb0ab85a3b28eb2ebb5f384f3b30fe113dc49284bc78314fbcaa8a5ebb07cec63dbfe6a43d0d6b05bea84614be4637e2bc1f333b3dbcac36bc58b99dbb0dd3fe3b8c82c3bb58c5ab3b21e1b6bbe4cd1cbb66775e3a17770fba6cf5d13abf60093a44620a39fe1920bbf32fa33a23d495ba04550a3c5c84e939ecde853b4f85be3d91c40dbeff15ac3dde7909bee2e3893f94d48a3f94d48a3fe2e3893ff4cca3b8a21959b85cc05e398077aab8a1a992b9e8f6f438415c9c3760c0d538d9a3ddbbbd96ea3a1fc6963941ef943bf0d5d13bac7956bb9e9eccb996f6f1badded093c386bb1bb882aa03ba5a314bcb0d31fbc7eb7cb3b2e2ba9bbce120f3c3afb94b9f12820b9404a7b3a1f42d6b92c0d8d3a8e5313b912e8f9b9d489bab93a03523b1c2a62b78cc9ca383dbe76bb4c50eabbc229833bc8562dbaca41af3b0703a43ce98363bc4755363c3d9bbebbccf683bc043e6a3c1b2a63bb6157853b203daa3a3cbf7bb9f8e09cbbe300a13bc1b86e3be818c6bac813d53aee8468bb0c778bb8d97053bad63d553a94ff9eb99090f1bb67b8db3bddd7a0bb9a5cb93b99bf013da7be5fbcb62786bc5780803bec86eb3d02e7853d068becbdfa0627be0d0845bd1ced6b3dde00a7bc0abb393c20720e3cefbefdbb52b0ce3b735e88bb0df61bbac833e8b8d7204cb74d8785b94d55ccb858c1d0ba96250eb81e80643a94fea9bbac811f3c3c7afdb9bcb6003c8216c93d67c50fbe21de9f3d7ab605be3afb883fe7b28b3fe7b28b3f3afb883f24e4b5b8f27113398ed479b9f7950b39b31e1cba6dbbad397ebaa8390a7b3338d79a143a70c63fba753e943acbe68ebae7d1183b1260bdbbfe3e113beeef72ba0c0f84bb4dd4d23b6c66a7bb387a073b39d3043bacdcd1ba30e1c23ad3e4dbba72612cbaabc11eba1e3a683a4bd3a739032304baffc1073ad605d3b75c26d6387c24a8b9820ea3bae2862f3aa3c47e3aedacbabbfe8677391a243b3b34c9633bb4fabbba6e2e62bc862fae3c71260a3c994d61bcedb5eeb80de0bdb8efbf723ce5a52f3bc14aacbbd21d403b8466fa39dca61b3a2849863a549a9eba9af30cba081f85ba406dc43a63c5d4ba88c9443a5fc17bba2823933bdee2d2bae12aceba64e4d33caa5171bcc05395bc040b413ce1bd113eda1bcc3de31c24be2fcd35befce705bd45a9813d4ba473bc233767bc907a6b3ced5ef5bb70b6d83b7ab23ebc139652bb1cb6fe3ad82d41baac0a983a7fe2913a5bdb0cbb166988ba7a1d5b3a82eb17bc39108a3ca9efe8bbda8e533c44aa043eb77a25be46d2c73dd70824bed12a883f46e38b3f46e38b3fd12a883fe2ef693a9b88e9b76e7231ba253261b9218918bb99e40339d251b73a3c16543a38cba6b9d29f763b30ac28bb7ece00ba449f143cfe5041bc61cf8a3ba9068abbb22d29bc445e813cc10b2abc20578c3b0b758f3be2f6f9bbe480d83baddf36bbcecf93ba6f1c1ebae569143a78078c3a9f3adfba3ba6303990adbf3aab9a9f39e03faa3b93326ebb052ad7b93509e8ba02bd92bc0a941f3c9d741a3909d7173cfef1383c05690abd1963123d7059bd3a24a6ffbc0198473cecc321bc8995f03cf1cb763c413b32bccf90d63b995f15bc0e1cc9ba0da4b13b675595bb2728e8b7f025933a512ff33a1ea07abb23b6843ac74276ba63907c3a4c0b593b2c5ea8bbb9058f3b1750bebadc46ebbcb7470c3d7071413e8d36903d0dc40fbedaeb5cbe679e76bd659dc83d866034bd1a4cb13bd4a9a33c5a3694bc3958ad3cc75d9bbc4a25a1bb0f76eaba2f5c8abaae32d03b65faffba22da6dbb4c79803b4d5e0b3a290052bcb16b943c84fdc3bba39d663ce60a1a3ebb2f29be1e98a03df3b021bebabb853fd8358e3fd8358e3fbabb853f98940439c14c003b005d86baa4aa8fbad3e7acba3070b4bb7b77c83b0730303ae3e4be3a3a4d033cfcef57bc562b653bf2a5debaa69d14bcb8b8723ca6199dbb6517813b819f1a3b7f6f3ebc4793913b9ebd05bc1ae2753b4a70043c158e61bb47d7bb3a258ef2bb3cac013ba8dd843bc98423ba4de28cbb9b4ccf3a25bb653bd29c073cfd134c3bc573e6bbbca5a6bb26abf3bc76b10f3c38236b3c9a77083ca32c213ddce41bbdec1b333c4db57c3adb363fbd0a571b3d694a67bb2472483cac78043db03ff4bc62ef0b3bff1624bb3772afbb4661b83c0c2631bc3cedefbb8a9b983a6176403cba8711bcd3c266bb1144cebb211001bc5f36953cd53cd7bb6da0a33c37bbef3a412256bdf84d233dfc7b293e7f52773dc3a3c8bdc6b567bece037cbd4412aa3dbaf983bd8910283d55a94b3c822e95bb76cadd3ce815f4bc086badbb5f139abc973f043ce4df693c038cbdbb02cc76bc5c7a7e3c52f9963b673adcbbb05aab3c1f92aabc19f39d3c6e37023e5c161fbe889ac13d9ddd23be7aa4873f91808c3f91808c3f7aa4873fde0b7db9f567f0b9d3a98939cb5c0e3ae955853917278b3a1659c4baffc52c39ae5e80ba69c85bbaaea4243b8f1026b9409c093ccdca56bab813b1bb6748bbbbd6051bbbb7260f3cd4ffc9bb4b0f39ba06d9613b192b91bad915b93a89b969bb84388cbacc62ea385134e6394fb1223a1301be3900833e3743c8cd397bab47baf35651bb87fb55ba0b2a993af089473b3d21b839842c5d3bada8e53aa632c6bb4914eabc2d0803bd2742393db75a023d0fa490bcbee0a1bbc44915b7b51cc43c43ccbb3bd9943cbcd4d2cf3bc30098b901c2caba159a0c3bb9b009bb26dba83a152168babf05ec3ac7d7eebac2bc973a80d29a3bee94d53a0aced13a626915bc01f5a9bb0b703dbc64e9adbce92e353d9a1b563e68f4e23d6f8245be21a660bea4643bbdbeb0af3d8b3357bc94cadbbc98599f3cf7fd57bc5b3f1a3cbd7957bc71c176bb43ec5d3bbc712cbb4ed40c3b05d3883bb71cb8bb1aecf63a83f046bbe4bff6bc28a50e3d120a9dbcbc37f63c9404413eb3d246bed12adc3dd38d46bea62e853fd8028e3fd8028e3fa62e853fd13b3ebaeeb098b94236af393f30473a6592053a2cbd0c3ab8da77ba138ddbb8d08037bbc6771db8aa8f683bf6ab6d399cd1623ced07d4bbb80dccbb12e0afbb0e7b25bc24fab03c2a674abce4ee333a59c1343c42741dbc0654fc3b7cf10dbcf4d38dbb29420c3b5fe6bbbaf250603bcfd3b73a1e903e39a20af1389b94eaba370cecbaaac6d3ba06fa8f3625796a3ba41d81babf405d3c8e5e74bbba6315bc2d2178bc633b61bdf7f17d3d53a7be3c323a48bd503c653cbf905ebce4334d3d5630b33c3c05c7bcf6f68d3cb41258bc602a42bb46f2b83b1595c8bbf813213b817775bb2e1a623b1d5f01bb24de513bd1ac933cc57552bc84b6f33b20a68bbcd2358bbd10fc003d3b1c0cbd6b3da93d67ef993ea518143d03501bbe5e248ebebad3b6bd0c9e143e635b8bbd7e0ae13b4b25d93ca0dcadbc2d8ce23ce197d8bc77978dbb9c1b3b3a7d8d60bb29fda63b1d2d6cb9ab0bb7babceb84ba7144c73a8de19bbcc7f7a93cbe3fae3a998a263c46784f3ea4f33abe072f2d3d406f1ebeaef27e3f15d9933f15d9933faef27e3fbd01a1ba4fef983bd9e7f3ba35e8ccba79da6bb95b032abce3c6103c3f1d013b4071333ce486ec3bfc885fbc92be9bbbc2e3a3bce773c93bddf68e3bf07fce3bd150563c413bfaba79ef00bc3ff2a8bad80f253c64c857ba25c9c43bcf1e88bc9f53d6bb2fd6a1ba88033bba13240c3c8fbcdb3adff5d1bb1022ae3ae2134d3bd4bace3a4ecd803c5f3956bc017d6fbbcabfb0bcd56d9abb0cde103df39f10bcb3ce203d0beb93bda5b46a3c35d8013dd201c2bd290b9c3defd659bcc480073d2080363d4c7b87bd429d1b3d25fd53bc6b8618bcd1bdc13c87f2a4bcd12a713b3b9fadbac992423c25a7e1bbefb848bb9bd4e83bf77816bdf718de3c95674ebbd7fb65bde8bb933d56c6b4bda532b53d25959a3e58019b3938fd63bdcb5aafbe81ecdbbd1f46f53d083fefbd18d6c33db8efba3cbbf8963ccdc7aa3c5d9857bd4710033bde03aabcf5e5443c8722a53b4d7fe7bb31830dbcdb5d163c42feed3b33be953cb2f1b33c1fec6bbcb30888bc8d0f083e327d27be89574e3d0e65e6bd62df813f00f7913f00f7913f62df813fb3e712b9d7108db991d42b39cc19f3394d463cb918238a3a10db60b9e27f37bab381d2bafa1526bb85f3d63a431f4f3b0a233a3c0ddb683b916e32bc6e8108bc761e44b97f1f233c8fd995bb96a4bbbb55d0463b94c0dabab151143ad349f7ba37c705bb918dfd398aac5c3aa4a67e3a86cdf2b9cba2ab39f6a5343a873c3bba226d2abbcec79eba3462d1ba4a44bd3bf7a48b3b513aef3be8d0773b5e2d87bc022534bdc03f28bd5a19693dd9d83b3dbebe96bcec6d21bca36ff1b9f4fffa3c1599113c2a1d4ebc0383f83b410b82bb8b72f6baf551863be11f85bb37f3d13afd8873baf1a8053beeed5fbb3683413bd489163c7b6194b98215dd3bbd9890bcf894cfbcbaea04bcee89d7bc04c2883db2637e3ecf23d73d507d4ebee14879be8d8381bdb619e03d51c592bc3acfedbcdb54e53c18dbd0bc66b77d3cbf7d72bc13170abc322ca03bb25463bbf964bf3b24dcd83b35a72fbc2ed1be3b52a8b0bbcf043dbdefd1423d7323d0bc75c02a3dadc6623ee2b35abe17d1dd3d0f5755be6c35833ffbc08f3ffbc08f3f6c35833f3653c8b90e63a1b9fc088f39e50a2f3ae76e3a3a68cae63aca2dc7bae39492ba8a3493bb711c9ebb9e17d83b0205753b74bf543c2b8abe3af07b74bc4ad781bb934f92bbab19a93c3cfcdabb870616bc22ce463ca7e16abc4627013c46d8c2bbe6c10abc4583c03b276f55bb4e44c33b3c15033ba279caba983fca3ad89525bbd5bc23bcc6143e3b88396fbbcab7413c8e0da93cffb73c3ced81f539bf3c08bdb85e00bdff7d7cbd4b89823dd1ba2e3dfb0384bddee2bb3ca2a495bca4a5813d20741d3dcf9f0bbd487fd73cc659edbceff2c6bbabdd223cf35938bcbe8bb93bafd469bb38e7ae3bf62811bbf3701b3b6365063d8005b2bca3e3d93b945acabc2b3bfebd566e773db1671abd4108ee3d4147c13ebe714ebc2ec805bea163a6be2e8ef3bdd87d393e8cf0cabd603fe43c3b71e33c5857eabcbbde273d7c95ffbc9fe3c5bb5c6a59ba962ba3bb75b4163ce04792bb112d10ba2b09d0baa6f4a63b4173a9bc117b843c8642663cdfc99d3b53aa653ea6d03ebe4c49963b9d4a0bbee5ed753fe052983fe052983fe5ed753f7bdea7b8a7826c3a639ba8b9cb9851b8b722913bbc6572bb26f67f3b3d1cb2bb107016bc5aa2bcbb564750bb8173943c73978dbb30ced13c5c378dbc3432bebb39a1443c161a693bffe54a3cc535d4bc9643ae3cffd3f6bc8da9023cc975feba8e4389bc2c2a883ccda934bc9b6e3d3c14f95abb642b353a7358e6ba44ea603bf4b350bca6eb793cfc5257bbfd40a93bee828a3d8c96d7bc0e8fe33c835592bd430842bd0b5896bdb75e953cd370db3da39c05beed7ad03dffd72bbd582fa33d5348973d89dd61bd04267f3d061199bd705599ba85dc89ba56674fbc1d9d243cdc96233cce1be0bbb895a73a605d8bbbac2ae9ba71d422bb1d3e92bccca1473c88ef34bee07bf23de17a83bc591ed13dfcb20a3fb81319be8f9e04bd0156e8bebcd62bbe89304c3ed8224cbef47d133e1491d0bcd105b73ce7a2023d6f925ebc6fa6593cd1196abcfa454a3cf47845bcb23ebcbba828853b5e34053c0f2988bb03f9293d09bc29bd8957d13c5c79aebc5496f33d521bcdbd2264f1bd5d7fa23b07ec643feee1a13feee1a13f07ec643f0b6d6bb9c77d2f39fdfaa8b851fa09393960aaba1caf4d3aed5ca839e3278739c0dfe83aaf6ee4ba2eafef3a363c04bbcd55f1b9486745bbeca9163b4e08643ad81342ba8c1e233bb78427bbf1c9233a56ad06ba1060643a79ddd4b8048e8db8a90b21b93738eab9134a0c3a9ad04d387d7a02b919daec39142784ba7fc12e3aaa609c3a953a86ba3219cf390fae8bb97e2db43a941841bbe3d6cd3af6d5443a49ede83b9c8b9b3b54553e3a44c6e4bae5595bbbc0b4ec3acf229db92ea2133b15a77b38559e97b9b7dfdbb9e5a9713a74c20f3a8f26ac3905ae42ba64ed15b989d418ba1490ce39c2bd153a9d2430ba9550fb38fe61493bb19e77bb08f4cc3a55d0f63c74e354bc9fab21bc7fd39abb8f64a53dca9e9f3d535502be3d3d03be58f283bc6cb0093d1778dcbbfaf308bc1fa9833b8be988baa8c8c53a9fbd67bbabf655bac71b243ab17c0fb85db0173858697fb9dee43ab9b8208cba49e4ae3a1121883b01542f3be45c853b5a8564b97b00a33d4be402bedc12a13d679001be7e568a3f78a08a3f78a08a3f7e568a3f8b4dc2b736831b3755ea4f3985f340b9e291fdba3b1ff139a518aeba8b24303ba524623affcd77ba59d9f23a49d7baba94e6823b00d5b7bbd64b8f3b214a71bbb242a1bb8ca2a83bf98b8abbf9076a3b2ac7483a8cb1d6ba315b983a84493e39c919d5b99bea30b9ca2450398a33b339c38990b95a7cbc3a2ec45fba7350c4b99868ea38997d543a5d2a1f393a9d82ba343894ba90e612bbb7d7d13a8a7b4c3be340383c7f3716bb289bfe3b0277b3bb2c941cbc4be7c93b667da2bb47f90c3cf0a9373baa401bba7935f23906460abbc47c3f3a9222903a4d412bb90942f2baa99b20ba2d70e6bae997903a69c36a3ace0b7ebba81d9f3b6a735cbb7ef55d3bd2961b3d49349bbcbde623bc22fdbabb9a20c23d23f2a43d10d705be5dc711be2badf1bc4a17433dd75f63bc8e7e06bb2639f43b4c6de5bbe56cda3b6705aebbab010fbb19db413a880ac7bad3171f3be5631fb84959a239739e91ba3d2c8339203dfcbabd040c3cb57837bb1651023cd504bb3dffc80cbe599daf3d9e420abef5e9893fb1d28a3fb1d28a3ff5e9893fabfccdb88410dfb70ac22c395d0aefb7de30143a361816ba32baa63974f15bbaf7fea3bb5ebf943bf1dcf7ba1b955f3be79c533c446a62bcf80c213c0ca91cbced810bbc100b343c0e4b04bced9c883bac0b9c3ae5d9dbba12871b3a956f903ab07586b865c048ba4f6bb1388a41443a959fc03900da0e384a590eb95abdf0b73f5681baf54a4fba3e0b743a9b40bd391f0d1cbbf2d2bb3a9ba141bbd27bcc3b4c6ec03ce5c150bcc2d3753c9cc878bc9e6faebc7076a13c5d8a69bcf2ca743cabbeea3b056e4bbbf4b6d83ad3958cbbd96d06bacc9e0c3a9649383adad088bae59fbeb9a6b65439b2bf95b9a1c81a387928dfbbb6687a3b4ed6deba20efa83b39aa073d21f16ebc2ba137bc69d437bb2983da3d9109913d0bdcf6bda7281fbed4f732bd7ab7543d9507bbbc12867d3c6687153c8494f7bb94a8fc3b4a58d4bb7ad3333a3cfcb9bac4b489b92471ccb7016dc439ab415bba54a9493a7e948aba19748bbb48e14b3cf1ee76bb17d9ee3b4116be3dd7cb0dbe16ef9f3dbffb01beccfd883f21c58b3f21c58b3fccfd883fe921a7b9943f4bb8567eb5b85707d939a86390baae758db96944663ac2ee0d3abfc4d03968a172b9fee2343a01a55ebad13c403bc8f0bebb9a5a373bacc712bb80e29abb0490e83b7b12d1bbae37633b55f8ae3a103900bb9ced113b8fcda5ba143b35ba7862f4b9942a573a70ff86390d15abb85a21353a8cb4d7b9ded5fcb825efa3b8026f94b9e05c14b832e7ef393b17babbf0cc82b971a1863b5510313b71b748bbe80268bc77a2ac3c5be7303cd3774dbcd401d3b90a7a2c39f4715c3c7cbd6e3bdc6f91bbf996213b53e28aba144e8d3a60a8793a56e6daba214adeb9aac317ba1c30e339f5a3b5ba5d559d3a6494f0ba1907b83b9aaf0bbb29d298bafebbf53c9c1897bcaf7c93bc5cb42f3cd3be0e3e7e1cda3dfaa726bea54737be925306bd153c6e3d70b93abc97c543bc4bf14f3cf127e5bbc80abc3bd8af1cbcb48411bbd1ce363a87f39ab7f8053e3a29c3443abb3edbbab58367399d8c19baad161bbca0228e3c09a80abc5aae623c0854ff3dd8eb24be8251d13df91324bed7b8883fb94e8b3fb94e8b3fd7b8883fe5a5c53904060139a2ee2fbad7e22539f85233ba86aaf7ba9c70263b80374ab890666fbbaa49fc3b66aeb5bb2cfc1a3b75b9923c0abeaabc566b463c25644bbc86d2adbc9f46d03caedc9bbcc082693c85682d3cfd2f38bc77d61e3ca84905bc48d200bb07caa739a6806eb9c9e8dc3a903dbabae6253d3a4bc5693ada9a95381c49c13b609f39bb6dc8f0b9e2696abb2f06babc3da2353c035f08bbb5eb7e3c6fa8823c5e6d0fbd336f223d454dc0bbeffdf3bcaa8d4b3c16f671bc566e023db0a7333ce94a22bc448e113c2eef04bc76a807bad3655b3ba91848bbb8d5fcb9059c853a000cab3a27f644bb121b493a840e81bbdd7a793aa847953ba94f36bb7e5f953c415bccbbe627f8bcb405d13c13322f3e82d1aa3d6fa413be5a4454beb9db58bdf02eac3dbacc0bbda4f9673b0c32913cd93e5dbc58997b3c57e286bc66bd87bb78c393b937a4e9baaedba93b1b3c19bb3342f5ba8bf7e83a40c0a23aa60701bcebca873cd390ecbb9e77403c5c6e093e874926befcc4b43d41321ebefc08873f3cf68c3f3cf68c3ffc08873f7d527a39bf6bb838ac751bbaa7f04f39f7a9ffb9e8551fbbbf5b7b3b125abbba5f0813bc17983a3c5ae714bc13bf003c97e5cd3c1eb0e6bcf0158d3c7f3788bcf3ae0abdc31a0f3d9217c4bcadbab83c28a1ab3cd552a3bc5d978c3cbba28abcf6a945bb0d45043bb03b28bbe40f4f3b468da4baa220823a89a3f83960008d395b1b3c3c2901e2bb11d16a3ad901f6bb4ea608bd79b3af3c499420bcac70cf3c4858393de4123abd800a323d8ae2fdbc17c52ebd4c96023d4196f5bc408a213d865e6f3cdfcc7cbc08dc5d3c0c4424bc28c477bbd682a83b60ef72bbb0eba93af6064a3a17521a3a3afc3abb6700003b2110febb7a81193ad044ea3b13dee2ba4124bf3c284584bbae440fbd1164c33c01ad1e3e94c8833d5c37e5bd24ee52bec13876bdc427aa3de4c14bbda13fdb3c9543aa3ca63163bcc677b43c115ccbbcd56246bb8fa3aab946c994bb762dd23b119d59bb83a2cd3a1853583a3571523a09644b3a0a17183c7ec921bb4287833bad90eb3dc49a18be84d69f3d8aed0dbe8e8f873f7bc38c3f7bc38c3f8e8f873f066ef2b969f2fcb932d3d839cc9a263acc67023a3f2b933a6b25caba35bcb2b8c99380ba4dabe43704b7c33a903975b8a7ca163c697cebba436084bbbaece6bb159492bb6dbe1c3ca12bf7bb75a0093b0258823b9a20dbbab38b463bfc62a5bbddd08dba2c32cbb9915ce3388eceb73a5157eb395ce196391fc004b90f5c13bab38d47bb846193ba3773d33a12ae2a3b80b4f5ba7d04193bbbb8773b8d0e90bba2b0ddbccf410abd2ba5393d6b21033d58517dbcd13a39bbe3522ebbf9a5b23cb9c7b43b62762bbcc283c23bf6311abaddc7a2ba2caa203bd85d06bb853b203ad3f71dba450e413a04b984ba214d863a54c2093b67e06e3b21f5bf39708be2bb5299c43b8be979bc32b4c4bcd2a81e3d00154a3ec382fe3d198f47bed33460be4eee2dbd71dc933d6599a5bbd567c4bce274893c80012fbc33c9e33b69b832bc7de259bb81f02d3b2d2c13bb9104103b21ac653b1317a7bb05ec183b091357bbde1ee1bcffac0a3d0a1da9bcc211f33c9147333ee9f745be6f38f23df18544be1a67863fecc98c3fecc98c3f1a67863fd60f8db7b8cc2eba9b39743aee307cb917ca85389e86bfb9c55183bad7dc9a3a6dd3b2bbe5f2b13b3d9d81ba7270253b73a9da3ceeb897bc9f17a73b034096bcbe6ad6bc28250a3daf47cdbc33398d3c3dbc8b3c3ca581bc49327f3cfe387dbc12a799bbc1d73d3b743339bb846d853bb769a638dfe95f3aa31054baaffc153889203a3b207065bbe8530d3bb56701bba4067abc6d849d3cd089dabb62386d3b27a896bbc8a285bd6175923d12ab673c357230bd6a878f3c81c1c1bc1b58483d7c1c873c0b1a8abcb98d6b3c0d9142bc7aedb8ba89af583baa8880bb2b71a63ab2e12bbbaa9e423bb0cdecba67b30f3b09333c3c96c52ebc3fbb0e3c5fc855bc3a6f1dbd22a7ad3c1f8934bd630b913d65ae873eb800913d6a011fbe06778bbe04609abdbdf8e33d757b37bd0223ae3bddd2a53cee5b81bcd9f3903c9a7a8dbc9d7660bb1d183c3aadf5deba6b1c443bbe952bb8f99ae3ba16f455ba83ebb23a918e7ebc237bad3c237938bbb7b8283c36fc303e396a38be2e578e3d49001ebe8bd8823f947c903f947c903f8bd8823fc59a73b9410a953b44a600bb36691ebb58da38bbf4980dbcdce1be3b3782b93b72f8063cfee8883c042866bc36c81abc4202853cd4d412bddf96c83c27633ebc031637bd95825a3d9f8344bdb182283dc14c133d5ce2dfbc453c0e3dc21329bde56420bc909f693a27cfc0bb709e5c3c156f0b3a808a0fbca8b5893b4fd1823bb7fac33ba8fc7d3c918f7abc8e0ce9bbba2257bdc433013c8488d83c9779b93c6ec3a13df4e7bdbd7ba9543da36fccbc5952c0bdc0a09b3dcea142bd81097e3dce78ea3c0dec37bd019cfe3c861e15bc827a973a58ef873cecd24cbcc4f4e7bb67e0bc3affe05b3c579f07bc285fb9bb9ecaf13b313429bd787f0a3d83e2c5bb67eb14bd3e639f3d5bfdeebd02a1b53d57e9813eda3bff3c8c7658bd5b75a6beef5f8cbdcdd4933df9da99bdb729823dd819053b9a3f033d9b186bbb2760c6bc19bea4b941dfb4bc13f88a3cda389e3b2d0508bc635e3cbc782c3b3c5662103c5f449a3ca774a73ce2f876bc81f870bc2b92d53dd09b22becbc2923d2787e2bd87f1843f050e8f3f050e8f3f87f1843f6921a9b92fb41cba308680397b936d3a120e32b95c9fab3a82dbc1b994be56ba4f447dbaa41e06bb04df773a5d372e3b5815583c11a7363be0071fbce13a2fbc506461bb002b2f3c472ea5bbf15725bb1b8b823b353648bbd3e10a3b62cb39bb0e72ebbaf51e453ab483cb38c27f8b3a79b2b4b7f0f46d3aeb0ed538d5f196baac8af6ba788ee5ba1e3873baad979b3b8682e6b978a5f33be400a33b10664fbc88142abdee0434bdcbfc693d0ac43c3d59ba7fbc55adcbbbbde5b6bb7ae0e93c9df6093c4ae232bcc646003c445aabbb8a97f6baf8bb533b2ef44dbb6bb0c03a7ddbd3b99115a53937ebf6babe17263ba300963b7197203b618db93b894e67bcdd7903bc147e65bcec65f6bcf5836d3def2a6d3eb713fb3d3dc84fbe4e4e78bed50670bd4e6fba3de224e4bb2acbd0bc7c20c13c06fbafbca71b383c1aab2ebcbffbd8bb162e923be18349bbac978d3b1cf1df3ba3cd1abc915cae3b9328d2bb4d2f32bd96fb3e3d5bf3e0bcf1d22b3d3402503ed38e59be0377fd3db93e53beaffc843fa7f58d3fa7f58d3faffc843f8ca3a839c30c60bac95b433a25791fb8714d64bafda9fb3a1ab6efbabedc223ac62ea9bb8f986dba97cb963b12ee3e3b295ec63cea741abc050bf2bb124052bc302bcabcaf320c3db75299bcc7241f3c9a02bb3cb176bdbcfa5d973c22608ebc54ca1ebc5aa4013c064ae6bb7111073c3411f539b3ad813adcdb65b9630dadba10dcc4ba0fdb48bb8e0b73ba41cbb23b6205cabac264b53c8235b0bbca6c6cbcde1861bcdba39cbd941aa53d794dc53cb1ef59bdf0c5d23c042d02bdea61763df744dc3c811dc3bcbd08b23c114dbabc712394bb6c28d23bcbb6f5bbf5b58a3b7e8392bbd5928f3b44901ebbbcbf873b0f6bcf3cfbc197bcfcb6473c45b7c8bc63ccafbd4bb73d3d46a65fbdcf4ad83d2c9ca83e9259023d6f0b0abe4393a1be4714d3bd5bb30f3ecbc08ebd4c02cf3cd770cf3cd0fcccbc5376f23ca21ab9bce2ada0bb1891893a41f28abb6a5dc23b72ccacba0b7389ba48d808bb64a2293b747fb3bcc475b13c0484a83b2b46213c7247483ee0fd41be1811433d880616be5eca7e3f8bcd933f8bcd933f5eca7e3fe24a353a6c8436ba689debbacd47ee3ac5d189bbbf28b03b01700e3b78300fbb07bc363c0463c7bce6d3933c785eabbba6ecbd3bfd79003cfa7612bdca976b3cbd2b45bd5346863ddbc0c7bc1b98513cab865c3d7e8275bda8e04d3d11a230bde0ff83bc3679873ca136abbc4345923c042c3e3a0e0556bac399193b68b672bb0e7e7cbc714b5c3c4410a1bc38a8b93ca97c8a3cd7e1cd3c05bd983c000b5abd78a44f3df9071dbe21eae73d2fbbd0bbb1540bbe551bc13dcf92d7bd4673133eb1a8ff3c0aa030bcfe24083dd51232bdac6e9f3b648529bc0634fb3b790fa3bb3b2dce3b90f7d5bbcc52603b97469abaf0c2a53c9f5a99bc5bb2803ad55c6abcad7b34be9c2ef63d7105adbddd27263e4f71e43e960c8ebdb206afbc99fce0be9e5da9bdd6e9ff3d5847f3bda7175f3de6b515bd5821d93c46d719bb2939b33ca6605b3cd56b10bcb132d53b507b2cbc12b682bbab12d93b6ca9753b9f7eabbbdef8a83c00b1dcbc15a9b83c7bb421bc24dffc3d8184d5bdba3d85bd389b45bd40cb733f5f4a9a3f5f4a9a3f40cb733fd0925eb90eaf1437d692d4b7a4182039723b4eba2ec16c3a3b031eb9c73098391e2f163bc10ef8babfc9f03a4e4e19bb8a0076b89dad08bbf7e9cd3a8091db38637707bb0ecd753b188480bbf968033b50c4e239e21e64ba87da1b3a0b6874b749c08ab98bda4c384c3894392724a3b8c58357b84127af3913b046ba2331e239a85b5b392e4b34bafc93643add7737b97fadd23abffc6fbbdc0a093b440f353a4000e33b9e377d3b6d0fc03a53bcb1bac2ad91bb10b9c63a1645f1b8bdc3703be5599bb8af33d139d9e94cb982cb86397553a639d201e3b82548abb930262c39e70fd4b953b517b97b48a4b7b1a89d39051f66b926658b3b3d2a89bb5504913a243e033dbc8681bc70bb0bbc7f56a8bbe18ea43d3690a33db01a03beae3e04be362b87bcd794093d4ef1ccbbc5570abcfd2e6f3ba5afe5b9fe52ff3af12a89bbf21d2139c1f2233ad47b27ba51c5dfb92ddb3e3563a3523a319a70bae92c16b96bbb6d3b01540b3bb86a603bb3f8e03a30b6a43de0ba02be8a64a13dbd9e02be7c638a3fef8d8a3fef8d8a3f7c638a3fe475e037307e45b9c6574339e341df363b3a2bbb0b64363b8146c3ba899aae3af1aecf3a095f17bbf5ad073b86b66bbaaa6e9c3be51eb7bbce10873bb2f590bb25f7ecbb1fb10e3cd90309bc1fffd83b6ac5083bac1338bbe055533bb5bf00bb49675cb923986439227773b95dd5663989a993396a8380397b3ce5b9456072b958eb9bb9703bc93aa326d0ba6c0ef039f6bfe03a810869bb8a89473b625286393b45183c463e86baf2c0e63bd2c694bb444235bce95be33b42919cbb2b54163c113d5e3bcfffe0ba6e12b9390600c0baff82503a635191b70f131f39878d8cba598937393dc0c1ba736bd63affca40bafdfea1bb69a69e3bced9a6bbfe73cf3b3edc223d323bafbc6c4dd0bb58c30ebc5b49ba3d9282a33d7b6104be59290fbeaa32ecbc6eb4413dd17180bc58fc60b9817a063cede1efbbebd5f33b2dd6dbbb0cb0b0bacd02863a54af0abb4fd7f23a3f842eb9cf277a3a87e153babb081bbaab2e19bbe6fd0d3c1ec56cba2cc9c73b823fb43d56020abea016ab3d492e07beed1c8a3f1dae8a3f1dae8a3fed1c8a3f27d381b89c9cbbb89d252638e8570039430a44bb67fac43adf10e5384df3703ac4a227b76334863aa95abcbae99b063b72a18d3c563b81bc2379343c5b0d66bcc1b18dbc4955943c1b3273bc056a583c50d7773b21359dbbce939a3b6b8a2bbbd9a585b8b6a17cb977c1c53968eb7bb81b9a3d3a3571ba39f92aafb8c00351baf97049b9303e153abff66ebbbd30323b16f7213ade4696baca3dd3392f9c283b1f7ea63c4ee936bc3f2e893c8c2886bc7de2b6bcd21fbf3ce3deaabc11f69e3cf132103cbda3c2bbc9e8c93b1c68f0bbabf154394076d83a21cca1bae7b284ba63b61d3a0462d2ba0683923a540be4b95ec803bc70a3df3bd4035dbb98d5a73bcb7f0a3d56a1a4bcf4b78fbbc07eacbb0f2cc33d2ae6903d14bbf3bda21d15be3baa1bbd06f73b3d2b5c9dbc045c573c2a9a193c094036bc8df5313c65a9debbb31138bb8d7f9c3af6bd16bb1502463b75ad233af03ea0b7ff1a3dbae34514bac043cbbba736113cd9a505bab021123cebeeb23d7f9306be6aa09d3d885702be28c0893ff2108b3ff2108b3f28c0893f4c9c32ba9dbeb0381ca70138c7080c3a4c759ebadf8533397561d439f0c4373ac2a7093b2e8daeba258a543acadad3ba479cab3ae9749fbbb5a8433bda34faba3bd287bbd7fbcc3baaa4d8bb866b853b9990ef39339ef6ba46113d3bbf3892ba406632b9579f59babf9a743a5e861bb81942753ad298b739c6160bba846735ba441d27bae64b91399f240e39c4f3ae399979b5bbf843e3bac185be3bd63e183bfeb593bb3e6b40bc0a1b983c34b24c3cbd8a1abcc656adba2cea5c3a9c022d3c866e283b420543bbe84c403aa7a85e39d4d1483a9e0d263a079c8cbadc4fb8b9e916a4bac86ba03997de48bae6a5ac3a26d210bbe90fcd3bc65868bb0df17539e6a80f3d2fb3aabca23292bc1c41f43b2ece083e0d72e73d98102abe039334be5f30f6bca077563d529ccdbb48045ebcb76c283cdcf8c4bb7cbca13b3727fcbbad638dbae0843a3a3a3cefb8309249b938b3813a9c59b9bac654593852087eba9ee41dbcd160853c926e03bcaae06f3c7831f63d235025be0165da3df49c23be482b893f0fda8a3f0fda8a3f482b893f93cc9cb9bf570f3a841706bab3c591399d8f58bac30c2cbb1e8b403bdd8b8639c7797bbb9991023c530ad0bb7dbb533b3a9b8b3c1890b2bc0a6c763c131c5ebc0579aabc1a40c43cb291a3bc7cc1843c77771e3ce6341ebceed2153c3aff06bcc68981ba2d2853b96174bbb800dd923a9d9dc839801215ba645c2b3a3e1f83b94bfbad3b309f303a7a0d06bbe74398bbce2098bcbc22de3b920da4b9751f623c9a4e303ce0aed0bc608f083d77937dbbf744b0bcb8bf003c7af139bc1acccb3c6496e73b1ba5efbbcbb5e03bb2d8afbb49f097ba8584563b4d0522bb79c73d3819cd8bbae14fc73a1d41f6ba5c2cb23a1480cfbbe42651b8c43e803be84b063b992cfb3cf0bd56bcaae2d0bcb5c85f3c4d34193eab0ac93d10a11dbef16143beb4bf32bde0cd8b3dc7e9a6bc9bfb1cbb5bf5753c168a34bc0f581f3c227f3dbcad8afabad0e515ba689731ba9179163b3ccedb39b86e0bbb7ec9b43a05b154ba4064f7bb2f8c913cab4c09bcfd9e363c7a1ffb3dc3cb24bec58dc73d34031dbe4b40883f48c98b3f48c98b3f4b40883f80ad41b85e06fb38e97c81b9d7df1939e0e9d43a8c464dbb8ba7713b49a24ebbd4e58cbc56cf9a3c858380bc010f8b3c2db7383ddba447bdd9391f3d31c720bd84d461bd581d5e3d11474abd7238493da606da3c22a3c8bc8d95cd3ca124cbbc1a28afba4b26443992c95fbae99be43a2a4621ba101d0a3a6788beb8703a203a0d1a123cdbc8f3bb4222833be52cffbb1398f8bcc0a6b73c08cf7dbc416ce03c50f62d3db4e920bdee78393d786f14bd16eb1cbd6faef33c304bfcbc00a61c3d98764a3c6cc05abc0c865f3ca3aa2fbc537a1cbb016b9b3b465967bb64221e3a659503baf27ec53a7ed50abbeb94af3a0f889fbb08748b3ab299823b33da73bab753f03cc32c13bc4dd0f3bcfac3833c4e4a0b3e09dc963d4e26f7bdf3ef3fbe808442bd439e8c3d589111bdfe67803c2c06883c53cb34bc5621713c0f5b8dbc825a84bbf61e093a5aed6bbb3263be3b5561b6ba86ba16ba21b9bc3a7e4c9939c55be939f3a40c3c880e28bb8a87953b2ff5d43d26cb13be5eb0ab3df5650dbe4c9b883fefcf8b3fefcf8b3f4c9b883f7b3f2ab9cc5a82b9eb69ce3955d3c0383f7602ba5bef9f3a87d104bb9623b33ae8a49c3a379b83ba5dd9bf3ae055a4ba5096073cfd7585b903fe85bba6cafcbb0e27a1bb411b0a3c64b7debbb1fc4c3ba0ce843b473810bb14a6493bd85899bb7ce98dba63216339d5a21bb9655c8d3ab53fe639f8818ab9010cf439a52d1fbab02f45bb694d6538deb2613a5f72093b4e895ebba291343a9304c93b890f5ebbb5b0e4bced2809bd653c343d34d30b3d20ce39bc953834bbf50e5bbbf288923c1e29823b098c07bcfe40a33b6619abb95d38acbae32bf53aa676f2ba67e8933adb8b623826caf339c11a88bacf060a3a8c97b5b96bcca63b61e212ba523891bb45a0953c499da5bcc6d0cbbcf32a003dee5e3c3eb9080e3e531e4cbec49f5cbed8031cbd7fc7713dfb1d6c3bfa99bbbcdf3b653cc9a505bc8a2c8d3ba2f10cbc22c9edba51a6e33a2818b7ba45dc723a9e1b5b3bc1e89cbbfb73323b149c75bbd0a3cfbc0be0053d8aa4b1bc108bf23c1c0c263e53a244bed3f0033e215943be0cb3873ffc7c8b3ffc7c8b3f0cb3873fb5bb32386bc7c7b92a81893ac87029ba087993b9456fa9bac71bc1b95788cf3a50e7d9bbeca2fc3ba1b794bb7c9cab3b5e9eec3c7b8db1bcbde0423c3318c5bc6864e4bc8da2063d2d71debc1587b03cf6b37e3cd9fd68bc7710733cb05f6fbcf12663bbbe8ff83ae65417bb650a5e3ba4db89b9a0e2913a511ab9ba3eff433a3cd0893bf8992fbbc34d163b579a8dbb0d6089bc7206833ce01c9abb0850d43b4c96e1bb2e166dbd469d863d15eb7b3c806ff8bc8dab4e3c4c81a8bc206f193d1a842f3c106340bc1354293c6bf3fbbb00514cbace27223ba6042cbbe26f023ab25eddba74b7b73a624535ba9c0cb43add137d3b9c94aebbd490e43bd2b0f9bb3d65fbbb39ab0f3bd5ed27bd76385a3d628a633e7056da3dfa052fbe4d947fbed0b667bdc240a23df628a2bcaf7e82bbe929783ce76435bcc626203c2fd430bc8a882bbb0e4f593a5dfc8aba2b97003b2745683a970b01bbb5f2a8b9dc8505b835f862bc15f2b03cebe202bca6d35c3c1c891a3e744434bedb2fc43d262426be6cf2853fa2618d3fa2618d3f6cf2853fdbf9f1b8b437a23a9d9ce439d5c9d9ba1a6abd39af4fc8bb66be0c3bc071283b002f98bc990fed3c869ba1bcc5d86a3cca22923d38589ebde2cb7a3de43d82bd8cecb0bd49d2b83dd202b4bdd503a93dae432d3d43e919bdb524423df4d440bd8916d6bb78bb893bea4e09bc17b4143c7876f83971c80ebb14d88738a671023bda4f313cf6c3b7ba840f5bba083433bced255cbd4f5a143d54da4abc22910d3d744b813d1c99bcbd12bca03d816d0cbdad4b89bd58f6463d706b1cbddbdc553dd06d973c8a36b4bc9b52283c6ef332bb72146fba3ad0693bbde0b539b4a271bbdc0008bb9abcab3b56b939bbc722093ac347103c3dbab4bcad21be3cd6bb6abccae096bcab600a3dc07db0bd6be1a33da443553e04a5a23dc0d9d0bdcb0b8ebebbe922bdf0e5683d2e302abde9a6a73ce7cd7ebb63756e3cc5761c3bc69f1abc45124a3ba67cd8bb26ec4a3baf9496b8b1994abb9381aab990ac2c3a4dae303b33941c3c82ddc83bfe2737bb12a326bb9817db3d1d1614be4dbda03d726909be246a873f4e868c3f4e868c3f246a873f7781deb9818e10ba4bc2a539109c6d3a43880bba5dfa9b3a15f6f0b9678e33b96279b438a2506bba5d4a7eba784c133b14894f3c1db8763b159716bc82bf3fbc5351a2bb8b2d1d3c81d693bbc99f91b9d93c9c3b6e8d67bbd5d0273b436267bb51ad0cbbc63e6d3aab878db8abeeb73aba6d8f3937b3ee3921e55d393e0791baf960ebba2b1b00b9f656e7ba94bd743ba81348bbc54a8d3b2bdd143cfa4730bc42f426bd5f5839bd08a9673d0511423d285324bc74ec9cbbb80501bc5506be3cf3a3bf3bf93804bc6866e23bb6ad95bb47a45eba86d1173b50e639bb25338d3a98e7603ab0b763ba550ab6bad7f2dc3ab8e4a0bafca9b13b031f913b51ab18bc39b82e3cc7d4b4bc9d57febc8601413d7dc8573ec606133e9c4156bee1c171be91af57bd4b30913db0d2d03b0467c1bc7f55a83cc7db8bbc9f8ebf3b23a9f1bba170b4bb9bfb573bf3a2beba399e453b1105d53bc5a517bc1326ce3b1884ebbb85d520bdc2dd3c3dce19fabc3ce9283d37cc3d3e160558be999e0e3e923f52beb2c6863f802a8c3f802a8c3fb2c6863f9dd628ba267d103959d0c9395e2cdf3917174d3abf7d13ba73ca2aba3952b8b8cba7dabb62547b3b395981bac69eb63b9846e63c71ba63bca023503af1b8a4bc3213e7bcb464073db225aebc25fd863cb254b13cc465a9bce8ff913cbc4c8fbc944608bcb605db3bf484ccbbe047ea3bc31a1cbaea1fc03a96f163bab8f2e238db6c133bb00a8fbb0f99ef3a801b59b8c96f47bc9e7bb83cad69f5bb09230fbb91b429bcef2498bd0bc7a93d226d8f3c59e516bdc62faf3c45bf0dbd0d69493df9128d3c3d0f82bce033883c24a084bca49f35bba7e1873bd222aebb1505453b81695dbb2b38503b2c4e30bb9a537f3b2983633c952825bce4f3343cf0de93bcde791ebd0dd1903cf7ef4dbda72aa23d6b94893ed4b9aa3d7d8122be4b8e90be49b0a7bde6bacd3dc54e08bdae6d333c7c7ac13c78f6b5bc06419f3cec3c80bce653bbbbd2305f3be8916bbbc01e903b8733043b33f97bbb418799b889f91cba5039cbbc6607e63c31b3e9bb81539b3c1ac2313ead7043be6819b83dbc3228be82c4833f5c518f3f5c518f3f82c4833fa2611b3be32444bbb061ac3ad20d53babe33f0bb11c6033cd2fed7bb6e33b23ba8b8e6b92201b6bb9f4d8a3ce0bfc8bb80486e3da7f44cbdcdf1483c86b602bdd89fc6bd2b74db3d0753a1bd7d6b913d4c45823d9b3f83bdb5c1823d06586dbd9ba783bc5d997c3cdddda4bcfa478b3cca76173afa633d3a7a7e153b985a68bbd6419a3a4bb7c1bbbcc9cdbbcde7043c3c1122bdbe1f883d278205bdad646b3c0cf89f3d239b21be8345253ef8328dbd44d9bcbd315d753d3d38babd65ace93dcaf8193c0346243b9f59263cf9e465bc574d823bb7e2e9bb98c4ea3be6a1acbb7acc58baa85b833a23f440ba6bd4423b5c3ee03cfc86cbbc9ab49a3c5db9f9bcf0b8f8bd022cb03d5c2ed8bd34da1d3e6999ad3ef1bc533c101190bdadb4babeedd76dbdec4ab33d9c6c6bbdb677653c9cae97bc406b533c64be50bb5ad8713caa51093ca7dccabbfe757c3b6cfbc2bbef1bb8bb2230d03ba21b31bb51eb033b5b5b173c01d639bc6228a53c7fb102bccbb1013ed31a05beb9652a3c8ecccebd103d813fc6a3923fc6a3923f103d813fcf96fbb8fdd108ba538e0f3ac04809383dba8bbae95a893a8ee885bac631a13ab0c6383b192e2fbbcf6d083b2b3918bb31e746ba452d10bbab42063b4308c539ffb93abba138513b90d233bb2722153bcaa3023a969297bafe957d3ad60d3fb91d320bb9719895b99dd2573904b77439f4af65b9dec1c43aa42435ba0f4422babf0d193ad8b365b95f665f3962d399b9f688f63aa90993bb6a716c3b0a1b7bb9ba75d53b6bdac13b54039f38f87bb8ba8fdba1bb049f2c3bbb6865ba5aec693ba67cfa3920fb8539960593b9e1b12cb803701db93ea1f43904be4eb9b3bc1fb9ea8b1c3a900adab9e1ec2eb8020af4b942f09eba7d1a623bcbe171bbe75c203b5c70073d50f482bcd96709bcaacfcbbb1c1ca83de4f9a43de38205be8c8204beae9386bcd27f073d43ccbcbb5c5f05bcacad963b2b93b7ba6448cf3a14cb76bb2d3a10ba499a4b3a470b48b9e3c5abb9c2e7d1ba4912ad390d7013ba8382ce3adbe95a3b1ea6783bee6a163bbdf4cf3ae4b4a63d2a8605bed21ba63de62403be814d8a3f509a8a3f509a8a3f814d8a3fc0357ab9e73422b9323a4c39277546394afe2fbbcd59023bd2fc1cbbc9cb503bc575793b65d786bbbeb3983ba0fb7dbba5b5043b662b7cbb4d4f1b3be462fbba79a401bc3cf50b3c8347f0bb9943df3b55f6773bfeb056bbbcc4553b6ee55ebb0c7a2cba6eb80bb96019883976630c3a51362d3a35a19a39ffc1e2393e20babaf829f5bad558253b2b8beaba178eab3a204e8c3b2a73aebb9c1e923ba58915bba748db3b0609e03a07f8983be99b27bb334d03bc17c1bc3b0c1fb1bb7e4c083cf6ba1d3b1aedc6bacafed63ae0fe08bb91cd643a473e573a19a070ba6cb366ba43a50d3aba8eadbaaa97463a6cc7fcb983f7abbbed93d33b0d47b5bb9e87b83b74f02a3db0b9c6bc560c63bbf9b231bc6b49b23de2e5a83d1d1507be5d2b0bbee146dcbc2e59383d660063bc94fbb0baaffb023c3687dcbb5856ec3b82f7e1bb442b00bb1686c23939e258ba5a68f03a29f797b99f96b0b9ec277139e19466b9c5f31abb6b4c083c02a44fbbcf390c3c1d19b53d2a4509beb67dad3d487d09beff388a3f1b918a3f1b918a3fff388a3f8c1603b9e103a4b8b64a0039ea90c7384809b5bb4118223b3d0d89b9e6ff5b3bfb4ac63b814db7bb21f6763b5c4035bb8de62a3c9e5c11bc896bee3b4e5838bc698787bcc4c5863cb74084bcddb5853c569fb03bd299bfbbf20add3bfdffb3bbcab593b8d7c3a8b87b42a03933f1d5b8d304733a36115db9162448b9339a12ba077f06bafb74b43bb06c9abbad405ab9e23fba3b9f5e51bb0326fa3a31d441bb47fd3f3c7211a8bb2ffa243caad5f5bbbf7795bc66b6993c792887bc8390853c622c0a3c72b2b7bb49d9803b089ebabb0cbe3fbae9055d3af413fcba2315c83acd41423aa03dbfba8241b83af8a186badb8e03bc9ad3d83bb842bfbb8e5c023c9294143d8567d0bc1494453a726ffbbb4fa3b73da4bb9c3dd9e900bed83a0ebe457306bd2400333d10178fbcd0591b3c74b2083c980002bc4b2b1c3c301e0abca7b8d0baa65f223a66bee5b92db65f3a571d933a682916bba030243b23ccfdba6f1185bb0682293c774bd7bb77a02e3cb9e4a53d76d503bee8dba83ddad503be10228a3f9bb98a3f9bb98a3f10228a3f1fb04dba1f56a3396e7cd4b870980b3a3c74eabaf5cb1eb90cb9a53804e0063b5377693b07140abb5b72f03a984965bbca623639934c38bb20dd6a3a7bbb5aba732896bbc15fa43bd6c191bb9524703be684d93aa11b10bb5b4d0b3baf4ca3ba07f5a0b932730cbabe390f3a2fe868396d727e3a55bd1939990f36ba2541c7b9b4f038ba50d4a93a626a923960110dba7f2792bbe6055bbb3f96c83b5cc0213bfec803bc3a5e21bc3846903cbe187a3c6d8fcabbeb2b40bbf8409c3ae7c20d3cc1749c3aa5d9c2ba9ebdcc3971edb0397959093a235d823a968531ba181163ba626b44ba1845dd3988802fba7a25e13991848fbbf3e7ec3b7c6a89bb225b113b9aa5253dcf9bc1bc787d81bcdd4e1b3bfa28033ef536f63d137e2ebe2ada31be50b8ddbc8ded403d8e97c8baf04f80bc1b38163c6938b1bb5ec94e3b693fbdbb991366bafd4e94b99ac0c139db6816395a2a423a2f40dcbabbf4183aca5a60ba17b415bc28f7803cbcc212bca08e803c7a05ef3dc7e225be7772e43d4c5a24be2eae893fb2538a3fb2538a3f2eae893f5bea35bad65d613ac84f43389d8551b9d5877bba391a12bb9d1bc0389de1463b0b454c3a050a303b2d1987baf656febac330ea3bbbd337bc0a18f83b6ec9cebb079434bce803673c93005cbcd0c7223c03144e3b6c7a96bb15e0dd3b5b499bbb719daf39f28a1dba5aeec7b9cf54183a8a6a0b3b8803eeba412ccf3982dc36bab8405bba0581be3be14a1fbb93682ebb13f404bcd5f789bb9215cb3b897eee3b200580ba53154dbcf685b23c228bcb3b76a056bc1fb2903aae3053bb3aca803c47d6f23bff46cdbb33d3063bae892ebb94b8e9bafbe11d3b36246dba74791f39ec890ebbfa91063b19adafba2cbfa13a51439ebb84e9c53a32c93eb9da5b7b3b6268233d5219a9bc5ddf96bca5ba633b8f8f073e9665e63d139c28beb14835be1c3505bd48de583d5f50e3bb10e22cbc64a6013ca83abebb2220b33b36dfcebb4f3c093abb8d88ba489d9939ec1f88b97a83083b632040bbc3d0f03a29cb0cbb42680dbc69158d3cb14415bcc9e15b3c38bce93dfa5422be160cd83d2ed31ebe0669893f1aa78a3f1aa78a3f0669893f44e4acb86810293947e082b92eb052394f98f73ad05733bbdd892b3bf1392fbb19cd5fbc78527d3c64026bbc8fc6773cb4c3073d9c9a0ebd047f013dbb8506bd332e0fbde65f0e3d703908bdbe62033dfa3a583c63924bbcf630523c43bd44bc3ce4f2b8d15aa5b82f205d38a9bb1339fc5aa2b71e1481b97eaff239e38220b97020eb3ab3f11cbb8503173b639135bb333d63bc9ca4ca3bf0379cbb0329773c2024ba3c8da9b3bc0f90e93cea828ebc7e0fdabc85c2923c20c293bc644fda3c35fa1c3c202d13bcecf8093ce18d01bcc1e611ba141e823a48d08aba225ae339ab2e90394f2aa5399ece26ba334d94b8ff4028bb8bf5423ba42ca6b97e769c364d67123dd5e97fbc9c9f99bcf611623bfa74ef3d9a46b63d12dd0dbe199129be93ad0dbda648623dca8f96bc7e6c283a0429203c69790cbc9b17023c5d39f8bb1831adbae804d0399e8e2dbaf567913aeed36a390b0f9eba73177c3a5a590cba5f3d9abba5b92d3c9a3986bb71691a3c301bcb3d06bc13bea2d6bd3d814711beeeaf893f1abf8a3f1abf8a3feeaf893fa37bbbb7a91979ba49808e3a23d608b86b134eba38811f3be90c49bb57f4c43ac6f6593b876102bb5d01c73a0f0d2bbb79a6b13b2f510d3b858c94bb2bd6dfbb8d5e69bb8e71d13b4c6dabbb029a1f3b8c02533b9995c3ba82ce083be5ac6bbbf9b564ba1087f4b859e417393d5a693a4d0e5d3a9bc6bab9a0b81b39ce3529ba7bdf88bb7d922b3a8fae6d3a6553343bb6d77cbb5c8e11bb9b631a3c69b351bb557ef0bce30506bd6549283dbac11a3d43dce7bb775345bb93ee6dbb699d643c188e1f3b7fbcd0bbc338863b28f98c38c7f0eab9daa5c23a0939b4ba21b39a3979d9e1393bb7bcb94b6c2eb91ad04bb89d8343bb5ca0023c4bb51bbbb7951dbb8ee3013d933fdabc1307cbbcf23fbe3ca7432d3ea9221e3ea4d851be3de757be744b04bd40d5383d7f045c3c7d52c2bcb4c1313c546bbbbb25625e3a81dea8bb54f3e6ba09d4b53a5bbc5cba8a9b613affc9343bfab981bbb63a273bb34977bb35e0c0bc3bb8fd3c6f21b8bc933af83ca533193ed19d42be2b460e3ee1c442be24f4883f24408a3f24408a3f24f4883f49146d390d359bb9ab1fa43aad1299ba59462ebb7e5f97b905e7b1bafbb98a3b630a3c3a8521023b52c8aabaacbce2b9354d6a3cc5c420bc64e3af3b6c4b66bc77a06fbcf9d3943c981f82bcf917463c775de23b8b6b10bcc201263cd464f2bb8c3f03bbde01863a3791dbba86fb203b4856c7392f68bbb8f56168ba563d363a46bb0a3b53f5243bdfbc8fba07d868bbd6f31ebc698a6e3b2df8a83b29c3b93af9e591bc9cc91cbd0601403d06dcd23cdd9767bc7016463b747d2fbc9322af3c354efa3b5f1668bb54c8d93a7f6a9ebbc6828fb9a180d03ab58f87baf2e2d4b9dc8bf2b9c3fe093ac12d1eb9eddff638409641bb2fcf6b384e5b5a3b46f986ba8a1eae3c8e0b91bc60b0ecbc86dff03c161b363e7d7f0f3e8fef44be342c5fbef3a31bbdbaa9493d0731b53b6c0b79bc3d1ff73b4e2a07bc956baa3b3b645fbba148bcbabff1c93938d4afb838c13c3a805a8b3a7da81abbe65a1b3a292e5dba668c54bc4b00a83cdacf3bbcc1de8d3c7fda073ee08530beeb1aed3d3c5f2bbeba80883fdce18a3fdce18a3fba80883f8dee92ba5bbcd43afa6f78398f8d35badd9f823bbfed3ebc29499b3bbb62aa3a7fb3ecbc9c80193ddc70e2bcbd66c53cde0e843de9409ebdd41a8d3da9a17cbd450a76bd1bf3863d5d848bbd8f6a723db9689b3cf8ecaebc8253e73c0bedb5bceda934ba1a582c3abf4837bb7d61143b6d4b1d3b820827bb9c433039f319cc38af267d3b12f6f73bbabd30b75ae351bcaa3cd9bcc2246a3cd97d67bc7ba5f03ca8c31c3d7e3041bd860c5e3d9f69f7bc182f47bdbf26ff3c951aeebcef1e353d22d6b43c11f17fbc614c043cf95c47bc6e3e58bb3960473bd04307ba2c67313ab6b754bb168e5b3b3c390cbb02cb0c3be0b2053c23b18fbcbe686d3c1c56e0bb6fc62f3b7605243c64fb3fbded83213dc1da243e45e5ce3d8e4316be0b1f56be0e0ddfbcdfad283da9b8a5bb3cc308bc21596ebbd8258a3b71dd85b9efb06a3af23d3b3bda1538bbb4ffa43ab62cceba7dfa0f3b105e26bb7a41133be09e21bb43a2dabbac16863c6d8d15bc382d2c3c1b7fe43d56021fbe005dcc3df70f18be29f2883fe0038b3fe0038b3f29f2883f166b9d378099b2b949a794396850703981e689ba7079a23a1e8022baab5e043a998e1d3b8ad3babaa157a0ba37be0e3a2891233c951cdc3b149a25bc2a8133bcacac5cbb484ec53b9bce01bba95b3bba77a2643ba8643dbb8f041d3b854732bb7b18b7ba4c0c0d3a85954fb9fb309b3a12eb563ad42106ba3381813a574bbeba8dce4abbb4dcc03aa10522bb67c1883b079b86bbe4864e3afc3a493c1c9617bc86c82abdcf2333bd98a35c3d0c494b3d23659bbb78be85bb46ff17bc4e01953cecb5513b0526a3bb70caa73b6d3157bb02aea737d1d5c83a4fac13bbe079ef39bfd1123b5a3809bb69ba04ba20fbb5394c32eebbdc8e263c1835b33a051688bbad9cf23cc8cc02bda9a9ecbcc6b30d3d8859413e8faa283ee05b5ebe10c168be442b2fbdabc94f3db886a23c0c52d2bcca56743ca5e447bc84e5743a3ea229bba3b18cbb0d402c3ba758a5b99965df3a0e2fbc3b642704bcac9bc23be21eeebbea1912bdf482323d961706bd0e592d3dc12a2d3e33de54bed21d1d3e541153be5289883fb1668a3fb1668a3f5289883f7bcbcf39b4a226ba72ef6d3a45260aba865607bbad55ca3a4cf0b6ba2681e53adaadc7b92138ae39fb68abba36aa233bc98d983c02dd82bbb2c6e6ba2d1a8dbc44ba87bc6f94973c0c754bbc01bf2d3c39983b3c1a9b3abc14fa273ceead1abcd8e881bbf280583b2b3f57bb997c6e3b0484dab7920786b7fc8d4f38b8db91b89cc052ba0312813af87b10bba3980f3bf854b4bb2e2df33b09a9b33ba945f6bbb67dcbbc46ba64bdce7b853d8d20023d83cf9cbcbb2a523c92f7d7bc5bfb003d25072b3c294916bc62c92c3c92c32dbc446229bba440463b756d52bbbc56133b1b9d0539bd3afd390e149dbaeb6a4b3aa115273aa30fc23a18ba973b61f3f2bb6dbbf13beac682bc1fdc07bd7e5e3c3d8b26503e4db60f3e952547be5a4d74be9dac50bd7bf45f3dd9b2be3bf78917bc4ccb743c849d5abc852de83bb251d0bb89574abbaf57e73a79f3acbad461023b24823f3bd905abbb56033b3b75d95ebbdc59bdbc2844f03c03f18ebc57ffd83c567a193e51bf3ebedef7fe3d661e37be7cc6873fec458b3fec458b3f7cc6873fa945593a56ada3397de8f4388e2c2abac5e5c63ba97ae4bbba56943b3d9fd6bbe97a25bdf9ce2c3d2a770dbded0c233d01f8d23dea9dc3bd61a1a63d2a45c4bd9e7bcfbdb969d03d9ae9c1bde2a4b93d4c574a3d2b5341bd0045493d5bc838bdf8c941bcfa4e413cb6ac60bc344c393c3e6e48bba921bf3a6e910eba6c3a293bc989323c050764bc84de2a3ce23525bc895e57bd5639673d5b1832bd0862383d36d7803df021f8bd9859063e27556dbdc3c688bda1ec5f3d57f590bd7f029c3d885e953c111a6bbc5e4d9a3cdd3991bcdde85bbb9995103a0ef742bade87243bbdcacebaeef45d3bcd3464bb3aef2a3bfdcf813c51d961bc7403753c628ca8bcbe8407bd7be8f63cdb6b90bda1a9a33d44d86a3e0961ad3d543c08bea1f589beffde5fbdb598773d8fdc7fbc14d3cb3b0c57a23b04eb77bbb514673b9bf5e1ba571b113ba2da4abaae3c1139bbcfefba89baa1baab0e1e3a8f3f8eba93b7f939e56bcbbbb7d6233cec219eb9c1f20d3ca067f73dd6f822bef9bbbd3d73a615be1996873f16028c3f16028c3f1996873f809395b9d8360bb9b5bc7439fac75739f89997ba0eab023ab7273fb925a47d3a2d36513b11b93abb7520153b83cf33bb9a2610bb84ef46ba5c26c539af3a063bad302fbb69c8383b063c18bb4671083b2758893a77b78bba1032a13a35e885ba8dd908bae972fbb837f4083883960f3abba1f43995681db9e6ba1fb943c64eb9bb0d8639a775fa39a1102cb8862293b92fa12c3b84dba1bbeceb693b547065bae3dcc13b8b74d53bda76b8ba72609e38420b93bb9988f63a690c7bb909746c3b1e8965b95406193aceca99b96d455f39dabfc43a25aa65b95c4422ba842135baafa04b3a7d4010bac0c3abb96d1448b9898eb7bacfac963b48ca76bb3745cf3a297f073d3c9386bc9d6005bc61c6bcbb01faa43d0c1ca83d898204beed8205be3bf582bc7f70073da2d0cbbb106609bc581d623b5def9eba005d203b13e571bb0eefd9b90f841c3a3c09f4b91d6b2fb8426113ba1783ce3a80e4d1bab1e8ac393965163bb5fbcf3af0e65a3b61ab783b961ba63ddc2403bed0b4a63d0c8605be509a8a3f814d8a3f814d8a3f509a8a3f6eb80bb90c7a2cba76630c3a60198839feb056bb55f6773b6ee55ebbbcc4553b3cf50b3c79a401bc9943df3b8347f0bb662b7cbba5b5043be462fbba4d4f1b3b65d786bbc575793ba0fb7dbbbeb3983bcd59023b4afe2fbbc9cb503bd2fc1cbbe73422b9c0357ab927754639323a4c39473e573a91cd643a6cb366ba19a070ba1aedc6baf6ba1d3be1fe08bbcafed63a17c1bc3b334d03bc7e4c083c0c1fb1bb0609e03aa748db3be99b27bb07f8983b2a73aebb204e8c3ba58915bb9c1e923bd558253bf829f5ba178eab3a2b8beaba35a19a3950362d3a3e20babaffc1e2391686c239442b00bb5a68f03a39e258ba3687dcbbaffb023c82f7e1bb5856ec3b2e59383de146dcbc94fbb0ba660063bce2e5a83d6b49b23d5d2b0bbe1d1507beb0b9c6bc74f02a3df9b231bc560c63bbed93d33b83f7abbb9e87b83b0d47b5bbba8eadba43a50d3a6cc7fcb9ab97463aeb277139e19466b92af797b99f96b0b902a44fbbcf390c3cc5f31abb6b4c083cb67dad3d487d09be1d19b53d2a4509be1b918a3fff388a3fff388a3f1b918a3fd6c3a8b8cab593b833f1d5b87b42a039d299bfbb569fb03bfdffb3bbf20add3bc4c5863c698787bcddb5853cb74084bc9e5c11bc8de62a3c4e5838bc8a6bee3b814db7bbfb4ac63b5c4035bb21f6763b4118223b4809b5bbe6ff5b3b3e0d89b9e103a4b88c1603b9ea90c738b64a0039e9055d3a0cbe3fba2315c83af513fcba72b2b7bb622c0a3c089ebabb49d9803b66b6993cbf7795bc8390853c792887bc7211a8bb47fd3f3cabd5f5bb2ffa243c9f5e51bbe23fba3b31d441bb0326fa3afb74b43b077f06baab405ab9b06c9abb36115db9d304733a339a12ba162448b9a75f223aa7b8d0ba2db65f3a65bee5b9980002bc74b2083c301e0abc4b2b1c3c2400333d457306bdd0591b3c10178fbca4bb9c3d4fa3b73dd83a0ebed9e900be8567d0bc9294143d726ffbbb1594453a9ad3d83bdb8e03bc8e5c023cb842bfbba03dbfbace41423af8a186ba8341b83aa030243b23ccfdba571d933a682916bb774bd7bb77a02e3c6f1185bb0682293ce8dba83ddad503beb9e4a53d76d503be9bb98a3f10228a3f10228a3f9bb98a3fc9720cbae7f1a0b9cbe06839b7390f3ac41b10bb8e84d93ae34ba3ba344d0b3b9d5fa43bc02896bb8525703becc191bbed4c38bb744a363900b45abae6dc6a3aa1130abb2277693be84965bbce72f03a51bd1eb9ed6aeabad6da063bd9afa538ec53a339b5b44dba6f9d0b3a7678d4b81a5d823aa357093ac20f63ba008531ba10d9c2bab0759c3a35e6b0398abfcc392a2c40bb8f8fcabbfdc20d3c30419c3a315e21bc09c903bcb4187a3c3f46903c43065bbb392892bbffc1213b4e96c83b5ed3a93a50f638bad6090dbaa369923916c41939ec787e3a4251c7b95e0f36ba454f94b9f81466bac56e1639cbc0c1397838b1bb3438163c773fbdbb28c94e3b8fed403d58b8ddbce94f80bc8d97c8baf636f63df728033e29da31be127e2ebecc9bc1bca3a5253d564e1b3b7d7d81bcd9e7ec3b5b858fbbe15c113b786a89bbf946dd39dd6d44ba0b28e139ff7f2fba84f4183a3f5660ba0527423ac340dcbacac212bc758e803cb5b315bc27f7803c7672e43d505a24be8405ef3dc7e225beb1538a3f2eae893f2eae893fb1538a3fec911dba9ca2af39e652183ac7e1c7b9f57896bbc2124e3bf3489bbbbededd3b4903673cd69334bc97c7223ce5ff5bbcc2d337bcc230ea3bb4c9cebb6f18f83b0d0a303b9a444c3a5457feba191887ba5e1d12bbc6837bba81e0463bd86dc038925c613aa2e935ba388551b9734c433860e31d3baab9e9ba657e1f3981286dba9048cdbbf7d6f23bad8a2ebb8cd6063b5eba903adda056bc59ca803c533453bb28164dbc7a0280bac18acb3b3a86b23c77f689bb67f404bcbe7eee3bd214cb3b5581be3b0e415bba4e682ebb384b1fbb2e03eeba726a0b3baadc36ba4b2dcf39618e88bab53c093a392188b992a09939d13abebb66a6013c6cdfcebb7c20b33b5fde583d243505bde9e12cbc1c51e3bbaa65e63d8d8f073ead4835be1d9c28be1a19a9bc5968233de1bb633bc1df96bcafe4c53ad5429ebbee5a7b3b939c3eb9ef93063b918a0ebbe3c0a13a9ab1afbadfd1f03a57cb0cbb8c83083bc42040bbc24415bccbe15b3c1d680dbc49158d3c060cd83d2ad31ebe3abce93df85422be1ba78a3f0669893f0669893f1ba78a3fbc5ca5b884dff2b89eb913390f235d383c924bbc6e3a583c6abc44bc9530523cdf5f0e3d122e0fbd8162033d533908bda79a0ebdccc3073dc78506bd067f013d11527d3c41cc5fbc24c6773c50026bbcff5733bb019af73a813b2fbb998a2b3b1610293996e2acb85baf52391fe082b9f01d823a2ce611ba9059e33942d08abac82c13bca1f91c3cf18d01bc11f9093c9cc2923cc40fdabcbd4fda3c46c293bc89a9b3bc0f24ba3ccb828ebc0190e93ce1a4ca3b5b3d63bcc728773c9b379cbbbff11cbbae1feb3a039035bbcd02173b341381b9c380a2b7597e20b9a6aef2397009d0398c33adba6569913a518f2dba4c790cbc9928203c0a38f8bb4e17023c9348623d61ad0dbd0560283aa48f96bc9246b63d1575ef3d2c9129be09dd0dbeb3e97fbc3467123df013623bb79f99bc7cf6423b634328bbf7f0a0363a33a6b9f229a539d32f90396b5394b848ce26ba4d167c3a58570cbac3d36a39390f9eba6b3a86bb716a1a3c1b3f9abbf3b92d3ca7d6bd3d884711be401bcb3d09bc13be1abf8a3feeaf893feeaf893f1abf8a3f1087f4b8f9b564ba3d5a693a59e417399995c3ba8c02533be5ac6bbb82ce083b8e71d13b8d5e69bb029a1f3b4c6dabbb2f510d3b79a6b13b2bd6dfbb858c94bb876102bbc6f6593b0f0d2bbb5d01c73a38811f3b6b134eba57f4c43ae90c49bba91979baa37bbbb723d608b849808e3adaa5c23ac7f0eab921b39a390939b4ba7fbcd0bb188e1f3b28f98c38c338863b775345bb43dce7bb699d643c93ee6dbbe30506bd557ef0bcbac11a3d6549283d5c8e11bbb6d77cbb69b351bb9b631a3c7d922b3a7bdf88bb6553343b8fae6d3a9bc6bab94d0e5d3ace3529baa0b81b3909d4b53a54f3e6ba8a9b613a5bbc5cba546bbbbbb4c1313c81dea8bb25625e3a40d5383d744b04bd7d52c2bc7f045c3ca9221e3ea7432d3e3de757bea4d851be933fdabc8ee3013df23fbe3c1307cbbc5ca0023c9d8343bbb7951dbb4bb51bbb3bb7bcb979d9e1391ad04bb84b6c2eb9b63a273bb34977bbffc9343bfab981bb6f21b8bc933af83c35e0c0bc3bb8fd3c2b460e3ee1c442bea533193ed19d42be24408a3f24f4883f24f4883f24408a3fef01863a8a3f03bb8ffb203b4a91dbbaa76b10bc445ee23b9e65f2bbd801263c14d4943c56a16fbccc18463cac1f82bcecc420bca84d6a3cc44b66bc85e3af3b5a22023b6bfd3b3adfa7e2b9fdc8aabaf36397b97b452ebb99b98a3b3ae6b1ba56339bb9d4126d39751299ba431fa43a2f81d03ad0868fb92de0d4b9059087ba671668bb124efa3b456a9ebbf4c7d93a3516463b379767bc4c22af3c7a7d2fbca0c91cbd10e691bc2fdcd23c0001403d7b8a6e3b4af31ebcc7bdb93a7ef8a83b08f6243b1abb0a3bc5d868bb7dbc8fba496abbb8b051c7395340363a6f6268ba2beec939cc46bcba0abe3c3a0fc8afb8372a07bc951ef73b7d625fbb426baa3ba9a9493dc7a31bbd220c79bca831b53b807f0f3e111b363e312c5fbe91ef44be8c0b91bc5d1eae3cc0dff03c75b0ecbc52a06b38b69441bbd9fb86bacd5b5a3bccfe093a238bf2b922e1f638282f1eb9425b1b3a652f5dba405b8b3aada81abbe9cf3bbce8de8d3cd78c54bc6100a83cf11aed3d465f2bbe89da073ee48530bedde18a3fba80883fba80883fdde18a3f49572c3a95a934ba6b61143b8f4837bb01edaebcbf689b3c07edb5bc7e53e73c14f3863d3e0a76bd8d6a723d59848bbde9409ebddd0e843daba17cbdd51a8d3da580193d87b3ecbcc066c53ce770e2bcbbed3ebceb9f823b6c63aa3ae2489b3b1bbcd43a7fee92ba028e35ba807378392c60473b5d3e58bb9d67313a6a4407bafaf07fbc19d6b43c0b5d47bc734c043cf626ff3c262f47bdf31e353db71aeebc663041bd9dc31c3d9669f7bc760c5e3d79246a3c9d3cd9bc67a5f03c837d67bc1cf6f73b93267d3b65e351bc5b8130b7480827bb584b1d3b661dcc38923f30398c1538bbc63d3b3bbd2cceba84ffa43a9e258a3be3586ebbe4b06a3af1db85b9ddad283d0a0ddfbc30c308bccab8a5bb41e5ce3dc1da243e0e1f56be894316bea105243c27c62f3bf183213d6ffb3fbd1fb18fbccfb2053c5e56e0bbed686d3cd68d5b3b95b754bbfbca0c3b18390cbb3e41133bc89e21bb62fa0f3bd05d26bb738d15bc472d2c3c0ba2dabb9816863cf75ccc3df50f18be197fe43d53021fbedf038b3f2af2883f2af2883fdf038b3f720b0d3a0118b7ba8b309b3af3914fb94b643dbbfda1643b174732bb37041d3b684ec53b0dad5cbb355a3bbadcce01bbac1cdc3b1791233c1b8133bc1f9a25bc87d3baba8c8e1d3b70be0e3aa457a0baee79a23a1ae789ba2d60043a448122baf297b2b9304a9d37c554703988a5943948d6c83a2d89a737497cef3992ac13bbe125a3bb89b5513b0e3157bb4ccaa73b5dbe85bb20659bbb4c01953c50ff17bcd22333bd85c82abd0b494b3d9aa35c3d40874e3a0a9b86bb1b9617bcf83a493c5bddc03ae2ce4abb8fc1883bef0522bb6f2206bafeeb563ae24bbeba9081813a30402c3bbab18cbbf465df3ac559a5b9cce447bcfa56743ceea229bbd8e7743aaec94f3d482b2fbd0652d2bcb386a23c8daa283e8b59413e12c168bede5b5ebebfcc02bd9b9cf23cd0b30d3dbda9ecbce48e263c5e32eebbef1588bbcd34b33a733809bbdfd1123bcef9b539efb904bab99bc23bef1eeebb1d2fbc3b6b2704bc941706bd0c592d3de81912bdf282323dd21d1d3e531153bec02a2d3e33de54beb1668a3f5289883f5289883fb1668a3fb280583ba4e881bba07c6e3b1c3f57bb229b3abc3e983b3cecad1abc0ffa273c7a94973c55ba87bc01bf2d3c0d754bbc12dd82bbd28d983c2d1a8dbc8bc6e6baba39ae3929b0c7b988aa233b7669abbadb55ca3a9d5607bba080e53ae5efb6ba83a326ba1ccdcf3932270aba3ef06d3a6540463b216229bbc356133b686d52bb164916bc0f072b3c99c32dbc6bc92c3cc72a523c84cf9cbc59fb003d94f7d7bc4aba64bdb67dcbbc9020023dce7b853d0a2df33bb054b4bbcc45f6bb20a9b33bd211813adebf52ba94980f3b097c10bba5fd85b79f96dab730d891b8638d4f381d58e73ab0574abbea61023bbef3acba7d9d5abc47cb743cbd51d0bb812de83b7af45f3d9dac50bdf88917bcd6b2be3b4ab60f3e8f26503e5e4d74be922547bef1c682bc8cbbf13b815e3c3d1fdc07bd0410c23ac214273a54f3f2bb07ba973bb53afd39789d0539576a4b3afc139dba23033b3b38d95ebb2f823f3bd505abbbfaf08ebc51ffd83cd859bdbc2144f03cdaf7fe3d651e37be557a193e50bf3ebeec458b3f7cc6873f7cc6873fec458b3fdf4e413cbec941bc184c393cb5ac60bc285341bd48574a3d5cc838bd0145493dc269d03db17bcfbdeaa4b93d9ae9c1bdee9dc3bd0bf8d23d3145c4bd63a1a63dffce2c3df87a25bdfb0c233d2e770dbd037be4bb64e6c63b499fd6bb9756943bd9afa3395243593a212c2aba7debf438d497103a6cea5bbb3289243b82f842ba061a6bbc875e953cef3991bc694d9a3c88ec5f3da9c688bd75029c3d58f590bdea21f8bd22d7803d00556dbd9559063e6f39673d9d5e57bdd961383d3b1832bd2b0764bcfd89323cc53525bc65de2a3cb121bf3a426e48bb663a293b5c910ebaaeda4abad81b113bdad1efba794411392eeb77bb1557a23ba9f4e1ba6914673bbb98773dfade5fbd0bd2cb3b47dc7fbc0a61ad3d49d86a3ea7f589be4d3c08be16e8f63c8d8407bdcaa9a33df96b90bd0cd961bcd0cf813c828ca8bcb003753cadf45d3beec9ceba4aef2a3bf23464bbdd3f8eba94b7f93962b9a1ba520d1e3a80249eb9fcf20d3c4b6ccbbbc6d6233c0abcbd3d84a615bead67f73dd5f822be15028c3f1a96873f1a96873f15028c3f71644c381ce18ab9faa0a2b814499439930f64bafeeee23973327ab736c51b3a3ece753b7b7907bb906b033bbe8480bb77b108bb297b75b8122cdb38c8f1cd3abe07f8ba0e33163b775119bbc2c2f03a6eb66c3a89624ebad07698397dd41db95e001637c6965eb98c1e2039094ad5b78418e3b8443ca6398e502c39a03aabb9a550d13990ad99b8885986396b0b4db9c5b4c63a3baf91bbcdc6703b6b0cf1b8d8327d3b37fce23b50abb1ba831ec03ad3f36fbb9ad2d23a1ec4343a0e03093b516134ba4db15a3906c536b950ab643a033faf399ad455b85af9e139dabc46bad3f7233a859c2139bbfedfb9618427ba1ccce5b9a7296f3bff2789bb8a59ff3a3a95093d5b2b87bc51570abc50f5ccbb3290a33d0e8fa43dc23e04beb41a03be7f8681bca93d033db952a8bbf0bb0bbc88648b3bd1eb65b9f2fc903a072a89bb0ee517b93b1ad4b903bc9d394744a3b7c49c70bae7e215b92671c43444a9523ae268603b36d3e03afccd6d3be5560b3bb264a13db99e02be26b6a43df7ba02bef08d8a3f7c638a3f7c638a3ff08d8a3f6ea864397c315cb9f58266393d6573b9c00338bbe6ba083be1b200bbbb44533b06a90e3ce7e5ecbb17e9d83b1cf908bc9507b7bb075d9c3b20e890bbfdfd863b0f6e17bb2bbbcf3ab8d46bba33c0073b6e56363bd12b2bbb0a96ae3a9947c3ba6a6e45b9ab0ee03789d5de364b5b4339c1fe95b73d6e503a2e718cba3df61e39b3f4e0ba472e5e3bcbd6bfbaf7b2b839144ee33ba23c35bc7b4e163cdb839cbb501086ba1443183c74c494bb9cb6e63b1bf768bb6595e03a3a5986392790473b4d3cc93af50e9cb9b92af0396525d0baabae8039d1999339309c72b9e531e5b9f405863a1999b0baceb7f23aebab0abb17ddefbbf87a063c19d9dbbb98d3f33b7eb3413d6c31ecbc035661b9957080bc5682a33d3e49ba3da0290fbef76004be3f3eafbc97de223d23c60ebc9750d0bb3fa49e3b46fca1bb4274cf3b3edba6bb32b4c1bac3e4363931c340ba5b73d63a51fc53ba0c0e1bba03002eb930207a3a80bc6cba30c9c73b7b2d19bbfdfc0d3c6f16ab3d292e07be773fb43d58020abe17ae8a3ff21c8a3ff21c8a3f17ae8a3fb6a17cb9d9a585b868eb7bb877c1c53921359dbb50d7773b6b8a2bbbce939a3b4955943cc1b18dbc056a583c1b3273bc563b81bc72a18d3c5b0d66bc2379343c6334863adfa227b7e89b063baa5abcba67fac43a430a44bb4df3703ae510e5389c9cbbb827d381b8e85700399d2526384076d83aaaf15439e7b284ba21cca1babda3c2bbf132103c1c68f0bbc9e8c93bd21fbf3c7de2b6bc11f69e3ce3deaabc4ee936bc1f7ea63c8c2886bc3f2e893cde4696ba16f7213a2f9c283bca3dd339303e153af97049b9bd30323bbff66ebb3571ba391b9a3d3ac00351bafb2aafb88e7f9c3ab31138bb1502463bf6bd16bb094036bc2a9a193c65a9debb8df5313c06f73b3d3baa1bbd045c573c2b5c9dbc2ae6903d0f2cc33da21d15be14bbf3bd56a1a4bccb7f0a3dc07eacbbf4b78fbb70a3df3b5ec803bc98d5a73bd4035dbb0462d2ba63b61d3a540be4b90683923aff1a3dbae44514ba75ad233aed3ea0b7d9a505bab021123cc043cbbba736113c6aa09d3d885702beebeeb23d7f9306bef2108b3f28c0893f28c0893ff2108b3fbe9c59babb7b32b9b93c1bb8cc98743ae2a1f6ba999bef39723992ba2c123d3b82fbcc3bf8d187bb1b6b853b1ea4d8bb81749fbb3d9eab3a0237faba0ea8433b178faeba0da9093b9adcd3baf38b543ad25a3339f27d9eba78db373ae76bd43943bcb038cd9732ba14050c3a76a20138ba0e263aa9d1483a1558b8b9809a8cba540643bb5b6f283b95a45e39894e403a5056adba178a1abcc7012d3c43ec5c3aba6a40bc7cb693bb34b24c3ce61a983c9944e3baff78b5bb3d3e183ba385be3bd4549139871327baacdbae39511d0e39f59db7396f38753a4a5e35ba44190bba59873a3a3a5f8dbaeeb149b91858efb88af8c4bb656c283cc626fcbb64bca13ba577563d7330f6bc02045ebcbc9ccdbb1072e73d2ece083e059334be97102abe75b3aabcd2a80f3d1142f43b703292bc5210cd3bb7cf10bbaebd7539d65868bb4d68a039d114a4baa7a3ac3ad9dc48ba8914593804117ebaf0b6813ae656b9ba746e03bc3ce16f3c14e51dbcb760853c0365da3df59c23be7c31f63d255025be0fda8a3f472b893f472b893f0fda8a3f6ffd52b97a8b81ba82de923a5dc6bbb882351ebcc4771e3ceeff06bc09d4153c2840c43c2e79aabcd4c1843cee91a3bcd28fb2bc329b8b3c031c5ebc776b763c7191023cca797bbb22bb533b110ad0bb360a2cbb099658ba409d8639a688403b195a0f3a88cb9cb928c69139011a06baa582563bafef97ba1e9e3d38430322bba9a2efbb6d95e73b3fd8afbb96b3e03b42be003cd644b0bcfccbcb3c00f039bc68aed0bc0a4e303cda917dbb348f083da91fde3b862098bc6a1f623c7eefa3b9539c303a98fbad3bbf4398bb1b0e06bb321215ba239dc839702283b9185d2b3a0fe515bad78bfaba097a163ba89731ba0b8a34bc23f5753c2c7f3dbc41581f3cd5cd8b3d91bf32bdd4fb1cbbd0e9a6bc6f0ac93d4834193eed6143bef4a01dbe01be56bc932cfb3ccec75f3c15e2d0bc410b50b81780cfbbbc4d063b6d3b803bd549c73aa7ca8bba3f2ab23a2e3bf6baf3cbb43a48af54bacdc9db39ff6f0bbb1a4d09bc5c9f363c3464f7bb478c913cc88dc73d38031dbe7c1ffb3dbfcb24be48c98b3f4b40883f4b40883f48c98b3fb02644390529afbac49ce43aaec95fba4da3c8bc1507da3c6325cbbcf895cd3c571d5e3dabd461bdc838493d34474abdcba447bd14b7383d36c720bde7391f3d9ecf9a3c5ae68cbc370f8b3c888380bcf5454dbbc2e8d43ab8a04ebb4fa6713b240afb385db841b8c4e11939747d81b95f6b9b3b957a1cbb31221e3ab25967bb14c15abc94774a3c97aa2fbceb855f3c32aef33cd3ea1cbdaaa51c3dd54afcbcc7e920bd70f62d3d9b6f14bdfd78393d9da6b73ccb97f8bc5b6ce03c56cf7dbc32c9f3bb401a123ce32dffbb0c23833bd31b0a3a014321ba7a37203a6e81beb81115093a375884bbda61be3b6dec6bbb90cb34bc6f06883c965b8dbcfd21713c539e8c3dd48442bda768803c7b9111bd13dc963d3a4a0b3ed6ef3fbe6726f7bd4e2d13bc1654f03c93c3833c08d0f3bcb66f8b3a50869fbb44e573ba679a823bfa7dc53a8f9703baaa96af3a54d50abb0ababc3ab53c99392661b6ba0bb616bab60b28bb6a84953bc588e93956a40c3c5fb0ab3deb650dbe18f5d43d24cb13beefcf8b3f4c9b883f4c9b883fefcf8b3fbb1a6339afe88dbab95b8d3a4e9c1bb91d3810bb8dce843bc65899bbe1a5493b571b0a3c3e27a1bb0bfd4c3b8cb7debba07985b96a96073cc9cafcbbdffd85bbb19a83ba63a49c3a1a55a4ba6bd8bf3adbef9f3aa67702ba0124b33a89d104bbb15882b9e1432ab916ddc0384d67ce39272cf53a9738acba85e8933ad676f2ba128c07bc2529823b251aabb91741a33b2b3834bb33ce39bcfb88923c540f5bbbe52809bdc6b0e4bc3bd30b3d5f3c343df28a343abe875ebbd4105ebb4005c93b50a66538de3045bb8b73093b5bad613a9c848ab9d841e639f12e1fba4e0ff43953a7e33a16caedba42de723a2619b7babda505bcd63b653c9af10cbc6e2c8d3b7ec7713dd7031cbdff99bbbc2d1e6c3bba080e3eed5e3c3ec29f5cbe541e4cbe399da5bc36a0953cf92a003dd3d0cbbca7cba63bf98bb5b9fb3891bb01dd12ba57cef339d26b623841080a3a751b88ba3e74323b649c75bbfe1b5b3bf2e89cbba0a4b1bc218bf23ce0a3cfbc16e0053dd2f0033e205943be1b0c263e51a244befc7c8b3f0cb3873f0cb3873ffc7c8b3f0e8ff83a852663bbfa095e3b855417bb99fd68bc5db37e3c4f5f6fbc7610733c5ba2063dc963e4bc4b86b03ca270debc3d8db1bc009eec3ca817c5bcd8df423c40a1fc3b94e4d9bbf499ab3b18b694bbed6fa9bac47c93b93388cf3ad013c1b9a2c1c7b9228f32386f6e29ba907f893aed29223bb7574cba4372023a98052cbbb26340bc00852f3c60f4fbbb5c54293c5bad4e3c8170f8bcaa6f193d4882a8bcb9166dbdf192e1bbcae87b3ca19d863dbb06833ca26089bcb651d43b521d9abbf6982fbb98cf893b53988dbbf549163b6ddf913a87cc89b9b2f4433aa215b9ba2e5a593aad8b2bbb8f9a003b34038bbad46535bcc62a783c0ad530bc8f27203c8040a23d93b667bd188082bb1228a2bc7f56da3d618a633e3c947fbe12062fbe1aac0f3bbf64fbbb80385a3dfded27bdc996aebb3a167d3bd3b1f9bbe092e43be4b9b73acb5fddba940db43a084a35bae306a9b9a6d904b8ea3a683acf0801bb08e302bc49d35c3c5ff862bc67f2b03c1030c43d332426be24891a3e8a4434bea4618d3f6bf2853f6bf2853fa4618d3f61bc893bd217d6bbbeb4143c5f4f09bc44e919bdcb432d3d1cd540bdc124423d59d2b83d93ecb0bdd103a93dd702b4bd2d589ebdcf22923dec3d82bdd1cb7a3db80fed3cab2f98bc30da6a3caf9ba1bc6850c8bbcb7abd392d6f283b63c00c3b8e38a23a9ffcf1b870c9d9ba3198e4396bce693ba7076fbaa7a671bbaef5b5399336b4bc5f6d973c24ef32bb7352283c3af6463da74b89bde1dc553d666b1cbd3299bcbd614b813d496d0cbd1ebca03d595a143dd2255cbd0e910d3d99da4abc24c2b7ba744f313ccd3333bc06115bbac9c80ebbe474f8390572023b07de8738ac7cd8bbec104a3b635496b87aeb4a3b38766e3cf8cb7ebb92a01abcc7741c3bf2e5683dfae922bd79a7a73c37302abd05a5a23da743553eca0b8ebeccd9d0bda8600a3da0e096bc5fe1a33dbe7db0bd27bab4bc4f47103c9dba6abc3221be3c82bcab3bbdff07bbed1c093accb839bbc2ae2c3a91af303b1e9b4abb9584aab9442837bb8ca726bb12951c3c3ddec83b5dbda03d6f6909be8c17db3d221614be4f868c3f236a873f236a873f4f868c3ff7406d3ad7ad0cbbe6efb73ae4a08db83c8e67bb493d9c3b4f6367bb10d2273b772d1d3c2151a2bba3a191b97cd693bb0bb8763b22894f3c97bf3fbcfc9616bcb4516bba877fb438724c133bb44a7ebaa8fa9b3a0e880bba169233b94df5f0b9be8c10baf282deb9659c6d3a69c0a5393fd1173b1ca35ebaf9328d3a6ee639bb093904bc2aa4bf3b04ae95bbbe66e23bf5ec9cbb055324bc4e06be3c9c0501bc585839bd46f426bd0711423d06a9673dc54a8d3bc11348bbe54730bc0cdd143c891000b9ac61ebbad1bd743bd257e7ba28a9ee395b738f39bf0791ba91eb5d39aefb573b9770b4bbf69d453b59a2bebab1db8bbc6455a83ccaa8f1bb568ebf3b4f30913d96af57bdfd66c1bc85d2d03bc806133e7bc8573edec171be9e4156beead4b4bc79b82e3c7501413d7457febccda9b13b0ee4a0ba6aab18bc3c1f913b15b563baa8e5603a51f3dc3a890ab6ba0226ce3b0b84ebbb1705d53bd0a517bcde19fabc43e9283d8cd520bdccdd3c3d999e0e3e933f52be38cc3d3e170558be802a8c3fb2c6863fb2c6863f802a8c3f2005db3b924608bc6e47ea3b0384ccbb9b65a9bc9254b13c984c8fbcbbff913cae64073d1113e7bc11fd863caa25aebc6eba63bc9346e63cf2b8a4bc2423503a7b537b3baba7dabb999eb63b2e5781bae98013ba141a4d3ac954b8b8ddc92aba81771039cfd628ba9f2ddf393fd2c9399fe2873b20a135bb9e06453be923aebb6c0f82bcf2128d3c25a084bc2134883ccc2faf3c52e516bd0f69493d50bf0dbdee2498bd8eb429bc176d8f3c0cc7a93da47bb83cfe6f47bc66220fbbd169f5bb9e098fbb036c133bb40b59b87896ef3a0a23c03ace1d1cba1903e338a2f663bae0305f3bcd52bbbbd41d903b3a926bbb5ef6b5bc947ac13ce63c80bccd409f3ce6bacd3d49b0a7bdaa6d333cc34e08bde4b9aa3d6894893e488e90be848122be4ed1903cf0791ebda92aa23d0cf04dbd552925bcc583633c29df93bc6df4343c3d36503b92695dbb31547f3bba4c30bb7ca899b845041dba4235043b72f77bbb73b4e9bbda539b3cab39cbbcc607e63c7519b83dc43228be22c2313eb47043be5c518f3f83c4833f83c4833f5c518f3f75997c3cc1a783bcf4478b3cc7dda4bc9c3f83bd4f45823d08586dbdb5c1823d2574db3dc39fc6bd7d6b913d1253a1bda3f44cbd60486e3d67b602bdbbf1483c1001b6bb9fb4e6b968c0c8bba84d8a3c15c6033cdd33f0bb5f33b23bb5fed7bbe52444bbcd611b3b230c53baaf60ac3ac9e2e9bb9e4e823bf8a2acbb83c4ea3b1546243ba5f8193c99e465bc6959263c575d753d74d9bcbd6cace93d2d38babd249b21be25f89f3d0b338dbd8145253e9f1f883d041122bd18666b3c5f8205bdc3b6c1bb8a3e9a3acee7043ca5c9cdbbb1623d3a0a79173a0c5b68bbc37e153b0eddcabb9651093c97fac2bba7757c3b726b533cbfae97bc22d8713c8dbd50bbe14ab33decd76dbd8178653cb16c6bbd88bc533c6799ad3ea3b4babe1c1190bd362cb03d23b9f8bd0dda1d3e282ed8bd3587cbbcac3ee03c2bb9f9bc6cb49a3c285c833affcd58bae4d3423b32f240bae01a31bbcbea033b641cb8bb5a30d03b6228a53cafb102bc825b173cfdd539bcdc642a3c4ccccebdc6b1013edc1a05bec8a3923f0e3d813f0e3d813fc8a3923f8d10eab94bf520b9b68b4b3873560c3a6574643a1df006ba18ea89b8e1fdd6b89c18233bbcf141ba6497233a277a27bb006a45bbc45af1b9011c643a63a8163b2683e4ba2beee83a464004bb2dbcef3a62d24d3a025faaba321f8739c61aa839288b2f3940816bb95fe70939c9bba8b8aa0eac399fd60f3a0bdf15b944be42ba466b97b9367776380ca1713a1652dbb9c0b4ec3ac3585bbb3eb0133b3aa79db9d6869b3b0bfae83b1b09e5ba9f923e3afb3041bb983ab43a02d9443a4ef6cd3a4b1b86ba335d9c3a4e178cb91c1ccf396f50ec3963be01b9a0c02e3a2d1d84ba7727243a1f2856bae4381a38fc820fb8421389ba0eb8833ba1cf67bb12d8c53a27b1093de8f383bcc4f208bc2f79dcbb6a9f9f3d9d63a53de73c03be7a5502be83e354bc36d1f63c3dd29abb0bae21bcc460493b96b5fa38e705cd3acca077bbd052cf39233e19ba4ac72fbad26a153a99168cba04caae3afa8e7eb9fe433bb9cc61853bd9d163b9bc19883b1e4d2f3bfe12a13d889001be8500a33d3ce402be75a08a3f82568a3f82568a3f75a08a3fdafa30b9673cd5b91667b339150d50393fd7d6bad3f8483a1c3e3d396387983a7fb6a83b8d57a1bb0c3b6a3b1fa58abbe7edb7bb03f9823b516471bbe75e8f3bff9a77ba2c11623a7bc7babac3b5f23ac1a4f1398fb4fdba1927303bac17aeba79511a37ddccc1b7edf040b971e74f39f138903ab0923f3a3662f2ba0c212bb9285f1bba05b9373b1e5c0abbf7aef239f0f7c93b689b1cbc12000d3c788ca2bbbf4f16bb4943383c7878b3bba5a4fe3b74fb12bb520894bac17b4c3be7c8d13abb83543a939cea385ca382ba832c1f39056ebc3a1c6e90b91c31c4b91bca5fba3cd6413af40e0fbbde291f3b2b13c7bab272e5bbd537f43b4e02aebbfc6fda3b5b18433de3aef1bc387506bbcd6263bc5ff2a43dba20c23d06c711bea7d705be1b319bbc5f941b3dd7f7babbc7e423bcbb209f3bd7127ebbe3f45d3b79705cbb3e7ee6ba2c6c20ba49b96a3aab8f903a9d8f91ba89338339358221b81769a2392f7b37bbe050023c8f3dfcbaa8050c3ca89daf3dc8420abeee04bb3d08c90cbeb8d28a3fefe9893fefe9893fb8d28a3f65c048baaf7586b88a41443a506bb138e5d9dbbaac0b9c3a946f903a11871b3a100b343ced810bbced9c883b0e4b04bc446a62bce79c533c0da91cbcf80c213c5ebf943bf6fea3bb1b955f3bf0dcf7ba361816bade30143a74f15bba32baa6398310dfb7abfccdb85d0aefb70ac22c39cc9e0c3ada6d06badad088ba9549383a056e4bbbabbeea3bd3958cbbf5b6d83a7076a13c9e6faebcf2ca743c5d8a69bce5c150bc4c6ec03c9cc878bcc2d3753cf1d2bb3a200d1cbbd27bcc3b9ba141bbf44a4fba3e5681ba9b40bd393d0b743affd90e38959fc0395bbdf0b74a590eb93cfcb9ba7bd3333a1371ccb7c4b489b98494f7bb6687153c4a58d4bb94a8fc3b7ab7543dd4f732bd12867d3c9507bbbc9109913d2983da3da7281fbe0bdcf6bd21f16ebc39aa073d69d437bb2ba137bcb6687a3b7928dfbb20efa83b4dd6debaa5b65439e59fbeb99dc81a38b1bf95b954a9493a7e948aba026dc439ab415bbaf1ee76bb17d9ee3b19748bbb48e14b3c16ef9f3dbffb01be4116be3dd7cb0dbe21c58b3fccfd883fccfd883f21c58b3f475cf4b9aa3b35baefec86391632573aa63f00bbb90caf3ad3c3a5ba05e4113b1593e83b9eea9abb4f3c633b5c0fd1bbf2f1bebb7d3e403b35c612bb9359373b487772b91533d139ede05eba7edd343a2b598db98c6c90bab7ee0d3ae748663a4ccb4bb8912ca7b9c930d939b0bcb5b82bac793aca4b8d3a4a4bdeb946e5daba4b6d91bb8bb96e3bcce98aba039a213b5b24d3b945744dbc0a715c3ca70b2c39bd0168bc2bc248bbe2e6303c94a3ac3cfbdd82b9941bbabb0f1c313bdda0863b1c9794b9fac6a4b89d51f03971dc14b84637353a2cbaaab8f684feb84385d7b93fc3363a498911bba5253e3a9e499bb7122ae5bb9bf04f3c9bad1cbc9b09bc3b9c3c6e3dda5306bda6c843bc1bb73abc251cda3d06bf0e3e844737be26a826befc1797bc3bbdf53cc3b02f3cb97c93bcdf07b83ba28df0ba2fdd98bad3ae0bbb18f7e239b2af17ba15679d3a30b3b5bac1b567392f8119ba71aa443aeb3ddbba9ca50abc0aaf623c921b1bbca6238e3c2a51d13dd91324be6354ff3dffeb24bebe4e8b3fd2b8883fd2b8883fbe4e8b3f39c5a7393dd200bb81e8dc3a17756eb9c33038bcce682d3c724905bcafd61e3c0047d03c7dd2adbc3182693cd3dc9bbc11beaabc65b9923cd2634bbc266b463ce748fc3b43656fbb56fc1a3b44aeb5bb61a8f7ba065233bac9774ab85270263b2804013960a2c539d3e1253925ec2fbacb665b3b19a807babfd1fcb9301a48bbf74a22bca2a7333c05ef04bc2f8e113c278e4b3cd6fdf3bc516e023da7f671bc706d0fbd9ca8823c974dc0bb3f6f223d11a3353c3806babc9beb7e3cbb6108bbf79d39bb9148c13bd4696abb91cbf0b93e233d3af83cbaba0dab9538a0c4693ae9c593b9f5bc87bb96dba93b1ca5e9ba573e5dbc0e32913c2ce286bc82987b3cec2eac3dcddb58bd5af8673b8acc0bbdb0d1aa3d1a322f3e614454be86a413bea95cccbba45f953cef05d13ced27f8bc6c73793a350f81bb1f5036bb8749953bd10bab3aef9b853aee19493aaef544bb96f4e83af2bea23a313b19bb943ff5baa390ecbb6377403c380801bc4acb873c15c5b43d42321ebe576e093e8e4926be3bf68c3ffd08873ffd08873f3bf68c3f3a45043bfba945bbcd0f4f3bb73b28bbc552a3bc2da1ab3cc1a28abc4e978c3cbf1a0f3df5ae0abdafbab83c8817c4bc40b0e6bc9fe5cd3c6c3788bcee158d3ce4973a3c570813bc2ebf003c57e714bcf5561fbbbfaaffb92659bbba4f5c7b3b776ab83894527a39fdf04f39a8751bba4982a83b63c477bb8feca93a8eee72bbd7cc7cbc885e6f3c0f4424bc01dc5d3c4a96023d17c52ebd418a213d4096f5bce2123abd3d58393d93e2fdbc930a323d58b3af3c51a608bdb970cf3c199420bcef00e2bb611b3c3cf001f6bba6cf6a3a0321823a658da4ba7bff8c39e5a3f839f39daab9c56246bb4f2dd23b76c994bb803163bc9a43aa3c185ccbbcb577b43cc127aa3dc93876bda23fdb3cd4c14bbd91c8833d00ad1e3e24ee52be5537e5bd8d4484bb4724bf3c0164c33cbb440fbdcb85193a1d10febb12dfe2ba9544ea3b4c561a3ad0074a3af8ffff3a00fd3abbf155583a4c73523a379d59bb13a0cd3af7c921bb0d87833b54644b3a4517183c79d69f3d8aed0dbeb290eb3dc19a18be7ac38c3f8f8f873f8f8f873f7ac38c3fad2fcbb9bfd18dba86cfb73a744ee338d220dbbaf457823bf062a5bbe78b463b4bbe1c3caf9392bbc39f093b672bf7bbff7bebbaaeca163cbfece6bb5b6084bbe795e4373c9380bafd5875b8e3b7c33aac2a933a446a023a79cbb2b84b25cabaeaf4fcb95069f2b92698263a43d6d83929aa203b86c7a2ba3a3a203aa65d06bb5b762bbcb5c7b43ba0311abaa883c23b163b39bb4c517dbce4a5b23c50522ebbd5410abd9ab0ddbc6221033d33a5393d2b06193b96b8f5ba920d90bb40b7773b826493ba428c47bbbcac2a3b0f76d33a80e496398c55eb391a5b13ba4dc604b941f02d3b87e259bb7304103bc72b13bb9d012fbc0175893ca7b832bc6ec9e33b71dc933d47ee2dbdd967c4bc7f99a5bbc482fe3dfe144a3ed03460be1a8f47bea2e979bc6f99c43bcea81e3d27b4c4bcf4e16e3bacc0093bbc8ae2bb82eabf39b30c413a87f71dba5a4d863ab3b884bab3eb183bf01257bb2aac653bf416a7bbf11ca9bca811f33cbe1ee1bcf0ac0a3d7338f23df68544be9747333eecf745beecc98c3f1a67863f1a67863fecc98c3fd5d73d3b39a799bb8d6d853b653339bb5ca581bc66bc8b3cf4387dbc2d327f3c59250a3d066bd6bcbf398d3c5248cdbc21b997bc8ba9da3c844096bc291aa73b4ff4b13b55d4b2bb8c72253b80a381ba2581bfb9b4bb853811df9a3a905483ba87d02ebacea58cb74f3f7cb9593e743a2eac583b2ae7b8ba4c6ea63ae58780bbac198abc0c1c873c9e9042bc588d6b3c6b868f3cd87130bdaa57483d5cc0c1bc80a285bd59ab96bb3cad673c0575923d2a849d3c24067abc35386d3bdd89dabb577265bb55223a3b356b01bbec570d3b10f15f3a1a3da638d87b1638341a54baa90c3c3a187460bb5a19443b21eedeba475b81bc59d2a53c3b7a8dbc62f3903cfbf8e33d2a609abd6e25ae3bf37b37bdae00913d64ae873e0f778bbe50011fbe00a7ad3c2c6f1dbd410b913dd48834bd46c42ebcff313c3c86c755bc1fba0e3ccf9d423baee12bbb60b30f3b11ccecbafde655ba04e5b23ae3d22ab8f1a1e3bacc7738bb9eb8283c9d8d7ebc8d7aad3ce3568e3d2a001ebe1cfc303e196a38be927c903f8dd8823f8dd8823f927c903f3598693ae16320bc649d5c3c29cec0bb3ae2dfbc734c133d7a1329bd3a3c0e3d85825a3dfb1537bdbf82283da68344bdf0d412bd1702853ca0623ebcfd96c83cd0e8883cfff9063ccdc91abc9e2766bcbc980dbc9edc38bb6783b93b5de1be3b390a953b359d73b90e691ebb37a600bbbeef873c5c6e973ab6f1e7bbbad34cbc0fec37bd6a79ea3c9b1f15bcf29bfe3cb0a09b3d5152c0bd73097e3db0a142bdece7bdbd96c3a13d6870ccbc7ea9543d4334013c002357bd287ab93c4188d83c5bfc7d3c64fbc33bb90ce9bb8b8f7abc9c8a0fbcaa730b3ab1d0823beeb5893b7cdfb4bc1fa1a4b920379e3b48f88a3c5a3f033d7a16053b8a5fc6bc48166bbbd2d4933dc85f8cbd8729823df4da99bdf93bff3c53e9813e5775a6bea37658bd33639f3d71eb14bd04a1b53d4efdeebd3b3429bdbccbf13b87e4c5bba27f0a3d51e15b3cd1dbbc3a145eb9bb9f9f07bc852c3b3cb361103c830408bc795e3cbca1f876bc2cf770bca5439a3c9774a73cccc2923d3787e2bd3b92d53dd09b22be050e8f3f87f1843f87f1843f050e8f3fce17453ae070ebbab17c8b3ac2decb387f3548bb068b823b09ca39bbb7df0a3b0f2b2f3c696461bb075825bb3a2ea5bb76a6363b5715583c0b3b2fbc99071fbc731f06bb61427dba6f372e3bcee0773a889eab3a380932b929bf56ba6cdac1b95ab71cba6f1ea9b9e2906d3a058e803972bc533b3c96f6ba0ab4c03ae3f64dbb83e232bca2f6093c985aabbb1647003cf8accbbb79ba7fbc7ee0e93cc5e5b6bbf10434bd82142abd14c43c3dbdfc693d16a6f33b6a84e6b9e5654fbc2e00a33b9090e5ba9a89f6ba35979b3bdd3273bab1fa6d3a5128b5b7d7f096ba92fbd438712d923b92fbd8bb41978d3b498249bbf0faafbc7120c13c0dab2ebc7e1b383c476fba3dcd0670bd35cbd0bc9a24e4bbb713fb3def2a6d3e4e4e78be3dc84fbe147e65bcf57903bcef836d3dd665f6bcbb97203b9200963b734e67bc1b8db93b3110a539fed9d3b94a17263be5e9f6ba975cae3b8428d2bb24f1df3ba7cd1abc31f3e0bce4d22b3d482f32bd88fb3e3d0677fd3dba3e53be3302503ed28e59bea7f58d3faffc843faffc843fa7f58d3fc5a4013c8bca1ebcb811073c134be6bbd276bdbcbc02bb3c49608ebc265e973cad320c3d3c2bcabce9241f3cbb5299bcef741abc2b5ec63c154052bcf80af2bb54956dbacc2ea9bb25ee3e3b29cb963b8eabfb3a135064bad0de223a35b7efba960960ba64a0a8391c691fb85f59433aa927d23ba32294bb18b58a3bd6b5f5bb651dc3bc0a45dc3c074dbabc7908b23cd6c5d23cafef59bde761763df52c02bdd7a39cbdee1861bc794dc53c921aa53dc964b53ce304cabae86c6cbc7835b0bb86dd48bb1cdac4ba07cbb23bde0473baa0a9813a8e1af539f40eadbaafc365b9d08f893ad2aea0bb265ec23bcaf18abbf8fcccbccb70cf3cac1ab9bc9976f23c5cb30f3e4a14d3bd5302cf3ccdc08ebd8359023d2d9ca83e4493a1be6d0b0abe32b73d3d5dccafbdcb4ad83d33a65fbda0c197bcca6acf3c0cb7c8bc79b6473c0e948f3ba28392bb9abf873b0b921ebb89d608bb51a4293b24cfacba9e7789ba1985a83b9845213c207fb3bc6975b13c0e11433d840616be6d47483edcfd41be8bcd933f5eca7e3f5eca7e3f8bcd933f4c79873c050084bc5e45923cad36abbc818275bdac865c3d0ba230bda3e04d3d5246863db02b45bdb897513cbfc0c7bc0a7a003c87ecbd3bcc976b3cfa7612bd0063c7bcf5bb363c3d5eabbbdcd3933cbb28b03bbfd189bb9f300fbb28700e3b728536ba454d353add45ee3a299cebbaa48529bc786f9f3b0a10a3bb4b34fb3b2ba030bcd2a8ff3ce91232bd0a25083d551bc13db2540bbe4d73133ed892d7bdf8071dbe7ca44f3d79bbd0bb24eae73de4e1cd3c937c8a3cf10a5abdefbc983c574b5c3cd47d7cbc07a8b93c2410a1bc100456ba70293e3a46b572bb0799193b996b10bc48605b3c147b2cbc7d32d53b6021d93cedb515bd3c39b33cbad719bbdde9ff3da85da9bdb0175f3d5947f3bd8e0c8ebd4c71e43e95fce0bede06afbc992ef63dab7b34bedb27263e6d05adbd9a5a99bce7c2a53cb25c6abc9cb1803a76f7d5bb122dce3be2459aba9152603bbaa8753b1c7eabbb52b682bbc212d93b21a9b83c9ab421bce2f8a83c00b1dcbcb83d85bd399b45bd25dffc3d8384d5bd5f4a9a3f40cb733f40cb733f5f4a9a3f828ad638219e0bbaaf519a3959c9263921db253ac7ae8bb8f68ca8b9434841b94d4f0a3bdf3426b9eb3728bac781c3ba743a1cbb5ea1b1b9b987823a8695c03adae156ba96ea043a4078a8baf79ec43ab0aa37b6acca63b8d9899db8572f8c39197a15b9057676b9266cf1393290d9b8337855b9b1d7143a2d0d30b9922551b95591a23affdaadb9bf7e623afd6bbabaeaebb43ac9bc96bbdbcf663b2475bb371e3e9c3b02f1d93b9956e8ba84ffa83ab49636bb3feba03a0a7f293a5f66d83ad860bcb96414d4389f6df7380872cd3900a7a737dd4adc38b90edab9d5245f39a3158a3ab7039bbaadcba3394428d3b9d92668baa638693b854d46bb2098913a63c7023db4af6bbcbab124bcd3eba6bbebc19e3d5458a53d9e9b02be666102beeda153bc2eddf63ce75f94bb492d25bc93d4503b653264399027433a17265abb83041f394d4a82b952da1a3a14013fbae216c1baa8798b3a452c29bab051713a36da863b72acc6b8594bac3bb653c13a878d9d3d530501bee373a33dffe301be93b28a3f82448a3f82448a3f93b28a3fb6e42e38839b9a392a590238675caab99949503aa430aeba7987c33aece059bab5fc273bb61c21b9ee1da1ba5841d6ba9da8b0bbef50283ba306d7baa69e833bf6375939e4c8e0b90b42ad390c09e8383b284a39cef102ba58297f3a70e23aba981785b8e4baa7b82d39a83875518e3871912039ce68883adada01bbbd303e3a3dd498b91634353ab440c43a5cdaa7ba3d1ca73b65be08bc173f9c3b9ce1bbba272c07bb776c1d3c1301a9baa82fb53b1ddfceba31b5eeba99fd293bbaa9ef3a4e2aff3995ea4739d51e74ba120e6d396b6df1397021e838078169b9a356e0b92e685e3abcd11cbb7bf7d13a1b5b0fbafd84c3bbd5d2fe3be9e1b6bbffc8ab3b3b333b3dcf36e2bce8b99dbbdfad36bca9e6a43d14cec63da94614be086b05be419384bceafd113d76895ebbc72f4fbc73b35a3bd46538bb56384f3b93ea2ebb139a0eba63d5d1ba19b4333a41ee903aae1b20bb1136a33a7762093aba430a391b98e93942dd853bd1d095baf2540a3c3616ac3ddd7909be4785be3dabc40dbe95d48a3fe1e3893fe1e3893f95d48a3ff12820b93afb94b91f42d6b9404a7b3a7eb7cb3bb0d31fbcce120f3c2e2ba9bb396bb1bbdded093ca5a314bc882aa03bac7956bbf0d5d13b96f6f1ba9f9eccb9bd96ea3ad9a3ddbb41ef943b1fc69639e6f6f438a1a992b95cc0d5383f5c9c37a31959b8f4cca3b88077aab85cc05e39e818c6bac1b86e3bee8468bbc813d53a3dbf7bb9203daa3ae300a13bf8e09cbb043e6a3cccf683bc6157853b1b2a63bbe98363bc0703a43c3d9bbebb4755363cc229833b4c50eabbca41af3bc8562dba2e2a62b73a03523b3ebe76bb89c9ca388d5313b92c0d8d3ad389bab911e8f9b9cb33e8b80ef61bba4d8785b9c8204cb7efbefdbb20720e3c725e88bb52b0ce3b1ced6b3d0d0845bd0abb393cde00a7bc02e7853dec86eb3dfa0627be068becbda7be5fbc99bf013d5780803bb62786bc67b8db3b9090f1bb9a5cb93bddd7a0bbd97053ba0d778bb895ff9eb9d63d553a8f250eb81e80643a4c55ccb858c1d0ba3d7afdb9bcb6003c94fea9bbac811f3c21de9f3d7ab605be8216c93d67c50fbee7b28b3f3afb883f3afb883fe7b28b3fe7c81eba295d2cba81e3a7394134683a33ccd1ba21c8043bbaeddbbaeaf1c23ae7d1d23b760784bbeb75073bcf69a7bb7b5fbdbb74d0183b8cf572bad740113b8cd13fba2961143aa9c68ebab040943aeeb2ad39440e1cba2f33333830a9a839599a1339b2b3b5b8663f0b3986ba79b9fd46863af2ae1b3a14f00cba529e9eba2c4dacbbeda82f3b558bfa39931a403b981beeb8a95161bc4bc1723c780fbdb82b3062bc73e2bbbaa5260a3caa2eae3c94bc7739c3a8babbdebc633bfb243b3bb006a3bad9f8a7b9d6987e3af38e2f3a23a9073af12904bae4bcd738dac6d5b710bcfe3ad39352bbf9fd973a062841ba085df5bb227b6b3c95b43ebcbcb7d83bfea8813d9ae705bd9f3467bc5fa673bc2b1ccc3db7bd113e54cd35beb71c24be555271bc47e3d33c2d0e413ce85395bc9c21933b31d47bba5e1cceba16e2d2ba217dc43a812985baa4a6443a93b7d4babb6c88ba11175b3a2beb913a74dc0cbb54f4e8bbe48d533c8ae617bc3f0f8a3c8dd2c73ded0824be14aa043e907a25be41e38b3fd62a883fd62a883f41e38b3f001a1ebad9d093bab7078c3aec68143a82f6f9bbdb748f3b08df36bb6680d83b4f5e813ca62d29bc37578c3bea0b2abc675141bc6d9f143cdd068abb19d08a3bd0a0763b91cfa6b9bdcc00ba1aad28bb48ea03390d8918bb1818543a2150b73a159de9b7f3ef693abe3261b9b67131ba76a3b13b151bc9bacc39e8b7f55495bb5c3b32bc17cc763cb05f15bce990d63bca97473c1da6ffbc8a95f03cc6c321bcea680abdb8f1383c065abd3a0863123dca931f3c02bd92bcf5d6173ca2891a39cb336ebb0a40aa3b070ae8baa11fd7b963a830390b3adfba0b999f3923adbf3ad273eaba5f25a1bba932d03b115e8aba9c3694bcefa9a33ce05d9bbc7858ad3c6d9dc83d749e76bd2e4cb13b8c6034bd8e36903d6f71413edbeb5cbe0dc40fbe0451beba9a058f3bbd470c3dd046ebbc1e947c3ae44276ba2d5ea8bb600a593b4b30f33a6425933ac2b5843a33a07abbfc78803bd6600b3a21fbffbabfd96dbbfbfcc3bb719d663cf4ff51bc8c6b943c1b98a03df3b021bee70a1a3ebb2f29bed8358e3fbbbb853fbbbb853fd8358e3f258ef2bb47d7bb3aa8dd843b3cac013b1ae2753b9ebd05bc158e61bb4a70043c819f1a3b6517813b4793913b7f6f3ebca69d14bcf2a5debaa6199dbbb8b8723c3a4d033ce3e4be3a562b653bfcef57bc3070b4bbd3e7acba0730303a7b77c83bc14c003b98940439a4aa8fba005d86ba4661b83c3772afbb3cedefbb0c2631bcb03ff4bcac78043dff1624bb62ef0b3b0a571b3ddb363fbd2472483c694a67bbdce41bbda32c213d4db57c3aec1b333c76b10f3c26abf3bc9a77083c38236b3cfd134c3bd29c073cbca5a6bbc573e6bb4de28cbbc98423ba25bb653b9b4ccf3a5f139abc086badbbe4df693c973f043c822e95bb55a94b3ce815f4bc76cadd3c4412aa3dce037cbd8910283dbaf983bd7f52773dfc7b293ec6b567bec3a3c8bd37bbef3a6da0a33cf84d233d412256bd211001bc1144cebbd53cd7bb5f36953c6176403c8a9b983ad3c266bbba8711bc5c7a7e3c52f9963b038cbdbb02cc76bc1f92aabc19f39d3c673adcbbb05aab3c889ac13d9ddd23be6e37023e5c161fbe91808c3f7aa4873f7aa4873f91808c3fbe6bea38f9378cba96b2223a462ee6390e2c91ba55d9613bccb969bb8816b93acc260f3cfb061bbb1e1039ba55ffc9bb80c756ba4f9c093c3648bbbb6d14b1bbc4c55bba1c6080ba142026b9b8a5243bf6278b3af6508539fec92c393e59c4bae060f0b993077db9aa5f0e3a779b89396f990c3b81c2caba75daa83a87af09bb0b953cbc6dccbb3b6cfc97b9d0d2cf3b67e1a1bbefa390bce31cc43c314516b72a0803bd3b14eabcbc5a023d1b42393d682c5d3bcd2db8399332c6bb74a5e53ae7f855ba4b5751bb3989473bc92a993a70763e378affbd39eaa947ba88c6cd39d7eb5d3b78c076bbf4d30c3bf4712cbbcafd57bc79599f3c887957bc3d3f1a3cc4b0af3db2643bbd8fcadbbc8f3357bc6af4e23d981b563e28a660be698245be35703dbc00f5a9bbec2e353d51e9adbcbd92d53a93d29a3b626915bc11d0d13a9a04ec3a9d2068badabb973af4d5eeba92ecf63a79f046bbe2d2883bc01cb8bb040a9dbcd337f63ce3bff6bc15a50e3dd32adc3dd08d46be8e04413eb3d246bed9028e3fa52e853fa52e853fd9028e3f9f420c3b4cd48dbbcf51603ba3e7bbba1e741dbc31c1343c6ef10dbcf053fc3b0bfab03cd87a25bc1ceb333af1664abc0b08d4bbb1d1623ceadfafbbf80dccbbcd661db8458137bb3cb36d39708f683b67bf0c3a1f8f053a727ddbb8badb77ba57b398b9d7393eba712e473a8c38af392ff2b83b392a42bb2c14213b3095c8bb5205c7bc7230b33c051358bc19f78d3c703c653c3d3a48bdf6334d3dfe905ebc593b61bd5f2178bc5da7be3cf5f17d3d88405d3c961b81bae86315bcf25d74bb6ec5d3ba010eecbac9796a3bbe388f369e8d3e3951d4b73ad194eabaa20af138131c3b3a7c978dbb35fda63bb18d60bbbadcadbc7125d93c1098d8bc538ce23c159e143ed0d3b6bd6f0be13b6e5b8bbd8f18143d6bef993e62248ebefe4f1bbe14fc003dd8358bbd783da93d4f1c0cbdca7552bcdfac933c3ba68bbcb9b6f33bdc19623b307775bb04de513bfe5e01bb43ec84ba4145c73a44346cb9f50ab7bac33fae3a928a263c8ee19bbccbf7a93c122f2d3d446f1ebe49784f3ea7f33abe15d9933faef27e3faef27e3f15d9933f2fd6a1ba9f53d6bb13240c3c88033bba64c857bad80f253ccf1e88bc25c9c43b413bfabad150563c3ff2a8ba79ef00bce773c93bc2e3a3bcf07fce3bddf68e3be486ec3b4071333c92be9bbbfc885fbc5b032abc79da6bb93f1d013be3c6103c4fef983bbd01a1ba35e8ccbad9e7f3bad1bdc13c6b8618bcd12a713b87f2a4bc4c7b87bd2080363d25fd53bc429d1b3d290b9c3dd201c2bdc480073defd659bc0beb93bdb3ce203d35d8013da5b46a3cd56d9abbcabfb0bcf39f10bc0cde103d4ecd803cd4bace3a017d6fbb5f3956bcdff5d1bb8fbcdb3ae2134d3b1022ae3ade03aabc4710033b8722a53bf5e5443cbbf8963cb8efba3c5d9857bdcdc7aa3c1f46f53d81ecdbbd18d6c33d083fefbd58019b3925959a3ecb5aafbe38fd63bde8bb933dd7fb65bda532b53d56c6b4bdf77816bd9bd4e83b95674ebbf718de3cc992423c3b9fadbaefb848bb25a7e1bbdb5d163c42feed3b4d7fe7bb31830dbc1fec6bbcb30888bc33be953cb2f1b33c89574e3d0e65e6bd8d0f083e327d27be00f7913f62df813f62df813f00f7913fa49cfd3996c805bb93ad7e3ab1a35c3a43c2daba4ed1463ba54cf7baa656143a941f233cf72644b9a7a4bbbb5ed995bb8ada683b4a233a3c088108bc1f6f32bcae1326bb8b85d2ba4d1e4f3b00f5d63a4c218a3a053b3cb9a37c37bac1e660b9660d8db991e912b9b018f33982d22b394951863b9f70f6ba6feed13a8b1e85bbbd1c4ebca298113c670a82bb3e82f83b2b6e21bc8cbe96bcedfffa3c0773f1b9aa3f28bd1d2534bdc8d83b3d7419693d2539ef3bbfa58b3b682d87bcd4d1773b80c69eba8b6d2abb1844bd3bb461d1ba33a2ab39e2ccf2b9193c3bba74a5343a242da03b6f170abc5e65bf3bd55563bb3fdbd0bcfc54e53cc27d72bc72b77d3cb819e03d908381bd31cfedbc55c592bcce23d73db2637e3edf4879be507d4ebe76ea04bc1e95cfbc0fc2883d178ad7bca66894b94e8a163cf29890bcd115dd3b60a9053b308c73bacf84413b2eef5fbb55d1be3bbca8b0bb54dcd83b2ba72fbca523d0bc96c02a3de6043dbdfdd1423d1ad1dd3d135755beb1c6623ee3b35abefbc08f3f6c35833f6c35833ffbc08f3f8b83c03ba1c20abc5a45c33bf46e55bb9ae16abcd7ce463c80d9c2bb2427013c8719a93cc24f92bba30516bc17fddabb008bbe3a73bf543cabd881bb6c7b74bccd1c9ebbbc3493bbce05753bd517d83b35cce63a6b6d3a3acc9492bacb2ec7ba0165a1b96849c8b956072f3a22088f392fdd223c33f2c6bb4a8bb93b975938bcc79f0bbd1b741d3dbc59edbc367fd73c45e3bb3c080484bd82a5813d57a495bc227e7cbdd15e00bd5ebb2e3d2789823d2cb83c3ce20da93cef3c08bd357df539f6143e3bc3bc23bc78b7413ccf386fbb5f7acabacf15033b849525bbe33eca3a036459ba3ce4c5bb6ab4163cb52ba3bb3957eabcea70e33c7c95ffbccede273dc17d393e098ef3bd2840e43caef0cabdf1704ebc4847c13eba63a6be1ac805be276e773d413bfebd8208ee3dd1671abd7805b2bc6a65063da35acabc87e3d93b80e7ae3bdbd869bbd3711b3b9c2611bb140dd0ba3cf4a63b1b4692bb6d2f10ba4642663c3dcb9d3b2a73a9bccc7a843ce34b963bbf4a0bbe43aa653e8cd03ebede52983feaed753feaed753fde52983f2e2a883c8f4389bca76e3d3cdba934bcf3d3f6bc9643ae3c7c76feba8ba9023c0f1a693b3fa1443cc735d4bc01e64a3c36ced13c6d978dbb2a32bebb65378dbc67a2bcbb137016bc8473943c4b4750bbe06572bba922913b371cb2bb54f67f3bf5826c3a24d6a7b850b151b89c9aa8b9d8db89ba165599ba0c9d243c67674fbc92dd61bd5848973d0b1199bd0c267f3deb7ad03da79c05be602fa33dffd72bbd0e5896bd440842bdd570db3dbb5e953c9596d7bcf2828a3d895592bd278fe33c94eb793c90b350bc3a40a93b8a5257bbf92c353a25fa5abb83eb603be159e6bae5196abc6ba6593cf07845bc10464a3cc805b73c1591d0bc5c925ebce7a2023d8e304c3ebfd62bbef57d133edb224cbeb51319befdb20a3f0356e8be9a9e04bde37bf23d83ef34be501ed13df57a83bcc9d322bb3e2de9ba23a2473c3a3e92bccf1be0bbc196233c2f5d8bbbab95a73a7534053c5c2988bb613ebcbb7f28853b9f57d13c6979aebc06f9293d10bc29bd2564f1bd7080a23b4496f33d531bcdbdeee1a13f07ec643f07ec643feee1a13f3bd0e539abdd35baa8d3d339cfed1ab9da054c3af50021bad15c5b39b8f2a1b9fb39bd3a67c28a3a399c1bba856809bb0e7d0dbb747f67baa50c023a2ac2173b064719ba5e0f923a06efa5bab657213a3eac0339cf77adb9ad988c38520b5e39cbee39b9b8a12737b81c1939a57581352ee0053a1c082e3a649d8aba84f3c0b8d4f47d3ae91929ba8fb4973ad087a4ba88ae523ac09d8dbb057c463b656f783a5bc88d3bc455d43bc084cbba5c2ed83aaeea17bb0790813a43d85f3a1a47a43aaa9f1eb92fae77b83aaa9a3921203d39a1330f3a19311bb96ff2b7b75124eeb9d54ea139c554a0ba3ccf993a0b56eeb9ce19aab9679d633b62e679bbb09fae3a3914013d2f2e63bcb9122abc3462a2bb7de99c3db4c7a43d013d02beb96601be731044bc2440ec3c908c7ebb59082dbcaf2aeb3a3dbc123baac5ddb85a184bbbe005ca397e838ebaa552ff38fd1edc3902ffc8bad382943ace91e5b7a2a7ac39c942933b95882eb9be219c3b0b33de3a3fbd9b3d9b6200be778ca33d41b301be09b48a3f44468a3f44468a3f09b48a3f3e8788b916aec1b92ef0f93994468a3964b0113b129301bbfc53963ac8ecbfba8dcd25babc80243b56812cbb0f96fa3993a632bb31e5c4392f637e3a760c943a174a49397a4be8ba47712d3a09a64c3af1084fbaf3a2513ac70d8339577da0b9989699b7e6fbbab9b6c61339f3a67439218ad9397462ad3a2182d4ba1fa90ab99ab11d3bfea6bdba5309343bd4876dbbaf459c3a073e9fbb065ec73a2d770e3b81ac8eb82861e93b975336b9dc8dae3b00470cbb7961bfb909b4153b8d379a3a0a68863aada367ba51863aba6ca8373a33e7593aae0c57b9f5d79239b57988ba10fc8c39e67fceba3bbb963ab77606b94ebb77bb1978bc3b68d13dbbd9f4163b20ce343dc7d6c4bcc5c00ebc05c618bcfed9a43d60e9c93d71b611be62f808be92e953bc1805013dd3e760bbb23143bcd338133b0216113ac0e3293aac4e27bb45aba5b9038624bbf0dcd73a2d11603a8f540dbbf235313a58fc3a3a0511ec39e2badf393c95963b373936baa2e1f03b61aaa63d1a3409be8d51c03d9b930cbe141f8b3f419f893f419f893f141f8b3ff72784b81b9f12ba8e5ccc39f484ad39281eac3b41f7c4bb1095e93bc518dcbbb689ecbba0bf3b3c7edd25bceb92b13bef1691b96e160cbba8f7ee3a5880a63a6f6b423b1f141dbbec99c33add8433bb69322fbb0a007d3a1809e3b906a70b3bc8919db97e9b0e38e23fcf3840873f39dd0060396cf1763b08fd8bbb958f8e3a55d7f33bfee80abcdf0d213c77de11bc98e3683ba7a13a3bb59c33bc3a22663ba8d7abbb91ae0e3c0e89cb3b066f663b1b98553b15f19bbb88b96b39ff83fc3ab43292ba175b143bb8ab6bbb8f861b3b5b26213b98012fba0222c6395fde08bb912173bb9d93feba3704d5ba555cdd3b8bb61ebc5420093c77f83a3bfc3ab23aca757a3dbc933cbdde45fe3808db81bca695823dcf57013ea8d525be8a3d00be323815bcce53ce3c928fd93b902a8bbca592053b5c79ebbbb1a29a3bf2fd5bb8f2108fba1842fe39943e893a51544cba0fa9043b1b99a63a3a1986b9690f81bb87d164bba540653c561406bcc156263cbf229e3d600410be90f0e23d4d6711be87888c3f8a09883f8a09883f87888c3f29cf55babcbb05b9fa707ab767316e3aedca1abaca31bd35992223b808a94b3a83c6a53b3f5b8bba8665a7ba05b15ebb2efa81bb25435d3a042c273a61e41d3ac29d85bafc995a396b55a6b9e6fd7b3aa432853924bd1eba0b5e1439b8e175395ffa9db8f4de87b917f3a0394c96ec360d81a73ab9b51339104b08ba681983ba2a05b2bb84d0503b4ffdd039d477243bae6ce2ba5c2561bcf763703c617eff3ac77034bc993676bbfe501b3ccfd59f3cc50b36ba99941fbbd070fd397f795d3b3c666bba5e33d1ba908b123b4de6f139f895a83a7a24ee37e64354ba60dd03ba0581073b57a33fbb7e79ed3a0376eeba632cefbb13286d3c685743bcc753dc3bbbd6883d20e1fabcbdcc8dbc67628ebc66e0bf3d0819123ea7a831be526422be911255bc9ad6a93c87bf603c78e288bc83dc843b9e8f253a287d38bb61e0c7ba8e0082394df3d2b928c6a33a50e0b3ba47dca6baeb54073a8911c1397a4a71baf772e6bb66ca533cac501fbc7f568d3cf009bf3d315626beacda0a3e4f3825bece4c8c3fa2c6873fa2c6873fce4c8c3f3825e0ba158bdfb890098339e92be33a5f326fba149021bb086f423b4ac5ad39883aa23b1ef6fd3a8f5dc6bb5f57d3bad18346bb4afcf73979461c3bb31bebbab3aea739f3a0b43a5365cabafcf936b9d3e0523a8152a9ba1f8d6fb86bc81d3a1864d938376b163a81532db9ae850bba5a97bb3b8c850aba9d9e97ba7a8b96bbe61d22bc30b54b3c021d8dbb6be1313b377e0e3bc207c2bc8e33ad3ceb91053b28aeb6bcbaf2fabaed4f443c8a73de3c60757c3bcb1ce8bb533dac3a6424ef3aa447c7baca86c23a03f50f3af201d2b9874f1fbaf85f05bb49b2aa3a7447ba3ad87ec2b9373ffabb3363f63b069884ba42b1afbcdc9bbb3c479e9fbc5e3eb73c2160e63da2ac80bd854e8dbb21e940bd17c46a3de1b14e3e1ce255becb3016bec691393be4e531bc5df7193d21a3a8bc18833dba68624e3bc91ddbbb8bbd163be4d61b3b0c7ccb3a582a5aba2dc640bb3d86fe3a9fbe393b435401bb358386bbd31999bb0a85803c962490bc8e73a73c01eb873df0e725bec5b62e3ee54c2dbe73d78f3f0e0c843f0e0c843f73d78f3f9f42e9bb5b09c33a918e3c3b93784b3b7bc2cd3b83466dbc84e0b33bc8ce0c3ba2de18bc16a4553c1d8da6bb0ee7883a46e2a13ad7fa36bc41ae803bbcdda03b2dcc673b83d5d53b4bd5fcba13b609bc0f1440bb763845bb300a7c3a4350a53bfcc7ad3a7364383ad7822fbad915b2ba23058b3c4170683b3d9e53bc8f64fdbb2ee418bc41bd5f3c34b0e03b17142ebccc1b6f3cfff312bc13c63cbc8da6da3b84fe9cbc95f8ce3b1e07bc3c251eb53bd2e6c13a81dd81bc9fa408ba1ad2613c1d6e203b0f48963b9f8d47baed36c2bb90cc52bb31cc98baa456e93a5eee263bfd2287bc005351bcfa1b8a3cef10293c5b3ea2bc8034ab3cfc86a3bc9345cc3c9cb0da3dbf06b2bd5a3dd63cc9584cbd9c6b2f3d36384c3eff2063be47aef1bd83e2ef3bfce303bbf5d6273d718a12bd7ebdb4bbfe9cbbba0d1dcdbb61ab293c5799153c78ed6e3b614468bbfc8010bc072c843cb8c7d33b825ef2bb982e85bce5e048bc552fad3c8e409dbca6a1c13c5328973d1bef20be96bb223ebab72cbedb328f3f1ec7843f1ec7843fdb328f3fb8593bba03f928ba216f183a05416d3a50d8f539b81e0a3b815e4dbb7bc3253abd10e83b9b402a3a29d33abb441cb8bbfa2c8c39f375d13b7a1f86bbe9c9bcbb2bb6aaba82a6adba9c7f713aa2560a3b1fa7b53a6e11103a974052ba118f95ba12330fbafafaa3b9df24373a41768f398000233b60f4ccbab3c0673a8f57feba6bfe45bca6f5c23be7988d3a768aaa3bfd6008bc4e0b9cbc8f65c93cc9389b3b06d9e0bc4c82fcbc6d68053dcaff2b3d8f14233b04df913b8c6019bcfccdc23ad1e98ebabc577fbbecce883b3ce6993a35317138f2950e3a0a415eba8d04533927d1883b2c559abb1a33513b372b70bbf74f69bca113af3c5aa77abcad37343c727fc53de4b63bbd630301bd5334a0bcf33ecc3d40c65c3e0c3e5dbe9b4b44be07301ebcb9f073bc9078453d306b89bcfde7c43a1d0ce93b114433bceae4753a493c123befecb2baca31b93a411201bb073a193ba24231bb02a8813b7c36ccbb2b35a1bca94dff3c15d502bd1f55143dc78dca3d0dbe4abebecd4d3ed4d946beee008f3ff731843ff731843fee008f3f3bb931b9b82b13bb1ddabd3a9c69a53a76517fba407bff3a6767e0bae2e7f939276c123c0592e03b760546bc76aa97bb457f0a3ba3f39a3b24f73f3a24742bbcbe512dbb1f1989bbf88d1c3b9231a63b19bfac390b26283b284d09bb2c5a73bac054233877abb3ba25e29c3aa024a33929f0073cee6e98bbc2a51e3baadae2bb5c37d9bcb74cbf3cdf4df8bbbd80373cc1bc3dbbc0db35bd830d2d3d231a173c9f9afdbc9da113bd8ce7133d8c943c3d0266623bfe389c3c0a64b2bcf56e54bb8826993a283b02bc58f2fe3b1cd7813944e41bba5f2f123b6b8503bb1ac95d346599973a5335d7bb76680c3c3891b1bb2f47e4bc4a2b003d254b01bd1318113d1767363e83c4babdd5922fbce8f2a8bd93f90e3c828ba43e854285beb3c326beab6e073d31edbebd3016af3dcf5944bcb1d44cbcb228c93c4f0a99bc5800f33a63e0823b155c87bb2511373b2a6cdfba966f8cb95908cf3a67c7dab83ee522bb2912713bcf827b3c98b5f1bc08ffc63c403e843c2e482abe55da793e7adf3ebe5413973f2564783f2564783f5413973f57b04dbae01c903bebc966bb3c86123a421a023cde132abc3893a53b3ef366bb983214bc04ce9a3c6d3624bc8dc79ab9f326293c482c2abaf906cabbbf90bcbb3699933a70a261bbf87eab3b60f212bb65f4a7bb6e95f53a2699a1ba0df18e3bf5dad13ac2296db9fa18d5b89e459eba95667f3ce806a9bc549d493ca3c807bc529428bddeb8093d855659bbfc641c3c2bcaf83bb16fb2bc4c5ebdbb60b5d23c3b8a92bc089782bd6b17a33d4d21913c82bc25bcd179ce3cfa29f3bcd86c223cf035da3b021b7bba2da32db990357cbb570d67b8dc4f95bafa2d713a80b009b862fdb1bbea108b3b31edd73bc26507bc6e7ed6bce344403d9b6e74bd52104e3de73d4d3e8c6623be831c803dafeae7bdd89d18bdad32c03ef02f9bbe78a905be68c15f3dab24c9bd2364a03d059497bcbf5792bc2685293ca4782dbbcad8b43b6907f33acb0d39b9b6178b3a649c26bb6904cc39cb050f3b5213d4bb64cf933b916b1b3c72d05bbcb937a93a34f6503c415b0fbc9f1de6bd9bcf543ef87636beb54a993f3a68743f3a68743fb54a993f66ec06ba9255b9bac742a6393ef3f83a24251c3ada86ad3a8bfd90ba965e53ba7187103c70cb573b680106bc845399bb2a0b823b5611203c3146dcbb5e5037bc908d3ebb841f02bbacb05d3b35b30f3b21f9b03aee250ab8c24fa1baacb869b95b4021ba2805bc395e3afc396ff12937088d8c3b812ce5ba8c61b43abf9385bb0b7b4dbcf15f073c0479d8ba9628b73ba94e86bca66f9bbca28a003dda27d43b22410ebd523645bd22613e3dfbfb5d3d0543b73b41a31d3cd6579ebcc545203b0defb1ba560b84bbe2cdeb3b80d999ba1414ea39b90bfeb9702984ba2623613ab6d2b73bf96c11bc02d4b43b3d6d66bb60b5debc8041f23c0dfe85bca3ca8e3c5499fd3d75ad80bdd9771abd7cedc8bcb139bc3d9d5f843e047d74bea08350be91d4a7bb43a31dbd2c93923d39dca4bca54e66baec79553ce050a4bc9abbb53bb27c223b5120ecbad9cd6d3b98ef65bb58beb83bc898b2bb84f8f43b864e3bbc2963c7bca97d2f3de9264bbdd224483d0da6c33d82c959be87e3743ea65e5bbe932b913fb5cc813fb5cc813f932b913f707d4f3a5ead79bb3abab03a2aa61c3b11bf3b38d07d0bbb6026a43bcd2e71bbcefccf3b25046d3c12e4b0bcd3460bb94729e03b8d23bb3b943b47ba88e774bc132889bb660e1bbc0f290e3c542fc23b0f5294372436c23bf72fb9bb2f8a3cbad749b33932ba00bb206f083be2fd9db8fbb5673c71e509bc5a1da23b9c0344bcddb619bdae6b223de3449cbc5eae893c78617a3a20b664bda1b5483d577d453c152efdbcbdfe6cbde1e06a3d2ea73b3d86efbfbaea633d3db8f13bbdbf881ebbb0fdce3b4e4fa7bc6107913cd98e9cba8e3206bb124d993b391280bb0f5ed239099678baa29606bc558e5a3cfdbeeabb6fad11bdd9150e3d54e627bd2b3a523d0f825d3e10ebf8bdbec20a3ca294e5bde81a1fbd1302cc3efbd799be25741bbe8edb743d71201dbe2d22f13d75c6efbb14e1acbc578f2b3d489fddbcb87288ba29aea13b5f9eb1bb5f61373b0758f4b93a0fadba1eae9f3b4fa884bb051f89ba2a75883cbd9f113c0172f3bc71889a3c003ec9bcfa1919be8bcd8a3e4a7743be6ff39b3f1da36e3f1da36e3f6ff39b3fb3a8bf3b429a8bb98f6e15bc957bb23b3e5ae43b015bb5bc4c7cd43cc13e4bbc515c97bc7c83e13c002a2fbc5f6d97ba55ba0f3c853eec3c1aa61fbdf285fd38e38f1b3cf27812bdb727e73c9c806a3a00dfd7bbfbf02f3c770293bbe21ce2ba6254e539035589b976450fba8731533ac5086f3cbbe0bdbcadd8f33ccc12cdbc7cb69cbdecbfbc3ddce644bd5998fa3c533c193dc3b72cbdfc47eabc20fc433d50046d3c112829be9ed6213e550ab93b86a12dbd2e47c13d07714fbdc6c034bc612e013c426c15bbdcce29bc2ebe113c346f5e3b4788d6bb462d8f3b18e69fba8ff085bc6f80933c3b1f2bbc3a29c83beaa9223b225e8c3b425a86bdb7229e3dee15893ec2b87cbe4c97303ee6195abedd0534beec96163f35b6c7be2ba4fabd277ac63dfd1c2cbe4277563d22253c3de0d4843b582a6fbc7834b93c98f799bc053dd2bbac13123c7df491ba51b607bbc38c0b3caf9cbdbbac03d0bbac50c73ba34cc33c3153f4bce0234e3d823322bd23f609be8a0a743cf8f4213e720507be0c92a73f6703593f6703593f0c92a73f975f63b9e71cb9386373eeb76a915739db918c3a409710ba0977ff383e9b2bba56f4a03ad704dab8ea81d0b9cb0865ba2a39edbafb12a33923c2613a0631f539831e74bad4eaed39541a0fbaea2c613a823ba0b993eb8a3998b2d2b77f6dcf388b55e5b7976b96b8699d94371309a638cb29913af5c89b391a672cba857839bafb93993a636049ba4833613923bec6b91fa051388cfd51bb6ac2453b9ca92a3a436b913bf4b9e13b37e907bbe3a0ce3ae9ba39bb90e10e3a39de823a375e0b3b4066a6b7a8edd939052de8b8400f3cb8ede94c3a854292b9aaa0b037097a13ba056c8039b85677baf812af3a631457ba505cd6399d1f6d3bfed084bb3a830f3ab004013d7ed252bc6bc53fbcd61897bb2d7c9a3dfe1ea23d098800be107600be778f24bce287e63c58418fbb1a373abc33739f3a703dc83adcca4d3afa5b31bb5711283a068a22b92d111ab8b7260ebae96da5ba79f8963afb4539baa1563e3a0d168f3b774df2ba988cd53b2f75dd3a6e0e9b3d910100bea461a23d154e01be14c28a3f0f3d8a3f0f3d8a3f14c28a3f5cddb2b865e08eb992b2cd39ef6454b8aaafde3a1009503949656bbabb8395baae6818bacfa6503b43a83dbb70d063395bc02ebbe81e7aba1c44213b9c58893ae099f739fd210ebb3544403aa748283a7bb877ba37977e3943bdab3802cd113a4b1c0db87dc727389552f0b8863cd538cea68139e4b6a139e27130b9421383b9adad7e3b18bb48ba387ed73a9c3b9cbbe1fc21bbe11d22bb5153913a768c853bb6f0cd3af2f87a3bc32b9e3a629eb03b4a150fbb5999d53a987b383a2a57633ab9d8e539a7f2b4bad53e243adc6a103a38f4233a45cdafb943240339f6ce22bab71501b9abac5cbb10f42e3be47c083a22da76bb69118b3b937000bb9ebe123b65a4313d03d5abbc68e36ebc01e3c3bbb0a4a33d5678c73de39f0dbe12bb0abe4ffd32bc461bef3c0f2a65bbc96941bc17d5bd3a656ffd3af29f8539069233bb3521983a286d3fbb800ff13ab0b2a3b9ac16dcba69970d3b32254f3981156fba5a62413ba2eb093b9b55373ada19c83bae64a23deb8407be86f4c03d04780cbe112d8b3f1298893f1298893f112d8b3f71afdb3990a4cdbafb32eeb8d4e8af3a41b7553b92c9cd3aead62dbb8bdc26bb496db0bbb2cec23a7c84013bbad0543b8d3e133b538ca23a03bd96bb07af30b9803df63ac24aa7ba3f8b6a3b66eb87bb2a5935bbc654443ac82f64ba65583e3bf91aa6b82a710139b4c41238efafcfb8cd3d69bb79d2303b941d523abf93c13a1b52cb3c9f4898bca92a903b6ae153bc04403cbc162d113d2f03b7bc62ff2bbb27cf34bbfeab44bc837da73c5be6163ca6cc613a12bff1bb3ce17a3b20dce03a229c23b9aa933f3b9d0187bbe799983a1b133c3b4e4e26bab929eb39edb327bb0b7280babebb333ba85882bb817f1f3bed7170bccf8203bc5fb9df3c741f38bbd0ca703d169e4bbd7be49abcdab9e63b1509863d8009093e865024bebabe08be0fa419bc9a538d3cc31f4a3c959969bc2be07c3b380a83bbbcf88839d02564baeac82cbb79968ebab178513a8e372f3b5fa7c33963ca00bb04f7883a075d5bbaff2831baa6a2b33c02ad8fbc7023283cf50a933d277615be45bb033e3f8e17bebbc78c3f7faa873f7faa873fbbc78c3f474896baea0287381c26a3b939a7b43a7c3b733a9e3bc0b98a2bfc36cbba19ba8504633b01fe633ab69012bbff3b37bb5cfe48bb911ea939ac14923a5c41643826fcb2ba2a1d2ababb78ce398354b33ae7bce539155e40b9cc619ab951e3813896770fb96a15a8383771cd385f505cb8d145b93af34558391468a6b92d2dbbbafc23b5bb9f6e2a3bf487c73add0a093b711194bb57095dbc7d6b6a3c5cd6a73bd9bd15bc07a2b0bb863d2f3c973e913cab6162baa6b3e6b94366debac079683b0ce44639ddf70ebbe05e173b4748d93759259f38b42611ba902168395ed45a399046f73aec694dbb101ad03a7de095ba1ecfc2bb5ea4753c1c295bbc8ca4c53bebdd8a3d3e3fdcbc329ab0bc889492bce81fbc3da5e5103e31ac2dbee81423be74b55dbcb411993cc8c2733cd68a7abc1728383b63dd7a3a99e61abb572d79ba0b48033b34eb36ba4f00f539e49d09bb71558abae7fc7a3a93a9ba39da0fcfba367802bc16b93c3cb3c4fabbdd27913c6bf9bb3dc58128bef3590d3e8a4224be53838c3f6493873f6493873f53838c3fa27908bb7fe485b65bd38639b741083b961b2e3b2dff99bb3ea3473bc3e2acbaa69ea339e06c073cb23711bc04192fbab2e7dd37d0150cbb4c825b3be46937bbe88cd7b91533953906a040bac3655b3a70e2c8b9d63d4dba34e5743ae5b935394259cb39346ef039fac337bae6e60eb99814ab3b78798b3aa53c6fbb371d3fbb9ec60bbcaec4043c2a62073b0e50d1ba17bf33bc69ac8fbc1b7f8d3cb4796b3cca3602bc198294bc1c69a23c4a4eac3c85b3a7baf0b2bc3bcdbbdabb4e7d363a93f00a3a237b13bbea102d3b620c7737a9b8f8b9dc9018ba67aded39e5f1fd392493ddbaf4ed10bc6b13263c32bf83bad9589abcbf4ba63c7e3991bca7f8a73c0f34003ed49655bd3bbae0bca8ec45bd832d383d0f97563e140645be827321be5f643c3be6e0dfbce27e253d4e92d6bb68d48eba6e41133c469319bcb53618ba408b0f3b0592e4b90944013a86e70dbb4d1c013b44267c3b987d4cbbf24f82bba52e36bbe6e0943c32e0b1bc7a9ba83ccb0c483d057830be9d2d493ee6a92bbed0a5913f3d3c823f3d3c823fd0a5913f91f221bb99237839d55fa738b11d053b7cf577bbbca4dfbbdeabfd3bdeca693b96704cbb406db0bb47f2033a0f58e73bb53ad93923708f3b6e2244bb86488bbb2f9d1d39fec6debae6f1923a43d6a93a3476913a5299593aa46a93ba2f71a3ba1bfc7a39be1c9339a48782b91af83ab934be993acbb2ec3ba8769ebb4a792ebb9acadf3cbc0a85bb81bac8bb2728a4bc5d35e5bc1fec263d225646bc79717b3bab99043c805545bdebb91a3d1b249b3c2f139cbbbd5a643cd81439bc966bbeba8ce74fbabf2f78bba38e8b3bf1d0ec3a03bd00bbeb8bb2ba7d7ee43a7841bd3a2f7e92ba5e4b1cbc34b7d73ae5d4e83bb69b50bd90d0593c1e7eb53cf24cb63cf2fc1a3e97fccbbd9d750dbd76d0cebcd6fb3e3c2e86803ed42748bec57025be6f05673cce414cbd2b043f3dbf2cbdb81b1f8cb806a3823c835a53bc068cdbbb1e208e3b0b61803adbb440bb0855f6ba4170603bacee773b2ddf943adea624bc1e8a643c44bdfd3c4c1c4fbdd1eca83c3afedf3cdccc25be5fe8673ea14c3cbeaaaf943fe1107e3fe1107e3faaaf943fec5948badd54a537e2421e3908113d3a704fba3a32d8893adead1abbfef62ab969bfbc3b40a2ee3a9ac18dbbb76785bb03e8b63a05a6b73b9f913ebbf920e9bb6e1edfba2a95e4ba3124463a33884b3b3dd9473ad175673a1d2b5fbace9e69ba74bd5735896030baadd2793aad4f16b92351223b9d9c21bb97d7703ab62281ba8e5245bcee47a03bf4b2533be2b9813b5a824abc722f8fbccdb5c13c13720d3c0765bdbca3fb08bd6e21043d5f29263dfc75ae3ab5fef53be46f31bc2247243a3464773881f1a7bb538fa03b0d92483a9fa179baf5f08d3ac60782ba6558483aa81b9b3b313fa7bb35f1693b38a589bbbd0273bc87f7be3c3b818bbcd93b393c99fad33d66a732bdc8f21bbd59c7b8bc2fb8be3dcfbe5e3e565756be556d46be232b18bc7ac1aabc48844b3d658549bc9efd383a67110b3c377639bca358193a7f3b3f3b4948dfba5930a33a798309bbff8bfe3a7df528bb08e4973bb3ecddbb8184a4bce9ad013dd1f608bdcb491b3d7bfcbd3dc1b74fbe0c50593eec3047bec7ba8f3fac76833fac76833fc7ba8f3f3ca5d6baf02f98b9c607123a3f4afa3ac6b1b03b09c645bbb97414ba91d413bbba34623bf5e7593c69705bbc750faabb5cf21e3baad77e3af6a4103b872cfabbfca739bb09e2a5bb9773433b9715b93b54bcb139c6f4743b8d2d2cbbb07cf3bade9e893929d3c1bab72a8c3a3696bd399b880e3c1d4482bbaac1feb9b504a0bb1a8fcabc3f6c923ce7d33b3bd4375b3b46cab4bce34111bd90250f3d652dec3caf0ec7bb067a46bd9000143d0964093d6acc8dbb167a083d60c4d5bc059cebbba08a163b213268bc78cb393cb46c323b51a4adba8ccb493bc4c225bb52af7b3973ebc73a65aa1bbc15ed493cf7b4d7bbaffb02bd79bb003d08c1fcbc9c251e3d4db94d3eae3c9dbdf86c37bd852ab0bdb0db20bc5058a33ec71365be3f4037be7fafef3c5da2e5bdd44eac3d15c7553cd40e2abc030c0b3d12abc4bc29c392bb0c0ea93bc022b2bb86755e3b1ab10dbbe709153ad95ce73ad81eae3934e48abb6655bd3b0774d93c140e35bd7ad0d83c152ed0bbaddd40be7c36943ebb7340bea39d993fa059733fa059733fa39d993f4a867cbbde7bcc3b1c0886bb8bd9f73acff7083c412f68bc960da33bd2adb13a91f967bafdfc2e3c88e9c1bbc1ffc5bb812a38ba82313c3c470ad7bb5274d2bba9b5643a42fe73bc1149fe3b8672fe3b3fbb85ba8f7a083ce1ce98bb41d667bb77457f3aaa85cfba74558739fbc42e3a2125413c209759bc6eb79b3bfa0044bbdc2f56bc8f0f8e3c0136b43bf01d5dbc2d8731bd3d9e5e3ce521b0b91fc91b3d22c5c33c3dd2c3bd3e127c3dbd1bd83c1ec48abce2a8563db4dd00bdaf3b29bc1bd05b3b03ef5dbc37d9073c4a999a3b042fe0ba76d904ba2e48a03a0784003ae3a1233ad1f337bb4dfc193c589f2abce0275bbd43e6253d5e10f2bc49d5593d6b5c783e1f1c12bea694c4bc1076b0bd857e76bddf42c13ee97d68bef9973cbe65ea433d0b2108be87ff923d01aeec3cd6c821bcbb0f033db35079bc55bd42bcdade693ba5acfbba42cdae39bdc4dabae38213bbce8e2f3b670805bb8e8ec93a67e6e13c70ec373c18cc2dbd8ae6823cf0b747bda28e10be2b05963eb13e47be9e259e3fc7676a3fc7676a3f9e259e3ff05e87b9950972baeb61ceb97372f43a8890c73aeddeb43ae1e49aba1fabe7ba299e053c8a8d933bc36119bcd0d58cbbd3948b3b4a7d0b3c68ddb2bbe14739bc75b86dbbd722ecba81b16f3b4be7213bc4c4be3a47b3f938862bfbba6a1418394466fcb9374d1fb90fd1aa3afdb1e7b9f64f4f3b3733caba672b993a7afc3cbb200139bc1a48943b66e00f3bfe06853b38b7c0bc334a87bcc4bff93c2a684e3cef01e6bc883958bd0d42413dad92533d0b2b9f3bcc06703c058cb5bcfe0cf8397e243aba2ec3bebb141c133c169dd3ba58fcce39370d7e39a41a0abba11eb13a18bad33bee5d18bc3878b03b250972bb74f5dabcc692003dda798cbc5a0b823cf76f083e433071bd18dd44bdaaede3bcf3ecac3d1c0a863e51bd6bbea14055be4999dcbbe33640bdb343983d472d4bbcf8d2b1bab67b783c5987b2bca173b63b13ea1f3baf3efcbae9db6f3b010d61bb8651a13bc9c6abbb29a8043c8d923ebc64a8ccbcdc46373d633e57bd10894f3dadc0af3d366861bed948823e0a8259be3529923f7dcf803f7dcf803f3529923fa1ab7fbbee6623b9d4b3d8ba0726d83bb8ea303c12dd03bc18dca73bfaf708bc64a9aa39bc3cb83cbcd5b5bc481543bb6761883b1beb383b9303653a7bf926bce3cd5bba1c5a56bc21141c3c84e0bd3bc8e7c6ba31781c3c48fbf4bb0bcbbbbabeaf623aa80885bb0f73633be8ef93390b46733cb628cbbb350c3a3aa06a23bc1cee08bde816d73cf1798d3ab41c953bbf71d0bccb272ebd1cbf1b3df4401a3d7dee8aba700693bd08885b3d08500e3da57629bc70f97e3df80940bd51f432bca2fb013c3e5bf2bcd43eac3c8dd67d3bd8cb21bb7cb60f3c71a2c9bb9c3da1ba6f6b793a82c15abc8da4953c0fa812bca3a924bd48fd253dc69330bd0165533db0b6753efb87cdbdae8814bdcc7be4bd372251bd9970c63e1e4881be402f36be47194c3d7e6031be3babee3dbbafc83caf9b9fbc4446613d71500ebd1dd2febba310ac3b42f324bcc44ec33b2b23173a68f353bafa0d573b50a249ba035e68bb49bc653c48ffcb3c3a2151bde086e13cc25f35bd1c783ebedd93a83e2b9045bec8339e3f62146a3f62146a3fc8339e3fe5b973bb46dd1b3cae3a45bc90d2e53b18a2803c62b6b8bcc5845c3c0115ccbbb0959dbb83c9383c6b68ceba00c208bc9a59d7bb4caf213de0e2f4bc88f1b2bbbe395c3c53053abd9ff0de3c24870f3c60b317bc2fe8bc3ceafe30bc73bbbabbb2571b3b5549c0bb7d39fa3a37f8243b8db58a3c228ba4bcf80c6e3ce59345bc417e30bd78d70b3d230b2b3cdcccb4bbac2909bd4737543c7058cdbc033e663d64d31e3d8b281ebe4675d13d03eef53cae0114bdcb31c63d22c23cbdf460cdbc0d28533ce993c9bcc3f07c3b25f84a3cc5a4fa38bf9f163bcad16a3adaba87bb597bdcbb8685933a08ab2a3ca90613bc231418bd2a194d3d993a9abd6b879c3d36cc953e46de49be10a51f3d181c16be58770abe1d36fd3e4b2d8bbe4ab23dbec611a53d013e45be02a59b3d2bb9743d65386fbcc1ce023ded9d47bbbb49b2bc67ec53bb12ba96b81669213a02ff453bdbbbc3384a5aa03a633f02bc8b71023c04ac053da58a3ebc051b11bca54de9baeefceebdc4a7b8bdfb4e973e12533bbe0570a63f093f5a3f093f5a3f0570a63ff32e63b9fea7eeb7d20bb938db735739342e913a2c782cbadaeb9b398e7e39bae9668039ee0baf3a3d6377ba81f656ba7a71a5ba1e7639ba1e13973a6e5c3e3a60470eba00db21b9011619b815f6273aa57a13ba041b92b9b590ae3776e44c3af923a638904096b86c149337dfeae4b7e4958c3a041100396ca910ba1da32bbaeca6993a06cb6039a78249baaeaac6b9279cd63981d584bb56136d3b43b50f3a67188f3be180d53b0629f2ba7c79dd3a846531bb725fc83ac1dd4d3a615a9f3a78df3cb804ddd939eb0fe7b85931a8b78d4dcf3850118b3943d5d4b70d3da0b989efa03a968bd0b9a05edab83bee64bac13c5338afb8453b3c0652bb7bd62a3a5107013d0fcd3fbcfbd952bcc70e97bbce0e9b3d3f61a23d680100be3e4e01be093d3abc2d8de63cfb3e8fbb279524bc83510b3bc1260f3a50e6823acac339bb2a11613a1940ee39030a0fba6a3e74ba4f3eedba02fb613ac1b7a2394837f5396f6d913bc8d507bb99aee13b17a2ce3a8f7c9a3ddd8700be9a1ea23d3e7600be0fc28a3f133d8a3f133d8a3f0fc28a3f5482b2b8aa89cd3992d38eb9f2fa53b8672a8139e11630b9b917a2394b2b83b9d51902b9b3372f3b1fde5cbb3d62083a2204dcbab02c4f399b950d3b8f296fbad374a3b9d3683fbbd30af13a3e0e983a82e022ba56d7afb92f4e03395701243a0453d538284428381fc4f0b8b9dd0cb80c81de3a7be26abaf5c14f39bf8d95ba1c977e3baaebd73ab12948ba1c629cbb0bf876bbe25900bb6f208b3b66a4123b1275413b2cd5363a62e4093bb029c83be98f33bb8549fd3aa62a863927d1bd3afa6b103a6608b5ba357d243acba6e5390cf5113a86227d394fccab38b18a77baa4a518ba1ecf3dbb9de5503bc0f562397f1e22bbcc21913a0cc621bb067c853ba9ac313d76fe6ebc1be7abbc1da3c3bb9666a23daaf2c03d2e8507beb9770cbe547541bcd823ef3cf00a65bb050c33bca744633a18a2d53aa85b383a240f0fbb2f28283aca290ebbdf78403a9ab2f73944c62ebb0d3f213b4cd379ba5150893a7615ce3afa639e3aa4cb7a3bf3a3b03b32a6a33de59f0dbed076c73dfcba0abef42c8b3f2a98893f2a98893ff42c8b3f1445da395a3ee9b8245ecdba8c8caf3a9d6568bb6bd0443ab5be323bde53c33a8b4d81bad3d181bb34a7333b04251f3b8204c3394e178a3aa65c01bb8ce85bba4e232f3bb9b18fba99f8543a7ae52cbbe3a027bb725626bacdf0e939af293c3b0f11d0b8e5ff0039a20516381384a6b88667563be1d22bbbf9e3c73a653526bb8489cb3c470a8f3b3f7498bcc37253bcee4371bc6798e03c8ce203bcc86b3bbb75012eba53e08fbcbfb1b33cd85b283c178a62ba8c9383bb8f358b390a477d3b851f983a0a5e403be94687bb3ae826b991853e3bdfa3443ab4e065bab62835bb67a9b0bbe984013b4154c53a684b543b1f243dbc1b38b7bcd2a7113d63872fbb6d02713d31519bbce3d24bbd6277e83b4015933defac033eef6f15bee38817beb2156abc0bbb8d3c66264a3caa251abc9bb6e13a951ff2bbe6cd7a3b5373633afdea87bbef3ba8ba1a336b3b5d26f63a0929133b582997bb0be9a33ab67630b99f0434bb0482a73c93f444bccf14173cb212863d244a24be02fc083e1dba08be33c68c3fdfab873fdfab873f33c68c3f0e4696baf32ca3b9f7ef8638b1a7b43afe44b93a4d69a6b9254f5839352dbbbad242f73a8c24d03a876d4dbbb1df95ba744b8abae245ba390a187b3afc0dcfba46a109bbd2d236ba94f2f439bb46033b3ac55a390e2711bafb2268390a419f380a015cb887efa738639ccd38f68b0fb97334733a8c6ffe360131c0b964bd19ba3423b5bb0985c73a9c6d2a3b8a0b093ba8cfc2bb80295bbc6aa5753cbda3c53b737802bc06c3fabbd6b73c3c3528913c2c2879bac1de7a3a9ae51abb4f25383bf878d937cbf60ebb895c173b06f94639d2eb8138c46d40b934679ab904c7e539c707633be49412bb5700643a933b37bbc21294bb026d6a3c160a5dbc1ed6a73bfedd8a3dc09ab0bc6e3fdcbc099492bc49f9bb3d0d5a0d3ec08128be9c4224be928a7abcbf11993c57c2733c4ab55dbc7477683bdebae6b9af61deba5f5e62ba2354b33a67162aba8778ce39ebffb2ba66fc48bbdf11923a5f0ca9396bc264380abe15bcee3c2f3c24a1b0bbc73e913cc91fbc3d1dac2dbeb4e5103efd1423be56838c3f6193873f6193873f56838c3f2f7908bbadc28639367c81b61141083b8c14ab3b063c6fbbc6778b3aa51c3fbb3d93ddbab313263c17ee10bcadc083ba8b1d013bca7d4cbb90267c3b995082bb64e80dbbe286e4b9c040013a888b0f3bb7e9fd394b8418bad095ed3900b2f8b9efdf0eb9bd65f0398bbf37ba9855cb39331c2e3bb6a2473b19ff99bb52e3acba21c70bbcef66073b91c3043c734cd1ba80589abcfb3991bc2c4ca63c5ef8a73cb82e36bb11e0b1bcc5e0943c7b9ba83ce93b18ba5241133c2e9319bce4d08ebab50777374e7e13bb5b132d3b62f40a3abbc635394d434dba79e9743abce7c8b9b69aa3393d3811bc6b6d073c18162fba40bf33bc3a7f8d3c7fac8fbcc1796b3c1034003ef2b9e0bc089755bd9eec45bdc10c483d992d493eff7730bee5a92bbe5792d6bbbbe0dfbccc7e253da0643c3bbd7a363a11b4bc3be7bcdabba7b2a7baa7645b3a253495397ba040ba7c8cd7b92224dd37fd855b3baa190cbbfc6737bb7e3602bcd168a23cd48194bc1f4eac3c8a2d383d150645be1197563e857321bed0a5913f3d3c823f3d3c823fd0a5913f91f221bbd55fa73899237839b11d053b34be993aa8769ebbcbb2ec3b4a792ebb2f7e92ba34b7d73a5e4b1cbce5d4e83b4170603b2ddf943aacee773bdea624bc0955f6ba0b61803adbb440bb1e208e3b7841bd3aeb8bb2ba7d7ee43a03bd00bb1af83ab9be1c9339a48782b91bfc7a397cf577bbdeabfd3bbca4dfbbdeca693b9acadf3c81bac8bbbc0a85bb2728a4bcb69b50bd1e7eb53c90d0593cf24cb63c1e8a643c4c1c4fbd44bdfd3cd1eca83c068cdbbb06a3823c835a53bc1a1f8cb8f1d0ec3abf2f78bba38e8b3b8ce74fba2f71a3ba5299593aa46a93ba3476913a96704cbb47f2033a406db0bb0f58e73b5d35e5bc225646bc1fec263d79717b3bf2fc1a3e9d750dbd97fccbbd76d0cebc3afedf3c5fe8673edccc25bea14c3cbebf2cbdb8ce414cbd2b043f3d6f05673c966bbebabd5a643cd81439bc2f139cbb43d6a93afec6debae6f1923a2f9d1d39b53ad9396e2244bb23708f3b86488bbbab99043cebb91a3d805545bd1b249b3cd6fb3e3cd42748be2e86803ec57025beaaaf943fe1107e3fe1107e3faaaf943f7c6248ba3c621e39a8e9a5377e073d3a4954223bd3d6703a979d21bb882381ba591a9b3b91f3693beb3ea7bb81a689bbed91fe3ac2e2973b29f728bbf5eaddbb3e8609bba849dfba0937a33a123b3f3b9f5b483abdf08d3a050c82ba409c79bab95e16b96a5c30bab9d5793a140451357756ba3a3dae1abb3ed6893aec002bb9c85345bca9af533b5548a03b77bd813bbb0073bc99808bbc2df7be3c4139393c3b85a4bc03f708bd1dae013d1e4a1b3d2e5e193a75110b3c9c7639bc2602393aa991483afff0a7bb0a90a03b60627638e49c69ba7b77673a95335fbae8dd473ac7bcbc3bc7c28dbb3daaee3ade6685bb5f804abc0bb6c13cc02f8fbc4f700d3c5dfad33dcaf21bbd34a732bdc3c6b8bc78fcbd3d0650593ec1b74fbee13047bea58449bc19c1aabc1f844b3d2d2c18bcaa3e243a6efdf53bfd6f31bc0483ae3add884b3bdd91e4bac829463a1b27dfbab9f0b63a53913ebb27a4b73b7220e9bb7c65bdbc8f21043da4fb08bd6c29263d2eb8be3d545756bec1be5e3e456d46bec6ba8f3fac76833fac76833fc6ba8f3f369dd6ba8a07123aa23898b90144fa3a0a870e3c9b9dfeb9524682bb9001a0bb96efc73ab2eb493c09a91bbce4b5d7bbeafd143acd5dae395553e73a6ae48abb3ead0dbb0524b2bbe4755e3b4c0da93bfc907b3938cd493badc525bbd69dadbac88ebd390ed3c1ba7c2e8c3a8395893989aeb03bc88414ba2ac245bbd2cd13bbe68ecabc0bd63b3b376c923c4f345b3b5bfb02bd92c1fcbc89bb003d80251e3dc055bd3bdc0d35bd8473d93c78d0d83c11c392bbc50b0b3db4aac4bc9c0e2abcf36a323b7a3268bc87cc393c4d89163bb776f3ba16f6743bf02f2cbbf1adb139cf36623b1d6f5bbc94e6593c4a10aabb9fc9b4bc9c250f3d244211bd2e2dec3c42b94d3ed86c37bda13c9dbd8f2ab0bda430d0bb7a36943e9ddd40beb27340be21c7553c74a2e5bde74eac3d8aafef3c8c9bebbbc879083dd8c3d5bc85cc8dbb0b15b93ba8e2a5bb5e72433b46a439bb83ef1e3b65a0103bbaf87e3a152dfabbee0dc7bb4500143dde7946bd1564093d1bdd20bcb11365be4b58a33e354037bea59d993f9d59733f9d59733fa59d993f85887cbb0e0886bb6a7bcc3bdddff73a1026413ce0b79b3b409759bc4a0544bb21a2233a42fc193c36f437bb399f2abc588213bb230805bbd88d2f3bc58ec93acebfdaba4eabfbba4dc9ae3941dc693bb373003a20db04ba7648a03a4c26e0baeac52e3a1787cfba1a59873910457f3afcf8083c2e0ea33b712f68bc36a3b13ab42f56bc6136b43b770f8e3c1e1e5dbc25285bbd7510f2bc4de6253d92d5593d65e6e13c20cc2dbdb3ec373c76e6823ce9bd42bcb00f033d625079bc66c821bcfc989a3b32ef5dbc5dd9073cc8d05b3b43d267bbca7a083c1bcf98bbefc385ba66fc67ba82e9c1bb07fd2e3c7affc5bb7c8731bdec33b0b9c69e5e3c72c91b3d595c783ed794c4bc161c12bef275b0bdb6b747bd2d05963ea48e10bec13e47be10aeec3c0d2108be85ff923d6dea433d213b29bce6a8563db0dd00bd77c48abc3671fe3b27fe73bcf948fe3b79bf643ac52738ba710ad7bb64313c3c5074d2bb2fc5c33c36127c3d36d2c3bd9c1bd83c507e76bde47d68bedc42c13e05983cbe9e259e3fc7676a3fc7676a3f9e259e3fd25c87b93464ceb9dd0972ba9072f43a8d4f4f3b632d993a3034caba8afc3cbbecb9d33b9d77b03bb85d18bc750872bba151a13b7ca8043c7fc7abbb97923ebce80d61bb0c41fcba78dd6f3ba3ea1f3b0821b13a6f107e39e91a0abb77f3ce3927b9e7b9254a1fb914d1aa3a3d61fcb9d090c73a83e59aba33e0b43aeeabe7ba150139bc19e00f3b4348943be906853b5ff5dabcee798cbccc92003d4b0b823c63a8ccbc4d3e57bdcc46373d09894f3dbb73b63bb57b783c5687b2bc80d3b1ba879dd3bafec2bebbf41b133c30233aba96111839dcccf9387f2dfbba8fc5be3a2f9e053c8f6119bc0c8d933bcbd58cbb3cb7c0bcd2bff93c454a87bc37684e3cf56f083e11dd44bd3f3071bda7ede3bcb0c0af3dd848823e366861be0a8259be1d2d4bbc033740bdc243983d7699dcbbb60bf839d806703c0e8cb5bc2b2b9f3bc7e7213ba925ecba4cb36f3b49b96dbb16958b3b0edeb2bb7f7d0b3ce64739bce601e6bcf441413d6c3958bda792533df2ecac3d4ebd6bbe1a0a863ea04055be3529923f7dcf803f7dcf803f3529923fa5ab7fbbe7b3d8ba566a23b92a26d83b1746733cda0c3a3ad228cbbba76a23bc2f6a793a8ea4953c84c15abcfda712bc28f253bab6a249ba150e573b555e68bb2d22173a38f324bcad4ec33bc510ac3be13ca1ba69b60f3c69a2c9bbf7cb21bb45ed93398b0885bb0873633b25b0623ab3ea303c02dca73b05dd03bcf7f708bc1bee08bdff798d3aeb16d73c961c953ba2a924bdc69330bd4bfd253dfe64533d4ebc653c3a2151bd49ffcb3cdc86e13c34d2febb4446613d74500ebda39b9fbc73d67d3b3a5bf2bcd63eac3c9afb013ccccabbba2d781c3c49fbf4bbdee7c6baf5a9aa39bfd5b5bcb83cb83c221543bbbb71d0bc1dbf1b3dca272ebdf0401a3db1b6753ead8814bdfc87cdbdcd7be4bdb95f35bddd93a83e1c783ebe2d9045beb7afc83c7d6031be3aabee3d4a194c3d57f432bc71f97e3df50940bdb37629bc9ee0bd3b295a56bc1f141c3cbbcd5bba3f61883b3804653a26eb383b76f926bc65ed8aba03885b3d700693bd03500e3d3a2251bd1e4881be9a70c63e412f36bec8339e3f62146a3f62146a3fc8339e3f69ba73bb953a45bc73dd1b3c34d2e53b59b58a3cae0b6e3c768aa4bc8d9345bcaa7adcbbe7ab2a3c2e77933a100613bc1eb0c338163e02bcbd56a03ab970023c7b00463b22e796b8dc5f213a21ea53bb88bb87bb549e163bcce76a3aa244fa38dafa243bf047c0bbd429fa3a435a1b3b09a2803cf0885c3c95b8b8bc5814ccbb557e30bd680a2b3ccfd70b3d93cdb4bb071418bdb7399abd51174d3d69879c3de4ab053d212011bc19843ebc1254e9bad349b2bcdcce023d50a047bb13386fbce7f74a3c7294c9bce5f77c3bbc27533c59bcbabb81e8bc3c04ff30bc7db317bc6e959dbb9168ceba0ec9383cbbc108bc962909bd565ccdbc3d3e543c263e663d32cc953e98a51f3d4fde49be251c16bee9fceebdda4e973e59a7b8bd09533bbe5cb9743dee3d45beaba49b3dd711a53dda60cdbc9231c63dbbc13cbdae0114bd46870f3c1d053abdfdefde3cf7395c3c0a5ad7bb1de4f4bc04b0213df4f1b2bb56d31e3d7675d13d91281ebe95edf53c55770abe242d8bbef235fd3e43b23dbe0570a63f093f5a3f093f5a3f0570a63fcadfe53923c7d339f3d635bab90d1bb94cd5053a0b998aba65ff2d3a699fc0b88c45a1394ad0993a4056a0bab049eeb90df8c8baf808e7b76289943afe89ac398206dc39167d8eba4cf3fe38021dca39da3beeb97d061bb98f57b9b7d23f0f3ab4908c35d5ac2637ee2e1939f3063ab9380f4c3a8c2b5b3938f720baa802a2b9a9fb7d3a5eb2973a091429ba428ca4ba4808aab967e779bb599e633baa9bae3ad142933bc9219c3b88812eb91332de3a461a4bbb49bd123b9bf6ddb8262feb3a77193d39e0be77b80aa99a39b9911eb9791b5e395882adb976c58c38bf9a0339e334bd3aed8d1bbabdbc8a3a7c6609bb7caa523a207d463b519e8dbbb073783a4a14013d0c132abc972d63bc6863a2bb50bd9b3d668ca33d956200be47b301be6c082dbc2340ec3c5b8d7ebb2c1044bce84ba43ab18b813a60df5f3ad4ec17bbaf5d213ae50d923a57eea5bab64b19ba127d0dbbd10a023a607c67baf4c1173bc3c98d3bec8bcbba9d57d43b5c28d83a7be99c3d013d02beb2c7a43db76601be09b48a3f44468a3f44468a3f09b48a3ff59088b9be14fa39bcb6c1b91c378a39c86cd9393495d4ba3976ad3aad7b0ab964118d3935c8963a8a96ceba415106b975610dbb34193b3ae651313a560bec396ff95f3ace9424bb79f9d73af276a5b9825c88ba348657b9e6a99239a5e0593af29c74392b0dbbb983f813395cbd99b798b5113b123a963a398e01bb14e9bfbae9ae1d3bbcfb333b3298bdba097f6dbb4bb677bbb2b13dbbff66bc3b81f2163b39e8df39e79636ba03a0963b03e0f03bb64b27bbcb55113a10ab293a9233133b45af373a128967ba3aa03aba2a63863a11c9a0b913ea513af6e58239ea134fba75f425ba30922cbbad9b243b4c9dfa3999529c3a8fb7c73a97529fbba26d0e3b31ce343d5dc50ebcb4d4c4bcefc518bc9caaa63d6751c03d0a3409beb8930cbe3d3343bcf304013d69dd60bbede953bc5c399a3a618dbfb9c2be153b8b4c0cbb3cba4c3a7c52e8ba475e2d3afb744939469e32bb1c837e3a1ab1c43913fa933a9fb98eb8880537b9e365e93b9d8eae3b5adaa43d85b611bef0e8c93d4cf808be111f8b3f449f893f449f893f111f8b3ff82784b88d5ccc391b9f12baf484ad39dc00603908fd8bbb6cf1763b968f8e3a912173bb3704d5ba9d93feba555cdd3b10a9043b3a1986b91b99a63a680f81bb51544cba1842fe39943e893af2108fba5fde08bb98012fba0222c6395b26213b40873f397e9b0e38e23fcf38c8919db9281eac3b1095e93b41f7c4bbc518dcbb55d7f33bdf0d213cfee80abc77de11bc8bb61ebc77f83a3b5420093cfc3ab23a87d164bb561406bca540653cc156263cf4fd5bb85c79ebbbb1a29a3ba692053b8f861b3b175b143bb8ab6bbbb43292ba06a70b3b0a007d3a1809e3b969322fbbb689ecbb7edd25bca0bf3b3ceb92b13b98e3683bb59c33bca7a13a3b3a22663bca757a3dda45fe38bc933cbd08db81bcbf229e3d90f0e23d600410be4d6711be902a8bbcce53ce3c928fd93b323815bc0084fc3a15f19bbb8bb96b391b98553bdd8433bb20141dbbeb99c33a6f6b423bed1691b9a8f7ee3a6e160cbb5880a63aa8d7abbb0e89cb3b91ae0e3c066f663ba695823da8d525becf57013e8a3d00be87888c3f8a09883f8a09883f87888c3faad355ba37ea78b789b105b9822d6e3aff7fa73a904d08ba51bf1339581883bacf84073b736ded3a41a03fbba077eebae6e4a6ba9862c1393339073af44571ba90dbb3baee14d3b96bc9a33a11028239fddd03ba5156ee37ed4154ba7194a83afad1ea365ad487b952dfa039d9b99db85bc81aba2a1423b84580a93533af4b3aee05b2bb8e10d13920d3503b6774243b1b2cefbb275743bc28276d3cba54dc3bfe71e6bbf0501fbcc8ca533c31568d3c32e2c7bab88b253a477c38bb04dd843bd2f2f139773bd1ba918d123b24646bba3cd9753912b91eba0f721439012585399bc5a53b125da7ba6a5e8bbac7b15ebb6f67e2baa062703c062561bcd880ff3abbd6883d6ecc8dbc1be1fabcb9628ebce409bf3d9ada0a3e235626be443825be7ee288bcadd6a93c3ebf603c611255bc807a5d3b01931fbb7e63fd39d70f36baa3f77b3a129b5a39b449a6b9719d85ba38fb81bbd933273aae435d3a0ce41d3a6b7034bc72501b3cf03576bbd4d59f3c61e0bf3dada831beff18123e416422becd4c8c3fa2c6873fa2c6873fcd4c8c3f2826e0ba5e1b8339f9dddfb8bb2de33a5797bb3b37a097bad5810abaac8b96bbc67ac2b97762f63bcc3efabb3f9784ba0984fe3a1a5401bb66be393ba98286bb21c540bb6679cb3ada275aba89d61b3bfa48ba3a0c6305bb85b8aa3a9c521fba7c870bba8770163af5692db9bd73d938e2356fba1b70423bca9021bb02caad39341d22bc03208dbba6b64b3cc8de313bafb1afbc9e9d9fbc479bbb3cb63eb73c0c1a99bbb42490bc2e85803c9b73a73c6dbe163bac624e3bcc1ddbbb4b893dba2602d2b9768dc23abcea0f3a8449c7ba46c41d3a7d4fa9ba73cb6fb8b3e3523ac03aa23beb5bc6bbcceffd3a1a59d3ba747e0e3b7733ad3ca807c2bcc291053b1e60e63ded4f8dbb84ac80bd28e940bd02eb873dceb62e3efbe725bee34c2dbe0ea3a8bc6ae631bc7af7193d3a91393b3227ef3a541ee8bba342ac3a7c747c3bc3f236b98ba1b43ae365cabae8aca739188246bbba411c3b7623f8391320ebba5eaeb6bcd050443c4cf9fabac273de3c13c46a3d1ce255bedfb14e3ec83016be73d78f3f0e0c843f0e0c843f73d78f3f9f42e9bb918e3c3b5b09c33a93784b3b23058b3c3d9e53bc4170683b8f64fdbbfd2287bcfa1b8a3c005351bcef10293c072c843c825ef2bbb8c7d33b982e85bcfc8010bc78ed6e3b614468bb5799153c5eee263b31cc98baa456e93a90cc52bbd915b2ba7364383ad7822fbafcc7ad3a7bc2cd3b84e0b33b83466dbcc8ce0c3b2ee418bc34b0e03b41bd5f3c17142ebc5b3ea2bcfc86a3bc8034ab3c9345cc3ce5e048bc8e409dbc552fad3ca6a1c13c61ab293cfe9cbbba0d1dcdbb7ebdb4bbed36c2bb0f48963b9f8d47ba1d6e203b4350a53b763845bb300a7c3a0f1440bba2de18bc1d8da6bb16a4553c0ee7883acc1b6f3c13c63cbcfff312bc8da6da3b9cb0da3d5a3dd63cbf06b2bdc9584cbd5328973d96bb223e1bef20bebab72cbe718a12bdfce303bbf5d6273d83e2ef3b1ad2613c81dd81bc9fa408bad2e6c13a13b609bc83d5d53b4bd5fcba2dcc673b46e2a13a41ae803bd7fa36bcbcdda03b84fe9cbc1e07bc3c95f8ce3b251eb53b9c6b2f3dff2063be36384c3e47aef1bddb328f3f1ec7843f1ec7843fdb328f3f8a563bba5869183a63fc28ba89496d3afcfe223b91c0673a50f4ccba0b55feba40d1883b4933513b2b559abb7f2b70bbe538193b17a8813b9f4131bbae36ccbba31001bbfbebb2ba1330b93a1c3b123b63f9523909960e3aa53e5ebae4317138686a8f39f6f2a3b9e524373a35310fba74c9f539f85e4dbb2e200a3be6c5253aadfd45bc939f8d3ad4f4c23b0b88aa3be35069bcc7a87abcf113af3c9439343cd134a1bcd6d402bd8d4dff3cba54143dddee753ae10be93b394433bcd3e5c43a05e3993a76587fbbe1ce883bb0e48ebaf18c95bacc0e103adc3f52bac9a5b53a5912e83b04d13abb3d372a3ae61db8bb376208bc5865c93cec0a9cbcab3a9b3b8d7fc53d390301bdfeb63bbdea34a0bccf8dca3db5cd4d3e0ebe4abeced946bea56b89bc53f173bcbf78453d482f1ebcfad1c23ae2e0913bea6019bc4e10233b9c550a3b42abadbaea80713ac5afaaba651b8c39df1f86bbf176d13b64c9bcbbedd8e0bc6c68053d4382fcbcb8ff2b3dfa3ecc3d113e5dbe3dc65c3e974b44beee008f3ff731843ff731843fee008f3ffeb731b986d9bd3a7e2b13bb9869a53a11f0073c15a51e3b856e98bb90dae2bbf099973a8a680c3cab35d7bb3191b1bb84708cb9b6c9dab8a508cf3a2de522bb8a6cdfba3f5c87bb9411373b6ee0823b6ee463345c2f123b7c8503bb61e41bba0926a339a0aab3ba70e19c3a6a4623385b507fbabe65e0ba6c79ff3a3fe6f9396337d9bc654ef8bbd14cbf3cd980373c3c47e4bc174b01bd4e2b003d0a18113d9b12713b98b5f1bca7827b3c0cffc63cbf00f33abd28c93c560a99bcc9d44cbcc1d58139373b02bc73f2fe3be626993a965a73bad825283b1b4d09bbedc0ac39186c123ca30546bc7192e03b68aa97bb95bc3dbb9f0d2d3dd1db35bded19173c1967363ef6922fbc87c4babde4f2a8bd333e843c52da793e2a482abe79df3ebecb5944bc30edbebd2c16af3db06e073d976e54bb16399c3c2a64b2bcdf65623b4431a63b8a1989bb5f8f1c3ba4512dbb317f0a3be6f13f3afaf39a3bfc732bbc9d9afdbc9ce7133da8a113bd87943c3d79f90e3c844285be828ba43eb4c326be5413973f2564783f2564783f5413973f9aaf4dba4eca66bb251d903b1485123aa4667f3c1b9d493ccf06a9bcadc807bcc7fdb1bb52edd73bef108b3b9f6507bc2c06cc397113d4bb6e060f3b22cf933baf9c26bb2f1839b95d188b3a7508f33acaaa09b8bb5095baf32e713a0c0a67b8d4459ebae81c6db90126d5b896dad13a191a023c0d93a53bc5132abcacf266bb569428bd065759bbebb8093dfc641c3c807ed6bc9b6e74bddc44403d61104e3d9a6b1b3c5c39a93a9cd05bbc26f6503cd1d8b43b4585293c81792dbbb85792bc6d357cbbe7187bbaf5a82db9d135da3b12f18e3b6195f53a4e99a1ba60f4a7bb8c3214bc7a3624bc08ce9a3cb1c89ab932caf83b585dbdbbf86fb2bc66b5d23ce63d4d3e8e1c803d906623beadeae7bdc05a0fbc95cf543e991de6bdfd7636be129497bca824c9bd2164a03d6cc15f3dd86c223cdb79ce3c052af3bc80bc25bcc4f112bb33a361bb2b7fab3b8098933af726293c1f07cabb07282aba0c91bcbb608a92bc7317a33d0e9782bd6d21913cc19d18bdf22f9bbeaf32c03e7da905beb54a993f3b68743f3b68743fb54a993f8feb06ba8949a639b757b9ba4df3f83ae38c8c3be45fb43a7429e5baf89385bb2fd3b73b05d4b43b356d11bc326d66bbacbeb83babf8f43b1999b2bb994e3bbcc4ef65bb5222ecba11cf6d3ba37c223bff1d613ae405feb95f2a84ba0a1cea39d24e2b3757ffbb390a39fc39e54121ba3d231c3ae9fe90baf588ad3a475e53bafe7a4dbcad76d8ba7e5f073cd128b73b77b5debc08fe85bc8d41f23ca6ca8e3c4863c7bcfa264bbdbb7d2f3de024483dd1bbb53b5b7a553c1251a4bc045166baa1d799baa00b84bb9dcdeb3b83eeb1ba54c469b9ab020ab8a44da1ba1bf7b03a7287103c620106bcb3ca573b2e5399bbb54e86bc988a003d776f9bbc9327d43b5799fd3dd9771abd76ad80bd82edc8bc12a6c33d89e3743e86c959bea75e5bbe55dca4bc4ea31dbd3293923d2cd4a7bb1445203b7ea31d3cbf579ebc7642b73b08b40f3b7a2002bba6af5d3b3f8c3ebbc20a823bc545dcbb9511203ca85037bc1b410ebd21613e3d693645bd0ffc5d3db639bc3d047d74be9d5f843ea38350be932b913fb5cc813fb5cc813f932b913f3f7d4f3a41beb03a9baf79bb5ea61c3babb5673c151da23b40e509bc570344bc4a9178ba4c8e5a3cd19606bc2abfeabb3412adbaf9a684bb58ad9f3b1e1e89bab54bf4b9ee9fb1bb1863373bf7ada13b275bd2396e4d993b551280bb9f3206bba4f39db87db900bb656e083bb947b33996df3b385a25a43b847b0bbb892f71bbd3b619bde4449cbcab6b223d51ae893c6bad11bd4be627bdc0150e3d323a523d1c75883cf671f3bc08a0113c54889a3cec7188ba598f2b3d4a9fddbc22e1acbc3c8e9cba3b4fa7bc3b07913cd2fdce3b8e8c3cba2536c23b1830b9bb24c294376cfccf3bc7e3b0bcf3036d3c844f0bb969667a3a8bb5483d34b664bd9f7d453c06825d3e7bc30a3c02ebf8bdb394e5bddf3dc9bc88cd8a3e091a19be3b7743be78c6efbb7c201dbe5322f13d72db743d54891ebb02643d3dd6f13bbde0edbfba612fc23b760e1bbc49290e3c6c2889bb8c29e03b204247bab223bb3b5ee774bc492efdbc34e16a3dd9fe6cbd15a73b3dce1a1fbd0ad899be1a02cc3e1f741bbe6ef39b3f1fa36e3f1fa36e3f6ef39b3fd5a7bf3b166e15bc7a908bb9d07ab23b67096f3c65d8f33ceee0bdbc9912cdbc72f085bc271f2bbc7a80933c6328c83beb8b0b3c1103d0bb629cbdbb8051c73bb1b307bb4e13123c3bf591ba803dd2bbace99fba6088d6bbc12d8f3b34705e3b1531533ab15389b988440fba3152e539b65be43bee7bd43c435bb5bc2e3e4bbc89b69cbdc8e644bdf9bfbc3d3b98fa3c7aa8223b3d5a86bdd85d8c3bbe229e3d2c4dc33cc8234e3d6153f4bc943322bd20f899bcef296fbcce34b93cc8d4843bbabe113cb06c15bb64cf29bc802e013caf1ce2ba24f12f3c8d0293bb46dfd7bb5b5c97bcf9292fbc7483e13c096c97ba393c193dbb47eabcb3b72cbd02fc433df215893e4797303ecbb87cbee2195abe2ff609befff4213e7e0b743c7d0507be44253c3d041d2cbe1e77563d397ac63d86c134bc4747c13de6704fbda7a12dbdec896a3a147912bd7a27e73c4c901b3c31ba0f3c05a61fbd9e3eec3c5c50fd38cc046d3c98d6213e1a2829be790bb93bdc0534be37b6c7beec96163f2da4fabd0b92a73f6903593f6903593f0b92a73fd8b8d6384a399a394cb00bba6d342739bc7755b96e0330b92aeb143a818151b974218a3ab8dda339190c9bba1647d3b91b13c1ba27ff28ba7f638b3a2b47713ab63e3fba4a3883b98f451b3ad32f20397d745f39d8f3dd38aa23dab987549f37f38cd9b89a6f76b9fb55f139c85115b9b3e7253ad8cda7b9d1328db8a24342b9e4a0a23a8151623a0c28aeb9ed4dbaba818268ba805746bbbf4d693b43ad913a69dc863be04aac3b381ac7b80154c13ab2275abb28f66339c446433af5d1503bf097cd39f9b8d238f129f738b512bcb99dff8b396b1765b8b0fa9cb8516e1eb61c4d0a3bbb6e28ba15a225b98e73c3ba99ebb43a9ddd663baabc96bbbac5b337f0c7023d60b024bc13b36bbcbaeba6bba18d9d3d0074a33d770501bef4e301beda2e25bc55ddf63caf5b94bbe9a253bcd874d83a6419a13a7f3d293ae5a436bbe0a5c43a3f1b053a5f89a8bac1fd56baa33c1cbb4e91823aefacb1b9d891c03a80379c3b107ae8ba9bf6d93b8c28a93a84c29e3d669b02bea257a53d8f6102be8fb28a3f85448a3f85448a3f8fb28a3f3ebf2e3849990238d6999a39d95daab922c320399cdb01bb9866883a052d3e3a66775e3a6cf5d13ae4cd1cbb17770fbafe1920bbbf60093af32fa33a43620a39e7ed903a7dd7d1ba7fc4333aeea40ebae27be0b9ff75e83892a469b9a08af139875c8e386ebca7b8763aa838212085b8134b503a1384c33adf31aeba6ad759bafaad98b94c41c43af830353a8ce3a7ba8c82c3bb21e1b6bb0dd3fe3b58c5ab3b5b84e93923d495baecde853b04550a3c28eb2ebb636938bb5f384f3b0ab85a3b84a56c397d194839132b74ba5264ff392dca3abac7ee02babd207f3a2cdf4939e702283b1b1ca1ba711221b99c51d6babc1ba73b653e9c3b50bd08bc2de6bbba1f333b3d58b99dbb4637e2bcbcac36bcff15ac3d4f85be3dde7909be91c40dbe78314fbc30fe113daa8a5ebbc49284bcc8a2ef3ab0b5eeba9cfe293bcfd9ceba552be8380fe0e0b91e4dad39353e593958abb0bb7b04d7bab851283b32a0833b9f2c07bb8600a9ba0c6b1d3cb332b53bbfe6a43da84614be07cec63d0d6b05be94d48a3fe2e3893fe2e3893f94d48a3ff12820b92042d6b939fb94b9404a7b3ae818c6baee8468bbc1b86e3bc813d53ac833e8b84d8785b90df61bbace204cb797250eb84f55ccb81d80643a58c1d0bad73d553a0a778bb894ff9eb9d97053ba11e8f9b92c0d8d3ad389bab98c5313b95cc05e39f4cca3b88077aab8a31959b87eb7cb3bce120f3cb0d31fbc2e2ba9bb3bbf7bb9e300a13b203daa3af8e09cbbefbefdbb725e88bb20720e3c52b0ce3b3b7afdb994fea9bbbcb6003cac811f3cddd7a0bb9090f1bb9a5cb93b67b8db3b8bc9ca383a03523b3ebe76bb402a62b7285c9c37a2a992b959c0d538e2f6f438396bb1bba5a314bcdded093c882aa03b043e6a3c6157853bccf683bc1b2a63bb1ced6b3d0abb393c0d0845bdde00a7bc21de9f3d8216c93d7ab605be67c50fbeb62786bc99bf013d5780803ba7be5fbcc8562dba4c50eabbca41af3bc229833b20c69639d9a3ddbb41ef943bbd96ea3aab7956bb96f6f1baf0d5d13b9f9eccb9e98363bc3d9bbebb0703a43c4755363c02e7853dfa0627beec86eb3d068becbde7b28b3f3afb883f3afb883fe7b28b3fabc11eba4bd3a73972612cba1e3a683a2849863a9af30cbadca61b3a549a9eba1cb6fe3aac0a983a139652bbd82d41ba166988ba7fe2913a7a1d5b3a5bdb0cbb63c5d4ba081f85ba88c9443a406dc43ad605d3b7032304ba5c26d638ffc1073a8ed479b924e4b5b8f7950b39f2711339acdcd1bad3e4dbba39d3043b30e1c23ac14aacbb8466fa39e5a52f3bd21d403bed5ef5bb7ab23ebc907a6b3c70b6d83ba9efe8bb82eb17bcda8e533c39108a3cdee2d2ba5fc17bbae12aceba2823933be2862f3a7c24a8b9a3c47e3a820ea3ba7ebaa839b31e1cba0a7b33386dbbad394dd4d23b387a073b0c0f84bb6c66a7bbedb5eeb8efbf723c994d61bc0de0bdb845a9813d233767bcfce705bd4ba473bc46d2c73d44aa043ed70824beb77a25bec05395bc64e4d33c040b413caa5171bc1a243b3bedacbabb34c9633bfe867739753e943ad79a143acbe68eba70c63fba1260bdbbeeef72bae7d1183bfe3e113b6e2e62bc71260a3cb4fabbba862fae3cda1bcc3d2fcd35bee1bd113ee31c24be46e38b3fd12a883fd12a883f46e38b3f6f1c1eba78078c3acecf93bae569143a0da4b13b2728e8b70e1cc9ba675595bb0f76eabaae32d03b4a25a1bb2f5c8aba4c79803b65faffba4d5e0b3a22da6dbb1ea07abbf025933a23b6843a512ff33a90adbf3a9f3adfbaab9a9f393ba630396e7231bae2ef693a253261b99b88e9b7e2f6f9bbaddf36bb0b758f3be480d83b413b32bc995f15bcf1cb763ccf90d63b5a3694bcc75d9bbcd4a9a33c3958ad3c84fdc3bb290052bca39d663cb16b943c4c0b593bc74276ba2c5ea8bb63907c3a052ad7b9e03faa3b3509e8ba93326ebbd251b73a218918bb3c16543a99e40339445e813c20578c3bb22d29bcc10b2abc0198473c8995f03c24a6ffbcecc321bc659dc83d1a4cb13b679e76bd866034bd1e98a03de60a1a3ef3b021bebb2f29bedc46ebbcb9058f3bb7470c3d1750beba9d741a3902bd92bc09d7173c0a941f3c30ac28bb38cba6b97ece00bad29f763bfe5041bca9068abb449f143c61cf8a3b05690abd7059bd3afef1383c1963123d8d36903ddaeb5cbe7071413e0dc40fbed8358e3fbabb853fbabb853fd8358e3f258ef2bba8dd843b47d7bb3a3cac013b4661b83c3cedefbb3772afbb0c2631bc5f139abce4df693c086badbb973f043c5c7a7e3c038cbdbb52f9963b02cc76bcba8711bc8a9b983ad3c266bb6176403c9b4ccf3ac98423ba25bb653b4de28cbb005d86ba98940439a4aa8fbac14c003b1ae2753b158e61bb9ebd05bc4a70043cb03ff4bcff1624bbac78043d62ef0b3b822e95bbe815f4bc55a94b3c76cadd3c1f92aabc673adcbb19f39d3cb05aab3c5f36953c1144cebbd53cd7bb211001bcc573e6bbd29c073cbca5a6bbfd134c3b7b77c83bd3e7acba0730303a3070b4bb819f1a3b4793913b6517813b7f6f3ebc0a571b3d2472483cdb363fbd694a67bb4412aa3d8910283dce037cbdbaf983bd889ac13d6e37023e9ddd23be5c161fbe412256bd6da0a33cf84d233d37bbef3a38236b3c26abf3bc9a77083c76b10f3cfcef57bce3e4be3a562b653b3a4d033ca69d14bca6199dbbf2a5debab8b8723cdce41bbd4db57c3aa32c213dec1b333c7f52773dc6b567befc7b293ec3a3c8bd91808c3f7aa4873f7aa4873f91808c3fcc62ea384fb1223a84388cba5134e639159a0c3b26dba83a01c2cabab9b009bb43ec5d3b4ed40c3b71c176bbbc712cbb1aecf63a05d3883b83f046bbb71cb8bbc7d7eeba152168bac2bc973abf05ec3a43c8cd391301be397bab47ba00833e37d3a98939de0b7db9cb5c0e3af567f0b9192b91ba89b969bb06d9613bd915b93ad9943cbcc30098b943ccbb3bd4d2cf3bf7fd57bcbd7957bc98599f3c5b3f1a3c120a9dbce4bff6bcbc37f63c28a50e3d0aced13a80d29a3b626915bcee94d53a0b2a993af35651bbf089473b87fb55ba1659c4bae9558539ffc52c3917278b3ab7260f3c4b0f39bad6051bbbd4ffc9bbbee0a1bbb51cc43c0fa490bcc44915b7beb0af3d94cadbbca4643bbd8b3357bcd12adc3d9404413ed38d46beb3d246be64e9adbc01f5a9bbe92e353d0b703dbcada8e53a3d21b839a632c6bb842c5d3baea4243bae5e80ba8f1026b969c85bbacdca56ba6748bbbb409c093cb813b1bb2d0803bdb75a023d4914eabc2742393d68f4e23d21a660be9a1b563e6f8245bed8028e3fa62e853fa62e853fd8028e3f29420c3bf250603bf4d38dbb5fe6bbba46f2b83bf813213b602a42bb1595c8bb9c1b3b3a29fda63b77978dbb7d8d60bbbceb84ba1e2d6cb97144c73aab0bb7ba1d5f01bb817775bb24de513b2e1a623ba20af138cfd3b73a9b94eaba1e903e394236af39d13b3eba3f30473aeeb098b942741dbc7cf10dbc59c1343c0654fc3b3c05c7bcb41258bc5630b33cf6f68d3ca0dcadbce197d8bc4b25d93c2d8ce23cbe3fae3a8de19bbc998a263cc7f7a93c84b6f33bd1ac933c20a68bbcc57552bc06fa8f36370cecba25796a3baac6d3bab8da77ba6592053a138ddbb82cbd0c3a24fab03ce4ee333a0e7b25bc2a674abc503c653ce4334d3d323a48bdbf905ebc0c9e143e7e0ae13bbad3b6bd635b8bbd072f2d3d46784f3e406f1ebea4f33abe3b1c0cbdd2358bbd6b3da93d10fc003d8e5e74bba41d81baba6315bcbf405d3caa8f683bd08037bbf6ab6d39c6771db8ed07d4bb12e0afbb9cd1623cb80dccbb633b61bd53a7be3c2d2178bcf7f17d3da518143d5e248ebe67ef993e03501bbe15d9933faef27e3faef27e3f15d9933f2fd6a1ba13240c3c9f53d6bb88033bbad1bdc13cd12a713b6b8618bc87f2a4bcde03aabc8722a53b4710033bf5e5443cdb5d163c4d7fe7bb42feed3b31830dbc25a7e1bb3b9fadbaefb848bbc992423c1022ae3a8fbcdb3ae2134d3bdff5d1bbd9e7f3babd01a1ba35e8ccba4fef983b64c857bacf1e88bcd80f253c25c9c43b4c7b87bd25fd53bc2080363d429d1b3dbbf8963c5d9857bdb8efba3ccdc7aa3c1fec6bbc33be953cb30888bcb2f1b33cf718de3c9bd4e83b95674ebbf77816bd5f3956bcd4bace3a017d6fbb4ecd803ce3c6103c79da6bb93f1d013b5b032abc413bfaba3ff2a8bad150563c79ef00bc290b9c3dc480073dd201c2bdefd659bc1f46f53d18d6c33d81ecdbbd083fefbd89574e3d8d0f083e0e65e6bd327d27be56c6b4bdd7fb65bda532b53de8bb933d0cde103dcabfb0bcf39f10bcd56d9abbfc885fbc4071333c92be9bbbe486ec3be773c93bf07fce3bc2e3a3bcddf68e3b0beb93bd35d8013db3ce203da5b46a3c58019b39cb5aafbe25959a3e38fd63bd00f7913f62df813f62df813f00f7913f918dfd39a4a67e3a37c705bb8aac5c3af551863b37f3d13a8b72f6bae11f85bb322ca03bf964bf3b13170abcb25463bb2ed1be3b24dcd83b52a8b0bb35a72fbceeed5fbbfd8873ba3683413bf1a8053bf6a5343a86cdf2b9873c3bbacba2ab3991d42b39b3e712b9cc19f339d7108db994c0dabad349f7ba55d0463bb151143a2a1d4ebc410b82bb1599113c0383f83b18dbd0bcbf7d72bcdb54e53c66b77d3c7323d0bccf043dbd75c02a3defd1423d8215dd3bd489163cbd9890bc7b6194b93462d1ba226d2abb4a44bd3bcec79eba10db60b94d463cb9e27f37ba18238a3a7f1f233c96a4bbbb761e44b98fd995bbec6d21bcf4fffa3cbebe96bca36ff1b9b619e03d3acfedbc8d8381bd51c592bc17d1dd3dadc6623e0f5755bee2b35abeee89d7bcf894cfbc04c2883dbaea04bce8d0773bf7a48b3b5e2d87bc513aef3b85f3d63ab381d2ba431f4f3bfa1526bb0ddb683b6e8108bc0a233a3c916e32bcc03f28bdd9d83b3d022534bd5a19693dcf23d73de14879beb2637e3e507d4ebefbc08f3f6c35833f6c35833ffbc08f3f4583c03b4e44c33be6c10abc276f55bbabdd223cbe8bb93beff2c6bbf35938bc5c6a59ba75b4163c9fe3c5bb962ba3bb2b09d0bae04792bba6f4a63b112d10baf62811bbafd469bbf3701b3b38e7ae3b983fca3a3c15033bd89525bba279cabafc088f393653c8b9e50a2f3a0e63a1b9a7e16abc46d8c2bb22ce463c4627013ccf9f0bbdc659edbc20741d3d487fd73c5857eabc7c95ffbc3b71e33cbbde273d8642663c4173a9bcdfc99d3b117b843ca3e3d93b6365063d945acabc8005b2bc88396fbbd5bc23bccab7413cc6143e3bca2dc7bae76e3a3ae39492ba68cae63aab19a93c870616bc934f92bb3cfcdabbdee2bb3ca4a5813dfb0384bda2a495bcd87d393e603fe43c2e8ef3bd8cf0cabd4c49963b53aa653e9d4a0bbea6d03ebeb1671abd2b3bfebd4108ee3d566e773ded81f5398e0da93cbf3c08bdffb73c3c9e17d83b8a3493bb0205753b711c9ebb2b8abe3a4ad781bb74bf543cf07b74bcff7d7cbdd1ba2e3db85e00bd4b89823dbe714ebca163a6be4147c13e2ec805bee052983fe5ed753fe5ed753fe052983f2c2a883c9b6e3d3c8e4389bccda934bc85dc89ba1d9d243c705599ba56674fbcd1196abcf47845bc6fa6593cfa454a3c5e34053cb23ebcbb0f2988bba828853bb895a73adc96233c605d8bbbce1be0bb7358e6ba14f95abb44ea603b642b353a639ba8b97bdea7b8cb9851b8a7826c3affd3f6bcc975feba9643ae3c8da9023c89dd61bd061199bd5348973d04267f3dd105b73c6f925ebc1491d0bce7a2023d8957d13c03f9293d5c79aebc09bc29bd1d3e92bcac2ae9bacca1473c71d422bbfc5257bbf4b350bcfd40a93ba6eb793c26f67f3bb722913b3d1cb2bbbc6572bb161a693bc535d4bc39a1443cffe54a3ced7ad03d582fa33da39c05beffd72bbd89304c3ef47d133ebcd62bbed8224cbe2264f1bd5496f33d5d7fa23b521bcdbde17a83bc88ef34be591ed13de07bf23d0e8fe33cee828a3d835592bd8c96d7bc564750bb107016bc8173943c5aa2bcbb30ced13c3432bebb73978dbb5c378dbc0b5896bdd370db3d430842bdb75e953cb81319be0156e8befcb20a3f8f9e04bdeee1a13f07ec643f07ec643feee1a13f3738eab99bd04d38a90b21b9134a0c3a8f26ac3964ed15b974c20f3a05ae42bac71b243a5db01738abf655bab17c0fb8b8208cba58697fb949e4ae3adee43ab9c2bd153a89d418ba9c2430ba1590ce39142784ba7d7a02b97fc12e3a19daec39fdfaa8b80b6d6bb951fa0939c77d2f391160643a048e8db856ad06ba78ddd4b8559e97b9e5a9713a16a77b38b7dfdbb98be988ba9fbd67bb1fa9833ba8c8c53ae45c853b1121883b5a8564b901542f3bb19e77bb9550fb3808f4cc3afe61493b3219cf39aa609c3a0fae8bb9953a86baed5ca8393960aabae32787391caf4d3a8c1e233bf1c9233ad81342bab78427bbc0b4ec3a2ea2133be5595bbbd0229db96cb0093dfaf308bc58f283bc1778dcbbdc12a13d7b00a33d679001be4be402be9fab21bc55d0f63c7fd39abb74e354bce3d6cd3a7e2db43af6d5443a941841bb2eafef3ac0dfe83a363c04bbaf6ee4ba486745bb4e08643acd55f1b9eca9163b9c8b9b3b44c6e4ba49ede83b54553e3aca9e9f3d3d3d03be8f64a53d535502be78a08a3f7e568a3f7e568a3f78a08a3f9bea30b98a33b339c919d5b9ca2450399222903a0942f2bac47c3f3a4e412bb919db413ad3171f3bab010fbb880ac7ba739e91bae4631fb83d2c83394959a239e997903aa99b20ba69c36a3a2d70e6ba2ec45fbac38990b97350c4b95a7cbc3a55ea4f398a4dc2b784f340b935831b378cb1d6ba83493e392ac7483a315b983aaa401bba05460abbf0a9373b7a35f2394c6de5bb6705aebb2639f43be56cda3bb57837bb203dfcba1651023cbd040c3c6a735cbbce0b7ebb7ef55d3ba81d9f3b5c2a1f399968ea383a9d82ba997d543aa518aebae291fdba8b24303b3b1ff1398ca2a83bf9076a3bb242a1bbf98b8abb4be7c93b47f90c3c2c941cbc667da2bb4a17433d8e7e06bb2badf1bcd75f63bc599daf3dd504bb3d9e420abeffc80cbebde623bcd2961b3d22fdbabb49349bbcb7d7d13a343894ba8a7b4c3b90e612bb59d9f23aa624623a48d7babaffcd77ba00d5b7bb214a71bb93e6823bd54b8f3b7f3716bb0277b3bbe340383c289bfe3b23f2a43d5dc711be9a20c23d10d705beb1d28a3ff5e9893ff5e9893fb1d28a3f65c048ba8a41443aaf7586b84f6bb138cc9e0c3adbd088bada6d06ba9549383a3cfcb9ba0971ccb77bd3333ac4b489b953a9493a016dc4397e948abaab415bbab1bf95b9e59fbeb9a2c81a38a7b654394b590eb9959fc0395dbdf0b7fbd90e380ac22c39abfccdb85e0aefb78210dfb7e5d9dbba946f903aac0b9c3a11871b3a046e4bbbd3958cbbabbeea3bf5b6d83a8494f7bb4a58d4bb6687153c94a8fc3bf1ee76bb19748bbb17d9ee3b48e14b3c4dd6deba7928dfbb20efa83bb6687a3b3e0b743a3f5681ba9940bd39f44a4fba32baa639de30143a73f15bba361816ba100b343ced9c883bed810bbc0e4b04bc7076a13cf2ca743c9e6faebc5d8a69bc7ab7543d12867d3cd4f732bd9507bbbc16ef9f3d4116be3dbffb01bed7cb0dbe2ba137bc39aa073d69d437bb21f16ebc9ca141bb200d1cbbd27bcc3bf1d2bb3af0dcf7baf6fea3bb1b955f3b5ebf943b446a62bc0da91cbce79c533cf80c213ce5c150bc9cc878bc4c6ec03cc2d3753c9109913da7281fbe2983da3d0cdcf6bd21c58b3fccfd883fccfd883f21c58b3f7862f4b970ff8639143b35ba942a573a60a8793a214adeb9144e8d3a56e6dabad1ce363af8053e3ab48411bb87f39ab7b583673929c3443a9d8c19babb3edbbaf5a3b5baaac317ba5d559d3a1c30e3398cb4d7b90d15abb8ded5fcb85a21353a567eb5b8e921a7b95707d939943f4bb8103900bb8fcda5ba55f8ae3a9ced113bdc6f91bb53e28aba7cbd6e3bf996213bf127e5bbd8af1cbc4bf14f3cc80abc3b09a80abcad161bbc5aae623ca0228e3c9aaf0bbb6494f0ba29d298ba1907b83be05c14b825efa3b832e7ef39026f94b96944663aa86390bac2ee0d3aae758db90490e83bae37633b80e29abb7b12d1bbd401d3b9f4715c3cd3774dbc0a7a2c39153c6e3d97c543bc925306bd70b93abc8251d13d0854ff3df91324bed8eb24beaf7c93bcfebbf53c5cb42f3c9c1897bc71a1863b3b17babb5510313bf0cc82b9fee2343abfc4d03901a55eba68a172b9c8f0bebbacc712bbd13c403b9a5a373be80268bc5be7303c71b748bb77a2ac3c7e1cda3da54737bed3be0e3efaa726beb94e8b3fd7b8883fd7b8883fb94e8b3f07caa739c9e8dc3a48d200bba6806eb9d3655b3bb8d5fcb976a807baa91848bb78c393b9aedba93b66bd87bb37a4e9ba8bf7e83a1b3c19bb40c0a23a3342f5ba27f644bb059c853a121b493a000cab3a4bc5693a903dbabada9a9538e6253d3aa2ee2fbae5a5c539d7e2253904060139fd2f38bca84905bc85682d3c77d61e3ce94a22bc2eef04bcb0a7333c448e113cd93e5dbc57e286bc0c32913c58997b3cd390ecbba60701bc9e77403cebca873ca847953b840e81bba94f36bbdd7a793a6dc8f0b91c49c13be2696abb609f39bb9c70263bf85233ba80374ab886aaf7ba9f46d03cc082693c86d2adbcaedc9bbcaa8d4b3c566e023deffdf3bc16f671bcf02eac3da4f9673bb9db58bdbacc0bbdfcc4b43d5c6e093e41321ebe874926bee627f8bc7e5f953cb405d13c415bccbb035f08bb2f06babcb5eb7e3c3da2353c66aeb5bb90666fbb2cfc1a3baa49fc3b0abeaabc25644bbc75b9923c566b463c5e6d0fbd454dc0bb6fa8823c336f223d82d1aa3d5a4454be13322f3e6fa413be3cf68c3ffc08873ffc08873f3cf68c3f0d45043be40f4f3bf6a945bbb03b28bbd682a83bb0eba93a28c477bb60ef72bb8ea3aab9762dd23bd56246bb46c994bb1853583a119d59bb3571523a83a2cd3a3afc3abbf6064a3a6700003b17521a3a89a3f839468da4ba60008d39a220823aac751bba7d527a39a7f04f39bf6bb838d552a3bcbba28abc28a1ab3c5d978c3cdfcc7cbc0c4424bc865e6f3c08dc5d3ca63163bc115ccbbc9543aa3cc677b43c7ec921bb09644b3a4287833b0a17183cd044ea3b2110febb13dee2ba7a81193a11d16a3a5b1b3c3cd901f6bb2901e2bbbf5b7b3bf7a9ffb9125abbbae8551fbbc31a0f3dadbab83cf3ae0abd9217c4bc4c96023d408a213d17c52ebd4196f5bcc427aa3da13fdb3cc13876bde4c14bbd84d69f3dad90eb3d8aed0dbec49a18beae440fbd4124bf3c1164c33c284584bb499420bc4ea608bdac70cf3c79b3af3c5ae714bc5f0813bc13bf003c17983a3c1eb0e6bc7f3788bc97e5cd3cf0158d3ce4123abd8ae2fdbc4858393d800a323d94c8833d24ee52be01ad1e3e5c37e5bd7bc38c3f8e8f873f8e8f873f7bc38c3f2c32cbb98eceb73addd08dba915ce3382caa203b853b203addc7a2bad85d06bb81f02d3b9104103b7de259bb2d2c13bb05ec183b21ac653b091357bb1317a7bb04b984bad3f71dba214d863a450e413a1fc004b95157eb390f5c13ba5ce1963932d3d839066ef2b9cc9a263a69f2fcb99a20dbbafc62a5bb0258823bb38b463b62762bbcf6311abab9c7b43bc283c23b80012fbc69b832bce274893c33c9e33b0a1da9bcde1ee1bcc211f33cffac0a3d21f5bf3954c2093b708be2bb67e06e3b3773d33ab38d47bb12ae2a3b846193ba6b25cabacc67023a35bcb2b83f2b933a6dbe1c3c75a0093b159492bba12bf7bbd13a39bbf9a5b23c58517dbce3522ebb71dc933dd567c4bc4eee2dbd6599a5bb6f38f23d9147333ef18544bee9f745be32b4c4bc5299c43bd2a81e3d8be979bcbbb8773b80b4f5ba8d0e90bb7d04193b04b7c33ac99380ba903975b84dabe437697cebbabaece6bba7ca163c436084bbcf410abd6b21033da2b0ddbc2ba5393dc382fe3dd33460be00154a3e198f47beecc98c3f1a67863f1a67863fecc98c3fc1d73d3b846d853b12a799bb743339bb89af583b2b71a63a7aedb8baaa8880bb1d183c3a6b1c443b9d7660bbadf5deba16f455babe952bb883ebb23af99ae3bab0cdecbab2e12bbb67b30f3baa9e423ba31054bab769a638affc1538dfe95f3a9b39743ad60f8db7ee307cb9b8cc2eba3ca581bcfe387dbc3dbc8b3c49327f3c0b1a8abc0d9142bc7c1c873cb98d6b3cee5b81bc9a7a8dbcddd2a53cd9f3903c237938bb918e7ebcb7b8283c237bad3c3fbb0e3c09333c3c5fc855bc96c52ebce8530d3b89203a3bb56701bb207065bbc55183ba17ca8538d7dc9a3a9e86bfb928250a3d33398d3cbe6ad6bcaf47cdbc6a878f3c1b58483d357230bd81c1c1bcbdf8e33d0223ae3b04609abd757b37bd2e578e3d36fc303e49001ebe396a38be1f8934bd3a6f1dbd630b913d22a7ad3cd089dabba4067abc62386d3b6d849d3c3d9d81ba6dd3b2bb7270253be5f2b13beeb897bc034096bc73a9da3c9f17a73bc8a285bd12ab673c27a896bb6175923db800913d06778bbe65ae873e6a011fbe947c903f8bd8823f8bd8823f947c903f909f693a709e5c3ce56420bc27cfc0bb58ef873cc4f4e7bb827a973aecd24cbc41dfb4bcda389e3b19bea4b913f88a3c782c3b3c2d0508bc5662103c635e3cbc579f07bc67e0bc3a285fb9bbffe05b3ca8b5893b156f0b3a4fd1823b808a0fbc44a600bbc59a73b936691ebb410a953b5ce2dfbcc21329bdc14c133d453c0e3d0dec37bd861e15bcce78ea3c019cfe3c9a3f033d2760c6bcd819053b9b186bbbe2f876bc5f449a3c81f870bca774a73c787f0a3d9ecaf13b83e2c5bb313429bd918f7abcb7fac33b8e0ce9bba8fc7d3cdce1be3b58da38bb3782b93bf4980dbc95825a3db182283d031637bd9f8344bdc0a09b3d81097e3d5952c0bdcea142bdcdd4933db729823def5f8cbdf9da99bdcbc2923d2b92d53d2787e2bdd09b22be5bfdeebd67eb14bd02a1b53d3e639f3d8488d83cba2257bd9779b93cc433013c042866bc72f8063c36c81abcfee8883cd4d412bd27633ebc4202853cdf96c83cf4e7bdbda36fccbc6ec3a13d7ba9543dda3bff3c5b75a6be57e9813e8c7658bd050e8f3f87f1843f87f1843f050e8f3ff51e453ac27f8b3a0e72ebbab483cb38f8bb533b6bb0c03a8a97f6ba2ef44dbb162e923bac978d3bbffbd8bbe18349bb915cae3b1cf1df3b9328d2bba3cd1abc37ebf6ba7ddbd3b9be17263b9115a539eb0ed53879b2b4b7d5f196baf0f46d3a308680396921a9b97b936d3a2fb41cba353648bb62cb39bb1b8b823bd3e10a3b4ae232bc445aabbb9df6093cc646003c06fbafbc1aab2ebc7c20c13ca71b383c5bf3e0bc4d2f32bdf1d22b3d96fb3e3d618db93ba300963b894e67bc7197203b1e3873baac8af6baad979b3b788ee5ba82dbc1b9120e32b994be56ba5c9fab3a002b2f3cf15725bb506461bb472ea5bb55adcbbb7ae0e93c59ba7fbcbde5b6bb4e6fba3d2acbd0bcd50670bde224e4bb0377fd3d3402503eb93e53bed38e59beec65f6bcdd7903bcf5836d3d147e65bce400a33b8682e6b910664fbc78a5f33b04df773a4f447dba5d372e3ba41e06bb11a7363be13a2fbc5815583ce0071fbcee0434bd0ac43c3d88142abdcbfc693db713fb3d4e4e78beef2a6d3e3dc84fbea7f58d3faffc843faffc843fa7f58d3f5aa4013c7111073c54ca1ebc064ae6bb6c28d23bf5b58a3b712394bbcbb6f5bb1891893a6a5dc23be2ada0bb41f28abb48d808bb72ccacba64a2293b0b7389ba44901ebb7e8392bbbcbf873bd5928f3bdcdb65b93411f539630dadbab3ad813ac95b433a8ca3a83925791fb8c30c60bab176bdbc22608ebc9a02bb3cfa5d973c811dc3bc114dbabcf744dc3cbd08b23cd0fcccbca21ab9bcd770cf3c5376f23c0484a83b747fb3bc2b46213cc475b13cfcb6473c0f6bcf3c45b7c8bcfbc197bc8e0b73ba10dcc4ba41cbb23b0fdb48bb1ab6efba714d64babedc223afda9fb3aaf320c3dc7241f3c302bcabcb75299bcf0c5d23cea61763db1ef59bd042d02bd5bb30f3e4c02cf3c4714d3bdcbc08ebd1811433d7247483e880616bee0fd41be46a65fbd63ccafbdcf4ad83d4bb73d3d8235b0bb6205cabaca6c6cbcc264b53c97cb963bc62ea9bb12ee3e3b8f986dbaea741abc124052bc295ec63c050bf2bbdba39cbd794dc53cde1861bc941aa53d9259023d4393a1be2c9ca83e6f0b0abe8bcd933f5eca7e3f5eca7e3f8bcd933f3679873c4345923ce0ff83bca136abbc648529bc790fa3bbac6e9f3b0634fb3bd56b10bc507b2cbca6605b3cb132d53b6ca9753b12b682bb9f7eabbbab12d93bcc52603b3b2dce3b97469aba90f7d5bbc399193b042c3e3a68b672bb0e0556ba689debbae24a353acd47ee3a6c8436ba7e8275bd11a230bdab865c3da8e04d3d0aa030bcd51232bdb1a8ff3cfe24083d5821d93c2939b33ce6b515bd46d719bb15a9b83cdef8a83c7bb421bc00b1dcbc5bb2803af0c2a53cd55c6abc9f5a99bc4410a1bc0e7e7cbc38a8b93c714b5c3c01700e3bc5d189bb78300fbbbf28b03b5346863d1b98513cbd2b45bddbc0c7bc551bc13d4673133eb1540bbecf92d7bdd6e9ff3da7175f3d9e5da9bd5847f3bdba3d85bd24dffc3d389b45bd8184d5bd7105adbdad7b34bedd27263e9c2ef63d05bd983ca97c8a3c000b5abdd7e1cd3ce6d3933c07bc363c785eabbb0463c7bcfd79003cca976b3ca6ecbd3bfa7612bdf9071dbe2fbbd0bb78a44f3d21eae73d960c8ebd99fce0be4f71e43eb206afbc5f4a9a3f40cb733f40cb733f5f4a9a3f8cda4c382724a3b849c08ab94c389439d101e3b830262c397553a6392548abb9c0f2233a51c5dfb9f11d2139d47b27ba319a70baeedb3e35e92c16b963a3523a7c48a4b7e70fd4b9b1a89d3953b517b913b046bac68357b82331e2394027af39d792d4b7d0925eb9a41820390baf1437e21e64ba156874b750c4e23987da1b3aaf33d13982cb8639e5599bb8d9e94cb9a5afe5b9f12a89bbfd2e6f3bfe52ff3ab86a603b6bbb6d3bb3f8e03a01540b3b3d2a89bb051f66b95504913a26658b3bfc93643aa95b5b39dc7737b92e4b34ba3b031eb9723b4ebac73098392ec16c3a0ecd753bf968033b637707bb188480bb10b9c63abdc3703bc2ad91bb1645f1b8d794093dc5570abc362b87bc4ef1ccbb8a64a13d30b6a43dbd9e02bee0ba02be70bb0bbc243e033d7f56a8bbbc8681bcdc0a093b7fadd23a440f353abffc6fbbbfc9f03a1e2f163b4e4e19bbc10ef8ba9dad08bb8091db38880076b8f7e9cd3a9e377d3b53bcb1ba4000e33b6d0fc03a3690a33dae3e04bee18ea43db01a03beef8d8a3f7c638a3f7c638a3fef8d8a3f229864395dd5663949675cb9227773b9645191b7878d8cbaff82503a10131f39cd02863a4fd7f23a0cb0b0ba54af0abb87e153ba3e842eb9ba081bbad0277a3a736bd63a58893739ffca40ba3dc0c1ba7b3ce5b989a99339446072b969838039c5574339e375e037e041df36307e45b9ac1338bbb5bf00bb6ac5083be055533bcfffe0ba0600c0ba113d5e3b6d12b939ede1efbb2dd6dbbb817a063cebd5f33b1ec56cbaab2e19bb2cc9c73be6fd0d3cced9a6bbfdfea1bbfe73cf3b69a69e3ba226d0ba57eb9bb96d0ef039703bc93a8146c3ba3b3a2bbb899aae3a0a64363b1fb10e3c1fffd83b25f7ecbbd90309bce95be33b2b54163c444235bc42919cbb6eb4413d59fc60b9aa32ecbcd17180bca016ab3d823fb43d492e07be56020abe6c4dd0bb3edc223d58c30ebc323bafbc8a89473bf6bfe03a62528639810869bbf5ad073bf1aecf3a86b66bba095f17bbe51eb7bbb2f590bbaa6e9c3bce10873b463e86bad2c694bb3b45183cf2c0e63b9282a33d59290fbe5b49ba3d7b6104be1dae8a3fed1c8a3fed1c8a3f1dae8a3fb6a17cb968eb7bb8d9a585b877c1c5394076d83ae7b284baaaf1543921cca1ba8e7f9c3a1502463bb31138bbf6bd16bbff1a3dba75ad233ae34514baee3ea0b70783923a63b61d3a540be4b90462d2bafc2aafb81b9a3d3ac00351ba3571ba399d25263827d381b8e85700399d9cbbb821359dbb6b8a2bbb4fd7773bce939a3bbda3c2bb1c68f0bbf132103cc9e8c93b094036bc65a9debb2a9a193c8df5313cd9a505bac043cbbbb021123ca736113cd4035dbb5ec803bc98d5a73b70a3df3bbff66ebbfb7049b9bd30323b303e153ae610e538430a44bb4ef3703a67fac43a4955943c056a583cc1b18dbc1b3273bcd21fbf3c11f69e3c7de2b6bce3deaabc06f73b3d045c573c3baa1bbd2b5c9dbc6aa09d3debeeb23d885702be7f9306bef4b78fbbcb7f0a3dc07eacbb56a1a4bcca3dd33916f7213a2f9c283bde4696baaa5abcbac9a227b7e89b063b6334863a563b81bc5b0d66bc72a18d3c2379343c4ee936bc8c2886bc1f7ea63c3f2e893c2ae6903da21d15be0f2cc33d14bbf3bdf2108b3f28c0893f28c0893ff2108b3f579f59ba5e861bb8406632b9bf9a743a9e0d263adc4fb8b9d4d1483a079c8cbae0843a3a309249b9ad638dba3a3cefb8c654593838b3813a52087eba9c59b9ba97de48bae916a4bae6a5ac3ac86ba039c6160bba1942753a846735bad298b7391ca701384c9c32bac7080c3a9dbeb038339ef6babf3892ba9990ef3946113d3b420543bba7a85e39866e283be84c403adcf8c4bb3727fcbbb76c283c7cbca13b926e03bc9ee41dbcaae06f3cd160853cc65868bb26d210bb0df17539e90fcd3b9f240e39441d27bac4f3ae39e64b91397561d4394c759ebaf0c4373adf853339d7fbcc3b866b853b3bd287bbaaa4d8bbc656adba9c022d3cbd8a1abc2cea5c3aa077563d48045ebc5f30f6bc529ccdbb0165da3d7831f63df49c23be235025bea23292bce6a80f3d1c41f43b2fb3aabcc185be3b9979b5bbd63e183bf843e3ba258a543ac2a7093bcadad3ba2e8daebae9749fbbda34faba479cab3ab5a8433b3e6b40bc34b24c3cfeb593bb0a1b983c0d72e73d039334be2ece083e98102abe0fda8a3f482b893f482b893f0fda8a3f2d2853b900dd923ac68981ba6174bbb88584563b79c73d3849f097ba4d0522bbd0e515ba9179163bad8afaba689731ba7ec9b43a3ccedb3905b154bab86e0bbb1d41f6ba19cd8bba5c2cb23ae14fc73a645c2b3a9d9dc8393e1f83b9801215ba841706ba93cc9cb9b3c59139bf570f3ae6341ebc3aff06bc77771e3ceed2153c1ba5efbbb2d8afbb6496e73bcbb5e03b168a34bc227f3dbc5bf5753c0f581f3cab4c09bc4064f7bbfd9e363c2f8c913cc43e803b1480cfbbe84b063be42651b87a0d06bb4bfbad3be74398bb309f303a1e8b403b9d8f58badd8b8639c30c2cbb1a40c43c7cc1843c0579aabcb291a3bcb8bf003c1acccb3cf744b0bc7af139bce0cd8b3d9bfb1cbbb4bf32bdc7e9a6bcc58dc73d7a1ffb3d34031dbec3cb24beaae2d0bc992cfb3cb5c85f3cf0bd56bc920da4b9ce2098bc751f623cbc22de3b530ad0bbc7797bbb7dbb533b9991023c1890b2bc131c5ebc3a9b8b3c0a6c763ce0aed0bc77937dbb9a4e303c608f083dab0ac93df16143be4d34193e10a11dbe48c98b3f4b40883f4b40883f48c98b3f4b264439e99be43a1a28afba92c95fba016b9b3b64221e3a537a1cbb465967bbf61e093a3263be3b825a84bb5aed6bbb21b9bc3a5561b6ba7e4c993986ba16ba7ed50abb659503baeb94af3af27ec53a6788beb82a4621ba703a203a101d0a3ae97c81b981ad41b8d7df19395f06fb3822a3c8bca124cbbca606da3c8d95cd3c6cc05abca3aa2fbc98764a3c0d865f3c53cb34bc0f5b8dbc2c06883c5521713c880e28bbc55be9398a87953bf3a40c3cb299823b0f889fbb33da73ba08748b3a4222833b0d1a123ce62cffbbdbc8f3bb8ba7713be0e9d43a49a24ebb8c464dbb581d5e3d7238493d84d461bd11474abd6faef33c00a61c3d16eb1cbd304bfcbc439e8c3dfe67803c808442bd589111bd5eb0ab3d2ff5d43df5650dbe26cb13be4dd0f3bcb753f03cfac3833cc32c13bc08cf7dbc1398f8bc416ce03cc0a6b73c858380bcd4e58cbc010f8b3c56cf9a3cdba447bd31c720bd2db7383dd9391f3db4e920bd786f14bd50f62d3dee78393d09dc963df3ef3fbe4e4a0b3e4e26f7bdefcf8b3f4c9b883f4c9b883fefcf8b3f63216339655c8d3a7ce98dbad5a21bb9e32bf53a67e8933a5d38acbaa676f2ba51a6e33a45dc723a22c9edba2818b7bafb73323b9e1b5b3b149c75bbc1e89cbbc11a88badb8b6238cf060a3a26caf339010cf439b53fe639a52d1fbaf8818ab9eb69ce397b3f2ab955d3c038cc5a82b9473810bbd85899bba0ce843b14a6493b098c07bc6619abb91e29823bfe40a33bc9a505bca2f10cbcdf3b653c8a2c8d3b8aa4b1bcd0a3cfbc108bf23c0be0053d61e212ba8c97b5b9523891bb6bcca63bdeb2613ab02f45bb5f72093b694d653887d104bb3f7602ba9623b33a5bef9f3a411b0a3cb1fc4c3b0e27a1bb64b7debb953834bbf288923c20ce39bcf50e5bbb7fc7713dfa99bbbcd8031cbdfb1d6c3bd3f0033e1c0c263e215943be53a244bec6d0cbbc45a0953cf32a003d499da5bc9304c93b4e895ebb890f5ebba291343a5dd9bf3ae8a49c3ae055a4ba379b83bafd7585b9a6cafcbb5096073c03fe85bbed2809bd34d30b3db5b0e4bc653c343db9080e3ec49f5cbeee5e3c3e531e4cbefc7c8b3f0cb3873f0cb3873ffc7c8b3fbe8ff83a650a5e3bf12663bbe65417bbce27223be26f023a00514cbaa6042cbb0e4f593a2b97003b8a882bbb5dfc8abab5f2a8b92745683adc8505b8970b01bb624535bab25eddba9c0cb43a74b7b73a511ab9baa4db89b93eff433aa0e2913a2a81893ab5bb3238c87029ba6bc7c7b9d9fd68bcb05f6fbcf6b37e3c7710733c106340bc6bf3fbbb1a842f3c1354293ce76435bc2fd430bce929783cc626203cebe202bc35f862bca6d35c3c15f2b03cd490e43bdd137d3bd2b0f9bb9c94aebbc34d163b3cd0893b579a8dbbf8992fbbc71bc1b9087993b95788cf3a456fa9ba8da2063d1587b03c6864e4bc2d71debc8dab4e3c206f193d806ff8bc4c81a8bcc240a23daf7e82bbd0b667bdf628a2bcdb2fc43d1c891a3e262426be744434bed5ed27bd3d65fbbb76385a3d39ab0f3be01c9abb0d6089bc0850d43b7206833ca1b794bb50e7d9bb7c9cab3beca2fc3b7b8db1bc3318c5bc5e9eec3cbde0423c2e166dbd15eb7b3c4c96e1bb469d863d7056da3d4d947fbe628a633efa052fbea2618d3f6cf2853f6cf2853fa2618d3f78bb893b17b4143c8916d6bbea4e09bc3ad0693bb4a271bb72146fbabde0b539a67cd8bbaf9496b845124a3b26ec4a3b90ac2c3ab1994abb4dae303b9381aab956b939bbdc0008bbc722093a9abcab3b14d887387876f839a671023b71c80ebb9d9ce439dbf9f1b8d5c9d9bab437a23a43e919bdf4d440bdae432d3db524423d8a36b4bc6ef332bbd06d973c9b52283c63756e3cc69f1abce7cd7ebbc5761c3bfe2737bb33941c3c12a326bb82ddc83bad21be3cc347103cd6bb6abc3dbab4bc840f5bbada4f313c083433bcf6c3b7ba66be0c3b1a6abd39c071283baf4fc8bb49d2b83dd503a93d8cecb0bdd202b4bd58f6463ddbdc553dad4b89bd706b1cbdf0e5683de9a6a73cbbe922bd2e302abd4dbda03d9817db3d726909be1d1614bec07db0bdcae096bc6be1a33dab600a3d54da4abced255cbd22910d3d4f5a143d869ba1bc002f98bcc5d86a3c990fed3c38589ebde43d82bdca22923de2cb7a3d1c99bcbd816d0cbd744b813d12bca03d04a5a23dcb0b8ebea443553ec0d9d0bd4e868c3f246a873f246a873f4e868c3fc63e6d3aabeeb73a51ad0cbbab878db886d1173b25338d3a47a45eba50e639bb9bfb573b399e453ba170b4bbf3a2beba1326ce3b1105d53b1884ebbbc5a517bc550ab6ba98e7603ad7f2dc3ab0b763ba21e55d39ba6d8f393e0791ba37b3ee394bc2a5397781deb9109c6d3a818e10ba6e8d67bb436267bbd93c9c3bd5d0273bf93804bcb6ad95bbf3a3bf3b6866e23bc7db8bbc23a9f1bb7f55a83c9f8ebf3bce19fabc85d520bd3ce9283dc2dd3c3d031f913bb8e4a0ba51ab18bcfca9b13bf656e7baf960ebba94bd743b2b1b00b915f6f0b943880bba678e33b95dfa9b3a8b2d1d3cc99f91b95351a2bb81d693bb74ec9cbb5506be3c285324bcb80501bc4b30913d0467c1bc91af57bdb0d2d03b999e0e3e37cc3d3e923f52be160558be9d57febc39b82e3c8601413dc7d4b4bc2bdd143ca81348bbfa4730bcc54a8d3b5d4a7eba6279b438784c133ba2506bba1db8763b82bf3fbc14894f3c159716bc5f5839bd0511423d42f426bd08a9673dc606133ee1c171be7dc8573e9c4156be802a8c3fb2c6863fb2c6863f802a8c3fb605db3be047ea3b944608bcf484ccbba7e1873b1505453ba49f35bbd222aebbd2305f3bc01e903be653bbbbe8916bbb418799b88733043b89f91cba33f97bbb2c4e30bb81695dbb9a537f3b2b38503b96f163bac31a1cbab8f2e238ea1fc03a59d0c9399dd628ba5e2cdf39267d1039c465a9bcbc4c8fbcb254b13ce8ff913c3d0f82bc24a084bcf9128d3ce033883c78f6b5bcec3c80bc7c7ac13c06419f3c31b3e9bb5039cbbc81539b3c6607e63ce4f3343c2983633cf0de93bc952825bc0f99ef3adb6c133b801b59b8b00a8fbb73ca2aba17174d3a3952b8b8bf7d13bab464073d25fd863c3213e7bcb225aebcc62faf3c0d69493d59e516bd45bf0dbde6bacd3dae6d333c49b0a7bdc54e08bd6819b83d1ac2313ebc3228bead7043bef7ef4dbdde791ebda72aa23d0dd1903cad69f5bbc96f47bc09230fbb9e7bb83c395981bacba7dabbc69eb63b62547b3b71ba63bcf1b8a4bc9846e63ca023503aef2498bd226d8f3c91b429bc0bc7a93dd4b9aa3d4b8e90be6b94893e7d8122be5c518f3f82c4833f82c4833f5c518f3f5d997c3cfa478b3c9ba783bcdddda4bcb7e2e9bbe6a1acbb574d823b98c4ea3ba7dccabb6cfbc2bbaa51093cfe757c3ba21b31bbef1bb8bb51eb033b2230d03b23f440ba7acc58ba6bd4423ba85b833a7a7e153bca76173a985a68bbfa633d3ab061ac3aa2611b3bd20d53bae32444bb9b3f83bd06586dbd4c45823db5c1823d0346243bf9e465bccaf8193c9f59263c406b533c5ad8713c9cae97bc64be50bb6228a53c5b5b173c7fb102bc01d639bc9ab49a3c5c3ee03c5db9f9bcfc86cbbcbcc9cdbbd6419a3acde7043c4bb7c1bbd2fed7bbbe33f0bb6e33b23b11c6033c2b74db3d7d6b913dd89fc6bd0753a1bd315d753d65ace93d44d9bcbd3d38babdec4ab33db677653cedd76dbd9c6c6bbdb9652a3ccbb1013e8ecccebdd31a05be5c2ed8bdf0b8f8bd34da1d3e022cb03d278205bd3c1122bdad646b3cbe1f883d9f4d8a3ca8b8e6b9e0bfc8bb2201b6bba7f44cbd86b602bd80486e3dcdf1483c239b21bef8328dbd0cf89f3d8345253ef1bc533cadb4babe6999ad3e101190bdc6a3923f103d813f103d813fc6a3923f719895b904b774391d320bb99cd257393ea1f439b2bc1fb903701db904be4eb9499a4b3ae3c5abb92d3a10ba470b48b90d7013bac2e7d1ba8382ce3a4912ad39e1ec2eb8ea8b1c3a020af4b9900adab9a42435baf4af65b90f4422badec1c43a538e0f3acf96fbb8c1480938fdd108ba969297bad60d3fb9caa3023afe957d3a20fb8539e2b12cb8a67cfa39960593b92a93b7ba14cb76bbacad963b6448cf3aee6a163bdbe95a3bbdf4cf3a1ea6783bcbe171bb42f09ebae75c203b7d1a623b5f665f39bf0d193a62d399b9d8b365b98ee885ba3dba8bbac631a13ae95a893aa138513b2722153bffb93abb90d233bb049f2c3b5aec693b8fdba1bbbb6865bad27f073d5c5f05bcae9386bc43ccbcbbd21ba63de4b4a63de62403be2a8605bed96709bc5c70073daacfcbbb50f482bc6a716c3bf688f63a0a1b7bb9a90993bbcf6d083bb0c6383b2b3918bb192e2fbb452d10bb4308c53931e746baab42063b6bdac13bf87bb8baba75d53b54039f38e4f9a43d8c8204be1c1ca83de38205be509a8a3f814d8a3f814d8a3f509a8a3f6eb80bb976630c3a0c7a2cba60198839483e573a6bb366ba91cd643a19a070ba1686c2395a68f03a442b00bb39e258baec2771392af797b9e19466b99f96b0b9aa97463a43a50d3a6cc7fcb9ba8eadbaffc1e23951362d3a3e20baba35a19a39323a4c39c0357ab927754639e73422b9feb056bb6ee55ebb55f6773bbcc4553b1aedc6bae1fe08bbf5ba1d3bcafed63a3687dcbb82f7e1bbaffb023c5856ec3b02a44fbbc5f31abbcf390c3c6b4c083c0d47b5bb83f7abbb9e87b83bed93d33b2b8beabaf829f5ba178eab3ad558253bd2fc1cbb4afe2fbbc9cb503bcd59023b3cf50b3c9943df3b79a401bc8347f0bb17c1bc3b7e4c083c334d03bc0c1fb1bb2e59383d95fbb0bae146dcbc660063bcb67dad3d1d19b53d487d09be2a4509be560c63bb74f02a3df9b231bcb0b9c6bc9c1e923b204e8c3ba58915bb2a73aebbbeb3983bc575793ba0fb7dbb65d786bb662b7cbbe462fbbaa5b5043b4d4f1b3b0609e03ae99b27bba748db3b07f8983be2e5a83d5d2b0bbe6b49b23d1d1507be1b918a3fff388a3fff388a3f1b918a3fd6c3a8b833f1d5b8cab593b87b42a039e9055d3a2315c83a0cbe3fbaf513fcbaa75f223a2db65f3aa7b8d0ba65bee5b9a030243b571d933a23ccfdba682916bb8341b83ace41423af8a186baa03dbfba162448b9d304733a339a12ba36115db9b64a00398c1603b9ea90c738e003a4b8d299bfbbfdffb3bb569fb03bf20add3b72b2b7bb089ebabb622c0a3c49d9803b980002bc301e0abc74b2083c4b2b1c3c774bd7bb6f1185bb77a02e3c0682293cb842bfbbdb8e03bc8e5c023c9ad3d83bb06c9abb077f06baad405ab9fb74b43b3e0d89b94809b5bbe6ff5b3b4118223bc4c5863cddb5853c698787bcb74084bc66b6993c8390853cbf7795bc792887bc2400333dd0591b3c457306bd10178fbce8dba83db9e4a53ddad503be76d503be1594453a9294143d726ffbbb8567d0bc0426fa3ae23fba3b31d441bb9f5e51bb21f6763bfb4ac63b5c4035bb814db7bb9e5c11bc4e5838bc8de62a3c8a6bee3b7211a8bbabd5f5bb46fd3f3c2ffa243ca4bb9c3dd83a0ebe4fa3b73dd9e900be9bb98a3f10228a3f10228a3f9bb98a3f32730cba2fe8683907f5a0b9be390f3a235d823a181163ba7959093a968531bafd4e94b9db681639991366ba9ac0c139bbf4183a5a2a423aca5a60ba2f40dcba88802fba626b44ba7a25e1391845dd39990f36ba6d727e3a2541c7b955bd19396e7cd4b81fb04dba70980b3a1f56a339a11b10bbaf4ca3bae684d93a5b4d0b3ba5d9c2ba71edb039c1749c3a9ebdcc396938b1bb693fbdbb1b38163c5ec94e3bbcc212bc17b415bca08e803c28f7803c7c6a89bb91848fbb225b113bf3e7ec3b626a9239b4f038ba60110dba50d4a93a0cb9a5383c74eaba04e0063bf5cb1eb9c15fa43b9524703b732896bbd6c191bbeb2b40bbe7c20d3c6d8fcabbf8409c3a8ded403df04f80bc50b8ddbc8e97c8ba7772e43d7a05ef3d4c5a24bec7e225be787d81bc9aa5253ddd4e1b3bcf9bc1bc3f96c83b7f2792bb5cc0213be6055bbb5b72f03a5377693b984965bb07140abb934c38bb7bbb5abaca62363920dd6a3a3a5e21bcbe187a3cfec803bc3846903cf536f63d2ada31befa28033e137e2ebeb2538a3f2eae893f2eae893fb2538a3ff28a1dbacf54183a719daf395aeec7b9fbe11d3b74791f3994b8e9ba35246dbabb8d88baec1f88b94f3c093a489d9939c3d0f03a7a83083b29cb0cbb632040bb19adafbaec890ebb2cbfa13afa91063b412ccf398a6a0b3b82dc36ba8803eebac84f43385bea35ba9d8551b9d65d613a6c7a96bb5b499bbb03144e3b15e0dd3bff46cdbbae892ebb47d6f23b33d3063ba83abebb36dfcebb64a6013c2220b33bb14415bc42680dbcc9e15b3c69158d3c32c93eb951439ebbda5b7b3b84e9c53ae14a1fbbb8405bba93682ebb0581be3b9d1bc038d5877bba9de1463b391a12bbe803673cd0c7223c079434bc93005cbc1fb2903a3aca803c76a056bcae3053bb48de583d10e22cbc1c3505bd5f50e3bb160cd83d38bce93d2ed31ebefa5422be5ddf96bc6268233da5ba633b5219a9bc9215cb3b13f404bc897eee3bd5f789bb2d1987ba0b454c3af656feba050a303bbbd337bc6ec9cebbc330ea3b0a18f83b53154dbc228bcb3b200580baf685b23c9665e63db14835be8f8f073e139c28be1aa78a3f0669893f0669893f1aa78a3fd15aa5b8a9bb13393ce4f2b82f205d38141e823a225ae339c1e611ba48d08abae804d039f567913a1831adba9e8e2dba73177c3aeed36a395a590cba0b0f9eba9ece26baab2e9039334d94b84f2aa5397eaff239fc5aa2b7e38220b91e1481b947e082b944e4acb82eb052396810293963924bbc43bd44bcfa3a583cf630523c202d13bce18d01bc35fa1c3cecf8093c69790cbc5d39f8bb0429203c9b17023c9a3986bb5f3d9abb71691a3ca5b92d3ca42ca6b9ff4028bb7c769c368bf5423b8503173b7020eb3a639135bbb3f11cbbdd892b3b4f98f73af1392fbbd05733bbe65f0e3dbe62033d332e0fbd703908bd85c2923c644fda3c7e0fdabc20c293bca648623d7e6c283a93ad0dbdca8f96bca2d6bd3d301bcb3d814711be06bc13be9c9f99bc4d67123df611623bd5e97fbcf0379cbb333d63bc0329773c9ca4ca3b64026bbc19cd5fbc8fc6773c78527d3c9c9a0ebdbb8506bdb4c3073d047f013d8da9b3bcea828ebc2024ba3c0f90e93c9a46b63d199129befa74ef3d12dd0dbe1abf8a3feeaf893feeaf893f1abf8a3f1087f4b83d5a693af9b564ba59e41739daa5c23a21b39a39c7f0eab90939b4ba09d4b53a8a9b613a54f3e6ba5bbc5cbab63a273bffc9343bb34977bbfab981bb4b6c2eb979d9e1391ad04bb83bb7bcb9a0b81b394d0e5d3ace3529ba9bc6bab949808e3aa37bbbb723d608b8a91979ba9995c3bae5ac6bbb8c02533b82ce083b7fbcd0bb28f98c38188e1f3bc338863b546bbbbb81dea8bbb4c1313c25625e3a6f21b8bc35e0c0bc933af83c3bb8fd3c4bb51bbb9d8343bbb7951dbb5ca0023c8fae6d3a7bdf88bb6553343b7d922b3ae90c49bb6b134eba57f4c43a38811f3b8e71d13b029a1f3b8d5e69bb4c6dabbb775345bb699d643c43dce7bb93ee6dbb40d5383d7d52c2bc744b04bd7f045c3c2b460e3ea533193ee1c442bed19d42be1307cbbc8ee3013df23fbe3c933fdabc9b631a3cb6d77cbb69b351bb5c8e11bb5d01c73ac6f6593b0f0d2bbb876102bb2f510d3b2bd6dfbb79a6b13b858c94bbe30506bdbac11a3d557ef0bc6549283da9221e3e3de757bea7432d3ea4d851be24408a3f24f4883f24f4883f24408a3fde01863a86fb203b8c3f03bb3791dbbaa180d03af2e2d4b9c6828fb9b58f87babff1c93938c13c3aa148bcba38d4afb8e65a1b3a805a8b3a292e5dba7da81abbc12d1eb9dc8bf2b9eddff638c3fe093af56168ba4856c739563d363a2f68bbb8ab1fa43a49146d39ad1299ba0d359bb98b6b10bcd464f2bb775de23bc201263c5f1668bb7f6a9ebb354efa3b54c8d93a4e2a07bc3b645fbb3d1ff73b956baa3bdacf3bbc668c54bcc1de8d3c4b00a83c4e5b5a3b409641bb46f986ba2fcf6b38dfbc8fba46bb0a3b07d868bb53f5243b05e7b1ba59462ebbfbb98a3b7e5f97b9f9d3943cf917463c77a06fbc981f82bc7016463b9322af3cdd9767bc747d2fbcbaa9493d6c0b79bcf3a31bbd0731b53beb1aed3d7fda073e3c5f2bbee08530be60b0ecbc8a1eae3c86dff03c8e0b91bc2df8a83bd6f31ebc29c3b93a698a6e3b52c8aaba630a3c3aacbce2b98521023bc5c420bc6c4b66bc354d6a3c64e3af3b9cc91cbd06dcd23cf9e591bc0601403d7d7f0f3e342c5fbe161b363e8fef44bedce18a3fba80883fba80883fdce18a3f1a582c3a7d61143beda934babf4837bb3960473b2c67313a6e3e58bbd04307bada1538bbb62ccebaf23d3b3bb4ffa43a7a41133b7dfa0f3be09e21bb105e26bb3c390cbbb6b754bb02cb0c3b168e5b3b9c4330396d4b1d3bf319cc38820827bbfa6f78398dee92ba8f8d35ba5bbcd43af8ecaebc0bedb5bcb9689b3c8253e73c11f17fbcf95c47bc22d6b43c614c043cd8258a3befb06a3a21596ebb71dd85b96d8d15bc43a2dabb382d2c3cac16863cbe686d3ce0b2053c1c56e0bb23b18fbcbabd30b7af267d3b5ae351bc12f6f73b29499b3bdd9f823bbb62aa3abfed3ebc1bf3863d8f6a723d450a76bd5d848bbdbf26ff3cef1e353d182f47bd951aeebcdfad283d3cc308bc0e0ddfbca9b8a5bb005dcc3d1b7fe43df70f18be56021fbe64fb3fbd6fc62f3bed83213d7605243cd97d67bcaa3cd9bc7ba5f03cc2246a3cdc70e2bc7fb3ecbcbd66c53c9c80193de9409ebda9a17cbdde0e843dd41a8d3d7e3041bd9f69f7bca8c31c3d860c5e3d45e5ce3d0b1f56bec1da243e8e4316bee0038b3f29f2883f29f2883fe0038b3f4c0c0d3afb309b3a7b18b7ba85954fb9d1d5c83ae079ef3902aea7374fac13bb0d402c3b9965df3aa3b18cbba758a5b9ac9bc23b0e2fbc3be21eeebb642704bc69ba04babfd1123b20fbb5395a3809bb3381813a12eb563a574bbebad42106ba49a79439166b9d37685070398099b2b9a8643dbb854732bb77a2643b8f041d3b0526a3bb6d3157bbecb5513b70caa73ba5e447bc3ea229bbca56743c84e5743a961706bdea1912bd0e592d3df482323d1835b33a4c32eebb051688bbdc8e263ca10522bb8dce4abb67c1883bb4dcc03a1e8022ba81e689baab5e043a7079a23a484ec53ba95b3bbaacac5cbb9bce01bb78be85bb4e01953c23659bbb46ff17bcabc94f3d0c52d2bc442b2fbdb886a23cd21d1d3ec12a2d3e541153be33de54bea9a9ecbcad9cf23cc6b30d3dc8cc02bdfc3a493c079b86bb1c9617bce4864e3aa157a0ba998e1d3b37be0e3a8ad3baba951cdc3b2a8133bc2891233c149a25bccf2333bd0c494b3d86c82abd98a35c3d8faa283e10c168be8859413ee05b5ebeb1668a3f5289883f5289883fb1668a3ff280583b997c6e3bd8e881bb2b3f57bba440463bbc56133b446229bb756d52bbaf57e73ad461023b89574abb79f3acba56033b3b24823f3b75d95ebbd905abbb0e149dba1b9d0539eb6a4b3abd3afd39fc8d4f380484dab7b8db91b8920786b772ef6d3a7bcbcf3945260abab4a226ba1a9b3abceead1abc39983b3c14fa273c294916bc92c32dbc25072b3c62c92c3c849d5abcb251d0bb4ccb743c852de83b03f18ebcdc59bdbc57ffd83c2844f03c18ba973ba115273a61f3f2bba30fc23af87b10bb9cc052baa3980f3b0312813a4cf0b6ba865607bb2681e53aad55ca3a6f94973c01bf2d3c44ba87bc0c754bbcbb2a523c5bfb003d83cf9cbc92f7d7bc7bf45f3df78917bc9dac50bdd9b2be3bdef7fe3d567a193e661e37be51bf3ebe1fdc07bd6dbbf13b7e5e3c3deac682bc09a9b33bf854b4bba945f6bb2e2df33bfb68abbadaadc7b936aa233b2138ae3902dd82bb2d1a8dbcc98d983cb2c6e6ba46ba64bd8d20023db67dcbbcce7b853d4db60f3e5a4d74be8b26503e952547beec458b3f7cc6873f7cc6873fec458b3ffa4e413c344c393cf8c941bcb6ac60bc9995103ade87243bdde85bbb0ef742baa2da4ababbcfefba571b113bae3c11398f3f8eba89baa1ba93b7f939ab0e1e3acd3464bbbdcaceba3aef2a3beef45d3b6e910eba3e6e48bb6c3a293ba921bf3a7de8f438a945593a8e2c2aba56ada3392b5341bd5bc838bd4c574a3d0045493d111a6bbcdd3991bc885e953c5e4d9a3c04eb77bb9bf5e1ba0c57a23bb514673bec219eb9e56bcbbbc1f20d3cb7d6233c7403753cfdcf813c628ca8bc51d961bc84de2a3cc989323ce23525bc050764bcba56943bc5e5c63b3d9fd6bba97ae4bbb969d03de2a4b93d9e7bcfbd9ae9c1bda1ec5f3d7f029c3dc3c688bd57f590bdb598773d14d3cb3bffde5fbd8fdc7fbcf9bbbd3da067f73d73a615bed6f822bedb6b90bdbe8407bda1a9a33d7be8f63c5b1832bd895e57bd0862383d5639673d2a770dbde97a25bded0c233df9ce2c3dea9dc3bd2a45c4bd01f8d23d61a1a63df021f8bd27556dbd36d7803d9859063e0961ad3da1f589be44d86a3e543c08be16028c3f1996873f1996873f16028c3f diff --git a/shaders/ravu/gather/ravu-zoom-ar-r2.glsl b/shaders/ravu/gather/ravu-zoom-ar-r2.glsl new file mode 100644 index 0000000..05b376e --- /dev/null +++ b/shaders/ravu/gather/ravu-zoom-ar-r2.glsl @@ -0,0 +1,206 @@ +// +// 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 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 . + +//!DESC RAVU-Zoom-AR (luma, r2) +//!HOOK LUMA +//!BIND HOOKED +//!BIND ravu_zoom_lut2 +//!BIND ravu_zoom_lut2_ar +//!WIDTH OUTPUT.w +//!HEIGHT OUTPUT.h +//!OFFSET ALIGN +//!WHEN HOOKED.w OUTPUT.w < HOOKED.h OUTPUT.h < * +#define LUTPOS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x)) +vec4 hook() { +vec2 pos = HOOKED_pos * HOOKED_size; +vec2 subpix = fract(pos - 0.5); +pos -= subpix; +subpix = LUTPOS(subpix, vec2(9.0)); +vec2 subpix_inv = 1.0 - subpix; +subpix /= vec2(2.0, 288.0); +subpix_inv /= vec2(2.0, 288.0); +vec4 gather0 = HOOKED_mul * textureGatherOffset(HOOKED_raw, pos * HOOKED_pt, ivec2(-1, -1), 0); +vec4 gather2 = HOOKED_mul * textureGatherOffset(HOOKED_raw, pos * HOOKED_pt, ivec2(-1, 1), 0); +vec4 gather8 = HOOKED_mul * textureGatherOffset(HOOKED_raw, pos * HOOKED_pt, ivec2(1, -1), 0); +vec4 gather10 = HOOKED_mul * textureGatherOffset(HOOKED_raw, pos * HOOKED_pt, ivec2(1, 1), 0); +vec3 abd = vec3(0.0); +float gx, gy; +gx = (gather0.z-gather0.w); +gy = (gather0.x-gather0.w); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04792235409415088; +gx = (gather0.y-gather0.x); +gy = (gather2.w-gather0.w)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (gather2.z-gather2.w); +gy = (gather2.x-gather0.x)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (gather2.y-gather2.x); +gy = (gather2.x-gather2.w); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04792235409415088; +gx = (gather8.w-gather0.w)/2.0; +gy = (gather0.y-gather0.z); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (gather8.x-gather0.x)/2.0; +gy = (gather2.z-gather0.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.07901060453704994; +gx = (gather10.w-gather2.w)/2.0; +gy = (gather2.y-gather0.y)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.07901060453704994; +gx = (gather10.x-gather2.x)/2.0; +gy = (gather2.y-gather2.z); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (gather8.z-gather0.z)/2.0; +gy = (gather8.x-gather8.w); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (gather8.y-gather0.y)/2.0; +gy = (gather10.w-gather8.w)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.07901060453704994; +gx = (gather10.z-gather2.z)/2.0; +gy = (gather10.x-gather8.x)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.07901060453704994; +gx = (gather10.y-gather2.y)/2.0; +gy = (gather10.x-gather10.w); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (gather8.z-gather8.w); +gy = (gather8.y-gather8.z); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04792235409415088; +gx = (gather8.y-gather8.x); +gy = (gather10.z-gather8.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (gather10.z-gather10.w); +gy = (gather10.y-gather8.y)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (gather10.y-gather10.x); +gy = (gather10.y-gather10.z); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04792235409415088; +float a = abd.x, b = abd.y, d = abd.z; +float T = a + d, D = a * d - b * b; +float delta = sqrt(max(T * T / 4.0 - D, 0.0)); +float L1 = T / 2.0 + delta, L2 = T / 2.0 - delta; +float sqrtL1 = sqrt(L1), sqrtL2 = sqrt(L2); +float theta = mix(mod(atan(L1 - a, b) + 3.141592653589793, 3.141592653589793), 0.0, abs(b) < 1.192092896e-7); +float lambda = sqrtL1; +float mu = mix((sqrtL1 - sqrtL2) / (sqrtL1 + sqrtL2), 0.0, sqrtL1 + sqrtL2 < 1.192092896e-7); +float angle = floor(theta * 24.0 / 3.141592653589793); +float strength = mix(mix(0.0, 1.0, lambda >= 0.004), mix(2.0, 3.0, lambda >= 0.05), lambda >= 0.016); +float coherence = mix(mix(0.0, 1.0, mu >= 0.25), 2.0, mu >= 0.5); +float coord_y = ((angle * 4.0 + strength) * 3.0 + coherence) / 288.0; +float res = 0.0; +vec4 w; +vec4 cg, cg1; +float lo = 0.0, hi = 0.0; +float lo2 = 0.0, hi2 = 0.0; +w = texture(ravu_zoom_lut2, vec2(0.0, coord_y) + subpix); +res += gather0.w * w[0]; +res += gather0.x * w[1]; +res += gather2.w * w[2]; +res += gather2.x * w[3]; +w = texture(ravu_zoom_lut2, vec2(0.5, coord_y) + subpix); +res += gather0.z * w[0]; +res += gather0.y * w[1]; +res += gather2.z * w[2]; +res += gather2.y * w[3]; +w = texture(ravu_zoom_lut2, vec2(0.0, coord_y) + subpix_inv); +res += gather10.y * w[0]; +res += gather10.z * w[1]; +res += gather8.y * w[2]; +res += gather8.z * w[3]; +w = texture(ravu_zoom_lut2, vec2(0.5, coord_y) + subpix_inv); +res += gather10.x * w[0]; +res += gather10.w * w[1]; +res += gather8.x * w[2]; +res += gather8.w * w[3]; +w = texture(ravu_zoom_lut2_ar, vec2(0.0, coord_y) + subpix); +cg = vec4(0.1 + gather0.w, 1.1 - gather0.w, 0.1 + gather0.x, 1.1 - gather0.x); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[0] + cg[2] * w[1]; +lo += cg[1] * w[0] + cg[3] * w[1]; +cg *= cg1; +hi2 += cg[0] * w[0] + cg[2] * w[1]; +lo2 += cg[1] * w[0] + cg[3] * w[1]; +cg = vec4(0.1 + gather2.w, 1.1 - gather2.w, 0.1 + gather2.x, 1.1 - gather2.x); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[2] + cg[2] * w[3]; +lo += cg[1] * w[2] + cg[3] * w[3]; +cg *= cg1; +hi2 += cg[0] * w[2] + cg[2] * w[3]; +lo2 += cg[1] * w[2] + cg[3] * w[3]; +w = texture(ravu_zoom_lut2_ar, vec2(0.5, coord_y) + subpix); +cg = vec4(0.1 + gather0.z, 1.1 - gather0.z, 0.1 + gather0.y, 1.1 - gather0.y); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[0] + cg[2] * w[1]; +lo += cg[1] * w[0] + cg[3] * w[1]; +cg *= cg1; +hi2 += cg[0] * w[0] + cg[2] * w[1]; +lo2 += cg[1] * w[0] + cg[3] * w[1]; +cg = vec4(0.1 + gather2.z, 1.1 - gather2.z, 0.1 + gather2.y, 1.1 - gather2.y); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[2] + cg[2] * w[3]; +lo += cg[1] * w[2] + cg[3] * w[3]; +cg *= cg1; +hi2 += cg[0] * w[2] + cg[2] * w[3]; +lo2 += cg[1] * w[2] + cg[3] * w[3]; +w = texture(ravu_zoom_lut2_ar, vec2(0.0, coord_y) + subpix_inv); +cg = vec4(0.1 + gather10.y, 1.1 - gather10.y, 0.1 + gather10.z, 1.1 - gather10.z); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[0] + cg[2] * w[1]; +lo += cg[1] * w[0] + cg[3] * w[1]; +cg *= cg1; +hi2 += cg[0] * w[0] + cg[2] * w[1]; +lo2 += cg[1] * w[0] + cg[3] * w[1]; +cg = vec4(0.1 + gather8.y, 1.1 - gather8.y, 0.1 + gather8.z, 1.1 - gather8.z); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[2] + cg[2] * w[3]; +lo += cg[1] * w[2] + cg[3] * w[3]; +cg *= cg1; +hi2 += cg[0] * w[2] + cg[2] * w[3]; +lo2 += cg[1] * w[2] + cg[3] * w[3]; +w = texture(ravu_zoom_lut2_ar, vec2(0.5, coord_y) + subpix_inv); +cg = vec4(0.1 + gather10.x, 1.1 - gather10.x, 0.1 + gather10.w, 1.1 - gather10.w); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[0] + cg[2] * w[1]; +lo += cg[1] * w[0] + cg[3] * w[1]; +cg *= cg1; +hi2 += cg[0] * w[0] + cg[2] * w[1]; +lo2 += cg[1] * w[0] + cg[3] * w[1]; +cg = vec4(0.1 + gather8.x, 1.1 - gather8.x, 0.1 + gather8.w, 1.1 - gather8.w); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[2] + cg[2] * w[3]; +lo += cg[1] * w[2] + cg[3] * w[3]; +cg *= cg1; +hi2 += cg[0] * w[2] + cg[2] * w[3]; +lo2 += cg[1] * w[2] + cg[3] * w[3]; +hi = hi2 / hi - 0.1; +lo = 1.1 - lo2 / lo; +res = mix(res, clamp(res, lo, hi), 0.800000); +return vec4(res, 0.0, 0.0, 0.0); +} +//!TEXTURE ravu_zoom_lut2 +//!SIZE 18 2592 +//!FORMAT rgba16f +//!FILTER LINEAR +00000000000000000000000000000000f3f086bcbe9386bdabe7bebc9852343b8aa36dbc0bd882bd2059afbcddb52b3b37065abc4c6c79bd34fe9fbc4db3523ba6ca43bc04a945bd4f9c86bcd494e83a89bb3cbce4cf30bd24aa76bcbf718f3ac3da1bbcc62308bdb70c2ebc878f353b8ceba3bb96f39dbc7ec3f5bbe8ab55ba00000000000000000000000000000000000000000000803f000000000000000017e25abc70f18a3f6c8ed6bb6b2c92bbb82fd3ba07b7673fb387593ab28c02bb4ab0dc3ad2da3e3f911b283b43db08bbc5054337f497133f19f753b92be9d0ba111e34bb77a3d83eb3a9acbb56dc06bb62e9fbbbb33a883e8ee147bc21532ebb158896bc91cee83d98089bbcea3b4abb000000000000000000000000000000005b663ebc0864f2bc251895bccbdc06bbb7987bbc3aca84bd3563ebbcc07aa83a25b863bcb1ad8fbd41ede1bcfb07f63af33457bc6c998bbd6c87e8bcd00c063b522f29bc915759bdd120b9bc7fa0b13ab4e920bc2b9f4bbd17b09fbc80782f3bdd96d6bb217810bde3a967bc96b6923a6e1a6eba961d94bcc3f5d7bbf6ac753bd9dfcd3aceed31bbf339f6b9da37df39b2cd3dbdee69893f43f7fc3df056b8bc10bb3cbd6883813f53dbf33dacdcb8bc33d5cdbce9675a3f4be7dd3d7dc25fbcfbc391bcd8ff333f5560bb3d277549bc09855dbc6064093f66ec8e3dd6811cbcc0de95bc7e7fcc3e4ce2433dd36a31bc29aca5bcf04c803ef531b53c122f1dbcce3be3bce149d93d610744bb0be128bcfc35b8bc1e6187bc54be9fbcd148f7bb267e23bcc08d91bc565466bc071e8fbb6aa948bc99ab37bd2614e7bc3afd09bb866c16bcc5e958bd41b6f7bc57566bb8753a09bc4ec266bd0d3101bd445aab3a2cd9d7bb70352cbd6aaab8bc1009b93a07bacdbbc93a2cbddbb8bdbc52e1a63abaa76dbbc4c5e3bcbdb579bcd0db9b3aa26a373a025664bcceb301bc7b83c83a62f7073bd6c5ccb9e30c92b9b5f3923ac39b61bd814b683f75818d3e39d10fbdd4f976bd4be15d3f3e3f863e0c0917bdcd451dbd1fd53a3f1ea86b3e6a7bdebce2fa03bdcb781d3fe5b8453e5c4bb9bc0d51bdbcc45ded3ec0aa163e7bad8abcc856d8bc8eabb33e3e34da3d377a97bcf06ccbbc9d9a613effc87f3de31184bce2bde3bcf3d5cb3d52f29e3cb3f181bced5facbc34cbdabb533658bced373ebc46ab0cbc3dea51bc68f030bc3e8499bb9fec0cbc7d4214bd0c37e0bc917088bb7fe1e0bb252a3cbdff7f0dbdbb14acba313cb6bbedcf42bded4f0fbd8f28f938f14bf1ba7a4c1fbd408702bd24998bbad2341bbb36450cbd82acdcbc71e9c83a40e7dbb9e914d5bc53f693bc238ea03ac329993aada742bc142015bccea4b63a2721103b867ed5b9206f07ba45cfa23a398f5dbdd6863f3f77aadc3e977733bd885b77bd397e363fec59d23effdb47bde08b36bdc0141d3fed89b63eae0a11bd598816bd36f5023f6974983e038dfebcea6cf1bc8e06ca3edc226c3e108ac2bc58adf4bceac5953e98062e3ecbdcbfbca801e3bc35383e3eb98bd53dac99afbc7674ddbc83c0ac3dd1952f3df13ba5bc9cd09fbc05317ebb96000abc45b56dbc1913febb191733bc7ff631bcc683cfbb35e1f7bbc5a7f3bc585fedbc2f05aabb70fa9abb5c6d13bdccc70ebd959219bb41c69abb768925bd2fe120bdf8e4c1ba106412bb747cdcbc8564d4bc4a6286ba9281e7ba8b23f8bcba03f0bc3a1592b9a8855cba9d7ca0bc68be9cbccf536939bbdd0e3b5f5f21bc764d16bc3b676e3a65ee283b7be6d0b9cfbddd3a248fb93a224b46bd2359163fb14f163f4da547bd4fba5ebdeaa70e3f2b950e3f03ef5dbd39591dbd36bcf33e8360f33ed98e1abd982b0ebdc7e4ce3e264dce3e39850dbd3351b4bc2ea1993e513b993ef3f8adbc76c1e2bc7e186e3ecabe6c3ebb0ad7bcb8a0bfbce3f6133ebd03133ea058b9bc3289c8bc3056843d5213833db5b6b7bce27991bc595ab3bbff47b7bb909292bca05ae5bb986947bcec7f49bcd419e7bbace7b8bbc14eecbccfd310bd9e61d8bb642e41bb817512bdff8937bd9eb86dbbfb8b04bbb2fb19bd170a42bd27e280bb9c033ebb94d2f7bcf9f716bd77b9abba8002b2b85077e1bcf6150cbd70cbd3badb2f7f39d82a9dbc43fdc0bcbfc8ccb91d40d53a15ae1ebc6cef39bcda1e973aa8d2c33ab35f9cbae64824bae4f05c3b79f531bd5f01dd3ed0653f3fe03b5bbda40f48bdaaa3d23e525d363f9eff75bd304418bdd53eb73e73fb1c3ffef735bdb46604bd508d993e95ea023f0c2d10bd2f62c7bcfd196d3e6c6bca3e71fef1bcb808c9bce2802e3e9ea9953e7243e7bc8a9cb8bc82d3d73d5e4f3d3eee8dd7bcc54cafbc9b43323db4cbaa3d6d7dd0bcef3c7ebca6bb0bbc60d19cbbf60398bcf700abbb1cd36cbc5d7092bcdc65fdbb748f64bb273ceebc71c239bda72d0dbc915dd2bad69702bdb4e852bd3fb3bcbb1ad6f0b977f909bd0eb663bde65cbdbbec4adcb9b08ed0bcc7d828bdf9f491bbe5c387ba4f73c2bce1df28bd329231bb873d893a10a087bce90fdbbcce5507bbf848443bd69415bc938b67bc40e9c43a5ac0c33afb859eb977b6f33894ddff3a9d990fbdd9bc8d3ea6b9683fac8563bdaaee1bbd31ce863e8a755d3fdc5f73bd3c02dbbc3a246b3e43d73a3f2be31cbdaf45c1bc3d83463e5a8d1d3f375605bd92248ebc7aee163e81feec3ed7afb6bc8d1fadbcddd8db3d6893b33eae76dabc6d6f85bcbeaa813d4fb2603ecc69c5bc8a9a8abc2a2aa33c71c4c93de120debce31d45bc9d784abc9c42dbbb7643a0bc7a860abb19d2a7bc110ff6bc182d1cbc6e70533a6b30fdbc608883bd7de949bc4e55763a31a9fabcfd898dbd11d728bc3bed923afd7ef9bc05d289bd7c5a44bc2361683a720fc3bca80757bd7a85fdbbf455c43ac063b2bc5b9546bd5524f7bbe960a03a999a7cbcafa40ebda302a1bb0e1f213bb189e9bb7e5a94bc4bbe4bbada58f7390dcd84baa8db03bb87471c3acc2cc4bcbb0c003e1999893ff6373fbd1962b0bcacdff53d1382813fcf0640bd21d276bc42ede03d1ad4593f98bdc9bc9f3250bcbde1bf3d78dc333f6e7488bc758224bc7bb8903d0662093fbe4153bcade124bc1605433d2a24cc3e2ad889bc4fcd27bc54e7b63c33567f3ee980a7bcbde81cbc8e7f3abb5fe6da3dabded0bcfc9df2bbf488a3bc47d585bcce0fadbc000000000000000000000000000000004d6fe439f357cebc760385bd5f1958bcfc48263bba54c6bcee7785bd26f758bcf609ba3ae76ab3bc596b75bd5dc526bceea18c3aaf1394bc1f1445bd543a22bc911e463a325587bc313e34bd678c13bcf8614f3ae32c3ebc29cf04bd532ae9bb77fd5d3a1e57d7bb0b9f9fbc2150acbb0000000000000000000000000000000000000000000000000000803f000000001d5795bb2310dbbb650e8b3f7bf953bc07f9cab93b2fef3a2753683f0662e7ba7801d8ba21de063b806e3e3f10f1fd3af8e6ebbacdee2a390ea4133fcfe24938a2272abb6410a7bbc86fd83eeae75fbbee1c2abb6b3326bc8fdd883ec0a119bc90904fbbb082a6bcf81be93d357695bc0000000000000000000000000000000000000000000000000000000000000000cf9402bdfdd6fdbc33b69cbc32cddebbbf12eabc972a12bd02308fbc0673d8bb937dd8bc08ce0dbd772898bc906cf9bbd4dba5bc3d4efdbcf2258abccdd602bcb510bbbce9f8dfbcd9ee73bc6926d1bbf5ec8dbc5ee4b2bcbdce28bc2c7babbb6b025abccd0a71bc6f8c07bc87c763bb00000000000000000000000000000000000000000000803f00000000000000006115913cc3157a3f3cd55f3cc37e903bc5179a3c8f3b543f1f5f7d3cb98c063c0a258e3c5f25303f5846793c5030143cb7b0523c85290b3f65c1423cd366f93b9241f83bb4ecd03e11991c3c2570ad3be3916d3a46af883ee918233b26c9253b0071f9bb5216043eee1393bb06479dba0000000000000000000000000000000001ecc2bc1d4974bc6fe938bccf4c0fbcd8f909bd417702bd1c33a3bc30083abcca0406bd654e18bd0dc6b1bc1bdf38bc381e03bd44081fbd22c2b7bc561a38bcd0f2c9bc6024f8bc378690bcb98e14bc2980cdbc8bf5f8bcca0191bc097e11bce6639ebc0421b9bc5fc255bcd893dcbbd1f865bc4e6b55bc06e5e9bb651485bbcd44d0bb8c1701bb00f1b7ba36d30bbbebff913802f8773ff9650c3eaf0eb3bb8b7bfd3b5958623f7797063e12c793ba8d24523c21d9403fd8d7f13d568c823bedd25a3ce3b7203f8dd1d03d900bc23b2889123ca8f5f93e8d8ea23d9fd7963b4d38913bc459be3eae71763d66cd2a3b36295ebb3142793e7e51153d57df56ba387f52bc03ebf23db7e2493c73bbb2bb59d46ebc96ac8fbadf3af8bb681301bce688a0bc1a4708bcabd2b7bb374d26bc1ad8f3bc5c79bdbc1ca185bc313762bcac3be3bcc7eee5bcc9fb99bc4a3f57bc78dfe7bcb41d03bdab25b5bc691c60bcc9a0b0bccd10c6bcbc4787bcabd525bca077b8bc20f5cfbc0ed998bc090046bc722787bccf0f8dbccffd39bc264efebbe09c44bc1f3612bc4201c2bba311c4bbe3cdb5bb9d02ad3a31f8f6394b4217bb44c000bc65e9523f41248a3efe7f2ebc4c143dbb6a57423f6710823e7cce04bc0d3f533bd235253f179b603e4051deb952049d3be5730b3fa80b413eb6ff793a8eda153b191bd83e7320163e2044d13a6d5403bb3f72a53e0c52e63d32f87dba5397dcbbef55583ee451933dd8856fbb74d26abc200bd73d52dc043d72af0dbc6ee56abc733aba39da269ebbb49908bc56ba95bcc508dcbbfc7faebbef7040bc15b4d7bcc5019abc510b6fbcbdbe85bca59ed4bcb2fbd3bc8c8ca9bc484086bc2724d2bce243e8bc2f4cb5bc59b984bc14b7aabca6eabfbc10ce95bcb71a55bcc6cfa2bc9dd2b2bc5ed48cbcc6114ebc81a67fbc2e6d80bc82ee49bc8a0b23bc893431bcc3ccf6bb7673c9bbec38bcbbd75b86bb22f5a93af052693ac25853bb50f73cbc312d2f3f156bd03ebb3f48bc95240cbc4d2e213fbf2dc13ea4631abc3c1df1ba9a130b3f2081a83ee2bc4abb406513bad992e93eaf8d8d3e328da93ab43bbeb90e2ab73e72b65f3e920c0339ce6390bb1ed98a3e9b5b2a3eccdf14bb0d630bbcbf12373eab47df3d9805afbb93f86bbc7c8db43d0b06573d3b642bbc1d8653bcdf92e33ab37232b962fd1fbc0a1463bc9495cabba70d81bbcb5830bc1760b3bc4a4785bc8aa362bcb52f9ebc53d6afbc876cb2bc47599ebc59aa8bbcc698b6bcf895cdbc7103babccd0795bc3dd16abc9dec95bcd59b88bc3ade5abca8fc8fbcc09ea4bc7f2396bccb026dbc7e594ebc428c55bc0b1648bc495030bc511ad4bbc3ebb4bbcbdcd2bb2f5d13bc379598bb2463a53930bc533a9f219ebbd04d4dbc46a90b3f93a20b3f9e2f4abc5cdf3abce829ff3ee3a9003f697e0cbc47854bbb8317dc3ee9a4dc3e42d6c6ba5aa610bbd1a2ba3ec270bb3e7606e43924291dbbaf318f3ef963903e98735d3bad98afbb46915e3e1b07613e4a20f4ba06ec01bc3107113e20ca123ea1f8a3bb82536abc6793903dc9c3903dc97217bc25724cbc243947badacc573af0bb2dbc4bc865bc646af7bb99b29fbbb48d6abc12a0a2bc1c0a8cbc62198cbc0cb1b1bcf730aabcbd6ebebcb78dc0bcd9e3abbc2b05a6bc4614ccbced60cfbc60c0a7bce66d91bc337ab3bc2ce3abbc8f6786bc4d7473bcf5dd95bc2f16aebc781c8cbc483549bcbfa363bc456464bce1b450bc431afdbbc591d3bb4453d2bb22ac1bbcc30326bb89b4833a98109a3a8f178ebb3b5e51bc6744d03e75202f3f555735bce3b33cbc4487c13e0db0213fbdd200bcbf1f8bbb33b0a73ee0560b3fa9fb0b3a376f2fbb32368d3e1783e93e0eab193b15f611bbb63a5e3ec2f7b73e00bd253b3a1798bb9fa9283ee4358b3ef5cfc4badc7a05bcad40db3d65c8383e2af5a4bbb6af4bbc383a4e3d7076b83daf7330bc3a4c37bc49a7eebab8984b3b212333bc9a9140bc43f91bbcfb19d7bbaaa186bc3dfe8dbc85b49cbcbd37a4bcec75c8bc957590bc964ab9bc545cdbbcb935acbc072990bc9cedcbbc327dfabc3419c0bcf50d59bc895c99bcb227bbbcf6fa8fbc946d67bc48849ebc8b3ec8bc49b591bceb6c09bc9fb357bc46f388bc49d776bc6c7bc5bb3c54cdbb1a1f0dbc325d37bcce5919bb6f1cbf396a3cb738c4b676bba29028bcde968a3e824d533fac7408bc47c90dbc55f9803eaa2a423f44ff1bbbee613dbba3c25f3eb773253f1b6ac93b87f5e5b50c69403e92de0b3f5ead073ca5cf6bba0620143eda9ad83e4bb0af3b8d597dbb4498e03d55e0a53e8713453b1654bebb088a903d4972583e0c3627bb06b23abc244df33c0facd83d3f0937bcc7ec33bc7f48b5bbff38fe3a8d8f38bc8b602dbcab8066bccc695abc958f98bc7a2476bc81dfc0bcbb0ff6bc609ae0bc0bd775bcd25acfbc19f210bda7dfd8bc2b217bbc9effd6bc050c19bd8a56d6bc647b45bcf274a5bc3dc4eebc99a1a7bc1a363fbc457ca3bcdaffefbc337faebc948606bc304f66bc792eafbca89289bc381086bbf128f4bb76f14bbc61a754bc0407daba718689ba77aeebba9280dfbb20a3cebb82dc0b3e97d9773ff89b953acde8f4ba8cd2053e3e3c623fbeae143cf65f243bfcb4ee3d8e06413f341c783c802f483bc7c4cb3d4513213f50a0863c2ef3153b9dee9d3d1567fb3e3ed6433cc475d43782946b3d33a6be3e3ba0fe3bf14767bb25020a3dba647a3e1926f439a4c305bc9f79153cb68df43d40cd0fbcd64213bcef1119bc16634cb9a9b540bc00000000000000000000000000000000d4b23abc37ecb2bce7bcfebc00e1c4bcdfa23abc6732b1bc64a608bd974bb9bcfd2237bca705afbc239d08bd706eb3bc85fa39bc4f0391bcd661e3bc994895bc31b006bca46d87bc830dd9bc24af92bc097ce7bbdff856bc3e4eabbc7f4076bce23b59bbb3d41dbc31c25ebcfbc03dbc0000000000000000000000000000000000000000000000000000803f00000000244c9d3bc523503ca5c5793f11149e3c6b41e53b3941683c6136543f4485a93c3d19fc3be3b9563c6b38303f7d3ea03ced17b83b4cd7213c11420b3fe013803c8887603b3293bd3b7053d03e14ab2d3c78c35b3aed1aa639b30f893e63d9853bf46498bb3c20dabbd08a043e44917ebb000000000000000000000000000000000000000000000000000000000000000059862cbc846585bbfd17fcbba5b8cebba59024bc5438dfbb6b5bfebbf940bfbbe58f2abc6b68e9bbe70a0cbcfbd8ddbbc57df5bb1f129fbb1cdfcbbb433aa8bbf8e00abcb896c7bbcd1a00bcfd32d1bbaafeecbbb0b292bb69d6d0bb0635a5bb39f8d3bbc9951ebb95a4a0bba00780bb00000000000000000000000000000000000000000000803f00000000000000003f04273caf83653f61d70f3c8da5ed3b0c39063c7a32453fc1230f3c358afd3b3500ea3b452f243f0fb9063c8a3eeb3bdbf4b63bd2a9023f3bc4a43bfb16813b441cd63a34afc53ec0b2c13bbb35a63b01e4063ab702833e08acd43a629dc33a188397bb4337013e49c020bb85202cba00000000000000000000000000000000a7b021bced3a11bbed5ba1bb9559d0bbd99445bc4aa7b8bb18ca02bc81d009bc24412ebcdb12ecbb563d2fbca56c2fbc77dd34bcb9cac2bbe77902bc607f01bc835a00bc3a25c0bb0a2d00bc37de04bc0bb422bc8a1ab6bbdad400bcdabd00bcad6e00bc983878bb50b2bbbb69c3b8bbac90d7bb7c5bc43a7c2a9bbb64d59fbb17ba43bb1fafb83ac46cc0ba107229bbe2f2cb3bf922653fb788083e1e18823b26ac173c21b84a3fa7b0f93d77b1023c4921033c88122e3f8f53da3dd1f5e93bf713d13b51f7103fc77cb43d5b31bd3bc7097d3b725fe63ebae48c3dcac4a63b685cd73a9e92ae3ec20e5b3d7fd2113ba2e120ba8b6e673e6c4b093dcec730b90b4df0ba58fded3dabbe553c7f999abb6e68e7bbbad5acba798e31bb572d25bbf7a016bcf56980bbe95cb9bb0c38d6bb461e55bc23a881bbe24dbcbba3a711bcd44a3abccd04afbba6c2eebbf05a11bcfe0b5bbc3df701bce29e0cbc75af43bccce11abc6f79aebb931bdabb613a08bce5712bbc3063acbb8419e4bbc9c909bc5a5909bc9b061cbbfccc60bbe3f4f2bbf26edbbb253040ba5e6d3abbc7ffb0bbc8a354bb1ff9bd3a58b14bbacad140bbf9a2a13bdd98443f6a04853e3c8fa13bd217dc3b188c2e3f3ec36f3e0815e13b675dc43bc31f153fdda14c3eee1fb43b60f4de3b5c0ffa3e9e6f2e3ee3dee03bd1278d3bf89fc63e10cb083e9f1ac03b5a6fd23a0343963e196fcf3daca2fa3a48a751bb0ef5463e0c038b3d1eebd2390a62a9bb7cdec73d11a0023db3b286bb3428babbd96daf39285e8db9b7d79ebb895d19bcc38bffba61fa20bb608ad0bbbaf836bc400594bb1a89a5bb3fff14bc988c3ebc8c3dd8bb845ec7bb858f38bc77b628bcdd47debbf497e5bb352002bc60702dbc1e1cdfbb00bad4bb11900dbc763c36bc3859d4bb174da6bbb664febb18850ebc7ce7a9bb513c2bbba844d6bb834de1bb6e26ceb98826c8ba0b6794bb9d3146bbd907ed3a85465d3a38b88ebb8a36623bab03243f58ecc53e7d50313b214dac3bd344113fc918b03e7137a63b7c07d73ba988fa3e4c97983e1973e63bef01913bf7b1d03ebe217e3e58c9a33b05ca6d3b1a82a63ecc65493ebe15853bb22cd83a0cbf7b3e3aba193e022b1a3ba104f3ba2967273e229bcb3d79ad41ba09e0bfbb9ed4a53d3de2463d73eea2bbd7c2aabb9d4a883a3cbe0737dd8dcdbb3247dfbb3c1dfcbaafd79fba7539bdbbb80d22bcd462bdbbf761a0bb75b801bcaf2115bccdaed2bbeb10b5bb5a4213bc3d3448bcd392b5bb7793debb881b2cbcc3bde7bb8ccc85bbe87068bb1f85c1bb931b1bbc7c0e9ebb4105c6bbde2af5bbf5b3ddbbdcab2ebbdeae8ebb715fc5bb26aec9bb18f194ba82a892ba52cac5bbb3221dbbae9cb63ae5a8ca3abb4624bb5b30f03ae11c033fa82a033fa4bf0e3be157933b2918e93e7657e93e9dc5a93b7031963b7504c83ec050c83ed1e4bc3b8d1c8d3b2fd6a73e34f7a73e7775e33b6bfabd3a1131843e556c843e2b27193bcef9d9b8fc51493ebe3c4a3e939fe83a511611bb2754053e7add053eb58192ba43bda9bb8bff843d5aca853d437539bb29d9a7bba8b8b1b943601eb974baabbb4b9e11bc807f50bbc79087ba7d77dabbfbec27bcb055b2bb4d865fbb5c4318bce2fb39bcc13ff1bb0a3ba9bb58191ebc952135bc11aff3bb83f2b0bbb1881dbc84541cbcdac18fbb68ef29bbfde306bc3da613bcac54b5bbd6a778bb2f2320bc6aaef8bba8657bbbc66f91bb4ac30dbc1333bdbbe95ccdbaaa0f9fb7e10da8bbc0d712bb4a0fa73ab68814b908492bbbb65edd3a7822c63ecf4b243f0144933b3ae0643b23a7af3e95c7113f1663e53beccba03b0396973e711dfa3e6498de3b741e4b3b56b07c3e698ed03e86dfdd3b7efef6394d114a3e25d9a63eae99843b5940dab7b5b8173e141e7b3e989acd3aebfa4dba6394c83d930a273ebbd394bac0f5a9bb7e19453d19aba73d1ccc89bbeceab0bb2e051fba7238983aa4229bbb42dc02bc5ebaadbbed8813bb0761eebbe9ad12bcf53ef4bb731b7bbb11bb1ebc17ab31bc2931fbbb5e94c6bbde402bbc6c0134bc9b7b28bc5a10b5bb714b1dbc25c825bcf2ef09bc1793bebb04d910bcc15e06bcdc3218bcc6b6cabb4cdd09bc8679f4bb0f19a9bb153c1ebbadcfcdbbc556ccbbd66370bb84821abb4be1fbbba16abebafec0d4b9b7e4f73a2a7727bb8571843b8239853e8ecf443f5836bc3bd0cea43b85dc6d3e9c3d2e3f6e91f53bdc96c63b52e34b3e77a9153f2e7bf53bba79933b9e672c3e6556fa3e590af33bc222a33b0511083e69d4c63e1818a63b5f07d13a2a25d03dd273963eebcd913bdf818b39ec6e863d69bd473ea84524bab0cfc1bb7ea6f53c9ed0cd3dec1328bb295db2bb5325d9bae590b53a6f5785bbc6ebfbbb7dfad3bbbe8d1abbb921e7bb74c24dbc935c1dbc1577a4bb179f2ebccdc131bc2678f2bb57c0c0bb868938bce2b823bcbf1d32bce7b6f0bbd80f30bcfc44d5bb8e3eaebb0019ccbb2d7de7bbaf5e18bc1c010fbc9ae0a5bbad86edbbfe7102bc67cbd0bbe38b43bb0aefe2bb35b184bb72c27fbbef9365b91ba2acbb56f253bb505ed1ba99a8ba3a0a373abb08498d3b916d093eacb7653f31c9e33ba5dba03bae14fa3d2ef44a3f1356243c487ccb3bf52bd63d1ed82d3f31e61f3c72bdbb3b7493b53de964113f23091c3c8fa0f63a0f708b3d8f85e63eb12ce13b3790a63a0ac6533daf4aae3ef15e533bd46f84ba9a8e0d3df476693e4ef58039c15ea5bbab87573cf678e63dd15187bb508395bb8ea01cbb63e6dc3a87cf73bb00000000000000000000000000000000f80104bc59920ebc691b6dbb437eefbbb87211bc1aa300bc2305e3bb19f613bcee7d02bcfe2011bcae14c9bb4c0afcbb48accebb34d6e1bbf9a095bbd5b1cabb5d19cebb62a3f8bb6538a9bbe7aef1bb435bb0bb5e44d8bb16d67dbb3ed8d2bb544b69bb03ab94bb88c9d4ba17a5a5bb0000000000000000000000000000000000000000000000000000803f000000002c941e3cc954043c1fa4653fe412473c9d3cf33bf232143cfc12453f093c243ca733b43b609bee3b6933243f88e9d53bc474923babf4873b1ce4023f1059383b7f88383b66306c3b040bc53ee3a1863b1c05203abd435e3a7ccb823e9147643a27d626bb962e2dbb82ec013ea0028dba000000000000000000000000000000000000000000000000000000000000000009788c3b373e19be755214bc53801c3c3fb304bc86da0cbe4ec17ebc1f73083cf3ee87bc9fd7f4bd5dedc0bc5839bf3b3c1b95bc984ec2bdc0f4bebc4f1fa13bc67e4fbc308a92bdca7996bcaf31903b4f2b8dbb75ba33bd7acd43bca58f9d3b53122c3b46708bbc312f6ebb0414343b00000000000000000000000000000000000000000000803f0000000000000000e30aa2bd0d94a33fde849bbd9b74183b51462dbdb84d873f414d15bd4a3811baca028dbc62295a3f23ea2cbcaaced0ba96f200bc0f06243f8806a2b962e314bb3bc2e3bbb92edf3eecdc9a3a1867e4ba3d7cd8bbd12e733ea41ba5ba711259b918ef04bc79ad493ded3905bc34ca0e3b00000000000000000000000000000000ebbc653cfc64bdbd6e58ca399970643b9053c53ccaf915be23dfc9bbd712353c1788e33b9ebe1cbee755b9bce772373c39c354bb22e208beb4dfe7bc9f00f63bd87feebb88f0d6bdcb94eebc2790cc3be87727bb02349dbd5f4dc0bce5fac43bd2e47c3b7bd045bd405d79bca8e7ca3b3cd0233c221892bcea31debb51fc8d3bb23b273c7bcccc3b176b023b75c3ff3a0c2917be87bda23f91c14e3dd987bbbc3c2123be528a9b3f4b69223d7e7bb1bc1c0fd6bdf92e863f9cb0843dc92eafbcdf188dbdc993573ff5ed973d697ea2bc482536bd93dc1f3f63f38f3d87577fbc9fa50ebd8b51d73ebc0c5d3d8c595bbce90ec7bcdcd4623e65070d3d961f14bc81c5d2bb95832e3d6d8c893ce616c53a47f62dbc7d669ebd4c7a26bc80239cb87cd9053c82526fbd21a115bb2eea72baca345f3c01fdefbd3dc3bfbcf325da3bae578e3b442cf6bdc84e18bd5e478e3be12efd380109ebbdc1fa29bdf8fd9d3bae937abb9daab4bd1a1b18bdb7be0b3bfe79fe3ada768cbd9cb103bda5cc893baa93a53b8e3e2cbdb184a7bcf90c953b1bdf3d3c62ac8fbc583a27bcc857b13bd1ff2f3c19908b3b983faf3a81a38a3bc65c12be11a3873f23da793e70f650bdde4a22be2999873fd1cd6e3e90e863bd73e6dabd7d05653fa0f7663ee0c82bbdf358b1bddae83e3f2b6f4b3e533d1bbd1bad69bd44800c3f6ffc263e40c8e9bc17f14fbd4955c23e4d15f93d6b2fd1bcfe9413bd1084573e2ebb983d4f969ebcd763aabcdfc15e3d1569003dd2fb3abc60326fbce4f942bdb237d8bb35b1f7bbe7fba1b6bbf129bdb15c41bc64181bbbff76fe3bb2d0b5bdd9df2abd48b7273bcd9f8b3b4bf1cfbdf10a62bd4ed3173b252ebe3a1c1ac1bdfa196fbd67b5193bc4bc90bae506a1bd672650bd08c3aebafe0d1b3b114d6fbd212b24bd023a5a3b1214f63bd2dd1cbd18fdddbcd3ebdc3b8338343c6cf981bcd45a32bcdb19c83bbe3a153cd73af53a24bb873a6d39bb3bcf2df7bd18ce5c3fdb97e53ece4e9ebd8b240dbeb75b5b3f7366e13ea1b8abbd4630debdf2d9403f1a53cc3e0b4c8bbd1522a8bd33661c3f56c8ad3e0cc05abd6c0d81bd1518ef3e23278a3e266e2cbd925049bd537fa33e218a453e1e2515bd184a24bdb44a373e5f25ed3db1b6ecbc970fe0bc9079633d9b6f3c3d91e3a5bcd979a6bcd3c4efbc94bb25bcca2180bc29b82cbb5b75e0bcd244b6bc438819bb8208653b0ccd81bd550d70bdcf59adba7e8bf53af2d098bd194692bd75e11ebb4506c13a851d9bbd3e5495bd758d6abbdf4678bb41f75fbd169856bd4d62e6bb79aa463bc6754cbd4bec49bd4f9c01bb27efa33bede7f1bcb821eabc3efda33acfb40c3c71ee53bc7c4a5fbc4ad4e43bb6a5003c12dce13a2814173b6d89bc3bed55c9bdce98273f7bc1273fee77cabd30ebdfbdb6dd243f3cfe253f11d6dabdd2f1aabdd912103f823e113f3628a1bd74b390bd9465f23e37cff53edfbd86bdc94528bd600eb03ee828b43e199e16bd7a0242bd280b833e37f9873e19952dbd6bee0fbd4d51143e9a6e1d3e043f07bd72ecd5bc06ef473dab18693dcefcccbcb3aca5bc0cb5a9bc14386cbc9c71a7bc86eb01bb09e384bc6bf513bdd4250cbb66bbc03bb98b36bd0b0cabbd4015033b1ca4fe3bcc9d6fbd26a9c8bdc121c1ba03adbc3bf86e6fbdbd90bdbd5b4970bba450443bdbc758bd7c1c9cbdc18bbdbbafafd03ba2e721bdf9a26bbdb227ebb95818f53b2b61dfbce9e314bd15e7793b964d043cb4543dbc66db72bc05cf083cbd31e23b98cea63a98f4f63af521013c38689cbd0151e53e25c15c3fbd63f5bd5a50b0bd2382df3ef4a35c3ffeb70bbea02591bd44c5c83e9d14423fadccd4bd79ba67bd21e8a83ee6781e3fec869ebd01a63cbdea1f853ea09df23e62ad64bdffdb1fbd06133a3eda1da83e24533cbd90f4f7bc234cd93dffb13f3eb59715bdc406a3bc95d3163d99c9863d75c0e6bccf1177bc04447bbcb5c9bebc6644b1bcbbe1bb3a1d15b4bbcf395ebd2a68943bcaa4223cacfcdbbc0ee2e5bdfd2cfc3ba63a053cf08d1bbdb1cdefbdd7811ebbc324053c1cab2abdfefee5bd0a87babb3ab5ab3b72231abd2742afbd35580fbcba18d93b38fefdbc90c689bdbb3a60bbb8cce83bb69daebcfa9f24bd83b4b53a4fcadc3bdd6820bc17a68bbc1a390b3c85cb9c3b832b613a4c9b643b77d1243cf3e954bdced57a3e7598873f523512be894664bd17e66a3ee9a5873f58821ebef8ff33bd72a85e3e5f39663f9942cdbdfa6622bd588a423ea556403f20baa4bdf10efebc6ae81c3edef90d3fa3694abd610fd9bc4c38e33d0c55c53e90a231bd22e9a2bc59f2853d87325e3e83c203bdf44621bc2f6ebf3cdfc2753d7370a4bc9252c0bb80e732bc5b7d2cbd1e9b87bc66f85d3b269f06b9ce90b5bdf9b31e3c0ca75a3cc7ff8fbb3b0713bec0b8793c1426633c94b5acbc3d8219bedd5ce7bade3d443c9f48e2bc775307be355d1ebcd323233c53bce5bc28e1d3bdd83761bc5123153c8269bfbc79949cbd580cf2bbbdd5ff3bb8127abc43a842bdddb1863a658e893b2cfcdfbbc0258dbc7308153c2f82e93aba84153b4f29d63b190c143c482bb7bcc0754c3d96c9a23f145b15bef501b2bc54b00e3dfd8e9b3fc0e81cbe4a7cb5bcc51c703d0b7d863f9799c7bd1932aabce45e823d1e3b583fce4d74bd8ebe8dbc988b753de398203f2caf0cbd62bc71bcb795393d501ad93e6c57d8bc44860ebc803bdc3c8430653ec15791bc769eea3a64554a3c6d463d3d9524c2bbe771d83aef4f50bc4dcc97bdf33738bc000000000000000000000000000000005488373ced2cdcbb1b6418bef74b51ba13e0413c0b8870bcf07f0dbed1034dbc7879203c8418bdbc1081f2bd3e87b4bca511dd3b207eb5bc466dc2bdcdf9aebc3866e03be6318cbc07598ebde6fa95bc9738aa3ba34924bcb05630bdb38205bc32f0153bcee229bbd5598cbc4adc503a0000000000000000000000000000000000000000000000000000803f00000000d897123b37e1a1bd4879a33f58e499bdc5f48bba7c232ebd5e68873f6da70ebdc09032bbcc2494bc546f5a3f389610bc116344bbcb07f9bb9b52243f660acc3a48e114bb493ddebbec3fdf3e45cd093b5a85d8398e34dfbb307a733e18dc73b9ce5f813b7f6634bce68f4a3d6c23cbbb000000000000000000000000000000000000000000000000000000000000000060268abce854e3bd727bb9bc98f4083c01aebbbc1c62d5bdc1abdebc4bc6843b8878f9bc5025c1bd995ffebcba705bba9d97eabc8edc9fbd47d1ebbcdc9d22bb9173a5bc110b77bda5cdb4bc67ffdeb88d4413bc8e6629bdb0a26dbc39172f3be4153f3b8f09a6bc2d7fbcbb61a0883b00000000000000000000000000000000000000000000803f0000000000000000719117bd159f993fbb0c0bbde8e7d9bbb0eb51bc0ff47e3f0fc2e0bb1029f0baf1c88c3b759e4e3f788b3a3c324b6c3b8f03823b8ac61d3f628d653cd454773ba9b4d1bb5936dd3ee5ff043c07f674b982ad69bcf1ce803e3704cbbaa975233ad904ccbc59119f3d33f664bc688bc1ba000000000000000000000000000000004378a5bb3eda83bd6e3933bca6eb5c3b1e72dd3afd98dfbd00649fbcdc93293c11e25bbc8082eabdeb3206bdc7208b3bbb19a5bc04cad2bda2c30abdeee6573a9407a4bc6ff6a7bdce5806bdce3418bb369d24bcd3a685bdebd9d6bcc75f4e3ad90070bab25f30bd831d8ebcf40f793b0565183cb8f0aabc1c000dbc4605883b3a86383c468c393a1731f5392a96933b12fdc4bd0c37993f7b26b83deeb008bd0405e1bd50dc913f81dfa03d3cd708bd7dd379bda7c1783f0720c93d33cdaebc5b0f17bd7c43483ffc36c43d3c2277bc1fdbc7bca41a163fbf55ac3db0cb14bc33d1f8bca16cd13ebcd2743d27e12cbc1d9207bdc3746f3ec76f063d080e0abc9c22e0bc9605923dd8a5483c6a2dec3964e5e0bc14864fbd6c0f89bc360392bb4e7cb5bbe22c23bd05d406bc2414a4ba3e22adbb7b31afbd9eeaf2bcb6a13bbac9e37fbc5229b4bd14c725bdffb3bbbb1e966cbcdbbbb6bd944a34bdf995e9bb065b88bcad808fbd64701ebdf719ebbb1ff9d0bbaf0f6ebdb40e04bd5b5e62bbce3dc5bafb7a15bd8e94adbc4f245aba0100133ce64d97bc092b31bcdb57863b7df50c3c50ddd03ab636c93a9f2e963b7d2bcfbd424f803f8f02883eda5a54bdfab0e2bd24247d3f5b01833e7eab53bd0aa677bd78b2513f16227a3e594ce7bc9ba159bd2ec4303f38795a3e177fd0bcef8e1abd22e1033f2ef92d3eac7883bc4be82cbd8cf6bb3ee988fe3d41259ebcfc781abd597f5b3ec2f6983d2aa38bbcff0e13bd331c993d8f0fef3c134e6abce01cdebc397bf1bc13ce15bcad1634bcc86634bcc314ebbc5e1147bc272d0cbc937e00bc7f6e87bd451f1cbdb920ffbb934a3cbc7efea1bd66ad55bd33822fbc344147bcc81c97bdd61758bdcd0750bcfd463ebc41f182bd260542bd8d2257bcb1e289bbb13745bd24c11bbd638cfbbbb8c0363baf9708bd1d8cd4bc067b2ebaddce0a3c23a660bc5b4658bc8fc5763be98f0c3c0059913ad862ba3ac827a13b312faebd3a06523f821ce73e7ca07ebd69dcccbded494e3fde24e23e037987bd355194bd33a0333f9ab1cb3e972234bd7ca864bd476e123f4239ab3edba600bd1bed39bd5337e03ec7bf883ed10ebfbc954d3dbdff249d3eba90443eff26cabc836437bde453383e6e84f03d1a50cabc244720bd891f883db5a6423dbd70bdbcd50af2bc94f1adbc76961bbc92ecaabcc1d32dbca018a6bcfb3889bcc31845bc87e4f2bb29fe52bd6b6245bd1b9864bca6a414bc66c57abd4e5079bdbc8c93bc16d016bc6c6f81bd4e7180bdc26b9cbcb69e5abcb89744bdf71947bddcafa1bc04f948bb128c2dbd9d8834bd2b2043bc421d0d3ba5a2d9bc0777e2bc2eaea7bb67f5e83b514d4abc6f5453bc4eaf213bf1b1fd3b56549b3a3496cf3a3802be3b456f95bdcf7d223f23bc223fd05f95bd9d4aaabd5e231e3faab31f3f552499bd6dee6bbd37c8083f93a70b3f6d673cbd201f53bd0f53e53e1411ec3e570c0ebd06b4f1bcd889a93e9e50af3e70f66abca79433bd04bd7a3e8174843e2351dcbcce5f1ebd38b5113e5e5e1e3ed712e7bcebc310bd12395a3d4343823ded0be9bca4edd8bc360a8ebc5a053dbc57ccd3bc303bd1bb69778dbcaec5c5bcad183cbc4eaeadb9101e29bd654981bda65880bc43123dbadf9057bdf08aa0bde1b3a7bcc99fe9bafa6a54bddc2d98bd5586babca5f251bbbb0c3ebd9a2984bdab15b2bc4987083b1a9b13bd06da4cbd5a5e70bc4343c33b1f4bc2bcb50409bdfddd9dbb9385ff3bfa8737bc0cce7ebc808c543b535bc93b18bf7a3ac6fdfc3a76d1cd3b52ef82bda6f4e63e5754523f8aa4acbd3a1396bd04c2de3e0ec34f3f1466b8bdfe706dbd3bbcc53e96c9353fe97769bd1ef23dbd76c1a43e5b27153f1ccb18bd4dbc23bd99c5803e976fe63ef928d5bcd80420bdb6dc353ecd06a43ed642e6bca15b19bd8a52d13dc1e8433eef67f3bc7ddde6bc76c0153d83ff9b3d2ffaf8bc2c14a5bcde0b82bc92ed81bc7026e2bc413dcc3abd6f47bccedd12bd0e8c00bcc756043c80b402bd5130abbdd81f58bcf230423b8bfc25bd1d3fb3bddeb1bfbcefb2963b38f42dbd80bab9bd0dcdcdbc2e24053805b717bda2778fbd4e7ac8bcc57ac73bd23cefbccbf271bd7cd289bc484baf3bd4faa1bc49bc19bd25dd04bc74a8dd3b516f26bc59ce90bcbbed5d3b0130c83bfa518a39a97f8f3a93ae0f3caf8959bd20c3863e8e7b803f3311cbbdf1146fbd6a4b803e58467e3f6ed4d1bdef0820bde5c46f3e0c31533f2fd13bbdef2526bd7e504b3e753f333ff31f0cbd8370f3bc9e8d1f3e3125063f3b2c8ebc4a8a04bdaf9cde3dcc34c03ed08bbebc9c62d3bc905b803d5869643ebd4dcbbce81788bc78bfa13c09a0a63d7443e5bce46037bc25bf80bc2aa0c5bc1615d0bcaa42e63bf4cd5abc19db7fbd4b62f3bba55d9b3ca538a1bc6fbadcbdb57007bca04c7a3c50ffebbc0fddeebd8c6bcebcf61a543c46a803bd2e09d9bdf93cf3bca53cfb3b39e8f2bc9871acbdd725f2bce317233c1a49b7bc089f88bdf04ea9bc66cd1e3c527b6cbc017a37bd022b0abc412dc03bf3feedbbee6caebccc7aa73b86787b3bb7f6bc3a4f01903a6f18183c5a710cbd29a3b63d7271993f0fcbc2bd433220bd2ca3903d6470923f13b9cbbd9b0905bdb8e0af3d54577a3f367232bd9370ddbc9c1eaa3dc49f493f24c582bc7e8db4bcf1c48e3d5c9f173f324b86bb37b8b4bc1090393d2e08d53e79411cbc4a2983bc954ba83c2dc1743ed34a89bc0dfe92bae4b7563b513e9d3da1cda0bc7aa523bbf99ea3bcdf2e43bd7441d4bc00000000000000000000000000000000884c833ce949b7bc9848e6bd6168b6bc78034c3ca1e2cebcdec2dbbd989df6bcb292c23b5e49e1bc46c3c5bd78a415bdc3bc943b74a6c8bce86ba4bd4e890cbdaf0fc53b562ba3bc150680bd649adcbc154dda3bdf583ebc81812bbd7dff6cbca2b7cf3befb768bbe374a7bcac88dfba0000000000000000000000000000000000000000000000000000803f000000003c664ebcf8a022bd2cf1993f1dfee2bc308c24bc03eb80bcccc97f3fbcac2a3b9fb7fabbe7ae30bae2904f3fad40ae3c027c01bc1286933a848c1e3f065fb33ccfe40bbc9c738ebba473de3e9490453cc2bcbabb12ae39bce453823e7ed9dcb9aea92ebbcba9adbc01ffa03d91fb81bc0000000000000000000000000000000000000000000000000000000000000000f64611bd21415cbdd838e8bcf7d64fbc6a6909bd0d6a5ebd6e58fdbc6db98abc549d10bd2f5c52bd030e03bdf152a2bc1e35fabcf64733bd54cedcbca89e99bc742cc1bcb5da0fbde597b9bcec8160bcbcef75bc9d31b8bc226760bc78eed3bb12c2c0bbf70b24bc8c79a0bba94812b700000000000000000000000000000000000000000000803f000000000000000024eb9d3c701b873f57d3953c52078c3c158bcf3cbb53623f8ebbdf3c3e8dc03cc68bd23cb189393fcb8d033d6051dc3c4574813c48780f3f8d59cf3c0223b03c22a3373b9621d03e57e94f3c1d243d3c330157bc9628803ed1e290ba06a0a33af2dbedbce5b3cb3d0f8b89bc321f21bc000000000000000000000000000000006bbdbfbc7fe0e7bcbb477ebc78fd0dbc95d9eebce2994fbd9a34cdbcce894cbc21cc0fbd1aa863bd4ecd07bd075b9fbc5bcd0abd43ba53bdca1e09bd96a4aabc14bb00bd73dd31bd74a6ebbc633b9fbc6579b9bc5db509bdf4bbb8bcb60b66bc8b5959bc79bdabbcf7805abc48bbeabbb691a1bb7e4403bc50e83dbb120aec3a71d5813a7b854b3be24f3e3b89b9803bde7c39bcd9a7853f1cad063e6c5ae6bb0ba40abcc0ab773fd6de013e351456b80972363c4694513f8e42043ef06e923c4ae72d3ca2bf2a3f5a95e73dc689983c2448fb3bf071023fb009bb3d3127913c71e91abc74b6bb3e8a267b3d2fb8cb3bca45cbbce307653e784efa3cc2fd8dbb73330ebd590db73d8322043b0f7949bcff6f04bd40ebd1bc41f89fbcc6808ebc3451a0bcc9c38dbca37e2abc3ce732bc2712f7bc40f126bdd446ddbc5801a0bcab8305bdd0fd34bd579c04bdc037c9bc8f3002bd8af642bd633712bde4d9cfbc4fbfe8bccd701abd7efdf5bc9c2ebabc39f4acbc98cef6bc297dc2bc3bf28dbc26f364bc29479bbcaf1a75bc0df239bccb5babbb2289cebbd7b586bbde4101bb9abd863ac71d833b6d5b773bb8e23a3b1ea0a3bcba4b623f2a7d8b3e73eb6dbc667f5bbc2bdc553f136d873e577ac3ba5242d83b4a26313f3fd7743e9803863ca08b713b5da9153f8d11543e4c58853cda80ea3ab312e23e324e253e728b803c143e7cbcc4c6a43e4d3ceb3d2d6f2f3b597ea7bc0d804a3ef1b18c3d7cdca4bb2d2913bd395ba73dc05aaf3cbc6f8ebc6aceefbcc34f85bc6a8c63bcf79396bc73829fbc0f3b71bc1a4633bc1ddb86bcb935e7bcb2ca0dbd4fd0e6bc327dc6bc939ff9bc13a132bdfe9f18bd81a8eabc8018f3bceb8b2bbd64c216bd166ce7bcf516dfbcf48615bd5f8206bd003cd6bcf8fc96bc1f3cdfbc77c4cbbceba9a2bc503b3abcc05388bc65726bbc55f845bcf01678bb79ea94bbfc8682bb8ed597bb31e48f3a17c1833b4eba6b3be5f2d139628990bce91c3b3f9c7bda3ef18f37bce64959bc64b5303fe790d03e2b7c41bbdfa9deb90cd1173f248ab83e3d0e813c9de3dfb9f5def93ec9a19a3e4d077c3ceb0c26bb1813c03e54cc713e3a71733cb62a96bce8c7893ed1c72d3e0764ea3a75edeebcb5dc273ea3edcf3da8a733bc61c814bdb5fc8a3db870233d9c5aabbc5f94ebbc17856cbc3a2f43bc471cafbc7cef90bcc8675fbc07c640bc12578abc25cdc9bca711fbbc1a0ef6bcb7abeebc49aeefbcb8e215bd1a6219bdf2b100bdf2d3e1bce7861abd29851ebdff8a0bbdd2b3c7bccb7001bd16f002bd27c4d9bcbc448abcb33fcdbcc089dabc04edbdbc79191dbc05b26ebc785181bcfe397bbcc09919bb1de384bbc060a4bb532ef0bb372e0a3b6abd9d3b17f48e3b2723f5b7d9a170bcaba8133f85e2133f17fc44bc845231bc2a280b3f68590c3ff19306bbbf25713a9b7def3edcc7f23e875d833c9ca7b1baa105c83e9561cc3e5acf953c18e50cb9cd64973e6f209b3e7df0823cd5fd8bbc08745c3e1953653eefaa5d3a5badd3bc02f7043e95560c3e9a8523bc9f4506bdb085543df0016b3daf66b6bc6caae4bcdc6a73bc865f47bcb8a5c5bc6fda60bc8e7952bcb9bb70bcbb0e9fbce0b69fbc75ebe9bc680912bd3f87f5bc2adabdbc643b17bd323034bd2a0c0ebd426cb5bc783c12bd4f0035bd11e709bd75bdb0bc10c001bd909c16bd9bbbfabcf49a59bcaee9bcbc57a9e8bc4ae1cabc07b1d9bbaed95fbc55938fbc3c9c89bc43ef9dba36433fbb1fdfa1bbdcf7f6bb27d9473b4da18b3b798c6c3bf4dfd6bad9b964bc0e7bd93e81013b3f317359bcb29249bcf067cd3ea0b7313fb84f47bb7a986aba592eb43e6e95193f41358a3cc7dc22bba0a7953e6676fd3e80069b3cba18b6bb47ee683e7237c33e44f4863c066297bc4e1f233ebdbe8e3e34e0bb3a8642dfbcd04cbf3dc9572f3e91db3ebcd10501bd1cea073da99c953d02a3c7bcae53c8bc3c9f7bbcb0a944bcc008cabcce4500bcd6834ebc59728bbcd70c99bc57005fbce2f4e8bcc1a327bd243a05bd488197bcb45c02bdd8843abd831e0cbdf2ae92bc2f7f0abd395046bd8ec617bd035590bc6a6deabc20e61cbde8d3febc751524bc6144b0bc3ca601bddd09d9bc26ebccbb51415fbc990da0bcdb9793bc82893c3bd8b272bb6ee8e6bb9de816bc26218c3bb205833bbfbf613bc7f59bba082591bc71918b3e24bb623f28ad95bcef0b47bcafaf843ecbc7563fef7731bb650dbb39aa2a6c3ec769323fdc92a63c69e022bb0db2483e0efb163fa2c4b53c7ee380bb4c82193eaebee53e21d59d3c31538abc4ffdd43df1a8a73ea62a7a3ba0db9fbc9977753d586c503ead3fe3bb13f1d7bc9e10753c9e0fad3d58f6c0bcc56aa0bc9d3886bc8a5b65bcb6f3c6bc00d2b6bb005191bc9637eabca8afbabc77bd3cbb4e81cfbc70bf51bdfebe0dbd5baf27bc93e305bd17ed69bdfa871fbdb13d53bcda2b02bdf1d65abdb9a91ebd397762bc039ce0bc8c922fbd29c60ebdff56e7bb95a497bc617818bdafd8e5bcda3dbeb9d3c330bcf4eab3bc2da898bc20a0a33b6a9c0bbba7981dbc608e0bbcf2c9bc3b80ce6d3bf29c443b5750a9ba5c5b14bc4153063e20b9853fe70507bc1e5636bc89bcf83d038a783f624e233b4b15fa39d91df43d607c523f51beda3ca50b49b8bb83d23dc6092c3f8ab1f63cf355c8ba6fa8a33dce33033fc9e5cb3ce0e742bc0cb74b3d431ebf3ef2a8273c2e1bacbc62c29b3c2b18693e310ff5bb110da7bcfe4c8dbbc5f9be3d4925b2bc08ab9abc2d04b8bcc902c4bc34b0dfbc00000000000000000000000000000000bd9600bce4e5efbc36cb62bd8d090dbd41e72fbcc2bef2bc2a0361bd1d8f14bd7f8063bc09c1f7bce17653bd070b17bdcba368bc1c0fdcbcf0d92fbd31b903bd4f0ff4bbed7da1bcaeb00bbd8ac8e6bc708facbacc553ebcdfafbabcc60099bc67e2a23bc2823fbb4f5b29bc86b421bc0000000000000000000000000000000000000000000000000000803f000000008708da3bd323493c043d873fd1c0e83c40f2243cdccd9f3c84b0623fc381163d0312133cf916ae3cc4ce393f78141c3d246e923b80157a3c7215103feb67f93cdf6f96bb9c81983a74c4cf3e733b833cb39650bc931c12bc1e4b813ebf568cba6274a4bc8f16bdbcdd9ecb3d4e4b94bc00000000000000000000000000000000000000000000000000000000000000007953813c9ef633be79a1813cfa68ad3b0e457d3ae74b24be323a8b3ba9e5cf3bce285abc794812bedc88f5bb4c04ec3b2e656abc7cf3e7bd6ce221bc510e633b283e50bc1ea1a0bd63413dbceae9823be5070bbca37534bdca57fdbb28a8ec3a55c242bb1ef807bc0d425bbb3a2ae93a00000000000000000000000000000000000000000000803f0000000000000000ca68f3bd8312ac3fbc4501bec41f343c3b2a93bd19998d3f7f8f97bd3bc5793bb2fb21bd0df1673fd82d2ebdc1b086b8af56a1bcabe82b3fba259fbc154e32ba3fef52bb3abbde3ebbc45abb2f9893397fa34b3ce67f5b3e61833a3c61fc5d3ac2eda13cc22db83b9e8c6c3cb81c103a0000000000000000000000000000000053a4da3c0b37ddbdd5d2593c05bc4a3b52f90c3d37401cbe759d543c7a63a13b12ba813cc2702cbe098e70bbdf2b1f3c7c5bb23bce091bbe6c6542bcc568233c74ea72bb0e4cf0bdbe119cbcacde023c065254bbd87daabd1d1d83bc68a4a63b40ee2bbb9bce3abdbbdb42bcc436983b7bec1fbb87b25fbce9f1fdbbb7fcb63a2b1fbd3b69d4383c3d6faf396bab343b37ee4bbe82b7aa3f2b80283ca4ba66bcad2541beb6fc9b3f21cc6b3c208634bcb32015be035b8c3f9f73023d64aeb2bc6820d5bd10ff633fcaca323d68b8b5bccd8e84bd1556283f4e87573d5a6b83bc1757f6bc48ced83ed33f543daf3b5fbc4a0afc3923024d3e2a333f3ddf1b18bc13cf013d2bba9f3c40c6343d2c8ff2bb87ee993c9e3ae9bd1e90113c4961dd3a4dbeb63c042b8abd3ab0e93a2c2ab73bda0de03c18d505beb1c378bcf792483c373f8f3cc19810be4be1edbcc9b15a3c4976283cbc0907be27d30dbd5b25523c24f12e3bff2dd0bd703f04bdcf1aa63bab85583bc8309bbdaecce1bc5cbdf93b53549b3ba96e30bd7f3c99bc4c11ed3b65f9703b04e568bcc8f6ebbb0f4f823b91a9e33bc56daa3b5b1c063bb8ce673bdca64bbe6ad18d3fd821683ef62e75bd943552bec1008d3fc045583e59097ebdd9da26be9f74783f67334f3e6b976dbd565d00be8e4c4b3f59993a3e334541bd1f139fbd44e7143f1f58203e72fb10bd873b42bd9865c43e71d0f53db69ed8bc89ff7abc389d3f3e7241a03dd0696abc6d1b343c77d7df3ce584223d455daabbcefe863cd4ea94bddd7481b902e7b73a4ee2633c82a849bdbc4391bcc0552c3cb10fc63ceb2dcebd56f935bd08b5a53c77f7943cf010ebbd4c7a70bdca678f3c120d243c88e2d8bd01936cbda0634b3c2851d93b1d12b7bd279957bd0aad1f3ca3c9b83b7bea80bd78af24bd3aa60b3ce4e4b93b45ac21bd14e5bbbc7c24eb3b2916da3bbf3176bcbad515bce7d9aa3b49dc1a3c9975d63afbab8f3b1968cc3bbb333bbe854a6c3f42dfe93e55dde4bd6edd46be814e673fe594e23e3495ebbd185a21bea6414d3f609cce3e118ccdbdea42f2bd3f99273fb2d8af3e918a9dbd8705acbd9f35fc3e0a208d3ecc2a71bd1df94ebdeaafa43ee73f473e8ba11bbd032dadbcad27293e191ae93d5f359cbccfad9d3bb5bf093d44d01d3d4e251cbb1953af3b847154bdd569a5bc1024113b4609273cb5f607bd73b410bdc3e4843cd4d3973ce7268dbd427799bd6968b93cd83a403cef49a7bddec7afbd6766733c07fc2f3c904ba7bd85b4adbdc95d5d3cf5682d389e1082bd73737ebdb2b7dd3a4c56d23b9cbf57bd117f58bde66cc63b6e25913b2946f8bc6452efbc5cc0c43b7832c23b0c9169bcaff41ebcb356bd3b09bee73bdd101d3b3d0ca93bb221043c3fbf1cbe7733323f05e0313fb0031ebecf0922beb00b2d3f47112e3f2bdd23beb598ffbd0803193fe19e1b3f63db02be1854d0bd4562ff3e3260023f71a3d6bd791682bdd076bc3e5b45c23eb74e76bdae6f3ebdf8e1843e98ce883eed0642bdbe74afbc9a250d3efe03103e09bba8bccd66f537d41f253da0c10b3de71c0e3bf45a423b529805bd7d7720bdaefe783b7424e73bb9d173bcf8555abd4a599b3c20db733cc5b928bd4c1cd8bda967e83cadee5c3cbab164bd620defbd92b9a63c3fe1313cfa136cbd9eaadabddf523d3c83070b3c317b58bd81e6b6bdd11ac93b2e27bc3be59428bd447181bdc923d43bb330c63b53b6e5bc5e250cbd9defb63bb970913bed9757bc615120bce995c43b4bd5be3b3431693a346fb23b41a11d3c3490dbbd84b1e93e16b96b3f13fa3dbec9b5e0bd5761e03e70ab683f819849bee750bebdf5e9c93edb214f3f2c0425be81df97bdf4d0a93e431d2a3f6ebbf4bd47e261bd42bf863e368b003f1f62a9bd073110bd688c3c3eb3c1a83ee84146bddbb291bcadf1e63dd4b0283ec8109ebc6d9191ba422d2c3d062cf03c6e03bf3b57794d3b9cff8dbcc48f68bde7bdc73bf5bb8a3b18a0383bdcb691bdbecbde3c68b8083cff1a63bc8e5408beb0fc033dab97293cbbb5debc6d5313becc0a9b3cae7a063c47090cbd237105be5b8f5d3ca58ab13bd1300dbd1780cebd8b2a9b3ab836c43bb0dcf8bc0c8a96bdac31833b637c3e3b17abaabc0e0d1ebdacb7a83b7bae7f3b6c5a50bcaa8638bc3fbf913b8f7a443b688414bba91c153c53deef3b064173bd1711693eafc78d3f0adf4ebe0d6169bd4ea2553eaa3c8d3ff1b154be4e4c56bd5d2c4a3ecfa4793f13cf28bedfb02dbd1795313e2d694c3f6fe7fdbd10a3fbbcb262183e4414163f1b6999bd196eb3bc9989e93d87c3c53eebc439bd90fe24bc76b19f3d42e63e3e91467dbc1f0568bb0c2c363dde4bb13c690b5f3c3b9a2d3b83ed853b8b72a1bde1a8853c3f8fb73a48da703cc363e2bdc5ff013d53f3cd3ac7964f3c972a1fbeccec1e3d67610b3cdc96c4bb1d382dbe32a6983cd22f103ca9fc78bc36b01abeaac3083c3255c03b9d49a7bc5f93edbd70736fbb8b03773bff2e9bbc3426abbd252dbaba10512b3b688c7cbcd1b837bdca6828bac454183abdc34abced2825bc166041bbf833543a4d17c4b909ca593c0217db3b20af5ebcaaca433ce661aa3f208e4fbebd5eeabb5d806e3c122b9c3f5c4843bee6617ebc2266f93c1f638c3f32a215be2b6b6dbc09572b3db0a7633fa58fd0bd1f7837bc24be443d416f283f17f56bbd4db3c5bbd0e7453dd63bd93e2e16dabc270180bbebb6443d18314b3e5fa4ac3a940b92bb24aa433d37c8663c4f870b3da667053b6b29453c429bf5bd54cd9e3c00000000000000000000000000000000880ab53bf33e4c3cb05034be605d9b3c3de9e93b4901ee3a096b23bef8b4e5382990ba3bd16124bce55d0ebe43de71bc1277953b188e5ebcdc21e5bd24da8fbc6dd0853af25839bc3d899bbdb2f878bcd3373f3ae1242cbccef72abd90060fbc260d2ab9816ea5bb427a0dbcc1690ebb0000000000000000000000000000000000000000000000000000803f0000000090497d3c9c1bffbd75c5ab3ffb54f8bd8d5c033c6e5a9bbde9648d3f783088bd4611063ba5513cbd5572673f51e702bdf6998d3b4a71d1bcafcd2b3f976613bc93389a3ba58dc5bb4759dd3e2044503b0f2eb33bc3ea0f3c639d5a3e270c8e3cc8a9c23b01b4893cd26b043b23fea23c000000000000000000000000000000000000000000000000000000000000000087c68c3c44ba1fbe99b511bb12c42c3c16d98f3bface0abeb4885cbc9ec88a3b51b037bc732eefbd8295c8bc42ce0bbb60374bbc5e1cbcbdb241c2bc7187cebb965506bc39aa86bd4d9792bcbda100bc3e3ba1bbfcd61ebd53f746bce0f8d7bbf28a1d3a966645bc46c05abb159b71bb00000000000000000000000000000000000000000000803f00000000000000006413ecbde5eba83fc9e3d2bdab2cc4bad78d98bdb5a9893fc0914bbd6f6b4a3b7b1627bd35b75d3f24d017bca54ddf3b089bd8bcba3f243f44cb983b5a8d6e3c491e8dbc7225d83ecc0e133c2b0c8c3cb019a3bb28255e3e7f296e3cc1e7af3c006ead3bdcc18f3c96e9063cb1c7923c00000000000000000000000000000000d4e8e03c3c6ad1bd0a9e743b3e800c3c7d7a363d6ca818be7f0957ba9f9e113cd94ab53ccbcb18bec2e5a9bc09c2cc3b81330d3c5ac200be8374f4bc150f833abb8511bab289c3bd0db7f8bc3bf2c8bb1cd79d38156591bd9b60bdbc37acc3bb6878e93a75a02bbdfed75abc5e9ecfbb60580fbb8ada64bc2e9cdbbb8988b3bb75806e3b9db7f03b392c833b69cb1539ed113ebe3537a83f0d0de13c6bf4dbbc3cf650be467a9d3fe0939f3c5ba473bc84bc14bef130883fc9f56a3dde8b9dbc1968d3bdc989583f0fc09a3d252833bc739089bdfaff1d3ffc13a13d0542633be67929bde560cf3ee5ff813dee55123c9a8c49bcbd52473e9d6c443d41045b3c1750e63c7cb77f3c1cde143de0da703c026d8c3c6456d7bdebd189ba430cf43be71cd63cbeda8bbd15b4dabbb246253c26870c3dc405fcbdc59be7bc2d71463c73859e3c6135f8bdbcf029bd3a056d3bc996503c980bdfbdf5393fbdcd2385ba50f6303b747aa5bde1a529bdf58d1abc98b2903b28167fbd3d5809bdd0ced2bb5437743b033910bd20fcb3bc75b480bb0a1d0b3ba01a53bcca450dbc529e3cbb410e623b4fc49e3be1ac013b2bc0013b69f040be978e8c3f02bb743e71028abdbf6951be40f78a3f9fd6693e18517bbde3f41bbe7e8d6c3fc1966b3e3e7641bd17b5f7bdd0e43f3f4011543e0aacfebc6e1b9fbdae9f0a3f51cc333e76a842bcef0963bdf62fb93ebdb7043e1cd792ba4bedcfbc4274383e1481a53d1a47d23b969b233c6233bb3cd2da093d5c494d3cd10d8e3c66188fbdeacd00bcea47d53be1ce8f3c23c954bd2ae4babcb6ad403cdfa2f33ce918c4bd1e854fbdce5b7d3c6078b83cd8cbd0bdd45984bd9d96ad3bc7f15c3c7c00bbbd4c0480bd54042ebbac6a053c8c9994bdcb4c68bdc88e13bcd4c7c53bed6d5bbd770c2abdb9fcfdbbcb12b83b6b2305bd7426dcbcf364adbb9875a43bdcf458bc28df34bc818d99bae115973b6e96383b95cd173bf077a83b76832dbedb89683f1117ee3e8f4bdfbd19f140be730c633faa3fe73e7fdcddbddb8a1dbe4fdb443f33b7d43e3379a2bd849cefbd1aa31d3f370bb63e9b764abd46b7adbd0d98ea3e6c37923e2deae7bceca95ebdb12f9a3e2e594c3e07192fbcb32adebc5de81c3ed6e5eb3dbe3a0b3b80c8a73ba063da3caa43163d39e0423c3d50e93b3e6057bdd981b9bc2e7d923b1b366f3c611d16bdf4df12bd810c5e3c3ba5d13c26868dbdb5f29abd578f7c3cdc12893c16f797bdaa4eabbd199af939b2b1793cab4f93bda5daa6bd3c7dd7bb04347b3ae15759bd667f74bdc55199bc94d7fe3ba0f234bd570050bd9d031abcecdfae3becf5d4bc3ff4f7bc9a15a7bbc8a78f3bc2d936bc9e1a53bc9fa9033a13124f3b2cc60a3be40f223b49a3e33b83fb11be38bf303f7394303f4c6e14bee37e22bed4a32a3f14da2d3f34e412bed617febd3b58133f0af6193f4f9ac6bd3842d5bdf628f23ebcbc013f9c8e8abd884881bd0f42af3eb3d9bf3e1e61c1bc5c8d5abd4b94723ec21c893e6e0194bcbc75d1bcb341f83db611153e855662ba5364b33a0c86de3c1524203d881f3a3c67e7f63bc68c18bd870711bded8ef43a7eb03f3c0f41bcbc121052bd87eb823c9058bd3c7b983dbdd240ccbd8fb7a33c7915b03c67435dbd64e8ddbd6cd4433b7f9b733c62245bbd63cdc6bdce230dbcd7a53e3c22a936bda282a5bdd73b7abce74f093c7f0311bd4e2a72bd0c6c41bc13179f3b4af4b1bcc51316bd4f689cbb6923213b4ae311bc7e1a7bbcb78022b90d30333be6b1eb3a5446b43a200c193c1335dabdfd10ee3ec731683f4c602ebe47f0f2bd19efe03efeb2653f679233be113bd2bd0c6fc63e01344a3fc1b8f8bd520ca6bdf2c4a23ee6d8243f53d59abd0a9086bd1bc3793e5cbcfa3e688d22bdfd2a28bd356a2b3edf3ea83e20c19cbc71f79abc874dba3da889313e3b1887b802153d3b41d5d23c0f071b3d1ad06f3c8d37f03b0dcec5bcb2ca4fbdde0a2c3bad111d3ce486b8bbadea8cbd6107d03c9ab8943c4f51aebcbcdb01bec794bf3c44ac953c288305bd1a1c01be39da8cbaaa908d3c56ca14bda3b2ecbd04432bbce6a8033c661100bde0a6b3bdc0809fbc5e4f0a3cf4dedbbc3ab98abde2d159bcbbd7843b2ca588bc3be322bd3edcd2bbfee7553a765cd3bbc3b27bbcbfaf9cba40f1ce39c8fd903aac4e1c3be362fe3ba2e084bdae19773edf458c3f650d44bea2db90bdf62c5c3ef1e68b3f085040be61d289bdbec3503e1bdd6f3f2fbcefbd86e771bda41d303efa98453f92839dbd6e072abd8bc40d3e5394103f3b62f7bc7971e2bcfacec63db952c33efe3250bcda9b3fbca2a5683d701b483e3236543b5026823bd21abe3c9e0dfc3c72a7a93cc0e7f23b8da6d9bb28118cbdcb61563cd54f183cfc1e943b55a0d3bd118bd43c95936c3cce068c3b52071abe159e053dafd9a03cc1bc55bcc7ba19be7c175ab9910c8a3c208a96bcf79a06be47c576bcf2232f3c1517a3bcd3c4c8bd71ccd5bc2a03e73bd5e68cbcd55b96bd4ee597bcc151833b78be38bc318134bd58c138bc3b5a11bb0ee3bdbb615875bc6928c1bb5a28bcbaedef9e3a095ef13b7018ca3b0d84ccbceeeced3cdb01a83fc10d3fbe2300b2bc286be63bd4c99d3f16143ebefcc918bd928e0d3dbbfa883f9a7adcbdc8420cbdf285313dcdbb5b3fc7c063bd9e30debce9692d3d117b213f54d14ebc1e2c57bc82ae0b3d7202d53eb6ae793beee359bb3c8bf13c48bb4f3ee46e943ce3ceeb3b106ede3c516ca43c49fc223ddf96433cb9ccc139b627d5bd76bd403c0000000000000000000000000000000057b58e3c723a8e3ba49a20be6096353b02a8883cea8b99bb64270dbe878a94bcf540523c1fbe67bcb0cbf3bd35010cbdf0de0f3c3d0473bc7ed1c2bd5f6111bd6716a33b6f0742bce62289bdb2fadfbc82ff873ada3c11bc1a8d25bd8d2d87bcf77005bb376f51bb6bd741bc786841bb0000000000000000000000000000000000000000000000000000803f00000000fd1a17bc16d6e5bd58c8a83f674cc3bdef8e73bc8d618ebdd8fa893f7b0f10bd96067bbca87221bdddd35e3fc4f0fa3beb0437bc5c27c9bcf4c7253f0a40cc3cc40c94bbc8a56cbc8036da3ee267d33c930bb73b99927abb0539623e7b34e63c16eb533c9f91b33a70ca953c5718923c0000000000000000000000000000000000000000000000000000000000000000f637b23a36b3b7bd93d5f6bc1f5dbbbb9a94df3a37d69bbdb3ea0fbd6250aabc7cc38fbb169787bd9cd31dbd3266f9bc568dcfbb23344ebd4f340cbd612200bd2a3c89b91f4525bd73aeddbc0d0ecfbcfe401e3b5e51cdbc55a195bcb20d89bc25acaa3b018a32bc254602bcc2f5b9bb00000000000000000000000000000000000000000000803f0000000000000000a44e88bdc5ca963fa6d2a3bc76c7b63b77c455bdf414743ff433753ce519093d617129bdad8a433f9399173ddfcf5b3d677b13bd8e5c123f89481c3d2092623ded163ebd3639cb3e0f65f13c5af2513db4352cbd98b3683e7e6c813ce8a6343d635010bd09a8803df71794bb4192d73c000000000000000000000000000000000aeea03a16866fbd51088bbca047c73bd7ce813c5875b0bd9053ddbc12cea6ba43fffd3b49b89cbd459923bd4fc1dabc27dcc63b3ee984bd58a82abd745f10bd505176ba753e42bda6aa1bbd10410fbdee0cb33bff7d1dbd1357f2bc06eef8bc7a43e13bf7b5c3bce7f89dbce496a5bcab06f03b3dfd3abcfec42dbc3ffd1dbca6449f3b48d73f3b42f0e539583e213b7c72c9bdd97c973f9b1ec13dce241dbdd1dd07be6af58c3f8670b43dd5dc58bcf655c0bdd979673f74b5fa3d03ffdc3ce256a7bd8216373ff8d5fa3d24b2403dd83a70bd5b0c063fa3bbdc3d53f0573d88108bbde02eba3ea482aa3d02c05e3dd2676abded1d503efcc84b3dd622293df2c301bd15ef6f3dc118a53c99060b3dbe0592bcac0d58bd1fec8dbcf269d93a0447373b6cad24bd81633ebcf9b28939042f4b3c90968ebd520711bd2c3262bc6e01d93b98df7abddd5137bd299309bdc6680a3c060065bde5033cbd547f2cbd1571903ae4252cbd27cd21bdd83625bdd4f7df3b6ff704bd651701bd6a2f0cbdfe1cc83b90c39ebc5ec5a1bcb582b9bc1717fd3b154318bc531d35bcb2eb12bc81ed753b1ff1f83a1ab16ab907d31d3b4beae1bde50b803fe08c873e7b6d5bbdd7760abe3652753f2607863e12e6ccbc4ac8bdbd9111463f82ef813e7fa4a83cfa8ec2bdb8c8203fba79693e25df283d8fbb87bde2f2ea3e3ad53b3e0509413d65679fbdd3d9a43e87b10d3e25fa3b3dedf47abdef8d3b3ec250a93dd630043db01725bd8d48673d6d24043dde2ba53c4db66cbc429d05bd552a3dbcb19c39bb0bf5c4bac0adf1bcd77585bc7c5ccdbbea42673c97635ebdbac02cbd5532b6bca575573ca7815cbdc02549bd9dc32cbd9394223cbead3cbd818f4dbd6fed3fbdd127ac3b883e17bdb7a82fbdb08939bde1f6f63b7748e4bc19ec0dbd16d713bdad4f023ca4369bbc83dfadbc7fb3bdbcdba6e33bfdc505bcab6030bcbc8c1fbcc89c363bbe78f63aa3fb573a32e2413b63a7c6bdf2a0523f29d7e63e17ca83bda71704beeb4e483f7503e13e8ba718bdc667debd0a60263fb5e3cb3e5e10573c81c6c6bd9bd5043fbca0ad3e99fb193df51699bd5d8ec53e540e883e0299373d6200a4bd7ff3893e7db4493ec8432c3d374f82bd7f6a1d3ecf80f13d12a1e03c28e426bd124e503d190f423d150a533c49d08abcc680c8bcd3e76dbc804f3ebcc83c983a706ac0bc6d56a9bccc7e1fbca5247d3c7e4a2cbd4d2246bde41defbce9016e3c000b31bd2f866bbdd6e93cbd2f11773c99bf20bd89b165bd55ac59bd9b3efb3ab092febc957133bd987d37bd1afe333cb830c7bc2cc615bdd82724bdb367f93bb54f6fbc4ad4bbbc179dc6bc0c2fbd3b8e2fe2bbba8038bcaf6917bc4f9ba73ae55b2d39f7cb043b8eeb9b3bcc1eb3bd40ce223fca4b233fb8da9abdd112edbd0b27193f2ca81e3fe32e3ebd9929c7bd154eff3efce0093fa1cc6a3cbb72c5bd6b1ccf3e0f2fe83e0650153d210581bd352f993eac69ad3ee5f32e3dc622a1bd5e0a573e88bf823e08291c3de8157abd66baf33db05d1a3e58aebc3c639217bdc4b7283dfd9d713db368d73be8de6cbc9dbc9cbcd7e784bcf64387bcce3c933ba72b9bbcdc0be3bc99e239bc6620a83c233706bd65fb6ebde86506bd7504b73c592513bdaefe87bddcf34cbd6f5da33c0a4a06bdb0ca7bbd5ee468bd08f4313c4e0ddebc60b94abdad5650bd96e7563caee5a9bcc94f1fbdb06a2ebd17421e3c72d356bc45f8cabcb9e1d4bc3269b43b10d5cabb84e644bc806818bc3239c63a0f6a053bf3b2ac3a46fb613b11a599bd8e9ce63eff8d523fa3a6aebde9aed9bd8f3cd53e63474d3f56ca6bbd5694c6bd96a8b53e467f2f3fd8eccb3b4942bfbdc4a2933e987b103f48fc0b3d893995bd30055f3ee3b0d93ec708353d19bf96bd3e98193ed0349e3e43ee1b3dae0667bd2db0a83d87993d3ebb25b53c800df7bcd7cbe13cc2b48b3ddd0ca33b55e81dbc4e1d87bc1a19b9bcee4a96bc35ea373caab572bc922817bdc18cf2bb3231ea3cea3addbc463e98bd3da802bde58cc63c7f33e4bc115093bdddfe59bd5ccccd3c6a22e0bcd99f8ebdc0fd72bd11614e3c1aa3bebc850e53bd82305fbd18e5803c44e991bc715c2ebd808b31bdcf35153c9d7932bc0819d0bc1d71d3bc0f3bd13b776ce9bb3bcc48bcda5410bc3b7528ba7b0ecdb9b4d2133bdfaebe3b92cc81bd1d31873e4407803fd391cbbdc1b3bfbdac80723ec5547a3f5c6e82bd9cfba7bd0457583ea7fd4d3fc0875b3c7855b4bddbf8313e2b312b3f920e213d8c0681bd2a2e093e0947fd3ec409453d3aa18abd3519b73d2377b73e1f19273d7a1840bd596a423da904543ee2ffb83c6920a4bc8f073a3cb15b933da99d9f3b9367b3b8f29b63bc8a70fcbc05d772bccc028b3c5f2984bc57a967bd916f3ebcca8b203ddbad90bcaec4b6bd62b3ebbc0aa8183d3ea6b8bce7e4b5bdc43965bdee85fe3cb053a3bc05059ebdddca7fbd140b963c08b59dbcdf3073bdcaab5fbd4ce4983c894c72bc59763fbd5e7138bd7680463cf64e18bca92bf0bc501fdcbca1c9a23bf6b4c4bbd26d67bc57ac17bcf1488fbae31fa33a5b95143b514ae43b1a8c48bd6191be3da887973fd55aaebd8922a5bd5c93833dc4f18e3fe7f478bd27c2a5bdef109c3deee16e3f7a52a93cc04da6bd1498853d0632403f8178583d0ebb75bd1d34663d69210e3fdd83713dc5536ebd0dec003df93aca3e71ba543d42881fbdee373f3cc5d9673e92eaf13c367b8ebbb1a33a3abc1c903d750e4f3cf80cb93b12ef92bc371c52bd356999bc0000000000000000000000000000000038a3183d6401a2bc25d1c3bde6e42abd9cfb083dd1de92bc6549afbd9f955ebd3224d53cc5f9abbca2d79cbd66c773bd8c969f3cfea59ebcfcf771bd871a5ebdde22853cb86e52bccff43cbd49762fbda7a42b3cdf090dbc940eefbcb20ed7bcf36c9d3bd8ff93bb6f6d3dbc555bcfbb0000000000000000000000000000000000000000000000000000803f000000006c4860bd5f7b39bd4965983fadfa8cba0ff572bd9d5bd6bc8dcf793fb1803d3dc64265bdc97a3dbc01364a3f958d8f3d80823fbd7aa922bcdf20183f86b48b3d938334bdb71789bcfa3cd63e504c5d3d2554d6bc89bb8cbc24b1793e2999083dbd99c8bbe1edb1bc4a648f3d1f350f3b00000000000000000000000000000000000000000000000000000000000000004ac8e13cf4103dbe25f9113db2a2c83a481c353b63c523be5dc8793c63d4a93b6b5f1abccfc819be7e34883bac58553bf01f4abc25f4eebdb72393bbef8eb43a86d37bbcf5469dbd8741e0bbe64866bbef7e41bc220535bd6cf6f7bb2d98e3bb79c885bbfbd802bc184cb5bbfffdffbb00000000000000000000000000000000000000000000803f0000000000000000cd6008be551fa93f65751abed81cdd3cfbc399bd72a1883fb285a0bdce078a3cab2648bded33643fc85c5abd9460783cbd94c3bc2395283f1de29dbc47d4713c91b8aa3b0735d33e74a43f3c2054733c161cf43cea31513e7689043d031f1b3cdc721b3da821263b9f080a3d3438283c00000000000000000000000000000000d60f0d3da080eebddd9ad23c397d52bbaabdf53c214d0fbe43d2973c0d631d3aeacaa03c04ac2cbe35b4ba3b4b30113cec0c343cee1e1bbe3d9de4bbb0d9a13b47ca73baa604f1bdec5045bc74e9113b8a5294bbc8a3a8bd983b7dbc23eb1bbb8adb43bb053a28bd4f4c84bc64a5d1bb8089b0bb5c3a78bc2cba18bc95cdd7bb221c8d3bbce54e3c368a91b95ef064bb312153be937daa3f302da6bcc3bf0c3beb3525be662b933fbd60b13c0e5ca0bbe0c814be448a883f90ea443c34f793bb9491dcbd7b315d3fedcb0e3dde9100bb63696fbdc7b7213fc9df5f3dff0326bad32f6fbc8575cd3e9b15873d160c0a3bb90d683c3c17403edabe8a3d18cd413bbd45163d24e9173d6b5c4f3db3ff40bb778f153df575f5bddf35a43c5ef5713a8db0cc3c6b9589bd1933b63bce72533abbd0eb3cd01806bebdcb00bc0be3e23b987fbb3c99cf18bef978b4bcb214383cc6044b3ca56406be6cb6f9bc9a97d93b6d4f4f3b4541d5bd13b1f9bc0540d9ba1298843b43c593bdf91bf9bc78691dbbc5c3103a9f211abd4d0ec0bc104089bbf680a13bbdb464bc15bc2cbc1367d2bb7d00c43b079ff23bf99e89ba3650c3babc8a47be13378d3f1fd54f3ec14c47bd673049be2ebd8a3f77133e3ef78345bd0af82ebe1802773fb89e343e947c21bd8bddf6bdab1b463f39732d3e28aef1bcc33595bd883e113faae41d3ee52598bcd1f502bdcccbb73e40780c3e5f3338bc7d37093c0443293eaf3fd63d65c473bbabe2c53cbe29c83c497f5f3d1ca105bb3355d43ccf218fbdd9d9c33b202bd53a169d9d3c5e7357bddd3883bc46aa163c0e70dc3c15a1cabdfe682bbdd922723c25b0b43ca9b0eabd618c5bbd12944c3cd262373c7a1ad7bdde8f6bbd4911d63b5e881d3c51f4a9bd75a15cbd7131e6394704943be9ef6fbd875f27bd77d5d6bbe9e1613b7ef302bdc83fe9bc62b99bbb8154993bd5ce58bcdb003abc0adfa9bb5435e53b332caa3bb103e23a0aa3243b228040be9bbd6f3f1ed4d93e2d5cd3bda74e3ebedac1633f7b1cd63e7202d4bdf03522be5304493f4c6fc43ef60bb6bdd308e7bde226223f1ca5ab3e90b984bdf98291bd5326ee3e5c698e3eac1237bd480a05bd3647973ed13b573e663fbfbcbdec4f399924153e1b2d083e84da02bcd088a73c7ea0003de7d4583dd38d0d3bcffe863c46585abd341f68bc1b193f3b7d50813ceb1805bde42a27bd4504693cb44e9e3c8b9684bd086a9abd5c9ca63c33c0903c475fa7bd9150bbbd10448e3c9ca4603c904799bda5a3b5bd478cc63b1815b03b2e987dbd02f48bbdc84fb1bb24f6fb3bb23040bdc7bd64bd995ad0bbf118573b3104e1bc596900bdea05dbbb1e8a5e3b2a4730bc28e648bc4dd44ebb8883da3b985aa13be54190b9bb65c93a625d1abe3adf323f3c202f3fa52222bec6ba15be91f4273f8e77293fa9351cbe3082febda4d9133f3c511b3f63ae01be434dbabd4fcdef3e4bfe023f8a19c5bd230063bd4171b13e206ac93ef1e75dbdc9a4d8bc0baf6f3ece4d8e3e761504bdc5e51dbb7cd9ff3d48c3183ebf6398bb97d1453c6f271a3d4bee403dadf9c13b84a2873c569b02bd76420dbd3601d33ba3fcc13b9a8befbbd0507bbdb0609f3c3e7a3a3c891ff7bcf298dfbd6600de3cd1f5823cd2d539bdd44ef8bd05ea863c6e0b313c53b647bd899ae8bda17fd03ba424f23b1f7938bd368ebdbd0ef8a4bb2170df3b18351cbdf3ef81bd7cdadebb2dea563bc169c6bc707516bdbb43a8bbfeff923b026444bc400e71bca8d5a7bb9ef9443b3a54323bc4177b3ba699683bdbf5ccbd9d51e33e29cd6c3ff82048be542fc8bda8fad33e3cc4643f5a8144be9857a8bd7dc4b53ef1764f3ff1fd21beac926fbd7d72973e47552c3fe316ecbd760413bdc1d16d3e6924033fa8c998bd2553a5bce7442f3e50e6aa3ee2fcf0bc26ea78ba84f6dd3d4c762c3eb0fcf1ba81ccd83bf0df443d103c1b3d33205d3c9a40213ced020cbce5ce69bd28ac3d3ca64a66b96c673c3c2b3797bdf83dd23cc0b9773bd57b193b3bcf0dbe43d9e53c7baaff3bcc6e47bc8ad518be2fb5713c7476113cc077b9bc9c9b08becc112b3bc4d3bb3b24c6c1bc010ed8bd5ffe00bcba08343bd8cfc3bcb3f596bda68c25bcac3bf63a50869bbc0faf1cbd15990fbc3b0be939a0501abc3f8c4dbc6409d1bb1ce2303a6c3e14b9e8bf903b71af203b464142bd251d5e3e331e8c3f47d14ebe126c36bd6f9b3c3e4b3c8b3fe13f4cbe69d80dbd3c79193ef69b7a3f7dec29be09c1d8bc23be0c3e07c44c3fc915f1bd707f6fbccd52f23d05d5183fb82b89bd0fee0bbcb9a5d73d853dc43ec4f8d3bcab78dab8cc14aa3de420383ea31d063c7a1c9c3b99b8513d32d3eb3c2474aa3cad6d033b290e3a3c7c888dbd3c16a63c34e098bb8e33f63cdddff6bde081163d30766abb9d83ac3c8f8910be4db4f13c325bd53bb788e03badfc28bee7c07c3c5fc8153cf30285bb7dc017bebca28fb8d75fa83b330c27bcf6e8ecbd147836bc22599b3b906d62bc6cd1a6bda0e071bc4ec91cbabbc777bcc53825bd4c8450bc08e2a1ba511d31bcdd5b6fbc81ca3dbcbc5d3dbb09e09c3ac291343c81dbcf3ad76af0ba6c1027bc346caa3f4b9859beaeffe5bb521aab3c8294933fb57b21be85e9c0bb65419eb91fa3893f5af00cbe854fe8b9ff3d5f3cafd55f3f0351bebd0bf7fa397479f43c4bd6253f18da35bd7366833ab6843f3d48bfd43eb4d433bbc1ddb53b53f3623d57dd483ebb31973c3722f2baf2683e3d03512c3d241b183d203f2b3b2e16e43c1297f5bdd3cbfd3c000000000000000000000000000000003a09dab93793143d8fd638bef3e4ce3c1a40513b6f53663cfb911ebe9224df3ad8f7603b3857e83aa1b40fbea5e992bceba46f3b5ae87abb8235e3bddf3cbebc8cc1023ba74106bc206a95bd7668b8bc865b69bb09793bbcdb4916bdf39c92bc6f8412bbcaf6d4bb3bb7d5bbb2c71dbc0000000000000000000000000000000000000000000000000000803f00000000aaaba73ce5241fbe045ba93f29b902be7e5a433cb99ac4bdc311893fc0eb64bd20be6f3c39c191bd964c653fa7bbd9bc3288803c1a9e28bdbbdc283f024a923b8e87563c3eecb6bbd8d5d33ebb60f13cc345193ccd54af3ca52f533e66b6223dac7cdb3b1af10e3dfeab803a16c71f3d0000000000000000000000000000000000000000000000000000000000000000d912113d88b62ebedd8d973c14b9823b65eaaf3c38e110beb4639fb99020e7bbdd3bca3b3c47f7bd447e72bc0a1989bccc2d8839dd9fb9bd90ec78bc659bc6bc2c4eacba9cb06ebd62be7fbcf862dfbc709604bad911fcbc7a2186bc2944c2bc8016153b3abca4bbbb30f9bbe73084bc00000000000000000000000000000000000000000000803f0000000000000000d67622beffcaab3fc09316beb0519c3c32dfe1bdb2f1893f683e8dbd5e33c73cf1a3a2bd299f603f5224d3bceb7adf3cac7e5cbd2395233f16f0353c5f78143d079ab7bceeeeca3eca1e093d67ad143d9d971e3ca688403e7450423dc9b8fb3c8eb8f43c45202cbc29602f3dd3dda33c0000000000000000000000000000000087d6153dc393e7bdf2315d3c20b2133c0883283d80160bbeec29d63b60e0b8baeab8013d6ed714be989348bc672af1babbb1ad3ceae3fbbdf338adbc55644bbcf8af213c5e26b8bd130fbebc7a42c5bc93f4c43bd33472bd85d0cdbc4c52cebc441a6e3b98aff2bc4b2899bcb717b9bc3f3ddb3ab0cf12bc4f3f45bc8db37bbcfd829f3b575d1b3cc1fce8b9b45437bbb8f951be741eab3f06199fbc302de1bbef563dbe7023963fc4af6c3cd3ddbe3b5e6e31bee5cf873f5570073dc567f03a591b07bee576573fa06d763d6730723c5012aebd383d1a3f3616a43d93d3dd3ce54a1cbdfa8bbf3ed747b13d4e12fb3cc29e4b3bcfb4273e9f71a33d4816bd3ccb6d013d63cb453c13296f3d57d2613c02c9233dd73cfdbd85127c3c3d52b83bccd8f43c0e768fbdd7c2bfbb1c08253ccbac183d6aebf3bdcd36aebc27bff53b43a1063dd906ffbd1dc511bda98b21ba3873c13c15ebd4bd72712ebde1f57bbcb7c6433cc3ae9cbdf4fe15bdee3fcebc01df263c2a2259bd4d6d05bd2a7af2bc7cd7de3b1d96c3bcee78b8bc3a07d2bc8ff4a73bde14e7bb8ae652bce0de72bcac31993bd830f23b5ace76ba37b24cbbeee744be6e408d3f71f54e3e110737bd11a456be420d893fc55c4a3eacfa1cbd712440be37b66f3f2dc94c3e1c4ed5bc4b1712bedb5f3d3f30dd483e2578a5bb3de4c4bdcba3063f759c333eec339c3c997340bdfc8fa53e2c281c3e6a8ac63ceec29dbb8d52103e89efd23d439ff63c3023b33c5c86ac3beaf65e3d2c3cb83cbf3a083dff96a6bd6bed283a7d96fb3b0dbeb03c46a45bbde2e1d1bc34a6863c6325033d893cb9bdd2d354bd441c7e3c2337de3ce264c2bd14eb87bd9b57783be1ec963c48f7a5bdd75b84bd7f1e74bc4fb8653ca55275bde28f69bdbf21e3bc24cfd23b6fd420bd3b8f32bd79a6f4bce82bd23b28c4adbc3643ebbc6f08dabc73c9ad3be8ffaabbac4171bc04408fbc57db9d3bc1c2d73b5e2c54bbd6f43e3a91c939be76846d3fdff3db3e1082c9bd105046be37f25f3fa836d93e84cdb2bde1e12ebe65d9413fd988cd3e7eb081bd38e204becae9173f17acb63e286cdebc66a5b7bd298bd93e54df953e6aff443b23933bbd58f1863eff595d3e0677b13c2bdc0dbc2c24fd3dc94d063e1f1e013d4c39973c35b16a3c7ca8433d577ae93c2bcdcb3c66ac7ebdcf78bbbc322f813cb585943c769208bdc0234ebd8ca8d53c846fc93ccf2073bdc0a4a9bdbd13ab3c8f12c23c9ca688bdb674bebd9a4f463b1a52953c2baa68bd5ca1b2bd8cf273bc7c55093c59db2cbd9bda88bd068d03bde050093c780c01bd857957bd5c9cf8bc518cdc3b7b3686bcc3cd00bd4163dfbcf046923b56c69dbb710e74bc200686bc3aaa5b3b406ac43b5c5616ba49e137b795b616be8865303faaa82e3f015c18be5ef31fbec0ed233fa0902a3f9dc507be34ab0ebe63f00c3fcde31c3f96a3c0bdb53ddebd5df5dd3e207f043fbe2b55bdc19b92bd9b2a9f3e44ebc93efb2d00ba019d26bd1cfe4e3e07e68c3eacfda13ccfea1fbcfee7cf3db55c143e0dfc0f3d917f213c2912be3c7b9b1c3d29cb1d3d0526a03c2fc229bd214f34bd88bcaa3c47452c3c626555bc56f98ebd71e8eb3c1d62823cdc2cdabc11f4e4bd0346df3cb6fd8a3cec8616bd7b4af4bd36c6043cec275a3c1a420cbdc8b9d9bd7dcd7ebc770c223c3e54eabc4771a9bd8b80fdbcc9bce13b6ccfb2bc977d6ebda0530fbd5496953b20045fbcc18908bd65bbecbcd02ca43b4cef9cbb49387ebc684d86bc0823ff3a3872a83b877dfdb9949713ba9525cebdfdf3e13e783e6b3f764039bebc68e0bd1b8ccc3eb397653f73e42cbe9524d1bdf2d5ad3e4e994e3f98a3f6bde3fda0bd70438a3eae432a3f9c1781bd6ccc76bd5a234e3e7d85003fe9f237bcda5d0ebdbc95103e474ca73e97adc93cb3c94ebc682cac3dfe5b273e6c232c3d1379de38f850083db6afdd3cf319433da3854f3c092670bcc29880bddeb9bc3ce9c38f3ac6390c3c5214a8bd822a113df604073c633889ba1b650cbe39cbf73c69d4493c579d1dbc3ffd11bed4f6f23b1a14203cfc9f55bc383f00be825a80bc48fbc23bd7ca6cbc33ecbcbdee6d0abd2a18873beb8053bc8d8f89bd11860cbdf4e28c3b017829bcb2f712bd1a5defbc8f0aa23a194142bbbb0480bcd85397bca6df7eba89597a3bd10f093b4c0a3cbac2434cbd5c1a583ea0d58c3f241245be79e474bd04db353e86d78a3f089f35be20be80bd35df143e49cc783f5d0301bea65956bde955f93dd46e4a3f8c6981bd89411dbd5260cf3dd106143f52786ebbb1c5d4bcbc51ac3d0f21bf3e6c06ef3cd04719bcfd787d3d6e2f313ec382533de48f37bbdd17243d4e21973cfefa623d7e4e7e3b9b9b003cc7bea8bd7c3c073d059ac53af45db03ce748f8bd0db4283df199aabafcb4ae3c73a013be3061033d72cf2c3c6469d23b18e01fbe88629a3bf25c2b3c00ec0d3bd9a608bea5bcadbc5bcfcd3b625499bb6318cbbd6bbe1abd6c0a8d3bff4603bc52568abdf0d621bd2102353beccc09bc64de13bd6a4506bd1d96813a8a6aa4bb4b5c40bc214fc4bc27db4bbbc864083bb042123cc03900bb6e343cbca4d007bcc6d6aa3f917053be796594bc5b490a3b9bd8963f9b611bbe8c7808bd336a7cbbdece893fbffedabd0a8aebbcb39c113bbd1e5d3f39ab35bd8371bcbcf833853ca57a213f14756c3c3e9c89bcc26e0a3d552ccc3ef8023f3dcd74f2bb8e07333dad733b3eaeb1783d23692cbcc859393d0295aa3cd91c863d365da53b2679c13c291400be4d57203d0000000000000000000000000000000076c2cd3be283003d630733be222db33c1de3b43b1a60763ccead0dbeaf7d55bce52abd3b1e96a23b6202f9bdbfa623bdb2c17d3bfd58ca3a990bb8bdf55a46bd6da2d33a06085dbb46f476bd7dd33bbd30dedd3a004aecbbe7dd04bdaa4518bd5f47a9395c2cc8bbc6e8eabbc8699abc0000000000000000000000000000000000000000000000000000803f00000000e8e54aba865223be11e6ab3ffad7fbbd26490bbc7dcbd9bdc3348a3f9b391abdf0d942bc393d9ebd900d623f57eb843ca6c004bc525c54bd5cf1243fdf4d3e3d8d2786bb1a786fbc8949d03e0bf9893d6536c8ba9ea5783c1e07473ec4db943db035883b36fd0b3dd22ec9bb08356a3d0000000000000000000000000000000000000000000000000000000000000000580d753dafd60bbe6fffb7bc5369f0bc7ec7813dbd78b9bd7956d8bc1fcbb0bda280653da27788bd97f2f2bc0dc7debd7b6d333d958636bdaea7e8bc68c6d1bd77a5073d0d270bbd3e7693bcc7f1abbdafc8843cd93498bc92ee1fbcb71f5dbde599193b3dbe8cbb3f28a1bad82fb1bc00000000000000000000000000000000000000000000803f0000000000000000934241bebc5aa93fc2f394bd17fb023d5c924bbe3409813ff039593caf4c093e1cfb49be1035433f72c2623df713483e7ec12abe71eb073f70778b3d6863503e48a509be8509ad3eb54b493d2fd8433e87e593bd4d3a253eea19e53c52990c3e328911bb6a3c8ebba045ff3bb3a2713d000000000000000000000000000000006f7e0e3d313fdfbdfb0449bcb1e4983c520d923d502502be6968a0bceb9301bd47ce8f3dc553babd0fe402bdafa3bebd3a86803d407d82bd5dd9ffbc80d1e7bd2cf23d3dd19229bd39dcf6bc67d4dbbd55e6183d246505bd02469dbc3c7ab5bd98c58b3c363075bc72d818bc1c7667bd3686a03bfaea8eba704782bba11ee9bc353a66bbdec4df3b81ec953a66409f3b75972ebe677ba93f5660063d520e4abd487180be6d5f9c3f8eb2483dd0a8fd3cbd3176be786c763f2c64f43dc594013ee5d370beca2f373f45250b3ef398443e4a7d38be5b7bf63edd89063e67864f3e732617be31f09c3e2e41bc3d1508473ef9b29cbd70cf0f3e20c6413dcfb9073e93e130ba591ae0bb4842c03cdc868f3d492fe83cb67ebebd889061bca0c577ba4f4c023d419a9fbd158b9bbcb286883cfb03893d355ed6bdde1017bd06b01dbd5ed18b3dd3e68fbdaf8c32bd2924c7bd83bb7f3d1f6e59bdd3431abdd5c5efbd6163373d1ffd06bda3e909bde4e5e0bd6111143d97e0c8bc072eb4bce6a2babd12e4893c7fbd42bcc76f59bc3e1d67bd73fda63b82c8d1b969d284bbc851e3bcd7b722bb3927ea3b43e40e3a8f2aa83ab01e32be4e078e3f74c96d3e1f838ebdf2157fbe3668883f8e3b763e0975ce3bf1d27dbeee81543f1f8e873e5117eb3d832d75bed78e1e3f0d5e793ec1843c3e89013bbe4438d53ea49d523ee97c473ecd1b1abe5c4a863ecba4103e7077403e5dbf98bd0f19f83df76a943d918a023e02d6f9bb4390a8ba338ba73c6f2b883de326cd3ca98988bd635c87bc83b0be3a6e16e03c2a3d7fbde97001bd91434f3c9013853d5adda7bde5bd51bd62f42ebd8881893d70526cbdd81f4fbdd8ebcfbdb974763dc7e826bd359b33bdf0aef6bd686b353d23c8d3bcb3cf14bd1cbce4bd5aaf063df4bd8bbca200d3bc0e63bbbdd1638a3c7c5c24bcd9ff5ebcf74f69bd6c4bb33b1ff4dd3a745cddbb1033e0bcb72416bb0976c63b8eee32ba0b90803b1f331ebe5954693f5050e93e8e81d4bd53c070bed3835b3fa32cea3ed237acbca1c674be98d62b3fab84da3e9cc6d33d0fa56bbe0d59fc3ead7fba3ee3b5373e05d23abe7294a93e3fe7913eb1d4473e476e13be4b01543e2b79463e5a563c3e7e299dbdeb5dbc3d1ab0cc3d6b6d043e290718bce8b927bbe511bb3cc4c7893d4d999a3ccdbe56bde200debcd728bcbaeb85dc3ceba950bd53ae34bd7d5b7f3cb5ce7d3da8d077bd9ce086bd78af40bdadcf883d887b29bd5a7c78bdf059dbbd3de7753d3dc6edbcc38451bda2c2fcbd70b12a3d4245acbc16fb26bd464ee1bd948e153defa164bc4a51efbc3a62c1bd61e9743c2a0bb4bb37d47abc0d666bbd93839a3b81dc263bd2bedabb257ee0bc63d611bb8af4ac3b415a1dba9ee29b3b50a008be5e9f313f8e2f2e3f615109be1d7152bea758233f065f2c3fa4963ebdecd060be182afd3ef985173f6896c13d647c60beee18b93e7a47fa3ea2e6303ea1bf29beb3f1793efdf7b93efa42403e5ec90dbec48e183ec9c47b3e94f83a3e58ea8cbdf10a833decf1fe3d2c5afc3dd0f62cbc543ca7bb9712d13c7f928b3dd837a33c87c22dbd31a818bd07b4efba4cbed33cb72c0cbdc1006bbd6f86443cb9b1713dbd4e28bd1920a8bd9cb73ebdcd5d873dfadde0bcc84990bd0e81e0bd15eb763d3d37adbc4a0b65bd73bf01be2a9b383dcf2757bce16236bdadd6eebd609a073d47eb07bcf527f4bc3886c3bd3379683c6d1482bb1a7f86bc96f468bd6c29993b9abb433b5ffcfabb21cfdbbc8efc1ebba2588e3bb40740b9c134b33b9f0dd1bd60aaee3eca17663f6cdf1dbe827330bebf8fd23ed638633fd03c8bbdada14cbe746fa43e4947403fb3d2b13d7eb94bbead7e6a3e66491a3fd7f02d3ee4bb25be21411d3e2b7fe33edb8b443e0a8b00be1801b53db8ec953e41083a3ef54280bd6e84143df097133e7b2ffe3dd8f306bcb567d7bb0c87c13c71e88d3d2d48983c14d4eebcda074ebd23cfc8ba022ecc3c57c8c5bc854d8ebd3a7ca13c670c673d3a0cb6bc71c4ccbd9cf13bbdbe5c863d59387bbc671aa5bd302be1bd696c703d959425bcd9b37ebd565104bee2ea2d3d3cb4e1bb7cbc40bd8ed3edbdeb36023d4df08fbbfbe706bdba7bc1bd7c58543cade7b6ba8c2596bc71a367bd73297a3b6b08fc3acf04e6bb8a66cabc4f3b56bbb1a48f3bde5303ba3a77b93b518b87bda370773e6f438c3f176d30be89460abe16a0483e11198a3fb791a3bde78d33bec10b1f3e2f49643f2eccae3db2a43abe795bd33d2b8a353ff0db2f3e0cf115be40a88e3da38a023f6282423ea111e6bdc1e3e13cc0afac3e39333c3efd6660bdfed1f23b1dd1283e4a60003e0302ddbbfdc0d9bb466c903cc7c5903d56da8d3c5ed88fbc51907cbdda45bb3b9c46f33c525d81bc6532c6bd795f783c6e49613d2c92cabb50c4ecbd34bd1fbdc068863d96e30fbb3345babd047beabd9491773d35a061bae7118cbd85ce07be34b42f3d954483bb62374bbd149aefbdb92e073d401389ba67120dbd0f6bc6bdbf01403cb034ecb81ce189bc239569bd7f5bda3a2852803b17c0cfbba114dabc2c6db4bba2738f3aa930563b526b253c984f35bde669393d1e47a73ff93c2ebe9a3ac9bdfc4eb73bc12e9c3f7ed6a3bdedeb1cbec4183b3cd952803f9a94cc3de7a029bef03beabb5f3b483f9abb403e573c09be479b20bc8dce0f3f9c3b523e582ecdbd787bd1bce87abb3ecc29473e3b0334bdafb299bc16552e3ec406063eb6347abb06dccebbc1d6503ce233a43d52dabc3ce6c827bc3e25b5bd3c9336bb00000000000000000000000000000000837d823d6e2c213bc55105be6b1d7fbd9d7a803da0eccf3ba019b9bd2490e8bd1599633d0deb6b3b3bb293bd2d1a05be7ff42c3de1860d3b46325bbda39af1bd9014e43c28ffed3acd0b11bd4d5bbebd0de3393c0447b73a7586a5bc056564bd99e10b39acd042ba1c42bebb3e448fbc0000000000000000000000000000000000000000000000000000803f000000005c89babd7c69efbdd41da93f28c9bcbcbe3b08bee7ddc5bdc92f853fb895093e80f512be510fb8bd9603523f15595a3e81cdf6bd66f494bd8a30193f41175d3ee0a3adbdd1be84bd28aec53ee614463ed5d314bd21da28bdd73c413e6c51093e0ffefb3b788968bc0a98cc3b77b26e3d0000000000000000000000000000000000000000000000000000000000000000d93bd3bc97a9b0bdcbbe57bc26b7f639a2e3d5bccc15a3bd9c2a63bcaf65243bbce5c4bc25658dbd7d2080bce47b313bb7c4a3bcfe9b66bd232c48bc0bd58f3a1a5586bc2bcf37bdd74345bcb41e7a396f5332bc640d05bd3e101dbce8a3b0bab49674bb3f8398bc0853bcbb9e9355bb00000000000000000000000000000000000000000000803f00000000000000008168c9390fad8c3f7e8956bc57dc03bb95c3e13bd4f86a3f94caa5b99f6eec3a118b123cae7b3e3f1dba9f3bbe662d3b3363bb3b6ad8133fa8a23f3b7c11d3b9a59e52bb3effd43e9e07ee3a14e99fba875f41bcb7c1843e8fbb7bbb5f4e9bbb2845c0bc66ced73de67444bc6af50cbc00000000000000000000000000000000eb4878bcc5106bbdcf9218bc5142beba6828b1bc4410bfbd66a195bc2ad6cd397b2ed3bce015c4bd478dafbc95b1013ba6d9c5bce3bbacbd910ab0bcd9221d3bfbfdaabc698a89bd2828a6bc5a33f939b0537ebc172a60bd37fa8dbc8e6ceb3982a801bc23c41bbde38c4dbc7276dbbaa13abd3afaeb9abc6078a9bb2ca596bad558a43b55311dbba8bba8b9a1fc41bb318404bd1cc28b3f173de13de7b291bc12dd02bdb598843ff09ed43de8b97bbcc74c3dbcb41c603f6542d13dfde5eebb5af8ebbb4790353ffb4cb63d27f699bb5fe6f8bb1c690a3f45c5963d4b74bbbbc60a62bcd7fac63eb614543ded87f1bb3bf6c1bcd9da723e7c93e23cb69934bc0dcd06bd7ae9be3dd9b4713bc85f5ebc0921ebbc78d4ccbc33bb66bc4bd450bcec6d31bcd2ab23bd0f3717bc099d8dba4f9692bc619398bd3204abbc0ece3a393fe884bc680f8fbd299dc5bc21e3133b735f93bc018c96bde612e3bcccaefd3a798250bcbfd963bd2e80bdbcebbead39e31925bcd13743bd8af6aabc286ab1ba284c8bbb1adefebcebad6cbc44d29bb9b39a093bae9785bce61af8bb899db6ba4e86c13bb144e7ba6416e6b9bf4e0fba1ef61bbde0a1693ff32d853ee071d0bc8b1a22bdafd9603f59eb7c3ed63ed1bcdcfbbebc2cc5393f62ea643ec30c86bc18c094bcf9491d3fc220403e5f6e3bbcc10970bcefb2ec3eb0ec163e46cf01bc6e87adbc21f4ad3ef03dde3d4c1c3fbc2ebbc0bc57d9573ea642893dde2b48bcca1d02bd3c57b23d9f5ecb3c414281bc2750c4bca0c56fbc68780ebc196b6dbca35714bca337f7bcf14f34bcabe0313a36dc5cbcafff6ebd4e13dfbcbb36213b63316bbc0bbf88bd4d8d0dbde63c543b943e58bc83537dbd56350cbd9a7a403b713b2abc771452bd1cdff4bcd777a93abceef0bbb2552abd38b5cebc0fba663ad51253bbd894ecbc5c079bbcb0f33aba0c08263b991477bc9d2310bc579035b721f8953b225f0cbb8c08a6bab21b1ebaba3510bd2a773d3fd5e7d43e9c5eeebc079923bd87d9353fb1f7ca3ecd99f5bc5b4fe3bc06741d3fcc34b33e7fad98bc0af6b6bc1c11013f4e5e953ef73761bcd922a7bc0399c73ecbae6b3e39823dbc50b6bcbc5045903e6c712b3ecb754abceae7d8bc9d58333eb3a6d83d647b69bc295ae0bc84fb953df46a3e3d76bc8abcc9cca7bc8af426bc342eb4bba12d38bc4ee2bbbb77fccbbc24dc7fbc48a0213b6f4732bcbc1042bd0e5a10bd067d3c3b1df623bca29f59bd8de724bd7eece73a611422bcd83056bdc8e62cbd650b473b368ae0bbcc310dbdc6d6e8bce206873a7f96b5bb8fbb13bd2945f9bc51ff233aaf26fbba1b06babc78e2a3bc522988b92c431f3bd70e2bbcfbcb38bc33b1a9b9dfd52e3b2ea300bbcf3195b92e7eb938c67f05bddd30133f8c64133fb52d02bdec6b16bdd42c0c3fa5730c3f1bbbfebc8380cabce69aef3eb9adf23eb09986bc8aabb3bcf761c93e6433cc3e203e5cbc435b73bca4f8953ec77a983e1fefe8bb6868b3bcc64a623e54c2693ed0a039bc81b4b0bc75280b3e0d61123e94223dbc96efbabcb25c693ddef0833d905b88bc022185bc61da29bc337e99bb7a3e3fbcf0bdc4bb30aab1bcf9efb9bce59c693b6a570abc4c1326bd6df947bd7e16b13b0b4a00bcafb845bdf31967bd53e57c3bb107dcbbcacd3bbd50b559bdf6ae233b8eeababb387521bd72fd38bd56afb43ae90370bb8e9f00bd2fdd14bd73f3bab8b8f6c5ba6f4ab2bc2e88d6bc094bd9b9bccde63a1cc81bbc314554bc5916003a12e9443b9cddc937b64ed7ba69ea983a672df2bc44b5d43e67d43d3f1fdc09bd39550abd9206c93ed8df363f4db50ebd0265c9bcd088b03e417e1e3fa4a79cbc01bba8bc422f923ee076023f37fe41bc3f429cbcaa7c643e50a4ca3e5d140ebcb730a6bca527243ea668933eae4f22bca8d6b3bc55dac63dabbf393e7e3353bcee74b5bc5a6a163d5d3ca53d96f57abc791f7fbc4cf746bc5f1db1bbd9c03cbc94466cbb7030b1bc06ea08bd5e19913be4a8a4bb7a4619bdde1f87bd971b703b660a5cbb440d20bd7c9281bddb5aab3a126cbebb57992abdcc468bbd8b23003a18c99abb5dc902bd7e6950bd03f174ba16a926bb72fbe0bc33b534bd40580abb62721abaef198abc75ace9bc9646c9ba214bca3a7affe0bba04f80bcadd4efb972caf33aacb6883a888669bae206ef3ac6c5ccbc5003853e1dd6693fa9f810bd380cdbbc6408793ec16a613fd40d09bd775d95bc5fe55d3e1d063a3ff6cb4ebca28e6dbc75ce393eeb621e3f0ffac8bbc86357bc3f370f3eb7c0ef3ee35220bbfed98abc83b6cb3d4e6fb03e40cfc5bb5a5c88bc8f3a713d5ba15c3e11a440bc9b1090bc42287d3cdb43be3d678286bcae2d51bceff981bc96362abc895453bc51470fbbd5a6b5bc070859bdd6dc403bebbe3eba4e540abd8344b9bd0e3f55ba711087ba53a91abd4d2bbbbd95095fbb5bd943bbb9c610bda17da6bdf006bbbb4c981cbb8957eabcbe4f81bd606bd4bba57ab4ba2c6abfbc9c4257bdc08ddfbbf63820392e726bbc392018bd6e39b3bb037fab3aa6d088bbc7038cbc166f77bada09b93a60a4453b6c9e10bb7a2f203a9af38bbc48cfdf3d9fc28b3fd41de9bc085986bc7f2fcf3da6e4843f591dc3bc50282ebc608fc43d873b613f10d6c9ba199e0fbcce6aaa3d8441363f8511e13b1e880abcfc07853d861a0b3f5741fb3b76bc39bcdc6e2d3d66a7c83e22861d3bce304cbcdf65863cd895763e8160babb4d7540bcc6e3f1bb7d60c33db78f75bc53d32fbcb837b8bccb29b8bcf17b7ebc00000000000000000000000000000000289a24bac992e1bc8a50aebd59e69cbb6654e9ba4532dabc08b9a0bdb869fdbbf87405bb26dcc6bc470c88bd6a5e13bced9d00bbf3efa4bc7aca64bddaa11abcd5abd1ba64da80bc8a4a31bda7e81dbcaf7f28ba02ce21bc955802bd8d7814bcabc116b7334278bb17809cbc1397e9bb0000000000000000000000000000000000000000000000000000803f00000000ebfa29bbd7637dbc21d18c3fbac3c73b0ed671baa79c9cbb976e6b3f2333833cdbd798ba6620c3ba7f043f3f2e1f933c2dd280bb8fa0ecba77e8133fa77a8b3c7cc38ebb90bbc7bb8a5dd53eac001b3cf4a8c8bb1b4947bc1109853ef7f6393a158f05bcd6fd9dbc29dada3d95e413bc00000000000000000000000000000000000000000000000000000000000000009f432cbddb6f4ebd057d66bc9b4100bb3fd224bddf794bbdff9f6bbcb82837bba4f41cbd37c841bdc92081bc21120bbbf0f404bd909f27bdb32288bccb723abbd7c7e0bc219f12bde35f61bc67c284bbdb6da4bcc779e2bc22813dbcccaaa4bb54ac40bca9309dbc3ead14bc42c59ebb00000000000000000000000000000000000000000000803f00000000000000002ac4dc3c66907e3f9ee6623c6d44163c7c5bc53cd427583f8eaf963cbde74d3cc330b03c1b4b323f3dd4a53c14936e3ca51b743cdb7d0c3f3f9e903c18e7533cdfbee83bb5e9cf3ed15a543cc722143cf592d5baa1c6863e0587c53b4a717c3be8b32ebc01e7f73d8fd5f0bae36802bb00000000000000000000000000000000a1f6edbc7e7704bd18f314bc312b11bbf41532bd00e75ebd80c38abc379f51bb55f239bd714078bd5688a3bc517a4abb901d39bd392371bdbef3a7bcac3ea9bb01d211bd3e2c4bbd79289bbca66488bbdcf500bd7f0536bdbad89fbc6ff9e1bb10fca9bcc3b704bd81f26fbca5b3cbbb5cad0dbcab1b9ebc709e19bc9bdcdfbbb072a5392db1b6bba1775fbba126a0bbe9202f3c6d1b7c3fe7fe063eeae176bbded29a3c10e1673fd7f9033e92fe5f3bc873b63ceadd453f7750f73dd36e3e3c5db69b3c0ceb233ff50bda3d53f6703c8e7a4c3c0025ff3e2f2bae3da0984e3c019ce43a6c94be3e1f7b853dca5b1c3c5252c2bbe3e0723e0c98203dc22c133b07d68ebc5957d83d0082383c5551edbb7cdf8bbcbd3f38bcd72709bc865110bc6f02b8bc65feccbcc8ac15bc42213dbbe09915bd2f3f3dbd989092bcac745ebba4550ebda8593dbd630aa5bc93b950bb34651dbd774a57bd238dc7bc2b1aa2bb056cf4bc9de629bdc4dfa9bcab0ba9bba6f1d6bc868821bddbbbaabcb25fd2bb354a8dbc135de4bcca6b66bc3e52a1bb9569cfbbfa8f88bc035e29bc7050cbbb0ea29f3a2b388cbb477c65bb4fb294bb0b74273a971b563f9316893ec84491bbe1650c3c8941463f4a33803ee1a08b3902f6293c4357263f4e5b633e3d23083c85dc2e3c8c0e0d3f773e443ecdf0603c1621c43b72cdda3ec8891b3e80633b3c07747dba7294a33e2e39ec3d61c2033cf9c707bcec1d523e655d973dc23c373b597a89bc4b40bd3dbacb063da52aafbbd36968bc395501bcd9399dbba1000ebc529695bcc9d6a7bc786700bc1b368aba1036fcbc3cb625bd3ddca0bc99fa60bb15f40bbdbf4a42bd10f0d1bc99ed96bb7cac05bd9a4f42bde891ddbcb098b2bbf06ee6bc27912abd1777d0bcc6c2cabb9a8fb4bc49b110bd14e6b6bc4b73ffbb9d4366bc92a4d2bce2568cbc4f40f1bba98ab9bb5d2c82bc5c7a44bc90e6e5bbae53913a171e15bbdc2a84bbab1883bbc2fa9dbbbf02303fbc1dcf3e31b1b2bbf8e05b3a6431233fb2aec13e180ad43a707ebc3b20110d3f3fc2aa3e2ea0323ccde5af3b3a8cea3ec279903eaa85623caee0053b3132b83ee864663e3537593c19c18bbba9e8873e8f232c3e890b143c69481ebcadb92e3e4ddae43dff0d1e3b0db062bc0f3f9f3dba644b3d17620bbb7f1f70bc399cf3bbcf9576ba8660f5bbe75e87bcc343a6bcd68f0fbc97c4f8bac1a4d1bc6c1313bd8a08b5bc50885cbbce94ddbc612323bde47eddbccddda3bb5720edbcbdb52cbddf1c02bda233e5bbb672a2bc4008f6bcea7db9bc1b6bc1bb5c41aabc649102bd68e8cebc98fd11bc498641bc002fb5bc99879bbc4114e8bb4305a9bb0f9042bc4d953dbcfc49eebb20daec3a7db92fbb585b82bbc5e23cbb380bafbb82850b3f82510b3fd1e442bb43353dbb8d6e003fd690013f1614aa3b89dff73a6e38dd3e9bbfe03ebd215e3c4e5e21ba3233bb3eb4d3be3e6852883c20802e39f1ae8e3ebf8e923ed05b5a3c233788bbc589573ebe44643ec46b573c2b991bbc286d083eb97f123e8a86b83b1c8c69bcb00f703de3108d3dd7bcf5b955b946bcb74709bc32e3abbae3db75bb7a0764bc0021a2bc025a49bc5d817eba24cac6bc68880fbd95c7e5bcd64772bb6911d0bc941627bd2fb010bd7516e6bb4f43cabc0d5426bde21e15bdf60c02bca27eaebc826110bd62a005bde3920ebc60a789bca3fcf5bc38bef2bcc4b11abc08cb2abc4314b0bc1a5ebbbc676b08bc35043cbbc67d34bc7a1b67bc83a5cbbb06c6023b8c31e8ba1e9d94bbe7c838bb92a60dbc27f4ce3ee7a3303f6fba963a8f76b5bb8650bf3e944d243f9ca1273cfa6fd2baee26a63e636c0e3fda25973c1f6e1aba803a8b3ee286ee3e93acb03c6af217bb701b5b3eef75bc3e22d29f3c5dd0debb0ff21f3e90a58c3e9117753c446b35bcae57c63d11b9373ecac00b3ca3b073bc45ed1d3d5ec2af3daad5543ad95e41bcd7a12ebce297baba31d44fbb3ff83abcac8ea4bc5c2f8dbc22e2d6babb06a3bcb75411bd4b9712bd0f97b4bb08d5a1bc239f0ebd791617bd1c5000bcd1a3b4bc94d91ebd74a831bd025f32bc822896bc9cf1febcc08010bda81e37bc1c295bbcc4e7e7bc53a20dbda78424bcbc9b0cbcbe5997bc1341c3bc63f112bc5717c2baecc218bc918383bcd590f3bb78cb4a3bc9e238b9567fbcbbe06c8cbbcd2d17bc95bb873e3ded553f3431b33ba837dabb979a7a3ebb12473fd4168e3c3e1095ba022d5b3e1b5f273f6a42bd3c295c9dbae686393e1cc70e3f701be93caca0d8baeb53103e10fedd3e10d0c03cb6c6e1bb4b39d03d3259a63e0af3a23c7d5e14bc79337b3d6756583e0dcf263ccffe70bc2865903c2e7dcc3dae58f63a99dc28bc7bc775bc99c714bb78e6c8bb40373ebcda5cc2bce59ad8bcd07a63bb87b887bcfe9a0ebdb5443dbd284209bc841ea6bc81671cbd289856bdedfb5abc761aa9bc0a4618bd959552bd88fe7dbcf42c8abc2b3af7bc879f2ebd323c6dbcbea257bcd120d1bcdee225bdd28063bc2d47fbbb7cf38ebc33d0f8bc07195bbc107710ba33e6f5bb2a4b9cbc969619bc99cf443ba1089a389676d9bb0d228dbb9b8fc9bbf9a0043e8f2e7c3fac01823cc9a086bb225ff93ddff2683ff75af83cd9419539cebde23dffe5463f0b161a3de1ebb7393663c13d2b0f253f75201f3dbf889cba10bd933d219d003fd264fb3c0b0ab9bb740d493db45bbf3e2f09ce3c448f1fbc961dc43c487a773e91aa6d3cd02964bce9bb18bbd369e33d4d6d373b308c4abcc85199bc457b07bc159b6ebb00000000000000000000000000000000464089bcfed502bd8bd038bda67c2abcb6cc87bcc348e6bc669d34bd7de362bcb0fc79bc5681efbc760034bda25d5ebc0ab86abcb4ffc3bca1e817bd7ab768bc24cf3cbc748ca3bc164e08bd45fd6dbce627debb3d6061bc96a8d6bc47dc51bc600c10bb0a30e0bbbea598bc894f2fbc0000000000000000000000000000000000000000000000000000803f000000006475393b30e2d63bfb377f3fee5d143d5e6d593b6a682a3cb631583fe07d183d6d25943bc91d193cc890323f6f54153d9f94b13a5faddb3b04f90c3f5642f03c2d490abbecee863aaf02d13ea77dbb3c74d1b1bb63d8cbbb21b0873e5a34633c561b22bc90797bbcea3bfc3d8c7a933b000000000000000000000000000000000000000000000000000000000000000036e359bc677038bc2117b8bbacad17bb155c64bc386349bc128d9fbb6d98b7ba374159bc980a43bc1844dabbadcd4fbb4ffd55bcc9ef23bce26fbdbbdff933bba70036bc047b29bce98fd5bb0eda68bb4a2409bc92f503bcb264b1bb1a8650bbda9df1bb5340f1bbdc9cbebb08078fbb00000000000000000000000000000000000000000000803f0000000000000000d6ab1c3cd062653ff4bf1c3caaa5143cb8ac1a3cdcb0443fc6013b3cddcd153c497dda3ba403243f276b213c59b51e3ce657a13b3886023f37dd0e3c09f42a3c8755453bf692c33eeff2f93b6b45033c7b71623af0ca813ed88aad3b5b18c23bf3103dbace1f013ef0ac603b44988d3b00000000000000000000000000000000a38220bc955bffbbe63689bba47101bba56172bcf45849bc76a9d1bb652631bbb1f886bc035e6fbc9c1adcbbafa833bb447784bc10786bbc58a905bc488a74bb97fd56bcebff41bc4500edbb6bd86ebb1c7057bc834447bc52b8fdbbeb068cbb6db139bc9f1d32bc538dc7bb231767bbfb74e7bb95e5e4bb964caebb8f686dbb0a245ebb0d2f65bb175b4bbb7ecd20bb9860cb3b2856643f7fe2053ec821ce3b4947213cf2184a3ff683f73d9a61203c84c6163c62412d3f1addd93d6a8f3c3cecbe033cf185103f4ae0ba3d05544c3c3e48a73bebd9e53e7d01953d2860263cb9cb753b3eecac3eda166b3d5ca0303c54ac8a3ab5d7643e821b1b3dc968f03b8cbce9ba00a2e13d95049b3c36f8893b29d736bb114cbaba4d7fcd399b18a13a389e0bbc7653d7bb41815cbbdc93b5ba388b62bcc3603cbc0f65d3bb89f735bbfb8645bc3a7f2ebc67eccfbb7fd434bb9cf670bcdf7658bc222804bc9f1b7abbbd7d3fbcd48c2dbc4e7ee0bbcd8b69bb1c2a53bcee9d46bcce060dbca77daabbaa3a13bc0f3ddabbba9295bb255c1ebbe526c8bb4b61cebbb43bacbbfdda81bb6c2dd9bad247f8baf794e8ba5201beba7d0daf3bd5df433f7bcf833e977f9d3b8c2a033cce6b2d3fa8ef6c3e9f281a3c303ec93bf8e8133fb2334b3ed422133c2618d43b850ff83e54592d3ece2c3b3ca409843bcf21c53ea6ff093e16f1143c52e9643b01a0943eddfbd43d03f2233c0db768ba0781423e600a8c3d7a68c23b5f253dbb3922bf3d33b7063dab06073bd0da09bb4ea738bb5d92b1ba9d005dbaf737f5bb70ffc2bb1e1052bb44d2a7bacaa953bce3cf34bc9f61d5bb007a3bbb9a8c5dbcc3f943bcb04ff4bb198d55bb53bf77bc4dc860bc6b8217bcdb869bbb65f847bcc16437bc512ff7bbfdd179bb8d6b3fbc384e33bc5aeafebb71578bbb021a0cbc668d05bcd78ec7bb3d0b69bb0ffcb8bb2da3b9bb5bed91bb23e335bb7ebe0ebb65b117bbae480ebbd49eddbab545883b6e0b233f934bc43e56de9b3b3193d33b1b7e103fd945af3e76871a3c2b21d63b4045f83e2da2973e8bbe5d3ce3bee43bcacfcf3e1416803eefdc593c4ef0833b3127a53ec7e14b3e4d212c3c06980f3b87b2773ebf141a3e4f64193caaa4b8ba2c65223e1c05ca3d832be63b38e88fbadb229f3d7b61493d42213d3b7d0383bb3e1167babe554b3a1ce4af3afa1d01bc1f4addbb68568abb966e04bbdb6152bcdf133abcce25b3bb39ac76bb20746fbc44115fbc17c003bc8bb908bbf4de5dbcffc74cbc524b0cbc333083bbeca91ebc1d0113bcbe65d3bb75ea57bbbe7835bcabb62cbc42bb02bcecab8ebb73e016bcc60e14bcec4cb0bbba0247bb700a96bb20df9bbb6124c1bb9d5a8fbb024a10bb546b25bbbc3c27bbe68e17bb9537913b4fbd023faeed023f1a55cc3baaa4cb3b18b7e83e07b3e93ec5f52b3ce9d8c73b3be9c63e544ec83e54843c3c4c09a33b502da63e96f4a73e6ceb453c7815363b99a5833e7c14853e9c570c3c8c90ed3a0aad463e6c714a3e0b151a3c6ab7ff3995af033ed9e8063e6cace03b588949bbd2557c3da8e5833d53ec1c3bed6d44bb75de16bbb371aa3a311fe03a9c72fbbb5683e2bbb97590bb18810dbb7a8c29bc4ec237bcf3d4f4bb240b5abb73414bbc416c3bbc2c8a03bcb1845dbbb28b5abc40ec4bbc20ff14bcc3628cbb850359bcc1e62cbccb0903bc533984bb0d0034bc82712dbc1d850abcc2489abb10060abc7cf309bc43c4ebbbbcf198bb677aa8bb4e8ab1bbbaa89fbb6cd85bbb567cdfba068104bb8e8f09bb464ceeba5cec6c3b5363c43e6870233f8874da3bc902963b17edad3ee755113fcd5f283c4c7eb33b9f12963e859ef93ed9fb4e3c439e953b03b77a3ebcc6d03e626b503c0255443b9ad6473ef0a3a63e0c0f313ce1e5a83a0374153ed09b7a3eec34183ca50988baa16dc33d5fb2253e0d6ef73b650404bb61003f3d9c31a63d5af9723b6ff418bb0695f5ba86e83db84fa9233adf7d11bc6fe108bcdffcbdbb722c75ba7dcd41bc334e31bc0ee3eebbb26319bb37f330bc96aa26bca046fabb83cb5fbb572a5abc781c4ebc928920bc923797bb9f8e1dbc1f6712bcce7ae5bb4ac24ebb3ce41ebcb02618bc42faf6bbd8b1babbe89ae2bb0844e0bb4ef6c0bbb6da6abb0858acbb86e7b6bb440fabbb337871bb59baecba21d913bb199a1abb511efdba1e16543b357e833e3ea8443f64571d3c6f6ac53bd1af6b3eb61c2e3fd219483cda2d823b408e483ee296143ffbdf343c4ce4903b648e293eac96f93e51c7633c7af8e73a627a053e9df3c53e2a19203cd854543ab5eac83d9259953ef1f11e3c1fa5e337960c843d90f1453e180fc23b1d1714bbd236f83c9454c53d7801733b6bf626bb9e0716bbd8dda8b9ee5e253a2fd604bc78d302bc2450c3bb0e9d28bbb5e953bc9c644ebc39ab24bc0c6234bb8a9245bcbaa13dbc3e763cbc9ad2c5bb88b574bccef25cbc4c845dbceb2d8bbb5e4c2ebc3f5325bcb38811bcb7a39abb0f0a3dbce14939bcbba32abc840798bb4084fabb2921f8bbfce4e8bb8a4d90bb4954adbb70b7b9bb6c91babbbbe785bb6e2eecbac9f90bbb15ab16bb50ccefba804b873b1992063e9af1643f16ef203c899bb73bfa03f33d2a794a3f28bd6f3ce28ba93b9e85d23d0d2f2e3f0e90733ca49fae3ba6d5b23d783b113f39a7633c3605373b04d08b3df0bbe63eea953c3c0fe1033bb9b0533d83bbad3e949b343c9f9488b7ed73073d225f663e1584b03ba79511bbf5c8683c13e4e33d697d733ba2b60cbbb5200cbb89fda8b9832da53a0000000000000000000000000000000038ba42bc65f21dbc86c602bc799e3cbb198726bc4e9e1ebc9b4d0cbc865679bbf57023bc2ade1bbc5d290bbc243185bb5f6317bc96380fbccacd02bca9268cbbf7e704bc55de00bca612f7bba3a490bbff98b1bb4b45f2bb0350b4bb8c3eb2bbff2694bb83739fbb5bffa6bb5f497abb0000000000000000000000000000000000000000000000000000803f0000000071b8aa3b1ee9fc3b14b6653f1f3f643c49c58c3b2403e23bf095443f9a494e3c7159823b2db4d63be6e2233f1806483c8b67203bb22c993be0c4023ffaf8223c8aebb23a2659553b9f19c43e18d8093c394ee8ba0a8011bab54b823e4182bd3b836eebba6b179fbaea48013e2cbf573b0000000000000000000000000000000000000000000000000000000000000000162a943b64f117be111705bc3617023c9ee0b7bb80f80bbe498491bcf5e8fa3beec687bc18acf3bdca3ec3bc7d57b03b0fdd8fbc6c0dc3bd0e20c2bc53fa933b05843fbc6ade8ebd5a25a4bc12826c3b420273bb29f534bd372752bce01e983b0d547f3ba4ce8dbc423d87bbd9a5543b00000000000000000000000000000000000000000000803f00000000000000002b819fbdf737a23fdb1f8ebd6ed80a3bf0a12fbd2365863f3485f7bcaf8ae9b97148a1bc8bce583f2b2e72bb337fe6baa9274abcd52a233fd64add3b1ba9d7ba664d3fbcaa59de3eba81fb3bdf4331bb40c046bc6a93743e38a8703bf55010ba464b5abc96dc583d91d7c1bb3bf8c3390000000000000000000000000000000033465b3c40cbbdbd71fd0a3b0c5fbc3a24e7dc3cbb5815becda3fdbbb3d11c3c8609183c73641cbe936fbebcfbd9083c5f6adabafe4608be55baefbc327fd13b5316a4bb7927d5bd9958f8bc99e58d3bf2906837fd1b9fbdd2a8cdbc762acc3b4ab9d63be69d46bdb55e8ebc1a81d53ba208243cbcb68fbc636de0bb19a3a73bebb8353c1640ba3bcec00b3b3ed4283b2fc310beb396a13f45f6623dbd3cbfbcb53520be6ea99a3f05cc353dd4ddaebc9c7ad7bd1102853fea1f983dd9fcaabc50e090bdb715553f6abea73d85db9bbc27a043bda3271e3f44b3a03d2a707fbca9ba28bd2de0d43e86ac803d8d3c64bccd68f3bc0141623e7676293d451f28bc39c41dbcd7a9323d23cb9e3ce356173ae1c569bce92e99bdf66f0dbc813e29bb80501c3c699f7fbd73b833389bee60ba3267893c6ca3f2bdbcc1b9bced0f7e3bdb44d93bf803f7bd108216bd3e84323b73c7533bafc9ecbd65082fbd8472533bbd0399ba72d9b4bd40af1abd15d78c3acfbca33b0c8e8ebda6d807bd41964a3b8573083c5ecc2dbdc52eb1bc08733b3b583f463c30658cbccc9d23bcd6b8ac3b94da383cb452633becb2d03a88977e3be4890dbe38b0863feda77c3ef84355bd092c21bea860863f9845743e691e57bdf62cd6bd34a3613f525c6e3eaae925bd51b5b5bddd253c3f12f3543e6d7513bd050a7abd3f260a3f28f22e3e4a53d0bc76c55ebd5df2be3e5c54053eda5bc9bc447225bdb7a3523eee98a73de7de99bc86cec8bc07fc593dea2b123dfb9439bcd71182bcada441bd7d67a3bb869d09bc78629c3af55d3abddd8e06bcf87d5bbb031a1c3cc23cbabd6fd61ebd12f01d3ac926dd3bd8d2d4bd2b515ebd1a12733a7d2ba73bc16dc6bd8aab63bdcd856c39c59be53a3dc3a3bd985254bdb760a5ba7b59ad3ba6756cbd31ba26bd94c42e3ab028213ca23a1bbd03dae3bc87f58f3b4812523c9fe37ebcd74243bccc9dbb3b78ac1f3c3f09f13a9041a43a1020b63b44c7eebd404b5b3f00e9e53e2c909abdcb210bbe2495593f2042e23ed058a5bdbb6edcbdd8d33d3f7fd8ce3e420283bdeb57aebda4671a3f1971b03ef6054cbd961f87bd4e17ea3e51f58d3e6d7d1dbd1c6a63bdc4c29f3ebc084f3e29bc08bdf1f730bdd33b323eb9a9fd3da5d1dcbca10400bd45ea573d338e4f3d01d8a3bc1123b4bca40501bd13eebbbb53548dbcfa53bcbadd2e01bda9599dbc02367bbb35d1c23b1e7e89bd334a65bd9cd0d8ba32af773bc5989ebdcb248cbd6fee30bb028a4d3b19259fbd301895bd9c8a61bb3c4f1ebb321265bd135757bdef80dfbbe99e903b380c51bd0aef49bd61d6d3ba69d5f63b48f7f0bcf11bfcbc6a6e963a0c2a213c643351bce09865bcbed5b03bb2741a3cc709e53a22bfa93ae08eb53b7825c4bd41c0263f8050273fc278c2bd54eadebd15ae233fa5d7253f9736d3bd5201a9bdf3a50d3fe1b9113fce9497bdf5b895bd35c4ec3e0672f83e97546ebd072b38bd7443ac3e98c8b63e071cfcbcbbde4ebdd8197c3e8d6e8b3e102314bdc9e61cbd40820d3e5b79223e468fe7bcca4aeabcf2ad363dd2b9823d50a9cabcb73daebc02a1c3bc88202cbc601aa9bc09d695baca24a5bc63d007bd0f7dc5bae78e1e3c4de543bdf9eba5bd9d4df0b8e3e1243c990d77bd8ab3c5bdefd461bb24dd093c13fa72bd3472b9bd25c0a1bb6e54cc3b328a5bbd5ad49dbd7393cbbbd674103cf48826bd7e3c6ebddf976bbb6878163ccb70d7bc51c818bd6cc9f03a7b35153c5a502ebc08f07cbc8033d83bf393c03b62850f3b9e77d03a16cde23b890d9abd692ee63ecf325b3ff1adeebd3839b0bde823de3e5a6b5b3f32fc03beaba391bd7e4bc53e8615413f514dc1bda0746fbd296fa43e9d781e3f75e78bbd6e2849bdebdd803e4b5af43e1a6244bd166027bd6876343e62afa93e98e01ebde9f602bda4dccb3d7ed6463e62dd05bd3a78aabc299c023da1008f3d4f5fd7bcb8f761bcc771a0bc36a09ebcc737b0bce6973f3b52fe0cbc50ec54bd36147c3b42983b3cdb48e6bcdb32e0bdc485923b76ea363cb56126bdc1d3e9bdbed668bb8e7a403c455a32bd5be8e3bd112805bcc080d73b2d701abd1d4cb0bdcc0511bce0f8153ce3f500bd911e8dbd586562bbe5550d3c401b9dbcd15425bd6060a9ba8411d83b27da13bc79b595bc51ab063c3ce1843b6d490f3b45ed483bff46203c66cc51bdbc637b3e83dd863fd5170dbe268265bdc07d693e4eec863fd15417bee65539bdb17f5c3e9e3a643f8c3cb8bdee332bbd5c533c3eb57b3f3fe8d58bbdf67e03bdd78a153e2aea0d3f787724bd6a71edbc34fbd33dd1f5c63e5a860ebdd9a1b7bc125c733d524a613e04b3d2bc448a2dbce674943c6859883d2dd2a0bc8909a6bb4c4868bccbe11abd50138cbcee84853b09b342bad985b2bdafdd113c1fd7723cbec892bb0eb10fbe15e40c3cd7128b3c7e20b4bcceac18be73d890bb1f347a3c6f37eabce0fe05be37ef4fbc8da13f3c2358e3bc3e44d4bd51f073bc067b303c3506b2bc0a2c9cbdbac021bc8a74073c9d1266bc590643bda258a0ba790a7f3b6a6cd0bb27448cbcf71cfd3b0994903acea6343b045faa3b74b0183c606cb9bc8706583d79bba13f8b480fbeff4cb5bcc063153d57b69a3f29e015beb5a9c9bcc242603dd3d8853f60c4b1bd847fb6bcdae3783d74e6563fdce444bd885d9cbc820c653da1fe1f3fe12dcebc3a747bbc3b711d3d54c4d93e058595bc311817bcf974ad3c28de693ebec371bc5171103b2caf243c2e7d4a3d3dc0fbbb36dcdf3a999060bce35a8fbd17bc62bc00000000000000000000000000000000a5d0503ce02ef4bb30be16be85b556bb9a30683c51c571bc0f6a0bbe9bdd79bc0fef343c85d2b6bc11f6f2bd1ebfb1bc65c3143ca17ab6bc54adc1bd1dd9b5bcc216ef3b8d2b85bcfe348ebdb47297bc96c2c53b5b4319bc5e4b36bd9f5d13bc204a333b7d2d05bb6f338bbc37919ab90000000000000000000000000000000000000000000000000000803f00000000d132023bf54aa0bd4d52a23f542788bddab722bb596033bd8084863fc764d8bc963f99bb9d43afbc0be7583f6365283a84ffb0bb5f0844bcbc8a233f56b42b3c57e492bb8bc631bcc8eade3e91d5143cae60d938a6273dbcc895763e18235a3b3096413bb16b6cbc4271603d7d909dbb000000000000000000000000000000000000000000000000000000000000000023e450bc193ee0bdcb72b9bc8382103bec3f8fbc766cd5bd52c9eabc193195ba1ecacebc9720c2bd15a101bd468d83bbb95faebc4549a2bd39ccfcbcfcd2c8bba6b867bc75627fbd1654d2bc088e93bba0035dbb52052ebd686582bc0a07c4ba5d10de3b7a4fafbcf7d9d5bbb0e6703a00000000000000000000000000000000000000000000803f0000000000000000843a2cbdc0ab983fd7ebd4bc4b6e82bb4426a9bc532f7d3f482e763b774c4d3bfbfc0ebc58314d3f042cb23c4ccb073cb0e60bbcacdc1c3fca12c83cec201c3cd5d98fbcfe97dc3e4b8a9e3c7909073c9e07c5bc6915813ecf90f23bab8a533b954c02bd4194a13dc6bfebbb19b613bb0000000000000000000000000000000053f035bb65d488bdff8d09bc3c1c5ab700ef2e3cf58ae1bdd899b8bc4938413b6c2467bb0849eabd0d8112bddb0885bb59de1bbc3f75d4bd3e321ebd433dd6bb690133bce2afabbd94ef12bd4eb809bcfb0c8fba2c4288bda0f5f2bc5b0a9bbbfafce43b18da39bd2b0997bc8404dbba0d57553c124fb4bc1cac04bcdf3c613b533b543cbc4ba6b9a76bca3aa184143b2cfbbebd9a2d983f5c8fc03da2bc0ebdc18be4bd1f7e903f5baeb53d9c75f5bc62208fbdc1b2753f5d45e03d80b66bbcd74d49bd6fc4453f07c2e13dc236f1bbc4301dbd4953143f2788c73df05cd1ba3dcc34bdf412ce3ee0ed963d6da094bba93c34bdc5f56a3eeb02353d7217acbbbe910bbd67828e3d12c5893c716a4039823aefbcf06051bd1ba659bcfa57fcbb29de14bb453131bd774ce3bb5059a8bbf61b0d3b3830b4bde82c01bd62ddb4bb6a3b20bc40b9b5bd92f526bdb1c515bcdef7a7bb5e87b8bd01a13fbd5b6442bc42e8ebbb6a0d94bd61aa2abd860254bce4b1ed3aa9fa72bdc8dd0ebd6eef00bc4071cc3b61631cbda92fc5bc1c3b9dbbb8bb5e3c13ee9ebcdff335bc5f01a639fd52453ca505f039a2a4043bc74a283b0b58c9bd37217f3ff5b7893e1cc955bd11c7e8bdfd107a3f9a29883eaf2c3dbd67718bbd676c4e3fc77c813eed33b5bc6bf488bd0dac2d3f456b653ed32a8cbcd5974abdf128013f62dd3a3ed5b9bfbb99435fbdcc6eb63e2a580c3e4f0032bccab641bd6c60553e0a5fad3dd9d742bc814e27bdca578c3d46ba153d03fb38bc9450dbbc811d0cbd21fbeabbb7e95abc19e40cbc94d609bd288e1fbcce8811bc90c75aba28148ebdcbad1dbdff3945bcc373b1ba65e2a6bdd9735cbd6a6579bc8136b7ba32a19dbdeca063bd20b888bcfc24e4ba3fad87bdd90f51bd02028bbc7193a83b450852bdffac24bdcdc751bc312c283c82750dbdc926ddbcc626dfbb3fd9673ca4c789bcf87257bcdf008a3a16cd3e3cf1299bba12db0439218a5e3b03e6a7bd6d93503ffe0ce73e958879bd903fd3bd872e4c3f1f52e43e674d74bd4915a8bd756f303f4d5ecf3e8fe00fbddd9f8bbdeb180f3fd120b13e15b39fbcce4172bdf1a7da3eac5e8e3ea5f13fbc858f6cbd1417983e7161503e95e64fbc5d165abd2326313ea881013e017786bc3b1b32bd0427743d7d315e3dfad69cbc9072efbc848ec9bc7c6daabb34b0a1bc1c12ecbbc321d5bc82f274bc43082dbc7cd9adbabb4d65bd157744bde8e380bc376dc7ba776081bda6b281bd07df93bc170147b85de882bd2fff88bd37a6a8bc8740c9bb4b4f4bbd6b1c53bd5920a6bc5ff6e73b827139bdd94944bda1857dbc41a7143c6b8de2bca4e1fcbcbf400abcbbcc413cf1515bbc5a7f6ebc5b0b9439dd96243ce3848a3a47436e3a72b9713b71c794bd789c213f184a223fb48d8ebdeb30b3bd8b491c3ff410203f850989bdb6cf8cbde719063feef50c3fd4c40abdfabb85bdbbb5df3ef73df03e645eaabca94228bdf61ea43e094cb33ed5e908bb83b864bdc4d86e3e3a9f893e8bd759bc27b143bdebe3073e93d1273e623189bc011323bd108c3a3d4053913de727aebca8bee0bc4e18b7bc9100f8bbded5b9bc796967bb9ddcb4bca9e8b3bc15f213bcba33c83be34e37bdb93281bdeaa087bcc8e40b3cbfb660bd4168a3bd27f6b3bcb938173ccd865ebdc8b1a1bde4d9bdbc9068e33b1a0942bd696b8cbd9604c2bcd0a42a3c06ee13bdabd45dbd98478cbc37d0523c559dc5bc173716bda4a80cbc24cd393c4f7a3cbce8ba85bc911bde3a3b23033c1f0cb53ae2d0ff385ebcb13b44d386bdae46e63eee3f513fb4cea3bd3437a0bd61f1db3e82a94f3fd753a5bd8ea18cbd388dc03eb3a9363f41b936bd364176bdcbb79e3ea29a163f4270b3bc901f5abd696e743ef064ea3eb47311bc49f64fbdfb08293e13f7a73ec93a45bceb2939bd0299bd3d9d7b4d3e187b88bc03d604bd055be53c11d3a73d1131babce7dcb0bc0ef8b0bc31f63ebcd114b7bc7e917d3b45af89bc0d140cbdc944dabb1d436c3ce5be0cbdaf69aabda01d80bcd01c1b3c46c530bdcd38b5bd3510b3bc304d773c72f432bd0c86bebde185dfbc04f80a3ca31f19bd3a2198bd3cc7cfbc4aae643ce710f9bc736780bdbf9e97bcbf3b1e3c6828a2bc2c611fbd149822bc4768193ce97c0dbc9189a0bc3d9d3a3bdfa2a43bde42413acac94d3a3ae8103cae9c5cbd49a6883ea79d7f3f1e57bfbd457584bd400a7e3e900e7d3f414db7bd4d9a45bd0de0683ed299523f89b8fcbc27ae56bd4403403e2ec7333fa3ad84bc7da02abd79d6133ee83a073fb61a03b982ba2fbd9e93c93d8cf8c33e54e4aabb22da09bd0b125c3d99696a3eb4a32ebc05c9b1bca6ca313c98cfb13d140ea4bc5e4e19bce767a2bc8d83b6bc5152afbc2d07093c2eeb82bc8e3074bdaf50c0bb2ba0d13c6595a4bc0907debdfbbf70bc2d74bf3ca6a9f4bca9d1f0bd08d3debc9ef3b33c70a702bd6866dbbd67f90cbd91b2823c2195eabca7e8b3bd892afdbc18b9883cb180abbcbb388fbdfcd2c1bc0e8d4e3c6e4e3abc404a3fbd4c1d37bcc1dcad3bdcd2bfbbc1f0a6bc5501813b57f0303b3380323b4a33ea39e3bf1b3c0e7c15bda94dbc3df034983f4c74b1bd0ff338bd4da2943d418a913fb47fafbdc3642bbd992fa33d0444793f46c1d6bcc4fb24bde569943d369e4a3fe4f3113bfd420ebd2fea6c3dbf7b183f1926733c62fb03bd073b0d3d86edd63ecf14023c1abec0bc73c5333c58877a3ec50234bbb4c791bbdb4689bbf4cda83d17d761bc5ac5ccba0fcfc4bc616d37bdbe46b3bc000000000000000000000000000000004a0f9f3cea38b0bcf472e6bdfa9fbcbc4bf2973caf51c0bc9682debd57a702bdbeab743c2503dcbcb5f5cbbd40a617bd466e4d3ca309cbbc9a3caabdc24b12bd5e691d3c484687bcf08b84bd9ffce9bc9a9a253ceed217bca7d932bd4a368cbcd037e03bca30a1bad26ab3bc861a30bb0000000000000000000000000000000000000000000000000000803f000000009bc499bcc24b28bd383f993f1ad78cbcf3f69fbc6ad1acbc4ad37e3f23227a3c9278a4bc622839bc3f614f3ff195113d858591bc25bb05bc72c01e3f1c96143d71238cbced2b6dbce7fadf3ea22ade3ccfcd50bce7f598bc369a833ec5d12c3c6fcebcbb4c15d6bce532a83d909d17bc00000000000000000000000000000000000000000000000000000000000000007e1409bd48845ebd9c23ddbc4af84fbc1fc208bddebc60bde5c2eebc41336ebcf4340dbdce435abdc01203bda1bf86bc1bb3f6bc3bdb3dbd60a8e9bc457980bc640aaebc8ab21dbda22ecebc3e2980bc69c51fbc76b2d5bc772291bc9ba748bcd65dc93a9a2a63bc1e2b2dbc88cd1abc00000000000000000000000000000000000000000000803f0000000000000000bf3c803c4d9a853f8ee2b43c3bad893ca615813c83c5603f298d043d8387d63c7fd36d3c2955383fa5311b3d113d043dca42003c013f0f3fc0fe063dacacef3cd07b7bbbe482d03eea9abd3cb3dbab3c1d0b7ebc50f5813ee54f093c0d970d3cc68ce0bc3d2ad53de94e05bcd92fccbb00000000000000000000000000000000d66abbbc39eaf8bcba7780bcf66631bc5da4cebc974652bd29afdfbc68ee85bc67f4f8bce8e672bd0b5d0ebdb0789ebcee89f1bc44fb64bd524513bd297ea7bcc7bfd0bcdd7745bdf4f806bd9cdda5bc5c5c6bbc82231ebdb737e6bcc29399bcb8446bbb06a3d4bcca9da4bc313479bc1cdef83b287747bcbea50cbcb5520dbcf234193c67085a387f9cbcba15e29abb13fdf3bb16c8843fcf76093e5b7008bcb0642fbc25f2753fe89c073eea3fcf3a83c7a13a2b98503f93fb093e6e31b13ceaa8daba12902a3f7da3fb3d2cfdd93c161d78bb4361023fd048cc3d2887d53c3abc8dbcd7ddbb3e94ee923daf06853c9d9de2bcebd8653e64b01f3dc012293b300b0dbd0c48b73dea43e13b61f147bcd408efbc4362d7bce3d98ebc6c909abc21b28fbc8d1aa5bc898337bcbd054ebc8154debc2de93cbde700e4bcb89d8bbce6a5f4bc337043bdc62004bd41019abcf894dfbcb6c04fbdf6a320bd2133babc2f95bfbc772e2abdecd70cbdc5ffaabc6bef41bc45670fbd7afdf6bc8767adbce69eebbb00f6c2bc80c5aabcd0fa7abc5ff1c03b4e572bbcf2aa2bbc915f2bbc872d123c82b3c83ab2d000ba217970bb1baf92bcbff6603fc0d08c3e957b5bbcaec78cbc9d4b543f3ff2883eb542e23910377fbbcbe72e3fd0be773ea51f963c6adf13bc9a00143f0db65a3ef361d23ccb4533bc3678e13ec2ad2c3e7efec63c8e47c6bcec89a33e4000ff3de93e6d3c66acc9bc101c4c3e0bbe9c3de18c803b663a15bd715fa33dbdccda3c527053bc5738e1bc3be497bc43b84ebcc22c96bcb1c99bbcf029a6bcc35f34bc12623abc3e09ccbc0c3a1ebdce0ae9bc4770a2bcfb32d8bceaea41bd25c21cbd4813bdbc6695b6bcf27140bd615621bd26d1d2bc81b5a7bc155f29bd995017bd94ddc7bc2c841fbc179701bd2d36ffbcfe07b4bca12742bbcb21adbc8f42a8bce04c8dbc29660d3c383524bcd16b3fbcc6c736bcb111db3b7412db3a6757deb87d008ebb92fa8abcb5ec393f3a34da3e411121bc23cba4bc667d2e3fecb1d03e2cec2b3ba08c5abc930b163fd541ba3ee1aba73cc0147bbc53dff53ebc7b9d3e5951d33c1ea287bcde19be3e5b9e7a3eba50d43c0d36e5bc2c9f873e4c05363e49c77f3c1cc510bd299e263e7471e43d58ef293ab68619bd352c843d2f54393dde9152bcd9e8dfbcf0268cbcd2cb27bc21238cbc55a597bc480992bcfc6938bc45b726bc0510b9bc4c4112bd64bff9bc3197a4bc9a25bdbc51492bbd205720bdeb59c0bcf025b0bcb22034bdf4792dbdb3bed1bc5eeea9bc8aee0fbd2b640cbd06a8b1bcffa513bcea35f7bc308508bd5f95bcbc468dd2baba8799bc163db8bc0cab8ebc0856b93b87a8b4bb975b40bcc60844bcb731103ce423163a138a37ba592f3cbb7dd382bca3b3123f2e99133fb56b21bc55d4abbcf94d093f564b0c3f1d0fd93b71b96fbc8581eb3e7895f43e4f7ebc3c7a0889bcc54ec33ea596ce3e5f55ef3c042549bcea32943ec8b69d3e18f1d93c0a3fe7bc5c04573efe456e3e957b8b3c0b0805bd1a9b003ecb3a143e5bc17a3b49bb1cbd100b413d661b843de03633bcbae6dbbc99a092bc3ad221bc6ae18cbcbb4576bcd04391bcc2d34ebc2cb120bc47689cbc51a008bd182e0bbdf00a9dbc51208bbc868c26bdb90f3bbd82f9cebc090580bc9bbb20bd3c2e3ebd0315dfbc5f5562bc2ea80ebdaf9d2abd3731d7bc3ecfa3bbf8d1d9bc1e410fbde6d0c0bc353fe03af16589bc1f8bc9bcef4693bc60e6d43b3d5dddbb9c2938bc57da0cbcb5e1da3b1c32713ab4fc0bbaf0d599b97d2894bccee9d73efe483a3ff1db06bcf83dc4bc2f77ca3ed27a313f3095b63b6f0e9ebcfa44af3e037c1a3fe161c73cc574a2bcb391903efe54ff3eed1e013d7d9cb2bceb1c5f3e6227c73e7226ef3cfd0803bd09b51c3e7d49923e90849f3c26530dbd50dbb03d5465373e4ce1983b78bd10bd2472e33c09799f3db32526bc9eb8c6bc6626a5bc044836bc1ebe78bccfc914bc813a8cbc485a84bc9edd17bce2e02fbc18f602bd79602abd777dacbc091684bcce1c11bd18e036bd2c8ebabc5b6929bc4a5c12bde7ac56bd0d82f0bc7ef929bc7946ffbcdc3d31bd7174dbbc8f3c93ba0f64c3bcb2191cbdcde5cbbc33d0a93916cc8dbc7a9ad5bca2ed90bc9b2aed3bf018b5bb2db83ebc5bef01bceb5ee03b0c46093bf1d2a43a51af273af6b4b0bc9dec8a3ea8ae613fc54e13bc8e8ad8bc85b6813e5323563fb16e283cd0dc68bc3e15643e3787313f604eed3c7da2b2bc6b1a3d3ec595173ff496163d9eff9dbc202d113ea184e83e8df7053d4472fbbc0b7bc13db624ab3e5eb0af3c9edcd5bcb5bd633d0d0a583e5b01193cb50507bdc843003c26b4b83d318615bc655ab8bc8d0facbc86e84ebcb3ec80bca8f7d6bb8e57adbc30e6ddbcb82a53bc9975e0390863e9bcca4056bdec71bfbcf4869abbf47a0abdfc4c76bd59d8f2bcfb2b8cbb15b704bdf68c6dbd911103bd44edb3bba60feabcaf944abda713eebc70ca1d3b49789abcb3572abd2250debc2525ed3b8e0944bc2bfbe9bc25d99fbcac80313cab3c3abbad8860bc7b740fbc5efdb93b6a1c463bffe69a3a25dfce3a910989bc7f0a053eb01d853f424e483ba50ad6bc9e2ded3d3dab773f4cb6983c5b759dbc0bdcdf3d80ec523f81b7263d17d2a4bcba7aba3dfa542c3f3840373d5fb39cbcdd718d3d71c1043f53cd213d58efe9bcdb541f3d30d9c03e6d08d43c9845fdbc84c6473c71916e3e546e213c8b7ce0bc68da2abc98ddc53d333906bcdf6fb4bcc91ddcbc26e4b2bcb27789bc000000000000000000000000000000006174c4bbc800f6bc57685cbd4088b9bce2a8d3bbd59cefbc41bc60bd6331e2bcf39c12bcc417f3bc2c7e59bdeddbf5bc39b2f0bb91a9d1bc7f043dbd55f8f6bcb3991ebbcbb9a1bce45520bd4b7bdabc773c803b963d34bcaa47dfbc41a0a0bca0f4f63b6df750bbde7a6bbc2fc72fbc0000000000000000000000000000000000000000000000000000803f000000000d3413bc6d2bc03b5b08863f6c9d1d3d9cc209bcf85b1f3c49a5613f9dcf3b3d0df507bcba322e3c0851393f77ee463d366d32bc45c5a23bc582103fdaa42a3dd8dd87bc91d39bbbe13cd23ee6b8f63cc21aacbcd28681bc188c833ed1db5c3cf34ec6bc3763dfbc2d7cd93df4429cbb00000000000000000000000000000000000000000000000000000000000000001c53bb3cdb5f39be3f382c3ce916db3bc1070f3cc9b328be2f29b4b9fac1183c0d228dbb6b9118bed65a58bc5fe0083c4662d8bbfc5cf4bdda9071bca6d9863b62f2c6bb80b0a9bddbe14abc6dcf323bbf838bbb0c8842bd886d11bc9b7b533bd343cfba9d4d15bc768f83bb5496a93a00000000000000000000000000000000000000000000803f0000000000000000df91febdd74eac3f24baf9bde7a64c3c9759a4bdfcaa8d3fd4f186bd2c5b733afe5750bddec6673fa01dfebc63693fba95c6f2bcedf52b3fddff10bcede4c8b8019965bc9b91de3e460ab83be18d9639c3c3c23bfd2b5b3e9c41873cdc7c953ad5298b3c41f6ad3ba2c68a3c817dc23a0000000000000000000000000000000002a1f03c0214e5bd360b633ca2563e3bad292a3d225521bea319353c622ac53b0929d83cbd0233be310516bcc9ae283c4488823cde421fbeeb4aa2bca32f3f3c9a5ce13b4c6ef9bd7249c3bcb9060d3c31df253bef25b1bd3c9eabbc75cee53b03c7253b75be3bbd7b3f83bc06b8c13b27bf1ebb1f9172bcbf9f01bc06660d3b3da3833ba6c15b3c2f71e63a4be7153bd4184bbe1a1cab3fe7ca013c97e464bca4e543be35df9b3f06d9a73cf5024fbcd7871cbe67208c3faf9f2a3dce9fb2bc6157e9bd67ba623f8efc663d1dc5aebc5d8794bd7745263f16a98c3d0a5d91bc720814bd9209d63edff2833df0ac6abcdc44abbb4efa463ed0365e3d132e1cbc8f5b093d8781813c93a33e3dcd7bdcbb6e92b83c46edf1bd9e58ec3b7e59013b1e3dcf3c1af191bd421c8e3a80410a3c24480a3d257d09bef4909bbcc927573c3198d43c5f1514be233d0fbd561c503cd2b78d3c354d0abe4ce429bd1304603cc2e3363ca493d6bd311021bd9fb3cb3b9f051d3cb9839cbde55d03bdba50e53b0ea0d43b13f929bd3cdda9bc1b4b9f3ba7678b3bfb1b6dbc506a0cbc19548d3bd901b53bb94cb43b931a7e3bf041343bfbd64abe3ddf8d3f1b2d683e61e176bd32ef54be93928c3f474c613e07b980bddf122ebef8da763ff9c15d3eb9d16ebd77bf07be0585483f99f74d3e958346bd3803b0bd1d6f123f61c9313e180010bd5a4955bde805be3ee8ee0b3ef5eed7bca21a92bcf6eb343e7521b63d3d054fbca27f573cd3b9a33c64863a3d6b8299bb4f51983cee3799bd076317bb9af4053b1a79883cf8c461bd52a580bcac26373c6bddf83c9f82d4bda17e47bdc4629b3cbb75c73cf298efbd8f3682bdc3b59a3c557e8b3cc61cdabd16df83bd6069433cd5946b3c451eb7bd5df577bdb23c113cfacf243c744981bdfed139bdf082cc3b4841113c740c19bd54d4ddbcba20d83bf72bdc3b3c1365bc47a723bcc150c53be854cd3bd13d833b88357f3bb3fbf63b4a673abe490d6c3fc57cea3e794de2bd085747be833e663f7e06e63e6b4ee9bd18b626be641a4b3f8a9bd63ead80cebd5a2ff7bdab52233f7f05b93e625a9cbd8982b3bd59d9f23e23ac973ef2886bbd6c6356bd209d9d3e8a15593e027814bd5994a3bcae7a1b3e32a9013ebccba4bc4af0c73bd3aecf3c1353373d74b523bb830aff3b7d8363bd28ab9ebc7240ad3adef9533c588f14bd26c00bbde6d8773cd477b93cdd1292bd35479dbd20fdb63c481a933c8cf1a8bda1ffbcbd6fde7f3c2e038a3c48bfa5bd3dd8babd5c884e3cde35ef3ba9de80bdbb2f8dbd034937399eda1e3c96ce52bdfb7a6cbd769fdf3bb495033cb9a6efbc94ee04bd9c79c93b4edfaf3bafb74fbc50f333bc042aa83bc630c43b8929593b83dd9c3bf1b0173cd47e1abeb82d323f7fdc313fef031fbe5dc921be09542b3fec71303f164224be8e5602be7fda153f914d1f3f82f601be8125d7bdcf13f63e430e083f3d82d5bd37d986bd4d5db33e1773cb3ec5b56bbd1cb241bd2ba8753e51de913eabfb39bddc80adbc1bb6fb3d20201c3eb67ea0bc11c8973a9f19fd3ca1af303d903e033a40fad43b274919bdb02d13bd6f5f343ab6eb0d3c6cec92bc686256bd2ae5993c15e9853c576429bd6188d9bda3a5d43c1acd923c0f425cbdd6defebdb110953ccb907f3c2b5968bd3b9fe4bdd6d9143c5a43493cc19b55bd9f76c1bd670ead3b24ad1f3c08651dbda83a8bbdd6a79d3b9316d03b3387d5bc89f11ebd1e31ac3bfc05da3b4ef45fbc063243bc1abdd83b5e809c3b19230a3959facd3b5d4c0c3c1060dfbd7dfde93e918f6c3f003d3ebeb3e8ddbdbc57dc3e5e676a3f770b48be6b8ec7bdcaf9c33e90f9523fb6ef20beef9b96bda351a13efa992d3f261bedbdf63966bd04f1783e6f80053fc216a1bd1f8e15bd4cf52d3e121ab03ed8603dbdb4bd91bc9ae3ca3d9b64353e1e528cbcd959ffbade8e0e3db1f1103d96e0c83b70a6893b715d97bce14561bd2765883b3ed57a3bfd7aee3acd258ebd85fecb3c69232d3c3b1c60bc2dda0bbeb06cf53cf8706a3c6cf5cdbcbf6517bec3a27c3c7b083b3ce9c604bdf7c90bbefda5143c9267173c30c100bd531fdbbdac1ba839cdcc113cc003e1bc4420a0bd4892cd3a5cffe13b320ba4bc03f82abdb7664f3bfc2e6c3be7cc3bbc2b653cbcb01c933b1e101d3be4fc0cbb7a51193cf0b6063c3e6d6fbd5c3a693ed41d8e3f406c4fbe489c6fbd0b61503e500d8e3f460152bed5aa56bd4daa3b3e447c7c3f2a6122be28e12fbd67eb213e8940503fb272f1bd84c3fcbc94d8043e4ab2193ff4798cbd893ec4bcc2abcb3db81ecc3ec4d518bd11151ebcaedd843dde4d473e4ce624bce11b70bbeaf0163d9d6fd83c732e633c4a20e23a37020a3b83959abd89a6573cea73f33a2d276f3c31c3e4bd5962f43cbab99f3a9c84803cf9f220be409e0f3d16f22c3c8dc73ebb2bc832be29288b3c244f213ce91933bc97031fbec325673b2213173c6af68fbc05b6f5bdd3f3b3bbc1e5c13bd45e83bc9675b1bd2969a5bb6b67903bfb8b61bcbbf83ebd15d7d1ba1fe1173b808b4dbc707338bc532a18bbb1408ab7b8df21bbc8026c3cc8f9ec3bfcc74fbc9b182d3c1005ab3fe97750beed3addbbcb33213c9d989c3f1b4840be27f36cbcd817a33c30758d3f2c2810be315256bcd30cd03c0a47663fbd3ebfbd532b2abccc48043dd7fb293fe86e4cbd8911bbbbbf93173d480fdc3e4d7896bc46ce69bb7b111a3d3a66503e8369b43b4b86bcbbc0d8323d5356933c1062043d06fc263b42d4643c3f14f4bd2528873c00000000000000000000000000000000c5a9f53bde48813c3de237be1ff2703c9db9013cecdfa83b117426be676481bb6f80123c4011ffbb798c13bebb3e94bccb33dd3b9df312bc9af5ecbdf97da7bcba72823b92c021bccafaa3bd0b9a78bc5463913a3d8415bcd3b532bdcbaf11bca3a93c3a9729f3bb537cfabbe5ecb5ba0000000000000000000000000000000000000000000000000000803f00000000b2b66b3cff9505bedf3eac3fc23cecbd6ea9de3b4bd6a9bd80ab8d3f20f06abd72f44d3bedd265bdc863683f0ae4b1bc5ebd613b185a14bd636c2c3fa0d25b3a1845643b26988dbc4927df3e932a723cf9aab13bf14c633be0905b3e804ebc3c33b5a03b5add6a3cbd06313b99a7b63c0000000000000000000000000000000000000000000000000000000000000000257d083d8def20be4e9e39bc1a79b83b9644d53c89090cbe1a63e3bcade6b0ba87d34e3cc4ffeebdbb3219bdaf4d34bc13b00c3cee01bebd7bc709bdaa1e5cbc5e2a053c561b85bd2be6e1bcbc8e79bca56cc53b91061ebdd4558bbc3bc12bbc7178293b15fa39bc28e56dbb5749b3bb00000000000000000000000000000000000000000000803f0000000000000000b59208be8a51a83ff45ab4bd042e833b856fdbbddf43893f23dbc7bc750f5b3c64f7a8bd0d7f5c3f36278d3c6cbcbd3cd0668ebd8e8d223f53b9133de6eef63c797e60bd56c6d53e2e3a143dae3a0d3db1c5f9bcafc1583e9586fd3cdb40033d646e74bb327b843c3e69593c4676bf3c000000000000000000000000000000000682093db0b1d8bd222cdd3ad5b20c3c9e30783dbda719be7b9439bc8164f03bb435353dc48916bef99710bda7b7ceba3a42113d844300be301835bdead025bc1b1fbd3cb2ffbebd17bc2abd98df94bcf8ef9c3c525a8cbd998c02bda57b8bbcd33a573ce56221bd82f1a0bc36fc58bc9eb3e13ad2d846bca139ffbb5cf219bcd530563a15e7023c8e7c823b6a85173b78d23cbe2e25a83f147fe53c4a23e5bcb73c61be34c89c3f7b790d3d30072bbc00b537bee1e7863ff49db23dad69f7bb968b14be2290553fcccddf3d1c8dbb3b984ddebdba551a3f02fae53d1c75ab3c5b219ebd987bc73e98acc13d0a2fe43c5ce510bd71033d3ed470873d72bde23c1342b03cc935333c854a243d440ec93c6245c23c61fbd9bdb5f886bbdf55e43b35a0003d4d0595bd8195f9bb82ad2a3cf5014a3d79c5fdbd6da012bde494013cd1ac293d8609f3bd74495fbd2210afbbbc61163d3063debd5a036abd7c2260bc0772bf3c95e3a1bdd2d655bd0f8ca8bc53fdbd3c007a73bd2ac528bd23e28ebc8489723cb6460abdedc5c8bcc6a358bc2b01c63b040d38bc8de92cbc2be7b7bb716f813aa84a873b13c0433b072d6d3bf1c03fbe46278c3f6f87773e42b68abd368961beb2bd893fd53b7b3e768462bddb5739beac26683f7f6c843ee6a108bdd0d121be8c763a3f3d74793ef2a948bc226aeabd674b053f7f5b563e99603d3cacdaaebd2d79ad3e4d3c253ed27d923c0e1435bd96ac263efa67cd3d43beb73c6476923b271c533c32a82c3db947af3c3177c43c914d94bddf3f0bbc89caa53b511ab73c07446abd25e8abbcdd91333cac8d353d0696c4bdd40471bd44821e3cbb9f2f3d662cccbd87e097bd0d90b1bb3e1d123df31bb0bdb33096bda3e08cbc3324f33cccf48bbd8dd183bd6cc2bdbc02cbb73c3e4e44bd95014bbdefaba6bc8dfb813c35f2ebbcc87efcbce0fe52bce9deef3bfac435bcd64651bcb0838bbbdb0f253b29c58e3b87e5963ac3b5dd3b47402cbe7863683f99d4ee3e11b9e8bdc24851be4b23603fc7b5f03e00ebcdbdfa7d39bec15c3f3f145de43eaa0c82bd40c718bed477163f9e92c73e0073e5bc2ecaf6bddb39da3e4a09a43ed8f633ba34ffa7bdd1498b3eb8c16c3eee01603cba3a34bd7735053ef1890b3e8bbdab3c534cebb9d775603c0e25403d7a88ac3cd4706a3c63cd69bd911eb3bc3d00273b40ea9d3ce0172dbd80be0dbd3d47603cf369173d98c58bbde72da3bdb70bfb3bc285163deb9e93bd6b54bbbdd9f549bc9401103d4f5e85bd380bb8bdfc66b1bc3260993c394645bd86208bbd7117f6bc7632c23c38811dbd35b663bd379ec7bcc3f9763ce546b2bc8a9e0abda52565bc8cf4d93b6ac704bc97246ebc33343dbb0043ca3abd60f13a0d80253b25c5083c1c8212be0e51303fc535313fc26e16bec1542ebe3446273ff802323f25770abe0c7b18be364d0d3f988b203f08ea9bbd2a390abea2f7e03ec0260a3fdc1228bdbd34c0bd1ebd9f3e046ace3eaf9ec03b60dda0bd3c8e4f3ed7f6973e58b4443cfb102abdff53c93dbeb2273edebc9a3c9de148bb193c3e3cb516483dac1dad3cd84f5b3c4f842fbda5fe00bd7a4b19ba3082783c6c6bd7bc43604bbd71cb653c32a0073db51233bda3ccd1bda4d6253c03a0123d770946bdde01e9bde3b333bc21f3063d29a53abdf09fd5bd3adfd1bc9f13ee3cec281dbd9d4eb1bd74f600bde5f5ae3cd7d6e7bc58ab7fbd83d8d5bcc24a5f3c6fbf89bc01021ebdabcd82bc5a7aaf3b7db2c5bb6f4f87bcbeba8abb6f0a5e3adb49ab3a4d82253ba7bd173cffabdcbd1975ee3e934d683fc5da2fbeeb0104be3908d93e15e5683f2b7626bef4adfcbd9da1b83e783e503fe39acdbd1b77dabd0a7a913e29a62b3f2b103abd8ca4b9bd98a2533e2183043ffd84c4bb3c6678bdc83a073e19d7b33e83d3523cb62805bd7130813d1cfa423e692ec33c75ad6fba4e2e1d3c35da433d8361c83c06e25b3c9356f0bc7d673cbd02df8f399e273e3c04bb14bc25f984bdc873b03c2eafd63cc7d793bc87c401bea23e3f3cfa89013df489d7bc19d103becbf983bc2361ff3cdb99dbbc12f6f2bd4878f0bc9bc6bd3c6298c5bc85fdbabd45a514bd8393ac3c8c039dbcec3e90bdef97ebbc1310413cc6462dbc07bf2cbd5a1089bc9d24823be50c90bbc3bb8bbce20c9ebb3c91c8ba429bc83af6a9063bcfd1043c71ee82bdb764753eb03a8c3fcbef42beb212a6bdd1144d3ec8138d3ffa9832be0e22aebda759363ec5ee733f4de5babd53b6a3bd217f0d3ed4334a3f33012fbd73ca84bdaa83d53db568153f7f91dd3bd4b73ebd9c6c823dfc26cc3eaf61b33cf179c7bc5e65013dc733553eb91ee53c42bbe0ba7100203c69d3233d33fcfa3c70f2553c21ae40bc16c483bd9a731c3c0df42a3cd4975d3bd058cfbdb0a5bb3cdbbf8c3c38433a3ce69917bef909973c1a1ce23c3b0c50bbb6fb19bec04a92bca888f23c557c1dbc407f04bee8ac15bd3f67c63ce2883ebc3ea9ccbdbbbc2fbdb45f893cca8d20bcc23d94bd5e320cbd19282c3ceb61f3bb54a92fbd2582adbc57e4a43a50bc82bb0ff481bce0fa1cbc00ac7cbb08fcaa3a8207d43b965c113ce786d7bcae23f43c7800a83fd45e3fbe4f0df1bc3e35a5bb1a259e3f22d02dbe83534abd0b2e063c54248a3f6541a0bd244f58bdb218113c4c455e3fecc377bc62493bbd86f8093cc05d243ff771e23c4a93f0bcbe217b3ba8d8d83eb9f9293d66b25ebcec209b3b3308573e6c0d393db8bfa639b701923c5e08d03c0e42483d2166623c84087cba3ff0cebde672023c00000000000000000000000000000000581cc13cc14a203c30ea1fbe72f917bc40c4d63c6e838e3b40440ebe098409bdddfdca3c76a293bb5121f6bd32ba4dbdb9c3af3c02bcc1bb438cc4bd30724fbd4107763c782889bb9ff58abd5e5827bddbf2e83bc81c69bb4eb425bd84b4cbbc368b31b9057716bacf1e50bc1e46dcbb0000000000000000000000000000000000000000000000000000803f00000000350480bcf375ffbda9e7a83fbb82a0bd8b68e0bc131fbcbda72e8a3f239a24bbf93009bd1bb88bbd357a5f3f2478383d733dedbc2d1763bdf59f263f0d0e833dda359bbc4e3932bdc8b8dc3e638c7f3d3fc6a4bb8cebbcbc3deb623e1a8b5c3deddf023cbe3303bc209eae3ce5a4fa3c000000000000000000000000000000000000000000000000000000000000000084ccc03c272abebddfa42dbd1c098dbcf6cd013d81aaa4bde4e150bd7c8713bde2e7e63ca7288cbd3c675cbd752545bdd7a4d03c7ccc58bd59e944bde4b345bd5f69cf3c6eb523bd491818bddbfd28bd77f8b33c59e4d1bcac28bebc635feebce1a46b3c556a2fbc262003bc536e50bc00000000000000000000000000000000000000000000803f00000000000000006b1cb5bd7eff953f055cc13bd547913c9a22c3bd6792743f825e3d3d477c703d8ffabfbd7a3e433fdd63923d48a6b03dea08c0bd3dbf113f1ab3903dc58cbf3d04abbfbd237fc73eb643683d2c4eaf3df7839ebdca3b613e2c54083d748e8e3dae6158bd5243683d34f2ca3a3a2b1b3d00000000000000000000000000000000d8d33b3c0f2287bd8430a3bc7a6fdd3a3c0b363d0290bdbd611024bdaac370bc36353e3d3f27acbdfb2261bdc23e36bdd78a433def8c8fbd062e70bdc4336cbd1956213d478b55bdff8051bd61386abd9d521b3d034c1fbd2a0f21bd4c9548bd659ee83cc370c1bc1addbbbc97080abdb7df853c2a3a3abcfa5219bc58dd6fbca7da993bb2844b3bfb93523bcff6943a7d7bd4bdc4bf973fbf67d83d518523bd00342bbebba38d3f13cef03d6ca622bb11621ebec19d693f2213203e7de15a3d33c218be7c4b373fdc27273e72d6ad3d726106be8d78053f3db0143e6af0c23d00b502be8919b43e021de83dffcfbc3dcca7cabde55d413e7f8d8c3ddad1923d88793bbd543c423d2349be3c72953c3d194067bc074972bdcd0ca3bcf18a68babb4b313cff1439bd3d0f77bc75691bbbca251f3ded6d99bde68d39bdfcf5d5bc40ef213d1c1e85bd3a5d70bdb86551bd90a4463da9aa6fbd407b7ebd45477ebd9c82173d8f1d2ebde1aa54bdadec7abddc5e1a3de0faffbc96bd22bdef5a54bd41bcd83ca3dc9cbc090ddabcb1c206bd6c4c903c69940ebc60ba35bcf12d85bc52913a3bbdc70a3bf3e7253b39e2343b2f5bebbd6915803ff2c98d3e903e64bdd2ad2fbebd55753f0f58953e0f5458bc4edf14bedca2453f5cab943e8689403deb7c26bee8461f3fa274893e11c0a23d855009bed7a6e63e8f3c623e4d43b53db50b0bbefe899b3e85a92c3e069bab3d46bac3bd2db52a3efccdcd3dea3d703d4e2659bd7a81313d8078183de4150e3daf3321bce5d623bd2ba66dbca4cd9cbb0411ad3b00d00bbd0fd69abc9a491ebc1584193d28997dbd43484fbd29bdffbc2571463d125965bda6d187bd891f71bd17f8433dc2ec40bd06e080bd61548dbdbccd393d639814bd9ba96bbdaf738abd52871e3dbcc6cfbc4f332fbd9f4963bdef13ed3c562578bcd1f1d0bcf09c1abd4e1a843cb3a8b8bb5c384cbc51f366bcbfa8f53a94f01b3bd6ef3f3b1e07463ba5dad2bde052533f2288ed3e4c9589bd657724be5709483f2804f03ec58fcfbc667c2abe4ced253f1308e03e157c253d755827be1803023f918fc23e3fa29e3dd09318bea42abd3e1f7f9d3e872abb3ddc710abe1d4f7b3e97f5673ee19ba93d22a7d4bd4166063e91630c3e499d783ddcfe63bd2f2c0e3dd410523d0d30e63c4a2a64bc386b06bd457d87bcb9303fbcf41aec3b7546eabcc972b0bc161d54bc858f133d8ca83cbda8c862bd131a21bd54d5373d973031bd282f8dbdbbc97fbd0f245a3db9f81cbdfb6691bdd5b897bdfea1073df6d6eebc645c5ebd398580bd2a8a283db2d2a5bc3cb733bd4f4672bd020be03c614636bcce72dcbcdd3a18bd4ef76c3cb70f9bbbe5342cbcfa5681bca9ed073b98810b3b03eb263b8adf883b7246c0bdab49243f8c9b253feb7a9abdb83b18be0c4f193fea4a253f17d40abd840f1abe3033fc3ea369133f6e2e1a3de23624bef0ebc53e1523fd3e966ba03d7fd6efbd51ab8e3e540abd3e024ea83d7e8a09beaf403a3e8f14903ebd3aac3d1fadc3bd97e2c03d44c72b3e231a633d1c2554bd6d38b33c2e7d833dcdcecb3c782556bc3ed5e9bc509096bc78116dbc8230023c6fbac7bca961ddbcd1f749bc960d2a3d6e0315bdc2f888bd72532abdbfde593d3ecd07bd889aa2bd8c9b89bd55135c3d2275e7bc397498bd15719cbda26f433d4e61adbca71f80bd69eb94bd8d94273dc5617ebc20983fbd40c56bbd160ae43c0b5304bc6365e7bcc9a81abde827593c9ada20bbe6944cbc7ea067bc0b8e033abb92df3a9f3c263bc30daf3bf6eaa3bd7977ea3eb41b543f4a3bb0bd4ddf0cbe804cd63e1494523f46c42ebda2e01bbedba5af3e4843393fbcbd133dee1f1dbe53e7873e8c9a193f4ca6a03d4caf10beb2bd403e99cced3e8debbf3d1c4cffbd5c61f13d0a00aa3e96a3a93d5204bdbd76ef623dbec0493e7ea4713d9e492ebdbd57b53b7837923d09d6be3c4cca01bc3d4bd3bcb5dbbdbc214877bc0d865a3cfba39dbcaed310bdb8fb04bc4b2e343dd9cbd7bc28bea0bd0d492abdd7f84a3d62ecc9bc3c8ca9bd5e8989bd15c76f3d3311a3bcdc4ca6bd1fc3a5bd1906373ddcfb7dbc09da82bddd2892bd6395263d26bf0fbc2cc149bdc61677bd1fe4cc3c5d8483bb6da7efbcf69318bdb12f593ca19058baca0f66bcaed270bcb20fa2badaace33aa4f3e93afe47d63b220289bd95e78b3e5924803fe229cbbd8266f2bd895c713e96b47d3f0da54cbd91aefcbd84a0493e2727543faf4e363db89212bec465143ee573333ff1b2ae3de14bf9bdafb8d23d1e38063f1beabe3d9958eabd5df95b3d9e06c13eb1c2b33df0f09dbd1a92a43c59715f3eea17633d072c0fbd8fd01ebc08299b3d92b9df3ce466143b84d2b1bc049b05bd1eaf45bca9dca03c57b39cbc794867bded0f4abcac78523dcd9475bc1741c0bd3b2b1ebd8a6a7b3d70ee4dbc3ff7c9bdee1397bdc4807c3d37a631bccd56b4bd3cb3abbd5c1c4f3deabd06bc42308fbd59a89bbda955283dece07ebb783657bd299178bd274ad53c4ca2473a040102bd03a922bdbad50e3cd3569539a1aa79bc33fb44bcd8bf43bb36ef1c3b5b974d3b5dda103cd97e50bdd7f5ca3d1ff4973f088eaebd5eb2ccbd58777b3d0e49903f056436bd14c100be546c533d604a763f40066a3d05ee05bec303093dc375463f522bd23de0bdeebdc9617b3c2bea143f7128e83d4db9cfbd14e5b4bb1a74d03ef988cb3df5b18abdc75da2bc7af06c3ed0818f3d71f287bc67b3a8bcab28903d6b27083d0fb3043c88ddd1bc7f9e58bde99881bc00000000000000000000000000000000a99a453d19a960bcf31ccdbda5a450bda0436a3dcd4423bca949c1bd7b8590bd31ab533db17ef1bbf10fb0bd152aa3bdba343e3de2d7e3bb5de38ebdfd0897bd227b153d7adc20bb9c6f4abd707a70bd1947b03c494af4393483fabc265813bd92befa3befae3a3bf22949bc1d1835bc0000000000000000000000000000000000000000000000000000803f00000000d71398bddd4554bda97b983f57d5cc3c5553c2bd916341bde0e97c3f0599a83d5c3bc9bd96cc2ebd7b434d3f3b46eb3d6569bdbddc5a39bdfc671c3fedc8ea3d4fb5a4bd310e4cbdf847d93e7e32c33d27a952bd84c938bdcb217c3eeaba853d9c2388bc67861dbd237e903de0c99c3c00000000000000000000000000000000000000000000000000000000000000000d1a243dd68250be2b17c33c3835293c8457a63c6a713abe4ec2d6ba632d763c5a06ad3b38612fbe19ea95bceb857e3cb5f9bb3abed610bebd98b8bcdb720b3ccbb825bbffe1bbbddb06bfbcb439c23b697bc4bb3e3257bd5e949dbc825539ba4f7aefba785334bcbac515bceab4aebb00000000000000000000000000000000000000000000803f00000000000000001d1d0fbe2976ab3f0e190bbedc1b983cf433b1bde1a98a3faa9167bd6e31e63bf4247fbda9d7673fe174acbc0ab3733bf1961cbd0fb92a3f4476123cea54fc3bc11307bcba05d53ecaef053dabf8823b8470a33c63fb503edbe23b3d1d646a3b683a073d63bf0cbbeaf4103d8d49a73b00000000000000000000000000000000fb14393d19c501be69e8de3c2cf02b3a5a71333dfbd421be810f353cc2d1ad3b8995093d969d3ebe625b5abc0244873c9ecdc33cb03030bec9b8e5bc63088e3c2baa5a3c094c0cbe354d0dbd73143d3cb135e33ba2eac1bd1b1006bddc3bb33b7c9a233b4a9c49bd1256dcbc2a0b143aaf7425bafca79cbca4a180bcf98b07bbe866ca3a956a823c368caa3a793a16bbee6b52beee30ab3f430a9ebc16bf69bb18ce27be5552943f19e9183de2eb45bc741c1bbea240893feea2333d86d47ebc6471e3bd81d65c3f9d15943d77ca62bc6bd38bbd6008213f24ebb83dfd3c1ebc2ab7cdbcaf92c93edbbac43d58ea01bc44e20e3c7318353ec26eb13d7c76c7bba37e063df246ed3ce356683d334fcabb5291263dbe08febd6c2d823c43d70cba91620d3da8ec99bd6a48fe3b6f7d6f3b41e2273d15ac10becba1a3bc1ad75a3c55de1c3df6cb25be1b5636bd1e50a93c6217e43cd93116be7f9c61bdf518863c30858f3c6adae7bde66d60bdd42af53b80722a3c5ab19dbd113455bd08ffa33b6ae2113cba5329bd09a414bd10fe23bab6b3d83b92d057bcdbda95bc8f2cfbbab51ad63b33c9f33b2f705a384cfdc239252048bedc778d3f7ca9513e2da24ebd87d84cbe86d48a3fdacf533e5f635fbdd06831be02cb743fa6bb593e9d5446bd6b54fdbd94c2423f922c5a3ef0b224bdd284a7bd03650c3f25d64a3e16ccd1bcbf3603bd0643ab3e8b032f3e710094bc50de703ba797143e216a003e38fe13bcc684c73c03f0473c5751803da09633bb10a1eb3c0a3299bd955f833bf02c5abb90e5d23cf7f664bded7184bc7039113cab620c3dcbb7d7bdabb961bdb35da43ca6a0043d05baf8bd524aa6bd1858b13c1d2cbb3c6d91e3bd9d84b3bde4fb5c3c93ba993cd515babd3cfca8bdc43b073c03cf3b3c721272bd343b89bdc9593c3a25ef2c3caf510fbdd2b632bd76882ebb7706ba3b83a028bc1fcf95bc0663e1ba24fb8a3b856ce63bab27e939c04bf139435841be2e8d703faae3da3ed718dabd6d343dbe78b8613f33e9e13eb97cdabdbaa41fbe3e9a453f58e1d93e07bfbebdf72be6bda05f1c3f3d39c63e220091bd7e3497bd0a44dd3e139fa93eec104ebd0ccaffbc0983873e5d6d803e7794e5bcf5d7853832ccfe3d6fab203e678855bceb8b8b3cf1066d3c9e60783df882ff3a012aaf3cad0e70bd2a6340bc6e03bcba6ea1a53cf7640abdd95324bd5dbf7d3c6ce7d73ceaf588bd6064bcbdd0fad33c8ee0cc3c92eea4bd4eceedbdcf71b23c5b61b23c9fe9a1bdabbbf2bdff6d5c3cbb733e3c2a6077bd4685c7bda578dbba0a3f563c296239bd9ce0a4bdb50f313a9487f43bbbc2d8bc61be3bbd33d88cbbdbf8003c984844bc0170a4bc63e52fbb946b023c78c1b13bdb11943ac28fa73b68c01abe0568333fc9ec2e3fbca120be762017be1968273feaf52e3f506d1dbe617afabdfa690f3f24e4243f4c3e06be4235b5bddfe1df3e0e0f113fd59acabd44ef60bdea15a03ec68fe23e7ffb5dbdd5c9debc9b3c4e3e921fa23e8ad309bd076f99bb2244d23d3480313e104e9dbbd18d3f3cfe6ac03c1ba65e3dfd21d43bfb6d633cfee020bded340fbd978b1f3b66473a3cfbee07bc69017fbdfefdc03c1f81823c1063e4bca11d01be8038f63c14a7a43cd1d22dbd3fd51abee9b5ab3c2c17983cdf3e36bd302b10be04ab113c03ad6f3c437430bd6ab1fabd72ba523901a5463c3f4d0fbda1f3b2bdea6e8cbb07c2163c5ee5b9bc049d52bdd7adacbb914d803b83052dbc955aa0bc9782eaba961a873b74bb2d3b6bed3c3b3b229a3bdf5bd0bda444e53e1c1a6d3ffdfe4bbe312bc9bdc4e5d13eb18e693f47a83fbe8c1ea1bd5af9ad3e3277583feee71dbe7b7b70bd8077893e9b88363fabf4dfbdbe8910bdefb24b3edd1b0e3fe95f85bd1ff3a8bc754b103e656ebb3e1b44dabcd8d9c0bb446ab33de6a6403e677218ba169e8a3b8994183d4aa2343da0c86f3c2eb1183c70ea1fbc687465bdf402dc3b373ec73a244a7d3caf92a1bd81d5e23c118fab3bc527af3b17f51bbe02c6fb3c9fc7713c1a3736bc2b4d35be5b6ea83cce4f4f3c72d1a0bc0a1a29bef7cccc3ba60f373ce355b2bcaf7706be646ecabb26ec1c3c4962b6bc3f9fc7bdef4cf9bb1b72fe3bb895aabcf03055bd42c204bcac51ca3be04a52bcd25794bc9fb894bbaee54439288d283aef4b9e3b3f12d33aaaec45bd07dd603e98828c3fd9a550bef6d646bd6f56363ea1608d3f025247be560a1cbd6ef3103e3038813f961621bee0a5d5bc14a4f13d3b6e563f0fb8dbbd084faabc4b6ac13d63fd203f53165cbd43555dbcb714b13dc44cd13e949493bca578d7bb674e8b3d40fc493e02b9553c852374bbc7a4363dd9780a3db6f1c03c03bb5dbae0a73d3ced0a8cbd1c6f773c6b948bbbc33d0e3d691102be0752203de06217bb9831cf3c6e5821be8a400d3d69f8193c587b3a3c96ec41be4bb8873c540e493c97bb3e38349135beb73b733aed1f1a3c8a0928bc06750ebe6c2f4cbcdc870f3c904e48bca095ccbd84066bbc7f84c13b09e967bcde925bbd04d873bc8d6b3c3bfd9b44bcb88ea1bc11433dbcbef4b5bab423ddba21ed513c6d0b593b4d25b0bb2a6cf9bbbd4dab3f39cd5dbe25e01bbc2e1ca83c2c2e953f519b1bbe1e0910bcf9d19fbb1b288c3f7b0ffcbdcfbbeebb8f46bc3aedc6663ff97796bda1a168bb19c0753c03522b3fded6cfbcf58d8dbb36db013da52ddc3e0ded073c4b27c3bbcb9a403d441d523efb7aee3c41b1b7bb54c3313dd789273df1ae1f3d50de14bb2e7bfa3ccd32f7bd95fac43c0000000000000000000000000000000032af203a7d04203d762449be673de53c06e9cd3bec9d8e3c73a532bef99b87ba9b5f233c849c933b9b8626bea9aab5bcc4bdf33bbb5e0ebbe31902be6bd4dabc28b7983b576604bc694eafbd88a4d3bc97fb133b516726bcae6741bd2418b2bcdb7677baf00600bc68daf8bb656431bc0000000000000000000000000000000000000000000000000000803f000000000643a23c36f61dbe765aab3fb033f6bd57db173c0e23c4bdb1da8a3f88dd2ebdcb06003c4a0499bdfd92683fb8e0a2bb08f0f73ba7ed47bd40c12b3f08bbcc3ca3b4cb3b1e6d3dbc0980d53e7373363df8f8f93aa5fc943cbf4b503e9908593d6ae8f8381a6c113df3548cbb35e82b3d00000000000000000000000000000000000000000000000000000000000000005286803d3c073abe906e6dbbae82703cbe80573d030118be7683c4bc675298bbb0d2313dda2afcbdd04d1cbdcfb4b7bce0bf0a3d202dbbbde72b14bd020e0ebd90f3b83c469167bdce07efbcc28116bd2437713cd147ebbc0aa19cbc2e4a0bbdd568aa3b4cb106bbfae322bc4f6795bc00000000000000000000000000000000000000000000803f00000000000000007fe743be9eccac3f2426fabd2272a43cbae42ebe30aa893f5a608bbc6fa6073d16cb1fbe3a2e5b3fe1844e3d790d323d693e01be4c7e1b3f1c9aa53d4c12683d1a67a1bd81d2ba3e9000b63d80bc653df062dabcd123273e0f6d9c3da1953a3d861e903cddb68bbca2bb2d3d35b3ec3c00000000000000000000000000000000e22b383d09a0fabd74b81f3c758f903c434f863dc60916beed0826bc4b58123ce2a3863db35e1dbefbd619bdb63c5f3be78b6b3d5bfcfdbd5f5b42bd2e098cbcc7e42b3df9d7b3bd9b5d35bdacf10dbd92fef93cf2aa67bd2fd513bd684c1cbd93a18a3c8444d8bcead0dcbc1463edbc686bc33bdeafa0bb146877bc723c9dbc2086d0ba6c9b453c0adbdc39e8668c3adcae52bef6e2ab3f75089ebc5da731bc20525fbe7f08963f43d92d3d51dbc33b350763be32de843fc5c9c43d653bbd3b5fcd45be42ca4c3ff552103e2dbed03c39c111be488d0c3f19f2253e84a2473d94baa4bd377aa63e9fd1173e976a3e3df687ccbcf9b0073e41a4df3d2506253db87ead3cb2144b3a5dca7f3d4fcfdd3ce30c4b3d6accf5bd3ec8bb39dbd2243cf45a143d7d099cbd08ca10bc3f6b943cfa22763d72dc01be066b25bd652e883c3e23833d4d0700be53a181bd8a2e9d39d1c85a3df8b9cdbd3ae583bd3bcfb7bcfcb5293dd8308fbdc1726cbd223b2abd8fb6013dd4953ebd124e38bd686a24bdd1a6983c23c0a0bcc75bfcbc64dc06bd8be43b3cd9ae90bb939a93bcd40f85bc9f71a23a7823e63bba50b0ba12b3803bd03647be25cd8d3f4d9a523eb6fa5ebdcdaf6fbe589c873f29dd703ee9982dbd7d8b6bbe549e653f63668b3e0389acbcb5dc41be807c2c3f7a72913e26ac4f3cddf70bbeb626e83e6b74853e24c42f3d5bcca3bde904863e8121593e25153f3d9c2ebebcfdbeca3d362d0b3e498b4d3d58f8503ca73806bc46416f3d60d0133d53371a3d5ba49dbda6d316bcfbee3f3c913e003de21372bd254805bd2afad93ca8cb523d2ffebcbd2f438dbd2b2ea73c9e3f653dbbe5bebdd4bab7bdac2ba33ad0c73a3d316694bd6ca3acbdffd1f5bc9b811e3dfac658bd76ad90bd615d38bd8c2aed3cab8702bdf7425fbd132342bd765b933ce22879bcca5412bda24b13bdd077273c708d1ebb641791bcdf9395bcde11363b43f1ff3b097195bbbde7ea3bbc8f3fbe4f6e6e3f67ccde3ee8dae3bd99d95cbead0e5a3ffdc4ed3eb6c2b4bde7e651be1ef7333fbcf5f53ee5de68bd245d24be4f46033f057ce23e2a3785bb46a9f8bd04d6ac3e5d46c13e0fbe053de4fb8abdd051433e6f1c8c3e6a865c3d0553c2bcd8609e3dc2fe223e99b36e3d46ef0c3cd66052bbcb78593d68d73e3dacc5e43c11926abde4a9fbbcbe5d763c8565c43c3b3d1ebd8a605ebd8c290e3dbfae263dc2a56cbd3301c8bdac24b33c14383a3d44607fbdc43edcbd14a700bc25a22a3dca834cbd4900cebd4e220dbd13b7f43c5b3406bd7bd799bdc4a366bd8001d33cbe07b7bc47336dbd747657bdfaa78b3ce5811abc493a16bd0c0318bda0df303c8d3130bbb69391bc2447a1bcdf2d083b0d23993b2f4015bba8c3043c7a281ebe8e51323f695d2f3f930524becf8334bea8061e3f0129343fd67b04be1aea27be8d2afc3ef2122e3f30659cbdac450abe2379b23ed244193f6e6096bca487cebd5b6b643e1798ec3ec9ed493d058b72bdaf6a003ecaf9a73e37477a3d1827cfbcbcb95e3d366d2c3e00fe8b3d8222b73a71f8b53ba114303def21653d29dbb63c214514bd98954abd07728e3cfaef863c7d3677bc89f193bd8244103dcfdaf53c5389e0bc428ffabd5471c33cf633213d9e570abd651a05bec80e19bc17c10e3d7e89ddbcf1d1e5bdd01934bd76f9f13ce7f09dbc883ab5bd7d807bbdcbd4d43c701a81bcca4a80bd862d6dbd6997973c54641dbcc3411cbd6e5c32bd01bb1f3c46b4b1ba1b3f98bc95ccafbc95e4fb3ab7778a3bb23801bb242ff93bf534e1bd9ce9e53e5ccf6b3f7ced45be4b55f6bd6d41bf3ef1906c3f5b2523be26e3f1bd0ced903ed2485c3f5e10c3bd63d1c6bd7f89423eeb03393f769b5fbc5a619abd3cc3f03d51150e3feb63343d0db34fbd3ee19b3d13e5b73ea944993d5287ddbc7ae5313d27df363eb2f4a53d43c2e6bb98c6893c0867073dfeed853db3293d3ca7a138bc56cf8abdc47aab3ce17de23b6e26a93bf431abbdaf5c1f3dc10eb23c3cc9e5b7528611be0d00a13c6117ee3c72d1febb81ea14beb9f884bcaa3c033d846d13bc98daffbde1db4fbd12add33c9a3dd9bb9693bdbde4df8dbd538ebf3cf72700bcfe1988bd502b89bd3872763c0b0b9abb7e5e1fbd049841bd9ad0143c880030bb067681bc19ddccbcd86ea43acc7e1f3ba6bd573a2831f83ab3da60bd24115e3ec3b08c3f70b84fbe0cfd94bd63cf1f3e6d6c8d3f434124bed8839bbd39e0ca3d2993803fcd3fafbde5e585bd3a11703d384e523fdf1a57bb6f5260bd0b28f23c9e281b3fd0bc893d566f23bd8978e03ce127c83e1763ba3dd582b1bcf9f3cc3ce8c93a3e3803c33dcde75ebcb534f43c9b899d3c54f7903d3ccdf5b831af443cb815a4bda15be23c6ae1953b22d1a23c8271fabd91cd363d20722c3cd0e3a53ca36c14bef6ff963c7817d43cd41eed3bdc1c1abebbebccbc03ddd83c8e6b543be5ac01becba674bdfee8bf3c123dc53adaa1bcbdee61a3bd5ab6a13c0ef7fcbab39283bdc2ac98bd1cbc6b3c8e655abbd2f514bd91575abdee14043c76ae4dbbdd5a60bcf36009bd0570c5ba222abf3a4dc6c73b33042a3baef686bcd784d0bb6f44ab3f22155bbe0751cabcf1a683bc64fc973f6b6604be700f2dbd6a9329bdcb518b3f449d5fbdb7a71fbdf6b949bd21d95f3ff9a0f53c83191ebd21b826bd4709233fa471c43df59fefbc921243bc35f8cd3eb0e4ef3da594b9bcc78e803c31e2383ed029de3d3af8a8bc2f34183d16a59a3c7782b03dabeb1bbb5374013d4a79f5bd59cdcb3c00000000000000000000000000000000b141753c1c32ef3ce9842dbef241073b37758b3c979d883c315e07be60b448bda77a9b3c30f8253c1bb2ddbde196adbdd982933ca55fc73bd366a6bdbc06bdbd8894733c04ec063b0bf65bbdefbda9bd71881d3c66640ebb5feaf4bc840577bd2790b23bb3b593bb8e1ff8bbe74dedbc0000000000000000000000000000000000000000000000000000803f00000000692598bb44bb36be6512ad3f2764bfbd7ffd6dbcd6010fbec09d8a3fd12edc3ccee7b3bc5493ffbd83735f3f18add93d0a8091bc904ec9bd3d82203f5fea153ed2fc61bcb7e254bdaa9bc43e73c9163e3ddb46bc6aa06cbbdc31393e05ddf83dbd0acfbb52da003de25d44bc4e8c963d0000000000000000000000000000000000000000000000000000000000000000b0a5bb3d920422be69de86bd0bd1c63b7559bf3de14fe4bd403150bd16b890bde5f39e3dd3e79fbd1a1409bdea4ce6bd601e743dca564cbd94d34abcc3a7f4bd972e1a3d85c0f7bcc781ef3a7c2bcbbd71e8933c6a4f45bc9d7cf73bef8f87bde279e23a4927553a28f1043cb3a9e3bc00000000000000000000000000000000000000000000803f00000000000000004cf56fbeb229ae3f8ac686bcae4ab4bb4d1a86be2377873f364fd73d3babb03dfe7a7abefa82473fa8af1c3ebb032c3eeefb59beebfe053f601b0f3e616a543e0a9319be03cf9a3e7061c03d1ee9453ef98d99bd442df33d52113e3dba2d183e70c32fbbd4a2dabc64f66abb8eef9b3d000000000000000000000000000000003dfe6a3dc6e100be6d8621bd92d7423de2b7c93de00f18bee1e657bd01872b3c65a0c83dc7f0f2bdfed44bbd20408abdedd4a33dd377abbdb332bdbc5914e1bd4d436a3d746d43bd134163bb861cfdbd0fd70b3d1650dfbc81c5ee3bee90cebd24c3843ce6a91cbc69e21b3c2cab8dbde6a4b43be2c7873afdebac3bb65f16bd64e6f2bba6e1083c7ef07b3b25ed9c3b5af64abefc3aad3f33e2fd3ca56579bdb5789abe0ac8a03f9568ba3dc4e0c2bb0c5f9cbe1150823fc875533e8c72723d5c878cbecd133a3f9f086a3efcd1133e53c65fbe55b2ea3e4b0b4b3e0a174d3e007a11bebba4823e4bba043e7f393f3ece3e79bd3b2cac3da7607c3dfca1143ed721a23b4ca6f9bc0226d23cc506b73d01f3213d7090cdbdae97ecbcf242353c7891463d3868b8bdccdf21bdd4e12f3d39b0b83db397f7bd607e8dbdfc6d94ba04f5bb3d4a76c4bdada457bd25be9ebd5759943de78c85bd0d46ccbcef12ecbd0b91533da5fcfdbc8d480bbc5d6000be53c4073d19218ebc4f909d3bfb9ed8bd7689753cc37b57bb9c91b53bcc6f8dbd0e09a43b1ada883bd570883bce4b11bdb0f182bb0e06cc3b8fe28339c04d3c3b790a4cbe0440903f8ea6773e9ffab3bd42d894bebc908a3facf89a3ecb6423bdd5159abe1f9e5b3f5b55b83e1fe1633d23ab85bebe06193fd7f3aa3e6f61173e49d051be02f9ba3e843a863ed8d8513e369607bec97a433e0d662f3e7c4d453e0a8e6bbdcd986a3d28c49b3d9e361a3ef244773b353306bd469a6d3cf484b43da24a113d381c90bdc581dcbcf195753c4c86383d924c97bd3e4f6ebd95cf273db80da93d391ac2bdd5c7a1bd864be8bb6087aa3d2c2f93bd261d6cbd500fadbd183d893dbea739bd2a78d9bc65a800befbb23f3d0937b3bc36b961bb8d3a06beb11ce43cffedfbbb6dbdbf3b6aa0e0bd931b433c274bda3aa443103c2a1193bdf952bc3bd5688f3bb498173b8e2c0dbd0b6254bb3234c93bc7491ebb103fa13b833a3bbe5c166f3fc2e5f53e60870bbe35db8bbee2605e3f8ef6063fc6e797bd3e358ebe62072c3fe20c073f46ce2e3d57fd72be4575e63e6305e43ec3df1a3e03dd41beaa3f843e9a3cab3e63175c3e5175ebbd4081f83d212f563e6db04c3eb25741bd24b9b23c7ec9b63de691203e2ad4993bd4bd0bbd11db163c226cc43da1abfa3ca6aa60bd52e429bd8a0f3a3cfd852c3dbfec6bbda7fe90bdeb5e243d244e953d43fe8abd224fb4bde4797abc1d769d3db51c48bd92da74bd3a0fcabde1c26e3d64d1e7bc3480c9bc81e907be9388333d073bf0bb208534bc3d4606be8c64b53c2ae75e3b5f84193c182ae7bd455f263cbcf7e13b9f9dde3b43cb91bd6f729f3b3b2fdc3b0371f33a30ba0cbd0dc627bb8e98973beb3e6dbb503ef23bb9bc24be310d373f15ef353f6bb12ebea96c71be6fbb223f4b1b3f3f3be7cabd95fd76be70eff03e9e44303f65f03f3d0f6955bec99f963e1f4a0e3f15f9243effaa29be91d2203ec67ec93eb9ed613eb4ced0bdf9494d3d95ff783efbfb573e1ab221bdacf605bc920fce3dee4d233eebf7833be6f309bd52765f3b941ac83d7957ed3cc58b2cbd027553bd7ac42d3cca77133de13a26bd49ada3bdec11193d0272893d7f0035bd161fcdbdaa01aebcafbe8a3dbfdce9bc372382bddbcfd2bdeffa513d035d3cbc7991e8bc3c250cbe10850c3d4701983b086c65bbac1c0cbe2d5c9d3c9521203c6f66bf3be603e8bdfa16223c103b1f3c1c6cd23bf01697bdab479a3b35a4ea3bb2095a3a7ee90bbd897edaba46789d3be7e48ebb1875c13baee6fcbd4f57f63ee0eb6d3fefac43be0b8041befcf4cb3e51a0733f0ea6eebd36cb4ebe4d098e3e9d46563f6b1b303d70252dbed4ed173ed783253ff57c2b3e5a6f0bbe4049313d74dfe73e85276e3ea8d19ebd3c625fbcab408a3e9f84613e3386dcbc22db17bd59ebde3d7dd52c3eee4c863bd9c000bd3b10ffba46e2cc3d87e7c83c5ec7ccbc1c507fbd06250f3cb28ffe3c00c4b3bc31aebbbd264d223d42976b3d54cc9bbcf7cfe3bd60cbe9bc06bb723d5e78cabbcbe88abdab71e5bd69403c3dd4e70f3bbe5cdbbc66e812bec0bb063d9b1c4f3c43e3cbbb28ae0fbeb5c18a3cb9d6893c24f4a73b3e6deabdbdce0e3c9dc6503ce830913ba39493bd3bbdb53b2c1ff43b57bfae3a5f940dbd8faaddbaf4576e3b272770bbeecab23bc622a1bd58b77e3e09438f3f470a52be25650bbecacd2e3e965a903f137de7bda7e226beddeec83d4dd0743febe9763d2efd0bbe70a0163c7cc63a3f38ca3a3e9266e2bd7c8535bdf840fe3e919d7a3e491a72bd914395bdd46f953e183c6b3e2a3aacbca0b074bd2036e83d2ef4323ec1ec193b4db9d7bc16344fbc8f57d23d24d7903cd1edf3bb6e3595bd279f7b3c0a5b123d64a433bc4af4f5bd71bfef3c56273d3d2ac79c3b4860eebd01cdf1bcf54e4f3d04294b3c51688bbd9fe2f7bd85e4203df62a923cef29d9bcd7a51abea80ec93cc3c8b93c7bb917ba10e212be80584a3cfd0dbc3c6c6c2f3cdc4af7bd4546eb3b3eb2733cce57df3bcf129abd7aced43be150f23b4b5beb3a0d081cbdc25426bbfadad1390e8a4abb1227343cc65650bd5fcc383dab6cab3f808e4bbe3d09aabdae1c1bbd0bb7a03f717ed6bd983bf3bda02787bd09b3853f457eb63d2784d1bdef27debd3737453f96fd5e3e88e7a1bd95ba0bbedeb0033f93a38d3e1e9515bdd24b02befae4953e2c68833e0a7dfcbb8b5e9fbd8db5d23de17b403eba08b2ba453a83bcbdf3c4bc7319ee3da21ea03c1491143cebd5cfbd2f09fd3a00000000000000000000000000000000fb935d3d7afa523cf4c0f4bd301189bd9e3c3d3d201eb63cfee66dbd205902beebc0173d466fc53c09f8d9bcac811abe4721d03cbdc5dc3ce3925bbbfd520fbe8825263cfd23c03cd87fe93b8d43d9bd0154a23b331e823ce081a63ba1f188bdd7a0f93a0e30973b6c0b1a398f03c1bc0000000000000000000000000000000000000000000000000000803f00000000eea7aebd101114bea29dab3f7c1d8fbcfdf1ccbdf8862abe3d2b853f2a45203ecee3bdbdcd293dbe9fbb473feef7863e3eb38ebd847245bee8ba073fed29933e874901bd2fd027bec1629a3e5a697f3e1d6186bba8b5d2bdfe0af03d4e223a3ef0ae443c71aecebcf4afe1bcc359a23d0000000000000000000000000000000000000000000000000000000000000000b930efbc0bcbaabdc8ae0ebc7dfa0c3bdb70ecbc8f339ebdd0d724bcfb19693b5075d7bc41f487bda7d333bc695c703b5da5bdbc05f463bde29f30bc94333e3b992786bc566633bdad8232bc4b017d3a498721bc0f6004bd19e03abcb10fd3ba630f07bbad3a9dbca375dfbb93ba6ebb00000000000000000000000000000000000000000000803f0000000000000000d4df02bcafbc8c3fe2234bbc52eb1fbbbdd0173af5f36a3f4403a7394fa9a63a1c14173b22923e3f451cb73b5898f03ad57190ba8ba0133fc293c83b42a8e4b9e0fb0bbc3685d43e5841553b1b4506bb10e194bceaa2843eb75a2cbaf622c1bb8c10edbc9922d53dd6c914bcda0d0bbc0000000000000000000000000000000076bc9cbcc8e464bdf3a5ebbbbc83a9bae0e7dabcb29abcbddeaa4cbcf34bad39853ef0bcd03dbfbd21e585bcc85c713b05a6debccf37aabd47cb91bc529d843b1c05b0bc960d86bd240887bc56362f3be8fb7dbccfd15fbdeae486bc146ccf3a5ce7e8bb5e2c1ebd12e650bcc04128baff284b3b0ca99fbc4974ddbb495504bb42b9d33b00185abb56e7c2baacad39bbbf191dbdb0148c3f86a3e33d74b99bbce8f71abd0bc0843fc3cfd83da53583bcf35aa2bc9ffd5f3f30bcd33da03d10bc6f176dbc363d353f1afebb3dcc31c0bbe27f72bc2bf7093f4096983dbc2aacbbce62b0bcba95c63e5e55603dedf5fcbb4b0af8bc96d5713e1840013d7ab930bc3c4c1cbd6b06bc3d080af93ba5a559bc700d0cbdda80d6bc628538bcf88755bc463973bca03b24bdffb5bbbb635846ba0431b4bc579396bdcb4783bc48fd573ba9a3a4bc59b28ebd0e15a2bc8b15a83b1935aabc220295bde523bdbc8997a23b1d6579bc02a25dbd8db1a0bcefdd403be02e36bc60c846bdb149a3bca071dc3a58a58fbbce97febce1916abccc639fb940e36a3bc7ba8cbcf5d815bc31f5e8ba83dccd3b9ce21cbba2c6f8baf2a7fdbac1ed28bd670c6a3f4116853edd1cd6bca7d341bd84e4603f13237e3eb06fd5bc93beeabc6e2a393fba33643ec3047cbc3a85d7bcb8fa1c3f4079423e051345bce1a4b6bcc893eb3e866d183e43af12bc7465eebc92aead3ed9c2e33df3603fbcd2b5f2bca968553e69028f3dc68c46bcc4f916bd2b6fae3db359e93cc77b76bc71c0ddbc221381bc4827c0bbab3140bc066d60bcbc09fcbc245ad5bb1c3fae3a327796bc9b2a70bdb9dcb4bcfd23ae3b8bd394bc75258bbd7385f2bc674ae43bd36377bccb1280bd5994f0bccf90d13bc9884cbc108255bdfe1fdabc461c9b3bbf8bfebb739a2cbde4dfbfbcdced3e3b131c22bb96bef2bc506f93bcea1166ba9529403b82d879bc85021bbc786b8d396c6fb13b26e277bb6baa10bb14707fba85e51fbdaef73d3f37b7d53ec9edfbbc623b3bbde9ba363f1994cc3e0eda06bdd14c0ebdc68e1d3fe063b43e3fbfa0bce574f3bc5cc8003fc9bd963eee836ebc9f32ddbcf4bec63e10876e3e471835bc2639f2bc382d8f3e0bdf2f3e1c3a3ebc60b202bd45ce303e43b6df3dea5759bc126f08bdbcf5913d523e4d3d3f4272bc8cfebabccaed3fbcfb2640bb57f82bbcc08c14bc700be3bcda8148bcff4c913baa3b61bc2d7c48bd7f04ecbc82aa0b3c686d4ebc158958bd91550ebdd2ff0b3cbce13fbc59645ebd3ad719bd02cffe3ba13b00bcf8cd11bd65f3cfbc906e8f3bb5a3c0bb70ea18bdce41e8bc0c84543b1f0bd3badcbbc2bcbc159fbc6b0d8e3acce61e3b602b49bc177b33bc6cf4a0397395433bf94eaeba2f646fbb046f75ba04a60fbdbaae133fe920143f5a9006bded3128bdfe840b3f870f0d3fb53909bd228ff4bc8965ef3e1666f33e45db9cbcdda9e6bc1db3c83eb7c4cd3e1b4d67bce81da1bc9005953ef3ae993ed113eabbed3ae0bcf0cd5f3e9e336d3e7bd629bc0de5d4bca41d083ed7b5143e495a2fbc1a4be1bcb5515f3dd7118a3d13714cbcb3a498bcaca736bc0cb5a2baf65314bcbbcefbbbededcabc2b4493bcac9f073c03bc23bce4433abdd84c2fbd9887413c0c2a08bc1be553bdb3b34cbd3330253cbc5f0abc4c8c46bd17f148bd9ce6033cdcb7dabbf8c826bd2ab229bd3458b63b500f71bbb67206bdcaf80ebdd4554b3b89db0dbaecb5afbc862bc6bc8d320b3b454e273bcda22abc11065bbc00970e3a38aa663b701b1eba6c4215bb27149a3a210100bd0728d43ea4763e3fd83011bd21a719bd54e3c93e4524373f3b8f19bdab60f3bcad86af3e38281f3f8500a9bc79decfbc3e4e913e3f25033f022b4fbc7f94bdbc7372613e37a1cb3e415f02bcbc68c4bc431b213e43c4943e132d06bce97ad7bcb182bc3dd6093d3e5cc134bc4924c3bc1488093d32b0a93de95153bc493f83bc2f5366bcadfa4cbb2f150ebc483198bbc64ec4bc78cff0bc21480c3c503aafbbfab32abdb9e877bd99a4303c1619ebbb32802abde6e269bdb7e1133c1b6ab5bb86fc32bdaf0282bd5e2a103c45b888bb8f9d06bdf29f40bd6122593b786520bb3856ebbc9e862cbd89cbe03ac5a6b7b8837a92bc4f9ce2bc2a7bcc38a32d123b8bf7f5bbbfe784bcd6819d3a1ea26e3bb765d13a2708f1baa587ae3a5701dbbc3c17853e8f306a3f84a71cbda097f8bcc34a783e322f623f0ef013bd4d61a3bcc0755b3ed1043b3f43016fbc9653aabc138c363e1c0f1f3f36e8d8bb440b8fbcde180d3e310ef13ea3d10abb80bba1bcd141c43dd458b13ee03884bb334b95bcba51633da85a5e3e5437dabba97d9dbcef124a3c7660c23d632b50bc98b444bc68c79dbc254e26bca5150fbc7661d9ba03c9dbbcdada49bd12ab263c840bf739f63f1cbd753dafbde702d53b6f4b05bbaa2a29bd4e1ab2bd4be89a3b15102abb02661cbde1cd9ebd23f7d73ae0eb17bb4eb5f9bcd4a977bd7c9a29ba768c63baacbfc5bc2b0a4fbd6edb2dbb565f4d3af78572bc928015bd97356cbb1a0d4e3b1e8f5ebb78a194bc9477e4ba4543323b696f0a3b2a8b3cbbf600063b077e98bc6297e03d303a8c3f92b407bd228097bc144fcb3dbf18853f21b8dabca4a560bc3a47c03d715f613f937624bb912044bc96a0a23db4f8363f3153c93b4b5440bc1ffd783dd3480b3f945b053cb82a55bc76a11c3deb23c93ee1fe993b532c5bbc1dbc643c5e5a773e748a1dbb938451bc7baa31bc012ec93df3524fbc33dd0dbcac85cfbc34a8c6bc08f52abc000000000000000000000000000000005a6919399fbb01bd8050a7bd77640f3b855e75ba98b3eebc8bfe98bd490402b9a4c503bb9876d8bcd69b83bd809930bb3abdf5ba3311b5bcb7c858bd801798bbafdb01bb32b887bc02ac2dbd3c57d3bb1f0625baa06335bc0a7100bd71cee1bb0a7a3f3aac0c34bbc03d9dbc069cc7bb0000000000000000000000000000000000000000000000000000803f00000000eefa97bb998f94bcf22f8d3f5d69a23b6d9952bb118eebbbdcb36b3fb60c7d3cfc7c71bb6ec383bb46413f3fdd13973c085a88bbf1659cbbe442143f7de8893c0f30c4bb463618bca87dd53ec01c3c3c7ee7b9bbe78976bcd2f3843e0c95723b7e60debb4f41c3bca8ded83d9a3eb4bb0000000000000000000000000000000000000000000000000000000000000000036b4dbda47841bd3c8ec3bb8ba38c3b06bb3bbd29da3dbd13a2e9bb4a61393bc8b131bd6efd38bd32240cbc7c197d3b3c5e15bd33d020bd23be0abc6d48bb3a839cf9bcf2c513bd7e9a2abca53ce4398683aabc1ca6e4bc069b1dbc89ad0fbbdabb34bce0dca5bc0ea313bc0b48acbb00000000000000000000000000000000000000000000803f00000000000000007fe8ae3c1b307e3f75b7613c30c9da3b06f28b3c20eb573ffc57943c30c51c3cd71d723c3224323f86a0a23c1f12363cff0ae83b342d0c3fb338953c0ae84f3c157b5e39b3e0cf3e55a97d3ccb2c173ca25706bcdd58863e2b830c3ccab0833b63be92bc95bef83d648d8a3a43c3daba00000000000000000000000000000000fbd31ebd6ea0fabc86a94cbbb493153ba6175abd263459bd0a8803bc7a5d633bbec963bd0d4d71bd380c52bcca733a3ba75053bddff369bdf06c64bca7d42e3b58712abd281844bd26f758bc92a8eb3a53060fbd78ec36bdba396fbc215a80b9d0beb9bc34d70bbd998d56bc6ffda1bbd67322bce288a9bcfb8422bcc8cdbcbb8ade793a8454f4bbf050b6bb46f3cabbee67013c636b7c3fa210093e1dd0bbbbf641473c60d9673f747c043e388c0a3ad62a853ca599463fcb71fb3dd5bb1f3c2d611a3cc997233f6081de3d348d333c1093813b1fd3fe3e3b9ab33d7e7d3e3c367798bb6620bd3e7b838a3d0cca0c3c49f16bbcbc0f723e0157313d072f5a3b8f2bc0bcd0e4d83d092c8b3ca6ee8bbb96b3bcbcb5953dbc48e392bb70efe7bbfa4efcbc5342c4bcc720aabae6cb893ac1013fbd15ba40bdbe3d26bc408a9f3b07a72bbd113a3ebd16454fbc21d6633ba0053bbda7a859bdfa3b87bc918c543bfabc0bbdfcf92bbd4fe27cbce6798739a203eabc1d8233bd422488bc03dccfba940b90bcfa72e5bc540a54bc568226bb7fd2e2bb89939fbcb74d3dbca123bfbb95acf63a02d6c3bba133aabbf8b799bbf2e23cbb9e1f563f2809893eaf771cbc5f99143be539463feefb803e2991d0b9c2a1413b3d17263f2dfd643ec3c0d83b41e2153b03150d3f39f1483ed93e343cd47a38bbd193d93edfdd1e3e5741363c5ae441bcda49a33e4f89f53d62a70b3cd5b960bc583a503e2b219e3de5c46b3b6df3bdbcabe7ba3d73d7133dc33029bb529596bcf22c39bcbd147abbe5029cbb2b21c9bc834fb5bca31629bba317463ba84d20bda3c02cbde97a31bccf639b3bcfd329bd0f6349bda64695bc1f0b3d3b56c61dbd0b5c46bd6575a5bc4e3d153b7f8e02bd31d62cbd19379fbc28b8fc39c1c1cbbc931e18bd017c9dbc29bc9dbafde880bc4204eabc9fc18ebc2df596bbe013aebb6ca78bbc42e446bcb7b9dbbb49711e3b36d4ccbb46bf83bb9a1084bb47f5bbbbc6e52f3f987fcf3e0e0edbbbfbed93bb22f8223f308dc23efd8e7b3923d1a2ba57e00c3f8b59ac3ef5d2223c6ba067bb4c61e93e52ce913eeeed593c7b46d4bb4cafb63e7b27693eef59593c283b41bc4cb1863ef1b9303ece0e303ce5fa93bc3d762a3e53d5e93d073ec63bd689adbce6ee983db08e633de835023a65fb82bccaac28bc0c56aa3afaa962bb6c89adbc39eeb2bcde7c7ebb4e81953b668605bd1ecf1ebd4df464bc033cb43b2ba207bd5dc52cbd3479a9bc362e253bd23008bd01c137bda1ddc5bcb1b7003bf608bdbc398400bd721894bcb40e14b827efb2bc74970ebdbdaeb8bc1c5a17bb1b8354bc0661c6bc0fb193bc6db998bbd56c6ebb7fe56fbcccff55bc7ad596bb278e9f3a851fb8bb5018b3bba6ad45bbc7d40abce5530b3f28ea0b3ffb5787bbf82b0bbc6042003f5c1d023fa5126a3b8005d0bb0032dc3e608ee23e217f743c805bdebb77d6b83efb4ec03e1390883c51e0d0bb836c8d3e53d4933e7f12653c35e757bc5c73543ef7b1683e5afc603c3e8385bc86db033eb06a183e5583323cf2d9a0bcb7c3623d0dcd943d89f5483b3ead67bc0e7b23bcc16fe83ac5ed28ba60d58abcb633b1bcceacf7bb6a8b803b19a4f1bcc46b1fbdbd74a1bcbb2aca3b0a3ef8bc0a2834bd875fe4bc5192633be1bef2bc4f3835bdbf65f2bced4fb73a143bc2bccf2017bd04f5dfbc55c389ba2b1793bcd97503bd3153d7bc5f9e41bb606e10bcf414d1bcbadac1bc710f8fbb234ce1ba24d951bc9c5d74bc387f9bbb84675c3b60fd35bb3b72cdbb5aa256bbe9c13ebc46efce3eb123313fd00303bb9bc235bc8d8dbe3e14be243f14be123c99800cbc7581a53edf0f103f4a659b3c16460cbc844f893ea1d4ef3e0ba7b23c3f681fbcec95563e389abd3e847ca83c9a0260bcc8751b3e39588e3e7158903c9cc486bc848ebe3d23c13b3e22a9513cc5e3a0bc68da0e3d9d15b53dbedcb63b3d9557bc571453bcc0dd823a6e3ab039d93a79bc538dc4bc1fb940bc2382f43b7e5ec1bcefb823bd6a43e6bc9b95b33bc4fdbbbc46271cbd7449fdbcda18ce3a8675c6bc93d72fbd47d716bd3a9df2ba6f6c9bbccfd103bd581dfabcf8c738bbb5c683bc9c73f4bc689002bd8fddc9bb5553eebba9349ebca9f4babcc7b0a8bb4b463bb98e633cbcecd494bcd616d9bb8772433b043ac0b93b2cb9bbe9a18dbb922232bca498863e310e573f79e9743b607945bcde65793e8db5473f433e893c32a706bc76af573e2add273f47aebb3ccd600cbc0517363ed6f00f3f35f1f03c6d0a15bc803f0b3e0a07df3e8118cc3c16e36fbc942cc23d32a6a93e386ac33c95f064bc106b683d7bc65a3e9b1f603c460b8cbcd6786c3c84e5d03df7cb013ca73359bc9e4389bcf8df29ba31dab13a0adc4ebcd935e1bc0807a1bceaed9c3b373799bc501d22bd619f20bdabb5363b30e3afbcd57128bdfd6940bd958036ba0819aebcec0c21bd80eb3bbde41d9cbb9b938cbcb66702bdf83e1ebd72a9d0bb088648bc2ee4dcbcbc3816bd97ba07bc2979c8bbb1699abc18ccfabcf06a2bbc23f9203b7a7900bc120ca6bc0b2305bca869b63bdc8b9cb9b69911bcac03b3bb36dd10bcfb83033ed5fe7b3f274d7d3c8c9d1bbc6e32f33df243683fb9b0ef3c333ddebba694d93d1964473fd5301c3d54d5fabb7999b33d9646253f7d951f3d09c209bc20fb873d18f6003fa3e4033d8c143dbc333e313dbb8fc03e365de73c2b7968bc07f18d3c8d84793e9bf89c3ce1e585bcee81f3bb9d17e73de62c003c21fd54bcf401b8bc9c4debbb62aba1b8000000000000000000000000000000000cbf88bcfb940bbdb8e020bda5ef85394f0d87bcf6bcfbbc781926bdca2f8abbfade86bc97d0f0bc630e1fbdfe3bc5bb19fb5bbcf965c4bc937d08bd8d320cbcd36d2cbc7e02a6bc68a3febcc49216bc945db9bb3b536cbc1b02c8bcf9080cbcd756c6392e69ddbbabdfa0bcfe7420bc0000000000000000000000000000000000000000000000000000803f00000000ad1351bbb46c7b3b24bd7e3f7c51163d3e9ec9ba75cadc3bc11f583f839c143d185366bb2015a13b6fde323f1524143dc05786bb27dce839ecdf0c3f315ff43cf247e9bbb3fa82bb1c3cd13e3416ce3c6fe408bcabd724bcff23873ea647813ce49747bc25daa3bc1563fd3de5b10c3c0000000000000000000000000000000000000000000000000000000000000000ffe658bc942e0dbcc9aafaba413a753a0f7456bcbcd016bc0af624bb0e49353a1fbe59bc55681fbc6e5952bb2c629039d31a2ebc707603bc384741bb7c502eb8537a36bcc12b16bc301a93bbceafc7bac28913bc6682f5bbab3879bb246187ba2099f0bb3ea0d5bbb8207cbbbcd9d1ba00000000000000000000000000000000000000000000803f00000000000000004050c63b7184643f9e18fb3ba703c83b16dda43b8ec5433f66280b3cac65ea3bfd837d3bb213233fc2d6113c47b5003ca7ca173b1418023f5fa3f73b8e61e33b867c8db7ee92c33e9aee033cb247f73b478d36ba19cc813eb6f9be3b2664c03bf0011abb9704013ed3a4873bbec1953b0000000000000000000000000000000014cf2abce0b7c5bbc56a8ebacc032c3a65e983bc504a2cbcf8c837bbdaab2d3af58a87bc71f83ebc81776ebb2f51f439ee4486bca02046bc823f8fbbdc856f388e9c6bbce11a39bc5d19acbb6d6e093a521764bc007734bc6ebdaebbdfb379ba481031bc6ce914bcfe9e99bbf60ebbba73d2d7bb4e1500bc1533a3bb760b2dbb2da86bbbc06667bbbefc2bbbad21c1ba38a5903bca0c643f7d6c053eb0d65c3b30adbd3b4d4a493f87ecf33d3c55e63bbb01aa3bb49b2c3f50c1d63dabe20f3c7c03833bffce0f3f3d6eb73d19291e3cb4f3773a5486e53eb530953d52d1183cba962a3afe0aac3e0120673d562a113cb71597ba3576643e86b11d3d37c0e73bf17f75bbc9d5e03dcb00a03c5357883be8fb45bb9a7046babd0cf13acb29163bb73d1bbc425fb6bbed549cba7712043ae6776bbccbf414bce0fcf9ba59a283b9203c52bca81d16bcea4750bb20d11d3919db94bc5c0239bc78c379bbb5f2f1392aeb4abc25881dbcbf2689bb88750dbae3f552bcce3624bcbdae99bb9de061bab9e810bc0a7af1bb389b83bbad8aa8bac6b2fdbbc16eeebb95eca4bb3c0a72ba145583bbfb260fbb1ccc5fbb3d4f0fbabe863b3b8162433f902c833eda204c3bb1e6ad3b4d7c2c3f5fc86a3e1fbfd93b5c17433b534f133ff50e4a3e5811e53beab45b3bee17f73ee7ca2c3e72a4223ca0e19a3a3f6fc43edec3093ea121053cf2f00f3835b0933e1562d43d0849163c4b9ba4ba0888433e12538c3d4194b93bef1589bba1a1c33df6fa143dfff7a73b4a560ebbf344ea3752dcc7397008303b962105bc5ce6a2bbb7a47eba02d7273a50ee5ebc1f8419bc71873dbb4302273a84256dbc3a0b30bc9ac384bb6c8c41391a3082bcc5c649bc6c38b9bbff3736ba72da55bca2902dbc8a67acbb8c2e78ba3c9149bcd4c225bcc1fca9bb82b98cbad44423bca5400ebc7affa8bbfca5fdba29c4d6bb69c2c7bbdfd083bbfac0efba044529bb1a5630bb45c80bbbee92a5ba8d88fe3acfa8223fecbfc33efd28473be47b3b3b48ca0f3f3161ae3e8017e13b04182a3b5fd8f63e98bf963e79b80e3cd7e71c3b9a64ce3e81897e3e93f5313cf0561e3ad142a43e2e204b3ef9d6153c33cde5b9bf66763e934e1a3e04c7133c538310bb99ff223e6c43ce3d7a25d73b39174cbb254da13dff78523d55fd993b5c8a32bbf1fc62ba9e71ce3a56a7f63a6ec8fabb8a75a5bba9449bba4de5433a243c4fbca9eb15bc95ad47bb594a423ac62d56bcad9b24bc668c87bbb2a4273976726fbc1cf51ebcbcc074bb1ef373ba82211cbc502bfdbb64c880bb646422ba7ef936bc2f8d1cbc0294afbb60a9b9ba33da0cbc53d6f9bbd92698bbe2d7cdba3bcec6bba7e1c0bb1f7f83bbb094edba318613bb4ae324bb11730cbb30e0aaba321eac3a4c14023fc352023fabec613ba88e073ba727e63e2766e73ee712ee3b6576f73a346ec53efb3dc73e2068103c89362c3bdf8fa43e2be8a63eea351c3c64ad8f391ebb823ed898843e54daec3b55986dba0af2443e1eed493e42a3073c57d3f6ba046c023efb1a073ec341da3b5ffd49bb170b803d530c893d482c9a3b90582fbbf62ca3baa9cfb63a9a8cf93acaebfbbb4b99b6bb52d0c1baa60a513a22ed4dbcc57c1ebc2e1c6abbc477403a670161bccd7c35bc7f67adbbc5bb58b98f2467bcd2c13fbc86aed2bba64cc1ba547939bcf81f1abc5489a8bbe1cf0eba8c6d3abc2d1428bc4e2cc3bb931a01bb27bd0cbc048bfebb84e8a3bbdcc6e3ba8c95bebb948abcbbe82985bbeee6efba1e6f0dbbf4ce24bbbe3708bb2b6aaaba1e2b523a7344c33eace6223f46b08b3b6d2bc93a28feac3e0569103f7abe083c05e3893aa380953ee36af93ecd503e3c4e66f53a91d8783e9c1ed03e9892353cdddc2d3955f8453efb26a63e6922193ca738bdbaf1ae133eb60b7c3ec4f4273c389106bb7db9c33da887273e20cceb3bbd7549bb7df93d3d3ddca83d92aaa13b05e030bb19ccd4ba2cb79a3af728fd3a8269fabbf667c3bbaa92c0ba23cdc83ac38f4ebc153c29bc46818fbbf39c4f3ae83e2ebcbfb211bcf39891bbe65f353891535abcf22638bc1926ddbb1737c9bae4f92abce16a13bcd89eb0bb408b8dba9dd35bbc4e302abc244c96bb9fc6ecbaf322e4bb5e87d1bb371c8fbb3d81d0baae31abbb987cb6bb5ca293bbb17924bb02f3f2ba50391fbb08e30bbb8a3eaebac91c2fba010b833e655d433fc7828e3b513bac3a3b14683edf302d3f9212273c39dc8b3a1569463e44e3133f8e42143cfbd8df375ea4253eacebf83e7509443c84e641b9425a043eacfdc53e5df3193cf048a6ba396cc73d8ca5953e8409243c4533d6bab937823d3138463ed5f0c73bf2f86cbb9ea4f03ceb3fc83dd0d8a13b894131bbabde0abbf6ea623ab9b7053b2ae318bc7b1a09bc28141cbb35d8a73abda454bcf2c63bbcff75cdbbc2a3cbb9063b59bc3d0a3ebcc2ded2bb07b0acb91ea252bc9af036bc8e85e6bbc8df8eba703147bcb69530bc152cbcbb9ebf82ba327129bc9d6019bc62c5dbbb338315bb0dc202bc43b6fbbb166cc0bb3d0823bbe532a7bb7c57b3bb911399bb247b21bbcc94f8ba6ade24bb56ac21bb2a2adfba504ea53aad61043ea548643f4011f23bdb16263b664aef3d81864a3f5fa6523c3eb8af3aa9ddcc3d121c2d3f416d4d3c4ac83b3a4d79ab3d7f76103f47ab4f3c5135d539f8ca883daca0e63e0aef343c5ad89dba4eed493ddd46ad3e0538233cac6714bbd93e013dbec0663e6435fb3bf1104dbb96ce613c7b5fe63de002a73bf8d938bb7f8a2fbb0f41ee389973ff3a0000000000000000000000000000000041d41dbcca822dbc7d81a0bb2c69e8391a3826bc1a5e12bc44d1c1bbbc9733bad50d26bcce690fbcaaabc3bbd0a08cbab9450dbce102f9bb3860b8bb396de3bade1906bce654f3bb7cbcbabbe04a0bbb0e6cd2bb07d9cabb1884a7bb8ea31dbbcf5e93bbdb239abb22ea8cbb7bc522bb0000000000000000000000000000000000000000000000000000803f00000000c4c1893a3d3aa83b45f3643f88d2353cb133973aa4d5943bef1d443fa75b303c3482603a36d78c3bec7b233f3864323cd4788db9b332253b6168023fd64a0c3c6a7365ba4d06e83aeef5c33ea06a053c68bceeba620a8eb82f59823e669dc83bef5830bb54d7f1ba9fca013e5e9e863b0000000000000000000000000000000000000000000000000000000000000000d8dfeb3b2de417be10d010bca928fc3b62944ebb71f40cbeaadd94bca8cfce3b200164bc9d27f4bdca4fc5bcc1f3ad3bffff66bcb2ccc2bdf8d6c7bc3bcc8f3b6fac04bc363591bdc565a9bca3656c3b95e6ffba385c37bd7cf147bcfc7d903b0637a93b260a92bc8ae6adbb557d613b00000000000000000000000000000000000000000000803f00000000000000002a0fa9bd777aa23fcea38cbdee61b83ae2e746bd8b53863f585cd7bc9d66dc387a3cdbbc2bdd583f176685b9812cddba53e598bcb830233f10ab303cf95a22bb5d5697bc00cadd3e1015533c63d633bb38b06fbc8d29743e31bcc63be9e0acba79866dbc0955573d9a655ebbc9c225ba000000000000000000000000000000009d0f843c90cec3bdeb8c233ba97f7e3a3e1aff3c1e0819bea7250abc62f7093cf2cf653c73351fbea2f5bfbcf38de13b84d94d3b53f20bbef37df1bcbac2b03ba173f5ba19f4d8bd6e8efbbc4623993b5e69583bf817a2bd7aabdabc69bcbb3b9a49083c295745bd05ac8fbc2850b93b3ccb273c89cd8abc8318ccbb8cffca3b2e47333c6dacda3bb7f6953a47ae0c3b510713bea5e6a13f81fe643dda4ac5bcc44721befd689a3f11d3453dc879a1bc3251e2bdbc2e853fb4879c3d3e64acbc54ba9ebdea22553fa51bb23deabc9dbc147f5fbd60e91d3f920dad3d0ec289bc099a3dbd7f64d53e9c91893d47eb72bc531408bd2871603e16c6353d756d35bc4aa914bc38092d3d7cd4a23c6cc4a5bab6c34bbc1a099ebd8fefe1bb440f2ebbccb9123c77c482bd5b440b3ba04110bb960ba13cb049f8bd57ebb6bcfbe8473b47cd053cdbb1fabd41d610bd6e5f0d3b3917ad3b31fbf0bdc25129bd0ff0433bcab6d73aadfbb7bdbe4c1bbdf40bb2391d81f73b51e88ebddbc006bdb493153b42811d3c08132bbd1e53b8bc7c161f3b27405c3cdb658abcdae731bccf8cc63b9c5d4f3c83b8913b1aba953a141a423bd1240ebe6b0e873f3e167d3e4bee57bd108222bec65d863f0415763e2a1455bd6516e1bd057e613f6933723ea38f24bd51d8bfbd01bd3b3f759d5a3e177313bd29f289bdcc0b0a3f6b33343ecc40c9bc69c972bd138fbd3e82220b3eb169c7bc800432bd3e4e503ec739b33d181b9dbcccb9c5bca8e84e3d1650193dcac754bc64fa85bc175e4abd92270ebba6620cbca5d7b93aaf9b44bdce96b2bbf03983bb8659403c9274bfbd2cef15bdc0158db91c09343c72aed9bde0cf5cbdd0b567398731d93b30aec6bdbab762bd4bb97c38a0b6993b985da5bdbbcf50bd0f9a81ba65d2123cc6e075bdc33a2abde59d13393f26443c42ec18bd8131ecbc852f783be6e55b3c77c074bc1abe4ebcff60a63bbaac373cbfef3f3b8d39f4390bae793b8a2af2bd5e525b3fd73be63ec2f19bbdad2d0ebe9036593fe50ce43ee563a7bd08a4e8bd608e3d3f0f0cd13e55df84bd66fcb7bde44b193fadf8b23e77394cbddb648fbdde4ee63eb510913e744c1dbda5b571bd2ff69d3e4ac4543e7a9005bd115d40bda90b2e3e6f05043efb79d3bc828afdbca889463da89b613d146aa2bc6e6cb6bcdf610fbd76d35dbb2f6081bc952cbfba1a8d0ebd85877abcc52584bbfc7e133c73cd8ebdc25364bd14a34bba2f84da3b5a6ea3bd22888abd67bcb8bac3e4d53b98cca3bd812993bd35154fbb946293ba93d16abd602953bd5e5da1bb04c0003c142853bddd8a4cbd523f2abb98d91d3c12d8f6bc7436fbbc1a95a6b9ddf72f3cdc6f44bcfde979bc11358a3b638b0c3c3c38733b9e2a84366c19973bf65dc7bdad04273f3f7d273fcbf4c7bd4762e6bdf735233f40a0263fb960d5bd4a67b2bd11e20c3f6400133f437b98bd69c29cbd9af5ea3edde1fa3ef21472bd79e948bd9f3aaa3e5d31b93ebfdff7bc3dc259bdd8d0773eae578e3e1b9f11bd259c27bd220d093e22c6293e564ee6bc6122eabc5dca233dc32e8b3d2304b2bc9aefa2bcc24adabc141be5bb5d1e9fbc19abb4b8ff16c3bc31a0efbc1467aeba11c0323c8ef64bbd442da1bd0c2e6dba9e2a543cb32581bd3defc4bdb87c3ebb126f373c797a7bbd35d3b8bdda2093bb1f281c3cb54565bd4be299bdab36b6bb94e1263c3d4126bdc3796dbd65b97bbb5051323cf9cfdabcb11a1ebdfc65b53abf332e3c92a829bc7e2585bcd184bf3b3e18eb3bd8b9333b9105433a9fdeb63bbe2a9bbd4fcee53eceae5b3f3f17f3bd01c9b1bd3d03dd3e68155c3f36e604be922997bd40f3c33eb181423fcc1ac3bd31627dbd1c2aa23e1520203f90ba8abdf88f56bdffb27b3e8690f73e9c7e3ebdb29631bda9342d3e24f0ad3ed4ad14bd6e3906bdc2cec23d19734c3ed4eaf8bc4a14a7bc1ddadf3c783a953d833ec7bc4b4754bc9c41b7bcd6db8dbc7ceda0bcaa83483b692b28bc463d49bd7966ff3abd0b573cdb3ef3bc4b3ae0bd2226943b7f32533c07642cbd5c4be9bd41d157bba27c6b3caf6938bd78b5e4bdbc0dd6bb64071f3c60f01fbd5487b0bd2ad806bca5803d3c05d202bdf8038cbd93f59dbb2847183c7bbb97bc3e972ebdb23b7ebabd8fdd3b81c809bc9d1a96bc7294f73b7a43933b64f0223b614e623bf7f80e3c4aa751bdf36a7c3ef3f1863f28510fbe156864bdae45683e583d873f664918be84ff3cbd1477583e1446653f038bb9bd21b02ebd9041373e9154403f93218cbdbd580bbd60fe0f3ea4ed0e3fbf051fbd11cefebca665cb3d5d9dc83e982b07bd83c8b7bcbfde643d2463643ea8abc0bc126f1dbc2c086a3cbd0c8c3d5e6f9dbce4b1a5bb235e86bc4c5c17bd019987bca471b53be0e181bbe6c2acbd1e44f33bd659783c6f4f9dbb6a7b0fbe12c7bb3b24b0973caaf8b2bcf63319bebad7bcbb0b30913c1746ebbc987507be721653bce4195e3cda28e7bc9295d2bd120769bc55bc4a3c7302b3bcb4eb9fbd902325bcc61b0e3ce98b4ebcc76341bdab5223bb16462d3bb78e9cbb09aa93bcf85a123ceefd4a3a40197f3bf253b23bf4be023c9046b5bc86605b3d27a6a13f351110bea7b4a5bc54000b3de4de9a3f1d2014be9caabbbc0b92563d6a02863f57b9aebd2ea5babc1dc6633d9c5d583f5c4144bd8ad7a2bc7193493d4996203f74ccacbc52476dbc9b1e093d4466db3ea70277bc8fb513bc6b8b883c37e86b3ed18841bc982e123babfee83b2540503d8a8504bc0cea3d3b013588bcbd218dbd80984cbc000000000000000000000000000000009096693c5d3cefbbfb3717bee0696bbbede3813cbe8b79bcb7820dbe8bcf71bc2e85483c87a2babc5ef9f4bd96a691bce8c72a3cdf33b5bc3073c2bd4e1db0bce24f143cf2e57cbcf1f091bdb93a93bc5e5abe3bdcd60cbcfc3e36bd92b61dbc0df8203bfdbaa4ba89588fbc3865cfba0000000000000000000000000000000000000000000000000000803f00000000dd83c53a7595a3bd3197a23f154e89bdc74c36bbee933bbd19a4863f133fcdbcbba169bb2afedfbcce42593f9131a83a972ebabb3a4586bcf3af233ffc45543ccaa097bb5da883bc3376df3edb195b3cf917bd3981875dbc6cd2763e3e7ae53b8b589b3b507b89bcf1bd5d3d8c55c8ba0000000000000000000000000000000000000000000000000000000000000000bf9b1ebc21b9dfbdb95ac0bc9d4f953a3b5a54bc63b8d6bd6ceef4bc9aefe6ba22faa6bc09b0c4bd0cba05bdaa446dbb10599fbcc93ba6bd6b10febc037a49bbb45b1bbc518482bdc0e3e1bc357185bb1e901fba724135bd806588bc069ceaba49d3213c076dbebc0c451ebc909d863900000000000000000000000000000000000000000000803f00000000000000009f9b3ebd550a983fa9e4afbc0f9190bb7289f6bc27db7c3f9cac133ccb6c613b9a30a1bc3b814d3f406ce93c999ff83b88bda4bc864b1d3f1250023d6cc3073c5662ddbcc805dd3e29b1db3c0775bc3b67fcf6bc2cc0813ee2225e3ca270ee3a6a940ebda793a53d0cde50bb8c6342bb00000000000000000000000000000000364c30bbda8989bd690905bc98d631bb9fde8c3c8f76e5bd9f14cdbc8d2ed5b95683383b4b4bf1bde9021abd733b97bb4d84dfba0bc2dabd0c0f2cbdb436d8bb2d1648bb1769b4bdb5a01abded6b0dbc7cafa63b2c178dbd0aab04bd0075cebb5e0a583c568640bd08b2b6bce40e2cbbe0077d3c3e08b1bcf47efebbaf7b333b95126c3c47f4f9b958843d3ac858433a9a94bfbd29cf973f1eecc73d58ec09bd62cfeebdecf28f3fee8bc63d6f1fe0bc2c94a3bdbc77753f4df6f23dcae783bc833281bdd87e453f185ff33d2622edbbbc0552bdac32143f933dda3da5ef29bbd92264bd95f2ce3ef47faa3d6c179fbb89e95abd183b6a3e85c7583d4cbfc0bbb80a1ebdd43f893dcfa9b03c7a0e2ebb4941fbbc790356bd533228bc9c7722bc0cdf1fba5c013ebdb5ebbdbb8682ddbb3708ea3beeadbbbdd06af6bc0c6df1bbae7e8bbb201fbabd3adf29bd75061cbc90775a3b7213c2bd967f47bd203745bc8893a3baa4019bbdd46d31bdaf1d39bc7383263ccfc57dbda21c1ebda4b624bc6071363c1d0028bd53ccd6bcb35ecdbb39bf8a3c4e24a1bc29aa4abc19f404b93f16763cb295e6ba0cd8df3a52a0213b1627ccbd1bbd7e3f03a78b3edf7c54bd0e09f6bd8d43793f08d08a3e5d0d3cbda4d2a0bd68254d3f6cfb863ecde5bfbcfeeda0bd4fb82c3f52c9713e6d398fbc64e27fbdd79c003f38ea453eddf4cbbbabd389bd436cb53e738f183ee70129bc96bb5cbd7aba533e8a42c13d14862abc3ea63cbd5e98873d33de2e3d453f49bca6afefbca45614bdd93281bbf74662bc72620bbc289c17bd41dedbbb912a0cbc91787f3b36cd96bdbc0115bdd1f444bc0711ad3be50dafbd75d85ebdaa6c6bbcb642b93b9748a5bde7cb69bddb937bbc280baa3bcbe48dbd06625abdd56f85bcf9d24d3c45b156bdddeb3bbd5dbc45bc851e8b3ca93f15bdd945fdbcf6c202bcfbad8c3ceb2888bca98578bc7a68cbba0403623cc3242bb9cdb599ba16f24a398d76afbd8e83503f479de83efe997ebd0d58e0bd82ed4a3fd8aae73ea8e675bd6972bebd8c822f3fac80d43e615e13bd2e29a6bd521e0e3f5209b73ee9a6a6bc906890bdac59d83e18a7943e01f32fbce3168cbd658b953ed2a95d3ef0ee4fbc02c77ebde1802a3e340f0f3e7ab462bc0c0840bdf956653d30a07e3d4dac90bc368efebcef49e9bc7bb78eba2a4996bc3f57dfbb711bfdbccb8f26bc0eb50ebc6125843bd00576bd3a7238bd84196cbc08e5a73b5ddf8cbd1e6d7abd897687bcd7280b3cd9be8dbd6cff89bd3c509dbc07f70abb940c58bd9fbf51bd8a088abce4405d3c521d3fbdd22850bd4dd282bc1844673c5f37efbceb7508bd1b7123bcba29763c282463bc3ad783bcccc1d6ba20f3473c73cb5b3916265fbabf5aad3a50c599bd4b8a213f67a4223fbbb892bd9dd8c4bdb16d1b3f3e90213fa98a89bd2eb7a0bd96f2043f8ca50e3f623a0cbdea549bbd132ddc3e848bf53e3d22a8bc0f1b52bd4f6ca13e62e5b73ea6898bb967ec84bd1360683e0efe8f3ed31218bcd0905bbded6d023e33a2313e060a3bbc40622fbdbc1d253d5835a13d6fc19cbc112be4bcb8fcd2bc5aa400bb29dca6bc9f0114bba236e0bc4e3c93bc158004bc2798403cd6be4cbd8c2e75bd68f97cbc88e5803c421271bd958da4bd9dc8a9bca1637d3cc4756abd8d88a2bd0446aebca84f6e3c3b0b50bda83c92bde8e5aabca429893c184c1abdb6336abde22e8cbc7845933c0e2dc7bc669522bdd5ef25bcf39a673c15472cbc96f097bc650e30baf225233c89f7543a3872a5ba8508483b557187bdd1a9e63ed88a513f67d6a5bd9038adbd4d04db3e5e39503faae8a4bd58e89dbdb34cbe3e3da0383f390c32bdbfe58dbdf4579b3edd52193f9547a7bcdcfe80bddca76d3ec2d8ef3e65b7e6bb59fe6cbd6201213e9ce0ad3e9aa9f6bb63254dbd8ddfae3d91c2573eca204fbcdb9309bd6ef9ab3c47e7b73d91659cbc7094a6bc0230cbbc1edcecbbc205a7bc5a4eaa3b5b45a7bc1265f9bc393ddabb3d379b3cabbb1fbdabc4a5bded1483bc68e8713c534c3abdd6d6b1bd743aa3bc7a3eb53c7bcc3abd451ac2bd2c9bcdbc1eca713cac101ebdb28a9bbd56f7c3bce74ea33c5f9c00bdfd3483bd437197bcca806a3c55e6a9bca0612abd34b631bc343b373cb1fa0dbc392ea0bcec23a13af6b1d33be8f4bf3a41c1123af413073cc7865dbda03b893e75897f3fce84c0bd81b98abd8e4d7c3eba957d3ff859b3bdef8760bdbc86623e4a9c533fc180f6bc485872bdd5d0373e2df7353fa80d56bc1f164abd843f0b3e2ca0093f1ce6843b515742bdaec5b43d0753c83e13fe33ba66560ebda6d83f3d42fe6f3ea3af95bbc3a4c1bc50c6be3bbc12bf3db5fc86bc56751dbcc43fc9bc777ca4bc774d9dbc72052e3c3d52a4bcfd4e66bd0df5c2bba8d8ef3c8486b7bca067ddbde1c188bc62c6f63c841406bd3be5f3bd2644e1bc43a5e73c244908bd32a1e1bdc73f03bd1b5db93c88e7f0bc7d33babdd4aff5bccf81b13ca590b1bcad4c95bde2b8c4bccf1a8d3c776d5abc450144bd81b646bcfa32ab3b4f466bbbaea3a7bc9151373bcd2a263bcf75663b0a65853ad58a033c631d13bd8539c03d2a14983fc4a3b1bd677f3abdef20923da086913f19e5a5bda28739bd1e77993d2a587a3fb738b4bc1b4935bd6232853d7a574b3f9fc1fc3b43171fbd3e1f4a3d1c681a3f7cdaa23c573b0dbdc261d63cfc21db3ef5376b3c5ee2c5bc2f1f4d3b82a1803ee483cd3a8cfb84bb7e0e27bcee03ad3d01053dbced8366ba3b4ddebcb5392ebdfc5ea6bc00000000000000000000000000000000394ab93c0f44c0bc1a0ee2bd25deb3bc029ec83c11b4c8bc1274e0bda97afbbc066b9e3ccbd1e1bc56b7ccbd0b0d0cbd01168b3cdb65c4bcff5eaebd34bf04bd5dca833ceedb87bcce4a8abd4736e6bcfef1443ce66406bc8e1238bdf0a48ebc3ef0fc3bd6a46db93762b4bc25c7b8bb0000000000000000000000000000000000000000000000000000803f00000000b3e8a5bc81c433bd1cce983ff3255fbc84b5bebc6d08e7bcd8567f3f74009b3ce8b5bcbc8ab993bce2a24f3f2c93233d794fc5bc968186bcd7661f3f4ca72e3d4d4ca9bc92a9b9bc7270e13edd4a053d70566bbc39c7c3bc6eea843e2ac0873cc68b92bb08b4fcbc7432af3d94068abb000000000000000000000000000000000000000000000000000000000000000018811dbd3eea4ebd098ca8bc4614b8bbcb1b14bd4f0657bd69a5c2bc45cbbcbb23671bbd924257bdd15ad2bceddadfbb60f305bdb5e93dbd30e7c9bc5bb602bc9aa9babcec3b20bd4331cebc4a4633bcb14c2ebce839eabcaf019bbccd2018bcbd6d703a6f7b86bc6dd369bca33842bc00000000000000000000000000000000000000000000803f000000000000000071d9083ce914843f47c6b63ce4df463cbfabec3bc4d65e3f136c073d9b49ad3c27cda63b3e77373fa6f1223d00adde3cae6454bad9650f3fce91133de3d8d13ce94912bc62fed13ecfe3ec3cd04fa83c1ebe9abcd0af833e1c4f833c49ff243c55e5e6bc3cf4e03d25aa16ba5e4715bb00000000000000000000000000000000244fe9bc2c7deebc077d37bc761ce6bbf1d2f1bc52fb4cbd2424c3bca17733bce7050cbd8df26fbdf4b8f9bc7bdd36bccfac03bdaef26abdc1cf05bdb99c46bc84f0d7bcd7d94dbde96203bde0913cbc80b767bcbe3f2cbd516cf1bc4d387dbcdf133ebbd420f5bcf002c2bcc0417abcb4ee223c1fe779bceebf5fbcdce156bc87c53a3cb6e716bb692cc7bb55463abc50e432bc0699833f5ac30b3e57181abcd50379bc43d4723f8ef60b3e361d733a9e1d07bc97b34e3fd55e0d3ef8388b3cb3b714bc245a293ff629023ece03b73cad0b66bcde86023f7b36d83d3b9bc13cfc50c1bc850abd3e43eea03db0b8893c48de00bd43dd6a3e2cff463db4d9ba3b95b419bd4a23be3ded3d813cf2ae02bc66a5fcbc5cfabdbce54d2fbcda155ebc4a49bcbc92a1acbc9808ecbb56da0abcc577fdbc6acc36bd5bf1c1bc7f5d35bc11d008bd79953ebdf2efd6bcc60c20bcd561edbc5c9c5abd29850bbdb8d86bbc4bedc4bcfa9637bd88aa00bd503f6dbc165a2cbc29a522bd6e8702bd9be591bc6157e3bb5d83dbbcacd6babc8f4657bc99e6153cddea68bcc1327ebcd3d16cbcd5ac423c6c0991b99a6dbcbba90311bccb019fbc5a275f3f610f8e3ef3a673bc8a60c2bcaf49513fe2ad8a3ef805e8ba29f759bc3b222d3fcd4a793ea5587c3c6f2ca0bc61ba123f4dcf5e3e5bc7ae3c3b76a6bc19fae03e6d50333eb82fbc3c8f58febc7608a43e0cd7073eb4678d3c0f32f7bc249c4d3eb0bbaa3da031033c4ee01fbd806ba83d989a103d1f2f25bc20f9ecbcd40f95bc5466d3bb987352bc9232cbbc93efa2bc2d51bfbb826aaebb6b26f7bc32741dbd34c2afbc46d02cbc020febbca43b48bd32d403bdae2767bcf9dfcabc396646bd5b9217bd7ae66ebc0a0ba9bca1b131bd998a11bd749c8bbcf2b41dbcc04211bd52b003bd7c5393bcf9e598385c09cabcd6aad3bcc0298fbc81ee0c3c5b4d55bc182879bc44dc52bc26ac173c7afcf3bad900aabbd71e04bcc150a0bc6124383fdab7d93eed9e43bc6f2adcbc3e472c3f269dcf3ecd10b3bacd75c7bc85ab143f951bbb3e6282823cdcdbc7bc8c4cf33e01799f3ec4b1bb3c04d0e1bcaf6fbc3e66c2803e39b5cb3c5b170cbd9fc1873ec0df3f3e8ca08d3c81411dbd2796263e74fbf63d70f2e93b09191cbdd2a5853d28b15d3d09f9bdbb5df8e5bca39c84bc331766bbce8a2cbc622cb2bc4906a1bc5d3caebb0e4786bb0096d7bc7eb016bda2b2c4bc446a24bc1b36c7bc50592ebdccee04bd8eea50bcba26b3bc306a39bd234c1fbd86fb84bcf5dab2bc822716bd1a2e00bd518c5cbc1abcfdbb82ec07bdcecd0cbd1cb198bc5dde73baa3d9a8bc7202ddbcd23579bccdf7013c4a5431bc395f75bc184466bcbeef323c463719bae0b6b4bbe0a0f7bb3e1ea9bc16b4113fe0d7123fa0d931bce131d5bc494e073f870b0b3f29b43f3b4218c5bc2b77e73ec170f33e3f2b993c1949e4bce169c03ebb19d03e4c39db3c5e6eaabc3263923e0d9d9f3eb216d83cf80811bdf62e553e120f773ef2f3ab3c2da70ebd0a89003ebcae1c3eedd6223c0e661fbd3f7e453d5403953dd82ac8ba1df0e2bc584995bc2a105cbb11880abc0bc49ebc270d9dbc385fe7bb735f40bbfbeea0bc21760ebdb9b7dabcfebf19bc025b9ebc94a527bd926521bd72a465bcbfca6bbcb1c628bd71b62ebd385f8fbc17fc4abcfc2a1abd119926bd6c3c9abc8a9e24bbb3cceebc75bf15bd6b09a1bc85e0943b6362a2bc3af8dfbca2c096bcd3cc1b3ce66522bc9be271bc4c093abcffe71e3c8b4c2b39902c95bbbb89cabb7e19aebcac2ad73e202e393f23661fbc5af0f1bcf2cac63ebe6e2f3f045e643ba7b0eabce45aac3e106d193f70d4b53c15a1fabc96898d3eaa06003f7621f03cba0b00bd620d5b3e909bca3e2aeefc3ce72315bd24eb183e6d68953e4b71b93c6b571fbdea82b03dc796403ee8963f3cac6813bd8d3de33cdd43b23d40fafaba3fa5d3bc2c4da5bc6ebc2cbbdd92fbbbaf8f27bcf6379ebccdee25bc624878bb04dd2abc21a116bd2bdc0abd289b1cbc50c46ebc012819bd494e21bd7d3d67bc14c3f0bb0f4c1dbd59aa4bbdc0d7a8bc5d6cf2bbebed05bd8fca2bbd6b7ea0bcfba7fd3ac075dfbc2f7923bddfa4b4bc3939c03af7fb94bc8b12dbbcfaa575bc5c983b3cfa3df6bbb4be83bc158235bceca4233c8c79873ac0cefcba657456bb9449c1bc78c08a3e10e55f3f35c816bcd0a007bd535a813e5773543f7b6f003c91b4c1bc47e6603e85dc303fc0a3d63cc2ca02bdf613383e78fc173f6ed60f3d7cedeebc3a9c0b3ef99dea3e10320a3de1680dbda9efbc3d5826af3e46aed23cf945eebc56d6533dbd835d3eb9725d3cc60c0abd9639cd3b967bca3da8b058ba012eb4bc4631b8bc952408bc2fb206bcd117e0bb84d5c2bca815aabc897ba7bb81845f3ba2bffdbcd66943bd6c2c7ebc0fcb3ebae81e0fbd215363bd2a46aebc124f60baea510ebdb84466bdd962c0bc06ae65ba8724f5bc5ddd4abd1366c4bcf69d063c378ab7bca75635bda4feccbc2833473c939d62bc3e0806bdac1cacbc1ece633c5b2f5abbbf3d89bc8f3a3fbc135d2d3c71bfc13a29fb4bbb866869bb215ea5bcc5f4033e1f04843f8f13483b831900bdef20e73da79f753f505d993c190be8bcf64bd13da1ca513f89641e3da8e1e1bc5a20ae3dfd522c3fce5b373db453e0bccd4a813db1cf053fb90c283d8a1904bd1017103d536ec33eef78ff3c4a9605bd400b143cab67773e113c8f3c93d9debc949c74bc796ad53d75f15cba03d8a4bc279be2bc782984bcfb9b23bc000000000000000000000000000000003555a2bb7dd0f7bc3e2f42bd70b159bc4a1048bb9c9ef2bcbdbd51bd33639bbc835bb2bb2f02f7bc2e024dbdb891b2bce682a4bbf459dabc920335bd33e7b2bc44f73a3b6508aebc8c7828bda798c6bc4415f43b85a848bc7ec4f7bc7423a1bc835e343c12759dbbdf8e94bc94d061bc0000000000000000000000000000000000000000000000000000803f00000000a8c775bcf05db13a5ba1843f0063143d0ffd7bbc2a11633baf16603f35b12d3d7c9686bc35fc523b3860383f9735433df9ba8ebc0e828bba4b8d103f47192d3ddf83a9bc1b8815bc85ffd33e6b590a3de8a9b5bcc06e95bc4839863e4fcf9c3c936db6bc94b7e1bce4afe73dc9fa393b0000000000000000000000000000000000000000000000000000000000000000f5c8ea3c88de3cbe37f70e3c4f8c143c82eb853c6b542ebe53039bbb2c08153c3748843b82021dbe59018fbce82b1c3c1f263039a873f7bda0489cbc7d0c073ccd3c04bb1bc8b0bd1ffc75bc9f60973ba7f040bb105a40bda3b731bc56dd973bf1d6b0ba530a18bc130e41bb88fd7d3a00000000000000000000000000000000000000000000803f0000000000000000cf3604be8e80ac3f43c9f3bdcff2353cb575b0bdf8de8d3f96996fbdead2163b2fbb7bbdfd17683fb5eab9bc09cc57bbf8862bbd5a402c3febfa9838d7936abbf228acbc095fe03e0f7d443c628946bbc1c7c93ab5765b3e8a91a03c58fdd138d1cb813ca06ea43b29c18c3cc787c33a00000000000000000000000000000000dbe5f73c9629e6bdb5384f3c6138933b7793423d937124bec110df3b252dfd3b25e5043d195236bef7e864bc1d976b3c9301c93ce3c024be74f3c1bcac316b3ce447623c03d8ffbd0632f6bcfe96383c876a173c96bfb6bdee42b6bc0e95e43b760f5b3b616c41bdbe0989bc178fd23b1a2a0dbbb4c66ebc707f1abc7cca6a3bf04c103b2d01803cf74d2b3be61fff3acd8649bec71aab3f9944053c4dfb61bc79f644be515e9b3fb92ecd3c92334dbc30b622be1ed58b3f806e573d2c5ed8bc3ec4f6bd6abe613fc6728f3df478d3bcbe0fa5bd7b7a253f7d5ea13d89c1a1bc82792dbd89c0d23e32e99a3de02d83bca0dbb9bb672d433eab957c3d79f738bcb67a073d3b0d5b3c9a23473d549adbbb4730ce3ce6d9f6bd001cfb3b90d0833a1053db3cbb5299bdac87243b486bee3bf4de133d33dd0abe6c41a5bcf3c1513c8ce2033d67d519bec19619bdd94b703c968ac03c31390bbeceb63abd4b31723ce8446b3c8bc5d7bd2f2632bd1aa80e3c3eb3473cb4069ebdccd00fbd35661c3c1afc103c42d727bd0773bfbca69ce23bed93a03bb50766bc8ced19bc93059c3b89a2623bbec5e03b66b96f3bb243673b4ea949be9c268e3fde40683e76aa78bdbcba53be1d068c3fa7b2653e948b7fbd629530be170e753f321a6b3e91e870bd76ee09be5849463f80bf5b3ed6da55bd1941b7bd85780f3f2468413e6fd817bdfa6b5cbdf2cfb73ecc011c3e485deebc72eaa4bcf3be2c3e6457cd3dacd078bc8a4b5e3c926c803ce15d4d3d7195b9bbd260bb3c548ea1bd66f8bf39bc4a773abfcb953c60106bbd3f7557bc3970203c8dde043dce3bd8bdcf1a4abd2e9da33c58f2ec3c8980f0bd20c28cbd1493953c9c3bb33c5f98d8bdb76194bd1673573cf2258c3c7efdb5bd216d83bdf1483c3c58b6533c002c7dbd14e449bd7cbafd3b89ab0f3c73b310bd76fbfdbc3a46ec3b824bd43becf554bc9edc3abc892bdb3b6797e83bb4d0a63bd88d983ba6baaf3bc6ff3abe3c696c3f100deb3ec54ee6bd627147be386a643fa4cce93e725eebbdeabc26beb32c483fe5ccdc3e949dcebd59f2fcbd664a203fb4d0c13eac8ba5bd6703bbbd0adbeb3e490ea13e5c207bbda91950bd720c963ed088683e32cb24bd2dcaa7bc08fb0f3ef1030d3eb338aabc099eee3b5a6e943c956f553d602b88bb91b6393c2f9678bdc62290bc8089bdb9021f413c932c16bd78570abd3f61693c8f6bd03c348591bd4ddfa5bd1e14b33c8387ad3c40d7abbd7746c4bd3b36883c4c01b03c6a56a8bdcf81c6bdd75f4f3ccb6e283c86d679bd79b29abd0195163be44b503c1a2a4cbd731681bd2fce093c5793103ca882e2bc801711bd4ce0df3b16fade3bb94850bcc2665fbc67b9de3b2e66bb3bd4b77c3b8d90a73bb38b163cc8d517be75c1313f23e6313f94c31ebe003b22be299c293f8820323ff5c722be4c7501be7cc0123fa1d4223fa4ae04be522fd6bd5442ee3ef0040d3f378ad7bded9489bdb80aac3e83d2d33ead8f70bd406a41bda1da643e78b59a3e82fa47bd8a44a5bc8a5ee43d2dd9293e576fb0bc6f5a0a3bcbd5be3c53e14d3dea14afb86269d43bf29e22bddb3308bde76ff839a407053cf2679cbc0bb852bdc3f18c3c3e988f3ca1e721bd3412dfbd3283d23c64e2a33caf0f56bddbe301be9b0f943c3414843c7d8154bd85f7f3bdd50e3a3cb054813ceff845bd5e29ccbd2aaeb83bb6762e3c7a6e15bd51e691bdf402c73b33c40b3c5370c1bcdb6029bd0fbcb93bb791a93b86063cbcee6966bce9f8213cc036a53b1335743ac835de3ba79af33b0feadcbd7280ea3e07de6c3fa86b3ebed348dfbd5820d83e78506c3fa75b46be5c78bfbd83acbd3ea8eb553f614822be132692bd5c33983e9bdb313f4845eebdbb9361bd9631663e0ec8093f9d85a3bda1b30abde3f01d3efb38b83eb5b43fbd4bde89bc54adb03db125413ef19994bc1316acba68a3de3c39782f3d1a5b973bb282c13b4963acbc747756bdee71e43ab1ef843bea54513b16b692bdbf05c43c2068193c779b2dbc46ac0bbe7691d93c887e5e3ca209b9bc15ff1bbee634773ce7447a3c3a39e9bca0f412be26da053cb5621e3c4620e9bc77bbe2bd1260253801101d3cb92ec8bc8c38a9bd3468cd3a3f5ee03bda7688bce52b3dbd3cf28e3bc4df8b3be8a649bc288950bc9f9ca03bd95a273bd44c79bae0f6053c93cb083cc9ce6abd4148683e55478e3f748e50bed57f63bd89b7483ec2868e3fdbc94fbe2ff84cbdddaa303e17cc7e3f2d1421bebd912dbd9d02133e1e65533f3f97eebd37a8eebc4e23eb3d71e21c3f879887bd9012a1bc5550af3d0ac0d13e0b6d1fbdac333cbc7ebe613d50804f3e334523bc386146bb78f4043d5dfc083d00062e3cc159533bf65739b9d8ee94bd8c201b3c18db363ab2e06a3ce434e4bd319bdf3cf9edb9b99b8da13caab722bef5e2033dbe5a1e3cb9e1b93a521336be0cf55c3cc7ef443c984c11bc540e23beb030213ab70b0f3c6fc747bcd71601beaef69fbb4067d73b04fc73bc4504b5bd5bf593bbbc04a53b88755dbc787647bd6a85b7ba7f40523b35675cbca94945bc20b91fbacc73863a7eb04fbb2e41693c6c98eb3b532349bc582b2c3c0735ab3f6aad4fbee456c9bb83b3c83b3b9e9c3f949d3abeb6444fbc37391c3c92458e3f38580bbecd7c33bcf7f8733c49d9673f654eb4bd206205bc92b1a13cfe542c3f04ff39bddd9188bb91bed73c6b01df3e4a9a86bc2e3b3cbbc062fc3cfec1543ea7e00a3cb602eabb0c0e293d5795bd3caf36f43ca4af613a2a336a3c9098f2bd57376b3c00000000000000000000000000000000408dc63b0de2923c40143abe8de6543c5bfee53bfe5e213ce84e29be1de7acbb9311223cad7b54bb2b8518befa728fbcdc35ea3b6f91fcbb970df0bdcb7fa7bc7537883babd9d0bbf761a8bdc63d83bcd26dca3a4fb3e9bb9f5a34bde3be2cbc60489a390ef9c7bb633906bc5e5ac4ba0000000000000000000000000000000000000000000000000000803f00000000c8f8843cace807bef946ac3f218ae4bd00aa283cfd00b9bd30d08d3f77e45bbd97a5a53b3c5583bdc7a5683fd5b189bc06226b3b044c39bdde422d3fc497ee3b073dd23bd6fdd6bc855de03e1408a33c8cb9ba3bbbbd22bb9f425b3ea6a0da3c965a833befbf5e3c906c5e3bd6abb23c0000000000000000000000000000000000000000000000000000000000000000eb072d3de29d23beba2cafbcc78f1d3cb4a1183df4ff10bee70c1dbda5168c3bd31fe03ce3d6fcbd0bc747bd44a534bbf79dad3c6dbdc6bd371339bd0704debb0767843c296389bd815816bddb2512bcfe512f3c49b223bde964a0bca03cecbba705943b49432fbc4218a9bbd46c5fbb00000000000000000000000000000000000000000000803f0000000000000000068b0fbef00ca83f80849dbd843e053bcd52f9bdc124893fe07a74bb6e85c53be164d2bd2d8c5c3f697f273d95384a3c68a5b3bd9cda223f8cce6e3d8340993c20b08fbd2c51d53e38ea673dbcfebe3c13dd1abd2cb2583e59a52e3d8eb7ca3caf04f9bb1211723cfb059f3c1e0e8a3c00000000000000000000000000000000b2491a3d1c71e0bd2408413a08921a3cc4768b3d0cde1cbeb1a890bcece9273c435e6c3d1e361bbebad540bd9602923b0bfe433db12f04beaa6867bd85f380bb76f20b3d7bb2c3bd803057bd34c027bcef59de3cdf8e8bbd07be27bdd35e33bc4d1f7d3cca611dbd1eb7cebc639712bc3aadae3a3fde33bc3c2615bc0c309dbb984d83ba98fa0e3c83eaab3bbab61e3bac083cbe5b8fa73f2a66043d038ce6bc776c64be7a049c3facd7503dd0af85bcb01e43bedadf853fcb68e33d36be92bc20c224be2d30543f7b3a0e3e2a85fbbb329600be560a183f0a2c123e32abf33b325db2bd8416c23e9b74f83d8520633cfd261ebdfa4c323eb54cb03d6954903cb8d2b43c2562a43bfce9453d74ae973c76fae33c5c60ddbd01a49ebbbb44b53b949c0d3de2c89bbdf461f5bbab7c1a3c531c6a3d8baa00beb00533bd6dc5303cb672523d08bff7bda7bb84bd06c2b2b9b320453def0cdcbd5a3891bd0cc304bc117b0e3df836a4bd90ab7bbd524583bcd1dceb3c84d069bde0d050bd4c5363bcdf4e8e3c3863f8bcf1c3efbcdf5422bcafafe03be67b2cbc1a214abcf5137abb326584baba04a83ba9f67b3b31488f3bd3dc3dbe95c58b3fc0857d3ea15490bd41f062be1871883fd4f1853e47c47dbd710243be4e52643ff6cf923ecc3d2bbdefeb2bbe6353363f96638d3e8fb4bcbccbecfebd4afe003fec84763e89a7a9b90f1cb7bde12ea33e3a9c433e44ab193cf26d3dbd5adc163e5f38f73d64957c3c4cd6053c749ef83acba15a3da620863c937efa3cb0049fbdd5531abc79889b3bf08fd13c05cc78bde02cacbc43492b3cfa90563df6c2cbbd199883bdb5b3383c2736503d11fbc9bdcd84acbd17ad28bb37173b3da5aba9bdc5eab0bd9c8f55bc04ac1c3d5bda85bd36359cbdaf0ca0bc8666e33c166b2fbd6b6067bdfcae9bbc075f913c2d86c7bc058c0dbdad174cbcf10eeb3bf8580dbcffdf75bcdf65f2bad80d043bdad28c3bca48983b322fb23b8ea62dbe9bca673f58faf13e3f79ebbd749152be813a5d3ffc0ffa3ec891d9bd15213ebeffa03a3fc45ef23e040d93bdf58a1fbe813b103f4fecd93e97421bbdf04100be989bcd3ec082b63e89482fbca0efafbd45407c3e02cf853efecee43bdf7c28bd9d16de3d8ba2213ee682893c217e9e3b32c1b53995cb6e3d8b3d8e3cdf3a903c231481bd8a16a0bc2994a13a87a2b73c5c213ebdbd4807bd6a02383cfe032e3da5008ebd8565a6bd7e81dc3b2a082d3d9ccb8bbd147fc9bd7bf137bc00962c3d2bb578bdfafdccbd875baebc09bce03ca8ba35bdeee69bbd08f4eebcfa0ae13ceb2200bd72fa82bd8573c0bc749a7b3cfa1683bc41241cbd963b62bce2bfe43b956abdbb5d3479bc0d0559bb4815903a39b15e3be0bc313bf498043c9a9a11be0516303f5c25323f991c18be465b2fbee0a4233ffbf2353fe2410ebe0cbb19be9792073f5d63273fcd5aacbd32dc0abecd1ed23e1a89123f69443dbdeca9cabdc3cf923e4e35dd3e93c2113bcf429cbdb5ca303e14d1a63ef2f9ff3b2aaa1abde64d963d5ac43d3e7fd7913c6da57d3ae83e04bb8356753d2c4ba23c19858f3ced154ebdbdbef4bc7bc51038d07b8e3ce111efbc3e9c45bd59574d3c8f4b103dce8a2abdf128d8bdbe640a3c1e4c213d3ecc31bdf65ef6bdb8e94bbc5d76123ddbcf1fbd233fe1bdd272c5bcba65053d88e300bdbf3dbdbd1d6307bd5867b63c9662a4bc6aac8cbd707fd7bc62aa6c3c46a92fbc30f22cbd4a0685bceb2b8b3bd9e06abb508d8cbc05235bbbdaebb8b96b10293b3f9d2b3bb8cf103cc152dcbd0203ee3e9712693fc72131be5a3301be9be5d13e6d216c3f746c29be1fa1f5bde7d5ab3e2b25563f8611d5bdadadd6bdae62823e39b3323f38aa49bd2fceb1bd2ac7313e34e80b3f60f60cbc923f68bd1b2ecc3df619c03ed8c97e3c5032debcdbf81f3dc2a5533ebc1ad03c991a823b1f2a93bb3b1b663dbd7bbe3ceb69893ce87915bd07b530bd1332b13a0174323c58dc1dbcdda181bd7181993c33bace3caa0951bc8c6d03be857a073c9e11033dd292a1bc008707beac49a6bcc01d033dfabe8dbc6d1700be83eb02bd670cd93c4c2780bc606dc6bdc45719bdcfbba93c799f39bcc60496bdd40000bdb492453c3858a0bb002532bdf9579abc3a1c9f3bc5d15cbbb0cf8cbcaca7a7bb3a5aeaba32d34b3ac0234d3b8276fe3bb33380bd4879753e3b848c3feaee44befb749bbdbb213f3eba108e3f665631bea2819fbd3e7a1e3ed7a9773f4183b7bd87a492bd64b3da3d9b7c4f3f110924bd48ab76bd3d61943d66d81a3fe0ee193c83861dbdacd40a3d1444d43e04cdd03ceb3faabcb5152e3ca3e6613ed767063dd8ec073b3b6135bb8ace433d52eefc3cdd69743cf5bf6cbc2cf47dbd3875f73b4c2e0a3c1689ae3bf55bcbbd8c3c9a3cceb9403c4ae9a13cfdb616bed3a3273cab22c13c209d063c121c1bbe7773b9bcd74ad23c6a893c3b7d9106be74312dbd04a1bb3c8771d4b93a87d5bd9a9445bdcfbf6e3c988ba339730797bd551e19bd6c00003cc6abfdb9ae192dbd67f8c5bcbb79053b81523dbb868185bc810612bcbf0f78bb1f9b073abea1e53b03fe203cbbb8b5bc13e6da3cd6e0a73fbeab3dbea794a6bc65c795bc265d9e3f8cb327be1aa11fbd734e77bc021b8b3fe99794bd84c926bde29aa1bc76c0603fd745e3bb54ad0fbdc621acbc0f70273fdc6a193d68a8a2bc28c6c0bcd81ddd3e69264d3d57f909bc27e35dbcee495d3e4200583d8207dd3a82c7053c295af83c76cb433d0808573c314ed9ba8576cbbda625ce3b00000000000000000000000000000000cfc5963c48d58e3cef621fbe51b86bbc461fb63cc0e56c3c6c250fbe98f61fbdecd9c53cf04daa3b5e0cfcbd02ad5dbda93e9f3cd3369a3bd417c7bd2f1a5fbd1270693cdd94493bb8788abdbd9a39bd00e1c93b3370f53a1dd41ebdbc2ce6bcbe57abbaea963b3a7dac2bbc6391f5bb0000000000000000000000000000000000000000000000000000803f00000000b83ed5bbb2a90abe94aea83fd16290bd661596bc6fd6e1bd6a6b8a3fea2a8a3b0325c6bcab69bdbd44e7603f81a8643d9364b4bcf93da0bde558273fdd759b3d4c3373bc079e81bdaabcdd3ebffd9b3deb5134baf5df1cbd0f06633e6f3e7f3d5dfd113cd56650bc7c7da73c4ac8073d00000000000000000000000000000000000000000000000000000000000000004003c13ced3ec2bd6d954abd8939c0bb36cc033d569db1bd5b246fbda88392bc6a5cdc3c0e909bbd0bf573bd6713d3bceafbda3c88e972bdf8b265bd213801bdb951d53c1a5537bd024335bdbec9e3bc2a4caf3c4ccbe6bc773fdebc8327a7bcab166b3c930133bc2d2613bc01b941bc00000000000000000000000000000000000000000000803f000000000000000050c4b6bdd28c953f5cb9a23c9594963bfea2cabdf476763fb2807d3dd0530b3d6a7dc6bd09ad453f39a8ad3d2da5633d3da3c6bd05b3143fc5d9b43d3632863d6ef7bebdc527cc3e9f94923d96c9773d3aeb9bbdd89c663e01073c3d742b463d35d753bde1dd713d4004e83b27d9e13c00000000000000000000000000000000ee1b453c1ab584bd35f9adbc71b3963afb38413de141c2bd4e8048bd7113d9bb9a5c473d1ad1bbbd876f86bd5e63dabc6ec1433d19e69dbd8c9e8ebd9c7f13bd89452e3dc7c971bdec8b79bd996a20bdf6c01a3dcb0c30bdac713abdf1330fbdc157ea3cc9aad3bcefa9ddbc506bd2bc58e1493c473d12bc8eece5bb92b733bca2d6663bd621933b1f16e53bd45535bb7008dabdf2ad963f7011ef3ddc6c2cbd3f8f27be8bb18c3f45b70c3e0cfc95bcbace20be128e6b3f6472363efe87ba3c3d2e18be204e393fb5a13c3ee9e6493dc0780bbe2cc0073fc6772b3e3b3f803d986efebdbe61b63efffa053e1eec793d758ec0bd80b4423e785ca63dd9db473d3dc023bdb5f1363d7c78d63cb158053d4f0e70bcf73680bd3fa2a9bc75c00f3ba0da583c36753cbd9c8591bc153c01bb4b0f233dd5519fbd9dd558bd4f3b7cbc68dd203d935e92bd70e786bd1ae305bd18bc453d39cb84bdd42090bd806133bda5211b3d06fa46bda45f70bdc1e534bdc0121b3df7470fbdce063cbd21e324bda0a8d53c65b19bbc5897e1bcd5d9fbbc65fe6f3c2909e3bbd72d0fbce05a6cbc61971f3b06758e3b4a00b73b734769baa961edbde7c77e3fff18933e0c0274bd6ac42bbef3a5733f2d8e9e3e4e46fcbc5d4914be28bf453f44fa9d3e4e29a53c2f3926bedc59203f5468953e964c3a3de1e30abe6ec5e73e045c773e69cc773dc29c04beabc39a3ebf413f3e5d27703d2e97bdbd610b273eb7ece73db797373d0b5644bdae7f183dca892d3daabdda3caea115bc496e3dbd9c397ebcde0c0abb9bb0fd3b124d1cbd16d29ebc64110abc4f8b153d4b1780bd171a5fbdfe64bfbc9c1b413d28ac7dbd76af94bd76f62abdbd31403d1e4e55bd70e392bd5cfa4abde1cc3d3dce0924bd0cf681bdca1156bd40af1c3deb70dcbc8ba542bd1f363cbdd81ceb3c2d5d7cbc2c46e6bc138405bddf8c6b3c160b92bb3e810dbc30597cbc606c6a3b89e57f3b6399db3b50ec40bb8899d6bdea13523f846df23ea2328abdb66d23bebb40473f9e91f73ec5c52ebdaade28be0932263ff338ea3eee7e583cca5a22be2764013fb2f5cd3e1b6e3e3deef319be3cedbb3e0308a93ede85843d4f3d02be6a90743ecaee783ec21e7e3decd2c4bdfe8efa3dbf3f193e673a413deb3248bdd368cf3c12bd6a3d770fb93c752a81bccbd02abd45a46dbcc488c5bba1e2ed3bad4f00bdbbd59dbc1b4828bcbabc133d1f284fbd600771bd282ef2bcf3462f3d365144bd028495bd8d243fbd1f7b493d37a828bd33ce98bd60b26bbda9160a3dfd92ffbc9ae86fbd62f651bde31b213d8a34a8bc77d441bd55f84cbd59d6d63cbcd923bc52f6dbbce80f10bd35575f3cfcb00cbbe15916bc55d983bc77759b3ad6d9cc3bf865bd3b6abab5ba9c8bc8bd2af8233f09b2263f8cf69cbd588c14be2cbd183f0348283fc61044bd98bc15be464afa3e117e173f51b07a3cf58e1cbeeb1dc33e171f033f7f7f563dd118f2bd7a388b3e9693c53e9d6c8a3df4dcfcbddc7c2f3ece87983eb9fd823dd7ebb2bd3014a93d6da4353e9990453d01ea39bd4acf273c1aaf8c3d6291b33ca2db5dbcda7817bd1d4b91bc2445eabb8ab1103cf7e4dbbcda45cebc7ae332bc4e251a3d9cc51fbdd2c786bddcd407bd0d41423d837e10bd4a8fa6bd93df59bdaa1a473d7d14f7bcff3e9ebd09297bbd1605413d62f1b0bc308889bd39707cbd6686163d1f735ebc76a040bd3a0754bdf51fd53cbf3eb1bb87d9dcbc952e17bd23ce333c8fe6263a319a18bc2ea483bc8bb63a3ad391923b5c2cfd3b92422f3a901caabd8918eb3e8c1a543f9393abbd7a7a05be1eb8d53e90ab533fcda864bd40de11beff47ad3edabd3c3fdfc3573c5ff10ebec4d1823e215c1d3f0e1b603d2ecf08bec8a1363e6c6df63e7799993dbeafe0bd4cbad43ddedbaf3ec1778c3d5f1da5bda45f253d985d523e8d3c553de07415bd77b4abbb4f969d3d7183ba3ca36802bc257d16bd3b80c5bc8aa90abc47fe5f3c6beda3bc577209bd919c10bcf3f91c3dd380e4bcb92d9dbdded60bbd82e4363d322ddabc2be0aabd3e545dbd8c264b3d4ef0a3bc429aa6bd1f4588bd655e263d90ed6cbc44f585bdc55d7abd5917133d4d7fd5bb92e045bd384361bd7e8eb73c27c72ebb85b9e3bc973f13bd61f2263c6e7f023bc63e31bc9e2b80bc4dda2bbb4548283b6d31e53b1b0ca23be08d8cbde2878d3e1fa17f3f13f3c4bd0a58dbbd6d866f3e41997d3f60df75bd4a1fe5bd7cf5433eec1f553f89dff43c1e0c00bec5ff093e0e88353f728b833d1647debd9c50b53d8cdb083f6412a43daefcc4bdafdb153d6ae6c43ebac89f3dda8e83bd0f35d83bc911653e76b3553d5fcecebca377b2bc0b6da03d9907d83c860e6d3b99f3f3bc7f0304bdfb9805bc89938c3c4ce09bbca0e354bd453442bce99b253d7ede41bcb217b5bd638519bde5bb4c3d5b2f3ebcf637c5bd7d9581bd102e533d248507bc6058b4bda81c94bd163e343d40efb4bbb3928dbd87078cbd9d8a0e3d6670c7b8dd374cbd0d926bbd0890a83c1d61983b7960edbc33b719bd78ea993b1fcc5a3bcb0d24bceab34ebcbeee7abbb38b933bce3be83bc775a23bc48a4dbda982d03d6ceb963fe019a7bde026a7bddfb6733d4c778f3fd1354ebde683d1bd309a323d9b92763f275b253dd21ddabd1ae7ac3c0317473f8b25b13d3564c7bd822a65b9515d163f59a9cf3d8934a1bd1459c4bc8bf3d13e7a1bbb3d399a4bbd977714bd0d836c3ec1f8893dfeeb08bcd5d005bd3d1b903df8eb093daf8e1d3cbdaa03bd24d25bbd6cbf13bc00000000000000000000000000000000fb32263d3cb066bc1079c4bdb32435bdb8143e3d3cf6dbbb8a1abebd55d17dbd5a87383d906fffbbe55dacbd93438cbd72a7253d96f33ebbb6858cbd3d5e88bd6621073d92b058ba57b64abde90f6abd2702923c6a208e3b343eeebc985414bdf3f1af3b54aca93bd339fcbbe7a46bbc0000000000000000000000000000000000000000000000000000803f00000000347676bdd2d055bd5d2f973fc596a63cbd9198bd9c0064bd46dd7b3ff9cf933d6d4aa3bdea185fbd4d404c3f447bd63d20599cbdf66870bd07b51b3f901adb3dd08b77bd222a82bd868cda3e0ba9b83d493b12bd53fc6abdd4b9793ef18f813dc8e40dbc58c347bd1d4a8e3d5324b83c0000000000000000000000000000000000000000000000000000000000000000586d453dd6d954beba628a3c9eee543c55cae33c03d53dbed0df5ebcccaba73cd89c493cbbbb34bec447fcbc4d3abd3c2df7f33b2efb10be341218bd8a95933cfaa41abb71a9c4bd766f06bde1ff4b3cbcd387bb89515bbd4865c7bc21758a3b4b4776bbd04356bc728e16bc052facba00000000000000000000000000000000000000000000803f0000000000000000c81511be979aab3f36ff02be9a3a6f3cc9d6c3bd81358b3fc63e30bdc7cce6b771379fbda251693f7fc097bbe6c713bbe1da4cbdbe782b3f4f80d33c1400eaba2cbf8cbc35ddd63e83ca3e3dba9f0bbb8ce8333c57bd4d3ea8a3593dd88843395031013dd3b746bbdece1e3df1d9143b0000000000000000000000000000000060d2463dcab803be559dd43cdd307c38c89b4a3d588822bed18cb63b96b1e43b30882f3d633243be028ecfbcb622c03c638ff63cc78d2ebeef543dbdd809cb3c283e8d3c0c730bbeeb094abdd9dba03ce136163c63ecbebd9ea146bd61937e3c1018653b305749bdbbee10bd15588e3bda5baaba1f978bbc882ba1bcda44ab3a4f7aa43adc706b3c4ce6f03a8f62deb9f92155bea321ac3ff92598bc578c6bbb7d332abe06a1943f5ce2403d2cbf8dbcb45821be12ac893ff2e2753d9ab3b4bc3f24f0bd64d85b3fc7bdc13df04ac3bc18fc98bd8d811f3f2219e63dec009bbc141bf3bcb4fcc53e51a0ea3d945e7ebcf7a2f33b100f2e3e56aac83d9f802abc1447013d59c2bf3c5029733d9241ebbb3e35393db23803be450c513c5c44a4badbc21b3d727998bd04f1dd3b069f13ba5ce13e3dca7212befadffabc732a8e3c7fa3293d435522be99ca74bd180fcb3cf7050a3dede00fbe11439bbd3ad0c03c9001963c4bcddcbd13c29bbd2624973c353e2f3c7bde94bdb9f38fbd81c5583c825ee63b5f370cbdf0d940bd3cabda3b5c2c903b26271cbc935ac1bc66f4113b0bf9823bb43e1e3c5e7cbcb9a453e23a5f6648be42e88d3fc04a523edad957bdec0a4fbeb2808a3f086b603e39725cbd702f35bea6bb733f8836713ef2ab66bdf54304be0c403f3f1a23773e68f545bd5e68aabd0411083f30ec673e069f01bd225106bd4d39a33e84a54a3ec661dabc562ca63b5ab3013e609f103e68776fbc3e19ce3c589af23a0e8b8a3d231787bb78defb3cee32a1bdc0c50c3bf7d2f3ba180ef03c7e9668bde4c587bc03f5163c3c941c3db431ccbd1d9e8abde15caa3cfa39093d4b6ee6bd1162cdbdfc4cdc3cbc0bd83c625dcfbdedb1e1bd6db4a83c5228843c07759ebd2b88d5bdf583623c5ba3203ce26c4cbdcfeab3bdd9c2033ca1dcc83b476bd2bcc91165bd9f64963b9bd0da3b618405bc373dd7bc32b2223bd9fca33b8b9f2d3c257c0bba7ef9833b784141bec950713f2031db3e9bf7d8bdcd6d3dbe77f6603fbbc9ea3ee214e3bd007a20be49ae423f9278e73e5c12cebde740e7bd526c163fdaead73edbc3a3bd951987bdf86ed03e1583bb3e07fb6ebdab15ebbcb4e8783e8f92903ebbdc0ebddbfca93a1123d13d8829343eae8183bc2e6b963c5781943bcdd6903d0e7753ba5f23bd3c518e85bd3b6e89bcfb86dc39c963a93c535b03bd26572abdafaf563c7291d93c2ec078bd7fa0cdbd0443ad3c7f73d83c736792bd1ad008bea5adce3cbbe09f3cb5bb80bdfa5613be2878933cc745333c5fc143bdc881ebbdd38a163b9425113c359909bd3dc0cabdf3b5b23b7676a13b01d797bc33ed6dbd7c3de0b82edc8c3b815688bb2755d1bcc9da943a1e93a53bd494d73ba4c88cbad876c63b69ee1cbef78b343fb57f2f3f713f23becc6815beab1b253f87b3333f66b61cbeaca4f2bd22050b3f11472b3fe6f808beb9f6abbd343fd23ee3401a3ff952d6bd173a49bd239f8d3ee345f53effb76fbd07e997bcf5702e3eca7db03e123d15bd2f89cf37ad14a23d9412453e69b808bc7aaa3a3cb21d593ca9ab703de6928f3b606e903ce11a22bddf9115bd2e42333beb59373c23f76abbbabe8abd1bbeaf3c76ed823c430eb0bc27c30cbe51a3f43c496c953c9a8605bd8f242ebe1853ce3c5b888e3c2d3803bd7f3f27be49dc4c3cc718343cb68aedbce80314bed319b43bf1f6093c1f5cc5bc4ab4dabd4123be3a3127083cd90586bc468d80bd6b1e1bbbae347a3b8360cabb9f26d8bcae393eba9332223b9fafce3b97c779baa97daf3b0bcdd2bdab1be73e3bf26c3f890249bec53ec7bdcb3ecd3e2e176d3f49783dbe295f96bdb684a53e38305f3f4adb20be45644fbd6dab733e0e553e3f4fd1e1bd2df3f3bcdba42b3e6ede153fde1486bdf46383bcc976ef3d7a9cc93ef410e4bca6044cba6a9a883dbe364f3e1ec0003a79b7793b5e4bd63cdfd44e3d30d4693c1517033cf90064bc506862bd9af1e53b7d7d023bea4e983c2ea1a9bdcc8cdc3c55bf613b7468533c781528becdc6003d4718023c3f522e3bb54243be00cb9c3cef6d373c1396e1bb06e73bbe66a3153c43f7c73bf5bdfcbb45731abe3cce3cbbdb92b13b1a8a30bc8798e9bdad4f2abb41d84f3baf7625bc7add81bd4fa5e0bb09788e3b23f7d1bb5177cebc4aa78dbb7036da399959973b126c0d3a9b25ba3be46f53bd858e633e26b58c3fa8214ebef49034bd4b4e333e615f8e3fbcb444be9e4900bdf9f3003e0165833f114f1cbec5cdaebce067c43d62725b3fc631d3bdba8627bc909b903d242f263ffe7b53bd7c3effbbd7f6813d9474d93e2cff5abc1a4a32bbf5714d3d6a33563ee6fd833cfd183fbb3bc70b3d3efa163dbe69d83ca0d0ffba94fc243c428591bd385e823c6f219bbb428a183da15e06be2ae2253df68839bb7b33043d70262bbe1569083d5c1f053cd81e9c3c71a950becefda13ce311123c7dad213c20cf3fbe463466b9d928063c618e50baa16b1cbee30e0fbc4307ea3b2868ffbb4387e1bd95375ebc41b61f3baeaa18bceb5b75bde11c43bc73fe9b3a778808bcfa2cb8bc75f716bcd903d4bab5468fba97ca363caffd763b058980bb28e69ebbb35fab3f00635ebe34e015bc69fa843c6a6a963f402019be96f5a2bb413786bcd2a08d3f0917f1bd9e8e94bac5983cbc41d8673f639286bd79e2413b2f807bbbf2ff2d3feab89fbc7107c93af269973ca903df3e667f843caa6d04bb3dc0123d9b97523eac55003d9558dcbb41ec233d1d0f1d3d113d1e3ddae42bbb416b013da742fcbdb3b2b13c000000000000000000000000000000000b369cba81133f3d2b2c53be5ae7ce3c82c49a3b0b12c73c89e13bbe9df4d3babab2b73bd53b0f3cfa0631beaa3597bc2a55483b69d6c03b1fcd0abe44b1f2bccc1c523b63874bbb7c3ebbbda0a3edbc7734fcb88d4cfbbb714251bd448da8bc8934bd3608aedebbc63934bc8df20fbc0000000000000000000000000000000000000000000000000000803f00000000abf1ae3cd83b1fbe3fc8ab3fe709edbd5f45873cd667d8bdfc6f8b3ffb3d06bd8441793cda29afbd65f1683f12fcf13bb7675e3c75456fbd54f22a3f6100253d444b2b3c4223b5bcefb3d43e5517733deefeef3a782b543ca613523e3b51733dfa073bba67940e3d580c0cbc6e8e373d0000000000000000000000000000000000000000000000000000000000000000a6118c3dcaec4abee80faebcb13b1d3db3a25e3d2ede22bedefd6cbda335143db9552f3d305809bea1ce8ebd3b7d8d3ccb7ef53cbe7bc3bd1ba785bd97881abac1e19a3cd0256dbd38e03cbdc40b44bcbdd8f13b4807edbc4f17e4bcaf7965bccb43d338f45d11bb621b1fbcc1ceebbb00000000000000000000000000000000000000000000803f000000000000000010e343bee852ae3f2822d8bd3e46e73a3fb835be89768a3f6570f83c2e914abcecf727be3caf593fcf58df3ded733ebc8a0f05bed31b173fe43f193e25689e3b5d71a2bd7376ad3e1f17153e7f884c3c2300cbbc8dd2103edf16de3d7c098b3c5146b13cfb89e7bcabd94c3df96b703c0000000000000000000000000000000068ff5c3dd51809bee145603c5441ad3c7ff68d3d320c21be7b15b1bc0a4f033da228873d789f23bebd308cbd42931b3df558573d36f900be92fca1bdb8b49d3cff560d3dcc7fb0bd37e98ebd66340bbbd26db63cb7195dbd7c6c64bdc22921bc0274273c98c3c4bc3a4f13bd4a2d45bc9cedd33acf81d0bbae189dbc40a6b3bb0dc28abbe6f8433c12a0933b2abe973bbb5856be009cac3fe7dbadbcfbf45ebc3b8d5dbe4277953f647b8e3d3bb9bdbc6d2060be9043833f4f8c183e23a71ebd16c539bed497433f89d95d3e9c41dbbc503403be8e94003f5836753e7a1c0cbcd46889bd33778f3e2778543ea639813b39e612bcdad3c73d3c54123eb1a8693c4939da3c41b018bcb243953d3871303c7422583dc022f7bdfeacfbbbd485103c4232353d848cb2bd25aab7bbd881b83c5cc57b3d0d7705be8a9263bdf9ca143d5a307b3dcfc700bea996bbbdc543f63cc5bf403df8f8c9bdb060bebd163bea3b1af3f93c291582bd5e18a4bd253e86bc1c84b33c0cfd24bdb82c73bd5f67afbc44662e3c0f7a92bc9af311bd0bc096bc49d7703bf82886bb654b90bc6303d6bbb9e252ba294fa13b2c88c1b950a40e3c1c1b4ebe15b28e3fe0a8563ee7f87cbd35316dbe20fe853f9a288a3e267a91bd4df760beae775d3ffcd4ad3e120e88bda96929be0be51d3f6901be3e080934bdaa10e3bdedcbc53e76a3b23e93c7debbe10858bdce8e493e45768e3e2486413cad7441bb5e5c633d888a2f3e3e90e83cd67add3c9fa4d7bcf6038d3d55e1c43c2439323d485097bdfc1196bc6c4b1e3cbf3d163dac7689bd46f4f3bc8d28003d22695d3dca47c2bd605dabbd96c8103dcb714a3daf85b3bd8679e4bd93d1b53cee62183d6f6a83bd9922debd4b17ebbb7e57c83c9cbd25bd7ef3b2bd5c2df8bc26fb903c20e5c6bc5f8e80bd6c1ff5bce273543cdcfb71bc8d271dbda815babc4de8eb3b3625babbed5f83bc06f019bc75a8873a8b7f3c3b2acd6c395a35223c5dc648bee4c3703feedadf3e5aa7f3bd32b455beb712553f9e55013fd2b8eabd3ec537be4735263f17100d3f5158cdbd59bc04bee1a5df3efb85083f3ed854bd468da4bd13f07e3e8c9eef3e30d62fbc9c640abdf9acea3d33a2ad3ed8fe9c3c6027863b72b8ca3c84cb453e556b163df583ba3c26a4c5bc019d823d9d7f213df094113d0f6f6dbd644615bd7e33633c2b22f93c871130bdaff165bde68c163d13ae1a3de16561bdaf76dfbdba4a023ddc4c1d3d6a4c4fbdc7c304be8a76193b801bef3c70b81abdb0e9f1bd1550c7bc9f4f9f3cb6c5acbc30c1a9bd95074abdac217e3c575f67bcaf5782bd176138bda47a123c03c2e3bbf6bb13bdc95ff3bc8a48ff3bf62dbdbb29f88fbc128042bc9243503bd1a0eb39554f32ba0428233cfe8d24be847f343fcfa9303fb5a72dbea11424be652f173f802d3e3fdfd81ebe52bc09beab7adc3ecd06403fd91ddebd3525b6bdc9f4863e66872e3f45e959bd734075bde0a20d3e4ecf073fb0c2bd3c03748ebc1ccd3b3dadf4c33ef680283d3e11133b657cb03b284c493eeb38723dd9cc973c7b8956bc13144e3d60d33e3d2c27de3c8a260dbd16125cbd6021753c9e559b3c0e3187bc85b798bdf34a183de2eac33ceff298bcf6bb08be5b2ddc3c2376d43c7761a2bca9e412be889cc2bb8099b13cb29d6abccaadfdbda59818bdc465723c72d3e5bb48a1bebdc1d86ebdcfbb683c9246cebbd1ed84bdc6bb56bd5047483c4c4116bcfcc119bd59941fbd757efe3b41f6d1bb107484bc01d688bc1d11ec3a54c63bb98753d1bae3fa0b3c0e99e4bd9181e83eb85f6d3f554d51bec4c4d1bd432fb03e930b753fec8434bee7879fbd8d81623e8f5e6b3fc2c5f0bd85e841bd276ae43d8f07493f6e2319bd50a0b7bc396af33ce82b1d3f89b2e13c54d7ddbbd007093b4ac9cc3ecad9863d502ad63b4bfd703adb91493ee6b0973d6f181a3c5e2b6d3a6302133d741e733df6b7893c1fbcf2bb099c8ebdf3438e3c8bd4bf3b5e24043c32ebb6bd8da92b3dcc2c523cbb67093cb4dd15be97aa953ce4ad853c49accc3b21e11abe911f94bcdb8b7a3c7b02373b5acd02beb7214dbd42b0483c69059c3b178dbbbd3d2e8dbdd6da293c9ed9c3b9e58580bd0f9779bdb6d9113c943155bbf2ad19bd3d852bbd488def3b49d4c0bb4e2a7cbcda85a2bc20d3343ba92a58bbc557fc37e431bc3b865465bdb1e7633e70328d3ff25157be0a9742bde02f023eab35903f25372dbef9f20fbd668f293d0f93853f588dc4bd841061bc207372bccf9c5c3fbf3733bca9d89dbb5e6935bd1595233f764b823dfd0d963b13c717bd90e1d23e32aebb3d38dac13b113c22bcd168413e0f0cc13de107723b14ee6d3c52faad3c49518b3d6b25553b81f98a3ca281a5bd588da33cacafe93af986d43cf55702bee720313d67d6943a3eaeed3c013319be623b803c3c183a3c9c36ad3c23441fbee96e01bd0e3d323cb4da6d3c2d52febd8a8e83bda0a3103ccfcc2d3c7188abbd95d5acbd7b20293cede5153bb71973bda7829abdb7d9fb3bf1f97ebb43e308bd966246bd1330df3b7f3200bc4ced4fbc2ecde6bc87f6593a12f960bbe45e883b9e59d13b039f0ebc054908bcd773ab3f5a815dbe955c5c3b33861dbd5a20993fb82105bea5eb553b6f2fc1bdef978e3f544b5cbd1dcb2a3cd074dbbd9944643fcb0b203d0d80583c891dcebd6a6b243fc272e03d7b7d533c579177bd83aacc3e96e6033e4855f53bb46917bc6549313e2e83e63de0cac6bbc851f73c6b2b863c6e82a43d6d535cbb085a233dff42f7bdaed6893c000000000000000000000000000000005a8ee23a50bf2c3d450f31becf51c9bb7dc89c3b1d5eea3c25df01bee4a56fbdfddbf83b42a79f3c9a5acfbda3f0bfbd66f4a03b78c3813c31f88ebdee3fcdbd2cd1933be394ce3b85ea2fbd692babbd1088a03be46e59bb2b2ec7bc515f67bd299f4d3b2d72cdbb9fa2cfbbc8fdb4bc0000000000000000000000000000000000000000000000000000803f000000001dfced3c28f851be3decad3fa5d4b2bd20b7d53ccf893dbeaa5f8b3f2fc42a3d44a0cb3c8d0c33be36025e3fc686033ece96c93c629313be08b71c3f097e2f3ebbc5b13ca0daafbd76a2ba3e92c3313eda0c2e3c4e1eaebcf4d7203e18a50a3ecdb217ba8373013d879dc2bc70d68f3d00000000000000000000000000000000000000000000000000000000000000006994af3deea309bea358ecbd397a423d6bbb9d3d5735b6bda63addbd5c25dbbbb47f6d3d78716fbdb777a4bdf34669bd3afc193dc582f6bc21561fbdc871b1bd0d6f8d3c14a04fbc27e7853921ebb8bd2291563b0bcca1bbe5e4893cf9b389bd651166bbe1dc373a395c953c12a6f3bc00000000000000000000000000000000000000000000803f0000000000000000ca5d73bed87caf3fb4e5093c518b56bda0e380be4031883f64343e3e68d10dbdb61468be7bcf453f1fe08f3e969d403cc96c3ebeec33fd3e9e0b8f3ef29b853df7a901bedaeb853e42d5583efc1cbc3d84265cbd35cfb33de96eeb3d0eddc53d4385b33bbd7b23bded971d3c35c9853d0000000000000000000000000000000065a75f3dce17ddbd5c6064bd834a673dcc1bad3d7232e0bd7f08b7bd3813223d1ee99c3d7995a6bd1f3dd0bdd0b479bc3887623d1dd541bd25977fbd726a94bd4741e93c6a86abbc5d6a6abce48ed4bd25342b3cba9a00bc4179803c2369d2bd0b11933a545977bb5f4dbb3c75cd91bd538801ba41b4a1bbadc8003c85c3e1bc3169e1bbf66e3f3a5929283cf33eef3b55da55be0795ae3fe646ad3ce18e7bbd91f598be00db9e3f7fc5003ed18261bdab5595bec6f47b3fe6b0a13ea22f81bda5377cbe990d2b3f6041c53ede9893bb5a3e37bebfdbc63e6268b53e1589783d09b5d1bd4bae323e9cc0853e2a6fbb3dbf7df8bc3f8b083d8618083eb5c7c13dc95bb23c42b3efbc606e163dc41a8d3d660c373d3aedb4bd70fc76bdb0d7d73c5d063e3d681992bd69cd61bdc7df4a3d37da923d4490adbdb05dc9bdcf1dcf3c561c843d3ab26abd21f0bdbddaf410bd80c72f3de618fabc328f38bd6567bdbdb440b43c5d461fbc4d68a0bbea49ecbd52a3023cf5ffa9bb2862c93cf327dfbd6cdd90ba7014daba901eda3c167193bd797e71ba563780bb50614a3c8edfdcbc4f3d63bbf9253abb7b053e3b78ec0a3c65af57be9215913f51027e3e29ebccbdd00591be9b35873f023db63e8a5cc9bdb6158bbe61e54c3f9e81f53e1c9275bd56c15dbeae52033fb475fb3e807a6e3c3e611dbe04288e3ecaa7ce3ea9b6bf3d6a87a4bd3c79d33d59a4903eac94eb3d0cb7b5bcee87fe3be7d4023e6e1ae83d6295963c275e0abdcbfa833c78819c3db0ee263d75a847bdb4bf68bdc5e1c43c742f2d3dea5269bdf2c993bd594a423db65f803de05e6bbd0028d3bd8b83433c166e583da9b713bd330ea3bd988769bddb85053d76377cbc7d76fcbcb90ce2bd32ce393c6e98ff3acd72773c6d3406be7eb40b3b9e034f3a05bd043d8db3ebbde74a93ba99f9b1bac586ea3cbcf195bdf1f0a9baf7c91cbba3e5353ce5d1e4bc49ca51bba24767bb6fe21a3b6c49533c9ca94bbec254713fcb4efd3eaea61ebe425585be56c6543f929a173fd8590abe3c1472be370c183f267d273fded08dbd212f37be54bab13efaa3183f184b053d6a63f4bdb94d163ef066ef3eefcce73d1d8363bd6b73fe3c747e983e87aa103ea369f9bb1236acbc5445003e39b6043ed975b23c6810f5bccf0f5d3b6184b23d1575093d574612bd143594bd0cd0a73c760f203dbdc12ebd82ada3bdbdda353d02e14e3d30d109bd0f02cdbd05769dbb3c142b3d42406abc7f638cbda49ea4bdad72a53ce1a9563aa64933bc47ae05be97e9283ce089ea3b3742783c51f006be485c95bbaa92063c4891353d2aa1f9bdccf73fbba5b35039a8bdfd3c5b6495bd688eb4b9a51a61bb02ea433cb090dabc934244bbbc5c63bbc5a8b9ba3733593c121f34bebc2b383fb6693b3f2d8645be997559bec29c153f013e503f1b7720be248343be3296c33ee3744e3f78f04dbd371c0cbea469383e22822f3fc6f87a3d175dcabd3b7d893d088bf33e86ab1e3e0bc605bd44341bbd93409c3eda8f2d3eb4fb103ba86f36bd430dea3dfc1e163ee7a0a53ce665cfbc285d42bc1c06c13d76f5083dc79b9abc4bc4a9bdfe199c3c8777023d960dd8bc39d2aebdb9351a3de9d6203d310049bc3e29cbbda3da93bc5695ea3c6d90cb3a95d153bd97acc9bdca64543c2fc30a3c3ca93fbac2720fbead497bba9ba15c3c0db81c3df4c518be3f0e72bb0a9ae53b762c2b3d2979f5bde50f85bbd203e23ae5daf73c820a94bd1329bab9d07984bb96831a3c01f8d5bcfbd499ba7cc18cbbc55e29bbfd8a5b3c9a5b0abefbf9f63ef604743f02605abecb7d1fbecae1ac3e16c8813f3d292cbe86390cbeca46343e2376703fdaa71bbdc223b9bd29be0b3d51503f3fff7bbf3db7a43fbd335581bd9e10063fc5ae363e0a6918bcb46eabbdaca19a3eae15453e12a0643c9ba473bd6a0fd93d6a9f243e8d88b03cc01297bc1ceec3bcf821cb3dbde7c53c60671ebb49fdb0bd29df733c6d90be3c2a3312bcd45eb2bd3c42063d26c5dd3c60b7213ca532c9bd5c530fbdab129f3c41ac813cf4d12abda5e8e8bdeef2cc3bce4e8d3ce7722f3cf3e61abe3a100abbbafc9b3ca12e0f3d7e4b16beda26c1bb6ee5153c6710423d2561f8bdbf0371bbd7b8403ba503ea3cf73f94bdcc4f133a5f5b23bbf5ca133cdeb2d6bc6c6d2eb81a665bbb0d69cdbbc10c503c10e4a9bd7707783e7fcd913fce1b64be0901c1bddfbfd43db219973f59041cbe4ff2b8bdc88d513b062d833f3207653bd3af49bd2a5cc4bdaca54a3f0371063e7119bcbc051805bea4a3053f0c5c593e5c18273c684c04be4753963e64ae5f3ed4dda33cac6793bdec00c53d0586303eeee9803c54ae20bca0fc08bd03d9cf3d8795713cf1bb853c41f1b5bd5966613c7fbcc23cb535733baee8e3bdae26ac3cc928563c5829ed3c20adbbbd8ebd2fbdf156ff3bc6b2eb3c014addbcab6505be578fbfba245fcb3c440bc53c9e9527be2b1ef4bbaf0b9f3caf7e473d804e1fbed6ce01bc5ded203c50c8463d9ea2f9bdd7754cbb7e51f8391f39e83ca6e38dbd1630193b553307bb6bb6ab3b6dcbe4bca10e78ba10af7fbbe6d5d7bb55168c3c40c546bdd110dc3cbf69ae3f3d5b59be3579debcc1eae5bd3939a53f626407be07ea15bdf1f926be1b7d8b3fd1af503d5c2c13bccd0e4fbebd8a4b3f585f443ea33a7e3cba0951be8ff2013f900a863e9f9a083daefc23bec30e883eb97b833e078bd83c331090bd07278c3d6393473e67ebcd3b574e283c0b4d37bdb466e53d751c203c7d1e093d206fe5bd73e6613a00000000000000000000000000000000629e9a3c76b6ee3c6485b1bd96aa9dbd3134a03bff29163d903e83bcea730dbe55e962bb3956f63cc9c4c03c47e021bee42909bcf404b73c19df3a3de0e913be44a420bcd5c1783c80dc2c3d0127e1bd7c7583bb4109823bedf7c83c828681bdad78c5b8b08774bbd81f4c3b928d59bc0000000000000000000000000000000000000000000000000000803f00000000265cf4bc5d6257be1e4fae3f375f05bd3c8e6dbcd8cf80bebe70863f1c2d0a3eaa42da3ae30584be2d95433f3d887d3e6746bd3c8bf978bec274f93ee958903e2f49103d3ee13cbebe1e813eb604843e7bc2fe3c0f6cb9bdc591953d2b9b403ed13c8b3c3bc728bb5d4e63bd736ca73d0000000000000000000000000000000000000000000000000000000000000000507800bd54efa1bdb729a0bbd645073b7c03edbcd58797bd5492debbe920ab3b18cadbbc1d5481bd5aaeeebbea7f8e3b8714b3bc729255bdc5880fbcceb25b3b85d381bc35cb2dbdb4171dbccbe8a03ab2d80ebc002e03bdf68c1cbcd79192ba374f18bafd12a3bc8b2708bc9b2677bb00000000000000000000000000000000000000000000803f0000000000000000a0c77fbc8db58c3f679c4cbc89f170bbd8b0f0bbd1d86a3f2b81d0b9c5be94ba66079dbbed2b3e3f1d4eba3b29e04e39eb8802bce41c133fbaa5e23b119a06ba51d264bca0fed33efaa2993b24332dbbb62cb6bc25b4823ea2adbaba433c65bb24df06bdad52d33d7c18c1bbef5204bc00000000000000000000000000000000f331bcbc756559bde4fb04bbf82ff7bad4d8eebc6b46b7bd161c05bc0fa0233b24a502bda922b9bd460a34bc6c84943b797eecbcfa95a4bd673959bc61ffb73b97ecb3bc113e83bdaf3167bc05a67c3be44a79bcccdd5bbd96ff6ebc5d24013b53b8bcbbe7ec1fbd750d57bce7ca04ba4358963b9a26a6bccc3a01bc3ab738bbc10b043cf5c881bba3139cbb186e92bbd8eb31bd97028c3f06b2e13d3cc8a5bc86a743bd0dbe843f0f17db3df9f291bcb750f2bc36d15f3f62e3d63d1b0031bcb05ac4bc8b22353fa592bf3d6357eebbdec4bbbc84d8093f65209d3dde73d9bb8b72f1bc3f95c53e440d693d764b0dbca80815bd65b2703ec0e80d3d70f22ebc161f2fbdacd1b93d02e82c3cef6d54bc6f4515bdb088e1bcb5ab15bc626b59bc834e93bcead71cbdf86d40bbef3c4b3a3958d1bcbbc492bdc11031bcc539983b6719abbc0ee68bbdc23b81bcbac20c3c30eeb4bc2b3992bdf5c398bc0c46ec3bdc0481bcce0e5cbd488288bc0b82a33b3d2631bcf56447bda80194bc07075f3bb93c6abbd83703bded1762bc0c9c293a00e89c3bc2b498bccf4227bc7d88b8bae89fea3b1a5160bbd72436bb7ea9c3baaedc40bdc13c6a3f7c46863e63d8e4bcef4564bd220e613fda5d7f3ed4cde9bc70e310bd1add383f05cc653ed0a08ebcc60110bd4fae1c3f41ab443e7e8b60bc1bc5f4bcad90eb3e0aad1a3ecfd01fbc712516bd5ef9ab3e2102eb3d03ec3ebc327110bdd62a543e3a82953d762a3abcf5942cbd0bd5a93dbbaf043df0af61bc59c6febc8f7895bcb6a76dbba23c3bbc6d248abc6042f8bc121f18bb3162913b5679a8bcde4671bd3bba7cbc841f113ce48da5bcb72f89bd47f9b8bcf92c213c60698abcd8f57ebd740dcdbc55501f3c722457bc67b657bdc097c2bc67e1ea3bb460f8bb01452fbd23edadbc091eab3b8cbae5ba3471f9bc51729cbcd6971a3b63f37b3b8af586bcceb634bc96bbdb38b386a13b46cb88bb09f46bbba22d89bad45135bd471d3e3f945fd63e023704bd6bf158bd3312363fcfe3cc3ecd4f0ebd864832bd503b1d3ff776b63e6264bfbc823a1abd32cb003f88d5973e9e1884bce4690ebd9f28c63e562a723e23e651bc20f111bd4be98d3ed2bb323e68be40bccc6f18bdf36b2e3e2d83e63d3d0a4cbc815d17bdc9b68e3d44fa583d3ed451bc38f9cebcab9457bc9311e1b799e618bc897b4abc5ca5f0bc1864c5bb4de8053ce22c83bc8bad48bd5adfb9bc9d844c3c495e6dbcf0f45abdab60ecbc7d18523cefa250bc47aa60bd21cd03bdaef94b3c1c1308bcf96e14bd09c0b8bc296ee63b5203babb5bad1abd5eeadcbcc079ae3ba854e6ba501ecbbc57a595bc2e2c483bf4852b3b1e5c4ebc729f49bc1729613a31c3973b95f254bb6b0863bbc4be063b7a8b20bdf2bc133f2276143f182214bdd5cb40bd19020c3f40ed0d3fb27a19bd252b14bd9db3ee3e9931f43e6d8eb1bcc1f40dbdaa8fc73e54f8ce3e402580bccb56cbbcd5b7943e861b9b3eac910bbc503b03bd60985d3ef8eb6f3e625c22bc109af4bcd147053eb941173e31bff8bbef31fcbc1c57523de7d38f3da0df31bcb4789ebcbdb27bbcff500a3a10b600bc1ba412bc86c2d7bcb85f51bcd002343cfd2d36bc312644bdfeb20fbde14d843c48a620bcc45261bd67bd34bd55c7863cff7c0ebc3a094dbda2b631bd73e5643c99a8c5bb84a829bd07ce1cbd1c751a3c538f7abbb72f0bbd97da01bd5e5ee43b23b6b738b157c5bc3649c7bcb3035a3b90df373b96c641bcc42046bc9648c53a7d30603b946cdcba0f455dbbaaf3943ab3150cbdd121d53e1cb53e3f89d51cbd41fe2dbd413bc93ef516383fc31028bd50730fbd6dffae3e1212203fec8ac3bc7f27ffbc9f04903e94ad033f981c6abc8cd6dfbcc9ee5d3efb4ace3e262d1dbca1ace4bcdf2a1e3e3ae0953ee15d05bc3480dcbc3a22b93d2ba53e3e36f909bc151ecfbc3e2cfa3caba1af3dae1415bc5eff83bc418e81bceea2cfbadcdcbabb43659abb685bdabcd9d8bdbcad0b5b3c65c89cbb63103bbd32f558bd949d8b3c6461a6bb204635bdffa755bd54966a3cc276a4bb052a3abda94568bd53bd5d3cd06d7ebbdbc70dbd73db31bde05b0b3c9b93d5baf88bf4bcdf8d22bde77fb73be58ef83a09379cbc60e8debc09ed033bc89e613b215bfabbc5af80bca6b1d03a8469643b5165723aa8b089bbd5d4f1388abbf1bc9993843e60e46a3fd08d27bd8cf209bd3d5f773e9fd9623f0e332abd2828d0bcb47b5a3e494b3b3f6a188dbc4dd9c9bc3a12343e88931f3f2bcc14bc7abda5bce5b4083eb802f23ee23e3ebb8cb2b7bc5ee8bd3d1a3fb23ea5d94fbb9099a4bc4bea553ded845f3e2453b1bba91ea2bca2290e3cd781c53dbc4000bcd1aa3abc7c54a3bc84a4e6bb566ebcbb09a74fb996effebc6a6933bdd0c1713cec04b13a6cac2ebd67b39ebd6639483c13bf74ba1e4936bd0228a8bdf0044f3c97eef3babae323bd1a8492bde68e163cf4bfdabae26b06bd9f256bbd051baa3bfc4f96b98b3ccfbcb1c546bdfd3f8f3a5bff133b19fb7bbc9d700fbd015076ba3c1e813b379f92bb97ca99bcb7b074ba94fd3d3b1724423b693280bb1a6d07baa0df97bc7d32df3dd34c8c3fee250ebdfa31aebc310aca3d6c4c853f256900bde52e8bbc6fb4bb3d58e1613fdc7acebb904a7bbcb3699d3d3f1b373febb38b3b18876fbc93606c3d8ae10b3f3ba3013ca27571bc164f0f3dfde0c93e4acab33ba69062bca843223cc55d783e49b1d43947f63abcd71152bc8eb4c83ddb63fcbb7c4aecbb7620dabc83c9a7bc08b4f5bb00000000000000000000000000000000b86ce73a5ac70ebd5d509bbd29a71a3c62124a3a60a5fdbce54c8fbd4a53db3b9780beba2884e5bc58ab76bdb7db583b119f86ba1f25b9bc3ad74abd35940c39d43820ba870c8bbc630827bdfdca4abbe51178b8f20228bcd9c3ffbc8a0bbabbfdf9d23af49e09bb57d59dbc30f9b8bb0000000000000000000000000000000000000000000000000000803f00000000ca4acbbbd352a5bcfb168d3ff493b8b8f001c7bbc8412cbc08f56b3f7bcd3d3c9c08b8bbe2c6debbeb323f3f3f9f863c48f1cfbb0d3002bc8df7133f9bf27f3cf892d3bb34ac42bc1361d53ef365453c02fb8dbbfa8693bcd176843eb64adf3bc01aa4bbde78d6bc7d25d73db87d30bb00000000000000000000000000000000000000000000000000000000000000003d5268bd71a72bbd6390383b337af73b1b8b55bdfb3530bdf7ca2d3a0695083c31f93ebde64d2abd37e402bbda72053cfd8820bd6d591cbdf19130bb10ad9d3bb03501bd7b5d0dbd8a44a9bb7a06803b22c0b9bc464aebbc6d60e7bbf4b730b8c6c62cbc1c05b4bc726706bc2dcc7cbb00000000000000000000000000000000000000000000803f00000000000000002d21753c039b7e3fdb41473c9a71943a70a3403c48b5573fce4e973c2fdcc53b9b0ce43bbc0e323fb665ab3c25ad023c8b20b33ac7520c3ffd54923c0ba3033c46addebb3acccf3e8382893ccb99c43ba60579bcb524863e8de22d3c5a560a3b074cc7bcb48ef63d24d08e3b50a8ebba00000000000000000000000000000000ee0638bde0cfdfbcb1c6853b25b2773ba51e7ebd363d48bda5c7c83a668bfe3b177678bdf50561bd384010bbe38f173ce56269bdafa560bdc915b0bbb5370b3c345d36bd6c393ebde0b4dbbbf380ce3ba6d916bd630e34bd44bb15bc3ca6693bb74abebce9bf11bd657d2cbc55a61dba3a8001bca9f0c5bc41612bbc77efa3bbcc958a3a18d230bc8c6beebb84c3c9bb4f1e393bf2dd7c3ff6ff063e239c1dbc7b7b893b514f683faf7d043e3be78fbb0019843bc556463f6430fa3d61a67e3b4882503bea40243fd0f0dc3d48f1cf3b7560c7bbed7dfe3ec34cb63d750dea3b21f26fbc7668bc3eb628903d5797c73bed52c0bc4839703e8fc13f3dbb1e0e3be41202bd8e1ad53d79bcad3caf0c97bb477cdbbc821b55bc7bda6eba8a96bbbb64a50dbdddaabfbccbd60b3bd35d953ba4455fbd1f8434bd67a08c399b55113c20613dbd350d37bdf9d38fbbf6fb103c75e64ebd694852bd5a5007bcac8a0f3c98c017bd57e928bd575412bc7b20c53bae2c03bd45de29bdd69044bc7ab46d3b158797bc3420f3bcbf8a35bc30880cb99999d8bb7936bbbcd5dd3bbc10d88bbbf69a0f3b0a0413bc1608e4bb2197adbb7ea0c6bbe84a563f803e893e74833abccbe0c6bbee5b463fc81f823e8617d5bb5568a1bb740f263fccaa663e87f4333b66100bbc23a30c3f286b4b3e9741e23bc58436bcdf71d93e877b203eb4eb023c6917a1bca3a8a13e9c13fc3d7b8ceb3b0760b2bc68d34d3ed584a53dc231793b776bfbbc6cc1b53da8ac273d1cf886ba6b3dbfbcac0938bcab6f883ab38319bb8d62ffbcbd81b5bca067683b1c30c83bc45640bdab0a2bbd816211ba451d433cb2214cbd074a40bdc38a0dbc08fa333ca48e2cbd148d42bd04c731bc73e62d3c396717bde6532fbda9a050bc2fadea3bd724ddbc35001ebd066073bc1dae753b70a888bc3e62f8bc901967bc4eb22e3abe7eb2bbdc3ea8bc398247bc0aa635bbc21a0a3b2c5607bc017d09bccacb47bb378320bc04b9303f0393d03e998008bc6e1e51bcb433233fec74c43e4af79abb633c1ebc69280d3ffb5ead3ec53a963bda6c6abc8f49e83e17fe933ec090193c588d7fbcdd3ab63e83506d3e5a67393cf080aebcfb52853eeb72343ec84d263c24c9cbbc7e0f273e9714f03dacbdca3b9763e6bc643c913d3123763d81e4463b3cbda2bcf53a32bc16ae933b8717b339d836d9bc3b27bdbcaf79133bbd6d063c2e8d1dbde72223bd17669cbbff5e523c7b1518bdb9582ebd655339bc69d4403c7d1f15bd49f73cbd41e684bccd53273cb559c7bc5d9503bdb67257bcd0c2b53b899abdbceb6b15bd096995bc7c7c743b065e55bcdb0fdabc8f7983bc6551f0b9bb1c0dbb752289bc945864bc1bb09ebbb275133b111ffabbcb02f1bb312e36bb480f2dbc40420c3f657c0c3fe1e8f6bb3cc87abc3b90003f7e09033f93b4e439270458bc4da4db3e9553e33ecf74213c26de82bc11d2b73ecb47c23ecc936d3c07f15bbc7c0b8c3e222f953eef124e3c7a22b1bcb99e503e69d36a3e44516a3c87e9bdbc8af9013ea5c31a3e0ad8313c5d5fd1bc41e5503d01be9f3dbbb0ac3be8fa91bc23e851bce661903bf47f183bb926b6bc80b4d0bc3012c939c9de2e3cd65403bd56012abdc5c82bbc335c693c8d7f09bd215b3cbde76a98bc6f3c563ce902f8bcf13237bd6258b5bc8d14233ca2cacdbc329920bd7f4bb7bc92f7d23b082380bc0bc60ebd3744bdbce3fa333b17832cbc2088dbbc59fca7bcc4c19a3a327d58bafad784bc3b277ebc740e28bb56367b3bfd31c2bb5f7700bc32d82fbbc6b35dbce955cf3ef86a313f51158fbb85e294bce842be3e3b9a253fe918963bde6a89bcd549a43e585d103fc48a813c866990bcf269873e419ef13e29cca03c0e2f96bcfeb5523e2dddbf3ec2f7a33c57b8b5bce709163ee2df8f3ea563903cab04b6bcdfffb53d24623e3eba4e5e3c21f1bebc35ebf73ce633be3d1dad123cc80682bc03b681bca8af883bd0338c3b5f5687bcef77d8bc3c579cbbe5d9473cf616d2bc18b233bdf2178bbc4296863c2ffdbfbce94722bd65a7bcbc5e1d263c3541cbbcfd9432bd8bc2f3bc9ac6133ca19f96bc84740bbd2c70d0bc478e953bb8814bbcde1004bd39f3e4bc3f77733a2750c9bb3a4baebcc75faebc99ebbfbaf5812b3bf5ee4abc1b1295bcdf5873bbbe69b83bf30b73bb391f06bc066037bb71b96fbc26ac873e7f27573ff0a2b8b9746ea1bce0df763e3997483f17834a3c441879bc6667543e88d7283ffa0ea13cc1fa90bc03d02f3ebc3f103f16e5de3cb40f86bc7efa053e344fe03e7c1cc23ced5caabcebffb83d57f3a93e2232cd3cf3919bbc7e7f543d912d5d3eacee823c36b5afbceac20c3c0c52d93de0233c3c8c8764bca2f1a1bcff2ca33a0ac4a73bb6835bbc0a26fabc5b065bbc65964f3c18978fbc324a30bd120900bdd278503c0daea7bc4e3535bdaeee17bdac171a3c60ed9bbc3f6727bd7bb31ebd1730b43b520387bcbdec04bdf3a310bd3607353b982d17bc3eaee2bcdcd306bd50eba7ba6c503abbf017a1bcb604ebbc05b8a3bba60c9f3bec251ebce4e3aabcaa97c7bb5338fe3bf217f6ba7d6d2dbcd2c79abb326d3ebc0dc7013ef4db7c3f51f5393c38a089bc2534ec3d09ef693f5907d03ca8a579bca38acd3d9840483f8ae00e3db16080bc18d3a63d21af253f7a8d163db7d36fbc055f7a3db5f7013f6647013df6789cbc3bb70f3d04dfc03ebc2de63c181798bcdbd2443c72a37a3e8989b13c643a93bccd984ebc8910eb3d1ff24d3c5e8455bcc31ad4bcdaf9abbb5a27aa3b00000000000000000000000000000000e1866dbc82b312bd957f05bd0aa71b3ca9eb82bc310c05bdafa90bbd810fb73bdd636abc6d7df9bc0f070bbd2e3df73a0ac828bc901ed1bcb096fdbc301b293ac7abb0bb421eb6bc981dfbbcfe5b83bbdcc311bbc18c6cbc519cccbc33becebb55e1763b9cdbeabbd638a4bcf7caffbb0000000000000000000000000000000000000000000000000000803f0000000028881bbcdc6467ba0e1c7f3ffa1e083dcc620fbc4175193a1b85593fdff70c3dc26924bcb0e6b9ba3efc323fac7e0d3d68eb33bc322dd2bb6a980d3f3de3f73c468444bc8a2f21bcc15ad13e5194d43c1f3d53bcb94c88bcabed873eb1e99d3c685b5fbc5037cdbc4219fd3db0dd403c00000000000000000000000000000000000000000000000000000000000000003eb361bcde53e1bb7931f73988341d3bdb0862bc7577f6bbd1c7533952972d3bf40552bc343cf8bb085968b98beb213b4cd746bc376807bc156803bb664d283b6b8830bc8f45efbb1b99a2ba9f83e13a58f01bbc51fee5bbcc6007bba84d113a88c2f6bb12e0cabb722d1fbbe53709b900000000000000000000000000000000000000000000803f00000000000000001a06703b79fc633f4ba1d53beb56803b217b493b8a74433f28affd3bfcafa63beeeb063b07cf223fb8bc013cb390b03b337018ba8ca5013f9674fe3b31e2ba3bcdb806badd32c33e6e1af33bec8cc03b56d80cbbc1bb813ef7d9bf3bcadd9a3bbaa76abb1f1f013eac8b923baeefea3a000000000000000000000000000000006ec73bbc85369fbb0698433a937feb3a6db688bca16003bc5ad2813a9faf763b91e07dbc516e22bcd86f16ba3b7c2f3b5afe88bc76b72abc56b7d0ba77aaf13ae8975abc4ebd0cbcd59da2ba9328033b651f65bcde711fbc2a151cbbe0fbb13a5b0538bcea6009bc32802abbbde5343af5cc14bc068400bc16ae77bbe8eba2bad66780bb5dc274bb7bbc00bbd4740bbae96a263bd6a5633f65f2043e38ce033b4e517e3bf5f4483f34b1f43dfa17cf3b3c700f3bdb072c3fbf30d43d9584c33bb1d4373a74ac0f3f3a21b73dd41ef83b5631e33612a3e43e2610923d15a6ca3b398be1baec96ab3edba9643da59cdb3b5f7341bb4a59643ecb431e3d4dedbd3be740b1bbca92e43db91eb23c7813a73b81c574bb39ec14ba7b04273b6f6d183b66c022bcefad8dbb6d7c6c3a11d8e93a6fef83bc1b1b1cbcfd0f8f388686853b6d7c62bcf91905bc262713ba45ba103b244c80bc9cf620bce6b794baef4c2b3bb9a54fbc59530abc9f4fe2baf1fad93adde054bc1ac214bc5ab604bb894a013b89941dbc9f49f0bb1b2e23bb7deed43962f5f5bb555cd2bbe2d934bb4238d7b85e609abbb7e8a4bbecd2ffbaf60646ba4783a83a0987433f81e8823ec5fed73ab020bb3a19f12b3f0ae86a3e682a9f3b16b2683a2e13133f77a8493eb750de3b9ec2a039b913f63ee47e2b3e7884e33b2e9c76ba34e6c33e9b2b093ef0fdc93bc320e5bac099933eaedfd43d59dfc23b222843bb5a35433e6e408d3d7215a53bce4c8fbba602c23db4ad153d6b59953b4c47b8bb2e2f7dba2923833bc3a7723b4c8034bc9708c8bb6921b63a6cb7293ba39f76bc586b0abc535d003b2919413b8b5e80bc8d731dbc3d1a25ba6ce0573b25ea7ebce3a727bc8bd5d1ba00cf293b9b6257bcf60715bc648c04bb151bef3a546c56bc40e71fbccd9f3fbb3c639d3abf8f1ebc82baeebbb505edba1861e5b86159fabb3bb5ddbbe39646bbf54156b975e057bbce4e65bbe9c601bba0c0f2b9c0b1893a0ea0223f9dfec33eb4852d3b5105d63914750f3f5422ae3eb97aaa3bc724be39ab6ff63ed3cd963eefaef33ba8e313ba4238cd3e07b77c3e2922f43bc34cc3ba18a5a33e99a34a3eee49e33b7add3fbbc181753efc361a3e8f49f03b532c91bb5e5f223eaf3ccf3dec9fc33b89a996bb5cf2a03d97ba563d291fa13b9ea969bb07787cba2e8a2a3be0ce2c3b1c851dbc7203b9bb7021e83a166f503b94ef63bcd8460ebcbee993b98b83453b0f1e65bca58a16bc9752acba78e1303b183a6ebc618624bc3f7c0abbbe9a203b7fae29bcba98f5bbdafb06bb7fbcb83a1e2b43bc01e016bc7aca4bbb99588c3a47251bbc7365febb5d834dbb3026c339207fe2bb6f9bd4bbaaf245bbe6a955b9106158bb27e562bb19cdecbaaa31bfb89bcd6dba2ebf013f3cfb013f1922473b3c8e02baa4b2e53e8675e73e1b40b53be8fa05ba5fdac43efde6c63edfb9e23b682597ba5949a43e31dba63ef4bd013c5089c6ba8f71823ec8ab843eed46c93b88b343bbd64b443e70694a3e969bf73bc1226fbb4307023e4eda073ed7b8d13b8e5894bbb8137f3d9b358b3d5054a63bdded58bb6d817bbaf270463b2975673bdfb107bc944fa6bbce56ed398860183b36b551bc305b0bbc63ab21baa9f8523ba5b15ebc082d1dbc3a6df7ba40c82f3bea2664bcaef026bcdad32cbbe785203b538d40bc84bf12bc440f43bb96f0c23a171e3abcdfd015bcfcb56cbb85ad703a88eefbbb8a970bbc75ea8dbb6da824ba76d7debb5056e7bbae928ebbc771b5396df570bb0df08ebbfe2ba9ba0d5f45392ef0d2b91716c33ea3b3223f34a6403b05ac2bba4e6dac3eda0a103f6745cc3b4b4482baa40d943e86eef73e0f6af63bb663c2baa02c773e759acf3eaaff0e3c30d10dbb2aa6443ee0e1a53e30d3003ce45853bb9e43133e6cc47a3ec06a033cda1d98bbb18ac03dae10273ead28f93b641bb8bbda983e3dccbcab3d3b3db73bbe9d97bb893b97ba609b3c3bedea613b116639bc4961e1bb2fc4633abcae6e3b981550bce8a21cbc429d93bad10d543b980932bc709506bcefbb09bbfb52153ba86b4cbcfd9f21bc1c2d6cbbab24c43ac89828bcbc9305bc693c52bbed7d9c3ae74931bc267715bc4c9e8abb625d073ae78de1bb5e9dc1bb086d8dbb7cbe41bae03a8fbb20f3dbbb4bb01cbb91ec5f3afa2d23bbed675cbb4ebd1ebbcbe35aba4c10a33909d3823e408b433f495daf3b1e0875ba32af663e43842c3ff859ec3b7ead84baf981453e0bb4133f5777f33b7d0207bb16c3243e8157f73e39aa063c49400abb2944033e829fc53e3bdcff3bfd395ebb3b09c43df64a953e877c093c7e5916bb13ea7d3dea44463ebc9bbb3ba4e9bbbb53ecfc3cd800c73d7f51933b4d636bbb057828bb1519d93a3f9d373ba84909bce33dd7bb191962baa8f7293b0fa861bc78f719bc583505bbe7286c3b272f4dbcf88b25bc09e475bb7e01123bef0042bc7d9b1fbc8d6b88bb06b6d83a42a327bcda2c0cbc900f8dbbb2051c3a9e231fbca8a00abcc00d91bb0349253a0d03eebb83aceabb1db496bb8cfe1fba4223a7bbfaaad3bbf317b2bbdabe36bbeaebb6ba885634bbee111cbbb31c5aba389b5cbab063033e2bce633fdbacb33b596947bafa4ceb3d9352493f3d48233c54dcc9bae86fc93d9c992c3f8209263c6f43eaba4a1ba83dc7f90f3ffae6263c357524bb2b63843d7bc3e53e910f0f3c8c5446bb2c243e3de771ad3ee9ebfe3b088881bb4141f93c52e8663e4514eb3b8075bfbb5e90353c9548e73dde76e23b6c015cbb329349bbb5258d3ad5df3a3b00000000000000000000000000000000377927bcf3cc0bbc80804bbb50490d3b106719bc73b5febb9a3968bb7099cc3a04ee0abccbf314bc35beaebb8be4c93a0e16fbbbde2bd7bbf6fb6ebb58a6303a5fe3fbbbd732e4bb89a795bb2bef02ba0f24b4bbf7f4b5bb3dc684bbd3a547ba8e4155bb3eff8abb94e36cbbd5ff9cba0000000000000000000000000000000000000000000000000000803f000000007c506eba590f603b5ddc643f923a2f3c9a9980baeed64d3b9aae433f3518103cd2183dbbc739873aa03d233f98ab153cc39bd6ba27fde53a4d6a023f292a063ca5b141bb60a6a638d1a8c33e18c4ed3b4ad149bbd2877dba1977813e1a09c83b6b8369bb65402cbba546023ea9e38e3b000000000000000000000000000000000000000000000000000000000000000062bb0f3cc92418be962e08bc1138cd3bd84ca0b9159a0dbebdbb8ebcfe04cf3bc3b147bc922ff3bd8584b4bc81cbab3b883547bc414ec5bd8caec2bc38b78d3b9b12eabbe48d92bd67f5a8bca995ab3b8ff81c3a5a5839bd022d62bc4f57a63b4397ab3b8fda8bbc8523d7bbcbd47f3b00000000000000000000000000000000000000000000803f00000000000000006ea5b1bd93aca23f53cc8bbdd836213bdee55bbde27c863fa7d1d0bc078e19ba565e08bdfe12593f18c0783a0b852cbbf798c4bc9d6a233f2b904e3c5d533fbb457eb4bcb690de3e4731643c716890bbec3493bc71c6743ec01b143ce5ff1cbb387c6fbc46a3563d9d44d4ba6581d3ba00000000000000000000000000000000a109803c50fcc4bd2c9e943b756f65baafed103d7eb31bbee7e02ebc7c790a3c40118b3c329621be07bbccbc5b78023c5519ec3b50d80cbee4cbf7bce63bc63b4770a53ac0d6dcbde267ffbc782aa93b5cc5c93b8e0ea4bde21ed5bc9d12b83b762d233c543146bddc6b92bc1d54c63be3cb303cb82079bc76e1e8bb12acd03bdb17373c03befa3b81bb463a0a2b2b3b583613be81f3a13feffe5f3d7587b4bc124024bebbb19a3f170d503da09ea1bccab8eabd522f853f0afda43db93cadbc17f1abbdb22a553f3cedb63d1579a1bca82f7bbd29511e3fca97b33d06888bbc727a4bbd8b06d43ed1f4913d3a5886bc29aa0cbd3ffe5d3e3210453d6add51bc09b6e7bba2641d3d6ce4aa3cfff341bb4c0245bc9702a2bda8aaacbb8f669dbb913e2f3cf40787bda638433bc6076abb5f13b83c70b1febdab49acbca5c9413b113e3e3cb26affbdb57c0dbd2cb93d3b116d1c3ca446f5bd3e4723bd8a198f3bac9a873b55d6b9bdacc719bdadcf813a051e1f3c0e2a92bd62f909bd5be8873b31764f3c5a882fbda3e8c3bcb15b553b173e793c76d289bcf6192abca8d9883bf307503c26cfa63ba8c1933aa3c5373beb770fbe273c873f37cd7c3eb67251bd63bd25bee035863f79a8783e40cc59bde69eeebdfde7613f113c753e99c02bbdc16ecbbd27003b3f67ee5d3e532820bdd1ef94bd467a093f7a65393e22b2dabcdcc47fbdbc68bc3e8ce6103eabd1d7bc6ecd3abdc7bd4d3e0886b93d37aba3bcc266cabc25b7413d88542d3d1a4053bc07be85bcd7705abdd554373ad5db24bc12c9b03afaac4abd1a48c5bab2fb7bbbb5a1663c6714c5bd64290cbd7a69a6b908fa503cd125dfbd3e9254bdce08bb3aba48233cfc41cbbd409e5ebd9663873a3a2fd13b7480a8bd72ff50bdf95b2e3a68c8383c2daf77bd6eb62ebd0c799a3a006f663c47021bbde7edf3bc0dc61b3b1f135f3c998069bcb72072bc5882b83bf5f43d3c0039243b207d1d365965423b95c8fabd96ce5b3f346ce53e29a69fbd1ea410be30f7583fe144e53e7621a8bd46ffedbd38e03c3fceb2d23e4a8886bdbb25bfbd1a9c183fa02bb53eb73f51bde35a9bbd0d66e63e1940943e2cf221bdc79a7dbdda239c3e8d155a3e92b608bdbba041bdbaa02a3e43a5093ecb07d9bcf3c4ecbc4560373d7643723d77fcacbc71a5a9bcd08b15bd2fb884ba3e6787bc385584ba90a718bdf20340bc1c4895bb8792263cf7c095bdea9653bd7c97c3b998fb133c6f5fa5bde87d87bdd22488baaeb0153c2bbea8bd31e191bd91afc4b839dc9d3a7c9d6ebd06694ebd400b2dbb087b263c625f56bd71204fbd9d6a62babfa1393cb347fbbcc83903bd1bb6343a7a8a4c3cf9b135bc466b7bbcb9d86b3b44c3323c7703f53ae01d91ba938d3e3b08aac9bdbf59273f40a3273f06c6c9bd486ce9bdb2c9223f1c1d273fba1ddabd1bafb8bd9a480c3f21f7133f32429cbdb583a4bd4b6de93e7641fd3e477d7cbde72958bd180fa83e0ffebb3e2a9b05bd021b65bdc2bc733ec922913eee5a13bdc14029bd206e033ee2a22e3e1f11e1bcf6c6ebbcf875153de238933d89b8b8bc3102a5bcc57bf1bc75a280bb286c93bcf10eee3a90a0d1bc1adbe4bc5151c6ba382a4a3caf895dbdce019bbd08b699b9e7fe793c74ff84bd2810c1bda71969ba46ae613c56bd80bd3bf5b5bd960243bb97b3273c8a2364bdf02c9dbd47627abbac54483c568729bd4d6071bd9750cdba56f5433cecb8d2bc2ff61fbda3cfc03aa784263c210618bc663d95bcb52fa63bf788e33b97b76e3be6585bbac4f9873bf65b9dbd65dfe53ec30a5c3f3677f7bdcd6ab2bdf942dc3e41a55c3f6d9f06be8fbb99bd11f8c13eca77433f2babc9bdd10681bd456d9f3e5c47213fb5198ebd7a515abde85c763e932dfa3e527d44bd47eb34bd575f283eff43b03e34a41abd0b4508bd4f91b83d0615503e2a2af1bc4384a3bc2deec23c8f599c3dcba3bebc675046bca2d2c2bcca0756bc732092bcc6b0573b13a554bca47d3fbd8551f43a45316c3c3fbd03bdb678d8bd7e4eb03a1d74633c526e31bd8a9be8bd2bdc8f39870a843c89713dbd4d12e3bdac3b9bbb0a05413cdf1124bd32e3b2bd51aba6bb17bb4c3cc4eb04bd7ffa8bbddcf09fbb6e7e1d3ca1489ebcc9b32ebd9c63f1b9e0effd3b9ec9fdbb460b99bc7e60d23ba9ff513bb3c15e3b06f6343b3e48f33b73394dbd25fb7b3e5215873f8cc10ebee45565bd459e653ef185873f1dbf18be709e40bd4a57553edc4f663f2157bfbda51731bdc729323eab53413f29978ebd75070ebd08310a3ed327103fb0c71cbd0dbce7bcafd0be3dc640cb3ecd0202bdc3c7abbcc7354e3dc092673e8030afbce84623bc3ddd3f3caf2a913dc3288abce5ab43bb7bff9ebc11270fbd8eb281bc5f8cbd3b6944c1bb939fa9bd1ea3c53bf1f1793c35caa1bb38a010be059a6c3bd6b3a53c69a2bcbc67d019bef4d2a1bb9c3b993c6261f2bcca2f07be18792ebc77d16f3c78a1edbcd286d5bd9a424ebcce30583ca7e8adbc7c949fbd679403bcecff0a3cb3e842bc29c444bd997325bbf6b90c3bbad761bb3d488ebc6208033c03ce8139d936983bed96943bfe33023cf500a8bc85585a3d01d5a13f609510be8ead94bc5e22073dc7579b3f52c614be7d03adbcac56483d3a61863fe7a1b2bd267caabcdc4c523d7282583f2e5543bd7ce795bce758383dc7c9213f8032babcf47560bc6de4e63c3322dc3e5e5f69bc26700cbc67225d3c74ca6d3e3f4c2fbc85ff1d3b1021743bf497513ddc46e5bb2e51813b251890bc12598cbda8d54bbc00000000000000000000000000000000b3886e3c83bd14bc83f215bef88f34bb3241813c6a7f7dbc18390dbeff774ebcec78653ce92bc0bcd9f6f1bdba5298bc02ef3d3c9481abbcc1f9c4bd1fe490bc5e93023c10a47ebc13bb8fbdd2a87fbcc2c4c53b337de6bbb49837bdd2eb13bc216db03a66f4113a77718dbc636a0dbb0000000000000000000000000000000000000000000000000000803f000000004ab28c3b7ebaa8bd2484a23fa01b8bbd28193db95b6751bde7ce863f48f7d4bc9a0256bb8479f8bc8287593f1137ff3ab85dafbb4516adbc37f7233f31f7533cad5440bb1ff5a1bc0afbdf3ea4a55a3cb33c8c3aa8c08bbc3ccd753e07a91c3cd31db93b8f8890bcd897553d3d11543a0000000000000000000000000000000000000000000000000000000000000000dccacdbb1f8fe1bdda20bcbcaab2e53ad4b316bc191adbbd805febbc14e0b43a18128abc8cdac9bda997ffbcfa83b3b70b7373bc60b7abbdfdbffbbc050948bacf1bc4bb9bff88bd095fdfbc624390ba8ead933b9ef840bd80b2a0bcc095f4b9f45d403c9129cebc575925bc48c3c2b900000000000000000000000000000000000000000000803f0000000000000000caca5cbdd932983f46a3adbc8779abbba1991dbd121c7d3f1a05393caaae0dbade48edbc3ff54d3f6b1f013dc425123b6769eebcc2011e3ff965123dc623183b58ea0bbd2a51de3edc5cff3c6a76d139d98713bd091a833e11f0993c5d8bcfbaf69317bdc545a73d25679c3aed56adbb00000000000000000000000000000000ecb524ba0c008fbd8c8ad4bb9c0a69bbbe2cbc3cce19f2bd3f2cd9bce13dd6b99418213cad53fdbda8641ebd749f13bb33b9a93b2dfce6bd81392abdf5f683bbc0762d3b0330bdbda2f724bd44baa1bb1451553c7c849bbd3a5f0ebd49b756bb4b9e903c5a534cbdd0eecabc71cd17bb96c0943c4e74b2bc322215bcd10c6e3be10e7e3cb91c0739da9a8ab8c9ec8cba08a4c9bdc1f8973ff73ecc3d0b6109bd3ad5f8bd6445903f65c6d03d3cd7e6bc9c89b7bd55a7753f2d9cfa3db44590bca93996bdc1c2453ff54e013e07e750bcb69a82bdf74f153f99adea3deb220dbc43e181bd1fc2ce3e3476bb3d18ef18bcb2b06cbdfc0f6a3e694d753d10b21fbc30d320bdb0cb863d567bc83ca7d3edbb2a3bfcbc766961bd0b8df2bb8f4e21bca91a373aa91a4bbd5c4c7ebb3a47d2bb7c9a4f3ca9d6c4bd7c66eabc3086e4bb2cba2e3ace60c5bd0fe51ebda3ddabbbf446143c2c0ecdbd019a49bd6ac4f9bbc0cd943bcc29a3bd9dc531bdb706f6bb4369803c5dca87bd992324bd9e19f1bb17486c3cab0c30bdc817ebbcbc2da4bb4749a63c0c20a6bc3c4d6cbce8728ebaa6cd833c0fd88d3abcb418bb22f06fb9a5c8d5bda3167f3fb3208c3e00c052bd6cb702be3247793f84728d3eaae646bd1278b5bd634a4d3f2e95883e4306d7bcd747b9bd22062d3fc2a8793e01e4acbc2f4694bd1453003ffac54e3e8a8f50bce23e98bd37adb43ecd8f213e8c026ebc61bd6ebdca5f513e0974d33de8184ebc9d0840bdb5177f3dd994463dd3b45ebc97b7e9bcaa1020bd2b12c2b7b20c5ebcea08f9bbaa272cbdb1d905bb7d5de4bb3532113ce373a2bd54750bbd99c90bbc61c0303c6da6bbbd069554bd367f16bc1c3c463c3e8eb0bd212c65bd11c81fbc3d01483c0d6899bd11a35fbdb8e337bc60b99c3c66616ebdde0b42bdba6822bcf8f3ae3c91d721bd79720abdb657f2bb17aca93c6b468cbc79518dbcbf793ebb025c6f3c29f86ab9b0f313bb330734bb3bf8b9bd93e7503f7f54ea3e47fb85bd3ce5efbd9de64a3f108fe93edd8987bdb430d1bd51e52e3f7de2d73ee1d32ebd7ddcb9bdb7590d3f7532bb3e78cdd7bc06aea4bd9db4d63eec379a3e7e1380bc9bc396bd995c933edab8683ea42e71bcbfc284bdb9e3273ed2a9173e5e2b84bcc68342bdf2f44f3d396b8f3d4dad8fbc7091f9bcc04a08bd6da06a3b6cd970bcbc4ca4bb05e610bdff1bd1bbc79f07bcb688f63b1bca84bd51922abd2a6258bc9bcd223c620896bd7a0873bd415c3fbc355e643c98f997bda41e88bd67a85dbce932073b0c4c65bd9fc44dbdbd5531bcccaa9b3caf854ebdf06858bd8c1350bcd944993c0c73fabc97a116bd66de19bc133b9b3cd79772bc650697bcedaf7cbb570c6a3cdfdf333a643d62bb0927a8ba24b3a4bd14f5213f04a5233f2c1398bdcc80cdbd65211b3f3eb2223fdbdf93bdea57b2bd7840043f60c3103f801f2bbd5fe8abbd9eb7d93ede2ffb3e6c46cfbca08e70bd37e89e3e9128bc3ed6ac88bbe5148fbd2227623e7979953e1ffa49bc79be66bd46b2f93d24323d3e368437bc7b1031bdf03d0d3d0e0cb13d0ed885bc0c1ae6bc6d41f8bc8e250b3bf23a84bc9e62e4ba45dcfebc4f1353bcbc0aa6bb16e4823c24d964bdd09666bda85644bcc56ba63c956583bdf53e9fbdc4bf6dbc6ed3b13cd9027cbdf698a1bd1bfd85bc839a9f3c86875ebd6a1994bd645e83bc31d8b83ce5032abde5a974bd9a7964bce4bea33c3618cdbc773330bdd10119bce852853c45fb3cbc93e7a2bcff13b5bae72d463c3da8113b99765bbb4f233fbaf6f390bd9d0ce73e3127523f8655aebdf13db5bd26e1d93e9269513f4981b0bd350fa7bdaaccbb3e465a3a3fda3a48bd448799bd911b983e28971b3fc406cebc766d89bd9488663e1fa8f53ed0cc2fbc66a876bd23671a3e784db33e6abd14bc8a3046bd14d3a13d06e4603e91bb32bc80ce04bd73a38f3ca7a8c33d41dc87bc6836adbce79ceebc744f2abbbf2485bce6a2f33be0f7d2bc3502d8bccacababb752cb73c57d632bd78a79fbdae2a67bc0cf99f3c529d4ebd2547acbd0f5865bca8e5d43c743c4bbdf785c2bd3f809cbcd3c7a23c76db2bbdafe49dbd4daf9bbc868cba3c6261fcbc3b9c88bd8d508fbc60fc8c3cccd19ebc3ac236bd4ae32cbc79d54a3c0a46e5bb2ffcb8bc245624398904cf3b74194a3b48ca11b9a1a8913bf0a25fbd7bc5893ef6b77f3ff798c5bdfee38cbdb30b7b3ed4b27e3f3008bebdf6516cbd3f645c3ee1dd543f24800dbd0c8578bd032b323e1c26383ff86699bc48bd51bdac90043ea9ee0b3f4f34a03a8e5846bd5799a63d1f4bcd3e3bbaebbabe8614bdf2e0203d725e793e5b4659bbd3f1a4bcc9272dbaaf48ca3dbf9e81bcc32bfdbbc7fbedbc491279bc71448abc074f433ce057c2bc638757bd53e9b4bb20e5f23c954ad4bc757ad9bd7d848bbc1f0c033d4e8d0fbdca97f4bd9cbcc2bc51aa013d468e0dbd76d4e4bdcf03e1bcbc0bd93ca36b00bd85f6bfbdc91cd2bcc75dc63cc417b1bca7a998bd4836acbc1f718a3c124d35bcdddd49bd96f54fbcb603a03b3b31ccbac258a8bcc5e9223bc721183b125cc83bca51083a34bfbb3b3f2e0fbdd47cc03db730983f234cb7bd849625bd5b638f3dbed1913fcd12acbd7eb52fbd15ce8e3d95b27b3fe582d0bc491831bd0cb56a3d5ff14c3ff0a7be3b354e17bd1403293d43361c3fc91b9d3c471c06bdb686953c7485dd3e734a7a3c8f58bcbc8c6e04bb895f833ed1ff963b252e22bbee5581bc5d3bb13d666930bc9bee8d3a4d6f00bd1cf027bd9e3293bc00000000000000000000000000000000afe9c53cde79d1bc3c42e1bd49ae94bc3481d73c81a2cfbcb3e5e2bd3ebbd7bcf6cdb93ce0ece7bc7892cebde557e3bceebfa83cba12c6bc3611b0bda1b5eabc277a913c2ea089bc01f68dbdf51dccbc48c95d3c126df2bbff0e43bd25d28abc29b9cd3b97ab103b3eccbebc2223dbbb0000000000000000000000000000000000000000000000000000803f00000000be658cbcc07744bd1bf4983f4b528bbc23a4a4bc5dbe08bd60527f3ff6ad903c1408bebcf32ecdbc2051503f98261d3dc29dbcbc7365cdbcd99d203fe4692f3d01e79dbc5071dfbcc8d0e23ee4ca0b3d32542dbcd776f1bc9381863e453e963c5e7770ba8bd50cbde13db13d7e6063ba0000000000000000000000000000000000000000000000000000000000000000b6d727bd7d3b3ebd0b6f57bc0e57273a78dd19bd77f84bbd241b8abc3a9ac63adf5d1fbd143651bd221993bcaa850e3b71df07bd3e2841bd762ea5bcc76f15bafc5abfbcc54a24bd124ea7bc00bf3ebbd4af2dbcfb8001bdfe599abc551ce0bbb1bb183b852ea9bce9238dbc7a6731bc00000000000000000000000000000000000000000000803f0000000000000000920819b8ad43833f44f0a13cd710903bb4d2acba36d05d3fe997003d547b493c62c850bb5a1d373f6b09243de93a8d3c472a0bbc55aa0f3fdfab183dac43a13cc3687abc172ad23ec00dfe3ce43a6a3ca2afa6bc8e42853ec4fa983c6906f43beb6bfabc9c87e73d64d6b63b5d2548ba00000000000000000000000000000000452508bdc160dabc4aacb4bb412863bb930002bd0a8948bdc57596bc8571bdbb82b716bde16d67bd5824c1bc9be724bbf9c70bbdecc465bde8a8d9bc2f8249bbc294e0bcd8c54fbde547d7bce83b8cbbf83d86bc3b5e35bdcbaae1bca70c04bc1eeed7ba777f0fbdbeb7cebc17cc46bc6be6333cdefc99bc64d59abcc7e073bc0a39493cdd03dfbbabd83abcde0743bc85b180bc46c0823f52780b3ea2d74ebcf490c2bc41c3713fed9b0b3e5bfdc6bb12f496bc33794d3f5d550d3e80f2f73b2ba0a2bc25bc283f0b26023e2f1f603c333db5bc0356023ffc7ddd3dac9d813c18c9f2bc5207be3eddb2ad3d6ce83c3c5f9814bdaaa46d3ee355633d62c2663b45c323bddf4dc83dd70ebd3cbe9d03bce2e506bd4a44a2bc11488dbb5e0721bcfb95dcbcd508a9bc704b10bbc49c80bb23d60abd228e32bd9ba081bce53d9cbb313411bdd6ce3bbd7921a4bc8f6d55ba5977f6bc6adb56bdd696ecbcc29c70bbb939d1bcac1e3cbd3ca1e1bc5dd1d0bbbad45abc3fc826bd4620f6bcbf1b26bcbbaddcbbd2dffcbc5e59b7bcf46d12bcbe67263c916d94bc83f7a2bcf56b67bc6a1f663cde33c7bb53571fbc333434bc0e2fc9bcccd55d3fb8308e3e4c088fbc182102bdf1754f3fcf0c8b3e825f1abc5400bcbca6ec2b3f3e547a3ee7c2e03b2b53ffbcbd7d113f6a84623e07256f3c41c1f0bc04e3df3e5d3f383edb598c3c42b51abd5eeda33ed5460f3e7c5a413c3b6309bde5d04d3e7d34ba3d8331f13bf2652dbd83dea83df063373dc4045fbb8eedfbbcff218fbcbba370ba03daf5bb2113e9bcb0e7a3bcb9d6c0392e3e4cbad74903bdb4b022bdc45b61bc03ccf3ba6b42fcbc90624bbd3273d1bc8d3580ba1cb0c7bc960748bdf4c0f5bcc677afbb7852abbcea033ebd3e52f6bc89b2d3bb5968fbbbfea41ebd90b5fabcb5ab45bcd7878f3aec09f1bcc6d5e0bc471155bc3a662a3c0b4489bc5c8dadbcf59851bcd7dc2f3cd08492bb2b8c22bc506f1dbcde80cebc4695373ff9e0d93e820a80bc492213bd2cce2a3f1bcdd03e1efa28bc28d60cbdd865133ff614bb3e8632df3b774815bdd00ef13ec44ea03ed819853cf5ec14bde196bb3ecca6823e424f993c260e2dbdfa66863e04e5463e1fbc6b3c5af92fbda8dd263e0f50043e50820b3c506527bd7c0a893d0788823d2c9729bb3bedf1bc092983bcf6a4553bb28ba1bbb505d2bce092a2bc2f24a83ac71f373a13f9eabc28e419bdd64e5abc144b2a38152bd3bcf1cc2dbdb166cbbc2e45f0bab691b1bc7f0741bd3f5c06bdf5faa8bba1b2b2bcc8c01abd649dd5bc3b5b73bbd2f0ebbb7bb617bd2e0108bda61b36bc54f7cf3a5011d5bca45adcbcf87344bc6491253c07476cbc91dfa2bc975550bcceb32b3c6112dcbb05330dbc43b1f9bb108bccbce4b1103fd015123fde1070bc28740dbd9b91063fc1950a3f5c7beabba11409bdce4ce43e514bf33ee529343cce6117bda903be3eb80ad13e1bad9e3c1790e7bc77e3903e31a5a03e1671ab3c6cf827bd85a3533ee51f7e3e46d3a03c718f20bdf2d3ff3dc950253e11854b3c7f781abd0ad1423d74f8a33ddba5a23a1089dfbcb6e085bc3891b93bf05f19bba627a7bc5931b0bcdbff9bb95c45823b3ca6a8bc7e130cbdb4d4a4bc257b723ae10c8fbcbc4c34bd2d7a03bd8f263abb4db654bc2c4b33bd109a19bd2c60ccbbcd6c20bc176520bd72d11bbd70e21bbc66dd1b3ab1d80bbd02cb16bd240a3bbc047bf93b7f98cbbc206ffebccc6353bc45bb3e3c10aa4abc68e398bcbcc437bcefd2373ca7ee70bbe37d02bcc106f0bb736fcfbc039ad63e2422383fb3866bbc16951cbd0befc43edc242f3f333e62bb3af118bde5bea93e843e193fb88a703cb0e71dbda61e8b3ea9a1003fc2cdcc3cf4ff1ebd2f52563eb64bcc3e844fdc3cc1782abd560a163e0d81993ec61eb33cd4152bbdf2dcae3dd4cf483e0511733c52d215bd3547cd3c5e27c23dcd4ec23b84cad2bc994ba2bcbde8223bad5c13bb99a532bcfa1cb2bc1d25afbba65d5c3b3c311bbc910e16bd43cae1bc236d9bbabcac3fbc0b771dbdfc330bbd656d5cbb23c993bb40dc26bd4a8e36bdb34f1bbce8488dbbb9b311bd691528bdef0f23bc5e14b33b6d43f9bc9b9225bd798079bc8b47913b8323b1bcdbfde4bcede23abcfbae6e3c809436bc3cba9dbcf1d735bcd56a313cf36b4eba750eb6bbe235a3bb9108e0bce2a88a3ea4785f3f5da44abc7e131abda9eb7c3e43c7523fd3002b3b4e46fdbc4aff593e4829303f8f03a83ca19e1cbd601b313eed03183f25c5fc3c256a13bd1976073ee6e0ec3e26d5043d5f0522bd5a26b43db62db23edff1d63ca9bf01bdebb64e3d8105643eae898d3c1dff06bd6d0cb43b9534d83d73c8c73b0123abbc2606b9bc4a8c01bbec342cbbacf7bebb6de7d2bcfbb47fbccffd513b4889ae3b631d0abdb1e92bbd76fe8cbb4819423b28a61bbdf33555bd008411bc38e06d3b129f16bd34e759bd645f5dbc119e813bd7b903bdc16c45bd5d6d80bc76a23d3cfa0dd5bcd2963cbd30e793bcf937793c83da8fbca39512bd79ab90bc7335863ca1c8d4bb585fa0bc7f8845bcbee74f3ca7d9a7ba7c5ad7bb6940abbb128fc2bc0553033ea554833f590af2ba4bb30cbd66f5e13df624743fcdbd603c53f409bdd281c93d1e3e513f5ac4073d503708bddf54a13db6062c3faaf0263d93a001bd17b36a3d6e3f063f2fb3223df6390dbd6af4043d5743c63eb89b073dbe6f02bdc494f53b02dc7c3e81ecba3c4146cfbc3da275bc1804e13da713c83bcf4e92bc8b2fe9bcb0922bbcb4855abb00000000000000000000000000000000bf5cfdb91fe002bd309d29bd68b99ebbf5d8d339fb34f7bc11e240bd47b219bc7487abb9df7ff6bcb67841bd34bf52bc6873e439535ddebc87a233bdcaed7bbcaab9a33b7806aabc8bc620bda89189bce0e9303ce21967bcff5803bde28d89bc61aa633c9370d4bbfcb0b1bc71cc68bc0000000000000000000000000000000000000000000000000000803f00000000b1f59ebc2bd882bba8c8833fa980013d76d4aabccd0a2abb08105f3f6d72243d7119b3bcc3ed50bb32d7373fc2fe323da100c9bc3ddee2bb2626113fe0292b3d390ac7bcf42672bc2635d43e4669063dedc6b0bc9b06a6bca717883e35fcb43cbb7ba1bcc55fe9bc5c57f23dc8230e3c00000000000000000000000000000000000000000000000000000000000000002fe5fc3cf18b3ebed0c1b63bde100e3c83f9b13cc40a31bea99ed2bb16fa483c3736193c413f21bea1d694bcd5fc443cd691d23b028504be3aa7a7bce335333c7155993a811eb3bd833e8dbc7808043cbac1bbbab8a146bd48972bbcfe28bd3b23789bbaf51326bcc80950bb4853ed3a00000000000000000000000000000000000000000000803f00000000000000006d1105beea3aac3f04a0e8bd4f1b323c038cbbbd95988d3f1d9357bdde4f643ab9458dbd7a13693f34ba88bcd6d1e1bbfef141bdaa462d3fe5c6be3b6e6bf5bbc8b6dfbcb997e03e8191943c5558dbbbbdbc1fbbcfcf5d3e636cc13c139c45bb4289823c32f5b93b93dc953cdab216b800000000000000000000000000000000822c043dbff8ecbd58c05c3c8c5f393bd529463db0ab26be6f58d63bb9be083cde91163de5463abe2fd083bce1c9773cb4b3e43cc10d28bee937d6bc20fc853cbeac933c9d3c03beb77afdbc10fd563c5958203c610db8bdcd80c9bcfcab373ca02ebb3bf9b04cbd39b588bc0ccce73b26483abb297e5abc262e10bccec5853ba574d73a4f9c743cd5be463b6937213bd43d48be301dab3ff4c30a3ca5d954bc637741be94469b3fcd12f33ccd3a7fbc699123bebd588b3f38aa703d2269e3bccd0e01be53bd613f818a9d3d8dc6e7bc24b9aebd89ef243f4460b53de59dd1bc3f3a3dbd5f5ed13edb3eae3d0323c1bc4fe6fabbb9cc403e6e748a3d12dc74bc52ce033df6744e3c6a16473d764bfbbb1962e83c498bfabd4c0cf73b00be32397d07e03c58049cbd5738ad3bfad6c13b7bf4233d4add0ebecbedacbce0de6c3c2189173d7b341cbe8fe227bdb7eb8f3c6e67ea3c768d0cbe117b4ebdb30f8c3c0712953c83b4d6bd7ef840bd9442533c2dca813c120e9dbd1a1825bd06656a3c47b8233cf2ed24bd24c3cdbc05380a3c0a32b53bf76765bc261d1fbceed9cc3b9d308c3b430efb3bda03513b61339b3b9d7b48be1ffc8d3f6636673e334d7ebd756954beb7c18b3ff1796b3e8f2784bd07a332beeae8733f8edf713e5c0482bd93a20cbeb58a443f412b693ec24369bd7facbfbd99f00d3f15244b3e7ca739bd195a60bd04c9b33ee67a263e96a406bd243299bcad1a243eb6fbe03d2b59a3bc3b3f7a3c1c1b2f3c2dde5d3dcb9915bce49bc93c6bdaa8bd26bc693aeef8d939ace69f3c066276bd112e3ebc9020043c84330b3d6e15dcbdba924fbd223b953c46ee053da36df4bdb86e91bd1c23b03ca98ecb3c5928dabdafa39cbd07c28e3c4af6a63c7717b2bdb45393bd8ff2693c88326d3ce26879bd786b5cbdd213313c3681323c44be0ebd275705bdd4e31b3c1e66f03bdc7943bc15ba59bca084e23b854dc53b805bb23b91dc7c3b05b6c33bfbbf39becc1a6c3f2e19ea3e187be1bd794b45bef15f643ff7adec3e0af9edbd490828be0fbb453f1df4e23e955bd7bdd1c7fcbd3da31d3fcc65c83ea086afbd7a31b7bd52ece53ec0ffa93e641689bd5f9155bd3977903e0b6f783ee6e53bbd7de8a5bc0221093e44b8193e95e1e4bce7cb0f3cee9a673ce788693d46b6c2bbf0a2603ce70382bda6493ebc865becba69457d3c2ee62abd9e63eabcaad22b3c1268cd3c7e6097bd1e58a0bd1685a73cc6a3b63c1826a5bd5e31cfbd2241953c7dedb03c9beb9fbd8265cfbdd9ba723c58f74e3c475072bd0e2c9ebdccef973bdbce5e3ca7e53cbd07c68bbdaba82e3c9038073cb4b2cfbcd20520bd29e0e93b76fadc3b76292fbce4656abc3667143c45d4963b14162a3bf02bae3bb386223c2bab18beee1c323f3459323fc6d11ebe89ff1cbeb392283ff24a333f03e623befac700be8281103fd04b253ffed505bebc3ad2bde109e83e4453103f7a5de1bdcb9789bd38dea43e5505db3e83dc82bdabb73bbdef2c583ea895a23e65835ebd97c1a5bc6b32d33d2da3353e1cb5c4bcfccd303be055933cc2d2603dec03c8bb6a8c2e3c008d38bd6997e9bc098683bbe9c0003c480fa9bc7caf4cbdda65833ca0fe883c3a2018bdf324e4bdc64dc63cbd3bad3c6ff74dbdeeb407be85f2a53cc538903c90cf47bd28e5fcbdce50353cb5ce793c091f32bde77bdcbdbfa8073ccd5b3b3c3c0d07bd66269dbdeb81083c09e4293c5e79b8bcc72c39bd7769173c1880e23bb4f939bc388f6abc54330c3ca195a73bcf2f163a896dc43b806b1f3cdd1ed8bdb676e93e466f6c3f05a13ebe2e65dbbd57aad63e17216d3f332c47be6e37b9bd9a5ab73e3da8583fe30326bee1768cbd6411913e2bc3353f6629f3bd1be954bd809a583e0b610d3f9d4bafbd601cf6bcc1730f3eb944be3e01aa4bbdcc9a7cbc539e993dfd464d3e929fbabceb1022b9941ebe3ca876443d6cfc5abaf239c43b6a19c8bcc2a344bdb53ce739fcaf393bd4731a3b0de58abdcdbca43cf67f143cd852fcbb88c10ebe320cd13c37aa583c16ab96bcee2821be07bd743c79dc4a3c07abb9bcd88317be9f640d3c39ac293ce36cc1bce582eebd06f8683a3118013cde69b3bcf260b2bd4c367f3bf4e8ea3b4d8976bc390f46bdac93813be3459a3b5c6d2fbc0cc56fbc7992c83b182b113bc28ccebadf77df3b49d8233cc03b6bbd5655663efd688e3f13f84dbeea7960bdfc87453ef9098f3f344c4fbe0d6c3bbdd55b263ecf78803f837821be542814bd4a17043ec8f4553fcaebf2bdde18ccbc7887d03d509f203fd69d8dbd8c9394bc87e39d3d6295d63e606a25bda13cf3bb4cef3f3d5455593e4a7941bc800678bba6bce53cfef2193df3c10b3ca601633b9c19af3ad55b8fbd111d013c842a0d3acf31803ca7cae2bd5058ce3c5f03a8ba2995b63cdc9624bef27aea3cdde8ff3b14fbe23b83e239be7ad6583cca75183c9596a6ba2d4d28be2bdedc3abf24ed3bb76bdbbb458205bee66e97bb472cdd3b1abc25bc72f8bebd531e1cbb34629b3b427637bc8fdd49bdb7195dba0621873bd47463bc8ef543bca7f10e3af183c73afe2185bbfff2683cf4971e3cf7e53ebca96d333ca408ab3f030a4fbe65babcbb451dad3b79b49c3f610036be306914bcc853413bee848e3f8a7108be96c8e4bb51e2b63bc053693fd492b0bd1b908fbbbc112e3c48972d3fb39435bd060fdbba0e04873cb3a2e23e2bb988bccbbb2cbbb617cd3c20cd593ec4fff53b1d2000bc799b203ddd2ccc3caf73d23c4b548fb950ea713c6bc6eebd4b65333c00000000000000000000000000000000b9868e3b6d12ba3c9ce53cbe68663f3c7893ce3b3b425d3c2e222dbe2d007fbbd80ce43b7d39433b0f8e1dbefec789bc3f3aed3b85d457bba718f7bdbab2aabc3694233b73b17dbb3477abbdc20582bcdd58253b4242cebb610e38bdedf83abc8861893a1198dbbbd5600ebc2ff90aba0000000000000000000000000000000000000000000000000000803f00000000f3b4973c179f09be95f1ab3f217bdfbd657b553c77f4c4bd34c18d3f479d52bd4f50483cb71995bd9ce2683f54a57cbcc86ff63b08ed56bd514d2d3f60d5213cb81f273c386607bd2d39e03ece08b33ccd97a03b627ab0bbaf5f5d3e302fdf3c43849a3b589d433cb8ac2d3b0353c03c00000000000000000000000000000000000000000000000000000000000000003f6a393dbbdb26bea517c4bc5036583c2911353df91a17be5b0c3abd5f606c3cb409053dc2f803bef08566bda9d1223c937fde3cce42d1bda8cd5fbdf403f03b97899a3c06758fbdb58c2ebd14c5923bec6d333c1b9a1fbd3fc4ddbc1481953ad0ae3e3b24381abc210dc6bb706ba3b900000000000000000000000000000000000000000000803f00000000000000006c0610be62caa73f317e91bde00e95ba452901be648e893fe69ead3b6375dbbba6fddfbd1c415e3f3a145e3d03c516bca12dc1bd9535243fb18b973dcb7abebbcf4095bdc181d63ec07c933dcfe4e0ba35dc17bd0b5d573eaf976c3d11056e3bde0b8fbbe0384e3c3f1bdc3c0cb2be3b00000000000000000000000000000000e86f203d1e1fe5bda9004d3bb782c73b7e548c3dce761cbecb85b5bc4b3d613c73b2773de1471cbe242a62bd702e5c3ceeca553decff06be06a289bddec43f3cd0161f3d4e5ac7bdabfa83bdef84823b3e70e63c856887bda23b57bd05ad313be1116f3cc4120fbd8f41fabc7093023a2daea1babd3b1bbc519328bc8f3df2b87f1061bb84852e3c559e123c0267ab3af6db39be7e84a73f6292053d6ac0d6bc2cc35cbe97d19a3f629d743d99afabbcf73b43be3259853f3f49033ebb010abdac5a25be8347523f6f6c243e4e6303bd76a100be35fb163f28c92a3ef3e1a5bcc4c1abbd02cabd3eb8dd133e2b2a5abcb1150cbdd48a263e9240d63d10cf3fbb7dbbeb3c78ab40bbe26c6a3d1206be3bbbc7053d2584ecbd72bb66bb63bf9e3b3917183dcd14a3bddd55d5bbd9cd003c682e6d3d568d01beb30539bd8cbd693c6d8f5e3db74ef6bdd2d998bd53f1303c6c084e3dfeefd8bd8732a9bd2075a73bae29133dc07f9dbd556698bd88d2febac1e7e13c450c51bd469c7bbdbd6700bbc41f813ccbf5cfbc6ef11abd334e59bb12e4823b54bd01bcc82753bcc4b7a2b986e60fbb965cd43bc941c03bc12f773be8463cbe46a08b3ff318803e60b18dbd4c815dbee30b873fd1478c3e049c91bd4ff63fbe5181613f951e9d3e5e9674bd09e227be824e323f1dd29c3ee40147bd4202f6bdd4d1fa3e8b178a3e1dffe5bc87baa5bdaff7983e2c0c623e00d588bcfb901abdf922073e02e6123e1ae53dbb8a588e3c1cda13bc31f4853daa007e3b2e070c3da6b0acbd49c7d1bbedf67a3bbd9bea3cb2f888bdde4b80bc75ede73b1627553d6539c5bd4a8f87bdaaac4a3cafaa553dd99ec4bd0a5cbfbd4824b83ba685373d7d6da1bdba14c9bd865662ba2633173d83f36bbd4bc5b4bdddf3eabbbf45cb3ca1a012bdd77a8abd598313bc308b7a3ce5f798bc81d524bd4752c9bbeb588e3bdff8a6bba70675bc1b8d8c38691791b9f738e33b1773bb3b9db9593b2ae92bbe5394663f39e1f33ecdc8efbd225b4bbec2fc593fb9c9ff3e60dbeabd358736be3007363f9309003fba16b9bd768d16bec4a30b3fe925e93ef4f283bdca8feabd7a52c13e4093c63e4ee319bdb77590bd62f1633ebdba943edd598abc8b7ff6bc4259b23d919f3a3e28fb96ba4eaf5e3c4be851bc499c8e3d736c043ced86c53ce89395bda4345fbc962e463ace5ec33c67e648bded38e6bc2433283cd3fa293d00ff89bdde14b0bd9d91303c9cd5273dfd5083bd1bb4dcbd692e2fbaf42f223d39145cbd5c69e2bd7c5937bca29fdd3cff0821bdbbdab2bde20994bca02abf3c5fd0c1bcc2b694bd3e166bbc3b59503c593d2bbc63cb28bdc55131bc8ebf8f3b8447eebaeb0f8abc9b2595bab1bdf139fa7e843b38337c3b4f83c83be83e13bec1a32f3f59f5323f0f7d1bbed46127be87aa203f9651393f20d917bef4720fbea255023fa9bf2d3fc86dd6bdbf13fabd29fac43eccbc1a3f769c92bdf275b5bd7789873e5aceeb3ee37b9dbcb63f71bd7773123e2f8cb63efae457bceb31cfbc1b53583db7a5533e89686e3b404f323ce89391bc1e5b943dd12d333c3adbbd3cd5306dbd4972d1bc1fb24abae910993c465408bd863034bd98a31b3c11ca013d214414bdb6d9dcbd4d47143cbdd0073df62906bd149904bef2acdebb1a61f63cec51e1bc677afbbd3b478abc034bdd3cd832a0bc6dced5bdae08bcbc69348a3c66551ebc797a9cbd4907a6bc88a3273c53025fbbc1ac48bd6bcb4abc8348633bc01f37bb6aff84bcbb9c84ba56d9d7baaef08c3b0209753bfa25053c2d5cd9bd7a7dec3ee9056a3f653033be6914eebde0f1ca3e45126f3fe2f531beffacd4bd8f829e3e6bab5c3fcf5df7bd9d19aebd49af653ec19f3a3f5b7e8ebd5f0c8bbdf2c1133e662b133fe043edbc40f31bbd9ea3923dbc84cd3efa8c09bb4fcb51bc6d0c923c119a673ec7f3443cde5d2a3c54057fbccb0d893dcbd2703c3594a03c54232dbd21751ebdcdfbb53a173b1c3cc5a304bc03f07bbde51a793c88c0953c036692bb473f06be711ffb3bddd6c63c16a004bc92630fbe8ed571bc6de7c23cc249afbb74cc09bea127ccbc01fca13cb28fa4bbce98d7bdcf4d04bd7b2b5b3cc35453ba974fa5bd15bedabc5c37073c63d46d3aea533bbdb05c90bc5e6f363ba37ed1ba912090bc69727dbbe9e104bbba611e3bdfe97e3bae050f3c34ee79bda03c713ecafa8c3f6e3145be7ec77ebd6bf3303eabf78e3fd8d836be011e7bbd2134073e7d607c3f3f63d1bdf0ed4ebdb2b5a13da186553fa11569bdaba121bd655a403db957203f1bd9b0bba10facbc2e042d3cee5ade3eacd65c3c79f10ebcd2c2ccbb0d106f3e4f97c93c4d0d0e3c7e2c2abc731a603d3b6ccc3c0c776f3c14709fbc234972bd1ca57d3b1a4ea33bc858f03b564ac7bd6895653ced8e923a06e4083d9e501abe5843eb3ba193463c568bbc3c563d23befbb5aebcb397713c418d823ce2d40fbed3131cbde8db503c90bd453cad8bdfbd6c222fbd5383f53b62361d3c69cd9fbd608a0fbda6d14f3b9ead9c3b7fa638bd221cabbc06c0163bf44a85bb3d8f7ebced62ccbbc8a733bb11f116bb451e2e3c60770f3c8bfb85bcb96ac03cbb05a83ffc593dbe9e33cabb02b903bd23cb9e3f513825be0f5c8dbc58121bbde8c88c3f3315a2bd1c0c8dbcccd42fbd4a0e653f6d918abc330a47bc03fa41bd36e12a3fe226dd3cb4ae0bbb43bd2fbdfac4e23e4ae6363daf336a3b8c7bdfbcb855653e040e3b3dc9db5f3ba504ba3b57c80a3da641253db591253c8409cf39abecccbd4d99a53b00000000000000000000000000000000fb370b3c646ae83c5c0d23be7bcd69bc3874353c4b8fdc3c627313be036019bdb4f3683c0dc4903c426503bea1d056bd0652503ca6156a3c5897d1bd9ba057bd6009ec3bde47483c367d91bdd63a37bd9d30233bb8a3e33bedc620bd37dceabcd8060ebbd0bcdc3aad031bbc1c44febb0000000000000000000000000000000000000000000000000000803f00000000986c1c3cd79115be4f7ba83f59aa91bd78d69a3bad8c04beb7e18a3f4b71033bffe569bb09fddebdc20f623fe7a3503d75ddd9ba75c4c7bd1a8f283fece39a3dc4c5783b85589ebd7c24de3e37b1983d6510fa3b77753dbd2f94623e3d9d803d86e41d3cf7eb6fbcc6319e3c52b1093d00000000000000000000000000000000000000000000000000000000000000002429b43ceb4fc9bd12aa3fbdad329d3b9ea4f23cd461bebd5d7375bdf7330f3af524d93c84a4aabd6f8b84bd259f83bb5c04cd3c84a28abdd2cc76bd3376f3bb6f43c03cd54b4ebd36cf50bd172f1bbc6d84a23ceb90f8bc54cd0dbd273400bc6ffb5a3cecbf3abc832c6fbce59608bc00000000000000000000000000000000000000000000803f0000000000000000d060b9bd1b50953f754c9e3c8c0e20bca18bc2bd4666773fdd93823d8449bd3bade7bebddcee463fc504ba3d803e923c95f9bbbd6fac163f44c2c03d13e2c63c43a1afbd5bbed03ebccba73dbfb9c23cc05a8bbd65c06b3e8dc25d3d5fc0a83cb5e439bdadda7d3dbaba8a3c10fe303c00000000000000000000000000000000dbf94b3cafe187bd6c4797bc005d113b7771453d8d06d0bd5ea658bdf78bb23a1de2453d3766d0bd4e8d90bde19296bb1544383d3d31b0bd348e99bd1dc73dbc879b233d608b88bd874b8fbdade281bc70830f3d798c3ebd845766bd37c589bcdb82c53c3ce4c7bc68410fbd03406bbca8190a3c99719abb7da40ebc68e9adbbe884573b5cd0123c323a703bc16fc3bbb89cddbd62f8953fb78bf53d11672cbdc94b22be190b8d3f6597133e5eff00bd5c7f1cbe5e1e6d3facd53d3eb0db2fbc247a12bea4503b3f537a483eaf2ad63bbd2402be7ed7093fbd3e383ea56f993cec44e6bdeebab83ebfc3163e11759e3cfb70a7bdfd8b423e8684c23d0c69923c1b5b09bd7346223db4c70c3d5bcd4f3c3f1162bcb9778bbdcb305abcc6339a3ad694833cf4d74ebdf7368bbc6bbd16bb2c7e213d9012abbdf74059bd493f7bbba332153d96df9dbdc7a98cbda8b258bced18373d99a592bd76049fbd2bfaa7bcd39d123d43dd5fbdbdc888bd3842bcbc38e2103de6b614bd5b656dbd8d05c2bcbddfcd3c20a6afbc80b71ebd2ca5acbc6f52303c310424bba3b049bc3a4a51bc5726033b479c003cbf5fee3b54ebc9bb843af0bdc2bc7d3f3894963eda7a77bd2daa27be1c7f723f2459a23edbf747bd0ace0fbecac9443f7a2da33eb81b2ebc11b619bea240203f83b89c3e0c52893b8f3601beb04fe83e27de833eefcaa83c459ff0bdfe609a3e8356533ebae1c33c03eaa2bd62f5263e8ac8043e169fb13cc2821abda337fa3c16f05c3de807613c2aeef7bb8c645fbd98342dbc48c032ba7994063ce2af27bda23781bc13444dbbc9a6123d3e688abd048464bd14a249bcd090303d6fbf89bdeecb9fbd18e69fbc05822b3d72d766bd525ca2bdba66debc65ed2c3d335234bdd28f9bbd6e5001bd1acf083da77cd9bc13326bbdeb3804bd6052c73c13b43fbc2ea613bdcacddfbcab12423c06980a3976064cbcb78f86bc40b93f3b39490c3c9506a23bc23c01bc39fddfbdb1b5503ff25df33e1b5f96bdc1bf1dbe19e6453ff18cfb3edfb176bd73401ebe766e253fc37cf03e3644a8bcbf6513be3c67003f75fed53e432cc03b342e07be07dbb93ead4fb33e0acee53cf181e0bd486e6e3eecde873e265df53c36daa1bdeb7ce73d2a552c3e68bbd73c531320bdb0ec863cdd3b8f3d59c77d3c822d4fbc83cf4ebd9e5e05bc458b0f399b67143c5dbc13bda40889bc7a44a3bb0416083d4d825dbdc0d773bdff398abc50ae1a3d5fc650bdf8c89ebd50c9d3bcf114323d1a3936bd3161a9bd964117bdea00f63c469910bd035886bd042405bd3cb70b3deab896bc20ed6dbde7c320bd814bb13ca965ecbb974c0dbd31fefabcdd1a2f3c60e23d3b680041bc75a59cbcb8722b3b1f4d063cbe80bf3bef0004bc627fcbbd87fd223f4334273fbc62a8bd6c6f0dbede18173f7da8293f9fe885bd9d7109be4b58f63ed0191a3fe8cb7abc5af90abe70c2bf3e80b5073fc6bb793c7534d4bdd159883ec788cd3ec4d0203d22fdd3bd8a34263e6162a33ee4ef233d618d8fbd828d963d7c0a4a3e7b90063d99bc0fbd243daa36d0e3a73d841c953cc8f82bbc315a3abd37ed38bc5c4b59ba9024293c156bffbcecf5b2bce717cdbbbaa1043d407d25bd041888bd36afb1bcc3b6223d24841dbdb5eaadbd5b6f13bdad46233da5b3fcbc566bacbd49562abdac9e263d6751bfbceb7b99bdf41f42bd754beb3ca8ac27bc174867bd36e926bd78cead3c963318bb50af0abd68fd07bd9899fe3b7d59873b96f331bc3a6b91bc704cb23ab51ad53ba1edf23b7048c4bb23b6afbdde15ea3ec453543f94e8b6bdead3f2bd979fd13ee5c9543f182393bdf33ff6bd8f0ba83e4a01403ffc1286bc3542ecbd9e197b3ef56a213f39e5a83c88f5ddbd4ca72b3e1422003fcea7393de332aebd83bac33d4560b83ebc13423d966172bd35ccfa3c6faf613edc13183dc1e2bebc35e485bc58d2b13ddecc9e3c95eeaebb864830bdfed683bc8a9192ba528c4a3c434cbcbcb0f2f5bc2d6ff3bb65f4f83c1a07d0bcdae89fbd902edbbccc9b0a3db65fcdbc71d2afbdc34119bdaa311f3dd20289bc6503b9bdb8b050bdd3c2033d139959bcedd595bd2e4948bd239cdf3cd44b37bb63ef68bdd6f53ebd93b9923cb242183a9ed70abd6b4412bd3a96a63b0540f63bbaa42ebc8f2f8bbc6e6c51bb1b96d53bb1951d3c700d09bb26cc83bda57b8c3e34a77f3f4161c9bd5fa3b9bdb266693e54e77d3f005d95bd72a0babd593a3b3ef4bb563fde2aa73bcc29c5bd22cefd3d0c03393f23e6163d5f58a7bda100a43d23ca0c3fb8a06c3df4918bbd7b5bec3cabd1cb3ed669713de6443bbdbfa607ba0d98723ed14c3e3d081466bc7e05febc0349af3d838bc13ce176c33b25a61bbd44daf6bcc3da28bb5767603c984784bc98264fbd797319bcf2a0e53c4f0518bc6ca5b6bd65b207bd17780a3dfcf4b8bbf62cd0bd704353bd69590f3d1816edba6760c1bdbe8971bd44f2033d31cdd3ba23339fbd34c269bdc705c23c46f4973bc1dd67bd903f56bddb68513ce0c7073cd8a900bd0c4416bd20e7e8b99211e33bd381e6bbc6ab5cbc330789bb6766c13b31fa263cc0d7fe3960863cbd6b4ccc3d6927963f4e92a4bd1a8b60bd6a1f5c3d86488f3f70066cbd504d8abdd1fa0b3ddf9b773f1b36a13c200690bd0968383c8037493fe37f803df26681bdd5d123bc8752193f44eba53d51243ebdb1f002bdb590d63e64a59c3d1117cebc3aa036bd8464743e63fc6f3d3768563ba40123bd5440913d9829e93ca9263e3c091716bd71e359bd286cadbb00000000000000000000000000000000d0fbea3ce39408bc90dec6bd3a2d11bd21ee053de1105dbbb0aec3bd118549bdc79b073d37015cbbc506b8bd9ab167bd1d47ff3c88bae5ba95ec9abdcbde65bd964bbc3c8437933b8eeb66bd08cc52bd93a53f3c65affc3be53103bd6dd718bd9b411f3b8cf4f43b868403bcd06e9dbc0000000000000000000000000000000000000000000000000000803f000000001c5a1bbd79b574bd3e9d963f0f7b203cc8e637bdb25683bdebb37b3f10a46a3d96444cbdac577fbdbfc64c3f5d47b53d6c3141bdb64183bdaa3a1d3fcaa3c13ddc9911bdc7b688bd842edc3ea037af3d18c881bc11bd7bbd43257e3eac53783d66b5223bfd8c55bd231c943d77abe03c0000000000000000000000000000000000000000000000000000000000000000b9b8573df88d53be41af2f3c394e5c3ceb65fc3ca09f42beb71b9dbc9eccca3c3f1fa83c097233be005023bd7443d13c0e7d363cd2ca12be83c129bd0111c43cecb8e23af2c5c7bd37321fbd4da9963c92b743bbe06254bd5043edbc36061e3cefb9bbbb29093dbc297627bc62171d3b00000000000000000000000000000000000000000000803f0000000000000000993016be2e4fac3f4739fdbde4874f3cdae4cfbd03bd8c3f364210bde60e5ebbdd5bafbd35716b3fa7f217b92fd616bc64d681bdfaee2c3f722f0a3d7b3e26bc4c17d7bc4483d83e8611583da3990dbcf5c3a83bd711523e080b5d3de06097bb2515f93cddfae9bb307b163dd9f4c939000000000000000000000000000000001dc7563d02c804be5c3bce3c27d3a1ba6547583d159f22bede4689bb6180223c904e3c3d56013fbeddf313bd4be8c53c7a02043de6cb2cbee4c25bbd8216ec3ceac6b03c04be07be747884bd5f12d03c183ed83b4357b6bdc80565bdebd6ab3cf37bc93aa16d36bd917627bd51973b3c340680bbc3265ebcae86c2bc92b8a63bd8b49ab9aa89643cfd74653b909033ba3eba51be0e4fac3f777b81bcc3a0d6bb958b2bbe414e953fb1f45f3d05f6abbc6e5528be26e2893f5857933d6c6fe2bcccdbfcbd98a55c3f899ddc3d76c7fbbc749fa1bdf94f1f3f2395003eb19be2bc56080bbd5838c43e0d00003ecff2cbbc2335c03b0ab9263ef3cecf3ddc0f86bc807e033d3924993c9db27e3d3f7b38bc2937443d27c606bed48c233cabe62fba216a173d614497bd04b0923b4f1933ba8b7f533daec20bbe4b171bbd37b0763c6ce4313d1bc11bbe0a1295bdd29ee83c7b8fee3cbcbc03be6f04b6bd39ddeb3cf238953cb37cc6bdb0bcb5bd9c77b43cf5210c3c1ddd79bd8a50a2bd7ac09d3ce29fa33b49c2d8bc6c0a5fbd1b0c193c0b60ed3a5e50b2bb421edcbcdd7dd13b90044e3b79593c3ccc0c8bbb5ccbca3ad52848be68aa8e3fabee533e7f984cbd82c255be994a8b3f3f4a6b3ee41571bd447335be7610733f0929813e3b5980bd861b03be44233d3faae4863eb43a71bd8418abbd9dac043f9271803e869039bd3b4b03bd4ef6993e088c5c3eaf6421bd6099a73b15ede83d3b5c1e3e5d62adbcbe57dd3cf2d0e3bb7f8b933d89f00ebca2f0043d15f4a9bdbf5ca33b1d34a6bb07ba003db2ac5dbdb47599bcc43dad3b6c1b1b3dc8cec1bdfd069fbddb8ba73c9a4d003de111d2bd4d8be8bd351ede3c3b02be3c06ccb4bdb72c01be7c71bf3cf4464b3ce07e86bd78adf4bddcbf993c2fb6bd3bf7b618bdfeadc9bd0e0b533c5827363b137782bcafb084bd255ef63b941e6dba3529333aa6fa02bd6617aa3bb0fa9f3bd87e623ca39171bbc7a11e3b313643be7166733fa04adc3e44a7d5bd15823fbe0dbb613ffbd4ee3ecbd4e5bd58421cbe8f71403f495ef23ee422d9bdcb5fe1bde981123f1f54e63e90ebb2bd3d1b80bd33a6c33e6f9acc3ede2093bde10aaebc85d75b3e87c39c3e122b3dbdee3bbe3b8586b03dfc1c433e69e0b0bcf15ab43ca7be88bbbc039c3d6f70d3bbeb4cc63cd46b8bbdd2cd89bc0c3b2bb92867b83cddef01bd689735bdf1c4313c9770d83c4f7355bd0a0ce7bdc843b53c08afc53c53a179bd3bde17be36e6be3c905b913c22c146bdf27f21be89a0823c742e0e3c4f350abd416508be82f1b63bd0ebbf3bd0d9bebc28c8e2bdafa7dc3bd0706c3ba479f7bb093b8ebd9617483bab5f5e3bc40c8c3b0a9e0cbd9f1aeb3a24de353bff67403c7badeabb567eea3bdd551fbe5c8d363fa8ef2f3f604a21beee5114beef3c253f2583363ff89b21be4805edbd54dc073f4b50323f45500fbe43f196bd4027c53e375e223f3637eabd470621bde604803e471e033f0e0792bd1e7643bcd99b143eea62bf3e98df40bd2bc0833b9847753d4ed8543eee4d60bc00475a3c2570873acb9f8f3d8686dd39f3fd933c1c5233bd4bf609bde8167cba7936313ce22c0bbb751b8bbd22f7763cc478853c0fd45fbc5d3b14be3991d13c274c623c853a9abc2f4d38beffe69b3c6d48213c694893bc5a4135be4d91313c5039de3b772e6cbc67a41dbe773c333b4a13833b9e3930bcfc6af1bd130b4e3a56c50d3b64efcebb475d90bd9323a2bacb35c23ac1f86bb9c2df04bd4888b43add25353991a2263ce319a2bbd387673b4e28d0bdad02e93e34e66d3fac6248bedfb8c4bd6fbacc3ef0ec6f3fc4353fbe5d3e8cbd35cf9e3ecfef633ff21624be2d0328bde1ed5d3e5f23463f0a16e9bd592e8cbc694c0f3e41d51c3f96ae97bd4dffebbb021cb93df4bed23e228301bdd944eb3a11b1543d19215e3e190db0bb00b1ec3b965c8d3c95c7633d4bcd503ca557033c4a8867bcf0cc65bd842a063baacee639fe10b53cc625afbdfe20b93cf95e813bc8378b3cd7dd2bbe1063ce3c7392c13b8a55343cc8a84bbe029e623cd62d8b3be8718d3b792643be1f88823be16ef73a23ce05bb9fa420be881ee4bbc47fb239214d66bb39aaf1bd8cd89bbba2a82c3bf5b15cbb1fe18fbdf46fd7bb7e597eb853cbe5ba8c6de5bc9b3a3abb1804293b9c90b33bf03466bb51d9763b784653bdb3e7693e0bca8c3f3f274bbe4db234bdc3bc303e17da8f3fd30f44be6073d3bcf730eb3d3b7a853fada21abe774c3abc9a32a03d4f8b603fd7ddcfbd12c1dfba28664e3d1a332b3fa6e750bdc50286b992f73e3deed1e03ee6b48ebc3a229f399339123de8865d3e84525e3cda1cf7ba6eb0ed3c83a4223d93bcb33c2443fcba7cbaf93b77058abdb048273c8b8889bbf3ab253d1bd707be9335113d62b88fbbf12b1e3d8a4130be1a35f03c773e7a3b5927db3c74f055beae90483c6819853b9f058e3c904948be6f58d5390699893b91c50c3c01e624beaab958bc12032a3b654074bae946ebbd606c78bc493efa3a3329a8bbb16584bdcd362bbc4d35833910f895bb5f0be1bcce6212bc10d83fbba0fc113b13c4123c6b78a23b19c0c7bb793987bab0c6ab3fc3875dbe6e3ad8bb42bb6e3c0afa963f33ec14be5769af3a0066abbcebd48e3f3fa6e8bdc334063c2f2cc3bce0b36a3fff607cbd18fb423ca5ba90bc9f752f3f09f441bc213d013c5ff0ac3b0c31e23e7044873c8a1ab93a5fd3d03cbb7e563ee600103ddda5dabb1c71103db12d293dd56e1b3da8724cbb9e61f63c5f1dfcbde6778b3c00000000000000000000000000000000503865bbbe974a3d6f0354be9b64b73c03349c3af798e73c872c3cbe8c5eafbbfc96b73ad268973cb6dc31be259acdbc0c7c3ebadaaa0f3c19ee0bbeb21fedbcf72cf4ba642a4d39dedbbbbdd223d9bc645c90ba87f4abbb892c4cbd328bb3bce46929bb1fed91bbda0939bc8b44f7bb0000000000000000000000000000000000000000000000000000803f00000000ca07d13cd8b522be3342ac3f557fe1bdbf0ea73cfec7e6bdafae8b3f97a7debc39deb53c0595c9bdac68693fc7a8933c1162b93cb4d78fbde5b22a3fe84c493df950903c8372ffbc8949d33e51a37e3de306ab3b1183853b91bb4b3ec53e7f3d07198cba105b083db26330bc4186353d0000000000000000000000000000000000000000000000000000000000000000a9b5873d5b5d45be29d19bbc13030c3d3989513d113b1abe467b89bd4973473de5c2173d83e8f1bd57a7c1bd1287273d18cac63cee34a2bd413ebdbdde2dea3cc81f343cbebe32bd052a8cbdec235a3c3b5b2c3b76c5a2bc5aff21bd8b22e53a1c2ef0ba8a6a86bb2ba20bbce8f82bb800000000000000000000000000000000000000000000803f0000000000000000e8f942bef843ae3fad9dcfbdf951ecbae34735be4b818a3f90964a3d5a2b39bdd24529be3d7f5a3f8994193e946b83bd50e404bef44a153f2f61503eb9508bbd92819bbd6083a53ebdda4c3e34025abd12d3abbc074bff3d99c41c3e528be9bcecbeca3cb32f0dbda120813d19cff7bb00000000000000000000000000000000453a623d9b8509be2da5bb3c5708053ce711843dd42616bef5779bbc63cfda3c3d02693dc5de11bed0c5a0bd7d432e3d259b2a3d3524d2bd5665d0bdfb500f3d92dfcb3c756781bdc096c4bd9d948a3c5cb3373ced4916bd105a91bd1573913be805df3af17e85bcf12c1bbdd4a925bb4eafc3bad76406bc0d1198bc66e23c3b84a79bbb5974823bc5055d3c5debfc3bb82756be5a60ad3f0f29eebcde93cabb3f7c56bef4ca933f81faaf3d3b2e1abda3db54be07fc803f1a683f3ebf199abdb5072cbe960f3d3f43908d3e5caab3bd1b83eabd0fa1f03ecb0a9f3ebad9a5bd1bff53bd0cad7a3e4e8e8d3ea70b6fbd6524543b09bb8d3d82403e3efbd9efbc3b0f043df7ec87bc3797b43d9fe020bc18f7653d4874f1bd00f58ebcb118af3b627c303ddb0daebde212643b103f4e3c76f9633db767f1bda70064bddbf2023d0d9d4d3d5ad9d1bdca1dd9bdf6a3153d1898043d61ec88bd1b11f2bd8740ac3c68c49c3ccf201abd3c58cfbdb00ecdba2082ec3b3efda3bc37ef92bdc0631bbc2bea623b390b34bcb94d15bd0f6e33bc065dbd3a5e5f08bcbc213abcdee4eeb9f8ceb7ba76104dbb47d0253c0dcdf83b830e50becf548f3f12df523e6f826cbd252166be52c4843f2903953e686cb5bd22534fbe5f5c553f0f16c83ec82edebd9d1311be7990123f8d6fe43e5d2fe2bd91ceafbd7be3ab3e5996dd3e96eba2bdf2bcbebc1188143e0a52b43efafb53bd2e176d3cc46fc93c4f985b3e3e116cbc38061e3dc5af23bd3fffad3dacbcbc3a3c93433db05995bd7dbbd7bc3ca4fd3bd0ec0b3d9e7d87bdb6cfb7bc8b0baf3ca8ea323d56649ebdbafeb3bd7ef7013d9539063d3c4f65bda7bc03be9629cd3c9706ab3c9d8902bd0a8605beb886f83addfa2b3c006e55bc5734dbbda29092bc47e3833b49ebfebbd4418dbd4a7ad2bc94a0343b3665f4bb40ce12bd8eda8ebc7ca62e3b24c10dbcd4ea2abc7d20a3bbead7cd3a2213cebbd0502b3c53bc183cb4a54cbe9146733ff85ce13e54f9eebdf5d74cbe11ae523f278a073f122e0fbed3c91fbe0ba71c3f9c3b1c3f444417be45e4cbbd60a1c33e7f371e3f9efff0bdc31a24bda83e3a3e3e3d0e3fa47eabbd32031b3bb583763d0139d03ed09611bdbb36df3cea2221bcf5cc6f3eb5d5963a93201d3d978316bd8e949d3dfc8f5f3ca97b243d6c9265bdc1b83dbd42953f3cf360d43c33bc2bbdbd653abdc807de3c0584da3c7a1010bdd51ee6bdad4cdc3ce813aa3c30119abc0e8513be9c18da3b28a13a3c2fc919bb6c0008bec9939ebc9635c03b5c388d3be88bbebd918838bd4f9b473a21380d3b0d5383bd2c251fbd3631063b8a0859bb7aebf6bc0299e5bc937b453bce4212bc6fea0ebc380115bccc6dfe3af1b50ebc0980233cb98b113cf51428be8a24373f5ddd303f968630be39711abe1146133f35aa453fc0c136be0afed9bdc863c43edb03513f8cd722be93f045bddbaa463e2c65443f8f03efbd581daabc4d30943d61e51c3fd4b61bbdcb33af3caee54ebcafe9e53ef35957bc619c003d149fe8bc60a1693ef08fdb3cd814013d000ad3bc3fe77f3d9b9ff43cfc21073d134905bd33586fbd87791b3ceba6703c98db6bbcb72f8fbd6325eb3cfe47323cee01a63a721c09bef024ba3c67d70a3c1358293c24b41abe658235bc0bfcc53b5f9c4e3c51c802be05052dbda849323bbbe8483cc895c6bdc93265bdfab6143bd01b833b17d577bd214752bd9c28f33a238561bba85204bdd2590abdc9808f3b78741fbcda2905bce10c64bc8358493be2fb19bc6cbdee3b4178063c0ce9e4bd62ebec3e15336e3ff8b352be183bb3bd3f19a73ecff67c3f93b74cbed0ad38bdaebc2d3e13847a3f315620be8dc0e8bb354c4a3d014e5b3fe24fadbd3386c43c4bea0abd4de62e3f4e5ec0bca292053d9cf43fbd3a92e53eb408d23ca302073dd948fbbc3327653ea57e463d0e34c93c745532bcd46f4d3ddda1243ddc3aa33c8a49fbbb15e999bd3d664d3cd839ef3ad5fd303ce918a9bd2550073d760309ba9d25d53c143215becb963c3c498db4b89ee4fc3cfeaa19bec66deabc3fee1c3abaa5d33c154801be382268bda7cfbb381ce8a73c764bb7bda61e90bdea972cba3b08d43bd7b85cbd9dfe80bdda09323bd1c891bba03be2bc5a772abdb140a13bce7e39bc422d0cbc260a84bc16ab283b1a4e0cbcb81f313b3987bb3b896460bdc9be663ef9008e3f15eb59be0ce0edbc6981db3d705e933f639740bec2bc073be9e836bbabf58a3f73f2fabdb6aacc3cd3368fbd18736a3fdd3c38bd38d01c3d618bc3bd720a2f3fb91aea3c7b9a2e3d972197bdde0de33e1a317e3df0b2ea3c9defffbc296e533e5309963de3286d3c8046cf3b91ecf33c9d724e3dff03b03b5f239a3c7a069ebdc6b7343c54f1d7bb32350e3de76ffabd166d0f3dc5033fbc0e11343d7c4213bec02ecc3bb4a9b8bbee07333da1b91bbe487222bd433c8fbb7727163dcdacf1bd8dcf92bd054a4fbb72c5b23c8a63a0bd52e7aabd1da2b6b953648a3bb45438bdc8b39bbdc700d53a4702b0bbaab0bebcaa4442bd50858e3ba0a12fbce13415bc1f2eccbc2bd0a33a3e5111bcc8d6973ba283433c8ce670bb45811bbc2736ac3f8e3a61be35eca93c136f64bdfb6c9a3faa910abec9221c3d80170cbe5ad9923fd94391bd75144f3dea081ebe95936b3f65b7a33c92e9583d582b0cbe1de92a3fed15b73ddea6343d86fcaabd36e3d23ead04e33d427dd03c020da8bc027a373e5d57ca3d1774203bad99c03c2505d53c46448c3d8f51c2bb2ea7313d2354edbd1475e13b0000000000000000000000000000000007a654bce3597d3d254630be8ed04dbc480b29bcb807493da5daf9bd02af8ebd7e9d9ebb04bc023d3065bbbd6011cdbd4d1370bb0712a83c7a2962bd4f8bd7bdf70cadbaa82dac3b48e7e7bc05c7aebd5ee1c33afa9fb0bbdc9257bcfc3160bdef2f433b550326bc04fd35bb62fc86bc0000000000000000000000000000000000000000000000000000803f000000003a7c633dc16b6cbe7958af3f9654b9bd2d99803d3cf363bedce48c3f621d1a3d2f9d823d8b1e4fbe4c735f3fbb06fc3d3add743d23ce26be00571b3f1ff52b3ec6db353da3e9c2bd680bb33ee0402e3e6089b23cda6abcbc383c173e1f48083ef09d7b3aa41efb3c829ad5bc727c823d00000000000000000000000000000000000000000000000000000000000000000f6b803dd52eedbd3cf2d4bda5d74a3d2449473d544e61bddd2618be067a213d3134063d5b1ea7bccbc018beafd86b3ca0a7913ce9802e3c203ff1bd46875fbc0dd7243b57d0cc3cbe2f91bd8beb11bd726383bbd62a863c25bcc7bc894213bdb28bcebb6f6ede3bdff52d3cbc57bbbc00000000000000000000000000000000000000000000803f0000000000000000bbdb5dbe10a5ae3f7abfd8bc86172cbde70159befd4b863f28d52e3e493496bddbf840be2d5b413f28879c3e4dd1a6bd3cc01cbe2984ee3ec289b33e029b74bd55f1cbbd9547653ec932a03e27dde0bc227712bd0646543d4a14563e553c493bd3e8353ce53381bdb215843d2892d03c0000000000000000000000000000000001c53b3dbd34cbbd64a419bd1b61223d55965e3d66f38fbdcbe8cebd3ce12d3d5873243dad9cc1bc231322be7934ec3c01b7b33c32b8483c45e213bee0abc0bb61a77b3ba804063d8cefd1bdbe4d1ebdaafba6bb4935f63c25d949bd621a67bd4414b9bbf20e513c592b22bca9613cbd3506e9b9ea012bbc2a7d623b56183ebc18da9abbf9d116bcdb0ed93c7b620d391ee953bea9dcae3fdabfdc3a138c24bd0d1685be03179b3f43d3f63de4d75abd57e976bef1b36f3f6563ab3e90cad2bde07644be079f1b3f67d3e83e845ccbbd6de203be689aa33ea08df03e7c4c82bd5f9a82bdc748d73deca1c83eb7c5cdbcfc088bbb0abda8bc263b743e02fc2f3ccddc083d56763bbd3c3e913dea6cd03cd594453da0fcb9bd53a88abd5569013df25f0b3d69cb58bd670b4bbdcd3a233d4711283d13871ebdf162f8bd6f6e1b3da450f33cd61290ba40971bbe4b13153c54714e3c7f6bd53c033c00be5265fdbcfcffcd3a68ac093d0e66a2bddb8577bd993388bbe9f7bc3c1836f1bcf54892bdda507ebb6db7d13b3331853b245762bd3c902cbaa9381dbce4773a3c7c1d98bcf04d66b9605b94bc32b8b23c276ed83b0e2452be3659903fd623753e1b61b6bdb5367cbee591813ff8f4bc3e68b7debd4dff5abe96983b3f0281063f75c6f3bdb3ae1fbe3ba8dc3ea852173fd9e0bbbddaa4c9bda0954b3e81ca083f5a0313bd16ac0abdf8b6cf3cd234d73ea7968c3bfe1b753bd5b11cbd70d0613e8f0d2f3dae7eff3c6fa234bd44fd323da1c3363d6ab92b3d58b719bdb6b3adbdb0b9fc3cc503df3cd03d13bd449193bd185b313dbd91fa3c53790fbc345908beb3cfdf3c728e843cc823cb3cab5711be88c95fbc0542803b2488173dcc24d4bd62036abdc1b4c3bbf91e173d22e34dbd31deaebd3256b7bbf5f9913c65a526bc9459b0bd890087bbbab3023a63af633c52bd7abd8a2ae0b5875268bcea05983cd697abbc25abf4ba68d285bc729abd3c2050a23bdec843be365b6e3f7832fb3ed1b714bedb635dbee55c473f65db1d3f314120be3e7c30be51c4013f9367393f996508befbafe5bdb517803ef146373f2bc39dbde83e62bdf3a15a3d6e5c1d3fdbac3fbc1a7bfabb44a524bdc17adc3e39d11b3d7db4ba3c5e9d80bda230573e24e9893d0418063d8add0abd5206853ca7e0803dc45b193d0c57c7bc6e9cd3bd9f1c163d5a81b53cf67f9dbcc335a8bdcee7253d26238f3cb4bb883c479a08beef46483cb97eda3bd7091f3d6fc3fdbd184f20bd69e584bb3a1d2d3d5e1b99bd61b5aebd09b927bb26c5fa3c64ac0cbdc237c4bd7f21f3bb47f5683ca281253c2ed9c9bde6724fbbdc3c7fbb8aa6c13c960787bdd93838b9111777bc98eaa63c0e12c7bc8f9403ba65698abc296a973c834fdd3bbd3928be17e7333f54af3b3f83d441be6d9029be13e8053f7f6b593fae3938bedc7af8bd5ab0923ebf4d633fccf5f9bdc39186bd3b58a43d117a503f599b3cbdd25b31bd8e8381394159183fc6e74b3deeae6a3cb694c6bd86fcd83ebba1a13d1f8fe13c01fe8ebde722363ef75dcc3dc550fe3c0201afbca7f8cdbbc8219a3d9069fd3cd3061aba7784edbdabd70a3d63a0633c34a3d9b98d21b7bd7bdd093dbfdac93be911023dfafe00be2c6ac1bb42aaefba7df2363d1579cdbdaf6183bd4931b4bb30c2133d717451bd2eedd1bdd7fe07bc04b9cf3cffb195bb11d3f5bd9a47a7bb378eb73b5c2ca73cfa8cd5bdcaf940bb27ccf7bbc9b1db3c51078abd8ea33dbaaed759bc1389923c274dc6bc97877e39025484bc5824663c12be083c7290f9bdb8ccea3ef34c763f244d5abefc0ecfbd36268a3e960b873f9b8644beaf377fbdb8d6a23d0cc3823f738ad5bd0b20abbc173d55bdaee95c3f27808fbb8eaa3f3c9a3003be3ff5253fd03ba03dc247f23cfe55f2bda3c5c93e186cf63d9dd00e3d6c7089bd7e78193e0945f93d1e44d33c885e81bb4b1dccbc835eac3d5956ac3ccd65963cd86af6bdcc70d63c22d38a3bfeba723cf004b8bd8134e93c55473abb12e0333da3f9ecbd9ea5d5bcc0e499bb86dc3a3daf2aa3bd08d4b0bdebdef3bbff24073d0e7be9bc8fdafbbd2796d7bb89a5993c886cc43b1461ffbdac5abfbbf077bf3a4e55fa3cdf23ddbd4d06fabaa7d62abc21b1f43cada48abd87d3063a9f894fbca47e853cb8fac5bc5a12c33a17aa47bc9c45a33b2255343c140d85bd63915e3e162b933f69f461be7f9615bd07e1153d12a69b3fb7e231be368eacbca36994bdcc848b3f390a55bd69357d3cebde24be9158633fffc8473dac51e63c29ef27be740a1d3f0d78093eb8d2303d3b970bbec845b73e664f233e88580c3d1fa67abd7f4efb3d3f2e123ecab7823c05ea163c2e6217bd0112b03d4111063c2958183d1a08eabdcbc59d3c74860f3b010ed83c7ce2ddbd86be753c38bf41bc04b7483d5985c6bdd6c234bd92d627bccadf313d3b455fbdcd76e0bd6a251dbce215dc3cbc7bb3bb403a0ebe95130bbce0a12d3cda61e33c39b80cbe7b526cbb9eb409bcb8e11e3d7e9de0bdebb9343ae04f80bcf4d9ff3c3e3687bde90be539e75108bc3fa6073cabc1bdbcae228eb90fb411bc2efeda3a7f44723cf6d7b2bc07c332bcd08caf3f470855be6c48ea3c102125be567da73f3e960cbeb40c0e3d4d1f69be3062923f06608a3be6b73e3d660872beceb65c3fe1c6013ed2cd653deb0a54bea317113f9a654b3ee86b543dabff05be81e0973e9c2f563e6167f93c970820bd97e39d3d1eb62a3eb53e703b758b033defb63fbde551b63d0473163adf31553d477f07bec776323b000000000000000000000000000000008272c6bbb62b473db463c5bdc35c90bd15f353bc42243c3d0b440bbd8261fbbd06383abc9667ef3c8d2b423bf1ab13be79d617bcf330453c3b5b013db57e0dbe1ac4bdbb309a94bb92542c3d7e60debde14ad3b72a4963bc8494e33c1a8e7fbdd3bee339e00246bc278b383c3d7164bc0000000000000000000000000000000000000000000000000000803f0000000009370c3d6bff88bec3afaf3f044029bdc31a4b3d040594bec8808a3f2d22ce3d10145f3d87cb88bef5154d3fcdcb503e7b79783d0e9c63be4b7d043fcfb87c3e10ed5b3d81ef11be3294873eea946d3e1a4d063def7135bd86868c3d8fca2f3e75f8223cb701e03cf78d92bd96729d3d0000000000000000000000000000000000000000000000000000000000000000912bfebc77e294bd5f3321bbd373003b932becbc129c8cbd3fb55bbb34d98f3b9996d4bc28846dbd2aa1acbb15e4963b313ba8bc36e44cbd292aebbbbebd803b02e769bc4cb329bd3aa00cbc1d28023bc245dcbb430902bdac0820bc6c9370ba8860863adfa3a6bc73d71dbc0e6778bb00000000000000000000000000000000000000000000803f0000000000000000da5fc4bc489b8c3f798456bcd235afbb68726cbc285f6a3f7b962439e2e417bbd90b45bc67d73d3ffa28bc3b688a6139cac469bce0d0123fe55be63bf7e5f1bac9b69ebcac47d33e3ef2c23bdb2b48bb8e39d7bc62d6823e72b4fe3a508db2bbc77013bd1b0dd13ddab188bb89b903bc000000000000000000000000000000001c2ecebc5cd647bd911817b87ae7ebba8a2c01bd08c7aebdb79991bbb375f93ac7b300bdb74caebd133b03bc4c7dce3bc176e5bc45ef9cbd820927bcfafbd83b91ffabbc53a17bbdca493dbce09bae3bc29062bc28c056bd4b9059bcc389463b8e83a0bbe20f22bd21656abcb859003abbf8d33b5315acbc2dfb25bc620904bb21ce0a3c885cc5bb5de5c2bbb37e8ebb357750bdc73e8c3f8819e33d8097b0bcc69271bdc403853fd7abdc3daf469abc760523bd23c25f3f95d4d63d99b44ebcc5e708bde3c9343f12fac03d8d0e1abcb9eefdbc5e49093f75e29e3d28d7fabb13e015bd6cc2c43e695a713dd82b1abcb5bc29bdd2256f3e92da193dad7331bc73f53ebde9e2b43da00c5f3c291944bcb1631cbdb2c8e9bc3e02b7bb4adf39bc9bb4b2bcc90b10bd47fbc33a7d02bab9b6b8ddbcb32d8abddd8cd0bba206d23b5a77babc7e7b84bd78c234bcc866f93b16ceb5bc43178cbdec676ebcb522143c103f88bcefd454bdda8f61bc8f2be13b1f5523bc98cf45bd76f887bcdb02973b870e37bb1e3903bd5d825fbc3c9df23aeac1b03b95aea1bc93432dbca5f1f9ba8b52e73b9a31b0bb56d9c2bb876bb1ba91b15ebdaa066b3f493d863e14c4f3bc92c784bdc511613f0da5803e258d01bd09a638bdc7e9383f1fd7673e846d9ebcd7fa35bdd7681c3f7801463e96a081bcdf6e16bd1f06eb3ec5631c3eb8be36bc1bc82cbd57ebaa3ebdf8ee3dd3b151bc4bb924bd6b21523ef72b9a3d6eba39bc8e2b3bbdc120a73d8a63133d8c7665bc545604bd5600a4bcba3d3338ef871ebc1e718fbc254fe9bcf2beba39dd83843b2862bdbc866169bdc8ac1bbc4801373ce91aa5bc0f9585bdfa5b8fbcdb6b5c3ce07b8bbcab3977bd9e9da4bcd6164e3c175556bc423a54bd3389a3bcdc70283ce29df6bb014b30bd60c89dbc86e9f43b8224e7bafe2801bd73fc87bc7d96783b7621733b0e1d94bc349d39bc78b0ae3aea5a923b342692bbc42f9bbbe0afe0b964f444bddfe03e3f4823d73e506f0fbdc3757cbdd652363fe33ece3e25a21dbdc5b855bdb14d1d3fd12ab63e21b9dabc59d138bdb235003fcdf1983ea72999bccb6029bd7bf5c43e5a45733e8b9063bc6fb62bbda7ec8c3e4332353e8fad50bc207d2cbd50322c3e6eddeb3da1094bbc9c7326bda3488a3d6389643dfa4340bc3e63e5bc1b0576bc87c2da3ae10e0abca00871bc2e02e3bc087cb9ba12ea313c15c094bc0ed94fbd9bef6bbc975a733c798b7bbc1f765abdc44ec3bc9662853c349065bc31d061bd6293e4bcc7ed943c096506bc7bf513bde2249cbc7ed2263cb5a8b3bbcbf41bbdf09fb4bcba4b283c8eba2cbacd03cdbc5da498bc07d3713b3c56473b33e879bc3d393bbc474c4e3b30d6523b9ab164bb137087bb14fb8c3aeb703bbd9976143f1d5a153f66b01ebdf01759bd7bee0b3f3a5f0e3f3f982abd9a672dbd797fef3e6495f63e0d46d1bcca402ebd315cc63ec13cd03e65a2a8bc2447eebc5273933ee1919b3e390d1cbc88a61dbd5a8d5b3eb912733e9a7426bc7f550cbd20e2033ec434193eabe610bc0e6a05bd4c364c3dbcf7933de9800ebc52b9aebc21027fbc4453113a6295cabb4b5825bce00de6bcc7aaf0bbaf97533c70aa34bc2cd047bda80ddbbc5ac9a53c201026bc18fe5ebdb21f16bd1233af3ca8cc02bc82df4ebdff7c17bdd63c993cfd3dcfbb95c72ebd79c105bdff37713c2e604dbb69a80dbd98deecbc5926213c7a40feb5f596ccbc4ce1aebcd5a8af3bc9e15f3b62fe51bcca8b58bca3cd5a3b886b933b61129bbb7c0b56bbf9a52f3adf521dbd9e53d63eeef83f3f451c2ebd40c042bd7236c93e40b7383fbfaa41bd228a28bd8c6cae3e9d7e203f0c4bf0bc06d314bdeb4b8f3e774b043f43f599bcc50006bd0abb5c3e9c22ce3e718c33bcb10201bd009e1b3ed5d9963e7fb215bc4481f7bcc174b43dc34a403e1258dbbb13b6d8bc9488ea3cb63bb43d95caf2bb449c85bc1fac97bc7eca5e3a06d88cbb3c9ce4bb745bf5bc48078bbc604c943c7f098bbbc44347bd6fac30bd51a1ad3cd8ba78bb36d23abd06db38bd1892a13cdbd690bb2c8243bd41374cbd59c0973cca5c52bba1ef11bdff461dbd6a12563c12098abae95dfebcd41414bdb4a8193cde7e9639a4ef9dbc8693ccbc7f2ea33b9663573b2cb718bc71047cbc23be2d3b2a155c3baed171b9d1628fbb28eaea3aff02f7bc1fe1843ecaf26b3fb61743bd2b891dbd5014783e6860633fccab45bdf12af2bc3002593ed8a13b3fb851babc70d6e9bccafb313e0f76203fb4a062bceda7bfbc87ac063e9afef13ea9e2a3bbb3c5c8bc5469b83d53ffb23e766a8bbbaf81a7bc21514e3d0529613e8abb89bb1fb297bc357bcb3be269c73d3aaebdbb807e33bc38ffbcbca51291bbe3421dbb8ce70b3b73080fbdeb7913bd3e658f3c0b07823b437a3cbd142190bd82d89a3c1fbccd3a1af73ebd8b3b96bdae1b893cf54aeeb84ac82bbd253885bd47077f3cec23e0b995e806bd52fc56bdf2d6243c21e9853a8c47d3bc8d223abded7dac3b5077f63a9b8282bcae770bbd6fb0a03a226c913b485397bb1adb9bbccb0211ba27d1113b4c52123b5ebb8bbb6dd4dcb9adf8b5bc8801dd3d2bda8c3f437631bd4d0abfbc10d1c63d6485853f19fc23bd1356a3bc28f6b73ddd3f623fb4cd4dbca63e96bc1dcd973d173f373fffee56babf7285bccd8a613d34be0b3f1eb6973b50c778bc37b9033d12d1c93e3ce08f3b9a3f55bc1db5043c7445783e345a843a132f17bc03df7cbce7b0c83d268b57bb1bddb1bb6695e5bce23fa5bc45c390bb00000000000000000000000000000000c7b0803bc2811abdabb68cbdf9b17c3c3b28123b07f707bd36e683bd77153f3c0f1292b8271beebcdd6464bd78a70a3c4b77773a7a98c1bc8bcf3fbd77e9833bff9cd03959ca8bbcf4e91fbd27468cb9742fac3adc5321bc2912f8bcc46557bbd919d13a439f17bb96b99ebc65e99fbb0000000000000000000000000000000000000000000000000000803f00000000e3570ebcb595b2bc4a338d3f5bd6dabbaa4bfdbb42ba4abcf2a16b3f439fdd3bd867fabb43311abc901f3f3f1e5c563ccfdff9bb51582dbcb159143f38bd5e3c2d7ce7bbe8d16cbca0dad43ef9ec313cda14afbb01d2a1bc315a843e9f67cc3bcc9f4bbbac18e4bc86c7d53d00b8a2b90000000000000000000000000000000000000000000000000000000000000000870e74bdce3b0abd7a40203c805c113cc5c15abde37d15bd0ceae53b536b1c3ce3c943bdf1a714bdd129ad3b55ea0a3c29441dbd13f606bd91ee3b3b7c24f03bb090fdbc8bdb04bd01b3d3ba8e54b23b4603a5bca1ace8bc9d108ebbab27f43a98f819bcc220c1bc3af7f5bb0dc12abb00000000000000000000000000000000000000000000803f0000000000000000ad52df3bb6dc7e3f5b1a0f3c243aa0bb4132623b6593573f6c67863c013bde392c714bbae611323f9036a73ce7fecd3ae1facabb80f40b3fcbe1983c18d63e3b116e6dbc2d18cf3efae08f3c6e32123aba35b4bce2c0853e2110573c75c292394e8cfdbc8dabf33d2f07e83b1edae0ba00000000000000000000000000000000880f50bda3edb0bc56db223c86b9913b301689bdb6e128bd9ad3173c0816133cf14a84bdcab642bdd5f9d93b0031433c01cc6ebd424446bd0697613bec04443c98223bbd75ea32bddef9213ab566273c905514bddd2c2bbd23939dbbcaa8ce3b9107b7bc3ab912bd99c7ffbb63d80f3bd629debb276fdbbc2a7922bc8aae3dbb18fda63a002271bc2f8709bcac3098bbc23a6dbb56227d3fe731063ec81f60bc464fc1bb1f65683fce78033ec85229bc044dcebb4d6f463ff9a3f83dc0074bbbcc332fbca956233f05ebde3d08d8b139e8778bbc5789fe3ec2a5b93d3a583c3bdde3cfbce9a7bb3e54c8933d68ca733b983a05bd9dde6d3ebe894c3dd1163cb9593921bd7a6bd13dfe13d53cf1e276bb28d103bd782870bc9656803b5ca174bb12dc30bdaecda5bc2949263c47d6d23b9ca674bd86a11ebd33ce153c5f4a3e3cbca84fbdde0d26bd2d65563bae6e4e3c60a656bdcbdd44bd1456283ae1fe613cc87020bd432f26bd852017bb868f333c365b03bdfb4628bd037fe6bbb4eaf63b6d2b91bcc9a6f4bcfbf5ffbbfc12563b79bde8bb0924ddbce4f22fbc39a84bba8349e03a627c51bc86dcfbbb82d621bbf61547bc0423573fefda893e3ffb78bcc62483bc18b9463f54a4823eba0b4ebca69f62bc0c1f263f7194673e339b4bbbd92a9fbc2b920c3f98c94b3ecc758c3a6bc8b4bcc25cd93e5ea7233e34e0423bd602f5bcf487a03e0253013e4b3f753bc55eedbcfc054b3efb2cac3d05634a3bb3021bbd5246b13d88e73d3d2a025d399cdff4bcd2e34ebc7669e13b7840bbb9b4f411bd65e4b2bc0cec2f3cfd58193cf7e458bd17171ebd44e1063c2d987a3cc2914dbd347f39bdd9e0fe3a56e1873c47ac37bdaa3d3ebda0104bbbf98d7c3c6a0914bd7c6a2dbd2cb2d5bb5926483c09f8dfbcfa1422bd6a7322bc2551143ceb207fbc727209bd00a340bcc6aa9a3bac73a2bb6694c5bc91c53dbca6fe6b3afaa3983a84bf47bccce2f0bb0c2537ba02ef89bc9a65313fa4c8d13ed7e864bccf00b4bc5ed4233ff84bc53e23ef2fbc3c73b3bcf1840c3fd15cae3e6a8cb6ba6bbac4bc10fae73e3a9a943eebf08b3b51b5d6bc10d5b43e9c01703ef98cf23ba93900bdedc9833ee1ac383e6827f73b2dee0cbd7a15253ea145fb3d24b5e23b7b3f0fbd32af8a3d5fa7853d0f28943b6f18c7bc26d254bca8c7e73b81063f3b128c02bd7834c9bc4263373c20df623ce3ce2cbd207221bdf7bca13b1dc0923c8cca1ebd3a6a2abdc43d14bbdd938d3c02d419bd58cf3abd8468f6bb126a8a3cd6b7c8bc777504bdcbdf02bcf54e2c3cd642b6bc4ab31abde08656bc7882223c23534abc1eebe8bcecc34ebc07b8a93b09da3dbbfa94b1bc76464bbc9b4d053bceb26b3b203338bc76a01ebc84e211bb08ac92bc0bc70c3fd9c80d3f6ec461bcb251cabcd595003f7cc0033f1e35dabb7570b7bca7f5da3ee56be43e707e563b1aa1d6bcb771b63e45cdc33ea13d113cb495abbcd0f28a3e4c96963e4ff41f3c6794f9bcb9f74c3e94256f3e826f493ce859eebc7db7fb3da2691e3ecbcb293cfc8ffdbc4a0f443d37a3a83db86d103c0123b0bcf33f7fbc82612f3c225eae3b6cb7c4bc08facfbccc38f13b4240733cd7d00abda80b2ebd2fc29ab854f6ac3ce3a00abd516d40bd8b1f00bc6505ad3cdcd0f2bc8e4e39bdd6125bbc7a91933cdab6c9bcda2921bd57ac7cbc342c623cf02186bc4c9112bda60c90bcdd3e1c3ccbe809bc8cf2e7bcaf828cbcf664a83b706b51ba88049dbc397371bcd405053b5bdf7c3b407717bc0c0b0dbcac6768395a0d9dbc45a4cf3e3122323fa2a60ebc15ebdbbcc8f8bd3e2288263fb96d0cbbf8d5ddbc880fa33ecf10113f724d163cffb0ddbc6ac9853e9462f33e23676c3c29d2dabc37994e3e9073c13e69d9883cf72deebc7c37123e9e13923efe98873c53f2efbc8c25ab3d86fc423e821d733c5cace2bc65d9d53c7bb1c73d3296473cb5f494bc780e99bc0a1c023c2160063c9ece94bc2a16f5bc3bf76d3b6276903c8690c5bca9e93ebd49d9f5bb1136c03c18f6b0bc052d28bd16e577bc4bd3913cd303b0bc2b7232bd7438afbc75f78f3c986092bcc6eb0fbd845ca6bc5374573c63f033bc10600abd8201bfbcc6f8093c7a8e7cbb8fdfbdbc1aad9abc96556e3baae7743b84b685bc26f58ebce0f6223a1cb4d13bdcb6dbbbdb6319bc718c1cbabc65acbc5bd9873ec107583f3a9e86bb4305dbbcc8af753e483d493fe0f6be3baa93b0bc2e27513e0e8d283f9aa26e3c0f4ddbbc16c22a3eb3df103fb3dcb33c5d25c2bce4b5003e0948e23e3d47b43cfd53ddbc879cae3d06b4ab3e151db73c40ffbdbceb6b423d9db25f3ead1c893c0ddec1bcafbd833b9f19e03d25526d3cc1a378bcc9cdbcbceaab853b1c53123c5b0844bc68a808bddcc09dbbb75d9e3caea86ebc30293cbd9c3ea6bc62cdb63c36357bbc9edc39bdc7e5e2bc8d589a3c1aaf81bc54452dbdd423fdbc78536c3c1f553dbca1750bbd84b4e8bc77671f3cd7eaa7bbed7eedbc5ea7f9bc4652933b4b7a1d392420b0bcd679dabc2790133ab426f63bfc9637bc36eeaabcd14a23bba4b50e3c1cb584bbc8573fbc38bf3abb0ec895bc6393003e60a77d3f35fcc03bb27bc3bced13e43d76016a3f0083943c7ecababc4014c33d387b483f0048e73c02c2bcbc28d89a3d9b2a263f3fd9043df418b1bc2b565f3d9a18023f60dce53cb862b2bc940bf33c3223c23eb7d4e33c7d89aebcf56ed53bdd417c3e85a8b63cf41794bc8ca289bcdcc5ee3df04c7a3cdc4b4abc7bcae8bc905f56bb0658193c000000000000000000000000000000000dcb24bc42b818bd6b42cdbca5b5983cb1192ebcc45f0abd0990e4bc2be34f3cc72122bcb0ecf6bca341e7bc04610f3cf89bfabb1571cebc914edabc8bcb9a3b0c936dbb6f88aabc1f03dabc0c58b63979c65e3a042057bcaedabcbcbb9dfbba7c1edf3b3caafebba58fa6bc5bdcbabb0000000000000000000000000000000000000000000000000000803f000000002f0e76bc47e2cabbd6487f3fc9d8e03c5c4370bcfb8292bbaeb5583fa72cfb3ce8d172bcd0eac7bb5c6e333f0463fd3cfb5173bcef0021bc69150d3f3910e13ce3907abc35457ebc05c0d13e88e6cf3cbada72bc3b0db5bcd301883e2fcb9f3cdd6e59bc2b90edbc49f1fb3dda60703c000000000000000000000000000000000000000000000000000000000000000021a775bc234684bb5e485d3bb202653bf5cf6cbcba1bcbbb29e2823b12c3a03b4b7b58bcdfffbfbbd74b1d3b1dd1843b237c46bcafe4d3bbf15e833aaf62403bf66b2ebcb20acdbb9580ea39015b213b1fef19bc9ae0b8bb2173913a6056be3a3150febb47a7bebb62e96eba27ba9a3a00000000000000000000000000000000000000000000803f000000000000000061b1293b88dd633fb3b5c13beb03e43a67114d3a92b6433fe352d33bf09c143b3ccc273afad8223f37f2f93b49a2663b85f8a0ba14ed013f6e6fde3ba00c613b186414bb03b1c23e25e7cd3bea2b5c3bec5622bb4380813e708bb93b56bc4c3b2b5a9abb5823013e69cf9c3bbcf9413b000000000000000000000000000000006ddd4ebce34c5ebba313423b5aa32c3b2d3f8fbcf734c8bb9360643b61bb853b6a2198bc5dd10fbc4ca5543bde10953b81798ebc088f0abc39f10a3b1b8f8a3bddbe64bc5041f6bba264913aff59613be37865bcdece0cbcb601a0393768523b971f3dbc58b1ffbbc8b2f0b992fe193b3fe41abc79cdefbb6d77a5baa209bd3acb0fafbbe62896bb544996ba6e31563a9baabb3a71aa633fa224053e6d2b333a4f5dc03a00a6483f2566f13de574143b8ea6693a8d0b2c3f01d8d33d2c69733b3ce475ba0b440f3ffe7cb43df46c903b691503bb2b6de43ebc88913dd1e6893bc5ed70bbc58cab3e094e6c3d058fd63b02289ebb9310643e6c4f1e3d12508c3bfdc9c9bb09dde23d43a0b23c9af9803b57e8a0bbfbe88bb881d9803baadb453b07d942bc066959bb82d2683b3e1b6b3b402d8dbcff17dbbb5376573b28028b3b26eb72bcbf38dcbbd414163b098f833b6a838cbc81df0ebc53dfe73a170d8c3bee8b5cbc79eaf6bb1cb0653aa1c3603b1ef267bce26713bc629a44b8990a503b863e3ebc0d3ce1bb96f017ba85df013bf27216bcd3ebf2bb061dacba47a7db3a0eca9ebba18a93bb57a7bdbaf17cde397a7a113a5f3d433fe5c6833e6d50b3b959ba9fb9ef0e2c3fbf416a3e0014283bb0f962ba941f133fb5d4493ef92a643b708400bb0704f63ecc702b3ee07e943bc6b92bbb4ae3c33efe61093eee55933b4a5495bb1022933edaf7d33d77bda83bb95698bb085c443e864d8f3d9d46823b22e1cebb4038c23d411a1c3d35299b3b612ca4bbcef040bae2036d3bb3e4343b3e463abc36e78bbb1e792f3b25e4363bd67186bc27daebbb3c2e4d3b4def943b1e3e94bc032e02bc135d203b5c0fa83bf7ae8ebce49329bc9d5af93a5f70a23b129462bc532a0bbc2d6fb53954b76c3b8f5d61bc867315bcbd5f41b95e2b763b501d36bc0c3408bc26c996ba738b193b83380fbc8f0305bcb0c9f4ba3c29e23a55b2b4bb4974bebb9fe872bae7c28c3adba150ba6177223f47b2c43ef7c1493a69eebdbad76d0f3f9e10ae3e1606473b7870ebba7448f63e70ab963ee127ab3bec3990bbb665cd3e205d7d3ef298ba3be27074bb906ba33eeced4a3e7b23af3b4ca9a2bbf057753ee75c1b3efa36dc3b509bc2bb7357223e0359d13d908dad3b399aeabbc146a13dc2ff5d3dc349ad3b534c8fbbef1833ba2fec893b30a46c3b14082cbcdbdd95bbafc4303b76d15a3b64fe6dbc554fefbb9e662f3b9851963b1dca73bc2cc00dbc3047513a94c57a3b6c097dbc752220bca22da6b94e18ac3bdf182fbc9475eabba763ceb93f3d2c3b2eeb56bcd77622bcacb974b9da09813bfc0d1bbc0a6302bc73aef4ba3699d43a0414f5bb843ce7bbe8c5fdbab2d7b43abc206fbbc1b08dbb49dbd5ba3ed1223a8a18a6ba6513023fe85b023fa444c23a585c10bb4e66e53e3ae7e63e7456693bd23a60bb0437c53edc5ec73eb8f18c3b913d94bbfb6ca43ecf39a73e1f81dd3bcbdd72bb5700823e9a90843ebb81d53b4172d4bb7874423e24b24b3e3842ee3bba5ec8bbc5a2003e8ed0093e6806e53b86f5d3bb8b4a7c3ddd518d3d1103aa3b8e529fbb7556ebbab40f6f3bd772633b7fe632bcb61fd4bb54d73d3baefa813b75c96dbcd76f0cbc6696f13a4e05a03b567764bccf5210bc62fe733a2306993b5c6a72bc8d3f29bc69e888baee0da53bbb3343bcaf230cbc1eae60ba58b8583b0f8943bc1ae817bc8168dabaa229513b2cdb1abcf9c010bc2df347bbb8bc383b67d9d8bb2377e6bbb8ea17bb7e5ba63a68cd65bb6d2f93bb300202bbdb2f7e39736eadba045ec33efbe1223ff5bc213bd4d855bbba58ac3e0147103f1aa9af3bf8bb5cbbddb7933e43dbf73e0929c53b8dd3a8bb4409753e2ad4cf3e9150ef3b423c95bbefc7433e6a02a63ecddbd43bd6d7c0bb1675123eadd57b3eb905f93b12f0e8bbf8dabd3d9190293e225de73bf43dd5bb562a383db122ad3de405be3b8aeda0bb421522bb1990a53b4d71633b2db00cbc8023aebbf1580a3b8092723bcb0165bc51761fbc6b56e83aac0db23ba3723dbcf75104bcdaaf15b9d6df773b00e747bc5f6c09bca30fa7badc84793bea1c2abc61e803bcc978c5bacabf363b87d217bc9bc8fabb42853abb52760e3b8f30edbb7a70e9bb310225bb6f3fb03a7ea3b2bb9baadabb7c1438bba1b3633aed1fe8ba078351bba2974abb443516ba0ce9f9ba364e823ea630433f4ae5383bddb38cbb27dc663ee39d2c3fee19c33b91fd5dbb2372443eece0133ffec9c03bd567a3bb10fa233e9bbaf73e5ec3f93b98f793bb2310023e92a1c53e3a22dc3b8050d4bbdd93c03de969953ea7a4f63bfef8b2bb71317b3d4827473ee638c43bb7eecfbb476ee73c0ebccb3d83d9c23b9be1b2bbef9891bbe50cd23a35079b3b253820bc1733f5bb8e7f1db88c05903b891740bcff9e10bcd1c8e7394304a03b958539bcf31b12bca41c85ba76e3833b673857bcb4d535bcfe03f1ba13fb403bd1f118bcd1f802bc3f221ebbef381d3bb93413bc997f0abc0ca548bb9abbfc3abffde5bbeadcf9bbce8362bba075933a159d90bbdc43d4bb292e67bb7a7d6739cfbbe9baffc57dbb7c7c23bb8c4f28b9da71bebab0c2033e76b8633f267d913bb35a51bb509ce83dacba483f963be53baf0f72bbf2cec63d8a322c3ffbca003ced0dcfbb0f74a53d9d4c103f0e410a3cdb8794bb56c1813d3da1e53e7206f63bedbeb8bbdae03d3df01ead3eba19033cb945c5bbb773ed3c2d7d673ed03cf23b564dd3bb5068383c7a56e93d9fa4c73bb9d894bb86be83bb1f38023b2daf7e3b0000000000000000000000000000000089c90cbcf6c5e7bb12f708ba93b2783bc33610bc87e0fabba60300bb2c8c393bf673f5bb1927d5bb364b0bbb5ed6123b3754e1bb739cd0bbd63326bba3fee43a2221e0bbcbcafcbbf459a7bb11f78b3a2d7c60bbc39bccbb4c4e7bbb1df62ab9e87955bbf33ca4bbb7ed68bb642381b80000000000000000000000000000000000000000000000000000803f00000000d66720bb36291a3bf5e1633f0152d63bf17e56bbce65d03ad375433f8edfe23bf83051bbafbd8a3a62b6223f73addd3bc71c6ebbf27c68398042023ff090dd3b79c4b8bbd62aa7bac8efc33e2537f63bf3d6acbb514341bb3433823ee6b8ae3b0657a7bbbd6380bb37b9023ea80ea73b00000000000000000000000000000000000000000000000000000000000000003aa2463c99f317be1e3625bc4af8da3b8c32763b700b0fbeafec8ebc99e3fc3b477313bc728cf6bdda9cb4bc9b86f63baee503bc7b33c3bd179ac1bcadb5ac3b4bca9abba3e193bd32efaabc5664b53bf4b7103be62d3cbd1b3075bc8cb9a63b20a19e3be0f478bcd988ebbbb3353b3b00000000000000000000000000000000000000000000803f0000000000000000f49fb8bdeb7da23fa11688bd1cd3353bfaf973bddfb3863f6fb3cabc680047ba124b1ebd84d7583f8e03ef3a01521fbbf9edf7bcb4b1233f68875a3c4752acbb6c89d5bccc32de3ea619833cb1fd9fbb218e89bcdcc3743e942f2a3cf08f66bb74c956bcfe24513ddae6b2b983ef05bb00000000000000000000000000000000efb2853cc393c5bd9346863b0cdb3dba1649173d8b571ebe7a1141bc5ac7063c0d04a03cde5823beb14dc4bcedba093ca725263cd4090ebeeb9afbbc79d6b13be8228e3b577fdebd8c25f1bcc6cfbc3b6ecc143c6ee5a6bdd245d4bc996f923bd4ef2f3cb54441bdbafb94bc3ac5df3b2dee2a3c00f968bcc2eac6bb2edde03b2dad343ce2ee0a3c521a653a9517a83a00fa15be453fa23f7664613d1aeeb3bc710e24be550f9b3f67bd513d631799bca446f4bdc55b853f3f09a73d12fcb9bc0109b5bdedbd553f066fbd3d7ef1abbc36c287bd75d41d3fd6cbb63d2c7b9abcca4355bdaadad33e836a993da1478fbced2310bd1b6f5c3ed979483d89395fbc56dfb6bbd65a0e3d905fb83cf0bba3bbad9522bcb4e7a6bd7b9393bb01ae8abb69d8373cdb238bbdb8d9723b44fd44bbf6c5ce3ca26300beb1b2a7bc91ca1f3b560b4f3c192000beb94109bd5481903b6c94433c5721f8bd522c21bd72d9b93bc246e23b58adbbbdb46117bdec94653b19af4f3c953492bde3760bbd9c9e993bf445563ca65b2ebd71aec2bc1d75613be266713c1f7e71bc8fa647bc3acba93b4511503c0c09bf3b5ac018ba9719423b56f512bed8b0873f53647c3e71b251bd770f28be9a47863f7ae5783e741159bd2d7df7bd62dc613f6de4763e1fbd34bd830dd6bd11143b3f2f3e623efaf325bd6f8f9dbd67fb083ff3b33b3ee99af2bcc11b84bd57cfba3e6185143e6d2becbc66ac3cbd9b014b3e6bb6c03d6919b5bca4b1b7bc269b333dca1a353da2ae74bce5ea63bc1c6561bd6304c53abcde25bc30865e3a230b53bddd28433ad062a3bb3ac87e3c5a94cabd16f503bd7e35153a5653683c854ce1bd37d74cbdb8be413b5ed0413c3157ccbdf9305bbdcd9e703b4db4153cc078a9bd41c94ebd4b33143b3e73473c9e127abd92442fbd21b8593b97a0803cd0331abd2388fdbc570a703b8429803c361c61bc4ee287bcb260ab3bbaf53d3c52132b3bd2cc0eba44d0073b94affabd3ffb5b3f2c55e63ed0519fbd7e3413bed244593f6a45e53ed900abbd3990f5bd7d713c3fe555d43e80c78cbd78e7c6bde315183fc4bfb63ea2af5bbd5ecfa0bd4cb6e43ebd5e963e085b2dbdb33780bd360c9a3ea3a95f3e55ae0fbddc2242bd0734263eb0680f3ee978e4bcf757ecbce2f0273db51c803d96cf9ebc3e858dbc9efc29bd4cb2023bb02885bcf924a9badc9a24bddca6fdbba07aa5bb8f743e3c2e5598bdfca83cbd65470fbbfdd7173c055aa9bda45f7fbd95de1c3b33cb443ce07ea9bd27ec8dbdad6e003b421e323b753971bdfe3544bd0f2b71b8c468393c8f9d57bd46f250bdf2f41c3ba13f2b3ca35ff7bccedc0abd310bf83a9aea5b3cd9a94ebc77b677bc8e1b933bb976283cfb1f2e3b9bcb2dbb28e5243b562ecdbd5854273f6aa4273f409fccbdbaa1ebbd4229223f3205273f0094ddbda71fc0bdfac10b3f596f143f0335a2bd097baabd7840e73edebfff3ecae786bdc1ed63bdadbfa63efc86bd3ebec513bd530666bda2676e3e4d61933e22161ebd15e92abd4c66013e9a7e333ea079e2bc3d30d4bc8977073df5019a3d24acc5bc18a69ebc9e0700bdc02595393cd087bc1ab19f3a71f7f6bc5f88a9bc5cbbfcba90d5583c536963bd0a2199bdd7b1a139888c733c4bc188bdb353bcbd24c87a3a92936c3c9a9b82bd64cfb3bd0118033a4b91423cc9c168bd099b9abdb8aa27ba071a5c3c1a9728bde42272bd11db74baa870543c1aa2d2bc357b24bd5d3b153bf9b21f3c4e7612bc33428fbcd4e5823bff14f93bfe2c3f3bb9d2afba2d5bb13b9c0c9ebd0c66e53e91665c3fe7a4fbbdf44ab3bd9dd4db3eaa3b5d3f267a0abed3709abd6176c03e3e35443f5b83d0bdf4f582bd2dd29d3e4003223fea7997bda6c461bd853f723ec22afc3eab5b4fbdda4e32bd7815243e15a2b13e7d2c1dbd4d8206bde7c4b13db94b543edec5f5bc842b9cbc540fa13c8402a43d7d69b6bcdb4a42bc32ebe0bc1fbb4abc2fdb8abc6c747e3b9e3680bcf2b538bd0ffb8f3afcac6c3c8dea06bdd72ad6bd14eb0f3beba27d3c60743dbdb43ce2bd660b303a1030883c025a41bde06de2bdbad201bb84505a3cf3402abd8d99acbd49845cbb41e94e3cb7b002bd942f8ebded7bfcbadd2f1c3c2b199bbc4c3430bdb61bae39ee8df33b73c9cdbb6f0ea9bcc106b73ba6bd8d3b8ec32a3bfb51353bf6cf023cc9b247bde4f57b3e5055873f289a11be89685fbd63df633e07c7873fda2d1bbebe233bbdb9bc523e0836673f42f1c6bd7dc32cbdb4392d3ea8c8423fa2de95bd70c009bd881e053ef0a1113f1d6b30bdd955e9bc2392b53d3dd5cc3e64e608bd5251a2bc60bc403dd8d76a3e3b60aebcabb211bcb50e1c3c1fbb953d10fa88bcbb0f5fbbd5bca7bcd8af0bbd1aeb7dbc4623c23bb73413bc7a9fa4bd615bb63b7d85633c09e9b1bb465d11be02c6633aff919c3ccfabc9bc649a18be13017bbb45219c3c9326f3bccd1a08be573213bcc194633cd2fce6bc66c9d3bd8a341bbcfedc4b3cf058a3bc7a59a0bd03dfeabb8171133cdc4437bccd6a48bde283a0ba9b848b3afaee17bb7a3584bc849cfb3b114baa38f5479e3b019bc43b1caece3bd4b89ebceb6f5d3d1904a23f8d8313becfec6fbc9da9023dc6959b3fc05513be542c98bcf0c93e3ddbce863fae45b9bd3f7597bc6c52413d0062593f2a7a4fbd4c6485bc8d34273daa1c223fa197bebc616d50bcc033c73c064bdd3e3c4377bc0a9ccebbe22c203c6a1e6e3efea11dbc8b4cc63a57133b3b72a74c3d8ac7e7bba7af753b373c99bc821b8fbd557d1fbc00000000000000000000000000000000142b613c353913bc72b314bed1c766bac817833c2b5a88bceade0dbea90146bc38fb653c97d2b7bc6e54f4bde1e943bc0ed34b3c665aa9bc2c36c4bdea9b80bce27c0f3cd0316dbc6aec93bd595d61bc2a2f813ba7f393bbe0f03cbdab0517bc6882d43a5ab5a83a45bf94bccc3c05bb0000000000000000000000000000000000000000000000000000803f00000000383fcb3ba736abbd0361a23f63bb90bd6a1a423b156b59bd9cee863f0e2ae8bcbe4035bb28b009bdc5b2593f6da59aba1d5680bbfe21c9bcbe1d243fd03f3d3c8a14fbba5088b8bc96e2df3ecd46733c8ec6e23a4f11a1bcac74763efbe33c3ce973b03b5bca9abcbc8b553d90132d3b00000000000000000000000000000000000000000000000000000000000000003ac073bbda93e6bdeb0d9ebc6354563b23c487bbef49e1bdb6e7d7bc2a919a3b6d553dbc27b5cebd350fe5bc6a089a3bf7941bbc923bb2bd1384dcbc309f673b5549f9ba580b91bd8219cfbc21609f3ac904e03bc99e49bdfa639abc514b053b54704b3c22bacebcfbde40bc4c9645ba00000000000000000000000000000000000000000000803f0000000000000000042b79bd2e9b983f7ea8c2bc1900d4bbe87a42bdac0d7e3fd9e10f3c694ba8bbf92822bd9ca64e3f6372003d152c48bbc3461abd08921e3fe4d7103d2ab0c3bb7eee26bd27ffdf3e6521093d7da0efbb41391bbded91823e55d9b63cf893edbb347617bd0bf0a63d631c6e3b45f7f3bb00000000000000000000000000000000b7fa313a4e3493bd338192bb79f658bbb12be53c6e62fdbddf06d3bc88ec3b3a92fb783c161106be649f0dbddbbdb63a5e60213c7b08f2bd941120bd6efddf3902b1f43b89b1cabd495d17bd503291baae5c863c4f82a2bd1fa910bda0bed238c132a83cdf9d5abd1ef6d0bc1a1a21ba9051973cf8a5a6bc9cc735bc91e8673b1d25853cba2f863a57f83ebb12ce13bbfa4ad5bd1072983fa42ac83d840d07bdfe3202be9cac903fc97fd23debe6e6bc1f77c8bd3da7763f1aba003e709bc4bc6b63a7bdb5cc463fff5f033e662aabbcfdce8fbd32aa153fd890f33df0a182bc1aee8abd844dd03ef097c33d63ff90bcdb8a6dbdf95b6a3e8e18843d8d0583bc214b0fbddf8b7e3d44e8ed3cc68f3dbc2a86ecbca75074bdfcda66bb9bb12bbc21220f3be92b5fbd0dc39d3ae177dbbb3960943ce1bed3bd28d1cebcb4111abbbdf98a3be86bcebd909409bd266797badc41673cb988d8bd42d137bd6bf412bba051273c0e33afbdac9b2ebd137601bbd89aaa3cf72991bdeb8226bd0bb464bbf66f923c82813cbd5341f1bc693a2cbbe45eb53c477ba7bcb9368ebc105ca2bad3048d3cf7658b3a876e91bb6cb20cbb25aeddbd3f8b7f3f6eef8c3e5c755cbd2e7d09be9a95793ffb9e8e3e2a5c57bd6253c6bddea94d3fc757893e497a14bd38a2c9bdd60a2d3fe6a87e3ec9db00bd5c50a4bdf1bc003f0ce5543ef2d0b2bc7c9da1bd86afb33e20912a3e4963bcbc779d76bd04384e3ecce6e13d534c90bc78c633bd03a66c3de4bd613df42687bcbfc6dcbc494c31bd3090c13b6a205bbce1b8b6bb5c1c3dbdf0fe773b606fd8bb4301603c0e9cb0bd3809e3bcc6cbbdbb2d96813c7cd2c8bdaa053fbd226f7fbbb1818d3cf690bdbdf3b457bd3c5462bb4820893c14a2a3bdfb2857bd141896bb26a4ba3c4bca7cbd5cae41bd35b49dbb831ec93cfb662abdcd0516bd934289bb6b8eb93c46388ebc8141aebc753124bb29038b3c1aa6a1ba01c3e4bbed7741bb2d3ec7bd3453513f447dea3e62bd8dbdfcc8febd59eb4a3ff9d4eb3e5e8694bda0efdfbd1bb62e3fba88da3e1f4753bd6e19c6bdfef60c3f85bdbf3ea7141ebd6f33b0bd659cd53eda8e9e3e8b13e2bcd7969dbd3300923e86a8713e2016b8bcc1b981bd789f223e8113223ec401b8bcf47a38bd13bb3c3da9c8a03d5d869cbc2ed3edbc0ad416bdecfd2e3cc69d68bc8b988abba4d829bdb0b4153b2d69bebb3fd64b3cb2e193bd92730ebd4ba0f0bb2ad9663c0020a5bd676553bd2e477dbb63a2953c399ea3bd854b80bd073ba7bbcb6acb3bccb178bdae9a45bd167166bb041bba3ce9955ebdd5905dbdd243c4bb4a04ad3c18f80ebdbb231ebd2619adbb4fe3a33c185c63bc6e28b1bca68195bb799f803c6a9ed1391437edbb0fd10abbbf16b0bd3a2f223ff800243f1194a6bd7cd6d8bdefd51a3f1989233f6c89a9bdb414bdbd327d033fe57a113f1ab153bdb8bcb4bd74fdd73e6eacfe3e836119bd9e3481bdac429d3e7c93c03e9ffc62bc2f1a90bd5a185c3e100f9b3ec54aa3bcc99f5ebde73af23db35a463ed8ef81bca40327bda71ef83c9683c43d742897bc5dddd8bcde9b0cbd8bc1303c4f516abc2e76573a70f01abd1fd0a8bb69e795bbdf6d9b3c20627fbdae3a4cbdc12412bc9c0dc33c5a8290bd3a0294bd5084eabb14e8c93c5c7c88bd6d5c9cbd5ecf0bbc15e2bf3cdf9870bd28f78fbdccae0abca8e8c53c140231bd539679bdec3309bc6a5eba3cc725e5bc12d137bd6285d2bb9ec2953c309133bc2a0fc0bc9380a1ba67234c3c1e428f3ad0f0bdbb36464dba975494bd340ae73e2cbc523f68d4bbbdacb1b9bde815d93e4b6e523fb9eec2bd6ae6a8bd5c61b93e80243c3facd07cbd937799bd2c77953e79a71d3fc04f16bd045f8abd7d11603e1c94fa3ed45da1bc998d6bbda8d7143eaadcb73e027c8bbcacd83cbdf694963dd6796a3edf457dbc9877f5bcf304323cb69dd53d720295bc98778cbcc3f10dbdc121693bcfc159bc4e190c3cabb8fdbc8ff4a0bc975dc8bb47b4c73caf9b48bd13b496bd9fac2ebcc718ab3ca5965dbd5e50a6bdf3aff1bb00afe93c33ce57bd9ad7bdbd3c2f51bcf9a5b73cd18a36bdbae29ebda6b62fbc7f8fc83c027209bd5cb58bbddd9b30bc1897953cc4d7b0bc17b63abdf5b9c6bb5c30483cd899adbb3271cebc50d310ba49a7de3ba731893be2f003bb8dd83b3bed595fbde715893e4a79803f006cd2bd7c1888bd5793773e10ac7f3f3e85cebd748d6abd99a9593e7791563fd0a539bdfcee71bd7d402b3ede553a3f8d26e4bc23e648bd91d5fa3dca500e3f52cfffbbe7ab33bdfc459a3dd901d13edef8fabba0cc05bdb057153d62287f3e6f4cacbbc9d779bcf4d8ebbb7b32d33d352c80bcbe22ccbbcdc701bd605546bcbf907dbc5b3c483c40dfe0bc489047bdb65e8ebb70a1dc3c0883e5bc4ba5d5bda7018cbce880f93cc94e18bdecc4f1bde3ff8ebcf9e4fc3cc19f18bd920ee4bd5fda9cbc769cd23c96bd00bd31cfc0bd3bf799bcc74cba3c7fb8b1bcba019dbd550291bcfb00863c821f36bcf0cf55bd648c31bcab6d813b095b983a0a73b2bc7c36d13a7ccf053bceaef73b62f974ba9f8a813bca0e04bd10dcbb3d91ab983f2792bfbd99cd07bd353d8b3dcf4b923fa252b9bdb8b113bd3c17853da0ee7c3f280610bdb99b14bd0765563df7734e3f09e28dbb06d004bd435e0f3db4dc1d3f997f3e3c7ed5ccbc4487503c00b0e13e70991b3c855c82bcd77acfbb1a2f853ea6d5c63add2428baee37a3bce3e4b53d989a25bc26d1623b36790cbd14e320bdfcb977bc000000000000000000000000000000008a24bd3c646ad6bc7f54debd287f55bca7e8d83cd45ad4bccf25e2bdaac2a9bce0babe3c16dae7bce41ecfbd7c69a7bc6630ab3c586fbebc7246b2bdc556adbc78a08e3c769976bc853594bd0802acbc34553e3c5bd4adbbd40448bd083775bc8d66c13b93f5f53aa160c6bc34e0ecbb0000000000000000000000000000000000000000000000000000803f000000002b6849bc549c56bdf00e993f3afeb2bcf91e71bc090826bd2829803f4bcc3d3c516594bc249e00bd0039513f03bc053d093f91bc0349f9bc5ce6203f59101f3d8f6754bc73d908bd5e1de43e7191013dda9cb3bb1b4809bd1295873e0bb3993c04d77a3b2ab114bd5469b03ddbed8d3a0000000000000000000000000000000000000000000000000000000000000000235e2ebdc0dd2bbd0e77a8bb83428b3b6cf119bd6df63ebd839817bcdb88c63bafe41cbd680e3fbd2e1117bc64f9e23b506307bd117436bda5952bbc8f18ba3b12bfbcbc315025bd4ddd64bce851e23a33a824bca69c0dbd037362bca95303bbbc28073b5449c5bc3ee991bca93809bc00000000000000000000000000000000000000000000803f0000000000000000152b00bcecd0823f34d1773cadef2ebbabfa17bce15f5d3f85dae23c6bc96f3b01fd2fbc3b27363feec70d3d5166e43b74fb82bc2c730f3f3ae80e3df94dd33b09a4aabce34bd23e81c3f33c8baabf3b370ed7bcf5df863e0ce5aa3ce8e4acbadfaf08bdca49ef3d112d1b3c59309fbb00000000000000000000000000000000ee5317bd007ec4bc75ea9c3a13dd3bbbe37b09bde14b46bd15ae27bc4a5392ba9d2c17bd39cd64bd63ad60bce93a4a3b5a5608bd22bc6abdb8f086bc99ca673b707de6bcb4da53bd14eb96bcf37d343bc76580bc05e842bdbf7bb3bc7960d1ba649ae7bae1021bbd53ebc8bc5b9cf1bb824a453cc16ecabcebefa7bc19f232bc15284b3c5faf43bc5be373bc80f33ebcfc3fb5bc9ea2823f0266093e585d89bc0921f5bc4665703f0fde0a3e330d4fbcdaf9debce1da4c3f77c70a3efae51fbbac94f3bcda0d283fde60013ebeee493b1822f4bca063023ffe69dd3d23de9c3b8e8b14bdda26be3e5b4ab23d4de9333ba54f28bd3bb96e3e3d8d733d61f907bb8ed32bbd639ec83dc67dea3cebce0fbc8aaa0ebd4bb998bcb0eb523bb9a410bc70a1febc3e76a9bcd3699f3b0ce6bdbacc4c12bd90ad2cbde8c6b7bbf392253a6e6315bd68623abd0c3d2dbc6c2da73b6d14fabcb0335dbdfc7f96bc394f833ba7aac5bc353444bd25baa2bc38170f3b5a3e42bc9b583abd3dffc9bc363d14bb7f31c8bbf39408bd7e22a4bce73786bb18812c3cee7ebebcf434abbc1deb29bca7b45a3c623f1bbce16f48bce4a722bc8f9cf1bce1d45d3f89828d3e7554b3bc46b426bd19324e3fb187893ea42990bcf72e00bdd09a2b3f2899783e845f52bbb0c81dbdb7fa103fe0b2603e15a6c03a5e9a18bd3dc5de3e8c423b3eeb49b83b8c4f34bdd261a33ed41d123e1eda623b8bb11dbd10344d3efba5c23d8e70273b1e3f35bdba2eab3d2478513d57029bbbe70102bd247791bc5524d13bb837bdbbc9d3fbbc398ab3bca9600e3cb4c4483b1e3708bd9d9620bd994063bbd33f2b3b6359fcbccba848bd95fa4fbcd3d7d23b2eb3c9bc6cc051bdec82a9bcf0e4a03b4296a1bc1b5946bda97bbfbc44fb363b7c0e05bc3aad33bdd0b7dcbc173ea9ba2e64153b903e0dbdb0b8d6bcdfeed1bbc9d4423c2741b7bc1aafb9bc7e1c11bc3a88363c8e7e2dbce92d49bc0280f0bb172d03bd472d373f664ed93ec6acbabc4b4731bd00262a3ffd73cf3e043c8bbcc89d36bd4ac5113f039aba3e2b4b88bba53431bd7524ef3ef62da13e2015623b961335bdbbe2b93ee2de833e8a351a3c313f3abdcb82863e01984b3eab20f43b3fc43bbd264c253e33f40a3e079b973b71e831bd41b8873d4e20933da0b99a38781700bd0b4982bcbfd0313cf15538ba47f4eabcee87acbc17ad063c820bae3b0ce1debc591820bd72de89bb83b2e63b0cddcfbc23ee36bd03b077bc66ffe93bd427acbcbce24dbd63d2b7bcb920853b840da1bce79327bd50cea1bc61c79a3b637fadbbf4e324bdc41be9bcea57c0bab5ee213b094400bd25bfc9bcaec38fbb73145b3c385fbdbc46eaa9bcf9aa06bc4c7c4d3c95032abcf8a059bc2e4fa8bb325efabc7a07113fb621123f8a87acbc0dd22ebd0caf043f01830a3f470384bcca0928bd83b7e23e30cef23e709d0b3a32aa33bd6415bc3e28aad13e29a0103c66bc0ebd98fc8e3e4533a23eed576b3c622240bd5f9d503ee17d813ebfb55e3c62ae2fbdd565fc3dfd982c3e82fe2a3c523f24bd1094433d8c96b53d3580ab3b0af6f9bc339b8abc24074b3ced9ceb3a711dadbcca49bfbc6cb7f33bf271f73b564d93bc2a9921bd36830bbc1cc7f53bea0e81bc0bc038bda739b0bccc99033cd2ca18bc66fc43bdfe58f0bc2a9c843bb6b401bc379133bdbd26fcbc81ddc23ad719583bd9971dbdf9cd04bda34284bbae47183c1337f7bc18d7ebbceefbd1bbe2b56f3c6a6997bc448aa6bcac63fabb406b4e3cf76308bccadb33bc488ba7bbc5d800bd6cbcd53e464d383f13c3a6bc895636bdeaadc33e4e732e3f82985abcf81e39bdf752a73e0c13193f0f9f6f3b84bf39bda8ca883e4ce9003f434b613c9aca32bd870b533ed401ce3efef49c3caab637bd6415133e87f59b3eaf5c913ccc382fbdcacea93d72fe4f3ec534603c67ba18bdcf05d33c9d66cf3d84f3bd3b08edd4bc3e91acbc015e2c3c4544863bb1bb2fbc025bcbbc3c12cf3ac629e43b1791e8bb6df41fbdfbb98ebcc082e43be6c234bcf3a420bdc508cebcfd17c13bf96019bb35ac36bd8e6816bdfcb2053b9d1cb9baca8519bdead512bdf4e5b73aa9d5053ccfb40dbdaca516bd0e9fb4bb78e8ea3b8385ccbc5f70debcd3d2b3bb0f457a3c687e6abc2bfeaabcd72df0bbc8795d3cecb1a3bb77090ebc683f92bbf9f9ebbc190d8b3e75d75e3fe9849cbc9ba92cbd4e85793eef20523f133ef7bb444e10bd1066553e0343303ffed8423c703c25bd7bc92c3e8d2c183f3289b23c17ba21bd3491023ef097ed3e9bcec93cb6b026bda258ad3d9ff8b33e6adfbf3c06f406bd2326423d5e43693ee38a8b3c20f7fdbc2a25853bcaf0e73d0830043ceb2ea5bc4152c2bcc48b783bbd0cc73ae61168bb9847e6bccb4f11bc0f93243cda5f083c2b471dbdb91a06bdff7f7e3b44f4d23b9ae527bdcc2635bdf883513a1ab1fe3b1ba823bd90bf43bd0bf0e9bafcbbf83b806e0dbd5ad434bde5cbaabb45c5653cd8c8f3bc609431bd384c27bc2a1e8a3ce767acbcf10813bd17753bbccaa08e3ca43c18bce5fab8bccc5f2dbcb5b45b3cd97f6abb213714bc9fa3bbbbf9c6dfbc2385003e242a833fe69aedbb14f610bd4c0bdd3d072e733ff252993bf0f711bdb9b8be3df704513f025fd53c5a5513bd154e953dc7502c3f3a6c093df6a010bd620a583d9905073f33950d3dd2a10bbdfc30e23c1982c83e360c013d479ef0bc6a7c973b5324813e45ccae3c0495abbca22685bc61d8eb3d91a1073cc61a7cbc23a8e8bc6331bbbb7c6e9b3a00000000000000000000000000000000b808803b2fd907bd002b11bd2398803b7f75ff3bcdb804bd9d052dbd099abbba4b54833be5ad03bd42b62fbd66c759bbca47953bec57e9bc47f823bd4976e9bb0421263c29a4c2bca59d1dbda6442fbc8e814b3c523e80bc3276febc500236bcfd5f803c578110bc2d1ec1bc79eb4fbc0000000000000000000000000000000000000000000000000000803f00000000ca84b9bcb96b0bbc498b833fdd4ac73c7263bebcbfdf1ebc8dd85e3fd3030d3d8c55c5bcbe8a01bca5f4373f2e3f1b3da67cc3bc567732bcb5ac103f51ed183d0d6cc0bc784592bc9618d53e4944063d24b8abbc728cc0bc9fbe893e6c3baf3cf61589bc6b58f8bcd5e7fa3d17d64f3c000000000000000000000000000000000000000000000000000000000000000084910c3dcba940bed1cdb33b3df8123cd9d8cd3c91ca37be522721bc38d4723c986b763ca0e325be2f78a1bc9f21643c82b8113c860206be7814a9bc0e6b583cdea0983b7356bbbdcede9bbc3ac93c3c01acc33926684fbd3ef742bcd707f83b3b2e82ba107635bc177132bb4a68623b00000000000000000000000000000000000000000000803f00000000000000007efb02be04deab3f6910e4bdeaaa2f3cb863bcbd252b8e3fe3c751bdc59c12bb099594bd66a3693fe6d775bc79e624bca7bb5cbdc5452e3f8fbee83b7a054cbc290ef2bc42ade23ec1d7a43c637037bc4c3915bb82775d3efda5d03ca054eebb35fd703c2503d83b08478a3c56350dbb000000000000000000000000000000008f87093d3833f2bdc57b7f3cb307843ad9a7453d07122abee984d13b4ebe283c01e5213da80b3dbec7768cbcf1cc8a3c91ebff3c9a922bbeabb0e3bcba34993ceb8da93c1ed707beec5200bd8b97863cf1b8403ce30dbabd55cfdebc5451683c74acc63b295147bd555499bc61be223c6d8b2abb397e6ebc15aadfbb16cb813b3ad5eb3a82b4833c622b813b22bfe43ad77046be3a19ab3f14b90d3c90b04abcb45b3dbe4cdb9a3fe9a20d3dcbc798bc03f121becafe8a3f832e823da386f8bcdd8a00be50e8603fab0eaa3ddf8205bd2972abbde8c7243f045dc13dcc8afabcb22036bde3ebcf3e02deb43d6970d4bc27a50abc14f63d3e20a7943da97195bcf16d053da01e3f3cd1194b3d0bcd11bc1cc6fb3c12a502be17fc0a3c03f74bbabb73e03c1302a3bd5492c33b9405b33b4be4253d146f10be1ad7b1bc0da0833c216a123d6ebe1dbee2f12fbd08d39c3c2e09013d5ff00dbe6c3455bdeae4a73c8eafac3cf321debd1e1351bd9984893cb2ba7a3cf8ca9bbdabd22fbde7897a3c682c253c09a621bde0b4eabcfb322c3c1722b53b78e357bcacf126bcabe8093cfe25103b7c520b3cddf87f3b82b8a73b52a445be1c1e8e3f86e0673eacb270bdebb350be34278b3f6ccd6f3e52e88bbde35330be2772733f10f7793e7dd989bd80790abe3eda423f2f42713e172880bdee37bbbd64cc0c3fbd06563e0e5953bd61de58bd7326b13e4b6e303e536428bd3caf85bc51f41d3ebb8ff53d9020cbbc09c3843cc5b2c33bb89f6f3d03664cbcfbcbda3c0404b0bd342d643ba56622bbd9649e3c850681bd1672b8bb4260b13b16f20a3d9b7bdfbd22f448bd1e45973c11da023d23acf3bdfbdc97bd6839ac3c788bd53cfcb3dbbdf232a4bd914ca93c533ea53c6dc7aebd64b39abd41299d3cd5b46f3c584b6bbdea2374bd676c823c31402e3cf3f701bd936c1dbd6bb84b3c6ed7be3b922122bccf2c67bc76370c3c6cd4d13bfee8d63b9cd1603b7750d63bcadb37be71446c3fa042e93e3cc2dfbd389c42bed649633f7445ee3eadfef1bdbc0c22beb4ff433f8bf3e63efde8ddbda667f4bd0f301b3f81b4cf3e2522c0bd8a88afbd2551df3e8222b13e82cf9bbd0d8744bd8c978a3e3bc4823e061163bd64268ebcae6afb3d87ee253e2aa807bd4804343c7ff8cc3b13c5863d9b3f37bcaa1e643cde3c8abd4c2521bc42333dbb59d5743c1dbe3abd7b62bcbc3fd5f33bbf57d43cc9b196bdd8a3a1bd3200a13cc9f1bc3c661ea7bd5072d0bd533d9b3cf933b73cf7df99bd4d3dddbdc2e5973cc7ec5a3c2e7b6fbd1c6aaabd2eb21a3c0d5c5d3c32ca34bd2d7a97bd4127623cda7e143cff2fc0bc6b1f31bd5751303cf9d3e13b29dd23bcd52c7fbc2b4b223cc02abe3b8d66aa3baa09573b201e093ce22f17be1dcb313f2924323f3d281dbea1781bbe0b2f273fe9a6343f319624be88fdfabd15860e3f2fea273fbebd0cbe02c7c6bd5b52e13e4a26143fefc4f4bd6ad783bd1cca9f3e91a6e23e540b93bd496a23bdf6da493e954aab3e5c8e7bbddf6c75bcb8c7bd3dd445423e745a04bd4ed3933b1d402d3ca425833d30062abc86f2243cc4dd4bbd8accbbbc140952bb3d65e93bff9fbcbc5f9232bdea99273c42af863cdb1924bd6e80e0bdc2b5bc3cfad1973cfefb43bd157d0abe52a3a53c632c823ce40f36bda42105be3073673cb3285e3cf47928bdadb3e4bd70e1503c42d71c3c5225f3bcde24a9bd76833b3c1d620e3cf977b0bc3ea840bd39e73f3c88e1f13ba27435bc9a9187bc81551e3c6aa4853bab533b3bbc25a53bbd451a3cb841d9bdc764ea3eb8596c3fa4463bbe1887d3bd6f8dd43e5b1b6e3f86a047beb36dacbd7b3bb23e92595b3f5e2528bea41581bd3dde8b3e4fc0383f8b28febdace939bdf0004a3e9186113f25b3bfbd646dcebcc567043ed888c53e307b6abd39d126bc0c7d873dbcdd563ed98de8bcd9d8a939066f9b3c6911653da45191bbd4cfe93b771ceabc65a030bdb31756bbe05c353b838b183a8e1787bdecc7893c8c09c63b6b96bdbbafca10be25f4c93c831d3f3c412373bc7df522bed38d803ca7d0463c925f9fbca8731ebe5f155a3cd9891d3cf0a3acbc18dbf9bd8927d83b7b69153ce12797bcf25dbebd6050f53bb4b9f93b5f495fbc250f50bd624e0a3c4d33a53b8b9f2dbcc7c47cbcb6c3f33b00878c3b392639bb760f0a3cf3eb213c23de66bd7c0d693ea7398e3f60394bbe09cd53bd48a3433ea0428f3f724e4ebec1042dbdfde01c3efb2a813ff97523bed70effbcd294f73d0acf583f34fcfdbdc4cfa7bc0179bc3dbbd0223f170a9bbd40246dbc2f11883dfd80dc3e527746bdcbc1d6bb2a69223d6284603ecd7293bc3a744ebbf16ad13c89ce323d7bdc773b41a53eb9a72a02bb8fd28bbd52efc23b7947dabacdfa863cf768e1bd0b53ae3c808a31bb2ff0d93cd8f226be5a92dc3c43969d3b8d3f3d3ca51d3fbec895523cc90dd43bc8e36f3b76812ebea176573b79b1d03b86dc99bb18f30bbe811e2dbbaf96a03b235de5bb0937c8bd72dbb33a8028793b94c422bc24fb59bdeef2ec3adba7a03bf3fa5dbca7b258bc122f513b6f8b2e3a19a66ebbc5b77b3c443cdd3b7bd62dbc8be04b3cc740ab3f7d024dbeb8b0cebb9cf4ac3b8b639c3f87db31bead97a7bb971611bb52fa8e3f0a7f07bef794edba2a17a5ba6d296b3fb50fbabd426e393aa1615c3bc0be2f3feff84cbd7c8e393a53b3443c3750e53eb23da4bc4f8a0a3a157cad3c030d5f3e842e073b37a9f9bbbb0a133d73afe63c7e43b53cab4d8138ab6a6b3c4579ebbd98e8243c00000000000000000000000000000000f264273bd556d73ce79c3fbebc2b3d3ce3d2753baa9d9a3cc70f33be7f4090bb2723be3b59c0fa3b397122be49a36fbca30d933b88790c3b4fba00be01cd89bc0e39003b432b2f396f81b4bd84216dbc369c9d3abcea95bb5a1b3bbd28be1ebc04f4a83a0b9fe3bb7224f5bb2680a9ba0000000000000000000000000000000000000000000000000000803f000000001ec1ae3c40770abebee5ab3f2151dbbd93c8913ceb97c9bd6f008e3f906a4cbd8d4b6e3c215a9fbda216693f0c077bbcca675b3c60a773bd05582e3f49de083cadd4393c228f0ebd8e9fe13e6f48a93c83d8f23b89e707bc08435e3ebf91db3cdd27313b0c82443c497a823b9f44aa3c0000000000000000000000000000000000000000000000000000000000000000afe9343dfcb027be3d58b1bcf367413c8ec8313d20da1abe412631bd6e129a3cba450e3d757b0bbe80fe5bbde012973c0cd8d83c0187d8bd94f55bbd28e4823c8d5da73c942799bdf3e937bd57b9633cf451153ccefc21bde0dbe8bc222f1f3cc32a173a778408bc5923abbb72b86a3b00000000000000000000000000000000000000000000803f000000000000000095b10dbe22d3a73f8e9d9abd9032e43afe0cfabdcacc893fa78bb03a95825bbcb772ddbd9c435f3f0ef4493d3ec3c1bce456babde93e253ff843953d8f0acbbcedf289bd8817d83e124f963d6d43b9bc93c601bdcd4a573ea0d8783d65d265bc9403bc3a040a1b3ca78ae13c343886bb00000000000000000000000000000000d78a1d3d0f0be7bd3e04d43b8a212b3b8b8c823d7be91abe51cfc2bc4006893c19506a3ddde51dbef90a66bdd97ca13c1fc24c3d561208be83fe8fbd5b90ae3c056b183d0bd0cbbd6b468fbd4c939e3c917fba3cd5227dbd228171bd4578813c1849323cedcb05bd581910bd75f31c3cdf4483bb1c1b05bc958a09bc46b38b3b8c05c4bb5caf683c791d233c23c977ba92a536be594aa73fdfdbf43ceb0aa5bc78f64cbe0386993f297c813dfa06cabc235835bec06c843f72d8033e790f2abdf4c51abebd64513f2f16293e8e8141bd8979e9bdced6153fbbcc303edc982dbdaa0692bd66f1b83e92521e3e2cab12bd5706b9bc54331e3ecc48ec3dd5d2b8bcd55b113d0e4e46bc00097f3da2f89cbbc0d41c3de786febd2794f33a150cac3adf2b1c3d33a2adbde7aa683a735b8a3b6afe5e3d26e6ffbd102731bdc97b813c1c3c503d9c07fbbd541997bd0ba38f3c04fe3d3de4e9d7bd8a7cb4bd262a973c7f69043d6b629bbdacd7a4bdb3cf5d3ce52abb3c4daa41bdeb3e8ebdf188323cbf152e3c4b60b0bc74cb2ebdcd4fd73bdd80e738781bb0bb86cb49bc1639203b3abda4bbec37243c98eb033c5e5be43ab17238be93018b3f6aa37f3ec4768abd57cd51bec282853f9a218f3e43839cbdb21b33bee0e25e3fcaa9a03e2f9897bd2c6317be2b3c2f3f26baa23e237291bd8a35dabd88f0f33e6cfc923e3a7263bd919480bd0983903e2ee5753e593534bdc0b8b9bcaf92ee3d12c7253ec180ccbc71f3d93c03b4afbc4ed09a3d127aedbb83fe263d38d3c3bd6747493a40809d3ac9a9f03cd00a93bd68fd03bc48659f3bc8fc463d034ac9bd60be81bd29197e3cbd003c3d8efbbebd6ebec5bd3e05753ce3531b3d6e659abd5107d6bd5051663c1caafa3c28e855bdc743ccbd41f6103cf4d08f3c1445ebbc1f7fa1bdd426d33b30b1103c59b941bce95548bd1a42803b2dc32f3a992db4b9af9a87bcc6207e3bbb473fbb7ae7103cb2d6c53bb09dea3a52502bbeedb9653f73d3f33e80a5e9bd3e293ebe7a8a563fadb9013f2239f9bdf36123bed17e313f5e4f033f75c2dfbdabb600be2cb0053f5351f43ea0aebabdb98bbdbd84c1b53e3d66d43ef4658ebd362e4cbd30ec4b3eb9b8a23e30cd41bd70df3dbc0f6e883d64c2523ef9dcd7bc218ac83ce781e7bcd5fdb03dd80fa6bb26d8ff3c565badbd87ea99bb9c23dfba6149ce3cccc065bd270ba5bc44fdca3bac8a1a3d782b8abdfc3daabdc4e64c3ced120a3db0957bbdb1e2e3bd80f7223c6e2c043d25993fbd2089fabdcfccae3bea0cb63c7ef517bd82dbc1bd9e9f24bb2f767f3c129678bc65e2afbd18440abb882dd63bc3d798bb8ec353bd35829d3afdb0f239d1bee53ac2e9a1bc42a2d43a4de02bbbc6ad273c42b5953b497a383b471a10bebae52d3f2ef5333fa3c21bbee1b018be36eb1c3f4c183b3f671720bef0f9f7bd7077fa3ec913323f442600bea7ffcabd2701b83e9aa4213f9519cfbd2b7c92bd5aae7b3e36acf83e205845bd8dd516bd45bdf73d36c2c63e717534bd6498fdbbf39d103df8f06b3e0e139cbca173ac3cb51700bdcb07b93de52729bb79dedf3c161892bd143757bc28032ebb8e55903c23e515bdc8e00fbdd373d93ba9e1c53c47bc08bd4444dbbd3d6f373c3317c13c9d38d0bc2a940dbe7656873b4faea23c0b42a6bc095807beacaa0bbb7eca8a3c54fe2abcdea4f1bdb4c31cbcbbc31a3c90fe99bbb725b4bd45e7d8bb5da0973bb5b99b3a65165dbd3d3f6abb33508539336dddb9e47f9fbc26db513b92f654bb19af023c49bb863bd0478a3b0754d3bd2892e93e02be6a3fb7fa34be51d2d0bdf381c33e5833713f88c33abea54ea6bdfade943e3058613f4eec0fbed44274bde2f94c3e0000413fa970c5bdcc3524bde8fef53d5ce41a3f33fe73bdd2cc83bcc516533de335db3e4caeeabce0418e3ac05e2c3b4be57f3ee05d2fbc18f2a33cdc02debc79b1aa3decf4aab8b7b7b33c596352bdec98fbbcdb7ea33949cbed3b22c22cbca5d15fbd97951c3c9fe82f3c55fe083bebbd06bec6dc1c3cdaf36b3c8b249abad58f15bef810c0bbedff413cb9b0973bdc2815beb8744dbcf62b323c988f123b38e3ebbd9da58cbc146fd23b37e1e33b02d5b8bd73af7dbc20ba613b7da0883b326d5bbd42f300bc65a58e3abd93413a4b84a1bc42158b3989da00bb9b98b339e029de3b127a053ca92564bd72626d3e28de8c3f13fa42be9e4347bde6fa213e4607903f76903cbe23421fbd7633e63ddf2f803f387bf6bd59b2c9bce2026a3d596f5b3f2338a5bd17498ebcaf67d63cfb9e263f854a01bd57e40abb7337dfbb1eb8e93e13c826bce41ca03b58ea90bc3153813e2ec5ca3b532a4f3c0ee495bcdd068b3dc07b433ceb3d723c3878babcfc445cbd1ba2eb3a038b34b978a1313cbb64bfbd0e9b2d3ce09fddbbc93a273d6c061ebe077acb3b702a6e39dea9043d8dca2bbe979563bcd495473b8d2fe13c540d1cbe0137d2bcc2305a3b4e23a93c88c5fbbd8f3d01bd48aeaf3a5b36753ccd25b4bdcde5c7bc755d61b93753eb3b36334abd90f96fbcd740063b6ba6a1bbb10b85bc40d02fbab5b854bae4ee6ebb647c493c8d27003c627a21bc91b1833c6130a83f8cd23abe9926903b3d3f15bd11149f3f0b7f25bef3b0913b1e2850bd6c1b8e3fcfe0bcbdfaafcc3b9d826bbdaac5683f7f7718bdc346143c541971bdb5932f3f95fdaf3bfe4f523c541751bd8e20ea3eafd6c33cb33e3e3cf10efebc1ed16f3e2234fc3c2449193bc9f9ed3b1822223d4801de3c1512ce3baf298f3a12b1c7bda10a953a000000000000000000000000000000004099ffba28b7193d2a4229bede2229bc7864feb8f6a91d3dfca81fbe5ac1f4bc903d4f3b06d9d63c961b0ebe811d24bd51fe423b2426ba3cd206e2bd144134bd07eb573abda8893cf3249fbd1e4012bd1b19cdba7cac263c99ad2cbd476ac3bc78f2a0bae982883aa694ffbbe562fdbb0000000000000000000000000000000000000000000000000000803f000000002702cb3c53b11bbe56cfa83f9d759cbd1799b63c625709be698b8b3f2277e7bbb53e8f3cfdfff0bd5527643f6b671b3dcc3d893c7403d4bddaba2a3fd9bb803d6057883c453aa3bd9093e13e41e1853d44d7473cf05c39bd1827663e45e1623d5d17f23b3d1d46bcb285a13cff56fd3c00000000000000000000000000000000000000000000000000000000000000006eb5ad3ca218d4bd3f7d10bd15f9e23b04ffeb3cb8cad0bd98444cbde3e5253c08bbc13ca87dc1bdcca45dbd441f4e3cb8d4c33cc113a0bd3edf62bdd34f123ccdb1b53c1bae6fbdbaab4fbdde55c73bdc80913cbf4915bda13118bde8c1a53b927f433c729336bca23cc0bcfee43bb800000000000000000000000000000000000000000000803f0000000000000000cb8dc0bd48c3953f22f5e63b560475bc60ebbcbd9216783f113a593dceef58bc1f06b5bd62ac483fd190a53d9f3b69bcdb81adbd9183183f14d8b43d7ff829bc7b46a0bde814d43e9142a83d10dd09bcb1fd6ebd0df5713e2e83733d78691ebcfe2923bd2ce4803d609de53c8178e5bb0000000000000000000000000000000044b8773c7be097bd06c612bc4159293a4d58403d2d92e2bd2ad031bd2a0c9f3b62be343d7db2dfbda4f782bd7fb1f33b74dc2d3dabd4c7bddc2591bd2c2eae3b1026163da8499bbd660690bd8420743b3a1c033d3ce958bdf5b07ebd5f8bb63a461eb33c1b36d4bc97ac3dbd26c8533aa74cd53bc8372d39cca2a5bc797add3aee09503bab234e3c9b33a4bb0743b3bb132de5bda8ee953fedbcea3dfadd27bdbaec1abe049f8c3f94f90d3e46841ebdd56211beb5796c3f842d383eb8900fbd953905be79fd3b3f2be3413eb54ee0bc291cedbd7dd60a3f419b3b3ef07ca6bc8d64c7bdeea8b93ebb241e3e2b9691bc84078ebd855c433e81ffde3d8a0755bc8b29cabc41ff0b3d473c503dae76fcbb0f7f2fbce74097bd2fa6273be0006bbb5d528f3cda616abd6e20cfbba29e0abb0f16243d7963bdbdb50439bd1717283bc210143dc89eb5bdd41f76bd10076e3b72b32b3d7485a6bd28bf9ebd6f75a2386607073d66a779bd438694bd4faf12bb1cd3ff3cd74d2bbd603886bd6d6dc9bb35a7b73cb9a9b9bc4ea145bd7e31b0bbddf60f3c8fb8b23a9f87c5bc19cfbbbbe347e03a260c643cab9f4dbb38e6d5bbaedef4bd50077c3f1f1e953e63e07ebd773b21bec3e1703f38aea03e44b77abd05570abee600443f8910a23e6a5325bddab10bbe3bb91f3fa7939e3edd6006bd4acde3bd6af7e63e939f893ecaf193bc8149c6bd1b3e993e8e9a633e573666bc270189bd716d213ecbb0183e907697bb6638d9bc6ef6b13cfbb7983da47838bb7f7360bb903a82bdeac7ce3b0f87b2ba20e4593cb60453bd0855acbbf68ea2ba3e7c133db6179dbd42063fbd42412038c260253d098c9abd1a3494bd13778dbbf5441e3d95a185bd0ad5a4bdf490acbbb656193d83c04ebd83b0a4bd7c491cbc9225f03c6222f8bccb8e8dbd0cd74dbc89c0ac3c50c730bc6a3157bd3e9c46bcfdae143cbc78863b1d93cdbc725c34bcf433573b2af25c3c3f67abbb3ca724bc0b13ebbdafb54f3ff5a1f23e01f6a2bd74a617bec6df423f9a31fb3e4370a1bdf9fe0fbeee3e223f9341f33e32c958bd057902be2702fe3e84cada3efa3502bdbc7be6bdefd5b63e4855bb3eff876bbcecc4b4bd926c683e7317923e708497bb6eee7abdc143df3d8ea0463ecabfafb9c7d0cfbc87e6e03bbe91c03d528cef3a8a0b0ebce84771bdd7c1383ca2a5b83a213f4b3c3d723abd6e84abbb3fa3fbba61ad013d222a79bdacc253bddff9c6bb44e70b3d65846fbd7a6f9cbdafb4adbb11811e3d88d74abdabacb4bd45af64bc1babd83c053e23bdb3bf91bd63ba1fbcc466f03c77f4b6bcd11294bd74a89bbcc1469b3cc4c1f1bbcaab52bd15809fbcf7a5033cb557ee3b0187c7bcc63167bc79564e3b4064523cd2a994bb6b2a27bccbd6d1bd0b0e213fecb9263fbbeab7bd37ad03bed1d2133f769d293f8449b1bd76f3f3bd6ae5f13ea28a1b3f16f644bdb34aecbd8fd1ba3eea2d0b3f5390c8bccca9b5bd6fac853eeaf5d43e6b0ac23bcc93a1bd4f0d213e2ae7af3ea36dd93bc0ab4bbdb4fd8b3d63e9633e3fb4363c9933b0bcaa5500bc7ac5d93ddfac043c1a17cebbefbe5dbd63500a3ca8dc423b71f64d3c1fb81bbdccc953bc791a0abb6c62f13ccd1c3cbd3a5f7dbd389b30bc89c30a3d77b22abdbb54b4bd9f0475bcb9c2043d09f307bd5681bcbd91b4a3bce44a033decb4c8bc925cb4bd20c7c6bc1622bf3c70e331bca9de8ebde73ccfbc30957a3c8bd1463ae15a49bdf287b7bcf8e8b93bf4a8f63b3151b5bca8b980bc620d3e3a2e804a3ce50480ba601d18bc520bb1bdf4b4e53e4023543fcbe5c6bd936ad8bd3471cb3e637c553fc564babdd835cdbd5867a23e629a413f35a34abd85a8babd4463713e9fb6253f0e5583bc8d4da4bdbdc9243e9091053fd709153c62f575bdcf04b33d7d92c53e73e48e3c1d5b18bd788bc23c1f087d3e2c8d953cc5a427bcf2ddc4bc0599e13d9ef7343ccd669e39e60858bdb62757baf4b7873b04f34d3c8cd2d6bc0742c3bc460da4bbc146cc3c5ab2e1bc50c59cbd445082bce335e33c0553f1bcd7a4b5bd7612a4bc2380e93c3b5b8ebc52c9cbbdcdbcf1bc3b67c53ca29c43bc26e4acbdfaa2efbcf0d9983c5bd08a393f8692bd4b42febca8755a3c6d7d4f3b137649bda180bebc6bdfdb3ada78273c3e8f96bcdf4a74bcf9144abbad452f3cc985973b906b90bb0ca07ebd36f6873e89c87f3fefded4bd085096bdcb6a5b3e4e347f3f5571b8bde0ad8dbdec99313e796e593f8e76c9bcd19283bd13bce63d004e3d3fd913ca3aa10c65bd24f6903d483f123fe34ce03ce76127bdb712b23c7cf6d73e3b3d083d58bed4bc4d8cbdbbe7f0833eb723043d05a331bafcad1bbdff25d13dd636893c628c073c28bc38bdcaf58fbc671b423ac704373c1f7c87bc88ab43bdffd99ebb3c50873cbd2613bb7624c7bde479cbbc2536ad3c9907e3ba995fe4bd62d007bdc15eb03c85a5a13a4e87dcbd61e520bdc851aa3c05c3b23a06a8bcbd817424bd25dd513c33f81a3c82468fbdfc871cbd1079b23bc44d553c4dd133bde16fecbc1d6446bbfca31f3cef5e32bcb36c52bc07d2b6bb79b3253cea4e063c3d5273bb9d4f17bdabc3b33d6874963f2a32b4bdec2d00bd86b62c3d5b2f903f444290bd55c717bdd59dba3c22687a3f92d8d5bbd10111bdec77473b072b4d3f75d90e3d4a7901bdfe6b73bcbeee1d3f9c5b643db90fa1bc5ed207bd44dbde3eedbf6c3d7a17adbb651940bd0379833e0dcf363d039a3b3ccf2332bd4083a73d0cf4b43c93216a3c9ded28bd282045bd99ab5539000000000000000000000000000000001964943cd7b2bfbbb4a8ccbdd300b3bcb1f7a03ce8e8d13a9b77d6bda6e10dbd847baa3c98de24ba8b94cbbd09c623bd9478983c395e433bbccab1bd227726bdcda55d3c3034ec3b26f388bd173124bd4d7b9c3b68ea363c51c627bd696301bdef1de7ba41cb3d3c171958bc501d9cbc0000000000000000000000000000000000000000000000000000803f00000000029d6bbc6f5b92bdfec5963fde3e82bb42926abcddd590bdbbc37c3fd22d1f3df6ab9dbc34998bbd28334f3f4fe28b3d9ab38fbcbb8989bdeed81f3f49699f3d817e24bc52c18abd7e74e13e9d77973def67d53ac77c7cbd0142843e36285f3d24ed2a3c40c55bbdcf06a33d9d6be93c000000000000000000000000000000000000000000000000000000000000000099f8663d2da954be4575003cb5bc273c700b1c3db60b3fbea91bc9bc7f0ebf3c8780ce3cfecc36beb1372ebde8d7f23c8b2d983ce5ac13be862e43bd4b50cc3c68dce53b8e67c2bda3d327bd18d4b63c9af866bbdfbb54bd9e37f3bcaf376b3c6fec9ebbfda53bbcb3cf06bc838f893b00000000000000000000000000000000000000000000803f00000000000000002ce414be21e1ac3f6b1ceebdd0cc563c3decd8bd77a38d3f3b5406bd492f0fbc89efbfbdbc766e3f2c8ada3bb999a8bcdd3b8dbd487f303fa5b2193defe5babcb6090cbd665fdd3e7ab2553d0772a9bc9f259cbae737583e07db563d91627dbc3fb8f43cf917dfbbca6e083dcd589fbb00000000000000000000000000000000abf4663d82a104be51a9c63caebfd8bb37e3653d06611ebe8b0ec3bb0035b43b8e6b473d11673cbe44cb27bd28aaac3cb9631b3dc87727becf1e7fbd3d79e13c5092b83ce5ec00beb7277fbd9924cb3c246a0b3c5d2fa7bd7ebc7fbd60aab23c1342053a1f0619bd3f5135bd73ad623cc7f2d4bbe3232dbc26fcc8bc7100e43bf22aa9bb4f71913c4f14853be18bbd3a558f55bebb11ad3f80c95fbc8e90f339fec32cbec9a6953fb605733d8669bfbc476729be70d68a3ff943a73d35580dbd36cb00be54655d3f776ef23d079c28bd0bfda8bd141d1f3f94ce0b3e023d35bd3ff415bd8dc3c33e5f230a3e89d11cbd86edec3b1efc203e84b6da3defa4e4bca3090f3d3302743cf7117f3d754585bce9d34d3d99070dbe1694303c1b9d7bbaf949283d5aba99bd4a0a083c4223ddbb547f553da2df08becb7629bd8bb22e3c7a96413dc67f13beb590a1bdc754bb3cbb09023dddd4fcbde81fc5bda596d23c1589a53c0017b4bd75e7c4bdf3d0b13c6c9afb3b79ae45bda0dfb4bd9176a53ca79a8e3a7dc49fbcfe776cbda219243c2911eaba9cfd783a9c5ae7bcd526d03b6fc805bba39c743c61e158bbf6c1cd3a43e149be546a8f3f0a3f533e223448bd118e52be85088c3fb9a9733e452984bd9e5c35beb98c733f277e893e452398bd896302bee1973c3fd9e0903ea3e09abd94aea0bd5563023fb0798b3eecf08abd357febbc8e1e943e67f3703e0a6169bd1c9c1c3c3098d43d48942c3eefd31dbd2be7003dd0f06ebcb3c3a13d51709cbca06a183dbd30b5bd06aeca3b8b5df9bb772c073d5d2276bdd7f740bc83d884bb32e9303dd360b9bd225f9dbdc435643cb051093d16f4bfbd02f4f2bd9631b73c344ac43c09eca0bd303507bea6929f3c4e153e3c3ef346bdb41c05bea4e3843cf4f9a73ae277bbbc4716d6bdfc5e5a3ce11b8f3ae4f9c7bb372291bdd95aab3b319968bb3575b13b0f2006bdea673a3ba10ad13a5e79873ce780b1bb3c1d283be17b44beadf2753f7d97dc3e1a83d2bd41b142bec04e623f51d9f53ec221f2bdc62d1cbe5707403f9a4efe3e971df7bdd24ad4bd3c13103ffd86f43eb0fde0bda71e5dbd6e26b93ef479dd3e5f37c8bd3c683abc866c473eaeb0ab3e60de8ebd9d886f3c8aa5903d09fc543e29631abdd5ebdb3cc58354bc4075ae3dab5a99bc7a9adb3c608799bd25b727bcf02cb0bb56cbdf3c46280bbd9ddf13bd9b3a5839472ddb3c79e248bdc2fde2bd59c2593c9386b53c6aaa46bd28551cbe5730833c9fbd663cbd2a10bdbc6d2abebdc9503ce9e59c3b875e92bc6a7c0cbee041fd3a8b9127b94932d6bb297befbd483b8f3ba5f935bba2d8a33a54408fbd464a903957d7c539a496fa3bc31c15bd35a8de3a41fe9eba2fd4733c8d17b3bb3036123b33e025be3ded383f21bf2f3f0c201fbef52615be6b6f253feaf2393fc79529be9d98e3bd2cdb053fad26383f45761dbed2e380bdbb6abb3e42cb2a3f869709be66dfd8bcaad4633e48e20b3f6fe0c2bd2f6b4dba155af13d81c3ce3e8ff587bd187a763c64a3333da6d7653eb882f1bcfe06aa3cda1f0fbc472ea53df8e818bc1f429d3c4a6045bdc0e0e5bc8e2992bb31e6743c7b97b5bbf08c79bd118cb33bb9ce833c1ed2dbbb14ab15be14c4833c948c3f3cdb03ccbb064d3bbe31b03a3ceb4f043c18cc69bb8b253bbe660d303b34061c3b3fcee83819db23bef94c2dbb2dd483b8c380183a0290f3bd0df9bebb2bb02f3a1b3e143b376e9dbd5d6ed9bab31951ba8411dd3b38a212bd4c1a70ba2dab16bb7ae4583cb7fa05bc53856a3b70cbdbbd8996ed3ead606e3f38a945be4f41c2bdc4eacd3e636f733f2a6944bec0507ebd9c1f983e1cbe6a3fe90f30be55f8f6bcd9d2473e11874d3feaac04be301a79bb5c98eb3d1c89253f8b2dbcbdcf088f3b78d9903df1d0df3e6ad04bbd6527083c2ce9073d6a3c703e7bad9dbcfd1d113c739bf63b76048b3dda860bb9377b133cde41a4bce8d435bdf9369ebb07ff263b443a8e3c04dd9cbdff2c633c000f7f3b5b30ac3ced172bbedc838d3ccc8b883b391d953cfc6d48bef738743b608bda3aa108623ca9d943be647eafbb1a12ebba2460063cd94323be42cb48bc2b576bbbabffcf3bee63f4bde00bdfbb0af9d0baa567cb3a75468fbd323503bc755bd9bae955473be0e600bd1b5f69bb88436ebaa595f53bc1a78fbbdf07ad3b9d615ebd7c846f3ef7628d3fbadf4bbeaaf328bd90f42f3eef48913fd5c448be388185bce894d23df6d2873fe7de20be79795eba176e833dcf5c653f65bbe1bd58ad3e3c66540a3d1c1f303ffca081bda7f6243cdf7ae03cf541ea3eb7d7e9bce48f1d3c3a01c63cca8e693e5c2100ba3915053aed27af3c322e4d3dea0a273c0a0b26bb67cbe33b087e83bd7504853bd65591bb24701d3da2d702be71afd93ccbadccbb07462b3da47829be82d49a3c51a191ba0e52063df70253be356b793bca1033b98704bb3c347347be9a3f08bc7694a9ba4651823c0b511ebe874594bcb19597ba27115d3b3ab2e3bd7cd88fbce75b5739ce2034bb3fae7bbd8fdf72bce04c0dba2c7153bb29cbd6bc3ab114bc93a5b8baefdee4393bb5d43b4db6ce3b308fd4bbff200a3bbceeab3f501a5abe2623d6bbaccc5a3cf7dc973f298213bee86c203c1708f0bc6c47903f1147e9bd3f1a853cbce80bbd87a16e3fa2ce85bd88a3a73c65d4efbc0a3a323f229fabbcf8694b3c894df1bb0cb4e73e4615353cab01c93b050d823c55f55b3e2719e93cccf5bdbbd180fd3c089b363df285003d63f003bc7cf4fc3cc42cf6bd7e3c283c00000000000000000000000000000000703fd5bb5a2c5c3dac7d53be22836c3c110596bb0b5f0d3dad4a39bed82353bcd56be2ba053ab03c479d2ebe222001bd8b7397bb1914653c310d08be1daa16bd5ce60fbbe26a5d397f4aabbdd2e40dbd3dd728bbe0b58abb104333bd964cc8bc410c32ba7f31aabbc42505bc0f6c08bc0000000000000000000000000000000000000000000000000000803f00000000bb27f83cc64b25be9dc1ac3f67b4d9bd51f4e83c095fecbdc4138c3fbfedacbc0840083d04a1d9bd1b67693fd1fe9a3cc8aef53c12e59fbddc182b3fcf06523d69dab33c1c331abd4d21d23e07b0883d8691143c9abf0fbb263a493e18167b3d5c6451bb519be03cea6f37bc38b1223d000000000000000000000000000000000000000000000000000000000000000077b8803d0ad63abe81ca6fbcd78c963c7c143f3d62800cbe11f98dbde9c8223d9c7e0c3ddd38dabdc1d0d4bd475b383d0783ad3c516088bd2d0edcbd451d2d3d1c0c103c1f16febc634fbabd3f50063d7ea797ba462453bcee355dbd23d1973c0f8e84bb24919cbabe9108bc11b2e93a00000000000000000000000000000000000000000000803f0000000000000000bd0633be231aad3f3781cdbdf0a3a83bfdf324bec7b78a3fbcc5313de25639bd1d911dbe540f5d3f900e0e3e03a59cbd5deff6bd8db8193fc1f9453e8029b6bd940e94bd7909ae3ed69f513e2989aebd7ddd8ebc032f0b3e4f5e223eaccd72bde208cc3cb09b0abd0f78873d14b3a5bc00000000000000000000000000000000a308633d198b07be8711d83ca85086bb0322643d2a6609be062eacbc399e863c2304473db10d02be65dcaebd36fc1d3d16c70e3d8185b1bd5387eebd74bf233dc885873ccfe343bd774decbd5461063d9953573bf91db1bcd25cc1bddccbbb3ca73124bb6a7f3abc7dde41bd522be73be0fd9abb7a4c21bc42896dbca63f9c3b2eeee9bbb9a3c93a9d7cce3cae4c89bacc0450befde5ac3f2d62ccbc3e539a3a49853fbe1e64923f7896ce3dfd662abd4fe342be3e73803fbae1483e2c68acbd1e601abea9823e3ffc53903e63e2dfbd30d1c5bdae04f53e7506a43e71f8e8bd2db319bd8a88803e76f0943ecaaac4bdee27373c85aa943dd5884d3ebac071bd2bf4183d681f9abc1c21b73d5cc9bebc25e5793d78c103be7e9099bc7fabe73bd48b2d3d1465abbd8962363c41c7a639908d4b3d501bdbbd3d5268bdec0db43cf63f1c3d27bca8bdb73defbd488f143da039ac3cbd7c38bdc34e0ebe8885053d3a71103c33df95bc84fe01bef5bda83c7c171fbb1d40c1bb1b17b5bd35e5f73ba35776bb652182bb576630bd36b194bb277c80bb7bd604bcd90c95bb46ff67bb657e67bb5fabe5bba60dc83c11660db7423a50be796c8f3f5cbe553e7b2060bd93fa57be36da833f8a819b3ead6fbebd85bc39be1307543fe780cf3ebeb304bef5fef7bda096113faa20ef3eb02211bec3f486bd8663aa3e00bde93ebbba02be5843bebb51040f3efedfc03edc7bcabd8a7aea3c56e89d3ca838703e45e441bd6932403dcee343bd2179c53d5c1180bcf91f563d3a1daabd60faebbcc14c0e3cb67f0a3dedb089bdd83630bc82dced3be8dc143d619585bde84fadbd6cffb03c7e5fa33cdbdc17bd707a10bedb99e93c2f8e153c03f53dbc178619beaf46963c8151d3b9fdae973b7bcf01be1de2e839305883bb2cdae43aa2d3aabd7a5c3abc291e87bb0e1885bbf27d1ebd4f2432bc001de7ba344709bca9932dbb3d3fb8bb99fef4babb7511bc56cecf3c5c1b28bb99784dbec1a1733f23dde13e64c2e6bd8ab03ebe481f4f3fdbb70c3fa6c815be0b9509be42d2193f2129223ffeb12fbe36c694bdf867bd3e397f253f76ca26be5aed8ebced2a313e596d163f3b1708bec338a43c30535b3da787e13e669fa7bd27f3313d33ed97bcd9aa833ebbec13bd55bb443d158354bd6a02b63d03fd6abbb7e0403d285e8ebd7a0330bd2a3f673c83f8cb3cd55234bd0ec006bda60a483c621c983c5bb2dbbcc7e9e4bdd3e3b43c90f1073cd3c6b8bab3e720be8dbc7d3cf8008eba1ee5383cc84819be6bd1d7bb701964bb44936c3cf09de3bd3dfecfbce7b0d0bb87cd013c7c6d99bdd992d9bcaf2b58bb2a9d78bae66802bd4927bdbc023e07bbea991fbcfefaee38358c55bc1d9f9eb9a6571dbcf309bb3c2dd0e9ba756428beda49373fb614323f9e4629bea4bd09bec0b0103f21074a3fdd9c41be0335adbd688bbe3e509b573f5a8743be599aa6bcbfa93a3ecfc04c3f4a3127befa23143cfbd9693d0811273f2620c0bde466323d886cabbc0d57f53e7ba76bbd3eac393d8c2025bd6dfa823ed77705bc30bd2f3d2f7224bdb7259d3d5dbc373c798a103dbad235bd686270bdfb16623c6803393ce05c6ebcfbf669bdecf38c3ca058223b266e123cee9304be0444813c6b2c97bb0fb4b13c397d20be8b9060bb03d1a4bbcaeab23cda530dbe315be2bc00e1ebbb0619a03c5117d7bde79128bd9434d7bbdc4bed3b733d8cbdcfc81abd388789bbe98700bb6bfce7bc77ddf3bc9f99a9ba9b590bbcaca59fba8d8f81bcfadc6aba645f1dbcd5a58e3c3b072939e5dae2bdd11aeb3ed4cd6f3ffe1050be09df9abd2fa9a33ea479803f291057beb2f0b8bc0c0d263e439f7f3f682f3dbe12ee773c4979333d9534613fb81602be6c36333d77aa1cbdd39f353fa14a91bde3894e3db0e74dbd962af33e145994bca4a0393dd60328bdbe4b7c3eddcb553c9bb6ff3cb2f4c2bc6018803d761dae3c37bda13c0c0258bc382490bd3bcc503cd091eaba3bcf1c3c928390bd405faf3c4f6902bccdb8fb3c2fcf0dbe85befd3b863f31bc89ec183d38931ebed10ea3bc960e3abc6dd50e3d606b0cbef53b22bd9840edbb9479b23ceb7ec4bd0fbe5dbd9b6fccbb87860d3c3f2977bd3e7048bd85d822bbd5947bbb26afd8bc22800bbd26d5a53a897b20bc284324bb25e874bcec082e3962db17bca449373cee22093bd2885bbde81b693e68678e3f361d56be9a858cbc3cf1d23df92f943f73b048be952baa3caf6cacbb03908c3fde5316be0070443d674b91bd7f406f3f49a2a8bd2321673d3ac9c0bd9356343fc64752bc4caf5c3dffa999bd309fec3e276caf3c9014193d73b317bd013f673e55d2293dba458d3c24006ebbc13b253d7397063df4cfb73b209c4f3c4a7b96bd6b001b3c7fa443bc074d0d3d4fabe7bd69b2bf3c23d794bc0f643d3d667c0cbe8614c43ae58984bcdd8c4b3db85120be03ed06bd1f3640bc88bf153dbad9ffbdfd496ebd28bbfdbb7282983caf6dabbda32991bdc10398bb7bd9943b22f748bdf9a27fbd4771b5ba0fa384bb1be7b0bc375f2dbddcd29f3a8b2122bc7fcbcebb27dea2bc7b83a6b9d516e1bbad8fe53bcfef223c560fa33b69c438bc6e90ac3fda4f5bbe7715c93cf2803dbd10c6993f8b3c08beb9975c3d1d6503bed24c923f9156afbd9b2e8a3dd05715be78a06d3fb40c4cbc5a7c853d2cd100be3ef12c3f910f583d2c244d3d1ff4a5bd60a9da3e55979a3d58d0de3c6d71cabc9d67433e5b27983d76e3923b61e5873cb9f30c3d35963b3d8abef4bbb767123d255cddbd975fb23900000000000000000000000000000000706eaabc5296863d972e2fbe2b574bbc225395bc7ecc563d6d9803bea6b66abdcab63ebc8b60043db9adc7bd9c68b0bde55b0dbc8d728b3c78ee6bbd7db5bfbd9e8549bb8868c53a6022dfbc964ea0bde67386ba24fab9bb7b8034bc32914bbd9fbd373a57dc0bbcb81285b91d6c53bc0000000000000000000000000000000000000000000000000000803f00000000820a8a3d0d6166beeec6ad3f154fb3bd07a8963d979d54be35798b3fc763d83cea7f983db78340bed0165e3f44cdcf3d4193863d7cf214be9e9d1a3f6c1c133e71772e3d866ea6bd618eb53ea22e183e6b879f3c3dbe95bcfc4c1a3e8c09e93da03851bbc9b4e33ca7c9a6bcefff4a3d000000000000000000000000000000000000000000000000000000000000000084f8523d2ad3f3bd891a86bdc4d0ea3c7563153d86f45ebddf1c0bbeea204f3df799ba3c4b5f96bce0362abe96297b3dd93c233ce3153c3cdaba2bbe783c5e3d4fc10fbbf772043d36cf0abea4fe2a3d36dff3bb31a1e33caa06a1bd344cdb3c543b08bc61a9713c4f9398bc553d593b00000000000000000000000000000000000000000000803f00000000000000004c3c45befca1aa3fbf4556bd1ab53fbc10913abea663843fb67ce73d9e3973bd718a27be6320453f6af86a3e1263d0bd01a6f8bd4bf4ff3e5fc1953e11aaebbd7e129cbd72d6843e7091953ea0c5e0bd1f33d0bcd9639b3df7b9613e2adaa0bd93e28e3c644778bd3a11ce3d5a2a01bd00000000000000000000000000000000cff42b3de362c5bdf9da1bbc2540473cce55303de30371bd6c8bcbbd6775283d6e88db3c24448dbc52842dbed1646a3dc5aa293c3fc4b93c508145bea0ff653db51968bb8e93393dc52232be2b88343df8d022bc654b273d0dd4fabdc166c93cfae814bca2c29b3cf19c5cbd1c55463b5f284dbbc1dd32bc7076453bf80ecbbab93ababbef8228bcff22293d754b67bc29814fbee620ab3ff856073c28db83bcf5fc67be4e8e953f4d4e003ecfdb42bd9e0252beaa826b3f88c3973e25b0dcbdb8f621be6526203f8d08d13e0cc10bbec96ecbbd6c93b43ead23e33e64aa10bef8f61dbd5a490c3e7620ca3e4292eebde5cf363c669266bb30ba873ed71088bdfe3d2f3d2fd657bd0690af3d816ef3bb0d155b3dfb7fe4bd082929bddd14e93cb26dfd3cae6e3fbd27b717bdba07c33cff00ee3c37e0c8bcee3400be3d8a433d8783853cd7c8373ce2063bbe4075643d9cacc9b8f9182c3ded2542be8c0a353dbf61cabb1d87323defd11abe4d62c63cf00321bcbfeef83cbe6dc1bd84cf1539bd3aebbb6a2b363ceae312bdb1266bbc787235bbf5107abcb295863cdd598fbc9ad41abb6ac9b5bc97ee503ddd3aa6bcf62a4cbebf5e8c3f99de803e557598bd565260bea8e5783f3984bd3e9d81e7bdf05e35be2dfe363ff2cf003f388b15be8850efbda503e13ec901133f4f2021be48027abd81715c3e62050b3f540809be83854abbb81e423d66d1e53e29e0c7bd5293d33cb7ad06bd82ab8a3e20d311bd19a54b3d63fd79bd5c34963dae24903c916d523dd74e87bd386793bddf6c3f3d0f82b73ce985e6bcc6ec69bd8c9dfd3c169a923c7fe2ea3b031218be12ce443d90030d3bbf5d223d86aa3dbecd64293dc9a8e5bb45d0453dd88b2ebe7c0fbd3cbbc63cbce3e6363db3e900be4f7c5ebb47b20abc9f3aa43cb9a189bd409dc0bc69e1e2bb3868e539d2f74cbce7a30fbdf12628bb4a2d8dbcd000df3cf491e8bc87168fbaddedb2bce729583dbf17e4bc6b9942bed758653f174cfd3e09bc05be5b2640beda8e3d3fda0f1e3f01de26bec38205be1f87f93e7f50373f262137be66868cbd1a18823eca96383f719824bec5b260bca0df8a3d9f07273f254100bec26ace3c9917d9bcddfcf43e889579bd0eab433d9a6c8abdf8058b3e03be61bbef704c3d3c4469bd00c3563d2217293de4f9323d5be347bd8187bbbd9fcd773d09f5823cb9471bbc9ddb9cbd4e580f3db34f723b606d0b3dc6f81fbe34781d3dc26fdcbbe2b74f3d8ecb31bedbdcbe3c18f045bc8e4e4b3dff1411beed3909bcdd0f19bc4c1f163d6e24d0bdc884c8bc2a5129bc3319733cab0a24bde0c14bbd31aa9dbb6f5e6cbb8b3e643bf0544fbdab409aba63efabbc175f0f3d59281cbd59431d3a31e1cfbc6a04593d821bddbc8a6f21be0af9293fa44d3d3f3c3437be9f2f0abe70c1f93e68ce5a3fb0cb4cbe0af49ebd3d548c3e9938633f20b03abedb51a3bcd64cad3de479573f9e1f14be9f05cdba22123c3c021c263fa11977bd7b44403daf73aebd12a6fc3ee704a0bcd010433d55bc98bd87d97c3eac41223d4c69363d4de628bdae7ce33c7aaf873dc802103d7867d3bc07a5dfbd4893883ddb989a3bc4a0453c2483b6bdc884123db4c6d8bbb7923a3dcc8017be437faf3c19803cbcefd7453d22b715bef72ba8bb60d240bc1f52103d8c07e3bd090115bd15704dbc0170d63c13fa81bda79976bd6308f7bb9f61743b12a18cbc30778cbd5a4892bb49b72dbc72fa913c80917dbd2d711138f9caa7bcc0930d3d6f4f22bd77793b3a169eb1bce373373dcddbc5bc55f1e2bd8cf1d83eb8c4763fde6053be100e95bd96be7c3ec790873f57d558beab7596bcb304993d4323843f6fef2cbedbb9bd3cf3f20ebd4721653f59f1c6bd5ed7483db2c5dcbd49d5353fd36adfbc8585693defead8bde861eb3ece751d3d0a38523d9ef696bd77ad5a3eb1359a3ddbb2073d42ffb9bc6337893beea2a03d79a3ad3c8347af3adec2fdbdceb1813d541688bbe51ece3c7cecb5bd9ff3df3cfdba37bc8817383d0a2607bea50387b95ece66bc73a53a3d65a9fcbd8ae9f9bcc4485bbc40ab033da65dafbdf03481bd8a3e1bbc997b823ccd1e2bbdee34a5bd7bebddbb8742e838591e18bab661adbdda56cdba95c05ebc0149c63cc3ca8ebdc749843ad3f698bcd537ed3c78a01ebd9bee1a3bb87b87bceaffde3cc32520bccbc861bd6c77443e358f933fc27f5cbe8b2952bc23a7163dbb8c9a3f407c46be5b2ab53cd69981bdc63f8c3f7a53eabd397e5c3dcb2207beb7406c3f7a9718bd40fa703dc8030cbe84882c3fba68393d777e743d8edcf1bd916dd83e6d76ba3d14772c3d13227fbd7377363e357dda3d2b22a73c1dc6b0ba7beb44bc93b9a83d7141c73b3a3bca3c16e4f6bdf8ca263ddd7111bcab47073dd5ccdcbd1fbb8f3c5ba593bc7bac3e3d4e1ae9bd207ed0bc3d2387bcd782213dbd53c7bdc0ba7dbdf46b4abc29a4bc3c83ef61bd8d38bebd485b09bc2a3e513bb77f1cbc9294dbbde4d473bb87e626bc11a0a93cf530c9bd51971d3932aa8abcc270ed3c9a1292bdf1f8773a63b81fbc9acb4a3c80f5d6bc1697633a8e632abc86ff893ca1a2703831d9f8ba61d6dfbc78d4ad3f3b0050be7671363dff4907be6861a43f6f8711bea7c1883d8cd042beecf8913f0ce43dbd2f85993da1fe48becd47663f0dd6483d466b943d0a9f27beb73b1f3f39adfb3d3270623dc8aadfbdeef6b53eb4b51d3e146df93c1caf12bd3102fe3d335c0e3ec912743a46e4c23c5ea1ddbc2bcfa13d7027ebbb8c94343db8240fbe5538aa3c00000000000000000000000000000000488c93bc74f2503d168ffabd5fbe1ebdd58489bc523c203df7b09cbdf31aa8bdfeec4fbc019ebe3c90051bbd0bebddbdb66ff2bb934bbc3be4b307bb3f2fedbd4dfa1dbbf07938bc1d6cc43c2179d9bd625dbe3a6fa57abcfe57e73cefc294bd803abc3abb4d3ebce821923cefb9ccbc0000000000000000000000000000000000000000000000000000803f00000000bdf2883da5a37dbeaad8ac3fe16170bd05b2a43db12d7abe4fe58a3fe1865c3df207993d595f5cbe8afc543f8c2d113e751d883d4c682fbed231113fa04e453e65074d3daf0dd4bd5036a13e0e484d3eb1f3b63ccd1f02bd06b8d43de9d3243eb82b6cbafd53c83cb3f861bd20129d3d00000000000000000000000000000000000000000000000000000000000000000f87f7bce4d688bdb2f407394c8ec93ab507ddbc76777fbd2a4824bb521f853b84b9c3bcdccc62bd559d4abbca40603b1bdf92bc507045bd15c1c8bb1a5e4f3b4d7754bcb36921bd239910bc2f053f3b16ccb8bb99e5fbbc307227bcefe17bbaa68fde3ad3cca6bcca9a32bc53d97bbb00000000000000000000000000000000000000000000803f0000000000000000497808bded8f8c3fa9f955bc0fe6ccbb2648b8bc8df4693fcbdae138d49e63bb60b78ebc4daf3d3fa11b8b3b03271ebb2efd9cbcf158123fab6a0d3ceee2acbaf93ac2bc5351d23edb3ff43b69a792bba248ebbc51dd813efa43203bb659babbc05a16bdce82cd3d386e48bbbceefdbb0000000000000000000000000000000062e7e5bcb5d12ebd431bec3adca3d5baa163fdbca0a59ebd1c6686bbf9ac173b836cf1bc28c1a2bda9799cbbd024e33bc1dbd4bc542091bda34402bc3768e23b70f19ebcf7176dbd10171dbca37db13b64053cbc34dd51bdaa5e57bc6d18353b5d957fbbedda1bbdf9d65ebc3e736c398f35de3b0b94acbc04e03abcf989fbba2032013c8473e7bb24bbfcbb6ef293bbfa1472bd3f858c3fcb94e33db425c1bcdb768bbdaff9843f615fdd3df803adbc86ba49bdf6b75f3f78a3d73d2d5e7dbc87af2cbd1d51343f0da7c23dde183dbc5aee1cbd4036093f74b79f3ddd9d1dbc7c842ebd6463c43eb193793d20631abc4e8139bd97de6c3eee9c1d3d032f34bcd91647bd206bb33dd6ef803c1cad3ebcaf481fbda7c1f1bcd56881bb978018bcb642c0bc8db402bde859803babcd863ac21beabc09537cbd9cac2bbb11afd23bc41ebdbcc39b77bd53b602bca820193c26e8b6bc3ea384bddc5846bc825a343c74e078bcd20a47bd878041bc79c4fc3bbd0a1dbc3f753cbde87573bc82dfc23bf1215dbbabd905bd605a4cbc69a75f3bd0c49c3b0b38a8bcfec544bc6d4c3dbae27ec83b426ddbbb667cb9bb1fe2c3ba49fa77bdb0ff6a3f56b8873efb4202bdfc0e99bd8444613f2579813ea8050dbdcb1d5ebd5542393f981c693ee385babc546255bde06a1c3f46c9463e6f0295bc0c8c35bd252aeb3e5c8e1d3e173748bcc8c246bde52aaa3e0aeff13dd34365bcb9cf2dbdcad0513e21519f3d1a5e53bcebcc3dbdc21ba33d18d3183d0bb73cbcd07c0bbd4d899cbca873bb3a2a5d18bcec65a5bc0fabdabc6cfbb13ba65eb73bef3fc8bc59c559bd8bc584bb3744443c3200acbc762778bd8cae46bc3f41713cec7b89bca32d6cbd7f5c7ebc9146693c09d45dbc0a0c4bbd951169bc154d0e3c093ce7bb5cf42abdaf4388bc18c6013cdcabd9bab83902bd060e82bc20f6a93b5bc7443bb7f392bcd29048bcaece453b0c97853ba544dcbbdfaf83bb847daa3acb625fbd4f223f3f627bd83ec90d1ebd0d5990bda18a363f7c60cf3e451d2fbd1bbc75bda0161d3fe352b73e8411febc020d59bd720e003fd0d7993e2145bbbcf5f541bd1d53c53ec93d733e6c3770bc94d13ebdfd998c3ec7dd353ecc737cbcaf133cbd67ec2a3e76ceef3de55456bcea9b2bbd8e10853df4f3683d55d331bc1ddfeabcb91671bc1535433bb8100dbc71eb86bc0916d9bc1e08893bf8773e3c47cb92bc821043bdf7e403bcb8778d3cce1768bc148e4dbdb4ee7cbcc0838f3cf4634abc736657bdec1aacbcf83b953cf2082cbc8f140cbdddf876bcd590423ceebca8bbbc6f1bbda4bda1bc0be4383c724877bace5bd5bc6a9380bc2680d33b37f7fc3a8cb78abce1e927bc78655f3bd95d6d3b2552adbbf37885bb805e003bae8c47bd9583143fad9b153f367f36bd641a77bd6a310c3fcfeb0e3fef8241bd3ddc47bdb6c9ee3e0dd0f53e0faf00bd239444bdac80c63e86c4d03e4849c7bc083e0dbdc1bb933eab849d3e016b62bce6d129bd83025a3e5a86733e854b57bc350d14bd75c1013ed0641a3e91b716bc532c0fbd4b64453d60609a3d08ef10bc28cab8bc6ab584bc3bef8a3b5bd2bcbb3cbc25bc0f5aedbc182642ba554a643cdedb3fbc9d014bbd9f8399bcc251af3c76ad17bc5b2f5cbd9208e9bccc8ac63c589103bce1ee48bdd326f1bc84d6b23c82aab1bb4a6135bd645fecbcf68e9a3ce63530bbdffc0cbd8a00cabc80de4d3cc6c06f39f6a2cfbc8999a6bc49e1fd3bb6404b3bb5e566bc3e0047bc35a6a13bc7802e3bc10da1bb54e261bb4df7403b4d2127bd7cf0d53ef54a403f015944bd47ac5fbdcaeaca3e3e6d3a3ff6aa66bde82a3fbdbf84ae3e2902213fdf7d16bddb7d2cbded4f8f3ed5bb043fb919c7bc589217bdab145c3e997acf3e5b2581bcfd7c0ebda18e1a3ee45d973ed5ca3ebc16bb02bd0373b23d0f03423e8dd90ebc6bd4ddbc3d40e13cd839b73de2bce0bb3f7690bc86ae97bcd0bdd73a5e6851bbf45290bbee1bfebc67a919bc3592913ca70092bba4f54abdd47608bd9b95cd3cefc655bbacc540bd80d413bdc594b03c18311ebbdb1142bdd3b92abd5cb3bd3cf28027bb519512bdd63207bd5f76833cf2ed4a38aea203bd489705bd16ee373c2c179f3a12aca8bc1e56bbbc2fbbd83be7dd5c3b098e2dbccc1f69bc3698733bad353a3b03ec0abb962941bb0bc31f3bee240bbd8e0c863e0c316c3f09e25fbdd5f12abde2ad773ef1a8633f26d86cbd0bbd04bd96d9573e4b213c3f5a44fbbc005005bdbde3303e3f0e203fe535a8bce9a1d7bc7621053e8d29f23e283e25bcaa71d2bc3abeb33db6b3b33e8a73ccbbfe54b2bc1074483d9b27633e8ebdb3bb656995bcb9959d3bf25ec93d65e892bbb6ab31bccb2bb7bc5269a8bb44940abb0701203bfd621abde2ffdbbc2a3aa23c2f90c33bb82148bd131974bd41beb83caae8243bd58645bddec380bd69d6c03c8f1d073729da2dbd534069bd9659993cb12a883a303408bd3b8a3fbde650613c1071993ace3fd8bcecb728bde74d0b3cf8e5583be80981bcdd8b05bd4d88103ba9ab793bd13aaebbad4895bc2b5c81397d502f3b0d769f3a4ccf87bbf067f439cf84c5bcced4dc3d20398d3f6f9b53bd43cbd1bc01dcc63ddb87853fb0f84dbd1c12b8bc9815b53d2be4613f9a2fb0bcd240a2bc2e35963d076a373f64270ebc62d58fbc38705a3df18f0b3f4ff1a9b9311c84bc0329fb3c2496c93e5fa8f13a181c41bc5d19bb3b8e53773e1a419eb97264f2bbcf0f85bcd196c93da06c3dbb323e81bb4012eabc62d4a8bcec2a37bb0000000000000000000000000000000012e8db3b562023bdc7f074bd11859d3cba3e993b0b240cbd035f6cbddd16873cca52283bd74af0bc71364dbd26ef383cbc7aa63ae8c7bcbc52452dbdf32dec3b4477d43aba0a86bc060512bd9a42463bcb6ef13a09cf20bcd20deabcbdf7feba08f9093b4fd632bb4a179dbcecb39bbb0000000000000000000000000000000000000000000000000000803f0000000099bc24bcb31ebdbcf5188d3ff85b75bc2cd411bc6ad660bc1a6f6b3fc794deb9931a0ebc9c5052bcd0293f3f0a600c3cb83d02bc9d0e46bc038b133f7fb9203cafd5cabb5ea478bc5dddd33e9ffa093c153486bb68eeaabcb8c0833eb8a5bf3b4eb7adba5d17edbc52d6d33dcba59d3a000000000000000000000000000000000000000000000000000000000000000081fb69bdf534bcbc8463523c4a44be3b3d134fbd8c36dabc00b03d3c69010d3cfb4733bde0f9efbcc4680c3c6b3c0b3ccd0e14bd3fdcf1bcdac0033c31d1d93b6fe9dcbc64eeebbc3fb7f03a8ee5c33b36449cbc3b36dabce40706bb3428333bcbbcf0bb0321cbbce636c4bbbef802ba00000000000000000000000000000000000000000000803f000000000000000043e414bba83f7d3f6bf4fe3b8f7f1abc43f0c4bbb6e4563f5435583c77679ebbaa2f15bc691c313fc9b1913c949841bb5e9874bc3fa40b3f3356913c1aec7abacae2aabcdf67ce3ef4f08c3cbdbd9bba3f5fddbcfba1853ed8e8603c2ece2dbbc43d10bd5cdef43dd867233cfb10a3bb0000000000000000000000000000000063ed59bd67b07ebc0e027f3c0155943b87d487bd6bddfbbc3426703ce320043c21927ebd1b171bbdc6d74e3cce4d393ca07760bd03ef24bd9247193ce1db423cbf6b2cbd4be819bdbd31a23bd026283c9ff909bd5b7221bd5ae39cb90bcff83bceada8bca19e14bd05f643bb31f88c3bc58dd3bb8f35eebcf2540fbc533883ba3cf722b9266495bcb593f5bbc107bfbaac2166bceef97c3f4ae9073e8d1387bc690b8ebc43c1663f24c5033e7b0985bc493a94bca77b443fdbe1f73d214e1bbccaebb2bc872f223f19e4dd3d0d1ac0bbef4acfbcdcd8fc3e112eb93d73cf39bbcfb70bbd4352bb3e453f953d1f1b3abb895226bdf85a6e3e1c62563dd4de4dbbd96737bd7701d13d4f98fb3ccfe5acbb53ee13bdfc0d66bc00770e3ca3887dbb70493cbdb8f770bcffd77e3c19a4c73b5bc87bbd271901bdc29c853cd31d443cb6fe4fbdfe080bbd7512453ccd8e4d3c91e549bdd0122fbdfd8ac23bdc2f783c14fe14bde21414bd57fa3c3bd4a9413cb89df4bcbd9827bddef138bb5150333c13738ebc430601bdadc3a7bb672aa83be810b1bbbad9efbc4c1c17bcb7d6683b2d2f07b9763788bc80c9c9bb1d6f10ba20aca1bc14d5563ff6748a3edaa09cbca519e6bc0699453fa59b833e005a97bc625cd5bc4d3d263f791c683e97651bbcffcd02bdb1bf0b3f7fbf4e3ede73afbb39adf7bca6a6d73e381d243e42f0afbaddbe1dbd36399f3e346d043e13ab5239fc9a18bd9ca8493e0526b53d8c306a3ae5a637bd030aae3df05a543dc201383ab0ca01bd2a404ebc58d2273c88caa2b8aea826bdd42694bccd07853c6b3d173c51f459bd07cf08bd3de58d3c5dc8833cb31250bd753124bd60bf2d3cb7da963c19462fbd27ff2bbdc444ae3bb75c923cc85b0bbdb04f22bd98144c3a559c773cf180cdbc0f3a23bd88bb8ebbd665453c510b7abcf6530dbdeb99e7bb8611143ca072aebb90dfdfbc88d30abc5345b13bbcce6aba47de7bbce47bb5bb1b69ad3a177ac2bc1ba5313f1ebad33e32cc99bcd13506bdd02d233f03f0c53ec4c393bc8be006bdaac30b3fe51faf3e39530fbc65280dbd603ae63efd19953e3a8942bbde3211bd5873b33e4536713e0eb8ec3a02651cbddfd5833e46213b3e7b02363b5b9f28bd02ba233eebaa013eba8a833b573425bddc85893d4844903dacee953b6cc2efbc4d4a57bc50e4423c86eb943b92a811bd04fcacbc6897913cbebb683c63e030bd2fbf12bd3240773c21d8a33c0ec91bbd0b571dbdd4e3ef3b3d90a63c4ceb11bd4d2f31bd0072ce3a45aba53ce055bebc6b0201bdf027c6ba2316683c724bacbcdcc119bda90971bb6546633c62a536bcd21df6bcf83206bc1dbd223cc6003abb8bd7ccbcf57819bcd196de3bfc6ebe3abca18dbc87d8efbbacd6363b8664ccbcf1cf0c3f94330e3fbbc783bc05020cbdee31003f85c7033fae696cbcb71503bdd111da3ed0c5e43ed89d8ebb991713bdc42bb53ec70ac43e6315313a0c04e4bc3df0893e054c973eef47a43b91b918bdd1554a3ea881713edd5e003cf26616bd0decf83d8957223e89800a3ca0740fbd59e73f3da415b23d10520e3c5c26cdbc31ed8abcd5f96e3c2d36033cc653dabc7a24cebca1528c3c46e98b3c34140dbd19b826bd84c3443cc4f7c43c8773fcbc72bc39bd0150143b74a4d73cf539dcbcaebf30bdaf4c88bb4256b33cba95b9bc9a5220bd2acbcebb981e953c5d2c71bc0d8516bda51d32bcaf0c753c9e33eabbf8d4fbbcde3e4cbce2242f3c2f59373a3082bebcb73a41bc52d7dc3b6c82473b38ba57bccd46efbbcc146f3b6f0ad4bc5990d03e13d7323f27fa82bc00f412bdbed4bd3e4e22263f868932bca5e914bd5e09a23e47d9103f731fa438559415bd1354853e0c01f33edf2ecb3b293209bd57c44c3ee3c4c13e051a2a3c318a10bd7a16103ef93e933e27904d3ce7d80bbda676a73db2fb463ec53e593c3cc3ffbcbf90c93c5511d13d1bfc463c7722a9bc91a4a2bc5481403cd96e323c8b0689bcd8f2f7bcbed3453ca584a73c9f64c0bcc7f63abd6b3ecb3b32f3e33c307ba5bce1e82ebd3fc77ebb9654bd3ce98a9abc0c0336bd555d28bc87e9c03cea075abc918e11bda77246bc19c28a3cdf4b0dbceecc0ebd0f2885bc807b6a3c159d17bb4e72d1bcc0927abc6e20033c92bc9b3b8daca2bcf68372bc5bb9ba3b59f9c23b28ec2cbc52e50dbc5036553b0edcd3bccfba873e67e0573fe54d2bbc52e710bdb1b3743ed371483f0da077bbf6baf3bc8c27503e27042a3f2902c23b408e08bdbbe3283ecfa3103fa90b683cb43fecbc3032fe3de5eae13e21a57d3c450e00bd85d3a63d57dcac3eaef8933cf428d8bc541e363d35b1633ef44d6c3cd4aecfbc3b4f303b6e42e93d8bf37a3c220385bc64b7c8bcf2f0fb3b570d3a3c9bd927bca76212bd46ecd53b5008bf3c2d1621bcf0fd3ebd5cdee2bb24f2e33cb7f12cbc40043ebde45c83bcf485c73c879a0fbc30a92dbd8479acbc18feb43c159dd2bbb2660dbd873facbc455e763c335609bb460bfbbc414bc2bc8429303c1698503bf934bdbc8d4cb7bcf5d4c73b8c701c3cd90d5ebcfaec9dbcbb1bf93a0870013c1eadd5bb94e74abc563b98b9bc56c4bca9c9ff3dd55b7d3f47ececbaa12bfdbc8215e43df321693ff01fe63bba11f2bc94fdbd3d38e4473fa0b5993c11e4ebbccc16943d167a253f63e6c63ca124d1bc5939523d619e013fc189bd3cc54ccfbcb756e33ce24cc23e81c3bf3cb443b5bc35cb993b7a5f7e3e2c4fa63c302d97bc506597bcd8e7f53d1e3b843c73802dbc23fdfabc34395abadbd23e3c00000000000000000000000000000000c73e91bb0a481ebd27ec6dbcee73b83c874b9abb604508bdef709cbcdac78f3ca311a9bbd34bf9bc45ddb6bc05f4683caee8bdbb45d6cfbcaa6ea3bc685c253c8a6469391595aebc518ab4bc7f6ebb3b50a6543b08f46bbc817ea9bc8ce8073adb690a3cb3a31fbc17ab9dbcabb1e6ba0000000000000000000000000000000000000000000000000000803f00000000d199a7bc52390fbc9da37e3f0fc89a3c26d396bc38faeabb417c573f59f6be3c17ab9bbce9fe0abc1e40323f1327c93ce8da7dbc9ef03fbc29de0c3f4e93b13c929e86bce58a8ebc61e1d03e1ebab13c787255bc9adec6bc3395883e1af88b3c99ba38bcd622f6bcca23003e4dd76f3c0000000000000000000000000000000000000000000000000000000000000000441d7bbc0e861bbb92f9a43b442a3d3bae3267bcd88566bb4fc08b3b00794a3b46465dbc335d82bb849a893bcef0543b843a37bcfe1989bb2368483b0a12403bb59c36bcef2daabb30db253b2a6c483b3e6e19bcecccadbb3f55bb3a7e39263be2420dbc0eadb8bb041f7e3a3d5b2e3b00000000000000000000000000000000000000000000803f00000000000000006502523adf26643fdc33aa3bce09eeb98e8fa2b95655433fae08c03bc152b33906bba0ba56c1223fc99ece3bf075253abff00bbbcfec013fc494c03b17f2873a0a196ebb8912c33e9f4cd43b072bd73a3da29cbb6fbd813eca7fbc3b3761f23afb56cabbb9e4013e52d3c53be704273a0000000000000000000000000000000008316cbc1ccbaaba44bea83bc73c273b4c2d9cbc515970bb61f7c43bef977e3baebca1bc0b6fcebb9900cb3bc198a93b632295bc0557cfbbd7349a3b0962963b0b5d87bc4046bbbb5a697c3b1e8b893b2dce75bcc363ecbb8013453b7b6e893ba3674bbc8a1110bc0eab1c3be4ea8e3b8ee935bc931cf5bb8c31333a3b0e493bb4b5c9bb3ef09ebb8e60ab3724fcec3ab070a93982df633f5bb9043ee214a4baf37345ba51a7483fce76ef3d34918bb9028845bb78502c3fa49dd33dc9d7e73abf5d4cbbf7660f3f1495b33de20fe53a571b65bb3fbde43e379a913d3d22083b366ab8bb6ab5ab3ec146653dd8512d3be91ed0bbdcf6643ec2d1243d31d9783b535708bcab4ce33d36e8bd3c319c533be3f2c6bbda7600b9edf4963bef2f113b610a62bce88a28bb9bb98e3b7c54123b8996a4bc71e89fbbe733d33be8029f3b93368dbc4c30b8bb0eb7963b8edb903b4aac96bcb0cae9bba5cfa03b8203ba3bffbf75bccfa9f9bbcd756d3ba4379a3b3ac077bc0a3404bcdd8f2b3b38b99a3b50cf3bbce288e5bbb848b23ac9ad6a3bc1bf2ebc570ffcbbbf04f839ef744f3beac6c7bb3633a7bb159b3bb92e06013ba423d1ba929e433f7cb5823e31a2a439b9d028bb70622c3fbc7c6a3ead9eb7392b9c54bbeb4d133fe7ca493ed07eaa3adb9293bbf25df63e32202c3e73c90a3beec3c8bb022fc43ef4d0093e69e5403b7133e1bb552f933ef66ad53db285683b6690dfbb27fd423e82ba903d8c2f603b53130abc9b91c23d6902213d01b9843b729dcdbb9b6336ba8977a23bbe463f3b5d5c4cbcb5953dbbdf7e9b3b94d24b3b51ca98bcde3cbcbbe572cf3bccb3b53b022394bc56ece9bb04dca53b74f0b53b91448cbc228900bc0224803b77bbb23b175976bca915f4bb93c73c3b21dca43b798057bc1e5f16bcb0f1693bbba0923b79dd5bbc6f2722bcc70ac73a1792923b808c21bc5f2708bcc89abab9a9a49f3bf2d9bbbbb11aacbb0ae49fb990a40a3b774107bb57ac223f6ed2c33ee133ffb9dda979bb98af0f3f496aae3eaadf993a2f439ebb234cf63ee79d963e776c193ba5a9bcbba1e8cc3e53eb7c3eba66593b2740c2bb4a5ca33ea84b4b3e6bb96f3b8e6206bcd252743e162a1b3ee8a8863b0c61fcbbde62223ef7c3d43d95b09b3bf33516bc9b149e3d9bf75f3d9a00cb3b37e7cdbbfc609cbaf0c3af3b1de96b3bc72b26bc47428fbbccae703b7144293b4e8c8dbcca3befbb7305d03b69f1c83bd91a80bc800e03bc2fb7923b0a44b83b3f4a84bc9f7202bcf8565f3bae1fb93b3a3532bc9b58cfbb2861e13aab54823b55cf58bcee330fbc9c8fab3a50229c3b557b25bc5567fdbbd9670f3a56bf833bec0a01bc72b516bc5dfe84395a50833bf27c81bbad6fccbbd8229139a0d63e3b26306bbb0ddc013f5891023fbd30603a0ebab7bb2202e63ec35de73e3de4053b7cc5c7bb4c9fc43e49b9c63e41c73d3be24dc6bb71cda33ef608a73e6e4b843b9556a8bb69f1813e4ec6843ef9d3663bcf7b00bc9e01433edcca4b3e3f4faa3b43cdf6bbc2ad003eb682093ead6fb03b528021bce6de733dfe48923d3f2ecd3b03ade6bbd3b04abb3bb8c13b0aa89f3b502c3bbc60ad9abbb6a9943b81738a3bf6cc91bcd6181fbc0d9ed43b6dc2f23b690774bc30e207bc8147743b071ed23b422872bc137317bc51641b3b8fbab63bed3a52bc8fe408bc2262c93ad8cea23b1fe63fbc3c6a11bca5af2f3a87cc993bd84e20bc71fa0ebc00f896b9e5fc813bd0f306bcfe8317bcb68ff4b9437c6d3b9d4c68bb67bba7bbf16078badae4f73afb416cbb145cc33e9be9223f32a44f3a123cb5bb1dc6ac3e5a8a103ffe39f23a5a04cfbb0c8f933e7329f83e404b8d3bf5b5ebbb4512753ec6a3cf3ee187da3b603adfbbb418433ec959a63e43a4ae3b956202bc4149113e33187c3e268dc43b389a0bbca1d9bd3df8352a3eb6a1cf3b689321bc84b1353d0e65b13d7c0dd43b11a2bdbb62da48bb580c943babd98b3b73641fbc86cdaabbde8c843bb409953b83216dbc7a4d0dbc4f068e3b1a8bd73b431d45bca06ffebbb5321d3bbd9cb13b6ae059bc55a01bbcdc8cc73a2e0fc03bfb123abc4bb9f7bbd65a413a33689d3b60e12dbce27d1dbcc34c39ba9bb68a3b7940e0bbb84cf0bb4f694cbafedb513bdc7adebb8102edbb2219a8ba342a4e3b1dfcd7ba4a73bdbbc0d00bbb12f7843a6b3670bb4842823e043c433fa77cc73a18f2c6bb10ec653ef8c32c3fa62c6f3b3a17b9bbe0fd433ed9d5133fdacd963b0de2eebbb006233e002bf83eb9d9ce3b53b3cbbbb931013e941cc63edb25cb3b6d910dbcb2edbd3d9530963e7d47f03ba353e9bb2bdd763d7b83483e503ac73b36231fbc6fbcde3c7e7acf3d774ce23bd8cc92bbe2b296bb359f5d3b9175c03b01ea0dbccce9c3bb2b124a3b56ca9a3b62d44abc65ed11bcf8ab483b77a3d43b88bc2cbcd1a822bc3aa34439e455973b872a33bcf7e415bcdf6e17399a47a93b44b713bce20404bc4fe92fba4df6863b8fa403bc77210cbcbbb9caba5b076e3b3da502bc80dd2bbca58e90ba059c713b1502a2bb7436d6bb551e17bbdcac0a3b9e88ffba5c51a6bbd5990ebb436c9d3a026080bbf094023e8c92633fe3e0363ba4d3bfbb2913e73d50fe483f8b8cb03bf2c7ecbb9550c23dc3912c3f0796e83b5127dfbb5ed9a13d68dc0f3f1f69ed3be418d7bb11077e3d6ae4e53e953ce33b350bf7bbe412373da566ad3eeda8f33b417407bc927ae73c7bf9683ef9f9003cba83e4bb296c273c2d71eb3d31a0d83b331dbabbd892a8bb35a4463bf55da43b000000000000000000000000000000000dcc0bbc42bcdcbbba47b2b851b4b53b5781f5bb9290d8bb5919ee38658a853b2575efbb89d8e4bb1b2d63ba20de693bdecb94bbb3d6d3bb40b2d5ba9abd283bff64adbbb3bad0bb2a4712bb3f92183b353a58bb6ea5bcbb292f1fbb42ced03afb4314bb728cbbbb21a43ebb0b85903a0000000000000000000000000000000000000000000000000000803f00000000015a80bb6c541439fd22643f99a3ba3bac0292bbe34a373a6f3a433f45f0b43ba642aabb691296b99cd7223f4a5eca3bac6eacbbf3d1b7ba4914023fe569ba3b5356b7bb683f2cbbf6afc33e5fe5c93b0ba0b8bbec757abbbd9b823efa32b73b00c8c1bbc945b2bbf2ab033e88c5b63b00000000000000000000000000000000000000000000000000000000000000005149623cc78717be0b7d43bcdeb8eb3bee1ea43b7e610ebeacba89bc865ff73bbbd29abb668cf5bdbac5aebca2abc43b1ea9c7bbe06ac4bd5995b5bc9779b03bf4b2f5ba62d393bd51ad9cbc03f1ab3be650163b128036bd467956bc99c58f3b1beab23bdd5488bcc53ee5bbf1e22b3b00000000000000000000000000000000000000000000803f00000000000000004b05bfbd7cada23fc3d588bd4f06763bcac280bd88cb863f8a14cdbca86392ba101735bdbf8f593f987191b8120d6cbbb37b08bd0480233f39f2543caefab7bba16de1bc8e99de3ed6b1723cbbffd3bbf6fa8cbc71fd733ef3ba133c68aa8bbbcf2734bca77d493dbc6ae0b92dd60bbb00000000000000000000000000000000bd5b883cde30c4bdd4171d3bef849fba57ae1b3d71e41fbe763441bcd718183c28edb33c947e23be9ec4c4bcc5a4ee3b07c1423ca1130fbe7966f3bce7270b3ccab4d63bed96dfbd2fa3e8bcbbccc03bfb172c3c96c3a7bd93ddd8bc5c32da3b13b0473c188545bd0f2a96bc9784d13b4b701e3cb03d44bca89fd3bb5e72de3b3b2e313caf910b3c5f7a0cba45db0e3bfac317be4f62a23f67ce643d8114a9bc069b23beb0089b3fbc80553d13a597bc660dfbbdf88f853f959ca43df311b0bcbe16bebd72fb553f1e3dbf3d7929b6bc9e6d8ebde7211e3f9b58b83da8cdabbc978f5bbd3220d43ea4199a3da8909dbc299609bdb5c85a3e49704f3d179974bcc73c2cbbd71d073d4153b73c6110bebb960bf2bb37b6abbdc45960bb1535babb1ca02f3c868e8bbdd8e0b03bb46885bb7dbfd03cdbc000be8fb99abccaea463b28ab6b3c614401bec46d00bd669eac3b661b6f3c6f7df6bd07911bbd28889e3bb51c073ca259bebde81c17bd450cbb3bf36d603c365f91bd11620cbd489caf3bdf8a683cd5e32cbd2f01ccbcb49ba73b0d35743c83b956bc256564bcb5b0b83b68f6563c1be2cf3b81d223bb61913f3b729013bedf93873f253a7e3e89b653bd78142abed765863f84257a3eb4ab5dbd583cfebd1c00623f0057783e8a8a39bd49cedbbd01a03a3fbb8e613e37dc2cbdec4a9fbd0a03093ff6be3e3e28e604bd400184bded0eba3e23b5163ee524f8bc77f037bd013b473e4cd0c73d2503c0bc5f6aaabc487e243dc7403d3da85383bcd52f39bcc3476abd18a0863ba2552ebcbf45d139eaec53bda642863b88c7d3bbd7258f3ca2b6cdbd3581f3bc839c4f39686b833cbca6e3bd9e8a3cbd6b8a7c3bf2e95c3c5139d0bd342851bd5c8cb03bb8ef2d3c966cabbd7d9e46bd0a16963bcabe6e3cd2dd7fbd0faa2cbd51779f3b7e0b803c221017bdde3e03bd679f9d3b5383843c68436dbce34b91bce712aa3bd7b7483c32a0373bf2478ebb60dc043beeeafebd490e5c3fa94fe63e0186a1bd419715be291d593f47d1e53e716cacbd6029fbbd12623c3f2c4fd43e3b3d92bd85b5cabd83aa173f1eb4b83e65bb6cbdc017a5bdb734e33e4bbb973eb05543bd8dcd81bdb821993e18a0623e8bff1ebde75d40bde3da233e2231123e773f00bdddfecdbc01c91a3d1481893d347ab6bc855b9abc635b2bbd2c01cc3bd41476bc2f0c16bb08f022bdfaf00cbb5d3cc8bbbb5a353c12339bbdb9dd2dbde8e0aebaa2bf3b3cb00bacbd6bab72bda964153b42a4273c0905a7bda2b084bd637a4c3b1633273b73a76dbddcef3ebd40f6643bad884c3c225359bdf38450bd05238a3b0796513c7715f4bcdb910bbd924b6b3b1612533c5d5d31bc554ca2bc532e903b2b102f3c791c243b836d72bb27316e3b02eacfbd5845273fe87e273fe7f1d0bdae61edbd5827223fea45273f6a78e2bd0e3dc1bd3dfe0a3f75e7143f0ed5aebdf689acbdc9b8e53edf0e003f275a8dbd3f8a6abd9050a43e4433bf3e5f9f1dbda89769bdb4d06b3e9557963ef5532dbd5bbf20bd2410fb3da70f373e94c7f5bcaa5ccebc69a6fc3c6f9ca33d44e6c3bc88f68fbc370a0cbd6aa11e3bd90791bc70f8053a67c5f7bcdc4685bcfbc485bbb47a6d3c24996dbd2ab18cbdcff1b1ba0b77893c8b3e8ebd4a02b5bd1ee4373bb12c743cc26385bdcb94adbd5cbdd23ad175503c0e5a6fbde51397bd785c543b2039603ce6e42bbd008072bdbb81583bdc1f4e3c11bcd2bce58829bdb307853b655b353cd0530ebcc679a5bc411ab43b6a54f53b8c88bf3acb1e0bbb39479e3b384da2bd283ae53ecec55c3fce1cfebdcdacb4bd148eda3e38af5d3f3d1d0dbed59e99bdb85cbf3e1c0b453f6c68d9bd8ba781bd44389c3ef704233f9996a0bd22c561bd09a6703e009ffe3ec68d64bd1c1a30bdd4a51f3e0803b43e53d92fbdd74efebcce5eaa3dabdb573edd9401bdd8709dbc3448903c2055aa3d0610c1bc955123bcd17be7bcc8d514bc638c88bc29179b3bd33fa2bc782325bdb91c0ebb1d6f733c4abd17bdcadbcebdab51933a5725883c21fb44bd51dfdabdd8001f3b71d28a3c6fd747bd7368ddbd8d21d238cb1d473c0b5925bdf2d7abbd792c3bb98f86503c1cea06bd2c798abd386052ba17481e3c395b94bcc4c832bd5b52e23a93fbf13b8f8ababb7402a7bc5a76e43b7226803b0d92593be990e33a741bb93b632b47bd95e67b3e9994873fce5313be740656bd6320633e2c02883fecc71cbebe813cbdae7c4f3ed3db673f93cad1bde23f25bdcf122b3e6a4a433f307ea2bd59ce04bda911023e8fce113f0c8341bdaa21d2bcbc49b23d4551ce3e3ff815bd383fa2bc91e6343d8adf6c3ea1e2bebca24a03bcf50ec73b9740963d961991bc6a7331bb7a26b7bc1b2002bd3d4e5abcfcddc83b46f331bcbd659ebdf4da583b03a3493ccb12cdbb5e8611be156d053a6cf8933cbbcacebc471b18be526127bb501c8f3c05b004bd88e207be74828cbbd0f46f3cac1becbc8cc7d6bd87b4c2bbe38f473c21f5a7bcb1a3a3bd31379ebb7732fe3bfd960dbce3744cbda80502b9b3b6a83a865efabaafcc8bbc7416043ca587793a633cb03b670e913b6d89d33b59489abcfffe5c3dc55ba23f910715bed47745bcd084043dc08e9b3fad7f14be61307dbc7c3a383da0fd863fa2dbbfbd288773bc2cdc3c3d1e215a3f867169bddb0062bc0f201a3d1949233ffd2debbc63b334bc22aab73ca10ade3ee4cf8dbc0362c0bb7889003ce0c56f3eb4ce2bbc714aa53aa45cb93aee2f4f3d542303bc46602d3b9fc8a1bcbce28cbd0c7214bc00000000000000000000000000000000acb15f3c71a43ebc911614be6e442139836d783caed387bc4e810cbe7375f0bbbec2653cc983b5bc86def2bd7a7422bc9675383cea1ba5bcaf7dc3bd0a6733bccfd9043c195461bc8b2d93bd192a27bc21149d3b5f9594bbf4f43dbd1a22efbb29544f3a94f9173bb2bb91bc7b5643bb0000000000000000000000000000000000000000000000000000803f00000000b28c103cf670abbde396a23f0b7295bd87d9a53bdabb62bd79ce863f562b02bd2cc11a360d4314bd2fbc593f900eacbb0fd59cba8f52e0bcd42a243f81020d3c1673143a4176c9bc67efdf3ecf9a4a3cd0413f3bcfcda5bc7da1743e60c6363c212cb53bd552a3bcfdde513deabea83b0000000000000000000000000000000000000000000000000000000000000000be55b1396195e7bdfc2f8ebcc6e0483b2aab923a584ee8bd7a21a8bc3488a23bcf25e6bb960cd4bd9d8099bc4dac723b44939cbb0ab2b7bd056eadbc3be3783bbffab03aa29e95bd67e1a8bc4e90263b9afa053c5a6253bd202584bc8a18f6b739fd4c3cc83ad7bc0cdd4dbcc290aaba00000000000000000000000000000000000000000000803f00000000000000004e288ebdd73b993fdf3be4bcafc5d2bb62b763bd94e97e3f90e2c13bf58001bc3bf244bd449b4f3f56c1d63c07c52abc749936bddb571f3f7588083d37da3dbcfc2c33bd40c1e03ea396003d273a4cbcd2551cbdf9b0843e88f09d3ca73b44bc73f40cbd9197a63dedf1a23b263d21bc000000000000000000000000000000008904243b452397bd36e986ba8b43b7bb88ba043db86a06be91daabbc9fa8173b89b5a53c88510cbee201e4bc5196383bbdbb783c75b000bed8c604bd6f4f213b936a4d3cb255d6bd549a02bd9c02f83a9949a13c49ebaebd26daf1bcc6b2253a682eb13c9d5862bd5d8dd4bc18175c3a537b943c5c5aa4bc540142bc199ef03aa362863cb6af7e3ac956debbd5da20bb331ae0bd52d8983fe487c63dcde703bde30807be7d47913fe9a8d13dd6aee9bccbfed8bdfbeb773fc592fc3d8720ebbccd0bb6bd6122483f05c9013e7f8be0bc8f869dbdc9be163fe28df13d6ac3cabc677b90bdf831d13e2156c73dd695c8bcf21863bd9434693efe75893d92cdabbcd521f2bc444f753d3a94ee3cef174abc807ccebc4ce77abd179a633a5a3b40bc1ac6a43b291576bd335cf83b4d65f5bb39b6bc3cab20e2bd538b89bca5a641bb67752c3c8965dcbd99dcd0bcf6e1093b133e993ca72ce6bd9b0018bde3e7d53abebf783c9401bbbd578711bdd709663be2a2c43cad329bbd27cb1abda7baa8394cf8a03cba7148bde2e1eebca407fb39b61cbd3c825aa6bcf581a5bc1e21f0b7f8d7953c96db1e37fa10d7bb5678f9ba7187ebbd824a803f79e28c3ea0f461bd2b3710be2c857a3f9e468e3e4ba56abdb009d8bdcf9e4e3fada3893ea22e33bdd8fcd5bd7b6f2d3ffb07803ec4c329bdccbaadbd8084003fae6e573e8fe802bd0fafa0bd659eb33e47ad2e3e9bed00bd977b71bda4694c3ee0e8eb3df610c4bcaf4e20bd1d765a3dbfdd793db3f7afbc27cbc2bcc44143bdaec7293c648c5cbca6ee2dbb4a3b55bd3abb583cd461fbbba061963cc16cc0bd188582bcebcb72bb2c86a13c804ad6bdca2d15bdf367bbb9457cb53c7410cbbdc0eb32bda2fac13acf39ae3c96d8b1bdfd0842bd8896a63aef01cd3c83a088bd4c6635bdebd6343ac944d93c1b4337bd3fc819bd26234bbab566c53c3f7d98bceef8cbbcfe4bb1ba1370933cf55a67bb45d032bc32df81ba42bad6bd5afc513fc129eb3ec47299bde3fc04be37d44a3fb871eb3e9304a3bdbca5ebbdd3d22e3f3c50db3ead187fbd5cd2cfbdf4d80c3f62a3c03efaa64fbd1ab9b5bd1707d53e4705a23e841122bdb7cd9abdc700913e4eaa783efc3e0cbde5a778bd876f1f3ef108293ef179ecbc977d21bd9bb7273d4856b03dedebbbbc139ed7bc0e0426bd707d993c23fc6fbc8d6aaebae40642bdd16e583ce40ae3bbfa848a3cb4cca1bd2cd1b4bc8d9ea9bb2c66963c86e3b2bd33a229bd1906273aaf19ba3c122fb1bdeadf5bbdccff8b3a11fe1d3c937484bd1adf25bddf76873b0e57d43ceb7571bdf80c51bd5be562396d8db53ce6df18bd0ede1dbda75a40ba3debae3c2ac282bc744bd4bc4d68593864c78e3c0e2210bbc63339bcfbb1f8b9e37cbcbd0849223f0e45243fe78ab3bd70e0e7bd21df1a3f9ec3233fe491babdbebec5bd6a30033fa27f123fe99283bdec74bbbde2aed63ec3aa003f1cdd59bd91028bbd2c649b3e9c7cc33e3279d6bcf82b8dbdbd4c593eea529f3e249300bdd81351bd960be83d64ca4e3e4921c4bcf8ba13bd5636cc3c367ed43d748cbebcd8b6b7bcbab31ebd1c95993cc1f26dbc405d643b37cc37bd21c0c73b6427acbbf7abb33c42728ebdd4421dbd9877dabbaa9dc83c28359cbde7fb7dbdebcd1bbbcbf4d23c4efe91bda5808cbdd0df93baf99fd83cde0084bdc49985bd8c5ebb390ed1c93cee2840bdb8aa71bd30629dba2668bc3cfadff6bca2ee3abdb89de6bae1ed953cb19733bcc187e2bcacbb44b9bc6d563c72f0b339e3c31bbc98c8bf3ab6e89ebd2511e73e4256533ff5c2c9bdeacbbabd6e08d83e0bb7523f9c68d7bd5ad5a7bd7b82b83e54e03c3f780999bd8b7c96bdeaa4933e77241f3ff5fd55bd46c786bd4a5e5a3e42a8fe3e082f0dbdddff57bdd9d40e3eb62abc3ef94edcbc519927bdd43b8d3dab17733e029dbdbc9b85babcbf5b8b3bba56e63d4736abbcb56c76bc21641bbdaa7b393c84026cbce7041a3c168812bdcd1f42bc8b2c00bc5566c63cc2f65fbdb0a682bd778813bc7139b33c0bb66dbdf21595bd9864f5ba149ee63caec969bd8cf3b2bdf67593bb1128b43c70ab42bd880796bdd50c64bbc701c33c39a410bd4d318abd1de182bb978b9a3c56c3bbbc441042bdd8b9f7ba673e433c7c2992bbb1bddbbc0373503a011ed73bbf1ea43ba9b29cbbe3a8503bd2fd61bde4a9893e73bd803f11c4debd44e281bd9567753e1f2f803f39cce2bdcc9161bd9149553e7572573f1d696dbdcaae57bd1b12263ebd8a3b3fdc4232bd398533bdb18bf03d90cb0f3f77b2a8bc5db919bde13a903df58dd43e19cc8fbcd2b9e1bc4dadfb3c6d2c833e44ce48bc2a8d35bcefbb47bc78d7de3d03ca95bcfc4085bbe4de13bd5ef8f6bbbc136fbc7e1f493c2b31ffbcbf2b2bbd75529abb5847b53c0d85ecbc63e4d3bd053e75bc7e67d73ce3a31dbda47deabd21be48bc72cbdf3c7b1120bd3fbcddbddab539bc774fc23cac7307bd8297c0bd336728bc7e23a43cc1dfb6bcf64a9ebde2f724bcdc325d3cde5b1bbc470961bd54b8dfbb17653e3bdf784b3b9859c6bcf699ab3a0b89dd3ade3d103cd88b18bb7716173bad3ef4bc8787b73d7707993fe26ecebd478fcabcd05c863d2c92923fbfadc4bda9fbe1bcf0d2793d00e37d3ff35e3cbddca7ddbc6dde423d50a24f3f75a987bcf0f4c6bce272f93cb2921f3f01f6853a4b528bbc0bb9093ca48ce33eeeb4033b020d18bc9f662cbcffc1873eb19240bb5ac44a3befdcc6bc0c14bb3dc86051bc3377c43bf9ff1abda5a116bd9fae5abc000000000000000000000000000000000be2a43c69d5dbbc5d00d6bdf0c609bc0aefae3cf21dcabca6cadebd84064bbcb43cac3c5c94e2bc177eccbd40ff44bc2edd9d3cc28ec1bc9b07b1bd2dca56bc045a763cb5565ebcc88195bd7d8b55bc6d13183cf6ad8fbb99184fbd9fff36bcf7782b3b61fdc23bc5dddfbc1e7ef0bb0000000000000000000000000000000000000000000000000000803f000000008612b6bbea5664bd011c993f21c8f3bcc1fbc2bbc6f62dbd950d803fa8d8773b706430bc835612bd9f5b513f9735ba3c24af32bc38380cbdbb8f213f0e6af63ca248b6bb898519bde585e43ea6f9e63cf7d13cb9099c0fbdb607883ed2fb823cfbc5f33bc1291abdeb4fb13d760b553b0000000000000000000000000000000000000000000000000000000000000000641c29bd32d614bdc507043b1033a93a143f18bd0f7b2ebd4931af3ae27a843bb17115bd0e1b31bd213ddfb6cdc0d23be788f7bc4e842abd8c4736bbd060d83bd198b4bc879321bdf147c3bb9f4f303b6f9708bc424e0bbd92f536bcc2d500bbad4d893a7849e1bc481b64bcd2d5d4bb00000000000000000000000000000000000000000000803f00000000000000000fe868bc5699823fb8a6173cabe9f5bb810a7abc0c5f5d3f2c39ab3ce643c3bbe76089bc8d3c363f6146e83cbc6f96bb189ea7bc4a310f3f0092f73cb6f41bbb5dbfc9bcd7e2d23ed109d93c3e31a6bb8e7ee5bc6d61863e8643a33c6547fabb925506bd936ef03d59ab313c799928bc000000000000000000000000000000009dd41fbd632fb0bc7f4f113c61c895bbf7fa0dbd656534bd377f43bab2a54fbade9413bd0a5f5dbdcf8e5dbb86cf933b7c4209bdadc763bd86ab9fbb0b14913bdbf5d9bce2a257bddca10cbcb0a4b23bc49b78bc8f3d4abd77c251bcb55b093ab12c03bb93d32ebdf4138abcfd5282bb77d04e3c7fb6fabc50c99bbc343c1bbc24c02e3cd62688bc2f8e69bc37fc02bc347aeabc7485823f8bf4053e057eacbc00ca2abdcc51713fff6a043e8bada4bcbad310bdcebd4c3f451a063ee02647bc9e440abd2cf6273f17a5f53dbc9a21bc63be17bd8eb8023f422bd73dba11febb07f123bd60bdbe3e8184ad3d5be11fbc55ce31bd8db16f3e5e7b773d283737bcc27731bd993bca3d3ecd023d57ee65bc77480fbdef709abcc018fa3babb921bcc6b506bd145ba5bcacc73c3ce2d155badb2011bd8a2730bde8d2003c2e669f3a288314bdeed636bd6b66533a7723db3bd258f3bcadef5ebd8d77b9bbef9bce3bd7aabbbca57748bdf1c229bc447bec3bc26930bc956148bd7e1576bc6e06213b1a24bcbb498219bdedd667bc5727073a7cee483c88a5f5bcfa879bbc665dc9bb7a435f3c4d0481bc882574bcd4d1a3bbe9461bbd19b95d3fa6ae8d3e6d84d7bc1fd450bd46c64e3f806c883ebdc6e5bc366322bd82c92b3f5bd5763edc5162bca69f37bd6ef1103f78695f3e0d133abcd73832bd0fe6de3e203e373e8e16cabbe75945bd946ea33e551b143e8edcf5bb1e502dbddf9d4d3e0102c83d84c395bbcb493cbd92e2aa3d1881693de0321bbc187e08bdba7185bc9b07583ca0d8bbbbbef207bd96c4abbccc31953c6843253ba1d805bdc46f24bd6dc1173c1a14a03b0e43f1bcde024abdb37da7baa963073c78bfc4bc2b7152bdf70fe9bbe9d8f83baa909abc67234dbd9f9831bc4a5f0c3ca481b3bbdc1342bd288183bcc907a93b50207a3bc86023bd2bd1a4bc74b455b8baf4523ceaf6e9bce9b397bcfccb5ebb933e2d3c937580bca51b49bc75da15bb91161fbd415b373fb6fbd83e57a6f2bc04c554bda49b293fa99bce3e844eefbcd64c4dbd5363113fe82fba3ebaa28bbc9ef550bdfcceee3edc89a03e24892cbc390349bdbb0cb93ef56b843ee3e18ebb58564ebd82d9843e8fe34c3e64718abbe45248bd04aa243eb8bd0f3e0acc3dbbf9e236bda6dd843da362a03de7db8ebb348701bd45aa8cbcc1ed953c4100ccb95d63f1bc2409b9bc5d959d3caf91c43bab9edabc232d22bdf14c1f3c3d86123c4ed3bdbc86653abd18a93bbb600c313c8b2a96bc8ccf50bd25a828bc5d8f3a3c1d3c8bbcc7eb29bd844517bcec1d2f3ce28f5bbb5e5338bdc5799ebc5a6bbd3bdbaf343bef1b12bdda1693bc82a1c33a44765c3cd8acdabc213392bcea4a89bae82c363cf68a7bbc79ae33bcda8e07ba68381dbd9ccb103f9e4d123fab80f3bcdab14fbda5ab043fc8080a3ff441e4bcbc0c41bd7166e13e4671f33e201d45bcc6c74dbd11dbba3e2f8cd13e7dbabbbb8e1327bde13f8d3e3be6a23e568b7a3b723647bd41754e3e7b40833e13da243b438f32bd9394fa3dbc46313e81c9db3a36db28bdd0bd373d59ffc43d22da863acbaef1bcc6be9bbc7272a13c08be183ba7f6b2bcaccdcabc0258953cc8cb163c420d7ebc9cfd2bbd9ced9f3beb7a383c33d649bcd0af48bded8b0fbcceaa533ce74a00bc64de4ebd642e86bc98d4453c8d6f9dbb393241bd6cc4a8bc482d233ccaa38e3b3ad12cbd0e0cc2bcb989b93b80e5393c2c5410bd483ac0bc721ce23a2439873c64efc4bc74a49abcceee69ba9673573c6ea260bcfc312fbc0b4fc039f2fb15bd9e04d53e4520383f3348edbc090c4ebdf197c23e905b2e3f9a5ad5bc8c544abd762ea63e3d5f193f672d28bce7e941bd53c2873e6731013f68747fba514e40bdc7af4f3e79cbcf3ecaf3b23bb2f039bdc6b7103e8ddc9d3efd39053c6abc2ebd772ca53d2ae6553e3db7c83baffb14bd16adbb3ca79ae23d7131803b82d3d1bc2e57b7bc752e8f3c9a1a573b88181dbcc0dddebc32a73b3ccd20223c638e58bbd9692fbdf49aa3bbf8b0443cbe35ecbb7a2a2ebd88e064bcc7f2513c7c8b2b3bb1eb41bde82bd8bccb9f2e3cff795e3a49ea25bd7ec2dcbc38b3103c223a293c94021abddf22ffbc0f4b3a3bfbda043cbf75e7bcffe1bbbcb8dcbd3abdd5953cf35192bcc4a0adbc1a0b4fbba1e3583c7b9515bc7bc52cbcbdeafbba63550bbd49d7893e08fd5e3f3722dabc54533bbd083e773e1252523f1a99a6bcb18923bde8f8523e977f303f5237253a45ef32bd7b65273e689e183f0fb80c3cc9441ebd10defd3d113fef3e63567f3c01ca1ebd53cda43d04b4b53e8f2b6b3c5f3902bda384333dba3f6e3e01e33e3cde00e7bc78d5183ae734f13d31dc023c75a695bc404dcdbcdd5b323c4396943bbc16c1ba64dcfebcdb20ef39df1d463cddfe423cb2ef2abd1738b7bc4f62233c8ce8203c15b233bde4810cbddbb11e3cdc94253c27af2dbd48811abd5938d43b3744333c03f51bbdd8bf1bbdaa67913bc6177c3ce90f09bd608513bda92817bb84178c3cc44ecfbcb85704bd97f98bbbdba8943cdfd54cbcbdd4b0bcd8d5f4bbaed7623c06c6a2bb5a4238bc944b63bba0f5ecbc35f7fe3d9f3f833fd4de88bc64e412bdb84ad83d196a733f3007aabbebe20ebd2634b73da31c513faf37533cf6650bbd7281913d44912c3f41a5b23ce0df01bd27473e3d0e18083fd2afd33c63ecfcbccc51df3ce2f4c93e1b7eb93cdf26c8bcc0c2f23a9a1e833e34cc8b3c32228bbcec6c99bc1168f93d7790f33b3e0658bc2f3ceabc7353b6ba5d3f8e3b000000000000000000000000000000009413013cf7470cbd3332e1bcd7982b3cf1301b3c20140abd861f0ebd675ae83b0b50003c3b0103bd3bb114bd23bf903b549f273c0b56f3bcb58f17bd91e83b3acfca453ca9f8c9bcdfd10dbd8e5554bb617b7b3c5dd596bc343b06bdb69fb4bbaa51673c168f20bc87a2b5bc53760cbc0000000000000000000000000000000000000000000000000000803f000000001457b3bcca8c48bcca3a833f3f2b663c6eabaabc72e23cbcc8b95e3fd8e9bb3c06f0b5bc00f449bcb087373f521cf33ca056b8bc64758abc9340113fb87dee3c0aeca5bc47e9a5bc0142d63e2827dd3c3b8f72bcb8f8cbbca0b18a3ecb01a53c068f32bc0142febc6649fd3d021f363c0000000000000000000000000000000000000000000000000000000000000000877d0a3dfc9641be5ae3903bbbd4203c602fdb3c53b039bea6acf1bbc777763c83b0863c0ce52bbec9db76bcb97f683c7f4d483c92a209be0df38cbc32fa453c700bb63b32f0bfbdf30d81bc019c363cff4ffab9f11155bd031e0cbc47e0f43bcecce7bab47f15bc2032b4ba20751f3b00000000000000000000000000000000000000000000803f00000000000000003f3200be0fb0ab3fe619e2bd7214283ccb4bbabd52168e3f9bca55bd24b121bb871096bd82986a3f1296a1bc2127febbc7025ebd95872f3f6b4be5b9a0bf1abc22b5fabc4d40e43eafa06c3c51853fbc8e799aba7fb9603ea6eea23c1ff6a5bb90c3743cdabc003cbbfd5b3c40487eba000000000000000000000000000000008410053dabfff5bd6eb5883c80f8513a50433f3d90202cbe1ce0033cb32d203c9a9b213d986141be834b65bce755763ce2cc063d48d030be962ad0bce204913c4f82b03c256a0abe148aefbc3e0e8f3c6282613c333bbebd20ddcdbc227a693c14ceb93b2f3e45bd863b92bc6f911d3c3dc58abbe84436bcc22fd0bb2046993b0821c0b9de64953c62485d3b082b933a150742be1d04ab3fa785233c2e6f4abc619e33be94309a3f91c21b3d5b19acbcd4151dbe53c58a3f375e833db747f1bc6a11f5bd4777603f2cdcab3d08990bbd2eb8a6bdb4fb233f8904c03d7b4f04bd79cc30bdfe21cf3e73d0b33d4530e9bcac1fc0bbff70393ed9fc943d60d5a4bca5e4023da5d41b3ca7f1413dc34c10bc89ce023d91fb04bea1f80e3c8853f839c0c1dc3c9832aebd2ae95a3c8dbc963aabac263d6e3915bed5998abc5ed5543cbdf4143d90f020be9b7b22bd7d72943c38aeff3cc18011be27cd52bd08a2ae3c646ca33cbb55debd99cb4dbdbea9963c78a2783c17bb98bd019334bde89b853c6e811d3c10a918bd4c99f8bcae43573ce308873b1b3c25bc83ef4fbc564cfa3b4858153bf638483c226a153b5e65843baf6741be12308e3f4368653e01456abd833f4cbe46308b3fdd936f3ee9d888bda3fd2abe9dc0723f4c76793e3d678bbddaaa03be26cc413f1b4b733e284a82bd0baab1bd89550b3f0fb55b3ea14869bd169343bdf370ad3e627d373e563a43bdffc44ebc1341173e4fc3ff3d400bf9bc1f88923c58650d3b085d813d4c297bbc80c8db3ce7eab8bdca0df93bd397bfba7096963ce5918abd0d73243bf9ed6439b1ab093d456fe7bd426d36bde842843cb2ae043dad73fabd42db94bd9e19b63c6176cb3cfcb7d9bd3d81a0bd4496a73c2dd2ac3c1c6aabbdf2f5a2bdd537bb3ca285593c856562bd3c5883bd07cca33caddf1b3cdebeebbc370a28bd94c8693c74a0cd3b4467d9bbf0438fbc548f453c5d27a43bb3ab103c30731e3bdb6bb43b37ae34be86586c3fa66ce73e9474d6bdcf653cbe1c5d623f3eb6ee3eb7aaefbd37131dbe85e6423f31f5e83e811fe3bda9a1e7bd3ae4183fc080d23ef680c8bd11b4a1bd05f6d93e0f22b63e26f9acbd98bc26bdbc76843e32f4893e8eaf81bd5e1040bceea7e93dd6d22d3ea43f22bd8cdc413c0892abb9a206953d759c8cbc746e7c3c4d2a97bdbc7d83bb239695bb504d553c463349bd268067bcf1e6ac3a173bcb3c1ede9bbd866199bd16fc823ce2d0a93cdb65a7bd05d6ccbd758ba43c53bbb73c7ee09ebd6cace5bd4a0cae3c5627373cd60965bd634eb4bda0cd7f3cfe463b3cd1bf22bd395ca5bdd463973c37a50a3c0d4bafbc3c073bbd28d6593cefa3e83b0992dcbb2f8da5bc5ca6533c3cd1ab3bd47fd13b53d9c13aadf30b3c607114be1cc3313fdbf4303f25a918bef66616bec751263f4cc4343fa7df22be9000edbd07ad0c3f0767293ff7e20fbe3923b4bdc2eadb3e0a19173f271200be1cf86abda0009a3ecb2dea3ec54dabbd45b806bd80183e3e9483b23e4bdc93bd77645bbc5b6aab3d77d64c3e237e21bde685cb3b20d79d3bf66b983d5e6c95bcb45e343ca1625ebd8ac781bc1b74c4bb8a83fb3b4a98d8bc69e218bde479993bd1d5683c24751dbd9c4edbbdc57e943c102f883c29fd38bdff9d0dbe9c8ba83cfc75603c67552dbda4ca09befe77a13ca7894a3cb49414bd8a91f6bd814e963c73eb223c1800d1bce9c2b6bd73328f3c6e4a053c18e08bbcda355dbde367723c079ad63b8b2114bcc08a9ebcbc54613cf7d5803bc5cb8f3b825d803bdbe41a3c63f0d4bdb7ede93e6a226c3feaf436be73b3ccbd080ed33e69436e3f0c7644be0488a2bdcf87af3e26fd5c3f812b2bbeaf4566bd81f7853ec6663c3f45690bbeb03820bdb16c3f3e0b11153ff204d4bdbcb4bdbc7303f63d9301cd3ed3548cbd430011bc19fb733d6c82643ec31719bde91e6d3a7953593c5d86833df2434cbc5e2de13b64be03bdfb3f22bdf96d92bbfffdbd3aba9385b927f37dbdc039363c6ce1b83b1909afbb3f160fbe6a3db23ccbe5143c792d5abc719827bef6b48d3c56030e3c3b025dbccf7f25be4beb6f3c9ef3ea3bf7a882bcad3904be4974463c7115df3bef1e68bc8addc9bda739513c423ac13bc82834bc66ab61bd85b3393cc311be3b8634f3bb7d7499bc568b273c87fd463b97dc76ba1c52e33b9e72293c0a4068bd66e2683e1eea8d3f104046beafac4cbd2ba8403ef1798f3fbc384bbec67016bdda7b183e803e823fe04a28bea7e1d1bc8604ec3d79e75a3fb59d03beb9e184bce14bac3dc2cc253f6367aebda7ae33bcda20723d21aee13e169b6bbd13d185bb14c1123df34f693ecce2d1bc944078bb659ca93c2cfc473db84a11bb08a5ce39989d8fbbecf280bdb78c143b18ede3ba7f647e3cb22ddebd924f953c500c6dbb1c28ec3cb01528be9b17c63c59fe013b96d4893cbe6444beab4e763ce14c8d3b1ef5013cbea237be9085143ceea69b3b88a8cc3a253e13be9aedb03b406e8c3bccd99fbb709dd3bddfbfce3b2b618f3bbe7a04bcf96769bda993c03bee4eab3bc50657bcc7dc71bcff59e03be2b3203b703193bb1d18813c3fbefd3b1c1037bc4757633ce811ab3fc73749be750a04bc841f0c3cdd389c3fbb422dbe237f6fbb6a77a7ba6b508f3fd22909be532e263bb80099bb1fa16c3f7dc4c2bdc1d3533bf7befdba0ebd313ff0d36fbdbb65fe3a481b183cc447e93e7edeedbcaad78f399dca963c3cdf643e085c95bbdd21f3bb5f340e3d84f4043d382f5b3c15610abb468c453c2a51e6bde61fd73b00000000000000000000000000000000995185ba0592f23c296543be0f4d483c1057dc3a6181b93ce2303abede9e043ab4cb0d3b84f9423c610c28bed80a09bc60b7413b4646b43b0aa906be024e41bcb96bcb3a3100333bc5acb9bdbcc546bcbd284c3ae90a14bb152549bd7e4fa9bba6285939fdb3a3bb58b0dabb4b36e7b90000000000000000000000000000000000000000000000000000803f00000000b605c33cb21408be866dab3f614bd8bd21af9a3c706ac6bd14cc8d3f26ec56bdc5ac8a3c0b8d9cbd5b106a3f2b51b2bccdf8613c557a68bd8b322e3f1ffc363bd2cb463c05ff15bdd876e23e6ca48b3ccebedb3b8d8ae3bbd3825d3e6298b63c216f0e3bcd683e3c4fc6863b188f9b3c000000000000000000000000000000000000000000000000000000000000000003c31f3dafaf27beecc97dbcb7e03e3c488d193d6d631fbe1b6e05bdad0d9d3ca882fe3c196912bef0be25bd3532973c797cc63cd3d9e9bd4e3528bd1854953c468b883c990fa3bd458a12bd05bf783c2a31f63b273c31bd496ab3bc9fdb2f3cbe079eba97aae6bb508b9cbbc9fa373b00000000000000000000000000000000000000000000803f000000000000000042d302be5dfba63f335ca3bda5978a3bf1c3ddbda78b893f94e959bca5c935bc4542c7bdbb04603f9518033d8f24b1bc3fa1a6bdab56273ffd755a3d0446d0bc84546dbdef33db3e1414733d6b13d2bcc155c9bcfc725b3e6426453d89047bbcbeecb23b1a98243cf546c03c4e35a0bb00000000000000000000000000000000856b183da9cbecbd3180303ca36f103aede25d3df0841cbea38990bc3132803c18a44e3d7a6023be2db435bda2cfa83c51192e3d3cf50dbe71b46ebd8506b73cabc0003dc76cd6bddf2677bdda01b73cbf6fa43c774f8abd383d52bd3e6ca53c4e09d63bd03ef8bc463006bdd5c74f3c30dec4bb7d93b8bb779c68bba594fa3a50d0d4bb22849f3cab7be03bf9ead8ba2d342fbe135da63f6aec063d5bf59cbc7eaa33be5fc7973f9857853d393dd4bce80f1ebeed0a833f1a97fc3df06132bd9cde02be16bb4f3fa9901d3eca674fbd9699c2bdbe5e153f6861263eb5b14bbd92905dbda29db63e14ee163ecece36bdc47c2bbc01da173ec54ce53d191cf6bca734213dc39196bcaf30753de6d3d9bb456d273d49ee09be223e243c56cd0bb9b88a0f3dcb10b7bd7b9e553c5507ecbaafef4d3df9d907bed9fe02bddd0e523cc339353de5af03be509e79bd060ea33cbea41e3dcfd3e2bd8c6a9fbde3d4ae3ce09ad53cb8b3a3bde6ac9cbd5395b13c9a93823c6c363abd458790bdb1b4a23c8741dd3bda3ca2bce8f238bd13e4543c9e126cbb067c1d3b142298bc17a1c23b52d5ebbb35a8953cbb41663b42e05b3b47bc30becc318a3fa1177d3ebc5081bdd08a3cbe94d9833fe1ae8f3ecb179fbd17071dbeef0a5c3fe14e9e3ee4bfa6bd0249fbbd43ff2b3fd19fa13e537ba7bdd78daabd4d03ee3e9344943ee91892bd615f2cbdfedd8a3e890e7e3e32db80bda8b9c0bbad13d13d7930333edaba32bdc86f113d555c15bda8a9bc3d44b3a1bc75e53a3da689e7bdf041843c4f6e6dbb3766fa3c406aa6bd730e173c07906bbb616d2c3d1ee7d5bde89846bd84a2323c25b11d3d7e99c9bd163aaebd3637943c31f0f93c85939fbdc901cbbdf15ba73c4827bd3c3fc355bd6cbad0bd3895993c185f473caa42d4bc5df9aabdc9939d3cfbbe7e3b4f3ab1bb5c7b66bd86ab583c9ba20abb2bd1f23b527cd6bc9c54163c5f7c82bbcb199c3c37779fbb5548b13b10b823be4634633fe54bf23e4689e3bd0c8228be9ca8523f4152013f73e5f5bdd1eb09be26502d3fe108033f630bf5bd7e14cabdd064013fdea9f73eaa07dcbd2ff485bdb135ad3e85abdc3ea50cc4bd6bd2f2bc39b9383e65e6ac3e75cf98bdd154963bc452513dd11e6a3e453a4ebd3c7f053da08b3bbde1c1e33d493bd0bcb9180f3d6b4dd1bd913f9c3cb9e433bcca44cd3cc84688bdaad3f9398f4d8abbf943043da1a797bdc4bb8bbda1fffa3bc706db3cf9c983bdcd15d4bdfad67a3c813cb53c86993dbd46b8fbbd2cbe813c020f7f3c6ba415bd3b8dc9bd2ef55b3c840d1e3c86c62bbcfa92c6bd21a9563c19724e3bd6990b393a4581bdaccc2f3c9a2decba31ef043c2b22e5bcc61f153c5e943dbbb47f833c5b169dbb0f81c93b760308be9e902b3f9163323f686016be053604be0b06193f8d233b3f840722be1cf6c9bdbdd0f13ee39f333f55d40ebe43608dbdbe56ad3e478a253fcffc01be4c3d49bdf78d6a3e1377013fc5c5a3bd59565dbcd32dd03d8049d43e5a379dbdf9bbc33ba625993cc366853e07d03ebdf0c1ed3c273442bd3039ef3d5779d0bcd9b4fc3cc0b2afbd0e5a133c9e8e37bcd8ff873cc75933bdccb79abcbb1b09bb3b78a13c32b91fbdb82dc1bddd60e33b128c893ca6bee2bc870708be44a0173cfe7a3c3c5af683bc80ef0cbeb17a1f3c4b0e133c67a8cdbb6c7203be66b4fe3bb6ec833b6966f13af095cfbd402c0e3c81d4d43ad4becd3b1ba185bd6cef233ced33b4ba0e54ea3b3199eebce317193c6fb226bbcc08363cd47e6eba4af3f83b5c95c6bde5ece43e9eeb693f946c30be2af4abbda40abd3ed978713fab533bbec52473bdca568c3ede4f633f59bf21bea59012bd44e43a3e5fe3453f03bafcbd853c87bc29a1ce3d61f1213fcb38c3bd2ae35eba1c251a3d2a3eea3e9ead84bdb04c593c4df931bcbb228e3e674126bdee18b63ce72e25bd30fedf3d59d0acbc9435c93c9f7d82bdd93417bc096c40bcaa7af03b05ca76bc69ef2fbddb76fdb95f58ba3b12c95cba5401febdcdf9d13bb792ba3bea8e223b6eec18befb43443be714693bb2ad193c91551ebe73f559ba25915d3b26f9f93b9dd902be26d130bb63e9b83a635b423cff34d4bd4c4202b8e0a69cb9303e213ce58085bda3854e3b2e09be394800813b99badabc5b03f53b135ee6ba63b0803b824b6a3b494f1c3cc39e52bd3506653ef9cc8c3f19cf3cbe0ef115bd86d71b3e4805903f2c503ebe20cea8bc49efcf3d0ac5813fa8880ebea14790bbd96f383d4941603fd08ddebd8c5812b91bab803c2e062d3f010282bdde29353c46e680bcba04f73e4b532ebdb8de4f3c7edfccbcc2068e3ee9a2aebce47e783c756ed8bcda59b73d2d9834bcfa4f783c18ff00bd9c8326bdf7a2d5bb036fe3ba14af183c1565b1bd365da43b58f318bc0eb3273d5fd11dbef03b8d3b1a2bbabb867f153de1d133be180ab3bb772b8fbb42b6073d0df929be3fee41bcdd8f15bb3a6fcb3cde880bbe3ea351bcc92141bba1f1a33c78b5cdbdae9a1ebcb8255cba39381f3ca6f571bda1f586bb17f2fe3aa7508dbbf4ff95bcd499d13b0eadb738eb0747bb0c0a4b3cf882ff3bc7b507bc6a6b6e3c09efa73ffbcd36be604bc13b4b60f9bcffbc9e3f044a22be3ddf513c46ce46bd74ca8e3f90a8d8bd7d339b3ced6e75bdec0e6d3f965881bdcb21973c4e5473bd76dd333fa285cfbcd313963c9ee856bdbcfdf43e323cd3bbb176583c278f03bd867d813eeaa6673bba93a93a1bd9b13b93a44a3d70a5133c4781863b37a0efba66aabbbdf96858bb000000000000000000000000000000000e82f1bb3c902a3def822ebe30fd97bb9e7be8bba144323d85a42abea0bc97bc2c2182bb14f3073d72aa1cbeaeedcfbc3ce250bbd964e73cd4b101be4552e2bc2d1537bb3680b03c7323bbbde2c7c5bca33b3fbbc4f1353c86464bbd3c6f69bc5b5ba0ba82379f3af1cd31bc24f69ebb0000000000000000000000000000000000000000000000000000803f000000009df4f13cebd117be5145a83f0736a2bdee49f63cfc0806be75f98b3f6f4aa3bcbe9be43cb6c7ecbd093e663f30c88b3c6947cc3cd3f3cbbde3702d3f741f1e3d705ba63c08369cbd5d8ae73ee1bc3b3dcf7f543c45f526bdd0256f3e24bb213dfa52913b591ce7bb83ccba3cbbfcb93c0000000000000000000000000000000000000000000000000000000000000000205e943cad99e1bd4f7f8abc6e2d983b44f1d23c129be7bd0847f2bcc61b043c3bc5ae3c8234d9bd227af2bc03d5253ce0f8ad3c4609bdbd2adf03bdafb5443c5c45983c169791bdc0850ebd7ed81c3c749a863c86ae3abd83c9f2bc9a37203cccd42c3c264a88bc8628ccbc15dac33b00000000000000000000000000000000000000000000803f0000000000000000f4d7b4bd59b7953f9cfe16bcd27a58bc7f65abbd74d8793f3712053d68b894bc205ba5bdecca4a3fb29d723dce37d1bcf20f9bbd4c521b3f3e7b913dda14e4bc3fcc85bd0e55d93e0a8e8b3d33abeebc86a349bd82e07a3ee654583daa44ccbc7787f6bc5664893dd8f6f53c9eb6a9bc00000000000000000000000000000000a69f8b3ce10fa6bda62c673b75accbbbea8c393dd0f8fbbd8299c6bc0571923b5a44293d5fb101bef30d24bd5816e13bc6db1d3df283eabdc5df49bde6c61c3c17ea0b3d85a6c1bd76ba4dbddddc243c040afa3cc64c8cbdea9359bde58c203cb402a93c746a14bd9d9037bd85ee1a3c82b5d03bfd2bf9ba35d9e9bc88641e3cbc055e3b8a88893c71748fbccf28073b950eebbd2f00963f8d41d83d006a11bd40370fbe8f878c3fe5c1fd3d3bca12bd4efc01be27a36d3f0a15253e571830bde07fe8bdea923d3f0c80333eba353dbd2b14cabd996c0d3fb3dc2c3ec13d35bdf6dea3bd3196bd3e2c66193e6efc31bde7cf54bd7003453eecc1e53d388712bd9e8a47bcda74fc3c84dd7c3d7167bfbc4df6a1bb4fc9a9bdf1dc913c4b2d5dbca295bf3cad2395bddef7513c8e61e0bb21c3233d6682ddbd7568b0bc45bd5eb80735133de500d8bdcd1f17bd8d66c93b5fde223dba5accbd45d369bdf2ec063c15affc3c83239dbd3b9d6bbd5506103ccb85ea3c91b75dbdbf4d7dbd4798003cadbe9f3c3b48f7bc3eff4dbd7c77cd3b17fdf63b80bd113be23b17bdfdb9973be2ca383b4279853c02d799bc3a6597ba6171fbbd56387c3f7957923e9c9480bd690f15be1cca6f3f05549b3e0f158cbd9af7fdbd9094443f77259d3e7a8d70bdab67f1bd9761203fe84d9b3eb0f774bd4df3c2bdafbbe93ebc13883e9a074cbd34f898bd0e7f993edfb7693e9e0a3fbdace343bdf2ea1f3e42aa253e5b6602bdc76f40bca3e55b3c6c8ac53d5f69cfbcdac0433b5cfb92bd3635e03c71da23bca34d903c8ded88bdb7ad943cc0f0c9bb22291d3d06e2c0bde17ab2bc498725bbc2431e3d9814c1bdf9c656bd329e5e3b99fb0f3de3b4a3bd449687bd7937d33b878a0d3ddee184bde3d394bdb715cd3bcb19d03cb6bc2abdd9958fbdb3c5723b447c9a3ce71d91bc51c373bd8033153bedcedd3b7ea1d03b22652bbd923b8b3a78bea63b8371693c9d41b1bce9bdb3bac902ebbd9e524e3f5ab9ef3e02ddabbd2db20cbe40ed403f229ef73e070fb7bd6716f9bdb7c3213ffa75f03e14f89ebdf9b5d5bde1befb3e48f7db3e3b0d87bde628b7bdb666b63ed6adc03efcee63bdc25b7fbd1b5c673eae2d993e217030bd0eb224bd0201d73d31355b3ef22205bdee2905bc2bbd34bb66cdf93d6c0ab6bcb53054ba4fe18abd60d3163d58e319bc12ca8a3cbe9f75bd290b983cc6fdc1bbb9fd093d7c5ca1bdfa7be9bc15e06abbe9cbff3c5a2595bd0fa76abd67e44e3b13900b3d310784bd92859cbd51ac323bf057bb3c877951bd07467dbdf480be3bee97c63c79a3efbc3d5e9dbdac0fd2b8d2f46f3c56a029bcb93c76bd507f86b85644d23ba5a3f73b8c8823bd05f6dcba008f7d3b8e34733cbb3fa3bcb8d939bb02b8d2bdd61a1f3f1846263f829ecdbd07b7edbd51c6113f4423293fa54dd5bd754ccbbd5e32ee3e0ed41b3f993ba0bd4652b6bd37d4b73ecd6c0d3ff2ab86bde5c08bbd29f0833eb472da3e9fd402bd89cd56bd09051c3eacaeba3e78d810bdb408f6bc37977d3dc0dd7b3eb2bababc3c7d9ebbb4758fbc7dc2083e055c87bca406513b8e5a86bd3cee113de012d8bbbeb18b3ca8ca52bd692ac93bf5b562bbf402f03ca44e74bda47d37bdd74cb1bb9fa2fa3c2d8b63bd3e2e9ebd322352bbb3f5dc3c5e7731bd71bcb4bd435333b98de3d13c871603bd2381b9bdd5e34cbb720c8d3cae277cbc66f0a3bdbb6276bb97383b3c5d7002b9493584bd2cd3a1bbabd6703b2c041a3c3ee61abddc3975bbf614bd3a97c5713cae7c78bc58607dbbbc88acbd6941e13ef62f543f883dddbd4c75b9bdb73bc63eb316563f16e4e8bd5c1b9ebd07969e3ef906443fcc9caabda33f84bdf3c06b3e11d7283f2aa86bbd861452bd0d0a1d3e3c100b3f93ce13bdba0706bdc0a9a53d8737d23e1613bfbc083b88bc75c58d3c0a8c8c3eee3273bc2dce4d3b881008bd63140e3e9a292cbce905de3b33257abda992bc3c9db888bb21f55e3c34880abd01ff47bcd164cfbb010cb63cce2f10bddf5c8ebd274200bca7ecaa3ced200abdd115adbdf8c982bbde78ab3ced06b9bc25d4d2bd91ae14bc86a5843c518d70bc4b7ababd6b1c0dbca5014f3cc00e4bbb3eb7a9bda1293cbcdd61083c8c34fe3a2d2a70bdc0d90bbc18399cb8af5c523ccfa300bd96b19dbb44cc23bb03ac653c546ed6bb037ccbbabadb68bd1d4e833edc5e803f47a3e4bd4ef065bdec91513eed40803f9251e2bdcc883fbd7d4d263e68195c3fa6cc6cbdba9817bdf44fdb3d6964413fc67220bd7930eebc654e863d9fd3163f5d012abcef2975bc7da6823c0e8fe33e651187bb2388fcbb227a30bc8d4e8f3e610c693ba33e293cdc333abd0f92013efb7f92bbc81a4f3c010657bd9fd2f6b98166aabb522f323cd5c8b6bcf9922dbd717356bb475b193c1bc07dbbf937cbbd69257fbcb17c383c3a0c1bbb83e4f2bdbb928cbcc723463c2d0610370ccbefbdd9af99bcc0781a3cb726203b1791d2bd1d0aa3bc6d5cb33b48dc233c4701adbdb05d9dbc6f688b3a6390693c82306abd5ef675bc9351a8bbdc92573c30dbadbc1ea3ddbb63a48cbb79054d3c5925453a441459bb69f3debcc624a23d9871973fc04fcbbd56db49bc5dd80c3d72f0903fb8cbb3bd483728bc3e457f3c692a7e3f3ec018bd44e10abc7ed519bb1517523ff7cfc8bae2996fbb28888ebc6e8a223f0fb79b3cda01273b4cb114bd53d4ea3e745ebb3cd8f9023ce10242bd515e8d3e81d99a3ca976833c0da53cbd2e61c83d090d673b31c96d3cde963abdcaca0fbd7f2d23b800000000000000000000000000000000ae76123cdc60e7ba9a24d7bd07bb27bc46af0a3c5833b53bd0ace7bd02009fbcf36f253ccc6b713b9b50dbbde363aabca4d51a3c024bc73bce3fc6bdb0dac2bce0a4bf3bf4800e3c5725a0bdf621c3bc20881a39b207573cbcde5cbd67f3a2bcb66f6dbbc753643c7393bfbccce77bbc0000000000000000000000000000000000000000000000000000803f000000002bc89d3be85ca0bd1875973f7370bcbce526fd3b0c5397bdd8777e3f7d27833c24df793b30c291bd3493513f5a2b2d3d1f616a3b5c628cbd59a5223fa489533d6341053c311f88bd61f3e73e8aea533d6a2f4c3c9dc36dbd963e8a3e57d31c3dc2e9703cb01a4fbd84f2b53db8efa93c000000000000000000000000000000000000000000000000000000000000000031e0743dc0a254be3c637e3bda74f93b2455303d84d240be4ec1b0bc9ecb863c423e053df17f3abe14af1bbd7df68e3c37c8c53ce1d513be9eb926bd952f793ce961423c976ebabd730f19bdc7607e3c80156d39ff0841bd3f42cebcc0f0293cf06baebb1af71cbc4756debb8e58673b00000000000000000000000000000000000000000000803f00000000000000004d620fbe8a75ad3f2677eebd22fa623c2426d0bd2bad8f3f945b25bdc72b1cbc628bbcbd4d56743fc0ed07bcd02e76bcbe6c88bd5be1353f6251b03ca50dc9bc38b609bd93fce43ebfb41f3d4237bebc76b6133b26785e3e38ae233def4c71bcf050033de2e489bb06a0d43c231d99bb0000000000000000000000000000000028be6e3d55220abe2651cc3c297630bce8d96f3d4dbc1fbe47f1aabbd7ef35bb24e0613d76f03ebecef924bda498303c4e112b3d395b26be442a77bd0934953c60f7d33c4988f5bdfdd888bd9ea6953c21c83e3c282098bd5e147ebd99c5833c17cf453a4e50f6bcfc663dbd519c133c8501edbbbef884bb5e4ccbbc7530a53b25f5a3bb5a12b83c9a0a833b498cc6ba191250beb0c2ad3f41ca5abc5c21443bc89026be0897963f33ae7a3da27ab3bc5a7920bead758c3fa00ca73d0a9209bd1175eebdeb56603f02ddee3dfed33cbdebbc91bd1d4c213fdb070c3e9aee50bdcf87dcbc334bc53e082e083eea963bbdbd48503c4152213e2f0fe03d82ee0dbda7b1103dc7794b3cec1a893d21c1aebc6901533d078d16be0b6a3e3c9f976bba89643d3d548faebdf069933c976384bcb6455b3d5bfd0ebe7deb09bdee139cb814af403df6ae14be37e697bd1790263ca337073dacdeebbd4319c5bd792d713c8822ab3c3f2da0bd050ec9bdcfb3713c0556363b6a4617bdbcacc1bd818d653ca446a43950b0cebb9dde84bdad28063c02280cbb7cb2de3bb81101bd76ab823b4ddb93ba20979a3ce5a3f2bbe092b5bb5eae47be4f49903f5ce1513ef39138bd561d4bbed8058d3ffb3e753e164a85bd9ee928bea7d4743f90b58e3ef68fa7bde9b8e8bdef193d3f8a5d973e2973b5bd7ec283bdd62f013f4311923ef7b3aebdc7924abcdbf28f3e5618833e007e9bbd9ef69a3cb3ffc53dc5e93b3e02ae69bd7c2e173d2b22bbbc0a18b93d2d32e9bce625153dfaf7cbbd068dab3c0bb608bc2ee9113d47e594bdf4f86c3b52e290bce76e393deb5bc5bd110b88bd094c09bb95a7123d085cbbbde774ecbdd3b2273c02cdaf3c892288bd409c09be757f3d3c0bb1073c399a01bd50060ebe2672243cdd30d43aa7f48bbb4aeae9bdfd470c3cb530e238fb1cc93b80379dbd0acc893bc1c7d2b9fd3b6b3cdad122bd4628863a996230ba679bd03c456f46bcb83ababa4c3c44be6f6b783f592ada3ec662bfbdd3c038be914a633f1e1efa3e5a71fdbd67600ebef3d33e3f84e4023f9cea09be76c5b4bd76fe0c3fda17003f361207bea53801bd7138b03e32d0ec3e5fc900be3bb312bb961b333e30bfbc3ec7a3ccbdc195a53c77415f3df2e5733ee55785bdf26bf53ce2a6dbbcaf2edc3de54114bdd742d33c1aa1b3bde8bd303c2e5d5cbcdb2fda3c240435bd52f98bbc9c5a96bc9bb2d73ceb1041bdd464d0bdb4cb59bb6717a93cf1e82ebdbfcc19bef424823b96d3233ce03ba2bc9b7c2dbea93ecd3a7ebf3e3a6bc3be3a50f619be5c6a3cbb61690ebbfb580a3c4ddc00bed5792d3a3e7bc0bafcb6603cda13a3bd059300bb16c47cb9b988973ce70332bd151b08bb46ecd439a9ea9f3c7d4f29bc4ea362bbbe0321bea9b13a3fbb342f3f8efe16befa780ebe3b06253f1ada3c3f3aad2abe51fbc3bd099c033f2eee3d3fd6c32dbe2db139bd00a3b03e2930333f87f223be50270bbc7d2b4b3eaa17173fef4d05be8d133b3c2d55cc3deee0e33e16b0d2bdfab1a23c82b0d23c581a853ed0ac77bd28e5903c9821b3bca21edd3d541ef3bccb0f993c525772bda03526bc9d6e54bc65ff763c407c4dbc726125bd065e3bbc7cf45f3cee4a29bcd53a06be0a63c93a7bacdd3bf5941b3a82d036bedc9937bb639c243ac37d233c32f43bbe0ac798bb54822fbbb7847c3c16692abee743dabb7f0b95bbab81573c193505bea77dcdbbeae0a8bb45f9743c5fd8a6bd55ee4abbb35534bb6209693c8e032abd95bf36baa583cdba881c783c3c620fbcbc03ccbaba5adabd3e95ee3eab026e3f60e13fbe6e3ab3bd6651cd3e76f4753f7e3e4cbe061c4fbd3436933eac09713f019c40be4c637abc302a383e0ebc563f8a9524be69fb0b3c1d25ca3d16c42e3fb65f04be19836d3cda3c613d3b49f53ebc11b2bd63228a3ccfb4a43cd617883ef34b54bd7aa5443c439367bb4165b93dc006bdbc02bc703bdf13d3bc8fb9f7bc94a443bc9c011d3bccc2623c436780bdd0a197b952e4213b6561af3cf44a22be27a6e13ab7062d3acd5fdc3c0e0248beedeb8abbda2c76bae1bac43cc6f447be136a12bcd9304dbb3b19ae3c91a62cbe63b65cbced22c9bb38ca813c6204fdbdcd8004bc36530dbb94612b3c4fa197bdf83a0bbca55ef5b7f87dc23b016006bd1c0680bbb71286ba086c1b3c0071e7bbeae22e3a3f9566bd6181723e21508d3f2f4a45be6a2d15bde7962c3e79fa923fad134fbef49e28bcdb8ac73de63b8a3f554034be24ffd63b2a91563dcc6b6d3fbaa910be5ffa933c50b3b23cfb23393f4b85cdbdda8e833cb8e9573cfc54f93e151684bd7665283cc9a8423cbd3c813e273aefbc3f2cdb382b6c753c97a2873d070614bc191194bbaace1e3be7b858bd55064dbbdd60b1bb2392163d1071f6bd268e9c3c508efcbb53182b3dbf0d21be525dda3b5701a9bba3281f3d858b52be6aab38bb327822bb3f22f03ce29948bef4765ebc6b3a9bbb9132b83cedd724be872a98bca4cc91bb94ff2b3ccd0be9bd54bf94bc5f7f4cba98bc92bad44d7abdf90644bcee0683b8064c1ebada2abdbcd53b4ebc656d34bb7bdbc73a3bf9e83b1ab5ee3b5d3a02bca6271d3b2384ac3f98cb54be8e42e1bb798b503c3fbd983fb64b15be97d4473c59ed02bd5d57923f374404be684e963c98511abd2b70733f5b30b4bd63b6ab3c9d5203bd0017383f0f624bbd84eb663c5a031dbcb248f03e75d292bc972ea43be7a0333c54c8693efa500d3ba75be9bb94a6c53c664f533dc7f99a3c5c2933bc53f3ed3ca76df0bd4ba5853b00000000000000000000000000000000601208bc5fa25d3d8b2754bee1084d3c1b1fc4bb14b5163d3ea33ebe716076bc098b9abae095c23cf9a432be7f09cdbc6032b5bb0c7c6e3c1e4e09be6a740ebdd09a11bb7ce5a03aac67b1bddc2dfebc84043dbb35dbbdbb8b8f25bd8552d0bc6ca855bbb3f119bcd62f67bbe655dabb0000000000000000000000000000000000000000000000000000803f000000006c50f63cfd0c22be9b12ad3f27e9dbbd1548e13cf241e8bdc82a8d3fc296fabcc54c023d66fbd0bd17b56b3f9c4069bb7411f13c417294bd9f5f2c3feff0003dd75da13cf6840fbda3c2d53ebaa43a3ddc40013caed477393d344b3e7e933e3ddf1021bb8f43fd3c3b7467bc3435023d00000000000000000000000000000000000000000000000000000000000000004179543d661733be14884fbce396d13b4dfd1f3d347a14bee21133bd83af853c3c54db3ca3d5fcbd847586bd34e6ac3c2f66973c8c67b0bd4bf38fbd0e17b03c8d37113ba4f339bd32ab81bdb4b69a3c02b4bebb7a439cbccb5c20bd1d20293c0f18eebbf64425ba1b2a1fbbfbec89bb00000000000000000000000000000000000000000000803f0000000000000000123f1abea958ac3ff84ec4bd8607f93b1d5b0bbed9488d3fd35c0f3cc1cdc1bc6ebe02be39fc673f1212903d636632bdc159d9bd16ae283fb827e13d9cce5ebdba6678bd9b22cd3eb3c0013e475e6abd9b867dbc42883a3eb884d13dd65c1bbdc60eaf3c3e1685bcb3722e3db3fa0fbc00000000000000000000000000000000ede3493de36c01be4b92c23cd9e419bc0078373d6fb008be63ef0bbc39fef4ba95fb293d751d0cbe65d964bdcb3d5b3c48bcd63cd19bcdbdf04facbde04fa53c9ca5393cc04083bd4006b1bda9a9863c51e2c2ba71f7f1bc120f96bde0e3393ccb6dbfbb6b6454bc38f417bd576e07bbba4ffabbc87ea5bb650bdfbbdc4feabbb9e442bc5ab97c3c583ec53cd30a24bc346943be13d2ab3f933a66bc7f4c53ba805c29bec5e6923f7e6bbe3d37ec05bdac0e28bec8f8823f514c233e02ca7ebdb10e02be45fc483f8e3c653ed278a9bd77faa6bd3997083fb819803ebfe9b2bdf88f00bdf0c9973e7e036f3e5e579ebde30e143c50b5d23da9372b3e135244bdf0e80c3d6d0a8fbc7126a93d59ef78bc3409863d20e222beadf255ba8f8bc43ba263153d6d47b3bdaea4bc3c778659bc8628243df5a9e6bd5d5506bd1c4523ba4fd2df3c3385b7bd7e46b4bd1efa6e3c0720373c29c46abd4ed9dabd0826533ceff81239d232cfbc6ac3dbbd82483e3c356ef5bbc9b1f5bba1c79ebd85e199ba24ae0abcd712873a989020bd8d932ebc181019bc8a97a23b4d9af3bba9fb2ebcfb05e3bb1451dd3b46c8bd3c5f7f82bc8ee044be192f8f3f1793583e5fe251bd0d4f42bef142843f8ae8953e4602adbd32461fbee248583ff063be3ed91ae5bd22e4cebd69e41a3f85a8d33efe43fcbdc42446bde32abd3e6f19d13ee34bf1bda2fee3ba01fe2f3efc9eae3eabe8bbbd0933f23c219ad83cd04b6c3e11c153bdc6db5e3de38091bd95cce83d33a9adbc99c07f3dd82fffbdf59fa03b34e5ec3b3869e03c46d396bdee42633cb90972bc1882d03c0dd991bd20906cbd467060baa5863d3cfd3938bd2522dfbd4398e43be433e1bafe8592bc4be703be4df5a23b52d903bcd8efbd39aa89e2bd6d71ffbb783d14bcb94fbc3b67f59ebdcb7686bc06f41dbce109173c5d583cbd1afe8dbcf5cd09bc54b4ef3b849801bcbc115fbc4f6abcbb1f9a093cc811a93cc64487bcba5340be08ec713fb2a3e03ea6a8d4bd6e9128be45774f3fc160093f3be50cbee9acf0bd01f31d3fa3711a3f2f5e22bed6866abda949cd3e7b551c3f34791ebe80da07bc17564f3e29290e3f135c07be78fcb53c11bc8b3d4ed0dc3e6eb0b6bdde82413d32d4edbc9f1a903ee7b056bd3b1d733d95a7afbd8720033e610bb0bc58d55f3dd912e8bdc9246fbb1e842b3caffe8f3cf27a54bd0be0a9ba58823bbc0658233c57570ebdd2e3a2bd4dfc1ebb159b3abb28f5c1bb7f9f08beaa1c6a3b21890cbc18c4113cfdbe06be53fb40bc238115bcf42c623c34f7dabd669fb3bcd72235bcada9853c9427abbdbaacc9bc972b29bc1fd46c3cf4d335bd09fc9cbc51c6debbf9180f3cad6d0abc2e276dbc253d86bbdd8c803bd23aa33c9af954bc80e11abe26d5333fabe0313f67d11fbeee4cf4bdaf18113fbcd4473f45b338be364583bd7a2cc53ebe91503f3f733dbebb456cbc18e6533e11bc453f2e2427be80078f3c1e1e993d67f9253f02a8f0bdc506383db80985bc24d7fe3e0f73adbd1c8c5d3df01d83bd9cbd9a3eadca3fbd478e4f3dcdcfa6bdcd45fb3de69864bc3878303d44f3aabde2719bbc5ace0d3ceabc353bd9bfb2bce077d3bcedcbb9bb8f0a5dbb0db51cb9de57d2bd12c645bb3f6b33bc3d1e843cd2980bbec10375bca72d3cbcb0bca83c3dc504beb85cf8bc8f0945bc6198cf3ce573eabd3efa0cbd93ba32bcfef9b63cdf85b2bd6c1bf3bc04af1abc99ef673ca1f63fbdbec4cabcf3fe87bb1dcc923b44ff0ebc520356bc4efc11bb6c2a9638dabb8a3c3d5623bc9ea2cbbdc784e63e70d66f3fae1d45be276083bdd49aa53ed80f7e3ff03b4ebe40dc99bc6812393e3db87a3f105239be1b6e5a3c8c458a3d5b7c5e3f49d90abe63602e3d4e01c6bcca3b393f29fdcbbd4ca8533d0a4075bd4956043fc0ad7cbdc9704c3d2af186bdc2d8973ea504c2bccb99123d3bf66abd2b20d83de72e93bb4483c83c56c331bd687a25bd429b103c22fb10bc5a350a3c1d2d40bd57dc9b3a2f6b3ebc415fba3cff03f0bd6be60dbcc4c64ebc3286063da4e611be8217cfbcab7f66bc3493143db66814be8f8314bdc3b54bbca580033d5f75f5bd326c1bbd412120bcb49bc53cf6d4acbde2de13bd5107d6bb3045313c899039bd5b52ccbc58f8cbba77e859b8029639bc3c5b31bc96d112ba4fb58cbb44a9283c914a15bb4f1544bdae10603e98b18e3ff3d349be54c984bc30b3e93d9513933fbe613fbe324a663cc0bf963c84998a3fc02f16be8409293d718143bd4701713f798bd5bdd954593dd590aebd229e3d3f358e80bd3fa24d3d0737a8bdb111023fe4b7d4bc520c1f3dff7872bd2e6a8b3e0330eabaece7a93c6935cabc92dc933d1250063cfc10df3b0deab8bbc7af63bd3065a93b24936cbc76b6eb3c9da0bfbdf8970a3cf19f7ebc4c331f3d93fefbbd27e0c7bbb54b92bcbd56563de52527be1dd1c3bc14b187bc3f70433dcef018be6c021bbdbdda24bce46e083d1aa1eabdbf1c3cbd53efdcbb5ed9a63cd8569fbd65fa20bda4d041bb732fb33bddbe19bdb345edbc69b6923acb45a7bb72ad45bcef3646bcae05debadb7ad1bbb2322a3c2cd5213cc4a18f3b1d5edabb8c65ab3f321648beb597403cf673d4bcae80973fb464f9bda02b2c3df671cfbd5db9903f6d50bfbdc4a6653d892f00be8cc0703f949b39bd57b75a3d3569f1bd6a9d353f26dbc4ba0004293dbffeabbd6652ec3eae47b23c169fc53ca7a71bbde935683e1214fe3cde0c513b2b97413bb1d9573d8529cb3cc07bf1bb6c63003dbe2bddbd699f22bb00000000000000000000000000000000c47ea7bc2cf4843d158f33be1416f7bbe0bd79bcfead5b3d15ec1bbe25921abd78a82ebc172d283db49e04bead1271bdc7a4f9bb70efd73c409ababd8da585bde98a1bbb2d2f3d3c4d8565bdff4a60bdb0d418bb0dfa143b5b8bcfbcbae013bdcd02b7baa5eacdbb239ee239e65311bc0000000000000000000000000000000000000000000000000000803f000000006f475a3d962e48be1eebaa3f1803a3bd3282673d0cff31bec3208b3f0ba8803b3ea7683d6ff326be32f4623ff82f613dfdd24b3d87b305be74ee223f5fdeb43daf33053ddaf49ebda768c53e447bc43d2f06573c1f77bcbca3f1303e3a52a03ded0995bbe1fed63c04c3aebcd368153d0000000000000000000000000000000000000000000000000000000000000000596f533da09811be0e07d8bc1a612e3c3b1b4d3dd411e7bd0ff28bbdafa50c3d7105293d2332babdf2a2b7bd48bc393d38b9f93c31b769bd461fcbbdb12a603d22cd623cdde0b2bc683dc8bd8b95553d73a1563ab960173a4a5484bdeb851d3d3cc6c4bbcc86233c10d198bc91915d3c00000000000000000000000000000000000000000000803f00000000000000009ecb28bea538a63f9a9d86bd3230d039b26025bee369853f29d12f3df10824bd85901bbe496d513fd006f13d8ead97bd976800bee130133f23e2263eaf7bc4bd2444a9bd04e7b03ed3fe323e8f64cfbdf44f08bd2320103ee1060e3e8b969ebd429a093c7155efbcf0488b3d470b1dbd00000000000000000000000000000000b706413d6e99e3bd4476393c737036bbd5e0613d3faed5bd61756abd0a58053df7e3473db37fb6bd661dcebddfee403dfbaa143da0ce6abd152900be6e6d673dc098913c781690bcc17908be37cf6e3da0b9583b6e6e4b3b5c6cd5bd04303d3df8a081bbc8c1843b5d2647bda7419b3cf7ad14bcdfb38fbbb9bf2c3c4f3f9dbb80108abc23f0653c4e30d23cd15778bce9333fbef800a63f45f0bd3ce7b43dbcaeef48be6c60923f8ac7e83d5d4157bd16663fbec2ef6f3f4e00613ec2a1c0bd8e361bbe2a47303fd0d3933e0c01f4bd45d0d6bd738ee13ec02ca53e4dfa09becec74cbde2ef633eaeac933e4294eebdcc670cba7cb0563dbc524d3e779c8ebd93cd283d21c344bd17d58b3da58497ba2d06893d099a16be883d9c3a8b9c803c2f513b3d66cda1bdd779c83a2368f13b8de5473d5bc0a4bde88290bd8358143dd8d6173d42fc5ebd7e35f2bdc080523df480a73ce83cb4bc735d11be73f5603de5c5b03bb4b1163b9e8607bef35a463dad3b84bb8218f93beb0eb6bdd0cdb93cd16c10bc33badc3b0de12ebd92427f3af91b6cbc64d3f73a82900b3ca76e9abc15ea83bcee72083ce178103df31bebbcbfdc45be97b7873f572b823ee3568dbd26854dbeacf3733f82c8ae3ec523dfbd694a28bec21e3c3fa2bad93e662610be3388eabdf6a6003f3463f23e8a6c22be4d4873bd5ce4913eae03e93eaefc17be75570bbcd473e13dabf1c23e7e71e4bde6a2eb3c09a70abb4df9803e8c8654bd96b6873d762fadbd0fa9d43d5f7d063c873a933d4e5f00be1f1faebbb9061c3d6437223d35968bbd74f4aebbe7e61c3caae91b3d83554bbdb718b4bd7045173db983ae3c0de6a4bccf630bbe737b473d6fcddb3bbed3253b223413be53832c3d3f378abb3f8b733c6de3f2bd6d659a3c822e2dbcc1f72f3c18d896bd7e9a4abb22e77abcfd2a323cee1305bda4bfa1bccdf188bc2166b13b70dd2d3cbe55f3bc51ac71bc664ae03b2d2d0a3dfc2e16bd86a93cbe17445c3fb7e3f83e88dcfbbd597e32bed3c7393f2b1a143f04ce23be06fdfcbdb0ef043fa824243fc7c638be6ac687bd1e72a03e019d233f30ec30be35b868bc8e910b3eaf81153f579014bedecddb3c9d2fc33c0c10e43e1d2ba2bd5411763db20572bd1586943ee42edfbcb8779c3d12b6cbbd42b3f43dd9c3c13c56ef883d5bafe5bd3e3619bc8d75553dc183003d1d574abdaba6b3bc03499f3ce720b03c351b81bca3a5debd01471a3d2209c43b61cabd3be7ae10bef5a5163d694a8bbb12cd903c590906bed3d2773c41c007bc21048b3c40c0dabdbbd0cb3bb13091bce9d99c3c18a985bda8b8e6bc82c88ebca4b15d3cc81ee2bcd3f50bbd2cb382bcdc99923b1173513c02bd23bd846d3ebcfeefe03ad603143d436e1abd1e7e1bbeba25213faff9383f780730bedbb001beda15f93ed633503fb1824fbea3ce8dbdd7e29c3e16d8523f063c46be2f6b90bcece8103e4b5d483f1f3a2abe779d413cbc25623d629a203fba88d2bd283d763d9e8057bdacc8fe3eb5d254bd68d18d3daca0a9bda1a89a3ee9dff53a73dd943d3dd4bdbd3cf2e33d0c2d2a3d5e01683dc3bdb0bd3adcdebc5e59763daf31973cb398b7bc229935bdf9b5bd3c7281ca3b70ee023c08fbefbdd006cf3c38ae96bbea39a13c55b805bede21073c4e781dbc9af29d3c166ee5bd5f8176bc883b93bc1fcbc73c081bb8bdd89d12bdb50f9ebcd7129a3c65a060bdead935bd338c8ebcc875673cc90ca2bc326741bd890d46bc2f8bfb3a8df5453c2d2d23bd704ef1bb202e8ebbbdc8203d49e015bd83e4dbbda1bbcb3e418f723f30cd4cbe41e48bbd5a31833e1102823f39535dbe297f99bcfcc2f73df2cf793f0e2c37be935d983c175cbc3cbe085a3ffe54efbd2626723d4de66abd42c1343f7f6e7cbd2cf5913dcfddb2bd4472ff3e3771a6bb1b478e3dea1fbebd5906943e970a083d4630693d146491bd4579b73d6ed45e3d2e381f3de49e5cbd461365bd0460843da427593b61b8123b4b7f72bd8d698c3c00717dbb407ea73c457ce9bdeca9313bf90932bc2dc7d73c0251f8bdc7a36abccecf95bc5838f13c2b46dbbd6f2423bdf4369ebc6e2bd23c6578a6bd6dbb4cbdaf6a9ebc9fa59a3ce78e3abdcb0276bd15e55bbc356f053cf50c5fbc33e451bd0a11febbb0c5c6ba06e12b3cb85c1cbd5aee23bbd6dec8bba7a4d33c236f9bbcd5234fbdd4d1373e3d36913ff14652be9ae492bc99a1893d9d1d953f14a243beefa99f3ca79323bcdaa7863f5e1700be89e9673d73f09cbd7362683f2c397abdf0c7903d0b19cfbd653f333f9f82ceba019f973dc898d9bd14f5f63e332e273d0cda6d3dac48a5bd1602843e17c8813dbabd193dead024bd75d46b3d43fc803d1c49903c2ff180bc39599cbd5aaa443d9abfaebb31859a3c7adfb9bda7625c3cfde259bcb4cf053d2f06e0bde166b5bc48cbafbceb491f3ddf95f3bd28fb30bd311dbdbcc65b103d29f8c6bd0c3b81bd2fb9a9bc041fd03c3e1a82bd42a69abded697bbc87a2583c47a001bd961093bd085e18bc9cf5103b93a180bb78ed6abd0b1621bb3daa78bb55176eba604a95bcb666d3b97794aebb7507863c6b8b84bbc1c548bb7c6f6abc7f2caa3f69c945be033abe3c3bfb91bde29d9d3fcd4ffebd8ebd793d5c4201bee7268e3f6e485fbd11d49b3d3df70fbea2aa673fff7c633cff139e3df22508bed39e2b3f83b48f3dbba4823dfdaed3bd9693dc3e0c4dc63df209293da5235fbd42244f3e1499c53d755d483c17a5203bd5c1b93ce30c583ded383bbb6752963c9899e5bda9d2bd3c000000000000000000000000000000003977bcbcd151433d06540dbeabf2c6bc8999c7bc340b403df032e9bdab856ebd2c93b3bc48f1123dea8cb4bdc3f39abd62ad92bca12ec73c85b266bd76ebaebda68f40bcc280303cdc27b5bcb991abbd6e9f9dbb8c146eba048cb0b9ff9b6ebd0ecb7ebacf317ebba623053c01cac6bc0000000000000000000000000000000000000000000000000000803f000000000ed8823dcc2840be6a73a73fe1d960bdf3b19a3dba5238be582f893fe4201b3ddefe9b3dcc0728be02835a3f7688ce3d2ed48b3db87a09be07161d3f45ea103e594f463d72c2bdbde55ac33e0f061d3ed42bc13c55031bbdef382b3e66fcfd3d95be55ba51a5323cc0d893bcb4e4873d0000000000000000000000000000000000000000000000000000000000000000c29de6bc20ae6bbdb26fefba6520d33a43a6c2bce5316bbd2c695bbb0a7b923b65f4a0bc0cae4cbd531c7fbbd99b933b688d81bcd0d62bbd5b62b5bbd1e4423b6f1438bcd05816bdc82f07bc3123913abaacbcbbe643e7bcf3cb2dbcbad69dba21729a3ab0d5a0bce08c44bc79e290bb00000000000000000000000000000000000000000000803f0000000000000000732a2abdf8638c3f13bc4dbcc9f7fcbb927fe4bc0c026a3fdf19cbba954383bb2036c3bc4a7d3d3f25d0d33ba7cab2bb6740b6bc5000123f4e95d43b9bd781bb6048ccbc2eb7d13ef9fbb03b03ca93bb6d91eebc6f04823e3615f03aafe1babbf24710bdc338cb3d6d5275bb30d6f5bb000000000000000000000000000000002fa8ecbcf6400fbdb708b43a714c37bbf43bf9bc57ff8bbde06487bbb966f23af7c6eebca4b48ebd22739cbbaee5a83b98b2c8bcc35e83bd1749ebbb5435c83b07259ebc281a57bd24ce16bc161e9c3bb77c40bc97a53ebd628d49bc673c353b882b87bbd13e13bd7f4362bc8050c838b641b83bcb9da4bc771f4abcd7d011bb9294bf3ba058e4bbb59d07bcdab37ebb4fc289bd72788c3f7fb5e83dcc30c3bc1f219cbd50e5843f4393de3d6189b3bcb5fe6fbd542b5f3f60a1d93da8c98bbc015248bdcd22343f7748c23d62fd5cbc8f652bbd7a9c083fe1b49f3d28d533bc47e834bd818dc33edfe1743d1a0f35bc11703cbd99e46b3e68ae1c3dcf6236bc6bbc3cbd9ca0b03d7b4e7e3ce4522ebc741b1bbdfe5ff1bced5648bb812317bc1b9bd7bcb49fd1bc9f4ba73bd6037c3a9935f8bc264d59bd69cf82bab41ccf3b05dfb8bcb7d759bd42a2afbbcccf0f3c51edb5bcb6a667bd43670ebcf0a1253c4cbc74bcbfa135bdefbe1cbc12c3003c69fb29bce16731bd5a7d49bc59a6a83b294948bb94c8f1bc59604cbc09cf213b439f263bd6efa4bc37c23bbccff5bd398e0d823b6118edbb3021d3bb9c5043bb0c5e8abd7dcd6b3f354d883e345609bd309eabbd9f51613fb3bd823e28b019bd1b8d77bd63e0383f029e693e7ee5d4bc496e76bd0a431c3fbf48483e2b93bdbc4b5c47bd3f37eb3e0b781e3ea66d86bce64d55bde0c6a93edb53f13d147f89bc2a4f35bd77e9503ea0809d3d22674fbccb6746bd29a0a43dbaf7193d05344dbc3c6f04bd6ff892bc1abd4c3ba46c15bc9277bcbca7b1b1bc1cff103c95bb9d3b5b4ed3bce8ff3bbd7b3c303a63c2323cf635abbca1525cbd253ce8bb8a81653c95ff88bcabc155bd95183bbc09585f3c88e14fbcfa7639bd2eef55bc0d97413c1a0fecbbb3321dbd4b9b6dbcb622113cb85f35bb8ffbf3bc207566bc4b799d3b8fcf1b3be22596bc96aa33bcb652073bc8b3053b8eb3e5bb1f8ab9bbdb1d9f3a786a75bdd7533f3f299ad93edf9b29bd59b69ebd8af2363f5d70d03ed18444bd6ba58bbd7e541d3fc4c8b73e373813bd7cdb6ebd32feff3e97fc993ee7b9dfbc234753bd009ac43eab53753ebce8a5bcc3e849bdde638c3ecbb3363ede8d8abc03d840bda1772a3e0241f23d604c5bbc0ca02cbd547a863d11676e3d84ab40bc37aeefbcf7ee86bc3a94843be7b2e9bb0f4697bc40d1b9bcc3ec043cef10043c80e89ebcf45730bd6528b5badc9c823cda2189bcebe837bdbd7413bcbb5c9b3c8d2a51bc102249bd947075bc5f998f3ce77002bcd71e05bdc8e940bc9df4403c810ae2bb1d4f12bd9dd684bc85bb3e3c229a34bb13afd5bcd61e71bca2ea6d3b2b00da3a106585bc448b1abce89e933b8bdd173bd9add5bb5e9c25bb7556303b68fd58bde80c153ffc62163f18f643bd26ea87bd73750c3f6c500f3f5a2060bd2a7960bd29d9ef3e43bef73eac201abd635658bddefac63ee059d13e9a67f7bceb8313bd7d1b933ead4d9c3e8e4f84bca0bf32bd24835b3ecbe0733e3d2b8abc9c731cbd6446043e81b51b3ebb213abc4f770ebd7814473dad959a3db16518bcb8adc0bcb1ca87bc763ab13bf421aabbef173cbc69a9dabc79c5c93be691703cf9444cbccb4f3dbdb63c1bbc7332b63c838413bc8b4750bdca44a2bc942ac03cf352f7bbbec141bd35d6b8bc1808af3cb459b3bb11e825bd8d67b3bcd4468d3cc6b826bb15f207bd486daabc9a88503c52f61639be11c8bc990e89bc09e1f63b7a5cff3a82166fbc19542bbc199bab3b2f7eab3afd6dc0bb88a71cbbfb96643b253a34bdfa9ad73ed9f7403f7fc362bd8e8f6fbd54d2ca3eebf0393f568481bd35fd50bd96b6ae3ed411213f30e63abdca2738bd25158f3e85ad043ff0ae02bd14ab20bd99bf5b3e40afce3e50d5acbc8b2013bdaf601a3e8268973e241f77bced1b04bd517eb23d3717413e27453ebc940de3bc2f83df3cc376b73d0320f5bb125e93bcd09095bc64f2243b016639bb1060edbb613201bdb08dd2b80a457e3cd85542bb372947bd17a2babcb3b1c83c23be30bb8a8539bdcda9e7bc0dc7b53c31198aba00f03bbd7f670bbd2aaebc3c042d12bb4a3411bd0ed0e7bcc1b6823c725f58ba1dc1f2bc5342eabcd6c75c3c7f5dac3ab85ea8bcc9dca1bcced5f43b1340233bd11e3cbc5a6f42bc05dd633b8237163ba07545bb32c4bcba34221e3bee5516bd7c79873ee2f96c3fd1e07abdab3836bdf33d793eede3633f7a738abde7a713bdd96e593e38103c3f1ecd1cbd51a10ebdd4b2323eb357203f9ed9e3bc0ebde2bcc78b063ee0ccf23ef08183bc147ae2bc1652b73d475eb33e8cd144bc8965b2bc84d4473dce63613e19a5eabbac0891bc073aa63bc1b4c73db47074bb1fab26bc320ebfbc7473acbb550ff9ba2c100f3b13c31abdfb0c88bc8cd39f3c7f23df3b842d4dbd1b344bbd9f7ab23c7b759a3b731b46bd56c856bd4269c53cf8b1423b6a162ebdda0048bd0d8ba63c78e7073b230506bdeb4f25bdcfa56f3c47cf2b3b4ef4d3bc88e317bd4bb6143c01f1413b213d8cbca980ebbccd4a703b7dcf6f3b492cdfbbacdd90bc38c6a43a47df0e3b55dd33bac8fb70bbdfd4c6b82092cbbce3bbe03da9eb8c3fdcc776bd2067dcbc6179c83df8ae853fd53677bdd6b8c4bc1e9fb63d29ab613ffa7604bdb7f6adbcc7c4953dcdd3363f60e388bccb9a90bc75565b3d33530b3fc373cfbb2a8f7dbc3ce0f93c35f1c83ed7812bbb01963dbc61a3e83b6e11773e8846c5ba519cd0bb654888bc8655ca3d795b81bbac5352bb9cf0ebbc67149fbca54581ba000000000000000000000000000000000130103c92502abd86934bbd77f3a03c4cd4f03b2d580dbd26364fbd2edc833cd79a703bc00eecbca1a433bd7321593c13af2b3b2114b6bc36d21bbd27a6063c99439e3ad4b079bc73e60bbdf2604c3b9aae643b415918bc60c7dbbc69f6ecba30301b3b959463bbd2f999bcbdd393bb0000000000000000000000000000000000000000000000000000803f00000000d0161cbc2fb8b3bc0ff28c3f37c7cabcfb5a1bbc5bdc65bc461b6b3f6d6709bc865a0abc530333bcce5a3e3fb283893a5cf4fcbb36ee4abc8cfb123f3203a23bb20bc0bb4ead84bce95fd33ef15ec43b2d4269bb2d0ab2bc6a95823ebbc9853b20eff8396e5bebbc4f14d13d0c46bb3a00000000000000000000000000000000000000000000000000000000000000006ba75ebd4e9e57bc8ecb583c84e5103ba3673cbd98429fbc0e063d3c05629d3b69c223bd7ae9bbbc4906243cf6f3bf3b086400bd93a3b7bc3728de3b7b679a3b8932cbbc23d5c5bcb5ba2f3b67262d3b3d0b89bc9693bebc4ad665ba6b5f743ae22212bc1407aebc4ec18fbb28bcd2ba00000000000000000000000000000000000000000000803f00000000000000007ea839bc10ef7c3f0e80a73bcb3f54bc07fd4abcb208563fb2bd3e3ce1660dbcf56e84bca47a303f692d7b3cd786c5bb888d97bc8d0b0b3f0ca9763cb483b7bb6168c4bc5c8ccd3e61c4803cc878c6bb91ecebbcfe27853ea1f83f3c7389aebb707814bd27b6f53df31c073c0b9ecbbb00000000000000000000000000000000700960bd153da8bb0d96823cc35c96baa4b686bd50cdabbc0433993cf4d6ad3be65370bd9c37dfbc9f9f773cb187f23bf44556bd0da1f7bc160f423caab7ea3b9be222bd8d99f8bcdfd5043c5ffaff3b283703bd892308bd119c7e3b8633c93b7d1f9bbcd7abffbcfd83c7392ed23c3b64ae0bbc72c5e0bc91dbcebb313f43ba4baf5fbbbd5893bcb25faebb69bb84ba8497b6bcb8ce7c3f537e073e3950a1bc30d9f9bc63cb663f8676033e7d78a6bc7f38e5bc2f21443fd246f33de45e75bc2427f0bcfba6213fef96d93d001142bc4b7c02bddebafb3eda24b53d318e01bc28421fbdbd60ba3ec880933d7b92ebbb677b2dbd092c6d3e31e7503d018edabb479b3ebd47c9d23d49a1fc3c3350b5bbb42c18bd53f94bbcd3e9123ca7a48abb75ef4dbd4916fbbb7d93a03c3479653bb8bf80bda823a7bc6561b43ce86b0e3cb7964ebdaca3cdbc20d3803caa5b2d3c38c047bd894805bd30c2553c32fa4a3caff910bdd430ebbc2078e63bc10a233c060bf9bc7eb40abdd772543b4f011a3c1dad9cbcd724f0bc9bb7023ab539e43b9e4216bc7ecfdcbc5eef90bb81c77d3bd21b6fbb09d08dbc8ce07bbb27c1163bab06eebca628573f9f8f8b3e51bfbfbc72831dbdce63453f6875833e4d67cdbcb81a0abde442253f7250673edcab75bc62cd1fbde3fd0a3f1ae04a3e5f6545bcad4a10bd0befd73edca0223ed4f0f5bbfb8432bd25589f3eff8a023e52bbd0bbb91528bdb8454b3e008db33d470b32bb97933bbd92c0b23df1b3543d50a433bbcf6f0abd6de440bc63ef543c0cac1ebacb7a36bded0241bc3ed0bf3ceaac033c46a665bd2b28c8bc21a6c93cccc85a3cf7ff50bd3bc5f8bcc8f29a3cf9cc853cbc3a30bdae650dbd45424f3c6018833c18a60dbd05240cbd15b6ce3b15d7773cb148dbbc1e5708bd718e2f3b9911543ca1e48bbcb9f4febcdcf79cba2368223c34f80ebc1c8adebca32892bba84a093cfc7871bb91518bbcc7422bbbb032a13be74300bda4a4313fec43d43efe16c2bc9c782dbdbe4d233fc977c63e7c9dd2bc8d7b2dbd96e90b3f8208af3e84c289bcc1b32dbd3026e63eaed5943ed7c019bc67292bbd4d21b33e7fd5713e202f9fbb3a4437bdd82b833efc2a3b3ee29036bb751d33bda499243e793d023e8d7c39badf8d30bd9d578a3d5a13963d94a43a3afbfcf4bc27fd47bcf2ae803c0ae8453b0b511bbdccd887bc0139cc3c2ba73a3c20413cbd7e07ecbc16efc83c3a02903c207a1ebd6d9a04bd903c8a3cb3fe943cdc9b13bdfa4116bd7bcc303ca657a53c492fbebc46fbe0bc7f439d3b8ec2653caf09b2bc039f0ebd5e32ceb8e2cc813cadbd54bcf670e9bc087c1fbb215a333cdb37c2bb0060cfbc37ca82bb96db1a3cd82428bbd4258bbcd6ca2ebb94d8de3bd31702bd793d0d3f74a50e3f24ddc2bc49b32cbdd489003f8623043f7286c0bc25ce1fbd328bda3e1634e53ecf6a58bcf0822cbd5248b53eb12cc43e5a5509bc58bc02bdbf048a3e8148973e032aa7baa0ad2bbdc6514c3e378e723e5a8fb03a3f9b17bdac8af93ddd7c223ed8f44b3b415217bd53e9433dbfabb63dc897bc3b430adcbc2ea181bc51e4863ce457d13beb8afbbc80c8afbcd233c73cd88e713c01380fbd279614bd8cfbb73c911ebf3cb43301bd04b920bd4ea35e3cfdb8bf3c74b1e4bc20d71fbd081bd23b5829b83cafe8b5bce45d13bddb83053bfbefa23cdf8169bc692b0ebd2e313ebbfb67893c4d9101bcf6c4f5bcd4b2a1bbe364453cf881dbba465dcabc8131ccbb0858273c8102913935957fbcdf2158bbe13b023c67affbbc7408d13eb7f4323fbf58b2bca2a130bdcddabe3eb1d7263fc364b7bc768d28bde7f7a13e6db3103fae902fbce7c422bde29c843e59f8f23e550335bb0ea21abd3f2f4e3e8e1ac23ef6c3cf3aa47f1dbd73a80f3edf85933ee3b3b43b35f010bded97a83d7fa3463ef1d3df3bba5104bda52ed03c1080d63de3421e3cf327b3bc38e19fbc6dcd793ce183063c7a8aa3bca77fe2bc8830b93ccd41953c6237bfbc70d627bdfbe8923c8a9ed23cfb5ea2bc88101abda516ee3b9121be3c8caf8dbc125627bd42a45bb9f26ccf3c6cdd33bca74e07bdb65581bbb97a923ce3e708bcc2a105bd83e703bc7a41883c35dc47bbf36bcbbc93a007bc03c93a3c0b0c973b23acb4bca8d61cbc6f1b163c18f9b93b7fe95cbcc9a2b1bb7072d23b41def1bcaeca883e3b3d583fe291a2bca6541fbd03e8753eb71c483f7e1b85bc89bb09bd3e32503e75de283f0bbe78bb3de215bd94b2293ef465103f85632e3b6b56fbbc5328fd3d3241e13efd23d63b214703bd17bdaa3d6e33ac3e520d2e3c3ba6d7bcf7c83a3d40d8623e5e922b3cbd0dd0bcfc864a3b712fed3d0b4b4f3c211a88bcf7a5c4bc4c98303c1410323c0f9523bc847c0dbdc5d4883ccc68b43cf7560fbcef6239bd6bc6ee3bfa74d43c5e330ebc39432dbde93989bb6c31ce3c3dbff5bb6d8f1fbdceaf22bcb342b83c279597bbb49f03bdab0f4abc0db18c3c5742e9b9e9f2efbc0a838cbc72ab5f3c8e997a3b990dbbbc09d487bc48bb183cc3240f3cb69087bc140a6fbc099d953bc074023c10a033bc5b6106bcd7d3863b3c5ed7bcdcd7003eba9b7d3f13aa41bcfc4b04bdfbfee33d769c683f7cf3b4bbab72f5bc6427bd3d674d463f1196cd3b7bf9edbc1aa3933dd07f243feb155d3ce1e3ccbc529d533d6745013fbedb673cf42ec6bc0ba0dd3c879ec23eab188d3c93b4aabce59a9c3b026b7e3eb5847a3c157881bcef8f92bccadcf93dc99a573c4de530bca9ebf8bcc01f163b7835573c00000000000000000000000000000000172faeba5b4516bd65ab4dbbb912bc3cfb8aa6ba131200bdd3ca2bbca46f983c0bbfd8b945f7e7bcade469bcc62c8a3cf9c4dab9feccbebcdea179bc903c3e3c9c81003b55dba6bcbeee87bc085d063c58bcca3b2a1981bc7e0f9ebc940e8b3b5e5f113c1cea31bc287f86bcbb6ebd3a0000000000000000000000000000000000000000000000000000803f000000008e6ea6bcdd9617bcbb4f7d3fa82f0e3c465494bc35e909bcb2d8563f95fd623cd97c94bc9fe62cbc58e8313f0634863c0ae480bc56ca56bceb2d0c3f8625893cba6b70bc552c8abc8e09d03eb371873cda4921bca41db7bcb9a6873e10ae693c947d0bbc10a3f5bcbdb1003e6eb5553c000000000000000000000000000000000000000000000000000000000000000081bc68bcc8fdaa3ab5cfa13b02f0703a991f66bcae6bb1ba035ea73b8bcf023b4cbd56bc69a910bbe5339c3b0b6a103b36d32bbc5e66c6ba0d0fae3bfb3dd33a1e7e34bcba145cbb3823713b4bea0f3bfc9d22bc6e5b7cbbd7db3e3bbb3bff3af011f2bb10a189bb7d602d3b9852ce3a00000000000000000000000000000000000000000000803f000000000000000079da4c3841d1633faa38643bc7cd3cbb7afc05bb1143433f5e759c3bf78cb1ba10d736bb3dc2223f1bfdb23bd0e666ba322f1bbb0cd3013fb4119a3b22fa52bacd8b96bb052bc33e497fb73bea3c54b96664bbbbac06823e37b8b43bf68d8e39d2bed0bb60a9023e49b6983b74d2adb900000000000000000000000000000000238263bcfb98223a64f0b53b007cb03a0742a5bc735ad0ba0c3ef73b3fc22e3b818795bc5a7a21bbbc8bd83bc223463b350c94bca8bd72bbe771d13bce805e3b201082bc16036dbb683dac3b7e72613b344174bcbefba8bb87e09c3b8119663b60af59bc6ef0b5bb04f46e3bdf5d583bd36f4dbc1e84bdbbf995603bb5d97f3bc0e6f7bb484687bb3a7fc23aa939073b915ecfbae4c5633fd697033ed28d34bbbb397ebb26dd483fb45eee3de4361fbbf8f087bb66f82b3f3059cf3d86cfc9ba985aadbbaa840f3f6cecb13d6bee71baa3f0e4bbe8e4e43e2234903dde00a338dce3e9bb84e0ab3e50fc623df43ac839105d03bc8bc2643ed8bc203d0c5b723afe0c14bc7621e63dfd26c53c8fa2ae39274edbbb56e2243ae39ca23b3dee843aa08d66bcc4dc08bac48fc13b98f6f63a48f2a4bca28911bb065c033ca3315e3b602f8bbc9a224fbbeb4bd73b4c33833bb0339bbcf26ca3bbaf79da3b17a58f3bf7e46ebc3c02a4bbe3739a3b150f7a3b95617cbc6af8ccbbd0769d3b3bd6903bdc8947bc99c9bbbbf60a623bbce9733b4d6449bccaf8ddbbb4963b3b093c803be762f5bbd3ee97bb37bbba3a289c3a3bcaac59bb5151433f96fb823ec6da1cbbb127aabb16632c3f2bb2693ede1513bb00d3a9bba856133f679d493e37da07bb113aedbb825af63ed1302b3e518abfb8ae6be2bb06f3c33e1f4a093e4394343add450dbcd96d933ef359d53dba0ab13aff4a05bc87a8433ed47e913d24a2d03aa1e322bce237c33da985243d70731c3b3468f2bb00aaaa3966d3cc3b6e0ee33ac63d5bbc6d42a9ba061ac93b83f7263ba1cd9fbc0d6b5ebbd57c043c65788a3b9cf692bc61789abb6802de3b30aa953b8a4292bc8b2ac1bb849ad03bad11a83b49a673bc3931c2bbfd79a13b76db973b0dd16fbc7891e2bbb5ab953b4355a43b16c859bcd5d008bcac0b6d3b85698f3b48f945bc18f3d1bb8ee3373b69308e3b62a7e4bbdcce9ebbccaabd3ad08d3f3b91f27ebb91b3223f6ad4c33e114cfcba4424d5bb16a80f3f6517ae3e52f4c5ba7e6fe5bb3fe8f53e450e963ea66026b8e0de03bc2721cd3e35ea7c3e887b783a460bffbb046ca33efa3d4b3e322ac43a50e114bc7f47753efedc1b3e3412133b67f82bbc8b7c223e7698d43d2989893b1b8e12bc666ba13d992c663d7367543b0338dcbb496b19ba71f3c53b4cba283b075066bc1bec10bbbbbecf3b7ffb5d3bf8bc90bcf5c58dbbde77013ce120ac3b3ee676bca5c4a4bb4e1fba3b705a923b5f1a87bc838fcabb157ac93be0d2c73bbf9140bc9098b9bb80905e3b2d20873bb82a6fbcd9080dbcabfb9d3ba0dfc03b986b22bcf283cdbbe25d2a3bb55e893b6d0321bcc39d01bc1844433b8459a13b5ad9b5bbc29fb2bb249db53a00114f3baa318dbbc43a023f326e023f014a85ba4482e1bb0bafe53ea61ce73e495ae9ba3cf9ddbb9210c43e722bc63e9a804a3ae85e02bcb7fca33e6b5ca73e2fa0613a8ae1e6bb50ec813ebfe8853eb939dd3aa04b2abc6928423e01dd4c3e08c26a3b92ef01bc2de9003e215d093e2ad4523bd36620bc53c4773d6211943d8f708f3bd653dabbb36a42bb106acf3b459e603bfee436bcc40e65bb6f05c23be76f6a3bdf8889bc558bc4bb6468f13b7432b93b0d947dbc311502bcb30dfa3bfbe9b83b65ba7ebc58d800bc479ea83b4f5bc63b1b184dbc6520e8bb5049733bc756ae3b55a462bcdb71ffbb22f05b3b8a2dba3b87d728bcb886f4bb58c01f3bc024a03b6b5a12bcab9b00bc8efce63ad7149a3bf241b3bb7a8bb1bbf9cc513a19824d3b6193a2bb4428c33e77c8223f158a40ba3f2dffbb3a2aac3e9313103f2d920b3a2623f5bbe91b943e73f3f73e3feacb3a2aaa15bcc82b753ea3edcf3e89363e3bb2fd05bce310433e8662a63ee793503b69a214bc657b113ea20d7d3e24768a3bb53812bc1ff4be3d67be2a3ec94b8e3b727d1abce7ec353d648bb33de752a73b725dd4bbe79f25bb79cbbf3be309803bcfdc18bc58d4a5bbbf9db93bb2dc853b9dea6abc571fe7bbb95de03b5548ce3bebb74cbc67cfe6bb8710993bfb50bd3b74d15abc35eb09bc4339863b1205cf3bf7792ebc8aa9e4bbc6eb403be93ca73bcdfb29bc2a080bbcf68b0c3b1dccb53b6e33d6bb162206bcafdef93add609e3b1a12eabbb67f03bc28b4513a331f953b51977cbbb696b3bbc0d59f3908c9443b00e6b4bbee18823e4b66433fdbf88eb92a8f00bc20be653e4cb32c3fd715c33a433ff8bbdcac433eadf6133f3b62343b5f9d12bc26b4223e7e4df83eef30843b199bebbb8b0e013e4a33c63e030a873b25dd14bc7867be3dc676963ea227ad3b5ed611bc4fe2713d60dd493e75efa73b49a412bca64ede3c7838d23d189ebc3b522cc7bba49d78bbb1f1af3bf11c8c3b610afcbb8bbaa9bb0a54963b2dba913bb94e43bc294c0cbc8f168b3b7b46ec3bea6f2ebc77dcfebb138e643bcc23c53bdce028bc95c308bc6161183b2a83bf3bf62207bc9144eebbd3f6bb3a537ba53b5999e8bbed420dbca5d1053a572ba13bd2aec8bb31b1f6bb9b078337ffaf883b01979abb02e3f3bb267ab7b93cd0803b910e22bb7e4cabbb59e14abab7da1f3b50d0a2bb961e023e8088633f0e13993a064304bc0895e33d571d493f28186c3b2c2ef2bbce17c33da6522c3f3b088b3b5cf302bc7c95a03d51ed0f3f8713ac3be3eaeabb50ab7c3d5c18e63e02f4af3b19d20fbcf3db343df4caad3e346cca3bf4ccf9bb910ae03cf4dd683e2ecfc53bce15fdbbbbbd253c6ddbee3d908cd13b2644b0bb49009cbb1745883bd974933b00000000000000000000000000000000657ddebb17dfecbbabea163b19579b3b7affe3bb83d8c4bb5508ef3a5621913b7f6ccfbb189ad0bbed132b3a92938a3b916a9dbb3575c3bb7a94b6b9f9c2433b0b909dbb070dc8bbaeb014ba995d573b785d6fbb7b09b8bbd36a44bad657343b77b69aba8cde9bbb70f2f8ba46fdf23a0000000000000000000000000000000000000000000000000000803f0000000099848abbd19d0eb9edb4633f5847723b52e2abbb72958238b146433f8723823b5cb3b9bb66bc79ba0ad8223f34d89d3b8ccab0bb3f1007bb6c10023f2340813b3775bdbb36663cbbcbd9c33e2035a83b18aeb0bb2a4276bb47e5823e6135a03b2e7f9ebb8778bfbbddc9033e5a19923b00000000000000000000000000000000000000000000000000000000000000005cb06a3c910f15bebdd343bc9082d43b6adad83bf3e20cbedcd291bc2387f03bb16271bbe928f1bd6a3da1bcdc14c53b40d7abbb1672c1bd2dcca4bced469b3b343ac4ba3d0091bddbffa0bcc7667f3b500c3f3bdb933dbdecbc40bc39b5653bac6ab03b41e183bc9beadabb9d6c2b3b00000000000000000000000000000000000000000000803f00000000000000006d20c2bd288da23f035a88bdc39a7c3b580a85bd54c5863fbf67dbbcfedd2eb8c9cb3ebd683d593f1b668dba351878bb54930ebdcccb233f9c0e283ca9cdb0bb53f3d6bc03cdde3e80f4473c9b0eb0bb09af7dbcf9d5733e3bd4043ca64d6abb2c3807bc54ff443de48b28bb43e6a9ba00000000000000000000000000000000917e7d3cb121c1bd266b083b263564ba03b01d3d04c021beb48b4fbc70c41c3c31c3b13c17b522be00c6babc96a2013cfb3a4c3c8c020dbeee45e0bcc37dca3b75d4d43b13bedbbdd233e2bc5819ae3bc8303e3cf026a7bd3f2bc7bc5da2ce3ba6bf443cf65b45bd23b992bcc0b5a43bdb6b2b3c44a74cbc977bcabb4e7fea3b2d0b383ca91d1b3c4f81e8ba3e4ff33a07d518be8194a23f0d85643d3e91abbcd80e22bee8099b3f19505d3d7fe293bc21dbfabd6c78853f5f14a53d9999b4bcb47cc1bdfd0e563f7999b83d41bca8bcb9b28cbd97211e3fbca9b33dc667a9bc8f8558bd597bd33edfd2933d290494bcf8fe00bd07e75a3ec9d7483dc5835ebc02895ebad58dfc3c013eb53ceb5ab9bb302ec7bb42e4afbdd6f64bbbc452babb0f460f3c26f786bd5ddfa53bb035a7bba160cc3cdc91febd894591bc931e233b7bde693c4acdfebded9ff0bcdbeb7e3b50e4613c5c40f4bd3e0811bd29da933ba0f1123c3a35bcbd449208bdfd139c3b6d906d3cf34793bd930403bdeb2dc23bf1b7643c6a212ebd9880c7bcd05e953b04f7803c082a62bcbfd571bc522bba3bc919603c0aa58b3be29438bb99e2743b73f112be2581873f3eb27e3e67be51bd516428be8c37863f0dc4783e79725bbd0d2600bef7f4613f010a763eb59c3cbd87a5dbbd6cbc3a3fa619603e1f6c2fbd81cca0bd371b093fcff63c3e0a8909bdd82182bd9e11ba3ef386153e710305bdd7262fbd2240473e4831c83d7c60c2bc11e890bc876f1b3d84593e3d292389bc5a0945bc7e6567bd8201b93b17594ebc93381ebbe4b845bd199ae83b4dd409bc3fc17b3ce04ac8bdc4d9cebc2b65a3ba2f98763c278adfbdf7fa2abd3eb83a3b2114573c314bccbd9bed3fbdfaac703b81eb273c1b20a9bd836337bdd859703bb654673c90657abd0ec523bd3b6d6a3b6bab863c0cfd20bd212ef6bc60069b3b02de8c3c806068bc430d96bc1d6fc83b7ecd573ca8e2893a429eb9bbecd07b3bb33f00be63415c3f6a0ee63e8569a2bddeff14bed9ca583f5b2de43e95edadbdd54efdbd73fd3b3fb6c3d33e580394bd8f66cabd3554173f0fddb73e298c79bd8987a4bd1c6de33e9f4f973eb78548bda9e27fbd8b0b993ebc30633ea7de25bdcd3e37bd0b3c233e3705133e21c605bd6e3ed2bcadd5193dccb38b3dec14c1bc7a1c92bccb242fbdfcaa393cd14591bc448c2bbbbdee24bdc7423c3b0d0a25bc3fc0303c09a49abdb5d413bd70a47cbb5b39223c7e89aabdca385abda21f853904853a3ca18caabd179272bd07555b3bf90d363bd1be6bbdd56829bd36bd6b3bc8e44f3c81975dbd9ffe3fbd10ee5f3bfa954a3cd97302bd75f006bd7f06aa3b07b9673c221a48bc4b31a2bca7268e3b070f363c84e6b5392e199ebbf6c2583b6143d0bd1fdf263f9e87273f1413d1bddb45eebd1eb6213fcbfa263ff4abe3bd90f4c0bdc1360b3f0530143f16fcb0bd42d5adbd6822e63e022c003f544d98bd71db69bd6acea43e4528be3e97e432bdb23c63bd74986b3e092b963e6e443dbdfc5b1abd70ccfa3d1e4a373e326f03bd24c3cbbcb6f6f23c3593a83d02c7cfbca9da84bcdf590cbd8f41d83b8c6f97bcc7f50f390adc05bd347938bc4f2bcdbbf37f6a3c9b3074bdf30480bd3ca071bbf4ff813c50af91bd225fa5bd067fb83a441a6e3c8e4389bdb12fa4bd9689a63ae950493c3fb86ebd290d8ebd517c3f3b4afc5f3c8f6e31bd4f2366bd5b925b3b8d25533cf227ddbcc04126bd04367c3b6f11473c48092cbc4bab9ebc5036b23b2147f73bfa5a84ba1007c1baa2ea933be3529ebd184be53e1efc5b3f382500be9c37b2bd4006da3e13085d3f22700dbeef3197bd8f08bf3e976e443f360be0bdfa507dbd92379c3eea42233f44eeabbd08dc59bd70086f3e8a60fe3e269f7cbdf47328bd0fb31f3e4247b43e8a1239bdb4bbf7bc6ff2a93d63765a3e62e10bbd63038dbccf0a8e3c821baa3de2b8c4bc9bfc30bc0a4fe1bc749906bc6a6e85bc1afa823b48c7a8bc832a12bdedbaadbb6d7f6a3c090d1ebdf3b5c8bd134d6db73bce693c0e6a47bdda33cebd8c8c1a3b083e883ccc424fbddf39d5bd12e3d3399539393cf3f62bbd1ff5a5bdffba3c3ba870513cb6d804bddcdd8abdef80ce3a2af6183c805aa1bcdb072dbd4ed22f3b8b37f13bdeaec6bb0b3fa4bc0fcecc3bf182b33bf76f7e3a56a6cf3a19eccb3b24c246bdc8187d3e6b82873fcf8912beb9f24fbd1c0f633e2927883f14ea1ebe97df33bd06264f3e112c673f356bd9bdf22f20bdb4692b3eeb20433f9aa2a9bd203400bdf5a3023e06e7113f9e835cbdb2dac9bc362dae3d1b12cf3e6f1527bd046991bc068e363d85cb6d3ee160cfbc608c03bc8826c13b4016983daf5f97bc24dc18bb4a97bfbc5d4aefbca73271bcc16ad13bda626cbcf0c295bd0229e13a248a4c3c3c442bbc704911be49baa23962b78c3c7f15e8bc6f0615bea6c966ba3014923c54a005bd8cad04bed7e75ebb9697583c4202f7bccd6acfbd208083bbb1ab393c0373b4bc5ec69cbdb88f6bbb9200e73b2fb327bc6c154abdcbb7103a73777c3a14ec62ba0cee83bc0d7ae13b7abc263ac9abb83bf27ca33b5da8b03b26878fbc9513603dd56da23f865616be563949bcda73103dd07f9b3f172113bef61b6dbc6d9d3f3d9af7863f3f62c8bde07e71bcdcf93b3db3175a3fc5607cbd8bf93fbc4e3e1b3d671d233f5be80bbd78c410bc8b58aa3c35e9de3ec33caebcab02aabb3fee113c26ba6f3efb104dbc28cf6a3963825f3977de4c3d817afdbb1d6e4b3b347caabc85df8ebda2b5f0bb0000000000000000000000000000000070bc4a3cb9cf58bc1a7511be78a8853ab8f7723cf25c9bbc1ffd0abef4ea90bb2391463cd130c8bc6438ebbd0ae9bbbb1682303c6477aebc14e7c0bdb20505bc2b44e73b5e0b53bc29cf92bd351f0ebc1d66733b233490bb6ef040bd919dacbbdaca0a3a1f54293b19e195bc4f8b3dbb0000000000000000000000000000000000000000000000000000803f00000000d9a9173c2857a7bdfc9ba23fb1479ebd14d7ab3bc6b455bde5b2863fa72616bd278e023bd7a80fbd7a8e593f20a53cbcb55b7a3a0450dcbcf917243f313d3d3bc268f83add32ccbc47eadf3e375c1f3c8ee48a3ba25f9cbc0f14753e05d3123ce2f9cb3b2f369fbc28684c3d2934b83b000000000000000000000000000000000000000000000000000000000000000073e5903ae9aadfbdbf5a6dbc52ed393be0ca053b8ba1e3bd93647abc2540253b5079b8bbe9e4ccbdedd362bc59a61b3b2fac58bb1761b3bdfba07abc608957ba793dd43a2a3194bd69db81bc1c9e8dbac857fa3b2c424fbdb07471bc710302bbc5983e3c2909e2bc65924dbcc76851bb00000000000000000000000000000000000000000000803f00000000000000008cfe90bddeb3983f89cbf6bcc5e283bb956c64bde1be7e3faf99b8366c07c2bbc83044bd0e3d4f3f310e993c65d930bc1b9937bd7cc01f3f830dc73c83dc34bccc9d28bdeea3e13e0959c43c63842ebc77df08bdff85843eca7d6c3c608d19bc13dbf5bc0567a93d67126b3ba06c03bc00000000000000000000000000000000469b3c3b20a994bd9bb4a93a1599ccbb888e033d94a007bebd3685bc63b5493bacab9d3c51c20abebf43abbcee41c53a9f7a823c79affdbdfb65b6bca2ca95b89474463cf6ded5bdd108c3bc2948083945139d3cba4db2bd2d6dc6bc0b0ab9ba2335af3ce4a170bd01a3b1bca58caa39a577a73c165fb0bcd2cf62bced6a313bcffe963c10fb04bb71e422bcd02cf9b9f093e5bd4cd3983f7a29c43ddea8f7bc9d6e04be1f33913f5b09ca3d1864dbbc967cd7bdd742783fa8acf23d7c9ae8bc2f6eb9bdce76483fa755f53d05b2e4bcd01d98bd4e27173fea72e33d284cd6bc8c1184bdf24cd23e68beba3dc066cbbc0f864fbd85be6a3e7958813d7ba6abbccfffd3bcd4af703d7a15ed3cf47e4bbc5eeababc76087fbd2a91533b20e348bc9717a33bddf171bda03b513ced1f20bc520abe3c3ab6e2bdc191cbbb9098babb77db303c78e1dabde34974bcdb0caeba227da23cbedceabd04f0c8bc36ca85bae005733c10aabcbdf713c9bc552cc3383746c83c6401a4bdd246f1bc79e880bab20eb13c37495dbd5634c4bc456095b96725d03c435ccebcd90da8bc34ade93932e0ad3ca6b497bb797325bc11c8ad39c1e0efbdd324803ff2848c3e67d15ebde14f0ebe9987793fdd728c3e825370bdf212d9bd5a514e3f070f883e0eae44bdf79cd2bd4a902d3ff82d7c3ed36d3dbd48b9a8bd7de4003f18a9523e35861cbdcd6e98bd81a4b43e056d2a3ec28e17bd6c3e61bd94ff4c3e947deb3d4edfe9bc3dc30fbd3795593dc3df823d1462cdbcdc33b4bc1dc644bd303e893c47af84bcafee74bb1e5155bdeb0dc83c8ec858bc1db6a23c2b42c4bd40b766bb797d12bc583ea73cd59adabd8bcdacbc42a93abb253eb13cfd0fd0bd69f7f7bcb52249bae66bb43c5f9eb8bd4b7907bdc8a234ba4333d53c127291bd82c212bd25f38e3af81de13ca88c4fbdf92c06bda137e137a0fcdd3c9f20c5bcd964cfbc43d1e63946d2ab3c2bba15bc0d7643bcf078b93aec7cd8bd9841513f2d02ea3e99259ebd85f703bedd754a3fd330ea3ed189a7bd4408e9bdc70e2e3fe251d93ebeb98cbd2bc3c7bd3b930c3f8917bf3e595370bd8f73afbdea52d53eb841a03e85324dbd2b518ebd36ae903e06f3783e41122fbdbfa861bdecbd1f3e8d4b2c3e315517bd365211bde14f243d4fe3bb3d9539f6bc7656d5bcbe7c26bd4704d63c8525a2bcb4e90cbbf5ed44bdeb46d03c577f3bbcac0e8c3cf3c4a9bd0f6ec4bbeb4c06bc9507913c05b2b4bdc66cd5bc516d2abb414fb73ccb14b9bddfd61bbd353224396dc41e3c1fd487bd4259e2bcaba0933be79ad43c752085bdae7a25bde290643adb09ba3c41082fbd20790abda459da3a5a67cd3c5bcfb7bcb4fdcabc7401ad3aa9f8983ca464f4bb286e3ebcbac1143bf5b2bfbde4dc213fe812243fcf83babd6334e0bdff9f193f2c9b223ffcf6c7bd7b3abebd2ea1023f6b81113f381397bdae70b3bd44add63e8c0c003fa20083bdeef183bd97ea9a3ea964c23ec8cb1bbdb7b081bdf5b0593eff8d9f3ed59235bdaf083ebd8c3cea3d0544513e913b07bdf5e8ffbc80c1c53c4216e23d71e3fabc0158abbc15e623bd8471d93cffbaa1bc7208773b707d40bd43ff983c724930bcbe5db23c7f9796bd9a6ebdbc70e62bbcccabcd3c5555a6bd37a03fbd308943bb6f39d03cb5819abd9a6b5ebd7c7242bba045c93cc0bd8ebd31a656bdd83ec83af3a1d33cbb375abdbebe4cbd33f2893adbccc13c3e6011bd7ad426bd4f06783a7ac9a53cb5537cbcce38dfbc413adc3a63d3783cb48ea2bbb2c312bcebf3733b18d19dbd5da4e53ec23c533fa45ed1bd49e5b3bdb8fed63ed13b523f1c36e6bd2452a1bdf69cb73e208b3c3fc1f1b1bdd78c8bbd8e56933e49451f3f0c9b8bbd56fe70bd8c8e5c3eeb95fe3ee0ff4bbd884844bd1a430f3e0c74bd3e441827bd7e8711bdec32893d7f1b783ef3490abdd5b7aabc958b833bba28f43de1c2fcbca3fb4fbc715e1fbd3296973ce5df99bcbd5f193c4a2f25bd583514ba37b443bcc649c83c8a2774bd8bd250bd84e635bc31e4ac3cd3797dbdebe476bd385f32bb017bdc3c638b7dbd881799bd1a0c17bb48bcb53c169652bdde1c81bdbd6bd9399ac2bc3c511624bd57c47cbdae3602bb66779d3cc426ddbcdb802cbde96afab9d3435c3c5bf5f6bbed22debc78e4d33acb701a3c43d2da388ff5cbbb1baa923b93635bbd2a2d883edeb1803f23bce4bdbb7b73bd5f1a733eab957f3fa2efedbdf7a350bd4191543ee9a9573fd40890bd6be63fbdd94e253e3adf3b3feb846ebdf4c21fbd16fcef3d4711103f666713bdbdd2febc39e58e3d5763d63eee1601bd0b34c1bc38aff43c1b01853e45b3acbcbe4a0cbccfc660bc9388ec3d8d4ad2bc4fb850bb4fed18bd9fac2abaa931a0bce2b6583c213b13bd89c10abdf1eef7bbdbbba33cdf640bbda351c4bd06ee70bc9b26c63ce0e92cbd0025dbbd9c8b12bc2f93c73cd4952cbdca0fcfbd93c200bcdd87b13c22ec16bd20e6afbd2086a3bb14c69b3ce844d1bc772e98bd8ba5cdbb62f8433c207e3ebc66e75dbd091991bb7b9e3f3bad88263b01a1ccbc309aa13acea45d3bf0d8d33b3fe587bb982b113b0ad9e6bcbd6bb73d2c24993ffa25d8bd27c3b0bc6d008a3d5040923f18cdcebda9d2bcbc7506793dcc3c7e3fe78f71bd6fe9aabc3a3d443d6112503fffef03bdf37598bcf103f93ce3da1f3fb6e879bc348e47bc0ca8173c99c4e43e1b8032bc2580bbbb745724bc5be7883e20c04bbcd985703b4539cabc6cd6bf3de0a091bcf654c53b513e1ebdc40f07bd118377bc00000000000000000000000000000000ed47933c1a88e4bc5011cdbddf3ae4bb2fd0983cd1d1d8bc8880d4bda71404bcddca9a3c5ca2f1bc3a39c1bdf374dabb37bb8b3c11e6cabcbcd7a6bd55f8dbbb314e593c811683bc493a8dbd5f4e0ebc953afa3ba47a98bbe4c852bd2af510bcfcd9023b6033a53b16c7f3bc1baad3bb0000000000000000000000000000000000000000000000000000803f0000000052bb66bac20d6abd4122993f04291bbd5b116abacafb2dbd95cc7f3f9dc4e3bb6966babb17c40cbd37d8503f48942e3cec9fa0bb5ea20bbdcf91213f2791963cfbc1c2ba27e011bd4d68e53e62dc8b3c360d813b6a8c10bd87e9883e42781e3c8c8a063c06a214bdb592b63df61233b90000000000000000000000000000000000000000000000000000000000000000866022bdf6e2f9bc1937bb3b5557e0ba77400dbd41c313bdf943843be127a239bb9d0bbdab3d1abd44e7ab3b34caa23a29a4eebca7ac15bdeb29ac3a3bde65ba8004b1bc37b310bd8a8743ba1eedb6ba68661abc08e104bddb90ccbb8904babb4124a1ba9544e4bc262b34bc71f6ffbb00000000000000000000000000000000000000000000803f00000000000000007e25a4bc8779823f40aa8a3ba59231bc341292bc740a5d3f09e2643c09c417bce3d19fbc3f24363f0633a63c04732ebc18e8afbcaad70f3f0edbb63c78a51cbc0ba0c6bca310d33eb1f4a43c846733bcc2c0d7bcc949873e3c35623ce0fc42bc0ce3fabc9cadf43d23b7183c8adb65bc00000000000000000000000000000000bfa729bdb94982bc2a193e3c516ecabba9c908bdd6fe24bd5a43ce3b745598bb3a6d17bd20da47bde9c3e23b761ec3badda10abd137d4cbd1fe94a3b0a2ff83946cee1bc651644bd1f8d9c3a0557583a176183bcbc8147bde39298bbb87b25bbb77547bbad8337bdfd0a1cbcced4cdbb7d1f2a3c6e9c08bd16a67fbcb4c917bc9ab21f3cf0a1afbca5e039bcf98ff0bb54fd0dbd998d823fe54a053ea6adc0bc164432bda856703fbd50013ed53ab7bc392c20bdff6f4d3f0308003e0e27a6bc131a17bdb66c283fff5fea3d16ad8cbc24771bbdfd1c033f1debc63de4ed8abc798121bd855abf3e3986a33dd70089bc95b02fbdccf2713e4f0e6a3daace8abcf52925bd1c5ace3d4b73fc3c771d90bc08700fbd2ee37bbcd102403cab6561bc43860fbd8dde87bc2bcc9c3c84d3bbbb92b615bdf95214bd9834813cb4fa8abb4f8d13bd219e23bd79c6383ca5b2143bce8bf2bcab2b4fbdf5e6cb3b9cd4243b76d7bdbca2d83cbdb428213b563a6b3badb845bc409643bd2e8e9dbb7eda043a7102f0bb178417bd39aecbbb448ef5b7ca8d2e3c0ce109bd1bbf48bc614f97bb0cfd313c3d3facbc040304bc14e359bbe2ae2fbd58d75d3f4dcb8c3ec3b2ffbceeb25cbdd8b94d3fbcd6863e643e09bdf65f33bd52cb2b3f4ae3713e390bbcbc140d48bda823113ff087593ea45eb8bc80f736bda24cdf3e111e333e5ff98abc032f43bd7503a43ee7a8103e7cb994bc2da127bd721b4e3e289bc73ddb2e5abc3ec733bd00d1ad3d0240743de45486bce0e608bd34206dbc68a69a3ce9ee29bc5f1512bd6a7d91bc6f62d53cc2942cbb4f2403bdbb8f16bdb826ae3caf1f03bab6abf5bcd23f3ebdddc14f3c37c0933b2554babc8c994abd474cb43b8a5f023c0a2797bc94214abda6dccb3a02b3da3bad6ff7bbb10741bdbcac8fbb8af9673b9eedd93adfe52cbd543112bc6cbd013b4625363c831904bdf14731bcbd9673b92cb8213c41dcaebc59b9d2bbc147443ae60534bd8023373f8784d83e7ac30abda58f67bd2b42293f4c26cd3edfed1dbd64245abd7d89113f8e91b83e53f3fbbc03755abdc2a5ee3e3f119f3ed975b4bc0e694dbde909ba3eca3a833e1e058fbc9ff047bd3057863e56de4c3edff280bc021642bd2658263e7cbd123ed6a46abc6e742cbdf8d0873d97b1a63d534446bc0e8a04bd84a879bccf22c13ccf83cebbae26f0bc521cb9bc2c8eeb3cc4e6b43a7e92d9bcb8ab1abdc0f5cd3c7170693b4801b5bcf1d834bd87f83c3c9390073c0bf09ebcce2a43bd213a873b6aea1b3cd95a92bcd96b1ebd30e2e23a4463273c3c4e86bb194f3abd1f0ee5bba9ebeb3b961e893b2e201fbd144411bc8d2c993bdf38563c655803bdef2823bc7f34703b1332243c9acfa7bc1331b6bb2178853b97922fbdbead103fa848123fd59417bd70fb62bd596c043f68d2093f97051fbd94e94bbdb744e13ec8a4f13eb8e6d3bc8fdb4fbdee78ba3e72d4d03e1a11a7bced042bbd54ff8d3e3b80a23e7a5f09bc4ad73ebdaa5a4e3e10eb833e59e42fbcee282dbd39b4fa3d5754353e87eb05bc92f520bd8bcb393da940cf3dfb50fdbb6cefedbc624a90bc8d7cd73cc7dc29bbbd1bb7bcec58c2bc66a9e23cda4cb53b9ad565bc3bd82abd334fa03c7b66f13b34ef26bc417849bd5fd5b93bd6243e3c77a8cabb3dd449bde0fe29bbeda2353c646c83bb920344bdd0f2dfbb0f553d3cc011b03b37103bbdf41b51bc439d013cf275313c18d419bd90746cbc30a5b03b05a0863c6672edbc5ac735bcc586483b68b4433ce7c59abc930aafbb5ca3963b219f24bd7f0cd53e30ca383f2d7d19bd250d55bd9a22c23eb2f22d3f1c6720bdae704cbde594a53ee5d5183f3b38cdbc433d44bd34ca863ec571013f709586bcde0b38bdd0444f3ea527d03e8f5519bcf77133bd06b8113e93e59e3e216ad2bb96eb1cbd5875a33dff935a3e487ba1bbb7ab08bdcd97c33c8a91ef3de1d9b8bbe605cbbc871ab1bc82bec83c23b45aba1b520cbc963ee6bcb54aaf3cae08f93b2d85f8ba627432bda51e1d3c8fa0233c95abdabb4dc127bd2e43ccba360c483c790a243bd98444bd601042bcace54a3cc35af93a93ec2bbd8f545cbcd494343c953a393cfbe129bdb4b99abcfcf6ec3bb4320c3c5521fcbc7a7973bc3581ad3b7bdf923cbf11c6bcfc1e64bc6082143b7d31643c3f5e67bcd9d0bfbb4cfc3e3b423d12bd6936893ed00d5f3fe6240fbd485636bd9975753e6edd513f71dd08bdbc0018bdd9db503e7276303f37ad56bcfdf925bd975a283e99bb183f23a9edbb7f7212bdeba6fd3d01afef3e6e84cb3876b511bd81c3a63d7054b73eafbbb03acb7aebbc742c373d8f08713e5781153b5cbdcbbc2f50f03a4345fe3dff3ecaba00938cbc7933cebc385b8a3c08ca34ba4d4d993ac1a900bd3a632a3c5c5d233ca2c03f3c5f092cbdff3914bc1f4f483c9f7e3e3ce7573bbd6cf7b0bc78e5503c9c0d443c705234bd3e09d9bcf064293c1154443c9da523bd65c0e1bce4800a3c1108783c72490fbdcc03edbc76fa793bda90883cfe50eabc2c9be0bc83e484ba682b903cde8f84bc0c6899bcaae160bb484e6f3c705129bccfc029bc4526863ada0ff3bc2bcdf93dca7d833f54badcbcf636ffbc80fcd23d9fe0723f011d9ebc7d4c01bdd0acb43d594d513f740f98ba5505f5bc65e78c3d4e292d3f600bf33b866fd9bc7f08433d8a58083f7d364b3c38d4cabcd943d03c3792ca3ed2202d3c92c690bc06d55f3b451a853ed727e03b273f57bcb7308ebc2b3aff3d5ff411bae5e925bc79d200bdb1b1be3b5f493e3a00000000000000000000000000000000ff3e333c26760bbd60a899bc6f844f3c61223d3c8aec00bd2facdabcf930133c224b2b3cffb801bd8bedebbc9f81063c98f01b3c5813e7bc8e96e6bc52a6bc3b76655a3cde7dcdbce804f7bc37da4d3bd214613c834e96bc629ad6bce41920bb542f733c63234ebc429db7bc1eb587bb0000000000000000000000000000000000000000000000000000803f00000000676c9cbcc99977bc9517833ffb4e463bbe8f8abc8bbc55bcb01f5e3f9781633cac358ebca3076abc234d373ff2019e3c35ec82bcc3db85bc1fc3103fadcba33cb04a6bbc65d3b1bc11e0d63ee2e0993ca5bf29bce5adc8bc42b18a3e558c563c7208f0bb24d4f1bc5de6003ed47a0f3c0000000000000000000000000000000000000000000000000000000000000000d7290a3d063244bea050bc3b4960123cb994e43c571941be7efd8639e2de4c3c9ef9893cc63630be5a6006bc5f8f2f3c60834b3c1f6711be85c234bc0de92d3c6cd6fb3bd13bcbbd8f9128bc20f4e63b6046e5b889655abdcee36abbdecd9f3bd66c36bb660025bcef6a14ba848ffd3a00000000000000000000000000000000000000000000803f00000000000000006ba1f6bdc868ab3f8ddae0bdd3b72b3c5a94afbd9a0f8e3f8ddd6bbdef4a023a44638dbd2ad76b3fb95af4bc4d7e66bb93bc48bd4490303f7c4800bce0c6adbb567ae6bc45bce53ee42ea03bd025b8bbc18afcbae145653edfa94f3c206b19bbf4f18d3c546b0b3c3133223ccbea833a00000000000000000000000000000000537d053dd707febddd65a73c857ba7ba60c13f3d717435be4302683c572bf73bd712233dc04b47be350afdbb464c343cec0b0d3d999638beb2048ebcaa687a3cf0a4ba3c632711be1e26b9bc127d533cb5c7673cdc25c6bda8b994bc7817263c4e92cf3bb3c24ebd067e6cbc8b16f33baa195bbb4bcc1dbc6ec6e8bb8039913b4f54aab98e30b23cd5e1ad3aef21a03a5c8c3fbe030eab3f94c2243c0b0551bcf2912bbe475c9a3f97121a3d63a5afbc267416be73bf8a3f9f5a6f3d8c8dd6bc0adee8bdd231613ffcc49a3d9050f1bc05c39ebdfb10253f17faae3db4ece7bc87ef21bdc56dd03e3459a43dd5abb9bc2d6392bb4aab3b3e2761893d5b3590bc958ee53cc759ec3b26ee493d3ab206bcf433f83cc2aa07be489c393ca1c6c4ba89badd3c6369b8bd8d0f9f3ca76bd6ba1d54253da2ad1cbed4d00bbc6025f73bd89c163d798b27be943102bdefc1733c4e63003d92461abea82f2bbda6bb813cd71eb33cfa7ce8bdfaa133bd3043833ca9337d3c96dba0bd0e6c28bd15ea833cb2da1b3ce4d01bbdd081f9bcdfb13f3c43a2963bf8abe7bb5ab376bc4072163c851c473b08a15f3ce4da28b9e203d73b78c43dbe834e8e3fbd9f633e713067bdaa2346beee1b8b3f77bc6d3ebc2986bda77823beec40723f13a9733e1cbe83bdb7d7fdbd14b1423f66716d3ead257dbde51ba8bd0a3a0b3fe8b0573e78a45cbd06a238bdc57aad3e0c2e333e68c540bde61f40bc5e1c183e51c6003ef3a200bd59f87c3c624a95ba2d528a3dda5991bcd784d03c154ec6bd6228553cdf01cabb1f2c963c995395bdaf241f3c7366febbd7d50f3d47f2f5bd725011bd2549253c1072033d8be404bea9c17dbde40b793c7303cf3ccd87e5bd6f5a91bd065f993c2439ac3c046cb7bdb55a9abdee2ea13cbae8763c1cb26bbd5a0b82bd42fb9a3cc786273cc14fe3bc8ead2fbd3b48933c9ec5ec3b50c3bbbbb684b0bcfc89633cc720fa3b3afe3d3cfe846dbb6b66153c458c30be936c6c3fa311e63ed2cecbbd7d4237be5d93623fb192ec3e639ae4bdcd0c15be91ed423fd141e63e726cdcbdf8d3e0bd0a89193fd5dbcf3e4d5bc2bd3b9b9bbd98badb3e655eb53e4827abbd25db21bd2330853e0bde8a3e1feb87bdd3a651bcc2eee53daefd323ed38737bda5b91b3c0184e9ba5e1ba63d0c84cabc5c674a3c2ae89cbdf0d9103cc37b57bc66a3473c023355bdf1e955bb4fdadebb990fbd3cc115a8bd529388bd58a1093c2a77ae3c523cb2bde375bbbd75c5663cda7fae3ced13a2bd7dabd9bdbd769a3cc1524f3cbe1673bdc4cfaabd7eb1753cbed65b3c6e6f2abdd558a6bdc5b1a83cf765103c95b4abbc602a4bbd202f893cba6cff3b0d3589bbd4c6c2bc0dc8843ce8cfa73b35bb213c1f79fcbab497423c717212bed397313f3421303fa53112beeca710be1ed5263fa094333f709b1cbe1eb1e7bde7bc0c3f6703283f66890bbe7b0dafbd680ddc3e24f3163ffa9200be966665bdcca19a3e6407ea3ef9bcb4bd84ef0dbd2b3c3f3e9f8fb43edb2aa3bd5eba62bc7be8ab3d29fd553e036145bdd812723b5324f0b8c307aa3d63dccabc7a3c103c763d6cbd69ee14bc319062bcad71d33ba6d102bddc25e9bc219d5fbb2cc8733c612a35bda66dd0bd20ca573c2059833c95c340bd7cc109bee800a03c80044b3c6ff933bd497809beafe59c3c9a3f3f3c59cc12bd6493fdbd657cb83cc986143cd57cd1bc87edbcbd2a63a63ce07d1e3cf2ee89bc8e6f6bbd5b0e993cd382da3b6c5db8bb8db1c8bce1527f3c532baf3be0fc8b3bfdc139b9344f4f3c18e8cebd0214ea3e66cb6a3faa6f30bea0a1c4bdc48ed33ef3866d3fa6cd3dbe8f709ebd1d35af3e86285c3f90682abe7b8d59bd2239863e162c3c3fa3a60bbe40771cbd6fd73e3e11f2153f7113debd9615b6bcbaf3f53dfd21cf3e6fd59cbd6ef337bcd7fd763d35156a3e258b3bbdb8d7ceba701e2a3cfe64953d7a89a6bcb793af3b859c0fbd67d8f5bc43df34bccb6daa3a49a937bb734963bd422e9e3b7fdad73b828acfbbd3370dbe04f8913cb56ef63ba0d466bcfc9727be812c8a3c4722023ce4fe5bbc6f9827be31e49c3cae38103c847787bca78808bed401873c3492f03b3cce59bc4411d4bd87c58d3c072fdc3bb0293bbcb09475bdcd73833ca8acd03b17f5dcbbad25b2bc323a643c24a6b73b41fc5fb9d72ec43b78943e3c7da367bd73976a3e42c68d3f2d213fbe7fce52bde9d3423ece278f3f290846be908512bd78531c3e8224823fb69228be72efd2bc0201ed3d2c075c3fc5d908be1cd299bcba60b03de637273f107fc2bdb3053bbc07fa743d763ae53ef20b87bd1e86d4bb8f2a193db2e6703edebe0dbdc60870bb4d87943ceb396d3d0b462ebc5f30b6ba7738f5bb6db971bdae5f27bb476bbdba14f0813c3903ddbd40b5653c32938fbb61b5fb3c4a4d2dbebbfabe3c32bd5d3b8f85893c8fda49be8d5f9e3ceb0f843b1d6f2c3cffd43fbeb5986f3c9d82663b6299633b7c891abee2443c3c8ac8843bc363ecba216fdfbd6c47363cda8a953b7af3e7bb0cec70bd71d0233cf9f3ac3bc5ea48bcb0236bbc718ae53b302d103b2b419abb430f883c3e21093cefe555bc981c873c8eb4aa3f09f041be49dc3cbc3921593cba229c3f86d426be020bdbbb7c4d4f3bfa618f3fb3a20bbee7df29bbaab1b33af33e6d3fcd60d1bd3700553a5519713bbca3323f2ffe87bd513b95baa5a83e3c6048eb3e9dcc1ebd026e2abbd805a23ce10e6b3ec7f55cbcad93d6bb36b8063da275083dba2b0d3ce7e72dbb27ed5f3c4b8fe8bd80efb03b00000000000000000000000000000000c88d5cba110a013dc95948be2961833cd7961ebafbb6d23c9fe242bed4d2e53b62ee1a3b76825f3c4f8531becfe09f3a06ac1e3b2c310f3c7f1711be554359bae3ae1d395c4aa53b22c8c8bd607d55bb6a955e3ab4d3cfb9cc1a59bd943bcfbabdeee1395dd2babb25faf1bb732a673a0000000000000000000000000000000000000000000000000000803f00000000c912a33ccc2503be9b1eab3fb494d7bdebd5803c76beb7bd3ed28d3f8c7067bdef2d5d3c473593bdc6ff6a3f1659eebc5b17373c8a8c65bd78962f3f80a6f4bb048f2d3c727b06bdba3de43e681ac53b0229813bd9f3b2bbb3c0603e1e59873c2565403aea14403ce7bbbc3b44ed893c0000000000000000000000000000000000000000000000000000000000000000db5d153d8bf52ebed00ea4bb8434103cec71103dd9952cbe1bc731bc0df51e3ca387ed3cfacc1ebe970671bc4813ef3bd1dabe3c6d5c03be23ed84bc3288c73b1439843c0a08bfbd8edc59bc2ebc923bf845dd3bc5d64cbd574fbfbb04872e3b5670cdbad91806bcf2ad5b390e06dfba00000000000000000000000000000000000000000000803f00000000000000001703ecbde1ada63f07b7b4bdb310163c62c4bdbd03e9893f636704bd1ae9a7ba889ca9bd7298623f023cc4b9cfc4f2bb96b187bda6232a3f1ba0a03cddc719bc55b93cbd1054e13e32b9da3ce57716bcc18b8cbcba23633ea9e5b83c31f930bbfc300f3cdfd9493c95f6433cd6136a3b000000000000000000000000000000004321203d922c01be1276b23c7e2886bb44b4603d21fa31bec4c99d3b65a9f53bb78d4a3d933439beb5c858bc6d1d1a3c2b0b2d3de73925be814dd4bca69d293ca1e6f43ce21a00be4f1cf0bce1da313c183ba33c1523a8bd2f04e1bc8ddc133c7126be3bd4b916bd612daabce0acbe3b596009bc8415513be77cd4bb660c6a3bb1cfebbbf7fae53c7cdc5abbceaa103b3dd628bed45da63f0f2af33c83e562bcafaa1ebe5f7b973fc7d16a3da5fab6bc3bb508bec453833fd82fcb3d5ac905bdb818dabdee74513f505bfa3d51610dbd488e97bdd277173f1c31033e4a410ebdb8991ebd7a49ba3ef070f43d4e37febca39806ba8385183e9fedc53d6a15a9bce285243d9fe4f1bc8d4b7b3de141d0bba9e62b3db12e18befc81b83cc77e7fbb8855213d9422dcbdebc8113db7575cbc0aff503dd6e81ebeb4334e39875bb6b9cfae3e3dcc631cbe1025d5bc970a7a3b97dd1c3d8f5e06be933538bd1ff61a3c8de3db3c3a54c8bd65244abd5b4e343c09b2853c0bf770bd479456bd791f6e3c2cccd53be2afbbbc230628bd8fc7573cc4a39abbd6f0203ce978dcbc10d2383c051be0bb21e0e53cb81752bcfac81f3c951523be4e67893fa4bf763e73035fbd7b0427be7342833f71e6863e8feb87bd4b7008bed9f35b3fe42d933e03478bbd8867cebd073e2c3f17dc943eaa5894bd725285bd13f7ef3e8afe893e57f788bd0c06e1bcd95b8a3e1912703e4c9a7abd8e2a043bd16ac93d29fa333e046244bd51111e3d72594fbd4150df3dc8ca04bdafdd393da76d04becaae283df6729dbcfa1a053d9f1dcbbded11293def66b4bc8f80393d04aa04beb3f035bcc575e1bb5fd2223d439cfbbdea6145bd1f412f3b5e33033df6cfccbd762889bd2706243c5cf7b63c4db38dbd24a9a4bdee3a773c7cbc4f3cbcb815bdf0db94bd5879953c3637983b2192ddbbe67379bdce6e973c5fec42bb4efa773c25651ebd1fe29a3cad2beaba2e96c93cfadeabbc9611813c1a4e17becf97613f5814ec3eac90c5bdfb4f14be541f513f9be4f93e07addcbd0f92eabd78bc2c3f1190fc3e383edebd6d2fa5bd91a1013fd958ee3ed408d7bdfd993fbd7062ac3ea0c9d73e3afeccbd84e582bc652f373e2313ae3ee417aebd515e3f3c8e2f2c3d7187793ece7a8abddda30d3dcf117ebd255c0f3e48e445bd60f60d3d4cb9edbde64c4e3ddb930abdc08be53c7605aebd958f063d0f50c8bca98f093dd06bc3bdd36e02bd379113bcbb4aea3c9871adbd176592bd7572cd3a5c6dbc3c0c1d85bd6c02c7bd4601013c76e2823c3dcc48bd6677a5bdbceb493ce68e1b3ce2809abc1d1fc0bd5174983c37f68c3bdecda9ba62ce8fbd1cc9af3c88b0f3baef0b853c512537bdbab7ad3c3b2005bb725dc13c9592b2bc9b688f3ccf16f7bd3818293f67c12f3faec206beccace2bd18f4163f86b4363f255e13bec902a9bd53c5ef3ef26b2f3f164c09bedb135bbd0270ad3e3a08233fb99904beb88e15bd13de693ea596013f1c57c6bdbf608cbbb286c93d7e21db3e515dcbbd34fa1f3cbec0623c0fd9903e7b0d93bd2f23e63c924b78bdca2c193e30b05ebd3484f93c0d94d1bd93aa323d7bee11bd30209c3ce9d278bd2585533cf4f0afbc45c6ac3c639a64bdd6e48abde24c07bc41ee963c1ebe38bd3832e2bda5e9333bbec9423c85c4edbcd5afffbd41520f3ca39f183cc15575bcb36e01becc207f3cb076ab3b275f69bac3ded8bdce07a43cc5e4cb3a3636113ce1359ebd5afca73c1cab01bbb48a753c038539bd18c3b53cf7a5a9baac4d913c272a8dbc91af963c5e87abbd4a94df3e85fb663f209a21bedd8192bd322bbb3ef43d6e3fd8fd2ebe752949bd2cf48c3e962d613f40f720be9b18d9bcc5823b3eaee0453fc8a40bbe158b12bcffdfcc3d483e253f1d07f5bd3e47433bcb3c103d8f11f43e20d5c2bdc08b643c350e92bc35239c3e99b092bd1b24be3c61115abdc863113e417256bd2dbfc33c9f429ebd710ba73cf86f10bd66ab173c7f39d9bc07e7b1bc93b773bc5167fa3bed6c50bc45d1dcbd185942bbbc8bcb3b816a00bc8fde0cbedbdc393bc7fa863bb6964e3b76ea1dbe1599ee3b17e4233b4d8d783b83a807be219b3c3c471c243acfb93a3cc4c9e7bd20f76a3c529d1aba8b754a3c9ec29cbdf9118d3c230284ba444f2e3c770c20bd43c5943cd01cbfbabbea253c1eb2c7bb2826823c35533ebdf035613ecf128c3f60422ebef6e804bd9f241e3e4b0b8f3f188436beb55d95bc61f7d93d1552813f06f915be4f706fbbb6fa523d8943623f234f03be25fb363bd669a13cf5de303fb077c4bd7081383c738069bce24c013f28249fbd37d3543c3f48f9bc36f59a3e9cb061bd65ca653c58210bbddb16ea3dee0b1ebdc33d523c6af52bbd609990bc70b2d9bc5ef1bfb83ebf8d3bf28ea5bdee6e5dbb0ae1bcbbc672173dd7fd1ebe8b8c8a3b865b4ebbc833063dee793abe0ac8533b089e6abb16c2fb3c7e4c35be0c354a3ba7fd0cbb17d9d13c47781bbe7e8d823ba56213bb8b4cb13c6fdeebbdb017ea3be1a8f9b954e6573c5c1195bd46d31d3ccc392c3bd0c200bb303fbbbcdd13623c7e8f6b386a9b963aa47af63b74951d3ca3f419bc458b8c3c1589a73fc7722cbe961765bb02418dbcdd239e3f434d1cbe245e9d3b4f2411bd6a788f3f7d17f5bdf34b323cb9f635bdb6666f3f6611b4bd3eab5a3c2fbd45bdbbd0383fd50f77bda201443cfd2935bde95efe3e02b427bd04c50c3c2935e2bc5da78a3e15d5cfbca3c499ba2eed5e3b51127f3dcf0459bcf6db713b0ea411bcd0afa8bd3c4549bc0000000000000000000000000000000098ab04bc25dd293df51d36be0522633b39acf4bb25fc333d06fd38be09d166bb28208abb597a083d863e2bbe08f8c0bbfa319cbb5ac0f63cbd3a11beb15606bcb3bd69bb2167be3cdb7ad5bd362702bc8d4833bbedf8613cc22675bd8ad379bbfbe6b9ba8895823ba4e27fbcbd9980ba0000000000000000000000000000000000000000000000000000803f00000000a118bb3c1c770abe3e17a83fad70aebd0152b83cfc69e8bd0e7b8c3f278e18bd5a59af3cb8fbcebdb766683fe32526bc4c469f3cfb25b1bd67c0303f31cafb3be31a7e3c5b2f86bd3b3dee3e856f813cc2a40b3c19ce0bbd39d8793e086c8d3c4c652c3af29d7fbb765de23c079d473c0000000000000000000000000000000000000000000000000000000000000000b0a78b3cc0f7ecbdc04013bb04c56bbb273faf3cc0dcf7bd7e8bbabbf11eaeba1c178d3cca5aebbd893e8dbb1da46bbb0d598e3cce98d1bddb22abbb3ce93dbbc0cd803c793fa7bd59e025bc541019bbf05e653c183b60bdc6b53abcf10fadb9855d353c5a62e5bcc6785cbc69121d3a00000000000000000000000000000000000000000000803f0000000000000000f877a6bd5c04963f6d3becbc4e3439bb0c538ebd799d7a3f52d2ed3b9b1710bc48af86bdb9034d3fb6cdfb3c511186bc50fb77bd30091e3fe6f2293df6eaaebce94151bdfc8cde3eb01f273d4a0bb2bcbf1c19bde773813e96bd013d9574a2bce047b9bc87a79d3d7bdc993c91b296bc000000000000000000000000000000004fbc9f3c924cbabde46ba83cc7316bbceb67393d9eff0ebe637b883a3a82a2bb03de233db9e815bef130e5bbec6396bb75e9193d879009bea0535bbcf60850bb3fd5073d69a5ebbd424288bc1c705bbbbe54ef3c637fb6bd50ccbcbc534abe391d79ae3cd87f5abd1fa3d8bc49ab723b480e143ccb5435bc7025b4bc65800c3c54fffe3bc219d13b2474a9bc24e3973be1a3e1bd97bc953f97ddc23d4ca0d1bc633cfdbd80928c3f5844d53d949fc6bc10a9dcbdac916f3f33ec093e3e150ebd4dfec4bdb328403fe001153e838e1fbd62fea0bdcc16103f59cd103e23ec28bd14a178bdb83cc33ed45c023e78912dbdc7ea16bdfd694c3e736aca3d5b5d15bd82548abba697f93c0e00743d98a4dcbccf8586ba6f8aa5bd6f74df3c7aeaafbc984bdf3c3132b1bd36e8123d9f829dbc712e2e3d150a05be15306e3cff6665bc2d91113df978febdf2fca2ba86d5d9bbf3d2203dd885fdbd255289bc2737a3bbba42fe3cfd58c9bda1bcbdbcc3bd8eb9e85af03ce51d9cbd9b590dbd5e5efd3a662caa3c2db93dbdc0dd03bd3bd7b33ba6832a3c44460ebc7ebd11bd115a133c7f7fee3b746a143caa1dcfbc4938213c79cce9bde75a7a3f74fc8c3ef8c458bd20a502be06826e3f09f9913e16ff77bd6875d7bde300453f439d913e77976abd890dc2bd5628213f36898f3e808b81bd9f2b98bd24a5ec3e22ea7f3e7dc66ebdf57f5ebd0f429c3ebdbe5d3eee5070bd792a08bd0dd8213e437b243e124646bd69c9a6ba2e72353c37d2df3db48d2ebd7b00ec3b76429ebd678c423d552feabc75adb83c9094acbd01b9483db19eb3bcc706293dd023f1bd6917953cadae97bc4037233d64c7f1bd79d813bc246c1ebc7c3e193de4a5dabde125d8bc4ed078bb0994103d477fb9bd05fb18bdc38596b99e37dd3c398182bdef9c36bd3fa2bb3bdce5a83cd94d13bdd4c044bdfe82ed3b0069423c4717ecbbaacc2abddfc7183cc20e193c17c0d33bbf27e6bcdbcf333c5fd7dbbdfb2c4c3f9472eb3e5471a3bd91e1f1bd4f4e3f3f014bef3ed7f8b1bde9abcebd5232213f47c7e73e8fbbabbd2575abbd941efd3ef599d43ec686a1bd975c88bd27f0b73e89bebb3e30d598bda94530bdbb75673e09539a3e6cbc8cbde5c4babc4e23d43d3a41673e6c3e77bd237842b9153bb4bbe840123e9c1449bd14085d3bb8a495bd0d677a3dad4a05bd4be1bd3c38e6a0bd37be473d802bacbc1f87153db902cfbddb243d3ca3829abc01f9073d5a2cc5bdee058abc88f1e1bb131b103d0070b6bd22381dbddd2769bbca20c43c0c588dbd92190abdcccbc13b7349d63c20af53bde67f67bddbb9b33b7498883c4b01debce7c24dbd3d7d173c8d982f3c75c280bb03512dbd7c78133cb587103cdb5ff03b0889efbc3645263c7912c1bd31401d3f5240243fd7b2c8bdfa5ac7bdcd660f3fa103253f3d13d6bd5e57a3bdced8eb3ee9c7183f7194b9bdebcc89bdf499b73e5aa60b3f8016b2bd359756bd2d0b843ed57bda3efa3273bdf6e208bd213e1c3e0209bf3e69498fbdb25183bcafeb7a3d3a2c863ec4a066bda5c41c3b97a4b4bc9eba273e67eb47bd63fdb33b36e590bdd47d833dc06f03bdf755ab3c9bcb8abdee7f173d71b89bbc52aefd3cf241a5bdc6fd0abcac4f8fbc6bcef33c8e089cbdd5ed34bdbd560abc0914d73c4c8983bda59f73bd841625bbb403d33c3d0c59bd073c88bdc29e193bab07973c353407bd01f488bd5603a43b8422563c55266bbcae4171bd6761c03be981c63b3d5c1a3b48003abd9f2a043c1f32ab3b475e2a3c4ebfccbcb7121b3cd7f097bd49e4dc3e5b77523f1fafddbd561993bd8df8c13e142a533f65baeebd8c6263bdb2c49b3ee6e1423fe60bcfbd99a42cbdb7d7683e18dd283f8c5baebd02c304bd32811d3e7a980c3fbff191bda1948bbcf3efa53d71a9d93e9b3176bdfbcaa4bb89768c3cd5cb963e77f159bdad01273c447a19bdd9572b3e970535bd0ee8103cf3168dbd3677523d5d95debca622873caac747bdb0a23c3c8c1e8cbcfd7baf3cd50751bdf0a232bd579081bc8006a43cc1a146bdf4be79bd4a6584bbd51c9e3cacc71ebd0ee0abbd6f5426bb953d893ca4d8ffbcc414a1bdb502033b6aa0403c3dce73bcd1bf9dbd6f34f23a2c5d103cc24307bcac3a69bd8ff0ab3b95d0323a30b8263c959d2bbdf4f4f03b5abbadb9c44e553cb17895bcc771073cabe43ebd6c067f3e6ebc7f3f9dece7bd286422bda5f94a3ee75f7f3f973cf3bd976d01bdcaf6233e17865c3fc3b4a6bdd6e2a6bc9975da3de414433f0dcd92bdfedd6dbcbd94853d43841a3fe66555bd2b1949bb4f7b953cf357ec3edbe434bd21095c3a0ef140bcaf78993e7f5805bd7bac683cf43248bd90c01c3e32c315bd6d56573c83df71bde531cd3c1b11d2bc68253b3c01bdf9bc2a6cdbbc53b810bcc74fe03b280254bc0b39b8bdf7be7cbc828c0c3c965e5bbc64b3dfbde5d11fbc1b5f093c453b17bcc9a0e5bd26bbadbbca87f03bc05accbb56ebcdbd2d2893bbfa70793b4a23293bb62eb5bd3c166dbb723cab393fae2f3c640088bd952814baf63a9ebbbcb0703cc80f09bdddd64a3b806468bb0c5f783c8e963ebcf155743b6ddea3bc9baa963ddf42973f0089d2bddf3026bbf0720b3d1b0f913fb46fc6bd7aaa9839b0cf8a3cd89c7f3ff9617fbd916d5c3bf98a193a0171543f573d1ebdabe4be3b05a763bcd675263faf5caabc5afb2a3c8fe207bd3ea7f33e109378bc33d73f3c5b7a32bdce08973e18908fbc212f6f3ca9603fbd2f69f13d1f60afbc29a5613c63784fbd49037fbc36947abc00000000000000000000000000000000fb8a953bb42f81bb2bd0cfbd19ab64bb2f3d863bce7b043b6675e3bdc20fbabb86cbbf3be795aebaf4d4dbbd5d4cb7bb8b29a13b2c29753adc31c7bde5d2cbbb222c353be5e7d33b09a7a9bd5987ffbb0b871bbb28a9433cabb274bd4ab7ebbb0a3992bb248e7a3c0fa00cbd8872b6bb0000000000000000000000000000000000000000000000000000803f000000007e17483cd3669bbd8245973fdb0e1fbdb312743c350690bd01657f3f676ad3bbe87b4e3c263884bdab02533f0e5f413cd97c543c7c3a81bdc3c4243fe7b3a43c0e9a523cfbb178bdfdc0ec3ebaf7bb3cf99e6f3c986a5bbd0b6f8f3e1952723cfec35f3cf0763fbdd8f3cd3d8e25e13b0000000000000000000000000000000000000000000000000000000000000000d45d723d383559be6503e53ade27b53bd0d73a3d1b264bbee3084abcfd72683b2a9e143de82141be0b12afbc33209a3a2b66e23c4fd71cbe519ac1bc0c99eaba3b8d643c7059cabd4356abbc2e37e4bab131f23a18d250bd54477dbc52ba4cbbfc8db1bbf226acbb6b7551bb83312ebb00000000000000000000000000000000000000000000803f0000000000000000003e04bed95dae3fa903f0bdb7455a3ca7c3acbd5d60913fbe5669bd6f4fec3a8f3d90bd48d5773fd55014bde6c0d8ba9a213bbd02dd3a3f94a118bc79e8dabbf12076bcd18ced3e7e43073c0fd3e3bb3ac07b3c4ce96c3eeef28d3c186bdbba1b6e0f3d23cc00ba4475603c7dd94d3b00000000000000000000000000000000169b7a3d4ec716beba26e43c02bf28bc0d3a733d502c2abe23a7a03b6f8844bc18aa5e3d02e14abec7a4a9bc48242fbb702b343ddb0934be18471cbd80d24cba6ab3d93c6a1903be4f7037bd58c5193a5c07423c8f1b9dbd429c3dbd299be838bee41a3b3f48efbc30921cbdd0558c3b650bdabb179ccb3ac937dcbc22e17d3b937ed3bbbf67023d200d9ebb953c043b681249be5ee4ad3fbf6551bca27886b7e0071cbea96a973f4acb5d3dca4790bc00ab0cbe80808d3fdf1c803da217dcbc17dac0bd8201643f7d47b33d624207bd2c555bbd810b253ff130da3da3dc14bdc85919bcb27cca3e434fde3df54e18bd9249a93ceecc283e9cbdbe3d8b07fabc654d153d66e92b3c1f2a8b3dd297cbbca132503db55325be615ee53c211d02bccfeb353d6621d0bd217e313d231ce5bc9cce623dfb9b1dbe1a1b16bc88dc83bc93414a3ddafe22be9f3e34bd66da48bcb742023d225704befc3f85bd558990bbca6c8c3c4c66a9bd24909abda01d2ebbc4e3e53b373219bd813c9abd609584bafe1fe1ba31aed23abf8f80bda168323b3bc6f9ba05018c3c372119bd6204d03bad0e76bbaa60033d095488bc3a458f3bbba63fbe5c11903f84b9483eb0de1ebd46563ebeb7e78c3fd3b76a3e07dc6abd226413bea74c753fecfc823eeaf38cbd8a0ebcbdd8463f3f97e7883e3f819dbd25953dbd2397023fe765873ebe969cbdb94893bb745f923e3834773e759d9abdccb0b53c1002c33d11b3413ea39e82bdc80c0a3ddf450bbd7882e43d56b637bd00a7073de612e8bd67d62d3d39c8d8bc9fa50d3d539fb5bd803e143d61950abd2cf52e3d356de1bd6e54f2bc5345ccbca254083ddedad7bda1baa3bdcfd726bc5658ac3cef669ebdd51acebd8e3ec7bb665f023c82e7f9bcc8c4ebbd09dab1bb5edd633aecd05cba016bdabdd80b333b826aeeba3f2b8f3c7a14a3bdbf13083cfea45ebb5862da3c6e503fbd2681183c700fe6baa0c3043dd06ab4bc439ee63bd2f135bee9fc743fd462d63e0e4da8bdb74f29be3f20623f0b84f13e77e1ddbd5722f6bd07a13d3fd6bffc3e0ec7fdbd2cf78bbdcfc60c3fa0b2f53ecdf702be554abcbcbd78af3e2cede63e696efebdba96443bfa8b343e6d5ebf3e18eee1bdb70f993c91304e3d382d843e1ebabcbdafd9d43c35501ebd608d083e2b4a74bd67fdab3cb97fcebd8d57363dc3c213bd4d8fce3cacaf76bd2ff4a13c787421bd7f60d33cbf3285bdd44382bdac15bebcd78ca23c202158bdfc00f0bda0f877bc2687093cbf29b1bc8fad11beb45d5fbc394c253ad763883b1fb30ebe814fb1bb1ee08cbb705aae3c10de02bee4c1953b271a00bb12d7ca3c1d23b5bd5f243c3c3be60dbbc8a2ea3c07d04dbd74ca193ceb0b5dbacc23033d2026b7bcd3760e3c412513becef8363f06892c3f5ae206be2a6afdbdf022233ff26a393fe30221be1e5eaabd1cea013f6c623a3ffaad28bee4d31cbdb2ccaf3e7bf5303f912725befff9e9bbce64493e786d183fbc6d16be1e06e93ba8edc53d4be9ee3e8c400bbe92fc523c38bdb23c9699933e447bc6bdb80e593ccdde05bd87190e3efce67dbd484a203c8a3993bd0b8fb83c6ded20bd5b823e3c4e0ec8bce4eef5bbec280bbd75be283ceb9f7fbc6541d2bd59b174bca30c693b27f861bbddc21bbe05846fbc18b12bb940b34e3c35f12abe60c852bc3c97bebb66dad13c288f2abe2c165fb8134b9dbb4820d23cd7f005bee7c7a33a7fa8a5bb7f7ace3ca9abb3bd5cf4cb3bc8ce47bbbfa2c63c8b4c37bd92f7ad3b43b776bbf22fcb3c2f8388bc48c3183c18fec3bde869e73ef17a6c3f937330be59aea3bd6eaec73e276d743f17c844bea86226bd6888903ed7e86e3f3bcd44be21477cbc5f54343e981a573f21ab36be71566c3aec6ac83dcf82343f61e129bee6c3da3b9f7b5a3d84cf003f741605bef81cd43b360f6c3c8915983ecbb5b8bd0cc7833be6fa5abc1438f13d03c659bdd82b3dbb17c909bd52a909bc690a10bd337532bb991d103c242d21bde81373bc850990babf6daa3c27f60bbe56bc0ebc870a8dbaf735e53c2c0f3bbef94b0cbc88e077bb3218ed3c81cc44be517431bbb287dbbbfe0b033d6c512fbea78cfa38c594d3bb4818b83c595005bef5a3b73ae83190bbf956893cfad9a1bd1d76833b3eb8b5bb4220773cf4ae0cbd0e848d3b8a6929ba62fb523ca4e82fbc5f58ee3bfa4c47bde3b7643ead3b8d3feaa33bbec6690ebdf2ed233ede28933ffcdc4ebe5da838bc5284be3d431c8b3f2e6443be1f8dfcbac5976e3d38b7713f943834be2604db3b0c79d53cf0163e3f36c410bef473bb3b1bb1aa3cb1bd023fcfa0debd64163a3baaaa5f3ca4348e3e352590bdb6ac93bb4289333cc889a93db32d0cbdfd2c28bceee0153a44b016bd330390bc364de9bbce7b113dd124e1bd234f183c2bd009bc38fc213d8a0c1abe371bcd3b7dbe9cbb165e283d4f6351be8254b3399ad696bba5cd0c3d933a4cbecdea94baacfa9cbb75f5d63c5cb328bef4c3f2bb0296cabb185f7d3cc794f1bd6f1af1bb8ca254bb7075e03b1abf7dbd0d2eb3bbc47d8eba69b47bb9f7aab5bc3c13cfbb6a2c62bb6831333b28e8453c0ca5443b883fe7bbf26b95bbb525ad3f628c4ebe0aa2f5bb98b93b3c9785993f24961dbeef25333bcf80cabc28c0933f3d281ebe299b183c0f7aebbc7932773f901f01bee40b2e3ca3bfb8bcd4b83c3fc2d1bfbdc4dc043ce85664bb31d6f93e867378bd398009bb09944b3c1593763effd0e0bc310215bc0b66bc3cd28c7d3dbd94c8b9748f41bc04a9de3ca051efbd32a9af3b00000000000000000000000000000000ede713bc3d6a633d180259beca508c3ccca6e0bb6c2d1a3d1b0749bebe63993715619cbb1db5e93cd7c53ebed0d747bcef647abb311b8f3c055c18beafd593bc0edfe3bb6d2a033cf585b5bd8bd6a9bce0784dbb7c5b86bbfe3032bd5f159bbcc78d77bb0c2606bcbd2a8539ea9d44bc0000000000000000000000000000000000000000000000000000803f000000002e97bc3c0fb318bea26fad3f1373eebdab86923c6633cabde11c8e3f12857dbdff19a23cf6faafbd50766e3f1db810bdc479933cd9aa75bd874e2f3f28f428bc74b21f3c7b38b7bcd82cd83e15390a3c38fa3e3ab81fd63bbd7e4f3e3c1bb83c42164cbb65b3fb3cd1738abc365fe63c0000000000000000000000000000000000000000000000000000000000000000f8d9493d76e546beebca45bbfc85c23b567d153d9a3e40be8539803b7ad9acbb60aae53ce1a237beee31923b22dc4cbca5d1a03c0d9313be328dff3b9a017bbce6f8a63ba4bab9bd26271c3c8593aabce9cbfabbe0802cbd5963013cbfb896bca8a742bc2bef433b08503e3cf79c82bc00000000000000000000000000000000000000000000803f00000000000000007f50fdbd5470ac3fc9ece1bd97ed3d3cbb16afbd32288f3f82275fbd3889163c519099bda003713f477a0fbd8c8a473c169656bde7a1323f87467abc993a7a3cd681bcbcc6fde33e5299fe3a4270803ceeb0ff3b91c0583efe50283c2e47893c13aaef3cd1dd49bcc02c6e3b80cdab3c00000000000000000000000000000000c6af523d0e9d1dbe38511b3de02946bcf299373df05c2bbe3f17f73cdc9c93bca993203d425340be3e03413c23b68abc3d8fd63c6fa120be1a75b7ba482993bc4be72f3c5994e3bd0ad701bca344a5bcf3628cbb749171bdbe575dbcbed191bc793d2ebc507161bcd43860bcb15073bc97cf7fbcc661143cdd5086bbf3ec3dbc7045a2bc4c10403d284579bae087bfbb6fe32fbe3f8dab3f737a91bcc52badb90f9a03bec615923fca475b3dcba55abc3a22e2bde5d4833f8ce99c3d2c3380bceec092bd05574d3fed45e13da5e7a3bc2bc80cbdf6ba0e3f8450033e174a91bcea40d13ad94da23edf16073e5e7c91bceac1ab3c2982e03d40aeeb3d3cc758bc0e79283d451101bdba52ab3d6f2638bc6301843dd0bd49bec1552d3d944b2fbb44c0213d19f30bbe64b3a93db25824bdd0a72d3de7ad28be3541243d0e4b0abdcd0eea3c5ef41abeff2eea3b8f3df6bcd83b523c4f5ae2bd695582bc0bcdf6bc67a835ba100974bd8f410dbd2d56d8bc7c3f18bcadaf92bc6c1924bdfab2adbc5f564bbce9e5663cc85315bd14b75dbcf44490bcf51e173d0ae4f9bc395484bb75f874bcdff0463d99bdd0bc567b193c01d618bee3208c3f9f35333e5c34e0bc92ba10be020a823fbc616b3ed66f2fbdc01fc5bd5f85563f7bd68c3eb25655bd4f5451bddeb11b3f12ee9b3e527f63bd1e524cbc06dfc03e74cc9d3e0e3163bda99c733c42f72f3e3379923ea24359bd3b56f53c158a543c33126c3e3fb237bd3aff573d03a4dcbd24e3263edd5a1fbd4cfa593d502233be2d20c93d07ef16bd7022de3c17e705bed546d03d13576ebdf804d73c63c400be87bb023d13ca34bd9e54293c7896c8bdb78282bc80f218bd1d935fbb644f59bdd9d53cbd2a350bbd2b4016bc17b336bc6ee488bd05ebe8bc5bf65cbcb1fd883cb50f90bd78318cbc359183bccbbb1f3dbef68fbd11d439bbd1a77abc0e65443d42ab67bd59ce293c587649bc2f674a3d197d1cbde3c8963cd66807be01b2673f4c14c83e775775bd9a8bdcbd9b33473f510bef3e671dadbd762780bd404b193f7a55033fad96c3bdffecafbcadc6c83ea3e4053fdc04c8bd5bfcb13b7ea9483ee18d003fa3b1bbbd95349b3cf72a763d3208dc3eb6c6aebd0abf133de1eb62bdc74ead3e29dda7bd7e6e4b3d83b905be38c9683e256d91bd77b3293d9acf28be35f5f03dae4a67bd036d843c88d1ccbdb468bd3d0e0b85bd6d282f3c0c33a5bdb191e63b8cff3bbde1fa27bbd9d733bd1f8d55bd0a401bbdb92606bc5ba5a2bb4947adbd4b4510bd3a4334bc23229e3cd005d0bdd0b0a2bc8d3a63bc5c9d283d3c2cdfbd207205bc9e5c68bc6f70523d3975c8bd866d723cfdf04cbc20713c3da4a286bdbc9f933c4b1be8bbc54c2a3d8e5224bdee2ad93c17e6c5bd3b79273fb816243f47f8c6bd682d8ebd2d57073f1730363f7e20fabd1aa1f1bccbd9b93e75ae3e3fdfd304be63067bbb795e473eb0893a3f116001be8b51263c9ec68e3d7b92253fd841eabdfe2de03c78c305bd05380d3f67f0f1bd8a27073d5ea4babd79a7cc3e3a6cdfbdbd66143d2bd0f1bdd3f2753e3aefadbd2ec5dc3ce38303be8764d03dd3f089bd6232733b8c5173bd5bb66f3d924c64bd890585bb4e59dbbc414f19bd189816bdaaa21dbc7e09583b209cbcbdb18d0bbdf3bd2cbc2a4ec43cb555f1bdbde6edbc09dc4ebcfc74403dc44c10be05f159bc0ff24cbc3bc0553d14f408beb114023c18a439bc9b97403df0d7d0bd4326863cec91cdbb3ffc153d674a84bd34f6a83c48eb86bbbe06d23c49c6f5bc0815c83c92f45fbd4741cc3e52bd633f193a0bbe261b10bd27b9943e3f8f713fb43320be178e2dbc73d3273e2c69713f3b1c1cbe2e9d3e3b0eb07d3d8cdc5d3fe7f60dbe5167833c9b2acebc13c4443fe8270dbee60fb23cd95f87bdb47b1a3f8e4109be6fcfce3c6338afbdb082ce3efb9edbbde2d09a3c2de9aabddf2f5a3e7b549ebd1bbd5b3cc7079fbd76327c3d64196ebd289327bcb44d3cbc17d5223cbac115bd69c60dbccebd663ce4b4adbd3f11babc5fd92abcaeff0c3da49308be9b1ac4bc76144dbc0673523dffdb27be973656bc75d13bbc8ab8613dd4cb2abee743bf3ba3f21ebc9e8c443df6140ebe993f243c7c5ed4bbb0cf143d5ed9c3bd3afc973cbe8f45bb54dca73cbad448bd908f7a3caf8574b9b882283c8d7e70bc2921943c86f7bcbc8d91373e4f4a8b3f4d2c1dbea9d161bcf70cc43d4bf1903f74782abe9fe6d5b93197a53c6b338a3f665c17be451e133c5dad10bd6157793f82ac11bec2f6883c436d91bde0a54f3fb30a0cbea67b893c0e5f95bd1090183fe099e7bd27f2393c380676bd4cf5b93e0ea3b4bd8265d03b33f81dbdceb31c3e11e351bd9f7b13bbc93dabbc70b7ac3b11e10dbd57c42ebcda66d63c4b17a0bdb3a988bb127f3ebc4f01213dc19af1bdc8faa2bbaff34fbce4c0683d948836be1e5c9bbb939828bc2b167a3dfce442bed373d739a12bebbbf9ea493d66242dbe03072d3bdfefafbbe756103dc3b500be54b99c3b526a1cbbb2d19d3c11f099bd81fac23b3177053b7a69c83a1641efbc200f823bdea203ba8764acbb2c941b3c5d6d243cdbb1a9bae23d93bc688eaa3fd2a131beef8af1ba017cb1bc6272973f7496ffbdec881f3c9eae9dbd6623933f7facfdbd16413b3c6362b7bdc6667d3f0083e4bd880a4b3cb36fa8bdacf3463f3543b8bd70e60e3c832b6cbdd694083f0aa285bd345bcd3a19cdd8bca64b933e10c21dbd0bcfbcbb9b0abc3b0239b73d398237bc4fdffebbc8c0dd3ccbf5c6bd52bf26bc0000000000000000000000000000000004895cbcc4878c3de7524bbe8de5423c9b610fbc53c4823d7c2049be9c40f43a2c1ebabbf85a5f3d498f3fbeab73a0bb771d76bba3b5233d08b218be17070fbce3697439160dbf3ce5a5cabdaa1954bca491ec399599af3b7f3040bd0abe1bbc200104ba9244fcbbdbc909ba21a3a9bb0000000000000000000000000000000000000000000000000000803f0000000070ad963cc66e24bed6f5ab3fb9cec8bdb9a8593c0fc602be78ee8e3f469b4dbd5d88453c2ba5e9bd36306f3f553d06bdbde3f13be6fbaabd3fc5303f2f84f5bbe28f983a0ac53bbdd392e03ef5eb0b3c2f9d53bbd79dbcbb0a53523e2925953c8aed06bc300f0f3d04799cbc42c2bd3c0000000000000000000000000000000000000000000000000000000000000000713c423d2ce83bbe1735a63c231385bb088f423d29653fbe0e54273d72ed97bc1f472b3d173138bedf6c6c3d9a8214bd7cb40d3da91719be823c6b3d93c020bdf7149c3cdda8d1bdc65c3a3d0d6618bd04a4a93bc8ae4dbd6e22113d66deecbc1249abbb5b7683bb7d638f3c424c97bc00000000000000000000000000000000000000000000803f00000000000000006e05e2bd7fc2a53f50c0dbbd8f9a883c1982a9bdaea1873fc94988bd57a8cb3cb12c94bddf785b3f3bfc31bd243c0a3d0e2358bd334b203ff89985bc53c8043d5d78dcbcd161cb3edf33603aa81cf43cfef285bab6a1363e6190e93a2f63f83c89e8963c9ac39abcc10a943b6248af3c00000000000000000000000000000000a657543d7e3f26be1288883dbd14c5bcbd22673dee2343be5a88483dc9d490bc5b744e3d85fc48bead10683dc4a114bdc780233d371c2dbed8834a3de1bd27bd6922b83c50c8f9bd4ab6193d492c28bd8566ec3be38585bdd9019f3ce29205bd52f3a5bb4c768ebc1464de3bad17adbceb2e5abc33afa23c3045ec3a6588c5bb1043b7bc227d743d34fb03bdeb8f383c398511be6124a53f04ca52bcbfdfd13b5775dcbd96a8913f32640c3dcb0aedba624cabbd3399733faf868e3d9123e53bfecc58bd14a2383fb51bd53d4601173c6d5ba5bc19edf73e8be3fc3df9ef093c0ad9993bd3f2823e3204033e8d66c93b26c4ba3c2818793db9bfe23d165e993bc7100c3ded2d9cbda1b48d3da212133c5f6e443dcbff43be2bf3883de9b192bc501b523da4ab22be8328f83dee0273bd6fc2553de3ca3dbea980bc3d0cd764bd6cbd203d9dec24be1a08713d11bf54bd579cbb3cf660f6bd4312ed3c366343bd4fe3f83bd18489bd82fd15bbcc2e0ebd98c57bbbd6efa8bc5b40bdbc90fab8bc39dd28bc0545983c352d44bde8e4aeba6230b8bcc675663dc6fc7cbd8cc1903cfde2c7bc89c1913d862690bd3ee4123df3d9ecbda1bb843f5b37353ef39055bb317ac1bd32386f3fa6535c3e473eebbb53d970bdab5d3b3fce738a3e6daf8bbcc0ddb7bca120043ff7e39a3e1c8dbfbcb989c53a40bf9b3eedd49f3ef349fbbcc820a43c8cbae73dad6b983ef1dd14bd1afecc3c5de45dbc1c70803e6cf026bd8bb52e3d870c06be6c58493e1df73ebd55a13d3d8dff3bbef4df053e75e070bd52982b3d61b21bbec7a1173efbd1a6bd2a1f1d3d07021abe96f3ba3dbccf90bd9036b03ce146e6bdfe4d133db83b70bdbb3bd43bafbe81bd886dd1bbd99e32bd2afd87bb59ca8dbc411450bd6f52ffbc55392abc5e009e3c81809cbd7435a1bb78679cbc880d5b3d3bedd3bd0375a63ca525c6bc328c963d05e0dfbd9223313d15a1b7bc14b3943de95fbdbd9f654d3d7a5ec0bdada5503f979ec83e7338c9bcd0b17abdaa19303fdb69e23ebe590abd88cfd3bc4f65003ff4f0fc3e8ca349bd9a823d38d0a09e3eb3dc013f8f8e64bd0705873ca4f20c3ecbff003f4a4584bd0003a13c81b19a3c1cd4e23e95c590bd41f7023de0f2a6bdde88c03ee710adbd05d81c3d8cdc15beaea58f3e1180c7bd282d1c3d81342bbee2dd273e85e8b9bd89ba033d1cb7fdbd60310a3e1e3ba8bd38dba53cb9add4bd7804883dd65c99bdcb33c63bb35273bdb5cfa2bb98af47bd7cea77bbb4a963bce38370bd76fe18bde6110bbc79d84b3c9fb4cbbdaaf29d3bbe7e93bc36ac623df0f20bbee6c88d3cd10fa8bca30a883d213f0dbee105353dbfdbb3bce7209a3db6f300bec7216b3dfd2e92bc0d5c803d5adfb4bde41b553df5fa80bd0f71143f49be1f3fd45770bda9c5cdbc6ba2e23e86572e3f9b1986bdd88979baf68c933e7a22353f68aea9bde5cd4d3cdc0b083e8006353f3156b7bd94d0883c3ad5593df33b203fe69bd7bd3949d23c482d72bd01de133faf52e5bd68c8f03c770ad7bdacd1e23e1b99ffbd964ee53c426b0cbec0209d3ec0e1fdbd56afdb3c7bd60dbedef21c3ee151c0bd4e1e873c2975afbd68a7c63d851c98bdf56ca13b84194fbdfd242e3cdc367bbda2ad39bb029322bc055476bd844f25bdf08924bc97a0cb3c9ae7e5bd02f180bce56592bc3ec26a3d369d23be8b084e3c9dfa9cbcd20c8c3d307e2abeccc3293d8d25aabc8b6f943da4f41bbe73d65d3d6eb986bc3da87e3d24a5ebbda4b2693d6cf152bc25df3f3d80d790bd9a253d3d5a2fd8bcb7c3b33e8a145c3f0000b9bdf51a74ba25a7663e0e0b693f8099c7bd4b05e53b6091dd3d2713693fd62ed9bdae5e303cc275b13c749f593fb73cdebd3954ae3c2c3b62bd6d8d463f3671ffbd458bac3c567bbcbda641213f18c10dbea7d8bc3ccc56e1bd1e75eb3e4a4409be7105853c46a8dbbd3a818e3e94cbf3bd229d5c3c1ba9c5bddf42e13dcf5ba7bdd0350f3b76e20ebd24cb123dea6d5ebd183255bb152320bb4fc45cbd8d602ebdb7e011bcf3f4ed3c7f8df8bd946b64bcc36284bc75c76d3dcb8431bedf21fc3b112e92bcc52b8a3d84b73fbe2458113d92d992bc4a878e3d776032bed9173a3d741978bce0f1663d59f80abe89ad4d3dad0a24bc6c5f263d00c1bdbda3f0413d24d6c7bbe2cfc53cb14325bdf4401c3d2c0039bb9feb133e761c893fe992dfbd91337d3b34595c3d9b128e3f453bf0bd786ec23bf93d44bba909863ff918eebd6bdc643c959572bdc4d6773f6e72febdd887823c9ce8aebdde09503f3da507be4e2c7e3c0918c5bd83c0213f5c7506bef8fe503c566dadbd63b5d53e5e2de8bdb42c993b66806ebd3c37593e6cd4c2bdf8ca053a0bba20bd16cb193d629b83bdae829dbb5db6f33b5bcd5bbd9537c0bc798809bca848243d814df8bd0ff6b5bc1b1173bc5546873dc9163fbeb6d2673b739698bccca0993db37e56be7e3bdc3c7c2788bceae6903d024c46be29290e3dffce53bc6db5663dea3f1ebeda8b103dbf6b17bc45d31d3d65bcdbbdde300f3d084955bbd462463cc77754bdda23003d2d12a0baec934939d4120cbba668653ca145e43b85a2c6bc09c0a63fc86a08be2d528abb5efe43bdfb779d3f5e49d7bd2023653b06e9aebdac75943f23b5debd23fb283ca029d0bddcc7803f141be6bdaa50043c07d9c4bdb36e4d3fc5fad2bdad06a03b5f4a9dbd4208123f0394acbd8e79c43a231238bdbe07ac3e40f38cbdbc00e1ba58a6d0bad6c6e13d98a363bd0a835ebbce5f1d3c09c484bdbf5fd6bc000000000000000000000000000000003f5095bc04b2863db84142bea830473c3dd681bc38a2913d439f4cbedda58d3caa0476bc42038a3dd7cc4abea4d1bc3c9f1946bcf353673d89082abe309f823cba7607bc0773203db9ddfabd0e40593cd6d42cbba9cc8e3c685883bd889cdb3bd6f751baff1fdeb9f9fd66bc3eb164ba0000000000000000000000000000000000000000000000000000803f000000003660993c0db716be09dda93f3cffabbdb798193c304001bef156903fc78b60bd2cde083cfc43e7bda761703f0c2e1dbd4dfe9b3bf9ceb9bd2336373fece58abcda5e7aba2f0b6fbdf5b1f73e01aea1bbbf6fbdbb0c02a5bc5eb17e3eb865b83a5affb0bb8a757f3c28f5bb3c74930f3c000000000000000000000000000000000000000000000000000000000000000085c2d6bc92cb4bbde01994bbcfe01c3a5a94c2bcf63f40bd6a6c66bb1606b2394d1697bcdb712fbdb6c3b2bbebfd463bc42681bcbbe81bbd0e54c8bb86a6203b528627bcc57a07bd93db10bc088b9339a8adaebb7375dabca53c33bc99eacbba154a38b93fc391bc4da84dbcc88294bb00000000000000000000000000000000000000000000803f0000000000000000a1e23bbd6ee98b3f6c5363bcf48fc9bb95f801bd4311693fe3dc0fbad8d076bb4879d9bcaeed3c3f46c2a03b7129b7bb5e67bfbcb8b4113fcd73a03b9c0ab3bb1dd7babce31cd13eababb63a487c21bb50f0dcbc6d27813ea9a55c38f44b8cbbd77703bdaf11cc3d6fe9b5bbd320adbb00000000000000000000000000000000e22ff8bc5869dbbc339e48ba402b49bbb3a2f8bc0f096bbda46aa9bb8cc1303be992dfbc445478bda4f6babb2be28e3b3f84c1bc66cf68bd858b07bc0fa28e3bfe3187bc6c4141bd84491dbcd0e8493bc91c4bbc39342bbdecfc49bc38beb43a1102abbbdd5103bd6dd566bc879a76baf137363b222498bcf2cc45bc11f6e5bab99e583b158fb1bb8e1911bcbf4b82bbb7e597bda78c8c3f7dfbeb3d8286c0bc5fffabbd51b3843f54efdf3d6aacc8bc0fbb83bdf1c65e3ff287d83d6ad494bc0bce53bdef12343f2ac2bd3d32f859bcd9f13cbde3e1083fb2ed9e3d540248bc6b2736bd6107c33ef1ec703d31b641bca60a34bd69416c3e2257123dd5a829bc49a72ebd8e02b03d76564f3c91cc26bc71a90fbd9629e6bc39079cbb255e06bc2d70e5bc1b918dbcef2ed43b78c9b6ba3970fbbce6f92dbdcfa3483ab25d5f3b6ef3bbbc9ed038bd9f6895bb9ba0c53b9123afbc5a0f4bbdc15409bc9a56e33b7f626bbc35471dbde7a603bc3b1ca63babc815bca9cc16bdf04a59bcef81613bd3339bbba0ced6bcb0ef38bc196cd83a845eb03abd3287bcc48139bcb66c89b9c06fd239af3a6cbb30e8d5bb4337e2bacc2c94bdef676b3f7981893ee14c11bdf7ddb7bded4c613f3fbe823ea5c424bd420e86bd7e2b393f3fe4683ed6a9e2bcefd382bd09781c3f2003483ec9dbcbbc3d3e4cbdf6e3ea3e01f41d3e3e999bbcc6285bbd77c0aa3e0c64ed3d4d1980bcdcf133bd9b8c513e701b9b3d2fff59bce15538bd329ca33d3f12143ddcc641bce51401bd8b458fbc3cad843a7c260ebc439accbc60bf70bc7db7353cbfe4e33a23d0debc7de41bbda9922a3be463043c77deb4bc838539bd8a3385bb51cc3e3c154b8abc790336bd148b0bbcd736403c1f095cbc64e420bd953d29bcaa661e3cb1950abcb54d09bda0ff3dbcea64d43bf79d71bb2499ddbcb0c452bc06e5803b27125a3884c883bc69bd1bbc13bc093bccbd53baa9b1efbbdd3791bb51ff1d3bc3ff83bdcb943f3fc04eda3efab635bd504eacbd8694373f3fc1d03e0ee454bda94b96bd49591d3f84a9b73e4e5d2bbd33e37bbd8537003f90a1993e503004bddfad5abd6eb9c43ede5d733e476ebfbc8f2b4abd24958c3e42c4343e18cf97bc23b73abd6e8e2b3eaf6fec3d40c083bcd4952abd25ee8a3d81e4673db9374ebc7ab6dfbcccd352bc43ad9d3bb68702bc5f12a3bc6b3299bc37747b3c1317b73b64dbacbc513210bd0249883b89254e3c9fd87ebc2f8823bd7440c3bb6e8c6f3ca7446ebc6aa02cbd16771bbc39a8743c619707bc5247ebbc013211bc99c2273c7b30e0bb27f102bde9db5abc6599233c7fca4cbb7ed8b9bcf0ae39bcfe30b53b8167d6ba55c474bcc55afdbb51f5823b5e57093b4aa3babb16bd8eba53acde3a7b886cbd0b73153f809a163f27ca5bbdf6068fbdd5c20c3f7a5f0f3f532377bd06446cbdee5eef3e069df73e2e142fbd582d61bd0064c73ee227d13ef57512bd1a3118bdc09e933eadb69b3e240da1bc961835bd35405b3e055b723ec016a6bc946d16bd9552033ee0341a3edc936abc88920abdb71d4e3d8591983dc92a31bc04e8bbbcce0c70bce280a33bbae1f2bb8c7485bce9e6a7bcd2b15d3c09a32d3cc79f5abcdd9422bd7b2f82ba726b893cf47723bc9aa437bde37d53bc65f0ab3ced97fabb925130bd4b3c82bcbe60923c6807c5bb9b0a13bded738abc9b47783cc58547bb2f55f3bcaa5189bc56c33b3c6582f9b9e839b8bcbb7c6ebcf43df23b741fe13af07564bc155807bce486a63bb1545639ad46c7bbd70a6bbaf76b6f3b4cd74ebd358ed83e95ef403feb9f75bd959275bdf860cb3e9ba4393f996b93bd16c358bd1189af3eaf9c203f03fe55bdf48438bd73ad8f3e8d3a043f417b21bde4ea22bd7f675d3eaacacd3e0f5fd9bc975b18bd9fa21a3e71d5963e2cce9ebc191c06bd2407b73d42fe403e7f3a5abc8be8e6bc7357f03c0359b63d715b12bc631f90bc2f1f89bc0e14233bbf9586bba2a3d0bbc61be7bcd2b3aa3b69813d3cee6094bbe0f73abd0fa86bbcf371a33ce78437bb3d5028bda9f6abbc111e9b3cdc246abb10ea25bddcb3dbbc1dcc9f3ccd2a27bbd7b304bd633bc5bc48457b3c1b18243a1b13efbca3b2c1bc8e7b2c3c098e5639ab90a6bcdbe884bc7282bc3b691bdb3a4cd052bc3dda26bc93a4733b92a8de3ae449c4bbf87dd3b9a034433b124118bd27cd873ef1896d3f037a8fbdaab73ebd86077c3edce7633fe1fa9ebd311917bd2f305b3edfa93b3f19b33fbd0f4a0dbd6eec323ea0761f3fc27914bd6649e4bc36aa063e4a32f23e211dafbc82edd4bcabf2b73df0ecb13e3ad975bc3e1bafbc8d79533d8e8b613ea58c33bc860084bccd5cd73bc50ec83d1df8e1bb015627bcea33abbc5b6890bb99f137bb0967ac3ac04f16bdcb3f01bc30f5803c268fc33b0be947bd973b16bd85129f3c4b06a13b368c3dbde35332bd553caf3c2df87f3ba92e23bdd54e2bbd51b8933ce828fc3ab57fffbc4ae00dbd4d62673cdf30233beca4d0bc7d7b09bd323c123c9625423b5b4f8dbc3fd7d8bc66625a3baf247c3b2218febb238e7dbc0d580a388fd2103b499c61bb88b773bb68d4713a5e67cbbcbbf6e33d7fde8c3fe11a8cbdb40cd4bc35b2cd3d6748853fba3a93bd3abec0bcbc70b83d2d12613fb93e2cbd3b27a8bc7834983dbb87363fb612d0bc3c478dbc96cb633df0060b3f86187cbcfa5b6dbcf1ccfc3c7059c83e0e41dcbbd5cb25bcf90a023c0bdd753eddcb99bb4d0fa8bb09dd76bc977ac63d35699cbb04650dbb713eebbc3cbea5bce63ee73900000000000000000000000000000000b80c133c309222bd384b2bbd32a0913c6bbee13bead405bd7bc62fbdc7f4703cc7ee8e3b33baedbc382a1ebde3843f3c32a8773ba0dcabbc0f240dbd8e3e003c987a723bc0d28bbcd83906bd037f883ba25a763be4611bbc17efcbbcbc5300bbf2970c3b8e07a4bbba4694bc01709cbb0000000000000000000000000000000000000000000000000000803f00000000089919bc097fb5bcbb808c3f57a907bd063004bcd51c53bccfe5693f87587abca4c9c8bb6ff926bcba183d3faced60bbbaf8c2bb67f537bc50a6123f562cdd39d8a1a4bb246f86bc6d66d33e2097633bdc136cbba9c19bbc84ce803e0fdd493b54fd433b9b97e4bcf6a1d03dda33c53a00000000000000000000000000000000000000000000000000000000000000007bf550bd693d98bbd4632d3c54f39eba462a2bbd6ece3cbcdccc1a3ca6725b3ae9f312bdc25f7dbc7f49073c8233c73a6f86f6bcce1078bc5cc28f3be4cd35b70062bfbcfad194bc4c56eb3a167e85b8ceca83bcafbd8fbc901dddbaa1a00dbbdef431bcda298abc9daca8bbe62b8dbb00000000000000000000000000000000000000000000803f00000000000000003f5b9dbcbf547d3ff04f1b3bddd15bbcf6e38dbcf3cc553f1f18083c0e7121bcb0ab99bc4c70303f36f2333c05e509bc3882b0bcdf520b3fa82d2b3ce8c205bc1548c3bc280ecd3e70fd253cca99cebb4c40dcbca0cb843e5b2bf33b62dcd7bbbad505bdeb1ef63dd1d6823bb7f6e3bb0000000000000000000000000000000049b869bd9e12923b6ecb763c192c2bbb260387bd3849fcbb7c778c3c884dd0b88dfa68bdf2ff89bc99ec6d3c8f66323b5f134dbd710aafbcc66e4e3c69797c3b42141fbd49dbb0bc6aec083cc3725a3b60d601bd88afd0bcaaea7a3b9339cb3a577ababc7c7dc5bce7e382bace3782377e7156bc5a32b0bc7e1c9fbbd946fbbabaee14bc2d5f5ebc541770bbf66e0cbba5ed01bd43d37d3f802a073e3f5db3bcaa6c20bd1ed7673f8f66003e464fbfbcc8b20cbdf995443fb846ec3d4bed8fbc775612bd5c21223f32b7d03db2d268bcefba0cbd998ffc3ef7b7ac3d75e133bc15451dbd8f14ba3e1f7b873d438b3cbc64f12abdf2696e3ee42d403d673f10bc57ec34bd6256d63d414cd73c10e413bc941612bd595322bccb65e43be165b2bb36cd59bd333fca3ad145ae3c621746ba8a0487bd9c7f01bcf7a8be3cc956183bd3364ebd3dff76bc7e4e8e3c2c5eb43b52b04cbddcc2b0bcee62773c33c7e13b8d001abd9d6fb2bcf845283c36c8d13b105a03bd76a1d7bcc67e9a3bfe589d3b71a1b3bc8ee7adbc45be8f3ae1406e3b320c7fbc31ffb4bc7e1b03bb8a1e033b75a615bcad545cbcaae627ba88f1f63a707718bdc3f1573f8d8e8b3eeed9d7bc1ebb41bd9ed8463ffc68823ea01af9bcf21320bdaab8253fa541653ef49ba1bc681835bd211d0c3f6ab3473e8f9391bc9dad21bd4c01d93e673f203e65883fbce51336bda3eba03e5222003e698336bca55420bdabce4b3e0f74ae3d5476e2bbf02a3cbdae97ba3dbeb74a3d6c70ccbb9f8506bd4bf20abc29d0483c9a1a44bb839845bdead639bbecd4d63c29e9313b77d571bd697b54bc7660e83c52d9003cc1ea58bdb1c5adbce544bb3cd3a01f3c93da35bd8835c3bc2023893cc4b6343c87b615bde097d0bccc0e253c75e93e3c88d0edbc3c98d5bc4bf1c93b6a0c233c2fb5a8bc373dc7bcfdfd4d3bb3fff03b452f63bc36fcb4bc5b1a043a0764b73b558c23bcdb1371bc32ea803af841973b55751bbd95a2323f7b8ed43e716cf0bc0cfb4ebdab3c243f251bc73e810303bdca1b48bd6ee80c3fec1faf3ee38cc8bcf2913cbd71d8e73e0fed933ef0449dbc658a34bdc5c3b53e24bc6e3ecc0e44bcd51637bd5616843ecaa2393ee32d09bc29b439bd9a98273e4f1e003eebd5c9bba0632dbd8b7f913d5a93903deaa1e6ba69a8ecbc809f24bcb2567d3c374f16bac6f82abdce8f0dbce221f33c85e1cb3b795b48bd2b4e96bccfbf013d9e01273c65e323bdea73b5bcc55aad3c4db34e3c5c3a1ebd6d10e7bcba758a3c41606f3ce556cdbc2c78aabcfe6d193ce55c2f3ce664c7bcb96adcbc8dfa093c4899473c549185bcdad3bbbc925a303b1cc4183ca01b36bce28bb2bc3e45703a13c6193c894beebb39b469bc8f91223be9a5ed3bf43c18bd11b70d3fe6e00e3f680df3bc009943bd6b5e013f16af043ffe2e06bdb0812bbd2f16db3ecf15e53ea467afbc45e23abdf5d9b63eb883c33ed53e82bc911007bde5258b3e81e8963e7685febbc83e29bd53e74d3e0024703e947ebcbbc23214bd6aa1fe3dee62213e73ca10bbfbee14bd77704f3daa96b73d736b6e3a6356d7bcd1854bbcaf7e903c563c273bc95806bd2ff07abc5c5f023de8a3303ce76620bd2ba1dcbc3701073d81677b3c4b660bbde88ff7bc7588b03cb505973c9136e5bcf66d02bd0237593cf1ec8c3cdbc7b9bcee2af6bcbaa4273ce936813c12b386bc2653e2bc9211703bf556653c95603ebcd16ed2bceb8e863a74d5523ccde3bbbb625eafbc95d482bacbc0183cd86f97bbdd606abc1cebfc3a19b9093c3c1710bd0ea6d13ebaf4333fbc1beabcf4b63fbdeb18c03e979b273f993907bd4e8832bd6f41a33e7d27113fc61eabbcd3fb25bd702a863e03b4f23e201b5cbc25b920bd49874e3e8982c23e086cf4bb6d331bbd2102133eb9f2923e0ee719bbd2820ebdb81eae3d4de6473e5e91d13969bdf8bc4920e03c1c78d63d82fda23bff95acbc715086bcf4558b3c5dabb33b15e1b6bc273db2bc2233f33cc0d5553c695dcdbc01a009bd1700e33ca4419d3cd5dea3bcb703f3bc0175643cf96a993c762e96bc61720abd959e083c31889d3c69b15fbc7962e0bc84686a3bf354743cc86b1bbca0d3e9bc5e89b9ba27e6743cc4329abb29edb2bc1e0f2dbb3faa293c49b9cb3a1e49afbc9b547dbb37de3d3cf9df693aff5e5ebc64441e39d60d043c4d7efdbc22fd883e42bb583f9ae0e9bcc11325bd361b773e8dac493fb6b3e3bcc48f06bdd8a9513e35d1283fb1c566bce97511bd85522b3e81a4103f45e4ecbb9a95edbcaff8003e69ede13e596c0abb6be9f6bc4f4eae3d841aac3e0999283b47c1c4bc4840453d6a57623ef54a783b05fcbebc331c9a3bcffdf13d32f9e63bf0b97abc23e6b0bc4a6c523c2506e93b78c43abc1bfef0bc02edcf3c75fb8b3cac9117bc214d22bd8a0a8b3cf36cb53c3ac203bc377715bd1243a63b75d8af3cea8ae0bb38360dbd34b430ba7a1b9f3c19ea9cbbb36de4bcfccdc1bb00d07b3c01b9b5ba1716d5bcc1e81dbca62a5a3c463f2f3bc878b2bc8b3b37bcbe8e0d3c2736f63b9b178dbcdf1b1fbc268dd63bea00bb3bd34643bc3641a2bbf149b53b44dcd1bc680f013e3f227e3f5f30b6bc8e99fbbc03aee33d0a39693f329694bc1538e2bc2125be3d0ff0463f9805babbf04fd9bc0cf8953d8830253fffd6333bc115b7bcdf67563df41c013f65acae3b9dbdaabccef5ef3c7740c13ed19ef33b99e58cbc8d6ad83bf4287d3e14fb253cc2be4fbc74a287bcc5f6f83d29200d3cf2df0ebc0e02e2bce3f1773bd3c4093c0000000000000000000000000000000070356438b2ae03bdeb23953b47979c3c3a4886b9112cdfbc652b8abbad25843ce9ae7639dbc4bebc9b340abc92735a3c6c7acf3a0570adbc88813dbc5f86443c79b4333b391e8fbc150a57bc47d2ff3b5e42b93bf2ff61bc3cda62bc20b0883bf0c90d3cb4e040bc17db55bc1b401e3b0000000000000000000000000000000000000000000000000000803f0000000058d08cbced721abc60697d3f55ca0fbb47ee76bc05600abc668a563fc0dfaa3bbff35cbc725716bccd18313f9600083c624838bc410558bcdc5b0c3f5a74373c110c2fbce88588bcd031cf3ed1a6393cb874f7bb8f9aabbc9cdf863e2aa61c3c3bcca3bb6038e8bc1c25003ea43c133c0000000000000000000000000000000000000000000000000000000000000000664564bc3d83ae3a0c419e3b4219c539abd938bccf34b43913a1893b8c19f4391d4d43bc4c4e56ba5dbd813b04e3263a642c1ebc745d8abaf666633bc6e5493a697410bcf06d7eb9f37b3e3b27f3163a980010bcd0c0fabaae223e3b4347503ab0fee4bba2411dbb5d88253b6281393a00000000000000000000000000000000000000000000803f0000000000000000b3d75ebb18a9633feea6503b9ed52ebb19ca47bba6e7423ffc49613b2f4a10bb3be61ebba97c223feb32803b2ec2eebac6af84bb2ad5013fd0de793b57e8baba85e678bbbca7c23e317c7b3bc690b6ba341bb2bb9e0e823edab8813bf70493ba4853d8bb03b5023ef9d37c3b13bd97ba00000000000000000000000000000000df0458bcb7c8013bc0c5a93bdb9021396d0089bc1bf5883afb5bd33b5b79393a0f4b83bce1bdaeb93d23cb3b33579f3adfac84bc056fc9bad414c73b5a6dd23a5e6663bc03a933bb882dce3b3d6f363be98c46bc26037fbbedb3a53b78d2e33a8c0d38bc120b33bb089d883b616dc63abb9146bc85dd48bb3b178a3b2c9b003b5df709bc5ccd1cbbc37f3c3b158eb53a156f83bb3ca0633f8392033e91f05ebb14bcb4bb3153483f8f69eb3d8cc266bbbc0fc1bbedaf2b3fa810cd3d754630bbd0c7dfbbf93c0f3fef7fae3d46d611bb1a41ecbb853fe53e27d38f3db4ca19bbcb190ebc09e8ab3e55e25b3d2c11b4ba381df5bbd91c653e9756193d08ac9abaf7bc18bc8c92e73d8a75b63ce4c82fba37aae5bbe096f23a52179d3b66dd14ba48f963bcc2f08f3aabb8c93b97034a3adec998bca09c563908fc023c5c4ccc3a149f7ebc031280baec9ad33b8b78ea3ae7289dbcaf6b65bacad70a3cb275163991894fbccd59ffba6e4a803b079c2e3bfba780bcd45a94bbc4eddb3b563e693b7bee45bc58ce54bbb0a7933b75e72a3bdf8c4cbc537883bb8bb69d3b060f323b22b60bbc148e48bbc4c4523b8aa7003b7335b3bb6e33433f7cd8823e141556bbe4abf9bb05192c3f72f2683e1f2c75bbdfa8e0bba817133fe81c483e99391bbb462512bceab1f63e786f2b3eedb107bb4624debb0337c43e0081063e7beb3cba92ee27bc7d0f933e428dd43defc239b9c13206bc4277443eb4818f3d907b2db9d00f21bc3a58c63ddb00223d652f3eb95fb6e6bbd574d03ae869b63b79e5ee36ad1f64bc3d3262bace5cf13ba175da3a447996bcb87be5ba2faefc3bd7e3383bfab588bcc39cf7ba64b8f93b44a22a3b2d1e8bbcc30287bb7801023c582a833be5c482bc381f55bb6bfece3b0164513b85d26cbc87de88bbb0e7c83bd6065f3b59ac65bcdb457cbbfe63bd3b13f9873b8c2746bc6e4b99bb9f29953b22605e3b02e7fabb2bd73fbb1e42853b22bfcd3ab0b1dabbece6223ff829c43e9fb93ebbe74d11bc61340f3f5916ae3ec38353bbfe0307bca3bff53ea186953ef7aa18bbba9421bc9e47cc3ecc5a7c3e5ff212bad11609bca7aea33e03924a3e6ded3aba993d1cbccbf8753ee0021b3edb3e6eb94af515bcb421243e9b01d53d3a1bcdb9a12a21bcd3aca33d4350643dd935803a812ed4bb7dd5a73ad265eb3bebfd87b82e7d46bcc72a80ba17b8dd3b859ad73a604881bc35a406bbe5a40a3c9cac403bf0f967bc9eee30bb8d7de33bdd454a3bf76078bc75f565bb7b62eb3b6000743b20e130bcda7d57bb636f9e3b29563f3b55a660bc71789cbbeb8eba3b7ab4823b62d831bc20fb8dbb6f16963b723f643bd77633bc5ac7a3bba75f983bb0db7a3b1a66bbbb2d7886bb64924e3ba0c13e3b6c5ec8bb3610023fc64b023ff98740bbca4b07bc5d22e53e7661e63e91932bbb855bfebb8603c43e15dac53ee49ea5bac5450fbc27f4a33e1574a63e2afc37bac0f3e4bb492a823e3eaa843e8a01a1b7c3a124bc3fe4433ec57c4b3e7fd1333a2efa07bceb0c023e1849093e592b823adb2017bc288b813ddc08933dc875c03a30d9e7bbb033d5b95239d73bde5ab43ad9de3ebcf62e39bbcfdcc33be16c553b7f966ebce9765ebb43a8103c65ac7f3bb09f82bcdd6da3bb87bf0b3c9ef2993b70806fbccbd1a9bb92c7e33b8375943b983248bc825ca0bbc417bc3b4a128f3b4fbc53bcbaf996bbce45cb3baa38ab3bceb41abc31b3bbbb1ea7963b1fee893b391116bc5569c0bbbc36a43b4315ab3bf66703bc946288bbc851653b29387c3b11a7e2bbfa98c23e5dfc223f67f6c9bac8c80abc8febab3e24dc0f3f1d3c02bb3b191ebce6e1923ef0cbf73e2d9990b921561dbce26e753ed780cf3e34295f392da70dbc139b433eb160a63e18e87d3a1f8229bcf6e2123eeefb7c3e87b5f8386eb419bc0ed6c03d6b9f2a3ea126f83a22721fbc33183e3d7404b63d1141c73adfa808bc8b888cba3541f13ba550353beefe1fbc26e459bba9b7e03b85ab4c3b1ccb5cbc060da3bb89540a3c0292933b746348bc3789a1bb4b01d33ba33b8b3bed165bbcaf73e9bb8d2ee63bb648bc3b400f31bc1db695bb5339a03bbdeb943bb4181cbc8ab403bcde368e3b1c0fc93b938cfabba1d6adbba32d633b60ae7f3bbec504bcda5bd0bb77687c3ba688923b7b8aaabbc4e396bb6f642c3bb48d543b0aacccbbf6f3813ed958433f5b2ca6bada930fbc5f61653ec67b2c3fb7de74ba5e15fabb85f9433e0eb9133ffe659e39573327bc63ff233eb972f83ee733fa3ac474e2bbcde9013ef423c63e39df1eb81e052abcda61bc3d5406973e9ab2713b11fbefbba7067c3daf53493e9f6e153bfd630bbcfed7eb3c3388d33dc2bc483b39cdc0bbb68019bbb7e5cf3b64e21d3bcdf507bc0b738dbb7784cf3bd779743bf26831bc4928cdbbaccae83b42a2a53b46cc17bcb32bbebb502aa13b9fd4973b8f7512bcf54ec5bbe8038c3b40a0a13b8bdc03bc443ad4bb06c68e3b0ecf623bab80e5bbaea9cabb4e9d3f3bbac78f3b4248c3bbc8a3c1bb379e1a3b974c803b9adfa0bbf94cc5bbec110f3ba275743bc7d469bb58699ebbc976e13ae7cd493b677ec3bbe903023ed5b1633f82bdbfb9d1cb03bc2065e53db1a4483f8bb3623a4c8beabba2dcc23d4fe92b3f3a9ee43a63f5efbbdc6aa13d45ad0f3f5fa63c3bc696f7bb04127b3dc584e63e975cf63a820af1bbe0a1393d8097ad3e1e9a543b4640e1bba61fea3c08e4683eaa72543bfae4d9bb95d13e3cbe29ef3dbcfe593b80adaabb987672bb0cfea83bad46443b00000000000000000000000000000000cf46cdbbab09a7bb84b5843be622823b7e56b1bb44d29abb4ff8313b7a3c723bc041a0bbce1d9dbbbbf2f13a7c894a3b2cf487bb578890bb2d47b13a39dd4c3b4b7c76bbf07d99bbebbe843a2e0d3d3bf58f4fbb94bf94bb4c122d3ae0d22f3b8e4835bbebb095bb0e80753a2d72383b0000000000000000000000000000000000000000000000000000803f0000000082b1abbb3229b439f19a633f1cf2cf3ac9e19bbb927bb9b74c04433f16c3163b4e319cbb8d6e4bba7d8b223f48bd0a3bf10693bb2ff9a4ba3610023fe653323b641598bbcfac0ebb68a9c33ebeb3433b884893bb6a5e43bb79ca823e68574b3b797095bb01107dbbc309053e4d5f493b00000000000000000000000000000000000000000000000000000000000000002e41593c64af10be4ab369bc2452033c2c44d23b814f09bea78791bcd95ef83bfe523bbba7d8e7bd941aa6bcf7dba53b730b86bb1c0ebabd7eeba8bccb6f553b65c2fdba7eee8cbd07c395bc9803343bf689463b8f6f37bd4da546bca86b5a3b6054b63be59992bc48cfc6bb1fb90f3b00000000000000000000000000000000000000000000803f00000000000000002df6c1bd9631a23fa79088bdae496c3b91d581bdb472863fb1ade5bc19861d39e4853cbd8bb5583ff3719dbb53cd1abbcad708bd0230233fc8159c3b0e296fbbeb27c5bca9fbde3ef4aa153c107c01bb4a9b4fbcdb08733e68f29b3bf360e5baaf20dfbb1e50443d56eb49bb94e3953900000000000000000000000000000000cbe95c3c9904b9bd45d0c7bac84be8b9199c133d163e20be8d575ebc85301e3ca998a53c30bf1fbe50edbdbcb2adf93b5f19383cb2ac0abea6fdd3bc5b89b13b496cba3b7bbbd8bd6b77d1bc2463823b68143b3cd41ea6bdaf55b5bca055993b97164b3ce1074abda2b285bc4c6c933b7d104a3cb90d64bc4d70acbbe534d53badd5513c6024dd3b12b101bb7058183b244218be1c7da23ff5826b3dc87da6bc0bb31ebeefd09a3fe8e1603d9e5496bcbc80f7bdd564853fcac5a03d8781aabc99a7bdbda01e563f43b7b13d46c0a6bce12f89bdbf7c1e3f0e3baa3d593898bcf1d14abd840cd43e761b8a3d2a3987bc28ddf0bc295a5b3e1e00423d866253bce71e83ba69c4f73ca163ab3c65e0c0bbe4f2cbbbf212afbd1cb2f4ba2af8c4bba9a5b03b061b7cbdb46dc63b87f0ecbb43dab23c5b39f6bd8db78dbcd50bb93aafbb4e3c6927f3bda8a2d9bca6ce1e3bd08d483ca479ecbda3d00abded0f393b9c72d63bf1ebb2bdf853f8bcec35253b34fb533cf66f90bd4e1df5bcefa6283bbc69673ce8e22fbd3391b4bcc57a7e3bbdad883c611488bc705f59bcfcc6be3b2844723cd374603bdf5e8dbb5dba983b313512be9a72873f7b8f7e3e74ce49bd092226be5119863f167c763e32ba57bdd09effbd538c613f0f6b723e4ef73bbd23b1d8bd1bbf3a3fa44b5b3e81af29bd69b99dbd6229093fa341363ec87e08bdf8317cbd45d7ba3e6396103ecf46f0bc366b26bdf405483ea541bf3d8582bebc371a90bc0cac203dc25c393dbe8b88bca22a43bcc5a464bdbd1c893b547a39bcafa885bb89cf34bd66b9143ce78437bc917b483cd3c9bdbdb96ab6bc0c479cbb946e5b3ce2fbd6bdfbeb1ebda6eef9397479333cd182c5bd965529bdc171b83a21c81a3c51e8a5bd017626bd6608653a18a15e3c5b447bbd4c2112bd5ce3203bc0b5823c59fc24bdb903e3bc31a5553b00b7933c4d918abc26c682bc68c7863b4144683c8a38d9ba0f9387bba74e433b8a96febdb12f5b3f22a2e53e5e099ebd781912be15dd573f86fae23e78baaabd8c07fabdb00b3c3f5189d13eed1793bdb419c9bd85b7173f9b03b43ee90572bd1c41a2bd80b1e43ef742943ed4c247bd576b77bd04379a3ee89d5c3e85c526bd159230bd44ce263e46c50f3ebfb600bdd728cbbc187c233d2562893dbfbcc0bcda569abc005922bd1c3d193c2cc08fbcc154d5bb6a770ebdef2faa3b968f41bc086a023c01d593bd90d202bdd8cedcbb5d83063ca618a4bd414740bdd29b25bb0f9e163cd2fda4bdea3c58bd8c5e67baae69873a3d0462bdc5c110bd2ba21f3a759d433c9bdd5cbd3d542dbda7e7c43ad8d64a3cc4360cbd938ce9bcb410f73ad5826f3ceaea7dbc36278dbcf38c7f3bd95c3e3c17fb16bb4f8077bb6c5e813b90c1cdbd7264263f57fd263f1ae5cfbd757ee9bd7e66213ffbbd253f0216e2bd6a3ebfbd93410b3f4a6b133f9e15b5bd6bcba9bd469ee63e7432fd3ea1549abdef5667bd3d0ea63e83ccbb3eacb13bbd52625dbd2a0b6f3e3805943eb6a441bde7be15bd829e003e5316343ecb8007bd0cbbc0bc4e73063decbca43d0c69d6bc320a8ebc956900bda8f4cb3b29fb9dbc4a77fcba9736f7bc7af3c9bbc2ac3cbcb005473ceaf275bd90ce63bd13d9cfbb9be7693ca65d8fbd8a4d99bdc7a0b3ba0135563cc17d87bd7c3d92bd5526c1381bf52f3ca6ca6cbd54be80bd16c5ac3869de4b3c259f33bd004052bdabe0dd3af8be443cd2cee6bc9f3d15bdac67453a2e77443cbd375dbcfa8095bc0525ab3be6a5053c0c427dba8766aababd73613b9fdb99bd4191e33e831b5c3fcbfffdbd6351afbd45a3da3e08ed5b3f26e60dbe603197bd01a5bf3e5d32433ff3a1e3bdf8897cbd7ae09c3ea96c213fed9caebddf3c52bd21e8713e8adefb3e532383bd98ad25bd7f80233ea414b23e720243bdf4d8f4bcc71ab03d9806583ed6f70fbd76da8abc59e5a63c3519a93d897dc8bc001e3fbc01dfd6bca15dbcbb82a598bcf014723bfcfeb5bc7de600bd1b3ef1bbb700603cc45c26bd009fbbbd5ced37bbb9986f3ce42653bdde41c2bd5cd7053ab6217d3c31bc52bda598c8bdf036473abfad303c08562ebd42ca98bd55018fb897cc483cc5b40cbd2e7580bdecc6793a6572183cd529adbc6c2025bd550c0e3bdf3e073c9ab2f2bbe8d897bc55d19d3b10fdbf3b224dfb3a06b9843a9708b53b1c6045bd92be7b3e4f56873ffebe10be7df34ebdc41e653e0c79873f10c71cbe20f832bd6296513e3ff1663f00a4e0bdc92e1dbd264d2d3e5c79423fabdab3bd848af3bc2525053e184a113fc85166bd6fc4ccbc5cecb43d609ecd3ebcbb30bdf8148abcfb4f3d3d571b6c3e9b85dcbce7dc0bbc814eef3b653f963d201d97bcd80d98bb457abfbc8280fbbc27b254bc73e4e03b4e1d8bbc977890bd00afb0b88c9f5d3ce7f36cbcbdba0fbeb4e8ec3a9b5d8b3cb93e03bd957611be4edf81b95767813c6ba411bdba0900bea1d54dbbe14c4f3ced1d00bd8da4c8bd816b60bb240a373cec98b6bc38509cbdf04852bbe1a0e53b5cd42bbccffe42bd82ebb3b912d9c13a008efab8180a81bca445b83b3a28913a5045a63b6fd1973bcf74963b2d0b96bcdac5683d5562a23f2a3e16bec3495fbc7809203d2d569b3f81e112be1c766cbce6fc4a3df7b7863f5f6acebdde8460bcd238483d60e3593ffed388bd00be42bcaa55243d2acc223f276120bdcf1817bcae52c63cb1d1de3e76e8ccbc11ebc3bb39cf273cab726f3e80216bbcee613bba3910613a8107473dc190dbbba91a1c3baed1a7bc30188ebd9278e5bb000000000000000000000000000000008a32603cd6a792bcc38b0dbe9eeb553bfcf86c3cafecabbc7cea06bea2001cbbccd53d3cbbbecfbcd1d6e4bdbde296bbbccf223cf31da0bccacab8bd7aefc8bb006dd73bc04864bc1e928fbdaca7e8bb4de0753b9a8f9cbbc18e3dbd7f0cabbbf7e01ab8c1ea2e3befbc99bccec34abb0000000000000000000000000000000000000000000000000000803f000000006c4d043ca0c9a1bddb2da23f2fdda1bd7c999d3b2d754bbd705a863fe86e29bd12fa213bfbca07bd81f0583fbbd699bcd4b3393a5286d2bc52bc233f4246ccba9364443b5e2db6bc9371df3ed04aa93bd6748d3b954b9dbcf86b743eeb05f83bcb06c53b1e1195bcf4c64d3d2385c53b000000000000000000000000000000000000000000000000000000000000000071ed01bbf274cebd6ff87dbc50c6933b7e2d89badd99d0bddc197abc117d673bf65f0fbcd8f3b8bd086061bcd2eac2b9bf28c7bbbb2ba6bd418755bce3db02bb6183d6ba1bfb87bdde1766bc06f553bb0db4e83bf7eb4dbd15db4abc3f5f53bb46b7423cf5e6fabcad223fbc9cf439bb00000000000000000000000000000000000000000000803f0000000000000000b01a89bdf9c9973f80f004bd8851e1ba961e4cbd83407d3f7f1cbebb926461bb8d0d28bdf2694e3fa2cd193c199fd1bb139018bd22361f3f26fb793cb80cf9bb0e640fbdd294e13ed637573c59a4f9bb0ad5edbcbd2f853e3af1e83b80939dbb6f24d3bcc990ad3d4be31cbb4e2551bb000000000000000000000000000000000bede6b94bfb84bd637e5b3a2249e0bbe569e63c712f02beff8953bc35981b3b4ee9723c46dd04beb16f8dbcffdf9eba1de6303c72b8f1bd77738cbc892e0bbbeeaf013c69cccbbd77768fbcf2328ebb9035913c44efb0bd750d9cbc185661bb2b60b93cd7c281bda63588bc393e61bba9c3d03c8733ffbc07ac21bcda7cda3a408cb53cc79721bcff5e0bbc9ffd91ba7ea8dfbd1c0e983f9cc4c43db87ceabc268df6bd3843903f2e57c53df571cdbc446ec5bd82f4763f9404e63d0792cebc57cea4bd7ca9473f12bce23d01cecabccebd86bd011b173f668bcd3dacbac1bc01426fbd01c8d23e2e36a63d11ffafbcd0c438bda5d56d3e481d683dee5d88bc9117c3bc65af753da21dda3c34da28bc5958bcbc0de36cbdadfc0f3beabc2fbc5ece58baf54254bd4dd8793c51da69bc89bca03c1655d4bd354b3abae5300cbcf647e33b2777c9bd9404ebbbfdb1cdbb5979733cb650dcbd923f84bc439a00bc28bf583c47b2b8bd28c68bbcafc7bcbb4b53bd3c22dba5bd5bf8a7bc51a6b7bbd587ad3c562463bd8d438bbc6e1c81bbeca3ff3c2f4d0ebddb2083bc5d5d03ba6f17d23c966c5fbc97c9e1bbddd3f238ada9e3bd40827e3f03058c3eefc653bd2ad606beba73773ffba98a3eff6168bd8299cbbd49274d3feaac833e69cb43bd7a9cc0bd3d462d3f6041713e10a72ebd71489abd7739013f52334c3e534720bd37ee87bd730eb53ec2c5223ea3f617bd7fae4fbded34503e67cfe03d9c53fcbcba0708bd820c673da784803dfd17d2bc035cbcbca42235bd4ccf933cdecc95bc60d605bcafd331bd3072f23c2b469fbcd522743cc9c6b3bd30e1dc3b44c866bc3cb6823c37dcccbd264d1abc71d618bc9bdc943c5036c6bd85c188bc47180abc0b6e9e3cda41b4bdd02d9fbc8345d7bb1449c43ce8b696bdc804bbbc4a8ca8bb6c21f23cc2716cbd462ab7bc034b49bb8f06023d03e310bd28248abc945adfba0ae7c23ca85184bce28cfdbb73e2893a7f97d1bdf8d44f3f9cede83e3b7698bd76b7f7bd376d483fbcc8e63e0137a5bd1037d7bd94152d3f9fc4d43e9c478fbd7a8bb8bd5a560c3f0754ba3e711d76bd3c879fbd3d0bd53e363c9b3e653e5bbd3ad680bd8f8c923ef193703eab643fbd483251bd2113243e5c15273eb4b625bd108b0cbd4686343d43f1ba3df48b0bbd948dd6bcd98a12bdeaddf03c60becbbcf55c9cbbc2832fbd805d0e3d833aa3bc4943643cac1d9fbdd907e53b0fa584bc34255a3cc9f4abbd1a8737bc9fa132bcdf8fa03c650ab7bd9e62b2bcd36ce9bbc307d83bca8882bd343068bc479d34bb603cd03c8c2a8dbdcad3d9bcd10ba6bbd1fac33c58f647bd535cb5bce9c12fbb0af5e43c9a4302bdde258bbca881debaf613b63c8b8b86bcd52ecdbbb570143baeedbabdeea4203f2374233f321dbbbd56d4d0bdf30d183fb6dc203f6a86c9bd72f9b0bd10e9013f69d60f3f3844a0bd9649a3bdc199d63eb037fc3eb2bd92bd09e270bdbe2f9c3e3948bf3e05993bbdf36068bdc4235c3e7e159d3e884853bd128b2ebd2fdaf13d5224503e09b027bd37a1f3bc1274e83c1411e53d845117bd2c5cabbc41e717bd7aa2023d2398d7bc19ba693ab5932fbd064ae23c92ba9fbc764fa33cecf592bdd7fe08bc16b98bbc6e59b83ce9faa4bd9a6bfdbca48c2dbc1e60bd3cff159dbda1ea1dbdbb03e1bb1633c73cedc891bd4eee18bd16daaabb76eccb3c5a416bbd2ca715bd2da7afbbe291ce3c966a32bda858f4bc432e4ebb46edca3c5abdd5bc7b57a4bcc13482baacf6983c29615ebc17c381bb18f4263b389898bdc6fde33efcbd523fd36dd4bd3b62abbde1e8d43ea96a503f7733e9bdbe5d94bda32fb73e34413a3f0694bbbd39ea80bd6935943e78301d3fd68c9abd083f5ebdd58c5e3ea385fc3e613576bd622f32bdd101133e957cbb3e8c314dbd96df08bd5ad8953d9d3b773eded732bd358cabbc4a67003c5be2f73d913719bd25db64bc81f913bde499c23cce05d5bc86250d3c853628bdb68d0d3c9b9494bc1ab0c73c147182bd24eb19bd6ced80bc51f6a63cdfc082bd201d3fbd3986ecbb0030d43caf6387bdf57f6dbd794ae6bb0c80aa3c05ee5ebda68a4abd2f1678bb35dabb3c1ef845bdfaff4dbd3d4697bb9031a03c77b205bde64207bdbccbbdbae088893ca53088bc8890acbc5e6b80b988114b3c44bbbebbcaa83fbb4594673bc61252bd49a4873e8649803f81f4e4bd270167bd6b41723edf297e3ff924f7bda70640bdb5aa553eebbc563fb041a3bd6be62fbda207293ecb1e3a3f068c8dbd9cb00fbd8195f53d7c6d0f3f4a9945bd6e1fddbcef1d973d9174d63e882936bda061abbc37ca093dc843853eb8ea02bdc93213bcd9a728bcf429f23d607709bdfd8496bb3fcd12bdd77c963b5f6bc8bc35f2643c96201fbd59fec3bce5db45bc909ca83c92fd25bd0678b3bd110988bcbc7fbc3cc15045bd188cc1bd910639bc33f2bf3c19d645bd7852b4bd2ab402bcffc7aa3c73692abd8aeb99bdad04edbbc9d7953cc458febc02d585bd072cd9bbdfa6533c17f78bbc5ca346bdbe94a9bba694ad3b475b7abad424cbbc187139baffa5a93b156b2d3b42505fbbbb3ab13ab600eabc5e7bb73dcdbc983ff88bdabddc52b4bc13228e3d5722923fe311d4bd546ab2bc5dfe853d011a7d3f12b38abde0f19cbcc6f1543d1b8f4f3ffd9036bdee5a81bc7f3f113de4891f3f5ed4e1bc912b3cbca04e643c7872e43e5d9dbabcbf8fb7bb64d5cebb10ca893e26e1aebc3356aa3ab323b0bcbbf8c53d1cd9c2bcaff9be3bba381ebd5503e9bcc1ab9ebc0000000000000000000000000000000011eb903c2f9602bde215bdbdb99f95bb85b1973cdefef6bca44ac3bddf519bbbded08d3c1036febcb247aebd81b6c1bb8e4d853c5855e3bcffb89abd0fc2a0bb55c44f3c18099bbc036883bdb866f2bb3df3e53b033501bca50546bd091b07bc731f323b331df03a2491f0bc6e7bc1bb0000000000000000000000000000000000000000000000000000803f000000005ec9a9baff6257bd0b3c983f835436bddba2b9baf8801cbdb2577e3feb2c89bc0f893fbb8a17f3bc098d4f3f1bad503a46de3cbb9ccaf2bc0533213fe5e2993be7adc0397f3dffbca9c7e43e1042da3b7bde5b3b48ebf8bc93a4883eba43053ba377e73b77100ebd83d8bb3d48148dbb0000000000000000000000000000000000000000000000000000000000000000e7b814bd9626bdbc48345d3b5ee6b6bb35eafebcc55ef1bc805e2e3b536c7dbb993b05bdb3b1edbc6c71403bb1a282bbf51ee5bccb4af0bc2f95163b1934a4bb82e6afbcaae7f0bcc0fb00bae246d9bb173830bc5cf5eabc1d26bbbb2dd808bcb2a084bbcbb5d5bccf7707bc725e32bc00000000000000000000000000000000000000000000803f0000000000000000238cbabca843823f51c288ba11b622bc356897bca7085d3ff7fbe03bb99e12bcb5969dbcc901363f1e7f683c571b21bc4daba0bc32550f3f20e76c3cec9d38bc8f5cb7bcbb4ed33e0e99473c2a6f41bce25cbdbc43e7873e4933e23b8fa147bcc8ede1bc8cf1f83db7e5603b707069bc00000000000000000000000000000000230e25bdeee73bbc9c024d3c0b1226bc8a8b08bd2fe002bd3d05103c44e911bc9d1114bd0b5526bd1875173cf20bc4bbb25f04bd11372ebda9ffe93b8409edbb5a0fe9bc532d26bd7255b53b17fed3bb46a89dbc11ce29bd24beaf39610504bcd30ce2bb23f825bdff4480bbc53b20bcd2a0fe3b213f0bbd7c3117bcefae4bbcc5ba8f3b4314aebcf6c79dbb18eaf9bbf57022bd7498823f9e11ff3dfadebfbcaf573abdddd96f3f2658f93db6bebfbcab8524bdfd0d4d3fc8aaf03de81fadbcdb8719bd9e33283f50e0da3d2861a0bcd02513bd2024033fcecbbb3d25a19bbce26c1abd6b86c03ee89f953d7dbfa4bc3f5f1abd77ae723ebd0d573d32d3aabc726b16bdbe76d23d68bbe73cb6769dbc5ca107bd3ae347bc9337083ce26a81bc6f0118bdf0372fbc77b5c03c8b003fbc3fc610bd50dcf4bcc41aad3ca0701abcbda813bdf26401bdea33813c476091bb4445fcbc98a62dbdbf4d523cfd6347bb4e18cebca73924bd0d27253cd05a79bb00a568bcc56931bd4e7b753bb251bbbb2d9528bce4960dbdea49b23a027895bb6a2a013cfd4710bd26e04ebba085ebbbb48ddf3bf2a6b6bc7fc8f9b9969d5dbb03ba3bbdc99b5d3ff9aa8b3e90c708bd0dc165bd7c654d3f80f8833eb8de17bd2fb232bd31d22b3f703e6c3e99dfe0bccd2743bdc31b113f4f06533e626ae4bc9ee830bdc890e03e5c142d3e72d3c2bc92e535bd4b18a53e5eab0b3ef9b4ccbc58b61fbd2877513ea283c03d791d9fbc328125bd9155b43da500713d1ce9b5bc70a1fbbc86cc39bcdb8fa23cf35c85bc272d15bd166159bc4b73003d594ff9bba54b02bd1ca6f6bc52fae83c3e9d0cbcbdd0eebcd00023bdb95bb63c8edd80bbfc9ec5bcac6632bd7a3b823cbd9d0bbb9dd9a1bc5d1537bd46a93f3c066b31bafc6e22bc3d3b33bdd255b83bde1cb9bac9cb8abaa1b129bdf5d40f3b384029bb968b1a3c5b3211bd77274e3af5d7f6ba8a1d873be64db3bcb7cb803b3bb6f039fb5d3dbd9094363fef80d83e75711dbdf64f6cbd88da283f2dceca3ee67a35bd6eaf59bde45b113fdbfab63e280d19bd94e04bbd6206ef3ef7c59c3e9e6100bd931744bdd8b0ba3e37ac813e40b4e0bcf0cd38bd3940873e64e64a3e6b16d0bc596631bdb35c293e51c9103e02b6c1bc679f23bd277c8f3dd945ab3d6e3ab8bc8fa000bd9a603fbcbc4cef3c05eb67bc4dc904bdb8cf82bc2a860d3d8f89c9bb2d69dbbc4d5e02bd6cb0073df6b297bbd47db8bca3911abd0cbabb3cc48aaa39a930a0bc7da332bd8578853c1c10e23acdf39dbc59bb12bd7cc35a3cb2b5a23bec71d9bb5d8631bdb77ce73b98d5ff3ad9e84839230e1cbd260a6c3b73f0c73ac5d9493c70de0dbd8771163ba9f0aa3a24e0b43b988bb7bc3272b03b34df973b9a4039bd5890103f41c8113fa5952bbddfa358bd8ae0033fd5a9083fa01140bdf2874bbd1423e13e92d9ef3e49d60ebdd0a646bdfcaeba3ef05ecf3e06a5fcbc699a1cbd23008e3e2ef2a13e361a98bc61fc31bd9e99513ee24b833e2e32b3bc56ef1bbd384a003ed408363e28079abcf70617bd9fee493de0b9d73d80fd94bc2311ddbcd63864bcde1ffe3c0a0127bc0c83b3bcfedcadbcef60113d251531bb03d15dbc13e619bd2f2d023d13e8a2ba72d53bbc9d0333bdcb0d9d3c47b5483b379df8bbc8e53bbd7f163f3c1392833b06ebb5bb741538bded68ef3b6b3dac3bde5e1e3bed9432bdb6f9de3a5c8d743bf983ee3b59de1dbd03e2f0b9795b883a544a733cb9d104bd93fe29b87fab473b587a123cb5a4b7bc1a208a3b261fa23b899428bded39d43e338b383f22802ebd1d6a4bbd60b6c03e66852d3ff44e45bdb1773dbdeb43a53efb78183fdd2a14bd368a31bdd326873eb0c6003f87e9e6bc7fce27bd0a06513e7d3cd03e70efacbc02701abdd72c133ec4299f3e8f319ebc257509bd18c3aa3da4635c3e192997bc38a2f0bca576d93c644bfa3d58bb86bcdd9cc0bc77e39bbc9f53013d4ef027bcd8a40cbc44dcdebc7064f93ca0c77838a06ad4baa4c124bdc113b53ccce9153b145f9abb4ab228bd41181d3c5ba5043c435ccc3a8dbf3cbda67bee3a9fe5e13ba35edd3a698327bdb26f87b92628f83bfb9b163ceb242dbdbbeea8bb2d0a9e3bf191fe3b476d05bd9d4c99bb78776a3bfca8863c0e67dfbcbe5284bb51ede93a11555f3c929d98bcaa0f9739d61a9a3bfc8008bd5134883e20675f3fe75c2dbd98f927bd7608743e484e513f015c34bd661e09bd5a9f503e5a7f303f213ec1bc792a09bd4375283ec16e183fe482a9bc451bfbbcc7a4fe3dd0f3ef3ea32b47bc6e58f8bcd9a3a83dd02fb83e6c774bbc67c2c7bcd78b3f3d95ef743eea0827bc85feafbc2bd0863bf77f053e14b659bcdc9c7abcd733c5bc7369c73ca32207bc878aaf3af4e3fabc6639a83c9c49b23b18d63d3cc73d27bdc420153b0d2ca43b359f203cac1433bdf77008bcfe26e83b5d9d2c3cdaba2ebdba5666bcf866013c4b1a2c3c7b3f22bd0a1e7bbc7dd3e23ba323673c73b515bd78df8ebc4e48543b05f4783c0f3af9bc325b8cbcc1a07039f73a923c799ab3bcb6bd5fbcfb5f26bb276e673c97ea7dbc6aeb66bb484c653b3a9ed7bc90eef63d1e23833fb9b008bddb49cfbcd4e3d03db7ba723f4cc2f6bcc599c2bce3e5b33dd9e7503f6bf772bc3895bdbce3da8d3d0cb72c3f8152b1bb1d81afbc276a493d0126083fc96e97bac8cd9dbc0b3ce43cceb2cb3e6847dfba30187abcae6dab3bcff7853e5e5a54bb24161abcce2a74bc57de033eb5a90cbc570513bc9918debc6de8273c5676aabb00000000000000000000000000000000ce0a443c5a5d0abd8aba12bcf493213c5a37473c49befdbcadc39ebc8f76003ccdf2353ccfe9f7bc0732a6bcf1a3fa3ba03f3a3cc8fbe7bcb796acbc44639e3bd3c3343ce6a0c9bc88dab6bc92a6263b14df5a3c8fbd9ebc9263b0bc42f513bbd8bd613c8b3b75bc0bea91bc672228bb0000000000000000000000000000000000000000000000000000803f000000004b5258bce15884bcc9d9823fdd26c0bb21832bbc81f857bcb9c85d3f6227893b4f194cbc71c15cbcc81b373ff6dd1e3cd81f33bc258582bc9fcf103f8836343c43c416bcb6f19cbc2850d63e6a301e3cf372bdbbe9a8bcbcfac28b3e9bf8953b019e65bbc15de9bc5e44053e36138b3a0000000000000000000000000000000000000000000000000000000000000000e31d073d50b546beb2771b3cd97cf93b9113ec3c0d4043be9274113bd964313cc36d8d3cb7c132be8e819abbd8a10c3c5abc593c602812be172406bc308dee3bd006073cad50d1bd2a91aabb1c91b23b19cc823a0a9660bd282abeba31c2543bbf83edba1f431abc968322ba2b36163a00000000000000000000000000000000000000000000803f0000000000000000a831edbd3f18ab3f9ddae2bda46a1d3cc181aabd3f308e3f59e678bd6ba1cd3a85d080bdcd9b6b3f16cd0bbd5301a2ba53293ebda992303f817c6cbc426db2ba2322cfbcbbfae63e786fcdba101ba4ba660706bafbae663e5559ec3bacb03ab99e7e773c02a5193c5247073ca6176f3b000000000000000000000000000000001ea8053d225903be8a36be3cccd0c5ba25e3453d730b3dbe4981a43cd82d603b5cc3273d6b4450bea2836bb829bd153cfa710f3d8a0840be864720bc250b2f3c2f9cbf3caf1f17be2d3d69bc8d413a3cdec7883cd701d5bdeff457bcdbc4033c25fef73b11c757bdab043bbcf048e63b139e12bb161810bcaf13ecbb0da4ae3b19a7c73a8aa5a63c14e76a39a63b0a3bdc973dbec458ab3f8db8383cb97d68bcd2292abefce49a3f14f40f3dc6ef9ebc95d810be19448b3fd9045b3d88c4d1bc7a2be4bdfd79623f55d3883d2df5cabcf4c49abdfdbb263f91ed983d651ec1bc9c2121bd54bed33eaa33933dfa5c9ebcf68cdebb6bd2413ec236763dd8146fbc9c58d13c7adcc03bafa94b3de0cd2cbcf127e33c7b0c09be3642753c16c924bb0c48cf3c6c90bcbd845cc53c8f34c1bb2f32253db43623bef5a6aab96ca9493b08fb193d27282fbeab35b9bc18e50e3ca147073d156821be196008bd38d5413c65c0be3caad4f8bdd8590fbd5bbe473ccc1f943cd843b0bd529309bd684c4b3c7f114f3c9e9b31bd93e3d4bc1e452d3c4f8fc83b3fae2dbcb37c72bc988b093c5b3ab43b8e714a3cabe178ba25ecfe3b97ba39be4d238e3f5cac633e8ba55ebd1d333fbe715f8b3f57eb673e89367bbda99521be0ca3733f6fa66b3e962875bde664f9bdc866443f904c603efa3d66bd246facbdd7cf0d3fa0cf4a3e716545bd804840bd4643b23e8dc9273e5f2625bd352088bc1d131f3ed611f33de0eaf5bc4d6b573ce3b5073a856f8c3da80f9ebce43ea53c0a34c4bdd5008f3ca08c17bc68927b3c297c95bda764663cb2ad46bc7df90c3df2cf00bea033d5bc38776f3b0189083df4e70bbeb88b57bdc11e173cacc8d93cdca2f7bd21ad7dbdcd50403cb340c33c1590cabdd2ec82bdf570623c69d8903c66e183bdcd7f59bd69ca663c196e3c3c36e407bd2f4219bdec06583caa55313c59a1febb908c9cbca3ba683c603e0a3c7d8c053c6650b8bb8f97443cbe6c2cbe5cf56b3f8caee53ed63ec6bdcffa33bea51e633fce49ea3e0025ddbdbfb013be8730453f2002e13e263bcfbd2285dfbdfc3d1c3f68afc93e449db4bd4852a3bdb799e23ed04fae3e89f19fbdd78839bd64598b3ea5d8833ebfd675bdf0c092bca883fb3da65b2d3e06b733bdaf63b03bf26538bae961a63dca1dd7bc5567173c15689bbd59ad233c794b7cbc43583f3c850b61bde8c40c3a65d155bc8f70c13c7b1fb3bd53eb62bde52c3c3bedf7b93c25eebebdfb0dadbdad210e3cd733ba3ca025b5bd9a19c2bdad9a5c3cb6ae443c0e1d87bd0e2495bda9be193c29b07c3c87ae49bd1e5d93bddde2883c054d4a3cc550ccbc85543bbd7aa27f3c5ee9183c7bac07bccf4fb6bc3a7a693c9759013cdb1de73b5df566bb5c52433cf7870ebe7a32313ff03e303f72c10cbe833d10be2167273fc6e6313f253b15be0029e8bd5cf50e3ffe4f253f410d05be6f12b5bd4ab1e23e26fb123fd714f8bd3fea72bd38b9a13ead25e33ec5d8a9bd307b19bd67f34b3eb347af3e429b9bbd0ab29fbc8c85ba3d8f71503e30dd42bd8eb0ccb825496a3b7358af3d1f6ae8bc68d79b3b7e506bbd5c7598ba05cb8fbc548cc53be69cf9bcf5bab4bc545a08bc632b853cb2c547bd42f2c2bde162d13bb6aa8f3c052a5fbdc47a01bec411503c630b803c443d54bddacc01bed67b833c9844803ca79a34bdee8dedbdef59903c4557423c534ffcbcaa64b4bd64e5963c9ac2243cfa50a2bcef2261bd81b18d3cd3721e3c13f401bc9773c5bcdc217b3c4b60d83b08139e3b616fe2381ee1553c45b6cabd0eeee73ea2bc6a3f51d52abefeb6c8bd2032d63e3d2a6c3ffa0638be96eca1bd786fb53e8027593f0e7c21be37e07dbd6f3a8e3e7147393fb58d06be35332fbdf85e4c3eaf5e133f0e4ddabd0644e4bccf7f063e66a5cb3e672a9abdc1e079bc3a2c8a3ddf44683ec6984bbd3d3b93bbee385a3c45a9983d2bc6c3bc5e69403bc25513bdec41ccbcc4ac82bc9779be3a42585ebb48525fbddc3de0b95d94d13bdc0117bc52360abeec07843c2397273c67dd99bce63125bed38b853c6b810f3c3ca693bc1d8627beeee4923cf69a153c085393bc399b06be1f03873c08dcf83bff5386bc3a3ad1bd91b7983c1872dc3b5db71fbc487079bdc512783cd0e5e03b9f43fdbbe6c7aebca349763cb39dc13b6ddd50bac1cc853bf8a35c3c6c6368bd5ed9693e03d28d3fb50f38be995056bd24e3473e7bcf8e3f12d241be016226bdea7c263ef345813fe4c723be5069f5bcb3d3023e915f5a3f735707beb19bcbbc9879c23de544263fe957c2bd86407ebcc57e8d3dfe3ee43eab538ebd1b9b00bcf19e223d5a62723e15b818bdaab6e6bbf92cb33cb553653d590475bc635832bb8ba9debb477660bd4f68dabbcb8d36b994bb5f3c40eaddbdaa87613cfead24bb60dafa3c89a631beea28d53cb7fc8d3b5ee8733c7cc34cbeb3a3af3cd8d3a83bb2d8063c92a941be870c9d3c2bcbad3ba0d1d3380d4a1dbe8dad7e3c1512a53be0cc0ebbb371e6bdb4297e3ca3c3973b7ae5cbbb9b3a79bdcc40453c1eddcd3b718965bc6f6753bcf058f23b911d433bd25354bb880d853cc0d1e83bb61f68bc3a1c883cc20bab3f92f540be302466bc768a833c7f319c3fe9c624be46ef32bc5072363c2c0b8f3f4a010dbe7100dbbb450f0e3c41056d3f9f22d9bd8cf594bbf1a9393c026e323f3d4492bd471263bb10e2873ceedceb3ebbb433bdfb3388bb7301b33c05a96b3e7c0d9bbc30140dbc5902113d80350a3d09deb73b939463bba34a413c3aa0e7bd55c2a83b0000000000000000000000000000000002ab843a142df03ccb854cbee269a33c91c2e53af325cc3c976948be5610563c881c2f3b2e28523c7ecd37becc10cd3b4072133bf843123c17f515bef31b5c3bde5d063bcac6853b7bf6d2bd091e883a0a598f39b6174cbaa22f5fbd071a453ad4a7d539110080bb4b96e1bba61e2aba0000000000000000000000000000000000000000000000000000803f0000000077707b3c8275fabda73dab3f9c8ddabdb236513cb377aebd4be98d3fc3fd76bda2ed2f3c81b18abd21686b3fb9110dbdcd0b323cec194fbd2a9c303fe55b84bc5fb8053c652ef7bc537de63e2a6396baa355a33ba4ba8abb31a2623e307c463c6ba6233b4ef1313c79fcb73bc4c2843c0000000000000000000000000000000000000000000000000000000000000000a677193db9a133becfa725ba367e163cc181183dd68d34be58664abb7178063ce923ea3c267f26be9b0c65bba4cd913b9d65c63cc8ee0abece56bdbb73cf363b95778f3cd7e1cbbd4fd374bb3c36013bd133023ca68964bd103471381efbb93a00544e3a556843bcb90d0b3beaaea2ba00000000000000000000000000000000000000000000803f0000000000000000e110e4bdbbb3a63f3a97babdc915173c52a9aebd6aba8a3ff10e37bd393a543be8c794bd634b643fe092b1bc5f68fe3a9aff6fbd4ec42c3f17c9a2bbc0480c3b8a9f22bd88bfe63e1c00813b1537153b215a5cbcaefc6b3ef41e923b2cecc83bb90b0b3c7630913c29da2a3bd7f3083c000000000000000000000000000000003b7b3b3dec240cbec450f63cd66af4bba834863d00d04bbedd42c33c10248f3a6e0a643d6a624ebea8e9f93bc2312b3aa57e483d462a3bbe32bf46bbc3a9113b5a401c3de2a516be8aa5b3bb1d8c063b4413cf3c4b74cebddfc411bc56c97e3bc6ea3f3c4b8e4dbd5f6901bcc477433bd7fcecbb52d9463bbc1d98bb29969f3b3f68caba7c33b83c24e683bba25f853b591328be58dfa63f485dea3c2df952bcef771dbed53c993f38e1433d8d8aaebc735d02be0fd5843f1c53a33db2bdc4bc1e7acebd6a7a553f33abc43dd71dcdbcbfb88dbdd25f1b3fe121cd3dda7dc0bcb2cb0fbd7c7fc23e5887c23d436bb1bcc252d4b9e31c203edde6a83d4b2287bc0b14283d418217bd0f73803dc4121fbc023b1b3df9fb1abe1474eb3c355614bc2b75403de824ffbd289e5d3db130bbbc79f67b3d5a9738be6400e73ca65756bc3bab5c3d158934be4cf0023b8f0802bc9a3f483dabc323beb78258bc0abc26bba7e1103d537ffabd0cdf9cbc9d9babb94c65d63cad84a8bd13e5d7bca973a73b0b0e703cba4628bd13bfc6bc9951ed3b8ce6933acee6133b7ed5b2bc9a1e2a3c49e0763a28a6a73c5b7d42bce66c333c28871fbec9b8893fb9c1703e741e4abdd8dc23befb4d843f26877d3e58826abd4faa00be26d85e3f5a77873e97876ebde058c6bd3891303ff2f4853ed76b75bd557d7fbdcf91f83e38ba763e192761bdb7ffeebc8513923e72a2593e766056bdb0ca9639e903dd3d8c32283e02b33abdcb49113de6935fbde9a3eb3d5a4b19bd4e29243d25450cbefc2e693d900eecbc15d61c3d5832e5bd22cc803dba2f12bde859643d80a11ebea0159b3cbf69abbc3ef14e3d288d1abe355159bc334663bc59812b3d7f4904be958dfdbc0fa6d7bb63380c3d7c41cfbd56b735bd056ba4bab569b73c4eb17abd6f3142bd37b8e03b1f2a663caf83debcf9fd30bda8cc303c92378a3ba99a823bc46602bd9b1d823c6978903b5f29813cea0da1bc029e713c77ea0ebea936603f76e4e63e2f74adbd50a40ebed178523fdff9ef3e6ba9c0bd5655e3bd4f3b2f3f4023f03edec6c3bdbd86a1bd84e0053f0995df3e6f8abcbdb8c545bd8b8fb63e3f8ac93edf95b4bdf4869dbc2a76473eac23a53e9e9aa3bd5c1fe13b0d85553d77ab753ec64b8cbde467f83ce02082bd3061193ebd3569bde6c3f93c9aaafbbdf0398c3dcca432bd8004043d387bc7bd1fca713da5dc28bd8c982e3d9ee8f7bd4f0a853a2707dfbc032f133d5fbbe1bd57c50dbda3c986bca5900b3dbdf8c4bdc90d78bd60ea0fbcfee2c53ca56f94bd405c49bd951105bb7841993c072137bd198e88bdd03d033c64de453c8c989cbc2e3557bde9c2613c44b7873b4fbcd53b050f27bd9f9b913c2d59993bcf87693cbe83a9bc0ada953cb68de8bd0f55283f527b2c3ffacbedbd7bc8dabdb562183f20c1313fafc502be3ee0a1bdb8fdf63e31b2283fbc1bf7bd657e67bd4bedb63ec5641c3f7914f3bd7b2b1bbd43a3783e61aefa3e8678c3bde48711bcd724eb3de3ffd33e52c8c7bdb631ad3b8062a73c2240913e65c6a4bdebefcf3c5bf185bd7ac82a3ec6b785bdccf8d03c2210debd9703863d9c315cbdb97cc33ce7a497bdf0ec143d764e1cbd4627f03c9440a1bdf8101ebd41cfbdbc8cafda3cb24b90bd9904a5bd153039bcb638ab3cb53d60bd8a1dc3bdef6f0fbbed919a3cc69427bdfe4fc9bd3a0f8c3b7d9d383cdc99adbc8bd5b2bd482b563cb52aff3b6a499ebbea6d8cbd4e1a8f3cf2e4013b84ed173cc9532dbd108da83ce6fc2d3b75125b3c91dd97bc57699d3c358aa2bd06c1dd3e71c7643f52aa12be235290bd9611bf3eb0a3693f2a2f20be063a51bdd8e5933e59235c3f270c17be359dfebcf5624e3efe11413fbf0108be38897bbc85fef53d21f2203f9269f3bd303f1dba06c7473d9cf3f13ea2bdcebd2b3a1b3c67444abcebeba03e07ddaabd5515a33c1f8a6cbdcc01223ee46088bda0b7ab3c8315b1bd023c373d255455bd58e75a3cbc6618bd361fe6bbb2cddabc86ca683cba7de2bc6a31babdeeba48bcbe98623ca049ddbc4e21f6bdd03eb3bb6a9d363ce0d484bcdd320cbe1d018e3ada170b3c1ec150bce96cf1bd51fae73bd6a7d23bc8cbb7ba11afd7bdc737683c7075943b99a1333bbeef90bdc98f833c03ccfa3a31cf053c307721bd894d943c692611ba978a433ce1ef30bc85fc8a3cafd837bd76f5613e5d4d8b3f8a1e22be2ac612bddb58273e2cc48d3f15692dbe62bdb9bc5724f83d372f803f714714be9c8937bc4e978d3d710b603ff8a106be11235abb4b300b3d5304303f90e7d9bd65746d3b78fc1cbbb016023f4775bbbd9234033cdb09bcbcff6d9e3e11908fbd6651493cb0c215bddd35ff3da0cf4bbdbbee5f3c02f94ebd5f03d9bad2c71ebdd3535c3b0db485bbb04892bd52431bbcd7ca22bbeddcfb3cebf720be842cb93bcb74eb39e44ebb3ccc4e37be4c1aba3b62bdae3986feb33c459c32be90afdc3beeabd239fffc953cce9319bed27d0b3c7e2efeb9050d8c3ce4dbeebd4f78403cb58d183afac5363c090195bdf00c573c3ca3203b9d6d00ba34e4adbc88175e3c2c7f93b96f88963b6f8c6d3be8152c3cebca32bc3f4fa03c2e8ba73f581727be28a502bc979ee5bb4e1e9e3f2c061abe75f534bbfd2ca4bcd73b8f3f8f3400be7751153be52af0bc92626f3f5563cebd48e6ab3b702b0abddda1393f49469cbd851ed03b2b6503bd065b003f63606abd40ab8c3bc225bcbcb59b8d3eb84a20bd69bbcdb9d47d253bebdb7e3d4721a6bc0650793b1d4375bcfb739abd6a019bbc000000000000000000000000000000001556b7bbb4b0103d0e3e38be9487113c10d89bbb54421b3dfc723dbe9495e03b22a540bbd073e73c87822fbe99a3e33a70741fbb66abcb3c248515be1c5ae83a8e3462bb5c10b33c6a2ee4bd04c9cd3a34a330bb1e33773c966a86bd5b52133b83bbc0ba392ce43b6ef9a5bca9e1553a0000000000000000000000000000000000000000000000000000803f000000007574733c7fedf6bdf6a5a73fa5c9b7bd28d64b3c7441c6bd0c738c3f809d4abd150c4d3cdde0adbd62da683f61e5dabc5609363cd19093bd42e3313fcda43bbc1b731f3cc2485fbd16f1f13e9e1143bb73436f3b2309dfbcb5e37c3e4d7c833beb4456ba9c526abbcc5eff3cc234f23b000000000000000000000000000000000000000000000000000000000000000001cc693cff3fe9bdbe15933a1a8e9fbb16f1923c8be1f5bda917013bcbd7adbb1063363c5e05e6bd8eb6873b646624bc1596573c19a6d5bd2795b33b02d444bcc49c3c3c9453b0bd37f70e3b481b2fbc792e503c206280bda64c64bad857e5bb21cd2f3cbded11bd45a286bbfa9592bb00000000000000000000000000000000000000000000803f00000000000000005f6491bdf2d9953f26ce30bd4cff123c0c2d6ebd53be7b3f03a165bc8860953b3cca4bbd95de4d3f9a329a3b26fadaba358d39bdd508203f62ba5b3c4a0b9ebb40ee16bd876ee33e156d703c5373b9bb94fad6bcae3c863e8d7e123ce553a2bb874b8fbc7fa6ac3d970b3b3b10ffbabb00000000000000000000000000000000ceafb63c3210c2bd8d44e73c73159ebcdf96443d9ef21dbe3cb6a53c552c3dbc997f203dcf5821be801b673cb4b366bc2cfc143d1c0118be9d843f3c4bc97fbcfb58043d81af04be26c1153c08b182bcb989f83cab50d9bdbc48d23a006239bc96efc63c44fa93bd9d0419bbd487d5bbf774883c98c209bdf62cabbb2714df39a3b9903c39c466bc563ee1bbefdd0b3b370ed5bdc341953fabdaae3dc65384bcc6bbe0bd96938c3f62d8b53d428b62bc2010babdce07703fc912e03d1477a1bc082e9dbde50c423fb944ee3d53fab7bcc9d57cbdd18c123fed0be43dce3fcebc475a3ebd440dc93e1430c93d09fdd7bc714ed5bc6fdc543eebce9d3d2d0ac6bcdbe37db9f7b0153d6ba6543d86b5a4bc9a405cbb924e9abde1e8df3c5addc1bcc83b003d1fc7c6bd8be75b3d41a4f2bca0dd413d050216bebbdd353d44f0e5bcfdc9193d6e060ebeef28f23c89b6c3bc37032e3d3b1f13bee2ca903c7ed8aabcbc660b3d257ff6bddc07263cdea481bc343f0b3db5f3cebd3c6745bbf14440bca78fe63cf7a891bdd19a8dbbe7e0c1bb1c3baf3cd16e15bd29614dbc9b25803a16049d3c90b582bcb38d0ebc86a6cb3be6f6d3bd6cde783f9f69873eff1332bd3957e5bd72566d3f64de863ec17339bdf1abb5bda0d9443fbe14873e7ad542bd84be9cbdb3fd213fbf81813e3b2452bd95bd6bbdfbcaef3e296a673e800252bd636d23bdc6d29f3ecf944a3ea7c157bd5ed1dcbcad412a3e593f1b3e777d49bd6118d6b937f0873c8638dc3d014a3abd7627893be9839abd77776a3d369d1bbd50f9d43c4941bfbd93bb903dd0d21ebdf2993b3d70ad0bbe292a5c3dccd716bd7a81333d4d8610be0edef93cde94f4bc36a9263d71b205be2350793c640dbdbcf607243d36adf1bde3ea983bd8df9abc30bb0d3d12f7bcbd3ba0e1bbd2742fbc7462ee3c842f89bd78e783bc38198fbba944b83c60db14bdc60b97bc9bff443b3bdaaf3c4b23a9bc626811bc8271fa3b57e9c2bd3bd3493f6d19e53ed7008fbdf819cdbddd403d3f44b8e43e405195bd7143a7bd635d203f3ec8db3ed4fe94bd332986bdf36ffd3e3960c93eea7a93bdc1cf4fbda481ba3e5a32b23e7c0d95bd270b0dbda908703e8638933e31928ebd22f881bcb9b7df3d69b1633e0f3489bd2b6d073b9eff1cbbad4d1b3e9e4380bd9120a83a2e4195bdff8ea33ddefc51bd0b39df3cb0b9b8bdd19a9a3d41ac23bdebc1253d72f2f7bdae55523d34dd1ebd01e9153d556cf1bda87ac63c3f74dfbc12d12c3df525efbdfa3da83bcca2bebcf186e63ccb1eb9bd1151823b18711abcc92e0c3d23c9a9bd840d8dbc16bb24bccc6acf3c5cae65bd1f5994bcc7ce83ba1e39a63c9e7301bd7069b4bcfee6983b5687a03c69f98ebcb41037bcfc222a3c6856a6bd3c171a3f4991213f3a34b5bdf6aea1bd7cc20c3f7f53203fe3e7c0bdb53a83bd83c5e93eeffd133f0ed4b2bdef9c61bd1600b93efd40073f5cb8b3bd412d28bdbc57853e3efad63e1ec392bd3729c9bca582213e90aabc3e478ca3bd532739bc1da6863da8bf883ebca190bd1f14a53ba037a8bc9065373e10468fbd5aee803b387194bd7d27b03d488660bdd08fce3cbdf5a6bd07c9853d1e4118bdd845103dedecd1bd877ceb3cbcfe14bd09550b3da86acabdd08dd0ba460fe2bc03e0003d21efbabd6868a1bc5ce493bc3398023d4107a8bd9d57dabcd9de3ebc4681d03cce327bbd052d09bdf073c0bb2ebea23c058d26bd80e20cbd8426bb3a241b5d3cb58f9fbcddb9f5bcf5c4fc3b37ff613c29101abc5b2f67bc8242613c49077ebd433dd73e636a503ff6dbcebd9c7565bd3925be3ed5284f3f7e98dfbd12f236bd18f69a3e5e9d3e3f5cc9cabd7dbe01bd24206b3e1c38263f765ebdbd8539bdbc3d02213e24590b3fe874b1bdd88641bc96a8ae3d0937db3ef0e5a2bd8c79ceb8a1d7923c46389d3e1a309bbdc805333c8d1f20bd81dc3f3e8af18fbd0eff0d3c3bf091bd3c9e9b3d926858bd57eea33c23ea7abdf12a0c3d695c04bdd9d0c43c4b5792bd4ea12ebcdd87fdbc00eebb3c6f3d8dbdac17ecbc7df793bc7191c73c3ce382bdf1b34bbdf9f864bcdd8e9a3c985559bdeceb47bd73f0e2bb74898b3cd75f1dbd98f356bd0185faba5d1e593c2a01d5bc03ee29bd1e7d893b3b6cc53beb59cdbb2bf10dbdcc3d073c203eb83b2a3aae3a677163bc990a3a3cc8f91bbd355e773e0e0e7e3f3998d7bdd49df0bcd857493ece877b3fde57e6bdd4b5b3bcb976243e4f9c5a3fb3e8b4bd9a6076bc12cfe33d3f01423fbb29b1bdc5cbcebb59ce8c3d671f1b3fc56093bd872955ba9001c53cf05df03e02ab90bd33493c3be5b103bca956a03e38f671bd4a25653ced894bbddd79323e1bf87fbd6e8a353cd08681bdf08f443da5cc45bd9f68573ca8c725bd194df3bbaccda8bc24020b3c4223d5bc65f998bd8425b1bc2d10253c604dddbc5d78bcbd98a459bcdc072c3c2194debc000ebcbdf6bd15bc604a1a3c2256b1bcac15abbd5855abbba83fe13b9ade5cbc40f29dbd65a2d5bac877673bf04897babaaa78bdba7e103baef250bb1c30353cc47f18bd07bbd33bc46356ba76af3d3cec5e8ebcdc5b213c8a9263bcd1ba8b3d0bc0963f2904cebd3bdef1ba02f51b3d5056903fd875c5bd7d7c1eba22c5cc3cb9b27e3f86b399bd5d765e3b08e41b3ca88b543f5dde6ebd34cfa83be403ffbbaf3f283f03ca3ebd7c99043c7bd2c5bc7041f83e4bf92ebdb6cc063ce4351abdb7c19d3edf2227bdda293c3cfa643dbd17fa083e82bf2cbdbe5b3a3caaef5abd857c993b2ef809bd000000000000000000000000000000005176643b4aa63abce7afb7bd85888abbde8c163bc432a5bb1a72d3bdccbb89bbe4e8993b58602dbc36ebc4bdc24321bb0c816d3b4fa1dbbba8f7b6bdd729cabae472dd3a8483d7b9319ba0bd016588bae7bb38bbecb1013c444379bd56760abb9a709abbf5665f3c2d5f26bd46ae87380000000000000000000000000000000000000000000000000000803f00000000e82a403cbcdc90bd9e66963f197137bdaa9a5e3ca31679bd494b7f3f5521b3bc51af463c7ceb65bdffea523f8f720ebcebc14c3c273361bd9aef253f1f8428bb43a42c3caf554dbd8c84ef3e246eedb9506e2b3caf2a3bbd25d6923e024d84bbd2c7123c42c02bbdfa09e43d88f012bc0000000000000000000000000000000000000000000000000000000000000000c473653d8dd359be9e24aa3bd63aca3b12e3353d5e6f4dbe91ab5dbb5c4d3f3bb8830b3d1bd146be694966bcc416e43a8658d33c76821fbe8fea82bca66ab8b88c907b3c7206d6bd546b56bc05ca80bbe4f1ea3a164e57bd54c743bce2cc6bbb2fe763bba249ccbb36903dbb504375bb00000000000000000000000000000000000000000000803f0000000000000000743fffbd3d90ad3ffdc2f1bdb9f8073c51989abdce05903fc74e75bdce4955bbb47a73bd988f763f54bd31bd4c8cebbbe51717bdd331393fb569b5bcf1fae6bb255480bb86c4eb3e1d09d9ba5012e2bb88628b3c0ff26c3eae4dea3b39eb66bb961b193d9a7117ba656e283c1e1b703a00000000000000000000000000000000c829713d693b1bbeca55083dba1029bc8d03703db08032be387ca93cd19158bcdefe5d3df10754bee42585baf9e8c3bb17bd333d938f3ebe3bc46abcc75a73bb41d9fa3cb1510dbe775bb9bc53869abb6d24903c1d28b9bd7636cfbc72976fbb6088333b798c09bd1739bcbcf54488b906089cbb84b804b7a9f7a4bc8e53ba3962ce71bbf77c083d906f3dbb9b802f38c8834cbe2de4ac3f254703bc73a61bbb6f5719be8213963f6e8e4b3d70e9a3bcd21c08be001d8c3fe35d593d8a66eabc888cbdbda9e3623f2a27993d951e03bdae1c58bdc01c243f1014b53d04d706bd773253bc8f00cb3e708cc03da1be13bd8075973c7d0a2c3eca2ea93dceedeabc8b5d143d37541d3cef39833d5fb0cdbc9295493d7a9c28bea69dfc3c790343bc6fac283d96c4dabd812e543d3084d8bccca0623dc97826befc52433ca12999bcc27d523d1d7531becaa689bc555139bc4b3e1a3dc2f212be016310bd070f2abcff9bc73cfb36d1bd64e22ebdd852d7bb9c7e4a3c0fa34abde28f40bd704057bb37b2943b8a3818bcd5d328bd6426143bd782a5bad5be733c3eb6c6bc86bfb23be86e07bb66d8ef3cf8dc50bc2709d53bece33bbec0d18d3fa4ba4c3e6a3b22bd199e3ebe8b398b3f2ee8613eadd562bd27a216be0d05733faebc733e298e86bd3320ccbd711e3f3face4793e62f88ebd9dc55ebdce88043f921d713e04478bbd5d1d6cbc92cc953e43f35c3e489088bd4540553c088bc73d75492f3e1e216abd4d3dea3ccb2c07bd658adc3d3d5f37bdd59de13c86e8edbdf916523d41f4febc3cc5043d08eebfbd2b204f3debf713bd0387323d4a88f8bd2bd805bc00d7c2bc965c1a3de46ff0bd11283dbd6c0d7abc0557d53ced37c0bd9b4085bdc0073abcee75803c0b4953bdb17f9dbd9b81d2bb3cc9a63b943776bca9c599bd6114173a844da339c5081c3c71456fbd6bf7053c4be1af3a4525c83c715b0cbd10db3f3cb6368bba5aef103d8ad08cbcf2d96b3c554e35be9bee6f3f2befd63e7403a3bda9a12cbe40de5e3fd7dce93e85fed4bd8ba603be6dfc3c3f18afee3eb314ebbd382cacbd9dcd0e3f2a02e63ee4b7e6bdd6f728bd30e1b73e3da1d33ef39ae5bd20f721bceaae423e8c19af3e5726d5bd6483b33b751d6e3d143f7b3e66b7adbd4a21763c90b01dbd5e0f093e7b4b7fbd6aa8893cfbc2dabd2ded4f3d2d1d2cbdef2dac3cb94281bd5d20173d15d821bd345fe63ca69595bd9c6919bd3db3bcbca10fcd3cc33d8cbd5d44a2bd0e0283bc94d23c3c920b20bda07dd4bd47b857bc7f0f6c3b7a7967bcbf8ecdbd1bb3bdbb55750f3bf04b0f3cbc6ec7bd3027a33b212640bb1044a83c0efd83bd8c63363c6d5344bb77c6e83c736420bdee08833c2c9c93ba0cb3093d1edf94bc10fd923c866511be2ba1313fb85f2b3fdec401bef57e07be5eea203fdf2e343f347c17bedb94c3bdceb8023fcd02323f21911fbe33de56bd87c1b83e2970273fa9471cbe4a5accbc2501623ee8960d3fac9509beb44cd8bbbe0ade3dd276e03eacd504be730d4d3ba740fc3c7e698d3e0c5ec1bdf45ef63b3540febc2de70c3ef19786bd9d03b63bee5ba2bd38ed153d7f2c41bd9280fe3bc0d8d1bcaa71b03ba17708bd9c0b803c60dad4bcf62c9bbd2a7c83bc1552353c38c588bcf445fcbd246d4abcf3fd223b77c5ad3ab11f0cbe1e4708bc086f37baed17423c22a10cbee13ebc392bbaa2b93a9a9a3cd2c2dabd1d961f3c3b2b81bbf2b3b83c0ac193bd4624543cc1ab05bb08c2c03cd0cc17bd4051853c8791ffba1ef7ca3c3a4369bcfa39923cae20c3bde608e03ef41b6a3fced126be44acb3bd7815c53e30726f3fcf873dbe64bb61bd76e3923e448b673f198f3bbe5479e8bc612a453e595b4f3f4ef62ebe4e6849bc7352eb3dfc712c3f4fc41fbe7ef20ebcebd2823d76d9f53eceae02be574bffba10b5b83c0a41933e6baabcbd968b3abb958a27bc9ae7f93dbadb6dbd42df11bb83e420bd48a25f3bc52234bd6c0f81b92b5ae63b9bd9eabc53d77dbc74dc7e3b91957e3c7c2f00bee6c787bb209e64395cf2c73caa7d28be4f0314bb2178f9ba9aadc83cfaf831be63098e3b22bc5bbb9c28cf3c95051ebecd1de13bc79832bb1938b33c37b9f0bd6698363cc68391bb15f6933c66aa8fbdd988513c468f3cbbadd0683c6c18f2bc142a493c9ab1b3ba6e9f673c996808bc58158c3c66115abd79715b3edb5c8c3f2b2533bee15731bd8ede233e5e41913f8dc74abea647b8bcf3d4d23d6066883f9cc841be248b5dbcbc608c3dbdf16b3fe4ae32be6c3187bb2cd7213dcfc6393fbf6614be09482ebb5304ec3c426a003f7382ebbdbf3b89bb27569a3cdcf38b3ede7f95bd0cfae3bbc0f4263c3498b13de93d24bddb9939bcf52e3bbb768fecbc585dc9bc7ba897bb35200c3d3b3ae0bd72494f3c08ba2abc25d2283d348215be4fa55e3c01982bbb8fab1b3da9f149be6c90263c90c8b2bb1cb10f3d31b943bef1a71c3c8aa9dcbbae7cd93c611824be21e2c33bac73cabbf050913c82c9e9bd3e05203b2ae28ebb182cd13bb46077bd5aca553bbb8126bb1a31223aa7319cbcd9d582baa92767bbf3894e3bcb05383c1accdf3ba8920bbcf6e90fbb5d67ac3ff6784cbe29fc18bca23a8d3c9437983f690f21be8a1f1ebab0488abcd738923fde6d25be9df6a23b756a7fbcdd07743fbed508be2612093c25bc38bc17133b3f2afed8bda998bb3bca713f3b0db5f73e4dbb92bd2a9e9f393f34ac3ca1f3773e8aa419bd77a1d9bb8805cb3c82c3823d21e8a9bb48fa28bc5bf1e23c891bedbd0eea113c000000000000000000000000000000000fe107bc35f75b3d35065dbe1fc7d33c155cebbb6199273ddfcc4abe8864203c88e5bfbb0054003d8f0744beb52189b91805c4bb2e7fb93c41c31abe7e80adbb4573babbe7622a3cc0e6c1bdb8eb24bcd54be7bb2db5283b3b5643bd42d244bc89d192bb8e79dcbbdb7f1cba744222bc0000000000000000000000000000000000000000000000000000803f00000000928ab53c27c30bbe4ee2ac3fe00c00bea3a9a13c65a2b8bd06068e3f774893bdf3c2af3cf39b9cbddc566f3f2ac46bbd7c589a3ccc1158bd3692303fa794fbbcda03613ceb689fbcb43cdc3ecc31ecbbe4ac053c0ef0e13be375553e5a6c223cfb8e833a54a1043d0a5885bcbe27db3c0000000000000000000000000000000000000000000000000000000000000000b66b633d036453be3766363a4e27003c899c333d286d4ebebbfd173c8232663703eb183d60ad49be3a78353ce31a01bb8ce7e73c99ae26beb0cc773cde98d4bb54e86b3c270ae0bd3d724f3c394c0bbc014f4f3a90605abd10f0323ca1b4dabb90c627bc86c83cba7314253c0efa0abc00000000000000000000000000000000000000000000803f0000000000000000d14005bed2f7ac3f4e1ce1bdd109133c1809aabd84848f3fe89599bdd421233caaab8bbd3f95723fc21f8bbd394b863c399732bd3223353f029b56bdbe79ac3c6b4266bcdbffe73ef69420bd4145ae3c3a51343c6bee5d3ebaa8b5bc45b9a63c8d0e173d185c81bcddd941bc60b99f3c000000000000000000000000000000003a0d803db23b38bec239583dfb597fbc9b156b3d08fe47be6462543dc637bdbcdf62543da5eb59befb2a0e3d72819fbc1940183d395b3ebe3789d53c5aa795bcaba6a43cf4190cbee12f643cda288cbc98359e3b03d09bbd856b193b634f46bc8a4afebb40efb6bcdd5ddebb7217d8bb050190bc47f3823c6f5e25bcddcfc8ba4704b2bca22a613d1c661ebc0cf1883aa11838be7b31ac3fe2cda0bc33eefeba2d0307be0d58923fc0e8063ddd53bebb7300debdff61833f3fe1303dadfe35bbba3b82bdeb114d3f3859843d944bb7bbb621c9bcb8b00e3f10c3a53da37a93bb765a043c4895a03eef87c03de6dbd1bb76ab063d34eac33d426cc33dfb234abc1fcc4c3d25755ebdeb7cba3d6d1398bcc3758c3dd93b66be594e873d8e6b49bc41f3473d97412abe4fc2ea3d3b1f49bdd0055c3dfb5b48bea0fb993d531839bda1d8273d3d873cbe062d343d12981dbd4afacd3c05d90ebecbff983ce29b02bd6977253c0c70aebd110ebbbaee7ed3bc755f19bba503eebc0d55c1bc0c2284bc80fe17bcd3d82b3c92390ebd792422bb502c93bcfbe5383d49042cbdc461dd3bbecb99bc3e4e7d3dffdf1fbda229953c0eba12befc688a3fe3731e3e4d5863bca7a507bef1e97f3f31ba473ed0cbbebc4b4bb2bd1878523fcda36d3e19ffe5bc4c382fbddd6d183f8683813ed8f50bbd920a99bb185aba3ea870853e305e14bddfc0a03cfab01d3ecc4b853e9ca62bbd7abc1d3d3c6f5cbc99fb6e3e2b0d37bdf8215a3dca4c08be9383463e102350bd600c603d58f056be8611163e0b325cbde635113dc8f620be6e44153e23e595bd15cb1e3d886a1fbe16eb9e3d0bfa78bd2282c63c0cd100bea551e53c87b255bdbd0b0a3c235f9ebd2037ecbb5cce19bd34d0b0baecf8d1bccafd2cbdf2bad7bc96e4febb8d69303c120d86bd0cd00ebca35466bc20c62c3d4e1a9fbdbc4f293cb51293bcb790753d880f93bd0294d03c285081bcdb7d863d612583bda9da153d1a6eeabd5eb65d3f549cb73e15e907bd1870c6bd57bc3e3ff2d4db3e482a5fbd31eb60bd177e113f6859f03edd2480bd7af36bbc5c66ba3e0ed7f43e515692bd1a961f3c9b68323e2708f53e68b7a0bdf1cdb43c307a0b3d22f9dd3e2e42a7bdee56113dba04a4bdd261bc3e261cb9bdfde7333db31720be15ad8d3e79a6b5bd950e133db67c44be295a3d3efb05adbde0bcd73c91bd00be383a0f3e1396b1bd454a9d3c5ac2d2bd1a84543da07983bdd8891a3cdbac8bbd097f11bcef394bbdd8fe6cb98b3d94bc9e1f70bd3f540fbd8c16bbbbce498c3ba00da7bd4a7290bcd74936bc9485313df749eabdfc2def3b10e533bc3b9b573d10f5d5bd1528dd3cd1ad66bc6d266f3db4cfb2bd57fc1d3d6cc645bc18f4733d211c89bdf973443d716c9bbd637f1a3f8aa11c3fe42e86bdda4564bd52a5f73e9f9e2d3fcf36b8bdbf0ebfbc4712aa3e2d19353fe7c2ccbd95960639cbcf293ebeff343ffddee0bde6e5723c3452533d13c0253fcda3e9bd1f71a43ce1bf40bd766d133fd09200beeb1ac83c033fd3bd8d71e13ef20b00be8567dc3cfaa40abe8a81993e36e1dcbd05b7ab3cda5f1abeed16313ec339cabdd793113cb06c96bd602cc63dde039fbd550b903b0f381cbd04bb1fbcb29a4cbdc1ce30bb8a74aebbec6692bd10d70ebdb029f0bb676ea33c4af5e8bdc2909dbcf39e23bc227a3a3da69e13beb65acb3a64cc1fbc5c164f3d45bf10beeac0ca3c48a639bcbc215b3d3fdff7bd8e641c3dd35f1dbc4f24443d66deb1bd3020373d35fcdbbb0b11263d807a68bdbaa0473d1cb626bdad52b33ed7d45e3f676cd1bd780ee8bc1eca803e026a6d3f625103be4ba318bcb72d0b3eadfc6d3ff0810bbe73a9473b4754333d00ec5f3f08290ebe471d213cde9e05bde2504a3fc86219beafe13d3c080585bd38e0213f520816be6da0613c7f09b4bdd7f1e53ef5b404be281f3f3c730ebabd35a1873ee235d7bd27a7cf3bba86b4bd3ba2f43d1f02bbbd8e70e8b9a82d93bca551e03c7d103cbdbcea89bb35e4763c7b7aa4bde6cdb2bc83e5c7bbfa55023d4f040ebe310747bca7dfdebb2fe23d3d805a2ebec9a8983b146d04bc7f0f513dc45a31be491fc13c1bc4ebbba64c453d6ba21ebe00d50d3d8e7ae0bb52ab223dd8d9e0bd098d223dbf59a8bb87e7ed3c4d5f89bdf82a243d59fa24bb0326873c70ef05bd0bb42c3dde288ebcd22b113e2ff78a3faecb07be6f6c54bc55e5943d5538913fc2f021be5083c8bb29cb5e3c7ef08b3f78ce1dbef9dd0dbb5d41e4bccf827d3f816c1fbeefe9a33a3c644ebd8651543f38ec1fbe1a58b439fbe850bdb14b1f3f18500cbe4732ae3a599e50bd16b0c93ea04ae0bd895f32bb4569fbbc4b543b3e2b8697bda44591bb9dfaa6bcb88c063d404572bd80d1e3bb29b8f13c063fb2bdb6b985bbe83a09bcf157293d56b505bef274243cf62b08bc6819553d7c6c41bef7a3613c8effbfbb4b28583d789d4abea1c2b33c6cefcabb98433b3db87034be619ece3cd0489abb568d0c3d677e0bbe19ebe43cc206eaba0a94903c7102a9bd7675bb3cf982b3baffd2cd3b1d0215bd1619973c5cbdc939025ddc390914cb3bd3b4a23c8128d0b9226d0abdfddeac3f70332ebe0cc5b5bbb1bdaabc3315993f96a90cbeed2807ba94eb5ebdeb1f943fdedb0ebe464455bbd1cd73bde0067f3f4bb408be49bce7ba372a50bd3249493f958ce7bdc93382bb93f5efbc71a00a3f0463b0bd1dd8a5bb1cda19bc09a3983ec6565bbda20904bc7240703c8ac6bf3de5df8cbc20fb28bc442ce83c30b7cebd357cf7bb00000000000000000000000000000000f3934cbce0758b3d5a005bbedd41f03c76bc00bc7147743dcd2b52bea19ad73c4bfedabba3ba4f3d90504abeaabfad3cfc7facbba4751e3d6e7624bee81c793cb10e4dbb92b8b63cf6f3dcbd6937163cbad206bb0812e73bc63050bd80d29c3a102b96bacd9ec0bbe35b8a3ab0274bbb0000000000000000000000000000000000000000000000000000803f00000000de64fb3bbf3008bee18dac3fe08de8bdc44ed9ba0019bbbd7a968e3f5a4f94bdf93d2abbca6e95bdf86f6f3f119e70bdceed3ebb263d54bd01bf313f9f7e11bd00feb2bb62218fbc36dadf3ebf2052bc97a3e4bb15433b3c97bf523e41b1043c0aee03bc369c1b3de06eeabcfdabef3c0000000000000000000000000000000000000000000000000000000000000000e6b1373de3844bbee162b43cde839dba3d97133d8f774bbee7fa2d3d346a5dbc9dd1df3c836c41bedfa0713debb2d5bc06d9a23ccec221bec7fa823daccb03bd931a213c5e4eedbd45b7793ddd0d04bd9451bdba74bc68bd0abc383dc0a4c8bcea7900bcccaae5bb1a00ea3c4a199bbc00000000000000000000000000000000000000000000803f000000000000000012adcebd23f8a93f1fc307beb8f9893cd00357bdc6f08b3ffc60e7bd5a12e33cb74a0abd084b643fe755e3bdf38a353dbe346ebcf8f6283fa7dfc9bdc5b84f3d11fcd23baa58d93e63cea7bdc782543d2956ac3c2a6e453e32e780bd4f43443d41d4023da8ade0bc7aa908bdf33e173d000000000000000000000000000000003b5f633db22045bebe3fa63dda63edbcc1a64a3d0ebe69be33ca9f3dcc10eabcf3e50c3dc32162be0bb1ab3d2a8326bd4827b93ce07843be3d019f3d33e735bd5147003c71850ebee391843d1c132bbd96c965bb72899bbde76e2d3d9b4d03bd02f43abc97bd9abc5a639e3c61c7a9bcf34894bcae72223d84981abbb24fa8bb08279dbcba36843d5f5fc9bce4261f3b34affcbd9d12a93fd0c249bdcc5a783ccf7d8abd4128953ffc3c98bc0dc30d3c0c81fbbc0642783f0d7059bb5021d13cf4aae73a9f303d3fcf648a3c8d17023dfaa8e83cd65bfb3eb99c243d69a9023da2f0263d01467f3ec9b0703d21ead43c48573f3d41cd133dc152a53d1b74453c81a53e3d55010abeb38cb73d9b5415bafa85503da4ab7ebe99f0ce3dd240a9bc08c7303d51353ebeca80203eb7ec94bd4a7b0d3daa3158bee6000d3ed5a296bd4602ab3ce8f939be1748d73dbf4791bd4297c93ba0e80bbeb3c9943dc51c82bd4da228bb816eadbdf57f293d6f3c54bd00a13dbc3ef3c7bcb28dba3aea200fbd702d62bc12d3943c30e9f4bc35a67cbc199d9abc19be833dc4cc6ebdde019d3b6741a9bc252fa13dc6b995bdd918e53c6dce83bd9a2c843fe5b6ec3ddf60ca3c0efdccbc87d96a3f4e810b3e63acb63c27b2b33b0e49363f59f1413e32339c3ce4c30f3db7b5fa3ec0e5653e717b563c2e27443dba958c3ea6df823eb3e5cbba427e4d3d8f64993d24a68d3eb3c78bbc9bfc3c3d2b4489bd370d8b3efce21cbd39f22f3d77de48be9f89863e3d296bbd124c343d72b67cbe6d925b3efb63a5bdbc3ce53cd7ca2abe3d04473e65f5d9bd8a9b8b3c14652bbe15ae193e1176cabd33259f3bf50800be713eb53dc3feaebdcc2cb5bbdce79bbdafc2273db7498dbd1e9d3ebc1b4fdfbcd5b377bc74cf3cbd9a045fbc565c913c0bac66bda42ebdbc1da382bca0ed553d74abb5bd23949d3b8f7b86bc7cf39c3d21cddabd0bdaee3c610f7fbc29139b3db619cbbd26c5313de3cfe7bcbc47463f3f95a63e2ba69c3c70f8623c0933223f2ebabb3ecff7543c2108103dc2dce43e9000dc3ed2ab8abb2c02423da82b833e0e8dee3e6ebba9bc8a684d3de740b23dc760fc3ecbec32bd160f213d266d1dbde3d9f33ec9668abd8aad133d9b1c0ebed2a0e23e19a6c5bd11f7de3c3bf24fbe627bc43e88e1fcbd1243d93cbd6562be567c8f3e83110abe31a85f3c4e2707be83a3413e48beedbdd5fe36baa27adabdfeccf13d29f1d4bddc809bbb47718bbd15ac373d9c8d9ebd82b750bc5c42a3bc000dcdbcfab367bd3a6c13bc0ae293bbb3c763bd300bb8bc53f071bcd37a403def48edbda69db53af4a54cbc96ca713d36d400be9a72ed3c5cec37bccd03933dd87c03be265a443d8acb2bbc4b4f8d3d0388dbbddfb96d3d6e6d033c2b53023ffaa8123f140fe7bb0cef283dc4e6b93e9020213f46e081bc6c562f3dbcea653ef1f22c3fdb3c2ebd17e93f3d7417973d7143353f77fc89bdb255143d40913e3c5527253ff587d0bddf29f43c2014dfbdc7a3233f867600be5eb79b3c1e5e13be322d083f84a41bbec8bf0c3cb78f2fbe4f49db3e8e9c2ebe80ae173c7dd734be433e8f3ec2d823bebae3433a58eeaabdd008103eebd6d5bd758102bc6d1a3dbde5a8473d2925b3bde22d30bce74828bcc16d0cbd285774bda10f30bc3efab23c3bdebabd8ea6f0bc7f074ebc0f743d3daa120ebe002b473955342bbca7ea6b3d53791abe95d3d23c790a0fbc6a637f3de08e17bebcce483df978ccbb876d733d0e8801be0764753d635dc9bbd937573d37b6bcbd9f02763d5bceea3cfdf28a3efc6e553f4b742ebdd0d6233d17f7163efd24653f13d669bdc0ed0e3d692f4e3d706f6b3fe137b0bd70a2b73cc96acebc32d0623f5a71debdc9dd993cb146b6bde14f543fc46f10bee6c4f73bc504e5bdd610353f3c9b28be4fcab23ab79cfcbda3f00e3fd27d3abe3510f7bbec16edbd4f0ec93e1dce3cbe6da3c0bb181fe6bdbec6603e78871fbe7290d5bbf609f6bcf71e693dc9c49ebd643000bcdb1bf43b52ed34bd0d6c62bd245210bcb0dcd73c5195debd0a14d5bc1f0510bccb9c3d3d22b124be4ebb2abb1c9ef7bbc331533da19531beb7b3eb3caddfc6bb059c583dabd72ebea2173f3d41869dbb12043d3d960311be4761683d3eb6dcbab5f1103df10fcdbd3784713d83ce50b7de55da3cb58b6bbd5a7d523d9447d93c9bcdaf3dfbd4893fa0139cbd2702933c1f205a3b45e5903f245bc8bd3696503cd4970dbd105a8b3faa2ef9bd05ab893b00668ebd7061823fe87212bee64c91bab3b5a4bd1a605f3fb2d52dbe9a5f03bc9110a3bd0dfd333f3ffb37bef43524bc14bb89bd9510fd3ed89731be045677bcd2b12dbd3a05933ef2ea24be30e67dbc46c519bdc3abdf3ddaf701be796b0dbc6ec0803c181e5fbd2a2204bdd3b199bbdcd1333d5ee30bbe840997bc83798bbbe18d4f3dc6f040be8d079b3b857292bb30585e3d92bf53be3138e73cc1a12fbbcbab433d876a45be9505223d65c67db9e7bc193d15d721bed3ab463d838467ba2cf5c53c0984e1bd51ca453d71436f3ad5bc3a3b1fc242bdbe142a3df6f25d3a2059ad3a200423bc03d1dd3cd77d633ce6945bbd23b1aa3f532cf6bd49dc15bc0c7854bd55cea23fe1a7e1bd845e49bcb8407ebd36fa983f2aca02becca78ebceb7972bdc5b3853fe3b114be33279cbc8f3b43bd6e5c573fbf6219be31eaa8bcf0ffe9bcafd21b3fdf5b11becade86bc4ef6e0bb2449bb3e9579fabde2d71cbc8bd7bf3c559cf93de4c2bcbd689d39bc1b67b43ce00247bd41ae76bd00000000000000000000000000000000ebd7e9bb45b6683d4aee4bbe03f4b73cd00877bb898f643df60156be0f29ec3cabb74bbba492443de6b350be32f3113d90c573ba59881e3d805934be11e9133d6f9cca38121ed53c587805bee4c3fa3c42a7333bb810003c6c7e95bd4a66bb3c61fb9a3a5ce6aabb33b292bc8351213c0000000000000000000000000000000000000000000000000000803f00000000e3a80cbc1756e7bda38dac3f8324d2bd8a9ba9bc472e93bd9e6c923f71feacbd6e61abbc349e5ebda957753f45ecaabd2dc4bcbcfa3ffdbc22133c3f5b748fbdcda4bbbc86c8b8bbbcfafb3e230b5abd219c93bcf5a9b53ceca67e3ea9bf10bd5a7637bc2c5c263d708c383c6f0adfbb0000000000000000000000000000000000000000000000000000000000000000bb75bcbcacb72abd6289edbbc961ed39767c9abc6ba730bded04cebbf7f30b3bd2cc80bc4ac81ebde748d2bbbd3d053b590962bc8a510bbd0faffabb95fb983a67a51bbc87adf4bc9bdd1dbcdb00eeb9f249bebb84dcc6bcb2943abc96c30abbb48ff2baa1e882bc6d6f56bc46ac9abb00000000000000000000000000000000000000000000803f0000000000000000fbd54dbd70a08b3fa6f961bcd0e4efbb85ed0fbdfc8e683f969715bb1c2399bb04e2dfbce24f3c3f2ed20a3b404e93bb843ebfbcd674113f60a63c3bfee86bbb859bbfbcb8efd03e97c18f3abdff6dbbe2f5c5bc781d813ef9612cbb239862bb8336e8bc38bccc3d70e20cbc314a29bb0000000000000000000000000000000072fcf0bcc2808ebcbc5408bba9118abbab0aedbc7f3f40bd101ff7bbe5b9263a452bcebc26e952bd567903bc021f453b6464aabc02ff44bd88c814bcfebf513bde9b8abc43c125bd2a7b24bce7220c3b365c39bc7f6615bd218d54bc99fbfd39e661d0bbcee6e8bc3d386cbc399ba4ba71fd4f3aa01f85bc5bee5bbc92351abb95b37c39ce0a89bb48c914bcd03a84bb9db3a1bde3508c3f1ef5ec3d5ff3c5bc221eb5bd595e843fcaffe03d9b60c8bcaa708abd938f5e3fd93cd63da71b9cbcce1061bde8a1333f409cbb3daccf7dbc74d835bdfd7c083ff734983db0fc47bc725a2fbd797ac33e18605f3d97c239bc22d628bd0b186d3e3c03063db07a1dbc64e01fbdee45b53d09d62a3ce36ff4bb6250ffbcab98dbbc6177ecbb298bf0bbd8e3e9bcc7a019bc3aedb63b474c65bb2ea8f7bcbd2d02bd01e5fab913886e3a6938b2bc818915bd27af99bbc3178d3b1771a5bc1b4727bd565005bcbd88a13b15706cbcd31a05bdd4de0ebc5c40703be99b30bcdcbb01bdba3b4abc9a080b3b2a44c4bb270fb8bcd0033fbc2f5005b9409d94ba9d5661bc5e3c34bc537651ba79becdb9366954bb5dbba3bbc63a93ba7e249fbdbeca6b3f9a198a3e3b2417bd8062c1bde75a613f41ca823ef6932ebdb4548cbd53fd383fd1b2683ebcdbfdbce5d786bdce901c3f9c14453ec911dabcdc5f4ebd7c1ceb3ef14e1a3eb8e79dbcd92a4fbd9d34ab3e01f2e83d76f795bca8fb2bbd27cb523e60c9933d4e2c6bbc7cb22dbd83feaa3df254083d31454abc46d1f6bc23ed7bbcca3bdcb90ee70ebc1749d9bc0f5301bc90264b3ce96ca0ba4a71e4bc1a83dabc175b9e3b17a3583bcafcb3bcc66813bd36a861bbf663e83b249a8cbcb2d916bd3d99f1bb7924053cdeed59bcde0005bd511b16bcc8e9d43b2bc218bc39f5eebceb9933bce86ca73bf0f7b4bbbb98b6bc34b53dbcff74323bc20135bb2d8348bcfab714bc8860ab3ae9899db916e69fbb68192fbbd590ea3918578dbd6634403f7ef9da3eaedd3ebdf722b1bd5947373fb587d03e4c7665bd8d6898bd297b1d3f9609b73e248235bd962382bdaa81003f81f1983ead490dbd1dbb5cbd87cac53e5293713e095ddfbc387949bd4f8c8d3e3151333ef9ceb2bcfed536bda7cf2e3e6476e73decc391bcb4b91dbd3aa38f3d79935f3da86261bc7d2be2bcee663dbcd594353bcdac13bcecf7b9bc4d673abcbccc843c5cf2f73a9903b6bce935debcd2660b3ce24be13b53bc81bc098103bd8f7426bb16b6253c70f05abc8a9d10bd7fcf06bc858c393c4b080bbc69acc0bc466edabbfe75b93bd8120abc617ce6bc9d3f36bc53fbec3b9ef97bbb1bb7abbc52ce1cbc7e328a3b51bfe8baec5c52bc4a99d7bb8461383b8be70fbb920ea3bbd5a2b73705af553bc35375bd1765153fa0d3163fd4ba64bdbcce95bdee7d0d3fc7a50f3fa64789bd050773bd8733f03e64fef53eaa9045bdde3a65bdfa31c83e0fb2cf3e12b923bd7f0218bdb089943ecc0b9b3eba13bbbcf96c2ebdb84c5e3e3f1b703ef412c2bcc7780fbd1e59063ef398183e764389bcca8504bd0816533d8a50953dc8dd5bbce9dfc5bc711836bc30cfa03bd3afdfbb14b781bcd8f286bc8535903c15cd8c3bd5ab70bcb20e04bd2209613bc3af263c0e8141bcc03c1abd3ebc05bc3a1f6d3c1e2a05bcdb2f13bd583150bcaf67533c4d9db8bb988a01bd3f7067bc60ba3b3ce0ed7dbb4b06dbbc083570bc2413093c032fe5bac776adbc3e674bbccdaab73b386cb1b9d5f657bc1bb2cfbbb3a1813be94987b991f1e8bb6ab19eb93a50393b6f0f46bdd32fd93e6ad1403f5bf586bdd1c37cbdf835cc3e4ea3393ff8f9a0bd559b5abd87b9b03e5072203fadba75bd66433dbd1924913e7406043f7f9f39bd91171fbdb35b5f3e4bd7cc3e9a7e03bd8f9211bd57b11e3e02b9953e2955c7bc384ff9bc2016bb3d625f3f3e46cc90bc65bdd0bcdfe5023dc779b33df1be4cbc0c6588bc400567bcb19a463b9ff6e5bbcd5d0fbc3518c3bc66df383c028ada3bf388bebb598020bdebf8d9bb2466593c9af32bbb5a690ebd5e6a73bc23b43d3c90a93bbbcdac1abd334cb0bc0f627e3cc4130cbb03b3e8bc76b798bc256f363cbf4b8cba4561d8bc73e5a3bca41a0b3c6768f03905c998bc725d75bc6a48a83bbb58e33a26564ebca9000dbcabce403be3dc0b3a6ba2b2bb2e6d313a20253a3b79c01cbd85f2883e06cd6c3f23f099bd44dd3dbd856f7d3ea131633fc539afbd798d11bd8c245e3eeee33a3f502a56bd3ef70dbd9afa343e8a621f3f13ab36bd6938d7bc5162093ef164f03ef977e2bc0402cebc7ba4bd3d304db13e543ab5bca5c9a0bcc046573d850b5f3ec0526cbc42b085bc680f123c12d1c63d419228bcd76828bc05f59ebcfcec8abb94bda5bb38e2e8b991eb09bdbbc7dbb9eea2293cc890a73b5e8036bde3a1fbbc47c4573c13ff813b69932bbda70116bd9cff843c8d21553b1d2b15bd97b013bd31df673c0a68133b8dbeedbc166800bd579a2a3c0616173b6456c4bc1e98f5bc4203cd3bb6303b3b3d5a8fbc8efec6bcc1a30a3b94ea6a3b473f1ebc72ca6dbce22866b915d2b03ae01694bbc71fd2ba24ad053a121fcabc5a99e63dcce38c3f1f4299bdea49d3bc5454d03d19e4843fe88ea0bdf8dfb7bc8a30bd3d063d603ffbc84ebde48e9cbce5369c3d2b6b353fb19b05bdceec7fbc0686683ddc490a3fdcb89dbc590e52bc9fc90b3df039c73e86e156bc23c912bc971c253c7d8e743e1fc80fbc228a8fbbb4fa52bc8f4ac63d2842e7bbac2631bba86dd7bce8c599bc11d071bb00000000000000000000000000000000bf7c033ce7e316bd6d130ebd18125e3c59b6e43b8451f7bc3ff61abd792a3f3cfc089c3b1b64ccbc313c0dbdecba1d3c00585e3b3edda4bc84e7ffbc2a1bcf3bafa6543bab8f80bc3dddebbcdb5a0b3b70bc473bdfec36bc37ddc8bc1e1bd4ba882d113b5a97efbb0e6f8bbcc0b56dbb0000000000000000000000000000000000000000000000000000803f00000000262406bcc387abbca41d8c3f918725bdf439d1bb593b42bc652a693f444bb0bcf72dc1bbda6515bce3fb3c3f9f6231bc21189dbb568422bcfd15123f3a5888bbd5343ebbaf5e60bca6d4d13e8f3493ba304e97b986e699bc8cd1813e39d3e0b9f50b793ba7e0d8bc8494d03d181ab9ba0000000000000000000000000000000000000000000000000000000000000000655d34bd42acf53a5ebdd63b648750bb42ee0ebd7c55bdbbf895b73b11a6a5ba3171f5bc70c115bc4b89983b011a91bac358cdbc64583ebc6a0c083b9606f0baeb6a99bc222d55bc63dae8b9bc8fe8ba9c1680bc62df53bcc9fb40bb8d8888bbc8f94abc223140bc41c0cebb50f4b6bb00000000000000000000000000000000000000000000803f0000000000000000fe57c7bcd5d47b3f8063953af2e547bc8e87a3bc40c2543fa980ba3b579115bcbba29fbc0c9a2f3f2f29023ca44202bcdedfa6bc23450a3f7ed3e93b0f9fe7bbb7f4b5bc2bbfcc3e722ac93bec2cf4bb6a96c8bcae2e853e7eedf13a3241c3bb155ff0bce29afa3d1c3418bafd6acdbb00000000000000000000000000000000d89c5abdf7574d3cc21f5b3c0741c0bb84a77cbd0eff683bf038733c8c8a18bb6b4052bd1eaed3bbc01f4a3c4bb2abba564736bd58f73cbc74a81a3c26b058ba0f4810bd1c7a5abc7bacc73b6a9c21ba992ffbbc098488bc27b7023b6326dfbae9d1bcbc90168fbc5b3421ba611fedba7f5d8cbc816b68bc341db9bbf04e96bbecdb5bbccadefabbefad1bbb5a5f5cbb1d411fbd5ca57c3f19de063e34c4b3bc84033dbd0314673fbab1fc3d0b23d0bcd32022bdb8ee433f0366e73d17d999bc834319bd836a213f763cc83ddf8482bc5a310dbdcd11fc3eb458a33d40d947bcf10c1cbd248fba3ebfe77b3de6563cbc8b8f22bdfcd86f3ee9b42e3d83f62abc42fc25bd285be03dade4a53c9495e3bbe52a09bda35d9ebbafd87d3b9408debb039a51bdf73c233ca70aaa3ca51da1bb209781bd48684a3be5e5bf3c92a03ebb5e203dbd2820b3bb3a68883c048ede39109d40bd8c7b3bbc26ea723c1319cc3ab28511bdd75e49bc86c3223c7622bc3adcaa06bd3b3c7ebc9fc3e03b6ea09b3a054bb7bc34636bbc3a18393b431a82b943f5a4bc8ebb50bceca4c639e24c61baed1c64bcfe2bffbb12730b3bde7bf23a633132bd16be573fe4cf8b3e079ee5bc6e6760bd958f463f827f823eb04805bd14cd2cbdd64f253fd797623e2b3ab8bcbe8f3fbdfb110c3f6177443e6a36a9bcf91123bde12ad93e4d5f1c3edce773bc22ae36bdb5f3a13ef058f53d9c1f66bc182f1cbd4db24f3e85f3a73d7c592cbc00702bbdf364c53d076d3a3d207021bc933a03bd186c4ebb2110283cae71d5bb90c746bd05a6c43bc95dde3c34c22cbb21826abdaf4aadba4e2bf83c9c77e9b8de8852bd714c10bcd33dc33c1f0e563b4b1830bdb0c35bbc842b963c0371963b008d19bd19c66cbc81605f3c3afe8d3b13adf5bcd28a8bbcad7f143ce17e843b73b3c1bc062089bc9b5fc43b75a87c3bcb1aa2bcefdc6ebc2f209a3b79a4423bc2b664bcaa6c0dbca377b83b02ad583b52c82dbd4fa2323f449ad43e2ef900bdef3564bde457243f44c2c53e818218bda35f50bd5bd60c3f0522ad3e7263eabc1e3e44bd497ae83e7e49923ec26db6bc1a5a31bdf13bb63ef44b6b3e62b88dbc879b34bd857e863ebd9d353e792f69bcc6a134bdae812c3eb448fa3d567327bcc1fc24bdd2aa9e3dbcb68f3d2aa30abc91b8efbc18616abb23a1773cc89e8dbb6cf72bbd524705b98b97013dd68595b99e3c46bd51a2eebbce0c0b3de22b4e3bd3861fbdac9442bc6436c63c7f1ead3bd21213bd33148fbc2846a73c4149f23b6673cbbc388955bcf487433cf9bdb93ba4f5d1bc352094bcd701353c4271f63b10c793bccff486bceda1e93b8dd4b63bc82880bcf6d47dbcebeae03b23a8c23b5b0341bc65cd25bcd5def23ba61ebb3b18e527bd17c90d3f18bc0e3f18a609bddddf52bd0693013f0240043f5dc21dbd8aa433bd76cbdb3e67cde23ed137e3bca5303ebd1d4bb73e8afac13e7921bdbc246105bd2d5e8c3e2c4b953e969a53bcf95d26bdaaab523ea4f36d3e95ae66bca5640abdb91e043e334a1f3e000e09bc06d60fbd3dc26a3da1f6b33d2496c0bbbff4d2bcea69debb42ea913cf91c28bb5a5909bd9932e3bb6a5f0b3ddcab343ba64c20bdf92380bc2ccb0c3d3b66d93b4b260bbd31eba7bc1549dd3c6b06243cf357e9bca16caabcfc30993c2dbc223cd9dec1bc2c7fa4bc48845a3c85a51d3cdc25a0bc70f2a4bc0a9d173c831e0f3c407275bcfcac9bbc2796d83b7ecf023c0d5824bc6c0e8fbc1ae0d33b3288fd3b520a03bce15b3fbc4747f63b7b7bb93be11717bdb149d23e7843333f70fa0dbda28a44bdd935c13ef40f273f449a25bd62c636bd0acca43e2351103f764df0bcfcc426bdd362873ed82bf13e657bb3bc207115bd1379523eeb0fc03e5f116ebc019014bd35aa173e1eb7913e1d7032bca27109bda992b93d700c463e8d56dfbbf4c8f1bcdb2e0e3dee5dd73d5a7780bbee64aebc5f1c3abc4129953c8e8d3fb9d01dc3bca37e63bc78d5143de31fb63b4211d2bc1ff1c7bc728f0f3d43cc1a3ca032a7bc86d7a2bc7553963c0e06263c1f2a9bbce610ccbc13da6e3c40df503c548e6abc5f59aabc0a480c3c78d2283c708b3abca46bb7bc8809a33bc6f4223cfad7dfbb30e390bc22ed2b3b7596ec3b3a1760bb062595bc711e6b3b6bde033c67a239bbbf594bbc9bffbb3ba3adeb3b7fab01bd9fd6883e08b7583f6c0b18bdae3c20bd6ff2783e549b483f19601fbd40af03bdef53543ef9f1273f10f4afbcd1e508bd2c852d3e42710f3fe9c28abc92b8dfbcc89a043eca5de03ecb5721bc987be5bce859b83deb28ab3e91e8e3bbd160b5bc70bc573de533613ee42e6bbb88feaebcbb9d383c57eff03d804e8bba263474bc9fa48cbc9d636f3c9aa55a3a1c5059bc310fbabc6e53fd3cd0ca1b3cfcc32bbccefff9bccebec63c72165c3c634f0ebcddd1f0bcf2bf2c3c64496e3ca64de1bb8fd3d8bc92ffb93bfbfb4c3cfed6b4bbd874b4bcba7351b90555293c3f1edabadd85b3bc100086bb37d70e3c76804d3a48179dbc7a60aebbf6a5ce3b76c7d63be55b88bcd63c9cbb5318c43bc1fd2b3b800e49bcbf1fc53a0866b53bf92fcbbce5ca023e398b7d3f2800f4bc499ce1bce262e63dfe1c683f5249eebc378ccbbc98b7c23d3104463feeaa6ebc0296b7bc0ff89b3daff1233f86f206bca6219cbc871a663d013b003f29e940bbfff186bc156a093d81fcbf3e4fa822ba3e016ebca370373c87d37c3e2159233af95248bc3a785fbc062afd3d550a133b80eb02bcebe9bfbc0c95e83b9531283b00000000000000000000000000000000de24c9ba8b7ed4bc6bf1253c05bb4f3ca9968c3a473cb4bcced053bacba43a3caecdca392690a2bc83748abbcaf4153c0780ed3a8af485bcedd9f4bb68a6023c928e393b354a75bc31601ebc2332a63b6d38ae3b778f53bcc7722cbc69ae393b5576e73bdf6448bc1bca13bc91def23a0000000000000000000000000000000000000000000000000000803f00000000133c57bc4253f1bb78347c3f4db625bcd16a31bc9e87e0bb0993553f539d0abb4bc629bceec3dabbb011303f719eae3a035d0ebc499b20bc6b560b3fa2ada03be86cf0bbe48d61bc7824ce3ec582903b95ae97bb153a95bcba80863eef17833b123526bb8cd3cabcab7c013efcfb6c3b0000000000000000000000000000000000000000000000000000000000000000546236bc8ce2233bbfdb623b80c537ba3f621ebc5fe0ae3a4e72563b54d7f1b92b6824bc73a01dbadbad7e3b16567239a2c300bc3870303a00f9f03a326041baa69118bcd9044e392381433b0a5e5ab93ff605bc0230c2b93741233b532e98b9c87104bcb880fdb9ac2c2f3ba2ddf4b900000000000000000000000000000000000000000000803f000000000000000015ff8cbba37a633fecc4103ba08d3bbbc88d82bb8ad4423fe0372d3bb1361ebbca5956bbbcfc213f23fdd23a23b4dcba5dd778bb6bed013fdf5c033b9cf30ebbf082ccbb11f6c23e00f64a3b4e8afcba0b0ec6bb3722823e71073c3b40caf0ba8497cfbbae5d033e323b423be9b911bb0000000000000000000000000000000073c849bc2cdc5b3bd10f9b3b97cd7ebab75084bcd600443b2453c93b15742abaacdf60bc4d53cf3af798b43b547a6db9d2d55cbce8b7243a854eb53b4c2d0eb88a4543bc6d5ffe35fb449b3b21382e38ea3d41bc255ce9b9091e9e3bb1324038c5a43abc64c336ba7225963b13ff8d38bd5541bcb3845fbadb5c9e3b7ac95038eb0008bc9cece4b952d96a3b58fafa37edc6bbbb188d633f6a53033edcab7dbbb513f9bbbb5b483fb2cdea3dfe4f8bbb246fddbb0b942b3fd915cb3dc2db67bb4167ecbb951e0f3ff020ac3d82ee57bb07ace3bbafa5e43ebfeb8a3d477035bb3d39fabb13e8ab3e4915573df46c3cbb4c1508bc53ec653e708d163db41e2fbb4ad519bced6ae93d4c06af3caa8234bb8f13dcbb28b5363beac2863b839306bb23595fbc19ea2c3b2f47d03b644d07bad5ed94bcf8011a3b3776083cfbbfe1b85f8574bc0bc79c3af9b2cf3b911a2d3ab4ba88bc7d579d3a0962c53b4e33893a514658bc265948b912f5d43b7827ea39bfc57ebcc172f53971c6cc3be736213ad1dd35bceefc74ba16eda73b6acf333a77de55bcea9c9eba737bd23bf46a703ab5db18bcc55257ba22f69a3be025413a943fefbbca39433f50f6823ecbcf89bbca8c22bc81292c3f81d7683e69dea5bb47e3ebbbe1ef123fb480473e530b3bbbccf52abc0097f63e44be293ecc5b5dbb9fa30cbc786ec43e915e073e0ffa49bb07d72dbc76bf933ec0f5d03d37f44ebbbdeb06bccd0d453e95718d3d343a17bb3f2e2abc99b5c93dad12213d5bd72fbb56ebf5bbc8f23f3b00f3bd3bf18cefba0e9e3cbc6bcad03a5e1fee3b77ac6e3941f690bc0ca8943a7bd7193c28eb0e3add577fbc6d6593398b93053cc1d5673aef7e7dbcf39e61b8a71a0b3c7c09b93aef0e7bbc470916b8a0e8d73b455f673acf3462bc516590bada5c023c44b2533acd4c5dbc5f5aa4bab47ce03b4393ca3a151454bc1aaa68bb4735cb3baecb203bf85b1dbc54cf03baebfab23b92a5b03a6305fcbbe59a223f90dec33ef86e76bb5bd92cbc9a6d0f3f18b2ad3ec748a1bba1351bbcebcff53ea260953e61577ebbdd4040bc9265cd3ed17c7b3e718863bbf92b0dbcd48aa43ead96493e7fe647bbd01d1fbc362e773ef628193ed63e3dbbf65320bc74ae243e31ead23d8b910cbb31d033bcfc9ca73dc33d643d752924ba426c05bc92513b3b2358db3ba976b8bae14543bc528cdf39306ef63b6adaf0391e2081bc263bafb87fee1b3c79c8933aefb559bc599351ba019d023c3487a33a4a3470bc1792d1ba9d79033c3814c53a4f802dbcca8bd9ba9d00bb3b48ffa03ac15d57bcc0cd1dbb8ab9143c6716e83a67862cbcf92f0abba881c93b8857f33a925937bc547b1dbb2524e13bdf230f3b318705bc15a7e7ba8122ab3bab7ce13a1359f2bbacfd013fcd5c023f7d7e79bb39da21bc4f34e53ec388e63e85688dbbc95c0dbc643bc43ebbb5c53e93db5dbbe3c123bccbdba33ed524a63ee41b52bb0b08f6bb5b46823e3459853e564507bbcb5b22bca0cd443ed4e54c3e8ba614bbb9420abc600e033e0e2d093ee370bcbaa93517bce403853d1907933dfa1bbebaac61debbe06ac23a042fe13b7c6164ba249438bc8d4c32ba2e22083cf14ad83ae8247cbc223757bac691283cc95f383bb3385dbcff5405bb28c2133c3a401e3b4e9856bcf42733bb8d6bf23bbec2403bb03c46bc02bd38bbe6bbe23b73cac73a38d145bcde2242bb8e1efb3b773e443b8b2032bc45d84bbbcc2cdc3bd35d2d3bf2532cbc2b1b57bb9c5fec3bd61e323b1f5d11bc9e960cbbbfc7ad3bb413143bab2cf7bbc10ec33eb5fb223f62899cbbfeef22bc1d4cac3ed5f50f3f77bb7fbb7a5519bc8989933ec472f73e4d3265bb1dde1dbc9d59753ee486cf3e4f6404bb3ab715bc2124443e62f9a53e0c599d3aca551cbc1ab0133e57b17c3ee23343bb00e512bc6a2cc43d919c2a3e3fb687bac75d16bc9611453d2655b53d26eb85badc7c04bcdebc393a7abfee3b47dea0b9dbbc26bc9c7cf3bae3cb0a3c957dd43af0145ebcee3d48bb80e62b3c44952d3b8a6225bca6e62ebbebd6ef3b917c193bdbeb3bbcafa07cbb699dfc3bcca9933ba7861abc050661bb6645d23be231413b36c327bc85e26abba199eb3bb062ef3ab0c510bce3942cbbc167af3b92fb273bfbc413bc7b8d83bb94bcd83b8a49463b51c0d1bbedae4dbb5f13a53b7fd91a3b3a9defbb8e25823ecf78433fd48451bbbdc122bcb0ab653e4ab82c3fa2af5cbbf130f6bb4bfb433eac89133ff5f8ebba409f12bc17aa233e6ac9f73e5ed19db9603df9bb8af0013e8858c63ed1a95fba05b50cbce9eec33daba3963ec9eed6ba404a05bc61a0813d7022493e4c96a2b79aeb08bce644fc3c2ee8d43d7e4492b90d16c6bba4874ebab74ded3bd37b4f37dc60f7bbf6ec3ebb4a44ef3b6b0f0d3b5d5f23bcd75084bbfcda0f3c419d4e3b429810bc479d81bb0402e13b0f9b4a3bb6fa06bcc6e886bb060fbd3b72c5423bc391e1bb45467bbb828c9b3b1f51323b17cae9bb6a658abb6278983b6256373bf081c5bb859881bbfd26743b3ec9283b782fbdbbb2fa8abb047e9a3bec9f313b56c092bbbf7e65bbd60c7d3b0ab61b3b56bbc2bb60d9013e5d9d633f92a3feba93d301bcb572e53d1bca483f7750eaba7a9cecbb9afcc33dde182c3f0e864dba055de4bbbd89a23dc5990f3f6e8404b957edc7bb89a7803d5acbe53e74f31a393d16dcbbf1be3d3de168ad3e0f44be39adf6c7bbf30cf53c94a8683e69a8d639d00fcdbb16335a3c8a4af03df0f2e0399b1ba1bbc9d810bbcb40c03b083f303a000000000000000000000000000000000132b5bbb5327fbbab27b33b7866373b531f9bbbf55461bb0026833beedc313bda6386bb7b7851bbaac4533b768e293b0f6b51bb1a9e64bb6c4ac23a5b12353b04705fbb3d8835bbf6c7333b88bd303b8bfc46bbf21655bb1c22083bc8b5ea3a5f3b2abb394261bb0d6b153b83c0f53a0000000000000000000000000000000000000000000000000000803f0000000062faa0bb4f4a9439cfb5633fe13c4db8d7b28abb7bb48a395311433fff19353a4a7781bb0ed90cb9748f223fb9bd963ab51b6fbbc2b7b2ba7a31023f9c12b93a61ad62bb919553ba5cbec33eb60657b9fde86fbbcbfc02bb40c6823e0f03603aa2476fbb05493cbb0dd5043eac41683a0000000000000000000000000000000000000000000000000000000000000000fbf9493c0aa40dbeed9a85bcea9b133c0f3ed73b2c3105bef316a3bce2890c3c0b1015bb01fee0bdf551a4bcd2f5be3b657589bb236eb4bdbaaea2bcbd51363b808ad0ba48c28dbdb8c78cbca1b61e3b585b4f3b162939bdbf4d30bc00bd673b8f35b13b365996bce76ac9bb3f6f323b00000000000000000000000000000000000000000000803f000000000000000054c2bfbdedc1a13f72c788bd5f16933b02ac7bbd0f28863f4e00febc3ec3b7396e6f39bd166c583fd2fd20bc940b15bb5e2205bdd762233f48d6bb3851ebb0ba6ab3aebcc1d2de3e5cc87f3b35182ebb9db424bc6658723e41e2653a7e232e39f1299dbb3589493db90ba8bb8edb3f3a00000000000000000000000000000000fbd52a3ca364adbd10cd80bbb141ccb905f8073d129c1ebe4fde62bc4d272d3c555a8c3c8ef31bbe4566bfbcd1b9e43b6be9073c605505be4e42dcbc87eaa43b40e9983b8800d3bd391bcfbc9f27953b04d8113c4e7ea3bd40edafbc787a6f3bd1e23c3cb2694dbdb82e71bc074e8d3b95ff683cc6ad8cbcee1268bbdc73c33b9a55533c31a08c3b9c238cba4ff6333b097817bef33ba23f1623703d63d49ebce0981bbe1db09a3f8968603dee419ebc029cf1bd0031853f12bd9d3d7db2a3bcdcaeb5bd97cf553fd153aa3d5eb29abca92c84bda0c61e3f81aca03ddc4e8cbca6693fbd01b8d53e0dac813d48fb69bcda39d8bcc3555c3e36182e3d8f353cbc77e2e0ba9f8ef93c0daba53c0930a9bb9d31a4bb6fd7aabd439f8cbb87b6a8bb5a44283bdd3664bd5452913b080ef2bb50319f3cd200ecbd2d078ebccf0f823942101a3c35dce5bdf7aed7bce8e4d239a237243c11a1e3bd653805bde0dabf3a4b02c43b2e01adbd2ae5e9bca4a0503a506a413c4b178ebd09f9dfbc8617d33aed875e3c2fdf35bdc955a9bc7e34303b93108d3cc0ad9cbcc42f4ebcd093ef3b1431703c51a7083a02e2d1ba940f623b47f410be4e03873fd6ec7e3e531f44bdf1fe22be08c9853f6794743eba0c53bd9297fabd9b35613f8bf86e3e92f535bda6fcd1bd64e63a3f2a4c553e054b23bd40a39bbdf489093f6d71313ee90703bdb0c070bd9794bc3ecba6093e0cece9bccc211dbd4ea24b3e3d11b93dcb55b7bc9cca84bc06eb2c3dc671303d3ffd89bc7eb22fbc2fa362bd4b217f3b454342bc8036f6bb92ef18bd578a0c3ce34568bcf3bc203c724cb4bd0158b1bcf28cb8bbb9861e3c264dccbde1a517bd133d1ebbbb880b3cfd8bbbbde8a71ebdf1fd87baeabdda3b974f9fbdb15b17bd57deebbae5b53b3ca44676bdf1f108bd1fbf5938c5b5793c15e929bdfb31c6bcd346293bc68e8e3ced5c9cbc7b5875bce4046b3b6e2d5b3c8f15deba69f78cbba7dd583b0914fcbd34e25a3ff738e53e68679bbd6ec610bea678573f8e11e23e20b1a9bdc160f3bd53f03b3fb5e4ce3e6f6b91bd5a33c4bdaff6173fecc3b13e593a72bd68109cbd8edce53eb06b913e05f548bd379b71bdda4f9c3e6eab563ec2c021bd2e3f2bbd32472a3e0e100a3e30e401bd09dbc5bc2dff323deeee813d800cbdbc97d4a6bc536313bd4bc1053c24e58bbc481e1abc0435f0bc6a51f53bcbce80bc316ea83b4c1387bd2aeaf4bc91e01bbcb7d3a13b69609abd694e30bd281291bb79b5e43bdd039abd90e74dbdaa9086bb68e69dba017d4dbdcbc806bd75c102bb9d461b3c61795cbd978e16bdb37ac7baaef62c3ca54108bd1546d6bcdf759239e341753c627f92bc74ac7bbcc536713b8818363c39c4a0bba956d9baf6554f3bc3cfcabd1feb253fb269263fba6bcbbdeaf2e5bd1f40213f0bb5243f8749e1bd8f72bbbdd8d40a3f3690113f90adb1bd8035a5bdf58ae83ec7acf93e245f9bbd28f85fbdb352a73efd1eb93e411342bd158f50bd88d2713e2f25913e5b1c48bde5f811bd1d77053e7493303e743508bd5495c4bcce4f183dbe219e3d935bd9bc39558ebc2c08e1bcfb66a13b4438a9bc05f884bb19c7dbbc335065bbf99960bc9508173c39576cbd416453bd3cdf05bc74fe4d3c38968cbd6c4f8ebd84d096bb8a912b3c13de83bd4cdd88bd15880bbb56651a3c33676abd1a116dbd9cfb00bbf013393c35f036bddf5043bd66394bba483c3b3c6ca2f8bc9a5b07bd17ce9a3aa309623cb91781bc43fb84bca0c8553b06e9093c2f7238bbdd92573adf47713bd5fc9bbd4919e43e585f5b3ff953fdbdb17eabbdc17dda3ebac55a3f52740bbe964494bd18edc03e50e0413f8efae3bd2d1e78bd8f969e3efe25203f57d1b0bdf5204fbd4495743e8d88f93e7e0d87bd009322bdce28273e8040b03e860149bdb364ebbc43deb83d7c6a533e2d0214bd3fbb91bc6663b83c4822a73d11c9ccbcc30856bc8f11ccbc6072c4bb872c9fbcbd972c3b50b3b1bc1419e7bc67fc2fbc4bb05c3c16222dbd8ecfb3bdd8a650bb5a614b3c120353bdf337b7bdf779d7ba208a6e3c69ea55bd458ebcbd06b298ba51dc2b3c371932bddc348ebd1b2762bbbff0303cfc8a10bd9c8f74bd9c04b5bae3d6203c14d5b7bcdc4815bd1177323ad671073c47a515bcbc278ebcf0ec833baaf6c83b65bf11ba552df23a1e7d9f3b746d42bd35247d3ea126873f1d0c10be312f4fbd5b75663e39f9863ffc0b1ebe125131bdbaf0543ee799653f0245e3bd9db117bda9d3303e1810413f99aebabde334f1bcab6a083e5a94103f9cda71bd7691c5bcccfcbd3d5522cc3ecca23abdc7af8fbc9f3d4a3dde20693ed642ebbc82d115bc69391c3c1751943d9b859cbca785a9bbd7f6aabc7cc1fbbc83d160bc98d5f53b50faacbce93489bdca54b7b93d9b5e3c2e5395bc0e8d0ebe97ab323b2299873cdf5608bd7bf60dbe6a8907398caa6d3c6fa819bd32e6f5bd7f2067bbb9f5363cb3b709bdff73c0bdb8f24ebb84a3233cfd5bbebc3ffc95bdfaae6dbbc224c93b250544bc41fc3dbd1431d4b95f9d3a3b7e2fb2381fbc82bc86019e3bb3fdc73a43c9793b9f139d3be683823bf79d98bce77e6e3df858a23fc68e17bea70178bc77122e3dce359b3fcc7f11be832884bc12175c3dd666863f4e76d3bdacfb5abc88f6563da7f3583f376691bd0e754dbcbfd7313dad70223f676f33bdfd9809bc012de23c0107dd3eadf9e4bc6c9cadbba038553ce3ae6d3e23bb7bbcd5b501bb5e641d3bc7553e3d3e5dbcbb0a9c013b47cfa8bcf7e98dbdf83ad2bb0000000000000000000000000000000054e5603c6328a3bcc51b0abe74df833be17b613c2f2bc2bc701503bec64ca5ba7e1c4f3c7950d8bc67c9debdc8c255bbcaa6173c63a2babc7decb3bd8523d3bb8b4afe3b763a82bc2d0b8ebdf732c6bbeb08873b34c4b8bb55373ebdf16996bb47a448391d2a193ba9f7a0bc0d8f11bb0000000000000000000000000000000000000000000000000000803f00000000c6f6ed3b3df49abdfdb4a13f741ea7bdeee5913ba0a93fbd851f863fa8db36bd3ef51c3b6f0ffbbcc0a8583f4a46b2bc90ad303b593fb6bc5bb4233fa6e6ecbbf2f7033bcab5a5bc432ee03e2768103b2c768d3b4f5285bce863743eda85993b44d1ae3b68fb91bc5938533dfe70bc3b0000000000000000000000000000000000000000000000000000000000000000675c59bbb885c1bdef3390bc5ce7ba3b144840bb565cc4bda5d78abc6caba23b32191fbce6c4aabd16f983bcd7dfaeb9ae1108bce36e95bdaf0281bcab1c65bb01ee23bb0da381bdb9d97bbcb9a022bb6b86a33b34b84dbdcc7a69bc2a4cf8baa0f5493c160809bdf6c340bcbc00f5ba00000000000000000000000000000000000000000000803f000000000000000022ac83bda533973f241613bdc9750e383d6d38bd20cc7c3fafb131bc2de39ebae9ec15bd59da4d3f5a25143b7f117fbb28c502bde7c21e3fafd5d63b861b80bbe922e9bc6233e13e5dc0013c57666ebbc975b8bc2171853e54c2a33acad19eba13a7b6bc90ccb13d0754e8bbf63615ba00000000000000000000000000000000b3fc5bbbf3b667bd9b3d83ba2d7edebb3793bb3c7599f5bdd9d84cbc32051e3baff22a3cc9c2f6bd163474bc17c964ba35edd03b95d2e1bd41c88ebc94967dbb0c53a53b1c82bfbd503c7abcf7b2b2bb41925d3c9209a9bddde885bc91cdb3bb1060af3c0b9d84bdc6fe5dbcc89858bb5b39eb3c19e21cbd975cf7bb1d83bc3a4ff0ca3cd90691bc850382bb4c7007bbdb8ddcbdab7c973feab5c13d310ed6bcd091e6bd31798f3f37c6c33df975bfbc1d9eb8bd97c0753f4bbfd73df02bc2bca9e394bd64b3473f4ab4d23dd34fb2bcf8d974bdc97a173f68dfb63d9bb8a5bc8ea750bd24aad33ec02c933d069096bcee0120bdf939703e7c444a3dcfff75bcb974bcbcd8f8823d27b3bd3cc99e12bc2c3fb6bc89085dbdfedd4d3ac28624bcc73d9bbb929a31bd498a893cf74f87bccb64753c55a8c4bdacada93a55c130bce622383bc845b9bdfb150ebb39c631bcd1a43d3cd9c9d0bda43238bce6ea18bc9783133ca0fda9bd32e72fbcce3829bcc854aa3cde64a3bd419363bc0b2e1abcdb22a63c7c086cbd89ea31bc7524e9bb6b9c093dc34b30bd883a0dbc743b6abba7b1df3cce7daabcc4f28ebaec23d9ba5b3adbbd95f77c3fb3a18a3e58c34bbdc4aefabd1cdf753f617e883ec22961bde588bdbd8fdb4c3fb807803e7e5739bdbb5fafbd29da2c3fa20d643e899031bd4b9f8abd3f9e013f7fc83e3e0e6814bdf79b73bdf1ebb63e4fd5183e1da10fbd6c5b3bbd8075533e4268d03d4c9aebbc4960f7bc69f0773d66406d3d73adcfbc3372aebc9bf122bdca0f873c5d209ebcebc641bc43c00ebd90cb013d5eabc5bcdfe82d3c2ca0a3bdf9cc583cfce7a9bcc640403c327ebdbd25930ebbbdf380bcd8265a3c3101b9bdd7b5e9bbd7f487bc0f9c6f3cbd0aaabdc41b23bc8f756abce68cb43c3b5a98bd3dc254bc14d73ebc7cf0de3c2e5776bd694646bcca372bbc7b04083df22e35bdaab3ecbbda94b3bb55bfca3cbdcfc2bcbf0ce43ab63733bba1dec8bd25b44e3f5a10e73ed85793bdfff0e8bd1e01473f5074e33e6afca2bd0e79c9bd64ae2c3fb3e9cf3eda1f8dbd6112aabdad9a0c3fa2b5b33ee9176fbd0dfd90bd31f9d63e0edb953e585f5dbd8adc6cbd7ec4943eb6fa653ed82e40bd148e3bbd77622b3ed52e1e3ee80026bd79a701bd57a74a3dd996b33d6e1412bd113ed0bcc648fabc16c0dc3c9489d9bc61480fbc516a12bdffa11b3d10a0e2bc7856133ce70690bdb07a803c6782cdbcc22d143c83889dbd619628399b1290bc8f507f3c3758adbdb74e22bc0a1386bcdcf9953b756e75bd170d62bbed343bbcd4b5af3c98c48dbd35686cbc9df552bc6fefb83c192f59bd12f835bc578613bcd3abf33cda7722bd7d77fcbbd067c8bb5e09bb3cc54dc1bccb2ead3bb46528bbe36badbd735b1f3fd205223f178fb6bd5421c3bdf72e173f14df1e3f955cc5bd0cf7a2bd2978013f46080d3f7446a2bd3c4f97bd30c0d73e7f49f63e40b793bd8a8158bddeb49d3ef900bb3ed46b4dbd958453bde218623e700a993e58b65dbdbf8e1bbd1792fb3d6ea2493eb22d33bd7463e5bcf2280a3da6dedf3dc68e24bd8c70adbcf033fcbc03ca073db69ef9bc338ceaba5cd41cbd00a7103db28cd6bc3803893c73298dbd116a123ba717d3bcf413a13c5dd0a2bd4b0286bc268d9dbc3cf8a33c73c69cbddae2c2bc671280bc6bddac3cd61192bda3c8bdbcbd1c6ebcc304c63c4a4f80bd5a12bebc1cd442bc73abcd3ccb3e49bdd11c9cbc2d0f1fbcbdf3d43c385e0cbda4d522bc6845d0bbd68ea13cd117a7bc1dfb733b556186ba1c838ebdadcee13e3a6a513ff4d9d2bdf42b9dbd6072d33e20544e3f3895e6bd7ee685bde788b73e0e8f373fc744c2bd060c63bdb3f9943e35bb1a3f40a39ebd8e7c45bdd9d5623ef3bff73edecd83bd9bdc20bdb6b7193ea205b83e777d60bdd549f2bcf6969f3db4b4723ea08041bd285691bc15d3493c29fcf53d33772abd3fef64bcd14307bd9234d33cc25bf9bc98cded3be4811fbdd088783c257ec8bc40adb23c596981bdcf9bdcbc5a36babc62028d3ce5687dbdb84704bdf96577bc7113bb3c5dbd89bd03e833bd253780bc7b45963c404566bd49be12bdec043fbc544cb73c211951bd9d0915bd2bbb4abcd9dc913c3b1519bd257dc5bcd602ecbbb759a23c1259c1bc058f61bc1554afbb2bec633c767242bc7e244b3b8dd718b816a547bd0fa8863e41937f3f6b67e4bdc56a57bd126e733e1e477c3f7752f7bd97bf34bd8af2563e6395543fb53fa9bd693e1fbd1da22c3ea55c383fbbd69abd2804fdbcf25dfe3df5e40d3f50b564bd9a84d2bcac7ea43d9fddd33e89f048bd779696bc84181c3d26f6833ed0bd1dbd43991fbcd533cfbb3b9fee3d9ffa15bd4348b1bb3f6907bd785bbc3b4d3adbbc21b85a3cef9722bd1d808abc4dd88cbcc83eaa3c2d2736bd7c39a3bd02218ebc092fb23cd5f950bdddbaaabd6e7d67bc30e9ae3cf75f4ebd72979cbdf43249bc2a219b3c373736bd169f85bda3953dbc15898a3c0b6f13bde93566bd1e1e2abcabc65b3c2231bbbc39442cbd181f0abcd1abe33b9f5fd9bb49b3b3bc7d2083bbdf22f33b9fc05dbbb2abe7bafae88d396c55d9bc9dd0b63d1f53983f8f01ddbda5fbc2bca7b7953dca69913f314bd5bdb7ecabbc0a088f3de66b7b3fff5f97bd70548fbc18f6673d843e4e3fc3b355bd059e61bc9e39243de9df1e3f954915bd038f28bc33a4993ca709e43e48ff00bd829db8bbad86c6ba3542893e118edabc05f5eab96f988dbcb31cc53de223d8bc172e883b2ba315bdb161c8bce0d8b5bc000000000000000000000000000000006c5a883cd2a00abdff93acbdd409cdbba5b9803ca39e04bd77c4b2bd916eeabbd0cd813c9f350fbdf3b49ebd4a73e6bb2f5c643c63cee3bc156d8cbdca0206bcb84f353cde76a8bc12196ebde8c20bbc2502f03b51e33abc919b3dbdf25614bc410d2b3b7bed68baa974f5bca9ffb8bb0000000000000000000000000000000000000000000000000000803f000000008fd7a6bae86b48bd4fa9973fdde848bd33a8bc3994c70cbd60997d3fbf50b6bc85ea5dba74b0e3bc9c6c4f3f2a9923bc54603db94261dbbc0ff9203f1828cfba573caa3a2897debc0073e43e8f25f3b9d29d633b7054dfbca36e883e49163abb11d4c13b37ecf8bccf45bf3dfcf6d2bb00000000000000000000000000000000000000000000000000000000000000008e8807bd41c77ebc2d52dbba9eb2b8bbb9c8e2bc4f93bcbc9baea6bafb2280bbfd5ef7bc4febbabc464475b95aa7ddbbc427d1bc0756c6bc2a722bba7af802bc7516a4bc0661c5bc088c59bb61a91bbced0031bcda8bcebc2696f5bb477332bc153fc4bb5fd5c2bcced017bc5c8849bc00000000000000000000000000000000000000000000803f0000000000000000e0cbcebcb887823f5ee5f5bbe867f5bbcff899bceff65c3f33ac0c3a0884cdbbb4c392bcf06a363f8e35a23b1cbf0dbc48e79abcded20f3fe44acb3b679b1abc14d0a8bc3f14d43ecd70a03bfbcb2dbc6b20abbca078883e87621e3a8ce128bc4736cbbcefadfc3df3a85ebb458b39bc00000000000000000000000000000000861a21bde5ca0ebb2d2a2e3c44cd57bcbd53ffbc6568cabcf040cd3b0dbc2ebc976d0abd2df900bd3964e43b1cf826bc169601bdb67a0fbdda51e13b41482bbc70c2dfbca0630bbd28b09f3b929343bc9e1ba0bcd7c514bd9e7138b99fe952bc13cf0cbc2b1d10bd23483cbbc95c6cbca415cd3b19700abd1311cebb6f0365bcb9b4c439dcd5a5bc7f4a01ba0d0433bc4ed136bdd5e8823fc0cefb3df23dbbbc60033ebdd9a3703f70d3ec3d7558aabc83ed25bd46c14d3f46e4e13d0320a7bcd18e11bd0a0e293fe8b0ca3d4be9a5bce8360dbd954b043fc4d3a83d1b0c9cbc56320fbd2390c23e7af4833da0e9a0bc0c8310bdb5be753e588d383d1fd6a6bc4fb409bd3a15d93d5e6fbb3cce779dbc3b61fbbc356f04bc4c9ae03b16c289bcabcd12bdd20b76bb19d5c03c5a5685bc7acc0abd7288adbc70d5b33cc0ee80bc66290ebd9398c4bcf0839b3cdf5a44bc2ec4ebbc33f90abd91ee7f3c1ac158bc2b8ad3bcf82105bd271a643cbac626bc2b6c7ebccb5f1cbd2f5b173c19da60bc967549bc8f7ff1bc8cece33bcc6f24bc88db953b90470bbd7259893bfa734abc79a34b3b0c71afbc5005bd3b9d5fcbbbe9164cbd5b2a5e3f26748a3e0da606bdfd4b6bbdba184e3ff67e813e516917bd44b83cbdf3582c3f7d8c683e8874f7bc5cb243bd3f0c123f243a4c3ebf9001bd17d02bbdc647e23e1a87273ede9edfbc4b932cbd2f4ea73eaddc053e56cee9bc006b19bd798f553e216fb83d5bbebdbc31c213bd4016bd3d378e623d1a7dd1bc3be6efbc8379d4bb61b4923c34ba93bc6b871abd8dff94bb2578103da9ac8dbc4152f1bce688bfbc8bd60c3d82768abc003decbc407cfbbcd0e7d93c03b25dbc5712c3bcf90811bde6d1b63c5bf54cbcdb8ba9bcfd5217bd6930a23cff5d29bc75a53abcb6e020bd7461743c5dc433bce22e8ebbb2ff19bd5b39363c7df82bbc3dc1d73bddc90ebd485c333c2e0315bcb258d33a4d3cbbbc8cb1693cff2a5dbb50e451bd1e57373f0a5cd63ee9972fbd3f9a6ebd364e293fac76c93ebd953fbd51ac57bd0dfd113fc280b33ed0fe27bd3b7e4cbd84daf03e12de993ebecd13bd794b3abd6e92bc3e75ef7d3ef3d406bdf5ab2ebdc65b8a3e0422463e880c03bd18b21fbdf5602e3ea5130d3e368ff3bc52a911bd2191973d76dbaa3d57cbe4bcd7f6f4bcd817d1bb1ed9f43c8bb4a8bc350b02bd37e730bcc24e253d358274bcdcfdcebcd1b1d5bc8e89213d431673bc7af4bbbc9e7600bd9b85f83c4fe023bc6e6099bc78251bbdb4b6d63cb7820ebc9e57a7bc1d12f0bceeafb23c2fb085bb52cffebbfc5e23bd1d0c933ce993f3bb8ab916bb3dc511bdfaf7773c888e8dbb61350b3cd0480bbd3db3753c4a898fbbb2d4423b15dac1bc8cf6883c71542fba714f41bdd4d0103f8640123f05a23cbdda9257bdd02a043fcd0c083f571e58bde30440bd2b9be13e3511ee3e125328bd8fd93bbde447bc3e59c5cd3e89571dbd540119bd1851903ed0e6a03ef00ddbbc583224bddb52553ed737823e4ec001bddd3a0dbd0a61043e4ec9343ee5c6e4bc10dd00bd9fb7543db0bcda3d1c97e4bc3f6dd6bc81b326bcec1e0d3d006ea4bc5c91aebc4eb48dbcea852f3da1a944bcbb185cbcb6ae04bd0ce3203da45a52bc1ad733bc1bc71cbdeae4ed3cebea10bcfddbf0bbb4612bbd476db63cf11ecabbd013d4bb42aa27bd5d969c3c20779dbb8f36403adba327bd8f4d5f3ca12fa4bba10bef3b0d0a22bd108b523cb30de1bb4199503c9a3e0dbd083b483cd13d81bb9f53f83b06c7c1bc9d937e3c4882013b1d592bbd5d2bd43e3e98383f25e346bd35a13dbdd2c9c03ee5232d3f73f35fbd5aab2fbd53a2a53eb03a183f07ac35bdeba21cbdc606883ed036003fea9f19bd26bd15bdb9a2533ee264cf3e0c2202bde0af07bde2f1163eaae09e3e0ecae9bc7bccf7bc9a0ab23d42df5c3ee559dcbc4f86d6bc8e28f43cea7efc3d2bf7e3bc1b1aa0bc762189bcc188123dd8fc8ebc7b9c28bcc73cb3bcc4d21c3d15f50fbce24071b9b51119bdebd0013d96ca10bc8e38b5bb7a120ebd391da03c8ded48bb0a6d543b9bf632bd3ff3703c0f812cbb6dd4513a43ac21bd5990413cd49495ba1349023c463429bd0e26df3b5ae634bb9ea7fe3b057f07bdfe95d33b8c8fbabaac8a863c11dc03bd061de23b6a9075bbb8e0383c79c2afbcd1f43b3ce2bee839f51703bd5e51873e80555f3f5a8042bd010618bdfa1c733e3971513ff7a155bd3f9df8bc4144503ea585303f7cb302bdf2d4f7bc46ee283e7abe183f65cf01bd7fd1dabc2739023e1e87f03e98c1c4bca2bac2bc5d94af3dfaf9b83e9026c6bc173ab6bc9a7c473df5a7763edef19ebce4598bbce4ae9c3bc388083e7768bebc7f895ebcb35eb5bc2e33e23c13618abc7105453b2c2efebc5287ee3cfff73cbbea0d463cf5d923bdabfe413c19187cbb853a283cf98725bd0f00dd3a39db86ba14cd1f3c77d326bd3f2479bbd2b0273a1705143cad9a18bdfdc093bbc85450399c714a3cdff614bd0d51e4bb9e056dbb8765653c065703bd5e6cf2bb34d293bbc2e3883ca4a4cbbc976ea4bb6bdccdbbfc25663caf42a2bc681a853b327a6e3818a5b7bca802f13de66c833fb3e824bd0ea1a9bcd90fd03dcc50733f542922bddceea1bc278db43d9c73513fb5bed0bc063f8abccf888e3dd16c2d3fa7ad8abc82f97bbca9d0493de4df083f662c5abc6d875fbca935e93ce123cc3e47d647bc83e132bcc671d63b1636873e8be76bbc6af7f1bb251673bcce51063ed3eb90bc4c4ccdbbaa48e9bcf13d7c3c87c557bc00000000000000000000000000000000d9ed423c5c5403bd99da27bb5b045d3b2ac1483caae8ebbce4d64bbc2860763b3b7b363cf7f2f1bca7505ebc0c746c3b56552d3cbb90e1bc2cad6dbc09ac3b3bd6ad393c4af2d0bca6c47dbc03cbcdb73159413c4205a8bc21e684bc7ff16cbb87bb4a3ce81a94bc1a184ebc5d9780bb0000000000000000000000000000000000000000000000000000803f00000000d53cf9bb1efa8dbc221b833f1dc34bbc6771a3bb887c72bc61f95d3fda426fbbb2d7b2bb2d3868bc416b373fc7f6fd3991a7aebbe2987bbcfaf8103f6531e33a1f6081bb843199bccddbd63e00bee23a7ddc16bb327eb9bc2ea48b3e4ab103bbfade9739c7cbe2bccb58063e6aafa9bb00000000000000000000000000000000000000000000000000000000000000006c12053d727348be29a52e3c9b08063c7144e63ca4c545bed633b53b906c123c0c09973cfaad36be91622fbb04270d3c1653573c44c514be6558d1bba1ad143c4f24223cebdbd7bd80e893bbff76e33b4b52473bb11167bdc815f7ba8228943bcfb9e2b9a53344bccabc353af42ba13a00000000000000000000000000000000000000000000803f000000000000000050f1e9bd6a05ab3fde61e1bda9e11e3c7d509cbd12fa8d3fa07e81bdfcf70a3b955977bd3ca76b3f87db24bdf9f3613a71c529bd2506313f86dfaabc8bfad4bad043bebc03b0e83e9161d4bb47c416ba21c864ba10f0673e16c9713b26bd2ab9210b663c93593d3ced76ea3b7603123b00000000000000000000000000000000396afc3c0d9802be735ab73c231f9fba7a87463d371c42be6d88d33c475dcf39254a2c3dfb6954becfcaa93bdd57dc3b0ddf0c3d050944bed53da4bb802d2f3cfb81cc3c38ee1cbe4f661cbc9de7ee3ba043863c2d31d6bdec833abc37e8ee3be2ecee3b67ce63bd486d07bca07be23bfe3627b9a8092abc7e01c0bbb2d28a3be626383b96ca8f3c7753ed3937794e3bd0903dbec89fab3fcbc9443c98126abc584627be105b9b3f6d29023dc74f9cbc101f11beafb48b3f528c433d5ec4b4bcfa82ddbd34ed633f7f027a3d8edfc1bc9d4097bdb94e283f8e52873d55fa98bc34ac22bd6ffed53e8c07863d9d0a84bc245e16bc625c463e206e643d310f4cbc8710bc3c1c06f83b7bc13e3d60c324bc0d84c63c9c8406be74385e3c8f7516bb3deebc3c806cbbbdad15c63cc21cfbbb5b901f3d05ba23be2e3f163b1f27143a93a4133d129c31be9dbc8cbca137b43b5250063deb7028be083bdabc52761c3c82e3b53c4db1fcbd9d47f8bc8ee7f13b85689e3c685bbcbde9f5dcbc7e1a0a3c01af633c5e144dbdc5029cbcb3910e3cb0ce093c4c8962bcc7f840bc24dfdc3b034df43b12c32d3ce840ab3ad0bd483b7b4037beb3788e3f36cc653ee0fa5ebde5283fbe2faf8b3f2895653ea79972bd6ac01ebea3b0743f0283643e23c266bdcdccf7bdf2b6463f3d0e573ea73754bd63e7abbdf2c5103f9b623e3e739a31bdfbe14dbdf28cb83e2a901c3e564216bd45c697bcfa6c283eae9ce13d0862e9bc5b10023c4adbb83bf677853da33494bc18e2813cde32bebd61569e3c830733bc6e723a3c56208dbd583e7f3cfeb347bc9896013d282803be51eebebcd9fe1638e3a9003d3f030fbe03bb3fbdb228b63befe0e23c674102be703d59bdb4021c3c31c4ca3cd12cd9bd72fe68bde7262a3c6e7b9b3cea6394bd86173fbd80a12c3c5ccb733ca7a427bdd480f3bc4de4193c8824433cb4705fbc5e8563bc32bd273c243a303cf952543b69758bba940dd83baff52abece196c3f4949e53ec306c0bdfbf030be3306643fc271e83ea448d5bdba8b15be2418473f629bdc3e4917c6bd6068e7bd78f81e3f7684c43e079aabbdcd6aa8bd41a1e93e75e7a63e149198bdb64751bd3d8b933e89c17b3e376468bdc3e1bebc2f09063ef52e263e4b8126bdad063fb9c4a5ec3b96ce9e3de25bd0bca83e9d3b836290bdfdda133cd68a82bc3133013c10b855bd3d61393b72f97fbc49d2ac3cc930b3bd612258bd1fa5233a92c2b33c73b2c8bdf58f9dbd11a6aa3b69dbb73cf186bfbdc7f0b5bdbe54193cebb8573c1a9a91bd6bd886bd28f1c23b9803943c8eb066bd4fb887bd68274d3c4e484a3c6b0405bd45f71bbd4c33333c64fd4d3cc37946bcbbe493bcadfa2a3cda54143cf5e5723b2cf885ba9eac0e3c12000dbee00a313f9007303fd91a08be475c0ebe4996283fe1e2303f433e11bef4fce8bdb83c113ff8fb223fe04bffbd59ecbcbd0ba4ea3e20250f3fe19fe7bd044183bd112ba83eeb0ddd3ebf07a1bdcd1431bdfef8593eb23ba93e8ce98fbdac1dc3bccd12d53d3598473e96f23cbdd8ded3bbff06303c31e1a03d2bb1d4bcf0c24739fb8759bd10ee3cbb259984bc78b58c3ba4eaf5bc61dba7bc700d30bcb7fb793cb86044bdf6e0c1bda02cb63b1eb6833c7c6873bd6e98fabd4877323c5a27873c7ba967bd387cf6bdd358563c145d853cb7d449bd60efe1bddc94563c2fd3493c9e2a12bd9e62a8bd0acf6f3c2013463c0d42c3bca5a64dbd0e02703c65e2293c6a9f1ebc7a77a8bc40365e3c9045f73bc5a02f3ba4ec043bf7ed013c6d9bc6bd4ce8e73eb6c36a3f7ff826bebd6bccbd86d4d83e4e326b3f209132be2d17a7bd773bbb3ee8d1563fb4001bbec25083bd3cd4933e1989363f7c9402bef28242bdb2455e3e408b103fd2a2d1bd5c930cbd4918143efcd6c63ed51695bd1495a1bc857e9c3d926c623e5e3540bdc6f603bcd0279a3c196b913d7488c2bcc58107bb9db402bd1e1bcebc8e1484bc22158838cfdbe6ba6faf60bd69840d3aa6d0bd3b6e4b4bbccafb0bbe891d7d3c95122e3c2d3ab4bcfe6421bea2b77d3cfcde363c2a2fc2bceff321bea8868b3c27ac123cc860c7bc9ad102be25a37a3c59f62b3c77adabbcc8f1ccbdbfcc8d3c6614133c2ca67ebc248661bd0142593c89920b3c454331bc0b619abc6d53283c9640da3b969387bafebce13b45dbf73b643664bd6e3e6a3e78bf8d3faa4c36be5fbd55bdb6a74c3e9aba8e3f2ea03dbe717633bd60082f3e2062803fc8c921befaac12bd3e110e3e4161583fea4605be5f7ad4bc4d5eda3db26a243fc2f4c3bd0a6ea9bc1d97a03d45f7e03ecb098ebd599d51bc0018423deba26e3ed8271bbdf4a112bc3851cf3c916d5f3d665641bc2bc059bb8290dcbbd66a6dbdd0818fbb41649bb7d5f25a3c06b0dfbd109a613ccb3727bba3caff3c550e36be7711ed3ce7a3b83bdb1b5c3cee1e4fbeef49c53cde12c13b5a41cc3b8c1345be123eac3cd2a2b23b249023ba47ab1fbe11a2883c7925a93ba8095ebbf79ae6bdcd35783cbb4d8c3b8f09dfbb7c5a7ebddfa82b3c2cd2c03b184a5dbc460236bcf1e4cc3b389b2d3ba5290fbbdb2b823c9cc6c43bea0187bc650d8f3cc243ab3fe8843dbeca5085bcd02f983cb7ad9c3f870525befae569bcb6497f3ca6e38e3f9b570cbece3437bcb785853c79b76c3f3abcd9bdebece8bb1e2a903c4c70323f938b97bdf659d5bbd1c4a93c5cdaeb3ed57743bd4ac9b2bb37aed33ca9f66b3e35ea9abc81470fbc65be153d7971fa3cf846bc3b299268bbd2ab2e3c07b7e9bd9f59e03b000000000000000000000000000000009923d83a1235d93c80cc4fbe02f6c03cbb4abc3a124ec13c6ced4abebfd78a3c285c803bb27d253c28523bbe22b02f3c4dbe093b4a95f93ba7b918beedb9b33b3876ec3a8cb9c13b638adbbddaf6a73b56094ab9cadf573945c468bdc6dd463b7ea1e7b8ba0f0fbb80e31ebc45fb60b90000000000000000000000000000000000000000000000000000803f000000004d0b6a3c2e65efbdab17ab3fb2a2dcbd4909463cc5ada6bd83f78d3f7f5780bdb148fd3b81c478bdc0cb6b3fcf4229bd6b83113c766833bdaa5d313ffa6bbcbc611bd13b2da1c9bc3bfde63e58c3c4bbdbc9823b458240bb1787663ecd56c83b9123b93a0f7c423cc024e13b6384703c000000000000000000000000000000000000000000000000000000000000000092fc153d359934be595ee13ab4081e3c304f123d8deb36bef2addc396447123c5f9cd63ce56025be985657bbaafdcd3b30f3b33cdfdc0bbec4f925bbc2cdb13bdde6933cea5ad1bd2e6810bb67b4933bbdd7203c37b279bdaa44733ade2c683b4dcca13bdf2697bcc3a3873bb9d8a13a00000000000000000000000000000000000000000000803f0000000000000000be73e0bd70b5a63fbc43babd9dfdab3b49f1a3bdedf18a3f636c50bd29bd453b1b9886bda92f653fa201f7bc42b7883b98d853bd4e4b2e3fb4c38dbce1b8583b6e3211bd7ed3e93e0d3a0cbca8b6523ba6c02dbc5127743e41fc22bb62b69e3b5dadb23b201fd13ce8c01ebbcea9f93b0000000000000000000000000000000062ef3e3d88a40fbe295d083db4050fbcaf23903dd6ef5bbe9cfd173d9451bbbb2df7703d94b05abe416bab3ce0636cbb97a5583d70f348be8bc7543c79d99fb9c2012d3deaca24be08c3013c22f81abb1a6a053d24a2eebda38fc83b1a6d8438f730a33c4be985bd26b79a3bbc88fe390e95553b3eec31bc2e8aca3b3ecb813a7584163c2028c83b81aeb43bf033113a254225be57a2a63f231cf83c64b35cbc24621dbe913b9a3f33ee313d066fa7bc77c601be5529863fbf628a3d44c1b0bc172fc9bd68ef573fe190a53da538bdbca7928bbd3b181f3f80d3a93d9d6d9fbcad3422bdfbfcc83ebbff9e3de5a78bbc831bbabba2112e3e657b8d3d6caa66bc0df0003d9cdef7bc5d616b3db7cd3dbcc5afea3ca95b13be11eee23cec500ebcdb8c463d44f605bea4c57e3dcc6be2bc3e08873d07af45be083b333dc3d89ebc9f776d3d994043be0fc9b93cf7a47dbcd5f55c3d8fb736be37d7313c08cc62bc8a7b2c3d3fd00ebefd3a9b3b765c24bcc4fa133d21d9dabd9e8593bafa25cabb451dc73cbd437dbd6c7960bb56932fbb165e693c27e6aabc310e81baa7462e3a1900333cb27db6395750983b0c861e3b462519bef154893f54806d3e599038bd326621be9a0b853f845b723ee63b58bd0a94fdbdae33613f55b97c3ed91754bdd0e9c6bd29a8343f5a77743e2a3a4dbdcbef85bdd333003f503a5d3e9a9440bd30b508bd79399d3e8fcb413ee7ea34bdc7a70bbc3a42013eb9e8153e871f20bd7ab1ca3cfd5d2bbd8ff4d63d2a7208bdab7f003d912c05be2b36623dbcd5e5bc4bf01a3db1c0e9bd36eb963d692830bd59ed723dface2cbe34a9223d09a808bde2c2603d28552cbe6b86483c9505dabcc1234b3d46c41bbe094f5ebbec669ebcbcb1373d35c801be7edf4bbcb22f87bcfd3e053d837fb6bd92037cbc657814bc1f56d93cc0535ebda7c276bce32a26bbc047863c48c7a9bc979decbbdb5ea13a0805843c19b7debb12c92e380a12423b65180abed1475f3f024ce43e11ea9fbd66b90cbedab2533fa639ea3ec150aebdc964dfbdfc88323f8b73e53e455faebd71fea7bdc96c0a3f167dd23eecc3a6bdf3e161bd5e65c23e2ca5bb3eaabe9cbd0ad8d9bcafaa603ecea6973eeddd8cbd257741bbaede913df2fa613e2a2479bd44bdad3c807250bdec21123ea0e051bd4fb7b03cb7c1ecbd0766913dedcf30bdcde7043dc7dcd4bd8979983d1d8c52bd00c0413d6d7d0abe3b98cd3c40a625bd2e2d2e3daf5804beba71bdbb7c4ef6bc44c52e3d9185f7bdac92dabc5439c0bc215df43cdfc1bfbd75a78abccd1c9fbcd1b3f83cbfdd94bd0e6911bd9afc01bcb76eb73c15ce31bde02cc4bcef1723bbd88c813c063e90bc71b179bc688c833b3058733cbec7b9bbe6aeb8ba3d269d3b3281dcbd4c72263fad6e2a3f91cddabd7999d8bd90151a3fa51a2d3f7c35ecbd77e4a9bd5c8afd3e33bc223f3271e0bdc4ce7cbd6e8ac03eda3a153f86fad9bdb81d2bbd0fc3863ec176ed3e91ecaebd6d899cbc6d140e3e7050c83ebf9bb3bd16aa6bbbaffb1a3d89b28a3e832c97bd20087c3c4f215fbd084c253ee97181bd418e983c7ddfd2bdb1a6903d014754bdca3ad03c08aba5bd3057543d802e45bdeec2083d46d6bcbd81668ebce32e0cbd4ea90a3d18bab8bd71ba54bdd103d6bc71b5e93cd9519fbd1ae783bd2a598cbc7d82ec3ca1c689bd2b6487bde74750bc5d72a53caf5331bd8ac56abde1682ebbcb398b3c4170d4bce97c37bd2fd59e3b2fa43b3c0c3ea4bbf952d1bc84c8103cb1a40d3c6e30e5b92da2d0bb95a00b3c37d09cbdf3b1dc3e7534623ffc0808bed27f92bdc7d5c23e3e64653fb5b515be190966bdb6489c3e42ae563f7f740bbea76619bde61e643e29bd3a3fe600fdbd725dbebca97f103eec0a1b3ff9d2e1bdcf401bbc7f538a3d2564e93e71edc0bd398a393b98e6e03aa1e29a3edfaca7bd26113a3c8d2756bd1121203e0b7f83bdfc06933ce2afafbde9914f3d8b1259bd280f893c182635bd57b7813bd79a10bd1a6fa03c00d22abd14de9abd4746a7bc660c9d3cdd4939bdf544c6bde93e81bc42f8923c5ce613bdb8ffe7bd53ba08bc77cb783cb008fbbc2897c2bd4c3ec0bb44b6363cb61899bc11deafbdaab3763b842c183cbca828bc478f60bd0fe5da3b64d3dd3bc3e68fba4e05f0bc2007413c389d643b7a5da93b2fde67bbfb1b4a3c55a536bdcd16633ef9738a3f8c7216be3d3421bd9aca323edb3d8c3f7a8424be0a2bddbca6e40b3e28e37b3ff2970bbeb44299bc7a7db83db8ae5a3f80d001be143f12bcec17503dfdad2c3fd228d1bdb87216bac9af653c68b6fd3e7a10b7bd7b06443b706061bc11f89b3ef9948fbd00940a3c5f9a0cbd879f013e736654bdc73a383c34a955bd46d36a3be97f2fbd3533b03b7c8e11bcd3b985bd54c967bcf066bf3a14bbb13c90d21ebeaa26b63bfa0ea53be8eb3d3c512f2fbeae0b873b2f2fc73b9b45053cf09628be3d9f913b29dca93bffd9e83bf6560ebe5189a73bf7fb4e3b886af73b71c3debd42a3143cf1c25f3b9576b33b2d288abdccf92e3c9c50403b080e1c3ad94699bcb293323ce1ebfa394a2ecc3bdca5df3afa1b1f3c6d654ebcfcbfb03c9c14a73f805420bee18b44bc4a86933b66f69d3fb68416bef9a918bc6af791bb72208e3fbca100be247c98bb9bca60bc69936d3fde20ccbda5b27bbae872a3bcd115383ff92ca5bd2d3c223b5378afbcfa84fe3ee56b7cbda9960d3b54d490bca1f28c3e99d62cbda85e363981b9a038a5277e3d98b79fbc5c657e3bfa619cbc57928cbd9e78b8bc00000000000000000000000000000000eaa340bbc59cee3c187136be29e33e3c926e24bbecb7013da62d3dbeaf8a243c9c6be1ba2e9aaa3c087f2bbe7246c83bb24fdebac30c9c3c4de813be4b82a43bd2909fbaaa06a23c9b06e7bd8df4b03bbef833bbd5ff763cbe678cbda4eec03b501c3cbb68aa313c72b7d5bce5f7b93b0000000000000000000000000000000000000000000000000000803f00000000f1cf263c5a8fe2bdfc04a73f9fffbcbd8490043c7c59adbd790c8c3fea0864bd2a601a3c96fe94bd06b9683fb6291abd2f06fe3bce0378bd487c313fe663b5bc74075d3b58ac3cbdca1df23ef61b52bc1bee5c3be332bebc102a7f3ee5944dbb4a7a653a1e2d90bb62c90c3de31a313b00000000000000000000000000000000000000000000000000000000000000001624303c9d7bdbbdf17ba4bbb3b4e53a5f965e3c990eeabd3a3753bb55bb7b39ec1dde3b6cfcd9bd18b295ba3ccfddbb7737f23b5d45c4bd169e8ababceb27bcc66b123c2c69abbd9bccb7bad4bd01bc13ed393ce76a82bda62388b99cd0c2bb238c5a3c711235bd8e27913aefc5b9bb00000000000000000000000000000000000000000000803f0000000000000000909b82bdc998953f55c243bdb0fc083cd18446bd911f7c3f7245cabc144ae73bed4924bdfc554f3fecba47bc5e38ca3b1ab20fbdae80213f5fc3a0bb0edfe13b442df6bcb011e73e626980bb36947d3be5d8b1bc87f2893e58d209bce29aca3b9dab90bca7c7c33dfe8d58bcad83973b00000000000000000000000000000000bfceb93c3198c0bde1f5e23ce70096bca460493ddd6c25be35a4e43c70ca66bc3a701f3db5dd27be93d4c03c7c688bbc9ab50e3d793a1dbe02279c3c6a1891bc1be7013d8c5c0bbe89cf913cdc549ebc6106063de9a5efbdcfde773c99dd87bc1db0f93c1ff8babd630c613cc2eb43bc8312e53ce94f65bde3de4d3c75458ebb7c4cea3c718a1ebdd3864e3c9138cbbb5328c7bd403c953fb7e3a03d940f3dbc85c7ccbdb57c8c3f7fd9a33d492a13bc9421a5bdfd50713f88a8bb3d68d13ebc666f86bdebf7433fd683bf3d524a42bcd65354bdcbfe143f3198b43d1b135cbc583a28bd0204cf3e5922963d6a4348bc1fb9cfbc896e633eff7f6b3d63d848bcf9fab9bbe2c4453deb400f3d00cc1fbc3ef902bccd5385bdc4de923cbece89bcf9bc033de133cbbd5f067c3da3dc11bd60144c3d83df1fbe16b3653dc41f10bdddfa203d3e3f15be27673b3dfd7007bd6815373d9e0920be8d831c3dafacfbbc42bb1d3ddb2c0bbe716d063db61ae7bc0e5a293d8499fdbd4af1d73c2587d2bc3a6d123d574ebebd8a60b63c67879fbc02770d3d88748cbdced6863c5b3643bc35480c3d37ad3cbd030f9c3ca4b9c0bb4e05c0bd9d7f773ff350823e91b410bd243dcfbdcb846d3fc79b7b3ef76e08bda8fea1bdc978453fa6e5783e644511bd726d89bd7601243f7754693e0cdb17bdc8884ebdcf3df43e04534d3ef91e1abd9c921abdfca1a63e8137303ea67c12bddd62c8bcbacf343e5f47073e5cfb1abd026b87bbb6afdc3c7041c43d619315bda19d7abae9fd8bbd7a94603d487d09bdec8eef3c09d6c9bd4c89af3d1ad84ebd3a9a463d623f17be24fe993de9b04abdba873f3d56e51ebe5b98683dbf7c39bd79163a3d420319beb4c13a3dbf3d24bd46ac393d00c00ebe64a71a3db8d91abdb3e92c3d917af2bd6e18e83ce6e7f3bcb651243d9408ccbd7f74b93c4a6fbabc159a153d255b92bd7b828e3c11495ebc920f103d522854bd388ec63c4506f1bb18fdafbdfe57483f5533de3e5bf26abdc8a0b4bdf3f73b3f5a8ada3ea4fd71bd8ec293bd1bc0203fce29d03e9dd96ebd67bf6abd1876003fecd5bb3e61d968bdd4e334bde6d9be3e14cfa43eae2374bda31cfabcd2ee783ee118883ef67d6abdaba574bcae62f63db53a533e865567bdd93130babf2d993bbbba143e02bd69bdaa2302bb3a758bbdfe62a53d9a2959bd6afce43c3292c5bd1b18bf3d486f63bde4bb353db76a09be907ea13d127765bdff7a213df76807be7f4f623d6eb03ebde0bb383dbdaa0dbe7d9c303d11ab36bd98a6063d49b8dabd788c1c3dae6efabc9475293d68f2e4bdf42fd23ca97efdbcec790f3d8de9aebd6b07a73c8f5fafbc2f300c3d7f788abd4f20943c0c0069bc98fc053d279449bdb96db83c9cf8afbb04d290bdbf9d183f22371e3f0f4a9cbd424d8ebdd3550b3f7e2e1b3ff6eda1bd9d1063bd5469ea3eeb550e3faa3099bda9bb38bdc1e1ba3ef641013fbb0e9ebdcc3613bd6c8e883e3d1fce3e5a6d89bd5b9aa8bcbcdb293ef9f7b33e2edc97bdb0f747bce836993d17f6833e1b4b8cbdba486a3a6a1c72bcfbf5363ee23390bd1efd583aad328dbdaeebbc3df4057abd92f6e43cd085b8bdf848b03d10175bbd21f31c3d965bf1bdfbf3713dd9f765bd86991e3d80a7f5bd1c6e053d182b40bd0479133de750eabd124da33c056e22bdd7161a3dd6c0dcbd8e88603c51db0abddcec073d58a8b6bd6984d43b3fcecebcf20af43c73be91bd1c08633b7eb992bc9b30ce3cbc1452bd4f8da33bae9c1dbc1167cb3c6a6819bdd469843c4c34eeba36ef5cbd5178d33e30e44d3f3fddbbbdee4f4bbd95e7bc3ec2934a3fd7d1c2bd5a7324bd96829c3e798a393fb60db9bd1ddee5bcb9d0703e96ca213fb97dadbd9068a4bcfbef293e9e8b073f69c4a7bd34d44bbc6d83be3dcf89d53e15bba1bd1c901bbb02afc83ca36d9b3e29fc9dbd341ff53b523a0cbde56a443e2be298bdbc5cc53bfdda91bd0c36b53d060984bd075db53c5f1b93bd7e365b3d4b7f43bd6818e53c2b55b1bd7473773ce8023ebdd27bd43c4bd9abbd8dcb383a3f2114bd22cce33c5672afbd618a88bcebbb06bdcf00cc3ce85395bd89e879bc7f20c0bcdd40b93cafb480bdaa83abbc02cf9ebc77159f3ce32b41bd620b51bc4a3d32bcab2f653cd04ee4bca5ee30bc6f152cbb6e9d613c5a4196bc9064b33bf0e5093b213a0ebd1bc5743e09a07b3f5a46c6bddf81e1bc11a5493ee317783faeb1cfbd9a91afbc8681293e50b7573fee02afbdcd4f63bc3bd5ef3d29c33e3fdcabaabd5f521abc0da29c3d2f0a193f27a599bda31e7fba8a66f73c8e97ee3e69d499bd8b46843a542675bbc245a13ecf6289bd1dd1223c70fb41bd0d893a3e74b391bd2bd60d3c617382bd5ed1773d569274bd543d783c650644bd4b59d23b5f9c03bd77ec223c2d1f13bd062371bdec2002bd4cef533c867c2bbd546f92bd11c5cfbc6f45513cb69329bdeda58fbdc1eaa9bc74094c3c3be51dbd176d7abd6ebb86bc603d173cfbb4ddbc49806bbd5f983fbc7418dd3b48d164bc243a3fbdfeb790bb076899396cd4403bfee1fbbc705a5b3b83474a3b4623dd3aa21015bc2bd0bf3b129d54bc6c5c8b3dd629963f4bb8c0bdc515d5bb4aa8393d21358f3ff281b6bd53dc97bb4e3f0a3d1bb97c3fe3a296bd440f85ba05899e3c3457533ff02081bd96ee1b3b8a51023ba1be273f3d9061bda445873b0b4582bcf715f93e9eef54bd9d1ebd3bce6505bdea51a03eda6653bd477eef3b36be2ebd5728103e4f9652bd6480143cb9515cbda3337d3c0de93bbd00000000000000000000000000000000e6876c3ba34f71bcdfa8a7bd178c1bbc49a0eb3a917d29bc65d6c0bd7357fcbb3a7b5e3b762173bc0899b2bdf62e8abb1833533bb51852bc7a67a0bd6868b6bb1bbdd63af878babbea718ebd7e5d5cbba6b159bb6d89893b31d66dbde730cabaa24985bbf0f7543c08aa2dbd0195fe3a0000000000000000000000000000000000000000000000000000803f00000000c5c1e83b4c5f83bdf209963f1a373fbd58130f3c6ca553bdf1137e3fd49ad5bc8068123c33fc47bd7205533f80509abc8a6ffb3b1f113bbdd2d4253ff7126cbc84a3d63b21e631bd0cf0f03efa1255bc64d3023c3c3023bdc6a4943e0f2e73bc645bb73bb3491fbd0464ef3d24ba93bc00000000000000000000000000000000000000000000000000000000000000008843613d05525cbe2e00493cbe81b33b40dd2a3d4e574fbe4ac4b53b33aba33b61ad0c3df5db48be843463b9475dc73b5607d53c434923be1215afbb1394273b6d3f5f3c514fdbbd31dcc5bbdd62b23a07e93e3b2af962bd1828adbbdf6a7e3ab15754bb357500bcb04d42bb85d04dbb00000000000000000000000000000000000000000000803f00000000000000000b0802be21baac3f7217f0bde0230b3c7f469ebd769b8e3f637481bdc594f2ba4efa7dbd17bd723f76ac40bdd273d6bb9ede1bbd001d363faa47dbbc1a879dbbf66422bcf028e73ef1938fbbe93f74bbcdc46a3cf67e633eb5e8113c138569bb486c183db900acbb6971603c6822033b00000000000000000000000000000000f9d65f3df79118beea10173db6e817bc80a0643d3a9b30be2dfbd03c23d222bc11a2583d57b453be4dee013cdc4c41bb7f8d2f3dc3d440be025d5fbb969e5fb9ff10fa3cc70116bec2bd17bcc7841c39c19f9c3cec4abfbd126780bc60da08ba44f0a43be30326bd4d196ebc2b53aa399dc680bbc6de0ebb47a77fbc2dcabc39cfb920bb9c4fd23c2813adba79a1e0ba3cb84dbe09cbab3faf0dfbbba0a7dbbb17b01dbe4b46953fe1c53f3d94c4b6bcb1f60dbe974c8b3f842d3a3daf96e2bc81dac6bdfa7a603f2f2d8a3ddf930dbd53eb68bdfe27233f250fa13dfd2c06bd6079a4bc0dc6c93ed3d0ab3d2ae104bd79c1553c84132a3e83529c3d9fe1e4bc582b033d6fb23f3cfcff7e3d4a26d1bcfc1b393da69820bea008073d5b1235bc802c133d77d7d0bd80074b3dea04a6bc498f573d38c827bef7a1913c097b2bbcdded473da42b34be325f98bba8dae1bb09f01a3d251018be6882a4bcd5552bb8cf04d73c9470e2bdaae3dbbc4f9697ba69767d3c553379bd51e60abd02ba143bd719f23b9b828ebc9152e5bcb6b0603bb435153b90d7193c965ca2bcea2aad3b2eb87f3a9963e03c7f2be4bba299bc3bb3ea3bbe17db8c3f87fb4b3ebc5930bd44ef41be273e8a3fdba3593e25286fbd7db51ebe7855723fd8dc643ee14c83bda68adcbd6d823e3ffa46663ebb7389bd3ce587bdb076063f0bab583ee40383bd38a2ccbc3d9d983e77de4c3e2f3b80bdc3f4373b5489d83dbc88233e6ca057bdb474953ca5b7d9bc0a7ed03de63c26bd1399b73cc0c2e7bdb1e54f3dfdeaedbcdd63d03c108aaabd34ba363d94e7dfbc3f9d2c3dea34f4bd639868bb4e8485bc87ba1b3d6b50fabd709213bdfa5bffbb67e5d93c2a6ac6bdfca051bd22ad10bba195ae3ce96a88bdb68278bd49229e3ac7b0473c4572e6bc91d760bd37b9a43ba646be3bd5f821bb612b35bdd2d8203c72b1b23b2c22903c930cd1bcdf08223cdace8b3b3b9fe63cc3e906bcce552b3c9e5134be59556c3f2823d53ed996a9bd27ab2ebe5ac35c3f1c17e63ee295d0bd14410cbe64a03d3ff895e43ebb88e5bd8a6cc1bd5b02103f67f2d73e3036ddbdaf6f65bd6611c23ea198c43e52c2d3bd5a4dd8bc8f4f513ea7f4a03ed9bbbbbd6146a1bb7e09913d6c81633e49d79abdef72083c827ff2bcb2dcfe3dfa3556bd565c233cc2d1cebdf7a84b3d710d1cbd04bb973c498c5ebdebd4f73cd29bf0bc7bf9d13c7a6c90bd956a0bbd48dc5ebcfb6cd33ce0848fbd01f595bd85abe9bbf2539e3cd6724fbdb943b8bd289219bac1263b3cc574e9bc2e1da8bd4fd374ba57c8223c42d8cebb9ec8a1bdba0e1d3cf955543b47861a3cf4da4dbd4f9b503ccd74953afe04a73cbecee2bcbc8f673ce4966d3b85d1e53cac0839bc5595833ca48112be1f062e3f921e2b3f950c02bed7f308bec3971f3fa80b313fcfd016bec77fd9bd9eab043f653f2c3f9ef216beddee89bd51a4c03e90ad1e3f3dd113be87d524bdb2ff793e80b3043fd92efdbde715adbce89d063e60d4ce3e4070ebbd7cbbd6bb5dcb323d62d7813e0d30a7bd03d5793a4626aebce9f0013e3daa6ebd0a2fe63a0a3a94bd9e4d063d0dda2bbd8c1aaa3bba49acbcb00b6c3b0537c8bcadd7823c1cc5c0bcfeb49ebd416772bbadbd703c9758a8bca45eebbd517d3f3a528f0e3c0fdf01bcd41a01be16166e3b1af10e3c805a0cb99b70f9bd0e5c223c7c2fa83b45a5e03bb3b3bcbd06db683cf100c03b30d9663c0e1f6fbdec32863c27438e3ad11b8c3c0c38f6bc59b98f3c74c314ba7554c43c9c130abc5f31a23c4d8ac3bd9ec0da3eba19693f4dac26bec0adc1bd4b7bc53e15b96b3f91543cbe2c7686bddc97983e338e613f91e935be80062cbdda66563e9887473f20d826bebc37d0bc97c0083e0e49233f44c615befdc0a0bc86b4ae3dc9f2e73e9c93e9bd178929bcfb910a3dac21893ee0d2aabdb82611bc483b35baabd5e43dd79a56bd0f36bfbb70660cbd5504163bcbad1fbdf02fe7bae524583c011117bd1eb5e6bbeeaaa83be0f1893c050201be71fa113c253e9a3b5547933c5ddb24bed2a4373c4b35c53b79969c3cf7972bbeb6b6773cfef5803b7147893c4cd415be2fb08a3cbb866c3bdd79593c8e1bdfbd2190893c33c1d03a42c93e3ca5a483bd0c348c3c8074173b2985373c612cdebc9863783c3f6890b96e1d693c84df79bba6ba913caa5658bde21a583e91888b3f985633be7bbf34bd3a53263e803c8f3fe73047be5607efbcf25dea3dd0f8853fa7c940bebaaca8bcb280a53d0372653f74ee29be985f33bc3cea6a3d5a2a333f10590bbec37d2abcf855383d87e0f43effb9d5bd292e35bc069a0d3d28f7843eb71285bd817420bcfe0c9e3c2d379e3d6d7600bdd60921bcd18d27ba007105bde8feb5bc095785bb8733183d5fe6ebbd5778a83c9d92c1bb9b8a1b3d2cf415be86eac13cbdb62a3a2943193d566b49bec420ac3ce73c1a3b25d2ee3c2db540bee37faa3c5c08af3ac31bb23c50e920befe93723cd67e103bee74583c8c8be5bd59b7613c0a95e139231e513b041572bdf730f33baec6403a74803abaac1593bc2ab15f3b046cd2ba2376663b8a47433c3f390f3c58f21bbcc5133ebb1ea1ab3ff1904abe2eef41bcd650ba3c91ee963fd2d623beedda74bbf70debbbc340903f0fb021bef328b23966f509bc9251703fe53508be4463723a0aeb953a7707373fe544d1bdfee788b8715e543c4745f13ed36b8abd5c9872b9ee95d23cff7c6f3ead0a04bd5af518bc199fff3c7a71723d232d55bbe2750abc540df33cda1feebd1d62423c00000000000000000000000000000000d1a68bbbde344f3d5e255dbebbb0083dd1b482ba517f173d72c44dbea8caaa3cce8c0e3b9d53e33c1c2f45be3814293c8c07053b5f9aa93c493f1dbe0258ab3be6040bbb38de383c861dcfbd0b535ab885dc12ba26fcc53ab2d14ebd8b2392bb31481dbb3a2094bb882da5bb69d1c4bb0000000000000000000000000000000000000000000000000000803f0000000048849e3c1a9b08be8254ac3fdc2303be6b1f5c3c4364acbdf4668d3f9ffc9bbdb6d56a3c810090bd32366e3f6ccc77bd98e9653c35a33fbdd8a22f3f324f10bdcf68213cf4277fbc5909dc3e9c252cbc2c417e3bfcbd043cd5bb543ee6ac2d3c451f573a61cd003d0a916bbc989ee33c0000000000000000000000000000000000000000000000000000000000000000d950633d787155befb920f3c97ddf53b65fc3c3d262e4fbe52234f3c69b7903bd010173dbf3149be262b3d3ca8ea653b1db1f93cbb9926be3b7d6d3c4cfe8a3b4911753c971be2bdf90cfc3baf850a3b1a96f43a2cde65bd4b9df53b23178e3a568280bbfdb4debb247a0a3cc76a75ba00000000000000000000000000000000000000000000803f0000000000000000773809be98ebac3f5e82eabd16d9b73bf6edb1bd9a568f3f1eb49fbd5fd5b53b861289bd46a9713f24568fbd6c80ec3bcb4f3bbdd342353fedb06bbd9e84c93b48904bbc9e3ee83e1ea42abda9a1043c9ca3533c22225e3ebe6db4bc5b56de3b1e8b033d185b65bc0dcd61bc436fe23b0000000000000000000000000000000058c48a3d9e9a43bef079823d80ee99bc3ada833d212553be967f883d9ea8d4bca6f36a3de1f363be4c9d533d1b22afbce1e93c3d46da4abebe2a273dc0f282bce115ec3c850619bed480ea3ca58a6fbc43714a3c37ccb0bd1399913c7bed42bc8f6f623ae96ffdbc5808c53b5b41fabbfbdc42bcfdcd703c4a0993bb9f8080bbd9482ebc9cf53b3da44a863a45909dbbaef842bef81aad3f1699d1bcb3d009ba0fbf16beb778933f6a87ba3c6b9fb7bb62f5f2bd77de833f2b24f63cd3fe06bc32eba3bd97134f3fb01b493d035526bccd6e15bda020103fdf11853db06f38bcde7bcfba913aa13e248da23d68f774bc9b77c93c6213be3db1c6b13d25158cbcbf24343db10289bd4792b63dd281ccbcb90f763d683272bef7f1823d05eb72bc9da35b3d414736be51fe013e53b56bbd64dd7d3d5d4455be97f9c13d908552bd705b553d93454bbeb8288d3d3c8226bda8b6143d6cce1ebe061f3c3d02c51abd6929bb3cf279d7bdc8c7dc3cfc83fabcfad0123cefb737bd65c9a03b7b0ba8bc7d5e61ba30a563baa2ab11bce1a13fbc4a45dbbbfb3f133d6cfeb1bc381381ba0f6c2cbc4fbf5d3daf0872bc4ea2933bed0f1bbe721e8a3fd4fc1a3e9ccd44bcf27a14beacec7f3fcd8c3b3ea079afbc9ec9d5bd8635533fae405a3e1c4ceabceb8876bd62fb193f50db6a3e458e00bd50b2b5bc9081be3eed9c703e09210dbd34babd3b4b5f1e3e58f1733e714e2abd746ae93c5fcc6abc32e35f3eef4432bd6ede2e3dbc2e16be31323f3e8fa63bbdd350433dd8c769bed35d153eb81238bdfc8f293d9b4428be6571243ec30ea9bd5311423d55892fbe9850d33df9d58dbdb8da133dd23c0ebeca0e633da68364bdb089b73c5e87c5bd9d11d43c6ac243bdcc10303cab3240bde48f20bc96c612bdaba6373b73b1afbb25a0eebcfd5fa5bcd3e181bbd0d3d73cebc728bdafe362bb8231c6bbe463463dc68835bd26d0393c24a1ffbbac43713d9fe10ebdaf7c7f3c9988febd8053593fdf41b63e0e1fefbc35fcddbd24463d3f5a26d53e6c1448bde50297bd0259113f2b29e43e544771bdda3616bdd673bd3e9625e73e8ca77fbdb344adbbabd5393e6331e73e6ce48ebd3c9d363cb6ba0e3d34c9d03eb4d195bd4398d13c3953aebd3498b13eb175a0bdbf1a0e3d586d2bbe374a893e2a3ba1bdbdc3063d9be35abed1c6423ed2ba8dbd8184fa3c67fa02be2e231f3e7b6cc4bd25a6ea3c5f88e4bd379da03deecf98bdbbe2a83cab26a8bd33d0c03c6c9278bdfc971c3cb98b16bd8474c5bcff4739bd0c11b53bb394a0bc8e7913bdee1e0abdd2d3cdbaea02d23c4f6b94bd52310ebca2a45bbb767d203d883d89bd5ce10a3c0919d5bb07485c3d408085bd7091d13cd77ac6bb51c6693dde6e4bbdc028073dffebb0bd844a163f21191c3fb85264bd21ff8cbd6dd7f23e395c2b3fc2029fbd997d29bd6085ab3ec8a22f3ffcb5b9bd44a06dbc0f6f323e109f2e3f78c9c8bdc1f64f3983708d3deda01b3ff04ac0bd73aa613c33203ebd7b750c3fe39fdcbd325aa53cfe63d5bda72dd63e9756d2bd3ad5a53c6d3a17be9a0b983e45bcc4bd4398ac3c212e31be52d83f3e9a30b1bd9c0d873cb1169dbd1cc9e63d7067b5bd051b3f3c344b32bd1168183cb85b6ebd685be73b6c068abcde6f37bd07df2abdad1b803a58e6f23b886ca9bd49a7e4bc104da3ba4b8ce53c7608dbbd72dbfbbbdad239bb7b551e3dde2fd7bda293573c8caf8dbbbf46383d940dbcbdf58ddb3cc3b684bbe06d453d9caa96bdbf94333d372a92bbe79b3b3dd08545bdfb213e3d5ffa4cbdac69aa3ee36d5f3fcb59bbbdb6d920bdb1af7e3ec7956b3fcaf8edbd0fdbaebce10f113eb37d693f9f8efdbd69ccdbbba96a543d98fa593fa44efebddbf1343becd3aabc3452423f0eda05be74b0993bc72971bd3cb61b3f9e0001be05d51a3c404fb1bd4c42df3e9814e8bd20efe23b1854c3bd3baf853e581ec5bd8c65b53ba025d1bdda310d3e7135b4bd634b183bb17787bcb3e9f73c3e5a5bbd9225243b9ece283c02d194bd89e2d2bc9247fdb89f66c93c35eff6bd36e47bbc47ed29bb4e7f1e3d5a0519be2c3bf63a57b3deba6242193d4fc518bea48c743cf50871bbf920293d4fcb09be8a69fd3c8d4910bb814b153defd0c6bd482a243d8294b4ba07def23c60c284bd7dbd3d3d7752efba2f8cc23c82f505bdb467433de64bb0bcc107083ec8e08b3fe445f7bdb6418cbc25e9903d2062913fd8d117be7de60ebc23559e3c054e8a3f6c6517bed370aebbe65b8abc0c39783f496c12bee45386ba5d2e12bd91c94e3fcf640ebed69ea0b92f3e29bdd12e1a3f720cffbd24e95abbe8222ebd16c8c33e7c36d1bd94399cbba618eebcd1593a3e862b95bd852087bb6240eabce1b6353d60967abdb611cebb0ddd063daa32bcbd04e721bb94f2e4bbd14e253d559507be6ee5783cec1692bbe011383d074838be9b85993c9b1db1bbb242423dcbad41be388ed43c39b7a5bbebfb2d3d4df22cbeddb5f73c0fa550bbc066ef3c07e101bef081f63c6c3ae8ba4c1b9c3c5165a4bdeb25013d82d92dbabc7da63b457206bda6b8d93c86158f39a3959a3bf99824bb64e9003d47c25fb96a53fdbc3005ae3f35da28beef393fbb1e3087bce0249a3f4f3d0cbee9a213bbd90c2ebd86f2923fb3350ebe57859bba6c032dbdf7d17a3f331501be452eb6babb2510bda037453fa3dfdbbd1dbd5cbb52108abc00fc063f26eb9fbde44a83bbebadab3ad1a3923e325a53bd8369f3bb0d1e9c3c5216ac3de4fa7dbcacc526bc72ecf83cda49cebd66f837bc00000000000000000000000000000000ae3f30bcf482813d251f5cbe46e0143dc43208bc07545f3def6a53be2a04093de863c5bbb56b3e3d9d7c4abeef49ed3c6300a8bb2d931e3dd2f428be0f85cb3cef0b6dbbb98fbb3cea10e5bd097e913c46d159bb489c113cc51560bdd238213c2a0cfaba588f6dbb576e97bba8c9953b0000000000000000000000000000000000000000000000000000803f00000000e3d0243c467af2bd8cffab3f1e69f1bd6d063d3b86e19bbd49d28d3fb9cc9ebdfe00373a4f8274bd66316e3f40d687bd6d6c0cbb121319bd2952303f04ee29bdd7dc8fbb8db5f2bbfdfdde3e0e03a5bce3438fbb51ac693cc3754f3e4933963bfdf4c6bb6bc82f3de19afdbc9adfde3c00000000000000000000000000000000000000000000000000000000000000001e17323dcc3b52be66b1113c52a21b3c13c6113d9e6251be450ea93ce141dd3bc11cf83c6b1844be001ede3cc4273a3b9e3ec83c0a832abe130a0b3dab13253a05a1863cc27cffbd4d54093d1f9d01bbf00fec3bbc1892bd38aefd3ce2721e3a2d11583b68bae6bc4ac5fb3c2441d8bb00000000000000000000000000000000000000000000803f000000000000000086adbfbd60ccac3fb24a01beeb4fce3affe959bdb66e8f3f3cefddbd9965a23b908f1abd98fd6b3f4631e0bd45d05c3c6a3b9bbc6d91323fa3c7d2bd2886963cc7958abb1d45ea3edb89babdfa8db13c6a61513c3ef55f3e1caf95bd9381a23c3ec4cd3cbc9f00bc0e4369bdc025c53c000000000000000000000000000000002411803dc9955dbe14ff9c3d4505b5bc11316f3dfc1289be7cbfc03de07001bd4e27363dfa2782be8939b43d47c203bda8b60b3d2cca65be9ed9ad3d9e0707bd7970b33c106434beafb59f3d544004bdec561d3cd872e8bdf61f853d44b0f1bcf7749bb9a00a4cbd74954d3dacc7ddbc7cad52bc0cb17b3c808d023d6002acbce90accbbd93abc3c7ce8003d1e04eebca216e8bd6146ac3f92fb80bdf2e9273c95408dbd9075993f51fd33bd73c7eb3b9d4f12bd0479803fd76ddfbc41185a3c2bec0ebc9670453facaa3fbc0fe4873cd91a6f3cddf3053fb1198b3bedd18e3c90bc023db9608a3eb53ae63cfb746d3c492e2e3db3d7223d5d735c3d2518083c92e85a3d655225be6b3aa23dfd4d94b96260553d8e5488bef383903dae48c03b42b95b3d551361be82e72d3e972c91bd7d7d3f3dc57880beefcb253ef86797bd8a07113d04b867be88d4103efa3099bd82b0b63cb3bf40be5b65fa3d0f639bbd9843373c6b9e0cbecaf7d23ddcab91bdbeea8b3abb889fbd72c9963d1adc86bd5242a1bb6223f1bc4b964f3d777267bdf80341bc1d5dbd3c0927ba3c05dd45bd9a6966bce74d2e3d781c5e3cffaf1abd536f63bd0941853f58c6a03de7e7e33c6ab6e0bc5fcb6e3f4662b73dcb62ea3c2ddca4ba998c3b3fdb2b063e37a1eb3c3d6abc3c931a033f7f79273e206ad33c66a5203de523963e04df3f3e2601a13ca1543b3deeb6a93d3b045d3edb1c1c3ce998473d4982a3bd7bfb663e3b0655bb4ebf473d8a5d6cbee0a9763ed68f8bbcbc4e463da56396be0057573ee9d9fbbc7c8d193dff804abe2575663eab0ce7bdd19ce93cc2de53be19994e3e1db1eabdc7c1823c576f2fbe6352213e3611e0bdf7a0df3b693604beecfefc3dbf0ed8bdb85f21bbd168a5bd30d0ad3d4cd8c8bdc635c8bbf23e0cbd1a29493d393bacbd460922bc637c823b427f8e3c35bf8bbdf56253bc9160253d0a28efbb3bbb52bd3c2d5cbca7ca4b3dc01842bcb9f102bd9a56b5bc7411423f3b258e3e7116133da3f5203c31191f3fd6509f3e69bf123d37e3e93c97c5e23e5bf9ba3e6921d03cbc46213d8577843e2724cb3ee3d0793cc5bd3f3d3e08b43dc01bd93ed7598c3b9deb2e3d1b7e52bdbe1bda3e755176bce198253d1f7026be951bd23ec69616bdf9580e3da6e479be1d80c23e340c72bddcb60f3df00c8ebec3129c3eeb399cbd3109be3cdfb126bed3b9723e6d710bbe26c1273c44ac15be739c453e10650cbe8fde5a3bf014e2bd35b2073e5db9f9bdf6b2a9bb2d388fbd4537a73d1f61edbdde0118bb340a5dbda0d36e3da34bbfbdb8a73ebc7528033b5cda2f3bfff9a6bd5e5322bc9556b43c0c6794bc743861bd600542bcebd5573d08c234bd848c0bbdb58260bc17166e3db2f427bdc16d31bc64f5ca3b7f40f83e15db063f34dcd73cbd99043d538dad3ef43f133fda77c33cd2b7123d21c35a3ed11a1d3fb1884c3b233b2d3d85f58d3d53be243f35df1abc6cf1103d8bf7e03b388e163fb90d20bdd2c40a3dd77b00beff4a193f4f8062bdd181d53c0bc12dbe0d9e043fb095aabd03f08e3cba405ebe4c58e73eca49d7bd87c6a03c54586bbe51d9a93e4756f5bde481de3bb2b0e3bdca1a4e3e295610befe7b62bb93c59dbdfb34003ef7ad08be367e64bb2dda3cbd8072663d9237ebbd99cde7bbb6f697bc69b71f3cff62c7bde04d1dbc515fd83b225b07bdb5909cbd3e990bbcfb52d13c76e36abd990149bdff9311bc4525243d8f048abd6968dcbc05c9f2bbd0314e3d045597bd7d15a1bbe52d00bcea2b683d845c7bbda2617e3c2dd1c43c94e4753e748a4c3f354b0e3b2653133d1a36fa3da4c05b3f344808bc1befe53c65731a3d11d5603f9b81fcbc0161d23c9d1f1ebd34375a3f652a5bbd0c08b23c41fac1bd09fa4b3fcd16a0bd61e8723ccfa201be0e0f333f443fd6bdc9ba103c6f2c16befd30123fa47400be0d2d5e39cc9915beceb0df3eaf9a11bec71ab83ae44320be7b3c973ef60414befc9569bbcaf030bdf679d63d790aedbd852acfbb919747bc1cb1433c0d3cc8bd6202d5bbfba5fd3a163d38bd6ece9fbd37f9c2bbf784a03c2b8fb7bd2c865ebd71f0afbb02b7d23c60e8d4bdf95a09bde6c6cdbb1992133d6beae7bd4d4f15bcd2cbadbb07a91a3d4500d1bdbbf7563cd2ab6dbb8763123dceebabbd54efe73ccb4216bb3cb1113dca606abd2b40153d2261a53c5ad47a3dcdf9883f287905bdcc89923c62c94bbc422c903f6d9561bdfd02583c1b3721bdc7578a3ffa9ea0bde1c1d63bb5f488bd2f99803f9f53cbbdb1fa073bb59e9dbd58405e3fbaeef9bdd8c1efba255fa3bd1ce1343fcb0f0dbeca80b3bbef0597bdc3a6043ff83219be990d1ebc77c15abd487ea83e71c719be05761cbc918570bd00aa2f3eec3510be156f08bc6f5d203ce384fdbca04c78bd80158abb692b053d9a3c00be1b2009bd1aed70bb3766093d180425bea5638ebcb5a48fbb0689123d65f835be19ed5a3ac2f781bbd290123de56b2dbedb66923c9dfd3abb949eee3c4a1c10bedff4ea3cc81318bbb52caa3ce9e1cbbd5844173dbd6d0abbd6d6173c439e39bd902a223d4cb900bb532a603c07a00fbd34053c3d91832d3c8af474bd2226ad3f5ef3c1bdde7948bb0a8d40bd2d4aa53f4531c3bd5882acbbdb5f47bd9b1a993fbd69e3bd88eefbbbb78724bda6e5843f9371f9bd1d931dbc7d87f7bcba61563fb15f04be4ac028bc496276bceb9f1b3f8b4001be044f0ebcfb4ba23a43bcbc3e6445f0bdb209c0bbe801ca3c6eab023e3f98c1bdbd1e2abc2b4fb03cbde090bcbe13c6bd000000000000000000000000000000008079f8bb03f1473dbad14cbe8ce8b53cc0368cbbe22f423d178e5cbea3a7023d88c9b4bb3d05343d02a053be21051a3d180e50bb53f0133d46093ebe1eb7293db41142bbb9a1d23c862813bed896283d1f5fd7baf6b4663c14b0b7bd3390153dc5e5e3bafdf26c3b920e2cbd551c153d0000000000000000000000000000000000000000000000000000803f00000000d0f8a8bb2660bbbd1f7ead3f5357d9bd655f63bc6bfe33bdacb8913fa0cdb0bd3c2663bce34b00bd2ada733f5b23adbd13636abc29f326bce9e23a3fe35da6bd42495abc22b0523c267dfa3eec8287bdc64a2cbc1cd5fe3cdb7c7a3e0f1b42bda6b709bca0f74b3dd121f23bf8f909bd0000000000000000000000000000000000000000000000000000000000000000915fa0bc30ba0ebd7a763fbc030bcd3900a579bc29eb1ebd7b0f19bc7d27033ba3eb4ebc3db80fbd239311bcb211da3ac8f229bcfe1e00bd348e19bc0e09bd3a89c701bc7f3be5bcfa5332bcadf7eeb99154bcbbd186bebc21e342bc5c2bcdbaa80d36bb0c8577bca6e955bcccee76bb00000000000000000000000000000000000000000000803f000000000000000064e759bd6f798b3f86fe72bca26ed6bba45e15bd6d75683f3c4e86bbade344bb1f6ddfbc3dd93b3f64f7db38c1dd84bbf0a5b9bc583e113f3ad0603acf3d3cbbbc19abbcb0b9d03e808fcbba691933bb7fc9acbc71e7813e0a7faabb32befaba7c15c7bce9dbcd3d7a9f34bc7827f8ba0000000000000000000000000000000030dae0bcfaee1cbc765cafbb8a1595bba481d8bc23cc1bbd008e3cbcd4c8833a258cb2bc378431bd454338bcc998f93a8c5994bc2d142abd901b42bce72f063be6fc75bc7a910fbdf29037bc82ae393aaa2d2dbc8f9206bd868469bc1f67003a92ac02bc728bccbcf8a476bc8ff0c2ba223c8fba29f56cbcaf7c60bce807f9bae8e15dba3406d7ba27590fbc8afa67bb3457aabdaf418c3fff7fed3d2242c3bc0faababd2d5d843f9494e03ddc40cbbc24c08ebd133c5e3f25d1d23db3bb9bbc2ce762bd0781333fbe33b73df59080bcb80731bd2240083f94aa903dbe8752bc332627bdc4e7c33eefe1523d933e2cbc497318bd4e5d6e3e2365ef3c32ac11bc38650ebd2d36b93d78b9da3b34ccc9bb178ae9bc4d1fc2bcb9ed20bc5c33bfbb3c8be0bce0099dba8f0d7c3baed6b9bb9d63eebcbf15babc7f3963bbe2220fbb5871a2bc8da1e9bc7388cfbbfcd4e13a4f6091bcd04807bd1ca620bcbf034e3bc9db55bca2a1ddbcfe5626bc2cdde33aa6912cbc9ce0d7bc512350bcd2f3443a8d80bfbb555c97bc85f636bce31c2db9997a39bb836b34bcde1035bc36e890ba30d21bbb72c8e1ba7939b2bb7b3d8eb945d9a5bdadd76b3f446c8a3ed3a81abd4293c7bd36e2613f9568823e098635bd2fc68fbdff0a393fa235673ea43d04bd9ecc87bda36f1c3fb8f4423e0d76e4bc1f2b4dbd8ae3eb3e5af9173e4998a6bc32eb48bdc635ac3eb414e33d010b9bbcf73c21bd034b553e58278f3d3e7d69bcdf4c20bd19d2b03d61a9f43c037846bce2a4dabca4ef5dbc290d0bbbd19215bc084bd5bc3812e6ba85243a3cf000a3bb67a0dabc44418bbc2bc4753bf42084badfe9aabcbe6dddbce5ce28bbe757a53b08fe8abc2d06efbc8fe203bc540d253b13904dbc8882d0bced1806bc8111763b342b0ebc0289c3bceecf3bbc97ad2a3b7c57bfbb34aa98bcdb8936bcda52a43a8cda50bbdb6b2cbc4457ffbb6968d6391ccd2dbb0bb326bbec7785ba5e3fddb9632392bd570e403f35f3da3effac46bd0e32b8bd478d373f584dd03ed52670bde3f39dbd1ad61d3fe913b73e5d6d47bd3d2c82bd6cef003f98af973ea5b318bd70bd65bdfa7ec73e54006f3e6ffaf2bc3b6c42bd414b8f3ee80f303ef4c7c5bc76342fbd4888313e59dae13ddf299fbc380017bdc858973da6a9543dba287abc0df1d4bcd23fecbbf8e3733a3b3c2fbce471adbcfb3013bb996a803cba9a0cbbe169b8bc82319abcf6f6023cd81ecc3ab8d874bc96d3c7bcad2314bbb383953befd445bc0ee9ddbcd00b08bc4322013c1e72f2bb1c6095bc48a1ecbb43fc5a3baa74f9bb54afbfbc049837bc3a48583b5e438bbb50fa84bce0ec09bc4a96083bfa3050bb84503abc18f3b7bb8aa4443baa6b3fbb0b3388bb096fa339315dff39bd5576bd7830163fae6d163f7a7774bd34f29abd20ad0d3fac490f3f637e8fbd080f77bdedf1f03edf06f53e05ac56bdde9163bd9dfcc93eee76ce3e149a3abd729812bdacdc943eab9d993e6f9ed0bc45972ebd7d73603e81606d3e95abd9bce88d09bdac49093e7755163e3641a3bc6dc2febc86cb673db6ab923d9ffd7fbc5f02b6bc0f0613bc6e7e2b3ba2d01ebc4d8286bc09362abc049b8e3c6a5105bbc8dc80bc7a6ec6bcfa0ec93b5a746b3b531232bc1d80f8bcf41bc4bb36db013c6ab303bc6031f4bcc10039bc96d0083c97fd00bc6a46d5bc5daa4abcc6b9da3bb75272bbd7bac7bc5e2f41bc2234b23ba146a1bb4741a2bcff4847bca9c7703b924498bace6146bc03119bbbc575203b1715d0ba71b59fbbda9d203bc3432f3b42194bbd1755da3e570b413f54288fbd1d8380bda773cd3e1aff383fd02cabbdde835cbde7e7b13ec6f61f3f4aac87bd74c93bbd9536923e3244033f0ee34ebd442e1ebd37e4623e28d0cb3ebdba14bd351609bdf645223e8f03953e4da8edbcca6be8bce393c23d8bc63d3ef434b1bc943bc6bcf739113d1041b13d6f0388bc9efa85bcbe443abc8ec1fa3a48bc1abcf89d17bc1e7e9cbcdeea5e3c30a36c3acc53edbbe1f602bd5b5b25bbe569b63b4b6785bb7d26f7bcd81950bc84bc033c48673ebb8be503bd93b093bcf1c3193c07281bbb0071cbbc911385bc53d6e03bced436bb8e22bebc018895bc3c45b43b28738b39270891bc39804dbcec24373b3d897b39d71825bcc7fbf5bb5080c43aa84fa3b913bccdbb1f78113bacc0173be8f920bdf044893ef9e26c3f2cd0a1bd3e443dbd2faa7f3e4dbe623f6a71bcbd29f714bd94935e3e9c6d3a3fdcf472bd91d809bda2e4373e9d661e3fd18652bd6c79cfbcd4390c3e07aaef3e64c208bde934c7bccf57c43d7271b03ead53dfbc2e189abc6e42623d89205e3e0a419ebca67582bc30d75a3c66f1c33d9a9e78bcea8b29bc296589bc6bf998bb972f0dbc58e614bb93beebbc63473c3bb4c65b3b03935b3b7c1622bd9c09d0bccbe1df3b181c4b3b990f17bd8cac02bdd3af263ce2e9293b26db03bd891805bdc5ca183cebb7333b766cd9bcf1f6debcf083df3ba7a50d3b3f6cb6bc8ea4e0bc03015f3bf6b7f03ad6e28fbc4e03b6bc4d74393a2f72273b288f46bc27b05fbcb73012399c79083a2160ccbbe43865b82b81ed399d4dc5bc36dbe93dc5a28c3f5492a6bd4f5ccdbc3497d33dc79b843f0710adbd9ccdacbcc03dc13da5805f3f2e7f6abda1d194bcd1bda03dbfe2343fdcbf22bd41776ebc6e336f3da7050a3f6dbbccbc26293dbc1301173d4b4ec63e724b99bc3b6306bc46cc543cc393733ef6bb58bcdd5b87bbfa7417bc9b21c33d3a6b3fbc9b662bbb6a6ac5bcae3c96bc9547f3bb00000000000000000000000000000000328de23bb97507bdd8baf5bc61a80c3ccb1ecc3b6bb0e9bc79510cbd1a9df73b6689943b00c6b5bcec9c02bd5a1ccf3b79c3863be33993bced56eebcc5be793ba3fa5b3b1fe177bc7536debc2023563a9231393b349244bc2d3cc3bc332e0dbbc54a133b1caf0fbc98ae85bc1f6a77bb0000000000000000000000000000000000000000000000000000803f00000000e45bd3bbe3fa9dbc669e8b3f98b43cbd0efcaabb238f28bccb8e683fd9d3dcbcf6ee93bbf546f6bb845b3c3f3e3d81bc963c92bbaaf61ebc05c0113f3e7515bc0e7ec9ba2bfa41bc8f60d13e2b49a6bb7aff8f391dcb8abcae5d813ed11882bb5f08503bd18cc8bccb8cd33de8cb9bbb000000000000000000000000000000000000000000000000000000000000000025b515bd2becc53b45bbf53a3c7b86bb80eee4bc87350cbb4803cf3aae101bbbc92dcebccb47b9bbdbe3473aee0204bbb1d0a1bc50d3fabbe5d268ba4faf21bb54e78abc90f11abc7e6542bbebcc4cbb58bb5dbcacd81abcaafdbdbbbdd689bbd3d54bbc2957febbaf8506bc040ebbbb00000000000000000000000000000000000000000000803f0000000000000000367ae4bc55f97a3f849099b86f6432bcdc3aadbcdffe533fc04c843b918605bc094f9cbc96ed2e3f3a83a53b2124e4bbad2599bc8c110a3f311b843b312ac3bbdd8da5bcab79cc3e6707143b4595b1bbc316aebc4726853e5d34b6bad76da1bb3bc7d3bc1ac9fe3da6b95dbb681eafbb000000000000000000000000000000008fa440bdeca89a3cb0ea273c811703bcdafa50bd6c29333c17db253c9c72b6bbc08131bd183b4b3a78db023c171a89bb092a1cbde8e156bb383ffb3b01118ebb1ab6f5bcb25bfdbbc50a8a3b3bb20dbbfe77dfbca38c38bc90afb13951b67fbb5d26b9bc3c8426bc0b6b00bb2da67abb453d8fbc94be07bc0fbac9bbf875a1bb0b9d7bbc39d2daba026ad2ba750995bb795432bd7ef07b3ff58f073ea6b1b3bc605847bd1fc6653fdf63f93d03b5c7bc74a728bd76e8423fdd55e23de1a099bcaf991dbd8379213f2856bf3d18e385bcf2c009bdef96fb3ea63b9d3d353940bcdf0114bde37abb3e506f6b3d721143bc0a6b15bd97ab743e1e2b1a3d9fd33bbc0e4f18bd794ce73d77638c3cd53710bcb48900bd5fec713895fe4c3a3eec03bce1583dbdb0db8b3c4d8e993c26180fbcdbc262bd3114423c4122a23cf4c6dabbe21426bd29ea183b1e6f6e3ce03e5ebbe4e727bd07cb2abb00854d3cdc3e57bbd56300bdc171acbb01cf0d3c0c5907bb492a00bd95af04bc85aac83befc22ebb07b6b4bc2076e3bb9973703b39371bbb20c9b1bcb137c5bb9ccf203b7d4e41bb234286bcea51e6ba71ac813b658ef0bab7ee42bd9c55573f38368c3eb336f0bcbdcd70bdc955463f9199823e6f3110bd33b732bd04ed243f515d603ea6e4c0bc4cfd40bd93f10b3f2858413ecf95bebca77b1ebd24b6d93ea70a193ec9738bbc1a452bbd2684a33e54f5ed3dc77188bc8d5610bd8b1c533e69019e3d69914bbc5f1524bd9763d03d5c8d2e3df72647bc5417fcbcfd711b3b329f083c995911bcac9339bde472603c7cc1dc3c629e22bc3eaa57bd5c60293c56b7e83c457fbcbbeebf36bd516dcc3a6e87af3cce4381bbf87621bdf89f7fbb7e3d953ce3e2c4ba66b705bd094dd1bb240c5d3cb8fa96ba0989eabc3a4f0dbcd05e2d3c390609bb718fc9bc0d5c17bc405ee33bb73accba1ae8acbcf80f03bca11b043c1fefb0b7a3c686bcfcca18bb0841163c8866853a129b44bd2b48333fc855d53e0bdc0bbd1a4173bd5afc233f7dd5c53e4d1229bd8d1056bd32bd0c3f7f13ac3eb68b07bd45de47bd77bde93ec70f913ea5dfe9bc2e4c30bd7174b73e8a17683e4f41b4bc94d32dbdf64f883e9402323e6d85a4bc33a825bdd7b5323e48e1f43de3c584bcb8f81fbdd59aae3d6695883d2b8550bc4f9ceabc0b79313b325f713cd14f24bc306022bd9e93013c1784023deaf2e6bb764b38bdd581453b85c00a3d0f09b5bbc26d17bd8ab611bb31a3cb3c3a6e06bbb6770bbde804e6bbbf15a93c1bdd0ebacdb0ccbcb617c2bb3f025f3c414f483acbcacfbc2d6622bcfeba4f3c4343fa39ed61a3bc2b7615bc7b0a233c9bfc6d3acb0493bc4d6304bc068f303cb582773ab5a971bc292596bb6656373c4856fb3ac79b34bdb8000e3fefb50e3fe75f1abddc9f5bbdebae013fcf6e033fe39e30bd21313cbdabbedc3e2fade13eefeb05bd477739bdb71ab93ec622c03edc2aeebc9cdf09bd9a268e3e438f943e93f98fbc929620bdac92573e21736a3ef4e4a0bc15210abd39630a3eaeba1d3e6f9067bcfa9408bd4d80843d4e24b13dda7b57bc95a4d2bc32b2f3b91375903c85de0dbc79f706bdfb64a3b996cc123d9e3ca9bb42971dbd82ba91bbb16e1e3d33d635bb10e0ffbcaba920bc1e0aed3cc0d28a3ad40fdfbc846932bcd218ae3cf5f7bd3ab3e3bcbc7eef48bc0bd47d3c9013e83a94d6a0bce2d76cbcd73d4d3c89a1053bcaa373bc8c3652bceea91d3c445d123b10e747bc94ff3ebcd6eb1a3ce877003b77ac29bc536808bc6243493cb4444d3b0fbd21bd6faad23e6f41333f6d0523bdb9034dbdc9c6c13e4a27263f9fbc4abd401931bdca43a53e7e4b0f3feb6d18bd635f25bd2079893e3496ef3ed4f8f1bcb09b0abd857c563e585fbe3e73cab8bcd0270cbd2c6c1d3ef5f8903e8e169cbc28fbfbbc43b3c43d9d3f433e4aa176bc1da9edbcd1582a3d28d9d53de46137bc7689abbc5c70e3bbc5179b3c0f1f05bcf124c1bcbc93e8bba9b6153d8b7c52bb699fd5bc2fe764bc021e163d117c19ba2be69cbc59ac53bc3ebcaf3c3a57c53ac83297bce02c87bc461b933c6446603b56cb67bcb49865bcee413c3c20f8353b34fd3ebc1b2583bcf37e0c3c823b323b7eb51dbc51c048bc965cd83b9a13013b1758e3bb76de51bcaab5043c0b91073b6c74b7bb5df012bcdfc0293c1e12443bfca503bd29e78a3ea313583fdaa827bdf57a22bd42627c3ed35f473f68c53abdf8adf7bcacc4553e6699263ff825e6bca71a02bd03b3313e55850e3fabd2d5bcdb66d0bcdbb6083e9dacde3e0cd293bc304ed0bcb047c33d3ceea93e743685bc2c1eb1bc4a876f3dcafd5f3ee7e13abc5f81aabc1ab98a3cd32ff43d8b1a38bcfb1275bce5353dbcba9a823c7aadeabb7dfb5fbc583981bc655b0a3debd4eb39172930bc58f9b4bcfa07e03cbd4f373bf5551bbc590fa5bc9620803c228f9a3b2976e8bb5f9ba1bcf6d4013c6da6b63b965cc1bb73b191bcf83b223b78546c3ba16451bb869596bc09d09d3907d7f53a6cf683baa80a84bc594d82ba5f85003b64da823a071187bc25d4a63a14a90a3b157ba7b8756436bcf9e1cc3b644f323b897bc1bc52ce043e069c7c3fc90413bdc974cdbccfe1ec3df48f663f6e4c12bd5d68babc16b8cb3d1870443fc019ccbc1fa0a0bcbe41a43d6c83223f68e77fbcfa7a89bc7320733dbeacff3eeb183cbc2f3c74bc46861b3d9712c03e4c3f25bcb6c044bcd1d2863c82187c3e5422fbbb764f07bc99fab7bbff2bfe3d00cf11bc48ef00bc42c39abca0ad163c2143b0bb000000000000000000000000000000000fd123ba7d12aebcb6864e3c7b2cb03b0f274c3a846b8fbc8c89193b8522a83b7deb2e3a74c27cbcb373eebac74a8f3b9c40a03a52bf5fbcfe5998bba4ce5c3bf3f1293bc42d56bc745fe5bba2fa083bc178813bf96746bc7ee1fbbbe97f0c3a673ab33bb5024abcd4c4b8bb426f30b90000000000000000000000000000000000000000000000000000803f0000000021a932bc6a8dcbbb07467b3f264785bc945105bc6b7ca2bbd4aa543ff07b00bc03f7f3bbe8989cbb8f632f3fe42b88bb2513c8bb34d4e9bb04820a3f883400bbbc7790bb0eef30bc8d88cd3e93bc90ba904c31bbb6d875bc777a863eb571cdba98e49fba99beacbc4c58023e2dbb89ba00000000000000000000000000000000000000000000000000000000000000007dd728bc1c8d8a3b5a752e3bac08d1bad46c0cbc6f4b303b9456133ba161a3ba4a9708bcffd7ec3ad5f1163b330b90bac157f5bb9ab7a23a0de1063b444897bab7a7f6bb9c6f963aff280c3b02c5a1ba4563e5bbb731813aef07f73a1d6fb2ba1218f9bb16252e39b6a9513b535b6aba00000000000000000000000000000000000000000000803f0000000000000000e360b4bb65cb633fa3dadd3a64784bbbc69994bbadfa423fadffe23a6b3122bb01d69fbb3b8c223fbd1e0c3b163f19bb57fb9bbb20ec013f8aa2073b87f70fbbce4dabbb063fc33ecb69113b251a1abbc0a3b1bba960823eb92be93af3c61fbba909cdbb0d2a053ef1bf6e3a039611bb00000000000000000000000000000000f2404bbccffab13bba59953bede70bbb8aa97dbc47d1ae3b96a3bb3b5fe70abbc48459bc71cd733b020da83be7a9dcba7a0f5ebcba1e373b9237af3b6ac7ceba850e35bc9a0f033b2261993b908488baaaab59bcaf990d3b9afba83bdc8babbabcb33abc8605d33ac773993bdc68e0ba702b49bc0382f43a6534a73ba071e4baee8719bc5614fd3a3f7a893b831ac2bad739ffbbccfa633f9f75033ec6c894bb360620bc93c9483f7129ea3d0549a8bb33fc08bce9f02b3fc401ca3d9de48fbb9e8314bc70980f3f88c8ab3d98f890bb1a19fcbb8a35e53ed95c8a3d76f1abbbdb5429bc34d6ac3ea942563d75de7cbbf81215bc2a58673eb67c133df5058abbfc8a2abc46ceec3da27da93ca4708ebb01ec03bcccf6913bacce813b767b69bb86b15fbcbf7d9f3b37c4dc3b1bd105bb896293bc26e0af3b0533123c50bb16bb9e0261bc4dfa563b5ccedf3bc150bfba96fb8abcef113f3bef9e013c2efac5ba7cf04ebcdb33fd3ac73fd53b1310abba9e0c69bc7601f63a2045f13b3b05bdba90e73bbc81c1c03a6a92c53b4548a4bae3866bbc3500003b8338043c7a2811ba2fa82ebcd13fd63a7e59bc3b0b1978ba5fe519bc0494433fca24833eff54b0bbf63c49bc02ac2c3f133e693eb34ddfbb8d021abc386d133fa585473ef985a3bbc6c42ebcf1f8f63eef24293e72a0b2bb67db18bc1d10c53eae86073e701095bbb74f35bc11dc943e4fb5d03dcd03a6bbb42818bcbb9e463e6f438d3d3a598abb8bcc44bcd230ce3d0f11233d3912c3bb0a9916bc4101973bc47ec33b195b73bb3caa5abcab85733b0c2c043c776fdaba7b6191bcbab48a3b7d50303c8575fdbafe2285bc0f9e383b1da11d3c80daadbaa0a780bc9ed8173be6671b3c2269b1baaef14fbcdbde3f3a426def3b5cf2ceb84e7068bc75eabc3a47fd0e3c9fab98ba786c5dbc02eaa13acee90b3cf5ca93baaa9f66bc230ba23af300143c3d146bbaa4c02bbcf27c7c3a054ee33b577c88baa02a1ebce6ef223f2062c43e7a57b8bbfca552bc26f40f3fa441ae3ea779f0bbd50042bc52c0f63ec3f0953e180dc6bb46043ebcb725ce3e70d17b3e6a4cc8bb64883cbcff44a53e81514b3edf98cbbb9e413abc78b0783ef9ad1a3ead1fb4bbe23f35bcf0f9263e9bdad33d7d93aabb7da641bc7652ac3ddd49683d3cf4a5bb3948e1bbeb79843b5f05eb3bf5ae87bbc75743bcbfee3c3bbcaf1a3cc92214bbb6b381bc86d32a3b2c5e383c485d98bae3e978bc5e00173bd9f00e3ca505b6ba5cb16bbcec19993a8a5c213cf0985bba96fa2dbc1ff9013b80b2f53b11668eba505454bc0e72143a7394143c43163dbaa54d40bcbdda0db907cd183cfe5d7639128a4dbc2513353a6b79173cd3a508bab4cb20bce48809bac26eff3b47293e393f4210bc2968023fa9d3023fb106cfbb93db43bc1ae7e53e1932e73efb97e9bb3d941fbcd152c53e3507c63e59a6c2bb184536bc3bcba43e3fbda63e50fbb5bb0ef00bbc22ef833e62dc843e7a0ed1bb1b8d2ebc43c5463e24cb4b3e096da5bbf02622bc9465043e1afb0a3e73f673bbdf2e2ebc54c3893db033953d357b9abb76f209bcdcaa053bf2b9073c75e142bb4a2a4bbc6a67903ae0f4203c8d9ca0ba43a679bc218fa43a199b503c45e689ba1c8965bcad84c7398ad0363cffa0d9b9f1735fbc48e7edb8c6f92c3cbccfafb9f44f34bc9287383aae59063cbe3c643a7c014dbc2cfdf0b9081a1d3cbe1fd1b88f323cbc444ddcb9e9bc183ca198a5b9452c44bcd26f0dba14f8213c6a27e7b801600fbc48b783b9dfdaf63b879d6f3868251fbc0893c33e3dd2233f9c26c5bb7bc843bc97dfac3e1c8a103fb8faedbb84c136bc5d2e943e2e61f83efdfabfbb3f7d33bc2b88773e4200d03ef9e7b0bbffc411bc82bf443ed932a63edf38b3bbc9b12dbc322a153eff6b7d3e3ebf97bb8fc521bce81ec83d3c012c3e323c99bbf02d2bbc25734d3d94d9b73ddfd794bb4139f7bbf4da0e3b98bb0a3c290052bbcd3f26bc649687b8e8a1303ccbd6f8b95f2164bc41c6d5ba24405b3ce0da4fb9a5d825bcb8da63ba9a3e183c9f7f4539b11d39bca773abba415a253c22e762394a7118bc1612abba2492033c674080393ecc27bc75b9b6ba402d133c06777339c7de08bc07caaeba8e0cf43bd113df38b03a25bc2964daba9e351a3ca49ab83951eff8bb9e0ea0ba7d0eef3b5876093a940206bc5f74823e4801443f0ba2bebb24c43dbcc161673ed44d2d3ffaf6d7bbd25108bc06c5443ecef1133f805991bb51701cbc7be9243ef195f83ed56c9dbb53ba02bc7e57033e2794c63ee7e871bb958411bcda6ec63db8c8963e9c197fbb4be5f1bb8155833dc0344a3e163659bbd46214bc2279053d8384d73d3df480bbc0e2dcbb3b26553a4c19083c9c1f2cbb261302bc21a6d4ba4aa31f3cfaa59a39af681dbcfecd15bbd825373c1066073ac65409bcd6f124bb1067123c9b7c4b3a5ed8f4bb03120fbb6ce0043c1944953a85cac6bbeca5f7ba86cdd63b265a453aa1f9e7bb6d132abba49bdf3b3f49ed39a420c7bbd22823bb8ee1ca3bd87ede39316ccfbbb77226bbf5dfe73b811bcb391dfeb2bb52a60abba5edc43b7280383a8e7dddbb2e35023e0e31643fec8b8ebbf33307bc152be63d984a493f499a9bbbf648f0bb86c8c43dee8b2c3faad35cbb35d70dbcd284a43d5c19103f88fa26bb0205f7bb95d6823d0e43e63ea37716bb7215dabb125c423ded15ae3eeb4133bb2506c4bbf8dcfc3cd88e693edcff1ebb93e6cbbb739d713c00c8f23d2abd3bbb8154aabbbc4585ba927ee53b056501bb00000000000000000000000000000000371a96bba15085bb6806c43b741be73a102a7abb81962ebb20aea13b51e7673a52c774bbd0462abbf61d893b60515e3af28c48bb684d10bb31bc623b71ac303a8a1839bb539c1bbb2ba5513b0658dd393ea627bbbd531bbbc1ba483b3a087739de813ebb4a452dbbde76753b6b7d033a0000000000000000000000000000000000000000000000000000803f0000000057f287bbb31a5dbae451643f152b5bbba8ef74bb8eff4938d630433f5fce9bba0dd57abb956782b97acb223fc41c88bab9e348bb2e11ecb91322023f145f81ba6f164dbb1eff80baa6a4c33e464284ba82f641bbd5a9cabae5db823e6c767bbad8fd62bb1a9c13bb6586053ee580a6ba0000000000000000000000000000000000000000000000000000000000000000548d403cee570bbe6ed98fbca599273c0a31b63b72a202be1ff9a7bcee35fa3ba2105dbb532fd8bdd692b8bcf15aa33beed2a0bbf002b1bd85a1a8bc894b773b5967e8ba24e988bd196790bcb859633bfe0bc93accee3bbdc9d32fbc2a08853b3df1893bc304a1bc3b0da5bbc30c283b00000000000000000000000000000000000000000000803f000000000000000034cdbcbde37ca13f502588bd23887e3b80bf74bd4eca853f86ef02bd2c50f83a3eda2bbd96d6573f16a24bbc170c05baf4f0e0bc812b233f800f4dbb826b98b8c5a1a0bc1183de3edaaf4ab9dece8fba5c6bdbbb6b84733e981e46bb9643f03a121616bbca3e4b3da3b1ecbbfe1d1d3b00000000000000000000000000000000be3c063c2312a4bdf2d0d1bbe07c2539c83bea3ca9341bbeeebe6ebc04a6293c6b30663c7bac17be3523cdbcc788013c1735e33ba67801be7fa5e2bcc844b03bbaa90e3b7c6dccbdd765d4bc05e8723b91d1cc3ba3b89dbd6557afbc669f8c3b08c02f3c444e4ebd0fb859bcbb69413b27ca733c9bd4a6bc0b4d2abbb4fabb3ba851503c92244d3b54f723ba178a453b218c16becbe9a13f22a9733d47d29dbc362f18bec17d9a3fa9f35e3d40f097bc50adebbdf13c853f23fe973dccf39ebceafbb1bd3c83553f5d08a03d33998ebcb6c97bbdfb311f3f49c7953d25b780bccbf932bd363fd63e13046b3d513769bcf60ec9bca3065e3e8fbd1c3dbda418bc78e9d3ba66d5033d10d29c3c424dbdbb9d2ca1bbd37fa8bd2437c7bb3901a4bb8f3fe6babec74cbd9a21f33a76c204bcd02b6f3cf3addfbdc70ca1bc339da0b6ea96d33bd23cd9bd5914e3bcd8069ab9120fe43b9eeed6bd876505bd7c51ab3ace06443b04a1a1bdf6c6e7bc07619eb9cb54193c98028abd9656debce07dc63a43372f3c7b8c2fbd6e4497bc930bd23ac817853cf8baa7bc903822bca687773bec2e743c9bf30cbbd1e948ba4e856b3b5db00dbef0db863f13bb7d3e19653ebd871c20bee781853f6b82733e6e1e4dbd4800f3bd60fc603f93a26a3e5bb331bd93a6d0bd923b3b3f53c54f3e0ab41ebd306896bd58430a3f19a9293eea78f0bc409c60bd1da2bd3e1671033efe6fd8bcdea816bd1d8f4f3eae9caa3df41ca9bcd7a88dbc2a4e3f3d35c3203dce1573bcdf8a38bce4be4fbde473e73a0b663abc94ca35bc62c6fbbc377aef3bbf9d81bc127fb23b5b63a6bd9f2bb5bc12bcdbbbdf29d23bfab1bebd264116bde7eb53bb4334be3bed52b1bdfe601dbdda8361bb7024943bdeac96bda69611bdbe6a33bbd29f153ca02471bd26bbfabc15d4b0ba4bed4b3c5c2427bd1878bdbc98f3fd3ac3728a3cd4e7b9bc179e53bc917f803bfac8453c1b8287bb696cb3baa3591f3b4caff8bd872b5a3fdfbce43e01049abdfd910dbee150573fe337e03eb9eaa7bdc7adecbdc6c13b3fc046cc3e90528ebd39c1bebddd79183f4056ae3ed4726fbdaf0197bdcfa6e73e02498d3ef42244bd68f062bd51039e3e50ea4f3e01fc1dbdb2db21bd99b3303e88e3023e9a9300bda0d8bdbcdb24423d14bb733d07e1adbc47ad98bc0d2401bdbfc1af3b582296bce2aa3bbcedb4c1bcb050b13b837887bc26857c3af76979bd631defbc222542bc765b023be51a8fbd3f432dbddb24d3bb6aeb823b837792bd29363fbd2db3c1bb98ac16bbd43944bd4a5bf0bc4e58abbb758eea3bafe94fbd39f511bd973e35bbccf7123c70f709bd5098bfbc474546bad407583c787896bc6c5e5ebc3480c03aee341c3c557da6bb32ef21b9d9c0543a7193c6bd7d09263ff619263f73ffcbbd2642debd83e6203fde9e233f4135dbbd93bdb8bdb3590b3f4874103fbf6fb2bd1d5ea1bdc281e83ed596f63e097e99bd6a385bbdcd1da93ee99ab63e06e646bde8b34dbd646a773e56508d3ee41342bd2b560ebd607f093ed9e32b3e490008bd53ecc3bc97132d3d4769983d691fdabc832993bc6d95b6bca414923a66c2a7bc9c93c5bb12eeb4bc740d36bb2bf88ebc300cc23bf5ed59bd0ec14cbd684d21bca0741e3c915780bd1e8d8dbd20aacbbb40bafe3b6a3b77bd340486bd7ef0a0bb9390d23b1e295fbd8cca5fbd7a72afbb21d01e3c24c230bd99e838bd161937bb8c84233c560efebc2d1400bd2705cdb985673a3cc94682bcc57b84bcbbb7423bd71b103c56fca1bb8500723acca6743b960598bd6251e33e98955a3f281df8bd62cea8bdb994da3efeb3593fd7d80abe51bc91bd20c8c13e9cbf403fd028e5bd28746fbd7245a03e51b11e3fc356b3bd804d4abdb031793e9051f63ed84188bdce3218bd17632c3eb37fad3e4f1c4fbda9f2e4bc56b7c13d48c84e3e5a2b16bd7d9e8cbc6d0ddf3cf608a03d2c35cabcb38d4cbc6530a8bc7f2504bc83919fbca90bf7392123a3bc4e1ce8bc0e5d4cbcb2d5323ca00225bd5595aebdbe4490bb9a49253c5bf048bd0eaeaebde38c3ebb9a524a3c2fb251bd8db7b5bd4bf794bb3856103cd1292cbd8c8387bd7e4599bb111e173c197412bdb22565bdaa5251bb2310063ce9c3bdbcfce910bdb4a8dab7611c033c821127bc79ae85bc7f01753ba220c13bdf39dcba27ad323bfcac9a3ba1343fbdb2347d3e1c2a873f9a990fbe9e9b4dbd8147673e0b8b863f19ed1abe55b92abdd998573eb2f3633f16abe4bd861818bd78b1343eddeb3f3fddceb9bd32b6ecbc18940b3e8c370f3f63327bbdec29c3bc22e2c53ddee4c93eb7b23bbddf3488bc2d345d3d942f663e80a7f6bc845021bc16dd5b3c36788e3dcf2798bc974eccbb53aa93bc3cd902bd658164bcfd2ee53b7ae1a2bcd14289bdbaabd9bad265623c96b3aabc73e20dbeda96bc3b3dc4743c72e00ebd56500bbe4c5c263a86c8633c0a911abd265fefbde2116bbb32fa2a3cd2de07bdcd35bbbddd459bbb078d0e3c748cc6bcbe6092bd92f36ebb4f42d23bdbda4cbcd08b3cbdd77808baf34c453b250c0bb9b84489bcc405ac3b06e4123b577f3f3b9215973b0a127e3bd3e598bc2606723dac55a23f1e8916bec0f287bcae2b423d20c79a3faf4111be2cb487bcd8866d3d1115863f56f5d6bd62d55dbc4e61663d8e2a583fb93a95bd4a4936bc688f3f3df2fa213ffa1a42bd951608bc3a3f033d1e87dc3eefccf5bc444fc8bba8697f3ca79f6b3e059d86bc8d4334bb3e7e733b68ae393dafaa9abb7d32493acb829abc0c708ebd6637c5bb000000000000000000000000000000004ea3513c2d5aa5bc695d08be5a07ab3b6aae443c1693c0bcedc501be34dfbcb70f39343c1a18dfbc6a20d8bd4d3e43bbfe2d0c3c1152bdbce5dcb2bd9942c4bbedeaeb3b23a984bce73089bd623cccbb1090503b8835dbbb3fb939bd289d93bb3e6c0e3a299cd23a03b7a9bc7ea702bb0000000000000000000000000000000000000000000000000000803f000000004fe0c53bee4b98bd5595a13f6792aabda09a943b509732bd94fd853f4d4246bd213d343bb3cce0bc8d30583f7931d5bc92dc1a3b237ca2bc468e233f815d45bc5146603b74b890bc5a33df3ef8839aba5cbd9b3bf9db70bc9e11753e63075e3ba7ada03b9ced82bcc417513d6038b33b00000000000000000000000000000000000000000000000000000000000000003cb272bb749db7bde06fa6bc55b1143cba3b8abb626fbcbde3dcacbc41a0e43b0d0d2abcde6aa1bd430d9ebc2daa1a3b980913bcdada8abd56e89ebc6088f2b9de8e75bbd6fe77bd873698bceaad8dbaa7ec883bda4347bd115579bcc0ec683a74dc253c55210fbddfd736bc61656c3800000000000000000000000000000000000000000000803f0000000000000000e8417ebda315973f36db19bd8ac520baeac724bd40577c3f92545abccdfdc2bab95d03bd74fd4d3fff26c0bb6de490babaaddabc96c91e3fed622939aa87bcbad300bebc8376e13eb97e80baa4fd99ba7f7c99bc493c853ebda2a9bb462d5d39314495bce34eb43d6ca336bc68fca83a00000000000000000000000000000000bdf9b0bbd76e4fbd43cd6dbbfa19babb36748d3c32c2eabd0e485fbc910d833b9811ae3b3a60e8bdeffe85bcd84c80bac6f4a33a8135d2bd522f92bc6024eaba5fa4853a9869b5bddc4c90bc277386bbbd56123cb7459fbda34e88bcc7da85bbd949943c5cae86bd879e44bc138a45bb7267f43ccfe434bd5eff49bbc30cc83a8ac6bc3c8c54a3bce29e2cbb82a4f4baebd1d9bd4a64973ffbe5c13daeabcdbc6edcddbd775c8f3f8adfbc3d737fbcbc1e79acbd0403763f3ea1cc3d68ccb1bc8ed789bd8ec1473f84ccbf3dbc7c9ebc4c0c5cbda148183ff220a53d184988bc9ce334bd2f62d53eaa0f813df3547abc69e80bbd80f4723eef70303d805146bceb8fa5bcf48a863d17ad993ce7d312bc0a8ea4bc71e649bd342760bbb0d318bce6d102bc3e990ebd73ee5e3cd21e8cbc0d270b3c78d2adbddb6ac8388e9e38bcc808a8ba1d3da4bd2fd9b0bb554641bcc736c23bcffdbbbd7e273bbcd70740bc9a25be3b06179dbd04c41cbcc7e33bbc09dc7e3c91839abda39844bc219627bc308b893ccdce60bde5e007bc7db00cbc4651003d4b6e3ebd9c8285bb68da9dbb6e32d63ca6b6c5bcfa83903b55434cbb6382d5bdf7b27c3f77168a3e8bd845bdc410efbdbe54753f56f6843e9eb452bd3185b6bd15234d3fd5ca773e5bde33bdfa70a4bdbf8e2d3f71a95b3e1baa27bd18b980bd8ab5023fb580333e97c110bd5c515cbd9e4fb93e528b0c3e2d5d02bdb1c729bd2b63593e6039bd3dcabed9bca5cbe0bc49c8863d01654c3d8988b2bca867a3bc211410bd00b4443ca98092bc02f777bc4bcac3bcc6a0ef3c1abde1bcb7399e3b90ef90bd15ba493cc339b3bc29f1c43b2a5aa7bd1e7e00bbe41a95bccc5cf13baf19a9bd10e9e6bbdf3d8bbc8889293cb4d29bbd4a700abcde2f84bc4f75893cf8fe8ebdf7d00fbc31757cbc12ddba3c735974bd668cfebb96fb4dbc2ffefc3cf5133dbd178d30bb93f007bcfb66a63cf0fdc1bc7533e93bbc97bebb116cc4bd64c34d3f9d91e53e676b8ebd3a61dcbdfed8463f5e64e03eedd79dbda1eabdbd94ed2c3f3526cb3e859688bd0b969cbdbb9d0d3ff2dbae3e983570bdf8c286bdc532d93e6920903ec7de55bd73d656bd12d5973e20a45a3e98d830bd1ba328bd7fc9303e9945143e4e9618bdf01af0bc9c9d643d6a96a03dd7de04bd27fdbcbcc021cebc185bb63c2a50d9bc6e5f63bc0ae4d0bc75bf1b3d0a2f01bdaa40423b0c8072bdfba0823cfeafe8bc65fb4d3b55f58bbdc077003b07b0bebc52f8183cac9f99bdb0ec99bbbd8bbfbc83d571b85fbb56bd8c6f64b975cb8abc4b208c3c066b83bd27822ebc7dae93bc31e0953cd07d54bd735187bb867b69bc19f9d33c68af2abd98e393b920ec27bc7c209e3c30c6d1bc7d6b1f3c3ea9ddbba16aa5bd970a1f3f3e16213f5c13b1bd819cb6bdda8c163f02be1c3f5531c3bd3bea96bd5624023f35c40a3f959ca0bd577b8abd6314d83ed0ddf03e012591bdd6e54cbdd85fa03ed4deb63e540750bdfe8443bd2e17693e76ff933efcfb5abdf4a20dbd5d0f053ea7c7403e0d5c32bd462ecdbc41a1293d8937d13d588521bd46f5aabcfa6cbebc3508eb3c456501bd77d180bbdb3000bd05b2113dc76700bd4ae4373c0af47bbd153e993b4a15fbbc723e6a3cdbcd92bdae0c43bc64fcccbcea25753c276e92bd4b8897bc0e47b0bc9103763cf9f187bddc4884bc8bc2a4bc2108993cf2bd76bd8d5585bc4e4d8dbc709dad3c9a054ebd68ac44bc207b64bc1007ce3c195d1fbdc4618fbbd33f15bcb8a8973ca591c1bc8dba223ce0d496bb619f88bd5dd5e03e07a2503ff69dd0bd948f93bd6d20d33e913b4d3f1e60e5bd692881bd2466b83e53d9353f4994c2bde1f957bd5277973eda5c183fa6c0a1bdb47236bda17f673e6728f33e50d287bd2d6b0ebdb7fe1e3e074fb33e917e65bd920fe0bc9c1bae3d228d693ead6043bd3e3294bc5cac963cd44ee83d71b429bdcf8969bcc1bed6bc3e28ba3c191202bd1bbd843b43030abdc7a58a3c9df5f3bc51748b3c296d70bd9780b7bc7b44d8bc6fec563c16446ebdaf27e1bcbc41a6bcecc1973c02b283bd5e7a1ebd1340a6bc7039823cba1f66bd918ce2bc8d8394bca6a39b3c602c54bd0681f3bcda7382bc0105793cd80e1ebd5b7e99bc2cc73cbc5461933cdf99debc6acc29bcfe3208bc5e03633c812978bccb37d13baafc6fbb599540bd4a69853e215d7f3fb4f4e2bdd8af49bdbfdc723e70e67a3f5ccff5bd63d823bd88ba583e1379533f2244b1bdebf00fbd6745303e14c1363f16e59ebd0bb6dfbc3b6a043e855b0c3fc8b575bdfbedbebc13d1af3d07dccf3ed50656bd8b8483bc2f89333ded03823e2dd222bd88ad1cbc1270ecb98ad3e53d260e16bdfefdcabba278efbcbbd8983b1355eabc29f13d3c629617bdb04f67bc490aa6bc9951983ca3e731bd36239dbde95099bcfa6d943cfe3e4fbdc37da3bd692684bc03d9953c9e704ebdd5e88ebd22fa88bccf727b3cd5503bbd14916bbdd07284bcac10773c626a1abd6af851bd118171bc9406473c052ad0bc2a861cbde92c32bc4e17dc3bbca217bcb55ca6bcfa0655bbf762133c86f8e4bbca209bba8f8805bb10aec9bc94d8b53de30a983fa388debda58dc3bc23669e3d21fd903f95b0d7bdec9aa1bc03f7943d0a0f7b3f53279dbdd61083bc9892773d93084d3f07af6bbd80b24ebc6816363d1d2c1e3f512c2abdfab817bce334bf3c1c09e23e4f1d08bd79ebbcbbe423473bc86b873e7944edbcf38abfba32b658bc8349bc3dd1accdbce010093b1a8e0dbd7022c5bcbe4cbbbc00000000000000000000000000000000e934763c08f608bd078ba4bd3bc0edbbc6f86c3c84a7ffbc69e1acbd5639ffbb7559543c885604bd72d790bdb74619bc4b0b453c4f74f1bcb59281bde6a01cbc2181133c1a4db9bce8885ebdda262bbcaa48d83b649850bc30b23abd899a06bcae50513b537d44bb152ef5bcf587c0bb0000000000000000000000000000000000000000000000000000803f00000000936dd7ba17f540bd9c7e973f8ba858bd3efb87b9e3aef5bca5417d3f2c95e3bcaf2a4cba9418c3bcf4114f3f54d682bc28674b3af989bcbc2835203f14f713bc8cb5f23aa474bbbc406ae43e7854ccbbfd32363b5639b9bc79c0873e0ab0b9bbf434923b3b9ce8bcd304bd3d811707bc00000000000000000000000000000000000000000000000000000000000000006f2be2bce4cc48bc364f09bc786b4cbb4aabb7bc698facbcea92e9bb921138bbc503c8bc3d959ebc7b830dbc2c26a8bbbab4b9bcac729cbcecd103bce830ecbbaf398dbc0b74adbc44de1cbc493b14bcd7522cbc5c26bdbc115e4cbce62812bc0ac0d6bb7a26a5bcce445bbcbefa1ebc00000000000000000000000000000000000000000000803f000000000000000076b1dabcd65c833fb05b4abcc4ba8ebba0fa90bc6c3c5e3f831983bbb10f44bb2b9490bcd28e373fbed1b7ba037493bb885390bc489a103f9a7bb9ba2951b9bb80c592bccb13d53ed78857bba3d3afbbd85599bcccff883ec176d4bb175bb3bb14d3bbbc6e53003ee79830bcd2d7d0bb00000000000000000000000000000000724b14bd139d9c3b7afd913bab2353bcc7d3d5bcb551a2bc843b95394c742ebc67f2f1bc349acebc8c4d5b3a27fe2ebc96ede7bc5683e0bc169813ba0c1641bcf478d2bc4aead3bc247d02ba76e364bca15199bc9ed400bd0859a3bbe32f62bcd2bf18bcb74c03bd943cb8bbea8468bcf532993bb35403bd6e3702bc0c1566bc650f1abb8e6284bc6cfec6bad7424bbc221645bd7fa7833fc797f13d4b6b9fbc8c4f46bd9e86723f48b8e13d4f1297bc02732bbd40f84f3f3c9ed33df59a8bbc664718bde4172b3f5026b93d63e687bc08480bbd59a4053fc9fa983d4ff185bceeae04bd9b04c43e10e5673d0c4587bc0ed603bd48b07a3e679c153d695982bcfa5ef2bc5bc3dc3dedae723ce58576bcfca5f0bc00aa48bbd5a1d5b97e7e75bceedc08bdae747b3b15d19f3cb8899ebcedafeebc0cb664bcbc7c893cceb998bcf24bf9bcde5e8bbc6edc793c850c7dbcce70d8bc8b6bdabcdc6b4b3c9b288dbca101b4bc2081d4bc63a2373c77f281bc85c67ebcc37a04bdf73e083c5c368dbcbae440bc637dd3bc441b1e3c049374bc76924e3b498600bdc5c5d83b002e82bc5239e6b9d76a9abcc7fb2c3c4b1239bcb46858bdb0445f3ff449893ea4c306bd376f6fbde7c54f3f0f177e3efa1213bd757d40bd701c2e3f0675623eee25e9bccb1e3ebd61c6133f907b443e2c08ecbc848e25bd7c1be53e28fd1e3e0cfde0bcb66924bddb72aa3e4d76fa3de45be6bc0b7012bdb833593efb9da93d1af8c1bc5f410abdbe5ac63d2daa463d04d0c7bcf401e8bc3b69ecba4c5b6b3cb2c9a3bcb7880cbd84ba003bcdf6093d824fb7bc3ee3ddbc793880bcaeb2033dd5e3c9bc4ea9cabcc9a9c2bcf9f6d93c8dfda7bc8c73afbc617aeabcdea3b63c1d609cbcd018a2bc33e0f5bc5a6fb33cfa96a5bc8c2239bc08ca07bde4b6843cf32393bc2d4ac4bbd8c504bdd7a8763c6dd195bcab6b853bfa0d00bd2783733c23cc8ebc969e40bbee2293bcebd0a53c33a031bceebd57bd69fe373fad2ed63ec1182bbdcc206fbd7bba2a3fa0a3c73edfd93ebd0f1756bd180b133f9f7eb03ec4cb2abde51240bd3240f33edb40973e767917bd5d2e34bd262bbf3e2c8a793e69170fbdeba521bd70e98b3e7f1f3f3e9c9c06bdc2e516bdcb9f333ebba5063e189cfebc2a1e09bde4c5a23da54b9e3d8570efbc44e8dbbc5403dfba16afdf3c878ac5bc1c6aeebcffc961bbef49283dd7cabbbc76b0bbbc180e94bc53e2233de14bc4bc1e70acbc1146c3bc1fd0053d9f399dbc1def8bbccf3801bdc44aee3cac9da3bcb5159cbcbdfdb9bc094cd43cfcbf59bcc4720abc4a8205bd0b05c03c478680bc31648abb1ccd01bd2a1fb03cb2bc6fbc22c8913b0e6f00bdf250b93c249e63bc127331b7278aabbcde13d93c491524bc9fee43bdbe54103fe123123face042bdff5952bd8c29043f6a63073fee8356bda94d3bbd36d8e23e46ecec3e61a232bd539b35bd9363bd3eb2dccc3e7e8332bdd02111bdc43f913ed6d39f3ead3500bd0cbf12bd5842583e18a1803ed93513bddef601bd69c2083ec38d313eb65a00bdcccae7bcc0366e3d549ad33d4e4001bd5ed4cabc990cbcbb0826103d42f9cdbc1af5a7bcff4936bc14713c3d860ab0bca1cd29bc6a7dd9bcad582d3d0a37d3bc157518bc0d8c0ebdec170e3dc5689ebcbcc0d0bbdccc15bd371dea3c217f8abcbc7fa6bb5d011fbde17add3c10d382bc6ad8d03822d71ebdb9b4b03cdb397ebc3cdab13bd96619bd9006ad3cce3779bcef44393cc5db10bdddedb73c6eb64fbc0a168b3bb559bbbcb46cd33c359bf5bb598b28bd7e2ed43e570f393f76c255bd711931bddc79c03ec2ce2d3f9e8f63bd97c720bd077ea63e2359183f0a6d4bbde72c0fbd62b3883e2029003f1f152fbdbb4506bdc6d0563e1e1fcf3efa751ebda24bebbcd84a183ebd279e3ef2b713bd0d27d2bcdcbbb63de1a25b3e540e0ebdc049afbc4ff6003df715f83d567609bdec1e9ebc60424abc4c3b133d77bad1bc968ce7bbf5d4a6bc2f812b3d0caf8fbc855514ba3ad80bbd945f153d5854a2bcc6d0e5baea400abda829d13cfef152bc7e8b1e3b7f7e23bd4081ad3c3c345abcb856de3a585b19bd4817a43c949155bc15d4d73b646222bd572c783cf3e260bcd8be933bd4f102bd64806b3c0a9735bcee156f3ca9e50cbd2f9e8a3c26ac58bc4c311b3c4139c2bcff0aa53cd539d6bb928cfabc2394863eaca5603f18dc50bdef4502bd6501713e7567523f34e469bd25b6e6bcc6fe503ea69c313f0fd921bd9bc8d2bcb6582a3e7c34193f874122bd4680b0bc1711033e7621f23e6fbf06bdee21a9bc5011b23da31ab93ee4dc03bdd50296bc967b503d92af763e374ce1bc6b715bbc84baf43b37b4073e6866fdbca6f92fbcb2c19fbc870ff13c7e65c2bc85c1633bc4bbeabc73840b3d88f74cbc367b453c0a231fbd5fbb923ccba177bc137b103cc5c720bdf548f23bdaa132bc48ca153caa0820bdd8a60b3bb03b19bc96451e3cf40c1dbd555b553b6c350ebc3d482e3cfe1417bd95a210ba040c33bc8e72403c20a309bd92f093ba53d245bc5a88713c4ef5ddbccabfdf390d2e4ebc5701403c2b9bb3bc82263b3cd774c5bbef7796bc7d40ea3dd65d843fd8883dbdb71681bca733ca3dd94f753f72bf3bbdb6836cbc70b6b13dba8b523f34ed06bd1a9d51bc4dc68e3db9fa2e3f7bfacbbc320d39bc0ce74b3dde80093fc8c6b2bcf86f15bcaa09eb3c6dc1cd3e5313a9bcb461f3bbf608eb3bdd77873ed750b0bc660281bb43426cbc4990063e31a0bcbc507584bb0202edbc667a903c33f89abc0000000000000000000000000000000046cd3c3c3c54f9bc67b2ea39c5d04fbb16f83e3cba73ebbc3cbb19bc86b82cbb53df2f3c76eae7bc839a15bcafe822bb17f3253c66bedcbcc8121fbc167683bbb2e91d3c3bd9cebc9f503ebcb5b2b8bb5b9e1f3c77f6b3bcac5b4ebc5fc512bc6c52323c2545a6bc425f10bc52e900bc0000000000000000000000000000000000000000000000000000803f00000000034765bb4ee1a6bca2c3833f05449ebc0f88c2ba85aa7abc1a885f3f22da16bcdf3810bbb45e68bc3c67383f82f2eebbec65b6ba850382bc719b113fdce887bb56d233ba525396bccdabd73e1c2aadbbe7a0053afdd6aebc0a578b3e72f0f6bbbda8c03ab4e6e1bccd95073eab0841bc00000000000000000000000000000000000000000000000000000000000000007bdbfa3c95b449bea964533c7874fb3b5a00dd3c7f7c48be96e90e3c760c173c6437903cd9ec34bedc804bba81b41b3c57974d3c65ca15bea53596bb84be123c4d47023c2427d7bdbbf966bbd709d53b27b00b3b80d664bd83bbdebad3c3943bcfb0a139d52843bc63332bbabad0543b00000000000000000000000000000000000000000000803f0000000000000000fb58e5bd4908ab3f0494e8bd44c32c3ce49498bdf91a8e3fd4fc86bd3d41493bc97d6bbd61a36b3fccb538bd090660394a9828bd06d7313fdb4ee3bcdd89ac3a17bea8bc31fce93e4d5e2dbcaf84983acef501ba5c956b3e2f65e1b8f59d123a00c4613cada5553c8b46c93b8b3f6f3a0000000000000000000000000000000003d4e13c374100be380eb33c057914bbd06a403d2f9d45bea1b8ee3c5b24523953a1183d5c8a55be8c1d003c230cd23b15bc083d73bf46bea926dbba5ad80f3c5040c13cd9d31ebe87873ebbdff4fb3bef37973c8b44e4bd8e82f4bb2fe0f03b5371233ca7746ebdaad0e6bba8d8a23b9f3209b99e5a34bc952990bb9da7803b86aeb13bb620633c98cd443b24430739dcd23bbe9ea0ab3f608d683c955e71bc591f26be1ece9b3fed75f63c7061a5bcdc270cbe79858c3f11dd2c3df6bdabbcd95fddbde48d653f5fbe533d8a5fa7bc6f5697bd3cf0293f19746a3d8a229fbc16842abd4f49db3efdba633dbb7d7ebcd4684abca5224f3eee1f503df77a4bbcf088973c5eef3d3c51b8323d73b21dbc66619e3cfc7202be3525733cd2fe68bb50e7953cda9db0bde820c03cd0070fbc9fba113d03d922be69f7433b10b610393ebf063d147a30be02c982bc7a9da13b04f1ee3c15a127beed73c6bc5011fc3bec5db73c16c202be2255dabcc759e03b39e3a03c6389c0bd8c49b6bc22c1e63b5db5693c12d15abd5e138dbce4c8ce3b822f2c3c4e958ebc6d93f1bb5df0ac3b125f213ca07baa3bc876433beeb65e3b9a5734be2f2f8e3fb82c663e7e255cbd6b673dbe577e8c3f5a35613e62306dbd504d1ebecd74763f5ae45b3e2e3a59bd9fe2f8bd1068493f47d44b3e9f594abdb2f7afbd9298133fff30333e2d3c29bdcf1e61bd3310bf3eb7be0f3ec8860abd8d8abfbc81c1353e0a9bcb3d09b1cebc1740f83af493673c683e693d39dd88bca5c5173c5689afbd5ba3763cb5aa08bc0e74b33b70387dbd6cf17b3c452b82bc8bcbdb3cdb50febd4324babcd86b02bafa56df3cdc140fbe698d35bd87e0943bb446c43c586001be59334ebd9fbddb3b1782bf3c5db1debdd1c34dbd1b1d063c40f48d3c76589cbdfe1f21bdfdad123ca1ed843cd70639bdd34bd8bc7be5df3b34e0633c2d9795bcdaa90fbcff56f23be3b5313c0d69983a8ced983b83ef723ba63827be4cf76a3f7409e63e8463bebdcab32fbeaab0643fbae6e53e30d3cfbdaf0f14be98b0493fa197d73e0549b9bd9915e7bd5789223f8e4fbc3e3415a3bddb2faebd80ecf03edb119e3ee3fb8bbd2ce160bddd469b3e15cf6a3ec7c752bda711eebcaf33173e8f97173ef5da17bd04baa4bbbe88833c77188a3d67c1abbcf633e0bab9fd80bdeb07ab3b705754bced18253bdbc62ebd2f60f93ada7b75bc5706913c443eafbd5c4b5abde3915cbad9c58b3cbca9c3bd4a0b97bd3bbb583b4361b33c9554c3bd6505aebdc84ee73bdf5e3e3c458f94bdf11c79bdb4bd363be14d8e3cc3d476bd36d675bd5904143ca9a4683c838816bdefe50bbde3ac013c9c384b3c618c72bc79f276bc1277dc3bb434213c8afcbfba4471d33a2dd2e13b84b707bedf16303f86f22f3f6cdb06beffb60cbe11c6293f1ee92f3f6a8a0ebe7d01e8bdbf8e133f52b71f3fe54ef7bda05cc3bd25e6f13e9fde0b3f73dadcbdf3d586bdb48faf3e6909d63ebe259cbd783e4abdcf976d3ebd42a03e5d1388bd3a0ee7bca5b6f13d99803b3ec88129bd6c0a33bc6527af3c9414943d6f2cc3bc7c579abbb10d36bd8af00bbccfa18bbc9a348fb88bd4c6bcc3cbb3bc5c1a61bca791333c600e3bbd4988c2bd12cfd83bbdce7d3c975877bd245ff8bd28d12b3c85a7673c28c96abd9327f3bdcdea473c8395853c2aaa60bd64efd3bde3db613c97bb4a3c182324bd298f9ebd19ea3d3cbfe54e3c93e8e1bc812442bda9fd373c7ba2203c6be752bcf06f87bc62633d3cfb16203cb180d8bac2cb843b02a0ce3b3390c4bda491e73ec0dd693f019121bed1c8ccbd82cfdb3edb3a693fa9f22cbe2a85abbde26cc03eeda4543f991918be2e8f88bd0ddd9b3e1f36323f7832f9bddda45abd22696e3efc7f0c3fde7ac9bdc65016bda43e233ee6febf3e06ff8cbdb7efcbbcf374b63dfa44553e2f8232bd049035bc84d5e43c6eac803d8676a5bc5e60b5bbc228d5bcfba0f0bcaf2b3abc32f0a1baf379c0b937ab64bd8b32c5ba8796c03bc18a31bcf6a20bbeb93b813c6a6a173ccaf1c2bc339520be31947c3ccc89443c08f7d6bc1bdb1fbe50aa873c690e123c3913dabcd98d00becf0c653c47ee1f3c1657b1bc3917c4bd92536b3caf2aff3b6c2173bca19c60bdad74403c9ee3033cd5914cbce1aa77bcab920a3c1ba9c33b1939c0baab83153c1a1ce83bc41c6abd1b576b3e93cf8d3f7f4831be7c875dbd39e1503e59298e3f6cb43abe81ae39bd9869393e64ad7e3fa0e51cbe8a4823bdfa481a3e23a6553fdc3102be952ce4bc2daaf13d9020223f2f16bfbd7adfbabced18b63dcc8fda3eea6e83bdf64482bc90506a3d7ddd663ea50515bd261920bcf190f13c1a57433d6f8a2bbc851fafbb094a68bb6f137bbd0fca4cbb6c33bcbad2f4503c1a6cdfbd2eb27a3c3c452abbd2b9f73c816e3bbee35d003d2f5d9f3b971c293c123250be9fafd33c83e5e63be74d333be4ec43be8167bf3c0d28d53bcc83b5bb4f501dbe83eb8f3cac08973b6c9fb0bb6d0ae7bd3813893c5c45d43b7d2127bc074f71bd39b2293c35a8b13b779661bc7d661dbcd59e663ba2fd353b215130bb26d0883c4ff2913bcab573bc9b8a8a3c7b61ab3f5d873cbe64ca8bbc7aa8bd3c969c9c3f761122be997f7ebce2f6bd3cc17e8e3f534e0cbe35634fbc6c74cb3cf77c6b3f2545ddbd27771ebc0feee03c04a5303f908398bddcc9fdbbfda1f53c5bb1e83e29a93fbd23dcfcbbba52fb3c0dc7663e0927b0bcb1ca06bcee1b1d3d5b92de3c6e010d3ca33474bbf6d93a3c8d49eebdf1f90b3c00000000000000000000000000000000033a613b396ebc3ccc7d4cbe6a6ad23cc5383e3b2b24a63c904a4cbe37ffa73c7be3c43b583dec3bdaf23abeb7205e3cfc03633b4b74ce3b70ed1abe23b6163c1eeb453b5083763b8b8cdcbdf17ec63bf395033a730add397f4a75bd0ab6bd3b0aff79ba1b0c98b9b2b431bc44d7173a0000000000000000000000000000000000000000000000000000803f00000000c763523c78a0ebbd45b3aa3f01d5debd0678263c1f6c9abd72c18d3f22b686bdbb9edd3b868d6ebd64546b3fedcc39bd70f1da3b7fc31dbda223313ffed9d3bcc3a9c43b309cb9bc6d97e83ea8e72fbc2a9e4e3b735b11bb1564673ebded7e3bf896163b3169333c2344183c3f7e573c0000000000000000000000000000000000000000000000000000000000000000d0700b3d53ec32be2ff8113b2edd163c3e44053d9e2e39be6d977a3bb1ff093c0282c23cdc0c22be838541bbe838fb3b08efa43c9b1c0abee57395bb9db6003c8647843c6d0cd1bdcdbd03bb0d07c73b66f8323c4ae37cbd0860043bc5b7833baa8e123c22cabdbc6741923ba29b2d3b00000000000000000000000000000000000000000000803f000000000000000082dddabd0994a63f6adfb9bd0e11913b710d9cbd3b8f8b3f4bcc66bdbca50a3ba2067bbdbeb9653f702c11bdbc1b773af03641bd7e392f3fc22ab9bc23a52f3a588305bd3ae1ec3e978470bc693bed3aad2d43bc1ad1773e51640abce20e5d3bff9a8a3a85a1063de2f9cdbba479cb3b0000000000000000000000000000000076202c3d98560bbe4309033d417c0abcf8838c3dc0e25fbe8d5d343d1491fdbbc0af683d84405dbead66d93c1e65b1bb46594a3d0e2d4cbe832e9b3c014d27bb7faa2a3d0abc29be96e5813cb2f07fbbd6340e3d51a0febdee5d793cb67a63bb8e71cd3c34a19dbd9193883c1f574abbff564c3c0733c9bcfeed933cdadcb8bb40869b3c289e15bc6090913cc0e7a0bbd66823bed3cea63f1230043dafa879bc94381ebec68b9b3f4f44203d0c7eaebc7d6901be806b873f65d4713d40f2aebc9bbec6bd1e6a5b3f8925883d2859a7bcc7388ebd8b5f223f64658d3d693b97bc926e31bd96aad13e66967e3dca9773bcd5ac51bc4c133f3e0cac593da2a855bcd08e9f3c59e881bc52d6433dced52abcc0138f3cd7cb06be2e8e8a3c23da8abb51782b3de69dfbbd387c773d9c4edfbc57d27d3d43df44bebbd3443dfab6c7bc308c603d44f642be469bf63c6690a3bc9fe45b3dda073ebe6fa3b83c52a591bc10b8333d36b519beed0c953c458772bcbad5273d449afabdc9c88e3cb2204dbc241b063d44dda4bdfd7d853cdbaf49bc6b1fce3c9a2c2ebd0bb3983c2f0518bc805aba3cc7f2b5bc5d5dcb3cffca0bbcc8c814be0421893fdccf6e3edc1a37bdc87b20bef3d9853f9c716d3e89ac49bdfd5ffdbd0926643f96c26e3e06bb43bd2ab4cabda30c393fa649613e44ee3cbd41818fbde091063fa68a433e883f29bd04872fbd61bfa93e8b44263efb1f1bbdab3c90bcd4b8193ee4a1003e076303bd2f48253c277199bce982b03d1793d5bcd3b18b3c409fe5bd5a502d3d1b97b3bc0b91003d2df3d8bdb726973df0903abde630593dc1d12abea01b4b3d6b201abd8a96573ddc4f31be0ea8da3c909601bd55d0433d689521be325e6d3c9635eabc8da73d3dbdbf10be0c8b193ced69cdbc1aea1d3d500cdebda88b093c8d1f9fbc67e20d3ddbbb9cbd9002433c686a77bcc08ae63c09b038bd21f0823cab723cbc5656d53c352ef2bc5cbacc3c3da118bcba6503be38eb5d3fe033e33ef44b98bdbd1b08bef103553fe7b5e33e3d72a5bdd77fe5bdf263363fd384da3e0271a2bdec79aebd2adc0f3f29cfc43e0c2d93bd779c81bdff49d03eb964ab3ee8e087bd1aa718bd69fe7f3e69b4873e39e571bd09fc7fbc055bce3d9465443e596453bd43a5d63b0fdfe1bc1b8cf83d841d2ebd1013233c2164c8bddf755f3d156419bddc91cf3cd05cc0bdd3d1983dae3956bd83cf2c3d12d808be697e123d02af40bd4b2d203d20f407beb0f02f3cf6be1bbd2ee12d3d46bd08beac1b2bbb915a0cbdcee1f63ca9f1d1bd40a7ab3ba85ffdbc46bc173d8686c0bdb9b4a4bbe029bcbc7e91ea3c5b7d81bd1a37813bc7608bbc1b0dcf3c868a22bd4d76263ce2753cbc56edc03c0189e4bcfda2ba3c22c80ebc7993d0bda6ba253f6547293f3878d5bde3c8d4bdd5371b3f43b2293f6226dcbda2fda8bdec41023f0d881c3fcadecdbd628586bda503ce3e5a620d3fb5b6c4bd546736bd4708923e4811df3e399fa0bdd8a8eebc43fb2b3ed3edb63eeb7b9cbd212a5fbc9789853df572783e381181bdc4cd6e3badda01bd6296103e01c957bd4c25053c210baebd65e56a3d51fd3ebd3d71b83c63379ebdb67a693d9e9e5abd89bc0b3dbfa7c8bdca799ebba0a228bd3bcc103d8afacdbdc79c0fbd91a406bd29f3063d7b5ebebd0fa031bd61a5debcef88053d557cb0bdb0c424bd7da6c0bcdd7be23caa4281bd773104bdbd0581bc080ece3c1d293bbd0bf6a7bc257c1fbc00fa973cba65d6bc0be74cbbdcadaabbf2788a3c465e96bcc35d833cfe848fbba1c296bda9e2db3ed468613f2abd01be6a2d98bd2f15c83ec5a7623f67d30cbe1fab75bd1504a73e94fa4f3fdf0301be3a763dbd3ded7f3e3d75333fa43de6bdfc5effbc7a9c2e3e6b5c133f7b01cbbd2d1aa2bc8cb2c43d9f72da3ef3b7adbd1023efbb2dc4d23c99528f3e1ef98fbd643fb13bccda0bbd6b660e3ebbcc64bd2728043c9e0b94bd3deb2a3d33594abd13686c3c604836bd0cac073cb0041cbd58cfae3c2d5d48bdb9a688bda847c4bcd356b73cb13061bd4839abbdb477aabc4085b63c91bb4dbdb729c2bd0f878ebc27149b3ccdc937bddb3099bd3c0f72bcb732913cfc8f0dbd23f085bda7caabbbf620793cbfd5c6bc170a1abde8df21bb97b7263c6b5337bc2ba571bcbb3ab83aa620143ccec2cfbb2b93173c3d2e193b23b433bd637d653e1bef893f9f710fbe09a930bdfb813e3e9eca8a3f4f351cbe297308bd90491e3eba33773fba9f07be1abed0bccf82e53dbc56553fd95eefbd114d77bcea3d943d43e5263f6632c5bdccff19bc4bc2113d92c0f23e7f1eacbd886730bb4182093b20a6923e01c283bd1635803be263c9bc9cf2ea3d2c8637bd2924e23b283d44bd09de47bafd2c21bdbbaee03b78b553bcb64383bdbbf870bc283d9f3bd7f9773cf3521ebebd1b0b3c61de093cbaed3b3aac2228beaf9a843be9f4073c739460bb3d221ebeb1d4893b0571143c618996bbd3d405be12c18c3b088be23ba733adba9452cbbdc269bf3bc28ab43be9dcc0b93ac174bdda990b3c03af4e3bc1c29fba364376bc2852163c6d9dc23aadcfbd3bf6354e3bc0370f3ce31c72bc14d8dc3c0b06a73f10151dbec80f6dbc86cc5a3c63859d3fde6114bed0ba30bc2ace033c33308d3f1d2600be1242fdbb0c42663b16fa693fb813cdbd1040a8bb123420bb5bd5343fbe99a4bdf778abba4a0f17bc0e31f93e209179bd526608b95b5e14bcb784883e3cac2ebdb7cbf73a2f4bc83a018e5f3d25df9bbcd7e23c3b459ba6bceb2c8fbd0001b4bc0000000000000000000000000000000056f49db97e1ab43c7b8335be86666d3c25312b3996aece3c716d3bbec270793c6307ff3abe966c3ccfce28be32de043c61fd053bf5c1563c6c7b10bef77ccd3b956c69ba3a63723cc2aae0bd3287ed3b34d386ba0f37683c39208dbdf48d163c04be5bbb6bae503c3b10f4bc190b1d3c0000000000000000000000000000000000000000000000000000803f000000001d56043c2156d2bd7fd3a63f3282c1bd8258aa3b36de99bd1ad18b3f60e477bd0793983b68d77abd4848673fbb5b2dbd547e8c3b31fe4fbd1505313f2e43f2bcc1d1843b18c71cbd3973f03ecc959abc75faf93a23ad9ebc46277d3e945ef1bb8237063b42ddcebbd100183dda5e99ba0000000000000000000000000000000000000000000000000000000000000000e614233cd770d4bd116e3abc3f7cac3b271b323c52dce4bd87baf5bb7c5c563bd9beab3b6d97cdbd47c821bc7d3c54ba2efef33b2530babdc2892bbc98ca02ba20b0eb3ba321a5bd5926c6bbc6ca63bb31ff463ca18c85bd827658bb61860ebb8c476f3c9e2b48bd0366b43a4ec736bb00000000000000000000000000000000000000000000803f0000000000000000c5dc77bd05e4953f944548bd7b8bdf3b6d0d2cbdd33f7c3f886be1bc8699e33b0de311bdc62b503f57a096bc5d57bb3b584d00bde853223f3f5552bc956cbf3bf591d1bc13e5e83eb45a5abc9d10d13b2166a0bcdceb8b3eee6576bc7166e73b24b185bcfeb2cb3d0763a5bcca56cc3b0000000000000000000000000000000025dcca3cff93b9bdcfe4c23c85ef74bcb1f3443dccaf28be8b77003dfef32dbc7fce1e3dc6f628be5d6ace3c71b083bc2dec0c3d85271ebed021b13ccbc57cbcf41d093d37700fbe2d58b23cf6648ebccc6a0e3d6c6fffbdb002ae3cbe5682bcf8c4133debc6d4bdba30db3c3b0875bcd45f233dc16b9fbd3b70ed3ca5ff2abc0658223d5b066dbd26fde23ced9e2abc71a3bebd7ecb943f3e2d9d3d7cf826bc435bc0bd15788c3f83a19f3dd97158bc2da299bd2904723f73beaa3d0f2038bc24d96fbdf5d2443f1c23a73dd5cb1cbcb70d3cbd13be163fdf55933d44eb09bc99f712bd7cb8d13ee5856f3d80ee09bc5c5ecbbce6b96a3ed1ea2d3dd88b15bcf39134bc2cb5683dfbe4d03ce7e0c1bbe4375abcad985ebd0d75cd3b269832bc5cc60b3d07a5cdbd5f6e7d3d337b15bd08da503dc8da23be1d84843d3be617bda3b6253d106e19bee86b563dc91413bd48fd403db4f527be49f24f3df28d15bdbe092d3df5b312bea1563e3d054b12bd75a2433d96a00fbeb570413d103609bdcaca303d96f2e3bdba02303db006f0bc08f2473df0dacdbdf5e8473de77dd0bc3ff9393dfe1897bddd93423de18c9fbc071dafbdde6d763f0911803e8644f9bc3d4bbdbd0fae6b3f220c743e50a4f8bc6cdc8fbd5d21463f38456a3e098deebc162e75bd92da243f3f7c573e8429f1bc58be39bdbf0df83eb4c8383eb185e5bc6c1d0cbd2299aa3efd8a1a3ec0dfe7bc8c2dbebcf1e73e3e8d20eb3db8bceabc0485f5bbb2ea1c3d055da43d0043dfbc38a486bbe3ca70bda859353db9efe6bc1c0df83c1f22c9bd4196b73d83e260bd0dd24b3de4ed1dbe9e3bb73d87696abddecd463d599b26be2c55983dd8415bbd713b453d0f5223be32068c3d570859bd7ef7513d9e9b1ebebdf0843d1d5f4cbd8776473d0aed0ebec0a1733dc26139bd8c964d3d70af00be715b6e3de02628bd19b54e3d2467d7bd1ffe703dc2190ebd2dee393d73daa2bd7500743d90e9e1bcba3e9dbd88fa453f539cdb3e072f57bd1cfd9ebd04763a3f9608d53e9f2756bd892a83bd082d203fc666c73e9cec4bbd652055bdcb6a013f8c75b13e2a4543bdb49023bda922c23e223a993eca024abd8e7be4bc4db6813e907f793ec9673fbd2a9d90bc649c053e82543e3e641e42bdad63a2bbb3418c3c8f6d023e4b773cbd8da39abb5a8b70bd4a6b903dccab3abdcdbcee3c4b85ccbd96a6d53dc85f83bd8117353d965d10be39edcc3d932d8abd434c2a3d383110be6ccc9c3d9d2e7bbd57c7463d26ad1bbe95af983d213f7cbd9ffd0a3df51af0bd227b863da29f4dbdc2c1433d62ae08be746e843daa5459bdf89a2e3dcceee0bd5f65753d7e4e2ebdcdbc353d1075cbbdf3c0803d1c781fbd54b12b3d5aee9bbd310d803dc0c1f1bcb00a77bd9b96153fb9a61c3fdbd68fbdbb9c71bd8a35093fcfe8173f676195bd46de4abda907ea3edc1e0a3fd44588bd77b321bd5330bc3eebb0f73e962d8abd6ff7f5bc1b288b3e497bc53e868474bda825a5bc8282333e7147a83e637f82bda8754abcc771ad3d70b7763eab5576bde6cada39de18e1bb5b062a3ecd3b7dbd693e06bbad607fbdc87bb13d470467bdfbe5e93c3469c2bdbe5dd13d22518abdca4a233d7b2802be52f7a93d73e291bd9a7c253dae0d07bea9637b3d650b82bd28ba203d279f05beb89b5c3df00575bd6263273dbb5e01bec7da513d3a9367bd3ddf1b3da43de5bd5dd23d3dafb447bdad39143d605dc7bd335f373d38b526bd2a2a123d0beba3bd5ffd3f3d00b30cbd6170073d2c8b7fbd85005b3db0ebc4bc20993cbddfd8ce3e31854c3f316cadbd938934bd31a9ba3ed9bd473fe2d5b4bd8b6c0fbd449f9d3edbc7353f7ad2a8bdc0b3d6bc7821773e9b1b1d3fb7a09ebd1cc69cbcc9a4313e26d9023f294c9abdb42535bc53a3d13d0375cc3e927c91bdf2e594bb01ed123dd38d933e617c90bd694c523b0358dabc8276393ec7af8bbd29c9223b22a284bd6ea6ae3d370681bded15b83c01789dbdaf5f8b3df57e75bd6bd1f63ce2aec6bdc2571b3d755a78bde141e23c5acec1bd7715cf3c0cb758bdf573f53c26e5cabd1673713cd89e53bd0233db3c5232babd76c8913cc04d39bd92d6db3cf7aba6bdc0eb613cb38924bde434c43ce7df87bd06ef993ce043fdbc9806a73cce9d52bd5088b33c0fd0bdbce677a73ce47618bd47410c3da91188bca42ef0bcb7c56e3eaefe7a3f9428babd2a41d6bc146f483ea132763f1500c7bd6f60a8bcf8da2c3ec360553fd931a8bd5bcd6bbc2515003e977a3b3fb8c3a3bdd05efdbb808fae3d71fc153f24b195bd941a93bb1b9b283de3f2e73e87fd91bd4833a0bab640913b5af99c3e77e086bda233de3b960d1abd9139323e679b86bd905c7f3be81771bde6de703d9ed078bd6d4a793c524656bd012f8c3c88772ebdfc3a483c211b29bd75e14ebd801e15bd0e5e783c31254abd65f865bd00970ebd4f806f3c9da04fbd5ffc56bd58d202bd7392533ca14f46bd478925bd137efabcb94d3e3c843621bd509219bd4fb4bfbc679e2c3c2a5ce0bcd3b4e3bce2d275bcb240c33b98e21dbc6de585bcbceec4bb9a95cf3b13dd1cbcef51923b9afe8abbc2223ebce0b3863db556963f3a98bebda89b26bc2fac4f3dfd038f3f6be3b3bd3aafe9bbf2a82a3dcd767b3ffb8796bd6c089fbbd119f63c0edd513f428682bdaddf2fba37f3423ce111263f91686cbdfe6d823a4822aabb9c69f43e159d59bd554b1a3bdcadacbce6ff9b3e75fc53bdd06e723ba0270fbd0708093e906e48bd81a6cc3ba5634dbd1cce8b3c2f5649bd00000000000000000000000000000000809f753b97507bbca019a3bd578e40bc6b90023b7c1432bc776dbabd536228bce43b423b6a868cbc958ea5bd8c4224bc721d313be7d485bcc38a92bdb48f23bc0ba0b53a4a6b12bc89a981bd0d1102bcdd3e16bb85b0a43a3e9862bd10b61bbbb3e86abb98fe0c3cde5026bd01461b3b0000000000000000000000000000000000000000000000000000803f00000000bce8813bcbd06dbd1811963fae1e48bd4b70863bc7e42fbd35dc7d3f6ea6f4bcca9f8e3ba24a1abd9432523fa100b6bc2c9a953bdba316bdfe74253f6ce6a6bcb3a7703b005806bdec73ee3ef6f68abce978523bc86df7bc4618923eda0e8ebccd1a723b88c900bd3f7eea3d5b97b5bc0000000000000000000000000000000000000000000000000000000000000000f17b523dbde75bbe8edf893cf9a3763b01a91f3df6374ebef4c9d13b316df03ba601033db40048be256309bb9b6b023caf8dc13c15d123bea119e4ba5ae8bf3b5a434e3c4b12d7bdfe62cebbc9eb4f3b99a2673a80a85fbd217305bc9ddfb13a5329b0bbdc3902bc001742bb81cd90ba00000000000000000000000000000000000000000000803f0000000000000000217202be5f48ac3ff617f1bd5f99213cf18c9bbd60128e3f199283bd0dc61bbb445676bd7425713f95594abd9c7f0cbbe0481ebd5449343f0465d3bcb4994fbb9f6d15bcf43ae33e6bc0cbbb8312deba263f6f3c652a613eb2aefc3b288453b90d6e0f3d1c44d2bb577a7f3c075cc23a000000000000000000000000000000006223533d36e614be1034073dab6c23bc085c5a3d01e72dbeb7f4cd3c226824bca243503d733953be05d1283c8b2f16bb01232c3decca43be5c09d3ba37e5ba3aa4a8f73c8cf118be3b0ee3bb9475c73a11c78e3c4d15c9bd68573fbc7c1296390d97cf3b69d93bbd07b453bcf236223941a911bbc65db6bbe90252bc05cbd6ba1a0a85bae757d03ce45cb9babf75e3bb3fb74fbe4893ab3f0ee6d2bbcb08ccbb689622be1303953f4a9f313df09c91bced5e12be92f38a3f5c4e293d95c6c1bc535dd4bdd5da613f9bc66a3d8bb8e2bc1c3384bd2abd233f004b903dc099d2bc5e89d3bc3f68cd3edf989c3d4889cdbcadb3c93bee89303e5a27953d6106b2bc8f8cd33c1268863cb289763d4616a1bc24bc2a3d1d7e20be01760a3d184d04bce916063d5a05bebd840d363db52ebbbcc0354a3d733020be47cf5b3c67eb49bc5d4f483d54c233bea0bb2dbb99ced9bb6ce7263d03c51cbe36ab9dbc9b1b09bb000de53ca5cfe9bdc894d0bc7546c2ba4f59ad3c784f8dbd2502eebc04a788b9c57f3e3c5ec9c8bc10a1d0bc3b41cbbae042c73b50897a3a3e3d8bbc256a963a7465973baaebac3cee2a62bb643e82b963363cbea1898b3fa9c54f3e8cbd33bdd89f44bec8dd893fa703543e1ad258bd310d23be1db1733f8622573ed20569bd198df2bd706d413f0edc553e87886cbd1c769abdaa1d0a3fcccd463e916e5bbdcbf11cbd7720a13eaf9a3a3e74e64dbd09f6cdbb2625f93d006f143ed1e92bbdfe944a3c238a67bcff20bb3d2152f6bc21f3893c2586d2bd5fbf443d7475bcbc87e3bf3c2f6c96bd5811223dd5cae0bc9c98233d3628e9bd144822bcf56d3ebc06dd1b3d8856f7bd333314bd768149bbc013023d2764d1bd708a52bd414e50bb8a40db3ca9849abddea45fbd7f3c183bbb56863c82c81bbd48e449bd89697e3be4b74e3cfffc33bcd97522bd7f4db03bafcd0f3c4ecd2c3c4e96a6bc44d1c93b3258be3b7caebe3c81ed66bb6519a03b82e033be88ed693f43dbd43e9506acbd2ec932be90e45c3f30d3e13e6ccbcdbd508912be31a73f3f14f8d93ef64cd0bd960cd8bd6c97153f46c5ca3e59d4c3bdc9c68dbd3c35ce3e51fab43efc24b6bd0fee18bd809a6f3e17b8913e65daa1bd55c55ebcc803bb3d6f514a3eed0e6dbd64cc943ab7764bbc9700e23d698925bdc0fd3a3bac5eb1bd2b34293d309af0bc5e888b3c72f037bdd07ba33ccbd9f3bc0254d83c242f88bdd54621bda6b148bcee54ec3c21b295bdf42590bd47ae8dbb52b3d13cbff46ebd2421b6bd076f803ae9d6813ccb0822bdeaf299bdc7e4b3b93821703ca14693bc12fd8fbd138cf93b9e600e3cad65d9ba857537bdc565ef3bc3f7013cd78e653cc715b0bc01e1283c291f983b0655c83c4c909ebbe5bf1f3cb65210be2eb22c3f36252b3f86c801be92270dbeb03f203fe4792e3f59510fbe807be2bd5d4a073fa18f263f1c610fbec0f0a7bdd009cf3eaf68173fdba105bed1c555bdbc168c3eef87f73e932adabdddf6fdbc7eb6233eea0fbc3ecd51c1bd60fb70bcba438f3d96cb6a3e696685bd9ebcf2bbfb48edbba58ddf3d4bbc33bd00eddf39a42a75bd6a72a83c7fee02bddeb50c3c2b1e15bc374e21bcdfefc3bc6be2883cabde9dbce2cbaebd5c187fb9e87e983cc5ccafbc7106f5bd7084be3bd1389d3c8ff690bce13cffbd19da963b839d633c54f3ffbbfbb3efbdeb40413c7024333c47881fbba621b2bd35e3683cdb15313ce103aa3be44b69bd18475d3ced839f3bb37f3f3c2b0ad2bc07dc7f3c2c97803bec2fa63cef32f7ba392a6d3c2b82c4bd5ac6d83ea535683f54bf22be40dec3bd5216c63e347e683fc90933bebccc94bd6b8ea03e749f5b3f7ab12bbe27205ebd79be6f3e78d93f3f969f18be21f112bd8170263e50601a3f89cd03be18a4e1bc99aae23dd00ed93e7f95cabdd524aebc7a93743d2160783ed56382bd42ad33bc6d237e3cc71dbf3db49c1abd662f02bc79b8d0bcbbd40cbc054addbceb1f053b2b579d3c359737bd081756bbab3a043c0b199d3c80e908be853a863c6412533cedf5853c22b028be32dc823ce80f333c66bb873c68952abe74749a3c1a3d2d3cd851203c700712be9a4c923cd23c0c3cc37b3d3c8c42e0bda2ad9d3c6274f23b720ba93b044271bd47b8793c37e0873b381dda3b1a3ac5bce88f6f3c3cf90d3958fc4d3c0d4c17bb3ae84f3c41d858bd78ec523e66148b3f088831be59a143bd25e22b3e83ef8d3fc53042be3e360abd80f6fe3da264833f7dfc36be9049dabc2833c43d499b5e3f983a1bbee4dc95bc37e59a3d7e0b2d3fe705fabd87fc84bc3f20843d98cde73e1b26b5bd57675bbc3456413dfbcc743e37105abd40af53bcf975093d2f9d823dff4da2bcb2bc36bc3cb7223c4dc01cbd57ba38bcf0d0a5ba84cc1f3d0fd9f5bdbdfbc83c87888cbadd2f203de1bc1dbe9031093d2b67133c161afd3cb74749bedb22e93cddb2f43b7590d63c57b445be7bade73c115be03bb7a4943c833220be3714b63c818a8c3ba7b21d3cecfee2bddc24993c3ba0693b5de3ac3b0b3973bd9e62313c6e80743ae83de039d40c92bc5083863bece613ba497ebd3b228f553c3af7333c34d3fdbb6e9558bb0d66ab3f57d648bee04877bc8983b93cc61d963f2d3f23be0db812bcb6ba0dba10758e3f41ae1dbe9c7ab6bb3246f93ae4046d3fe42b02be430098bb081b073cef22333fc1d2bbbde5a773bb7feebc3c15fce93e084272bd5b5fc3bbfeeb063df5e8613e639fb9bc9b0f14bc71070e3dd3544d3d3fd7bb3bb6d90ebc6801013df24afdbd3eee913c00000000000000000000000000000000c0dcf0bab492403dc0915dbe8f851a3d30fb3f3bf05e103d71274fbec081e33c79dbc23b9d9fc23c3f0b49be33eaad3c1ea6363b9dbe9b3cc2ef22beea83833cbd0e943ab793293c4c26d8bd5414103cf39832ba6a3ce93a047b5abd786fce3af17706bb3b9134bb284cccbbac86d6b90000000000000000000000000000000000000000000000000000803f000000002689973c23d201be9c3eab3fadf800befcf14a3c6cfba7bd44fd8c3fc4859fbd94d5313c0d3086bdde426d3f9d727bbd5591313c00f02bbdf5112f3fef941dbd6395fc3b0c1975bcc71edc3e5a6a46bce3459c3b6d3c1d3cfce8533e8740173c08935fb9387cfc3c552c8abc5105e73c0000000000000000000000000000000000000000000000000000000000000000978c503d287a4fbe420f233c0628fb3b2a7e2c3d665748beffe0573cc5b6cf3b44c9103de5a041be3f790b3ca84a1c3c1b27e13c0ca51fbe0c340d3c5c18063c3632823c5f7cdfbd1eadf33b7813e73b21e1853b90805bbdaf549b3b1bcead3b2bcc1cbbecdb1ebca096833b8985143a00000000000000000000000000000000000000000000803f0000000000000000e7a008be4091ac3f13e8edbdb7199b3bf470b0bd1c6d8e3f6fc19bbdaa96b439dc768cbd4c476f3f607389bd6a7844bac40a38bd3c78333f1fd94bbd5bdc4bbac7f67bbc2e96e43e3ba10dbd56dbf93a1c41f63b2d8e5d3e016f82bcb896233a76c6ee3c953922bc0bcf13bcc0367f3b00000000000000000000000000000000f729853d093742beb0ed753df76c87bc81068a3df81257be938f8c3d9aeeaabc233e733d849c66be82a95b3dc71f5ebcb3874c3d596b4ebe3c3f3f3d8b8837bc43910a3db4561cbe06661c3dcc3008bc3a3d9c3c1811c8bd359dd23cc8920abc8ac9e13b71d52cbd647c713c927db2bbb11299bbacbad63b1c11be3b0c1b92bb31b822bb4b21ed3c05a00e3c4473d7bb5c9242bea95cad3f1551b0bc03d5b7bbbad61fbe0a96953f524c9b3cc0e562bcc61604be5b52853f4dc3cf3c084979bce578bcbd612d533f0f8c263d846f9abcabb158bd78d6133f1e3b5f3d94439dbc01df81bc97ccab3e9f67893d85ed9dbc37de2b3c01e6eb3d657b923d91e0a9bcb3d4053dd23d4bbd69e39a3dde11c5bcaf84353dde5957bea909483d7c1565bc287c6d3dd96435bead2ffa3dea1e3fbdb12e883d0f6e5bbe9697c43d9ba11fbd86a2773daf7e54be08339b3d289200bde4633f3d4d462fbeb539783dced6dcbca4ae093dae9a00beb2ef383dfd18cfbcfbc69d3c209a88bd5929d53cb46994bc49ae3a3c6c10cfbc8a4d993c2a8546bcc1a4973b04c3363ca8a7ce3b1bfe09bc4c9bf7ba9b7c043d55a8763c67e126bce8c921be5f008a3fb16e253ee1e3c6bc6f701fbe5464823fe356383e71200dbdb4c0fdbd1ce65a3f58094a3ea65322bdf04aaebdfa2e233f99c9513e945122bdd15e48bd1707d63ee1f14d3e2af917bd2c1d8dbc744e4f3e92874d3e11532bbdd177e33b3adcdd3c4bca333ea0eb2cbd5924b33c84dad9bde43a143ef47623bd2ac0f33cbabc49bed444de3d8f6606bdea0a3a3d6f9d25be24801c3e981f95bdeeb6693d37d532be93bddc3dfbc36abd42a7383d034d21be435a913d5e3243bd7972103d6e9df1bd64ec493dcbc32bbd72b9c83cab829bbd2d8dda3c411904bde619673cfb6913bd22950c3c3f66b3bc75bffe3b8b6bf2bad85d1a3b9ebf5bbc3698483b2ee5b13cb4c84cba478835ba98f0b2ba8012073d6882413c1cfd5cbbcbb905be776a593f6618be3e5f7626bd820f02bed7a0433f18cace3e531877bd7117c1bd2f111c3f64ebd63eae9387bdd8457ebd07cbd93e3959d03e4fa687bd0d1807bd6e307a3edf18c63e7a058abd82a247bc4889bd3de065b03eb22b8bbd584fa73b59ac0abdd09d8f3e8c2284bde8dc993cd64402beaf9b523e9d5483bd8889af3c28943ebe72c30e3e18b953bd629a123d6c5a04be38fa1d3e5012a7bd8cdb1a3d16a1f9bd3383b63df4da83bd057ef73c7217d4bdb8cc393d93f85abdfe3abc3c2a9186bd60ca303c962b1fbd016a823cdb5f4ebd58ef613c62f01abd696d193cd52115bc08b3afbc9a6876bcc5a3a73b022ccf3b03153fbcb4c3a5bb9535bd3a623fd33c7c3744bc81e20a3cc5d81ebb9e72113d2ab20c3ba1b0fc3be41bbfbd53d0163f87371d3f0e978fbde187aebd500d013f3846263f672eb5bd1b5e7cbd09d2c43e32be243f64c1babd4c361cbdd219743eba861e3f00e4c5bd12ca9dbcd023043e51a1083fb38bb0bd09d096bb2cbc823c9127ed3e2c2cbdbd200eaa3bab1364bdbc28b03e8edfabbd9a9a483cf997eabdab4b6e3e89929cbdfa28883c8bdc1cbe859f103e57658abdca84af3c3a349dbd130de03d719399bdb447c23cd66266bdbfa3aa3c8c713cbd2e42973c554b1dbda99dc9bcba4304bd23a66e3cdd6591bc0a3f42bd55ddacbc340f223c153714bb88c277bdc3530ebc0345fc3b57c71e3c00a56dbd1390973b394f653b0bb39a3c1be03bbdcfa7ac3c262af73aa463bf3c723602bd0f8d023de2eb1abbbaaef83c858f03bc06e6e43c3fb572bd819ab13ee9295e3f1af3c9bd90f55cbd4d29903e64b4643f796ef8bd967c1ebd2d73443e76c45d3ffda201befaaeccbcbd5fdc3d122d493f9bb6f6bdade647bc5a780f3da15e2e3ff2d1f3bd8d5602bc4ed9e7bbf5e7073fc5f4e1bdf57a083a1e8442bdc5c2ba3e0f71c6bd1dfb733b48ee8cbdf943563e22f1adbdf556a03b0477c4bd3bc1d53d6e2099bdac7dff3bbc299cbc4d1aea3c30fc2fbdae21243cf111193b4c7884bd4eba59bcc9cc163c3200103c3ef4d1bd8e2d30bb117cc03baf4f933c7789fdbd298a113cd877a03b940e973c12cfe6bdc624743c814a7f3bfba8a23c0bd0cfbdc3fdf73cfe53513bd7a7a13ced508dbd26921c3d4d45b73a57358a3c634e25bd4862403d2924b2b91b2d903c038d61bc3083223d08afd5bc07ec163e3ebf8a3fd79afdbd17d8c3bc29a9c83daed18d3fb3a71bbef27685bc5a1f5b3d860c853f0f611abe05c62cbc4788a83cf0b56a3f477d11be82dd96bbb28582bbf42b3f3fa12e02bebcb7a4bbaaac47bced7f0c3f19c6e6bd2c0297badc17a9bca39bac3e89fac2bd9739d4ba3a4e86bc9195163e3d7395bddf8280ba3271dfbc080eea3cb41e6ebdee2d96ba7774f53c548bbdbd9fd9993b58655dbb9d6c133db9ba08beb0a6ca3cb451223a857f143d11472fbee21fe23cd643de3950070c3dddcf33be0f020d3dd64978ba70f2f43ccd711dbee508183d5679583a963aa33c398defbd66f5263d6c66e9396233223c9c0390bd25931e3dae52873a916112bbba4dbcbc798b093defb3b8b91bb7b23b449b6dbb8d2d2c3d594ee3ba6fa6b2bca00bad3fc6812bbee78813bbffde1dbc9533993fd46917bed9b4fbba71ffe1bc9a36903f535112be6fdfcabad0c0d3bcd1b0743f07a404bebe027d3a26b5a6bc6bff3d3f6321debd0bab27bb2f8ffbba71bb003f23eca9bd0d25e7baec99213ce54b8a3e414065bdea423abb9153d03ce6018a3db8b8bdbc45a3d3bbc595ef3c9beccdbdd270bbbc0000000000000000000000000000000032b516bce0996c3d62e75abe9d1c303d8788ccbbd99e453d1bb350be90051a3d7e98a9bb1c602b3d803948bee584113de9e87dbb8296023d9dda26be013d0d3d695e39bbc52ea63c47cde5bdc447de3c610ad0ba6067ce3bda3871bd2aa99d3ca718c6ba745011bb289275bc1c5a9c3c0000000000000000000000000000000000000000000000000000803f000000007af0603c1194ecbd3f70ab3feccefcbd198ed53b426d97bd1a7d8d3f1191acbd49f2bb3badec72bde6256d3ffb0090bd6bb9803b13a215bd6a3d303f67ef50bddbe6f63aef0225bcb66ee13ed426efbcffca0d396663693ce5e8533e36738bbbb80411bba90e1e3df74cafbc610c6a3c00000000000000000000000000000000000000000000000000000000000000001c164a3d67a754be850e17399058603c2498303da35658be30cb653c53c1263c0ca1223d3b0b4dbe90086d3c93a12e3c70da163df32836bebc0e933cb980283c2449013d8c1e12be5509ae3cf15cea3ba3f6ad3c8eadbebd2976cf3c6892b83bf05aba3cae8d7abdd580e43c18345fb900000000000000000000000000000000000000000000803f000000000000000030eed4bd109aad3f3f5eeabd6e4695bbd9df8abdc3cb903fbf99b7bdd9b064bbd03f5fbdeaa1703f95f3b2bd1145bb37b17b2abdf442383fcf69acbdfd9c633b6767d8bc508bf93ea1369abd9d5bc63b9f9de5bb99777f3e61ca79bd0b9ebe3b26d02f3b065b0f3d1d1a7abd662a613c00000000000000000000000000000000dceb9e3db83f74bec078a23d69939cbc2bf7a33daa9f9bbe75f0e63d2d8305bd0aa38d3d1bfc94bea02cd03d13fa04bde9b27c3dffde88bec410cd3d645106bd27f54c3d702d65be1645c73dfc910cbd74ef1e3d8b1a2fbefffeba3df94a10bd0231d93c7d6ae4bd6dd3a73d97ba11bdad95333cdaa141bdb85c9b3df90d1cbdfe3e933cd37740bdc5f6943d2bc71fbdf15902bef621ae3f261264bddf70f73b20a8cfbdf9e29d3fb0db45bd679a233c20569dbdfc3f863fa80112bd5ceb6d3c3f2c5ebd9e91533febbbafbc3385613cc653f3bcddc9153fbac75fbcae1a8a3cf4f00dbc7e0faf3e3614a33a9ed07d3c2bae473cbfaeda3dee0f873cee3d703c4d210c3d0415dabde401213d475c303cca85063d35a453be13bb373cea639e3cac7c9f3dae6084be70803a3eff6f89bdc5979f3d51509bbe2aa4433e1e1c9fbdbfd58a3d4eff90be94a8313ea7c3a2bd41625c3d0dba7ebeeff5253ed2a6a3bd21ab2f3de50551bed87a173ef24da6bd24f3f73c15a21abecfe2093e1fafaabd4eb9953c05c7d0bdc822f53dfbffa2bdb4c4f63b4e5854bdc4aad33d88f1a9bdca621d3be458dabc686dd03d3b7f96bd6372afbd91d7873f938e953db8a6ef3c6015a1bd84e67b3ffd60933dbe1a0a3d1ec259bd984b4d3f127bce3de9e4073dfb3affbc9520183f50d5e03da1f40a3d249233bce692c43e1fe7f63dc1b4033d84b3b33b2dc8353e05cb063e9801073dd135ad3c02769dba3b1d073e4162d23cb0e60e3d8efd28bee6050c3e82c5b13c7e472d3d38da80be392cef3d590d693c3d227c3db77270be97f27d3e10c4e1bd50676b3dee4a84be9ac8803eae6800be49413d3d7ca96abe7b0f5b3ee538febd349d113d3d7b45be1df3433efd43febd07fdbc3cd8ec19be0bb62d3e5d2900be581a743c9cefd7bdb193153e7cb2f0bd4414c33ba08b75bd5ceef73ddd73e9bd01af61bbb89d8ebca277cc3d2982d7bdd7d4a8bb84a3e8bba13ed03d8797bbbd6c2c69bd265e473f7110843e80463b3de97f3bbdf15b2d3f4ecf8b3e21734f3d1dade7bcc100053f44ec983e7062473d981848bcfac0b33ed5519c3e76eb393de43d313be8243f3e41cf9d3e94c52d3dd9ba5c3c4a801a3d6201983e18ebff3c2635af3c9975c4bd9234903ed605b63c3833003d285c53be3902853e9b23513cdf6b103d37a286be3633533e2f665fbb9c64253d5b3646bec30a8c3e1b0314be8b7f093dcbbb41be2a60813ea1181cbe21d7da3c75d526be1726533e7ae015bead7a6e3c74dc02be0d12343e530017be662d513c654ed7bdf2891d3e1e7506bec18892ba75db63bd0488e93dc39005bed89d0ebbf9f1e6bc16cac43d5a21ebbda28337bc51944c3c06b0883d684cd6bda9ca3fbc06f6983ceaca913d207faebd5541f7bc492c023f3680fd3ef6d5363d56279cbc161bcd3e08a2033f6fe0463dc6becebb7c3a933e8758073f4d37153d73294c3b4194213e2b5e063f7306113d87f7303cd3c3923d5ae9f23e81cd513c2f3f9f3c886c72bded09ee3e7cb9393c306cab3ce7cb05be1421cc3ebd411cbc75bdd23c8e2556beaac9b23e733696bc3be2003d7c7b7dbe8aab893e028b22bdbebfa73cbd5909befadd783e48801dbee7f4693c0f57e9bda81c3f3ef8ec21be84d70d3cde5ab3bdbb38063e34ee14be6354de3acaea78bdeb60bd3dc6fe0cbe82a699bb4b6d11bde6a9823de7b8febd4a28dabb70fd46bc9f192c3dd81be2bd7f0432bc11522f3c3051bc3caea6b5bddecc5fbc11da0d3d9ac3453b93868fbd435f5fbc7622143daedbc03cbb1768bd550725bc9bcb8a3ecdb5433fcf41d53cd296abbb91f53e3e7f774b3fb66fc63cedf4263aa3b0e03d05254a3ffb95313c54d4e53bed92063dd92f3f3fdad7383acee9463c09c815bd1d372e3fdc1552bc4d4f5e3c70f1b7bd0d49173fae16ddbcd55b813c83b509be9ae8f73e6a3c38bd4b4a923c7e632dbe3706c13e4c4975bd027ba33c223946be5b0f8c3e3c5ba2bd9586bc3bf03e71bd7a060a3e857b04be0b191f3ba76c0ebd25125e3d74f2fcbd39b291ba0294c7bc43ec9a3b6db5dcbda87e6fbb3cd102bc7196f3bc6823bebd040e9abb17da923b9cee30bd8ccf99bd0e20f5bb14f4903c0d856ebd434e6cbd609106bcdc47c83c1ee15bbdc7d314bd72b909bcec3b0a3d08ff58bd35e059bcf56a1abc0276183d6c81d6bc2b0341bb520bf7baaa71c03d29a8853f1c4e66bcf0e8363a42051d3d03d18a3ff555d8bc6e1d8e3b0ab9c43b331e833f330724bda79c5e3bfd9dd9bc78376e3f9c6352bd736ea23b0a4b4ebd54674c3fefd286bd22a7c63bcf028dbdea55263f560c9bbdc6ce033c2049a6bd3d0cf43ed4a9babdca40a13b4616a3bd6585a03e3b1ec6bdd3da003cf477cabda0123f3eeda2dabd0da7b4bb77b3883b315fc8bc7cbb8dbd0e9261bb2df4b93c6f72f9bddfa415bd825b9ebbfa01af3cd09012bebc0df1bc65ecbbbbcf69e23cbacd20bef42d72bc48d2cfbba99fe83cad0818bee17389bb154acbbb2fdfdf3cecfc04bec0587a3ccf69ccbb42e6c13c597dbcbd44d7b83cd34193bb5ccc833c836d61bdfa66213de4f8acbbc415ca3c22cb54bdd071393d3c93893b164c1bbd2cf6ac3ff436abbd33e35eb9d74708bd94f8a33fa99eb3bd4be14c3ad75319bdf34a963f3a2bbfbdd49a2d3a15eb19bd1b12813f3d0cc4bd9e898fb9edb503bd42b54f3f0cd7c5bd41389e3a252edfbc6bf2173f75cdcdbd2ad7e53a44f49cbc2c4dbb3eafe0c1bd02f6e63acce5d13ad3360c3e95bfb1bd90169bba38130dbc0e249c3cf21fdabd000000000000000000000000000000002c343abc8524443d2ee64dbe4339c23c83a1fdbb30ef373d09d65dbe9284133d96c502bce3ed263df61054be41911f3d5f07e6bbf58d1b3ddddc41be98673e3db4e7c6bb2446043d0e1420be0f82413d75448bbb452ab53c5528d5bd8d3f4c3dca2080bbeaad8e3cfd568bbdfd916f3d0000000000000000000000000000000000000000000000000000803f00000000c74f6c3b839ebbbd5186ad3ff2edd9bdef2800bbce2454bd1675913fcaa9afbd8f841dbb34a021bdcd94733f3521abbd88305abbe938c3bc71ac3b3f1477a1bd20bd7cbb7490e7bb3738003fb2958fbd0d122bbb4509313cda54833e94ce60bd4f1579bbc2edfb3cdedc0b3df13a5cbd0000000000000000000000000000000000000000000000000000000000000000ce1772bcd9eff9bc092078bc82b99b3aa71635bc36350dbd03524dbcc0fa313b03a826bc65d102bdf53638bcbcd3e33a0dbff6bb6ed1ebbc04d631bccfe3c73a2b67d9bbce30d6bcd91441bc4d23f4b8027aa5bb5264b2bc77974bbcc7888cba9cab56bbca0967bcebed58bcc3182cbb00000000000000000000000000000000000000000000803f00000000000000001bc55dbdb1168b3f845179bc9d2bbebbf4de14bdddaa673f6727a4bb7e826ebbe83fe8bcaecc3b3f402bf0ba94c571bbef34aabc6122113f19797fba665503bb853497bc9c9ad03e37f07abb04eef5ba3e4e91bc0342813e8bcf05bca9a24abac0c8a4bc1a35d03d70306abc93ad64b8000000000000000000000000000000004fd1c0bc27b13cbb5a6513bc1db2a6bbf632aebcc525fabc506b85bce28895b9d7a18dbc30a115bdb9c676bc65c996b9560f63bc058112bdd74272bc3a219e3a3bff3ebc5e9404bdcc875dbc51ae6c3a7fa108bc62f4edbc94b57bbcee21b7b9c078cebb8d31bcbcaa7f7ebc5c048cbaf64c03bb6ff853bc2e5763bcaeddabba77adc4ba22eb3fb92deb08bc050d50bb6812b0bdac398c3fc15dee3d8037c2bc41babebdcd0a843f3501dd3d0c68c4bce86e8fbdd70a5e3f8403d03d5e789abca2945dbded4d333fc948b23dc80880bca65630bddfd6083f9e88893d9e7843bc386319bd4f16c43e6c1b453d476127bcdc8c08bd88ea6f3eea3fd23c05e6febb271bf9bcb43fbd3d8bd33c3bcdfe9bbbae59cebcffbcb0bc503c4dbc001da6bb9328cbbcc866ac3bc7d98a3acdd8fdbbbd5bc8bc1c4d5abccdcedbbb29a880bb3c8487bcdee9afbc831411bcd528aab92d0476bcf81bd6bc38bc48bcdbb8e739faf02abcc8e9b3bcc7813dbcaa3fc3b848210fbc670eb6bc3e3163bc69c309bab379c4bbd18482bc520730bc1897b1ba78104abb591109bce00e37bc66efb1ba99f3febacd122b3ae37a95bb7295b6ba18c4aabdc3b16b3fc68e8a3ed23d1cbd6b07cdbdfe05623fa726823e362136bdb07c90bddf0b393f905f653ef8f808bd0a0f87bde6a71c3f1fc0403e6980efbc6c8847bd27c2ec3edd62153e6f4cb0bc4d803dbd7730ad3e9abddc3d2217a2bcff5615bd4ebb563e2b908b3dab805fbc60cb0dbdd7ccb73d885fd73c5cc34ebc6a8fc6bca34e1fbc1e81abbbcb520dbc8edbc3bcb46bc93b7344183c07600dbcb4dfcebc57fbfdbb03bd103b58588fbbdbae90bc8ce49bbc495bd0bb712d87ba41af58bcbc33b4bc8cbf1dbc25240f3ac53428bca79aaabcabc729bc3ec3273ac268ffbb77d89dbcc32d3ebc9332d6399babbabb99d274bc69f036bcd36b07ba968379bbc55d02bc79aefabbcdf6c8b9dcf143bb72d947b91c68a6ba5f6636ba153498bdab26403f2cf2da3e6c6d4cbd0d27babdf2bf373fbc16d03e987b80bd3bfa9cbd82061e3f4627b53e01f64abd8be281bdc43e013fdf53963e881324bd8e9357bd7121c83ee5d66c3e752704bde1a139bd0358903ef9262d3e6a2ad7bc554921bd61b5343e72c6db3d3342b1bc6b680bbdaa009f3de1d7483defb28cbcb564c0bcba68a2bbb62b0bba76143fbc7e00abbc706e483bbdf27a3c235e0fbcdc3fa4bc82b717bcc775da3b22fbb0bb7ea14abcf87a8dbcf01242bbc30d32ba56de35bc288baabc884404bc35d19f3a21f5debb4ed572bc6c32d6bb12f6953a52afd2bb550396bc8a5d25bcea3e8c3a4c2e9abb8ba15bbcc18605bc75469d38c7d04abb78e00abc97e690bbe2b3fa3859ef2dbb0598f9ba0d72cd3ada6c7b39efe180bd5241163fbab0163ff3d27cbd8ad39bbd67dc0d3f9ec20e3f651a95bde6ba79bd02b3f13ebf09f43ee6c863bd75e163bd6b64ca3e586bcd3ee6a747bd628313bdf97d963e2305993e1421f4bc187025bdfff3633ecd4b6b3e905d01bdb7ec01bd85b00c3e9e2d143e1a80bcbc46efecbc65d5783d78c28c3d627ca0bcab1fa8bc83caa5bb8a17fc3a6b4959bc46c288bcb5c26bbbac21943c95ca01bce78373bc0bbd80bc0d27d13bf9b893bb2d9825bc113bbabc5485b9bbce24573a2084f0bb364dbebc27302cbc05b61e3b9295bcbbcf5bafbc7adc41bcf358193b8d0f63bb341fa1bc350a4cbc4ef7d33a867a45bbbeb583bc09f722bc5f933f3ad267c4b9aa6c3bbccc6b5cbb4317783a5d9007bbc4e780bbf0d3343babffec3ac45c52bd8468da3e31c2403f61d893bd268b81bd6143ce3e4c9f383ffab7b3bdd4b25cbd42bdb23eb6491f3ff5d28fbde96b39bdf957933e2f94023fe25c61bd5f4c1cbdabb2653e7202cb3ed6d92dbd71af05bdd9d7243e90c0933e301e0abdead8e3bc9ac9c93dfab13b3e9e30d9bc81cecdbc14ac1f3dce1baf3df504a8bc7d0e80bc99d304bc204e273a359a49bcf2ef32bcd39853bccc7b743c9d9be2bb502ffbbb79e8cdbc022c8bbafbd428bb9f879fbba3a2c6bceec947bc56de333b388754bb036cd7bc47f589bc4ee8403b182436bbd8f2aebcefbf77bc546e1f3b955af5baf6b0adbce82387bce0e0c93af61895ba452881bc35da40bcffcc2f3aa9e9b1b919314fbca2d6e5bbb868d5b911ab82baf608bdbbc8f15c3b13c5753a30cf1fbd8bf4893e7f5a6c3f5997a9bd4f1b3dbd34a2803ee478623fd8eec8bd6f1414bd830b603ecdf4393fec6a83bd53d405bd353e3a3ebcd31d3fe06669bd8b0ccabc3b980e3e25f5ee3edea31dbd636ebebc69bbca3d5ba1af3eba3406bd46ea91bc2ce3703de6f85b3ee54dc0bc7b1870bc47e0843cfe73c33d72e0a9bc8d5f28bc17105dbce08c9ebbaa3a4cbc546069bb5a88c1bca837a33b14ab86bb505efe3a57440abdbbd0b7bca910ecb92b4b093b097d01bd9100f3bc40754c3b0e32dd3a24a7e3bc0128f6bc2f5f593be505df3a74a0b9bcc884d7bc24953d3b45b1bd3a89d6acbc33f7d2bc235ee6398ae8a73af77f8fbc79baabbc187c84ba77d4ef3aa6a650bc632243bc9d078dba5257a2b9db3efbbba4402f3aa0d605b92f41c3bca885ec3d80698c3fe684adbd8aa6c8bc74d8d63d7148843fbba1b6bd187aa7bcf197c53d4bcf5e3f228081bdb6cb8abce0b5a53d582a343f718839bd1c6154bc28c17e3d0f81093f6b3403bd9d9531bc85b9223d6f86c53e8d64c6bc7ce5f3bbefd4873c33ac723eb45599bcc65572bb6ce2debb969bc33d8e6a78bc5e2d46bb2807aebc5d8995bcb60a40bc00000000000000000000000000000000c540b23bb62deebc453cdbbc3bfb2d3b4a60a53b5cecc2bcf47a03bd1dff613b47c1833bd0baa1bce2e3f5bc5ae0303b0f76283bdb0194bc73cde1bcdc5ba03a108a243bf69173bc50cecdbccebccb3843e5193b2a514abca466c4bc82942bbb44529d3a8f4232bc5de970bc651459bb0000000000000000000000000000000000000000000000000000803f0000000013f2bcbbddd394bcc9458b3f74264ebd9e6293bb65be17bc0e01683fcd82fbbc5efa6fbb4457c1bb83ed3b3f788ea3bc546650bb363a00bcb868113fa29550bcecce92ba694a29bc9054d13ebe1106bcb9e0763ad16a70bc179a813ee630f2bb8549443b3702b2bc4264d13da31004bc00000000000000000000000000000000000000000000000000000000000000009959e5bcb17b1b3cf2bd1abba76384bbcf91adbc8207a7394ad519bbb6a6fdbac67296bc28627abb653e3bbbc9aaf0ba185e7abcf51ec1bb1b6871bb43f41abbbfe85abcd36ff8bbad15cebb37cb5dbb1dcf33bc5580ebbbcf15f7bbe8836cbbeaf453bcaf80aebb27501dbcc91793bb00000000000000000000000000000000000000000000803f0000000000000000e1e4e6bc8d887a3fd70e84baf03b20bc049aa7bc4298533fded1ee3afc02dabb8a9793bc13b72e3fb12e183bd1c6b2bb77c088bc81000a3f93c0ab3a197c9abb70bf8dbc7b72cc3ea0e5e0ba99a89abb0a0390bcc2ad853e2ddc9cbb38aa62bb79e0b4bc0000013eb0d611bc3fc15abb00000000000000000000000000000000e3ba1fbdaf2ac73c0667d13bd14223bc26922abd0327853cdaaea93b3b96fdbb89bd0cbd1c83c93b7a4a423bc6ebc6bbd324f3bc4e84dab79c36a53adb468ebb147cbebc35f404bb492210bb16f27ebb4740b3bca392aebb091626bbc98a91bb5dfb9cbc2bcfaebb3b309cbb92dcadbb659685bc23c43cbbfa39d1bb4883b8bb703673bc1c3e583b02b012bb52fab2bb2bc13cbd21e37b3f0aa9073e4718b2bcfba74fbdc138663fce15f83d6ed0b9bc26bd25bd7223433f1cdfdd3d780f99bceb4b14bd9e44213f89afbb3dc01a76bc957b00bdb2dffc3e1fdc903d675e42bc779f03bd451cbc3e77f95b3d4ae357bc2b4801bd8fee753e302a073da29222bc2f8407bda952f03dc709483cd6f212bc1054eabc74df803b93382dbbc38507bce01726bd7649bf3c033a883cbc3e3dbced6a39bd1d48a83cb2ec803ca6bd50bc50450fbd3583163c1cd0343cc51e06bc86350abd43c6963b0f190f3c798f00bcd9bfd9bc98d8ac3a4671c23bd586c0bb7641dbbca3a739ba75a8863b93df0cbc3508a4bc5ef29aba1563173ba116b6bb4f5ba1bc8f07c23a1e7fb03a0c52ccbbb0d684bc6ce7923bce28843b607d9abbdcee51bd6311583f13d38c3e7b0d00bd3acd76bd190d463fb494813e041513bd0d183bbdc103263fdc4f5f3e7e08d9bcb25f3dbd31d30c3f8b113e3e22c7cfbc763619bd23d9da3ec1d0153eed239cbc2fe626bd3258a53e7720e73d9d059bbc698609bd8054573e2c71973d458073bc8ac716bd21dbdc3d88521c3dfbd671bcc423edbc10c7f43b482db53b17c93abc14c11fbdedcca73cdb19c73cdef366bc005b39bd44f3963c2ea4d13cf1796cbcaa9517bd83b0233cce08b43c6e8d47bc1c1208bd31048b3bbdf2733c8fca0bbc26ffe6bc3219bd3a45a63f3c0720eebb8af2d3bc95f64db9cab9183c0050efbb69aab6bccb1c80ba4339f23b4937c3bba8aaafbc3482adb85024ff3bac8bbfbbd76580bcdd9c8b3b73e8003c4767c6bb8f7e4cbdb8de323f7534d53ec2ee17bdaa107bbd02a6243f1f03c53e069c35bd4c7a53bdba3d0d3fe1fbaa3eb14112bd6c4944bd49b6ea3e336e8f3e85cc00bd6c522bbd7151b93e983c653e0d1fd7bc63a027bdf8ba8a3e62e82e3ea82ac4bccf111abd292a373ee411ec3d28bda2bc68aa12bd2471b83dcab5803dc30599bce1feddbc6e75253c3ac64c3c3be560bcfd3810bda6f0763c73f0fb3c95696dbcc76320bd70404b3c9703033d813a6cbc3a6a00bd2a78963b95aeb13c32b72bbc2404f2bc4d68e63a3af69c3c612c0bbcbb80abbc48b62238736d523c89b7bcbb52aababcb5351bbb89824b3c9ca8d5bb765599bc9cbb45bb5ae7363caa448bbbbbf691bcdcca6dba6ed3403c4efc9bbbfa2c74bc21aff43af225513ce37f70bb51f23bbdbd5b0e3f13ef0e3f4aa82bbd973d5fbd1032023f0648033fd11f46bdc8c037bd36fadc3ea0f5e03e75571abd328f35bd92c8ba3ee2f1be3e72970fbd6b6800bd2a868f3e946b933eb13cbdbc826b19bdf54e5c3e14f4673e5ef0d5bcdbacf3bc8f4d103e95be1b3eb31faebc0b8905bd5a02913d06b4ab3d9967a1bc2849cdbc32d2a63b297f843cee8876bcac69f3bc2fb6083c1bc9103d929a79bcc52708bdc1eb873bc30f1a3d5ae177bc9122ecbc7b8902ba053ed93cf12124bc2c34c6bca34934bb52f6a93ce2bf0dbc5e63a8bc42bd98bb5f77803c90d7cbbb7e1891bcaa2ec6bb36b04f3c5e5cbdbbee3785bc2840d3bba03e4b3c5216aebbd47863bcbe439fbb2654593ce2468dbbf08847bcedd1acba4d3a6d3c4b5845bb6e6e24bd4c3ed43e657b333f2c463ebd870249bd5a56c23ec556263f5ef456bd356e2bbd57fba63e06860e3f2b5730bddea91fbd10338b3e19bbee3edc3d18bd47fb0abd25bc5a3e3292bd3e08a9f2bcdd0202bd850a223e6a998f3eb736dbbc3d3df4bc4537cf3d10d2403ef87fcebce28dddbcb47b453d7a22d33ded35adbc87c2a8bc54b29639b366923cd5bd7abc4a0eb6bce8ccccb9f19a153d43c24fbccb5ebfbc8d97b1bbebe8173da36a5fbc5e1a91bc7eadcabb3d32b33c76e7fbbb784885bc98ac05bc5902973cca9accbb1c1850bc18170abc4ee0463c1d8ba7bb7cdd42bca4b426bca8bb1c3c9e78afbb6d9310bc5f140abc2106063c85a191bb8f4807bc812b18bc9171323c9bfd87bb2ace1ebc73a58abbf0f3453cc23646bb186b04bdc67b8b3e9e24583f59dc3bbd3c8c1dbd2c227e3ec32e473feb735cbdbce6f5bcd004593e5800273f92e612bd44c9f2bc50fe333ee9280e3fc2ac08bde22cbfbcb42f0c3e6e01de3e7efecdbced06c4bc5097cc3d7d17a93e5ec5c6bcfa0b9cbc0e487e3d5b755f3e13549dbcf6f39bbc1e95c13cb5a4ef3d69c9a0bce0097bbc1e97bebba029883cf14676bcd80c56bc7df11cbc06a60c3d074d20bcd7f432bcb85779bcc04cdd3ceb2e0bbc7fa206bcf59a68bc5f567b3c4373b4bb261cbabb4d3d65bc3d750e3cf9448cbb6ed5b5bb1c494fbcff9c9e3bc9285cbb2c1a7fbbe5f86cbc296ef83a00b191bbf0fe3abb7fa459bc17841c3a5e8890bbd6253bbaf88065bc0aa63c3b5dee8bbb26272fbbfc6e12bc7f6c163c0cb527bb886ababcafec053e6a957c3f15272bbd693ab5bc73daef3dc50d663f47552dbd25f9a0bc1bd2cf3db68c433fb6a2f7bc529197bcb5a1aa3d8b0b223f6cd8c5bcd0c868bc3b96813d2cd7fe3ee3e0a4bc2f9952bcbd02263d8ff9be3e76828dbcf00530bc78eea83c2e9f7b3e54fb80bc610105bc32b216bbcdcbfc3d717d83bcfa3afabb816c6abc97c21e3cf8b255bc0000000000000000000000000000000029199bba5a3487bcf3ed7c3c171031bb3bd9ed362ec161bc8476833ba6a98cbab859a03a32fd37bc60e896ba54699bba093c503a49d43cbc7aeb66bb8113a7ba8194bf3a96e333bc760ac0bbf17d03bb641d2b3b6b0d37bc6e23c8bbb0cf37bb81d9253ba8ba42bce3404bbbbe2548bb0000000000000000000000000000000000000000000000000000803f0000000059cc11bc64cca4bb551f7b3f04aaafbcd9ddd3bbbc6f59bbc5c3533f87554dbc30e28fbbe0d30dbb59f72e3ff7621cbc15a986bbc618aebbb8590a3f1759ebbb82a64bbbd05307bcbd3acd3ebda9d6bbef46b7ba6cdd4bbccc3d863ed0f4e5bbdfc46cba750592bcf665033ec6e810bc0000000000000000000000000000000000000000000000000000000000000000042121bccd42ec3ba8cde33a973e09bb4f73ffbba6be913bb2a8a63a9c32f0baab26eebb3ce0923b4602eb397ad20bbbd16bd8bb1cba4f3bebed913abe3ef6baab7edfbb3924403b5f6c883a571c09bb16e8debb9d07363bfa73773a899c02bbfacafebb48fc4b3b74ef1f3bb16d1dbb00000000000000000000000000000000000000000000803f000000000000000068fff0bb2a5e643f4699953a5fe767bb9b32b5bbf750433f408e943a168d2ebb3e80a7bb5719233f3271073a15822cbbddbda6bb3d47023f22f0943aea2032bbdae8b6bb88d5c33e987c793a58e03abbe7b6c9bb2df5823e8c43203a83302abb2f26f8bb3257053e9945d73a6afe60bb00000000000000000000000000000000323543bcfa29093c98e78f3b9cd071bb3b007dbc30780f3cde88a73ba27f8abb3ad54dbc1373dd3b58ad913b53c659bb7aad4bbcd60dc13b3602913b6b3e56bb286838bca06d943b5afba33b396230bb5b2c5cbcb71bc53bdf209e3bd8624dbb8ef535bc8022ac3bf94f493b90a584bbfdd045bcdecbab3bf760993b3b206ebbc36717bc10d2bb3b666b643b3f0e56bb2c4f1dbca67d643faa8f033e7241bebb037c4dbcb9fd493fbf1aea3d4af8dfbbe5f723bc36802c3ffd5dc93dbb98b3bbc93b23bccb11103f6cdea93de52cb4bb7df41bbc8504e63e991b8a3d83559dbb23e846bc4758ae3e1739533da575adbb815e25bc61306a3eedc40b3d125680bb48d93bbcf69ef13d7deda03c65febcbbd21f0ebccabbba3b1335363b766ca3bb02ef56bcf988013c0de4e33b1d6c87bb43ff89bc16ec173c90c8123c3583a2bb36a052bce73dd43b1a71dc3b762a77bb07936fbcab06d93bdba6f93bac7288bbf4504fbc6647aa3ba159e23b8eae76bb00ce4abc60a6d93b97f70b3c3d698fbb3e303cbc16db933b95d6cb3b186e5abbe5256abcd4b2c33b3ecd023cfb778dbb8ba637bc3f1a803bd8eaf03b518b89bbaee536bcb507443ffa5d833edd10e9bb165e6bbc75402d3f0194693e518111bc9ce432bcfeef133f2ab3473e40cddebb5c844dbcf745f83e92fd283e5b35f5bbfe5635bc2862c63efe96073e5f22dbbb78b854bcc7ad963e419dce3d3ffcf5bb8d572cbcb9cb483e63b28c3d583fc1bb6be159bc503bd43df3651f3df64afabb81d52bbc0c72053ce06adf3b692dd9bb1ff45abc7d4ce63bb864153cd21391bb75de89bcb8f0053c23c83a3c3339aebbf19b7bbc1a37d33bf2231f3cd1bc67bb11e075bc102ac23b8380233c3fe491bbfc1a5ebcafd9a53b2aa8133c7d1c81bb35478abcfc1cb93bad7a213c977b9bbb06f65abcda01a33baf6d163caaf08fbbf90464bc72c2ae3bb3b4223cad8b91bbdb173cbc4dc2a53bdba9083c83d952bb851b3fbc2581233f56f4c43ef39604bcc11470bccd82103f06a5ae3e947126bc03815cbc4fd2f73ef5f4953e883a00bcd41059bc384dcf3e4f467c3e14470dbc595248bc6604a63e2bd64a3eb899ffbbc3ae64bcc4867c3e92501b3e8e4404bca8374bbc02b4293e3d17d43d6f8905bc93b555bcaf5ab23da601693dcfd208bc624c31bc482fed3bd1b2023cd349cdbb5b4b51bcb530b73be38d2a3c948788bb4a0c79bc0ac6db3b9d225c3c4708b6bb4eaa55bcbaffc83b6bd51b3c94e888bb97c765bca689a23b611d403c5560a9bbf2df36bcdec24f3b13200e3c881574bbc2ca63bcf5fb9f3b23c7353c09aa7ebb6ea534bc099a2b3b52c01d3cebe637bb24bc54bcee68503bf8703b3cf32675bb923124bc0363603b3ba4123cebdf53bbf7d339bc78cb023f4415033f118006bc840c7cbca646e73e5e72e83e69172bbc70563abc5961c63ecf2cc63ec05109bc61624ebcdf21a63ebbada73e31fd1ebc908526bc40f5833e1a62863e1d37e4bbbd2a54bc95164a3eab3f4b3e5e6507bc69fc2bbc0ce7053e83a80a3eea60eebb9a9549bc58d78c3d5219983d415b01bcaba418bc77d2b43b28ec103c217ed8bb5f9e3ebcba05873b1307463c8c48a9bb8adf73bc11a5953bb3aa6c3c5194a2bb15af5ebc24f3673bdba1523c4cec88bba26666bca188ea3a143b553c9bb157bb8d4541bc40df333b532d333ce64d74bb53bb48bc6eaf333b7a90393c84fe83bb432733bc24bdf83a4f39303c9c0c83bb8e7e4abc8fa03b3b2658443cf9b781bbe43a1cbcd20f213ba0361d3c778a41bbc7b42bbcd96dc43ec2e2233feeb11cbc49085ebcc4afad3e2ff4103f17f22dbc116a4bbc9218953e5830f93ed3ff16bc36f550bce5057a3e6986d13e37eb05bc6dad33bc6fe5473e8659a73ead9305bc2be53bbc5851173e0f807e3eabac0abca37026bc3a0dcb3df7c42c3ead6d07bcc5933fbce942573d0f02ba3d9f4e0abc43db11bccdab8b3b05ae1e3cbd3dd5bb552c31bca9cd493b485b563c495a91bb748e4dbc467e143bc113753c8db193bbcbac1abcdc9eb83affec313cfa1b57bbdf0835bccef8463a5e62363cc52b8fbb6ea21cbc7bc79a3aa1532d3cbf1665bb88a527bc704b563afdd3323c536b63bb2a010abc0d493b3aa42d173c673041bb27d828bcd205913a9142403c62a46fbb9d1001bcd9a6853aebe4183c174d24bba93524bcd96a833ee688443f2ca112bc820642bc74f7673e64b92d3ff53f2abc0e1811bc96d0453e984b143f8395f3bb1a572bbcd58f253e55ecf83ec697e3bb401613bce6f1043efeb2c73e7b35f1bb8d0a22bc4c25c93d258d973e9f64fbbbf07006bc1448863d578a4b3e774dd3bb771024bc47470d3d4c79da3d3bdc03bc73d5f6bbdafb173bb5c51c3c0373c3bb438ef4bb782dc5b97c982f3c29fb07bb4a6710bc3ba39ab9bbbe563c5d6852bb021801bcea8cc4ba45ba3c3c760f15bb711beebb10d5d6b992a72b3cb6cd39bbc68ad3bb40ccabb943a9fb3b0ab32cbb5e9bd9bb730589bab1fd0a3cca962dbb5a10c8bb48ff86bad1fc053ccc1a2bbb69ebdfbb96ca8fba4ecb183ceb965abb1d60c8bbdf6915bab3dc073c91c601bb16a3e9bbf734023ef0e3643fd115d3bb82860abcec5be73d46be493fbde002bcda57febb1933c43dbc272d3f78cdccbb251716bc781da63d26b8103fb046c9bb4b82cdbbd63b853dd0d3e63ea006bfbba399dabb7d85453dcab6ae3edc17bfbbc973ccbbe636023d56376b3eaf90babb989ce7bb474a803c275bfa3dac1ae7bbd089c5bbbf3617386bcc0d3cb29aa4bb00000000000000000000000000000000fa6a9dbb01cbbdba063f033ccbd8d9ba053040bb9473f0bae428ca3b211a94ba8e2b51bb9cfd05bbd16daf3bcbff70ba22b242bbcf3af4babbda943b82a783ba3ca625bb2b9d1dbbe0a2aa3b2c5a31bb1ca21cbb5b63f7bade3b8d3b8a1eb8ba688848bb44daedbab802bf3b0f4524bb0000000000000000000000000000000000000000000000000000803f0000000037e69abb84678f3a7047643ff0b790bb57c049bbbe37beb76f73433fe62451bb2c0a5cbbc2b94cb9030b233fcf2128bbf8664cbb7c4c0bba8d67023fae6f21bb67393dbbbddcd4baf49bc43e48f921bb3ed434bb8057adba3360833e2ef349bb379e6bbb06e3e8ba0f56073e3d2d96bb0000000000000000000000000000000000000000000000000000000000000000ffce2a3cd38108be8bd49dbc65be333cb73f833b358500be659db3bc686c1e3cd19b55bb4707d3bd6fcac6bc1491db3b3ec39cbbe941acbd1f35b5bc6659903bdc1b57bb240487bd63cc91bc710b3e3bf43b8c3a38b039bdbc7e25bca75a263b3abc823bdf94a8bc809c7abbb4b70e3b00000000000000000000000000000000000000000000803f00000000000000007abdbabd2f6ba13fed6a88bd03d5773b1b1c6cbd38bd853feaf408bd2af9d73a90ea1fbd5fb7573f2a6186bc336d053a8c58d1bc5b31233f18d1c1bb9092a03914cc81bc9501df3e8b337ebbaa4d603abf2eb6bb06ec733eb60a98bb9599ed3a5450d0b975194e3d668c0cbc9c5a333b0000000000000000000000000000000083ecb33b13209dbd6aae14bcbd419e3a4408c23c34b817bef0f987bc38bf263c5583483c78b614be4d9fd4bce71e063cd50a6e3b81bdfdbd40c9f2bcbbacd43ba98fa139ea32c3bd3c63dcbca769853bf410803b24709abd753fafbcd7479a3b040a0d3c7e8b4fbd244551bc6cc1963b0a2d5d3ccd5ba9bc421484ba6afca83bf5ae3f3ca40f863a83cbb53a19b30e3b554516bea1f0a13fc202773dfe989ebcc1bf14be5d6e9a3f7d0f5c3d4d3296bccdd5e7bdd415853f0203913d7b379cbcfbbba9bd9259563f2a17993df9778cbc1d8a73bdc0551f3fde72853d182b5dbce53d25bde650d73eb812563d0eda38bcc104b1bc0027603e1361083d539d19bc211404bb446b093d7f9a863c0ff2b0bbe57d9bbb5dc6a0bd87ed13bc6b2f6bbb20437ebb7fe432bdf55c11bb3b54fabb31041e3c16b4d1bdfaf2b5bcf170163a8359753b20d7ccbda77ffcbcf0723f3af277483b6455ccbd4f9410bd13cd903a5870be3acab09bbd0c78f6bc2f8c96b97e7ad33b1ef885bd98b9e1bcf7ce0f3b09210c3c6ef625bd62e194bc0330ae3ae43e783ca8a0b2bc36cb06bcfcb9723b39fa4c3c3bdb25bb7be094394b57753b3d130dbe9594863f65f17d3ee8173cbd71ac1dbe917e853f4eda713e3fd04cbdbee0eebd9d3f613fa198663e12de2cbdd76cc6bd649e3b3fe8f4493ef1a418bd586090bd09260b3f86cb233ed0c0f1bc312c5ebd742dc03e53e7fa3dfc75d9bc9ec40cbdf308543e37ed9e3d63e3a0bc368388bc53104e3d3820083db0d467bc76e33bbc3fd340bd382b0cbba34522bcf8d156bc31e4c5bce4242a3b1def82bc0a07573ad48995bd8da1d1bc5389e6bba19b363bf3a5b1bd924c27bde6d764bb9cc9ff3a8c44a5bd1e3128bdcf0a5cbb2226fe3a59e88abd5f3916bd174887bb8590e63b268966bd23d0fdbcf3ee9dba5d691f3cf6e821bd7a87bdbc99414d3a449f673c3b8db0bc1f1234bc89125a3b61ea1d3c4a79a5bbca1e5b3a83abc23a952af5bde5d6593fad97e33ebb8492bd925109be2b17573fc76fde3e16d3a4bdad38eabd22943c3f28fbc93ed6948cbd561ebabd5544193f0001ab3e180f6dbdda4b93bd1947ea3ecfa0893ed2d33fbd7ad05dbd2404a13e2e39493e63dd19bdc9741dbd4136353ea29afa3d71d6efbc7cb5b9bc887b5b3de2375b3d7397aebcce7e8fbc5994d3bcaa69903905d890bcd7e16abca7a187bc6e64713b817f9fbc81f036bbb86c54bd4a7ef6bcda6c54bc927246ba5b1781bd599332bde61c01bcc3b2f33a92f586bdc77244bdd3c8d8bb57ea4dbb301632bd2a96f7bc1dc0f0bbc81f673bae0644bd9cf610bd59d98cbb7e65e83b343603bd19dcbfbc83e9efbae6733f3c64be9dbc91c868bc0bda1c3b3810003c32729fbb2669c83974a6183b3df8c6bdd24c253fcee3253fbfddc6bdc6cbdcbd59ce203fc7f2223f3fb4dabdc8fbb2bd8cc80b3f9abd0e3fe029b1bdaeee9cbd00acea3eed8af33ef0a799bd8d9554bd5f31ab3ef2afb33ee4bf49bdc2f445bd8cd17d3e7f81893e61d143bd8d870abd6cc5103ecdcf253e133e0abdfdbec0bc43533f3d3ca48d3d2ee6cfbc780e9bbcccfc87bc1f9314bbd924a9bccde514bcfc0c86bcfcf49ebbc67c9abc5845403bb5273fbd4fda55bdc29a33bca9a4bb3b7c416fbd37328cbdbf8cd4bbe79da63b25af68bdfecf85bdc100ebbba88f983bb55d51bde69c5ebd3838cebbca84f03b4bc428bd78883cbdb304f8bae92d0d3caaf5ecbce17efebcfbc589b93503283c155e80bc061e78bc1c99273b2875e33b23f4a1bb6e3ae839a78f423b20c194bd5de7e23e985d5a3f6cfff6bd7b63a4bddb87da3e5dc7583fabbd09beabc08dbdb0e5c23e017b3f3f1cd9e3bddc8c69bd0c6aa23e242b1d3f2ffeb3bd0e4548bdfbaf7e3e9ad9f23e69748bbdb38f17bd84c8323e2a51ab3eb0a751bdf087e3bc12e2cc3db818493e2a9517bd586195bc1eb7083d6684943d1634ccbc26b367bc734f6dbc10dc36bcabc39cbce84333ba1c6e89bc24c9f4bc79274fbc34840b3c1e991bbd77d3b2bdcdd123bb6123093c6f013cbd0883aebd15448dbb0068163c384f42bd1e85b4bd560a75bb3090cf3b496a26bd032586bd2caebcbb65b60d3c63910cbdb6ba66bd6be043bb2ee7da3bea54b9bcc0750cbdd1c5b4ba0a63023cc8a342bc5ad286bc607b9e3b5c77a53b6296ccba3d9d053b3c53b03bd1d240bd44567d3e32f2863fe7670dbe4f614abd8aab6b3e7629863fe6cf1abe5a3f2abdc8455a3e8224633f48f9e8bdf52516bd5003393e46d93e3fc9abbcbd7d3ce7bcc15c123e83440e3fc81f82bd59f9cbbc65d9d23dd62cc73e9c2c41bd4c1c8dbcc5ca6e3d46be623e9b11fcbce87a28bce54a8f3c527c853d444590bcaf9aedbb68d16abce9dd0dbd4f7e57bc511fc53b5c0c9fbc7b4c85bd2740e7ba5f055a3c79d69fbc20b90ebe5412e93b63524e3c143807bdcf7e0abe2fbf913acdfa443cfd2616bd50f6ecbd2c3a4dbbad4e223c091805bdb5b2b8bd4de88abb15ff003c34e9c9bcf40892bd209f43bbff90d03b6e8a4fbcf2a140bdadc5a13a4cea633bc4849e39d5a38fbcaf05bd3b8f2c393babb70a3b1821813b212ac13bb7969ebcc18f753d9df5a13fb68615be3b6a8bbc3f66403d7eea9a3fe6b710be5fb885bc62f47a3dbcab853f0372d8bd254d80bcc829753db774573f2f6e9abd826e49bca9b65a3dda0d213f51d14cbd5bb611bcb52b143de00fdb3e201006bdb1c8d5bb651aa83c7ad7693e3efa91bc665274bb5370e53beca92e3df53e70bb3e3a07ba5f058bbc4a2c92bdaab8cabb000000000000000000000000000000002540583c4316b2bc85e606becb9ac23b3f5a3d3cbdb3c5bcadf8fdbddcc7ef394fe8373c8faae3bc5c0ed4bd914983bbac9aef3b41a2c8bc8c6cacbd0011dfbbf8eac83bafc88cbc52e584bd7e81dabbe918863b270600bc32de3abd81ae73bbe6d4d53a47f96839ab18aebcd83153ba0000000000000000000000000000000000000000000000000000803f000000009b8c953bd0f691bd6f6ba13f8b06b0bd29f38f3bce8c24bd609e853f89f34cbdf819293bb99ecdbc220e583f8f29f5bc46511c3b6f1290bca335233f1d0965bc3e19643bb2c76abc15c3de3ea26bb2bbef0b5e3b36e24fbc36fc733eb9ab1c3bf144913b8ff37bbc930d503d66638f3b0000000000000000000000000000000000000000000000000000000000000000020096bb67dbb5bddc43c2bcb501243c6f9da5bbda3cb8bdbdd5babc81e21b3ccfce22bcaa2699bd37f2c8bc3c988f3bc48228bca3f186bd4beabbbcee6f753b43b7a7bb5c156fbdb007abbc2d9b213b201de13a64de47bd2c8578bcf3a4113bd302023c5a720cbdd51725bccb57da3a00000000000000000000000000000000000000000000803f0000000000000000a3d778bde76f973fe7d224bdfbeb03b922eb1bbd0cf37c3fcb889dbc2df00cb9d1d5efbc6bbf4e3f28a31fbc7b8932ba8093b9bc145c1f3f0e42c7bbfa018c3acbe58ebc209de13ea006d3bb750b17bab07e66bc8bf5843ed96c03bc0e11973a71826dbc9f02b23df3fa6fbc422af43a00000000000000000000000000000000be5023bccd7c2fbdf67223bccfb830bbeaea2b3c3c59debd49867fbc1c71b63b723eaa392253ddbd2621aabca9dc443b4eab3ebb8097c4bdeac0c2bcda02323ae23a80bbd72ba3bddba0b8bce46b09bbda84763b694297bd20e399bc018650b9d4b3483c2b2878bdcd8a4bbc214859baa5ead13cd33234bda21f98ba4bdd1a3b22b99e3ccabb9fbc2dee9fba5081de393eb9d8bd72ac973f0a95b93d22e1bfbc0fe4d8bd5edb8f3f2066b33d758abebc02bfa6bd80dc773fd027bd3d1cf5b1bc9d4c82bd192f493f398aaf3dff6891bcb9b84abd065e193f0cc6933da14a87bcdd3d22bd48b0d73e03985d3d2fec5abc986af8bcaabb763e26ca093d53873dbc3e0c8abc5a38893d09a1673c548908bc621c9bbc112738bdf8352fbcf6cee8bb4b0653bc85f7d3bcb895043ced1179bc9d8e6c3af9e996bdc41fafbb06d21bbcf523c6bb188e8ebd478b51bc31b01ebc8c9e56bad427a5bdc56f88bc541d11bc14910cbb212e86bd8e307cbcb6201cbc0607033cb9a089bd1c8784bc572805bc319f203cb28f48bd69ff20bc92b2efbb1a28ca3c283132bd8b8a81bb4bd48cbb211e973cfdc8a1bc2c5d7d3b4be444bb5459d4bd643a7d3fc07f873ed9943dbdd66febbd5b6d763f9bf8813e779f4fbd6304b1bd4b6e4e3ffda46f3e42f12abd51349fbd39382f3f254c513e10c01bbd7da36cbda46f043f7063273ea44bffbc12c24cbd97a1bd3e95d4ff3dcc3be8bcf4a91bbdf5ee5f3e797fa83dbc8ec4bc397fcebc8017953df8c1233d40d494bc154e9dbcc588dbbccd0d873b840581bc9d3da4bc330d3abc3e72b73cd730dbbc864e5bbb49d765bddf9b503bbde4a5bc44230ebb921d8dbd548b03bc6e1294bcd5a9ad3989be8fbd28a232bca83187bcc157cb3aa7ad85bd4a2a37bc55d791bcad3f193cfa017abd1c0f40bce00058bc1988743ca93858bdc12713bcc56f39bc9514ba3cac0629bd16eefcba8a94e0bb23d4823c3719abbcd497093c71f3d8bbf01cc2bd28274e3fa74ee33ecb868bbd4871d4bde735473fdc1edc3e00cb97bd541db6bde23f2e3f3f86c63e1df583bdc0e395bd830b0f3fb6c2a83e832a62bd83c87cbd271cdd3eec90893e7f0545bd2cb847bdaf159c3e767d4c3e8e2c29bd511b1fbd65353a3e9258083e96f810bdd3cddbbce18c863db940893d23deebbc6f74c1bca56685bcb20d633cdcc7c3bcfba88cbcb9ee67bc97a6033d24c204bdb7a3babbbbde34bd3005253cc861ebbcea4710bbce6e62bd91412dbba3cdc5bcdb063a3a54a07ebdc43028bccbe5c0bc72e39fbb36cf2ebdb00dc9bab78aa4bcd2e10c3c3edd62bd01c029bcf1c999bc3882273c2ace34bd5ee7b0bbcf1a6dbcbd6c963c0cb517bd65e14dba263422bc6036563c4e62adbcffd5313c34291abcb33ca3bddf571e3fed78203f0153adbdaa50b2bda50d173f944d1b3fe717bdbddfad92bdf1ac023fdcde083f96fb9cbd214384bdf367dc3e5affea3ec2788cbdcf6444bd11f7a33e39fab13ef72750bd2a2239bd8d7e723e34908c3ec9f451bdb61f0cbd6b340f3e9ed8343e493228bd97ddcabc21f7493d2b87ba3d7eea0fbd32c2aebc23eb4cbc324a9c3cbfa7e5bc470c30bc85afa9bca84b023df2eb0dbd0abb6c3bfe4b4bbd50e7b1b9f6c8ffbcdb7cc13bf52474bdf17188bca26fd7bc45e0043cd26f7abd9d99a9bc4c00bcbce4d2003c71ef71bde5f58ebc9551b8bc7b40243cdc8753bd810491bca8e097bcd2026f3c7ed339bddf244bbcf5c77bbc3eb3933c0d4911bd15945ebbbdda18bc598c4b3c822ca1bc1d7b513c77b5d7bb880385bd4e02e13e935c503f8b44cfbd95d68cbda781d33e642e4b3fcb9ee1bde98e74bdd5bcba3e02ff333fe5eec0bd72324abd2fb6993ee05a163f1fa7a2bdf9662abdcfd9703e7fa8ed3e527884bdad6907bdce2b273ec1bcad3ea9f85ebda40ed5bc84e2c03d87525f3e9a093bbdc7b18fbc66f4ee3c5a42d33d5b1e1dbd12c36cbcab8599bc944e823c4a4804bd8600c63840f9ddbcfbcb553c7290f1bc77142a3c7f2a4abde28cdcbcc5b4d2bcaca6053c8e234cbd9699f6bc576ab5bcf2b5433c37796bbda48d21bda734bebcfefb203cb9194bbdc7fae7bc79a6a2bc9b15563c0eb643bd5f40f0bceb3b90bc69083a3c92350fbdd7f290bc9ccc4bbce9376a3cfb25d7bc47713dbc6fefd7bb41ac303cb66c6bbc9791d23b26213abb8f3034bdb100853ebed97e3fd6e6e0bdd4cb3ebda6ca743e9b067a3f6c82f5bd6fd11ebd1e455c3e0097523f64aeb3bd57410abd2b9f373ee539353f2553a1bdf8adddbc266e0a3eedaf0a3fbef27abdbae6b2bcc2dcbc3dafc0cb3e916158bdf5a091bcc3fe553dd5d47a3ed65d23bdbfda13bc2fc6cd3b269dd43d72ec0bbd0e36f4bbdf49b7bc36f498badfeeddbc8c5a0a3ccaf10cbdb71a90bc36cbb5bc9ce7793c7c381bbd3a9fa4bd4fd076bceea4653cad7939bd6477a3bdcd698abcf042553c403d3bbd18be90bdea3192bc1e6f593cbc012cbd8b4b6dbd01cc8dbc40aa333cdb7412bd3f8952bdd4a263bca05d233c88a0d1bcbdd720bdae8c26bc5981ca3b75e70fbc6cc5c1bc882982ba2ec3eb3bb87e04bc479870ba96ffe9b8bae4babc5a2cb53dc898983f8e4fe0bdd508c5bc52d2a13d11e0903f403cdcbd0ff596bc0cd29d3d5f6b7a3f60cca3bd942e7ebc53f5843d9a6e4c3f003976bd4f004abc78a14e3d073a1d3fc1063abde2c916bca3e5fe3c9871df3ec96015bd921ef2bbc0943b3ce43b843e3fc5efbca4aa70bb1555c7bb975aad3db22db3bc7ddf663914a1e7bc4a7ae9bcf173b7bc0000000000000000000000000000000075a15a3ca56000bd8a9ba7bd0963eabbec995b3c7bc5f3bc577aacbd978004bc9dd4353cded101bdae9c91bd0f0f3ebc35a6143cf97df0bcf3467bbd10e83fbca89c073c65dcb8bce77d5cbd9d5420bca02d993b01334fbc8fd338bd5a85ebbbe1d33f3bd226b5bb988df3bce33959bb0000000000000000000000000000000000000000000000000000803f00000000cdb89fba0b2f39bddad2973f0ace6bbd71048aba119de2bca49a7d3f4b3003bd9d86103a3746aabc93a84f3f2744b3bc1b000f3ade6398bce2ff1f3fd07556bc01d7893a88ae99bcd16be33e958a3ebca115023b22e099bc8e4a863ee62bf6bb187a573b07edbfbc3a75b93d1b151ebc0000000000000000000000000000000000000000000000000000000000000000ada9aebc619e3bbceab276bcff7a683a2bfa92bc2e12a2bcfbf877bc2de007b92947a3bc5bd18ebc35ac75bc8a999cb9b6679cbc25bb7abca38484bcf97548bb540d88bc7a93a4bc236987bcbe6b73bb38ac14bcd091aebc114991bc33bd72bb612adebba83692bcbf5a97bc7f65a8bb00000000000000000000000000000000000000000000803f00000000000000005defe1bcfb83843f112489bc5e88c7ba09b199bc0161603f84b829bcb3e6f039381487bcee26393f6a79f2bb0220c138cbcf85bc6ee0113fec3f01bcb9d691bad4837abca1e9d53e173a0fbc6f539bbae6ac87bc3f3c893e421d43bc6772a3b9a568abbc86dd003e26358cbc68510cbb00000000000000000000000000000000fccdf7bccf843f3c6d8759bb61ed30bcd946b2bcb6298abc6cd8d3bb4a4ee2bb7b53cbbcc7bea3bc8019fbbbc28702bc255bc7bc1ecbacbc10aa21bc7a6f08bce8b4b8bc8f72a8bc656708bc8f4c2dbc6aa78dbcaaaac7bc39f33bbcf7fa41bc0e1223bc5804e2bc7a1b3dbc8cf836bc20ccd03a12a3e6bcd06e27bc94d620bc88a889bb9a9c14bc310a9cbbaee525bcca8557bdd217853f2e5de73d721b88bc14cb48bdad7c753ff366d73dfcf975bcd36728bd1382523fc359c63dabd265bc35bf14bd71952d3f241ba83d010b48bcba2309bdacd9073fdcc0853dd02b47bce3b501bd5ce3c73e3b77433d775137bcf928f3bc831e7e3e7617e63cfda63ebc6959ddbc1ce6e13dd1cef63b01c222bc5aabeebca706fb3a990e03bcd01d2bbcc3b3f6bc716f313cb689633c60daaebc0e40c8bc896cb0bb50ca243c7c2f9dbca297dfbc2768f6bb72120c3c99e56fbc3e51c1bc25c092bc3ec3843b20798ebc19b7b4bc07dd81bc323d893bab188bbc5f1889bc262ac2bc6da42e3a09dd97bc55d14ebc5ef599bcb21d923bf80d89bc0d4e0eb92fd5bdbc26f9533b8cef7dbcb08082bb99b72bbca7600f3c367e54bc056663bdb365613f33bd873eb34ffabc88407abda5a3513f9fbc773e648c02bda7a245bda5f7303f38a55b3e650cdcbc8fd03bbde9fd153fbc133c3e2166d6bc252624bd0dabe93ee121173e027bcabc178320bdd0caad3e66f9e53db769c2bc56e308bd80ff5f3ea7a29a3d36a6b4bcc0b2fdbcc9b4d33d1bba1f3d9d78a5bc04b4e1bce2b49e3b04cffa3b66bf93bc253404bd9058343c802ef43c2af7ddbc1f0ad6bc1911c7bb1628dc3cc164e2bc59ebc0bc08be69bce47ca73c60f3c5bc1478a9bcfafe9bbc4c408c3c73a4bdbc38ca9dbce91bacbc2dd6913c722bbdbc60d252bc2ea9c6bcbed2653cf981b7bc708ce0bbdf11c7bcf690493ce141b0bc58e235bacdbcc1bc329b713cb4b799bcabcacebbb0132fbc2548a63ca34082bc903b5cbd7b2e393f8a9ed53ebfb128bd5e236bbdd9742b3fe6edc53e63b036bdcba255bdf4cc143f90b9ae3e17b424bdea5840bd43b7f73efc35943e29a115bdb2f42dbdd26ac33e7db7703ecdbd0bbd3c961cbdd17f8f3e5946383e174803bd6efd12bdbdf0383e78cbff3d08e7fabca05ffdbc9ef6ac3df32f8e3d3f98f2bc1b11e4bce6f4ca3b598bad3c4829cbbc6920e1bcfa67303b758d263daefbebbc3eb2b4bcec0e1cbc395d143d5a6eefbc7776a2bcbd2f7bbc19e8fa3cf275d3bc33c689bc791bbebc5bc0e63c0f10d4bca67394bc1aef68bcdae2d23c8806b7bcd5c52ebcca7be2bcbb36b93ce9afc9bcc4f1dcbb2aabc5bc1264ba3c5914babcb9ab0cbac53bc4bc5fbac73cd684a6bc9a4eb0bb881857bc92b5f23c13378fbcb71946bd7a4a113ffa04123ff9a04abd93b44dbd2ea5043fd42f073f99eb56bdf66e33bd99f8e43edd17ec3e2e8438bdb8ca27bde8d2bf3e33d8ca3e317e31bd242e12bdbec1943e54609e3edb6e10bd51d60dbd2af15f3ead347a3e235e17bd753700bd89a10e3efb382c3e781a0dbdfc48e6bc2bf8843d8affc63db57105bd3780cbbce4a1df3a9177013dda62f0bc9da99dbc40b1bcbbd4da3e3d5d3defbc8b4030bc6183bfbcc9d9343d1dc0fbbc3d5319bc6ad9dcbca92e0c3d9362e1bcaa42fcbb51bff9bc6d83ec3c23eedabca3c9eebb651501bd1292e63c68edd6bcca6f14bb6a2909bd19e0c43cb4dfcabc7034953a95bc08bddd65c33c5d29c2bccbffb53ba08a01bd73f8d23c0122adbc38d082399d64a5bcc9e3fa3c4abf85bc42bf22bd9c62d33ebf0d3a3f8ecc5ebd278526bdd01bc13efc342e3fe7137bbdba5d17bd2131a73e0655183fe9045cbd406706bdca618a3e9b3d003f7df23fbdb523f8bc02cc583e40c9ce3ed42d30bd037cd9bcc04f1c3ed4a59c3e257022bd4584c0bcbfebbf3dd5ca573e93e419bd8f6a9abc46a5143de615f23dabaf11bd688788bc025311bcba0e0c3db82ef6bcad59ffbbab6088bc43d8323db7c3dbbce39d9fbaa4b2fdbcb241183d9e30fabc89f984bb7b29e0bcbce8de3c7e25c4bcefc1cd3aea6f15bdc850c43c4cddc3bc04c03238adad09bd7b1db93c42c7bbbc92a3533b9cb616bdcf659f3c9e40c5bcf5e2263b3c2900bde71d8d3cded99ebceb07213c4bb308bddba2a83ced2cabbca8a3c43b0d6aabbcd12ace3ce1057ebc1cfbe4bca836853e40fe613fa32964bde1d5e8bc80526e3eaafb533ff5d77fbdaeb9cfbceec9513e6e57333fb4dc40bdacc4b7bc0d922a3e39af1a3f956b34bdbcff97bcd541033ed195f23e17231cbd6c668fbc18ddb73d57e9b83eef811bbd61348bbc92df553d6de7753ee74e0cbdcfed36bcda102a3c6ea0053e04a20ebddd1c1fbc2e3892bcc398e23c23cce2bcf1f20c3bf408dfbcce23133d8b90b6bc9d76013cdfae0dbd0c437c3c7a71babc07b5ef3b84d714bdd3790e3c9ecbabbc0d1fe33bede01bbdf8e9c03bf5aea5bcf37ec13ba06c14bd6c94ed3b5f919dbc8f64f33b785118bd2b3b5b3b614aa0bc41b90e3c6d5f08bd4fedc73ac9ada6bc8843263cc2ebf0bc85f4543b53f893bca0140d3cd2bfcabc50ee903cb3b15fbc0bb47fbc1759e23d7772853f170356bde2f767bcc656ca3dc742773fa5f14fbdb14942bcc863b03d10ac543faf591dbd001020bc75b98d3d7435303f0b6f05bdfb620ebcf6c24c3d39c80a3f94f4f0bc6ac0e3bb85a0ee3cc0d5ce3e6e37e7bc5730cebb165c153c6b94873ea2e5e3bcab2e3dbbff6846bc1295033e0767e1bc1f4438bb9f72e2bcdbf2963ced1edbbc00000000000000000000000000000000a7ab2e3c56fefabc537d9239cbbb36bc0c8d113c4ed8ddbc89fa14bce6b321bc7fd2e93b4f06debc388902bc7a191fbcbe62073ce717dcbc589f0dbc42d429bc18efbe3b4918d6bc134e26bcbb0b45bceb20e53b8366b5bcf6922bbc607e47bcc0fd083cbd93b4bc39e9cebb0a8045bc0000000000000000000000000000000000000000000000000000803f000000009ffdabb9caafb4bcab34853fb4cecbbc6e0afbb9504a7bbca154613fb21e70bc83dd513a03c067bc577f393fa04118bcd58b5b3aab7d83bc2c5c123f1b8d20bc97bcbc3abd7f95bcae72d83e202c28bc0b4ae93acb80a3bc494f8b3e5fc332bcb332dc3ac6b1d8bc1e26053ec5cb80bc0000000000000000000000000000000000000000000000000000000000000000f0e6f63c535b4abebc8d763cea07ff3b5c6dd13cb5214bbe91a7373cc9a5013ce0a2793c534736be7946b2ba80031e3ccf345f3cbeef17beeb872cbbef3c143c2659143c472fd8bdb0df22bb7194e53bb1977a3b272b6ebd7022e3ba2778a33ba340783a28a662bc9785b1b70ade1b3b00000000000000000000000000000000000000000000803f00000000000000003e35e0bd5a96aa3f8a4de5bd3b8d0d3cbac48fbd56238e3fdb6f8fbdf696873b0e005abd59de6b3f70cd45bd6f97493a53e915bdcd74313fff0eebbc0381ab3a87c394bc9a05ea3ea5fc84bc61de093bef1404ba00256d3e7fc5c1ba51e9fd39f8244c3c20997d3cf364bf3b28c4a83a00000000000000000000000000000000821eb73c164ff6bd9e229f3c624817bb0c56273d71dc43bef50bfc3c9e483cba2a3a053d3cdb53be8e591d3c9186ad3bf72ee63c885747becbf3a23a6e4fe83b03b2b63ccad81fbebf9895bb46de053cc0955e3ca9e3e1bd121dabbb2c57d93bad96113cdc7772bd5d33bebb047c963b3603213b720048bcf2bfc7bb09b0583b61bec43bcdd8493c470c393b6277903a633e3abeb097ab3f13e8793ce0c777bc305423be156f9c3f76cfce3c52af98bc55e20abea4fa8c3f485d153d5db3a0bcd64cd8bdba3f673f2786353d345f8ebc907898bd872e2c3f9f1b433ddf9f8bbc7cd832bd0a99df3e8966403d4a4570bcfc4b6abc18f1543e10b92f3d26a52cbceb8d523caabc8e3c3c682b3d122b23bce9f0723cbdeefbbd31c1403c127f65bb7e7b323cac5aa2bda26a9b3c93e7e6bb30d8df3c20311cbe986985ba9f4d12b97b0dd53c2e512dbeca0a8dbc7bd3c93b2ed2d03c35ff25be8640cabc3971fb3bff579d3c05dc03be91e2cebcedccd93b04849d3c293ac8bd00d2acbc61a0d93b3af7623cd3c865bd148b6abc96ffc93b1870203c411f9abc6631ccbbb749653bfee5143c7c36603bebbaa33b14aa723a67d62fbe1eff8d3f7f90663e8d8558bd18363abe7ff98c3faacf5c3effb361bd00501bbe41b7783f8f3f553e50ae53bde073f9bd42734c3ff2463f3e085a39bd96eab2bd2f0e173f1ee9253e50ea19bde1396fbd8433c73e376d033e1d7b03bdd438ecbc3ab1423e83deb13d7426b6bc31013bbbe873c43c083e473daca653bca99bdb3be236a3bd54cc0e3c4505fcbbb9f5b6ba9b7b53bd0845ef3b409b7cbc9ff8ad3cc02cf0bd8aecd9bccbd7a0384864a63c9f4b0abedb3041bd1551923b05e59d3c8680ffbdfc4d4dbd5411e93b6a429e3cef99e0bdc0e749bded77cf3b77b0963ca20aa0bd77ba14bd963bdf3b600d543c8dd13ebdbcd9bebcd006cc3ba4715f3cf142a3bc332f11bc29a8a43bbb66323cdb36c3ba3052ef3bbe45de3a349f23bedfc26a3f886ee63e213ebabda0eb2bbe11fb653f956ae43ec54ac9bdfb3012be08c94b3f5e4dd23edb2bb1bd6475eabd6b88263f8d61b43e081697bd6f4ab2bd72a4fb3e92b3953e5fe580bd6fc975bdb519a43e7263573e4b5640bd606603bd9d10263e96f4063ebe8401bd388150bc122a023dda186a3db57c91bc7867b3bb057b69bd65a839bbca742cbc3be4bfbbf7f806bd7f22cdbb682b82bc39e8103c10579ebdea6c6abd2e3bb2baef40313c3823b9bdaa769dbd72f3a13bf89f893c0a1ec3bdd809acbd9ed6ef3b5425e33b27d08fbde54f76bd1e7c833a793c623c11f57cbd873e6dbd81710a3c1f0d3e3ce02415bd18f7f8bc4755993bd2663c3c1bed8dbcf28830bc68df8e3b91df1c3ca44661bb220fa03b2661673b89d405be094f303f07a92f3fec7e01be193b09bedec62a3fbfe82d3f98bf07beb446e7bdcfb3163fc54c1d3f4722eebd3cd6c6bdb409fa3e49a1073f2736d1bdce6789bdf19ab73e00b9cd3e5c6d91bd2b6360bd4bd7803e4d8f973eba1e73bdfc7f08bd5058063e58ca2c3e5de91dbd1e1375bcd886093d28fc733daf5b9abc4ba3e8bbaddc0fbda19186bc2f8343bc71c48cbbf46783bc510bdabcc97251bc3d67ef3bd03e2ebdf98dccbd560ccd3b0e2e2e3c3b136abd51b5f9bd3d243f3cd8ae4c3c9d2070bd361df2bded1c373c39c95d3c2f0566bd4ae6d2bd7acf323c46d1433c6f0b2fbddbba99bd086d2e3c7ec9393cf175ecbc34a134bdcdad283ca1d3143c59a87ebce96a5cbc87a3c43b7c33f93b009457bb3f56db3b6c4f5a3bf39bc1bd4d20e83ed15f6a3f397b20bedd54cabd23d0de3e7d79683fd16827be43c0aebd3ecac53ec201523fb49013bef33d8ebdf167a43e62c72e3f3c14eebd7fc465bda94c803eb08c083f0b8cc0bde16d2bbdbe0e343eb60bb83ed91784bdd347e5bc5329cf3df316483ea57819bdc27283bc7458193d575a543d627176bc8cd000bc115f8cbcb7ae16bdccf501bc7fe566bbf2999a3b60217cbdf453f5ba6b9e823b422804bc300c10be131e973c5c3ff93b0700c3bca82e24befdf7793c41a7293ccddae0bc306320be2d1b8c3c2107213c725ee7bc6dc1fdbd2464443ceeb80a3c30aec0bc8c63c3bd8fa4603cc7fff73be0c58bbcfb2355bd4a312d3cedc6063c33bf51bc66ae6fbca50ca43b8f67a43b41a905bbc9ec223cf038853b18395fbdb29b6a3e6b068e3fe6642cbee06d64bd138b563e56b28d3f26ce37be5f9a3ebd5343443e32287d3f56ca17be5fa628bd8bef273eab96523f248dfbbde5f303bd20bc053e83751f3f4a16b9bd5c3ad3bc6f54d23da721d53e8bd07bbd28dd97bcc83e8a3d481b5a3e731007bdfdd24bbcc1c71d3d9314243d38a5b7bb5924e7bbc3c2383ae27287bd26311f3b3911a0babab8773c7630e6bdf128813c1357fdba57f5f23cb5a43fbe13bb133d3c48b23b575b113c3eaa51be1504e43c7b02c93b017c243b7baa45be1b32c33cc002c43bb33293bbd44f20be3e17913c61fe9b3b27e2c7bbee64e5bd31bd763c727f963b1bbf14bc248e6dbd08421b3ca824883b4a6848bcc5680cbc82e8203b3429213b33c9b7baedc9903c62483e3b9f6081bc12ac923c1749ab3f43f937be4cf38abc93b8c53c9ac49c3f904122bea10988bc4380ef3c36108e3f45e609befb1b69bc33420a3d06f6693f7f5fd4bd6c1b2cbcd1ce0a3d3a3b303f06b696bdfca11fbcc3e6173d1695e63e9cd43cbdf81808bcb839153d62555f3e09918abcd49212bc20bc2c3dc3d8b23c4213283cff485cbb6cbd3e3c0442f5bd097d433c00000000000000000000000000000000d70e7f3b7644a53c5cbf4dbe4aabe13caeb1813bbd418c3ca4934dbe3833bc3c7418bd3b246fa43b71653bbe520a6f3c71ea943b2b13f73a1ec619be536f333cbf31e53ad9f4223b65d1dfbd68061a3cfb07903a02259fb844c071bd51d6a23b071117b9aa131fbb3ee03fbc8c69e63a0000000000000000000000000000000000000000000000000000803f0000000059b5383c48e0e4bdb7a4aa3f315fddbd3900e53b205991bd94c18d3f23bc88bd0c38bb3bc2bb56bd2d9d6b3f5d7c49bd366a983bc6d213bd5971313f0907f7bc7516c13ba12e9bbceb80e93e3e256cbc11a3423b731b96b87373693ec05b8b3a0ae63c3b85a3283c4d29463c81ce403c000000000000000000000000000000000000000000000000000000000000000006acf13cc80632be09916b3b6ff9163c5c86e13c668235bee0e24d3bdd540c3c57b5943cfd4120beb9e862bb9ed6183c9531883ce99306be601180bb536b163c16b14e3ce4a4cebda0972bbb0792e03b9985313ce15081bd2cd4663be9837d3b0e1e243cb8facbbc57b5b73b0bf9363b00000000000000000000000000000000000000000000803f00000000000000004781d3bd3605a73f7449c0bd22ac8c3b712990bd8d708b3f350c6cbd087de639628564bd1512663f92e521bd9ea6ee39dd2c2dbd475e2f3f3e2ae8bcdd7904ba4331dcbca293ed3e0e07a5bcc19b1a3a802b50bc9f2c7c3e635733bcbe372e3b0aed1ab8ac32153d84da13bc4888743b00000000000000000000000000000000b3a8fe3c6a6100be0be4c63c8d40cdbb1267753d492159beb5f92c3db8d20fbcebe2443d4ae956be4453ce3cf6917bbbb96a2d3d428247be39af953c213751bb1a39153d630a27be551d7e3c63dc09bba58a043d517800be9ef7873cb9d735bb62c7d93c96caa4bd2c8e973cfaf596bb2c8d953ca20206bd8119bb3cfc7816bc9deabc3c899c8bbce5e6b53ceec3bdbb1aa71fbeab53a73f73d3003de8c984bc6c941cbe09479c3f37b3133dad6fa2bcae0400be13f3883f0b1b4b3db97ba6bc7822c5bd146f5e3f49dd683d611da9bcf88b91bd3c16263fb23c5d3d3b798cbc2be93cbdd5f2d93e49044b3d3b8770bcf94caabcc2c0513e6fc6243d1b1c5dbcb87b1a3c48ae773a6419173d283df0bb9becf83bd795eebd366dfb3b2de886bb8cf9e23ccafdd6bdb82a483dd5f4d0bcff97443dd35734beb606253d102fb2bc01b62a3df92436be5790b73c9dd68ebc03fe2e3d5f4233beab5d913cc01f77bc745f163d6a4b14be9b358e3cb1df7bbc3250163d45ebfabd8624993cb57968bc50b1ff3c89f6adbd6151b03cd74149bc0595e73c560e53bd1ea2d53cd89b6abc2ed3d73cfc6700bd3fb90d3d00345ebc38d50ebefe1c893f5eda713ed15640bdaa991dbe7df8863f8064663e1ffa4abd607afbbdf4eb673f26e0613e2d673abd250fcfbdb9823e3f08c34d3e6aa936bdda8d95bdfc400c3ffc8f2e3e874b18bd6ea24cbd4c98b83e2eaf0e3ed2ba06bdc513cdbc73ac343ecbe4d03dd2edebbc7ee519bb6a34123c5bf3803d00ce9cbcc2588d3beb03b8bdf7e4d03c6bc985bc8eef803c074eabbd5a97693d2c9926bd4bab1d3dc8f416bef8ce1a3de6240abddd2c213db05922be3a5f983c2f79f2bc65351c3d9d7d18be09fb213c777ed2bc42161e3d52680dbeac36363c352dc1bc7d8d0d3dbb1dddbd682c5c3cd599b1bccfb00a3dfa57acbdab0ca73c4ba6a3bcbbcb033da51665bd196cea3c406e8abc988fe33cceae15bd4fb7103d823586bcbcb7fbbdda0d5e3ff4efe23ef76196bd1d4306be4d70573f0af7df3e8efca5bdca56e4bdd8583b3f1cced13ec9319abd7b93b7bd8f03173f816ab83e40208bbd24e68abd028ee03e3ee79b3eb4537dbd46a43cbd7d30913ec3006e3ec18653bd7681dcbc5d180b3e302f233e02672bbd26bee5bb5242c53b15f1b83d984709bd90ca59bbd75b90bd51ba033d9f09e6bc6212453c697397bd42ca803ddb1f51bd864df03c0239eebdfc8ad33cb4692cbd8c00e83c03fef4bd35c8c23bd11f13bdb5680d3d097302be7a16ffba0b0908bdd185b93c8344c5bd649ed83b7f9102bd821b0b3da89cc7bd751f453bbe83d3bcb1eddc3c61628dbd998d4e3cc648b1bc6b52d93cecce4ebdecd7bd3ca62388bc6a01d03cbc7711bd426e0e3d63568ebcac6cc9bd75ab253fd618293fc93bcdbd2da6d0bdf1c91d3f1372273ff935dcbd4ae3acbd9357073fbf97173f38dbc4bd423192bd9e76dc3e980f063fab15babd4cdd4abddc04a03e44f6cf3e8fae8fbda5361cbdf70d513e2ac2a53e0f6c8abd18f7c1bc3d81cb3d86c2563e0e045bbdca7dfabb6c39153ae9d3df3df9012ebd431e3ebb0dc57dbd2326083dcb900cbda598473c33167cbdae8c403d4ca34ebd6f1ace3c4f19b2bdb30e50bce60d18bdcf63e03cbd26c0bd6aaa19bd4bedfabc48dede3c5cf2bbbdd7bf22bd5c9ee1bc04c4ec3c8ca5b1bdd16305bdeea6d0bc049fd53cca2f90bd5b4bb7bcda42adbc47cdce3cf15b59bdda3c01bc3d1b7cbc8523ad3ccbe614bd38f6213ca2553fbcbb0f923caf9fcebca4b4da3c1f424bbcde8490bd8e12dd3e3da6603fcd5101beee5699bd936acf3e20615f3f45450abe32f882bdfff7b23efd684b3fa8d9fabd030f4cbddf988e3e7b452c3fbe89dabdfded21bd19a4503efeae0a3f3a19bcbd9882e1bcc144053efa33c93ef68e97bdbf458dbc615d6e3da6627b3e391477bd2b4db1bb296c64bb2611de3dd4a436bdc088c4baac0948bdbd3a9f3cbcae1ebd94212f3cc86f12bdc0b998bab5ca0abd4a37903c1b883bbde88891bd3b2a95bc13c4963c71195cbd1035abbd0420a3bcbf85ab3cd9b357bd7cd6babde27b76bc8598993c8f774cbddfaf8abde54e80bc12fc9a3c142f25bd86b66abda2220fbcddf1673c76bdf1bc8b2cf1bc0c35f5bbc5ef573c199b96bc258eb3bb708038bb2f2e253c37710abcec65843cd1856ebb2a5b39bd6877683e76de893f8bfc0dbee8c535bdb88c4b3e37ea893f05ee1cbec1c510bdbfe62f3ea390733f0aa104be920402bd707c0d3e032f4f3f357ce8bdd409b4bc398ccc3de429203fd36dbbbd567a8ebca898823d2b12e43e73bd97bd9d4e1fbc8196e23cc5c1853eb02a5ebd0dfd28bb5f1075bbda6eb63ddfd011bd8e09ebb9315d02bd7a5ea0bc4723f0bc86f6d93bc0f533bc32958fbd0ead27bcb35bc03bc3045a3c283424be39b0853c91bd213ca96789bbd45427be3ca8093c996c1f3cfc4107bc9f451cbe74e5ad3be4522a3c78533bbc6c52ffbdc3a5823ba0971c3cf1f7fcbbbee3bebd76bd9a3b62adda3bb418b0bbd95f5cbdc61ac53b85a8503bcca92eba72ad53bc9bd8e03ba2d3073b50e48c3b418da83bcc6ec33bd7dd7fbc14f9f43c7456a73faa841dbe491786bc7db2a43ccc6b9d3fab8d17bedd224cbc15cab13c25098c3f80eeffbd3dd139bc19e1963c23f9663f71c1cabd858c0ebc3e24643c9510313fff229dbd7a70b7bbe5fafa3bde40f13e08d86ebdbcf344bb3e7f5a3b4f2c803ea83a1cbdb162adba8b21113c81c22f3dd87b4dbc2d33033b961d6abc5151a3bdad1980bc0000000000000000000000000000000027e61c3bf8ec8e3c564635bef5729f3cc1ef483be5968c3caddd39bea066903c662cb03b924cf33bf7db23be1a463a3c0fe3753b464e063c040a0ebe4506f83bcd52353ba25d0e3ccc68ddbdbd4e203c502444bad409323c678e8abd3147183c869b29bbfd6d4e3cb92cf1bc6419113c0000000000000000000000000000000000000000000000000000803f000000005c06e83b267bcabd3dc7a63f24d0c8bd2741673b010f8bbd617e8b3f342280bd4c2c223b698556bd8a31663f469f41bd8ef2133bf4792bbdc205303fc9d607bd7607053bc58600bde10def3e02d4b7bc2bff583b27eb81bc8c677c3e4d401fbc9d3e1a3b1be4d3bb04b4133d081d00bb000000000000000000000000000000000000000000000000000000000000000078d10f3c2e51d5bde50a7abcc0291f3c9606123c339de1bd08d440bcfa70e53b2264693b0770c8bd584b6fbce91d833bd2d7a43bc0d4b1bd946365bcefa7873b53a8ca3b14689bbd19b830bc1da5343ba7e94a3c543382bd9308aabb029e1f3b2ead8f3c4bce43bd73230bb9bfcb163b00000000000000000000000000000000000000000000803f0000000000000000065778bd4ef2963fdafb46bdde173e3bb9bf25bdd23f7e3f0356e5bc90ca9d3a898302bdebec503f0146a0bc87661d3b90b6d0bc53ec213f5e6081bc1f77693b0405acbcd5c6e63e0e076ebcc18f283b822a8fbc6824893e21ee5bbc9c19f93a524f9cbcee0fc33d1eeda4bc373c6c3b0000000000000000000000000000000055e7bc3cc2e0b5bdaa489d3cd27f3abcb8d7343dcc8728bef230073db7df5abc30330f3d298529be5e40ca3c3bb76cbc50980c3d4e011ebe43aeb33c016666bcf8b2093dbc4811bee013c23c2f7a82bc04d8193d9d4b03beb998da3c02907cbcb8ca243d7e2ce3bda644073ddb3380bcf801483dafebbfbd3913393d85146ebcca273f3dd76e8dbd98c6133d91b94dbc68d5b7bdd96b953fd6d19f3dc85e46bcf412bbbd8d028d3f5a6e9f3de53a8fbc3d5a91bd9462733f088fa63d8b487fbc298d61bd232a463f64449f3d141b66bc9aea2dbdaa9a163f61df8a3d634445bc5f6008bd4978d13e2d705a3dddb930bc74e1c3bc36246a3e81271f3d9e823fbc9cc83fbcb2c4663d0db3b63c7bb226bcc08c6abc41f25abd5c9f843ab34008bc3d1f043d10a0c7bd7c5b823d7e771abd54bf463d383e22be82e38d3d47d31dbdabb0273d8c5017be35be603d44b019bde599423d328528be3d496a3d3b651dbd5769313da12916bef7e65e3d13df17bd37f8543d967617bed91d723d833716bd85864c3d10a1fabd47376c3dcde10dbd682d7a3d005af4bd32d28d3d352206bde2d75a3dd161b9bddff2873da443e6bc229ca2bdab85743f63e7803e226f0abd6057adbd57786a3f1f0c733e168a0bbd2d3186bd9ba7463f12bf653ee61e00bd7e2b5cbd8ff0243f30934e3e2272f9bc8f6926bde751f93eb2b72d3ef2c4e0bcb72bfcbc5f0fad3ecf0b0e3e2ff4e6bca849b4bce662433edc8dcd3d0851d0bc906345bcdb8e3f3dfa76893d2e99cabc4c08dfbbda5d56bdde53063d43d5c3bc9656e93c235fc3bd6544c03da0e26abd3ec74c3d47511abeb750c33dcea87abdbd92473d174a26be526eb13dcd3f75bd0fc24a3d44e423beeaf7a33dbb4570bd9e55573df1fe21be12f2a63db17d6dbd3c665b3d99bc18be9f93a63d92c460bd263b6a3d5b5f0ebec2f1a73da70657bd53a37d3d9a6803be2bb0b43d1b0e46bd919e543df3fdbfbd3bdaa93dd68822bd6ad78bbde967433fdcdcdb3e270653bda10f93bdcf97383fd93bd53e821363bd2cfc75bd14d91f3f9372c33ee68152bd3cbc3fbd7cea013fb659ab3e55a23cbddf1112bd584fc53eebbe913e36d23dbd0e7bdebcb718863ecef2663e4b4333bddc5893bc001a123eaac72a3e6b9622bdde2d09bc7396f23c47e4e23d7edb25bddd81eabb78563cbd6357583dda8119bddd9cdd3cde75bfbd6803e13d3f4f94bdc9c02d3d4ae909be1a64dd3d46f89abde3281e3d74760abeafb6b93d660891bd8a483d3dca211abe556ab73d902795bdaca5053d4fecedbd1e8ca23d46207dbd47ea493da7b20fbe1fceb33d9ff388bdd8a3393d55e2f4bd88c2ad3debc66ebd95e5553dea23ecbd4d09b93d94bd62bdc63d3c3d3072b9bd648db43dba0a40bdeb9f61bd2148133fe9551d3faf9b90bd94e45cbdc46b073fc0ea163fdac494bd067434bdac69e93eb337073f658487bd7a9012bdcfaebe3e195fef3e6edd82bd58b6e2bcf0568f3efc2cbd3e864265bd9873a5bc035d403e50419d3e80c76bbde46f61bc61f1cd3dfdad5d3e90c758bd18c4e4bbc989583c94d2103e965854bd6b2db5bbda593dbd6e228b3dd49f46bd0707d63ce1d3bebd28a4e13d09709fbd8088263d758103be0e74c73d9874a7bdb900213dd38308be154d9e3d9bbf9fbd7cbe263d74800abed3b79a3dcf009abdf5792b3da91e09bea2b29b3d738e96bda1e8283d72e2f9bd6ba1953deb4687bd30ef2b3dc6d2e6bdeb22993d192879bde4d72c3d2d60ccbd4121a23d23a25cbd178e1a3d4cc99ebddf17aa3d76cc3cbd9ea028bdcbe8ca3eaf384d3f4210b0bd3c6928bd8537b83e8a6f473f49ecb9bde4900abdfddd9e3e2c83333fd63ba9bd11c7d5bcc7237f3ed819193f788898bd55099bbcbd093b3eeb69fb3eeff591bd621482bccbe5f33d0f83c03eb8e186bd60ec08bc506b573d9360873e9e8475bd52b3fcbafea9f9bb1e1d213e3a4573bdbccd36bb360354bd7be38a3d281c59bdcdddb03c98709cbd460fa03d049c8cbde894fa3ca53ccbbd2466503d959c92bdb781df3c27adc8bdea25233df77687bda4b1f93c0aa8d4bd22d00b3d82b38abdb794e53c446cc4bd472c233da17b77bd2a8ceb3c6688bbbd0863243d92836dbd26e8d63c7c9b9cbd1fdd353df2be49bd4b52e53c211d8abdf150563d4a652bbd499fbe3cc0534abd2c596b3d54da0dbd807ed8bc5794673e23a27c3fd117bdbda846cebc4345493e3424763f3aafcabd5f64a0bc2ecb303ef172553f84d6acbdb13d7fbced270a3e5193383f4f429fbd365c41bc3c58c73d05b8113f74288dbd800ddcbbb075653d969add3e3b6585bd791a7fbbb3819c3ce582913e575270bd340f22ba1bbaa5bc3b001a3eba5465bdeab1fd3aeec839bdb0942d3d4bff4dbdca8f6a3cd9ec50bd6bfdaf3ccdb54bbdb2938a3caf4e3ebd2f9740bd1a6622bdf7e48b3ccfd05dbd985a46bd391f23bd6088803c08ac63bd184527bd393d2cbd2ade633cbd4157bdab00e3bc6c7f20bda4a4673c3aa435bdd021c4bc62ec09bd93e9523cf38008bdd3f64cbcc990c6bc67ec1f3c93b88cbcc9511fbb6ce552bcd087093c913c85bca5498a3c28807ebcbc3442bc0a44813db382973fe5e5c4bd959c47bc240c5e3d4cd88f3f87cbbcbda17b0abc9f78453dc1a67b3f1cc59bbd4a23ecbbd98d243d3654503f361a81bdb0693fbb0df4c03c263d233ffcc95cbde83355bb47a4123c6e22ec3e8dd04bbde3d21aba0eaa15bc958c923e5e8036bdc778a93a3431a7bc4fa4e33d2e1321bd4b42c43abaee22bdecd7cb3aafd42dbd000000000000000000000000000000002ea9723b3a106dbc5a3eacbd4a803fbcd82e383b0e8450bcd627c1bd801628bc113f363bfeeb82bc9794a3bd635a6ebc612a803a822a7abc73f28abd28d870bcc20f753af7ab15bcc1257abde7740fbc4b30cebab8446c3abf8a57bdc89674bb9d1b39bbcd02043c893419bd61b8a63a0000000000000000000000000000000000000000000000000000803f0000000068e5013b7b0c5dbd63e4963fdd5454bdb94bdc3ab50009bd5b767e3fc2dd05bd5866c53ad0e4f3bc9df1513ff428c6bc0b53fe3a789ed6bcb23b233fbd0ba1bcd652cf3a7c1bc5bcda72e93e69b190bc6c9cb33a6f29a7bcbdd58a3eaaec75bcc9d9b239f7dfc9bcc7c0d03da65c99bc00000000000000000000000000000000000000000000000000000000000000003d39443d42855ebecaf9c23c59de823ba7e60d3dcdb651be5fb3203c0bd9be3b5f5cf23cefce48be188b42bb8febec3b1b80b53c601224beb9b356bb9b59d23bb4f1133cd72ad7bdef51a7bb8ba6173b199aae3a53875ebd577024bcd644013b04b594bb053f8fbb24d3e0bb4bd444bb00000000000000000000000000000000000000000000803f0000000000000000dbff00bea326ac3f0341f2bd8da52e3c11a097bd4f5b8e3fb84885bdca312e3b239e77bdd379713ff4c745bd1931983ad2ee14bd4a61333fa0eed3bcd647feba8a5512bc2ae7e23e96fe9cbb2d97fe3af61e3b3ceb40623eb97b483c260a5bb9853c023d9c9b0abc8794b63c8f57223b00000000000000000000000000000000a4ba353d42cb0cbe208e153d7bc234bc6265493d55c727be0ee2d93c23141dbc889a403d614852be504f343ca6e5bcba887a253d42d341be3f36e03aeb338bbaa7b8ee3c668b18be30a9febbd002b13a33289d3c8096c9bd508138bc3e5708bbd82c1c3c082638bddbbc77bc96ff21bb5e6c82ba639ab0bb52ec55bc755f31bb7587f13af838bd3c947dd6b8d4f2c7bb76864dbebf85aa3f95a35fbb3d47e0bb4cb822be4b96943f184f273d13c680bc6c3813be008f8b3f19fb0f3df3d29abc8296ddbd3ba6623f0c01563dbdeeb7bc967a91bdd6e9263f6aca7d3d3b1da6bcbd7fffbc4cfad03ef6688d3da5fb98bc534982361e65373ee7768f3dd6a190bc9b58993cb2e5ad3c448d6c3dd1ec63bc54d00f3d17ee1cbe984d093d4010c6bb8489c83c1d19a7bd1d0f2c3d87a1c9bc6583323d867a1abec1a95f3cb9f648bce0293c3d930530becc59d0bbe513c5bb7617213d550b1fbeb70687bc8d8b79bb4a31f43cf158f7bdb64eb7bc522774bbbb9cbd3c62579bbd7608d2bc04dd87baf1d7773ce4fc02bdfdedb2bc8daaaaba62ec193cb025b5ba82718dbc40cb76ba1716153c0608903cb11c563a90b464bbc93739bea0918a3f2ddc543e4e262ebd0f6645be59fa893f5a3a523e428353bd6ebf29be5922763f46464d3e02c951bdef9901beb93d463fcdce463eb68f50bd95c9acbdd3a30f3fabbd363e8db43abdc52448bdc228af3e6b2e263ef26535bdcbb38bbcfd29123e63a2033ef7100bbd74b6ce3b13b049ba3e82aa3d5125cabcda953f3c97fec0bd724b223d87ea9abc7da3813c8d4271bd1499013db215e3bc79cf153d864adbbd814208bca48840bc9f431d3d40eaf5bdf8c023bd65528abb5796043db88dddbd629c4cbdec2949bb23f7e93cbd4ea5bdf97d55bdb8b9a1ba305ab83c34bc47bd524f41bdd9d47e3949108a3c3e5c87bc2c9309bd5c37123b1777763cf704823bff77a7bc2d3d723bd4de273c6b7c973c6b74c63a2fb69c39362034be39a8683f7b28d83e63abadbd5b3935be402d5e3ff81cda3e2284c4bd2bc01cbedc59453fbd13d13ec022bfbd180bebbda2ff1c3fdb13be3e4704b2bd976fa5bdd67de13eb177a43eb7f29fbd46cd49bd42c7883ec067813e162980bdd701c5bc1277f03d8169313ecaa946bdc83cf6bbd463da3b7194b93dbf7402bdc63cf239911c9abdbe9fd93cadf0acbc0c17ef3b37ecc3bc76941a3cb01fd3bc81e4bc3c84876bbd60743fbd882e25bcce87e03c292892bd110698bdc87c5bbbad50de3c5a037ebd9422b3bdaf5ef5b8bfc08a3c31793abd71108ebd33010cbb0fbb9f3cbd97dabc386283bdf19ec53b4569583c9e85e0bb62a41abdaecbc63bbd871d3c0900073cdf9c90bc17861f3ce385063c8d199a3c0369fbbaecbe093c87db0ebe15142c3fce462a3fc27101be9baf0dbe330a223f7bea2a3f15f108be4371f0bd4f850d3fc4ad203ff16a04be77d1bcbd0503e03edb130e3f6d39f8bdb89b80bd3804a03e747ee23e8101bebd354837bdbf514d3eed56a93e76dda4bde89ecdbc66a0c73dfbfc473eaa6368bd530f69bcfd2d893ca0d5ae3d7b9a12bd9598ccbbb3143dbd1ea33b3b305eb6bc7ef12b3ba7703f3b910895bca130a4bc21a18c3cf84662bcffdebfbde6589a3b5cefc33c02f4c0bc23e8ffbd20a9f13b80aaa93c8c71b9bc61eaffbd5463273c8a57933c4edc93bc25dcedbd3e38513cef4e803cd2cb29bca9f9aabd243b7d3c548f583cf1165fbb5c124cbdb90e753c6386183c9b88c83ba177bdbcc66e763cfdacb53b8b3d993c62cb1a3a8e5a7a3c1e1fc2bdcea7d73ec3a9673f590222be64e0c6bdb9b7cb3e9e4f653ff8992fbed689a8bd83abac3e3486553f779123be023583bdc29f883ead90373f04790ebedc3740bd37b94e3e4a35103f9d88e9bd29cd11bd04ef123ed868c43e5c7dadbdc32bd9bcb2b4b13d57e2573e9d615dbd7dd990bca0c91a3d74028b3d2c3bd4bc179815bc2fb55ebc9c41dbbc7ccbb0bc0296903993fbe73c16fa5bbd0e69a63a8ecd1b3cb260b83c5f150fbebb96a33cc8706a3cc0046b3c538431bee003b53cc4148a3c6ce30e3c697931be0f25bf3c33fd623c2ff3ab3bccf310bef1b39f3c8025363c78d22a3b2becdabd98c7b53c5d332a3c430c603b381c6dbd5201883c11f7bf3b0478033c46fdcdbc96a78a3c0f494c3ac1252a3c3ba7df3baeec683c7f685fbd27b8553e35118a3f5a712ebef50056bdd61f383e45658b3f908f3cbe484125bdc0aa133e6aab803f5d562cbe3fd312bda06fff3d63bd573fc7f310bec860cdbc046bcf3d769e243f94fce2bdb217bebc2641b73df9e8d83e06419cbda16ba7bcc40a8b3d8e09583e2c1722bd9f438abcb9e13f3d9a7c283df33533bc736c2fbcf9ce803c951b77bd7cfd63bbddf0b53a83472c3d684001befb01ec3c1cea283b0396203de60524be8946163db1571e3ccdc0003d64b453beb716133dd1da533c54cbb93cbe834abe83bdfc3c71b30f3c1e1b723c989424be8c2aca3cc638e53ba5cfc33baaa2e8bd0387bb3c5ac0b93bc209503a1e5f77bd47a8723cd895ca3a0e2cf5ba913c93bce4b2063c44191cbbe604f23b723e833c9128313cb4f247bc5254043bf71eaa3f865e46be47868fbc4993df3cb52b953f86811fbe8eb570bc2eb7423c4ee18c3f1bd817beac8137bc87a48a3c44eb683fdf74f9bde9f105bcd1bcc63ccba62e3fb439acbdaf6822bcd0621a3d7b22e13e4abc53bd9a1411bcdb483d3de9b7523e1c3d9fbc3e5631bc9ff8343da27a183d2781163c6afffdbb5314153dff430cbea4a3b73c0000000000000000000000000000000080972e3b52b6313d16aa61be61a02f3d30b9cf3bf413ee3cfe7056be210ffe3c9c5d333c148f9c3cee5850be771dd03c842bc03b91ed553c76ce29be3df9b03ca2b4793b4db1e93b60e2e3bdca23503c5fd27c39c755293ad95a6cbd750d9a3bcddba1bb3057abbac2bf10bc00d4393b0000000000000000000000000000000000000000000000000000803f000000005601773cab19febdb0bfaa3fddc4fdbdbe95073c59f797bd18bf8c3ffaea9abd9be9ca3b7e1773bd1a596d3f2f8c77bde3e6e83b25e90ebd04932f3f601b16bd6adbb53b2c772cbc4228dc3e9fb653bca74a1e3b9611473c38a0533e7efd013c340eac3ad20c043d2456aabcf568e93c0000000000000000000000000000000000000000000000000000000000000000b08b333d1f9749be59ac7c3ce63eca3a519a0f3d0e6441be289c8c3cd4be8a3b6dbfe93c003036bee57c2a3c258eee3b7bafad3c680917bee79e2f3ca777d53b8c923b3ceb4cd2bd0458bb3b33f8dc3b6c5c463bbd3553bd8d1f483b612ba33b6189bdbac27515bc1c2c603a45113b3a00000000000000000000000000000000000000000000803f000000000000000095a800be9c2dac3f603cefbd38df0c3c26c1a6bd9ac88d3f30ed9cbddb4e543bd2dd81bd20016d3f35b87cbd763d9b3907522bbd1055323f2c713ebd5c10b53af44c81bcd216e33e476ce5bc0e7b8a3a7b17e13b77905d3e639732bc4d329a3a6d83d23c9c20c9bb987205bbf36a8b3b000000000000000000000000000000007ef06e3d077333be34225e3d5f6dcfbc2771763d80cf49be24b97b3d15b4d2bc0eb7523d2e075abea227523d9b38a0bc3a9d343d990d48be4285373de7c183bcd71d003d03321dbe5f7c213d7cbf5cbcf28f8d3ce6e2cabd4bfbd63c44484fbc211eb63b277145bdd0348b3c41d43cbc396e83bba2cd85b98d2c273c7c1459bc23c98f3aaed95b3ca0af7b3c8e2673bcff903cbef42ead3f294455bcbadccabbfc351bbe5fca963f8e498c3c124428bc973702be6083873ff54f9e3c5b0250bcc2d6c1bd4073593f4b92f53c299b5bbc4fab69bdbc191c3fd70d243d3a8a51bc912dbabc08efbc3effd4533dfbe141bcf471d83bba89193e25fb583d868016bceb08f73cefc4a4bc00bc6c3dab931fbc6934223d13cd34be4be80b3dbfdd61bb38a7413d0f1e1cbe3af3d23df17d58bd9a686e3d53204bbea661a93d9d1732bd378a553db36c4dbe21cf883d69d220bd772c2c3d2d7a31beceb1653d55f909bd547ffd3cf55a08be8e603f3d8374f4bcb0b48d3ce6bfa7bdb416073d4075e0bce318323ce59430bd71b8e43c3616c0bc3838b53b4f54bfbb602cac3ca484aabc80b1943924245d3c2960f43cdc34c8bcd20919be3a68893f2009333ef872ecbc0fea1ebeff37853fbc28353e5ad10ebd5c5a01be6d5c643f9724393e92020cbdb6f9b8bdaa6e313f855c343e861b0bbd138467bd1ca4f53e0e1d2a3ed32803bddf16d1bc9b6c8a3e31251e3eac2fdcbcb683ef3a1fb5b73df2c7063ec233d1bc6f9e913c6f4153bdc57ecf3d46c7a7bc711fc33cb27713be9fb7853d3bd95bbcf2b1163d65960cbe6896fd3de24f8bbd34d0413d981127be7994b63d0ce775bd02d7263da08f1ebebe527e3d81454bbd53ad0a3dc46202be81a9523da1612dbd8fbdc13c4f78c3bd2145133ddfaa22bd87256f3c58a45ebd15e9f93c1e8006bddc94283cf45fcdbcf0bde13cfb40d1bc03982e3b519b663b7910dc3c9297d4bc82bf6a3955e56a3c67c72a3dd6b2d5bc392301bea24b5b3f22abc33e12cb58bd3b2102beaee84c3f7496c83e496a81bdbb82d2bdb5802b3f63edc43e74cc83bd96f895bda145003f1b80b63ecb747abd456537bd6e3fab3eceb2a33e27025fbd46cdbabcbcda333e6ee0873ee38a46bdfb7451bb501a2c3dec7d4e3e40a02dbd30cd6e3c63136cbdd651053ebc6e00bd7e59553caa2305be3c4c9d3d5a8fbcbcbfbbea3c9c6ee0bd9b53fd3df82c9fbda6c9093dcb2cedbd410d8d3df1a480bd967aeb3c9a26d8bd302c303d592653bdf57ecc3c0a85adbdcf48a03cd44d3bbd31ef8f3c81208abd2b0df13cdc5a2dbdd3fb513cf7470fbdc26e1e3c1452eebc75e9073c40a183bcc0b4a53c64e7c6bc62238a3bd7d67a3bdaf2ec3c2bed9bbcda82503b18c5723cd3af113d8c9198bca3d4bcbd39eb1b3feb1a1e3fcc55a2bd19dab6bd3ba70c3f24a3203f4db1bcbd039e8ebd7308e53e9de1183f840ab6bd36bb4bbd5e39a63e910d0c3f6a9dacbdc0edf3bc66dc573e7f28e83e12c694bdacc96bbcafedd13d611bbc3e982289bd39f127bbe6397b3cc87f803e2e645abdf38ae83b6a1f54bd69c0173eb6442bbd6c0b3f3c4521d3bde4a48d3d4b080abd5f9d913cb72b7abdb1cdae3d28a28bbd8784ad3c784a58bdad61c03b32452dbd89b08a3c553136bd0e47d0bc5f6d04bdd523433cd64e07bda8f60cbd5204cfbc5dfa533c0251bbbc2e4712bd1f1e95bc55aaa63bfea512bc86e5d5bc99e43bbc7420ad3b5ba18239041f0fbc742288bb7d8b4e3b1c68333ca9ddac3beb98c8b985ad393968139d3c9ac1de3cc8b60bbc2c606cbd88abba3e976c5c3f4623debd4cfa70bd9907a73e84e35c3f2faf02bed42536bd98ac813e8911503f7959fcbdd893ebbc19c6363e4a75363fc21fe2bdd4be9fbc4d09e43d0313173f8f2ccdbd68a21abc78cb713dda7ade3e2d50a9bd17346bbb450f643c96398c3eae8182bd546d203b236ab4bc1648043ef53c3cbd3344333b2ab271bd2e4d1c3d545111bddb8b033cb5bdf7bb5e003a3c7fb408bd4a8a013cb5ec4b3b6d6b95bd8f481cbc72b9243c7f31bf3bea1ed2bd3c5c23bb62a5043cb064173ce1e1ddbd068fb23bb61acf3b8ce2013c149cb8bd75b3c03becf4773bcb6f2b3cac3395bd4998793cdfa38d3b3bed263c491116bd06cc823cd718e73930bf543ca78e67bc03bf893c1d0f8eba3312a13cc2d94e3c6a3a383caa9501bd17282a3e7596883f893406be9339dcbced89023e62008a3f8b931fbe3184b9bc7a52c33d7bc67d3f9c3215be16dc89bc442a873dde085a3f74cc04be475026bc91d6383dc4822b3fb123e1bd711103bc2d3f0c3de337f03ec795b5bd8040a9bbc078813c2e57883e627182bd4ba024bb2043363c5defb23d796b23bd434b3cbb57b7f0bbee5f98bc364fe9bc58987cba9dda053d653acfbddda83f3ca83341ba2b97203d72d411be23d3ed3ccf53b43ab2e00c3dba6f2abe69d5ed3cf7911c3b1094f73c55402abefb9c093da002bc3aa244cc3c56500ebea78e003d2baa993aa3e9743c5152ccbdb2e4023d4984043b7776233cce0863bd76c9d43cf91aa1b927044eba59f70dbcb6929f3ca90b40ba5724723c1f81603b5696ce3c873533bbad657bbc748aab3f9a2b32bef1f6fabb83dc6bba0779973f6b931bbe6a1f90bb8a6b4fbc1f9c8c3ff5a513becbc055bb53e92dbccc406b3f75d2ffbd67672ebb8ed73abb7748333faa12cabd3c300cbb0168383c460ced3edf7291bdd4911cbba653af3c1f126d3e45882fbd51328abb7eb00b3dc24a223d14ff50bc68a586bbdd74e73cd78bf7bd877600bc00000000000000000000000000000000f62de1bb8c70643df94859be2910383db26f9bbbef883a3d048d4dbe3ce6273d9b3365bb530a1b3dc81c43bef451193d1d379cba0212f73c36cc21be1463123d347d72bb7372a63cf660e4bdf39ae73cb7ce82bb0c81e63ba5646bbd1a16ac3c887f86bbd9f7d23ba3c88cbc06b09c3c0000000000000000000000000000000000000000000000000000803f000000005ff4533c219af1bd8209ab3f337c02be707ff43b28059dbdf4e08c3fb424b2bd9614e43bf57d78bd8b9e6b3f00e491bde0678f3b42b929bd32ab2e3ff6e05fbdddcf813ba5eb70bc7c4edf3e66e8f6bca862603b59e10a3cd11c543efbf7e2bb79ef5ab79f11ea3c89648ebc89d2063c00000000000000000000000000000000000000000000000000000000000000003daa653d455847bef0f098b8b0c51e3cd9a1483db98046be76e94b3c71c3b73ba3ee323d0bb436bedc85e83b5d0fcc3b639e293dcae31ebea911a33bec2ae63b304b0f3d92caf7bdce5d0e3c47d9913b44faf43cc3efa5bd8cbd643cc2af373b79d6073d8c2853bd838c183cdf70743b00000000000000000000000000000000000000000000803f0000000000000000b05cf9bd5ed3ab3f5c84c8bdf2b26c3a947eb3bd9f378f3f48208ebdb92623395eec92bdf9486c3ffa516ebda1d7ecb944986abd478a353f32c155bd55545d3babda28bdb965f53edd1829bd4918543bcefab4bcf25a803e3252f7bcc5c68f3b864e2fbcde424b3d663d07bd8f72033c00000000000000000000000000000000d555ad3deb9d6fbecf49903d5e7febbcb81dba3db60697be79efe03ddec824bd01bea53d325291be982cc03d701a0ebdd897983d6fa286be3722bd3d858212bd8da7843dbd456abe6fe5b83de3350dbd87ec633d2bc735be0ea6b03ddcb60abd07c93e3d356504bebeaaa93d817d08bd4b200d3dfa569bbdf049ab3dfac610bd62be353d70cda8bd5a86893d68eedabc0f1a1dbe2009ac3f24b9b1bc880e7a3b918d19be14e59e3f229f97bce3cb0b3c341af5bdbbc4883f860423bc4e371c3cb1edc4bd121a5b3f5b37b4baad920b3c62738bbdaaa91f3fbb57b73bca7f463c3d6238bd5c06c83e789bce3b2c073e3cc58ca2bc93252d3e8c9e3a3c4bb9673c7447a83bbf5f17bde259a43cbfdd623c838c4d3ce12f0fbe663a09bccf0c863ccb74a53db9de85be3dcf2e3ee82c88bd526eae3d75cc9bbea54f373e21529fbd6c79a13d295895be63eb253e60c596bd82b58b3d666089be3894203efab78ebd2dee7d3de4c76bbe08b2173eb04e88bda8b9493ddac13ebea9cc133e595f85bd2f06343d6ff616be9f450b3e168c7dbdfbb7083d9ee2d4bd71be053e52f87cbdc2e1f13c24f6b8bdc2530f3e25eb6abd8c82e5bd0bd8853f5665f23d89ff353cd0d0fabddf11813fcba5d83d58977a3c8c3ecbbde096583ffb92ef3d53ec623ceaf79abdc009283fba85df3d2d638a3cebd750bd274beb3e1b02cc3d86df8c3c4fe6efbc469c873e6eaeb43d8d99963cd26a1ebc564bb13d65f1963d80628d3cf20b383cb12c8dbd43ef673de171b03c814abe3cb5c72fbe1261113d804e873c04ef853db1297abe1d87743e667ecabdeffc803d58b187be7fff793e9c77edbdd1cc683d2a5180be1acf603e7827dbbd64ef453d425f5fbef3e9513e9403d2bd71a42c3df96c45be89a84a3eed6fd3bde331083dc7ef19be4d1b3d3ee020c2bd1734d53ca93cecbdcfce333e25d9b4bd1387aa3c81d1a6bd40f62c3e6622acbd13c4af3c1fb99cbd0f45383e604ca8bd9f33a4bd2957453f3d1b9a3eea84533c6b5eb5bd4801383f0629973e9ee99c3ccd4e88bdf17e163f1438953eeaa7923c945e45bd7a72de3e88f5883ec7da933c1fb5f1bcfe04903ea8f7773e6642aa3c631b5ebcdd020a3e8638523e42c0963c7fed6d3a098d893ab3e3283ed521963cbfce923c4aacedbd6ac4fe3d086e9b3c0516c33ce54a43be7ef7b43d21c25e3ce117453d1cbb56bebd178d3ecf1206beeefb2c3d1ca558be0216853e0f5e0ebeb96c163d69f845be6cd56b3edb6e02be5300f43c3ee62ebef0295c3e22e400be8f96ea3c7b321cbe6b5c543eef0aefbd91db963ce9e0eabdb9c2453e05bfe3bdcef57f3c34fdb7bd2c703e3e2c1fd7bd68b4193c42ed5abd769b333e9d5fc7bd7a0c473c023454bd30cb433eaa31c7bd5c6653bd27ad043fc9c4063fe756483bfa1952bd1a3bea3e9224043f96ba073c391a11bd38efb73e0555fd3e3ab49b3b1ad8c9bc2585813ef648e63e37ac203c211efebb732d1a3e0940c83ecdff6ababb72293b95211b3dbee0a83ed3da013c38ff313ce4884abde4a6833ecce89c3b907dc23c3fd00ebe7795453e7f6dcf3b629ae53c97e346be14b50c3e64e9a0bbf699c03ca7bf13beb4c4823e30690cbeaced993ca3f405be5c994e3e26f50abe932d753cde01efbdc9c72b3e525300be6d932a3cd721c8bd52a7193e2e8ef3bd6678e03b311aa5bd5df0123edce2e3bda332173bf7fe5bbd719e083efb79cebdb84dfbb8088d0ebd23c0003eb3a4bbbdb7b365bbdea40dbc023ff13d20769fbdaabe7abbe5531abc50711a3e574bb1bdb73afdbcc39c983eec60463fa87d90bc0a81fdbc8d50833e152a443f1f8e7ebce545a8bca2a2413ec0d3383fbcbb6ebc0e5228bc5fbbf33dbbb3243ffdc263bc304aeab9da2d3e3d3ca80c3f555655bc28b8d43b01e499bce6c8e13e2d1a71bc870a5b3c560d9ebdc70fa83e847c57bc8253b13cedd803be3abf603ed73e37bc6e30ae3cadd228bef2be1a3edf0ec9bcf35bd13bcc1881bd80c6143eda2ee0bd75a7093b427e35bd11c0953df57fd1bdd4a6c5b8b7ae24bdb8523b3d38d4bcbd843eedbaeda2dcbc4bb0ee3c3680a9bd256a3cbb6ba99fbca145fa3c67f29fbde7f2bebb397eb1bb6c34d03c2b4270bdc78679bbdd8f4f3b908a043d824049bda2aec4bbe3f6843c1865163dca4119bdd70f04bc580e973c0898893d299437bddcff77bc848b023ebde4833f083242bd7a7d4ebc082ab53d5b5a843f98126cbd721ca6bb4f3a723d6b1a733f816663bd6489f3ba23ccbf3c1684533f663a4dbdcaea603beb8cf8bb77212f3fe93b49bd9afde93b2e2c0fbd05fe053f593b39bd13e9323ccfcf6fbda185b73ebe4840bd729b6e3c38f09dbd8d7f523ef8ee2bbd02937f3c2caccbbd7d19dc3d0b5831bd48f4ebbb1e7d113c44b7abbce63668bd058098bb32e39d3ca011efbd746b6ebca80bacbb5a57943c85dbf6bdc23973bc0b707bbbd2f9973c2c70fcbdb0e507bc3f89abbb7fb9903cd799dabd3db8b3ba383250bb3c38a83c0845b1bd5b1f143c6cab7abbd0a4983c94bf63bd5c31863c6222a7bac5ed573c8d56cfbc1623023d57a281bb2578ec3c9a3898bc7c21ac3c0209f6ba6fb8a2bcf88ea93f72dfe1bdf28167ba8b43d4bc2c609f3f8fcee2bdf26995391f48febc67aa8e3f9643d3bd6492943a4b6cebbc5b1c713f83f3bbbd067d4a3b7dca07bd8c323e3f5379a9bd45398c3bcf06fabc35c4063f54e599bd06334d3b151ec1bc61ce9c3e43e287bdedbaa03b7cb770bc4b90c43d053e54bdcb83763b1f94cbbc0f49c5bbe93686bd0000000000000000000000000000000075d945bc40883d3d433f4abe9b3b0b3d93bc0bbcede0253d23304ebecfc6283de222efbb8438123dbf0d41bedb351d3daffde1bb18010d3dd1182ebece28353d24f8b4bb5a4ce83cdb3b0dbef597303d7c6e89bb3363bb3c3919c1bd32243d3d9b54c2bbfff1c83c35f38bbddb6b553d0000000000000000000000000000000000000000000000000000803f00000000e5f3e43b9cabc2bda3dca93fa344f2bdd9cc8b3b197e8abd4d658e3f5c41b7bd033f253b592b58bd80116c3f1e789ebdf38b353a926b21bd856d353fbeb795bdf2c0d43a9515ccbcb4f6f63e45826fbd36ae9a3960d21bbcf4e17e3eb60e3abd180d90ba02e4ec3bbd1e293d73b136bd00000000000000000000000000000000000000000000000000000000000000007bac3fbc86fa8ebc78c67dbcbf395d3a098904bcd03cc0bcd9ea53bcc145033b6259d8bbd01abdbc80013abc6cc1ab3a7b02bfbb6a95b2bcf5e62fbcfafc4f3ad034b4bb77bfa8bccab537bc2f7f1739cee8a0bb3ee091bc198442bcf9ad76ba5e7589bbbaa440bc58b847bcfb0d09bb00000000000000000000000000000000000000000000803f000000000000000083cc44bd6733873fb5a043bc547ec3bb1cc701bd60fd613f1e4890bb83807dbb6fd2b8bcf8a5373fc4bee2badef254bb4b0289bc8aa20e3fb49924bb946e0cbba6b86abc7ea8ce3e8a9ca1bb4f60baba864b63bccfde813e7ecc1abc4f4ca93a57fc82bc58e1dc3dbbdd75bc055ac93900000000000000000000000000000000063a9cbc9131e33bb46d25bca9b6d6bb12c596bca4ed58bc436082bced2b1ebb8faf5ebc7a5eb1bca8147bbce9b33bbad8ad31bca00dc3bcb17e6fbca74492b9d3ae11bc3712b9bc190c65bc546438baca10f9bb9fdbafbc2af96abc029f9dbab74cd4bbeac08fbc434f6dbc50c3dcba6a5f90bbf8c423bc947259bc9a2c04bbf5794dbb44158c3aae7907bce3ec59bb98aa9abd3075883fde33f83ddbfdb6bcbdb2a8bde7d67e3fb190e13dbc84b8bc0f397abd97c6563fd43fce3dae5893bc6cb03ebdd2f92d3fbbdcae3d805b6cbcb15812bd52d9053f1098873d4ffe3bbc92f0fbbcde5bc13e76a53c3d61561dbc5d37e2bce4e4703e03eec33cadd2f5bb02a9d3bcdb4dcb3d3af6ad3a8e4ba8bbe105abbce4c35cbcd36255bc5ad3a9bbf2daadbc5ce85b3c8ff7f139890716bc8c88afbc2e60ee39d663dabbcb76f5bba1a75ebc3d6821bc8f51f1bbd81b70bb97d942bcf3406bbc127f3dbcb0a127bb1e0511bc60015abc4fcb2bbc2630eebaa9d0f6bbf2b573bc527251bcb20f13bbfa7eb7bbdff22dbca0162fbc0f9414bbcea393bba64da2bba2a81dbc56ac28bb2b1354bb7c27eb3a83afa8bb3b200cbb45c897bd2ae0653f380f8a3e50bb0dbd05e1b4bd25a7593fcc3d803ec75c25bd42457cbdccc1333f577a5f3e7af2fabc8ba768bdbee5173f94753b3e9c2fe1bc7fcb2abdfb92e73e9175113e73e5a6bce04b1fbdc5e6aa3e28b3d43dce0b9abcfd55f8bc2c4f573eca02843d29fc6dbc7fc2f1bc5e7cc33df11dce3c933054bc09e6adbcf67f8abb14d7e2bb675c17bc3508a5bc4ec0633cba80083c65e83cbcfb77a8bcfa93863ba7abfa3a940925bc71107dbce137f6bb982392bb1a8ee1bb03a334bc00e838bce35e07bc805368bbf4af10bccc6344bc38ef12bc8d483ebbb466e3bb031d41bc458827bc738022bbeba7c3bbcf9a20bcc2ba24bc697e06bb6ca995bb108f90bbc0bcd2bbc95943bbf26948bbb5170e3b28bf17ba676bfbbae32e86bdf3293c3f4cf7d73e89df38bd8077a4bde0d4313fbb6eca3e7d1660bd151f87bdcd60193f0051b03eeed538bd133960bdbb77fb3ec9cf913ea5cb18bdaa5337bd3ad7c33e045b653e3b12f9bc517b1dbd8f158f3e4f09283e3b2ed3bc1c5009bdee55363e9f5fd43d5a66acbc6f41ecbc82d3a93da186443debb595bc8cf4a3bc8af8a73931dd18bb3eeb4abce53498bca4841a3c4eaa723cc5144ebcccc699bc95d5693ad595e43b17063fbc2fa347bc0e68d4bbe93549baac41bebbcb1516bccd5629bcb0629cbbbeac9ebbfa5ea7bb1181fcbb6152c6bb56a262bb0d01dcbb682f43bc5f1115bc97f97fbbe94aa9bb258312bcf80fcdbbbb2220bbf20658bb961388bb58f10ebb210a2ebbf4fd3cbb11411639ddb2083ba7f308bbb34165bd9b5b133f01a1133fcfef62bd98b48abde56f0a3f09a60a3f29fe8abd193259bda6bbeb3e2247ec3ed3fb4fbd791642bd70edc53ebfc9c63e02c33bbdab5401bd77e6943e0185953e542cedbcfcb30fbd09c3613eea25653e16c7f4bc67c2dfbca1b00e3ebfe9103e1bc3c0bc4f5fc6bce850843db58c8d3d763bafbcbbb598bc23bd34bae725123bc5d068bcb4cb81bce7bb643b9a65943ca8e852bc556869bc3cdba4bbbb061a3c2c9f42bc102a1abc7df040bc3fa5dfba269ddcbbfa8400bc09555ebca7c5debb245b82bb8394bebb501a5cbcf87f09bc753c5abb98bd9ebb35ed5cbc538011bc2a3d1bbb9ad177bb803936bccf48fcbb982832bb12ce71bb3e2a06bce53918bbc84ef2ba3f7742bbdd5b38bbcce5363b3942a0baae953bbd1cd7d73e743d3c3f3d7587bd109661bdabd4c93ea81e323fe7dca0bdc1e53fbd0841af3e6271193fb9fe83bdb73f23bde81e913e3036fc3ef18a54bde37806bdff98633ed784c43e36ce27bd0ce1e7bc9b07263e262e8f3e10050abd07c6c4bc5650ce3df27e373ea0b6eabcb639acbc6641373d6c5fae3dad40bebc1b2f6bbcf8de77bb6255d23afb4083bc445433bc1f389fbb9c1d893cb36555bcad0820bc7ac862bccebdae3bae7635bc9629b9bb1de773bc3707c6bbcab6aebb756c94bb207b8dbcbe3637bcea6987bba5d96fbb1fd775bcd2462cbcdfde33bb3c3850bbbb2881bc24c14bbc270e40bb9b0930bb7a964fbcb16012bc4ea214bb4da814bb287933bcdb1a66bb27de0dbbe43628bbc9c0acbb6db96c3bc9a07abace330dbd32438a3e0588663f53d696bd5bab29bd76c97f3effdb593fcc1ab1bda17703bdde035f3ecf72343fcf4373bddf80edbc97973a3ee947183fd20a5bbd8f71b2bc757d0f3e5f25e83e111f1abd17f8a5bcd671d03d953bab3e8a4608bd418b81bc1d687e3d6c4d583e960ecbbc420265bc7832b33cd0dac63d27ecbbbc8fe527bc125614bc850614bbc7d87ebcf901c0bb3cf177bc2a6c343c62b031bc1895f6ba882bc1bc65ec29bcf60f09bc473532baca81b4bc91549abc59718dbb762361b8d4e1a2bc0a1caebcb59c52bb54671cba547d92bc61fe9bbcc2abe1ba1f5d25bad6648cbc193ea5bc32a845bb3f0633bae0da82bc117986bc193166bbb457c5b9131a59bc0c711abcf79f36bb1e6231bb91d2e6bbb344173afbf21dbba1ceb3bcb12df53d064f883fe6e99abd6d0dbdbc47f1e23df9477f3f1839a5bdd3e497bcaf08cc3db1f7563f219670bd036579bcd3e6ab3d1c362e3f8a1f32bd5e4e45bca382833dbff5053f38d702bd69a11fbca959323d96c2c13e7a3ed2bc8ef7f4bb0273aa3c3ea2713e54a2b3bc81ad98bbd741e8bac409ce3dbf659cbc4c144ebbb5948abc285158bc295581bc0000000000000000000000000000000044180d3bbd62acbcca8381bc3c7e53bb07a72d3b4a3193bc4956b7bc3187c4ba8b9b1d3bb43175bc1876b7bc20c6c5ba6d08be3a75865abc0e49b2bc185af3bab268743ae2b64ebc63f0a9bc4cb430bbd0f64a3a281a49bcb25e94bc229e54bb2d388eb9e24941bcf77748bcf0ea61bb0000000000000000000000000000000000000000000000000000803f000000005c3dc4bbf1d950bcd634873f91d93ebd385591bbbe44bcbbd516623f31b0f4bc16cf57bba00840bb3da7373f61f0a6bc56de06bb93777bbbe2b40e3f1aff69bce6cea6baff09ddbb63ecce3e1d7936bc93a133390f703bbc6dd8813e68f61fbccc97c53a6c8b90bc26a8dd3dfbc630bc0000000000000000000000000000000000000000000000000000000000000000637fa2bca47c403c2272d7bbed8868bb6ae35dbc50c9ef3a763ab1bba40486ba7eb547bcc86508bb9157bdbb3329c0ba22682bbcd24b82bb25bdb7bb4e54b6ba27f024bca1a0cdbbb862edbbaf50c9ba141c10bc03ecc7bb2b330ebc1a7be4ba96d722bc180042bb21ac21bc52a237bb00000000000000000000000000000000000000000000803f00000000000000003361e1bc1c047a3fcafc37bb52ed0bbc016194bcdf42533f0c1e1b3afb458fbbcf9a7bbcbd782e3fa79ac53897a89fbbea415dbc0ebf093f53b416bb4fa355bb073867bc7f05cc3e06bc5ebba7243bbb6bb96bbcfb71853e6915e7bb9d6706bb823e87bcc9f8013e6f9435bc709af9ba000000000000000000000000000000005e90f3bcbc62e43c5ee0143b7f472ebcbf4500bd2826ab3c62ada8ba9fe70dbc2f97dabc81cc533c74dcf6ba2948d9bbaed6b3bcbbef843b7f175ebbe338a6bbad3d9abcac04203a041c73bb8828aebb924c8bbc1c158fbadc69d1bbaf61aabbb49d82bc8e96e9ba33e0e8bb1603aabb79ba6ebcff43833a8b75fabbc008c5bb6ef73cbc690bce3bfc0480bbf779b8bbfd763bbdaf7c7b3fd16c063e2b05acbc9be04bbd19cc653fb5a4f43d23e4b3bca24426bdf5f7433f3563d33d86468ebce28608bda427213fcc8cb43d36dd7dbca73feabc3e7dfd3e553f8d3dfd794bbc1ea4e4bc16d1bc3e54d9483d1f423abccd05e3bcf4ab773e98f3ec3ca54523bcd19debbc8271f53dd44a0d3c4f741cbc3066d2bc38a6013c79e9bcbbeb1208bccc4d02bd443ee73c7a04413c235a79bcf46f1bbd05d3e53ce8bc0d3cdc459abcd7f2d9bccfa45a3c5107cb3b43f12fbc0e02c5bcc7321d3c13fbb13bffad28bc232ca5bc905bda3b6a31533b29b51abc317baabcd297823bd9d80a3bcc080abccc3e87bc28d8603b3c5776399614fdbb5e9d8ebc8b9fda3b4ea53eba555d11bc86b464bc2863133ccd643e3b220adfbb263e4dbd6b59573fc8b48b3eb45ef9bc8ee673bdfb96463f1b35803e231410bd869631bd0f1b263fdb9c5b3e7c2bdabc118631bd926b0c3fb8533b3e3e61d4bc8efd0bbd42fedb3ef372133e6b49abbc0f010cbdd21ea73eae02da3d47b4b2bc17cbf0bc3eae593eff83903da21c86bc1e9c07bd3c6ce43dcd9b0b3df7637ebc01cbd3bc762d383c5cb5403b908c58bc4cb6fcbc696fd13c7bb5a33c03f096bc81a415bd40c7d13c4be1aa3c4cf2a8bcf540ebbcb69d883c73ea773c890989bcc412d4bc4b95343cdad1303ca21e5fbc4bc5b8bcba8dff3bce730d3c9c415dbc1acfa7bc6e50af3b7fb6c93b358739bcac9f9bbc7598a43bf0c0ab3b48932cbc6f2992bc1e9af33baa3bc03b139b22bc829168bc6374173cdabd0d3c12c912bc556f44bddb7b323f5b21d43e3d7c18bdd1a474bdc09b243f5bb1c33e78793bbd840d4dbd9f150e3f8044a93ee17920bdb07336bd8e42eb3ee86d8d3e2bda08bd7ab81fbd1979ba3ef90f623eb2b1e6bc9e1916bd55b88b3ea2082a3eeab6d7bcedf20cbd9af03a3e38bae43deeebc2bcc81907bde294c43de72c713d9e6eb3bcfa9ccdbc05cc4e3c6f8b093c85fa8ebca29ceabc7d86a83ce7aad93c0f28a9bcc25503bd7f40af3cef16e53c0ba8bfbc99d5cebc88ba473c6761913c394787bc692bc3bcef220f3c3edd7d3cfd017dbc0f207fbca11ad73b0f1f1a3c32743dbca8cd9abcf425853b270f243c92994cbc338c7ebc8be6603b09880c3c8ae926bc92667fbcdc12ba3b2f2b083c15c83cbce7cc5ebcca2be33b55b03f3cde8309bcf7e634bd060b0e3fc24f0e3fbe8b2ebd36d858bd6f8c023f5bb5023f1ce054bd56092ebd06dddd3e68b0de3eab6221bd88d92abd9188bb3e4ee9bc3e4b221bbdd7dbdebc03f48f3e003b913e7ec9d8bc99750bbd759b5f3e1bb5633edbd0f5bcd563e7bcd118133e901a173eff77c3bc064aeabc80fb9c3dec0aa53d5427cdbc906fbcbc31db1b3c33d9633cf38f9abcc6ecd0bc765d723c7425023d5fb8afbcad3be0bc8d70423cc537073ddf89c3bc635cbcbcedece83b5787c03c97039cbc8482a3bc2ce9573bd851903cd65283bce2188bbccec31e39c4805d3cffc461bcbfac80bca0d78db80680313c2e924fbc6dd06fbcd5f960b916a6253cecde70bc9a0362bceaf9983a01bd4a3c6f4027bc61043cbcf987583b930f573caed20dbca09620bd4d31d43e8dd8323fa31e3fbd01893fbd7838c23e5c0b253f1dfe66bd7e4e27bd16e2a73e8b180e3f8a2242bda76512bd8b0c8c3e94daec3ef5d327bd38b9febce82f5e3ee41bbc3e63e40cbd29fdefbc0397253e65a38d3e25c600bd6663debcd1e3da3d1a11413ec45a01bd0ff1cfbc77155e3d2d4fcd3d1bc8e2bc2ce09cbca8939c3b97367f3c593ba4bc1c529cbc973ec13b6a64083d8c83acbc22b0acbc6789023b0156093db68abbbcb67972bcdaa81b391ccc9c3cb99b81bc508976bc3935d9bac5f1823c433f89bc4e9d40bc9a6483bb5eb0363ccd835cbc756a2dbcba01bebbf3b9ff3b13d663bc765010bc823193bbba19043cee682bbc961526bcbc8b48bbe593423c55e42fbc348f04bc528996ba90b84f3cdeb805bcb74c00bd37788b3e7e8a573f251746bd31da12bdcc137e3e269c463f05ff66bd713de5bc50de593ecd22263f21b020bd85e5dfbc07b8373e345e0d3fdb0d26bdd4a8b6bcf600103e2d48dd3e147400bdf6f7b0bc0c6ad23df51ba73ef9f5e4bc704790bcd924873d7da55d3efdf9c9bce8f78cbcc306ed3c09f3ec3dd039dbbcd3bd67bc93abddbab5c4693c5ba1a5bcc1bd48bc14637dbb52b7063d13ae9cbc128619bcfc2e01bc8a06cf3c409b95bcb60901bcec9a09bc4693673c640867bc0492cdbb65d114bc4508083cf7635cbc3d45b1bb07390bbc0d3b663b69bf2bbc48129bbbbc971ebc0447933a1bdd27bc1e89b4bb4b582fbc84dbea3a254c15bc55d653bb766932bc79725d3bc5b415bc81e1a7bb3d53c7bba6d71d3cf156f5bb10efafbc7681053eda337c3f199638bd81d3b2bc3ff9f13df2df653fcc1e40bd74b599bc9430d33df8b1433f1c0312bd04eb81bc90dbad3d64a9213ff488ecbc407d53bc7949863da329fe3e24f2c4bc3c3244bc3bae3a3d3c7fbd3e522eb9bccbfb38bc0e9acc3c3a5c7a3ece67bdbc95ee03bc3250523be6a7f93d6ad6b5bcbf5607bcc9f41cbce9c3133ce49a99bc0000000000000000000000000000000011560abbd9e23bbc1fb9523ccc3d2cbca22f07ba042422bc49e3673b12b5e3bbf0b0fe3806e810bcf77a85bab0d3c8bb980cd5ba75d005bcfb323abbdfd7b6bb693fba3897d61bbcc4ccb2bbf864b4bb0518373a5fce28bc95b0babb1ccbe4bbdc7312b9dc4232bc9518d3baf28ccabb0000000000000000000000000000000000000000000000000000803f00000000149e01bca7d976bb52ee793f9702cfbc0cddb3bb829df8ba925c533f7e0985bc150b8bbb97e0babac1722e3f883c53bc9a4c48bb68b298bb14ee093f9fb02abcb9c329bb6cbbd1bbfd95cc3ebb6a24bc2fbcd7ba856321bc9443853e190a3fbcb99fa5ba6a4669bca031033e3b535abc0000000000000000000000000000000000000000000000000000000000000000782003bce5e2083cccb79138fd5032bbc625dcbba01cd43b0b378eb90c8e0fbb49e2c7bba17ebf3b47fe8db9b5b505bb65ebc0bb15eb9a3babf4f0b98080faba532bcbbb453a9a3b6692c4b9fb3809bb1b23c4bb036d9c3bcaa10fbaffe213bbb950e1bb5c7ebb3bdf563ab956e437bb00000000000000000000000000000000000000000000803f0000000000000000771ff3bbc66f643f5829ca39771263bbe1a8c3bbe9a9433f9df565394a002fbbff43f3bbc837233fdf654e39cc731ebbb2edb3bb318c023f594229383f2d1cbbf7dbc4bb008cc43ed82fefb812d72bbbe1b8c7bb85cb833ed89f1cba7cb92cbb2256f3bbdd80073e0b2a06bab01158bb00000000000000000000000000000000ed551abc09962a3cb94b2c3bc5f2a5bb3fd444bc31d3433c0894553b6023b6bbffe030bcff0d253cdf8c2d3bb2c7a0bbbccd28bc2735133cf3652a3bf65b8ebbd15115bc092ffd3b5a50013b82d58cbbb60e1fbc417b003c716e0b3b59c095bb747a1fbc4ea3023c5387123b00c29fbbc17c2bbcd8010e3ca319363b03c8a4bb0b211abc6469113c22656a3b8a8ca9bbae2f1cbcc7af643f95d1023ee3fcd3bb2a2f43bcc4c3493f1a1ce83de744ecbbd1d92cbcd41b2d3f778ec73dfda5d2bb888d26bc0f87103fdd78a73df311bebb47ef14bc6d44e73ebda6853d67a9b1bbf59a20bce2c3ae3e07284b3d0a39bfbbbbf626bc7ffc6b3e31ae093d71a7c7bb6da736bce293f63d255a933cafc2cfbb3b5c25bcfa3c243c3f623f3bf2d1ccbb73af38bcfaac363c4e42c13b288cdabbd96869bc7eb8483c6878ca3beb4cf0bb423b30bce44e1a3c4efdaf3bc1f6c2bbc1064fbc4a302d3ccf75c33bc2fadbbbb51e2ebcea160c3c72e6a33b7b51c0bbad3f41bc38be153c01abb73b445cd8bb462a29bccf910b3c7a03aa3bd7e1b5bb3f0045bcfa821e3c8b21cd3b5a94e0bb7c1f1cbc3b66043c9a3fab3b2895b1bb7ce140bc238c443f4355833e7de00fbc79ae71bc139d2d3f14fb693e87f91fbceac833bc9d50143f3a08473e91e301bcf57553bcef57f93ebcfd273e254115bc143c31bc0249c73e2c58063e505ef9bb639f48bc8252973e0cbccd3d86150ebc301131bc56cb4b3e49698b3d2120eebb057d51bce3f8d83d0f8a193d643912bc523125bcd9981a3cc291a03bb0c7e6bb639f4dbcbd73273c12d0183c62d400bc879b78bc9688503c481e1f3c968617bca37356bcff282d3ca26d143c455c05bcd06d65bc4ca4273c0722193c9e541abc516a3cbc27640c3cbf43ff3b96abeebbdddb4bbcf01f0f3ce7210a3c54cefebb5b7f48bc3a9b0d3c308f093cf653f7bbf43f56bc6ba01f3c76f81e3caf730abc89a31ebcebdbfa3b8a7af23b18d3cebbf80450bc0401243f576bc53e09c92cbc1ef181bcca2e113f2554af3ee97e4dbc404f60bce54df93ed51e963ecc2535bcc3c66dbc51cfd03ef78c7c3e06082abc2bdb44bcec13a73ebb1d4a3e0eba1fbc7aa355bc29d17d3e9b791a3e4ad228bcf8c552bc4b5c2c3eff3ad33d3b0126bc7aab62bc0074b83d2f0e693d15c531bc512c28bc4003143c345fee3be9a807bcff2530bcef60043c82fb233ce6b0f4bb469457bcf4181a3c6d73443c50c015bccdd73dbc563cf63b24941d3cd7f5d1bba8b643bcdd17023c995f2a3c035b07bcb83716bc8f6cc13b0eb0013c2d26ccbbb7bb3dbc6b40eb3b80bb213c5c10febb7ff216bcc1b9c93bb59b0e3c1c6ae9bbac883cbcfd43f53b6a45293ceb3500bca9fc16bcae95cd3b62360c3c55a2d0bb26d738bcdc0d033f4f29033f43e526bceee262bca5bce73e9710e83e46694cbcb93847bcfa85c63e7acac63ebe9838bce5094ebc84d0a63e6f4ca73eba0039bc590b1dbcebce843eb640853eb4470bbcfe0548bcc13e4b3e278e4c3e00872dbc9b201dbcb2d6083ebd7b0a3eafbd1cbc9eac47bc097e933d6ca7963dab7f2cbc05d81ebcc24bf53b4d040f3c3f390bbc604a29bcd347cc3b21a4413c2bc8febb5a7558bce43d083cc6aa753c77872abcccdf3dbcd32adf3b6799513c282412bc03853abc0adfca3b7ea3493c3c7a0ebc900428bc3c00ac3ba519303cfec9f6bbd77b2cbcb51cc93b8f7a433c89b418bc998e2ebca62ca93b7fc9323ca98b00bc829037bc2fa7b23bf4b2573cfbfc12bcb42619bc6a14a13b532d2a3c840fc6bbda5032bc4bbec43e0dff233f41d230bc8d3766bc8a92ae3e4541113fac9c68bc32d54abc85d2953ed87af93e5e2d4abc27f346bcc3f07a3e0d0dd13ebaa443bcc49e31bc38f3483e918ea73e05ab2abcdfe336bcdb95193e1c8c7f3e1eb649bc711138bcfc29cf3d0e912d3e6b3531bcb08c42bc04365d3dc446bd3d338a46bcb02321bc7b31c43bac85313cebd314bc632f0cbc8a327c3b3c214e3cedb1f4bb095f2dbcf5bd943bca8e753cec7c15bc999907bc977b663bfc0c223c0f20f6bb8c7518bc80de643b48c4493c25a801bc533f02bc7350333be7632c3c7642ddbba27811bc5ec4493b2353423c08f602bcf51ffabb4c4b2d3b9fd11d3c8152d3bb545810bc78372a3b4429423cd2dc08bc4a56febbc833463b3254283c9276c9bbf45715bc8e0e833e9a88443f8d1d2dbcb60b3abca427683e8ac52d3fdf3851bc03fd10bc1f92463e85a2143f268326bc18bb23bcb807273eb0bbf93e522e33bc85b009bcb43d053e9faec73e304e19bcd4391cbc25ffca3d4605983e204531bcf61705bcf038883deb084c3e33a40fbc27be13bc361c173d035cdb3d1f8338bcdcc005bc4f5f6f3bd688313c10030cbc6d84edbb8acc6839197c5e3ccecef1bb1267edbb9a17913a0a17613ca0b6f9bbb104d9bbcc82233ab7ae3f3cf4a9d6bb2825c6bbd143c039970b2a3c502dccbb94ebb5bba9344339700b163cb2ccbabbe095f4bb88e8e839bb041d3ceff3cdbbfd8bc3bbd8a6923916631c3c9adcccbb5cdfcebb0135223a86b72a3cc430dbbb2b51b6bb056d1a3a1a25103cedbc97bb9de6fcbb98b2033e9e3e653f70be24bca69201bc4c10e73dc0ec493f7bec2bbca10fedbb3c39c63db2442d3f209412bcf979d9bbdc61a53de19a103f82ea09bca233c3bbd7ed833d948de73e19d2f6bbcbdcc8bb2996473d6138af3e85b709bcd1e6d5bbf0ff043d75cc6c3ee3640bbc4b18debb9f89893ca357f83dc87818bc103cc0bb4ade443a5b0b173c1017e2bb00000000000000000000000000000000e0b05fbb17ff9eba3472193ca62099bba20736bb6ed791ba2004e83b22b37cbbffb51dbbc231acba1d43cd3b9d0678bb32fc0bbbf5b9afba264fb33bcac465bb1cd10ebb0936bdbae886b43b2bb36fbb44d916bba567b3ba6eb3b03b581b7fbb9bc43abb50c7a1ba2473d83b60f890bb0000000000000000000000000000000000000000000000000000803f000000005a2b7dbb71901839f396643f71f8cdbb674e48bba02f253804bc433f571aa3bb349334bbf4f205b9863d233fa7c09bbbaddc14bba2c41eba599e023fe7d891bb7fac1fbbeca735bab5b0c43e484398bbe3d12dbbd3928fba22ef833e923ea3bbbf2d4dbbc5b7a2ba8c14083ebfdac7bb000000000000000000000000000000000000000000000000000000000000000012a0ef3b073e04be4846abbc525c3e3cb944223b41a3f9bd5a1dc3bc99e1243c1d7156bb6e84cdbdf712d0bc37b8e73bec49c7bbdecdaabd89a2b9bc540cc13b28a485bb48ac85bdef5c85bc2e08583b2d211fb92cb43abd2a5c1dbc615f773b649b273bb41fb0bc258a37bb21bb023b00000000000000000000000000000000000000000000803f00000000000000009645b2bd16a9a03fac8c86bd910f803b252563bd4652853f8c9610bd893a2c3b0c610fbd2f5e573fb8b492bcd9ae813a65b1b8bc02f5223f4fe627bc8bef283a229346bc92b4de3e4bb91bbc4749d23a873e48bba447743e11a1d5bbcfbccc3a66f2623aa9ba533d729137bc08ff453b000000000000000000000000000000006b8fbb3a55098fbd68d25fbcd6e22e3bc35f903c538211be816ea2bc63783c3cf506023c79e50dbe10ebecbc10ab1a3c9ac4bcb7eef2efbd4ca206bd8c89053c440f58ba6ef4bcbdb67af3bc44fba53b672a3c3a247994bd8cc6b7bcc6deb63b5571b33b888746bd836957bcfd3f933bbd923f3c8298b1bc5ca02f3ad217803bb101263c797baf3a5cb8b03ad7071e3bd5ae12be2d5fa13f7fa17f3d938897bca33311be12f5993f19d75c3da9269abcee17dfbda4ca843f55bc8e3d190c94bc74bca3bd3d86553f58288f3dae2179bc856c63bd54d01f3f5ad97f3d1e5759bcb1901abd8041d83e55a4413db20727bcb7bfabbcb511653e5709f03ceb840bbcad0930bb6e921c3d1b6e513c3b288ebbfd93c8bba2bc96bde42137bc6e0a41bbb9f40abc86a212bda49deebb7513d8bb48e7813b08e6c1bd6b03e0bcf2150e3b698ac6ba597cbcbd5dcb02bda2ada2387c057cbad2cebdbd48d11fbd5942133bc4ba56bbd0cb90bd510406bd540ec239737a1b3b5f2479bd2da1e4bc427fb43a3da5803bea4e1bbdefda9abcef5c0d3b907c333c7769a2bca08110bc90e5973b3a651c3c388041baf1195138dedf2c3bb9720abe9642863f84977d3e065b39bd56ab19bed14f853f8e0c6f3ec28649bdbe05eabdce24603f9116613ea29225bd7461c2bdd9203c3f0700443e793112bd603889bd64ad0b3fca3d1e3e0e2ee9bcf27154bd605dc23e3225ea3d76dbc6bcfebc07bd5f0b583ee49f913d962f9dbcf33688bc8861633d3996ed3c1ce451bc26e94cbc8c222dbde1fec0bbef7b22bc59f287bc7dba73bc267437bb626972bccacf95bb519880bda15bfebc9026c7bb065a13bbfe729dbd397b32bd319250bb8bdcdcba10e097bda37931bd70701fbb012d20bb83337bbd127321bd224e81bbc8b2df3a671c4dbd297504bd9d735aba0d67ca3b7f3713bd52e7c2bcdf868f3ab84b1e3cfb14a5bc988450bce91c673bb918e93bcd0252bb09156aba15170d3b1999f2bde657593f6f44e33eec2290bd9da407be448f563f828adc3e5e1ea0bd95bee2bda2693c3f89c8c63e3dbd89bdc696b4bd9eb8193f33a1a73e1b4165bd73b88ebd38f4eb3ebbed853e92af3abdc84556bd9d6ba33e9803413e7c1f15bd71c217bd6c0e3c3ede3aed3dfbade6bc55eec3bceac17a3d9a52413dc768a1bc2084a3bcebefa7bc426c78bbfd3383bcdafa8bbcce1b0abc62962eba1002a4bc614be0bb47c133bdf9fd13bd03b93fbcbd058dbbd8bb5ebd0a2543bd1e5d0abc71226bbb789473bd77a44cbd4b7bd7bb60ccbcbb341c17bde63f04bd46ca12bcfdc1a2397f5234bdf6b11bbd33610cbb7690273bb080e7bc4f6ccabccd524aba8c0fe53bf9608ebcc8c45cbca31d683bc871b93b6af24cbb745f20ba4f6b1c3bdb96c3bdb8c6243f0218253fdd23c2bd9b60d7bdc8a0203f6d9d213fe777d5bd4c57afbd032b0c3f0e670d3fbd66aebdcade98bd05ffec3e2238f03ead2b97bdbdc54ebdc62bad3ede4bb03e991f45bda94645bd5f99823e2de7853e1ac946bd0ad904bdce14163e52711f3ebe0307bd3a93c2bce576603d1725813d7b14c9bc54889dbc1e923abcbe17b5bb1b68a5bc4e144fbc3a4b23bc462e03bc321d9bbcb6e50ebbc6f61cbd861d64bd55b91ebc899d873a17a850bd2db98ebdac01febbc338d03af63e4dbd26c288bdeb78bcbb98e5f8b986a939bd8c7b62bd050ad9bbf683793baf0317bd7a243bbd7a5e67bbbd8ba53b0caddcbcb65005bd11e4c6394070ea3b4cad69bcb46986bc3a3c8a3b2c229f3b8cee84bbd51d2b3a8c5d513bcd7990bd25e5e23e7086593f6400f1bdc7d09fbd1f9edb3e042b573f73ce05be51658bbd30bfc43e0f2e3d3fb598e0bd87d464bde044a43e5bd01a3fb37fb0bd97803fbd167a823e6b11ef3ec04e8abd87dc16bd9e74383e3ec7a63e905c48bd7e49e3bc7502dd3deff5423e010017bda96b99bcdd5a243d0ab38a3d2114c2bca13c6ebc0c0e32bcfec770bcc78d9fbc375b78bb4a9a49bc04d2f5bce5e751bcf42baa3b22f706bd2708b4bd92db13bb71a6b93be3d327bde3bab0bd934c8bbbe90dbd3b1bf92fbd88eeb2bde17189bb35e8653bf19117bd157685bd1912b5bb0141b13b7fff03bdb4bd65bda2e304bb1a30a43b43e7acbc23eb0fbdf6079f3a525ad73b05201dbc029098bc1603d13bd2a48e3b8c6e66baceaaf63a545bd03b2c6937bd90457d3e3a5b863f476e09be952347bde8a06c3ea361853f1e3e18be416e25bd9cd85c3e601f623f8cefe4bd255f15bd4da33e3e0ea83c3fc80fbabde8abe4bca6f9173e97ad0c3f0a9183bda8edc1bc6630db3d14cdc43e0f4c45bd903195bcf4bd843d2c145f3e3d02f4bc91d433bce128b93cd03a793db7c58bbca4110bbcd33432bccf1d17bd70635bbc696e8a3b2a8984bcc1d986bdbee40cbb5d9a533c1064a9bc95630fbeee9e333cb8813e3c085002bdcce208be4ca7ec3ac6f31b3c93fc11bd2face9bddc3439bba747f03b160200bdd2a6b7bdf44ec0bb7be0de3be693bebc7a5190bde97b0cbbbc56ad3b36f756bc42553fbd3b04de3ac7327d3bbdc67739a0869bbce040023c9fc52c3b5cfbc93a477e323bef22d53be8ef98bc489c753d8979a13f3cbc13be14a99dbcb76b563db63c9a3ff23a0fbe05b08dbca585863d82cc843f0a5cd8bde56079bca725853d8a34563f9ad99cbd4f3943bc502a633dec85203f106852bde98e21bc7129283df697d93e7f3c0bbd1f7e03bcaa07c43c67fd673ed05ca0bc37c88fbbd63b203ce640293df15b48bb1ebf11bb7b3d75bc34f492bd10ead3bb00000000000000000000000000000000a515493cf8a0b3bca4a103be0615d03bc04e383cad08c5bc88a4fbbd1ff99e3a00e5183ce409ddbcc1b1c9bde9a096bb3ba5023c494ac3bce036a7bdf8adccbb5b91bc3b7e5e8fbcd5b883bdf073e9bb60859c3b06d117bcbef937bd93df15bbc69b003b9de187bad712b5bcbb6f433a0000000000000000000000000000000000000000000000000000803f000000008deaa43b48be8bbd46d1a03f8a11b0bd2a94523beae21bbd0056853f148a52bdc94c3f3bfde9bfbc5258573f7f8905bd3caef73af57568bc68ed223f10b498bc014efc3a454c38bc6631de3e786212bc426a4f3be26d3bbcd8bd743eb7222b3aa4745b3b682d54bc3810563d5e16283b0000000000000000000000000000000000000000000000000000000000000000ba9ca0bb22d6b4bd78fccebc75012f3cbe8ebcbb20acb5bdb060c4bc18c6213c01d139bcb14197bd4532d6bc0c32e83b5fea2abc66e082bddfdbd3bcb57bb53b34d802bc91f764bdfbaeb1bc2649853baa034fba33f547bd4a5a6abc9aa9753bdd38933b919c09bdc91009bc86ae173b00000000000000000000000000000000000000000000803f00000000000000005e6177bd4aee973f5e2130bd5662c9b9fbd611bda59f7d3fc916c0bc162f1b393db2d1bcd9fd4e3fa7586fbc141725390c189cbc728b1f3f6c403cbc9bb2983a86256bbc19f5e13e346332bcd623a23a352025bc3989843e48323dbcaab8b73af0fb44bc4f52b13d1cba8ebc216b013b00000000000000000000000000000000690d65bc0dfc0abd51408cbca903cc3939efdf3ad2f9ccbd877cb2bc7302e73bb76dcfbba8aec8bdc0cadfbced35ea3b11b20bbc85f5b1bdb63ef7bc7c7c533b56ba10bc172394bd3bbbe3bc5ba10d3b7a3239bb9aca86bddd17c3bc20a9123bc7e49e3ba1135dbdfbd677bc4f2ffb3ac65e8d3ca81920bdd9dddbba6d7d323be0e3423cd1755bbc7b4e4bbb6e03e03ab6cadcbd0a2c983f5156b33d2998b7bc6964d7bd974e903f2e19ac3d83cbbebc3816a4bdf8df783fd4cab03daba4abbccd757ebd1e504a3f6b77a13dcab37ebc2b9e3fbd1aee1a3f3f48813d1d8462bca55c16bda116d93ef29c393d9c3b3fbc027ce5bca2e57a3e6e10d83c98c126bc3b8a83bcef9f903d2925063cc455dcbbcb2c93bc3a9725bd0d1784bcd8fc8bbbefb4a0bcea6853bc346409bb443c44bc0bc715bc6ca970bd650493bc1748b2bbc6284dbcf71766bd8342b8bc72dac1bb39a728bc447f87bddedcf4bcbe6f54bbf92d1abc8d1056bdad83cbbc3cd6c0bbcff12abbe07f5abd2fbec9bc757024bbca4a3d3a8e881ebd6cc987bcfd105abbcc086a3c6e2808bd78a117bca4fe943a1439313c1d9f41bc818c57badf6132390a58d5bd29177e3f1209863ec24537bde150ebbdcccd773f70d47c3e431043bd59a7afbd0528503ff7ad673ebaea21bd45be99bd8833313ff41b453ee29f14bdbf666ebd775a063f7fe21c3e1ed3e0bc2a6645bdb8a1c13e0753e83d392dd2bc086e15bd168b693eb0088f3d4ea4acbc78e7d4bce7a2a63de63cee3cc0c980bc21afacbcd9fb95bc11e494bb9c214ebc9535d4bcda15293b8863273c597cc4bc47f553bc1c9d16bd12c637bc7f5f8bbc53cd33bc0e7850bdf032b3bc728946bc75da02bc19415dbd5cf8cbbc3d2745bc4f8ff8bba6ae45bd2c79ccbca6f738bc070dfcb9458544bd4958abbcc6040cbca3e76f3bdd6021bdc7a493bc096ab2bbb7314a3c0f4af5bc03e328bc677f10bbcd02b63b043a1cbc9b63cb3a60a382bb79ecc3bd8ba54e3f766ae13e450783bdc7ccd6bde04b483f80c9d83ed53a90bd5904b6bdebed2f3f82a7c13e20cb78bd12f095bd7955113fd253a33eaf6258bdf90c7abd2e72e23e2348833e1a5037bd70fc44bd90e3a13e82843f3eb32b1bbd3ed621bd5b21453e667ff43d86c701bde6a6eebc4aa29d3d82005f3d5184c8bc3b2bc7bce59692bb8ee0743b9039abbc1f24c0bc7d488d3a7f549f3c696feebc7ac667bc2c31d8bcec5ba6bb7d50c6bcfba13dbcdd9f1dbdf7fd70bc6116a8bc046c15bc22a636bd6daebebc383e99bc36a93ebc5e5ceabcab6740bc25b993bcafed25bbc85d25bd0c5faebca9745cbc1284a13988f101bdd8af6dbcefc31fbc3da3ef3bf02ad1bc91e60ebc8dba8cbb85b1a43ba94027bc6f15613b89ff91bbdcd7a4bdd31b1f3f14981f3f17ffa9bdafb5afbd04c2173fa743193f34dfb4bd83ac91bd436a043fd221063fe3fd96bde4ed82bdde64e03ebc71e53ec05d88bdc92642bd5938a83e2ffbac3e7be948bd5e1636bd4b1c7e3e9da6853ed96642bdfa410ebda1811c3e3430283e701b1bbd95bed9bc8fff813d2e479f3d1be3febca209c1bc72e04bbbefa4223cf5afd9bc95d27ebc2d9fdfbbbbfd9b3c782604bd68dcb6bbab4dfebc12e172bccad4d2bcbc7f44bb17852fbd664bf6bc1614b2bcb308d7baa68e3abda7a104bd60dca1bc813b1dba6de435bd607becbcb3709fbc5c59063b111c24bd77cad8bcc32f6fbc7a64983be1260cbdeeecb1bcb21618bc41ff133c6cf9d4bc626d4bbcde7943bb60246a3b971932bc10ffab3b48c564bb79cb80bd7963e03edb824f3f10c2c8bdd9e48bbd201ed53eda154a3f6effdcbd2d8071bd4ce6bd3edc08323fb9d8babde4164bbdeb4e9e3eb712143f65be9fbd73562dbd7a01793e16f5e83e1cbe81bd88ce0bbd03bb333e0f1ba83eef7f56bd520ee9bcc795d93d8db3523e9d2530bd061296bcd183243da918bb3dfff408bdf9ec85bc1a3affbb8c14f93b105aebbc5912b9bb661781bcaa92533b3bfcdcbc30c7353b1eba0fbd1c0e21bdfa7fa6bc84a5df3a583c1ebdc98123bdb73da5bc76268e3bb22735bdddea47bd45e19cbc1834373b410d1fbdab0016bdd74b8ebcbfdfc13b42ed1cbd075d18bdc61844bc6f25923b84a3eabcd776cabc55fc14bcd2a3153cbe279ebc2a2c98bc70319e3a7542b83b60b230bc404bfb39e9ebac3aff8631bda7cb843e219c7e3f68d4dbbd3ad63bbd9ebe773e2dd2783f7e3ef1bd0a521abdacce613e2fff513fb779b5bd700b08bd2c683c3e2f75333f9527a1bd81a2debc775b133e8e69083fd16374bdce67b6bc53efd23dc70bc73ea3d753bd225d92bc81f17a3d7496723e7cfa20bdb24c53bc0e1e8d3cddbebd3dd4d8fabc201603bc93ac66bc645b18bc4d03c6bce16a903b16bed1bc3baabfbc63339dbcc1e2343c99ebfebc4fa4b4bd3f1719bc509d293cf2d51abd9ec5b1bdcd9959bc396b163c9a7823bd9a9c9bbdf03c80bc0334dd3b3ff514bde35c7cbd2bcf82bc7c36df3bc03dfdbc25855fbda07a25bc761cba3b52fab4bc8a6e37bd419a98bb15949a3b38f8c5bb8af0eebc88dbc73b55ffa13b93f8e1bbaf3693bbdcfa7e3b0458b5bcb6f4b03d0178983f4e62e1bdeaa8c0bc9263a63d0dd9903f4c2adbbda7fd9fbcdbfca63d3ccf793fb941a6bd8fa37abc6cad923d451c4c3f070b7ebd056f45bc1d3c663d87f61b3f404a41bddec82cbc25191a3d312edc3e737f19bd4b4a0abc51dc973cc80d813ee2daefbc9a7aa7bbc6dca23a4cb09e3d08399cbc3575f8ba7b88b9bc23bd09bd58d4aabc00000000000000000000000000000000dca64d3c4dbde8bc8a26adbd27e5d1bb7ec0233c2e7ddcbca75db0bd701105bc21cc133c8d13f0bc75b192bdd53a3dbc26a9fc3bcec4e2bcc2ef7abda25343bc0f1bc93b6c6ebdbcfc9c5dbd6a2121bc9ede843bbd2e5ebceff83bbd62b596bb1a923e3bbdf8dabbe987ffbc72aab0b80000000000000000000000000000000000000000000000000000803f00000000cc246bba03bc34bdbffd973f781574bdb92d9938de4ccabcc1eb7d3fbcbf0dbd0d5e1939915f8dbc38184f3ff5abc5bcd980823a6c4d71bc91f01f3fbc528bbc04e2c43a5d1378bcd3c5e23e93684ebc5cd9793a867859bc2096843ed41e22bc40ea413b2aa6a5bcad1db33d02aa2cbc0000000000000000000000000000000000000000000000000000000000000000cc308dbce371e6bbb53fb5bc7e71ab3bf4596dbc977499bc918ba1bc7472843bcbb684bc05e87dbc8ba5b2bc701f363b393f7dbc6e3841bcd3aeb5bc700ced3aa8ec74bc3e4977bc10d0b3bcc0cbf23a7dec25bc3dbf93bc8ecaabbc846a6d39ea7f0dbc8e6c62bcf206a4bc899e8fb900000000000000000000000000000000000000000000803f00000000000000005500e2bcbf95853f831caebc5c5db139bb138fbc540b623f654a4cbc83bb4d3a0c8b7ebca4c63a3f854541bc287c153a680769bc7d68123fac734dbc1e018d3a9fd058bc7b99d73e59b169bc82b2023bd66968bc52a2883e46fe79bca4946e3ac5c696bc1208fe3d4204adbcd629403a00000000000000000000000000000000331ee7bccd1cac3c33505abc945cbfbb6509aabc5e220cbce3f875bceff813bb121cbdbc838846bc3cc198bc183c2dbb4c93bbbcb39a5cbc9819a3bc373769bbee66b4bcb12814bc4b85a9bcb3ca92bbde7a99bcbf017bbc8644a8bccef4a6bbdd3d63bc291991bcb4f1a4bc57ef9bbbb91770bba50e9dbcac3486bcd68c64bb1cef26bc49dc7b3b3ac570bc989a74bbd5f85ebdf419863ff1ecdb3d930c66bc82734dbdf861773f9eaece3d77f05ebccc4f2abd6e95543f3d50bc3dbc9c3ebc6d4f12bddec52f3ff25a9b3d971027bc3e1f03bde593093f077e6c3dfcf112bcd349f8bcb6bfca3ec67a213d4b1200bc6428ebbcc66c823ed19ba33c00e4f7bbccedcabcc9dce33ddc21f53a1729c6bb203aeebce76b1b3c3b2a8fbc3863c3bbbb71f0bce155c43c6cc4533b751480bce1addcbc269f113c328440bb846263bc363ed8bc553c783b55cc4cbbf6bf61bc46bfcfbcaf5aa2bac40f1bbc51db54bcae8dc5bc7c4332ba8a8dfbbb981c56bcb3cba7bcb735dcbbecc43ebc247b4bbcc6e892bc1ec08fbb5e32ebbb88194fbc75fd2dbc74c2e8bbd62e27bc769d12bc1e2638bc6f319c3bdb2126ba09911abc4c0068bd6494623fb272843e8f09dfbc25ca77bd0f48533faf4f713e288be8bc6a8147bd9bb1323f8b2e553e2f49cfbc731640bd83b7183f2377333e22d3bcbcf5fe25bd1607ee3e8e390c3eab01a5bc79791ebd47a8b23e59afd03d4bbe9ebcf3e50dbdb4b9693eb5bb883d0c8d98bc4291ffbcd323e63db2d2f13c23b574bcd2aaecbca9d3723c0e12d4bae59b6dbc7f82ffbca861c23c715b953cbc22c8bc6e48e3bc5767283c00eb4d3cf302c1bc7350d5bcf1f3473b8ec7c73b66e3a9bc1752c2bc281b32bbddb0713b6b71a7bc0d00b3bc66b4a1bb15221d3b488dadbcaa839ebcbff1d2bbc98a0f3a945e99bc615b6cbc607109bcd52ed63a4ba093bc734b2fbc34ddb4bb35d2423bf91d7dbc74e15bbc7df4ae3b9654333c655377bc2b3962bd48283a3f7263d33ee5b821bdcc6971bd60da2c3fe4f9c23e51d72cbd7e5757bdbfa7163fdb1bab3eaa111dbde6233dbdaf9dfa3e8d57903ec4a10bbd919d33bd8a4ec73e73f0683e82b304bd14ea1ebd1c70943eb3452d3eaa0aebbc1c3a14bde64f433ee63ae93df354e0bc8f9b04bdf2edc73dcf016e3d0d88c6bcfa3cf1bc68308d3ce9813e3c66c4b8bcd2afe2bcaa31833cc5d8003d2158f9bc6691c6bc5169b13b593dd63c6899f6bc2d48b3bce7a08dbad1f8a83c25f3dbbcfa01aebcc430b6bbb5a6843c2b3ee1bc490badbc382b89baac98893c8929c9bc791b8cbc6dcf1abcd4e1513cd9d0cdbcdde281bca698fcbb4309563cb872b8bc99b316bcaa9706bcb705813c2bb9a7bc77f64dbc2cb31a3b9be8a83c7a119dbc92b945bdb33b113f6f8d113fc90847bdb0c94bbd0e00053f3414063fe1cb51bd159638bd73ace63e3129ea3e429934bd11902bbdd43bc33e8759c73e7b9731bdcad10ebd30af973e53989b3e5cbc10bdc8c90fbd04f7673e54d5723ef2f617bd04dd02bd8c37183e8d6a233eb96c06bd27c5ebbc2029993d3d9eb33df443ffbc3889dabc390b523cf901bd3c9d72ecbccd39a5bc556b633bc31b243dd83a06bdb63c88bc3fbe09bcc5b7063de1300abd3ee763bcd03a66bc7545cc3cca32fdbc79844ebc338592bcdd64a63c1940f0bc48bb52bcb7498bbc1f04a83c50ceecbc19c81cbcfb9fa8bcca8e8d3c6527ddbc2694d9bb87ffa9bc77f3843c4661cfbc5c4484bb515693bc0c498e3cb2b4b3bc58f1e1bb62ec00bc6864d03c3e20a2bc4db01fbdc6bed23e3a3c3a3fee9962bda84823bdfc3fc03ebe312e3f727c78bd665115bda32fa83e58fe173fd2bc5bbdb24304bd2f048c3eaa55ff3ec5eb44bdb6c0f7bc38375f3e1919cd3eb45238bd1ca9d8bcc6b8223eb46d993e2aaa24bd28a9cabcffbbce3de941513edbaf1cbd66acaabc14813b3dc075e13dcbd90ebd9660a2bc0a6afbb82231eb3c395600bd68972fbcc6841fbc3f9e1e3ddb94ffbc0da3e3bb51a699bc3e30ea3c369908bdeb98f5bb753d9ebcc359b73c4f9eeebcaae49ebb37c7dfbcec74903c460bf5bc44fab8bb166cc7bcb464903c2b6fdbbc17d95fbb384deabce9b6573c275ce1bc475c90bbf6b3b2bc2431673cd8d1c5bc5a0e593ab8b3cbbcb9c16a3c9f7daebce4b2c8bab3647bbc80ffb93c639396bc6754ddbcb1a7833e4923633f27d06cbd4377e8bc63f86c3ee780543fc62d7cbd0598c5bcb62a513e8609343f01fe4abd33e0b0bca6bd2d3e3f401a3ffc8543bdea7598bc817e063e9edcf13e9e852abddd0e8bbccd0cbf3dce10b73e226825bd377083bc5035713d14fa713e9cea11bd790c48bc54818a3ca8a5fd3dff8d0ebd3dd03cbcc65842bc8c8ac83c3d53fbbc6ef749bac071bfbc78f0073d1f12eabc22ec363b6b33dbbc793bf43b8007dabcb898083b3341e9bcadd64e3bc619d5bcfec5e53a0c0f00bdebb8dd3ac25cd2bcfa55663ae438fbbc4ca0853bceddcebccd819b3a0a13fbbcd45de2b9c322cabcc6f2df3a8797ecbc7aa70fbb1a36b0bc0872483b5822c3bc9a7560bbd26688bc60e6303bedbcb2bcea3b883c1e8488bc80355dbcfeead83da17a863f945464bd672a5bbcf6c7c83d09d1783f8f7b59bdb7dd36bcf6aeb03d0bb8553f44d82ebd64841dbc873d913dafdb303f4d9d14bd7e7402bcda4b563df6db0a3f225e0abdd022edbb6869093d43e7cd3ea33efbbc3545c9bb48e45a3cf628853e3c46eebc75478fbb635ab1bbe7d4f73d1c26e0bca73475bb3914c4bceee5803ce2bdeebc000000000000000000000000000000001a44e83b49c4ccbcedeb34bb087284bc2cebcc3b4a57b5bc244b64bcc79f65bcfa98823b6d20cebc6cf11ebc1c8c7ebca339a13b5f80ccbc8a8315bcc8538abca521b43bea99c7bc709e3cbc391475bcfc5e633bb5c5acbc2bdf73bcfd4355bc1d38803b8437c2bc041e0ebc5d7a4fbc0000000000000000000000000000000000000000000000000000803f00000000d6ae6bb999ebb7bc92be853f3262e4bcdb1b7f3aad266abc9c2b623f31be80bc82384f3a756164bc12b63a3f4bc679bca6dfb63a9cfc71bcf1d6123fc64551bc9f5a7d3a1cf685bcc4edd73e698456bce814c53ac7208cbcd4da893e8aee54bcdedf1c3bb589c3bc63e3023e1b4b9dbc00000000000000000000000000000000000000000000000000000000000000007945dc3c99804bbe53698e3c8a46d73bfc67bd3c5bbe4bbe9e5f5e3ccbfd063c4419693cc85838bee89f833a51321b3c7b2a3b3cac721abe824b54b98b32203cb6ef013cc3abdabd2e06ebba15d8013c4cf84d3bb3e670bd8931b9b983f4953b4db8a83a11394abcb8208bba0a03373b00000000000000000000000000000000000000000000803f0000000000000000f613dabdbdaaaa3f9880e8bdf025153c47c089bd94208e3f210f93bd2fca703b5eaa49bd9ed36b3fb78250bd1cbc343bde770cbd7e1f323f76a50abd883de53aa93889bc89e5ea3efb76a1bccf80f339a3ce0338f4a96d3ee1df14bba1cc823a9016393c7eeb743c9564c93bb6997f3a00000000000000000000000000000000797c783cfee3eabd91e4853c23dc10bb8c320b3d00753ebe6590f83ca6a6f1ba3e45e33c650b51bee05c103c79e9d13b16cbbf3c5bf945bed6b2fe3907a3153c3979953c99e21dbe31bcccbbf6ae003c5ee9783c6a68e2bd42c5b8bb87e3d73be24e0e3c669079bdc1ddccbb6eeebd3bbffa1b3b2d7a32bc5ad20abc1f1e793b6d2aa63ba5cc4a3cc6723d3bfff1a63acbd236be155fab3fb6657c3c7c6b78bc52e01ebe8e7e9c3fb550ba3cba498bbce26a07be637d8d3f1034fc3c5ca096bc365bd3bd3ff5683fa5f9133d0d7995bceac894bde2f92d3f8592273d7e2160bc3c1a34bd01ede23e9d7b213d8b2b48bcd8708abcc9675e3e12cf193d8f772ebc9c17123c7bd5bd3c6a0e153d97ec00bc2c18383c2ee4efbd2ba4fc3b013e0dbb9c1a413a150a8bbd336e373cd9c2f2bb66ab903c8ecd13bea4e6b9bb7420f53a61b7893ca0d725be888fb9bcd948f03b6f278c3c481222beba1decbc04421c3cc8174e3c967cffbdd209dabcf5fe073cb769663c0d20c5bd9bf8bfbcf6ebf63bf0bf273c6e725cbd853b75bcaeb3bd3b3fc7133c263da4bc450f01bc3a52983ba5b7cd3bf21c513ba6f8a23bcbd4a6b949d92abe1add8d3fe1b1673ee85d4dbd1ae035be76258d3f15bc5a3ea8a75ebd495116be38507a3f4b1f4c3e7a3944bd3d1bf5bd4b3d4f3f408c353ebeb12ebdc788b3bd1b521a3f9ae8153e89d109bd6b7a73bd6be9cd3e28afea3d9d12dabcea42fbbcc2084f3ec0da983d1e8a94bcbd8803bce8f3103d56472c3dde3f50bc5265c53ab73190bd37a5493bde5ba2bbed7b38bc8fb21bbdc49d16bbcd3a2dbca837003cb1eed7bdbdae0fbd53d1373b2910403c83c701be8d9e55bdb42aca3b5d253d3c1d6df3bde8dd60bd72fb1b3cf4bd4f3ca3ead5bdbb815bbd50280b3c0387383c31619abd932a1fbde6ddd13b0f1e3b3cebd73dbdd052cdbc6570023caa9b243c776d9bbcf451f9bb8cb67f3b480bee3bd5f65eb9e97d003b0e9e0e3b14aa1ebe031e6b3ff5e0e43e322ab4bde27026be6a36673f4216e13e1c73c1bd47df0ebe6c7d4e3f1387cc3ee181a9bd6f92e6bda3432a3fe49aac3e15e58bbd25dab7bdf48a023f781b8c3e565868bdee3780bdb4c0ac3eaba2483e051629bdd1e719bda4c8383eac58ec3d9a27dcbc2f4d89bca595353d03d6353d5c205cbcc29320bc7a2635bd6d843bbc2197c7bb9aad7abcd8639ebc9e0089bc536f79bca48ecab7852386bd4df388bd595e0f3b7390483b8536a9bd5aeba6bdbe33c33bdb00f23be92db6bd41c6b7bd9886153cc97a1b3b89d881bd985682bd4b39aa39c284123ca21b74bd8e0272bd0de41c3c5383e23b637c11bdeda503bd4650b53b23c0003c028580bcb1d342bcd3b18c3b5d47f23b118b623af4d0b03bfa66463b8cffffbda623303fa2132f3fd757fabd603e04bed95d2c3f17f82b3f177603be44fde4bd1852193fcd4b193fea8adfbd77bac6bde89c013fefd8023f68c0c1bd57498abdca20c03eaf32c33e43a784bdf75268bd171d8b3ef6ac8c3ee3375bbd509f16bd59481a3e3fd3193e13a0fdbca81498bc920f453d3ca22f3da29368bc23fe64bcc200d1bceaeee1bc18e9efbbaa0e51bc20528abb840c1abdc3a426bca2af22ba6ccd04bda5dfdebd7db3283c85b8903bb4604ebde46704be890d613c8f6ad73b382961bd4a48fbbd97e0663c2763f03b30b455bd0f25dabd58494d3cdd98fc3b035222bd18cb98bdbe7b0c3ca5420c3cf5e4ddbce1dc3abd1f3c1a3c36f9e63b37d15fbcdf9473bcb57ac13b646d813b8f21f5b915af993b77d6373bb949b9bdf3e3e63efaf6693ffc5318befe63c5bd51a9e03ebd54673f3ece23be4b13adbdadc1cb3e4a694e3f6ee40cbe9bf18cbd4363ab3e5a572b3feaade3bd1de971bd585e893e7ab9033f1d3aafbd11cd36bda625433ee09eae3e43a26cbde3a802bdf9c9f13d8d92373e506608bd5702a1bc057d4a3de8cc1a3deb0302bcf49932bcae410bbc64c647bd072437bb2e6116bc5bda583ca4218bbdd202963bf64259b967e02dbb3ab118befdabb83c10ba943be6bdafbc2bd026beebc99a3c2454ca3b2062cdbc3bc924be88e7a63cea4ad73bf366e0bcc63300beee02583cf67d003c7f3fc0bc47f8c5bd60c5763cc9aede3baab191bcecb151bd52ba193c013aa83b6ddd33bc412c72bc6a66b83b2504373b635d59b947be253c5bcf733bc23e55bd98826b3ebc618d3f3cdd29be87b85ebd693a5b3e80168d3f735933be3de53dbd6b134d3ecb7c7a3f224616be584034bd332f363e44a54f3f2bd8f2bda3f50bbdaec7163e26041b3ff4fcaabdce54ecbc2d78ed3d9825ce3e532b69bd1b12afbcbc36a13da3fe4d3ed82ae5bc193f64bc06f3403d6118ef3c4a4f76ba238512bcfd45f53b58f799bd5796d73b185e14bb43d8893c94feeebd3428923ca86febba02e9f33cdc4a45be890b1f3d3bc7443b38d30c3ceca853be83a8013d2e9eb73b7c31683a91d548be3903de3c2f99ab3bf68eacbb7abf20be8bbe9f3ce0f0843bdacae8bbf74ee4bd2e6a853ccf72613b12de1bbc9db977bdd8bf153c868f183be01926bc1bdb0abc5a7ed33a3e05953ab5da083ae1dc833c6dfa213b3b3c85bc3c209a3c5f38ab3f7b7835bed49c91bc0064e53c85909c3feea71ebe222082bcbce20c3d783e8d3f7cc508beaa3577bc7553273ddc62683fe811d4bd0a184ebc80cf2d3d673b2e3fcf8596bd40c817bcab523b3d289ce13ebe0a32bd485011bc611b303ddaf75a3ea5127ebcb67106bc7128333de932833c168a5a3c51cd3ebb61c25d3c9772fabd10cb843c000000000000000000000000000000003bddb33b80db903cfb9c4ebed55bf53c6142e33b21e7483c1c1c4ebed43cc93cd986e03bb474d13adf183bbed7c7753c84cabb3bb3756aba16421abe6a283d3cf25a8b3b547ec3b9a38dddbd3518f63bef13ce3abcacdfb9605579bd12d7af3ba9afe4b941a3b3b87dbc4cbcb1054e3a0000000000000000000000000000000000000000000000000000803f000000007863273c9caee0bd817eaa3f82d0ddbdcc49c33b14a58cbdc3d58d3f40198abd4be69f3b0ce53fbd58576b3f44e547bd5f93813b55dbfabcaa33313f46f900bd8b73a43bcefe8abcc252e93ecd0883bc1a36343b383fbd3a04e5693e3c6b113a56aa4d3b6eb3143c6456473cc4ec543c000000000000000000000000000000000000000000000000000000000000000078a2c53c790b32be9267c33b4d88df3be79eb43caef033beb636dd3baa98053cb422643cab721fbee7971dbbf0000a3cf5c03d3c227707befd1283bb48b0fd3bf9891f3c56edcbbdb59d88b91ac5bf3b57471b3cb2c87ebdef34ae3b6901263bb3771f3cbbb8d3bcf4ace43b9032b33a00000000000000000000000000000000000000000000803f0000000000000000f59acebd7a66a73fca5ac5bd72aed63beedd89bd7fac8b3fcc077dbd0a07853a8c634cbd3178663f261c3fbd84bca93a83691cbd10b62f3f68eb04bd7410273a962fc0bc5d86ed3e5f41b9bc68e8333a2b4a1abc61b2793ebf1e50bc30d2e03a659e25395370143d74fa1abc3f47473b0000000000000000000000000000000002066c3c2bcdd6bd794d453c9bc601bb651b323d7d2747beaab2fb3c15e53abb2569063d5f9546beef50553c2fdcbf3ab177e03c11b236be1296cb3bd684383bff3eb63c78e015bec2a8ad3b590f043b18a0b63c226decbde41f053c3a9f083aebca993c4da08fbd2fdd223cd5320eba34b3743c374adcbc736d763c428dbabbe0ab923c3cb82cbc0973833c16d739bb5a2a1ebe1d8ba73f2090003d6f9e84bcf96a1cbef1919d3feda9ef3c4646a3bc14bffdbd419d8a3f92041c3d94c99dbc4a8fc3bdc10a623f59c4353dd18e93bc67a791bd72d4293feff7273d45ef75bc41f345bd5a46e23e7b990d3d086a51bcb145cabce12b613e783ce33c93a31cbce941da3a2878803c57cada3c7fcab7bb22d9da39aa9bd3bdb803aab9613251bb15b23c3b066088bdd1e6b03c687081bcef94a93c32f80cbedf711a3c1d370dbcb4bb893c3b1d14be7e2174bb9527cabb4f729a3c4a2014beb3fdb7bb6ae98ebbf77b763c4f24efbd3c42cbbba714b2bb2ed4a33c0d91cbbde0e24fba576183bb5666883cdf1e87bd1d8fb33b56b1c7bb192b953cb7b520bd758b5d3c4b8adabb2d56853c25fc8fbcdd43b63c5a2700bcd06f0fbea5a6893f64e96d3ee29336bd713d1dbe2984883fa89b5e3e491547bd5e0efcbd40056d3fdf29513ee82030bd37b7d2bd1184443f114e3a3e83222cbda2c89dbd1035133f84ff173e878107bdff846abd20ffc73e860ce93dda25efbcb7610bbdfee4513e68089d3dada8a7bceca15abcc9261c3d5926243d801871bc1278bcbb6a3c85bd3613f53b838f3bbc4a8430bc996218bd8cd4b53c41cfcfbc874b263c3830cebd31a35abb512082bc75f04c3cf510f0bd1b5999bc979941bcc795693ca68ce7bdc1a9a9bc13a22dbc57dc693c52c7d1bd5dda9dbcb90b26bca4927b3c1755a8bdc75948bc0bc703bcec378e3c76e278bd2cea45bbaccae9bb9125963c15971dbd55ef443cead207bc6f184c3c0c8a9abccb1ba03cb74e02bc4571fcbda2385f3f9efae03ea3a396bd3e6107be9ab95a3f26ebdb3eb09fa6bddd32ebbd1d3c413fda3dc83ea53e96bdb6b4c0bdbf871e3fd700ab3ecc2582bd78b097bdba1af33eef5c8b3e0d4a5ebdd5cd64bdd142a53ece744c3ef09c34bdcc5219bd8777323ed993033eb0020ebd51c58fbc30142a3d02e76c3d75e0c1bc2eb957bcca7f1fbd8a56883b0d0792bc4d7d5cbc7728d9bc1ee09d3cad250abddb10eb3a59448dbdff8081bcc656b9bc2efd5e3baf59a1bdc96ef7bc2d729cbc488b3b3cd276b4bd5ea128bd2f0e71bc9cfcf23a792383bd3964aebc84f196bc88bf4e3cf54889bdfd97d6bc95351cbc2fff3d3cca1d3abd781024bc957510bc3122563c4bae01bde3308a3b9fb8c5bb1c4d403ca92185bce9c58c3cfca211bc7874c6bd6bf7263f1752283f40c9cdbdcb90d5bd704d213fbc7f243f6c18d9bd5c52b4bdeab90d3f960b123f1962bebd4710a0bd9beaee3ec0bafc3e80baabbd4ad863bdf4c8b03e306dc03eb52682bd3fbb46bdeb477e3eb0b8903e4faa6ebd1eef07bdc7fc0c3edc1d313e6de330bd56b5abbc15b9233d2ad0973d8a01f4bc5f3c5abc4fafcbbcf5890fbaf9d2b8bcf93af7bb8830b4bc1b9efb3b859d05bd8c6e533b0bd943bd917d56bd751f75bcde4c1e3c2ecc77bd4f4896bd6a4130bc5558163c83f37bbd270a90bdc1fe10bcdf4b363ca6c571bd271f7cbd7e8616bc02e9353c6c903ebd406739bdc0d7cbbbd2852b3c69b60abdcdf9dfbcb31331bb762d183caf9198bc9c4317bc383491babab6e33b429438bc51e2403cad1b5fbbbf1c92bde723df3e0e61603f0da500be995d9fbd381bd83eba225d3fc1320dbe427a8ebdad91bf3ebce7453f2d39f6bd621a6ebd39079f3e2fe0243f2ceccdbd866b45bdd303793ed651013fd783a9bdc5c316bdd7352d3ef869b53e1b3386bd008edcbc606bc73dfd15553ea4ce43bd00cd83bcc3d5013defb7953de9eff2bc10d835bc57b9a5bc65652cbcdbfed1bc5cca64bb587a1dbc4b68f7bc00fd87bcc6469b3b615ca4bc289ed3bd3da19f3acbe1953bed9f02bd1adbdfbd819629bbd996143c727e0fbd2b13e8bd7663d339beab023cfe7608bdc939b0bd478c63bb0430ea3b0195d7bc589394bd9cac473b66f4c63ba58b8fbc06a32abdb305303b99e3b33beada15bc7f9d72bc5719723bf7b01a3ba7bd703a4266b23b558e213bf47932bd7dc16b3eb9d9893fe28211beaf193fbdd135583ea03b893f53d61ebe7e691fbd56d8433e06fc6f3f27ed02be5e8513bdd4da283e8d25493f0e97e0bdf02fe0bcb099023eb55a193f6effacbd3e1bafbce146be3dbcd8d33ec25f86bdb65d88bc6ad7673d4b176a3e5dd636bd0fee24bcce9cb43c41ce763d459fbdbcbc68e2bb4f0917bc5ea33abdfa696dbce24e0b3b879a013aedc9b2bdb524e03a415e003aa7aea63c426735beff95fa3c9946a33b8afee43a713535becbefab3c974cf73b72e974bbba1c27be1b587a3c9c3ad63bae98d9bbdfac06be6851333cf089a53b056d48bbf324d0bdf2014a3c061c6c3b6c536abaf1fb6cbd9fc9193c882580ba47f7913b318b7fbcaba2103c3a373aba39670c3cf34516ba9f55173c7df77dbc86d4f83c05c3a73f937620bec0e085bcf9e5d63c0bbd9d3fce411cbec44880bc8882083d52428b3f1a1603be1d7e73bc8ee20f3d802a643f3d32cabd0a864ebca7f9ff3c62c62c3f31fa98bd05ca20bc1fffda3cd238e73e10895abdaa59d1bb1b56a33c386c6d3ea93affbca7cf53bb4d99ad3c2a05c83cbcd874bbed8fa4ba2cd39abb7de3bebd7c65d7bb00000000000000000000000000000000ca09a63b4e9d3b3cf7ea34bef0dbc23caac7a43b98f5393c4a0b38beedfeab3c1531d83bc20d8e3ad9de20be74e3473c0e39bb3b5ffb293bb3330bbea5f42e3c9386813b30aa2c3b7574cfbd089e143c861c733a35f6f83b070386bd7263263cb35fc9ba0a34293c565ae5bc3b45173c0000000000000000000000000000000000000000000000000000803f00000000aa51dc3b2b5dc6bd9324a73fd37fd0bd9dc06f3b6d4583bdf27c8b3f4e1187bd2a3d033b69d63ebd5993653f7a394bbd3562223b4f2212bd464d2f3fb7210cbdcbbff33adda5bfbcc443ec3ece98c5bcc8400e3b859b3cbc2a41763e5d6813bcdb22363bb518cdbb45a40a3d7a243aba0000000000000000000000000000000000000000000000000000000000000000625dae3a2811cebd7c1495bc5a15163c08114c3bc17edcbd30b66dbc1023ca3bb04de7ba8040bbbd1bb98fbcf3fcb43b75864639cd3ba5bd21887ebc5667973ba6d2603b21688fbdaae459bc5278583bbb201a3cb26371bdbca175bbde244d3b5dfb803cac3536bd3d14333921dbf63a00000000000000000000000000000000000000000000803f00000000000000008fbd6ebd2e0a983fee624abd602e8b3a6ea61cbdece87f3fecbcebbc93307e3ac272e5bce723513f3199a5bcb92ee739e9bcaabcc3b6203ff8597cbc742cd4392ec893bc86e9e23e89c24fbc066facb93dfe64bcacb7823e621530bcf1d3c1ba1fe27ebc23d8ac3da33680bc25a863390000000000000000000000000000000006b49c3b0eb98ebd34eaa53ba07dd5bb592ba93cf8b90ebee8bc6f3cdc82f0bb58d76d3cc36a0bbe6673d03b38d0f9bb24a3673c6e1702be070ea83b819a10bc4eab7c3ccc62e5bdf252a53bc78a0bbcb991b13cca32d1bd5341423cb2621fbc8d78e53cbf1eb3bd5527a13c9e792bbc6926233d7a7a9dbd5790093df5512dbccaf30e3dadc355bd2d47be3c2910e4bb5e28b8bdccc6963fbff7993d4cae70bc52d9b8bda28a8e3fc67d953ded678bbc63fc8ebd5ce3753fc25e9a3dc36a7ebcec0e5bbd57d0473f9c19933d6fb56dbca5472abd34cd173f5f0f7d3d0a5d60bc0ea203bd86b1d13e7f26443d289a4cbc3662d1bcde5b6a3e1102023df26954bc47488abcd273643dd356a33c18c036bc0c998fbc5e2649bd8a4948bb0cca01bc41c6993b79f46ebd3591103d1354dcbcb327853c1171d8bd24d60a3d3b66d6bc52cf593c9b5ed9bdb8bbc53cc248cfbc38e4933c2e12ebbdc4b8c13c1c4cd0bc02e2963c6c0bccbd3670c73cee71c8bc38f1d63cfa1ccebd86f5f03c8dfac0bc2b8eed3c3326b1bdc2bd033d74e2b9bcf6ab243d4525adbd3542333df949b1bccfd60b3d178c6abdd908303d361d8ebc156aa1bd58ce753f82647e3e95c903bdbccdabbd8fc56b3fdd9c6d3ebc350ebd094789bde0b54a3f9d665b3ea36dfabcf77865bd20f8273fc995403eddb2e8bccaf832bdbc6cff3e59321d3e5f4dcfbcec7d13bd5c5db33e8ab8f83de981cfbc450ee7bc204b503e8610ab3de5bbb5bc63a2adbc7399863d7735493debd3a9bca2968bbcbee902bd6eb9773c0cb08dbccfd00bbbeff732bdad775e3dcbbb2fbd30ed513c6c50b6bd9345553dd12736bdb7b57f3cd83fccbd1abc273deef629bd3cb0823c28ced1bd75771d3dd86226bde1a4903ce7d1c7bdce741a3d4b9423bd44e6bf3ce6eabfbd6c472b3d0b1b17bd3f44e53c2a1cb6bd3eb13a3df0c60bbd4426113d8f74a7bd057c553df273fcbc2761e33cbec059bd15ef4d3d2ff0d0bc75be8abde076443f3ed1d83e29e94abd6ed190bd5c4a3a3ff7f3ce3e001a5bbd3b6880bdd528233f8704bb3e4dcc46bdacb24dbd0636063f9cc0a03e4c292fbd5b5427bd47eecf3e9436843e2c7b28bd59140abd41fc913e5fd5493e04e016bd315de1bc9dbb2b3e755c0c3e23a608bd1d8a9cbcb1d8723d06f8a63db66e06bdaffa9fbc401a75bc0f7fd53c4357d9bc2fc8d2bad71e1fbd547f893d4f325dbdb4ae9c3b77648bbdea986e3dd77060bd7f89be3bad6f96bd0adb3c3daf4c51bd643a393cc5bcabbd78b72f3da7d553bd50c1933b57bc81bdadc0293d429235bd0ab88e3ca2f0a3bd0cfe343de15339bde5be8a3ceedb8abd632b3d3d8b1f20bdbd13c53c028986bd4604563d34f80fbd483fa43c5c093dbdd1ee603dff88f5bc5e7164bdbad0133fc97e1a3f8f2685bd55b360bd4f9d093f2bad113fe1d987bd03483cbdafc4ef3e8f23013fabe46fbd9ace26bd97d4c83ee378df3e4ba762bde82d06bd515f9a3e6fd5ad3eca053fbde53aeebce0835f3e9bb0893ef1d03cbde024c9bc849f073e9f163a3ef7c92bbded369bbc7201503d1f50d43df70817bddf938abc1a596bbc8ee50f3d737012bdc1f1b53a9ad337bdf4548c3d00a876bd40452e3ce39392bd2a8b453dd15c76bdc1e6423c2b74a1bd8e4b0b3dfc6769bd7918553c3d1aa6bdea5d053db5b861bd7c47703cabbda1bdc5b80d3d420d57bde736803cdb0d99bd1ce2183d14f040bd69039a3c03db8bbdd51d213d683823bdbe58b23c789273bdb0003b3da6e70bbd60ff883c17e027bdaef5543d6f9d00bd110531bdca0ccd3e954a4b3ffb13a6bd41b62bbd3951bf3e0d61433f8585b0bd5dc01cbdb190a83e81d12d3fa97a99bd47de02bd0cdb8b3e7ea7113f5e0488bde815d4bc9841593efd52e83ea2466fbd49f3bebc00151a3e04a8ac3e82b556bd41f79cbcc1bab43d4bba633e454947bd7b7a6fbc7fdff43c5c2aeb3dc18632bd61fa54bc85808abc25e8003dc5ae19bd06c22d3b4d5824bd5e5d2a3d4cc857bd073f313c873768bdb69b3c3cd6a556bd5ca41e3c393a75bd049fb53be7b053bd85c62e3cc17984bd5fe5d33aeb094abd39611e3cf91774bd5ebb3a3cd18843bd0867463c1daa67bdd2174f3cc08a29bde49a363c825441bde0138d3c902508bdab57573c5eb41abd03c5c93c03ccd3bc53e21e3c44f4cebcc50d0e3d7258afbcce95eabca14b6e3e0a517b3fb6e9b5bd9130eabcd3af553e6e83733f7797c3bd10adc1bcdcdf3e3ebda1523f7dd79fbdd76badbc2c17223ee44b313f368e8fbd647991bc5aabf93d9bdc093f105370bd06d081bc4ed8ae3de8aec93ed81554bd0e444ebc0ce8463d64a07c3e89173abd952d22bc8f89413c1ebfe23d6da922bd26a2fcbb13788cbc1cce123c08120dbdaf65c43b4fbcfdbca21cb3bb888e23bd5795183c9394f0bc2aed8dbd89d3d2bc42491d3cd74f19bd03478abd02b3f3bcc047fe3be7051ebd47966bbd4667fcbc61d0a73b8b3910bd8d2832bdfa44e7bce7a4e03bf7ceecbc0f4813bd4dd5babca684c63bba48a8bc1a9cb7bcebfb7bbc6e9e653b6e0aa1bbebe674bcf11400bb61d7763bae29a3bbc242a73bcf46ebbb121055bc4512893d1e52983faaadc2bd758f66bc11a57c3d8d3f903f260ebfbd908c2abc05a3793dcb7f7a3ff2b49bbd98de25bc18bd633d3fc84c3f279879bd0c43dabbad5a313d62501d3f6c6c48bdc79107bc9489f03c1990dd3ee4f127bd4b9bdbbb353d533c8763813e03550dbdf783aabb6212b63a71afa53d5e9edbbc1a4178bb8404a5bc5825dabcd53fe9bc00000000000000000000000000000000a241b63b814581bc66f0b8bda29b14bcd4e3843b320953bc1660c8bd1799e9bb9a6b4f3b4b7c83bc94e8a8bd41bc3fbcdb3e2c3b56b774bc20c18dbd6bd83ebc6d332e3a0b2e1bbc450b76bd2120fcbb7926f0b90b1b4cb8218f50bd857b23b8e607b5ba48a3c83b04e112bd2bf3933b0000000000000000000000000000000000000000000000000000803f000000006072d63a8ec44fbd7b35983f7f686abd3979183a4104f9bcb2fe7f3f9e4c11bd578c3a3aaee5b0bccc80513f2ae5d4bc8cd113ba6ec28abc8341213f11e9a1bcde3b4836a33d7abc7c1ee33ea98881bcac664fba25134fbcee5c833ef5ea4cbc57fa10ba5f3c89bc998baf3d2cfd6fbc00000000000000000000000000000000000000000000000000000000000000004f61333df38662be6e7a013d01d7a039ac5f173d14e358bed7fe313c251c773bf573ff3c5a3755beea06fa39e09aaf3b2a7bb23c7e452ebed74c97bb1175223bacd95f3cce0decbd085f24bcbf74243be357f83b37d67bbd9bc62cbcf5016bbbb6d130bb562824bc20868dbbf293d0bb00000000000000000000000000000000000000000000803f0000000000000000d6ebfebd7099ab3fdd0ee7bda2e65e3c23499abd755d8e3fd89470bd9e26883bd3467cbd431c713f777b27bdc00a583b9c7b1abd177c343f932c92bc33fe7439ecc63ebc33c7e43eeeeaa23ba94b093aa1e6cc3b6fd85f3e0dc1b63c839cdc3a8fe4e23ca18e2abc6ee6e93c8d2bc33a00000000000000000000000000000000b40c1d3d4af20cbececb343d51a137bc9954493d327031bec16bfb3cb5524bbca743413d64425ebe7faa4b3cc72f8d3a07012d3dcd8150be84ae0cbb9f61d03a2de90b3ddf0529bec58dddbb057460ba7c02d53c1477ecbd1f2a64bcc55ccbba0a3d713c461365bd2ff464bce15384ba955e113cecb650bc220856bc23c2afbb775bfa3bce8cb73cd146973bc9540fbc261748bee1a2a83f89e73b3c7ba6c2bb15e320be5c5e943f6345633d778b93bce9f114be9b228c3fc5fc3d3deee994bc7814e8bd5e31663f73be703da6849ebcfc0b9cbd25ee293f39088b3dfcea94bcaeba29bdbb0cd83ea77d9c3d4dd48bbcd11b13bc1b66423eb257913d1d0586bc6158273c2de0e43caba7703db3113abc486ede3c0c251bbe1d88123d4c55a8bb37208c3ca6af9fbd1d4c273df89e99bcac9b203de3c620bed002473c4470ffbbb5ba2a3d9a3d3cbeaf76f8bbab77e5badd9b2b3dc0a42fbeebb194bcf84acdbae9e50a3d824e11bebe5db9bcfdf2f4b6cc7fe73c9236c0bd9803e7bc66dc15badccbc73ca37b3fbd76b1a7bc6d94cabaa154973cc1173fbcc6732abc06353aba84306a3cc784803c5e99a33b6ef215bb23c232be73ee883f10e55f3e83312abde16e40be1289893f7fd75b3ef69a46bd9f812abe60047a3f60e24c3e1d5a3ebd1fb008be9b714b3faf76433e13fd31bdb42ec0bdf7a5163f06e92f3ea52d20bd9eea72bdd0f9bc3e3f4b1d3e3dcc15bd13e0e7bca5cb273e8067f33d4921e8bc9a3ea5bbf13d143c081c993db577b8bcdc371e3b7e7eb4bd1e2cff3cff6f7dbc98d11d3bf6174cbd3895ba3c37969cbc6245e33ceff8e0bd2038a3bcea62c0bbf811063d165207be915342bd01c8363becfd013d322501be72ff59bd33e21b3b0167f13cd5fdd7bd3cde55bd6ae4553b2394d33c1cd489bde5d23fbd791fc23b23acae3c6ec614bd6c61f1bc785e723b20f4a43cbb07f5bb450331bc05b48f3bcac0643c89dd8c3c2095db3b2ffbb53b979728be3d9b663f6a4cda3e4496abbd50e130beda83613f35eddb3e65bcbfbd8a821ebe1dce4b3f30d4cc3ef47bb4bd69c2f9bd3016263ff02cb43e6f629bbd1032c5bdeabff93e000d973e186689bd842d81bd740e9f3eb398673ee7e067bd089d1abd4fa5183e63441a3ef7b829bda2699dbc146cd73c535b8f3d697cdebcfbb739bcb21a8abde2d8ec3b400b89bcfcdeccba4c6f94bcd5c311bce25084bc0a368e3cbe9281bd456881bd07196b3a47a0af3c6a15a2bd0fcebebd68dc053c6f68c43c341da5bd2dd6c6bdd4051f3c7084943c65a579bdf4c599bd51c5a53a11298e3c532438bd17908fbd9a44503c98fd853c6f04a3bc227e14bd6dd7403c4214833cc52194ba20aa65bce85b2d3cd8ff1d3cccba813cb6dab63ba865263c8d0e0abe03032c3fc0002b3fd327f9bdfba70cbed2d9263fd9152a3f1cdd07bedcdcfabdbdbc163f36ec1c3f2c63fcbd0c54d3bd0f69f93e216e063fd504d5bda78d98bda9a1b93e04b5d03e9481a7bd4cb36bbdbdf47e3e02da963ef0fd86bd5c8d1cbd3530073e0b55253e8fe731bd8762ccbc0a56263db4526d3d5df6d2bc3bc979bcf82f02bd2ef4b4bc9d9740bc012efdbb785d6e3c4b1523bdd55645bcd4f9e83bcaa767bcf099eabd61c7813c1057873c252306bde78013be1200b13c8ae3923cb33213bdb89410be5ac29a3ccecd883c46610ebde437fbbdaee6b13c6e80673ca161dfbcab57b1bd76279e3c6a95563c255576bc7c8d51bdc7109b3c33ac243cbda01dbbc38089bc6ef3973caf9ae43bd158753c8eb41d3ce4d3823c570bb6bdd6a9db3ea2ef663fff611dbeee01c4bd49dfd63eed01633f960929bec2d0b2bd0788c13e31bb503f4a931abef31593bde3b6a03e5c682f3f122e01be65c275bddf87813e18d5063f3b0ccebd104a46bda45b423e94f1b13e9bc591bdb80018bde3dffc3da297343e84722abd14d5cabc5135703d7791123dd5f290bc7f6b8dbcfb0d06ba928f60bd4e1d34bc3dbacabb3260183d8e5791bdd0ae1e3c37dfa03b5f9ca53cddf523be3186003d93ce3d3ca461d73b5b3f43be7500103db647623cbaedcdbb76fa3dbe1b8f033d1e5e423ccb1814bc30e619be6c62e33c00e0123c05e22dbcdddfe4bd9901ef3cc850e83b11a5c2bbac656ebd51e9b13c49193d3b9932bd3a71bbabbcd0a0aa3cac04a5b981a8303c3bec2d3c8d129b3c5e1150bd6af05f3e8abc883f3bee2cbef75559bd613b523e39fe893fc08639be92cc4bbdcd063c3ef4047c3fdd3a2abe68f827bdc8e72a3e4e81513f74700abe244914bdefe3113e00ec1c3f0ee3cebd78ff0dbdef28043ee495c83e942586bd1ab6dcbc4c7cca3dfc85383ef25504bdfcd4bfbc0029873d53f0853ce588b7bb325386bc8e90c73c6467adbd4c32223b1cb4aabb9fd5493d40870cbe4f1b143d3a5146bb4f55233d03fb33be20c7363d46b5ea3b9509b23cc1da64be3ef0363d6907283cb9d1433c933158bea28d203d57d0173ccf6f9d3bb52c32beeac1043d3461403b58ef81bb4bb5fdbd90e7d83c0bb76e3ba551b5bb426387bdd80f9e3c179139bab05ca9bbf45489bca6d4393cf13cdebb81cf183cc83aa23cf9814c3c96de27bcb0632f3c450ba83f906a41be36e3adbceb23453d88ee933fd39e1dbea6dd8bbc49821b3d5a448c3f4ddd17bea49b9abc5826353df762663f2e79e9bd77438fbcb0b85e3d2b352b3fe46ea6bdf2734dbcbc00823d1b30db3e84753fbd36707ebcbb4c823d42b2433eb29865bc8d4059bc3b3f5c3d23b2bf3c1832473c058102bc5f3a0b3d4cc219befbf0e03c00000000000000000000000000000000f278173bb5ea1b3dc7f465be95c9393d9507c33b7632a93c1fff5fbe0a48193de009183c8f7f1f3ca69059be445bd33cf461e63bb1463b3b529e30bed155b43cf73d023bf19521bbc981f8bd75f7973cddd0dcb917fc96bb228c81bd5b9fae3b710bbabbe99350bb90d316bc7790ec3a0000000000000000000000000000000000000000000000000000803f00000000a542643c4e50e6bd08d2aa3f1efafbbd3bed993b587c7dbd8c658d3f3e899bbde2f6b53bfdc63bbde8e86e3fcb6775bd6288a33b96cbb7bc36df313f868524bd2c67123bec8b553bdb49e03ea8dd71bc4854403bf03c9b3c4f44583ea154ce3b0e833d3ba747fa3c42d286bc363ed73c0000000000000000000000000000000000000000000000000000000000000000f940123daff349be7591123d1a7f81bbf571e93c8fb63ebeae3deb3c8d533dbb8708b43cb10136be73aa993cd747a13942e08d3c2f6b14bebb937c3c41b761b91b4b233c3016ccbd8704223c0f1464bbacfd943a0d5f4abd52ecb53a7edf5cbb3165bfb9631c26bc8765f63aaeb5d0bb00000000000000000000000000000000000000000000803f0000000000000000889bf5bdd1cbaa3f0af2f6bd26504f3c45da9ebdbd0c8d3f324b96bdbf96d33bdbe37fbd1ed56b3ff3ab60bdcaee903b050f26bd5cda2f3f04dd19bd8a3ba93b75539cbc68cddf3e9a4054bcaf60663bf4a9953bed7a543eb25d043c9a1f5f3b241fbb3cf7d524bc4530a13c90988e3b00000000000000000000000000000000d8c7183daa5817be6335543d84359dbcc3ba2f3da31c30be7054643d6ad5adbc7d4c203d99c34abeb958303d3c215fbc0cc40b3d33323bbe9bd6143dc74a76bcbe19c73c489813be647dfd3c174c82bc5374813cfbb9c2bd4e6a9b3c12f86fbc80dc0c3c0fdc43bd99863a3ca3d65ebc1382c8ba954dbdba6f3fe43ab1b687bcd43c823b7b444b3cc14d813c522a8fbc246a3bbe115daa3fdfec143b5667f4bbcca71dbe2012963f5ae3d33c693d0ebce1a60bbe6316893fb9bad73c4f633dbc0f70d6bd892c5e3fc7830f3d892734bc3dc38fbd294c223fabcd3e3d530a2ebcd15313bda9f6c93e1546643de5cd0fbcb8b8d7bbd4812e3e5e1e693d7dad04bca475a13cc54e68baed9f713d81f2aabb6a69f63c6d1e20be92942b3d76c998bb13319c3cbbffc5bd11ca7f3dfa7607bd3c0c0e3d7dc420bee354413df1ced9bcfa99033d22762dbe4d500c3d7c0fb1bcdc2bf83ca4ff1cbed5f5fc3c6230b1bc5474b43c48baf4bd1347d33cd4acbebcf0f66d3cde2ea0bd174e973c23e4a6bc4a882b3c39b925bdd6318c3ce62aaebc33d70e3ce94ae2bbb643763c3987a7bc4a63353b817d4c3ce15fc73c28d8bbbc18841dbef81b893fe1544a3efcf40dbdd5b227bef41d873fcbca443e053820bd55e60ebe54cc6d3f46e93a3e7ab410bdae8be5bd269a3f3f429e2b3e1b7c06bd6c3399bd490b0a3f39c11a3e42d6e9bc04c43fbd8c6ea83ea9e10b3ee110d2bc4b9d84bc05ec0c3e145dd83d70ad8abc6468853bd47a3cbca5bf973dbf1a71bc38664f3c0585dabd32242c3d06260ebc2d868d3be9a298bdb4c56a3d09c020bd1255c33cbb37efbd2828ed3c4396debce929ae3ca23600be0ae5733c742dd3bc2482853cff9ce2bd3348453cb887b4bc10d7893c590ab4bd2e66e33b3ab2bcbc34e50b3cf60c61bdcf3b0b3c9db9bcbc2092a53b1bcbe3bce8e2933c48ce98bcb58ea03a141149bb2f7d9b3cec7e9cbc2c53043b4643403c8521013d463dbebcc7fc07bed79d603f8b9bd03e47af85bdbf9510be4371573fce75cc3e0afd96bdede1f9bd21ad3c3fd50ec03e810f91bd6442bfbd1f98153f5d4ea73e94c577bdde328bbde6ead93ecd8d8c3e1be756bd8dd326bd1d17853e3db95a3ef55c28bd5894a1bc403ce43d0079133e0e1e01bdbcf88f3a1f2facbb1e9c9e3d7f389fbc77bfe13bb11aa9bd70bec53ca6383ebc817a413b687633bda116153d994319bd5c14273c7dff90bdbe6da0bb3f08aabc77ea3f3c7a779cbdbe1ab6bc8a7f8bbc55414d3ca83090bd9b67f1bc43ba89bceb6d4d3b5d5756bd8f5818bc219a9ebc9e4ca13ba99c09bded8942bc6aaf33bc8d731fba669c66bc5b329c3bf29652bc3933f838b382553bb3b2803c478328bc6f39cfbabca7763c2306ff3c32c445bc55bbd2bd8d91233fca0f243f32adcdbd6ab1d9bdefc61b3fe8e4203feb3ce1bd1b84b3bdcdab063f9498133f057fc7bd682895bd0c21d93e90e9fe3e0a5cb1bdb6844dbdffdf9c3e8e61c63e5f0688bdf9940fbd981f4a3e94e5903ef28660bdd2bd93bc0d22bf3d5b962d3eb8cb16bd7c3bd9bbf01a453cc2ea8a3d1cb895bc9e0c1b3a266355bdf1a06bbb84514ebcde206cbba66cebbb508ecfbaf89ebdbca90acd3bf5cba0bcf8aa83bd7a2bdaba1b2f553bf14dd1bc4a59a9bd8a68c83be7b5103b896ebdbcf7ce9fbda0165e3b0156793b20378dbc5c5c87bd2b6d8c3b28fa0cbbb2f309bc27242cbd9906b13b9d0a2fbb51914a3b6a5290bc3224aa3b6292a4bbc08c2b3c7ff73ebacebab93b2d79d8bb11bfbb3cb714a93c6dbe0f3a757289bd29b8cf3e5bce5e3f40b808beaf9c90bd572dc33e12895b3f22ef11be9f0d7abd14dfa73eb482473fd0ec04be540d45bd6271873e067f273f57c8dfbd383712bdefaa4b3ea533023f5f1fb9bdd218e8bc7f4f113ec80caf3ef45a80bdb6858bbcb361a33d8e3a373ec1e017bd3e64f2bb782a013d546b3a3daf2285bc66e1d8bb430a7fbc699728bd7aec24bc260102bc99d1b93c58cd50bdce6b6d3bb30d0abbc94eaa3c9e7c00be9299b33cfc0226ba9f2a4e3c505d13be2e05c73cac3859ba38a4363c97bb0abeac13e13c481018bb9e33fe3b55cadbbdeb78a03c9519b1bbe032ef3b32c7a0bd2b0dab3c20a1cabb126f1d3c45f325bd5d9da13c7c72fdbb11f5523c60eb54bcf0408b3c508fdebb3a119c3c15b61f3cc2a5fe3b489a0fbde2824a3e90f3873f106b18be62750fbdc185323e0af6873f25c62abe9024f9bca527193e95c2753fbdec18be9703e4bc5d00003e9a544b3f2965fbbd4ac2a5bc7a89d43d4f7a193f8269c2bdc67b89bcaefdb43d9117c73e997983bd525a4bbc4ec8843d5ff03f3edd1812bd9b6822bce224373d13e9a93cca7617bc55fab7bb5894993c44baa3bd11489f3bc17798bb6fd52e3de4f206bed93a033d25680cbc60d5403d8c5b26befd14383df34886bb2bf70f3d4d073fbec46e283d42dd99bbc9a7eb3c6b5a35bef8b81f3d548b90bba10aae3cdf1210be564d043da937c6bb78f1813cd250cabd5db6eb3c2c7f01bc9c741e3c6b2057bd0720aa3c789d17bc4b73fc3a8243f4bb50b2613c8376fdbb6daa893cb2e1e03bdfd5943cff2fa5bb65419db9606ea93fad733bbeee8f1fbc93269f3c9e9b953f0a921fbe8f0f17bc3ef5673cb70e8a3f428911be1568e8bbf5078b3c3155633ff6f2edbd2461dfbb53cbd43c092a283faf5ca7bd4766c4bbc6aa143d09c0d63ed7ed51bd4a12c1bb904d2d3da57a433e338d99bca277a4bb4f7b443d2e68d53b6342193c741ebcbb7c1a143d858d18beb0599c3c00000000000000000000000000000000a54a71bba2ac423d200454be527b303df0d2a2bb1094273d918847be1395183d1f6d60b92235ea3c96bc3cbef6cdfe3c73fe87bbcbbfcc3c7c9c1abe4d3adf3c5d88b7bb72d7943c0267d2bd6529a03c4b8bd6bbf401f83bb0fa56bd94625d3c9f3f05bc0302073c39c08cbc787f2d3c0000000000000000000000000000000000000000000000000000803f00000000ca8e4a3cb155f7bdd11daa3fa971fdbdc29b0b3c2dc1a3bd23c18c3fcb23a5bdfd01913bd8b66fbdea846a3f62d882bd4112a33bb20a27bd8e7c2e3f15b93cbd13dc883bcb367fbc4515dc3ec4acabbc344d5a3b6ec9fe3b59354d3e97dc85b97de6393b5942cb3ce57386bc57a1913c000000000000000000000000000000000000000000000000000000000000000088470a3d0ab325bebce817bc1c8b943cac9af53c67e320be5e6dc3ba7e82643cbd76c03cd99e0abeff4f11bce187553ca340b13c510de4bdac703bbca713653c58f0a23c605da9bd80494dbc3ff8443c8791833c771a3ebd0fd325bc033a0f3c5fcfaf3cbf09cbbce2e25dbce63b463c00000000000000000000000000000000000000000000803f00000000000000006289e0bd8c87aa3fb5c3c2bde41f073c06c29fbd76c88d3f222785bd39e7923b342b7ebd2f6d673fe6d84dbd39e6813b8ad043bd35ce2e3fbb4624bd5301a83b1c8f07bd9394e73e7e64e6bc7d7ec23b35e98cbc8f6d693ef3db8cbc1bcaa83b919a2dbc55f8f13c10a773bca930043c0000000000000000000000000000000034f5483d5d2a32bebcf84a3d2acee2bb83a37a3d9fa56bbe0752973ddf3a58bceb26523d98f562be4f13773d24b12fbce4a1413d657c51bec6aa683d2a3c3ebc2f85313d341b2fbe21675a3d177d45bc2055213d8f5f0bbe2555573df1f64ebc0755123d2d2dc6bd2841493d29885fbc1204013db91472bd49ec4c3da44169bc63d9323d993f87bd13373f3dc9d325bccabe14be472ba93f7e45793b17cb32bb8b7213beecdc9d3fb4e4853b706af5b9dc0eeebddb62883f4c93723c7dd69f3805ddc0bdf83c5b3fc538a43c772ec23986628ebd8f64203fec20c03c6bcb5f3aeadb49bd1486cd3e51e3b63c3de2453bd4f6e6bc13ee393e6b5cb63cb619b13b65dcebbb043b22bc5031c93c99ecb33b03c20abb0c68f5bd838c9f3bda203a3be2d6513d614c48be2f20043ea7df3fbd2b89673dc94e72be8bd5023eb6cd39bd01745d3d8a3c6fbe98cbee3dd3b233bd89c14b3dde9360be8067ee3d33be35bdecf1493dcebc47be4e99e83de29632bd7e7e413d13a429be0c90ea3d836e33bd9ab4373d98a00ebe7331ea3da75330bdb8f4353d7686ecbd9994ed3d7b3e33bd0916313d58a4d9bd02bf013ed8932cbde619ddbdbd1e833f26b03c3e8ba087bcdb27f6bdbe92803f0d8e263e3c8f56bc787ecdbdceb15d3f2b70223ec9a06bbca1fca8bd2a17303f6a630f3e50bc29bca80780bdd824003f164cf53d4dc40fbc518a40bddab3a13e8d10c53d0fffcfbbc4f9f0bc3a42123e424a903d3d9274bbcd944fbc1cbcabbbe47b353d7e38e238b8d995bafe30d5bd8ebbc43cdafd88bb6990333d2e2040bef73e3b3e0682a3bd3e1d493df45c61be00a7383e1acfa3bd30253d3d4d515fbe5b1e293e9fcb9cbdb27c383d787153bec7cb273e14f09fbd404e3b3d316843be614b293e898898bdccdd2e3dc55d2abedcc2273eca3593bd61172d3d26d314be2044293eb57492bdb862333da06605be2448313e9e7a90bd96a0283db988f1bdc15c343ed1f188bddb47acbdbb39463f62a6c53e528310bd3e69bebdebae3f3ffa5db93ed83900bd6f319fbd9235243f3b17ac3e5bfdf4bc24a581bdb4c6013f616f943ef761b6bc2d5e50bd8f9dbc3e0421783e918ab8bc892914bd493f693ec59b3c3ecbee86bcd1c1cfbc5930c93d918a053edabe51bc85e464bc7eac75bcac0ca23dc0a115bc93c0c6bba705bcbd136b263d1d2330bcdb120a3d57c929be3741593ec58dd7bd5a331b3d7b043dbe8e6b4a3e5e11d2bdcd9a0c3daf6436be0803383ea69ac4bdc0cb143d795535be7e9b3a3e3724cabdfd6bfe3ce4381dbe4ddd353ea517bdbd5782123d71b21abee5433f3e0ec7bbbd3715053dcae801be9f743c3eb9acb1bdfbee103ddb67f3bdd600463e14adafbdaa0f0e3d2607d9bdecc84b3ec135acbdb1a577bdaf810b3f8669193f739158bd4ec87ebd2bea013f010b123f04bd51bd7bea53bdbecddd3ee9c9033f81973ebd9a8a36bd6401b03e6171e43edde624bd2e3c06bdb0d27a3ecfd8b83e8a7614bd46f4d7bc8ae3193ef1b08e3e555bfebc0649abbc154b813d87a3423e8345d0bc05ba4ebc101f98bcf600e93dc95ba6bc4acebfbba0f2a3bdb845643db86ba3bcf1a0b63c10d8febdb3ea4b3e2cd6e0bd0653c83cdc3007bec944233e61acd7bd7236cb3c03b303beaa16133e1786cabda0c2b33c5228fdbd47f6153eb13cc9bd2ae5cb3ce1b8f7bd0b241c3e1a43c5bd3050a83cdfb4cebd6fde223e1bfcb7bd3818a83cbeddbbbd4d4d283ec4f4aebd040bab3c7e11a3bde7f12e3e4c66abbdc928a03c514d8bbdaebe3c3eef9eadbd91b33bbd5b76b13e7531523f335b97bd291e3bbd57b3a33e18f74a3f1f8a91bd95fa2bbd74a08b3efbf1353fbd4383bd38bf0cbded815b3e0ebf193fa83b61bd25fce3bc9b531a3ef025f53ecaf039bd3b5ab5bce041b23d592eb23eba551bbd63087abc3e28f13ce0d0613e48cdf0bc5da022bcb5c0cebceddfdf3d91a29abc004fdbbb5e4a82bd2ef92b3d8fb2c0bc8c16f43bff8971bd8df8e93da084b4bdb30af03b3d225cbda9c5803d5f79a4bd6cadb43b0c3e6cbd2eb2403d977f99bdda7ccf3b395960bd42c2643dc7d196bd1535a03b39b753bdf765923d569696bdf52fa83ba74e39bd8d61a73d72238abd088aac3b111120bdd6afc13da38c84bd06de893b9396efbc1417e13d028579bdcfd0503b2c92babc73fb003e993382bd921fddbc469a273e79a9853f57bbbcbd65fee2bc1d30103e0166823fa1dbc4bd02e9b8bc452af73d278a683f2de7abbd34bfadbca12cc13da102403fa8808cbd901b85bc14ee853de932153ff65069bd3f087cbcc3941d3da661d03ebb652dbd64452bbc340f323c87b26d3e0ac103bd0afe23bc9f3368bc1749ab3d633ea5bcba58dabbc81911bdc3d49abbb94098bcfe86dabb8b771f3c244af6bce75333bdbbc7dfbbcb3d983c7b5fcabd4ce533bc3813e2bb3f8d193cd8d7b5bd4154acbc24a0bfbbb7d8a13b092396bdd380bcbc8940d0bb4d4d233bc5bb4abda5c7bdbce8e3d4bbe3baa03a878ababc556cadbcd55ff0bb6c78053b28ddcd3ba93facbced7ae2bbb04a213942a2ff3ccc1a80bcec4b27bcb929893c13a5ef3c435f9bbc63f93abc454eb6ba1defa73fb8d903bef10e46bc6e6320bca0619c3f67a2fcbd95c12cbce663b2bb1ffe883ff75fd2bd20a22abc983c6fbb52745f3fa19ba9bd4cdf1cbc4eae3abaece4273fe6cd83bdda23e4bba07780bb2666df3e961341bd2b5900bcdafdf8ba396e5d3e2bdbf8bc8d4edfbb39f3963b0da4a33cd8a33fbc272596bb578c33bcb280a4bdb38188bc00000000000000000000000000000000c65e31bcc2cb293dd70531bedc24953ccd6d12bc287a153da9022cbe9443a93c3b8208bc0e24ef3cca3b16be91a16b3c755c13bc3203df3c237b00be746b663c338713bcb441ca3c5e2dc4bd59b1443cc52514bcf6b6af3c44b277bd4a9c413c853e41bcfa45e03c386f27bd9be25d3c0000000000000000000000000000000000000000000000000000803f0000000066bef53abe66c6bdea26a83fec14d1bd4eda1a3b61328cbd0aa48b3fd1e893bd1488e8ba0afb5abde106643f53ff6cbd8c4987397f6631bda0572b3f339b3cbd21f236ba9449ecbc0c3ae13ef2dbf8bcaef79dba980581bc22175c3e6f7085bc0aaf39bb5094ecbb9be7853cb90637bc000000000000000000000000000000000000000000000000000000000000000086d570bb362e81bc9e02aebcf672a83a6233ecba9bfeb6bce29a8fbc9d48473b78750dbb84f1bbbcfa3276bc25916f3b65ead3ba4618b1bc7da64fbc8c19dd39c1ab49bbe8c8a8bcf6144abc02eaa93a9ccb61bba89b94bcfbe644bc618c763abce259bb52be5ebc237734bca56677b900000000000000000000000000000000000000000000803f000000000000000010a43dbddf3f873f48e459bcbb35aebb6576edbc7416623f8afad5bb9e997ebb3ee1a2bc1e16383f3ee69cbba88083bb26d453bc6be60e3f9c3a95bbc2eacdba714527bc9dc9ce3e0c0e04bcbc3a83ba26a014bc5f1e823ee4b54bbc5bb4083aedba25bc1151db3de00094bc0f35da3a0000000000000000000000000000000053453dbcb17b3a3c47b081bc8ea6b7bbf3e10cbcbcd220bcae8bc3bc74c88dba27d19bbbf78f9abcda41b4bccf4a92bae9376cbbbe0cafbc0d22a1bc0c27afb7fe4f52bb2e57a6bcf8d58cbc84c589b98a6d6cbb83c1a4bc69638abc1de842b920164cbb946591bc0fd776bcfc39f2ba13db5cbb5ec324bc50bf49bcb9ea92b9f93411bb7078313b38a30abc58d414bbd0889bbd1065883f4cc3f43d8c49b2bcd6a7a4bd00307f3fd924de3d0ea6b9bc2a6f6dbd822c573f46dcc93d982c9fbcce162ebdf5562e3f8837a83dab606fbc585bfabc2ce5053fab09813dd30b3fbc3db5cabca63ac23eeea32a3d5bbb21bcc4c4a7bc99a3713e9d05a23c5aaed8bbffe59ebc98b7ce3def0590bb047d7fbb148f81bc3ba04dbc4d368cbc48037dbb9dcd5dbc9e98943c3295babb35222cbc2c3b40bc149cc03bf12a72bc9c5710bc3abdc4bbbd17bcbb190278bc750b9dbbb25fa5bb07b535bc699f9abc01679abb542643bba2652cbcc9346cbc183449bb2d4155bb73604bbc2cfe80bcd74e3bbb8cd21dbbc16e0bbcace14bbca92b10bb4c772ebb58ea38bbd9892ebcd08a00bb738b3fb70d6e893bbe74b3bbd3da35bb2ac796bdbb4c663f3d0f8a3e9ee20cbdd61ab2bd0e3c5a3f90fe7e3ecd3329bd848671bd7b6a343fcd745d3ecdbc00bd84395abd730a193f70be383e4cddedbcdb3017bdc768e83ed2e60d3eca93acbccd3107bdbd13ac3eabeecb3da294a5bc87a4c9bc8cd2593eb03a763d64d580bc7b15c0bcfd18c83de055a73c7bce5abc480c86bc1e0612bb23cb2abc73821fbc292b61bc0cbe903c076cdd3ab3037cbc27ad4fbc4b092e3c8d6cb3bbf42d79bc15560cbc47250bba898940bc1fdd12bcfd6991bb0792dbbb37f860bc259ed9bb8e7269bbe92609bca0d05abcfec2b6bbeb4909bb68dc1bbc776f3bbc854ebfbbc31d39bbfc05f9bb526a41bc9e5076bbe1d124bbf0fd54bb04cadcbb475701bb929faeba3a96973b01ba16bb662a3bbb664484bd0c7b3c3f111cd73e8bde3dbd267ea1bdfd6d323fdec3c93e2d3869bd767085bd6f161a3faeddae3edf2747bdcff752bd55cefc3e432d903e672520bdeb5228bd6674c53e7629623eb91b06bdf65e05bd0e6f903eec94233e1b04e1bc0d82e8bc68bf393eaf5ccc3d7ac2c3bc4065c3bc557fb03d927f343d6607abbc13b582bcf086243bf76b9fbb1ad265bcca4e5fbcc33b7b3cfa8c123c12b394bcae5452bc7cb0f13bc2ffaf3ad6118abc2724f4bba23968ba734bf7bbb6ea3bbcfdf291bbc426b7bb23f533bc586713bcd0ec4cbb0460acbbe1c80ebc074ab2bb666265bb68070bbceeba3fbc83f0c4bb7df95fbb84acc1bbe99b1abc122474bba45ff6ba33e42dbbda0ec1bb719c8fbb047de3ba9bd3a33a00bd8639b13236bb509e62bd1dab133fde57133fd2ca63bd328b84bda4ce0a3fbb100a3f22ce87bde4ae4dbd7b84ed3eded4ea3e048758bd619f3abd2858c73e7efac43e218144bd7276e8bc27e2953ef2e2933ea164fbbc9b6dfcbc3d3d663ea798603ec1000cbd3b0bc6bca3c4113e1e040d3ee3add1bcac51babce7918f3dce2b813d0d1acebc5bd474bcd0fa3a3b230cbdbac09b8ebc28444bbc5c13103cb36d513c5d9aa5bc20eb3abcfe80ef3aae69193b76a7a5bc5f23c8bb166c95bb5df5fbbbbd0c65bcb5f4aebb1b1dd0bb926146bc727f4fbcbfd944bbb91b17bcf70649bce36006bc848c2ebb800c2cbc69ad44bc6e57d6bbccf836bbbdb81dbc159918bcf4eba3bbaedc03bbde5bc2bb83ad78bb823e6bbb50dc30bbf77953ba3cc73939354b26bbd0fc37bd0ff4d73e88bf3b3f4d3a85bd855464bd7a82cb3e77ff313f53f9a4bd10f13bbd0ad9b03e04d3183f224489bd310a1fbd75a1923e1a7cfb3e0d5e62bd2414fbbc2245673eebf9c23eda6538bd38d5d2bc0990293e83d18d3ec7551dbdf4ebb1bcb35bd93da4e2343e4c140cbd1af996bcecb64a3dc485a63de68af2bc64074abc8b116f3a05d2cb39ba5a9abcd3c32abcb4fec53629605b3c14c1a3bce98704bce439bcbbcb702c3af9e2acbc705e80bb1b7f0ebcb39523bc8ce654bca2a129bbb65a3fbc262a78bc1fa637bcb5751dbb391c35bc5ad25dbc90d507bc127259bb462e53bc3afe60bc0b8efcbb778e0abbd79432bc258d2ebc8a4cabbb9c1c34bbc99728bc41d19bbb37b388bb1c2406bb126088bb9543513b726a34bb006c0ebd9da08a3eabfd653fb4d598bd951728bd25ec803e7064593f5911b6bd550efdbc950a613e3b9f333f338f7dbd8d49e1bc455b3d3e1ba4173f6ec56abda79da7bcdfb6123ed5b5e63ee4b12abdda61a1bc6db1d93d38d7aa3e84f61ebd8fff70bcbcc2873de5ea553e1323fabcb5945bbc862edb3c850dc13d9193f0bcdbc92fbc3d63debb0ebac6bbfedfa6bc139ed8bb134314bcb97ad43b258f9bbcd19e2abba8597cbc6d5a76bcdb9d89bc3bec57ba945475bcd8f7c1bc98d851bc8fcfbab987f175bc1df1c4bc401426bc57a17eba59f661bc2216b4bc401100bca54b90ba3c6774bc9176afbccfeae4bb072ab3ba2ffb74bc255290bc24c6bcbbbee509bbde455fbc11bd20bc8c0f5ebbd9354cbbc2a90dbc1467813a115933bb1cf3b4bcd0a3f53d3d60883f59b89abd17bbb8bc3f43e43d72647f3fdfcaabbd739594bcc04bd23d3da4563f14527cbdd6f070bcf425b23d3fe22d3fc9f542bdd56d3cbc3fdb8b3db176053fed1615bd453020bc67d3433d7dcec03e4e7b01bd5d4cebbb9d1ad23c0708703e3709e6bcb966b8bb8a33453b2633ca3dce2fd5bc83aba2bb1a9647bc24a469bcd791abbc00000000000000000000000000000000704f1b3ac7bb7cbc9ca68cbce74732bc4612be3a0c8356bcdd97bfbc01da01bc2952993af0073bbc5ac9bdbc253bc4bba3f2a03a91b84abcff1cb1bc37e793bb4c1de3b992c344bc1be5aebc4a35b5bbc75b1cba3e4547bc729594bc979e91bbdaa8f1baf2e950bc02ee3fbc95247cbb0000000000000000000000000000000000000000000000000000803f000000008b38c3bb773a37bc9225873fb78a45bdebb086bb863963bb05f0613f7d1e05bd907166bbe58352baba97373f31c8bebcfebaf1bae79de9ba20710e3ff6729dbcbeac8dba9a3f8ebbd75ccf3e0c5167bc92d5abb99aa604bc13b7813e4fdc70bc5862a939f5e666bcb341dd3d493987bc0000000000000000000000000000000000000000000000000000000000000000741224bc7fe8593c34d254bc98ac2bbbab10e5bbadbb4f3b819d25bc4b9b9db907c9d8bbe5fb08bb83b20fbcf045dbb96c30b4bbcbc681bb97e012bc26122f399f73b7bb0c40afbbfece16bc4346383844c7bebbe997babbe81d24bc3063343a246fe5bb685bc9baf6f043bcf82dadba00000000000000000000000000000000000000000000803f0000000000000000a49ecbbca9127a3fc9006abb81a60fbccefe83bc51b2533f7ab606bbdfccaebbe60950bca2a82e3fe6dadfba629496bb2a511fbcc5be093facb682bb817161bb79a21fbcf77bcc3eb75acbbbaf032bbb754728bc87cf853e110d25bcf0f1abbab8ad5dbc6eea013e4b3c80bcf3f381b900000000000000000000000000000000ef6799bc0712093de37c8bbb6c8130bc45ef96bcd7abd03ce0060dbc247d1fbc722d6cbcd3116c3cd03d0bbc41f1fbbb2b9944bcec96e93b978316bcb5a4b4bb8c382abc3aa3353bffda01bc50ada8bb2e0f26bc8eb4633a955c21bc8721a7bbc7731ebc68695d3af71123bcb3528bbb670413bcd16d683b66282abcaf3b61bb01dbf4bb96ec1e3c6519c9bb25609dbb31c737bda4657c3f6b8c053e2f6db6bc594b3fbd7fdf653f72b7f03db19bb7bce54e11bd618d433fed40d23d2ae598bcd3f5ebbc5d75213f46deac3dff0d86bceb34c0bc1483fe3e607a863d494867bcb916b6bc1473bd3e1f4e383df92b46bcc6d9aebcaadd793e3048c73c38b323bc32bab3bc67f7fa3d08074b3b798609bcae6a9cbc20da163c10be25bc65be06bcdfefadbcd21c093d1ba7b83bd0ae9bbc3eb0bbbcb93c083d84a00e3b5e0ba8bc2b1483bc0d2b9f3c8dc0ef37a9fc70bc76fc69bc967a7d3cd6122ebbf6c466bc3f0855bcd18e3d3c88d98dbbee7d31bc252b56bc2b69153cd3ee9cbb5b1336bc4cd822bc979ae93b830683bb539710bc4ffc2bbcdf6a2c3ce0bc91bb396215bc51c2febb3cf7333c6449c9b99e7410bcc46046bd3581573fde918b3ebfb000bd198866bdf183463f087f7e3ef38818bd603520bd7d0c263f0a1e593e04dce4bc598c22bd25590d3fdad5363ec76be4bc322decbca2a1dd3e41680f3e515dafbc0809fabcd21aa83eaa6bd33d97c9b5bcb50dc2bc29815c3e045e863d46bb8ebc199bd8bc253feb3d1e45ea3c6c8193bc4001a6bcd824733c30d0d8baf7f365bc1458b2bc68a2093d8fce473c5f16c6bc7f97c2bc86ba053d49c9443c68cfe0bca186a8bc26ecc53c0960f23b95f5c0bceca173bcf1c5933c03ab793b0c169ebc60645abca2ec4d3ccc85cd3a91a78dbc9e2652bc9fa5343c87afcfb8c38a83bc832f48bc40f6183c57a921ba5d7768bc6f3034bc559d443cb41d9c3a392759bc4a0e0abc93b2583c47305d3b6dad3abc37d840bd017b333f6b2dd33ed1261ebd752f65bd7ee5243f0367c23ec74641bd353547bd8f580e3f72fba73e78352abd685428bd2d2ced3ea4b98b3e194813bd3c2f0abd69bcbb3e4d365d3ea2ca01bdf484fdbc482e8e3e5b25253e6b7fe6bcaf11edbcf397403e9560dc3d40e4dcbc5172ddbc75afcd3d4caa5a3d1a4ccebcefcaa7bc52ed833ca85f8e3b09aba1bc3bd3a9bcf27ddb3c5691a73c0d9bebbcdb88b4bc835ae43c7f36a03cd561fcbc0d188cbcbe939f3cb1594a3c871dd0bc3a7080bca2477f3cc296113cbcbababc82d831bc940d263c85dfa73b735687bcbff860bc7e92243c24ce803bdd4298bc42fa2abc7d5d053c1ce4623b6bd280bc661136bcb3ac273c6d3eb73ba6997dbc02320cbcfb25383cd46dec3bccd657bc77f82fbd646f0e3f3b2c0e3fe2d436bd0f7a54bdffaf023f629d013f983054bd5f3925bd7d78df3ec93fde3ef71131bd1a471cbd5a48bd3e3173bb3e460b2fbd455ad1bceed1913e3521903e1a1deabc3608efbcf65b643e540b5f3e11400cbd589bcabc7201183e8fb6123e0feeeabc936fcfbc5faba63d53559b3dd655ecbcfa039fbc7d9d653cc7e61d3c7595bbbc9f329cbcb17cab3c5639d53ca4fb00bd0fd9a7bce065ab3cd06acf3c0e8e14bd6e1889bcc329743c41f1853c8f1aebbc23606abcd4f6343cda2d183c955edebc24fe48bc2b7c043c286f0f3cdb90b2bc503534bcfbccca3ba067883bed33acbc1ff935bc3201a93b466eb43bd67893bcb90b24bc2202c93b345eeb3b8fa68ebcaa9afabb9d02d03b27ea173c28c066bc77221cbd19bcd43effbc323f862449bd4bdd39bd6aa8c33ed292243f8b5574bd91c91fbd3120a93eba590d3f4d9552bd4e2005bd1cfe8d3ebb98eb3e70903bbd9273ecbc45f6613e9fe2b93e76b81dbd5497d5bcd9c62a3e3efa8a3ed4be18bdba08c7bc3739e63d7bfe3a3ea9e109bd9e17b5bc21af743d2ddec23d138306bd8a8b89bc6edb063c88c9433cc6a3ccbc669c7abcf83f4e3cc148ec3c9f8e01bd940386bcf0c5353c4edddc3c464e14bd8dd139bc5799e33bb1c96a3c7dead4bcbb7836bc11fe9c3bdd37373caaa7d6bc227509bc708fba3a5f4af13b7d02afbcac8517bc64e9a9394849763ba6429ebc2aa0f5bb2db795392e667f3bcc8e86bc7e7e09bc33ad3ab9bf8ed93b72e58bbc88b7ddbbddac353b6bd5143cf26861bc8ec0fcbc3a2c8c3e810c573f9a204ebd085214bd1072803eb031463fdb5f75bd5893dabcdbeb5b3ee184253f90422fbd547ad9bcf5453b3e07cb0c3f4d1734bda62fa4bcc0c2113e1b3bdb3eb41312bdb3c8a8bcbd3cde3d67e1a53e34690fbde4b983bc5d47913db944593ecb28f3bc1ac783bce9770f3d85b4e23d9ac807bdfa7e5abcfd8b4f3baee1343c31e9d1bc225c32bcf6d9353ba67ce63c9a4ef8bc912419bcda0b3fba11b4af3c3aee01bd7914eebbfa559bba4ccd303caec1d1bcc572c9bb048f37bb3ad88b3b9d2db2bc7817a6bbd13a94bb66191039d30993bcfeb7a4bb28fad0bb37c2d6bafb498ebc7216aabbad62e9bb0eb4e0baf1037abc6d7aa7bb414b02bc9b7ab03aef7c66bc21f1c0bb996381bb8b8ee73b44cb52bc6d76b1bc4ef5063e8fdf7b3f6d913fbd810cb8bcd93cf53dd3b4653fbd014ebd9cf595bcfb2bd83d81fa423f102c22bd104061bc2f54b53dec02213f60470abd5fc84fbc6d168f3d73a1fd3ee568f3bcb80b46bc7298553d7bb3bc3edf4beabc658124bcf816f13ca979773e4b92e4bc9e370fbc98730d3c4454f53d0a5bedbcf4e010bcbce9b8bb0f21d23bd99bcebc000000000000000000000000000000006e8020bb284aaabb76c12c3cc65b96bcc80eb8bad1e3b7bbb083023b77046fbcaa2ab3ba6a0ab4bbd0d905bbeae14fbc0942c8ba631bc9bb6ebc96bb24e224bc9d2ad4ba457ee3bb8706b0bb594f25bc7acee1ba139115bc63a3d3bb25bf0fbc896eeeba2b521ebc1eda48bb16ec1bbc0000000000000000000000000000000000000000000000000000803f000000002c21f9bb2bb7d4ba14277a3f0b12e6bc4978b6bbf63120396953533f36269ebc50109cbb94d5163ab6552e3f22eb82bc28ea55bb5a808dbab2a2093f54615ebc4fca53bbd49d49bb4f85cc3eb10b6dbcfb870fbbb651e0bb0b95853ea36075bca18da6ba205e29bca125023e2f9199bc0000000000000000000000000000000000000000000000000000000000000000db5492bb38ee1b3c87eb26bba0ee78bbb3fc6fbb5a4cec3b949bc1ba34502cbba60371bbe31ac43bb406c8baabeb05bb61f45cbbb5ddb63ba687d0ba4dc40fbb5e9f33bb669a933bd0a4dbbab490e6bad0367cbbd9f0ae3bac16c2bae1dc0fbbe91995bbc0dfb23b425c5aba2f223abb00000000000000000000000000000000000000000000803f00000000000000005418c6bb2f91643f79773e3a03ae89bb9edd9bbba9c8433fc0e8b6b9aa5446bbbb5b96bb8129233f46f000bae6b921bb26398dbb78a3023f074e53ba62541fbb297e86bb2a2ec43e7db394ba14aa08bb9f21a5bba1ee833e92dea3bae1bd1fbba0d9c4bb56be063e368269ba0f1c4fbb00000000000000000000000000000000a3fdcabba1d7493c4bd16d3a4815d2bbcc57f7bb063e663c1d252f3a20c8e7bbad38dcbbf75b313c338f09bad4a8b4bb8f3d9cbb1e3d2d3cfbd8b039bc04f2bb5b8de0bb5af81b3ce40152394efaadbbce3acbbb4ff1193cd5558b384257bbbb8309ccbb0cf0143c7498f83841ecacbb6a87cdbbb2fe223c821d9f39b412c4bb324bc1bb4dfc033c0f8f973ad001b3bb4ad010bcb5dc643f0652023e180ee1bb219f2abce3004a3ff512e63d38b3ffbb09ac13bc98092d3f58c2c33ddb5dcabb346e0fbc58cf103feb24a53d4191c4bbe7400ebc7bc0e73e5ef0833dbdbfbdbb82e705bc792aaf3e53af463dc26fcdbb186409bc50536c3ed419043d0358bfbbccad0dbce13ef73d5ceb853cee43d3bb34b602bc11522b3ca2b2ac3a2ae0babba00e06bca604553c069d763bf5d309bca21d0dbc47d5763c82c78e3ba8fa27bc6834dabbf12d313cd4a53c3b160ffebb973c03bc52c1463caebc563b80aa11bcf4b6dbbbddb0273c137b2a3b25b4fabbbe1af7bb7c5e353c43e9373baff30abcf07fe0bbcfc4253c5b3f373bff8417bc724806bcd7da3a3c21424a3b315a10bc37e1bfbbf3e7243cccb63b3bc2a2e8bb33ef35bceba8443fb607833eafb612bc63c847bcf2d02d3f1def673e51a135bcd08e16bc314e143f45d9453e5aee07bc48f331bc61a5f93e1abc263e04381ebc1ab815bc2592c73e741d053e8e5407bc413228bc61b8973e6b75ca3d52a315bca83314bc27b04c3e10a2883d3ffdfebb363235bcfc4fda3d0e35113d49261abc066b04bc344b2b3c2b09603b465ff7bbeb93efbb0cf4403c208ccf3bb45d39bc29881bbcdf165f3cd95f093cb84f40bcf38409bc49ae4d3ce673cf3b28563fbc584f17bc91093f3c0585ff3bf78e3bbcd28efbbb2ebe303cc6e6ad3bb5cc28bc02990dbcb3973f3c4c73b83ba4bf2abc173ffbbbd8a1353c802ab03bf12529bcc6dc0bbc59373f3cce8dc33b0cc72ebcab6dd4bb05f51d3c8fb39f3b49cb0abc88ee27bcd3f5233f86c4c43e6ac641bc8cb557bca8f7103f0dbbad3ea6624dbc5c0f40bc5a68f93ecaa1953ed99f4abcd5b438bcc5fad03e1d8f7a3e534146bc7a6f2cbc4095a73e4713493ee12333bc06493bbcf9427f3ea5e3183efec633bc07722bbc07802d3ef5bfcf3d071e34bc24933cbc6e4aba3d561f5f3d64613abcccf60fbcdb6d253cc5a6be3b8bf011bc762d09bc2870283c7f2b043cdd7329bcb9f714bc1d33503cc0c11d3c5ed472bc56a8fdbb378b143cdb41063ca43b34bc343a03bc8a99263c2e4df33b76672fbc00dbc8bb9219ff3bbbbeb83b1e8113bc666409bc45411a3ca67ce63b630e37bc7822e2bb04721b3ce28abe3b25f923bce5bffdbb62162c3c177fd63b715436bc1d37c8bb4c5f0c3ce9dbdc3baa371fbc220a35bc423f033f3e0a033f593a32bce6d648bc5f73e83e22d2e73e5d9b5ebc0ba82bbcd180c63efdd3c63eedb63ebc445f31bcdf29a73e9d81a63ee1ca58bc62b907bcf139853e2eb4843e62f019bcf90617bcfe184c3ee2f34a3ea6d63fbc260b18bc53130b3e706e083e9b402ebc86512bbc7422973db44d913de8d641bc2ce004bc09f50f3c0f3f013c0cb128bcc824e9bbd95a053c9fbc1e3cafc93bbc0f0d0fbceac4253cc8413d3c998769bc362903bc3591123cd83d273cca5a6cbc4f3cfbbb99ce0c3c6d01053cf38251bcda8feebb482c023cc2b8093c0b873cbc1f97fabb034f013c9185133c17db4abc01edfbbba6b4033c60490b3c90933cbcd38de5bb2253003c35ff0d3c1fde46bcee34b5bba210ef3b8c99f93b355615bcadf61cbc5eedc43ebdd6233f5ece44bcb09841bce495ae3ec4ec103f8f7575bcb14f31bccc0f963ebd00f93e42cb57bc86ce28bc7fae7b3e3b92d03e14c25dbc57d31ebcea4d4a3ead10a73ef34145bcd91826bc5c341a3e99bc7d3e3cb15abc072026bca189d23d06222c3e6eaf47bc16151cbc690f623dcec1b63d1bb253bcefce17bcc985ef3b7603143cc23b1cbc2a45cebb9a56b73bf06d323c0bd34dbc8a3ef5bb2c510b3cbb66433c37f064bc4c49bebb6bcfb23b9d431f3cf49d32bc7745d4bb8092b93b7329223c2b4046bc226cb7bb8fbf9e3b62f2073ccf7229bc2ae6cfbbf6b2b13b60b7113c39dd3ebc2052afbb1ac0903b051af23bce7519bc90dfddbb8015c53b7ac0203c6fe553bc7eaeafbb77e0a93b34c80d3cdbd423bcb46506bc0d2b833ea16b443fdbe435bcf2da22bcce4d683ebdf02d3fcd846cbc6addfbbb2625473ee27b143f70e741bc076e0cbccaaa273e972af93e19804bbc4c1af2bb5732063ea521c73ebe582fbcd31b08bc787fcd3d6d3e973eda1247bc3155e3bb5b018a3dc2b34a3ecb6e20bc54d60dbc0b02193d7b44d93d289e5fbc779fe0bb04b89f3be30d223c40082ebcd2609fbb056cb53a1b6d403c93d929bc2a27abbb19f3393b9d753b3cd6bf37bcd78294bbac341f3b8c161e3cca062dbc5be59bbbc98c1a3b7fcc123c708527bc25f988bbcbbb093b2574043c4c1526bcbb86c7bbe89d0d3b85f0023c145b22bc266b7dbb42a1493b36a4eb3b2dd81dbc80d6a7bbadb1133b8949123c466628bc7fe695bb9e0d163b5f58003cff0b04bcc2d8cbbb146c033e8fff643f362e2cbc3d41debba735e73d558b493f20af37bcb09ec3bbf907c73d48fb2c3fd09c2abc70c3c8bbf1eea63d5186103fd57623bc5e74afbb6af4853dca6ce73ec55305bc4c42acbbad1e4b3d3619af3e702030bc8125a6bbc41f0d3d6d1f6b3edb1e26bc8e93cebb272b903c4a32f73d4c0236bc552db4bb632de13a0f6f113cb8510ebc0000000000000000000000000000000081612abb2fe43e3a700ff33b07d1ffbb3f2c12bbb45b6eb96a99d23bc3eed6bb7182eaba9eb038ba2bd0913bf419aabbcc7702bb2af614ba2e8da23b7deebcbbc8eef1ba98ba20ba4faa963bd221c1bbe07d0bbb3b363aba520a9b3bb93cbdbb131c58bbcbb9053a491fbf3b7ce0dfbb0000000000000000000000000000000000000000000000000000803f00000000119756bb1e17623a92a0643f263cebbb7c9a2fbbe45354394fa5433fc2a8c3bb01310dbb138c3cb9fde7223f6d9ea0bb1ed81ebb4e2c02b91097023fb5f5afbb2f2910bb312acdb9bf5ac43ef0f9bcbbbf022dbb3eb25fbac2be833e9f40c6bbf6696cbb903e333993bb073ef0bcf0bb0000000000000000000000000000000000000000000000000000000000000000c2dfec3bb51005bec2a2b4bc4581483cda0e1d3ac439fabdae59cdbcf4ce353cb40a18bb09b0d0bde482d5bc755a143c13d5ccbbb51ca7bd2903c3bc0832dd3b45109abbf76684bddb6d90bc4410ab3bb2bf02bbf2b139bdba331abcc5a0483b293bdf3a62aeb6bc2d4b63ba2195b93a00000000000000000000000000000000000000000000803f0000000000000000d708b0bd5ff0a03fe76489bdc8b1903b834358bd1151853f89fd1abd2f78433b794d06bdbd62573fa757acbc71f3c43ac75a9bbcf6e5223fefcc55bcdbefeb3aacbd08bcd1dede3e121234bc2af5123b89f62eba9a95743e019819bc18fd7f3bc4e6033b6776583d6be957bc6b60653b000000000000000000000000000000001f5d85ba1c7e87bd2b4c85bcea94863ba1a8523c571d0fbe08a8adbc2fad4e3c1f4e7c3baa2a09bebac201bd5fba343cb3e981bb730fe9bd48d714bdddbf253c12a15abb9d67b6bd0e9c00bd23c0e93b1774c5ba460a90bda609c3bc6af9c53b1398a33a07a93dbd290a64bc97e8c83b57990d3cfb6a9dbc66d6723ae426733b041cee3b2da8013b9e27ef3a624af93a2d5613bebd5ea13f91e1783db6989dbce4c710beac579a3f578d523dd37295bca81ad9bd13c6843f8153873d330490bcb8809dbd1d48563f75f2883d2b2c7bbc14c856bdf74d203f4230683d5c4c46bcf2480fbdf0afd93e6ac4283d947e20bcf29b99bc639e673e221acc3c8b6404bc7fb44cbb4f0c273da012193caf9287bb14a9c1bb643193bd5a4c73bc829cc1ba70aa37bc3facf8bc191b5abc7e0fa6bb8a7d65ba299fb4bdd10c06bddac49d3b04f01cbbf634b2bdb88a25bd762f8e3b45fb89bbc4f3b6bd676d31bd79d8ac3b57bf71bb2fcf86bd82f414bd324a183b887687ba0f4868bd6013ffbcd91a903b44dcc33af2c911bdc3a7a9bc15f03a3b4965053c71839dbc8d1111bce6a8b93b37b6cc3b31cffd3ac445323a7f063a3b9eee09bed57b863f8eb07c3e84d039bdee2a18be8447853facfc6c3e700148bd6092e4bd1270613f3bab5d3e052026bd5473bbbdcd863d3f2c013f3ec2eb12bd3b1484bdd8920c3ffab3173e139be6bc6f7649bd4912c53e558ddc3df4bec3bc19b300bdf1545d3e531e863decb98fbc6bae85bc3802773d422ac03ca3d43dbcfc2e4bbc668c19bd851529bceb1814bcf8b992bcf1a10abc179411bc2cfb5abcb668fdbbfc8b67bdb7801abd986a0bbb4d0bbfbb342b91bda40b48bd1fa454bac7be99bbdd208bbd7a7a4cbdf46b1abad91aaebb3ecd6bbdd95a30bdfcbaa8baa40192ba4c3843bd00d312bdbaad203bb30b193be16505bdd404d9bc05b47f3b9cd4e43b6b1b96bc23204dbc42e8c03b12b3843bb2d30aba60f046bb6333a73bcc63f0bdfc82593fdbc8e23e33ba90bd62d505be44d7563f9e25db3e1f29a2bd60e7e0bdd2643d3f4e0bc53e9e2f8bbd98d4b1bd1e3e1b3ff746a43e27215fbd85198cbd2692ef3e2601823e576740bd33de4dbde1e3a63eec2a393e8ce116bdab5515bd84f2433e8563dc3d30dae6bc454fbfbc3149833d42e6273d12b3a5bc647798bc9b1180bc4a101bbc422a85bc3c0ca7bca41fb0b9f6b31fbc4f6e8dbc533e38bca45912bdac9630bdfd6f12bca922e3bb7cae42bd0f145bbd9a7ec1bb7319bdbbf06955bd1c186cbd98a464bbeb1de2bb914505bd887017bd7434e8bb681b41bbcd9f1dbdb12e27bd4a07dcba205017b97db3d0bced9cddbc29d3be3a63277c3b19126abc350b84bc2b4bcc3bc8525c3b1a6c08bbaf67b4baec1e313b512bc0bda3fd243fb1fc243fb82ec3bd2f55d5bdd243213f84d9203f72fdd5bd7e80acbd2a130d3fd51d0c3fd60caebde73896bd7a22ef3e75cfec3e78e899bde92646bd320bb03e6747ad3ea4af4ebdacc83ebdb2f8853ede33823e4a1043bd3c7e06bd4ed71d3eae60173e4a5108bd7b25c8bcdebb7e3df28b633d9621c2bc031f9fbcec9ba6bb276b31bc1b9d9ebc001570bce77d1cbbefd264bcc2f096bcb393a7bb81caf4bcd43a7fbd6f02bebbfe6236bb3d5032bd1426a0bd943a3fbbc8a306bbe24335bd352694bd2ba676bbbd652cbbd6b41dbd8f717bbd69c95cbba82bcbb9cedc05bd042b4bbd8cb8883a66a9553b5d96d3bc30f00fbded22863bee869f3be4f65fbc608591bc820afc3b09912c3b0d5fd2bab2f900bb0958c03b5de590bda020e33e643f593f6137f1bd5b6b9dbd9d89db3e870b573f169407beee5e88bdb5d5c63e024f3c3f9654e4bde9ed62bd1367a73e65cb193fd900b3bd22113dbd8957853e9ec2eb3e2c8b8bbd625512bd10f83f3ec000a33e055052bd695eeebc5740eb3d24863c3e138916bd9f929bbcf7db3e3dca0a7f3dba16c7bc3c8382bc9105abbb9b02a4bc65f5a1bcdd53dcbb6a81f2bb3e1710bdd38a25bc315e0e3bf9f1e3bcb85abcbdc95ae03aaac9413bc57f11bd6550babd99de1bbbda0a413b943c20bd417dbbbd407c31bb769daf3a9f0a06bda7018dbd71e779bb30ef4d3b1271f6bc82fc70bd58893e3aebf1213b54469dbcc2db17bd9394113ba5e3b03b077019bc11469fbc0a201f3c19e9893bf984d936a575853961a40c3c0fae30bd7a957c3ef145863fb0e00abee9cf4abdfe896f3ee9fe843f27b618be834524bd0578613e32b0603f2b65e6bd8da812bdb7c2433ee5c83b3fa08ebfbd40a4e2bc28cb1c3ea8620b3fb84089bdefcec6bcf098ea3dcfa0c13e0fc951bd7f5a91bcddfb903d9f64583e5b4704bd92614cbc0fefe73c2618683d45d98bbc861b20bc9113c1bb90ed28bdcc525fbc30a4233bf7415ebc050c8cbd6edd793937a5363c613799bcbaeb10beea8c7c3cca150d3c9177edbcd11c0cbead96aa3b3a79f13b054305bd18c2edbd355c43ba4074b53bcf29eebc75f6bbbd5ef365bb2159873b87bab2bcb42a94bdfcd6963a79339e3b56aa55bc4db944bd715b8e3b12739b3b34b60238888aa6bc23a5293c479c1f3b8153833abacd123bd60f0b3cb89397bcd1517b3d1689a13ffef113becaaf92bc361d5a3d95e6993ff36c10be7d8a91bc50108d3dd3d2843f70daddbdfcd06fbc3ff08c3d17b4553f22a0a1bd0f6941bc4a397a3d80591f3fb00760bd83fc32bce3fa3e3d8593d83e11211abd033b01bcda97e93c6223643e1554a8bcca86adbbf39e533c9bba173d1cfbd6ba9ec414bb79d63abc1c6197bdddc7b6bb0000000000000000000000000000000009053a3c5e8aabbcf28c04be0d0f023c8e2d2a3c03acc0bcfe89fabdb1e3003ba440033cf4f5cfbc0646cebd55859abb1ce7a73b6b37bdbc71f5a7bdb989b8bb91c49a3b640494bc9eee84bdce77aebb65ee963bfdc233bc2d6e38bd63e753bae19a123b41f726bbb340adbce4eaf03a0000000000000000000000000000000000000000000000000000803f00000000e87d8f3b002d89bd7adca03fada0b4bd99056b3bd12514bd3a42853fdd5c5dbdbf8c9c3a2c4698bc71f5563f6a4913bd5287643a8fe237bc5db8223fa997abbc4afc093bf4b70ebc585ade3e351043bca1693f3b36ee0abc18db763e36abdaba7e853d3b6ee841bceb9a543de3edfc3900000000000000000000000000000000000000000000000000000000000000000d72c5bbd541abbd02cfe7bcbdc5493c60f4f8bb045eb1bdbfaee1bc9627343c71d03cbce4a891bdfe85eabc5e18093c026d39bc1fbb78bd1539e1bcb28c0e3cb0d840bc17dc5abd967bbabcb585ce3bbcb48abbef5c3ebd2e0d62bc3c8d9b3bd7082f3ab41b02bd4777d3bb5b76363b00000000000000000000000000000000000000000000803f00000000000000001d5c72bd45d4973fb81d35bd26b89dba46960dbd4cf87d3f7ce3d0bc15d5093a4a53c0bccd094f3fe4e895bca3255e39b5e783bc39a41f3fba3e81bc7181473a7e0135bc5662e23e9aa780bc56ea133b8d800bbc3dce853e4a3783bc03cc8f3aa63a27bcd249b33d25b3acbc74872e3b0000000000000000000000000000000047489cbc41e2c0bc9d88c8bc4372643b06fde7bb928cb7bdd0bdf8bcf7f7313cd4f54abc8992b2bd176c15bddad71d3cb82074bccd8c9cbd415d1dbd139b0a3c44f976bc7f1f80bdcc8912bd1ae2db3b926812bc301c69bdfb3af1bc2a18d13b4b0444bb26063bbd1a35a2bc19e0943b4361dc3b2c00f7bc31b4bfbbed92943b810ca03b02ddc8bb2d54bdbb91bf8c3b8e74ddbd066c983f8436ad3d1e63acbc23d6d8bde6b7903fc4e3a43d78fcbcbc6a3ca3bd48a3793f2c34a43df3f5a0bcbaac77bd8fa44b3f15c28f3d182f69bcd0f439bd38f81b3fa282623d746a49bc1a0316bdb045dc3e8b3e183d37f932bc14bde7bc8694803ed351903c6315f0bb370c87bc14069d3d028d903a62f4a8bb0397a6bcb84f0abd3109babc5a2de9ba9fbad5bcef63163b51fa84bc2ca6adbbc56ca0bce8661ebde5d30abd3e35083b4fda9cbc89932bbdd30418bdf840d13aba9d96bcfd274abd4c0d31bd08f81f3bfb108abc2e6819bdf5c11abdbc6efe3ae8fb37bc95341ebdf2931abd99b99e3b359d10bc5107d3bc2dc5d9bc6ca0483bd1b1183b0772b2bcdaf890bcc59ad93bf2101f3b8f556aba793601bc0fbf8c3b9062d9bdf2837e3f85a8843e75bf31bd7272efbd5598783fb805773e317d3dbd73abb1bda2b6513f8bc8603e5a061dbd7ef79bbdfb3e333f7f8f3b3e0bfc04bd9ab770bd3997083fb20a123e953fdabcb3d349bd9f8cc63e5852d23d4acbb8bc09e519bda002723e7b5e763d8b508bbc1bbaeabca675be3d4757883c5ebb3abcfd65c5bcb0c511bc16df5fbcd5e00dbc7606fbbc6c76993c9063b8bb593191bc2372c0bc0da486bca0e1fcbc9baa01bce1fda3bc9d59fdbcf8bd28bdf80094bbfbae98bc76300bbd28a632bdfbf35dbbfaa08ebcfff9fabc8d8c27bd463062bb31e14dbca6a2e7bc9a401ebd4ae8ac3afd24f7bb7279c2bcc63903bdddaf193b75954eb952217cbceae1b9bc1394fd3bf1502abb833acb3a02cd25bc81e28c3b09b8c6bd423f4f3fe62ae03ec4b881bd085ddabd17d7493f7677d53eb5be8abd7eb5b9bd6ce5313fc3d6bc3e9a4674bd643b9abd79ba133f08e89d3e691c44bdc1ef7fbd42f9e73eff99793e1acd2bbd8f9d50bd8ef7a73e7c68313e634d0ebdde3729bd4546533e0570d83d86b7e4bc9f1d06bdcceeb73dde9e273db6a5a6bcc2e4debc0227003c94b807bc9dcf88bc9f20f0bc6146983c7c9e443bd99ed7bc84ddb9bc497cefbbeaa4bdbc39e785bcb936a2bc696391bc184b10bda80f59bc96fb8dbc1bc8cabcc6692abd10602bbc66298cbc148d58bcb136ddbc4adb4ebc04cb4ebc423ebdbcdbda1abd95c98fbbc22d0dbc4fa485bc5308ebbc6a0a3bba52b48cbb919542bc7716c2bcefc7dc3b64f186bb6576563b5e57f5bbb344303b42f8a6bd35811f3ffa911e3f655ea2bdebaeb2bdd461193fadd6173fe5c5afbd973396bd2a53063f272e043ff21b92bd699486bd2b77e53e9cdddf3e2a0084bdc1ff43bd1edcac3e27a9a73e15d841bdd8c340bd13d2853e529a7d3e0ce138bd3a6e17bddc1f283e76371b3e2d8e0ebd14d6f0bc87059f3d70ae803dfe53e3bc5bd4c8bc07e1003cc1b4e9bab444c1bc4535babca2d1343ca8c55d3b9a96debca30375bc11e94cbc992111bdd8bb7abcbcc23cbcc57dbbbc077e4dbd993b51bccde62dbc2423dbbce3e04dbd7f8632bc7d134ebc608ad1bc55f93abd607e1dbc3e6300bcdebfcdbc49422fbd0c5664bb712d61bb6b58a1bc997916bdeebcf83a165f81ba52ea57bcce34e0bc3317123c5b0605bac760babaea77e0bb2edd853b053d85bd1918e13e9a9b4e3fb386c2bd62cf8ebd4189d83e9c74483f4351d7bd47c177bd02f4c13e0a07303f0c36b9bd0cba51bd0a91a33e0ad5103f08a795bd022a32bd684e833e1a58e23e78877cbd97b418bdfd14403e74bfa13e06464bbdb42100bdd713f63d60bc443e215523bd8759b9bcafa75e3de964a03d92a3f3bc962babbc82d9693b084381bb2e47d3bc790c47bc03c01cbb9b5736bc349facbc918b85bbb14e99bc4f6f63bd953d39bc795fb1bb9f79c0bcc9c45cbd649167bc1b7c93bb97a8f3bc98fb81bd584150bcd6358ebb5593d9bc72d34dbd583f2dbc22002cbbc001d5bcf7a555bd182275bbd56d3bbb1ec09dbc0a7417bd6b553e3af785bb3a1d0a32bcbedbf8bc3c54473c36135a3a64aa02bb618414bc1958133cb0c032bd73a7853e1fbb7d3f51dcd5bd075f41bd1fcd7c3e2072773f3312edbd547921bdd545673e1019503f7191b0bd36530cbd17b2463e80e3303fbe2f9cbd41cbe1bc1ed61c3e9445063fa9b771bd85fdc9bc3ed5e93d61eac13e0ebe4cbd86daaabc7b44953d86f7683efeaa1cbd452077bc5f91f03c2db6a43db856d6bccbbd55bcab5195bb7cd08fbc67acb4bc91c78f396c7a8dbcb42d04bd243e84bc2a7b013c36e8b8bce5efc7bdf0c5c7b9e3e6a13b84f6ebbc2ad2c3bdf8fd04bc9c8a933b8766ffbcb25badbdf8512ebca608203bb061efbc48938ebdef5529bc0a0c123bc1ffd0bc87d082bd52f784bb1cc1263b667c89bc378453bdf161403b534e413bf5f659bb898519bd24d3803c16e2083bdda465bb084943bc333d303cb859b1bc297bb13d6127983fa610dbbd125fc1bce4ecac3d6531903fb05bd9bd48d59bbcc7ceb13d01ac783f8ca3a5bd38f281bc44e1a03d65654a3faf0d7fbdf9255cbccbf0833da6891a3f473c45bda76a3ebc47593d3d1c5ad93e99551abd35c01cbcbe46da3cf9217b3e3c57edbc1ca8d8bb86fb0f3c3066913d9ab48bbc499692bbbcbf84bc028622bd054fa1bc000000000000000000000000000000007d40313cbbfcd2bc4e22b0bd781dc7bb5cf0223c1531cebc4d5ab3bde489d6bb989ff73bd6f4dbbc560598bdd4c02dbcc1119f3bdf01d7bc93fe7ebd8b9b3abcd74d963b1b61b7bc266162bd02f901bc1880773bc99773bc165542bdabccaaba1ebf1d3bdbb210bc053c06bdb1a6883b0000000000000000000000000000000000000000000000000000803f00000000f802e0b782ed2cbd4ac7973f459778bd7962fbb925eca9bc45517d3f481218bd45cd18ba961d5bbcafd14e3f5d4cd3bc3b1d653a85e32abcfc7a1f3f6410a4bcbceaa63a138830bc8ff4e13e5b7f77bc45d2bb3a853733bcd063843e9db433bcee7e083b73538abc156db13d1d0a51bc00000000000000000000000000000000000000000000000000000000000000004edd7cbc34bb4bbb59dfd1bc3eb2f53ba18059bc6c954abcbe5ac2bc65dacc3bcc226fbcf0d924bc3aa5cdbc7146b13b5fd263bc032cf1bb9206d8bc7506ac3b487e6cbc9ea537bce39fc4bc51c25f3b9dca3dbce5676dbc998ab3bcb250393b2f9751bcdbce0abceadfb9bcc67b873b00000000000000000000000000000000000000000000803f0000000000000000aaf5ddbcda94853fe9a0c2bc0c3f15393e2f87bc15ca613f9f3878bc07e62d3a6d2d61bc91763a3f98b96dbc164c413a038645bc370c133ffeb576bc5eecd23a266d48bc543ed83ee25989bca5a3263a73d83abc4d068a3e154d99bc8809223b925290bc49a0033e610acebcf1dbed3a000000000000000000000000000000008ba9e4bcdf0c073dc77fbabc4cadb1ba5d70c9bc8013ef3bd411dbbca4ca1d3bc977c8bc885b573b0e67f0bcef75373b7e36cbbc41f1003b6fa6fcbcab09ca3a7252cdbc24c9683baeb8f4bcdfe8b43ad36cc3bc09c4b6ba06c300bd56b5153b2be6a2bc52f116bbfe81debc653b6c3a6ce979bc15fb6bbbbcb0c2bc3e0a443baa5780bcb5b37f3c06efafbc7e5a123bcacc62bddd47863f7d1fda3d1e3763bc5f1153bd43e4773f2807c73dd4e055bc209b2abd7763553f358caf3d0e5040bcc85310bd1291303f11598f3de96a1bbc5c5504bd07920a3fc03f543d529c19bc5338fbbc0426ce3e3eb5013db31dfcbbad6eeebc4c09853e12c9683c689fdabb6cd4d6bc665af93df45dc0bba8758bbbf7dce7bc3614833c41dbc6bc6e7381bb1ac8fbbc935d223d84fb3dbcbc4b36bcc76400bdf69ddc3c6446a8bc67c3f4bb78d1e5bc626baf3c69899fbc0c6d00bc5a91eabce57d793c8f91d3bcbfc7bebb03b5debcb552993cc47fc4bc3646d2bbf056dcbc2d1f593c62f8dfbc7b3490bb1e08bcbcad2e4f3c12b0afbc658ea8bb40eaa7bca5c1663c3ee3c1bc3f28b8b923e28cbc41e3b03cbc2d7dbc505453bbb0406abd1e5e633ff548833e2d60d8bc1f887dbddaaa543f88ce6d3e9babe2bc434d49bdd65c343f75c64f3ec152c1bc900a3fbdf1141a3f6dee2b3e97c8b3bc992026bd3240f23eecf6043ea4d096bc190c21bdb763b73ed513be3d150191bc17c20dbdfb2b713e9aa4693d65cb84bcb0070dbd88a2fe3dca9c893c18bf51bc176df4bc725ac73c84e950bc7b7b35bc6c0d08bdbea2223debb7843bbce6b0bcc09f02bdcefc003d127de9bb142086bcb0a4f7bc6833c23cc2644dbc973c85bc3982e8bc9df3a03c21b486bc67aa66bc493af2bc90fd9b3c643782bc63b968bc1f7adbbcf891783c2fcf97bcc4de35bc770ec5bc6ce66f3ca0f194bcc43a12bc5cd5a9bcf930883cca9e84bcda3ec0bb96be9ebc7f8dc83c1ac9b7bbf8e20bbc1cca66bd7cb83a3f70abd23e1a0021bd3ed974bd97ec2d3f754bc03e3aa12cbd495759bd861f183f22f4a73e698e1abd719241bd54f3fe3e50d48b3e6e0607bd98c134bd9e41cc3ecc815e3e3417fabca0fe25bd629c993e4cb1223e94f5dfbc68fb12bd6555503ea247d03d85b3cabc1a380dbda467e13d7e873e3d3489aabc7b41fdbcb285e63c194e833abc58a6bcb3abf3bccc24013df53e8b3c08aeedbcc4e6eabcddcbd53c36ceb33b89f2d5bc2f69d6bc2788a13cce03a53a7049bfbc5b7bd6bc28b87d3c49126cbb9304b5bceb8ac4bc03d4883c94d328bac49eb6bc90ecc3bc913d463cad2af2bbefc49bbcb810b8bc4d56433ccf06bfbbac4987bce0e99ebc03485d3c82b2a8bb8a7c63bc107e95bc4e5ba23cccbb313b29f861bcb49145bd18ac113f9b3f113f861646bde5d74ebd823a063fc91c053f8c5d4dbdf63036bda5b6e93e4f9ae63ebeed33bdf2632fbd5003c73eb930c33e9d9633bdabc20fbd41969b3e06f0973ec1b610bd1c7314bdf07b723ed02c683e256e13bd847306bdfb70223e6a9a183ea05302bd6d13fbbc8a53b33de1099c3d77deeabc12f3e7bc0343bb3c0af4463c9460dbbcdcebc4bc8b31943cf881cd3ce8dd05bd451abdbcf5023c3c0ba64e3c842ef4bc39fdabbc28bfc53b5abe8d3b0536e3bce078a4bc08d5823b6fae54babf29c9bcb67aa2bcc051133b7ddf9eb9833bc6bc63de8fbc182e20ba640b82bb881faebc84a27abca418eeb944148cbb3ae393bc107b6cbcf6abf43a198964bb927854bcec906fbc95991f3c5873033cb4986fbc264821bd866dd33eddf7393fa9d262bd83642cbd36acc23e7dbf2c3f7edd72bd08de18bd61d6aa3e69cb163fae6a61bd09350abdfd8e903e4d93fa3e8faf3dbd85f400bdcbf1663e219fc73e3fa62fbd5f09f0bc99b62e3ed0ad943ea84123bdc0e1d8bc1278e63d2549453e77b916bd1444bfbcf7de6d3dbd2cc93d0d6707bdc82bbabc8bab3a3cf421963c1e79f3bcc6e974bce9b23e3b8b4cce3c2cb4febc7efe47bcd13a8bbb7489323cb0b2e8bc4b4651bc79e3a1bb19d2be3bcb71e6bc1b684abcfc3026bc02b4f637b10bdcbce4bf4bbc392519bc9bb1043b5b2bd0bc2e232abccc014dbcb6a184bbee9eb6bc065046bc9b3c16bce2d8aabab5b39ebc005d16bcdd3d12bc45266cbb29543fbc4a0f02bc79ff24bb5f4a033c41215bbcccbedabc614c853e8781623fa82b69bd84efeabcf65a703e6083533fd23b7dbda319c6bc1ec6553ee64a333f52184cbd9ca8b8bc6b3f333e0985183f7ffa42bd7d849fbc1b530c3ebd7aed3ea18829bd3d09a3bc197bd03d9dc8b33ed7c723bd968a90bc681e873d36d4693e37b811bdec8778bc130ae63cc887e63d56c507bd2d0656bc7a65a2bb93db873cc914f5bc190ec0bbe5715dbcf7b6b83c539af4bce505f9ba317b87bc62eaadbbe444bdbc77652fbb1f5c9dbc632816bc269fcabc618cf6ba4d22b1bc1b6113bc6088c4bc382881bbbd74a7bcb3aef2bb9223bfbc8e8099bbbad7b3bcb31543bc3e14aabcc9be9bbb1a7cabbc13d05abc6fd882bc4fc145bb953792bce20073bc5af1f4bb840685bb779b6ebcecd1823b25453abc488265bcc396dc3db515863f046e60bd2cd250bc6b61cc3d7210773fbf1651bd854e3abcca01b93ddc58543f7b1b2ebdcfcc24bc1981993d39bf2f3f115915bd92de1dbc77126e3dc7cc093fae8707bd95de01bcf60f223d12edca3e7a1901bdc0baf8bb5a53a33cfa62823e0cfff6bc27d4b4bb9518ec39bb72ed3dd916ddbc390bc6bb232f8dbcad3e2e3c84a8eabc000000000000000000000000000000001a02a23bf4dbb2bc6d3bdcbbe50a97bc2d9c6e3bf559a1bcf67187bcc11687bc4b064b3b17bca9bc35575abc3ed28dbc3ba0163b7600bfbcdded4cbc2dc18abc92a9883a4eb0b4bc266269bcc81e72bcd9a3523af3d1abbc780490bc3d292bbc44185c3ab0f6aebcf83056bc920d17bc0000000000000000000000000000000000000000000000000000803f00000000f7cab339d3b9a8bc8f7f853f5adfe8bca1a40a3b87ca49bce079613f911895bc20d5823aec8f32bce93d3a3f282a8cbccaf1dc3a54ee59bc735d123f54cc84bc30719d3a2a1558bc377fd73eb4cc7bbcbb5cbd3a168677bcd285893e57b76fbc550aeeb8f946a6bc805b013e8e399ebc000000000000000000000000000000000000000000000000000000000000000015aeca3cdd264bbe6ec2a13ce476b13bf4bda53c43de4cbee59d883c8776c33b66ed563c497138bed7a8a93b62cf143c5fac363ca3be19be14d95b3ae6c7193cb0e1073c7c02e0bd600355b9af1fca3b66b85e3b373d74bd3ee9643a3ee3923bf2b1073bfea746bcaf8a1fbad1c86d3b00000000000000000000000000000000000000000000803f0000000000000000b959d7bd666daa3f3daae9bd8982233c65b482bddb128e3f999597bd7bdf7c3bc5943ebd880e6c3f4a1e64bd999f053bb90eedbc46a5313f68cc1abd2a78493ba2b161bc05a4eb3eb283b6bc0173a13a07b7ec3abaa26c3ef33caebb677e28393dae353c7b27733c984fc23ba545c1390000000000000000000000000000000044810a3c73baddbd9c26643c88094aba52f2e73c9bd13abe63a1ee3c871e34ba4e2fb63cf8794ebe2db31a3c88e8e13bb0b89a3ca06a42be4d618bba587a283cb4d25f3c28ea1bbeeb9e91bb30ea0f3c64714c3cb2fae1bd1cb9d5bb681efb3bef1a143cc54277bde4f306bcd9e6e93b1413413b426a3bbcf09118bc70b9773b8277bb3be9f33e3c8debd73a9052d73a998733be253eab3f3ffa633c61db72bc058d1dbe0dc59c3fcb43aa3c7eb38abc660605be44058e3fdb00c63c00608ebc0853d1bd973d6a3f582eed3c4ae090bcdb5197bd752a303f11a9fd3c7dc04dbcdb7d33bdc369e63e9958023deb6b2abc20c3b0bc7d2a663e5480f03c394412bc5b25a53b3022ef3cd0c20a3dbcdbfbbb5443073cb927e5bd8127de3b3abbdbba04bbeabba06066bd2f7c473b5eca3fbbe9011f3c11a409be2f7f59bc937bbb3b7dd2183c4dee1cbe10b5d7bc0ce4303c38914f3c936d1bbe0c5ef8bc4fc2473cf4e9f53b7897f5bdfea4fdbcc3ac293ccb6e353ca9abc1bd8a29c8bcb0b21e3c9a03173c06db58bdfc0786bcff29f53be960df3bef4599bc9b8329bcab35d63b6198d83be589f53b1e0b1f3be488053bd1c928be45df8d3f94ff663e4f0156bd6e6f34be51ad8d3f922b553ea2635dbdbc7516bede387c3f5e7e423ee75e43bd9f2df8bd23c4523f4617263e3c5824bd5c41b3bded041e3f886d073e2cf300bde05d84bd9772d63eda88cc3d93a7d8bc86ee11bde0715d3e0d26823d7ef584bc9d5b30bc4816403d7929fa3cb48b0dbcff6782bb9a1380bd057899bb3c979cbb0473a5bcf643c7bc0d9975bc5be7cdbb81ee14bbd1c6bebde6e93ebdca64273ca3927e3bbc75f0bd066779bdd3c3653cace4ad3bdc18e9bd3d817bbd33326f3ca831c63ba455cabdcbcd6bbd7f476d3c94bd033c084c98bd312f2fbd7f39483c7cebd23bdd5639bdcf52efbcf2a22f3c76490e3cd2849dbc29530cbc2f01ea3b59289f3b458f263bc4dd4d3b7996773b777a1abe25666a3f4330e53e666db6bdb80024be8ebe683f2a45dd3e6513c4bd9b3410be0b4d513fc894c63ee203aabd9e9de8bd070f2e3f7dc3a43ef7b288bd1626b7bd1fd0063f2dff813e2c4c5ebd5d1984bd58ffb73ea7e6323ea1691cbdcbb42bbdc9214d3efa10cc3d99f0c4bc2dcba7bc162e693d24ce003d890e24bccea358bce3470abd1f4ab2bc2d5595bbd7c6c3bc2d3885bb959201bda64ab4bbb2500abc5c6a53bd8e48a6bdb74d433c73629cbbb8f68fbd1063bdbd90c8483cfd3ecd3a0a16a5bd6720c5bdebd1753c64ac82bbaad869bdcba68ebd5faaeb3b1a35b13b436a64bd082583bd06e15a3cd536903b588c03bd72610fbd8ecd2c3c965db83bc9ce73bc38b573bcecde053c46cf823b7539e43aa777b73a55fbbb3bc984f8bd6cbc2f3fc0812f3fda2002be871105bea0c02d3f91062b3ff4d305be98a9e2bd17041c3f8b59163f865be0bd9b95c9bd549e063f3470fc3eac8ebfbd1cca8fbdcb88c93eeecdba3ef1a884bd63df79bd02c0953e3920823e098653bd3d8b28bd32762d3ec293083e99ceffbc0eadc4bca5d3823d07a6f43c70ae2bbc25047fbc6aea38bce89f22bd409681bb9b7e97bc0620223c97e65bbd7e9fbdbacfc0f7bb6d4daebcedd8f9bd59caa53ce1f099baadb531bd5e5b0ebef97fbb3c3dcaec3a7f3f40bd9f8c05be3176a93c8960163bcd9642bd32bce3bdbcbd993c14bdaf3bf3191cbde1dea4bd4570903c6ea0973b1242d1bcbed73dbd7e9d423caa5aa53b918a43bc671985bc97ea073c8dac493b33c3223b1690a73b98d0933bb402b6bd0a1ae73ee98f693f277f1bbe139cc4bdba33e43e8383653f580d25be3c85adbd8b4fd23e9fe94b3fc1340ebe0eb096bdc7a2b43e1d69263f9bfadfbd61d876bda58a933eea72fd3e951db1bd59e945bdf1775a3e523fa43eb64f67bd44c20fbd1bd10a3e1a96243e4e79ddbc84efadbced1c833d0dd3bf3c0b029bbb7c4f4dbcd297b9b99ba071bd1b8e21ba18584abcc20bae3c5b21a4bdb2f4253c1adfb4bb0b429a3bbf6223be7f5b023d6430fb3a9d236abc627231beebf6e63c637e803bca34a7bc449f2bbe7db3de3c6ac1543b3bcbc2bc27d503beb05d953cfdb27b3b14efaebc9260cebd0996973cdd6f873bf54475bc83d360bd0a76633c44715b3b2ec428bcbe1675bc6094e53be83f193b7553033b3610023cbd2ca13bbb6e4ebd39b4693efdc78d3f87a32abeacf85cbd0dc6603e2d9a8c3fad1f36be38f148bd6578553e9b47783feff116befe5135bda570423e59384c3f2353eebdd59510bd3609243ea4b2173f01ddacbdc8d0ffbc4a9e073e7838c63e2eab65bd3e6cc1bcdb8aba3d290c403ed571cbbc2d8b81bcf48d663d3a31913cc1648c3b8ded2bbc93b2713c2714adbdd0f5213c839729bb2574a93c0ad9fabd7284c43c2b874abb1d65043de7234abe78483a3de4213d3b6ef6123c32eb5abe566c163db3c09a3b393686b849ac49beb382fb3cbbfa933bcdb697bb207623be37d1be3cc3cb693b4cafcdbb410ae8bdd2e8923cdfda063b7deef8bbb9f47abd8533333c1ab1863a3fdc06bcf9e418bc17d3983a8dea813a0138d13af7c57b3c1b646a3be41c76bc3eb58b3c9b08ab3f73cb37be1d578fbc4a24fe3cbd129c3f497a20bed3608ebcff7c2a3d154f8d3fbed609be9b3189bc1aa94e3d2fa2663fc487d5bd7d4470bccdd6513df2662c3f844c94bd432e2ebc48f4593d333bde3e3adb29bd72f520bcee49503d29ca533ecd1e81bc0def0dbc68d3423da85f303c7584883caeae86bbba55833c59c701be22d7973c000000000000000000000000000000003cbde73beb767c3cda784ebed594fe3c08e8023c44c2253c25704ebe8bb1e43c0900043c6917c4b98baf3bbef243923c1a50fb3be5e913bbc2051bbebca9573cc371a43bcff721bb55b5dfbd3da11f3cbea3323ba15eb9b9094d76bd9ec2a13b2802133a18de15b93e904dbc7ca9813a0000000000000000000000000000000000000000000000000000803f000000001c921d3caf4ee1bd9a8aaa3fa301e0bd0caeac3b626783bdbeb08d3f46c08fbdc99d7a3bc99d2dbd492e6b3f38015bbd83d7483b209ae0bc0f10313fd05a17bdfeb8423b38803bbc52d1e83ecd81a0bcfbe8543bca05313b4599683e6a80afb76102593b7f71163cb593473c61444a3c00000000000000000000000000000000000000000000000000000000000000008657a63cc23733be7822333cb71bc73be72e9e3c1ddc36beada0453c2fe1cf3ba2113a3c0aa321bebfb9de3aabc1f63b2b5a213c8c3509be0f36933a250fea3bb68b023cdac4d3bd2218993b0183ae3bff54323cfb5683bdf233073c78f31d3b646d173cfdc1dfbc381e113c56674db900000000000000000000000000000000000000000000803f0000000000000000c321cbbd0859a73f34d8cbbdbdedb23b95e585bd5eaf8b3f976989bd6d312d3b760f46bddc75663f9f1c4bbd794df53aa0b00ebd00cd2f3f31511bbd422ff939c188bcbcf1b4ee3ed0ade7bc5a444139f84237bc8333783eb4ba6abc7720b0388bb8b1ba51dc113d5d9701bcc16fde3a0000000000000000000000000000000058b226bbf787a5bdc8d386bb033c643b2797cf3c64792ebe65bb803ca0428d3bf70b803ccecc2fbe8c4ecbba0feffd3b85fe433c59e11fbefe1fcdbb98c1043cc296133c64b603bee4f801bc1d21053c1bba473c1e79c8bdebf29ebbb494db3b0d221b3cb9e86abd8949e1ba50b39b3b2f23223cf78c79bc417e443b7501aab9d5dc253c8b3c17383c5d073cde7fde390df61fbe5bf9a73fd638e73c52d570bca10e1cbea1e19d3fab9ac43cf04092bc6e0200be0eb38b3fb1e5db3cb0c177bc4e6ecabdb502653fa88aea3c992b6fbc82c59abdeefc2d3f361fd03c92693fbc2c7f62bdee95e93e8d0a9a3c53490ebc361f05bd4855723e2eeb6a3c6ff0d3bbba8e16bc4ae5053d6051703ce58fb2baa7663abca3f2b4bdfb8c21bc05af9239181ac0bc7570b6bcdf1a7abcaf3a593a189fcfbb9661bcbd2eb6e3bcdc96053c2642fabbccaad2bd9baa18bdf4f8243cd80596bbd30fd8bda41c23bd211b533c8726cfbb4759a8bd7d4e11bd7007343c100a94baec618bbd52c0eebc55a3293c99a3993a82051cbdcc80a4bcebc9fb3b4888883b2fab6ebcfc6718bc9efedc3b47b2a93a94faa13b373f023bf7465d3b5f5311be5c138a3f74b1693e7cc534bdd6bc1fbe00df893ff0d9523ea14b36bdb3c505be60ac703f47f9403ec94b23bd6a1fe7bdac4b4b3f1e2f1e3e2dc20abd5824b2bd45671a3f09d3f73d50b6dcbc5f2c90bd8a8fd83e56c5ae3dfb42a4bcb8124dbd7f0f723eebed473d880c72bc2dbbedbcead18a3d5f096c3cd277e4bbab909ebc2f891abdbdf985bc0af18ebbdfae18bd6f457e3cca75ebbcfbf688bbc1ecb5bced0f31bda4fe68bd7716153c76c380bc712882bd09bb8bbd2ba8663c49557abccc1583bdeab086bdbbd5453cc0e13dbcac4261bdbd4986bd3de2703c420404bcf18c2abde7234abd8c4a653c84cb95bb7fc6c2bc4dd313bdb2d7453c2060b6ba529cafbbd075aabcbaaa2e3cef0e86bb6e861a3c50b60dbcdc25ee3b8d2901beb7fe603f2283de3ef5d790bd96210cbe10495e3f257ad53e934d9ebd7340fabdb4a5473f2d85bb3e06a389bda8e2d0bdf357263f653d9c3e124662bd5f29b3bd2de1033f37cc6f3efcd73abd924e8ebd2a4fb93eea43233e596c0cbdb41a57bd029c5a3edff5b43d2c40babcf28c11bdc53ba43dff78bd3c6ca44bbcec3de8bca2a9b7bbce74eabcf25adbbb55721abd2733f03cb7d911bd21e70abcacade4bcc364dfbba8599dbd1bc6003cfa50c5bc62a8c7bc0280b1bd53061e3c587c9fbc47c0ffbc9103c2bd5b4b673c562eb1bc424b96bc090d89bda5359e3bf35a49bc0dcfb1bc237d93bdcb0a833c0fd342bcab62d8bb128a3fbd91d6493cfd70efbb96fa983b8e8f09bd1b01633c97cfedbbf6428b3c37f17bbcb3013a3cec3fd2bd600b293ffd9e263f2c4dc6bd108ddcbd916b253fcf31203f868ad0bdb497c2bd3dc4133f1a060c3fc153b2bd9a0fb0bd8a01003f8c18eb3ef52f99bda41086bd4939c33e69ffad3e6a755bbdc84a7fbd9746953e458d743e90823abdd58139bd5f25383e2105073e9770f8bc799a12bd4af0a63d1f3c083d361a7cbc410eecbce31c113c65f90cbdd5c930bc58de00bd0a8aed3cff043cbd57709fbb19deb6bc2f48fa3b229ce5bdd8b8853cbb438abc756226bcdac200be36b9983c3ecb70bceb206bbc36e3f7bdbfe59b3c86a244bc61fd6dbc115adfbd56c89b3c91f333bcc769e5bbc5feb0bd3977a73cdfd701bc8d0a153afdbf81bd9ffe9e3c499becbb47a93f3c015f23bd2a579f3cfe9f09bcffc0983cae389ebcd98e5d3ce24197bdcf60e33e60eb5e3f7a0afbbd3b6da7bd685fde3e26ab593f12ee05be04f699bd7f3bcb3e5f30403ff2e6e6bdf9a985bd0788ae3ecf201d3f05fababd96076fbd8e5b903e82e0ee3e916994bdddb146bd6d81543ea9b99f3e4bf154bde41820bdb3e1093e85cb293e96950abdca73e9bc5dc88a3d5fcd063d705764bc8cdcafbcbeb7223c398d3dbd993e09bcd7fc90bcc6ece63c6a3599bde055ff3bae225dbcc3f4953cc3f616be8665e83c664c1dbc00c00a3baf691abe92b5c13cb50af1bb1b9e20babca11bbeab77d23c4fececbbd61c1fbab554fbbd8cc79a3c79ccc0bba75eff3af184d1bd84c4ba3c25bbdabb4204053c2ac58ebd125aa83c37aedbbbd7fc793ca84825bd5f2ca03c340feebbc814ba3c170391bcd81f8e3c7f9839bd90bf6e3eed86893f63a90ebe23db4cbd6d09623e6c10883f845f1cbef3c535bd1bd3573ef4746b3f27a2fbbd3cf231bd55203f3e2217433fc651cfbdfb2010bd7add1d3e60d7113fa5fc97bd0dbb04bd5b30fd3d66e9c23ef2705cbda8e4c8bc2acea83d894d4d3ec386ffbc4ad19dbc209c423d2cefe43c0c8e0cbc3f9973bc1d923c3cbca191bdcd69aebaa4bc94bb5d7d833c6125e4bd5322a13c234fd6bb86840e3d39a14cbe1576463d33030bbb1a75833c29f44bbe2506163d1c1501baad86253c19053abe04a7fc3cf6679339a350dd3b7a531bbe9c96d43c0474d0baa6e01c3c5b39f0bde0a3c43c6ccd24bb3087453c8edf94bd834c9b3cf25bb1bbb155883c0e76dabcbdfc6c3c4add97bb4afc8c3ccd4338bc27f5893c2fee83bcab71033dcdb2a73fb2661fbefc939cbc4a790a3d6dff9c3f2af91bbee7cd92bc38de373d90148a3f5729ffbdc5f190bcb1404b3d5c13613f716dc7bd75bb86bcc29e433d76f5283ff11392bd8fdf51bc5aea2f3da940de3e9a3c3fbd66d134bc5492103d1c035c3e3c5bc0bcb0da07bc89f1013def0b1a3c6055bf3b2d2d71bb4846843b9dc2debdf3fe903b00000000000000000000000000000000b80bef3b3dd7bf3bf27935be1507ed3c99c5e53b27bdbf3b5f9d35bec18dbd3c5eec153c26258abb3ab721beb16c843cd2b9ec3bd22d5cbb337207be9b685a3c34e9ad3be99b8eb9ad33d1bd619a443c7cb33b3b9884a53b168480bd0fef2d3ca198483a0e28ef3b3f35d8bc0f241c3c0000000000000000000000000000000000000000000000000000803f0000000041cbec3b37ccc2bd7d8ea73f19a1d6bdceb2543b076a78bdbfaf8b3f0fbf89bdb54a9f3a32d927bdb808663ff5a855bded7cd53ab431f4bc69012f3fff8d1fbd3d20c23aaf88a8bc3fe2ec3e2c6dd2bc9c76a33ab6a01ebc346b773e68db24bc9376823bb2a7c1bba4f30a3d46c76d39000000000000000000000000000000000000000000000000000000000000000096000cbca88eb8bda58080bc200be63bdef9d7bbb42ec8bdc40859bc784ab33b06a339bc7280a6bdddf486bc1c2f893b8ee345bc28168dbdf42f6fbc1bd02f3bd9a4f6bbab5877bd3fc821bc54bff43aad2fd23a0c7451bdf6f49fb80e7c7039e9ecad3b7c3615bdf9185b3b7e46aa3800000000000000000000000000000000000000000000803f0000000000000000f27967bdb20f983fc84a52bd9f8eea3a79110fbdb508803f66b703bd72e281394d7fcfbcae8a513f8aafcfbc8cdd4e3a58e098bc6068213fac1a98bc31b6183a23c66dbcbfa5e33ef2928bbcf6e210ba765d42bc6247833ea30565bc319a303ad8fd77bcfb17b23d6ab18dbc92b38dba00000000000000000000000000000000dd581cbd307b88bb186a06bd22d8e83be799d5bcea068abd1803fabc86992c3c5f78f4bcf35c88bdeb021fbd0117313c69cf00bdc6f064bd9a5d20bdbfdd0f3c6f24f4bc8c1434bd08d81abd3898fb3b2c6ebdbc691210bd1b6df3bcf222de3b63f375bc8f47bfbc4dd8b1bc08b7d93be99888ba620b7abc2302c2bbf0fea73b31ecc1bbe1b5ad3b429bd5bb03118d3bfa12c4bdb54b983f61da883d6bd449bc5064bbbd4e08903f71dd763dec3662bcb70396bd935f7a3f4630773dc2002ebc5de96bbde2754c3f2cd85d3d5e3d24bcfb0c3ebdb4211d3fbd902e3d0ebc05bca49426bd29dddd3e579ce03cd1e7e9bb960808bd8fa3813ee0223e3ce46be3bbc72dcfbc4d2ea43dda64cf3a1e179abbb495f1bc3dc3d4bce7ecb1bc23932bbba5c659bd0d35323db9072dbdd421c03b096b57bd0cff673cfdc770bd7d7c3b3c9eea51bdd1aada3bbb5f7ebd66842c3cc2d54abd483e7e3bb0138abd8651413c5fbb3bbd7a4d573cf6937cbd176b2a3cdbb323bd5747513ccd426bbde3b14c3c5a5b09bda1c2ad3c686149bdf4b24a3c4c49c8bc9fe4cc3cda7d23bdeac1613cd045acbcdc3e083dc2a1d9bc5f4b2d3ce993b5bd235a7b3fe08e6c3ec539e3bc2761c0bdc209733f32c8543ec8eeecbc43829ebd7db1523fa7ae3d3e735fbdbc741b8bbda45a313fc986203ee41da7bcee0d71bd477a093ff730f53d761685bcc9ee4dbd6e70c93e6d39ae3d63f876bcba0332bd8ef57c3ec84d3c3dfd0939bc5f371cbd6a87e33db6b24a3c9a611bbc17f409bd27560c3c7bb692bcf35103bcc36379bdc8ce923dcfb63fbd7a25463a6c0574bd2f2c4f3d825597bd745b343c80516abd0d31113d69faa5bd7069433cccd862bd92640c3dc900abbdd9d34f3c663458bd5c09163d1832a9bd4e305f3c4dd03ebd69b6193d02ec9cbd7627853ce2c529bd8423233dda978cbd1a8c913cfc570fbde1813e3da48d7cbd1a82b13c04b101bdcb515d3d869b30bdaef0873c93d6a6bdd7964b3f927ecc3e943b28bda6d7acbdaa5b433f8f87be3eadad30bd739c9abd08a02d3f6b2ea83ed66516bdf4d584bd9dcf113fe5fd8a3efd1d01bd238c70bd7958e93e206a583ef78adcbc26f352bd4684ac3eecd3183eb2a3b6bc1c263dbdbc2a643e7af4b33d7b8998bcea8d27bd391beb3d4513ea3c526162bcda281bbd40f4053d56859cbc2ff540bc1d4a62bd3d2c8d3df51e2cbd258b5cbb149765bdde407a3d5d8e8fbda1bdb53bce1255bda567483d318999bd9063de3b876d51bd37b2373dae76b1bd54c1263c6ef13abd75f7313d3ab282bd17da943bf68e3cbd2ff93e3d0906a6bd2aa5883cd53529bdb5c9453d214e91bd91dd863c35d111bd25854f3d566488bd117abf3c5e83fcbc44d46b3d1c6045bd1bfaa43c3e7883bd804f1a3f07c6133f07705ebd414087bd411f123f0076093fdd505dbd93016dbd653e013fb565ee3e26f23ebd16085ebdd093de3e39bac93e0c5621bd337a3abd8125ae3e0e4f993e844206bdf9ea3abd907b893efaa45e3e27f3efbca92121bd458e3a3e4fcb083ed12cc5bc09b318bdb0a0d73de10d4d3d7e0b97bc9f920bbdb5cf0f3d6a945ebc790d87bc92dc33bd5fc3683dac6f3abd70e301bb162a3bbd805e623de25db9bdb653493c619c30bd1d912f3d62d6cebd9918633c35972cbd0c67293d3624d0bd86966b3ca49323bdfa67263d4e40cdbd8c80973c90d516bde8fe323d8a89c1bd0635b53c81a80fbd0bc53b3da8e6b5bdff03f13c976bfcbca14f5e3d89aba9bd0b9f0e3d4c06e0bc59a9543d44e75cbd3a96d53c5de849bd96bad83e2393443f86f489bd21d057bdc768cf3edcf6393f26e790bd942043bd5fb5bb3e719a223fe4d577bdb62432bd214aa13e71d9053f1cf54bbd0a3d1bbd091f843ef31fcf3e384325bd8afb16bd4f764b3ed0b0913e0b080bbd56370abd52030e3e41f22b3e24a8e7bc9d6efdbc2d9ea63d9bed6e3da7a1a7bcf6e6d6bc5d09db3cefc48ebc7b6d8bbc837bdbbc47fe193d10de6dbd07809f3bff4ee2bca0aa0e3d03e9d8bdf8cb673c3068debc4e3bdf3c824ddcbde1d2463c56acdabc78d3d53c2381e8bd26a8863cda0fdabc9b32d73cc001cbbdff2e8b3c0172d2bc1366fc3c37b6cebd078ed33c174cbdbc51220b3d9bf1b0bd7910e03c265fb8bc7164383d48f2abbd8c26203d73e296bc75d9303d5b796bbd1ae7083d8cf006bd77d87e3ed4f2753fa8f5a2bd39700ebdf9f66d3e1cdc6b3f4adcadbd2fd8fdbcca0e5c3ec6084a3f3fc489bd0960ebbcf427403eec9a273f9f056abdb265d0bc81061f3ecb7bff3eaf6235bdd97cc8bc0e97fa3dae0ab33e20bf1abdbeb9babc3234ac3d3456503e29f7e8bc7a54a4bc58804e3d3e8c843d613eb0bcb54a9ebc95d2833c4bde00bdb5e887bcbfaaddbb9a18ba3b51088bbd791c353ba24d0dbc983a783c7c5a0dbe64e4993cdf8bf0bbf7c2fa3bce8f0bbeeb51793c1eae24bccb629e3b2aff01beaf284e3cdc981cbc17bdc33b4fd6dfbdd0366c3ca43f27bcc6ba513c80e8d1bd8ab5a63cab0b3bbc7469a93c1986b2bd1c37d93c9e2938bccc17093d89b39dbd28fd1c3de43401bcfeccc93c5fe651bda767083d92c97ebc37719a3d1aa7963f00c5b4bdb4fa93bc59d2973d0f448e3f65a5b7bd674586bcb1d59d3d2cd4753fbfa592bd677860bc6a15963d3d93473f4f2f53bdc41e58bc3f6a803d22bf173f38bb2bbd25e65bbc52ff4a3d5128d13edd6d06bdbbea50bc0c03023dc6336a3e30b9d9bc59e141bc30c1b53c6d21643d53d687bcaa7809bc544084bb070b4bbd336b8fbc00000000000000000000000000000000e5d8023cc15b89bcaf43cfbd1fa6023b3425a13bf65669bc1192dabd5c40193b4140c93b448693bc1f84bbbdd2a10fbb18db723b3b2483bc77f8a5bd93b19c3950243c3b2d174dbcd9388dbd1a7d2b3b22441c3bfe8c7bbbc8926fbd0d8b163c5201a53afaf39d3933623cbd51887f3c0000000000000000000000000000000000000000000000000000803f0000000035a4043b05b54abd4932983f154973bd8301013a9e5cf0bccf1d803fa5e924bd37f44ab88b649fbcb350513fecf6eebc3d4abcb8907f67bc5fb8203fed15b1bcf4ad0cb91e9142bc9bcfe23eae429abc17119dba642828bc3119833e514779bc725692bae6517cbcd777b23d127786bc000000000000000000000000000000000000000000000000000000000000000089bc343dd7d062be2de6133d9ec46bb99f250a3d35455dbe0b98aa3c5882c53bf81dea3c41a959be97d41c3c55e1e53b102cca3c457331be06ff5b3bdeff683bb00c7e3c9fc5f0bdc9ffedba5de2433bbc92013cdf8f83bda838bdbb4ffc55ba4c965b3bb61125bc0b2591bbe3dfc3bb00000000000000000000000000000000000000000000803f000000000000000015f5fcbdced7aa3f17e5e8bde94a753ceecd9cbd64bf8d3f3cd47abd76a7cb3b60db79bd4c246f3faaf92ebdc718db3bfe532cbd11f0323f9a3dabbcaf778b3b08298fbcb45be13e5a78873a8521423bba86023bb7cd593e7ad2b33caf02b63ac340b93c2cfc39bcdeef003dfb77513b000000000000000000000000000000004be7003d168f09be8972403de1f4afbb22f5253d53912fbe4f5f133dafdd91bbb2a8273d23aa60be3af4a83c4987013cb985113da26b57bef5e5343cae8beb3bc922f73cfa1f2fbebc47313b161bde3b5a26d43c4d4af7bd5c71aabbd4e3b63bdfba9b3c38dc82bdb7f192bbdae8043b24d3463cd33090bc6779c2bb43c06eba45f2433c854bb33c6fae083c1380b5bb96f240bed106a83f28e9473c9c2028bce0ed1cbea8d2933f54ce533d97d1a1bc2cfa16beb43a8c3fcb66233d7c468dbc9720ebbd8dda663f707e403d66167cbc9f34aabd2eb52b3fd962603dcea66dbc88cd52bd1aebdb3eafc8843d40b264bc5a7a95bc84bc463e632b7c3d463561bc88c4da3b41cfe23ceade583d2a9e42bccf21b13ce0bb18be9d01063d69bff2bb6860d33ad79389bd85c7183d6b37cfbbdc5bc43c30a21dbefa569c3c0472423b2f55e03cbca33cbe18933a3bc389203c4c83e43c12f739beb8d0c7bbaded763c3e90bf3ce81f14bed86116bc136b273ce17bc53c5d9cd3bdbab747bc577d0e3cf30ca23c427064bdce61b5bba6f3e03ba3f9a53c1f4b96bc5f029f3ad4e98b3b1cfb7f3c29255b3ce2c1413c6178003ad87b2abee77a883f181a603e56ec56bd5bb139be6bf4893f2040513e298856bdc7fc28bec62a7c3f8cc83d3e707342bd3b360dbe4295503f32dc2e3edb7042bd90c7d3bd80191c3f8ae3163e75c316bd663c93bdf69ec73ec67e043e251c08bd86721abdb104383e289ece3d2a80eebc12fb62bc43bea13c55cc7c3d332fbbbc2c71ddb80c4eaabd45c4c33c12fd89bcd6f484bc61ab0fbd575d493c884762bb94ea143cdbf3d6bd8f4f9ebc6ab2523c4a3f733c1e3309be709e14bd47a6b23cf2b7783cec2506beb8fd1fbd77a1a33cd027843c2066e8bd7d7123bd727cab3ce06c9f3ca5f5a4bdb487d8bcabf8903ccd97893c3f2334bd954362bc5604753c500d8b3c6b4a69bcc677fd3a69255c3ccf6e8b3c1fe0263cd9ed533cbab0063c193a1fbe5cfe663fe03fda3e6986bbbd494b2abe2c60623f051dd63e1b46c4bd80e51bbe98764f3fe583c23e1a64b4bdd1f804be465c2d3f5f5aa33e198892bde79dd2bdbb6d053f3e32833e27b574bd7ae298bddf96ae3eb356453e861050bde10047bdbbc92e3e8be9f83dcda417bd5486bfbc308e193db9f3573db6e8c9bc50355cbcff5357bd53fd6abbf9a57cbc5c61a4bc745961bba837a2bc14d1873ae0b486bbbf6c69bdc4c381bd48dda23c294e8b3ad847a9bd77c2b2bdaeced73c0823c23b35eab4bda8c8aabd5b8ed03c46d1a6b891ed8bbd330c7ebdbebf953cac01143c171372bdd8b94dbd8f5fc53cb8c8d93b80daf3bc18d4a8bc6107883ce77d2a3c8fa324bcb328aaba76058a3ce387183c694b353c0e9b883c7b8b513c1674fbbd25b72a3ffb512b3fa8c909be5d7106be59f7293fdccc263fe4c20ebe5cecf8bd2dc11b3f600f183ffecbfcbddf10dcbd9a92053fc829fb3e0d04d7bd072da8bd271dcd3e0bc1bc3e68e29ebd390c8dbd62a0923e5edd813e319175bd68483fbd56bd233e6f81073e8ebc19bdf3b9eebc61296c3dcda5113d63f5bfbc7e0790bc014fbabc8b890ebd212954bc2107ccbc8058ca3c3a504cbd471ec93bb22037bc873431bcbaa9e8bdf70f033d2f618cb9e8ef17bd27100abe7d7f113da12b89b85ac842bd620502becef8103d04c78f3853f52fbdc541dabd2690fe3c9c49573b4ba01cbda6da92bdc540e23c8fb8a33bdd3ad2bcbf7700bda6a8bf3c61b5833be44616bc51ad56bb1692a43c8b5e633bcd8d293c66e97f3c93a9703ccd64a5bd3994db3e0542663fb01c2dbec8f7b9bdbca8da3e5a5b603f7d6a31bef0c7aebd6296ca3e68894b3fba521dbe3b12a3bd83ddb03efab5273f7e7301be7c8887bd7802933eba1ffa3e6763c5bd3b3d6cbd7e71623e1399a03eb31c83bd41303cbdec6b133ee6ff173eb5361cbd1315fbbc7e60913d6151ab3c95f486bcf6ba96bc1a432a3c14618dbdc9e308bc308da3bc84da353d7506a2bdc9fbb63cede518bcbd59833c7c0822beecb4353d2e1582ba4aaaa4ba78263dbebf2b3f3d7978c1b83ece47bc4ee832befd893b3d797147ba7cb293bcc9e60dbe93221f3dcbc18639abf7a0bcaaf1c2bd73b3053d7c9bebbaa3d97dbc1d8139bd6543ce3cb05891ba9f541abc6a3c16bc4b3ec53cd4b984ba4cbfbd3ba3118b3ca37d903c7e5b34bd06d2603e223b883fb54a32becd1149bd8efc593ef44d893f9aa53dbe12cc48bdb6834b3e2648793f386f29be44cd41bd23ae3e3e94bd4b3f86e505be5fa327bdf666283e2f24163f911fbfbd294623bd2245193e2325bd3ef9a370bd2a6706bd24dced3d7512243e15d3c3bceac2c8bc43e7993d59eba63b8b7375bb2c0d90bcbf4f093d2a3dbebd1577a83b5cc220bcfdc3443d88bb0dbee3d2283db50145bca0b60d3defdc30bec181553d24cc61b8a06f743c0acb5cbec4a54d3db81e083b8f1c913bf53052bec5433a3d8601c9b94cbf0bbbb7ca27bead3f1b3dc6969939c57c33bc826bebbdb679ef3c4f8c76bb9c3834bc706765bddf0d943c06059dbb107a2abc805828bced93233c08e3efbb2445c93bae8bc83ce936063c356ff4bb48d4473c44fda73fec2745bed5ce9cbc1d145f3df9b6933f183120be4c3b9ebcfbc63d3ddc938b3f25af15be61fbc5bc1e366c3d7b02653fdef1e7bd0823b4bc6e9b873dd2de283fd56e9bbd81c0b5bc24bf983d8965d73e92df31bd087891bc56d9913d64ec3c3e76f611bcc4b579bceb45703dec1bb03c40c6623c28f3f8bb1501163d828420be0d55fe3c000000000000000000000000000000006640483b5337f73c8d2362becff9383dbacc8e3b03ae693c74f659bec6e9213df6bd033c444f5838222152be3c6ee63cfa52ab3b184a1dbb3c362fbee775cd3c66f9e03911c7d0bb9e4debbd30226f3ccbf241ba85b221bc9a3d76bd1051c23b6e7192bb1b376fbb92c51fbc4a4bb6ba0000000000000000000000000000000000000000000000000000803f0000000036662b3c943ce5bde503ab3ff444fabd8d19b9b97b6e6dbdf5068e3f401597bd87889aba54e128bdf550703f09cb69bd6637d6baf5d29bbc24fb333f753127bdbd5348bb1931a73b2f97e23e0a8b34bc3cb265bbaaa39e3c874c5f3e7212fe3b0e0dd5b97c89f73c81e038bc953fe53c00000000000000000000000000000000000000000000000000000000000000009b8c273d24b551be12d43f3d3b15f7bb52f4083db04445beca19173df8228bbb5275e33c46cd39bedf9cd43c067338bb6fd8e23cdf131abe94d9c73c0eed94bbe0b2903c2c7dcfbd6ecd5d3ce220d8bbbb72353cd73657bddae29d3b70e8e7bb01bc4d3c57c270bceb49893b9b9020bc00000000000000000000000000000000000000000000803f00000000000000006d6afbbd9908aa3f0380f9bd32b16d3c9fbba5bdbaa28c3f259c9fbdf94d083cc62188bdcd8f6a3f856d75bd64b6003c12194abd54232f3fe49c2abdf0a8dd3b1cc4c9bc6775dd3ebbf16cbc2614b53b674bdcba261e503e43aafe3b4da39b3bd018503cc6c76ebc0e55c93c7abe9c3b000000000000000000000000000000006ae1b63c0e3401be1f621e3d2fbe3bbb29360c3d1d6c1fbee658293db877a3bb1267023d59ba38be6608f23cfd64d4b9e9d7f43cc9b42ebe8286ca3c86c3cd39fc87ce3c87a60bbe412d883c5a3c68bb9f25b73cf8e9bdbd7dd40c3ca4313cbbbfc3783c1ba043bd4e1ebe3ba8b687bb3671153c8e5257bb4ba554bb44ebd7bb3efa6d3c9f09143cb5c24d3c4f9408bcd03039be1e97a93ff3a03fbbb0d88bbb46e01cbee8e7953f70587f3c79c2efbbad2114beed628a3f69b8153cfd0fccbb27b7efbd6482633fb12a5c3c9466afbb7a50aebda4ee283fbecbb93ca50b25bb98ac6ebd62cfd73e550e0c3df1b1a1ba0027cebc6177453e4ce61f3d23f40bbba561af3a2670723c386b2d3d3a5c58ba6ae94c3c12f213bec630093d78def1ba4fda25bc793939bdfa7d973cb1510fbb2c460c3cec38eebdf7e0633c83be133b84e3533c3b4d0bbe39d9dd3b37cef63bbf3a633cc48e04be3fdba23b101d633b3622133c301bcebd6027003bfeca3f3ba43a353cf5e78fbd3f5e3e3b5197873915ed193ce9a00abdf248723bba2ababaab04183cab60babb5167d93b4cb44fbb8345663b116a7e3c9d487e3ce324d4bbeda517befa3a883ff2f3443e72cd04bd836c29be7748883f81672c3e63a4fabc4a2319bedc7b753fd0c5143e5f3c01bd77f402befcc44b3f5bf5f83d80e3aebc1005cabd93451a3f4476cd3d4a8293bc122a95bd91a0c93ec99fa83dc4f161bc2ec22abd9933443e9b9e743d518708bced87a9bc108ee43cd6f61f3d7a78a5bb33fcbabbf19894bd9fec333c1afb39bb60bf0abdea7e2f3b102756bc27d1b93bf07952bc16d16dbddf7ce3bc57f97b3c2db310bc2fe399bd298e12bd445b7e3cfbe020bcb42190bdbf8500bd03d85f3cdd75c5bbd8bd76bdc49ed4bce3d7513c7459d0bb005707bd8c3d86bcaaeebd3ba40585bb98233bbc50ac8dbbee9c8b3b2f6c4dbb98b7c03b5a8ec93bde35313be1bf0abc45b0d43c8ef5a63c63a6f5ba807005bef2865f3f62cacb3ee26780bda5440fbee4805b3f947ac03e14338bbd8ef805be7f2f483f05aba53e979164bd74cbe6bd9073283f3912843eda082dbdb644bbbd3ad0023f8171473eb82a04bdb5158dbd3c9fb03ec74b0a3ed976a7bc9c004abd1502403ec446963d487e02bc9f55cabc2e28573d40a4af3cee19bebac9ee72bc7e8806bd675bbcbcf15095399c383fbd5c8f233db0f54abdb07e6c3cdfe405bd5464283b35889ebd7715c23c7e6ffbbc9b1756bc9a80a9bd8314bc3c41ead0bce575a5bc9cb09dbd6c2ac33c60bce2bc6087a3bbcff56bbd64de453c9526b3bcea3220bbda7125bd5070763cd966b8bc52644b3cac039fbce0bf493c8dac9bbc4e7dc13c7e87cfba967a8a3b0710a4bc7ba8193db44e453cd459b13bd49ac3bde264243fbd83223f3a0dd0bddeb2d9bdef6e213f1d161a3fd451d0bd9d1dcdbdfa90133f4b92053f84f3a7bd3de1b5bdeeb5fe3e8405d73ee86688bd766190bdc088c73e92889a3e200835bd22db80bd7f61923e7336433efa34e3bc11ee32bd2420313e7aecaf3db51835bcaea0e3bc5764973dbaaed83aaa181b3b1dd4aabcda81353bac4c7dbd93d0dc3bb92030bd181c773dec3c9abd03cd8b3cdb411abddf0c173de068fbbdb1cf103d462605bdc0b0ae3c26d005bec1a0163df24d00bd1ea68c3c4b02ecbd05e8ec3cb28ef5bceecd793ca229c3bdea16cc3c709df5bcea7a8f3c409b71bd02a8a23c7660d5bc6582b13cc102ebbcfb8c4b3cfd2bd7bc3fdad43c4657b0bbea322c3c8e16d2bca663183d5903223c1b09d73bda2587bd3f01cf3ef1d75e3fa9dc09be9ed991bd0093cd3e010b563f5c790dbeb31190bdf6cfbe3e1e6e3b3fbb83f2bd43217fbdd2dda73ed4f2143f406cb7bde47b5dbdb81c8d3e3776d83e105d81bd55873dbdb0385c3ecdaa823ed92318bd0f5b15bd566e163eaa08d83ddb2144bc56dad9bc6caaaf3da81a62bc59dbe53b17859dbcd226f63c45cfb6bd72221f3c46b912bd3a398b3d859ed3bd7d1e013d731002bdc7195a3da0d126bed48e4f3d118ad8bc63c2313dcda535bece05443df756d5bcf1481c3d810925be01c3343d492be0bcc60a023dd2b4febd26fc053d1927d8bc94cdd63c8579abbd9006db3cf466cabc197ac63cd80332bdd93c9e3ca7b2b8bca52ea33c93ca0ebce987613cc65edebc553afc3c79e3593c34a3123c6c840bbdf6424d3e7c7b883f30251bbec48d17bddeb1433e1c65863f7b6c26beb0ae12bd346a393e80056d3f79b00dbe51a71cbd9c6d2f3ed0013e3ff34dd8bd70cef1bc31921b3ee205093f967f92bd6e19f4bc31dd0d3e7e30a63e88ba20bdb95cbabc2847e13d3d37063ef6a313bc46f2a5bcb3dea13d81cd9cbc8ba8353c935262bc92a9453d1ec4f0bd816f9c3c9dc99abc4b265b3ddbc61bbed9d53d3dacd8c6bcea9b763d8dff35be14d8523d7fdb8fbc73b43c3d44d24dbe6616483dcfa68ebc10c31e3d50d53dbe698f333df5048fbcc9b00a3d187816bed050f83c842a93bc988dc83cdb5bc9bd6834b73c74ee8dbc85c2773cc0a846bdf6c5473ca9cf8fbc1af9923bb5ab89ba6484bf3a5f348ebc8cd69e3cf0d0343cfaf0093c11a5b3bbf775003bfd49aa3f65423cbe195409bc95cfd73ca0a3953f9c341bbe8ef45dbc6ab9ed3c7485883ff57608bea0cb57bc06a61a3d597a5d3f81a8d1bd27b447bc4d5f453dbd74213fc52a86bdbdb556bcf330703da338c73e1f6ffcbc68b419bcbcea7a3dd353293e6bd162b9736d13bcdac4803d6f7008bcb23ec83cb7ed02bcf83c353df04825bee9330c3d0000000000000000000000000000000021b99fba93bd163d01234bbee935243de915f8ba3ceffa3cd0a73fbef59c053d1088b3b980adbb3c860c37bedde6d63c1d179dba8c69953c6f4913bed1b7a43c0619f9babafe3a3cd22cc8bd0c6f3f3cd5e18cbb95b69a3b920448bdd4603d3b8570c0bb5da0683b316e1fbcc3a7a2390000000000000000000000000000000000000000000000000000803f0000000095cf3b3c8fd8f2bde751aa3f360bf8bd909ab23b080296bd81dd8c3fbc98a0bd4932643b43e261bd86186b3f510079bd91f08f3b20021abd5eaf2e3f4fd126bd375a313a2ceb30bc9af2dd3ef4b77dbc6706323b060ded3b296a533e4c14b93b47225c3b2f26ab3cfa4c30bcbbb7bf3c0000000000000000000000000000000000000000000000000000000000000000744c843cb5b82cbe25d7193dd28531bc5fcc9c3cab7c27be5a0c043dc75504bcb970513c673913be2f4fe03c809f0fbc168d393c1783f8bded85c43c386809bc82e5423ce832bfbd87f3a63c632e0abc88f3353cf3956abd1988953c21d91cbcb9f1553cb70c1ebdf15fcd3c66d83abc00000000000000000000000000000000000000000000803f00000000000000005106d2bd551fa83f598dc6bdfe6d343be86292bdc7ad8b3f3d2e90bdf493a53a121669bdf7d2633fa5c560bd5691fe37189836bda74d2b3f6a5c31bda13d8dba6edf04bd823be13ebe91edbc801a9dba716493bc743c5c3e374c87bcb7ab23baca5733bc56f3773cbe0c09bc779c33bb000000000000000000000000000000000c9555bdb5189fbcb09af03a1fd65fbb128aadbc8d7baabdab5df13bfaed99baa63101bdac419bbd48d911bb427cebba187a04bd9ef77cbde12ffbbbd956a6baa3cf03bd9e8c14bd29041dbc04d3e6ba1492f7bc01e822bc6d5519bca31046bae2f4eebc68c2993c679712bccea732bbd659bfbca129393d768722bc0958d0bad616e7bc32ba2a3d251f083c9aff8fbb18fe03be084da83f71cd98bbfedd14bc1f2bfcbdb7959c3fcd8f53bc1a0717bcf1dbd2bd1956893f70efbabbd9cafdbb5e0aacbd9afc5f3fff8683bb6799f8bbe65387bdea61283fa07b1abb1ba0d6bbcca34bbd85a1df3e500596bb7267a5bb330808bd42045f3e85427dbb2be99fbbf28674bc1468ad3cb2b041ba815c72bb6df69fbc3757a5bdf78054bceb0c5cbb68a0cfbd7082033e86b492bd695e733c0af1c5bdc741a53d70dd93bd4480633cf04fbcbdb70f873d549c98bd96495d3c64b0b6bd8c29993dc9b890bdc9c96f3ccdc7b7bd29fdb63d9c8a8cbd77a74a3c9411acbdd4f5cf3d174782bdf8bf443cb662a0bdafd6ea3db10562bd6ea2563cb1279cbd9fad023ee31b38bd3989323ca84c9ebd7207133e3ce512bdf868263cd571c3bd0f71863fb742263e1e27bfbca82dc7bd481b833f5bdf0f3ee189cbbcf92aaebd066f693ff596f63d1d288ebc929a91bde9b9403f2131c13db17288bc145d71bda3a6153fa9ba853d37bd5bbce3913cbd59f7d03ef9ae153d42790ebc1b5310bd354b703edbab133c8f26dcbb3190bfbccc2ab13d5f428fbc526191bb3be4babc58c687ba018424bd8c3a44bbf74001bea3f25a3e36f10fbe3871ff3c6133fcbdbbe5373e02c11bbee7da133dbce8f2bdcd04283ebe911abe367a073d42baecbd49162a3e978f14be2ce0fa3c5d69e6bd6768313e9c8711befb160c3d79f4dcbdd205393e6b0afebde8c8003d72c0cebdc2e43d3e0a7be8bd30f0f73c43bacdbd5280463efc86cebd4d85003ddedcccbdb5fe503ee886b1bdec69e13ca1029abd92d7533f3d2ab13e0b422bbd280196bdc2644c3f1395a43e2a922bbd704487bd8b43373f01368d3e39ec10bdc1ac68bd61601a3fc70d5b3ef2c5e3bc770e4cbded13f73eddfa1a3e19d3b0bcdf8f28bd0e1bb33ecd9ab53d7cfc84bc141110bd2874623e142ede3cbc3928bc89b2babcd4fae53dda75e0bc930077bb83abd5bc42e3343d10d38abd25103dbbb034edbd76e2683e78863bbe80bf373d7a9df2bdfc1e5b3e880c4fbeea67403d0e7be8bdd2754a3e64934abee7ba363da29be9bd97fb4c3e34d94abe091a463db4c8d9bd097e483e3b0931bee613283decfdddbd43de523ed84531be8af0403dbc00d2bde14f513ed74319be379b333ddbb2cfbd34c55a3ef40211be1d353d3d2399c8bd18485f3e264e01be0c48323db4cb6bbdf4801b3f014c0b3fdafb69bd810b5fbd8755143faa84013fc0ad67bdb88247bd9bad053f510cde3e9d5a3abda35238bda0dbe63ee47eb03e78d920bd960828bd30beba3e80987b3e63afe6bcb1bc0ebd1e75903ee8891b3e75a1a8bcddcefbbc6718463e2f69793d39da6cbc8c8dc4bc3a92f23dc9e6aabc8e12e9bbf93ec9bc54116e3d3760a8bdaf4096ba0b95bbbdc867493ebf2550bef15b5c3d8f29c6bdaa34493e679975be133b763dc1e8bdbd08693d3ed0e173be1859703d0a03bbbde294373ee37369be80a76b3dda00bcbdc4433c3e30855abe822e683dfe12b2bd30fe3c3ebef23fbeeda1563d13d1acbd1bbc3d3ee9762bbe8582613d7f4ab1bdf7a9433eaa891bbe766e5f3d86e3a1bd8948453eda8f0cbe649e533d18a415bde370c93ea7c7453f4196a2bd24eb07bdba02bd3ecf513f3f00b6b2bdd1c4fbbc493dae3e3c14253f870c96bd87bedfbc6db4963e18a8023f78576dbd7fc6bfbcacab7b3e951fbd3e150835bda60fa4bc3001403ef63e6a3e5635eebc41b390bccbd2063e1a85c73dbe46a0bcec9140bc0349a63d46db87bc7155e9bbf3da7dbcb7eb343db04bbebd0e682db9c4f162bdbe730d3e4cf854be4d5d793d3d4464bdaa330e3ea29b7fbe8a5c873d3a1266bdc269063e2e4181be08a6813d289665bd4a61063e64cc70bed501723dae8459bd2ceb023e31625abedf3b6b3d64c660bd119a023ec8ed3cbe74d1623dec605ebd1168033ee98c20beb04e5d3d3db954bd7229073edbb509be0cf8573db46153bdd9130c3eae98f8bdbbb1533d02a89abc9529413e34f9823fd628d5bdb6c77dbc8a702b3e0876803f9572ecbdeea778bcbc72243e30235e3fe550c6bd43fe57bc6e87123e7467303f98f99abd774631bc65ccf73d1003013f0b7b64bd39ad20bc2fe5c83de996a23ef87c24bd22c3fdbbf500973d2b6f113e2eccc1bcd80464bbd08d413d7d13cbbbd90ac6bbec2af7bbeb1fe23cdebad8bd731c883b5d0f69bcf428603d8c4538be83a7653d671ab5bcfbc2ab3d307f75be42c68b3d2c519dbcfac68d3da06e6dbeb1b36e3d6d37a7bc94bc863df1395bbe31f4583d2ff4a3bcafb4823d86593bbeddd3493d1779a7bc12a97f3d212117be798d353d9f74abbc36bd713d54c6dcbdeb90243da045b2bcaf82783d7d7494bd2be7103d2d628abc9ec75c3d9fca9cbd355d423d928d37bba3f9cd3b9519a93ff8b112be799969ba892e013c20bf9d3f0b3512becf6829b95516903cf868883fb716eabd59fb06ba8791b63c270e5b3fd365b8bdec0085390a0dd03cccb9203fb27f8abd1a170a3b726ecc3c2b87cd3e2fa536bd1cc92e3be406c73cf857383e839ac2bca0c22b3b5400ec3c76f32ebcf5dd54bb3e8c223b3fa40c3cafa4f6bd8bb0bd3a000000000000000000000000000000001a01923caa61f3bbd61a27be85150d3dfd57453c300ea23a4a9b21be98fbf33c3621483c93d5cdbb9d7a0cbee34fb43c23d8603ca40919bcd4dee9bdb4bcae3cfcaa393cb6a71cbc7cbbadbd2c23993cd5610a3c4affd4bbd2d847bdccd9663c16673d3c68053bbc34fdd6bc131ea13c0000000000000000000000000000000000000000000000000000803f000000002fe3ed3b8281c0bd51ccaa3f1e9de2bdc8a0bd3b02ca83bd03ba8d3f26c89cbd1c308a3b440e4abdbdce673f0d8372bd4303b23b521323bdb6052f3f03c23ebd72e7903b2d3ae2bcd542e83e729703bd1325a23bab2e79bc31b3683e134676bc3d20dd3baa3657bcb8e3ed3cf345eabb00000000000000000000000000000000000000000000000000000000000000000cfb063b2710e3bc4367f2bc9ca4a93bd2014b3b093203bdb8d5c2bc7edbaf3b777f283b88dcf5bc08cba1bc873e823b8e49653a8de7e4bc24e989bc570c5f3bcdc199bad23cd5bc01ac6cbcce843c3bcc7e2fbb0d36b8bcbdfb49bc87d7363b1ee369bbab3b76bcef042bbc522ea83a00000000000000000000000000000000000000000000803f00000000000000009db147bdc5b58b3f88faa0bca06d98bb6f09f3bcaf09683fa76f28bcaeff88bb521c9abc0af63b3f92a2f1bbf75769bbb9ca42bcfb65113f91fd02bc881d13bba84a05bc2303d13e1d6839bc6a7392ba4081cdbb5484813e9e8883bc586bba3af547f1bbd516d23dc50abcbc9e33493b000000000000000000000000000000000b4587bb09e0bc3be7eec5bc18b83bbbeec05dba4a34b4bce3160cbdb3a5183bd67e103b51f3f1bcf65400bd8cdb2e3bb2743f3bab2bf8bcbf51e4bcae26083b854ba93a754fd8bce00faabc41b5d03abbca6e3a7948dfbcd4c6b1bc9395073be4a414bbf306a7bcde2590bc18599c3adaf6b4baf2b345bcbd1f4abc999b083b36a4b7b90aea5f3a5de5f3bbe425d6b98b5badbd0a428c3f41d2eb3dc561c2bc17fbb5bd1d60843f3e9dd43d5bd5cabc783080bd7af75e3f79ebc13d8741a8bca47335bd054a343f4bf2a13db66089bca54afabc29b2093f6a61763dc1ae6ebcd963b7bc8aabc63e56ab163dce1b24bcd4059bbc30a5723ef4917d3c156ffabb64b076bc85b1c53da54e0dbca5854cbbbc6847bcdf068fbc6e68b5bcd91629bbaed4f0bbe68b813cf8f75ebc24be23bc51e35dbb96c406ba3b17d2bc7fc7e1bbfe47a2392c472dbcd2b2d1bcb30898bb2c4a273b723389bc8504dabc1ab809bb3bdb193be6c475bcece1aabc4e95baba0412933aa8198abc5a67acbcd8caa8baf121093aab6c45bcafb77fbc834405ba30bab53868a3c4bb11424bbc479c2b39b031ff3a33b2343b6d3ab6bba6dc8cb92fcda9bddb5e6c3ff0fe893e2d7b1ebda78fc5bdf989623f8ed27f3e77653dbdf7d180bd6a6d3a3f89695f3e813c0fbd4b2e68bdab2b1e3f590d383ea8ec03bd146e19bd3c59ef3e349f0c3ec6e4cfbc8a410bbda447b03e35cac53db51bb8bc1cb3bdbce6515d3e0570673d9e1b8dbc56a2a4bc3b37c53d5d9d673cd62964bc2a304dbc8aee93bbd9c172bc3fb219bc85d511bc136f943c13888bbb18ec81bc2638afbb3899dd3b0a5692bcc46073bcbcb383baa681c8bb94a1b6bc81d51cbc3926dd3af74519bc4823c2bc2bb3f1bb02d0103b392c41bc0998aebceee78bbb2cae113b6b0358bc986ca3bc41f964bb9562aa389f2617bc1fba80bcf04aecba6cadeb393db689bb5e722dbc6cadd9ba520d683aa1823d3b447177bb8a82b4bac95297bdf548413f53f0da3e96e352bdaaa0b5bd7d2c393f7c4ecd3e14797ebd19fb8ebd59ca1f3fba53b23e4feb5dbd0a7863bda710033fb49a923e49bf3abd011836bd9fdbcb3e5252623eef6e1fbdc15607bdb70b963ef600223ee0db05bd56c6debcf3c33c3e4c26c63de961dbbcb934afbcdf72b13d10bd183dd82cb9bc216c61bc7248fe3a8e1d1cbc49d678bced741bbc2ea0873cb742233baee2a6bc4fcbc7bb3fe0ef3b489125bc06609abc2feab1bade5950bb65a595bcf5ad38bcd81bc5b9573f00bc7b08a9bcb1ec11bc18401b3ab163e5bb0cb178bc8ae5e0bbf709e939513843bcd71da5bc250eb1bb7853dfb95d8d16bca76565bcd70c8dbb4b8645b695ee9cbb64c109bc0e4928bb8bdd1f38eb4f943a0983f8ba73081cbbe1cd7ebd931a173fe720163fe6f180bd734197bd98fe0e3f3ad00d3f80149fbd1a9367bdc085f53e15d2f13e052e79bd61164ebd2adace3e0f3dca3e12dc60bd11def5bcc1ae9a3e03a6953e992713bd663905bd291a6d3e87c9623e79d321bdfb24c0bca58f153e0ee60b3e40ee01bd0e44a4bcf4d4903d21bd763dc28de8bc4aef63bc5681393ba4cdd1bb5e68a4bc80e518bc53ab293c0099c93b3e5bbebccb17c6bb8ef82e3be3eb12bcac28bdbc03bb1dbb3d32d2bb9229a6bce6288bbcfcaa6cb88f3d25bc9004c3bc875a58bc5e209d3a5ddd24bcbd20adbca1531abc1248383a6ff948bc681b95bc1c93fbbbfc06b4ba418249bc7f3c83bc51a184bb9fae4538ffd7dcbb8fe506bc9f3558bb93bc40ba135ff6b92b2ef4b9003377bad9d64ebd0a05db3e6712403f739996bd5aa67abdc976d03e618c373f5d77bbbdd5af50bde0a6b63e01f91d3f120b9ebd5c6927bdbc3a973ed195013f036a84bd6a0203bdc1686f3ea84bc73ea00a56bd0c09e8bc4b32313e2e478f3e9f463abdf875babcb89be13d3c69333eb5311dbd93a18dbc1efc533dc7f6993d2ad409bd8e734ebc414679ba5c58e0bbb0e5bebc835c0abc43eccd3af058823b9674bdbc27e69dbbf18dcbbb339d69bcbc49c2bc20dc82ba57a912bca88ab4bc37337fbc493a24b8794444bcf5b0d8bc942159bca20ff3386e683bbc65bdb3bc3f0819bc4fbd24bab7566dbcf612b8bc500003bc1516cbb918a63abcb8ca85bcf7f7afbb67c5ddbaea853dbc692307bc97d025bb5b38e9ba0d2fa1bb0279873adef8f3ba681320bde4d58a3e00bc6b3fd512adbd9abc38bddcd7823e338a613fdc5acebd999b0abd5611673eafdf383fcc5891bd9547f5bceadd423e975b1c3f2d8f86bdab1cbebcdb6e173e1f10ec3e9d6a4dbd0bf2a4bc109de03dc571ac3ec8cb3ebdb43376bc2f7d8e3d28cc543e47d116bd72355abc042fe63cd64db43d8cfc0cbdc9d51abc483090bb91bc2dbc64c8c5bc974db0bb9b9c07bc92774bbb9413bfbc616222ba41a482bccc1dfdbcd2afa8bc69f38c395b726ebc179b15bd94c584bc66e0cf3ae73583bc55e217bdf95864bc9acb403a5a695ebc6e9302bd84072abca1219cb9e7f77fbc1dd1ecbc467704bc6902a0ba467281bcc6d4bcbcd286abbb00a6d9baac1b6abc5ace4fbc8cb9a1ba345d48bbd5870fbcbf114037e930afba394ac6bc6ed0ef3d4d358c3f9a2db1bd604bc8bc55c7df3dccf3833f21e4bfbde979a5bcd986d43da2f45d3ff91790bddaa97dbc51bfb73daa7a333f9ad766bde7724abc97468e3de447083fdf3630bd3f302cbcb0014e3d89dac33e209e1dbdced405bc3c88e23c8a076f3e01c90bbd645ac0bb57c7953b55f4bb3d4c81f8bce070aebbdb5840bcadc0b4bc15abcbbc00000000000000000000000000000000b4f0b03aa7207dbc144dfbbca9c16ebcd5ee1b3b6cbd55bcfa560ebdc96132bcfd14c93a785e43bc2ec604bdb206f9bb98f09c3a11783dbc7666eebcb2d6f5bb5efe9c39aa414bbc84fad7bc278ec7bbc3f187bab31e58bc842ab5bc697e90bbe7c751bb148464bc67786fbc5e704fbb0000000000000000000000000000000000000000000000000000803f000000002ec6c0bbd7576ebcd1298b3fe86161bd80cd85bb47de8cbbb990673ff6b018bdbc0a74bb48c52fba20fa3b3f0c27e8bc130733bb68cbfbb85e12113fe6a6b5bccedcd6ba8c022dbb327ad03e0829a0bc3a6a3abaf904e3bbf90d813ec88598bc823c4c3adca660bcd098ce3df9afaebc0000000000000000000000000000000000000000000000000000000000000000b8bd1dbbb3e1683ca95486bc93b774ba171563ba414c753b996a64bc2a6ad6397d07a8bae8846eba7e0d4bbc3a0f973a1f5db1badc676abbfc6c38bce495973a2195f5bafb3fb9bbe88835bc2a24093b1e0842bbf700dfbb982d43bc3941273a51a947bbd8cd4abb52373dbc70a91f3b00000000000000000000000000000000000000000000803f000000000000000024faaebc52697a3f834ea8bbe30712bc377852bc060c543f748964bb4151d0bb5fee17bcb3f92e3f1a6884bbf6b6a5bb95d3dbbb88400a3fa40cc1bbc8d287bbff48d5bb4d5ccd3edbdf13bc414946bb6fa5dabbce2a863eab105fbc9ca3ddb968580dbc945c033ea3e092bc329394ba000000000000000000000000000000006a8215bceece0a3d90932cbcfdc158bccc2911bc72ffe83c89747abcf6a927bce662adbbc5397e3cd33d72bcdd43ffbb623b8abb6de4193c7ea683bcf894cebbec197abbd4738c3b55a750bc33f8a4bbba9387bb87fece3a39a661bc481d73bba4845bbbd0c97d3a98065dbcfb3812bb014889bb30c33e3bebde58bc01fdfcb98e0f2cbb98cc143ccdda11bcd6cf29bb36fd2cbd3ba87c3fcbde043ed2e1bfbc7edb2fbd6599663fb430f03d4b84c3bcf994f9bc01d8433f8242ce3d65a6a1bc3a7ac4bc233d223f7968ac3d3d1590bc5c9396bc0dc0fe3e42e07f3d01c664bc39e388bc59e1be3e7565293df53a4dbc538286bcf85e7c3e8549a33c59812dbca42b81bc7adbfd3d34f40abba51205bcabaa59bcddf5263c2aa873bc07c7fabbcd454bbc7061133d0e0812ba29cdb4bc12f35fbc305b173d3674b0bbc7e3bfbc55c9fbbb8c1db23c0d4ad2bb682c8abc63b2e4bb8506923c417e0fbc609582bc72a5d3bbac88483c220b0abcceb64cbce06bcebbc3681c3c8a0b2cbc3f0342bca45a93bb8be1f53bd99809bc308911bc350ca1bb8f8e3a3cac6027bc08ea09bc067d18bb8f224e3cc2a7a1bb6f96f3bbcf2236bd4f55573f0afa8a3e361700bd9fc15bbd47bf473f7f957e3e28941fbd5d1c11bd6bd0263f95f3573e4983f2bca61b0bbd3e170e3f4005353e5360f5bc496ec6bc1640de3e6ab60b3e366fbfbc6de8c6bcbbd2a93e05c3ca3dae64c3bc9e899dbc79465f3e91197d3d20579abc5979a6bc8d65f23df2dec43cf2d29dbcb69768bcbae3813c6d2fe3bbc82b6cbcbf8e65bc0096113d058bfc3b7a9bf1bcaab957bc0a331d3d09c5a43b682a0abda87d32bc337ae63c988918ba3e47e9bcc960f9bbb8aba83c83d062bb558dc6bc821bb7bb26b5813c3c5c96bb27c2a4bcc84eb8bbfb994e3cb735c9bbb92291bc1e95aebbacc03b3c1af4cebbb0827bbc764f89bbf638553ce0a0a4bb38ee64bcacde77bbbcd3493c43149f39fb3d39bcd71238bd7a73333f75e9d33eb2fa24bd3ed85dbd028b253f4bf1c23eb4314dbd77f535bd31410f3feb60a73e33c735bdcf4115bd05efee3e66c58a3e76cc21bd8be2fbbcca16be3e6e905a3ee3040bbd21a0d9bcabc48f3ee093213eccf201bdf2c8c1bce2fb423e960ed03d581becbc938bacbc7b47d43da1f5423d69a7debc0d5781bc14e4873c4201d43aa2d7a0bc4b3978bc76a8003df29c6c3c22b90dbd61376dbcd9eb043d3f29453c0e7721bdde8f23bc213abd3c2bd1a73b3ceefebc449b0cbcf3c0a13c8db5e63ac0f6edbc3feabfbb54cb4c3c4ccf6ab89d57a7bc8323cbbb0294303c6759feba5f23b7bcb80fafbbe38b263cf06c20bbde3496bc2951a5bbabc5423ccf2c6fba1cab90bc2ce333bb487f4c3ccfc15a3a80927abc8c672dbd73110f3f5e410e3f5b963abd8a0747bd0e72033fe333023f477f62bd0e521cbd9c4ce13ed5eddd3eb89639bd0fe50fbd655fbf3ef79aba3eec4235bd2f68bcbc187c933e5c4f8f3ef7cdfebcf968d5bc7382663e30385c3e3b2618bd4345adbcf3b31b3e9b140f3eea4902bdebb4a7bcd366ad3dce2f903de09201bd5ba96ebc0db8853c21bfb23b30b0cebc3cd56abcf6a2bb3c7725ad3c167522bd441072bc9f67d73cdde5953cfc8b38bda58634bc79b0a23cefed1e3cf45c1dbd204010bc2c92753c01a58d3b20fe05bd8494efbbb3993f3c367df73a565eecbc7391d0bbc29c123ca0ca31bb02d6ccbc6d24c3bbab23fb3bf9ed01bb6a93b6bcf998dbbba829e53b86b0f3394528a7bc63fa92bb5844143c8697863b4a2c84bc80f41dbd9bedd53e60e8323f5ae046bdfce737bd3a33c53e88b6243fb8f87abd918c19bdf94bab3ec26f0d3f16e65bbd653803bd86b28f3eb586ea3ef41444bd6232dabcbd0d663ea85fb93e5f7a30bd2eeebdbc141c2f3eca838a3e81e824bd74dfa7bc541aee3d4fb6373e77891dbda14393bc9571843d822eb83d343116bdc2c86bbcaef7493c149cfb3b1814e1bcca244dbcf46f833cfe6ec13cb21822bde7f358bc24188f3cee4ea23c5fed3ebda6a20bbc24e2373c3343153c915005bdd4dff4bbb4b00f3c36ee963bc13c09bdc905cfbbf3e4c43b6c51e33a6482d0bc2dd8f0bb8fc5883b9bd7a3ba6c6fd1bcab1bb3bb3d440a3bac989dba437fa0bc6c21d7bb91c9cc3a325b593aac3ca7bc5b1295bb5fef813b1f40953bd4ad86bce2b7f9bc41258c3e9b52573f000e4dbd2af315bd7563823e5d72463f4a2a7bbd0869dabc39645f3e39b1253f9c6a3abd158bcdbc92bb3e3ebcad0c3f2cb33ebd8eb49fbcb953163e44e2da3ea11f1ebd0e28a1bced16e83d2d02a53e49e623bd205175bcb27a983dbece563e1f9b08bd4f9f80bccf2f203d552bda3d4ee613bd32e538bc1f98c63bff91f43bece3e1bc999028bc8cf8e03b4490cc3cfe2523bd2d740bbcbd3b903b564f8a3cffb729bd56d6cdbb572d6a3b3d56ab3b5dca15bd5010a7bbd66da83a3a460d3a28e4fbbc99b499bbc9a1bdb9542034bbfe00c6bc2b0993bbc50760bb50c7a9bb1082b7bc34a2acbb757a9fbb1707b1bb74a39cbcf345b3bbc8ccf5bbc69161bb1f1f86bcb92275bba82b53bb809b923b668979bc2d4bb6bc16c9073e455d7c3f3c6e41bd6edabebc5c29fa3d8cd0653f5b3d50bdbd509bbc5cbcde3d844a433fa54323bdd21d84bc5d54bc3dc72d213ff0ca14bd737952bc0027953dbf9ffc3ec42002bdbb014ebc42695b3d7f6fbc3e5f0506bd641427bcb582093dee12763e25e503bd756012bc7ef3593c6810ef3d1bb209bd94a6f6bb4d573fbb448ca13bfb3cecbc0000000000000000000000000000000050e161bba7d70abb0d79213c319fe6bc3ffe3dbbcee28eba27143439b989aabc5f20fbba93b267bb632c4fbb872097bc3b6514bbc6b37ebbf277c0bba65f76bc1e541ebbddd8b8bb5784fdbb58dd5cbc3fdf58bbbd4df9bb8087febb90c538bc7d9597bbba5f14bc1ab09fbbf4c035bc0000000000000000000000000000000000000000000000000000803f00000000694128bc3a3c6aba38707a3fed5aeabc8b01adbb6944513b1fc4533fd546aabcba1dc0bb5b92313b15e52e3f54dd9bbc3c7b9dbb9815b43aabff093f29e589bcec7f74bb08b71bba2797cc3ef0cf90bc4c254cbb1a7486bb6f8a853e109298bc6eef6abbb6d502bc8652013eaac1b6bc0000000000000000000000000000000000000000000000000000000000000000226598ba128c033cef870dbbc82f7bbbf1781bbb06e7df3b2635edbae1f147bbd7e0b7ba05c5aa3b1bb701bb4ab733bb4fa4e0ba85278c3b4818f1baa45104bb1b8e40ba4d4cc13bec3c4bbb17a8f9bafbe0b6ba81604a3ba9db1dbbe438d3ba3c10d8ba4483ad3b4193fbbabb1a43bb00000000000000000000000000000000000000000000803f00000000000000006eaf7cbb8c32643fb86db0b8cb4f7fbbc8488cbb5cba433faaec1a397a984dbb3a2c33bb00fc223f0c34c0b9cae03abb224654bb243e023f567614bae2e914bb1c0328bba4c5c43ed71020bba98123bb4e455cbb10b9833ed21307bbe2d30abbd3c67bbbe5be063e6881e4bac7cb4dbb000000000000000000000000000000005d4b26bbaf9e363c6f9de8b9a033e6bb5df180bba0ac593c3f2b28ba4d970bbc519f1fbb2ec42b3c1f967eba65edf0bb1fcc39bb6e6c133cd809b8bab1c3ddbbb43ff1baf951093c0a8e5aba69a3d4bb4ef633bb4713043c682e84bab40fc0bb7ba930bb27ea033c384595babed0bfbb15ba3fbbbb32153cfa268cba2dcbc8bb736006bb3860033c953b60baad91aebb004ed6bb1789643f183a023e7976debba3c007bc62d4493f1784e63d09ad07bcf89cc7bbe5de2c3f5109c53d7033ebbb84b4c4bb0dcc103f73cba33dec5edcbbf960a9bb0c22e73e62d1833db911ddbbf19abdbbb35eae3ed382443d4a67c1bb701bbcbb632b6b3e057a013d9e78cabbd05ed1bb7da6f53de8da7e3c6b7dcebb684da6bbb0b7093c9fb579b9d7cfb0bb188e27bb443e463c9635213b7d4524bc7a4ea8bb33e5763cd889093bbfd046bc27394bbbe503343c4da1893adb231ebc0e7a6ebbd9a2373c33c2d039476d34bc808334bb65231e3c0115343ae4bc0cbcdebd62bbbd312e3c8ed3423a97081ebc97e744bb71cc133c7e92213a8c6404bcf00a5fbba5ea383c3f757f3a40a03bbc378528bb8824113c7054363a718ee7bb47090ebc4942443f3ef9823ea7e119bcfadc2abc2ac12d3f7498673e285e3abc7c42ebbbfe5b143f2b99453eb53012bc26a702bcee16f93e7566273ecdb82bbc05dfdfbb5621c73ea719043ee08b02bc27a0f8bba35d973e9b76c83d210d17bc8ed0d0bbab544b3eb7e2853d3075ffbbe699f7bb1ad5d93de0540c3d380f17bc1e34bcbb8e4a153c3e05f93a4503dfbbb2475dbb193a2b3cb4e14b3bfcb23abc69d49bbbb13a5f3c5c60853b020664bcf05984bb0b64483c9d87493b74ce50bc3c1286bb3e8e4e3c891d543b057d4fbc48e658bb0e6e263c6d63b33a91e22cbc7d0d75bba67d2e3c3a74173ba1fa3abca29f6bbb74af2a3c5c2a0f3b666331bc99678bbba8c5233c814a403b7e6629bc48452abbe27c153cfe96df3accc51ebc86b300bc72f5233ff3e2c33e70500bbc0d7b25bc10be103f5657ad3e8c534ebcdd600fbc6ce5f83e7dc1943e465540bcb7e02abcc3fcd03eb077793e3d5e3dbc2f6cecbb70fea63ec6d8463e2a141ebce4e501bc35d97d3e76c2163e0d342fbcbab3f2bb28922c3e2a7dca3d0f132bbce61b06bc98f7b53d58c7563d88bf08bca0dfc0bbab86193c7aa1683bc7bf14bc355497bbac39293cda17893be9a348bc7d62a2bb98d7453c708bc43b006869bc25ff85bbdafd283cd69b943b047c4fbceb3985bb3cf0293c45da873be30e60bcd7d649bb009d023ce2444a3b008723bc0d0888bb52e0243cdd547c3be56e47bc32366dbbf29d163c3ef7513b85fe3abc30b573bbf6e9243cab16633b350b4dbcf4fb6fbb522f133cf5a13e3beea811bc1df20dbcd909033feced023ff63437bcf37a1ebc21b2e73e11bee63e735551bcf13507bc4edcc63e19d2c53ecf1e3abc1c0f08bc3b1fa73ebd9ea53eb21d4abc7f5acdbb6008853e91d5833e658514bc49a102bcfa464c3e85f4483ef3fc3abcde76e8bb8c810a3eb0f9063e771d2ebcedfaf4bbc7cb953d1e6a8d3dc6a83fbc0829dabbf4d4143c8b84a83bbd8d03bca90397bb71ea0a3cd31fdf3bba5b4bbca279adbb96d8393c76eae03be45082bc24ad8ebbb5841a3cfce9cf3b20156ebc9fc68abb75bb173cee93b43beba867bc374ca5bb06f8063c48bc9a3b2e3048bcb0f880bb97f61c3c64348a3be2a372bc49878abbc4910c3c74c69a3b5d0d50bceaa888bb9da3193c02e29e3bc06157bcc54f6cbb4c66e13b931c433b3bf624bc3f2406bc0ea3c43e8de9233f253f32bc1c8414bcb27cae3e53f10f3f1ad366bc194c0abc95d4953ef2c6f73e387b50bc439a04bcc1967b3e02f4ce3ec8604dbcde8edabbfeef493ef7aca53e854833bc7d89fcbb9b0c1b3e0c167c3e851762bcf6c2fabbb6ffd23d0945293ee8b640bcfc98febb640c673d6f39b13dd8d14abc925ed0bb266e0e3cda98ac3b851318bc768f74bb2dfdcd3b86abf23b702e4bbca41598bbcdbb093c3493123c2ed183bc9f066dbb4778d83be0b3cb3b93d953bca4f081bb6effed3b73c3d03b25356cbccff356bb905ac53be7f7a33b6edb40bc3b2a23bb4022d23bae30a13baf7458bc79335ebba9cfc03be1a2913bfd8a36bcc0cc88bb988e013c7b95923bbf845fbc766187bb1374d43bc92ea83b32d32ebcc161d3bba118833ed9e0433f8c222fbc82d207bcbd33693e43232d3f781e5fbca5b1d1bb67aa473e5de6133fc32233bcbc2ae8bb4fb5283e4e16f83eb3654bbcc7e0c0bb9ec2063e6400c63e410e2dbcfc36f7bbd663d23d55c0953edf7141bc6fe2bebbd9578c3d35da483e78b628bc8098ecbb12271f3d4b9ed43dbc2a55bc5417cebbf111c63b4033eb3b196525bca04964bb2802813bb830053c12d13fbcb52a73bbbff19b3b97720c3cf1386abc4bc648bbdf87933bc02dd93b2d8151bcae173dbbeaa9823bcc13b03bd8ea43bc26bf41bbef8a823b0a2cad3b506b38bc966d5dbbb56faf3bb89d893b114d38bc67235bbb4a27763bfcf6923b46632dbc8c3c75bb33d5933b33a2bf3b240144bc4be644bb04566f3b8e55933bcb5212bcd14daebb2441033e1372643fc5391dbc1e55c6bba43ae93d6752493f8ae93abcfbe4a6bb0dc8c83d8d9a2c3fe87026bc0b579fbb392ba93df4e40f3f88f21dbc71d7a6bb0830883d856ae63e4fd91dbc26dda9bbe4d44e3db86dad3eb4f420bce454a8bb32b70e3d7a23693ed5891dbc672dbbbb3df79f3c5487f23dae113cbce28595bb19ef403b65f3ce3ba3d60cbc000000000000000000000000000000003b7210bb810ecf3a3a0fcb3b2fd01abc889ae9bac04bac3991bdbf3b738c0bbc655811bbb7ad54ba3fc89a3b9379f6bb898bb3ba69107b3a3b64083b85cbbbbb803bf1baa6df613ae6e7313b60efdabb9814e2ba3c0da13ad17f5f3bb12c02bc374d1cbb7f9e8c3a92dc543b213fecbb0000000000000000000000000000000000000000000000000000803f00000000ddca55bb27b1963a5225643f6a8cdfbba2f017bbfc6ad039b0c1433f3a2bc6bb127124bba0fa1aba951f233f6394acbb701efdba36127f3aff0a023f428f8ebb853622bbae734b3a72c4c33e1f2cb5bb101f25bb0116943ab472833ec0c5ebbbaf114dbb0013093a2d68053e1d91e0bb000000000000000000000000000000000000000000000000000000000000000040fad03bcc6c06befa91b4bcc4b8543c1df9f73a21d9febd9a22cbbc1da54e3c462050bb4eebd0bd95e3ddbc0232203ce4d2aebba92cacbd337bc6bcc35d133c7006b0bbe63e84bdb13a9bbc5b1e793bbe1f3fbb53cb3abd81e4e8bb0815813bf3e803b99d18abbc3f66643992dd843a00000000000000000000000000000000000000000000803f000000000000000048c5afbdb372a13fa6ab92bddacdac3bb8884fbd9ec2853f0ff426bdb653043b4eb3febcc1d2573f2886cdbc4436d83a3e1e87bc2756233f95417fbcd13e293bdbf8b6bb251bdf3ec94d55bc1056123b1b27d63ae289743ec5b953bc5282413bfc2b803bf8894f3da96779bc9b49973b000000000000000000000000000000001b5477ba036686bd76119abc616ead3b6f0e243cf0d10ebecacaacbc033d5a3cd3bd3d3b608e0abe52d009bd16b8543c807500bbc05eeebd6f0a1abdb8ad363c8f9e98bbd713b5bdc66403bdeb13023caef3f1ba311492bdd4d4cbbc03c6073cade4633a01fd39bd436159bcfbb6b03b22dddb3bd80c90bc72524d3ad6be273b3ab3c83bec57183b7566fd3ad946313b94a915be4701a23f8301723de1a098bc2b6d11bebfb19a3fc9d7483d864794bc01e9dabdc1aa853f52b4793d00288abccf099cbd1dac573f16387c3d2d3161bc51374dbdf10c213fcf534f3d841e3ebce2c90abd3bc1da3e51a71b3d1ec319bca60890bc7174693e5edb9e3c7805cabb608486bb34ad2c3d72e9fc3bee8b35bbe740b0bb2b1392bdda318abc31a009ba3dd82fbc1f94f5bcf56684bcdaa9fdba62cff9ba3874b2bd1e5c1dbd38690b3ca3f842bb9f0ab1bd3ad93cbd2ddee63b6e5935bbf75ab2bd466044bd2616163c244b81bb50d685bd09cf22bda1c9b83b46cf60bace9461bdbda80cbd66f8e43bf91e9639247c10bd8020b3bc2f9ca43b617de03b51328fbc8f9c23bcf2c7da3be326ad3b3b64da3a3df1c2b9e4cb953ba3ca0dbe3203873f3a0e7c3e58383abd3fb21abea82f863fd7c56b3e4fbd4bbdf396e7bd60d7633fbb9d5a3e80eb27bd5ba2bfbd61b13e3f85f4393e8de218bd220685bd72270e3f993f113e463ddfbc001647bdcfd3c73e8d09d23d467bc3bc677100bdc917623eca57743da8db8abce72592bcf290833d8d368d3c1d1b39bc733149bc96530abde57c70bc601beebb4d4d89bc3797a6bb590679bc696633bcc6f804bce5e754bdd8533dbdbf9de43a8355a0bb6c448cbd70eb67bdbd5f7f3baa1ba4bb209a84bdb4a263bde8e7523b7c4fa0bb6ec761bdb1894dbd6fe47e3bfc6fe1ba140c39bd385f22bd3dfab73bdb62473a01fefabc7e2be2bc49d4e83bd688a83b87b18abcad3975bcc197133c075d653b85c9473a2a6d5dbb0de3ef3b2710f6bded3f5a3f8dade13efa7993bd5cb109bea3ba583f2953da3e2b25a3bd5496e5bd9a0e3f3f0a50c23eec988dbd668fb3bd34311d3fd308a23e4eb068bdc1938bbd4595f23ed4ed7e3ee0c346bd5a5b52bd39efa93e4956323eeae916bd8e5016bd9941493e67e0ce3d015ce9bcab84c4bc3a9d923d4a5c0a3dc37d98bc7beb9fbcecb54dbcd7e67cbc7ec281bc869f9abce8ef323b11a385bc5dbd7fbc0f1237bcb54103bd792056bda90286bb9d3dc1bbfb8032bd005c80bdc8d81fbbda597cbbe1fe51bd71c185bd8b2e083b987bd6bb1fe4f7bcae252cbd8cefaabb97121fbbe1de0fbdb4ed4cbd4be80c3bd3ddb5ba0c9cbebc6a6700bd8a5bb03b62b2543b4b5a53bc5c448ebca02e193c55a7123bb6b8efb9e63f8cbb4892d63b826fc6bdf2d1253f8554253f2268c1bdf844d9bde47e223f92bb203fb370dabd94a3b1bd7db40e3fc0b40b3f6ae6b2bdede99dbdcdaff43ea6dbeb3ee583a0bd98a149bd51adb33eb4b9aa3e9ac751bdfd2444bda728893e2db27e3ef5e644bd7b7707bdf322253e40b3103e19e808bd378fd3bc2ecd8b3d4908463da0a9c0bcaa2ba6bc144ef0ba2f6f8bbcaf3b9cbc854572bcaafc1f3b6b3aafbc07c56dbcf697c6bbaabad9bc3bc590bd93c9b1ba1b1450bb65b922bd7183aebdfcd332391d8b17bb796525bd7baca2bd932f9a39a3cc39bb779d15bd639989bd7114bab73e5d3739fe0402bdfa8e5abdf1a68b3b178df43ae928b8bc0f6919bd39abe43b8d6b5c3b71ee55bc0501a4bc5f0a533c1216803b02c111bbc58630bb4fc5073c38be92bde486e33e55c7593f65cbf5bde37ba3bd9f91de3ebd36573ff4270bbe3a258dbd5537c93e8d153c3f8626e7bdc29e67bdc4b5aa3ebe43193f56cab9bddb0d46bd350d8a3e7fd5e93e38c991bda7771bbd1360473e9988a03ec4955bbde8aaf2bccea4fb3decf2343ec02619bd6f61a7bcf3c0563dc0c9603dee09c8bccf828bbca195c13aa3d9d3bcbc3c9dbc61a1debbdb3830bbf62532bd729dbcbb3b2ec73a415abbbc1e13cebd94a9063ccd4fe2b9bce4f5bc7dfdcabd2533ed3a88cfb03a797511bd9c2cc9bdec1ae73a57e8b3395273f7bc8f1f98bd602a48ba6da0943ac1efddbcf72481bdf433b53bfade1b3b424d9fbcd61a2abd22dc033cc498bf3bdea924bc1f7ea4bc36f8573cd29e483b70455cba3e606dba95b34e3c700c3dbdb9387d3edca1863fdcd20cbe118647bd4ad3713e7e34853f26731cbe4b7c29bdf49f663e0770613f3a95efbd46e819bd322a493e2d473b3f908cc6bd000eeabcfcc0223eb6ca0a3f14828dbd3a29cfbc0f09f73dc023c03ed45e5dbdf6dba0bc47789d3dcb75543ea5f30fbdc9936cbcba4c0b3d7d344b3d46d18abc14322dbc0c4429bbc7d33cbd8a3352bc7b30b83aa9c517bc52fd99bded207c3bae4b283ce3cc84bccf7017be8ba2b23cc7fa093c5c29dabc225012be630d143cf5aeb93b9964e6bc4c02fabd71b9223b414e9a3bd872d9bcc843c2bded5d04ba19ef943bd15dbabc2be19abd803d673b8c8d973b446246bc60ba48bd8f40e23be1b1af3be06caeb938e0a3bcdb51513ce0661c3b615b4f3a16d7e63afea8393c54dc9cbc6e24793d70e4a13f01c915be1c8b97bcd6b9553db4919a3f6d3c14bebd0b8fbcb77e913d5a03853fc076e5bda03184bc7f4d933d1b30563fb247a9bd480367bc7b50893d6f0d1f3f887b6dbd678033bc9cec533d5cebd63e60bd22bd09df19bc0d80073d085a603ec1e7b0bc0d72b2bbf7ce7f3cdea9093d8b7bf7ba704b78bb125b0cbcc00fa0bd6dafb9bb000000000000000000000000000000005888293c183796bc73c407beb49c1b3c21560d3c2341b0bc53b4ffbda53f693ba388cd3bbf60c9bcd43dd7bda1d05fbb26dd543bb917a9bc510cadbd4606bfbb290b893ba2a78bbc84e484bd6f4093bb72a6573bc41036bcf76739bdf99d8a3a6b940c3b244e6ebbb9fdafbc27a3873b0000000000000000000000000000000000000000000000000000803f00000000d176933b2e2e88bdfa38a13fc0b5b9bd371e183ba38d09bda0b3853f022a6dbd835e4c3bc87087bc4dfd573f69d41abd8ccb2e39160610bcf519233f5b0ecabc59ff0e3aff0093bb128dde3e84cb6dbc47c8333bb55b8ebbca1f733e6c379abbbd9f453b88540fbc59d94b3d4555bcb900000000000000000000000000000000000000000000000000000000000000000ea7e9bb9a54a3bdc01efdbc63be673c07e80bbc4169abbdd2e2f7bc42ea483c192d33bc2ba18fbd852ffbbc0a50423c584040bcd3e374bdcd44ecbcaee8193cc82836bc40465bbd2ef2bbbc552ced3b4840f2bb206c39bd216e5cbc95d29f3b287938bbc8e5f5bce898b1bbd049633b00000000000000000000000000000000000000000000803f0000000000000000b66963bd4883973f48933ebd304d5abae53dfbbcaabb7d3f9ee5e9bcb7d559379380a2bce6c24e3f50eaaabc2833d8b9c66146bc8fa91f3f2659a1bc95e13d3a8b2b0dbc93b3e23e7941a2bc4d4ed33a42a1d5bb578b863e479aa3bc99f6f43a264819bc2d13ba3d9336cdbcd7cf563b00000000000000000000000000000000c28eaabcd57677bcde6f08bd2f1b0d3cecab71bc31a3a4bd15751fbd90f76e3cb9e18abca42da0bd65a638bdd1486b3c678390bc7acb8ebdc4bf3cbd71ab523c1d1392bcce276bbd07c32dbdd013393c1f4e74bcbd6a4bbd01450ebd24423d3cdd250ebc1cd027bd8872c0bc85ed123c654ab3bad010cabcaf300ebcb41ebe3b91ee9a396101eabae83aefbb4663e03b8769dfbdf22e983f16cbb13d57c2b7bc24b9d8bdb4e1903fec279f3d40e6c3bc502aa1bdeb2b7a3f1d8a9b3d8a2a9abc42e370bd4a404c3fd8e5833d3abe79bc49e132bdf3a51d3ff9a8453d85723bbc510410bd0696df3e17ebf13c7ce129bc90bce2bc8ab6833efc662d3cf51ad3bba01ea9bcd217ae3dbe82f7bbc05832bb74f2aebc6e16e7bc7984edbcd30e68b81e72e4bc1547463cdf4ae4bc9c3968ba381fcfbc9f20dcbc478144bd84c0213cff52a5bc2561f2bcc1e04dbdfee2bb3b5522b5bc2d4a21bd413e66bd11353a3c607aa5bcfa4de5bc019845bd070e103c20d78cbc3cebfabc91bc42bdf767393c48943cbcf1b988bcf7320dbd02bf213c7f4ec6bbee593dbc92c1d0bceee5583c9c8831bb4c05b33b1bd864bc55c1233c3217dfbd51277f3f3b71843ee27132bdb9fff1bd6891793f66ef733e93d53fbd16d5b3bd5748523f8f095d3e235612bd6b759ebd28f6343f5d77343e521507bdc8a170bdbd6d0a3f6879093ec46fd2bc6dcf4fbd9b2ecb3e73bebd3d5c79adbcaae51dbdb9077b3ebc90523de54986bc135307bdde79d43d9e4be53bbbf11fbc6d8dd7bc9a6882ba0653babc7da4e0bbe94709bd336af93c08909dbc79a03abc1be0eebcd6fd48bab81e49bdd913f13aa097ccbc8f118abccdc36bbd9578703b2552bcbc888faabcecd871bd6791c83b688cb1bc761f9abcddc063bd6ae3bf3b16de93bc9d2e8fbc720b50bdf9f1353c2e8a66bc6aee5cbc7e8035bdc1b54b3cdfb50cbc3848c7bbaeb808bddf0f843c429fbdbb98ca143cdfae93bc215a363ca469cabda9d94f3f0a51e03eb8a281bd4b1ae0bd4cf34a3f7645d33e4a6089bd5808bdbd09c7333f0734ba3e877871bd2b2b9dbd1ef3153f198a993e29004abd279182bd6b38ed3eba976f3ee0a92bbd795c59bdea3dad3e9f73273e63750cbdd39a37bd3da35f3e5ba2be3de814dbbc909a14bdedded03df6b3e83ca63e8dbcacfef3bc49f38b3c0c6291bc1a8f79bc83ec03bdfe3bfd3c650052bcc8b492bce320e6bc1bf4143c356f31bd4d64e4bb897bbfbcfb2c80bb532654bd13abb8bb63cababcb47733bcfada70bddb7274ba5b09a2bcc9171ebb0b5921bd92a6dcbb673b99bc206f35bce80c59bd850ec13b3c676abc2819b0bb4dcd2abd82100a3cb90922bc6cc593ba72150dbd63a37c3c15c50ebce6b34f3c48cd9abc65a3363c63e3acbd1508203f73571e3fdaf8a4bdee41b9bd86891a3f3289163f7f70afbdbb0499bd2d8e083f412c023f404391bde1648bbd4de8ea3e640edb3eaaac83bd66ac4abdb0e8b13e9376a23e0b7440bdfc724abd004c8c3e6fa7713e689036bd54dd22bdaf8b343e03c50d3e6ea909bd5eb70cbdb421ba3ddf45553da6ffcabc23a1edbc855aa63c888d63bc78c5a6bc9fcad3bcd1b4ad3cbb144abc2ed9b6bc3a0eb2bc9325473bd28e55bd3e32c3bb13278abc15e2e4bb4d8688bd55c193bbfd5583bce76d57bcfa718cbd1d66d8bab3e68abc2c6c55bc3a3a80bd30031cbac3065ebcd81e51bcbe026fbd6fe2d63b9cab2fbc641128bc783754bd532a553cc877e4bbf4d564bb736922bdea70ac3c44c1dabb1501e23bb242a1bc92295e3c161989bd165be33e641b4e3f9dffbfbd45f790bd8605dc3edbae463fa5a3d3bd199582bdf0a8c63eabe12d3f0f37b6bd165d61bd8235a93e3dce0e3fc83296bd24dd40bd6091893e18c3dc3efa837abd559825bd30974d3e37a29b3e605249bdd36c0dbdb9cf083eae3c393ed0af20bda81ce6bcf9c1893ddb87863d3598e2bc4af7bfbcd8c9573c854270bc4ccdbfbc4a8776bc3fb3fe3b5685bebc5f9d7cbc98f114bc6e61d9bba65690bd17cf0dbb8aa31ebc642b4dbcc7a88abd33b90cbcf96d0abc11f890bc098fa0bd917e44bb18321ebcdf8985bc337b82bdeb0f5cbbc05e04bc126188bcb36784bdea72cd3bd7a602bcb54b35bc45963dbd494c013c6b6951bbd059adbb0ad329bdf75ebc3c74a446bb854e953bf4f99cbc2fed963c1e603bbd727b873eee0b7d3fea87d3bd24e048bd9137813e5ef6753f0f51e9bdca3c25bd5e8e6d3ef0ee4d3f78fab0bda8c619bda013513e72172f3f25f29cbde3acf9bc44d4273e5109043f577372bd8353e3bc5d17013ee6abbc3e09b64dbdc5a2bebc699ca43d3baf603e10c91dbd388797bc84a6263da1aa943de8bfd2bcce817ebcb925a53b80c3dbbc790eb3bc0ee334bbf4e21dbcdde226bdd58944bc69adaa3b422f8fbc332ad8bd312c063cd86caf3a441ca9bc4bded2bda61221bb6d0905b97477c3bc5b2bc1bd72bc84bb7b2615bbfa49babc527da0bdf8f1a2bbca8e47baefeda3bc391092bdccca243b797451ba73ff53bcb9f574bd34e4383c981e1d3bddd5e6ba09ff2ebd60a6c33c518c90ba6b0f03bb77f291bc9e598f3cf74ebbbc97d1b83d5879973fa956d7bdee75b8bcd05bb63d73bc8f3f2a04d7bd8331afbcea8bc03d4812773f1e25a9bd336287bc602faf3d109f483fdba281bdca3c63bcc068943dd3f6183fe7304ebd0a224cbc48e35f3d7bbdd63e6bb922bd7e0442bc72a00e3d1391763e772f00bdf495d7bbd615673cabfa8a3da0f58fbcce13ddbb0fce22bc544b34bd65fc9fbc00000000000000000000000000000000e2b4203c4b95bcbce480b1bd4e46afbbf42a153c9a7dbdbc32fbb3bd770ab8bb0d2da83b49dec2bc12c396bd5d4e40bc3e34483b568ec1bcd47c83bd6ec622bc0206413b481aaabcc5506abd050fc0bbe770f93a696981bce86345bd5f17c73a2c5a5d3abdc12dbc9de70bbd49520b3c0000000000000000000000000000000000000000000000000000803f0000000092f4b4b92a5d20bde626973f0c807abdea14603aa7519abcc1b77c3f9f3d1ebd4d49bb390b480ebc1b534e3fc94df0bca581ee39812db2bbccfd1e3ffe0cbdbc9db51abaa37ccebbbd67e13e41cb9cbc396bfa3a2a7ef3bbb65c843eae4169bc6898383a1ddf4cbc8264b23d0e138cbc000000000000000000000000000000000000000000000000000000000000000077b929bcda1eab3a475df1bcd3a4273c158715bc6d2909bc8b2fddbc0333193cc90824bce1f5f3bb40a9e0bc9dbd0c3ce32c27bc76c2f5bbe336d8bc7517fc3bc98747bc17db23bc08eecfbcf9b3e53b22fc2cbccf094cbc85bdc2bcdff1e53bc2d842bc767202bca7a1b8bca99ff93b00000000000000000000000000000000000000000000803f00000000000000005567c2bc10ed843ff82eb2bc07b682ba93d657bcc394603fe7bd82bcf76e9139197b2bbc70b4393ffe517bbc77aed239afc814bcc841123f5cec85bc066c4f3acc2f27bcbc45d83e0ef893bcb9942a3aa40640bc94348b3edb5ab0bc0e46f23aaaf780bc10c3063ec717e2bc97691d3b0000000000000000000000000000000094f29bbcff2d123d3793d5bc1922b33a094cb0bc6464873cb15f09bd43bbdf3b2e2198bc75a6043c2cc013bdd536c93b82ea9dbc5b0dcd3bbb0c16bd6767be3bebc39bbcdc24003c78f40dbd6e5aa23b55bd9ebc3c60663b82ef11bdbe63cf3bff5f9cbc0912283b36dd04bd8bdade3b362a96bcccc7413bc437e9bceac1183cd6bc50bc8244813c0ea2bcbc7997f03b9a7b4dbd97f0843fe862e23d3ce679bc898247bd4a0c763f2e5bc73d4f5049bc38181fbd1c0f543ff78bad3d2f473cbc87defdbceaa52f3f0c6e8c3d3b252ebc8a71dfbcc3560a3f9fd54c3d35fa0fbc020dd5bc9937ce3e0527ee3c6d95f6bbd444d9bc6034873ea2bf123c6601cbbbd148d1bcb95b043eaf1b5fbc332151bb77a6d0bccdb3903c11b8e5bc405d61bb9649d1bca9c8303d15e480bcfc5a12bcb157e1bcc749153df782edbcc43b18bb1fc9bbbcdc87e03c4b71debc0254a6bb706ac5bc1d0abc3cc25f0fbd250417bab7c4b2bc946bb53c6e1304bd1fe5f9ba78c7b8bc338c8f3c8ee510bd24a71f3b7a30a1bc9a838f3cf11af2bc6af31d3a4d0aa4bc73b89a3c417004bd32370e3c061c68bce751cb3cdeb6a9bc76dc893bc7925fbd63a7613f002a853e94f1e3bc227a75bdbd9c533fd5216e3ed4cfe9bc811c3dbd8e57333ff5d04f3ec27ecdbc57a52dbdd9f6193f23502a3ec326b8bc492015bd0b1ff23e8091023e7feb9fbc341c14bdd287b83eb0a3b63dce6991bc52ae03bdcf72753e87485c3d03d987bccc210abd6944053e4ea0213cb95a3fbcbb05e5bc7487eb3c4a4f89bc2a0131bc9a9fe3bc144b3f3de40094bb3b56a8bce4bbf6bcdf31283dddb09bbca8985dbc2bbedabcd8c7073df924c9bcc6b74fbc476ecabc4f5fe33c32a6e4bc273a21bc14e8c2bca590d53caf50e2bcd94408bc386dbebcc21fbd3c1e77fabcab0ea7bbb9aabfbcbc7eb63c63e5f7bcfea1bdba5807a7bcade4c23c69f6e6bcac2e6b3b432f81bccbfbf03cd41d83bc3f8a31bb2cea59bd0ef0393f7615d33ea2da22bd560a74bd60b62d3fd215c03ed37c28bda2dd51bd2515183f6079a63eb42115bd05c037bd536dff3ed32e8a3efe8c08bd06902cbd3bcacd3e22f2593ea35702bd732d21bd6fa09c3e34bd1c3e5941e0bc065f17bdd6e5563e843ec13da4d0c6bcc82b0dbd1c65f13d92af1b3d0ed0a8bc9c55f3bcb2fc0a3d408abfbba9daa1bcdfbad3bc25ae213dd3a8ab3b1745eabc138bedbc353c143ddf7de9bbc9a8babcf65acbbc1956ef3c95a967bce5cca6bcf0d8cabc7cc7d83caf7ba8bc6eca9fbc08a4aabcb76bd13c311d58bc0269a7bcc72fbfbc6f32b63c2c41bcbc82d760bc4143b5bc1521ad3ccc45b5bc229c13bc5efaa5bce64cc23c5c12b1bc956e67bb74ef83bc2751de3c8e384ebc0396f5bb97d43fbde4b7113fe4bf103fd84642bdf9e553bdeadf063f9fff043f890d53bde4f534bd3c6eeb3ed0f7e43ea2ab38bd33762ebd0a1eca3eb670bf3efa6b2cbdd58909bdc4a69d3e3f54943e540710bd482216bd82c77b3eef0a603e6a0813bd53f606bd00492c3e1afc0e3e934ffabcde6d0bbd89f7c83db7bc853d0905e7bce0b2e2bc7095ef3c2b77fc3a48bdcdbc3157c9bcb8cfea3c8f2b483cb6f508bdf361d0bc186eca3c1d6638bbfed1e2bcdefabcbc52c99f3cedf931bc778bd0bce17ab6bce53a833c92ed7fbcc63abebcb3b4afbca0465a3c81428fbcb5aab2bcaf91acbcd1ee4a3c6d12abbca29683bc9d7ea8bc0214423cd72eb1bcdcdb34bc7f1c95bc2e295b3c04d9abbcc78761bb73557abc093b993ce02418bc20fa14bc23a524bd8318d53e1f9d383f49ac5bbd730d33bdd80ec53edd102b3f328d6cbd5c8e1fbdec23ae3ee276143fcb9a52bdf52011bd5112943e33c8f63e60e240bd50d10bbdcb14713ef7c4c33e93c331bdaa4ffebc21d1373e96868f3e1ee31fbde117f0bc3123fe3d796c3a3e3a7914bda623e0bc0f208e3d700db23d576cffbc3f0bc7bce523a83c600c063cf698ecbcb4d199bcf58e533cbda15f3c0c1203bd867d98bc5848243c95fd2abbe09aebbce9b675bc1affee3bbc20c7bbd4a8edbc42b698bc9fce863ba3f37ebc6304d5bceec089bca88e5e3bf39f59bc6424cebc3fd990bcf510df386b2aa5bcbcc590bc75fb81bc4645023bfe3b8bbce77a70bcd6017dbcd829883afaf0a4bc63a57bbbba854ebcee22f53baa93fcbbb16de4bb8108eebc9192863ea2ab603f967b5fbd8f68fdbccf80763e02e4513f370574bd4ebadcbc29b45c3e803f303f346d44bd40d8cebce31a3d3e1ed6153f6eed3dbdf4d3b7bc9a1c173e628ce93e021924bd77b6bcbc787ce73d7f25ae3ef95d27bda709acbcbf3d9c3de66b613e27fc0cbd77f7a3bc40c51d3ddab3d53df48f06bd68d791bc55dcee3ba796d03be4b4e6bcd0a328bc9e7967bb9130533c353e04bd8dd9cdbb57d9efbb112249bccdbac3bc4bd3f8bbbbe102bca52f87bccfccdcbc008d06bc92a523bc2b4490bc2a4adabc068443bc92af2bbc561a87bc3cb9c9bced9a0bbc4da550bc74bfaebcb3ef9ebceaa829bceb6c58bc1c52bbbc3c1c49bcce2129bc2f5043bcf509c3bcebcddbba47361fbcbeddd7bb98b2dcbbb10803bc4f1685bcd25eea3d7ff1843fffb353bdb8ea65bc0bb1d53d05fa743f44494cbd716a5abc3525c63daaad513f39a12abd446244bcd103a93d3ef12c3fb9bf16bd14541dbc0d15833deb8d073ffa7c0abdaef84dbcb6db423d99c5c73e540a05bde78c2dbc759ae23c63dd7f3e0dfdfabc118325bc9138fd3b4f8ce63d0841e7bc82a627bc7d140bbc88aa5d3b9a42f0bc000000000000000000000000000000002178293a363878bc837610bcd138bebc874c033b927484bcf30091bc971991bc8c64c4ba30906fbca1f37ebc4597a5bc9cdf51bbf1a484bcabc073bc88aa9cbc97d88fbb65be8bbc5ca392bcf2f371bc754291bb8da692bc4990a0bc9d942fbcd2b9b5bbca559ebc61d889bc0e99fabb0000000000000000000000000000000000000000000000000000803f0000000079d00fbaac6e90bc54b4843f8190e4bc3fcd6e3a4b5912bc3633603f1fb49abcd3b365ba0d4ecdbb81ae383f920e88bcc15ea3baa623efbbbc7e113f3e7d88bceafeb6bacf970bbc58ecd53e1a4d8fbc067282ba190d38bcf486893efe0e8bbc5c70dbbaf0188bbcece4003e5723b1bc00000000000000000000000000000000000000000000000000000000000000005652bf3ce6d74cbe3440c73cb0e1453b4aec973c39e04cbe45e0a83c3156923b320a413cdb0a3bbeaf29023c7977df3b17e21e3c304c1bbe094ea63b93f7e43b4679e23b5f09debd281f4d3b7c1ea03bb34aa63b274078bd7c842a3a9d596e3bfce4223b3e8b5bbc2933f0b941840d3b00000000000000000000000000000000000000000000803f0000000000000000650cd7bdcca4aa3f1f73f0bdbaa53f3c29627dbd14fe8d3f0d299ebd12dbc43bfae939bd1c136c3f7dd174bd544da73b6b16e6bc2c4b323f541a30bd5869603beac943bcff3bea3e56fadbbc9fe6643be50d4a3b5d156d3ee51faabb5f11333ae9a63a3c124e6c3c2216c93b39c7cdb9000000000000000000000000000000009ecae03b6e64d7bda5913b3cfc3f063b44accf3cff7836bee442f73c18e49cb8cf97a23c1a274cbe0ecc203c8759053c2f33933ca9eb41bef9dd533b2dc71d3c88fa833c62131dbe90dc6bbb23101f3cfeb25b3c9b85e3bd0604b5bbd400193ceccc2c3c46007bbdcee4b7bb298af63b67e6ad3b59603bbce96c18bc3675ac3b7accff3b0575533c6a17d63a895a373b7b7038be8085ab3fbee06f3c471377bc78481fbe3aca9c3f5eff913c2afe92bce98e09becdde8e3faada8c3c1e5b86bc36c2d5bd21e06b3f5e659c3c97d169bcc37b9bbdbc0e323ff1a2b33c36914fbce72147bd2f3ceb3e46f5bd3ccd3424bc6f8cbabc679c6b3eb680b23cf05801bc1fa7f13a7274083d7e7bf93c0a04fdbb1135433be9d9e1bd72ee6f3bb38df9ba978933bc957244bde41e3cbb1351ae3ab0d7053cc2cc03be9de886bc6fe2203cef24003cd7761abe8151efbcffb35e3c810e273c1c021bbe9ae3febc2838823c64a1253ccafaf8bdd6f2f0bc8231523c771b363c354fc0bd7e98ccbc54835f3c059c393cb5855dbd72c184bccb4c2a3cf28d123cf7f298bce6e31ebceee5003c80c1db3b21a1a33b4c7aec3a75e6c43b8e762cbe73218e3ff5fb663e92795dbd387c38be38458e3fd1094f3ea9a15fbdd4d61bbee6f57e3fcb0a393e17443bbd25cb01bedb02563fbd48183e0fbb20bd3cffc2bd5eae213fc060f33dad7bf1bc295b8cbd50d9dc3edc3bad3db2a0c3bc061c2bbd90cd6b3e14df4f3d861f6cbc2de78dbc299b663d8502ac3c096ebabbf50b10bc89295fbd0bb019bcc07039bb43fdbebc016560bc02e2d8bc32860a3bb05f88bb4d4babbd5cdb57bd22628a3c89d6083b1d89e6bd5bed87bd5dd69e3c91c85e3baacfe0bdc6eb81bd34e0a63c2a8eea3b6613c8bd99b072bd0a51953c9da90d3c503b97bde2b62fbd3c878c3c2ba5203cbe253bbddffdd0bc3b5a4b3c51a0283c1f1898bc2d8e1bbc050f213c1e57d43b519ab53a9e398f3be31e933b4a3d20befdba6a3f5cfce53ea84abfbd606e2cbe74ef693f2224db3e56b9cabdd6d315becade543f1c5ec03e16b1abbd08d4f9bde0b3323f89ad9d3e07e38dbd290dc9bd76c80b3fa39e6f3e66805abd67f396bd32f3c13e5cbe213ee70118bd120847bdb8495b3e1dc6a93d2b23b2bcfb17dbbc9d1c8d3dd48f973cb92700bc5f05a4bcfaa3c5bc41b106bd084a44bac11ccfbc769be33b72f030bd2e9f703b0ace31bc78ab2bbd9705bebd2a05b63c292ca9bbd86983bdc305cebd8c9bb43cfdf3493b0db69dbd0561d4bdc492c83c6aca31bbf54f62bd721397bdaf364d3c2061be3b897a60bd0e3088bd202da23c89fb9e3b784d03bd99d10bbd9cee583c743b083c748672bc9dc03cbc08fe173ca849b93b2f7ccc3a9ca7313b1e74063c1c7501beb640303f1b902f3f0e0b05bec9b20abe23192f3f603b293fb4070abe5706f3bdfc561f3f6d87133fca72e4bd539cdcbdf3dc0a3fc308f53ead6dc2bd9d589fbd9759d33eb7c8b13ee8b181bde7428abdfbc99f3e03b36f3e576046bd054443bd1c8e3e3e1b5eea3d7153d4bc3feb00bde783a33da992513c521981bb2f16b4bccd0286bb47ef4fbd725382badbecb5bc9d14af3c0ea785bdb67d1e3c359c11bc451269bc917706be3555003d148e76bb973315bd084f17be826e053d2227a238ef9836bd5ac40abe4a21ed3c6aa3583bfb833abd8989e8bd5e11d23cab78903b896813bd1dcea4bd40a5b03cca02ba3bcc8bcdbc790942bdbdb8863c7637c43bdf5c5ebc3ff65ebc16083b3c7e9d4e3bdcad863a90b98c3b458d0d3cf5debabd3031e73e56796a3f0e8c22bea6edcabde661e73edf83643f01bd2bbea08eb9bdad33d83e3375493f593c10be4c74a1bd4bcbbc3e411b233f2e3be4bd7f5688bddf279d3ec160f33eb977aabdf3955cbd60406b3e3d899a3ef2fc57bd267b27bd34941b3e9aac133e345cc7bcf4f6d8bc1f5b993d4ea4253c205fae39ceb395bcf676393c5a5a92bd912add3be0dc5fbceb38e03c091abbbdaf4fb83c401ee3bb1c40223cc9d82bbee548293d943da739fba535bc590538beb1d0193dc82d603b5a9c92bca5612ebe7a2b103d994a733bc9f0b4bca74e09be2165c83ca902763b9639a9bc0527ccbd4e92c73cf8cd8e3bec7f67bc457a5cbdfa417d3ceb77b83b0cf81fbc946a76bc2eb8093cfc9f8e3a01709d3ac5f12f3c7bb1d93be0f35cbddb0a6c3e3cc48d3f01a930be4ccd5fbd989e633e77488c3f00143bbe191659bd6dcd613e8812763fe4b31bbec20d45bdbd8b4e3e5bab493fc121f9bd4d4c22bd75fd323eba65143f4b78aebda3c50ebdd242153e3a42be3e114d59bdc248dabca3bbd23d4940313e66a7afbc5a44a1bc336e853db309c73b3e84f63b061f41bc9ec0a73c0c68c4bdf63f743cab1465bb67b7c53cdcd303be7b22fe3c3ab16abbe3310a3dc0a24ebe307a553da9455a3b9880243c1b8d5dbe6658363d77fec33b0089163a66b94dbe248e153dafbdb23b503348bb8f8725be5ce3e93c47867d3b297094bb1deeecbd32b4ae3cceef853bfcbde9bbf27f74bdda96353cc35ea2396393afbb1ab211bcdffe393a3f81273bbcdaf93a8a918d3c4e1d5a3b855e70bc070f853c0f40ab3f4e453abec8f79ebcb1fa0b3d6fd99b3f60a424bebf629abcf33c453d85438c3f91f60ebe6cd6a2bc81db6a3d7d67653f5f87d9bd549981bc5a52743d4dcc293f0ea299bd8e776fbc07767a3d7a87da3efe8c2cbd9ef44abce93b683d77b54a3e94c846bced230fbc00704d3d8f7c663baf7db03cb862c4bb3c438a3c257008be6e6cb93c000000000000000000000000000000008f7ee83bc33f463cff524ebe5b46113de923053c08c4ec3b11344ebea544f53c4c4d033c15fb36bacf2d3abe558eaa3c0c3dde3b2fb57fbbdb8f18be6f15733c1e40bb3b0f8b71bbcafedbbde1a7363c738e033bff3b88ba172f6ebdda9a943b7dbd073a876c6b39947044bcba6f883a0000000000000000000000000000000000000000000000000000803f000000001ea9433c6f6bdcbda5b5aa3ff7dfe8bd7d07933b216081bd4d278e3f60c899bd3c8f9c3b6f5a2abdd35c6b3fad6a6cbd351c423b40a2bdbcda23313f5ef523bdaf0b933b90f22dbc0b42e93e67acb0bc344d763b13022d3b24e4683e6190bcba11686b3b87be1d3c385b393c45b44e3c00000000000000000000000000000000000000000000000000000000000000003ad6873cf19333beca24903c579a553b081e8d3c5c9139be37eeaa3cc349923b4113263cc74827bec9eb223c4d21a63bdf65223cf97310be5a0b0f3c4693993b2c4f323cd7dfe1bde6483f3cc319223b0df3203c48008fbd8aa15f3c1cef8638cc7f3e3c965803bd97a95c3c9e1c06bb00000000000000000000000000000000000000000000803f000000000000000053eec4bd77f3a63fc07bcebd0e89b13ba30776bd48878b3fe7c392bde010623b849d37bdf0de663fc27b68bdf677b73a460e05bd9182303f1d2533bd2b6aa73a50d2adbc0242f03e90190bbd05a21f3b9e1820bc20d87d3e394d9ebc67e5da3a613e87bb2d301e3de35f0abc0b231a3b00000000000000000000000000000000660981bc10f782bd2f5166bc97d9153cb5bd2f3ce8e51ebe3462243c0d06fb3bc3ae3b3b812722beeb3badbb0a84383c40ec473be23619be8b2b15bcfe2e4f3c5238163b0c39febd6d4832bc055a3f3c0b289a3b2e51bfbd0f77f6bbe4182f3cd5c0d73bb6a05ebd77d8b4bb900dfe3b47680b3cfa5d5abca384a2ba1f70583bae97fa3b8a0f423b10ab8f3b7efc033b2cbc1cbe767da73f5d96db3c1d3b7dbca83c16be5ecd9d3ff7258a3c116378bcf937febd9c778c3f28136e3c60b85bbc20ccccbda964683f36474c3c6c8c48bc8d00a0bddf1e323f40ccfd3b2f1c07bc126c77bdf0baf33ebac0493ac4aebebb3a8627bdabaa833e4bbe02bbcafa0abb9c9d9abc70484a3d7421773b4760833a646aa9bc19af97bd975998bc5f5f603b690c21bd4902103c1cfd31bd8dc4683c1d74d3bcd0707bbdd31957bdfb23bb3c2f57b9bc928d9bbd83c373bddb9bc33c47589cbc37caacbd6e0b70bd9411ce3c2cbc9cbc3ac880bd66f156bdcb85a63cf9c21bbcc67f55bd19f836bd3e55b63c2b14ebbbafceddbc98c202bdb4b6843c949046bb05a68fbb2e169fbc625d5b3cb31e07bb204e813c9c1b18bc54d6193cdc090fbe84338a3f3c20653e6ec132bd21291dbeaf498a3fbd39473e5cbb36bd18f905bee6ad743fc0832a3ecf1b16bd1c03efbda855513f1ff3043e85d7f9bcb536bebd19f4213f2e4bbd3d08c3a8bc680ca3bd943ce83eb6a75e3d054d83bc9f1477bd319f893e3cf89d3c4297f5bb96aa28bd3481cb3d557635bcd73ba73914e20bbd67d451bc06aa16bd4067183ba92f64bdefa9683df7308fbd0dcd853c9cd630bd6b4776ba79d3c4bd0fa1023dbc1212bdc418e0bc3cb0cebd06df063db6fb04bd7304febc1c1ac9bde59c053d786feabce63ae5bcff58bcbd516d083d0a2cabbc0e4f9cbc0f1a96bd00ade83cead486bc8a2696bb70db61bd1c0cde3c014945bcb4cb263c56cd16bd76abaf3cf02f3ebcd715de3c650dd2bc40faa33cb28701beff0d613facbcdb3e745392bd9c6109bec469603fa614cd3e6bc899bd3f6efebdee684c3f74a6af3e00d181bd8f6fdcbdc9f42d3f1fc78a3e5b8f4fbd5ccdc1bd9d080d3f4f15483eecbc1ebdc5eba2bd0e49cd3efb66f93d2db6d8bcd75384bd4f02823efee9493d784767bc752c4fbd2938f53d71e55dbc6c250ebba1e931bdd70fd13cd3db6abd92125338b5b06cbd94e4963d1ef5a8bd8923943c50c047bd4507193d3df5ffbd1b96143d358e31bd166d863cbb0504be51320a3d1db21bbd20fbbb3bab8409be31fd253d939e14bda6d6583c150cd0bd37bdcd3cab10e4bca23a053c09a7d0bd2751153db2a7c6bc7d31913c84a493bd9b54f23c9a63a0bcaceacb3cc51653bd5927e83cfa9894bcfe8a143d8c600fbd8050c53c52a8cdbdf073293f0ca7243f1553c6bd5e49e0bd6d07283f15881c3f5151d1bdfe68c7bdd3dc183ffe0b063f7012a9bdfa36bebd84e2073f3cfdd83ebb7191bd90d995bd23b6d33e93c19c3efc2b41bd489893bdb624aa3e23da473e5c7811bdbfb76fbda39d5f3e08f7b93d84b3a9bc235544bdadf2f53de49cf4bb5b8147bbae0625bdcbcb273d1cf88bbdefd25e3ac3ae40bd6d8b8e3d896abfbd566fac3c98f928bdc59a4e3dae5723bedcb33d3d920614bd0d0dfd3c5e4c2dbe1f32403d0342f9bc80f0b03c978822be078d323d2219f2bcd6cd9d3c71c812be57a22e3d1462c9bcb803a53cf794ecbd6550203d72c7acbc09c4be3cf111b4bd570e183d9a80a4bc8023033dc17f71bdb9c7003d358384bc46a31c3dda241ebd6e44dd3c3b7d96bd873ae43ee7a75d3f42bbfbbdf9a4a4bd14a0e13e6eb6563f956706be51e49bbd828dd43eb34c393fff51e3bd8be78fbd5137bc3e59f3143fc8e9b2bd68f57dbd584b9f3efa08dc3e4f1887bdf8ec61bd1368773e9ca18c3e574b33bd642144bd25692f3e007e003e2d2cbfbc0c621bbdcab6cd3db05982bbb7f834bb673103bd0f09213d2168a0bd61aa313bec8efabca791703dcc8de8bdac90073d5abed9bc387b473d8ff33ebee0ff5f3d6235a9bcdc7e003d7e193cbe2544423df12f9fbc3577dc3ca65e3dbe81294a3de75095bca51fbd3c83b31abed91f223d16ca85bc9959d23c111b04be67142b3de26566bc4789cc3cb484b5bd0be2083d80dc7bbc58e2fb3c2a8762bd986af53cd29850bc1a1a123d43ce05bd8558d53c43c534bd3707703e890a893f946210be954748bdb43e683e81b1863f0f3d1ebe670e40bd4673643ea9d3663f3979fbbdb64d34bd1fe2523e9e153d3fd0cccebda0491dbd2b61343e25f90a3fe6c592bd822e13bd0c10153ed0e0b43ea79447bd4bbef6bc018ada3df2f92e3eba48c5bcb391c8bc7202923dffd39b3a809c033b7e75a8bc73f7ff3c988dc5bdf68b153c9f5f19bcae78f53ced7706be839e163d545f33bc34b8403d741661bed3c0853d8f38e5bb9793ee3c52395fbe2d285a3d7858acbb8e04bd3c65ff4cbe0696423d2d087abb1977a53c3ecd2cbe560f213d933ce8bbe69fa53cbc3f05bebd99103df333dcbb1096b43cd322acbd0068e53ce69e0dbcacbdcf3c46a70abd1bde923c12e6e1bbd208c53cbf2398bc579eb63c051d83bcc965073d7955a73f237821be3c9ca6bc84641c3d304d9c3f49e11cbe9a2ba6bc3ac65a3da7c0883ff5fb00be66ffa2bc7c67753db9285e3f8443c9bd3b7a94bc9bab6d3df2cd253ff7da91bd21d860bc6fce5e3d3bb1d73e86da3bbd634747bc03e4373df33b4e3ec26398bc9ab72abc2f4b243d38bb73bbaee1443cd2cad2bb2c9b433c270af8bd94b9463c00000000000000000000000000000000e22c083c2f81243b9bc534bead99043dd47f113ca40a153bbdad36bed15cfc3c9a9e113cccdb83bb9d2c23be982dab3c92490d3c3d3f8cbb871a0bbe2c3b963c6c20033c70730fbbcd62d5bd7bf5803c1cab7b3b9a29403bd1a483bd97b54c3c5951033b324fb33b390edbbc9065283c0000000000000000000000000000000000000000000000000000803f0000000083dbaf3bd35cbebdc54ba73ff552d8bd3228b23a9a9664bdc9818b3fcca996bd3154363976e61cbd993d663f538c72bdf914853ac3a8e0bc49d32f3f039435bd126db63ac9a28dbc7d26ee3e07bcf9bc21cb7c3adaa00bbc5f65793eb5e068bcd6989d3b9d7fe7bb8dc6133d64814b380000000000000000000000000000000000000000000000000000000000000000ea0656bcb5eeabbddd0b6abc52b9c83be60223bc174cc0bd931338bcf1168c3bba395ebc0edfa1bdcc6d7abc1f1c3d3b64e363bc0dba8ebde58671bc8626123bd4b01dbcd1597bbd3e2015bccd62a73afe3cb8ba4ae35abd06b72e3b0ec6823955ca363b1a1e1ebd3412043c216e16bb00000000000000000000000000000000000000000000803f000000000000000041ca56bdce8c973ff00b68bdda43a13a920705bd9d727f3f986120bdc9cda23a591dbdbcd669523f034d06bd2041ea3aad7c9dbcf1f8233f9054e8bcecf3e83ae82497bc2369ea3ecf60d6bcc658ea3a93647dbc96b48b3eafbabebcb2b609bae8daa3bcebfed33dfb52d4bce597d33a00000000000000000000000000000000c09251bde8ecba3c21d257bd080d743cb59f27bd7a8130bd80b943bdd6ce8d3c4f492ebd454b3abd6dd95fbda285913c776f2fbd8f401cbd7dcd68bdd6178d3ca80126bd1835d1bc77be5bbd0a1c733c98260dbda1c1a8bc1eff3bbdc32b673cf414cebcc0362cbc49550ebdbcad583c542e5bbc1408b7ba7c5f8cbc1f25163c6cd190bc5457993c1cca8ebcbf71183cf407c8bdbd31983f21f7793db05039bc0effb8bd7c3f903f504e4b3d0de632bc50f699bdc1767c3fe9d8393dc5be05bc71027ebd1317513fddea143d80ccc5bb3fc95bbdad6c233ff0e0a83cbc2e7abb7dc346bd23a9ed3e6613943bbaf312bb509d34bda120933e37da45bc0e330f39714c25bd1a67ec3d7698bdbcd3fc9a3ab58a2abd5899ac3b2ca62cbd50da4e3bdcbd91bdf466a93d4b95a4bd182ab33c21f497bdc074693d7014cfbd4c4ff93ca05b8cbd6a01353dfa6ecdbd9475e73cc9488dbde7eb1d3d9656dabd4e2ff63c66a483bd8fbe3c3d8707cabdb09be13c51fc72bd1a38303d76a8bbbdac6fe83c80064fbdbe11403df97e9fbdea77d43c80bd2ebd55155b3d0abd8abde07fe33cd2b314bd4d10723d686c52bd9cb9b43cb366bebd9b147d3f78e1643e2bdcd4bc12adc9bd20b2763fdef9433ebae6c1bcbbb6a8bd8c33563f1ee32b3ec82b98bc43fc9cbdde2e393fad30053ed30577bc0b078dbd43e8123f5234ba3dea4a1fbc6fc483bdb5ccde3e8ab24f3d3823d2bb1f2370bdd6b0933eda6c7f3ceecf4fbb987268bd89211f3edbd3d4bc0915023b29f44fbd3ad33e3de65142bd268f003bd96ea2bdcd24ef3d38f0c7bd1409db3c8257acbd0a1ad43d1ff806befdc8223d9570a6bdbbc1b13d5ba00fbe8ac5253da7279ebd42eda13d6eed0cbe9eaf233d51629abd11afa73dda700abeee6c253dcb888cbdfd39a03d016e01be2e07263d74b47bbd09e6a13d84dbe9bd1d9f273d4d5f69bd4bbaac3dd0bccebda8f2293dea693cbde9a6ad3de9d9a0bd7d76133ded0bafbd825e4d3f7967c93e3c9520bd0f15b3bd49a1473fb592b63e07dd1dbdc5dea4bdf2fe333f89e79c3e295302bd54c893bd20181a3f1de07a3e6299c9bc146a8bbd44f4fb3e645a383e0e228abc586f82bdd1f7c23e1dbae93d56e347bc4f4b7ebd63e6893eea83413d0dd1cdbb12d569bdc833253e17c24fbcf68a66bac9705dbda132923d8daf5fbdeeeb7bba6d7298bd42e0e93d91a9c9bdb457dc3c4e2aa1bdbde7e83da31b0fbe7e412b3dd55194bd95d0c53df27b0ebeea06213d1e6e9bbd10d3c33da3e41ebe28e6403d01bf81bd87e1ad3ddef0f1bd5265033d134c8dbd76e1bf3d2b5514be27fb4c3df34d7abd6299b63da5aef8bd88e5363d462069bdaa1dc73de666f1bd926a563d874e45bd6c56bd3d8a75bdbd85a0383d7c7e8cbd5dd61c3f2b23133fd4ff5bbd9f7b91bd458e163febd9063ff8a057bd96d683bda644073f937ee73ef9da2fbd5ae27dbda0aef03e4d8fbc3e42d40fbd450d5ebd618bbd3ead228d3e4a4cdfbc167e69bd41c79e3ef01a3c3e9e3fa2bc0faf56bdc847623e5044c43d8b9a5bbc376c57bd8208163eb2450b3c700ebcbb961c46bd2aea923db5214bbd59d885bbe2a06bbd1137c73d0006c9bd5228e83c28a881bd09f5d23d0ab21ebe377c483d918a7ebd16c1b83d14db2abe0724433dfbae77bd2cf0b03dfa4e29be67c7493de96d7abd2209b13d95c824be98e84c3d500c67bd8c33ad3def791cbee978523d43bc5bbd62e0b33dccf711bee26d673d1ccb49bdde63bb3da23005beec12783d891f30bdd476af3d6951c3bde0c9513d21ac53bdaf21db3e84ab433feee58cbd63145bbd22a2d33e7ed2373f831490bd57244bbdc052c33e8dc31f3f45406cbd0e513ebdb8e9ab3eb309013f9abe3cbddae937bde28a913e7255c33e8fe60cbd6a3231bdb2d6693e6377843e1bc7cdbc43e927bdad3e2d3ec58e0c3e940a89bc724325bd7046e63d767dd23ce1d80abc711019bd2dfd683d87b548bd39c7debb14471abd3fe48a3d13c2cebdb232083d2b7326bdc5bc943d955b24bebe32463d643f1dbd3626743dac501ebef6c62b3d58f51abd4a96743d39202abeac76423d6ea422bdf19e713d59dd19beeff9373d35611abddde5823d724719bed478553de8cd12bd49af7d3defb000bef2ad4b3dc3e813bd0530953da241fabd71a5763d5ccee5bc3caf8b3d5421babd65055e3da1d700bda83b7e3e47d6743f0f0ba3bd560a0bbd920a723e80c26a3ff7fcadbd5f56f8bcffbf633eb42e473f662b86bdfffff7bc36134e3e2819253f0e9d60bd2ff3cebcb5242d3eb6ebf83e618927bdc95bd4bc8c100e3e78abab3ead7d01bda916d5bcfe85d03d75ec403e5100b2bc3e29c4bcc2c68f3df3cd333db98a24bc03c8bcbcd8150b3decfc5cbdd915debbf0923ebc8701ae3c3c33b9bdbaf3b03ca5a564bc2b1e0f3d84492cbe6776353dcd607bbcf955e33c871c2bbe43a3143d5cbb7fbcbe7dca3c0ae122becbd10d3d7ecd82bcfcbacd3cc54c11bedbe9093d15c68abc3215ef3c58c006bed4d61c3d71be8dbced5a123d1cece8bd4fe12b3dacba78bca028463d7ac8c6bd1215493d46605abcc5731c3d154391bd594e3e3d7c5a60bca4f5993d9b9b953f50e2b5bd6c3784bc5cf09c3dbb248d3facc9b9bdcb3572bca3cfa33dd4a7733fff1a95bdfa614dbce9fb9e3d686b463fccb165bd724339bc21aa8a3d4ed4163f594531bdd1c544bce2e25d3df441d13edb9e0cbd4b9036bcc1531b3dddb0693e4585cdbc210a2fbce920c03cb5205a3d65f047bcb28902bcae375abad7095cbd1c6253bc0000000000000000000000000000000078e3093c771a7cbca404d6bd9736173cc3c6d63b0ed157bc4f06e6bddd62153cff35af3bfd8173bcbfcdc8bdf0e6933b3ebc6e3bef6570bcf577b4bd49c0a13b06db323b079934bcf2cc9ebd3362f73b5872073b9caf57bbf99a85bdc2e3463c6b3e913af11b3538d35d4ebd02de943c0000000000000000000000000000000000000000000000000000803f000000003124403b9cae4cbdc658973f64887fbdd522dc3a683de1bc2d1e7f3f84002fbdac14fc3a30fba4bcaa4b513f611805bde74f3f3b52bb77bc2784223fbf65debc5fa6433b77dd72bcf045e73ee871c9bcf423053b566a5cbc0a86883e05f48fbc88753b3ba18ea5bcb7eec53d45b29ebc00000000000000000000000000000000000000000000000000000000000000003ef2273d6b9a62be728a333d0a2a7b3aeb64073d063d56bed3ebef3cd474b23b6459dd3c214653bed1429d3c8c94db3bf52cbf3cc9492bbe09105e3ce2dec93bda75773c6853e6bd97ddcb3b2998513b5f47ec3b6aff73bdb07797baa7f610b93eda4b3b5d0108bc7e943ebbebe63dbb00000000000000000000000000000000000000000000803f00000000000000006ad7fbbd00d0aa3ff007f6bd604a6d3c95e9a0bdf4128d3f17c697bd676a293c8da17abd62456e3fed6b6abdea95193c46fd2bbdf24d313f921413bded3bf13bfd618abc9a69dd3e480c14bc8406dd3b7935623bf790583e52a8533c1424303b9ba6b33cc06e6abcc3a8fd3caa7af2390000000000000000000000000000000029cdba3c2190f6bd3e3c213d0949143b0224fe3c31c122bef6f2163dc561773b61aafb3cfbde50be2c45e53cf97a323c81baf03c6ac948bee9e0a43c258e473cf269cd3c28ff25be7bd25e3cc93f313cec40b83c7486ecbd5b0da63b91e11e3cc9e6903c5af47abd31b9ed3a98bfe83b77a40e3c27db91bc51e186bb5eb09a3b48d51b3ca629953c81a4c73b63e50ebab89145bec5d4a93ffa4ffaba8e3e22bccbc81ebe3000953f07f9f53c49cb8bbc7f6c17beca488d3f5ac93d3cbd2d63bccb6ff8bd011f6a3f6bea883c96e32abc6d34b7bddab92f3fe8c8d43cda5c3bbc770e6cbdac53e33e9ab1133d3fab34bcdb57babc7895553e702a313d4a4232bca7317b3b3106263db02d2b3dadca3ebc9719a03c5ffc08be634cfc3cd27003bc030917bcd7e840bde1f6d63ced29c93b1333433cd3b608be9c0a9d3c778d593cd9df843c2eba2abe463e323cd4679a3ca1cea63ca50e2abe2d2da83b2080b53ccfa5a13c1e3f0ebeb53aee3a5062873c7a2dac3c333ed0bd9b4be1b99eb08f3c4b18933c99476bbdaa3baa3a92ff683c8de6903c330badbce5efe33b5c9a1b3c35d96d3cfee9c33b7eaa3a3c3240df3bea872dbe7a59893fcfa94f3eb70e59bd02f63cbe143e8b3f3810373e803f55bd37a630bebd15803fcc81173e62352ebd1a7c14bee3ed563f97a1ff3d4ab315bdd2efeebddcec233f875dd33d9dd4e1bc01a5a9bd03d7d73ec340b83d712dd3bcb57f44bd9bc0583ed529873df1b3a0bc595ea8bcdea82f3d3f12233d7ee453bcf16518bc413973bdbabe693c26ad2abc03ffd8bcae954fbcbf38953a3e62293cad75b4bbd954aebdd0048abca613b33c1652643b0e1af4bd8574e3bc43dddf3c0e16973b15a8f5bdc461cbbcdbd5c93c797e423cae76debdd591a8bce5acc83c5b5f343ce401a3bdea1d33bc7508a63c3421533c47e53abd296803bb3aac873c99ef7d3cd9189cbca7ea0f3c86a5723c2637543ced328d3b009aa33c0eed3d3cd41c23bec5be653ff488d53e5f27c4bd19c92ebe4cbf633f6b68cb3e64adc7bd6a1925bea923543f8a70af3edd1cacbd23410ebe361b353f7033893e6b427cbd45a6f4bd3a460e3f67b1523eac424ebd2528b7bd03d2c03eb3f2143ee69711bda0766cbdc8fb533ef745ab3d4b01d2bc386c07bd516d843d62f7e13c846186bcd5fcd3bc33a6f1bc281c79bced6d09bc2b6f00bde349933c09a807bd88e7803ceca783bcd9eb21bd8ee27cbd5f4ffb3c15a8f8bb038286bde0139dbd8c64053d5c12a4397055a2bdf67b8dbd601b053d775c75bb13d384bd923344bdab74af3c0dfa963bfb5977bd50e7ebbcddcbbf3ca9e7ec3b7455f4bc0c9d29bce549a03ce0c6ed3bfd1987bc140d1f3ca3426b3cade5083cde56a53bdab69f3cf023283c323801be12d0293f6d102a3f4d9a0ebe3b590bbecc012a3f66c7213f06370ebe582c07be07ee1e3fdd570d3fe993efbd3e14fbbda9550c3fbe0ee23efcc5bdbde648c4bd502adf3e5910a23e73b77fbddfd6aebdf9f0a63e61e54e3e919f37bde1da70bdff94423e98f2c23d6a6eb9bcc6191abdb178b03d078a193c872d12bc0397cdbc15cd333ba98659bd58c28738730901bd43de1e3df75878bda982b23c02cf89bcd5197abbcf04e4bdad1d2e3d2cd410bc87a4f0bcd9edfcbd9821333d189ebbbbca651dbd579ee3bd79ec1d3dfbb221bb3f9f35bde9b0afbd77670c3d8607583a063820bd8c1e49bd5370df3c8229583ba286f5bc456784bcdc37a03cd81c823b262340bc3156e73ba516883c760f1d3b4a63bd3bdf10ae3c6d4e5f3cfa19aebde11dd43e4615673fd3a92ebeccd1bfbd0fead93e81055e3fdd6833bee7b7bfbdbfd6cd3e60d4443fcc041bbef77bb2bdbc50b93e8c391d3ff571e8bd5b03a2bdcc0aa03efd65e33e2fd8a9bd44c08bbd4e187c3ecca3893e13f54abd294658bd34c72b3e5e62ee3d1827adbc0fa915bdc988b33d01afd4ba7b908eba36d5cabc4d3ccd3c8296a6bd6621ad3bf491d2bc34b4423df859a7bd300b063db65352bc7f43a73ccebf1bbe33bf4d3d95c9cbbb37eeb83a3f3c33be69a24a3d7cda86bb446722bca3991fbe3885313d5cb509bbafa568bc7741fabd0370113dfccbd4ba7ca6aebcceb798bd7e19d83c2a0a91ba1e648abc8da1fabcb1798d3ce67a45382c271abca72c2f3b1f43463c7f19aabae676543a761ecb3cb82d373cbe2c32bde4ff4d3edd7d893f0fb837be2b3b55bd87904c3e4556893f6b3143beb41655bde142483e6448763fe2c427be782d53bd2c09403e43b0453fe671ffbd712445bd35aa313e9a710f3f1cf0adbd69d439bd2e191f3efac2ae3e9c6344bd939a15bd658b003e367f0e3ef11947bcd82ae1bc835ea03dacdb10bcbb41203c9f0a93bcf6ec153df29fc9bd9f63743c322011bcc2322d3db98b10be86dd4b3dfa1516bcfc85003dd9102ebeb3de553dcae040b8038b7d3cc6b353be73634f3d1d1d993bdeefa23b28d645be7f2d343d05ecb33a121e5dbb31a919bebe59fb3c6ea1dab960d2fdbbdc6dcdbd7b83b43cb459753a9b0711bc61c639bde18f273c67d411bbde661bbc08b044bb75b0b1ba3296aabbb2cc823b9c4dcb3c98045a3b97dfc2bb893344bbd7d7a93f466a4ebed51696bc58102f3d02b6943f4dfb21be4725b4bc328c173d51ec8a3f9dff14bea098c6bc965d533dbdb5623f8557e0bd99b6b7bce96f7a3dc990263fa09d8ebdc6b7c8bc2733913d8943cf3eb22808bd185b9cbca974893d90a4323e8431b3ba02fc88bcdffd663d7ca37b3cd45dcc3cf12a06bcc9b5073d334c1dbe606b103d00000000000000000000000000000000011bf13b9ad7b93cf4d85cbe01b9463d4bba043c194c3b3ce29051be4b951a3dc4683c3c0d00a53a5abf48beb22dda3c455eb83b6cfa3fbb308b24be3d0fb63cbcee703b801dc9ba9f64dbbd435a1f3c3549fa3a649cccbbf3c15abdd22087390405b2bb2f81cdbab80981bb3c57c1bb0000000000000000000000000000000000000000000000000000803f000000009694223cd84bf1bd4c9dab3f046300be5af4c7baeb5c80bd7af78d3faf2e9cbdb5786bbb19ca42bd9f03713faee67bbd940664bb22e6d6bc01e7333fc12f1dbdb9e15ebb562e9ebbc57ce23e126723bc44cd55bb3884363c50b6603e665f233c1edd323be095a13c3a3925bc8128043d0000000000000000000000000000000000000000000000000000000000000000c881223d1ad453be543e513da7a387bb3a8c143d284548bed1d62e3d56fff5ba3c65053d0aec40be64ef0e3d502ca2b9e0d90a3d335d1fbe14c9d33c293a9fb94f39d93cf995dfbd4a87873c1ee602baffe3933cf05165bd64f66c3b95c492ba5e47893c0df963bca0fc23bb79ed1aba00000000000000000000000000000000000000000000803f000000000000000007a1febdf947aa3f9e85efbd1b53213ced1ca7bd6e8e8c3f0262a2bd865dcf3bc18b90bd62466b3f879e7bbdd509893b948062bd32402f3f09552abd6b4f5c3b4b23fbbc202ae03edb1a81bcef191a3b6f6c13bc2296543ed276b93b1749093a39089d3bbe1c75bc0f8ef83c5154ffba0000000000000000000000000000000089fa9e39ac9ec2bdc08bcf3c36af2d3bdbf2923c6ca707be1918063d60746e3ad1588f3cf4f624becb05f43cf3d7763b45cac83c67e124be7ae3cf3c65f48f3bfd46c43ce23d09be4b94a13c1334993b986ebc3c5778bfbdf026423cc7f5083b2a74a73cafb04fbdea4beb3acacf373b27308e3cbe05f2bb6764c4bb9e09053bc0b9ad3cbc77083c036ad63bf9b20eb981f52cbe151dab3f228f7fbca1525cbb640c15beef36973fbcb76cbb6a89efbb4e2e0cbe64738c3fbf496cbc9d7cb4bb3b7bf6bd0a566b3f617758bcb28472bba397c7bdc4d4333f92e6b8bbff2763bb152193bd6d45ee3e2e26eb3b0aa2d0ba368237bd2bd8703ee7dc923c0212c0bac0a3a4bc05bb3c3dfb52ec3c81d880bbf4dc4fbc7954f3bd43b8e73ce7798ebbd03531bd3a17713ce9a354bc88ae203cb636a3bc42e283bd8bdf2fbb997a463c6fdf4abcfbc5c3bdc08720ba50273d3ccd6aa7bb0b98cfbdd63cb23b4097313c414bc6ba1f26acbd7b62033bd555203c9adefd3b408b88bd2056bd3ba6a08e3bc4413f3c565f03bd605bd73b20ab1a3b86665e3c52d1f4bb6b73e53b2842233b331f1e3c435b933c0fd8683c0f74b2ba0a34fcbdcd66883ff427263e60a7f9bc4ee916be1dad893f899c003ebc36dabc413e0ebe23d47d3f4521b83d226396bcebfefebdc750593f2d5f7b3db81384bca981dcbd3f602c3f8dda203d12261fbcf20cb4bdc65bf23e3c29c43ce0cc8fbb1aa186bd0d08883e70d55f3c3da8e9ba5daa3bbd3fedba3d48c7843b398825ba857e04bd5a2a7cbcc9d868bc1e07383a60fb99bd8f90b13d8d0282bd94f9a43ca61354bdf1fe4a3ceb6a67bdfbdfba3c85a822bd432d9ebcee5644bd5d4aa63c375703bdb974f1bca98910bd351d673c8384d6bc787404bd6fe4cabc1102663c1f7382bcfa01a5bc29e84bbcf3dd963b23aa1abcbc2f37bb1caeecb92455773ba87418ba543c1e3cdbb2173ce91cb7360d5eb2bbd571f13c6499983c3b5d53bb5ffdccbd88c75b3fa82db83e7e0f68bdc234f3bd69745c3fcaa1a33e3c2a6abd25adedbd36184f3f85e57e3e9ac733bd1be0d8bd3e2b363f409a313eece8e9bc950dc7bd5834173f504eda3dc104a3bc26dca6bdb3a8de3e693d613d3539dbbbfaf089bdb7ad8d3e5f60cf3ba36eaeba113f4fbdf7a5063e57a501bdf8bdbb3b806f2cbdc7fa283dce1a81bdcde8ec3b24e3a8bde606013eb089e2bd62ddf93cf5518cbdf11f9d3d7e44f4bdc1501a3da14871bdca82403d9c92e0bd5e91ff3c576553bddde2e43c99f2b0bdf0a7e43c7db23bbd0fc00a3d3e848cbd081b8d3c60fa04bd6da2803c2ff10fbd4e15323cbb7dd0bcaae1e63c907e85bc8558e13b61619bbc2af4f53c2ce6963b015ce9b8cdf79bbc59b5383d9605743c0c35c8ba583e99bdc15e1e3f33a41a3f04eeb9bd68e5adbdb445203f4a270c3fe450b9bd8482adbd6a2b183f17f6e23ec1d58bbdff0ba3bd8c7d0b3fb78fa43e5a8848bd072991bdeca6e83ec729543ea99fecbc19678dbddb35bc3e5000c43dcca33dbc692261bd3784803e59bc593c84ab413a514138bdd0ae193ed11e72bd7ca4353cadce19bd6537933dd3fae5bd3d0c873c6b6494bdf875023e971e10be1e43223d7b8f82bd9dccc53d2b892abe9d95583d001060bd7aae8d3dfa6e20be07dc333de9784bbd10836a3df0d602be73210d3da6962ebdd4683b3df8f2c4bd8fa9d93c1b320fbdd5a20e3d58e15fbdb1684a3cddfbe7bc1593033dd712a7bc76afa83b18dcb6bceae3093d2b3d4d3b0d10e33a1c39c3bce1a6383d15c6673ce18d58bb982c3dbd4c69c23e0f765a3fb4bdffbd018462bded1cc93edd3c4b3fecca00beffeb6dbd8b17c43e8d122a3fbbfcc8bd658d59bd9427b53e1c8bfd3e2bf78ebd733551bd15a3a33ed586a73e2b962dbdb90142bde469893eccce2c3ef5d68abcde1e2cbd74704f3e90f8103d891e0a3b0f2910bda8600b3e40e98bbdc3788f3c1213cdbcf3dea13d10900bbeed76a43c878c4fbdf5f6d43d45cd1dbe7239463d5c7c3abd10fab53db5534abe7476783d774d20bdc2af953da64f4dbe323d603dcd4b0bbdc8d57e3d541e2dbe674e313de3b7fcbc155d583db01f07be8d62013d632ccfbceeec193d2121a4bdc857873c5c3fb1bc8f7a0a3d95de16bdc018e53b17488abcc1cfbb3cdf9c87b983b798b9583099bcbc080c3d32b5993c2739bdbbf761cabc7c19313e5b34893f719c16beccb0fabc5d58343e2f70843f5fd31cbebab0febc5aed363edca6623fb97cfbbd5e4d00bdb93b343e88622f3ff734b8bd6197fabc7d1d2b3ef70cf23e4d5c60bd06e5f5bc6354203ee597873e2fdaaebc55f6d8bc4af0053e04a7a73df2f5453b0c79c3bc10cbce3dd91d76bd468bbf3c9ee094bcc86a8c3d60ab1cbeefd3fa3cae63b6bc3730713d1eb231be437c7d3d0f1dc3bca5f9833dbb3546bee97a813dcaae99bc05c25e3d98d356bef34d653d10d97ebc8579453d10f543be02d2423d732e5ebcf32a283d98a418be802f033d7a2636bc036f013d1689c1bd41de863ce5100bbcab87a13ce3252ebdc096bb3b490912bcef1d5f3c71abd33bfac411bc35c017bc8388983c1176993c23524dbb911bc5bb6efa49bc2540ac3f5a543abe73f70cbc30ec9e3cc2bb953fad3918bee74f46bc312bc63c796f863f6c3f02be38965bbccd06073d0a14573f7213bfbd4e664fbc248d313d42261a3f5e8464bd26354fbc32725a3d88ebb83ef319abbcb7d54ebc0fdb683da294103e8512f73b28124fbc0a2b723d880ce8bcfe9d0a3d605fd2bb0315153dbcff3bbe57a33a3d00000000000000000000000000000000d96d933b78e6853ccefd45be9b11403d85f3a23bc43b9a3cd28f3cbee76a1b3d1e40ba3bd0a2653c7a1e34be7914f13cd2620b3cc3c1383c3ea813befbeab63c358cc63b6fc10a3ce891cbbd884a4c3ca2289d3b2d49c23b4d0347bdd6a9633a6b8e463b2b6e023bd233babbf5fb8cbb0000000000000000000000000000000000000000000000000000803f00000000ad9df53be76be7bde5f5aa3f66cafdbd6cde413bd15691bd22e68c3f9e65a5bd21c6803abdf377bd42c66b3f451f81bd03cd403a90cd32bdee56303f404f26bd8107673920f0dabcaa3ee23eea3c73bc757669b9acc01ebc197d5a3e7ef5ec3b7a57853b25129138ac8bfdbb6382ec3c000000000000000000000000000000000000000000000000000000000000000063baea3c6da144beae22333d0ee459bc87d8123dbb424cbe52ff173d5a9a15bce24a0c3d10863dbe7422033db93f21bcc20a1e3d950b29bea958f73c5d3e12bc3eae213deda708bee6b9cb3cf7c409bc7fae283d0405b8bda488913c5260e0bbe55c453d97d97ebd0ba0993c32f60dbc00000000000000000000000000000000000000000000803f00000000000000003d8aedbd897fa93f04a3c5bd1c70d73b11dab4bdffc88d3f2ab983bdbb282a3b9456a3bd82726b3f619a5dbd523c033ba50c92bda001353f446f2abd6842133be0bf7cbd1234f53eb16bc4bc43069a3abb9744bd081f7e3e8d3504bc735e6e3ad89141bda9531a3d1a2e073c0e80cbb900000000000000000000000000000000b9d25fbdccf1c9bc3274183b7a26a5bbdc4982bccb59eabdbb9e683ca84fd4bbf49489bc77d8f0bdb0e0333c796bd1bb395636bcca61f2bdd166393cd4d4c1bb1a5d81bbe1b3d3bd2f43533c506edfbb09c7113cdbdda8bddf72463cd91edcbb5f16493c3e4b48bd36db203c2be0b0bb4c33df3c5c7195bcf8a6bb3b5f77b2bb21bec63cdf4084bc133bb73c0b25ccbbb7b2e6bd536ba93fa49988bcdd5394ba4e37e5bd15879e3f05c1b4bcb366e0383415d9bda40e8e3fa119c7bcc4176838ed13c4bd6fc46f3f8129d0bc5eeadb3a5757b3bddf843c3fbb85edbcbf356c3bc388a7bd25bf053f2cd6d5bcb8d3ae3b4b7c92bda4059b3e18cfacbce7f8933b303c6fbd305abd3d643248bc42cdc73b440e90bddd6535bc48deb8bc0dd3af3b438addbd39460f3eb93d8dbddb62ed3b62afccbd87228c3d68cf50bd95ea393b759eb5bdbaec1f3d106c49bdd5cf7d3a5ebda4bd38dcbf3cdc560ebd58b011bb591897bd3a56e43c7250f3bcdd4377bb62796dbdefecc33cd4ea63bce616bbbbfbf03cbd9922033da9cdf9bb73aca3bbcc9109bda2270d3d930cf93b486209bcf59e2abd86d78b3d740e663c1054f4bbdf645abd9ee2833f800f083e375c73bc43d079bdff47843fb776c63dfacf2bbcfe9e7ebd3af2713fc66a8d3d55ffa6bb054e66bd47dd523ffe32ff3c0a89033a912161bdd9272d3f4dcd903a13a4cc3bd93759bdf6a7043f1cbfe4bc7bde133cd0915fbd1676b43e020b52bdfbd0563c60bb4dbdcf644e3e780a92bd3e15893c86c34cbd80d3ca3d8029c3bd57097e3cd3960cbea1cb7a3e7ca715be78edd83c063209bea5cd423efe310abe8bbaaf3ced3ffebd7e1c223ee7d2f9bd82da903c6dadf1bd4016123e43a4d3bdacc5453c75ede4bd330e0a3ef4d1b5bd28d40f3c0bfec7bdf3d1013e9fb97dbdf55c323bd568b8bda2e5fb3d06e731bdb45e4b3846e89bbd2911e83d2e4f9bbcf77d5bbb9b66a9bdacd7133eafcd67bc490775bb3d54a0bc020c483fc3049d3ebbb3febca6d59fbc4ab3453f0f14883e0efbf5bc6d20acbcb6df393f52384f3ed5809ebc089aa0bc079f243fc0f5033e107530bc7e9695bcc4fd0c3f4cad6b3d65aab53a21db99bcaf2be03ee7bb78bb4898063c763a95bce48ea63e1fd788bdbcfb703cf273a5bcb060613e4f4df7bdf121c73ccabff1bc7ed9153e9ea91dbe7134bc3c823e08bee900883ebaa355be3684473d69310cbefea2803e6af158befba2333d9ec5fdbd2e6a5f3ee80749be849c203de657ffbd0a5d523e7e1a33be1409f83c2c41eabdce964c3e8e6c1fbe81bdfd3c1255debd51be3b3e54faf2bd6d649e3c5c61d1bde464383e5de4c3bd7952983c6a85c2bd8a972e3e7e817abd07ec0c3c749fc0bd42223b3ea2695ebd21e8583cc82d22396753093f3a4f063f4c4f5abd1349c73be2ff053f1e5aee3e35ec52bde58befba9a51003fea2dbe3eae2d13bdd6fc933ba9eae83e437a863e6aa8bcbc0ff1afbb77b7c83e596d253e640419bc6a3d433bbce4a93e493b533de486073bc1435ebb3643843ec2c720bdaaa3313c7b81a839b36b433e2f8403be147ac23c50e4e1bb0b2a093e7b833cbe45afe43c7de5d3bd53bc6f3ec9b978be1c588b3dc2bfedbdfa35723eec0988be0f8a893de8dddcbd5b81583eafa180bebbd17a3d51c1d5bdfdf2483ece9a62be538d553d2c81cdbdb546423e8e6947be2e353c3daf27bdbd9252373e17ea1cbe754e123dd6f8b8bd8b742c3e38b8f6bd1021f53c1aaaa9bd9533263e5292acbd8f0eb13ced68a5bd448b323ec3b39dbdb0ecad3c8e3c223ca95ca03e708f453f3fa8a4bd682d8d3c35199c3ed689393f2692b2bdbec8853c55b4993e216d183f7a3590bd592e6f3ce1fd8c3e8947e33ebf494dbd56116b3cd2017d3e50e9963e657a00bd75f65f3c2c3c563eb742163ea60a6abc58da533c8f762d3ed76c263c2340063b35394d3c3509033e1e9bd7bdfb028b3c409afc3bb277b43d31543bbe0d06c23ce3bf8cbd2b1d2e3e109a82be24c5ac3d6dce9dbd9864323e8b2498be2bdab63d6a7d95bd9f91233e372c94bec04fa63d06e88ebd17991b3e87eb86be4841943d19bd8cbd7f40153e29566abe79d07f3dc12087bd93a20d3eaabb3cbe92e8563de0da80bdc2bf083e2f0216be0fbd353d57187bbd188f013ead32d3bd6c820d3d6d5268bda3bc093e3c7db1bd234ef83cff00213cc6c3ff3da098853f3228e6bde11b813c94e5eb3d08d9803ffe4ffebdf8f06d3c265afa3de225593fdea4c6bd917e713c42adee3d1a1e293fd8879cbd7b6e893c2caadd3db3a5ed3e6e404bbdc5608b3c1e63c23dad598b3e3aa0f7bc0a69863c0b5aa13df2d7c23dcf620bbc197e8b3c5d387e3d3c8e87bddb9a323cdb667e3ccd57203df94b28bebc1cbd3cecd5e1bc388a953debe166be1657af3dd48717bdd3edd93dec8b92be86fbc33d353f08bd7a5bbd3d24988dbe9fedad3dccd50abd619cba3d5d3e84be65c19e3d77ba06bdc136b23d580861be9c4e8b3d8c5504bd0f00ad3db8cc32beb7c56e3da8ef03bde9b9a13dc80cffbdcdac493d6c3f06bda5cda53d608091bde28d0a3de63edcbc91c28a3d3c7aa0bd4a8d343d7a2aa83be7e59fbc5720ab3f09f71dbeb2fd3a3cdef183bc543d9e3f5fbe17be26da323cb541dfbb0c4b883fd7eef4bd9dde413c83469b3a12285a3f0022c0bdbea8533c6140f33bd07a1f3fbc3b8cbd2bf3543cca70283c1257c83e484335bda548723c3914733c77a02c3ef03fa3bc1844513c7616be3c0dfa0ebdf211c03b5f2f5a3c50093dbb586610be276e4c3c000000000000000000000000000000005a8f303ca8ea9f39fcd73fbe1332723d2493d13b782a3c3c15993fbedaa7553d8f08ec3bb498dd3b653430be5142393d1c49e33b61e9f03b20b519be9adb2e3d7ab8fa3b434e313c3893efbd6bf0143d822c153b18266d3c00ea94bdc942eb3caeaac13be438123c909b3ebdf5f2053d0000000000000000000000000000000000000000000000000000803f000000000066803b6130c7bd822fab3ffe6cf8bdd75e883b552c8ebdc4908e3fcbedb1bde2896c3bc93d6ebd8f836b3fe5f48ebd81c9ad3bc6874dbdb322343f13016abda668d03bc64b2fbdfd9af43ee6081ebd2fd0eb3b3c32f6bc08cc7d3e6ff2a4bc207e0d3ca95d00bd35cb3b3d15101ebc000000000000000000000000000000000000000000000000000000000000000043bb083c2f9cf8bcc31c09bdb303ed3b1ecee03bd2f511bd155dd8bc2e66af3b0774c73bf1d304bd9f3fb8bc3f2a963b75df633bb186f4bccd9d98bc18b9b03bc584963adde4e9bc3f8380bc5dc8423b87bc04bbaa86c2bc0d1638bc0a43523be51d73bbf11085bc364b11bc9776e13a00000000000000000000000000000000000000000000803f00000000000000001bed39bd79b18b3fca7ba7bc9b10dabbc707cabcc2df683fc79338bcc5d994bbdad36fbcae933c3f782110bcb6699dbbf9bf00bcbdcc113fdeed20bc9e0471bb891269bb5304d23e7ff068bcd58218bb2b3f30bb4ba8813e0f3694bca516503a28566dbb481fd13d5a19d1bc0754883b000000000000000000000000000000005c28343b0e55643b3ce5efbcc0b0d3ba88bec33bd08ad3bc09f523bdd089913b63921a3c8ffb04bda57c17bdc977853ba3640f3c62d505bd5e9c03bdabb25b3bcc02cb3b53daecbc870ad2bc1ca2813a7999513beb87e5bcf263b3bc5471393b95f78b399c1abdbc94408fbc40b60f3b3e438fba256664bc720c2dbc6dd7513b0bac7238acd52cbaa5e1d0bb48d4f739c000a6bd96a18c3ffcb4e93dd334c7bcd3c5adbd14fc843f519cd03da586cfbcbdea6abd324d603f8367bd3d404fb0bc6dce1ebdf50e353f10d99c3d989e92bc7c06cbbc6f1d0a3fca246a3d56fa65bc8bcb91bc66ecc63e18910e3d96b83bbc39ad55bceb8b753eadd54f3cb41407bcaff234bcaf5cc53d852c50bc1e2445bbdfb1ffbb35b288bc4085cfbca04818bbdc40b5b9e2e9733c67839fbc8dd71abc466ca23b194d30bb0d9c08bda9fdbebba477f73be5bb4fbc3464fcbcb25f61bb58e0233caa579fbc599000bd698fb0ba453ee63b096088bc4491ccbc0476d8ba26abbd3b20928dbce360d8bcf95feab897b4383bceaa59bcc2238abc19933b39e03dfd3a12f2e1bbed8347bcae55de3a31af263b05310b3b1f6db7bbb7d5b339227ea4bdbdde6c3f9b7b893ea9bf1fbd1e09bebd3c6f633f2c537e3eeb5a3ebd34a174bdd72d3b3fe8825d3e040116bd6f8b56bd4ea01e3fe770363e191706bdd9fb06bd179af03eea0c0a3ee91bd1bc9352e6bc48f1b13e33d5ba3d3037bebc64d89abc8c285f3ef41f5c3d029797bc6cf677bcce00c83dd004313c7d7584bcb42d15bc535c63bb1c3e8ebc381e37bcd4401cbb39129b3c943131bc838d82bcf1ac5e3beceefd3b1335cfbcb3637abcd570e33baa20c7bbb59afebcbda61cbc85edf33be68646bce43efbbc2315e7bbc7a4de3beda349bc48c1d8bce22bb6bb5a62b03bd31867bca63cb3bc1d1d7cbb427e443bf15a37bc7ff898bce2dd05bb3020293b0c2eb0bb597146bcb741beb94b670b3be4e2f33a907aa4bb998d88ba5d9490bd771d413f7edbd93eb9ed4fbd9499acbd90bd393f5be9cd3eca0084bd402b89bd7161203f2908b13e716b5ebd1c8850bdb91b043f65cd913eec583cbdae0e1cbda23dcd3e25b4603ea53320bd7ec6f0bc3587953ebe441f3eedcc0cbd721abdbcc0813f3efbc3bd3d3083eebccba78bbccdb5b43dff12093d3fbfc4bc78962cbc34cf373b117d4ebc82e183bc241588bb711d913cf67d96bbcf28b1bcb59eaf392e10113c1d519abc9663abbc42308e3b563dd7ba7910cdbcccbd54bceaa7da3ba688d8bb681ae2bced1a6abc229f633bb128e3bbd40e96bcb1f6ccbb3728543bedfb39bc7bbac2bc6ba6b2bb8e5e063b76c00dbc65ff86bcb1b592bb5c10013b3283acbb594033bc42541ebb0712c73acee43b3accf36bbbcfbd10bb161d77bd1d0a173fd220163fc3ae7dbd5ed890bd5d720f3f1e750d3fb5189abd665659bd6611f63e6a7af03eec9d7abd22cd37bda33fd03e29f8c83e56086bbd86b5d5bcfa9b9a3e215d943ea51b1abd373de0bc3580713efeee5d3ee66130bdbb62aabc2f73183eb782073eea9a09bdda3a89bc11e2953d64895f3d2a30fcbcd58736bc9dae933bd58e1ebcc93ab1bc7087b8bbb356493c9c106bbaf4d1ccbc6541c2ba43319d3bc1ca95bcf7a2d1bcc991323b1eae57bb57e9e7bc532d9fbcecf15f3b950813bc16cae4bc1b276dbcc026793bdab41cbc78afdebc411338bc97171d3b013b49bca7c0cabcc3910bbc9658803a712e40bc174d8dbc1759b9bb6b4a813a4c460bbc5cd038bcbcca4bbbffb5653960e30abbf95708bbd99affbad6cf4abd5663db3e0c3c403f32c893bd609274bd3d1cd13e2d87373fcb37b9bdc1bc44bd458eb73e72b51d3fad6f9dbd4af61fbd5687983e919f003fa64c80bdaa36f8bc36f3713e4430c63ed54e5fbd1966ccbcd8b2333e4dea8e3e21ca44bd0a02a6bc1971e63d0a512f3e62e727bdb2428ebcef7e5c3d30a8953dc94d18bdfa2729bcadb5143b055c19bc8cceccbc4269bfbb8678933b989b17bbeb78ddbc247904bb6fb245bb3537bdbcabb0e0bc18b3b73a3582cebbbbf9eebca0d89abc7328403bc1351abc853e0fbd311e91bc2fb6d63ab4c92abc3e56e1bcc6cf41bc0bccdb395f1e4dbcb8a7d6bc274614bc2b645c381d8b3fbca3eb9cbc5d30adbbe3cd85bad55838bc69ea35bcde5c05bb761592bafaf99fbb6a4b52ba05d39fba64fd1abd0dbf8a3e68c26b3f376ea7bd592836bd393c833e4695613f7516cbbded1a07bd5e28693e90c2383f199a90bd326be6bc9631463e48c41c3ffc6d8bbd1cc0abbca7f4193e1439eb3e38e24fbd88f5b4bcff96e93d7ee9aa3e315648bd884873bc79ff933dacbd533ec89f23bdf8ea50bc47f6013dd06aad3d9d491fbdddfa13bcddf301bb1d7e63bc38d6debc1a1ebabb0fecadbb5b6830bc0ffcdfbc68bd67b8b66934bcd56a1bbd78c5cbbc875aae3af12240bca0b133bd96d8a9bcbec5df3a1f9f47bcf41c2cbd02d48abc6c9eab3ae0aa44bcde1313bd477354bc9974163934c16cbcba5a06bdbbd921bc8a1138bb51737abc10dad1bc7ed4bcbbbfd809bb4fe664bcfa216fbc3e1f79b957f253bb39c425bcdd8ed1ba65e0abb9d1efc9bcab85f03de1ac8c3f3433acbd8529c9bc15a7e23d6843843f5700bebd269aa5bc14fad53d9a4d5e3f02e490bdc7d085bcf842bb3d845e333f1a7267bd40364fbcc8fb963d1079083f55dc38bd565c35bc5c445c3d177fc33e9f042cbd5b5415bccb54003d765a6d3e18601dbd8b29dcbb910e0b3c65ceb63d3ca710bd456fccbb6d6308bcc32cc7bc1945eabc000000000000000000000000000000000485d23979633ebc92d715bdd24699bc0d0a043b45391fbce7531fbd4df170bce2bd383b6ae329bc700607bdf6285dbc3f1f553a81fa24bc18fc01bd56601fbc679481b869b236bc31aee6bc3156f3bbe1527dba429545bc7b7dc4bc6321b8bbac9d6fbb66235fbc955875bc998513bb0000000000000000000000000000000000000000000000000000803f00000000d8ffe1bbcc4764bc95a68b3f8b215cbdc5369dbbcd8329bb9b11683fae0719bd991e4abba4dd243ba99e3b3ff088e7bc4c7577bbd53a003b5a5c113f396cc4bc27f244bb36d359b8a7d3d03e39c1b5bcf41fd4ba534371bbc5a1803e6d98b9bcd94603bb7f0025bc1a24ce3d75a3cabc00000000000000000000000000000000000000000000000000000000000000003288b63b6dc3553cab5babbc6d37b8b95ea4ae3b69ea273b53a790bc6074983a451cad3bb41444bb6fc583bcb81d303a77a25c3bd790b8bbaf1367bc0d11b63af47f1a3b8bb80ebcbe394bbc6ab9e13a0b4b8a3ace17e2bb62b54ebc82caab3b03416ab96be6d1bbd33450bce8cca73b00000000000000000000000000000000000000000000803f00000000000000005bfa83bce3de7a3f0f55c9bbd27a31bc095700bc4c91543f3861a4bbff5805bc1dc14cbbf1a72f3fa237c9bb9035fdbb58c0feba05aa0a3f8895ddbbc87dc3bb48556fbae7cdcd3e3c6c32bc17ccb7bb011267ba47ba863ec83a85bc836b4fbb1f243dbb33d8033ef23bb7bc273da6ba00000000000000000000000000000000f19758394dc7043d09a27cbc18035abcd336123b76bce73cd210bdbc4f982ebc1723ab3b9338763c1cdcafbc28b90bbcc4dda03b8cc5f63bd6d8a4bc14ecacbb9f32923b5e37f33ab7c892bc1c769fbb42083e3baf6620bab90b8fbcab3034bba579fd3a57bdc0b8d8bc8dbc27936a3a175dd13ac0d0c3b9f8d56fbc62c3d83a6a76293b4c22ce3b31ed34bc3527dfb996de11bdcb627c3fc1ed043eadedbebc62f916bd032e673f5872eb3df6ddd5bc333cc1bc14b8443f3392c93dc2d7b6bccd3488bce8c0223fb6fea23d7b80a5bc958930bc6d18003fe119703daa9f85bc5a9417bcb286bf3e1f571a3d9a5f70bc3880fbbb201c7e3e8e5d6f3cafa945bc1c27f0bbce5e003eb5abd1bb205d14bcc2feb6bbf2771b3cf7c1a0bc887a00bc4bce85bb6182193d79f8f7bb6165c0bc3c4db2bab91d163dccd36abcc86dcfbcee8ee83abccab03ca8c955bc70b59cbc01f45d3b1d7c913c986989bca6f092bc04953d3bf2273b3c024868bc18e75bbc48fa443bd355093cee4585bc69663dbc33bb233b1d62b93b975a59bc6de010bcad5f483b0feb093c8c6263bcccbbd5bbc7f1393bfef8233c1e3a0cbcc0b5b3bb605c26bd1413583f240a8b3e709903bd854440bd77df473f13d87b3e93c422bd269fecbc85d5263f3398553e48f9fcbc5838d9bc96c80e3f1e20313e4b5a03bdf38a94bc9a22df3ef429083ec5c6cebce72685bcbf6daa3e85a0c13dc22fd4bcf19b4fbc6208603e0a36693dbfaaa9bcf1812ebc9021f33d23cd8b3cc5aca5bce29ae1bb2f5e833c3c1f46bc66406dbc9f69a3bba79a173d3f96333a1f7402bd630650bb229d1e3dfe9fbfbb79b716bdd50b06b92a45e93c3ada19bc964cfdbc3f8c963a87baab3c039c41bcb50dd7bcd858093b515e6f3c5f174cbc6168b4bc827aba3aaa0c333cad9c4fbc4ec1a6bc5868013bbedc263c0cb150bcd1737cbc347e233b218c343c73ae38bc794e51bc38b4333bd6d33e3cf9f0d2bb9f6f2ebc675325bde287333fe92cd33ecd2127bd862342bd1f1d263f5bc7c13ebea24abd7d3d19bd3b8b0f3fa4c3a53e53ce33bdd487f7bcf6f4ef3e41f5883e681b24bd8a9fbdbcf436bf3e46c7553e794510bdf47ea2bc0297913e6be21c3e94e208bd69017dbc950c453e5763c43d94e8fabcfc2b52bccd06d83d9ccc283db772e8bcffba07bce6ae9a3cb5e2b6bb7500a9bcd210f1bb40e9043d3e2a033c333020bdf42be0bb507f163d6100123b117c3dbdeba9b5bac3a9cf3cc0f563bba4cd12bd5f0eefb9dee5aa3cacd1e6bbc6800abd83b9a2392448573c7e5cc8bb7e70c0bcd6d6033a6b21503c956321bc6cf3cdbc599e7d3aa671263cb9220ebc408da2bcf87f303ad192343c6319fbbb6bbe88bc224df13afcf3313c5aa591bbbba170bc5df11fbd97eb0e3faa240e3fb57535bd4eb638bd09b8033feef3013fe6135dbd48a70abd62dce13ec64fdc3ec05f38bdc65ef5bc92aac03e8c01b93e835b3bbdf15198bc9592943e86d58d3e90e304bd46cca4bcee446b3e3023573e689d21bd26ea72bcfffd1d3e2dd4093eb8ac0abd205661bcd588b33de985833da7e60cbd535c12bcedfe933c40d7a1ba72b5d1bc38e004bcf0e5d83cd788563c680a34bdbf81f3bbc959f03c4e76113c326f55bdb7a27fbb03b0b83ce9e9683ad35837bd74fbceba5aa4983c264599bb306a1ebd703dc5bacbca6e3ccf2cbcbb2336fbbcfc1181bafb61263cd7cc09bc41bfe9bc2b49c2ba227c003cb03208bc8f61c2bc5dc891ba72c9013cb824d2bb69ebb2bc704797b77054f13bd2d4f0baa87a84bc42f20cbdc6ccd43e2660323f8d3341bd45672abddda0c53e7e47243fedcb74bd45a909bd3a06ac3eb6cb0c3f02af5abd45bbe2bc8ba3913e23f8e83eb06849bd467eb7bc5f2a683e289bb63e361b33bd074f9fbc7178323e4532883e7e1d30bd907589bc435bf33dd0a5303ef43724bd526965bc723e8a3dbf0bad3d488f23bdcb9915bc5558623cf8f35d3a72f8e7bc26870dbcac4c9d3cf6698d3c57b03cbdc50802bc70deac3ca498493c557d61bdb60d8dbb6722863c0d2d183be15523bd17f25cbbafe34e3cf28e34bb2fc625bdc5c715bbf3030d3c7f0ca8bb4c7200bd913330bb98d3c53bd4e703bc0663f2bc7c5810bbc1626b3baa92e4bba8e2b4bc10dc43bba2c3ea3a2fada2bb4d64afbcafb306bb35356b3bd6ecc7b907dc8bbca90df1bc38e38b3ea427573fd10942bd81310fbd7357823e72fe453fff2d73bd598cccbc8076623e988b253fbc863bbdc076c5bc0c17423e411a0c3f5f8142bd00a78fbc8ca7193e53a0d93eab6c21bd97c88ebc282def3d8072a33e30822fbdcbf44ebce7c39f3de42e533e44e411bd3af050bc40cb2f3d4834d23d3e7027bd150f15bc55c80b3c2f72183b5fe9fdbcfe7705bc6441373cd1739d3c078444bd9bfcfcbb46ea373ca6c8263c383151bdd65facbbfc4e003cf767e9398f7f31bd707059bbf2f4bb3b1e67a8bb9cd517bd7a2264bb92e2843b217415bc6521f7bc1c686cbb35819239972828bc258addbcab3491bb5bce36bb021a2bbcfaa8b4bc61dfb7bb0d44b7bbd3d3e7bb104689bc48c889bbe0c372baa5b204bb233b7fbc90d0b9bc0aeb073e3b827c3f387236bd0878c1bc2fd4fa3de7bc653fc9af4bbdf47699bc3912e23dc525433f245d2cbd7a4286bc6f54c33d561d213fca841dbd5d625ebc33449f3d96a0fc3e9a8e0cbd2cd947bccaac6d3d8059bb3e647f16bd4d572dbcf4f61a3d46a3733e443816bd799b02bccb028b3cc13ce73d6b711ebde5a705bc91bae93a5c2b1fbaf3cdfdbc00000000000000000000000000000000ab0085bb48516b3bcb8aed3b48f117bd3e3d40bb97815b3a9df3d9baa2b8e6bce32bbcba08b2a03af317b9bb57abc6bc1beb42bb2b539bb8d11ff3bb4fd1a3bc8c2869bbc9ba7ebb8f8b14bce8d689bc686f79bb6e31b9bb4c8b24bcc9c061bce0bab0bb2fadfebb985ffdbb936c4cbc0000000000000000000000000000000000000000000000000000803f00000000718c38bc37d8cfb9988e7b3fa026ebbc5570e6bb81f1503b03f6533f514ab2bc87d9d6bb0a54b93b1d062f3fa0e2a5bc3944d6bb04fba43ba5170a3f86669fbcc01787bbb243613be3eccb3eda40a6bc743d9cbbce3f4aba2d5f853ed076b7bcfa60adbbd3e08bbb4680ff3d4cb6d5bc000000000000000000000000000000000000000000000000000000000000000047166d3a4922df3b4de339bbb2b69ebb2465133881c0a33bc124d6ba8a766abb15cded3a299b4a3b34b34ebb719d8dbb30fbef39ccf7573bd48c07bba70430bb12e1c13962b03a3becc330bb00d5d1ba4673e5391fdc503bd51108bbbc867cbb9bc2673a9915753bb75d28bbf08e2dbb00000000000000000000000000000000000000000000803f0000000000000000f3800abbd4e6633fb4147c39389293bb3cde16bbd44d433f073915ba881d2dbb8645c6386ffe223f09cd963ab1c912bb021695ba3414023f1bfcbfb9593c33bbfe0380ba8971c33e10b9acba0ec4e1ba256b87bac402833e6743adbaf32d1dbb72d441bafbac053e215710bbbb2a53bb0000000000000000000000000000000052fa2f39d444213c83b6bebaefedf2bb8edb5f38ef37313cf72518bbe48c13bcce67903a85e30e3c4a192ebbb8ff0abc36c81d3ad180f53b7c2022bb33ebf4bb45f67d3ad19fe23bbb022fbb4646d0bb65fe9a39814cd13b10f41bbb98c1d3bb8bfa4339402ac83bb03721bb4c32c0bb115ba339f780de3bcf882cbb441cc4bbc333e53a713eaa3bb9a516bb371ca9bbc6308fbb1b3f643fcc68023e4095cfbbc9839dbbea95493fc286e53d22c500bce82c34bb32822c3ff778c43de314f4bb20373ebbf7f70f3feaeca33d1685d8bbd84809bb155ae63ea87d803dd3fdbfbb5fa02fbb55abad3e1310423d0dcfc6bb157b31bb97c2693e3054fd3cab1fbdbba8263abbfc74f23d3a276e3ca167c6bb4a5535bbd0dfcf3be616c0ba039ba4bb988716ba3560253cfba74eb987bf1cbc47b800ba5b62493c2e021fbaf84047bc67962ab8bff9193ca40c7bba353f25bc2b6c73ba10d9183cebf10bbabd9624bc9ea50aba036e133ccf45d8ba2a860cbcd36a0d37369f0b3c90a6d7bac8de1fbc7ff5893ab008e93be9c2d6bace4608bce5ab093960f30e3c71f4d5bad9a414bc3f28a8392429e43b52a7a5bae68ae1bb1234b3bb25cb433f1c58823e073fffbb3d7cd1bb28f52c3f6834663e46d223bcb0d994bbf30f143f65d2443e9f1809bc9cf5b3bbaa20f83e7a58253ec5a60ebcbcea88bbddd9c63ef770023e5ecaf4bbfcba7ebbc1b2963efe56c53d7c560bbc55fb24bb1f634a3eccd3823d7d6cf6bb4b867cbb1e02d63d9c72043d79d307bccc7337bb0d7f023cb0cc143af5aaccbb74dd99ba2b7e203c75ab933a7e5f39bc9e6fe737b9c13d3c72ac703a31dd7fbc844b34ba83cb2f3cebccaa394d1454bc0fdeb4b9fb36273c46e752b95f8553bc61c99cbad7a5083c19b7cfb914363cbca31874bacf44243cb558b9b7327c40bc202a40b9175e133c1c5a3dba576537bc96f034ba05f41a3c10666cbaa6da33bc0b2057397e5cea3b857f0cba5f3c0abc7b37c3bb5343233fdc77c33e5f3f10bcaf7cc3bb93a7103f4a74ac3e683d51bc7b61bebbb214f83eec00943e6a6f28bc27f6acbb6dd1cf3ecb25773e710e2cbc9b7871bb442fa63e883b453e7bbd1abce2eaa6bbecc57d3e0394153e66281fbcd4378bbbf59d2b3e1748c73dfad11dbcb32ba0bb74cab63d302e4d3d96bb1fbc1d863bbb010d053c72c9f93a7d69f4bbd688c6ba6474143cbfe3773aa12951bccd054db928ad2f3c86f61b3bc1c275bcedc88aba7a69153cfe96bd3aa42d52bc72424ebbe045373c3e7a003aa4dc6bbc78c702bac555e43be9780c3ab4dc23bc6d148fba80e92b3c2305cf38b44555bcf64a26ba4b92003c5a02383978ce32bc841831ba04f40c3c6da5aeb930ce37bc9fe46139584beb3bf17d3f39c5ff1bbccfb8bebb63a4023f695f023f75b402bc2bfcb6bbe7e2e63e6bc5e53e61e739bc7847b0bbbe2dc63e64bdc43e527c1fbc4c47babb787ba73e6963a43e6a6039bc64e07abb0da1843e86e6823ef70101bc9d6badbb414d4d3ea744463ef3122ebcdca687bb6a98093e6ca9043edeb315bc602394bb7048943dfcf4873d2abb39bc069723bbccba023ccb734c3b825605bc8d7afdbae0f8013c09aa703bca344ebc19160ebb0749283c5c5e813bde0b7abcc2c5c7baf002193c64b1373b8f9c7abcb0a450bac637003cdaeab53a215179bc27fec6ba911cf43bb7bf273b0fa14bbc3ba6a1bae6990a3c8f56a73ad6bc5fbce4da99ba8acd043c97a2813a70ad52bca21e96babb25223c5710063b404469bc65424dba874ed83bd512593a19f725bc4f0eb8bbd52fc43ec9e6223fbe5214bc917ee5bb8af3ad3e06be0f3f58aa4ebc3ce5c8bbecb0953e5e9bf63e151536bc805fadbbd4097c3e4c6acd3e9c7a3ebc2806afbb8083493e7a32a53e923d1bbc7438afbb034a1a3e815b783ee54333bc23a29fbb35ccd23da389263e39052fbc82869bbbc7e1633d1692ad3d661148bcc44676bb16bf113cee07763bd0b00cbcc77903bb54a8d33baf41953b811556bc37ef0ebbcdaa083c87fca13b03b589bc54ffefbaeaa5d93b6516303bb8a366bcbc84d9bae08cf33bacc0343bac0374bcc5f6dbba942df53b7b89963a3e6b47bcc3e363ba8319cc3b324a183a269452bc1517b6ba7af3c83b53b6b03afa523dbc779cb4baa40dea3b97f2ba3a537456bc9baf88ba76d5b83bc18eb93a95c823bc18d3a6bb8b09833ec37b433f7ddb12bc6e67ccbbb4ae683e09682c3facd83dbc1ceaaabbb290473effc2133fba1023bcdf84aebb69a7283e91e0f63e83462ebc5a6194bb1364063e6860c53ed65018bc92c491bbcb4ad13dcf24943edc7b22bcf9f18dbb6ab28d3d56c3463e3f3e1bbcaac59abb14da1e3db0afcc3d737b36bc89c368bba248bc3bf6ae8f3ba92f0bbc90561bbb64abcb3b2026d73ba8c357bcc7640dbb01b1b53b948fae3b4b7779bce80acebab098a73b21355e3b0a835dbc9275bebaa8b89f3b9ad51f3b4a9c4dbcb012f5ba54a4613b5dca153b69b22cbcdcc0cfba5563993b9949c33a713741bc39b103bb7c66973b8ad4f33a633045bc3b5403bb2a0c9d3b4de38f3a9aeb38bcfd749fba19bc8c3bd924df3a13d518bc2383a2bba9fa023e2f57643f24520fbc59cca5bb1ae2e93d53cf483fb1ab1cbc429786bbf764ca3d68fe2b3f95f30dbc1cf780bba5c5aa3d72560f3fe58908bc919b7abba3da873d244ae53efc15edbb812f81bb749e543d218cac3e472c10bca5fe8fbb6cd0123dca66673eebc004bc84b78dbb2f02a73cd8f8ea3d282e20bc6afea7bbda77843b520b8f3b368f04bc00000000000000000000000000000000b61bbfba45642d3b994c923be4d937bc05c64aba392c223ba8762f3b9ce210bc0fa2c1ba01d40a3b7066dc3a66f501bcbfcc6dba03d8013b88bc843ae6c6f3bb9f9600bb3aefa73a3506bab844ddd4bbb060a33a6a99f33a451332b925b703bca893d5ba26e6153b32f09d3af75cf5bb0000000000000000000000000000000000000000000000000000803f00000000160042bb7a36cf3ae5d2633f4a30ddbb5bd77cbb6dda0c3b921b433f54ca9cbb2f5034bb8960f03ae56c223febed95bb3c4df5ba69f5023bcfd2013f96789cbbf78c4bbbbeb7b03a3da4c23ed9768bbb033effb933fcc53a91cc813eb0a7d9bbea9736bb27ed003bcd1e043e3c41d4bb00000000000000000000000000000000000000000000000000000000000000000deccd3b6b0e07be2860b7bc269d653c4d3e253b4c3301be466ad1bc0d4c493c7d4b43bb57e0d5bdffbde7bc485d323cdd8490bb22c4acbdd629bdbcd889023c9f94bfbb0e2889bdfab687bcf3f4d63bfaef60bb65d537bdc200d0bb475b633b15dae0ba46b5a6bc3d97d03a90f9db3900000000000000000000000000000000000000000000803f0000000000000000db06afbd8eb8a13f015f94bd5a67a93b9ff447bddad0853f81a62bbd6887973b2544e9bc7e4a583f0d45e6bcfc95263bc19552bcfb87233f0513a8bc29e12c3b1b8926bb72bbde3efe7a87bc26de4b3b7bc3093bbd78733eebf86cbca3927f3bbe11c43b96384d3db7738cbce441ba3b0000000000000000000000000000000049954bba470f88bd5baca2bcd609e63b1dc2cc3b62260fbe7a79a3bc27245a3cf6d62c3bb55c0abe8e0310bd9fed743cb3fdf6ba757ceebd9fb61bbdc148573c5ef37cbb0c2fbabd11ce08bd011e243cfae94bbb10ed90bd0bf5bdbc9bfb0a3cdbd8f93941703bbd2ddc58bc68c0bc3babf1be3b441d8bbce382063ad18b0a3b2497963b4e0e9a3b46b1803b50391a3b49f915bea145a23f57676e3d46d09abc56fb10bee2479b3f37f2343d99a984bcae1bddbd8e26863f316a6c3dae108abca30c98bdcf26583f1deb6b3d4d1c6cbc4ae045bdb0f6213ffb41443d85cd40bc96d702bd90eddb3e565a063dbf131cbc9e448fbc35486b3e9000853cad2ca1bbe9dea0bb66f0343d9c45983b6dae1abb7922b7bbebe990bd2c659ebc97b432b973fc23bc330ddebc7fa2acbc99310d3a7adc26bb1486b0bd722d2abd93f4343cacb3aebab38dafbdd98645bd8c55193c775e12bbc0f1b4bd3bae4ebd71be353c32fe20bb572787bdbc8b2fbd4bd0f73b7f9ca3ba2cdd66bd13330bbd6f480a3cf62d2a3adbe912bd127ab3bcdbd2de3b682aa93b52b686bc494324bcae21fa3b5942903b73121b3b1b625db9f3f5a93bcc6d0fbe7407873f22427c3e9b963bbde7871cbe0c99863f6650683ea52f4bbd967ce7bdd976643f521c573e7f8b2bbd890ebdbd1c13403fe7b1343e65aa14bd6e4484bd344b0f3f592d0e3e6e1fe6bcb96d41bd29c4c93e4551c63d11ffbfbcc141f7bcdb80663e5d915f3d05318dbc2d3e8bbc560d8b3de6f2563caf431fbcb23474bcf13706bd3ec291bc059dc4bba52e80bc36d449bb863db7bca4acebbb04e10fbc04c24fbd942b50bde5dd8d3b139d94bb5ae38abdec8f7fbddb48dd3bf69180bbb48e84bd98ee73bd8d1ce93b3fa894bb1b715fbd12ae54bd6e8ca23b9e59beba21f83bbdb1e030bd275c0a3cc483803a81a602bd6cadebbcb269113c14e3943b8e308cbc3e2a6bbce1ee243c1b57533b6c60383a0cdd8cbb1351fc3b669af7bdaca35a3fdcc5e23ec12395bd31680abe64a6593f0c57da3ee75ba7bde026e5bd6f83403f7ce7c03edab28dbd7e28b4bdbb541e3ff7e79f3eb48f6cbd5f6188bd0c2af63e63e0773ec60d45bd58a351bd5f8fad3e53242c3e30ce15bd83e116bd4f594e3ec4d1c23d711fe4bc4b28c9bccc2d9d3d4b2dee3c232496bc6ed09abc462408bc54e59abc49ea5ebc98f18cbcd69ec73b2962babc30a44dbc395528bc0e08ebbcb84b75bd350a27ba49e7cabb4dce27bd537c8bbdb455513ac3ec92bbc97843bd72fe8ebdea4f073ba3c7a7bb421af6bc608e3ebdcb2231bbcb6df4ba456f14bd46584abd644cba3ba0cf17ba33d4c4bc890101bd8bc1e33bd3fc343be37957bca1b691bcf9b13b3ca71b0f3bd26d73baa3af66bb9a58153c1362c9bd404f263fedc3253fc8d1c7bd0ee2dabdc62c233ffa90203f8470dcbdc34cb3bd2eef0f3fea6f0b3f383cb6bd461698bda57af63e41cee83eae66a1bd55c548bd12f1b53e66b0a93e5fd35abd2a3a43bd879e8c3eeaec773eea374ebd18ae0bbd5d252a3e76040b3e87b80dbd0b73d6bc35f3953d4b0a303d4536c4bcd8a5adbc8d094e3b320cc3bc81e8a1bcdef272bccb40db3b0cc8f1bc3c0e47bcb07cdabb8021bcbc78879fbd5c1c2e3b022162bb25e112bde270bdbd1edc633b9b3814bb38e21bbde4eeadbda3587d3b826d50bb5ffe10bd673392bd483d253b2bd31bbaaf51f4bc34316abd7dbce73b5252d03a27a2bcbcb8411abd8ad0273c12b67a3bbb6c45bc4089a5bc2403723c6900403bcda3eeba662680bb44bb293cf1e095bd58ece33eb9d9593f7c64f7bd9dc6a4bd311edf3ed227573f40340cbe0a5a8ebdf83ccb3e5f283c3f761cecbd6d6172bd56efad3e444a183f0d26bbbdbcee43bda2a18c3e19dce73e852198bda5b420bdc7114f3eb0bd9d3e0c3d5fbdf223f8bcad56033e9c4b2e3e361a20bdb24db3bcbc1c693d9549493d349bc6bc9f3a8ebc332baa3b4d96fbbc9b5fa1bc1419e2bb26ac2b3ab35f50bd7e1fe9ba7b1fab397b3d95bcee59ddbd40cf3d3cb8c8453a3e8ae0bc758dd5bd3b37a83bc3cadc39cbf502bd5f54d3bd84c3893b95da77395cfee7bc9506a3bdd528db3a2c8c973a92eed9bc53d287bd7954fb3b5bed043bd6aa98bc9dc129bd6ce8133c7fcd843bc30e25bc4830a8bca712833c661a933b5b79b8bae9d6a0bad5d9633c9cfd40bd07497d3e1d2c873fef030dbe2eec4dbd3aad723e9e9e853fe88220beb6ca2dbd6ee2683edaa9603f6957f3bda07e1bbd80db4d3e40f53a3fe87eccbd49c9ffbc28062a3eef290a3fe6ab90bdc0f1dcbcb07f023e13debd3efa2863bda05dafbc7e12a93d011a4f3e7b8413bd5c7578bcfcd8233dbcc83c3d19708bbc82a24bbc48a99c3af45f4ebd47bf42bc8df0a63a8ba2d4bb77a9a2bd0830d53b5619253cf2c67abce2f819be806bdc3c6a7feb3bbd32bebcf1de16bebabe493c331cb93b53c7e3bc085dffbd591aa13b9ee3713b43a4d2bcb522c9bd0c18b73a3716703bfa7baebceb1e9abd6c6fb03b59f4a03b41445abcd16b4bbd415d1c3cffa1d83be7c931bbe11a99bc9d1c573c25212d3bf4cbe739ef2b323b8e875f3cb7279dbc3b576e3d3125a23fd3e416be731d94bc4ae05c3d2a909a3f9e4f17be10e49dbc0d41963d4632853fb081eabda33b90bc1d699d3d71e6553f984faebd731c68bc526b913d5bd91e3fdebb79bd369650bc0c63663d787cd53e995730bda43629bc0c9d163d5b5f5e3e7dffbebcbc65bbbb613f9f3c14c1f43c76a1acbaab76a4bbbdd7c3bb23e9a6bdc84af4bb00000000000000000000000000000000298d0f3c913388bcddd709be8838243c52a8013c8baaa2bc7c0602be1bc7933be1429c3b13d4b1bc96f2d6bd985c86bb13b7323b3770abbc2445afbdaa3ebcbb5907263b70178dbcbbcb86bd9ee64abb6bff5b3b8d4c39bc4f0934bd0adb2d3ad792e73aa1fba3bbef8ba0bc2ea1b03b0000000000000000000000000000000000000000000000000000803f00000000b72d983b688288bd089fa13f2f1cbebd73590f3bd41309bd52ff853f93e072bd4e476639173556bc0603583ff19728bda515dcb7d59b71bb2bde223f3c3adfbc23cb9739bc1b3cbaa93dde3edb4184bc476ce13a607913bbbfcd723edfb2fdbb17e4da3ac0b0e7bb7fa0473da20730bb0000000000000000000000000000000000000000000000000000000000000000d368e9bbee72a1bdd9380abd3a8e803c90c30abc0fc7a7bddce000bdb912643c2a27edbb619e94bd28df01bd8950563c04001dbc52517abdd33ef2bcc66e423ca5e827bcd7c15cbd282dbfbcc592193c29840cbc263736bdb68e45bcca33b03b31a5acbb7c9ef2bce91d34bbc2474a3b00000000000000000000000000000000000000000000803f0000000000000000e1af58bd5f5b973f552a43bd28ebd1ba9952e7bc5e737d3f576b01bd9a5d64b84e817cbc14144f3fafcdc6bc11ab74ba2f9209bc6815203f36e3bfbce681513a3bc0acbbfdd7e33eb4bdbbbc357df23a954196bb999c873ef148c5bcd84a6d3ba66908bc3bbfbe3d6a87f0bc15939b3b00000000000000000000000000000000326ca3bc3d8254bcf6641cbde1de3b3cb9f592bce3a196bd02b337bd5325983cfc4390bc37549fbd070851bd51228f3cd5548cbcc7338cbd74684dbd3a74923c7bc484bc634c66bd73f739bd87ff7f3c81af72bc217b4dbd555916bdadcd6c3c755a36bc04e61fbdb4d4cdbcbfdb3c3cfeaa84bb517eb6bc905310bc4e1de93b9f788bbaebce88bad14fd9bbf91c023c56f8dcbda4f2973f8279b43dcca4c8bc9749d7bdc9e2903fa58c993dfd83bdbce6419bbd34c47a3ffa0b933d85c494bc5c7464bd89b34c3f37c4753d78a980bc54cb26bd0fea1d3f5751303dba8345bc96cf0bbd2bece13ebaeabb3c49c21abc3e6ee8bc90d3873ea945143b61c8b2bbc2f5c2bc67e0be3dc5c868bc623d97badf47babcdb80c1bc728e0abd731cd43a7f03e7bcd814943ce94e0ebd43fd4e3bc032d6bcd097abbcb96c6dbdf8c2873cc1459cbca73fdbbc02ca66bdd139533c5f37a8bc7f4f16bdf01a83bd85d1923ce72994bc4378dabc9f6661bdb65a5c3cc43f88bcdb09f6bc34d34ebd3ddf913ccf363bbc5e4c8bbceabc1abd81a1703c0296efbb5e1931bc3d3ddfbc1f8c8c3cf3b76abb734abc3b3d9f7dbcc1a45c3c4cd3dfbd08cd7e3fc3fb843ebcad37bddcb8f3bdeb857a3f745b713e780344bd7633adbdf5ff523f648a573e29b627bd23209dbd575e363fab882e3eeee60cbd25f36abdd8e00b3fa7c0043ec013debc2d7d51bd3b31d03e5740ab3d3746b4bc3c0920bdb3c0813ec6a3333db5448cbc270019bdb0e5e73d8cc4eebaa56b0fbce5efe4bc6db4b73bb1ece9bc373edfbbe37d00bd0e0e163dfe0af9bc4cced3bb91eaeebc159de43b7eac78bd406f1f3caee7d1bc623456bc81fd8cbde3c63b3c9e19b0bc731d87bc2f748fbda7f1563c4b65b2bc542a81bcafbe88bd3053713cd72090bc8ba481bc2a8670bd11b18b3cb1906fbc838b44bcab0d49bdc61fa13c5f1a1fbce21e92bb40b414bd7535bb3c7e35a1bb8cbc1d3c5c95b0bcffad843c9aa9ccbd0b0e503f3bf3df3e662f85bd585ae3bddc224c3f2475d23e0ee88fbdf864bcbde2df353f5568b73ed3e577bd9eb39dbd3d3e183f365c963e88cb53bd233c82bd64e8f23e677c683e0fbf33bd20c55fbdb544b33e880a1e3e286310bdb8eb3fbd5ac96a3e714cab3df1deddbcdafb21bd5e71ea3d8e3e9b3c1e9492bc4fc700bd0055be3ce18fddbcc6f869bce532ffbc707d1c3de5a2c6bc5df562bcfe75e6bcbf2b8c3c93ed6cbdcfb3a53ac980bcbc59b38c3b515a89bd466c0c3b27dfb7bc9bdfb0bb55cc94bd4324ec3ba49a8fbca5799a3abfda52bddb0fd9ba6bb991bcb7ca01bcf9ac7ebd7b31763ca82171bcc5ff8cbb41d54ebd4aa68c3c3ee627bc95ec92b9b83127bd12e4c43c7472d3bb6d95273c2ef1c4bc6f71903c2bf2b0bd00c4203f9b4f1e3fa788a5bd241cbdbd58441c3fa8ee153f42feb4bd34f29dbd789a0a3fd849013f85dc96bdd17b91bdbbe6ef3e2ba8d73ee2eb86bd93694cbd7e77b63e859c9f3e098d47bd8b085bbd53ca923e9308673e40bb3abd8c942bbd1c1d413e3e41053e134915bd1ae51cbda424d13dd679283d44d1d0bc1dcbfcbce9afe73c6b19bbbcf7a5a4bc3f4dd7bc44e6f23c5a42c6bc08b889bc84dfc5bc518f4f3c6c8887bd0c89d23a3e4298bc5af0b0ba4265a4bd18cc613bbb8e90bcf7dccebb184da4bdd6a7c63b5d6291bc7739fabb09be97bdf357e63b014871bc48ef14bc63fc8bbd8f23743cf6d448bca228cbbbd31a76bd4eabaf3cb66518bc6ee92abbeb8235bd4353e53cef1cbfbb6859f63bf123c5bc68509c3c84db8bbdf8d4e43efee04d3ff1d1c2bd6c6298bd6214df3ec1c9453f6086d9bd334885bd0df4ca3e5a6a2c3f8372babd8bac67bd46b5ae3ed5b80c3f7a3c9bbdddf14dbda87e8f3ee94ad83e65ec83bdcf4436bd36505b3e1768973e45b258bd371c1cbd9d8a143e2f932e3eaced25bd560105bdedf1a13d3268683d7450eebc5387d6bc3f09c03cb735c1bc6f05c4bcf9848bbc0dc3613c71e707bd362f28bcdc6343bc6efd923a3024acbd5993bf3b647742bc02b39bbbd55c9ebdfa3267bb1bf030bca7404cbcaacab5bdd809233bdabb47bc54f826bc1f1197bd22f9443b340533bc8e5359bcae5896bd3793633ca8d518bcbc3b0bbcc96059bd884f663c948ba0bb320a8cbbed1341bdf780fa3cfe3161bb14fd633ba021b9bce1e4bc3cb3853dbd6809893e527a7c3f93d0d3bd48e54dbdad3c843eea7d753f3688ebbda4072fbd90b8763e3b044c3f45d9b2bd516426bda47b5c3eb6172d3fc4f9a1bd5f8c0dbdacaa343e9b3c023fb46780bd7c34ffbcb60b0e3edaf2b83ec1155bbd2541d7bc4341be3d7392593ed0ec2cbd38a3babce8bc4f3db075883dd78ae3bc7e2093bc7457403c756e08bd0781a5bc3a7fb0bb22388cbb35c042bd1e140ebccfb1493b1c7b59bc7a46e4bdd3a9733c389e73b9799584bc90f4e1bdfc5d563b79a633bbf8f998bc4395cebdfd04f639c080a4bbb18b8dbc6c0eafbd0d695739a7ce8fbbee268bbc7e559dbd0b65fc3bf75e4fbbbec43cbcacda80bd041b8c3c4af5f03a343586bb226b32bd20cfe73c3de7fababaf2d7ba3a07a3bcccfbb33caff6c3bc48c8be3da811973f6e7fd5bd7724b7bc620bbd3d53218f3f0fe5dbbd0fb2aebc4a59cb3d8cbc753f77d1acbd004e9bbc3c98c13dd55c473f18fa86bddb428dbcc8d0a63dc5a2173f71ab5cbd9faa7bbc5775823dc7dfd43e89b933bd26e34cbc284c303d02e8713e8c190ebd28200dbce24e9d3c6aad873df282a5bc63d312bcb1cd5ebbdfeb47bdc1c0a8bc000000000000000000000000000000005197053ca9c4aabcfcd0b5bda6a3a6bbf935de3b1429a4bcf35fb7bdb1a0a2bb5239b43a61c4a2bc4f399dbd949139bc18feeab9dd849fbc5a5a8bbdca8920bc57c41fba4f0e9cbc5fa773bd463192bb9599083a23c985bc90514cbd719d973b4bfe08baacc236bc4b6c0bbd3974253c0000000000000000000000000000000000000000000000000000803f00000000c4ad0fb9b97b15bd51e7963fb76e7bbd780e98394d2f82bcbc197c3fafdb29bd6a3814ba31f48dbbbe954d3fc60004bda47dc3ba703718b65fe21e3f6692dfbc043293ba46c248ba12e1e03eb95dc1bc31b7033a11f478bb467a853ee33198bcb4f11f3ab9c72dbcb18db43dc3309bbc000000000000000000000000000000000000000000000000000000000000000060d936bb9252b73ab054f6bc02903c3cb5e14bbb859218bcb5e1e9bc684d4a3cee891dbb260f09bc3ee3e3bc73172e3ca9129ebb445a1dbc856ccebc33900c3c95bcb6bb95ca36bc572ccdbc39671d3c9d0000bca82550bcd71db6bca25e253c6c51e6bbe24e08bc80e6a8bcdafd2f3c00000000000000000000000000000000000000000000803f0000000000000000c60698bced87833f245ea9bc800a4abb69a514bcc2ae5f3f112480bc633700bb538584bb8b2c383fefa071bcecb222bbb4fa9bbb1287113ff6e684bc77d1cfbaa5f894bb4e7fd73ec0b799bc9a0048ba79cdddbbc6d48b3e74b3b5bcc24a0b3ad0e23ebc6eed073e094ae4bc8806ca3a0000000000000000000000000000000060a049bc4ba5073dcf6de1bc9367fd3a7db561bc8161873c2b331abd529c333cfa3520bc73f7013c11a91bbd9b6b013cf20219bc6ecb5f3b8dc51fbdeaa9093cdc9b06bccd1e783bc41916bdc32c0f3c29cc40bcbabb1eba1bae11bd597f223cb76f3fbc58e9473a1dbb06bd52e3363c61a843bc759b273a72d5ecbcdda06d3c4b48b7bbe3b03f3cdfdbb5bcb8f03b3c277038bdd3e0833fa330eb3d824693bca5162ebdf878743fdca8c83de37d7dbc0da8fcbc81bc513fc607b13de0c66abc5a79c3bc2ce72d3f99858c3d8aef46bce0ce9bbc846a093fe442493dfae63dbcf60e9fbc1c28cd3ed1b1e83c29ce19bcb016acbc9f28883e244fd73b4c5ffdbbda79bcbc9546073e414e7abcc58763bbe36ba3bcf174973ce843e7bc706394bbdd7891bc7cbd2e3dd0dea1bc615300bc34599fbcccea103ddfb604bd43b927bb577f58bc24dad53ca609fdbc013a84bbdd4663bcbed3a93c90c61ebd8fe4363a584f4bbc0a6d9b3c576f0fbd06c5b2ba2b3a5dbc56f96a3c49f71bbd131eab3bfc3837bc3499713c66b306bd4a94473b7ab444bcbb8b7c3cabb307bd315e5c3c2be1e7bb7f44a93c8b17b5bc648e043c42324cbd4713603fa809873e7cbaf6bc5e2a65bde9d1513f606d713e728bfcbcbafe1fbd9e79313fc3a64f3e0a7ce2bc411d1abd9ff0183fcc5b293e5debccbcaebcfebc6c8cf13e5ec8013e1319b0bc5784ffbca7d4b83e2d13b23d658da6bc8e93d7bc70fd763e260d4d3df1508ebc231ff3bcdfb7083ec837e93b542e5cbcc7b9c2bcadb4f73c4380a2bc9c2242bc1f62a8bc0d433a3db9f620bc3dd8b1bc0039bfbc45f12c3d7245cdbcbb145abc514396bc5f30093df91600bd60983ebc4d868cbc2c7ae03cb6680cbd5bd811bc61807dbc70bbcd3c61660fbd4dfbfabbbde77cbca088ad3ce7b815bdae58e2bafda569bc48479c3c56db14bd3734a23b64c152bc5506bc3c855803bd95a3103ca52af2bbd3f0c93c0ce2b6bca99d373b52834dbd57c6383fa1d6d33e2a8426bd9c6664bde3d42c3ff85fc03e70552fbd5a5643bdb2ab173fb8e3a53e11b61fbda3922abdbda4ff3e67da883e1cb711bd072818bd649dce3e63d9553e79f705bd6af80ebd140b9e3e2984183e7080efbcde7c04bd76755b3e153fb63d941de0bc014102bd25cefb3dc4dc093d27ffb5bc4eb4cdbc06ff0e3d699a52bc640c9fbc52f4acbc85ec253d23c922bbdbd9f2bc2570bebca0e31f3da73982bcac7ccbbcc0c09fbc5695023d5bf3b4bcbb35b7bc688794bc0da2e03c575ee6bc11ab9dbc6b7157bc28efcb3c8117adbcdf3aabbc0d1987bcc584b93cea4301bda9363dbcaea27bbc07a4b93c6e89e7bc2218e4bbb25365bcf913af3c6c60e9bc48bbcc3ac1e606bc2fadc03ca102a0bc3c5d0ebba4ea42bd59db113f1725113f9a0f4dbd066f4fbd14fc063f2407043fd10f4dbd69d329bdf00bec3e788ee23ebd1b33bdf15326bd92bfcb3e78e0bd3e579837bdba61f8bcf23e9f3e6efd913ed3ba11bd86100dbd6125803e93f3593e686817bdb84d04bd92c1303e9137083e37f401bd1ea301bde265d43df839713d65bfebbc2dc3cbbc2f310e3d517ba7bb6cd2c9bc3f24abbce6d50a3deef4393b03a312bdf06dcdbc7a04f53caa9347bc6cf8f6bc1273aebce41ed33c2ef5a7bc97a2edbce1ea9bbcd42eaf3ca2fcd4bc2ec4c3bc150996bcd3f3a23c3d99ddbc1026b4bc25b894bcf677833c77def5bceaf961bc48188ebca3526f3ce5dafcbc62ccf9bb773783bc3747763ca049eebc9f6d283ace4222bc6a209c3cb63387bc361692bb593229bd9184d63e7a16383f7d5655bdcc223abd9059c63e9be3293fb1b36bbd5d3327bdd4ebb13e1cc0123f9daa54bdd9e113bd53f2963e151ef33e9e8240bdce4a0abd9ab1773e3346bf3e892b33bdbd3d02bd7eb93f3e78258c3e63f122bd2514fabc3e27073edb53333e014519bde270efbcf632a03d3fdea33d1ddf04bd64f3c7bcb783dc3ce8f88eb928dee9bca59e9bbc67e7a13c77a29b3b03d00cbd1d3aa3bcc2128c3c619d33bc602a03bd7ca67fbcd67d5e3c8c6d62bcec6304bdad858ebc3d71313c6740c3bc2f5be2bc91d583bcd386343c1076c0bccbb0c6bcf99d90bcf458ea3be0b7ebbc16ff90bc9f3e7abca98dce3bcd90b9bc133967bce0a07fbc3914963b459de6bc6fdbbc3ae52a45bcd163153c15e97dbcd166e0ba320affbc9e51883e38115f3fd0fd54bd84c40cbd36c77c3e06594f3ff70b6dbd7056d3bca575613eff212e3ffb6043bd7c1aeabcec15453eacab133f902341bd4a2eccbc41931f3ea5e6e43e882229bd88ded4bc7689f93dfa43aa3ef99125bd3170bebce1b0ab3d2aed5a3efe4b13bd8078bdbc33d6423db027c93d4b770dbd7b56a3bc7cd9643c2c8a79b90ef4f5bcec4760bcc17b9c3bae95dd3b143b17bdfac839bc53aea33923aa85bc146debbc657538bcd50513393956b7bc694202bd724344bcc59c81ba9bccd4bc5b13f9bca8305dbcc973faba7aa8bcbc5929e6bcb45271bc723ca0bbc54be7bc4108a3bccdb16fbc4f22cbbbfc3bf1bc30fc40bc4d896ebcbc2401bcfcb0f0bc9766913a613947bcf652bbba6a3c60bcee4586bbf524a0bc9ec9f23d1a7d833fe1fd45bd2f408abce993e13db91a723f87f942bde04f89bcfabdd23df4314f3f986829bdfb9f82bcb850b93d57df2a3fbf5b0fbde94e83bcc4b3973d833c053f80090fbda2d475bc3d5c683d037fc43e8af607bda8a67ebcf0de163d4fc37a3e451806bdecba6ebc9501803c9dd4df3de172fbbc1e236bbc24f60db9c23708bb7577f1bc00000000000000000000000000000000f34679bbf5d509bc67db22bc4ea7eabce48461bb9a6efebb52cc96bc3c6bc0bc6b2cb9bb07edf2bbc3ed92bc4b0ecebc364dfbbb252208bcf6f59cbc6c57a3bcb6fb0fbc2b2130bca12c9dbc7b059fbc344d1abc326454bc2e23b6bc475725bc7ded27bcf20765bc5fa09bbcaa40e7bb0000000000000000000000000000000000000000000000000000803f00000000137f7dbb10dd48bcad13833fd5a6dabc1c672fbb4e188ebbb4ff5d3f10569cbc177894bba7509bba851f373fa93994bcfa798cbb989537ba8f82103fa32b9ebcc411c0bb77d938bb4e14d53ea9f69fbcb646b1bb9bd8c6bb91c5883eb3869fbc1167d3bb030430bcb208013e9049c3bc0000000000000000000000000000000000000000000000000000000000000000129dae3cd7674dbe361ce93c9df8ea3af60f8e3c5fcd4dbe5904d23c3bbf2f3b61bc243cd11d3dbe1e1a593cb4c8d03b2175063c07041dbef7e3e53b9270cc3bbb8af23ba0dce1bdcda9d63b9d0c7a3bcf53b43b367b78bd4094813bbdf62c3be76a353b9eea4fbcd80c32ba0b7c533b00000000000000000000000000000000000000000000803f00000000000000006bf3d6bde4b8aa3f331ff7bdbba54c3c295376bd56f68d3f7c18a9bd151be23b461e2abd4a7e6c3f98f684bda46ab33ba867cabc271c323f992a46bd4a4fb33b0e3d0fbc1119ea3e6cb3febc7ab55b3ba2fd843ba4106b3ec4681abcce359b3aefbf443cb25d3e3cbc07be3bd0d8cbba000000000000000000000000000000008897963b528bcfbd0e7c2d3ccd00133bb5e1b33c368132be880cfc3c18998f39520c923c4de54bbe7b14583cbb90f03b966f8e3c48bb42bed864cb3b3bdd153c87a67d3c746220bef16f2f3ba3571d3c0b63453c87a8e4bd295886bbb1d8323ccd9f3e3c5c747cbdb778bebbcddb063c3aa00a3c7c486dbc4cb917bc9a34e33b783f003c25c55a3cdf65c43af3a3543b2e8c39bef347ab3f5381863cff9d84bced6721be03069d3f422e703cea968fbc248f09be3c2c8f3f99d93c3c89c663bc16fed7bd19506d3fab57503c9ccb4bbcd12a9ebd8dc7323f0a6a443c0f7622bc403b48bd672eee3e98d5843c54e909bc4929c1bcce186e3e19e9943c8f9cffbb3fe702bb9f8b193db932d93cca34f5bb6c2a673a2d73ddbd7a884f3b01e7d3ba3e2938bcc5eb3bbdb32df6bbc850653b58d0bb3bd76800bea3dc8abc91e43b3ceb49f73bd2331bbe22bfd3bc6e7a8c3ce12c253ce6031cbed53fdebc5985873cda5b1b3cedcbfbbd15d2d7bc46076e3c9744533c9375c6bdca1fa7bc9f55723c40f7583cde8166bdfc1a5fbc98fa343c693d443c0d2db1bc9388dcbb68d5333c14653c3c86296a3b25e3223b1f6fb43b7a1d31be1d108e3f5631693e25a462bda07e3bbe73dc8e3ffdb14a3ec41661bd4c1a1fbec078803f93572e3effa23bbd545e05bec1a5583f71900a3e8fb11dbdacf6c6bd3ff7243f9496d63d21abddbc052998bd56aee33eb160933d12ceb2bc23113ebdbe1f743ebecf253d601a4cbcbaeab6bc207b833d49fc5f3ce864f3bb5cae6abc7e503cbd5ac574bcad1fceb9d568c3bc0d0904bc585a06bd1295e33b5cce04bc1a0fa5bd89086abd50f7ab3c9f199238c664dfbd4f7488bd45bcc33c36f9a73bcb52e6bd243f81bd4c56bb3cd2d3e93b605ed0bdc34864bda1ecb43cbb5c2e3ceaf09dbd534f1fbdfa8f873c55f74e3c08cb47bdeb77babc76b85d3cc8b9633c0163b4bc017ceebbe9db333c33712f3cc4c43cb9cfd58b3b90faea3bb53b23bed2346b3ff20fe63ed4dac6bdc4df2ebe7c536b3f1fe7d73e9eb2c8bd6b651cbebbd1573f6702ba3edab1adbd361303be1a77363fcdc2943e59b083bd4a50d8bdadd4103ff05a5c3e5df34ebd8010a2bd06a9ca3e85240f3ea10601bd24d862bd723c6a3eed46893d245495bc59810cbd4bcda73de1cade3b709799bb5775cdbc5e2070bc1dc521bd54fe343bdf20ddbcf1c5623c235e62bd199b3d3c11683fbcae4a28bdf32bcabd9cc6f03ca9dfc5bbb9e581bd4da3d5bd2774e33ce8b0d03a8f189cbd8089d1bdd50cec3cc0a28bbab13f67bdb75b99bd3e18893c9c26f13b41b76cbd0a917abd4729be3c0a7b0b3c69d513bddd8701bd0ab8723cbecc333c345393bce1013abc5a0a4f3c16d81d3cd2404fbaca48983bec731c3c259a05bed271303ff1972f3f530609bef42c0fbe1d47313fc981283f11350cbecf99fabddb1e223ff9ec103ff729e6bdba3de6bd01dc0e3f021beb3ed1b2bbbd463da8bde8c2da3e4346aa3e30397ebd21989abddeffa83eacf6593eaf9936bd336f53bddf564c3e2d1dcb3d4412b0bc178f18bdd7ffb83d66f11e3bf75ae1bae80dd5bc7d98ba3bfae977bdc47a8e3b2a4fbabc8d7dcb3cfd1999bd35af903cfc0934bcdc230ebcbf340dbe4f241f3d4bf708bbb04711bd2fbd1abe7524273d3383cc3aa0393abdff3b09beebae093d8fa5393bf1d940bd6625e9bd447a073d1203da3b206f23bdbf789abdf14dbc3c6a86f53bf9d2e8bcc47a2ebd7128903cd4d4203c8acf76bc3c0d32bce73f553c9a0e073c08eff7ba82bcd83b8655223c2e4cc1bdca09e83ee82a6a3f0c1d28bee102d1bd7396e93e45a0633f6c2d2ebe5df2c2bd8a7fde3e6d89463f99d213be5628acbdc14ac33e8d411f3fdb17e5bd5ffb93bdb21fa63ed8e3ea3eafacaabdeb5d75bdce2c7d3eee93913e6a584bbdbdd138bd12092b3e8489023e1bb6acbcc1c303bd5bc6b03d0f3244bb82cf953b6de7c2bc83a5a43c7cf2a4bd9e59033cca7f69bc9b6e043da5dccabd03a5e03c1ef0eebbaa0b553cc39133be8a90463d4492c0ba32cc03bc5c053bbe69cd373dd5f6803b1d29a4bcb17330be1846253d671e613b0a35babcbf3e07be8cd4ec3c9a846c3b7e94abbc0897c7bd6c67d13cff58cf3bc97596bcaefc57bd38ca903c762aa93bebf238bc9d9937bc10e8043c2fa6893ba41496b938f2413c9df2d53b838f5ebd56ec693e7ff58d3f29b434be30ad6cbd2f92693ebc018c3fd32d3ebe593864bde4c6683ef685743fd6f61dbe6c1953bd2b1d5a3e03b6463f2d3ff7bd48be36bd79863e3e0bc9103f8d7caebd46ef1cbd3bd4233ea630b73eb92c4fbd51d6f9bcf86ee93d2382253ebd1d98bc6399c0bce0b8993dd3b9c0bb1d3f4f3cf36271bc408fd43ce553d0bd6816a53cb94994bbdb56d43c24ca08bebdb3153dc8a377bb54d4023ddd454fbe5ce2673de4c1453b3aaf143c21fa5ebe7f4e453d25f8e13b0f95aeba542c4ebee9d3283d5cfeae3bafe783bb5bfb24bee3c7fe3cbfde9d3bc33bb9bbc77ee7bd8067c13c2bf86c3baa2ddfbbca4b6dbde6764b3c0024203b231fc0bb6f2001bc73b9d7b96ad5153b9961cf3a9874963c6a4c3b3b0dd575bc9fbc883c1d5bab3fee9e3dbe513694bcb646153d57a49b3ffe2c27be64f5a3bc77c8583da7098c3f523911be31f5aebc32de813d4751643f5003e4bdb9ee91bc6624893d606c283f1ec396bdf43f80bc7a94873d0e2bd63ec77c31bd170257bcbe2b773de848443ec70b40bc74252bbce965593d837dd3ba73dad03c814bbcbbc8109f3c85e20dbe0888dc3c000000000000000000000000000000002b97fe3b59732f3ca10e4ebe48e11d3d3e571c3c15189b3bf2884cbe481a053df07e0e3cb11c66bbd31639be88e8b03cefa0df3b809447bb854419be5dd5913c3213b73ba9648abb0472dabdfb16253cba26553b2d768fba8b0c70bded9a953b1771d3387b8cd53ab10f39bced843fba0000000000000000000000000000000000000000000000000000803f000000003f2f403cd9e3dabd28ffaa3fc29bf0bd11f7ae3b919276bd46098e3f959aa1bd4de0843b976919bdef5d6b3fe7ca79bd05dd6a3b796fa1bccb04313f6a6535bd6e38773bc903edbb1abee83e4b0dc7bcd608753ba9c6a53b1d1d683e59f5fdba6314b93b421cf83b15562e3c64766e3c0000000000000000000000000000000000000000000000000000000000000000fd02613ce8cf35be8089cc3ca604cf392e42673c632e3dbef15adc3c6ab8923824e81e3c8c722bbe15af873cd4195a3b1c77163c774f14be59de913ce795cf3ac1b9123c52ace6bd9cd78c3cc80e2a3ab0041c3c772f94bd2ef0823cb62990bac0e64e3c0c5108bde519733c6c0057bb00000000000000000000000000000000000000000000803f000000000000000057debfbdec28a73f0369d9bd4359db3b5a056dbd81d08b3fbe9e9ebd8a13783b6fcf36bdfe17683f863f86bd0d677a3b5333eebc8b7e313f44db5cbdd581323b4cd99dbccc34f23e3a1c2dbd51ee4e3bf17b05bcc92f803e7a5eb3bccfb4013b38e187bb58d21f3d85c904bcc1facc3a00000000000000000000000000000000db31a1bca4a06fbd1c6f8abcb9072d3cba9c923b38101cbebdd1773c13e9c93b5f0a193a536b25bef1a52f3a30e22f3cdeccdb3a9b081fbe565714bb4b7e3f3c2f903f3b9bc607be81b24fbbe481233c151ee03ba802d3bdf854bab98d52103c5cf6253cf0aa7fbd8386ce3a9c6cc93b6f20473c95c599bc8d0fa03aba07803b7807263cf5ef7ab9c3adfc3b2b5aad3a0c5c1cbe885da73f26f4c73ccbfc77bc189615be08f49d3fcbd70d3c55ed69bc853100befaac8d3f55d0563bed0434bc019bcebde67b6b3f5da506bbeca711bc6849a7bd8b2b363fab6c24bc3397a1bb4e4484bd7a0cfd3efa8f70bca97ffaba1e1542bdb7a98b3e733e84bc886eb83a1f72cbbc970e803dfef491bb181cca3a9feddfbc843484bd9c1bc6bc7177973bc3d334bd41018b3cbfee49bdd783923cd833f5bc8aca71bd8b4a5ebd4939d53cfab2d2bcfe599cbd6cc771bd1f0fd03cffd7a0bc74e9bbbd1f5156bd0c16cd3c34f978bc01c094bde04f40bd038cb13cd017e4bb2d1683bd561a0bbde45ba93c4f3639bb882b1fbd7c0ebbbcc514823c5030843b6dda85bcb40d2abcabe43c3cb43b893b8a5fff3b8e4916bbfbc6083c6fc60fbed44d8a3fa9be613eea0c33bd0f3e1dbe44728b3fd6a33b3edf602fbd04b907bec42d783f4e2f183ef3e203bdd932f8bd8910573fba67d63de9a6c6bc15b3ccbd74cd283fd1c7873d13657bbcc194b3bd4cb1f73e7953e03cc6e901bc03308dbd6411973e06e448bb869af7ba33475bbdc54bfd3de5d403bdda67c63b116e37bd18d99d3b7f515bbdf4aafd3bc77977bd8901893d102ab0bdebf6e43c9eb543bd8edfb33b71afdcbdcddb213dad5920bd9e22e5bc348ed7bd1e671d3da59e01bd859214bd7047c6bda887193d82b1e1bc0a140ebddc98b7bdd844113d304d93bc515701bdbab683bd1bbcea3c0cc91fbce4498fbce5493dbdb38ccf3c3a1365bbbb658ebb1074c5bc7f889b3c59f487bbee8c533c46a18cbc74cb8d3c5f7d02becd12623f0b09db3ee44a96bdf90c0dbebf9b633f63d2c63ec3b895bd846d04be2a29523fb35da33e878470bdc06eeabd54d7343fd5f5763e54de32bd4511d4bd364a153ffd53263eba54f6bc4af7b8bd7b9ddf3e9737b03d673886bc6be39ebde15a943e87ed7e3c8f3c58bb676283bdcc4e183ed32d2fbdcfe9fb3baeb561bd357c4c3de3d4a4bdb4c2273cb2d37abd5293b03df54ed3bdbbb8fa3c1c9455bdf5cb403d473114be64d9433db91f35bd970fa53c32310fbe2571373d03531fbdc65e3f3b34a011be60e6443d72ef07bd82e72e3c2d4adcbd3d72093dbfd5cebcf8172ebbb4dfc5bdde0b233d33519abc147dbd3b885886bda3bdfb3c4df74ebc9a512a3c6f7929bd863cd63cb4d5fabb7d94ba3c8b0ecfbc7ed5b73c59f8d1bd21252a3fbf2e253fe110d0bda63cdfbdc3f22a3fb01c1a3f373ed1bd5e08d2bdcc171e3f3816013f89dea7bd46adc8bde08d0f3faefbc93efd7985bd31c4a5bd6150e23ec0938e3eb6bd31bdeb0aa5bd3973be3e9959213e8608dabcd2188dbd2f00813e50b6683d13ab2abc726671bd9ab61c3e585725bd0ee7dc3bdca853bd41a1833df92ac2bd51fa3f3c242252bd5d54ab3d7462edbd16a4153dfa263abd342e7a3d919435be687b7a3d61c31ebd8bf60a3d97e439be7004713d1f6407bd95d4bd3c242e29be566a583d3a21f1bc1676883c8b8e18be4c9e4e3d0d5bc0bcc05d663c15a0e6bdf7cc323db5d58ebc8d9c633c6611a3bd0859103dbb1d68bc07cea03c00f23ebdb6f8f03c647630bcc91ad73c22ecf0bc901fd73c779894bdc6b3e43e90255e3f5c9903bebf9ca4bdc941e53ecf78543f6dcf08be2a58a4bd609fde3e06dc343f777ae1bd9cc096bd643dc83e45750e3f50dca9bdcb4d8dbd4988af3e79f9cc3eb5d570bd235382bd6a5a8c3e9b9c773e8a5b14bd1e9664bd85a44f3e8f4abe3d5f0d28bccf8144bdf531053e6bbb19bd1fc32f3c47c42dbdd8c4803d8a7ad5bda271553c37860abdd3898e3dee0408be27f1433d1306e7bc6f086a3d0b9a4ebe62b68a3d0b44cfbc2c181d3d70234bbecea9733d4ba0b6bcc74afd3c75c646bed441723d2ebaa1bcde4fc23ce54a20be274f3f3d259c85bcbe2eab3cfe0402beba0a363d6ab757bc87a0aa3c501eacbd482b0d3de7092fbc7eb5a63c624e32bd2137ce3ce51a0bbc3ab8c93c8876a8bc7786b73c26e032bd90d96f3e0348893f8da015be54e849bd8a266e3e68b4853f8db91fbe182245bd48a4713ed460633fd539fcbdb00842bd5c6a643e42b6373fac46c9bd516e28bdb2754a3e0c01053fcd748bbd923523bdb1752f3e2ae3a63e68ef25bdba5410bd5845063e07ee123eeb647cbc5d37ffbc0da0be3d57bddbbc7e8a673c0fc7d9bc59bb4b3dfd75f7bd7f89ae3c23fb3bbc5b9e153d64f311bec4853a3de6ab49bc5104493debf967be56b9973d25140abc80d5003d0e4865be872d7c3d97bff4bb1c43ce3c90a052be1277633d6fa3bebba2c3ac3ca24331beb5083d3d5d73d1bb92fda33c0ac905be42161e3d244accbbdf60923cad1ca4bdc7d3e03c2c8edfbb9c15ac3cd395dbbcc654583cbb5a80bbe993913c7c7636bc39a1973cd01074bcf7ef043d330fa73fcc2722beb7d79ebc2d2d2d3dcb649b3f0b7c1ebe9edfa9bc7d667b3dd877873f400401be2ec5a5bcc0c7903db8ce5a3fd9b9c9bdb2438bbc2228923d83cc223faec191bd060886bca7fd883d9742d03ea53a30bda0b06ebc2573703d23b63c3e854f48bc7c0f3dbc512a553db11ba6bcf1e5be3c4d360cbc2110b33cb7a209be0dfaa53c000000000000000000000000000000001f80103cac1d0a3ba5b536bec667183d1a12e33b08b7763bafb039be40ac0e3d270ff93b65414abb525f27be2ca0d23ca0d7b93bab4a5abb2fae0dbe9e35be3c83e8aa3b9ca9e5390decd9bda8e2963c515d443b23f9b43b37a186bd5e285a3cfe359e3aafc9ce3b85a8d0bceb241a3c0000000000000000000000000000000000000000000000000000803f0000000088c3ac3bdb53bbbd4338a73ff7bedfbdd34d073b075155bd0a4e8b3fd2179ebd363f283b6ed712bda781663fce5381bd142f123b5c07b6bc268d2f3f44f24cbd68d63f3b4c9d75bcc1b3ed3e2cda05bdeba09c3b7bb4e8bbf3ee783e7db167bcd5dcd33bd92fbcbbd40d023d57d3bd3a00000000000000000000000000000000000000000000000000000000000000009c2150bc2308a2bdcf8276bc394f8d3b54b302bce3babebda27523bc4a8e263b32ae32bcc328a3bd74f98cbc639c4b3bc72829bc2c6892bdb65f73bc79603a3b0b3009bc1dfe83bd268508bc4ad2ab3abc9804bb6e7f6abde5b40a3b480848bb646e943b2d1c2dbda424373c91654abb00000000000000000000000000000000000000000000803f00000000000000009ddd50bdb7c7963f04c27cbd7ecd623b41affebc03e17e3f0cc03dbdc9a37e3bde74bbbce72b533f533e27bd7403ba3b378b96bcb68d253f634221bd388b893b6bb198bc138ef03e60891fbddbef903b8d5890bc1e5f913ea28d00bded229b3b104fbfbc52e3ed3d494208bd8e79763b00000000000000000000000000000000231f36bd5255a93c4fd75dbdc43c853c9e471dbd4ce045bd40a532bdd65a6d3cc7c116bd667d65bd11cb50bd857b863c167c0bbd088a53bdff6d54bd1fda7f3c7a46f7bcf52025bd86164abd7f2d723ccd6fc1bc2a6019bd9d3020bd1d44503cc8ce81bcd673dcbc6910dcbc8ade303c3afea5bbc68f85bcf99310bc826eb13bec358fbb9b6da53b5ed410bcdc4fd93b5a31c2bd4113973ffe17823d819f4dbc0958b3bda7a48f3fb9003d3d79c521bc204498bd73807d3f0cbe183d9e7deabb546d85bd83a0533fba4bc13c3c0a80bb66da6fbd7188273f7d41dd3b701047baf80c5ebd38ddf63eeb6d17bcc4456739d2c259bdd8b29e3eb89bdcbc9881673bfcc556bd1dc70d3ece7c1ebd6eeb953bd9e14fbd2de8a93c070458bd4a1ef83b5f2380bd68e5983d0e47a4bdc212c83c8bc385bdb79c2f3dda1bcebd8210023db9c164bd003af43ce8aac8bd3efdef3cd7d95ebd6d68953c3c4acebd5ed5fe3ce40a43bdd856ab3c0d33bbbd45f0e33caa7230bd923d923c4b73aabd39c8eb3ce8fc06bd4655b93c24bf88bd62b9c73c485bd7bca9f0bf3c3c9a51bd8f9fb43c03f791bc99f0173d6d1f1bbd1f1b9d3c0232bfbd17e37b3f5cda6b3e22a6eebc9834c6bd9b31773f6684453e13b2d2bc281faabdcc30573f5a14273e83649cbcd984a6bd2e363d3f095df33d3a9e52bc0eba94bd1aa9173fb690a23de51411bcdb2497bd359aeb3e00780b3d32ec6bbb97608bbd1e8e9f3e27f149ba2198e2390c0e8cbd20da383e799433bdf355e93bf8b17dbdda06843d567a83bdccfee53ba4cf8fbdaef2dc3d7966cdbdbea9fd3cdccf98bde8aeb23da16d07be58792a3d42a28dbdfaab8a3db20b0cbe37832c3dda8181bd92316f3d41b309be4182273dc9ce6ebd07e16c3d50c805befa362c3da14c53bddef6503dcbcaeabd7b84243d93963bbd3bfb483d2e79cebde70a1b3dbe9e18bdced9523d896ca7bd22ae123dfc7cd8bc2c3a6f3db7e084bd3bf60c3d545aafbdebb84c3f7095ce3eb91a42bdb585b6bde1cc483f2d60b83ef0c12ebdb1d0aabdc74c363f90af9b3e2e5e0dbd7d879bbdd2a81e3f4a13723e2e22c1bc38939fbd26ab033ff8832a3ed48b8fbcc48796bd375bcf3ecc90c83d12713ebc0eae94bd76e7973e3107ef3c686157bbb8aa92bd2f16403e3369ffbc2b5a763bb24082bd8cbcb63de2628fbd15b1873ba9a98dbd357ae23d6702d3bd2346fe3cfb0b90bdd526d33d33e816be5898453d102984bd63c7ad3d358d15be0967303d7ed583bd12a4a13d133d1fbe62544b3d7fa557bd4a05923d4041f9bd7161143d0ee55fbdcb938e3dc95b0dbe383c4d3d430d3ebd8b9f833d93c5e6bd32ad313db0902abd18cb873d1254d1bdde773f3d2b4dfebcbe52893dc16ba1bde5372e3d7da78fbd11c71c3fefa9153f94487fbd5f5592bdf437183feec5093f814676bd47a386bdfb6a0a3fa718e93e9eff46bd468f8bbd3a1bf93e0df1ba3e0ec21ebd049e75bd67aec63e3b74893eab59f4bca15986bd5e07ab3efffb2d3eca8b9abc39f179bdc9ea7a3edea0a43dd51f47bc58c283bdc1c22f3e2e0d37bcc128e0b9718d6cbdd853b93d9a6489bd2534003a9ad86ebd12f2c23d99d1d2bd05bb003d0e0072bd61f9c13d69c821be522f593dbcb369bda923a43d5d0c2cbed10b563dcf1e61bd9275973d743e2abec9f84f3d1b7a5cbd59be923d122724be942f5b3d16d14dbd0ffc883d6eb214be4d07513dabcb31bd00ae823dcb5d04bea2cd543dcfc518bdbfed823de3c0dcbdbbc0553d6549f8bcd77b863d5294a9bd3b36443d702451bd6c9bda3ee825463fdafe9cbd93194fbdc51ed33eb7db3a3f258aa2bd4c1146bd6150c73eaf4c203f1df984bdc99144bdad3eb23ebbe6003f6b274dbdb8b943bd73619a3e3312c23ecbeb24bd337d43bdb8597c3ec9527f3e737eecbc079742bd2223433e2f30013e2a8f6ebc2dc241bdecb7083e5d8d473c307d8ebb87263dbdf193983db7dd80bd947493bb21b11dbd97478b3d454bd4bd335b123d7db126bd5f44903de59628be3891543d0f0e1fbdba976a3d2fde1dbe0dd12d3d23021dbd0ff15f3d6f862dbe251b4c3d038c18bd704a4e3d7d0218bed349353dc2fb13bde061553dc82615bef1524d3d33f201bd6832493dd82eeebdbc52383ddadde7bc5c225f3d8d6dd5bdecf94f3dafc6a9bccb07533d97729dbd4ac6423da0ecf2bc5f7e7c3e8e5a763f261bb2bd0711eebcfdde713ef37b6c3f1662bbbd2d56efbcdeb4693ebc10463f135e8fbd8397efbc2334573e7038253fa46777bd7e3fdbbc3cc3393e9731f73ed8943ebd0f5febbcc8bf1c3ef467a93e5f2b0abd7269eebcd1f0ec3d9c723b3ec10fbbbcd700e6bc1a63aa3d6d6a0d3d1f03e9bb4cf1f2bc3880383d6c5c7ebd1be83dbbff3d80bc17a9cd3c1541bebd3623c83cfd6465bc2432093d76d12dbe6dcc4b3d629486bcaefbe63cc7862ebee52e2b3d3f458dbc0c73c43c0f8222bebfd9163d671996bcb5b9ca3cb48914bef5bf183da27988bc6d62d53ce4e704be6eff193d3bb379bcfee0f93cfb99e0bd25791d3d89e041bcf484103d165aa8bd7298283de54054bc50ebf53c817a79bdc63d243d0f5d3abc1077973d6a54953f4c99bfbd9dfa24bcb49a9a3d980b8d3ff2ccc0bdc30f32bcdbf6a53d072f733f887a9fbd3a830dbcf0eba63d76a2453f71ec7abdec6b10bc7216953d4921173f184e4cbd22d508bc6c936e3d6277d23ed0ea19bd7cc51cbc539c323de992693ef14ecbbc757be4bbad5dd43cd6275e3db74f32bc5a2f1dbc12b7003c7b6f6fbdae3431bc000000000000000000000000000000001a46973bf11e20bceb45d7bd8110353ce001303bc9fdd0bb2a3fe8bd9f56523c618f14b96d350dbce116d2bdead4d93b0ba905bba37c13bc1c45bdbd47c0cc3b35b564bb906ab2bb5658a8bd117b113c67f6cfba2ea1f2ba20e287bd3249513ca37391bbdd54133bb3ba52bdf7b2893c0000000000000000000000000000000000000000000000000000803f00000000b0b6bd3b864652bd015b963f872182bd98d9d83bcfb5e6bc9afa7d3f7ef03bbd445edb3bd1b795bc95e5503fe6a615bdf118f63bb5c26cbc8b0d233fb5c803bd8ababd3b6cf165bc8f3ce93e8a94debc59e5e33b4fe183bc9b5f8c3e8826b1bceb8a073c4e5eaebc035cd13d5e0b98bc00000000000000000000000000000000000000000000000000000000000000009d28173df2c35bbe5dd2423d3d03f1ba30b9d23cfe2e4fbec3700f3d55ecc73a31aac73cb9d74dbe8969cf3cd611a23b9cc8903c7faf22beb815a23c459e4d3b2cc83b3c7139d9bd6ffb303c00a9963a8978b23b63c562bd4a40d03a4826023a907788ba6b16c5bbda1a19bb6f7175b900000000000000000000000000000000000000000000803f00000000000000006e1a00be4851ab3fc6e801be6861873cddc89cbdcc3c8d3fc312a4bdb1b0343ca5b280bdef946e3f59227ebda8d1fc3b2ddd27bde37f303f47d23abd2e67ed3b135b90bcc6d9de3e8c6b67bc70ed9d3b17a9e73bb20f593ea0a30b3ca8953b3a4ac6c03cc02181bcd801e93c44bfdbba000000000000000000000000000000001ba4a03c80d5e8bde5b60d3d1ff9883aff9cdb3ca20016be1a2b0f3d98e5413bf215e43c055547be494cf13c1082123cab3dce3cba9b41bef037b83ca6ef323c3d3ebe3ceada20beafbc8b3cd81d153c63a59b3cfdd7e5bd5313eb3bd0f0133c2745553c297e6dbd2ae6e23a0bd2e33b8dd2023c7dbc91bc195f47bbe2e99e3b76f11b3c08d55d3c171e853b368f933a45bc47be49a1aa3fb9f00fbbeaec12bcd0ff21be260c963f4741a83cbb5169bcaf201dbef0878e3f1448bfba665d0fbcb50003be6b786d3fd6df6139e834fdbb6fcbc2bdbfca333ff710123cac9fb2bbaf917bbd8a07ec3eb10aa83cd6689bbba1c9f4bc7fa1663edab8e33ca228cfbb33a8dc3a46065c3d5ab8063d87031cbca039603ce5eff8bdaffee43c7654f3bb4e593cbce68c0cbde299843cd496ab3b92b5063cbdd5f1bdb782183c9c395d3c4cf4553c407020beaba4153c7d2d713cf6c7893c775522be209c193ced8a803ce86d8c3c8a7c0abe5fd2003c7f2a4d3c9dfdab3cf8d2ccbd5c2a233b31bf4f3c5c118d3c9c2261bdede69b3bced5263c8301873c2803b9bcac88d43b8e170a3c79b6803cd7e2183b63703b3cf56ab03b57b32ebef6858a3fa5824f3e39c959bdb2b042bea2f88c3fe9532b3e9f2643bd4b2236be0feb823f5df2013ed4e117bd88f51fbec0a55e3f4078ca3dde58ddbc8500f9bdd6642b3fec34963d406aa4bc0a3fc1bdea43e83ea6cc833ddcb89cbcd0766bbd221b733e6ebc353db9e55dbc460dc9bc318a893db5d8c23c832d4cbcf1d771bc4f7822bdbfc27f3b22240dbc557cfcbc1d5c723a2c6d90bc831b313cc925c3bbe7e490bd687feebc2a62b73c6cc810bba5bee0bd8638fabc490bbd3c2b629d3b995ff2bdcf8cc7bc1ef8b23c7996183cf72adcbdbeeb76bca9bd933cbf632f3c501ca8bd6f7703bc1b71533c562d773cb91e4fbd42984c3a5c1e473c2b5f473c057992bc57fffa3b3f421c3cc495823c297e5aba40fd973c37e5b13b143c24be3709683f8b9cd63e60efc0bd94cf34bef9ea673fb6dec53e46fcc1bda8b32fbea8bd5a3f512ba23eacda94bd2cca18be6b813f3fa838733ebb5f5fbddbae07be3fb4193f4dc1273e0e1311bd7e10d2bd7893d73ea63bdf3d6462ccbce23f89bd769f783e5043683d566285bcf3c932bdb791c63d8a2cea3b9d3908bcfe6005bd0b86e5bbb54eeabcd0376ebb70c009bd7489ea3c42f04dbdae4daf3c079d9fbc24dee2bce4289fbd17b4073d0e69f4bb5d6f7dbdacc0a7bd877d053daabf57bb3764a4bde6e589bdc13ff83ce7188abbd7d788bd4dcf3bbda9139e3c3459013cbe6383bdc4f4b6bc1a529c3c327c163c233f18bda9dda9bb536a5f3c930d3b3c8141acbce44c133c90e7453c1856023c5f4752ba2cbec63cf2d70c3c30f900be45602a3fb7ea2b3f25920fbe124d0fbe1a982c3f6085203f443c0bbecd670cbec346253f5640093ffcaae8bddd5707be4913153f3f8dd13e1332a8bd7a65dbbdfe10f33ee7b78e3e54ed50bde5cdc7bdc4deb93e2ccf293eacbb05bdaea892bd42e8653e5bc3813da6eb5cbc9a133dbdc780e03d4cd60bbc861a26bb919b0dbdc146b73ca7aa8dbdded24b3b60ba00bdd1bc313d94b3a0bd069ed13cd07b8cbcad14263b9e83fbbdba27443d6801fcbb3562dabcea9d08be319a363db84288bb849626bdfc4ae5bdec07163d75a12e3a1e6d43bd9d0ca8bd6d1bfa3c6d1c503bd56033bd877631bd9303b83c3d85f93b9463f9bc5c943dbc187c783c5af4e13b34ce82bc7b8ff33b4eff273c3700033c55234dbba581c53c8fee353cdb60a4bd272dd53ec16b693f8c6033beb2d3c9bdcf08de3e07975c3fb1f931be021fd2bdeccdd83e3058403ffb6c14becbdcc2bd067ec83e8803173fbd9bdabd90ebb9bdf98bb13e0a35d03e0a7e8cbd6384a1bd2bf88e3ed61c6d3ef8be22bdefbd82bdb75f453e9a1cb73df0632dbc192d36bd5523e03d8446b2bc1ecd053c700804bd1c5c333d0ed5c4bd9f3a113cabfcc3bc8d06453d9cc0cfbdd7861c3d60d86dbc9b47c23c74d82abe1ef6633d3a5701bcf998333a26663abe4d235c3d26c28dbb094f58bc4a5423bee438363d90e105bb0bb396bca85ef6bdc0fa023d5dfc9bb9543ac8bc0ba196bd79c7b83c1b2915bb63f5a9bc4e3eddbc56754e3cd0721b3a9a8357bc3d6b793b5925d33b9d312a3a31202bba4672b83c96bdaf3b7c6832bd5cd54c3ed8478b3f9ecc3abefd2756bdd70d533e1b8c893f269644be4d7e6dbd812a573e3b82733f43dc23be399665bdef77513e0cd8413fad49f1bdf72457bde8af453e46d1093fe9239ebdc8405abd8191343eb82ca23e365617bd70c325bd8175143e76a6ee3d789cfdba219707bd4f4dbd3d4b7dc2bc5fa9a23c91e0c1bcf8543e3d71b2debd65bfb13c9ec7fbbb7c71123d891818be15a0633dfe4546bc8383eb3cdbda33befc466c3d99f1b1ba3eb42d3cb15856be4c2d5c3da57f65b766f69e3a0eb545be17063a3d57419dba3f83d9ba03af1bbe75fe013d82a6ae3a3cdd1ebc9576cbbdfdc2b63c9b0b6bb9279654bcd8262cbde46dce3bc71114bbc52c20bc42ed56bbbc923ebb294d88bb05f8b03a6fe5da3c339bf63ae076c7bbdc9971bba729ab3ffb5b50becd0d93bc6a692d3d0402953f926c23beeaf6b6bce22f2c3dfb158b3fc3e312bed4f6ddbc44a8733d2eb4603f5f26d8bdf71dd5bc77ca873da141243f024f86bd6852c7bcda72983d0bc2cb3ed27be0bc269fabbc6005943d755a2b3e958fc73b3a01a4bcded8713d150c133c7d69f23c1d1f1fbcdb710d3d8a2c27be2bbd313d000000000000000000000000000000001b08033ccebe823c12545dbe91ae553d60a90d3c95dfbe3bba0452be23c8213ddbd5243c5e8215bb6a3e47beb57ff73cc83deb3bbbdd63bb8e5e25be1956c53c3aa16c3b4e61a2bbfe81d8bd8271183c9a88aa3aa9e8aebb329852bd13d6eb3970024cbbfbb0b9ba59be9fbb2853c6bb0000000000000000000000000000000000000000000000000000803f00000000fd7b0d3ca65eedbd6349ac3fd1b300be893699ba53c879bd9c058e3f1b509fbd33c8b0bb2d053ebd1011713f5b497fbde97851bb1e9adcbcfa5c343f330711bd0aec3cbb4a8ff8bb180ae53e8c4223bc0ea5b1ba859bc83bc04e5e3e275b463c3842153b589e523cd64f0dbc5014143d000000000000000000000000000000000000000000000000000000000000000079a3213db0035abe72f2733d343ce7bb5aa1103d14f652be3858513d90e58fbba359103da1ed4bbea43e2c3de5e72cbb9324123d74a629bee2c9093d7d44bfba9684e33c9a20f5bd9382b23c8ee414ba2e37a43cdc577ebd235bb63b3ce10db9db799c3c24fe8fbcee737abb4e883e3a00000000000000000000000000000000000000000000803f00000000000000006233f8bd0657ab3f83b3efbd68d8313cdfada7bd23868d3f5a5a9dbd483aae3b151090bd49306d3f2a8972bd6986283b42995ebd098d303feb5623bdd802933a8c9fffbc0edbe03e65cb49bce61886baee87e1bbad25543eec96463cd50262badff8f63bef07a1bc2f6b1d3d172b53bb00000000000000000000000000000000975192bb993fb3bde7edbd3cafab8d3bdce2773c2ea303be011c003dec4c543bf4c1a93c59242bbe90ab083d0dcb8d3bc79fea3cc27733bed424053d2a3db73b15d4fb3cfe681cbe28cadb3cd214ab3bc9a4133d8b4af1bd30bf903cc943943b017d183df42499bdcd84c73b4361d13b4fbb073d0639e3bc112203bce00acb3b92b12e3d023e16bc0f4baf3a56957f3b107924beca05ad3f1f7ec2bcc3cb11bb890f10be8c95993f7dd264bcc5e7a2bb38d10bbe44b1903f1f590abdc6e166bb13ce01be9c93753f9b810abdf9ee3dbb18ced9bd80ea3e3fc5f5d6bc70ed5ebb6dd8a9bd9d4f023f06fe58bc5c3486ba6a5b79bda15c8d3e34b1223bd6e462bb3f68febcc5ac9e3d05e09a3c1dc287bbd8d5f9bce5f1c6bd46c3cf3c345994bb530452bd1bf81d3d2c85dabc1069353cc045c6bc83f668bd6e38febb518f503c4fe47cbcd37cc3bd815d11bb87b7443cd757403a8922f1bdd18b1b3c207e113cd4d40c3c022beabdc6c74f3c51a3f53bd580be3c9e28cbbd8dbc5c3c5311e43b561e073d63b38dbd37253e3c05c8b23b148f313d233b40bd1a0e163c6052af3bbb1b1f3d95c48dbce709543c80fcf33ac412edbde8ab8a3f506b123eaf17d4bcda6912be1e538e3f04edc03d935ca7bcb0d70fbeebfb853f8404423d759654bcddd80abeb2286c3fb739563c185715bc0a4d00beb775413fcc4737bc89365abbc940e9bd8c600f3f4985a3bc6a92bfba2bf5c1bd24b7b13eaa8cfbbceed3e039fa68a0bddcee233e7bc8c2bc10afc4b9ee0f87bdad5d1d3dc7db0cbdf23813baadfbaebd2ba2f63ddbf6aebd63c8ca3ccb355ebd62fb003dcd1e90bd5a48dc3c16422cbdfeb163bcb0fb4dbd3ee4b23cde06f9bc761824bd063dfdbcc651893c501080bce2876fbddcc133bcaf724e3c5e94af3a7fe465bd79e56fba6e3ffe3b34f44c3c09053bbd8b2e193c9ce7b73ba720fd3c60070fbd6f937e3c36d7ad3b3f83da3cf5b259bc63f8bf3cc4bcecba0d93b8bd86fd5d3f230aae3e9f435ebde5aee7bdff8c653feb1a8c3ee50145bde6d6edbd66c15e3f336c3a3e9def07bd9e35e9bda62b4b3fbf08c83d777697bc7abcecbd3b93303ff92dcf3c480c02bce238dcbdc5710a3f8e99aebc718d1eb917dbc8bd24a0c23e1bbe7abd2820ae3b4755b9bdc87c653edfc8a6bd5536e03bd4fc9fbd7c62ed3d9d9ad3bd726d1b3cce86babdac21263e5f2d0ebe5f451c3d6f1193bd15d0ca3de47908be2417203db53772bd01e6663d4e9be6bd9059003dd5d33abd928c8b3cfc4f99bd9fdecf3c485a2cbdd781823c2fe06bbd9a79883cecbca1bcebb98abcdc0c83bc6e4c243cdf4201bc1c6d3ebc8b96bfba0891c63b76809f3b7da748bca3359b3cd556a53ae646123c6741dc39bc47f33cd6f78cbaf10d76bd88561d3f133d163f2da3b2bda8269dbdc13a263f668bff3ee34ea1bd1b4ca5bde3af253fc09dc03ee46b62bddc19b7bddb9b1f3f3edf6a3ea5d313bdd414a4bddcd0093f2021fb3d91dc7cbcb45db0bdef14f23e1fa1ae3b466dc8ba2879abbdbf04b43e664c89bd006e0c3c0ab49ebd867a7c3ebbb302be17388c3ccb6493bd0d351b3ee26628be618fa53c069e99bdced1253ecbec2fbefbcd3e3d1af77cbddc16f73d93873fbe35f6683d717158bd902aac3db1d12cbe56d7453dd76436bdd0126e3dfd9103bee46f093d11c91abdff180e3d83eaacbdb5f7c53cb581d3bcdce9753c5b9836bd16c1613c896c40bc172b9d3b073838bc180ed03b1aed81bb816dd7b9fd288c3cfba3cb39dcdb6cbb10a4403ca7ade63ce4c615bac7e806bd9470bc3ebcea583fc4b6fcbdfefb54bd6ec6ce3ec40e423f047fefbd23c56bbdb2fbd73e23261a3fb1afb2bd3ad470bd4149d33e4881d53e1a4d62bdc59f7cbdf82ac93e2eca723eddc4ddbc27a483bdd3ecb33e965eab3da775c1bb100181bd4773933e2a3037bd8411383c484183bdf6ad613ea1cb0ebe5f0bca3c0b0257bd1f21183e87ea47beecc4d03cfd874bbd7daa063e25a73ebe3a516f3d764e27bd32e6dc3d900464be711a8d3d57ad0bbd5101ae3d236b5fbee50a773da4d1fabca5038c3d170038be508e413debd9ccbcefdc543dae1806be311b073d69788ebceb300b3d461c9dbd4c87943c1b5b75bc89e0b23cb31004bd3ad5133c2860b9bbe2660b3c23c2023c62001d3bf39de9bb369e703cf7a8f03c497d92bb30ed93bcaabd243e5db8893f90ee16bececaeebc8ad6373e6a03823fee2119bec8bf02bd604c4c3e1893593f684eecbdd4c913bdb11b523e9f9e213fbd539dbd92250fbd96f2503ee398d23e9d5e2ebdd09821bdc4fc4d3e7c7e493edbbd29bce4ab1bbdacaf393ec106963c02b0503c17bf2fbd2be11b3e700ff4bd575be93c1af210bd0275ee3ded8d53bebcdb113d624189bc59d1853d59b945bef18e8a3d73e7a8bc083e983d62205bbe43ce8a3daab566bc22ee753d395768beeebb783d1c9d43bc34c25c3d921f4fbe28c8503d6cdd27bc89752a3d56171fbe4c1a083dde6c13bcb971033d335ec9bda899913cf304a6bb579e993c25c137bd8697bf3bd4ab89bbcf17083ce327da3b4b460fbceaeca8bb72e2593c5bd6f33cf566b2bb19d4d9bb7f0ba1bcff79ad3fe8853dbec1eb1fbcfda7a23cda20953f135c18be95d356bcef3eed3c09e8843f9a1affbd70f485bc32df343d4a49513f77dbb7bd075d5fbccfd35d3de4dd133f31764bbd230d8ebcfa588c3d7548a93e7eb75bbcebe692bce3e2933d08dadf3da2494e3c5e64c5bc42b0a03d0eed6cbd327d1c3d20fa77bc137f4e3daacd5ebecf0f453d00000000000000000000000000000000eac7193c3527403cb3064cbed50f553d7f73c83bafd47d3c6fd545be033e343de75f103c58522a3c8b2840beca67113dc85d003ca030503c9b6820be84c2de3cfaf2083ca45e153c92beddbda41d813c35ebb63b78d6d23bad855abd90282f3bde1dcc3a57d0ce3bf80001bcb5ae63bb0000000000000000000000000000000000000000000000000000803f00000000e1b3783b8d6cecbdab74ac3fe2af06bee3f2533a468096bdbc408e3fa017b2bdfc3db73affcd80bd799d6f3f720b89bde6a6043b234f52bd2e73333f0fd92ebd9c989e3afb740ebd7094e53ebe8e81bc3dd5073a269a86bc913a5e3e70eb033c785e7d3ba0461abc77244bbc11b9f63c00000000000000000000000000000000000000000000000000000000000000000659c43cb4704fbe1b07423d10b735bc95eb123d78045dbe203b363d3ec206bc115e243d4f2356be4b25223d6e53f1bb2a88403d824f42bea2f4153de132b8bb012f4b3d6af61dbe9015f53c7f18a9bbf47b553d46ead6bda677a83c910f9bbbb8a4753d5a678dbd60ca703cc8dd8fbb00000000000000000000000000000000000000000000803f0000000000000000678bdebd5bcaad3f34e7b7bdb42d113b1aaab0bdc6a8913f4ee357bde6fa06bbe562aebdecbd733f8e6d15bdd41d57bbbb20a5bdeb6f3c3fad62b6bc73519fbbb42295bdfeceff3ed6448ebbe3b75ebb652971bd016f843edb3c5f3c459b5ebbff4670bddede173d1a8c013d9f9162bb0000000000000000000000000000000052b591bd4844c5bca2da4f3bb287cdbb1c7717bdf755fabda3f8ad3c0caf3bbba6e0ebbcf93712be282fa93cf2a5a8bb73db5cbc76ff22bed1b2cb3c95179ebbcc2da8ba20f61abe98c3d63cddbed9bb629d883c660408be790ed43c01ccb1bbc5d4de3c3126c5bd7a86a03ce7ddc0bb3ebe343ddfec64bdc99e503c922b9cbbb9f84d3ddf7868bd7beeb43cf23e8fbb0c82a6bdb809ad3f2a3721bdb4bc583b3d25b2bd947aa43f91e609bd613da2ba6062bfbd776e963f0cf121bd2b481bba7d3cc3bd1166813fcd4011bdf4ce7aba7e77cbbd0a2d513f8c8103bda979a8b94113d1bdfe95183f2888ccbc449ccdb94d68cabd4899bc3ed7c682bccd3ea839b3a5b9bd99c50c3ea27ba73b75380d3b67f3e6bd90fdb93cf0b3aabbf154e6ba315b06beb3180a3e99dc74bdf07aa13b4a43ffbd2a085d3d865811bda0a7db394de7dbbd99a2563bc789c6bccf548ebaccb7bcbd767103bd3ee00dbc630f60bb551d9bbd78e53abda5546e3b63c0c9bbc6cf5abd13cc7ebdd382733c2b93ddbba8f905bd369c6ebd1362b53c1ecfe9bb4c3c09bcc59172bd5205ff3c8c9609bc0de137bb693404bd0c75103d7dc60fbc55f5fbbbece7853f9baab83d166ec8baf8d3b0bc515e8b3fa378073ddd8aef3989741ebdb39f833f1163b63b67d13e3bf4e744bd6f316f3f81c2d5bcfb5b403bd58281bd0cd94d3f30a14fbda873a33b07f89ebd9458283f65ae87bd30fd623b5598b7bdb14ef73ec3fe9fbdf3eeb33b5e2bd2bd3c49a43e75759dbda9cc9c3bc038ddbd1655473ef850c7bd5eece13b98371ebea2037b3e92ef0abe28cea23c27cd25be8289413e7780eabd60a6573c3f8e16be5857063e0c15bbbd46ac0e3c90d60bbe3d3dbe3dbb6d81bdc643413b8e9101bef671803d393d19bddd366abb3752dbbdcb8e093d91a952bc7ecfb4bbcc54b1bd15308c3c28770b3c1d0527bc8ec986bd73a17bbb15cb0a3d8fa147bcf1ba50bd0f918c3c4e561f3d31835dbcb0ecfc3cec05433fd79b873e414119bc6a4dfa3c526c4c3f0f78393e9af481bb696d813c790c4b3f8b4cd93de2ba543a3fb0c33b87d93f3f661f003dff61b33ba7c71bbc8824303fd28f27bde36b123cbf90c8bc1b17193f3fabb2bdf577243c210942bd6987fd3e60cd07be8c92623c21b578bd92f3c53e7f622cbed809653cc604a7bd3ede8f3e595a43be49a58a3c7bac16be98cb8d3ea93c4bbe266b243d7da01fbec70e823e39ff44be55f6033df93f16be1de9533ee3d625be99facb3c386d17beb559333e55f703be3569573c237804bef63c1c3ed8aed9bd8116303c06dd04bec8c5e13d74695ebd4bffcbba8d29ebbde6cbbc3d0302ebbcf7f06abb8668cbbd41c3743dba535c3c6a9d4ebc300ba9bd5ceb853de10aa73cab1f3bbcd17c553ddd45fd3e5ea3003f822de0bc7715613dfd2b043fd363c93e17598ebc434e303dfcd0073feebc8f3e98a2cebbae87293d406d073f32601b3ecbad503b42407c3c6531f43edb3f8c3dc00e443c81458d3c4842f03ebcbe83bd1f5f883c8af8cbbb692ed03e710e0bbe6979a03c76f883bc4758b63e0dd256beab26c53c6f9f23bdacf58e3e114781be9b13e83c4f3ee4bd2c31803eb7e572be8c137a3d679203bed9a2813e54f884be09be6b3dc99601be24615b3e8c2a6bbe08ed3a3d20d500be1755443edb4244be0c87093d7d6a00be04852c3e3cab19beba83b63ca080f4bd85ec113ecc80cfbdbbad533c59cce8bd2a3df03dd2ba77bd402e9b3be3edd6bd8b7ebe3d5c948ebc717997bb2391bcbd36ccc43d896e16bb230ee3bb532c403d2e1a833e254b453f64625cbd2da0673d96078c3e62112b3f8c1635bd1247573d96c3993e4986023fbfd9c2bc3fe3473db0409e3e49acae3ec88534bc8db3443de1b89f3e6ccf363e7273933b69d70c3d816a9b3e84a0df3c3551463c90d4cf3c69e8933e8aa5cebddf24b33c201d703cccfd883e85fd57bed57efe3ca8cfa2baee195f3edf3489bea8a70b3dcc828abd50203f3ee38a86be35a09e3d0fe8a4bdd025453e0c7a9bbeadf89f3d04b5a4bdd67e313edb4492be53968b3d06c9a5bd049e253e312681be82d4633d163ea7bde529173e8c574fbef4792b3d2ff6a9bd58e3073e6be81abe11b6ed3c2b66a4bdfd86ee3d4af0d4bdf078a53c0e50a7bd6a27ce3de59444bd382cd93b143897bdd439c93d7723d1bc87e2b53ae427f73cfcac943d2b42873f4f86a5bd7cb0153d8a50943dec8c7a3f4ab99abd4963153db6b9cd3d1ad64b3fc99e59bd301c183d9d07e43df66b163f89c4f6bc2f9c153d3775f43d0c35c13e85df24bc0e43083d4bae083e1134313ea409bd3b552fe63cf620093ecd9f41bbc740a43cc7e7d63c0b9f103ed4ce31be4d2b0a3dc111943c4d10f93df04c83beb9a2273d0da5a5bc2f83a43d92e475be6767a23d9ad20cbd9e6be73d61019cbea313a73d318202bd3d6bd03d946395be1da28f3d3b4806bd97a4cd3daa5189bedb247e3dd5e208bdbeb9c63d4d5a67bef9bc4c3d7f3011bdc39fb63d47962dbe69641a3d83ce15bdd4baa73d1e7be3bde9ded93cbaed17bd2bb3983deed83cbd7cdd2d3c031b1ebd9f45903da62a34bd3f7c873c6e5f123c9bf462bd89ccad3f4daeffbd09d13e3c382f42bd927f9d3f2c8acdbda675853cd0920abd0809863fcf7e9cbda878783cd0b5a7bcec7a523fa4b452bd8e07953c171c5cbc4713153fbc9addbc7ff58b3cf433a93b9d14ac3ee825dfbb06059a3cafe7913c81ebd43d7ea9523c65a13d3ca2f4263d7c3fe4bddfef0f3d6277b73cddcf5e3cff1a57be896b0a3d000000000000000000000000000000001b7e6b3c7dae663a48a354be35334b3d9828293c64c1593c3e5b57be78db343d8b3e433cd22d663c78644dbe081f1f3da77c1a3c1c12a03c01ab38bee39e183d3dd1023cbceda73c78a112be680bf73c6f51cd3b98c6c93c5eb4bcbd6f90ac3c917d4f3a5e2cf33cfa717ebd254db63c0000000000000000000000000000000000000000000000000000803f00000000ab8a87bbc22de9bdbc44ad3fd36fcebdd0e60dbb1360b8bd2d56903f093687bd4ab319bbac21b3bd723b703f4d1b55bd2762653b5feeacbd64a3373f15a420bda352a13bd6ed97bd68e4f83ebccfbcbc2f7cc83b93e074bde3647c3e61cec2bbc62a6a3c4dc882bd8fee0a3d3ee3c63b000000000000000000000000000000000000000000000000000000000000000095c05e3cd80310bdf99217bd0e100f3c8a90283cf73b24bd36f4f0bc9c09013c2443213c47d216bd9b48d6bce185853b546bc13bff3105bd828fa1bc7599953b190f473b6b68f5bcb57f7fbc92849f3bcdff85ba7f02d4bc5d7136bc0dbc903b974081bb37e68cbc6655d4bba818273b00000000000000000000000000000000000000000000803f0000000000000000238d24bd1c2d8c3fc52aafbc375005bcd96fa8bc3de8693f48626dbc51a8cabb54e31abc2a3a3d3f92652dbcd80e85bb0e835bbb336e123f81ee45bc16a496bb287d4dba6df5d13ea1a677bcc9164abb2705a73aef74813e2ae39abcc415a5b9d9f934ba232fd13dc801e0bc2fd6333b00000000000000000000000000000000bc141e3cfcf631ba1d8a0bbde28974364ebe503c7748fdbc331438bd6faac93b2fa4813cb1691bbd153e2ebda115a23b8bea573cc19b13bdbe7017bd622d753b40df233cda6804bd7b09e9bc08f34a3ba4db8d3bbb3cf6bc253cc4bc244b413bca5d2a3be8e4d1bcc0478abcbdda8c3bd76d0fbacefa73bcc5641bbc4d1e6c3bbeb68f3a0b49b6ba387694bbd656bd3a93809bbd40d98c3f5313e73d1d71ccbc9660a0bdbb19853f0185cd3db8d4d3bcbc7a4dbdc01e613fddc1bb3d1136bcbceb7b04bdf003363f9420993dbf2fa5bcc40097bce7900a3f2c15603d85437dbc288e44bc5123c83e102f003de49251bc006f00bc1197763e3223203c2da236bc64c7dabbb2bdc73d254171bcf24162bbd3e3a6bb340c92bc0aebe0bc379b08bb04ddbf3b6980383c5293c2bc98180ebccfb7663c6631d9bbc74426bd64c79cbb81e65d3cf0cd84bcb9ab14bd496937bb3abb813cea7db2bc20291abdf727b6bacf4a3a3cdc5999bc1c6ee8bcd67b76baac49103ca726a8bcbfd2d8bcb43919397bbba53b0ed97bbc722497bc3b0e543a7216683ba07210bc98ac4abc271cfd3a79da473bb846643aace6b2bb9d7a493a0b919bbdc72a6d3fca61883e08e217bd54c4b2bde552643ff2697c3efd6740bd59035cbdbd783b3fee6f5b3ea74618bd36a43bbd03b31f3f7a61333e73a60cbdff65e0bc2a6bf13edf57073ed74de4bccf7fb2bcc89bb23e5a5fb93d0569cdbc567f6abc5d71603e20824e3d01e6a0bc8db146bcbe32ca3ded95e63b5c8c7ebc36cdb5bbb7ae60bb6f56a8bcb92423bc4654973b09c5853c4c5686bc022183bcfd22253c1301983b4d1409bd9aa75dbcb2626d3caa2f05bc9f521ebd9dd51abca9535a3c9a625dbc02f715bd6bc8e3bb8bcf3c3ca33582bc820401bdcaeeafbbfd290e3ca45676bcca21debcd65949bb6240c63bdef552bc01afacbcc472a4baf2688c3bca5edcbb1a934fbc769f4a3a7925473b5bd8adb868c394bbc434243a16cc87bda380413f6bcbd93e0d804dbdac14a3bdd9003a3fec6acc3e2a2283bdd64a7cbd4644213fcc4bb03edc845dbd567b3abd088a043f0018903e998e3fbde4f204bd2ca5ce3ec8f05d3e299f24bda018cbbcda34973e71701c3e07fb10bd3a7f91bc087f433e718bb63d4a80febc97686cbcfd1cb83d6210f73c1988d8bcff54efbb11cd9a3b19a085bc004c8ebc90a4443a1c8c8a3c4de337bc99b3aebc618dc63b340af73bf3f7e3bc7615abbc0cba3f3ceedc1cbb09560abd6f3977bc2a4a2a3c8fac0bbca8d212bde49843bcc2e6ea3b2de3f3bbfc40c7bc976cf8bb1988f33bd2a73fbc66ffe1bcdb49d5bb3c9f553b11ca21bce50baabce71034bb6389433b28fbe4bb580955bc022282ba30d4183b86af1eba9bcbadbb00a451ba26066dbdf61a173f58f8153f47e476bdc89b88bd83bf0f3fa0250d3f444596bd64314dbdea27f83ef613f03e2fed77bd63302abdaa23d13ecd8fc73e5a3667bd919ec2bcac1c9c3ed3c0933e58f419bdc11ec8bce24c733eb6d15b3e388133bdf47094bcc31e1b3e6dbc043e8a8514bd860262bcbb6d993d0e36523d32b503bdda230fbcd770b13b856751bc5430b9bc1be46dba9930613c1fc510bc4bdcd2bcb9b6633b0c4fc43ba1dae1bcbb07d7bc9c07ee3b2961b1bbd3ec1cbd686faebcb62dfa3b5e6ef7bb8f541abdce1e7fbc572cde3bccaf1abcf0e807bd86a757bc1daca63b36eb46bc9d98edbc244afbbb10f4b93a49f03fbc7296bfbcb8a59fbb6bb3f13a13980dbcff245bbcdb80e5baaa58a639d7774fbb8a2fa6bb095f0abab1ee44bdc2afda3ebfc13f3f29aa8dbd7ea16ebd3cd7d13e7085373f4441b6bd87273abdfb7eb83e76ff1d3f81569cbd4ba212bdd0329a3e453f003f793184bd9442e2bc5702753e0a5bc53e586e5fbd9ae4bcbc27af353e35368d3e4ace4abdd6c994bcb6d6f03d6d832b3eee1c39bd71fe68bc60f8683df5e48c3d4e8721bdf3b527bc4afda13b1edd59bc0514d7bcbb8d85bbdb02cc3be18025bc8c0ce4bc946b093a880e10390c8a07bd3cc5f0bc9f52943b1b0590bbafc517bd81f4a8bcec8d963b863c09bcb6e92bbd001d9dbcf237793b43bd18bc5d3307bd5a175abc18cf3e3befc64cbcd6fe08bd364c1ebcc0e5973a33ac3abc39a7b6bc76f499bb9bad6bbae45643bc2d9c53bc61c1b738e9825d394908c8bb491e67bb57d854b94f5019bda4578a3ee2d76b3f0dcc9fbd5b9731bdcdd6833e2092613f2f38c4bd6abc00bdbfa16a3e149e383f3c608dbd6a20dfbc1d10483ef5fb1b3f022489bd4d43a0bca6b01c3e2c8eea3e77d052bd7268a5bc5e16ef3df6d9aa3e1fb352bd87b769bc6291993d74bc513e5dfe2cbd42c858bc8b620d3db8aba63d69ce30bd48931dbcfd46b13ae3ad8abcfff7f2bc3afe93bb1936c1ba645f8fbc8fc2eabcd1d86d3a4ee1fdbb1d5345bd3e37e5bc8e99ec3acb0ff3bb4a5e5abd4619c0bcb123423b35f833bc84d042bd009ca5bc78ab1c3b6b9d2dbc8f2329bda21679bc5bd7e43a4bff69bcc0811bbdd15430bc419d9cbafbfa7abc9ed7f0bcb48eb8bbe8b4f4ba2c0565bc145a87bc2549aa3aa97673bbf8b716bc277457bb855ca23a0c79c9bcc716ed3d72808c3f2a9ea5bd507ec8bcbbb9e33d3a6d843fc8a5b7bd8898b0bcb528dd3d3bc55e3f17e38fbdce6583bcfd3fc23d9ef3333f8bc067bd083352bcb3d29c3dfb5b083f5dcf3cbdc2aa34bca7096c3da892c33e5d2936bdeddd2ebc14e4133d19c46b3e156c2dbdbee803bc21d8473c3509b33dd51122bdc7a6fcbb875ac1bb4624dbbc50aa02bd000000000000000000000000000000000c6dfa396122f7bbec902dbd193cb8bc4974153b88b6f0bb093f37bdf1269abc0df1ef3aa78fb9bbbb3426bd6a347dbca33aa03a058d06bc4d1611bdaa7146bc495be1b79e3225bc8b43fcbce8840dbc5a9239bbee1557bcded8cbbc0d2b5bbbc1398fbb09025abc1d9e88bc4656a8ba0000000000000000000000000000000000000000000000000000803f000000002416f3bb567d50bc68be8b3f60d352bd97e39cbb7201fabac5e2683f930812bde7ad99bb5d0c633b47b43c3fe27bf1bce7b08dbb291e973ba1d8113f9987d2bc58322fbbd448143bd3ead13e6c49d5bc3a8344bbc83658ba2d14813e849fcebca3617bbbd109e5bb8cd2cc3de507efbc00000000000000000000000000000000000000000000000000000000000000002649513cd10d243c8c5bd7bcc33e0ebabc2b353c07beddb86d68b8bcc1bc143b94851a3c2ea699bbcf039ebca24f7d3affd5d23bf034f8bbd61988bc1bbdd63aea1aa43bc16b24bc9e7f75bc5bfe563beb05393b89c935bca0e752bcf46cbb3b36b2113be9801cbc913056bce500023c00000000000000000000000000000000000000000000803f0000000000000000136023bc286b7c3f569ffebb4d1072bcfd89e2ba0792553f8358f2bb9bd63ebc41d4023b335e303f986602bc10b326bc1656573b117d0b3f316b2dbc21a10ebc2ed1a43b545dce3e2aba6cbcdd8decbb93cf943bfd9d863e3b669bbcf22b8ebbe1f08f3bb6b0013e8498d6bcf13329bb000000000000000000000000000000005508203cfe75023d29aac0bc74885fbca5fc523cc110c03c0b60febcb6e416bcdb39603c4863303c8b90e5bcfc1e18bc2255543c024f793b01f0dabcd602dbbb6e18293c678f1cba17b7b6bc6ad294bb3d0e0b3cf855a3bbe561b3bcff9ec0ba6fa7dd3b8cd6a9bb4514a1bc2f81843a6244a33b51eea0bb68aa81bc0c57853b956ae23b9787193bc64753bce0ea523b51a501bd81a47d3f3a97033ec3bec9bc54fae9bc984f683f4c6fe63d8c50e4bc9e157fbc038f463fb494c13d485fc7bc03c7fdbb73f0233f465d9b3d902cbabccfd335bbef97003f91a2623d6bbd9bbcac79d8b9c174c03e9f33063d38c48fbc94fcb43af6fb7d3eb283233ce1836fbc7188bd3a524efc3d7be75bbc374b1cbcfb6b783ba250db3be6eaccbc547003bce905b03b346e0d3d772966bc5e79c7bc54cd273c15c40d3de7aac4bc66badbbcbc7a273ca0909b3c0568aabc70a0a0bcfa0b4d3cdbb0703c5e3bcebc3d8995bcf45f263c5742063c5c74abbc5abf55bcd81b283c3a109d3b6fecb2bc590d46bc9364e83bf0070c3b1af48ebc271ecfbb5d36023c0ef04d3b972494bcc97939bbdb03e53bb0aef63b3de260bcc7dc26bbd29b11bde2b4583fd3718a3e3d0201bdb75b1ebdb9b7483ffd54793ea40724bd7e9fadbc4e94273f2dd7523e238e02bd033090bc87c70f3f042b2d3e32440abdad9d21bcb3b0e03eefaf033e5122ddbc4934d7bb50c9ab3e1961b73dc193f4bc626961bb1aa5613e234f553dcfe8b3bc2b089fba3a11f23d0247283cbe01aebce18bed398f148b3c609493bc0e0080bceec9233bde5f0f3d55dbf5bb56f10abdb923d13bcb64183ddc2582bc1b901fbd23bf1a3ce052da3cfb28a0bc29c706bd2c07243c27939a3c5525afbc29e4e5bc8a59203c1883433c03be93bcc489ccbc8805023c92fc133cf70aaabc14f493bcbcd6fc3bb943be3b7111a2bc5aac61bc362b003c3cb2ce3bee2090bc8bc423bcb29ad93bdab6e63b522938bcdb5befbb85b313bd2eda333f73e5d23e14681dbd50ff29bd4c1e273fd7b6c03e7e4f48bde0a0f5bc2d70103f264ea43e76e735bd58e0b8bcbd26f23eeb48873ec1092abddf3f6fbc1817c13e0a6f533e209b21bd37863abc72be913ec2ef163e28f410bdf071ebbb4480463eccd0b63da36506bdfaf570bbd0f4d83da27d0a3d10a9f3bc0926aebaf67d953c52553ebccae5aabc0c6995b92e88033d2ebb05ba49922abd7b8e3a3b372d0e3d7fe8fdbbc75546bdb5abb23b455dca3c156e4ebc057420bd3b32eb3b65faa33c3aa08dbc822216bd2aeabe3b3735433c38f85cbc96d3c8bccc45eb3beb8f2a3c8e629bbcc491d0bcf37cbd3bb2f4e63b1d4b86bc640298bcf424c53b4319da3bed8e7fbcf9a477bcd8ddb13b7d09e93b0d0225bc867441bc09fc0cbdf4f70e3f4ef30d3fca462abd6f1e21bd4663043fe1c0013f15c356bdcde6e5bc56d3e33e3414dc3e22b038bde6d7c1bc23b5c23e7bf3b73ea92d3dbd01b657bcadba953ea1388c3eb58106bdd4155abcafca6e3eb32e523e6e2429bd673a0dbce2d6203e7525043e9f1c11bd41f9c1bbb302b63de845683df63310bd67403dbb01fe963cf384e1bb1571d4bc261f40bba37ae03c8229a03b3d8f3dbdc0b78db9407efd3c7683f8ba53c86abdb621263b1d8cc13cab2f1cbccaf04bbd77af923b9d2e9a3c17486ebc2ab82dbdb39db33bfd805f3c2afa73bc563a11bd2b0c8c3b63a5143ce56f8ebcdcaef0bc5eed5b3b7f08c43b8ee787bc4400c1bc61d25d3b63e6993ba7a971bc4c0797bc87ca5c3b9864b03b60c30cbc102c62bc807903bd48f1d43efcaa323f9d9935bd88501bbdd47ac63ed990243fff5069bd9d6ff4bc134fae3e13390d3fcea255bd8d8cbebc3cfb923eec15e93ed2f247bd22dc99bc6bab6d3e779fb63e69ca40bd6c746abc805a363ee201863e01c136bd4ed438bc87c9fb3df3b12b3e8fb02fbd301a07bcdffa8e3df9a19d3d8a1728bd4eb398bb8b8a813cf6c080bb6695f2bccd50b0bb894ebb3c6a6c1a3cae7c56bdcdb04abb866fc23c5c5c2f3b40807dbdeed9053a38d9893c3984c1bb6e753cbd5e09103b4d817a3c8f1d3abc2b3d45bd7adeaa3a02f31e3c580b51bc3a030fbd3cb7a73af9ecd33bbd7f86bc021803bde208263a6d775d3b7b4c5bbc8e54c1bc185e4b38d668313aee2461bca18e9ebc390481b9b6d1de3ade6d19bc5cc961bc689ff6bc7e0b8c3ebd56583f27ad38bd656507bde3c3823e2496463ff93d64bd2bcfb7bcee30633e4f3a253fee1a2fbd6cffaebc15d2453ec7340c3f845d41bd647e78bc90f91c3e100ad93ef90325bda3ca69bc668af73dbcbda13e4c3a38bd656824bcb5e0a63dd76e4f3e5c8318bd0e1316bcad64403d57f8c23df23332bd35d8a1bbdf9e293c287b53bbcd6702bd7f79dcbbd609743cabc8613c4d0264bd8aac94bb434f6b3c6e031a3be4fe75bd220ac5ba12e83f3cbb28dabb333b54bd6a0daab9689d1c3c74ef44bc56d634bd0a210cba9b96c63b495d65bce8ed10bdc568cbbab45c133bc2c48bbc161ef8bcdb7462bb2c29f5ba23598bbc7873bdbca52b82bb4695a9bbd0546ebcb29484bc786781bb18bf0ebb31a7eebb4c195abc0664bdbceb88063e24717d3f18462abde14bc0bcbae5fe3d3255673fac843fbdea289cbc53c8e63da58a443fe82427bd086882bca887ca3d51b5213f31231ebd41cd4cbc0480a43d8e7cfc3e60d512bd38013ebcd7cd803d72f9ba3ec2771fbd5c9216bc6d192d3d13ac703ef21924bd5eb10dbc14f6b03ca8d8de3d401c2abdaca0ecbb35e79b3bed1a99bb669a09bd000000000000000000000000000000008826ffbac77de33b7258d33adbc435bd5fb6aaba02c5b83bbd9bcabbf56010bd0f747bba61bf903b132f1bbcf40ef4bc5639c5baebdff13ab63d49bc0eadc2bcd6cc19bb45e8c9b9bbff5bbc68efa5bc875c8cbbdd556fbb23cd59bc91f173bcc6d2a8bb94fecfbbc48f40bc36484fbc0000000000000000000000000000000000000000000000000000803f000000005b5462bc23bdab3a5c557c3f35fdcdbc0e7818bc356acd3bea07553f671caabc670607bcf535053c67b22f3ff0b1a4bccf24e0bb05f3f03b5bc70a3f2ad0a0bc4479d9bb2266d03baff0cc3e02c3babc6007dbbbbbfe4b3b5428853e0eccc9bc29d0bfbb542046b93501fb3dec41f6bc0000000000000000000000000000000000000000000000000000000000000000e9fe323be74eab3b6c4a8cbba26895bb3fff0f3b93fc6b3bfb415dbb4ef789bb4463053b4a303a3b5d9d4cbbd29d71bbddeefa3a26f7163bc93a3dbb838855bb91f3ec3a6970003bdcd145bbb4124cbbdf6ce23a2d11d73a393459bbc3d127bb1797f03a1e010a3b571c61bb76bc22bb00000000000000000000000000000000000000000000803f0000000000000000dc3fa5b856aa633f287a6238c6f463bb64080b3a85fc423fc934bbb8950b7dbb99911a3aa67b223fc92520b9c4c667bba9445a3ab4f1013fb29836ba6adb57bb171a583af758c33ec4069eba01fa5dbbbc3a853aa898823e714b0bbb2ebc5dbbb3bc6d3afaaa043ee2683bbb3b5f59bb0000000000000000000000000000000031bc083b837c003c03453bbb0505fdbb98fd2d3b6522093cbefe7cbb466e14bcb3cb5e3b5d5fec3b4fe168bbc20803bca2ed393b7613b93b028f84bb0088ffbb51f0223b44a8dc3b7ab1b4bb233296bb37c32f3bfe5a953becf889bb254be5bbcb48403b925a933bae6382bb553bc6bb0a4a433b3b8aa03bc8b6afbb6e5692bb9df9ab3aa6f51f3b618636bb6d5393bb656416bbfcc3633f0141023e754dc5bbf9b304bb988f483ff9eae43dbe40edbb9df078b91a3a2c3f3edfc43da2d9d4bbe98b5fb904950f3ffb89a23d4ff6d9bb98d78db738bfe53e28b9793d2be0bcbbf2ca9e392973ad3e53b53e3dbbc9d5bb8e5383baed7c693e4d36f63cd0d0c8bb5841723a4ecdf03d9a98443c6705a3bb2798ef3ae8aa963b1af0c1ba669791bba9f0da3a264e103cda0f3dbb155923bc78ee203b6f20243c73a232bb01eb47bc892f123bb152f33b840629bb47c320bc32f9203b3e85f63b162d76bbd03938bc87b0023b0738b63b7ab475bbdad31dbc13d81b3b8d26bd3b429a2cbb79b02ebcff94393bdf78cb3bbe147dbba46901bccc9a343bd18edb3bb0f54abb4bf410bc7096143b72299a3b79d361bb549e99bbae2d51bb4c8c433faf6e823ea01a00bc17f34dbba07c2c3f8975653e954a12bc680ff4ba6596133ff037443e491f13bc13e105bb67c2f73e898b233e80da0fbc7cc0a6bafec0c63ea1a0013e914102bc652c78ba44eb953e80a4c53d43e3e9bb1b7ef3b8281d4a3e8c567e3d1941eebbc777f6b952aed43d26c8ff3c15b30fbc2fb625393735e43bd5ad85ba81fdd2bb8e814a3a9d36033cc49d0ebab54f2ebcc184f03ae69a203cfd1806bb62bb5bbcc42f083b0033143c44bb0fbb94b85dbc0dc7093bdeb3043c409020bb749c50bc907f123bc0bcea3b2bec30bb2e523dbc55a7213b847ce53b69cc49bbd6b63cbcb3951a3bba2ed53b16d24abb0bef29bcaf422a3b21f0e93b0b6d35bba36e35bc9d220c3bdcf1a83b20f027bbeee2edbb8a7f72bbedda223fdf07c33e5823e9bb0aa679bb69f80f3f68d1ab3ea7d210bc997a47bba3a9f73e4a8e933e6c251cbc673c20bb0017cf3e1007763e0e2617bc4512e0ba0532a63e8d49443eca440fbc2d55aeba500d7c3e4655133ebf2516bcb96697ba9fd12a3e5342c43d829010bcb0f184babe58b53d2540463d549f26bce057b5b90066ee3b7876b939238ed8bb5656cb3991f3e93b42c1cb398cb037bcb554ae3a02d31b3c890fb538f33074bcd4e59e3af13dfc3bf5d059ba935853bcc86ece3a0444043c3ffeb2bad51d65bc5c4db13a8ad3b63b24edb3bafa991ebc9cb2f63a132fe93b273b11bb02d54cbcc632d83a266fc73b418607bb8cdf2bbc0e240a3b0ae4df3b59b9e0babafc41bcaeedcb3a9bad9d3b5fb0debafaaef6bb82f170bb6140023f11e8013fe295e5bb2e17babb7389e63e3e2ce53e3e7119bca0894ebb18bac53e4b11c43e3aff0abcfd9a46bbe731a63e73fba33e9a211cbcfd23e7bae345843e8044823ecfc3e1bb89bb01bb54074b3ef0e4443e5afa1abcbc95c9ba650c093e4235033ee43b07bcd944aeba0013933d09f1853d6f7925bc5f1a6aba44e3d43bd665ae3a673dd0bb18371eb94a6fe93b9222de3acd5651bcd07a493a5f65183c1155853a261890bc7ea02c3a8050083cb2e53939912882bca583783ad2f3013cc0dcd7b972687abcdc09943ab934e73bbc357dba74675ebc7234a03a6cd7e13b0025c8bae4495bbcbf729f3a0236dc3b4898dfba85d852bc998c793a9097d93b3b5ab8ba5c305bbca68ba73a5e769c3b7341afbaf31e0dbc30408cbb35dfc33e7d99223f7041f5bbe2518dbb70cbad3eca6b0f3f46622cbc9a0a83bbe98c953e8cecf53ef84c1fbc741065bb7cf27a3e9920cd3e425120bc7ec638bb39f5493efce7a33e524116bcdd8c29bb9bf6193e596b763e1bfd1ebcf0d21cbbd3d9d23d350b253e138721bca87531bb34f5633def06a83db13218bc0588a0ba750ccd3b7135093baf51e8bbef0361ba2bb3c93bee232c3b66d653bc76e4bc39045f083cfa84023b4bc792bc6dde2ebafc97ea3b0211a63a54b465bc26cca1b9a8f9d43b8d0b613870b378bc6bab023b3491ef3b478f4eba876554bcb633fd3a2379dd3b8c54adba3eae66bc2757453a09eca83b320f6fba7c3035bc3454443ade2ac33bd5a692bafe5863bc5137b83ada5b9e3b3efe71babeff15bc6c4a98bbebd8823e3932433f9a00e2bb1402c6bbb4f9683e29192c3ffb2d21bc6e4488bb5292463e422f133fdc60ffbb9a881dbb223b283e2fdbf53ee97f17bc10195dbb76f2083e7703c43e0aca0abcfdf14bbbc3d0d33d4fc3933e0b8f23bcf21109bb44da8d3d261d453e1db005bc05bc22bb96c11e3d5314c93d2a211cbc0b5938bb1a15c63be7df3d3b4bc3f5bba1fccbb997ccb03b5788303beaef46bcb97d4db87edeca3bdc51563ba35a86bc06830bb95fc6bf3b1b57023b092b78bc62305cb97986b13b929bf23927b95bbc323befba7c77d23b6f93b5b9646142bc47f40b381704953b4fba1dba5f4d3fbcab00c5ba8a239f3b9ea0b3b956624ebc0b93d7b80c308b3ba3048dba26381ebc7754c3382c1b633ba0982cbadd6e0dbcada55abbce19043e1d4a633fa881c6bb90c6afbbb91ce73d0952483fa392d7bb81ac63bba00acc3d14ce2b3f34a605bc10fb57bb2231ac3d36210f3f1f15eebbcb9290bbbffc8e3dcd7ee43e3927e9bba2642fbb2f9c563d40d5ab3eaf79fabbd6cf86bbb22e183dd455663ed3201dbcde3628bb3c81aa3c6d82e83d847417bcfbe9fdba343c8b3b6ddf303b993becbb00000000000000000000000000000000eee31dbab382503b02921c3b16e431bc650020babfb1403b85f6a23a441f11bc7337a2b910e8443b8486b539bbeb12bc3e5b64b995f52c3b215581b8085805bceee57ab9b71e283b1a930fba08f904bc815ce6b94395043bc95217ba37d2e4bb71995ebafdc31d3b2c1c0abab60c02bc0000000000000000000000000000000000000000000000000000803f00000000a4582abba5db073bd66b633fd21d8bbb7ba217bb00661a3bd5ba423f8a8c63bb1610f7ba8b093e3b8f3e223f44df8bbbeb8ed8ba62a7303ba7ab013f6b158dbbcac6d2ba22a93f3bf1b5c23e7a06a1bb4debf5ba3859303b1aed813ecf91a6bbe45d29bba3582e3b7c44033e9cd4cfbb0000000000000000000000000000000000000000000000000000000000000000f535d03bb49f0abe38d4b2bca491613c0339ee3994df02bef611c6bc4213653c82043ebba34adbbd8c9bddbc73fb3a3ce025a4bb1f4db4bdbdb9bcbc59951a3c7649d5bb24288bbde23270bcd3e5aa3bd50daebba83c3bbd6e5fc1bb202b573b59cef7badf61a3bc458d323bf220633a00000000000000000000000000000000000000000000803f0000000000000000a590acbd2c03a23ffa7998bd0e26d93b7ac83bbdad5c863f368240bdf99f823b6678c2bc09a6583f0753eebcf761af3a8f310fbc3675233fbd73afbc2f33c53ac96ed93a5c0cdf3e84b09fbcce5b713bf759963b8286743e21c880bc5ff4903bba0dcd3b1a564a3da36294bc6442b13b000000000000000000000000000000009d643b390e568bbd677797bcca39ea3b1dff973bc7330fbed60c97bcdd60613c19ed083b5afb0ebe65330abdef60843c47d63fba5e15f5bdafd514bd5264523c5d9a63bb586cbfbd850306bd4cb5313c5bd430bb601594bd1a1dc2bc1ab2163cd5de9e3abfec3cbde1372dbc741aa73b4213ad3b2be186bc48406db904f0ac3a6b1da63b853d9a3bf5f67a3b9914d23a947b16be586da23f7df6673db4dd9abceffb11be56679b3fb8232b3d333779bc1567d6bdedb4863fbe765d3daf567dbc7f3492bd4e88583fdeab583dd73a54bcd9e333bdca12223fd1cb3a3d9aba53bc6e38f0bc6d03dd3e8a39e63cf6e602bc72ea80bc817c6b3ed1a15b3cdc2da7bb4020bbbb88e13b3dca152c3bb4a71bbafcbad9bbe06190bd4961a8bcbcd2183b802010bc41ecedbc32d5c5bcbaa4263b71b3baba6795b2bd5a3031bd05484b3cf818943aaec4b7bd597f49bdcde3363c1d1d3fba7e8ebcbd50b854bdac7b483cf6e9a2ba6bba8cbdd4e12bbd69490c3ce8e91a3840bb6ebda74a0ebd7b95253cbb74553a241e19bd1037b3bcd310fe3b431a8e3b4aef88bc850303bcf514023c81f0c33b28cf1f3a5b400d3ab4839c3bfafc0fbe7a67873f14257c3e64593dbd86181ebebe37873f1c3c663e36a64ebdd1f8e3bdcd14653f1a2b553ebc4d2fbd5222bbbdd845413f1ac5313e3cdb13bd329578bd3020103f6253093edd68ebbcc3e43bbdcb0fcb3e00e2bf3d798dcabcb296f0bc96c8683e188c513d9b5287bce2f294bccdc3903d00a9213c3dc51ebcce414ebc0e7c01bd35b9a0bcceb99bbbc10457bce5f58bbbe508d9bc983aa8bbb7bbe8bb6fe458bd62bf63bd489f0e3c2ffc2cbbf7cf8ebd969b88bdef9f2c3cbc8087ba2de387bdccb27ebd52e20d3c9a5a0bbb14226cbd5f3f63bd75e8ec3b017a513a5d4943bd459430bd574e183c90b8b33a11f50abdd95fe7bcaa9f1e3cf3fe953b82db8abc5fdd69bc1978313c172a643bf5e485b6019438bb5a66073c804afabd13625b3f9fbce33ee58396bde9170cbe55d55a3f889bd93eff66a9bdbba9e5bd6eaf413f61c6c03e92c694bdd504b0bd2be71f3f46a29e3e39c071bd82e388bd5460f83ec599753e80db48bd55f94cbdeab1af3efce9263e5d391bbd7b8113bdcfd8513ee067bc3dbd49e9bcc206cfbc8c5ca33d281bc73cbdd08dbc6d7892bcde9bfabb56bdc0bc76a961bcb95681bc2760e63bd255e6bc678427bc70e408bc9125e5bce41389bdd3f4663b05aca1bb40d12bbd76e496bdc10f7e3ba4072dbbf20a46bd54ee97bd0005883b1d9801bb1a9afdbccf7c50bd7bd1debafa5e9cba31791abd6e6b51bd2a44083cd6803f3a7751c8bc590706bd19fa1c3c0fe7653ba22b80bc304b80bc2b1c4a3cbdae7a3bc1b00cbb0dea83bbba1a223c7a10ccbd6086263ffc7b253ffb7bc8bd4094dcbd1f32243f34c6203fce67e1bd0f46b3bdb614113f42010b3f8ea1b8bdfb2e9cbd5f75f93e45fbe53e3bd09fbd7c0743bde373b83e6620a73e17865bbd1da242bd256c8f3e8b55743e778e4fbdc7530cbd091a303e91e8043e407913bd0c8ad9bcaf039d3d3d5f1a3d4b35c7bc58e2aabc73859b3b2692d7bc748a8fbc0d8957bc9b210b3ca6b311bdd50b10bca37cc2bbc6aca6bcad08aebd0955cb3bbb638bba1f0213bddcc7c9bd536ee63b4ee3d3ba75ca1abd2bb9b9bd4d96c93bc641ccbad94312bd248e98bdc44b833b537fd83aae2d0abd475a6fbd7a92fe3bf6ee063b58e2c7bc571523bd16bd523c8b09873ba5cf6ebc63e397bc7c68893c5de3593bdef54dbb4ecff4baf7ec3c3c2e8698bd64a7e43e647d5a3f2625fbbd778ea8bd21bbe03eb679573f90530ebe11ae8fbd14accd3e629e3b3f8e71f0bd58ed71bda16fb03e4c3e183f4c3ec0bd5f4b49bd580a903ee4a7e53e749097bdaba023bd506b543e768c9b3e254b6abd9dfeffbcc442093e533d2b3e5a0226bd6da4bdbc60e5803d55c4333dd759cbbcf56d91bc5847d43bde2911bd1837a4bc388204bc18728e3bd58660bd6d76a43afe1250b984ab87bc146eeabd4d40863c9cd10d3a8690d1bcec04e0bdd5b2d83bc62d4c3a7b4efbbce4ade0bdd2f0fc3b6b6cdc396660e4bcef72a8bd050d993b040d033b2cbce3bc3da989bdb5fb153cef8ce83aba70a7bc0abc24bddd26243c8b89973bc8d541bcb66ba2bc50828e3c4353953b563b2bbb835ab2b8db34743c412f42bd44457d3efefd863f1ffd0fbe14c74fbd12a8733e86dd853fa34322be955b33bd12276c3efbed603f4b14f5bd858724bda183543e5ab33a3f293cd0bd54d701bd06732e3e173c093f899897bd4f42e5bc6b52083eda54bc3e97c36cbd6459b5bc6330b23d28144b3eeb5916bdcc0c6dbc9ac22d3da82a2f3d97c893bca30045bc7e115b3bea395bbd99604bbccc2c9fba8c3214bb164bb2bd91172c3c89c4263ca1b74bbc12a71dbec457fc3cc446dc3bb0b9b5bcf9a91bbe25fe7d3c8470a03bd41ecfbc54df03bed1c6cf3b55288c3b81c9d0bc5ccccdbd5305243b2cf5713b25c0afbc5b419fbdbf14d93bc518853bb2c962bc238849bdf01c233c650cd43bb71864bb48038abc5f215d3cf158333b675ad8ba8949853b1b625c3c24639ebcfcc06c3db191a23f16f617be0fa399bcea755b3d4ed59a3f72dd1abef7b8a1bc8fec963d5695853f981ef1bd92398cbccacfa23d0ebd553fa838b3bdec358cbccba99e3deeb51e3f58c383bd363467bcbb9e783dd474d53e16ac38bd9ea438bccfc3273df6665b3e5cdcd5bc8c51c2bba37ca03cb3f7fc3cde9123bba9baafbb466470bb81b5aabd5be5debb000000000000000000000000000000003bd5fd3b637a6bbc626f0dbe4b89403c2b69033cab179bbcd5ba04bea2dea83b4ed6803ba26c9fbc4ad0ddbd34b78dbb1e72453b3318a3bc1dfdb3bd142e8cbb3ec80a3b6f0e87bcf81a89bd292612bb8491323b815436bc7ab635bd2886283b39c62a3bd76fe1bbb88b8fbc540aa63b0000000000000000000000000000000000000000000000000000803f000000001973873b6ec18abdf217a23faf76c1bd42152c3a8578fdbc2958863f16797fbdc4f1bbba94dd2abc9f52583f7a832ebd900ecaba39b911397834233f6606f8bc5c6db9ba71af343bd70ede3e6ac2a9bc93538db9b281d83acb1c713e14b323bc984bc33a27e0acbba095433d261a7cbb000000000000000000000000000000000000000000000000000000000000000071cd9ebb66cfabbd5a3909bd6b00893ccb66ccbb5f32b0bd48ac04bd577c893cddefc5bbf7ef99bd874605bd3d34703c685d02bc98c089bd9a57edbc356c663c370f07bc1fda6cbda84eafbce951303ca890f7bb53213bbd56c526bc2a97b53b624bd1bb9d6dedbc30bd97ba823d4c3b00000000000000000000000000000000000000000000803f000000000000000026fd4abd4495973f33f64bbd59d1cebaf8e6c0bca1ba7d3fa41f0cbd0fef11baeea51cbce4044f3fd687e1bc559da9ba87962fbbbc4f203f009ed7bccc7605baa660b3b92f3be43e1e3adcbcfd1db13aad4e0ebbe535883ec099eabc92b5893b6563dcbb69c8c03d38b402bd7232d43b00000000000000000000000000000000a44e84bc72937cbcb37d25bd2d43593c95f990bcecde9dbdaa963ebdec43ae3c3d7761bcd2c4a7bde47051bdb7a0a63cd5bb42bc28cf9cbd869c51bd9091ab3cbe2736bca0d281bdff6035bd8ffc963c319b3cbcbb1a5fbddd0014bdb46a913ccda200bc7ef42fbda96ab3bcb6ff473ca93383bb7263bbbc4382c1bbd54ac73bfad86735fcd51dbb462d3fbbbcbaee3b5b8fdabd892f983f5719b53d28ded2bcc601d6bd5a76913f222a923dbc73b8bc681997bd79c47b3f64798b3d37f79dbc8dc553bd07674e3f4c90623debc989bc333d14bdc5ad1e3f677e1e3da2184fbc801efabcd48fe33e9c20903c889b30bc2de5d8bc44f0883ee55800bb3bd493bb8c2ec9bc4c64c53de8daabbce533b13ab8acb0bc32a4c0bce18e13bd9b5b373bb6f4bebcc97d803c026d20bd9669e03b505fb6bcca90d3bcdbfa7fbdd509ab3c2abf59bce9a205bdb48580bdb7de823c6e6882bcd65938bd7a6d88bd2999b73cbe463abc07f00fbda5736dbdbc5c913cf9fe2cbc218814bdda5c50bd7fa2b03cf6b7e9bb44babdbc466514bdfb32883cfca09bbb220875bc6202b7bc3d66993c2e8dc8b6711daa3a882843bca784653cb40fe1bdc5447f3ff9b6853e4f5c44bd53b8f4bd14207c3f9600723e677d52bd9461aabddf98543ff28c553eaf5c2cbdafb598bdab53383ffe9a2c3e2bb11cbd902853bd12c30d3fe44bfd3da19eefbc3b1048bd4dc0d23e6544a23d746bc7bcfefa16bd7c8c843e5b7b1c3d844495bc81d913bdb167f13dbb72c5bbc49d1dbc57bbddbc1c09d03bc32709bdd0afadbbe539d7bc078b0c3dd87a1bbdb56204bb97f8c4bc2c4c8e3bb0178dbda4317e3c697897bce9f585bcc94d9ebd2a33943c9b2780bc8534b9bcbe919abdd410963cc23567bc01f8b8bc5d358ebdb6689d3cd2414bbc0b15b7bc96f379bdd571b43ce2ed14bc06889fbc4cc645bd8d81c03c8b75bfbb5bf239bc40040cbd9ae5c93caf8e5cba42998e3b5b17a0bce8d5953c7f12d0bd2f29513f1a59e13e73ca8abd428be6bdd2534e3f552ed23ee0f39abd3c7bbfbd42db373f9dbeb63e4e7085bd99979dbd0c901a3fc99e943ebd1f65bd71da84bda9daf73ef875613eb06f44bd729c60bdd577b83eb394173efe811ebdf28d42bd10c3733ed04c9a3d73c3eabc31e423bdd0a9f33dee3a5b3cdbcb96bcaab2f6bc3481d43cdc5603bded236abcc27ddcbca9121f3d87e109bd2e7831bcf909c8bc8c8b823ca0648cbd49e8f53b15ad9abc1204f6b976ab9bbdbbbde73b606e79bc4a412abc059fa6bd4259573cbeae36bc8dee58bb93e36dbde155013bc91f4ebc07ab61bc1a558abd7328a23c867223bc211842bc3c234cbdbe9aa33c4aaed3bbb418ffbbf6911bbdb69fde3cf09ee6ba28df573b9812b9bc7bf7ac3c156fb3bdbcb2213fc6e81e3f05ecabbdc733c3bd980d1e3fc6db163fc749bfbdadde9ebd86080d3fa30b013fa39fa0bd2e3693bd8a40f53ed3fad53e75d991bd1e8948bd99a6ba3e53539d3e9e5256bdeca55abd4801983edc16623e6f774dbdf8932cbdf3a14b3e6bb1f93dc6151abd2fe521bd6cdfde3d56010f3d9e3fe2bcd1edf3bcdb9e033d7867f5bcbf99a9bce6bec0bc2054003dbf030cbdee7847bc4f319ebc8215523cb3199fbdba39093c50fd81bc8547b1bad5f4bbbddc2d113c505a6dbc4703e6bb75beb7bdbda2513c70306abcb2ff21bcddceabbd4f1e613cfdee35bcf1a154bcfdda95bdfd51a33c51c513bc2a3e51bc642375bd03d4d63cdb0ccebb5d9903bcc39b2ebd75b7ff3c4aa33abb25f3b23a9278bfbc64b7b73c370890bd3b34e63e93214e3f6fd5c7bdccbb9ebd71c1e23e20a3463f86efe6bd16178bbd7d21d03e10432c3fbb2cc3bd78a072bd7a78b43e19cd0b3fc7c7a7bd481558bd94b9953e4d57d63eda4b8cbd4c373ebd81d6663e5840943e726d69bdc6172abd5e521f3eaa70283ecbb43abd24580dbd8089b23dcc76493dad2f00bd882ddfbc71eae83cb9e4fabc7d31c5bc71f388bc01e98b3c576f2dbdfe72b2bb34c145bc945f053b4a5fbebd8373423cbb2b2abc86a565bb8eafb2bd3beeea3aa0ca30bc44012abc6a3bc9bd6ae6073c55631ebc139733bc2231a7bdaedddf3b977126bcaad34ebcadaa9dbd9ff59f3c4600f0bb1e602cbc4f4d67bd6fe8953c2a6474bbcabd11bc8cdb2dbde19c013dfc13f0ba87ce07b9b27baabc3383d73cc2ae47bdf8188a3ee6447d3f04d6dabda5815cbd790d873ee1b3753f75cef8bda90d38bd3f077f3ebfaf4b3f758abdbdd46c34bdbc19663e1b942c3f6bafaebd899413bd26da3d3e2d45013ffbe78cbd110411bd2bda183e9fd3b53e136773bd1cb1e5bc9e5ece3d843f543ec6a238bdbcc0d1bc78d26d3d2a2e783d4c10f8bc14cb9fbc68a08a3c72f51ebddb8db9bc654becbb030763bac2c161bd5ebb98bbe7d0073b6b1a40bcb05af0bd6f97a73cc5ddcfbab1f66abc3dd7f7bdf8021a3c086966bb6b0f86bca78bdcbdf23f843b8c25cfbb7a8977bc144bbdbd58b97e3bb8ab9bbbe3cf72bcc685a7bdd00e4f3cb0c92cbb096c61bc13e482bd434aa43c7bfcad3a9a38e7bbf3c621bdf032ec3c544d12bb027092bb7ed08fbcfc0ac23cee29ccbc9f55c13d7f36973f2e7edabd972cb3bc6f8fc23d6f7a8f3ff56ae7bd0d6fc1bcf905d73d0f3c763f1fafb7bd4ed4acbc3151d03d662d473fd56592bdc61eafbc23c7b93d2834173f872173bdf79691bc9090903d6f2dd33e3e4150bd2a4881bce2b6493d2ef36f3eb62222bd0a882bbc6cdcce3c3dba823dbae9bbbc753d30bcba959f3a30595abd08e7babc00000000000000000000000000000000028faf3b7fbd8ebc7840bebdf47466bb6f2c6f3bb9eb81bc015abdbdb7318ebb56b830baafb77cbc2e9ca8bd60ec2abc09b81fbb2efc76bcb78092bd4d00febb22a760bb6a9e82bc03ba80bde1cf34bb89d254bba72f69bcfcc64ebd9952be3b71a6adbad8963bbc3f1605bd2f78433c0000000000000000000000000000000000000000000000000000803f000000004eb652baf1bc0ebded01973f058c83bd5d59fa39facf45bcf3fd7b3f06ab39bdf86c60bbf1f00e3ba8a34d3f85bc14bd148f98bb4f15e73bf5c61e3f7d1205bd5ce86fbbbff4d73baa40e13e4de8edbc7058f1ba0477863ab29b853e2e9ebbbc0ac87ebaed4303bce5bbb33dfc5cbebc0000000000000000000000000000000000000000000000000000000000000000dba07b3bd2cb12bbae9f00bd18c5453c4164b03b84e348bcf4e3edbc174d403c7c884e3b29ad5ebc55dbe3bcdb35203c0643d93acbea55bc7888e1bcecc21f3c28b725bab83682bca0edc7bc19c82f3c48b263bbec3c79bc5ff8a5bcf92d3b3c406b8cbbdb964abc363e92bc3238553c00000000000000000000000000000000000000000000803f0000000000000000053755bc08d1823f24808fbc214df3bb50b13dbb3ca75d3f26806fbc52848fbba793bc3a01f3363fc0695cbc8d62babb115f033bc91b113fb0af73bcebabb5bb2fce043ba09dd63e0c8097bc771a83bbfe5b8eba6f428b3e21d5b1bcb4ffe1bacbdaa5bb5002073eb93ae4bc8d6c21ba00000000000000000000000000000000255954bb0dbbe03c3198ecbc4bdbf33aa7d182bba6583b3c34ce1dbd127b393ccd522db931b0ca3a6ece29bddbc01e3c83f54939fabe6dbbc7c421bdaa5c273c768140b81c1f99bb426516bdbccf103c257d2cbbb4ff05bccb9111bd48443a3ce816c2bb335c00bcc9a902bd1ba8623cfc11a9bb5343acbb502bcabcce7c883ca874b0b9e34f853bdf1a9bbc59895d3c56b521bd8658833f4c18f23dd37eaebccbde19bd147c723f80afcf3dbf31a3bc1804bfbcc56a503fb9deb33d8a459cbc511384bca9272d3fa3568e3d5a778ebc9b4f37bcf236083f5af54b3d2aa87abc9a6039bc0a3acc3e8024e63c81dd60bc50a966bcd42e873e9ef1a63b6ad732bc9b4683bc65b5063e05d275bc63a9e1bbb32e50bc08037f3cf092e5bcec91d2bb99760ebca9f9173da72eb5bcc8311cbc4e0f06bc92f2013df91416bdba3936bae38a21bbf901953cb2e505bd0033dabb7cb286bbd880463cadf627bda75a253af971d5ba49172b3c2be914bdbd2d2bbaf62a6bbb2c37de3b252224bdd7c1f63b0b0fbcba8f83a23bb7ccfebc78d96a3ba48c84bb9109d63b1f8efbbc2a58813c217a013a9ee1363cc5aaacbcbbb8423c0f643ebdf3c55e3f94bb873e758000bd251554bdd20b513fee0e723e981012bd5ca500bd91ef2f3fcb3a503ec699f3bca23ef6bc6f6d183f67cc293ee9f5f2bc081ab9bcb386ef3e2714013e2ddbd1bc3bb9bcbc1081b83ed49bad3d507ec0bc292194bc6e3c743ec179493dc1539cbc157fb0bcffb4073e6737d63b541c8ebc0a9787bc675bdf3c6a21b0bc89ec67bcb1d73dbc25322a3d47ca77bcec18b3bc703f4dbc16eb1b3d36c3fbbc34b264bcf53d00bcd692ea3c83851fbdfa582ebca9b0cabbaa6ab43c5b4224bd6c310bbc0a0ba0bbaf51963ca71423bdd577cebba7f090bb4f0a5c3ca29222bdae7600ba86c7b8bbd4a73e3cd7891bbd5040aa3be2b562bbc29a443c53da07bdd8273e3c5274603ab300813c2c63b8bc93fdcb3b13453fbd3624383f9cdbd33ed4b926bdda5159bdb6892c3fc44cc03e4f7239bdcc512fbd2c77173f12bba53e58022cbd60cd13bdf6f4ff3e1059883e94c71ebdf9adf9bc8cb2ce3e9ca3533e1f8212bdcf40edbcca8f9e3e4393153e376a06bdea8ddcbc55705c3e1b45b43d25fff3bc0d55d0bcbd70fd3ddbbaf03c5966cbbc1f4e92bcb2600d3dc14376bc6527adbcd26a5fbc0bea1e3d565211bc429dffbce28869bcbe531b3d8e7bc0bcf7ebd5bc7a1a2dbc64c8f33cb8b8e8bcfe7ebebcb2b406bc1d49c93cf29f12bd6af8a7bc8b1793bbc16ea73ccf29e4bc6313a8bc5f7201bcfa04873ca3b717bdba6127bc0d56b8bb4735743c2e1d0cbd87ec80bba1f3c2bb5ec3693cea8e05bdf427e13ba6d293b9a9b6793cf93fb8bc3ffc7b3a431d3bbdfdce113fefe80f3fcffe3bbd5dcf4dbdd5c8073f07a9033f777f53bdb31d22bdcfd0ec3e998de03e69e13cbda66216bd52b1cc3eadc5bb3e799e34bdee23d0bc905ca03eaaff8f3e4a1c16bd3974fabcbade813e50f5553ecb1220bd6249ddbc0c06343e1d65053ebec907bdaaadd8bc74b0d83dc5485a3d2ba403bd9b42a9bc6af40f3d9f6b0bbcfabcc9bc22e186bcb2cd083db8b7a0bb880515bddd9490bc7c64063dd1b0b5bc7dcaffbc29f652bcd00cd43cb6c7f4bce460ebbc477e3dbc0897b03c80360fbd7931cabcaa173cbc2c54973c59720fbdb3c2b2bc497b29bc73665c3ce34119bd6d514bbc2db014bcd8c42e3c7b5014bd5b83adbbcf241bbc9dd81c3cc22e04bd0fd79a3b16866cbb8084503cf53ea8bcc46d26ba4aec27bd5ee4d63e55e3363f1e364bbd8b863dbda9f3c83eafca283f0e126abda7fe23bdca3bb33ea16b113f417756bdc63511bd5afb993eac73f03e73fc44bd536004bd7b8c7d3e5b3dbc3edd8136bd65ec00bda324463e2b67893e29242dbd2e37fabc48730d3e50172e3e3ac921bd4825debc5889a93d3b9d993d87c210bd7b1dadbc77b4ea3c59e5b8bb3261e9bc1ab082bc5d2cb93cc89038bb2d6c12bd70678abc2de1a93c57d1a2bc48f60ebd908718bcde9a823c03c2bbbc1d700dbd2cc261bc1930783ccda206bd3afbf0bc725536bcb719483c7c8efcbc7a88cebc30cb53bc13a7083c6c9914bd18718dbca4782dbc03caba3b0254f1bc549a3fbc71c856bc841b803bcc2409bdfd8d853b2f51ecbbb8f4cd3b2960a4bc239fe73ae7db07bda8868a3ea1cf5d3f5a934abd62c316bde77d813e779c4d3f06d365bdf557ebbc4914673eaa0a2c3f5b1a37bd7b82fabcd4a44c3ee1c2113f7b9940bd48b3cdbc0c7c263e9193e13ef03026bd191fdfbce083053eea6ba73eb5e828bd99e6b1bc1eeeb83d5a55553e0d6c16bdb9ebd2bc3a39663dcc9fbc3da64112bdc8d799bc5cc9973cde5ebebbe123edbc05dc5cbc0066273c93b0afbad89520bda65c3bbc2553bd3b789ac6bc9e5a01bdd87e25bc63dd023cefd201bdf8a109bda6b52cbc9613ae3b4c5c05bd581104bd066b40bca6b28d3bdf0501bdc2f4eabc692661bc09a84e395fc90fbd2fb398bccafd5ebc455b46bb21e40ebd48032ebc54a56ebca42adcbb466102bde5ec863bd11b38bcc0c2c2ba41409ebca52e31b99dc3b6bcd946fc3ddc96823fab5b34bd7f51aebcd26ded3dd657703f2f5a41bda99ba6bcdff5e53d299a4d3f4ca823bde6539bbcab37cb3daddb283f419716bdb3519bbc6002aa3dd7dc033f91df0cbdff03a6bc6bd9853dbcd8c13ed79813bdba7b9fbc30cd3a3d892c773e65810dbd5fa79cbc8d62bc3c1c96da3de50d07bd70e58abc10a8c93b8e84f9bbb10ff7bc00000000000000000000000000000000af79c2bba7eadcba2c1376bc8a7907bdd3cdabbb64a294bada86afbc415fe3bc2152e3bb8229b3b9bf90b9bcc2c4f1bc6b28e7bbb885d0baaba1c1bcfee4cebc4f691abc569074bb3627c6bc2500a7bcf2271ebc763017bc5f01bbbce69642bcb5564ebc446a1cbc2daebbbc6cdfcabb0000000000000000000000000000000000000000000000000000803f0000000007daf6bb8106e2bb3646823f6d18c8bcb247d2bb69189f3ab6005c3f716398bc092e05bc8d22bd3bf6ff353ff59690bcd25422bc5b2dfa3bb81d0f3f7f6497bc3f481cbcf0f8a83be1b4d33e036ca2bc2c302ebc5997143a6f89873e8fbdaabc8cd43abc12a349bb4d9dfd3d358fc8bc00000000000000000000000000000000000000000000000000000000000000006c6d9e3ccd804dbebc2afa3c792a72b9fad46b3cda9b4cbe254ee63ca11a303b4d620e3cb1ec3cbeec52683cd6eeda3b82c0d53b5d3c1abe010f1d3c1695de3bb637813b80dbe2bdc2750a3c49258c3bd73e8d3b0f2177bdb832193b9e5a5d3bd87afb3af55b29bc15b0eeba631d853b00000000000000000000000000000000000000000000803f000000000000000055d1d2bdbdf2aa3fc4cafabd759d773c966076bde3138e3fc251b4bdaca3103cc1be1cbdaf386c3f2e518dbd68dabf3b1590afbcf4c7313fe4ac59bd4fa3c53bd8109abb49ade93e4fdf08bddfff523b2df4ec3b0d9a6a3ef1a92dbc4c987b3afd29533cc51f373c150b913ba63597ba00000000000000000000000000000000a1c5b13b0f36ccbd3496333cfacfc63a4433a03cbc7e30bebfd4063d1aa241ba425c843cb0c64abe5f49913c34dae03b934d833c44b042bea99c193c6e68223c763a593c43f121bec0a89e3ba894093c95cd673ce2ffecbdf3ee1f3a49c1143c22ad4d3cb02c85bda91486bb69ea153ca6351d3c6a2e8abc356718bc912fe73b25001f3c19ca443c2d11683a8ebf823b8d443ebe106aab3fad4b7e3c9e0883bc6cf322bebae39c3f88b1483c34fe91bca2440abe30848f3f1898b93b036872bc3035d9bd9b626e3f7217413b960832bc132299bd92e3343f0f8d933b9d6700bc003549bd5acef03eae92183c2458f2bb0c24ccbc7118763e81933f3cf503c5bb85d40bbb4e102b3dbd04d83c8e2d05bc60bfc4ba0fa6d8bd083d553be4f02dbbec573cbc50d530bd1b7622bcdca3a23bb4b11b3b9a4600be4d0a8cbce349503c9655f63b70a81ebe5348bcbcc7bc803c5f013f3cdbc120be593bbfbcc53b843c350f403cf74302beec9bccbc2ec6793c17dc733cd643d3bdd03084bc2c1c5e3c0a187e3c25427dbd2ee02abc38153c3c645c833c2e41cebcfc5482bb4879073cc12f5b3cb639ec3a3ad04a3b5759ab3b386e35be63228e3fd237693eb8d96abddcfd3cbe66618f3f48f4443ef35357bdb52d23be308e813fec1f243e0f392dbd279b08be01945b3f69c3003e83190fbdd8e7ccbdd7bc273f54edbe3d03d2c6bc68809cbd34ffe83e3d74753d481c92bcadb742bdf2427d3e652b053d24a12cbcf04ccebc0057953dfca7f13b510989bb837a87bc78a932bdc4bb86bc67c26f394ff9b7bc95a6c6bb57b520bd0f781d3c4ae7a8bb2f38a6bd3dfd72bdc8aabd3c728ff93a7b4fe7bdd91683bd2ebedd3c95badb3be136f1bdbf026cbd4495bd3c43ff323c1e3adcbd784c52bd5e0caa3c07f86e3c8343acbdbd950bbd7c0e983c1ae0893cc38164bd02bc9fbce9f2773c8196943c2c5adabc27f92cbb08f72d3cfc10713c5e87a9bb2960e43bed55cc3b71d127bed1436b3fab5ce73e9095c7bd2b5234be809c6c3fdd1dd63e607fccbd4bb020be38ed593f0c75b43e5b28adbd7f5507be55073a3f2c318d3e17567dbd207dddbd7510143fde0b4e3e68a43bbde4b9a7bd2120d13ec371ff3d77e7f5bcdc4372bd2a60763e09706c3dcaee86bc051718bd0e49b83d9e4fa4bafaa8f9ba13e0dfbcc35a39bc3bd434bd8468a93b24dfd5bc63a07b3c63777dbd8a87853c7cf03dbc049b21bdee9dccbdeade033d090e99bbd5088bbde593d6bd69d1fe3c72a55a3b9dbea9bd519bc8bdb7d9fa3c6f84303bd03d82bda96896bd8dd7a23cd0d01e3ca45c89bd21e559bd8880b13c22636e3cfa7e32bd1b1cd1bc23fa783cd9586d3ce381c7bcca36a2bb94d92f3c4696603c77c7c7bbf0ee133c1c0c133cfe190abe538c303f62ed2f3fcc150dbe043b13be32ab323fac45273f1f9d0ebe822603befa22253fcfcc0e3ff0b8e5bd9560edbded9e123f5868e33e6c91babd6220b0bd92d8e23e9eefa23ef49b79bde8faa1bd3834b23e01744a3eb9392abde5856cbd8a395a3eee64ad3d5ace8ebca91925bd25d5cc3d813e16bca58a703b279edabca7dc323c0c8087bde833043c550cb5bcc53af23cdb32aabd8472b13cfa591fbc37dd36bc2c4511be7cba313d5f38f5b97c5022bd2f3319be3714313dcb5d4c3bff5e4bbd2f9708be6bf3143dc038c93b88e35bbd3d6edebd9c81043d100c273ccf3c43bd079391bd8f1ac33cf1d2313cd93610bd3ca020bd22378c3c0a764b3cc8e4a6bcf6e1f2bbefb2213ca724383c5e00cebbe2372e3c005f163cac80c5bded61e83ec0136b3fb1e12abe28e2d5bd9d46ec3e7d6b623f73da2fbe0f24ccbda75ee33eb9bd443fed6215be65a1b4bdab1ecb3e42dc1b3f0a85e2bd9ed49ebd0aadae3ed464e23ed536a6bd9e4085bd6128873e4f038a3e31d740bdb25243bde66a383e9ecee83df47769bc1c890cbd8170c43d759523bc320d183c70cdc7bc7133c23c80aeb2bd78ed423cecf265bcf9920e3dd7f9d4bd2045023d3a95e2bb5f12373c30cb32beeef0553d930cbd3a80dc4ebcb41a3cbee957403dff54593bc6f4c1bc11702cbedcad2f3de2e8a93bc36fdabcd0d305be6edfee3cc450d03bb70af1bc5edfbcbdff62d73ccdef053cb00db4bc0cb439bd773b853c5cb4083cc5f686bcfd6af0bbd18bc53b68c7003cb07c5abbdab9823ca3db823b28cf5fbd182d693e1d208e3fe94637beefc573bd2b8e6d3ee8508b3f00bc41beafe46abdaa6c6f3ebb7a733f9d7020bec0c85dbdbe8c653ec1bc443f78b6fbbd865141bddd454c3e2a060e3f5811abbdbcf82cbda1b92e3ebe2fb13e95d346bd86680bbd1505013e2c481a3e92cf84bc0309d3bcfe42a63d428f3ebc6e878c3c6e1983bc451dee3cfe8ddabd995bcd3c87c294bb8a37dc3cc41a0bbe1a38233df7b077bac32adc3c82044cbeb823723d6bb6823bc60dc63bc0cc5bbe6910533db6c2ca3b2bf09cbb4fa44abedb1b303d0caed43b8de71abc1d4f21be7ab5043d26a1a13bdacd3cbcf4cdddbd94c8b83ce118973b148d25bc9ec561bd8ace393c146d513be88cf4bb73a1d4bb103225bba309393b4382cbbada30b33c9149cd3aafa562bc6a27773c5168ab3fff993fbeecfc9ebc245a213d40239b3fe2802abee891b6bc25b26b3d7d5f8b3f0f7514be7b67b3bc63f9913d465c623ff99ce5bdf1919cbc1a359a3d8fcc263f77699dbd577587bc9bea9a3d6a11d33eb5632cbd7fb26bbc47c2883d95073d3eaccf00bc35c429bc4c65693d91ac76bba416f43cf5aaa6bb2bd2a63c460e12be34de003d00000000000000000000000000000000e780f33b18a2ef3ba7664cbea4a21d3d3bc90b3c828f1b3b7d174abeb3ff073dfc7ed43b201c03bb9d8a39be9b2cc33ca41cdb3b3c42b3bb39541abef97b913c36f08a3bf00da9bba0aed7bd1331423ceb413d3bad2b10bb98b769bd086da43b3229a838876a0d3adfcb2abc2cd8bcba0000000000000000000000000000000000000000000000000000803f00000000d4c42f3cce3fd4bd471cab3fbf6bf3bdf62db03baad065bdcdf48d3f44f6a6bd8da48c3bebfd0bbdcc7c6b3f1e4385bd60c8a43a3e9071bc9667313ff92b3ebd9ccd343be5958bba9722e83e2b53e1bce2ef9c3beb6bf13b6dd4653e94d0e1ba7cea9c3b790d133c57fb1d3cc76a5c3c000000000000000000000000000000000000000000000000000000000000000030c02f3c0d9837bee49cf83ca53d19bb2dad253c8d8d3fbe175d0a3d26501fbb71b0eb3b0bac30be9e94c23c2fd03239139fef3b4a0c19be4d2cb33c84716639053ccf3b22d9ecbd3f2ea43ccd43c0ba66ebf83b455a91bd2ecb883c9e3bc0bab842f93b49b6e6bcb445423c24f127bb00000000000000000000000000000000000000000000803f00000000000000005b46bbbd0d80a73f1de2e5bdd2c6113cafe25abdd17e8c3f55a3b2bd6374df3b42fd18bd4b38693fbf469abd2767d23b266abfbc288c323f835c81bd883fa23b6b1555bc7748f43eee634abd2cd5a03bc6dd70bb5ee7803e3ec0d8bca03e2d3bb571f1396a6e133d726b02bc476422b70000000000000000000000000000000053388bbc76227bbd2f1558bce438083c27e5513a78ed1cbe2823ae3c5b1a523ba7f0193b90952ebec45b533c443beb3b38931a3b12842abe9d95163cd181e63b6b8bb03b4f5013bea0b20f3c7d49ba3b30a82b3cb5c9e7bddaa5503c71888a3bb231423c1ac894bde9dc073c9404823bdeae773c7591cabc250e8b3b7bf1003b9c16583c1f8512bb6bb0263ca18b77bae8eb21be89afa73f8e8da83c93435bbc253818be8ead9e3f40420d39942748bc259f01bee0af8e3f20552dbc3cc920bcbb49d1bda6376f3f23aa9bbc9e8b84bbb24da7bdece3393fb224d6bcb5f2eeb9ef4285bd7827013fa9e5f2bc69afbd3a7a5a3fbd38df903e7c3cc3bc91a9053b30bee5bcd70c8f3da74be7bbaa82153be9f9eabc48dd82bdc1f1c6bcd2c2c33bee6e21bd48c40b3c5be145bd2679993c39d1dbbc538b8cbd9f9041bd5a0ac13ce53697bce71fc3bd35b23fbd81eab03c4f482cbc9fdbe9bd5b4e10bd31dea43cf7f1bdbb2ad0c6bd932900bd03da8d3c0e5d953b13b8b5bd69dd89bc8ad1633c4ed4f83bee1f71bddb5a11bc39bf283c4d15653c60aa08bd86418c3beb1cc93ba073823c5373e8bb7d67f63bc0c14b3bc0cd18be461c8b3f7fc8613e9db437bd332526be52e28c3fd2352e3e4b6e19bdf09b0ebec5727d3f2b11073e6960e2bce0ab04bea1a65d3ffa8fa83d97c896bcbad3debdf2f92e3f9a61343d5513febbe183c2bd50b9013f3210a03b285998ba7be29abde88ea13e41ecacbccd849c3bc71f76bddae90b3e21542ebdc7de2f3c47c351bd1fbc3a3c132d76bddb3a4c3c062a59bdd6c5723decf7b0bdf03aef3c53962abd86ec0dbc3cddcfbdab00203dee56fbbcf7f644bdefe7c1bd2d89193dc802aabcf9947cbd8a50a7bdf332083d07aa5fbcf28885bd14368ebd8c70f53cc95311bbe1fb75bd44f633bd5bf3b83c3d3a453b1a953cbda834cabcd9fc8f3c015b243c601eeabc76a592bb8a27223cb4913c3c1b9329bc622b493bfb8e143c47460cbe7adc633f35a7db3e4bce9abd984916beaa40673fa16dc13eaf1491bd36e50cbeb007583f0680993e037b5cbd057c01be89f23c3ff2525d3e0c2c17bdbcbfeabddbb91d3f29510b3ecf1dabbc883bd0bd1de2ee3e23f96e3d3484ecbb523db6bdcf05a13e527ae7bbf491ba3bc57297bdac132d3e57177bbd7b84943c23767fbd72ac733d5ed5b7bdafa59e3c80c961bd5696a63d94addfbd5f74163d47c243bd8d620a3d692312be75e3543d7bda14bde728e33a71b00abe966c3e3dc84fe6bc34feb4bc627901bed0173f3d65f0aabc7c1a68bc2e37c7bdf33d063d223b2abce38909bdc57e97bde15c073dade12ebb48dec8bc346730bdca3db93c5ceda23b04e491bc07cf66bc65666a3c9469233c7193acbb05f88fbbe8cb6f3cbd97debd36f22a3f5588263fadf3dcbd4c05f1bd98a02e3f5ba1183f66acd2bdf926e2bd4089243fd601fb3e3e40a4bda3f2e1bd0550173f5f64be3ef70274bd6677b8bda41bf13ecf39843e059622bdbce6c0bdc5afcd3ee8ec043ef78682bc4581a4bde24d8f3e7722e53c045c5c3ab78e92bd6e0c313e6f9380bd01cda93c25187bbd0519a33d7b24e3bd7c08b63cc78547bd1a75a83d2cc5fabdc6ae2b3d547322bdc099523d869336be6b7f853df3ecf9bc997a983ceb3433be9e1d793d10bbc6bc0c7e253b5d2f20be3ef45a3d785199bcef7312bc6d2d07be0448453d76b129bc6d9872bccb29b9bd29930f3d3fe413bbb6ff6fbc500e60bdfe75dd3c6ee1263b029f2cbc641e9abc2426813c4e09b63b1b1f11bb89e238bb2c0c803c50e0a0bde2b1e43e34145f3f37eb07bee34fb2bd9c06eb3e4827533f57e509beeba7b1bd4be0e73e2def313f336fe0bde8f5a9bd956bd63e1039093f37e4a3bd9612a5bd9dcbbe3ec286bf3e05e95abd0b5696bd1ec69c3e144a593ed5d1cdbc677c8bbd9fa16d3e3342833da653aab87efa71bd35c31c3e858a77bdd699d63c685351bd3e439e3d331ffbbd1190c93cbab003bd5d7c8c3df6780bbe3c57583d6b3ccfbceb9b4b3d43e050bec37d903dc129a5bc3b31e03c37df48beb942803d989b88bc8f177d3cb2b03ebefaba733ddbf062bc3634183cdd6b15be1d053a3db90703bc88fef43861c5e2bdfeeb1c3d9ea875bb1fdd07bb18ba86bde5c3db3c3d232f3a8b550fbb879f9fbcba88433c7373673bc9155a3b9f92863a8030403c406437bd87cf703ec998893f732e1abe8d7a53bd18f1743e2835853f37ee1ebe98de54bde6cf803e8560603f2ecffdbd63ac53bd427c7b3e91a4333f84fac5bddd5b44bdca78633e72f8ff3e119d82bd727d3cbd9592483e00379a3edbe800bde6842ebd5e8a1e3e2c2cf83dc478abbbad0120bd1c4eea3d669348bd19ebf83cf1d901bdf8fc7d3d03970cbeca7a0d3d2c4445bc0bf7153d0f2615be1c644c3d82430cbcdb15273d390262beaae09b3d941be7bb316ac83c288963beb443833d9de5c1bbef12873cee684fbe65c46a3d9b7d88bb4ad7303cade52abe34333e3dc4bf27bb2d14043cbf9af6bd29aa133d815036bbfdd3c93b76878bbdb249a33c8545403a6064ec3b0f1f4ebca2cc393bb049e338f3e9d43ba9f4da3bc4ee093c4afd4dbc7459f33cee5ba73ffea526be9578a6bc2d89413d6e679a3f05821ebe6c75a0bc3fe4903df375863ff21502be3138a3bcea28ab3d5d66583f9e7ccdbd04e395bc81a8b03d30281f3fd5798fbdc2df8bbcc064a93db95cc83e930623bdcf4e74bce81e993dd8682c3e69e767bb073c5bbc2bd57e3d4f900bbd34b7123d0eea30bcfae6fd3cc48f19be8649033d0000000000000000000000000000000026dc043c436e1c3b3bd337bee1c31f3d1424b03bb922873a638a3abeb8851d3dc5b9743b8b76c2badbfb29beef99f33c1b891f3baa0bddb959ce11bee66ed13cf0b5c3394195c93a6bb8dabd71cda03c48a1e03afd845a3b8bd981bd23f94e3ce6fd86baacac953beb0ba0bc6c6bc43b0000000000000000000000000000000000000000000000000000803f00000000cbf0073c90b9b8bd922ea73f0784e4bdad79813b291246bd24298b3f3626a8bd07c5be3ba368f6bc1f2a663f180e8fbd187aaf3b266f82bcd3452f3fe51063bdfec6d13b14b107bce2e7eb3e72ed18bd4672e33b6fbd38bbe41e743e00a378bcc14d103c428da9ba0304ce3cced0803b000000000000000000000000000000000000000000000000000000000000000029160ebc72a6a3bd2dd583bc6282a93b2173e7bb90d3c1bd51c41fbcfa92333be59ec9bb69fbaebdc8f281bc6d069f3bcb1a7fbbd1d2a2bdd9145cbc06354f3bb3b30ebbff1b90bd7e5ae8bb03511c3ba70d52baa87d76bdf306aa3b2d4bdeba92b6883b7c7634bd9de2493c7f2b92bb00000000000000000000000000000000000000000000803f00000000000000002d1648bd5c6b963f0f788bbd1a29043c1315e1bc62087f3f205262bd65ba133ca05694bcd984533f98af4bbd2291103ccc117ebcef5d263f145444bd6ed8273c1d896abcd6cbf13ee6763abdc87b073cd6b06abce9e7943ee02a25bd60bcd03bcae79cbce507f23d56b81fbd757def3b00000000000000000000000000000000387106bde770313c373157bd1432913c9e9105bdb7886bbd1aa41abd89793b3c5a33d1bc1cb08fbd48ca2dbd89246e3c5493a9bc65918dbd3f0f2dbd6e84563c95af77bc7e2b7fbd6fbb18bd98ca603ccd4235bccc6e6dbd77c5dabcf915243cd54a7fbbb09740bd37006dbca494db3b6c9f743bbdd0ffbc83b12a3bc231383aadd7ca3b079d24bc0a8ce33a6d944d3b9d94c5bd1526963f4c9b8b3dac3d53bcecccb9bd94de8f3fab272e3d2cf0c6bba8bd9cbddd247e3fd11bfb3c7ac26fbb0e3684bdbcbe543f19df673c2c4a743a8d086dbd6f24293fc722c6ba8f810c3bcb2c5fbdc4e6fa3e77c59bbccfdead3b40de5cbdb552a23e7b8e13bdaa93e93b3c945bbd94ee133e9b4a38bd61290a3c61c93fbdc2dfa13cf4f366bd699e273c173d45bd19ac6c3d1ad395bd24ecc23c586652bd919fa23c48ffb8bdc68cf83cede50fbd6a8a6e3bc608b0bdbe4ae23c732614bd8f9860bc6cc8b2bd3251f03ca9dbcdbc479562bc481c99bdcfb3cf3c2cec9abce948a3bc3e4382bd15b2c43ca3ab47bc3ab83cbc89ac46bd7cfaa93cf82787bba60f2dbc8ed9e9bc44e75c3ca198d23a062ab33b462090bcedd7663c0209cabd96387c3f2842713e6f430abd7351d4bd7d45793f029b463ef63ee7bc412fb6bde4a8583fa12e243e12a8a8bc2041acbdf130403f943aeb3da3cc48bc29b89dbd4a561a3f3b65933ddd4108bcfc3da0bd2f16f13ecf3fd43cfd1b29b9a4798fbd90b3a33e81a1f1bbe00bca3a1aae93bd40943f3e812454bd56e54e3cf7bc7cbd1db1853d16b086bd75e3133c723167bd044bb83dd3fdbebdf594ed3c703f6abd2ad1833d7c66f7bd5852273dc9e34fbdd8a3133de521fcbd3205243d85dc28bd8252bf3cd312eebde8d51b3d970d0ebdbe91923c3631e0bda765203d1aaddbbccba30a3c5e2dbabd5ea3093d6e799dbc5c86b93b851791bdf207f93c153e2abc6585d73bf62446bd4f50cf3c6b4545bbdb758b3cb67d18bdb46aca3cb65abdbdde0e4e3fa01ed33ee8df5abdf158c3bd36d94a3fcbb3bb3e5d674ebd6110b9bd1f8c3a3f489f9b3eb5401bbdbb7fb2bd6975223ff7016e3e4c0be7bc4026aebda441083fb28e243ef3b4a4bce782a5bda841d83e8ac0b83d646d23bcd193a4bd18249e3e7784b43c479a19bba0bb9fbd3daa4a3e77f226bd2fa00f3cc3bb84bd71dfbc3d5c2998bd3182d33b205371bd5696c43d7f05cbbdafe3f53c9d2070bd7a00ab3dae910dbed9bd383dfe2144bd8aa8713db8c509be704d273d76ca3bbd135b3c3d550c11be2624423d64cb04bdb8c5273da04ddebdd9d4093d19e407bd58d6e03c0e8ee8bdcd6d363dc31caabc8cd4ae3c472ab1bd4845153d2ddb66bc3a3f963c225d89bd2e560c3d4fbae5bb0f92d83c761e49bdf7e9093dc3539dbd61a01e3f7c1b183fb1b090bd2164a5bd2f991b3f57630b3fe62d8cbd4df49bbd22690e3ff169e93eaea164bdefd39fbd23c4013f9296ba3e24db37bdd0da8bbd3ddccf3e010e873ee82610bdb4349dbd0150b63e4f79283e7738c1bce13192bde98f863e130d953db2394dbc162796bd6e4c3b3eb58699bc91b4323b665d81bd6d52c53dfac992bd46514b3897974dbd8f92b33d3a1dcdbd4af4ed3cf56d58bd4a5aa43d0dbc1bbe35a6503d136043bd6a987d3d577422be95be463d8f8a2ebd4b8a4b3dc01f1cbe89953f3d45bb1cbdf4972e3d69ac12be8aab443dbbc303bd24f9033d81c4f7bd038f323d4e2dccbc75c9d63cab84cdbd9a732e3d0abc8bbc6464b33c44b195bd1c481c3dfe591bbcc121d83c576559bdef95123d02c970bd73a0de3ed427483fc617afbd46fb78bdf481da3e1c383c3fa2bdb5bd8d9271bded92cf3e5d5d203f8feb91bd7f2972bdf6cfbc3ea5ebff3e036d6abdd1537dbd256aa63e6a58be3ede4e38bd2c8b74bd52858a3eecda753e3fd4f0bcb95475bdcbc6563ef7eef03d25c790bc859870bda92e193ed20d333a678106bb8fb55fbd7e8faf3df18f8fbd76bbb9ba33f81ebdc1df873dd2c6d1bd6532073d554c1bbde1217f3d413624be6d3a573dab3c07bd277f473dacd619be65cb2a3dad940dbd0e7a2d3d15dd22bebd3a3d3dce70febc991f0e3d4be20cbe19c3253d0e25e3bc8d81f43c429101bef91c2d3d3fceacbce8dbcc3c9b74c5bdaccb173d9f3d5dbcebf69e3c3ecb90bda902163d62b009bca809b13ca78f42bdd4a40e3df7cf0cbd4fd6803e28d2773fc56ec0bd1aa40abdae3b7c3e3a956d3f48b3d3bdda8d18bd27ef783e693a463fec9ba3bd850c18bd9e0c6a3e9935243f5f328bbd68fa13bd32da4f3e0b65f43eef7c55bddfad23bdc880323e0077a53eb52c17bdfe8323bd8de90b3e71f2323e02b6c0bcd36318bde676ca3d44d1d73cb62a8dbb40a913bdda7f6a3dc1878fbd37bd11bad2a2a7bc47baf23ccf13c2bd172abc3c384f6cbcc271f83ce39c27be43d54f3db52f93bcd14bd23c494a2abe2c8e283dc2409fbcaacbb63c73a720be10201b3d0dc0adbcf939ac3c233510bec9cb093d660f9cbc77d4993cd934fabd0e47123d875c66bc96ef8c3c9d02c1bd0653053d4a77c9bbf9837c3c09136fbdbaebf13c43b6f8bbbb6a673cd8fd23bdc52ef43cb1dc34bcfe7b9e3d9959953f6f84c9bd7a4815bcefd49d3d3eef8c3f0e43d1bd920b3cbc1d4cba3dd014723f3ba4aabda29552bc1d2fbe3d0ca3443f2eed8bbd4e896cbc6dfcb23d0fc8153ff1325abd6e334abc223b983da854cf3e6c1b30bd6fbe6bbcc6f56b3dcf30633e7090d6bcb4ec32bce9dd163d2bd13f3de24ad7bbf5b4a0bcd713b13cf8ee84bdaa270cbc00000000000000000000000000000000552bd5ba984839bb2179e0bdc352433c192645bb19be6aba40e6efbdf4546b3c281702bc9acdaf3a5f4addbdd2d10b3cf59b26bc89e4d73a49e2cabdc49d133c979a24bcfffb283aa920abbd051d233c00f7e0bb707bf03a41ac88bd7834523cba4af7bb10df4a3b75b83fbdbb2d713c0000000000000000000000000000000000000000000000000000803f00000000eb161c3cca964cbdd73a963f1d5e88bd5ccb063c0045c9bcabf67c3f82d14dbde161b03b7a014cbc5e25503f078631bdfe2ea63bf0b3d0bbb038223f060c17bd9eed683b1ed69bbb2ad0e73ea43408bd04fd9f3bc485febb2bdf8a3e83e7bebc1580603ba72b40bcd6c9c53df9f897bc0000000000000000000000000000000000000000000000000000000000000000c097053db5445cbe6673563deed0b6bb8143b73c28b24fbec1e61b3d695310bb4795563ce33447be39aff23c8799783a7a4b323c242c21be6f12aa3cb968d63a2de25d3b7604d4bda9381c3c5ebffe39e1d649bba81854bdafc2c339eca112bade1267bb3b469ebb439a90bbefcc92b800000000000000000000000000000000000000000000803f000000000000000042dcffbd3adbab3fddb203beed119c3cfb199dbd37ac8d3f41c5a7bd28583c3c5a3b7bbd7cbd6e3fc1da8ebdb8fb663c5fea1abd144c313f8c1b3cbd7f5b313cd2e745bc3c36df3ed85d87bc3927e43b4d6e163cb03d593e502be53bdba1953bb511da3c2f9551bc8791f43c38cfebba000000000000000000000000000000009c98883c1656dbbd1977083de19684ba5c8daf3cf66910bea78a073d15bcf3babc37b03c7a1a43bee0e8ff3ccc1daf3be496b53cbe5b3fbe8202c83c5b7ad93b50d78b3cb5961dbe3d0b943c85b3c53b6365793c23c8e1bd5a5e043cea3ce63b123f463c8ad16bbdb2306c3a14c6cd3b22cbe33bf1dc97bc77ec89bb1a17b73bae24403ca150603c30674b3ab92f9d3aa92a4cbe7177ab3fc48f81bbe5a814bca55222bee0f3963f3a07993cf8323ebcf88322be4561903f104043bc760097bbd6cd08be268c713fae9b1abccc4f70bb37a2d1bd59b7373fbb0f4cbbc7257838819c8abdb118f43e8d94e23b55bf04bbcbd518bd988e753e7f19b43c77e1aabb8412cebb7139883d650fcb3c077107bc2528e93b04ffe9bdbb59db3c31e118bcf3642fbce5cfd3bc60b75f3b9d2e603beff0163b2406e7bd6269083c8d00163c15f81d3c9f5d1bbeb42e1e3cbda23a3ce1e4553c507524be6c732d3c8305303c07af833c46870bbe7f65163cf0371c3c3f07b23c7542d6bd21c5023c0254263cf9f3a13c401071bd09769a3badb2ed3b25fea53c8818bfbc8434be3b9384f83b56c6a43c965193bae1240e3c57c6813b57be32be4e538b3f2341543ee98258bd468d49be5ad78e3ff605263e3dc530bd18b13dbecf91853f439fe63daa25f6bcb3a929befae4653feb50a23d3628abbc05b20bbea1a3333fe8a35c3ddb2382bc7c8adbbdc1eff63e6e922c3db54b54bcc1fe8cbd74a7863e9d59eb3c1f5834bccd6d1cbd9e23ae3d014b543c4f6332bcae92cebcc9dcc2bc4ce480bbb5252cbce984ebbceca41b3cc165f3bc6a274c3c86fafabb8a108abd4d8815bd3889b73c2a7d2ebb0f40debd8bd1f4bc7425b03cf984103bfc58f0bd5d6ebebcaaaf893ca34f0a3cf4cfebbd704212bc5b7e893c15cd883cc24fb3bddbdd3ebbd680503cc4e0a93c49cd61bd1910453b488f183c01c1a83c6817d9bc6d332d3ccfbc283cfeb2b63c50eaa8bb17f8873cb208d83b6bdc27be86f0683feb79da3e7392c0bddbd43abe63946b3f30bdc33e7eddb6bd8a3c35bed886603f1174993ef25986bd780527be2c03473f6af0563efb3225bdd9e615be628b233ffda50a3ef522e9bcac44f0bd6770e83eb222ab3de06f8dbcf93cb3bd54c68b3e3f87f93c4b58cabbffe36dbd50aaef3dd10a12bcdec2aabb468126bd8a99293c637029bded511cbbd9f707bd82e7243d285884bd661bd63cb42da7bc3f32cabcd621aabd96980d3dd5f020bc9eff77bd0804afbd2e53003dbe18eebac654aabdde3a7cbdc7bfde3c080f1d3a61299cbd293c24bdd603783c0937203c3db797bdf8348abcbcc57d3ca9d1613cb7803abda7781e3b55f7243cacf8913c9a59bfbc7101583c79bb193ce185953c3a0826bcbeb1c63c6921b33b365005bef8ef2a3f05d32d3ff79611be025e16be324e303f1cab1f3f1dd10abe5eee16becced2a3f01b6043f30afd4bdc67c15be8b111e3ff492c23e40c48fbdb5a8fabd7ff3023f7bbc7f3ea7a527bd8a05edbdec40ce3e7822083e11d9b3bc0601aebdbd60823e05c2223d68c8a8bb07a981bd8f7c063ec7bbdcbc661a063b969d3cbdca32183dca12a1bd8c5e973b55d803bd2871573de944c2bd14df013dd71da6bc7ef1e03bca3609be9ba74f3dfdb919bc0597f6bca1b10bbee5a4403d80f7bbbb7c853fbd7dbee4bdef7d0f3d20aa1dbb0c075dbd91f597bd26ccd83cba3fc63b602556bde30214bdcb06923c979d243cad8823bd64ee13bc9d135b3c2de5643ca92ccabc97a5423c6729223ce1bb763c2344d2bb059ed03cb713063c7480a6bd0b8dd33e35356c3fd71938bef81bd6bd9a78e33ef0895d3fbd352fbe9cdbdfbdff48e33e87743e3f3e7b10be4fbad5bdbd00d53e6b8d113f39d2c6bdc47ad0bd1750c23e624ec23e96246fbd82abbabdb0729e3ee099533e8edadebc8684a1bd150e643ea758883dbbd466bbdd446dbd5f4e033e1d8c13bd82bb2e3c713f32bdfa985a3de906dcbde358343c3797aebc402d583d65f9e9bd217a323d0e646dbc69c7a43c673e33be57f57b3dba6a06bcfd2e3fbb8dc63dbe36796c3dc3f592bb12609dbc16d526be3cb33a3d6f160abb1296dabc3476f1bdf6dc0c3db8c2953acc7201bd64978cbdb90bc23c7db98e3b7bcaebbcd355ccbc09ec493cf39ee23b998d9abcd263ac3b785c123cdb7cc03b2c83c4bb301ac43c6e60e53b82be2dbd209d4b3e9a7f8c3faf853cbe4ff55fbd301d593e8f3e8a3f70f642be8bbe72bdf05d603ead9a723f19c521beaf6a82bdf2c4643e46273f3f9d94ddbdbbd074bdc5d0593e1008063f15528fbdcb2175bd35414a3eb940983ed167e6bcc24758bdf1fa223ed92ecf3d3213e63b44c42ebd4621d43d2b5e0dbda451c03c4476f8bc58cc633d6bcbf7bd6edbd23c079a07bc79a5113d19e81fbecef2753de4ab30bc827ed03c72b43abe35be7f3d9d6af6ba042ae73bdb245dbe474d6f3d28f74eb61bde7abb615e49be0029463ddb5857ba2f5a25bc668f1abe28910a3dd33865b9d0647fbca9cacabd281ca13cf431b43a86af7ebc668e2bbd8ee8e23b1c0cc8365d9777bcd684d2bacc9e78bb40837cb964c273bb35a2dd3ca72c88386087cebb0340cebb3b0bac3f64954dbefa2da9bcb133403d9e81953f3f1421be09f1d1bc127e3e3d512c8b3fd7480fbe9993f4bc51e08a3d2b0b613fd695d2bd57c4f5bc13c79b3d0afa233f94aa7cbd6ffcefbcda61aa3d90fdc73e644289bc604ad8bcd7ff9d3dd161263e963f493cc2f9c4bcafd97e3d2783e43b9443093d84f04ebcced1113d18fb28bec0d8483d00000000000000000000000000000000fd3d053c843d123c7d4b5ebeeee8693d2cabc63b772f35ba43054fbe892a323d1775c53b0dbde0bb310f48bea0980e3d10cc6c3be704d3bb661224be6cc4d13c4ec9833a1fcd2abc51cfd6bdb7344e3c76a2f33900f9eebbed015abd5963423b42cc3ebbcb234fbb69ecc4bbcf718ebb0000000000000000000000000000000000000000000000000000803f00000000abdefd3be7a6ebbdafabac3f3ac503bed03ee7b9b21578bda49f8e3f4e59a1bd275b29bb70c83ebdeaf0723ffc2384bdcd9549bb198ed8bc6c33353f46f91dbd0be3beba818412bc8a8fe83e380317bc2c4282ba362a9c3b47bb643e0673673cfbb16d3b5c110d3c1007ffbbbe5e1b3d00000000000000000000000000000000000000000000000000000000000000005182083d121759be5bb6893d65021abc3401ed3cacff4ebe44aa713d2c9a01bc4b45db3c50ef49bef1de563d0d8c95bb43b3bc3c821e28be41d3313d389b5dbb69da813c0f3be6bdf57de53cfb225cbb9d44173c9c5b62bdb90c273c3d990dbaf147ac3b1f53dbbb456cb7ba2660783a00000000000000000000000000000000000000000000803f0000000000000000a07cedbd1ab3ab3f8d9cf5bdd22bd03b1d409fbd2c6c8d3f623e9abdd1f14fba481186bd26616d3f47a380bdeb3e8dbb395b38bdb261303f523821bdd4e6d5bb0b39c1bc49b8e03ec5181ebcd5bcd7bbc8b8593aba404f3e451f733cabb0edbb1a9faa3cecc5e6bc91362c3d3d6a1dbc00000000000000000000000000000000014418bc20f3adbd4258e23c5ffc52bb4bcffe3b964a01be3a6c233d238166bb650f5b3cd62933beeb613e3dcdf390baa26da43c051f40be32ee503df21100bbdde9d33cb3582bbe3b3b333d2b2ef3ba2433e33c184603bece91083dad57d83a3f90e13c5373a7bd36c2ae3cd193eb3a6796c43ce05207bd9409d83b3aaf353b8138fa3c6c7127bb3aa7ba3b1080383be93c22bee286ad3f3f3311bdfec4983a61bb05beeb169a3f0789d5bc6a0d5ebbdc800abe4dee923f1c9946bddb4383bbf72101be1bce7b3f76c642bd98ffa1bb1f82ddbd8045453f8f311cbd0ee3ccbbd599adbdc040083fa6e7aebc6d1009bcfaf969bd390e963e030a5bbb0c880bbc7a26c0bc65edbb3d1f7e713c88342bbc550eabbc1555c4bd434be83c4bfd2fbc9b847bbdaa3e263dcaaec5bc73bbbc3b2a4406bd455d81bd7a7bb03bfec7903be124bcbc0c73e7bdf440a53c13932e3b162ad3bbcce212be3bb30a3d220f4f3a74cf153c16ac14be2b381d3d30a30fba4da7be3c86e407bebecb253d6df6e73966d40b3ddbe4c7bdc830153ddf4d42ba1cde283de6e686bda722fd3c634c7eba7705303d76d003bd0e99c73c5494903a1aaae1bd6f8d8b3ffb69fe3de7cc7cbcb5c70cbe3b35913f08be7c3de1da48bc4e7010bed8b28a3fb8ff2d3c6c3c6cbb9f1112be9dfb793f2ef2d8bc5ce616bb00690dbecd55503f56d12fbd254f74ba683802be85e11c3f1ec44cbd2ea50fbb56e7ddbd052fca3e211649bd6fba64ba543aa7bdcdcd463ea87a13bd3bcc99bbe95d91bd1c8a5f3d91d40dbd3fc8cabbac9ebcbd1ff6f83d84acafbdd562ac3cf1d383bd3cffc43c19eb6cbd03998f3cb06c49bd397f18bd794dcbbcd86c3e3cbf2c08bd0e2d9abd5247903a18f7e03b4cbc69bc8353d2bd3129cb3cbb6455b976a3ab3be909d6bd7760183dfd4177baba3eb23c4f68c0bd6679343dfc4c0cbb9bdd0b3d832092bd4f363b3de7fe5ebb0b8d253df9b148bdccf7353da9534ebb554fa9bd5e655e3f3f48a53e53ad1cbdb495d8bd5ee36a3f6a086f3ef285e9bc33f4ebbd197f693ff341063eff2364bc4bf2f8bd83655a3f00d92b3d0702e1ba67c002bedff4433f09050abdf876f03b86f101beea1f1e3fe5d98abde36cf13bc577f0bd9dffe33eab24c7bd76a52e3c69cbd2bde7ac8d3e040dd5bd97b1003c232fc2bdb816193e3d2edfbd57cdb73b8cb0cabdceaf273e4b880ebe3022173deee1a4bd3e74b03d27e3fbbdc3450b3da58885bda22ef93ca62abdbde168c93ce34650bd556899bcf24c38bd3b204b3c540920bd703f01bd6f7dc0bce446f53bc9376bbc0aa78fbdfc37a13c559f59b9cc7f5d3b32dc87bdd6be0f3d5fe5a7bba0369a3cdd1a81bd004b523d39e405bc0578e33c436f52bd7c09733d3ec703bcc6933dbd10031b3f4e3d143fa99098bdea3b89bd00a12a3f6690ec3eb76067bd8b70a4bda8942f3febd2a53e1ba4fabc310cbabd24192f3f03da273e274495bb396fbabd237d1c3f5ab56e3d34befd3b2fe3d8bd0b5b0e3f52fa60bde681953cfed5d6bd813adc3e378de9bdaac3cb3c6efcc6bdc1b09d3ea44c20be98ecc73cb4dfc0bd04d94b3ee1a038be08fdb63cb034abbd877b283eb6bd34be7bc8463d685195bd635ce63d9b5638be8a59523d635981bd4cc0893d7e7119be700f253d813e5abd8b53fc3c97d1d7bd5e16cd3c705d1fbd34b1c5bbc7a65abd569d313c76f1d8bc3e74cbbc2d0c2bbca375513b9bc215bc1d8421bd76d9ac3cf02686bb0a43ac3bafe92cbdf7b2423d82f92abc51721f3c6d2010bd9442683da3b121bcc73cc1bc2463b53e7421583fbcf9e4bd34f322bdb355d33eed503a3fc47ec2bd05c34ebd9400e63ed4c40d3fe18771bd8f2b69bddc25e93efc87b83e39a6c3bc29af82bdad18e93e57ab2f3e77f1843b5cf293bd39b1d43e1b46c83c41089d3ce7e09fbd4d2ab73e8071c4bd4614093def7a9ebd51278f3e0d3b38beee1f263dbb6795bd9b2c4e3e224964be72661d3d796c6dbd9b45093e5a633fbe75e0793d8b8f53bdffa6cf3dc1e360be24228b3dcf7736bda0209a3d417556bee53f6f3d8bf81abd04c84e3dbdd025bea759233d6fb701bdd323e83c9a06e8bdb7f9c83c21d9bbbce9b9c53bea8452bd928c133c0c0873bcdbf303bc0c9ba4bb49afd2baedf8aebb5bc89dbcccb4f03cb53d32bc1672ca3abd1b91bcd11f573d94cf5cbc5e35e0bbcadd163eae24893f6be310be533289bc4f49393e63f07d3ffb3e08bed519bcbcd4e6563e37bd503fa7e7babdcce0debcbe116c3e87ef163f479c4abdaea2fabc24c4723e10d3b93ed7c551bc2abc18bd1bdf783e0243153e349e8c3c374026bd28ed623e7d5dd9bc95341a3d1e3434bd330f483e3ea620be7ee54f3d662b37bdd84c1f3e31a771be42f0563da500a3bcd5a0843d301447be05e9913d9343dabc8892893dcc5a57be8e858a3d0f95b2bca2f14f3d46ef67be8b53803d303294bc68eb2b3dd9ce4ebe940e473de13b68bc7e47003d7c291cbe4bf8ff3c714156bcc6638b3c2cbebbbd607e453ca933f7bbf478ae3bca4f11bd443154ba4af9a8bb999681bbc41a4a3c5e386cbc055ebabb20ddb7395ad33b3d96998abcca9944b97c8ad7bc60daac3f814c3bbe5cc863bb1a66bf3cd0e4923fdd330ebeedffaebb8bdd053d5f98833fefa0eabd4cb70cbc3c76513d47114e3f530f92bdcffd11bc80c3893d9c810e3ff8c2fabc1cda3fbcd6e8a43d2b13a03e43c0ce3b122483bcdc6bb53d4d8fb83d6230ff3c8219b8bc39c4c23d563098bd654b503db46b4ebc82238f3d987c77be19778a3d00000000000000000000000000000000f580f53b588ee53bd4a351beb562683d6f0c763bbb5a593cf1b44dbee5873d3d38ac433b32a6023c5a0748be5fc0243d63c82a3bca89363c938a28be8dc1003d59db3e3b71f3163cae74e5bddd118e3c992595b91de6cc3b5af965bd1f27253bba3a52ba664ac03b1cd3ecbb3609dabb0000000000000000000000000000000000000000000000000000803f00000000d018c03b4afde6bdfb74ac3f5e8606be9e39953ba11e9dbdf7298f3f40e2acbd9dd7f03be67b8dbdc690713f71e686bdfbd41a3c3c3a64bd83c4353f1b5f2fbdc5a01a3c6fe12abdc65be83e3eb64dbcbff8e93b4889b4bcfc28603e337c663c5304153c9fb763bc1f827dbc2d57183d0000000000000000000000000000000000000000000000000000000000000000a38ab33c41db4cbe03ea583d83140ebca3f7083d41695ebef46b523defa093bbaa7b223d533a55bed47d353d4b029abb7341353d30d73ebe1d17253d5d4d42bbbf0a313d235b18be62d8ec3cfd8204bbbd61223d6382bcbd8bf2743c3a357dbae86d1e3d8b583abdbe98c73ba225a6ba00000000000000000000000000000000000000000000803f0000000000000000da5fd5bd4b47ae3fa39cc0bdee52ddbb6d37b3bd7341923f19dd32bda96a89bc62d3b3bd7ae2743f1282debc70d473bc187da7bdd0bf3b3f192f21bc9bbc8bbc062290bd130cfd3ea0185f3c83f686bcb12353bd75047d3e212d0c3d90d653bce4a41abd41a75b3cd234563dd70c23bc00000000000000000000000000000000b43373bdf894efbc7be90f3c0af10abcc0cd00bd70f7fcbd7b5a0c3d135670bbb12a72bc5c6323be9a570f3d94df8ebbdcda383b451a37be46fd223dda4c85bbad979d3c21eb2cbe0593133d312c4dbbbccb043de85914bea0baf93cd28a60bb7f35273dc325d7bd237ac63cbd8e1abb67f5323dd7574fbdd4431e3cbd429bbaf6cf533da90529bd26f2853cae5bfeba2b9dbdbda5c5ad3fdd677bbd7dc9423c6ecfbfbd19f0a53f9dae51bd74a67cbbd496e4bd67a3993f8ad750bd1be4a3bb784af8bdad8a853f85b42bbd96cb2ebcd1c305be97c8573f5331f5bcc17c56bc537c05be1a831d3f064451bc58312abcb0fbf9bdce1fc13ee6f12e3bdf4f3cbc2ec2cfbde3d9063e30eeeb3cf3c807bce79bd3bdb7875bbc67a4b93c283540bc0212e9bde5dee03df6263bbdf76651bb8c1dcbbd42cf833c3cca51bc8f51eebb135c9fbd29d729bdfb1f853a3163b5bb842757bd489ab2bd6e11a23c26fec9bb901ef5bcfbd2d7bd024ce73ced29b8bba9c9febbfd16ebbd836d183da5cac4bbbe9a793cb59ad5bd3c95203d9bafa7bb8b19013d0c20b2bd8685213dc59380bbf1a9263dd9c881bd3a391d3dd05657bb53ebfdbc05d3883fcf54683d4d89b93c324154bd3f88903f11b1a2bc69dfa43c6ff19abd3ff88a3fac1b3bbdf4495b3ce4f8cabd7c06813fa5c490bd19e1ad3baf15f8bd87845f3f9bd4a1bd3f9ba63ac84f0dbe79d5373f5be1a6bd455d9cbb98551bbe4537063f4c9194bd64e5fabb14f31bbe596bac3ecdcb5ebde28b48bc0d6714be5e53373ec4326fbd33114cbcd75610bebd01553e2a5ee8bd225bf63b2a5609bea9ca053e6ddca3bdf4d00fbb02d4eabdfda57c3df7a842bdc22bb8bb6662c5bde291343c6984a0bccb9feebb3ca39abd1279fbbc999dd43b8a0712bcf1be4abddc7b67bd1481d83c3d1207bc775dd1bcc76a91bdb921273d56050cbc8f011dbb2316a3bd4b7c5e3df2b20ebcb9a4753c4ff37cbd0c91653d04be08bc5bd3b43ba32c4c3fefd86f3e9a8bcf3c218322bb2bc35b3f80bbe83de40c173dd024dcbcf756603fe10df43c9d6e023dbe9752bdf3d55a3fb4e939bdb380d33c44b19cbdb5f44c3f4506cebda605a33c1098d2bd1b39343f90fc02be718f513c4e0601be8292143f38f017be5ed0b63b4d6d13be82e0e53e548418bea88527bbcf5e15be77d4993ec7871ebe1f727d3a6a590cbe213b793e84362abec86ec03c81260cbe89774a3e95f518beab54173c8f4af9bd40490d3e5ca5edbdca94ad3b7c44e9bdd820b43d235896bdb82393bb732ebcbdfa10773d66b363bdad251bbbbaeba5bd88ea353b8a0643b9c92525bc55af58bd9daa9cbca222b13c926e15bcd94510bd28a430bddf1c563dc9e141bc81192cbcc91234bdccfa783dc06263bc2854f83c78a4053f3a7bf33e537d1f3cba8ae73c151a123f5ae8a83eefca163d90a2bc3b8d111d3fd06a543e50c6193d5bcdabbbee22243f4dfc753d2419343dd35118bd9eb7163f267d213bfc9f103d6e6a5fbd57461b3f1d6706bea229003d24ada9bdbf7d053f009830be67abc13cbf0dd6bd7386eb3e930b60bec84e6e3c901ff5bd3cd4ae3e01a76ebed2478e3c0e6bedbd01d56c3ec23c51bede661e3d3078eabde86d533e88dc58be6cbef23c4c24e5bd8cf5273ecb5e34be6fd68d3c46b5d6bd027f023edfcd06be51b8033c29ffc9bd66b1b23d1d24aebd868c9eba224cadbd29b5533db69818bd7d3cd2bbf3868dbdc9dd9d3c01fb933acbe323bc045355bddb5822bc6bba243df90a6dbc5c76febceb5e4ebcfb14443d040471bc56961c3d90fb8b3e3725413f82a190bc39e2263de2599c3ef4e11c3fa643663c076aff3cc7f6b93ebe37de3ecdc2fe3c9bc1863c15f4c93ef0f2803eba11243d172df33bd8b6d93e3ecba73d370b443d9be136bc564ddb3e886d68bd89a3353d280512bd65f3d43ea2b02abea95c243d07f66bbdbc3bc73eeb8480be52b80e3d824f9dbdf2529d3e9d0e8ebe8e3d0b3d81b38dbdf34d333e1e7f64be60e9593d380c9ebd73282e3eff8684be340c3f3d4e139cbdb008153e181b6cbe9daa143dd3db9bbd5eda033e14d646bec053b33c5d5b96bddfdad63dc94d10be82cb3d3c8d7288bdcc8b9d3d0701a9bdcb2313bace0f71bde5964a3d103605bd9b97acbb99334dbd4179bf3c3b3ea83c11dd60bcc3091dbdee5d593c4afd2a3dd8cd80bcae5fff3c29cb933d12ac843fc79352bd9a1b023da18fad3d4d066d3f8d47acbc0e3cfd3cec70013e8a623a3f10040c3bd504eb3c7464203e73d2003f0735e63c2811ae3c8e2b3f3e5e71933ea1a1243d70774a3ce45c5c3e37e89d3d2ac64e3d5079bfba70fb6a3ef23cafbd93554f3d6fc07abc44d1793e55cb6fbe9fd4503d47f4ffbc2c745a3e215e98bec0304d3d19bdb9bc249aa43d654562be571f803d9cce04bd7f9dc33d0e2b8abeebdb713d301706bddc54ba3db2d683beed373a3d35b901bd76d3b33d56716abe8da20e3d6c2c05bde40ba23d4f3038be5e0cb33c0590f1bc03b88c3d85fbf3bd1ef3093c1523e7bce6d0573d766160bd79eb85bad3f3b2bc5079053d8b1d483c8b034dbc077ae8bc44d8013d2aaf9b3c272d05bc53a8323c55d18bbdc689ac3f50f8debd99f0043c62823dbd3a61993f62e384bd147c7b3c0cea0cbd5644803fc6f208bda3aa893c5593a5bca63b453f8589b6bbaacba63c9a0af639d002053f2703933c3dce863cd343b23c3c7f893ed63b103dd850283c0ccb443d83e81e3de534393df7bba739f11fa23df5492bbe79dd5c3d94d48d3be3078e3d7f8389be70415b3d000000000000000000000000000000005857113cfd6e153ca7d054be60973c3debd1753b944ab63c1d8a53be0703183d2e6a7e3ba066f63c51b347becfe1023d86c2d3b9e3f80b3df21630be4775d33c3b3d28bb6639143d6af404be9f4b993c17aec3b788ab043da9b599bd99be033c9fcf01bc1bd5073dab8e05bdc84b303b0000000000000000000000000000000000000000000000000000803f00000000a07c673ae6f206be424fad3f0157c3bd9134d03be7c4e2bde77c8f3f970c55bd7bd5453c1e05e7bde88f6c3fe62116bda6d6a03cd838dfbdda58333fc5a49dbcbf2ba53c9d8dc5bdd610eb3e102c5fbb0189a23cce1a9cbd35c6603e88125b3ca232d53c08a07dbd944d0dbca7cad83c00000000000000000000000000000000000000000000000000000000000000002bd58d3c59552bbd3c3523bdbf08203c74e16b3cd53436bd30e405bdacc1f63bd920423c5afc22bd3417dcbc3e12a63b0c2ded3bfa2010bd336fafbcfeeb773b7d542c3b214703bdba1282bcd3d96a3bebe8aabaaebddcbc953523bccd98483b24697ebb2a7196bcd2d890bb03861b3b00000000000000000000000000000000000000000000803f0000000000000000e6a605bdeee08c3fd477c2bcbb9219bcfc546cbcb0726a3f9c326abc8e9bfbbb812381bba0f83d3f130b3ebc0229f9bbd6008f3aadf1123f6e2656bcdba8dcbb4402703b6b08d33e73e587bc1ea385bb72c7663b36ac823ea67cb0bce24a87ba292ce339b46bd23da547eebcdfeef73a000000000000000000000000000000008f0d823cbb81e4bbaa771bbd033a043b2052943c365f21bd5a2745bde0f0e23b6affa93cfaf837bd960b3ebdf9fcc83b9d6f963c8b4b2dbdd85721bda49c983be5d04f3c885016bdd29cffbcd440923be6fd053c61490cbda70bcabc2a776a3b9520303b0c1ee2bcfdb78ebc10a7863bc993cdb76b6884bc1737edbbc08e863bbf2e153ae8324dbbcf662ebbe08cfc3a5d8a8fbde83c8d3f06b5e53d364dcebcd53b93bd2ab2853fbc9fc93d7838e4bc4b392bbd98d5613f436ab53dbffdc3bc8ab3d1bcd8d3363f8338913d4049aabc49f14cbc23430b3ff0d4563df03e8dbcdd0edabb2d01c93e1319f33c47c469bca57496bb4f0c773ed7d8a63b928e39bc52ab89bbf70ec93dba0f88bc358a95bbcf17fdbaf68797bc4f96efbcb74b14bb5c034b3c0d36f53b4974f7bc882cf2bb7de59b3c011f60bce7bf3fbd17df11bb0ddc953c70b4a8bcf42928bdc64628bbb08da43c8df1eebcfc292ebdb78bb4bad0cf683cf9ffb8bc7c6e06bda23d97ba08974b3cf710cdbcdf43f3bcfb1c003982e7d23b8d0791bc5c0e9dbc16c2d03ad5e4743baeb33fbc30f457bcce2b3d3b10054b3b840b10baea7f83bbd7830a3bbf3e91bde7256d3f215b873e8d5e18bdde8ca1bddd5c643ff4107a3e039f3cbda72841bd21893c3f7af65a3e74bd1bbde5501abd3de2203f5d3c313e505613bd155bacbc8237f33ebce4063e8d6ee6bc873588bcba9ab43eb5f6b33dfd4ddbbcca0732bc11af623eb4c1453dd0dca9bc3f7dcdbb6c5ecf3dc9461b3ba8d385bcbfb052bbb73772bb1a39b6bc5dc11ebc9301123c34ba5b3cd612b1bcc6fe62bc7bbe893c70d0f6baf1cd28bdf3c84cbcd6d1a13c09bd52bcc0733cbd2cd510bc71f1973c656c8ebca4162fbdfcc4c8bba2187c3cb89798bc3cb118bdfc80b3bbd02a393c903695bc8a7d00bd7e8fc6ba5c79f83b799d79bc9c8cbfbc88b046ba626fc43b0a361fbc6e605fbc7ebce33a93757f3bff458cba834dccbbd4fb3d3a6c587ebd2eaf413f8247d83e781e48bd1c3995bda1663a3fe968cb3eeb6d7bbd80fb5cbd0d9f213fc008af3ea2535cbd854120bdec49053fb5798e3e5ddf3dbd42c2dcbcda88cf3e44c65b3e3cef27bd8d20a5bc4136983e4999193e213910bd9cc866bc44e7433e19d2b03d023004bd97464dbc5ff1b83d202fe43cca11d6bc932999bb1f21703b577f94bc0abe8cbcbe9cb43bd8f66d3c1fbd96bcb227a3bc4dc2433c198ea13b7f5b18bd2bcfa1bc0b9a6b3c2697a9bb8ccb26bde2346ebca104783c1b6234bcb83331bd95034bbc5d291e3cfa2620bc1733f0bcec3a02bcece0213c64f26abcf6d704bd5562bfbb5375c33b3c8a42bc69babcbc4df93bbb9126883be4a50cbcad9a7abc905cef3833fd483bc7feeeba2a5fcabbc0e0073a82a05bbdc2c1163fda6f153ff2f86bbdb4717ebd1f1b103f4b400d3f072793bd080835bdc7cdf73e54f9ee3e3db66fbd2ed615bdf567d23ea0b7c63e433068bdc026a8bc728d9d3e0b83933ed22e1bbd2c65a9bc521f763e91165a3e3bfa34bd6e1d6dbc05f21c3eb785013ec63711bde2643fbcd6679d3d50b5453dd4270dbdd490debbdd31d33be80578bc46b0bdbce42dc33a6c7f483c782d84bc01abc4bc3bb0053cf62a593b8e3a1abd56b3d7bc0122373cd81d8fbb62a940bdc4a2a7bc20a7363c5c8a12bcdc4a3cbd1ac47dbc4cc0273ccbff3fbcaae923bd17c021bc5d0f063c067255bc17940cbd581b06bc6a278d3b274b57bca91ad9bc50304fbbf9e8223b98f624bcce0683bcf77f513a0d96ad3affca66bb1af5d2bbf45a383a0c133abd3fceda3ed0c53f3f805086bdddfd58bd783ed13e68d5373f5a70aebd0c372bbd5f2fb93e764c1d3f11cf95bd6f9705bdf2279b3e5703003fc2ce81bdb401cbbce254773e4458c43ee3cd60bd1534b0bc781a393ec0638c3e7e2954bda97789bc855bf23d31322a3ea3bd3fbd88385cbc6d56723deb58873d86ac29bd73fe0bbc1ddda33b27e47bbcf7a5e5bcec91ecba61dbe53bd56695bc45d6e6bc4f493b3b846b8b3ae0d735bd0cf4f3bcc956e53b942192bbd7463ebd1bd0adbcb55de93bdde606bc3fe651bd60a2a6bc4d119a3be67a1dbc73e924bdfd6f5bbc50f8953b24ae56bc90691dbd37af1cbc0a3dc93ab6c047bcae83ecbc811b8abb6a5a25ba11114ebc3cfb80bc7a07113b278ef2ba867db2bb82d6a5bb1a99323b643e15bd42e5893e3af86b3f57229abde37131bd4901853efeff613f2d0dbcbd6df3f2bc62246c3e69ce383f541f89bd1ddcd0bcaf384a3e13881c3f29a386bd55429ebc1c071f3e26c3ea3ef4d551bd595490bc8f6ff53d6d21aa3e50bd58bd061868bc41639e3dfc87513e442531bd73654bbc7e40203d2951a13db7cf3dbde13b0cbcb49c1f3b7f2696bc30a3fcbc1b5663bb4bc8213a146fdbbc3e02eebc120dd73a57bdaabb2e5870bd1371ecbcfdcea43b0be3b4bb89db7abd1c38ddbc9a20a03b7ef403bc892d6abd1022afbc1d1a803bba6c1ebc035343bd70fc86bc3887173b9ca251bc44162ebd7f242fbc604302bafcbf6fbc2a1107bd843594bbae0bcaba2ce359bcfae297bcf5ee673b33fd83bb3c2e1cbc28e3bbbbe658643bc7f5c8bc6a1cec3d82848c3f3eca98bdb0a6c7bc79a8e33d90a3843f52dfaebd37b393bc0208df3dae585f3f59ee88bdd73b7dbcdfd1c43d7af8333f05b365bd67154bbce044a23dfe7c083f314d3cbd697b3dbcae40723d1660c33e3c8b3abd225236bc84b21d3d479e6b3e60253abd34ee17bc56757a3cc7b3b03dd4d230bd28cf15bc7b703ebb2215f3bc396212bd0000000000000000000000000000000099ea8c3ad2f5babbe9ae4bbd358edebca012253b18fa9cbbf1604fbd635da7bc15814e3ba0a6a8bbf9d238bd8ef98fbc85fb0f3baacfe8bb112d21bde34e58bc0c9ffc39b2c71cbc4bd60bbd6c291bbc7eebc5ba6ae53abcd674e0bc6649a2bb367298bb0d3d5ebccd81a0bc8ef8ab3a0000000000000000000000000000000000000000000000000000803f000000000258f7bbc54b5ebca3808c3ff2383fbdc532b1bbf691b4b85e76693fa2d80bbd69cc94bb8e7bb03b20f33c3f6509e3bcb68c89bba0bce03b4a05123fd563cfbc92429dbba995a93b838dd13e25dad5bc477d9abb7178af3af869813e7880e7bce60dc0bbc1b2a5bb6f72cc3d3f0b06bd0000000000000000000000000000000000000000000000000000000000000000d19fa23c6074983bb97205bd575cc7b77b40813c866d9ebbd4ece1bcfe9b193a4c555d3c09f401bc54eacdbcef79293a91e62b3ca73c3ebc8c38a6bcc8b7513a417e013cf5e060bc95e18fbc3bc16d3b8485733b9f927bbc8eab51bc6c5bb93b9e81203b43755bbc5ce03cbc497a0b3c00000000000000000000000000000000000000000000803f00000000000000009a2a2fbbf5ce7d3f23221fbcb67990bcf231ac3b40f1563f98c317bcaa9276bc4848013c82d4313fff451bbc619c5dbc47122c3c36ea0b3ffa2459bc3c514fbc57a0223c10b4cf3ea59a8dbc92112abc70ef263c4fdc863e7b83babc8f7dc9bb89bc1e3c308c003efa3bebbcafe099bb000000000000000000000000000000002d368c3c6c8dd73c42f5f9bc819039bcc90db23c3dc3833c72c922bdad7201bc43acbb3ce80ac43b0ac518bd4c5bfbbb687c9e3c10f32fbb7cb30bbd992ec9bbb8f1793cbc20cfbbcbcce5bc1f8484bbe20d543cdfe52bbcc41fd7bc8abaa0b768961b3ca00751bcf0edb7bc3602fb3a7c50d53b885926bcd77d8bbc1e9df03b75fec93b467390bbf7284bbcf64cd53b6206bebc4a037f3fad21013edbdfdabc51f9a6bcf93c6a3f46d6e03d80affcbc01e1c2bbf6bc473f5c46bc3d0cd4e9bce568e83aa523253f4f5a943d3750d8bc16c5bb3bcf64013f400c543dc9aab8bcd8fd123c03eac13ef18ae93c66b4b6bc9a15183cc0ca7e3eeb6a9e3b868c8dbc581f153c63dff93da5228bbc0a6a4cbc3932113c8234983b26d3edbca2b90ebcdec3683ccf9d013d97d5c1bc0805b2bc198aaa3c0f77f03cb4ac0fbd502fc3bcb02c8e3c200f663c6d1af4bcb0a09ebc18f3ad3c56f81a3cbdfc0dbd5d3892bcfea5833cfc634b3b640ce2bc8ab650bcfc1b7a3cffa8f3baaabfedbc98a70cbc2d7f2b3cbedd66bbb026b5bcc79881bb57db193c3fa979bb0b4dabbc758aa43a3bff043ce66bb6b857895ebc6714d83a2f9df5bca042593ffcc5883e82ceffbc6d9bf7bc5c0d4a3f0d8f763e11662cbd600063bc5ae5283fc7c9503e4fb908bd90900fbc5842113f3649293ee8d114bdd87cb2ba422ce23e87cffc3dab88efbc3267303be417ad3ec680ac3d1f86fdbc70ca853b044d633ebb6e413db462c6bc73a2fd3b45adef3dabb8953b3056bbbca00ce53b9a175c3c06c4b9bc03467bbc8f471d3c3b20013dd4f17fbc3bc705bd76d7833ce756fc3ca1b5e5bc6ddb18bddfad933c086fb43c6abafcbcdefe07bd033f913c18b6623ce4ef01bd2b45d8bc05df823ca1d9053c74eaf0bc0007b9bcbb9c633c4eaf423bd13cedbcf8e584bca1cb453cb2ea5439afddd5bcdaef2dbc1c443c3c396c1f3a4568babc39cfabbb9dc50b3cc3c3c03a77ba6cbc7ec349bb1205fbbc6d10343f4748d23e653812bdacc106bdafac273f07f7bf3e4ad03cbd3465b4bc449d113fd573a33e10ae35bde38162bcf4edf33e04bb853e5d412dbd2eb3e0bbde74c23e4d244e3e560f1ebde2804bbb4392943efcc5113ecdf319bda85c8f3ad0fa483e8f83ab3d598b0ebd32ed443b00b3da3dc059db3c6d9dfebc56f7ac3be1ca8c3ce11d8dbc4fa2adbcf538bf3b8b75f53cd70b0fbcf89e26bd06f2473c503e073d1ecca6bc67b947bd17dc463cedeaae3c02a0bebc586f22bd5b5d723caaab893c34e6e2bcab3f1dbd4956323cef6c153c4597adbc2465c7bcf4ca4c3c2510cb3bc509e5bc2748c1bc7f51153cf859d53a64a2bbbcb60777bc3d52333cbadb183ae802a8bc339941bc20a9f73b21dbfd3abe2170bccc09dcbb7e14f7bc82140f3faddd0d3fbed018bd67f008bd4905053f42f9013f64414abd43a5aebcbf1de53eb697db3e8d2d32bd013588bcde8ec43e1bc3b63e66ba39bd6a4ffebb1129973ec0e98a3e9a4608bd4535c8bbf22c723e86844d3eeca62ebdd4fc16bb5edc223e46b7ff3df88515bda0f425bb3f4cb73d177d523d4a6f1cbd6c14923afcc6933c7d8657bc378dd6bc8eab0e3b607ed83c724f53bba61244bdf533f83bc882f83cd01f6cbcaebb71bd376c213c47dbba3cd2aeacbcece854bd9b162e3c1e2b853cb6f7cebc410435bdab662d3c99e63d3c837cd1bcbb2912bd18ef173cc2c0d03b68e9ddbc6b30e7bcba36f03b2c5f2d3bda05cfbce36eacbcb78edf3be6148aba02c5b4bc7c3359bce23da83b2c04aa3a848468bc044b14bcb0f4ecbc93a3d43e36b1323f7c781dbd01110cbd4530c73e7ca1243fd7fe54bdb31ecebc711daf3e94f50c3fde8648bd94ba96bc1e8a943e1dd4e83ef02b42bd82a14bbc869a703e38f8b43ea05f37bd57201abc9e2c3a3e730d843e7bde3abd4cffc8bb72a0013e8ef7263e1fd537bd64d888bb2aa3943d5559913d37132dbdd1a74cb931ce873ca71422bcd4fff7bc01ff87ba44e9b33cbdd89f3a39e35cbd324c1a3b39e2c33cd16a0fbc2b8585bd95b3ae3b6c558f3cd29282bc0c0e4bbdbe17e23be1877d3c761eb9bcd42c52bd8775d03b8466213cc46eb2bcd53a15bd9ba6ab3b683b9b3b2ae1dbbc40ef03bd8847703bae05cf3aca60afbc9f50a7bcd744513b6e881cbaf148b8bc462c73bcdfb53b3bb801cc38ebe965bc43ec13bc692bdebc87eb8b3e0778583f76d81dbd90e3f9bcbe49833eab6a473f260f4bbda6b3a6bca452663e5fe3253fb11423bd365297bc507a493e5d780c3fe48839bdeb1143bcbe2c213edb72d83e2d8d22bdcf133dbc9de6013e8822a13ec3743fbd504febbbb89fae3d623a4c3e6f4822bd5d51e9bbc4e64c3d7f27b63d4cf13cbd03a987bbc8cf423c3ad617bc9ae808bdbfde75bb452e833ca83e9e3bc0e86bbd890bb2b847f18c3c610b04bcdd3c87bd7334683b2c557e3c7e548abc33736cbd134e703badca443c244dbbbc578a4ebdd0d1463b797ffd3bd549acbcf63e1abd0023073bcb71743b833fd1bc98e200bd1fd48db92332c9ba1586cdbcd31fb8bc83e52abb2b4cb2bbc509afbc8c1438bc1f580fbba1c08bbb57a260bc739907bcf7b6bcbc9a8a063e2d3a7e3f7d1d05bd20e6c0bc1acb003e96ff673f8a2c23bd55ba8cbc03c8ef3d4724453f3dd014bd069a73bc13fcd23d66cf223f432016bd43f93cbc0fb3ad3d1f94fc3e562413bd50892cbc9f7d8b3d6fa7ba3e4aaf24bd9dca1abcdf77423df4dc6d3efc4b2ebd37540abc677dd93c2a6ad63d8cf13bbdd58ac3bb7193ed3b6e0b2abcb81215bd000000000000000000000000000000001555c1baf2f2303cc4459cbb44da4dbdc8a7133ba0690f3cefee4ebc1d572bbd69ccde3af8a4023c9a9c88bc65590dbd969f2e3a97d6b13ba53e87bc743bebbc31d236ba602c133b3c4ba1bc09ebafbcdeb8c9ba5fab0cbb278897bc66b580bcf2107cbbda0e99bb31119ebc387a1ebc0000000000000000000000000000000000000000000000000000803f0000000036c75fbc6947353b9af97c3fdf4c9fbc75c330bc70ba063c06ab563fd58f96bcec700bbc7290413c49ab303faf62a4bc6a90bfbb85673e3c86130b3f2410a8bc620d06bc43314c3c59c6cc3eca2ecebc9281d6bbd811013ca5d5843ea697e0bccc31ecbb2fa6a03be644f83d74660ebd00000000000000000000000000000000000000000000000000000000000000009f35833b01667d3b31cda8bbc1f9d0bb2b1d703b34cf303be84c98bbcbc5a3bb535a693b2eb5f03a83d79dbbdbb390bb18674e3b7e05a23a764292bb32a986bb6df5463b0f72823a802198bb62e17cbb516a423b066a563a6cf291bbd6ce55bb0975183b64c79239b49b4bbbe04410bb00000000000000000000000000000000000000000000803f0000000000000000110bfb3a9287633fe0aa3839040eaebbf805123bc301433f8eb3abb8aaa793bbb9562a3b7ca4223fb23843ba668c95bb487f343b5912023f68d6abbac2c491bb995e503b4eb8c33e115106bb33199bbbd75f5a3b30f9823ed81a36bb323f92bb2825393b593c043ebd9488bb5fa652bb0000000000000000000000000000000061777c3b3279d63b522699bb255d10bc87d8d83b1090003c44c1b9bb4aa136bcd01c9f3b0c85ac3b0e60c5bb0a5c20bca27ca73b96d24a3b5493ddbbc0320fbcb3348d3b7dd84c3badb7b8bb8e75f1bb91ae8d3ba16f363b97c8d0bb64f4eabb8b40803b52c1143bfd4dc1bbc9a0c7bbef1e903b8b8e473b02e8ddbbd56880bbbc5e3a3b237fdb3a98c2a2bbed982fbb742baab9b3d7633f5afe013ecc67cfbbc3bf83ba0c87483f1d57e63d1660fdbb8469e33a8f2c2c3fb854c33ddd77f4bb22bd283bb3e00f3fca7c9f3da0defebb9ec5363b7cdee53e696a7e3d486adcbb5daa573b0e9dad3e1af3383d77baf0bb9d0e573be6f1683e6df3ea3c9734debb39d57d3b7de5f03da879313c2b5bf6bb13313e3baedcac3b50dd88bbbf169bbb38d04a3bb769e73b34f35ebb1d6a24bc51fd903be369063cc39ea4bbe24258bca280843bf369bd3ba9ce9abba3e034bc745a9c3be078c83b5db1babb8b5f44bca42e9a3b5d2f4f3bc5fc8fbb66030ebc8320953b2b92923b3592c5bbaab121bc09f57a3b47dd5d3b9224abbbf3e8fdbbbea57f3b03bc5e3b4868c7bb78aafdbb4a1b583bca8d2b3b7ad894bb542ea7bbf702d1bab65f433f931a823e0456d3bb83f959ba8c602c3f6f39653e22a80ebcae21be39aeb0133f69ae433e6bd5f5bb0bd7823a18d2f73eed34233ec6aa0ebc3020053be04fc53e8c2f003e87c9dbbb0e000f3b921c963e34b6c03d0a8d0cbc8964153b8771493ea2517c3d5338eebb1c4d1e3bac31d23d9346ec3ca18d06bca1a41f3bf38ed23b425b19bbc86ac3bbf68f1f3b95efed3b7d5d07bb8c1838bc5ade743b26d60c3c030b73bbf6a673bc1c76853b6224f93b71d88dbb42ce6cbc2ec58f3b4871e23b2ed1a7bbb51a69bc0380623b3254ae3b55c2a4bbbe653ebce00db23b94c29a3b3df3c0bbc45b43bc6a328d3b0f2b9e3b5550b3bb77f72bbc14358d3b5159943b19b3b7bb37b21fbc9fe28f3bd14b8c3b841f58bb0cbbf6bbf35e1abb6fde223f1638c33ef4cfd0bbc956edba00de0f3f00e8ab3ed9db11bc3b8646ba4293f73e775b933e27db11bc37ad51396883cf3ea26a753e271c1bbcbc4124b906faa53ee843433ee5f20abcf64d0c3bf6777b3eaabe113e63e119bcc5bfdb3a04262b3ed1bdc13dcfef10bce452073b8d0db43d558e3d3daabc14bcf5dd703acb87023c85d409bb7b51f9bb3499113b10d6f83b779215bb6b8a5cbc595a083b1848163cf190ebbabfe87dbce18b6b3b118cec3b90083fbb577672bc8cca6c3b48ede63bb87a82bb451277bc033b3e3b8ed09b3bfda95ebbf52e2cbc7d277f3b8027bb3b9b3f9fbbbe4753bc9391753bacf6a53b8fdab8bb770a3bbc8332923bc0dd6e3b14b4aebb94232bbc90316d3bcc367a3bd39b71bbf37cedbbe45820bbbf7e023f3e42023f834cf6bb61f24bbbcdece63ea55de53e097a02bc51822dba082fc63e5a22c43e575105bce01a47ba527ea63e40c8a33e348b15bcf88d3437c1a0843e3a1a823ee5afe2bbef860e3aba944b3e9ee3433ea20c18bca1197d3abacb093e489d023eed3319bc4549fe3a1f8b903d70d07f3d1fb016bc6650b6384e9af03bf71ea638bd84dabb29d2de39ec1a023c39495c3a215876bcca2c1d3b8e870c3cf4c998bab51d94bc505d473bb7eaf63b5b6c24bb1db490bc9a401f3bc8d6053c8f802abb3ab186bcd85c333b9371f03b13b819bb057c5ebc0a485c3b4437c73b589c85bb4ca46fbcfc77583b3e12ad3bcfbe8ebb1d9e50bc0239563bfbe99e3b7a9190bb366d3cbce2d42e3ba5915c3b29cc6abb1c0909bc6fa487bb5f87c33e02fd223f61c3b7bb9ed34ebbc8bbad3e005d0f3f9d750cbc61de01bb5bef953ed1dcf53ef9ec15bcdae7eabae1cb7a3ef653cd3eb4480ebc96574fbae8d9493e403ca43ee63f1dbc2bbd57b964f31a3ec0f2753ebc151ebc52127939a0a5d33d87a6233efa4e1bbc94cef839e5da643d7d22a43d634c1abc64a5593a5714d63b9b11263a4546eebb8100453a5229c93bc7b4623aa79364bc613db13a9770f53b8d71cd3ae56496bcfb5d033b6faedb3b1d046eba17f386bc61a61c3b44a5df3bfb0916bbbd8787bca620743a17e6c53bcb1008bb2c3659bc7922343be037bb3bf72b6cbbbd9d70bc1d9c153b2dcb8a3b647c61bb8b7e39bcd6192b3b1d1e963b61697dbbff2741bc94b2043b3fc9513ba4dc42bbabe307bc085e58bbbfee823ed932433fda71b7bb2fe26fbb3f82683e3c5c2c3f44ea00bccedd15bb256a483ece1c133f195ee5bba4dcfeba3e9f293efadaf53ec75007bc5024eeb95ffe063e514bc43eb3ede7bb1f8058bad4a4d23d8283933e24b516bcf598cfb9e6b88f3df933443e46d603bcad9a93b93b03213dbf19c63d748f19bc6d90c6371bafbe3b9ebfb03a611feabbf96f89b91851ab3bc88c203b18ea65bc375fcdb98e87f03b7d69d63a5faa92bc53af9c3ad0d6c63be325cfb936ff80bc1e23c93a33b5c63b3680b2badbd77fbc8d47d53aa93faa3b8acadfba62fb6cbc0bc1273b5e95af3bc45014bb4c7a5ebc2aa6d93a21d7903b384348bb11b947bc7a00333bf214ba3b1e719cbbc75544bcb3e3b13ad441493b2f991fbb0c5a08bcf9487abba929033eacf3633ffdb08abbf7c793bba75ced3dd888483f1204e5bb976a31bb33f5cc3dbfa62b3fd885c0bb6a1218bb4033ae3d533b0f3fc1acd7bb54c1dfba3d328d3de5a5e43ec440c6bb8e5a13bb92b45f3ddcfcab3e7235febb7032a2bae4861b3d7574653e19e505bcb4a1d7b9f4bcbe3c83f7e23d73ad24bc8a2b3dba2d1da33b06e2fe3a8380e8bb00000000000000000000000000000000606783b98f2b813b0597a23a2dd03ebc4c52333a6c148d3bc2517c39b73859bc5990533a2a16853ba4b92cba1ccf3bbcd9d94b3af551613b8be49cba0b6719bc9e085d3aecf34a3b6b9de6ba60c219bc6546443a559b313b663c09bbcbb30cbc7571203a2bec2b3bf49eeebaa3cffcbb0000000000000000000000000000000000000000000000000000803f000000000f014dbbde2f213b1265633f480e34bb9e6907bb7add713b4cf5423f4a574ebbbda6eaba61c7863b5e81223f7d7883bbd511c1baf3527e3b4dcf013fc58f84bb61e7a1ba8c24843b70dcc23e282ea2bb425c8aba64d17c3b3dfb813e82dbb4bbafd1afba8714743b57e7023ee920bebb0000000000000000000000000000000000000000000000000000000000000000caa0b23be9680ebe91ba9bbcb8be6c3c2d899eba05ff06be6fc4b0bc8493683cee546abbfd14e2bd9977d7bc88734b3cecf694bbce68b8bd3003b5bc531a1a3c52c5b0bbdfb090bd613361bc0b4eb33b2f73bdbb779f36bd01518ebb3fa1343b13cb32bbf7029ebc8d5f633b0a8091b800000000000000000000000000000000000000000000803f00000000000000003de3a5bd6f64a23f968aa1bdfb4cf03b269d30bdc2b3863fe84f47bd0777a23ba97f9cbc760d593fd55f00bdcde6003b03c091bb92de233f34adc5bc81e7d23afa435c3bacfcde3e6bdba8bc96d2863be948e43bfcce733ef82897bcc8d4883b6b06d93bb108483d3a8f9cbc6fdede3b000000000000000000000000000000008a48ec3aed4591bd191299bcce480c3c42a2633b268a10bee11083bc4605563c6aab2a3b498c11be209e04bdb183883cfb7b77ba9639fdbd061311bd7289763c39f32bbbb26cc4bd5db303bdff7a383cd104cdba16c997bdbc4fb9bcefe1163cfddd3e3addb845bd6a4e36bcdf23d93bf8f6da3b87bf83bcf6c5533a16238e3aae49893b5979833b78d9bc3b423f373aaf6216bebbc1a23f7b02633dd1bf9bbc76f413beb5b09b3f3afb203d4fc75dbc4767d1bd75f5863f42b0503d37997cbc3a858abd4ca4593f4e3f4f3d63ef6dbc84ee2bbd787c223f653b2b3d012b33bc7dbbd4bc7d99dd3e8c3ecf3cf35d02bc12b780bcb0176e3e49a82d3c057690bbe14ad0bbd3103e3dcf9ff93965b9ccb85d56b2bbff7290bde3d6a7bc73623c3ba0b6cbbb4e5405bda454c0bcf0c13a3b8e4922ba43b8bbbda19c25bd40825f3cda514c3b15eec2bda28555bd6a9e5c3cb8f5b339e6f1c3bdaf3051bdb93e603cdb38423a79a398bd86052bbd7915103c2207023b5fe97dbdaefe08bd07302a3cb8f90a3b4fa522bdcd269ebc4be0fc3b67a1a43beb4f97bcba7cb7bb9fafd13b93eac63b4dd0653a85b52b3b6bac933b792d10bed663873fd9347c3edb333ebdbe011ebefb9c873fadaa623e57694fbd0f00e4bd23a5663f774c523e5ae02bbd3616b3bde234423fbe9c2d3e2cc317bdde3b6cbdbbe9103fd35e053e2906edbcef0e34bd2da8cc3eb713b93de262c3bc664bd9bc7b146a3e8abb423d15398fbca73a9cbcd797943d6f30f63b3ab50bbc25684cbcdbf3fabc6269bbbc74a099bbc4f71ebcca17cebb7ce9f4bcded338bb9cf5a1bb820066bd78e46cbdf8f82f3cd1237fb9ea6b98bd1e848cbd4b23463c94d3863a751c93bd593f82bd4c64243cbec6993a1dce7ebdad6a64bdcf8a0b3caeb5753ab19651bda23a2bbd60f8203c81ab743b38f715bd24d3d8bcb0ee233cc92dc33b20c79cbc49dc3dbc5f343d3c53cb993b201a3abb14155b393a1f043c9fedf9bd298c5b3fe185e33e55f498bd2a6b0cbe94705b3f30aed93e9387abbd2465e2bd9807433f168ebf3eb3eb92bdf8abaebd55ce203f2adf9c3ec42175bdb3eb83bdb9d4fa3ef243723e6a0b4dbd384444bdcb8db13e3284233ee6461dbd3e5811bdccf1543e4a81af3d5359e7bcc3d3c4bcc1b2a63de093ac3ccd3d91bc520a91bc9fabfcbbf5bfd1bcae814dbc503a3dbc23eaa63bbd7e09bd9036f5bbbfa4cabb2dab03bd412090bd8917b33b67c94fba04c23dbd5821a0bd42bdb53b4d3dcab9d4b356bd7590a0bd7fb0d73baeba47392a7c11bd5a4662bdcac521ba2f9e1b3b81c127bdfe7257bd13eb1c3cd5b4133b49abefbc8a40ffbcc506173c0eeb903bad538ebc6d6e6fbc34264f3ccecd983b440382bb2800c4ba7997213ca5e6cbbdd8a1263ffaef253fba37cbbdec45dfbd7845253fe625213f779be5bda4edb1bdc979123f18be0a3f9b05bbbd43c597bd1a21fc3e6190e53ef8e2a3bdc26a38bdc630bb3e5f7ca63e5f955fbde67540bdb56e923e1cc86e3e9eb657bd685005bda4d4323eb0c6013efbf413bdec80d1bceb76a23df2810c3d3a7ec3bcdfc099bcd239a43be71ef4bcbf9096bcfc5333bcd1de0d3c1c902bbde503c3bb12bf8cbb51cfb4bc3104bbbd0cab183c37fe06bae2dc16bda405d2bd9e52203c8ecd563a067322bd021ac0bd1485f33b90c32a3a24171ebd99929fbd63afe53bee81123b8e320ebd602c72bd43952e3cd0a24e3bb028e1bcf1931bbd25da5f3c5b689a3bc1478ebc31cd78bcccdf883c04b9643b576d94bb107969ba3b9f513cfcc599bdb84be43e31255b3f0c52fcbd14cdaabdbe4be23ee8f8573fb4e910be987c90bd70dfcf3e177f3b3f1235f2bd4bec6fbde1beb23e9d76173f4b71c2bdbefe49bd7d3e923ec3a8e43e778a9fbd9ff71ebd7d94593e7af7993e4f8f6fbddafb01bd2f2e0d3efc93263e7a752ebd6f1ab8bcac0d853d4de4263d2f8cd0bc825097bc11c32a3c73081fbd2e81a8bc9e15e3bb801dbc3b682375bd9725513b5096c53aabdf7dbce9fcf2bd4dd19f3cce4cd83ab4eccbbc120decbdfe42063c66fbdd3ab55b04bd96cfe5bd32c9053c7a3f863ae576efbc2b31adbd9bb9c23be741363ba687e7bc4d538dbd0e8a2b3cda7b3b3b57ccb4bca66f24bd0db1393cfbf2d33b5ee34fbc2c1d75bc4870823c7db7a43b107b99bb03f85b3b778c6d3cbde03dbdb5617b3e9341873fdcc210bedc8155bdfda0743ef401863f096d24be458434bddb00703e09e6603fb3c1f8bd0aa325bdb2b7563eb2c33a3f69cdd3bdd2a902bd2637343e1d0c093f68039bbde0a3f2bc872f0d3e9fb8ba3eef6075bd3a40b6bc1e95bc3d5be8483e385825bd294c91bcc3173a3d728d1f3dd89996bcee163bbc2b23943b3bbd64bd1c1152bc4e6275bac5d4293ac530b8bd4fe63e3c582a133c4d4d4cbcbac41fbe45ed063dc44b013c79b8abbc2e891ebe01988e3cbe8eae3b9121cfbc6c6c08bee315ee3b2acc073baf73bfbcb018d1bd78437c3b360e6a3b90f9b1bc9c41a2bddff9033ced44b73b40b280bcaca345bd6a022a3ce368e63b1155bdbb58fc5cbc3c5b4e3c4cf22e3b709c03bb48cbda3bff87473cbdefa5bc07e0633d6eaea23f786718be4d6391bcbc5d553dd46c9b3fc4ac1ebe5adeaebc17659d3d1260853f40a9f1bdd71995bcd2a6a93dccb3553fee5bb5bd43118abc19a6a53ddbdb1d3f9ef085bd87a17fbce687863d6193d33e6f2043bd782855bc4891323dccc7593ebeb1e2bcbd2ea5bbfce2a73c0fe9f33c28742bbbd222d0bb57ee0bbbc3b1aebd145ff7bb00000000000000000000000000000000c5dbe43b3d7742bca37911be04494c3ca5d0f43b4dcc87bc28f407be9627963b25b75d3ba91e8bbc75a2e7bd49ed72bb2cc9393bf8fb98bc41d2babd586690bb6d74063b777386bc749f8bbda7fe1cbbed39113b802642bca99533bd850f2b3bb2a7183b3ae9c5bb0e308fbc8ff1c93b0000000000000000000000000000000000000000000000000000803f00000000a900833b7d0b8cbda77ca23f72e5c2bd694be839e3d9fabc4097863fd5c680bde1a13fbbede9f0bb7502593f24f538bde1a64fbbc1ba513bf452233f433e04bdc47477bb3373c93baa07de3eec17babc7d54a1ba88518b3b63ea703e50a84dbc5c14a7b9514b6bbb5042433d5246dbbb0000000000000000000000000000000000000000000000000000000000000000d8489abbac4fb6bd010106bd1f63913ca80fafbb3336c0bdf585febc73b2913c7ea6c3bb454cacbda7f8f3bc6c097a3cd6edb3bb5f7b96bd7f6fe2bc7131773c17bac8bb309c83bd65c891bcb1ab3a3c29780fbc75fa45bd2c14eabbc77de73b9e52afbb937ef5bcd0eb243b5b7a253b00000000000000000000000000000000000000000000803f00000000000000003ada32bde320983f11895bbd024884babad593bc0ec97e3f6f3a1ebdffa7d5b8785e05bbe90c503ffd07f6bce31103bb17fc9e3bdcd8203ff687f6bc6f8ba9ba08e1c13b06a3e43ef2adf8bc24f2b3398497183b71e9873e3f9afcbc9cb99b3b4dfa68bb778cbc3d9bf811bd5b08043c00000000000000000000000000000000126642bcdd95c2bcf16a22bd01e86f3cdb1075bc1446afbdd8802ebd0444b43ca0150fbc1803bfbd0ee747bd3a68bd3c7b38fbbb537fb0bd168446bd5cf3bd3cc939d7bbceed95bdaae32dbdd8e5aa3c256dffbb8fd583bdd105fcbcef388e3c4962a2bbae2445bdd84d99bcaf0a4a3cb7a213ba0906c8bc578a03bb0646933baf1b113b4bd7adbbebd0663ba0f7bc3b21eed8bddacb983faf4eb63d5f9de0bc199bd2bdfe0b923f6e148d3d808ebebcf42b8dbd7f517d3fa42e843d3e49adbcb71635bdaace4e3fcc5c543d8caf98bc3142e6bcd39c1f3f43ca0c3d52e180bc8f31bbbca97ae43e3702613c49b922bcd7c3aebcb4ff893e613beebb15e189bb3911c4bc7716c53d287eb7bc2572673be17599bc3290e9bcb17c1cbd726b7a3b3e5689bcc565083cdb272abddaec1b3c0e5282bc7d8b12bdea7583bd42abbf3c135ac5bb3f3131bd51397ebdbb61983c9d9ee4bbe7756cbdedff86bd816dca3ce38984bbf41c44bd51d45fbd797fa03c86e58fbbf9f143bd25473ebd2bb4b93c8e0e08bbbf1606bdb987fdbc1de68f3c30c45239d1e7b4bc4fb782bcfbff853c929d363b32b466bb9015a3bb8f1d3e3cdff3e1bd4b2f803f0d5c863e6b974dbd30b9f5bdfa2e7e3ffa0e723e572264bd7bee9fbd1c80553fc2e6533eec223ebdd0128fbd6b723a3f1770273e675127bd69cd43bd97fc0e3fca50f53db15908bd9a2431bdaa55d53e14c7973db3f1dfbcbd1b02bd3a02853ecd7f063dbeffa1bc256408bdc3f2f03da2382bbc183308bc7ca7c4bc9b40933bd59a13bd9a208ebb39809cbcf634ef3ce88932bdcf61e6b83ea48bbca3e1efbbdba994bd234da13ca3d62cbcedeff0bc6bfba5bd6e3bb43c1c4eecbb4f1e15bd9d959ebd8ea4bb3c60d28abbc7fe15bd33358fbd4261b63cd83d96bb689d0cbd1f2070bdf344ca3c919062bbaf9df5bcf5b72fbd4526c63c0779c2baefbfa0bce681cfbc34d3be3c3550523bacaea1bb524554bc26af8f3c9cfecfbd3154523f75cce23e797e92bdae41e7bd8849503fa1f3d33ea8c0a6bd11c9bbbd74493a3fc88ab63ee85b91bdc71498bdd5021d3f4572933e7a3f7abd698f76bd32b3fb3e2cbe5d3e094a58bde57a50bd8513bb3e073f123efa542bbdad942bbd7372763ed05e943db29f02bdec0617bda90af73d3d62013c17f79ebc525ad4bc829fc23c490916bd4f2860bc120c9ebc4f780b3d7c262cbd156bcabb330f8dbcdf81fc3b03f69dbd3dee523c82360fbcfe970fbc20c6a8bd83e2483c0d4104bcf2ddacbc6d6ab1bde9c9913cfbf33bbbee6357bc040b82bd3623cb3b67a7aabbee8ad7bc02c086bd0af9bc3c1fb92bbb1b98b5bcb4e947bd5b0fbb3cefea40ba45308dbc6b6ff8bc4934de3c57ce143b9227a8bb31b588bcdf98a83cd1b9b5bd43e5223f9def1f3f13feb3bde133c7bd6794203f21c2173f158acfbdba0d9fbdae5a0f3f1561013fedffaebd1d3490bd0334fb3e2707d53e31989bbdced23abd5900bf3e5bb69b3ecd916ebdd6a157bd26839c3ed51a5c3ea7bd65bd94932bbdffcb4f3eff15ef3d09a52abd09a617bd0ba8e53d3f55e33cc5eaf0bc55f8d6bc8616ff3c6b4710bd2e07b2bcfb1c97bcec60f23cec9131bdf6c706bcbea874bcc38c0c3ca280b3bdf354583c06291fbccc0810bc3277cbbd6790713c6c24ffbbec4489bc36b2c5bdcb4d8d3c6bc7e0bb82829ebc271db2bd7d018e3c2967bbbb2f0bb8bcd07296bd797fc13c319588bb1cc5b4bc3efb68bd42f2e43c8123e9ba21f981bcd2d110bdf639f53cd059b33a83dff9bbac0587bc7765c13c601b95bdc863e83ee7634f3f0c36cfbd1d6da3bd54a9e53eca52483f5b08f5bdbc138dbdf019d43e72b62c3f323ed5bd6a307abda4f1b93ec8560c3f0573b6bd90a559bdbbe89a3e1bbad43e3b349bbd393440bde65f703e73f0913e5c6580bdd76126bd2e5a273e2e62233e35a14bbd699d0ebd66fdba3d359e343dee1a09bdecffbfbc341be03c938e13bdbe8fdabc03ba6ebcd956843c0b7551bd758d9bbaed9314bc963bc1b8c6e1d0bd7ce3903c34acc4bb1397c8bbc7eac4bd2c8f9e3bc93fd5bb663f72bc8d90dabdcb28623c1ccabbbbef2976bcf0bdb3bd25d9323ca028bfbb5fc7a4bc18caa3bd7c85b53c2d0582bb861888bcf1c35dbde96c9b3cdf06f4b985a286bce6ea09bde761f63c77abd0391c70dcbbc18e64bc8722ca3cd5b450bdca478b3ef4417e3fb764e0bd36a763bd96b1893e4b29773f3d9504beffce3fbd64ff823ec8624c3ff77cc6bd38e83abd282e6f3e7ca42c3f0c0dbdbd866a1bbd2819483e51e5003fcce296bde5bb19bdca4c223e47c9b43e214086bd3692f6bc226ede3dade54e3e32df46bdce7fd1bcfd727d3dc729673df1ef08bd8c97a1bcf6d49b3c709433bd8c43babc0dbbeebb3abdd33a386683bd1425f3bad193a83a006f43bc252200beec3dd73cb35155ba8eae85bc188501be2318513c63f259bb41ab8bbc17c6efbd31491b3c00508cbbb4a08abce9cfccbdf2dc053c76f48fbb5e9f9cbc8400acbd938e823c258d52bbbc8087bc801281bdc088b63c19e4e43a93fe31bc0cd501bdaa3bd93c02a8f0ba46b3ffbb404a28bc2cddb43c2bd9d9bc0dbcc03d1125983f0460dfbdbb1fc8bcf0cfc43d4437903f6372f5bdfc58c6bcbb9de33d615b763f3ff9c3bd5ca3cabcac6ee13d7c92473fdfeca0bd4749c3bcca5dcc3d0829173fca5387bdb268aebcb8c6a63d693dd23e2e4769bd53d497bc5760683d66b26c3e520f39bde58d2cbc5cdbe03ccc96783dadc9d4bcdf174fbce305833b3d836dbdc72cc7bc00000000000000000000000000000000c185613b37ed65bcc669cfbd630cccbad173113b9dcc75bcde3fd0bda22accba57415abae1d73cbcc8cbbbbd2710f0bb20b147bb310856bcf621a1bd227cd6bbdb478fbb1b0664bc81338abdaf1977ba2bfd89bb76a957bccda64fbd656fec3b807884bb1e5e48bcc3d201bd0da2463c0000000000000000000000000000000000000000000000000000803f000000000e5defba2acc0abdacdd973fdc498bbd1ba853bbc1d4edbb30b67d3fec4949bdd433d0bb2d60ee3beac04e3fd0b72fbdf994f4bb18c56f3cbff81e3ffc1318bd6cdbe0bbebfc453c5d97e13ec3bf07bdf5db9fbbfe5b073c31bb843e92e7e3bca2d56dbb7105eebaa2f6ae3d755bd2bc0000000000000000000000000000000000000000000000000000000000000000ca201b3cf80724bc09a608bd46cf3a3ceecbed3b72959abcaa75f5bc4b4f423c4e8be43bdc0da9bc6f8ef2bc8692323ce02eb33b2ca3a8bc5b4fdbbc5194223c141a113b1b80b5bc7f0fc9bc67d43f3c49541cbb7535acbc43749cbc66b3583c656a57bbdba88abc8c506cbc403a5a3c00000000000000000000000000000000000000000000803f000000000000000021deb1bbc972823f19c87bbcdc1734bc79177c3b98755d3f89665dbcc5432bbc35cd0d3c910c373f55a468bc996732bc7255183c1f93103fdc7a78bcf2dd23bc4d2d133cb69ad63e845fa5bc352b0abc5e68cf3b07158b3ecaabb6bc39a4c2bb0fad863a9e32053eee4fe5bc3d4672bb0000000000000000000000000000000043c9903b4a379c3cf702f5bcad8b073b581b953b3c5a633b75cf25bd6f1a493cb34fe93b787312bc37fe2abd0b4f253cd9db0d3cee9062bc3bf52dbd0fa43d3c4d67c13b953375bc5a3317bd3231243cf12eba3a089a8dbc6bce0fbd72e1593c739841b97f008dbcba8df0bc7c587b3cb3496ebbae654fbc466ba7bc68e8853c3ff2e93a854556bb960d69bc72b75b3c9c3709bd9dfe823f6585f53d6f12cbbc7e55fabc0582723f8919d23ded7ddbbc7e0b6abcc512503f2514b43d217bc4bce3b9bcbbb3a92c3f0b248c3db51fbbbcf79dc0ba89af073fb8794b3dba38b2bc9f37f7ba3f99cb3eedc7da3c21a593bccbd483bb073d863ee141c23b91fc7cbc3dea12bc4ea7033e83017bbcaa1d08bc3925b6bb74372e3c973be9bc12c806bcb48f26b91d3ef73c5533d0bc9cd70bbc6685fc3ad203b13c29bb26bd341c83ba8d0bc43bdb6b1f3c248b1ebdba6682bb3725cf3b9adcce3a083b37bd5c6ffc3aee2ad83b6ba80bba125c20bd03af8c3a1063833b2cecc5bb34c027bdcbc5253c794a9b3b90ec4abbea2204bd7398f23b5f62a63ac73085bb7fdfe8bc3ebd8d3c4af5823b095cf43a817f91bc5618443cbb6229bd4d815e3f6549883e2a4308bd689936bdf710513fd2b7733e46d11ebd515ac3bc6511303ff6ea503e27290ebd23a3a8bc6017183fe2a9283ea7130cbde49952bc8735ef3e2ceaff3d0b5ff3bcfa3c4fbc99efb73e094fac3dca1ff8bc137325bc5dd6743efee43c3dadc6bfbcb6eb68bc8d64053e01bcb63ba1fba8bc225a08bc0345ba3c295ab7bc08e377bc2d0b4bbb12ba103d61e7acbc053fabbc6d3a46bb2aebee3c241316bd2e2359bcef1e453b39b9923cbbe32ebd8dfb30bcb597813b3ee62d3c936736bdcec8ebbb0838a33b31c6d43b4b5332bdfb35afbb6867733bb793ef3a68d92ebdc74d363b306c013b58d88eba638f1cbd0125053c2408ef3a31f5ac3a040905bd980d743cf4b1b13b60a5843b5287b1bc1ff61f3ce54231bdb1ff373f1d13d43e9eee25bdd14340bd210e2d3f753ac13e562747bdef9d13bde921183f76cfa53e9a3735bd3c44e4bc593a003f9ddf863e3cbc2cbd0ad8b0bc4823cf3e018f503e34da21bdc947a8bc310d9f3e7400123eeec816bda4d691bc09f95b3eed58ac3dd04308bd30328cbc758ff93d1268dd3c645beabc3cba1ebc0759f73c7e1595bcdd45babcc9abc3bb851a103d26ff84bc958df5bc1a2dafbb7334023d008605bde561c9bcba171cb98dd1ba3c88a119bdbee0bcbc98979e3ac42a803cf24a32bdf12991bc5b5e8c3b4194483c56e90dbd235c95bce4a9ce3aec00c03b82e331bdcaa1c5bb474e0f3b87304d3bda3d1cbd2a44923a83bfa23a5ae69f3ad5ed00bd5391113cf12f8f3b9ee4a13b160eb7bc116cdd3b2a1e32bd61c1113f301d103fc15537bd0d063ebd12be083f37ac033f958959bd0eed0abd89f5ee3ec67be03ec52542bde18cffbc3007cf3e0a79ba3e85df41bd7a819cbc92a7a13e868c8e3e55921ebd17d2bbbcff4b833e4c5d513efa622abd65149cbc69fb343ec767013eab1e1dbdd7a095bc1111d73d9721493d25380bbd2fca43bcda31013dc78463bc1bdbd9bc648b13bcf9b7fb3ce9a749bcde1010bdf3f828bc6fcaf03c9ba1f2bc6380febcbaa588bb35d5a83ce6491fbdaadee1bc509be3bacf607e3c41f62abda93dc3bc1a1a99ba255e3a3c562e2ebda0889fbc87ba0bbb5614b53b4e242fbda16118bcfd9565bb429bca39a1dc24bd5c1a55ba82a165bb79c9babadf2607bd71670a3c90efa83af816583bdddab5bc7db1a23b71761ebd9098d73e0d87363f23973fbd3a5a36bdac36cb3ec60c283fbd7065bd01a213bd026cb53e9eab103f567c55bd1a7e03bdb68d9c3e1d8dee3e620f4abd4233dcbc2eff803eec19ba3e44763ebd72abcebc03284a3e2efa863e179d35bdb8f1cfbc1412103e74ac293ebd8c2cbd93bab5bce3d7ae3dc64f913d94bc1ebda96565bce77be43c237b31bc51a8f3bcd1fc34bc5497b23cd8eb28bc57050fbd002b22bc2b36a63c035df3bca2810dbd9b229bbb96098b3c8a860bbde00806bd286eb6bb1b444c3c24112cbd234ceebcda5683bb9e09163c6f351fbd1b7ec3bce232c1bb678d663bc28e2fbddcbb61bc7ec389bb35079d3a77b40bbd9bd220bc34daf6bbf2ba68bb357b0fbdcf29073cf5925ebb5a8a70bab7afb8bcf4e4ca3b04e303bdc75d8b3e74ca5c3f190738bdd5be18bdd936843e6cbf4c3f9ee05cbdf8bfe8bc17126c3ea3722b3f1bd63bbd04aae9bcfc51533eb0c2103f296a3fbd5176bfbc96f12c3e256edf3e1e482bbd49ddcabc99d60b3e57d5a43ef48d33bd56c2adbcb9cfc33d831a513e6ea51bbd87babfbcd53e723def57b33de1071ebd8e2581bcd87d9f3cd7922fbce52eeebcfb662cbc29814c3c830f1dbcaf8b21bd908713bc5e33113cab0503bd507a04bd1d65d0bbca03063cafa923bdced50cbd0cb0adbbefe7e43b0fa32bbd4e5701bd8c86cdbba25a9e3b7e5322bd503fe2bc8aec05bccf3fc03a2ed636bd089380bcdf1726bc2fdcb0bb650421bd3335c2bbf04c4bbce37302bccc6810bd85e0093c1f8d12bc73dabebb613fabbcd68d943b9c20c0bc36c0013e3a31823ff28b21bd2921bbbc362ef83dde5e6f3f9f5936bdf9e8aabca3e3f03dce2d4c3fa01920bdad83aabc909fdb3d3eb1273fed4d15bd6cf39bbc541bba3d43d4023f263d0ebd2170a9bc46a3953d6a15c03e2edf1ebd1c61a5bc2cec553de3a0733e35441cbd1a1ea9bc155af53cc284d03d2ca614bdd1337fbcbff5133c2ec642bc01c1febc000000000000000000000000000000007cdca2bbfe21383b5ef3bbbc8d2a12bd40817cbb1737253bd40af2bc6c35fbbc4fce8dbb178c833b0247f7bc2054fbbc2d5599bb39314d3bddaff6bc5118d2bc8ab7cdbbc92b24ba0e33f7bc82f8a5bce1e90ebc3179b4bba20feabc1f2728bc4e6538bc5baf01bcde8acebcc09650bb0000000000000000000000000000000000000000000000000000803f0000000063b21ebc5628cbba741b823fce95b8bccff513bc3c21ee3be68e5c3fe25c99bc328128bc53c5643c099f353f589898bc82c932bc12cb4a3ca52c0f3f301da7bce4be4bbcc16f523cf11ad33ec6b6b0bc57d64dbc21e3033c65c4873e8743babcf84062bcd865263bb9e4f93d7a7fe5bc0000000000000000000000000000000000000000000000000000000000000000835e773c37724cbe3b190b3d73c5d8b970ca173c597f4abe6f59fc3cb8ecaf3aa6d8483b4af339bef7ae883c0d2c993bed92d53a6e4b1abe2b07533c93f1d43b60882f3b2632ddbd57b9e73b1918613b77922ab9e42a6dbd739b1b3b0545723baff35eb9ce633ebc242937bbb3845a3b00000000000000000000000000000000000000000000803f0000000000000000bfd2d1bd0940ab3f48f202be5887813c5f6c62bdf34d8e3f3448bebd923c383cddf803bdd70e6c3fa62d9cbd4c541d3c58365dbc4c8a313ff9de71bdff66e93b068d2c3b1318e83eb8b616bd34bbd63b7318363cc781683e22534bbcbd01ca3a0da67b3c5069343c7952e33bf97eb4ba00000000000000000000000000000000ad0ebd3bb4c7cdbd0fcf423c80a62d3a2a49923ca0042dbe8b9e073dfbc2cebad05b7f3cb8eb4bbe57c49a3c1c1fca3b6ef5633c675344be0ee15c3cb955153c5b694c3c99ee21be6f82a03be47a193c58ac523cc3f5ebbd36e8b03aa9941c3c9fa3543c670c88bd65c92ebb3d1bfc3b6d60313cad5194bcd5d51ebc6241123c4b212a3c2650583ca4c29eb99c06803b2c6940bed53dab3fe4d36e3ca61f7dbcbc8223be5aab9c3fbd57203c316974bc90380bbec114903f6c7b9abaf3ff53bc39dcd3bde6456f3f3ea755bb667e16bc2b0695bd6c76353f4a0700ba35d7febb77423cbd0d17f13e394b573b286fbcbb64a5babc4d14783e813c013c7d7398bb29869839a33e333d890ad33c6ccf20bc02a17dbb44d0d4bd886b703b0e45ebba2acf0dbcb99535bd4b5c2cbc2301b13bf992813b252500befa7577bcda973a3c9c95f63b214e20be2432a4bcf56f763ca520543ce01525bedd9194bcf4da6a3c49ed523c53ef07be1a2e9ebc435e583c7b7a8f3cfe4adabd4ea64cbc3d52473cbb23953c381f85bd581300bc822c173c5bfa993c5dbcf3bc877c3fbb67580e3c459d8b3c9c6037b93c7a9b3b3236a43bb71a39bedeed8d3fc3e46a3e45a366bd42e240be11708f3fd8ad423e58e859bd6dd124beee33823fc01f1d3efd2929bd5ed60abefa7a5d3fb4c7eb3d911405bde742cabd8594293fbe99a93d988ab0bc7eb899bdf7eeeb3efc885a3d89d384bc00be3ebd86cd803e9755d13cc4d8fdbbc3f0ccbc02629b3dcedd9d3ba2bd4bbbab1f92bcc0cc2dbd8dbe99bce2a7233b8a759cbc4dbe28bcdb8d26bdabfe603c7c4a3ebb97a0adbd10386bbd9bddc63c5a1be73bc726f8bde0907bbda15fd83ca1d72a3c5df6febd5a9d5cbd3c7cbc3cfc0b803c178af3bd1f4a37bd7a00b23c7b29943c6207bdbdcea0e7bc7e64873c113ca83c9d117dbd62b480bc8a18673ca67db23ce80f0abd66de1c392f481a3c8c88923c170af7bbadcc4a3c517d8e3bb36d2bbead1e6b3fd326e83eaa84d0bd53f437beb6b46d3f6541d43e39b8cdbd139e25be5ae65c3f8028b13e7537a7bdb60e0bbed2ff3c3f51cd863e1c7974bd419de6bde7a9173f6283423e807b34bd67f9abbda79cd63e49a4e73d5613d3bc412377bdee9f7f3e158e453d007850bc27e219bd74b9c23dcc1ca1bb05381a3bccd6dcbc416621bcd07846bd55d7c93b8628adbc3f72413c801884bd3a2e983c4233cdbbcef545bd8039c6bd4d5c0c3de083953a1d0f9abde5b2d1bd4934fd3c1640103c4269bebd929cbbbd41d9fc3cac9bf63b402598bd02278ebd8f74a43cb33d873c24939dbddf3a47bd8820b03c5ff9873cb0ba4abd2976b1bcd3f7473cae73953cf465f1bc33c0b4ba6ac5153ce149883c7b6821bc13b74c3c3cacf33b01c60dbe3aec303fc27d313f51a112be1c7716be5be5323fced3263f7c5311be704407be43e3273f8bce0c3fb78de9bd5256fbbdf8cb153feb7dde3e2d91b9bdc7b4b4bd63d3e93e152e9d3eda9974bdbe45a9bd7bd7b83eb06b3d3e727a1abd29566dbd6f78643eedb19c3d30b064bcb03a20bd2a4bd53d41a855bc5312d63bd6f1eabc96926c3c81fd93bd8b4e453c1c7890bc9172d93c886dacbdb375c63c4764adbb1d6162bcf00a12beec943e3d69dd553b027740bdde9915be0227343dfed7ef3b10486cbd50f105becbcd193dcd29503cef8384bdfcbed2bdb3d5fd3c48f4513ce63f61bdbd4685bd3d33a43c4d0d943ccee337bd379806bda39a6a3c4785883c6437dcbc53a8a1bab7400b3ce570593c703c31bc6cb8943c2565973b4e4bc9bdc7a2e63e63f06b3fd5042fbe3950e1bd6853ee3e0b51623f046d35be0831d2bd4358e73e4e05433f474017be2f08bfbdb2f3d13e2bfd193fb9efe4bdb1e5a9bd8a88b53e1523dc3e096d9fbd7f8788bd23028d3e9559843e18b32bbd2ac557bd625b403ecdf7d63d98e93cbc335a11bd5539d13de1d5aabc42f86b3cd541c5bc958bda3c1070bcbd2f938f3c014557bc158d043d9c10d6bd0c50153dcf866abb3496c03b339131be93ef5d3d79d4ab3bee87a0bc41c138be2544473da2d80a3c530303bd5a2829be23e42f3d6d64fb3b7f870ebd068000be600ff83cf456213c503212bd3981b2bdcee2ca3cfc01283c0675e0bc69ac29bd8f19673c84db393cfed1a4bcf77a85bb1de9903b6d031a3cb46eeebbbdcf9d3cb367e23ab06e66bd3479673e9f3c8e3fb2b93abe3b6380bdf814713e685c8b3ffc6d45be672d73bd6d58773ea042723f6be323be66d670bdb3db6f3e4882423fc9bffdbd01c74bbd67b5563eb9ff0b3fda0cacbdbf9e2cbdd8b5393ef7e3ab3e613a42bdcd9d13bd4f45093e51da123e879243bcc242cebcdd3ead3dc8d98abcd93dae3cf86a87bc7657f93c1fe9debd7c7cea3c64642abb85d1cb3cac580bbe9256243d2218283a157fac3c1d8446be5655763de5dacd3bbacd2eba2a9058befc41543d4018163c020136bcf35f46be2d29333da35ce13bcc4790bcc41b1cbe814f073d37b4db3b1c5070bc81a7dbbd73e6bb3c75f9d53baba367bc40dc50bde7a3133c61706b3b719032bc1976afbb32e63dbba80b863bf52340bb9336ca3ca34ddeba49895bbc371f653cea90ab3f834541be43e99fbce06e263d6fbc9a3f6e0c2ebe7a64c1bcdd45853d02148b3fda4018bed382c5bc6d2fa03db526623fa8e3eebd231ea7bc5abaad3dbbba253fb64da1bd7b40a1bcc216ab3d80d6d03ea19332bdc74864bc2e3b933d24d6383e1be4c7bb68b530bc90cf723dc22c68bb7a39fb3c69aa85bb0cbeae3c520a12be3e870b3d00000000000000000000000000000000807c123cdff9c13b928e4abea5d41e3d7b5a203cc15f08badef847be33500b3df954cf3b4f2a99bbf56b37be034dcc3c5274d53b3381f5bb0a2d16be2ed3873c7718503b110700bc6164d3bd5bc1463cde48aa3a3a1503bb147e6abd3b53633bd9a23b395ebf53babafc0ebcf21a29bb0000000000000000000000000000000000000000000000000000803f00000000365a2d3ccaa9d3bd812dab3f9b8ff8bdb2f9803bb74b5abddc548e3fcaf3b0bd4529fd3a114cf7bc89516b3f9dd98ebd23757b3a7e7511bc2907313f271355bd21de163b2124773b92b5e73e7408f1bc95827f3b406e403c2623653e4fe06fbbbda2953ba41b413c61ceee3b4516803c0000000000000000000000000000000000000000000000000000000000000000f9acff3b56bf39be332a193dab9b9dbb5451b73b809c41bec35d293d418db1bbb05b493b1c5333be6191f13cc31000bb6795d93a452d1abed307de3cb359d0ba63ca103b6401eebd536eca3c955478bb7b116c3b408290bd7b248a3c5f26d1ba7da1233b8688babc5e37143c31f97dba00000000000000000000000000000000000000000000803f00000000000000001750b5bd9b0aa83f629bfdbd19ab4d3cd6ae49bda6e38c3f125ccebd3fb53a3c35abdcbcd52b6a3f77bab5bde31e3d3ce8dd43bc5105333ff2b39cbd7c2d2e3ce55c0cbb4d40f33e11cc70bdb410103c5cfa643b7b47813ee67101bdd2ae383b8300c53bec880b3dc496febb1c6fbdba000000000000000000000000000000001b185ebc18488cbdd504e7bbdb7e9a3b28394e3b5b9b1fbe8cdff63cd87896ba521d4a3bbc1c39be6d3fc93cc752d33ad2a8d63b732437be117dbf3c18301d3b0e2d0d3cec101ebeeff99f3cc1ddf03aabc75b3c7840fabdaf029d3cd0667b3a6ab76f3c73d89ebd72f25f3c7c1a913ade15853c6a9be1bc33655c3b4b0f233bef43583c294e183a05fef93b07b582bac6f926bec5e1a73fd3d49d3c8dc03ebcff3e1cbe91049f3f493523bccf0712bc20c100be8bff8f3fbb8bc6bc10c087bb14f7cdbdd560713fa2490bbd9a1aa7b84b30a1bdd2783b3fc3e21fbd649f803b32b574bd2664023f8fe520bd769dc63bc7c833bd302f913e8767f8bc48d79e3b4906cdbca6688f3dabf795bba1819fb9ef2bc5bccf6e90bdf137a2bcfd91983b867efbbc8f254dbaa3722bbd475a813c63218ebcd60fb2bdc44907bd9bbb913cb87202bcf9e4efbd3c08f5bc09da843cd2067c3adbd00dbe30e385bce91f523cc90aed3bbb88f7bdccfe4cbc01912a3c364d763c5cf3e0bd2a1c7c3a1e48fc3b75df843c495097bdbdcc933bc065843b2ac8b33cf8e133bdc274303ca640863a6075a23ca4445cbceefb743cbf338bbad0d622be62578b3ff986623e836d3abd6bc92ebe646d8e3f0471253e5e9913bdebc614beada4803f6cccf03d2ccdbfbccb170bbeb7f1613ffd71823df38d3cbca926dfbd4263323ff566e03c647848bb1668c5bd284d043fb83214bce0c56d3b9bbc94bd932da33eab03f9bc62fc223c4c3c73bdb3230b3e84c83abd0155743ca1083dbdc49f8d3be49866bd3382713c13722fbd4f3f2b3d3442a6bdca73e73c53e7e8bcd69102bd5d70b0bd7db50f3d23f37bbca6fea0bda7de96bdbeecf83c1feb89bb44e6c3bd054a6bbdaa80cc3c84db863b4402cdbd137330bd163faf3c4518413ce2ecb3bd6c73adbca777623c25a8a13c052696bd9c1138bbcda7043c840ab73c089d3cbda895573c624ed33a645dad3cde26afbc7a3d893cbb43623a91d314be25d5653f5264df3e5deca4bd296f22befa686b3f6f5bbd3e16ba90bd6c8d19be79275e3fd030923eea5852bd17850abeaea9433f188b493ec167f6bc8e8efebd78b2233f7577ea3dfbf864bcf39adbbd8c14f83e97ad1b3d5f2c1439e834b9bde71ba63ebd66a3bc828e4b3c07f596bd67c62c3e50a489bdf070bb3c17b76bbdf27d4a3dca65bcbd3f61cd3cff9c38bd78b9863dbb4bd8bde958133dd36003bd5dc5dd3be3dd03be809c453d545f99bcb7e7eebc9d0ef5bdaf362b3d69da1abce2b275bd8939d0bd0ee21d3dcfea5dbb63413ebdf5069dbd697fd83c6ead203c1b558ebda0ea3bbdb3c3b03c45fd6b3cb7be60bd808e96bc5c494e3c7d44aa3cb85c2dbd616d083ced00463b3681a93cebf5c9bc78628e3cbc044f3b1a54f1bd07cf2c3f6b41283f7249e8bd2f2503be11d0323f6367183fbe01dbbdd6e4fcbdda0e2a3fd918f53e74a5a3bd7d5dfdbd189c1e3f85c3b43e848466bdbdbcc8bd5c33fd3eaa03763e72be16bd254fd1bd6c4ad93ec44bdf3d450f01bca157acbd8a8a963eb8df6a3c13bffd3b6d5797bdb8dd343eaf9c97bd52c4e83c74ef6cbd499d983de3a0ebbdbd52f13c0bca26bdc63b8f3d7799f7bd1387303db799dcbcea85df3c80ea29be527b7f3d93818cbc3e4914bc083023be1bbc653d0ed017bc33e1eabc9d610bbe55823f3d2c4033bbf4a32fbd53fbd9bd8d1b1f3df5acbe3b973041bde52686bd26b8cc3c8b3c513c180936bd3d32dcbc11196c3c96fe813cbf6813bd4312a03b6a9b353bb92e963c84e3a4bc46bf9f3c52ec4c3bd731aebda243e73e787f613f39fa10bed915c3bda726f23e5dc6523f06510fbe34a4c5bd93b5f23e32302f3f6f5ae3bdd6a7bdbde8b8e33e2e43053f88809fbdca4bbbbd9fa4cd3e1dc4b43e761d47bdda4dadbd9c5ba93e4ae2413eb2658fbc3ba897bda8087f3e60c8353d0ac31b3c5b397fbd87a5253e8d0a96bd2929183d6eae50bdc9a9933d417a05be6a630b3d427ad7bce88c6c3d001b06be11cb4f3dfbe692bc56b9053d00f241beb4b08b3d77f731bc8571ef3b12723abeaedc733db063c3bb7ebd26bcc83c2cbe9828613d7cc584bbc5337ebc9e2403be1575233ddf87323b04c1ddbc3916b1bdd360ed3c2737b53b9722cdbcc4e22dbd39997c3c72e83b3c472ac0bcf88d693b3c1b9eb951a93e3c962b63bc31b9b73c2cdbe2bae2e246bd27ae723e4df4893f4b2b1ebe78d064bdd351803ecd9a843f691b24bec29670bd7d4b893e00f45d3f3a6f02be417e72bd697d893e987e303fafa0c9bda2415ebdeeaa7a3ee5faf73ee55d83bdc8715dbdbd86623e38d2903e428cd9bc00c540bd6a59303e2645d43d4a8b103b067b2abd5a4bfc3d57f378bd3fbb223dd8ab05bde104823d0dbf11bed8b4373d035125bcfb000c3dcade13be335b4a3df3bb1abbfbaddc3c382152bede16913d4cc0bfbafe9a113c235657bea7be7b3dd03f8038739843bae86742be767c643d89899f3a5465afbb7f041cbe27fd2c3d44c8e63adcbfdebb7b7ed8bd6e95ee3c1652493b8cda1fbcfa7e50bd023b683cda2b8b3b6fc0acbb1cfaed3a9234d7bb7176af3b9a3d89bb0e0db93cb79e25bb49b83bbc67bde53ced77a73f9bc428be7a259ebcc588523d3467993f4d3b1fbe517cb9bcd2efac3d3482853f10f204be7abfbdbcdcc6cb3d2ad1553f1de2d6bdbf8fbfbc4023d93d89a11b3f5e1391bdfc309fbc3cefca3d8080c13e32331bbdd73e88bce19cb13de6041f3e8680dbbac24f3bbc8a8c8b3da2d926bd2bcd2d3d2a4235bc0d9d053dff1e1fbe6169273d00000000000000000000000000000000c279cd3b52db1eba901f38be62dc243d85cdc63b93d844babd4b3abe701d263dc1931f3b4d256bbb8b032cbe2eac043d4437023b5cac57bbcf8810bec579e03cbe08bab9dc8300bbbb78d7bd33fca53c43d952380fefba3a0e9870bda4c31f3ca37e96ba05e2b73a315f6dbc742ffa3a0000000000000000000000000000000000000000000000000000803f000000008a442b3c18e4b5bd3551a73f5322e9bdec2bc13b1edc33bd03118b3fe9bbb4bde8d0ab3b9e9c9cbcf3a9653f9e0a9dbd12ff7b3bc4ae8dbb72c12d3fde1e7cbd70a5b43bb114523b6e74e83e89272cbd41f1ec3b348b073cc0eb6d3eb2f278bc2ffc203c8801873bf9989c3c1899e93b0000000000000000000000000000000000000000000000000000000000000000eef09dbbe297b8bdc0ed34bc180f883b652881bbb36fd5bd6474c5bb87af103ba39827baf34ec8bd52d214bc430f9e3b77e01fbbd93ebabdee20d6bb7a025a3b4452bbbaccaca4bd32ab8fb914bce23acf5207bb8f247abd7490083cb08939bbe3bab73a29ae2dbd970b703c875498bb00000000000000000000000000000000000000000000803f0000000000000000a8d43bbd28d4963fbd4a96bdc895483cf2d3adbc94b27f3fe2c281bd5c02773ce89afbbbf46a533fe0356ebdc4c44a3c6ffd82ba0851263f9f9965bd8e02623c8fbf1ebaa74cf13e79b764bd2a97513c0d9c82bb0b70933ea74246bd11ae3c3cc31c12bc73a2e63d08eb33bd3711273c00000000000000000000000000000000e996a7bc1a5ed9bbf1052ebd0816703c7cb3b5bc7fb598bdd688d7bc7fcd083ca8df7cbc61f8babd3b3eeabc11f22f3cb8041abc0c33bdbde40cd6bc3df42e3c103769bbeee0aebddeddb9bc3ed0303c5ab101bb9535a0bd0d562bbc204fb23bd083283b53eb7bbd7c23b8bae51e533bd9a4d53b86551dbdad623c3c752d4bbb66881f3cdc868cbc9dfa513c5d5cdebad959ccbd06d7963fbc4a8b3d648062bc402ec8bd21fc903f76190f3d0896f5b9a02098bd9d787f3fb19db23ca80cb33a618b6fbd4c4c553fcfadd53b36e6863b2cfb45bd269f283ff3491dbc857aae3be5b32ebdcf5ef93eaed5e0bc2202253cd87c29bd937e9f3e28ec2bbdbcb5303c96dc2fbd11570a3e7b4444bdb727503c630708bd45ba9b3b9ae869bdee1d5a3c3c850abd6a561b3d7af481bd8a49ac3cf7d605bd227118bcf5d497bddfe4d93c1ff190bcfa3deabcea3790bd4722cb3c542b6fbca60b53bd91ce82bd6c23c63c6c73c7bb391f48bdb2115abdc169a53c78ed09bbef6e5fbd658723bde61a923c6f65813b3bf42abd3cefd0bcd138613cfc1f093ceb380fbde0819abb247ac73bd15f4b3c9f2962bc0524bb3a38a4b03bffefdabdc2227e3fe24c763e0cd519bdd71deabd77da7c3f549e473e24b4f1bc5d48b8bdb0555b3fed6f233e3798c0bcde02b3bdaf4c433f236ada3df1fd39bce07c95bd19aa1b3f231c893dd4c7d9bb28f492bdf201f33e37909f3cd32bda3a803c77bd1010a23e898848bccad98f3b7e3b82bdb66d353e19f557bd9e316c3cfd524bbd55d04a3d9eb486bd1091593c56361cbd08408b3d205dadbd1077de3c416518bd2c8b043d26dad6bdea001a3d90a5dbbc668099ba671fd3bd9840163d8be09fbcc69a94bcb719bfbd728a073d6e3f44bc25dae0bc572ea7bdb7e3083d016cb0bb63a406bd96037ebdbde6d23c37823a3a38950abd2fe82ebdac3cac3c341c043c7551ffbcabab90bc9a39623c40a3423c2b5471bcf3c212bc3f77613cd25bd1bdc882503f0660d73e5df281bd337fe2bd31634f3ff580bd3edd2069bd0018d1bdca6f3f3fd4179a3e8ca134bda62dbfbd531c273f2e1d693ed60801bd94e2b3bd5a550c3ffe451d3e120ababc74c3a5bd25a1dc3e4f96a73de93a17bc135e9dbd061e9f3ec1b26a3c1e94a53abeb093bded45443ed2f933bd22324a3cb2c460bd3ef0a13d556e98bdaf84213c12692bbd7128a23d6844c0bd5549ec3c340a25bd9bec5c3d0727febd1f4f323dd530e5bcf2a5d63c98bdf6bd466b1e3dc984c2bc5450d03be8dbf6bd1ea5303d58bb1cbc295f863b99ebbbbdec8bf63ccda411bc97a38fbcde6dabbdf14b123d70ec0abaa5e69bbc849263bd6925d63c67dcad3bd665b8bc9c39ffbc2f93a93c4e363b3cd90c52bc63688cbce49fa63c6697b9bdcfd6213ff50a1a3ff38fa6bdbac1c2bd53db203f1e9d0c3f03a9a4bd49f4b4bd73ba143f91c5e93e39ce83bdc4a3b8bde527083f1fd8b73e0db155bd308595bd1b21d83ee5ac843e805228bde606aabd4e96be3e21531f3e900dc8bc2b5e96bd0a018a3e02b87e3d52ee2fbc097e94bd8f613b3e5921c4bc30b5bf3b96b668bdeb0ab73d533798bd0ca5b83b589921bde1cf983dfa07c7bdfa3ced3c034321bd3ffb6a3d615a10be8362453d3fc0fbbc90b9073d5c6114be95f2413d4fe5c3bc4c22813cfed007beff522f3d61eda2bcb51be13b6ae8f7bdcdbc303dbfb316bcd28400bc061fbcbd4e930e3dc5b0a5bb1adb75bc9fd88abd52dcfd3c8224ef3af76d8cbcf23918bd58eac03ca390db3b4dfe19bc3e3ea9bc611db23cacd08ebd091ce53e706b4a3fe882c6bdd46097bd4eaee53ecf4c3d3fb1adcdbd9ef295bd2bd0dc3e375a203f8616acbd3a1b99bdb140cb3e23d4fc3eec5f87bdd96a9abd17f5b33ec668ba3e1a7758bdb7f192bd21bd943ebad76b3eaf6906bd180a8cbd9f71673ea500dc3d8f3186bce2f383bd15c91e3ef73498bb673d1a3b4b6b50bd428fa83d263c98bd33e72c3b865f03bd235a6a3d0518ccbdf6ef053d66a0f1bcdcf83a3d2ffb19bebf454d3d4d3ed1bccdf2043d643d13bec9a0263d36d3b5bc468e9e3c55e716be59553b3d1f2791bc820d3c3c916efabd49f4163db97a5ebcbdb7b4b97fcdd7bd45b21a3da9b3d0bb29618cbbde8592bd18b5ec3c1addc73a8da360bc25c714bd0d2bb13c3330b73b9da615bcadc772bc10fba03cddf832bdb3f9863e3a36793f711fd6bdec053ebdfe91873e9ff46d3fac70e9bd39c947bde662883ebe16453fe98eb8bdea2655bd990c833eff65223fb046a2bdf02e55bda42a6a3e2e45ef3e5c1575bdb15561bda2a34e3ef723a03e928530bdb0fd49bde8ba1d3eb4c7273e0371d7bc146747bd4149e43dd9c95c3c34b1933a1bd923bd1cd4783d62489ebdaade9b3b6181acbcf762fa3c53a0c6bd9fd7c43c10d63cbc326faa3c4a7e20be35684d3d074082bc343e8c3ca5da25bedae02f3d53e889bc0c784f3caa9c1cbef31f1d3d5e837dbc42e5113c83ba07bea451103d671b41bc8aae243b1411debdd895033dc009dabbda7916bba2e199bd272add3c9715ba3a8107c1bb22bc04bda25a8f3c2078f6398c0fd5bb89ca75bcbd6c923c6dec7dbc344fad3d2ec4953fe8cddbbd08327ebc9c91b83dece78c3f7182e4bdd806a3bcdfd6e23d5795703faefdc1bd2d48c0bc37deef3d7fc1423fbee69ebdd2acd7bc2defe83d863c133f58e082bd5f85e2bc592acd3d511bc93ed07444bd8fe9d1bc6498a23d4a1a573e457aedbc45f7a8bcfe9c543d6ee10d3d22a8a2babe6ccebcde3cff3cf68c9ebd06485abb000000000000000000000000000000000d8abbbb4984e53a58c2e9bdcbaf7b3c16bfb5bbbc36cf3ab4e1f9bd8113933c0dcc20bc0879cd3b846defbda637713c2f914abc4153b03b682ad6bd91a65c3c157438bc4802233bb24cb7bdd745683c109708bce61954392b7382bd1e9a663c7c32cdbb8bb220bbbd9f1cbde8664d3c0000000000000000000000000000000000000000000000000000803f0000000016efff3b410b31bd763f963fd6f998bdf74f683b29204cbce30a7c3ff52d6abdc900fbbadca5bf3b03ed4e3fe2cc5cbde2e4a0bba840573cb5da203f762c46bd0984efbbfd61843c1839e43e7f9f24bd9c5e7bbb54661d3ce7e5863e6aa8edbcc06fdbbb77e4a03b6ca8ae3d334799bc00000000000000000000000000000000000000000000000000000000000000009309d43ce51c5bbe19905f3d1dd5fdbbb566483caed64bbebcdb263d387fa5bb046fb43a464545bef7e3f13c00d3f7badabd0fbba8c21dbeb5e9b13c461e09bbbd43c9bbaf09cdbdced3373c6b71fcbad3b82fbcc68a47bdce97d738f62f2dbb535721bc8e2e11bb7aabb8bb81d701bb00000000000000000000000000000000000000000000803f00000000000000007f53f9bd7a6dac3f17e70cbefa43a63c8d4e94bd4cdc8d3f8c51b7bdfe15583c4f5363bd4b256f3f49fc9bbde438843c7f11dcbcdc98303f74a355bda373433cbc3ec7bb97bfdd3e7a68afbcfbe6fa3ba266103c8997593e2654a93b7e39783b7b99ec3cb62a4ebc1e13f83c189095bb00000000000000000000000000000000d513153c9b20d5bd00440b3d4129b4bb19f12f3cb81111bec9531b3d46e8e2bbfec8283c6a8648be6091193da2328839d604283ce70f44be2ded0b3d392c9bba4706e53b3e6723be7da3d03c1fae5e392cd6a63b7fa2ecbda3057a3c5ac7683aaf5b373bebef78bdc6ec023c5553af385dbedc3af009b3bcc1ede6b9afe0f53a87480a3caeb74a3c684bb0399b684b3a5c5e49be3266ab3f10dc69bb8d09ebbbd1de1fbe41cd973f7f9b803cceb418bc3a0c20be4f44913f58088abcea02f0ba6bfe06be7114743fdd628ebcfa9ec8399a3ad1bd56533a3f14bd3ebc79fe5b3b84558cbd32bff63e71b4403bb5d3cbb9a77d09bdec91793e108f7c3cc3cb8ebb0004ebbbb36a8a3de236c13c87220abc3ee9c93b7e7de8bdecfce63c7ba44bbc48259abcc50bdbbc4b06933bfb01293a71c69ebba7c6f3bdfdc4293c345db83bd6e745bab32e25bed300953cf9399c3b584d713bdef430be2332bb3c830fb83a42951e3c90a21ebeb8bba53c1284d73aec9f583ceca2f2bdbb3b983c1351443b97266b3c259894bd3d4a6a3ce9928cba0cff863c1e1e07bdea91523c9e90bc3ac574933cbd2918bc789c623cbfe9873ae5752fbef8558b3f6e055f3e54c752bd37bc47bef54c903f3d92243e75702bbd5e9c3fbee9bd873fd87ad43deaa0bebc98622bbe346b6a3fefab8c3db31d60bce73212bebc66393f7e052d3dc87fcebb0a4de0bd40fbff3ea7eb043de85d13bc19e294bd9e558c3e6d5eb83c2b6ebdbb0c8e24bd8270b83da2c8213c5d080ebc78d3dabc9573dbbcd20965bba3083fbc48c609bd1b3b053cdcf6f6bc51384c3c518a8dbca2ac97bdea9801bd99669c3c5ef134bc09aef2bd389fccbc519c9a3c7e24f7bb6da90abec529a4bbdec70b3c9811ab3be35f0dbeb034023c1b12d93bda17283cd2dfdabdd914483ce01da83bb3da7f3c5db791bd65799a3c11347238aadfae3c1a6b2bbd16dcb63c55002c3b7f73b03c15f59cbc4418db3c2425f6382a3d26bea0fc683fd1abdf3e325fc5bd5dbc38be26816d3f23e3c43e0a33b0bd4e4838be4cc6653f7b02963e37fb6fbd7f432abe6c9d4d3f116d483e41d907bd3e3f1cbebe9f2a3fcbacf23d78178abc03c8fbbd798df33ea5c68d3dadc023bc1598b6bd7998933ef23eb33c040b8dbbe9bb6ebdd9ebfa3dccb150bcff4542bbfe7b24bdfbf8fc3b29f62ebde611f7ba9ff327bddce5233dff0c8ebd88c0f33c2c5cccbc0e8704bd4d59a9bdc727113dab8489bc7044a0bdf06c9ebd8934f93ccefe3cbcc651cebd1c1b44bd31eeaf3c3f1690bbcb76c9bdb7bdb1bcc4c51a3c8925083cb5cbcabde3775b3b0b78f93b88a1493c9d0d88bdd2107f3cec3b8d3bda33933c43212fbd91e6e53c53314f3b960cad3cd23c9dbc62260b3dd9800e3a0bdf00be5a412a3fb72b313f920414be031b18bea3ff323ffaeb203f55e307be7b0b1cbe4d18303f9b91043ff3b3c8bd0a2f18be1abe243f044bbb3e9e4c73bdf85907be8d2b0b3f559f683ee6e6d8bcbdf2fcbdd9cbdb3e73a8ec3ddae329bc452abcbdc5978b3ee758fa3ca926933b002484bd03c80d3e2e3907bd77e7d43bfdb742bd087c143d9b18a9bd71ecf93b512813bdf6db553d25b8c5bd4c6b0a3de984cabc4106d9bae50706bed6e6503d124284bcc9a32ebd202904be6086403d61b553bc039f77bdb934cebdb94b073d3f384bbbfee99bbd43507fbd98efb73c9343b43ae62c97bd933eaabce3b12b3cc8834b3c31007dbdb05d123c6282873b3810853ccc1116bdc36cc13cbd44013bf175913cc96aa7bcddab173deb267a3a2233a1bdc09dd43e90246f3f167737be377bcdbd9853e73ee8445e3f01a22dbe017fe2bd3bf3eb3ebd223d3f55db07be0064dbbd8db2e03e3e370f3f23d0b3bd72f3debd9482cf3e3f8ebb3e40913bbd4481c9bd76b6ac3edc22443ecaf055bca255acbd6080733e55ba633dbefdce3bc02577bd1bdc083e1f3c31bd35e5a03cb78036bdaa0a5c3dddd9e0bdce38943ca43fcfbc4760523d62cce7bd4b46463d961883bc2f453c3cc7082ebe8582793d40393abcf8fd63bcca4d38be59a4683d1ee20abcb6a406bd6a3f1cbe7b9f2e3d47b941bb60eb31bdef8bddbd0d39fe3cdab9073ac0d94cbd43226bbd93788d3c3716163b7add29bdd45b33bcc8c2b63bcf90353cbb6e02bd91f6863c1e50f33ab3e9233c6cb54fbcd242fb3c34d84eba507d20bd0b394c3e30da8d3fe9903ebefb1365bd418c5f3ebfbb8a3f0ebe3cbeacb777bdcbd46c3ebb4b733f955e19bee4c886bd4df7743eb2423f3fc734d4bd819989bd1c726c3e51dc043f3be96abd342d87bdf22d5b3edb82963e3a2677bc887363bd85542f3e32cac73da066543c5e8631bd712fdc3dfdc613bd8791e93cef1903bd14474e3d64f9f6bd8ea0fc3c0e97febb3b4a023d966e1ebe6eec813d502b27bc5a848e3c026e36be98c77f3d219898bbc82b92bbbc5d59be117c743de6f991bb1cb161bcd36043be9b5b4e3d0d1a92bb7139c2bce8bc13becee1043d784498ba08d0debc4e95bebd4c779e3cc9c8ccb91a4fc7bc745c15bd078cc73b553ff33ad3839ebc22c8ecb932d9a5bb5ae6103b819cbcbbd50e053d8ce788bb156e93bbff32d9bb1e46ac3f1c1e4cbe6ed0a3bc9935513de8f0953fbfd21bbed16ed5bc7bd1683dec118c3f757a0dbe8573f3bcd7a79d3db35c623f19b2c8bdcb4dfdbc56ecb13ddff3243f917960bd52fa00bdb650be3dbc65cb3ea2da84bcbb0fe1bcbd08ab3d665d293e9509933cfd71cfbca7a6833de3b1e43b69951d3d55f029bc9406043d938329be5190573d000000000000000000000000000000003bcce93b0c97b03b46725ebe12f3733dc899123b71d904bc3c464ebe3ea33b3d84f5103bc9416ebc2cc449bece55183d22bfd93aeca875bc463023be5688eb3ca8cb5fbbf2906fbc50ced7bd2f4e833cd4d6faba43cb40bc1c125ebdb376833b9cf324bb3a51bfbb79098bbb8330a7bb0000000000000000000000000000000000000000000000000000803f00000000a1ea1b3ce346e7bd1dfeac3fdbf701be8ad72437b71b62bd9fba8f3f0bd09cbd66c536bba3e51bbdc935753fc78182bd7a6698bb0e649cbc0a00383f859f26bda5ae0dbb7ea520bbd05fec3ee49df8bbd6419dbaaed5223c89786b3edd1b763c4838423bfa79273c39462ebb2e871f3d00000000000000000000000000000000000000000000000000000000000000008400c73cb61454be48938f3d2b2d3fbca503bc3c98044ebe4f2a803de913f5bb092d9b3c411747bea9a75d3d2d13cebb6bbe6a3c406a24be734a2d3d4e493dbb8403f83ba6d6dbbd6cd3df3c766006bb0e81983a779f55bd3fdf103ca24d9039214069bbcebf92ba9d0d88bb2704bd3a00000000000000000000000000000000000000000000803f00000000000000000ccfdfbdaefaab3fa5b406bec6784a3ba90894bda75e8e3ff1beb9bd4daba3bb66cd6ebdd30f6f3fac4c98bdb291f7bb3fa91abd07bf313fc4c45abd43371ebc29937dbcf937e13ec86ba2bc1c050ebc5802923b3163553e43aff03be7cd1ebcf007c03ca138b9bc66fe0b3d386723bc0000000000000000000000000000000098ca44bc36049fbd31e0f23ca4db07bcdabdb6b9c473f8bd77b12d3d62cf0abc65c2f83b213838be184f6c3dc18218bc17c6843ca97a47be46f97c3deb3b00bca0d1b33c000034bec154593d00fac2bbd314c13c955409be213d243d15669ebb7f3bb03c52b6acbd1892e73c929b66bb84b5993ca81e17bd8d3f1a3c60e266ba617c9d3c689c873b5fa0043b99b63bb9ff5423be4cf8ab3fe8380abdbfd3ddb9de2401bec9eb983f4b78d9bc8a33c8bbae9707be3769933f7c707bbd6c1e88bbc96705bee97f7f3fee8d8abdcebab7bbef91e6bdb6004a3f5efa62bd3d2be3bb48bbb2bd42790c3f3bee21bd43f9d0bbf89e72bdec139d3eb27187bceba90abc7c50ccbc9676d83d473b8e3b2e66f1bba9937dbc91c9b9bdf04cb73cbe7807bcfeea64bde13c093d9b15b1bcbd9b0fbaba0703bd701591bdfd535c3cbc46acbb982f9abc0c8305be5de60d3db870f5bbcfb1caba294e2bbe89a3543dd5ae1fbca1bd913cccce2ebecce96a3d239f33bc0c94013d3d0f1abee2d3643dac8835bcc8181c3d0185e6bd1aa4453d8c5b13bc51a1213d3fc08ebd84d7113d9d68eabbc30b293d4e61ffbc3a1fbb3cdd5fb8bb655ef0bdef0d8a3f78b20a3e78b633bcf55114bef164903f2b99843dde13efbb09f016bed7aa8b3f3ed4343b23e493bac9091abe2d797d3f41bc17bd8dfb34ba081f1ebe2b6a553f22c975bdd7582a3bc9cd10be1538213fb28780bd8a35353a919ceebdac2dd03e34a474bd65ff12baf1dcaebd0de64a3ef77f2cbdc77c97ba6dc18abdd4f7423d94e8eebcd4999fbb5e39b1bd8746d13de04e9fbdb2d1423c32cb68bd31d987baf8c330bd2a39963b797d28bd3cfc83bd39edb9bbd4da90bbf2decabc58cadfbdcdc3b13cea7af7bb44a6baba985813becd09463d63c446bc0c5eb73cdf6c0dbec598653d44fa6ebc39040b3d68a9f4bd7dcc763de14f6fbc8390393d4322b5bda67f653da61061bc2017483dc62068bdb9033e3d62952cbcb85bb4bd8a035e3f0af4ae3e95e0fdbc80c3eebddb226c3f09d2783e2b3d94bc2c0502be41516d3f784dff3dcb0b47ba2ae006befc5a603f74f1083d998fc63b21b514be3d114c3f1f9032bdac78583c7d8315bef0b2233f4fce98bd1fdb743c48ee09be2f93ed3ee157d0bd4fb0813c9127e9bdf009903e29e2d1bd520f263c4c8bc9bd08c4093e0ff8c5bd440adb3b6014bdbdb7da123e2acf08be8adcf23c493b92bdcd42683d96ffddbdef9eaa3ce3f062bdc435a3bba96390bdaecd193c273723bd7d256dbdc4929fbc669a2fbbd1e2b1bc5fe6a6bd279b033cc68000bcc52f9d3bd42ce6bd0c713d3d583867bcf460d33c570edebd95396c3db08e8bbc48e41d3df9fabbbdbdd6893d512f99bc8902423d54728dbd6564853df98284bc397164bd7bd81a3f7cdc183f52bb87bd1689a0bd82b02d3f9278f13e1d8a2fbd46dbb7bdf7a7343f758fa23e836937bcd383d4bd9026363fff351b3e9a52363cfd1ce0bd26e9263fbd3f2a3d4b7f993cd43b01be016d163fa57f85bdffb4e53c2edf01be7f65e83e1754ebbd1b13e93c464ceebd6147a33e27b21dbe9982f23c448fd9bde7e9423eb8d825be1132c23c70cba9bdf07e153e76d929be5b0c243d7c8d8abdde07a73d283128beb101283d3a7b66bdfc13ed3c4c5e07bee76cda3c859e33bdfca815bc8826a7bd11e2143c09c1edbc87fa32bd29dedbbc98043bbb7ac33fbc101186bde1ef3c3c9b2b36bce8cd043c2bf1a0bde257343d93f190bcab62c93ccea69abdcfe1843d18bab9bcc335133d2a7d84bd79ec8f3d2bcba6bc0c42cabca0afb63e30315c3ff401d5bdce6b36bda132db3e4eda3a3f9b60a1bd592465bd1b97f13e0bf70d3fb1e829bd50a984bd8accf53e4a0fb53ea7ba58bb98a696bd8031f83eb257213e7f44a93c2be0a4bd6ca5e23e1994a13c8995f83cab78babd585ec23ecba7c5bd2556343d02cbbebd513c943e923d2ebe6c92443d6b56b9bd377c493e20cf53beb9f8243d1f1164bdaa18ea3d832b32bed265603dbf0c49bda4269d3de37050be6138683defa830bd5c0a3c3de7b140be6045373dc7d91cbd61d39e3c995714be48c9d23ca197e7bcee901fbb38acb5bd52861d3c53cc83bcee70c2bcae8ff9bc97abc8bb88eca6bb55a817bdde063f3cb04262bcd8fde03bdaeb36bd8f2d453daa6fc0bc87baa23c87132cbdbd63883d2111d4bc058805bc3dfc1e3eaf1b893f95e805be9cd69abc5125483e3ec77d3f25c2efbddf24b5bc97366f3ed7264f3f631f99bd00b9d8bc23b3823e5445153f4632dcbc7dec06bdc415883ea853b53ebfc4d83b0ad51cbd1f21883e99e20f3ea0c7053d22303cbd7ddd793edf99d1bcce86443d1efb5bbd7779553eb95819beb4c17e3d2a2660bda8f1223ed49e65be4f1a773d1df28bbc5285533d98943cbe7ea58c3d8a9cd3bcf8c4453d287e4abe5a7a743db33db1bc2422073dbd455ebe3379633d4b2ba1bc7b26ad3c67e344bedfb92a3de65797bc25df2d3c75c811beaa5ebb3c00104fbc4028b3392db1a4bd0ff88f3ba93e03bc16221bbcec7ad8bc2b7f0cbc463089bac7da5fbc3c9f833cc804aebc5a01613a795869bccb686d3d7d99d9bcb2dafc39cf5293bce863ab3f502b32bef46badbb66c52b3d1025913f3b1efdbdfe113bba0c6d3c3dd567823f6d6ccbbd109606bb6458933d98de4b3f5cae6cbd44dc03bb811db13d8e1e0d3f561c89bcdc9f9ebb1f84c93dfec79c3e827e923c03b110bcc5e4cd3de653bc3dd76e1f3d620297bc1e63c93d431a83bd1fd1653d3d1a50bc8372943d734c72be99ea9d3d00000000000000000000000000000000adf8193c98b989bb684d4ebea1c9613de6c338bafa5dc53bddd64fbeb48d3b3de8d96dbbac03c93b62504bbe03db223d81f200bc1de0373c420127bebbeef33c6bdd0dbc0f00343ce6b3ebbd28af813c95b9c4bb47a2e43bbfe768bd30df703ad8eb04bcfab6e73b03e07fbbc8ae32bc0000000000000000000000000000000000000000000000000000803f000000000c87153cf05dd8bdfc1eac3fbc9400bededf443c3bef8abdd3268f3ff832a5bddeb0863ce52b83bdfb61723feee885bd7117d23c72d94bbdd5c8343f39e223bdef2ac63c1a0c17bdbcede73e66982bbcdddba73cd9b5afbc31e75e3e66bb813cdef5a93c85a638bcd4ec92bcb09c2c3d0000000000000000000000000000000000000000000000000000000000000000cfb8c63c57154fbe94316c3d171414bc05d1093d54e45abeff05693dff78b6bb9982223d2ac554be0bcb433df11243bb4d17293d634538be83ef283d5af7e6ba898e0c3dbd9009be7c52d13c198214ba173bd33c1e049abde824de3b6e39e53a7e6b763c551fafbc72fd9dbbb802be3900000000000000000000000000000000000000000000803f0000000000000000e7b3d4bdbe30ad3f8fb9e5bdd4ab19bccc04b1bd009e923fd7998bbd1c7fb4bc7e3eb3bdc787753fd3b44bbda35ccabcc5919cbd5e3c3c3f5b4ae9bcaa5fdebc69db71bd14a6fc3e90f587bb1af5b8bc724d23bdd1d87e3ec803c33ccf5d92bc578b45bccf1d693cb8252c3d9edf32bc00000000000000000000000000000000f0befabc6b7451bd056d703c35130ebcec127abc978209be6c8c303d999597bb8331163c696242be81dc4c3d101cb2bb3a7fff3c1e7d57be876b5a3d7506a6bbd002413d56954abe9eb5423dd2dd8fbb65c0593df6a826be97c9163d7f38d9ba2faf5e3deb7febbdaffcb73ce12ef4ba7b2d3f3daf1252bd026c1d3bb7a10bba121dfa3cb1ca42bc00dcceb9d769ccb8bfb2f2bde749ab3f06566fbd3ae6803c5dfedcbd04e8a23f61d260bdf01f21bcf67a05bebf86993fe09681bd2aba51bc4ac318beeb8b863fa47374bdd42290bc8c0e21bed467593f953948bd6b6297bca67e19be622e1e3fe266e7bc6f74afbc44c206be0665bf3ee2ebefbbea8177bc1322d3bdb094063e9ce5a73c36de00bc0f9584bd6ee536bd7167ae3c4d4520bcd854a1bd889f833d0954fbbc16bcb8bb722f63bdadf91dbd5ba0923bdc000cbc5ff0b9bc39caddbd7c2bca3c292e07bc2a3d073ba27e24be92443a3d588609bcb278073d3b9f37be191b543d1dc406bcd499503df47733be14c0533da9fa09bc96157e3d766d17be5a54413dc82ac4bbee66843d0917dbbd7b0a0b3d706983bbc30d683d2e6279bd4495cd3c0126cabacb5a8ebd45ba893f84919f3d6756ed3c716fbabdc3d3903fd6a87cbb546ec03c6a0af8bd04c88b3ffa0826bd8b15643c12c814be52e6823fee9f97bd56ad853b5baa32befac7613fc5dfaabd1aeb2dbb02ff40be8d9a363f74d8a9bd5e6ba2bb295f3cbe3446023f28f195bdb80032bc6b3230bea111993e2d6239bd92ef59bc8b460bbe0756f13da14321bd40c754bccf9ed9bd39651a3e99acb1bdcd88403b5d55b5bd5e466d3d5b954abd4ad5d2bb7c1468bd860ae1bc8dea48bc0f5120bc66b9ecbc6671babd8686a03cc2bc2ebc9729aa3a88bc0dbe6cb7383ddfa55cbc462bf43c6d981ebe2877683d37223bbc2b49533d6fed1dbed89f7a3da9ba42bc0142863dfd2209bedecb6f3dd94913bc07a7883d88e1c8bdb4674d3dd879d7bbaa200dbd5ef4533ff6c0863e9ac7003dca7549bd9afe633f61df0c3e41de353d1222a9bd8f5b6b3febde203dcb81183dde8fe0bd8146653f8b950ebd3c42d73ca82513bef498563ff628c1bd425cac3cbcc532bef220393f90a2f6bd4de1203c0ed644be2d22133f9ff203be234c973ba5ff49be48ead23e2c0afcbdd53aa7bb86442cbe65d26d3e9c98ecbd970c9fbb513fefbda7d54b3e94890bbe881b913c836ed7bd8c28043ebfc8e8bdc41ef83a6fb29fbd0faa5b3d8f1792bd433b34bb7ba364bda0b8a6bc66deb4bc0ef736bcfe7aa5bc963163bd5758d1bb12e40fbcc4348d3b5ef6f2bd1c9a3c3da17c80bc6e7d053d30be04be8956693d40eb65bc837b5e3dd1aa0bbe2658913d123465bcc2ec803dc9f9e5bd8171893d69475cbc3ef85a3baccd103fda74003f9b6a373c1334cfbb58dc1e3faa9ab43eacc7453d13361ebd5f4b2c3f815b593e9d67403df53b7fbdd97d353f4548793d00404e3d7d54d4bde6d9263f0153393b16a3233d18a005bec833273f538cf3bd0006003d077122beb6920b3f35201abe3c52b83c44153bbef3e8e43e713e36be95c1373cf1a030be27c8953ec8ab39be61463b3c9f6cddbdf661523e3c0431bed8f3f73c6b06cebd20f1233e327f32be2a73a33c988caebd011dc73d618d05bec8acbb3b7ce487bd71dc333d2fdca5bd7ebd8dbbc32640bd1e4d54bc67fdedbc78a137bcf3aca0bc150266bdda39643c9ca75dbc8afdda3b60bcbcbd5441493dc1aa8cbca107033df515e7bd8739963d0a93a3bce1634f3d394dd6bd1f30973da48a8bbcb077d53c3ec7a23e218f443fb13bb7bcbb7dc63cdb4fb73e54301f3fad98bd3c2978173b293dda3e959ade3ed3cd343d25cc92bc852eee3ebab67c3eee30613d36a92dbd29c0fd3eea949a3d58cf613d5af18ebd11ebf73ef7604cbdd72e353da27bcebd4457e93e5fc518be8681253d38fa06bec75bcd3e66fd58bef855073d19b514bed6dc963e737c6bbe3a70eb3c5ab295bd8f5a293e1bfb45bea534393db55799bd2d26153e066461be93e8173dac6892bdcaeee93d411943be1538c83cfca682bd18a5a33df86712beef51073c352d54bdb331403d7d4fb6bd030887ba184208bd032d693b71def8bcd3f72fbcfa2f3cbc1d0efdbcbfbc6a3ca0b081bc2659153c7e527cbddf647b3d782cabbc7e2cf73c93089abddd039c3dccf4b8bc9d16e83c6cbcdd3db69c833f542e6dbd3f46fe3c52a8033eeb3e6a3fd1ba97bc791ae03ceb493c3eb5da333f00a1573c93c9963c5f33613e252bf73e15f3283d115a923b99b9813e36a8883e66e0513d0ffd7ebc991f8e3eb88d8b3d885f5f3d80d724bd21d78e3e6446a0bd6d5d5a3d623083bd877a8c3e3b7954be870c413dcf07b4bdb896673e3d3683beee8b403d1018f5bce2caae3d19234cbeb8146a3dc8c5f4bc5db0a83de34c71bed9a5553db01a28bd9e48b33d97a667be12a2173dd26234bd0de4a83d4e3949be7badd03c159b2abd3701873dee7112be3bd3283c336102bd4f053a3d23d6a7bd86d7f7ba046d94bcda8caa3c784bb9bcad8a29bc358247bb5dab28bbe4590b3d3656a4bc071bb13b23b3e3bc16e7743d0ac7a6bc00749b3c38695dbdf12ea93f0ec6f5bd415c5b3c93bac1bc8601953fc7ab79bd4231f73ca15f02bc446a773f117fd3bce2c51c3d70c5213c03f83b3f8e4ccf3b42b6173ddfc4133d9c22f93ef527003d34b4ef3ca6c16c3d75067a3edfe1383d51d5663ca427a53d63c9f23c7d7e473d2ec2bcba9d94bf3d355511be010a573d1c7fcebcf078da3dc7cb82be6855643d000000000000000000000000000000001c3a3dbb26f4b33c3d0251be4ccb3f3d0f7e56bca4cd343db2674ebe68e5163db802d0bc10f07d3d598e44bed3f6ee3c88d2ffbc34da863dfd1e28be985abb3ca0b8f5bc6a62743d837eecbd78981c3c16c7c3bc104b433df5157fbdd0ee22b9f69a8cbcab9bec3c2ff616bc1428efbb0000000000000000000000000000000000000000000000000000803f00000000d0c5963c88af0abe057faa3f9d2dcbbd9c11023d955df2bd94758c3fe10e51bd39c2443d01c7f0bd63b2653f2f490dbd7bc5683d4da0d9bdde5f2a3fe1805cbc5715643d3aa0b0bd12c0d93e94cbf33b0fcc553d8b038dbd7f41463eeaccb13c2b68243da3b216bdacb7f2bc8010063d00000000000000000000000000000000000000000000000000000000000000000e609f3ca41353bd195327bd9fb41b3c19848b3c31234ebd85db07bd9203a73b6fe24e3cf40f3abd4d80e6bcaa3cb33b7790063c510922bd95dfb4bc6e3d693b99ca4c3bfd960dbdcd4986bc4ef73a3b06efebbaa762debcf47419bcc2d4633b055c62bbcaa1a3bc63901dbb97654a3b00000000000000000000000000000000000000000000803f000000000000000020c9c8bc451d8d3f49e8c4bc84e129bca75abcbbfd4e6b3f1d1d6abc1d2d1fbc93df033bfdc43e3f49304ebc7a3d0bbc01a2ce3b0186133fbea461bc44cff6bb5a74ef3b8c18d43e74e98ebcb94abcbb7564833b3235833e8426afbcde910cbb68f4fe3abe61d13d43a8efbcb21ea6b9000000000000000000000000000000005dc2943cb6ee80bc6f641bbd2a17133b1623b23c4b1b4abd3d1e4fbdd2c9093c4198b83caee867bd35ca42bd1e01b13b037ca03c12f44fbdc8642ebd67b5803b7b036c3c87852cbd579b06bd929c2f3b8631113c338b1dbd99a8d3bcdf9a623b3e07703bae98f3bc512181bc0377393b9f86963ace0a96bce467e8bb3a96933bc1318c38f64d7cbbb06cc3b9e1d40e3bb36579bdc5688d3f9468e23df009d6bce3fc76bdbfd6853fe0a1c53dbe78dfbc995d0bbd46b0623f9992b33db00bcabcaddb80bc1e9c373fb718913d6d91b2bc7857b2bb6ae00b3fe762513d352c96bc97eed1baa7f7c93e006de73c0c7e79bc1ec6adb8f9d1773e9384663b243c4dbccc5864bb6b91c93d84f28cbcc739a9bb7f0a81ba2d0b99bc0bf5f7bcc4d834bb04c5853c5bea9cb90b0603bdbab798bb2eadb63c42cfb5bc224450bd251031bb303bb63cc695ebbcd9553abd84700ebbd2ecbb3c078e0dbdabfe3ebdd8e14fbaf0448b3c2c4be2bc60460cbd9d5f03bb4d844b3cc5d2eabc5edffcbca15b873a5fafe83bcaaaa9bcdfd1a6bc5d9b073b2753953b4cbc62bc4db545bca1c9763bde483f3bde4902bbf0124ebbdded253b57db80bd55006d3f1cef863eaa1d16bd2eaf8dbd0fb2643ff802773e9bfb37bd48ac1dbda3b33c3fd785583e27a115bd44beecbc29e7203f695c2f3ef12110bd6f9275bc03cdf33e227e043e5a8bdfbcbfea38bc1a6eb43e77dbb03dc0abdcbcd27df0bbd92e643ef032403dccadb2bc6792a5bb0341ce3d3918fc3a96d689bc5f4719bb7f1b6fbb4159c1bc7ac428bc6eda573c6647f83b2b15e1bc426e40bc1fc5aa3c8d420ebc5a3d41bd182532bca4d0bd3cb7fea7bc0f7955bd679803bca73da93cff48c8bcc66c41bd80f99ebbb98c8f3c540abdbcd7b428bd03e592bb2530533c3505b5bc5a120bbd5ae4aebade2a223cfaa898bc8c0ec1bcc6e20f3a3b2bb03b185c39bcf9156fbc731e463b4fba7f3bda2b36bb4df1bcbbb279223bf5fd64bd35f3403f5d71d73e115d3cbd294685bdffd73a3f8962ca3ea4ad71bd52b13cbd3768223f4f2dae3e8e6f56bdf22408bd14d3053fa2c18d3e52b53fbdf8bfb0bcc89bd03eab325a3eb8d125bdb2a47cbcce18993e86fd173e9e7d15bd8baa3dbc3b42453eb5b4ac3d3b9806bda9a801bc35d3bc3d3cbbcf3c3d32debc6cf566bb96786b3b2ae7a1bc77d38abca18d103c3588233ca4fbc9bcf7bd8fbc9638833cd05236ba03ff36bdb46795bc8bc78e3c6a532bbc66ba44bd280151bcad8c993c7b208bbcf03f50bd897344bce4e9483c56a24ebc21a207bdb2df02bc8eee463c3d1e8cbc5bbf15bd73ae8abb850edf3b466068bc0a67cbbc88942bbbf843a33b402e20bc7d5490bc7130283bc5c53e3b79d739bb1285c2bbfcc08f3ad3944bbdf700173fdf9b153f309a5fbd28d162bdafea0f3f556a0c3f49d98bbd98221cbd2ce0f73ed730ef3e64445fbd8de6f7bce524d33e3696c63e6b4562bda33885bc10bc9d3eae90923edb2116bd6b2287bc9793773e0661583e495c36bdaa564dbc9fd91d3ee961003e659617bde04822bc6e6d9f3d3f1e403d8b1f0dbdbad5c5bbae90c73ba6898bbc7e34cbbc24e0843b95dc253c445cbdbcf200b4bcc42a2d3cbbb88b3a096443bd9545c7bc7c45663c863c02bcab5165bdb590a7bc0a99643c354947bcad6a59bde11e7bbc7ac7423c16ea64bca3ea3fbd68e536bc2ce41c3c93dd75bc5f3120bdbb77c5bb45b8ae3bc5047dbc4c81fabcf08741bacb06503bf61b3cbc871394bc750c2b3b2160bb3a8aa48cbb5154e4bb7e12393b9ee72fbd0d22da3e42923f3f82a27cbdfe114bbd2685d13e0914373fe89da2bd220417bdc243b93e7c0e1d3f00238dbd1bfbe4bc4bcc9b3e88a0ff3e0fbe75bda0b2aebc47d2783e190bc53ef1855bbdd4ef8cbcedb93a3e3d128b3e606c4cbdd3c97abc8b4df53d73b8283e24533ebd6e7e4dbc0b02773d3848833de70f31bdf9c402bcd718c03bd54485bc7fc6ebbc7b68df38305fcc3b4975dbbcd710cebc1993903bf1b92139678160bd4391eabcf0fd113cf2cfbdbbc3ca61bd24a0adbc7ccb183c594520bc887671bd6217a5bc8d40d23b51b13bbc7f7f40bdc42d6cbc52aebb3b4c3b6dbc134732bd9b370bbc9ade3f3b8d305abc8c02fabcd32d2cbbde80d13a82a334bce9ca9fbcdf5f7a3b55198bbab778cdbb692f95bbd4e9673b97e60ebdcb39893e98b66b3f95bd8cbdd0511bbde87d833edfcf613fcba5aebd6ae1d9bc07d76c3e1aed383fd21b80bd1fe6babc08e34a3e408b1c3f0cd87cbde3157fbc6c841f3e87bdea3e4c5f47bd538b84bc5e9ff83d07c5a93edfa757bda01b58bc6f56a33d3cd84f3e7b1c3abd78cf41bce5f1213d50ed9f3d967743bd1d9b20bc7d1f373bcc57aabcb1e506bd355343bb72b5e83a658912bdcf2ce5bcb0853f3b5bca75bb18c28dbd6c49f1bc4107ca3ba3a7b5bb9de192bd998de1bc4e7fcd3b473804bc11d985bd44e5bebc2968ad3b5ed020bccb9d5bbd840c8abcaea3493b5a6c54bca1ba42bd3ba22dbcb2369b3a437750bc440f16bd596523bb9e170bbbbce25cbc8f1ba5bc3290d23b05fd84bbd0481abc8ef8f2bbc2dacc3b0883c2bc3d57e83df3838c3faef58abd2f6ac7bc0864e33d1ef3843f771aa1bda6a087bc5057de3d4b865f3faf6877bd39d060bc5fdbc63d253e343fc74850bdf9a13abc036ea53d3bb0083f050535bde2203cbca245803dd593c33e7fa63bbd8dd82fbc6fb82a3d188a6b3ececd46bda0e739bcc885883ce54eaf3dc5e33dbd1c8f2cbc163dbebac437f3bcf9881ebd00000000000000000000000000000000b10d093aecdb4abbb4de73bdf85ddfbc4b3a553bb7a655bb44f969bd4ecdbdbc15d0843b5f7a8cbb51b94ebd9a62a5bc5518663bb5eed2bb799131bde9c57bbc2a12fd3a6e4315bcbc711bbdb3a329bcc6c18138390541bc7812f8bc0bc098bb6f576fbb6b8047bc7cdea2bcd9ecc43a0000000000000000000000000000000000000000000000000000803f0000000058ca02bc8cd639bc89ba8c3fed6d2ebd1a7bb0bb7fb8b0396ccd693f6901f5bc2fc88abb2dd1d83b15693d3fc93ecbbc80ea74bbc5f5d63bb142123fa7e1c3bc21669abb1d03d23b81d0d13ed69adabceb00d5bb6e0e3d3b594c813e3337f8bc80bfe7bbc64b0ebba3cfcb3dde4014bd0000000000000000000000000000000000000000000000000000000000000000fcf5bd3c860a6ebb88e218bdc19c01bad132943cf22545bcd90104bd995e1dba0e847e3c986a6ebc3bd5e5bc03c124ba086b3c3ca0be86bcb31dc1bc6a8b143a30d0ee3b4f1c98bce18ca0bcc8fb713bbe2fa43b697499bccdf676bc0dacbf3b548b9a3a54fa87bcb2852abc699e203c00000000000000000000000000000000000000000000803f00000000000000008b9a063ced3b7e3f668022bcdd09acbc45a65b3c0bab573fe94122bc7f519abc571d8c3c94ed313f886e34bcb7d490bce0e08d3c06910c3f7e706cbc834485bc73508f3cefced03e87c799bcf86f66bccdd7783c8739883ec4bbc4bcb2d538bcc1cb563c90b8003e2118f6bc81bdf3bb000000000000000000000000000000000ca7b63c4ec28b3c583410bdd0a31cbc79a9de3c4c73ba3b37f239bd1b3ff6bb98c0d23ca0cfa1bbcd9931bde4bdefbb9b38b83c10d338bc190624bd62a0c1bbfc6a8e3cecbe5bbcf34a05bd761975bba0ad633c755a8dbc4b1af4bc2136a038c95f0f3c9e5291bc3f8ebebcadc79d3b5d79d03b350c82bc8d2f87bc11301a3c6fdb783b856711bc57e128bcfcfd0c3c8c1654bcc0617e3ffe9c003eb3beddbc21cab7bbd8f7683fb5fedf3dd20206bd76dbd63b5dbe473f7203bb3d9d92fcbc637d543ccc45253fdd9c913d64d7f1bc3bf77d3c3c8a013f7e054e3d0de1cfbcb6e3893cf89cc23ed85fd83cb7bbcabc4b29813ca77e7f3eb890683be8e5a6bcf2336b3c0281f73d6e549dbcb31c7dbcda433d3c81d5383be2b2f9bca61b21bcb41c963c5beabb3cda35e9bc25b09fbc3191cf3c5a239c3c02d229bdb281b1bc135fb93c8acdbd3b6cda14bdf79799bcc64dbf3c41045e39665a27bdee8288bc37bda03cd7bd5fbbffd00bbd5b5441bce089893c58dc17bcfe8509bd6578cebb3573383c2c761bbcd2f4cdbcc1c1c7bace15353c5c9524bcb08dbfbc6028ae3bbcd7d23b9139b3bb579155bc9f66923b8123aabc70bd583f32bc883e13a6f7bc7d7590bce22b493ff8a4743e8e7a28bd9cd4b1bbbb87293f8eee4e3ea3ea0cbd017e2e3b720f113fdf89283e490915bdf415dd3be6c7e23e5df7fd3df4c500bdb0292f3c7a35ad3e912da83dca6705bd1d612a3c6c04643e45bb363dddb6e7bcd0d7483c045ff23d8eaf383a165fcabc3c80263c05f3353c013ac8bc2ed683bcbe94763c7c06cd3c46f3babc5e13f1bcc38fb83c7f35c23c82e916bdf5c010bd893cc13c7f13723c0c9d29bd5601f5bcdb68b83c3bc7c93bc95325bd27b8d3bc8d5c9c3c415f773af7bd14bdf275a2bce7f68a3c91c668bbb0aa10bd244e66bc811b803c098bb2bb387cfebc65fffcbb1077223cfa03dbbb1618cabcfab252ba5079f33b88c570bbaaf87fbc2d24543a1deabdbc2289333f3272d13e563a04bdb489b9bce425273f3a7dbe3e7f6633bd49493bbc45ce113f1dbfa23ed54f31bd218673bb8317f43ea264843e580a29bdf4f8f43a5780c23ef7874b3e328c1bbd5b24b43b678f943e8c5c0f3edfcd1dbdc819f23b9061493eb347a63dc1a114bd9dd90e3c11cad73d9d6ec93c6b3a03bd2fa7103cb933833cf208a5bcf257b2bc6efc393c6f96c83c6b6a90bc8a1017bd5583963cf126d03ca5baf4bc76743bbdfdb1933cfde9803cd8f805bd895f19bd96b5a33c7b422f3c67151cbda2aa10bde0946c3c2487923b604ee9bcfc9cbabc0c2c823cb13ad239685d11bd4acfacbc9e10383c909c5cbb844ee6bc0fad3cbca842273cac95a5bb2bb2d6bcc246abbb0ff4e23b29f222bbf04288bc5102ddbaab25c4bc0bba0e3f862c0d3fe1ab00bd7896cebc5cbf043fa7b5003fa0d531bd55596abc710be53e800eda3ecfc220bd4e2301bc154fc53e8047b53ee79e32bd3a29aabaf21f983ed1bd893ed13005bdbcf7653a6537743e65104b3ef88c2ebda570493bcf9c233ecf4ffa3df25216bd9547bd3ba13aba3d972b3d3d71bc19bde9acbb3b3e548b3c3a7681bc2e3ee5bcca08e83bc69ebe3c740147bcbc6237bd3248523cd0a6c63c680dccbc577761bd93328d3cad748f3cff160cbd46f34dbdd5fa833c394f493c95ad12bd52192cbdf1316a3c1c9bd93bc4750fbdd85b07bd6cc2503cb6387d3b8cf110bdbd64d1bc1009213c9d7800bb5eb205bd40f988bcfefff43b725384bba6d9e0bc4f27f8bba0d8a43bbbf33fbb7ea88fbc3caa50bb7a16cbbc18a3d43e8a44323f81d403bd49f0d8bc71eac63e2fc3233f6bf530bdf7c48fbcbe7faf3ec4660c3f7b8235bdefa33bbc77e0953e2b9ae63ec0b431bd0df8bebb7e57723e441fb33e77ad23bdb8ff54bb1fd53c3ee5ae823efd9637bd70ffcdba5a80033ef0a8233e71df37bd183da43a0471963d33f2893df39730bd381f313b6ddb873cc02057bcc2ccf7bc9b175a3bae3ea13ce61dd8bbc9264ebd68e3083cc2b7b63caf06bfbce4407dbd5e762d3cfad1823c66efd8bcbdba4bbdd835493c5f4c523c220e0cbdb1bf44bde3411c3c30cc0b3cd9c3ffbcace713bd3b75123cf261303be26b10bd91dfeebc150bd03bd156bfb94ed9e8bcde3790bcc65b533b3f25b1bb458ee9bce599f5bbc921123b710b85bbc19890bc02ef45bb996cc3bc50c28b3e3a87573fa695f7bcf890d0bcafce833e2641463fd4f029bd3cdf81bc7fb8683ededa253fb4be0bbd839c50bc676b4c3ec2650b3f6ea825bd1de20bbc25c9243ed6ded73e86a418bd4019ebbbe87b033e2023a03ea23f37bdefb085bbe3ffb53daa7a4a3eddef24bd184014bb311c5e3d7219b03de07140bd379b82ba12d25d3ca79f45bc70420bbd180b8a37fe24863c443ca4bbd8f267bdc3487d3b1352883cde2aa3bc379e85bd7329f73b22827a3c47b4edbc64dd73bd06060b3c98f5473cd58804bd4c274fbd7220013ca497093cd68803bdd6201fbd4c8dd13b3e72553b097c0bbd78daffbc14c9583b59b9efbae5aa04bd1115a4bcc95c91395c7fbfbbc190e3bcbb2704bcd29862ba619fb6bbfbeb97bcc4733abb775aafbc0237073e038e7d3f587bbdbc3bf1afbcb74b043e1119673f2dd9f3bc658d79bceaaef53d7649453f031cfbbcb10040bc748ddb3d01e7213f9e8dffbc876609bc97e3b63db050fc3e7fbb07bd6b8afabbc6a4953dac6cba3e3a0f21bd6bf5ebbb570c563d5f9b6d3e049832bdca18e2bb6f4efb3c5e66d33d8b293fbd3a2194bbc7bc1e3c4e0e58bc7bc61bbd000000000000000000000000000000006072223b76f5563c1cb668bce96a5ebd215d6d3bcffb433c2648a4bc63de38bdc501973bc815113cff6bbfbca26022bd4cbd9e3b1384db3bfa87c0bce232febc4a7a683b19f5453bf139cbbcbb0ccbbce139d2391d52f4baab62c0bc7e8a80bca89de1ba98c6a7bbd18bbbbce51105bc0000000000000000000000000000000000000000000000000000803f000000003b936abcfee0b93ba2187d3fecbe4bbc530718bca670393cec67563fe95554bcb381dabb798c843c8802313f1b3b89bc205ac2bbeb50843c585c0b3f2bb09ebcda5ab7bbc3907d3ccfe9cd3ebd77cabc59ed89bb9254443c6fbf853e462debbcc572d0bb6973143c446cf43d3e1715bd00000000000000000000000000000000000000000000000000000000000000000341a03b64ed2e3bb5bcd0bb3b51eebb91112b3b5cb8023b5ac2b5bbeb56fdbb4614853bb16b293a71a8c2bba491c1bb80bc653b8cf8fa36f94dbbbb3aa7a3bb0dd9533b0c771cbaac10d0bbb8cd99bbbfc7383b85b584ba913bc1bb975046bb40da473b05f62ebabf7d98bbfc8f92bb00000000000000000000000000000000000000000000803f000000000000000026e45f3b7fba633f0a11173af854aebbf8f5993b7841433f0619083aaf1cd9bbc5c2923b5bbb223fd5764cbaafc5adbbd090933b2831023f0fccd9ba7278aabb89a9a83b0910c43ec1f633bb25e7bfbbc4e5a43bce02833e95b481bb0cf5b2bbed6bb83b2fd7043e64be91bbeeb2ccbb00000000000000000000000000000000d7ea9b3b8b10a43b9484babb2ecc12bc283bd13be236ab3b165701bcc7903bbcbc12cf3b755c6d3b90aa06bc01393bbcc717c23beda41a3b1fa208bce49427bc6356963b054b353a4858d3bbc557f1bb9683a23be949383a7fa205bcf06103bcafb08e3b59971c38a86fffbb0c7bc7bb1c167f3b3795d0b90996f1bb94eb89bb7f452b3bc47205ba41ceb1bbc23721bb3d87a83a49c5633f3c73023ed21fb8bb1718493b5ada483f8f63e53d51b0f5bb2319923bfa7e2c3fc654c33d7b0d01bc9bb4a83b54fc0f3f2fefa03d56fd01bc4aa1e13be8f9e53e20fd783d0955d2bb7bc3c33b8fd9ad3e8046363d1d1907bcd9f3c73b2a3b693ebfd1df3c620500bc118ecb3beccdee3dcd67243c87a8f8bbd56b953b5c038f3b1c0fa2bba89db8bbf2a2883ba3c3b63bea1497bbaf4822bc4593ce3b9b4ee43b8947eebb03ff72bc6adcda3bf234a13bf155e3bba4744fbc38f6d03bed53893b688f0dbc0ebf5dbc2966a63b46452e3b50c7e5bb09d420bc7c3fbc3bcbe11a3bb58110bcad0b32bc4cb9943b97a3953a9cc5edbbd6b2f4bb788c953bccee6f3a53b301bc5b8be1bb9025413b331cd639c99bacbb5a377cbb4c2a4837db3c433f3013823e71bcb3bbc311b03a6cb72c3ff5b6653ec8fd06bcb1a98d3be714143fcde9433ede7ef6bbb5b1823b107bf83e9ac9223e768415bc61af703bb91fc63ee7ea003efd6ff6bb8ec0a93b5e94963eb4c0be3dea1f1cbc493da33bd195493e1c7a763da14805bc6836b83b156ad23d5b37de3cdfa911bcae32863b5853b13bb07565bbf238c3bb0cd9713b94ebce3b904168bbcdc53cbc7490b93ba7e2013c9b78c7bb40af8abc52d3c63b39efd13b8543e9bb325986bc0de0c73bb013b13ba27af5bbdb1877bc771bb03bc7df743ba7fde9bb0bf74abc898bb63babaa533b7b8e04bcbe444bbcc5adad3b6d93373b07f2ebbb522744bc5b319a3b9b63c93aa4cbfbbb38cd12bc3f3a513bbb35643a5091b2bb4213babb51bd86badbe6223fab5ec33efb96acbb46297bb88021103fe46fac3e9b7b04bcf091e23a5c5ff83e5c93933e16ea0cbcfb64263be6f2cf3e4e7d753ed6eb10bc700d4e3bc588a63e4502433e13ee07bc9b81823bf3ee7c3eb370113e39ac1bbc0ed5913b5e6c2b3e54d7bf3d1e322fbc83b2a33b3c8fb33dd780363df6c418bc0c517d3b7abfce3b71322bbbe591ddbb676a5a3beba5de3b385170bb388064bc29029e3bae64fe3be98b92bbb3e28ebc5464a03b2b3cc63b7216b2bbbe9780bc3ae5b33bcc0ebc3b96eed9bbc78485bc8f71893bfb706c3b7303afbb156a3abc99bdaf3b40bf7c3b7cbcf5bbde2d65bc2e2f943b68543e3bf5cad9bbda8932bc6c0e963bf773113bc6c2edbbb84a25bc1907703b0c63be3a82eca8bb1df7d5bb1e44b8baf27a023f2a5b023f4a8dc5bb9efe5eba05fce63e329be53ea778e8bb481f393add87c63e1547c43ea41fedbb5dd6e23ad71ca73e54d7a33ecea609bc258df13a93fa843e7505823ec534d8bb9d5d4c3be36a4c3e185c433e324518bc75aa563b29190a3ee315013ea6a40abcd869853ba354933d377b7c3dcd471abc27d8783b0bcedc3be99ba2ba2f9bdbbb05d2363b35ead53b6f1dadba1f546bbc15548c3b8a8a043ca7535abbf35f9dbcf200a43bc129eb3b3865a2bb335697bc99eda33be897cf3bfb43bfbbc1e290bc34599a3b2c1da03b1b48c2bb3eb575bc513da83bbcd68e3bc7dcecbb64037abc48739e3be735703b50e0ecbb9efe57bc469e933b43441e3b8c33e9bb0d332fbcec064b3b2d80cd3ab08aa9bb3d7feabba12306bbac16c43e26d0223fe21b8dbb4a31d9ba4b0dae3ea3990f3f0dafd6bb8d908539277b963ead1ef63ef3c3f1bbc8f34e3a7eee7c3e6126cd3e93a804bc1719ba3a70484b3e3070a33e9cdc01bc47ae1b3b46f41b3e6b13753ef0f11bbcfde2363b0a29d63d79b5223e6cab1fbc1823623b8245673dd686a03d419f1dbc7e60293bccb4d23b282832ba9503ecbb212eff3a8b22c13bb30628bad9b065bcdaff633b0d1f033c3b5b22bb28cea6bc21d56e3b80ced83bc3bf63bbb0d690bc2161963b8089dc3bfa75a6bb8dde99bc82fb6f3b581b963b61849dbb858462bc26df973b3c53a23be1e9d2bb873e80bc24ba8b3b7f48193b3b65d7bb71964dbcc7b4823bc3e4453b5b04d8bb219b43bc666f2e3bf9e2dc3a3dde8fbb0c34edbbc5461cbb4bfd823e4e3c433f967765bbd31614bb84036a3e5a672c3f2cb4b7bb73848abac588493e5066133f146cb2bbfffa7fb99d832b3e7965f63e6c56edbb446a1f3a7a23093e86dcc33eb7a1d6bb0b4c9e3a46e7d53daa7e933e078d0fbc03f9e33aaa75923dd87e423ea3bc16bc75ff113bde23253d8d86c33d2bbf1fbc2617dc3abb24be3b69480639b992ddbb404fa83ae73bb83b45a7043a57cd69bc77ce283b5da2f53bac665ebae666a0bcbe3d473be906e23bc3a333bbad699cbcf2ca693b2954cf3bdd7184bbcae495bcc75a303b93279a3b05fe90bba55b73bc323e6c3bcf699d3b2980b2bbde6c78bc5ed2633b8fa5803bb846b9bb173b5ebc7c75483bed893c3bbb45bcbb91b63fbc4213153b154de13a448b8abb076bfdbb0fe43bbb6f29043eb5db633f975e02bb98c02ebbae4bee3d85e1483f819fabbb1032cfba5a3dd03d881c2c3fe54690bb35f936ba0822b23df9760f3f879eb4bb5aa087ba3b988f3d96b8e43eeab0bebb3e76cd39e9c9633ddadfab3e0777f4bb9f6e413ad903223d0205653e1fbf06bc8318803acc76bd3c5227e53dbf6f12bce56c863a5c75b03b91c2253a73b8e4bb000000000000000000000000000000006a73083b0250c23b3de1acbafce282bc3647fd3a06caa83b1a45d0bae6bb6bbc1c651b3b8075a43b820428bbfd4565bc6bf6093b08e37e3b5fcf38bb50e634bcb07d123bf2da5d3b7a3262bb827d2bbc403c2c3b58c0303bcd32b4bb96933bbcfd0dfe3afb810f3be3a384bbfd9f0bbc0000000000000000000000000000000000000000000000000000803f000000006cbecaba74f7903b1313643f07301ebb7ca9c5ba62aa9f3b3366433f37ce0abb50166dba4994be3b38e0223f458349bb4e8b0cba810bad3b22f6013fd0e067bb716464b9e126b13be1f3c23ec44495bb8a840d3a028af33b2424833ef958a7bbee0a8239cb01a73bed35023e8b44ccbb00000000000000000000000000000000000000000000000000000000000000009d6f973b88bd11be95b97abce4175a3c08ff3bbb4a9c09be1ffaaabcd6b3763cd02d9abbf329eabd4384cbbcfb1e443ccf40e0bbfefabcbd8555abbc237e103c303903bc04ca8fbda3925dbcd78ecf3b6700c9bb72fc3abd2da298bb3470703b6c102abb155b99bc9ec63b3b2b042eba00000000000000000000000000000000000000000000803f00000000000000009fd5a0bd88bda23f7f53a6bd4a660b3ce4c121bdc0e4863f85c853bdcb91af3ba2c862bc1d8d593fdf3707bdbcc9c93ac79d513a30c9233f434ed0bcfc87b83a720c003c4337df3e2339b4bcf0aa553bfa04fc3b828e733ea07aa2bcaa84993b7733bb3b1219493d6eb098bc3fadee3b00000000000000000000000000000000304b783bb39099bd0f997abcbb2ff53bf0a3503bb5ac12bec4e145bc0a82593cb98eb73a351a16beecbfe9bc1e94873c2d15adba5eca02be99d808bdb49a803cb86c2abbb78fcfbd3031f6bc1cbd433c78b4fdbacd919ebd00d3a5bc00291c3c8576d73a9dc045bd99ea10bc68e99e3b6901003c516d87bc5401e63af6f6b23ac085a43b7700823bff7fc13bd1f3d638dde216bed2dca23f25b95b3d7cef93bc5a1c14be18ef9b3f39c7103d03b150bcf3bdcdbdbe8f873f7254443d272f7abcd9ca82bdab2d5a3fc331403db50675bcfff411bd8906233f14b4233dd0493fbcadfdafbc9763dd3e938bc53c122412bca89a5abc48916d3e1228103c70e990bb73ffd4bbd7273b3d96f098ba193998392139babb0eb490bd1783abbc4377683b2bc600bbf7e917bda25fadbcf769863b9afbfa3af062c7bd5edf20bd2060583c47a5983b334ecdbd753b4abd9b3c623cc51b2e3b32d5d1bdf7e84ebd8898643cef3d173b13b89fbdb62327bd2137193cfdf25e3b9c8e85bdbbbeffbca30d263ca6f3433b672a2fbde1af94bc6c36ec3b8e13ce3bb5b9a2bcd946a6bb741bdc3bbe09cd3b3f28df37c6958b3bc61e653b282111be5ba0873f94667a3e2f6342bdfe821ebe2f05883f371a633ec75450bdf262d9bd54bf663f71a2503e4c1e31bda50bacbd18e4423fe6c52c3e6a5f18bd32675abdca12113fc172043eabebf2bc53c42abd8681cc3eb804b23da93ccbbc70bcccbc095c6b3ec1e53b3d8ef589bc789e95bc95cb933dcbd2dd3b7c9110bc8c9e3dbcd23804bde041c0bca6631bbbd73db7bb346952bc207dffbc8fbba4ba69bbcdba12517fbd6e056ebdb7bc393cbae6583bea1aaabd0edc89bde3b2533c5ca37b3b4928a1bd196e84bd8eac3e3c73b1563bbbb08abd1d8164bde255163c527d643bc21865bdb4d228bd541e2c3c1248ae3b4b6b23bdf22dd0bc2499323cffdad83bbc6fa7bc75aa05bc2b4d1c3ce612a63b66ee54bb740a0b3b9118e23bd685fabd021f5c3f4c7de43e7f709cbd2c8c0bbe7b5b5c3f2d5dd93e32f3abbd2383e2bd2745443f27b2bf3e9f7496bd70c5a9bd55ee213fb31d9c3ea6eb75bd3f8a7abdba4dfc3ebb756f3e38bd51bd7dbe3bbd5ea8b23ec82b233e0e3221bdd5060bbd6f85553e1d83ab3d2a81f0bc59e9c3bcb8dca63d9c359d3cf20e8dbc0a097dbcd89411bcfc43e0bcb13e4cbcaa7e00bc7d0f2a3bbffa17bdbd2baebb5b8b1fbb9a3e17bd448597bddaf4093c1a69263b2cf457bdd8fba4bd23e9fd3b1500453bf4666dbd324ca4bd450af73bc87a443bf5c324bd32ff64bdbb4d613a43146c3bb9663abdd9bb51bd41d71c3ca548743b78ec01bd570af0bcde0e1b3cd843b63bbd519ebc7df438bcb51b483cfdf0973b098eb2bb1a7c523ad657423c3a7dcdbdf404273ff364263f427fcdbd5928e1bdac07263f9588213f5cbbe7bdd791aebd708a133fa7b90a3f9274bdbd40cf94bd9013fe3e7680e53e83fea5bdf6602fbd4515bc3e67dba43efd0a5ebd05f336bd1caa933e5b036c3eb2935cbd6991ffbc0c28333e20b5fd3decec18bdc811c6bcc0bda13da652013d7a5bcdbcf39692bc776b3b3bab0903bd72039abca91107bca3b5cf3b6b9242bde03357bbfd9d41bab806d0bc225dc1bd20e6393c3943483b162a23bd497edbbd28ba413ca34f9f3b31c23abdb3b0c4bddf8b013cccda683bf57630bd9607a4bd2ea3f03b3ef9903b57e51dbd116670bd779d323cc169c03b7f01f6bcf95d18bd464b5c3c2914ac3bce948abc5c6458bc1920803cac535b3b618db9bb94962c3b72df3d3c4a2d9cbdff3fe53e1b875b3f8fecfbbd8256abbddc76e23e7ab6583f727c12bed3b492bdc689d13e431b3c3fcb25f6bdb51576bddc2db53e41a7173f5c23c7bd374d47bd24ea943e309ee33e08fe9ebdf67721bdb4435d3e2801993e94c976bd79e802bdfb390f3ec56a253ec4e535bd6603bbbc9e9e853dcf44213d7859dcbc45cf81bc671c003ca6dd24bd85fba4bc1cb498bbe5ddbc3b118b85bd4b8dd03b83d3e33aa51d83bcd6a3fbbdf058b03ca173673bf57fdcbcc09ff6bddfa82b3cb1a4803b85d90dbdc843edbd9f7a293c9b63533b0942febc340bb3bdda89b33b71369b3b24e2f5bc50538ebdf15f3a3cf202993bd9a4c5bc27d624bd534a493c312fc33b04136abc6dfa50bc3d77743cd3d2723b236b84bb7a2bb53b56fe5d3c96084abd3f677c3ed297873f9a7b12be4b2756bd07d1753edb80863f6fdf26be763d37bd04d7713ed4a1613f3f39fbbd775428bd6f1e5c3edbb73a3f9302d5bd8c6406bdb097373e0ba4083f85709cbd0a63fcbc1238113ea78db93e810880bdc011bfbc0fb6bf3dac00473e51792bbdf81c84bc5f833c3dfe6e1e3daba1a1bc01a735bc2e5a9a3bd0536ebdba5553bc977fbeba0165203bf78bbfbd0c3f603cb2f1043c951922bc29ae20bea4560b3de327d13b2924a6bcc82b21befab9963c5233cd3b1eb8d2bc20030cbe0b49113ce3c47d3bbfc7d6bc3a25d9bd1c5da63b8f68af3b727ebabc4d03a1bdb837093c8421a93b8bb78dbc74f143bdd958303ced5ce53b378ed2bba1e936bce9da313cef8e373b243c1cbb519a123c8e2c4b3ce694a4bcbc8e603d92d9a23faee618be96c28cbcacf94f3d01939b3f0edc20becc8aa8bcfd2e9e3d8595853f6074f5bd69c0a9bcd787b23d3322563fe0abbbbd03a89dbc0b1aab3d8f6d1e3fabbc89bdd3be90bcdf81913d1f65d23e17f64dbd4d4f69bc31c6413de550593eaa2bf7bcc12ca8bbbcc2af3c299eef3c0f0f52bb8e23d5bbc2f33abbcfe2adbdefb914bc00000000000000000000000000000000d5e6d63b6ed92abc099715be3537593c512bee3b90dd7cbc07fb0abe584c823b96a9a13b776d8dbcef97e9bd2eb8a4bb8edf6e3bdde699bc0af1bcbd402fcbbb91ac763b1ccc8dbc5dc38dbdb93e17bb28df7a3b930d4fbc99552fbd18c7173b41ab0d3b77e0ebbbae1279bc84fbaf3b0000000000000000000000000000000000000000000000000000803f000000001dfb633bb35e8dbdc7eba23f1f58c2bd1559123a96abf1bc29f9863f237681bd01ffa4bbe574b2bb87f4583f9c2a39bdf07994bb6d4c033c025a233ffe2208bd4a9fa2bbbe161b3c7701de3ed2d0d1bc79962ebbcd7cc33b6dab713e485c75bcfe52e4ba9faf9abaeb923e3d00a915bc00000000000000000000000000000000000000000000000000000000000000001d2a97bb657ec9bd8f23ecbc2437903c2fc2ddbbcc0cd0bd8ed6dcbc8244983c5adfbfbb293dbbbddbd7e8bcd40d8d3ca635ebbb574fa4bd3aabcdbc31ee893ce5b916bc28d78cbd245f79bc7b84483c0fdf0abc8b354fbd9eea94bb0cacdf3bde40babb8f3bf0bc18a4c13b315ff13a00000000000000000000000000000000000000000000803f000000000000000037771fbdbebc983f21e962bd160395bab2920ebc77977f3f5c7d2abdd914f0ba5e17143c5c9d503fae870dbdd6a390bb1503803ce011213f0d0706bd0975b9bb5950843c5b50e53e12dc0dbd92855938b7100d3c7f01883ebdcd0dbd2419993bac4761391621b53d02101cbde69f1c3c00000000000000000000000000000000f855cfbb1a8007bdaa5212bd538f5e3ce87d58bc2ccac1bd977c10bd6f24a83c739b02bc38bcd4bdb8d62fbd2d24bd3c2d43c0bb1d92cabdf02a2bbd1f6bbf3cf9e3afbba9dfaebd9e3215bd3d2aac3ccaa8b7bb746694bdb63cccbce1678e3c1d8756bb89de5abdefe32ebc7eba393c3b0f853a7ed2d2bc1e68313bb87c0b3b9403263ba01690bbc2dce33bbaba743b9219d5bd6009993f2b7cb33df5e8e6bc8b42cdbd1675923f8a24883dd1a1b1bc673a6fbdbfaa7d3f0bbd783d27dab6bced6904bd06a34f3fe6c3423d4b3aa6bc66666cbca8c81f3fa5f6003de6db96bc78fa3cbc210de43e9e23163c44903dbcf5f251bc975b883ebc2646bc6d00adbb833e91bcaf2ebe3d5944c2bc77aea13b0c346ebc773e05bd9e2e21bd5ea5bd3b773331bc7e57c9baad8920bd77931e3c54d917bc08a34bbd48b575bd0547bf3ca08fdcb91ee56ebdd1da76bd6e79a43ccf4913bb15f393bddf2c7bbd0701d23cf4e597b97bb97abdd2404fbd485c9f3c00e409ba7e7a75bdf56722bde697b13cd7f5af395db72abde7e9d3bca30f8a3c6386f93a0d7bd8bc4ad201bcfede553cbb866a3b5f6cfabb98ef0d3b92690b3cd3ade0bdbe97803f149e873e7b1e5cbdb931eebd890a7f3f57dc723ed9db6fbd6ac08ebd2a60573f004e523e052a4fbda87a74bd110d3b3f1a73253ed5053abd67e910bd0c830f3fb904ef3db35e13bd663306bdc02bd63edd6c903dc98cf4bcb21fb9bc3b6f843e51a3fa3cd930b2bcdaabd5bcb8fae83dcbb06dbcca6df4bb042596bcbc6f0bba03e419bd04c75ebb44d829bc3262913cf72c3cbdb0e5423bb5bd24bc0fdeafbcdca195bdd62cad3cc84443bb51993cbd4a96a4bd699dc53c971daab8c68059bdd0ff99bd42b9c83cdb7ab93a54fa4fbd5bd888bdc3d1bf3cc686eb3810c146bd54064ebda091bb3c50af983a54f425bdfebd0ebd6297b53c15a5df3a6524dbbcd3ea7fbccd09a23c6b2a703bb2b418bc0ace82bbcbe8673c9098cebdcab8523ff1c0e43e28cb9abda35fe3bdc00e523f3434d63ea076b2bdf550b1bd34d43b3f7fadb73ee7f09fbd622685bd29611e3f5230933eb5d489bd64d44abd386cfc3e43675c3e151770bd9f6d24bd1304bc3ef13f0e3ed4f63bbd60a40abdf346763eba248c3d89d50bbd91c7f2bc51d9f03d0a5ba73bcf4ba5bceb5395bcd251963cd7e020bdb9a04bbce1ff46bc38f8cf3c5d0549bd2630ddbafbeb0ebc303a9bbbe2c8a6bdb3727a3c25b015bbf223c9bc2672adbd6aae813c9dd614baf98413bd2bdab7bd0d8fa63cf024413b0fcce1bc125887bdf4ec0b3ca959253aaaa723bd37ce81bdd2eacc3c1f1b2d3a6c5c05bd6ca128bd70e0af3c9465103bcc72ccbc52f3b1bc2691bb3c400de63a611d42bc53f818bc62739e3caf2eb4bd85af233f1186213ffc7bbbbdd51dc5bd2625223fb446193f168cdbbdc71694bd18fd103f654d023fc813bdbdfab283bdcfa6fe3e224cd53e0c4badbd0b7117bd4b0cc23edf389b3e872981bd5d9b2abd7bad9e3e3ed1583e527d7bbd3a3a11bda882513ea07be83d4ff13cbd515900bd0cebe13df447c63cb5dbfbbc9ecb9bbcaf8ad13c90641cbd4689b0bcfdb44ebce361bf3c470054bd17df47bb4a1b0ebc33b325bbc17dbfbdbd22903ce00933bbff00afbcab88d6bd80c3963c71607ebaeacef0bc45b4cbbd5344a23c5201c8b92f8402bd21f0b3bdedd4a43c477d1eba849a0abd374392bd9a68cb3c2f418eb94942fcbcaa8445bd18eacf3c8318ddb95bf9c4bc16e9cbbcc401da3c22b51e3b09bd45bc579307bc1877a13c0ca398bd6d55e93e2fe0503f8a0dd9bdf6c6a5bd82bce83e00b6493f427e01be24938bbdebe6d73e79f52d3fab49e4bd7c6270bdaf39be3e2d850c3f6ab0c4bd134047bd8e719e3ea580d43e4592aabdca0b2ebd6fc1753ed0f5903ec8648ebdd59c12bda60a2a3e803d1f3e5bd85ebdc03ff0bcf8f3b73ded63253da92c11bd728b9fbc54e2ce3c141b25bd4804cebc860838bcdb46683c884674bd065f8b3b1ac4adbbeb03b2bb438cdfbd52c7ac3cefb9a5badab85abc5f96d5bd8e10133c47b3e2ba516fbdbc12ade5bd9dd4923cfe602fbac020c3bcfe1cb8bd0e7c573c707fa6ba1689f1bc06009fbdfeabb63c9b95b3ba355fc4bc493656bde8afa43c902af23999d69fbcc234cebcf048cb3cf24d5139e2372abccbcd97bba316aa3ce34457bd6ec48b3e640d803fafdeebbd5b486dbd8bed8b3ef75e793f594b0cbead4441bd5759863e90a84d3f6190d3bd1fad3bbd4f5b773e29192d3fdce0cdbd9bf419bd6383503ea28e003f5c93a4bd92761cbd004c2b3eab03b43eb19592bd9bece0bcd5e6e53d19434b3e44455abd1c8fcbbc3670833d86e1513d71930bbd466a87bc9b1c883c9aaa42bd5041babc9e48dcbb4f46b23a5bed94bd41d7ec3a09a8153bac2e73bc28f805be6cdaf63c0f847739afb699bc61f40abe898a963c669a62b8fb51b0bc0e46fcbdab895a3cdf100bbbb7ebb7bc2493d6bd9cc5453c3c0227bbdd4fb8bc4019b1bd22fc943c1c4353ba2137aebc810371bdbf21aa3c09dbb53a69c764bc76f3b8bc9b28ad3c16ba08bb751b17bcf0fd6abb52b5983ce8fcf6bc97a2c23db9d4983fe3c7e2bd7f45dbbc8fc4c63d9132913f7a0a03bec552dbbcca0ff03d723d783f9accd5bd5c3ce4bcaea1f23d96ff473ffceab0bdf983d3bcaf6edf3dd769173fbfe297bd6243cdbcd4aab83dc867d13eae4782bde501acbc1036803db1bc6a3e9c684cbdc8ad56bc8941ef3c3a94723d1ab9e1bc2bd945bc93ba703bf1b978bdfcd1c4bc000000000000000000000000000000003ff4fc3afffc5dbccd45e0bdf6d0943a06862e3b95bd68bc7fbddebd2963a23a19e61b3ab4c551bc83bfc9bdc57bacbbaac3623824fc67bc0c60afbd3e605ebb554118bb67d677bc8a6491bdd08eb63ae8f416bb99c767bc0a7a50bd8714093c33a156bba1e938bc08b0e7bc22a8443c0000000000000000000000000000000000000000000000000000803f00000000b53697bb5cf6fdbc5ae1983f84c592bdcf31d7bbf9f364ba7f747e3f094c61bdaa0021bc2f8a853c63324f3f209545bd47b01dbc9acabe3cad3a1f3f28ab31bd16bc3fbc4828ba3c551be13e158524bdf73a16bcb458663cb04d843e196b0abdf453f1bbcdd3e73a5772a83dd2e6f0bc0000000000000000000000000000000000000000000000000000000000000000e6553c3c6c6499bccb8d0bbd57be443cf524183c19f0debc1d3401bd5b2c453c8fa9103cfd95eebc0583f8bc9a56243cd5aca93b49d4ebbcbc85e5bcea64323cb43dd23a673cf1bca2e8c4bcab16453c697091ba8da5d6bc1b408ebc0c8c573c7ee0a7bb357eb6bcc6453cbc4be15a3c00000000000000000000000000000000000000000000803f00000000000000009d15383bc1be823f90ee6bbc67a990bc654f523cf1a25d3f51445bbcefc680bc175f9a3c96f5363f90f365bcaa1f83bcb4c99d3ca9d2103ffa7c86bc71187bbc92e1913c918ad63e41c7a3bc4fad5abc6110423c1ea08a3ead94c2bc74631abcfc36b93b6ca5023e2e26e7bc21b9c5bb00000000000000000000000000000000fe2b2b3ca13c3a3c7a9d04bd5e05053b478b1e3cbc2e21bc2da32bbd6143513cdea72e3c3cd7adbcebba31bd9873313cba892b3c8ac5e2bc855b2ebd4d83533c74fe043ceff1ddbc0d431cbd9fd7383c789f403b1f29f6bca0b90ebd38d88c3ce9cd80ba6669d8bcee97d4bc96217d3c699d2fbb72879dbceee480bc1e0e8f3c3507e53a30c41ebc194813bc5058673c469be0bce8fc823f53d8fc3d58a6eabc7ef2adbc3597723f7c3bd63d549e01bd2b163cbb40ae503f5653b53d6966f3bcc4e2c73bf0a12c3ff37e8b3d7aa7eabc1146363c86ca073fe835463d9ae8d7bcc6be373c6d8fcb3e3959cd3c756ec8bcb358cb3bd27b843e40caaa3b1e629dbc79fc8abae2e9003e24cb87bccf3b53bc5921683a9720e53bac1ff2bcee7c15bc2722c93bddc6b23cb479dabc84450fbc25cb293ce9a61e3c03aa35bdf0e1273a6a44493cff8053bbfcee24bdac1092bb8c994f3c799f4dbc101743bd2bed813b5c9f393cead450bc28c22dbd9c6d823bd974f43b5529a5bc516423bd95be2e3c1658df3b40bd89bce95df0bc9b8d263c8569473b926670bc3181c2bcdbe7903c345d363b3c98b8bb46a15abc1534583cb37511bd89645e3f90e8883e289509bd245f14bd7966513f7ecd753edcaf38bdedfe64bc6865303fa477503ee34615bdb4d017bc1acb183f1dd3273e775623bde0cfacbade28ef3ece83f93dd3960abdf7e174bab4f4b73e7218a63d88c409bdf6c40eba9d64733e1e36373d934aeebcf50892bb51fe013e40501d3b2bb1c5bcaa573abadf38873caedcc4bca0478abc861cad3b103adc3c3f88c9bcbbe19fbc162ce83b56929a3cef992abda5c341bc626b333c909eb73bd82c49bd27770abc7c4e3d3c375153bba6f448bdf6b8a7bb0901243cf7da00bc1d1f41bd6a8c0fbbd2de053c5e5e51bc9ff238bdd8eac43bdb4eb43b97fe54bcb2aa1abd9b1d2e3c480f743bee9a49bcce83e7bc4ca0893c96849f3be772bcbbe3e38fbc840f463c04861abd81fe373f0498d43e499525bde23b27bd63b62d3f18e8c13ebf7f53bd80afd4bc8bde183f364ea53ec50b4dbd3dba86bcff0f013f7e9e863eb47b3ebdb07625bca4d5d03eb7484f3e086036bd6728ffbb262c9f3e4310103ef41028bd491204bcf7ad583e5e09aa3d0ff71cbd02b8d2bbed17f13da351c33c33b503bd35311bbb7571cd3cf460acbc960ac2bc748afa3a8638ea3cd73fbbbc0457e8bc29e48a3bfc44ad3c78641cbd9cebb7bcda090a3cf41d2d3c1c2d32bd5bbca6bc20ea0a3c784f5c3bb0e44abd2b626ebc78272b3cabea9f3aedd027bddb8b77bcfd61e03b6416e5bb847e38bd49781fbba3baca3bc56f15bc90191abdbf5c5a3bb9de7b3b7e932cbc1111fbbc09c9533c69dbb73b057cedbbe5eda3bcde9a323c40fa1ebdc653123f2574103fa91a31bdd51f22bd8e69093fc0d4033f036d5dbdaaa7d8bc9efff03ec2d2df3e1af647bd4046abbc747ed03eb903ba3e8bf74fbd1f3f2ebcbe0da33eb9dc8d3e41c825bdffe450bc90c9833e1ba7503e9f1642bd7db21dbc0e90353ef584fa3d7ad325bd282823bc632dd33d702d3c3d9b9219bdebb65fbb1b5ee43c3e309abc1ad6e4bc105a3abb617ed03c8bfa91bc3b7e07bdbebb27ba767aac3cd4ac18bd8a82f1bc4252613be047283c67943cbda73dd7bc3c8ba63b3595b03bb1874bbdfb07acbc70f3b73b59f1663ab3c44cbdf5db84bc74f2873bb6e2b1bb586042bd7a96a1bbc0f7f73a8c1625bcd36d29bd66e4053b5b179a3907a337bc611f00bd915e533ced6bee3a76fdd7bbe8f799bc3f22083cbd9513bd6a9bd83ec9b2363fc85934bdca8b21bd30f2cc3e13c3283fa12068bdf7acfabc26d4b93e5fb6103fff8a57bdf4b0bcbc0e0d9f3ef7f1ed3e4e7651bdcefd98bc584c833eab75b93e8c8b47bd791c8dbcf4284e3e6707853e1f8a46bdb63076bc5340123e114d263e99db3abdcd2e7cbc3ceaab3df306863d71172cbd9673e4bb4185c63c03f175bcdfe4fcbc55359dbb747c9a3cce4985bc1a1b0bbd60a871bb7610853cfbcc1fbd259f01bd08b7173bf247143cfdd621bd379605bdcb72493b1135a73b29cc51bd8585d9bcee44753bb883153bc58039bddb82b3bcfa91533a7958c2bb731846bdcccf1dbc262a48ba9b0ed6bb8a9218bd96abb0bb323f51bbb04257bc1fbd0dbd8477443cb09c0dbb5e0f1fbc92499dbc04e1303c8341f6bcbbdc8b3e12ae5c3fa55727bd76d30bbd12e9863e4b0c4d3f229762bd81b4c6bc1cba713eb2812b3f60a236bd2252c5bc8b815a3e999b103fb16446bd736c9bbce40b333e8a7cde3ea0bf30bd7933a1bc3bee113eb981a33e611d41bdb77875bc979dc63d54af4e3edca825bdcc7799bcb6b57b3d2c4cae3d3fa92bbd4c043cbcf8d8923c6c067bbc936df9bccdb30cbc10444f3ca2cf8dbc7c921dbd57a4b1bb39a2cc3b6fa32cbdd9e8f9bc5557f9bae8f3b83b999b48bd5b3e09bdd92f853a142d4c3b68c250bdccd4f4bc199780b9a8c7913a1a4c48bdf8c9d4bca761f8ba97cd9bbb015d46bd51ce64bcf832d7bb17d825bc2d2630bdadff2abba58814bc734f69bca9460abd66e13c3cdeadbbbb462847bcfd749cbc6802083c31abccbcc138033e353b823f526110bdaad4babc5594013e61ed6f3fbd5035bdeebd94bc6803fd3d0a954c3f2a2d1fbd99099dbcd02ee93d9522283fd62e21bdeedb89bc79ebc93d0ba7023fe8b512bdb12798bc6390a53d8021bf3e661022bde83092bc805d6a3d3d22713ed5f225bda81e99bc2274053d00afcf3d0f1323bdcbb26fbc3da21f3c814b8cbc3d1e01bd00000000000000000000000000000000ce2b0fbbdc67653bbfc7f3bca7d719bd38a410ba4527ac3b1d9117bd02ab02bdff2e1c3ac00a973b30851abdd75e02bd55a6c7389d43163b2c6617bd1e43d9bcf0ef64ba5a1643ba58f914bd3007a3bc16a7aabb467ac9bb3d9f02bdbab60dbc023208bc1fed29bc8344e7bcde9b173a0000000000000000000000000000000000000000000000000000803f00000000112b23bc45d06e3bea4a823f1d4d9cbca4511ebc4dd5573cae7f5c3f1d9697bc639f26bcee43a73c63db353f39a6a3bc833731bc06fdb03ca2310f3f8f5fb0bce31940bc66629a3cdffed23e3068c6bc31bd4dbc366d6b3c9446873ebbc6d6bc85a56ebc940c0b3ca6ddf53d4102fabc000000000000000000000000000000000000000000000000000000000000000063a0303c8c5c47be58800e3de0b7e9ba429a453b307b47be3b92003d04e22a3a980643bb117634be06e59a3cbf85943bbcb7c5bb836116bea5a1523cecc5c43bf58b8ebb2855d2bd1e03103c4dff833ba71e05bb924469bdcdb98b3ab39d7e3bdfef65b9621b34bc222085bb1b4c983b00000000000000000000000000000000000000000000803f000000000000000087c7cebd8424ab3ff2fc06be1d04973c93c84cbd02638e3fec94c6bdb31f653cf705c3bccdca6b3f85d7a7bdba8c313ceb5981bbc606313f0efe80bddcdd2d3cdd91273c7f8be63e066428bdbdb6fd3b7f95973c316a663e3db05fbce498413bd1008e3c2bea1d3c2464013c3b3a19bb00000000000000000000000000000000f85fdd3b91cecebd9226523cb69b15b91589763c8c6327be7119033db89026bbb8a5443cb3284abee0a7b93c93877f3b30ff1c3ce04c43becba1703c7e52cf3b4ff3093c7afe1ebe0896013c20a4e83bceb7343c9e80ebbdcd62993aeafa0c3c74c1273cf55b88bd997619bbd3deec3bc61b2d3cb90ba7bc137815bc61f8093c46b9453cab1f413ccb8d95baa0cc713b930444be4820ab3fa984743c24cf72bcd9b823be0aa29c3fa0b8d03bfa764ebc580508be780f903f494012bc3d6fe8bb70dbcabd45a06f3f61c82ebcbf1985bb837084bde638353ff91a0ebc019a81bbb41d1ebde489f13ec68d9bbacf91d2bada1f83bcefaf753e0952f53b0ad762bbc0c9223badb0383d31d2b83cbc9f02bc8ef629bbbfd1d3bd64f2a33b6e849cbafc528abbeef73abd81bb25bcce63933ba3660c3ce3df05be47133cbc6983463c20a12e3c936a25be5ad382bc8860563cced76a3cf29828bec76f5dbc2a93713c7ce3753c1a5b0dbe41047fbc635d4e3c2dde8e3cb21fe0bd055a1fbc95b74d3c7a489b3c05a98bbda11d94bb4a950d3c4cb59f3c446df4bc0676f1bad367003c58aa8c3ccb78bbba4520933b48218d3b83ab3fbe0c098e3fc6aa693e9e0a68bd40ef46bebaab8f3f432b3f3e0a545cbd1aa227be85f0823ffd96173e20081ebde8a30bbe159d5e3f7d38d83d7db4f1bc7f38c7bd22b62a3f0240993dd94f90bc7e5590bdc700ed3e7ff83d3deefd58bcfcd82ebdbaf7803ec9d4b43cbe88abbb3703acbcfc84973d1e53923b0f4903bb46ee57bcc74a31bd54fd90bcd017313bf7c542bc7ca07ebcc63222bdd0236e3c5c0f6b3b648abdbd6d5e58bdc1c8c03cadf7233c95bd04be472a58bd8e58cd3cc58b6c3caa0b09be4a9138bddb20a63ce910993cc37d01beeb8e19bd58259e3c3df6aa3ce220ccbd48e2b7bc1a02683c5c1dad3c455682bdaa1c3ebc1345323c8730a83c752905bdf28fb33a6794f93b1d4c9b3c77a608bc40a22e3ccf478a3b377c34be54e16b3f3456e93e20dfd7bd0d553ebe16ec6e3f6753d33e2039d1bdac4e29be8d915e3fb076ac3ef0e0a2bd4f400fbea5553f3ff937823e380768bd32efe9bda8341a3f51f6363e040822bd7641a7bd1935d93e340fda3d1738b8bc85d563bde1f37f3e6fc3343def1a05bcb18703bdcc08bc3da4bef8bb2682c23b5a10bfbc374c52bc77b643bddb5e343c6cf97ebc9031c63b962b83bd7f91a13c7ef0bc3a0ee560bd2e2abfbdf8330b3d2a69183cc305b2bde994c2bd9df0fd3cc5be5f3ca544d5bd07a8acbd2c6fe43ca06f513cfddba8bdafc480bd8717933c836dab3c0869adbd99b427bde5f4973c222da83cd2676abdc0e186bc5635113ccda5a13c374105bd5f58423b9325d63bd502913c87ca18bc173b743c7c30a93b243414bea12b313f47c2313faebc14bea4d21dbe5acd343feb11263fee8215be06600ebef2652a3fb92c0b3fa709ebbd41a702be8c7a193f07b5d83e0010b5bd1d26b6bdd167ee3e2928983eb57d74bd570dacbdeb1dbd3e6bda313e35fb06bd12d763bdccac663eb36e8f3df1ce1fbcee2d11bd29b3d23d842c85bcdb851a3c08a6c0bcb68c073c46be91bd8c49773cfdf03fbc2b1aa43cde54acbd5846cf3c83bb863ba912e4bcec6409bebbaa443d5e7c223c255f70bd45040fbe08022e3d1216643c54c78fbdd6c7f5bd7c5a143d05d4913ce28d9cbd4f8dc1bd24f2f43c98de983c37fa84bd60ba6dbd4775a33cb5e2933c1c7a49bd14aacbbc454a3e3c64d98b3c3e70e3bc59579d3a6239b83b1e797e3c9c043ebc25498e3cbe818b3bf2b5d4bdf935e73ebaf76c3fb8d733be5e47ebbd5d17f03e570a623f25f03abe4389e2bdf7c3eb3efcfb413f2ba218be07dac9bd45fbd63ee869173f2b03e7bd2872b3bd6b2ebc3e81f9d63eab37a0bdcd0993bde76b923eb9cf7e3ec38223bd0c0859bdcd54463e5e02c63d6bb2f0bbfee600bd156eca3d882aacbcd40e8f3c591ca2bc48f3b63cbf79bebdada0b13cf47ff5bb7f40df3cc09acebdc708143d4e48263b57fc38bbf04728be9eb3583d21a2233c0c78edbc4afe32be752d4c3d9432573c6fa32abd7dc221bed0e02b3d66785c3c9ea532bd242bf2bdb8e0ef3c1f32753cc9143fbdf60aa1bd3d62ac3c8120663c08fb08bdd10e15bd3d08403c65283f3c5a9db0bce22b64baa624293b4ca9273c0500efbbbb22a53ce20547b98bf86cbd02a9673e436e8e3f82c641be2b3186bd96d1743ee9b58a3fcfac49beb29986bd06357f3e34d2713fbe6a29be895383bdd8ee7a3e154b413f560503bea3a867bdf211633e37dd093f9006b0bd545941bd09f8423ec6afa83e218e34bd82cc19bdd1d80e3ef2370d3efe2036bcdcd3bebcb572ab3de86b88bc048ac93c517e5ebc1458e03c5cb8e0bda8e50a3de6b339bbdb11c13c630d07be2590233da3e5bb3bd10c603ccd563fbe0921703d3f46353c74dc08bc6c9a50beecde533dcf0d503c7b5ba7bc603b3fbe4744333d927b373c0d10cabcba3c15bec27c023d68230f3c6b1fabbc2e1cd0bd5708b13cc0abd43b65d093bc588d49bd74bb0b3c7c16893b4d8737bc24568ebb1aaebdbb7c18f83aad62acbaab9ed53cadf945bb48096ebca47f673cff59ab3fcb0c44be25c4acbc8707383d31719a3f1dc231be9104e2bccd8a8f3da1bb8a3f0e961dbede05edbcfa29b23da473603fe2fff6bd9684c7bc0208bf3dcba6243f852facbdc83bb0bc5810bd3d3cccce3edaa037bdc6cc7ebc98719f3dd05f363e70a5d4bbf96119bc108e6e3d98e16ebb7d88073d127704bb8bbfa33c089112be325b193d00000000000000000000000000000000d218163c761a2b3b695748be6cf1213db6e2313ca241bcbb4c8944beb4ee0c3d011a1c3c0cd153bcd7ff34be4827c73cc235183c5ccf67bc466714bebb9a8e3c2d058f3b38b646bc530dd3bdc5e8483ce00a413b2654b8bbbfd56abd01968a3b343843baee2bcaba7a6b0ebc6dac19bb0000000000000000000000000000000000000000000000000000803f00000000bdfc3a3c4507d5bd1289ab3f311700be9530073b3a6d4bbd76518e3ff8acb9bd47d944bb088faabcaea76b3f370c98bdb62a3abbc70555ba9586303f126561bd87b2bebac58f263c3bfbe73e6bef08bd6372213b641d683c08ac663e9dbec0bb5d11d23b6549463c5d6f093c5b256c3c0000000000000000000000000000000000000000000000000000000000000000c7bcb3b8fe7236beed042b3df20ffabb83ac62bb5ab53bbea9e23c3d93d1d9bbb25bf2bbfd082fbeda53133d7a6870bbd5ff03bc291714befe94013d0aa151bbf5c8f4bbc76edfbd5c92d43caa942bbb022a4cbb90f482bdfbc0803c38d2e5ba2b43443a8978a4bcdcedd13bb434563700000000000000000000000000000000000000000000803f0000000000000000fd09a8bdca78a83f67360cbe1eb4ad3cd1db12bdf80a8d3f830af1bd8d20a63c14db01bc3282693f6e5bd9bd3831a33c433a083c261c323f2435bdbd29168d3c94028b3c5264f03ea49c90bdfc3a6f3c75a2883c2b077e3e65851ebd2cdade3bab72263c8e83043db72b0abc332c8eba00000000000000000000000000000000c479c6bbb04a9cbdf16d643abecfc33ad0b3b53935331cbec4f5153de10d9cbb3f52da3ab6a03dbe6669103dadb13cbb48461a3b2b6e38bed2f8063d43250bbb9214793b71631fbe9c12e73c2ec2f1bac228193c1a9df6bd4c87c73c2ec8a5ba6ca23f3cb8689cbdc5098a3cd70b72b9040a723c68abe0bcfd9f1f3b7d5ff83ab4b5463c24909c3bf0e1293ba177e1b900a92dbe8fe4a73f7e868c3c575c33bcdf541bbe81649e3fe4b1a6bc5a2495bb351ef4bdaa36903fb78924bde95f833b624cb3bdf13f713f0fe453bdabdf233c9a0177bd6d0e3a3f8da55dbde3e95c3c7e2a2cbd1fdb003ff96c52bdc546453cffa2e7bccc188e3e487f10bd77cd0e3c41c07bbc24e38d3dc8e257bbd5c33c3ae7f890bcb277a0bd662968bcbca8ce3bc7729bbc70e893bc0dfcffbc0270443c35fae8bb7b3ad8bd354488bc3670383ccad595b921d90bbe0cab42bca464213cfc4fbe3b0e5a21bea6d1253b9b23d13bab20533c752d0dbe6650a83b3de5ac3b07a4833c23c8efbd7d0a523c899ac13a24ca973cdc09a3bd0bad563c9ae7653a0540a83cb6bb31bded415b3c6d42b7ba2dafa13c988c2ebc0bd7533c593d23bb3c2d2fbec4508c3f4ca8643efd3f46bd497f36be459e8f3fc0d01e3e6cc211bdc3d014be188b813feea1da3de6e9a6bca96603be731b643fef91463d57cfa7bb5a12c7bd99ea323fa3ac573cccb38f3a351ea5bdbc10033f92cf9fbc4aa62d3cbb7b6cbde3429e3ed4e90ebdf3c9583c096231bd9405fc3d6cd634bd49d88c3c294c04bd20d62fbceb5640bd3eee803cea6fccbc42b7963cc02f89bdb4d1b93c5ff549bc7b817abdef0f82bda317d53caaf4babab99addbdc83148bdcc56b43c6c37083c3a6f00beb40300bd73bb793c6ced5e3c62dd00be7b1a89bc118e3c3cfb7fb03ce7abddbd48a812bb4333d63bbc5ebd3c1d63a8bd2b53253c8554293b7c9fc93c4d5245bd62b58e3cd9a121bb5f1ea23c8f64a5bc5cedb33cc96b66bb5d0b23be039d673ff07be03e303eb3bd8c8c2ebe1fd56e3fe703bc3ef63897bd5d9921be6bd4623fc11d8b3edee04abdf1ce0dbe1e74473fd41a383e27fee0bcb45af5bdd246263fc5d6c73db17806bc49dec7bda71ef83ed34ce93c60c1ab3ba5289ebd5e2aa13e8b91c7bca839833c657b6abd9d82193eee1c80bdadb1db3cb08d23bdebf1e73c38afb0bd976ce53c04ced8bc52741e3dc464b8bddac3ff3cd33c6ebc9c5ee6bc5f56d4bd0fc71f3de28e1aba88618abd6aaebabd117f013d5dbae83b6031c3bd0e9e92bdc363e03cbd49653cea54a6bd540658bd59d0983cf2ea9d3c6cc5c3bd8b6d9dbca869383c0df8bb3c726c93bd3a0f4a3a8f9d703bddc1c23c773848bdf03c943c398b3bbb25fea43ce0b4c6bcd78dcc3cd2e86bbbfe7b08becb12303fdcbd293fa006fbbd183a12be06da363fd1d6173fbfc0e7bdbb1009be7eb92f3f3721f13e244cabbd975406be5dea233f191dad3e131f5dbd3c8fc5bdde7e023f9574673e8aa21cbdc453d0bdce80de3e0eebc13d211498bb78669dbd36cf943e050ca53b7ee1563c8e4b73bd4ca6243e72858cbd2a7f053d4c7d2abd5af04c3d719ae0bd15bf0f3d1f45c4bcef3c393d200ed6bd8706133d0c9926bcf89dbdbb1c810dbe46ed533dbb1b8abaed0f3abdbe8203bebc183a3d59f2023c9a1888bdb38ad4bd246d103d32f53d3cae48a0bd17f698bdc747e43cce2e983c24559abda50f1fbdff016a3c7a99a33c626380bd62c3eabb21499e3bddfd9a3cacee29bd9daa963c27348bbb1465923cbdccc5bc6145e73cdfaf8cbbf00bc7bded31ed3e89c6613f7cc118be1b8edebdcbb4fb3efd82513f050c17be3a57ddbdcbd6fe3e37612c3fde46efbd23f8d5bdd65af13e39bc003f3211a7bd000bccbd157cd93e3307ac3e67964bbd76f8afbdfe1bb13e56bc323e90185ebc070492bd5914813eef90133dc8d9603c7b2c55bd92c5173e115693bdfa8d1f3d3ee212bd3e526b3d005ffebdd5fb203d92b676bcfa3d223d5be8eabd5ddf353df4f39dbb5b6f9e3bf06f26be55f6683d0bca1d3bffeebdbc087622bea3444f3dc56e0a3ce52e2ebd8ecc0fbeefe8353df0df313cbc2442bdf5b8d0bd030cfa3c648e673c548257bd84c97dbd309aa13cdc82603c72f82ebd6ebabfbcfff2fc3be5f8583c7eb4f5bc22913c3ceb57bbbb2d4d553c4ad37dbc4adaf93c986403bcbc6769bd17c6783e48c8893f700926be1e5383bd9556883e6e7f833fce0a2abe19b68ebda31d953e99175c3f6eab0abe009691bd1c03963e58d62c3f337ed3bdff2286bd02888b3e1ee5ef3ebf3e8ebdb9fa7dbdfd88763e01e8883e721eeebcc8d248bdc66d393ee5cec43d7958003b9f7e0ebde414ee3d07146fbda5c52d3d344ababcc1ee3c3d8d710bbeb8ef473d7cc88fbbfffbc63cb11207be64db2c3d3584973bfa98a03b62d336be5d39753d4aeaf13bdc7a5bbc730e40be0ff65e3de12a063c4f4ccfbcdda02bbe5a20433d4d6f093c4130eebc16a506bedae9133dc811ef3bd1e6e2bc680ab2bd331ab83cecddd83b9c72b1bc283e20bd9cfa043c565f623bade30ebc13fa383b27b80dbcdc6b6d3bf32ab8bb6102f93c51d00bbc52ab75bc8d3dfe3c80cda63f569d28bec0bcb5bc7952773deedc973f209e22be4773ffbcd6ecd23d78b8833f92050cbecf0309bdd36e013ea8fb513f721ae2bd5a2906bd49fe063e1933183ff88ca0bdc476eabc26c5fc3dbe0bbb3eab142bbd797babbcfceece3da2bf163ead37efba4dbcd1bb577c893d01ac05bd2f1e2d3d5c3bdfbb560dd73cc21e1cbe5c28363d000000000000000000000000000000005ed7fb3bc8f3bbbb8c3031be3f731f3d331d083c096944bc5aa030bea4891f3d2b26be3bf9636dbc250c23bea4fe013db648bd3b26077dbcfb6108be6382d63ca99c2c3bbc5646bc0df1c4bd7de19e3c354d943a3661d5bb82f555bd40800b3cf36615bbe4320738133225bc4ebd67b80000000000000000000000000000000000000000000000000000803f00000000f8ad293c26ddadbd76eea63f9b4af1bd5d29113b925bfcbc7b5b8a3fc2e7c2bd991482bb1c8ad73abf1a633f5950b0bde102d0bbd1bfa53cd6122b3f45f48fbde93daebbd940df3c35dae23ed6e750bd9e389f3a76b2be3cfb26653e9046a9bceacada3b9aa7443cab14583c4a8ec43b00000000000000000000000000000000000000000000000000000000000000000cd653bb4712d3bd569c99bb976f903b8224aabb7ec9e8bd4dbf043b63b2743b547982bb52d1dfbd3b6818ba0bbaab3b5cbcaabbf258d0bda3e8313bc531873b3922cabb8140b0bde2f3f63b67f2e73ab1eac6bb5c0c7cbd8539573c683726bb4d15efbbe09513bd9e16843c4cd592bb00000000000000000000000000000000000000000000803f0000000000000000e1b51ebd9095973f9cfca1bd1af9603c301c28bcb922803fcc9894bd481a863c5109343ce5fe533f6f498cbd71b8683c0899a73c3357253f4f0886bdca97743cb7779f3c245dee3e425684bdca5c813c9d586e3ce9a78f3ea4e561bdbb846b3c8280fc3bf1e3cf3d28f042bd1e0a5a3c000000000000000000000000000000006d0208bc3549d5bc739d03bd46734c3c31b377bc8f42bdbdbce24fbc614ee43b594205bc9ce2e8bd1d2d45bc8f9d083c6bc9bebbb314ecbd1b6b14bc8f77003ccfd943bb5e2bd5bdf1f3c5bbbdbcf43b22ae1ebba364bdbd8b6f813bd34e4d3bfd70a3b9b84e8dbd95be273cbeb2ff3992a4983b079412bdd7a27e3c6ffba2bbf62e843bcaac4ebc6b23723c6bcb44bbd940d6bd9e86973f3017933da6da9cbcf67fcdbd56e9913f5765fd3c08a0aaba82b387bd7963803f0ae07b3cc346d73ad8d423bd3274553fae35c2bad7c0ba3bee95c1bc6279273fb2ea8fbc230ffd3be10392bc066af53e56970ebd0b46453c782198bcbfcd983edda03ebde4a15c3c38c6c5bc6779f63d9ea84abda429793c8f8386bcfbc068bcb87f51bd00f56a3c233990bcde38583c721b51bd0287953c717077bc9aa32fbdb20b5ebd787dbf3cebe627bb873082bd00a948bd22dea73c9765a7baacb2b1bdae3e24bd2daea83c78eb983b5967a7bd0c28f4bc0d7f843cd0e7c13bcb1ba7bd705077bce1853f3c7a08023cff417cbdb967dcbb7df7163c2b460d3cbf9738bd612e2f3c123f163abf8e1a3c972da3bcc72a5c3c2b5626b85e6debbd4c14803ffd267e3ed51841bdb626f8bd2b49803f4f7e483e8e871bbde137adbdefb75d3fcbf11f3e1b09edbc5cfc9bbd8a9d443f8475d43d109e9abc70ba61bd71af1b3f829d793dab6231bc1b804cbd0f88ef3e462b4f3c9466f8391fc312bd02bb9b3e02616bbc67803e3b231421bd2a9c203ecb9155bda6c6863ca5bcdebcbaaae33c72847ebde483703ce5df9ebc4ba7203d533891bdd7d2c33ca5d18fbc63ce05bc9350acbd2c6d083d95eddfbb070d33bd13ee9fbd1157043dc4f0adb998fa7ebd7a3286bd9591e93c86b48e3b55f290bdeac254bd39afd83c5c84063c394892bd537c02bda01f9a3cf9c50e3c64fd83bda06c5bbcf8c44c3c2353383c01dd42bd375b863b52ffb63bad82283c6eaee8bc67be283cab08a33bf77ae2bdf447533fa0f6db3ec0689bbdf41bf6bdcb46543f2894c03e64b990bddd81d7bddceb433fc0749a3e02be62bd027ab3bd11282a3ff4be663e09d02cbdc7a89abd43c10d3f3fbb193e69aefdbc282a84bdfffedc3e2dbe993d7fee6abc3ac36dbd84959a3ee9182f3c2a8fc1babd8648bd306e303ee8e732bdf79d543c4a59f1bc95f5633dfda692bdf669403c2f04bbbcc373573d4c4da6bd3eb0ce3c4efb94bcbb1c6b3cec48d7bdf096203da9d508bcfbcd77bcdf9ac9bdb6e20f3dc8ab19bb713623bd6315bcbd10921b3de4c3063cc9780fbdd7618fbd6b62d33c605ae83b54ef72bd7d2953bd7ddcde3cc0e1353c885d57bd8b50dabc06cc923c8024443c853142bdc5950dbb9d46163c0777593cc520fdbc7c22ff3bbc7a0d3cd697cbbd6116253fd1a11c3fedb3c2bdfb7cdcbd5c12263fdf120f3f3103c6bdabaabfbd5f61193fbd67eb3ec5a7a5bdbb24babd8e160d3f87d6b63e993289bd87fe81bd9707dd3e1160823e644a54bd3c9f97bddb0ac23e3ffc183e77a303bd5b5b6abdd22c883eb2196e3d584d6bbca8d25cbd56a42c3e5931dfbc66b8f33b2d7b10bdfe888b3d09de9bbd54f2083c89beb7bc78c2503dd25fb2bd8479d03cc5b393bc4501b33c90dafcbdb65c3d3d87152fbcd45408bc9d61f8bd439e2f3dd2d247bb3f62dcbcd583debdd4db203d9246fa3904bd19bdd61abcbd39271a3d7870cc3b50c23dbd7f5683bd23faed3c4e5e153cccee47bd81b119bdd94bb53cd99a403c3c5639bd3d6ebebb4ae53b3c99c2483cf190f8bcd299cd3b6b9c223cc5a8a3bd00afeb3e5b6a4c3ff5d7dfbd5d85b6bd6411f03e2e983f3fa374f7bd0e22aabd5fa1e93eabd8203f015acebdec95a7bd4055d73ef9e7fb3e6b09aabd43d39ebd4fc7be3e3c0fb73e922889bdb2308fbdacde9b3ef065643ee35d30bde1f985bd97046d3ec893cd3db8e9afbc8b3958bd73b0183e0f1f1bbc138d363b15140fbd15278a3dcb4e9fbdb05cbd3b7f439ebc70651e3d9754b6bd6ddef03c1cfc7dbc9dea8b3c2ed208be06663c3d334ccfbbd1fa033b3d5f04be151a223dc73eafbbf1ee86bcd26801be8e10303d38ebea3900c1bcbc2848cfbd70280b3d5c7c4d3bd69911bd519e9dbd254bfc3c3ba2eb3b54b50cbd3a953fbd352bb93c0d41353ccc0f19bd518115bc0b91343cfb1f263cb6cadebc5d52223c6a15013cc1db5fbd04658d3e23887a3f81cfedbd048a78bd7880923e9df26e3f47b604be714980bd0762943ea7ac443f6796dbbd6c6583bd4793913e63fa203f465ec4bdc0ec7dbdbe19823e260aeb3e5f5697bd0c2d7dbdec6a633e94f99a3ef3165cbdbeca52bd65422a3ea34b1f3ec23508bddff040bdaa38e93deebfe13b7f08193a513bf8bc40aa543d986ea4bdf410083ce7c482bc06b9bd3c282cbfbd13b8ae3c3ef6cebbb51a663b522613be2c28443d97fccfbb0cc09fbb773019be8c352f3d24459dbbe3f72dbcb4680ebe8301253d4cc130bb7a856abcaa3bf5bda0d7123d3c621ebae38eaabc3dddb7bd4c33f73c80915c3b2d91c7bc98bf67bdc1bcbc3cd59e103c8437cdbcbc3f30bc8851143c79ede23b1927b3bcd91feb3b113a073cd785d6bca295c23d6716963f3056e6bdad87c2bcc8a9d93dbb988c3fb791fdbd840009bd320b0b3e52ee6f3faed2e0bd98c41fbd053a163e1248403fb0d5c3bdb96a31bd3cc1143e1e43103f2268a3bdc22b26bd37cf013e8a59c23e6f3678bd0e191dbd8160cf3dfa264c3e70a513bde587e7bc182d823d4bc7ec3cf69614bbc183cfbceb3c023df097abbdb3d28dba00000000000000000000000000000000a13787bb7235aeba4bdef1bd4886953cab5532bbf3bd86bbb8adfbbd067fc03ca22f87bb31ae03bbb5acefbd7ecd9f3c437d88bbd20c8dbb41fed6bd64c1a03c62c86abb9998edbb79b9b0bde66c9b3c67acd6ba6e0e2dbc4d4964bdb167693c77b0043bd5b14cbca533edbcd0423f3c0000000000000000000000000000000000000000000000000000803f0000000009d09cba99fdf2bce485963fb04aaabd56eef9bb8fbaea3b693c7b3f7ea993bdf15688bc23bb013d66fe4d3f79b58dbd5873a9bc8e442d3dd4721e3ff41080bdc320b3bcf7e42c3ddb0cdf3e55175dbd22cf96bcb673063d22fb813e40e513bd2b8493bc2191ac3c68a5963d6579b8bc000000000000000000000000000000000000000000000000000000000000000079f2723c147955beeed9653dc0cc2dbc2b8914bb7a1748bebe19313d62e8edbb0aac5cbc9fa63fbeb54fe93c8de29abbabe8a3bc747d16be0d83a33c332a84bb764aa0bc9a57bfbd65f5303c83343abb84e688bc47233ebd6f9252bb4f5566bb660a29bcb021afbae4a31bbc82dbdcba00000000000000000000000000000000000000000000803f00000000000000007d11ebbd6897ac3f15c016be5b0ec03cf0c562bd66798d3f13c5cfbd0387923c39eb0fbd0bb96e3fde14adbd42cb923c7b251ebce876303f229a82bd1c80883caeb7443c407dda3e72b1e3bcc60f0d3cbd04b43c3a9f573e3546733b8dd2283b6e2bd33c4e873dbcb7a5ef3c85378cbb00000000000000000000000000000000a008b23b4e0dd7bd5f810a3da7dfd9bbdc0b203b6c5017be77011f3d5a0fdfbbb8456ebab6314dbe2048253defa120bb4a51bbbb475649be980f113d3cfdaabb23fce9bbbb8128be7665c03c1400b3bab1d4ccbbb86bf6bd473e803c040d07bb9c3fe9bb465086bd1f999f3b7233bab9fba987bb26cbc5bc4682c2b8cf05ac3ad8f4333bde023b3c99403038867bbeb934714dbe9d23ac3f87c3f2ba9c57cebb2c691bbe52c0983f8d24693c528701bcfb8417be687d923f439dd8bc9230333bbc1af9bde6b2753fb344f3bcbdf7213c3a4eb5bda0f83b3fd6caafbcda9b243cf9496ebd1ea9f93e020c07bc0dccd43b966deabcdf9e7c3e3c33243c2f8f02baa99b20bbbba3883d7b41ac3c4e1034bca35c143a6417e1bd8322c03c6cd41abc380c87bc6d5c0fbd3fac803b1926803bf8012abc131304bed15b5d3c09068d3b451b2bbc2e1038becc97c13cb91c083b74de6bbb91b640be2797ca3cf1a7fdb92b1238bbb89a2dbebd7bc93cdf7902bb571b413bd82107be94d3b43c78fa08bbd8f8703bd75ea2bd044d613c68e65dba3718933b05c017bd9fa8343c293616ba401e203c08f722bc0cd0313c011caab918253dbecc6f8c3fed68663eedff55bdef6d4bbe3c84913fc0a9283e1f2c14bdc3d43fbe6aef893fd224cb3dd25d71bc66fa2bbe189a6f3fd15a653dba1ecfba1fe00cbee78a3c3f6ecbfe3c4922b63b96d2d4bd3e60023f4a14a33ca7cc7b3bfb2787bd6e188e3e9783293cecbd263bb5400ebda5bfb53d3952f03b75034cbbc3c7afbcaf9d09bdd00063bb79e5e4bb143000bdc066b0bbaf72ddbca218713c370481bce8aac2bd2508d2bc228e993cea8974bcd06717be6aa534bca8d04f3c99ea2ebcb91b29bebc46f73bf01a953bf3f688387f8426beaf44883c08d6f33953e1863b1a9502bef8cca63c4eaf103a4509f43bdc74aebd4098a93cc23b3abbfa9f193cbbaf48bd13acb33ce3812e3914822a3c931991bca06abe3c1ca45c3a4a1f32bea9e06b3fbb3ce73e7a04c5bd11d844be6166723f2bdbc83efdf8abbd135841be91ec6c3fb79a933eebc244bd973e33be4c34563f09cb383e73fc91bc786222be8279313fa274d93d6416f1bace0300be75e8fb3e44cc6d3dbf380f3b8ec5b4bd75eb963ea730813ca710de3be1425dbd9495fb3d768d83bcaafee03b87780fbda6b121bb53bb23bddae2cf3a89bd15bd96609e3c744e7fbd415bf43c4a79c0bca3dd6abdae0997bd92e20f3d11a85ebce770debd683481bdf6d2f53caa4c49bc4b990cbe145afebcce995e3c5c92a2bbf08408beee83b6bbacbbb83b4c84ab3b5ad8fdbdef4f553c8b35263b723df13bba55adbd31e2b63c8a359fba9fd0303c40a74ebd9c0ed63c7b268dba43d31a3c3042ccbc6df1093dd6cda138560c0bbec8022c3f5164363fa73b15be126d24beca62383f675d233f0c9c03bedf1128be60b1373f26a5033fe66bb8bdbb0725be92062e3fb956b53ecc3b36bd600d14be57bf143f8156573e808541bc97c801be8b7ae73eb6f5d23de49cf23bc390bfbdc253913eb6edb43c3e35863c538179bdc6030b3ec59e04bd25f68f3c936b17bd8d62d53c10c1a0bd0b117f3cdca302bd3a5a213db721c3bdd2c22e3dc590aebc5e99d6bc5ba3f8bd74b2543d1dbf48bcdd999cbd812deabd9f552f3d28f0ccbb7709c4bd5646b5bd2746e53c8ae07abb5957dfbd5c1832bd65737f3c2ad9973bac7dd7bd7d930bbcfe0eca3b2a58213cbb7ca2bdd04d433c6b4fa63aa3c1f63bb85443bde1fac23cd6aeabb9f70aed3b8b67babc1de50a3d0aba13ba0f1ab3bd7667d63e299d733fb68f3abe0547e9bdcac7f13e94e8613fa8272dbe1b3df7bd3a41fa3e47203e3f5a40febd86cafdbd756af33e0d3e0f3f4935a0bdbccff8bdc74ae13e361cb53e8b0901bdc428e2bd84e4bb3ee3ae393edc3317bac100b1bd6024813e2507573dac08923cb13169bd100e0a3ebe2b1cbd45d8e53cbd780abd058b2b3d39e9d9bde619c83c16ebccbce244253d6a9cd4bdeb80423df06e5abc00a810bc356623be373c7c3d0631b5bba4552cbde1c32abe5dad643d814556bb794e80bd6bf00bbed00c223dde0670ba925590bd25ecbcbd1841c53c5b72a73b643a9bbd044b2cbdebf24e3ca7e39e3be01c75bde8c188bbd99413394207e13b3b511dbdca058b3cd63e95ba5d8ab43b3c8167bc05f2f63c0fcc06bb983d2bbd096f4d3ee1758f3f644e3dbeec946bbd5a6f6b3e5f2a8c3fcf363fbe73dc90bd5aa8823e433d753f703c1abeee829cbdad0f8a3e0bc73e3fa20bccbd915f9dbd7c0f863e0ca7033fd3ce4fbd49f898bd95a3723e48bd933e862624bcc72375bdf3a33d3eaf4ec73d0994b23cd4862ebd30a7df3d9e9810bd548e153d7c18cdbcc772263d55c6eebdee561a3dc73c04bc5231d43c0e6f15be0a7f823d1f2813bcf6ccb73bef732fbe954c813d81f3e0ba600ea8bce91c50be8c9d7c3d4a225a3b34f91bbd5fad36be3996423dd566af39d65c30bd5c3b0cbefe4e0a3dee084c3b778035bd39e8aabd89d28b3cd15cf93a8eed18bd36f303bd5b865a3bdbb79a3b316ccdbcfcd7c138e560f6bb6b7a5f3b6c29bebb7572043d3289f4bb3f2f94ba77d90cbc20deac3f156148be910fa0bc045c673db0e2963f8d751dbee577d7bc45b58a3d1c9b8c3fd0110ebe19d213bdc9dcbe3d4b6a633ff89fc9bdb16c1cbdf9eddc3d7e9c253f19aa77bdfd520dbd887fdb3d0678cc3e1cea6bbc3844e6bc4b49bf3d92b42b3e6842973cf54dc2bc1dd1823d5262433c574a203db3cea8bb67e6c73cc8ea24be5537613d00000000000000000000000000000000ae6af73b7ab32ab87ddd57be6f087b3dbbb2b03b93ab72bc24674bbe3ce13d3d124b913bb210d9bc06ef46be59c8243dc07799394998c3bc748c1dbe957ee53cbfae183a698ec3bcea94cdbd2b257b3c97e672397f9b92bc17615cbda37f613b8adf02bb865d56bb7611aabb62bdc3bb0000000000000000000000000000000000000000000000000000803f00000000a8a44c3c3efce7bd627bad3fa24104be045e3fbb5f454dbd3065903f2129aebd798f7ebb4e41e4bcc2e4763f827896bdbdd3f4bb5d37aabb0fff393f30d942bdb64bcabb6893233ca247ed3e549e80bc91024cbbaeeea23cf6c86f3e66c82f3c626d4c3b12f9603ce098033a61a1143d00000000000000000000000000000000000000000000000000000000000000004cf5d73b89c145be5675923d56e080bcaa4a9d3a697746be7800913dce0845bc685401bc79d740be78d57a3d1fc408bcb6942abcbd7e1abefd9f423d789fc2bb535339bc4923d3bdb3faf23c63a96bbb36b208bca6da5fbdba66203c7c3733388d1678bbec1cdebb3171b9bb080de93800000000000000000000000000000000000000000000803f00000000000000007e5bb7bd71f4aa3fb04522beb998843c28b341bd59fd8d3f667807bef54a273c2d03dfbc513a6f3f5097f6bdc13c2e3cf417dfbbaaa6303fe16fbfbd0798103c8c1bd33b76f5e03eaa674fbd8beb6b399cb9763c6b185a3eeef152bc555a29bb8747873cce8c21bc70a8ec3c2d29e9bb00000000000000000000000000000000518b54bc8c2f88bd9ed6ac3cd46920bcfecb55bc3b5ce0bd14171b3de37531bc016d3ebc3bd831bed3f5783da63e61bc54ac68bbe90e42be51498a3d7b5169bcfe0b9a3a41982fbe1208773d2de548bc5168a23b990b06be99f0393d94980bbc5267083c4c10a3bdbb3bdb3cb3c7bbbb9671143cb79215bde7150a3cb74392ba17ba713c5b50993bc14902bb646fd4ba4f8d27bed438a93fb9df71bc7d6084ba6dfaf3bd25f9963f61b3b7bc471988bb0020efbd6482923fd8c7a9bd4aa4283cf88edfbdc1127d3f31edcebd40b8543c3c83b4bd6ce5473f5b38c3bd7bab6e3c53818dbd28590a3f872e98bd1f89393c49b039bd1711983e33e421bda2e6a73b0188b5bce948d43dfd7800bcd7658cba4940a6bc9647b2bd4217ba3c3fc9e8bb689e34bd25b9903c8e0fa9bcccb9a2bb4d9807bdc49797bdf75df13b533cc8bb2f97fabcc81802becc0e0b3db60f31bc16018abc9c8125be8427593da3f574bcb6810c3b6bc82bbe13f57b3dcc9e80bc218f143c0cc210be6235693d279d5ebce2dca13c372ccfbd8cad353d42a932bc727aa53ca3335ebd49bbf03c0babf9bb1fbfc23c2c279dbcb04e673c2cf481bb416316be50a38a3f9b243d3e460bcdbc774e22be1f20903fe243c43d37c850bc46c412be65fa893f1355723ccdad043afa9c0dbe9536793fb26034bd3833723cf60f0ebefc9f503fca57a8bd9b21a83c7f17f0bdda391b3f948eb7bd5897aa3c90ebc3bde70ac33e7698a2bdb31f963c437684bd760a2c3e0f135bbd7fe4313c849a4cbdfb74a63c143e06bdfe699e3b51ab84bd25078a3de73d89bd9e44b43b4ae944bd66c5e3bc908a12bd9b1944396a3730bd3f3eacbd15b685bb138f01bc992f12bd1beae6bd9970c83c57c14fbcee0b78bcbad90ebe00fd4b3d09d380bc99cdc53bb0e30abe0a156c3ddbe196bc5e2a7a3cc0eed7bda748643de1528cbc3087c83c66e98abdba2b403d7d3868bc4527eb3cf1be08bd0fd0f93c5cc6f3bb117f04bed216633f7da3cf3e177663bd803e18be3114713f3710963e5f690cbd5ac215be2cf8703fc0ed243e25ace0bbf8570abe32ab5e3f1820643db591ca3b2d2e0cbe2757463f508910bda6faa93cc7be09be6fad1c3f078da6bdb0fef43c6266e8bd59a7d63ee524d7bdcd6b033ddfa2b5bd45ef6c3e6a00d2bd9025e73c00e28bbda5cc993d07c1b9bd1df9973cba4794bdc920cc3d72d9e8bd3748c73c3b4768bdf03f823c5652b9bdc3cc753c4f0c3abdcb4a42bde61055bdebf4da3a229d2dbd95cf9fbdd4aa36bc07f8eabba625ccbc5291cbbd82189b3c4fe657bcc37110bc6676e1bd0e113c3d13bc97bc3ecf673cb07ac8bd51805e3dd9b49dbc3988ad3cd67e95bdc5596e3d646c9cbcf59fed3c12f92abd1b964a3dcb6174bcda9dc6bd81c2233fd9de273fddcdbebd4098f2bdcbbd363fe95a073f3f488bbd40b302be94d73e3f3a66ba3eace1dfbc6a76f8bdd8ca3a3f9fc9403ec18aee3a316de9bd992a273f3fc9833ddc836c3ca4dcf2bd9c9c0f3fa55b39bdb5610a3d33f2e6bd42a0d13e8c9fd1bd039b2c3dbe39babd4ce4833e47d80cbed313303da69198bd5750ee3d725b12be6672133daa0e86bdd08cdd3dd48e10be2e51093d77ec55bd350d183d6cdc0ebe2e82093d197438bdb85e1dbc6bf5dbbd5624823c5eb127bd676029bddf3b80bd7283ba39fe260cbd5fff84bd0e9394bcd59fdabb3b4cacbc09e88cbde12a703cfd466ebc0de94ebb640692bd2d81233d3ab4a6bc20f7513c14d877bde41b683dd498b9bcb35fbb3c30ab2bbda1b6613d30c088bc56146dbd17bbc83e9d14683f242604be99bea9bd37e4f03e7115473f1c75d0bd6d8ab9bd1fcb043f4049183fa31673bd6322bfbdf250073f532ec73e25fb8abc2ec7b7bd9efa013f279a443e6a692d3c6465aebd3ec9e03ef206433d4414de3cbc75acbd81b2b33e039f8abdc1e5373d6cfe9fbdee88763eaaed17beb6716f3d13ce84bd96e2023ee7c037beab1b443d77af34bd1fb1ad3de6ed17be91223a3d8b6b21bd4311293d39f335beb0a8433d0cf01bbd32f3073c703228be2b6f163dfaaf11bdadb162bc02a5f8bd38ce893c49d4f3bc243b06bd269b8abd81ee6a3af5bbc7bc5fae22bdaac1bbbcd9f70fbc588e78bc7b0317bde734473c81a46bbcffcd7dbb7e9a06bd67a4233d9a4cbbbc4d7f3c3c36f7e9bc96f9563d4d64a7bc5e15dfbc3557373ef8958c3f8c6214bef7cf29bdb28e703edc6a823f27be08bed59f4cbd5113923eedd5553f50b6b9bde45853bd91959f3e058a1b3fdd843cbdc21f57bd3459a23ef13ac03e15ccedbb989059bdab1a973e54612c3ea2019e3c5f4a36bd53f8763ed657563b81ae1a3d55982fbd3350343e67daf5bd1ef47c3d17e425bdeeb8de3df53a42be083a803d9b3a65bc59dc123d5dff24be68e7663d68ff9ebca8cae53c764d35be58a34b3d7e54a3bca7cf1f3c0f5e4abec908403def0dbdbcf2ed233a9bd62cbe0652043d56deccbcf0a10dbc6797f9bd7a428a3ccd70adbc74fd42bc6aa28abd0c581c393dbd94bc05b325bc5555bcbc603615bc0fa228bc6b76b9bb3532ce3b4b168bbc0530adbbaccd7cba37393f3d4c27c1bce6ee5abb418f3dbcd95eab3fc43f29bec8c684bcc485813d5b29923f4a55fcbd44be8bbcd60bb53d2aa4833ff728dbbd10da83bcdf26f63dc6e34d3fff8a8dbd657588bc4a900d3e947c0f3f937b0dbdd8ff4fbcf3cc0f3e8f65a23eaf17473b0bef57bcf848fd3dff2ada3dabf9d23c93ae40bcf142b73dce1011bd47053b3d486a8dbba312393d79754fbebc6e903d000000000000000000000000000000006922d13b45ca08bc650a48beb83e563d96f0b8bb3c8ff5b91d1346be33042e3d253e64bcb4f7aa3b884d41bef33f123d3a0096bcaed8f53b3fb71dbe9da6db3cd92db3bcd07c123c8768d0bd339e223c91b5adbcdc4d1c3ceda450bd3fd4baba0e078ebcd755343ca4ef45bbaf2e1dbc0000000000000000000000000000000000000000000000000000803f000000006d5e063c9370c7bd5188ab3f5bcbf2bdfbc10f3ce6cc38bdf72e8f3f79efaebd52b96a3cda51e6bc6564713f08199bbd978b833c7d7008bc83fa333f87d557bd3074973cbc21a43bb4f1e63ecc03c7bc3fdfba3ca3ca2e3c2e88603eacbd933b699cbc3c463f2c3b0a4516bc2ec6ef3c00000000000000000000000000000000000000000000000000000000000000006dca293c18fd40be0c158c3d6a1991bc3a3b9a3c0cd152bebc2b9d3d973f92bcf64ecb3c0f2d51bee80b963db3858dbc20619f3c70332ebee5c3773d107547bcfd67733ca7a301bee0af2e3d948707bc17dc2c3c696b95bdb2fbaa3c801631bba5030ebad4a988bcf44e463ad20d97ba00000000000000000000000000000000000000000000803f000000000000000040dbaabd55eca93f087616be101f553c619363bde0aa903f6f7802beb55ffe3bcc0127bd560f723f866befbd4c29fd3b6759a2bc9f6b383fb154bbbd4a70cd39de8c11bc69cef93ec8bb77bd243547bb39ee52bb31af823ec8ac95bcdd7313bc315d023cc2d9e03ceac6773c48a88bbb000000000000000000000000000000007f09cfbca38756bd43b8d03bd8efacbb0d07c9bcfe6af2bdc968213d05c306bc3908123a11083fbed6ed8c3d306c80bc6b96db3c382f59be6591a23d350691bc4cea183d1b304ebe9a759d3de49a8ebc2fad263d2b0e25be80837c3d1f2f64bce10e1d3d61fde6bdec0c2c3d87f11cbc895b123dd5f366bdb8298c3c123a81bb9e947a3c48395abbcf9ccd3a4d70e3ba976e06be13d9a63f581ccabcde84043c154bd5bd3d169d3ffd2249bd72eda5bb5573dcbd99ae943fbfb3babd5b4d163bec6be7bd510b813f37b3d2bd78c68d3b1db2d9bdff454f3fc760cbbd073c823b718db9bdaa9a133f025aa5bd59431c3bb53094bd22a2ae3e8a6741bd1bfbb3b93a3f82bdca50f03d36eb99bb9f255fbb9e68f0bc0a237ebde930f13b35c755bbea1075bd6c4d353d62972abdd9c49e3bc9c43dbdef413bbd90f3c9bbd819deba1c2780bc3d90f0bdcbdcdd3cab6104bcd967fa3b20f130bef041793ddbfd7fbc739f273d9afb43be7947943dddc299bccb3c4a3d67d937be2f89993d05bf9dbc8773653dac7b10be8092823d14e376bcddb8553d5736c4bd07a73e3dd4f23cbc05471e3d87df2bbd4228dc3ca6c6dabb50e9dabd1370883f8f0a143e2a4109bb0ac1e8bdbaa58d3f6d4e493d6abe863b1210eebd1418863fead0c0bbc9dac43b306200be03a8783f76cc83bd2e931a3cd8420dbecae9513f3c53b9bd2c19593c6c3b09beed96233fc3c8cbbda5255c3cb886f8bde646db3e5fe8b8bda754f73bfb9bcfbd8923623e239181bd49843d3b72ac8cbd59c5383d085431bd379167b943319dbd0077db3d4168bdbd0740993c52c68cbd10adcc3c626972bd68d6f23bd08027bdd1325cbddd154bbc8d920bbb9c2371bc40cddfbd75d6bc3cb9e505bc0cd56a3cb6a321be2e0f6a3d01ee8bbc8fc93a3dc8932ebe2b21963d53599fbc01d2783db5651ebe8a139b3dd31bafbc8bd7813d40aaf1bdb376863db6048ebc429d523d5cfd98bdf250513d137357bc7cacb2bd08a25a3f90f7b03e468cc6bc01e6bebda272673f615a623e296e523a7191d6bd648c683fc91bd23df1f9073c9a4de1bdd1575a3f8ebf923c808a0a3c61dc02be6987473f398a74bd66c3963c767112beaae0233fc3aecabdf17c983c550012bea3e8f03e74ceefbd4282a73cec1b02beb88d943e174ae6bdfc8b713ce8c5b5bd01deef3d2ab4ccbdb5c2273c9306b2bd7edd163e4a740abefb840f3d7322a0bdbccaa03dee3feabdc62cc13c259c5bbd743e8d3ba93489bda20c1f3c8f211bbd9e905bbd4c198cbca34d1dbbb090e23b9e42c7bd5a3c503c28cef6bb6f1e9c3c8f350bbea10a653d635e91bcfee94e3da2a611be7580913dfdf6a7bcc05d7b3da53103be1fa89d3dccfcb7bcd0f06d3d9a29bbbda2288b3d82e59bbc28ac60bddb5a1e3fd058133f989c6fbd97fa7fbda11b2d3ff332e03e8e06a8bc1671a4bd5002353f49ba903ec81680bad64ab3bdb971353f8f91043e760d5a3c4055ddbdb24b213f288d423d69327e3cf729efbd9385153fc64e88bded58c63c380c06bef3c6e83ea2e0e4bd2356d93cda8106beb970a33e3aea13bef87fe33c11ddcabd1b41243ec62e12be2d29c63ccb8fadbd7ed5243edaf127be36ba453d3b829dbd739ada3d3be324be0fcc293dfb8283bd1d5e4b3dca86f8bd69dfc63cce2b45bda7fe673b417095bd31ea1f3c4fe5fcbc2f7230bd5b77b2bc4e7710bb12c332bbfb8991bd4f018e3c7ec013bc1666b93cfc76d1bdf43b5c3d7a7b93bc7b7c4c3de9acdcbddfbf9a3dc892c8bc0464693d6556c3bd587f983d2295babc586eb4bcdb8dc63e4e33503f6360bebd2c88ffbcb262e03e87fc2d3f419e67bd8b9734bdcb1cfb3e9264fd3e8f3eb3bcd1405abd8d33023feefb9a3e701c583b2daf83bd83a4013feeb0053e94768f3c330393bd8999e43eb00e383cea039a3c4bddb5bd40dcc43e0cb2b2bd7ba9f13cac32d5bde267943e0b011dbe8a0b153d1dc9c6bdb316333e7ac630be31fe143d396b78bd9903073efb0d2fbe7c90643ddd7b76bdaf54d83de8984abe74ed653d7af16dbd45a08f3d3e7331bea314303da74655bd6f17233d7b5305be1ab5dd3c394a1dbd9a40eb3be8e199bd46ef233c296ebfbccdcf9abc5a6ecdbc1663a2bade12fd39bfca32bd7b07723c7eac1bbcf9b4a83c5b576ebd0ad7603dffb8acbc33b7263de67190bdcac1943da4edcbbc9b1b0fbbdb2b323eb98c843fb730e8bdb9d3c4bbf1ba593ef7b66d3fc9d8b7bde6155dbc027f893e06683a3f6c535abda1e3abbc36f1993eaaf3023f7376a9bcc1b3dfbc1f889f3ea45a993e6fe07f3be19a04bd99d8983e2714e33da397a23c993835bde6d1833e6cfc9fbc63f0d73c66944dbd108f513e55c70cbed238243d86ab83bd215e0d3ec1403fbe7d083b3d597cd1bc1724923d487330be0770643db5ada9bc063a643df6e54dbe8675793d0fc420bd46a7853dda8654be4c03603d0be537bd9dcf693d92c835be019e2c3d3ed332bd29e62f3d69dc05beb0b9d43cb47a0cbd79eecd3cf4e695bdfbf21e3cb284a3bc4de5573c91dbbfbc31b3c2baf7499bbbb279e63b7691873c45ba56bc0578583c16a6febc07fe6f3d88d7afbc7272d13bc1a841bc5e2ea53fe4480ebeb11c82ba02b6053dcec5913f125fd4bd360d1a3c16a48f3da0b3723f2098a4bd2ee7603c8a79d33d5e37383f9f0b48bda2265a3c2182fd3d3c9af63e03558ebcc6dd213c9552033e7d8a823e094cc43b4543f13b7cf2e33d1200753d1947a83cd93f0d3c0f0e943d6cf6a3bdd58e123d71d7a8bcb532913d178048be81b7403d000000000000000000000000000000001614adbb9d3eb83c8eaf41be65614f3dfaebbfbc2d2c3b3df8f645be0b6c463d6e0328bdf0ba823d65c73fbe5020373de2292cbd25cc723dff971dbe18d3133d05c428bd888c563dcf14e2bd5aa8b93c3c6f09bd7f66263dd6b266bd52efd73b3a1793bcca43ae3cf36400bc549d65bb0000000000000000000000000000000000000000000000000000803f00000000c0fe713c3ac6d9bd939aa53f9e61e0bdb64bea3c61fe8abd0899873f937fa0bdfb2c173d85812ebdc6125b3f97b18cbd7fe8183df94e93bc26d21f3fd4ab4dbd636c063d89e5ae3aef72ca3e6368d2bc71280f3d7fb46b3a7eae373e2851ed387b80be3cac91853babd2a2bcb1bc8f3c0000000000000000000000000000000000000000000000000000000000000000cd3a963cd1747bbd3fe122bd3f5dee3b53de7a3cac226dbd2c8f09bda868b23b66a93c3c0a6b51bd6ed6eebc7ee83f3bc8d8e23be8d633bd8e7fbcbc7e8d173b6804f73aefd419bd8fb588bcf72d083b8193bbbadfecebbcdc1d2abc0145d83a169f9ebb1969a1bcc0f510bbce761f3b00000000000000000000000000000000000000000000803f0000000000000000e54679bc64988d3faf9ac7bc88ad28bc5cbada3a16ee6b3fcb4e87bc4d012dbc9d8b0e3cef583f3f0a6549bc1e7112bc6080383cd405143f84b85dbc803e08bcb8022a3c3c0ad53e27148ebc3dedddbbbea6be3b9885833ede60b0bc4ebb63bb9b04103b7a21d53d54f0f6bc5fbfb3ba000000000000000000000000000000002e42a13c40a2d5bc90221abdcca92a3bb41eb33c35e979bd75ea48bdfd8bef3b4373b43c5f2f85bddef147bd16bc973b58e3a63c0e7f72bd083330bdd7c5313be29c5f3c1f0043bd9b200bbd6b7bc53a4308fc3b2c622fbd9d9dd2bcd560313b205c353b99ff06bdc45b85bcef74613ba4006d39ed359cbc0f8fa3bbd31c943b719326baf0719cbb2b99943a1485383bb5b459bd57338d3f6facdd3d13d3c5bc55b24bbd4cf0853f24d7c23de2b3d5bc204db5bc7c34633fe192b33dacc6bdbc804decbbcbe7373f7eb9903ddf07adbcde0fa03a046a0c3f4ffc4e3da5f397bc7f8d433b50d9ca3e2da1e93ce36984bcfc2ca73ab50b7a3eb8968c3ba5b550bc846826bbc6f9cc3de3d193bc282ce2bbe61e2dbb3b779dbc9581f8bcc2c27dbbec0b8e3c858c09bc2b0804bdc61e92bb43fac63ccc9a09bd1b1a50bda8320fbbcd6fb43c0c071abdac0841bd66cee9ba2ec4b93cde2930bddae044bdb128c0ba7e99843c8ba80abd5e2613bdeaea57baaed73e3cc51809bdcf9e00bd4d70513afa7ef43b9f5accbcaf39a5bc3c990c3b426f823be10a72bc124528bc3a1a803b92cbeb3a086372bb149406bb8f77573bacb762bd57a66c3fe440863e201b0ebd6f0b70bd7a9e643fafeb763efed72ebd47c0f4bc2fda3c3f87bc573ee9560dbdae11a6bca00c213fba252f3e1c8b08bd0ee317bcb2c9f33ecfc5033e672dd8bc7405e8bbec94b43e99b0b03dfd6eddbccee38dbb756e633ece64423de183b1bc241294bb29f8cd3d7c093a3b2a4693bc080a5dbbf6b699bb0e61c7bc359c2dbcfcbb703c49245c3a8a87f0bc18ee29bcd484b43cfd5a90bc01534cbd250427bc8401c43c0531eebc50cb60bde72803bc3a10a63ceea2febc9d5c50bdf5d3c9bb5e1a913ce93af3bcfa2435bd8a2dabbb857b503cf1d1d6bc71bf0ebdf199a8bae170013c0c78aebcba6ed2bc458b8b3a7da3b83bb27061bc06885bbc2c458b3b51ce3c3ba98662bbdeba9bbb5cdb553b3bc94bbd1191403f00bad63e87ff30bd829665bd1ef0393faa79c93edb2e60bd1a5e17bd98ec213feffaad3e4bae44bd8566d8bcd721063f36328e3eeccc2ebda1207abc52c6d03e31745a3eb6501abd034739bce339993e7439183efe3512bd025911bc8965453ecc39ad3d0f6704bd21d6d0bb01b9b93d73edd23c0153dcbca2996dbb76fa503bbd76a0bc1a0a8dbc8654223cc2159e3bebeae1bcdb0c7abc3588943c7e41d4bb455e49bdb4dc93bc3ad4933c12ac86bc6ddc54bd8c2c5bbcc5158c3cd31fadbc99d55abd87ad30bc07143f3cebae86bc0faa13bd2a7ae5bbf17e3e3cea74a9bcd79e1ebdd4b27dbb93f0d23bb59285bc9bccd5bc759a6cb9b3ac943b1ff152bca7a08fbc27881c3b6bc30f3b7ad31ebb20e9c7bb42c2763b47ec37bdaad4153f6192143fd3b14abddd0242bd40b60f3f946f0c3fdfe97dbde02b02bdabc9f73e4060ee3e23ff4fbd6d44d7bc55d6d23e6217c63e112e4abd804e4fbc0cdf9d3ea394923e36dc0bbd03725ebcf88e773ef32c583ee8d22dbda1772dbcac011e3e0465003e7b1314bd974535bc4a5c9e3db47a3d3d799b0bbd4810b8bb95deb93bbce78fbc756bbdbc1845b43b2040ce3bc1d3e8bc201fa3bc0544343c335f8fbb8dde5cbdbfe6bfbcd545733ce59445bc99897dbdf918a0bc570d6a3cc80581bc2ca776bd9ab578bcdd1d4e3c629389bc15a94ebd12154abc8920173c53b291bc836b2ebdd780b6bbf0d3ae3b2f7686bcf49f02bda7ec3ebad9f8283b2d2042bc9e7f99bc7df89c3ba6454b3a8c0fa1bbf3efe2bb0235973bc30821bd5f05d93e8c483f3f850465bdb43138bd97fccf3e1af1363fee8391bd635d02bdecc3b83ef5221d3fd9267fbd63a0bfbcad999b3e91c2ff3e72195fbd1d4f8cbc43e2783eee25c43e72f647bd7ed17bbc02723a3e4ec78b3ef12843bd723d67bca1e6f53d76fb283eb6ab3ebd3ead43bcd5de763dab58833dc0ac2ebd2f6106bca124b73bfd8389bcd9bee9bcfbb82fbacae6a03bb4ddffbc5e3bb9bc6117d23b370827bbce7c82bd33efdebc6313253cfc701ebcdc547cbd089aa9bcfda7213c1d354bbcc09f84bd3633a4bcfa4f023c2b3d49bc70d256bd3b4e5fbc00e7bf3b259d81bcd5a43fbd09c506bc9e26643bee3576bcf19609bdd8519bba9296df38c09e4bbcba07a5bcf37bb93b9ca47dba5d0ac3bbee6bd7bbc102e03bd4b603bd17fd883e12e66b3f181582bd84c511bd314e823e928f613ff5179dbd00e0bcbc978b6c3e2621393f3c686abd668ca1bc6c844a3eb07d1c3fedf65ebde28161bcd1ab203e245eea3ee44e39bdbe5873bc98d7f83da2f3a93e1ce44dbd26a649bca058a43df575503ef8f136bdcb7a5ebc1dee213dfc76a03d091045bdb19f1ebce92c933a5aeaa5bc47c308bd46b0f4bad023f33a5b1733bd5f58d7bc5eb5203b3a028abb4aa6a1bddd89f3bced43ca3bdd40cdbbe175a4bd30cbedbce6b0e93b759414bc7d5795bd40c6cebc3b789a3bd52026bc755c72bd047493bc3295773b736a5cbcc49d54bdbb3d35bc3c1b9c3965dd71bc776421bd46a51ebb4f4a1abbad8f40bc5f63afbc4d89f83b6efe7cbba5eb02bc75f3e5bb4708073cc9e9b6bc3026e63d016a8c3ff4bb73bd516fb3bc3360e03d8212853f3bb18fbd0fa978bc3cf4dd3d10db5f3fd9eb55bd0c8e40bc2f57c73d05b2343f80f636bd5f422bbc8ea9a73d2b1b093f0cb222bdac4e2ebcbcdb803d40f4c33e59ef33bdb55830bc6d8c273dcf336c3e369041bd2e2346bc17a5893cb539b13d4c3a45bdad3a2ebc561109bbbca8f6bc12a420bd00000000000000000000000000000000a0c1c33a680002bb21e989bd8f7ff0bc894aa63b105280bb022982bdd89cd0bcad1e9d3beb5392bb5c5466bd63bfb9bcdfe4883b0b46e0bbbecb44bd8d408dbc311f113bf48c14bcd8a526bdaf1f41bcea28cdbab0ef1cbcb29406bdb0a4b5bb65c96ebb00e63abc8424acbcc183173b0000000000000000000000000000000000000000000000000000803f0000000080b8dbbb328747bc4ac68c3f21ff0bbdb30999bb489be939cc246b3f353dcebcf52339bb8e6fef3bd3e73d3f2df6a1bc4dc042bb9255123c14a2123f915daabc89d08bbb821c023c90aad23e0c10ccbc66caa4bbcd935a3b3098823e2310f0bcbabafcbbbc02d6ba0e4ecd3d42ad1bbd0000000000000000000000000000000000000000000000000000000000000000dc45b63c98b567bc06b61dbd6ad5abbbbb089a3c2062aebc805d09bd1e5b82bb90a1753c12d5a9bc8747f9bcebaf8bbb411a213c14dab4bcefbbcfbc882f1fbb65a6ac3bf381bfbc5ea6afbc72dfa039d59cd13a29a2b5bc948b78bc3cb3a23bc27adaba7155a2bcf26119bc700c133c00000000000000000000000000000000000000000000803f0000000000000000c100a03c6c587e3fb6ba0abcfc2ea6bc579eb43c202c583f9466f7bb8e7196bcac77c93c0d4b323f5a5529bc07ad98bc2410b93c4a260d3f791b58bca6888ebc381fb33c5440d23e70188bbc7aab87bc4eac9a3c7574883e8b06c3bc64ae61bc9d49773caf50003e5408fbbc8b7335bc00000000000000000000000000000000bbb6be3c807ed83bf88a0fbd59d629bc483fe43c53c1dbbb7c4e40bdda3d11bcfe15c23ce86a82bc8dfc3fbdd29314bc2a56ae3c494dabbc6ead30bde99d1abcff486d3cf310a4bce8fa0dbdb05ec5bbb7da313c3a2bc8bc9035fbbcde935cba6afcc53b704bc0bc7036c1bcd8d7853b22260b3b94d1a0bce3fd6bbc77e61e3c526ee6b98e7243bc6609e4bb825d223cea1813bb4ee67d3f5370fe3d7d8ccfbcdb96d93b8a4d693f131fdf3d25adf4bc1803973c39a5473f0b57ba3d1d65f8bc5408c93c8979253f9487943d31a0f1bc5350bc3cbaa8013fe5d64e3d802dd4bc9b2bc53c95d2c23e58a4da3c70c3d0bc6c5dac3cf3967f3ec8055c3ba671babc115c873c8445f73d96109abc8ad190bc4989473c7ed546ba1092fcbc188334bc7307ad3cbd1c4c3c1a41fabc356991bc8146dd3cad17af3b77413abdc209b4bcd6abbd3cc913b0bba8582bbd6db39ebcd2e9be3c79452dbc3a8139bd604a93bcfdf7893cf2384ebcca4510bd793d4abc8ad0723c144588bca78713bdfa71e0bb12680e3c990e7ebc04afd2bc8edce1bac60fba3bd19d79bcd3f4a1bc1d7bad3b82de9e3ba55408bcef8434bc7834d23b665a23bc7f53583feeb3873e9c01d7bcd0519abb4c73483fa608753e8f1211bd06d3e23b5a86293fc3f24f3ed03fffbc4443673c44bd103fc7b2283e67910dbd85f67d3cccf0e13e94fffc3d6a0bebbc460a973c3a63ad3e5cada73de4b206bd01f77a3c14a2633ee009363dda07dabc39a2733c798fea3d75cd0f3b311ccebcac71493c5e69233c92dfd5bc524d88bca9ed913c1ba48f3c1e99dabc7f7dd7bc8a65c43ceef8433cb86d2abd188508bdb5eec83c0102173babf238bda5c4f8bc6130c03c06d559bb6d1d35bd315ae0bc3a8c9b3c3c88fcbbef2d26bdcfd7a7bc94c3753c10c938bc029318bd5d075ebc4aac303c34aa53bc668d00bd88a4cabbb5efe33b5ccb48bca842c0bc4571a63aa4747e3bdfa3f9bb7f2258bc9df9813b61f282bc6a12333fb822d13e7a8edfbca82a3dbcf380263f8fd3bd3ee25d16bdd4700eb9bc09113f10d6a13e0ea514bd94afbe3bb655f43e1da1843ef2bc11bd42c9213c43fcc23eea744b3e92b110bdedc94c3ccdff933e5d5d0f3ec6bb12bddad5563c8a59483e9ca9a53df7c20dbd662d4f3c86ebd23d5626c53c068e00bd02df163cc0334a3cbd0aa7bcdda7a8bc98515b3c3635923ce891b3bca2f707bd074ca43c03e37e3cb07913bd10df30bd5789a53ca5afef3b70c524bd768a17bdc0c5a93caf28bf3af7e132bd14d60bbdd906653c241802bbd1fdfebc9169b3bc63be6e3c81d7ccbbc59b20bd023da5bc59443e3c8f2f11bc7555f9bc7f872abc7917e13b260a22bc2a80d1bceb0c29bbd505823b9ae4d7bb1eb975bc52929a3abdcc8fbcebeb0d3f81960c3ffaf1d2bc8c6874bc4902043f572f003f4de00cbd3e0c93bbc223e53e45ddd93e40080bbd05ef023b0baec43e64c4b43e2a0e16bd35c69d3b11a6973e8ca0893e5cccebbcc1cafe3bb9f5723e5df74a3e624020bd20db083c8b0e233e5324f73db6cb0fbd2073123c2107b43d68753d3d2f1b11bd77feeb3be938673c500789bcec38c9bc9516203c8cf28e3cff7294bc85b223bd9f27833ce244913c0ad30abdff0255bdb737963c6f252f3cc3b427bd40be49bdc2fb933ca419a33b4bd72ebd69d22fbde84f863c58b8d6b9d69c28bdd79e07bd0ca8453c97848fbbc8d623bd79ffbbbc6685143cfe31f5bb25a20ebdc56170bc9890b43baf8814bc0d99e4bcaf3884bb69ca163b1187dbbb1a6188bc89f73a3a0fac9cbc0b56d33e9e8c313fde82c4bc0b5696bcf24cc63e41e8223f16490bbd47f414bcb7b2af3e19b70b3fb3310bbdde5641bb71ee953eee11e63e36c710bd3990bc3ada39743e3430b33eb35a13bd78f3063b37033c3e198b823e3c6625bd1c5b873b3fe5023ec85c233e876d28bdf4c7913b4d12923d7294873d7dc225bdac4c603b27e85c3cbcb772bcdeb2ebbc2cbdc43b86487b3c5b1985bcdba33fbd62bf413c350b863c94f804bd889276bd6b9c583c99b02f3c146810bd4e134dbd2bd4763c89e4f13b102d2ebd4c2f4bbd8817403c741f133be57617bd265d0cbd0c8f323c302202bb2f6723bd3a03fbbca4bfd63b4cc6a1bbab3e03bdb2598abcb32b423be3c40ebcc9f5eebcf239bdbb46d0023a4504dfbb749787bc8ff5deb96f67acbc72de8a3e9071573f957bb0bc6de59abce9bc833efde9453fd468f1bcdae61bbcee9f693e4ebd253f98fbd3bc9f0dd6bb8a2e4e3eca8f0b3f88f501bda9f9caba74ba243e4b47d73e8033fdbc9bf8d1b800f3043e77a79f3ef01020bdd7bb593a7016b63df81e4a3eb04919bd6f035cb864f2553d9827af3d18cd34bdebf613b98e2a383ce2875cbc691f09bd850efa3a352e683c116d5bbc25265abd51ef053ca76d6e3c167203bd65cd84bd4b5a3d3c5c6b4a3cccb11ebd379479bdc02c473c3480123c7f292bbde7c25cbd2f163c3c7949833b63e218bdd8c725bd17c2103c796c283abc1327bd89eb07bdef27ad3be96069bb3cad14bd8d32a1bc0edf94bae2ef1bbcfa73efbca5ceb9bbbbbeaabae83bfbbb27929bbc18bbec3a2cef97bcc2d0073ef67d7d3f501263bcabd986bc2970043ee9ce663fbfd39abc23ff21bce4fff93d32b8443f8cd99cbc2078c0bbb805e03d821c223fa094bbbc6f6468bb795abd3d572afc3e3f06ddbcc9fb09bbd78a993d03f2ba3e288710bdb05b1abb04a95e3d734d6d3eb01225bd2857b5bb94caf53c5351d33dd24736bdfb428fbb3c05173cfb4771bcfe3d17bd0000000000000000000000000000000084e0c03bb315533c2aa0c1bc160b6bbd9a1e033c5a0f313cd15feabc60ad50bdfaa5093cdeabda3bcf80f7bc1e6730bd6f87ff3b3184b73b73ddf1bcd94b10bd3569a53b74b03e3a74aeedbc58d2d7bc28018a3b9a0df3ba3365e7bcff2b90bc015965ba074bc6bb7d3ecbbc28fbfbbb0000000000000000000000000000000000000000000000000000803f00000000128320bcb8c7023c60757d3f1c0e39bbc930b4bb431d763cd4f8563f2373b5bb674176bb8b8c933ca3a8313fa3ec1fbc69bcf0ba51f09a3cdac90b3fe72277bc874622bb564b8b3c8008cf3e924fabbcdfe780bbea70803ccddd843eced6e7bcfc5588bb6d082a3c3843f53dca5b10bd0000000000000000000000000000000000000000000000000000000000000000c49c993b9cd08c3a7009e3bbbac205bca558893babdd23b984aee8bbcf7800bcd5df683b25fa56ba4f22e0bb9bebebbb2555373bde71a5ba6175c8bb1952c1bb1b16283bbed5ffba1c98d5bb71d5b6bbc167dc3a815b1ebb19a6c2bb1b4686bb1ffbe33a647a24bbd162c1bb73650abb00000000000000000000000000000000000000000000803f0000000000000000ce34a83bf7c1633fd7f7a53a20f58dbb2cfcc03b2d54433f927f123ac0459fbbb974c53bf3cc223fa9814ab9e1aca4bb50c9b93b2827023f5d5c8abaa3069cbb7483d73bdbc4c33efa301fbb1635bbbb4211ba3ba5ac823e246273bb4858bbbb8822933b9939043e5f759fbb55afc1bb000000000000000000000000000000005878a23b47b0573b7642cdbbc0b013bc7c1ecf3bf7d73a3bd47b10bc48ba47bca824c23b3078a73a00c610bc09f23abc8d11a73b49918538236a14bcad1833bce6f97e3b510840ba807700bc5dfc0dbcf97a283bb08b38bbbdc106bcf02402bc6560363bffd20abbc86c01bcd3b2c9bba297083b059c21bb320ae8bb69eb80bba4cfa43a8753f9ba263b9ebb825806bb759d3a3babb8633fc1cf023e2e7086bb86ccaf3bf9d7483fac9be63d27bfbebbc332e13be6502c3f0a39c43dc37acabbc992eb3b79d20f3f25eda13d46b7debb5619d93b10b3e53e3aed7d3d3057d0bbcfefda3b5adaad3e4181393dfe32e8bbe7d5e63bbf08683eb792df3ca950f5bbf4b4db3b76d7eb3d187f243c1f7ff1bba8149f3bd26c4e3ba5279dbbfabdafbbcd68983b4be0863b1476b8bb1f5228bc3d48c23bab9e863ba6690bbc2f6b6abc5e64983b3e300f3b1855f6bb095935bc7f4ebe3b8f85d23a480e1bbc92a15bbc717d913b42c9b739d56a03bcddb529bc69119e3b0e51d739511a27bc14333bbcdeff7f3b18e835b84ceacfbbc488cdbb6986483b2d78a4ba9c7716bca3d2d8bb95f6d43aa4e5b2ba09f7a0bbda3c26bb4794d63a0460433f8f4b823e686281bb6e1aa03b5c892c3f0194653e8418c8bbd102883b4d96133fa4d1433e1775b6bb5229ce3b9f19f83efa29233ed0c5ebbba8b0bd3ba709c63e5710013e9b5bd8bb30e2e63b302b963ece1bc03db97916bc9f9d9a3bf606473eed7b723da83004bc18bae03be9aecf3d0b1dde3ca27bfdbb3c2e993b0ba0873b299f81bb79a7babb7436a03beec0653b65bba5bbd8f437bcb9b8c73bfca1ad3b24b2f4bb624080bcd0b9c33ba2e46f3b97a908bcd98674bc0489c73bb348303bc12f14bc8a7d73bc6ab19d3bef61be3ab7bc04bc6efe48bc8d5b953b906b3e3a942f10bc6cc241bcfd72803be5022bb98b550abca9e31dbc26204f3bb63e4ebadb8afdbb693fe8bb6e50033be3ea62ba4477bbbb846890bb0fbab33aa2fe223f7eb9c23ee93d87bb6e15223be62b103f4d4cac3ee7acb6bb13cf813b0ffaf73e2869933e3218cabbb7a9b23becd0cf3e2260753eae14e5bb43cfa63bb425a63ee5ec423e14b1dbbb64b2c43b7e047c3eee42113e3cbf02bc2e53c83b07242a3e4030be3d70ab07bc9217c53b78c5b03d136f343d18fa08bcf20b8e3b56059c3ba6774ebb31b5c6bbb23d733b94e2a03b585ea0bb56c748bc3ae8aa3bde9fac3bc143dcbb23c674bcd6a6af3b7848803b319d00bc6b4483bc0950b43b5a47553baeca05bc93377bbc9f6c7a3b52ebdd3ae4cfc6bbbe242dbc7837953b75efb63ace9a08bc61fc4ebccffb713b235e263a7a64f0bbe1621dbcd63b503b72a21eb9b97ef3bb0d6a07bc07460c3b1e55f0b953d3a2bbc5f299bbe22b8b38c54e023fe01e023ff65c12bb321fbd3a88d8e63e0050e53e468fa4bb7cfe433ba3adc63e3c75c43ec4a8adbb9c07813b58e9a63e97aca33e053fcbbbafe85d3b79a9843eacdc813e390ca4bb5298a13b07704b3e49ec423efb11f8bb0101a73b1978093e48b8003e1243eebbced4a53bc789903d757c7a3d3dfe03bc9898833bdec6a33b2197f5ba60fcbbbbc472603b4c6fa33b753430bb5e374abced90a73bdab6c53b2e8ebfbbd40099bc6e93b13bf6c0a43b42b8e3bbefd991bc3c52b13bf68b813b4efefbbbbec58bbcad22983b2ad12f3bdf23edbb10af66bc92e5a83bafa4cf3a328c0ebc348c6abc9e68873ba3f19c3a650305bccac543bc228d613b40cd6139e41f01bcb32e24bc89af383b291b99390ae294bb79f6e9bb071617ba0ef0c33eb9b4223f01fc00bb3207373a5c37ae3e25950f3ffffc83bb3bb0083ba36f963ebc16f63ec2709cbbb6ef503bb2dc7c3eaaf6cc3ed305bbbb5785693b81fe4a3eb543a33e1ccdbebb540a943b90cd1b3ec845743e055dffbb7092923bd2dcd33df928223ed89a02bc81699e3b0ef3623d7f719f3d039d0ebcfe85223b5af1c03bdd811bbac6bbb6bb152a413b0674a33b8ddd1ebbfd616cbc64b09e3b13c5d53b1041a1bb968fa6bcf231a63b46b8b73b8216d0bbde7e8dbc4258b23ba7da983bcc4cecbb147495bc02e78e3b758b4a3bac23d6bbbf8e6cbce43a983bf4b1303b1ec802bcb3197bbced476a3bb1bbd03ae261e9bb275d24bc42672a3beb3cc63a5263ecbbc68633bccef3073b28b82cb7c17fa6bbbff7d1bbc1ba6fba9433833ecf56433fba3fb9ba6503b6393f9d6a3e87682c3fdb4c32bb5e4185b8d84d4a3ee286133f8e5e14bb3726443b68e42b3e401bf63e2cca9bbb717f363bfebf093eb4f4c33e9dada1bb3853693bd96ed53d2936933e8404e1bb73c3493b518c903dec9f423e2c04cebbf40a6b3b8dfd1e3d76a6c33d149803bc3d003e3b648daa3bcd2514bad832cfbbd355253ba0aca43bbd7ac3ba00f66fbc0fe0803b22c4ca3b109877bbfd56a2bcc08b8c3b1943b23b0578a2bbb76996bc9a2db63b43748f3b715bd8bb5d9f95bc990c833b65e8663b237fc1bb04926ebc95ce863b002e453b40cce5bb91bc71bc3076803ba5a6223beede03bce5645bbcab8c3f3b112e5b3abf2ae7bbd7382ebcc30fe43ae8dabcb78b7d9dbb79c9cebb19dc98ba44b7043e14cb633ff6cf6c37d212adb9aedcef3dd8ce483ff5225cbab451533aa8a7d13d6f102c3f20a8e7ba61381c3b4e7eb53dd5360f3f2c8765bbeb9e013b5506913dcb82e43e4f7970bb45d1293badeb643d4da7ab3e68aeb4bb64f73d3b045f223d4ff2643e1b92fbbb06a03f3b44abbc3c1473e33d08e301bca67b0c3b61779c3b500a69b94500cebb00000000000000000000000000000000fd336c3bca89853bdafe2dbbff5174bcd409543bc1c58b3b09cd64bb661f69bc351f733bda2a923bb094a8bbe2a469bc3527433b85a33c3b732e8fbbd61d40bc72d73f3b13531e3b7de8a4bbf1e632bc7de72e3b8867d83af6d9abbb78321bbc8d4b093b0e72463a0e09abbb029900bc0000000000000000000000000000000000000000000000000000803f0000000044a702b986e2bd3b5dd1633f50659239d7530d3a900ac73bfb60433f47ae90b91045933a9748de3b5ae2223fffba13bbd256a63a5c42c53b7ee9013fb46c18bbd769d63a84bcd03b4201c33eb36470bb44b9ed3ac4d0c33b82e3813e47939bbb70f9ee3a66c5ab3bd587013e07fbbcbb000000000000000000000000000000000000000000000000000000000000000070fe533b451c14be7baa58bcc541693cfe2cc4bbbba30bbe1d7e99bcf5c46e3cbd7b06bcfcf0eebd8bb3c7bcbc12523c150425bc70a3bfbd9ac6a9bcdcba2a3caccb2ebcbd0893bd486263bc22fdee3b333dedbbc3f23abd773e81bb59585e3bf26629bb75c292bc0ece5a3b44e5013900000000000000000000000000000000000000000000803f0000000000000000347c99bd51e0a23f8c1baabdecd6f93ba14810bd7313873f715b58bd5c819e3b7cb7f8bb4887593fc94a05bde4f7ab397d49d43b01e8233fab0bcfbc1654c6ba79ec403c8651df3e8228c0bcb79ecb3ad7061e3c1a88743eabf6a1bc21d36b3b827e933b7248433dee2e99bc2d8dbb3b00000000000000000000000000000000f544b53b27c4a1bdf81240bcbeb1e13bfb9d6d3bf91e14beda5312bcad255e3cec18843a136e18be8db5d6bca89e8e3c2b9f6bbb58ef05be2e3601bd43f4863c22b0acbb99b1d1bd4aeee5bc29f4453cdba951bbfb909fbdcb13a4bc21121e3c94e36f3a5e0749bd99ae0ebc6dd9b63b5a51003cecfa88bc83003bbaf718953a28c9bb3ba675893bc4bdd23b0d5dafb8b03214be7398a23f3d85573d59c592bceaf915be91329c3fab28093d682256bcbcacc1bd5846873f58883d3d0c6081bc39e46abd45e8593f97e3403de84180bcbdd1f1bc9293223f4793203deaca58bc1c7a9bbc53fadc3ef0dbc73c9c2122bc8e7529bc39fc6b3e09bf1f3cf4a77bbbefd8bdbb5d9b3f3d336ca03aadb69b3a91f9e1bb8dd093bdb1269fbc8f9e803bfb55c0b9230430bd829792bc7da2753b4e83833b7922d2bd893815bd1f545c3c2626943b5b40dbbd23283fbd0c17683c10ad023b0c75ddbd136444bde03b753cfa67eb3aefaea9bdc37822bd7bac1b3c7556053b09b78cbd211a02bd6230333c97de433bedcb2dbdd2b68fbc6431eb3b47d7cc3bb4b9a9bc269f84bb2752b53bb81ec73bbadac13ab2bb883b5978383b536e11be16bb873f8a5b7a3e170746bd4f091cbec405883fd66b623ee2cf52bd9824d2bdd486673f0d0e503eb17c37bd4dff9fbdffbc423f5a012c3efde220bdf37646bdb529113fc570053e469e00bd569216bd10b2cc3e13eab43db8a6d2bce70bb5bce2f2683e146d3b3d035a95bcc8d684bc4e218f3d6a08053cf278febb6dd22dbcfdfc0ebd49f3b1bcc3ed31bbbc2233bb97c28cbc3108fdbcb581c5ba9bd8583a4c8990bd87d363bdc586483c9c3ac23bf503b6bdfaad8abd74b9603c09627e3b4dedabbd56c081bd6ac12c3cb586383b6bd695bd660962bd58f81b3c1b30813bb8596abd3d3222bdadd4283caced8d3b12f729bde5e6bfbccc44283cb5c7ca3bd56ba6bc906fecbbc8e1193c4754943b6d4a6cbb632d353b90b7e53b9818f9bdda335c3fc1e3e43e64869bbdf8f30bbe43295d3f734eda3e97a5aebd85f3dabdbb81443f4c60bf3e997a98bd1ecca1bdda36223ff9e09c3e787276bde69b63bd166bfb3ec1fc6f3e76fe57bdbb2e2bbdfdaab13e81cf213e167d29bd9b11f6bc06a4533e35e9ad3de01ef8bc24daaebc65e0a13d9d95973cc53793bcdf2775bc11fa3fbc0730d7bc28343dbc7280a4bb339c8fbb060f1cbd047f3cbb18070d3a421a30bd84c797bd40c5123c5817933b029870bdb71ea6bd5106f33b3623683b590f82bd2385a4bd59b7ff3bd9b6853b13ce35bdbb4868bdc8b588bad7935f3b5c1949bdf1f24cbda2b0153c5d603e3bb02704bd95e6e6bc53f7183c1475ab3b2e0a9ebc434326bcf6a93a3cc013543b96448cbb824a463bf34f1c3c0206cebd6d2e273f33ae263f9996cbbd7aceddbdc088263f93f7213f63eceabd4615a9bd93e7133f963f0b3f81a4bcbdf90e8fbdcf29ff3e8a63e63e6166a7bdeea01fbd1d7bbc3e2fdfa53edd4e61bd4b5f24bd98d4923e3e446c3e5eb561bd0bf5f3bc4f68323e13aefb3daf8e1cbd534ebabc69eb9b3dbd51063dffc8d3bc0bbe81bc5b15143a636401bd808e97bc2f39bfbb85f7643b00bb4dbd719b09bb5dab843af8c1ebbc4bb7c6bd44d45a3c983a8b3b61083bbda0badbbd8f48393cd1119f3be2174bbde8e6c6bd9d2c0e3cbaddd23b893947bd2047a4bde2d6033c0170923bf2b524bdcc996ebdcb2b263c0f42ab3b8a4205bd43e515bd483c553c303db43b121b8bbccd6933bcaa5c7f3c519c603b528590bb5b62393b1962313c48779cbde237e53e2edc5b3f8e5cf9bd3d27acbd82fbe33ea513593f508713bec0748ebdac32d23eb23d3c3fe07ff5bde55b67bd11ccb53e575a173fffc9c4bd8f0633bd6dac943e7db2e33e9e52a0bde97f17bdff815c3edcc1983ef95979bd9afaeebcef530f3ecb6b253e09e036bd1e1daebc54dc7f3d1cba223dbc3ef1bc424c80bcaed0ae3bb2f621bd4f1ca5bc9b0d89bbcebfbb3b264e88bd965ef13b79be683b99bb9abc05a1fcbde1e2af3c8a3ea03b4daff3bc2a6efabd4b95273cb5bfb33b1eb119bde23fefbda5e91f3cb1a9993b77200ebdd07bb4bdf5919a3b2f69c53b60020abdd2418bbde7bd293c9a9aae3b41a1c8bcf26924bdf790463c7e72ba3bda4c76bc731b4dbc0c72613cabc3943b6b1b49bb81b9e23b83f0583cdc8c4ebd22e27b3e5297873f8f3411be49f556bd39c2763e8083863f123a27bedb7f34bd5f0d733e1b7f613f9b8ef6bd629525bd96d35c3e51ed3a3fc500d6bda63303bde18c393edfcb083fb9aa9cbdd909f2bc5129123e5629ba3edd6482bddebeb5bc258ec03d1d80473e94d236bd715f73bc994f383d43e2283dd2ccb1bca95227bc6176fe3acb5f66bdab9069bc1cb04bbaade5463b72dac3bd1708733cfd2d133ca98024bc908520be32600f3d48a6e83b2436a5bc12c222bea5438e3c6661be3b4117ddbcb6b70bbedcefed3b2c96b13be805e8bce5c0d8bdf51c833b996dc73b75c1c6bc8b0fa1bde60ff43ba20aac3b3df091bc20443ebd08ae313c71f7e83b5ee8c0bb457029bc2a45223c9736f23afef942ba45770b3c0a89393ce7bbabbca9e95c3d38e8a23f7c6c18be929b96bc4ccd4a3dfa9e9b3f6ad422be7207b1bcce0a9e3da8b7853fcc79f6bd3c4caabc76f5b53d85e9553f3335b6bd54579bbca795af3d85e81d3fbf9288bdff7890bc4c2c913d07bdd23e6f7052bd351374bc86ed473ddf75583e625408bd3310b1bb63aaae3cc47df93c1cb9a2bbead0bbbb1c2e80bb86a9a9bd13402cbc00000000000000000000000000000000e397ba3b0ee506bc362018be9b973f3c350ae13bd9956fbc46460cbe9ff60f3b3edfd03bdf1498bc1d49f0bd9f63d7bb98ba923b7a4599bc45d0c1bd25e805bcd4568f3b478b96bcef158ebdc6f37dbb8979ac3bb70050bc3d6e31bd5b9cee3af146093bf924d8bbbb8b83bcbbd4c23b0000000000000000000000000000000000000000000000000000803f00000000c0bb9c3bde898ebd651ea33f5425bdbd34794bbae13de7bcd9e5863fe6a07abde2fc1fbbc5c486bbe8ef583fdd9e2bbdda0db7bb5de1363ccc51233fc46d05bd79b0c2bbbc51433c65e8dd3e692bd2bcd5205ebb305d013c8f10713e4bd387bcf49031bbd95466baf909453d3a113fbc00000000000000000000000000000000000000000000000000000000000000007542edbb6e23d5bd0b25d9bcac68a03c38503fbc3747d9bda08acabccdbdaa3c111430bcbb73c7bdc9eee6bcde72a53ca6c755bc46ecadbd23a8b7bcba1e913c2ff460bcc4088fbdf9655dbc0261673c2b8342bc65f448bd168a1ebbc573fd3bac88ebbbb6eadbbc854ac13bbe9f3f3b00000000000000000000000000000000000000000000803f0000000000000000065bf8bce637993f1a0266bd127cbabbab41183b3ec67f3fd43a2dbd4e17e0bbb1c2ba3c1122513fe83a0ebdb1cf37bc7c87ec3cdf4c213f393a0abdabe71cbc00d4d83c9060e43eaf3b11bd854ae2bbb93d823c9803873e5d7c12bdc075393aa64c2d3b1899b13d28491ebd82c1f53b0000000000000000000000000000000056ce44bb2e8230bd4a9af8bc5f5c4a3c2ee25dbcfe39cfbddf65f2bc7e7cb33c7eec32bc835be8bde0661dbdd8aed03c61c12bbcabdadabd5ba518bd22e4cc3c940f10bcf604bbbd0f3705bd0489b13cd97c21bc53639cbd6a5ba9bc4cbf993ca12ae1bb4add5ebd5bfa06bc1ef54e3c04f3983af271c5bc0c46a23b1163f03abdfe073bfd1134bbff1a1b3c048bdd3a59cacdbd2af7983fbbdab53d1f59f3bc61cfc0bd6185923f7851853db6b3cebcde903fbdd0027e3f6a467a3df86ce4bcd73d81bc99464f3fac963e3d8e41d7bcc00e7b37f4ca1e3f9a3af73c117dbcbcf792223b1998e23e6b5d0d3cc85f8cbc9c5dc1bae85c863edbd436bc9a9b0bbc8acf37bce7fdb53d61dbc9bc80756a3bc23643bc46411dbd4f6b1cbdf031c43b6578c0bb446155bc85cb11bd8e8b193c33d6e1bb0b3683bd1c015bbd7f0cbb3c496178ba874f92bd471f63bdbd46a63c2e7d5dbbb654b0bd290a67bd3f52df3cbbd722bb971894bdc82b39bdb484a13c1545a0bb6bf087bd20850cbd6494b53cdea214bb718e3bbdf7e3adbc287b833c9d1c143af409dfbc031383bbb24b333c9eb4cd3ab23f93bbac58be3bb928d33bade9dabdb7a9803f01c0883e2d0861bd505adebdd1b87f3f72a2743e716280bd035467bd5ac2563f85b1543eeec062bd2fe52ebdf5f83a3fa225263e246b55bd7a53a4bc04f90e3f3b58f03dea552ebd52f880bcf4b3d33e4a2c913d4ee312bdf2d829bce502823e1979fe3c3943d4bc5dd589bc1cf8db3d634a52bc7fd51abc9eec50bc06c906bce76011bdc234a1bb59c88bbb1c228d3bb9112fbd1a8c2f3ba714a1bb05fa1cbd41d38abdd689a53c077fe1b9a76380bd69a49abd8418c03cfbe1373a502b8cbd70008fbd2870c53ca3274638233285bd28f97bbd7657c23c1168b6baad796dbd36223bbda966ba3ca7b8b7bafc133bbda5dbe9bc4edab33cddb7acb9754ddebc167f27bcd7858b3c8ebbb9b9851d21bcb007b23a1dc8403c12d6c4bda0f7523fde2ce63e83639bbd2490d3bd8941523ff053d73e1136b9bd02ab97bdd7823c3fb060b83ef085a6bdab1252bdd2a01e3f0c41933ea4e993bd5f830cbdfd67fd3ebd975b3e46f483bd3419d9bc907dba3ebca80f3effc653bd582bb5bca7b7703e02418e3da99227bd6369a2bce5c3e03d2bf5ca3b284dc0bc408f4dbc61af2c3c33971cbd124d64bc989aa3bbd2a5403c44723ebd4f97f3bafb2f58bbd223bfbc78909fbd5a4f783c86f8193b518f28bd7d8aabbddbbf813c5bcbc739ac3662bdd7fbabbdf812a83cc7798e3b010326bd272982bd10ea043ce0e5c13af26e4fbd4e0b66bd5dfdbc3c08de80ba758a1dbd1e3810bdcc8aa53c81444bba4b31d8bc921d62bcecf9a13c4dccb33610dd37bc92e606bb6aca803c8a20b1bd71d3233f34e4213f67adb9bdf1e8b8bd0c1c233f0c5d1a3f0fa4e1bd9f8583bdbece113fffd2023fb127c3bdab3e53bdcf9cff3e26cad63e1a24b6bd8c9dc3bc8cd9c13e92939a3e1f3285bd54b4f4bcab189e3e55d1573e98ea89bdcfdcb9bc7db74b3e9743e83d68694bbd61cca6bc9fa7ce3d8ab7ce3c0bdb0ebdd59a52bc5000893cdb991abd63e9b4bc194ef4bbf041563c688354bd2e3618bb37389ebbba7d85bc939fbbbd7f23843c0808e3396a9112bd0bc1d5bd912d993c1c682e3b722032bd714ac6bdc7f89f3c3185cc3ae5a038bd13dfadbdf47ba43c2052173a1c2434bd824086bd56a6bf3c145aa5ba9c021cbd660d2fbdc3cdc73c64c0acba6f99cbbcb83094bc99e2ba3cf464fdba1a9c34bc252f0dbbde1f8d3c415192bd7e86e93e5d90513ff7dfd3bd6a9b9ebd39ccea3e74b34a3f7e7903beb51980bd3f45da3ef1a22e3ff4fbe6bd29c048bdb96fbf3e058b0c3f776bccbd96d41ebd30969f3e787fd43e4b44b3bdd67d09bda4d1763eca47903e3b7b97bd63f9e1bc26bc263e3a161f3e850b71bd4323b7bcf410ad3da08c283d97ce20bdb8e765bc31578f3ca4f023bdd54edfbcd079ccbbb6bed83b935f73bd55b0743b9a040ebbb84793bcc38cdcbde362a83c4ad85c3ba7c4c9bc5093d6bd2c81033c0de7403b31fe19bd5007e1bd2c4a923c7d8a183b19950fbd09deb6bd2af64b3c7d99233af7eb1cbdb35497bd3943b83ce29e1dba7f51e7bc4e2142bd0b69903c69cc02ba1faab0bcb6c997bcbc83b33c6fc303bb038113bca9ff803a9f158e3cc58c5ebd70448c3e9127803fac6de8bd6fd966bd7e708d3ef3247a3f57ae0dbe8be62fbdac09883e205f4d3f29e8d1bd353d2abd4d867c3e6c102d3fad78d4bda1cd00bd9626553e0eb7003fc9f6a9bda85500bd0fbd2c3e0825b33e12849ebd19acbebc3792e63d5dd34c3e7aa76dbdece0a2bcdcd6753dc08d593dd55722bd20e14ebc41512f3cf4e841bd443fbfbce49fa3bb8709acbae9b697bdc708233b56c13a3b6afda4bcdaa505be569afc3c9c76623b1ed5e5bce2680abebe94963c7fc5303b8f0202bd2f73fbbdc86c613cbbb0503b839b00bd9212d3bd9050483c6a39c7b8991bfbbc43f8a9bd133f963ce0c5fc38b7efc8bc4e4160bd4712ad3c9337ad3a869754bcf40696bc9841933c3af317bbd48efbbb9930a53ab251853cd24102bd9e47c43d0f04993fa871e0bd8a64ebbc0b7ece3d1356913fce3206bee54cedbc65d6fa3d290a783f5df8d7bdf166e1bc8954003e35e0473fe417b6bd7320cdbc3bb8ee3dda82163f06ae9dbd756db8bc6592c33d4cadcf3e71a48abdb649a8bc9eaf863daffb683e668965bdd37c4abc846be63cf0e3733db88200bddca73abc5b3eba3aa57a7bbd90afd2bc000000000000000000000000000000001748553bee3082bcf56fe6bd524dff38e2f0a53bd35fa4bcb299e6bd320f973ae2a2a83b0c42a3bcb093cfbdd60ee8bb06fa3d3bb25ca8bc6854b5bd4f088ebb9eb2ee3aa1c8a8bcd9b193bd69a2bb3ae7815b3a262490bc3bad4abd100f063c68369ebaa16159bc7ca5cfbc113a4b3c0000000000000000000000000000000000000000000000000000803f00000000139ce3bb7817dcbc55f0983f73718dbdd88706bcb6eaa63b01fa7e3f322c63bd864126bc45fcc83c18194f3fae9f41bd4e7041bc2731033d8c231f3fee7d35bda0593bbcda73f43ca4f8df3ea4ca34bdf37c38bcac409f3c0d94833e35e91abd8e7e27bcfe77a93b37e8a33d32ec0bbd00000000000000000000000000000000000000000000000000000000000000005637243c33fdeabce7b70bbd3e4c1e3c12cfb83bd36111bd0261f5bc690e173cc56e8d3bb86b15bdefe1ffbc9139043c43a863b97b2116bd9c44e5bcbf551b3cbbfa48bb0ea10cbdf0fcbfbc474f3d3c5926b0bb88d7f3bcc68085bc14fb4f3cf1b20abc7df5babcc5e50bbc87b26b3c00000000000000000000000000000000000000000000803f0000000000000000ab8a5a3c54ff823f0f883fbc4d61b7bc0970cd3ce2d85d3fbe5045bc442aaabc1723e43cc18b373f8a3646bc57dbaebcef9de43ce7e1103f61ce69bcb519a9bc95e7d93c9a1cd63ed68db1bce9ae97bc5a04a43c3ea0893e6042c0bca4c867bcf0773d3c8eeffe3dd8b5f1bc4b0030bc000000000000000000000000000000006a203d3c1dff273a8779f0bc87097fbac7b7273cf10dcbbcbc5123bda2f9343c27471e3c5db309bd8c0331bdcafc213c7c5cc63b191b21bdfc0928bd370b2b3c82b1363b03ca18bdd1ad1dbda5b2373cd9e5b1ba6ec71abd1a3003bd1a467a3c396ba2bb145305bd2ff7c5bcf63a8d3cc80bd8bbe09bb2bccb1b4dbc95478a3c064591bbc55f3dbc8079b3bb51355d3cab6d80bce6d5823fd6befe3dde1de8bc7954efbbe0c2723f9574db3d48d80fbd0fb6443c4265503f4025b83d4d360dbdc97eab3c92592c3f7314923d0aa507bd8d7ec73c9c9f073f4458483db2d6fabc307ab53c5ab4c93e26ffd53c1fb2ebbc94ab863c0a14833e38d9833b4d48c8bc281bbe3b355bf63dc3e186bc5db082bcef8cb73b5bfab6baf38ee8bc741742bc36b5173c79eb3b3ceb51debcd2ea03bc0243433c92b1a9bb1d142cbdd16523bbcf9b3a3c9cd86cbc299d21bdc1e5f4bbbeb92a3c12bfd4bc20eb3cbdf918ec3a0bcedb3b2637c8bc31b12abd7068573b7c14d03a5bfaf2bc5de51abdd5a8233c26896a3a8d29b9bcd34fdebc4072063ce6472cbbc54ea2bc26e998bc4a268a3c6ac99eba10ca18bcdd1c14bcabe65b3cf2d9dcbcff605e3f2bc1893eaf5c0fbd7ac6afbc24e0513fd6ed763efb0c3cbd98fb31ba91872f3f9d4a523e8b3e17bd141ef63bee4f183fe218293e5b7a2ebdea503a3cfe18ef3e8eac003e3b0a21bd0fa24e3c8882b63e49a1a83d66161ebd15d7273cfb2e6d3e97843b3d611efabc7748af3b8edff43dfbab293ba5d5ddbc2c13993bddce2e3c40f8ccbc3de792bc95a3053c401b893ccb3acabc8fcf9fbc4bde2a3cc8a6893bd7ea27bdec7e67bcaf314c3cb5171bbcb0b444bd97dc35bc2936363c8d3191bc7a8d48bddec1c8bbace2113c9eaaadbccec238bd1fb784bbeddfd23bbcb1cebc01722bbd014fd43b3520863a5571c1bc734d0abdc4cf313c8818c7ba3b8b96bcb32ac2bc7893893cfee641bae46e29bc08aa49bcfc304c3c63fbf0bc1f27383f2654d53efdff19bdcf0bddbc80eb2d3ff742c23e15984dbd9d5d34bc8c03193f17e1a53e96804abd58b5baba361a013f3018873eedcf45bdc552a33bb13bcf3e302c4f3e5acf38bdb2aef03be65e9e3ef7b70f3e20ad38bd7dbbb63baeb7553e3e9aa53d8b6428bd91c6343bc517e33def98c93c0c2f12bd2000683b479c8a3c089ab0bc84a5c6bc260ab73b3b4f963ce94ab4bc3d6ce4bc8fb9dc3b24032b3cbe831fbd822acebccacc493c6cbd83bb8e213ebd9696aabc4abf343c029e32bcf5c850bd523e76bc39d7263c315c28bca60e24bd63838bbc4cb9a93bfd5ca4bce9f831bd003a2ebbc927b83a909596bcec4e06bd61f1e53ac849bcbaab0d86bc68d1ddbc4cf6603cf5b83bba1f3535bc6a3b71bc3475303c9860f1bcc7f0113f454d103f8b031cbdb683f9bcd471093f9ed8043f69134fbd7d0a59bc636df23e05dbe03e3cc93fbd8085eabbc7a0d13e5076ba3e5f3650bd217c083b1db6a23eebb78d3e1ca121bd3aa4373aea5b833e0c1d4e3e19b241bd4ee57c3ba7cc2e3ee4c9f63d0ccf26bdf4f671383312c23dad06423db23d1fbdb607193b9908a03cb75594bc8172e8bc1eead63a1961903cc83ca7bc733b02bd7ee7a23b8ed3143c1c9121bd25b2fcbc8bb9093c33df81ba7d5248bdebcfe4bc0923db3b8d2906bc240253bd2c4bb4bc5b5eff3b853247bc4c7d4cbdc3f285bc07d1843b3ff38dbc38773dbdbb36bbbb74e265390f5ba0bc7f0b22bddf0a8e3bb9796dbb3b0e96bcf1cbdfbc9d70453cbbd021bbf2ce41bc498081bc8ecb383cca65f2bcb28cd83e1af1363fd5b91ebde33c00bd8683ce3efd23293fec3956bd694895bc67bfb93e1705113f78744dbdac7f49bc4756a13e74b3ed3e5c224cbd85c0c3bbbc3c843ea31cb93ebb9e47bd5a6f97bb359a4e3e7d78853e16fd49bd81e58fbb7a2d103e01f9243e380c45bd6b54a9bb0cdda03d50d3863dc28030bd7cd9b4ba58b4953cca6f86bce58400bd362e06bb0272403cc488a7bc6c7103bd7dc8943a6640b23b2e5f28bd237b09bd891ac93b11e5afb2abdb2cbd46dc0fbd7362ef3b5b7fe7bb866d5cbdf432dbbcaa838f3b94c519bc588e46bdd74babbc5ab5053b582a81bc99c244bd73e31abccbce69b8dd8668bc1a030fbde11bcebb25cfbcbb23489ebc5154f5bc3ce0583cdd66b9bbf5d254bcc43c6fbcd09d423cb105e0bc09348d3e90a65d3f85521abd7fa0debc5e3b883ef9744d3f99e14abdfb1371bc6375753ee4c42a3f490719bda2c44dbcd9415f3e386f103f8d9b3dbdef3204bca3d4383e4b70df3ec44330bdccba0bbc344d133ee300a33e483a43bd89c6c8bb63f7c63d250d4d3ec6bd20bde0da28bc96e16c3d429bab3de1c239bde7a3bdbb2dbd5b3cf93783bc426301bddaa776bb151a043cd5b5b3bc054918bd03ae90ba91b94cbaeecc34bde7fa05bd9bcb773b73013cbb45bf5abdfa200fbd62559c3bc09ac2bb1ae061bd90c0fabc9dfaab3b681105bcde5d54bdc262cfbc188cd237b52366bc9b8248bdbee051bc900886bb569c8bbc29b22cbd5be696badbe616bc1cb29ebc889af2bcf12c4c3ce3a90cbc288357bc64b17cbceeb0363cefc2a7bc1a52063eee4c823f8ce2f4bc56aa9bbc1125063eec796f3ff7291dbd5ba85cbc54bf053e522d4c3f5df60ebde5e12fbc274df73d9491273f7c3710bd00c011bc5479d73db361023faa7214bdad6714bc7e78ad3d3b41be3e94ba23bd1eb73dbccfa9783d2e646f3e72c22ebddcc05bbc33a1043d6a10cb3dc3232cbdd18b3cbcfa8d023c2730a6bc71a60dbd00000000000000000000000000000000d506c13aff65e13aa7f819bd7d9a22bd17d8793ba725303a07292bbd8f2c0ebd375ecd3b1ee529ba074334bd9c350abd3534833b1d9a92bb498727bd025ceabc7c03253bdc42dfbb456420bd763aa7bc2e921abadc6436bce3810abd1e5004bc9245d1bb06fa64bcad0cdebc9c16eb3a0000000000000000000000000000000000000000000000000000803f00000000e1842fbca1db1e3cad6d823f775d69bced1bbbbbce2da53c21375c3f007678bc987e94bb0f48e23c3e34363fe51193bcdd5687bb11b7f13c01af0f3f24f7a5bca01ec1bbc776d83c6ed4d23e8c88c8bc008d0cbca4c6993ceb9e863e2fc0e3bc5b4a28bca9a9343c7f28f13dc5b804bd0000000000000000000000000000000000000000000000000000000000000000534de03b6a6545be2009103d97f879ba9f9d98bb7c5c3ebe1b02f33c8efa643b0e6449bcd5632dbe9dc0863cf00fc63bacf37abcacb70cbe39a1223c6845cd3b615e41bc60c4cabd1a45e53b1f9be43b4ec1d4bbcf7d5ebd63063239f2b39c3bbe3408ba0bb52ebcc75293bbb368a33b00000000000000000000000000000000000000000000803f00000000000000003ecacbbdb27dab3f066b0bbe11caa13cc73e38bda9268e3ff2ded7bd6b8d793c553c60bc19066b3fe784b0bdf9794c3c80f8083c9ed02f3f648587bdb642303c7960a33cdba1e53e3ac63cbd3f80003cbb19d73c7e2f643e68675dbc1e3fd73adea2a53c155c103cf74ad23b4d1bd3ba00000000000000000000000000000000fd6b2e3c8bebd1bd40d85c3c2e9901b96109813cd6a722be2802fa3c5f2b13bbf6c3cf3bdf6e45bee7f6b03c26e9b83b016d9e3ada2b3abec1a4623cde8fcc3b2f99cd3a62a117beaa80c33b319c2a3c58ab463b7d5bdebd9a68703a5ab30b3c27881c3b306977bd228f8cbb5358103c3e0f123c8c8aa8bc790c16bc132c0e3c66ab4e3c9815383c57b08fbaf2c3493be75a47be11e3aa3f414e6d3ca3cc69bc941e28bee26f9c3f8c52013b78881abcfeda02be5dd78f3f73d544bc21b2efbbf692b8bd8aa86e3f58b861bca51630bb861d5ebdc349333f2ea817bcb5a22ebb629dcabc72eded3eecdaa6bb9ccdb6ba299d9dbbb24f6f3e38d0f83b7d5830bbb8e90b3ca320323d447fc73cc39f15bca604ec3918dfd6bd8119ce3b3f24a6ba7aa33d3b6c9650bd899f02bcdc21e13b52e7443c2e6908be986316bc6f663c3ce0ac323c249e24be644366bcf5985d3c43282b3c511327be92584dbc65ff863ca095093cedc708be0b4076bce5914f3c3e3b363cb9f4d5bd049133bc0dec393cf6c9563c958b7fbd0762d7bbf41b193ce849683cf14adabce41633bb9986d53b41745e3c9da096b9f3259e3b60aa523b72c545be91d98d3f30a06c3ef85879bd36a64abe3aec8f3f704a3d3ed37e5fbd500b26be9fbf823fe421143e994a29bd73ca02beef2f5e3f6b74d33de731febcc321adbd72f2283f0fd9973db313acbcab5f6fbdcf65e93e2b303c3dc38a45bce83ef3bce3f6793e9b97b93cbb8dd6bb6ec92bbc97f68b3d7b87d93bd0ff91bafb77c5bb692850bd7daf76bc0ed2673b27eacbba287ad5bc8e8816bd869f723cd20d2b3caf3ecfbd76c240bd4e99cb3c8d23683c16c008beb2a24abd8655d03cbde86c3cc0f50bbe985c30bd0015ae3c36df663ceaf3fcbd7eb20fbdb227a33c2b28803c5767c2bd713bc9bccd547a3cbf41893c11fa7dbd11ec3dbc39183d3c17bc8b3ca3dee7bce262a2babb4cfe3b769b753c077b1fbbba67273c4501f83afa2e3bbed40c6c3fc090ea3e7518dcbdcd3d43be80646f3f4b6ad23e2968d9bdeaf12abe2de15e3f89c6ab3e9b09acbd5e5808bec8ec3e3f9472813eba6078bdfdced6bd16f2183f6fac333e60c72bbdb18093bdf32ed53e5272da3d2a85c2bc523a2ebd4fef763ec71f383da0df08bc2644b3bcbc50a93d21ea8cbbf23eb93b58576cbc5904bbbc126231bd2cca4d3cb0fca1bbfdecafbba49e77bdacbfb73cfdd0193c654188bd55f1afbdda0d0f3d0c01533c2164c2bd4686b3bdf650fb3c0aeb933c9c23e9bdd713a0bd1a18f03ca736723c60dbb4bd3c1f71bd60017b3c20e2993c4a77afbdbfe91dbd2d03913cf28f813ca76860bd476c86bcf922313c97a5833ce8addfbc59ce41b972cac13bb57f743c06fee4bb3367633cf0a56c3bff691bbe88f3313fb858323f147b19bef65a23bea7a3353f0a3a263f93d31bbe2a5310be2d252b3f73850b3f1f4efcbd090002beda031a3fe8fed73e4158c1bda9b1acbd3a75ed3ee9ad983ec9ec78bd6aa396bd0cb7ba3eb21e333ebb1614bda8143bbdb436603ead7e923d90b033bc12e7d7bcd9b8be3dbdad46bcb1d6393c4a8e6fbcbfeb4abbc07289bd99218c3c4487b6bb0ed7373c84aba4bdf802e33c00d81d3cf7241bbdd9f7ffbdae923b3dc964853c88488ebde3a605bed6452f3d31439b3c2534a4bdfb81e8bde2ae113df1c19f3c2130a4bd32cdb1bdad5fe43cf3c6953c5bc18bbda8bd5ebdce51973c5fbb6d3cf3a949bd1c91cdbcdc4a333c768f6a3cc4dbdbbc5d96b33973cb703b2d432b3c6520adbbd00f9c3c3059eb395846d9bd7143e83e9a7a6c3fa89339beb676f1bd26cff13e26be623fa23543befa45e4bdfaf5ed3e697c413fb8a022bee492c7bd313dd93e5cdd173fbb49f6bd99beafbd6f91bc3e6e38d63e29bdaabddb1f86bd8035923e96a97d3ede1d31bdf9b831bd3f87423eab17cc3d534e1fbc50a6c3bcc203be3dabbe8cbc97c8a13cdb0756bc0cb94c3c810bb6bdb24ac43cff123fbb9c45b03c850cc3bd5980163d28730e3c92ed5ebcea851fbe35a8543d3e01843c38531fbd1fcf29be20714a3dd6ae953c571c56bddfaf18beba302c3d14028b3cea4b5dbda9c5e5bdd9f6e53c91d2833c544a4cbd5bfc99bdf849b13c74496d3cbad812bd0f8c0fbd4c363b3c05bb0b3c04de9bbc075435bb8130163bd437dd3b59e678bb205e953c51abe8bae1da72bde1b4693e843b8e3f874146be5bf789bd19ce763e71c18a3fc6e750be605c8cbddc59823e2729713f6a7d31beefd685bdd389803e4d81403f927a0abee52959bdedff663efdab093f05aab9bd01a644bd53ee453ec010a83e485b4dbdf06e05bd5ba60d3eb8040e3e4c1748bcb42b8ebc7a64a33d55ff70bc80eacb3c028bf4bb9f3a9b3c0145d3bdb953133d034ea0b952a49c3c30c104be7704293d9267023c5141b33b231534be30656e3d665f793cce4786bc29a649be9820563df93f8c3c99ecf5bc2ec636be44422e3d9e5f813c01290bbdc7a90dbea274f73c669a4c3c2b6bf7bca8fbc3bd8254a43c0f20033c0522b9bccd1b43bdbf610c3c2487723b2e892ebc9dd1e8bb9b4190bbd495343bb16606ba3718c63c4ff897bb0c8d63bc455f5a3cd22aab3f5e2146bedc2ea9bc70633c3da1599a3f45cc3abeb5bfebbc8e9b963d78b08a3fc7d126bebb5003bd97f9c23ddfbc603f030405be5f37f9bc91ced33d17b4233f237eb9bddc41c1bc7db6cb3d7f1ecd3e501947bd5ad295bc2113ad3d361f363ed26103bcf0d011bc1c67713dc88582ba2c5e093db4c28b397f78733cea230dbe26d31d3d00000000000000000000000000000000b59f293cc3fb5337864c45be6e6c213d7d67603ca0a027bc683a3fbee05c103d598e513c3fd7afbc720a2fbe2076c93c7562503c758fadbcf5040fbe56668e3c7189173ced5093bc8651c8bdc33f2e3c21b9453b242628bc71dc5ebd917ba73b112b9d3afd2180bb246408bcd12e96ba0000000000000000000000000000000000000000000000000000803f0000000016dc403cfc9cd5bd5ad6ab3f099205bea0d502b9018141bdb0278e3f2d86c6bd120096bbfb2941bc8bc56a3facf6a1bd38fcd9bb5b44023c74f62f3fca507bbdcd71e8bbed53a13c0fb7e43e05cb0fbde7fdc9b6895fd63c3e84623e2c7215bca4c12e3bc704873c2d9c113cda66443c00000000000000000000000000000000000000000000000000000000000000005a8404bc82562ebe23922c3dd70de4bba9d0abbce1e22dbeb6033b3d99acc8bb9c65dbbc935f1fbef32a0d3d167c20bba30ff4bc687303bea05ff73c4bfec6baced2d2bccdf4c0bd15e4c43cb3e50ebbe7b87fbc740f56bd870e5b3ce91d70bab02bbdbb05a05bbcb621773b22fb98b800000000000000000000000000000000000000000000803f000000000000000029a99abd5886a83fca491abe5baaeb3cef1480bcea658c3f552909bee2f3f33c03a2b93c1273663f9e22f3bdcf2fd53c5985313d16232e3f5d15d5bd5e9bcc3c42284a3de86de93eda8aa6bdef8eab3cdc762a3def10723e8dbe3dbdf323373c4771ca3c9826d83c3eab40bcf3d6633b00000000000000000000000000000000569c1f3be52bacbdb0a9b13b2843503a05bf0bb93dfd1abe8b74273d847bf9bbfd8123bcccfd34be3df91b3d2e9667bb553477bca2422bbee65f103dc03426bb98425abc07030fbee724e23c73eb52ba053246bc33f8d8bda6c9c43c4873c3ba713c52bbf1f280bd9b39583c8cc05139583fd13b9cb0a8bc849389ba8aae223bf3a4123cfa25233c86f796baaa0d06b9e4a536be65f4a73f948b933cb0c03bbc4e6f1dbebb9e9e3feb6e00bd2a63363b6078d1bdd2748f3f248a5dbd3a262d3c38e16bbdd2aa6d3fde8285bd858a863cd0a6babcba1a353f714d86bd27bc883c7bdf1bbb96cff63e823a71bdc93e8c3ce00dcd3b4189833e683319bdbbb4513cda9ef13bebe8623da1c74bbbef070d3bd58597bbbcf1b3bddbfddcbbe2f8c43bc1ea04bbf1e71cbd2364a1bc1930193cfa82c43a3de5f7bd452e88bb96081a3ce413f3b9ab3115bec31715ba33af143c857c1ebb59ac20be670a143c3171db3bd05100bbd35b07bed23d123cc552b83b0d9dfe39dffad8bda577493c3b89613bad056e3be37d8abd141f2e3c5e36cb3a7daa163c4175f7bc2b4ce23b66a619b91eae2f3c69e9963afbd0a63b6133f0baed0f3dbe04db8c3f0213693e43bd5ebdb1aa3dbe5424903fa51b1d3ea96d28bdd7e208be3c5b813f41c7d13d5389d2bc84f8d6bdbea8613f9b6a313d8cd307bc639b7ebdbb0e2e3f4bbb2e3cfd5433ba5c502abd5ff6f93e15efadbc2dfa093c81d7a8bcf58b913e1e5505bd1a2b543c607a4abc7867c23d05470abdc5728d3c6cd92cbc494b0fbde57c14bd1c268e3cd8ef83bb307458bc3dff4ebdb961aa3c4565543b8ca8babd559d30bd9f10c63c029be13b912a07be676000bd146dad3cbd7bfc3b7bab0dbecaab8abc5125713c8696d53b5ccf05be0d59fcbb36f35c3c3a40da3b4affd3bda4ef2d3b23ffd03bdce2093cf09c8dbd4d3c073cb48a293b6cd5403c0cd603bd16061f3cc1256dba3f06053c37597ebbddb2623cfb0035bb2fd232be13886a3f7374e53e3f4acbbd74bd3abea5e2713f95f3bd3e8f05b6bd7c9e21be484e643fc21f8c3e6d1880bdd5d8f7bd81ba463f2efb383e785a23bdbe50bebdd9d6223f12d3c93d95caa1bc47b680bd5f41ed3e4e0d053d377262bad61224bd1f3d923eb34498bcf064623cd7ecb3bc7fdaed3df3be49bda9f8d23cb3794dbcfd40acbb953890bd4c5ce43caabcd9bbb7ab883b65e48ebd7bd7e03c311cbd3b4a5286bdf673a2bdf458153d247c363c3f09cdbd058a8dbd28f5013de32c753c44c8fabd450350bd9c9ce13c339c3f3c9455cabd72541fbda83a9d3c9a09603c282ccdbd1e3f30bcbd27443cd6be423c236684bd5e94303b62e8943b95f8233cba6704bd0edd333c1d79f0babc02ec3b94c2c6bbd7419a3c0e815fbb816a16beeebe323f67d02b3fe3ac0abe33c321bef45f3b3fd898193f5a0608be57f90bbebb5c333f9cc4f23ec2c0d4bd2ff100beea6a263fcfb9ad3e9ec097bda27e9fbd9943023f315b693edd3a56bd00e79bbd8096d63e9e2ecb3d812781bca3773bbdcd9a873e293b5d3c9f7e973b5ad1debc0f1b003ea6695dbd0ba0fb3c4c286abc0223753c04fabcbda1b2043d077ac6bb9a7f6e3c6aebb4bd33470a3d2580163ca45a3bbd60cce2bd21f0463dded1873c7fbaacbd8dc9d4bd5c41353d19d4a33c860bcdbd70fca7bd9bd3113def7f9d3ce38bd3bd7a5461bd441fd83c1e1a993cc89cb1bd2e1ce1bc6206723cbc986d3ceece7bbd757f94bb9852b03b2b74283c2c07eabc75d9153c190c3bbb02a8b43b15f8babb8349a63c22cf99bbf841e6bd4a11f33e0625643f977d26be1b5bfdbdb716023f4f10533f80b32dbe23f4f3bd4f7b043f16942d3fccc70fbe2c96debd6299f93e78b0013ff8ddd4bd581fc2bdf0bdde3e46a9ac3e8af28cbd44d396bd383db03e5d9b343ed8e2f3bc8a6f51bde474723ef28b373d985caf3b5d9cd2bc7b81ef3dbe455dbd80de153d9d364fbc2643c03c9cf2dbbda7e4193d256fc5baf882793c7578c3bdde38223d9db9383c2bd7f2bc32980cbe19f15d3d1a658a3c7b6376bdf07e0abee689503d4593b73c3acba1bd0f59e8bdd340323d5d6da93cb1389ebde896a6bd4eeffa3c71179b3c348094bddafb44bd4b4ba63c0765533c89c747bdf775a0bcc1240a3cb82a053cd902a8bc51824f3b88c658bb90863c3bb9c952bac21fad3ce47d04bce47e87bd1d46803e6a638a3f019232be2c219ebd04b7903e11e8833f1e1c3fbe3c6ba5bd6bf8a03ea40b5c3fa6e321bed289a2bd861ca33e5ef52b3f21f403be391392bdc7e8963ec3f3ed3e434ab7bd544f7cbd1f04813ec468893ed4643bbd6cf028bde6c3373eb961d13d524e1dbc53edaabc3d0dcc3da99b34bde7bc1d3db181b1bb2aecae3c7035f1bd9251453dd7b955ba50744b3c30e6f2bdd345223d4077673caf828cbc3dc422be9ffb753d02a0a43cb01040bde73127beab45643d2e2abe3ca60d71bd628814bece48483d6212b23cb3bc7ebd5e1be2bd7ece193dce5d993caaaf58bd00e991bdbb3bc43c33563a3ce1fe0cbd86ea03bd7b2c253c5c333d3b04d7d2bb39ffa5bb78ddb4bbb5cb86ba6779aa3bd5beb03cd70df8bb02baa0bc89180c3dc3a2a63feba031be2cfcd5bcf0e78d3deb3e983f7a5438bea6e235bdfb3c023ee04c833f554624be73d148bd9467213e9782503fd23009bef0d843bdaa0a2a3e63f9153f9514cebd38762bbd72721a3eb1fab73e385a74bddb0aeabc21d6f13da75f163e3d8d6abc177cc9bbe0d0843d7f30b2bccf641d3d98b38bb9767f493ce3b80dbebfef303d00000000000000000000000000000000a58d3f3c8bd99bbca1c928be4b20293d4cb3903c8adf09bd689323bee82d293d808a8f3cac5d2bbd86b114bef0dc0d3d72b0883c580131bda127f2bd4cb1eb3c6d41873c09e91cbdecababbd3e04a33ce5522d3c6290bbbc10153abdd91d223cebf2ee3a2f57ecbb510905bc421b583a0000000000000000000000000000000000000000000000000000803f00000000c252a23b00589bbdf1eda63f0af804be38df26bc583702bc25e5893f0ca8e6bd5c47a5bc0ccd093da5c3603f062dd4bdddc3cbbcd006673d13da273f03cdb0bd27aec4bc30677a3d7070dc3e88667ebdb9f369bcc893483d51f85c3ef302ecbcdd305bbbb22adb3c7576293cf02f3c3b00000000000000000000000000000000000000000000000000000000000000006ba12fbc414ad8bd404632baa0ef053c67b794bc28dceabd421cef3b8f24093cf3c7b0bce445e1bd12469c3b1c01183c9cb4c2bc8e8fcabd6a6ed53b1ff4143ce03abfbce680a1bdbb192a3cce38a83bb40ca4bca3235dbd23fd6a3c256439bab52d75bc52bfcbbca283713cc41062bb00000000000000000000000000000000000000000000803f00000000000000009d73babcdc8b973f79fda1bd6895a33b3e6e823c29e47f3f28ba9cbd8462ef3b2d132d3ddade513f203f93bd4c58a63b62895d3d2456233fd9178bbd545aa13bf7c2593dca24e83e1ba88bbd0b0e0e3ccb12213d61338a3ea95378bd0cd7553cfd07ba3ccb9eb83ddb9855bdca89773c000000000000000000000000000000001cd824bbd35328bdbe57c4bc3abd463cfe1979bcfe23d1bd71e257bbf2bf1b3cd51e8cbc18c1f6bdd19ac0ba3b6d413ca44e92bc383cf2bd58714139f6fe4a3c41bda2bc4a95d7bd7686673b5b9e2c3c3b2099bc507aafbdc5e31b3c2b88c33b50f280bc86d876bdc860713c5196ec3afffbb9bba528c5bc996d693c1d359fbbcdec73bb13c00c3aef66493c242362bb0de3cebd9f9c973f88229f3d6e90eabc8fefb5bdae9f913f5ae00a3d35ff45bc5c7318bde0e67e3fd8cd793c65903ebcfa9315bb0261523fab1493bba72504bc9bce9c3c06c3233f909ea5bcae3d90bb6273cf3c7b67eb3ef9861ebd4c7b843b977f9a3c489e8f3e07e345bd86a5153c85068f3b7813cb3d9f0043bd20467d3c6e4f5dba322e0cbda99442bdab48753cb03bafbbfa402ebca51e18bd87bb7d3c1c7910bcd6e78dbd949116bdd99ebc3c4a6151bbdfe8aabd789012bdc174ba3c2d4212bc91c2d4bd8cf8babcd6fcb13c90b6f1bba26abbbd7f0596bc8626953c5c902ebc8440abbd89a548bb9456603c9bf4e8bba3cf6fbd7c910e3ab9851d3c4efab7bbec4207bdcc60513c2850023af7c88fba07b9f1bb938a6a3c1b9725bbe64bebbd7579803f0baf833e74696dbd38b1e8bd36d2803f8cda503e439a63bda4fb6ebdb1765c3fe749263e322d48bde4d825bd249c423fa460d73d30b917bdcf3854bc07c4173faa7d813d1feee2bcd08eb3bb35aae53e65a9673c7b9a7abc87ba533b9bc08f3e819d50bc88ed04bcdd2b40bb4868033eba583fbd2a4e323c8b9396bbd6d7083b219262bd0091623cda9b6ebbdd67ca3beb925cbdaee79d3cf52fc7bb29cd36bde1f07cbd63f5fd3ce14715bb4e1f9fbdaceb61bd2809013dc66a56bad01bb9bd62f52dbd8417e33c7dd089bbd8b1babddc6107bd8dc8db3cc5956fbb2b27a5bd33a26dbc97d8913c4685acbbc2fc83bde999aeb968253c3cc54739bbecec23bdb255443c01a96d3b045bfdbaf87083bcbc18763cc629e43adad6e5bd1712553f0f0be23e086ab1bd5e43eabd5cba563f03d1c53e4363babd758cabbdd821453f7cac9d3ed7d7a0bdac4370bd684b2a3f5411673e543882bd555d19bdd6c30b3f44161c3e17ee53bdc8fbc2bc2a02d43e34f29b3dbc0003bd9c397fbcb5568e3ed909633c1d0a72bcebd93abc80c0103e29231cbd4d04943bd9ba85bb6378ca3cae3282bd5c37033c7770b9bb49238c3c4cb480bd8b60a03c9b736abb38ded4bce84aa8bd5f2f173d0294393b7e236bbde00f97bddf29073d9d60193b4c199dbd505d89bd6bc0173d99a9c93b62f780bd66e854bde6becc3ca4ad2339051c9cbd561a02bd8c91dd3ca77a233ae03575bd840b43bc525c833cdff4dcba331b27bd1c61f23b84d2e43b6ab940bb38f3aabca5bc7c3c62b76b3b5088cfbd04b4263f3ca61f3fbca4d7bd8933d9bd02e0293fa883113f6187f3bdcdb6a3bd15ad1c3f1c94ed3e7b1ccfbd4b7d88bd65840e3fd7eab73e8a32bbbda84d06bd525bdc3e9302833e28b78ebd3ce415bd1b8cbc3e9e9e183e69995bbd1b75bebcaabe7e3e8b01713d2783edbc142198bcdaef0f3e2902b9bc915971bb2b09adbbd92c183d31eb8abd774a8c3b4946dabb487aa13c46ba8fbdc9c7a83cb757fcba69c6acbcf46ecabd543c283d8dec4a3b4a3750bdf8d8c7bd445f2e3d0f6ae63bce6b84bd5ff1aabdd9e11b3db614e13bed8397bdfb5389bd74a2183dbf74b23b5a5f8dbd10c22fbd1ba4e03c53b6543bb05579bdd08e9cbcf2aca23c81f49e3af0ed26bde742803b06640f3cb833abbac5a5b1bccb5e693cd293953b7797b3bdff76f13e60994e3fe170f2bdf0e8bdbd6467f93eeb7e413f0fff0dbebec5a4bd88abf23ee9d4213f121d01be0a8c8dbdaee1dd3e9675fc3e5dcedcbd57b866bd1b45c23eddfab63ecb15bbbdad1e3bbd88969b3ea028643e208d84bd24b10fbd50425f3efbcecc3dbba01cbd4e3cbdbccce3ff3d94bd92bb78db11bcf2cf12bce1b71c3da08290bd9ad81d3b1b95e5bbbfb14c3cc84195bd10e2c63cbf6e1aba784ba5bc9c71e4bd31e7313d5db4d63b576213bd0fafd8bdd607173dfc8d0b3c7e696dbd695bd0bda13f2f3d21fd133ccae768bd78fea1bd063c083ddc96043c2a3681bd217661bdaf8efa3cf738cf3b6b0e4bbd2ef800bdedeaac3c92829e3ba32c17bd57193c3b674cff3b77c3b939999499bc0755893c03ad233b999881bd2eae923ef4f57b3f0d6afdbd05b18dbdb5119c3e077a703fa80a1abe57e170bdbaeb9d3e7d23443f003a00be083380bd9fe59c3e746d203fceb8f6bd8e154fbd6180893e8976e93ebb27c6bdf18147bd2c466c3e5654993e44ca9bbd243c03bd77a9263ebaf41e3e003549bd3759dbbc0643ca3daffc3e3c87f13ebc185e38bc0905f63c3ee599bd5eb9a43be015c4bb5eaacd3bfc9dadbd166f973c8d97143b3fdaccbc363500be951e413de940f73b8ec526bd9b3004be3492343d19a51d3cd9d044bd6620f2bd890e2f3d5659223c270353bd8954c5bd872e163d5690223cbe1559bdcb488bbdf6bbff3c5f5a113cfc3737bd60611abd0dcab53c5c6a163cb41be8bcdbb8b4ba3967dc3bea24d93a059294bcbaf85a3ceb11943b91b217bd18bfda3d023b963fdaedecbd973c0fbd2f68013e3dc78c3fc8fa10be7dc839bdba0f263ea63d6e3f952d05be845f45bda92f353e463b3e3f9502f5bd3ad83abd69582f3ee0ae0d3fe20acfbd2c8c30bd21151b3ed4aabd3e0fd9a8bd4c1b14bd5f12e83d4f28453e495a5abd3d3dc4bc02fd7e3d0240e83c39504dbcf58057bc3c70a33c0b83a8bd7caf4fbb00000000000000000000000000000000d356693b65628cbcd76ae7bde036a73c2ea8113ce5ecdfbc1301edbd2a07e03c8364243c0022f5bcc86edcbdc617bb3cd4132c3cdf1509bd9fe7c1bd334fbd3c247a353c9f670bbd65fe97bda756b33cb4221b3c8579ffbceda239bd6583883cee83b73bef63c9bc209994bcbbd13e3c0000000000000000000000000000000000000000000000000000803f00000000a17c61bc6b690bbc1804963fab31babded8b9bbc864f0d3dcdba793f1c5fafbded43d8bc43d9713d4c964b3f204aabbd62fef1bcdbda903d68d01b3f08ca9ebd3f41eebc54f58d3db77bda3e46418ebd0b10dfbc1d2f5e3d9c4b793e24c049bda118acbc5b3f033db05f8a3ddda900bd0000000000000000000000000000000000000000000000000000000000000000602d2d3cfd7c52be1cc75e3d56db10bcb32075bc6ee23dbe8c09233d9069f6bb62d900bdad1e31beac2ae53c450496bb38e203bd99310cbe55588d3c41d5c9bbd68504bd7bf8b3bd037fd83b29a48abb7916bbbcd01235bdbc627bbb4185baba810912bc4ce561bb9e9edfbbfa6c32bb00000000000000000000000000000000000000000000803f0000000000000000bff9d8bd706aac3f9d111fbede74eb3c061cedbcfaa68c3fdd80e5bdabc9d83c6a2d693ad5656b3f439fd3bdb1dfed3cc86af33cf1df2c3f50499cbd6c5fe13c53fb423db216d83e902616bd94bd8b3c8b19403d920d4e3e277d09bbbf0e023c8c150e3df64f30bc9686dd3c44255cbb00000000000000000000000000000000ede7593c4b8be6bd72f40e3d0ff69bbbe9c3693b9e051dbe8666263df6c1f2bb0768eebb2a2350becf3e1e3d38e1d8bab90786bc4e5446be4d24fc3cbe5a30bbdb9f9fbccde622bef30eb63c591157bba89399bc89e3e9bd9a9f2f3c407b95ba7d3787bc04b173bd918aea39234357ba4f9422bcf514c0bcdd169ebb7921e83aeadde43b1e00103c8a0a1d3a2166f7b8d3e153be747fab3f6f95223b58d9c8bb360611becd60983ff880343c9fb6c8bb1c67fdbd8fcd913f20f506bd01cf123c5ae6abbdd342733f18a11ebd5e798a3cf2a03fbd86eb373f7b500ebd99fba13cfa0a8bbca058f23eb8dd7bbc5586643cdedb5e3b066e6f3e1257c33b352bc93b63a3833cfded6b3dca32a93cbf24afbb5dfd203b7ed4e6bd5ca7dd3cc9df27bc047609bb66b568bd5bbd263c96e1b33bea679239380519be086c7c3cee98b53bfd40f8bb8bf23fbe9d87b43cddc18a3b0c6e32bcf4e345be5837a83c82f7b53ad1fc20bccdb729be0a819b3c22dee5babbcb10bcca9000be4637383c66fd88ba5ab903bc4b279bbd541cd73b261d4a39e8d01ebbaf8b0abda0e7973b53ede43a128c4f3b32ebb8bbc1eccf3b0161d4396ccd46be471f8d3fdbef6e3ed9806cbd8d924abeda10923fa2242d3efb791fbd3bee30bec382893f703dc83d3c4869bc957d0bbe76106c3fc7545b3d53a5553bdfc1c8bd711b383fd0efb83c17125a3c25a080bde025fa3eef1b873ca32c4a3c238ceebc10c9833e340a393ca0973a3c104a2cbc2a30953d2b95ff3b224db43aa2cc0abcb20b3fbd4c8ea6b96cef60bb1a2552bcdb6a0ebd6aadb1bceb76a03cb75309bb0fb800becedca7bca2a0af3c13b14aba726b2fbe8d1715bc954c7d3c7621bebbaa7437be1d30fcb8c5d3fe3b5351e6bbd9b02abe162e163c88fa933a5e229fbab3c003be8acb173c18ea1e3b4ea188bbaa56a6bdacf2113c60ede8badcf380b61dc733bda122563cb7e891ba1443fa3a95731dbcfb4d6b3c8487af3a2e2441beb3e06d3f00d0ed3e13f9d9bd024148bec3f3743ff03bce3e21c7babdc1863dbe8f856e3f68b2943e1ce467bd9cd522bee6a3553f0d263d3e97e99fbcf15c02be9a752e3fb2b9d23d9fd4983b1880acbded24f33ed5ea6c3d833ffc3bfdf54ebd7a4c8b3eefd7993c81f17d3cb8c6c1bc792bc53d6dc201bc0a8b693c3c4064bc561dd6bcb0a305bd86cbec3b98669abcf3382fbc26435abd3c89073d5b8869bbf734bcbda54f7ebd8f3e123de52e483be58b0dbe864f62bddfd0ed3cdb54a33b856727be4b65febcace3763c3cb6553bc3c014beb92b00bc7c2bb73bd58d043b5bacfcbd6144ed3a9a00473bc265a239ddb8a0bd11b00f3c76024f3a1f42173bc43e2abdd125673c5c53a03a9ef680bae9bc30bc5d9dac3c840f253ad4ea18be99c42e3f13ab393f5d4d20be566b29be8d823b3f8e63253f238610be88f22bbe95ad3b3f1579043f8a06d0bdcc4823beb49b313fdf0ab63efc3758bdda2e03be747f143f49fa513e47e864bc0009cebd6755e13e9caad13d83c6093cc60f80bde128853e0ca6e83c1131a23c06ce07bd6d95e23dd17be5bc2a2eba3cf7e161bc248f5bbbda4e87bdb599a83c05b494bc5e2f3d3ca4a5a2bd526c243d988b36bb041e6dbd2e82dcbdce84543d3a772e3c3ba0d8bd3c3ccfbd21b2293d857b333c6c6a02be37f9a2bddcbef53c9aea563c8aae06be64b335bdaeee7f3c53843d3c0ddfe5bd013d53bc4ddda53b6a09963b4175a0bd9d80543ad597533bbabd6a3bf17227bd192c343c79b8b93a31da463a784422bc9c8faf3ca7edfdb86c51c6bddf57da3e19ad763f330544be80f7f6bde7b3f83e8566623f90e53abe18bf06be4648013f76d73e3fa4b913becabe03be8421fb3e607a0e3f6ff0bfbdc9d9f5bdb7aae93e2a55b33efed826bd6b15ccbd7e72bb3e5173373ed8136cbbdaab80bd155b743e1a7b623d3a53aa3c6a9d13bdf4a9e63d992cfebc9b35003db17a7ebcd7f4793c688eb7bd9320e53c6ee761bc2822b03c3108bdbd07e74a3dd5e229bbe234edbcae1219bea817803d01594e3cc1af8dbdcdf51fbeda97673dcc8f7c3c87ddbbbdbdea02be1688273d4f9a843cf6bac5bdde19b1bdaa21ce3cfc1b8e3c7ed6babd9ad133bd4682543c2c1ae13b64ad7fbd57dc47bc40bae53ab4dc713bfd1111bd603df93b6560b6bac51b2dba2a7205bc3321a13cef3384bac8a440bd28c7523ec217903f290648be109e80bd9364783e306b8c3f822a4ebe7c2da1bd2e728c3e541c743ff2052dbe468aafbd0d26973e44343d3f4683f4bdb9b5a6bd3879903e0a5d023f98d38cbdefd795bd1614823edded913ea4bcc2bc528a56bd595a3c3e46c8c63d5de6993cb237e3bccbf1c53dfd53d9bc94eb123db89b0dbc7088aa3c7061d0bd8bb81f3da53d18bc6217bf3c7f4c0ebecbf5803dce14b4ba938954bb998e28be3ca9843deaa5513c942021bd283244be5d777a3d2d44963c66c16cbd9b6a2ebe3346403d9e19963c94c282bda43402be7d85fe3c36a07d3c449873bde472a2bd34cc863c85ce1d3cb79c37bd08d504bd942c7c3b0aeeaa3b164bc9bc5b8baabb58d0bcbb1b58afba3a8ad23ac034bf3c434dcbbbce0e103b0de52fbca0aaac3fe92a4ebe908cc4bcb50f863dc358963f22d828be8c5d18bd9ed6b13d4d9c8b3f6a5322bef00341bdec98f53dc369603fadcaf6bd923943bd16b90b3e7ea3213f94fc9fbde4c238bda242083e5b17c63e20ab07bd2b770dbdce2ce13ddfb5233e489c083c086ea7bc7e5b8a3d6894203ca0e30f3d02feb0b9dbad833c638518be5b63633d000000000000000000000000000000001b3afa3bb587023bbee354beb10c7d3dc64e803ce3f6b4bccf9344be143b3f3d9529923c21671fbdca883ebe4df5163dfebd943ce97d26bd813a17bec935e53c2e17583c374814bd31dfc5bd1056613ca6fe163c51a0d6bcd3804dbd4204e73a54a5823baebc09bc14b3ddbb07fd99bb0000000000000000000000000000000000000000000000000000803f000000003f365a3c5343e3bd37a0ac3fc10410bea53e19bc017113bd2c108f3f7498d3bdfaeb8cbcc11c92bbbda1723f481ebabd812bb3bca16bbe3c47f0343f376a86bd436094bc1e65243d6e9ce43eb2bbeebc4d5b4abc77ed213d1c87613e35f0e4b8c0144fbb8c03cd3cc14543bbfcb7fa3c00000000000000000000000000000000000000000000000000000000000000003c3d48bca89431be120c8f3db6c6bdbcb97530bd45d51ebe761c7c3db9ca9abcc7dd80bd5c070cbe13f4483dd80868bc4a278bbdb8d5ccbd99870b3d58353abc49ff77bd61b67dbddcfa8a3cdd2191bb8b3c1bbd5513ffbcd200803b5f60bcba28b009bc1795abbb38dbafbbed6a75ba00000000000000000000000000000000000000000000803f0000000000000000484a91bd611daa3fc0a64abeec545a3d0f88493c72fd8a3ff4fb3cbe06ab793de96b773da886633f30d432bedc417e3d9d3cba3df4e1233f30cb0ebea8bc583d8236c83de2c0c83ea73eb7bde797153d46a29c3df320383e9a2effbc92e3753c0fd2023d794167bcfe67b13c354564bb000000000000000000000000000000002721793b81fdb3bd14fbdc3c62413cbcedae62bc80a2f1bd3d932a3d89f684bc57cdfebcf43e24be97276b3de028a9bca79e36bdad5419be2eb65c3d3fbca1bc8fd547bd7dfbf7bd6b582b3d3da174bcc50236bde101a7bdb22ad03c013741bca496f9bc69ad2ebd4ceb2c3c9de2c9bbcf7b3bbc02eb94bc769b07bbc1a122b9c8a93a3ccd50d93be6e3d7bb3a5dd8ba36d543be6880aa3f8a244abb219c4ab9d375e8bdf03d973f94edf6bc7eb7293c5220acbdc177903f0e87e4bd65e2353da6b11bbd8927723f7fcc0fbe57b8763dd3cf573b4e05373fe61006bef495733de912c83c9961f13eb523cbbdc04b4f3dc92df13c4b03753e8c965dbdab65f73c10b48f3ce09b883d134a24bc2d271a3c5ee91ebc2cb5c8bd78e1d73c508189bb315e99bb7db913bd99d7603944cf5abb35a687bc5004e0bd96bd9b3c1202d7bb3f8405bd0b8b0ebe14fe093d0cff3fbcf11325bde9b613be37082b3d9fe57abcc47b25bdc081fdbd91eb263db4b587bcd9dc22bd7e74babd91fdf53ccd2844bcf403d8bc75a94abd179c843c184610bc391f44bca3a07fbc6c7ca43b720ab3bb5f4418b968b0cd3b93d279bb772919b9ddf048be48e78d3fea44633ee22750bdacde36bebba9923fa9f9e93d272cacbc184c0ebe2a6a8a3f909e3f3c7c72693c1f3bcabdab40713f96ea77bd14ab2f3da8f36cbdd0b13f3f26edcfbd76b2683ddb89cabce2f8053f2b19cfbdeb6f6b3d43519abb8994933e95879dbdced0393db418113ba737be3d74f236bd5b90f43c750e80bb41961ebd461d8cbc542f493c23d948bcdcbf83bc3324eebce46be93b3c6238bc48d0c2bd2cf4a9bb0009743bdcbea7bcf9e807bed626683cb405dfbb90d411bdd99d04beeb72b03c46dd2dbc493920bd7f76f7bdc10cf83c5f384ebc80b707bd9113bcbd2ff8de3c570756bc4864dcbcac0654bdee489c3c86c541bcfbdc66bc233e83bc910c123cdd8aeebb48cbffbbc7c0553c7976903a666e74bb7e7e43be304a6e3f597ce93e7defd5bd0de84abebe287d3f59e0a73e260293bd523734be47f8793f9ab5343ec5aab1bcb72004beb1825f3f0fd1723d9af15a3c6c1cc8bd04c63b3f117814bdc9c6393d704978bdfb10083ff2529fbd73556d3ddd21e8bc65bfa23e6555b4bd5c936e3d18835ebc7039013e88d899bd6c673e3dab969a3a2179c4bc9a8168bd391c053d0c0096bcd057e93b5c1771bdf0e9db3cefd502bc64ff97bd0e0628bdc1fa8a3c3230debb63cefabd2aed85bc0ce8d13b88a89bbc82a704be2b97b53ba70276bbb5a7cfbcb7b7dfbdf5d5613c1cca0cbc03f4e6bcf0ceadbd5859b83cc0d056bc79b4b3bc696643bd56168c3cfbc851bcea737dbc28b457bc28ab423ca60320bcd38861bc6d868b3c635bd73b95d9e0bb7fca1fbe34f1303fc713353f2fb420bee2b736bed72a473f871d123f36b7ffbd449738befcc54f3fb1f7c73e017b94bd4be221be69aa463fb84b503e5d088cbc2204eabd6ca5273f82ea8f3d2e258d3c1e70a7bd891f023fa3a1f7bc3636453df05a41bd8aaca23e2263a1bdc3f27d3d18259abc518f123e641fcbbdfbf0773dc794743a0ef6eebaccbdc6bd21e5503d512a96bce134b33c3e4badbd477e093dbd99a6bbd69255bd6865a7bd8606133d50e9da3a75a4d1bd275c5fbd80839f3c1fe90cbadf14fbbd75adcabcca4fbc3b7b6f34bc28c1e2bd32fc44bb4bc539bb0144a7bc53fea1bd04fd793bc197d5bb16e793bc8ed444bdef6d193c190027bce77a75bc68693dbc31ef433ce0444cbc9a8f8dbc106c983cbf9d253cce25f9bb2c4fdbbda5c3e03e8108733f2ba842beafb10cbe15cd093f45db503f090e2ebef2b21ebedf8a1a3f41481e3fcad8f8bdc08319be7bb01c3f6f52cd3ef31c82bd667f01be24e20f3fb30a4d3e56614ebc5e94b0bd0e32e13e1c107e3db12ab63ca31a5abdd23c993ee7a22ebde4eb553d23efcbbccb26163e8406d4bd7e438c3d96d3c63b1168563c0aff01be4f207c3dfb7b8abc5e33e83c97dac2bde26b2e3dbbcf92bb7fdf01bd649af6bda9204e3d0115133cf3b0a9bd2477cdbdf4851d3d8463143c49f6d3bd12c788bd019ba33c4b16c63b7cdcddbd221cfbbc12e7f03bc41d98bbfae79cbd9cba49bc9f9732bbc01a54bc9ea02cbd4a6093391051f7bb65ee4abcd52c33bc09bcf13bb45b38bc65b581bc3e46a93c3d16013c261423bce85557bdbea1563e706b8f3f9b8e44bec448acbdf145973ee2f0843f108f49be018edfbdd7fdbe3ee1fd583f387424bee1d3f0bd3a4cd43ee0cb1b3f5358ddbd7502e6bdac43d23ed3a6bf3e392960bde27eb2bd02a3b13ef2532f3ec67383bbdba048bd0f61753ee686a93c26b8fe3cd4ccc4bcecac023ea2c8abbddd1d753d5a86393b11d2943c9a740abea679923d39f432bcf532c23c2dd106be14ed5e3d2c99e5ba30b356bcdc290cbe7a2c543d1c66243c2c446abdcba012bee3b04e3dd237823c4644aabd8aaadebdd40e1a3d936a563c41e7b2bd721992bda37c9f3c5e9bd33b0ae893bd3e7b1dbd196de13b6f97a6bb1bb119bdb6f991bc69089fbaf1480cbc468d1abc8b9cddbbd121fbbb136e4fbc173bc43c97fe663caeef5dbc395a66bb9e771cbce8e9ab3f900643be6a040ebd64c9ca3d646a933f3cca2cbe80c377bdeb862a3ee689833fce462fbe2fc9a4bd31da6a3ea65a4a3f008f0cbec0e8acbd2410823ea3900a3f5590b8bd500591bdd5bc703e620e9b3e444b1ebdd2f434bdd055313eec44d53dab7a973b589e74bc822fb63da0e9a3bc9a5f123d3084df3b1343863ba09126be2860913d00000000000000000000000000000000acb3f43b5f068abcf63535be2c90693de731793cfc943dbd68921bbe3ffc3e3d672ea23ca92e83bd1e9209be8795183dcfc7aa3c115690bd30c2c6bd4d98ce3c279a683c5cd274bd76c366bd70d9283c0281093cd1c11abd8c38dfbc3d0f14391b6997bb90bc81bb9da58abbb27fcbbb0000000000000000000000000000000000000000000000000000803f000000000d6df93bb7b9b3bd8509ac3f3e201abe25ecbbbc961f8b3c4eb58d3f5f310fbe11bf1bbd668e963d45076a3fc27b0bbedafc48bd9dc7e63db5d92a3f13b8e0bdfc204dbd69baff3dd5abd23e92318bbd7cdd0cbdd409d43d7a54423ea4edb2bcbcebd4bb8524323d9e0e3ebcc57d9a3c00000000000000000000000000000000000000000000000000000000000000009d81d9bc4b180bbed253483d3fabb9bc23f06abd53b5e8bdce5a503d664ad2bc629595bd8b1ec1bddfee2a3d23ffbcbc0f17a8bdd4f875bd222dec3c70d394bc97eea5bd9c22e9bcc6d4813c58ca5cbc164967bdcfeec5bb02cd263b8d7cb9bb3e2ec8bc1196cd3b524484bb90e6dd3700000000000000000000000000000000000000000000803f0000000000000000e7944abdf1f8a63f39263ebe01f2713d82da1f3d8234893f35123abe357f933dbbeacd3d32035c3f45af2abe8c02943d834d0f3e99601f3f91150dbe889e823daabb173e5175c73e8e37c8bd0339463dfeadf33de447353eb7642ebd78a8c53c7a6a823d3e1b5bbc11a4fb3ba57d92b800000000000000000000000000000000e7fdf03bb4bcabbd4b59853c9d3778bb7ce4d1bc9a00dabd535f083ddafd4ebc2d1838bd91d0f5bd25ec2d3d32ccadbce4487bbdc92bd0bd853c2a3d858fc6bc91a299bd046d8dbd5106013d7a61b6bc0bdb8fbdaf4219bd63459a3c652086bc86c55fbd3ceb35bc6ab9bb3ba0d61dbc1f0387bc9f59b2bb39b135bad43272bb7d8198bbf8fd723ccdbebdbbc7bcc0b88b923ebeec04aa3f8f9771bcf561bbbb9b13f5bd25899d3f117590bd06639a3c24284dbd27558e3fe5e602be6d57623d2d93513ce703693fb20816bec39c973de7ae8a3d08e72d3fb3140cbed22b973d84d1be3d3c7ae13eab26dfbd0744803db5bdba3d35ef593e94307dbd2306313dd7643f3d92a6093d33fea8bb66b6783c83f6953c355adabd96635b3c06cb203973743d3c978d49bd8f75cabb6e05d03b67ba76bbe170d7bdfad4893ccc57cfba64528dbcedbff1bdababcf3cd14a13bc3e5e2abd95d2dbbd686afe3c060c96bc27844abdaa35afbde0b0fd3ccdf8a1bc852c6abd1b0b50bdd7dabd3c97709abc3eec4dbd522ca4bc7425503c77356ebcb7340fbd59f56e3b804e053be7720fbcb4cb9abca48bcb3c6789bdbbb4a357bbf62a4dbe6e92903fe1543a3e050b53bdd7913ebe0312953f5634853d11bea5bcdb3ef7bdfdd8863fc02638bc702f873ca3f573bdab6e693f5852a5bd4bb25b3d31f228bbe772353f98b9dabd7583893dbb6b123d2568fb3e0c1de1bdb03b903dff9f703da54e8a3e0a12b2bd009b6f3db2ab623dfbdd933d4a014abde4b8283de483283d27fb8abd0dc9a8bc575fa63ce1a6893c248efbbcfb080bbd3878b93cda20883cabfbcfbd9e3ab8b958652b3cf415b33a03a8f6bd338c763c6364bfbafc1097bc537fdabdd351913c17dd0bbcdb8b0ebd3ea5bdbdbae7e73c523895bc977e3cbdba396ebdc8fcbe3c71da9dbc8c9e33bd63e9d5bc335b993ca98298bc28131fbdf5f6f23b4b9ab13bed2e57bcdf4506bd58bdf83c3cfdc739029f0cbcbd8c4bbef7df713f63a6cb3ec5d6d9bd400754bee45e813fdaf2833e497893bd8f5b2fbe8401793fe3d0f23de9a5b9bcd910e4bd140f5a3fdd8cb43cc49c853c67767bbd1f2b363f4d437ebd9742603d3976b2bb3183023f6c64bdbd51928a3dd654e03cbdc09a3ea6c2cfbd15b28f3d34a8463da7d6d23d8e02a6bdbcd86e3d7ebb603dbbd72bbdea8c81bd7b952a3d73b3633c326d44bce5116dbdcbf3103de45ce73c5e6cc0bdd334e2bc5f8dd73ce8eee73c0a6703be1b3f1fbb8f85323c1c6bf73b2c9c00be2530613c2cae29ba9c6a3c3b62a3d8bddb43823cd141f1bbe6d3eabc1e5587bd1ee5963c673b82bc475606bda85e04bd5456813caa7b89bcda8e11bd48f1103c557e053cb83386bc9c4214bdf4dcff3c9254c43b8d6d5abc51782cbe400a393fa0f1203f2f331abe506b4abef2874f3f39fff73ebb1a00be3ec93ebe03fc513f8cc09c3ec3d595bd1a1924be8813483f4ab30f3e153cacbc126fccbd2ff2203f2d30633df5d71a3c67594dbddf47013fae7b6abdf17f6c3d3d9da3baebd49f3e36fdb4bd4e038a3d82730a3db343fe3da280cfbd12fc933daf29573da56283bc323fc2bdd9c66e3d416cf83b1612383b22a99dbdb0a7323dd4cff23c35bb9abd556774bd26d32e3dce95213dca4bffbdf6eae5bc086fdb3c3f810c3dda2908bed13259bbdecd253caa9f6e3cc7a0e8bd97f3393c0d1d03bb9935c3bb86ad8ebd5991213cb64901bc95c0aabc360410bdece05d3c52567dbca290e7bcc1f8c23be41d183ce0bd93bc18a703bd39f8eb3c1b9c213cdb2b84bcba8dfbbd71c0fa3e71ad5b3fd0a53bbe8f421ebeb100143f3fb0383f219b30be1d1933bef5a7233f54af043fc4df00bef83d2bbe7d2a233f25529f3e778b8fbd698a0dbeac02153f04810a3e652186bc364da2bd40ade43ec774ab3c77ccb03cab8ed5bc3dca973ec27d7dbd07e9663dc04d933ca58d043eb912debd12149d3d4a93343db4f8533bfcaff5bde8698e3d5724993be6e41c3c82bfb2bd2770463d4715013daf1572bd85e8b5bd6a16603d3719303d1cd5d9bd30ca84bd0ccd323dd722473d01a905be5bfcffbc6bc2d03c7ca21e3d6eb4fabd078dc3bb6084243cfcca8c3ccce1abbd8addcb3b9e8ba6bade73d7bababb29bdacc0b63b72b0edbba5aa8fbc7f26943b0ef9533bc8dd72bcda76d6bcfcbefa3c9e9c2e3c13888fbc4a0f90bd5d35833e3260873fa2b241bec53ee0bd0c61af3e5611733f31b84fbee6700bbe7e8ad93e98913b3fe0a529be522a1dbe85b5f03e847a003f4b67ecbde8b70fbe0f6ee73eb646933efd3682bdf380d7bd6080c33ed7f0dd3ded2159bc207d50bd0256823e5d82c2bb413cdf3ccc6aa13b9df0e73de9cebabdb4a0893d389f0b3dd58c343b967e05be0ff7953d0e7f7fbbb37e753c5e38eabd0d83473dba50fa3cb10e56bd7272e3bd96a8773d36ac343dc5d0c0bde50dc2bd77ea593dd495523d7b7ff2bd25037dbd27b9293d3708523df3a5fbbdc87fe0bc0ebfbc3c8a3a223d8343c9bda32a64bb28c2053ce0e3633c45c73bbd4c38c43a1f729eba024bd5bb32a5423cfe12c4bb93e2eebb2cf178bc572fb63c4558853ce9528cbc7c2b4dbc5bdae33c2e91a53f02923cbebc975cbdaf07f13d00ce913f5ae847be6229c0bda0a5643e51006f3ffa5b40be3107f0bd1a7d943e231d303f2ddb1fbe0a0401bebf26a13e02bee33e0f7fdcbd2f0ae3bd2f26933e40d4663e582f5bbda65f85bdf2194f3e5e25593d4451a1bb5a0c2ab95539923d66464fbd84821f3d610f7b3cc1b8bc3b709d19beac67843d00000000000000000000000000000000eaf83e3c1207d6bc719312be9f655c3d4b65043dba2d85bd09deedbd2cef583d4a7c233da769aabd4730c5bd679b393de68f383d7fb7bebd6b7d82bd26fb0c3d2f5e393d0f4cb8bdef28e5bcdd10963c1755fd3cf57970bd092196bb8c95843b895b1e3c0fcfa0bc38840b3c83439fbb0000000000000000000000000000000000000000000000000000803f0000000050d8b1baa66976bd8480a53f29c027bec16c23bd04153b3db7fa843f18f624be92a390bd4073f43d383f513f3d851dbe61adb8bd00c1223e7def133f390e02be27d9c1bd7ea02e3e0fa7b23e0d26b4bd34aa91bdd23d093e7261163e74ed19bd0ae50ebd18e88b3d0735cebcc326b03b0000000000000000000000000000000000000000000000000000000000000000f89f6f3c05898ebd8e9619bdb605a43bae462c3c4d6e87bd429f06bd5794283bba98153cc1c56cbdcae3e0bcd0ca1a3b1911663b61a643bd9adebbbcaed34d3a92fa1cba65a223bde07288bc2bec4c3a046d2dbb2ab003bdad35f9bb9eee703b3ef1babb1ee8a4bc5761e8ba0606073b00000000000000000000000000000000000000000000803f00000000000000001a7dd1bb057a8d3fc9a0bebc346511bcc2461d3cd3276c3f450861bca53202bc25f5603c5e733f3f81103abce87e08bccaed763c814a143fb1ad43bcf526fbbb0468493ce497d53e73437ebca4f3e1bb6934db3bd044843efec9b4bcbc4edbbbf7ad4e3ae7cbd63d57bdebbcd0773cbb00000000000000000000000000000000f166923c8ef90fbd4a120ebdd2c4a03a1829903cd75a91bd065d3dbd010cab3bb721953cf1cb96bd2f733fbd398e143bb58e703ce16b88bd43292cbd68968e3a89ed1b3c45215cbd3d1605bd5ee844ba3d9aa33b9f5046bd27d7cfbc50c7023b52343f3ad86510bdb4a681bc5d88383ba4fd34ba836da1bc2a1a80bb7ea3863be3b8a7b9c72696bbd3a9cc3a8b425c3bf7c532bd1af58c3f1650dc3dfb5bb8bc327124bd8ad7853fd500c43dd9b1c2bcc97a4fbc589b623ff686b33d6f2aa6bcec608539d40a383fbd9e933d9e3498bc009dc03b33590c3f0044593def4b86bc6012be3bb81ccb3ec677f83c0b5b7dbc5563023b5b4d7a3e361acd3b1c6756bc13848fbb57e0cc3d049087bc42b80bbcae328bbb8cba9abcfb7cecbc7669cebbdccc7f3c2aa787bc818ef9bc0ee98cbb5effb13cf3e333bd4bfa47bdfc6c55bb325c8f3c5f993fbdf83641bd307705bb6982993ce4fb57bda43d43bd91bad5ba6a685a3cf2c520bd3fde16bdf7535abb14d3113cae171bbd0472fbbc0b1062384b7b9b3b37d1d7bc25eea1bc7962d93a95bdda3a362380bcdcdd0cbcd39e823b6e30e33a88297abb33f001ba929b543b8fa445bd3df66b3f7a8f853e70bd02bda52d49bd56f9633fb66f763e3ea51ebd4841a7bc6a063d3fb82b573ebe3700bdc16967bc0fd1203fc007303ef768f3bc0e3690bb8576f33e8a50053e0f72c1bc397c6fbb724fb43ed0f8b33d9aaecdbc109165bbd5c3633ef4e9443dc0dcadbc9df89dbbe65fca3dd9cca43bf59a92bc06827dbbb5ada2bbcbebbcbc8bcf32bc00975f3ce9d8b7bbd4f6efbc169216bcaa91a03c4229dabcbe3a4ebd358422bce3dda63c0f001cbde9365dbdaae617bcecd59c3c72f21fbd8c5550bdc6bfd1bb1cfb683c38290bbd2f6f31bde8b2a0bb9516233c458ef6bc0d750fbd057702bbb35fa53bda42bebc57f4c7bc7bdaa53a8942de3a921f68bc253e77bc4a5bbd3b3fc6053b889d7fbbaa813fbbf7bf793ba10a35bdda09403f2ffcd53e3e761fbdc98644bd7065393faf2bc93e03ac49bddbd7f4bce5ae213f2aa2ae3eee2e2fbd7e3c9cbcc76a053f3b0d8e3e9f7f1ebdb53331bcd3b8cf3e6a4b5b3e385b0abdc43107bcc07b983e1ea4193e178205bd0bf1f8bb1bb8433efa3faf3d1e72f6bca8c5d8bbc78bbb3da0cfd13c0c9dd6bc68a2a0bbfe8cd23a6be198bc5fce87bc8d861d3cd3785ab96d9cedbcf52c63bc663d7a3ca4a272bc1d3051bd31f97fbcb0d6913ca209ccbcfd2f5cbdeb8956bc79cb833ccfabe3bcba4164bdd7ac38bc6b2e2e3c15079dbc24301abd357c03bcf815193c7ad8d5bcc3d21dbd788f79bb32b4a23b12cc9bbc85f2d8bc84e3c9b971c6413b804f4bbc184976bc56ba843b117fa23a1d3989bbf84a97bb959d903b228123bd1a48153f803a143f10c636bdcbeb35bdb6d00e3f05060c3f429961bd4ee0d8bc019ff73e3d8bee3e795f3dbd0f59a1bcc1c1d13e4781c63e7d2c30bdc9c230bced079d3ee732933e1e5befbc6e6234bca9a6753e2c85593e06751cbdb9711bbcba5c1c3e5f96023e1e0706bdc8b51bbcb8f89a3dc3b1433d97b105bdd00cd9bbf2bb843b97aa85bcfbbab4bc42c3a33b131c163ba884fbbc9f618fbc59b6383cbb4b0bbc3fa273bd59acadbcc1fe593c7de58fbcdd3386bd34989dbc863a523c1033abbc6df17cbd395b80bce4f62a3c555bacbc2bcb56bdd65a3bbcb32ecf3b10819dbccd1c37bd74b6e4bb83f6ae3be7f696bc013f08bd487287bab648b33ae74d4abc6f2790bcd5a6ab3b9617d6b9ea5495bbb94bcbbb9118b83bf37812bdbcb3d73e8d9f3e3fa0a14bbd75c823bd268acf3e0bc4363f1c1183bd7c2fe4bc4d5bb73e3e631d3f9b055cbdd72a9ebc8b9b9a3e3105003f9f9640bd032169bc526d763e8673c43efb2030bd21b930bc473c393eea278c3e88d02fbd38473dbc898ded3d0e7f2c3ead4036bd7a5a4dbce15a6e3df893863d0d4326bdb8af12bc1f3a633b434e83bc271de1bc9def0d3a7135183bde221dbdac2fa2bc156ea33b0d73a5bbc7708ebd87acd4bc8883103cf0bc3fbc369787bd7e98aebcda2e143cd91880bc097e8fbd9dd4acbcffb2da3bde0a76bcbe2a5abd94d46bbc8da3863ba5558abc478545bd68e408bc3d0f173b890444bc406e0abd069002bb52b077ba3c8a43bc15469fbc4e2ac43b714edfba4d95a2bbbe83abbb571cf43b3d05f9bc3a2d873e76076b3fde2d5ebd13d706bdbb2e813e2675613f1c6d89bdf8d0a2bcda086a3ee9f9383f6a2140bde50c85bcd308493eeecb1c3f98663ebd6e163bbc35001f3e0109eb3eafdf1dbdb8fa3bbc7b52f43d5e48aa3ed53634bd7f0248bcfdbc9e3dd96b503eeeb32abdf38564bc4799193df63fa33daf6d3cbd67e62bbc645d153ac6f0a3bcc17404bd99a203bb3f326c3ae1b650bd7a2fc8bcfeda073b68cbc4bbe480afbddddcf0bcb173ba3b33f010bc2eddb1bd91f5f7bcf7d5d73b89aa3abc4b59a0bdb4f2d9bcb447ae3bcc874ebca19680bd52759fbca5be4c3b42886ebc602d5dbd063752bc428231b977cc6ebc10e621bdea7569bbf0dc10bbc4a82cbc134fadbc9cb9e43bdbb58dbb8494cebbe257c4bb2205103cfe1bb1bcf2dce33dc1668c3fb02054bd6909a2bca4a1dd3d4211853f133773bdcb974cbc69dadb3d2110603fbb772bbd95711bbcd632c63d2dfe343f321910bd16d1fabbc250a43d9655093f9e7d06bdb57d18bcb7047c3daddac43e94801cbde24d35bc683f213d4f496e3e90dd30bd0cc14bbc0b02813c3ae0b33dd59c41bdf0e93abccf998abb4e29f3bc68b51ebd0000000000000000000000000000000074400e3b8c4f91bb351898bd47aef9bcc7cb873b937d97bb1fd18fbdccf2dbbcd3699a3b6187c2bb9aef77bd50efc8bc29b4813bf386febbac3051bdc4fa9fbcafe3ab3a20d529bc491a30bd46cf48bc1fb3363aa1e929bc40ac03bdf548c1bb710678bb407623bcc746aabcb3a5eb3a0000000000000000000000000000000000000000000000000000803f00000000c58ca6bb2a0346bc44f08c3fecbacfbc5b6638bb7161343ba5ab6a3fdf1288bc417ab5bab101f43b5a343e3f2cd65bbc5666f3ba003c143c090c133f8e947dbcc24578bb53a10c3c2242d33ee0f0adbc2bedbbbbb090683bf647823e695eeebc84f50abc568d40bb0ac1d03dd3a217bd00000000000000000000000000000000000000000000000000000000000000001e258f3c578ecbbc90a01bbdb2e219bcd3db3f3c168cebbc60190abdd7e41cbc81bc173c8b7ef9bc845df4bcf86d17bc308c8c3b4ee1e2bc5f6acabc54c7ebbbfb0d363aa362debcc294a8bccbe058bb2a6f36bbc6c2c6bc943a69bc63b6dd3a8326bbbb9df7aebca50c05bca92b073c00000000000000000000000000000000000000000000803f00000000000000000fbee73c59e47f3f6d13c8bb1c5483bc64d5013d4d15593f3c0cb8bbe2f776bc980cfb3c105d333fb82ccebb839471bc1b95f13cb48d0d3f89992cbcdb2178bc3302d33c1183d13e4e6b81bcbb077fbc0b07a63cd900883ee241b0bce6b467bc67d06a3c8016fd3d6fcaf0bc4b5f55bc000000000000000000000000000000004d709e3c3718a0bb6a410abd57ca3bbcae2ab43cd378acbc9b823dbdab305dbc3443a33cab8bedbcfac63abdaef87ebc47cb763c70e0ffbc03cd2dbdb5846bbc332b193ca782ecbc51f410bd536240bc58e29b3b346afcbc4e18f5bc98699fbb3ecf80b953c4e0bc611fadbcc1088a3a81df19bb750baebc4e252ebcc304ef3b7db442bb3d8344bcd0d978bb8e2f133c1a44bc3bbf0e7e3fcec5ff3d087399bc9d90943ce1966a3f8b4fe23d539ec6bc864df23c10de483ff236c03df020c0bc47c70c3d3cb5263fc6a19b3d3d15babc38aeeb3cfdc5023f56fb5c3dbfbcb0bc600dec3ca986c33e3dc2f03cb316c0bc9fafb53c0d087e3eb9a7bb3bcefdafbce23a843c75f1ef3df26d8dbc82d69fbcd6341b3cb9465bbb0faaedbcc86347bc5d648c3c05cb5b3b267cf0bc61648ebc675bc73ce8c2dfbb70a943bd8a06bbbcf42c8e3ccdd06fbc616726bd8fe7b7bcd30f923ca864b1bcab8c39bd492fb2bc65683a3cd4f7a8bcd88111bd9c127ebc6f23063c647fc2bc1a360abddb292dbc25a0623b31149ebc7f10bfbc50cf60bb4ea3e139f57291bcf11785bcdaac893b12cb88b91cb717bc9fa1d6bbf6f1dd3bb5c498bb040a583fd02b873ef5fca6bcdea0f43bc584493f2ac5753eb9c8e6bcb45b733ce628293ff892503e15c1babc904cbc3c1e88113fd8aa2a3e99fedabce498b13c9782e23ebfb6003e2850c1bc6f53b83cd4f8ab3e7610ad3def27debceb988b3cfe7a603ee47d403d46f8bebc5f13753c1a8be13dc7df703bebefc1bc8722113c0af48a3b0265c1bcbf4f73bc134a7d3c4b8b013c3755d5bc0a1ec8bc41d0aa3cdb124a383f2030bded3b08bd32c3ab3cb39b0fbc5bfd40bd935806bdda35913cf62c69bc7c863dbd9d72edbc2e36733c54f796bc35fd26bda021b5bc4eb52b3c732493bc1c9716bd7c6688bc0c41a93b4e0e95bce089ebbc77d101bcb060f23a1f6d7abc1a12a1bc02d3813a32898735b554dabbaf5a10bcbe15533bebce05bcd545323f0ca9cf3e8f73a0bc2d3f1abbd8bc263f66b2bd3e6d5be4bc2318073c418f113f4dbda23e7fe0dcbcf1836f3cc82af43e816f853e8610e4bc0f81963cace2c23e346b4d3efc2bf3bc0c7f873c9653933ea749123e0a4bfdbc8c417a3c9e17443e84b2a93d07e1f2bcb4c1433c17d2c93d506bd43cc027e5bc9f4bf13b3722253c1675abbcd6b5a1bcbe4a433c272d1c3c5f87c2bc8fcdf8bc2bef983c7512c73b978c25bd2b132cbdbe0c883c388248bb16f82fbd489718bd4d3b8d3c84a9ffbb03d93cbdef8116bdee44303cbcad03bc0db605bdbe53c4bc97962c3c3b8365bc93161dbdd2e3b1bc2292983b5a4b56bc736fe9bc454339bcd5252a3b765044bc476fb6bcd50537bb4c115eb8fcab06bc189234bcca452f3b38cc48bcd1840d3fbb7d0c3fd21c99bc3ef201bc6efd033f2db4003faa5dd5bc73f43b3bb681e53e0e7ddb3e8134c5bc982c033c3389c43ec172b63e2c58dabc86051c3ca6f5963ebaba8a3e46b1afbc9edd4e3cb8c9703e5ad14b3eb8a500bd86713a3c69ba1e3ebf1efa3d91f1f0bcebd6163c33f8aa3db67c3e3df8a000bd070abe3be7f61e3c0d0380bc3439aebc1ae60c3c3810443c020bb7bc700319bd807f743c4caafa3bbe2c24bd7e0850bda67d873ce4ec023b470a41bdf3a64ebd2165833c25c098bbf60043bd38db34bd85f1703c8daae1bb51b33dbd068714bd2ca8123c33eb24bcfc1823bd95f2d6bc5560b73b7eea4abc8a230abd9fcf82bc0d55513a244044bc91a4b9bc792e96bbf0f282ba9a3b00bc91434fbc8cf67e3afcb073bcbfced13ed5e5313fb05f79bc60a333bcdfa4c53ea0da233f2456bebc0a8f9bba650baf3e05cf0c3f842cb4bcf0c9a13b33c9953e17e7e73e9a86cfbc0668053c04c7723e7eceb43ea00adebc24eff23bd6d1393e08cb833e619401bdcd1ae53b8a05ff3d48da233e859d0fbd61c58c3bd996873db792893d887211bd2867293bf158113ce37961bcf15bc7bca1bfbb3b771f283cd90faabc5cdc2cbdbf413c3c27a8193c385522bd222875bd53114a3ca4ee7a3b67ae26bd04784bbd944b553cb2f471b91b4547bd834755bded4a1d3c928381bb8a7022bd4fca19bd45ea073c9a4cecbbbd0c2dbd6d3302bd71345e3bf39d06bce748fbbc9c2a8dbc0bd529bafe2f60bcb69fe6bcacc687bb3c5121bb2b5ae5bb70b867bc7e66223bfc8581bc59b2893e665f573fdfbf51bcdeee4abcb0ce823ec1dd463facbc8bbc6e4e41bb2207683ee5f3253f368076bc44578d3a24134c3eb6ef0c3fb59d9abc3b156b3b9397233e2aa7d83e36beaabc52a73a3bb77c013e46bba03ead7efcbcac45323bd84cae3da1614b3ecee8f4bcda0f09ba0255403d88a7b03d4c8921bd86058fba6d2fef3b8ea24ebc538deebc6aec863ba3d4273cde4cb1bcbb424fbdc65e163c227b203ce7cf30bd3c4a8abd8426343c9f6db53b864542bdcb0682bd12ab413cc8343c3b64634bbd975b6dbd94250d3c2af2263b859c33bd59be37bdd1c5e83bbca99abbe17a32bd510510bdee784d3b8a1213bcc91c17bd06e0b4bc732443bbd8ca24bc9311dfbc75f7c6bba62699bbe1020abc364f74bc782ead3a98d566bc59ae053e398b7d3f383987bb52b02dbc2be0033e9208693f570fd0bb016c67bb9ee5fb3d6755463f44b6d6bb0e06103a0456e03d4f95233fccc143bc7ae3523b950dbc3d69fbfd3e29aa9abc5574c939ff1d933d12d2ba3ed620dabcec527aba8933553deef26e3eec730bbd852c88bb4f34db3c8ba9d03d9a1824bd480785bb4a88923b961e73bcf4c704bd00000000000000000000000000000000003ef93b535a163c7a700bbd0a3174bd86921c3c6b9fe63bd72718bd99885abd67e51e3cab569e3bdda717bdf81541bdd490d23b35ec233bd7690fbd17db1ebda1a3e53b4e90d6ba9df005bdabc3f9bc28fb2f3b76cc8bbb3f7ceabc1cbca3bc321d1dbbb8a900bcecb5c5bcd4ee14bc0000000000000000000000000000000000000000000000000000803f00000000e5bba2bb75ce173c18757f3fe593c83b85c4e2380fe9883cd8f0573fc96c3e3b3bd5ff3aeef0a33c7232323f6127d5ba39b03b3b4445a53c1c830c3fb2ee0abc8b72c63ad7f08f3c33dbce3e9faa79bcf392b6b954a14f3c20e5853eee9fb6bc215945bb132d033c70e5f33d205701bd0000000000000000000000000000000000000000000000000000000000000000970c783b33e111baf8dceabb493410bc07bc423b629ce1ba3f5ff0bbe0580ebc6f6a033b00d533bbbd26bcbb0c22f3bb0716c63a61dc22bb451fcbbbaf41ddbb15f4403a502853bb9bd5d2bbaf12d0bbea73b639f70153bbff05b4bb7e2498bb4af5abb96b8846bb723397bb3aba37bb00000000000000000000000000000000000000000000803f0000000000000000e64fd93b30e3633f663f183bb5e624bb0581ec3ba566433f83d2da3aa9aa4abb6aace83b8dc7223f1888253ab30882bb629bd33bd81b023f68edc9b8545375bbc2a5cd3b2d60c33e1286b0bafbf793bb9bb2bb3b6c60823e471124bbbff098bbb8e9b13b6536033e8fe78bbbb47ca8bb00000000000000000000000000000000899b743be1759e3aafb2bbbb05b702bc1814993b957db439ccf10cbce05d3bbcb1e1993b49cb0bbb752e20bcc57f43bc1dc1613b977903bbe5c019bcd0f63ebcd277173ba02b18bbda2103bc12661bbc1d16f33a19504abb4a3d08bcc18513bc8e25ad3a183aa0bb03a7ddbb66a1ccbb57cd2239a97164bb1d06cbbbad0b8cbbb0d458b9aec427bb100585bb08bd13badb1b803b585d633faaef023e5145fbba609ddd3bcc87483fbbe3e73d6df250bb41c5063ca24b2c3fe70ec83db7ec9cbb46e60c3c05b70f3fff66a43d815394bb1b6ff23bd16be53e665a813dee3395bba32c033cadf4ac3e4e2f3d3d406eb4bb797cec3bfe41673e0677df3cf162adbbd3eabc3bf3fde83d122c3a3cd8f0c8bbad16723b6cafe53a4f7480bbf0c993bb6b09893ba5a92f3b6382cfbb2f4f19bc05b2a33bdee9cb3a3d1d0abc593351bc2a637f3b09ace737225d00bcbf1739bc4b9d7e3b6a3179babd401cbc8e4055bc51ad343b1a81adba2b2bf9bb36ca1fbc47683d3b12ae0ebbdd5214bce29d2dbc9c3fb83ae29313bb1b19dbbbe06fe4bb204af13a0a195ebba359debb8367a8bbfe535e38c72ffbba76ac68bb1058f6ba8b834c3b032c433fbb82813eaa8345bb2175b73b69622c3f0925663e56a24bbb4cb1c33bd48b133f3d6b443e3a2f54bb342df73b3785f83e81d6233eeae194bbf5acd43b3557c53ed6d1013ef51389bb9c9d063c95b1953e17a6c13dfe6abebbce1bc23be715473ebcd07b3d73e3a9bba656d53b8161cd3d872fe03c57f5ddbba05c5b3b7dca233b258f47bbd2208bbb8eae5d3b3ec21f3b506699bb14f713bcce41a03b966b083b3c4307bc368c69bc41fb9f3bad36803adf0612bcf22f68bc7d91853b71a88ab8250816bc624662bc17d7503bc3e349ba4a3207bc548a3cbcf193373b365dcbba3cc217bca1a03fbc462cff3a2d4af6baa140fabb280f0fbc4cd3753a053d12bb7ef6d5bbc583c6bb60099b3a13d323bad2289bbb3daa68bbb489043bcda1223f5800c33edc31c2ba2651983b25f90f3fbf2dac3e926343bbb6c2d73b19e3f73ea692933e491e5ebb6917da3b592acf3ec291753e1c3986bba2abd23b71c7a53e8673433e987d92bbc6ede73b29027b3ebaf8113e6e20babb6a62d03b9180283e98f6bf3d6485bebb04c1a63b493eac3dcab8373de6a1cbbb5bee843b4556803bbad05bbb42d8aebbad824e3b8242283b1e8d90bb215228bcd71c953b74be2b3bd06dedbbf8a070bc7c948d3b01debe3a4b6201bcccec67bcb1cd883b95c9043ad53c11bcf5f470bcc96d633bb7bd153a635601bc8aa739bc7be23c3befd352ba0fb309bc3d6440bce5f7043b80c4b6ba5583f4bb938218bcb5f6b13af4e4edbaef5fddbb0a81f0bbc817233a6779beba24d184bbf1d862bbad53ba3acb34023fbdf4013f3f99a3baf667673b7aaae63e1643e53eb8b80abb23049c3b0683c63e3162c43e4b272ebb19b4c03b7499a63ea4b9a33eb2ea6ebb7fd4b23b67e6843ed168823e4d3295bb6829ca3bdc814a3e7251433e7905a8bb24a3b63b2930083e9b05013e3865b5bb7359ac3b654e8d3de4407c3d48decbbbb723603bc4e96a3ba6b1ddba3d9e92bb205b613b69bb4e3b5d937bbb323835bcbb78773bd1be873bd567cfbb60b882bce607933b391df93a6e9203bcab7683bc422c913bbaf2a73a9d9f0dbc8ac880bcebff683ba561bf39420405bc94055cbcf2614e3baaa7a4b9b7c90cbc2f6154bc7c38463b902d10bb941b12bc98c43bbc977dc93a041ec3ba1905e8bb889308bc37b2033ad744b0badfef8fbbea3494bb9d5fdf3a0cd8c33e74ff213fe52a92b9e9b72f3b958dad3e28290f3ff2f7e3b9aa9d903b8305963ef1b1f53e221309bb9fdeb03b80837c3e1ae4cc3ea4523dbb8e5bad3b4b834a3e1c46a33e06f369bb154ebc3bc54e1a3eb7d0743ee3019dbba9c5ba3b127ed23d5b30233e2433d9bb13d4a23b6a135c3d102aa03d0475cfbb2a574a3b7b28733bd5ed91badc4d9bbb3d5b133b256c0f3bf82333bb496039bcdfdb993bda1f643b104fdcbbe6e390bc65b0783b0c1c063b35a9d7bb7d2d70bcdf6fa33bce86ff399bf018bc8a498ebc6141543be5d35d3a55d3e9bb388753bcb4704c3baed346b8bc1910bc045e66bcbe85083bb11f0fba48b4debba0e822bc8150bc3adcebb5ba9cffebbbfb2b16bcd0fe5b3a8efc94bade6298bb7a3d77bbdc18113ab0c7823e37cf423f4bf7b63a5d69c73a2f966a3e6d072c3f485e8eb966f75f3be35d493eeef8123f8fea68ba58faab3be9f92b3ed335f63e095253bbf3128d3b50c8083e8c9fc33e2e4129bbf718ab3b5191d33dd8fa923e532196bb23c2893b946d8e3d2cee423e7ccc95bb45fd903bdeb31a3d468dc13d1e2bd0bb711a573b747c823b50e2efb9cacd9abb3756213bb4ca393b2fb740bbfb2b3dbc2f89723b5da5423b40d5d6bba10d84bc6e9b913bc6fc3b3b9631e9bbae0d8dbc1bd5883bbc63073b864a03bc7ce38abc92715d3b702b973a171be4bbedce58bc8b425a3b5c3fa8baef35fbbbfe8a51bc722b2a3b601dceb99b54fdbb84c03dbcbab8b43ae49f97ba3561dbbb9b7e0fbc5f3a003ac280a0ba23628bbb2edc9dbba58c043a787b043e3f60633f9c37c03a1daf0d3b2a3cf03d73eb483f4add443ade567b3bc2f5d23dd4d52b3f7c6f013a4bd88d3bd8ffb33dc0310f3f343a4ebabd13883bac24913dd349e43eeb2eefbaef009b3b5b6f643de58eab3e2bf157bbecc4a33bcd52203d7d22643e33589dbb1f2b773b8ad4b03c9588e23d0d98bebbdf461b3b4c7c5d3b511001ba2c0e9abb00000000000000000000000000000000e76b753b04316e3b28b4a0bb877374bcf474643b7f7b243b5860b6bbc04461bc7e307d3b2ee0da3a4e11c7bb9b0a54bc09db3d3b9661933a60f1bbbbb04938bc521c213bb102083afe52cabbf3b92cbc51c6033b3d0903b95c83c7bb76d418bc5026993a616374ba913cbabbf596f7bb0000000000000000000000000000000000000000000000000000803f0000000002e675b9f538d23bb911643f75c2033bdf3f2d3b0110d83b3b3c433f5735a73a57db413b6bd6dc3bfe0c233f4f1703395df3523b03e6d63b0cdd013f739c84bac293563b4736d53b28ccc23e7fd111bb7a255d3ba108c23bafbb813e8c0f63bba458423b005f9c3b6811013e803299bb0000000000000000000000000000000000000000000000000000000000000000d13dcf3a5a7516beab3d48bc7317723c613f03bcb2120dbecb2b97bc4ea28b3ca2f135bc66d3f0bd341dc9bcf0b3443c37cf59bc0b8ec0bd2152b0bc26df223cfe9f3bbc236b8fbd494973bca851ec3bc5d201bc081f37bdccb1c5bbae82943b4bd32fbbe5dc8ebca485da3ace569e3a00000000000000000000000000000000000000000000803f000000000000000036d992bd761aa33f145fa8bdec99ab3b77a4fdbc0508873ff3f154bdfe326b3a575f83bb1093593f7ec1f3bcd8e665ba4151193c95f8233fa962bcbc30b242bb7c4d4c3c0cbede3e7c81a6bc339db8bacedd103ce846733eea878bbc5eb02b3bf4be6a3bfb504d3db5d49abc92bdcc3b000000000000000000000000000000002f3cee3b11a0a9bd5e530cbc3dc7c73b002a863bad4912be5685ecbb1b4c6d3ce45d0cba565a19bece98cfbc1a04943cc8cfdbbb79f706bef651fabc39e3923c8ab603bc3457d2bdd16fecbc3ac94c3c02bd0bbc26319dbdaabbabbc84c2353cb7e3ebb923e744bd7aae32bc2806e23b1333023c56e186bc498a27bbd0ea5d3a4dd0e03b6591a93bfdc6b23b05483cb9569c12be999ca23fe9cc553d5e9c9cbc71b115be37a89b3f04c8043de06173bc8f1fbabd8a20873fb5d9453df94894bca9cb56bd62fb583f5ee7513dc9539cbc6435d6bc1fbe213f19c6303d7a1476bccfb569bc8231dc3eb7e5e03c0abf45bc878f2cbc72af6b3e5694303c377fb0bb38f2cfbbcdd83d3dcacd5c3bf2c9223b2e2806bcdcd994bd4d6c98bcdc8c763b67a8ee3a07183dbd89107bbc692e853b8738ae3b47c3dcbdc80608bd55a2633c99a2523bb2b0e3bda59f3abdf8115d3c247205bad664e0bd47ba3dbd3fe16c3ce87612ba4f44aebd67f823bdac76273c0f1b4fba1ebd8bbdaa7ef3bca3ae253ce2158e3a916f2fbda7f68ebc4985fd3b4773df3b1467a2bcc5d09dbb86b0b83b7298da3b42b5a03a0311b13b3afd4e3b74790fbe2d5c873f7f4d7a3e593645bd00cf1abe4f0c883f14d1643e886e5ebd3549c6bd9b9b663fbb49533eaf4135bd371196bdbadb413f897d2f3e46a925bde15730bdcd67103fb8d3093e71810bbdeb180abd6ffcca3e5480ba3dd7e4debcf2d6b2bcf522663ef0b5493d151ba2bc880f80bcc9508c3d31f52a3c554b02bcc24648bcae5e12bde4cfa3bc5a507bbb7fe71cba862bc0bcedcedebcb88a23ba00b3c33a85519abd52a55abd3f5a2d3c92bd453bcb4dbcbdf0b185bdaccf4f3cb566003b8a29b2bdc3b580bd7eea333c56df6ab9878997bddad765bd9db4223c9762dd3abbe370bd27b921bdec83173c17d7373b28701fbd5727c3bc4865103c20039f3bb8829dbce996e6bb53ec143c01d4943bc68340bb7b0c613bb3d6b73bb3fff7bddf465c3f8f8fe43e5b179cbd422f08be88dd5c3f5c3adb3e6e8caebd5c59cebdb4ad433f69b2c03ed7ee95bd8d4798bd3d62213f32369e3e15b47abdef9250bda594fa3e559c733eb4095abdcd471bbdca5caf3eadfe253e7d1629bdbe04f5bc3ca14f3eeb49b53d79e001bdb089abbc4bc7993d8403bc3c6e769ebcce6673bc5b885fbcb6aac4bceb4244bcbe9679bb0c701bbc4cbc17bda134edbac0905d3948d644bded6994bdee9c0f3c4341333bc23d7ebd165aa6bd938bcb3b829b3c3affa98cbda506a3bdca78073c4ffda63a241344bd52f863bd7cae89ba0615d03a7b6649bd2e7257bd7bc5133c34470b3b866b09bdf8a1e4bc1bf50b3ce513a03bc90592bc073b30bc0ee84a3c28e1753b0b433cbb3aaa3e3b2a6e183c1cacc7bd7a27273f9285263f043ac9bde985d8bdbdbc263f1c59223f87c7e8bd0079a1bd4563133f4fc00b3f4186b8bd11fe82bd2bedfc3ec723e83e4b7fa3bd472f0cbdeeaeba3e360ba73ee99f5abdff7c1dbdbd2b923e91a6703ead4c62bd5d18d9bc032e2f3e2db3013e5a171fbd628eb6bcc956943da7af0d3d3f5ce5bc99bd89bc885115bbae0ef3bc2ce4a2bc2f497bbbaf2e4fb9e13c49bd6606c8baf4e8a63a670f07bd356bc3bdc811403c0278863b32ff4dbd64b8dabd087b333cb4f46e3b495057bdafb1c5bd80f8f53b31b8a83a69e045bd864fa6bd1386cb3b165a6f3b0bf62abdd3786cbdb18d0f3c29e67b3b0a66f8bc6aba0fbd0b92473cec9ba83b4a6486bc02d744bc9d72653c2e9e463b3d082bbbf6df4b3b824c383cf0569ebd6e43e53e26935b3fa008f5bd1992a8bdfcb7e33edc36593ff97d10bed7ff88bdb2d4d13e5ee23c3ff955f0bd65175abdb178b43e0d06183f3415bfbdd83726bdd744943e35a8e43e478d9cbda5f40dbd6387593e4dee9a3e761977bdaabce0bc634d093e0e86283e820241bd2228a5bc7560743d6d9a323de8c8f4bce1ca63bc4cc9be3af37d18bd4db7babc788e39bb5893893bef0d87bda0b6fe3bd402583bc4a1a5bc09b7fabd7cdaa23ca6bf923b29c102bdbff7fabd1b8e0a3c07be893b19dd19bdc1daf0bd9c64f53bb480443baf8b0cbdb9eab7bd3587313b82688e3be29608bdf75a8bbdce77113c2cfd823b0be2c1bc1ee422bda78a293c4effae3b945f42bcef7f55bce4fe553cc152713bbc440abb4a2bd63bbf6b493ca72b4fbde0687b3ea068873f121910be04155bbde49b763e3a75863f096325be322e2dbd95f4713e2f31623fabafefbdfe101dbd50e95a3e43df3a3f44a1ccbd9981f2bce56c383e15cf083f370495bdf4fedfbce5430f3e5fabba3eefda7dbd3feda9bc723eba3da48b4a3e7e7f38bdc97e66bc5e3d273d68f6373d4744c7bcb6ee1bbc8d902d3937575abdf6fd81bc92f3bbb9c2c6623b40bbc3bd910f693c0e180a3c915f1dbc543c1ebeae140b3dd54bdf3b1613b1bce88021be3a437a3c29f8ca3bc245ecbc66340abe1c92aa3b01d5b33b6ec1ebbc6158d8bd5019dd3a5245c93b0460c7bc8be1a0bd1797a43b1e0eb93b7cbc97bc364e40bd6c93313c763ee03b9ceac2bbc4cf40bcecb6123c04aff93a6108be39597f023c7953423c7f89afbcd9405e3d4877a23fdcf714bed7cb92bc0cbf463d0c7a9b3fa8f822be9af1adbc6b44a13d54a0853f5506efbd649da3bc03bfb33dda8c553f3d8aafbd219494bca0fcad3d90de1d3fc7f480bdd34a94bc69bd8f3dedacd33e24b94cbdac3166bc4f7d3f3dacbb5a3e096d0ebd6ff680bb6503ad3c53b9103d8be4d7bb5130a1bbf4c39fbb3893a6bd4bcd58bc00000000000000000000000000000000cec1ad3b132df7bba44017bea29f103c9195dc3b68e980bc28870cbef211d3b96179bf3b688caabc9b16f1bd0f3b25bceda27a3b488aaabc84c5bfbd885f39bc635c853ba98d9dbc21dc8ebd91ddb3bbea079b3b8f5d53bc980e30bd0c71f9392f45343bc55ce2bba07080bc9232ce3b0000000000000000000000000000000000000000000000000000803f0000000057b43a3b50fd8dbdf1f6a23fabf8b6bd9fde65b93e47e6bc37b1863f8e7862bdd7db34bbebf4b6ba23fd583f6a3419bde11883bb850d363cad3a233f13e0e3bc8f05b0bb40924d3cf7a2dd3e91a5c2bc18e745bbd4e00b3c27c3713e395788bc7602c3bab157d1ba9242483df31076bc0000000000000000000000000000000000000000000000000000000000000000428440bc0c13ddbda76ecfbc1a37b63ca29698bc9077e0bd8686c9bc87d5ca3cacd8a0bcfd26cbbd6d8de8bc283fba3ca445a6bc10e6acbd72fcc3bceebba23cbd4ea4bc79e18cbdb8a681bc3385873c63297dbc055e45bd2628a9bbe2b5403c2df5f5bb73e9c6bce54d9c3bc7ad9d3b00000000000000000000000000000000000000000000803f000000000000000025e4b3bc811a993fba5155bd411a55bcf685473c8d9f7f3fd4e120bdd12481bc00ab043dbcfb503f8c12fdbce3d599bc8285183dd29d203f7622fcbc2cdf8cbccdb5033d4e44e33e15d103bd6f364fbc84809d3c14f2863e7c2608bd42ccc0bb11f5003bf2aaaf3de31216bd034a323b0000000000000000000000000000000059e62bbbeb0949bdc7afdebcf5564f3c88b666bcd937d9bdef98e1bc0bbdd73c5b0782bc06d9f0bd22b314bd1e5cee3c9e9c91bcf9cbe2bd9acd12bdb119e83cf2378ebc7f6fbdbd065bffbca991c73cca1680bce5539bbd2203a8bc8939af3c6a8d1fbc0f3252bddc131cbcbf696c3c2a028a3a2563afbc79b4d43a6bad613b2d32683bc6d3c2b938f90c3c81b9d53aa368bfbdbfa4983fdbe7ba3d779508bd2809b6bde983923fb97e893d203c06bd15760abd66ed7c3f2269843ddd9213bdf7fc7ebbd51e4e3fd04d563d238910bdc089513c66931d3fa07f103d6c8b03bd0985313cafc2df3ebb575b3cf748cfbce7f2633b560b833e6944bfbb910d7cbc066b2abc8a05b03d60e4a0bc6455b4b700545cbc7e9f28bd09880cbd5e77453be57b8dbb05d1b3bc3653f5bc25c9063c847607bc4fe798bd0d5b42bd52f4bf3ceeeedebb79c8a2bdfa0f59bd0350a13c30df27bc3303bebdc58c55bdf8d2e23c16cd3bbc5c099bbd19182cbd3795a03cfc042abcf88c8abdf33304bdf7cabc3c7c96febbb08336bdb76c9ebc2950813c512280b7bb8fc1bc305796bb6834383cde29223bfb0a16bbae64903b3da9cd3b85e4cdbd6450803fdf09893e359d5fbdb183cabdd67d7f3fcaad763e42f488bdc53135bdb519563f3514593ef0406bbd995ddcbc3d93393fd1982a3e28876cbd415fd9bb877d0d3ff4b8f93de12142bd31bcbdbba949cf3e72ab9b3d67bb2dbd6b0093bb43a27d3edcde093d37cbf8bc599c5fbcf1d3cb3dd117cabbe9de7ebc19cb5dbca0d668bc8455ffbc30f0c6bb4ebe38bb1e94f8bb40dc12bd36a081360890ccbb273750bd6e6075bd92008f3cd599d0bb00ca97bdc0b58cbd531ab53c47badabb40a09bbdcd9282bd7290b33ca047f6bba3f190bd371166bd2b13b13c22b201bc6e4977bdab7d2abd001ab83ca5f7d8bb6f3337bd3dddd2bc2c9fac3c0afb48bbe230c8bcb0c710bc0585873c59b09fba9a76b8bbdbb0f13af14b353cc658b6bde17a523f0ff6e53ea6d691bdf65bbebdba03523fd438d83ed91fb8bd68e271bd4c6f3b3f60f1b93ee248a7bdb56e14bd58e51c3fe98e953ee1ce97bdd5e29ebc2200f93eed33603ec0ef87bd1c5163bcf55ab63ebc50143ea7d969bdc81061bcfbdf663e8d3f973d6fd33abda32c80bca455cf3ddc4b453c9124ecbc641745bce1c2a13a729106bdd2c28abc0d1ba8bb59e1c9b9802a26bdfd526ebbda3a9abb54880fbd9f4b90bd763a303c6dad3bbb453455bd84249bbd66103c3ccc709dbb4a5981bd81349ebde1138e3cf33212bb8d3c42bde6c26cbd67e0953ba19dcebb9fb65bbda86053bd6714a63cd7cbbbbbda7d1cbd101f05bdf91a9b3c34d267bb093cb7bc78825abce633983cef6932bbdad7e8bbdc42103a78da6c3cf2e4a2bdecce233f8100223fea88aebdc0eea5bdcede223f99691a3f2157d7bdd6604fbd7345113f6f01033f37eababdb2ff17bdbf5efd3efc59d73e32acb3bdb35d49bc36b2be3ebe5c9c3e187780bd1beb98bcd54f993e36225d3e50c78bbde6617abc42de423e4152f13d3f0f5bbd70da87bc3ef5bb3d18c0f73ca93d1ebd46e24cbcbf130a3cddb608bd4ae8d4bcc29aaabbfbb30d3bc50d38bd6ea6d6bb380090bb9c83eabc1d71acbdb16f493c314c2dbb194443bd3b86c3bd9fe3573cd5ce3cbb06b45abd2b2ab6bd2e57763c365173bb380359bd69149fbd7b5a7a3cb08288bb5d6a42bd5e2f73bdc94da93c00acafbbed3019bd978720bd3765ba3cc30f5bbb1806adbc064285bc4e5aac3cb1f97dbba3f7f3bbc46b8ab9b83b833c25338cbd91d0e93e3af8503f5974c3bd14ae90bd505fea3e63974a3f9d1afbbd030d4ebd5d57d93e96772e3fc33edbbd3a9a15bd6898bd3ed7b30c3f6149c4bd6fccd5bc486f9d3e2523d53ef0c2aebd8e60b4bcce626e3e629b913e767299bd38b4a1bcabb01e3ed504243e7a9182bd96fa91bcf4769a3d40da3e3d45b737bd378755bcb073113cb78311bdbb1ff2bc1881bbbbfb10253936a15bbdc724b53a35bb2fbb2a31d3bcfaf9cdbd1d147f3cf61d0739cb2912bdc028c9bdcd16873b314fb5ba88fd3dbd4943d2bd6e66483c9f0e45ba029b2bbdca1fa8bd0650163c736763bbe07d2bbd05a18ebdada3a43c23ee48bbd7a8fbbc6da92fbd1c228c3c6904d5ba144f8cbc19b99bbcd1d3ac3cfa6b28bb7a2f8bbb3d5f083aa0788c3cc2a856bd021d8c3e458e7f3f7661dcbd887e59bd183f8e3e046e793f8df907be6d950dbdedcf883ef4a14d3fdc8bc6bd20b000bd1d237c3eac852c3fa18ec4bdbfadb3bc5011533efc19003fa5daa3bd016db3bcc7ca273ea9e6b33e7a829fbde0867dbccf34db3dba424e3ebecf77bd9b2481bc0d925a3d0ff66b3d869037bd47b13fbc6f3c8f3b9fb92fbd402de2bc57387fbb45c2babbbdcc91bd641894b95e2a953adedbd4bc52bafbbda9bdd63c6b10083b4fef10bdd5dc01be18e14b3c1d969e3a42ea23bd1f75edbd1fa8163cd2224239fd3c1cbd343fc5bd49f3e43b5032abb90f6f0fbd9d889dbdf1aa793c0e5372ba67a5d5bc5c6a4fbd20df9c3c6da7203b83e32bbcfa439dbc7c96943c26873abbae1c6fbbc547933a2be6803ca62405bd6f13c73d9c78983fbf90d1bde019e4bcca41d23d13ce903f173c00beb819bdbc1653fc3d5c69763ff2c5c6bd6d3ca9bc5555023e8d98463fde49a8bd44e48bbc7654ef3d9444153fca6b90bda7428abc3ab0c13d4ec5ce3edae688bd015e83bc73e1823dfe04683eb2286ebdce3a31bc9914d53ccf397c3df66915bd181722bce9bd97bbfe5b6cbd7addecbc00000000000000000000000000000000075b3c3b6d049cbce7c1e3bddc846dbbe6bbb03b8730cdbc1fccdebd56b3a5bb73588e3b7bfadcbc09e3cabdda1b46bc9826523bf696dfbcc52eadbdd8c31fbc0231093be6cfcfbcbb7b8abdbcab0dbb527dcd385cec94bcefc944bd32eee23b34867aba1c8b46bc37f2c7bcf2e34e3c0000000000000000000000000000000000000000000000000000803f00000000026cdcbbec81c1bc1d81983f1fce7cbdb917acbbb8cc0b3ced7f7d3f330e3fbdb04aa2bbc7eeee3c9b124e3f34901dbd6fe3a6bbcc89103df1201e3f5b6919bd055adfbb850f043d439cdd3e729a22bdcc31b9bb3566a93cfefe823e35b720bd8c7102bc73d6743b8096a33d322918bd00000000000000000000000000000000000000000000000000000000000000005fcd5e3b6c6415bd4b3500bd99d8873b27bc55ba325935bd2d21fcbca9fcc23bf5e684bb689d31bdefa3f5bcd353ac3b2c1301bccc1d24bd764bddbc3327c73b621c1cbc87161ebd864cbdbcaef4153c2cfb44bc7eb900bd4d0b7dbc0dbc513ca3db46bc5d97b7bcb22213bcb54f663c00000000000000000000000000000000000000000000803f0000000000000000700dbc3c5231833fb80e15bc4495adbc6b2b063da5665e3fe3dde9bbde0caebc3a5d1c3d39b2373f67ec0cbc5891c8bc30b6153d50ad103f9c7531bca612c2bcf4cc023da8b6d53e342d83bc3396bdbc89dcb83ce918893e1627b6bc60749bbc54522c3cb187fa3d6824dbbce16977bc00000000000000000000000000000000cf88193c1d651ebc30e8e4bcf4ac35bbfb2e533b547408bdb40b18bd41bd113c55e973381b8136bdd5f521bd3453e83b91aa43bb48f341bdeef61dbd96b9fd3b42589dbbeb5a37bd2ac310bdc6b1173c59a730bc464f32bd96afdfbc8b4b5b3c872645bc14ae10bdf6f8a1bc0b03873cf23332bc41bbaebcee1215bcdb798b3cf390b6bb4e2e24bcc50b1fbb66a7523c956302bc51d8823fe6b8013e5d93d8bca04c923b9099733f11fbdc3decb615bdee59cf3c237b503ff111bd3d289710bd9e19053deb232c3f01e9963dc21f10bda77c103d17e1063f03f3553d251f0ebd441c023d22e7c73e603ee43cf24304bd528faf3cf7e7803e38f6b33bde2defbcf996023c064dec3d44bf7bbcb800acbc8ad4cd3a863faebb2876e0bce9c56bbca9b2e53b1394b23a56a1bfbc6ffc18bce6e6a33bfd209dbc7d541ebda2d6a1bb838db33ba484cebcda951ebd31ae19bcf7a1e93a2a5718bd596630bdb1e986ba615c0bba5bb712bd7f4215bd44f879393b22ccbbaddc17bd570e09bd28d0103c6ff0ccbb0720dfbc6367b9bcf8e7c13b82380fbc4dfab0bcc52f65bcab68813cd597acbb63d1ebbb03b89fbbeb144a3c42f094bca17e5e3f4af4893ee6a4fbbc45c213bcbb92523fe1d8793ea4a831bdb0aa443c9863303f61ba533e1b8e0fbd4847a33cf13b183fdfbf2c3ed4cb2bbdbc6bd13cfc10ee3ee8fb003e5e2420bdc54fbd3c83f5b33e6919ad3df47b24bde8eb8b3c1f29693ec2dd433d965b04bd7038093cadeae73d6e9e813b97c7f1bc1849213b8cbc873bc412cebccf3197bc6dc3063ce93ce33b6fa3c1bc63b7a0bccff8dc3b492615bca02d1fbd752680bc68d8d73b5076b8bcebda3cbdf0bf56bc285b6d3b5045f8bc2f793bbdd6140abccccb62ba62d201bd00062abd8c5be5bbcb6e39bbfde102bdb3ab18bd09a52e3b8dc4efbb8d47f3bce1c7e6bc5c78243cf42a10bcb36a9ebc67b692bc8dc66d3c3f62a1bb8e4126bc5aaa0cbc1945473c450db3bc2894383fa339d63e6bd209bd63a467bcd4442e3f7b26c33e98373abd54c34e3b2208193fff52a73ecd583bbdc26e5d3ce2e0003ff045883eda7039bd42c38e3c1f5dcf3e8edb533e45f434bdecbd803cc5599c3ef856133ed58735bdabef613ce2d44f3ee274a73db93d29bda71ab23be13fd53d1ebcd73c54b016bdedb4563b7b8f293c1dbba4bc7186cfbc4893733b3774fe3bed78afbc89f8cfbcfc12c23bbb4d7dbbf90018bdd097dbbc4665be3b503284bc1f0132bdd22bbbbc08b39b3b7ee7c3bc8f2243bd9b0598bc0ce3773b3fcaa6bcdd9319bd898396bcf30b18bb7309e8bc6d5422bd61d06abbf38b99bb7014c9bc90a5f3bc3a84103b5a2806bcbeb9a4bcaa2da2bc98d4413c8c29dabbcca621bcec2b13bc9b71343cc160b9bc3130123f36a0103fba5905bd9e3984bcf5dc093fb3b4043f7e3031bdba5f0b3964d0f23ea5cfe13ea3c52abd4cc5003cb34fd13eb962bb3edcc637bda59c5b3cf713a23e1b848e3e2cea12bd600b513c6540813eac5b4f3eb0973dbd2374153c1f0f2d3e0bc2fb3dabaf29bd8b2c993bb42eb63d43b13e3df12222bd75c08b3be70e413cdbdc9abc4c4fe6bc067b203bcffa013cdb89a7bccf65f6bc3df5583bdeab70bb28c71ebd533200bda91b9d3ba10b72bcb97d45bdf85debbc56a8253b3acbacbc117b4bbdd8afb8bc3213a63a5cd7c4bcd96542bd5c0c8ebcb9a11abba946e0bc8fac2cbdae81c8bbeaead9bb04cfd4bca62109bdb4104b3b93401ebc219cacbc2c06b2bc62b5453cf7c507bca4aa4cbcbff82cbc9cae463c4aa8b8bc9006d93ee1c3363fd24102bd45dca0bc7432cf3e0e70293ff89f34bd4091a9bbbeb0ba3efc86113f875630bd4e47833b534fa03e518dee3e695332bd01a9093c0a7c833e7676b93e6b5634bd562ce93b10214c3ebadf853e64ea3fbd1c56ae3b02800b3ecbd4243ee50e3ebdabe075b940b5933d9fd6863dab442fbd2934b6399dea263c39ef87bc5c72fabc894c72ba6feaa03bce65acbc23aef0bc0d845339b5cbc9bb69a52cbd0e3c08bd710d9a3b687f22bc341b36bd3c2d10bd64545a3be0029dbc5ed458bd587ce6bcf245f53af0a4a0bc8fba41bdbd41b4bcbe3271bb2933d2bc18d734bde55e14bca375b4bbfe02a6bcc4eefdbc753daabbbe9f21bcec56aabcda25bfbc3506393cb5d926bce0b941bce9690dbcf120443c92c6b3bccdc08d3e92575d3f8f22ffbcb16d90bcedb2893e2edf4d3f99b42abdf66476bb6672783e0c082b3f6a9503bd2ece523a83c8603e5ca4103fb7be21bd9e93b03b6e34393e2587de3e44b11ebd98c4723b97b0133ec699a23ec69b37bd2b0bb83a4751c53d9ab64b3ef12a22bd301a93bb3e60513d5831ab3df7fc33bdf60ab0bb3edec63b26d687bc55c1fbbc244d1abbb6f78b3a0e40d0bc3bfa0ebdf413ccba294421bca3a944bd49d2ffbca018323b59057ebc9a5461bdbe3111bd5e0f2e3b47bc8ebc74af69bdc9cffbbc9015e33af3089dbcbe5052bd537dd0bc75bf16bbd7ebb9bc59623ebd2df15ebc7230d8bb891ebcbc4a471ebd9fb1dbba184649bc034badbc6b2fcabc89685f3c2eee31bc5a3669bcdd393dbcf4b2463c8a4a97bc6af6083e1d63823fef2cb1bcb0f150bc620e0a3e4c0b703fbb5e02bd401c4cbb0c5c0a3eb8af4c3f7ab7debc502dc63ae8ac003e6dc0273f1be0f0bcbe03a83ba5d3dc3d2c1b023fbf75febc4eb3f03a32c4b23df774bd3e9ee514bd6bff4dbb7c74783d60ee6d3ea5f422bd0ec712bca8f7ee3caf12c73dbeff2bbd27981bbc29ec5a3bbb789fbc45af08bd00000000000000000000000000000000b8c4983ab650d5bb008d26bd514323bd602ea83bdf9713bc1bd53bbd714f12bd087acf3b848130bc42b53fbdeb7b12bd46e39e3b88e946bcc7a131bdf65ff6bc0f75da3a39f174bc04c521bdca0cafbc598441bb7b5888bc396003bdcac901bcac9606bc40ff8bbc9937c1bc6d57153b0000000000000000000000000000000000000000000000000000803f00000000a25b33bb3083593cc8ec823f9ba514bcc1cc1c3b7e30dc3cfacd5c3f867e19bc352bc83bedfb0a3d63e5353f30153fbcb9f7b03bd1880a3d68000f3fbeb97bbcb073923b6551f63cc1f4d13ee1fcabbcbccb0c3a4861ab3c76b5853e33f3d6bcb870a9bb6e92283c24cbec3dc54a01bd000000000000000000000000000000000000000000000000000000000000000088b9ca3be80340becade003d2742063bf87c1abc617f35be746dc83c7107973be8918cbcd5a225bed272363ca42a123c3000afbc65e703be6644023c7df4eb3b59928fbc032bb8bd770c343be562da3b4ed436bc485251bd231f4bba9eb0b83bf12479ba652015bca5c8a4bb2fa28b3b00000000000000000000000000000000000000000000803f000000000000000066d1d0bd72e6ab3fbb570fbe7256973c784631bd9cf58d3f7392d4bd567a553cd0280ebce80c6a3f13a4aebd2b01083c798a583c5b002f3f0bc084bd2481153cc6d0d13c2523e33e9ab233bdae559f3b0fb5063dcd6a613e2c5a64bca99c7e3a0135b63c6faade3b919be03b5b8214ba0000000000000000000000000000000036da803c54fed5bdcde8713c4ba84ab86c4d903c7c0023be5944f73c2eef9aba0cfdc03b3d0540be0dcb853c0f9e093c099f1cbbe36333bee0c80a3c65ce3e3cde33bebb87bd10be06e3043b48ce2d3c063178bb34b0d1bd3f4ad2ba2e80283cab2699b9757068bd1abdc1bb1424193c71819c3b8eef9dbcbb1113bc6190093c288a3e3c045a433c34998fbaba15db3ae0d74abeca00ab3f5f115c3c7c285ebc391e2cbe6ea09c3f6079d1baca9024bc2f8800bedf668f3f9cfd1ebc91d540bcdb20a7bd9e776c3f6b7f1fbcc3ca04bc94ac2fbd94e8303f00aff7bb074bf1bb0a427bbc8e88e93ef82a973984ffa3bb4148c43bc86d673e4d03133c4281b9bbe5609d3ccf461b3d80f5e33c936d42bc9cfc6e3b54e7dcbd892bee3bab1f24b9ef96223c2cbc69bd179f58bb2e8da93b0a3b773cfc580abe0a760dbc7308623c7a80043c575923bea3687cbc005c8a3ca656733b9e6f1dbe431087bcaaf58e3cd1a0bb3ab1d700be23b084bc38645e3caa3b943b8caacabd9e3964bcdb9f633c13f8db3ba83f69bd32891dbc8d17293c8317053c97eab5bc333c99bb516ff43b1023493c0e85363b3fbe303b3b9e4c3bc57a4abe790d8e3feb2d6b3e4a4e79bd58c94abee4b38f3f92d23e3e953f6fbd5e921fbea0e4813f3739193ea0cc3abddd71edbd62a05a3f2105e13d05ac16bdecf694bded64253f22e6a83dfe0dcebcff873bbd74a5e23e874c593df2268cbc45a299bc1baa6f3e75cbea3c2e3807bc0b0bcbb92f476e3df301443c8c142dbbda1555bbbb0463bd76e546bcf648943b31b6903bd4130bbd59cb01bdc890803c418d5a3cca1cd2bd045a38bd5a99c33c65b8483c99f107be47bf45bd9401d83c04c9363c5ac105bef6633cbd36cac43c8be10b3cf5ffefbdc7a920bd580bb03cea94123cd6c0b4bdff77d0bc15de803ca041443c6a7966bd8dda6dbce9474b3c6b6b513c836fc6bc046e01bb8ecbd73b98c45a3c3a7eb2ba4c3a053c0b19703b96ec3ebecf916c3fc914eb3e2684e5bd940e44bee8636e3f3fa9d33e890ae0bd2a7f25be350f5d3f9181af3ed092bebd4de5fdbd52543b3fe69c873ede738fbd4b9ab7bd0531143faf7c423e257255bd1abc69bdf397cc3e37e3eb3d127ef5bca50c00bde5a3683e825d593dc6a260bc3bef4ebc7deb983d0c500a3b3b52443bd6130ebc893900bd21ef22bd0e4a233cdfe0da3af62f79bc41f75bbdb4bca63c23b9613c2b4490bd432dabbdc6a1103d1485643cd4c4cabd5953b3bde477063d0acd633c3201e1bd523ca0bd7102003de1dee83b23c6aabdee6e6fbddf3b903cb557413cbfb1a1bd4a4529bd7374973c6e641e3c6dfd48bd4b3399bc2eec473cf355413ca0c2c4bc4d841cbbab91c93bdd7d453cb21832bb1a34413c18394d3b7ac11ebe7eba323fd2e3323fb2d61bbedbe621be5aa2343fd71b273f87a822be058409beb36b293fb2be0d3f51fb04bedd22e8bd3d43163ff8ebdd3e12d6d7bd33cb8fbd0fcae53e13709d3eeb0c8dbdbda978bd0c82b23e5af93e3ed68234bdda6504bdfed94e3ef489a43d8e3086bc4a406abc3e32a73db3c3b3bbbaea1f3c0d5333bc5ec335bcbc437bbd3331813ca44cb53a160efe3ac75395bdfb00dd3c67bf483c864433bdea08f3bde5a33d3d1ef7813c773e94bdcbd000be941c363d09a27a3caceba4bdc00ce3bdbdb2123d143d6b3c0476a3bdd758b2bd337aee3cce375e3c9ac486bd1e2a66bd47f8a73ca565413c6ee633bd64b0ebbccada493c3762223c2d2ab2bc58ca0abbeaaead3b88370b3c1f467cbb0eda603c839f2d3b4e21e2bd4461ea3eb4e76c3f70f33cbe8915f0bd1cf1f03e21de623fb23849beec70d9bda3d0ea3ed356433ff94a2bbeb250b5bd121bd53e75ec193f4b2b03befd8b99bd0d36b73eb53fdc3e4bd9b9bd62ca59bd49988a3e6aa2853e5d4757bd127006bd0146363e2727de3df9c672bc38256bbcd5f8a63dbc0a0dbcdbfe843ce0c5e6bbd78b893b73cba5bde077b93c6ab7ad3aac1e513ca6c7b8bde71a163d2860363c7cde8fbc57531bbe47f7543d1ca7803c8c0c35bda43123be2c0b413d2462973c711c64bdbca114be658e2d3d446d763ce07062bd27acdebd4a91d33c66864d3c6dbd44bd585d98bd9cd2af3c18d1273cb7240ebd30c714bd336c583c5595ed3b37b18cbc80afdcbb31d2643b1e80b73bd9bf1abb08758d3c2ee9cdba56e977bd69036a3e485a8e3fa82548be9e3487bde158743ed6338b3ff87957bebc0b84bd12fb803ea02f723f426f37bea43e70bdb14e7b3ec0eb413f569612be574244bd31b4603e0f640b3f13c0c6bd03011ebd54b03e3e4cabab3ef3a569bdd9cfc9bc00b3063e29bc133e8e948cbc22f943bc95e7963dd65a05bccfc7ad3cea1872bba0235f3cd90fc7bd4bfa053dbec8b339358c943c8d45ffbd115b223d3c93183c78ce0f3b192b30bea304733de64c6d3cd88fa3bc847f44be7d2b543d0c45793c25c808bdac0430becb522c3d0cb65d3c3fdb13bd268c08be1b12f13cdffa393cdd050bbd2322bfbd0c6fa63c3383fe3b92e0c4bc888043bdd3962b3cb7c86c3bbc174cbcd7ebf7bb789052bbb93c493b7667ff392baca13ca11c0cbbeeea5abc9b1d4a3c1717ab3f152c49be30c185bca4352c3d59e69a3fe74f45be5924dfbc86889a3da7e18a3f01d42dbeb996dfbcbee4c03dfb8d603f1e470abeca8ac6bc778bd53d3c20243f781abfbd08e1a9bc160fcb3d78bece3eaa785cbdc82052bc633ca83daaa8373e0f4246bc135ecdbbd3816d3d9b5d4b3b32f7073dd8bcdbb972dc663cca1a09be8b6d0f3d000000000000000000000000000000009f720a3c24e27b397ac942beb5cb253d0268633cc2806cbca4153abe637c093d26c3523ca132c7bcc41b29be870bac3cdcd1363c816ad9bc78c90abe55817c3cbb37283c99e8b8bc129abdbd7d8d1d3c83a4643b099c50bcdd4e52bd1489583ba5fac13a8cfbbdbb514a24bc9b7d13b90000000000000000000000000000000000000000000000000000803f00000000f7e54d3c05edd8bd3dfbab3f92e408be65b8de3a52b532bdecf68d3feb31cfbd8e1d39bb1a201cbc18346a3f7090a1bd1a05eabb8da1683c808c2e3f024073bddb7cbfbbac10d73cc73de23e900a17bd6f165e380c77ef3c2cf15f3e112600bcec60463b8806ad3c6451a93bf5cc5d3c0000000000000000000000000000000000000000000000000000000000000000d80868bc886b28be896e203d209068ba4a7b07bd9ded1fbe8036253dbe38a83a5e5f3bbdf45b0fbe1a4fec3cdaebc53b49c93bbd2034e9bdeea7cf3c47d1a83bd7ff24bd28b3a3bd8da89a3ce909833b8941cbbc7b9a3abd76182e3c76e7d23ac1e406bcb38b2bbcab43303beef851b900000000000000000000000000000000000000000000803f0000000000000000e08e8fbd328fa83fe1841ebef469b93caaebcdba1fab8b3fad120ebe920da23ccd563a3d32f3633f28c9fcbd299a703c3276863d75ef2a3f276cdcbd5897623ce249923d9d25e33e4d39afbd867a583ce312763d0cdc683e56514fbd6698263c04f1073de97aa73c96895fbcd6eea93b0000000000000000000000000000000031eb0b3c0365bbbdef240e3c9ccdc53a559ff73a163c1cbe192e2a3d42f4b6bbb19290bc58dc2dbe2de80f3d5c695c3b7419f4bc879a1ebefc15f13c8390c93b07f207bdddd700be517dba3c6e59d33b7b09e4bcc46bb7bd61e2903cff676e3b4c8e8fbc66dd52bd2b42213c1c27373b41c101bbe42c8ebcf4ed59bbaa62823ba4a3093c383a2b3c269b24bbeb034db91b523abe9111a83feee9993caae44ebc04941fbe9ef89e3fc0d51cbd4eebe23ac8f1b1bdcf558e3fc09f64bd9caf0dbaa9d4f5bc8571693f824882bd2a45403bbd48363c6403303fe61682bdeaeb8c3b3d26f33c15b9eb3ed27d6fbd74a01d3c7c3f093de48c753e1b4a1abde6020c3c79c1ec3ca0a92e3d6e10b43a990977b9358bd639b540c1bdb12c2fbb0e97d33b1666f13bad1b59bd6a245cbc81df233c2753a53b5f4204be09a3983af6cc583cd9e31dbccdf715be65872dba8981873cc3ea87bce0dc17be6ea5ce3b1fb5823c2ab2a7bc4147f5bd0fc0383b338f6d3c0ddd8bbcf5a7bcbdc431e33bc451213c653d27bc519f67bd9ac4b33bc85cd23bb7186cb9c186afbc0176093b24790d3b12f7ec3b78dad53b93cf983aa944c0ba686c42be46228d3f8f886e3efa166fbd6ec13abee930903f150f213e4ea557bd63b9ecbdf248803f7af9e43dc26d2fbde7539bbd53565c3f7a99583d3354f5bc5076dabc9050273fcff6b23c85aaa4bcd930d1bb818bec3ea2cc45bcfb35b4bb5379183cf89f833e75c7b9bcc4a8433beb90423c1b65953d176fcbbc6e19493c56c2c73ad6f94ebd4dd0d7bc4137843ca4bfa83bcb5005bdfa9c23bdc33aa53ca5f4c23b53b8d4bd839a14bd8565eb3cfb9ebf3aa50d0cbef6f2f0bcc67bf33c2b3bf0bbc0d309be351baabc65f4d23c1ca134bc913ef7bd82922abcd231b53cd73124bcb135b8bd1fb04bbbb1d9593cfe6cc3bbc84569bd43f2093b1b2cf73bf69f223b3afcb2bcf535093b8e9f033b12148d3b74b6723b66edf33b357bf1baf68436becb2e6b3ff043e93e4056d6bddf3837bea1b4713f2ae1c23e40e9d7bda2a80dbef2eb613feb89933e97eeb2bd2e10bdbd47e8413f61b44a3e045785bd5afa65bd9c6b1c3fd469eb3d5eb63fbd6a03c9bca843de3eb19c3a3defafa5bc314cccbb9989823e85525cbbd8fda9b93b0ee33adae4b33de50607bdc9178f3c6138f4ba9563dbbc80c761bd671bc53ccea2843b2ac18bbc04dd72bd85ade33c3cb3163c084aa9bd6c2890bddf342d3daf27fd3bf2cee5bdd71082bd1ebc1f3d0696213b3337febd987b4dbd85131b3d59f53fbb1703c7bd3ee81abdb32ad53cace136bb7b67b6bd8b2583bca90ba93cf227d3ba4ba85cbd861990bbf3701f3c56c1593b26beb3bc83fad63ae8a4353bf9047c3beaed8f3ba2a1103c257307bbd14d1bbee184333fa9942e3fbc8811bede8f1ebe5b213c3fbb291d3f8d9a1dbe8b9cf9bd1a89323f763dfa3ea5d301beba8cc8bd08dd223f093ab73e0287d4bd94f93bbdb76afa3e184f793e803d99bdc3a723bdfa6ec83e3dbbf13d3d8829bd9c5374bca85e713e7fc1f83c847425bc692a52bbbabec23debb116bd157ba83ccacd77bb389723bc679b99bda859ea3c258b6d3bcd62b8bb69d49cbd7906063d55a7523cc03a7fbd1dc3d2bd46065c3d4a30693c3a99cabd6bbfc6bd2b7a553d9ad0453c8bf0dcbd7d189fbd409b353dcb0df23bc941d5bd47b160bdfa10123d7362c53bcefaa6bd080000bdc4f0b53c941a513bed1759bd9bff42bc8ec4463c5e4c703b3b77a8bcec59463a35c5523a93eec23a1ecc9c3b92242d3c3d1218bb764beebdcae2f43e77dc653f77392cbe936bf4bde926023fdf1d573f758c42beaa1fdcbd678f043f279a313f21e62abe123bb4bd7d71f63ec99d053fabb806be467687bde7dbd73ebecbb53eb533c9bd6fc435bda260a63edd0a483ef12c59bd7e49c0bc12a7593e8bff833d359c69bc1cddacbb6f6ebd3d7bf907bd716bd33c30c40cbb0a2a72bac90ab4bd9a49033d0050313b5c6ca23a00e4b2bd7fef253d404e623c397234bdfd8104bedff9783db1db863caf2c99bdd23401be79fb6b3d53d9863cb232bcbde239e0bd8aa9593d7b765a3cf475afbdecdaa0bdc6101b3dd2dc273cf15095bd82be4cbd6523ea3c5c1fb83bb04f3cbd3f95babcecbf6e3c826a4a3b08bb82bc75cacabb70a9fe3a8949123a95630f3c150c353cccf6a1bb25af8cbd66eb803e2c368b3f2e773abef3059abdbde1913e8897853f2ce356be9ec596bd466ea33e16ab5e3fe80539bebae98abdcc75a53ea4092f3f0e4f1dbe543851bd2487963eeb88f33e56b5e4bd700429bd5bab7c3e27c68f3e7a0c8bbdc45ab5bcc70a2a3e71d4eb3d7118d8bc8419dfbbecd6a83dd4bfc8bc564dd93c0173c73a400d473b606ccdbdc06f2b3dceca283b34dcc13bf728e9bd0319263db1be5d3c8b24cebc8a3f1ebe26598c3dea3f9d3c12e276bd28e91fbeb35f823d23dca53cfb9d9abd3d3b0abe5158673d60078c3c3afd9abdd7e3cdbdbdcb2f3de0f76c3cf02d80bd982b88bd3034ee3cf92b013c318021bd710b09bd704a6e3cb82e323be59a25bc803317bcecf7e6ba42b9c6ba9278203c1d6c523c36bdb1bbdcc9abbc9b99063d9f37a73f6ae537bed0a4b1bc49258c3d02a5993f768850bedf8d25bd90320b3e9d71843f0d4a3dbeb54634bd641d2f3edca2513f1a6421be3acd1ebd73be373e999f163f1e8dfbbdfef4fdbca279233ef78fb93efef69fbda2839cbc1660fa3d95861d3e2801dbbcd7fd06bbf759863dbca24dbc5be7043d2f230a3be86c693b1e2300be7ef41f3d000000000000000000000000000000000257343cf49cc1bc7e8d29be6421473d85939c3c4b4b42bd16961dbe3876473d744f9d3c3ff06fbdc9cd0ebe4dd4203d2a38943caa6274bdc2afdebd7411013d91e56a3cc40c4cbd1cd09abdcf0dc53c1557293c891404bd232b2abdd63c5a3c18e4313bd6bc16bcad2318bc30c42f3b0000000000000000000000000000000000000000000000000000803f00000000c3d0323bed5294bdb914a83f6c9212be989842bc64d7c03b53ec893ff47502be80a0aabc0f7d5c3d2617603f0a50eabd6646b4bc13c59c3dc270263f3deac5bdadf493bcbe2aa13d84dcd83ecde297bd82ff37bc0dc4803dfb4d593e184417bde16952bbc692073d48d7393cddb635bb0000000000000000000000000000000000000000000000000000000000000000ea5bb4bc6166d5bd96b148bbdbf2913c084311bdf7badabdc74d6b3bdf7b9d3cf0eb27bdb7e7d0bd4c1c6b3b204da63c2fe32cbd3402b8bd4a34b33be2a2983c69992cbd363e8abdd7f2103cc4d6583c11c105bdd8912cbd73404d3ca1929d3b148ea8bcc2a96dbc5222413cd434b5ba00000000000000000000000000000000000000000000803f000000000000000038329cbb4854973f0a4d97bd28a772bc285f2b3d4fc67d3f0e5d98bdce1a72bc22b08e3d7d19503fcc9395bdde8ea3bcd436a83d9fb2203fb4c393bd0b1483bc5bcea03de9b1e13ebae792bdac9a0abca85d6d3d214a843eb09e83bd74cd113b1f06013df169a03db1d85fbd675e4c3c00000000000000000000000000000000aec059bb6e524ebdbadb95bcb0b1523c2c67bcbc6894d0bd6eaa043ad9f7843c9dba09bd48c6ecbde741073abdcfae3cb94f1ebdbe7ce1bd5c93853b68b6ac3c97272fbd9095c1bd0181eb3b96cb9b3c51ab1dbd68e494bd63653a3ca063513cc9f301bdb87834bd9c23733c5f61ac3bb4ad4ebc9d8537bc63c32b3c717742bbcc27aebb6cf0f93b1539213c677193bb4f9dbabd9220973f7e06b53d39911ebdf32095bd8e13913fec6a1d3df28001bda3b804bc79af7c3ffc57903cf2f115bd07b2123dc6e24e3f4a2381bb5b760fbd2e16663d48221f3f8ab3a2bc7eb7febc22b6733d6bb6e13eb08a28bd69538fbcbd22443d8e61833e965250bda7bb8bbb6522b73c79f8a43d250b3ebd42163d3cc5b8303b92e646bdc1e731bd10ef7b3c645378bb78dbdbbc5926d0bcb0cf523c291f62bccc89a5bd2fdae3bc1006dd3cc90d8ebc3fffbcbd8afbd3bc325ee13c86b5ffbc860fd2bd868f55bc13b5e93c8331e7bc4797b4bdfe5023bc5eb1c53c0c2100bd5dfb94bd0b82c63ab4fb9b3c1fb0c3bc070248bd1e5e833b78415c3c379d84bcfd0b95bc3e6e2c3cb6e11d3b1543b9bb14b1b43bc72d303c8eb369bbac5fdebd53b5803f4015883e9f1485bd78e6bfbd468e803ff71d5b3edc339bbd1fd5cbbcff005a3f58aa2d3edea391bd07ac443aa0ec3e3faae9df3d09488abdc220ec3cb063133f6630843d7f305dbd2cff093d1834da3e4a6e813c882623bd6f29073dc7d8843e106a22bc8ac6dabcf75e973ce448d03dac9e29bd6e21613ac2d2393be77ca1bc3cf23fbdbc67233cf4a451b91e8c80bcf2f01fbd081a743c54a800bc929f87bd74d73cbdbc8d013dff5b5dbc0734babd7ba629bdeaa9113da87097bce284c4bd84b105bd01cf0d3d29f1d2bc0c2ab9bdab82bebc87cb083d3f8ccabc066597bdcf0df7bb9ee4bf3cd0a9b5bc747351bdb733ff3a889d843c776876bc8ddbacbcd58e1b3c9e7fb33bed9331bcd82184ba8dd5503ce0888c3942ead0bd2f8a553fe3eee63ee13cbabd60b7c4bd0cc2573ff00acb3e9324debdc24858bd6c35443f5047a13e3317d3bd457091bcfa67273f75f46e3e627dbdbd4c89063c9186073f8571203efbe1a7bda1fe9a3c692dc83e6a67a63dc0f972bdbd18a13ccdd47e3ea88ba33ccb8318bd325c533c0319de3d963cedbce23c26bcec15d33b957cf3ba7ff65dbd0d2c403b95404d398e4ce6bb799243bd844f753c836488bb44795fbda74a81bda00e103da9f6b5bba646a0bd3fae71bdb0a2153d26b240bcf1beb9bd9ae04cbd8ae8263d45a605bc4ab198bdcd3427bd34a5f03c030c9bbc7c3399bd94b6aebcc377fe3c1c699abcc2fd4dbd8b6cd0bbff19993cf2cb61bc6112d8bc6730f63b56d7073c23e23abc8dfc64bb7e2f4d3c4b264f3b05e5c2bd3870283fc643223fa176dcbd421eb6bde4842b3f1374143f084f09bed2a757bd5a871d3f2665f13ec329fbbd7c68e5bcac410d3f78fbb93e25fbf3bd9e14883b95bcd73e37df843e0f2bbabde568b83bda72b33ec0ae1a3e43f7a2bd09dd453c0a06663e228f833df4f44abdc06c163c9a0edb3d76c55fbc25e597bc618c953b47c7db3b5cba6fbdaae047bbed980039e053a8bb7a0960bd00ba7b3c44acf6b8cead48bda2ffa5bdfaf6253d901473ba4ff39dbd8ea39bbd682b313db52681bb23b4adbd157985bd947c2b3df69a0ebcfe56adbdd61d49bddbc9213d381055bc879b94bd1d48f2bcb025003d05b34ebca27e5bbdd7222fbc430db03c24a048bc268ed0bc99c9a33ba17c153ca8001ebcc1ceb6bb90a3693cca4d2a3baa04abbd972cf43ec690503f828ff2bdf504a8bdf870fe3e5c45443f7acf1cbe480866bd6e07f63e30fd223fe10316be333f11bdcfe9de3e660cfe3ee18508be37cc88bc5366bf3e802fb63e5679eebde673e1bb89f8943e4ae5663ed217b9bd4726eeba853c4a3ea237d63db20d77bdb83b113b0d79c43d9a22043b0480bcbc46ad833ba708273c05bd7ebd78cdc1bb4085103902ebfdbb6adb76bd46d7a73c80947c3b3b573ebdb62fc2bd1efa2f3dde9fa73ba32985bd24c8b3bdcaa61d3de69cc73a7bbda4bd17e8a7bd5b76373d3b75b6b9018299bda4877bbdd0d9123d527d68bb6d6f8fbd348526bd6fca063de313b6bb26a54cbdd960bcbc6db9c23c3830b8bb00f6d0bc382f243b68200f3c74bc03bc0eb933bb06d86b3c3a218b3a810f84bd89ff953e75707d3fc2f4febd439585bd1139a33e0342723fb0a427bea4eb24bd4c7ca43e9743443f076c0ebee6c413bde3e1a13e03ec1f3fc2a110be5264a4bcaf298c3e17f7e63e5368efbdee8676bcc7846a3ee698973e6fc2cabdca4a55bb5f211c3e9afd1f3ebf538bbda3ae4fbbe3959d3d977e8f3c59c7cbbc208e0b3bb152c13b06ac88bd7aea45ba6be2ad3abaca2dbcdbf49bbde12c8c3c4d38f43b043341bddeace5bd2fb94d3d36da143c42bd87bd9b27e4bd3811423d3d5c1f3c39f29cbd7a47c8bdc1633d3d2a85f53b5a9498bd003d9bbd7a3f223d15333a3b8a1f87bdfc6c5bbd79290f3d6245ea3afea145bdfd17cbbcced9b73c2460c23aef93a8bc3c4765ba391ff93b1f03a6bb8a9db0bbee064b3c34df483bc95930bd6282ef3d4da7963fa17ceebd49e120bd5c5e113ee23c8d3f6d1420be44a314bdcb003c3e548c6d3f586517be07bf00bd92084a3e70fe3b3f4aea0bbe987cbdbcc5743f3eeece0b3f8545fbbd6a7ea4bc92af233e85a5b93ebc00d1bd929860bc7949e73df73a3f3efc258fbd1757d4bb5b65553dddb8fc3c0c05c1bc929813bb8a3d293b022e9ebd70a408bc0000000000000000000000000000000071cb1e3ced6e14bdc816dabd7f3fc03c939e4f3c753059bdab6fd5bdd7c1033d3cf4603cac4069bd675fc3bd5b71de3c71c4333c9e9d6ebdadf8a3bd70d7e03c72f00b3ca2a659bdaa7c71bd7443c83cdde3c53b0dfd26bd31a514bd84a5a13c912dad3a421bd3bcd38939bc81eb523c0000000000000000000000000000000000000000000000000000803f00000000d70e95bc4e40213c1bf9953f4568c6bd4e0684bc485b633d7673793f18a0c9bd563a83bc61f4ac3d3f95493f84b3c4bd65da61bcb8f3bd3d2317193fef29babd55991cbc6984b13d5a23d43e5c15aabd917122bc423b803df5e6713ec3aa7fbd4289d7bb78f6fd3c14117d3de1a226bd00000000000000000000000000000000000000000000000000000000000000007b942c3c63cd50be4805613d0ef7d0bbdf7794bcfe5039be773c113de10516bbec85f6bcad1b2fbe554faa3c28e7223a608718bd8c9807be1f2c643c23ff79b921e30ebdf995afbd4afd7c3b7e9e36bbeef3d0bcfcd83abd1756b9bb92ad37b944b514bcfce9c7bbaefeccbb1bce6fba00000000000000000000000000000000000000000000803f0000000000000000ca7bd2bd4f05ac3f445226be54f4f73c8acbaabc3b368c3ff11aedbd927dcb3c335a9b3c61c86a3f2641d6bdb1ffe63c30df4d3d0e102b3f479ba3bd1f85e03cb3f77e3dde28d63ef6f120bd70f4993c275d793d4f084f3e2676ecba59f5083c07b5293d30e111bc1a59d73c362016bb000000000000000000000000000000003035cd3caf93febd82701a3dd41b44bb0e40723c10fb21be3c54193d74e393bb8437253a663d50be90eefe3c902c0a3b657056bc880a41be715ebb3cc7a4463bf3d1a7bcd5e41bbe2966443c5d63af3a90fe9cbc4488e2bde40d793bd46a74b8dc5385bcd45377bdec6093bb8c463f3ba88815bc427ac2bce2b1cdbb918ae63a2edbe63b11adc43b0e5592ba64fb2f3a486b59be97c1ab3f117e933acd4ee0bbb9440fbe1139973fe9de403cf853eebb3eb9e1bd7cf48f3f6d5500bd2730f33b006d7dbd62916d3fa69d19bdbf7c3d3cada6a1bc3a4c333ffb80fbbc370b883c3c83513cf6b3e83e15b013bc7bf0493ccb55e13cbb41603e0066303c25ebdb3be8b2f83c916c4c3daa80d93cc257a1bbd170dd3b0a1ef0bd2514fa3c0846f8bb01364c3cf88f91bd28fd6b3c7608823bbcb4543cde6224be7bae753cb81e053c0cfe303bea6d43be0c54743c15cad13bf7c6b5bba68842beccb53b3c24d6bc3b5ac32dbc005c21bef234e33b59d2203b8c2432bcf685efbdd099d83a8c2a5f3afa1504bc5cb589bd12918fbafa8b063aec04d1ba056d04bd5113b7baf9792f3bcfe6723b37d699bb9727bb3b1a2956babb994bbeabd48c3f9c746f3ecf6266bd4be844bebef4903ffb112d3e934835bd01dc23be9b77873f1c33d53dd617b2bc1c56e2bd8445653f17577f3da6b3c4bb155081bd45892f3f5e92123da1ca5e3b2b76e6bc403aeb3ee603da3c41550d3c515c503a722f6d3ef4aea63c22a6ed3b2ccb1d3c01865f3da754983c09e8393b0aa8653bee6c64bd7717113b5b95213aba5e9c3b236165bd613a36bc5678983c67995a3c26b109bec26b98bce4debe3c0fa3323c41ba34beca7e8dbc5775953cf6a2eb3a41a433be169a66bc56c2413c33feab3832ab1fbe54bcd2bb69dd053c1d034fbb7eafeebd89f0d8bbaf8c7b3b6e6f15bbad1095bd7f779cbba541343bbe6b243bd95d16bd9488823bc4b1473aff488f3b6beae3bbfec6203c17521e3b604845bec80a6e3fcd0bec3e4398dfbdf81745bed01e733f65aacc3edca2ccbd325a2dbeb6096a3f8788993e596a88bd639b04be1a6c4d3f57e04b3ee65c0ebd433bbcbdffcd243f042df33d100a40bc5c0645bd6290e13e38a1963d400e3dba3b1399bcbc47753ec739093d7605233cec290dbbcf84993d8f9d4c3b61dc213c26ac34bb2f9826bd0a5ecebc6f1c073cbce7f5ba3b38eebc5ca836bd5dc5fb3c021d3d3c8d9cd0bd930780bdfa4f0e3dc4627e3c459812be8b6b82bd7f57f83ce48d593ca7c920be0b3e44bdd9f4b43ce1ebee3ae9b607beb30ceebc91def93b3618c13b51a4e5bd5c288abcb0d8903bf65f723b0cc58dbd6d68bcbbf234493b2997523b7faa07bd4917223bceff5639a27acb3b48aefcbbe3a04b3cf705da3a622d1fbee41b303fc0fe373fed8423be2dfc27bed0ab393fa086253f44a71abeb9ba1bbe85af373fa02c063f0579e6bdf6d407be730f2a3fd22bbe3ee04d97bd51c1bbbd081c0b3fb8666e3eb5250cbd65f188bd1f4fcf3e32eaf93de86c46bb50a200bd01f7693e6c5a313debda313c8d8829bc701fb33df15339bcf5c7a73ca4dc0dbce91baebccf7c58bddcb8be3ceb256dbb8c76d0bb66308cbdfedc1c3d9662393ceed28cbdf5aed3bd32f34c3d12e7af3ce806e9bd29a0dfbd087f373d7f729c3c8ca200be1f9db4bd4416de3cf607913c44e200bec3e073bd86eda23c802b5e3cb382d2bd9404f9bcd7eccb3b9df2f43bd6a28cbd2d4349bc05a8f43ab195cf3b471f13bd9c4b013b2fe32b3b4f71293bd86eccbb927f713ceac700bada9ad0bd3e88dc3efdff743fafa547be0994eabd2568f43eca3f623f796545be5560f8bd9a5efd3e85c33f3f4ed31fbe53cad8bda4f8f13e4d8e103fd724e1bd9971c1bddb23db3edd2abd3e48c67bbda6378bbdf488ac3ec8804a3e0bd093bce7711fbd98a3593ebb268e3d1cc44f3c4fa898bcd7d6be3db6dca0bcf4d1eb3c58f1a1bb76ea06bb4cdfa1bdc0faf13ccf63a7bb4c11103c1b3daabd04233d3d47cc1d3c06fd0dbdbd9b14be98da743d2959bb3c608799bd6b2720bee670613d40d0e23c2961c1bd539607be21dc293d491eba3c70a5bdbdd324cabd3bd7cd3cd479a23cc48dafbd8b696bbdec90633cf516473cc6666fbd1560bdbc7a81503ba6fcf53bafd4f9bc60e6ecbac45171b840020b3bf753b6bb2870603caaeeab3923a84dbd0f42553ee4f78e3f971049be2dda85bd3dd8753ec16f8b3f387f54beaa3295bdb0b48b3e6d09733f60b73abec7a69abda7e2913eb1dd3c3f2f7a08be065e86bd53dd8b3e9fa8033f8595aabdf5316abd776a783ee08d953ed17b08bd929015bd5df52e3ead56d43d1a0a473c91578ebc9466b13dfbd092bcb15c013d0d49ccbbd95f2b3c8191b9bdde39183d6fb157bb59e3d33c6da808bec0b1723d0e6aa73bbc84a4bbb18226be05e17c3da87ab83ccbcc1ebdea9b44bec2226b3dbbd0e03c360b71bd36bd32be632c403dc6ecd23c875486bdb1b606be4e97da3cda72bd3cbceb7bbd2c0cb3bd12b5823c6b29753c0e0233bd2b1d33bde573ac3b41a9fd3bcdc4c0bc7d7454bc3200adbb92728f3ba565f63aefb4993c5c2b94bb8e2403ba38b855bc4953ac3f6f4753bedd42c3bca189833d6e4c953f7fe22fbe45110dbdc33baf3d53828a3f2fd62cbefe9135bd9010013e70355d3f22f907be410c29bd6477113ed94b1f3f71d0b4bd5cc515bd9b680d3e6e7fc43e34952abd162be6bc0a08e63d29e7213ebc011b3bf56596bc7e7a8b3d719e823cde06033d26aa21bb81ae223ce8b50ebe4536563d00000000000000000000000000000000cb22343c62fab43bab9b54be55be753d637cc03c6dbbd4bc362143beeb54293d9fa5e43cc5222dbd993d39bec368ec3cd11bc83c6e113dbd019112be40c2aa3c21de9b3c42d22bbd5addc3bd2f16ec3b7e176f3cdeb3f0bc3a0b57bdc8018dba971faf3be68026bc721a32bc0fde0abb0000000000000000000000000000000000000000000000000000803f00000000f2be4b3ce2e2e9bd1b3cac3fc54a16be0e252dbc23c2fcbc0d9f8d3f1d0cdcbdbfcf8abca0f0f63b18296e3f6370c7bd4478bdbc08cc1b3d8b88303f08eb93bdcb7da1bc44f55c3dcc28dd3e1c0d17bd4d7f77bce3365a3dee03593ebd3ee3ba194e3ebbf4ed0f3d082abebbc143d73c0000000000000000000000000000000000000000000000000000000000000000932282bc960c2dbe5574963d039ad0bcfabd74bdd41302beb846693db6d7aabc4dd8b6bd3018ccbdbb0f1a3d9bb15cbce269c1bd9b7881bdefcdc53c1ce73abc6330abbd065be2bc89d4103b195d4cbba22c59bd5a9962bccf0dafbbd9056b3aba3784bcaa6a96ba981c02bcc0d3be3a00000000000000000000000000000000000000000000803f0000000000000000f8a2a2bda8feac3f54276abe1308893d3140fe3ca2e98a3febef5abe3d54993dca81ce3d8ab65e3fb9c94abec63d9b3d894c133ea0431c3f5a611fbe39a4873d4d64163e89cfb83ede10babdfb493c3d59a9e43dbafe233efe29e1bcd2c9a33cf5ed453d6c3e70bcb562c83cf8b54abb00000000000000000000000000000000759ca43c4b69dcbd2248133d1ae433bcd09d82bb4bec06be4db9533d7684a1bcee5713bd32931dbe8213653db87695bc73227abd902b02be148a373d52967bbcd3ef93bde555b1bd904fd33c1cc121bcfde482bd663f57bda476283cc279adbb3ce737bd7e1fc7bcee9656bb4a0a62ba9cfdaebc729518bc52a609bcb555f53a6c4d363c1689be3b348f18bc5cda333b414f56beb7b5ab3f26772dbcdeeef038f77001be91e8983ff7714fbd4147b83ce3ee9bbd063d913f190a0bbe870c5d3d4618a8bbcf556d3f4c6420be181c8e3de7c4593d64072e3f504a0dbe8e76873d02f49f3d3c77dc3e63cebebd6cfb543d4b71933d89b54d3e0df914bd2d3d003d3c63333db792333d24e8083c1fcc023c2cdcbebb9afecfbd97be093d9f12fcbb523a8b3cfcd283bd79740d3cdf619d39c055903a30ea08be46bf053d962ce3bb3dbecbbc5c6d1ebe9ff02d3db5a723bc91e72ebd1f8d0cbe4028193d187c46bc68fe65bd41c6ccbdef2de23c559026bc707560bdb31980bdf032343c652ed0bbff7717bd925bf2bc8cae20ba7d3009bbdae58fbc32318bbbdfaf15bcd6cd953ac8157c3b6f9f1b3c8dce15bcd2fa1839430654be1c0e8e3f9377673ea8ab64bd090e42be55cd933f9094d13db8ebb1bc87220fbef7478c3f171c21bc38e9883c7f489fbd34236e3ff6339ebd76ee463d7eaa6dbc1c18363f36e3d3bd67d86a3d764aba3c9801f23ef547b4bd13d4683d5daa1a3de25f723ead144fbda900273de681e23cd4215c3deec857bc0062af3cf003413b44a882bdc54a9c3b74990d3c70ab603cb67f51bdc0f673bc1794683ca62b323cc69500be5255143c6127bc3b17a79dbb826b20beee45ce3c1604d8baa5c9dabc18d40fbed434d73cfd29b6bb4fe429bd92d5e4bdb908cd3c04ececbbb7461abddb3191bd51e5243c7801e6bb1a93fbbc92f003bd2ed568ba9a3964bbfd6650bce259d6bb0b4801bc5d64c0bad8d5f8b8334e8d3c9c3b1abc5e1223baa8f44ebe9ee66f3fd802eb3eea72eabd28d052be0df77f3f61caa33ea6e5a2bd902838be8f957e3fa1cb223e5beae1bc4faafabd977c613fe2b31f3d2c805e3cda2c8bbdea5b363f32d236bdcdd2353d3a76a4bcc6abf83e3e557fbd64085e3dabde213c0594853e3b1660bd43ab4c3df31a763c49cf963de2cc0bbdc012183d738cde3b59c377bd81b4a4bc36a5c63c55ce103ca14aeabc6bfc38bd3b74f53c8413713cc46fd8bde58dd1bc8d9dc03c20c02c3c76ee1ebe108e293a3678463c1f4deabb83091cbe220d813c5f3a263b47b3c0bc5df2ebbd4c90953c5ea376bb0748e5bccc77a3bd2cbf1e3ca58b9cbb6ef2b2bc37ff13bd500d14babb1360bbf71a22bce0a96ebba3b8f1bb855f0dbba9b7383ae6cfb13caeb01bbc4eec48bb107a2abe903e323f958e363fc76c2cbe7f453dbea9a9493f585e103fcf1f11be0ca63cbee1c4563fcd30be3e04adb7bdfda620be5ad64c3f24e1363e645be6bc49e7babd90c7263f57e06e3dbc8e9a3ba24563bddcdbf93e545ee5bcb3c0333ddcf440bc0c0d893ebb0049bd40284a3d5ec28d3bb952b93d63e550bd66143c3d4a9eee3b821846bde5074dbd45e8273d3e53583ba1efb8bbd04e92bdab5a233d964c8f3c6c49aabdc79d84bd2267293d53b1ca3c7fdb10becca610bdf422e43c3a397b3c211c1cbef06122bc9b0e473ccbd60a398ec306bee21fe13b5dec1d3b7a3231bc42a8b3bd9867703b2dbf41bbdd314dbc557a32bdd8cc64bb694b48bb053eb7bb0e2afabb90f7f6bb4eff86bbd98a6cbb8479cf3c92bc06bc44577dbb9ebde9bd1919e33e0748733f99cf50beb93514be5c490d3f7b3f4f3f4d1145be4e7e29bed952223f89c9193f543915bef46723be42e2253f713dbf3e1bc3a4bd90eb03bee034173f087c2f3e32e8b6bcfdc8a3bd5b57e33eb0e7473d9bdd983c63cc14bdef62893e72ccc9bc26773b3d186616bcfe0dd23d35ef76bdda78643dd373f53b76810abd1f9e9bbdb8b44f3d1e38abba04321e3c677fadbd96ca3f3d8802853c7e3f65bdab2ddcbd15e0653d133c043d181bf2bd436babbd5857413d1c15fe3cb9ae0ebe1b5f3cbd323ee43c40daa83cc0dd07befe1494bcf42f523c6f2a003cf9b5c4bdc351b4bbeb4e493a619d16bbd96f47bd741a6fbbaccd28bb30b3d2b801a237bc4edfe4bbe5448dbbf59aa9baa412c33cda43d8bb5f85bdbb2de56abdd7645c3e923d8f3fcd9351be5ca5bcbd1ce19e3efca9833fe0165ebe664efdbd5661d23ebd6d533ffab33fbe55870abe86f0ef3e64a3113fd43904be7bf9f5bda58ee93e4519ad3e4ccd90bd6133c0bd9b57c43eb908113e361116bc421946bd02fb7a3e05ee6f3c558ee73c29758abc2db5d03da1b660bd8f7d553ddc0ebf3b2b78a4bc0351b5bdb1d56c3df059a3bb5717d03cf4a305bed86a723d3d4a693c1114cabc604806be9bff793d8b75033dcafeb5bd76b1fcbdc65a6e3d76f8163d2a32f4bd6582afbd232f303ddfec023d6d73f9bdb8ab3fbdc4d5be3cad5fa53c500ec8bd5489b8bc52a60c3c5514ec3b54595fbd722233bcff7af4398da58f3bf26299bc3aad2abc26a280bbbfecad3998d3c13c9458923a90101cbc88b068ba04838dbcffd9ab3f82af4fbee5872fbdaff7de3daded913f0cda45be6af7a2bdeabd543e78a67f3f664f4dbe6108d2bd2954933eb45d3e3fea3525be8e0cd8bd7d57a53e36ecf73e2765ddbda29bb5bd4f9b963ec5fc813e7d5e38bd0d9f66bdab7f543eb9d9973dfdaed93bb840bcbce80cc63df17094bcb16a153d8544a33b8a9f6bbcbe2906be08af853d00000000000000000000000000000000152d8e3c0e339dbc4d4539be19c68b3dded7163d8faa90bd41fa0ebea9bd5f3d20803e3d4988d6bde246e0bdc430273db9cf273d36b7e4bd8e898fbdf487e63ccc5f053d74d8bebd0bd30dbd47b2493c224aa23c83ea72bd6ea671bc4d60ce3a3fd74f3b41525dbc54bdf6ba76bfb3bb0000000000000000000000000000000000000000000000000000803f0000000092a27d3b9860b9bd1b71ac3fd7c535bea98920bd9f46493de7c18a3f00be2cbe470790bd0b9a103e36985d3f114625be0a48a5bd9c0f463e4ecc1a3f266a01be33db9dbd0ffb4f3e3c5cb33e7732a0bdc24b63bd0d2a243e2863123ef3fab9bcc928a4bc8a558e3d348004bddbafd53c0000000000000000000000000000000000000000000000000000000000000000c22f26bd178ffabd6612583da6d09ebcc1ffabbd5b1497bd07f02c3de8ff9ebcab1ae6bd5c251abdd9edbb3c88b55ebcad65f4bd541440bb8ab80a3cf19920bc6199debd336aba3c479f16bc0fcc57bb5eab94bdcefcd43c1e8971bce032863a01bde4bc8c5a793c0ce83bbce1bdf73a00000000000000000000000000000000000000000000803f000000000000000094da59bd4c07ac3fb43f7cbee9ea843d11ec723d76768a3fb1b37abe82c39f3d76af163e1906553f80995ebeb75d9a3dfd31473e45bf113f46982fbe4912893d6442503e1d04a33eb14cdabd29044c3d8cec213e5e1ee13d9f5308bdbf83be3cb7c4a13d617b4fbdbe2bc03cbe82a9b900000000000000000000000000000000662b7e3c066ad4bd13e5043d27d509bc2cc0e0bc82f4e3bd0c6d3a3d7c2b92bcc6dc83bdb125c5bdb490263ddf228fbced74c2bd74fe5bbd6fcecb3c70206bbc997edebdf9b637bc8c409c3bdbf10bbc6d90cdbdffe08c3c29fc30bcf3405abb7a1696bd6df3d23c1a458ebc20ea563a6bffe1bcffbb053c9ecd1abce28c0f3b727c153b35ea5a3ceab128bc605df53a42c04ebeb96dad3fbe2dbbbcc7fcd7bb379d0bbe4a49a33f220e01be8100253db0ab2dbde48a913f17aa41beb716833d3e355f3da3b2643f640649bea6ff983d0022003e240e203f30122bbef526903d3f2d1e3ed3b8b83ed5dadfbddac6693d51580d3e39e9073e770a23bd46b9033d86cd9b3d89528ebcb3a5af3ccad6b03af16f933c85b406be419a243dc99bb6bb0317cc3cbe96a9bd2b8e953c830b12ba448b8abb7ca701bef88d2d3d2b171cbc38920bbdde95f8bd73ad373d44e94abc2b8c87bd4bc0acbd3645083dc9cd60bc8d38a9bd067e30bde2f9913c7e5e28bca857b2bd9076afba3abb1139638eeebbf9c390bdfcd0ae3c073f5bbccc78febaeb8524bd85d8d13c8f268dbc9a555c3a256024bc73f6dd3c91c99ebcb6f7833b449a5abe6b03933f75584a3e4bd36fbdef0243bec4c7993f4bb4283d4f7790bcf58ae1bd88ff8b3f480478bd45b6893c970806bdad2e6c3f717e06be287c4f3df996453d671e2d3f4c5c0dbe66996b3d85c0bd3d5052db3e6ff1f2bd3a46753da843d93d81ab3e3e561185bd4d9d373d8444a73d450a5cbb5027a0bb127bb33c224b213d6184ebbd655bc53c9b50ce3bc4e4053dd005aabd8801da3bd4230c3c1419993c655c13befac9263d1b0122bb4f6e01bc795012bed00f463d0c8718bcdcfd1abd01a7e0bd51c9183d9f1534bcf6d680bdf0f183bd74abdf3c23ff45bca3608dbd60aca4bc2997ae3b4ae2ffbb169f83bdb550823cdac633bcd8605ebbadd723bdb707043d8ce3adbc507bd739a11eb4bc12522e3dbd69c6bcd7152a3b25af54bee6bf763febf5da3edb98ecbd902959bedeed863f273f813e0b08a1bd99cd28be0c98833f12d3a23d677dd9bc1f4bc2bd647d653f0b520fbdb6718b3c09a2d5bc9130363fa0cbdabd26da3a3dc1af1d3df1b7ed3e3799dbbd8b48653d64a3993d769f633e7cad9bbd6a1f513d8c90973dc254433c36bac3bc6430103d579d6c3dfdd1edbd0839a5b91cc7bb3cf1180b3d5b4291bd9f4956bc0d25a03c1684123d843d19bea13be43cd897083c8e34af3c55b42dbecc14453d41722abb73c536bc49110fbefa27493db6c622bcfa87dbbcb2ded0bdd611163d66bb09bcdef146bd370031bdb272843c57661cbc2cd856bdaaa5513bda3a9abb01fca2bbeb031bbdadc4fd3c5a89a7bc991fb2ba6c83d3bcde7c533d1586ccbce321dd37fbdf38be37083d3f7af22a3fdefe25be11434bbea3115a3fd745fc3e3eba10be7f0539be286c633f00d88c3ed689adbd419b11be7548573fc31cb33d3d96dabc6eee6bbda0ea263f943d273cf42a8fbb793097bce0eefd3e65c6aebd60d1333d31eb1f3d2efc803e85879dbd07c6483dd29e7e3d682e1a3d26df39bdd6eb3e3d9555743dfbc5d4bd6f83dabc20e4163dff2bf33cde4a57bd5bce08bd3f9fda3cd330323dff0011bed18f9a3b23ffaf3c1ba8233dfce33cbe6f401a3dea4bd63b57939f3cdf6e2cbebbe63e3d04a368bb52aba5bb008e02be10d53f3df27131bc2c9bcfbc2bd08cbd767fb03c32b70abc6ef212bd823f6dbc1f55613a049ad5bba522f3bc4bc0e03ce5f09ebcd865faba0fcce5bcfebc5e3d6e36ccbcf3539dbac2910abe18e5fe3edd7f653fdb9845be673028be10b71e3fff363d3fb60e45be5e9436bec0c2373fbae1f93e400b0dbeb90222be1a42383f0cef843e18f39bbd3c7cf5bdffe0263fc7ca903d28df9ebcdd3d75bd5170f63ecf3ac9bc923aab3cc87f2cbb49648c3ee6c984bd9c33343dad92293d67d7713de7ec6cbdf38e513dee24683d305dafbdcd4551bdfe863d3d185fa53ccaa7f9bc226252bdf2a80e3d2cd33c3d59fffdbd7f4fdebc7fa90e3d11565c3d4b2036be37c4193c58d5ac3cdb5a2a3dd7363dbe5ed7233d1e1b9a3bfafcbf3c8a421dbe4ec5313de69e3dbbe83e54b9b74ac0bd07e2f33cfa9cf0bb555d81bc14601ebd186a343c0cf8babb6d8a87bc35a35e3c31946dbc5ad83cbb4bff9abc93d3473dd319b9bc42fe1dbb1d6f9bbd4c63823ebbea8b3f62964ebedc09eebd60ecc03ec1f0773f868965bede5c17be0eb2013f3101363fe6f03cbee7f420bef11d133f7c5be13eeab101beed0807be2e490b3fe387603eba4b8cbda3c4c5bd6c61e73ef638413dd9ff22bc8bc20bbdfaa38c3ebb9704bd2ee3bf3c18f1873c3553a33dc1057ebdd00d483d30dd343d30348cbd6c9d8abdbfa35a3d4170203cf90fbabb967fcabdb90d363dfc93213d35d9c4bdf59581bd365e463de71e673d9acf2cbef40b97bca7f4053d67f9663d7c7b43bed3d3ad3ca965823cbe67333d4c1d34bea8b03a3deaa8a4b9ffb3bf3cddd7febdc7442d3d755ae6bbdde73a3ba59b64bde1bc993c9d33f5bb27a9c5badb69dc3a88db4cbc48e51abbb40d7bbca13f2b3d80c636bc4aa7cebbd36d9dbc548c5c3c5d2baa3f367b4ebedeb249bd4f6d053e170a953f6fe36abe4959dcbd2edd9a3e861c6a3f991a58be41560bbe7598d13e97b61f3f52452abef96f0bbeab9fe33ebb5fb53ea094dabd5c32e8bd2057cb3e04720f3eaf3640bd469782bd9c48883ec452be39d824c23b2305ccbb1841b43d131c51bd83c1273d899edb3c55781bbd498ee4bdbd6c5d3d00000000000000000000000000000000b7f6d93cd4667dbd63d9f6bdf3085e3d79204f3d7fb408be6da46ebd2a162a3d27b6713d2ba129be8c91b2bc2fd3e03cd517683d87f32bbee083643caaf5493c66a2343dfe240dbe1decfd3cf8d5813ade89c43cbe79a5bd004dcf3c3587adbbf6db833b136ea5bc6e15663cfbd3ebbb0000000000000000000000000000000000000000000000000000803f000000004caf41bc95923cbd5764a93fec5746be7abb79bd606fef3dd138843fec2140bebe1dccbdd5f66e3eda50443febf42abe6efae6bd1709953e6419003fe30d05bece22d8bd9e47953e0321863e6036abbd12329abd79de613e22d5a33dff36e8bcce80e2bcf3f0cf3df4c46fbdb5cf613c0000000000000000000000000000000000000000000000000000000000000000ee680d3c7a7b9dbdd4cd0dbdbfe9323ba696a83b5db192bde02effbc35206f3a041fef3ad4c77abdee4edcbc144496ba0a7c32ba35f350bd2e2bb6bc4c6e3fb8a9f2a6bbe1a330bd41948bbc7e56d7b9530fb4bb481402bd49321bbce6b18d3a319ec5bb3a52a3bc8300f6baebadb63a00000000000000000000000000000000000000000000803f0000000000000000520bed39f26a8d3f2460adbcf766dfbb1cf5563ca0e56b3f0d083dbc326fbfbb80cb8d3caee03f3f4a8af3bbb450adbbea378d3c3348143fe9671cbc240edabbc3b25d3c17f0d53e94f851bc4002cbbbff20df3b2820853e951e9bbc24f1c8bb9af6e8ba5b93d83de437dfbc801ea9bb00000000000000000000000000000000213f543c39422fbd4b4afcbc7d1ca8b742654a3c6a4ea2bd1d382ebd6e144d3bdee93e3c5260a6bd05da34bd138d55b21a5d073cf19096bdb2ae23bda9371cba662d8b3be35970bddd7c01bdf3ef4fbacfb0af3aa6584cbd06a6cabcdb248e3a92afebbabca417bd3c267cbc2ede753b0c2c91ba81dca0bcb8ea5ebb6044793b75d4feb94dbc8cbb35be503bb25b343b6a3716bd23bc8c3fa6a1dc3d40e0a5bcbaa901bdba92853fb323c63db786adbcf65bb3bb532a623f3762b73d67668ebc17cfb53b84cb373fa169993d34f882bcd999103c7d350c3f2aa4643df6a86dbccec4a83b0bc0ca3e5a66083de66a70bc97f37d3a73b7793e872f083c59194abce5adebbbe301cc3d773b71bc78ae29bcb926ecbb0deea1bc061be3bc6dcee6bbf5425f3cc36cc5bcc3aae5bcd5ee94bbeef1833c118d59bd39b03abddf476fbb151e583cc59059bd512f36bd693878bb3af0593c50ba6cbda85b3bbd5abc79bbce4f073c8e5336bda0bc0dbd8c2343bbd3459e3b794028bde963f3bc05d72aba8e98363bff6ae2bc0b629abc13e0a43ad32f7f3a87618bbcc6e905bcd47c773bd287c83a23905dbb44e2263a1ddf6a3b447337bd09876b3f7fdc843e68e6f1bc1ec72bbd8483633f34b1763ed8800ebda42980bc8dba3b3fe6f7583ee0bddabc1fd704bc2934203f2c1e323ec2dfcfbc1123f6ba8985f23e2a7a073e7445adbccba31dbbf276b33e19d6b93dde1ab9bc96ef83bb347e623e54d54d3d5956a8bcb65407bc5fb8c73de269fa3be53a8ebc726fd3bb933dd3bb8816adbcb3e33fbc3aca2d3cb08147bcbfe8dcbcd77206bcfcb57d3ce5cc0ebdff3d47bdcaf21ebc7cd1803c287139bd01775dbdb3bd13bc03af593cfcf136bdc2964ebd2defe8bbc81a203cbb3b27bd18e826bd6b18bcbbc7ebbd3bd7810cbd665908bd1b5145bb62a34d3b99edd1bc6300b5bcde3f023a9afd233bc8545dbc8f743cbc726a673b110a033a2b5142bbad4d6eba8f2a8a3b9cfe23bda6293f3fa69ad53eeaf013bdd5e42abd64af383fd7f8c83e6aee30bdb83cc4bced7a203f9451ae3ee84713bdabb868bc5486043fa0528f3ecf8202bde71412bcc121cf3e31b55c3ef1a1e3bc833b06bc8a9c973eb7ab1c3e334fe4bc9ee208bcd94f413eb036b53d93cbe4bc711a0abcbf84b53ddecae83c444ed2bc7159dfbb6134a93a13f39dbc5fd077bc2a83003cec01aabb5984eabc322242bc3865473c955bb5bcaa3f53bdabde6abc45a43c3c4aa6e8bc472159bdd2905ebc2967463ca4470abd83d264bdb44641bc8ad5eb3badbcbebcd3ac14bd6a4aeebbcb65d53b63d8dcbcd8291dbd894f9bbbb579263b0fd9a2bcb55eccbcc4bb33ba985aa83a55b54cbc79665cbcb3af803bceec0e3acc117bbb53345ebb8c938d3bc21615bd04a8143f350c143f814124bd78171abda41d0e3f77bd0b3f1c2745bd5277a7bc65f5f53e02deee3e05321abd06f081bc0a49d03ef092c73ef93a16bd9ed4f6bb5cc59b3ea280933e1319cebc858e1dbc70c2723e41bd5b3e4af907bd44bf1ebc864e193ed027033ea460f9bce48a32bc7e90953db31d4c3d16d6fabc333d03bc2696be3a772572bc18faabbc7d2a883ba8294dbb37f805bd2ba673bca397013c3d8d78bc542576bdbc2f9fbc8bb6293cad42c1bcb5d88abd32f399bc6110123ca46cd7bc0ea081bd46fe7fbc0299db3b695fc0bcfa2b5bbd0c9d44bcd875a13b91e8babc090131bd8801d2bb29f8193b66279abc2e14fdbc607d8bba8f7a2b390ba93ebca5ce86bcbae9973bb41509ba06886dbbfbaa80bbc472ba3b3abe0ebd12edd63ee3733e3f855431bd4df411bdc3a2ce3e901a363f772e67bddde8bebc824cb63e576a1d3ff62237bdaf857fbc23a6993ece57003f56b31abdb51f30bcfc2f733eab9cc53ea96114bdc2bf3fbc188a353ef8518d3e454316bd9bae4abc66d7eb3d2ee52c3e148b1bbdb3d85bbcce13613d51b78a3d23b718bd4f2721bc83d09b3ac0256ebc073bd0bc0a2d84b8875123bafd2d21bd969f8ebceb40883b9c9333bc875595bdf4ffc5bccc11e63b629a86bc68c48dbd42eaadbcb7dbe83bd8d09fbc5fb393bde73ba7bc779c9f3b69e392bccdc85ebda70e6fbcb97e463b2fed9dbcbd3b49bde75418bc58da5e3ae77a72bccc9705bd8a2322bb00e4c3ba0ecd31bc206e98bc284eb53bc373a5ba216963bb701b86bbba3de63b9000ecbca739863ef2696a3f7b4f45bd486ff3bcc92b803e7cbd613f9f126cbd479b8ebc028b683ea72c393f3b451abdbff35dbcd3fd463eba781c3fb03816bd814220bc6d1d1d3e80a8eb3ea6e7fdbc145143bc5b82ef3d2571ab3e973219bd0f292abc52c0993d11e6523e97a314bd86f670bc95960b3d121ea73d8fd72cbd1fef26bc31ab85bac3939abcea4ef8bc3ac107bb5564edba11595cbd75a6b7bc9b38dd3a702716bcd8f0b8bddce7e7bceb38a13b928b4dbcb694bbbd7917f8bc654fbf3b59c471bcdd6daabdd5e9dbbcbbc3863bff2c73bcb0ba84bd043faabc502e683a76878abc859b5fbdc98f60bc0747e1b9aceb65bc4b1a21bde43a9ebbe49613bb6bcb13bcf7a7a6bc5cc8b43b794096bbce678dbb345d91bb6a8b073cc5b4a9bc5a2ce23d77248c3fd6ac33bda01e92bc0ff6db3d5af2843fab5149bdece431bc5e89d83da923603f00f1ffbc0f68f8bbdd61c73d5f70353f957bddbc900bc7bbe8cba03de19a093f86fac9bca23e04bcc54d753daedfc53e4367fabc152930bceb30163d75a56f3e60821abdf43058bca2ee4f3c7da4b63d6e0333bd6a9f4dbc31b6ecbbc764e9bcba9914bd000000000000000000000000000000007a28023ba99dafbb381fa3bde759f9bc829b8c3bd518e9bb795e98bd7b52edbc4793363b5d800fbc461b82bdd80ac2bc7466583b12b61fbc066959bd1f6dacbc83aca63ab5cd31bc463134bdf55279bcf16941bae23b25bc2a0306bdf86a02bcb23e83bb9e8d13bc23a9a5bc6f7e12390000000000000000000000000000000000000000000000000000803f00000000717c64bbb2e841bcf4db8c3f0ee288bcca0189b9c416c13ac2cd6a3f312208bcb44573badc1dec3bb82f3f3f7a41d9bbaa5282b96dd2093cab3c133f6cfe12bc610999bab3e5b33b12e3d33e841b83bcb0dc9dbbaac50c3b46a7833e7215c0bc51c207bcf5dba3bbc500d33dc3690abd000000000000000000000000000000000000000000000000000000000000000062f70a3c200909bdfc6d13bd201b64bc57a4a33ba33a10bd299e06bd74af63bc7139713ac4ad0fbd95e5f9bc892269bcd4fbd0ba627201bd73facabcf30f33bc6d7e8cbbdacaf0bc05a6a6bc62e0e9bb53d7d1bbfd11d0bc519464bcbeab05bbc2c1fcbba8a9a7bcf6d3e5bb49ed7c3b00000000000000000000000000000000000000000000803f0000000000000000dc06043dcc44803fbc7619bb09b825bc92f9123db4e7583f87b610b8b37e13bcfa83143d2804333fa94e05bbb33229bcc80dfc3c5f4b0d3f8a179bbbdb682ebc8f47da3c285cd13efb122ebc69e947bcb120a03c1111883efdae8cbc1c7152bc8e8b463ccd7bfd3d0a5fd2bceb8961bc000000000000000000000000000000007253553c70565bbc50d9fcbc54634ebc0cb5543c623202bda74633bd04638abcd4d81d3c501a1bbdfde833bd4effa1bc2996b53b40e921bd7cc326bd01b895bcbc97ea3992aa0cbdbd8f0cbdfc807cbc594013bb1dff0dbd2792e9bcfbbb17bc4a0c70bb701afebcc4b2a0bc506814bbe49bc0bbc983b9bc1b472bbcf13fd63b27fb98bbdeb82cbce413daba600efc3b65de373cb4767d3f8460013e3ab460bc355dce3c167c6a3f5e65ec3db3ae8dbcc924103d7331483fcf04cc3da09776bcc976193d24e0253f744ca53d899f80bcffd0043d8526023fd76c763dc5b474bc3a71f53cf1b1c13ebc82103d8d9a96bcfb4cba3cbed17b3ea1742f3c64e89abcb7af543c7296eb3dab4c58bc4a7390bcf280af3bf156a7bb8d32d5bcd3bc52bc3306443c54bc91bb1134d8bcdd678ebc6d10733c909b97bc41c02fbdbb8cc7bc0d951f3c9443bebc02f323bd221cbbbc19270e3c5487f7bc0b5c33bd4bc2c5bc4b2a973b4703d7bc2d1e0cbdd0d795bc388f863ae0e6e8bc699e02bd11d859bcf6e4a9ba1250afbc9050aebc0167b9bb580b73bbfe0194bc81c858bc33b2203b48363cbb4d2609bca8d56cbb6409cd3bd1475839ef36573f8e4e873e790274bc145a4c3c3c6a483f09a7763e23c29bbcefaea83cc6dd283f2d9b533ede9b7dbc8f5cdf3c7670103f17eb2e3e146c93bcc326cd3c3803e13ede6f053e0f1e89bc0f7ac63cc584aa3eab37b73dd1a0acbcdf12853c06085e3e6596513d75899cbcf59f3d3c1056da3daa0e033cebfdabbc880da33bf1a5a93aea8ea6bc932763bc7a832f3cc429033a5fa4c5bcd75ab5bcfd51523c206717bca9e32cbd350c01bd7671583c2b2397bcce743cbd993905bdd25a213c6357bcbcad543abd60d8f6bce1abea3ba3bfb1bcccec1ebd0569c1bcaf94543b923cbbbc1cb20cbd350a8fbc17b871bacf50a8bc8499d7bc3f991cbce04113bb020c7cbc0c3983bc139e28bac3822cbb9d0402bc7a1ec9bbbb687a3b1bc3a4bb369d313f3b53cf3ece1565bc1f698e3b11ce263fb14fbd3edba59fbcd9576a3cb482103fc0e4a33e62318abce3baa43cce4af23e5d35873ea3f593bcdb709f3c65cbbf3e3b14513e3d89a0bc74c59c3c1aeb903ee4f6153e7f94b1bc7b717d3ccbfe3e3ecb0cb13d3382c3bca42f273c0595c03da58df63c7bfdbfbc5b918e3b6f0d933bda2088bcb4f382bc4ed5073c3b0e1e3b9798c4bc0a01cbbc5110303c0d9182bb99ac21bd294f1ebda316383cc7883dbc56d930bd7e0816bd35ea253c8a4986bcef8c3ebd4fa313bd4dc2b63bf6265dbc8c2605bd104dc5bc56cb713bdfd197bcb40018bd1f4ebabc84309d39eb1b7dbc59a3d3bc909f41bc917bedbaaef671bcafc09ebc7fab24bbee261bbb8c51ebbb9451efbbce3a473be2000abc9baf0c3fb2fd0b3f5e4a56bc43fc39ba7520033f388a003f48127cbc378f103cae8de33eb174db3ed18b61bca9f86d3cdbc9c23e68a9b73e2d7886bcc931533cd496953e4fe88b3e2a3962bc01136e3c571a6c3ee134503ed583b5bc80e5283ca40d1b3ee9af003e21bab8bc1d56e23b6814a03d0900523df69dcabcd11e273babf4b93b85475abca69892bc7dc5d63b1af18d3b19d8b6bc1cb4f9bc9422193c21f5e4babe5934bdfabb3cbdbd573b3c73b8f7bb02bb45bda88b3fbd4577153cd18449bcdcfd46bd77cb2ebdbfdcb93b52c953bc6d832fbd58fc0cbd4670843be8e173bc698e1ebd485ce2bc6267bbb9065e82bc21dd00bdcba086bcbfed31bb98a44cbcea2fa8bc1605a3bb3f4264bbc981e8bbc8480ebcd198fa3a153e2dbcf5c2d03e75fa303f7b8a22bc96548cbb8c8cc43ee5d1233fe2be5ebc9f28c43b2cdbad3ef9c10c3f72273cbc8868233c1c9d933e4da1e83e476f61bcc963323cec496d3eb046b63eb3b381bc1339293cb4fd353e3127853eba28b0bc3d7eff3b78a0f53dfcff283e1415dcbcb2b2ba3a1c267a3d2430903da5bde7bc7727e738c6409b3b48a53fbcc9dca7bc326d853b4e00843b1fafc2bc2eb713bd933a093c1f72d9393cf734bd1a785abd56ad103cc25c83bbc35a38bd61a340bd94c6153caca603bc198d52bdf4294cbd043fdd3b95232abc6d7d2ebd7c751abd954e693b6f604dbced4e2dbd752bfebc7fe61d3a12582ebc0ce5f0bcc2f197bcc19485bb230d3fbc7980b7bcc6f6cbbbdbbd8abbd993ccbb3fa42abc6c7fa73a426942bca9d5883e01e4563fecafd7bb70f8cfbb9607823e5373463fbf77ddbbdd16313b3b4e673e4318263f6fe3babb4c12f23b1caf4a3e3cda0c3fb3e00abcfd700c3cd120223ef2efd93e9d804fbc3d6eea3be3d1fe3d8699a13eb6c6a1bc5029703b7aa8a63de5ff4c3e9b0db7bc30ee5dba23d22a3dfd83b43d3a64fdbc2ae845bbd2ef253bde5036bc39bebabc4c196c3b4fd78e3b7a50e3bc066f37bda26cf43b6d97b33a52314bbdf9557ebd75700b3c013d40bb33055dbd7c9279bd2c41163c34cca0bb1bbd5fbd1f5d67bd56fccc3bfb06e8bbcb6e3ebd4cf234bd61c96b3bdc811dbc8c4b36bd4f3b16bd7c48c3b991052ebccff211bd1fc5bdbc2f21a5bbe3952cbc8c59c8bcaed8febbf519c7bba081f0bba0b234bc15ffab3a4c5a20bcd05c063e68157d3f89d5193baf7495bb9882043ed4e4683f8d58673b49a49d3bb1a1f83d9547463f9e36993b2488f23bd377e03d2ebe233f46e980b9fb81123c0868b73d4daffe3eac3ae2bb0c70cb3bfd33923dd42cbc3e1cdd7bbc816d093b031c433d14d86f3eaea5c4bcc89b96bb6560b03c3cf6d33d97f004bdc946bdbb49598fb908e45fbc8b65dfbc00000000000000000000000000000000b12ee03b2d50213bc72a30bd580364bd127d0b3cd7bce8399c0934bd3f3256bdacd7023c74a8ccba097b2ebda1f840bd9302c93b4fcf73bb4b771cbd6f6120bda6f00b3b3d06b2bb228010bd8a57f9bc63af723929f2f0bbfba2f0bcfe41b4bcc6e27ebb600d0abceb2fb9bce7cd17bc0000000000000000000000000000000000000000000000000000803f000000004758753a1b21453cba537f3fee26643c3c3db83b4942993c7c1b583f09f0383c0f79023cbe35ac3c6d35323f0642d93bb7b1fe3bcad8a53c61650c3fb1b685374691ee3bb074973cedf5cf3e7f1decbb4beb2e3b501e423c7056863eb7897ebc7b0bbfbaa108453b14a7f63d464fcbbc0000000000000000000000000000000000000000000000000000000000000000b091273b61f4fbbaba9407bca83c19bc0022b93a424a5abb2ff7f5bbb77613bc46b14c3a5b9676bbf07af0bb642511bcba910c398ade75bb720bd5bb7ac4febb268dbbb9606681bb9be5c4bb6508dcbbbf0a83ba82f77abba362b6bbb213abbba320a2ba430973bbcf2e8ebb125074bb00000000000000000000000000000000000000000000803f00000000000000000ce6fd3b2f07643fe07b633b81e5fbb741dc0a3c9985433f1d1b3f3b134a81ba426c083c17e8223f8791123b14fcc0ba9d22ee3b0323023ff9de9f3a293efdbae7bee23b026ac33eb38dac39d38723bb6acbe43b3803823ec3c211bb90f580bb437b943b9956023ee6022bbb075471bb0000000000000000000000000000000097ff193bffa2a03a8956ffbbac68ebbba2bc3a3bbba615bbf9eb15bc075a39bcc4e13a3b1d1530bb27fb1fbcc95537bce391b83a942988bb8c9b1ebc449245bc78cf1b3af9b77cbb29a201bc53bd1cbc79072e3a15f1b6bb680d12bc27ba1fbc5cdd25bb8b5780bb42d900bc675df7bbd64a91bad8fe82bb953db2bb7eac9cbb93c8cebaa8834dbb4a44f9ba059584bafeb3b03b98a9633f94e2023e98023bba59400c3c5ae3483f3082e93dcb278bba1168193c21842c3f6a3bc83df4b9d8ba14a8233c3ac90f3fd456a73d45a803bb0601083c405ee53e5925843d027819bb4d5f143c701ead3e263c463d56d092bb75e3fb3b7f4c673ef166f93c093766bb25b9b33b7b59e73d0d7f523ccc6793bba2cd903bfb9f123a6d2871bb218f89bbed2b283b2aea6537fcc3b4bb237b00bcbc1c503b32a0a4bad77210bcb90247bc42a20d3b933cf9ba897300bcb9102dbca8adf13a5dde42bb56ac1dbcee4951bc5eb3813a2ad645bb909cfbbb64c21ebc67a3e839866475bbd09d06bc60591fbcc11e9cbaf50787bbfa8de8bb5964f6bb82f52aba64ed5ebb0015babb4e2fb3bbde982cbafea812bb323142bb581e0abbe7c3803b541e433f6929823e79020fba7d8af13b82812c3fba8a663eb2f776ba071eea3bb775133fb30e453e670b6cbaec3d133ca578f73e1632253e620eccbad361f63b152dc53e2eb8023e4a2713bbadcc043c80f7943eda8cc33d40be52bb8446dc3bd547473e5d02823d52dc8abba886b03b8653c93dfee9f03cf97590bb221d3e3bec67d73aefb51abba92b5dbb7c001d3b8c12ca395f93afbbcd670bbcc07d473b82fc09ba075e06bc0e364bbc16ac0e3b0e5d01bbb1b416bc423e54bccffc093b26f721bbb9ac1dbcec1659bccc80b13aa3e136bb35c20abcd21339bceb60453a756c5fbbab350ebc0bd531bc4f8e9e3800ba61bb91e2f3bb9ae70ebc145ef1b9bc3b4fbbd716c0bbbc76c6bbb46a4dba8f950abb43ab4ebb5fa125bb396c563be1bc223fff0ac33e4c95cab9b956c83b34e00f3f9030ac3ef7ef1cbac626ff3b6db1f73e5788933ec515a9bae550083c671ecf3e1c85763e6b42cabaf45df83b0391a53ecf55443ef4fe05bbb310013c9d327a3e2cf4123e0d464fbbefaddc3b509c273ef9fcc13d6d6378bbbe3dac3b0238aa3df0f03b3d7ae98fbb3630213b4855ee3a3128faba36c05ebb2c5c113b177a2f3a111da0bb1f1513bc41303f3b7a8426b88ae9fbbb93cd50bc80a9263bb16c8cba2a3909bc2cae52bc27c4163b63e703bb6a451ebcc82b66bcca5aa83a5a0cf9bac6b2e8bbc9e620bcb4338c3a383078bb51370dbc1e113abcdbf187398de242bb9eb7eabb05f80ebcedf998b956af42bb8b14c5bbb1a2d7bb9a7691b9e936dcbae7513dbb10a891bbff6c2b3b8137023f95f4013f0b0165384fc4a83b4e85e63edc2ce53ec8d6c9b86c97d23bec60c63e057ac43e2191f1b9d496003c2d95a63e9908a43e65bf9cba173cc53b8c6c843eda40823e8f28c8ba49bef53bf40f4a3e3d33443eb82f32bb5e86c63bfa3c073e7da4013ee58668bbad6ea43b70908a3d61df7e3dbe868ebb571b403b4f1f2c3b4c4692ba5e294ebb88ce633b4fca0f3b6938a7bbdc1920bc988a3a3b2a730b39c88bfcbbb7af63bc2716343bfef23bbacf0112bc87706fbc62cf203b1c98c3ba4d4720bc9ee174bc2e61dd3a1c30fabaab110cbc0b0c4abc215f883a29be2fbb816712bcc90546bce5d5073a461f3abba0b1f9bb200220bc8a549db956873fbb87b0cebb06cbedbb5dad05ba9712ffba910364bb401063bb000fda3a3746c33eab3c223fbef7023b05049b3be2baad3ed0450f3fc197113a7aeecd3b5508963ec4d0f53ead3779392894ed3b5d3d7c3ebafbcc3e685017baa991dc3b33174a3ef257a33e5ff2bdbafa4fe63bd9b6193ef325753ee9b630bb19afd03b0b81cf3d80d0223e160364bbf2d19c3b2bba553df0cea03d770c93bb36752f3bf8f92e3b170665baa16168bbaa1b003b9a80593af7198abbda6c1cbc25a1343bc99b88397808fbbbbabb73bc411b413b8e1c4fb87809fabb7ae65cbc9cb71e3bc1d9a3ba638d1cbc65c57dbc2ff4f63a8fc19eba315bedbb16f955bc2bfd913a78c321bb67c811bcf32b4cbc8205b439eb4b1bbb6c11dbbbf18d10bcd66b9fb99c5a3fbb5bf7d8bbab8f02bce64819ba652107bb13b05ebbab656abb770bf63a71cf823e51e8423f7d4eb63ae4a6923bf6d3693e91ed2b3f71aad33a7476c23b65344a3e0d23133f6d211fba9306de3b82ff2a3e7db8f53e24e4d8381d33c23b48bd083e0daac33e8d1424bafaaddb3b358cd23d1cf4923ec8921dbb123da23b05788c3d49de423e87043bbb891d9a3b37cb153d34fcc13d969f94bb09791e3b39de1f3b1b212cba89b96abbe938b73adde7d2390c9752bb446a1fbc27c23c3b4e870a3ab28300bcab0d83bc19174c3b9e7e53b9588219bc813d8bbcb07d3b3b2a5b68ba873522bcec5288bccbabf43abd5badba839805bc8d6951bc949bbf3a724508bbda3a11bc4e4552bca609c3392a3434bbf1b703bc0a8a2ebc00a07cba7e4afabaae1fcfbb085909bc594722ba0fa208bb997d82bb99b294bbe070d33a4f7b043e2576633fcbd20c3bd6d0923b8b32f13d5791483f5893543b9a13db3b18cfd43da1fd2b3f75f61d3be904ef3b269eb53d3d500f3f0f03a23ad7d1c33bd946913d1747e43e86d9b7b8dc3fd73baa9c633dfb6fab3e67a3c8ba5bedb03bd5c41b3d428b633ee98550bbcfd8893b9b4ca73c3a43e13d64365cbb20f8243b0ee6243b63b603bad07b72bb00000000000000000000000000000000f185243b4e3e353a2d56d8bb7daf5dbc7ace573b602a313a92e1ecbb9f5661bcbd44103b013207baa871f8bb868e53bc6245e93a216d5cba7a40ddbb275b2fbc7bafa43a8194beba193ee9bb6f012bbc446ec539e09f13bbdb11e5bb4680fabbd04c61ba3b36c4baaea0b1bbf5cdf2bb0000000000000000000000000000000000000000000000000000803f00000000fea27d3bc7e5d33bacf5633f829b6b3bedc28e3b9eabd53b977f433f41145b3bf212ab3bf178f53ba396223f0991d33ac685a23b3ff1e03ba4d9013fab4b003a547ca83bcd1cdc3b59c9c23eb5634eba3ba0943b91bab83bed84813eb70d1dbbbba66c3b054f7e3b7334003e8ced20bb0000000000000000000000000000000000000000000000000000000000000000e2558e3913bd16be17ad33bcfd38783c7ff022bce56e0cbe3d4d93bc815c833cfc4c81bcd027f0bd1656c4bc125e593c2dec8fbc83a8c0bd4374b2bc32fc1c3c8a7a72bc7a2490bddef781bc7ce2df3bc98f0abc560332bdef72fbbb1ad2bf3bee71c0ba300990bc33b47a3a3202973a00000000000000000000000000000000000000000000803f000000000000000029b58ebd5bcca23feb21a4bd02e9193be031e7bcbcd7863f4f7e45bd0fc8eabae47385baf25e593f67e0e3bc25ea61bbc06d303c4a9d233f760d9dbc5ee7a2bb10953d3c4b47df3e64b282bc0ace37bbbf0fcc3b4420723ea4d866bcc2b99b3a04de7e3afe934e3d1b698dbc3458a53b000000000000000000000000000000003773123c91c7afbd1172c8bb3f0cc83bdf24de3b10ae12be6dace2bb04bc803c61a8e3bac7931abefc14c5bc96e6943c66de0abc821d07be597af6bc51bf883c6d6229bcedd4d3bdd90beabc28e2503c4c80e0bbe0ba9ebd0428b0bc8ee93e3c06a260b9b6a744bd4e7833bc9112de3b1376003c375e8bbcce567fbbc0c0e83a7bff053c3711903b8820c53b351f21ba70de10be3f4da23fd3f4593d41b8a9bcc90915becc839b3fad120d3db43a99bc77aeb5bd8477863fc5cb533d5455a9bcb6184abdf261583f9f6f603df947b0bc252bccbccbe9203f28c5463de2ea8ebcaf3681bcdbcad93ee6dd033d3e0e62bcdfe631bc63396a3ecb987b3c5c9404bc2bd5d9bb8fd3443dab09b73b60db3d3b615526bcf78893bd820090bc000d7f3b87f05b3bd16b4bbdaa1150bc0d2a693b1996b83b5fe8debd220cffbc01174e3c195a193b915fe6bd52ae34bd59bf473c3c2338bb1731e5bd1b743abd6fb06d3cb93b79bb5305afbd899820bde5a9093c841200bbc4048cbdfca8fdbce87c243cf7b6f539b5be2fbd96bb91bcf043fd3b0bcde23bc31099bca5edc1bb19e9b53b90fafd3bf2f4063bbc8b813b7f94363bf14a0dbeff27873f15607a3ecb2045bdca2219be55a9873f15e1653ece195ebd09c2bcbd7b72653f045d573ed3a938bd3f2691bd50fe403fb9c4353eb62930bd121b20bde45a0f3f39410d3e86280abd1b2a05bd1323c93e2427c73d4ee2edbc0bd3bebcad21643ede9c613db377b8bcfbea84bc3242863d2909693c42bf22bce86760bcca5c18bdc2f48fbc13268abb1b0c00ba716ce8bc5e58c4bc893564ba7000e53abd63a1bdd5a051bde9c9253c37f39c3a5cb1c4bd388a80bd1222413cdac041bacc0bb8bd6f9778bd2f2b1d3cd429f0ba05f29abd43f65ebd989ce93bad2c96ba995e73bd7b611fbdc2770d3cad05fb3a0d1d20bdd786c2bc1ed8133c42bfc33b45c396bce72a07bc7262093c3fabad3beb8fd2ba530e8f3b0213ba3bdcccf1bd80ad5b3f9160e43e72e097bd8d6b05be624d5c3f7d82dc3eb5aaafbd6512c6bde0c2423fd746c23e746b94bd085b8dbd2b36203f418ea03e892f79bdbfe742bde37bf73e88cc793eecbf55bd710d14bd59e6ac3e3daf2a3e7eed2abdc4fce4bc123e4a3ecaf2bd3d172305bdbd82b1bc2190923d4a9fdf3cd469a7bc1b0e85bc6e1190bcbe10babcb64649bcea2122bb48206dbcedbd0dbdd4f228bb5efc403af9f956bdae6f8fbd3f8fda3b6092c73acb1f89bd0695a2bdfe11bf3b4b02bebab96f8ebd48b7a0bd92d0ba3b312840bbaf764abd211462bd0e1e25bb09e2f83986024abd55bb49bdce02d73b4a8fa53a96410dbd3b34e8bc6ed5163c77b6923bc62183bc4b2f2dbca951293c292a603b5449d7bab79a733b8771133c7ca2c6bd36fb263f80d3263f3b8fc5bd5430d5bdda36263f73bd223fdb1fe4bdf2039bbd0411133f17b50c3fb92ab4bd83f977bd727afa3ec78ce93e52409fbdebecffbc7b46b93eb606a93e86de4fbd43480fbdc17b8e3e7044763e77da63bd8146ddbcec362a3e6c88073e23ed26bd11a0acbc61f78a3dad99233d75e4efbc8aaa8abcf671ddbb4538dbbcf975a8bc026c6cbb56289ebb2cd53fbd676d93ba48acb03a6d9813bd35c2bebd83fb223cd99c473b064554bdddb0d7bd9804093c42f20a3b152e5ebdfa3dc3bd8e4aaf3b48d75e3ab3504ebd6408a2bd5f1f623b1d74113b144227bd9e8d6ebd934ef13bd5946d3b65c5ebbc217f11bd2932353cb97eaa3b725173bc07484bbcef58543c0346643b8d6f91ba3a0a4b3b93962a3ceac29abd2540e53e126d5b3f4d75f1bd4051a7bd045ee33e338e593ffa2a0ebe88f583bd6d6fd03e241d3d3fa07de8bd5d374bbd25cab23e87eb183f7930b9bd38471fbd7b57913e1cb3e63ef21896bde57b00bd6ea9533ee1889c3ed68273bd80acd7bca3e5043e12a92c3eeef642bd3e299cbc784b623d7c4f433de90103bd075265bcafca80bbe4bf0abd5e26b7bc774817bba116003b338383bd2d1def3b6629723b5e19aebc40fef6bdfc69913c1aea4d3beb9207bdb1e9f9bd0316d43b10403a3bc5ae25bd80d8ebbd9c3a9b3b90551a3b120017bda44cb5bd77ed0f3a08124f3b292908bd52b88bbd7a2ef43bd6434e3b663dc0bcdaa420bdd4d60d3ca67bae3ba8383cbc9cf66bbcc68e4c3cd8f76c3ba70d51b9ff8db23b49db433ce7014fbd70ae7b3e0036873f79760dbee0d853bd7b3a743e507d863f267922beb06923bd03796f3ead77623f5392e6bd842f15bda57d583ef3483b3faf19c4bd3450d7bc464c343e8569093f15f58dbdacd0cdbc7dbe0b3e448fbc3e248977bd4d469dbcdbf2af3d5cac4d3ecbe233bdbb934dbc3b591d3d0e37463d528fccbcf09c21bc5dd403bbae454fbdbb818cbcbf3002ba5d424f3bd3ddc2bd5799623c64ec073c521a0fbceb571abe16d8f73c55e3c83b90f9b7bcd3e21ebe266d4c3cd482be3b14beedbc22c709be15c33a3b4c29ac3b26daecbced03d7bd52c306bba656b03bc4d3cebc3a2d9fbd27ee853b4eb6ae3bb1b68dbc93d53fbd0d1e0c3c76c5e23b364dcebb129474bcd30c323c701f153b0bc0063ad156073cba48353cd842b5bc59125b3d1071a23fc06213be95539cbca83c453d9ef59a3f8b2d21be189da4bc855f9b3d0971853fb46be5bd3f559cbc59a9b03d5644553f1f44a2bd319d81bc513fa73db92b1e3f3c736ebd329877bcce80893d4df1d33ec72644bdc9ca3abcc411383da37f5e3e32ec0ebdd91441bbc78fa33c942b203d941b27bc380993bba0f9cbbb9911a2bd04976cbc00000000000000000000000000000000bb15d23b9249d7bbd80b18be7d36db3b4df1c33b8d4272bc7dc80cbee75676bb6b99a33bde82a7bc217df1bd88f75dbc0bb4703b5a67b0bc80d1c0bdbadc60bc15599b3b334f9fbccff78dbd23c80abc1a6ea43b98284dbc5b742fbd0e6348ba7ed8513bfb52bcbb967a86bc0c14aa3b0000000000000000000000000000000000000000000000000000803f000000003ab33b3b156e92bd48eaa23f3220adbd979b303905e4f4bcdaec863fa3454ebd1ac335ba2ecf02bb968b583f92e6fcbc861cbabab76b233ccc13233facb5b3bc103969bb4ae4213c4bb5dd3ec80da4bc28e716bb5845de3b8ae6723e8c9b88bc81203ebae26f5abb0c924f3d02fe6dbc0000000000000000000000000000000000000000000000000000000000000000f72286bc8492e0bd534ed1bcb146c43ceaf1cabc2156dfbd53e1cebc0444d13cdf4ce3bc19b9ccbd9132e0bce112b63cb119dcbc58b6aebd15cdc1bc2e80a03c5761cdbc3e918abd57fc85bc91f3893cd6eb89bc745a3cbd6f94e7bbde61503c4424e9bb0a9ebabccb49273b0c71db3b00000000000000000000000000000000000000000000803f00000000000000007d1d82bce8e2983fdebc43bdfacc95bc02ba903cc2227f3fdf6f09bd3d71afbcc9101c3d8df54f3f0e9acbbcdedbbebc3a3e283d55e71f3f7629babc23d6bdbc73a2083d1116e23e6bf7ddbc8cbf92bc6d14913c31f4853e6f2ef0bcb7032bbc8e5847bafb3eaf3d946c0cbda636d2ba00000000000000000000000000000000ade385bbbbf65fbd5ca0b9bc4480423cf4967fbce0a2dcbd5a7ecfbc83e3ec3cb3c0b2bcb011f4bdd68109bd52d8fe3c5ad1d0bc9c71e0bd346011bd3debf23c87abd0bc3e27bcbdeb35f4bc6b39cb3c93f6adbc655497bd2b0da4bc3e5eba3c52bf4bbc358e4abd230119bcf286853c90a53c3b43d9aebc9ce22eb925fc983b9980ae3b99db7d3ad509b73b64db253b6291b4bd6157983f1e29bf3d79d810bdee67a9bd2de3913f0031903d2afe25bdeca5d1bc8fa77b3fb4708d3de2f931bddb4d8d3ba4674c3fb414703d54322cbdb0f39a3c29871b3f2454293d612118bd3497743c95a5dc3e45f49e3c30ec04bdaafe973b181b813e2da3e9bae847b7bcc4d721bc5949ac3dc13c67bc00de98bb044287bc64b32ebd8c13fcbc38c3b23a4c16b2bb69acebbc38afc3bcc19ed63b024243bcda76a1bd23632cbd58abb03c582062bc0234abbdab7945bdc58f8a3cb58f9cbc5415c1bdd23243bd3920cf3cb2a18dbc60839abd68a524bd5cf0923c8bfb7abceddc86bd3aa800bd3952b63c82f62abcc98b2fbddcb594bc322e743cdba34eb813b8afbcfcffd3bb98e8433c906d963bef9f45bac6ed843b85afb23b8c97c2bdbc01803f2afe883e4fe85bbd8d78b6bda9837e3f63a0773eb2068bbda20e0ebd355d543fc2635e3eb98469bd0c7c8abc983b373f70ba313e19467abd53f4c13aefc40a3f3e68043e8e8b4dbdb0fa5eba8140cb3e0474a73ddb7541bd7b3447bb4c63753eea282a3d171a0fbd669e70bc840ec43d6af211bac872a2bc3efa7fbc60f791bc7bbbdbbc0c820ebca63aacbbd7da73bcf7d7f9bcd9cbf7ba2c7828bc117874bd4a9858bdee7b743c935455bc966e9fbdc37080bdb1e1983c24ba6bbc96a9a0bdf65675bd8ae49a3c6b737cbc317592bdd02955bd27bc923c7f8f75bcc42576bd252014bdd2d29b3c80ff11bc315929bd6702c7bc6f339c3c433b53bb5778aabcdf8b14bce6e57b3ced109239dc232bbbedb3083b2ef6263cb475a8bd683c523fbe48e63e3d638bbdbc8babbdbbfd503f7af6d93e42d3b4bd48dd45bd9d99393fc202bc3e1ae9a3bd5ebac9bca8b01a3f137f983e707993bd79f317bce6c2f33ed655663e582d88bdd5bd10bc188bb23e50e7193e80a66fbdfff528bc29d15c3ead38a23db7c448bdd2047cbcd1d6be3dac4a913ccbe005bdb49e7abc9ea498bb972ce7bcb0f0a1bc3589cebbd9dc02bc8dc90bbd19e2ccbb09fd16bc890730bd609682bda112e03b603d24bc5c3d72bd02fe92bd1ae40e3c834e52bcbe3c8cbd4b4d91bdfc2e5e3c31ef23bc897e4cbd58af60bdd2368a3a52465abc8efa56bd65dd47bd2195943c03c917bc8e8e14bd2f84f8bc71b08e3c865986bbfc439cbccc0951bc0e378a3cba01f6ba402a70bb2d1f733a0b30523c7e7897bd2924233f17aa213f8821a1bddafb92bd59f0213f0dd31a3f9bafcbbd943423bd2ee00f3f09e9033fc39fadbd1228cabc3062f93e490dda3e2f89acbd694963bb1c3fba3e3bb09e3ecf9e67bde7ee32bc96df933e7a24633e988b8cbd6eb12bbce6c1383e21e1fb3d126161bd11d883bc0ea0aa3dce35163dd2c22bbd551b7fbc5e51ac3a8108eabc3a52dcbcf9a2e7bbf0f999bbf06122bd496804bcb3faddbbbb1d10bdd3749ebd8bf8e53b6f1313bc65805abd91b3b3bd9aed073c331917bcca3b6bbdb6fea8bd7a69253c932e28bc05855ebda6aa94bd9aa2223c18861ebc207f41bded2d61bd88ff873c1e34e7bb5c880bbdf16514bdc1b0a13c319736bb022590bc6f6288bcc25ca03c790b53bb9a223ebb623f973a2bfa5f3c4c5681bd8d4ce93eee5c503f4a39b6bdbf9182bd5f69e83e22b54a3f353cebbdb2561fbd9f6ad63ef37e2e3f1f72ccbda246d8bc5d83b93ee7810d3fc686b6bd671d83bc94c0983e195dd63e4ed99fbd2c6272bc19e4643ebc08933e340094bd2d0587bc26e7143ed4a2273e7c1383bd104887bc97c98a3d18dd4f3dc24d3fbda83a78bc811caf3a7b8003bd39f2fdbcf495c7bb28c4a9bb483d43bd4a44a3ba9b06c0bb0e64f3bcfdc1c1bdfcbd2c3cf4b984bbf72925bda6eebebd6ba22dba26fafabb738949bde29ec6bd1727dc3bf10efdbb50ab34bd98b19cbd70b46c3b222903bcb5db28bda70483bdbd29683c8e3be2bb4a39e8bca5da29bda4ea593c2c75f3bac66d7fbc510a90bcc3379e3caf438ebac0c5b3ba4095633a270d753c56c94dbdc5408b3e0e1e7f3f20ccd1bd1a7e45bd5ab68c3e751b793ff074ffbd01fddabca5fd863ec0e04c3f7d54afbd2ae7a8bcaae7763e40832c3f5773b3bd8a4a34bcdc954b3e2406003f4c1d91bddd9c5dbc525f203ecd79b43e0e9293bd78bc32bcbac6ca3d8467523e019067bd72324ebcbc283f3db8097a3df43441bd56ea4dbcbc0ab5baa5ae1bbd4db7ebbc21b65abbb4d302bcac038bbd786f0cbbcee633bace3edabcb11aefbdd0a9af3cd374e0ba3efc24bd1433f7bd12b9023c9fef57bb17cd33bd0ca0e0bdaee57e3bea0887bbb5fe20bde193bbbd0128033bbbff9abb96190dbdd8d392bdbee92c3cd204f8ba2025d4bc785142bde0758c3c304f3c3b65e312bcef5ca9bc54438b3cb1bb4dba4d305dba9e73113a1891793cefb006bd9988c83d92f0973f7fdcc5bda0a8d0bc71a1cc3d0c16903f33dcf3bd97ba91bcbf28fb3d9df8753fdebfb5bdcf6d45bc7981fd3df7e1453f77c693bd72c7fabb9b5de73d66d1143f33157ebd025305bc4ee4b63db1f6cd3ee7397cbda35e24bc5bb2703df455693e465a6ebdbe8fe2bb39f2bd3cdbcb853dc2f01fbd00fd21bc1eae08bc912b63bd3e19fdbc000000000000000000000000000000007902033b96c6b8bc1820dfbd08dbeebb36e6053b1a79e7bc7fd7d8bd4e1a19bce32c923afbf0fcbc72e3c5bd02f784bc9c7d043ab9e0fcbce44ba6bd3ae868bce91881baed3fdcbc6c5c88bd7521acbb61745a3840ac9abc6d323bbd7ac95e3bdd80a4baa0072bbc1347bebc206f3f3c0000000000000000000000000000000000000000000000000000803f00000000aba6b1bba742afbcfe34983f2b2d5cbdba5114ba7e18213c2d0a7d3fcdd71ebd7e4f053b0e26f73ced4e4d3fd0beefbc15fcf73ada6d103df02a1d3f693fecbcb9b1913a2c10f23c19cedd3e96d709bd9ef887ba8b56953c37bd813ed45110bd528f99bbc7aa543a36f7a33d9bd61abd0000000000000000000000000000000000000000000000000000000000000000e28c8fbb5e702abdf443fdbcc0c180b9216230bc135a41bde67ce9bc0dd7103bbeac57bc98233dbdca12f7bc8333abb843c179bcb92b36bd8e34d9bcb5298b3a38a597bcfff31fbd651aa4bc0368a93b1ac582bc8c4d05bd534268bc7454343c4f7767bc6439afbcc29acebbb9c9613c00000000000000000000000000000000000000000000803f000000000000000021b2f73c72a3833f1cd43cbbd3e2a9bc78d9263da3bc5e3f1a9594bba0a4b5bc8ab8353d6de6373fa91f8cbbbe2cb3bce9be2f3d60ab103f8fc4febb7383b6bc48200e3d3066d43ead9f6abc5e87b9bcd176b83c68c7873e78e1a8bc3785aabc24581a3c6be4f13d9038debcc853a6bc000000000000000000000000000000001ca5553b51ed7ebc06e8cbbc99d3c2bb4b4491bbc4842bbd13fe07bda53ad53bf9a819bc05b050bd84cf18bd9d7d363bfa2366bca24059bd7cb711bd8f7f923b289a87bc321145bd75c500bd9a4a963bac7b93bcf67a3abd1279d1bc36b63a3ca8e699bc9b2714bddae885bc4398833cfa0e47bc543d96bc5fdbe0bb32d2853c4a41d7bbe71ac1bb756c87b93a6f3e3c75ebafbabf14833f05e0023e7ae1bfbce173673c337f733ff1e7e33dbba316bd49650a3d9cc4503fc563c73d287a08bd05ce2d3daa152c3fe9a59d3d917f07bded28283d361d063f4503663d282b04bd9b22083ddc2bc63ebff2053dee760cbdec78b73ccbe77c3e53fcd43b08c803bda1f6a93bf85ce03d9c2680bcf8a2cebce15828bb91ff35bc3174debc572e8bbcd6bc373b512ec7bbe964afbc821122bc41e7a7ba5bcfddbc773716bd00d40dbc76e207bb2d7107bdbe3816bd20a64abccd6d16bc087332bdd38a25bd1186b0bb0f5240bc501f20bde51d0bbd67dd80bb43557bbc1f4823bd1914eebc4657bc3b7f312dbc542bdabc7d71b1bce2db873b5f9d3ebc15ab9ebc85e72cbc6d6b673c7cb89ebb52ccb7bb095566ba21b92b3c23f54bbcb8da5e3f27608a3ea025dabc69a8493b6e4b523fd6b87b3ee8bb19bd0248a43cbfc72f3fcf0f583e40cff6bc7bd5003d1b77173f92eb303e2ae518bd184a003da715ec3ee2b1043e435b0cbd6e0fea3cdc0db13eeab3b23da6ea1fbd2b7d913c928e643e9a394c3d501702bd85d6d03b2647d83d451fb63b450303bdf0b7f6ba9e402cbba2cfb2bc347aa8bccddd513bdccf51bad02cabbc62f4a0bc42d9e1b924679bbc254d14bdb44c92bcc2552ebbd56609bd8b4532bd744980bc26a2e3bbc9d519bd97172ebde9d43bbcd68419bc2bfd17bd7bfa1fbd264a1ebc45a765bccbaf14bd902405bdd214ef3a19b760bc80e0efbcecb4b8bce197ee3b715142bc83c59abc0e774fbcb186453cd6c8f2bb20acfabb0cf689bb4bbd373c876759bc8527383fc886d53ea9a8d6bc38c473bb2a7e2e3f1866c43e6b251cbddb7d873c262f193f700ca93ec5d819bdf41bc33c153d003f1d168a3e6bbc20bdf3f4e13c4bf6cb3ee144553eb5eb1cbd4fafbf3c7546993e0541143e10cd2bbd3290873cb594473ea67ca83d9cb92cbd2716ad3b120fc33d2b00d83c945e15bd1a5b4bbae5313b3b24489dbccb9dc7bc7d54ff3aa1be653a5ac5a4bcdcd7cabc92ef80bac6e37dbc117e13bdd6f4d5bc973247bbdf51cbbcba082dbdc74ec9bc8065a3bb879400bdfc5642bdebcfa5bca5929fbbd64adbbc965f16bd3ec3a6bc5e9738bcf30d05bd577915bd9d11ccbb1ea848bcf30ad8bcd3b4cebc6487bb3a96333abcc6ff9fbcb17f71bc134b203c25c10bbccd350cbc26ba96bb54f3273c131674bcd0f8113fc38a103f4bd8c7bc0e65c3bbc5170a3fa0aa053f8d9514bd74843a3cadd0f23e69cfe23ea0a605bdbf1da33cbe8fd03e1d3dbd3e39a21bbd9e52b93ce6d3a03e3ec88f3ee079ecbc58c8a73c30167d3e12a5513e9bef26bd70c96a3c528b263ed373fc3db03c20bd41a5973b1271a63d8c70453d5db21fbd86bfe2baef11813ba0c98cbca98fddbc7a463cba033bbc3aa93ba0bcca6ce6bcbc4a1abb787160bc353b22bdb311f7bc5af43cbbfbe2c9bc14df44bdad23f4bc62d3b7bb5278febc440b47bd5b27bfbc5961eabb4de4ffbc22b136bd058ba3bce8d233bce3ceffbc777d1bbdb07effbb376371bc63fee7bc0b7bebbc53ea213bfccb60bca0ce9dbc01ca7ebc9a12273cb2ec26bcf2d01fbc053bc0bb27b4293c230e86bc75edd83ed8d4363ff75cccbc4cdf09bc3cc7cf3ed8552a3fb87b13bd221d123cb549bb3e5942123f67100bbd995f813cdc83a13e1a8fef3ecb3810bd51f99f3c518a823ee455ba3efd2314bd5ba67d3cb8d2463e2451863e6bf026bdef0b0a3c62d1053e87ab253ee93733bd30cb94b8b731823d60cf863d4c9627bd12056abb0b16843b66ce73bcd0fcecbc124358bbc51b28bb5eb1adbca6a9d8bcab5890bbf3387cbc371b2fbdf8b806bd7d5828bb7fb5a8bc86bd36bdb8440cbdd498a8bb8da3eabcf9235abd970ee1bcbe51c2bbd4a1dbbc28653cbd691bbfbc591c18bcb53002bd77fd29bd69552cbcfbd823bcedb8babc7b6ddfbce6ddebbbd63673bce97da1bca8438ebcced8203c62972fbc541915bc99e889bb827a473cd82f8abc28a88d3e16865d3f04bdc3bcba8dffbb2a4f8a3e2ca24e3f94df03bde6ade73b1650793efb252b3f5bbbafbcc585623cecab613e2b5a113fd93c01bda89b883c964d383eb962df3e3e43f5bc00ea543cad610f3ea629a33e6c6a1ebda155eb3b0233b83d3cad4d3ed4a10bbd796431bb014a393d0ab4a73dcbcd29bd59db01bc05f613b985848ebcd72cf4bc4e8758bbd24abcbbe9b3dcbc45b501bd26468fbbc2a49bbcf70348bd0a67fbbcadcbaabae74bbdbcccfa6abd3c790ebdf8eefdbae620dfbc5fc866bdec0d03bd0dcd90bba12bd8bc062e4abd649cd6bcdf1f04bcb844f1bc788f32bde9ee65bcfae842bc80dbd2bc2d4807bdf55ee0baab4e5fbc114f9cbcc8b89bbcb45f3d3cb07749bcdf8636bcaa7dc3bb9dbe403c0ec74ebc9a980a3e336e823f271e78bcb63fb2bb8b5f0d3e910d713fcb7cc6bc5e810f3c5a820c3ed3f94c3fc70598bcf210603ccd58023e3713283fa256acbc48ab8b3c68b6df3d0ee7013f57eec9bcbbc4313c3a1eab3d5dd9bd3ef66df9bc3785913be726663da48c6b3e8cae16bdd86ac2bb0377bd3c63cdc33d82a821bde19917bc05457ebb3ef2aebc296002bd00000000000000000000000000000000f04d31394bc95fbc1c043fbd6b491dbd3b50743a3e3e8bbcc9a54abd07ce16bda0928a3a4d9b9ebc534e45bdb41318bdade4363a7dbeafbcc83f3abde71602bd67823dbb83cca7bc83b81fbd4a86bbbc2422e5bb2d239fbc50b9f3bc047113bc524747bc3e068bbcf25fa0bc76f2243b0000000000000000000000000000000000000000000000000000803f0000000034d4953ba308a13c6efb823f0d238cba02e3453c4348013deed55d3f78e220bb563a8b3caf3e1d3d8614363f1a0252bb273b8c3cd1da1e3dc8020f3fe2bb19bcc66b603cf535023d157ed13eda6d86bc93cf083ccb04ad3ce090843ee5dbbcbc43ff93bac223ce3b15e9ea3ddd6201bd0000000000000000000000000000000000000000000000000000000000000000a51fe03b0c8f3ebe8f57eb3c4262983be49027bcc52a31be72c5a43c20f4093c09f1adbcbeb51dbed6cdca3b81244f3ce9edc9bcc36001beb7023a3bc7df353c4f9fb1bc8104b0bd605595b8e28d063c979825bcfc994abd7a4b22bb2aafd33baaca25bb80eb2ebcb50989bbc847a03b00000000000000000000000000000000000000000000803f0000000000000000db31d7bddd3eac3f37210fbedb25833c960e30bdcff98d3f10fdcfbdea36ec3b2ac309bc8633693f8f3ca5bd10c97f3bf4bb943cb8ec2d3f017271bd6602ef3ae3c1ed3c6684e13e6f3620bd22e5dd3ad3a6053d13e75e3e0d8c34bcf9e3e1393c29d33c19f8f93b21a8e93bf6b2aaba00000000000000000000000000000000bc57913c4721d6bd84cd7e3ca7071639fa51a33c208321be89cdd33c0a78ed3a8d128e3b797b39be21894d3c9187403c603fcabbeeb82bbe635a293b93b08a3c99950fbc2d5e09be305e40bbdb7a673cb6c0eebb6a0ac6bddf7fadbba294623c5a7d7dbbdecb5dbdb8210cbcf0ec423cf111153b09439abca9dae4bbbc53f03b0f3a2d3caf583e3ce44b83ba592acb3ab1874bbe44fbaa3f0fa01d3c4a7e46bcb6462fbe47c49c3fc0dd90ba2f6637bc11ae01be00e48e3f7cbddfbbe37576bcafc6a3bd00eb6a3f1027c6bba9d271bc62821cbd14202f3ff5de9e37ade54bbc6edd41bcebc1e53e7fe6d53b109e2cbce174243cb492613e25f86c3ca3070fbc0b6bc83c20fb0c3d2018e43cd8c03cbcf662c13b6baedebd8d740e3cd09a2aba0b996f3cec1073bdf3c24ebb7f54023ca0e7903cf6110abeb80717bc67dd5d3c16f2ec3b65281fbe0bb298bc8dd6a43ccd35603b4fb718be8c69aebc0001a83cb73544bb1d9af6bda0b2acbce8a9793ce7f03a3a5c01b9bdd3578bbc2a5a743c4e02863b61d562bd4b5c3abc026f293c306ae93b2daca4bc68b8cebba755053c6903223c8440883badcb423bee80103bfc4c4dbe7adf8d3f49fc673e72c377bdaca84bbe5d7b8f3f4782403e90cc75bd96981abe7894803f74cb223e40555abd0778e6bd50fb573f9e40fb3d8d7036bdefdb83bdb1ac213f4245bc3db43e00bd498911bd3180db3edef2813d1dd9c7bcbee848bc1cfc663ee33b133d9aad2abccc92ab3b73534d3d89e87c3c042bacbb0edcc73ac63074bdb34b1ebcf2ac943b6cce063cb7e723bdaa76e4bca5966c3cb1df8a3c05c0d4bdef6430bd44a6d13cbbf21d3cc1b004becc8851bde3fde43cffc0fa3b427400be9c5e48bdc273d53c242b3a3becb8e2bd46d628bde034b93c9a1e9c3b8b99a8bde80df9bc92078a3cd52fea3b134a4dbd8db28abc3b25553cd0a3203c0057babc3cb08dbb5dd4fa3b237a383c12fce0396defc53b62aa863b3f193ebe0a906c3f59acea3ebdd9e3bdc5c342be61ae6d3f9903d53ed1f4e6bddede1fbe4a515a3f2791b43e3e66c9bd22d9ecbd3816373fc10d8e3ec9e29fbd8b4ba1bd0809103f339e513e8e136ebd9e5644bde3aac43e705d043eea4e17bd7a43b3bc1ac85a3edba0803d157e92bc3c9388bb44e6843d3cd91c3c8fa13d3a30b2c7bb2ccc0fbd98370bbd0d800b3c60f3a03b6b3da0bc518345bd0b65b03cba5a5a3c1efc98bd46a0a3bdd23e113d58b2353ccc1ac8bd57d5adbd4c77043dc9cf2b3c26a6d3bdb165a4bda730053d12e4403be208a7bde9e572bd45b5943c9c39ff3b043698bdc82f31bdbe29a83c4fb0ec3b129434bd0f82bcbc56d65b3c606a273cf0bdb3bc899588bb2822e93b921c273c807a3b3ae70b283c60dc233b175c1cbe1a65323fc0be313f8afc1dbe5ddd20be2c68343f45b1273f40cd25beff1a03be49d2263f06d10f3fa36609be9944dabd30fb113f09eae43e0837e5bd73f478bdbadbde3e9955a23e5f6f93bdc1344bbd41f9a83e2af54c3e1fa04ebdd828d4bc51af423edc90b93d7397abbca4cf09bc3099943d22e5343b02e8c03b80ddcabbc7598fbc7caf69bdc4c1653c682d8e3bb65d55bbe3f58dbdbefddc3cab56553c1f8e37bd0216ebbd4070373d12365e3c495a90bdffa9fdbd90e22e3d21f44f3ce5c29dbd6bf3e1bd9cd1153d74cb163cca2397bd033db6bd03b7e43ce750e33b1bfe69bdb5c16fbdb889a73cba0c103c80862abd30cafabcb4ec5c3c5eae003cf5889bbca317c3bbe5eded3befcf083c0bd6b0ba35d0443ccdae603b4c6ee1bd97b7e93eb89b6c3f0e8b3dbefd87e9bd697dee3eb184633fc8464dbe3a83cbbd308be53ec9b3443f0dae2dbe7120a6bd5f28cf3ecadb1b3fb54807bed5d081bd20b1ad3e577de23e4499c6bd844f2ebd0b60823eb9488c3e80dc68bdbe23cebc6beb293e6964f43d5bf297bc35c921bcc3c8943d06b8f9badaa03b3cfaccaabbb0feecbabc989abd59929c3c90782a3b62bd273c2478aebdb35b0d3d11ec363c6a0aa0bcf10a16be80014f3d590d503c0e1c30bd3e5a20be10e33c3d236f513cd7505cbd37ec0fbe6900213d82092f3c755f55bdceb3d9bdc055cd3c0e4d123c26c63cbd359c9bbde2b0b33c1301f33b54f800bd5dee1cbd412e613c3e16953b9fe287bcc974d9bb787f7d3b1b09aa3b4aa89abad6d34f3c1cb21d3a364079bd842d6a3ea6498e3fc2244bbe94147ebd64c8713eb37d8b3f846d5bbe77ba71bdda747a3e2c0b733f038439be72a851bd5513723ece63433f67f916becef61cbd4a63573e72c40c3f33c2c8bd65aff6bc721d333edd56af3e8ac272bd1ce891bce74af93d88921b3e6020a6bc171b0fbcb83a8e3de8c428bbe6989b3ce8fe46bb99f0353c8585b8bdb282f83cd670d43a48d7853ca14dfcbdb24e223d0f42d13bd244613b1f1e2cbecba1733d3ba8563cc232b5bc1c493ebebf33473de795563ccbf101bd06b82bbe7e1c1e3ddf691d3c772218bd55ec03be19b8d63cd240103ceb3d00bd190bbdbd85039a3c9f32983b6c6ec3bc25c83cbd73ef1a3ca04e673b46f75bbc17b92bbc946049bbf6e9553bec01933928a4993c42a22cba0e665cbcb78a443ced2cab3f1cf04abee55a49bc8c401c3db9339b3feab74bbe9891b0bc68ae8c3da7478b3f44eb2ebe3715bebc18dbb53d0630613facac0abe08fa94bcdb3ecb3d09ed233f3847bfbdba8265bcf0b9bf3d3588d03ec6465cbd5d3a1abc556aa33d24503a3ee97a46bc02d28abb27326e3d7d96863b8a870a3d77571cbac1e6633c78d405be1a8c033d00000000000000000000000000000000254d083ced08833a904441bedd311b3d6be6273cd2d562bc1b3435be2124f53c8241303c1d29c5bc40cb23be2fb5913ca474153c4eeed5bc4b3e04be576c293c69d4e33befc7b3bc17d1b7bd9054da3b1f485d3b996a74bce90349bda8a8d93a246d7bb986239cbbb40519bc3282fdb70000000000000000000000000000000000000000000000000000803f00000000887d6a3c41addebdb733ac3fa7830bbe3c98843bec573dbd1ceb8d3fcf07ccbdb43c53baec0e2cbc6519693f85019cbd8f2c83ba9d0d553c79182d3f0f9b63bd5dc3323a171dbb3c1e00e13e00bb0bbd845a313b85c1f33c9dca5b3e8e68a1bbf5ac9b3b6081b03c8d77603b3adb603c0000000000000000000000000000000000000000000000000000000000000000e83b98bc6fd522be3428f53cfe6f263c5b192bbd0c7c15bed85df73cf1a6693c580a67bdbeca05be7ebfad3c524d8f3cbe0765bdf9e8d6bd11ab863c823a893cb14e41bd8f3d96bd6d94703cefb5373cd84c00bd68d427bd83ce153cc525b53ba11231bc446128bc8225353b38d7ad3900000000000000000000000000000000000000000000803f0000000000000000fe7b86bd4f89a83ff62619be7d75e23b6f6cfa3b4de48a3f2e5806be98ff6cbae3b66f3d6240623fb2cfeabd1b6304bcc503a23dd001293fcdd2cabd2ac119bc7317a83dc210df3e8c75a9bdfa1535bba002893dbce8653ee9b24fbd36480a3b9808183d5ce3ac3cd9b990bcc372c13b000000000000000000000000000000006dd14e3c647ac3bd2048003c56e2b83b6ba7023b4cb719befc9b0d3db147923b1abfe1bced8224bea493d23cadfd813c283e32bddde310be23dba03c7b78a03cb8fd3bbdfb3fe6bdb1e1693cf0a08e3c91a122bd11fca4bd2071433cbc9f473c5c48d4bcf35b41bd4a3d063cd305ee3bc2f311bc03c689bcfcb5bdbae5bd983b1bee0c3ca4fdf83b0a9ef13928f9f2bafdbc39be2af4a73f7dc3b73c66639abc920a1fbe24da9e3fe4cf0cbd0b5a3ebc279a92bdbee88c3f931e2ebdc466bbbcb10718bce9fd643f288b4dbde5e2bfbcf9040a3df1572b3fc6a950bd9a60a2bceef0493d54c4e43ed7864cbdf5ec11bce2af563dd259683e6c410abd106603bb7be9333dc5f5143db86f793afc946dba0c165d3b653ec7bda3cfbbba821b123c7e574b3cf2d170bdbf1731bc2aca373cf0fa893bee3b05be4da18cbbae18b03cf509a0bc4e760ebed7960cbc5a2bef3c68c2f3bc156c0bbe194e37bb4d9cec3c57eb0bbd4be9ddbd6867a3bb8985cc3c52f2ecbce1cba8bdd219c33938809b3c547f9fbca90746bd8096ac3a311f453ce6fbc0bb083295bc7c2320b9f1b09e3b7594f23bb193a03b1c2e223a06a152ba27a942be22b88c3fbd0f733e21f37abd7d3733bee1468f3f45852d3e83528abd6d7ec1bd8a967c3fe4e9033e731a8abd83cf4fbd2a3c563f02a8993deb8d6fbda25a8fb98f19213feb642d3d1f4339bd2421a83c1fd5df3e21b8753bb3bddcbcfa71e93c0b56743e8e2b3abc0c2556bcd3fad03cb4b7773db48e81bcbc2eae3bf799863b58dc60bdd19eb6bc637d6c3c7471093c710225bd78a610bdf062a33c48ca873bfa69d8bda03820bdcda2153dca161fbc0f2e07be4e480cbd65a9213d1475a9bc979bfebd4cb6debc5e8e113d0ecde0bc9d6edabd298e9fbc12e4013d136ebebc09d5a4bdc73722bc8b91b83c85c37abccf5a49bd706773bb9b22673c866147bbad0b9fbc284900babd0fa23bf8b88e3bde179f3ba9b7993b6a8407ba237e32bea7456a3f17e4eb3efda3dcbd4b882dbe8d7d6f3fe577ca3e60c5f7bdfe0eedbd37fe5c3fadc09e3e53f7e4bd68df7fbdff1a3b3f2d08623e70b0bcbd9884bfbcf135143f1e4b103e7e0096bdf880543bff0fcf3e64c78e3dd1a63abdaab1883c08a06d3e1ba6573c606f93bc10e5863cc9ef903d5de8aebc73a31c3ccf78833aa25e10bdacaa3abd5b9ca03cc299e43bf6bcd2bcfc9c59bdeef0da3c4370f93b9b18aebdd9d190bd4d823b3da7f897bb5f97debda2e285bd3bcd3b3d61a258bc7285ecbda3f25cbde5b73e3d9eee9abca99db3bd8ebc2abdf688003df6ec88bc38f59fbd0897bebcc2eeea3c8f8b49bc808d37bd58c029bc007f833ce6ac0cbbaef092bc4d39f4ba6b26ca3b80ff933b5fdd9d3b35e0b63bd91638ba038d19be3c74333f90682f3f77ab13be001f14bea85d393fd9c3203f808b2abe0e1dc8bda5e52d3ffe61023f09c615be482387bdaa861b3f9918c43e9d2b05beca9a83bcb1daec3e5c70873e4493c1bda9dcfcbb5af0b83e5dfb113eb3f685bd801ef33b5b78583eb7384b3dc21aefbc64fc473c638d9c3d8a75a7bc51a30c3caccd19b9ae7db5bc553a7dbdc8deba3c349ad73b89a37abce7728dbd34defa3ce32d303c076088bdc1e6ccbdbb686c3d1c90423b6da7c4bd3e67c6bdc928703d4b1e89bb51a9cabd32b2a6bd22c5513d6ea539bceb3ebcbda18f74bd538d333dc32d1bbc55dd93bd25eb11bdd573f03caed902bc630638bd537c8dbcc93a973c15ee0cbbd06179bc81d5c2bbce54c43b3d7c403b84998d3bed56f43b046ab2b93d6fedbdaab4f43e3abe663f92c52dbecd6ee4bd5b13013f56365a3f2ecd51be9119afbdc286003f7fb3353f7dbd3dbe076069bd6b84eb3ef0c20a3f83981cbec31405bdfc1dca3ec0acc03e33c4f8bd96f932bc6552973e9dba603ede019ebd2b50533b1808403e2379ac3dd19606bdea222a3c55639a3de2028abc672c3d3cd454b33a20d461bc277496bd29b3ca3c3d8aee3be95955bb701fa7bda2841f3d08243a3c68793fbd7aeb03bef56f813d4760bc3b11779bbdf846ffbd57bf7a3dece4143b9464b3bdb801ddbd85596b3d88ef6dbb86fb9ebd5ffca2bdf0762b3d89d792bb131985bd41d454bd2ec1073dce5793bbb7f623bde4a4dcbc2d909f3c6c4b43ba0cc689bcaba7f6bb8e13c73bc8b00e3b0061d63baa3f013cef8d67bbd5248dbdd956803ec8758b3fca9f3ebe04318bbd684b8e3ee416873ff60f62bea5cb5bbd47f39e3e83bd613f194146be571e2fbdb3579e3e85ad323fcecc2fbef1b5acbc0faa8b3edbf0fa3e8ef301bef04935bcd903673ea8ca983e1bf5b3bd1b81903a61d5163ebf13053e25022ebd4959f63b6ec88e3dddf52cbcd21f6c3c35505f3bbd508fbbf7e5b2bd2727123d65e4a73bdee0063ba240e8bde802283d9a4e4f3c598fd1bc37741ebeb5a9973d5860373c730a79bd102d1ebe04d08a3d5ab4033c117196bd89df08be7181773d30443e3bdcd18dbdd220cebda8673e3dde068a3af24b6cbde15b8cbd7c220a3dfbbea0baf0cd14bd32ce12bd4c8c9d3c282ed3ba3e1a4dbc336d35bcf3cec23aadbed53993d0023ced24233cc33758bb2bf0ccbceba20c3dcc91a73f2f193abe749593bcbe23833d2c009b3fe4bf62be14f5e0bc4be3083e854e853fd7494abec486c6bcbc152d3e8379523fecc22dbe75686ebc623d2d3e0d0e183f184a09be6d79cbbb40bb193e2c92be3e8b13babd7293633acff3e43d38a6273e0b2022bdd508163c94557c3dd19284bb0b43d53cca4f7b3b194f8cba2abfecbdab4f053d0000000000000000000000000000000083cb3c3c1dbbe6bc78a628be6bfc4d3d6729493c172546bdd8e418be3c344b3da0cc123c9a8f7dbd76e405be45631a3d1321c43bcb3472bdb4fad4bd9ca2ff3c0800873b5edd46bd63ca96bdba80d13cdc6ef13aa2cef8bc657729bd41d9723cc4a899b90c7423bca9af15bc112ba63b0000000000000000000000000000000000000000000000000000803f00000000bed76f3b3ff78dbd7e50a83fae6a16be87f805bbd1d8253c6786893fdb5c07be73479cbb7c80683dd5165f3f67faebbd7495893829539f3d51fa243fed17cdbd65a9273b4a589a3d6d30d73e90639ebd9c21bf3b3c8d7a3d04095a3eec962dbddd1f083ce13afb3c0a3e483c490601bc00000000000000000000000000000000000000000000000000000000000000002d3a11bdc8a6c9bd105814bc06eaf73cb79b4fbd8541c8bdab1b51bb78c80b3dd32668bdd672bbbd072b6ebb5e3a0f3d4a4172bd97889fbd1af3713a1cef013da4b956bd059f6cbd8817a13bff03c43c6fc919bda83301bdf6090a3c512c4b3cb62dafbcfb2819bcfe6c1b3cd9373b3b00000000000000000000000000000000000000000000803f0000000000000000c989323c5902973f04837abd34f428bd20e8773d9f1e7c3f58ff84bdb9563dbd28dbba3d22a54d3f960585bda47d53bdfc51cb3d3b751d3ff15f8dbdc36f42bd36c4b53d2364dc3ee11e8cbd4f5817bdf9e0823d52ec7c3ef08d87bd7fa884bc02e3f43c815d943db49b5ebd5f5eed3a0000000000000000000000000000000046800fbc7b4c55bd324c97bce783793ceff608bd275dbfbd464ec1bb62dcec3c0e2952bdfa5bd4bd999cd4bbf889183d64a271bd1f7bc5bd2ed755bb14aa1b3d211d73bd5da0a0bd88c0b437272a093d79c961bd720e6abd1a97de3b8ecbca3c2b9d17bd164207bdc9d8283cb5625d3c726a7cbcd27401bc06d3fd3ba811893a3fa0e3bac5f82e3c3543d43b605d7abb7833a5bd47cf963f6883ca3dfd3640bde73666bda9ce8f3f3b95543df47670bdc441b13c9db9783f1766003de44b92bdfaaf843d521d4a3f9f14003c7ec596bd6e7cad3d42e2193f9e1d4cbcaa3788bd0620a83d9e2fd73ebef90cbd0b2b4abd7b247b3df942753e04b342bd7a84e1bca939053d83c5923d09c231bd8415083b692134bbd16f5bbd2ba120bd1997423c7221e3bb1dd004bdb386b4bc93f3533c33a0d2bcc481a5bd8af2e8bcee900d3dee631bbdfd6bb3bd54a8cfbcc00d133d006655bddca6bbbd848083bc78f8273d31334fbdf6599bbd482453bcad3e0f3d9ae447bd21a56bbdc1f912bb94f0ef3c597814bde3ab1bbd05c4b93ac925a83c3aba95bcc58845bc6dbf0a3c9a5ac03bea2439bbfcd0163c715ede3bf8f959bb7c55cbbdc741803f85568d3e89d68bbd079a96bdb8887f3ff5176a3e0675c4bdab50fe3b48d9563f02b73a3e6342c1bd46d91d3da5cb393f8c44fa3d4248ccbd87327b3d7d750d3fd8cd9d3ddebaadbd684f833d6ef6cb3e06cfd03c134891bd4833493dbb3e743ec240c8ba8a1444bd688cd73c17a8ae3daa950bbd327f6bbc6e4791ba56cef9bc207b26bd470aff3b81599cbb2ee2c2bce37503bd05993f3c08b9a9bc34c98cbdef542abd177d0c3d11e910bd7068b6bd1b7e28bdc0e2383d1ed52bbda562b4bd55f3f6bc12622c3d1f2645bd5b22a3bd3da8adbc39b8293d6aff30bd418e66bd3db535bc5805023d709b0ebdd51213bdea876bbad274b33cbf9a9abcdc5b45bcd65e9e3b24f6143c48e6ddbb877de33b64970c3cb2427f3aaf76b8bd065d553fb899ea3e158eb6bd4d0d94bd92fc553fc710d23e360dfabd78a964bc357d403f83dda83ee34900be5652c23c3335223f992c7d3e50f6f7bdfccc463dae40013f69a32a3eecb2e2bdf6714e3daef5b93ea610bf3d06b2b5bd284b293d322a643eae5be23cc9e776bd0e9cb83c142cb13d236c99bceadaccbcc531bb3a8a56a3bcc5f43dbd1c8d9abb0350aebbaabd99bcf0f91ebde343343c286c85bc817a7ebdaa8260bd4595133d668fcfbc31a5a5bd528256bdeca3253d849012bd4c03b2bdb01e37bd1611423d87ac0cbd27de90bdd71604bd180b013d237321bdc2aa7cbd68569ebc3a99173d6167febc5f6715bd6b51e9bbf278c23cbab8a2bc54885dbc2fc6623b6dca3e3cd4cd1cbc597ec33b7671293cbe930e3bbf8baabd8121283fcc0b243f270cd1bda43085bd7b8d2a3f095f173f903612bed4c18abc1c691b3f145cf73e58ed0cbec502823cb49f093f22ffbe3e6d9b11be97ba253d012dcf3ec2e2883e6886dabd675d2b3de421a53ef89d243e4d8ed9bd3a4c0f3df0cc4a3e223a933d52aa92bdb9bca93c4f0da93dbf5dc7ba99d813bdb4d6cc3ac2c82abc06c74abdb3f134bc046cf2bad4b098bc5da334bd3bfa323c20882abccb1075bdc73d8fbd5b5d213de05798bcf4fba6bdfcde8cbdeaae3f3d13b6e4bc6706aabd54a56cbdd66e3e3d434403bda8c69cbd54a135bd61a0373db42006bdbb9175bda9bde0bc2560153d05d7e2bcb0681ebd7b9e3dbc2519dc3cb5ce8bbcbdab60bcd45e8839eb73533c5ed629bcd16bb03b251f0c3cc92b433b442196bdd342f53ee10a523f38b0e6bd672578bd7b37fe3e904b463fdf0722be7ca6a7bcd30ff33eaeb4243ff62f21be348adf3b8fc2d83e0c96003f053919be51f2f13c1e6cb43e56afb93e5fd20dbeadce053dccc4883e83c46c3e574ce7bd3a7dee3c13932e3eeba5e43dc98da8bdd21a8f3ca61f923d5e24583cf92922bd4b85713b18531fbc71e359bdc21d31bce4daa13a22e08fbc13b755bd9475863ca4f283bbc5d067bdd898b0bd5abd303d3b2249bcc75390bd9738a1bd2bc5213dc80b99bcf91ca9bdf29c93bdc599443dcf1ebabc2b8792bd34bc5cbd24521e3d8af3c6bc7e9e74bd922916bddc8b193d3ceaabbc30fb26bdfc4ba4bcff25d93c767457bc76005ebc5a3b21bbc581453c61ccddbb907db53b856a0c3c73db1b3beeea7ebdd921973ed9587e3f90a4f5bd111046bd70c8a43e654e733f23782bbe049b1abc1941a43e75bb443fa35713be58d0903b0208a03e8d73203fa10e20be5abebb3cc42c863e9925e83e7adb05bece98cb3c4396573e2b38993ee7a2f4bd41f5ca3cdf68083e0ade243e5a72abbd96e3913c2d595b3d67a1dd3c16151dbd94ae1d3bb54531bc7a9964bd5d5af9bb1f9d513badd5a4bc11348dbd7b41603cc9963a3b606d66bdb558d0bdeeb84f3d262081bb477e99bdfb4ccfbd15c44f3d2ca132bc307aa4bd7fa3b2bd3272483dda5b86bc81e198bd443e89bd601e333d023d82bc92b073bd35e73fbd2a26193def8f72bc44581cbda839d4bcd267e73c615fdabb6e9e3dbc4a9c9ebbf349273c47cfe8bb1098423b0824113cf560843b2fb631bd21dcfa3d3462963f17dae0bd40c601bd1d1e183e0c2f8d3fcacb27be6d192fbc705c433edf0f6d3fc42f20be1940b73b15394e3eb64e3b3f42af16be67d39b3c61d63d3eb10f0a3fd83c07be5f77b63c46261a3e5aafb83e73ffeebd40689e3c0e2ecb3d3da1413ec828b0bdc4287e3c651a173df3de1e3df1860fbdb90b683bb71961bc7fb98ebdd77e6bbc000000000000000000000000000000006faad33b7cac49bd5d14cebd1652c23ca012613a997982bdaeb0c3bdd9e10a3d0fbd50bb527989bd72ffa8bde0dfe13c1fb4c1bbd15583bd5f0890bdd8d7e63c750619bc25695fbd0c8d53bd5880e23c32df05bcc3e616bd41a3f8bcd843ab3cbf86ffbbef0f94bc78c434bcf7147e3c0000000000000000000000000000000000000000000000000000803f00000000dac631bc989dbd3c7b91953f1de8bdbd2f64b33b68e88d3d8d20783f7b2bccbd68e7963c2c78c03d5b15473f7852c7bdb50bcb3cdcf5cb3d2a17173fcdb9c4bdb619c63c169eaf3d2919d03e03c0b7bd5f94a93cc6e56a3d97ca6b3e975690bd500a6c3c4fee9f3c11a6793d731449bd0000000000000000000000000000000000000000000000000000000000000000d25a8c3c052b52beb900533d896dfcba1a5a28bc6d563bbe82a4f33cb9da693b9153e1bc203130be28a6743cd4a5cc3b681b0abd23de09bef7ef3e3c9d70083beb69febc7681b7bd2b68ac39238e033b280bb9bc613f4dbd4e8f8abb82138b3a4e0714bcecff2dbc205ab9bbca0513ba00000000000000000000000000000000000000000000803f000000000000000076bce1bdf94bac3f4b0626be80b6c03ceb1acdbceb1e8c3f2e61ecbde21ea23c02ea6e3ca0976a3f1612cdbd112e963cf9cc393d68862b3f394a96bdf8a9863cc564823da3a2d73e518f0abdf0c3733c5757823df24e513ed1fb4f3ae5a4953ba193343dc063e2bb90fb003d174a4abb00000000000000000000000000000000639efc3c44f701be05fd183d129759bb9da0bb3c811b26be2da7143d5ee26bbbd0ff073cd23d50be0264e03c18a29a3b6912bdbb8f7140be11f4763cd608d23befce84bc229f1ebecc92fc3b5e3eb93bddbd85bc971ae3bd250c03bbb0f8a63b22045ebc26767dbd02f5a9bb7db8483b6a7c16bc1227d9bc8677e6bbc3e2533bcf28d23be30ed93b923fceba75bc07bad6d758be6b8aab3fdf1126bb1b94ffbbe38810be3c81963fc478373cdb0d18bc8e5ee8bdc0b38e3ffd6bdebcf1dee4baa67d77bd184e6b3fcc22d5bcc3b8d23a20cc57bcad2c303f54339fbcef1ddc3b78528d3c6910e43e8e743b382cf54b3b0e350c3de1b05b3eb8d4ac3cfbaa4e3a4b8c183d45343e3dfae3073d4913e7bb9be7873c0705f1bdb83ef73c6cda13bbb529a53ce87c9dbdac674f3caa2a823b2182c83cc7f327be876a563c7d10063cee5b2e3c40c643be8488ce3b02da193c2a58d03acc7e3ebeeee4f83ad987f43baed094bb810e1fbe717b86bb7b62c43bf7bcd4bbd61befbdb49fcebba3d3ae3b6e869dbb7b338abd9514f0bb20883f3bfd8d6aba569402bdd37126bbfb10f03a5f89ca3bcd7596bb95aa8b3be4d1093a68714dbe4fda8c3f3872693e28cb62bd157544beab8c8f3f39832d3e639b3cbd155319beea2f853f3ed0e63ded55fbbc12e2cebda520603fe7509f3de9cd8fbc275557bd5bcf2a3fc4f2583db9c7c6bbe7ce77bcc2dee23ecc08343d172fdbba387a593c5a12623edbc20c3d812428381975af3c9b4b443d7c02e43cb8bc0bbaf50ff93bb8b278bd477deb3b91bc8ebac798803c309d80bdd19d19bc0f10663c0838be3cd7fb0cbefca0b6bccf5fab3c95799d3cf9ff2fbe9c97e8bc75a5aa3cf1632d3c5ac62dbe429ccebcb3184d3c281b113b8ab01cbe5f2a9abcdec22a3c0429263bee02e7bdfbf687bc6e20ce3b8f84243bc8c990bde05c14bcf9b8633b1687673b397c11bd5a8674bae405313b763c9f3b148da8bb90eaf53b37a3db3a88aa48be95b06d3fa645e83e456cd6bd315840becc8b6f3fc91bcd3e472ccfbd07af21be7716643fd6939d3e7a5d9bbda303ecbd0eb0453f9aaa5f3e046541bd053f9abd117f1c3f73bf143e730abfbc2f3501bda9aad53e665bb83daf801dbc99c49cbb8714663e72b74b3d465a56ba6c20e63b0cc4843d1d5d593c530fe83b73405e3b29153bbd20cda3bcb1fa443ce390123cccf114bd5cb922bd3676e33c9edca73cb469d2bdedf67cbd13fe043d4860ae3cce2b0ebe56b592bd0fe1f13cf10c903cf63116befd1681bd7306c13ca073cc3b7f30febd765a27bda452313c7d9d1c3c2fcdd9bd6f87f7bc7c51da3b69a7853b649d83bd2a5164bc3ae9c33bf702e43b848409bda2b17dba0805c93af02bfd3befd2cfbb5cb6253cfa33143b94aa1fbe2dd12f3fed9a353f9c9522be626121bea0ad353f53a6243f44d51abe951a0ebe883b313f1ea5083fee8bfabd84d3e6bdff6d213fc459c83e3a7ba6bd763b90bd49dc013f615c833efe4b41bd70cc4cbdde98c03ecf60163ec23071bc3c9267bc0ee4573ebaf57d3d7be3d03a7e5ec3ba99d19c3d01dab23a2f1d7a3c2b91063a394de4bc0e7048bdca6caa3c0f3ad83b90aa57bcc28d84bda7b50b3d7ea0a93c496993bd98a6dabd1e62443d60f1de3ce949debd3bdae3bd9ecc1b3d9d47bc3c50a8efbda9c2c8bd9bafde3cbb04b23c6651f3bddfbd95bd4103af3c9a2e6a3c732cc1bdfd3232bd3a61063c9bc7243cf89c86bd49d2a2bc6269893be705143c1d3c08bd8b797abbc4a83b3b3fcfba3b1fd899bbf318623cc973933afb0adcbd149add3e52be713faf3e43be0bc2e2bdf4d2ef3ec161613fb09844be52bcddbd1505f33ebb983f3fe22721be5ec8b9bd38cee53e7258133f1040eebdc1ce8dbd9459cb3ec1c2c63efe8f8dbd81b13abd12c89d3e3e04613e74e0d7bc5eccbebcfad84a3ede01ae3d234eae3bf0c5e8bbc00aa83d485ea9bb8a07bb3cb03661bb0fe804bce67795bddd42e43c423a013b22dcbf3b53b3a5bd80c02e3dd0ec803c45fb0bbd07f113beeb7f6b3d1dd6df3c3bae8bbdcd6622be6047483dd74be93cc022b0bd60420fbeab8c103d3d42b93ca0c2b1bd5b40d8bddc3ac03c1960b03cb75ea2bde76b88bd8baa6b3ca4bc553cd62c5abd82d2fbbc94ba7a3b49a6043c18a3fbbcdcddc3bbec6dab3a4b83b03b22092cbbbc58443c600f3d3a6a1b59bd313d543e4e858e3feea84abe059675bdaa056b3eb4708a3f813d57becad97bbdaead823e8068723f42e43bbe7b716dbd4363883eec813d3fa7560abeff1741bd38e57f3ede73063f0052b5bd142115bd7f42623e14a49a3eb14b1dbd9c53a9bcf609243eb6ccea3d3ad1693b5e124ebc6fb1a73dc959d3bbb219e43c55d828bbf0cac63b7411b4bdd917173de4cf81ba3d68e43c617e08becd83603d1944333cfc8c8bbbdeda25be59cf6e3d055bd13c5ddc0abd803844bedd2b543d192df63c5aed63bd85ad31beb5a9253dd987c43c95ad75bda8180abe446cc23cb62ea93c64bc63bd80e9bdbd5cf55a3c974e593c0b3a2bbddf9f3abd84306f3b9c07e53ba839cfbc98636abc14c77bbb06c2d43a2c573039be928b3cefef36bbd63aafbb6c8684bc0be3ab3f23ac53be455bb3bc1c7e763d7ea8943fc53b32be34a7f7bc11169d3d55ca893f91b92dbe395af3bc2ae2e93d53c95b3fac3303be178ce0bc5987063e84111f3f3628b0bd5a11b7bcab37023e8a71c53e99f025bdaf3180bce8e9dc3df8b7283e795ce53a202233bcdcc38a3d2f518f3c89a0ff3c3c283cbabae8613caf0508be12a8433d000000000000000000000000000000001aec723c3ee9083cb9e255be80d2693de157ca3c2ca7b2bcdc2740bee9b00e3d8d83d33cbc3726bd398b38be04d99f3c2360bd3cb5bb2dbdd8b212bec431783c7a1e9b3c48f523bd0063c4bd640f483bfcf5263ce00bfcbc4c0656bda2510abba8542c3b39242dbca3ff1bbc782a91bb0000000000000000000000000000000000000000000000000000803f0000000045cb593c4034f3bd63ebab3f9db618be2420a5bb3cf505bd032f8c3f932ad9bd6df415bcd562b43b214e6b3fe241b7bd5af40cbc1047193db2a62d3fa13884bd47e3d5bb59615c3d33a6d83e8307f2bc23057cbb36fa613df2e8543e4320b2b7c59b89392f68243da36dccbb3d46eb3c0000000000000000000000000000000000000000000000000000000000000000d5f799bcf0332abeec73863dfa0461bcb5128cbdc7b1f7bddca5673dbdf350bcbecbcebdd5a2b8bd1db5193d91cda3bb1d77d3bd56e46ebd76ccd73c0508a2bbb73eb3bd7d97edbc60bbf73bda0aedbaa5dc6ebd1d1a4ebccda05abb8728473b226ea4bc494bb0bab95021bcb875633b00000000000000000000000000000000000000000000803f00000000000000003402aebdd7a8ae3f56d970be5aa0503d1f711d3de8788c3f385467be86f65f3d5ec4f53dc288603f832d59be84e66a3d7a9b273ef3991d3fb7fc30bef022673d6f6f293e75c8b93e9750d1bd77ea2b3d6cce073e262e203e6da80bbddcd6a83c020a823d27cd9cbc9eb4da3cbfad713a0000000000000000000000000000000022c2e13cbf1aebbdf432143d8c88f5bb09770e3a92c80cbed0324e3d66a053bcaf0c32bdc38c17be8c544c3d4108cdbb048896bdfd10f0bd609f2e3dd83d9abb7b02b3bd23b29ebde92ece3c1dc0edbaf1f6a3bd60e435bdd9092c3c1f6f1b3a94e651bd00b2c0bc2d56c6ba49e3233b2041f3bce025b1bb07d20dbc11ada83b8e86043cbb84b33b10b715bc6189353bef4d5bbe1386ab3f3d3644bc030c98bb36eb01be18c8993fff397dbd8a40613ccda783bdc1de913f3c1912be0be5093dfc82ba3cb7736c3f9c9626be6298363de150b03d08cb2c3f6e6115be7811483dd8b7e33d025cd73ea4dec4bd8a6d233d0e1cca3da9cd433eace404bda372c83c40d1853d88ca0d3dfc42493ce1f3453bac44993bbf5edcbde5b7183dfd459cbb6cfbe23c5a3f99bd43fc283c36f5743b66f48a3b08fe0cbe1290f13cc6ca9fb784d6f1bc07fd17be7bde113da98c293bf1766dbd4f7c00be789ffe3c46c67538b5fb93bd15ceb6bd662ebd3c0290993a1e8e81bdc8a26dbd3e551d3c7ef4f33a699f38bdaf4ce6bc3fd288b9c929153b3998a6bcb9830ebc87710cbce072993b3f7da03bed7ca03b8fdf1cbc54c0423b1f2856beb18e8d3f54cf633e19fb70bd406f38be32c8923f6744d33d8acb0dbd0283f3bd1cee8a3f0e5f06bc75f919bc5ff828bda47e6a3f656e98bda52bb03cb721f53cf436303f622bc8bd35d9003d110d753d0478e83e6416aabd8f44213d9be7943daa93603ef3f536bd9f20fa3c2567463dbc6e353d184584bbbe8f803cc37fda3b59c08abd766b4d3c770cec3b8d75c33c140a79bdfa3f67bc5ccc853cd9277f3c43c602bed6baaab934f6893cd0eb4abceda616be495b613c99d62f3cfe5b21bd1a4d05be8273823c868c0e3cfc2e60bddfb1cbbdc3e7853c4a018a3b56cc55bd411183bd31d3063cd2425d3b957a15bde15c00bd9b133abbba997b3b4c7f6fbc47a92bbcdb6f19bcc46d9c3b8defcb3b4c73073ccbe710bc2e381a3b5f384fbe7b026e3fb164ea3e4d7fedbd675246bef1b57b3f2174a63eb65ec3bd7a5619be951f793f416e2b3e507360bd5c63a8bd8ffd5a3ff15d443ddc4581bc8919bfbcc316303f9b6c1dbd5961803cbcc6ca3c69e8ea3eb9bd57bd196ee53c1a6b383daede743e4e952cbd9ec0013d46b5153da95f823dc64ab2bc8d85de3ca435d43b37337dbd939654bcbcdbb23c882cad3c4a4520bd34892bbd39c3f33c4c06b13cc6bcdabdee6d14bd9f5c033d3d99393bf4ce0fbec9e78dbc0a17db3c75fbacbce97c09bec9b9fb3a7de75e3c91962bbdce39cabd435f873bcade1d3c37b022bd02758cbdc5c0833bd316773b8a80e7bcf49006bdade6d0ba91b2de3a95474ebc9a3f32bcf5f414bc61677b3bc445fb3be1de1c3ca098f9bb0fea2b3a129d2ebe6c15313f00cc353fa7082cbedb0e31be2b64453f2214123f76c220be27461dbe37c74f3fd9d3c33e8db1ebbd3061e1bdece4433f40e2473e735572bd98a21ebd66ec1c3f54cfa13d8217e4bcda6a28bcace6e83eb21580bca0ab953c8a5ac93c0d89763e7d650abdbb1afb3c8ab0d23c28979f3d19d60fbd3c69133dcb0bfe3b084342bdd7b72abd4046183d9ad3933c841d98bc254e8cbd44fa1c3d3ffac33c57e6a5bd10bc9dbd3ba94b3d61feaa3c048403be5dc466bd64f42a3d7a0e43b8bfba04be2091ffbc7eaae23cb7b79ebc067de5bd276325bc8f78753c8328c6bcf6b199bdafccbcbbc78dfd3b0b2ca0bc1c1e26bd4515aabb1382493b46e1b4bb28746dbc3f25fabb6f36103b6aaad63b5d252c3cf9a4abbbd6fe70ba83daeebddf74e03ecc59723fde434dbe93f008befb4c083fc9ea503f265f54be3d2a0ebebb8e1c3fe5981b3f96262bbe085ae6bde9571d3f3c56c43ee98edfbd91d498bd48b00d3fc0403f3eeb494abd7d4310bd1f87d43ee94d723d4a2982bb2825c73aada3793e4c4c71bcd3b6e63c2dee523c6498b93d228e3abdba172e3d61b3d83bf7af14bdf1ba80bdb7e53c3d6601293c06d7b03b79a8aebd30813c3de845e03c256068bd0f55efbdaa8d803d4dcafe3c02a8dbbd523dcbbda7f7683dcd2c963c3875f7bdd9ae88bd91f3253d495d283a5271dbbdab9c17bde42fcf3c7fffd2bba97ba4bdfa5c94bc11f73a3ccf5e2fbcec2937bd551c07bcfa8c853b6e0eb9ba4d7e88bc1a9ff8bb72519f3aeee3073cd2f4e83b72f108bb5db155bbd6e16cbd0146543e4efc8e3f205152be4225b0bd32cb973eb80e843fd19d6cbe696fd2bda9dbc93e42b9543f18ee59be2ca5cbbdb47fe33ec651133f90671dbed0a496bd5e0cdc3e9983ae3e230ec5bd61ce4dbdee96b53ecb36193ece9d01bdcf335bbcd0b8663e731dba3c85915d3cf8858439895dc33ddf7f35bd2df0273dd96db33b772e8dbc3c26a1bda451573d2a91c03b96b1c13c7af708be83316f3db557dc3c446ad9bcbdd715be1718923d3cd1223dad95aabdd4090fbe15e2873d929f013ddc63d9bdb6c5cfbdc105533dcf558a3c9ebdd3bd4dce84bdd791073d54fea93bc142a7bd83050bbdf3ec8f3ccc283dbb3e3940bd5f167cbc17508d3b7f4d8b3a4930bebca3730fbc6b6c39ba72a6be3bdd462e3c48da7b3b951fd1bb52cea4bb6288c0bc0b77ac3f1c0657be262316bd3bc9c33df183933fa65f5bbebdd28fbd0acd463eb667803f77ec60be630ba1bd5b4c8f3eb1573d3fff6238be554e93bd36089f3eacc4f43e4b05fcbdc78258bdab798f3e33597e3e2df875bd2465d8bcdde7453e1ff9953d6cce6d3a44d2f1bbf049c43dd36d85bc45fd013d997eb13be7742dbc288df7bd18fa783d000000000000000000000000000000008885fd3c384cc1bc6b2142be52da943d3d6c303d916896bdc1bc17be87696f3d50b6223d905fcabd0173f4bd5f32343d4c0fc93c3035c6bdc5cea7bded720e3d0e7a413cc4ef9cbd68f63abd426d923cc16c633b687a40bde0059bbce8ba3d3bce192abafa0c6cbc16dca8ba2b9523bb0000000000000000000000000000000000000000000000000000803f00000000575663baf969bfbdf50ead3f3e5045beec4814bd80445e3d6ee4893fb90e39be06e363bd2992183e86705a3f9deb2ebeaa4661bd186f4c3e876e163f48590cbe9b8631bd3f414a3e8e8aab3e95a2a8bdae62aebcd7e41c3e72e0073ebe86cbbc201949bb9458883dd50804bdab07c53c0000000000000000000000000000000000000000000000000000000000000000f6268ebd8087c9bd6f28553d1049f0bbc760f8bdb9f612bd38c8403dc74865bcddc313be40850ebb946d013db3db3fbc43070fbe9cf4de3cb55c773ca22c2fbcb10de0bda691103d3c2b95ba6c70c4bb3a1a85bdb44bd63cff0150bcff4067395b658ebcb1b7273cdd034cbc280ff73a00000000000000000000000000000000000000000000803f0000000000000000ca9b1abd1c73ae3fdc6d85bee459f03cb946d13d44a7893f1a2992be8ad1443d969a4c3ebfaf4e3fcad088be5a8a5c3d8c2e773efa97073f45f462bee988743ddde7693e53988f3e55cd17beb30d583db2b32c3eb8a8a63dffe853bd49dc063d58a5993d79287fbd7f09c73c53a9113c00000000000000000000000000000000608e4c3c017cd5bd32d6d43c6d4d0e3b9ff637bd9c1dcabdb1bf563d0ee242bcea17debd57e36bbd94be393d52a126bc24210cbe06363fbcce69f93ce0e21ebcb6c90abe1e1db43c3eb34a3c5a7505bc9847e3bd2bd80a3d30b7f3bb1d62c9ba5d8a8cbdd4d4d23c1e7b55bc1792fd393560c8bc3b09b53b8d4719bc8f9b3f3b48774c3c858c8a3a803a11bc3f259b3a67844fbe7318ae3f8ef0dbbbf0bcc3bcfb0c04beffe1a53f78fc1ebe9b38c03ce666a33bfdcf913fef3765be7015f63c6e68fb3df4785d3fce7c70be02f8333d8ea3453e135c143f1b3853be4a14503da73b4e3e0147a13ee4900cbec56c4d3d38af253e6956c33dc70f37bd1d72f93c7dcbb53d421f14bd193bf63cd91e863a3434eb3ad32b01be3262483dea643fb94157c43cf68cadbd025c4a3c9a86be3b02d7dabc230fe5bd8635273dde7c6dba9978aebddc47a7bd6a2d403dcdd78bbba84bf4bd3a6c05bd1871113d7a2ce8bb9f4cfdbd1aff853a0911ae3cbc71d8bb0b7ddabd3ec1c83cdef8323b0b049bbb22f38bbd29a3d03c68fe20bceff856b94ac0dbbcf781583c5b3a52bcf2c6fa3a0f66173c6a16903b65da4dbc958c113b5e2b5bbeeadc913fb95b613ed22a88bd54152cbe8cb7993fbcb9413d74fd31bd3ba150bda3028b3f68fd95bd7505b7bcc93c4a3db5a9623f273d1fbe0ba51f3c2600053ea4471e3fa51025be0d40c43cff571d3ecc60be3e8c0b0cbea10f243d33fa0d3e32270c3e622589bd3264063dd480a93d1ecfb8bc8950a93bdcf4813c184c8b3c2cd9d9bd55fe0c3dd4ed013c7416f63c2182a8bdec3207bbd0bb693c4889f7bb16d7f8bd21ace93c11a9233ce8c486bd6feacebd6515333d74df7c3a264ed0bd210e62bd90b3153d1eca5cbba5f2f0bd488438bce34ee83c112002bc0798cebd843e533c0629fc3bf2f2a2bbdb0d8bbd092dba3c801bf0bb2170bbbafc3ac9bc2c8e6f3cfe6771bc7369c83addb2e83bd790353ca7ae79bcb148e7396f0a55be80d1743f0f4dea3e9daffcbdeffa3dbe4883853fb1198d3e8923ddbd2f86ccbde2c1813f35d9b53d782b8dbd2d740abbf6085c3f276234bde819e0bc2b859a3d649d263f7777f5bd180eb93b2bf0ed3d8461cf3ed3cef1bd491bdc3c02faeb3d74022d3e01c392bd292b033d658ca53ded9716bc778e26bc2292cd3c997bc23c72d5dfbd04e16a3c2b19b63cc329123dbb4f98bd561cb3bc8f5ac23c1655f23b80a700be972f4f3cbd6da13c8e7a22bd7873f5bd20c0033d292d443c9537a9bd47a19ebdc8ae273d7b468abaa37ac0bd8ffc20bdb5aef63cc81d07ba176dc8bd539c6e3b3e57863c4055b8bb052386bd1653913c70be27bb499f1abb3e3db7bc2732783ce8b767bc3ad64e3a67b3f03b3700893c7f4494bc31c2af39c8773ebe89463b3f52a0323feb8d27be903433becfd4563fd794063fc52a2cbeccd0edbd41c55f3f2c7b973ecd4603be95b536bdb2224e3f8503b83d737192bd5e664b3d558e173f28073d3c93d94cbdd617983d1d55dd3e2263b7bd3f4fe93bcba7c13d2b7a463e71c893bd1150d13c2160913d8b031e3c0bf1d6bca49df23cbec1e83c4219d3bdcdeefebb4c02073d4f09213dd79383bdb3a520bd7cd5e63caec8b23c7a1efcbdefde52bc16a60a3d3d8c8dbc87c90abe79dd963cb8b8af3c9ea464bda8cbd5bd01ca173dde37e13b57ddacbdbe7e62bdc2a8143d204731bbf8d8a5bd8ef494bc3e5d9e3cf9a252bbddda75bd53d9193c1154763a2d021cbbe8b0aebc24da4f3c249b54bcf0d6133a12cf933b0e6ea83c1b208fbc748398bafc0815be2675fb3e8f446d3fbdee43be12b919bef0671c3fa114463f04bc5fbe7c3201be6382363ffd30033fa0c235be0c4a93bd41ff333fae78853e1a36f8bd50dd36bccec21b3feb5f8a3d715a81bd3aa2123d47e0dd3e47dc0cbd821c6dbc5e78863d57945f3eb18b80bd2fae953c6994753de6d6fd3c59a31dbd8f20073d59d0043d470ebbbd8063ebbc89261e3d35f4063daf802bbd055e64bd0c12123d2909033d2f3be7bdeec22fbd6254363dc783b03bc5e214be9561c7bbb2490e3d21db00bdc7a2fbbd7be2b63c14208a3c89ef70bde755a4bdb7b0ee3cd458bf3bec7c89bd29d111bde85ec83ce30b56bb0ed55dbda9333abb8e74b83b70dbabba8f4196bc7112f13b70d01cbc26f07e39dba8de3ba74b973c6f4a82bc231dafba17d9b3bd22017b3e5b328f3f9b7c50be0359d9bd7a5cbd3ebd9e803fc8777cbeb07ce7bd2359053f3cab3b3ffa1b60be4276b1bda023143f0e23e13e3b6f25bec488f8bcf3c1053f01e25b3e1252dabd77dc843b56ecd43e5fea113d85cd24bddcb92b3d39656a3efb2d11bd8de9cd3a18a0323d4ddd5e3d044b41bd19fefb3c1f77e93ccd6e93bdd10136bd5f45303dcc440e3d3ca4efbc7327cbbd5157383dbf20113d8a15bdbd738296bd9ceb6f3d6d3ec33ce69516be1a3406bd4cc8383d15eb31bcfee40ebe6893ef3bd75adc3c403426bdc3f4cdbd3a19ec3cdd2d113cb47c56bd575067bd5844f53cd806d7baae003dbd4d0d6dbc7127473cf56c66bb712d3dbcb1e7bdba5fc725bc49f7ba3ab907ff39c6d7c93cc48813bc8e60a6bb3d0c22bdcd27293c0414ad3fc87851bef2dd51bd5780003e5b7b993f1a5285beebb8c3bdc797a73e28996e3f2b0477be3cd4b7bdff6ce33eae9b1d3f487c4abe502169bda0cce93e5d8aaa3ee1050dbe5a2db6bcff81c53e562af23dd17291bd7ed7643cbcb9763eb47f61bc2fbf16bc3f2bd23c5a7ea43d35bb3fbd6b4ff53c191def3c6ac471bd681bbcbd2dc0413d00000000000000000000000000000000428c343d1f0cc8bdd92cf0bd1d6b813dc2d0083d02aa10bea52273bd0e575c3d3517323cf4bf13be98a6c6bce80d183d9b1d66bc13d5f0bdedccb03bc6ffba3c4d9609bd9b3397bd256ca03cf20bf93b0f4a06bd719e03bdc4978e3c9c0dbfba1bd9b2bc22dbc13b297dcf3bfc11abbb0000000000000000000000000000000000000000000000000000803f0000000006da24bd0c999fbc431fad3facbb5abe78de89bd83912f3ef18c853f512e5bbe4e3093bde674973ed2a2413f6bef44be6f9e5fbd6e0cac3e71aaf43ed83421bea5f4b9bc64ed9b3e0e16723ea29bd7bd169e663b1dc7573ed065773d8b1a2cbd30aad13cf26e8c3dde8373bd9e16103c00000000000000000000000000000000000000000000000000000000000000002020023b21b1a7bdb902ffbcf4c0483a3e36b8ba33219cbdbd04edbcd6d281b9141a41bb7cbe84bd702dd0bc172748baf665b8bbefbf5bbdbfccadbcd892b9bac8a4d1bba05835bd3c028cbc61a0ccba924304bca55205bd0a691fbc59a8e93a22fcccbb29739cbce82465bbd4de883a00000000000000000000000000000000000000000000803f00000000000000008bc08b3bab258d3f976f9bbc0bc2a0bbbfa5823c7af56b3fa33010bc23f34dbb7780a83cd89d3f3ff85c9ebba616a0bbca7a923c3748143f6601cebbaa3799bb008b433cf972d63ecf7a33bcfd1ad5bbab1e973b900f853e920988bccfbbdabbdc2196bbbadcd93d6b19c8bc704ed1bb000000000000000000000000000000002b8c053c042146bd59afdbbcee1887ba7ff5ac3ba66ab0bd66cd1dbdb91b993a2ff7663b90b5b4bdfd5827bd3a1557bafd816a3a6819a1bddc8c1abd751a05bb33bcbcba45987dbd5e92f4bc16a0c2bad3066abbb0fa54bde902bfbc7883a1397e6485bb5d1519bd691869bc6598be3a58f800bb6b009ebcb6363bbbff4e573b3b8d03ba9bdc67bb3f148e3b2a4b373b00b102bd89408c3f1977dc3d36af99bcdc8eddbcd17d853fd20ecc3de1fe9bbc9226c1baed09623f59c9bc3d97e368bcd6bd023c0947373f62e99f3d45fa50bc242e1e3c8ad10b3f7b9a723d2fbb48bc4a21bf3b3d0eca3ee7a3153df74859bc1dcfb7ba2f2e793e6d13453c492e5fbc97e133bc72b2c93d89fa3abcd4d53cbc8a4f42bc7288aebc3e48d4bcf8a021bcf887133c1c27e7bcd568c1bcbeacaebb5bee2b3cd1d974bd2ad72abdbb3783bbafb7ea3b0ca972bdadc12bbd1e478dbb10f0ad3b385380bd4ed42dbddef980bb2a26113bedea47bdddbb09bd07f746bbc8d8743a427532bde469e8bc24eb9bbabf0a69b9690eeebc6abf90bc7c76323a25927d386c3587bcb59fe6bb815c353b3ce0c03a21c52abb8124b53ad427533b468a1abd219b6a3f8e4a853ee3ace5bcff2813bd3ac8623f94c3763e044f01bdbe535cbca14b3b3f8cc65a3edf66b5bc485ec0bb72e81f3f183a363edf7fb5bccb9c19ba9b6ef13e474f0a3e2a938bbc225146bb6cb3b23e3decc03d9417a5bca4ccc5bb916a603e8fe75a3d243c97bcdfd037bc471ac53d69bb203cc64398bcd69318bc4e5401bc1e049ebc817f47bcd6f9ce3b5f9499bc2eccd6bc423cf8bbbfe41e3c80ef2cbda0eb3bbd7cb90dbccbc9213c75c155bd752855bd89f80abca77ce13b138249bd72464abdfcc300bc2fe8ab3b7a282ebd948326bdd462bebb89c5393b57e512bd538604bd93572ebbf8c9983a41fbd6bcadfcb3bc747b173a6f15423bd32563bc057820bcf87b5a3b4db21c3aa10d3fbbf327c8b9a5336f3b3ac311bde0ad3e3f2862d53e7e8f01bd0bf717bd9cd6373f75fec83e453e1cbd8508a5bc3af11f3f9843af3ede41f9bc418c52bc21da033fba8c903efe88d4bca35be8bb9108cd3ef454613e3808c6bcc773f8bba400963e02f11e3e51eac8bc3fec12bcad063e3efae0b93d8602d7bcfa1751bc4666ad3d2cb4fb3c5a61bdbcc2b710bc188012bb933e7cbcdeb381bc0226b93b455838bcc586e6bcecf00dbcf7570d3c2263f0bc73d150bd409642bc9c97043c2d1d10bd3b7d5abd9fdf3dbc12a1e33b504b1abd2a2963bd6d1f1bbc3d488a3bc3cbd6bc0ba312bdbb34f1bb62a9e73ad4f5fbbcdcfa1ebd54c14abbe8a0ca3abd78a0bc0dccc5bca397eaba2ee8633a975152bcea1c4ebc38de333b302b8a3ac2f15ebb3563fdba00ac6a3b728408bd1732143f33ad133f6f5b12bda86c09bddc780d3f31bb0b3f953b29bdfb0596bc8982f43e7904ef3ef044fbbcea677bbcebabcf3e435ac83ee323f6bcb99bd8bb29b39a3e1772943ebe98a6bc2b0825bc927d713e85e65f3eb863f0bcb0293ebc1068173eaa01073e7749e1bc3ff75bbc135e903d205a533da3cedbbc02a133bc6cea8a38a0df65bcb11498bcdc03143b1deec3bb810002bdafdb3ebccef1d03b3affb2bce2fb78bd912e89bc032bbb3b64dfe8bc45658dbd8d7a8cbc6bf8be3bcddefbbca32781bd11e466bcfc82983bb2eae6bcec5557bdcb6d31bc088e463bf9bac7bc865b2cbd2dc8c8bb34b9bd39a83b9fbcf40ff4bc934cbbbaa1961bbae51830bc2f3c6cbcf87f7a3bfa3eeb37739f59bbc9434ebb5b08c93b1ff0febcb8bad53e04cd3d3fabbf20bd28b607bdfe65cd3e7eec353f03d743bd3d6bacbcb911b63e8c701d3f018810bd4adf64bc5ff8973e5787003f11c5fcbc61ae40bc2802703e930fc63ecaece4bcb4b036bc888b323ec2b58e3e4e6b00bdf96355bc1ab2e43da7ee2e3ef86506bd4dc76fbc71a3513d24998f3d96a707bd1e9130bcc04287ba938c46bc58ecc3bc377085ba88959bbb7e1926bd2e4b63bca9805e3bc99488bcd73399bdc864a9bc5d289b3b84c7a9bc2c3390bde6e39abc4ace893b2dafc6bc1ae496bda9749ebc75a8373bfe69a5bc8c2e5ebd5c8177bc0be0863aeed0aebca20a49bdbb6d1ebc10c808b82c2079bc5e2802bd15f75dbb9b5fdcba4ff71bbc25f38bbc9795733b61de24bb36a226bbc8553fbb05fcba3bc1f8debc39ba853e5ff5693fda242ebdfe19dcbca42d7f3e7914613f2eeb45bd8c4477bcb192663e0e3d393f70faf6bc825f47bc23fa443eeae81c3f16d3e4bc62f507bc49df1a3e7710ec3ed557bcbcaa1543bca126e93d7c3cac3e86e1f6bc18343abc7d6b943dc2f9543e6acbf5bcc7ab7fbc84f2f73c24ceaa3dc5141bbd291c54bc878e75bbf4a092bcc6c3d4bc874df1ba60bbaabb6bb666bd6bbda1bcc9cfa93adf6558bc7e22bfbd3d1acdbcf1995a3b5fe38ebc3b43c2bd27b1e8bc2c0c5f3b3d2e9abc8cebabbd3b86d5bcc9602a3b551e9dbc93af87bd855ca8bc403e753ada5f8cbc764262bdc9546bbc44897eba5cb462bc8d6b1fbd58fad0bb66a4f8baa243f0bb145ea0bc6b1c733b8b3072bb670a1cbb35e146bb3364e03b19009abca316e33df3158c3fb9bd19bdb3f287bc478ed83d6bea843fd0ea27bd37510abc65f2d73d584c603f6939b3bce25fbabbfa54c03d1247353f8b0e83bc3c80a9bbf74b9d3d7c1c0a3f8e6581bc97a9f1bbd6086a3ded65c63eccf8bcbc592935bc9d1a093d4d77713e78cfffbc1b8b5abcd8e2133c2a2bb93d868320bdffd14bbc62d426bc68acddbc2ace05bd00000000000000000000000000000000503ed63ace4c1abccd8cabbdb789eabcbc8f0d3b7c852abcdea79ebd5c42e1bc4cdebb3be01e3dbc63558bbdb5d2d5bce9d7113b5c2a48bc0baa60bdf59eacbc0598bb3a1c0730bc609a38bd3fd185bc38beafba301929bc17d705bdf79a18bc422c2ebbf6be01bc0384a1bc672608bb0000000000000000000000000000000000000000000000000000803f000000007a86f9ba7c0d3bbcc7b58c3fe29f13bc2af2393a3a0b813a37376b3f75cede363cce613b057ad23b63da3e3f899f283ad2d64f3a8dabeb3bdd86133f492b30bb2a211fbb3385703b9c26d43e372829bc6b6b94bb5647e5b9a629843ecf9296bc8baf10bc1b7c0dbc7490d73d0291e7bc0000000000000000000000000000000000000000000000000000000000000000fe9731b889bd22bdcaaf0abded5384bc7ef480bbb0db28bd6ae003bdecc579bca237c8bb5c4d20bdf88fecbc6f0c83bcd2870ebc8a8210bd2cc2cfbccf184cbcdd3519bc5a5901bd615cb3bc170e23bc87d125bc0329dcbce49b55bcf32792bbdf051ebc1bbca1bcbb4ae6bbdfbd853900000000000000000000000000000000000000000000803f0000000000000000bf70163d97137f3fbcfa573be53057bb381e1b3d1290583faa7aab3b7d2240bb4d70143db1f5323f94fd373b53be57bb102f033d79f00d3fa92b8b3968e2b8bba42ad23c5b64d13e512c92bbceefeebbd804913c302f883e4f3641bcf8e624bc850e153c8d14fe3d34c0a6bc6b574dbc00000000000000000000000000000000a2daa93bbbc8a7bc5a0cdfbc40514dbcd5cd2a3baccb23bd9be923bd901c95bca266ecba12fb3dbd308629bdace8acbcd3d692bba57d3cbdf1d523bd814bacbcfea7e2bbc11e21bd49f701bd964488bc554d19bcdc131abd8c50debcc06541bc486a1abc1f24f7bc5e6699bc31e1bfbb72b50bbcbb5dabbc0957e1bb0af03c3b8169acbbc72510bc4d3b06baf680aa3b4d346d3c74ae7c3f2139033e3f2516bc72bcef3ce915693f866ff13d3e4d21bce8ad1f3da0c6473f1eb9d93dcc89febb208d1f3dbfea253f41b1b23d6b87f9bb0f27073d282c013f512a873da0ea0cbc3c0ae33cb26cc03eac172c3de9e149bc7d529d3cfe79793ea7958f3c69fe6ebcf866033cbc51e73d50bb04bc490489bc61d2953ac98ccfbbd2eeb7bcca0f53bc26cbb53baffb3bbc4372c3bc822764bc08f6b13b07a8e7bc03dd24bdfb0cbfbcc334e13a1f72fdbc3f591abd2a6ab5bc54cc01bb18b818bd77872dbdebb7d0bc1b553cbb44d4fabc5e0b02bd4d7d96bc183db7bb6e9002bdaa3af3bcc1c582bc7037b8bb991abbbc60389dbc0ea4ebbbb4f4cdbb63b792bc6c0c37bccd159b370c595abb91afdcbb9fbeeeba15d18c3b3d09533bba60563f0c0b873e6ece37bc5571883c98d9473fcde9783e752449bc2425b43c3938283f89d1573e078300bc2eb9f53c6bd30f3f3789343e1bb414bc4e5ccf3cc732df3ef6ee0a3ea59314bccccabb3c8e0aa93ef3ddc33d997064bcc7f3623ca8695b3e4fe7673d8a1565bc7272fc3bb994d43df2ac4f3c415296bc7bdec53a21ad60babaad88bc6c484bbc3e21a23bdcdfcbbba3f2bdbc41dd93bc2ca7c03b418ba1bc228522bd5363e6bc5d51373b0330e9bc7a7037bda363eabcaf8b7d3a0264f7bc0edd30bd1ec2e6bcff6cdbba129ee7bc8ebd1abd1417c4bc8df356bb9a6ed9bc193603bd15ca8fbc08e7b8bb1a95b8bc86f2c2bcb33e2bbcf53f9ebb9a8777bc0d9b58bcc118faba33d398bbeccabfbbee50c6ba224b343be36718bb8381313fe8c0ce3ebab72fbc25db0a3c1904253fa477be3e031d3ebce6699a3c03ea0f3fafeba43e466b17bca78bb63c8261f03e3e15893e25c415bccbf9ac3c1c35be3e6166563ea78528bc3d80933c09f38e3e9c371b3e15f961bce0a7473cef103c3ebcf8bd3d531293bc98cfb63b6e36b83db7f70d3d170e99bcd193373a248f003bfe8970bced4a75bc3a5a873bef777dbb0ebeb6bccfb9adbc461bab3b303867bc4a981fbd9aba03bd93a9633b53f3a5bc85292ebdd24d06bdcba8deb881e6bebc707536bdcb9706bdeceab4b8dcb397bc76ef01bdc301babc66311dbbedc1babc912e0fbd3a64b0bcd5f868bbab2890bca618c4bc25f84cbc065d9bbbe67b5abc02a275bc283687bb37635fbb8375c7bb6f7d92bb8904043b0b3f99bbbc280c3f098f0b3f83690fbc504a633b013c023f954a003f53b40dbc260e503cdd1fe23ed53bdc3e87e3babb5e22863ca724c13e55e2b83ed964b2bb787d673c0d38943e1d468d3e4351d6bbe5065e3c3489673e94ec533e81505bbc9020123cc17f173e9ae2043e96a080bc3238593b507d963d9afb613d4ca39fbc77646fba59aa133b3f2b2fbce13d70bc06e65b3b428607bbba01bbbc8a88c9bc1875913b9f613bbc2d3230bde12620bd0ad4953b16108cbcbcbc44bd2e512cbd74090c3bedd4a8bc1fef48bdfb941ebdba83ec39dc95a3bcf2582fbdb5d201bd6f23e0ba3954a3bc44991bbd3618cebca98b7bbb310290bcb582eebc38d66ebc17f0a4bb47474dbc63a38dbc1b12a8bb36a095bb1230ccbba1beccbb7111433b2c48debb1104d03e724f303f7b2fbebb15ef00b99b02c33e162e233f6edcb2bbbbb91b3c36fdab3e70fa0c3fa6c0debac01b5d3c2a2c923ee95ae93ef60d89bba6e2613c6e8d6a3ef808b73e855ccfbbddc6333cf181313e2b98863e0bca47bc607fd03b01b9ea3d5ef32a3ed45490bc86e6bc39a297643d2efe963d973bb2bcb538a1baf228be39f1b51cbc9f8f8cbc9bb25c3a573933bb5c5bc4bc9e59f2bc149a673b35c612bcd2d440bd884b3bbd1d69563be19a4fbc46e83fbd7f812cbdd811423b093c88bc178959bd2ed437bdf6138539b7637dbc08782cbd0a980bbd56869ebac7e28cbc97d229bdd7baf2bce0fd4abb42d15abc1b2aeabca0f88ebcb743b7bbae383bbc1267a0bcefc3e2bb90e698bb8810a9bbd86dcdbb957fd33ae393f8bb5db1883e1ac3553f29d03fbb298aeebab3cf813e575f463fe236903ab495d93b9294653e1b2d263f8ad3233b0d8e3f3c6572483eec040d3ffa9ce13a2fa41e3cceac1f3e9f61d93ea0d247bb3b8f153c2db4f63d18baa23e17a120bc76f7503b7e2a9f3da59e4f3edc9767bcc69e24bb30ea163d4162ba3d5d93c0bc36f7b0bbd540b9bace7b1abc654999bcbb7db23aa2412cbb2c8903bd73b815bd964e633bd96303bcfdb15cbd539f5abd1b26783bcd7740bcd0576fbd3b695ebdccfa9f3b31b064bc77126cbd1d125abda1f4e13a2d1a5dbc78ce45bd0a0f28bddcba31ba555e76bcacda38bd6ac10ebdc62483bb562262bcac290dbdd291b9bc509cc8bbd7452bbc3f59b1bc68dd05bc860fcfbba3abc6bb3f3202bca6a7373af898bfbbb5fa063e9e9e7c3fe295e63b67461b3ae7c9043e313d683f9dcf3e3c4b9c123cc722fa3de968463f936d543c04b65e3c6cc5e03dd2db233f2d7f173cb9f83d3ce3d1b43dfacbfe3ecfd1503bad1d0f3cbb5e8c3da8d5bc3e36b5b7bb9f3d923b23fb303d59e8703e0d4e79bc0e6897bb515e8e3cbb2bd83d78a6c5bcb5aef1bb4f688bbb27f446bcd095b4bc000000000000000000000000000000009445873b1c62c6bb2f2b44bd84de4dbdb0518b3b447fffbb6a0446bd11ca40bd9ea3883bff9b06bc9cf93fbdb6e836bd2315df3a80f527bc0a4127bdec8518bd16e6dc39eed42bbcb18614bd3a0cfabcb57f10bbb94b24bc440becbce88baebcf87fa8bbc35713bc4207aabc14333cbc0000000000000000000000000000000000000000000000000000803f000000000386cd3b7ff3613cb6ad7e3f94a7ac3cf79b2d3c322aa03c0be3573f552f953c575a4e3c078ab13c2150323fa208703cf803353c958a9a3c6ed30c3ff6ceee3b8de81a3cc714863c20fdcf3ebc36d13830478e3bc85e1d3c90d6863eef9f0abc9e8fd8ba474fb03a7bc4f83dc28694bc0000000000000000000000000000000000000000000000000000000000000000fec3c438e24da7bbb7060fbce14424bc1260b4badc3997bbc740febb938c16bca8139bba39afc0bbea980cbc0d1c24bccd6bb7ba96b1abbba442edbbc9ab08bcd53f39bb1493c6bb3d86f3bb14fb04bcd74912bb54e8a2bba004c2bb6408ccbb30d6f4ba958881bb6c0399bb41f89abb00000000000000000000000000000000000000000000803f000000000000000074672b3c6d00653f3e1e993b7b35cc3a717c273c896d443fb0fd803b80760b3a87e7273cae58233fc6a4873b4e69653abc360e3ced6e023f1c273e3bded7243964440b3c922bc43ed331383a4351d1ba5442ca3b4c58823e9bb7ab389bb6daba4cd7623bd9fa003edfa168ba716400bb00000000000000000000000000000000e9a8683a015d36bb1947e1bbc1d703bc217adb39bf59afbbfc732dbc8a6649bcfa7a80bac59de6bb00003fbcfdac3ebcc51399baa2b4e1bbabf031bc29b14fbc799dcaba2153c6bb93c812bcff9229bc3f0e13bb1076d6bb7a0614bc523224bc51a050bb5273cebb7d2101bcb7c505bc10a51ebb40d383bb92abb1bb18b79cbbabe9e5ba9b2923bbfcc730bb09240bbbeec0e83b2d35643f8905043e7877793ae23b403c4dbc493f8529ed3d38e2cf3addb4453cb7f02c3ffe92cb3da5d84c3a7180483cff45103f563aab3d14ba583a41e5233c25fbe53eab52873dc8ecc4b8d73b203ca317ad3ecef5493d2e0f8fba7b4b0b3c2376673ec6d0023db7d238bbbc129b3b25b0e53dbf955e3c6b785cbba6c9fa3aa83b8a38b99f2ebbe4733bbb263c9f3a7682c1ba6f64b0bbb1050fbc8e58b83ae7deaebb443034bcab8555bc450e983afc446cbb400f0dbc99f531bc2c826dba46d5cebb8b5239bc8a685dbcbab114ba6b1bd5bb533001bc1e663cbcb2b5f7ba60afc5bb33fb19bc2be22ebcb737e7ba48b896bbbf64dfbb2a33f3bb4f360dbb4d468cbbde19bcbb303fbbbb22abeaba13cc24bbff7c97ba3c3588ba23d1ac3b1476433f756d823e19e4803a2576253c993f2d3faa6f683efd2b073b34fd183c90e7133f590b463ec3341b3b25f73b3c006af83eb2a7263e378b323a0fc41a3cb4eac53e72b7043e2df3113a37e8193c984c953ee170c63d716398bae139ce3bdc48463e9812823d21d2e4ba2fb6a33becd8c73d7391f63cef474bbb0e09ed3aa0d2113ade260fbb25603bbb603ec13a566066ba5ddea3bba638eabba99fbe39b98f65bbd66416bcea6f41bcb37bf2397fb488bbd29d40bcc76c6abcf8c18eb981d7aebb73e232bcbde45ebc314fb4b976ce8dbbf7af33bc5ebd52bc10cac5badba8b6bbb82c1cbcdad836bc469bb6baff7c99bb30c0f8bb282b0cbc671003bbabdd87bbf43ec2bb264cc8bb88a8a7baadd706bb29062cbb434418bb9acb563b0612233f4d8fc33ecb1fcf3a75ffef3ba69f103f2a88ac3ed1b9a63a28fe213c195ff83e0699943e31a2ee3ae941363cfa07d03e886c783e8c75a73a9ea71c3cfb1aa63e120e463ec2ba4a39e6cb163c5e807a3ecc33143e42277bbadfd5ec3bed84273ece84c43d1e11d3ba91239f3b6caca83dcddf3d3dfc1f4dbbea05003bad3ba13a0779c1bae1d025bbeb901d3aedf09bba2cb1adbbd5b603bcc38817b9e972c8bae39911bc57464abc623e1cba529297bb095928bc011158bced37c7b9f818a3bb229131bc37d460bc6f182dbab96a7dbb8764febb105f1ebcc1a1a9ba553ea6bb23a417bca9ae34bc43db26bb308fb2bb116f08bc5ea61abc966229babc1598bbb263d7bba82be2bb88a39dba0c6a00bb6ec325bb12591dbb53526c3b7e56023f871a023ff402aa3a2e6ccb3b07b2e63ef180e53ed989b03a7fd81d3cde86c73e48ccc53e3945453b37c3203c3efca63e3eb8a43ee14caf3a8792ef3b1b94843e53bd823eda9bbc396a970b3cb80c4a3e7f11453ef05e3abaf02ef53b26dd073eca72033e45b232bb7215bc3b9ef28a3d4b2d823d61a5f2ba4740f93afd61bc3a77bb8dba596722bb6878283a661f7fbab561a2bb18cf03bc8ea0203a45503ebb1fd817bc651c5dbcc5f05eba91df97bb47c130bc2dac69bc7768413756f392bba9972ebc1d3f82bcac9874baa6b79abb471820bc94fa4abcf51d15bbee4ec1bb174f2abcfa5e49bcca63c0ba2fb391bba30dfdbb674214bcc04da9ba3b4c69bbc3dcc0bb072bdcbb7b13e2baaa9619bb47cf3cbb5fd530bbdd92463bfbadc33e709e223f1864fe3ab2b0e63bd566ae3e95dc0f3f6fe04f3b913b103cc8d1963eb318f73e743bd53a9786203c804f7d3e31cbcd3e7347083be4e4123c29e44a3e0f1da43eddd28f3a928a143cc48d1a3e2df2763e04eec5bad840dd3bc563ce3da551233e77c0d1baa19e6d3b70874d3ded0aa33d120618bb31bf713aaccd423a01f8aebaa4df40bb98f7f039b9008fba7787a8bb3cc80fbc021c093abd1232bba8241bbc76616ebce7f78939f4064fbbbbb316bcc5a954bcd9771fb91fce91bb866a39bced017bbc085e1bb98769b7bbbb4e0dbcd01559bcc95e8eba3b049dbbd6db21bc5c9c4abcf21816bbc5f798bb3a03fabb37be0dbca24f01bba8068cbbdda4ddbb81e9f9bbc298bbba217f16bb9e2f45bbf30a49bba93d383bace0823e9133433f6505353bfe6cdb3b33ea6a3ee9992c3fd330893b5fafed3bfb524a3e606f133ff8df533b7e451a3cb1382c3e20cff63ea3113b3b6f60073c38a7093e766bc43e10e6d03af2290b3cb65cd33d239c933e3de7a138edb5bd3bf0398d3d1d3d423eb2e20cbb9fcea33bfc57133d8246c23d76984bbb843eee3a2968bf3a260a53ba420d39bb87742f3a04af85ba1597b8bb146a22bc5d6e193ae5a52fbbc08a23bce2227cbcb83800baf31d91bb15da43bc80a488bc920ea6b7c04a8dbbb27141bc0f7984bcf6f3cab9ea6f83bb29b121bcfef454bc70f083ba7c829cbb5f8c29bc551f55bc2789203a049092bbe8d00ebc27e12bbccfd409bb9b6091bb4359edbb94d004bc9065d3ba15ea2bbb0c9663bbb66b6abb478b5c3b9749053eb5fc633fccda903bc8efdd3b1200f33dca2e493f35d0bb3b0bbf1b3ce1c1d73d49b22c3f8499c43b98341a3cbeecb63d7bb80f3f56a3803b657e073caeee923de2dae43eb131043baf3e0a3c1030653dbdc9ab3e7aac153ad19ad83ba63b1c3d444c643e95558dbac5209f3bdf8ba53c0158e23d8c8947bb8029033bca35d53a6d1c68ba0c0347bb000000000000000000000000000000009735393aa022ffbad5e808bccf7051bca4f90c3a468e2fbb511919bcdb6b5abc91420b3a77b043bb268118bc5da853bcf2038bb9fb6e5dbba4b60ebcee213cbc89c414ba1a4f73bb73f00bbc40a82fbc74aaaeba853a7dbbed7efbbb535316bceb8ce0ba062e72bb1529c8bbd0b5e3bb0000000000000000000000000000000000000000000000000000803f000000001e2eb53b7af8ea3b9977643f59e4c03b8092ea3b13320a3c5cb9433f9706a03b1ebd073c711f163c120c233f9e43843b52b0e83b9bfdfb3bd20b023fbc95043b155de43ba2deed3b1a06c33e2b3b3f3a290baf3be73fb33bae96813e072c6dbaa336843bd737703b27af003e116919bb00000000000000000000000000000000000000000000000000000000000000004e5d15ba672617bead2026bcd636733c770843bc79750cbebe0691bcb5fd7e3cc4388ebc502ff3bdf610c5bcbc903f3cedcd97bc243fc0bd8389c7bcd053243caa2182bc14668ebd5b4f87bc55dfe63bc2d912bc109532bdfa120abc07f8b23b5b7a3eba62d18dbc22710ebaead1093b00000000000000000000000000000000000000000000803f0000000000000000f4f68bbd20a8a23fc904a1bda3f7863a45c8e3bcd2d3863faab936bd15a42dbba44dc3b916e2583f61a4b7bc304da2bbc327193cf079233f3b0b61bc0bebaebb06ba2a3c19c1de3e34d64abc6e0390bba5d6ab3bda93733e1c9b48bc30df55b97b7e3cbb4815553d55937ebc16a0973b000000000000000000000000000000003a58293cfdb9b2bde05188bb7a5ca13bb9dc1b3c3dc211bee470cabb6f22803ca26a0ebb60dd19bec132c3bcad578e3c338618bce30b07bee33ef3bc8dd0843c2a0b41bc6497d2bd691cf2bc094c4b3c2a210abcf2dc9dbdb4fdb0bc6fd2283c2a9bd6b919383fbd79ec6dbcb0230e3cbb23123c2aa392bc89f584bb9fc2dc3aed470a3c2251973bc958983b00d5ab3880ca0fbed2cba13f63e85b3d5fa9b4bcc68516be774c9b3f227d123d55ecabbc2206b4bdf219863f4880613d4792bebc35744bbd2972573f2630743d9853bbbc0543c0bc6a7e203f4993553ddb8e9dbc70cc95bcbc4fd93eec691a3df9c177bcc3ff66bcf568693e9231a33c6c7a18bc3b69e4bb605d463d8cf9ff3b7498093be10d30bc792c95bdb13d6fbcda5b5a3bd8b6b63b4f0056bdc23e17bc72c9213ba16fe73b79fae4bd53b7ecbc04a8413ca8c1453a729ee9bd27a22cbd5491383c628083bbd92be5bd993936bde003433cfa609fbbac67afbd522324bda9410e3c7f7c25bb893c8abd1bbef7bc41221c3c544d883a48bc2abdcb7c99bc2118d53b39ef033c1c729ebc9ad2edbb85b6de3bd87c113ca0ff8c3a6b884f3b16c5813beb0e0cbeb5d4863f9f507b3ebd2c4cbd768017be8c4d873f319e683e269563bd8a5cbabdc889643f11b45b3ebc2d3dbde7ab8dbd9ec63f3f329b3a3e80a429bdb93927bdc3ea0d3fd399123e083b07bdf4bb05bd0d35c63ef2cacd3de702f5bc26d5c0bc8d0e603ec5ae6f3dccabacbce7d990bc70b2823d8f0c973ca2dc2ebcaaff5ebc10a422bd8a2f6bbc68cab7bbc730c4b9715809bd0dadabbce40f8fba7b4f2d3bcba7a8bd847242bd117e083c4c0ad5b827f7c6bd6e9d7abdd32e1e3cc6da3bbb5dcab9bd573d73bde949063cced787bbdb2e9ebdf84b59bde3e5c23b31d6cbbadcec71bd2ef623bde559f63b3da70a3bacef1ebd858ac5bc03f7193c2f1bd13b3b6f8fbcd4091bbc52920d3c82c5b63bcea0263abf40833b9b53ac3bc3c7ebbd867a5b3fd9e3e43e14f596bdde9f04be07975b3fd926dd3e877badbd2c7fc3bd55e6413f47cac43ed2e191bd8a9d89bdedb01e3f754aa33e7c9375bd528f40bd7135f53e9c3f7f3ebf114dbd5e4517bd32deaa3e58d3313eb50c2cbdee34f2bcd4cc453e81f2c83d76b90cbd38ddbabc999c8b3d8454023dab59b2bcdda097bcf6daa4bc33699cbc69f173bc859eeebadebb94bcc91b03bd132328bb6897d239e65764bd5dda88bdeaa19b3b17ad63397c978ebdb7af9dbda9086a3b46b0dabac40e93bd379b9dbd4251513bac3677bba7a054bdec895bbd939264bb8bd5a5bab4044fbdc05348bd7bbcab3b97d2be3ad68afebc6531e4bcc2add33b58eda13b18b57dbc2d0d39bc3022173cf7029c3b593532ba0730523b7ed4083c2541c5bdb30c273fd3c7263f3221c5bd3b3dd2bdacce253f8d54233f189adfbde7d295bda426123f4b400d3f1bb7aebdaa776fbd7a6cf83e59d4eb3e705b98bd532ef3bcc06ab63e2d4cab3eee0446bde6f90fbd257c8b3edc527a3e774755bde42fdabc575d243e58d50a3eed9623bd53c7b8bc0db8813dae47363d0a40eebc2d7d90bc749225bc3d59bfbc4d68b0bcaa5b3abb684ffebbe73733bd9d770dbb1366983a75e81fbd4c8ab8bdbb53063c3d6f223b68775bbd7672d3bdca3bca3be9f2923a675960bdb512c1bd40d02f3b2e5dbab9674553bdac0fa3bd6f83053bcabcdb3aa4a726bd5fc96bbd5614b03bdf1d783bf704e3bcb3f113bd63931a3c10b8b83b65dd64bc6f8d54bc59ec483c44cd4a3bcc749eb97c68793bc1f8253ce63698bde7f3e43e05625b3f5928eebd6adda4bd5738e33e3d75593f2eb00bbeb53780bda17ece3e0b983d3fc06edfbdacb849bdb283b03e9b93193f424bafbdb92b17bd23e68d3e58f0e83e68fc8bbdc140fdbcb9224f3e75bf9e3e75c569bd8a82d8bcce23fd3dd3fd303e2b9c3bbd1a1296bc7eb7513da965523d302402bd9f0070bc7ea2ddbb929501bd0123bfbc470060bac490f2b9e7a97ebdd442fb3b0ec28f3bf3ecbcbc8ed0f1bd97897b3c12ef443b51c910bdf5c0f4bdd0ec7b3b43b5593b88dc27bdd12aeabdefcfc43a71f2903a7de41fbd052fb0bda325b5ba6dd5553ba58206bd5b728bbd2c509a3bafbb723b20f8babc3dd11fbd1f2fd53b3719a43b68243bbc666e75bc3b4d473ce9117a3bd027973ab94fa43b47992e3c77a950bd1c5d7c3eda02873f6aaa0dbe837059bd65c5733e006b863f049f1fbe074320bd4c1b6d3e62f6613f022cdbbdeb0f0dbd357d543e9d933b3fbf53b7bd5984c6bc67b7303e9cb8093f06ce80bd195cc3bc16bc053ea3ebbd3e329269bd507391bcaf52a73da765513e871c2fbdb69f31bcedc40d3d691f563d3d3bd3bc050d14bc1b869fbbddc93fbd36049abcb1ed653a072a523b5b96bfbd04fa483c88140f3c8accf8bb89be16be4036d93cfaa7d83bcd15abbc31fc1dbe5299253c2a50da3b97cbebbcd74908be99310bbb080b913b0dc6f4bc2018d5bd0c629bbb787aa23b5b4fc7bc52bd9dbdeaa5503a2c8fc13b086c88bcc69d3fbdd81cce3bb09bcf3b174fdebbc7e084bce8852d3c66a5343bd974ac3a2e9bdc3b5da5313c48e7babc9750593db105a23f613d11bec403a0bcf6103a3d17bc9a3fa6f51ebeeef1aabcbb19983d134f853f4b29ddbdfc5d96bc04f6a73d33ab553f335d95bd628669bc0f8fa33d63bc1d3ff89255bd66de5cbc0612813d4298d43ecb0f31bda7b11abcf543263d8e85603ecb9c02bd85cc91ba7d5b973c90522c3d83c234bc743246bb41f8ebbb2b659abdf4c178bc0000000000000000000000000000000000c9d83b1407ddbb921818be57a38e3b6f3fe03bb6f47abc99be0bbebd02d6bbbdf98b3b5cc8b3bc9a35efbdc9e47cbcc883873b3ec1b4bc0184bebdddbb8cbc2cd8933b6d899abcdb028ebddbf631bc7206763b330852bc6d3e2fbd9dd7dbba7c294c3b18719bbbf60389bc7ebb903b0000000000000000000000000000000000000000000000000000803f00000000a149203bdab590bd0d99a23fdfe7a2bd9e8d0f3a421cfabc7894863f45b638bdbbc481b723fcb8bba2ac583f846fc9bce0fc6eba0509ca3b6eff223f9f1583bc4803dabac877e13be9a1dd3e572f6cbc454d3bb99580573bf870743ed6b67cbc72ae793a6422a8bb726b523d6ae46ebc00000000000000000000000000000000000000000000000000000000000000003344a5bcbe53e2bd8339c1bc9538b43c88abebbc7ff0e1bd0a96c8bc7ab9c43ca62706bda75ecabde8c0e6bc8292993cc9b104bd5f22aabd8676c4bce9a7823c1972e2bcec5987bd74c488bc81c4733c14fb89bc40fb34bdb11006bc3c8c433c86eab2bbb7a2b0bc4465503afd03e23b00000000000000000000000000000000000000000000803f00000000000000007f6a62bce4ca983f317537bd2135a6bc59d9973c02057f3fd034ddbc9c10bebc28fb1c3d63484f3f8ac286bc8a4ac2bc139c223dd8571f3f7dd98bbc9e3ab5bc8375fa3c0481e03ed238a9bc5596a8bccd78603c66a0843e7b30c7bc7cfe5cbcb6a17cbbae3baa3dd3dcf3bc454db0bb0000000000000000000000000000000077689fbbaa8d6abd80d9a0bcd4ac2a3c7ee284bcc91adebd554eb4bc65edeb3cc642d2bc5e78f2bd67eb02bdda56ea3cb612fcbc3c9fe0bdfc9a02bdbf59e03c560dedbca90bb8bd7240ebbc0b78b03c1c83b8bc475192bd0b68a9bc7e4fa93c97034ebcd71b44bdfd2d3dbc24c7813cc9015e3b67469ebc6f7a81bb0c83b33b767a073c9f2d343a13698a3b8b63193bc0b4aebdf429983f17b1be3d80b113bd79dda4bd018a913fda95923d97ab3abd20bfb5bc06287a3fe7c39a3dc4a23abd958df33bccee4a3f420d853d672937bd9433a33cf4a3193f4d4c4b3df6db20bd8c0c633c7bead83e7d31dc3cf97c0ebd6839dc3ac4997e3e635fcc3b72d6d0bcd4e637bc8a03a83d281811bcc922b3bb0f6ca1bc0c7733bd9cccdcbc804373ba9f52abbba28e08bdb65e9bbc1991b83b2e5c65bc6bf6a8bdeed018bd1358983cb6c79abce7ceb1bd7f6b35bd162f613cca7cc7bceda7c1bd3a6d38bd9c8eaa3ce598bdbca0de97bdf2461cbd1735683cb4589bbcf4e883bdea09f6bc4dfe9d3c38ac30bc139d2abdaf349dbcbbd15e3c83a76a3a296ba4bc74a3e7bb14282a3c3654e43be720333a9e05273b13cf9a3b3911bebd4a937f3f7029883ed5fd5bbdc10fb0bde06e7d3f5bfc7a3eacf68abdeff7ebbccede523f5dbe623e0f995fbd006a46bcd738353fef69383ef64770bde42d763bf476083f956f0c3e2cdf44bd20129dbaee08c73e33c1b73dc54b45bdd9f2aebbb7f26e3e1a11463df65911bd04f274bcc5f2b53db412b83b006fb3bc572899bce15fafbc6093b8bc8ec117bc5d8bdebb7e54a1bc93abcebc715742bbc41d75bc331880bd956846bdcf582f3cf4cc8ebc1c6ba8bddbff6bbdb341633c8878a6bce94ca4bdc2a262bdfabb693c5518a2bc77ca8bbd5ae94fbdae02323ce6c487bc0e9168bd122313bdf0de803cb3ba20bc74531fbd30abbfbc21da7d3c14c8a8bad05196bcd6a31bbc547d5c3c195d3b3b05d64aba858de03ac9930e3c9c789fbdec2f513f9a44e53ed05c85bda80da0bd02ce4f3fe3f7da3e1050a9bd5f4432bde67a383f4624be3e4d8499bd7f7aa3bc4553183fb4b39b3efc038abd92f5c8bb04b7ed3ede1d6f3ef0a17dbd4a7fc9bb4cd6ab3e907b213e15fa6cbda96436bc8c20523e554bb23dce3a45bdf6b592bc9cf0af3d3022c13c63ff0bbdea7299bc246f1ebce4efc2bc5e87aabc026712bce34e4bbc734aedbc4b6bf9bb86be6cbca1823ebd1bb069bdcbb70e3b17a986bcba0b7fbd6dc085bdeb81733ba8489cbc857d8bbd701189bdcf47e53b8d9392bc3d1351bd1bc751bde59fb2ba572882bc62954ebd760037bd1a0f473cd0672abcd39c09bd5cc5e3bccd9b5a3ccff328bb661a87bc5b5950bc6192693ca7a6733ac8990bbad640a33a87043a3cc5668ebdf195223fbe69213f6b3b97bd1ba387bd62d0203fa7301b3fa199bebdf8ec05bdd8f80d3f59d6043ffd669fbd3af894bc3ac0f33e497adc3eeabe98bd00867f3a5e51b63eab48a13ed2074fbd1220f6bbfd668d3e060d683efca081bdebb72bbc3d7d2e3e7068033e831a57bd903989bc4ef09a3d31db293dc67e2cbdfe25a4bc3620b2bb0823c9bcac34e0bc29b406bc0ca91cbcbefb0cbd711711bc651836bc6a591ebdda9592bd149b493b307a68bccdc060bd233caabd474e513b4ab271bc61936ebd3841a0bdd9df993ba05a86bc2bac56bdd7a48abd9acc793b4baa59bcb3e331bd172850bd2309263cefa511bc5f5bfabc73fc0abd2b046c3cabb8ceba2d4473bc79567abc325f843ceb9fbbb8553e9fbac6b0bab85d5c4e3c24e67bbd7ac6e83e0b32503f9ed8adbd088a6ebdb093e63e0ccf4a3fdde3dcbd6d450abd5a15d33ed5622f3ffb73babd68de97bc05f3b43ed4020e3f5e78a1bd88100abc6d0d933ef44dd83e111990bd52622dbc36cb593ea060953ed9c688bd80cb6cbccda6093e43a52c3e2b9974bd382585bc752b713d07a7673de0a640bdb4c78dbc9dbe83bb3565d8bcfa61fcbc923dbcbb0e53e6bb05c436bdc76016bb5404f4bb69a600bd3b61b7bd1d4eb73b82a101bcee5627bdac28b9bdc15caabb006346bc1ffa48bd062dbcbd331130b8626639bc274a32bd493595bd3fc0afba078728bc126d1cbd8d8c77bd3251093cc66fddbb5a4bdabca2071cbd12a41b3ce9e1dcb95a1f4cbcfed999bc3533803c4f5a963aae1aea39e7045a3a4601583cc20c4dbdbf6b8a3ee8617e3f8470c7bd0ab436bd10b98a3e7300793f66a5f1bd6da2b8bcea7d843ed0394d3fdb749cbd805e61bcd8986e3e8cd92c3f8c8f9cbde649a7bb8a7c423e605e003f4b2f7dbdf62e0dbc3e4b153e9b81b53e649985bdf40b06bc77a8ba3dfd20533e542558bdfaa23dbcf7ef273d20dd863dfcce39bdc1b148bc473cb6bb5d6a0fbdcecbeabc3f2235bb4ef416bcc86287bd35e548bb991aa7ba3f07c9bcace0e2bdaf166f3ceaa8a1bbf24a1bbd357ceebd35eef93a5327ebbbfb0029bd5877d6bd78b94ebb785311bc80f81dbdef54b0bde2f8b3bbee01e1bb9a4605bd29698cbdaff2c53b8ede52bba32db3bcaa7e3bbd0f1f3b3c07272a3b9ce706bcba45a9bc606a793c0fa2303aa83c703ad1f92fba91c36b3c4ce206bd5415c73d1cc5973f9682bebdf02ad7bcd37fc03d7411903fd01ee8bd19215cbc948fef3dc82f753fe382a1bda239c6bb206eef3d6430453f8e0778bd7d4cbcba23b8d83db150143f8f3649bd8f0f03bbdefda43d289ccd3e99235cbda544a3bb7c5c4e3d01d3693e189454bd221e26bbf7fca93ce052893d1e431fbd909022bcfcb448bc0b0d55bd5949f8bc0000000000000000000000000000000039c7783ad0a7c0bc162cddbda20933bc3ecfccba11dbe9bc0a66d4bd430960bc154d67bbd97706bdf234c1bdbbdcacbcd6dc72bb3929f9bce90ca1bd10169abcded690bbda7edbbc24647dbd67b72cbc4553ebba322a8abcb51232bd07ffaf39c82d9dbafbee0fbcf1e6b4bc20ba1b3c0000000000000000000000000000000000000000000000000000803f00000000791373bb3ce1b4bc5a0f983ff14f3abd88f98e3b0468da3b4ff97c3f8be2f0bcb84c123cbd55dd3c0c154d3fdb3790bcc455183cb401f83c92bd1c3f88b9a1bc7c42e63be1bacd3cc77fdc3ea6e2d5bca4fc2f3b4a7e493cf236813e208dfabc58bad0ba097754bb7a3ea53d77e612bd00000000000000000000000000000000000000000000000000000000000000004c2b5bbc39f93dbddc15ffbc473f53bb81de9abc8fdb4dbd73bfeabc72c93ebbee9dbfbceca848bd9f9ff6bcb7b756bbe963c0bc80153abd7483dabca65da2ba7b26c3bc059222bda596a5bcb3f6093badd4a0bc9398f1bc6c7242bce49f023c8ded5dbc524192bc74c294bb24352f3c00000000000000000000000000000000000000000000803f000000000000000067b8113d2b6a843f3da10a3a556582bc8b9d353d5aa65f3ff791213b401686bcfde64b3df6d2383f056f7d3a4c6d99bc7c76363da04e103f13d80ebb7fec9dbccece0b3db999d33ebb4d1abc5d04abbcadcb9e3cbcc2853eebdd97bcdb7fb7bcdcf5583b6c71e63d57d9e7bccc30aebc000000000000000000000000000000006e7c9bbb2229b6bc9c77bcbcbebfbbbbcb5979bcef8c3dbd6bac00bd051b5f3b64f2aebceb1267bd1dbd0fbd933997390d31c8bc191c64bd56b908bd624c623a47b3ccbcc4cf4abda1c2efbc07af4e3a9467dfbcac1d31bd03acbfbcb10e1a3c4689b8bc419707bdda1652bcf43a593c723f32bcce1d7abc132470bbbbf4563c8c2a97bb4a9b47bb560f8b3a6751393c14d2333b7b11843f5d5e043ea932b3bc92b69d3cd736753f2e75e83dbf4800bd9549253d9484513f6c3cd03ddddfecbc3230383dbce12b3f4489aa3d2ffaeebc05702c3dfa70053fb8727d3de6cee6bc79320c3d2456c43eec500a3d763507bdd50d923c5536763e61910f3ca64606bd56febab9b9b1d33d350a64bca1f1e1bc85d51ebc1fb476bce0daddbc86efa8bc6c7e4abbe5b436bc19379bbcd44320bc20a13ebcb6ed11bdcebb0bbdcd8f18bc548063bc8b7d20bde10110bdf14f5bbc1a909ebc434848bd8b601ebd6ed8f4bb7767a7bc256d2bbd3f1803bdaa8ddbbb50c7b8bc41b01cbd205fcbbc4115563b53fe80bc29b5d6bc777296bc3593f63a18934dbc15b97dbcfbfce0bb20723d3c20295bbb5f3df3ba0a8f723af0ed1a3c3cba0cbc688b5f3f2c6f8a3ee9dcbebc2750103cf1ac533fc12e7f3e3f4d04bda82fdb3c6a37303fbb5c5d3e0b78c5bcf9df173dc898173f442f363ed29ffdbc25640b3da0fde93ec0490a3e8ce3ecbc3cfed73ce75dad3e7da4ba3da48f18bdff24803c3a435d3e1abe543d426cf3bc406c113aa9d2ca3d37eea63bda8609bd5d1a1dbce57806bccea1adbcec1cafbc4a484fbb9bf3e6bbf769a0bc354f8fbcb8c530bcd900dfbc8e0c0ebdb85693bc4d1574bc66ab1ebd023b2dbd09cd8cbc602a99bc8e3831bd874c29bde71342bcc2bca5bc88bf21bda06115bd80533cbc4b52aabc399014bd3166eebcf20ad9baf4829abc6c23edbc5969a2bc4895d53b4b063abc873e62bcacb81dbc02a71a3cffffd9bb696c91bb1ab0ed3916b4193ce7ce28bcfa33393f8a60d63e258fb1bc67c7823bea982f3f89dec63e532402bdc4edbb3c0f92193f14f1ab3ea356f3bcf93df73c9e1c003f26fb8c3e058c01bd56ad003d7b34ca3e35e9593ec15903bd0163c23cc0a3953e5e85183e3fd917bdf8d1533cc3b2403e647faf3d21751fbd68c212bbde52b03d2aefd43c244512bd67fefbbb5bd450bb7e569abca38cc8bcf76c8dbb322a88bbd5ac9fbcb9a9b2bcb7c825bccbebbcbc562314bd46c2cebc9c2452bc7f7805bd1f302fbd296ebfbc94c282bc79ca1cbd7c2d33bdfdb3b0bc50b268bc6af6febc998313bd54f8a7bc106da1bca5d90cbdacad05bd20e9e8bb4e038fbc13c0d2bca9b9b1bc6623953a841469bc647576bc3aa11dbc269c033c820ae6bb99fb9abb76dcb6baacb6123cf46b31bc7175123ff547113f3c54a4bcbf1af43a53410b3fd022073f1d8fe0bc39a4a33c55a0f33e2628e73e20cbd5bc7448dd3cb2d4cf3e5f93bf3e789beebcc851dc3cd77d9f3e9dc1913ebef4adbcbdceaf3c0679773e49bd543e5e5e11bd96ca383ca8181e3ead93ff3dc00815bd11f312bbf9ba933de462403da18d1abdd52332bc224cf0ba1cd085bcecc8d2bcfcc99abb1008bbbb0d969fbce88cc6bc9a1d42bc5ad3b7bc863520bde538e4bce3f251bcfc0d07bd85ca43bd09d3e1bce88182bc79ef13bdab4b43bd0527c1bc793091bc6a1b13bd2ccd28bda7eea4bcdd929ebc3c1600bd5aa30cbdbf6b0bbc91e393bce258d7bcbc03c3bc67db353a96636fbcfac37dbcff123cbcd7d80f3c93f307bc24e2b2bb38db9fba46841f3c253d5fbc4b04d93e81ec373f41609cbcffa9d8ba6b06d13e45412c3fca94ddbcde608b3cc24eba3e6f18143f08a7ccbc7a9ac33c7aa69f3e72a3f23e2311d8bc73c6cf3c6c6a803ef5ffbb3e6dfce3bc022e953ca973403e741a873ebb8612bd3844063c5757f83df255253e0cf120bd28b693bbb40d623d715e873dbe5323bdc2161abc7d5863bbf27289bc5349e5bcc083fdbb057d03bc79a6acbcc9e0b4bcef0d41bcc723bdbc456a32bd9049febce07422bc478fdcbcb9e33cbd57d407bdf15178bc965007bd11d752bd661ce6bcf21b72bcf71c03bde14734bddfd7bfbc20f88cbca82c03bd21321bbd981834bcefe578bcda89b8bcbb4acfbc92d5c3bb43fe5fbc158885bc4bf264bc00ac0f3cac2204bcdc1c4ebb6813dfbae471283cbebd69bc9a618d3ee9435f3fec01a3bc7ea9a4b9c5cc8a3e30a3503f9e5ac5bc8094813c94037a3e10982c3f21da5cbcf424b53ce0935e3e7a6a123f8067a5bcc33ecb3c6bf5333e854ae03effada8bc30e7863c5195083eb665a33ec0f505bd0be20b3c1dfcad3da58a4c3e15caf3bcb1e1b8bb6009163dedf7a73da8af22bdd60e57bcac6be6bbf6eb94bc9a91e3bc8e9bd2bbeba127bcfca500bd1d81d7bcb8824ebcb163cebc8b4249bdb995dbbc967a3fbc30cdffbccd6269bde77207bd7c9956bc60b607bd2f2b67bdc655f7bc057662bc7ead01bdd7c64dbd23a7c8bcab6284bc3b5de6bc5e5f29bdc56564bca7c688bc8b17c1bc2791efbc520221bb0bd15fbcd2db65bcce0963bcf65e253cfdce36bcc948d2bbf3b024bb0a264b3c118911bc0e430b3ef07f833fdce74abc4f50653ad14a0c3ea3dc723f53b590bc55ae8f3c5c930d3e86e04e3ff7a024bc0b88cd3c16ed023e4863283f55c340bcc018cd3c4c2fda3d3944023fc17e69bce1c4903c515ca43d5991bc3e49ccc8bc3a5e003c573f4c3d186e693effd105bdca8a09bce2ba763cb380bd3d07c619bd60a955bcf03529bcb0aac0bc91aa01bd00000000000000000000000000000000e47a9abba940a9bc74cb4dbd2cae18bdc3e2b5bb89dfc3bcf4c85bbdae850ebd20d7eebb67d2d6bc722a53bdbd7413bd15ec0dbcd9f7cebc05013cbdb96a00bda69628bcc73dc8bca5f91fbd8680b3bc8f8e3fbc15fe99bcf948e2bcf69316bc4b373ebcdc256ebc516b89bc6c3fbd3a0000000000000000000000000000000000000000000000000000803f00000000dcc1433c2fb1b53c9a01843f206cd33bac8da93cd55d073d10ef5e3fb93fda3b2b19de3c72cc213dce00373fd127843babb2d73cde59173da13c0f3fceccd6ba3df4ad3c0a74eb3c7d07d13eb76830bcce84363c7fc37f3c18af833e0cc7a3bc2f77dbbac16c9a3a60b5e03dc50de8bc00000000000000000000000000000000000000000000000000000000000000000c29c13b98323abef805cd3c891ae13b971839bc33822cbe32d07e3c77f63f3c095ec0bc0f1818be6132133b6b19483c65efdabc5044fabdf7e76dba4d2c4f3c3456a5bc2696abbd031586bb90dc1b3c946153bc38853fbd29be7ebbe5a5cd3b592b7cbb0a0729bc0c2e72bb9db4823b00000000000000000000000000000000000000000000803f000000000000000067aed6bd1832ac3f31fc0dbedc484d3cd93a41bde3298e3f554dc9bd542d643bb6ea28bc4c4e693fd28097bdf1d15eba66495d3c7a852d3f057655bdf89788ba3383cb3c6395e13e9b930dbd3ef2d2b78836013df6a45e3e391900bc85e0cfba915bca3c9057b93b09501c3c721a6eba0000000000000000000000000000000003e5b13cf21fdbbd9c7f703ce771b73a6eddbc3cac2b20be1c3ac33cd960863b3480853bc43035be5ed9bc3b7e5c723c5fd1cdbbd0a826be3367b7ba4e3d943c84df4bbc6e2002be5b7606bc83a6813ce55022bcc713c0bdc86212bc32d8783c9cadadbbc59454bd1ac606bc1457483cf5ddc6baa4fd8abcc9f01fbc2adf093c4230103ce60e4d3c4a8984bad8b0d43af43e4cbee9dbaa3f068e293cae5662bca82d34be2dc59c3fe8fec53902fb47bc508b00be0b478e3fddd88b3ad7f1a1bc33f8a3bdaa01693f1499d33b3506adbc1e8116bd653b2d3f45652c3c163593bc0a881ebc94b4e23eac1e813c783961bc42994a3ca8725b3eb549b53c4be33fbc9f75f93c68dbf73c910d0b3d672959bce8b22d3c755be5bda7d61d3c6c5e3b3ae81f923c1b0183bd261276ba200fc73b84d5963ca66b08be5bdc4bbc26ab873c430ef53b968c1abed670a3bc4655a23c8888d93af98713bec37dcbbc4ecdad3c5e7fa9bb1c52eebd51ccc8bc18b9953c6e1419bbf90eb2bd25cea1bcfdd0873c5acfa53a878f4abd8f545bbce4e7323c3ae9b03b189f9ebcb16fc4bb934ffd3b943d2e3ccb9e263b6d3a4f3b0f0e223b66374dbefdca8d3f2831693e262b75bd2fc94bbe3b038f3f8301453e548e7cbdbbea1bbe0109803f8c112a3e2d906cbd6517e0bdb489543fd7f1093e229b4abdb15b7cbd13c61e3f5695d93dc33f15bd4e8b05bd224ed63e10a39a3df8f7e7bc5bbd13bcbec25b3e32e63a3de20472bc2d38173c6e58393d5262ae3c5dd1e2bb6a09aa3b223d81bd164fe8bbe579a93b4b683e3c3a842fbd5b69c5bcfa8b553c39ba873c513ed6bd6cc12ebd8bdfd43c4238213cdfb900bedc265fbdfeadf83ca833a13b989ef6bd850751bd1e2cce3c6622e7b9e33bd8bd873c38bd4383c33ce20ded3ad8619ebd440303bdabb6893cbe549a3bd17240bd0f2a9cbc9ba2663cc301ef3b1045aabc5261d2bb31020a3ce483413c1bc6923a0d56f03bfb762e3b3e833ebe63746c3fe322ea3e1b37e3bd1d7643be75826c3f0591d73e4609efbdffc41cbed6aa573f5a2fba3ea16cd2bdd915e0bd8c5e333f165e953e25c8a8bd8ad495bd4b8a0b3f8c895f3e654c81bd84072dbd457bbd3e44c0133e0e882bbd2be089bc81184e3e389a963d896daabcd688aa3a41b3693d74e2863c8d88b8ba7d6a14bb47142bbd4689f9bc3b68f53bb2de013ca75adabcc4fb33bde533a03c62ce6d3c778195bdba439fbd5d200d3da2f5223c45bcbebd26ceb1bdc898ff3c3a71c43bf431cabdb44aa5bdcaaafb3c461292ba37b29bbd076479bd8717823c33ee373bc53887bd20df49bd4fadb93ccee1963b0b6d27bd1f28c2bcec59583c910cea3be1448dbc377accbb6061fe3b6cae233c2e82583ab74ce43ba170ac3bf9ac1dbe8113323fb5cc313fb13a1cbe38111fbe0183323f4ec2293ffb0329be3130fcbd814e233f880c123f76850bbe90a4ccbd165e0e3f0ba9eb3e8285eabd4c5f66bd44ecd63e6f1daa3eb8a797bd01c12fbd7fec9f3e0a405c3e76de5ebdc648a6bcf4d6353e8fe5d23d6205c4bcee4d6dbbb0bc763d595d303c408d103b6c8182bbf62bb8bcde4a45bdf38c293c5f2ed53b873cf9bb06b085bd89d4cd3c78df553cd91440bd7082e4bd934f323dc3883b3c14d28bbd9e42f8bddec5273db99a263cfb1299bda292e0bdca98083d421bb03b674e90bdbfb0afbd51d4d43cd10c9e3b75bd66bdb21d71bddc96a23c0512c33b8a6d17bdcb8103bd738b6b3c827ec83b3f079abc878efdbb22840e3cba0f033c4e8e65ba29b0313c2ee2903bafdee4bd2385ea3ed8826c3f05953dbe990de4bd5633ec3ecf38643fbd0a4fbe0896c2bd7d01e03ebe2c473ff8ee31be72ff95bd3f53c63e1ae21e3f424e09be9a445fbd1cf1a43e93c8e83eb0eac8bd0ec80bbd2db7743eff1c923e6cd772bd0e04aabcc9f01d3ec67d013ed4d1b6bcebc179bb52ce893d4276c23b2fe2143c8b564fbbe37700bc57718fbd51f2843cb0ac9e3bef70f43b20ada5bd5a0e0b3d69a30f3cce32a3bc8ecb12be18f3493dbfba343c4d4125bd6a901cbec22b2e3d1ea01c3c4dad4abdbf5f0cbeedb20f3df65cb83bdfb24cbd080cdabd838fc03c21f7d93bc4c32cbd6d0599bdf373a83ce6df5d3bd21fe9bc3ed01ebd8df7593c5507883b254886bcd882e0bb4918953b81deb93bcf23ebba9ffe573c54c4f43a1d257cbdb3246a3e30128e3fd4844ebecb2072bd45876b3eaee28b3f16fc5cbeb41e60bdbdae703e1565743fd3ed39be01d439bd354a643e35d1443ff7c714bee7c3ffbcc0dc483e661d0f3f6bd0c8bde715bfbc9dbb243e0c66b53e32a27fbd970d41bca729e23db95d243ed752b1bcba1199bbe102803df2f60a3b3def7d3c2a3f28bbd655103cfffdb3bd8e85e73caa63043b2cce6d3cbe57f4bd35b51b3d57e8af3b1f55983b492929be2dae683d8e4c0f3c92b694bcf3ad39be0189353da503013c3f4802bd11f925bed9e80f3d5d85d33b89b605bd28cf00bed08aaf3c735e8a3b4c93f0bc4366b6bdbd27803c6d2c203b9869b3bc354e3cbdd554163c47a456b8ad0a5cbc44a72ebc9a4b01bbf6a84e3bbf12d0b82d468f3cc1808338f2bb54bcbbbd2f3c7000ab3f48e44cbef7991abcb793053d9b7e9b3fcb604ebe8abb93bc1f54773d4a5c8b3f19972cbe68587abc8dc6a53deb32613f762c07bee33a3dbcd214b53d856f243f36ccb7bdce80f1bb65f2ac3d0118d13e2eba4cbd345288bb6eb6953dec9e3c3e721f44bc24700ebb5a75683dbcd9d03bb73e083dc961483a0f83503cde1101be6403ed3c000000000000000000000000000000004ec6ef3b998b023b17bd3ebec289123d5c08133c18b53abcdbba2fbef134be3cd18f033c40beb9bccee51cbe85fd2a3ce4fc753b808fc4bc6f3501bea194d53b0542653bdec3a6bce25db3bd22817e3bfb65973a871465bcf57241bdeda9ec39f61f53baee4dd9bb964015bc5639a83a0000000000000000000000000000000000000000000000000000803f00000000f18b783ce4bee4bd704bac3fa4a908becc810e3c04c150bdd9b38d3f3d20c5bdcb31513bdea888bc6b03683f8f938bbde313433bb760013c2cd92c3f0e3b40bd7f82a53b48949d3c8df3de3ec532e6bc91f6c63bf9dfdb3c3f4e5a3e13a312bbc08df23bf161b03cc8446c3be7084a3c000000000000000000000000000000000000000000000000000000000000000036349cbc16e41ebee052a33c8e81b13ce86434bd129a0fbec008973c67a0d33c0ffa78bd16a4ffbd7c3b1c3c32abed3c05906ebdfbbeccbda5bae43b4367cd3c07ba45bdec828fbdc196c73bb1d7973c14f305bd608325bd83a79b3b47ed1f3c02fd28bcece146bc58312e3b11c6003b00000000000000000000000000000000000000000000803f0000000000000000c1aa86bd4eafa83f144a0fbe2a5936bcdf95173cc9858a3f1d24edbdceadbdbc4c737e3dda5d613f2da5c6bdd9ec01bd0983a33d317c283ff447adbd6361dfbcd8bca23d3c89de3e51728cbd26699ebc6df38a3d1676663ea0332fbd39ffe6bbc12b163dd1a1bf3c64b288bc11c87d3b000000000000000000000000000000004efe723ccdb8c6bd3205ca3b7ff50e3c2e7a913b804e18bea0cdd23cc3ce723c2e38fdbca0491dbe4e58503c03d1f23c05e24bbdfba109be4a97f03b9c5c043d8fdb56bdf687d7bd8256803b0623e83c3f1139bdc1c59ebd737c9a3bda7fb43cfc26e9bc1d2f37bd77ba5a3bc8ff503c5e854fbcc08687bc2e0893baa628ca3bed1b0b3cce51d33b5aadc43ae65937bb50e23abeb39aa73fabccdb3cad62bfbcaac11ebe087a9e3f8283b9bc6b61e1bc2a1e81bd74538b3f363eaabcdd8f44bdb524a73a7d90613f9b25d5bc855b4bbd17bb303da6c3273f031ee4bc48b435bd88476d3d1cb3df3e50f4f1bc7fbaf4bc8d2c733dfa0a603ea3e9b4bc893475bc2216553d45ce053da46e873b860b91bb3a64bb3b5f75c7bd15eb7fbbd542443cc539753c8e0479bddc121cbc7288433c0805b63acdb102be8cdb2cbc0033f13c6235ddbcd22407beaa2482bc9a66193d18fa27bd2553fdbd55b272bc7c45213d5c5a2fbdc46accbdf15870bccaf00a3d31c718bd5a159bbd9430cdbb391dd43cbe7ac7bcb53c33bd59963cbb5920893cbf540ebc630699bc30e14e392d82f53b643ddf3b10ccab3b7974f7b8fad9d5b9a96640be5f638c3fa59a753ef63a85bd160b2bbe981f8e3f51ba3b3e8beaa6bd3ab7a4bd5907783f84c5193e3130b3bdc78201bdb726503fd2d7d03df965a8bde5617a3c619d1b3f00b08d3d88f38abd395a0b3ded6fd63e587ee53ce12246bd0f561d3d785c653e87dfa83bca07dfbc5d540f3d0c40523d6dfce7bb24a34fbb14f8e83bad8976bdfc9c8bbccad0563c354f173c5ada3abdff91f4bce5729a3cf056633bff5bd8bd9f3f25bdbe9a233d8c349fbc47def7bd0b0d24bdbbad3b3dffbf00bde7c1ebbd7edb10bd5a2a313dc7171dbd42a0c0bd3561eebcd75f253db5a501bd599692bd9cab90bc443df03c05caaebcdbe52fbd8b731ebc4d58a73cdc849fbb2d4c9cbce65e4cbb398c163c108dfd3ba12c4a3b0cbe493bfde56b3a671e2fbef6b4683fc9bbed3ebeacddbd7e6c23be78906c3f9565d13ebbcf08bec041c6bdf11f563f7c70aa3e532304bef68123bd380e343f30797e3e6c9be5bd711d77ba0c910c3fd2b92d3e6915c8bd632cac3c1504c23eec48c53de39d85bd8516003d741b583ec3490d3d2a0c0fbd3b67d43cbb8f783d4b9111bc76bc9eba7d9e933a24e62bbd197f18bd0977723c20ea023ca4c100bd5ddc40bd363dc53c0cd10a3b028dabbd532e8dbd6772463dcb6081bca5b6cebdc3428cbdebd14c3d30cae8bc3908d3bd86a176bd3e8d533d921a08bd5b63a2bdb33e32bd8aeb063d2354e9bcb3108abd63adf8bce239103d1cda9abce1a323bdcd4663bcab34a43cc216b4bbfdee89bce56898bbd2c8203cbfc0f13b42b6123b9b566c3b6ed50b3bb53316be2a29323f1949303f1fa613be61bd07be1b24363f5894233f8e8c34be086f9cbd4dc0273f2a5a073fed9422be3cc622bd782d133f4ebfd13e685115be0c68f73b8b42de3e0646923efbb1d5bdcacd803cdc45a93e75cc2e3e56e6aebd57dfbb3c9556413edfd4903d40d332bd4073b63cda5e833d0ae5d2bb54311dbb199134b95e2be3bc149a57bd786f903c81d5eb3bfca895bc11147fbdb41cdc3cd222b43bd91483bdfccfcabd87a76b3d471117bc704db3bd763fc7bd3c35743d7d3ea4bc47b1b3bd1305a8bd8d6c553db0adc0bc9c17a7bd23ca83bd6bb43f3dd703c3bc0df077bd16f12fbd0f03103d8e3e84bc71341abd453ac1bc0a56be3c8997c1bbd67c78bcec64f4bb7605293c6056b73b3dd9753bd319933b1ecdc93a0d26e6bdba57f23e8a40673f789b2dbe7678cdbde401fb3e0cb55c3f411458bead1181bd2a29f53e7aac393f4f1248be645ce9bc0c78db3e1330103f6c8d29bebcc21cbbec19b83ec4adcc3ef9fa08be23bd6a3c52dc873e43d8783e26c6bcbdd00abe3c1c85283ecd6fd83d671247bdb8a4ad3c70be7c3d3eb624bb2cd79939f20d9c39292c82bce58c85bd32e0953c97f3f63bfe1fdcbb6e049fbdba111a3df337be3bb96937bdb53800be4e80803d2b37cebbb1ae8bbd76a4f8bdd680733d39b668bc2c2b9dbd1b98d9bd3d2e693dc464a5bc462c8bbd9dd99fbd0d3a2a3d88e598bcbf835abdd8d764bda9f7103d23406fbc83bc07bdfdbbefbc4049b73c3435c6bb08a45ebc50481cbc7da0193c0e47743b4b6a733be462af3b41ef97b623788dbd84957d3eed018c3fec6f40be72ad66bd6793883efd27883fb7046bbe702f0ebdd01a953e9b27643f66684abe0e5580bced9d913e5fdc353f53bf36be9e2c053c29407c3ec69f003ff2e008be473b8c3c5f5c483e6af0a23ee715cdbd5de2ad3cfc09023ece1d153e83465abde553a73ce5796a3d86a89338e781843bd2f0793b7545d4bbfba2a1bd5d0be83cd5a3f83b56a0db37e248e1bdae6d203d8224fb3b804bb5bc43411dbe1d45983d00c6d9ba24905abdc7931abe4320883dfee01ebc9c8e7bbd986704beff75683d9c425ebc1f3576bd2f09c8bde56a353db30274bc1a7743bdcea88cbdc9280f3d87a458bc29ececbce08417bd6794ad3ce1e605bc2be247bcbc4339bc79889a3b2fbffb3ac6f6c43b85200e3ca9cdc6baf6dee1bc0de10e3d18aea73f2fc33cbebbc426bc47dd633d88c69b3f73716abec78911bc23f2f43ddeea853f1a914ebe7830333b3754153e8c6a533fc1982ebe4fa9763c3fa4183ec472183fcae308be6bf7bf3c6652023eb784c23ef0b2c5bdc874c93c9d46bc3d8c9c313e62fe3fbd09ccba3c7feb583dfeb37a3b593f943c5da3c83b272441bba10ce0bdaf3ee43c0000000000000000000000000000000056aeb23bda5ec8bc061224be94503f3dbe2cc13a240f3bbdfcb911be51783c3d7c45cdbba7285ebdfe1bfcbd5b92023d64c136bcb03952bd54a8c6bd90b0d83c20894bbc5a7a24bdaa838cbddc60ba3c695e25bcf0aacabc1f4726bdf965803cc2d798bb374bebbb72163dbced69e63b0000000000000000000000000000000000000000000000000000803f00000000efbbfe3b003995bd0c01a83f0afb13bef74f4c3cb48d8d39fd3a893f2c0b04beed269c3cdb3e3b3db0975c3f04f0dbbd218fc83ce1fc833dddf9223fb5b7bdbddac0ea3c09dc7a3d4fe7d53ea95b9cbdef5ff13c1788493d3dda573ea6c12dbdf35da23c461cbe3cb4bc7e3c67f72fbc000000000000000000000000000000000000000000000000000000000000000051733bbd55b7c3bd6aa162bca585273da93483bdb560bcbdbb33d8bbbeea453dd5b993bdd951adbd602cc2bb45c9413d0a808cbd693f8fbd570751bbc6c22f3dee9d6cbd489e4cbdc1fc303b77db063d6a721fbda151eabc31b0b73b04bd9f3c091b86bc752812bca6dcc83b0acbe43b00000000000000000000000000000000000000000000803f0000000000000000ed11b23cee48973fbed859bda3567bbdae419b3d6e587b3f730c66bdeb329ebd089edc3d2f324c3f78e369bd3230a8bd45b9e03d7eb01b3fba0d76bdbc659fbde401be3d0d50d83e340786bdeed481bd29f8863db16c793e53a774bd27751cbda3acc53cbd168f3dd1d151bd1d3b1fbc00000000000000000000000000000000bb3f47bc5a2f54bd131ca1bc98928a3c75ef1cbd22f5b9bd178625bc60d1293d693d86bdde75c5bd275623bc0308513d8c289bbd4f6cb3bd149ee0bb66b1573dd15893bd6d4f8fbdaa15a5bb29ee413d95857abdb0274abdc91a203b92e7133dccb027bd4b26e7bccc20a33b0c00b63c371d6ebc4e2816bcaab3473bf28fd13b0c587c3bee38ea3b0e6c6e3bef1226bbc72ba2bd15d0963f113fd73d126d53bd969645bd01818f3f6700783d57f0acbd68aa2f3d8d8c763f0c5f2b3dad61d5bd3765b83df93c473ff82aa33c48d3dfbd7db6d53d36f4153fc34c5bbbf2afcabd2624c33dd953d23e61fce7bc6185a8bd357e8c3d7e236c3e7c1c1cbdcf7351bd6e720e3d61378f3d985e10bdcb591fbc56fa19bc51075bbdffa406bd8028133cbfd71cbc424d05bd1faeabbc0938583c344f14bd303b9dbda938e4bca51a223d442860bd0f5cabbd9d89c6bc4257353d54b78ebd4170a9bdb9a696bcc5d4553d478489bd5ed383bdea7161bc62562e3d238f6cbd6c4e48bdff5064bb62dd183dc05421bd2215e2bcc6c8bbbaad73c33c29e78ebcd9b923bc2e77253bbf6a383cce667a3b9e1dc03bd1e86f3b8313d2ba631fc5bdfbd17f3f885a8e3e6dcf8cbda0886bbd8e9f7d3fee62723e1f01e2bd6f60f23cbf86553f7913433e9500ecbd247a893d7e05363fe3ee073e56e703bed371b13d52ea083f00f1b03d5340e1bd853ca23d7783c43e50e90d3dedfbcbbd4681683d418e633e86ef423ba01f85bde0dbe33cf41a9f3dfd5bc7bccd7edabc55b4d5bb841206bd493e01bdd3cc243b934346bcfa33d7bcad51e8bcd20a2c3c15c807bd2fe189bdb7801fbd44be1d3d9a3862bdaaf9a9bda02512bd844b4d3dcb1c83bd429ea0bd0cb5efbcd1da4f3d6ae683bd3c358abdf224abbc1288473d3e145bbdb20741bd96923bbcd7dc1a3d65d622bd0980ebbc153e6fbb4457e63c08e38ebc87a10dbc5653d53a7ac43a3cce7196bae0edf43b2cc26b3bc2d6be3a4faaa9bd5319543f75cdec3e7292acbdeb1c61bd5e99543fe590d53e2e1508be98e18a3c08053d3ff018ad3eab9213be6fe66a3dc0d11d3f03f0823ef67712beca26a13d468cf63e04d9333e965b0abe6b59933d56d8af3e23d7cf3d1ecce8bd3e8a5c3dcb86523ef7a91b3dba43a7bd32acd13cef119c3dd00e12bc08ae19bdb30108bceafcbcbcf18116bd9350f3bb00da2abc0a52a9bc8b2507bdcf61043c5939fdbc6cd075bd02c24dbd1a4b183d280343bdbd6798bdef0f41bd88b8333dd78b74bd026c9fbdaea923bd4de5563d035b5abdb12e78bd186ef9bceabd113d23995dbd9dd04abd248c9dbc7ba82c3d3ebd1bbd2a2bdabcbc2f1abcc1a9dd3c28af95bcb00012bc4bd2b7ba84b9733c8c555dba3c87d73b14ca8b3b47b2393b20aa9bbd3516273f985a243feee7c5bdcbb733bd03ff283f3af6183fd2c417bee120923cd5cb173f6e40fa3e9d1818bed516613d55fc033f4c11c33e97ee21be42678f3d9b39c63e6e388b3e7c87f6bdf11b8d3d5ec9993e29e32d3eecda01beaf0b4e3d5a97353e81caa73d6635b5bd7ef9b93c1bd28d3dbed3ec3b150541bdff01f7bb21b096bcae2021bd96a65dbc8f06efbb9b02a0bc54fd21bd5549023c27a8bebc42de6abdb1bd82bdcccb203df1632fbdd0b298bda0ea7cbd0e9f4a3dcceb4fbda60f98bdfd9e59bd9cfc4c3d70325fbdea9089bd5c5620bd13ba453d7aea3bbd2eae43bdf479d9bc106b243de1e610bdbcb0e9bc6e5d5cbc0a8ff63cdc708cbc6bba13bc61ab56bb19cb713ce47032bbe74bd63b7563983b28b3783bca658abd6cd1f23e312a523fdb55d7bd95532dbd2e29fa3e697e473f28b826be2de5813ca452ec3e6ec7253fae352bbe17e7463d0bbfcf3e9dc8013f233f26be59428c3d9228aa3e8c08bb3e94ff19bee957823d223e7b3e1244733efc7407be43474c3dc7e6193e003ef63d6d70cabd697ed23c70c6683dace7b73c317d49bdea70a4bb44e57dbc17c32dbd6e3b8cbcb8ed21bbb11098bc51123fbda399653cd2a681bc79f95ebd2e98a1bd92a32a3df32203bd3cb88ebd6ed691bd61cc293d5f363abd0b5b95bd282284bd9f474e3dc8d937bd14297bbd042243bda878273dd3702abdc5cc49bde38d0ebd46ee283dc33005bd5eb3f6bc72bfa1bcacd1ed3c5a0185bc49d00fbcefb2d5bb4b337f3c8973a6ba7730db3bbd024d3bbe9a4c3bc0956cbd5e15953e2d387e3fbf4feebdf3d8f5bcfcb3a03e58fe733f84772ebe24a7ab3c27e3a03e2542463f7e5f1abeadb7493d4d19983e7b02203f6d2228be97ab813dce79793e2734e73e635010befd897d3dd74f423e66189b3e870a09beec35423de165ed3d4789273e731ac1bd426ae63c08a52e3dc8d4123d30d148bdb9b393ba85af86bc1f3542bd81f017bce4fd4d3bbb0eb7bc316985bde39a3c3c6ec5d8bbf42754bdf13dc8bd372f503dc23dcfbc478e8dbddc49bfbdce0d553d7fb315bd263c98bd47f29bbd3ae1503d496c21bdbd9f82bdf9a86fbdb6d0333d1f5b13bd796b46bd9b672cbd7859243dd2e0d5bc5755e4bc61b6c9bc695fee3c546144bc9e1b09bcf09e18bcd5d9693c3a6262bbaba9dd3bda059c3bac4d823b698e2bbd0945f63df748963f2717d7bdf1548dbcde94113e72088d3f50e32abe126fcd3c719f3b3ed5376b3f354023be0ff3533dc16f423e88fe393fe38e1fbe0236883d005a303ed90f083f3a0210be3325803d4c5b093e4fa9b63ef48f03be34ce513dda64a93d9750423e7697c6bd5fbb0b3dd50ee53c2fff343db6812cbd1e72dc3acf25a9bc758183bd5c6070bc00000000000000000000000000000000f49c8bbb4b284fbdead9c4bd3fd2c93c473c97bc157d7fbdd8d0b0bd16000a3d8a3dd2bc66e685bd89f19cbd4002f23c15c6fcbc60416fbd0d5376bd816eeb3c0511ecbc76ce42bda9ad38bda8a7e73c44eaafbca50ff2bc541ae0bc29d3bb3c31584bbcbd302ebc07c92bbc31577d3c0000000000000000000000000000000000000000000000000000803f00000000750fac3b26a6c23c498f953f09afbcbde43a103d5668873d6f26763f6b1ecabdabb5673d46dbbb3deed2453f3090c7bd71a6883d602cbb3d68b5143fdc13ccbd9828813d2ba99a3d326ecc3e28b3c3bd60ad4e3d213e413d8867673ee45da0bd10dff83cc93cf13bc174723d17455cbd000000000000000000000000000000000000000000000000000000000000000064e4ae3c52fe4ebeb8e5483d0b6f5eba91e5edbb8c983bbe17e1d73c72e3b43b6e8dd0bcd3ba2bbe7f1b5c3cbb90e83b77ec04bd8e9d09be089aff3bd09f933b2cc6ffbcfb67bebd882820ba1349a13becb9b5bc401153bd19b78fbba5e3b93aec662bbc24af38bc8c9dcfbbf2a69f3a00000000000000000000000000000000000000000000803f00000000000000005b24e7bdfa6eab3f9a5524be8220a43c7ff607bd41ba8b3ffaa8dabd0b9c573c0726b03bb144693fcc2cbabd663c423c312e0a3d12532c3f1f9e77bd9793273c9a675d3d077bd83ef0daadbc28dea43b660f6c3d84a8533e71fd173ccf46ed39b9d83a3d47d3ebba2347073d8aec62bb00000000000000000000000000000000162d183d8d1003be642a153dbbdc3ebb1c32f03c650526bedbd4fd3c2a5209bbf2015f3c9c304ebe1e1db73cf29d2b3cad1437bbdbb53fbe31be4e3c2a352c3c2c287abcb15b19be3bdfea3acbd7173cd76b84bcc62ee4bd9e5868bb6e32073c6eb76bbc1a707ebdeda69bbb1ace9e3b285d40bc852ccbbc18fbf0bb1d1ba23b9c118c3b66f51e3c6c4516bb9a700bbaaec35abe2c14ab3f4f7dcebbfa50cbbbcbb014bed7c9953f01cd783cafd642bc889eefbd27908d3ffa79a1bcfcb51ebca8bb85bdced3683f679d62bcfb94c7bb48b192bc44512e3f3dc48dbbd253f0bab97f813c1fd5e13ee270823ca41eb9bb1fc1073d4fdf593e49a6fa3c1a6e8dbbf731263d46ca3e3d1c4f173d2bc922bc63b4b23c48d5efbd1fa7fa3cdc955cbb3077e03c13c799bd7aec503c3a40603a0d73de3c454e23bee6f81c3cac18023cb0279e3cfa393fbe91c557bb57fd413cd3b0e93b308836be166614bcc687563cda579dbb4a6915be018f4ebc5da52c3cc084cdbbf128e1bda9075fbcfdaa153c94e290bb134b82bd79a824bc9311b83bbe0120bbb185e3bcee42c2bbe123863b133e253baa68d23a7e23883a0e0cd23a94b34dbe92568c3f700b633e5f7e54bd48d645be75818e3f1121313eeeae4abd381d1bbe7af3823f9b43023e766816bdecd2cdbdb08b5a3ffa20c53dbed3dabcd4eb56bd67d1253f95f5943d301f88bc0f4d69bcc4e3d93e0d72833dc0723dbc6ba0813c18ee563ea59a503de009cdbbb3cbbe3c90543a3d9c7f083dfda227bb6464593cccd885bd4ff1263c0759cb3af2a6993c898b81bdfa7e20bc04f7503c2ca6ec3cfb8e05bea2eae5bc7faca23cd609a63cedf925be9c191abd8115c43c2f18343c9d5023beda3616bdc1149e3c1618823b17330fbede76ffbc5b12723c43c130ba6db0d4bd751dd1bc2033313cf03411bbbaf182bd240474bcc2a9023c59f92f3b5c27f2bc104e01bc1f31e03b5c12203c527923bb9cda9f3bdc16893b401946be52896d3f4b1de43e1d43d1bd7b073fbe58416c3fa087cd3e70b7cfbd89151dbe7dd95d3f7f1ea63ef57ba7bd86b8dabd72fb3d3fa4dc783e1f286abd32498ebd0efd153ff403333e16ab17bd2e7ae5bcef32c83e2950f53d8e28a8bca5d1e43a6909553e7d1b8b3d1b61b1bb34204b3cead26b3ddb6aba3ca4f88b3bae01853bbf2948bd1e2d78bcd7580f3cd072713c79481cbdbfb51fbd298cc63c3e0cc13c8df4cabdc61086bd7f64053db249be3c44de04bebcc3a1bdeea7023d7001773cdeb90bbe475d90bd4ff0c33c0db9673b135fe5bdb8bd59bde68e603c9b61cb3b2963c3bdcc3b22bd6825503c8f96d23aeae674bdd56a8fbc3871c23bcfaac33a3a46d6bcdd67d0bb192cb93ba562b63b003c3bbba212c43b6953ae3b33e721be384e2f3f2d2e343f52f921be08131ebe58d6323f733a253fcf9f1bbe3e8506be92352b3f8ed90b3f1f7502befa6acdbd2255183f2ec1d63e42acb8bdc99e72bda2e7f13eb0d5933ea16461bd8dc21dbda00fb23e0a3a343e57dee2bc9666eabb19d0433e5152aa3d83d329bbc93daa3b65a18d3d6c74343cb7e8343cd3fd6a3b3398eabc370237bd763da63cc0522b3cd6b13abc85dd7dbdfa76033d902aae3c3fa080bd22b7dfbdfb90343d0e92eb3c07e9c5bd1b43f6bda587223d90a7c83cbb69d3bd3177debd5941003d9220703c93eecebd8150abbdac00af3c2695263c1627afbd78ed57bd63da5a3c4c3eee3bbf2164bd02cee8bcfa0f213c1422813b03bcdfbc5a6f02bc514ad53b0c3e8d3bea6a13b9b0b7183cdd428e3b18cfddbd9ef6db3e2cb66f3fceeb43be5213ddbd5c26e93e4521613f06cf43bef1f9cbbdfb5ae53e40db423f67d326be55e19cbd5f1cd43ea660173fcedbf2bd6cdc6bbd01acba3e0b7ed33e660a9dbd3d5f0abda0a68e3edeb67c3e09aa0fbd54c879bc5275383e1a9ad13d93302fbb3b7680bb2eb09b3d3aacab3b6f779b3cadcf7abbd2eb0fbc27a78abd1926c93c13e47c3bca27e93bfca3a5bde490203d4292823ce65dcbbc3e8418be5cf4563d730dc93c501b67bd638b28be8701423ddb23be3c241798bde1cf13be5ee70e3d37d6903ccee896bdf67de2bd250fbe3c89754e3c0b318abd0c2d98bd60f2603c77a6c53ba99c3ebd4cf40bbd7cf1e73b7d69e93b8c8fdbbc55771bbc0a69503bb241573bcf875bbb102c343cdf9b7b3b9ff457bd6e94553eb6558d3f466649be0cda6abd2b7b613e9f2d8a3f6c5852be4a745fbd15be6f3eacdc733fb7b03abeb82d34bddc69773e9e72403f298a09beb42207bdb4496a3e0b05093f9b37b5bdf0f1d4bc3b674c3e6b2da53e48e31dbd9e0b56bc2134143e5a05063e7360323a648ee6bbcacc9d3d00c27fbaed63db3cd78086bbc7c3133cb27aa8bd48f8033d6c557e3a5a35e03c562606befb9c583dae09283c15e3f73a97d326be86636a3d06f7ca3c4b01ddbced0b47be2b104f3dfb77c33ccbfe34bdadf533be711a1c3d6ae4a83cd8c750bdbdc40bbe5035b83c3fb88a3c26914ebdee5cbfbd25b0483ce7c1bf3b2d531cbd056444bde52da13b7c2d413b3c15bcbcc28872bcaf82e7babe04043a7a71dd3946fb763c4bbf133a6481b7bbdb8181bce117ab3f336b56befa6c95bcfc1d513d1644943f462331be79caaebcd98a813d1964893f1e542abe0706a4bce24ec33dfc105d3f835c02bea9648fbcf27dea3d2404203f44eca6bd4f0660bc7484ed3d4fa4c73ee24b16bdffae12bc4d9cce3da396313eb091513b436beabb6cd48a3d0eccaa3c3295fd3c891d4dbba1208a3c135f05be8a5c3d3d0000000000000000000000000000000051b04a3cc32f883c058254bec95b553d0c0bc23c1b8c81bcc1cf3fbe1359fa3cd089d13cc12e01bd8c4534be54548d3cb456843c103716bdefb10cbe191c153c3d7b8e3c2ba316bd41cac6bd1fbced39896bc73b47d1d1bca19752bdbc3b75bbc88a8fb50a2032bc451028bcdded20bb0000000000000000000000000000000000000000000000000000803f00000000e87e6a3c829500be2f6fab3f39a018befdb0da3a91ea2bbdb1498b3fd41bc8bdc962d5ba326dc6bbc0a8683f4371a4bd0aeac13a066bdf3c0a652b3f4bef5cbd24df5dba66d3433de2fdd73e8f78a5bc6815873a98ac5e3d01b0503eaac5e63b4c716d3a59fa2d3d3a4a8bbbae3bf63c0000000000000000000000000000000000000000000000000000000000000000ac044dbc6e872bbefa184c3d78edce38673187bdeb8bf4bda3011d3d5aa2423b84e2c7bdb939c7bdc1d1d93cd262ed3bfcbad0bd9cfc8abd053ebc3c7db3a83b0364b1bd499224bde96b413c2b45a33bede678bd10cea0bc24b6013bde029d3b9dbdc7bcc2a2afbb594b82bb30ed753b00000000000000000000000000000000000000000000803f0000000000000000e677a9bd959bad3fdf2158be4406c43caae72f3d931e8b3fb3c347be83af9e3c87c7003e2fb75f3f28f73bbe00a4973c2efb283eef831e3fa6d31ebead28a83cb10b2c3e5ad6bd3ef2e9c5bd216d903cfdb00b3edb1c293edfd206bd5064b53b422e943dc7d5b2bc827cd83ca4c505bb00000000000000000000000000000000d934143de952f6bd22efea3c58ec99391f7edf3bf9c012be218e1b3df15ce3ba99e42abd762d18be3d16fb3c416f213c567d95bdae39f4bd3979c93caf5d413c3af7b6bdae11a5bdd529883c8017203c74a8a4bd793d61bddbbe273c2d6b1b3c72fd58bda7bffdbcab58de39528b163cb11bf1bc2ff42cbcfbdb7dbb2ab7c83b1877d63bf420833b386a7ebb91d66c3a2ed358beb01cab3f80a61bbcd62c36bcdd20f6bdcee6983f175d3cbdb67f60bbc0313dbd1ec28e3fde27d4bd67db49bbd1632d3d6a76653f66def8bdb0cca93bac45d83db9fd263f848ce2bd4d5d023c2ed8ff3dbc61d13e36c392bde2c60b3cfcbae43df0313b3e1f4fa1bcb14a493b1f12a03ddb25bc3c0240ab3c946ddebb9f22683c91a3e9bda3541b3d49a151bba24b0f3d6e50a8bd4e09b13bcbb1d23b25a9343ceb7410beb883623ca6b1533c6e13e4bc3c4215beb476573ce4dd8f3c6db867bd82c3febd94d92c3cfd61943c93e297bd6e32b2bdc139203ce6c56b3c2a3b8bbd621574bdde9f983b0639463cadef3fbdd1570cbdfbfc403afcdd1b3cf83caebcaece66bc797528bb4eb1c73b5020a83bdd6ea83a38b81dbbc3a5d93ac57f50be9d038d3fb942613e63ed61bda66e26be3ad28f3fe738fc3d9dee56bdb98bb4bdeabb853fff2b113d3ed92fbddc270abc86195e3fcdbabebc499abcbcf02f803df140253fa0464ebda14975bc9a90b83dfbb5d73eed5839bd7690acbadc20bb3d4bff4a3e7285b3bc2a57aa3b2f3c823df9c4f63cd8f7d73bf341253b759e773cea8e93bdf5183c3c00fe903b3daf003d571d91bdfcc696bcc693a53c9f1d993cf8f001be116588bc7d07e13ca6d272bcc6cf0dbe38be69bc4a1fe83c09aa39bd89cdf9bd058e07bc63f6d13cddd27ebd8b03b9bd9ea7c1ba4618a23ccb836fbd3bb17ebdd0662dbacac16f3c5ea428bd0c7814bdc9e53abbee754c3cbfad9ebc74237fbcf5ee47bbb6e5023c79ba023cc2f23f3add50ffba0814ca3a88b94abeb3296d3fb2dfe73e8effe2bd62162dbe5961743f4882ae3e386cdabd5462debd05006b3f72565d3e811eafbd0bbf03bdb3ee493f04a4da3d76ec6bbdc738e93c032f1e3f6629c53cbaee04bd24f1823d186ed13e88b0b3bb0fff4cbc88eb953dee16543e83ee41bcb39a643ba7be603d0f15433d3b4c2ebc9a77433c5cc2363cea1e79bdfaf95bbcc709983cb67b063d8e0455bda5b335bdb4de013db250c43cab8fd9bd14665dbd9fc82b3d31c564bbbef703beb9363bbdb5ce2f3d63e4f1bc378df2bd891401bddb8d113d9e1457bdc3afabbd838f92bc9109be3ccb8444bd7e1681bda4d210bc5176913c7f7611bd3c6e12bd110cabbb5cf24e3c621d6ebcd6698bbc7deb65bb3b2ef63b5b620a3c0177c739f4d51439aacbe63a16df2abebc62303f3bf4333f764024be547e16be89043e3f554d163fb04b29bed8b9d3bd9e56403f7337dc3ee96d13bea93f47bd5e082f3f15a5853e1b5fcbbdec08c53c7af9083ff1a20f3ef1708ebd9bea1f3d6871c83e9e19263d6b50c6bc5d04703d359f523e9da55bbba3569e3a3129353d56e2783d384dc1bc471fb43c5590403c38a43dbd4b0b26bd2b3eff3cdaaddf3cf33801bd86f38bbdd0741f3d5420f83c4658acbd380fc1bd4f2a753d7288533c03ffe8bd8f3eaabd243c653d11ed6dbc6e32e1bd10a07dbd841f363d894c0abd9b35b9bd47c11bbd532a063db34e1cbd4aab84bda69bafbccf96b33c8bf2e4bc5d5021bd766b2cbc3abc623c2f1c47bccf648ebc6d537abba85dee3b41b5093c9c435e3aecd4163b1a04d138c084ebbdce3ae13e22c16f3fb1b744be2a67debd6c3c013f5d50543fe2af59be2c28b9bdbb9d0d3f819f253fbda63fbeef262dbd3743093f1789e03e9a6f10be619f98bbb6ddf03ecbe07e3e331fbabdcf35d03c1eaab03ef65fe63dfd191fbd7e7c1c3dc4dd4e3eb170b23c1b410db95052123defe8983d8c5808bdf8a0cf3c79cf103cd522fdbc623683bd517d273d4631ad3c1337e7bb50e9b2bd62f6413dd4affb3c939a6dbd0a3105be07168f3d30d0b33c2a54c0bd37f8fabd0c9c8e3dce1a09baad7fc7bddaccbcbd8b51643d12feb5bc9528a6bdb39c74bde75c1c3d855cd7bc711881bdbba10bbdef20c63c8ea1afbce6091cbd34f068bc4171633c4dcb2ebcdbfb91bceda623bbac96bb3b8889db3b149090b9fc486e3bb34ac6ba9eff76bdc1df583eb4ee8d3fea374cbe6aac83bd2a978b3efd7a853f484f71be75f063bd3870b03eecfb5b3f2fac68be279301bd27cabd3e99871d3f2d6234be5abc043bd440b23e62dec73e309dfcbdb8f6723c6298913ec39f493e15b273bd977af83c22db373e36664f3dd4cf08bc5cd1c63cbad59b3ddc0908bd2f4aeb3c2e2cf63b21e93dbc3fc9a5bdd353463d8c09aa3c9d2d303cabf108be2c706b3d2ab3e33cd57af2bc27c61dbedc719b3dfe83023d11229abd538a1ebe7cbb973df7f84c3c946eaebddd4ffbbd3b32813d396df5bb2bad9cbd4ab2a9bd31d02d3dc90187bc9c3474bd34ba50bd61c5ec3cf6ba8fbcf39d1dbd0d4bb6bcb74a6a3c01e116bcf04db5bca2d189bb5ff7323b5cdb5f3b150fab3b04083b3c76a9c3bb852360bc382c98bc3ce9ab3f714855be5c3799bcf96ca33de8b2943f9f3a62be43d4f3bc8a43213ecb83823f295469bec5db93bcdb2f623ee8d6433fdc0345be0bc54d3a667c783e67ed013facba0fbe92ec2f3cd0125c3e9ce78f3e9d8e9dbd3718a03cc643193eb1fbc43dcbf37fbc6ed4713cd42aa23d03bc5cbc11c7d73cafebfa3beedca6bb53b7f9bd48ad653d0000000000000000000000000000000016e2153d331fe6bc852546bef8d49a3d4830eb3cb52b85bddc231ebe050b843d00236a3c8932a0bd67d505bebff64e3d3f42b9bb4b768dbddcbbbdbd3cee1e3d58c67dbc27e955bd668269bdb7c1cc3cbf148fbc082c0abdd9e5d5bc12c33c3c798821bc001749bc184519baa2f2b83a0000000000000000000000000000000000000000000000000000803f00000000d443cc3bedb7cabd6d56ad3ff00d4bbe519fd8b921af093d5ce6893fc8483ebeec1446ba7b3be73daadf593f7f1d2ebe90e56c3c04c31a3e966b173f2c860dbecedcaa3c0389133e56fdb03e2677b0bde54fcc3c6a99ea3d7388143e03aef8bcf10d973c2ec95a3d5c83e2bc4022a53c00000000000000000000000000000000000000000000000000000000000000006a1194bd1fa1b9bd9057f73cedd8aa3cd63407be7abe94bc1f92183dab8b8f3b86e01ebe4ea1b63cb22af23ce7bc44bba7c812be4b5d2e3d4e58d33ca7800dbc0f22e2bd20c9313db7ab7d3cf34726bc4e3d84bda959e03c2a0d513b0eb5abbb2d668fbc1f97aa3ba7e180bb0752203900000000000000000000000000000000000000000000803f00000000000000003c35f6bc4520ad3fa23d53bedd8c0abdcd9f053ec110863ffed37cbe39458ebc18e8793e8217443fd4eb82bec126c7b9f7f78d3e8cbffe3e5c237bbeb54eaa3ca23d803ec247863eaddb41bece18153decaf3e3e5d6e9e3daf96c1bd4b81063d288ca43df48751bd950cb1bb2fe19d3c0000000000000000000000000000000077be9b3c04dadfbd1a409f3b49b4be3c201e2ebd1406c0bd0687053d2b8d453c9a3501be02d103bd6392f53ceebe1f3c9f7921be44a19a3c7460d53c491482ba48c11abe3dba3d3dbc27a63c369c0dbc644ef7bda925413de889fe3b2d74d1bb0bdd93bde5afeb3c4d807b3a82fa77bbd5c8f6bcf98fe23b055c38bb55a6013bf4de723cb11fd4bb29cc7bbb7746c4b9906254be3ea1ad3ff3b8ef3c45584cbdccce00be1c33a43f6459d8bd9bc601bdcbc34d3d73538b3ffbf726be81cd20bd56ce3c3ece384c3fdc484cbe5ea043bcb539823e1de6033faaa651be3f4b6b3c90737f3e548c8d3e769e25beff02043d6979423e5bb59c3de13e99bd12c6f13cf068de3d828321bdb19fc93b3dcc083c682640bae60ee2bd29d4013d1952353c031af93cab26b1bdaa87fbbbc07dbb3ccc720bbda36bcabdecc21e3c4b7ce83ca365e1bd1fdd3ebd8289813c7673b63c121f16bef5f7d63b74778c3cc289003c85f810be636b013d3446843c265dd83af597f7bd446e383d4975313c9cd9f6bb15db94bd110af33cdc9e92b922efdfbad546e7bc83fb353c6bb25bbb6884e1379e28343c9fcba6bbe80688bb675191381d005dbe29f4903f6fd17a3ebf73a9bd24fc16be6515963f7f2bd93d9aeec2bdecd6113bf5c9823fb6bed83bd57bbfbdeba6013e2ea84a3f6e81b8bd2f605dbd1b82513e7395073fd38a02be3df4e7bc004b5a3ec9a19b3e495e04becf3a213cfbd42b3ec4e3d43da4a297bd9ca8a43cacf3ca3d9b35ddbc30786abc05fa8f3c4fb72c3cdedeafbd55267e3c00af7d3c98de053ddc0aabbdeb93cebcd7b3033da4609abc418cc9bd986d44bc0872223d8d3dbfbd913e67bd33b2073b6144013d0c9c0abe7c9bd3bb2d150d3c2d0e8a3c65c713bedd4b0e3db81e433c5a8b893a984df1bdbbc01f3d4577ee3bad970ebbaa2896bdafaaee3c46b744b91d010dbb7b45e4bc0536233c8cb165bb314f1eb9e110443c2279d5badde4bdbbd94673ba1e3c53be588f723fa4d3f73e8fdc09becc1f25beceac803fa6c3ae3e15ab20be9aa51cbdcad06e3ff68f393e1f0411be1726b73d43f53e3f73a5223dbca7c3bda3922f3eb747073f611b6cbd0dcf53bd49153e3e39de9e3ec84fafbd62a139bcbd17203e423cec3d83ca7ebd137f653c572bc33de8d985bc951fb8bcbcf6b33c5d39353cc0e3a3bdcc64e4bb342ad83c7cb4243ddc029ebd4b7e2dbda4bf1f3d4197ebbb681fccbde3760dbd55ad563d22d09ebd723e8bbdfff682bc3d8a303d06e9fabdfd8f84bc3cc2ecbaa47bc13c5d7702bef4e92e3c5125e83b7b92513cdf41f4bdc6f7213df94fbc3b1e2e8cba0b4b94bd7634f03ca6253a39d40903bb0741ddbc29834e3cc328b9bbfd9039ba6ade4b3c7cde6fb9bb1fa2bb386e10bbb25f40beadb23a3f3571373f28f930be03581dbebbd34e3faf79163f3a3d59be33994fbd722a4c3fc0b1c53e154044be73e66d3db6b02e3ff8c93f3e2be011be62eb173ee8a6f43efe48963db11cd2bdb597283ee307a03ec33810bd919711bd902c113e09abfd3d9aa938bd7ebc863a15f1b73dbcbe83bb4396f6bc8cfec13cbd53833c68b09ebde4f0b2bc908e073def4f2e3d53768abd831b68bdc912283d07be273c5ffecdbd1a7a76bd9aa5853d3e2669bdbc57a4bd63271bbdd560693d7036d9bd10120cbd70bd88bcc357153dc11d02be90f01f3c847f9b37f3e6723c9f11e3bdcf5be43c78a83db81425923b199b93bd640bd83c572646bbc32df9393a2ce6bc5bdf513cb05581bbb452c1ba5d843a3cf561513af4349fbb0e1f03bbbe301bbe4218fe3e057c6f3fbe5e46be5e9f05be9f7e163f4f27543f662d84bec97285bd6ff9253fecb1183f042675be32160b3d48ab173feeadb43ee0a53cbe0d01df3d3ae2ee3ec4e7203ea732febd90d00c3ed6d39a3ec56c0d3d26e973bdeff8013e4837083e7943b0bc22bb0fbca607ac3dacdb113c970e0fbd5067c13c7a429a3caa5e8ebd05dc1ebd05e7163dd8d6343d063254bd827d91bd31533b3d7d1fa93cd78cc3bd71ddadbd6942953d37bc1bbd05fbbcbdc65f78bdce328e3d7f79afbd9ceb4fbdd9ab04bd967e433d5f09e2bd3b8c2ebc837238bc18b2d33c86c1d5bd54b8933cfca49dbb784b293cc04891bd5e1ac33cfc1107bb1d93743ae6aedabc1516373cfd59e2bb4cea943a00891c3c7b316c3b35a175bba9ea70bb8a85c9bd280e803ec286903f77bf52beebf5c2bdbe9cb63efa4b863f26d58ebe0a2271bd5350f33e687b4d3f26d08abe8946553ca65af83eb587043f3d9861be2291b83d2aa7cd3e80c8923eaa9322be6a94e83dc574913ebc1ade3d1850adbd362ee63d874d073ed8fc273c93c2d2bc20b1963df19ac13c0c1b1abdc938a63cd444b43c27175dbd2c7355bd6ecb243dfca3523d1b055cbd5e21d6bd7caf573d48a1103d6da5aebd404de3bd7b78ad3d73f665bc934bd2bd361fa9bddcfea23dadd287bda68d85bdd66b54bd37eb743d85cbc8bdfbb0b1bc13afb6bcab56053d16e9c7bdaa9c3e3c18c338bc3c42693c554e8ebd15fea63c1914adbb36a2563bd160d8bca860d33b7f52bdbbee7d433aa1ffe73b33e6293c48138cbaadd3debb2f8c7cbda77ef33cdd45ad3fce7550be560254bd2c3b033e0da59d3f6a5395be3fd572bd96a69f3e12e07b3f3c9395bee5ba97bb6553c13e2d472c3ffaaf7cbe3dde723d1cf1b23ee3dccb3e10db3bbe731fb83d763d853ecd913c3ebb45ddbd6206c03d43390c3e4185143dfd9e0bbdc57f893d1a47273d0ca602bd33ada93c93f8c63cd1e166bd1fe4b7bd0a9a3b3d0000000000000000000000000000000059dc343d3cf1e2bd127107bee27fac3d7ed8f6bb680fddbdda82b7bd52e9a33d742858bd2d3fa7bd6dd679bd15b2763d84b0a5bd053728bd487d09bdefe3273d9038adbd1082a3bbf1176fbc2891a53c750582bd16604e3c8303e6bb3e72cf3b04c3e5bc12288f3c48b395baf49464bb0000000000000000000000000000000000000000000000000000803f00000000fc784fbdb6a3353c1c50ae3fa95970bea026ffbcf6763b3e8eb4873ff72580bee0056f3c542c8c3ee3ed463f953f6abef623843ddb598a3eade2003f47b542be0cf2ba3d93d3533e037a893e0bb105be856cc13dc341ee3dfbb1bd3df15a68bd6a17853d0384423cee4716bd08c08e3b0000000000000000000000000000000000000000000000000000000000000000708ebabb96b3afbd8533ddbcf23111b9abc20abc7617a2bdc2cbd2bcc2c00dbad2b21dbc4afa89bd7be3c3bcd884d7bae85f21bc6bf665bd7675a1bc83f50ebb3e5c2ebc9e3535bd4a5780bcd20fb7ba65fe15bc78c103bd73d621bcfe2855ba640cd4bbc6a599bc578332bb276f83b900000000000000000000000000000000000000000000803f0000000000000000597bd43ba2f38c3f4c4086bc00ef36bbb1318b3c82ae6b3f7437c6bb9a2aa0ba4e8ca33c744c3f3f4d2d06bbe6a2c5bab4f08a3c6c2a143f7d3544bb80a22abb78d32e3c278ad53e6ad2ecbb0b269ebbb4a0233b464f853e331854bca55dcebb474709bc78e2d93d8268b3bcfadc05bc00000000000000000000000000000000f7571b3b526f58bddf9bb6bcbfe4cbba18a004bb3b07b9bd5bb708bd18cc0a39b6dc8ebba556bdbdd4fd15bda166c1ba95fcd6bbaf01a8bdd0310cbd122a0abbeea9f6bb90e584bd730ee5bc7c1fe5ba4c58fbbbbe175abd2571b6bcb0aa41baf812cebb39fa1abde53764bccd49e43a1336ffba91729abc7d6134bb71be183b3ccec23946df39bbb8e9553bf0f0993ae309ebbc91e58b3f91e0de3dd6038dbc2195c2bc482e853f1644cc3d905c8abcd3472eb8c15d613fd677c33d447e33bc01f3013cb5b4363fd2a4a63d96681cbc6b900b3cdd900b3fa532813de60e1bbc11a75d3bb144c93eaaa4253d51073dbc4be5a7bbe19e773e9428813cd9e15cbcf6117ebc106cc73d668f08bccfe055bc105885bc5449abbce0cdb8bc37ce37bc766aa43b620e0abd67e8acbcaccc81bb7fe6413b355e89bd5faa1dbd53ba64bb9324ee3977ce81bd4b9e1cbdaf8176bb3e4c35b958b889bd155128bdace19fbb4198fbba74fa4ebd46c4f9bcd4fb4abb16da40bbc53139bd8a26dabc4b55d8ba437526bb8af5f4bc4cad86bcb4da5bb9b37d2ab9a4e681bc74b7d2bbed95fb3abf2ff23a42fd02bbcdc4df3af27b273b71ba0ebdd53b6a3f7487843ea01ed7bc6fea09bde037623f9f77783e94d8debcb51748bc746f3a3f65ab5c3ee5b999bcf801a7bbb1dd1e3f24a8383e3bd792bc4d22efbaa82bf03e5c2b0d3ed40f6dbcf4c5a3bbbf68b13eb8cfc73d239c8fbc3bb019bc945d5d3ea10a663d35758ebcf0377ebcaf42c03d4896573c4c0295bc20c154bc1a891fbca8a88bbc5c544ebcdc0a5e3bbe19b2bc3fbdb6bc05b2b3bb4ddc8d3badd248bd0d642cbd1db2e3bbe30d6c3b22a56ebd40784bbd9b51d7bbdea48539f5a05bbd85c13fbdde6cb1bb8879843973133cbd128a1fbd35caadbb18376e399afe1dbd973703bd6c8d0abbe3e7cab976b5ddbcea81aebcc89f56ba9c62b639c9ad5fbcac85fabb171bb93acf898b3aa9671bbb04b710ba2f68353b9e5708bdea023e3f67dbd43e5b27f2bcfc3709bdb227373f3252c93e561b09bd3feba2bcbb481f3fcd49b03e5e0ac9bc14ec39bc6c3b043f66a0903e1e4baabc00b8efbb7d83cb3e307b623e3b64a0bc881227bc80f0943ef8ba223e0576a3bc8f2444bc83c93b3e6681c23d490db5bc5eea78bc458ba93d5fed0e3d8a50b4bc6d5e3ebca6f08abb31fc53bc78ca73bce4bce63a787b7dbc9bf1d3bca77dfdbba192093bf5bf13bd691b3cbd172522bc6f9a523b5a6325bd1f8953bdcfe518bc48e8183b6e1731bd92f356bdd9090dbc8b691b3a03ededbc0ca70dbdf2edd0bb7f147639183201bdd02f15bdd18262bbb93718ba28aea6bced20b6bcdf0ba8ba597399ba29dd32bcd6f833bc875d233baf161d3bc7be9dba64cf403a4e19de3a0f7f05bdf6a3133f123e133f6b9706bdb47603bd49f80c3fc0350c3f29e01abd41788fbccdd0f23e1c68ef3e3affcdbc461f52bc904dcd3ef09ac83e159bbdbc0463e0bb642c993e7fff953ea3fc81bc05a731bcb9296c3e3bc3603e70bdbbbcfd6347bc1ad1133e9cf3083e974eb8bc194c79bc634b883d1ed4623d2634cbbca9103abc26f323bb40d226bc00ef98bc1dfafd391aaa26bc0163fcbce96509bcd86fe23a4a2bdbbc97be73bd66fa52bc38b4dd3a3c7a0dbd1e9088bd8bb56fbc7d2a473b18f612bdaf0080bd74944bbca062883a6adffebc178853bd856e21bce9f2ef398acad8bc621c28bd661dc2bbdcc3a83942d1a4bcf335eebc62436cbb70d0d1ba3d6334bc7d9e74bc4050903bc72b4cb9b09facbaadddbaba92d4793baab5efbc2431d53e2d873d3f398112bdba94f6bc0663cb3ebcba353fc02d26bd792f95bca11db43e59471d3f895ee9bc6b626abc8eff963e2b10013f7e19c6bc66672dbc9f5d6e3eb2fac63e23d7acbc6eb43fbce3ae2d3efbc38d3e9665bdbc8db773bcebebdf3d47e1323efd9be4bc467592bc8308433d3611943dd9fbdbbc791550bc303b9cbbc15e3ebcf8efa9bc320ebebaa5e809bc9b1126bdc41526bc6ba25f3892edafbc5e2698bd48a883bc715b803bb084dcbce2b78ebdecc188bccab5bd3a7844e9bca31197bd3a2588bcaa25163a8e0bc1bc0cbd60bd83f651bc95246c39e972b5bce6354abd4bfc0fbcf01c2aba856c79bcb376fbbc8df478bb48eac6b93fdc18bc54057bbc52552a3b46c784ba1f5b0fba56d7c5ba04d69d3bd692d1bc494b853eaa94693f64091dbd96eccdbce9557d3eb7ad603f999d27bd080a46bcc578663e36c7393f6a49d3bce40d37bcb13e423e91f81c3f123a9fbc25510abca725183ef0cfec3ef98987bca3b730bc940be43d0a7cad3e863fc3bcf3424bbc28738d3d4ec4563e8d8fc3bce7877cbcf083dd3ca675b03db23f0ebda57d51bcfc9b02bc152d81bcc1b2c5bcfbd001bb536813bcfdf66dbd60386ebc68dda939a72d94bc3560c2bdb1aeacbcedbadf3a8c9ebdbcd827c7bd55f9ccbce3f7e53a7a3fbbbc2edcadbd727bbebc1bf8323a1b09adbc7b188abdc0c59cbc136dc5b8b05b99bc292362bd567b64bc10fbaabaafe765bc10301ebd755ee7bb43d3c5ba4aa8cdbb462e8fbce19ac03af40729bb12e3a4b90ff210bb65dfac3b9cf08fbca4a9e13df5dc8b3fa4e205bdf56e76bc8906d83dcaad843f7cfc04bd9fd51bbc5ebed83d9dba603f28ea56bc78c59bbb7e56bc3da24a353f180cfabb6d0197bb9932983d084f0a3f5c0f06bcccdaeebbf8b55c3de8bdc63ed2aa7abc386035bc197bf33c9452723ed7c0c5bc035862bca6c1a93b6564bc3da55309bdfb366abc691757bc0debd1bc5e69eabc0000000000000000000000000000000049857d3a013361bc0c09b1bd0ca4ccbc0c77773acf9a62bc00aaa4bdab79c5bcd85e0f3be34f78bcd2d78cbd9756c1bc2536783aee5d6cbc6e8565bd331ba6bc08d6c7b924f956bc51ad35bde8838abc4614dcba981128bce48605bd96e625bcf53f47bba02acabbf1d99abce6c958bb0000000000000000000000000000000000000000000000000000803f00000000b2bb7dba9f6e39bc9ca78c3fb32f0bbb76c63a3b65eef7b939286b3fafc49d3b2a161f3b40eabb3b581d3f3f639de23be57eb73aed82c33b47a1133ffe75653bc2f8c9baa4a7303b6ae9d43e394f5dbbb0f599bb42ec40bb1f7d843e9b8053bc057c08bcf56a34bc9738d73d4b60c6bc0000000000000000000000000000000000000000000000000000000000000000717b3cbcccfa40bd03d701bd99d570bc8be357bcba2b3abd71e0fabc14567ebc533873bc55c832bd0d4be5bc958183bcfe1d7dbcbdf61cbdfd76c4bc85a562bcae7176bc5fd20abd7cc2a5bc5a1b37bc2b5959bc9c92dbbce0ee63bcecb8dbbb8fe44fbcff1997bcd573d2bb346ce1ba00000000000000000000000000000000000000000000803f0000000000000000e2a51d3db0f57f3f6c15d43ba3bf573b27781c3ddcb2583f3025163c6ebd8f3b53e2143d661d333f0267093c7bd4643bafa8f43c7a330d3f93a8de3bb426bd3a24dcbf3cba32d13e7c4d853acaf403bb71e86d3c56c7873eb0e6cebb1f55babb10429b3b415dfc3d2aa07dbcba0123bc000000000000000000000000000000003a6f33bb4bedd5bc8a6fc0bca44d37bc5d491dbccd2543bd70b511bda25689bc549468bcfe2758bdaa1f1cbdda0f98bceec77ebcc6cb54bde5b517bde92ca0bc699169bc6c442ebdeecdf2bc090584bc915585bc7e8c24bdc66ac8bcea945bbce0ea5ebcf93bfbbc38698dbc2d3aeebbe4e41fbc5ab69dbc8653f2bb31d8a0b9d00969bb8c5cfdbbd749733a0247753b1733723c6b957c3ff9d2043e7f58b5bbc221f73c620b693f5a93f83d0a5589bb360d1f3d3472473f2503e13d3e4e88b96b061b3d9afe243f66f2be3d737bbd3a1fb8043d5896003fd8f7913d04df0bbb0dd2cc3cddbabf3e599c473d7541bbbb35f1723ccc4c773ed035c23cf7fb1cbcbf9d3f3b4256e33df48f54bbdddc6bbc3d9887bb602b0fbc0ffca3bc1fbd53bcacf4afba970a8cbc8089a6bce60a3dbccdf7afbbe7f10fbdeb5715bd483fa9bc5be408bc6ce117bd5eba0fbd326ba0bcb32a31bc350531bddf0b23bd8609bcbcc37a27bc5d5514bd9ef2fdbc871294bc7e1539bcc46310bdea64e9bc727a76bc3c311cbcb826c5bceab293bc512206bc641df6bbb5e386bc92b919bc96bbd8ba50d03bbb3755a7bbb35c13bae0374a3b3a3b953bda07563f492e873eccb912bcc2e2973cbf84473f3d1d7c3e6516c5bba04cbb3c51a0273f56b15a3eab24deba6eabef3c35220f3fcb53393efde199ba3fc3bf3c0548de3eb486103eb6ef2cbbe09ea43ce7c5a73e516bd03ddfe0d1bb43a9293c6069583ec9d5793d677015bc749e083b31e0cd3d15958f3c0ed072bcd4a861bbf28462bbf02b74bccab045bceadf7eb996f34ebca42e9fbc7de152bc92a5bdbb7873e2bc9bab10bd739eb6bc42cbf8bb4ceb13bd60112bbdd39ed4bce61a0abc8bf015bdf64225bda6aec6bcd7f418bc4ce30ebd4c290fbd5b53abbc3a9c39bc304600bdc269efbc88b28dbc1a720fbc2bc5bdbc4377adbc23f728bc60f1d5bb5a2568bcd20833bc7e9f27bb38943abb025691bb52cbd7ba61c31a3b9ab7fb39e060303f2604cf3e5d9f10bcb55b0b3cf712253f0d4dbf3ecada00bcef92a73c3f2d0f3f6330a73edce5dfbafef1ae3cb7abef3ee8e98a3e086bb7ba7eb1ab3c7b50bd3e47a15b3e456a9bbae662843cf9ad8d3ed993203e6cf5f0bbcf9b133c868e363ea7b4c63dc2bb2dbc135ece394d0fb03dae991b3d1a2578bcf7cf67bb43f7c1baf81338bcfb3847bc219858ba53f316bc802ba4bc4b2a80bcf95268bb6a0cb6bcd5e314bdf30cd3bc52c1a8bb3c30e1bc7c1724bdbb9cddbcf4bd00bc3b4d04bd8ffc34bd07b7ebbcbb5bccbb6095b8bcc4a1f4bcbf90a0bc4c5006bcd614d9bc9e5d07bd2291a2bcdb68d9bbef3f98bcd922afbc96e337bca51bcdbb1b8c50bc4ff935bc97ca99bb07ac43bb3fc28ebb800942bb783ec03ab2416cbbb3ca0b3f825d0b3f2976c9bbcfb4aa3bfac3013f7384003f34a74fbb2083643c9195e03e2fb1dc3e023b023b9f1e923c81c3bf3e4bdaba3e97d2043b7bf7573c29b9923ef9a08e3e943ab8b8169c4e3c5643643eaf47583ef2b3b1bb04b3e83b5b70123e066d073e4edc29bc1d092aba209b8d3d0f196e3ddf3575bc16f885bbe55bb4bac4c90abc2f8648bc6f2472ba3233fabbe884babcff88a0bc966a64bbd25fa2bcfdf627bdd276fdbc593e34bbc76dd4bc5d1243bd759e09bd18ccb5bbb713efbc0cc240bdc20e08bd55faa3bb09c4d4bca0602abd6b96e2bc44baf8bb8b98c2bc200313bd387cb6bc3324f2bb09739cbce6b2dcbc07b679bca24ce6bb31cf49bc6b645cbce093c3bbe0d7b8ba298417bb8e4164bb7a347c3a40cbd3bb91cecf3eca76303fde6136bb260b7a3ac764c23e2782233f97b1713a231d1d3cca48ab3e8f3f0d3f3f0a723b0b6c6f3cfff4903e24fcea3e7ec9a83b2446343cfc41663eaad8b73ecaa9ad3a3c43193c753c2d3eb7ec873eff8c88bbf928703be3d6e03d85452e3ea19e05bc1a8f2cbb5593533d94a89d3dc97a7abc6654dabbb944efbaa04a2ebcb4af6bbce66c08bbb1b801bc8c2dccbcdc1db4bc3c9574bb173394bc23813fbd59a514bd066866bbb8a7a7bcc81140bd48970dbd7d12c4bb150ad0bca5d55abd233d1dbd00c8aebb90f2adbcc7a629bd3e1ef1bcaa3fd6bb8b10adbc60e323bd64a4d4bc5c3ec1bbdcc87abcd2cad9bc7b8f80bc536eddbbac352ebc57ae89bcdbcbd6bb53f578bbe83052bbfba27abb51fdbe3af61ad8bbf845883ed311563f848c033a0c5e843ae1ce803e425b463fc771e93b88aa0c3cd2f5633ea481263f972d253c0c93593c2f18463ea26b0d3f1bc5333cac503a3c3d251c3ea8e7da3eac7bb13b6ab40c3c6f3cee3dbeeba23e721970bade5b323b8ca4973dcca2513ec8c6f0bb1ac5bebbc48a003d54a2bc3d5a9a8ebcab15f8bb4c46adbbacb60abc8e3870bc4f3d01bb118508bcd62508bdb379eebc83f64fbb09318abc7e8963bda5ba31bdc6696dbba2eba9bc7d1c75bd1bec3abdf6ea75bb67ffb2bc2ae46ebd360434bd7dae98bb0982a1bc1ba64cbd425512bd42f0c8bbf0729fbca67a34bd6e6ffbbc12aab5bbfcf967bcb1be07bd5010adbc94dddabb63711dbc66749cbce96408bc2621b1bb4bdb7ebbb3c5b7bbbbb62b3ac0aa83bbb1c5063ecfbb7c3fc585283c0df1723b3104043eac82683f66be973ca06e403c5b94f73dce22463f2a82b03c95d96c3c1524da3d5dc7233fa55a9b3c5efb4f3cda85af3db83eff3eca07413c5c48123c8950853d294dbd3ee52c6d3b0ef0013b93b61f3de1d1713e7531e6bb87bbc8bb58284d3c65e3d93db73c8dbc8fc417bc84a00fbcd46947bc08a590bc00000000000000000000000000000000dc7c05bb61666cbc5d8e51bdbdc92cbd40fc14bba4f180bc9b614fbddd0f26bd659d1cbb021685bc91f244bd7f9a1cbd9f825abb31507ebc68dd29bd6a7906bd764ea2bba9e774bccdf716bdc77fe7bc86ebd0bb5efd57bc5893e1bc761f9dbcf71ac6bb02f70ebc457297bc17ad47bc0000000000000000000000000000000000000000000000000000803f0000000084fb1c3c34ad663cc7047f3f58efda3cd2585c3cdeaa9d3cbb2e583fb112cd3cf372733ca8d0aa3c5684323f73b4ad3c6533563c15a5943c879e0c3fb0296f3cb8de273caf446d3ce97dd03e87a8fe3b1615a43bedb4b23b9d1b873e12f1c6bafb0283ba3c3f8dbbed77f53d705247bc0000000000000000000000000000000000000000000000000000000000000000bd3952bb0c1406bc23f722bcfaa528bc501386bb274913bcca5a28bc10f231bcb14e67bbbcf621bccae115bcf8ac21bcb2228ebbbea2ffbb11a50ebc265e18bcd1fb8dbb0e54fabbe76708bcd31410bcc4e290bb2721debb0418e8bb7896ecbbcf207cbb3238acbb4415a8bb10f1a2bb00000000000000000000000000000000000000000000803f000000000000000057ba583ce4d2653f618bea3ba19a9d3b1e09533ccbb2443ffd14e93b8028943b814b533c130f243f233aef3bfd699a3b0ef71e3cb5af023f3efb973bee03203b38ac153c2159c43e3df9783bf96bde3ab726c33b994b823e63b89a3aade237b9f4e3543b6a15013e6a1496ba393fdaba000000000000000000000000000000006087dcbad35dacbb4d83f4bbbdc8febb895a68bb335415bcd4cb42bce5d44bbc979a90bbeb9923bcf95c48bcedef53bc49ff87bb1f793cbcd9765bbc9c6d68bc10d792bb682b0dbcd15924bcd5e32ebce96cb3bb1cc019bcd2412ebcba9635bc27f989bbd5e412bca566fbbbafecffbb9a5b9dbb438b91bb6562d9bb69d792bbdaf60dbbd70c25bbd6121abb2eae01bbb22d143c64bd643fbf8f053e181f523b70766d3cb2884a3f3566f23d252eaa3b422d733c8db82d3f2665d23d8f51a93b96fe7a3c1223113fd92aaf3dfaf76a3b626e3c3cbbbde63edb1a8c3d447b473bf4e22b3cb16aad3edae0513d6be4c53a92be023ce2fb663e5cca093d71e9e4394980533b47d5e23de7ff613c43cf2fbb27ca1f3a960767ba290728bb677f22bb227573ba65e8bebb8eb8d1bb68e7eabbc41423bb2781f4bba3e433bc0ca144bc76215abb7bc2f8bb10f828bca26735bc2fe2afbbe0dc0dbc2cc83dbc6e6b4ebc44c188bb010103bc8a6823bc6eba2fbcbb8f8bbb763c05bc4a0325bc3fbc2ebcfdaca1bbee16e9bbf8e402bcf84cc3bb09224abb2ae792bb89f6debbe330d7bb5b9cf9ba88da13bb527610bba213f5ba47f3033c9e33443ffd35833eb9f7643b1bf1613cc9322e3ffd9e693ec2347c3b80c4353c826e143fdbd7483eaa3d8b3b71e15b3cb86df93ef64d293e17b8873b07c4273cfc3bc63e0137063e4c752e3b9683343caa09963e53d0cb3d9d68153b146acc3b7d54463ea5c5843dca1bd4baac7b833b230ac63d44d1fc3cf34bdaba5a9a403ac642c1b93bd70ebbb89320bbdb4db1ba79d07bbb07f9d1bb34def1bbd19b3abba3e7e3bbd0f92fbce01d45bce25997bb566214bcfcc24bbcc4ff5cbc816aa2bbbf6a1dbca7f953bc65ee63bc44d381bb638901bc3c542bbc555739bcf59eb5bb9ceb14bcea7439bcd01143bca92367bb52e3c2bb671818bc86301bbcbef35fbb5a35a1bbd0f4b5bbc6d6b1bbdf08f0ba030b0cbbe4130dbb5f5bf6ba3cd4c23ba556233f7ff8c33ed93a373b4a97323c94f9103fff2dae3e67d2a43b93384f3cedaef93e7338963e0c2fc13b03445e3c2229d13e4ecd793e3210bb3b132f2c3c0a66a63e55aa473e5fa44b3ba96b273c967a7b3eae93143ef9b2e039d979d73b44a6263e59bdc53d123aa83864c4713b610da63dbc853f3dc39df8ba62dd1b3acac8bfb853b5e8ba17001abb8f9ab1ba61e95cbb7c4ac6bb4eacf3bbb10b46bbb970dbbb7eee2ebcf9fc49bce18d61bb8313f6bb3bed38bcaa2e50bc988690bbe1fe0ebc1d254bbc9a165ebc8e9b50bb51d5cdbb99d60fbc67721ebc012480bb8adcf7bbd60829bcc20a37bc5729a3bb8fb1eebbfd7110bc7be014bcc4a860bb23b7a1bbab59bebbc9efbbbb58f1e5ba4bc90dbbb26008bb290d00bbe270aa3be8b0023ff881023f77bf5e3b06ea173cdd4fe83e965de83e2155e93b7195323c0de6c83efa89c63ee432ac3bcf5b513cb140a73ea3a8a53e02998a3b3796093c16f2843e4e98833ed4d9393b00ee223c8cd44a3eaf29473e3233183b16f1d23be297083e399b033ea5cbfd394142533b7350853db9ce7f3d4f120abb4e634b3a07696c395b90b9ba1e1d16bbf2979eba31b147bb670fbebb122bf5bb807e24bbc2edc6bb63152cbc633d6bbc512874bb2ce91ebc8ec068bc4fae64bcebc669bbd30921bc335f6abc2f4a82bc46a37cbba903f5bb16ad34bccd8648bc83efa5bb34da0cbccda53ebca1394dbcc65175bb539fcfbb15740abcf44812bc08fc5dbb950aa2bbae09c7bb7bcdcbbb7bd7e6ba986e08bb2c4f0ebbc72b0dbb8ce2983bf34bc43e9411233feafc863b699d1a3c9a40af3e558c103f04eedc3bfe1c4e3c2428983e14f0f83ef0bc013c670d683ced7b803ede61d03e2a17033c06ef243c76594b3e18fba43ea55b783b0e8f273c36ef1a3ee59f783eef02513bdd92dd3b9743cd3d440f243e46a781396141743b0ff84c3dc879a13d0984f2ba6966483a6f5b933974fe9abaad7213bb4a41b2ba974559bb6aa2d5bb9a710bbcab603ebb02abd5bb5c4040bce7a768bc4da123bb08b7cbbb5a652fbcacca46bce4d891bb15c00dbc564263bc7da37fbc295556bb2902d9bb288629bc2a463dbc33fb8ebbb88601bcec803dbc81644ebcfff03ebb5175a7bb82f6efbbdea61fbc962879bbc6a8acbb9b18d7bbc7cadbbbdde308bb0e2519bbe8401bbb29c911bb5f7a9f3b69b2833ea7d0433fe330ab3b63fb1b3c86ea6c3ee0752d3fd506023c7d7c1e3cb5094c3ef426143f7cfedd3b73b6333ce9d92c3e61e1f73eb4e4c33bf41a193c43100a3ecd35c53ecc78893bca30183c3e52d33dc93f943e922d283b9684b93bea558b3dc648443e9afd3d3a5bd9513b779e0a3d5102c13d895b14bbbd8a3937fd18c2b9ab5adcba28d539bb4d8acfbaca257bbb50a5febbfa1224bcd97259bb9cb1e6bb819453bc6f2e7ebc315b85bb5bf304bc39fd69bc7cfb85bc398b6ebbf43e01bcef8563bc4e3081bc579678bbf1b3f2bb086146bc042b5ebc8d7380bb4e0afabb571346bcbffc59bc507f83bb3b3bdcbb59441dbccf0d28bc5b6473bbe784b0bbf3f4e6bbf9e0ecbbba9111bb2bd432bb0a9d47bb58be40bbc735b43ba4d8063e0fb1643f0120e63b6e6a383c7c51f63de58c4a3fdcc0383cb4212a3c09a6db3d63932d3f324e063c9b33483c2e84ba3d4a81103f3e0b043ce455263cafd5943dc0ede53e5cf5a83b85f5293c8455693d0edaac3e9efc7d3b755de53b8c6e1a3d08b3643eed62513a2244843b95159a3c34a2e13dc422f3bada32533a61784039d0fcbdba32f32abb00000000000000000000000000000000a3b50cbb81e5b4bbe9e033bc9e9d58bc424c15bbf692b9bb859d34bcca6451bc63155abb94f1d8bbf3d25fbc736d78bc814d2dbb3a4cb8bb2c681ebcbb9e31bc97646fbb800ad8bb568426bcd87634bc4eae4ebbed68b3bbd96308bc13a512bc95bc62bbe394a2bb43b1d5bb0d51dcbb0000000000000000000000000000000000000000000000000000803f00000000db0f143c6cb11d3cab70653f93761e3ce103203c7972263c7c75443fddc30a3c583c2f3c54ed333ce6d3233ffb11053c910f0d3c401d0b3c6377023f7626a23b1286ed3bb16ee03b7a44c33e04a22b3b6eb1d03b2dc0bb3b2403823e3c2c9f3aee41713b2a66333bd763003e8f99bdba000000000000000000000000000000000000000000000000000000000000000029e19bba6a6816be37761dbc6452503c30af46bc06a00bbec05f8cbc9988543cc20497bca20ef3bdf119d3bc13fe223c7acfaebc0494bebd7dc4babcbb0bdd3b871a89bc22e88cbdb28393bca4f3d13b55cf02bc03b733bd86cd20bc57e5993bd829a4b99d0288bce318eeba832f2d3b00000000000000000000000000000000000000000000803f0000000000000000bb8c8dbd7299a23f4f469bbdd4e0853a5765f2bceeb0863f356526bd912179bbe9cae5ba46a4583f5ed593bcf5b987bbed7ad43b8b9a233f2d2f10bcfed19fbbc44ab23b24a1de3eb466e8bbff178dbbd063f73a6087743e29c60abc385c6eba6a38b0bb341e553deb1354bcf118553b0000000000000000000000000000000090c52f3c1882b5bde4dac2bac6a28c3b1f144f3c7c0412be46fabfbba5f8753ca37153bab2e819be2f9abbbceeaf7e3c12a423bc3e1406be23f3e8bcf5956c3cc5504bbc8cc6d1bd0180ecbc2b87253cf3b5d8bbcb6b9ebd68f6bbbc27731d3cf78355b9b0993dbd3faa70bc467dfd3b0fed163ca82396bce7c6b9bbbe012c3b8666193c8406a63b85385d3b7ca9833a45bc0ebef7a8a13f2e63593dc320b8bcb92b18be2e0d9b3f76ae1b3daa9abebc4f91b8bd07c1853f83366f3d0ed1bebc109155bd7b81563fc862883df49ac3bcaf55e2bccd831f3fdbbe733d9a59a2bc126fb1bc8f86d83eb9602e3d4fe47ebc1a118cbc0ccd663e30cecc3c15f810bc5c1cf9bb1ff4443dae77333c65f81f3b97ba49bc36c894bd1d9351bc2adce83a75f5cd3be55e63bde24addbb0c290f3b7e03033c67a8e4bdb925ddbce57a173c9d5a48ba2a56edbdfc4423bdb13f0b3c420d8fbbdc39e7bd416231bdd6ca1e3c62cacabb518eafbd090d1cbdb0b59e3b394d37bb116d8cbde04afcbc2c76f33b1297c83aefed2abdc52fa0bcb6bbbf3b48410d3c47ea96bc22d0febb564fb63b3b8b033c974e2f3ba714953bd0f94d3b239e0cbefae0863f24ca7c3e7e3952bd7d7117beffce863f387a6b3eedc962bdd5f4b9bd64b3633fcfdb5f3e688b35bd464c90bd25913e3f68d2403e03c728bdc9d52cbd4ee30c3f2c511a3e0577ffbcdfb418bd16b7c43e22e0df3dd63febbcd0f3dbbcc8605d3e5283833dae78b1bcb8409ebc91817b3d8787b03c84e41dbc34757abc26a024bd6b3a5cbc6ca5c8bba10593ba7c4f13bd9f6b86bc84eba5ba82fa493b05e1aabd6ddc39bdba5ed43bc0d6aa3a5164cbbdeee174bdd234d93bd6d560bb3288babd51be69bd39d6c83b71569bbbc6e99cbdeb5156bd9b9c2e3ba391afba580c6ebdae5c21bdfdb0ae3b1c09113bef6218bd0a5ccbbc75a5f33b9e0b013c281a8dbc641612bc4c65003ca4a7e03bf3d2003afbf54f3b8a11af3ba181eabd78275b3fdf02e43e37e696bd722004bed30e5b3f6d7fde3e24c4acbda4dfc4bd7be3403fb525c73e027c8ebd8f508dbd30ac1d3fbecca53e5e3b6dbd34c845bd2eb2f13e12bd823ee0e73fbd740f20bddc9ea73e92c8373e358d24bd8cae04bd215a413e87ced63df98006bda008c8bcfd36843dd5fa0f3dfa03b1bc2e3099bc6b89c7bc28ba6cbcb39b72bca56522bb926eadbc3b37edbc937b62bb78ed4238631d6fbdc2f281bd4f91473bdb7e9dba0a0292bd228b98bdf438af3add6a03bb684e97bd395b9bbdf9a4993ad55fd0bb3c6b53bd7aad5abdb3f4cbbbac0fe2ba88e34cbd9f1147bd0d40373b216e5b3b1e5e00bd078becbc1514a63b548fc53b53596abcf15e40bc7baf043c7326a83be76d803aaa2d4e3bac5f003cc10cc3bd8cea263f6fd5263f53b6c1bd2872d2bda80b253fa1bc233fc557dbbda4dd95bd7aab103f06810e3f4802a6bd10c372bd23bff53eadbaee3e85e98fbd37f4ffbc7852b43ee67cad3e21022dbd827f15bda717883e0830803ee46946bdc7f9eabcd11d1d3ef015123ead111abdcb1ac1bc49ee713d1f2f483de1e1e7bcaf58a0bc853d62bc2e7ea5bc222baebce08d1ebb742537bc007c28bd4fb096ba7e0a5e3bb76327bdd3b8b3bd17c8953ba3dc0e3b170063bd455ad0bde7e6563b400fc23a49bc65bd2bb9bbbd94f511b7b3f00f3922e451bdc6a89fbdbe7a05bbcdab283b5bc329bd0dcc69bdb14f1f3baad4833beb75dbbcb94c16bd06db063ce1d5d13b449a4fbc6adb60bcfc2d303cc68daf3b5b0d09b9da24663b55d90d3cf7a098bda4e2e43e471c5b3f08c3edbd4b97a5bd52a5e13ea3e6593f86cd08be3be480bdaf5fcc3e33843e3f74b1d6bd293e49bd7a45ad3e90861a3f1e62a5bd66d318bde4f58a3e02ceea3e949880bdfc4503bdee73473e5248a23e16715bbd604cd6bc7bbaf13d9bd5353eaa9a33bd95649abcb9593c3d65a8653dd27901bd527978bc08a51cbcc04ce2bc751fc1bcac45d9b9bec0cebad5fe75bd510fee3be92ca13ba2afbcbcfcd6ecbd8cdf563cb37b5d3b42d912bd1dbef0bd9a95c8386ded493b34dc28bdc62de6bd0054dcba0fc37b3aff7117bd0f27b0bd4681aebb688e4d3b435e02bd258388bdb59fa53a5795563bf286afbca65521bd516a983b3547b73bddab2cbc2d5887bcc79d343cc132643b3cd28f3a6bbb9e3ba392393c78e952bd52677c3e00de863fe58b0cbe57e359bda831703e3d9d863feb2d1ebe273f1fbd42dd693efcfa613f6b95cdbd368a0bbdd8ec4e3eee4c3c3fb466acbd81cdcebc051e293e0ebb0a3f1d1269bd701dbebc2177fe3d19c0bf3e86d253bdb15593bcff2d9d3d2c93553e637e21bd3bb932bca8cbfd3c3cec663d6f0dc9bc2bafe3bb113105bc985637bd088a9cbc335fa53a5dd6203b539abbbd5bc5353c46fb1f3cbfa6cabb9f3414be9e13b73cfd06f33be637aabcca5d19be207e8b3bd14ddf3b47b0e6bcd6de06be039fadbb38deb63b6673e4bc1163d2bda5d80dbc8d6aa43babdac1bc50869bbd697647bb44c4c53bf88282bc7a2541bd33dd9f3b0de9b83b8ba4dabb950b86bc754a173c52893a3b90783b3a2adec63b97bc323c5494bfbc67a95f3d65a3a13f7b630fbefd93a9bc9b8a2f3d79b39a3f2a661dbe22f7a7bcf25c8d3ddf10853fe68ecdbde10197bca1e19f3df476553f6c9287bd58996fbcbf30973dd2f11d3fb87f34bdead653bccd20683d0477d53ee59416bdbaf01bbc43d0183d8394623e32f8e8bc0749ef3a42ea873c9a73353de2dd37bc5a792abbef430cbcc56696bd1c1b76bc000000000000000000000000000000000764f53be8d8ddbb1e9016be2979b33a5422e93b3c9775bcd9160abecff02ebc3a69b53b3b76b2bc8fb6f0bd8a229abc74713c3bcba0bfbc1745c1bd451194bc3f5f7d3b96e198bc476b8abd95ea69bc13559e3bd62f39bcec3332bdd988a3bb7c4e3e3b5db584bb1aa68cbca821903b0000000000000000000000000000000000000000000000000000803f000000003e33d93ac29b92bdd673a23f0d059abd7e64d139d08e02bdc97d863f7b1324bdc07c51ba1f1ff3bb6f86583f910589bc9737a1b7c1072b3b7750233fbedc13bcdf1c233aa903663ba459dd3ec52816bc72f8b739da9e163a15ff743e755e32bc586fa0b8f703d7bb95d9573d44d35ebc000000000000000000000000000000000000000000000000000000000000000033eea7bc86d6e4bd16c1b6bc9987933c1995f0bc5ffbdbbd4628cebc1571923c2eed10bd8f88c8bd6b1de0bc58284a3cff3309bd4cbea7bd3d46c9bcd04b273c64cfdbbc03a082bde0ce92bcec1d2b3cc4f980bc24f12dbdfacd1fbcc0c60a3c0cb322bb1b4ca8bcb1c4d9ba8c87cd3b00000000000000000000000000000000000000000000803f0000000000000000659a99bc8420993fcef525bdff1c97bc3bc3693c99b57e3f3894a3bc8f36a7bc1fee0a3dc8e04e3f9c16fabbcb9f95bce5710c3da7761e3f9e9adcbbee6599bcfb4ac43c3cf7de3e55b742bc480d93bc3bf10e3cf2e0823e23578dbc065149bc3b0d26bc7f03a73d81a1ccbc5a3dc7bb00000000000000000000000000000000871ab2bb352d79bd885c88bcf0e1113c3e264bbc6746dfbd6530a2bc26a9cd3c5868d2bc3656f1bdfc6bf5bc9679b93c4a13fabc9877dbbd0c7303bd7dd8a33cfb9cedbc8066b1bd528decbc7935673cee2cadbcbcc88cbdce4cb1bc61ee763c905f19bc569239bd412053bc5ee2453c650ea13b3ee5aabcad92a9bbdebd9d3b5c49213cb40fe3391705443bf5c6243b747aafbda265983f1234bb3d602115bd2ac8afbd32a4913f9ffb913d2d8b38bdda46debc7202793faf01a93df6512ebd6f0b7739f763493f1db1993d6bf41fbdd3fd553cbaf9173ff55c753d4f110abdacfca43b82a0d53e01f8173d36d1fbbc5d3abbbb4544773e2522633c25cdbcbc443c63bcf6bba13dc89c0ebb61b29bbb6e20babcfa3140bde6a0b1bc136904bbf570c2bb99b014bd8cc66bbc2d04413bb24957bc6111aebd4dee08bd3532533ce165b0bc54c3b3bd51bf2ebde976043c6238d2bccad4bdbd55112ebd93eb4b3c6cccc1bc599d96bd672217bd077bd93b68dc91bc167d7bbdad7aecbc0a26453c58fd1abc29b621bd4f009abc51480c3cfbe75e3b689f9ebcf36806bcf7bafc3b7810063c7cba353a51bece3ab04f9a3b30fcbcbdac647f3f60ca873e076957bd79ceb9bd1fec7c3f6561803e77e183bda18503bd0261523fd2fb693e9f0646bd195e8dbc22f1323f11eb413e265d4fbd6dc6ccba2d67063f2129163ec4f525bd834106bc0458c23e9f3ccc3dbe852dbd7fb833bcfb66663e651b663d13f801bd88fda7bc51c9ac3d3c025c3cd6d8acbc5a7caabcd6e3ccbc5dbe8fbcb4fb27bc8be311bcf21acabcf7d0a6bce3cc7dbba95876bc311784bd057e2fbd9042903b8237a5bc15f3a4bd31e05cbdb6b8e23b1e26b2bc79c09ebd614b58bd5e2ec93baaebb3bce1ff8bbd2c063fbd2aa38c3b005f75bc30565abd389614bd695a0c3c4fd0f8bbb9b015bd074abebcc6c9333c16cff83a3ed786bc92cb27bce92a1c3c166dc83b688f83bac9bb293bfe3cdf3ba73c9fbd7d0d513f39b4e53e307080bdd69ca3bdafe34e3fc94bdc3e722e9ebd883a31bddb16363f20f7c03e260b89bd19f3bdbc47d1153fdb569f3e92ff70bdc4141ebcae45e83ebc29773e36a152bd091148bcdd85a53eb2f42b3e3bf347bda0248dbc662e493eca19c23d71c535bd03d5babcc5dfa03deb58003da7c903bdd16ab7bc79d667bc60a99ebcb413a9bca74809bc38a890bcad58cbbcaf9e0cbcb65670bc73b348bd0d825dbd7623dfba3ca696bcccd181bd8d3f80bdeab331bb404ca6bc385b88bd301784bdb0b693babe1997bc5a5f4dbd706a4abddfd209bc0a0d70bceb7743bd80ae30bd708e933b0f9004bc3df7f7bcf9acdcbcfe6ae73b05608b3abd0672bc34d355bc69ea2e3c2186733beac1a13a2f31e53a8fc2fe3b2fb489bdc210223f0e30213f6d3091bd21e288bd709e1f3fe29e1c3f197fb3bde8a60fbd10130c3f4d8e063fc5b586bda611b2bcf1e5ee3e8a3ce03e664b7cbda26d20bbfa56b13e1ec9a43e813421bdbe2571bcfbcc873e97fb703e1e4f5bbdcbe386bcbd2a243ee6c40a3ed37a3cbd8820b3bc31c5883d2bea463d92021fbd0221b5bc00cf23bc7c4ca4bce9d5e0bc440b05bcd75d48bc94afffbc81d024bc36a737bc5e6621bd219789bda4b030bbfd7d67bc09bc5bbd19a2a3bd2ffd85bb286e80bc16d861bd07b39abd46707cbb100a86bc719a4fbd583084bdd9e685bbffbb38bcf0a426bda2a749bd3b702c3b767cc1bbde3ae1bcc49204bdf68d073c9f3cc23acd315cbcedc67ebc82cd3e3c0166183bb10cdb3a0547beb9d2b0353c0dbf75bd2862e63e03a7503fbe96a6bd9fd170bd0d8de33e0ec64b3faa70cebd96160bbde30ece3e1687303f75f4a2bd0881a5bc5613af3eee660f3f78d586bd6d7338bc7c588c3ec006db3e9acf66bd72174cbc36424c3e0517993e533665bd99da86bc2eaefa3dd4f1303eedf452bd37ba9cbcc442543d7fbd7d3d5caf2cbd7abfa0bc41341abcac4cbfbc90b3f0bc1e7081bb87d61abc09f32dbd5d491bbba48cb0bba83000bd6f53b1bdaf539bb873ce14bc296c29bd633ab4bdc28e2fbcefc73bbc039c3dbd4cdab6bdf52701bcd5804bbc674826bd908b91bda4881fbca71409bcd6da0dbd91626ebd4831a03a8dc5a1bb9d03cabcf6b112bd22c8413bc7e0003b0dc240bc681399bceb484b3c3d59873b779c10ba2193913a40623f3c4bcb4dbdfc13893eabd77e3fac42c5bd04e83bbd0ff8863e4c0b7a3fbc53e3bd0360a9bc85d27e3e21b54e3f0a9586bd5e2080bc0e42623e3bfe2d3f938380bdce79bdbbad70373ea371013fbc6b42bdffc223bc9067083e1a3cb73ed0a559bd57b12cbcb7dca63de001573e14b935bdf40c53bcf591053dffbf943d7e1629bdf86652bcdd9314bc5d8401bd1419debcb06e1fba5ae51ebcb15e86bd9e7f52bbc515453b6ff8b7bcdf65dbbd1a58ed3bfcd74abbe9bb0dbd23c9e9bdc7e1c8bbac66cebb4fe618bd549ed4bd643721bcae4afebb4dde0fbd722aa9bd96274ebc73b684bb1630edbc2b7986bdad3843bbb663bbba497196bcf55533bdc8d3ab3b8fae5b3b825cfebb7f70adbce4f2403c126e123b8883cb3af17f4cb9a38f493c3c150cbd0c79bf3d415d983f7e5fbebdc742e8bc721eb33dd14b903f8d13dfbd7c3276bc283bdb3d3a26763f518a88bd68c7dbbb9bd5d93d4a1a463f193446bd14d7cbba7664bf3da251143fc77812bd1cae6bbbc08b8e3dd9efce3ead8d2abdbc7490bb4035263d48136b3ee53d2cbdd8285bb8e46d823cef3e8d3d4de907bd346007bc1b976bbcd8814dbdff5eedbc000000000000000000000000000000005ceb153b8dccb6bcdb7adebdf6a967bc3fc07cbac163e4bccdf2d2bd71509fbcec9c97bb884700bd3f19bfbdfaf9d7bc2951cebbdc20e8bc6839a1bdf667c5bc6c4898bb13b6c4bc3b647abdc1a679bcf36300bb28727fbcc89129bdca0886bb5c4eb5b820b3eebbda84a0bcdc97bd3b0000000000000000000000000000000000000000000000000000803f00000000d7d6a4bb28a9dcbc128e983f760020bdc5838e3bb022003bad277d3f1c879dbcfe961c3cae969c3cc5114d3f3a4bb9bbe68b2c3c6265bb3c35cd1c3fe80fd6bbd79edb3b2d7b813c11dadb3ec25374bc6dd7843bffd7b63bc881803e6ad9b6bced22a6baabf412bcea28a43dc835fcbc0000000000000000000000000000000000000000000000000000000000000000e85bc0bcc6e95abdf22df4bcbba7b5bbd2e3dfbcbb9058bd657be3bc4097d9bbc196f9bc45185abdf6a7f5bce49af0bb5262eebc9b1e35bd2339cdbca7acf5bb1f30d9bc08b31dbd4503a0bc2957f6ba1806afbcef07d7bc2fa83dbcb63ca53bc05233bc30cc6abcc8ce57bbb220f53b00000000000000000000000000000000000000000000803f0000000000000000f8a21a3dc7d9853f21b0c03b7a6f12bcc860383d845e613fe595193c67a229bcc4934a3db561393f0a8e173c79c118bc1706253d0313103f0add813b4b8a49bc352cf63c6724d23e221899bb0b238abc4990603c3007843e533e80bc6840b5bc9d6a96bbc0c7d93d8a2cd9bcfdb4c0bc00000000000000000000000000000000af0431bc34eadabc63f7adbc74fbe7bbaa97c1bcdd9153bda488e7bcb5ca7f3a8960f5bcc78a73bda36b09bdf5808dbb36a6f9bcedf86dbd980d06bd321a43bb7c83f4bca1624bbd8bb3ebbc6b046ebbc204ddbc33b625bd345aa1bc72ad583beed79dbc01b0e3bc66a040bca17bed3bd70ae9bbd04c43bc69153abbd591133c28f74b3acde0393a7934223bd0b9d43b51baa03bf5f7843f886b033eee1597bc7966993ce65a773f9e46ec3db6c8dcbc54fe2b3d48d7523f8f75dd3d7644a6bcdc56383dd6332c3fada9b83d0801babc7873233d5ad6043f992d8b3d1499a4bc165cdc3c3d9bbf3e14b91d3d9b01edbc293c213c2d0b6e3eb4ef3e3cebb900bde02a00bc5a07c63d92f03ebc6a06e4bc095589bce3dbb3bc842ed7bcaaa8aabc34a111bcc80883bc123389bc33c913bc4950b4bcc85f2abd823902bdacf420bcd3cab2bc931a38bd98fe0dbd08e87cbc9a76f1bce70955bd429d10bde53d3fbcce9fd5bcc8b52ebdd081fdbc43e82bbc9799cdbc729919bd0de0bdbcc1a000bb469e83bc481bc9bc01a884bc3f009bba313203bcfc393dbc1a56b3bbc7dae33be240cc3a78b74c3a5a1ae73ae619d03bd02715bcb881613f35208a3ec393b0bcc046263cccf7553fafb9813e7c0ed8bc31a7ed3c732f313f7249633ef0867abc05d91a3d5fca173f587e3f3e0dd0b4bc8587023daf6be83e8bf9103e7f499fbc6e23c23ccba6a93e663fc13d2145edbc8db11d3c91fe573e235a5c3de6f3e5bcdb970ebc60e7b83d4ff8063cf97005bd4b136ebc889b49bc37a1b1bc52e0b4bced742bbcfb9958bc505c8abce9b274bc3fc9a3bca1880cbde1680bbdf9ec87bcb215cabc4e6035bd1b7f22bdf3e78ebc1d82e3bc18ad3cbd57df1fbd55bf74bcb5a7ddbc9a1526bd59eb0dbdd0485fbc8309bfbc76d60abd4602debcbaf298bbf7e190bca1acb8bcb04590bc5920953ab86617bc8ce738bc2f0ec4bb305fd83bcf97eebafe0f34395848b43a670ed53bd50101bc033b3a3f6fc9d73e7a7997bc808ce53ba92b313f4ccbc93eeaa0cabc0cbad63c74d8193f37bcae3e50ffa5bc4b05003d230fff3e3e2a903ec499a6bc4ee0f93c05d0c73ea1f25d3ef5bcb8bcd0a7963c4297913e5d631b3eb4a7f8bc0d07a33b7aa3363ee12ab33d801610bd498426bc47a69f3dffa2e03c64a013bd1e6572bcae5232bc47c3a1bc5c66bfbc2b412cbc49bb29bc925497bce44896bc685aa2bca6b6f3bc1c170dbd5743c0bc61f7bfbc36f51fbd0b002dbd1350c0bc4c33d7bc264d2dbd015f2fbd417ea6bc695cb0bc2c3009bdbe1115bdf422a5bc8a87bbbcda950cbd0e56f0bcd35304bca04f88bca8d2b1bcbbb892bc935f2cbb3bf032bc021237bcb08201bcc12abc3be35737bb9643aab9c07ac83abddaf03b5a3c0fbceb46133f068a123fa91a7fbc4da4a63b60ff0b3fac02093f923aa7bcc875d03cfe74f43ef232eb3e518455bcf674eb3c9e61ce3ea8dac23e301895bcf5c8d63c25529d3e14c2943ea8414cbca9e2943cad5b6d3e2756573e71d3e6bc19ff613b8b5b123e014c003e11d70abdbe8e2dbccd4e813dd6e0423d33dd0fbdc42789bcc04c23bc88bc94bcc929dabc13f132bcbe0a35bce5609abcff079dbc63eea2bcbc29e7bc059c1bbd9a9dd2bc9f22b6bc6c7c1bbd912040bdc17dd4bc1974cebcc4e221bdbb1a3cbd0e58bbbcd6fccbbcbf0d1ebdfd4a21bdbe6099bc306fb8bc40d1ffbc7baf01bd113c1bbc09ac8ebcd75db2bc922ba9bc17cd96ba34f738bc79703bbc3a80ffbbc69fce3b060568bb4e0a5bba88227f3a67d0e93babf422bc7b6ad93e5252393f3ae483bc148c0a3b0340d13e6da22e3f63d0a7bcd9caa43c0083b93edfeb153fa5dd64bc89c9d43c8a819d3ec7b9f53ec6f278bc4af4d53c0d447a3ea36cbd3e01e293bc9f28803c765b373e6c9f873e25f0e1bc10490e3b0ab1e23d1051253e4f4911bdb2ce44bcfd723a3d41bf833d064518bd8b548abced2225bc28848dbcaf90d9bc556050bc78553abc0443a6bc54a995bc29329dbc3b10e9bc239335bd19b0cebcb35d9ebc20db06bdfa9b43bddc22e7bcd28bc0bc2a331bbd433551bd723dd5bcb4d5b3bc95f907bd9e462cbd8963b9bcfe29b5bcf2b5e5bc67d80bbd175a38bc6b017abc421aa9bcc888c2bc1caaecbb6cc92ebc8a052fbc091129bc53e1c13b2ef67ebb3a1b35ba746db23a2ed50d3cf39d75bc27d38d3e7361603fcba280bc578ee23a5370893ea680533fcfdf95bcb6439e3c4857783e83af2e3fafec8cbb6809d23cae765a3eabb2133f3c3d26bc351dc83cc9f92c3e900ce13e43ef32bc9399613c8125fd3d6f70a23e844cd7bcdd798f3bf7f09c3d32c14b3ea218c5bc97a343bc7758dd3c3c96a23d0d7a15bd88658ebca00a49bc54299bbc97e1d6bc1cd62ebccf957dbcaf51f9bcbcc8b6bc7dc68dbc209eeabc3f534ebd1a13c0bcdc8794bc863d0abd07ba73bd7230febc38f6b7bcdcf219bdb48465bdb4a3dbbc3c5b9dbc2b9b01bd840c45bd0bb0d1bcd2bea2bc5494efbc675420bd341743bcf11f80bc4504a2bc2fbbd0bc8a7a72bb2e0e17bcd7e318bc6aee3cbc6b7e023c652abbbbe9f1f5bac9efdf3a6ddc0f3c793702bc7662093ed69d843fd79803bc16012b3b7dc9073e6692753fd20d38bcfe26b23c675d093ed950503f7f60e73a0eaeee3c1249fc3de9db293f7b270c39645eda3cc30ecc3d8628023f6f07a2bb5c438e3c793f943d9133bc3ec77f94bc2e0f5f3b15d5203dbdef643e2ed2e3bc300538bcf48bf23b04c7b63dacc50bbdaa4e89bc4f128abcf284e0bc7064f3bc0000000000000000000000000000000088c85fbc8345dabc286d5dbd892c02bd3e186dbc44a3f3bcfeeb5dbd34e806bda0e383bc8b1bfebc64135abdf2a306bd660382bc81abeabc8d873dbd7bfff6bc44d17ebc6fc7cebc4adc19bd6ea0abbc0f314fbc92a391bc9f8ad0bca41d10bc69b21ebc1f762abc8fe45cbc7dd0dab80000000000000000000000000000000000000000000000000000803f000000003a61893cc642b33cda68853f75906e3ca443d73c5a26083dd362603f731d803c325cf93c58f01c3d3943383f56cf473c4b0df63cd35a083dfb600f3fed780c3ca05db63c8af8be3c9364cf3e217f7cbbbda7113c2704043c2aa0813e5b9279bc1e60e8bbf602e2bb5d5ed73d845cd2bc0000000000000000000000000000000000000000000000000000000000000000a0a2e73b9b1438be8754ae3c6d030d3c6dbc28bc527325be6a99293ce9b5473cb6a1c4bc363c14becc0834bac021443c4f9cdebca03decbdb83c59bb6e6e373cc2a0afbc2c49a4bd9202acbbab011b3cd9905fbc6de13bbd1f5e94bb97b1d53b2a5678bb4b4f13bc75146abb2dd76b3b00000000000000000000000000000000000000000000803f00000000000000001857debd2e55ac3fd6580abe3d8b293c922d59bd07e08d3fc013babd749d6b3a959a77bc1598683fcd8281bd0fd385bb22c5cc3b0f172d3fed152ebd459fc9bbb9d0903c28a1df3e6945c1bc086953bbb52fea3cd1935e3e2b9f61bb835f1cbbbdf7c23c2e0ad63bac15283c83c7f6ba00000000000000000000000000000000b8d1b53c9562dbbd3ef0773cf1a71c3bad80d83c90eb1ebe115da93c360a9c3bcd10893bea2e31beb72e7f3bf513803c2107d1bb959121bec4539abb6f88943c01ff5bbcf86afabdf5413bbc6a45763c80f328bc9619b6bd495c2bbc3956563cc83803bc8bef4abdd6050fbcd0c12b3c79ae37bbdba583bc462208bc734dce3bd100053c8d173a3c2350833ac4b5db3a848e4dbeed09ab3fa1080e3c993078bc267038bea2c19c3fbfba393b03b555bc1b1e04beb1e58d3f8ebb0c3c269ac3bc1571aabd9f14673f81ed813cee2cbebcb9fb27bdd73c2b3f40c8c83c7f5aa5bc1ed650bcb900e03eff0fd43c49518cbc81033b3c2c84573e78d9ec3c5a4451bc8899053d1791dc3c9c8c123d4d0d37bce49e513c8b06e8bd9dd81e3c136f193acd95b03ce4a983bd41af4dbafa75f23ba75da03c3dc706bef57e4bbcb810823c3b1b0f3c3bae16bec55bb9bc2811a53c78eb3fbaa23c0cbe2085e6bce411b23c3538d9bb2276dfbdc6e6d9bcc95e803c92803fbbf315a9bd4e3ab4bc96d2823c3be9bb3a0c1341bdec866abc1e68293c770e4e3bb49088bceece91bb6d7dd03ba5d91a3c1172193b7764263b052f5f3bb18b4dbe41998d3fab95683eeac774bdc1934cbe5a6a8e3f6f084a3e8b1d84bdc20a1cbeb13f7d3f0d75363e0a2c7dbdaf88ddbdf384513f2f91173ebaa95fbdb32f7cbd09921b3fb3a8f63dbd0f1fbddf2a0bbd0673d03e743fb33ded22febc3a72f8bbb213513eeb525d3dee8c75bc88874e3cdbb41d3d1e5dd93ca5620dbcf86c203ca6a186bd7fc078bb1209603b3ecf433ce6403ebd735fb1bcd5b0503cdde0933c0b9ad1bd763f33bd4ac1d03ccbca263cb547f9bd46a45ebd8d8be13c69acf83ae716e9bda49d59bd819fc23c0a7edeba74a0c6bd8d593dbd5302a73cf76174b93ce391bd827e06bd61ca803ccb3b233b3c7536bd80a59dbc2dd34b3c19f5af3b40a191bcb84aa4bbe7e4f43b0d00243cc7c9fd3adc72f03bfabe7f3b74323ebe50d66c3f33f7e83e3a8ae2bdd05342be7ad46a3f3548db3ebc71f2bd6ee41bbedf01543fdb68c03e9dc7d6bd73aadbbde36f2f3fb25e9d3eefddacbde6fc97bd1654073fdaf2703e584087bd6b5a26bd3bcab53e5751203e7eea31bdf0045dbcac2c433e3391ae3dfc9fc6bcc6013f3b9fc74a3d66d0bd3ca9cd40bb7c59ec38f79c3abdf447e9bc75face3ba2a3203c3429d5bc4c7230bd175da63cceeb673c06d292bdc4ee9abdc425013dfab4f83bf584b5bde7f3afbd6ac5ec3ca14f883b6171bfbd2d13a6bdf754dd3c4c9e84bb92e490bdbd7874bda2d0443c0a33183b93c17ebd3a5647bd10f9993c3164b63a39001abd3387c8bc9042493c6d04b43bad208dbc1ab0e4bb3aae103cc8e4123cf279573a643c053cd5829f3b29521fbe2713323fcd1f323f0be520be12701ebe9e80303fedf92a3ff87128bee144f4bddf64203fc8c3143fddde0dbee02dc2bd4d3c093fb165f43e8e11ecbdf9cf54bd7913cd3efa2db13ee4ab94bd185a22bdc4bb963e0f246c3e3e2f66bdecee87bc75a9273e0db4ea3dcfbad1bcec173eba07e1613d1569913cebeff6390fa2e5ba26f1c7bc5e8140bd22a4203c5e02d63b6d2342bc00a170bd7d92c63c97a94a3cf45435bd2c24debdc2191f3daf57233cf64f80bda9b4f3bdbeb9123dffc1c83bfd938cbd7769d9bd043ee93c456e323ba3d07dbd8234b3bd7019b93c3fa7fd3ad36547bd78ff71bd86a78b3cb4038f3bbd9c09bd4d7708bd8cb55c3c0a28973b11f581bcf9b0f1bb03a4fc3b16def53bb0bb51ba4f7a2c3c06c7b93bf5c9e0bd1111ea3eed186c3f86603ebe3cfbdfbdd210e83ea29d653f33454fbe50d2bcbdb345d93e3353493fbaca30be420f8bbd3e3cbe3e80e7213fcf710abea38951bda41f9c3ef267ef3ed6e3c5bdb85201bd5614623e2e17993e290874bd4b7a77bc99630f3e09b50f3e8cb4d0bc4daff9ba6bf16d3d65bd543cf18cdc3bbf04acbada4016bcf6d688bd71c55f3c22a42e3bc215fd3b82a8a1bdd3b5033dc781f43b2bfb91bc7b820ebef9a8383d8171fc3bcc3d17bd769418bec66b173d3a8abe3b55ae35bdc95809becf90f13cda82163bd47c31bdaa6fd4bdaa5c8c3ca223483b144321bd0d7a93bdf033863c516af03a1b69d9bc8c3022bd8509433ca361c63ad14c65bc3439edbb7710c13b5d19ac3b91c11eba99ea3b3c78960d3b261378bd47686a3efcef8d3f009c4fbe42d669bd4661663e434d8c3f5f4a5ebe997c52bd07ec653e250c763f1cb537be2c4322bd4f63563ef9e2463fb05311be9b37d7bcff38393e3b79103fada4bdbdf49791bc8d1b183ea971b93e28067abd3bc700bc322ed23d840f2b3efb7cb4bc4be3f0ba2707653da87b0b3cda995e3cf14f08ba6c07f23bfbc8acbd2110b43cecc3f03a38ac703c0cc3edbd34f7153d33e1713b3c3bec3b3b7225be18bf583d52b4e23bcda163bceddd34be54dc1a3d3cd4853bf270d3bc0cec1fbe2216dc3c64c8813b147ae9bc547df7bdc8ee7a3cbde8173a8e04cfbc98dbb0bd769a3d3cfe5390b959219abcfcd838bd731cd63b8cee8cb94aa55ebc16011cbc4eb18eba60c9b43a97be8fba55358e3c7587033bae3a4cbcc231243c7220ab3fe0af50be7c94f6bb245eda3c5fa79b3ffa884dbeef1e5ebcd596523dc9928b3f2bf528bea7fa2ebc6bd18c3d5ecc613f842601bec29a06bc24f19a3dc40d253fa234a8bdca0f27bbce7a993df78ad23e391a3bbd3b2290badc4f863db34a413e7b6d2ebceedaa4baf36a623d40c6c23b87f0083de1932f3bf88e723c7fc000be3ccbda3c0000000000000000000000000000000008c9ab3b4f86c13b9fa83abe538bf73c0d90913b6a6be7bb56b628bec4d58c3c05bbc13bd98c98bc6a101abef23b983b0c299f3a2d11a6bcbdf1f2bda540d7b9f1324c3aa0118cbc4eaba8bd90fa96baafccebbabccb54bc8dbf3dbd599fd4b9fd4a81ba3e6db2bb23ba0ebc195afa390000000000000000000000000000000000000000000000000000803f0000000040dd823c92efe9bda6f3ab3fc83705be4a0a283ca0266dbd89578d3ff4aab5bd0129f13b93bfc9bcc7a6673faa7373bda84e143c844e45bb4e6f2b3fcacc17bd167ef83ba13b363c2777dd3e6861a1bc3e94283c7282ab3c1f0d5a3e1aa5b53abded073cb9a1a83c44f3433b9cfa4a3c00000000000000000000000000000000000000000000000000000000000000004af961bcfc3820be4ec6733c3f0bc63c9d8d18bd2b280ebebfa1dc3b7c3df13ca5af63bde839fbbdebe55db90a37f03c40bc5cbddd41c6bd300f1fbb86cdc53cbb5b34bdc4c98ebd753fd7b9ecdc983c9985f2bc90b226bdf9f547374c8d2b3c02da09bceb945cbc89f1d03adff81f3b00000000000000000000000000000000000000000000803f00000000000000009a6097bd09bea83f9ccf01be06e09bbc7cc4eeba7c4f8a3f6a34bebd626707bdc3f3413d9332603f2d5f8ebd05ae1fbde661843dab87273f990966bd591d10bd122d823d7216de3ea39e34bd3a2fd6bceb46643d0d1d653e1a08dabc66e826bc04a5fd3cff77bc3cd20e1fbcfd26553b0000000000000000000000000000000065839d3cfea5ccbde006ac3ba5e0283c1fde453cba1118be7e5d7f3c024ca93c75a9cebc47281bbef337ff3af9f8033d989e2dbd07fb06be946b8dbb8bb60e3ddf763fbdf9f9d1bd519201bc5a19fc3cf45821bdc7ce99bd206eadbb78e0b83c29eacdbcb64739bdfff00cbbcc4d6c3c7f1850bce20195bcddd6003af694903b780fe83b2387d03b79f12a3bd1ed17bb591e3abec5bea73f1277e43c2b8ed9bc1b7227be76559e3f766c05bc7ee70ebd285c94bdcc4a8a3f95fcc13bfabc68bda94833bc2a635e3f3a78bf3b977474bd4ae2ef3ce49d243f3746ed3bee985abdf4543a3d17a0da3eb8e5c139d33f18bdacbb443d25505b3ebcc0853aaac0b3bc43cd543d2052f03cee8a4f3c1a31afbb32b0063c9b3ccabd8c5477bb46e94e3cb5b2933c421b85bd571ee8bbb6b14c3c91a0b13b73bc01beffc178bc258cfb3cfffabcbc665004be3cabb3bcb268143d5b6215bd02cff6bdbc2bc1bc5c191c3d15cd25bda7ffbfbd9890acbc3ec6ed3c121408bd3b0c93bd2d7866bcef68d33c8c73a9bca2a52fbd55150ebc2cdc863c24d501bca23e90bc6a849dbac043e73ba8c6d33bf002f23a676a203b7686b73987f340be7e428c3fbc9b753efc1486bd359c2cbe611d8d3f50d74b3e7d71b3bd2e2fadbd8ab4733fd37d343e3667bcbd316519bdf0cc4a3f176a0a3e8b5cb2bddf04053c5ec4153f3eafd23d0d7f8fbd6054c33c94a5cd3e115a7c3d7d0069bdaf1af93c06dd583ea314f33c8bb5fbbcd78f083d4dfd2c3dc5aaaa3b7947bbbb208a083c694c79bd00ef6bbc63583b3c192e253cff4a45bd0d27c8bc97a28b3cb684a33bae18d5bd03f827bd15a7183d630296bcb5faebbd4ffb3dbdfff52f3d43ff03bd4242d8bdcce62bbd1950223d5e0117bdc35fb5bd56fe10bdb105103dc1a0f9bcecb885bd96dbc3bcb06bdd3cbed3a5bc5e4627bd51f464bc36169e3ce0f2d1bba8e38fbc60ea8fbbd4db133c0818ec3be894d03afcc1ac3b31c1d63a06952dbe1f65683f641fee3e435fe1bde29921bec616693f65ecd83ea1200abe5085c3bdafa7503f343bb83e71ea05be07a822bd2df32b3f1471913ead8eebbdc8898cbbd317053f4688543ec368c8bde26f8f3c3da9b53ee206063e7d4b91bd61b1da3c2e7d463e1b8d803d644f26bdf445d53c97c9523dfe34c13bd83ea7bb3fcee93a0d7c38bd458b03bd8203343ca4c7143c86200abd824228bd85f1ac3cf0e6ed3ae1f1a2bdf16a89bd13cc303da3b89bbc4377bdbd63418cbd07a1263def3ceabcb44abdbd5ae980bdce3d313de06b0bbd57b890bdcd5a39bdcde6c73cc449e9bce64278bd99e615bdba68fc3ccdd98fbc41b90ebd58219ebc3ebe973c2266d8bb104280bc622cc4bb36bd2b3c65a8f33bf0e35b3a9d9e823b9571403b54e313be926d313f4950303f1fa514beb7d704be8f15323f7bca263f88a833bea83892bd67fa203f2e230d3f469f1dbe1c9b10bde78f0a3f665fe03e997512be0b5fd23bfdf4ce3e5614a03e695ec8bdd1186f3c7a6f9a3e76f64f3e409caebd1af4b23cc2672a3eb33fc43d7b143fbd5013bc3c73805a3dde690c3cc7a7f8bb5ed49fb9c034f8bc427f38bdfc674c3c742cfa3ba57eb4bc8f9d63bd56acc53ce7cca03b7a117abd48bbc2bde3b04f3d9cbe33bce25ba0bd9363c3bdb45b483db843cabcadc39fbd2d53aabd5acd333d8eb2e4bc4f7e8bbd040788bda947163da9c1cebc73c453bd40863bbde6e5ef3c140d91bcdd150abdee65d5bc78beab3cd76fc6bbb20165bc422410bccaab293cca9da43ba458db3a5f6b9c3ba7c2763bab63e1bdd514f03e6710683ff3ed2ebe9193c5bdc03df23e53e45f3f060757be236068bd0783e53e36b13e3f0d1a40bed238b4bce139c93e3334163f637d1fbe53c65b3bb506a43eb1fcda3e74ad00be66cb953caca26e3e81da8a3e7ca7b8bd4509cd3c566f0f3ec25c043eee764bbdc086be3cfb54493d4a403e3c748c92bbc80b363a23639abce00e6cbd39ec4e3c4330e23bb02dfbbb79d192bd9c40093d4b86513bb1e21bbd46ddfbbdd406613d168a3fbcd4186bbdea84eebd5a5a3f3da8579cbc52137fbd5615dabdd75a383d4778d4bc0eff5fbdfc789bbd2140e53ccc06bdbc0fb036bd71596cbddf47e93cd3f485bcec6fddbcfd1402bdf6409e3c384306bc40a051bc643a15bc89ac0d3c08fa513b65fffb3a6cebaa3b474b253b1fe68bbdda247b3e01298c3fe84941befb1750bdd7447e3efa96893f707e66be4933dfbc0205863e5c77673f45de3dbe3b26a2bb0ca97d3e58813a3f9d6929be58997a3c1e2b583ed4fd043ff96af0bd307cbc3cb391293ea059ad3e3522babde54ddc3c0ddcd43d9fc7263e5fa853bdd26bc13cc4cc3c3db615333c768e773aaefbcd3b7371edbb7bbb99bdd62ebb3c7639fd3b6d7d103aa8b3d8bdc874133d896b2e3b8f6776bc3c8018beabc8873d0b3bcebba5bc24bd1bb615bec7bf523d97438abc1fa246bdb671fcbd88062e3d9ef3a7bc206940bd51b4bebdf161f03ca9e8aabc5d4a16bdfe148bbddd33d33cd0fc75bc5757c0bcb9931bbd688b863ca7002dbcccf428bc246d2cbcc28a843bade7a63a2d1e483b3eaa0e3c0ab4c73aecb2d7bcb21cfe3c45d7a73fd63b3fbef6f3b1bb920d223d0ba89c3fef2767befa2c923745c4b93de6b0863f617d3dbef1c15f3cde3ee53de8c4553f5c131dbe67b0cf3c61baeb3d6ea91a3fc9e9e7bdb9ce073d2cf3c93d2915c83ec2e9aabd2b46fc3c164a913df00b3d3e1cf827bd3d21e03cd4a3343db057093c47078c3c7f72d63bccb42ebb1bc2d7bd44cfb23c000000000000000000000000000000002283373b6bc185bc391e1fbec9891a3d5b34e4bb066707bdef7609bec957fc3c6cf878bcd1b52abdffbeedbd5933923ca37ea7bc0f431cbd6f9bbabd87ac5f3cb97296bcf752f8bcd4e384bdf19d4d3ce0216ebcdb38a0bcd2971ebd55111c3cc400fabbcb87a9bbeac344bc2154d23b0000000000000000000000000000000000000000000000000000803f00000000c942113cc404aebddd34a83f08cc0bbef786983c069d99bce214893f77b7e1bd0a67e63c9713ae3c02ef5b3f8033aebd3667153d9fde153d3aea223f3c7593bd11d01a3dc3b11a3d1e1dd63e99076fbd3f271a3dde40003dd71c5a3e1c3901bd2baed43cecc77a3c7a768e3c094ffbbb0000000000000000000000000000000000000000000000000000000000000000713954bd9348c9bd96fa72bcf858473db6d291bda550c0bdf44505bc5637673d12c1a3bd510faabd5e6129bca6745c3d638193bdcd268bbd6391dfbb2fc03c3d26136ebdaf0150bdac243abb52b6183d9bdf17bdbfdef9bc3470a839e045bb3cd38043bc096a38bcecd8243b7c88083c00000000000000000000000000000000000000000000803f0000000000000000f8e0cb3c1051983fb2fb4dbd7b7999bdacdea83df1127d3f412444bd1cefc3bd164eed3dc9ff4c3f9adc36bd7552cbbdd2a7e93d53bc1b3f237c3cbda7a3bebd3905c33df9bdd93e352f4abd255ea3bda806853d831a7c3ee82b38bdd15453bde1b69d3c8fe6913db7d822bde33989bc000000000000000000000000000000004cf861bc5bfd63bdbdc792bce21b9c3c22812cbd8fb0b9bd461d5dbcc430513d142596bd6a6acdbd3a8a48bc7747803d7649adbd9014b4bd4a8728bc5c6e813db0839fbda0a98bbdee180fbc2e71513d0bb980bd6f8d54bd2d0e45bb22562c3d144420bdfad8fcbc09110f3a014bd63c8f1c63bca99273bc249836ba960b333c1347f93bd79b763b2394da3a806117bb5f29a8bdcbb6973ffec6cd3d8d2e59bd1f512fbdaa23903f9ce8763dce58cebd56926c3d2dc7753f386f5a3df38301beecc5d13db260463f8502073d4c0007beb6c0e33df10d153f4ee4853c6a23eebde6abcc3dc5e0d03ef410a2bbfa0ad2bdf4ed8e3d527f6c3e8596a7bc96ca8bbda4db0d3d7269933d96afb3bc12fb8fbc02407cbcd2e75abd2761cbbce809053ce68318bc31ae0dbd7607a3bc32606f3c21532cbd574da0bda5c0dcbc5599353db4d38cbdb0bca6bd3ff7cbbc18e4523d0020a3bd54d9a7bd0f6a9cbc4f35703dd1a393bdc6dc83bdafc24cbc8bf0343d614378bd1d3c48bd5dd91bbcc2062c3d4c531cbd4f68eabc14f583bb0d23cf3c59e85fbca84155bc7131bdbae26d523c342ed13b4f91fa3aab6bcb395bf611b9021ecabd7024803f52068c3ee3e98bbd2fcd45bd0e5d7d3fde3e733e43acf3bdde26393d32f1533fdc684a3ed28d00be6fceac3dc7fc323f62d5143ef46614beb6a0bf3d5df9053fd830d23dc76bfabd7becb43d98c7c03edfc4613d4b47ecbdef0d683dd5ea5f3ea6a1a23c22069fbd2dc5d53c915a9b3d612c26bc7b8f10bd06e544bcc15400bde36eb3bca351f53a62e359bcd364d9bcd6ffd6bc9ed92b3cf4f22bbdb1a385bdce6113bdcff9273d47e08dbd9946a1bd220309bd0105623dfc789cbdd90697bd5267e9bc7bf35e3dcf8b9abdf5fa80bda4a5a5bce8e34a3dd1f670bdec733ebdea2a73bcd6a6283d4bae1ebd19cce5bc8324f8bb3fbcf03c1ea47ebc387154bcbe7038bb9a22723c3659923bd7e56e3bb0fced3a92562b3a7367abbd6e22543f1705eb3efc7daabd25d434bd316d523fc259d53e8b2b0cbed1ec173da68c393f4c65af3e08a71dbed7fda03d9532193f5362873ea44f1cbe2845c03d3d62ee3e21fb423eaedd12beaf5da93d7ee5a93ed6ebf43dd66000be0db06f3d98054a3e2aed5e3dc37abfbd2306cb3c8173953dbeadd23b2c7735bd88527fbc7285bbbccf14dabc554f08bcaae858bc2ff0abbc8fffecbcb064e73baa1724bddde267bd88593cbdf3961a3d53b080bd7f878cbd9a9d34bdd2163f3df9279bbda30a8ebdee7519bd4bb75e3dcfef81bd384d59bdb24de3bcf5ce063df0a873bd0b6e39bd9193a7bc91e72e3dc3201dbd66d6dfbcf1060dbc182bdc3c034982bc8a942ebcddd57abb3fc6703c7f236e3b28a43c3b6c50883a9bf4473b7c7d9cbd957b253f52dc243faac6c2bdb45c03bd1890253f8702193f1f0219bef585233d9e3f133f0104fc3e40bb1bbeb22da13d54d5fc3ef4f4c53ee12d27bef2d8a73dadb9bc3ebd7f8e3e26f9f0bd510fa83d8872913e213e3c3eca860abe7cfb673de8352a3e0611c23db1ffc5bd50d2c83ccf70843dd936ac3ce7bc57bdc05e68bc8a7882bc7ff7f8bc7e2254bc80e928bc518791bc623311bdd917ce3b069d0ebd15a34cbd18396ebdf4ce183d81bd76bdf3da86bd7a475fbd4541493d483d8cbdf85985bda55846bd69994f3d28228bbd95616abdf82510bda7303c3d5d7e62bdc0762ebd5dadd5bc2bcd253d55cc1dbd74dfd3bc20ad7dbcd2d8fc3c75878abce98530bc8d11aebb5c98853c6bc5313bd184673b8929b93a4b42403bbc3e84bd77e1ed3e1fd9523fca74d4bd7b90d1bc6ac8f03ea6cf473fb5f826bea2e02e3db035e03e33eb253fff2d2dbe33e59a3db961c23e0138023f6a9226be4368ba3d09849d3ebdd2bc3eb5351abeb1daa93d2c1a683ef0dd7b3e9d230cbe47467c3da00b0e3e80f7043e42fdd7bd9963f43c429b583df3300f3dacd467bd426122bcbe1e90bc9ca60abd94f46bbc1fb843bb844182bc8dcf36bd8de03a3cc151d5bc51283fbdfcc499bd53c9233d1a784fbde13671bd008a85bd5e1f273ddc4081bd698f7ebded0b70bd06da4c3d466d72bda00057bdb31931bd5370183d7df858bda3b128bd3e4b05bd4ec2243d0afd0fbdd968cebc15fd95bcca39de3c817584bcf20630bcd2cf12bcebff913cf5d5f73a802b263b7a700a3b4c1c4c3b05b565bd64388e3e2804803f1e37ebbdd52c4bbc3322963ecdb3743fac702ebef8d03d3d76d6943eaab1453f560317be2e81a03d7fae893e83841f3f004a28be12b0b43de7c2613e909de63e2f5009be2db1b03d3a6f2e3e23999b3e586c0bbe985d723da0c1cc3d96f22c3ef666c9bdc9ee0b3d20591a3d0c2b313dbe0d5ebdd18191bbdd386bbcc2f222bd2ec21cbcfde4b53a116ca0bcc27984bd2f0a313c73b676bc94ca25bd9ca4bbbd96a23a3df21435bdb6b968bdc69cadbd83fe483db95868bd711670bd53778dbd81db463d22bd67bdd06f54bdf5d44fbddd79243dee214cbdf96d20bd0fc81fbdf8b9213d17860ebd55f4c3bc5fdbc6bc496afc3c4d348abc0de902bc716c16bceba7743c4550aa3a60916e3b7db0c73a0e73b43b70b820bdc7bfdd3dc363973f080fd7bdb4b5e9ba4c4df83d0a178d3fdff12cbe45d45a3dbbaa203ecc046a3fcc6220be0fd7ac3df7ee273ea58f363f7c2d1abe2d12c43dee96153eae6e053fa04909be2d80bb3d0f4cea3d3a76b43ea0fc03be6d1c923d5f4f8f3db645423e0586cdbde9c23d3d27d1c63c38de3e3d86ae3bbd57f051b934bfa5bc162577bd51f35dbc00000000000000000000000000000000546689bc0d5832bd7bbcbbbd6dfac43cd16114bd6d1656bd3e21a1bdccd8053d0e5645bd10d95bbd41a689bd2248eb3c014f4bbd767b49bdeccf59bdd40ae43c5d9526bd54b91cbd270b23bdc408d93c1e28f0bcf305b9bc36add5bc7f23b73ca3fa62bcadc010bcee7422bcb48f783c0000000000000000000000000000000000000000000000000000803f00000000067e953ccde1f13b71b7953fb5c2b6bd5f7c743dc4293e3d7076743f1f6ac6bde6a9b03d0a91913df2c6423f5495c2bd69f9bb3de682933d9824123f5159bfbd5f52b13dce316a3d8ccec73ea8eac2bde53c8b3d66130c3dc2e3613e34d29fbda2221e3db368f33aed566b3dde015dbd0000000000000000000000000000000000000000000000000000000000000000df2ebd3c768949be893e323d2379813a5b09e6bbd8a030be70d0a63cb3430f3c7114dbbc230f21be2aebb83b4498203c1b7e06bd3a0f02be97dcf93ab946093c689a00bda360b1bdc418a3bb610bb33befa3d0bc552d3dbdffb303bc7125413b13e559bce15e1ebc402c7abbf193f4b900000000000000000000000000000000000000000000803f0000000000000000c31feebddad9aa3f2d6421be17f49b3cbdcc2dbd4cb88a3f8ab3cebdf52a103cf320f2bb7353683f7c779ebd0d2fbc3b3512c13c4b5e2b3fe6e043bdf7f5853b7a27323d053bd93e9b1428bcea5a353b72c93f3d625c573e4098a43c8b5d1bbb7957393dd47cbf3af993093d220c19bb0000000000000000000000000000000061fe1e3df220fdbd18e6083da42a99bbf3e8e93c692a20beaae7e53c56e921b9acd13e3c1c993ebe77ab3a3c97253b3c8e4182bba27c31be32db833b76b0723cef6397bca10e0abefe78debbda08413cf2d9a9bcfa66c2bd6b0742bc5e163a3c7faf7dbc260258bde7393cbcaa1af23b8ced4cbc3a5899bcaa7231bced8ba23b761c543b91941e3c04751d3a0cd487babce358be25f0aa3f80c716bc72dda4bb0db215bec020953f052c743caf224fbc22fcf6bd9af58b3f53e202bcd55c3ebc06a596bdb303663f8a38ad39b72d3fbc136fd1bc24bd2a3f95e77f3ca9d52bbc2317fa3bd334dc3e7eab073ddfbf0abccb4efe3ca43b533e34e82f3d8b7e05bc2f991c3d62343a3daaf62b3db42637bc8959d83c8797efbdd2b8f93c7aba6fbbc59ed13cb31d9cbd3eb77c3c784433baf87fd13cec4b17be1841b33ac2de1d3c5c0f723c85342fbe5aa033bcfd5d813cdac8053bad6623be9f1ba7bc8e448b3c86ae26bcec0203be560ab9bc0aed613c59bf4abc0125c1bd0256b8bc0a68483c8fc915bcd5ec4fbd8b9686bc24aae83b0fddc4bb04eba0bc65111fbca509cd3be76d943b949a253b7c9c833a93ba9a3a773e4ebe9c698c3f7557623ecdb357bd0d7043bea9de8c3f1f15363ede2f4cbd84091dbe776f803fea3b113e32cc2bbdb8e0d2bd11df533fa422f63d3f44fdbc52b16bbdde7c203fed5fca3d50ebabbce9e37ebc3608d03ec96eb83dddc198bc4798363c3a24483ec21a883def3cdfbb201db63c7f9e1d3d12d3303d1ca784bbde9a853cbbf485bdffae203c1d769c3aa0d7b13c643380bd6f53ffbb18902b3c8b48cd3c981ef3bd315100bdbd08943c24e5913c0d4b14be4afa3fbd594dd93cb131a83bbba50bbe77d748bd89abba3c650d67bbc5faf0bd5e8e2ebd94618c3cd09de2bb30f6aebd088f14bd00c47a3c1911f1bb004f4abd6a71bdbc25543f3c47f494bbf301aabc1bc32bbc82b6043c56c9943b46cedb3a3ebf793bb729993bc1dc45be22106d3f7285e13e05d7d3bd29a43dbecc2f693fc98fd03e7e95cfbde1c018bee0cf563fa238ae3ece44aebd2a6fd5bd32c2343f548f8b3ee9e07fbd9b9982bd5a160c3f78fa513e7e4333bdcac0cdbc037bb93e510d173e992ecfbce42c2b3ae14e433ebd07b83dd7292fbc83e27c3cd7264b3dbc8c0c3d8c18843acd72ce3b7f284abddb9c73bc3746073c73208f3c6c821cbdf9f016bd2462b73cb264a93cd1cfafbd8cfa91bd249e003de896993c3bd2e0bd3235b2bd9eeaf63c1e6c123c5599e6bd59c0aabdcfd8ec3c8f6591bbc1a0b7bdf3a181bd048c823cefd539bb46099abd7ad949bd8604853c666ce1bb76bc33bdf328dfbc48184d3cf3d6fcbababfa5bc748c2abc0e16193ccf2c5d3b385c0339bdb3b33b07e2fc3bb5df22bebc6b303fdf78323f43c220be4e8019be628d2e3f83d8253fb9351abe827500be576a233faa62103f4b9203bec45ebebd7d300e3f45cde23edfc6c0bdd2d74dbdd797dd3ebd28a33e7c5c78bd250901bd0b769f3ed344543e191105bd2a96b2bb63cf303ec609d13d3672b8bb77c2e33b8056743d27ceb23c0b9f1d3cbbaa3e3bf7cd02bdf9f026bd9d87863c6f213f3c14e565bc73166dbde119cc3cde25863ce0544bbd4c01e3bd5f002c3db1259f3c2e929bbdaa6a03be91c7243d2f35553cb717a5bdd5ceeebd4a38f83c1c7ac63b10f59dbdeda5c1bdfdd3c53c3492d2ba6a4086bd715483bdcca08e3cd8b780bb74a92abd433710bd7d35423c0e4059bb557a98bc534b45bc7e28143c68379f3b76710ab96049e83b55edec3bf9f0d7bd9204dd3e9f8e6f3f832846be9327d3bddc3ae13e2339613f637741bee7fab2bd3738d63e5961453f40e724be224887bd95a7c03e92cc1d3f8168f8bd29423ebd7323a53e19d8e13ee2209ebd9b0bc9bc9999793e7cb18d3e331e1dbd441bfabb8022203ebaf4fc3d04a242bbb8fbbab987c8893d166f5e3cbe648f3cd169a4b9fb9e2cbc7aae7fbd3fd7af3cd5b6333b021c033c92169ebddacf173d1b4f3b3c7dcf6fbc214716be75c73d3d8b4e953c9cc52abd3e0c2abefa12383dfc435a3cf9bf56bddc9918be3342163d4715c03b6eb252bd232eeebd4303ac3ccf8e833be44e4dbd1a3da6bdffb8a03c1c2b79ba6bea0cbde07b26bd76c71b3c7b3c3cbb902391bc6de159bcba06fe3bd0f5ec3a750f92ba33f3ff3b7a4ab73b78a350bd5e7a523effd38c3ff5b249be969854bde642533efb838a3f914a52bec76130bd31da543ead49753f502735bebc400cbdadab543edfd1423f658f05be41b4acbca28d423eeeac0d3fb156acbdce198cbc07a72f3e56d4ac3e9f2a23bd7be3afbb8bf8fe3d0296153e0fabdd3a7e5e65bb1b298d3d1e71123c9305ba3c422490bb0886093c5173a1bd6cb4ff3ce75d0b3b0e5ce63c83ad02be4b92433dd6b97f3bc846363c988324be4ca9513d26f19a3cf5d851bc052544be6e8e2f3deb3f793c21c5e9bc499832be88770f3d87b41f3c64ce07bd51290bbef390a13c9ce6c33b9d7709bdc672c6bd995c4e3cc8fee5ba30eecabc6bfa4abd3851b63b9eaa38bb3c2d8abc34c08abc96e62d3aeb99a9ba7c18f03a74816e3ce68e0a3b421bbabb21827bbc9787aa3f62e257bea81c1bbceec6223ddeae933f29ad2bbed7c34fbc38be383df1af883f740521be47d104bc60c18c3dc1925c3feadeeebdb26e90bbac7db33d1530213f4db795bd3b4c93bb19d4c53dcec8c93eef09f9bc621e13bb4be1ad3d3841363ecbaff33b925c41bbb215763de978e23c5c88f23c1e6963bb88af993c218001be19d9243d00000000000000000000000000000000b63f1d3c8550c53ceb4e51be6e51413d5402783c1c4315bb9d743abe6f01d63cfdff833c868073bc646e32be7b2d243c1a2f363c671db5bce5230dbe2191dd3b1f835f3b277fb9bc0cedc0bdd60c19ba48ec8538e902a1bc65ea4ebd4df1b5bb603d91bbd5481abc079733bc4d6efcba0000000000000000000000000000000000000000000000000000803f000000007e50973c128409be0348aa3fa1cf11be87582c3c1a2d70bd16f7893f35e1b0bd9367333c652fe2bc7797663f71df84bd3595263c216ebf3b9bbc293f35641fbd8fcf083c7743003d618ad53e5c0cbbbbaa79063cd3143c3db660513e204a8d3c36f29a3bd695233d33e907ba4144003d0000000000000000000000000000000000000000000000000000000000000000e0d6a1ba1b942cbe6658153d008d4e3cacf94dbd825e06be56acc93cd33c8f3c6f3faebdcb22ddbd2a667b3c8284993ceec4bfbd6892a0bdbdfb513ce960853cabeaa8bde0c654bdb2288c3b9736633cc0d777bd1bc9e1bcafe8dd3ae8fb163cc3f8e1bcd5b0dcbb5f7982b9f840303b00000000000000000000000000000000000000000000803f0000000000000000140bb5bd846eac3fb66539bee72dbabb37a8e53c7e428a3f435f15be143997bcfc2ecf3d3f215f3f4b3202be0feac4bcc38f0c3e20f2213fbdebcfbd508fa9bcff51103eafa5c73e51a65cbdf3fc66bcc1dff23d0d563a3e126223bc774069bc3e8d8e3d709f40bca34ef53c1fabe1bb00000000000000000000000000000000ceb6273d457ef4bd7b15c73cfafe253badd7653c129412be236de73c5cc4003cbbb7f2bc790418be6907753ca926c93c483a81bdf367ffbd4f14343c758dd43c2bb9aabd8377b3bd2a30083c39b2ac3c1c7f9bbde11a7fbdc9fe323b6d9aa83cf45565bd60100fbd3371763a63c2523c0bdf0fbd12812ebce834f0b948d1da3b9921513b1945d53b8e5dbd3af6150abb15de52be0968aa3fafd911bc938a87bcf432f4bd2d32973fcad6a8bc9d17debc49924abdd7798b3f713c4cbd43a836bd8918fe3c0ff05f3fb90e60bd77c92fbdcc42c13daf31233fa83f48bd6a6e17bd2ee7ec3d0f8bce3e0381a5bca4a101bd5a89d83d45103c3e90092a3c2c20adbcecccab3dc6c3b73ceb70093da576b6bc72fdc03c86d7efbde320f23cb679c7baaa1d193d68a1acbd1863033ceb9ebd3beb98a13c8c540ebe2ae6983b9102ac3ccf42acbcdd4313be8a58eaba5f91003d9b7056bdd0f5f5bd72b08ebb4af6023dc64f90bde951b7bd931924bb1d2fd33c61a687bd5acd84bd5d9438bbb862c13caa1b45bd9cba16bd0a2cbaba207e813c943fd7bc253065bcdbe08bb96fff063c55db273b462bd23a653d1d3b6c76103a25d447be84618c3f34e75c3e692366bd4bc11dbe627a8c3f73871a3e525699bd3eed9ebdb444803f9f4ec13d8ba2a6bd8d5389bbb4b5513f5f8a603dec9e90bdf660833d19151b3f5253e23c513f6fbda510b93d74cac83eab27b13caef831bdc29fb13d7e283f3ed5d0953c6cb2b8bccfe98d3d9787cd3ce9d7b63c6da646bcd290c13c3bf599bdafa6d13bc427453b17850a3d892691bdd7f074bc6a12873c6da1b63cdd92f8bd7868c9bcfd66023df06855bc99c103be8847e9bcc0c3263d5a443cbd65c7e3bd0ca4bbbcea15153d20a17ebde000b0bdb62878bc972bf73c250e76bde41f7dbd568f33bc15f7d13cc74839bd9b2913bd37e6ccbbdaa38c3c1ba9c9bc7fc280bc92b2023b6dbfde3b6788dd3b2ce4a6390558813bc90ed4399f0e41bec0066b3faa99e43e29a6dabdeeae1bbe6f506b3f49f9bd3e2fd6ffbd37a7b3bd42395b3f96938f3e2fdef8bd684a46bc5abc373f25a1433ea58cccbdcb3e343dd5fa0d3fea1aea3d58049fbdcca4933d7a9aba3e36cf903db42053bd1761a03d126b3a3e69f4163de93dc0bc08dc7f3d0ba8183dea89273cc25253bb97777c3c2f5076bd9c4d9bbc5043893c577f0c3d1d8758bd3d2829bd2f69d93c3c6f9c3c0996c8bd055a69bda9173a3d7eea1dbc1239e1bdf57f69bd48ff473d90af18bd85a5d2bd396840bd2f7f3e3d26f075bde47593bd4194f5bc5803043d574a5cbd1fbd73bd770aa4bc2eb6f63c6a5827bda91c0cbd2c870dbc852b933c1791bdbc62b870bc2ea1fe3804aa123cb6e7b83be0d0a5baaac2a83b1c77ff3a1fa820be08b92e3f6a70313f5aac1cbeee37f8bd8123333f024c1c3f31e833be76f18abd793b2d3f9fa5fa3e70302dbef17b54bc156a183f59a2b13ee1050dbe23854e3d7d1dea3e63c5653e46d4d3bdd560803daa5aa93e30b3f63daa9981bdaf9e883d36a52f3e790a483d4e27c3bc9cc95f3d6c5d443df1cd11bb7ffe873b5b76783c3db828bd042834bd0b14cf3cf5dde33c788e10bd291a76bd2f630b3da33baf3c2b4c93bd70a7bdbda4ae703df40c08bbf837babddd39bbbdc46e7e3d458cf3bca2f6b1bda5528fbd1020593ddcb541bd2ed290bd03274abd1f522a3dd97246bd896f5fbdfe62f5bc0cf0003d66ca1cbd1cd50bbd8a3044bc4492a23cd763aebc9c908abced3e1e392adc163c788aa63b091da7ba0ac4d13ba505153bf746debd125bde3ec4606d3f958c3cbe7bb6aabd547ced3e0c5d593f5e2062beea2b45bd9e2af43e65f7323f8bbe56be54b671ba7dfae13ef19c033fd61d2ebe6408153dbf5fbe3e52cfad3e2a6a00bed687613d8edb8c3e08b0403eb6f590bd21b2613d73de283ea3658d3d4e5fbabcab92383d1d50783d403248bc8eca533cde12393cdf30d1bcc7f18abdcd06133dea86ae3c474740bcee77a1bd8ffa273d7592953c46cb3dbd817800be7afa873de164a93885f488bd844bfcbd353b913d1598c5bc91458cbdfbbfcabd62df733d34d924bdcee575bd498489bdaa52353d95092bbd665643bd9cb030bda9f00c3dd7f511bdc8e3fdbc9dd594bc9d7ea83c8cdfa6bceb956abcdeeecebab126033c16b3df3a0f0a40ba1966003c106538bace875dbd35c9533e2d518d3ff6d645be1d691bbd7ba2733e5dac863f3d7f73be474245bcf2258c3eab2a653f06fb71be18dba73cc6488f3ece6a2c3f014e45be3a15463ddfc8843ed22de83e572311beb277503d32c95b3ef2ea853ea3acabbd78fa563dfdeb0b3e29ffc43d1a8dc5bce9d90d3dbb36853d56c787bcb756983cd097063cd13198bb11f9abbd575f323df658a33c0fb28a3b2e56fcbd27aa4d3d08e32f3c15228ebc564515be39f0943dbecbb93a97863dbd2ab718bed40d963d084a96bc16bf5bbd4bd1f8bdd879823dd1c50dbd833d4cbd4bf5adbd9ec8443d298e1ebdc8c027bd70d95dbd916e0f3dc331fbbc4e63e4bc0223c2bcf7199e3cb3bcbdbc338875bc1c7014bb29ae983ba5529cbacd7a993afb5b6d3c3ec581bbc5b059bc406e7bbc222aab3f86e550be72461f3c922c3f3dc817953f696561bec923713c7c8ec53d69a7843f428e6abe0b370c3d21e5103ed0874c3f043b4bbe047a5c3d353e223e9d6f0d3f5cbf18be7ab45d3d941f163ed58aa63e0a81afbdf2f0353d0d9ddd3df3ad033ebc8ed8bc8747f13c263a873ddd8c9abb089cbd3c3f3e083caaebbe3b8c0e00be9b33553d00000000000000000000000000000000d161803c238f3fbc023d37befe028c3dd4df7abbcecf0abdfc4912be734d6c3d97fdb5bc034a27bdfa92f6bd3dae423d76fe0fbd503c20bd5a63b6bdd6581e3d97d717bdfdd3f9bc48b761bdcebcdf3c27d30ebd62beb1bc134edabcbc60723c8ce697bcd6962dbc994603ba9df9a93b0000000000000000000000000000000000000000000000000000803f00000000746cb73c8e9df0bdba61ac3fe14346be9fdb1b3def812bbc4051893fc71235bef622473d93193f3df3135b3fdd9825bee397813de517a03dcb6c1b3f693b05beddba803d6da1b13d3b6ebc3eb8d5adbd7fb34b3dac849d3d4299293ecb97ecbcbb1dfc3c4c332b3d49aa91bc74fc8e3c00000000000000000000000000000000000000000000000000000000000000009c6d87bd6091eebd6d15743c1622593db5f601be7acb60bda2aadd3c356b343df8d819bebcc0b0bc74d2e43ccb04153d5f590ebe8abba0bace79003dde49ce3c63a6dabdb12f263cbbe3e03c886f153c0ced8abdc162183c01798d3c3616883bc25fbabc8d21ad3a7f85cc3b41a7423a00000000000000000000000000000000000000000000803f000000000000000033f786bc811bab3fac6a12bea322b7bdc89b213e4011853f0c632ebeb416d6bdc494873e897a473f87c644bef8bec4bdfa48943e8e0c073f030a48be97999abda8aa813efe8c9a3e82c22dbe229711bdf8353a3e7130f03d8482dbbd7212bdbb93f3a53de794e0bccaace7bc8e0f213c00000000000000000000000000000000233def3c4ee7f0bde83538bcd6c60e3d60f3f3bcb8c7ebbd003d133c5c67363dcfbcf8bd836381bdb6f86f3cb51a4c3d316d1bbedd32afbce9b4b53c92791b3ddee215be50aab33ba5b7d93c3e0cc83cba4cf7bd340b703cc49ad63c5bd7443c66a59bbd992b403cae0c8c3cd414c53b6e2318bdc8878d3ba7a7ef3bcc80ca3baebb3c3ce7dbc4badf582d397f2576bb16b949be512bab3fc3663b3d800055bd936ad4bd267ca03f128f13bdffd3b3bd0a0db83d8d62853fcc2988bd484afebd035c603eea4e453f1435ecbd373fd9bdcba78e3e5ddb033f6a2112bec8d8acbd1327853e52ce953ef74409bef3d124bdce6a433e8a71d23de904adbd78892cbc1299f03d9281b6bc2f0fa3bc92658bbbdecfa13a4a1fcbbd15a90d3c9e418f3c8ab91d3dbbaab9bd86ceabbc96aaf13c19e4febcceaadcbd435988bc8db06c3dcd23e3bda40e83bde97678bbdf156c3d172d14be4b2bc3bc6306bd3bd553433dc5a60fbe70c33cba7abc7f3caa38053d6f21efbdca7d533c3853983c54a8803c640c96bd85f6183cc725653c767f0e3c8cff0cbdbd15863b75eee33b2a1e963bbae8e53b2fe514bbeb61ff3a544addba18024fbedde38e3f6f31803ec958a0bd5f6be3bd512c903fb5272e3e17940fbee8847c3d8c83743fe40dc63d41d52abe4aa33b3e902f3a3f2125ff3bcd8812bebeee7a3e4d6afd3e8a5a45bd6eaeecbd79046f3ee4e8943ed7df9ebd5e5f82bdcc45343e5b4be83d9d2084bdf7a7c5bc8e5dcf3d40e02dbc9a4cecbc7b8af63af57d5f3c3f9993bda1700bbc5a7e8a3c167a073d2427a3bde73726bdc8ba1b3d73fabbbc404ac8bd34642dbd1ff5883d79b3d2bd5f7e78bd9256d4bc494d893dc32f0fbef02db2bcc06611bccc04513d664110be47f6383b6389e13bcd4d0f3dc443e8bd70593f3cca8c383c625a9c3c13909bbdf330303c1874303c2ac6263c06ee07bd252c883b5bf6de3b95228d3b2a0bff3bc678d7bae89fd03a88df1dbbaf4142bedefe6d3f479df73e47ecfdbd691beabda168733fb331cb3ea91742be14982c3dfa2f563fc0268d3e6c0552be00c12d3e3c8c253f8938143e1bfd31bec142703ef065e83eb9c4213d19f20ebe1329633e15b9893eb64497bccad1a6bd1da82f3e3702e13d1d6c27bd9cccffbcfe73d13d55fe40bbb2010ebdd91f083be368ec3bc0ac74bd4f41e1bc88a5cc3c78901f3d887f8fbd540870bdbba32f3d0ca28fbcabd2b3bd1cca8abdd2529c3d1fc5cdbd668a67bd9cd040bd374f9d3d444f0abeb95aa8bc33eed8bcabb6763d7f3207becadf02bcc3297ebb215a323d57dae7bd7180523c6021843b7742bc3c9cc994bd4240383c9d61033c1987223ca5cb0dbd64cac73bf08a8b3bb3139e3b1cdae03b1e0866395f85063bd68a34bb4e802dbe312e363fa898363f8d2223bec122c9bda0823f3fa879223f575c73be27633c3d3d5d303f51bdf13e84d37abe7777233e14dd0d3f51b3963e1c0559be28c0643e794bc93e3b821e3e69552fbe54f0583e88e0793e5414413d0388d5bd4482263e8091c93de4d93dbcd61c29bdcb98c43dd726ae3b346b16bdfd57853b82db103c4d1554bdd57a2cbd530fee3cb9c61f3d91b370bd867495bd7c393b3dcb290bbcc9bca3bd160ec2bd395fb03d0140aebd3dc562bd986f92bd18ffad3dee0002bead7fbbbcaa5330bdcdc5893da1b408be3bd0cb3a59428ebc7d143d3d1dede3bd2a5b263c2ac6b8bb6635ea3cfa3a96bd91db443c77c07f3afc295c3c86e313bd3bdcd13bd4d4903b4fe8a63b44f4d33b835041392f5a143b611f39bb88290abe948af63e627c6e3fb2093abe873898bd099e073f8d0e5e3f9ac88cbe29a62d3de977073ff7f12b3f4d7990bedfa81c3e9ab9e33e8fa2e53e3f5b76be40755b3e6768ab3e7d69823e2ebd45beae42503e7217553e6636f23db88bf5bdac06233e0412b73d0299a73c60b94bbd1436c23dbc562c3c9e4619bd91ac8c3b12160c3c651522bd8f8e6fbd2415053dabde283d1a6335bdc25eb7bd126e553d16cb37bbf0618ebdf200f7bd7103be3df2b2a0bd4c4963bd9ce6bdbd72a6c23dbd84f4bd2b35babca8b07fbd49a0993da52304be6a8a90bb4140f6bca7c95d3dc4ffdabd93cf223c215087bcbc58063d20fe92bdb2fc283c8e33deba5005773c43c415bd66a8023c0703533b097ba13bf24e003be543d73a59e8ab3b470f8dbb4794b5bd02e37b3ee3eb8f3f892c49be00d127bd6e3e9d3e1d3d8a3f862895be4934613d87d2ba3e404e5b3f684a9cbe1f151a3e1294a93ef51d193f414b87beaeba533e4d59873e6e2fbb3eac1d58bed5e6483e99802d3e59e1423e3ffd0abe960c1c3ed45f9a3d58ec5f3d8dfd77bd6ad3bb3d66f6613cc39d14bd5724603b58bb693cf190dfbc7c8b93bd7b1d1a3d36f23b3d276b2ebd9d06ffbdadc4723d8da8003c3ed95cbdc7c317beacbcd33d65cf89bd75ee51bd0690f2bd2490cf3de27ce7bd39c0b0bc1d95a6bdc5baa93da180fdbd437bb2bad40232bda68c683d404dd9bdc699293c4fa6ccbc6dcd133d49ce94bdee28463cb1eefebbd22a8c3c1fa921bdd37fda3bd812073bcbf2b83b3a9b9e3b4847903b8de5de3b6fd0d8bbc42d78bd3e780e3d71baac3fe34549be278bbcbb2f09c53d3106a03f72989abeb3f2713def58573e2161823f4ad89ebe3887143eff01693e53733a3f8ac58ebe32e9503e1cae483e4d02eb3e717a65be55a7413e81b3063ee1a7823e1c6516be1e14183e4be5753df4d0ac3db6b781bd6993bc3dda80c63c401d0abd64f5eb3b41a6223c9192eabc27dbd2bd49222f3d000000000000000000000000000000001843803bbf908ebde0f21ebe932ec13d5fec90bd51e356bd2b38e2bd4cd0c53da04ce9bd44b4f9bc38e599bdb7049f3d37e9f8bd6adb3abcfef23dbd6e25793df829cbbd36d46d3b4181ddbc585a1c3d41fe8dbd5a1a143ccacc27bc53759a3c15b2f9bc1ebe1d3c214f0f3b715af73a0000000000000000000000000000000000000000000000000000803f00000000f9ecc0bbaaf62cbc47b4ad3fd60071bedd51b33dc121db3de110873fb45e86be5fd52b3ea7aa1b3e39a1473fc2ec7dbe4ef9563e3857113e42f9043f03435dbe6677483e1ee2bd3dc34b9a3ed77f1dbed0cd1d3e8f05283d96c4f53d81c49abd42479f3d9bb97cbb68ffe0bcfa6f4fbb00000000000000000000000000000000000000000000000000000000000000001c9147bcbd709ebd51acbebc93d274ba4c116bbc551f90bd53f4b3bc4c41f9ba5b196dbc925375bda55fa5bcf40612bb2ae973bcdbf14ebded4097bc5bd055bb0efe54bcfb5e21bdcdd666bc8f0111bb013826bcaffeecbc5e2a14bc6e5545bb4865e3bbfba790bcf65683bb6e0fefba00000000000000000000000000000000000000000000803f00000000000000005c3c4a3c67de883f7e9713bc5d0e11bbbb9e9a3c9775653fec4b4bba06d79e3a3a339f3c14a33a3f139d0b3b8defad3ae09f883c9573113f6edf6c3a2f94a2b9c2941b3cb480d33e35ec4abb14a324bb8ef1ac3a2d99853ecf4e08bcf9b4a1bb04d219bc4107e43db3fa89bcdffe0cbc00000000000000000000000000000000b24042bb5a604cbd9e8a8dbcfad023bb7e2a1ebcb929a7bd4802e6bc2bcb31bb07d84dbca577aabd0aa5fdbc03aa54bbc9a65dbc4e4297bde127f0bc6d2e59bb4aae55bcc59771bd9f6eccbc2ea20dbb1bcf3bbce26e46bd5bd4a2bc01a71ebb7bd810bcc4590fbdc95057bc9c8ac6ba15f245bbfdcb8ebc6b69a3bb2aad9dba38f83db9d2015fbb64bbe13acbbb48b9c9cf8dbcd4c8873fbec1ea3d539571bc7ca626bc7b1e803f1c10d83d90364abca86dd13b8752593f146ecc3d5d58d8bbb609333ccf8b303f2abcaf3d3413b3bb8814093cf3ed073fa84b8b3dd4dd95bb602d583b630cc53e557b393d19d009bc7f98b7bbf003763edfa6af3c96da39bc19047ebc59c2cf3d0c082cbb4b0d58bcc9e882bce2b68dbcaea399bc23aa25bcb879c8baefa703bd63c085bc50587dbb5fd881bb3a3976bddc4301bdf302b4bb878bd3bb01f16dbd704b01bdfb5285bb968a01bc29037dbdb0010bbd07fb99bb9a62ebbb163e3ebd664bd5bc1b446fbbbe30e5bbb1fe28bd1d95bebc217b35bbec709cbbe59edebcc13d70bc0de7e2bac9c1bcba95b873bc86a9cdbbbddecbb98497c33a7c44f3babe6d8b3adec54b3a3a48c9bc50ca633fb091843e5f2ca8bc4d59b3bc0197593f9f88783e9c6aafbc5906c4bb8c1a343f52545b3eed7446bc591360ba7b1d193f2b65383e81072fbc9ad903bb5655e93edccf0e3e258316bcf63576bbb4d6ab3eb089ce3dba5e4abcf4a20abc8d085a3e4738783da83957bc359881bc7473c13d98a6963c6b0185bc12bc5dbc638506bc718457bc272148bc565183baec59b4bcec738fbc561391bbbed065bb008c3cbdec6810bd40f1dabb6b0685bbab9159bd3efd24bdc993cbbbce4e9cbb1e304ebdb3511ebdc3a3b7bb48c9cebbdb9336bdfdeb08bde76eaabb4b2b99bb29200ebdcb47dcbcd2b982bb3371a2bb68c9c8bce41d97bc89e91bbb524e13ba0b224abcec4608bc0665ffb86fbfa5b9d1095ebb2771fd387c91bf3ac3b6cdbc4572393fe22dd13ef77ec1bcf1e0cabcc590303fbf44c53ec35ec3bc16ff3ebceb1a193f5e97ac3e123a87bcf0a1e8bba8bbfc3ef7558f3efdd959bc5c0cf0bb61cbc43e8489633eae973cbc544b03bc3bf58f3e9798243ef2116cbc74143bbc01b6373e29a9c93d064784bc703c7abc9e63a63dc971223d17b292bc7c7f24bca47a8dbb9f8b16bc587772bca43d92baa7e382bc78bfa8bc6e7a9abb108b1fbb325b0cbd8d6b1dbd50d303bc907f33bb65eb1ebdebbf32bd94f6fabb915a47bbdacd27bd42423abd979907bc533a35bbe05fdfbcb8a1efbce334adbbfdb182bbb80defbcefebfbbc17a89ebbf7202cbbdc7e9fbc123ca4bca6eb4abbb4c287ba5b672ebcf71728bcdc1eebb8f670333a7774e3bad4d0abba487dec3a13c3c5bcd183103f8750103fea19ccbcadf8bcbcbd1c083fbff9073f82efd2bc3b5144bcb241eb3ebd75e93eec617cbce2c40ebc6f7bc63e6f2cc43e6eb156bcf4b5aabbca2e953e332e933ed28414bc18ea23bc6941653e7cb55f3e446f72bc133335bcd922103e3d110b3ea2fa7ebce44071bc0d1d843dd268743d9e9b95bc1e253dbc5fee72bbbbfde9bba04b62bc366222bbf62456bc493dcdbccdd4a3bb3d3330bb9a1fe8bc7b5a4fbd070f26bc87d648bbc9e710bd318e6dbdbbc53abc2f5965bbbd4711bd0f975ebd4f563bbc94d51bbb06c7f9bcb0cb36bd0c3b0ebc91616ebb2252cabc60fc11bd7c27c3bb1d9b2fbb5dc097bce19dd2bc58d082bbacd8bf39d9f019bcf6914ebce82ce6b85e65c9b9a10693ba35b7d1ba30d6103b923ebbbc07c4d13e784e393f4021c9bcad48bcbc83c4c63e1a03303fc4cfdfbc023a55bc2fdcae3e0e53183f95df80bc90371ebc52df913ece42fb3ee5af2cbc27bdffbba914673e27f6c33e2bb44fbc73292dbc3b10293e3e538d3e825f6cbc1d8856bc0260d53d4577323e8df391bc20b65cbcdd593a3d3fe39d3d4078b6bcf5a53bbcd988a7bb5d32e0bbbacb74bc972e32bb244136bc7bda10bda461f4bbf98842bb1a37c4bc7eed83bdb7074fbcf63aa4bad284d9bc94c379bd987e58bc4b46cebaf11fedbc99b282bdeb8e64bc52ab0cbbf526c1bc394a45bd228e38bc178f2fbb750db5bc41202fbdb6621ebcd68ef2baa1f36bbcb024e0bcf68babbb97368cba55460bbcd32c6abc48e4afb8356661baf512b1b8aafb02bb13622f3b0350a8bc96bc843e3fdd633f371ed9bc3cbb9ebcaade793e79bc583fc56ecdbc363228bc36685f3e1c89333f1c9530bcc582f1bb74fe3d3e40c7173feaf910bcfad0cdbb7247143e2797e73e209fcebbe9ef19bcae6fdb3d4e89aa3ef09d43bc6eaf30bc06d6873d0cff553e232f78bc95c681bc1b04c13c7eabbb3d196cc1bc54a244bc081912bc063d2fbc6c4592bcd32931bbec1b42bc861f51bdf79637bc2ea4c7ba378dabbcd109aebd54c19cbc9d2d99bacb2dccbcec99adbdf199acbc3dfd94bab07dcabc29f999bd8e6ba7bc099ce4ba6f82b2bc1a8f74bddbef8ebc23150fbbacfd9abc377048bd423f66bc5e5a25bbe14c5fbc88630fbddff216bc57a8f2ba8efcb1bb05b191bc1d73d9ba2c4e13bb0cbc8ab803f748bb472e183baca56cbc07bae93d00b9873f62a19bbc160f3abcf6d9de3d5602803ffcb76cbcdd399bbb7408d53d3ca5583f40b7a438830644bb25eeb93dcfdf2f3f7bc67e3bb7c066bb51af933d90f4063f12b3a33af795cdbbe210543d8ee5c33e3caea1bb8a9628bc8e34e43c58b8733e092261bc91a858bc8f4e483b11eec93d2992c0bc55944dbcdd2a6dbc147c9ebc91fdaebc00000000000000000000000000000000d680babaaa858cbc9f8f9abd6708a3bc9cd0a3bad9bd98bc74fa90bd8f34afbc393647b97c9e89bc54b47abd25cfa7bcf07f2cbb5ebc80bcad4e45bd74458cbc48bcf2ba3d195ebc6edf23bde42778bce7641fbb389327bc3e42f2bce5772fbcc78b67bb498fb7bbfc0f8fbcdb62b5bb0000000000000000000000000000000000000000000000000000803f0000000091cca2b9404cf4bbfb8d883fb405103c7f57e33a3e36613b0630653fb6ce623c091e403b05e3c03b33673a3fdcf55d3c74edaa3a2af88e3b46a8113fd5d52d3c229d67ba887f013b63b4d23e07e1383b03f394bb58e680bb171a853ebc39b6bbaa6308bc98db42bc8b87e43da20282bc00000000000000000000000000000000000000000000000000000000000000009789a5bc826f46bd842adcbcb69258bc0870b1bcf49f44bd8130d7bcd5f05bbcf376b0bc655934bddafeccbcf3825cbc1d74a6bc23fa1dbd23ebafbc5deb3ebc202294bc40d108bd38b398bc002d2ebc0e1879bc1e6dd7bcc90461bc0c2001bc1a8f35bcb79e92bc9d41ffbb501f97bb00000000000000000000000000000000000000000000803f00000000000000002d410d3d3b9a7e3fcc512f3cf248e33b57150f3df81e583f64834f3c9be5f23b38f2003d9812323f3f68663cb6670e3cf166d03c0d5d0c3fc705303c14ead73b14c0a33cbc85d03eb47da13b9697093be1bd2b3cb913873eac7cbbbab065a7ba0c86623aeb7dfb3de9432bbc1859e2bb00000000000000000000000000000000082631bc7788efbca40f9fbc06ab17bc642ba2bc1c0951bd8b02fabc3fe568bcfbc1bbbc70b264bd51970dbddbf98abc54c4c7bcdcfb5cbd6bc507bdaceb8bbcb862b1bc430b36bdc496e2bc4e9f72bcd158a9bcd66826bde9bdc5bc640251bc688582bcf960f9bcef238abc75aa10bc77c31abcf2fc93bc5d1bffbbf3a961bb6e2942bb2029b8bb6d193cb91755b9394ca6623cb0fd7b3f558e043e3df77dbbe4aede3c6f61683fd79ffd3df9fb393a7af00b3dd0ba463f613dea3d0078d13bf1de083d2d22243f11b0c83d5b3af13b7084d83c45edff3e318e9d3d8c49a93b7fc2a33c943cbe3efbb35f3d4d0e613a91691f3ca8e7743e01f3ef3cd12d94bbcc37edba9a16de3d0a1f313b431632bc7e58e7bbc2f313bc2a1d76bcaece4fbc3a89ebbbfb27a4bc5c8188bce5e30dbcad5d60bca06827bdc1d3fdbc204a83bc1fdf84bc652925bdc6fafbbc17317fbc6dfc9fbcd0003fbdc3e70ebd65da96bc339d8cbceacc19bd33bcdfbc048478bc8fd389bc8c1812bdc737d2bc48eb5ebcf1de3dbc4d1ac5bc7f3e8bbcbd4c0cbc75140fbca2cc76bcd66f0ebc7e1d6abbf9d61cbb8e9c35bb14e7a2ba20fca836d3cc763b6c8f553f802d873e0736dbbbe002753c644e463fc9707b3e386237bb852fa33c1b7b263facc45c3e04f65d3b181bcb3c96f80d3ffe943c3ec2b8b23b0c869f3cb068dc3e3545133e78ee7b3b07a36e3c4333a63ea65ed83d291505bafd3daf3b8da1563eec4c843df1ec9dbbe8109bbbd923cb3dd7adb53c981c34bc546cdabb23e3a6bb25dd35bc9a1022bc08bbc5bb9b227cbc6b4785bce90223bc9c1266bcc33c05bd1b1cfebc6a048dbcfa3980bc75fd24bd69fd17bd2927a3bce83189bcd26f25bd778117bd21a3a3bc78cd76bc632110bd96bb03bdee2e8fbc15d24bbc912801bdcabee5bcbe1c77bcc8c931bc23bcc0bcd455a4bcdc1c26bc7d37d4bbb6965cbc898a2abc5b1790bb063d17bb4b7f72bb04a302bb267135b9856006ba13bc2f3f2cbecd3e57f1d2bbee4d153c5422243f0c3fbe3ee8fba5ba75a58a3c43f10d3f194ba73e12cb9b3b7132953c9839ed3e720d8c3e8e88c33b8335833c555fba3e53675d3e91cc913b31ed2d3c437c8a3e20b5223ed372b0b97d1d8d3bf179343ebb26ce3d7104a1bbb34a80bb35cea73d97652b3d754f30bcaffb9dbb618e0fbb4169e2bbb7b607bc0970aabbb84f52bc121598bcdc9a2cbcbf1b1cbcb834e5bcaa9c08bd1c3194bc56824ebc556c04bd7b2917bdccb6aebc2a936bbc76b911bd49fc22bde124b6bc85f131bceea0cdbc4eeae0bc5afd80bcd69049bcfe4be4bc6b0ff7bc7c7387bc506312bc69699ebc8baaa3bc63c22ebca1f2bfbb3fb135bc239851bc4ebf84bbd122d4ba07ac29bb7d93ebbaefd15a3a7a6725bb573d0b3f68390b3f2dc7b9bbb6d27f3b66be003f6f41003f3ac7283a2866473c3f3ddf3e24b2dd3e50a0f13be94c6f3cb3eebc3eaae8ba3e4b18063caf462f3cc500913e34448f3ef6b0b13be6e70e3c2a585f3e21905a3ef372de3aa8bf163bb0e80e3e69c10a3e7a887bbbf5e088bb93d0863d677f7d3d3ca618bc7eb3debb194f82bb947ddfbbeef81ebce242b9bbf4b263bcbeaa8dbc1fc138bc291a29bce822d1bc4d921abd67b1babc357f46bc48d000bd0dd336bd8470d6bcbd0356bc5c7004bdcaa72ebd5fbbd4bc502447bc0365ebbc6e761dbd8ef2b7bcca1740bce336c6bce37c02bd884d9fbc722f12bcf3d49dbc1d84cabcd31257bcdda2cfbb07b43bbcc8dc66bc38edd3bb4908daba88e40dbbfec11cbbe3010a3a278488bba796cd3e476a2f3fa78884bb47cf343b47abc03edb63233f78c4983b3b671d3c0203a93e613b0d3fdd64383c501b363c81fa8d3e7f75eb3ed6d7563c821c2d3c8d42623e439bb83effe9123c1a03cb3b331b283e0980883ed385563bb25f443aebf5d83d1a7e303e61b041bb80a9afbb23d7433d4e9ba23d3c5717bcfb30f3bba66fa9bbbdf6bbbb13c01ebcd71cb1bb99d83ebc36bcbbbc8f4674bc7ade2fbc4401cbbc0d9a39bdabc6e3bcc7df17bcc798cfbc79bc33bde51cd7bce1f44ebc98f4f9bc2d4e50bd7a7fecbc91332cbc5eeac8bc7f8021bd0c9ec4bc40602bbc40f0c1bcb3bf19bd4c81b4bc9020f2bbd88282bcdb3bcebcb30867bc28e9acbb110f19bcb37e8bbc1d32d3bb2514f4ba436ed1ba0dab3fbb3215a3ba0156c7bb8633873e5967553f37181e3b93e6843af28f7e3eb197463f5684603c80a1013c4bb2603eae0f263fd489783c889b393c6ed2413e78490d3fd36f913c93ec113cc136183e051fdb3e8eb24d3c4aadbc3b1f0ae53d39daa33ea763d73b16e4df39f02e903d3fde523e2d6e12ba65a3d9bbc3d4e83c7095c23d16fa1abc149413bc480c03bcb54aecbba18932bc5063bbbb2d4067bce2e203bdbd1faabca82409bcab35c0bc38025dbdb42805bd410d2dbcf2dee1bc79ab6fbdb54d13bd276a2ebce31de1bc7c416dbdeaf815bd2a8224bc492bc4bcb3e23ebd0adaf1bc967221bcc522b6bc85fe2cbd3034d8bceee007bc2e8a88bcf8b9f4bcb0b79bbc541abdbb04da12bcfc9694bc6bf211bc38d54abb1c7b0cbbdbe1a3bbc9318dba05a431bbc7d8053e12207c3f9269473ccd1c8b3b087a003e465a683f45d3ad3cb4db363ce731f23d2a22463f0f85e23c58de573c83e2d33d45ac233f9604e43caeb2343c839fa83d7a07ff3ee6ce993c18fcea3bedb6793d492fbd3e5d9c3f3c3120c8b82bbb103d2478723e3b146d3a416600bc5ebb0a3c4d45db3dcfa421bc2e2c22bc22ac36bc1e4a2cbc0add47bc00000000000000000000000000000000d89408bc79e7acbc940a4fbd40fd04bdae09e4bbd7efa2bccd0c4cbda2b604bd58e806bc907aacbc65bb43bdae7203bdf674ddbb232891bc7e9724bdb582e0bc690700bc8b2f8cbc02610dbd8558c0bcde04edbb075660bcdb2de0bc333193bcd848c4bb96a30dbcfaaf91bc90ac2fbc0000000000000000000000000000000000000000000000000000803f00000000a8b0213cb8905b3c726e7e3f1340f83cdf08553c32408f3c15ab573fa6d2e13c9cf0513c49839f3cce34323fa6f7de3c7b5b393c01d1763c2f1b0c3f7a5d9e3c6b84043cfbba303c3590cf3ebea5513c13ecfe3a066c9a3ba459873e1c64ae3b30888fbb90f6babb47aef83d20e8c7bb000000000000000000000000000000000000000000000000000000000000000040c001bca3b73fbcfb8132bc36e721bc7f6d05bc79a03bbc4c602cbc5ffd20bc556e13bc827345bcc1df35bcd4582abcaa92f2bb4a6a20bc5e6915bc723c0bbcbd16f5bb5ede1dbc595d10bc75b10bbcdb23cabb0664fdbbdf4de7bb975fdbbb085697bb6b35b9bbde69aabb4681a4bb00000000000000000000000000000000000000000000803f000000000000000046637f3cae52663f831d303cc971183c9857793cda70453f62bb3a3c119e203c6ec4543c784c243f3dab213c1f50063cfe17213c16f0023fbf04ee3b50f3bf3b6f7c193cbff9c43e6229ad3be75d7f3b522b9d3be21e823e6068303b31d5063ba5f9b73a270e003e5eb520bae33544ba000000000000000000000000000000002341aabb626af8bbe130fabb28a3e6bbb30d0bbc4e2949bcea5244bcc01c35bc5efd15bc63fa53bc84f34abcca493dbc02c51ebcfc4d5ebc2ae154bccd4a46bce9ff08bc17d336bc7e8c2fbc9c9e25bcff6a0bbc058f37bc9afe2dbcd85f24bc3bf8e2bb4db80fbc2d8408bc866bffbb0215afbbc573d7bb1912ccbbcd0ab6bb3c2324bb676730bb403723bb739a18bbe73c2b3c4327653f1eae073eef4cc23b7b2e813caa004b3f9a37f83d3539183c5eae7c3cb4052e3fae16d83d63ff173c7af3723cbd3e113f4497b73db8a6123c65ed4d3c5fc8e63e4280903d1038c83bdfb11c3ceb78ad3ec8e05b3d8149a93b5dd9b33beb64653e80d60c3dde26133b1ecc143b4c8ee23d828a7e3cdc0cc5b9bb6368ba5252e7ba4e2a11bb13c301bba2cd8cbbb245c5bbcc9fd7bbad34d1bb3c0ce0bb8aca45bc79954cbc581240bc3e5ee1bb751d21bc9b7724bc255719bc6c6614bc09fd6fbc122752bca48045bc065fecbbe40722bcdf0f23bc9bb218bc6bb204bcbda02ebc83fd2ebc8ad424bcdb20d3bb0de102bc172cc7bbf93ef8bb8d229abb0cd0bbbb1027bdbbc99fadbbded3eeba97befeba0c93f8bab0b2e1ba6692093cc74c443fff0a843e4dc1a83b6dd36d3c47722e3fe6d16d3ed9391b3caac83d3ca8ad143fe8084b3e07c8f63bcd835b3c14d5f93e963e2e3e14f12a3c9586203cb56cc63ecf7c083ed54fc33bd954133c206e953e5466ce3daf40a13bceb7af3b5d12463ef0e1873d1dc92e3b97dbd73ad1a2c23dde07fe3cccf05aba2c4066bac9e8aabafc2302bb6353ffbaf68160bb8d27e0bba65cfcbb602cf2bb4680e7bb4ad523bcddf935bc69792bbcc2ba01bcba7736bc4b9044bc22f238bc00420fbcbcb347bca3b154bca16448bcb857f8bb6be829bcbe9133bcf7ab29bc4adcfebb5d2a29bc3e0c32bc0f2427bc6a48c5bb755cfcbb0ddb02bca169f6bbfa3296bbd7e9b5bb9221bdbbb218b2bbb6b4ecbadb63ffba026e02bb324befbacb26fb3bdab8233fd50dc53e193abd3bc2a94b3c486d113f9d84af3e15e9113cf940513c6adcf93e1920973ef217143ce9ca523c472ed13ef4cf7d3ebd2b133c8545253ca092a63e09fd493e2f70d83b6855123c24d07a3e251f183e1a0dab3bd1629f3baa74253ea21fc73df4baf53a100cf63acd9aa33d229d413db85b07ba840f5ebaaead90baf246e0ba85acf6ba1c617dbb5a35aebbeda0d0bbc891cfbb7facecbbf36321bc8a0e3cbcbc2734bc3f21e9bb700723bcbb133abc06812fbcc8e805bce6cf39bc5b8751bc0d4f45bc48aadabb222911bc16411ebcdc3b18bc54c7f1bb1e3b20bcffe830bc05a425bc6a527fbb1bf7f0bb37a002bcab5ef4bbb80495bb315fb7bbf894c3bb1cccb7bb94980dbb4973bbb9ddae1abbb3bf12bb4c44d53beafe023f97eb023f4b57b93b75392c3c7dbee83eab55e93ea36a2d3c615b393c9634c83ee3abc73e083d123cf4a7453c122fa83e2979a73e569b133ce7f2fc3b21da853e863f853e3598a63bb1e1053c57c6493e8052483e66d4a23b5c1b8f3bcbea043e35b9033e31d7e93ac8e00a3bea0d843d6104823dd54d5eb9b7c78abacafaa8baa090e8ba56c10dbba17d81bbb0aab0bbf4b1d9bb86c0d6bb534becbb79761ebcc85b41bc1e303abc646ceebb6fc824bc3b4146bcbfe33cbc175d11bc03e842bc023565bc57ee57bc9045e6bbb2d519bcbd1136bcbe852bbc1765f3bb9cd31fbcc79239bc2d812fbc2971bfbb1ac6f1bbfa5508bc742500bcf71495bbf2a8afbb6835bebbc735b3bb22bdfbbad72606bb9cc201bbfb7af8ba2553c83bc5edc43e247c233fb581ce3b8e433d3c684fb03e85da103f494b363ce45f3c3c40b2973eb73cf93e3b36253c328a503c0004803e93e9d03eef500e3caf3f1e3c9385493ea30aa63e0b2ced3b7f42083c6283193e2652793e863fb03b49b39e3b8753ca3d98a2243ef1fc183b7579c03a473f453de02ba13db2d73dba057c3abab56f62bac025b0ba7d97e7bab3cb8bbbf0c7babb260fefbbfa3befbb66dadebb30a81abc4f7349bcdf5742bce397f0bb06d71fbc83fa46bc02f93cbc54ed05bc61fd37bca78967bcb9ba59bc3899dbbbbfe913bca97c36bc32712cbcd8f5f6bbf17620bcecce3fbc89d834bcf0a2a4bbc7cccfbb762df6bb5619e7bbbe74b1bb4464cbbb89aae2bbeb93d5bb5417ffba4ae5fcba056804bb9f12f2bad11ec73b2c34843eba30443f58f9f13b0026303cbf216e3e67142e3f06ab403ce870283cafd44c3e55a4143f6316263c9981423c461c2e3e576ff93e0ef42e3cafb80f3c33e2093eb3f5c53eb83fea3b745a033c0a8ed13db7d0943e13b7bb3bc651793b3d04883d342f443e38af083bd707103bc6dc073d61b4c23dfd5dba383bfba7ba6323cabaf38b03bb6a2a1abb063696bba37dd0bbb27b0cbc6b1c0bbca26d05bca85234bca9e070bca41c66bce64106bc81fa33bc130572bcfcc763bc1f5e08bc4a0c39bceacf75bc4c2169bc8c08cfbbaec40fbcd90f5fbc78ba34bc5f60f4bb6dc520bc3d4d4abc56353fbc799ec5bb7757fabb03e919bcf12610bc4fde98bb7cefb7bb3785d9bbb032cabb79ff16bbf26c26bb82bd32bb345026bb6fcae83b544b083ea820653ff8281e3cfe57483c9331fc3d931f4b3fa4fd703ced144e3c5b68dc3d4f032e3f37985e3c661a493c6235bb3d5603113f2f5c423ca67b323c2f4d933d0141e63ee267f93bb12a0c3c86ac633d3921ad3e8827d73bbe26aa3b7c2f143d2ae8643ea12f463bb701d63af0f5883cb1c7e03d39c8fbb90f9b5fbaeaaab5ba473406bb77dc0ebb00000000000000000000000000000000f037e0bbc4d017bc835f33bc6ac848bc3d1bc7bb59f70abc62bc45bc7bae3abcabc4dabbaefc10bc76dc44bcb1473cbcad29c7bb3d3806bc4ad732bc7c4d29bc15dbefbb92ddedbbe51a3fbc210115bc215ebbbb3575e4bb29080dbc4bac04bc232d91bb9ddbabbb60b7cabb6afabcbb0000000000000000000000000000000000000000000000000000803f0000000057ca313c87a53b3c4f1d663f44df5d3cf5f32a3c291b333c88e3443f64903c3c9c52203cbd52273c64f1233f1224213c81b00a3cf8d80e3c27d1023fb35ffc3b9c85fe3b179ffc3bd34ac43ee77bcc3b88e5a63be57a333b943b813ef697c03a4bc1403bf43cbf39028cfe3d4fb670ba0000000000000000000000000000000000000000000000000000000000000000dadd5eba964014be262125bcf5ea313ce1784ebc93b308be52ad8ebc69d5313c6e7da2bc50faecbd8e86cdbcc816e93b5d03acbc6285bbbdecd0c7bc857dc03b386f86bcf9188ebddba19abcdcbda43bbbcaf7bb0d2d32bd6b8330bc3a6eb63bd995df3acd088abcf68a6abb305d4d3b00000000000000000000000000000000000000000000803f000000000000000031a88bbd99e3a13fca7392bd4cbde1b8bd5000bda523863fb63d12bd613450bbab63c8bb2917583fb18142bca8ac90bb4911a83a4303233f94ab68bba04b84bbfaeb473a926ede3e43148fba68c585bbd78982bb9e5f753eefdc83bbd24ec6badda917bc15355e3d55e34bbc3f17263b0000000000000000000000000000000070d8343c0082b6bd759166bac4505e3b71af803c012210beffd2d8bbda22543c5b3529b9172e17be1c28b7bcdde13b3c266619bcaff904be051be9bcf6b51d3cbf6846bc6286cebdb02ff4bc1ea4013c2d73a3bb0bcb99bdf816c0bccd0dd03b8622c13a90dd3fbd44d86abc6de9bc3b5247183c9ae996bc1903d1bb9e18803bccf8283c27698f3ba19d623b3b04953aa1300cbe7b0ba13ff5f9643d313cc0bcf0a919be8c7a9a3fbad7283d3d0ebebccfbcbabd66ea843f41e6883dd88dc3bc06bd5fbdbd03553f7c48963d2cf7b0bc191b05bdfe9f1e3fc2e6883d6a5196bcbfe8ebbc0f05d83e1d4f4d3d19a279bc1572b4bcbff0653efa96f93cc8fa17bc51191ebc9f96453dcaf46a3cd5191b3b2ffa57bc30c993bde5b03abc73e48239fed7dc3b3a5666bd49df8cbb0a62853a85f7083c3cc7e5bd01c1cbbc6fc2eb3b5e5387ba688aebbdf7591fbd97cea43b776396bbf7dbe3bd40e02bbd15b2d53b809b00bc71a6adbd922c18bdcc58113b1a3e16bb6f7e89bd6c9cffbc0bc5a13b023c103bdbb128bda265a5bc9e51a83b71080c3ccc848ebc71a509bc754da93b51a21f3cf186773b04651e3b83e0683b5fc20abe4052863ff2827c3e937f53bdf6ec16beaa2c863fed696f3e2e1961bd308abdbd7c5b623f8a13653ee8f129bd345895bda8ae3c3f6664483ec18720bd69723fbdaeca0b3f5a11223e0738f4bcd7f327bd6560c23e4a2ced3d4e64debced36fcbc560a5a3e15ba8f3d33beabbc92aab3bc74d1743dd4b7db3ca5b829bccae386bcf5ad28bd99101ebc898ceabb23b9c2b9c3501ebd23526ebceab528bb23ba563bb964acbd879030bd56eb5f3b4932b7383f92c8bdda2365bd2200523b961212bb007ebcbd613066bd89dd163976d9a2bbc3119cbd495e51bdedb929b99ebd73ba22456ebd881a22bd2c7f663b8e03943bfccd18bd8b46cbbc4776b23bcc341c3c448b89bc61952abcc106f03b5be2013c9ed3863adc733c3bc733b43b19a2e7bdb3875a3f05fae43e3a0498bdbc4f03be1cae593fdd0fe03e0d94a7bd6c4fc5bdb0013f3f26f0c93eb2bf8dbdcd598fbddaad1b3f94afa93e31e157bdf52458bd4312ef3ed0d1863ead1633bd5b1b30bd6330a53ef3a73f3eaa6c1dbd94b314bd5b5b3c3ebaf0e23d85f3fdbc4c11d5bc35047a3def7d283d16b9b4bce564acbc0f5dd0bcc16f4abc8e6980bc80f0ecba53accebcfbf8c8bca0f461bb157e58399bbc75bd749a77bd80f11db965d528bb8f8591bd77fa93bddb5edfba597c0fbb016495bdb2ff95bd6e0d27bb21e8d7bb094f59bdbe5958bd2adad3bba73d11bae01447bd692e46bdbbd722ba1dd3093b3853ecbc7bbdebbcdd2c423b154fef3bde9a69bc5df74abcb416f53bf101e23bb9d4803a3ddc2f3b1753e43b2ea2bfbda367263f366e263f54b5c0bd99d9d1bd2254243f632c243fd466d6bd29ae97bddca20f3f63320f3fcaea9bbde1b87abdc70bf23ea8e0f03ed0db84bd19ec0abdbe39b13e0624b03e8ca018bdb66e24bdeab2843e8c66833e037c33bdb84501bd48cb173eae4a173e5a5d0dbd2e67cbbcda2e5f3d0bd85c3d423ae0bc6d24a2bc0ea387bc615a85bc63edb7bc4d3b0dbb8bdd5ebc07451ebd88e912bb836d3e3bae752abd4f25aabd17d7213b50b7683b145367bde58bc8bdf398a3ba8663b33a998666bd0394b8bd6aac60bbbd6d113a6d5852bd89329fbd0a8b84bbdf71193b34cb20bdfcf760bde39504bb19349c3b1df2ddbc12d70fbd35faa93bf2cce63bc93a48bcb66964bc9a99113c3807ab3b1cf1a13a17414c3b68af163ce83297bd4318e53e68845a3f1747e8bdb768a7bdbebbdf3e9f8d593f389f04befc8f83bd3d15ca3e9bab3e3fd3e2c9bdf6bc4cbd3e30aa3ece601b3f49f197bd60d225bdca77873e8e5ced3e533b67bd23fe11bd7a2a423e114ea43ed15a43bdd867ddbc9163e43d09583b3e753122bd2e29a1bc2f672a3d4ea07a3d7fbff7bca6107abc14ff51bc2cebcbbcd5efbdbc4ee5f63a9a0484bb1bdc67bd33f4893bb648ec3b7a36ccbcc175e5bdb2a8ed3b31698c3b943b16bdd9fce9bd5de14dbb24029e3bad0228bd8467e2bde05ab8bb38a9053bc68117bda697acbdfdd403bc3018943b9112ffbc4d6688bd3b0911bb0606963b9695a8bc057022bd4a3f343b59b8cc3b95d726bc067c88bca083173c475e9c3b83530f3a1917713b407e353cca5357bda96e7c3e7a5e863f8f8209be95115fbdb6cb6f3e4f44863f64fb17be04f823bd5ca2663e68ab613f7903c1bdf0f112bdfa89493e8b753c3f199e9cbd8f0fe0bc0d22243e99650b3fa9bf4ebd7583c8bcf03cf23d0165c13e26533abdea4a9dbcad7c913df34a593ee70b10bde57c26bc8895dc3c4e547b3dd3edccbce998debbaf5813bc16b529bde99e9abc344c403b2f9c203aa576b5bd4a25213ca931343cd90aa4bb54ef0fbe9cd6853cfed0113c41cda3bc662717bee97cc7ba68f5e93bbc7cdcbc1af403be981b27bc518eaf3b80a7e2bc5f3ecfbdcdf653bc2d78cc3b93bdb6bc9f609abd8925d7bbc5a2c33b89836cbc0c603abdeafcec386dd8a63bc075debbfcac90bc541c1b3c902bf43a1c5d063b86a1b43be3682e3c7285c2bce202643d6405a13f90c70cbe5340b9bc18512c3d3e139a3fbc4118be0360b0bc1b92873d3fea843f63a8bdbdb12f9ebce5df943d4fd5543fb68d68bd89697fbc56bf8c3d303e1e3f1fea11bdf62f66bc8a32523dfb90d63e146ef2bc577f0fbc3f76fc3c273f663e69acc8bc9674e73a95986b3cde1e473d949033bc566256baa56d2ebcbcf490bdea8483bc000000000000000000000000000000007200113c61f4f4bb73e014bebeb013bbf21d163cc0717abc4ca908bedee160bc0001c53b1fcdafbceebdeebddcb2b1bc249b903b2987b7bcf3dfbcbd9725b3bc2417763b711a8fbcc46e8bbd7e8188bc5bd9923bd2fd31bc05792fbdc90ec9bb5fe8173bd9855ebb5fe08ebc429a223b0000000000000000000000000000000000000000000000000000803f000000007533903a15cb91bd9a16a23f1c748ebdcccac6b9f7220ebd01ff853f173604bd205537baa88c34bc0dcb573fa3f203bc98a1faba70979f394cc6223ff08ec3ba266cb5ba56d8d4b81ff0dd3e4a9ae6ba50f0ae37370a3abbf2f3743ef448cabb737a283bfebb21bc3cfe5f3d5e0d3dbc0000000000000000000000000000000000000000000000000000000000000000ad82a3bcd730e3bdbf7cb2bc1fc4483cfea0e9bc3b16dbbddb9ac9bcc97e2a3ca5210abd05f1c2bd2ecbedbca14b863bc97b05bda1d6a3bd1dc6cebc8d084c3b7cb2c7bc53977bbdee55a4bcbc027a3b725f4dbc4b8f29bd1adc3dbcec2c973bf5d3bb3916a3a2bcc1f04cbb719d8f3b00000000000000000000000000000000000000000000803f0000000000000000872fc8bcbd18993fe9e510bd018163bc0996713b6c147f3f13164abc5ccf44bca377ac3c34624e3f90d7463b90bff5bb722ab43ccba81d3f6eb98c3bd9b002bc95744a3c2c97dd3e8bf634bb7e7023bca126c5bab765813e31a710bc4277f1bb78e88dbc0c62a23d88eda0bc39efaabb000000000000000000000000000000008d9383bb7b3a83bd11f94fbcdeeaad3b4fdeb4bb9fc5debd3b8b9bbc23fc8a3ce68aacbc3096ecbd051bf5bc3cc9523c8233d8bce446d6bd227606bd88db1e3c44bbc9bc9a90acbd0460fabc7766a23b434287bcbac188bdf3adbfbcc725f03bd783b8bb4bd032bd56f56fbc4521e73b5be7de3b5800afbcca27edbbbabf8f3be053343cf2e1873aff4bea3a41312d3b6a6bb5bd2e8a983fae66ba3dedd810bdfc6ec1bd715e913fdfd79a3d95e725bd69de21bdb600783fd134b83ded9f07bd206854bc7d32483f2f69ae3d5879e8bcc42d04bbef61163feabd923d69dfb6bca8070abce17cd23eb1b7463daddbb6bccfd683bc06f7703ed3bbc13c97ee8bbc1cc29dbc873d9a3df9a0e63b91a66ebba081cebc68e84abd045692bce8668fbbefcba1bb98d71cbd59e439bc7264553a831339bcbac8aebd1848f9bcf91fc83b54249bbca51bb3bd69b82abdbc19bdb98e91afbcb9c3b9bd072d2ebdcdaa123b5360acbccdf992bdf8e618bdf333c8bad0795cbcc6af70bd502bf3bc65b7543bd2acc0bb12481bbd45bba0bc6b01663b42fac73b333499bcaee720bc5b05c43bb3142b3c4ab00e3a42b2723a44bd773b647fc1bdc78f7f3f7d0f873e5f0b58bd9e52c8bda9827c3f8fb5813ed6bd6bbdfa8024bdd269513fb9e8703e670120bd481bf1bc9c25313faf534c3ed1a01dbd5cea61bc1c62043f83f8213ed572ebbcfc20aabc5662bd3ecc7ee53d8d5f04bd1031adbc87f45f3e0c9c873da0dee1bcd635e2bc55f99f3d3181a83c44558cbc49d2bbbc0f99e1bc380658bc51753bbca0a00bbcdbe2ebbcc3a882bcfb50c8bb29c938bcd0b487bd6da524bd1f181abbf2a884bcf778a4bd75fd53bda1440cbb989793bc52779cbd2d4955bdd9a375bbf04595bca9e886bd882f3ebd34a6b0bb22f629bcbeaf4fbd41fd11bde4a6cd39b7874dbbac300ebd523ebfbc5c2c853b14cdb33b0e397fbc4ab83bbc10a7ca3bf805d33bdd378b3af5f4743a5c67cf3b3a55a2bd2911513f8be5e53e44057abda5e9adbdb0fc4d3fb53cde3e63cf90bdc4c15fbd5d01343f06a3c53e801462bd44a60abdd057133fb0b5a43e7aa832bdf45abfbc9a92e23e154a813e14a413bd5017d8bc6af99f3e9ba4363eefd616bdcfabebbc2f6d3f3e03e3d63df0620ebd7aeaeebc75f0923d05bd1f3dfec1e1bcee45d2bc89cd8fbcf61a78bc088cafbcee3528bc51d19abc826bb6bc8de412bc3fc851bc07764bbdc2b452bdc0f2edbb7f7680bcff9380bd03a07bbd001c30bc0ed989bc8fc885bd876c80bd21e922bcff3e8abc3f5349bd15ea46bdd26a64bca71c27bcaad234bd504c34bdff6d8abba1cc71bb07f3e3bc92f1e0bcede1a33aedfb503b80804fbcbadf53bc4af3dd3b5c31dc3b754f443af989703af6f6043c914a8ebd7b58223ff8b3213f1ca590bd202693bdd3ab1e3f6aaf1d3f7694a3bd4c732bbd1df5093f09c7083f592a5abde4d303bd9417e93e600ae53e628f40bd1d7e60bc7b8bac3e8af9a83ef65fcbbcf318cbbc7199813eddc57a3eedb420bd57dcd5bc4d131a3ed90f123edc2c16bdeae0e2bced19713d52d3613d3ebf09bd5e82c7bc0c946ebc26b285bc341cd9bc2dc301bc5ea071bcdb06eebca1d015bc5fb6c4bb991028bd819484bda73612bcfe2220bc9c015abdc295a1bd9cdc46bcbdaf25bc737357bdbbb799bde0f058bc5a8f50bc733044bd94c983bd37dc55bc2772b8bb0eed1dbda6834dbdaad992bbc705fabacceccebccb6305bd5ff5003b183a833b84503ebcf8197dbcc7caf43bc7909f3bb0be873a5f160a3ad5b60b3c6cdf70bdbc4ce63e82d2503fb39ca5bdd57d84bd8ac0df3eba734d3f9a56bebd10c12cbd763dc93e6a8a323f173c86bd312ef4bce29fa83e8c62113fe69643bd3bf1a7bc35d5853ea63bdf3eb6891ebd360dc6bc647e3f3e8c229d3e4e3d26bde6ecc6bc9e05e53de4df3a3e3ccd28bd27fdb6bcc02d2e3dcbaf8b3d050313bda575abbceac151bc921ea1bc0679e2bc197e06bbc97c25bcf1bb21bdfd7398bbbe39fdb933cf00bd451aaebd80cfbdbb5210d0bb02f926bdb7d8aebd57e990bc7b11d2bb0dea37bdc8a2b3bdc8e98abcff5800bce01d1fbd6b628fbd969e85bca2af7fbbcfa9fabcd2f66dbdef51fdbb3a6e7dba2be4adbce0e516bdd909eebad9a9513be61726bc7e4396bc19bd0c3cafdb803b86b54e3ab685133ac6ee2b3c04e954bd4992873e71857f3fa61cc3bddec94ebdd66c833e24a97b3fb01cd5bd150ae9bc920a783eff34503f54ec59bd5017cebc32cb563ecaa22f3f1a5438bde58282bc5a102a3e811b033fe3d0f9bc9b589ebc966cf73dbc59ba3e9abe14bdacb192bce691923d92be5b3e548c07bdf76364bceceed73cfd67993da7550bbd041e44bcb32e41bca52be8bcbe14cbbcfbe91f3b170434bc983184bd7efb9bbb013f273c202aa0bc2979dbbd126883bad9206e3be6fd00bdda0be9bd24e477bc1e4bde3961b20cbd2cbcd1bd804ba9bcaeb71fbb0cca01bd80eaa8bd0ac2adbc13e1ff3875add3bc681083bd6c4946bcde34313b906884bce97b34bd0c3777ba70665b3ba9fcdbbb5d15acbc49aa033ce17d3a3b5aa8bf3a550654b99161443c793c0fbdf0d2ba3dbb8b983f0f95b7bd1e590cbd146fa23d642b913fd483d4bde072b6bca4cbc63d70f8763fe98b53bdbfc379bc0b72c23d92b7463f0bfde8bcdea126bc3cb0a73d883f153fd1838dbc254038bcacff6b3d9a53d03eb4b1bdbce8821dbcd637003d925c6e3ee811e9bc495830bb2a6b2d3c17e9963ddf79cfbc4811cbbbefc788bc00a34abda22fddbc000000000000000000000000000000001449e43b819fb1bc6b3ee1bdf53193bc2d4d513b4220d4bca89ed5bde7d9cdbcba0bb2ba654cf2bcca79c1bd6bf900bd71ba1bbb019ae0bcd8ad9fbd7481efbc3eb92cbac0eda5bcad447cbdd53bb2bc7a1a813aa56a56bc304b29bd1b7613bc5bb9533bfda484bbb44fa8bc9db7113b0000000000000000000000000000000000000000000000000000803f00000000496804bc3b4d04bdf10a993fc31c01bd4953eeba6a20bebba5e37d3fc0bcc6bbb3d5563b5a6f273cf7ba4d3f494d193cdcd1403b23c7503c66071d3f88a90b3c760bae3a5e4fb93b32e0db3e9a7093ba0fb254b9f2614bbbcc21803e59a12cbc2e1525bb5b577fbc4b15a13d71b6bfbc0000000000000000000000000000000000000000000000000000000000000000f9aeefbc6dd767bd60a5f5bcef353bbcb7b803bd73ca64bd4e40fbbccecf42bc701309bd27875abdb663fdbcda6377bce63bfabce70237bd3ce6dbbc6f1c65bc607dcabc3b4014bdce5da4bc4bb00cbcf7608fbc754ec4bcd5733dbc16b21bbbde21b5bb3b0d39bcaefb71bb107e1d3b00000000000000000000000000000000000000000000803f0000000000000000b647123d5a07873f4f43533ce5da683bc31a2c3d9161623ff739973c02f9c93bd6732e3da26a393f3bf89f3c95280f3ca906093d2b910f3ff058783c0eb3993b80a8973c8cbcce3ea2afb43aff6f8fbb5cf4033b2fa4803ef4401dbc932853bc19ce6abc6ca7cb3d953dc5bcd644b1bc0000000000000000000000000000000038f17abc8db1f9bc2c6f9cbc2c2b0abc8034d9bc524a5cbd4000d1bc3977a4bb248505bd60a270bd066108bd1fe959bcaac409bda0c866bd913907bdb6745cbc6383ecbc208d3dbd1025edbc146b66bc3ebdc4bc7c7719bd3893adbca73fccbb0b716bbccabac5bccaf849bc80c199ba5961e5baf06319bc00eb67bb97fa193b33c9503b1276103b34ff213bcf41703ba3c833ba76b8853f8e95043e2dc96fbce2212f3c38fa773fe034f13df05889bc0576063d1ae1513f1124f13d225a00bb7401113da6592b3f2a69cf3d725799baedecef3ce4c6023f54109f3d109846bb975b5d3cedb4bc3ea6de483dcdd96cbcd3cef1ba924a653efb9e963ca6ebafbc311987bca9b1b73d4ee6e5bb0952bbbce86eb0bc0441d5bc567ec5bc4f6fafbc29eb51bcb34b9ebcac486dbc6c6b11bc14a3d3bc8a5136bd694ef9bc008e59bc4d68eabc932242bda03a0fbd1f44a4bc9d1b01bd9afb51bd4f6514bd109594bc2637e1bc468626bd5533f8bccfa98cbc829bb7bc6c2c0ebd2fe7c4bc324d17bcdd8c83bc26d2c3bc52d07abcf0bf5bbbb07e0cbb2ddd20bc826bd4bb00119a3aa971973b04392f3bf767fb3a650b443b63ef3abcdd22623fa8028a3ea15b99bc4f48483b4c7c563f812c833e7a2264bc2fc4cb3c0515323f382c6c3ecbce2e3a70b6e83c3e62163fd369463e767f29bb756dbc3c68dbe33e3bc9183e40b514bb3f781c3c8b2fa63e51abd03d3ba781bc197032bb13d34e3e3e96713dfcf295bc220794bc87e4a83d22295f3c7578d8bc7aaca0bc5f6f8bbc9e7c9abcc6afabbcbe2260bc308785bc236283bc80aa5fbc5351c9bccb111abdf8a802bda1f89ebc7ab3f9bcce6f3dbd5c751fbd60ceb4bc54b9fabca8163abdaf621cbd22efa7bc07d7d8bc9a4321bd88a90abd2345a1bc5764aabc0e7e01bd6383d3bc29af3dbc87f351bcfd94a5bccd1c85bc9a0aa4bb15e556bb63e801bcf567c3bb65e08c3ac9a9313bdbf2fe3a1b21de3af710753b9a0703bc5ac23a3f95dfd73e289d73bc3e09633bab37313fcee9cb3ea01b4fbc0586b23c6eaf183fd786b23ebf7663ba6e26c13c7d94fb3ea1c0933e18d9f1ba048ca03cb8ccc13e0583643e836c66bbaed2ca3b92338c3e2bb6223ea06c92bcfc47f6bb5bcc2b3eae96b93d8046cdbce884a3bccdeb8d3dd954f73cf492f8bc7448abbcde1174bc342591bcfedcbfbc522768bc441e72bc22ef85bc780478bc7ad8ccbc778506bdb4b80abd61a8b5bc9c9edfbc0fd928bdf34129bdc438d2bcf69ee7bc054630bd4e432dbdf8e8c6bc825ed1bc4e3510bd32160ebd5aeaadbca6a9a7bcb2d9f6bc8943e7bc5b855dbcc3b250bca0b698bcc3408fbc099ce0bb6f9b9bbb9d6d07bca0bcbbbb3482e63afd05c93a3b2fdb3a51a6dd3a561d8d3bfdea15bcbd1b133f9536133f30a350bc1b5e543b48990b3fc8610a3f40670dbce1f2a63cb495f13e9418ee3e3cce733b8fedb33c7ea1ca3eb023c63e29eca83a9fb1a83c07a5993ed736963e2996293bedfa993b69bf623ec7d2593ef15670bc57e8ffbb88cc083eb0dc013eb3b8b7bc650aaabcfa3e5a3d5d12453df423f8bce10aaebcd68a6dbc93fc89bcfca5c4bc939f5ebc13c066bc9d0692bc418c80bce5a5bbbcc4a0ffbcdc621cbd4261c2bc1544d9bc7bd921bd78243ebd4386dfbc4bddd8bc8d9822bdc3ea38bda864d3bcc2f7c0bcdb9211bd80c421bdd978c5bcec7a9cbca463e3bc7b93f9bc253a73bcb3d952bcac2b95bc3be69cbcd742c7bb3f3f94bbe647ebbbb35afebb5a6ec83aa56ba33a3ecde63aac0dee3ae2caa63beefd3fbc096fd93e93a03a3f5f1964bc64b690392cb7ce3e8bfb2f3f6f410cbc4a57893cc8c6b63e641b173fb93b873bf5e39c3cf9fa983e6f09f83eae4e663b9d1b893c46156f3e7fabbe3e51c4d33ae0f37b3b2f3c2b3e078a883e9aa34ebcf8c518bc9703cb3d4d4b253edd6cbebcfc71a9bc18d5163d4ed5853de1c300bd632db2bc7aab75bcd1fb8dbc607bc8bc05d649bc9a5667bcf71e9fbc7d3d5cbceff3a3bcc58bf0bc3e8835bd6955c7bc4c96b8bce5d00dbdd97542bd3aaeecbc613cc9bc318219bd595350bd627ce9bcdebfbbbc835e05bdf1d821bd4cccc3bcf77a90bc72ddd5bc724e08bd2c8285bc1ddf43bc66628bbcb5e6aebca4d61abcea3c97bb82edd4bbbf7e10bc51539e3aff989d3a422df63a19ea0f3a2deccf3b80f966bcf4e68a3eecab613f786679bc3de84fbb99ca853ee2a3553fc39d13bca0167c3cd9ce713e4bc6303fd786263c6028993c91eb513e1fd1143f5d62d43ba177843c3e94223efa03e13e1bf0a53be7c8393bf323e63dc9f4a23eddcb24bcae7bd3bbb644863dbf0f493e544887bc592da1bc3c52973ca01ba23d8e65e8bca550a6bcddf582bc2a4095bc6f25babcc9f536bcf10096bc6939fdbca73093bc00e261bc10ecddbcf52658bd7e7ec5bc3425a9bccbb90dbd84d76ebd3b5ffebc6541afbcfc6e0ebd0b1563bda96df9bc8b49acbcd8e6ffbcf78a3abdd7d2debcf54780bcd9a3c4bc888114bd6eb993bcf8352bbc8ca67fbc06aec5bc3b11f1bb60eb21bbabb89bbbe9c022bc94d0b33acf79843955189c3a7055a03a75fad13bf0750fbccf08063eb061853f2e968bbbba5147bb10b2ff3dcca3773f10a121bb8376883c5ff4023e2d1a513fdcab843c7f9ea53cc189e73d442b2a3f72ff843c123d993cd339ba3d98fe013fdecb313c11ecb53bfb83753d3a5cba3ee30d82bb5734f4bb0a6af13c44a8623ee27586bcdb0688bcf84b4e39c330b33d59a3cbbcd90caabc427aacbc848fdebce45fd2bc00000000000000000000000000000000dd7284bc0534f1bc624864bdacb6f4bc01ada2bc7c11fbbc987f60bd3d8501bd01c7a2bc115003bd72eb58bdcecf08bdf90397bc5048e6bc928e34bd4e9cecbc35676abceccfb3bc377517bd8c2dbcbcb2e31bbc29e36abc6af4b2bc7f6246bcb21772bbf55cb8bb755037bcbf7ce1ba0000000000000000000000000000000000000000000000000000803f0000000006be723cd77e9a3c04b4863fbc29c33c1f70c33cc966ef3cf5cb613f495ad83cad28df3ca6c6033d8ad8383f732add3cd4b8ac3c8210c83c6cd00e3f80a6933cc1e13e3cdedb5d3c0291ce3e4721ab3b08704cbaa992baba54ae7e3e311a15bc305f6ebca86490bcc612c93de9d8c1bc0000000000000000000000000000000000000000000000000000000000000000e8322e3c788b32be895a953cae25d13b316ffdbb816922be6d14083c1234193cedc9b0bc26ab0fbe14fba1bbd9943c3cc905b6bc864ce1bdd6b1ebbb02d7d73b664ca4bc159b9fbd0e1cefbb79f5c93b2ef82fbc1bae31bd8a8000bcc6e6803bba7f81bb516815bc663e49bb7e29323b00000000000000000000000000000000000000000000803f0000000000000000f684e8bd05c9ab3fb8fc04bea49c353c157775bdee698d3f1530abbdf49e073bdcccd1bc7e33673f112056bd174f8cbb0174acbb090b2c3fe297f7bc40d81ebb1b6d083c680ddf3ee56d72bc4404c6b9a0e6aa3c620c5b3e200c7d3b8ae25f3ad4daad3c3e44a73b99885f3c1ae46cba0000000000000000000000000000000003c6c13c85ded9bd783d753c52b1fe3af9f9e73c22751abe877f873c5e95a13b20be143c212d2cbe6f4e773aa10f4a3c0ef89dbb9cb517beaf2717bc1a656e3cd13227bc84d8efbde8ea6bbcb9843f3c4e5305bc6e61abbd655448bc0517f53b3a2db1bbfbd13cbdcea22abc485f0f3c3edf2cbb55aa6fbc582c00bcdf9d8c3b24a0e93b630b2f3cd384d13af033b63a1d5f4cbe80b7aa3fbf671c3c45e561bc221f3cbe35599c3fca840b3c9e464fbc86c70bbe9add8c3fb729a53c7720c3bc4dfabcbdb025653f071bef3c520abebca88250bd9210293fedcd1d3da005a0bcecb794bc2c4edb3e63c31e3dc94281bc048ce83beb64503e870c223d07f866bc73a9013d6d27bf3cd2c3253da83a30bca965803ce043eabda1b6173c9585193b382bb03cd45283bd89cc3ebae59cc53b70b2bd3cae6f04be65ec66bc9ace6a3c878b1b3c5c500ebe99afdbbcd7fb7d3c5ba1ba3a2a6c05be092d01bd83c68d3cc6b3cebb4c5dd0bd8810f4bcb2ae3f3cc65518bb4cb99bbdb253cebca5c6463ca1d20b3a304a31bdb0df7bbc1af8fa3b2a16393b242c74bcd51cdebb040cb43b412d0b3c9bf37a3bd40a233b83c75f3b11034ebe147c8d3f5e866a3ee6ab7abd110a50bedc818d3fe514523eba8282bd053520be06627a3fb539423e888171bd3fc0ecbd37984d3fb5262a3e9b3e54bd9eb891bd50fa173f23bb0f3e705c19bd2e6420bd91d9c83e6b45d73d5441ecbcb1d83dbcbd1b473ed6878a3d5bde6dbc9b47403c45f3ff3c5416093d951ab8bb873f3f3c59b18dbdabb4faba72ff213b8faa5f3cf8193fbdae56a6bced2a4c3cc319993c2f98c9bd29e52ebdb715b03cc883373c4aa5ebbdd4fc5fbd2649bc3c221e6d3b23c1d8bd743865bd34a38d3c4902543ad1e3b5bd0d2c4fbddfb4763c6954c339614287bd43ae13bd2c273f3ca5d1143bddb022bde62ab5bc128e1d3c7a70da3bf4d884bc3cb0ecbb2f36e33b43612a3c6d0dde3935edab3b3a59be3b73d43dbe8dee6b3f3978ea3ee74ae3bd85d542be16db683fb2ccdd3e933eecbda1101ebe00fa4f3fd101c73e8676d1bdb584e2bd05cc2a3f72e4a63ece2ea5bd7d279cbd787b013fa561833e050483bdf41133bdc94bad3e0a68353e746a2bbdcfdf8bbc220d353eecb6cb3d9933b4bc5e867d3b8eea283d29d0083dc76b91bb3a0a3d3a260440bdd203c0bc118c913bb678193c51cff3bcc35415bd70bf853c7796723ca0e08dbda71a99bddd4be03cbf1ee53b29c5a8bd4056acbd7ab7a23cb261593b9937abbd81b4a5bd940cb03c21929abb1adf82bd49e17abdafe3ef3b21d1a73ab78355bd4ef34abdded91c3c99dd223b69f108bd95b3d1bceddf243cf07ab63b7e5c77bcb93a01bc64b3e03b6f770d3c0e0e74399346053cf792da3b60381dbe04f5313f426c313f81351ebecb681dbe64bd2e3f0a722c3fb3c325be5bbbf7bd51721c3fe014183fd2be08be5dc0c6bde678043fc33efb3efeebe5bd1de160bdc4e8c33e9531b93e8a4189bd86e02cbd794d8d3efb38803e7d6d5abd0e078ebc0dea193eba78003e496ac0bcdc7d4cbad1a13a3d0de7db3c4b73a6b91d94ad36249eebbc0dcf2cbdab30e43bfb66093c9b373cbc49b570bd6834aa3c16fa543cc40225bd9cbbdabd580f0d3d5510313cbcb767bd3f9eefbd24f9e03cfe98a93be0f676bdc1ebd7bd7802a53c513b533b9a4261bd779ab4bd9392683cf30d4c3ba09c33bda1c27bbd93f2563ccfc3343bae35f1bc19a80abde516193cdc58923b91c756bcf96818bced09f13bf2c3c83b5f21c9b91c7cf43b6ee9023c9a1ee1bd32c2e93e35336c3fd85d3ebe0dbae2bd783de33efc12673f84db4dbe67cebcbdd494d13eb0494c3f34682bbef4e98ebdf84eb33e6d5e253f985201beb83c53bdcfc5903eda5af93ee616bcbda61705bd199e4f3e49aaa03e712566bdd43f74bc888e003e87521d3e7020b6bcacd35ebbc71a4e3db31eab3c1248c43b561e1f3a853f4abcad227cbded24193c4bb65b3be469913bc93396bdaf6bf93cc347e93b8e0170bcacfc09beafe2183d8ef3fa3b68e201bd94f612be9d20df3c32d4b93b224419bd17bf06be11bea73c21f8d63a67dc13bddb30cbbd4f3df23b38e80a3be37003bdc3ca93bd5c0d283c493ded3ade29b7bc62f21dbd80c7103c3b74143bf94857bcbe7520bcde63a53b24b4ae3b526bdfba12321f3cb1539d3b318375bdb12e6a3ea5cd8d3f16dc4fbe213964bdbb885c3ee5cc8c3fa0c559be43fb4cbd473b563ea74b773f3ce32ebe497a20bd7d04433e4875493f93be08be47d4eabc9b0b263e74ec133f9b81adbd275990bc224f053e72debe3e0ff257bd529c01bc211eb43d9e5e353e5ce299bc9de9e6ba36f84b3d7e49813c01ed553c014478390e32cf3b1774a4bdaf10a83cae23213baffa6b3c2925e6bdd56b063d2f3aab3a614f1d3c7e7e20be08163c3d9543d23b63f207bc35812ebe1f8ee33c5554ac3b8d4c9bbca56f1abe0513843c97bcd43acbcbb4bc8ed0f3bd0722e33bc549213beb58b1bc1b99abbd7657753b3c8d66b616a386bc38b32fbd00af2d3bbe3045ba096849bc2a7121bcdf1cb0ba56e8d43a9f33cdba2ee4823c0cf57a3b2a394cbcf556383c179daa3f46e74fbe1cf0c7bb63e8a53c9bce9b3fb43448be4e0659bc57d4223dd4a28b3fb1291fbef99651bc68a1623d9916623f6bc8e9bdcf1ecabb224e7a3dab80263f110491bdde9076bb49737e3d508ed53eec3518bd2a3023ba904a663d2102443eddc4a4bb2cd909bb8db8503dd3c0363cba0b023df8c1023b9907643cfbb4fabde1fab63c00000000000000000000000000000000c8d0893b03cd3a3cb19e36be7a8bbd3c879c6a3bd37d08bbaa3f24bef400f23b905bc83af7bd42bcc0d510bee0d999bb63a7d639edea80bc0529e7bd1e5d1dbc5effc8ba5ac258bcad409ebd65c51dbc41b8f7ba728335bc90bd37bd7dbe3cbb46d73cba0ebaa4bb827613bc10c798ba0000000000000000000000000000000000000000000000000000803f00000000ec91893cf0d9f5bd47f8ab3f403401bedaa72d3c42ff89bd97578d3f87bc9dbd6235e63b04d30dbd225e663fb2c439bd20edaa3ba4e855bcc15c2b3f3121cbbc90850a3c3684863a8b56de3ec11ffdbb423e033c16b88b3cf3c8573e2c562c3c7d6fde3bfbd0913c9663793b30cf883c0000000000000000000000000000000000000000000000000000000000000000e27a43ba9e6b21be4f26083cfedc9d3cdcdb9cbc83ed10bec0eaa4b97dcc9d3c77b317bd6a11fabd647223bc8494843c772017bdb4acc4bde8f12bbc1121323c7d4ce7bc02608ebdb63f01bc3722f33ba7db99bc343b2cbd9a3ea3bb6933893b80ef9bbb180e58bcd7d222b9b12382b900000000000000000000000000000000000000000000803f0000000000000000a311bdbd8f2ea93f9af8edbd55545dbc901a0abd7f198a3f8a8690bd8c3c9fbc3654243c65145f3f5eef26bd1a0cabbcd5afc03c2f08263fcba3cdbc881389bc28c4e13c0b4ddb3ea1628bbc142f23bc5d50ec3cd348633e66b6c9bbddcd2f3a02169c3c5b40a13ce572d3b868fd083c00000000000000000000000000000000a8abbd3c62a6d1bdcd47bd3ba7fd1b3c5951d43cc1f019be63ea183c1103803c7b8cbdbba8ff19be1dc204bc6b7cb63cfcaea8bce39005be50855cbc2d81a43c31b2efbcfbcdcabd3dda88bcc1e15b3cb487c3bcb7b297bdc0f84abced9d313c452e64bcbba535bdedd7debb548cac3b597a0dbcac9985bceab821bb3fa387b76ce1c63b9244e53bab5f493be2f2f3ba7e583cbef633a83ff7ffdd3cca65debc9a9a39bed50a9e3f3c078a3b6720d9bc69a8d2bdd21f893f3371023dcffe34bdb88053bdfea55b3f3dbb243d10e92abdf90d41bc30a0213f57ed2c3d9dfbfdbc3e1bf33ba24ed53e6591053d84f8a6bc7fe3a03c71d3533e281fbe3c9c93f6bb069e273dee43bc3ce959ca3c214d463b417c483c3f59d1bdeada1dbb0bdb2c3c8be4ad3c10f987bdc37594bb38fb233cf7fa9a3c592e02be033ea6bc82e1b73c4fb8b8bb00f900be984cfabcf91ab63c85c781bc6dfef0bd16a000bd2ab1a93c3dc3b8bc5f95b7bdf7efeabcc77a4d3c9db38abc2dc38dbd328dc1bc70dc3c3cf7692fbc199725bd6f0d5fbcc2a9f13b001a57bbc29289bc0b1c92bb7fea883b8196b03b1a4a3e3b3982353b8c16ba38e05940be68688c3ff1ee733ebfe687bd447c3cbee5288c3fb2ee593ebfcf9abdce24e7bde65c703f16194f3e4b2997bd724396bde19f453fe48d303ef5d185bd7761e8bc87a0103fa2390d3ed9ec43bd8fb535bc02a0c43e91e1c43dbe4c0cbd0573ba3b8534493e7f99663dc8f889bc3b1ead3cca670e3d48faa43c098b89babcaf403cb3e885bd4b573bbcdf64263c0143673c32fc4ebd1f5dbdbc881f5e3cb7a7753c77bfc9bdc84d36bdc6fad43ca36621bb3bdee0bd9a7159bd8634d93ce36c57bc2968cabd8fa84fbdd1d4a13c3b6e96bc1330a7bd890835bd38ab793ce5c47dbc914979bdccab03bd7520553c91d207bc9a141bbdb08aa4bc69b10c3c3fa865ba430889bc36e9e5bb4954ad3b5e07ec3b5a42f33adaf03a3b8d18323b07132cbe7a01683fb918ee3e638ddebdd5e32ebe56f2653f91f2df3e50acfdbd3490edbd525e4a3f7f97c63eaa89e2bdb73c92bd22ec243f41f2a33e3600b6bd8d1e13bddd61fa3ec2357c3e996690bdd64078bcf742a83e6f2e2b3e2d3c45bdbb024d3b1d51333ec4cdb83dc97fc4bc18a4823c8c531e3ddefcb73c9c970c3a2eb4473b154744bd4ef2cdbcf539dc3b76623c3cb4ca11bde66017bd9193913ce7903d3cf9d599bda2438ebda7a2ee3c0730a8bbf215aabd71ea95bdf463a93c3e8731bc973daabdce1e8ebd906e9f3ca038afbcfff779bd0e8751bd7465903bfaa064bc40af57bde9942ebd4665453cc56601bc17a002bd306dbdbcaf0b043c88a322bb44fc5dbce40119bc3944ad3bc7589f3b514eeb39e77fae3b1cb1a33bcd7e12be558b303fbe8f303f338e14be80590fbe105f2e3f31262a3f3de424be7b07bcbd5dee193f1055133fccff02be3a5980bd78a1013f07e5f13e1457e1bdf8acb5bc1922bf3ee690af3e4f0985bda06657bc00078a3e1285713e73786cbdddf91eb9ae58163eaceef63d6fdcecbc46d1563c5901273d5fc4cd3c23ac6cb9f0c0763be6e40dbd1dbc1dbd3afab53b26b1243c1d73b0bcb78b58bd89999a3c27a03f3cc6df5abd95d2c4bd5b2e113db5f3473a444e89bd21d6ccbd98e9df3c23ccf8bbed9585bdfd28b5bd3374903cc85d50bce8826fbdcb9493bddd2a503c8ed138bc523c38bd333a53bd24e32f3c3e8204bc667be7bcca0bf9bc523e193c4a926abb15b957bceb823abc55a7003cb554ad3ba230993a5b2d1a3b50aba63bf075ddbd5c50ee3e12d7673f3d212dbecde9d3bd424fe83e3720633f776146be6f7596bd3651d53e5154443f112522beee4632bd3373b53ef8771d3fc8e8f4bd11cdc0bc866b923e2901ea3e3ad8b6bd2a3dd3bb81da4d3e6d429a3e640378bd4201f53bb427ee3d410b1b3e174ffdbcfded6a3c6158223dee07d53c8d03803a5e84603baf32a6bc8b035dbdee16ff3b0fbd073cc425c9bb9bf38ebd1af4eb3c511e0f3cf065f7bc2027fdbd8683213dfe3d0139175834bd8fcaf5bd5433bc3c0b14c8bb1d5647bd779addbdf435963c089b43bc39c831bd05f6a5bdcedac03bb5371ebc581119bdd51a79bd8577133cb6ba09bcdfcab1bcd4650cbd19f6d33be9b699bb7cd51bbc918759bc0d18bf3b1b6dd93af69da33a191fa63bab89853b515285bd6783753e2e748c3f3a5842be450d67bd17b56c3eade78a3f335856be69542cbdaea86b3e88146c3f26711dbe3f7ecbbc5313573eddbf3f3fedc101be092b06bc20e7333eb4130b3f85eaa1bd5ef7633bbefc053e6872b83e476e6bbd4d512e3ca8a6a63df32b383e22feedbc9002763cbfba0e3d7b34b13c4b9efd3bde0ef23b4c72f5bb375b91bdc8fb8f3c08ea033c0657303bc18bd3bdde4ff73c166acf3b272c9fbb969617beb69f4a3dad9bf63a8f5ed3bcb35a15bec901d93ccdc578bb53930abd2f70fdbd8432583c2ca12fbc16fa03bd797ebfbdcd13573b479034bc1463d8bca4028ebd9c4fa53bb4d305bc611190bc8f0f29bdbce4ac3bb7cc03bc694207bcbdec49bcb6270abaeefbeeb83f5d303b7570003ccb65973b2fdfd9bc3a03f23cd25ba83f82de40beb94931bc959abc3cd6279d3f3b4754be9d2360bcfc067b3dbadb873f82c217be9dc97fbb516f9d3d6363583f235adbbdcc34e03b6e7fa03da5c81d3fe3cb8abd0b5d713c4690883d5ce4ce3e0f2436bdc8b39f3c5bf3473d3127483e2b0684bcc9b7a23c3ab3113d8903803cceddd43cb052173c85894cba75f8d8bd2f2d843c000000000000000000000000000000009428093c7ce5c7bb8b511ebe21b2a23c610b4e3a307f91bc06520abed1aaeb3b32b791bbe21de6bc90b9ebbdd3a21bbcbed125bc4f52e3bcdca6b8bd47a13cbc2ee71cbcfa3eb3bc275e84bd2f33ddbb72e515bcdb306ebc848519bd715769bb483b9fbb5f3baebb05c547bc5eb92d3b0000000000000000000000000000000000000000000000000000803f00000000e4c43d3b82b8ccbd45ada83f1d5fefbdb9b0f93bcb013abd667a893faac999bdc3f83d3c426c20bc8ad65d3f749f2bbd10e8973c77470c3c802e243f6a8fdabc37f9b33c79af323c594fd83e41009ebc32d7c83cebb26c3c320b5e3e30d095bbb011ac3cdf771c3c85e18f3c5113323b0000000000000000000000000000000000000000000000000000000000000000432f1fbde9c5c3bd534c9fbcb184103d9b4560bdc6acb1bd3f5d7bbce70a0c3d8c177ebd004a9fbd34f898bc5ddee23c2a9357bdb77976bd9f0498bc4433953ccf9832bd8a0345bd737f27bc0ab3923c043ad3bc5036f6bc5b9b07bc688d2b3c3f73dbbbeb845bbcbc2e1dbb2cf2a13b00000000000000000000000000000000000000000000803f0000000000000000d23499b98808983fa66a2fbda9c063bd81683b3d215c793fa499cdbc54de7abd319f933d8a0c4a3f336248bce69262bd96418a3d7d5b183f83111ebc06243fbd17c55d3d52b2d53efb4182bcb4d23bbd16a90a3dada5793ee16988bc4256d9bca8a87c3b5f8f903d9179b2bcce99fabb00000000000000000000000000000000955035bc74866ebdbd637bbc56fc8a3c9575f7bcaf66b6bdac4990bca7e5253de3b260bd640eb7bdd3e5b1bc04b8153dd8e37bbd9ef3a2bd1beaa7bc264e073df1bf62bd1f6977bd72c59abcabffa13ceac639bd1a4547bd21bc62bcacb6a53c353dd8bcf65ffebc6e4b12bcba145d3c7b890abc521663bc0db3cbbb567c893b037e003caf39c73a0202bb3a934288baba7faabdaf5b973f8dadc03dada94abd5bec70bd749c8e3f3821893ddc83a8bdc48dba3ce18b6e3fae309e3d6401a8bda461623d50663f3fbcd2863de604a5bd1389763daff40d3ff50f693d8c0974bdbb2b553dc712ca3e18a0073df72a6fbdd301033d3bd2643e17ba423c8f7f23bd2320643c45a5923d7130ae3a9a73d2bb573496bc68ab53bd11e491bc2a618c3b8467f4bb7a9716bd5ec489bcb1214d3cd38701bd680c98bd4e4dd4bcf849e83c770b52bd3a0e99bd7f1ee6bcc226d13c05fc6fbd4ff091bd67f4dabcfe63db3c2cfa50bdc6ff5dbdbfafbdbcc5ed6a3ccaa42dbdcf2a36bd50a38cbc271f883ce3f7cabc8915dcbc290035bc6a68213c7e93f3bb078a6ebcc0a5b5bb3c3cc93b3006c13b5cd3973ac206e839672af7b9c07cc6bd45f07f3f3013873eff1a82bdbe617fbd6dfe783fbaad733e1133bebd64d5493c37e34d3f4d0f5b3eadf9a7bd85cc223d50c62a3fa824313e83ffb3bd37e5433d1d03fc3e03b30a3ef10d84bd232f283deceab53e9a51b93de90f8bbd4ec7b83c6797533ea882443d7f7c3dbd19f6dc3b4066933dd6af403ccfc3b9bc9f5879bcfea9f6bc6af56cbc6bfe5339d8ce39bc0ccde4bc989f9ebc4b10a13bbd2602bd50e577bda7fb08bd09a3ba3c408f4fbdf1ab89bd3a9111bd9f7bc33c5dc066bdf8d383bdb6d305bd84d0b23cb0734ebdbc8550bd41d2e2bc2858493c494927bdde9027bdfb8faabc76d17c3c195dd1bcf792dabcbe1e60bc3b37383c5be714bcfea657bc922adabb8d3dd83b4c45ae3be332883ade204e3a3e00be3a1faaabbdf586523faa7fe63ef1329abd724e6cbd1b1b4d3fca2ed63e568cdcbd7cb6053c0d452f3ff085b53e0b17c8bd3adf183d990f103f6995933ecda1bcbd0bf0393d408ed83e36645f3e7e7e91bdfbb51e3d1a729d3e382c193e276f9abd3458ba3c74ff3b3ec6d9ab3db96266bd1566b63b2dc78c3de9afdd3cf448f5bc79ae8dbc547fb8bc346d91bc36fd26bccce529bc07f5aabcfe40c4bc9672e23ad783f8bc07334bbd05842dbd2ce6983c2cf43bbd93806abd0ce234bd6982833c752e58bde0296bbd0f9821bdc62e8e3c42213ebd784831bd84ff00bd318c713b760622bdbcfa1dbd81ceccbc3d29663ce49cd4bcece7b3bc10d27cbca82f193c2a511abccfac41bcbd86fabb2642eb3bdcbb723bdc01173ac8a3a43acf8f3e3bd34597bdb66c233f089e223fd23bb2bddd183cbd8aa01e3f9fe0183f7ea5edbd2ba5373c59cd093f83daff3ef851c4bd1c9a0f3d4305e73e299acf3e4838c3bd774f2c3d24a3ac3e29fa983eb6af78bdd3071f3d6f6d813e319d573ec4199fbd1e34bb3cb178183ea726f43da6be73bd748a0a3cf1f0703d9cc5253db0d319bde3d27cbcd55c85bc45e7adbc401273bc1e75e3bb1e0e8dbcb96300bd72e48f3acf62b8bc2cb62bbd681a5bbda5106c3c49172bbdc12c50bdc1935dbda9897c3cbcef44bdf77f4fbd412247bda658613c589939bd21e133bd897b15bd9b81eb3bf94e17bde9db0fbdc7f6f7bcbbc0513cd131c9bc6063b9bc361b9abcb637323c7fec21bcde7043bc14c20dbc1001083c9be4483b6a5d453a9ff98e3af77a6f3b927582bd1b70e73e6935523f6f8bc4bd8d6f21bd7027e13e2d2d483f423a03be21b3443c248aca3eea5f263f9607d9bdeda8163d7605ae3ea4a5043ffc2dc2bd9f7d333ded81873ee591c43edfb795bde33c293d9cd8463e3b1f893e3094a1bdddb5de3c3a04f33daf461c3e95a682bd8758323caa77433d0f204e3d7ca61cbdc9f137bc737f73bcc9e0d3bcee4c86bc6e0cceb9406258bccd9f25bd0731a53b99b78abcb45b13bdbaac8dbda510803cccbb10bd169d36bde6417dbd92cb203c829632bd936c3fbd84c669bd11273c3c607530bd344c1dbd408929bd9ae3613ba71811bd9ba903bdcb760abd28cf2e3cea80babc95b1a7bcde95a7bc5a92093c13a82ebcc55233bc5ccb22bc8c0b183c8b47e53a3bd031b90f35b63ad9e49e3bedf061bd1d0e883e12a37f3fef91dcbd6d8ed3bc24df863e679b743ff57d08bee78e983c4e90813eec4b463f59fabdbd91ac233d5382683ee99f203f3648b9bd8dae3e3d89043c3ed159ea3e5a1087bd78bd383d54950d3e465ca43e77009cbde5dffa3c74c4a53dcd713a3eb73670bd51b5a63c22a8023da0f9663da0d91dbd95be86bb0ac63fbc56f009bd33d554bc37437a3b635583bc6eb674bd74dc413b863b9bbbd9e5e2bc654faebd48a99b3cf71beabc10a325bd0941a0bd1bb9463c069215bdcce229bd019487bdda941a3c429b0fbd362417bdd03b4abd9fdceb3a7df605bd2516f9bcf50d1fbd3fa6153ce9b1adbcd62f9fbc15c7cbbcbd591b3cf7b737bc38a12abcdf1f43bc6698163c6dfe1e3b1a782eb9211b143b41f0c13bee471dbdf29ac53d8837973fea35c6bd55af8fbc7c81bb3dd97b8c3fb86f04bef10bd83c77f1f73d46e1673f6f8ebebd752f313dea8cfa3d24cc363f592ba2bdbee8493d2f14db3d53e3053f288c6abd956c5d3d1827ac3dfc4cb93e92d489bdc247283d277a463d45b74e3e151c66bddf0c043d65d7a23cc0cf703db586f9bc946708b9fe9680bc0f875bbd97a68dbc00000000000000000000000000000000486ed0bba172febc7673b7bd5a497c3b9532b7bcdc0d0fbd17b299bd273c3b3bc23802bd70d822bdbf6a86bdbc19d2ba75a302bddbfe09bd28c851bda51d93bb455dd5bc22f4ddbc7d5721bd8ffbb43a6b1a99bc7d3c94bce40fd2bc5e05923b73ff07bc5e970ebca0a619bc47ddde3b0000000000000000000000000000000000000000000000000000803f000000002e831f3be6d091bc606c963ffedd83bd1211003d36b56d3cefc1733fdd904bbd952b583d3ef2143d6140433f127920bdcfd2603dfdb4173d9d03123f80e00dbd22164d3d15bddf3c2029ca3ea9c035bd36a5323def0e843c2c11693e84df25bd5b1dc43cdca5a7bb6cc6813da37f08bd00000000000000000000000000000000000000000000000000000000000000002058ad3ce8a337beb9981f3d787eaaba338790bbd8931dbefd74833cb4f75f3bc10fb5bc59fb0fbe4255ad3bbda1323b5260dfbceaf5e1bd1e4222bbd3370f3b5aa4dbbcbb3f93bd19ef07bcf38943393ef7acbc990720bdad010dbc480a55bb15721fbc5090ffbbd67d72bb838ca0bb00000000000000000000000000000000000000000000803f00000000000000009bd6fabdb8bba83f255f20be0438bd3cf11b5fbda0cc883fb045c3bde168433cb57adbbc5130653f40a78ebd5254553cbf22613b6e84283fa39c0fbd4a38343c6e02e13c7897d53e6572c3b961fe1b3c344f223dedd3553eb39ac73c2524033cbb49273dd4cdb53bef3d153de18c243b00000000000000000000000000000000536d093d73c9ebbd4399ec3c6faadcbbee70d43cbb9b0fbec0d5b93c110b95bbc07d2f3c2c5029be9689083cad10073c46a68dbbc51418be7fd6e5ba131fcd3b189469bcaf68ecbd824b0dbc1e83573b15618abc956ea1bd847c66bcacab923bc0376ebccd0b29bd630f57bc2a3c29bac56241bccde168bcdbce28bce8c426bad01ded3ad7bb4a3c697fdf39236e1bbb417056be1434aa3f3a4e65bc5abc38ba66871bbe5566933f0e67733caf6fcebb238808be5a1a893f3a6daf3972bdebbb162cb1bd0f175f3f571e753c6bca83bb3c232fbd01f0243f8f03063da7d4c4ba20d686bbc288d33ee297433d9a27d5b925dcb13c28bc493e134f653d76e8923ad3af0e3d323c313d2ff4423d4f2fc8bb8433f23c4c0beebdd48aca3c33caebb9394bb43c49bc93bd6bcc443c89e434b9ceafbf3cb73b08beed60cbbae8d0ba3b24534f3ca89917be3fe175bcde4c1d3c24f183ba853007be5e1ab0bc24bd283c5ae209bcd192d5bd68f4d2bcf414873b65822ebc1f4295bd57ffcfbcc7f1ca3bb0bd1ebc8fd721bdeca090bcab673e3ac6c29abb83e94fbce88f29bc154f603a613bf03a21cc533bdae9e13ad0e0df3a3efe49be84a88c3fa38f573e4a3140bd6f4a47bed7db8a3ff19e373ed36e42bdccdb26be5c747a3fb4ea1e3e4dea21bdc4e6e1bd46394b3f16830e3e6ef40abd9ec08abd13e2173fa0c4ff3df5f689bc5fffd8bc81e2c23e976be23d11db6fbc99f7e03b18073b3e2fd2b03d394999bb7ef7a83cdbc10d3d855e563d518110bbb74a9f3cc9ba86bdbf02003ceff7813a2e067b3cbc2562bd809114bcd383f33b52e3b03c2a83d4bd9c580ebd7954643c0c46733c3edbf6bd06de52bda68b913c3766913a1cf0dfbdaf4b4dbdc932453c54bca2bb9125bebd03923ebd190b173c053403bcc00382bde30824bd2c67c43bdb6903bccd351cbda5f1c8bc11d5893bbd8c68bbd13084bc4c7c3fbc03ec733b7862b23b48f09c3b6a393c3be360333b678f45be7e3d6e3f229ddd3e7b18d2bd96e03dbe05a3643f9513d33e871dcfbd35f51dbee8d14e3f7c29b83e90e4b0bd5135dfbdf8442a3ff84a993ead1c7fbdae8f8cbdcd38013f0f79763e702e31bd3b0debbc29cca83e5c233b3e1bcac5bc4184983a62eb2d3e049de63d4093e2bbc7fe6b3c1e6e343da2983f3d6659543b8d64243c31f557bd7d5e48bc48210a3c7d19533c413f14bd00eb17bdd982803cbbb3813c1bc391bd09e58cbd057d9f3c87052d3c588eaebd891bb0bd52eba63c979d6b3b420cb1bd45d1a2bde517763cac2de3bb91a189bd788288bdb7e69f3ba808efbbd98b60bd3d8b4abd1265e73b522f04bce8df09bd9eb3d7bcf716493b44ef0dbbe7af6fbcfaec33bc0c83783bfc19263b828ca8ba28e6b33b377e783bca2321bef063313fca86313f22aa1dbe312917beb7632a3fdd35283f87121bbef400fdbd4ab2193f2688143fadd6ffbd176bb5bd3e99013fe488f33e6e74c5bd973e53bd05d0c43e0bd6b73e4f246dbd3550ddbc63ac8a3e5243773e0105fabc306510bbc018193e62f7023e2f6856bbe7baf43b06de413d8449163da3f2263ca466043ce581f7bcfd3814bd2313773c4730923b495a37bcb9f65ebd255c9e3cf4dc293c4f0a12bd9313d9bd3c43fe3cf707493c38d95abd4e0ff6bd36e2ce3c9363943b2c685dbdaadfdfbd1bca883ca60048ba0ef955bd9c1fb8bdfaf9243ce130b1bb8b4b2dbd009b7cbd273eee3bc2c5b3bbb0bdf2bc4cac0cbd6221923ba839aabbf2095fbc279259bc8d2b883bf6e8943a64316339df46bc3b373df73b6235d2bd3488de3ec33e6e3fff9344be727acabdca3fd83e7543623f09b342be6124acbd1c5fc33ed9634a3f53a427be2a1970bd60aba73ec995233f93eaf4bd110f19bdd3008a3e914df43e40799cbd6975a5bc7d63533e21d79b3ec8d013bde19d8abba794083eae12183e571deaba361d6f3bddde733dfd7afa3cb7b18c3cca5cdd3b522103bce7ed71bdf2cc8b3c1fbeeab9e0ee153c5fdd90bdac74e13c48408a3bfd3988bbfdf60cbeb2740a3d8bf01a3ca098aabc3b201dbed71bf63cc771883b2f77e7bc0d780abe8668773cc8e23fba9b2801bdfe11ddbdb72efe3bce6e7cbb917afbbc60059cbdb01cc53be87dd8bbe9d7babc7eec1ebd1f795d3babecb8bba3d855bcc6a568bc5fca873b424d5239d1ed94bad402d83b1c53963b6cb747bd6f04563e90f48c3f7c224dbec3ca38bd4588433ec96b8a3f80b84fbe937817bd7c1c313e12b9773fec9632bec9b0cebc63982a3e5c0c483f1cf200bee6ae62bcded1193e4bea123f20a4a0bd01c701bc8e5a0d3e1117ba3edc4906bd8bfb9eba7b3ed63d63af2b3e8fec453bbfbde93a9542753d270acf3c1869c03c488831bbe061373c7d8891bd1eabca3c74b460bbc244dc3c510cf4bdae311e3d78300abb1c47983ce59712be50bc103db79f0a3c9f5a943b32b72fbe30ffcd3cadf1c03b97710dbc9bc21bbe7d606a3c56a0353bdf6f83bc8140f6bd33d7023bb7214abb2be48bbc6158a9bd2069a839d918d8bbb49f99bc304c2cbdb3762abb261ec7bb7a9b39bcaa0380bc1cea86bb59c77bbb79734fb958504a3c2f4af03a555decba552a44bce533aa3f267d56be1db488bb8f08d43c0328933f413d27bece729ebb0532773caea1883fc8ce19be8dcaf53aa4f20a3d870c5d3f1abfdebd05c96d3b3259553d2677233f49ce78bd5265a13baf3f863d849ece3ee7f593bc789dba3bb4b98d3d4271423e4e77503cc84a03b8a1635c3d79d2173d14f3083dff261c3b2792b73c07d6f3bd85e31a3d000000000000000000000000000000000d7f903b43ae0d3dc10f3fbe42cc063d1614c63be210523c80ba25be6346103cebd2ca3b1b4d843a5c9d19be7ee28cbb829c063b0d8fafbb8d15f6bd889d17bc51899aba997028bc67e3a2bd6d2b42bc822ee0bb6fdc13bcce2633bd4dc03dbcd8b8ecbb7a61b1bb588c13bc6ce699bb0000000000000000000000000000000000000000000000000000803f000000007de8c33c1e6018bef1a8a83ffba80bbe0d0e803c50aba7bd84b0883f34529abd3faa6d3c08eb55bd262f643f348f51bdf6ed8a3c4a62a2bca4a9273f385796bc59826f3c678a1f3cccd9d43ed53ee93befc8373cfbe00c3d6cb1513e3ebef13c9cb60d3cdf57173dada81d3b0440193d0000000000000000000000000000000000000000000000000000000000000000d98b8a3ccb8f30beb43e0f3d4c58c73b70b58dbcca5e0fbe69a3903c2cf8093c11452dbd49eaf8bd471d1a3cf3e6b23b6b1349bd2284bebd5d392b3bd255863ba2833abd95a173bd06a408bb81b4983a0b0d13bdd95006bd786ca4bb9784cbbac0dc91bcfbeff2bb95c031bb239914bb00000000000000000000000000000000000000000000803f00000000000000004361f3bd095bab3fd87a26bedea9d5baeb2b04bd44608a3f4e5eddbd665f28bcef979b3ce014623f950da0bd71b284bcb2f0543de658253f6fb43cbd6cf33bbcfa898c3d2126d03efde93fbc325cdabb9b82923df8f9483e7b5da33ca3c1aabb502f693da7e9a4bb1beb083d33fcf43a00000000000000000000000000000000742a183dd09aedbd7b6bbe3c0f0d4d3a226dd83cc71a13be5947c63c1538443a11dc8fbaaccc1dbe9b01203c4ce54c3ce4ddb3bc471606be89dd113b8071083c27ed1dbd4c9dcbbd1bf240ba77e7933beaa41ebdf4208cbdd63fb4bbeeaeaf3bc4acf4bcfcf913bda859f4bb5ae2ac3a0b57b4bcc1ee38bcd9b13dbb9e16b9bafe46fcbac321423c595d223b1d259ebb193e51be80aaaa3fee7163bc3d653dbcb4d615be26a9963f6ec912ba2938a1bc1528d2bdc265893f426cd0bb64d60abd90e027bd9beb5d3f2e098a3b4e4709bd41a1643c220b223f1d828a3cbb7bccbc45e0353da903ce3eda83053d2e9aa1bc635b763d8929403e650a383d0da34dbc05e3853dcbe0bc3c725e393d85035cbcf426103d4d64f9bdbb88bd3c728c1c3bc96af43cd4d19bbd467ab83bdf7d8b3bedc4b63c7eca07bee7de3d3a9c9e2a3c5c2e173b83600fbeb2c316bc03b98a3c371c92bcc80cfabd298a52bc74c5403c66401abd446eb8bd012962bc27b9fb3b18e312bd420787bd2db933bce414923b4c70e3bc848109bdd71922bcd526b33a93158cbc655052bc10a63cbb2b118b3ac4e9faba7e5cb83becc3793b975509bbf4f943be39d08c3f8711533ea60a4ebd07eb2fbee7bf8a3fa117323ef1127fbd0680ffbdd27b783f5258153e3c9287bd49067fbdefec493fe23ffb3dce7064bdbc9150bbd0f8133fe388d23d56482abd326cf93c93cdbe3e48d8b53d2e00e6bc60ff423d5519353edff7823d589a58bc48fd523d5058b33cdc01193d8da0b3bb3dfcfb3c48679cbd51e7993b28ae1a3b402ec83cce557bbd82f084bc617f623cdc8a9d3c060bdebd389cf0bc7cefb13c6d55733acdfeecbdb9471cbd32e3bb3cba93b6bcc58ad5bd84610abd6871963c477904bd7089a9bd6543f1bc5a453d3ca12815bd859d68bd45dbbabce73bec3b1a71e8bc901106bd3ebb7dbc39b7863b75ae8bbc078949bc54cbc9bbc650403b271b273a11a23b3b508d733b0d7659ba843c39bea8bd6b3f3028df3e46a5d1bdaa4226be6c34653ff9c7cb3ef364e6bd71a1f0bd583a4e3f85c1ae3e43dfd9bdf8b46bbd5a6d293f0a128b3ea3ffabbd340b22bce45aff3e6a6c543edbcb79bd7b37c23c920aa83eac42133ebf4110bd1520353d00fd273e8e8bb13dd3be6cbc550c3b3d7277083d3e81f93c7d54763adf86b43c61ae72bd1f8c9abcf35a643c9019ab3c1d4a39bd5d1818bda53faa3cdbfd753cb079a1bd99df7abdfd3af93c1dcf5bbb8876b8bdbba387bdebe1e83c003f92bc2296abbd797677bdd528ad3cf9bc0fbd95aa85bd20642cbd28830e3c075307bda8a543bd744903bd45b51a3c63a2d2bc6d80ecbc676d95bccf59843b345d8cbc0b0a49bc6d01a8bb20bee63a1bea84b9bff66d3bc348553b24e9223b383117be0d6d2f3f4ec62f3f6ad918bedc6004be22612a3f48a9233fbfa223be612cbdbd87f31b3f9ce10c3ff73511be25854bbd344a043f3b81e03e7c20e9bd3d31133b9df1c63e0581a03e73d391bdae1a943cddac8b3e399e523eba5035bd45ea0c3d23c4173ec469cf3d9e4722bcf5f9173dc5d22a3d52749d3cbe164a3c0bfb933ce87e23bdd45938bd6267ba3c04bc533cde18afbc1cc873bdf4c6e33ce84d043c490648bdb67ebebdf75f213daafcc7ba5f6181bd323ac8bde3ce143d150d98bc72747dbd88daabbd9b23c83c11e001bd980a56bdc08f82bdad078c3c07b206bd400c2ebdd2e123bd69382a3ca84cd2bcc583dabc5912bfbc94609a3b23858cbc18a934bc4cc7e9bb928f893b6fdfe1bad72c083bdd48b53bd80dd73ab8d1c8bd8564de3e74b76b3fbc233abed68badbd7f44da3ea6c45e3fd2ba48be4cf779bd72f0cc3e7791413fdd8535bec4a7d6bc1b10b43e03d5183f05dc09bea9eb493b5f50933e15ccdb3e573ebcbd468ca93cea0c5b3e3af5883e643840bd1b38fc3c8abb063ee44bfd3d48a011bcc756ef3ceebc4e3d614a2c3ce0ef983c802b603ca3d28ebc2f6d88bd04c0e73cc2e1a93b7be5b6ba2d9194bd27be0c3d35df113b2f6aabbc938efbbd4469373df261e7bb24f20ebd3e8300be1f48273d71a69fbcfc0427bd886bd5bd88dfe83c9579f5bcf7491ebdfbb29cbd7a637e3c050f04bd68c802bd337557bd71b53b3c4746d6bc4dbfadbcff8bd8bc7ee1ea3bb4257dbc640334bc45810cbc6556773b86333abb8a76e63addd0ad3b1351913a3f6b37bda40e533ee2838c3f084444be9a5116bdde0d4c3eaa47893fd08d59be7f25c6bc29834b3e4804703fb80a44be74ad39bb60c5443eff753d3ffc3c18be681a9a3cf894333e109b073f19e4c5bd7ee6c63c98961a3e41d0a63e922c47bdfeb6e83ca0b0d53d5ae6113ecdc68fbbb7d1ae3c22686b3d9cc4433bbe11c53c8619ff3b60e5613b553baabd65b81b3d393fcd3be6207b3ce96bedbd4c9d273dbf2498bbe795bd3b6db20bbe387a443d94de98bbb2c359bcd34816be4ccb203d8b5c8ebca8d7a7bcbb9dffbd0a25de3c64a7e0bca5e9c4bc05ebb7bd4f15703c7af3dfbc30f3bcbc9ef770bd769cfb3bbe94aebcbbb798bcdaf3f4bcf0aedf3ab8d58fbc294f27bc8b71e9bb1f6b05bbfe043cbb563ecf3af9cd183c9a32ee3acd17dfbbc41388bccac6aa3fa1d650be33f0a53ba4649b3c8de9953f287443bea9e4d43a3dd3093d1699873f522435be0399793cda557f3d23de573fd0d60cbeb951eb3c9bfb9e3dad591a3fc0a4b3bdf340e53c8f18ac3d70fdbf3e2a6422bda40cda3c5214a13d6635283e157abd3a5986723c11836e3d00f9183cf810123d1aacda3bf7838f3c576202be99eb373d00000000000000000000000000000000d8597e39306b8d3c39f42dbeeb9a293d60813cbc7728c2ba400e0dbea9a1ca3cb7dba2bcbfba6fbcd47cf5bd7bdf2a3c1025e0bcede88abc6f9fb5bd0e5d553ba9d5efbc527a7bbc45246dbdc7fa653a8900cdbc1cbe80bcf4c8f5bc9181eebad83377bc9cde08bc3e9575bbbe05feb90000000000000000000000000000000000000000000000000000803f000000008bd89d3ccdc715be2ba9ab3f940324be2112ca3cf9ac8dbdd00d8a3fe166e9bde004e23cf60fe1bc28bf603fd20aadbd61a41f3d785b843bbcec233fe66d6cbd56631c3d237a033da2a4cb3ebdf8c6bc7a05ff3c8cbb383d80e8413e60e7ff3b0135c73c2eb22b3df3e81bbcb470f53c00000000000000000000000000000000000000000000000000000000000000001cc680bd362604be8173323bf8697d3d9fb7e9bdf44ab7bdf370c43bc5407e3d0da107beed3292bd4ffc763b8b226e3dcf24f7bd5f064bbdc04f763a0daf373d472ec1bd6a4403bd92d93537ec15fd3ce91b70bd1b918fbcd2bee63a9b77503c1e9288bceac8ecbaaf199dbabef8deba00000000000000000000000000000000000000000000803f000000000000000049f4bebc387ea83f9cfbe6bd9a81b3bd0e25073e75f6843f32c6c0bd22f103bec0e8573ec862513fc18bb1bd982810be29d35d3e2e1b193f91189cbd4c5afbbd8574463e2670c43eba7f87bdce09b2bdb0d0083eefd23e3e70372cbde5ea13bd97f66e3dd3df4f3bb2c36ebc72dbc83b00000000000000000000000000000000b4b1593ca8f6c3bd5e996cbc4f87e53c78c522bda5d9ebbde191afbb49b75a3dca61eebde815b8bd1e6d5cbb8c238a3d8bbb09be59e18abd886781bad51e7f3d73d2f5bd48384dbd5e78c8ba078b3a3dd797cbbd2cfc00bd05595db9122d0a3d364f72bd6cc484bcdd52d236afe6763c5f19cebcd7127ebbf853d03a26cc143ba5b24c3c7ab8c33bf9fe0a3a7c0503bc92662dbe168ea63f2481423da3ef23bd8ae3a6bd93aa9b3fb5071b3c422bc1bda21fca3d64df7f3ff5ca773c73e91abe0e8e3f3e47af473fe4d9c8bb617c25befa4f513ea7860f3fb4ae14bcb15209bee78a473e7fecb93e062ad5bc2faccfbd7a9e073ee1992d3e06e6a2bc12b73ebd66b2a43d8aff463c6409ccbbd28af3bb268f8cbbd5ddb7bd4f6429bce820bc3cb1fb993c07e28bbd7613bebc0d9fbe3c21e53ebd1915c9bd487bccbccf30683d1a25e3bd9a11a2bd0c2d81bc7c84843df3d105be4fea78bd88ba4bbc44a87b3da38aeebd4bad3bbd84bf04bce295333deb7ec8bdbf57e6bca7d5cebb5d9d0c3d91576fbd415f65bc004f48bbe081633c0f4cc4bc7dad17bb60435a3a6d48003bf3ace33bee784d3b50d3433bfcf2bbbbfde730be6fd88b3f61e8793e1dc383bd9116a5bd0e77893ff0644c3eb7e704be724ea43d599c633f3f2e253e6fba2ebe8ea42e3efb50343f0e46dc3d0f3b38bebe57443eb1f5013f10228e3d182915be0acd3a3e470dac3e8ba4ef3cc1a2ebbdc173fd3da138263e3b62193cd5da68bd3ae18f3dcc618d3ca7b009bc351c00bcecaa4e3b791c7cbd5ed993bc4432963c439c443cfd6c62bdbc8a17bd5fb9d23c09373ebde509a4bd1e4c34bd8710733d7217e4bd1fee87bd74f6f7bc6bd7863da6ed04be7c8457bd5977b4bc7b0f7c3db073f3bd7d9c2dbd86585cbcc7d2403deebfc4bdcfadd6bc98802bbcdae00f3dd66c6fbdf0635abc0104babb9a37873cd82dc7bc343443bbf1fd143ac37a1b3bf278073c82e54c3b5e062f3b2834aebbaf891ebed99c653f23aeef3ee651cdbddb738ebd34be613fb0d5d53e55162ebe9b32a83d758d3f3f3972a73ecc4d48beba8b2b3e0b90193f30066f3ea8a949be83bf433e7f27e23e529b1f3eb53427be7c0a383eb967953ef8ceb53d133003be768ffc3dd228133e30c0143df39285bd90688d3d7383b13cbd52e4bbf0b120bc51c424bb5c484abd1dc1f8bcf41d943c18793f3c586d26bd6d0a53bd2d5adc3c19d640bdefb882bd580c82bdbd1e7e3d0a0bd9bdf1da62bdd6b83dbd0f96863d355e02be334139bd25f808bd81477e3def14e4bd18961fbd684dabbc00f52f3da4c1c7bd027ab7bca7f988bc23b91d3dc12b72bd4cca20bc84e219bc2d44883cd6efd3bcc4d63bbb92a8ac3abe17323ba9380b3c5460303b937b373ba867a3bb22820abe6f222e3fc58a313f3eac05be29983fbdbcca2b3fa108243f6cd74fbe2639b93d3871163f0bf8fe3e6f5c5bbebf75313e6dcaf83e2a3abb3ea48d5fbe35be3e3e7354b93e82d67a3e38a829be70533a3e4e8f7a3e264a183eb2a610be725bfe3daa91f63d0f36883d68a090bd6857883da8dfb73c7a134fbbb20541bcbbb571bb7e8020bdecc72ebd1122b33c0708493ce008f2bcdd2687bd4d28ed3cf70930bd7a244abdcb2daebd8c80853d2f4fd3bd7a5040bd4d627bbdfa678a3d23dafbbd804e1fbdbef93bbd4c08813d0858ecbd8ae209bd0980dfbcc77b413ddf99c4bd49989cbc4ca6aabc8076133d11006dbd557127bc5ac732bcd12c8a3cccbdcfbc775f5cbaa327d2ba9e9a5d3bda4cc63b3550013ba54a8f3bbe3e8fbb5038d3bd3f3eea3e859c683f78401dbecc17bebc47a4e93e632d5c3f63f16cbeca02ce3d7e90d93e6b6e2c3fe74e6fbe9a73343e8685b93ec1e0fe3e6c1f69be1dc6463e3a00923e965dab3e85953cbed05f393e54c6443e4505563eaa5214be4546013e9b6ec53d1d75c13d0f8f9bbd59a5893deb70a93c3bfa47bb017621bc49f368bb1c6fe3bcdff85dbda477b23c0eb7603cd83f8bbc406da4bd5f7d0c3d57af1ebdf4180fbde298dabd76a0883d54aec7bd2c551abdd4359cbda3b78a3d779af3bd66af06bdd5c961bdebfe7d3da9d1dfbd2b7700bd94d90fbddfcd3d3d93a1bebd050e8cbce2c9dcbce795193dda906cbd1caf08bc6e8e63bc640e913cfdbdd9bcfe4cd6b9d66dc3baabce713bb0c38a3bd7e5243b460a953b52d170bbf9a08ebda21b6f3ec1b98d3f46472fbed8b6b63b02de763e2c2f883f255d7bbea1bae33d5e06873e4a32553f2d1d78bea3663a3ed0b8763eb84e1f3f2d3f72be483f473e35694f3e5735d63e95873cbeb8873d3e57b80d3e1d16883e52d71abeb8c3003ef336903d2a5afb3db5589dbd38bf873dae3d9a3cc59c9cbbfcc5d2bb8b5279b9bcdd88bc818a8bbdc3b1de3c6a85883c7d3c33bc2cece3bdb87f153dbf6103bdb10199bc98fc04bef683953dbd2ac0bd11eee9bce068bebd0d0d8f3d6866efbd4acadcbcdc448abd7898843d03fcdabd682ce8bc379b27bdf7b23c3da46dbebd93af66bc0f7a03bdf37d1c3ddcb976bdeb66cdbba77d80bc7cac9d3ce8e9e4bc3b95903a49d023bb2a44443b6da6c33b6e52533b30caf23be2efbabbc60b43bd09b00b3d8625a93fefdd2cbee3bd043d3ebe493dc0059c3fc5557dbe0feefe3d1b8df33dc8b5763f3be573be3cca413e78ac083e1d43383fedeb6bbe7f994d3e8c84043e8010f83eae313abe2112423ebe78b83df98e9e3ecc7e17beec1c073e333e373d0e19103ec8d19abd25ac8d3d4f08a63c5911cdbbb26804ba542e65bb7d9d6abcab65c0bd9a68f63c00000000000000000000000000000000f09f03bd93bc9cbc292010bec3fa7b3dd790b5bddf92c1bce398bebde2df833d082de3bdf356d7bc0f988cbde1636a3d4424dabd7285d1bcee7b37bd5085343d25abb3bdda7760bcb9ae07bd46380e3d3e1967bd60ecc3bb895992bc5a2a863cf5dab1bcdb64c2380abd45bb9ac3e63a0000000000000000000000000000000000000000000000000000803f0000000088cd073de51094bd7142a93fcac33dbe18ba083eb5394e3c5a72813f34604abe4889473eebbb583dcc41443f27e748be5333543e7f76893d3bed073fe74129beab49433edfa93b3defdaad3e624a0cbecc760a3e83f1d43c26fb243e631f93bd5009773daaf4703b581fa3bb97d510bb00000000000000000000000000000000 +//!TEXTURE ravu_zoom_lut2_ar +//!SIZE 18 2592 +//!FORMAT rgba16f +//!FILTER LINEAR +00000000000000000000000000000000c6e5233672c21636ef1d2536c2c12436e9284b36ec8a103633985b36fe9700375dfee23534dcbf3511efe33579922b36292a8236dcff09362ecd9b36c5a77c37574725367d90253624892e36c1c335378055563622c8f9355ff02f36220e3c3726377b361c3cf135e51f2736a5dae63600000000000000000000000000000000000000000000803f0000000000000000739e2136fe567f3f2a51b5374a508c3663e63a377e7c533fd71cc237d55831372b933837cf6a2a3f10c0c837d5a88e3657a79f372ee3ff3ec33de23783267437397a8a372d3aab3eb5aec637a4c825375a6a53371464303ecc5d9237ad141837b7837836fa44be3adb8d0d370a0409360000000000000000000000000000000068e47c365b146136b422933657a057378f3f1f3615330b36c8c11f36a780233632a90e361270f635b3fe0f36a9b51136dff91435a6e7ff3414422335ecb92535b82d0c3614fc003647eb0a36981e0936ec8bcf359552be354f38d4351c9810372c5232355e712c357dea3e350208433571f43536541824363f5d36369c4e393603d47936bc5c823636cba3366f2cb0366dac453670d57b3ffda6843c974e1737a6e20c36e5c2723fcab6043d88482d3608c40736c0b04a3f412fef3c2f9d1636006e0d35bede253f3ec97d3c57872535081e033686d8f93e33da383cf07910368cc5c83529a6ab3e75a32c38bf35a9365c952e35ac42373e3cb30337cbe24235b4c81a363aa5963c62c45a375df4363635803e36a46a9f36a85a8f3642068b362acf9036ba3e903648749e3686ada936ad6fe535e512b835b5f9f135125610366f4d113629760136d4bd0e3674643936380b3536ccc32736a98e3736e9e43936c1948f356f8f8235be309b355558993599fd4536d9ac40365f88473670734736ebc94736fbd82436af37433636a93e37c073373529c03b35f3c93a35e45b3b352cdabc360a14ec364ec80e3792bb133795ba4636092c523f843a373e683d9136157ca935299c4d3fca783f3e189c0036f853053685902d3f12742a3e6c502636c1482e3669050e3f97fbfe3d64353b3672128735202cd23ee841b73db80499353743423659a7913e66d4133d89444a36b5c52a3661ac1f3ed6ae233854165636a39434355b332a3c24b198374d45393565fe9136fbed5a37c8263b3725b0a2369be3d036ea03d636e70edc3660a7e0368f80dc35b3a5ad35e1f5c835a1e5fd3562777035c6cc2535557d3b35818ea3352cb21e36d2031736147f1e3639822836afa21d36f1a94035098553358e72ab364bc76036e2f72536a1222b360250f63676a28536657b3c3666a7733666d5bd365bc0143671410e3622701b3654f94136ce1ae43639fb02377e05073745101537ab4ca9368fad293f889aac3e9e21be36c992a835713b273f93d7af3ea150b63544cd2635aec30d3f55b7953ed0e9463563a8193641a8e53e3e526b3e003f223678da3b35a710aa3eb8262b3e9cbca9352230233613ac643e9bf7c83d4ffc2736a6c22f368560f13d5a270f3dd7a76036bf0aea35032e463b93b4cd37da6b0036dd849e3522d39837d576703730b4ad35fee8ac36e95dab368191ac36badbb13666cb773637477136794e703626137b36088ccf350864c8356550ca354d10cb35b7bae935cb71e2351e98e8358b50ee35ec67413724ff1f366b33303635bc673779a6ee35af01eb35f5baee356290ec35e31cce35bd10ca35d799cf35e8dcd13523a1f536347e8936f9e69c3623a6f8363835e5360e05ec36ce55e3368edfd73654a59836f807003f64e7ff3e827199364a0266361200003f97efff3ed46e6d36631cca35c429d73e0670d73e697bc735709de6356835ad3eec1dad3ea9d5e935bd7b5d36772c803ef79c7f3ef8a98d367a33ed35bc2e263e2524253ec034ea35fd56cc356485a33d36f8a13d2acbcf350e9e853682fa3238e219253879cc8336cc1cb13673668137b7bf75376032af36c508c3351a2ab835baeaa635cda3a83590dad9358ddea63525238e35d981c7358e37313657c02a363c2e263615192e363c4a2636310c1f3671d51d367d0d2436ce329536ef074935bbec453508575c365f90933641092536c0d02036b06f4b3671063a36cef9b03570389a3511edf835de007d3656cf2c36f2e52136d3c837368238f33618f3ee369b9bec36c281ed3623510335459dad3e7f2a293fb1d2d234d8ab95358a19b03e0d2b273f2f5a8335fecd2d36fcc5953ef0fb0d3f4ce82536718c2336678a6b3e3ba6e53e2eeb1936baf68735255f2b3e85a7aa3e5c523935946f2536eaaec83de6fd643eaa582036ea6ab03524dd133dff10f13dba628135c9c4173660cce1374388563b349408364c4de03695844d3728286b379efbd536d59aaa36b25ca13674459636b5079b361c20343516882e3572dc2b351153303526283d3689bd103645e2ba35d5e020365c0c48362da04436a9fc3b36a8524336b67d9f35406d96359c858a3540018d350c655f3646ec40362f573a36051a3e363492ee366b7e4c36301126360e965236de2ab3360b512636d1f71b36b00e1e365cf3b036426dae36c822ad369923ad3635268f365072363e1d5e523f0f855536d97e3235155f3f3e977d4d3fb47728350bfc2b36e19d283ec5e92d3f67e6f835a9bd46367e78fd3d863e0e3f773e3f36b8a89c35bd03b83d5d01d23efe2c8735130a423613d8113d98f8913ef7ce3736ac27633687181e38b53a1f3e15482936213c1d366c0dc1378fcb203c9cf00b366f9aa436cac2ee366ebe2b37435a91363911773666c1553628952336d2783936364d1a36134ae83515ce86359f93d03542b83d35be3d3b350ea8223569663135f1c1d435ec17ca35359cb135f644ce3502961036ac3e0f367f3b0436af370a3663062735657a2735f8061a35b5b61d35624a18362209133677f41136a8121536c541d736a6743536039e34363ee42e36869c6d37c346573771403f37d9e136371f05693673b88d3cf5907b3f6b0300361ecc1c365679033d5b11733f52d09d35a5b142350a92e53c3eff4a3f13c92835c2e408365a698b3ce3cb253ff7bbc135b9840f36b690433ca040fa3e46d00636c01f2935761a0138454cac3eea91173581641736f8e30b37084a373ef0ef1136c87a3436519ea9370df39d3ce7e62b36357b353726a35a3721c97837ed93853600000000000000000000000000000000fd31ce35d818c335f2cf9a350005c4354c126b36e61bfc354eebe0351bedf535fafcf23632482636760d1c36197226360ac85837fe6449365cda0736429993362d679736d43a06363098d33559fb0c36e6c66e37dcbcb33616055c36e0f00437fd283f3754e2b136864691369b0cfe360000000000000000000000000000000000000000000000000000803f0000000055bbdd35c84464377e9b7f3f72b6c035b619ef36143ada371de0533f6f710a376a611737ef62f337e35b2a3f14d38637c5ba6637e65ce037be03003f23f2a537172db236ba34b637781cab3eac643337fd9d5a379d14ac370ff8313e7aeb7f375f0ec636a9277f37dc36233bd8ed133700000000000000000000000000000000000000000000000000000000000000005f3d2f3623af2b36d1a35036c47b7c36b342953647e393366e85a936fdc36537eb26063689a504367f2fc836c8255b37e2ff5236c2f85036b621cb364eac36370f4432364e182c36dbcc40367e7957361caf8c36d2237d36da7d0c37f540693767174f37540b5e37811c8b37ef53983700000000000000000000000000000000000000000000803f0000000000000000297cfe370f256d3f59666938bbbbc1373a9fa43866df473fe79d71398d441238678608386e0d243f9cb3113894e4ea37a071bd380fc2ff3ef7f86539ab93c637fb1e39382173b73eec56523876d11938d3f6f037bfab5f3ec37f0838390bdb37d958ba37225d983d4a3bd6372d7cba3700000000000000000000000000000000ae03f33550e82d37397c5b3734065737354e3e36f4e93b3608ea4136527b41362af1b235e3e2b03526c9ba35d084b635fdcb3636ef573236e2c25536ce6607375bb6f0358711f035ed48f535d04df235c9574636685e233629a270376483bc37767fa235d6d8a23500966f36127704373e40a736fe36193721ea913735959d37fec00537829c5137bdf07937c01d5f37ebe6b6373ce66a3f7c14a83dd60bc7378bb3b2377937573f7c95ac3d583dbe3716790a383fd1363f70899c3d08d2be384f65073890d4163f0564753dd624ed37211fc137fd08e93ef247363d68a1ae378f5627388391aa3e23579e3c7b43f93844b2a6373c44543e5f041f3826ffc637ff9bb0373e44983dee763838c807e63733c2223719bfed370f8fbc374e3b80377bc1703602d9ac366e26bd3696deb5360b0f6836fbd17f3603a0a9367ce5c336e5ded935622bd73551af013674506d3683c8d2357eebd035416cd4353ffcd5354a3c04363de60036668596366adefc365ed3f1368b3ef136df634037be627137c095a4353e09b835f2d93836c9355a36767308371c4052371dd8923790dd873738fd9f373c2dce37f902db370ad4c73709bdc336424f473f948f623e7fe50d3736d75037425f383fcfe15a3e650591370187f537cba91b3f95b6393ea7f3e23857eb3c374ccd003fbb25163e353575375109c237b56fc73ee9eae43d55a6e5374f1eac373aa2903e9f578f3d0c1ac2379cbe5037c375333efad80e3dbe988c37e4f9543790f1853de9e77a3a7d16a137a1aa923780bf1138522206382ca1c237935d5c3759308c37cada9b37059d663762da3d36ffc4563656ea6336bc9c5e368d8f43366ecc4136c8674436e1b54336a0008836cbfc7c36d038bf36caf7e536e54e2e3646b62d361889cc3684771737269a1a367bb811368c0991360f28b636025f5f366830db362f4d3e37e5464d3743c15c37c9d498379e37c2377a9b9b37c0d18a379132cb37888fe037f403b2379f957d37669d233febabb83ece9d8c378b0424377412183f8ce8ae3ece325b37a8af6837a483003ff09b933e49a08f3783186237e6e6d33e01f16e3e71a2a037179ed0374d68a33ee844383e2c3eef37cb03f137105a693e69aefe3d27b30d384378ab373a380e3ee84f8e3d8e9ad93828428d3783ba4a3d6faa703cccf3bc3775126e3702d26b391c5c37396a37a437e784123650256437d40d7f3708dc973643958636f0468736387d8836eb708836c58217360bb11636ed6c283628664536fdd645365dab4436b6144c3685c75136e7c13a372eae4a378f176c3729297f37d8ba77366aa66b36986b81369b8da136f303e636b9daf5362666fc3679cff936c7b47d37d480a837fb99b037785b8a376e8f6c3719dd093951320d392710723703553237b96eff3ed5e6ff3e21ad3f37c3ee3037b04ced3e3862f03ee825483761ccfb36825ec93ee584ca3e1f651b376b189e3728b0a43ed623a63ec64cae37364ef2378a927e3ec1a5803e9a8b01386f5aa137bd60333e45df363ec099c03727b75737ebf1d43d234ddb3d454c64371bb393371929073de3d90a3dfe799e378dfd4f3757dad939afdefb39d8346237cb11b736b2618a3763a79f37c208b6361e05c436ec31cb3630e4cb36f3aec43656c1c1332f46c833785bc8331626c53358930736ca180836d78d083665d4093679a5c6365a41ab36d50c9936ce9dc736af1a0e3718790737d09afd36f01f0737b05f213780493637887e2537aa60eb363750913797c7dc3859a3ac377e9a7837b201b2379cedd53710e8d03749819d377cb86e37c336b83e6dbc233f6797583718463437f8f4ad3ee390183f8b742f3781a38837ef9b923ea84c013fba50963769d4d137c38e6e3ee149d43ef6c50938cc57db3717ff363e78e5a43ef2b0f03709c481377fa8f93dfc566c3e8cf4b837462ead37208c893d74db113e0d4ea3379be3d23710aa3c3c807f573d0946be37ad299d37750406383dfd10388c78943795e95937653f8f3767c892378c604c3717d9e735780ee8353132e235a1b5e1350144a4350663a035e71b9e356a7fa0350daae236c22fd5367eacce363c0ad23645c8a03639a77f3634f92636a7407036390fd635a266d335387ad635fadbd43597f6a137ae7a9937569968378ef14b3788a2ab37b98fbf372ed9ae378a8285372c3f2c37be156537f4d44a37fd03e1368b9aac371dd6613e477e473f92cb9537837422376fdf583ee6c2383fae7b2a37d5e821376df8363ee1701c3f055e5d379f58b037f112123e6639013fae0eba37319c9e37fd44de3d71b4c73ea870d63744dc5e37c6df873d334a913e34e76a37749f9239e754093dcd94343e3af66c390d26bd37ae93453a176c853d8875a23788fe2337f31ab937308ff637fbb4da36bdca7c36de8f3336dead9936e2031036d8114936bacf4836da674536ae424836f8529f35416e9e35b42c9d3574dc9c358fea2437f4990a36fbc53535470542352a48e9357a32ec350431e9351471e9359dd83b375d8605375adc5d366454cc365cb29f36f00d8736c1921c365c41393695858e3752b98537427e3237a3aad236e260b8373c14c4379aecb837b8788f37283e83374219a73d95116b3f057e9737e408a437326ea93dddbc573fd4aae137742c95377218993d07c2373f5309c837ca6c2038f11b643d2d5f173f195d6b397fcd82373d222a3d96dcea3e31b9ee37980ad1373e317f3ce69eab3e32a312380f49f138885d4e3a3835553e636c25394b35d2378f80f738841f993d4fe5b737c878b837268aec37b0aada383e729b3700000000000000000000000000000000bbb944361e454436cd6f4136cad94436794651364e274136bf8c29366bdb3b36c4503b368cab343603471e3663b62d36872a15374482a7366b0b5036fa5a9e3608c8823707792a371143a336da652137ba40be37643b99371d10613744ef8d3776448d37f6e7693736e23937863647370000000000000000000000000000000000000000000000000000803f00000000313fa537baf5fb37abe76c3f243eec3788d2c4377eea1c387103483f0c196b386f430338e8ce5e389e33243fb9b978383d0fbb370c27b0388be2ff3ebc556739fe5eda37a64102381cc4b73e025a043879330b38e40829385df95f3efd582d387882c737b9d6ec37035f963d65a3e03700000000000000000000000000000000000000000000000000000000000000004dafa53731d3ce374c8ec2375de6c237e2269d379c07ad37f86dae373a05b137dd56d0374956d437d2c6d6373d28da37fc01903973a7a039bc0ba839f1beb639b45993371818983707189a37f6f69c37c27838399ba571396ea2863947d48e3904d6b539f1fedd39ad3dd839188dd63900000000000000000000000000000000000000000000803f0000000000000000cba1023aec37623f3994413a3ce6e93968bc393a4592413f2a237b3abae2273a26a0e139567f203fb39d2e3adac2cf391260883ad459fd3e92229d3a1569803a22c31a3a3b83bd3ef1ab543a055d1b3ab7b2033a1cbe753e02c6133a5f8c043a240e0d3a8260e13d346e213ace79143a00000000000000000000000000000000dda65f3835328338ca8f8038aa7f72381887e936cacf72378de26537392845374f7bae37db25e637a29df837f20ffc37915cc2377abacd37730ecf377131d0372e03b137cb66e737fecb483846ae7c383c0dd237f147dd37306ade3762a7de37ae050639db9487397a06833987e46f39907d9a381a2080394b5b5539dc6216399a0af13785902e396faadd38cf2c3d38e701fa39531f613fcfbeef3d7c8af039e832e339434d483fd13ee43d5769f339d01b4e39b0da2c3fd214cd3d72607739b94f413a7f180e3f11b2993df0fa523a96fc173aa3aae13e48026e3d310f253ac668b939f349a83e9cd1213d9aa5d039afd8003a0d985b3e720da93c3a13163a3b668f394669d53d6f3ae8396c1da439a1e5c238e4f4d439f9e55a39b4a6f938a66f9737238e3039a5a00039fceee937319266374b24a0377be29837e16b8437e86da637610a0c3989bbe8388fcc7338e0df8938e0bd673991706c393c763a39b2574e37de19c8379c9494376ce684377b83b9385492803961866c39cb902e39eebf8038b0076d396a665139def70939ec54e9389b04043a249afd3990ed413995870c39c71195397f16763979ab113994b287393db2403f39237a3eddd08639a2d89c39f30d2d3fb1a0693e6b54b739bf51233a944e123fe08d403e60761f3aee5b2f3a88dff23e82d01e3e7e492d3ab862143a98fac03e26b2f83d895c1d3a0d4f0b3ab2618f3e2c09b33d69c10b3a75e7e9395c7d3a3e2c3f623d7e68283a11edec398ac3af3dc2cc9d3c67a3ff395ce44939c7012b3afe27e6397f0e4c393d3f2a395b64c3390102c339c34e7e390f3fec3645044b374a664d37ee4404375f78ce37c51f05386c13073850a8e637a840d4376a57e03772f1de37d986d63709dea938cfa85939d903773939fb3e39a7a328390175a939f436b3390f4a76398f03ff385b32a3391feda9391da85d39be9fca3924cb443a715a423a3086f439af96fc383efe9939f8ea953937ae2239b3d5d239dace1f3f727bbd3ea22ee03900282f393ccd0e3f142aab3e2ac87339f3b8b7399555f43eaf28923e1980d639040e7f39c4f1c93ec9b6703e3e16a4393bd5fd39ac2aa03eb8933c3e2a110d3ae5820a3aa2a96d3eab530b3ec907173a8df2c739ccd1193ee9c3b03d4afee339a6090c3ae38e8b3d0278103ddd7e183af1b62639935ee9390551c83919a14a39b3e40a383d2f4d39204c7f3956a4223847f5583752d188384996e1383f497837a3ab15389942303874f03438058e2138c07ad9379062e537ab49e437d5a6da37e048c537e85dde37dfe1e3374127ce3728c0e33747a8ee376d0cf037a92ee637f2a33038563ef1385bb41c39c9223338705a6139cd66183a9bb62d3ab59a713908b589385830cd393da1d2394dfaab388ae17d396e00ff3e8a39ff3e9e3088392c9aa939e391e33e51fbe33e9aebf539d2769739c090c23e8adec23eb4e6bf398c1f293a67f5a03e7181a13eac77483a9a4aaa395c447f3e02e57f3e647bd039f892153ad4b33b3e12763c3e64a32b3a1d129039a399f23d431ff43d03bda8394c54ab390d885a3d502d5b3d48f3d83972631339a0251d3a5f41233adcbd2a39833bc53759022e39722d6839c543d53761c24a38599d8339694aa3391c9a9a38ec348337dad1b13733b5c73769af9737e7112238bd9e1a396f5e53393bc28d386a1c1d390a7b6c3948878439c57824392edbd9375a2ef837fb4e02381414df37f7ab2c39504a953996e19f39ccd31b391382ca3869bb9839382cad39b1aa6138469fb2390e99f1390e5bf839615ba73951da6b39d8c2bd3ec05f203f26557639e538103add04aa3e45280f3f4cd81a3a938fc8391a5b913eae2af43e3604db3930690b3a43f46e3e281bca3e0269173a61ef043add943d3eefeda03eff3f073a79864c39c3020b3e371f6f3e59d180395256d0399202ad3d6ae1193e7821cf39e13961396d12143d94998f3dfbca3b391403c239b77f1f3a03ac433aa594ba3905f1f4373ff904395e0c723910e86338b9986837e0c380372aa4e137cfe367373554dc372059fc3706b50a3859f1e6374156bd3775299038eb8d1a397c19363888c4543702418937eac48b38a64a793788437f393284a939d2ebc93932718e39d8bbc039bc8bf939ad810d3a535dd03967f59c3906e8d1392c15e8399bdb7d39129037391f179139724fad3921f82d39820179391c3c793e32da403ffe0a9b39e5c40e3a2241623ec1a12b3f0cc0323a04b3123a0e3e3f3e1095123fa49d6e3a68d3043a70a91d3e2364f33e2e611c3ae92efa391388f83db36bc13e7a7c303abd30213a83acb03d8b388f3eb3c0303a1c74213a180c583d21713b3e9424303a0d41c639fc99363a2518bd3de7a4b239dac25a390eb5b6396817eb3919a65c398930e13771ba01385b4d8738f665e5379a8b88374c28a937b285c137af928737806453381a345a388e3a6238e96e4e38f050d0378cb7d237a36ad337a1f7c93754c4bc37004bd237fb206f3841fdb6370596d637e552d8376bacdb37562cd0371d6e2b389d6c3138899c7038eca018389a3a903987bfb239e995d639e6c17e3918fd8238a6884439a7d9ca394357803819443239d255ef3d74a2613ffd067c3993cd99398178e13d2d83483fe0f2d53918cb053a3bc5bd3d3b3d2b3f2bcf3b3a2aa5b939aa00983d6a420e3f2d74183ac133133ab46f6a3dc6d8e13e72a1463ad4c4353a8d191b3de15ca83e56e74e3ac3f08c3938b5f9393954643e225d7e399bfbdf39eee8163a07edd13d3e49d83966274f3929ad073a463c633a9c480d390000000000000000000000000000000029548b38359d9638f8e40b39fe1aaf38f59a4738188d2b3816d1ab38cc979538cfce923747a59137c83b9037c2068d37f224903958398a3961f69239fa0a8f392447ea378e89e5375dfeea37437de6379da6d53753efd437856bda37e584c9373bed81392b2d8d392944a0398dd674390000000000000000000000000000000000000000000000000000803f00000000b583163a57ed393a545f623f3e12383a0882073a418b263a4864413fad87273addf0063ae0905e3a841e203f5f06583a4256603a5de0933a852ffe3e60d8943aeb7a8c395eeaf5394881bd3e8b3edb390603033a31d0383a4754753e9bb31a3a39e3cd395375ee39dbdee53d86aad8390000000000000000000000000000000000000000000000000000000000000000d9cd143652f90936c9b91736c86f23361cd99c356b5b9335d83da63552ed0f36aec54c366e081636339d4c3600c26d36115a9f36535b8836770e9c3615952e37c72e6b37a82d77367b9871378bfde2379c2b1237241b913687b410372e1c4c370e78c33667bf20368488933698720e3700000000000000000000000000000000000000000000803f000000000000000030c31d3736b77f3ff18a2a3866b3b73714932a3786d15f3f2a70063801ab8937951316388fb42f3fc8b78538f2950338cccfdf37f5b9ff3e70671838581cbd37726d4f38e03ba03e74eb7538a063293878a5c937e5ccfe3d8df1303834c38a372d31b2376c1d843adb59853814c446370000000000000000000000000000000052c62b35611d2f35de04d135e4824536c4bc013492d80734b50f0c3459f70734c824fc3435b3c8340c0b3a3542b2b03524398434f962853498698534ff588434ce091634c3861a34ab631a3415b42a3513db9d368f67263667adc236d10f0937c26e3b36fe37db35a83b453619f62737fe72a637755080379b00b937fcf6e037a9310d37ee6efd361b981e376d572037ebe62c354aea7f3f0ab9a339900db836f2bd0434c6737f3f9b984439f2e7ab367a7d0236bb775d3f9913943820bfb636003a8634d4312e3f55a09638a0188d370a472b36dec3fe3eb7a21438afcc1f3785d71837819e9f3e9302893814b47d3798e8f53775bf013e50f3c339ab0925384410b6370bff913a10618b38fd9b11384684b236dddad337e567ff37bb2a6c37abdc603643748a369bede2368cf5ef3696f82435f11a2a354be56b358555ef3563fe303449963434ed57d634593885351724f7358550e135c1bb02367e3711364892003645c0c835a4cb543631a8be36be3af63418eebe345d231e3557b42d35fddcbc3770091a3757ced1372913143890f2ad36f6899f360ba2253774de8c374b2dc336fb4fba36a407cb36c94bbe368a5243368fe9623fd2a5e83daeb7053714522435762d623f6f50ed3d2af0ac36ff4f50358a683e3f3b7bdf3d907bb8372ce10336f8351a3f242ba83d0f2e20388fedb836d334df3e2aca833de0050738d7831c35fd258f3e413c093d551fa737f70125381992053e5fedc73c86f27a3845195336e783b538043e43397090ea37963b4036dba63037732b813752fae4362ed34234a2ff4534e7c4a0365107b236a3d49136c85697364acda0367588a2364f132f36aad3d635821c383629218f362cbee735a4d3903415d088355e8728365ee2713669227036d30e7c36ed9aaa36db2e1f37c651503613d55736d7dd8b37c2506335535ed73447c51535b3ea6936deab8b372ed37737b3fe91378fae93377c46e136a985ba36ceaeef36498bef363bfc45348af6303f8bf99d3ec416843639b2953603c32f3f7129a03e3db6aa36ce7e9936136c183f78b98c3e26da3137456b49361530ef3e54c15f3e83918c361117b8367c2eaf3e5c82213ee278ed36b4b1d33708795a3ebe3dcd3d8fd914381bf87735e579b73db3741d3d6e800e3751e45e377d27bc383585053980b19137f021a33525ce7e373635a53758cb95367bc0cd340d16d134a183d3348a5bd33409cbc4347d17c73421eec7344cc6c6345ad45234d37c59344fdf583494585234378b6b35ee3d683536546835b7cc8035f3592a362c179f341197b034acf62e36b9189d35ceef96350d2b9b356d559c35dc725936360354347d55573439448c36bf9d2237a514ea365959243757704537be050237d8fae836a115fc36271bef3680a5d0346278ff3e6345003f71a7d234ca2ac6347014fd3ec049013f1ce2c63456065534e6ffd93e0186e13e900754340a5c84354acfab3e5e16b33e41738535024f3437fe37793e436b833e4e9b5f372d279035883f1a3ebe1a283ec4b38b35f6a5bb36b174783d1017963d61cecc367f73733661f69638dce50d3a3a10db362ffdae3574b69e372996c83759895c36fd49ac35add9b5355165a535bd7a9735005efe36a4aed936a79c9b36906cd2361bb7d8349320da340820d9344ac9d734d9534a360ae14236449c38365e3e4a3612287d362c7d7b36125c773614b0783607fe79367936243613bd0a3636195b36843605386fb0b73782e38937153bb9375bd5d3370a6ad4378da5ee3793c1f337160d773705df683790957137dcf4663750189f356a1d9d3e5c68313f12367d35d1dd3437a86a9a3ef4c0323f0226f03699b2d534fd3a853e49a21c3fe7a8d734e9fca93737714e3e4f36f83e7cb0ed36f387e436e943123e3ff8b63e031eb7365ad82337aa12ae3d82df6a3e1679bb360ab53f38a230c13c2549d93db7b90b38220ae837b104c9384ca5fd393a0b95374b7b28375daa1738655f0738387416367d3f9536e95c89363b42d635f883c635dd74313644493136a7d81d368e511d3650399836430289363bec5e363aeb7b36e555f534b9b8ca341988b8347782b834b7689f366c311a36cc3bd4352f0c5c36d2f70937953a193647060e36ef281036fa929537c4ccf63653c7f535ce95743637bb0f37fea9ec36c12eec3660c4ec36a472fe36ba8cfa368548f236a534e436fd18e1369f4ae53d4058633f9630a434e4ec86365ecdda3dfb94643f57551e365df21f380ca1bb3d28e3403fb4be903607d92136483b8b3d5b711e3fd7a9ba34d2970438c8a4493d35c3e63e3daa2837f20b3d384e53b33c5148963e4151bd3707172c386abb5e3c07bb083e0635a7377d3b65378484c238af6b073aacb5a036da2efe3632ef8437f7a03a372e65b136ddf5e3365335a43620768a3546e505363c639c34a9999c3470769a34858c9a34f3ca84345fc017344cc415346be41534997e8e366d771e3654ad12363be21a3699502c3415111a3462ce183423451734cd2af6347a73d334d61a8a34dc7689347a51b13697208e36ae845136be368c36a387d8368ff7c43627a7ae365e61bf36a1c0a0367cac94366d3d78363d3863368faaaa374550c5388af37f3f4809443604be6737a7358a383aa47f3f671d9b34896d49373c719b380a7a5f3f582ff43575e72b3762606f381c2e303f62d7da36579e0d37b82f0b38379e003f28819036edefc8373feda6382093a33e48886637bdabea3652ceb738212c0a3ef7abda36a202fb36ebb9963846d8ff3a3faeb9368684a636294606371eb6ef361078033600000000000000000000000000000000cc7dcc35d256b235f67566359a0ca235708cb435889054341ac9523475ae50348d6a1737af924936a44a38363b3b4e36956a1c37f951a23669558f36d596a536506b0837e37a793673da5c36a6308136a9a1b437092c3537fc9c9536c9fb5837e103123845aeff376e26de37201209380000000000000000000000000000000000000000000000000000803f000000006b2403367aa84637eebd7f3f5228ff35502c0637436d8b376d1f603ff8093e37511d0e389cfb4d3878da2f3fec533138a32fbd37cde40d38ac1c003fbda4fc370067283877c09538d67da03e273e7d384dcdf837ad573f3842a3003e577730385fa11f389c09633854b9633a0dd443380000000000000000000000000000000000000000000000000000000000000000e5deb1352bc6a135a354d0356f53e835ecfac3347165c334f18fc23444bb0e3548962635ad692835543e3535f0f7353570a103350316043593da3235397247357253e9350792d43518ad0f36f2932e367e3c73365aaf413681298f36d877be365fed3036541e1e36a16f6836c636843600000000000000000000000000000000000000000000803f0000000000000000f6152b36983e763f6d3bce373ef26e36449878370879523f08c234383354b73701a9a5373742293f6df638380e5da337cacd1f389f75fe3e405c7f391ab019381a7111385de0aa3e94693b38a9aafe3762f09138bacc313ea717ac38a3fc6238c3623a38808f0e3da5ed7b383b910e38000000000000000000000000000000002e3e0d3661fb163644db533699516736c728cd3520adcb35a25f0836db971636796c6c33c441703353377433fbfa6c33b6332b3417da2a34d3882c34075627349d2b4636871e4836b4305c3660da5e369949a834309daa3451f3ac34a3faa7343862ab324fd3ab32ddd2ab328dab4a36860a1d36c4a02a3678c25436e08b813642272335cafe4b358e0a5635577048351b4a91368ee67f3ff76aa539d049bf37e5b55836ebdc733fcf7210395437ce37caeb94363a284f3f8d4f8339351f3f38174ea53645ec263fc8769238dd90ec371497ed36e4fcfb3e7d5f5539b63fa937a9fb1e382357aa3e50579839b4c4413892977f38a2bf2e3e10ff303c344d8b381eaea9375e0b013d05e9833a899bf0374ea73135133aa837f55d00389a880a374d28f73435dffa34a5dff9342b44983588a67036c79b6e36e3fb803621068736805e01361884f6359e000c36ca0314363ff41536d3ed093667101b360dfc243616ef9236dc1e8c36928c9d36f551ab36b91c203521602435cb872a3526042c35eb3b1636e2d3113603ab1936810d1a36b7efb236c053b836baf1ba360607b53631759f36dce8a5363a00ac3635dda6366c65f536bc885b3f6ebf113e93d9d537649ca136f6ac533ff614033e4256bf36335d4f362f472d3fe399013e372a60371a665d36f3a50e3f6e8fcd3d003c813631afe23644d6d43ee530ab3d6fa87f37900f2c363692923eae35663d2e9dd5379e11d0368e13203edbcc0c3d784a9737ebb214378adca03c537a9c3ccaeac937ddc99636c86ee337ca0915380f2dba3727f31036f6432d36ac5f5c3673d9613646436f3659846f3635587a36452083369a489835966b9335da3ca4351c21ba3594177435e8487a35f64e8235f6fe94357cc45f36aa8962363b176a366b3d7d3647c64f3617305236a5fe57365270583643b08336058a7e36c6a78136d2e2a2369c834a36ed295a36100166360cc78536b10bbd3656afc73660ebd3368a14cc3649fd9836a48f2d3f9ed7a43e20522737c07f9d36b801263f5b4d9f3e1757b236fe9ca436a3540b3f8cd3883ecc4e523765c6f035ddd8df3e6f685e3eafde3a375737b83678e3a73e6716303e8024a8373cca1d37de58623e3667f23ddbbfd3373cf029380493f73ded568a3dc13d5d38ccf0a237962d563c3bf1a63c02d5e6377311d736de16c23759cdfc37172228372b4b013588d05f356356a0354fde6e3574ee2636a4412e36e02c32362e3c2e36a89eac33bcabb1331a30bd3372f0a6337f19a634fefda534a8a5a33438369f340da0b636859ab636c58cb936d7edbc3699e2a2342ee0a434601ba7340634a034ef0cb83683319d369a14ab36ed9dcd36058d8a377401683783e48437b62f9d372d384a3603f95c36ee995236a96e383641d9f5358daafe3eb5a4003f1dd20e36fd47ce3604f8f03ec209fd3e4ad6fa3613adcc369c3ac83e65e5d63ee7df9e37dc43a2342365a13ee2b4b03e9c302037ca015037f0ab743e86ac853e222aa23724374737e292203e14583b3e81c6c1371d6b30388cd3ae3d29c7d43df16d4d3899c113383f5c443c9e82bd3c124c1c38e51b4d36a681083867b1193867d392363e641236d4121e36a8c019365ace093604a2873548ec823572c28035650b7e351a8020366a5c1a368e02133614981836ee6227363eb11c36fb1a1a363451213663426e36fca16536238e5a36ff177136c502de359b5acf35ece4c73561d9c435434aaf36208686365f0c80363737a9365d62c13637f6c136bd56bf36ba57ba362639d3362fd3d336aedfcf3687a4d63620db10376152a23e5ad12e3f7227ac366ebb1136161f953e86e02c3f0a0617364f6ce5368e99723e0c20133f6fac5437553d6d364743443e161ef03e4bf6b736eeb24937f7b5133ea341b63e041a8037bf1556372e68c63d9caa7e3e88237837f1400b38acd83f3d171c113eeaef02383ecaba375d783b3c1487ed3c4bf8b237d8ab1f378ba40a38608b153843621437ce595d36fad46036b6384e362f283d36ca35603692a85f36271d483674264c366456a4358f7a9d3541db7d357bd595357318293551492e355aa6283584f423357801ac360321a336ebc29636d1aca236078b54368bb95536d3ca4c3678434b3695d06d368a277036da206b36d0826336d919d036b7b2d336f929d036ba9ecb36d0de2c37177c293746ee2637aec1263738f8b5379cdb0a3e23435d3fffcb7b3601f6a23629cddc3d827b5a3f267f97366b8c8136e2d6d23df9d7343fd1eb5036a2b19a353cbf8c3d33c1163f99459c3531940037342f763dd4a9e13e77f81137fe4ab2360b77003dec519f3e5db97f366784c937ac9ac03c4f43313e81a9b837a073c33746f32f3cabf70c3d16c66f37b19a7037339c2a38253526388d854e37b0e6b33427bdb4341bf2b634bd8daf3487120735439208353b7c0835be42083549d99f32cfbda2325e78a332b4d6a2328ea9a334b2e4a334c369a2349b3fa13485125c36193a583622c84d3617f34d36b0292734454c2e3498f92d3480cb2834efeead36975966364f690e3637056e369ae59c361ebd9d363ceb9a369afa91360bddce36731dcf362a5cc6365b88bc3684f0b337e710b738f0f77f3f23b5ff35a778e935035d0038d8a9773f27b7c03536b799377d3294388885513fcfb8ed37e6b5913776ad8a38d7ba2a3ff62bf337d358193718b01038bdf2013f08148d374beb0538d3679938711cb23e4ce12438825b93380658fc39d786423e43439b38033d5c38709b05393c1b413d3d5b3e3876ff6c373cc0d6373f35d737cf31b8360000000000000000000000000000000030def334191ef134ab02f334de5bf6346c8eaf34a721b83408d7b134f265ba3498bf3d35d9f218356989e53401410d35313a033571f8043555560535676c073526942835ba112b3585172d3571da2e3527d8b93614a88b3616b56436eff89b36604465361e67623629ba5e36921959360000000000000000000000000000000000000000000000000000803f00000000f5e3fc34470b4b370117773f3b78dc366b9de636312d29386487533f4175353898442c374bfcec371f8b2a3f989f0138f38bbc370f7a4c389ab8003f18c64e381e92b53720de3f38a569ad3e14f2383894292d3818647c38e1fa353eef1f6c38e2f2df37e44543380dd11b3d02d615380000000000000000000000000000000000000000000000000000000000000000507f05352520083521291035435214352985d635755cd2359134e235c1eeee359af6be35d3f9b8352182ca35626fda3503ac0d358a910e3548352e3508b0ff363c681a3740e50e3710c08337f214c5378f2f263756602537091e3c37a3345037aea41f376a3e21372cd24b3798be973700000000000000000000000000000000000000000000803f0000000000000000b5e93e3860f86b3fb6a1a738c3757538fdc89a38488f453f6c43113ae07a49392bb1bf3882b2243f3c9e063ac41c59396666c338ba4ffe3ea33c123a5709c439d5082239d25ab43ea74c623ae295133a05662a3ced0a483e3ccf8b3ccf661a3abe3d603c21eb303dabbe8e3ca7d0293a00000000000000000000000000000000d94e553616a95c36840d6c36d3967636e0870e36ab7f1136a5ec153689b1193622b104364ff805361b500736af1e0a3615178d35a14e8f359e2d9135a99293353af2e4357c52e83537d7ec352aefee35e6d0d3354309d735dea1d835de82db35b686a63772cbad37caa1cf373fd80938529bab364f2fb1368919b1362531b236f760d0364462e936547b0b372cd73d37ac4e0f38b620743f05c63c3d0e328a38659fd938014f5e3f1716183dddde2139d2a19038820a3a3f4abd3a3da121d738e724aa3894a3173f1a843e3db3dfcf38e77e0a3977fee93e7e51313d15a8c73975d6df38ae9ca93eeb80e63c0ae12b3a6402e938372e493e85dff13c11b5313aff80e5387acc713d9569f23c4f497f39ce09c137658a0e3839641a38d4851c38b7e305376da60837cbfd0c37ab680d37dffd21369fbd2b3654563d3641084a36b79cb135e4edb7354664bb35ff5ebf352529da342a62e634cd6ce73404c3ef34cabb07367b46093678c90b36f7d10d36a9d2583673955e36f8336536bae46c3684293c37e6c64b37a6809a37e5a7cd37f620cf3664a30737f4044f3748dd7e37ed5d113773ba2137471b3037c1d93a376bbed03702af4d3f3607493ed852163864be0e38ec563c3ff0c4363ebf50b73819a16e38b2941b3f3945293e145ac338dc350538f7c3003f282d0c3e32abe4387435d038d04ec53e8f74e63d1cb7453a7b028138a6308f3e2a499f3d9ef42c3a6844a138cdc6333eaac2443d8b504c3a023ab338ea2e4d3d028e003d723585397c446a37c3209f372f65aa377dff92372464d936cdacde3609e4e1365b4ce4364572a6357af9a835481eac35f130ab351473b935e71dbb3585fbba351262c035cb87d835420cdb3591fae43555f6f035da1bc035475dc1356740c735bf7dcc35e27fc5351504cc35970ad1354731d635358e6b374ed474376b6c8737538a98376724ee366ad90c3730ba513751f46037b7010b3728992d373cc152373610643744247a381b6e263f27e8b23e0c0699380b1d4737abb9173fcf3da43e188f4c3868e22a38844cff3e2eec8d3e12b88038fc5c2438de45d03eae076d3e25f30439da9e8f38f573a13ef89f3b3e52e1ce388fce48380ce3673e33d3073e4c499239f620c2387be0103e5039a53de049403946e6da38ad872d3d7e6ffc3c12a6123c5823db3730b01b386b6a23386b9e04380e36b1363e41b7368bf8ba36609db936d765ec35d5ae0236ce490a365e7517365167d435998bd6353039db3580ace135e38d9c3585ab9e35ff8d9c355dcd9b359740c9350b45cf3547a1cf35c533d235a46bba35e66bc935dd31c7357813c3352ec9c137db21c8373583e2378fe60c38247e543761f274375075c637c64700383089e63655e2ec36f93fe9367a00e4363075e0379feff93e50fa023feb600e387df075386fabe63e1793ef3e5a0ac8385e30b438d124c13e0fd8ca3e0221da380b52933898679e3ef7d7a83efde1cf38861fc7387435793e2e4a833ebb1ef6380e719c384249313edcf03f3e762c2339e85eda38e74fdf3d4e0af03d7ee5ed38776bf038a910153dc6221d3d3178d33b3f3c9837962d0a3840d71138a3f0cb37f1dcc13602f9c53683aec536217fc4363852433696eb4b3638a15036fa685b36858e0f36eda51536b11d1736979d22364e29653526a86b357b31683542736b359c3ac2350eacc43548f4c435fe0bc7354c703d360ace4036149a40369b744536332eed363b34f936c985053723d148370fc3b83668b7cc368c74de36e6d1e13640d61b37e9291e3795503637cd235837b4dd0c38db8bb03e14af273f7ca02e386c10b837ca0a9c3e71e61c3fd8886138d3583f3819d4833edb1f053f68ac683885702538a891593e3537db3ed909ae3893a79938ecfc2d3e209aa93ee332ce38a4f89a38bdaff13d87de783eeab3243a6b7ff13875b1923d17871b3e5657f239d60087387e3e1e3d0936433d3c8698382f2537384bee7b38cb9d5b39348c563824fef136fc00f5368bfef036adb5f1366cb3ce35fa64cc35a466ca35b264c6357876823507e18335459a8035c1c97d35dd4123367e9721368b861c36c967223694b60736415307363270073604ec0936b2f11835363e1c35b0681835d333173566e7c03746ccb437dea6b93784c1df3722daeb36a5b8eb36f1f4e9364fb3e63640e88d37325a8a37216d85375f7e8237fcaf05381500443e44f64e3feb87313860f26a38ead5253ee68a413f40a0b038fcd96c38fa65183ef96c203ff39f8738952e8c384df0ef3ddc4d063fc869e4382a41d8384d96c73de064ce3ec8e9323a6511ae3807d8853decce963eb91808396769cc3bf2fe153df50f3c3eb1d2c33923451d3a2079fe3c39885b3df8a1f3396ba2f737dbc20e3807591b383163f4376f9ea9365cb5ac36cec6ab365426aa365c98da35e703ed3505eedb35c84f0036186008368f770636598802364f6607362341cd35f051cd3544bcc83500aac83535eaf4359d56f535c270f23581c8ef35c98afb350c99f7355a62ee35beb06536d3f9a9375ff9a33740809e372f02a837a0583337bf822a37c7752337583c6837087604374e2efb36e053ed364a1ce5361591383886c1243d91a4753f06232838bc98a83856e0aa3c19d6633f38d3f43847d2cb3877fad33c3c473f3fa3f8f4380207b338cba4dc3c26e11c3f375518396ed508397a7fe83c64c5f03eb4d8e2390493ae38441c753c7400b13e3710a93939a3ff38d59ad93cff754d3e32397439fc18dc3b3068d13c9cb37c3da7616039c299023800be1b38d4d62a38b3bcf03700000000000000000000000000000000ac5f3036f7e535367857323642e93f3697b9df35f817df3506ffdf350e81e535c91bee35f604fc350db2f03502a9fe35e1cb78351dae7a35ed4d703536490236b6931536bcab133683b8113612817936d2b918389db91238c85f1038997c1f38279ece372c72c837a78fd137c463db370000000000000000000000000000000000000000000000000000803f00000000c16f0138451291384ec46c3f1adaa938654623385d1388384fc3463fde42083996358c3862e9b2382251253f0e86b03980f184386a321b39f56e003ff1abdb39af29b63888b6263ad871b53e8aaa6a3a2022213a9dcd8e3ac65e5a3eb6fd4c3cebdee73b4df86b3c12f7313dd73a553c0000000000000000000000000000000000000000000000000000000000000000461783363aba693607c87736309c8336436a01369c49b5359c27bd35960bda35c4cdab36d54e9a36eec599368c4d9a36e8038e3688ec81366ed3843641738836fc8dfc3750f9c437fbf74338b3e876381bbc0d360b90dc35f180c73558f9b335988e5636817f40363a9c3b36b951543600000000000000000000000000000000000000000000803f00000000000000008bb3863702957a3faeff1e38e7d37d371e751f3886b25e3f33176c38ee8900381a33bb37a6f02f3f6069c8376424763766be9937261b003f6375af378ad546370dbedc388f0fa03e7913e5385319a838d2f3aa37979e023eee4bac375137fb36a1458b3722aca53c4123b53752650d3700000000000000000000000000000000caa50f351d9f1235ef3d8a3587968b355ea682369d086d3630268836eb649a3620cc8a361f017f3641507536a3bd8136b1d2c736f1a1af361211b236b845b236ced3f836eb82e1361a1df23646a6fa36dc425b3621584e3638294e36d5b6383785bc9536a24b8a3622db89363aca7d362b57b236b840a336a980a736519d9536a61ddf371d0fc737c6c536383d5037386e1c2435bf047d3f9dc34a3c44c1c1377e99783615a9763f73e59c3aaa944637844585360e015a3f81f89d38388b9c3763d6bf36caaa2d3f513b30380e92b936f7660f3827dffe3e594fb63823e22c386f0b3e3872f2a33ef225e838859e7838f0aa93365a940e3e714d363903378836687e95368b3a0d3dfd589e37d6f19f36e83b8a378bf6a13835f19b3876712b3819605936d1d0523625863c364d8f4b3699cde436304eca36c437e736efee0137e2875e36ee1856364c3968366afd6f36b6c52a36d65e1136597b2a36e41a2f361a5a6c36d1b54f36ec0c6b36fc3c623725bbac360d89b03630afb4368716b1362d365336e9a05d3682da6736521a6236034a423696d93036e9cf273674be1836689bae3529d0e535819ea335ee955035566409367454643f7ec7de3d539849363a9ecc36fef35e3f9631de3d3fa27b3752656e36bd50443f7dcd933d52dad7363f611b36b0b91b3fd2ed723d12319537d225c23733dce23ea9d8573de7d3153864d80037f80d8f3e7719343dafff2838782a57361163d53d6a234d3d2a7254360bb4333627c3a13a5ba6fc3b1ebf9a36458d5b3576b9ee37f2e34138001f7d351f227235b2705935cd8abb35e120c435d9351f36bd29f13510bdeb3534c80c36c56a38366c8b2736eaae393691a444362cc8a23689bd8d36574d9436e5029c368e188b367b4f4e36e9517736db0ba836f50a3f36b51241366f684336b718513619787836390b61365c4f6036ad946636eae23c3711a83137d39436373419443701067b3660fb5a369b8d553629b95836fc0e233573e4323f72489a3e57da2a35ebd876356bb12f3fccfa9b3efbd32b369d8c3f36cccf163fb16f803e8aff373661a29336bdbcf13e31f5523e063f6037b0597b368d2ab03e03621e3ed6ab5a3753df50361c94593e57dbe03df0ff4736c26a9436b44dbb3d2683753d6df6b0364ccd33377d34d43aaf58113c048d44377eb15a36d5eace37d2b71738104b4f36200a8637edd6123829a2f13782a601388e398f363a4a8736e63398366854a3366f329d3609cf96369f2d8c36d02e913665cd9b36d5d08836e10d8c36d0998e368faf0137d447f63646cefc361bc40237a7d89b367ea69836cb5e9436cf3494367d439b36326c8e362d369b3618a598368033b4363feda93646bfb7364370ad368113813857f37238c1fe9a3833ef7a38ee838637a94c003f58c8ff3e0fec8737b0f57f3644b6fc3efaf3003f719c8c366c719336a36ad73e7b34de3e8739923643e79336ddd5a93e0291b03eaaaa913699e3f936e752793eb48f833e010cff3657dfaf3601371f3e9b3d2e3e9fa79b373619a03669099c3d1aca903df03399368adc993687daea3aaffbba3a2802aa365f9239384a292c39e11b3439428dbd37cbca6336144246364e5844367d6d423639652737f82d1937f7450d37929b203786e06836333c5d365b3d6d36143077369a4f46365f7821366a142c3686ac3636c37b9736ad8862368a7d4a364a15833689c59f36b6729f36985aa2368175a236f30c3536e9253636d06c38365b0a4336aadb3c363282223633dd27361d921c36686e1036fb02f835a245f3357171c53539c13336bc629a3eadf7323fd2302b369fcd2437401e963e066b323f34a31a37dd7584369e35763eceda1b3f8cf953369270323674f8433ef7d4f93e7fa623365a5be136cd39153edab9b63e6a3bb3367ec3803737f9c43d701b683e1b8855378a0635361fa1913dc177b73d96c6643739812c36e6d0123cbb535a3acf8737367b23e035fdabc937c07b5b3743e6c735831e193511fe8434e807c8346acc1235887c40361b8efa357fb295358ee4fe35af245a36953c4e366e53483655535c3646dab13632a59d36950197367173a136c5120e379640603669ed5c3650218b3632532836c8232936ead1243665b832368e7a693610c85536ebf45236ae1d65365ce0123743570a373c2a1437557731378fbd82362bb37336826c6736a16e7836cb1bbc37bd15e13db6fb633f330801348b4f093606b3d73dcee2623f1c400e3649b95836d1c5723d9a9f493fe1ef4436c63589371120623dd9701f3fbcfa9a36d5ba083803274d3db655e93ee002d737d31888379ed33e3d7e0f933e44bc2837c78aeb3622236d3d286fd53ddc0a97360058a237af3ca93caf489d39e2cf3c3708de453649ec073857248b37bef95b36c0b724388976a937e30acf35c15bf0359f9c893613ce5f3633202436a1fa8036823f8c36d436863650fc6e3633c58636d0535c3677322d369cd71e3696993336e09a0137c582eb36a45fd5362a07f536e0bfc736e9ceba3605e3b3365ae8b736351f8e36ff8c79367ec2813637988436fba69336fad18236e4058a36804b8a36ee90a435922b95355acc8e355ab0943591d7c838f561033c4f337e3f6388cc35ee839636146fb9395031773f28c88136bd5d813692fb9d37c69f5c3f239f833667c73938099ad838ba832e3fe22ff23730303738cdc9c438e2bf003f06aa1f38f217ca366b6b13398d90a53eb1b0023767e28b3788b2033c51a5103e18a2d637e54ee8371f99a8388075113d0eaf6137203e24372d2923382396bd376ecb6c3500000000000000000000000000000000592657361caf4036554b4336dcfa4b360defe935b15db3359b2ab1351098c2352a88f43798cf4a368f96273672ef5236a8e793369060873691087f36e6bb84365874a736901a9836aa5c9436e04091360078bc3707bb2f37459afe3555395f37ba8b97362e8b85365e63783691a40f370000000000000000000000000000000000000000000000000000803f0000000056b1693652633937a2227b3f2bbecb368cf3053691ae423771a95f3fa8242337578d803896f2ca383355303f366ec238dcc5ec36bfcea2376174003fbd6aae3721294e3771e6e3374e8ea03ea39de8374d0b40380c359e387235073e95199a3897adcb3728f93438b4e6b63c14454a3800000000000000000000000000000000000000000000000000000000000000006b8d583493c88e34645b95346fedcc34ced7d43411e3f034413101351e24043526b2a234c66fb734d3cad334c27bd234e8579c3675fb9b36c132a8368373ac3656c6353656632e368eb23236281d503714b97435df8c4c3503276635f3bf9d368c9b1a37f97b1a37c0081c373833253700000000000000000000000000000000000000000000803f0000000000000000eb0f8f3701bf723f0ff43938be37ba374fcaca385e10533fa2c10739b0b6e138fe9d4d384dfe293f35a39a3835de76386f5da23895f7fe3ef2451a39fe989a384a91f5387cbca93e477c463980fbf238b874f13849b1143e2d9ce43cb60ca538714c5f382903403dbc2e7d385cdc3e38000000000000000000000000000000008765e5358917da35cf770136158b0036a2bd1435dd85273529124b358f3c573532969834e7aaae3477d8c934f252e234ea622f3576eb343586f2613572c369353c90af350b45c335b6acd9350a19d9353240a335893ca9351882bc35dab2f235a62da534f427c2345891bc34b11cb134daf494357c80aa35f9afe9351dd305362c6ece34ec7b2c3578c4f534a6273c358cbb00383e4c7b3fce92993c7f0493384872da35c05f6e3f0407d23b0268663835055e385e4c4d3f96791c3a3749af3880223338254b263fccbe313a431795386dae89389c2cfa3e3aed113b0aa4d638bcbee038eecc9f3e8e0dc13c0ee9eb38b091d338ede0083eb7a25f3dba7bad38737406385c09263d3a5a593c5c863138a4ac123591ab4e37c7caaa3755f22c3792df4336d9ed4a36b4f7563620b963369f3ac036dcabbc36d9a2c6360080d93677bf6d357b4b7435b16d693536848635c2476d354ca07a35e5dd7135f846743569b04a36672044362a524e3635375e36ea0168355287743576506d355acf6f3505a75d35756f7b351a5d5635a410a335f376e5340588733475e58d3446d88a347fa347352960f43434d4df3460ca2f35c1496c369567643f8529dd3d176e1d38847e0637bdfe593f973fc03d8d8f0a38570133372b4d353f3d9abd3d91021e38476b833897ca103f7723ac3dade5c738c25a9b36cc3bd33e6d68b13da505543881ed08375c898b3e9697963d8333d937f6657738c8e4eb3d843eaa3da49887380e083835a66dac3989a2213dba794d37252dea34e8cd0e373e89b837e79d7336fd2b31369e0435366a8f56368a5e6536e29915346ebb473487c748345a6b4334481f8b3542a10035b7092835d09be8350fbd31355c9238350c743c3532aa55359e6c6a36097b6b366603813643128a36c82e243550a73835554b393557783735019e8c3537358b35bc79913521e69035eac2c236c500c936d7ccd136cf18e736596a0236605c04368698e2359b58e535c047863644a7313fd39f9c3e725d043819678135008f283ffbf0983ed1155935853a5d38746f0a3fd861813e9f69bb3873be3437877cdd3e67a4673ee3ff1f3849a415370a25a13e5396393eb42a00380c6ca338bd81523e55560e3ee3dac938a5bb1a361bcebf3d29ecd03d7a297337a83511381ec50b3ca5b5f83ceb6044380ca703362858003841f51d388c018f37fd825336862b61362609563653a85f36115a39362ff53a360c622e368b935336dee60c3441f02134cdea353427694d34e387d6352330ae35f9309e357680d4350e8d9a35c329ac35ef98a535b121c73580f50636ae360436f7a10536282c1f3695910e37384d75340bd9a136fa1aaa37e110f136678ef0364aa1ff3606391637e18f7637e63e7637e021863711d59037619d1b38a10cfe3e1a0c013f510d2b38edde3a37c3b5e93e8882fe3e60db6137cc5d8638f8bcc03e1ab6df3e0f8ca53837889238d0d8963e8302ba3e0d79bc3801c9e3370d0a643e73568e3e62e025384f6ab2380aa8113eb1ec4d3e2eabc4387af6c2382632a43d29b2db3dfcbeda38954f1438ecce523c9f370d3dc87f2d38871b0938d1c76538ee6e6d3891c82a38ed62e835995bfb353e3f00361aa90b36a5509c36b1a6a036ac2e91362358ab3679068e35b7a59235da1385354547983547a516350cf520354ff31a35e0a9213571407b3631207f36cece69361a9f8536e57a61354c8e7035dc735a351c156e3530fc05367f980436fdccfa35f2dd2d36a082c535029ea23576448935743582356402853628a07636f5bd7936cbf87c36f6a7b43740f7973e1617343f1745153652be5f3726ae8a3e71b8303f14f64d37282faa35263c493e34cb1b3f8107c23544bf9c382c7a203e5802003fbe78a7385a9f96370689f93dca72c43e4160e637c292c83762daa33d4aef853ef7a60b3860beac38fd359b3d9cdb063e8761b738a639d13582c08b3c6406da3cf87dbd3516d4bc379fa34838994c3838a5bfa63765571a34f3a71c34c14fd7341f75ec342932a934e4a1d93478c5ea34e18bd0342f400735f391f034a6a1f4341f8c8135f23433350f9c3f350cad4c35a4485b358b9666367b9b6c36c4e16e3613dd7c36df06af35bd448535a62e8435d849be35fb4c67353886673508506f35c5736635f3120037336f0337416a06375cc60d379e2c56368eb35a366fe54436c6cf4a362f46b337f30dd13d59e6653f53a2dc3493250a35bbd2753d6f97663f781acd347d0650380a15f43cf9e7453ffc3e3e38e4263137c1199e3c5c96223f21fb8b37b0452f37846afa3c1f98f13ea5945d37bc66aa38f756153d6a39a13e076dbd383d38d837dd446b3d3dfd113e4ecd173835c8fa375229c13cdd18003d59120038f9805e3707a124389a0bcf37cd9343366a15ca34eeaa9034cae38d34596acf34d55e8c35c9409f35072b6035109984353fa04e347d30683453337134506f8934fe0aab3507129435f4fb5535426b9735f3e1c0353595d3354d38b135146bc2354909ab355ee3b3353a1777353ac49635c882463503df2835dba701358af5e434f6577435a7eb9935f6208535b2f099352e420336667e1236e49e073662101236a7ca0b38b0d3cc3a2cb57f3fc73c2c37dabe2637221410398562723f2f9573376c473f38df56fb381003503f77668f38254da838ac9708397a3a2a3faa7cdf3845285138a882543935a7023f11c6f73859f554388962ca385f8fb33e825f9238aeeda438822b283d33d8203eb2b3d838c7cc7338877b203bbee7783ddbdf77380f8e23386d1f7038dd816b380af90f3800000000000000000000000000000000b31e0c37f8780d3731a0fa36d95e0b3748165635b9195f3532f6353599655435c38a02362c6dd23522b98d359db801360166ae363a52b2366aed9536d5e2a6365d539e354984b235cec3523586ad9435740f9b37df47bb35f4460b3503e7563755ed8c3587f37435b302e234a2694c350000000000000000000000000000000000000000000000000000803f0000000013e0933700ab2438861d743f47d93a380c28ea37a4fd843887ca533f94df82383af8ab38f255e5387d552b3fbe76f538be526238b32ba8383eb8003f754ec73879862a38571e8238a193ac3e672085388441d7382660813cb32d1a3e7cb0293c133fcd37bd260939fac3553da7307238000000000000000000000000000000000000000000000000000000000000000042d952350ee95a35bfea6135fff96735c60041366f374636e85a4a36d1f24d36b3578f3657fd903645b1923697a29436faaf3a357547413579164435e9f14635cb297f36251782361f7483363b4284368ff39836687c9936e1d69936463c9b36ef2e1635d2a815352e65133533c0103500000000000000000000000000000000000000000000803f0000000000000000f8f49338a004693f4c2d7b3bcece163bc0a5d038e331453f448eaa3b0a269d3be0ed1b39f9e2213f7ee2663b5beb813bbbede9384185f23eb0d78a3c8d87483c1d621d390045a43e8b59e03c36e2513c4ea6823ad499213e4c2d363dbcd4c03c14eb1b39a6b1383dfbc3fd3c33972f3c00000000000000000000000000000000885eda342a2ce83400a8fa34d999fb34d95f1d3318ef243335c88433cf9ebe337f747036b03e7136f6957a3610757e3672058c3652888e36ab279136c0e39336159e8833070e8b3344ba97333b728e33f0b88736939c87362e938a366e798b36c2d09336b53796362f529736cc5f9836f02de0357afcf03536bef0353d5ae6356b94db35c772d935c7f9e135293edc357af9c43864867b3fc7ef8b3c8eb63a3a8517933658bd623fa652c33ccb6baf3b7383713834703f3f09eaad3cd54f913b54584639b2bc173f9f10273d3dc8803b53968b38b193e23e3ca6603d76ea343b554a48397361993e8dbf2c3ddd446b3c8e8d39395ad11c3e1fbc513d7defa43c72a880386ac9083dfd2d183d7b20003c52bbef35a94ff435ca54f2357b85ed35b172d235ce20d23500e1da358f80dd3580596e357a767a357e5587351820933529419436d6f494365db6993681f79d3618d29636580f993699099d364cd89e3611b7be351d4bbf35f05ac53525f9ce3525bc9e368b569e36a339a2361259a536cd2792365af49336b64e9736cd1697367a5c35362ed0343640993336f81e353612d74b350826423592c25235b14e55351f729b36f1125a3ff9ab173e93fb9a3993c0b537b28a463f39cd0c3e495c1f3acce16b381a2f1f3f1d4c173e756f663b8f312939a4d3fd3ebc8a113e200c2a3bea7c79389570bd3e4119fe3d6e61333b12fa6239ca997e3e3830c53d93fb593c89cfa5380262043e11e7843d6540fe3cbeb596382bc2d13c7c0d2f3d3c07f43bb87f5835ebca5c35b7846435ae4a6035f44678355fa080352e7e8535fe4587355292e2359f07ed358660f435c1eefd358df59736329e9a363ad89c366a669f3613949a365d989c36f1d39d3623eda036e141e335b968e735d36aec35d6b9ee3558f89836f7af9b36b20b9d36c5519e36af24bc36fc3bbd36f3dabd369111bf36f1494436bd994a368d424d36c15546362a390c362a5c0d36f4db0e369f690d362df344386c712c3f3942a73e832304395e931e3873831a3f12e69f3e9ef338399a1fa138c191f93ec665933ef6eb653afd0028390e43c53ebc5e803e6449423b6376e6388885963e2f09523e1d20063b98d92a397b90433ef6141b3e0af97b3cb88caa38f1fad93dbf57c13d400cba3c4796f2386e44df3c6afa4a3d485cb43963750b3674141136e85710365fc00f3673b10b351c871235b76f1c35003b1935c3ebf73436410735cf401d351f5a2135f5ff7d3689be7c36522880367e5782361bad8136418a8436330f8536bc1c883674b4653390da6633e2687a339f576c331f1f8e3624af8c3644f08d36c35d8f365d689836e1ab9a3666499b36ae439c362649f33501a3043645380136f4ccf6355a8a9935331f9435c60a9e3501a796351dbb6d385b60fb3e5957023faba6af38b2dada35a6e3da3e6acafb3e342ce138ed19fc37e2d4b03ec824dc3e9373d23af8702a3910678c3e5e47bb3e5151743a6515143828475d3e7893903e1c87033bbf6d2c39071d143eec9a5a3e9fddc53ab4689638bc8b973df569fc3df4b8d63c07cb163810a6db3ccbe33f3d5691ef3bab127e3535143d37651a9c37b8e0053710b1eb35bf1ce935e763ec35e6baf1354d0b7035c2bd7b35b7f47b35b01887353f1d9c3693059d36d8069f3648cea336dee091366dc59336573d95367e4d98366c2de635bcc6e635fa10e9358bb0ef35f33aa33613ffa236a055a536669aa8362209b3366606b536fcf7b736c17fb83672785136a9e4503628fb4d36ae194a36abb7be355bb4b035ba07b935a710bb35a8ec38369a2f9f3e0e7d303f4ca20e37edc89a38021d803ef6342c3f85163339e6dd1638ad1b4c3e76bf133f9430233a46982b39eb50253ef61af63ecc8c293a0b25fc38d6a7053ebf59bc3e4fb7943a93153c39bc31a03dde178a3e63ec613c58e90c39427b4b3dcef61f3e4d1c983c882de1385ccafd3ce6da583d997c5839c6d3c035fd96db35f686e1351216c935539007359882053504770435d3ea093551f1d6355c72db3538ccd8359ed0e2357e6e833688e884360db584362f9587369c7f9f366366a13684b1a0361df6a436cbd0bb35eabebe352987c135224ac835605fa936b081ab36c074ab36c77cad3691eebb368efdbc366a2fbd3660babf362d928d36587f90362d2d9036bd908d36e157ac36b61caf366be5ac361f6ea836f7230a398615053ee4c65e3f44610339e71b7a388bb7943d92055a3fa93d0f39d78f7b38b1578a3da1f9343fbd56633a37a3513933cd553db5be163f7882a03a4a406638ef51573df2dfe03e1a93453ce2003e3935ceca3cd559a43e42346e3c50c8e53855481c3dd47b273e867dd23cc575a2382684013dd03f603d2c017739fd78ba368a58c4362e25c23652e3bb3698e1bb358b90be350665be350bfcbe35e4803a344cf649340fec85346d5c943486bc7b36214a7a36c8a0793622e280360ddc8336956a8636c2b285360a098a36fef783333bf88233b68b8d330f5d8633e9bda03613219f36e3be9e36e3a9a13639af9b362b609d36ed429d36619d9f36f7e76735cf046a35654665358da96135539d44363ebb4336c34c3f3603673d369e98bd381c6f003cda137e3f8a5ceb38ec502236cb7003395ce66b3f2d0c1c396c4ed338a92d9f390d31463f6760c53ae2dd22392797803929d2243f56360d3a190c7538d3774c39c4cdff3ee1644d3a875f46394e43163a0ddfb13e2ec7753cae68c538ee67c83ca616323e3f4aeb3c1186d93859ebae3cfe465c3d892a263c625d3b366de940361713363629bc30360000000000000000000000000000000092137b3412cb8234d17b8634981c97343b7589360be48936f0258a36aa9c8e36995e7236f8b37436435d753662757c36ae4c5135a81a4e35529c5035d4675b35f0429f3675f19e36ed2f9f36faefa23682257236bce67436324a773659be793621e6bc358171bb350562bb351a47bc350000000000000000000000000000000000000000000000000000803f0000000090c281385fdd123991b1693fa1fb083adda4443757fb1c38c226453f920e683b25e29138250a47395f48233ff2ded03a044ed23859d513392593fd3ebd4b193b34a61539f11f1f3abef7b03e42336b3c026a4d3a26ff663cb754313edebd043d4deac338cc435a3c79e94d3dc7e3a53c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084803d359fc030353ea16a353925d435000000000000000000000000000000009099c331000000000000000000000000151f2b353a0a21356911f03411bc4a350000000000000000000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000a0ee773f42141b37000000000000000031e75b3f224e2d3700000000d6f9f5354111323f615c2139e5dbf835000000001b16013f3372f438000000008f83d834a0aca23e5d0d983a00000000efcfb8350365183ed49de939e3f6bc35000000009899273de7974e3700000000000000000000000000000000000000009a3b1734e40b073486be0434c9231f350000000000000000000000000000000000000000000000000000000000000000713a1b3328a6de329a9f163379fa2233fbed10349458a7338ee47933a605a23391e151329c983f3235ef3532ea2c323218c8da32b7f5a13204b1ea32793c063300000000000000000000000000000000475683350c6d6935bec56935c408a735930f0f3568eb7a3f228de03c1b9f4b35000000001b016e3fa9fd833c7d4eea33000000003749543fd72ea73a00000000e98c5c33af572b3f134b273b78183d33c2982d349f23fc3eb0508e3bdd87cc332f3810323aa4a13e9413ce3be12e5a3285544033d1360b3ed197073dc8dc1233000000006438243d87f6b53b00000000849b653585f14a3501a84935a9eb4635a0a03e3372f3bc3367a165346eeefe3341f79a34043f9d349e3da83479e7b83415769335fee57535c2999335518bc035a2f5393399d02233f1e647332bff1434bc5bdd34fd46cc3453e5ea34f080fd344fbeb3358ec5a535897eb43588d5e13500000000000000001fe64d33ac72413286bd9833a3d45c33b95299338b216b3300f3ba323ba2ab323679cf3290df3234d10e3f32db70633f372fed3d7b3a6937473cd334cbe75c3f6c81e23df75ae4349d678f35ae06423f24738a3dc26a9b358591143466fb173f440b953d67502434000a0d356474db3e3cb7963db7331735a913b6350fec803e93c8c53d1b30b835fbbbdc331b3db63df49cbc3d5d8cb9314c720234cfbee3391304fb3cdeff283400dbea326c061834da3ef933a78b0f33f30766349ba9c8344ce1de345d78ad34e23d6434fc516434667d39341f0173347c3050333c5348331feea633dab24c34aeed8035761c7335eeb67f351fc6c73599f4ff34257cf034124e013581ca1e3533e1c034d47fc4340f5abc34a89efd34a84d3c3590bd6135631c5535715e8135a4dba134f35699341a93b134fdb8c23426954d34ca513234500a1f342a32433412ddff332924373fe64b953ecd92f33470eb9134830b2e3f60d29b3eaf927934f547ea33f635153f0cb7823e17876734d07ede35ebf2e73ea0eb653e8f44d635b3840f35e19fa43e8d39403e2e420535a32ece34885f423e1ef0103e6ff70735861e9a35e7bd8e3df347cb3d2efda7353db49634d8ff003b0dcfc83c6cccaf3411f8ef3315bc1638c81b6d3830db1834d6f60035ff314135488b1635ca9033354b7f9b3300000000000000004d25c9347c031933e7ebb33248a03b3263e8873211c8e732331ec03277e8e632301ffa32b4dc4c34c50f2334265b0e34a48e1c34c4a21833d3bae8328e4685327cea97321bfdcc321ef9f932dbd70c330e212a3359e10e350308a5349ea7aa346d37083545bc7135f0a04b3598f78935e539ab3512aa81355fa1023f304dff3ed3273f35f9a32c35b5aefb3e9453013f2766cc3421121033f615ce3ea3f6e13e1766113361681733fe619f3e8b05bf3e4766fe32dde1693470e1653e0127923e3a273134b0b01133b7730e3e7ae0493e06dfc532eeb84033467b9a3d23acc13d8f40d3324ec396345738e63b45f2fb3b8d873f357b5089353d6c6e350fcd8935b65770352cee673497d15534615318341419e23366ef4934f3cb473470894c34f5445334e5a19335a3037d35a24b8c356664d13522d9c4340ce5a734e34d9034ec05a43414a9c0344d4ab934ba7cc5349415d734e32ed3356fddda359770df3574e3113688901d3311ae3933ec5da43362be9d3398811f3492e7de33fd0e23349c982234f6d3e434887bf43424051135228d2a35307406349c4da03e2317323f27f9e33310fb9b34b367993ef8ab2f3f3e918f343403a135cedd5f3ec6dc203f4bd4b535d0e2e534af4a323e3908043fef26d234074803358164013ea56dc43e231704358ae1d1359300c93d98417a3e606b073658001c34711da43d1154cf3d0080b93380f353342c78c83c99468a3b592e5434ff58ac3450063f35ee9191350ae983343c874633a9dd183368ab0933a8beed32cec54b34e5402b343950ac336bfeaa3387fe3a310000000000000000ee289533f44c7e35c42a8435ab7886351f2f8835f1ab113563bc0d35827107354f62143576112a34ae023e348456163426aa6034d1314235c22b5b35933a5b356bc75835506cd3341546e234cb6ef9345bc6ed3431cd8b349bee903498e7e734a48ca63477f8143321240a3ebde35e3f865e323353346134a8f5db3dabb25f3f6222e63333976833121c233d666f4b3f2264c1335a519335b481f53cde39243ffa84af359d7f22351e842a3dc5f9f13e6fb30d359f7f3034a57c843d1900953e634a763485e97735991d973d4e2bea3d623b8035c211e234d1631c3d5c5a103ba0b6e634c1e534343c534a386084fd3713c44534bba95035788d6e35e4a43735f083263500000000000000000000000000000000f1a74133820bdd3245c60c329ef188327f07563280056b32ca7e70329186863245123634073d073476479133555d90336735823362ed893334440233d6ebe9320000000000000000000000000000000000000000000000000000000000000000009c7434edd21f34821f2035cf94693551ad8935666ce13ccdea7a3f3ca154350000000077fe4f3cad3d733f00000000eabc2c3432d3163abf69583f75edee32214a733242c1ee39d8d7313f4f4741323ecd51343e1c3b3b10a7043f7c54e3337e0072336f94ba3b0d64ad3e0bc20e3300000000ea8eeb3c2e73203e00000000000000007ca0d73b31d2643d00000000089d5b352d18163588de15359926b5340000000000000000000000000000000000000000000000000000000000000000f5037635824b3f3555751535b0b8a935a3314733eb0c1d330000000000000000000000000000000000000000000000006ad5bb350547d0350540c53582c40b3600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f00000000000000000000000043de783f00000000b8dbb6353719f8357efd5c3f2840d335000000009bf40b35f24d333ff62d693300000000bc0620386b74033f62b22d342479d235c74e8339bb84a43e21eb093600000000eec4683a6b8f1d3e21cc293700000000652785379465323d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000239813324204d6324577a435abd798351009a5355741ea3578ad3b3437ecff3369652534081b5a3400000000000000000000000000000000a52d4435329c5135576e38353e707435ae8015348cec1934fc931e34cc548634c086f233702a1634e78b05342402683400000000000000000000000000000000000000000000803f0000000000000000d2c916375f73713f8bfa2d3abf3c993701540738f90a523f78757c3aa7ca0a3ae035e838f5f22b3f8e87903a9f45163a1ed6643a4b2dff3ee908383b9443933a4eb8733960c99f3e70ced63c152d1a3a3b42023ad2c10a3ed8e34f3d8af4db3900afe23891774f3dce30fe3ac010153800000000000000000000000000000000dc4fad34f7708d342a26de3488700a358d2ee532000000000d456c33f7ebee3335d9773572522b35fe6094355e98e8351c888d35dfc46835716cb635ef491236ebca88335add1d33000000000a926f33f420ef35dd0bf735f83d1336745f2836ed13c43589b4c8353ca8fa3525d916360019a73487709934ae93a33432b7b434ce53e8342abcc734c3d834352992063528fc2c36e978793f14b3fe3c3916cc37753a8737999e683f8a47e33cfb5d2d38c5da05383e0b4d3f39547d3b7e057139675819385468253fd585033cc6332c3ab63c57378842f33ed7deb53c3d5e4a3a12c4bf375c9c983e393f4e3d6729bf391a114b385799fa3df7849f3dd6179f3941ff0d38622f143dc549fd3c2b872b387f193035ddda82376bd3cd3718a68437779a77332ea68733e396a333669cb1331e157535d2b660353fe66935c30f7d35778ace34eef75734d6cb00351ad6453500000000000000002e8b3e34bd1a2235322f8b34566a423410baea337161043425eddf34b51db1342209fc34ba6a3d356c9a48352642543539918d3599be933581c7d834dbf3a134e79d7f34bece573434fb05355c26f2340ca5f234b841e434e124d5333bb3683fc031c43deca1c639067b9c3526355a3f915fb93d6e4781391651d035984d3a3ff09e9a3d3c2c7239783ba335b9a90e3f842ac03d19eb603a2cd320381a83cb3e39d1e43d5773883ad45e1837345f743ed102f13df2de143a48e2b037605fbd3d5097df3d82886339ccdb7d3772028c395dc06b3df4c1d83756bcc53410c5cf346e0d2936871bef3435ca9f334e4606339a194034186c7134c5505633924374335f07ca3353081334d13511354273e73426e51e354a527e35c82a3d334c9b3d338bfa343349be6d3400000000000000000000000020511d318503b034f8f09a3441528234c970f7342e7522342fa426341137a534185808353ed57735706c7935d022823550a57c3599f8af33f0fea533f224b7334b1ba53319674a342003383fcdc0923ea20b813625851a366ddb273f744b973e4d81f53735d6203778e9093f63f4863e6107a1389df5c134f602d33e2f7c7b3e72a9fa39bc52e539230e943e41455f3e283c5b3a6191aa3738c4343ede27383e8200163aff723937b98ca13dda2ffe3dcaecea3945d67c37630d8d3aa16f543dcf4cf737240abb339452b3339013fe368b152434b95db2349d5d96348ca70735b155543524d4f133cc44d83311d30e34004a35342d396d35854c3e355c508835f7b2ce355aebef355d01cc35abab043638ef373661f97534b84a503408a1c433bb321c34bb65d935ea68e235502c093654c420369777cf35c8edcc35ee8cf535e8ce1336051d6834a4fe4934193f4a34a36c5034ee905e35bccc7d35314da43506cc893501950f364cf3ff3ec824013f08510336e3555634b462e33e3828033f4f0c3434860215379096b53e676fea3e3a6e80373cc55437570c853e5affcd3e5a6e103996dce4364ece443ede34a13eb4d9b3397c4d48377516f63d4de06f3ed4da2439810a8f37abbd9c3d15da003eef3be03941c53f373b62a63be996453dd0482b37736d9b35ad9013368003ad36eb798535727f48333efa5f33632485332a499633ed8d29355ca12235cbfc22355afc3c35345a1e342a820734c542d7331567f03300000000000000000000000024c1a93439100234f0a7973383fd8732038af23241579533f73a703398552933a5ca2a33b487773504f07035c8ab8c35eca092352495a334cb55803480875334949b41347f57963435791a349af2da33857bc033bff60035183e933e6b06383f05d7a63337f63937f848723e7d34383f7498b9363c80a13616fe263ecdea253f9231e73540d9a5387311ed3da3410b3fe2a84c39a9eaa539333db63d91d5d83e995c6f3a0798d233cc328f3ddeb2943e1b37ad394d87e1375050993da5e80b3e6ad03a395e51fa37a329ad3c05b81d3dcda2d1378253503413ffcc36114eae367499a63423b22a3487980d34bb80583442c0ac34e1af8333b8c27533e8a0f0339be42f341948cc34b939a83465c9893486a04035f4833735cb780535c8b034354e498f354114c63336f8c8332dba1d33d75221346c89e134d796d43401bc9d34e9621135f8b5ac35d1a692350b09ba351a00d0357ad5a7357837b035d3a0bd35b2e2b73522a3d133782ccb338f4de833640bcb3397f88536868db43d4ea56a3f2fabfb34d1ce9237f8c2373de10d683f5e43c136d5e88337f169013bd9244f3f23ec59371e74c83507547e3b77ee273f75bfeb388265083a7e0e523bf94d013fc858073a63385c37a5ef123d0a5fa83e317acf39658987373ec48a3db141123eb8e10f38dc90c037b301f03c33f1163d0adec437a808d63340142237fe11143749105434c836cd3433b3b234063cec343fc12235e9cb943492203f347fdc593431808e34f23356350cc8233555ba2635db1c9935fbc906361913f3354df805363c4f2f3693c20a341e05c433000000006a852b335ebc6a35085c8e35a7f4ab35a5d4db354ecc00367c200136a9b80f36b21f233630c2a634b53aa6349f183134bfb72b348b66da34c223ac348f0ae1340164d9347f35fc37cc40993c69c17c3fcca08837621aea3745ff973a324b703f2315053880ead537fcf4b339c7ec4f3fcc572b3821463837d2dc4c3a527d2a3f76c05d392b1a8037e949953ae27a043ff310d63960e04d389c18483ce619b33e9691853975402b3831e3323da0f8273ead240a3a34a314388217ae390561903dbae621387ae40b357f8867370ae09837b3190f3500000000000000000000000000000000399a1834a846ad333b42a033e7bdb83327511634a9b7fc33d7bdcb3362aadf3332525635fd1d2035ac6a01350d3e4335000000006cbf1c3250a9693223b1ef31537bca338d41ac339bf1b53301e0ab33dc071036f3af103686460b36857c0436df8e4633a08d55339fc86e3320703b330000000000000000000000000000000000000000000000000000803f000000007f20f636319901387fd3743faa9df2373e180c35606e8438a660533f626252391505d5350075313ac1682d3f14cf3e3a2329ba3901109b3a89f8023f01339e3a88cf0038074bb93af794ae3ea472403ae70cd939907ef53c52ff1d3efdd0fc3b1e7d9f374f0aa339ed37863d1ced44390000000000000000000000000000000000000000000000000000000000000000b3e0b332e09281325e66683201d3f532948ec530249ca6303132b4300c9ec03003138f2f3166712f6584822f57588b2fb2b71234e01338343a45313428e467342abfb33073a297304fc4a330ac7fae30e7c803340298213463870634448450349d4c0834a5241f34915a1f34b20b503400000000000000000000000000000000000000000000803f0000000000000000d7b22d39c779643f93bc303ca310a73caf9e19398874423fa488b93bda62c33c60215f398e3f0f3ff2ec923b312db23d8c0551394646c03e8f1a093df090d73d71e853391da5533e09dd703da87cd33d37ea3439734b983df46fa73d3a5c983dcb899939f7f5b03ce7d00d3d4a2b013d00000000000000000000000000000000cb38ac336b8889333a019c33a63ab13300000000000000000000000000000000ddfb2433a94027339b455c33c2cb6333db36293429910b3424c31b34f19f27343048393305e01e33ffa0743355d79833dffffa33d90b00346c6d0a3491040e34fa763834a2942134020a2a3488682b3485e8543466c55434eb0c6734afda5d3453f80534a5340e34d2cd1834897d1a347bba6739eef2763f21e2ec3c291f2f3ceccc5739b54d5c3fb3b3bc3c0de2153d8ba536397b393d3f13748b3c8175ec3c5f388d39ce88053f3b49b63c566ad73d542e49397dcbae3ebe152c3d17dfff3ddc28813936c2393e17ce8e3d254ff63dd97d4f3940e3923d3559b73d60bf843d8cdbe239dd26853bf1e5343dbb4c143ddf2a6037165e82376ab38f379bab9737000000000000000000000000000000007cdcb63338f4a233fb149b330348ad33d0524e308c8f33324ea13e3012fb3f30044883321e1e693207b0713292c17332f3b1ae338bc07433acea58336d1ed533015549310a2b363175da3931f53d4031f8407f349918563464fa6a342be49034be09c1330cb3e533fe52ff337f86ce3354fe0a34dd942034c0ba143475aef7338d8347390236683f9d6baf3d6ea4283cee825039e0784c3fc5d3a43d5cca1f3d57cc263987d31d3f70c80f3e07abef3cb4777d390b7ed43e112cfe3d5576db3ddec63139596b8c3ecb8df13da412ed3dfea0853956b3183e3297ab3d9109063e90024939dea7703d851c983d2038bd3de9f5b6390284333addac3e3dbcf4013d1f430d374fef3837c9afef37a8941c38000000000000000000000000000000005bea4333dc765a3369a23433f6064c335d10e430da5fc0306e1fd0306652de3000000000000000000000000000000000d1eafe33bdc0f933e8541e34191f4b345a1e47315eee27318d6535318b2c4131cd95252f75950b2fd3ab162fb134202f4274ce34c771c534cc23e1342bb4ec340000000000000000000000000000000080058639d86c343fb09d983e1258ec39db7e6d39c94e183f02e1983e0dd3da3c68dc3a396d84e83e46a59b3e78a0e03c0039793925b9983efbd1823e286cbb3df5364739c3843e3e82814d3e6ecaf43d570b7e39b6ecbd3daaca0f3e3ae0063e012461393d86363d35a2b53db75bbb3d0e2a95390e4a203a42174b3d3476fb3c183da337bfa2fa37fe382538409e2f38a9c01a34caecf833cbd8083468431c34a7c417343c78ee3372f60034f6d01d3418bee933f14ce633130dfe3334d0fe33180e2a3407390c34cdc41a3471ae28347d53ff339d4beb335baf06341db81234ca57393477733c34364b4934d1e34934331501345f24d83340c3d5330c35da3320b740349080413410325034acc24934bab64d34f7ce5334ca166134539d5e343cfc5f393b39fb3e4f3c033f331d8239689e5e39a462c53eb454043f4b019b3c303f2639336f933eec1bf23e216cdc3ce722793937c0303e0328c53e7224b33d6eb42f3998c4de3da3ac903ea54beb3dcfa08039b92f253de6df483ef2e5043e411e3039143f443d0e4dc03d72f9a63da177ad398362993aba04543d973e013de2545037d15e7e375775ef370c01e83700000000000000000000000000000000b7fac733a0c09a33d63d8e3381ccd5332e218a2f2926762ff34a7f2f58a9802f8f75a831f0209631cda99b3100c09c315681a8330bcd40337ecb17336ff8a83328d82a2fe800092fcd871d2f4c10002fb476d1332bf72f33ec689133b2e9fc3399157f332c06a933e94ab833560e9033083c13327ac3d13281b95f3200000000e9ba703997d08c3ed35e3a3fd30c8339ae666a39b0c2363e42c83c3fbef1123c168244390372f93df33c233f012fd03cc71e7d392844463de79b013fc0e6ba3d77734639b4339b3cf6c5bb3e6ea7f73d195d83395795a53c83c2693ec3dfee3d34e86639f7403c3dc2f5cf3d273b9e3dc314b0394d76653a88ec593d0fe3003da2e75338529cb138b349c6388121c5380505bf33f4e7cc33bf6596338f21fb33e4d78a3367ce913320e78333a6589d33a842c832cae8d032668580331f77b633dce91b314731133140f81b318d031c3194dc3334e780313402b54f3412f97f34eed0193247330132a7050c32410015326f27f72f4047d02fa5d0e02ffff6ee2fa18d863476ad7334ef7a9a341a72a734000000000000000000000000000000007b258a39db198b3d6e5f6f3f1c338c39dcb37639f0b80e3a499c6c3f590cc83aae98213930dd3939217d473f63b0a83bdb48753975bdbb392d75143fe151883d51a82b395bbe2c3a481fd03ea66ac73d6c93813962173e3a330a833eecc1dc3d29a036396150163d00dbe83d7cb4963df57aef39c05a703ccc433b3d68e8e03c7ab329388abf7a38d38b94383e178838690ef533ceb3cd339809e233906af633b6172b34c639103425471934e0df3a346562283405ce263423d030343c8c3534af5006343dc0e5332b2ff83373ea0334fca85733577f5c33b0259f335de7b83324042b34a6cf2e347fef3b34a7b43d34e6468e33b57d7c33c1447733bcfe67330000000000000000e6d9db329f9fce32a595e53356a8fe33d01d093420c80734b8786b39999ace3a3041803f1437503a7bd74e398544c339f7026a3f0cdbd53bb7533439f9bf4839edc2443f36b2803c4cba753935d4a339a4f7183f54782a3d6c3637396fa17d39f6cbd63ee035ad3d6e027e399ff0353adc7b853eb856cf3d0d073c39949ef13cf6e6e83d91a1a83d125b83399e28f4394316473dd76e143d7f922138bdef51387b8c833889de8a380000000000000000000000000000000022d12a33446f0e3318de023328ad113376ecd6338e3cae3317129533f415aa33e9721731c7de0631d8d20b31f5da0c31ad7a1b3455bd1634727fdf33f5a9093435a5ff2f39a6e32f60baeb2fe8d6ec2fc743463385300034c3032334a962493361836e33ee319c3354628333fcacd1330000000000000000000000000000000000000000000000000000803f0000000047995b39499387396568683f0ed62e3cfadd1b39bb942b39d598453f7406f73b97af493959438139f4bb1a3ffa5a193d35de2a39862287397c2bdb3e61618f3d80f56739bb70873980a0893e0213b93dc53928394be7d23c5475e93dbe67a73d4ec4bd397db9083a0754303d7cd0223d0000000000000000000000000000000000000000000000000000000000000000a6e21e3721c30937835a293717293c37d7e21f37d3bf2a365fba7037c06c013805fc2837f0901a37e5b67e377d41d93741f22637236d7c366261813771f7cd37a641b7373227593782e6d437abd1fa37adb2bc3750157e37d51eda37b7d904381c0e793772980037149882378916be3700000000000000000000000000000000000000000000803f000000000000000045476037faef7f3f7b0dda370c689b379a5024386c4a553f01c75138c63223382decff37c57a2a3f07571b381a91fb37c047f337ac04ff3ea32e0c3807d3ea379b1b3038e6baa73eaf996e38858d1638d47a1038061c263ec11d30381e7c0338a64ad637bbdd65384d11ee37e2bea83700000000000000000000000000000000ce1b3c36d67d2f36742e453628b27736c1e8ea350168cb3532d417364be5493748db1d3658641136223c4c36098c3d3753d14a37dd172f3728d85d37520ad337d70209369cb30136ffe9f03658fed6374e016637abb81137afd671371a209037734c53374b3eaf36d59e793798e0d337e063b1375b894e37970ca8377266d0374ee19637673051378bfa7e374d289e37e96c3b36cff37f3f40e3c338ed8804372de875364028793f80fb5b3c571fd837265e013730bd4f3ffc6b783cffd87b374410b137cdcc273f0b1d053c555c16381b89cd370f47fb3efdbce63b087f003838e886378544a83e39b22038474f9a3774d4bb37bf082d3e59703a38abc2e2372e5daf3776dca83b8d031438ae90c537a960f636520fd9378199db37f6e6a23733659c376c2d3c37c2efb337d308ee376f49833594e72b354d5c8735a24cbe36cab4843640bf4536846a8636a6b69b372f68133786a9e735d7910837cdc4de37dc4f1a36c52a043654ba1136b69f52374095543798b28d36d31f3937de5c2a38e738a837300fe8360daa97379bb9f1373f03df378fa08937f2fbbc37d9c4f7376e9f983793b30837a8b74737a02c983788797b37f2cb543f6a862c3e2014d9374ec671354a00513f871d313edf380d377d901b375b032d3f9726263eee8fce3744efa237bcb80f3fb90cfa3d07580738203704374c3ad23ebfe9b63d8b2180374be2e337b5008e3e89d1203dbf6e33385eaea8377e6f1d3ee149ab3b43d6e8377df0ab370b6c4b3833b03838aa1ddf3740f84a36a519df379fe2e237eb7c5737ad5e2036bafe4b3313cc593685ae5d37f01aa636e56e86366663a8367b15b737ba942737dd2592362eb1d336ee79bf37b08a7936e35f3a360c39603666238b36b82b9d364a8289367f768c36495e8137501485379bf613374c0532373e9cc837fc3f6e37510aea3699c609378fd31538fb04b8371e7376375cd09b371496f637e7a0de372199d0375e88d437f4f5d93719d94d33714a2a3ffe4aab3eb6f73936c392e836afa1273f75f6ac3e2e3bac37c6a4663765be0e3f4388953e6001c73749d07a36ceb8e43eb3326e3e25a6e53693b72c37e2c1a83ecf2f2f3eaa5b8f37391b9d37650c5e3e52c8d53d8cffd8372a0a4b37fbdadd3d58632a3d0b4ee93733e97a37890a4d39b000b53843f69c377462b23732ace9373c650a389003c937c4a3cb364d6df5359ca4d436b9265637b93feb360d67c4366be0cc364c3a8637b643e2366ffa8c368c83b23680014637d5097337e37df536ca9809370a7fce374fbbad3795f10c3787c84137b8ddfb37e613ca3733053c376fa38c37ede3fc37cc60bd378fe807377cf443371bb1f237181eed3776aab137c061ce37fe5f033807a88537428a5c37ba976437f7208737ee10f7350ed5fe3e3085003f8ba99f36c2b1d5360f00013f70c2fd3ee8cd513746a1e3360e10d33e34a4db3ea49f4f37c3aa9c37325ea93e186ab13e0fe3d837308bd937b6917a3e6ca8823e1dd8073805e4d737c15b1d3ed6e52c3e97fffb3730cf8837a74c943d0a85b03d1847c53709d0b8376a13a0384e149d39e154d137e592183768169437b9eea437370d3f37470fae371bec883780b09237fad2ca3733ffbd36534d9936627698365a0b223751efeb362266c83639e7c736eedff63626c51d375d790d37fec20c37797b8a3763b8143711ef8936a06b883628aa70370ab195360d798136e5717836b7b85d37eb9ef837c3a9b637f945b737ebd008384ccb0b383ce1d0373b3cdd37be51143803e8a4372ef0403715223f37add4ba37f0d09a37c50fa93e3c662b3f51308a37adaac636b17aa73e03282c3fd4ebc636bf17ed365ee48d3e5ca6123f6a84ef3618a36d37842e5d3eefdcec3ea9b5a3379c2e443762791f3ef4d6af3e3a6b8b37415bae3692f9b43d27c86d3e185a7d37833de6372971d53c0632fe3d318ff7370715e837cf1b43383654ea3b34cdfe3760faae36b1dab1379d25fc378c8d0837d3d7ab36ea9a6434222e65347fdd19370e6bdd364ef2273674a006368fa630376edd1637dbbe4e35e9d435352c7c3e376c025a37b826953691587936f61b8637f9600837457610361ce005367d77163768c5e237c006823792972e3713eee6372fa2e43733378337875350373f6af23762c6af37f0b725374ac12a3753cabd370ca20038c210f8378f13f4377988013838fae0364136273e7123563f4cbe653416916337b3c2283e0fc0553f7c822037ae338637d6b8193ee1cf303fdaab963707b6d13718f8d93d8aa7133ff896093881b546376b009a3d3e7cd93edead7037829100381c70bd3cfc16963e1afa0c38d4c7dd37f3fd4f39ff5c253e61a5f937252b7e3764802839cf50293c3cdb9337bbb3e4379fe301388be61a384b75de37f9444e37f426dc369d3ba336174e5e3763e3073723daf636b0e3cd36e5440537b64bff369db28336c027ba354706ca367abd68377c7a2a373f91a136758c683702c68c3781250d36cf3a0836da8a7e375306cd3793d2833799244f37c99c9b378b67823773d1423724e5f8361c3f7c37eae004383bbf8637b37f7837b1a01238eed1da369d469036c29e6736fa4c9a368ce2a337219e63385cf37f3f2bff18372f0778378705713b8bb47d3fab964a3795699a37466cb93aab56543f9a44c137fa308a37d2d0f93789d22b3f28268f37ead1ce37d2628d39be75003f2a4b10387181f8374fb17938e227ac3e8f913f38be0c7b37b293d337ca65313e5ab387376ff3d1375a964c381977563cd78f173822a661362d1192362699e8370a7c4a360000000000000000000000000000000061ddd736f9b6c436958aa5364047d636e9639b37968216377c2e073700a081373c26c537c0e288373a3eee36b0a4b93707859f37f38626377efc7836d0e49137de88cd3740f38037cb5126376e92ba37bc211c381182dd3782018e37abb20e380451ad3738af8737f9b661371800b8370000000000000000000000000000000000000000000000000000803f0000000017960937f986c637eded7f3f5a1deb379c46db370eb808383a69563f140a4b3844f7e637759e3a38750a2c3f9f7689381bf0c6379653f737e169003f77cc0e38d65fe2370d080538d5e2aa3ea90f1a38aa001c3869b93d385a882a3eb06658389d97a4370951bb37df493438307ddf3700000000000000000000000000000000000000000000000000000000000000007b1dcf358d1ac9356e827536a6149137d8318c3619138b361e798d365c9873372ae5d836d5b8b236fb21ec37d76839381f7e863638c16d365b6a9637d043ee373da4643788083e37e1acd63759482f3861f22f37700eed366666b037b6a606383e750a377a54b036f8f8aa37607bfe3700000000000000000000000000000000000000000000803f0000000000000000906a2138bf0e703f53523f3820e12138b695013a84a8493fef76743a71701a3a684d3f397a71243fd44e1a3aef259539e9d43338b8dffe3eda025138605e3938430b8138389cb33e6b9f09395fe88338e5266839e66c523e65030b3a6f61913941542c3872e4653d4e694838788d2b3800000000000000000000000000000000d478d4361498d436dc672637990b9e3738d81d36e1521b36bd223636c5746b36505e0f37bf33083759132f375f758b37b26bf336daf0f236993efb36129f2c37455b8c36d21c8b36ace28b36dc98cd370d7c1737d01414379eeb1c3706892d37194e7437bdb96237ed6ba0377d36fd3746908837aae730379464cb37dec80b382088d0370a1fa937c7bce037a3570438689105381e4c6e3f53fa8c3da3070638f312a8374e765c3f39999b3d2bb8e0372ee91a3869073a3f90a4913d4d1733387cf40138e185183fca18733d99aa36388aaa303ab005eb3ee5b1373d2372833a650105382173a83ebb37a83c09a64738f4062c38aeb84a3e41ec083a29953a38b0a42638453a6d3de9fd1e3a733d4439413c04387e8c2539bd053739618dbc3848256a37bf246a370d8a9c377357c337fab2053516dbfc34580b113560641435dd773436fb3434361315bd36d6c61037f1bcc436bd6c95369d5121374916623792463b36322d3b36de9eb936538ed93765185437642b4037b8fb8437b5d7ed37e8d13b3712b82b379da9483755b95e3766633f37d04ce136632b75376ce1b237233e3638eb7fc237bbfef53785bf8638fea408393824493fbbbd573e407aba39d4f68037e5f43b3f8022543ec89ef13790b0be3747001d3f60aa3d3eeb7e0f38ee450738c74d013fd7e8183e6a188038562f74399ce6c63ed4d1e93d57fd3b3aa9f04c38fffe8b3ebee5913d1f6d8c398cb6b637ce8d2b3e98b91d3d89262b38f1cfd137cdb1483d4bb93838c5580438491d0e3897279e399e7deb39c19b8739c67993362494de36bc617837bf98a637bc58c534b081c534e029c93489d225378b6970358c2f6f35cad94236714fd636f7c529365a6b1936c1653e36781005376dad4f361d7b4e36c5db813601b19b37898fd636205e283671aa42375633c037eb306d37b6883137a69084374429bb377ce48e3784a02d3700b57b3757f9e037a1b923381f3dd537f47706381fae30382372cd377571243fe281b63e874fe63798e79637df231a3ff21bb13e2635e137ca8c67377d2c023fcbdd963ee18c0738c8ebf237f071d33e4d50773ed23f4a38cb01ff37ca83a13ee13b3e3e9b1729382f3c0438a982613e3444023e0e3d2538cd5fe33781d5023e4aa5953db0cd2a38e07af637f38a193d74b0623c14eb22386cd90d38231b0a396a6d9a39fe6ea73819db1337707c1037b83c3b378cc4ca376325e336f2ddbe36c53c1937280f5e37448d87375df87e376a318f374f4ab03791de2d37413d22377d7f413700378a377484f637549dac379af50d3840a36138c64b8437a82867378784853792c1a237df90cd371015be372a65cc378277fb37d309ee377fccc03703c1d937711a04382caa3538bd6a0638affc143814eb3a3870aaf237d017ff3e8f5a003f86f63d38cb76b637a4d8ee3eff35f53ecbc00b387ccde437f61fc83e7311d03e1a7316387f60a7370227a33ed62aab3e061a5138d5ca013ab985783e0de6823e197d853ac7cf0138fd8f273e77b03b3e609c57389bbf0838d7e1bf3de00edf3d504229388b9d05382e199d3c1eec0f3d15d9983827e61638307259381d478d380db0483891ee803798bb743716b8b1374ba4e0372350a235efcea13542eba2353a23ab35e383873528145b358d7785358d472c3743b72236165c1c36e3de2136be7a7937c9dc5236bf6f53361a0453366aef94370c9b983673437436c2fe873659509537a37d293705ca1437fdab1a37e1e47037f63ae6378ffcc6375e3ec9373d8aec37552d0b396076c5375a73c237aecf823875dcfd37877eb43e558a253fd24e613805a24037b262aa3e189c1d3fa9c51438517cab3788c98d3e59a5053fabcb2f386202eb376db5633ee924dc3e1fcf2e383b69f93763f22b3edc48a93e4c47343856e40e3826b6dd3d75b3723efb806d38233ab4371023593d6a2f133ed45138381d8feb378a0bb039bb1a523d9061ce38ca1cd2371348e538b559ec39948c3e392a524137156a1237e8f6823745a4be37c517d435f918ba35add7cf359a2022361b8fc636212ea2366b19ad3626fa1d3755fd433778042c3726773037f0189c371b5baa3640b03b3614c23936be9bb3378e46713704e55a3736bb5537349689372621423742de3237f3f42c37ed8b9c375849a13740ff4037a7b8343754dcb8371616f739ca8dab390fea2b3997ceb739f5211038cb5b533e37ba4a3f7446c239dacd6537cbd04a3ef8b0403ffc200f38704a4f3702362c3e4028203f9d6b7338642c2138564e013ead9d053f2ae7db3bc6ee14394effc13d7304cd3eb099883a0fd71438807b453d6d6f923ecef0373c2f6ae9379349a23cac73393e4174b33954b0dc3760b41438a2496f3dcadb19381f1c47390a709f39850d433acc07083a146311371fd4cd3675cd2a376a91bc376d51153686021736ad2114360b111c360f6c1e375437093796990237f6ca5737dad51737a00415372d961237c6e11c3720ba8c3643d78c3616068c360af26e3741cb2737c50c05375fd0fe36ce2e4d37abdfc437a36a9e37f9198a37de72dd3752e78437d715543730402c3750568037dd7ac337d97ba3376ecf9837b371c63773521138ceda7f3dffae6f3f4043203af990d2375c66813d2f91603fe508473aa4b5f137a211643d45b23e3fe8754e3a703b9a3719821c3d338e1c3fe725203a9028d639ebafbe3c4f37f03e8e54ca3a342bdc3731fd3c38f25aac3e23cd033cae801a386b2b3a3838e24e3ee4ad4d38bb00ba37d2d9ec3791f87f3d96a36939bf69d237c2fadf37764e1b3802700a3800000000000000000000000000000000bfe61f36139a1f3615dd1e36729d2336ffaa31363728d735ec99d335c6e6143702f1493725f20137275fc436bf09a9378dfb7c3743aa1e3761720f37c6e6b437bd011138fe35d9378a7fbd375aa82638bab7a137142bc0368b309b36e126b637b099e1375840b73783b59d379739db370000000000000000000000000000000000000000000000000000803f00000000ddd38837f7762038b664713fbc78223aca1b0138d6500b39bbca4a3f2a67893abd2839385061793864ed253fbcb70e3a1a191438ac9b32380849003f7fed433ae9667638eb60bb3879fab53ea016463a87e715393c5ba8392fc1553e5a247d3a81520a38366014381f677d3da0743a380000000000000000000000000000000000000000000000000000000000000000e338fc363b0c1d3718445637aaf28e37cb39e7373447f5377316be38d657593916ea0f3804a43638bb9754390bb59f39d164d7376b6fde376a9f183918e87439ffa54e392670653917e2ad393e0edf3996323b38eee669388c626239ae4abc3997bb9338de7f9838e5b23039f2a5513900000000000000000000000000000000000000000000803f0000000000000000ad334c3a7dde613fd094a83ac7bd893a71ca003ac651413f72fc4f3a32791e3ac5352b3a6621203f1ef89c3ae45c8a3ad4fe1a3a0daefe3ead6c7f3a8fc5693a05d25b3af5e7bb3e6a67863a15e67d3a83a02c3ac28a6b3e96aa553ad3d2493acfbeb839b182e53d408e033ab6dff93900000000000000000000000000000000f819b537f108b8383dbc3b39629d8139986dee36a60725371e906537fce6a43805c79c377c70a73788ecc2373d299a38eade02388c660d38bfd32b380618a53839370b38a7d10d3847f13439863d9539d91418386e8076386e35c1399a081d3a7eab6c39a8697a3996e8be3960f6eb39e1041d395e1218399d5e83392871a139aad04239fd5a4739b6eb793941358d3964b5233a42dd603ffc5cef3d8441273ad36b013a9cd4473fab30e63d6d26243a7c2b023a8ff42b3f9d1ed03db7af803a5cd47c3a15150d3f3a01a03d4fc1db3a5c292e3ae079e13e6a0d843d3b6f973a98e88d3a7be2a43e93b42c3df323aa3a93f9233a8b57583e5121d33c2f573a3a88b50c3a2f12cf3da6b8983a8ab4853aef389f398e76c339a560ca39330fcc390c67c83881e828390d287c3911c1973977fe59373ee68d37725fc13775d4ea37b3ccf1371f91033870401b3822e6fb38faf5d337c726da3738676138e6dc5439bfe546387ae0ab388d254e3966569d3909fd1938b9ea1f38c793fa3840947d3939d318398927213996f285393f10fe3992c39439253a95393418c5398caf013aba624639930a4a399ab98439a7229c39311df9391255403fa3e2793eaacd103a20dba0395e8f2c3f35166a3e6088f139a4dd713a7952113f3832413e7cd4d73a83b81d3a5bcbf13e4a45213e467f6e3a32ad263af9aabf3edc92fe3decbe5e3ae8c8ef39fdeb8d3eacb0bb3d438f1b3aa5347a3a14cf373ed41e6f3db91ba83afb8f2f3a3051a83d0f21b83c7a03873a1747b139900ef039c5e1fd39b362ee39310bfe3747ed0738479c4c395880953937e1ae378ce7c53758445b38bb5b4139e528143890491b38229a333836585839df610338e2b10b38ea3c0439f0f88e3902b1d237d7cfdc373d9aec381b8a6c391c5d34383c783538f142b938d7625f39ec5ee1372d80e63773bdba38968d3a39e494a6392dcaa03987e3c639893ce4396dda8c39cb948839059c9f39db59a5397943043a36dd1f3f191bbe3e3b6d133ae8394d3a63e40d3f105caa3efc7bd53a9d333d3ac4bef23e4b4e923eb3b08b3a72b6423ac44fc93e7ba5733ecd69973a4c1a263abcf89e3e7239403e5dda8b3a5379de39c8da6a3e02e00d3ee3313d3a6c90ac39578a173e9f6eb53dde86ec39d06d063ad9498a3dfb70203da5fb433a6bf1a4398b2dc339b798d73923dacd394ebe423949926c39e68ec5396757063abe3a2638ac3dca3800ea843983d7c439b7fcad3719b5ba376a6ba93810196039eb56c0372fb5c33737e3cd378924d83857f49339e5f097391cb7cc398494003a9d71cf374c33d03729e73338cf7b2c396ff86b39605e6539314999391201c539ab7c043a942a003a2ec3103ab93a263aae07c6393388bd39c80ddd39e7bd053ab895583a99ecf83e018b013f91c0803a70db483afee8e23e9422e43e9eb2ad3ae3d0893af680c13ea720c33ee281ae3a9cb1e6390100a03ef017a23eeb1cb43a1961a73aae5d733eb5c5763ec49b983cd896ef397ec2393eaf0b3e3ee838a03ae521013a3d5eed3da1b9f53d69eb423af2e75d3a9bd84e3d2a075c3d94c5963a3070183a23e03b3af3ef653aacbf593a373a2a39f4384c39b7499839e203ac39ec378937c5f49937d8360439254283393c39a03737f6a73774ceda379608033879d71638f7481a386ec82f381e1e223918efe037d43be837ff7ad438e8566b39293b0d3943cb0e39deb06a397739b53972aa9c39f3269239935eb439cf55053a370ebf3926cfb5393909cc390d1fe8395f765c396663593969b985395816a039cd60dc396d8dbd3ee916203fab1dfb394750ff3974dca83e6b190f3ff82c843a57d495398ff2903e37cef43eb809453a09a6d53976686e3ec3cfca3e7904883a73bc013abaee3b3ea3d8a03e3cea983a64be453ac571073eb52b6d3e06ab943aebf9493af9d8ab3d37841a3e7ed3893a1319613aa04f123d40d9903d00aebc3ae07cb139a6c1d63981f2053a017ef3396bdc7c386235aa38b9223739da526c396c7de2373e6ef13762176c38bcb94d3912938137b8598a37f120b63778c82c3943261138b3941338bd612738d8862539d8bdea389c60f43817533e39b03e9b390ac81338d12b0b38f880df38afd272393b544139d51e35397a6d5a398fb79f3951739a39b8608b393c579b392efcb2394718a039d3469c3938dea6393f44ad3936e7e339a0ff783e72a9403fc51b2d3a450b153af98d603e57a42b3f69c5cd3af8aa5a3a39c73d3ec115123ffb5fed3a2377dd39c1951c3e7377f33e12062f3a4bdf1c3a7d8cf53d0e16c13ea021743a821d0b3a8060b03d869c8f3e06a2763abee37b3afcd15c3d8bef3b3e300ad63a010ed5392b00e9398594c03d386ff1390482b13970f3bb39cb600a3aa093f03998aa58389402643897792a39dbee7439b645c3374c2acd3708aff637443e14388cf8eb3769c9ef374c921938b98f5e393aa30938d5c70b38094516385079b539b5250839e7180839f82e42396b1d9e396ff8353858393438a4bc3e38adf71b39caf68e39d0158439d124943954d5c739c794c8395798c439622ed239f9f2ec39abc1813993fb7d3998d9843968959e39c8eec7397467ee3d823e613ff58d0b3a8c7aaa3996dbe13d8e62483f1f6ffb3a72810a3a1755b83d312f2b3fee8e5a3a1171753a290c983d5c210e3f22c0c43a2020053ae2d5353ddb2be43edd41c53a8f075d3a2ae71c3dfa41a73ec06ef63a0d5b2b3a7f485b3a7f98623eb544893a7aeb083ad8b1103af7cdd13d0c2a1e3ad499c339b3b7cc3938b2153aa9e70d3a0000000000000000000000000000000027f7c637b27bc8376e7dd7375dbaec374a1fe3373ffae4372650f237ab5d2f382af20a3986860e39708d4739a261a7396749eb37499e013872498b38ffb435398c5b14398750143961fc3339644e8e39bf4b5d39c64a5739093d723907e99f395b99833738128037905c853766c88d380000000000000000000000000000000000000000000000000000803f00000000f31d8239256dfc39f470623f762a4e3a79eeed3961172f3a99cf433ff5ea803a9daa2e3a3a67603ab928203f21da953a50f5cf394786263a3faafe3eb40c823abf09ef39cf151e3ac07bbc3efbe0923a8a17e8396421fb39f6e5753e37ab203a879dce396191e83910cae63dada9553a0000000000000000000000000000000000000000000000000000000000000000b2dd1a355a8c2035a35b2535b680d9351164c9339aa8cc3347052834ca1eed355699e6343ad0ea34cf88f7349831f6348a426335558f0d35fc1db63547362d373478763478c97434df878734fe7a5b37feae3936fd19bb3515048b3607641037b300c23788c4ad379c38cf37543bdb3700000000000000000000000000000000000000000000803f000000000000000052757836a39e7d3f8b0e2438e08bab3786ceeb3689485e3ffcd5e637bf599037df7ccc36e0322f3f8d44e6375a772a37d4070e38ea12fe3ebccc74382c590638e8760d387f5f9f3e4cf240386c47bd37b2dd9f3780c8003e6c07ea377f451f372eae2d38c7e9273a30f77838f676df370000000000000000000000000000000019d672350e7f7735b2a97c368e7da437d5510c368ee50d36194b163698f71936458e58368ea95836fdbc60361b26633662d297358fdb9735f99dad351779b435fc6a92352ced9835429f9c3581d4ba379722243636332336686da63669a6cc37bfb03e370afe953551be85372b69df37ade8de37ec7da7370561d937b02dee375977f836e2cab7368f57c436d5bd1337bee43d3699dc7f3fa5d5bf39569b4138fdfe1136d3677b3f09a3e23957692738b8f1613606505a3f228814398dcabb3773f0af3566482b3fbf60aa38fd68e637a25bea379811fa3ed335c23866753f389d2504383a689c3e174341391e5b3738de180d384f7bfb3df33ef8381141183814ffe337a69a2c3a539fbb38128b173833d9ac3668d91b38417653387525cd37ff7e0436f672133601526c363bba8c36401b7936b33172362d348836900a8f362bb44c34332c2f349eddd035e8deb836379157340790c633996bcd34de7303356177263628702036bdf32b364b11b237ed5e8736dcdd0236cfebae364082d137e5ca28367bd89235cfe51836f1513637ea2a2637aae2273651b70c37e0a03a37c2fe5237355512379b456d37e83480371b0527366957613fea0af53d2a67fc366592833667795e3f0da5043e014dc83653f58436f24b393fb196003ebe1232379c0fe334038b153f96dbd13d96ad0138fe6f8b3757a3d73eaccea23dab632f3884e0a2374d63893e2057463d16093938bba81e37371df33d5472d03cdd33c737a165163643726c3857f3713ae2dba3376c8458354075d0375fb02e3858d2b637e2bfb335137ea4358b7dbe3557cea236fb45193670d20e367a671d36a02a2a368bc15b33846e583316506033c16b60337c06ab3548881035dfbde835ac522937198b28367f5020365c642836d8ef2b3796c2143483f3113419230f3430330a34b3d5d9366828ac36513cd536029cea3639765a37bb1ce63673fa38377a548037eeddd036da69c7364f67d336d374d03673879f357a45303fbb5b9f3e674503375a5b193612f52c3f3c71a53ef55b3f36db5163338f40133f46c3923ec2d0703354ee0f370528e73e5a5e6d3e3f7c0f389d380637a53da63eef37323ec8faeb377ed312348a9d4d3ee0b1eb3d0ddc08347880f2363783a53dbf6c533d3cb93a376592e236afebb53836c9d339a5ff863728c98836401471377087e437d4bad936791e54373e525e3772fbb5375832d237f2a013361cc1153645841636b144193677ef5736a36c5a3614775d361f9a6036705636368f70333644203536b5413a36e8e94e3744f65836d2d8ce365e4fc037b5f55536d90534361e7b3836182429376b19683676646336467e6436f78c6736776bf93783c8ed37ca7a11380cd814380e9f12385aea0738887e0f38b869163814586937d574fe3e81b3003fbb708b37012e153667dbf83e7c7c033f8f9b1a3656e15c36745ad23ee336e83eb26e5f3614d13b36f587a23e8387bb3e9f14213716441438f51b6d3ed769893e47d03438ddb55537e6110b3e0ac3383e3fd9a43706638936696f493d872db13d5be2ba36eaf7eb378c50c33849b1d938c7160738c670cb37fd5e7738ddd689387ab6fd379d407e360aaf8836ac6e6a36d0465936423e8c36e52f8d3639dc8936e1068f368b0d8e358c89a634457ebb346704c53549d8f433aea7f433fcfeea3391fbf7333d40863608c23136e9c92c3646f4bf36a9b2af3706cdef3675d2ec36696fd6375292683342756433c2fb5e33c1cf62334f59923791e1613795098c37e9e0ad377df5c637f048a237de3bce37168eb037ad46a736f7609c3efccf313fcc572936ada79d3637d3953e96f3343f19ae8e3657a2973691c0783e02f11f3fe4b88836686f0234fcec3c3ec2e2ff3e1f9f03349c79b737537c043eb87ebe3e9bd0a437160c203828c0923d9fe17a3eaf87173831621836c5589d3c6fcdf33d3eff603368514437fc91643812d89d3a3246253786585a375dbc5c385f07713811e5ef366a0ef43604419f369c125635a93a5e3560f7ee35ee63eb352f94e435e504e6351268583536404735e7fb1c35a49d5235ef258436ef1b903599ff1335a54f1a363af95e37c521303683c42636dc744837cbb74837b50d66353a2e3135fd152637efbb3337df1c1e37e6b713374d1a2b3794e8e23625c1d536979fe736e800f63664629536f1ac8e36c207b336dbf3e7362076a43748dbe33d4077633fcd9d1335f7e1fc35203ac63d34fb663f7b70e935e3d3dd35f926b23d83cd443f6f935b35f345e33759d5523d77b1213fad2a8337b1db1538ec6f183d6c8fec3e24220138f3180738e234cf39fd26a03ec576d2377447aa37cd5f8f3aef25193e112f3837a43ffa36967b9538587cb43a260cdb36c48990366554fd3756e90738d6b586362d0db936aea6b036414d9e36ffd3a636c3c56235e86b61356f02633540f16035b77488352ac18d354e488535866193356b56283654192736733226361de82536ca2804370585a2350dd29c35e1b5f43578f1a13652f3b135cd08a73598a8b335a04a4a378b0c6a36cea16636e10d3a37bbe7bd372a9f9e37157a9f37ed20f83792a58c37944d833770e29837c782b637f9d70138a8eee73891f87f3f253a9f36b8565037711daa3851c57f3f74df6535a66317370e4754387285603f5b5ff73660a3cb372e73813832b7313f6caae93715b413389997a03849f3023ff8f629389f5ec937f2c66d385a62a93e70410238335ff437386dbf384173163e5ac50038027528388619c1389d738e3ce2d504389c92d0375c4c4e38b2f66038dc4c56370000000000000000000000000000000032dd0d35795a0c352f700b35ee740a358372c4337ddcb933dcf3e432464e0d346a359434c0887034f221733474417a34171b0436059b0f3569a00f359db99b3569c6f834f218f3342bbffb34982e0035bc767237090e18373c6fbb362d157337b25cbe37cebe9737e5b38f37f50ed5370000000000000000000000000000000000000000000000000000803f00000000e49b9835f279d8370fd07f3fcdb59537675b51342d67e036e4c75f3f18ed23375d520237006edd370d46303fb0fd0938266da337ec5943384df1003fe8a7533863840b37fee7c637a88ea13e321cef376308a93773a30c38aaeb063ef23d0838c5e7e13741842f383483133c974623380000000000000000000000000000000000000000000000000000000000000000ec22bb35a4c1ab35df9df33568cb0a36aae6f0342149e2346971143586a64f3602682b36fc102436217a733657e02b382cf721368e901d36c7a42f361b2333362c0b903510f38f35ed7993353d9d2237a5a94637612f34371dfadf37e0072138eeec1c366bec1436544e8537fc6dd03700000000000000000000000000000000000000000000803f0000000000000000d9053236c148753fcab221381c90d6365fa7a1379696513fdd5a0039c6a68038ce7ee138f8c7273fc8b1653a17b50d39fc46a4377137fd3ee4292d39bbef06384d7c3538ca43a93ef4c6433a0d8f4838aec9ac38e9c52f3e5df2493acc4da4385c0172389890073dea37fb38c2613d38000000000000000000000000000000003021523486d954344d7b5534f55654343325a0335a8ac233275dd533ec39d933a0410f344d7d2234bc373c34173c493428f915345f001734ac9517341da81634c5ed1835b1212035c59654354e397735ce1c8134f8428934910c8e34a82409368ad56a356abc263573c2a735f435d03557d8ee365e60d3361c170637b2105d37706726345bb223346a442434d1482534f1d657340cb67f3f6401903ab65872378dde2234bf05703fe4d2c13a827a5f3830a5843617ec4a3f531b7e3a3faab33879ee16347767213fb3d5083c5ac33a38722a65365134f13ea861203cc3e84d38f51289383e04a23e5fabd13a0a03c93813174d383c45293e512bac3ad1599138b5160c381220ba3c0127603a9a771e38eb9821344789d03563e706379352e435a73c0f32af9b0c32e1540b32f7830d32d4d5a434d860b8343900ba34956dbb3469ab603451a581346b42a5346083b434614df734ef81ff34ced3063581a60835c18f9e35660aa33516c8a13587e5a1353b3bc4355ee5c63503bad035ab2be23518c68b35359b8d3520f18e35ddb58e35d48c1636c1421936d607163657231536c898c934959bcd34d06fca343123c434b7de0e32fd5d593f03651a3ee64ae436b4abe5349e884b3fefa71c3ecadbaf374c2cef343f33263f5be01b3e8efd67380c1b053528a8063f380a043e4de5043842d1a935a17cc83e1735d83dd61d2438832fad37e330863ee6f99a3de703473887d6f937ec15173eb72e233da926763859865037c9daac3ae69eb23c307cee3770fac934f1279636279da9375871a6366b9bb934dc3ebf346ee0ba342686b5345de2d2358444d735bf4ee73512f7f4353fcd733534e9793593c37d357196803536bac23569a3ba35ea94cc350136e9351732083637900936d10f1536acb31a36148c67347c247c34e0ef81343ef7b23423a1fe36cc43dc36e9d40b37efdc963762d43735fde33f3563ea4c35b1883d3548760332791e0132fed1fa3149b60f3425b96036b5cb2b3f1162a83e39d2c237c85c0736601a203fbed6aa3e0d0e573732f66836aeb3033f40ff953e7158a6374dfdc037e06bcf3ef9557e3ef89684387df33636c4ae9a3efb54483e27473a370946aa36fa40493e98800e3e2ac936388954363898ddd23da049a43d29748138634a4a35a0987e3a166cce3c79eff3368aa4f731d964063805d74838710bce37e9492d34028d2f34d2053034920b2f341452d93525a9db3584c3f9354f460e367877e93450bcf1346c80ee343568f234d417c1343266ca343d6dce342050d33414622f3654e02e36202834362bae3a3627c8df3443c0e8340030e13433c6f634bc909435e2ff8f3553988d352caaa635072a4437c11835373db44937208c8e3785463e3437263b347f073c3452123d3441e0313457dcfb3e290a023fc1a05b37209fa63675bce63ed739043f2b725a3745ed1835ae52bc3e8186e43e348c1f38f666783763a6923e0aa5be3e6ff59038125edd37a749603e91d28f3ed3e9813869e83c389efa093e0f70533ecf89a33868b41838c75e893d6e44f33d4a466f38af280738738a723aaef0023d109c3b38c6eada3533840d386c684838021faf37d8f6df310ab9dd313dd7dc314e83e0316faf2f35ea8e3c350e563235795b3335a5e385353fee8d35d78c8a35adcbbe35e09a5f3406846e34c0ee7c34a95082344e100c3607f01436a4831336a4a91d36d8840736332c0c3636190536bd4f7c3775f7c9361846ad3655adc3362469043771840637da759a3650890537df096237ac4622378d000e37c9782f37fcbe52370c285137c359a03e01c92f3fe4173737c8fc4d35b3e08b3e3a64333fc88f443567233e3733ab573ec52f1b3fcaa83338b784413655d7273e6622003f86810b38d6653d36cca6f43d1b1bc43eec762337d8104538ce3f943d4f4c8c3e1cdc8d382e14a537b5e2033d5858243e1cee0b38da4dd43702ded939288f253d629b0238f3c66c373a07263851158438b886a0374c19cf34b8a1d3340094cd34548fc7343d2f08363a2d0a3667610a367bb308367d5b7c35ca768035c7f48035dc03833535a0ac3586faa53539f29c35f9c3bf3574609d35b6869e35b0359f35e2ca9d35eea70935eb6c0d35d2600f353f2612350287d935d306ce35c68dc53543eced35df18ea3450a4f0348b34fb3407b8eb34ea57c53446fa1e328c561a35c2fab03515dc8d36af94083ecad95d3f6e2c003684cd1136e563be3dab47623f342710362496873581c1a83ddbf23a3f4bc61338d4c684374756283d23021f3f31032a38f7e384363c28193d465fee3e6c2a1b3831d1d236454cfe3b8dbcac3e64af1038fa173938d54c383c8fd83f3eaf5386389034bf37710e2a3a3338523dd042f0376d8802365cdc69371281bb37baea8936266f1734134a193494b01934c60319348c9a063564d610356f28083553673a352a8bb03323dab133990cb2330ad4b233b9748234a7338434aeea8a348b5493348a1644354a434b35d12533354e2f67358ed919346ee41834fab5193451811a3468cff135c9d0c13560faaa3552750a3644557135b199773544315235b5eb523607c066341df962343503643434576534a62a9c35fbc4b838b9fc7f3f496042355091de35fb250538f9f5793ff96859375ef9b233d96364386156553f383d45382f61dc377586c13862892e3f0bbebb385c4eb7355f665438efe5043fe83955389a5de536d6e66e3851e6b83e1795543865ba88386602ed38ce23533e97beca38c82143384f7bbd3814f6783d24f67e38533f60341aef50377143cf372c135e340000000000000000000000000000000019ba2535263e3635a50f293563f14135ea962736e2601a365de50c36e7585d36524a58351cb05c35e0e25b3530d97f352e841b36ef33223637661b36793a2636d6afb937c9bd5e37e5a37737136c42382d0523370e531337aa3f0f3724b63437a482703631b1743683296c36abc381360000000000000000000000000000000000000000000000000000803f0000000089976a35c3f88f37e479773f465d4038f5da373782c13c3800c9533f7146ac383671d2366b55023883262b3fa8fe6438d6c74536c520bd375359013fa651523836b9da388d080c39b05aaf3e4c46493adb1a30380c60953871f0383e52bd103aa1a6c736258cbb371a2b2b3d7cbd21380000000000000000000000000000000000000000000000000000000000000000dda90b36193e1636459a2b3659ab3e3632a7a63503e5b235cf6ed1356ff9ec35778c8c35f1ab8d3569758f35334e91356ef31336b6701636b5cf1d36b80025360c3a193654ac6936ab5f88370f75e5376cdf3137e98d4537f062d337952c29389ee41f372ac9203735d32a374d2f4d3700000000000000000000000000000000000000000000803f000000000000000046b6c737b57e6b3fd537c13855de2d39b36f8337a5fa453f4bf79139ea088a39635b2238635c213f2d41a43a49c8553ab6661438fe86fc3ecb31253adae5e039d4c56a384896ac3e96b6883cac602d3afaf9a2384995513ea8af593c936d71390fb5133c18635a3d3cd4433cbaa08b39000000000000000000000000000000007c468235b3f795354a29ba35efebe135b1bf8f36839096368f4ba436574bb1367c0bc735fbb9d5355febfc3590ad133636737a35b3d38f353cddb1355993d4357bf4953617909936b1629f363beaa53658ea2a367d482c3639cd343628363e36df4ba335a4eda7353f04ae35064eb5353f688036ae788036d9447d360f467a3634896e36d8566e362229713625847036431108382267713f6ef6673d5b376a38aa86ca36a114583fefb7613d6471f6381cd1e5377357343fc40a7c3dbb2cc33a2234a537841c123f39cf753db320923a59670838cc2ae23ee2df5b3d1b86ae3a3612d937d7c1a33e4dd1213dc53a713974980638067b473e32a3ea3ca695103a7a9bfb378822613d0d0ad83c4d68283ad1d3d93649b69337308cc4372baed2373b306033c55f67338c746033135d693334fc413674c046365f94523635905f360cf84f36f17a613605428136c58791365aa9aa348d68ab34ad59ec34b7c73435afb8533648be59363c8a6136659d6c36a80a32369e963236a5333336e52c3336b6d58b353fda8e355ef79535ec439d35a75b4836b0de4636c81d42360ea43d369a20543630b05336a4cc4d36c435a036f53b6c37ce874b3f1f07513eeb973e3932b97536a75b373f2754463eb4eb8239a8e3b8363da7153fb630363e742b233aa68970369174f63e488d1f3e4e7d563a1f0109388db9be3ee887fa3dbbd9343a751dbe37d1d1873e9368b53dc0352e3af2cb0c381a452b3e5d095a3d28e93d3a4a90d637c0024a3d0469d03c3c93053935e41637e420a3377cd7d237afa9d13746992534447524343c86253490d82734664c13362045163652011e36e57e26367554643490096234b8866334d7beb4344c67b63596a4b83589e8ba350095bc352a4ce9354950e7352688ed3545b9f9357dcc5335ea04583523266b3558f3823590408f36eac68f3675a3cf36ed662d37db5eef366bf3e6367631323744b38c3793ee3737156d4637979185371272a8379e1b2638b8bf243f29f6b53edda5b439fb44843628fa123fa24ead3e03248e38bc880f3725e7f43e054b973e26c0bf38f26128389ee0c53e281c7d3ebadef239260b8636e5fb993ec7e24a3e7f56313aa548df373e84593eaa76123ea4c1823a5fed46381f96123ef680a63dc75d223a1b701338b936323df0c3fa3cc65a6a399c7de63798ea1a3823384b3845223d38ae5dc53683cac7365d09cb36a2e7ea364e9a0d36cb131436947b243658c73936d288cb355627e03549d3f935c4730f3632be883608458c36722d913618ef993684a650361b3b5436aab359362917643611129b365bb29c36c9459f365bd9a336fac882360e998d368d2daa36355f6b37c91f943652f6923699509036cd7f0c37b9ed4b378bbf573746716f3756d293378323dc37af3bfc3e4dd1013f84d13e38aff05f36500ade3ec107f83ecd2c1b384f907537c8d5b93e30a0d43e4bb97c3975b6e83709e1953e03f0b13e28eeae38090b903708fb6c3ec940893e09d6063af681293808e9223e0fdd4c3eff4e1b3a9dd11f38c16bc73d8efafc3d8a852d3ae46be2377f7f013d70614b3d94060d3ad908d1377f2911384ad837388a4a20385edcce358471d93599f9a73623e751371844023682e00536065f0d367694183660393836cf634636676152365c656636419582340123833489f487344cac04354c93e135c891e63515bdeb35970fff358eafd935c3a5db3518b4e335485f783716030e35e52f1235d1391a35c4672c35332def36fb8ff136e93f51373a34c4373cc40b37dbcf0d37069e2237d6349537492d21388696ae3ee5a0283fe6b07c38dc0c2a36d84d963e6ccd213f0b6924389d42c737534c743ec034093f8bdde53959107c373fa0483eb5b5e43ee3e7843a33dfa736bbb31c3eac7ab13e4d167d3af62a5b38a9b4de3d685b833e94d5223ac0535d38a918813d3f63263ec1371c3a02536c383b95e63c188d703d297ed63970a6093875f05038094e0a3a01999b38db8c263670072e36056bc93656ff0e3798b99f35ca1ca53587b5ad35f214c035f733403539325435706d683521438b354e442d36523d2e36e1562f36e42c3036ae6b6336b2e565361ea86836b06a8f3652cdc535626dc935ce02ca358daed53595fdc336a402c6365b76c636b7b917371ee99a36458c8c36b6a7b8365bf2f836b7d85034edfa4a3496484434eb4a4334a94a22380b84423eeb524f3f8e2a73382c90e535dcba113e2365483fd50b62380c02163761220c3e022d243fab3d2e3aec088e3701f6ce3d34280b3f7c79783a8c571738502eaf3def1cd63e90745c3a13f1a4372dda493de7c89a3eaca12c3c0e310a3836f2f83c9fc3463e39c34b3c42d294390f76c93cf146833de9a16e3a44d1a437a15f40383491fb39a88a72381e4272364d37743649f6733622f58236ff18e235f2c3f33511520336fd771f368e70963526ed9735bb399935dc039c35e59e063622b30e365c7a143614dd2736d289a23645eaa53615dca6360e76ae360ffbf535c9f9ff35c09b033606620d361d095e36052d5f36a6325d36f42160361597fb360c6afb36abe0f636b982f636f1a60338b921053831ee0e3823111e38cac4ff37357f203d0fe1753f3c8190393de550360b26133c5884683fac5a3d3ad9749036434e0c3c8e40443f2d026b3a111b9737f55c0e3cda2c213f4d9b143b24ac0838a2dc1a3cb40bf73eead7393c0636cf373000913b2b9ab33ee9c1543c5139a639f3673e3cf9b4533e8faa633ccb444c3837d8aa3c10da873de64b5d3cd006383871574a384e6b6538d1fb533800000000000000000000000000000000b6a19036c07b98366ad69d363bf1a936b5f98c3542788d357dc2a3351a50d03578b4c735de64d6355280df35728af9353b6108363932143668e9153695fb213696ee973554ea973579b49735c7b2983560f71736b7432d369fd149368e590037341f0e37c3bc1237b2e98a378b47eb370000000000000000000000000000000000000000000000000000803f0000000032eec33680d13d3704e46c3f92021539fbbc013856427d382308483fa2469739a136193891c359380f14223fc5a0493c22eb9237aaad3a389f53013fb4e3123aadff063870b966387489b53e40a4553c3c8a0b38675a5438ace9583eb748693c3c06d238bc264f3cf811873ddd078b3a000000000000000000000000000000000000000000000000000000000000000069370037902a003772d9243706c32f371e5b0a37f39b02372e612137efb83837a2f58b33fa85d633da388a37997b5b38738ebe362744c7369f27ed37890c8338c613ed363be1f33688090137d9fe31379df98c3731ec9b36ff990f384a4c3638073636369d255136ba29433706779d3700000000000000000000000000000000000000000000803f000000000000000019972937e7157a3f72f882388e5dc8378cf01f370fcf5e3f749b2538f65c843767c2b938781d303fc85405391276d038bb4dd2388b95fe3e00860139d7dcbd38d275dc3777029e3ee8bc1838d0eeb537df9990386c7a023e6417ac3824b249383e90523873a1903cd1bc70389b6edb3700000000000000000000000000000000bf3735349c55903498ac983470577b34fb549f36953e9836db91c8369833da3635940c361b95ef35adb62436ab8b3f36000000000000000000000000269b7a36aba26c3694e5653608119e36b8695d3792fcef3598ffc3359aadd53510300136e611a73719426e3438aab637b64e3638a92dee37045ec037e1e208389ffb2e3806975835f2d23e355bd12d3563a229354ec7ac34e2ef7c3f672f4c3caec9f2348fcccd36f4e7713fe0e0473c4c2c8637747e1836a172583f48a0c238d7761938584dee33b9212a3fc91ac639d6e80138886bc337040cf83eda97b138a79a3038d2ed0b36d9db9b3eec691d385daa323702ac8c386c4b083ecda5ab3b8d7f823892c8403888989e3c3231eb39068f7038ce1f1c3565110e3748666537fb910d3698fff535312efb35c78a2c36ddd72a36b3ffbe352be9b9352256cb35e678073694b40a3679711636c2052c369d33443632e69936b7e28836fa59ad36908cae36fdcf4136baff40366f527036785a0937c131b635c81cc635bff1f835195207364a5ee836f921dd363a7bf6368261e436a7cfac3695e6b736be7ebe367d57a6369609163651072036ade1383612c627366db5a735a637643fc0c0de3d76981736fa3abd35256b5c3f9e82fe3de36d2836ee362f3605493f3f8a64b93d734b91370e3fb136f7ac143f8682b73d8389bf3642ae8a366862d53ef47da53d355e3938556df2351e5e853e5ec0893d7cc05c370839f736229eb93d9b06683db6b4f1361f7dbb36e21dd7387203003c0f5eb836fa8b01361a4ae336ce798c3731db6336c7ebbb351b07c535b414d235e17fb2373557ad36997ab136085cc4365b7be336406fba3645c0ac360bccd936d8dc06378d0ea935926c9935ff3ad535f29ebf35ef3ecb36601cd0361dc1ef360bf27d37f43c983665b19836c1cfb4363d72c236b7b6d436388abc363347e136cf71203720c777365e677236a5909136a14b6e36a951bc362c48c93640cebc362da4bb36be07b635b824323f88e59b3ef0ded63690c5a236ba382d3f3034a53e7baf81377b3ad136a4ba113fdf438b3e0da8f636cedad635b36ae13e9037723e1a05c235535c7e3782f99f3ef8db3a3ea4af35384a759a366095433ebee5033e2c40b236f2bb2a37ad95873d264da03d9f7b9437cf5b5b3617968938166aa63a105c7c361648923657ad34373e456c372709c6369e3dc23440cb3a367682993641f64636ce0df2367bbff736b6e9023739ee0d37de78c6357e43a035d834a13560994337cde07735f0e91e35c9d672353320a236a128f336ae7aed3620bbf0369d5b15371cc8c936e7cb43351fe5f8348c222f380f4e0a38c5e54837beb3c13715f04a38cc971f3780822337ca2a1f371c9d1a37686a923732d44c374959703785738437ac353d35d729003f99faff3e185f0036040705376574f33ee5bd033f4dcf0037ca77bc35cb08cb3ecab9ea3e8ba89f37f08b603671cd993e565cc33e45539135ec9d60378ed85e3ee49f903e2fb29a37fc0f10383583013edcc7453ea90354389da44338902d7a3d8d00b03d4b414238fb071937c578983ab0c6083cde871737cf3cde35892d21388645333801422f366396ba36c2b1ca36f020bc36a608ba367de235363b8a1b36c55a0936203b3a36ce7a9736f219a23684319d36fffdc836b877b336c1e19e362d6c9f36dfcfb5365156da3628a3d8369c30d5362b68f436e56fb935abc2c735245efb35c9fc0536359c07379ce7f93692610a37df110e379882673757a96237ab2b2e37bb440a38f2f9d9362f2e1636ab9cd7367792813757a3b7367aaa993e0464333f12b58436a30826360721923e62e8363f4b430d36ade4c236a7ee613ef8c3223f9682ac36d2d7c536a0bf273e84ab043f9c93a7361fa6f03787ceec3d4ed3c83ec689e837e5f0f43561b2923d1cc4813e9aab0c36a1411637eaa8553d82aedd3d0a950e37536afc377c2d633ae91ab73af63bb737170ee03537b13f38a95f2a38a7c6bc35c4aa39369237953637cb333694a36336c4a18236b6ed8d3672705536c07e9636b55bba36c7ceac361f68ad36c357da367f54b335f4feab355c17c63590f0b235791f6436d93c6636c3de6036931f82363c73a036332999366848a136c9e3b7367d9b2636c3e00e36fdea2236a4435636d78c303634a33036bfb23936837f1336bd1e2436866a4d36af9944363af42836d886c13625bbdb3d1e7f643fb2b9c635e3748c36aa13c53db4ab653f539161360613ca36d0df293d50ff4f3fad85bd364dcbee35558ab93cecbd263fd139b835092be5376421c13c62faf53efddb863755399a3636c3f83c85199a3e563ea336ba6f1f37743d1f3d24c6fd3d3b734b367a441d36c183653c77ade13aba4d2536def61036482e2e367f061636e9420f3688df3835ea094035183a2d35c2656735bb7a9036464d8836449c1b360f0a91360000000060d846340000000000000000bf311a368c6c07360a58cc353723f43519e59236a2e08536fdb44d36f3b195360000000000000000000000005a5e2d37f3e0723607f66d363bbc7b36c06d853761b9f3365fc7ef36cb78e0368821e7364a16a934327497340f508834c1446234bd95bd36e01fcb3aabde7f3fd15c12352a2a16386c8aea394db47a3fcb660d377e4801388472f238ab085d3f4c827337d786213653d0ef37e259323fcbab6f365d42eb37309a9938eb30043f4c1f1438b0832a38f3efed38cf66ac3ebc8f533875432a38e5cf3e3be8951c3ee6171c38c178ab376f1e6538d457303d98a67b3794896334db89cd369ade1837d006ac340000000000000000000000000000000004fe16360aa6db35469f453534b5193637ad333557af4b35e9bf2b35846041350d5cff3631d5e13628c4ce36c81c04370ac052385bccbb37cc3bbe36e37b29382dd947385e76c63725f1c836b16e5738e3eb2f37dc842337f1d42637f3563c376d9fb53762e98437624e3037513183370000000000000000000000000000000000000000000000000000803f0000000052963636fc22d837d9cd7b3f2a8e9837999b8d3698ce2d384bba5f3f6026473840563237ded6e8374c76313f7bc7fd379737a938c3b2df38e635013f6c6bd33822309538b825e438d8d1a03ec2cfd538dfea8537b1560938fe22063e85260b38babe0438f5f270382fddca3cab553a38000000000000000000000000000000000000000000000000000000000000000000000000000000005d34cf3320a2a1349d712d369b574c36e84eb836eb1af5364a72b6343d131f357aadcc35b0720e36a45ff0355176073632f51836286d2e361b71a936b634b136ce89d236ec951c3735de893635ede3365720c8378ddd23388fe4be364bbcbc369413c1367571cc3600000000000000000000000000000000000000000000803f00000000000000000c98083864c8713fa9f2a03918eaac38f6358c379d60513f42bd063bb158123a0a63483848d2273ff8889a3a3c60c3386efdea385c08fb3e5ad3d93aa0f50b39cbc414383db9a23e3e09c73c8855c438e702d13879700b3ee6ae213dfd23c3385d603f386b80313d02b9d03bd3672638000000000000000000000000000000000df4e934afc92c354c7b1f3580975a350000000000000000000000000000000000000000000000000000000000000000b4999234c66f9134c110a53451c99934266b8d339794bf3384df9a333d9582336123503328b07433d388d7349d1b3c35e009c2346ee7b534037a0235297d6f366a1f16350a173735c6e4d6347feaba36e2257e357cbb9d355a19523561ba6035dc3ec035bfb7793ff084cb3cff7b6038b0f81e33ef5f633ff1d4223d17ae8d38b2d9693647d4463f78ebb53c7f0e8438e0ff0e37a2e11d3f72dce43c8e659d386349dc372791e43ea680043d5417a938048ba137f6818e3eb6ed4d3d575650389c99353875e9e73d21f1823d791d8238c18207387e81843c082acd3c948f7838ea230735b22c46358a2e7e35f1998235d6592a35a07f3735e44e1e351a234135ecc803349b7d3633737370349f24d334c3a45033447aaf3336094c3352916933ebfda43502d7b9355a12ea357ac8ec35000000000000000000000000000000001b78ed34e680003515de163533c603353bc2ac35aea1c135fff54836214c9f36000000000000000000000000000000001840cd354258d8359ad5df35ad6ecf3562427e35d409613fc434f83df9b41438a7ea0835dfff4c3fbe7f083eb73732384873db37cece293f6de30f3ee491d238ed4c13366397ff3e04cd153ed01d9b381e5b533728d4b43ef5ec0b3e8dc98c38e55e19385998573eb753ef3d35eeaa387a2cc537101db73d1510c43d5f764f38f8e37f372fea6038e756053dc5994d38d5690336911823360859a8367e4a2d36d3d6b135d47ac3353186ab35301dc6357dfa8835a2259d3582e59b351f8fa6351f2ea235690eb635ce61bc35f98cc935e2494335bdc583351b7d5935f1db91358b482c35b41c55351f7a3d351c96693536f0e835ee770b3655e00a3658a31a3658348535876f9d34638b3037f5a50b38bb361d36d04a2436ca1e4836b8593636a74b11364626173635930636559afe35cff7f43598a12f3f9116a13e832600373cdbfc3541411e3f1dada83e71ff1438ca6753365ad9f83e664fa23e85b7db37c409ec37f704bb3e7631953e3588c538e192bd350478803eafe3793e7bef7938bebb3e36ac56153eaca7453ed0ad4f383cd0b638c38d6b3d283f013ee97e0d39a1f79f3635f073381d2a173d81364c38fc72e83585c926364de7183683edf2359530a935a9dcc2350e087735b9c5a83500000000000000000000000000000000000000000000000000000000ed7f0f31c14127336d501c3308a73e333bf32233e3f4803368c1a7335d647e3389194633a3a76a33e5838d33328684336e592e34e15d84313f6d1031e7bb5f3100000000073307347a3396340000000000000000ff9cd6356fedfa359233d535af28ce353c4ce8352f4dfc3edfe5013f8389b235e455b1319d4dd63e8c38093fd86cf23738bc2932653da53e378bfb3e63df9837ff108236cbdb693e6e4ddc3e8d78d937952f683673422f3ebeb2a83efb1435386a8ce936f665ac3df81d843ee9c50938c6d7e33626dc4c3dabf50b3edbf529386c53923794c3873849a23b3d19fb61384fb4af35bb4adc35a7c27b3625f60136b1dbc83566d9ca35b53ba83569d3b93577bc1c355c980c3525483535f6e45835c2aa5534199b8e34bb6554349dc757341d2eec35e54efa3553fdff354be100365f075735d1d54b359e1f473554982d35d356bc350589bd35a732ba35e32cb13566cacd357f10e2358c75d8359043da35a0e650367adf4d36b6de5836c5945636ea42f4359376f8351a9e05368a19e835a04aea35ab7d983efae3333f9b72cd3517680a36e071673e97c73c3f0c171437577a913857c4153eebac2b3f15d0c138177220365bf7c43daff2103fa205183854a155361453733d8f9ae43e76104538103755385bcfd63c96d0a23e7cbbab38100b24374caf243d8e62213e32e90a388f8c183723f66d3955ff563dd9142038d59d0f36a11799373459003858b63436ed21f6355f110c36665de0350f4af23500000000000000000000000000000000f8506335648ba535f0488d352fcda035a672bb3436c01b3525a4b934b1fad834000000000000000000000000000000004a2ee535bf4d0d3696d9f935567c0c3639e941333c7206346b049933e5f17937d6a25e35f8425f3595345b353e9689356b190c36de571c36dff00536e061db35e4acdc3660bad23d60bb653f3dc20f3691f8363741e2fe3cb9c36f3fa7087037b8964b3727fdf53808b7503fc30402388ecbf63796accb3843622c3fcad5a8388769c13750089938fcca023f2c0389380a7b723707fb9f382ddeb53e9a258d3801e89238c4bce33c8b342d3ea575ea38ef875d37212d0f3bba2e833de7222138977601368ece0a38bd482338626181373c74473508972d35740a55338642f8341b714932704ddd320a94c83235888e32d3d5a034ad51a23454199234cad4fb34df8b4a34b28226345b2d033399436b345eaddb333406f733f4aabc3371278933dbe3b134bd0bae34cc61a734d0b1e33400000000000000000000000000000000e17bc93295b8433300000000000000008b7dc035458acb35640ec23533bcb7351dadb035a25bc639cafc7f3fe3cd40357867b43619e46c387880753f85442b383ccb8e36b39923381de2523f8dd4813872c48e36ebb8e437710f2c3f86ab5738a7206d3744c06f389fa1053f8841a4381e204237466b6d38a562b63e12bba738b79cce3774243c3cd5dd423e45447939fe4ffb37893086388e3f943dddb88a3819e98b355d4b563759b8ff3747abd73500000000000000000000000000000000ef4b9e36ba619f36504c9b368b0cb136ae994136bd473d36ed8129361d637436e0889d3632d49e36015d8b36b00fb8365a952636c23e23368cd91d368d3533367f31053631e702366f17fb35fa522636277b133750af143705c414372ae1243769671d36fb560b36c82d3736c8d3e1360000000000000000000000000000000000000000000000000000803f00000000f7cfcd36cf5f14375574733fa02b673826f28737376a63388237533f26e6d638a9572e37f2a78c37236e283f4551553abcb58237ff60b9385a2d023fb7d91b39bae7253819e6943871d9af3e2de4a93aa6a0b5376d416d3b6de81d3ed1c6b23c6a74243845ca9038cc20643d3efdb738000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dd1dca33c0bd81343db60235bd272a35dd0c9b3325509d33fa589d331d9c9e33d0389a34cfbaab3410f4ef347943f1344418bc3675cbc7368fffd136bfb5d43606fd7b33cabc34346888b334d165db3486cbb73556c7b8353fd4be35c100b73500000000000000000000000000000000000000000000803f000000000000000000000000e932613fbc8e963cf808e03c6779fc35d6f73f3f97d2cd3bdbd5d13c0fbd9b3814a0183f512abc3c12cdf53cdad80b35b50de43e3d240f3debee073d0f6daf37200b983e3ef04e3d75b5e23c598d85389a581a3e5d31873d1f34e13c68058d37c53b373d5fc3193d274f483c000000000000000000000000000000005d53473483564c3413944b34bcad4f347fd8be335191c233f6b92c3496dd8734bfcec135ec85e53540610b36c9602336b202e2355a04043617de21366ce14d36fdda233583c630355ec452355fa75835ebbed736a899de36c48de5362f2bee36f95b85365d908b36f559903684c59336d7beae3522ddaa3531b9b3357153ab35c214a436944fa236ee06a3366c20a136590d363877fc763f93e90b3d87c9a03a5685e7340380563f0a91103d1a23173d74b675363cda2e3f0388673d07be083db5ea2b38351f053fc1a7ae3db3d6103db4267535f6a9c23e5778ac3dd5861a3d7cf04d387a477f3ec8b8a63d1542163dc27887386cfb093ed7c9813d7501b43c13d708383fc4a43c44b73e3d1896cb3a1e3ba7367dc1b4363b08ca363be85037ed864e36a44083360a9d9736150cb136b026ab31ddd11432a9237431ac9fc53149fcc032858f9a340e71173544526535b923b736a245cf36a662e436b225fc36d38add3123731d3245d7e731a4121d3200000000000000002dfca633491fa53481dc353619043d36ed093d36bc0643360000000000000000000000000000000000000000000000000000000000000000e5830238d9ad533f2005313e81ac8d39ebcde731cdcb343f9d5a363ed624e43cd9a10c37c98b0a3f677f4a3e70f6283d9a5c6938dd3ad43e067c423e5d91ee3cba146732635d9a3e4924253ebb7db23c4a7120386080353e6ea5053e29451c3df6372c3877edc23d06e9af3d3610193d5e840938a95b8c38e78b403dd7b6873c9da8d93317910535fddf8a355546ab35000000000000000000000000000000000000000000000000000000000000000097e30a36e25e1a36123d31366a6c413600000000000000000000000032900435062a96313f519831d327973198ed983156c2b236e4bbbb362765c836f5dacb36bb08d0346034fc343f5220353d94143580768934cc708a34d477a7341311993459102237f9b1223786da273772d326376b39e836fa0c283f28dcaf3e842344390000000059500a3f37cfb53e5362c13c6c3aa0378206d43e5e54ae3ef93ab13cf3ecd13796609b3ea0949c3eedfe003d53a99e31701a573e14637c3ebc7f253d6d8c1c38d957fa3d8c51443e06bb1c3d0e1c0438e68e673d2836013e838a193da7066a37debf4538c8aa5a3d046f823c29a52b37fd6d3237000b103891fd34388560b535f44bf0353fd20b3638a52236a5da3134b4d673346a2dc034b46df4348acb1036dc2720360e812d3612aa453695f49b36196eb2363554c6364cd1d9368587cd34bc25e0345b0908356f5310359877e1366969e636a1d4e836ef1fed36cc7e8736708b8d3693858f3683028f3652587d35d0a47435872e83355d5c7d3520ec5636e84c4e369357473639e13a36aead4f386bcbf53e672d053f293fd3389ee81e356413c03e625c0b3f6f365a3ba9b1c1375ffd8c3eba64f53ea44eca3c3b061637ba74423e62d2d63ed2e2f33c8e90233577fa183e51c6a13e8579103ddf57d237a559863dadfe803ed938343d46cf88388d16fa3c8606163e53c8353dbee12638879e9138e45f743df4ee913c003a3836e777743631e2093841730c383e322537d3fb2d3776f22e370a9a353700000000444919300000000042b53e3000000000000000000000000000000000d31583363d989736d0aea43686a8b736e47db031b98ead31f0c8ad3135f3ac319debbb35bbc9db355d8bf535558b0336e2ce9b3683e89b3645b19436b83395360000000000000000000000000000000000000000000000000000000000000000d1b1be383ea99d3e9730313fa9f6ce38bc542633a500523e75f7383f7659583b333cd1368d80073eb936243fb767dc3b5075cc376a4da43d8b13093f89ed073db7129a330068413d36f3d23e3db7373d6b063438cd58413c84ce9c3e92b42b3d38b5a1387b63413c317d323ed9521d3d4e8ec9377f59f139cea97e3db1879a3c3a5b15353e1d5d378210e437c4b1db377f295835b0d29d35a090a0354ffdab3500000000000000000000000000000000847dc035bf77d6352d8bec354c5d0336000000000000000000000000c259db33e445bc3186ef9f31cf60db30242d3d318a5b0437127b0537411e07379a3907371920f335ae79fd35b90706361aad0736311cc03313add0335fc627342919023428e40e376f0d0c37bef80a37c6f40437ad197238d16e0b3e78355d3fa8b74c380000000084ccfe3c2e48673f3e44123b11d4b3367e04d93b2283413fee97a23cb55354378e04cc38e47f1f3f8b89023d35e5b4311d9bd1310f97f03e44843e3dade2813765fb21391b32aa3eab290e3d966d1338b8be8b38c8843a3ef2e01c3d1c254238132b2e3b738c853da7aca73cf2730037b76a0a38d262bf389f66bf385e22bb364a31c6368d5fcb36946ed436f671c534cb6eef34eb4919357c7c3535ffee2736c9503736da0f4036d5955436a3179b3677caaf367710c0369d22d6362f971d3558ce2c3518654635b4c75135707967361e1b6d3681c66c36e2ad743668b567369767753691f27936094d8036ef516335cda26235caa56e35d65c633583f13c36be212a36419914362c0dfc3518ea8f38417a8b3a7ccb7f3f4132b938a2706d3552341d3754ab6d3f0c326b3b5a268936e7b8443887c5463f8736843bb851163768a1aa38f9d6203f0d52a23b1605703596477f354d7ef03e15dded3ca1eaac363c75e038e3bca73eeb81063d15ea03386771893806bc3c3ee6e1313df5ac0d38913c7b385b12853de7a7ce3c8bc6f037a4886338222da1382a879b3800000000000000000000000000000000d802c134f2e8fe3433b11235bc872e3547a654320c854d3267734e32c50e4f32c2f479366b7a8e364bce9b369eaaaf36de49a3345044c9348750d434b750ed34b292b1335bceaf33bce6af335940af334f29223619fd2536f9a21e36c0fd21360000000054be9430000000000e23b32f0000000000000000000000000000000000000000000000000000803f00000000f2326435c58396362f9d663fa494aa3bbe6f5132c6911238774f403feb04ac3bc659f036e1ce8037c3b91b3fa8478f3c7fa7103552811c351bcdee3e00c1ae3ccc6e3938813bbe381ae6a43e2825ef3ccb4e373691c8c83719d8343e9e412e3d2379cb302eddb930b10c4f3df1e5c83c0000000000000000000000000000000000000000000000000000000000000000bc3de1337073cd330415883468dfd634aad95633d8038733c67820349a9cec33366e8f351b387735b472b0355138b335e7650334f0faed33216f0035bbc32135f6340835addd0735f95b343505010a3585ea4d347bddd933cda763347e218d340000000000000000407c5d310000000000000000000000000000000000000000000000000000803f0000000000000000a568ae34dd53763fca38013795baaa3454e90234e0275b3fd2398b390f9e943301606f38ad81313fad19263a167fbb3989858f34aa19003f64dc033a67bbd2344bfd0535d133a03e51209c3a485ad234f145143a9118133e729ca13a8f1b5b3700000000e7120a3d000000000000000000000000000000000000000000000000b79b0d35e4c1f534fb9d853477771835c87623343ddb3c34150e7334b65f57347de7ec32ab47d932f5abf232ed3b1b33a1e6993564d502351fce7b359b1aba35f7b742320000000097f82332182ea732b898d932c72ccc32a06adb328bbf073327b782356739f834845b1b3510e1593593e3ec3310a1f833fe9c42345e624034587eb934a78d9f342b229834afeb973404e9ec34a7677b3fb208d13c18b511353f7fb13497ad693f7b2d123d94b59134e8e62633e51c513f1083483bccb2bb384c12a835ed3b273fd59cb83be704ef352c303b33ac3cf33ea235ca3b21a53633c1441133918a953edff2c83cf2c13033ca52da34b41af63db3f32a3db4bf963536803134fdb50b3d8f688b3b46a80c340c016b34e98682342e2c87345ce894348feef3343c17cf34d767dc34f592f1348785c33488d08034f375b33479aef33449c79534ae808b3371cf5f340351b3348836263559270835614c003560440f350000000000000000000000000000000034b2e2344070b334f08a7f348cba9e34ec76d1344bfe0a3566449f343a037634bd71c33382190f33ea21b23336951034078834359a1d1635d48f2b35939a1e357dc51f35501e643f193cec3d06f3f5348aafdc346870573fbc97fd3dfc55e0345a2f8a34fa34393f29a2c93dc5a40335c836643501b80e3f01cad43d84204d35000000007419c73e8004e83d00000000ef0713352e5c5e3ed8f6eb3d547432356fd81a35dcc2853deac1ca3d52fcc834c4cca8335c9ebe37f9e68f3c55e19533af701535a2490e35cc072f35b33e2f353ff10a350ad30135a16311359beee6346b00bc34def9ab3403d9bb346b5f003599a03d35915e1a3512c35135d30f2d35aa5f9235bf427035e1178d35b8995835c8c05434504f4d340f216834ef3da334c92aa63542929a35724abf35ed6592352b64e634e999ae345552d134859c4a34bfdde23482cacc34fc00d3341cfbe93461099d357a7798358cfcad35d5e5883590d535351e15383fce18943efde2d2346998c6347366293ff12bab3e3934e634531b3935b9530b3f6302953e61655235bf619435d6b3d23e9046873e13f99635dcf88034d7c3873e8f9b733e579e8d34953c983536f00e3e2ae83d3e0b638f35bd19b734a004433d6b6eea3d21c7db342e81e7347661b839a9cea93c52bedc346c6185353f8999351afe9a35ecf88135de103e35f39260357ebafc3491846835c4736733a652b033d0fdeb33be5e9233a6e325340000000000000000e8fff4321797673521e4bf3402343b351ca99a35514b273203a689320e110133d2309a324d0961351b6de033d44fd9341d492835b3a638357e3d7134d5f2d734abb7163598a1ab330545cb33deb80a341c3a063408aaac3526b94835d3069f352d056a358e2be0342d02053f806cfb3e4b2f9034f5fd2a349804f53e0480053f2c4aca3394cc3535d5c7be3edd70f63e70f0df3466f763354d7a823e16ddd33e2b76a335d6ee15336aa3373e677fa93ee03d48320394a635fe7ace3d2b807d3ee039713503352e349426493d3d6fe53d404c74357bb8e933adba313be0a4183c96a3bd33df250935bc3b5337256f82370170863408e16c3502e35e35c5b85635be245a35aef0b534345c9134933baa344099dd345babbc34f4d96734c1ea55340cd6903444ce8135862361352d254435ac625335ead84634f4672d347a824f34f0ac9a343782983536d88535035768353dee7335ef0d2e3520b1343522780d357b780c35852ad134c5bfb7340a51c5347cc800354bce263594aa1e35241a293571a91635b7219135ae4ba03e2456323f237058351344be345d0e923edd63343ff928c93431b59134a9d1403e71de293fde06c3347f049d354e09033ea0c00f3fb11c7c3561b28134718d993d7294e03e2cbb8e346bd19b35ec22633d47fb913e8aeb8f3573fb5a356ea9633d0f02ff3dfd9e3435271be3340ebdd23b6ca2093c9b20f3346980133522d20f3505db2835022f1d3545921435aa64093584861a356da8e7349f490a342cf6d6339952b0332b1cfd33efcbfe346654b534097dd63435e4a3342be7f7340b4ea7347484f634831e17340000000000000000000000004e351733b6c172358d74553540897b353e293d35e2030c3548d1d5349a6aeb3448805734804a04354a92ef34188efc34b3380935d0642d352cb03035ec424b3525e91b35a0a94b3525fb0a3e2b385f3fe12fdc349cb4a9339922c83daee3643f5055b233a6f8d8342bea9e3ce637543f5845fb3468fc1d3594dc7e3bb3862d3f4890dc3400000000fd51c03b8c18023f00000000fd905a35d1e8023d1c79a43e03014835cc660735f4915f3d46e30b3e492eb9345af70935ab86a83ce378bf3cbec8fa34b7bd27353f23383574573435fbb80c35c97ae534c3438134d7a6fd33ae6b50349168c733ceac2134a21b3d34e026f033295048340000000000000000000000003630093379a62e33bfa41033d2fc2733d4966a332760c43393189033d6f8853320d39d354520273534b93235aa1d7c356ddc203394305033bb022e33bc303c33cef67134282d9834b52ba1342bbea234baf7933550e44b3509b87d35f7f85335f776c5348412133d350b793f4b0d9d346560833492871e3b9a53773f3a6b1f34c8e84b35cdc30f3aac90593f83ab2d356d7d1533d687f23842d3323f4c37e3346acd4233a53a6d3a7470083f7477623364ebce3523d1ea39fd75b53ecd09d2357ef22b337466b43c5ae22d3ebfcf0338fa4c90340bcc563a527f743dc7909334c59039350af48a373a1a87372e8b0e350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bd2bb5329c01c634ea469f3402455234aeea9734f4e22d34b6d0b0343dd52f34b2cb3d345aeda63542ab9c354cec5e3591989535285a433305637c336a5d533316986333d71f4434029f8a34651a2a34edc76b340000000000000000000000000000000000000000000000000000803f000000001e7b9f30b67e29319d757a3f00000000ebda84321137b733d1b45d3f0b38aa397fa6d834869bd934ecb5333f2f7401353e66da34b9631c37fed1033f7aceed361f71ba3530981b3a1550a33e7f0c3b3a00ed7533f7971d3ab9f01d3ebd18ba39f5a2c234119791377681423d4c14c1350000000000000000000000000000000000000000000000000000000000000000c94da23427bfcf341b493535b9f13d355015ed3383f9043491ec2d34e8f3203451d43634ad4489349ff18d345cf53a352b2b843464dc9434e3251035843f1135efe286346a1b8a347f83a6341567b4369d109335e4448835408ba9351bb9b4358afb9933e44698332fab9933e48fa33300000000000000000000000000000000000000000000803f000000000000000093ce783524046c3f5c235b3c03e8ae392dc5d236520e4b3f40307e3c8127fe3aa7bb23352581233f602b623c3e51903ab40c5337fcb7e93e9ef1193dc752dd3a9c782f388f888e3e06a0863d108dc8387775af365584f03de67ca23d3a990637db8caf33b0d6023d741dca3ccd6b943900000000000000000000000000000000907ba6311aea0b3271bad631ca60fa31cb65df3369de173469bc14341f7a143498456433d5e57b336546933396c0a133b31e853211e9e0320057a632290dba322f4b5634256d7d34481d6734e1117e34726b64331f926d33ede67c337d6b8733b2b8c23260ec25337bd6ea322e8afc32831a39343c1e6d348ef447343a3b55349f735135df522a35fca63e3561c5393518dbbd379677743f99d74a3db1fc8638f17c66344078593fa010973dcbfed938ecf9d833ebd93f3f218e383d77d2383b681b3733116a113fa082933d3063b53a275e9734b0c1c63ef904da3d78ad833a8a9a463792d5663e42bdef3d62c1cb391e415c361fcac53d4789cf3d4b1bc13927368534db5b7e3a6c6e5f3d5e543737610202354b751a3503abc236074f9936ef478d30b46eb631ad1337313c19813187163e311f9b053333896332c343ae320bc3cf34fe94b234274da234e3a82f358bf6ba331d66cb337566b6334f01aa3356e486347e9c9634df9081343c126b344ba0a6347894d63431398b345032a5347b41ca336e22f033bbaa09348ea308341ab240346b0986345971b334f180a334ff8d5b35ad852c3551d7013590c9ed3489670632133a643f7023e63d661203380e224a332aac453f21671d3e3ce11b3914385e355f2e1e3fb5453e3eeae5533a36f36934eed6dc3e6eb55c3e0565f4394d1988342d6a903e0029553e75d8ac399b64c53448250b3e363e4d3e63443c3ae5df0f34d9ee4f3d46500a3e4116c6396baab7340d5c9936619d483d0a11c734e1d4f93408e2173518c70335f29cf93409837e353eb48135d53c82356849bf3500000000dfb9063359c82034a3aae83395257733a97e9d330f78f233b396e93350e6bb347402fb348d540c352429323596619b343ad0a3348cc16334c800523419d4023457140b3469cef133682555346b81a73591a99e35dbacb8353d14cd3500000000000000000000000000000000b24b9b331622833300000000000000008702f3351571343f0f3c993e8ce368372899a734dc11143fa237b93e3b0e5436f3d04534d58cdc3e26b2c23eb1ed683998e54b35d4f98f3ef43ebd3e4b62023a4a54ac348c3f203e6a87ad3eb367173a493e2735e357803da1c4923e1fd2eb393cc2d735cd0db23cb8de323e58c4e83900000000000000004b90363d000000000000000008436d37af11fe37240c9e37834ff33428ba0135b3c3d2343f6ab13408f12a34c88f5a3420c44b340b0f4b34e498543301ed6433297b8033d27e903385f0ae32d0481433dad4d7327d73ad33d0934234c0496f340ec452342cf767343c392633cb852333c8d22733211137331415273363206833d15b3634dcf9983474814734bd8d6d34aedc4c3436d8703431326f349cd07b3429a0a7348254c834e0559c376b05fd3eddd0023ff52f0938d0228734deaec13eaa00133fe8926434ca00a133d173803ed867113f37618b36c70b6334af8d053e9e4e083f32d802390359d736bddaa03d90d7da3edc80dd3995e80634c0680a3cc56cae3e764d1b390e2eaf345eb2a63c212c2f3eeb7492398b3485343577a638511e603d4df5ca3585b6ed368dd1fc375e2f3338a557f8370000000000000000000000000000000000000000000000000000000000000000a3905235872c5e35258d293534848c357f156c3467d0653477c52234db168934887f9e344739b834a062a5347f099c34b78bdd346ded0c35a4f8c0342ab0dd34a4ead433c401f8330bff06342ea60c3477991f334135cf33d3eb4a3433bc53349d3b3636a19c34366e9d203669e5093605582737ffdf913e2944383f5f06043700000000a76b3e3ebf02473f000000006c2ea735051c773d2877403f64521b39387516353721543a6c29293f2080a339e0ccc834db5a3b3a6629043fcdf09b39a2d8323665c2d139dd39b83eba38243af4c8523717a3a93c2fcb363e31cb073a524b8534ed349a371ba1893d04536b367d4e3136662e79362e0db33746ce10366160e334c98c033572700935252a1235640a4533e66b0f342b834634a0182f3470156e331de9a3331e12d4336d7fd333fa7780347429be342022d23420120c35b37b593488ac7334b06f383436fa47342273a433a7d7b9330dff963316089d3371f67035a4395a3543c183356d768f3573074f337b644433113e4c331d4061333ee00d3227ef0332b60c0a32c6f71932cbb919357d02c73dd936683fbd0c13351727f634a8c95d3cad8a713fbd98c434e77a4234016fce395887523f31722334350f2035ff59f03951922c3f316abf3928f394349322ab37b094053f7c2e95399f62d433d71e9438fb49ba3e8662023a73609135c74c9c3c85793f3ebb5a4b3a69e169335b3d13363285a83d83542c33f1d26f362aded1375ed1003814049b37eb900c35a85a16351ee3e834395a0835a36e35346f2f5834e8764a34a42e73344806283306522433c7af2b33951543332f6419337c0b5e335d373433130a553303474734630d803457605a340082713463f103331ad60133e0c40433ab781033ba8a5d333f058c334cdd7d3337799a33463011345cc73334d2780d34c11a5f343ca5323228902f32b5fd313239cf3d32a2147e37e2207f3bda39803f96ae3536ad1a8834c0d1173737ef723f4f7d2d37c05650337281a2337925503facbf80399108833330208a37a9442b3fc356b939cac59534ab57aa378849043f6b02953a4b3819332895a137f6d3bd3e390e2b3a234b9d33491bf13b0b04513e98882b3b75243e3482ec07374683aa3d6d7d54371712b337ab693338902e7638deef4338000000000000000000000000000000005c52163360987c3324703933a3cf59339f5a4d35b5d73435a7c51835cf0478357fc223349a605134e09b383488c28f34e39a8234ff4d93346ffb8c340143bf34e326e534371d9f349395bf340b41473538051934e0372e34b5043734c30d4234bcf4173547861335c8790c35ae9433350000000000000000000000000000000000000000000000000000803f000000001d8f9f33e9f88e33d49d733f39457339e8b5ae35a9a5ca35c0f64f3fee00723990ab4736e422dc3720cc2a3f0e86843a507c0c3541703c39bcc3003f1c028b3c5ec172353bbaa839181ca73eac6c043d8f806637bcaa923888fb2b3e6415053d05e14435a30cc6369cd38f3dbe09ce3a0000000000000000000000000000000000000000000000000000000000000000000000000000000053be033336252233347b3935ca1b553550778f352f06b33560b4403339588132a4898b342bb40a357739ae33ba6eb2337795aa3384669533cca0ac35d92eb735d72ad335cdefe3354af35c35aae346357c5597357dd9ae3500000000000000000db61733bc4a843400000000000000000000000000000000000000000000803f0000000000000000a19edf3545a9553f88a2183dd9078e3da3c50036460c333fbf54d83ce7df863d7c1ca635321ff53e2548513dffa6113e585d8f3356eb9e3e6fef853dbe3e2e3eb0ecdf37a7381e3ed381c73db39f1f3e0fcccf35bd2e873d30eedd3dd097b53d9173a1371da789392ef4623d113f3a3d00000000000000000000000000000000000000000000000000000000000000006de5d332f019e0323302ce32aa2bbc32034a3335f5e94335a93c6c3574a69435687f01347f4a3a34d9aefe34db1b5c352b336731bd986c31f6fa6131752b45319e004735f5384e35b5b16735c3d19135db892135687529351523703512099835000000000000000000000000000000000000000000000000000000000000000069048c37ecfe703fdac9543d2630263cce0cb4336766463f7ee3793d8228ca3dcdf9e53535401c3fe38da23d3635bc3d1f7aac350952c33e7b3d0d3eeb7f133e5c2a3c31157d663e3147093e06d2343e516e1738cb27c53dfd27003ed17f363e8719be35c6ec1f3da37cf53d4549b83d054002377fe1c738077b143dc822343d00000000000000000000000000000000a6a1eb3467130d3564ea2e35250d303538cc6034d0a76634ddf1603465e65234481bb535bdb7c63584b1dd35bb87ff355beddb34119ff33499a84335b06f6c3500000000000000000000000000000000ce2b6035ebb27635afa86a35f93a9335f761fc34d92c0e35daba1535610c423500000000000000000000000000000000000000000000000000000000000000004782da380b015c3f6fbde23d88b0053de92c7335c4382c3ff5f9223e7cf8c23d442d55376b52f03e9f02773e971a9c3df66d82384e80843e4a73803ecf911b3e00000000ff35113e8b784f3eeb883c3ea85e1f3835f8013df86e263e5bf7463e615fa638282c623ba7d3e43d9be5f93d98aebc36272d4438959baa3cee830d3d000000000000000000000000e18a30340000000000000000000000006311703400000000000000000000000000000000dd042c35ca54313550588035b872b2357b472235ff16223579296235308495352c20e4324e4dea32dc64db321f2ab9323e11b0358556b2351d73cc3565ebf0356c3ef835924ff5356b22043674901936ad938c33332c90331c188533b9c35e349ccac934356fdb349864c63443a1df340b615538d8c82b3febf3a93ea905fc38da1bcb3653aef23e0302c63ef9029d3d923102365305973ea0b9d83e2863903dad66ec3519e6083ee0b9bf3ec0971e3ea565e93478b0e73ca9d8923e1428513e90600d38d6bd25392959373efefb443e794e5037a82003390487bb3d0cd3033ee91aed34f185a037880c2d3c8fd4193dd7f31035601009353c900935251fc2350000000000000000000000000000000000000000000000000000000000000000b1bfce347cb7d634a46ae23421221b35611f6d34c5e18934e3139434c448c534000000000000000000000000000000007e99ba347179bb3417e6b6347475f4349d86a934fe60ba34e305cc3435c80135000000000000000000000000000000000000000000000000000000000000000059ed70380954f23e7e97073fd36101390000000002268e3efed41d3f68c1633db6a397358fff0b3ebc54183f9acc673d9dee46353b6fa639c599fb3ec49f2b3e0000000084a4be387578a13e760d413ecd22833524fc68382e0c253e51823f3ef7a832350996a4386d15d93d2620e43df6bfd43662c4573863e7843c05491a3d000000000000000000000000fc6cca37b2cdff34fc70073546c02835f9d32335cf37a233a97ba3339e365a34560297346c61df35f0c9f33529640136b2531536843acc34bb45e13444a2e534c90ae434126e0933be030a3349f90d33f8e50b33aa3f873544c58e3577728a352865a535bb3fe334e6a9fc3404d0f63429e8163500000000000000000000000000000000ae73fe34c87dee340fcfa6349f96ca34e6dfcb3859168d3e606a3a3ff4c9de3808e5613516309b3d91a7573fb04d163ded4546367c1007397b043e3f8b58303d334b8735ef10fb381470003ff178093ed57afb3282b579378a919e3e83c0363eba9ee73597cb1538c57a273eef3c393ebf5081357986df38a741c13d74a4fb3dad8ed936393b0c38bf47ce3cac4e2a3da7b658355df8b535e3f31738f142663800000000000000000000000000000000000000000000000000000000000000000cd03f3586cb4e35d13b79351bf0ae354c8be434c1a4e634bb41293510af7735000000000000000000000000000000005db9d035cf28d435471ee2351510063600bed73582d0d235dc46e73520ce063695f13b343d4c373498be30349b422034ff022135885a18352e690635690f143541a3e338c4ba903d038e6e3f88159b3800000000696a3c38b3f8713f55f5123b9673fe35317fc238ab0f403f2510963cca42b535dacb79386415013f3da1e93d00000000d1b64037af71a03e2d172a3e9e359b3670a61239bab3283eacc4393eafaa08366d01bf38f10acc3db041f53da7a9ed36cdb72038db2bf73c5fbe3f3d063a0738b1d7e038ee5e223936fd30390000000000000000000000000000000000000000000000000000000000000000cbc56635efe967356ac7613540d593351baaab34ee44c134501ac43405cd2c35c6f985319dcd863181038931aa488431e305263574772d3503a51c35c47c5f359e8ac4344e42d534e784213534a561354c2ea9327a699a32e565943204f1883200000000000000000000000000000000c285dd38a2ea433a175b803fbd2c503900000000921c963783a4643f855cf53ccc99e435ae770236c9e8373fe66c1d3d920f8e35d8106e38b7c0f83e66c2fb3dab306f31e68ccc36d96a953e8f60393e7585b73511b6d637e9f0153e72664a3eb9299535cc04be3802c6cc3d294b003e2dfd123752d56a386e3ca53c44c5493dc8949432f73df933b0604d37ef88eb37000000000000000000000000000000003047b333049f6534c4698d34f2e2c034586b7235b5a18935fec4903567d1b13526670c358103173561f12a35f3466335342ecb33d471cc33c2accf3366f1c833372c0835ad121d351ab71935823c5e3581860b354398103561fb42355ced6a350000000000000000ba6f96315e5908320000000000000000000000000000000000000000000000000000803f00000000bd5b5635224fca363d145f3f1c36023d0d84fa35e4500a36573b363fb464f63c42cfad35cf77c8351dc2f13e08aa023e947a103487dca1345a21953ece772f3ed157ad3569c0bc37cddb1f3e3276373e84e89f35ef8d4c380146b13d9968023e5ec98d33c05b8f37450f873cffbd3f3d00000000000000000000000000000000000000000000000000000000000000002245483581beae340943b8367faf35375eab10365f930636db02b836b96ea037f38e7d364d74743621f25337e85ecd37464cf3367a286c36b6a951373b7d02381a8e08379384bc36ffdd5037cae80d388429cc37b44688372885e837679c07384fadca364d795b366d5606373a5c4e3700000000000000000000000000000000000000000000803f00000000000000002b47f23679ef7f3ff2f6ec3740947c3715ce92377f16553f99d504388ee1c0372d7bcd3756892a3f0ba519380ca3df37976605380dd8fd3e844046383e3a0a383e0b0b38276da63ed39a0e3957340b38dae2083815b1243eb01c2838f3670538cfcf33378e0f1e38614f8f37cab31637000000000000000000000000000000003042dd36e6aeb536b7e44937d82cc23760997335a5015b35caee37361f57113755d09f364aac3f363ce8fc3638f6d7378a66a936bf3ca436750f15373cc0e5377d36f9363f458b3635001337bde3f937d8dc3e37b09ee7365e838e3798bbff3749da8137274604378edeab37ad640038e6447b37fc92f63685c57637114191375fab4c377dedf3361e392e37460659372bade436dd427f3f99b0323bdab1ce37a60300368110783ff9a2913ccd2771378a58313732b44e3f06379a3ca9020238b3568e379955263ff573553cacdf03381ccb5f371a02f93eec3c233c9d2d143837f1af37e704a63ee2ee5038e51d07389a6eb837156d283e5c4f93389144013858021437dfee103ae746f4376d6982376f6f8336a3bf8437c2909c37864b64372c772f35103e2535b8e0f4360c266d3728e00d35ed4e0735fa732435ccf0913785537737f97114378fbf9737bc03f33707723e3653609f350e7f9a364c108337d0b982366d2057350506e93606410d38b6cbe336699b37360d690337c1e07737e793db374b14ad37f7abe4375d301b38b7bfde37eacc0637d981b7374f211d38849b93370d9c7e37d0ff8737b74c9237dcf32a35ced7543fce5b2c3e0b6f2f37ed4c04359df34f3fff1a343e01fa5937548c8b37cec52b3fd95e293e986504381ed5823696900e3fece0023e75b386373a3a05375ff5cf3ecdb8be3d7ce90d386bc8d2360d2c8c3ebb8c3b3d123972372f97d63786a9163ed677053cf7c01638f644ee36c4799038efcc85388ae4e5372acb4837edb89a377d38c1379b4c8b3700e57a36d09d3b3620e47e373cb0c337ea28d4332e21c633eb8d03340b80ce372d7e3036135982353defac36729edd37ea6eba368c7dcf35a0a8a7366e64bf37123819371e2e873633d41037e5502c388b8d2337df87da35366076369a2d0038989ba33758d7e636b7978d375d1eed3791c7c0371e0e4437469ca037d81a0038b4be8b37c89d55370f2e6e37c0dc993765cf33361a132a3f60beab3e8ea83c37ccc8e133ee02273faa82ae3ea3c03f379ae3c936e8e00d3f5188983e0916d437be74c13623f5e13e91e2733e045ca037a53c6237c096a63e807f333eb5431538dd491a370153583ebd53df3d4e42e337ec4a7f3756f7d23d78f83a3d0bf3cf37d5a82537b4aa4438cfe95338f817af37917c0437283bac377c78fb37f5c26a37d336c6376030b037fbd2fc3706401838941e983592a39035904194351e6214379d9c4937034bd436d7a42337eb8af237f663ce37a2d30937849eaa3754ed303805299b3751e002378b357737331cdc3849a71738c1dcba37a50bf53710b83f385ceb0038826dac37e8c8d937112e1a38c54c7c37eef3fa364a1e5737a221a63780211b383155063897e30e3844501c38952bb237dc3afe3e4ecb003f3ebed337ee3c953502d3fa3e3786023f028a9835bbd26d372795d13e6905dd3e1349d837e12aed37ffd4a63ea756b43e3dc92a38aa55ac378559763e65af843ef334e837150c1338e5fa163e9859323eaae839380ecae037900c8b3d9be7b93d22650b38b41ee8368d55f437a8b517382a7a6b3798c3e537056e2138d29d6938f0f50f380947013781455b360c6efe363eb59a37b5288036098ea135ce75a0353c436637caf638365dfe2a367aa22d36c2d39037556d33368cf2d1358056d235ca1fb137df61a93763d9d736147cf136c117233878e985376776f636cdef07376f3aeb372e0f04385281a8379107bb37b51b1638c6a01d388137aa37df49dd37a02832386cc8cb37a2c9a1376d08ad37e32cc837cd68c03675dda73e440a2c3f89576d3630cf1a36ab8da63ecea22c3f51429136d4a2a73670c88b3ee503143fd6f7703732a6a536d966583e03b7ef3e0304a23745c5ad3734001a3e168eb23ec3fb133885416237d804ab3dd58c723e1dddca377ab7e93740a0a53cc879023ea5dc04385a019d3769dc6138edbbd23b4207f437872d7037c1cdcc3758292f38f5949b3717345f37f7a724378d0d34371eb48f37d992b3343d29aa34cc9aa534a7a81337f406af37857b70377f384937cdfddd379639e836ddd33936c39b3236137c2337049e6f37a0924536b55dd335ae55ea3767473b37f6d4cc363f70a936ed3b9337ed1e17386406cb370a48c437ff4b2f387742df37c9df4937f24183370cc50e38603f8a37f91b6537b5bc5937980187373c2f5e37c584243ed6d1563f2ba41037ee14bd346d21243e29e8563ff05bb134c7f9ba374833153eb1e7323f502de1378820ff36a2fdc93d89e7143fabdc0c3739bd92377a9a923de79adb3e1059043824091937890e923cbc41983e8fd397377af1f737a79095382f4b273e9938253835504e37e1f3313827ac3e3c929dbd37d1313c37ce7b7b37bcf3aa3787cb3e37d483fa3643a44036f25f83359b39383758c5773504217a3532746b359eeb6936ae6b2c37270ef136e9f8be36d9006e37171383377855f536ba7ac4360c6d9a37c6656837133c0237158bbc36721ea237087dc33740571637b4abad365fe5d5370439ed37dedb8637bad94437d72bfa3745af8537d1ce2c372a171f373b8c97377561cf375c83a637c868a437ab6bd437b2ba4b37d3ac233823f67f3fee054f367b2ff436a68ae9398cb17f3f01ce6a36df749d37ffd49238f8d2553faa2ce537532eb437b3f23938fbef2c3fdc8c0538b80fa83731d86e38e9e4003fe2b82b38944dcf37d59659382687ac3ef9111d380d88de375e462738e3ac313e2e7b1038995761371c62bf373a2a563c2260853742ea9b37f0d6c63798763638edbfa2370000000000000000000000000000000054835736feba293690f1ea353ae35c36564e9c3785a01437ce00ad367c48ac3751533c3726edd336b97c9f36bbf33b37f11fa037ee21fd36565e9736c1b0b0378908bc37b4ac4137639a853601c2ba37923cb337f71b513744a301371a09bc378330913758ff54375a4c4337bcdba5370000000000000000000000000000000000000000000000000000803f000000001d725e36be283b37a3f57f3fb10b8f37922fc5375f6706384ec0563fc7d02938f8b8803755380f3832a52c3ff5c6893911b8be37c518163801fd003f384a4e380b99b837dcd6ec3736cdaa3e571d1d38b588ac372f2bd03742632b3ed2b10638828f75375cd79337e6a454384b80d6370000000000000000000000000000000000000000000000000000000000000000c77aa136282ca4360ddf913794efca3731288f359aa99035eb6bd33657219937f7fc153732112937ed39cb3762cbff3780c5ec35897ef135bd504a3786d7923700000000000000006caacd36267e8237bd5ac736716ac8360a91be37f56b533928fe6c37b3716d375edbcf372ec8fd3700000000000000000000000000000000000000000000803f0000000000000000acb12338e0bf6e3f735c173c57cc5e381709e137e2ec493f544f4f3a1c45ca397e2511386f33243f5051393a647d973938e70f38ae7bfa3e2919393abc944d38ccb3a6379adab23e04089639681de637f955ae39db384d3e18ab633abf3df239e6e00838ec0d293d181c7438e4320b3800000000000000000000000000000000b2ea60367d006836ae860e37953d92372cb57a36e3357e368819a8361ca4e0378a2daa36b19fad361cd4ee36e346af37f2687f3604997b36ca47c0367200983739ff4d36801450365e858a36c33ba937e1b97636007b763631914f372ffa6839fa4c6a36076c2836f96978379c03b337f0e37937ab025e37e085b9371988dc37f1257f3732b25837d7149f3743efc63765d49f371d186e3fb7ce8e3d4dd7d237e3f80538a5af5b3ff19ea03d57309e385e77ef375f88393f9857983db60d5d38938ec23786ff173fe8c8843d4c9b1738ce60d7371262ea3e79854e3d7516ee398bbfa7399e47a63ed171dc3cec70893a0d38b23715e9433e32427f3986fff0371592cb3701e9663d79d98738efb325385a829f372b81fd3768d4893946902839fd9cef35df79f03501606437a075a7377f8d0a3695270c3639d3123648f766365435803670c4803681eae7363f23523709409b35d9779935abeb8036534b8837d31bd435cd61d5357d590b376918ed3784cdb336cac0b43642011237ac40b439c0920337bc5dee3620ba2e37d3fca137879e00378ecdb636d7c578379865bb37f3a2bc3705e69b37c4f2cc376481f937393c97374a6c493f1e125a3e1f15ba37df493b36a0383b3ff87d563ef386f0378e1f5e37aa731c3f545c433efaae493907838f3724f2003fe10a203e942d7a39517ef637eaa8c43ebe3ef63dcee69a381fef8e3912c0893e5d379f3d68b3993a6d9097378b55263e30e92d3d6e387f38325b96376dc1383d102d42399bd8f737d213c7378d5a1238bed8363834681c3864852b37fcd65a3704490138d32e2338ed37623619356636076576369e8d88376d4a2e36c12231364c343336a7d2b2368d75aa366efeaa36167bb13667f1253732170b36f3b30d3642ed3736d0659037b8576a37629d4537bcf7b737f0faff3743e97937bba93c37780dd237831416389d3e0a37ab33e23654e00a37302e7d373802d737843da9375028d237ae490238ed561238be05243fbc81b73e3ae33038fa945a37b230193f80a1b23ef5a80338a6f184368dba003fb1e9993eead42a3878a12037a1edd03eed9a7d3ea6589c39e73e8e37e5299f3e7456433e5ba27138a40df9377d7e5a3e6a3c083eb2d28c38234d0c383c0bf73d7dfa9b3d367d44386ed24237b9f8f13caee4a13c8d2ac737ba6ec53738ef0b381b8b923914766438585ea536fc52ae365d82a93733fc0638214dc736870ec9368147043707a3b637793d1136feb71036badd123646f49837578f673681286736c746fb362a8ac03748da1a376de8033769846f37bb8105385d1f1237c7b6b93670368637c20fff373cf906379a131d36c677873772700b3884b9d237677dad37e933d1376cfd1e38e855d337c0ce98379bf4b1371da8f737567ab3378f92fe3e369e003fb5be0c38fc3f8537c1c5ed3e9ef2f73e4075393841997537f32ac63ef245d33e72a85b388a51b4374c8e9f3e30d3ae3ea8e655399f38f2376f62743ed68c853e9e73e039e1ffdf3734f5203e38b7413e77706939dd5afb374552ae3db978eb3de33a5f38dae701382d183b3c9b0d223d41681439882aa737cdcc023826a4ac38b26d3c389856d2362c07fa36665dcf37d7b10638f2cad535e545ce35690ede3557d2d336167e413601d841361d7df9363ffbde374c630237895ab3367c48743779cde7371ba21536366f16362f4a5936eb839f37c6a6b536e3e6b1362965bd36755c7f37d19ca736851f84367796a0360d03d33765dec33795229337057ab637997efa37ef83223857e00a38bf41163825bc2d38611ad93730a3b33ef203263f27d81438f15e973614b4a83ec1fb1e3f55a7d3373bb0d3373d438b3e91ec073fb43d4c38adfddd374fbd5d3eaa7cdf3e745d8b3992ca99370824253ebd5dac3e9aab903981bf7937f55bcd3d97f4783e9c71f339364c9f37b6a5403daee1183eb4495038c5dedb3709e41c3853eb563dce57183802c615387e342c3816afdb39d1653739316121370406233780c6b937d4680838eedfa7363131a736dd56ab3654162237b60d3f36d4551d36bd409036a82f2537161eb436cf76b436b34cb4363a8807381b2b4f36f492d73587f7b2368204dc373036373706dfec3611e61e37e32db437e5098e375bb15437ebca6537a587af37dec766374bdff536800e0d375fcfbb373e989937d1c26f37d41684371b18a137806ced37ae92513e018a4b3f179a253892e3ee361f1b493eee17423fe83e113865d92437ea64263ed6ca213f0875f03912fe2238a001f63dc18b073fde5dde3a3b9cde37c032b63df3f8cf3ee7b6cc39e35fc037d31a2c3d171f983e871d103ac5efac3786a34d3c8e343d3e3f76fc39f8e37f37162e0838a87a703d08aaa739d33b843704179b37079af33778d5d23707eb1e375c34fb3683fd933742f2e7373eaf3a366b373d3637ea3a36f2966437ce04c235a69bc135aa92be35a63f3437f5f8783633827a364ec77736a8af8e3751a657361a9d5936e7c958369d4986372a3502370257e1362e5ad836ab76a53786087c3768963b37009534375429f737a6361738c029e23726a4e43707ab2938933ca2374d87823747537f37df96a63702abe937175a763de64a703fb3a4243a59b67f37f7d3723d9151623f356f9138143a7137b4bd413d8c513f3f36cd5f3cb515ab37102ef23c27831d3f7edaf23a0330a637049d813c55a8f23e0d56c53aa7e2c237f95e123836aeae3e5bd71339932fff37fcd04238213b4d3e8e1a6d3994482538ccbe4538d645803df686fa39adfa91370cf39c378ddd00382272dc3700000000000000000000000000000000a60f1c352e102035aa141c3598873a3709620236aefb02365e3501367b8858370000000000000000000000006779a2362afbe136984e7c3644923a365d086037a8c6cf374669b43718aba8377931f137b4f04437be78d936fb41f43644849837bf89fb37dbb9e137f1ccd2375a43f5370000000000000000000000000000000000000000000000000000803f00000000eeef613753d8f037977a723fed90373c48f48737d9123e39dbfd493f62a4083c291c163781faad378643263fe5a0333adb2f823732070938409afd3e60e66e3c3bcdfe37bb1c0e38b17fb63e39ce563ae0d7ad37a99bdf37bdff553eba2a4c3a020ef937022df03734736c3d074e2f39000000000000000000000000000000000000000000000000000000000000000008468f372c2b1c3885d57d39fa66b6398df42138aab22e380b45173916bdd03957b0f837721a10387d627339dc2ab23963ab7238d6d6093973f4a43963f7db395d5ad5374e7746383760f03962792c3a2810d53755161e38df153d392eb1a339f9994738ac7da6383a564c395dc3983900000000000000000000000000000000000000000000803f0000000000000000b03ff939f09d613fcede413a0e10213acfd0323a0b93403f9cc2863a448a6b3ab27c343ac9a41f3fea2dee3ac506bb3a82ba073ae734fe3ea919313aaf0a253a53654f3a33a3bc3e982d993a2ff88d3ac3e5d83909b9763ea1f1423a8475303a9079ad392688e73d6aee493a19be353a00000000000000000000000000000000de8461386a4459390070bf395387e839de0a2138eb90323828c689393ef6263a9cd492378b80ad3793a8d537bf6c05391f200d38ffdb1638799127389b8f32383003a837e24be337c35e9339686bf8398c8b893700e99837400e0839aaf8e33901251e38acefde38b03c083af3b2453ae0ec9e37e74da93700004f39035bc239d31348395a667e39b2bab539cc23f4396e840e3ae5b2603f8ac3ee3d86ac183acd667a3af603473fe222e23d9995b63ad87ad9399aab2b3fabdad03d412e833aadc0b23928e70c3f2164a23d57c08d3a421b2e3aa5a8df3e8b227f3de4bfb53a82691d3a5914a63e04123b3dfb7c883a829b5b3a9878583e3f05e33ccb2ea33a5cdac939d779d03dc6f4593a7181423aee13d33917961e3a67d9383ac82a393af0ae05395c9185394d0bce3957f4ee39a0cb4f370da57a376990fa38b3c19b3989ab643700f78637536610387d975039a09d7c37f8c1ac37061c673965ced139a3abc838ac124a39e9b0d139f5c5093ad644183818fa1c38f618273814c03139d9e7c937ed31df3703b23239a6b78c399ba685394a4bb539dfef243ae1f44e3a3b4b37391d99483997ae823956769939a5ad113aa21d403fad0f793e6acf343a04d1073aa9b62b3fdf6b683eaa36913aa1089939843e113f5d42423e4664973a0fec013adf23f13e8faf213eee92953aa371193a0128bf3e27cfff3d7bdfa23ae0a57339c6ce8d3eecc0be3df5e5953ac42a9539512d3a3e9ebf763d40e2333a84a9463a2524ab3d6b7ccf3c7d88aa3af37385391e8db439ed7ad0392f09cd39d5d9cf37eaf0b7382516d03961e10a3ab14ab836a5212c3700b75f3815bb9c3962b2b4373ab4ed37b2e23138081bb1398422d5375a819e38e852af391425043aa45f2039527080391d1bf9391ff9243a8fcec437c5f8e637bca52c383e1a72396284e0370123e73748d84e398dd9153ab63258374b2e6d37128446398adb043a25b0a13941afa639276cc7394b98dc39ed78183a909d1f3fdb94bd3eaaa0423ac9c9e43985980d3f9f49aa3e86616f3a4d6af1390bc5f13ee5ec913e0e478e3a5270143a4f3fc83e0aff723e882d583a7ad1313a9f579e3ebb71403eb0b4b43a3e9abb39bd496a3e9e5c0f3e7372a53aa3e9203a8584173ec7f9b73d9b09ad3a21dbe93905cc8c3d0eac2c3d56298c3a04cec839e699f539f7910f3a4d450d3a9e707d38c9521f39aefa9c39d84db6398e2924377c954e370e599b397533213a6bb8a937bdbeb9377f240839c60ce7395d9863388cde6a381c0a2e39eee2a939269af9372a740738d2c88738da7e2f3931496d38931f7138107a393957f7a639373af638ebb42339fd6cce396749193a001b003a995b073a1497313afff45c3ae0448639b88e8a39af46a23981b6b0398085c7395764fe3e8e00ff3e2a00393ad1a2313adddde83eccefdf3ecff1a13a5160083abc3bc03e3a91c23e0e1e8a3a8e76c23902199c3e381b9f3e9bd4ba3c44814e392e027d3e19d3803e2a1e523a0a7cae39a847343e26093a3ee64dfd3a05111a3a8a7def3d5bebfa3d386e7e3a2af1533a28fb433d5e6f573de642943ad6639d39cffbe03982d2313ac55b233a0ca661399edd94396cb5e4396798003a91051d3752ab4a3706b497370008963984a3d2376eeedc3765b8f7372b29aa395dc0c53744aaca37a4460c38002f413973974239f15d8a39ec48e539bf771d3a53bc213900dd503975dabe394fb7083a9a3aa438bc86fa389719c939cf7e1c3a2ad74d39fab94a39ac00bc39718b083ace7caa396daaaf39e718cd391dfbff397aecfe395c12bd3e65f31f3f8793173a026bbe391c5ba83e844e0e3f44c1b23aee4afb393f908f3e4f04f43e94f8d13aa415a7393f146d3e3aaaca3e2222b63a83b8273a56593a3e9e88a03ee8f6be3a7dac0d3a8235073e4c42703e4a26543a4e3f193a3e44ad3da93e1d3e41167c3a9d7ef5392b23163d1b1b963d6d22563a1c7bd9393cdb073ac1cd3b3ac513353aba752638d991c738783184396b5fa8399fd5dd37ffbdef3770909c390750293ae98499375a90b3376c1ef6370a6045390eb71838130a1c3883ba24385464093908c75239439c8139d5b3ca3909570b3a2e35b238e651f2384ceb88390479e13984f6ed38d3ebf13877a358392703a2399c21213a444f163a7158363ad7ce543a600fbb393459bb39326cd139cfaaef392525a939dd7c793e8caa403f0fb8f439e05b403a777f5d3ea1b92a3fee93083b25657a39e73c3d3e3eeb113fca26a03a71b74439c4c4193e00a9f33e2843e53a6caa163a158af23da7f8c03e022bbc3a0a95f939e14eae3d49f28f3e316da43a4098aa39c8635d3d19713d3eb5368e3a5ff0553ababf753a36fdc13d659d893a6758d639a3eef3391417323aaa282e3a06dd2338e62d2c3837a593397763063a649c4337f3b565379ae199376b9810393996c437d41bdf37afad11396e2a183a44ea9837c7a1a0371871b2379904b1399f786738c139cf382299813981ecf0398fb61d38bb572038dd312838ad6ac3387a43063978ae033926c084393657f83935d62f3af88c2e3a1f6f4d3a54f97a3a35f2b839b751b839e1f5ca392ec1e2394b30123aab05ec3d3df3603f081e823a54f38a3963bade3d96ec483f5cbfc53a746e403a1fe5b43d757c2a3f2971cd3a8901013a44f3923dd5c10d3fe20aaf3ac2111b3ae05f603d5340e13ea04ae83a3ee16939aaf41e3d0415a83eaefda23a0d8a153a3756413a62d7633ef981833abd54813a790f8e3aeca1d13dd4a1ae3a4291da39950ee6390077133a09cd113a00000000000000000000000000000000f7d076376135893784d9ad379d1c21395a83cc37f5fed237f07ce237cbe50239d557c637dcb6d537fc605339b4760b3ab49be73841bc103963227839366dc33976063138b97d3738f24ed538c9d07c3977949b381aa3b4383e91093958e7b63981076639c592663925b885398b63ac390000000000000000000000000000000000000000000000000000803f000000004e7c5b39699a2f3a81cf613f0d39aa3a736587395995173a0234413f9e42833a4c652f3a662f773a1ca81f3f7650ac3acc41e03993ef0b3a800fff3e266f373aae8c98397447073ae0f2bc3ec457d43a2edae939299d163a64e7773e7c25653aaba1b439fa2ac6399d45e93d60e70f3a0000000000000000000000000000000000000000000000000000000000000000a822233521912335cdbd923514ed013619e6eb355ccfdf35516d0a3665d91636a00c2836cafd223661c2ba3615a99337a0561535c61318354f58493596dad1361d627435d25f4a35bda77337c16ee8371e9900361e72d03564b74037a82e8f3722b88d3671c18936e9a00137632a083700000000000000000000000000000000000000000000803f00000000000000005758e43551a17f3fd2432238d852573773c90d36c8865d3f42a39c381a0aba3776709537e1512e3ff00e4138e18cc7375c305e3760b1fd3ecaaf4738585b8837c15b1838de2a9e3e0d96c83817d8fa375fd2e7379340fc3d3a144b38bba267370037bb3745ee8b3a94f92e38a8eda036000000000000000000000000000000008df4533513793c3571529a35a1a72037300ca7351a26aa352124af35a117d0358a281a35d3c01b355fc81d3550001d35015da3359784a23572bea2351dbba335375cc735e302a7353d41cc351aa29a3727b2883537308a352b278c357c227d37028491353d219235a56724376a10ae37f6b1af379e1d7a37f2fbc3373950d8377ed982353e235c359364843561ea99351f8e4b35e7e17f3f2b48c0394b06f4372903ae35641a793f3313373b7915fe374d9521358c27593f6d10033aef780138b4b2a535ade6293fb24443393eeee43666ff1b37501bf63efb8c0f3a6bd74c388ff13737fbf6973ed2fc8e399990f13788d5bd37a64cec3d1ff7473945bfb73712a1a137ffe7923837958538df35fa37ea7f2c3532d29337a8e21c38905611376205673596e65d3593676135a3665a3531a3b335973ea9350b2dcc3563cdd73583590a35fd0ce93480784a35366487350cf4af35e727ac351e33b035cbbeb135ece1f135fa71d8356f1dfc3584ec8937343bec344a5ef034c37fec344670fa342fa5dc35745bdb350b45e735be0f8237c533c537d2ef82371e500b38b2a42838c73d4135fa38703511b78435bf18993539544b358d96603f3bf5fa3daf915935496fb33513d05b3fb7b90e3ec103d835c1834535935b363f5f9d0b3ead0f8037fff9af355094113f969be93d3a043c38ee9dff356e61d23e5161b93d26380d384d35f834831d833e82b86e3df5754335fccddf358eb3dc3dcd90003dea43f437f63b4e37946abe38d1eeb2397e2454386efb463583d3b93625710938c5f4ba3610ce933514948635ac0a87368cb29c36f208d3368d6da3363f7262374df6a137807a1336b94c0f36edb32236b9bb2f3635837f35c93e6535500192351452873761a469369c5266363f79733662a2e3366d10f33562c5ae35a37c5436d417f537bd0c7c37b3e32137c145d337f90b26382b51573610035d363fb93f376fb4a537068fa0365fb47c352835ae360f1a153751e37335336a2f3fb239a13ef9566e36a505273768a42a3f5befa93ec902b437ad5d21365ccc103f3ec89a3ebcde1c3835348a3517fcde3e50d67b3edd2213387b7f6f3670e39e3ef7423f3eeedba9376f876c37fd4a413e1656fe3d273e5d38e2ced7372ea3863df3dc6e3d998f4338474b4d36426f98386710563a5e3fb9377443593542456f37095e003843eb3537ae162036d23945367b6fa9379fbf5c37772d113659240a361be26a36ba343d37e3e2e434d6d5e6346723df3480b5e234c61c46359a6b4735e84e4b358dce47354015ad37ed0667378754a037613e1e38ebde4c35ecda4d3594dd4a3599dcfd3666bd1335e5560735e9d7f934a6f5e1342af5f5370e4fd437c482f637324f0d386da27137ccf48237fb39b937aa3dd2379d1929367c86fd3efc32013fc8284336849263365ba9f33e32f6053f0cec26371362ea34ba8acc3eb0f6ee3ea448db344cb04635b4bb9a3e4b0ac33e06dfa336d4f908386cfe613ef1f78e3e55ad3e38674410367020003e4246443e6cb85d3749b0ee34a0f81c3dcbc6c33dfd78fe348bb4b7377e188238143f233afa8af4379b3d4036ebfa3c38e12a80384f84ad371ec37135f0b66835e3dd653523d06635f88b343629512c3631813636d44c4236851e9f35e7f79235ddf18c35f5ebb3358997a735853c33350f354035cf04db354a1b743645996c3640057136badaa436ca7ba6370335dd369b691537d439f337c60e31380a0d0338ac6f2538fc5d77383c76db37d62ece373e97d8375a6ee5374df2a23659599836c3fba336d5c9b4369d945c350f9b9b3ec621323f199b583588cc3936f0eb913eeddb363f83cc30369c1eb8351158713e08dd233fb792bc3557098737ded92f3e17f0033f4cc78d3768f1df3633a9ef3dbca2c53e171a283752e60c38ebe6733dc9a4843e4b9807384d6e8c38c8c0ca3993b2063e692f4038010fd03729cf7538a3eab93a2bd4cb37f3d17e3657d6e23795db14386dea8c369423813577808435d9478035d3238535467b0c36bc870f36948f0f36d05a0e36055ed0359977ce35ea85d035ca1ed8350cb1e634e362e6347ca7eb34a064f434197405361f5104360b72f63511dac2362bd96b3699bcaf3569ccb53579094a374a3baa35f5c0b235f10cad356573403702fb11364fd50e36f3dd0a3614f974360639553576405135c6ac5335cf445335786e30375188e43df771633f798a17350929bd37db74ba3da891683f0cc80a36ff85da3567dda23dee07483fb5b9d9351a60f0344c80253de836253f49ccee340570bb3719b6d13c1434f23ee82e98377c541e388f2cf438e65ba23eea50f237f5d49537c290a83803ea1a3e1b390737c68aff35312fbc3876e9063bbf4dcf35ce32553507515135677b883592c94f35c27b9235b74c853548003a350a32733550c02a35933a3035f5052435dcf929356aca9535a15594358f4590354a219335304786352b82853584d18535021e8835638fd435373ccf35733aa6354849c8351a21ae35de95a835f863a63584bba7353e1a9636e7307a352da24c35466360373f2b9a37d38a5d37df027c373f25cf375a7c48361d39f535ad3fa03621cc35370a4199378c77c83816fa7f3f1abba2345f99c4361edd6538d3f07f3fcc662635eae69635134b4a387b69623fbd788e35dca59436a1a57038baef333f91ed88370990c4379e5ea1389fcd043fd2e22838a042ba35b0404638f221ac3ed0b55037996ae7376b2ca938f7c11a3e78520d38079bdb37084f963847f4c43c40aabd37f4272337e80b163887af3f3874f8b33500000000000000000000000000000000957d8f3487ee8f34333c8734bdafa53431cea1357cee943541077635519ba03533144c35f1cf493504fd4235381e48351d3f873594f8183591e01535c0f9c8352f998837e1580e3766a599366f258d377b115b37061aa236d79f7c3646c9a63719b94437882ef636f9c5fa3624d59a370000000000000000000000000000000000000000000000000000803f000000004ad23235e33a8b3664bc7f3fc936ba36d445ae359607eb36c56b603fbe489937c3172c3780d7e93756df303f7e5976382776903624b6b6378e2a013f0f480e38e54caa3747450238444da33ec2fa3838850bba37028748380da9093e6f50983888c3673792a511387e1cb03aacb91138000000000000000000000000000000000000000000000000000000000000000071430236ef7803361a441a36c6242f366d896a35924a7035c6847a3508b880356da83036d3593a36da6a6a36bc888437c39c8f361f0e97364b1af536df52403716857535182c743540ee7535a4f6a03607f23c362aec5b369e455437ab80053836060f3612b40336053bba376d5ef23700000000000000000000000000000000000000000000803f0000000000000000bdd92d36917b753f011c5f380bc38b37010e82353d07513fa7049e38ebde6438735a1e3841de273f1603093ab680b638ac7d8637e58cfc3e6c3df2380df856381c72ec377053a93eb371c438dbd91f38414d60381e9a2f3ebaca113a98de4338682151381801f43c3f659d3858c2f03700000000000000000000000000000000118113352e57b03548674536524a7e364a6b8434168c8f34b3a0b5342d75c734a0945235e41b5735da9c5d35a14d60352ded9834ac159a348ae19a34e08f083571dd9d35872c9e35c3bda135d0d50f369cfb97340a3197347a4c993414c793341bd64035a4713f35144046356bdb7f37cee6d334af7896347baa303789327e37f75d3135da9c28359a4587356511b8353fb85b360baf7c3fd9b9523ceaa4c0375a62c034868b6a3fa511a93cdc38863886a35f3562f7443fedd1a13c605b7c386e9a0135f9fa1b3f7336c33cb6d27b38206a6c36d1e4e73e8018bf3c5af45f38210d54370e7d9b3e4e07163bfca67438977e0a38ebe91c3ef2ffb73a62e05f38accbcb37cb4e273a9f8cfb39b340d63734f27e35ae1cf0365a0cd9379f939b371f8ed93386e3d333f18ed833e82ddc337205143594aa1d356112353548265235c7893b35b61f4235f20383352c3ca5352150fc338651f633fb23f7332f14fa33443faa358bbeac3578ffac353c9eaf35f9855435c69f4c3565a85835027e74353888fe34d4befe348dc10c35b5780337db6c4c365ec4413640f77a372de6e1373bc088345f038934f5a9c234208d0535322cda33f480563f97e2253e4043fb3761c24d3508f7443ffda9343e7ea02c38c938a935db46203f6fc2343e33b7a537d8f6f6336ccefe3eebcf1a3e5520813870c1b035c902be3e727f003e73bd48388eaa8835254e743eed4dbd3d0fa70138c21517371f19033eb470543d46101c380ef91338991ee5383a48783c74ad93385dbdd034cbea9b351d22b63781786037e8de3335b28d3735232352350f888035faf97935f020793534557c3557ec8035bd8056350cef5835c9ca5b357caa5c35dd6fce34b3233a354ced1036852c71368c36e735a4b1e63540feeb3573a0d736e06dbf33d447c03333c1bf3316d2a53657f6503679004d36775b6e36585e8436086a11350d9c0e35ac751b363dafa936c905c7358807be351bfcc935a6f43e3606463e35430a2a3f93deab3e3406d236bf397835a6691a3f2063b63e4598d837a2d958357ab7fa3e1f3ba43e9a158238edba7636e7dfc23e501f8d3e2bbe7237aebffd3648de8d3eeac15d3ebebce23741b69037f0ce303e9a74223e48a19d380d0786366f339e3d228ec33d5cf1a837984d9e36c47e613807c88f3ce5e9b6371248c5350216f4365347d937364a5b37fac2c235b240e9357283243641462e36855b553498015634202858346a5e0235c8794235b0a84435fb1f4435b9ec4335df3a2335397c223589eb2135b5ed203578683235881d3535be21373517602c3719463135c9fa2f35dc6d2b35daf22e374d6156356d0454358a02513548c3d03606193137ab5f183774e84237688e8137e1db4736dcd94236024e42360a92de367c6a13367562fa3e2dc6023fdbc83d37942a56344e35de3e6c35093f00e96d372b1046355771b23ec422f13ede24693741c22635b281853e59e3cc3efa9d7c38941d8e37c7fe4d3e6b04993e892e4e38c184a0370e42e63db30c683ec1b385386f6b0037794e443d97c8073e4be7983782ce6c371d4e75381206f63c57c7ff37fc823536dee8a737a08b3b383868c93792161b3510246035c5f64036c04ba1362ca257341f407e347e2359344e6e90342a0259353b597135808f7e35f754c5355397ca33a05ac6337004c533bae2c533bfd0e93523e2ee357212ea35d96ee13618876f365a017236608e81369f2c9d36f39c6a3507296a35451e6735f37ed8376eabb5350cc3b1354f07a63527734537768cc3355294783556cc013635e23d36f8fdb13665f59f3e5eff2f3fe028a436f7eeae343b1a863e3974383f8bdb8436374c0436ed70463e5c33223f4503b336516ac0355ec8113e90bb063fbcde8a38fc4c2f373fffcc3d630dd03ec4cdd537ff9ca936a7d54c3d0478963ea33f913764f11f38e6aa743cc7c9323e99b79138f7e26c3733d89638e137263daa971138da30fe350ec96237090f2c3886d35237c014fc34118e1835ce9e6d35491e7135e7209e3515129d35d1989c359230b235488cfb347e76fd3434a2fa344386fa3456be133582962435014e263576ed61351b2daa358f44ac35c458ad350e9ead35d386ff33b5b2fe33eeaafc330af41c353dd1ee35655cf135d919f4352846f73560c96837df2f343791468d374205ed3730200c37d581c536880a3537d1268f37a1fa05370bc10b3e590f5d3f1dad56355e1cee35aff5aa3dddb9663f1df80c386493f834d7788b3d4e7d403fb084d33765738335bee2b73c858f253f873ab53783ceaf359301943cbf8ff83eda422a38d1e5643731c1b038aebeb33e42f87438cf97fc3577ae4a3847304a3ed35da43703e10538abea8238305f5d3dfc1631384d3652377d18033811724138ecfde037255ce034f952de349c055c35a99af4351fe00534d2e50634c9db0734d96c0734742a2b350c802b35e7532a359ef32c35931c8134fe39823473dc8334f7288434f27b97355e819b35c4c79a356d769b3599a73035c8113c35648c1e3569a42a35985505361006e535086bd73579dd803799f70d3596a41135a6200c35ccf466370eb7b136d65bb0363f44af36073cf43650fd3837ebbc7c3895f97f3fb45105379603083422748a3766b57f3ffe1d77379e60313554770c388768583f5c965838b2068734a63436380fa2313f369d853877950436cc0b3c38b31a063f4eceb1389ff5523597325f38aedabb3ef85b8a388c20fc370a1d8038719d573eea098138c09f10381d50a838ce56813d4d876a3893f6e836a7a1873754770138f74a633700000000000000000000000000000000667c1a35940d27351e59233553413035fc51ce35a262d53592a4cc35a907e635c40161352fc15e35df455d351b006635e5e4893626738a36b89a8a36b4b7ed364388843661db8436e9ec813673853b378bf1b535fa00a035e6229a3564cdcc36d1c58336fb196836dcd15f36d397ff360000000000000000000000000000000000000000000000000000803f0000000004ca3935a29543353f5c783fd56c6638b2f0ef3593483c37e2e7533f107893380d6d743552574437c94f2b3fb5d67e38cea11d37a36eac37bbb2013f9033b938e6860e3854c099386ee7af3e1a24e338f4bda437986e623810c03b3e309a9538f0ca2d373f188337ce07283d1b51e6370000000000000000000000000000000000000000000000000000000000000000fcbf103611bb26363f5c4436c7be5c360fa8863660888f3653e04037311718387e5fc9334f8ea134234a21352a195635d61c4f3402d8b834af101d35b2c02937f992b236c29e6637042533389e3b86388224ed35b445f1353ea67a3651043637e2db30385a004138ae016a38f42e743800000000000000000000000000000000000000000000803f0000000000000000eaba663680dd6b3fdfd3af39d15a8a3a2d6f593897cf413f06f4493c0d27373ccd898237b3f71f3f99511e3b4c02c43a9a280138a761ff3e42cdac3af535fc393515a138f0d5b13e1008d63a68b2073aa849a63744ce513ebf11683c1be18a39daa29939b50c8a3d944e4b3a30dd7638000000000000000000000000000000003c9a0a3510723d3539639735ed62c2355a4571369e858536afce9636d339a536919698357897af35815cd535d508f135eb511336b2b3263660d74636f32ec2361f309f3602a7a536cd02af36309f3e373772ac36900aaf366a8db5361f31b936e7b01d36d22022368a02a4373ae11e38cbd9b73600035a3702bb083810094138f712d234f0fad234caa1d234a9a9d134d19ccb3541ac6e3f44f1893de382bf389b37a736d096533fa1a39b3d2761533aac12f9355db7313f5fb7a93d9ee0983ab7e2bf376cee0e3fca269e3d7bfe843aaf8b0638fa23db3ec3be803d0f3a2c3a49a2c336dd769b3e26c14b3dc4a06e3a0a4c543854163e3ee5e0c83c7abb8d3a63ce663818e35c3d7ded973ca506a63935a6d034a3b000373a58a437899cce3722ef773625af7a36ed857e36858433373d114c3667414f36ed4e5336899c6c36a099a8313621c3317f954c33da302c37b4ce14364f96173636fd1a3654ef2536e428cd35deb7ce35d8a9d1359ac00c373c611f3527e93b35a0666a35f9b69337fd361436af501536472194368865b037a98c10378e248637ad500538799934388b2d14354bc7133528901335a12a3035042f8837a236473f8bd6623e44e08238d7847136b4b8323f76e2573ec0da0e3a385cbc376fb0123fa257473eca2c8a3a88d47a36fc93ee3ef142293e37751b3a33c09b375fc9b73ec6fd043e1df4783a1d52fa3720ab803e00bac63dfafc623a85d7063874eb1f3e2b48653d41d20e3a0c024b38af91313d13a8a63c8a3e423904e52c353602273606a3af3766dcd13781084035049443358c6b4735c0a50436975c2a3697532c362eac3c36abac5136b56f0636126a0a369a6320363d063736711e8f33abd7f53389ddbe34d8c4c0361d80d53559e5e63569950236c37a4a3734741b3603cc24366d412f3638fe0f375c9bdc368cec5337a9560a384a244c3833369b36bcfb9936a6a27d37d1f5c437ac868d36978a8f3690b49236f6549836f62fd136e3ad233f605cb83eecf42c387fe98236a2de0f3f0d23b43ebfd1013a55c0b336676bee3e74cb9d3e90eb2f3ae9c69e37ef41bf3ed000863e8061853abc3bbf37ee62933e8cee543ef8f88e3abe5b9b370aab4e3ee08d1d3e67bf0e3a12037238c5dcf73d8b70c23d953ca73979a4ed3752d4193d739f0e3db61941381a66933670473e371f7930383496363853fe5d34a2d062349a3a6434f4043c36fa268c36b92795363b10a03678b9aa36c4443835b3bf80351e8eb135c1b3fc35bbe571361dbb7d36e81988366df591368af5c93689f1ca363aabce36d3923737cfb598365bd59b36730da036a01e5937f00b1a3644ff1a3614eb8337743c2338413fcc368791ca36557a4637f88ef037f1f17f3499278034fd637f34d0bfe036d269483776c8fa3eac6b023fb51aed388a5cac36cdd0d93e5b0dfe3ea4e67d388d3c7d379437b33e0a7dd83e38d7183ca2ff5437b8b48f3eb2c5b73e23cfa03a8641b7376bc8633e57c08d3e86a2373a7406bf37f42f183e6674563e106e963a344553381f39b53dba2f043e6bff423917101338cf91b73c15a4643d3c568238cc69bc36f95c19386c12f639417db538bd029336addd9436ad4caa36172d1937847b1d36fd492e366667493609356336f28236348ad9993493e11c350a3d8e37cff8133620be1e3616d52b36257639365a1a0136db2c063685ef113637e460375c739135b4f09c35f81aa9357805d137f3e26a36c4f011375df5c03727751738df64263809773338a60c55382c1d6c38f939603523dc5e35f58e09378de56e37a2238737779eae3ed0a9283f35404938e1c668364037923ed957243f0c186a38dd3ff43767a46e3ef3ce0c3f8880fd39a5903e3713ff3d3e1f4cea3ed04d333acb2bd1373acb123e6895b73e1c63a23a12181c387346c53d236d883ef333773ad60e3d38a162643dfa232d3ebf12183a206b81384e92873ccd538c3df5bff639e7d4763794b6d737a6cce439103a16388439e834fd89f03448c34c361be9d3363bb917366da92a3645b33c36516754361e730f36dc9a1236f9f91336ed7a3536d583de34ec85153577323a354bd84837d509ca359ba9cb35ff81ce351a417837c9723236d4c137365a933a36306580374bcb9037f4eec437640a1938ce645038d908a037d39ab137bfb6fe37f4e12238cd54a537b093b5375ca0ea37f6e80d384d288d37d22d463ebb6f4e3f59700c381bd540374fe31a3e49d4483f40959d39ed9a4a37c27f033e4c5a253f21c9553c5a8bdf371f03c13d1a2d0e3f190c993ae5addb37221e963de01ed93e943e543c5bad023854b13e3d6477a43e9cd8fd390d307738da54dd3c7e16503ea52a773ab6a43b38844e713cce359a3d0feff63995af0c3831dd3138b184a7384ca17238a055c634a010ca35d8565337020ea7374e684f3680096a36cccb843620859c36e17ac6358341de35fd94f735a4e93337ba59a1366026a5360d98a93633deb1364f35bd361839be36c361be362cc6813792018d36a4ee8d3652830f37a9a403381fa63936616b38364c8523370035ca3715f1013836560b38088e2d386dcf5138a9bd3f36f5203a364603343691223336e2d8e4376041313dbfe4743ff6060a38455db53798ba093c5ed16a3faab5bb3ab2f3e1377202de3a907d463fa66d3e3c631eb736e3ee6e385f32213faa46843c7a561638b13ca93839b9fc3eb981723cd4353a38e17390389870b93e10ea8e3a54e9183854be973cf9f74e3e8c5a953a1abc6d381d826c3c40bea73dc72f2b39a992523614e60338a92b2b39ae7298380000000000000000000000000000000018f7b935f2e6f83597ef233641ac5b36f2a02335f5ca5d355bec85352f84a8356a999e363901a4362fc3ad36479b1738d7d05335b60c5b35e554673543abc53653faa5355aacb0351d6eae355aa06436c8491f3807543338332c5a38379784382ca28237450f8937728ece3746a310380000000000000000000000000000000000000000000000000000803f000000009eb86836968b04382b4a6e3f07afff3944d1b535490f0c36459a473f93ee883aad594938d65ba438d810263f2e00c53a68717437c12143383b1dff3e98c8973a77ca55370666fe376cb0b63ec0ee6d3c1a70963831cfad388e5d533ecf614e3c7e144838d17cb23963529c3df11bec3900000000000000000000000000000000000000000000000000000000000000003469b634d61dc2348b0bcb35a54c023627ea93350a449d350086c03569c4c03584b3e5358693b535686b0136f7fa0c3600000000000000000000000000000000e4809635d3369a356cefa0356fca1e37d4d0be351304d535d812cf35167cba351cf19f3409d6053509375435d044a23400000000000000000000000000000000000000000000803f0000000000000000d5169735ba577a3f05530a38cc7a4536750cac358df45e3fa4c2a137b8f0c036365b1536be312f3f15c669373c094a3600000000caabfd3ec7ce2437000000007385ba37c8199e3e2fb21738e6a48d37c6c0aa35390df83d53180d3715d2e035782f10356e7d613c8d8796346943f733000000000000000000000000000000002f6d163655ee1136b7b71936d7361c361e56e2353f25ca35a17bd035d3ba4e360edbf135a327d93515424a36d8107e36472f0636f3170e3698fb113635f70b3604f40a367cae0336fd3d02363a460836617e1f3639c63436f27b5036bac46a36c888a5355a469b3598729635f09c89350b64cf3524d5c535baeeea35381408369879f4353930f135ae120c36d14a1936ca711836987c7c3f870a703c072c17368572d135d74f6e3f5ff7b13c34968636976f1036803d563f9e417739bb6d4e371d051c36c6e8273f9c12b93907bb0a37401e0a36bea4f33e81da10386c671837da444b36bef5963e96b40d3afd2f5c37d169bd35834b023eba5c93390c69d8364df4dd35227a6c3c1512e4378f03d8359686e3354226f435065905365a690f36c5c2913435b80234a7bce6360bac9d373ed2f735235bce35f2f4fd355e9903363421a53658a08d36fc0fa7362fcbb636c9b6583585611035e9586f35a8d96e35a9880f368162003610d110362dfa10369ca2af36bdce9836d7c9c236086cca365f931636596e093618a4113663c10f36dd032b361c83493697af6136e9d847362e2b0c36c8120136b4934536609e8e36789473346a8f633f6d04e53d60ce3537ce22e035ba86573f080e0c3e43f5f935951d943607583a3fe7a3e43d4f8f8e388378713590b60d3fa904e03d79ee8937e6cd18364835cd3e8df3ca3decf20d36c99ba2366a4e703eb09daf3d1e3fcb36db971b361eb7923de874953df5a517365ef449365cc4b63727461a3cc2723e362c9ae93535d7fa3689fb2237a621d6362c79c436dcb5c236bce6ca364eccdf36517c1a36517509368a5d16363b4944362a7f2d3606ad1f36e19e273630a24b3666f4b83623a9a0366388ab3626c8c336c9067435496126353ae92f35532497359a221735b9831435b8ac0a351fde7035934fb036c7dda6361f07a836eafd123766b7c4356139bc35a233d435df13eb359d0db5370ee95f378e638437b131143776ecbd36f81c323f65249c3e8c1aca36d9baf9356ae7273fe984a93e04d84b3661b525360ff80b3f185e973e7a646f36e09cad36e46cd63e8154843e73d6c736b87518353bdb913e425f533e548285356dfc3035d7e72a3e7443193e7bbc8a35a7eba236a408553dc93ab53d6edc1038726fc035e0c525383a5deb3af27eda3500000000398032381e4487384bc28837ae717136a9415f364bd462363e8062360fdeff35a083f5357de3f63563ae5d36f7b3b33539c3b13577fbb3358cceb53560763436fc663836e4273436933a2a3685f31f3608592436a09b2636ff5b663645eb3c3611d63b3630dd3836c44f2a3646e7dd359c5edf354315da356c72bb3592a45136483d4a36be645c36a63c78366996653649835536c4d05a36b3b15e3604a06736c27ffe3e9818013f77da58362c0fb8358dbfed3e5a77063f5c92e135787d84351c66c43e8941f63e18a2b935465a3736458a8c3e2891d03ea1e53636bbd03636352e493ee6d19b3e481f4c36aea71a36e278d93dd8ab5b3e251c39363150e035cf94183d76ddcc3d85cecd35f67e48366cea8a368dae393c316e59360bdd4136062049367a5f5136af096236000000003b49f7378fdbb237beb9123782b0be35af1694357fefaa3521dfba35973db636c022a33650cca136ecdbab3696c322359e3abd342f712a3538a62c35e43c96357189443531c75c350a4f7f35aff0cb367004bc360a22c9365685d736d22b6a36f2dc52369e1d5f36c19e5b361e36473642884f36cc096236646e57360caaba367157b636c163b836ade1c5364d283137ff599a3e7f09333f0000000003c88e35062d8e3edba3383f3140a2354c70a0368a11503e06a4283f58afa736dc1022352ef20d3e69ec0b3f124e2a35933b6735638abf3d37d0d43eb3ad53350e5ab936abc7443d30e68d3e4812d4362c763b36b0cb103d8581fd3d8df852366f905236b41de13740355f3c2d4154363953a6364606ed363d66b636dcfec936c93c7e361979ba3659d57a364dfa6c3636041e3691440b36b9fd07363fd83136d45fee35aef4fc35e03bf23513b21a36b6ddba367251a83683a792363ec6b33674310436d311fd3586aef735e95e18363c865235f3795b35d7454b352a25973548bbb636fe81ad367c01a236aa51fa37c9390436fdf108362fa70d361da61a36039a3637c2e72837ff790837e1982f368e87d5366c19db3d5de3643f7bdb0336d92801369a74b73d10ac663f73c41536a5060536831ce23cbe4f543f7dbe083668deb036683c523bbfbb2d3f7027ac36c09feb35726c233ba447ff3ee64f0836ffe48c35d25e853c9a34a53ec9489a359a0e373877f3d33cbdc40b3e3a345b38df48fe350b40333aba22b03cc0840b36e4a4d3347bd64c38b4f01a380ea4c4343887123651330336e9ebf635783e0536fe6cb535cde8a635f82ca035578ec135d2c380356072aa3506746535ae0f7535ba902b36bb271d36d8e6dd35bbaa26368b6303364b0c00362e9bfb35c29613363e493536871b2e36ad051f369b781436c3d86f36c0d560364fd34f36eef1833616173a36e90968362dd34636cde26b3607ae1e3683481136edad10367d271b3639cd1436d231463a1506803f8ef8e6352cb3ba35bc25973754667c3f84d5bd35d91c9335cb8db337b8bf5f3f32daa03581854736e858d6372ec5343fcae82f3686500436255da4375c77063f041b2036f6f412369734c5372604b13ec8f0df36b3249136e3fc04386d26283e41012a373f9e43365d3614389879423d94a15f366c850136915b0436dea9bb36878f15360000000000000000000000000000000000000000000000000000000000000000ba0af13505dfcd354a83c235987faf35484dbd35338343354ca331359071243500000000000000000000000000000000448f5336a003313622f13e366ae053368b3817365931f9353614eb357d43d235e5674a3613e77b365ebb653640a778360000000000000000000000000000000000000000000000000000803f00000000000000000000000083e77c3f000000008112a6356879ca352e61613f3a40c63580b19234d6f85537e76c313ff672e1370000000000000000ad8d013f4e2d093715c22e36d383a136417aa23e6f535b37c002ab3589884b370a9b053e3914893707594136c8d5ee3750c6be3c909df6370000000000000000000000000000000000000000000000000000000000000000bb041e36922b1a3610cb3836cea8433671f10d35fa66fd34e81bff34a01404357b15e534dbe8d7346dc41235e95c0f3559294d350eb137351be03b355d0a3f35171619355a79213515920a35fa695837df0bbf34a0e8ba3487eac034d21f80366945d6343eaf9434fef55d3442ec1e3700000000000000000000000000000000000000000000803f00000000000000006607553656256f3f2e99553cbbfc9338ee958837ef22503f30b6f63adcd3cd38c660db3464d8243f68e08b3cd0e2d038fcf86c35a9aff43e180cac3cfe102a38c3c24c38b6739e3e9db6e03c6bb2a4384c179237ed4e193ea9370d3d9d277937bfa51b381e95133da5f11b3c9ff32e3800000000000000000000000000000000c33a4a36fd055136ce0487368d1ba436fd0cc635a5d2fb358dd42b3636162f368ee9ff35bf540736719a0b3697780e36d31dc63530b1be35c4a5c33541902736232ea635107ecd356cb77436d3f79d360990e8350d2cfc350826f3358f551936709a7636cd9d763642fca736d55f0937c92a0336e6d91136eee13436e27a2136b7463336125b4636464f403664174336e578963678e1763f8155143dc5c045373b033c3693a05c3fb1db7c3d07db25382f9e1436b526413fc0ea323d8cac3d3880685b36a64f153f4cad493d75c7263870e9ca36c435d63eb7e96f3db9b2c23728a5853629d2863ef9bd733d8bcda2370624e5378dacde3d0a19863d55e248387163d6374663f038e41ce43c0911863883af3736c2f8e736b080ee37f7f6ed37ffda2936c2232a364a966a369d857636c761f9358d6f0636833b0a36ece82736f215603659b27936c1c9bb36f3a1fd3620345636c5234a368331543603c5503609ad2436fd8c2e36bc643b3679f06336d61305375725073760cc0c37e83f11371b984936a4413d36fac240366e1a44366009583658ce793613828f365c0787363f3f1236f6e70f365de015361fdb41369a725c365b345d3f076c0b3e0edb6a38dafc25365649423f917c293eb4ef8c3827cc0637299c1e3fd591443e02eed338d80c4c3640d9e43ed12f423e92a40b38b7d48436850f9f3e456e2e3ecb2c4c3833381c3761e52e3e825b173e55f928396533c136ad665a3d9617dc3d88a726386e84933602748038713ec83c11b691384376e43564cde8366517f43713560138bf37863663d19536b18a9e36af14ff36c7759c36ce0ca0361f86b736604ad336cd0cb335a37bba351ad2db353320c7353b9b8f36068094363a2daf36f871da369bb9b236103db43624ced236d3b3f13682b52336c812203676152b366f4b18368c8ff93689effa3671e9fa36ec4b0737275fa5368586a53603adb536f232b036777f6e36383a603691ef4f36369153362e9ddb366c312d3f87f7a53e98f03c387ef6d036d645133fd868bd3e10b7eb374594dc351bc7e43e762ebc3e47840b38ce1dfe3632069f3e40d5af3e68e761380a460b3785344b3ee6e5983eb9d90738190a2236229cc93dcfcb723e19725f372e031437e3a1ad3ca5a31a3eb4f19e38cd33af36c986a637de6ebd3c2a26b23715d9513624c67836c88b7637643e21375e97a4363c30c0361c1dfc3634c5f23668b5fd341bdc37352f518535646888351e591536ef1f2e3680c163362c1d9b3656d3b73643c4bd3612d7e2367d400037d52c8036028a8e36ae709d36f4eda33649cc00378cc803375f2a04372fac0b378035d3360886d836452bfc36b09cf93607523936a84f633678cd8536df248c36754203375f15023799d2ff36d93bf636b31cfb36451bfb3e737f023fad0b113716c5b135a222ca3efcaa103f6502f2376d64c036b8d7923e05540a3f5ebbe137a96e1237bf73363e824ef93e9b169237375c35375180043e20d4bd3ee7837e38604820376129073dcad49a3ec87adb379dd33137bfae7f3c4fdd213eb93822386ee752370ebb8c38cbe8253df0678c382a4ee3365b600637ad7e9137029c5037e7c9ca35689a1836ac0f65365cf67236529bad354cb9b935f4d7b035e7860b36fceb8036c76b9d36e7919236319bb036944f173657061e360ad92936c8452436795fad36c119bd367a26be363f65d6363889e23682faef361a80e7361e9deb3628f7e235a36be935c9f30e3621bfba36419a00371df6083723cf2237f57534370deab936b8abc1365d23b23687df093781eb083714c39b3e3452323fd2b049368dc05c36c3d45d3eeebc423f79059b36cb74d6362062e03dc01f383fc4557a37baf11b369f29483df7f31d3f58860437043408379cb5ef3bd05afe3e85ad07385a860537d4575f3957afb13e388496386f1c2f3729a7853bdf7a3a3e1ab4363818ce5b373fb542389a0e623d8b0a3438132f1337afaf43386b8c8d38257f4438ab54973625292a379fae49374cd83f37b75344362276473607d74a36052b6c36d2d23a36d1a2383661013a36a99b2f36a4bada367775d536da66ca361d72fa36a62d4036e6e03736ca74413626036c36342f533669d85636bc904b362adb37367d2f1637a5fb19372afe1c376ac83737d6d35b3635805f3669fb613636565e36155d9236ad7e8c36cf318b3696969f3638d331389bcbeb3ddca6623fc3d9013721749436d7eed63c642d733f66af7c374ef33d361277433891fa563f6cb2b6375df61437de0a0939dea92e3ffff9fd388f5d8c3632c70f38603e053fdf342b38cb834e36d7d20538a687ba3e177d1f3859d89a3713daaa39ff54413e22231d390a141d3710347038d1fb9b3dcf32683862c92e371a503a38b2a7993876fe063876e431365fab4536144547364b1b10379b2c763598b27b353cfa8735d5267335460608361e1b03367439fe357cd00536766ef8350376fe35d729fa353a78ff358399ec353f0dfc35904e1536fc325c363135df35fd7bc435859aab35a383ed35821f1b36971e2036850d1f36cbcc1736cdf96636bfef6c3686c374360cc8693630c1db36af7cdb3632f5d736df71d136a9a4fd3779a7c839b701803fb6eba33727f16335f7563b382aee783ff3c5363870611436312d79376b96533facb47738151506363e5b7636f6882d3f2acc0538f01e9b368259e136e027063f5c6f133886b9323693d55637c79cbc3e53aa56384da82536b373be37e7484f3efc25553821488a36ad1b9237ed489d3d65cc253876e9d136d1b1ee36a1374a37efdbf3360000000000000000000000000000000061710a344b115434e8418934048e843459e7ce348196ab34ca5db734b647bd344ebd1535e8af2235afa03835796a4435618f1635348d19356e131b358329283523b81a35f1ed0235d0980135f7c90e35cee3ce34004bce34765dd334635d7737891d64361fb67636a20a81364b1b77360000000000000000000000000000000000000000000000000000803f0000000006858d347242b6343b73743f65fea538490aea341ebeb8347106513f8d632338e2863d352ca9023884a8293f3fe2903af3f0413541248435e934003f9f09c13abe782e350ebe1535604cad3efa2ef33afa482d38ce36a1387c1b2b3e3ebd953cee5fe33757fa5f38f000593df5ebfd3800000000000000000000000000000000000000000000000000000000000000007d3d1e345efe1b346a982034fde1eb363562bc33ca51c933ee09cf33541d2e35ed11b435eeb4d635b0d9f7359e9eff35a5fa8934702785340471833477cf2f37e6370136286f1236c5552736957a12379fb5a2352ef1c336cd98cd378d4b4838b3573535c986303569f6ca376f57483800000000000000000000000000000000000000000000803f0000000000000000030d103810c8603f761edc3c4eeed83c3fd98c37f2123c3f7b79e13cc626f33c14dd0936c2c91a3f9f32043d0ac46f3cc89938389c72ea3e1422283d2b82463c2b13b63765989b3e08c87a3d4c304c3a58528a384491363eb6924f3da8d8b539b1269d380d94653d3da51d3dc60fe03800000000000000000000000000000000bcc4473632fc60365ed778367e638536dc039634aaf19a3471e3a13456eeae343fb32f33bee4323367bd3533cdf6643398bd22360fe13236f0c47c36b4db9f36c687d134a3a5d034ca3ccc34d943cf34cd419d35a3b7b5355cbfff35460032368698d1356cdddd35dd10e935f0b5e53569c81535411b11351ef90635799bab377441293559f12b35b7892f35acd03035c5b29b363ed9723fb9d4503dd0f6e939d722b034dc5b503f96fc413daec0353d0abda83398a9263fef03bd3d8771163d7bc97837d5e1f93e7975f63dd486f13c7355d6347f73bc3e5c50e93dc68a8f3c717c4c3656297e3eea17d53d6b92023ba472f2355a09103e5fa08c3dd0c47d3a26a22b38e7921e3c0aef423d5d5a38390fad2935fb9c343592ca3c3554ad433761a9d634ed295d355ae8c835a9034c360b6f9a345e92a134c033ae3405b9be34c0ee0d350b821a352cf91c35d78924352add4c36cc8e6a3663be96361fb9ba365f0a1235649214354c400d35082a0b35da19a73531f9d43524ed0536471721367551463676595336be806d364a5283366c48743591376d35f52647357e4e383500d30935f23e1f3546471b35d32a1535b8f3bd36569a4e3f2efa443e61aed839e6f3b9347f3e2b3fd7d35f3e4343063ddb9d2d3551ff063fc2d1683eb358f43c484540376679c43eda74633ecf5ef93ca109e837fdcf8a3ea7bf433e045cc03c57250938e9a31f3e9b17173e5b92dc3c9ec51737e226973dd6cdd93d859fb23c75f74b3513b4bf373c59323d9947a03a06631f35e3f429354d2b8b36021c08381536a433095ea5335105a7339899a7338646f33479c9f2340a67f534d2050a3574349a352b1db435a7c20636277f3836c5c3cd3441d3e23424a45235e450a23578d81f350a062235cf812035fe8328353855553674ef6a360e10783610f38d362bcdb535c980b93530c2b4351df79b37d1875635be915835b1414835150456365ede2e35bcc5303590f12e35cb4a29358cceac33695c243ff073b73e513c1138562e0c35a5f5023f2130c73e6f439f3c20c76a36a3c8c23e9a9dc03e2d89ea3cf527c4350d84833e93f8b73ed7bbf53c24802c354fd2333e1b6e903e9b513d3db2bba5371d97ba3d99e5663e5520043d4fa93138ea19f93c62b3193e7502b53c4ef198378d388638f8225e3d35f90f3a19762f35da386535aa3c5b372119cb37ab735735b4205b35f0e45e35f9fc73358c9da4348269a634357dab34bb3bb834f01ff432ef6b5a3348faf533fa618334db86a5354177bb353228d2355a0f07361dcfd234a7bfd134aaf5cb347d0bcd342adfc1354f7ad235e55be535483c12367e145e35b1e364358fc0613594faaf3740e90135361a0035972b4a3691c7d03787497f3595f37e3566187d35ad977835ed5d4c37d0b1f43e1cb1053feb104e385e08de358325b63ed3b6133fb64aa5393baf5836f2af7f3e700c053faa3dab3c3e442436d09d223ef855ea3eed9a023d622f653685e1003e97ffb13e3515db3c7d92de373041193dd8aa903e79a6043dbf0b2338a9883f3c129b353e9009ae3cfb591f38a824a53830bc883d24cfc73984e97635625d79358ef60e380b3e3038ba503535e4743a3550c727374f1da537ffebac349d1bb2346204c6343326d534add17c35d2a78b35ddbd8c3585dc903574e20a360c921d36e4463f36f6817036c9a13b357feb3f35a43a3935bc0a383595a4953543f0a8356202bc35f790d435969a5d367b4a7236bbef7f36e4467c373d7f6f35944c6b35859b4835f493ae377044de33b42fda33b2c2cd33e903c633f34e0638443ca23e5af72e3f22cbd337fab8dc34d456483e60f43f3fd8e0b0382388a236fb43d43d6a7b2d3f4c56883cd0348537df43473d78af123f4597f53c1a5a7437c13d783cefb3e43e382e103d7379f435605f8838b72ba73e0b9ee63c44cdee37cf289e38ccaa413eb875d43c19510838f59aa9384b1c913d47401b3c906ad033c3ffce332515e037bb30df37a3845935887c7f368c7af937753029380608f634208fed34dfc4eb34d956083546c1f635c4ac1536c6562a36d1964d369fdf11351b6237356a278f3541fee035750ee63468b0e6342460e3347964f434d0afa036cd2ea9361115b136c77dbe36b37b7835d03080355d3372352bc46535c74fa235a21cb2352e14bb350e9ca035bf39a136e241a136ab78d836c59d6237680887381f54203e34ec573f24eaf5370b2d0a35766ef73ce5bf6c3fb94e193a6a176a3634cf0138aea9473ff303983c67e10936ae6e5338f19c243f73afdc3c743cef354a889c38e629f93ed58ae93ca916cd3649d21838435eab3eecb1ef3c36976f3583446038adaa443eb65fc63cdff826372a097238f972a03d7cddee3a64e88a37e5212538a18681382fdb82385c784f35c97d4a35e787563528ec59367d75bb34389ebf344c38c2345e0ace34daffba34830e1335aeef4e354f65893522a76b35f1b193355307b4350ac7fa35408cdc34f413dc341c59d5346e6ad534b4c12a3659b83c36ddcc6236eca888366b9c3335701440359e70443567934035f1fb043557a102359234f7349f86e83443ea9d367e659f360e5a3637d85794373c5bf437aa19583c72b27c3f5b239f37ce40d334bd0d0738dcee703f8528bf3a9b3d8e35ce8fac351648493fafb6913be70a1f36607e6c3787741f3fedeec13c9cfadd3499838e37b4cbf23e98a0de3c587e9236070643386e85a73eeb85113d38276735efc8c137aa66423e257cfd3c5d9ef33431a51a376f859f3d59f98a3c5e25c937290c7438e86bb7384b57ad380000000000000000000000000000000025d2d63486dee0342deae234c11eee3425cbf3345e130035817407355d821f35ebaa2335c3cd4a35b2d7773581a5cc35e11dae34d852ae34479aa5346b10a2343814d7354efddc35201ae935dce0f93562d95135ba65783590c59e35cd74c5365e432e3642ce6137a5d20a38bbae56380000000000000000000000000000000000000000000000000000803f000000006dd8ea34300b9f37ebec633f642e7e3c7215283567a50f383717413fa0c7883c5addfa35d6d54a37966c1d3f0a34a03c4b57ac34c6892f389249ed3ed86cd63c06370236148008360fd1a63e31b7c13c6964b9375c1866385ac1343e32e1013d8e0e8938f5f8c2381ac1563dc31d863c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013596e3440068433000000001808223448d16533f7086833288f6c336922923347a92e340b0e213458e00934b2b142347cce9f341c2d8f340cdf3f34ba960e34a660463340274b33e6a5473301706c3301fabf347609cf34b808df34ef81db3400000000000000000000000000000000000000000000803f000000000000000000000000ceff763f0000000000000000e9ea7834b5435b3ff368d438be98b634e1f51a35a983313f64c8a437615f85339b9359347699fd3e7da7d539cbf56939b735ab347d4fa03ec4151e3acb6f3a3409ea7a33c832143eb4b9a739c2735433428cc6341c6d1e3ddb18b9377303a93400000000000000000000000000000000bce316338aef0e33fd190c33a302e333cd2774341033333414bcf6331c4a7734a0ebdb32b8bee0325551143341e844339db925341e211f34a9cd4034f522433467eb20358fa1183563b5253545412135f9e20234e8e54134532ac4329e067d32a15800342f03fb333adc223437e71034e81fec34c881f13468720735133ec734bd7d4e3584733b35f40c92348e6ca634c2830a33d6e67b3fddd4c43c80d10e33f94528345998653fa4e7423d5efd4e37b35e243358f34e3fb1eab13b50e93639f66f8a348022233f6af8963cb7e58838735952363d52ec3e2185903ccb45e0378a23ce33534a933e025bc63c163652342f391b34207cf23dc8de1b3d55e2eb3330f1da345746213c4a93f13bce08c13424af8734a65b843404700535b3596835ca7ce5314628d9310105b8315ef101325d69463497234a3479db40348c91673453104f33115d563386f85333695970330000000000000000000000000000000053a92c33bfbe813304ca0833d712493378446933934e713390fa5833dc986433000000000000000000000000000000009ed34434cad529348e101434a204f9330ae885337d098433a98f7033ffb973333bfbbd312bc0643fd6dbeb3da13a2d34628d47347d1c543f9028183e5d26c1349b825c335644333fbb51fb3d2fda1839000000002886063f9f1f0e3e000000009a17fd32eee7b93effb3053e0d04db338a455a331c50433e20c0033e00fcbb3300000000f4045a3d59d6da3d00000000aa47ad332a576438357bed3bb893873384fe4733ef85493392c661333fa38233ba34523312992d333a742833b3e65a33eebd07340000000000000000a4772e3200000000000000000000000000000000438152335e9755338b3554336ae87b33433e3534e1611434c82ccb33b8001634000000000000000000000000000000003b995533e92155337fa15b33de8571330a62a23404d5873470481b357e51253569376c328508833235fb8f3280907d32767d4a339e69393f346c913e9a8f473300000000a655253f0b33ac3e48206e3300000000f6dc073f4c6e9f3e000000006f7087337d0fc33eb0d8953e09de64337557043451656c3ea796893e1f32f533000000008c3cef3d68b6583e00000000df4280337c790f3d3edbfd3df36f5d3327b82235200df93748fffd3ba3d046355e9d3432234b4d32c10a3d32dbd61f329fe7a734ad2d81346b134b3421da1b35139eaf3418ef8c3404914d344781ee34f3f0cc3398dcd433aedb0434a35d2d340542c5331c7fc233df75d133fd3ce5330ad7103525940c357cf80c35f37b2235e56dad337982f73386949b33657ec53320cc1334d2c80734d37a30344fbe14342b4e083583c5203540912535992dff3452a33a3597ca4e35032cd534a822e434378b1d35c118063f8334fa3e33568e340f64b4345292ef3eb074083fa19b0635341d1034bf75b33e1b97003f392a1734772e5534df036e3e287aeb3e08c9ca33ffab15359ca90f3ebcf0bc3e32def535a1559a33d9296d3d5520883ee7aa2034f8d4133482e6133d0772023eeef71734ff8ef5344a1cb7393929fd3b8ae9ec3472098334c833b534ab5aab35e94a6435c07b32326cd1273250540d3289284b3200d74c3420514c3434453c34bac76e34f7c92f33d9063733e3ce333378d84e33000000000000000000000000000000000bf0ff33a32a0c3471cddb33b8fe1a34fce93e3314214633b1683a33f4de4d33000000000000000000000000000000005dd71734b8ec1834f808233404b1ff3398116133b500573391f9583393625733ab861032d9f1a33ee207313fc0595032b1404134f8fd913e18bf373f48be9134ebad3933da292d3e980a303fa6cd8e33000000002012b73d42ef183f000000006191e833b67d4a3d0798f03e0d43503405d63b3389881e3d440b9a3e2477063500000000a86d163d9a880d3e00000000f871a1336167303ba771da3c4c718a3378b72d33f4c32e333eb64e37ad4b5b33c4157b3394ae6d334e623e333f248433fe0935340000000000000000000000000000000000000000000000000000000049927c335a1e8333ccf56e33c5d4983352fda833bbdfa43200000000c4a491320000000000000000000000000000000016037c33907e7e33b2537f33b8e99033b2467834c9828134f6f4863416958d348bb61432d6412732e4893932c35823323de68833991a0c3eebd95e3f156b733300000000d9f6e93d039a633f2eb42433000000005b99823ca748563f000000006f88a6333b5b943bc1c8303fd25b8a3355412532a97b5e3bb6c0043f71199d3200000000bbe2a43ce6b0a93e00000000627d9a3340b2323d73a0163e16ad85332fac8834cd687a3b6e64f23cc0866f34080ff3316ccc033277335234bb8b613452e11735437bdd34cb8f5f34f0edee3491867a34858a5634e6509c33132db8342515a933dab082339e985a338169e433fc22c032c2deb833a3328c32a9fd1633c3be0035c57b0135bb39eb3411d12b35c30f0d34b52508341e14093414ff343496f42633bb481933a33e48332e692a333deea23481bfb73452d2d134bc3fba3440607734347093343fb44a338e5bd23385fd4a359829f83cc2ca7a3fcb8b8d3403348034bce69c39e1197d3f86b6e534f785a533632b96394d4f5b3ffbdf17347a0f0c3407f30737ed9a333ff270e232e3c4713607db11385809093fbaa79f37cc931434e4d8de3950d6b63eb45daf346b122833b854a53c4105383eed714938ff21a634e49ffb3878f8803db4529134d4091033eb381433728c3f342067c234000000000000000000000000000000000a809e34cfcd9834ac87853411b1ae34ab1c2e333b78323301272333627c36338a1a8e328bc2843275822a328c14b13290071a347ca1263475b214341b2a243461fb5f33d4466a3344aa55333b3e6633e62ba33425b50635032ee83466d29a34000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f00000000d1a3903489d6a234507b783f79ace234303e2e33ce44313388d95d3f63d295387a74bc3336c7ab34a7a9323f0439103926ef19343af81334581d043f38ab133a56225a3336ba3d3551c1a13ee188a0399f74ca34f4d3a839de341c3eb42768390000000000000000f4b9343d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e145fd35d0e0ff3568261d36878637360cad6035395a933506c9cf35850b163600000000000000000000000000000000949717363f3f1c3670042936fdd73036b3ae1d363e663036bf343f36669c5036d8cb153596063635e88d8535cc02a93500000000000000000000000000000000000000000000803f000000000000000000000000818d673fc9f00c3d57bb033a7a3a3e36b07c433fc08b0d3da5b12b3a5a1e08366efc1a3f69c2063d710af4390000000036b4d63e30f8983def994639e80a343671f0813ee718c73d93db9b3970a437368840f73d6149943dcc730d38e4f679354ef0e63cb02cef3cb1c5d93800000000000000000000000000000000645883316b0fcb30fdf2bd33681744330000000000000000817c1932ffd6c0320b17923354e10f349d571c34015133353f15c034ee9ebb3458b5e834fe7e1535a91158320000000047eaa52f9910e432d6d60035ddcd2035d4494635dfce9635220da4342153a0342511a9342749cf340000000000000000000000000000000000000000000000000000000000000000305a4d328a5b713f14fc7e3d4856913746c46633f72c4f3f7a08e33dd0081a38b0cc07351ac8303f7cfcbe3dda45f039ee750935671af63e60fe243e9a64b7393a364f33b58ca23eeed2393e62d65f384acb8b35b491323ec36d2d3e1c000038b6f3b93469a7b53d1e46db3d79b4493800000000f8825a3913db363d60368f3700000000000000000000000000000000dc539234dd18f2341d80663522bfc33599d8f63335245f3443380d356ecfb335f352b035f3d1c235c10b013658ff1b364eaf8035e6e1b63592d62036210a5f3600000000000000000000000000000000e490c534a14e1c3510738935487c8e3518d0793554a57e35273ec935abe80f360000000000000000145fd73100000000000000000000000000000000000000006c17863575855f3f2546063ee88d8736c6568e3523d7353f62b6553e8a20b137c455313692300a3f9fe7893ef054963786585636d62bb13e2a639b3e18b28437000000002e95553e7b54943ecac563378af6b535e7dc9c3d7579843e17a1a8377f1e0536144fb83c3a5d153e6080783600000000864b1136e563da3c94cbd536000000000000000000000000000000000000000000000000161fb133a33d67340000000000000000000000001d00db33677d0d36f21c0a36ce6f2736c2df3636c3978935d25894359705ea35f5ca013600000000000000000000000000000000b54c51361ca7523607a16c36da7a76364a845f36797b57361447723666c770360000000086c2ee32ed6d4634e7bc1035513c9a3347e993330000000000000000b5e4aa3312a2313fa5489f3e0dcb17342a7a2733a6a5063fc8fcd53e20329f37ebb36536f628b23e1b74ef3eb4c797361b4a06368041493e8243ec3e8e70b63700000000e9d0963db6f6da3e9b7e9a3767ea8136b5f2b23a9d7fa83edf2c06384b2565360fcaf1384fe03d3eefe648380c268b330cda3a3783f8523c648f8a370000000000000000000000008c6c7f346e38b7327b1c9932d9805634180d19330000000000000000000000000000000000000000000000000000000026f08b323437ac348b608034a3407c341d8a8734000000000000000000000000000000000a411a3495d6fd33caf5e43391e8143416732534a70f943328e2c732182e89330000000000000000000000000000000031fd56343b329d33ea20b733bf9ec033341588328b77ff3e30f6013f0000000000000000686db13ea3461e3fb98d59369bca5c3302c93a3e150e263f357824364bcc2734c4082d3d811f1e3fbae8fb37000000001b26a239222d013f937ab4381d4904345c758f3858efb13e3a9e2f3800000000f68962373036343ef45f243800000000071e5637d40b273da43da13789e79a3150eb9b339749a532bcad78330000000000000000a9ae8d3461ad11350000000000000000b8bf0434ce843535169b4136c1434436eb715c36ca1b6e368026c935ab0c02365f273c366d316e36000000000000000000000000000000002c3ad43598fec635fb4def35a5c8f9353236e235f4dbe1355aef12367a131d36000000000000000000000000000000006f00b634d5242c3476ba56348e588c322701dc35824f993edae8343f00000000ccbca9345ea22d3eeba4523f17210635fc4d83364828d03a5fb9513f813aa937e2b76f368b3cdf37be5a2d3f689bf23700000000943b73379bdf013f06d9953829870136d31fac37215cb33e2ba2323818a90d3674a13936a28a463e9c69823700000000518a773729c17f3dbb64d03700000000b392d93316441137b48df1330000000000000000000000000000000000000000000000000000000049df1e339985e735cc1fe43509eaff35681b0236cb7790341ff78934b66f1c35c3c450350000000000000000000000000000000029323036bbd42936531d303611bf3836274f153645c10a366ce9193642161e36b5a71c35d949453571aa5a35d6f59b359e738335b0e35635b01f723504c97e35000000009c0ce33dd3e6643f0000000074690a3336604a3c213e773f00000000349b38365106a8363fac563f9c947836666d8c3575f5c33579572c3ff55d003800000000000000006b94023f40c2f638aa0d3036f4206336ac8db83e67a9c938d71b1b36be98333660ed4a3ece6c2d385f144a35d776f336154bb13d46f50038c0d24935b92093356c5242362676b8350000000000000000000000000000000000000000000000000000000000000000429a39341eff6634e8816334f8e196341ec7d7347be9b03411bbd13492bbe034000000000000000000000000000000007918c7349b70d334e885c33470d4e134d9445034a6ae0c34c0841d3487163f340000000000000000000000000000000036ec7634a8c9d133d925eb336691d632000000002f663c3bde3a803f00000000000000002e865236358c753f75dcb1373a46a034d94fb73421f24f3f878aab398118ba34c3a816355ff8293f0972f3390000000000000000f02e023fe9f8d13a26cddb34779f9537a611b63e4b7c343c03c1fd337d192b3759a6553e7810713c00000000edef50370832ae3da46c083800000000b84b4c32fb1c8937dc541e3700000000000000000000000000000000556dbf3468abac34b4020335dfef5835e3e20a36399cfe35f4190936869829367388cc35834acf35983bff35c9921d36000000000000000000000000000000007099e135d765c9351424db35f793f63593ca123608140f364a5c203670af3236000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000009c214435b8b16135a4f0723faa29073a893a2336d1db3836cce74f3fd5a3b43a2ff90836080b20365836273faf04ba3b0000000000000000564cf03ef38f4c3ded81da356084f93587c49b3e1979843dbd432136ba7d2d366dc82a3e5e162f3d0000000000000000a4c7863da351853a0000000000000000000000000000000000000000000000000000000000000000dd337434bb836c34e0c47a3482cea034356739353dfa7735c4bab235c1baf435fb497035d635603510a04b355b8c3e355a01fd34ff56d034eededc34ef640835ca6bb5340862fc34ccb473355626fd376a061135d754e1346c3011353b5b943795df3e35ef490035578ce3346b8b8a3700000000000000000000000000000000000000000000803f0000000000000000bd1ef2344597593f2f326b3db909413d7ebd75371210303f377c8e3d6d10893de0c11637bc33e13e06d2443ea47b323de2b1df347384903ef7b6663e6068773c8bd68b38eb0f273ebfad503e5402493c3606f537c83add3d524a0b3e35a7293c682226380cf38c3c550e963dad1a853a0000000000000000000000000000000034642433fb4e143337562333dd011f332d870433f522003373f209332dd90f33ce1da235a983b43524c3d5353c8eee35997e2635c098443549965a357d7d88352fc891335df18233ce3771331a638133b3633b35462f483566047b355252833582bf9335a3c19735916ba4353b680337b6acb23378849e335938803331fc8d330000000000000000000000000000000063721f3328cb6e3fec40903dcfef1239dd230833a184453f88e0be3d4f6d913d26920a36a2d70b3f3cac513edac18b3d4b248a35b4599c3e1fc6a33edbd9243dd5057533ee142e3ecdeea63ef44a623c9ef6a135d64f963d3666943e3bd38b3ce4d5c137af728a3d4e12163e3a13673c2772aa36f4b0a1387c49583d911a333c0000000000000000000000000000000091fc9a3363088433bfa4a2338f7c0835c9940e331ce81733542b4c33b2496233e3572c35123a3435df034935f732603571b85c33381081336ec88233bc438f334e170833d4141533b1d241338ba55a33e0f6f834d5d5f9346e9f043565490e355736e034c567cc34f4f3bf34757aa434bb1f8733261694333a00c333b648db3300000000000000000000000000000000c3682435d0b7593ff2f9073efc68a53ca2147533544c223f4d0e743e79b27b3db27b7535e1e2cb3e02d5c13e4d24503def6ba133838a403e6e23e43e3e09ea3c54086e337789bb3dacbbc43e8efe143d705e1b35595baf3c1ef39b3ed6de343dcc6ada3625b7df3c8be5133e308b103dcdf8f033a8a5c737439b873b0b8c723c9289142f0000000012f64834c991b53500000000000000000000000000000000000000000000000000000000000000003bef32359a974235f0f53a35dde50236beb86b35e9a3633581b84c353e4e5135c37e5f333020493340b183330c97ac3344f77f34615f4a3470a4743467f991349419743554346035724c423545f0383535608b32c3647432cc9a3d32e0395132000000000000000000000000000000000000000007ab293f1e0dae3e2efb3138749fd735cf1ce33e6da0f33eb96d023d338a1c36c0d8613e322a143f330cf13c3f3f73368ebc823d601b133f5642873c2cb3a73302d78f38a5adec3eb58b6f3df36ca8348c593a38e038933e6ea6a43db95e303521451c388d67033e5c54913d4d9e5f32617ed3374e6fc63868f8513caf0b10328941e931c3c15e35f48aee35e4c39c322d808732c4f29432adcc8a3200000000000000000000000000000000e2758d35b8239c3574b0ae359acdbe3502b22035c3453f357c7b4935558b6735563e1532596d1132b32a07321eda0a32bcb083359ac1933536b3ae35e4e2ac35d43ca03540d4a4350049aa3504baa53500000000000000000000000000000000810d36321505873283c395322b58a73299c585375a5ef53e3923063f21bd1e3800000000c6b4853e42a7353fca14da38c1fa9236b9027a3ded373d3f2d12c63cae477a350af592381fe91f3fd08bf63c2b040c322c567a39044acc3e2f78d53dd44fdb3563e3f5370052683e9db2fe3d99c3913501da1e38e7bac53d8008ad3d0000000067503838a98e673af29b033d3c6bb83229d3c332af749d36998625380965d135c75df635e8fd29366a1746364eb70832453118325ffa4d32fb3a6d32ca103a35b8e43635669a3d351b944a3533c2bb347b08bc34bfd89534b194ab341869ae3349f2c233c3f0cb33865dda33d8a82d35cdf9223584022c35d09837358b553f352c663335f3601a356c862935c845563370a655330ad2fe31000000000000000000000000035ff132efcbbf31f1718537194c9c3e2cee323fe044f6353724813244bb823db3ee6c3f5daea838756c5d3584be45385f234e3f40edc5382aeda93444ba3337e5d2143fd038683daeae02341e66053784cbb53e4663053e3a1b4335eee5b0378da7483e1ea21d3ec536da35c6bfe9376836bd3d6208ab3d0000000059b35838f3309f3c15da073deb899a33a66c0d33f477273717bd0a3876288c34013a373505249e35ebe9f136917bf733b9fadb337839af336746c63362b6be343356dd34fa37c4349bc5c834d239323586bf3435b82a2d35f431333557fd8033d4c96333a01133336cb844337a20b53322b4a533de87a1331d949c33e79d7735fc136535f4ea51359beb4b35f8427e33bbdf6b330f4a40339d5e5133c4a828336aef90339282a333520a2335018b40388935e03d68d5643fe33782357b713d354610e437c3aa7b3f1b3591384c3420351dc8083630e04a3ff80cc13b602d35357688e136b11f0b3fe566bb3da69e433332ce1a330bd4ad3e0da71f3ed079a43383b1d736d9bc333ec3492c3e894078353cc63f37b7f4c93d280ea33dc0e45933c5b29d37ad95053d7a7e1b3dbd886435096f1d36c6bfe537c7345e3800000000000000000a7f063674cf4f37aa8b4333ec755233c9048733124b9c33b5569135bab1aa352c45c7356ffee0353e80d7340ac003353ffa0a356abc2a352c8b883302938f3350a09533e84c9c33eaf390353d99a1354407b935fc59bc357a7fb335eebabd358213c735c0d5cd35ab254a3305365133aca13833dd8f2f33d25c22332488443318554c332a10433348d23338c3cd373b3105803fa221943648e6a933b1200037ab01693f3ba0f13cf1e10f36e7d81d36a7c23c3fe90c233deaa44735129d8435ada1f53ee737163edcdea6339b869833cb38993e90f54a3e3ccded355bad393741b9133ef05b493ed03aca350fde6537614bc83dba70b73d52133d33018aaf361e5ddb3cc8732b3d2b55633341a26833518d2c388f64833800000000000000000000000000000000a52806354e2b0f35320f2b35f3933f35a6b42d338d135b33e3956e33a0ec8933b29d7b344732ab340623cb34f1b9783587620e3529f8193575c62235904b31357a35233567552035275e2f35cb2a3c35e9f3b835aca1c1358e89c7350919e83551eec4340adaca34d3cbb734d44eaa340000000000000000000000000000000000000000000000000000803f0000000064b22f352a6449359e385e3f4ea0383d8ceda1337e3ab034d36f343f29aa393dfc10a33554e3c73749efeb3e84a52a3e7ea0323536ba3535fd79923ef2d44a3ed8703c35a2554437d297123efccc3f3e20f805362e964b38bd43c13d2038b23d1c85da34eec92d384c34493c28ec153d0000000000000000000000000000000000000000000000000000000000000000e1404e3497cd4734e136c6364293a537f5b6be359b15923580c5b43676929c37606df63536efab33b51061378f3cbf375011783729d8d136b0d5d537a0020f38a4c26b37ff03e436faf6af37266009380ac66e373ce80c37ed0bbb377b25e7379b888637b86839374d829d37561eae3700000000000000000000000000000000000000000000803f0000000000000000a6ee8e360aeb7f3fa94d24388629b1376499e036c1be543f17b31f385d46ac379d6a84376c012a3f4ad31238522ebf37f2c8f237cc6ffd3ee3df4138f8700a386cfbd0376ffba53e7ef84838fbe8dc37c2aabe37421a203ed5b91838509bc137a66e8a37726a333842a5d837d5218a3700000000000000000000000000000000f293ab34abe2a134bf44b534c8211337e7b4283682781936263539364c3c3936151201368023ed355f7cfb36cd64a63705b1683694df59367bdd6b36cf4708373e801b36c9e20f36e9431e367976d837ba310737454b34367b3d6e37cc5bc737a67eeb36a3238236cbc80937f02637372430f93622b55c35e24ef03691062837a91c4e363783da35f3bae5357403a2363438a034cbf07f3f60d6463857adfb3651cc243695b9763fac64b53c6f1b703634c6fd3571ad4d3fded9b63c5310b43786f861362b33253f471b833c94931b373b241936bb4df63e5f4c663c449bc937ca8236375257a33e07b42d38948cc937bb28d036b24f223e8ece503890142737553457357d3c0a38adcbb73748670d37690bd235b520ca36b8e23f370d31c836ac24b637ffb79c3713fef3377b94123847ccb7349dea7c3443280735da2dc836bb76ab3597b59935152ab835fef6a0367bda5336f7554b36af0afd36595fc03768f83837fd17ea3686285437b6a1a8370d8f053768a574368b3c1c37df82ca37e8c58f36b9a056360149da361fe7f737110c46373e8d83363cd344372d98963764fe1a3823380538d4a7133820862538ac77a437401b543faf432f3e362ff5373b1e9c3484f94e3f4ecf363eec5823355980a235f8752a3f6b012c3e66146436d13d523613790d3fc69f093e7bccbf37a36333375f92ce3e5508c93dbd939b37daebcf36f8e1873e280c4f3d40b4aa3795eb53360ce6103e409b5c3c757cbc37001c08361eaa023810f80c380c0770372f23cb37ebf32538a8fc4638706024387d19b1367a96c336bc30153860ab52387eb23e36232d13365abef536a82ba0378d732137b24204372f8c3a379e59e537bbb87736f73a483638e77c36fb3499371475963668b5e7358ce6a13668710a378d3ddf36a2b84736d0290e37e486c13786e14d372bfc1837320b46370e56ca37c9f2b03751968336a07f8937ac2a0538da3d8f37be7673373cc186376cb691373dd630365889293f48a9ac3e15eba437af6a2836b76c253f70e5af3e90232737427c1137acc90c3f3bf59b3e3a358137616469361837e03ede89793e5e0d5037a6916e3639d8a33ee20e393e9cf1f7362142a33662d9513e0f25eb3de50d9c3745c02237f624c43dd3a74d3da1b36937d1a62236ff645f3808448238d21da237302c2937014e8b372787ab37f8008937afedc43518e92235900f5437a8029837521fce3591f4c035fec6d23532490738d41bb9362c319d36a150b436fe11a137f4861e362548ed35d56a12362d8040370b7088371ef92236f27e5237d9cb2938aa0a3e3678fa1436d1502736b0af6f3740679137b0523037506a7237b1d5c637505821386a5aa137a28cf837e5dd3d388777823706702e3746f3543798699237ddb91f3571ddfc3e8c7c013f83f63f36b4e3c6351128fd3e2657013fa304b93624aaab364824cf3eb42ae03ede434f37b6d70c365289a43e2958b73ed66ec936b5c46737025e723e7fc5863e6d5d0a387fda21360f26113e08f4363e45e8233796b54c37ff3a803d6d51c23dd594983753eb5837270081383fc1a1380d97f5372ca38536e3138b377fb2cb3705775c37720a3c373efffa3646e66437cecfa237d6f7d935cfb5d83557bad535b0e3a7373619f636abaa4436adbaa6362f4353373a5a4e36c4714c36c3db4c36db95a537a770d03695dc6236ca568136bd670e37d7d91a37863b7c36bee58136387db237e398d33725268037384e843762f41f38309db137876d86373f71953779d2c137224c3c38609f033858191c38eace5038373201373a36a73e43552c3ffb00e7360b1edc354dbda33ea40f2e3f042add35ea7ad336488c893e42d6153fb6af1837ef674a36a7aa533e3f67f23ed51f7237bf3ab336abaf133e7cb4b53e03dfe53625859b364aaa9e3d2fa2763e5d966d3789738437716f653ca06f063e0031c937e1af7137bb82ca376e0d263c2ea79737c5a3a5375e6f32385ad48a385bfa143866b9fb37de11dc3714a50d383f343238d38ff5351c8bef354b49e73514c73537324052365dc84c36b3074636e61a5d37c042123745b8783679707136900e8e37b29173379b643e378d6f2d3797b79c37d0aaaf3732662a3731f415378863d637071bb136faa44536be890a36f1a22e3702f20e37b95336352a8e1d3696c2593717731038078e023853db023824681338c4ed0138bd95233e0301573fbad7be377d8afb35d0e21f3e37fd573f2ca5e935068a5136b027123e7dc5333f41feae36613207373d7ac43d0c85163fb65e6a37bc3b6d37d37e843db4fbdd3e26ca8a37bad59b371803433c340f9a3ed745b137ba74803685ed16388e132a3e8e50a936ea6d3935b49a9137eaf1513ccfdab43615c0f7371dc50b3829d92b389aa20138e8b20836f046d3359aebc93534ea03376ede4a3591233d35c43438353ee48d365ef6c136f8e1573600e20b36406807373bba5f3768c1b736f16e24362a54993714fb90360ff41c3656021636566379378daade3687c1713697ce6d363dcb2037b88ab437d9bd6437106a293770efc337a18af636a7624636fede43361c7f313754a31437c17dcd366394b3360fc90b3723d55336a5db13380af67f3fd063c335e53853357227f6376df67f3fb80a4335b2e7d43613862f385164573f264c0037e7017f372a33073853472e3f58d5bd3707f692366162003ae318013f5f28f137e36a9936189f8c374857ad3e96f042370ec797378691d937f33c323e09d8b53744894336953f393769f1653ce3507d3688998036e06bb5365dea583727ca5f3600000000000000000000000000000000d22f6c36c7f78d35ea0578359b2f3e3737fa493781612d36dc15f4351fa38f371a8e8c37fa1cff360a049d368f9bb7374723d8375cb67f3706d609373fbcf53779e89737ee660c376cb436362364a737fdf38d370d4de7361b0eb536c070b1373d9ece3741f66537b76372379f97f9370000000000000000000000000000000000000000000000000000803f00000000a25ce436ec7a95374bf07f3fdcf7c7378d1d69376bb6c43775e8573fb8221f3877b99d379126f83738f02c3f21bb79389286dc3794f209383d31013ff976453804279537b02bbd3759d7ab3e9afa06389ed18137591cab37fecd2c3ead2d123800e298370b21c53761b7863888270f3800000000000000000000000000000000000000000000000000000000000000007df67936445c8436defdf837174e393832a78136a232c236db830438bafa4238f052ad363d34e936fdbcfd37f3203838cc43be365623cf3622fc86375f77dd37ec082137ca102a37afb033388e027838ee4a0537072d0537b6bec7376ec60238995d8c3797eaa537350f25385bbe383800000000000000000000000000000000000000000000803f0000000000000000842828384586703ff3f3693a49f8b039a9d52d38340c4a3fca7f003a318b663826902038e392243f338d9e39508455386aadb337eaa5fa3e87be4a3966e51538b5ae563836bfb13e671be639d41f8c38523bd8371771473ef757083af6530738d51b1a38a6dd543d63846a3857eb2e3800000000000000000000000000000000e01ccc3584d8cc3644a6a637648e1338bce50a35ef4e0d3553c32035c91a6e37164ad6351be1db353df68936b564ae37c1606d36561a6e365ffaaa37944b1c3847b01136611a1a361e60a13678868637cee07c3602567b365f74b537709f0d38a651de351efad8353263a337501bf437d0194535cdac3c35cfe7ce3661ab4c3701c03a37d63f133770424d376b0c743768f2ae37d4af6e3fe722893dd7b9143892ade635c6fc5b3ffc53a33dee11c037a13a2037aa4e393fe80e9a3d33e805380684da3700d4173f2cb3863d8e0770381c94fc36dae0e93e34b85f3db2fdc93777fcc6371594a43ecc08043def1733386c439d37e723443eb740793aaa9c0e38fb4c253656ea513d23e6053afa54a737aa28ef36f1649437687ed23759d8ba37a5f4fa34f1ed40374b060c38e81526384c233e36aab4403678a2193792d2de37457ea435438da93523b32c367d161e3733f4f235784df2359e8ee3363d02043807191a365cde1c36f959a237a43e8738a1f885365f288f36bd9ef53778ca2d38545e8636dd5b7436d2b04b3760fac437bd09193755b3ac36352fbc37ab3f0d3899503c37f6221d374e6b48377df8bd3768c2e737324f493fcd8a593e4e841a38a527fd3607773a3f2143593e788a1638c37c2336c30b1d3f60cc4a3e62a1a9375753e3369182003f139e263e61a37e39ea30b237af69c33e9c90fc3daec6143aa487f7376847873e3145ac3d20d44f3823e72c37f96f1f3ef005413d019f053877028737207d0d3d6914203c55672738577e08377766cb37f65f6f393c400f383f3a23376be19937fef0143831df823956a3a336db15a436c91a7a37848cf3373f8a3936a9b33a3679a4673706982b38be7ea7369877a736e7561a377adaf13706302337329a22376e902837f1494638c8282936d4e41536ea30b837ad16a7390ea969360955ec35559a833744880538a57083374faa3b3725c2c037b160133829ebe13719dba13755e4f33714231c3819c8e9372417243f88f4b63e47d61e382e0c34373760183fa7b2b33e02840d393ac46337d21f013f3a659c3eaa251b39a89f19376045cf3e294e823e0c285c38845a2637fee09c3ee798493ebd86193ad7a4c137350a543e9d9a0e3e10ee463afff7753766f9eb3d5130a43db0b62538f121a1374269ae3ca741c13c12314a397194a5378b6d1e38a3ae1c3a9babab395fd08e3611b22d377f08dd370730fb373e6d8033286b7e33f5a0b336e8a6ab37cc76e1340717e2345772d236a57fa437ec7d2136d07e2236fb5f5436f740e53751939636f9ef96366563a3370521013844842a3649262836c4322c37c4a50438a6024537fb14163766268f375032ce37f33955371e3f0c37806e8e3794a0ff3746fad2377ad0af370c36cd3750eeed37adf3ab374456fe3ecea7003f4a8dec375958cc35b696ed3ec85afb3ea5f90638c989e236ab78c43e748cd53e709cee372bb0ba36a6ec9c3e604db23e62d85f38aac8ad37f028703ee9d6873ead624538b0dc4037e7a9193e4fa1473ed9db46382b358e3757f1a33d8c85f33def61ea375194693733a230385f24373d3cbf273862b9a8376deee5374611ad3991ac313829ce96353f0e7636e24a133896fea2397856ea3678d7ea3688e034379b3aeb376160e635b417ea35b6fd193613b6cc37ec431736ba571736b7887c37341f4d392770253707d22437a4fa2737bffcb6388cc42f37b5a7e73610eb67374e621938e30ec037372a82375279f43710ed53388b1fcd375c829237ae28cf371aac3539ec11a238f27dfe371fb50738c00ccf38a9d0cc37a023b33e7605263f321a3238fad604372934a73eb1c7203f4ada28390ce099368111893e2b67093f9a20673891b79b378ba4553e059be23e2ec5843ac57f583769431d3e49e8ae3e88f7543afede7f375f41bc3ddf767e3e3f707c386c450838a924193d93c21b3ef5d1a939cf0fc33788bd4939da0a583db304d2396bcdf537056e0b389c9e303a0c4ed6391caca63678d5b336f812b337248ec738db414736c9804536ee8bd636e20eec371d490a36fd85fc35b6016036b5578a37b99b8d366d99833645009137b82d263840f7f7368aa3433632c66f37d6eff13822ef1c376910cc36f0da1837db6418382a95c8361c4aa736ef48b3366e6d7e3748b5c0373e747437e90da137353f0938e6c31338c24af3376771fd37282b17380e3f3a37dfd9503e2da74b3fcec5023803250837e3b2423e3fea433f076c3538de488636d414213ee0ae233f4a7fad39c23ed737b050ea3d426a093fb0ed7139226db4372f87a73d2aa8d23e2b33733a163a9737b4c10b3d22bd993e02620b3ab4760d37d29dbc37c3d8403e48aeca37ddb2a637da690e3875b8723d439f38383d37ea37c07e0938d13e0a3a77c28739a174ad360bcb89361ad45637c2eeb93739aa1835d7141c354a3b1735b236d3364374d5357cd0d1350406d5351774b137de2e77361ac07836090686364d7ff137b2395b36d5244a366b854f36a173733787e5a9373d824a37a84b973748661738a26d4e37628f6636f037fe3692b9c037bffa4f37053833364403b1360cd98f371bc5ff373e00843719327e3739c50238366971372361693d5f5b713f0858df37f3d33435a7795e3d4b9b643f9459553ab6400a37475a323df932433f8c49a93acc849d373b22aa3c65ce1f3fbc31903a03850b37b993e33b4b0ff63ef374733a4cb7f937cc2f3e381053ae3e51dbb639e2498537d80ce13719814d3e2538263803761037639379371096783d66520838b7547a37fa7783377f28a5393593233900000000000000000000000000000000697315363bde0936db37153615f6f737b5a2b53683df95367795b636ca01ab37f4482f37f4fd1c37e2692437ae6e3a38caefe936c07ada36a1bcdd36739b9d371f989337935a4237054f6437887419382b020d38991ec237807de0377d3a3438a43c2038ee0ef037d9f202381e553a380000000000000000000000000000000000000000000000000000803f00000000adac4337f03f1438dd89723fa7ef8a3959f41437c721d937db914b3f58c4183c9de3e137ce1a603888ba263f96015a3ab5e92f37b459ba377b22ff3e50ac403c75bbdf37cb6420389961b63ee875c939aba1143863e53338aa82563e9063d439abfa143864b8243855a06e3da3663e3a00000000000000000000000000000000000000000000000000000000000000002d66073811dd2538019995396e8aca391d805137751bcf37cedc5d395f4bab39c24cef37a3901a389f793b395f6ed0394d4b0d38003a2b3971b2073afccc363a9cb2cd377098dd37221ca439ba2b183ad832203848c63638cd992b39d230cb39c3a35337e765de38dbe3e5393df3113a00000000000000000000000000000000000000000000803f000000000000000017a2cf39e431613f7e51b53ac900323a5d989f3988b8403fd253913a9164423a7696b939c001203f85fa933a736c4c3a4d7a263ab3f7fd3ea55b953a2eca783aaa39c8391a7dbc3e8bc7a73a2ab5853a10de32397d6d773e30e7883ade4d563a5c27d4390a0ee73d3942633aa944433a00000000000000000000000000000000945ef638b7fdbb397024163a68aa223aa1861b379fbc7337c75fc5371e6c4b39b4fb8037eeefac3751f62538a0a171393a7aa2370d28c037c0834f39e1c0c239d5a9c937b840e1375d84103a3143893ac1c2c437d5106e387db6d239f6052b3a32c1fc37d3650738cfa73d38d9f2ed3945ad263822c71539c7f9c53962a5fc3914251f391e4754392cbeb0392300d4391988253a3157603fe4d1ee3d252f2d3ac5daac385f35473f36efe73d949c2a3a0641163920602b3ffb40d13d30ccad3a3875993921fa0c3fb137a43dfc815c3a6a914b3a74b9df3e29937e3d15d9f73ad95de7394d1ba63e8d903b3d2635a53a20514838c8945a3e81b1f33cfbac943a7889ad39ebb8d63d54486e3a6b93313a2f5a91396c16e63976f3263a2922203a5cca7f38faf69639809f043adb71133a57bd1c377d137937e7a4e23736f9043a85bc643773be933752dbae3940605b3a05dec03758411238a56e64384abfad395ffcf637f1b104389cb30e3a7b78583aa44a0d3824af1638e65a863a834fcc3ac0039c3766eee7371e8423394d3ed439eeea89377f3fbb3715d5c538c7e7293acc8d8039287e93393bc4cd39b411f439b9f6053a2d1c403f91c6783e24b8213a63cad238401a2d3f91a96f3e17dba43ae4e2113a0ac0103fe913413e9597c23a41ee7038c927f13ecd58223ee8e4b73a7642283a460cbf3ea36d003e4b719f3a6f28903a4d47873ef33ea73d5dfeac3c4c331e39b99f393e728c7b3d6a92a13a662b1e385b56ac3d1f37e23c92beca3a8617b03918d4fe3912961d3aaf6b1c3a24b2173886bd53399d34d6391020eb39bf177b37c0920739a4f2073a0de6213a3a3d95376ce2bd377d4c1538ff6c76394e05c73769afe037a6283138c747fe393a5843378cacf6374724b439e7cf863aed79923711aac237c286263817057b391906f537ac500b38b6ba2139d2a1f0397095f037313efe37579df4380257db39d8d8c1397737c939dd20013a7a1b153a2070cd395fb31f3f7921be3e2932f839b28d073a3a5e0d3fee3daa3eb9a9723aec606f388588ea3e8441953e76b0383a99a50c39d8b6c73e87dd743e6ff89a3aa70dc739c8e49d3ec46a403e7962073b006e2d38136c683e958c0f3efbd66b3aaf44e0387d99183efd7cbd3df5056a3a8c470f38bdb8953d0000483d61f9613a12d2e539b49f143a10fd373a9f82373a0d552839ae669c39dfc4023a53b70e3a109856373eb600398dc1f239a8ab193afeae3c37841f7d37b51055382cf38339b5f5653715599837ac26c33930aa483a3c9dba39f1ebea3985902f3a37934f3a2c7166375bca8e37383bd739e6a7443a9791963735e0ba3755ab46389720373920dd7239ba0c8b39efc4e0398b050d3abe888239f5338d39350bc8397969ed3908f4f2395a32fe3e63c9fe3e29e20f3a8c30ef397513e13e06e2e23e156ea13adddb8d38623dc03e79a4c23e12ff9f3a9dcdf63957429e3e03c8a13e4c7bbf3aa672353a7c127b3ee64b803ef84ca73a42eadd398ff4383e82b7403ef298bc3a9e591d381836f03d5533fe3dd1078f3a619eca39fb97553d54ce723d1f7d963a6a63aa392961e439da36223a6c29173aaeb5a1394255e3397606293adf58343a6d3cb4379d22e2377d9dba39442a2a3af6e185370584d437b842eb38134b093a65ea9637bdccb83757ff1e384366513974064437563276382851af3919ad813a5abfe837d667f33764ae1f38c77daa39be44c237921ecd37e7ef0338af4de1389df68339a5e08639b846e6397849103aa210633943e46c39fc78a639ea27cc39f2e81f3a43d9bc3e89a11f3f7d7e373a7195c63962b6a03ee46d0f3f5504773abcec493939158f3ee572f33e5125873a0a913738afd86d3e67b8cb3ea4e5933a9975c339cd8b393ef415a13e9e2b133b2a952838b291073e1696703e62cfa23a00f304381492b53d7091233ed0064d3a044bca391b30103da19f983dbee8753a883390394b52b9394aec063a395e023ae691573907eea03913a70b3ad77c193a133e2e37319c9a37ff0eaf380fa7783a18ed53377c57a137bed5d338063b083ade760a38f2cb1338ac604f3aca28cb3a38c4ff37105005388f46ec393dc24e3ad3710d38344d22384a7256384daf1a39828b03383fdd1038105dc739dca3573a35718739a4395f3973760c3a6a9c523a8339e7390f70de390266ff3962560d3a7a17033afd83783e0f4a403f1f93263a33201539b0695d3e7f912a3f24b8093b0ab31239ead73b3e86c5113fc2f5e13aedfc793a3c870f3eca4ced3e210bb73cfb760f3ad459f13d9212c13ef96ab23a69045c382d62ad3d526e903ee97ccb3a58dfec39e75d5b3db3693e3ea64dcd3ae543023a1c3c573af70dab3de4b59d3a9904ec39a220033aa1252c3a984f253a89bab53882b73539720cda392b580f3a5da06d37826d8e3703d29639e67a033a9e02e6376e90f737cb4910388a7ef839fec9f1370a9c0e38d2e99d3985cf143a8fafe13709bee937c3bcea385feb583ab798d2374756d9378f612339be99b5399316813898c1693862de323942269b3948bed53797b6c73740b1a538128b963965c0d8391702d039ce66f039ebfc0b3aaaead539b6a5ed3d77de603faa44503a0c94b03932dbdc3d392f483f8a88a33ac8d51438ca79b33d2a4b2a3f19e2d93a5221ce39847e913d807c0d3fcf4c023b690faf39c4fd5a3d76f9e03e3ccd1c3b00516e3925bc143dda8fa83e705a963aa1ae6339e4fcdc39b18e653ea6dcab3a8d04d238d9a480395db1d93d7a7b1f3ab353e339cc93fc39dec82f3a374d333a000000000000000000000000000000002c83dc36a2e22537599de138c1ff023a381a183803872538a33452382b85a73908eac037b343cc37d572bd38f1ece5392ba88138296df43831008d393912153a355f1738cf461e3884683d38064d8c3937f1a038ae88b038fe89303942cc9139bb7038395d532c398fbe76391810aa390000000000000000000000000000000000000000000000000000803f00000000184889399b57383a6a94613ff1afa93a6bce143994b62a3a88ce403fb697aa3a3bd850399939373a111a203f7200b73a99b1c8397e71353a2144fe3ebc0a933a38a2e2384bb6bc391699bd3e2580783ae73c5e3984c09d39eb58783e88bd603a26037d39d86d9b39ae93eb3d02b7383a0000000000000000000000000000000000000000000000000000000000000000f3a54c35f765453593fd4735821e463540b28635f7aa843556d78335c55106374667dd35fcd0be35273d9136cd8f0437da688e35a0ac783585699b35bc560d37d39e9f35d2769c35afcdaf369098473795ec1c3634c4ed353a546337e4be9b372fccdf37ff68dc37ce9a1a3891ea133800000000000000000000000000000000000000000000803f00000000000000004dd94c358d817f3f6d316b3749a6ef3556030e36b1555d3f3b39cb39c7aecd374001c236ab292e3fadf4693886b4c637fa029f368a9efc3efd37d538bb3d3e3708706637c8449d3e91c91538b7c43b371a300f38cf01f83db4bc5b386f352437152450383f6c053a31689838e759d937000000000000000000000000000000008c8634364fe740365153713779def737cae3e5330345ee33bab6273609b2c736570c7d35a14d7f3510e0b13615da493770793c36f1862c36f8c36536662c2737a1ae8a3462402334753bbd34445b543743f76a35b8d36b35959e6b36f1886a37688e313672081c3610e16337a603c9378b0795336ec59a33160195339ac69233ede53b3669904436db6c47369a3e4b361de266369fc97f3f13083f3af542133867efed332f77763f99d9783cf3191d3875dc8f367bcf573f4d67873aa94e0e3857715a36d305283f5f86a83a3d0fed370949aa345204f33ef4161e3a7579b837c7774936c552943e7bb583396d3d99378d12783786ced53d25bfa73a41ddc2370b7c9233562255385a810438e2428e3339cb3a36d8c95136df7c4037b2155d36ef622a36c65c2d367b43be361116573757be2035ef5a2135eba12535ffe82435aee333353dde3335ec723d35f417be36df86c335cb2cc3352e57c5353837f8378fc40d35ee8810359a4f0b350d87c235a88116359bc61a3525541a372fb9fb37d5d89c367bd02a36a2897637940ee2371dd6053642cc843581063a360d5e7236275e9334ad9a9a34f7e896340bbaca34545e2d36e2995f3f787a013e44af3a37e5e120352e8d573f7e7d153ea5f83036f3c53a35dd1e343fcc44153e929101386098c2355eae0d3f948afe3dd8646d38f4c609357121cd3e2be5d03d8778cc36640e9536dd3c7a3e26a68e3db96e26383ddec13684aac73d3553fe3c52030f38018f4e3528e44438b4e3033a27433c3736f29234dc241c35d2814e373e0584362970ca36d506ce366599e63696d8f03649ece934f6b3ea34a622e534beb09c35764db135ef9baa35e1b30036d36a5637d8cf7b36343d6a36d9f98c3607fea836c63d823571fd6035219f8b3532b6b036066a61369a413a367e4c893784d11738adb1bc367de063365b30dd3762552138dc851536d40b0836fcfe1a3608201d3655db9d3730a56f375b22b437af52dc37a07dd336db0d2f3f92cfa13ecc71e836110de8341f8c283ff369ae3eb2869e355aced935866d0d3f34d1a03e191d053894728b36ad2ed93e3d27853ec9979437f6488535ec8b993e94f14a3e5d9ddb3688f6393791b8323e01c9093e51ca3e381db45f37290b543dc0bd8a3d6306353867faf635cd8263386d1fdd392a991736602a5136bb9b003882d06d385d64f137f671d1368782d836e25b7537091f67374a1e143546bb1835180d1535e7a956351807e836618bdf36a590f1361fcc0d37256ca03631b69736115dab36d379bc36d9526e345b3e8034022b693492702d37691bba36ce1cb3360a63be36a919ca36cbac2b37ab7b2137cb4d303765929037dba6753683f63b3658f4a0374e46c7371139343720b310376efa4b376d936b377a11d736a1c3fc3e0c9a013fbfa5e23668f51835cbf1ef3e40b7073fc9ab1f35fa21f036aecdcd3ee745f33eb5061737a318ad363abf953ef7c9c93ebd55c136668883342bbe583ee1a0933ed35898376487c0363cfce63dd6a84d3edd92c53607ee26378139c13cdaadcb3d3e2d603708e1f53599678a38d4e58d3a5c331e377d7aea36b0e3a737830e0b387b724337cebd1a37697c613787ddde37fac6ba371e026035fd32383545308b35b48db935952c1436b3ba0436437014369cc64b36016c3236c94c1936ee742736e4c523376661b1350b278e3524e78835d401853664f6a536efb49d36391ea2362fe11e3797b2e13753e8dd37ca59153890ed36383fa064369bdb433668998a3695c6d436c149f6364cd9f5369245ff3665fd0e3785fd4d37499e9b3ea529323fa4a32e36a4e286358d7e8f3e6329383f2ca78535be5630366882683edd48273fb4e85636cc2f4e3796d0283eac9d063fa90ab337caa07936b709db3d9450ca3ef1d19336d0493f374c624b3d7137883e16ecf736c9ca1d387273293a22ec073ee69e0d3819cc1136ffd6f537c9e67e3a57a03f36fddef03682b6f83747175e38b681fa369aa693349ab79d344982ea34e8d39a3415435e35aaeb4b35d75a2535c3f229354734f0356774cd35d458b235d74fe93542901a355afe1935e72b1635ba7eb236e79e383560481635a98b0935002f2b359d1f94372f010d377ce40237143408387e0b3937e623ca36c86e4837b300d83796011d36f8db3035af4d7936cd1b19374e0a1437e5ba0b370ce8273727e855370c1e53353641e43d1870633fd15e973434cd62351538b13da0c5693f47a52a355b9c603610c19c3d797c4b3fd1193c36172c8a37b95afa3c8bbf273f3bc9733740896f35da21893cbe37f63e46a66635153a3938f38af7387af1a43ed7221338fd11e137c3eeb9383a0c1a3ed04eaf3774972c3556b53638e3c9473c10622d355587a036e5ebdc3728b2103826344736eda8423621c24536329f3136dc6a363625d38d33204892337c9b923339628d333d08df3547f9d9353ddec835c360e83545ac72351a525f3542785d351f30a135108ad23467d3d334bee15d34deadc234b4ef8036f11474361e8d6a36ddf1eb36e8d88137376202379c940b37a1e0c437516f1f37f3a718370b8ab837fd8d05382b35ee374eacda3716f5e0370067f137904e5136016c8738bafd7f3f98bd2936c2168f33436a4d371df37f3fc7078b333eee0936b7101838d7f8643fc1f51f36c9dc2d3612330a3833d3353f699236376792cd3641531a38c44a063fc8939537902539372fcf3e38b947af3eeaf3cb373d0ec137c025693815b51f3ef840f63736b3d337b825a0383d9db33c8488ad37a994ca37d18d2038e3a24d380ce48f3700000000000000000000000000000000786311366c384c3567da2035ae9944363450363513683a359fc51935f8ad83355e02933519f493351dbb94350dc4cc35a6cc87356ea58c35f3758135845f2b363ebab53641aa9436291b8336e7e8d736e5e63937fca33536d78e4d3663e59b378ad45035cbc75435a0a05635c51bd9360000000000000000000000000000000000000000000000000000803f000000004c166a36393d09381fd87f3f61392a386a767c3503eaa736defb603f67a9eb37b24ac535e9f11637d253313f83ffd037eb120936d4984437fcaf013f69707b386f41e03637011838b292a33ea8cf4038d4bf8937e9da35384b190a3e091cd638f7867a35deac15378533ff3a8d1e34370000000000000000000000000000000000000000000000000000000000000000278d1536d5e81d3660312e361813853663612b352f592b35b0a91b36556cb2376d50fa35bde3fe350415b53641f888377ad41536524a1a3610e31e36ae89b13752aad6343ca3cf34aee6ef37c3ab743891c3213600cf2c36a2febe3696e8e13638726736a1bbd936914eab37a49ba73700000000000000000000000000000000000000000000803f0000000000000000f2ac333675d9753f27156f3940ee4e3863bc6636a4ad503fa5e3233a4477953865e303376e7a273f3a0a823a9fce503854e84f37bdfef93e010a8239c80e0c38b3ef4c3883b5a73e266e783a929d82383c58593780822f3e0c8d9d395e17b73637e4cf3767efb13c7de52e3847c39b3600000000000000000000000000000000ac171936d885263617a29736abda1b37d744bb368002c8362959ea36c0dd00370124b9350765bc3540efdc35578bd33690863a3581324135d4e66335e890a8353929fa36c0fafa367ea904374f1c0b379fcc1036ad570d36140e1e36aa07a9372766d235b0fdce3598862237482610384bdce236fdf9dd3631badc36caddd936796a18364a3e1636a9d81d36f0d91e367c756a3642aa7b3fc57a893c2f7a103847a5e63686bf663f8408053dc98e5438e671e235ff1c413ff53a0f3dda4db038ec06743529dd173f43c8203da6b41238137f06377586e23e8249103d20563e3802c42536c430923e565a303c77f44b38169bd637b4890d3e8e40aa3aa4483438f173e0361215c038c66f0d3a556fdc360e9e1736701b1e36a0b706371d17c736b0eeac35c3bf29365cff9b36e891fc36e8d64b36e95e6536a9a5a33611d7cf3630fca1351e49b2358df2fa3599df11364d15d033d73e103448f040347990af34d5145536d6a5583671d779367170f536219a4136988043368ac378363481bb36facdde353c59eb350285553681337a37a2331037f61211375b8b153729581937c2a09e367e06a136e78baa36ffd5ba3602e2833633a9543f1d552d3e38eea13720249c366fc9403f6043483e0848a137727bf035929f1c3f8e59433ebc614738c1972134dc02f33e87222b3e1283393834ae8a36094bb53e10ca113e3ab96a3888e1813674a95d3e2ff6df3d23a2a9374227723666b9df3d29f27e3d4dbf543820e9133745683738dd78e83a652ded3759c39e36def7c33696032738a28e0a38795bbb36b45adb36839503377e040a37aec302374ba80937888f2737b7b43d37501f9935f6dabd35e849063671fb3836be8d2636c4f72e363f0e4f368330753656c89036a9369336679cb03620ced3369b87723564c89935a63a093672ba8937e728943691a4953602ee073753321d38a171c436f1dec23611a5e936d7ae5537c4c03136587e30363a5d35362a9536368f5bf436e6df283fe741ae3e29cc0e371f0e2537fb0f173f97debd3ea3ca5737d00508366c65f23ec33db03e8c56083867c0553657e9b83e68de973ef5533c3858d0bb369f02803e8337783e89e1dc37f0b628360a87123ea2cd363e0f21393848bc8937d931673d27c4d73d9d009438e769d736e3d90d380521073b0b1cc53717fd2a3624953c36136008389728a937ceb576361c588136b42fb436b998d836416bc93684f2ce36b68eda363a4ce3361092b635a87ec035c9b2e3353d0b0a368911d23539d2dd356843fb35fae111363709ee36ddcbed36370af63698471e37f6f82036d8361f36cc35233689cf2e366a2717362809143673812e3775451738c082033793cc01376a4b19377439b0372f638f360a1d8f36d7e99036d194b0365e1282364dc2fa3e459c023ffc0ba936ab6dd936a385d73ed3e60e3f819ba537b04df1355dabab3e37fbfb3ef2365738a1660636c1cc783e9940d93e6eba9036cf93fd3619ec3e3e5f8ba03e05cd2a385ea92a361947be3d4f9f753ecef28c36057bc237e99ee73c1cb7133e4e3f78381bc711370f5d8738cac3aa3c9e72363839c18c367739c4365d4e6d37840d05373a1f1b36422a293615475f3605fbbb368ead8b36c6899636972aa2362199ae36d6172a36280a39360b046c360ffd94366db9f03482632835d45a9e359941433679f7b63695b8b6368383c13650b5d836c4e18c3646698c36b6e68e36d5470f379154803617be7736d9ee74365dba3c3703ae583722195a375cf45b378bac5b37a0c90d3789af0d37e0f00f37af600f377dd33736af45a13ef4592f3fb36d31364b82a8369122863efb6c3c3f9cf4e436db48833613163b3e6ecb273fc85c603809120036a0bc013eab330d3f74fe1e38fc60dc36f5a4a53d5c95da3e2458ae37e68e9436bc60033d87d29e3e9c753238d75e8036f5739d3821b33a3ea62d013858ee5b379ad12938d3f41f3dff178f37963b0c3701cd4237f6575438e5d2ad375e86ac3693bbc6367fae88378e8c5a37fd93f336954dfb366c6ffc36ae0a0437acd28634d6621435b6b4743503084736d4ac413657bb4336b616413618c28a364b2a82368fa77f36993388366b002037bd3a1f3579bb343540552035bc02b435612635364b853336d56534368ece5637a14a02379ca90037525302375fb56b37483eee369d34e1367843fa3616966537363ea6377c22123e2e765b3f601db136c7360437483aaa3df4426a3f3b620d372a580c36ec956f3d0223453f4de20838680c84361c2cc33baa152b3f35157a373b64aa363af42b3b063d003f171b4f3848d84535949171383665b73e53b7243827f4433690ac8b388f064a3e2a6b2638b2470237c3180338c5d4523d82ec8e37c13cdf3662309e378ef72c388d28a1374af72036b35e2336d8632036c96e2136ca11ae36d71cb13603aab13698c2bf36741c6b35b4c86e3560897235a852ac3506fddb351ce6e1353f8adf355fa00936690d0737c0960637b1550637ba390b375135c135f6ffc0359a97b935283ed835cfab6e36aa666336c9a16636097a0138d5831e3724fb18379adb16372764593762584a37609e3b37ed4c4a375f3d5f37989e23360ac7453818fc7f3fe1e41836d311bf3618d23037a6dd7f3fe79bd4363f2d9f35c1ddf037933e5c3fb9128638947608360ef61238a020343f1ff186382eea0a37980b163882bd053fa18280386620d63551d3d137d825bc3eb0283e38343baf37e494a93849a7573efc8aad38bc6e1837207b6338097d873da6fe0f38bce54537daf4d537cc994c3876999f3700000000000000000000000000000000305f9034853da4348e80a1345534b5344352ce35ffa6d435200ad6359333e435e494a6348f72a834c5c6a93492aeab3468471c36a13f1e36f5291c36b4fd4b36967f8236359f5e366a649936b78f19373d129b364bdc883660e8a93670f6f237fa2390370cfa4937af988837203dfd370000000000000000000000000000000000000000000000000000803f0000000046d1bc34cfe7cf34d3687a3f23051438c66bdd35d27d0c36890c543fa9b056381cb5a934a01afc376ab72b3f1ba90a3aacd01f36fdf66137d0e8023fffcd83382cdffc36ef280b38ed6ab03e7e518339f9fab1376977763810513c3e48d7b238795ad43753e12538e1c0203d143a52380000000000000000000000000000000000000000000000000000000000000000ccf45b35c3638135543199358ce50137e61c8e3676d7a536f8e0d8366819f437e74e5e36d47d8136af319d36f49b1d383f37933570a9a93660fd5c374d4dba375f3e223692f62a36cd3dc337860e5a38699a8436563abf36ab704237710b91378a764738a10b6738c55a8c382e3b8f3800000000000000000000000000000000000000000000803f0000000000000000338c973535356c3f3b4b9b3ab6ebbc3a2f1c4937fabd433f6cc76a3c977c553a05778137a4781f3f4fd89d3cdf10013953ef82372f46fa3ee043cd3a970c8138e3df01389a38aa3ef3c1803cfc14bd38f028a237b619563e0da28b3ab8c6753779bb96384057873ddc140c3ad4627638000000000000000000000000000000002510a836488eb83668d4cc36d45b99377dd7023662b40f36c9ec1d36a8eb5536feab8b364d379d36b50eb236b94fc336055a1236a63e33360e125736715dd937bee03236091e3736a0e4f136d6c42938b97107368b9e19362c5d2e36436bfe370bd1c4361a3dcc363248a237cd7d2c380ff97a36bca87c369b7ab536d96aba37b3dd7336379b7d362ce484365d818f36cbc1cb36d07e6c3faa6e993dd0419f395cf61f36e6bd503fd03cb13dace5463c99ebb636f7b72e3f0a9ab93dc019493a0360623669bd0c3f2701ad3dc2133b3a2501a337d6f7d83e6c65973d578ea9383079343602d1953e4a6c533d8012b2380ebcf3376726343e51a5e53caf988d38e98b23373b822c3d206f863c56cd5b3abec78336e2a9933657659037b6c9d237343e7f36cf06883643d7913607cbc337e98343366c00503677976236415b6f361d3db236ec1dbf3624f8ce3672dfff366cfa70364a0a8536cb93933671949237ed382536145e2e36b701a736890f0a38c2b2bc36bb37c536946bd23694ee3637589de2369810e63691484c371eaefb379b098b369fb2cb363714e6376e8626389157ec361033f336277afa364caeff366ba08e367eb0473f5d72603e88d08038ae8d6136499c2f3f7705613e7df32d3c4fd8d2363bfc103fabcf513e4d3f813a2eb39636d6b7e83eb2e4353ef0bf943ab98a5337f6bab33ee6e4113ea88c5b3a48ddd8365dbe743ebfefd93d46d3333a0696913793d5173e3140863d05b5ce391bc3ef37ef0ff53c8e3ac83caab65e3811d3f83616b70037788c1c38dd1c41389955ea365d6fff363eda80372fff1038d8290f3667941b361a6a36366e2b5a372edff436786e0737e1f51537be1124371f13ab36faccc23690f3df36089ffa3634f50a360ff31a36ad5c8036096de5372fcec836ae54da36770b7e37340c7338d84ad7365e81df3673f708376f61cd37f28ff0363c24f336db90b037c6aa1038e7940337bd270637c4e8073792cacb3746406837bf78223fb4e5ba3ece077838fa783436961a0d3f8e56bb3e7284063afee5173746c5e83e18e2a33ef8a4a33a8b3ce536cd99ba3ea6908b3e7560183a06cbe236bfec8e3e75ce5f3e866e8f3951c3c737c883413e5e24273e6d94e039109f57372f41e23da9dbd33dbf703539d4b8b6378da9c23cd961253d38937638a7c30837068b0138b5746e383ce77238e912a736e3bcae360a7ddd37dc901f38d8c72e368ff33836b3be7236f3e1b837a1aae0367aeaf43651910437b48ef637b49e773618c6873641a17137ec2d533835091436619b1736c466f537bb9675385fdb98368104d236d6af2b38ff1b893857c61237ee398837c90e0f389d5a4b3817e9bd37ffd8e8379bd12638fd4044384a92c236cddfc436588d8937caccf2378ff2bc37fa0ffa3e20e7023faa423a389e1b7036671cd73e5f5c013fcca53939d5ca0637b0b6b03efed2de3e0004293a2bb3c03720988b3e9494bd3e5e5a033a0b811c38b9745c3e40a8913e449b0c393fd5463850780d3ed1285f3e40139f39b08f25382f9ca53dca320d3ecfb784381d112b38506e633cd29f763dbeab5a380b3c5b37897a0e38d7775c38c76a4d38c08f0a373cb70c3721ad14382ea74538dce48536a7cba2368a6ec136b348da366c05b536a422bd369ab9cf362aa0e3361ed6cc36f866da36a913ec36e1525a386fb233365e4b3a368429bf364e870238fdfff03677a0fa3614c00337e6312c37c30c3737879d3737f6b58e371339063871388037dbbdb8373b2918383bb53b3839110d37adb40f3742a5b1378709163842610b385440af3e594d283ffa194838f6c4c136699b913e96bf263f1b59ce38da86d536a219673e0d400f3f816e203a178e7637deae363ef2caef3e3ba5243a39f837373b980a3e80a2bb3efbdb75393f9c0637b3c7b33dbf748c3eb98fb3392303bf3786e5423d33f8333e535c3c3a06161e38ed4bc03bf26c9c3dac4e513872ef9a370f78353891bf9338a56f8038ad8f06374fb706378abdd437bb5a1d3877423b36d07c513640f065364ce392371bdecd3615bdd6363292dd363cd896378e7fc43688aeca36a913d236817d18375644373662a86736d3d59437b4bc2838f67ba636a867ae36a74ef13661bb1b38fc11f2367601183727e1c237de1e1638402d1c370c02703799a8dd3751b10a38e5954e37178e7437122aba37522b2038d354dd378d82493e09924d3f85f40238f270673634e21a3e153f4b3f6ab1c339b8d2e0367b82043efbd1273ff663583a84ffd6366627b63dcd63103fd8e0753a38b2e93778cc8f3de779de3eceff693a5bc6a537948b1e3ddfeea73eea459c386ef3f837cf35aa3c5dc1533e11f09b3874adf037ed0c0b3c4751993d5bb39b390528a9373d9f3f3872cb043ab28980386706a8365d25ab363c6da4374075c83747aa3936580a49362d325736f7d9e0367b87c33608e7ca36a825cf36605aee372b122336251c31360d753a3623e0a53783303e36cc134136c3d2c037bdf34c38a7a28a36c2b68b369040ac373f342f382491ed36c2531437d4ddcf371a521e38c6cc09382dcb173827d64438c67d5c388c86aa37fc03b8370e5af8378c5a1f38cf26c6373ddc493d5059733f9fc68c372f785c366484113c55336c3f75ab143c5d8e2b37757d6f383bbe483f71df3e3cce81413665c480380cb6243f7b86483c85251938b9b59138986e003f33fbac397a4b0b3826eb7d385b75ba3ed6e1373abdf00c3892a460386261673ed7565738733f5438635f163a7d3eae3d9f6c5f38ba18fa379abc3738fa78503a6c005b38000000000000000000000000000000002b21ee3561fc0e36d13c2536334091374f380d36e3292e36b7594f3603217c36b44d0236a6a7113663ce1a3605d580379f94a135e1417036cc4015374f2c79372541a436d0d3ab36dcc5b1365787d137c24521372dd4833799fbf9370f27363881cbe137b7dce037686c0338485140380000000000000000000000000000000000000000000000000000803f00000000cc2b2b362c551338c7ad6e3f9913413afc46613653b6c636d3de493f09ad9f3a5c642336c297e0370604233fad31743cc5eb4037d583a137752e023f8e388a3a5aa8ba36607d3d38549eb63e915b7c3ac3ef1d388ab25e38ebaf603eeb00293ae1491738a9594e39af1c983dfe070a39000000000000000000000000000000000000000000000000000000000000000064981a36acc7dc35643d2a36570d3b365139ea3521a6c435016f0c3654ee9b367bd20f35fcfceb3479063935f6a8f037e2466e35bc454835b9db6135e42b8c3500000000000000000000000087fe82367aaf273857741e381bfb5238c6cc9738a224423588803835811f243590c21e3500000000000000000000000000000000000000000000803f0000000000000000de53323674257a3fe7f8533687c655369a90383633d55e3fe3861438a9c77d373421e03769df2f3f4ae9ab38a5b29238af8f7435924ffd3ed55ced3532a1d435f645a0368b9d9d3ee98ce637322de63651c8db382d4f003ec8b6e538b85fae38ee072035362a923c0b8c3d35ecc77b35000000000000000000000000000000002513903198b4d9306445af30ef65a531ac4a9233000000008ee6bb3504381136af3fe7354a2fdf358c02153647a119388e0f02364675f335c79c0536b31d05363d659e35c7b017358735a0351113a8356a0708369db106367180293639b03337f77283362fd7c035b189bb37b2f417381389c135456c783507cc9f35bda7a13552834335a0d139356a7605357cbc1135ba33003189297c3f5436843c290a00323e0d27326f1f6c3f813c023d9b73163658840536b6f3523f4a79a43a13249f38a598f835d2ae253f970d1a3aacca4d378de08f359c6fed3ea578d13bb0b80c36b9791c3640ea923eb5b8163972bcb137944ee7371640fb3d4c849d393a754138c6f09f35dc03723aa8900b3a8a6cf13596cb65353f3038353d57bf34dc5e73348fa08a3559324f35628589358e616c351331a234ba9f893460a1b2343fe7bd346a086c357f42583579f07735a30182371e5ba934ec7e3634c3031534713039347d92ec347a23cd341012ff34bb4af934e7c3d1356580d735d599e6350003493737052c38acb7aa377c4f2a3836116438e1844035b8bf9034a67f3f359d970b357211dd35a151a435e2b6a735e851823549f32135c8d4613fcaaff23dc75c7a3559ff57340a9e533f7354163e30eadd3546ea4835fc13363f3b48063e0fbc1f38e5b21234edde093fc158013ea66d783453efc53462ecc23eb455e53d24eab2354a63863630d15b3eab1bc73d795bce37394aed37345a673d18cb9a3d14c79538905b8634d5c360377a87ca3bf3e10435fc80863505126435bb1e83353486893514e984361f863436a5907a368bc28e36c130cb34ca086833bd60a4342d80f1346cbcec35a50ab03563a7d635858c1a37d2df89357c7f6f3542016135766c6035512e3d351ffd0c35b83e193508ac1b351a53ea3422df0a3565d0293572320d35de3a2037042e87364ccfce363e2ec9377d941d356a7dc8343f1ef2341fcab9344877a035d0539535df309c35fc799335b29012364c4e313fcac19d3ef4887c366fa1e432a85d253f074dae3ef53cda34147cc8351939083ffd2ba23e5b01203736d45b3587d4c93ef10f913eeec17835bd560b3541f4873ed51a6b3e67d81e3525ebfc34b51d103eebfd2d3ea1b6d5349922a4363cfa0d3deaaec63de69c2838cb1bc234379e4238107b2b3a102aad34e50dab353b63c9355d91a135caa98035105fc534a336db33fbb2da33127eb7325840943550d02435f3288c3549dab835e53a8a35f06b88352db6b9350e2f4237d1a90a3675d307369bd109365a010c36e2f2dc35533cad350af4d3354d4ae5357fbff7354ee8fc35aaa81b36fc2d1336079209382107e7374a740e386b3432381087c13592ec9535093acd354275d6352dbd9734db82de34e7f31034b15b6c32768b2032d18dff3e235f003fab0e5632dcf2e034c857e93e92dc073ffeda3835f828a9358256bb3e13db003f44529f364f5205368c4b843e58badb3e11910936789ab03592f6383e8e62a43ecfc6e7359d9c173680069f3da744713ecc18e93545cec6370d2dc53cf13fdd3d7eae1238c94a9b3513c4f035c4fd7b3ccf54e235697a05354a5ec43414b8fd35790d42328019b6358b009635a7d9a535c9439935415dbe342ecacf34cbf9f534c19adf3439132335b8eb0c35a4441f35d80e3135691953357cdbd5341e64bc3471b7e2342f96253522bd2235fa153c351e473335851a5c35799e60353c9d773581796635d1d7a8370ba72b37790e7c3798a0f737cc4621357cf42b3451164a357ce10d3505679c36d2819e3603cc933657b087363bf46235210f9b3e2ce6323fd7969d35e2d9a33471648c3e51013a3f6075d7343735f1342bee443ef65c2d3fa2f52635b69dcf349ebcfd3d0027113f073b0a350c7a23352f2b973d92f0dd3e2dcc20350867453556c3003dd9ce953e3f236b35762ca237ff93a33c6099073e2b1ef5375c094134b5738e37eacf753cb45ca2341d5f85362ca88436ad113438e66c823666aee63595967935e5e66e35035c8c3584d04035a9dc273342251134c539dd340f05903721a1d63639820035e9fa5036cf8134362baed4357665ce35a7b20336ef8e0f35dd9fd3341f3bdd3487e6dd34b9464f342d5580348b1e8b3438e65c34515566370d1503372a4f1737323cff37b2cd04356ef1a334b042fe36db01753746fea7352eb9923596ed7a359e785c35fe178035cd3ae03dfa30643fd27c8535e9c33d35fd9fb83d8492673f9731d133aec701389c7e933c5ed3593f5f2abd34c00a5c3733d5b83ac002303fc4d550373700ed3457b6033a881e023f56640d356a52cf343a3c3a38e159ac3ed38b43342ea5cd3729fe503c44ee143e2d38153808a3a134b4898d380d63e23c3778b534a0cf88350028a635199f11374ab04735000f2e3513baff348630e234a2b806353f5b9235866d8535595f653574a08835607eae352216aa35b6ccd3351773cf35c59e183621c1113636ba1236a0e70f36e0bb8c357c3971350ec2a03563529635f743f5359916f23591610c36ea20083627f30538669fef372c8fd6370f674438e194b43555a7ad353fb1bb35f0e4a7354112e931eedaa931749ab131da35b031b312cf34ce8b9a3a3fd57f3f5bca8f34231b7135b5b4c53779fe7f3f01556d355f53cf35f6888d3837b5603f0595cd36987812364192163858e8363f98bb6a36b08e663555f7e436485a083f9623b135ae790d36bd96e437d1f1b43e1b6e8a36c32e563832d7d238fa7c343eda0d933887d9d63559175a370e6f3f3df675c2351a9d3f3171f8bb3049827631af58833100000000000000000000000000000000b8e821351d1a2f351bfb3e3517402a35aea83837839fc534bc57b63477b6073700000000000000000000000000000000d9835835baf1543513cb663539065835fdc4b037b610c936a3fa0e3536d0b137947b28369722f835bf615536a18b0c37e18b173644ad2636a31c1f36c0601a360000000000000000000000000000000000000000000000000000803f00000000bbab2d359b1c253593d57b3f678820359a6ed437d1ce48387b53603f4563a93800000000c9560836139e313ff416a537becf4935c57f363561c1013fdc494a3525cee4374b12663899d3a03e37a79038454af2366c6c0f3813a0053e04e54038abd71c36a5dd24367664c53c27ea2b36000000000000000000000000000000000000000000000000000000000000000075b7a23557970d36b8268836087cb336ea772b3369652933680647333975823466a0ee35ab91f435f1c20b3607aac0367ffd0d362bbb8336a77ede367f640937c933c134616ec3348dd2b6345f98a835f093fe35305d0f36e7991a3689f9a336b1084737e204b937954b26380bf23c3800000000000000000000000000000000000000000000803f000000000000000065ef87366628713fbdeb7a3c8cebed36b93a43334b81503f020ab63c9356cd38bdf703362c8f253f6c60b63c52ee3838e0e6f63626b7f83e9584853c05abae372a295a358b58a43edd7ca83c5e1d25360408aa365807243e556b9d3c203230365689423877a7263df3f36639d144233800000000000000000000000000000000b2adb733557bcf33fede24353c11dc379f65fd334d631734a46c31349f362a3489e2b73263070533e8904834bec52e340000000000000000000000002dff0836000000000000000000000000000000000000000000000000000000000b19cc3520f4a83525dcb735709d7b36ea2283370000000000000000a8e37734f58c19370cc75635b4b7f734685928354e916f35fcacce3367be743f3226343d11b1273841642234df945a3f380d8a3d80116a3721c6fe33e415383f7f499b3d50cc4a38a9271b34eafd0f3f0a25983d4b9bed37000000004541ce3e1f40983d4aa3b43700000000c50b833e0365753d95f78f3709028337fc57db3dc04f693d4965d537000000008747073957b1a23c00e61638cfdae433c19a43368d0e4338ae554c38aea97c36dc6d7d36efdf90366a0d2b3802773c361cc74c3640e0ba369b8905370000000000ae3c343cb5a7341e94173687ead534cecb0f356dc824357ba6b1352d8b4736b40d91361bd7d336552465370000000000000000fc248235f8f5d9352d0e9135160e51365c5c9c37c4c02138ad9fb03644f3b2365af1b736958cb037ca743b36754f2f3643b53e36a59e4c3623348f3644f15a3f0945143e484afd383aa2aa36e32b3b3fa139493efb96ea37616214353f9d173fbaa6643e554c073892291e355043d63e3adf603ea42efd372af0e23691c7923e132e453e41834e38c9f9de356150143e97c3303e06a0d737705e0338d617063dd45ae03d37f38a38a0b1af36945281387f643d3b6725a438606b1936f0090937ed2797382686aa38eee5a736cbe7a836bc7cbe361ae013382573dd36fb9ff0364eb30837233d1737d7bc2935703fa535fb9af53580fb0a361a1614358406453586738435e2a49d3511be0d374837273796fa4337fd698c370a89e235642d0c3624bf16366f1d1f363d68aa352b5fc2357435d13540d8fd3656743737a2273a37fa4f51370e545b37eb580d37d174073702d30a3767600937a021b8363e3a2b3fb1b1a93ec44549388842053768f10e3fbd2fc83e47fb9f375bb1f0352420d43eaf5acd3eeae1dc3783a7583515358f3e3adbbd3eb1eadb37afc251371322183ee297aa3e5fe58d384f592336755d773d8f2d8b3e7e4e1338b454ac35e5314f386e92243e51a22e3842d04337bfb401386ad14e3b2e554a38835506374a85083744199e3881af863871810a36a2331e36fb212c36d8bd2f3618389e34ed801d355f429f354675da353092c132cf1e9233eb708034e3aa843500000000000000000000000029480f370000000088f929351b358835f42e7736000000000000000033f20034b120913764669f3446e9cb34281c1e36dbc785379015d035df1ce335521fec35cc38af36fd2a013683beef356e53ef3507b90e3670d32e362ab4ff3e473c003f4d691d36e0858e35f46cc63efe87153feeb65737c8a154340551863e950d123f164f0238ae590f37da1c133eb30e073fdc4c3d38c8637a364166c73d1656ce3ed45a503840cf8737e81636395db5a83e3a5968389be02e37980e5b38c78f2b3efce053389f5dbe35fe543738af20ef3c1feb7c38f7d9ea35844b063691e48f37d91f23374536023787ca043787f00238117ffb3794550837fc7a1b37b1132a37fe033a370241673589678d355ac39f350b32ae357251ce356093fc3547581a368660473650562837b8b03537d4534037ab1b503720b57135cc938d35e06da2351c80b135404ab2357859d335318b1536759c2236b1701737a6a8183759372937d20e2e37ae79d4368151c6364dbacd36c0babf37a681cf379f2ba03ec916303f97080837ed7c3837558c613e6cdf463f4fcf4537c697be354c12b23da4c7403f35548e37167f2c363601253c34ad283f8a3c8037272c5437eb2ab43894d0043f7ad29d38e73be935d2701038f250b33e0c53343800850436be7a1b385cdf3d3ea5be38384b0d1c379562cb37bc8c513d5a742c38037cc13662a63638c505a5382df17f381bab6937c2c72138a1f0753868e86338b7b49e36ce0e9f36e0489a3641ffa43659a33b33b19a36340ef3533438005035000000001ecf2a33870e9333859a98330f1f6f361d3b9236e565a8360f17d436b4821b3563541835657b0335da673535142427358d6249358ac1cf35baa3fc368b52fd367e9906371e8e1537bb151d37162af5379480ed37f04b2f38a9584238c34d923818b1063e6c735e3f85e9333788239437d66a153dc006763f0a375737dcae0a36d641a23824c25b3fe6596838ffc390347e35d237afe62e3f23e5e637bb83d136584730385d77053fa67c7e3843680b3524182c3851b1b93e615cc838fe7f1d36abd00038e0c33d3eee5b2f384c391337cfdfe637e962953d23691938a6a9233800eab338132c2d39c54dbd3841d4bb35131fdd36b8f09c370b09c837000000000000000000000000000000002b8c81350a2a8c35094e9c358869a03500000000000000000000000000000000000000000000000000000000000000000000000022b551345653dd336889d535cbe3663425fa9b3416b643344aae0033e4c456349d5d2c34a60b0934737a0d3489bb4d35348d1e35f1f15b36cab55c379b5c15380e8f3f3c14047d3f6ec16d37000000008cf20338a6067b3f5f501138b3eaa735a541df36bc2e563f4c404e380000000000000000e0602f3fe3271a380000000000000000bc03063fb5c12f39ee45dc35cbec3e379a54ba3e86e9b638006b2934f84bb537c809533e635ee83839ad603457ab9b34ad4fa23d769eec373daed236b602cb37f546603879283a3800000000000000000000000000000000f465613611f04836efcd4d369f539b36867f09360782093691a9113603d61936e87eb43440e1c434f020b434c803c334aa17903633778936f0e2a1369160d03684ba1a36d0fa1e3620eb1a367a73233668ca0233b28c4f33f19f15333f6e1633c0c2c7364326c1361d95d036a163d4360000000000000000000000000000000000000000000000000000803f0000000020678b363ec08637e59d753f79ec8f38fa912536e6ba3136bf0f523f69c8613ad46eba347548c8340258283f4f84ed3a7746c0368667f23674b2fe3e2a478e3ac5302c36f1229436a26aa93e62ceb43a0cb923335a6987379149263e6ef0aa3a5989cd3616b6e2360504303d91fb413900000000000000000000000000000000000000000000000000000000000000001dd8cb34cdd85c356b82cf3549ab9637c7fd3b36cf82503663a96836a607203847840336012025363bdd56362920a737b5282835129a42358175b93632780e38a792353667983c36783024385b5ba738eeb483362c918836b843b537f2574038c44ba43530949e35c97ba037c9c7213800000000000000000000000000000000000000000000803f0000000000000000b3afdb3557ea5f3f93102e3d6827553ca32a7236f7a43c3f47f6263d1e3b843c080b69367fe4183fd52e333dd279853972b294370b16ea3e0cf42b3d523d4a3816ad7a38f6eba53e45791b3d0d41cf38d95d1638c5fb423eca30143ddd484f38fe621738d551773d84dfd43c6d1bcc37000000000000000000000000000000000861c834eb6dd1341465dd34c06fd136689eaf3460d9ba349567fc346bf08337ea570c3654c329364f6b48362f33ae37672d9f342057bd3401a39135ff55dd37c4597635d4b98035f3898335308a84379be02036695f40363efe6636b8490138455b8a368ce9933673f08737abba5f3881cb3c369d3c3a3653bd3a36edef2f38caea1e35f9fd2435caf7293518474635cb3bdd346d3d703ff607583dbcb5bb3940ca18358ffd4d3ff96a8a3d42d11c3ddfdc4d3631c2233fbeddf23dc86cae3c1721c5355110fc3e5b3e0c3e822da5389de59635c7eeba3e44a4f63d09b80b399c7c7636bb43763e9937d43d351c91381fe40d38b303053edf3b813d68319538120eb13795468039c1ee223d756a7c38598b28351b715735a55fde3583dff73799bcf532bf90f4324bf748332abff23731e8883335838c331f738f33b1bd903309f22f366cbf613680348c36f91e7e3782fad434b0fffb34f5fb9c3529ccbc37cd3c1a35ddcc1a3545bb173501531135611ba33638fbb036143cbf36c0b5e7377d9726360dc0343617224636a632d037bd602a364fa02936799632362ce83f368da77635920c8c35c862a335491bbd350418ee32e3ee4a3f2e6d4f3ef73b8538bce28f333f8d273ff79a7d3ec143933c38ea9236c50c043fa790833e8a388d3c2b41bb357d62bf3e25d1823e371fbd3b3c681735d68a853e27e85d3ebd7eda39a87cc8366a77093e8734383ec7a010395b596a36eb334b3d03a6003e20887839d385333613a5a937839ae23c4fda833a2cb79f35349abd350172e335578cba37553338350a6a4c35da6f65356410ab3740e0b03495eb8d35db55073623842f36a7f21e351a1aa7351ce01136eeeede36b891c4359a87e93538042a36d1701538967b3c357a3b4335bb9e4835ca6ccf3790a63535653d85350aa1c435954911387cc674365ca37f367eab8b36a0511d3768b9a834a4acb2349fdfb434e5139c34f734d434319ef33459310235edb1013522886835a343223fe850bb3e8f4d0938e04808361aec003f2a0dd83e09cf89382f262136748cba3e50f3d03e1f6a873c3b733936123a823ea4f7c03e92927b3cb62f4c351a9e213e89b2a53e30f0723c4e93dd35086f8c3df8bc853eea64703ce3f58d36aa0e8c386826433eadbaeb3aec6aaa3451695a373791183d9dd62b3a6805f9345f590a3520d5a937cdd5593828b3c834237bcf34c1ea1238f4857d385ef21435a9f0183591e67f352191fc3700210e363dcd2b36b0275936d03bc0377de9db3407d88435b094eb35c18d9037bff86d3577b07835af15ae35015d6738bfc9e73576f4073691f61936f836f43701547936d5e98236c5dc8d36c7d90638d446b135a733ba35f120dd354832c2377b1bc5342094b93425c2b034145d1135f8622738799df43eb4b6053f3f15433882a78235c58eb13e4210183f768eb338ac0f6836971a6f3e0be80e3fcd0e3a3cfb520b36b3130f3e9d9bfe3ec7cc943c46262b374080e83d2953bf3ee35a553cd4162e36b932643c1425a13e8ef8883c639f91368ca999387792473e99bd103bcf17d4350b047338224d6d3d31d6a23ade2aac3474f49535351d85383608f23822dc233525e22535a91e1d385b0646387877173433ca6134aa828434f9968934a937263636c74f368952743699518b360ab5023520936735f413b735628aed37c6f16f3597706d3587e864358724e037f4a6173692272c36d93b3f36e7c2893784421f36e8862b36fe1b3b360dce00374bbf423675e43f3659784836faca503678bd9c35424e99355f809735cda4a33581914038ad8ea83e5bba2b3fd16f3a37eb877734a7ef4c3e9b23433f83a618385b308636c6dbb73d20d9373f06ffa5382c2adb35d86f093dc0951b3f13666d3c1e65653530c9443bc61af83e4199873c31285136e95b9c38f361b43e9ec5c53a42293d36bb692b383371493ef9a96f3c1bd74336666af1379782963da1afaa3ad1419735ed5ab035683c503842315839a32e2436ba0b423661a9df37c745c6379cd84e35d5bfb03505e80036f1dc2036716cb535a4a7f13596201536773e34366a81573642807936256393368fabad364534043569e70835efa20a3579ac0935bae80f35444714352a2b7d358343c43556fd853693de8a3659229636dca394376a17423465213334197e0334c88d9e33ba2e093556150235f4e2d7351302dd3789eb22384b5b363e4972523fcd09d53503380d36cfd21f3db8b16e3f519c30381a5a2936b24d3438b6c54d3f4f44ab3c6db09d368e76c5375d982c3f7473433c66a10d359ae213359c9d013f120e863cc6409435336ed7374d2bb93e4ea8673bf65d973696022938dfe1533efcbc5f3b5dabd1334389433765e7a03d492bc33aa637343638a80b382d3a973bc7372039524529361d222d36295eb737f350e137e16f2d358fc7433572d75835a5c38035d19092350c63db35abcf20364b19633621f39a357b87cb35591af935f68c3d36645a773522d77e35c5a28135caae82359a0bdf34b8953135821d90354da9da357d966836d0df723672a37936cbe96e37db3f0a36c6400836d10d0e36ae8be237abcab235d6eea53544699835a5345137be9b16383be1af3c8e8c7a3ff203d33594cf6235d121ab35cda1753ff994113a3eec3b364c211b3772bc4a3ff7837a3c4d590e36fc835b366563243fa0b0693c0364843544445636b3f2fa3efbd0ca3c6c2bb935a105be37295fb23e41adbb3cd0de7e364ce64c38bb4d4c3e9f9bad3c4d8c0e369e846738dd99b43d09ebd73ab5df96358318cb37bddb033ca79f0c3a00000000000000000000000000000000e862963472b1ab34e451c434dc4ddb344d0de43566210c365f153036f0d4633682b5ef359ead0e361b4120366b8f61371dd81335b05814354a051735bc069d35cfd01a36b1142d36e71146365b5b6336bb3b783633c37f36101c8136c04ccc37c26d1a36e4221b364a261e36665e8d370000000000000000000000000000000000000000000000000000803f00000000bebbc7341274df34f2d4643f7c08a43c5c12433608f17636f5f23e3f79cbe23c93292736aedf283843211c3f75eae63c42d81735f7eb7f37a00af43eb16ec83c42b056367a842c3747dbaa3e549fd03ca1cc81362d9c43386a1d3a3e321bca3c50131f36836dfb370dd84f3d8bee9c3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0ee0a33a5755633476b823323646233000000000000000000000000000000000000000000000000000000000000000000000000a1281033d2c553333f24e1320000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000000000006483763f0000000000000000000000002947593fbdca16397d438338885692334e332f3fe64d0538c75bb233000000008f82013fafd3de380000000000000000eb87a23e8ff38d3700000000dff39a37906a173e3d235f380ded233400000000c557fd3ce384d53700000000000000000000000000000000000000000a6627353e814735d30b3c35e67b4335a77563347d026f34f6948b34167aa534cea715310000000000000000987337337c4da935ab44a935aaa7b7351deabb35fb18d9351516ba3518afd535d41fd635e821073545e70935a63625357d7b53352ff057352472543567565935282c593577899335c2fd7435f8cb843521a58235819ec834aeb0bf346e93db34fc4fcb3457a7643500247c3f66b9ba3cae9f94354b65a234a4f4643fcb29513d0a7ddf34000000008e6b4d3f3e97ab3c25bcf034b639db350725213ff295843c02a0e63588a5d935c1f6e63e495eb13c3226e835f2340e35983e943edd54d33c3455a6350c3a7c355f7b013ef180e83c7fe47b353fee8535dfb7973bf6e7a13b98a48235de5eb334b4efe3348844e134bf97d3344e280434234a853435789134d732e53400000000000000000000000095d025349f5905336389e4320dc20933da9b7632801d3c34f57f383486f66f3443197e340000000000000000000000000000000042f2a333ad44bd33ea64c533a4889033b5728f3294689432223bd0328ec5c93200000000000000000000000000000000f5449c35900c7035d2ca8b3525b8a63545926c348b73623fdb24003efdfda7340000000014f4503f9734233e7ce36f34bb021233ee02303f22ee0f3ecf6d933174648734e173013fb0261c3ea53c8c3400000000d777b43ed8940f3e0000000051f10d341f57363e566b0e3e25373e339f299a32c67d3e3df21fd53dd01f9e3200000000161f9b38589a7f3b00000000d2bf3235545f5a35b7678b356fb9a63505b01e355ace3a3568629e35dbf3bc3500000000000000000000000000000000000000000000000000000000000000004bd33733b4098a33888aa13331d6c433000000000000000000000000000000003779d6334221d2335659f0331913933351221532ca79e632b90cd732d364d3328c223034cdf1a933c9c64d3367d92a341c2080346ff6693421f43f3462860135e5061d3512d83a3ffcb18f3eb0dd8c3500000000e1c7243f6875b13e00000000000000009703023f1a6ea83e00000000d0d0553348adba3e2b7fa03e62c15e330000000044105e3e8e84923e00000000d157cd33f7d1be3d14456d3e05b38c33f0670c33e2ffaf3cda29003e9594a7325e0bd0330ade59398e71a43bf198ba33ed574234a7a25b34cf807f3677264234677da33499d193344fb0a53401e8a634403833356f690835402520351c432535ce4fb1345c415d34f65398349374a63477aa8735d25481354a58763531fd733538c51836f49110369b181c366f0e1a366760873511eb6535a14e7b35d76888350fcf0035754fe43462bbdc341a25d9340a815c35fd762d35f7cb443552344335226fac3446939e348df4b23421caba346729ad348ebf073fa921f63eecbdde34bf3621351a36ef3e9e2d0a3f81e13935c3218734fd1dad3e594b053f48119d3427a6b53546075a3ede91f33e5bbaa43542fd21367b74e63d87e2ca3e11d72c36b49d8735ab743d3dc802913e19fcbf3520c9f8344b62b23ceb01093ee8890235ef453b35aec1db368b1cf63b17c55135f1f798346505b3348807ad34b9e4a234de663c345909843432928c34908cc234199f883446b6cf3483eeca34f45ff3340b116032e443c73219b5a632e104373288bca133839706347a11d9337e837334000000000000000000000000000000007bde2033262b52338b183d331183cd320000000000000000000000000000000000000000000000000000000000000000cffaa435553a733506ff73355ce79c35c4c05734f665a53eccd9303f066b913463e56c3422f4923eea4e383fc8f5c634e944fc32301d2e3e98f5323fe724df3090c8d833f0ca9f3d00a11d3fd78bca33000000003a90fe3cf816f83e00000000320fc033597ced3c6c00a03e40cf1931000000001434d63c1a451d3e0000000000000000f6ebdb370569bb3c000000002ca16e357f57893599878b354b1b943588cf843530479135d23cb835854cbc3500000000000000000000000000000000ac18863202a16b32913e0a325c3cfc31e6caad334da7f6331c6305348018063400000000000000000000000000000000aff18d34d640833435808d34021a6334ea911533f5cf3b33f7c12d3371d6423300000000000000000000000000000000f091ae343581923461503f344dfab834864e6c35adab163e60c95c3f38f66f35000000009463fe3d671b623f000000002c0ea132f7f2913ca49c583f6e8393328bf2c0336de1843bf4f3313f3975e63300000000f8eb543b44f4043f0000000022487934c52d8f3c68f0ae3e04bf743455280733cf7fd83c886c233e013228330000000080a1513bb53d083d00000000bb987a343aaaf336e8af3836a8dc503433a9e134f99fcd340818e1349ebede341c40893507d5763557557635ba4d7535f2f78535514e5b35821e49350aa65c3544612235567b5b35a0062b354d8552355f81ed35690ae735fa99e8354c16e135e2d6f335ee5cd3358a3ccf357d9cd735b32a61329501a9331518ec33ffe24934c882b634f99fc2343145ef346c7aca343f1e8b35976957356f756135e4c081359c7ff3346f69083dbe0c7a3f28b0f634ee0c883573aa823a19297f3fb7558d355ef673352ac96c359da95b3f9d716135e105b33539aa04363409333f683291359bb2f635f436323683ac0a3f5f9618361cace1353adbdd35c4b8bc3e06b8fc35f691e8342c1de13a809f3e3e67650835d1b5bc347910b537189d843d9bb246357f477435c5d2823591f27735556275350000000000000000000000000000000000000000000000000000000000000000ccc72d34e06a043443fcb333a828e4330000000000000000000000000000000000000000000000000000000000000000437b143425ffb233aae28d33c503633300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000000000009cc97a3f00000000f3be0d346c644b34bbf85c3f9e55a53600000000000000009e2e323f5df784390000000000000000e4b8013ff3ef5b361152cb3360c599376054a83e8db51c38000000007be18939ca3a223e685aaf39000000000000000059733f3d000000000000000000000000000000000000000000000000000000000000000000000000aeb08635c06b7f354f0c95357471b635ad940934bbe30d34c7503134600b49340dd1803523f28835fe289e35fa1e6936ee65d035661dbc354e5acd35a43c0236d66e9f34f059c234bd1ba234276faa34573d7c353f777a35687c873525a400378e3bb235e15796357d0c88358e6aa83500000000000000000000000000000000000000000000803f00000000000000009c0ba835f5ae6a3f3fa1173d306d7936e1283f3403a9463f9eae1f3d06ea47340713b93568e7183f3e396c3dcdeebd37f0e2e635ce19d63e0d0ac43deeb5fb353031b2340b22883e9e7dbc3da5a40935df481b37a8b8113e72ab5a3d6d94c035f798aa356e06043ddae8ab3c1761be350000000000000000000000000000000017cddb336f44ff33b6641f3455fb4b340000000000000000000000000000000000000000000000000000000000000000112920343d311b3486ac4134a66290345088ef33bd6e27344c444a3425aab83400000000000000000000000000000000819aa634b2c79d34072ea6345253c134e24fe5347a78c834d6238834f20add3436673d34e5903b3437257f34c7d3b634d6d91d34a771723fa2536c3d07a5793400000000507b4e3f1219fb3d0000000000000000628c2a3fde110e3e000000008a7849347fbaf03e6e0e483e6f962e3600b982340b459e3eb5a4533e48a29d34000000003c5c353e45fe393e1d1f99318fe4a0348cd1cc3ddea9b23d95b2a334afdcde3497eef634a5f4fd3c5405d034660077342aa77134a4f39534338f243500000000000000008bcfbe338feffe3304a674345af99a340c640935473d3e35755dd63491ac0635da60573546919e3574afe63324c4a233da1b14341901b53458039635a11c9235096fa535d941d0351ba13635b6ab5f358e6c8d353b64bb359a720c35f8d8fd34026ddb34773319358f9d9735b1e1893565b981356cd59a35fe14a534fc279134a83895349950c93471ddab339ef75b3f7a4d143e3c520e3362cfe93402cb313f9e80743e1e394c35e15e66358123053fafec9f3e3b4da135d75ef8335e25ab3ed08aad3eab801334c0dfb3353a67453ef794a43e6da5e735ad436035c820a63d2c91873e2ba4e635b458ec347052c23ae018123e443a21352c9f683536fd8a35d88eb73b1e4ac835afb583340aa29934000de134b1f2e534d688c1346824b234e62c09352fbd0c35be6a4d35d12b51351fc0813570e5a3352d520735b0f5143551e833357d2060357700843561719635da04b13593e4e1354bf0da35ce0cc73513c4ce350bd0f635e465f03443000f3534ec0e35db9b29351d8f4735a0896235496a89355cd29a35ae405b3502ed3c35ff491835729e323503e47134634e7f34416b7c34ca0974340daff634025e313ffc9d9f3e69a4ce36dcc5863598a2063f9b2adf3e61308935bf3126352d41a83ee7e1013f38214a353e0ed535cd38483e562dfb3e78c91637504ae435ad315a3ddbd2e83e38a5de35b3ed0b35d8254f3a3260a43e71ce833582e59f3599d90437b7371e3eaae811375cfc3335451e3b351e0c013b73be323539ff20341133683337674036142e9535518a3f35fa142d35690c2f35693b2535f0fff131b18fc8338972193439ba2f34202bcb33eb6b1934f9725a3412621d34472e7e3413f57534c8da8634b9be9c34563a933421238f34f9a99d340c31d534f6e69934a2398a3421419f34ebdb95346a2164345ed26e34e0cc7c3450395034c3674534a0250934dc1727345bf45d346ac4ba34799faf34af6cdc34a80b263563a745354f2b023f4e39ff3e2da3b2348bd13c344791b83e092c233f75193b32945b0a344bfb403e81db2e3f8c890e348c626b3487bbe43ca629273fa13271341b59ab348542a03a45b3003f3ecfb434e9a778344685e0357b02a73e714a9037c1f65b34cc2a3c3428300c3e4433eb33c0a03434260302349034043c33472d34e0accf346b2bb23426ab86359c176a35533f9e3454a5bd34254dda361b4d12356affb9348ed9c7343b720c359edc1c351bb4ae3490ad2935c9fd6c35ea5cba35361321350dc30c35c8d3eb34ac142135cfabcb3535d3c0355460b935820dd33524323c35e00f6835ee2589354139bb35d53d4d35bcf13c35677c1f35d4a427353d598235f6a171355b5f6035dd9783350c338e343efb9034d4ada134f108fc340621f3363ee8a53e08b82e3f9eda4734ba940e3568dc413ed6b1503f99402e35b6ed8735cc1b103cafdc573fe12ec5351d5c0735348e1f37571e2f3f0422b3350583bc358c52cd35331b003fedd08337292e87359274053774dfa43ed0610f3887a7263516ee2f35b5322f3e31db6935f4bb5e3520066835a4493a3d6a027137a0ca94349abfa1366b090738d7e997371f778b34bf7f89345300ca346092e73468794f350f4c5735be538f3515daa6351908c734a6a1dd347715ff34222c40357fc35e3588305335e7c6783526e0c4353957a535ee968935598f86353d11a635477b16330b99e6332375d533dd2b1a34dde15d35b3c65e35618f47356158673579c92a35670a17359ea7e734e0b117350000000000000000c67e7b32caa0b2322af65c36f1f7113ea8fd5c3fec93bb341ea89435fa11123d0ec8763fa7138f35773afa349f397035749e5c3fb96f6735b139a235c38bef35808b293f9306ab37b61da1352884a9351d32fd3e3255e937d5da0a345a8322344417ab3e73561338f10e4c35d3b09b35bd07333e62f6c5366f980635044a12359f1c973d7aba1b350000000000000000db06ea38da288b36f5bbf9348536e5349b67e534ea47b734000000001f9648339c8f3934111f86343b5c9b343cd79834d859a8349578b13400000000000000000000000000000000c64f6e344a844934132e68340b13b03405b48a340d257234d72664349b9a8d34000000000000000000000000000000000000000000000000000000000000000056845f343a302d3455e021342dbb3434c198c9348a62da3b22927f3f8d897a341ff52e344c00cb340f38793fd8818934aa8c95340db3ad348cbb513ff114863700000000000000008e76263f03358739e3dc82344b1da0346f7efb3e2722d9370f107d34900984343242af3e0bd0b83900000000000000004f614f3e000000000000000000000000b88f9a3d92bb0737270e30347a321d34616df438014d2537000000000000000000000000000000006ad863356ded5c35d5c96e35610da0356b51583523b45a355cd163356923a135534a9634067781342cbf3434cd3945341503d8355028ce359c93cb350599f435eb70b235aad8b13508f89d35b36bc73504082f341afe2d34b36b1a3487ab1734d1b49735a8659135c4418a356c8b9e350000000000000000000000000000000000000000000000000000803f000000003a866435e1be9335d5d1733f2a77833a33d17f3593989d35b0c44e3fdcfce13ad5ad8434ca3e6a34651b223f4c49843c9153cb35f0ddeb35d0dce33e2d84533dd404b335d889bc35f75e943ebfff7a3d72163534fb4a11349ef22b3ece13c23c5bab9235f7be9b3545514d3da92041390000000000000000000000000000000000000000000000000000000000000000ec16f832d2ef6533bc22e5332b3f3b3759623632d64a3332f8f25432444b8535e330a4348277d734cc77ea34a7cf86370df14e322aee5b32e69f5b32ad5188379621c734b343b234582c0f35b38bc137675e2e35eab42b356a901b35467dfd360000000000000000000000005ade463700000000000000000000000000000000000000000000803f0000000000000000ec3c1a34deb85a3fb0c89e3d81fe6638f3bc45321ea0333fb839c33d8be6c43c220cf8349b6ce83ee1d06f3e5a450b38cea8633211ac933efa4a883e1c2916383771f5344c4f2a3e952c743e48700938a7ba1935af0d023e0db7e43ddddec236000000001ced0a3d1290713ddcd362370000000000000000000000000000000000000000c86451321fd4283760b17b38879a57326179643313ce28347c2316384639b034e1f5d6342d112035250cf83781dbf6347aadee34c496da3476b2a6376fb7a3342301ad34f3cbb634c93ed9374f767c3504a188353522a835c8c21a386ae38c338f5092333abb8333f14cd937000000000000000000000000e2ec39375a92ea33ad2ed33366b5ef3339418134e91e3037f6056b3fcf89ac3dcbcabb38d18b3d343677443f8b2bfd3d08f8a73bf6d71f35ddfa093fdea38d3e707e6f387ff3df342acf983e071bcd3e715d41389042ae34b489233e7652cf3e83764138cdf5143729f2bb3d330fa93e5f6c40387eb58133ee5ea63d8848013e6f41363800000000b8dd0a386c9d703df6cd5838c222ea333e478634092480365a2859380000000000000000000000006a2a42389cadb332b973393395ae6c33da41b63750ce0931450086317e9f353562f9ab37ef3c3c34f0707e348b3d5f34245c8f37439b9a344cda9234fff78a34b44b033812a08334ce495035fad99e359d422c38000000000000000000000000c7dbdd3776657334b1ed5734b0643e34d24f2b346d86e2346250ee34ea6c29357e96543500000000f1aa553f1eec143e9fd7d3384b648633fba51d3fb7ec913e04934c3830cfed35471cc53e751aef3e78f75538d8e0a234f5d43a3ebde1093f7ba64138083b1b377336ad3df2b3f43ee30f3238c18e0f37515d163d3ae7b43e76cba538d9ef90366d17a73b56a51e3e9a297a3814dc3134323d103440402639902fca396d2f173554514d3550d09f35c63e5538951ae03499c41b35c45696353dd53e38f3aabe3384d3fb33820582341eee97370000000000000000000000002f752a375d2fd93425f60435dcc04f35ee47d936cb26d0346d3bd1342ef9ce34aedfb634b11b3632c935503412784d3558ada8377a1f273601ab2336c72f2a36866aba3600000000000000000000000000000000000000000000000000000000000000005e9f9035c0a1273f4cebb13ef8478638bac3da348241e03ebcc0043f81d7473800000000c465573e4f4e2b3f128b17381b719835d5be813d39f6293f17700a3854f6c43421d7ba395ab10e3fb67cc33780cc8435b80c8938cae5b23e532c98385cc94536396c0e38d342e63d492cc83800000000000000004f3507389c8ded39000000000000000027b02a37a6bdbf380000000000000000f1f56237ca0c8138000000000000000094d131341c920637c18d2a342cf09b344cfee83408c6af37cc3fa0345388b2349832c934207b5c379d390335e4a7ef3432100d3589af03350e119734d90b9934781317352789f936b98620346d07c73232dcb63427e5ad3400000000000000007afdf6307360bd320000000000000000000000000000000002c76d37c313fd3e0716023ffe10e137de463e34b9de8d3eb944383fcb436a37c8011536f3d0793db494543ff78a19385e20d93427e96538d8233a3fc03f69385df10435482c6d374263003fdb3825381b161935883e03387e69883e2a5a183ce9825333431c5d37ce2a863d266c393d000000000ec49d334f963038ec78cf3b0000000000000000d1c621387e05c83800000000000000008f6fcf38b340ec380000000000000000000000007a80c03753ba9535c05c0836b2c92a3647f99c36b54410325ef1193298fb203255f87835156dc7343405cb34ebc6c9346a4fc034afa79034e895a234bc6ac834c3ca2835000000000000000000000000000000009e863d346a9c2734740c1834f2a3f433dce3c0348df4dd34bda60c3502eb30356e10d4387106ab3e0d3b2b3f00000000d61d5f3670efdb3d5928653f00000000a6905e36a7bd3e385fc2633f21c56e386d51b434263bb037915a273f01ccc43875c1c4344277c1341464d53edffbf03cf377e634e1a7eb36af824e3eb05f983d0000000062a45a35facf873d5fed6b3d7e9c0134b96fb236ac3e503cd9630b3d883b17357c035e35ebbcc838f2942439802c5335d67389378b9885385c09b4383ddbda33c3daf7339a3530346fcd3534000000000000000000000000000000002daf7534420a703479807e34c7ed1f35029f76345682853423c18534fa1b80342e18fd34d7f31d3506c25e354c005035bb3320340e992e337fed8334b2dbdc35addbb933c0269f33db11853347ed45338e18ff32a5b6a734fbbe14352cd01937ccbfc63c29bef73ddbbc5b3f430caf355d2a4734a4c43839fd2f803f40b0ac37000000000c8f1b35d6a6543f7d724a3c0c4e8734c501a8355d0b133f769e203daf7e863455aa8534dd5cb73ee772ac3d3dea4135bdc46c358492383e58edd33d3190d234ef97d4365f3ac03dda6d6e3d033e4c33feb65033f95e703db6b4343d7b5b2a35d958f437a4a00d3c9be4643c5c3adc3456c31235c0c201386a4945380000000000000000000000000000000091205533375b4933600641330ccc7233c09e093532c51735883e8d350041ac359874b934a765923441abcc34fb34cd343ddbae3423eea034649ce934e2ae013578585434f9c1bc338b469d344e4fc934e49bee33fb036833a75eaf3387a1b133de3b3f340d4d3334f0f91535c197783732e32d38cfb9fe3c61ad783f5a123b3500000000c454b233ab65713f8f5992387ad27833db1e14349a593e3f31ab583d5a7b88355aafb7354f8e003fa885a33d7fd4be340a3cdb34d9ec973e545c123e96d4e33452ec8736d04b213eaa75173e9765c633cc03473789a2e63d0f199a3d98fd0733bbdb1a3706a67b3db01f3a3dce5f8c354c8be33776bfd038027289390000000000000000000000000000000000000000000000000000000000000000318a2435d4722635517d3935e44142355dd903358ae02d3514a08035b2d78c351eba93320e3b7e322f446e32cff356323044b4342165cf34b4e60035d520fd34e4109a3247bbab33286c8834b9109f34be0bf1334cf7c3334710ba3307369e330000000000000000000000000000000000000000000000000000803f0000000000000000000000000eb95d3f753a363d8dae4a3500008635acdd323f7788883dac648e35e82f91358c3ce93e4c12133e53a25d32502ad5325d508f3eb9462d3e5ca209354ed0a936d466243e2032203eda319934f5589734b801dc3dbef8983d62b61133808e2e33de3ef93c73ea263d0000000000000000000000000000000000000000000000000000000000000000bb693036335b25366e10de360692413727f01d36046a9035efae713780a00438215e5d37749ca5364e91e4377b4e17389243a636c5e63d368b8ea63782a5f2371793db360b95af3630b98637b8b3ef372b756e37e276d73654a5ea37418017383a259e3764d57b374371a237f7a6a03700000000000000000000000000000000000000000000803f000000000000000065a4313657f17f3fd354ab371dfa4137cd3819379d6a543fa3f48a38a082cc375c8ec73768df293fba5a4038c0bf1138c1489637e456fc3e04d21d38da0dd1372e3e4a37303aa53e15945b3864c69d37d946b637a2911e3e488a43381385d63775a7673743bc63388e9ed3371e2a8637000000000000000000000000000000008314333557c62835eb5e5237a5e9f8378c7d113578fb023562fe17359029ca365969d03599189935a18ea236c29abc37bb354035ae932f35ba69a836b04d8b37b254083717d62b362c645437f7a8b4377206bc3686a2233647c4a9370b2e1438cbbeaa367aec1136eed8113711444537b7281f373683a8363b6a2b37d23c61370fa58a372f6f4537727a76377b938e373d832b35df267f3f237b4b3b340b8c371e610d357717783f749bf73c076119353630d73514dd4c3fbebbc23c2d25a137f28d3635f528243f4df7a23c21b92e37a8a80f37dea0f43ef7d07f3cdd69873775d82e379711a23e05868438d2e9f237444a463673ca1e3e24676638c8583037595d54363b95f53764facb37929c46374428e436e85966375d34b13705f79b373525d53646a1bc36a2f49b373632cb37a6268936692c843682958d369e2c91374a1433361a332736a63a46366bac5937e3c6a136b86796361ec6d53624961738648108370d86023708fb0a37b8708b37d05d86365156733675da8b3627bd2b37e7712c371cf13a3645648c37f7f1f0373daaab36844fa9365839aa36d7d323376e869837ca856137194b9f3775eacc372a70ae360040543fd9be2e3efcce50373c188536e1ec4d3fafde393ef90e0137b92e2d36e873293fbce92f3e81c0513675e799368e320c3f8eea0e3e1621ce37e1720637acfbcc3e92eecf3d099844374d8977363b80853e92455d3df3ebc836d3243b3677c30a3ec8da873c525fb53729cda93628b5c43717b8253883c5ab36d867a936bbf0b4376ee40838a164c73768cf3937c04f3537e187ed3795320738accae136b978c6366f77033763ee1e3873fc6636077583351ee204378f4509387118c7369231bd36da08ca36bb96b737d0608137435220376ac0b337a49639384588c337eb0c79363e46053865e36c38d4421137d5dea83693933c370740f0372f92b137303e88378b89ac371ebbf2373966713799ad0f378c946c37f8a8a13788933137797c293f71ddac3ee84d8137764fc736bcc4243f9c86b13e41f1f236db278635bdb20c3f0b0b9e3e515d763753d6c33616c4dd3e1c1b7f3e1d925d3723442e37baf4a13eea283d3e0df7f337708b703719b44c3e469ef13d941636381002ac362a2bb83d4b285e3db2d35737dfe25f3793ad313848736c38946faa37ed5ad736d74a8e37affcec376e319337df10a336e6f583367ff802386e372038c9d09e3588ff98359e989e3597d254376855e0361957753611723e378dfafa37243ee336e46f8b3582c215374d720a381c025935c509583580815735f1db8d37257f813731c8ac3654b28437468b2338dd08c637e9886d37a430c537eb8a3038aa731837cb7aa7358e76013726188437aba4f837a3058e3742bfd437d9331838bedd37358180fc3e1dac013fc58c9c36926a9e350f55f73e4c44043f17b29e3580caa8367c4ccf3eadd2e23ebff892370450c735b06aa23e4814ba3e28389c3703035b3512bf6e3eed8f883e6faa5835365f1537f0a90b3ecb3a3b3e7fa4b63777678237c573623df6d0c53dfb35d2379df6a935df94ae377aab82382b2010379810bf360607f937e2f95b381919e4377ce4fc366deac13645df9537d921ba371e39303730e5c2368f5e49372c57be37e092a5364cff9b36a427a236e8cea337a5c9ae379d3a7b36554283373bf55b38bb10a837603c323726708a374165313899b53d371e42ca36db80eb361c7ac6372afbe337a4a03737b117a737c17c2d38c7e2d837d1683e376f3c8b37a6a14538583dda37c9e4b0371969d2375292fe37c48daf361448a63e2ec72c3f1c59a136cb85c4361864a23e92c32e3fe0eb1537dc979f368f26883e6ffe163fcbe9aa36bda7443707784f3ee55ef53e19280b381cdd6f37fb1f113e08d4b63e3415df3798fbcb36004d943d0e1c7b3e9ab66c37d70c4c375ec1063cdb8a083ef2bfb1374ffe2537d91a663810a01b3cd0be8037237c893791dcd83752212638fb89d93794bd833717f641370e22af3724bede37b1b3a536e93fa43621ada2364fdaaa36d90cc6361016363653973236303bbe37a5a791363d5e7b36730b79361c8d05371fea10377dca0837b5d40737b1c87e3781ddb73757c8a636264fd336de091638bffe0e37589b4d36ad2551360aa79f377a1b9837a18514371e045437370db9378796af379e656d3704fe9137c81ac337866e69378d9e1f3ee404583ff9fd91368c82a636252c1d3e82aa583fe67fa336e96c3c3602df0f3e5411353ff2ce1137439c8636b180bb3d08f2173f1756893616f60a378b387f3d0e1cdf3e13c314370fcd4b37996f153c61639b3e395ec337a98653368a180c3862282a3e791a5036f5db0537bf3abf37b486643c418c5337f9bc313789179f378e950738096a963793258137d5852f37f11b4137b82cba37bd058d3602dd5c3556855c35a2ee3337ab6ca6360e580c36fd17fb3599642d371e5e8f37aef33136d2ea233627fae337b49263370c2d1b371837f3367cd78e37570c12375d2f82369ad1b135cb1f3f37cecb8c37dc10f936d023c036f3e3be37e07f423694a21c35305a1d3567604d371a42b537db951237199b5b3747d5de37acba8037d4ee4d38eaf37f3fd001ea36bcb29236801afb3794f57f3fbef2063672889736c3262a38eb42583fbf38df367d78803732a34938f4e52e3f34b6f1379ebf573774291038b4a2013f3b8982374681ed36b22207384071ad3e89a51f37586c43379399d9376dfe333e8e71ac3768b92035a3d4f1366733143ae27f1935ba1b9e36529b6937c3b431383c153a3700000000000000000000000000000000e0362d37e52f9936e70d6a3667ac9c37b7838037efada236ce0d60366b72e637a31b14378c5dbd36bdc99336d246ba379c05aa37a189e336212453362a1dd937529604384e49c237975c9d372f7c1538ac91b73713c04237c4cf4637d4d50d383a146037f4e928371e3a30374e5488370000000000000000000000000000000000000000000000000000803f000000008b902037c3698e376af37f3f58caac377db12a37135703387147583f61253c387835f736abf7c3376b4f2d3f9f63513896a78b376881d3372cc1013f6a531c38f76af4370e0b1338050eac3e51fb303824b89e376cf7c5374c0c2e3ec7114c38b37936379094303742fe7a38041873370000000000000000000000000000000000000000000000000000000000000000907fc636f31be93644b8f83733911938710ffb35bf2c0436898e97377017d137a7979b357d4e9c3643ef393854996f38230be236c85ee73616c13d38b4af56395612cb36383ef7361285e8378a4926386eecbf36c1d742375b07f337bfc90238f7bf64374136a23788ef3138f8333b3800000000000000000000000000000000000000000000803f0000000000000000bfd3c237d01e713fc2e2303a974815380a8f48377e784a3fdb10303a5a26c03727dff33712cf243fbb2fba39eb6256385a430c3848d4fc3efc9d683af2eba9385998b3373d32ae3eabf743399d250d381e1eb837d098473ea42933389d59e93710cef537f2aa323daff9ff39214a243800000000000000000000000000000000dcca0f35df631135b55ad2372dcef037d681a636884cbf3683f82b37eac7b03711205b3694b35f3616282c3734f4fc37693f1e36041b8236b996de37b0111c38a3be8036b10086369d0ebe37840d0238a0c4c036b9c5d336bf2faa3714ce1b388964d236a916da3614d31738acd93f38d1f76a3618a55e36aa1d8c37b657c03762c42d376cdc10373aa1aa374411ed371c0b4d37d3646f3fd648843d9158bb37e2dbdc365a1c5c3fe1cda03d42adab374a73cf363743393f59289a3d5cd8f637ea33773775e4163f08c78a3d266b1e3806cd7337b5bee93eeffd723d80f60a38f0194537518da23e72930f3dad91d53859f7ba377b8b3f3e3317993c4f804438ec745d361459383d6941303a972bc737f18af6364b13e3372f4c2a384f75133820bd0936f5b50736fba5ed37780003386b33773610911b3781ddb137331400387df85e36e091683623bbdc3634c8b937a2521b35e04e9435040e5e3762d91f3897470336008b3936c55226373385c9377f3b0c3623fb0d364a528c37815d0f38f91e7136d52969364d5b0738593b39386bd1e936a0ddc0363468c137668b0b38d3e541376d7709370c699b378c90d43703f90537729e493ff148593e30f4b037969d7837f61d3a3f48a75a3eaafff2375234733694381c3fe7514c3e4908d2378fa45636e053003fed212b3ef6152b383109c4369c07c43efac3083ed96dfc379cbc9536e364843eda60b83dc9ef92385a6d7f37f0881a3e5567543dfa463f384e01ba36f96fe23c44991f3c2b3a183843c0d336cc63bc37749c193891f30438bdbb093780fd473771cc0a382bb41138f1b89835c9539b3501d41d3702fac437050e5735d1d8633513d9cd3567c09b385b7ae0339d65ea3381f4dc365ff61838445a03364017ff35257b2a37a8a5c83729b39b351e88953598d77b37c7600238a70bf334c066d03490208b375b3c033851c30137e7e6c6360e2134373515cb37a39a13377458b83626ea4c375fc69f3793e088374426243fb082b73ebce4cf37e9e59c350fb6173fdf4cb43e373c90378c2681357e45003f9dee9f3ea5827f38b957fe33ec47cd3e4ff4843e20772e38dad1ac36e3c29a3e03ce4d3efd59d93732f40836b22a4e3e55eb143ea9b80c38f93ed134d14bc03d3ba9bb3d6b7904381173bd366b0f273cd52dfc3c419bee376a38ad3636ec7b3765d09a38cfd51638899e2a364efde836be241c3870bb3b38d10bfc368fb7ff36057f043857f90a39964294363de295367cb2dd37977f003ab86bc436ede0d3365f966c37f6d9b937195c1837d9a02637da800738eafb613858cd4037e0603537c9a88437ff1cc737041e9637e585723738560938eeaff939c306ee37dbdabf3708e60f3801543038f43f9337eb716b3705b2993746a8e1370d1e47371633fd3e3f4b013fbaaaa137865053377746eb3ec176fc3efbff25389cb43437bbfac23e225dd83e85e7e239f5f0323717489b3eefbfb43e9329d5379e20a5373fc86b3e5b058a3e112e703839005c37574a123efd7b4d3e055bd43776b4bf371351923d595ffc3d694af139afafd137d12c3738851b403df316d638ae6b4c3722089e3775148638e2493a388542b136f607ae368a8cff37a4e15038d7dc6b36d1076a36516fe836af0bea3716044134b9b079345a8561368628f4374b079335d6048e3567fd293780e900385a789e3653337036e4410f37d21cca374d720d3400e21a344fe43237a49d2b3891cca4351d859d35c16310379e254b398781ec36984c71362c661a378eacb8372f14c2370c2f87375760b53756bcf837d69a0f37ee53b23e61c7263fd24f8637fcc46c367811a63eb76d223f627bb737bfdbaa349e82883efc340c3fedd60f38a6559135fd65503e5714e63e002e10390b8fda365035183e021eb23ef12a1939dc116d36c709ad3d6c4e823eaf512639bef8b9352a18e13c5339223e878a9039cbf0593690df9b371e7f613dd700dd37e15380376120b8379e4956383c5c1638b30f7c36d46b16372d7a00386e0f103887f9433562ab3e3577d38337a2971c38e8705536a7ac4936af24ae372575bc38336f28365c73153610be4237491be3385ea9fe363cd8db3638061d37e87de0374096633760601637833c793750d22538a58910378c5d8436fd99413718d4d037a506d037d1bbb33741e4bb37436c01389ceda23789bd0e3744dd7c373f45db374b2a95376d6c4e3e644c4c3fd2eed737abed4c3666ae413e2cf6453f13641d38c7404937c5021d3ea5b1243f1fb7a13969abf9361062dc3d70020b3f4656023ac4780e373f42783df865d83e6d507539de726937818eca3c82e89c3e590e3839b7a6f536fb98de373b9c423e5ce4f737ce47b23799bae0379684723d8450113812d2f636e7467437f5102b3834730b38eb541137c4a60637bd7c0038ab82223896be54365dca49366e195d365025e237850ed03606a9bd36c5929f371b023e38894e16376c5cfc3604b7483726175638017472372ddc2537a6178b37a62c03386cdf94372b331e37a8f29637df981638c3cc2a37c879033715530837599ae537023a8037fd79003766e21c371b5fac37363db337c3007137ec0b7f37c7e2c3375387a3371ac65d3d6d12723f766d12382e795a36f9b2543de3e0663f23bec23997449837c6eab73c2155453f85a05b3a34ce6837e5ca263cd4e8203f9b1b0a3c133f9c377e63093867c7f73e43962838d8a1a0379c0512385a62af3ed8e5853813ca0a37437d9b3740994d3e09a7fd38f4b0fe3679ce5c37381d7b3d48169439367d5737a1295f37ba31113806fa0238000000000000000000000000000000008141d236a242cf36e69a4f377b2f3038e643bc36add0ae363937f6360c0ce6370fadfe36ab2dc83615f42f37c60ef43756f47237d6f000371dcc883760e84338b5bb8537f5830137fa75623770cf4638eca82337a2871036271bb93640deab374c1a0138744db0370544cc3783400e380000000000000000000000000000000000000000000000000000803f00000000b1aef0368dc60f38a749723fcb28173cdf011e377ba4d33773894b3f045a1f3c965653375ad2da373aa8263f9ecb093cc6009937b0931738b2f6003fae0c873aac3d823746eafb37d3dcb53eb784a8394b33cd369c585a374cc4543e26c2f43906a6c837bcf4de377d8b683d138ae83900000000000000000000000000000000000000000000000000000000000000000ee8a037576ad738ff6af23997c60e3ac9acb037722221385415a23928ebc7397b509038a8aaad395e01283a857a363a8a646a38d4a57c38be216c39b44e9739ff981f38bf405c389207a239500ff339ff7c9238df14533929d7db39271cf839923f093835dd0c39df8ec0393159de3900000000000000000000000000000000000000000000803f00000000000000004796d539053d613fac9a8e3abec70b3adb6c89395a07413fd8fc393a3860d5398749183ad98e1f3f2554863abb2c3b3a3a58153961f4fe3ebdad243a94f5a5393eb6ea38535abd3e93ce8f3af8781b3a97e0a9398de6773e2c34203a7279023aaee968392dc9ea3d1724813a0033093a00000000000000000000000000000000e75e0d38abd39e39be64113a026a103a20c3df3704772938397d16397e3a7c3972ca2b37e473bb37a5c83d3989aea83915962038b1ec3f3882f8eb39ca874f3a03cfac370926ca37bfc6333a4dd7723af0bc0a389c811b381339473af921893a382ac537d3d42a38c9e6db395dd80a3aa5120238da442939a753013a07831e3a32a98037a1f91a3839658739c9b4d539c39aff3993a4603f8482ef3d87bb003a49915238855c473f5d62e53d5107953965155a3835782b3f501bd23daa79dd3957f882390b3e0b3ff5d9963decd9a73aefa6ce393d18e03ed1e8803dd62c913a863cd439dcaba53ec1b3403d21f0b73a5c9c763933665a3ee4fcfc3c68411d3a2d7596399344d73dbc0c5c3a0f5b3b3a198cae380ea1ca39cdc4483a2d96253a4bcf3b380ef9a339fc66153ad505193ae4b34737b1b6ce379d6ec939d6e9f73902d71437d15b7e37a5ced439162a3f3a64986137e565af37718d2139f90ea63925d7a638c87aaa393c6f363acc02783a1ba60a38d7c91e3881684539684b2b3a0b5bc6377e390038191b1c3982bec63966ed1338a9e72638466e6939d748c139eea723397a5a5939dbfbc239843af3394839ee3971fc3f3f43ab793e30f80e3a584655394aa62b3fa066693ed03c033aeabda6389ee8103f8074423e23d9703aa674f5374afef03e292d243e4995213afbde0f3aef81be3ee140003e60e49c3ab507323814628d3eb7c2c03d8e2e823aaadd1738d4b0393ed5067e3d1f88163ab03834388875ac3d7b0def3cb58e3d3ae7446a392323dd3940751d3a28fa143a0fda0738a5f3b138a7cb373a3bff343a3bf4c3370a8ab9381a58693ac27b9a3946d41937bc58ac376bf60f3906b1d539e9a142371038b937927e95390454e53981af03385ad011389d437739aca8cb393ca66a37d0a1863774f4d038cdc2e73929d5063894a81338d6a593397cae163ac494013974505a39762a043a0c82223af6834439bbd86339c228cb394499ff392864b339229f1f3fc923be3eb3bc0c3a323e9939df790d3f737daa3e3b7f9f39eb4af73771a2f13eba7e923eb6c23a3aee14ab38ffabc73ecda8733ea44d353a1d155738858b9e3e5b79423ec7dc0e3a4a7eb0374fc36a3e88fd113ec210523af3945e387066173e3089be3d2adc9f3a574293395f938b3d9080373da2ac3f3ab3c077392b73db390a15263a1c801b3aed51c038affaac399d291f3a27cf203a4703df377d55f837b15ffc393c5d183ab2d42239a2eaed395be9663a6c02863a5f0eaf371c770538b733083966be313ae6a0a4388a00ea383798dc39d4640c3a91c5bb37ba100138b4167238295f043aaafa013aff66163a0b49593a5ea17f3ab6a0ec38fa001439052ac63901d2013ab8537439537b8439c570db3950cb073ab163f239c30efe3eefd2fe3e408b123ace858b391a1ae13e1872e33e7cc13b3a40393d3a3e88bf3e3a53c23e4f418e3a44fc463802ab9e3e1d90a23ed6fc7c3a72df923935ff7b3e22f3803e3d22213ad6323638b7ed373ea9f9413e4cc9843a0fa7333acaeae73d2b4cfe3dab598d3a2b764d397dc2503d4d92793dc7034a3a363693393e9ee23970b02d3abd1a283a3ba425380ce98539257b143a6e5c193a4421783784f7da38645e243a70f93f3a6c40e437283908389880a539a5b6663a45d87437da6c893790c3a738c4fb013ada4f0938406f1338b4463e39f714c239f3dc8d375886dd3762677039a610d739c432b637fb4ecb378e00ae380a6e77390774fe373165fd3772ebba38b2226b39e7dd1238bafc13385a3786395a03eb39c8fdcd39e253bd3e38eb1f3f6b150f3af7b6c639036aa73eb6140e3f0660473aba32dc3840ab8e3e866ef33e9e8db83a1e94d73702e6693e7a2ccb3ed684783a9aab1d3891173a3efacfa13e1bb1303adf9d4438dccc073e290e723e96a7583a8932f437f130a83d8af1203e9f9d623a30950438dfff0e3d2f4a9d3da886bf392de635381e177539e008723ab880583ac0ec8538f9317539b5780b3ac98b173a21f40138e78f1f38f29aa4390cf82a3a18838c377852cf379ef0ca38166cfe39ceab1538ad082438c1c91239d296363aab876d39d360ab397864263aecca6a3ab129b437204bc337b31b8e38f2489e39eef4a73705f5ab3783a0b73926d3233ae3405e395efd2b39f91ab139eac3e2394b94d439b90bbd39be7dee39ac810b3ad309c539d69e793e6b3b403f8fcd113a878bbd388caf5d3e85a32a3f2e2f793abf140f383e1c3c3ecffc113fda79543ac5c837380af8193eb649f33e8105ae3a33c3023af5aff03d2430c13e6468ba3a73fbdc373fb3aa3d4805913e579a4e3ad1965738f014573d00b23f3e8c6b893a5e115d3996acb3396c1cc83d733d0d3a2989c139bb03e1395691263a7263213ae48b7037d3ecac37ce95f6393c132e3a886dec378dd204383022023a53bf333a43b9ab37906de637fd05a039d95c0f3a9f1b0b3869581338092a293a3733993a1cfcc0379c96c737617bfa396ac9643aaa6d603835b29b383bd4bd398bf1443a526c0b3865c90f38973b2739a4b19b39de233938e73232384c999d381b104739f215ae392c788c393d55ba39d2faed3947135139336df03de1bc603ff3934c3ac6dba0390f49de3d92e8473ff02f5e3ace5a2539fe80b23d2e3b2a3f3f794f3aae27ce39c5ff8c3d0b790d3feeadf63af6dc8939dd7e593d4156e13e0f0dab3a867c6b39a667f63c38b4a53e8e32c83cb0f99d38a0d6663922c0663ee215e939c9e239388b076a38aa6bdc3d06c2b939f95b88398b1f9e394cc5153a9a15193a000000000000000000000000000000006501d63723570038b2268e398045ec3921cd3b38b1c948382c099439424ef0394ac83d3839c04b38caa1863837a1c239fc9373380cb578383bc79b3885597139cb5c8c39df429c39fb91f1396726223a878f8d38daad5938e59334390c6da03926a44439b84e0f393f2e67391f1cb3390000000000000000000000000000000000000000000000000000803f00000000374a253987a9ea398743613f1276ac3aa5d96139a807e739e5cc403f6a0b2a3a394c7c38eecea239af1f203f1f98943a0167823839e24939cc80ff3e401e1b3ad5a6d2397a57123aea0abd3ec163543a2bfcfb389d976c39063f783ea1cbf839eb65293924c95739d3b4eb3d928c353a0000000000000000000000000000000000000000000000000000000000000000dd398235a71c4a3566141f367786543729df59352dc35b35d595193643cf2e37f57f5837658c403737239937024a3138ecd1f8356c8ecb35ec67103748a08a3736189736814b923660911637b36869374edc6537bbc88b37a8f40738c085163856c85037809b3037ddc9893738e2693700000000000000000000000000000000000000000000803f000000000000000001bcd935f5b87d3f71696038380bb5373aad5b355b195e3fdf3d443842f0b437fc2395375e952d3fa3b9a838c8094738af8b0c37009efb3e8d1e9038560383377ea11437122b9c3e20840f38c6972937833a38386283f03d90c89538adaec937cd3a6e37be6d9e3854c5323860dc0237000000000000000000000000000000005fa0963588f8973522c3a3372ac01838fbdd9435b1e09a354e21af3544f69c379d2acf357cafb935660e1036ad0ca536e81897341e3e9a3445b69a3488351538ad0d2536ae420636672986368d308837d601f3359b9ede356f5e833775b8093833c454356d594235bf15c337752ff437c62816376445b036c5d69f3702e7c8376004fe35d91ade352286813694411937ef2c9a35bda57f3f6d94a33a77a51038fea19d35977c743f1d8cb13c2541ee370607e735172a573f5166183bb50ad2379b6a9d343211273fd35be13a69114d3880c558360103f03ed671ba3a806bab37325066362029913e12b0423a559a0c3865775a37ff51c63d556dbc3884ffc737be63ac36846e7f380dbd8338311dbf37ce419e3510b40e373afdf0373a357737885e1c34a6255b346995483748eebe3729afdb352fb0c935855818361a938b372784bc356f05a335f84c0336478c78363b9a2836eecf1e363e125036231c1938e269ea331e7f05349bd01a37f3a6e3370449d235eb79c4351b5ee835a205d33762a482362b148136ed7fe53788ae1d38d8917637313507373e4cc7379ac305384470e6357ac75e35abf32336ece73d3704f24a3457d25e3f4a78043e599f8d37b446cf357ec6563f3cc9223e27178a3708f0c335a7cd313f9ba31b3e48fd8137e67d23362dfa0a3f8f45093ed8535a38c263083494ebc73ea488e23dbe44fc37000ecc3516f26b3e21999d3da9da0738ac8fcb36c6acae3de6a8163d00b023380220b134a1104f388935d9394f2c103814ced5343859d436f0ec9f38e162bd37d6e3e335d54ef235baf4ae368399a836b453b13572afa23521f21137f2b3c1375ecd59365b53543692737036db997f3630d14536ded24b36774c6c36d970843649970436eb3a033633fe1a36723e16377b32c9369f85bb363d1ad837b00c4938700f5a36b3d76036b754bd361b838a373d336a36172d6e36b72c823615041237c3637c3423cb6834bc33ab340b04a2344402e33571742e3f3d17a33efcd14a361ed5a035f7c4263f2e97b13e4dd26f3700f66036268b0b3fea67a43e85a727370d374f365e96d53ebb458b3ed16a87364a300436a445943efe0a543e6ab0f836f3cdf63683d8253e04f3123e005d3c3832c256363dfc223da016993d0f58d1360e5f6036781dd5376e4f9d39e63dc83693136434af65e234543fcd37bf4e84346b5c0e356168fc3486050e38d5b7d137a7e39a36ab329c36f7a4af3722f60f38643e1436008111369b208836dd750a37d8e3e2351b5e6235b8af53361a81933746a3883735672437a497a03753130c380132cc3605a79b36742697374a891838eabc5b37da7e0a37507fa9375eacf437b4d31a381d440a38801b40382bed5c3886dcbf361a2d4e36f974813749cebb376f2200358421fb3e2e67023f4766033554e79836bd1eee3eb3cc083f1d9f7f37bef11536a391c63e99b6fa3eac1bdc36aa971736db26923e1e5ecf3e7610aa376fca863712a8523e11a7963e1613fb37ee533437f1f7d03daa8c543ed9ebd337740d03377265883c637dd83d290c733789dbca3734e596389bc1ce396cf22e388971f73447d005386a867c38e8999b3761776734205e7a34a5fb7734236a7734eda45236e01a5736206b5e36817b673628a03a361665383626eb4536b989553669bfc0369570a53605aac0361689a037ca921236ec351436b0a1173691b7a336cfb08e36d27e89363b1e8c36e0b3933678ae4237412d28370406b9371f100438dbc0d7374c01bc37e5910638c24b1d38f3a3a0366b6491366420bb363955c536c1be673433fd9a3ef686323f22586834a2e94c36ebd88d3e7305393f059e413628d540366939663ef929293f60345036b439d9367def203e5088093f86f189373daa13362f69cc3dcfb1ce3e90631036862b89369c82203d472b8b3e88858936981f67377e4eca38cbe9083e0884e9369e599a372f3e683847d1d03a21a0b0370ed547363a589937bbbcc238bbeb8936e3b11e37c9999637f1fc9637d0ac8236b66cbe36beaeb43486e99b3461129936b52b6f36a2f86d3667ac60360ff06f367439c935450dd3353b57be35833dd2357fad90375d2dd236fb847b36855ca7370dfec737805176371e9a8a37ca841a38f39d5e367b42463637368c36cd298337b45c9c37582a6637de2eb7379c9be437e4bfd236d41d9036122a70372115953756548537432fe93dd1d4623f2b954f3482f54837614caf3dbfec693fb3daa833faa87936f30c9a3d507a4d3ff7d46d36cc5bde358909d03c91d82a3f32f1c83565dba437f7dd233c9758fa3efa648937bcd91438aad8e6388452a53e5a27c53793e80a37861484388d151d3e2fd85d3698c356371c913e3816310c3be5e5f636ce5f3c361e3b2d3822ee613814a26b34d0a913376f7ab1365946a7368afdc5360c34a13653789c360612933658139e360aba103568d118359d1a1835ece71735dd652436cfd0e0359d739c35b1556a36d4af71369d7242363a912f3633f58f3606ae5b37e433a23411019f347de9d437afdf4e36aff94e3655fa3f36a2b15637d668a637f0995a374362ab37b575fd375850e13779e9cb375717dc37e40ffc3769f65b374055c438c6fa7f3fdc11a1354c8aa43656866a38faf57f3f1c1c9c36534618359ba44138d327673f58761d355d1d8b36faac6d381137373fb2f3af37ec40a7368e38113801a4073fc1195037b2b1d6372edca7388ce6b03e62970b38fbb58d3606bb7038faea203eadf70c3769fc923768f0453856dabc3c485962374d80b33746772038a58f5338ae99613700000000000000000000000000000000ee13373654a5323694b32736ea734136e29d6d36a1c48c3533c876359e43bb3690039336a0e38736cdbd7d3695399c36f391d636d7841036f35b0436ab0f3437554ac937e4ac9537f246933708192138ea88183769d4bb361bdad93698f2bd37d45784371095203735bd5b371577d6370000000000000000000000000000000000000000000000000000803f000000002037453639ba093729f97f3fb03a7337e316a53693ac96375ae5613fef434138d28a9836c1ee0437bcda313f3435aa375c8fd4363c0c8637262f023fd6fce937f9f5ff370d2b7538abb9a43ec8ec8438dc89363712b216385c5d073e57771938ff29893703912238176d0f3c3019fb3700000000000000000000000000000000000000000000000000000000000000006c03063639c209362a1c143685ffeb36959aa232c11da332e6622934d607dd37fe298435f0da9d359847d435d06d19384ff3373602a23836ee02e4368cd326382cb6be35061cd735bba9ff37fc3e32387050b635116de235e0f5f537658905384b6c87361f4d8636547005386655cc3700000000000000000000000000000000000000000000803f000000000000000034180e367263763fca652b3a35e8f337f765a632ddb8513f39069739886645385863be35db71273ffa978e3af6f13b38a84a3f3613a9fa3e36388d3ac6ce0d3841ecdc37c60da63ec5d2a0388e36dc37f1efe4372739283ed85c0a39bb9b1536cc9bc33728e8503cd5fb8038f1c7633600000000000000000000000000000000704dd235c293df3546bbda364b05f3378fc1063673b60d364bd11736372c83378426453559c0513573716535f2c43637a672df35a746e93540e46a365073f936feb12636f7a02a36298a9b36a219c337a123e935377ef435212c9936db080538623ad435155ed43589b169373564dd37b60ba835e0aaa93534764236192898364c99123613ff273611ff73361f7ba3360d8ae035e464783ffabef13cb31b3138648f1136971e643f6a63493d94f43d38eb315735509d3d3f51af323d7f1a2c38d1242b3681b3153facee353dd7977c37b3972f36a58ddb3e63ad0c3dea94e63744cd0536bd968c3e75db483ce366fa374075d535292ffb3d23b5803a2d33673701b2a835ddfd6f38b5f3b1388df7723609872d3679e19136369dae3771d2ac376412e2359596f335838d1936db036b379f054936b2155f36d90486366d9db736d9e07535d9128535c29e8c35d6908d366318db35f24aeb35e31436362fca9336a0c52a36bcd23336b2f54a36d3705f36d4b35e35edcc6b3562d36f3522e3b436d319833545b28935f1019f35889c8c3700000000ad75d1321ff483344b5bf035000000000000000007677031dbb15e34de3ef5358c52533f6d9e323e80515537f9436f36e1c43d3f0dad563e02b2193751a88835aebb193f27ad4d3e5615b1370c21ef354781eb3e38f5393e83d6273786a14036ff25ac3ecb071c3e83733f37d3306c358ac3473e3fb0f63d96278137f5ee973563f2ae3d662f933dd8a4c537ed638d33f0fe8136b77b143a370f973600000000d249a3338cf60838c5fcea37c1b3453538788735c4e5e337182f2a38ddb88c3548a1943551909f353245a635ea5c793296cd8332266dd13209cc433533e654354733693576f98135c57c763740733936d475413615c84e363bd74c376a602335fa9b1e35f062f935a887ec37154043355e724c3502be5c35e44a1837d85a983649059b3626369c360ca59a36302f0b3618f81036aaaa2336acf5943777f18d355c27283fc285af3eb71fb03705d096351a43153fdac8c43e4b37b735e00c7f32be74eb3e8876b63eeabb853642ae733539a3b03efce5a23e20913e38998c4e36defa743e2b85813efc3ce137dcb1b135265a053e642d403e312f3538bc285535a432f93cf259ed3daa9e40377c19993626d34237c65c143acc77353704fb063632bfd1366d175a3810ca30388dfe4b36239a59376afa1038dc3c1438293207366c0f0b365fa8dc363e7c8f37a5778935fbb58f3514160336838cb637105306364859173694cd293600e30f379df113377f4d33376cd79d3721d92f38b49a3336f4473b3692b73c364a1fd6378500a736ac2ad3368825ce37d9c11b38e10ffd362b1faf36bddb81378aa7f6374137883723266a3785b6b93769e5fc375f678f372319f93e0c6c033f57bfc037672c0b366e79d83e5cc50f3fb8497537b5eb8e355844a73eaad2023f9f70093875f01f36aa546b3e94bbe13e3ef911389e077337c4fe303ed97aa73e6c794f382bef3d36e1a2973ddbb9823e39521438e0498137d7110f3c051f1d3e2e670e38a79ff036184e2338b39b7e3ce5a60538f1f35b37563bd537b1958f38d3c91e3819d20c365c8a2c369c9b1c388d8f093861678036f4368736221a8f367d5c9636a396263591d43e3597bb433577e046351ea40b354a9c2435b1c4a3355be04b375dce463645c44c36285f5036d7c358371d7f8a35ef919135bcaa1636aee6d337387b7933fa02b433e0ebb3343c92a4367b58c0356590bf35ef56c2351aa3bc35ea84163756aeb536cadf95372e330f381e9924379687a23e57b12e3f9c7a143685558b365473843e91ac3d3f2b969436afab4135e565353e39382d3f3212c73562cfa3351d54f13d4e6d103fbd931438fb5a5436db158b3d6b46e13e48e9aa37b427183695b1913cb65ba33eca4d1c38566af0330cf6c937bd343c3e2d2fa3360c48b835886b0437c03c063dcd1fb035b9034436e6bafb375293b03886a24638f67ff134149f1635cde1e4374a4ed43600000000d925113321e39c33178c3434968385351ff3883527b584353ab89835129a6335b6b86835c7d8723505cb7a36d00d6636b804683660ce5f36cf6361361aa771366fdd6836ecf48136eae29e3626579b351a189c35dd47a035810263372344ca36dab7ac3651b7f9363dfe3e3797754836e48943366d188c3635d1823733baff36cf32193e66ac593f0000000012aa2b34d8aaae3d8d0a6a3f4134a533ca7e943516a2613d64a3493f77d4423727596e353e401738c6382f3f15c8d536db246b36de12ce37dff2023f1c81d5362c2c8a369adee937ef8ab73ea914f03650b49f3571a0fd37e3554b3ec28897373024c53628bf9d376c8c493de3b50237a7d73c3679a94e377a923c387783853738969c366afbc6365be9833785cf8337fd80a9350776aa3592faa435ac52a4359922be359feec535431dc535fa42cb35e872d435ceb3e335e522e6358b886d363a3835366ddb333628c4313660b6e636fb7782362b3a7836706d8636b2e2b136a9cf923502198c359cde8b35f4e6413761f35f375c07cf36845ba637dcba1138ad59523710e6123772848537060af5375a0667377380a63945e97f3f6aeb83364749a9356954a33746fb7f3f0d4756361945c7353d9f05376f56603fb43f11389a72f735fb20bc37a991363ff352673895643536a27e9d37246f093f61442e382e2a9636f7a2ff36e8d9bd3e9cf6ca37d0a08d35f0a4163840db5c3e50481f38263b6137ff9d33382248743d0abaf4374e3211378d1f07389c59a238ccae07380000000000000000000000000000000030a82c36a4d531363a38393687945e36741b3e3541e54d3583d1533554a28735b64f6c352d1e5f3572858535953fe93677f13a36e6b83b363e7839367b3cd836ca14e5352d10e43521edde359736b837b1a0dd359bd51835646aef35ee20b33746cf293669292836c1962436596299370000000000000000000000000000000000000000000000000000803f00000000c7843f3657dc533614b97c3f69c76338d1026935c7e884353ae7553fd65d9b385971a435095eaf3684e92c3f17cc993857e03d36d967a936ab61023fc83a88397585e93547e6cf37a476b03e134e9438fcd81c36c377fa37c3bc383ee2afaa38a96628361f08a7372450173d3a6401380000000000000000000000000000000000000000000000000000000000000000907235362c585f366f0edf369e183e384d01253677807336a8fca236c5c2f73719f29c3608cbb536f99e0138b5fb5a389607b336287bbb36d1061938adca5538a2416136da736936a065c137b0a807389bf99336a502b337d8e558384a2a6b38b7612f37cf309e3755a5e138a3f0b83700000000000000000000000000000000000000000000803f0000000000000000ac367b36c0e1683f5b8e923c7bac6d3a8e6294366e8f443f43c8623c6f9105395521a3376d641e3f5e97ac3c02bd7c38fe35d43740b9f93e779e363bc0935a387dce8a373f8cb03eb7ce883a606ada371ec53e387d42543e00e71b3a8cb527384187e037daed813db9622b3aeff8503600000000000000000000000000000000bb8cb2362661e8363a8de73724954e38a2cf1536faed3636d8ac673618f9b937ecb163353e6a88354c4cba359ed0053833355f368936803625e89236bbedcd37a7b2b6363541c5360904d436fe5890375deb663679537a36ff248e37b9e8433803ed2c36a819403610388e36019703387c8a2d36d33b3e3648277f377992f137ad4416369e113236539c713610668f36ec3501379b3a6c3fe3e39b3d7c5487389e7c4f36bbc94f3f7b00c03d97610f3c57119a354e1c2e3f97fcc13dd5e5f3392a698c365a800b3f2589b63d651560381bbacf36cbb3d53ee9b69d3dd7f1053851e1853693ee933ea1a46f3de131863816d950360a332f3e81ba083d159d57380833ec366353d13c57fdf33c7c240438deda4a3608628a368d67cf372a4d1438dfb56d36f21ea33619112e37d8d2e13771476a3578d2d835b5664436d34c2d370141243664934136cbb361367d122138a7098d3610deb2368339d636f98506381deca536a4a4bd36db92da360ddb15381cfd843610f98b36fec5ac3605aa883777ddb036e2f2b536233ebd370e6d5638fd9ae436b577ee369e792e378c4c0b3800258b367beea236c2b70a3760fd1238f657b3365136463f08a95b3ea16f2c38d2f81636275b2e3f9a126d3ef08f733835ab5536cd5e103f1438583ebe0a223a5ba7ca367435e73e6b513d3ebf75ca396015cf3638c6b03ee07c183e1c950b3ac04aa236eda36c3e38b5e43d560f053ad6e4b936a0340f3efbee8d3dbafd9438689fef36e2f3ac3c933fc43cdb343a382e73ad36bc99d6371463bb3878e5c5397acb0036458a213637fabe37031d1338fc4392362616c33601c7f13643c349372c888c3667cbb4361a580037d0771e38acc69e3683d6ae36eacce23665ad3b38e2ebb5369583c436e7db2b3746c4233818062f36fe7641360f21ea37c75e52389b23623619ea723672515537913d0538494ed8362704cf37a2ea55383cdc7a383034a636173c0337cc837d379219d4376f09cb3691e3213f5afebb3e6df519386d2cd8363d200c3fdddbbe3eed809e39ef7ccb361bb8e53e7605a93ed5690d3ae954ba36e235b73e69f78f3e197c733a61ddcb3618ff8b3e7e82643e9c376e38c4673037b08a3a3ee3a92b3e46c57e3852248136bde0cc3de39bdd3d3fc51838edd517381763443c8802403d39ab6a38aec02e371404b537a96c3138afc42938ef8cf03626868f37b2a46738e367843864e451360e6a863672c3ac36d243673728d7d635e6e102363fcaaa360d4309385abc8736f3629536dd256f37d8854338ffecb3360378bc36f012113741a52c38df95a036b517a736ab3f0d387abe603868576436b366f136932c0c38c9893a382acad736d4d9db369393a137bec516380c040a3792bea0378fe62a38f6446838a98e0f385671fa3ea0af023f6e35713865829836c8d2d43e9411043f1e83583801e91136935daf3e47d9e13ed7763a3987b09f3695c4893ec84dc13e01dd8a38b485c1366320583ecee4933edf2b7838f34c95378c27053e147f643e43fc7a381018bd372a89963dfb16123e690d4a38990f2d372c815a3885a78b3de7b70d3865cade3787e0583851a8af3806d99038ceb3ae3667fe7537dd500c3877ee1a3848b011348369b134716e5e3730533c3887484b3644885c36f58e6d361c8eb037c96a453615bb533619ea7737df073f38c2f7cd365747d536d2afa3370a8132386de8cd36d275cf36fe33d237b6475f38b34d1737716c40379bf32038ad2c5d38bfae253795083e37f39fd1372cf400382ef3a236311bee36c9bab4370d820a387dbda937aa48b03e53cc273fae1fe637955c12354143913e903d283f39d98a383124683699e6653e1e26113fe60a63396a095d36e1bf333e80f0f23e6d2b89385f21d8361715063ef399be3e93786038fda34937f63ca43db20b8f3e2b3ee839be61d93749db213d9a6b393ec9095838b3f79437158bbb397b24a23d8943b9378200203795040038257a80399ae730381663e036c1f1013829b682380d948138aa999d36a4c2bb3622aad7365b939f37881ea5364871ac364d207c37c5514938ea388c365df4a4362c0abb36dc3b81373b4fca3651ded9361a0b7d376cd826382484e436fa7bf03666cce137204841386a7198364e309b3680d310388e5b7438b828be36a09b6237c932073834291e38cf0400375d9c1437d6bd9c374303fc37c45f4c384fa14d3e40674c3fbf692638ce74c83656d11e3ed3ba4c3f210360386fa2b1369c9d033e2d6d293f5b1aa239ccd2b7369500b23df5bb113faab7203a38ede43627798a3d69fcdf3e28162739b70d8837bff90a3d557ca83e10107038ce0fb237f9887c3c91af553e85ff77385087c737b8d84a38b4a2b23dfdb6ee37dda63937aef5ea37b3d6343c4ff06d38197dac36925bb53653c2f737fe2dec37a0be0136592e093689001b36a2b599377e732b36a2e13b36ea3d4a362873d637fdc77736d4f883360d88673798c645386507d8360507df365b68e036c250a937f8349d366f58a036c39952373098143844a80e36da3c6e37bee41e38a85b5e38445a083807de1538d8524738db5c4c38ada45c3869815738936470381be47a380265b8379a0e5a3d065a723fd88592361e921636dff55d3ce6546e3f11ba5638e8af4a36c962573a25554b3f0513cb39f18ac336dc197138a0fe263f19f295385baee33699d6d3374a67013f0fbf1c38a710a536c6e93b38884ebb3ebb0e4b3830800638284b7f38dff3653eff075d380f66303858ca7638bf60af3d37f03b3896bc5c38c6d77638fb193e3abc0d6a3800000000000000000000000000000000fd4d883533d3923555bce335d27b4436ddeb3e36323947360993563664e5f2370cd14d36432a583683c6653630a48d37e51fc036f58dc13669b45537d23326387113c436661ffb364cc8de37ee7d4d38f886c43661c5c5366951ae373b6c193835781338b3ae27387018673877f4ac380000000000000000000000000000000000000000000000000000803f000000005d1ab735b4e731361e376f3f6581aa3a81ee5236ab21bf37ba7c4a3ffd12843a7c0463368a7c6f37f930273f81826e3a0b9fc436c23622388f0e023fa642a23a47e8ac37915c4a38ddddb33ed99c0e3cd87a8737fcb92038c72e5f3e7f21de38d99e50389297ee383260913d7d2937390000000000000000000000000000000000000000000000000000000000000000ece8a6356994c235f5f70b36c65119360000000000000000f27803345fe379374c91213643e32536b1f45e3660fe6c36a25fdc359190f9357193623776a2d737000000000000000097e264377e56d036abcd4836b7e57036a6ee28380a2f253842acb3369a252d378204ad37471f9f3700000000000000000000000000000000000000000000803f00000000000000009df1cf3558657a3f74e9213831460a360000000016d55e3fa4c94f3841e7c337a436413616402f3f8c5bfe37b6d46f36dd64873747e0fe3e8ea16a38d6daa937af9a1d37e71c9d3e60ca3838e7f23036329afa3711aeef3dff1d8d3826eba0370d8e89377f7e443cc15445380c971337000000000000000000000000000000008bc0c7335c67ca3307e2c8338dcbc2373b5c113399326a3379519b3300113937b28d9b32d330ac333375f433ccf06f34152b1834495e173429dd0b3482750b34aeac1f3296039e325aa11a32a0b3ca37fe9c443487a8b23469571233c99704376116353403dd2a348d889f37384aed37d252073603ebb53466edd63749210838d884e133b459fd33473d1434e72d59345633c53365047c3f54af883cf898b237aaee04335bc5693ff7d6183dd7218d3748ea8032397b503f7f92923cae3d87367de646347485233ff9a3d73b3e200a368f131e32e8f6eb3e5bf4cc3991f5f7376cbe14345e988f3ecb0fc139e9af0d370688283723aae93d58d0bc39baaec137efe5aa34cabf2e392ae0e938b26326384472f333e0671834521b2b37c0943d3420fa8e35bf7f8135916ab536ebf4cc36b9c813366f0b2436bca82e36848da537fcc15033bbdd21330d271e33c6758934617b1936acf9f235d7385636af49bd37abdb9a35d742b03527f2a835a549043776e1a63474d30d35fe9c1135beca20359b988e374bb94037920e033883075238d21987356ca477351c609f373182173852b65b341bdb6334fc3f7c34dbde8034ebccef34b35e603feacdfe3d522eae36b2211536d456503fc5861f3ec32e90371ad32333d930343fd072143e6c85b734fbf51a36f9fa043ff1d00d3e46802f38661c873543c1b93ebf48fb3dfd5d3137df34a03465e44b3e7cc3e13d8f998a354c64e03745fc253debf6a63db34e7e387d2f2d3506209038f2022d39454169388d837934f0015b34ef30d9371a5629374185dc347664e3344e90e2341bb8cc34ebb4d33537f4e43555130336043e2637652b3836cf855a3634871437533d9e3797973736dc063536b32b2b36c7cf3336c1531c36737c243679cf1c3752c12538acf7a7365109b936784d3e377c6ea93715f7743546259d356850c134d7e51636e1301f36d7fb2436e1a5fc36e8aba4374bdd18362dfb2136637c5f36d0665b365bb3d03454e4303f45e49e3e2c3ed6346e68bd35bc81223f7aa6b13ecdceff3505b73336fd66043f6706ac3ec6d99e3798d22b3642b5c33e95b8963eefa13536480c6e36edde793ef3f17c3e2dc92238ac01de3644c1fa3d95603d3e88f9963743557c359ae8953ce0b1d63de7454535a0342536e1b22d38b432dd3902c2b3372d38fe35c3dd7e362088ae375a35b3369bbf933404298b340d9031366a98a435527b2135fc892235e13e1e354a442735b9ef7b347bca74349634a1340616bd3405fb1334b2610934809bf833415d1b341eec5c34ad104f34a44d693402896d365b96fa330083fd338211ee33d11c68369e55a63462619f343a4d8634d115613682063835527a2d3569ea2f3555964a36fc70773791a6873414f834374456df37dfcb8334ddc8fe3e5dd9003fbe256e3442161835afdae63eb0b10a3fd75d1b353bee5f342847b83e99ee043f7119b8348aab34343640763ef8ade53e89f511348f096234314d273e7ae5ac3ea3507c36e6a71b3423ee773d52d3813eba1b4334114ca234c6cf8c3ab5a8f93d72d00e35045f3535bb0500385ad60c3c8e131a359af79834bcaabc37e737dd3804afaf375ee34d36f4e18d36ea62b23662d17036ea8e163670162736f57e2136ea3c4036c3c4dc34723b0b35831497347fce1535b0fba336db7aa4361dc49e3637a420376ecd6e3700b28f36990a9b3692d1cc3714a330368b54403676e5323660243a36534c4f3767ca6737656eb1372097ee37d190d136b2d71236af71bb37bae51538f193d334728acc340b8ddf346117d4341e484b36a9d39b3e2f8a323f81a3043645391836f10d893e87613b3fd5de2936c3966b34a71d3c3e42e4313fa3940635839be936afc0e53d2cc7143fed92133760d3b237a3555f3d7417e93e3bd9c83719f12936b8599e3cb32c9c3e91c148362eec8e379b7bc73b8adb103e332dc4370e1d0336ff4e85385fe09a3c96dcc0375da5d73499b33836033ac737fdbcd0345d139834e8b46e3673a333364ca76434dac03c35dc285f351abf1035ce0e5e358da34d37f7e6f736d86bf03503cd363795ca6635b3b743355ad8f534a5a93835e5149d35ccb1ae355d3580353163a3353885eb36a23e9736cd83c1368d8a94377486f234a377d834a3f76b34b084173653b32a3696de3c36bb58ac37dfc204381ad21136bcec3836f83aa836e4078a36e7807534126de63d5e81633f77ce5e34767e91361545c03d6405683fa6b361351ad4a3373731673c28415d3f157c313707f39135c4006d39f021313f565f1c35b102ab350dd86c38b3df033f8b60d43553055d37a2a0e03819b8af3e0e8bad37174e18353dd8933b19c3163e68ff4634f683843683bd89381e3efc3c6cbf09378a4f20367d8c23378043ad37bc7e3936553373344b0d4e3405022a3437594634be89cf3477f3ba34ad64b034b39ed734dd50e033d2dfb833ed8ff033fa2d8534f8e4c33418e7253581209d34245a9234f0009b326c034332721705321e2464324434373449532f34781733344c4d1d34e3db8a3423957b34c3506c34ab40cf35ca0da53474a50735964caf36f19bc137a9c8003701cd2437ac951137bd76aa37f7214e3429e1553a2112803f66780334efc3d4356708ab385efd7f3f359fb234010d80332a2f55382825633f5a9bb3367dc54435b9020c3868ab383f2a948d3492141d32066c4b38914e0a3fc5840b38fbf34f340b588638169ab63efd2c873618bf90345b81243872e22d3e22a305360fd2a434e2b4543846c44a3dd7eb9437f5c72934b4d9f537a15d5938d99b873400000000000000000000000000000000c5536f357ed240359d0c2e35b91f8635c9bb0d366c860d360c1202363c764736cfa4c63200000000000000003f9e0b339e372636b2a01a36731a1f361d82643751c73f36384f493645cd3e36f7768436943970373bd62835df9daf36c2abb0373ba0053643340a368c521d36ab88c5360000000000000000000000000000000000000000000000000000803f00000000f3163535dab2eb36ac3a7d3f72d380372d7d2e363df86c37d559623f702f593800000000cab2f835fca8313f9b9707383a63ce36bc34b8371df2003ffcea1838a4f7773694c5c5369673a23e1ff5d7373a4e6137f76f2e388b27053e39ca3d38b1c80a3624973437e12abc3c2f11cb370000000000000000000000000000000000000000000000000000000000000000099f7c34977e8734fb34953418b89d341a2bbd35bb452636fc63bf36788bf136ba888a3662629136a4d9a636c1cce537f39b2c341ef830341e449e360d64043871913436f3262f36b2a74936a1b33c360b76753641b1753697eb8836b64c2837f58f103608f2f63683b3e93764ef053800000000000000000000000000000000000000000000803f00000000000000009c117e3429af703f3314433c0f5497349cbea636544a503f5190cf3c6bab3137a3dc9e360a21263f371b923ce32bf837b42e2334267dfb3ebfad513bf638a03781aa3336b65ea83e4302473b04cf2a3628b67e36d07a283ed5254c3a8f218a36c148ac37c5ba123d390cc939252b443700000000000000000000000000000000d9fc8635555e2836d0e9d03626e1c3376e4ba332fd293b353f338c367442e136000000008d7f13359969a836e7b9f33660842636b8ce3736b5888636a29b82375967c6358d65a135a864e5355a416d3753905d343c4dc1350a78723640889f37badc133601181a36e3a22e365ef22336ddf5af35aa0f8e356b77bb353af80a37ba7ead3556c04635f3b47d35a0409a35fe808636d6fa733f9145423d62644e37def825361df8553f14b5b83d4d580737e75d5636488d363f6a69ac3d910b0837807b4d367c350c3fa0a7a23dcf844337dff0c835fc16cb3e86488e3d38c36136b58357366b2a7f3e0420483d5a3a243701cb1e36ff39d13dfc4d213dc3a43f36e853b835c7b9ca3854fe1c3c15c9df37fbf9753586948535fb7be0373571c937dc3e78352fe1b935a605c23609ad0137a0e6e73584328b3636de18377ffc3c37e2331333ace3f9328ff82d35564a1e3645978835b1552b367cb6b7368ccfb13790d503355110d73455435a356cf6c9364f5c253669691d3626fe46360bd5823627e18635abac0136130f8b3696438e37ecd63c35c39edb34c7e13b35c5b1b53676fccf35e3f6b635271ea6353156cc35ea780f36a2ec573f238c203ed359e436404ede367954343f722b5e3e50b448377a5f65343fca123f7500713eaf043e36aa779d365accce3e22476c3ef3de9c37d4695535139e8a3ed9624d3ec6a99e36a2592a36486af73d567b343e3d4899368cc231360fdb963a2978f93db08fbc3785f33a35a1bc2d37f8a6f83ab229f137ac51ac35c3e6bf352a2f5f3719eb8a3738c4dd35213f09361279ef368d4f95370000000000000000000000000000000095ff79353e616135833c4935155a25351a877c36e3458a36cf93a336aadba736000000000000000000000000000000009032683619719236ae1bb4366f6c92372b2f2c3628183b365c596336a8d4a236d7978436417d8136663aa736b3aac83665c5d23556f6c935413aab3594e99c35f3ec1c3686e7293ffe66ac3ef8cefa3500000000dcbf0c3fa3d9ce3e00000000e0d92235f020ce3e1559d43ed2e7f234e9be9b36eb84863e01c1c63e84389e36000000000018063e6d2bb13e00000000fc23b636b4d7973ce67c973e07990b38f1b15336dbb4ef370745223effbf033889939136171cda3682b5993aca30d337a8b4ac353f1e97357daa02372188d9360000000073e6a433c2459f37ed8db6370000000025c397358612393699b1f8370fe4e234e0710e36c992643681729f36000000007477d034fb990735e41476370ae586351a1b713529c5863596f2e53715f302355070563457554b344f3896373a93133673dd4f36362887362f75a836d7bb0f3612ef25362b828236d2fdd237e4898e35216335354aa85a35da89b035f76cad342829fa3eed09033fb2048b35da4be935afb4c53e937b173fd54a863697415236e2c7813ef4ae153f6eecaa36269d31350e7df73d44a10b3fa70aec376e1a9735fed88a3d5ca3dd3eadb0393854e9ca34dfd8a038ee37ab3e90c2813875017c3651ebda36a1af263e3796e1365e323536a81bab377f21be3c5f7897385f8944350aadb135deff73387ad42d3845e5b835461bad3571e723360c22d4358d1f5536d9008136d47b9c366627ae366fe9423655834636989048363c6c63365e24ed35ff784836dde35c360d7e983600000000000000000000000000000000c8dd91360d4e9036f4029436606ba336ff6f003549d3f33422691a35f50a0735cf5e69310000000094e02c3200000000f6dd0836db40023612c6eb35ce0c9e369215b6350c08a33e34b82e3f97c2a735b00097360b94673ed0da453f3a27a036c4fc4336b57d9d3d6fca433fd045603627f68a3600ed6838af9d2f3f20f8c63700000000d39a9f369002063f0c36153666c0923626c99e36c95cb33e3127ae36165bfd34af896e35ef8b3b3ee20b8e3764c25b32b4cd5634366f3f3d10624837c8e6ed35e45b0236406c733865c706385fea053657d11d362cc76737df4a3536021b01358a0a7d35a05f6435d6d78f350a958c35b1d96435f22c4735afa5a43582df0136fccd1136d1f3313627274d36925596339cdc1c34319c4134f44d80359f3b7c3610f18236f493ac366c98e73666ee1d337e5d3434756543351a9b0f36e9c60b378eb21837a2fc2c379c6343373dc1a336c2ada736f601b4365704d93683637636c3bc133e56395b3f148c9b355ee9a23552775d3d3fbc713f8cd19434d38b77357f8b0238a5b3603ffb1d6a371a132d36bb38a0364b30343fee5aec3600000000b5df7936898a073f174aa3373caaa536f92f8b373472bb3e03324f387a5d0635196f4c36ddb6443e89a81737343220370bef4837c3e5a13d0a0bbf37963ca336bf64e8369dffb037b8012237ebbc4635ed908235a76f89352c59a33558729d35608995355f939635b09cb93543ff053637c307366a520336d36f2f360000000000000000000000000e1a09369ffdbe35b3e8a6350e66b935576ee335363f403656f03836843168360e4ac5360be863369a4f8d369323b5365eaced36123ca4364970ac3668f9c43669cbed366a00e53699c9ea36c2d3fe3673ab07379e8fa83580088a3cbfd07b3f66c78235dd5dc6357d0f4f3843bb7d3fc2003737f6830a3633e720368af65b3f552cf836951a1034fdff5c36b5e2333f322422382f24dd35137f2436b504093fa8cc913837617736d612d1368440bf3e121d8b38c52cb73660870237070e503ed4bf4d38051fbb3666d200370dfd983dc5d0fa3764c0f83620f70e371e0a6f381cd5183800000000000000000000000000000000e044b733499c80333e9da23390e718360792643665796f36af896436526383364d83fd35bdf00336c4581436d70329361d1335349ced4534093653340f52513498318f365cb79536667c9636a05ba7362d4c9236c3a4aa369a13d0368109ff368f8b863411199a343ba49e34e51296340000000000000000000000000000000000000000000000000000803f0000000005c3cb341eee26364fcf763f99d84b38cb177136c8278036d7b6553f665e0f3a69921636c31d2e36f4f72a3f45efbc3a126656345a594e349a61013f1eac253a8fcd9b36e4c4a336e168aa3e0b8ca03a3dcdd1367e38fd363fc9243e1246903921c8a834ea16aa34489c463df1eddc380000000000000000000000000000000000000000000000000000000000000000d65a0733b2258f33590c0d34d6310638c8ecc4341cc3ea34aa9f0935e66c03382ec9cb322f31d6323d8dde3271fc1e387b74a73452b8aa342c91ee373f058238c9e4c63587e4e935252f6e36dca39d3645988b35ba073036947fe53787312a3884903236659c3336da740438ee4f4e3800000000000000000000000000000000000000000000803f0000000000000000b6a1dd3306a8633f2716463ddcee4038db060035377e403f039e413df42bc13715e3d5321da61c3fd689283da465c637421d3e37a704f13eb23acb3c0c062b3862a53d364451a83e0570933c1d32463646f47237456f423e7e80593ccb670c37eb3aca3723567d3d89f8523bb066f13500000000000000000000000000000000342bc8339098f1331673923580e09a3897e3c234277ddf34903efc35a97cf73702e42a3696857f36bc13ca36d49d2f38884aea35473a183688519237982a4f38b113eb350840133616a80738a5fe9d389265813608849436e5a1a5360feac437113128365348583643dab13703f7493803f51e36d83424366b2f2e369497d237cd9eb135eb1ae535e9281636a71e3f36ed6c033493186c3f65a16b3d24f28638162b9235b8634d3fcfeab33dcd25673c7d4b9a3605bd243f58d1053e073c3238bd9334364322003f5226083e884c253821afb5369c2abe3e65e1ec3d19657c3872189f36b5e77a3e9d1ab53d70a60137a5d53537a41dfb3ddcdb303d58aea837f1802a3608c854385a5dc63c312b42375cd0fc3552492e36bcd9cb376c94593841fd24357717ce35d2d99636b93f5038a9a20d3616724036aead8e36e92b1b3811834135a1f7a735ef560c36034bf63704096e35b8f2db35a89f2f36bf9a46373397a635ab86f1352989bc37b6e8813818b08f35ecdba8350ed49837a39e2938fa4ea835dc97a93524002337c98def3709d724357e8b313574cc313593118635d689013547bd5535a3605d36ec96de36143e2136eccf473fe6ee503e3950323860746a3652a2263f4cfe833e0f9555384c3cd1353715053fa443863e6db4f9379ab91536dc94be3e068a833e2e8fe236059015367c2f843e576a633ede6d7a3835bcc536f00cea3da742483ea21a0238b471a835ee7e083d2f57123e3be5453897892f357bbc9135d29d1d3c817f0b39820bbd35767faf367304c2372d075638226b8a357262a735a87ec33731c12438dfe95134bce17434594e1a35af56f83747845e35ed5074351c008535c722083801b56a3502167a3537cd8235ad178a37002f83345af8b034d5abc0355a3064385b5c953596c19c352992df35e88b7637e339db35de4a0436ac1d2b3625e2c83749fde9353cee16366e274836843d6e36e0db5d35e75bd535e6ec9036eb19ea36daa70c365ecd213f9466bc3e1fc9bb37fd948f348393003f05b3dc3e5587e1374c097f35b59cb93ee413da3ee642173859588035d6ac7b3e28e7c73ef07a9d37995c0f3572d3183e8dd4af3e24129f386596c235be5b7b3d9d26893ee297253882c819362ef9ea37b3963b3ec2e449386ecc3036b1ec6836e04cc13ce00a313acfc23436da24c736ec869f379d86a5385ffa54353a996735963e7c379015e7377f7d48356e8e57355a1d0336f4701a37edf5f335af7a2e36844d9c36ef0bbb379a66c735ac950036856025366e0bca37ed5e9b35a16fa2359575843756f674389c900f360b1d2736b55a3936cfd4d1374f1a323647774836a3e193367d8e8a371a9b6235a3329235e567e535d0761936db282335b65a3a35dc5346350b708236baa4d335451bf73e5b72043ff78d8f36d01eb135b09bb53ebd82183fe1c31936ffdd5a366a52743e73ec0f3fb5a6cf37ec971536855e0d3ebdd4053f3594203848f1f735a2ffdd3de396c83e9381a7385baf3136c7bb003bb2bcac3e203233388d82633642d59637565e4c3e522f25381839b33570ff1336dc924c3dd4acbb38bd0e3c3509265235ea520038ecbe27388ee39d366f56f2362aadc437b1ef02387ced20365a064936e9d67736a2d1e4373760d335cc760f36d48e3936bdfce6377119af35a51cb635b5da0036dbb54637fb3f1b35713e30359ceda4350b464f38ed058a3556088e35bc3f8d35f5f9af3637189935c5389a35e225993542a466371e3fc9345c8b2b35dea48b35401f9037eb8af335f3100936ea3947360161aa3776020e37cf45ab3e556c2a3fd01ceb36b7355d365806593e889f433f44876a36573424362abdba3dedd3393f1e3b08383157e8350437e63c4494243fad93163868027c35b9bb8838aaf3013fc70aa838b61d8d351263d8363363ba3eabf11338641e9835b5db03377dee583ea9f6aa381aa24b35b43a02379f6a893d75768438b7660f3668d22e37f4ae403838c84b385d7e0637d12ecb37c39c493832e12038aa0514356a441a35348ba13558addd37b39e8e355fd1953567be9c35cb1c983726ff18357fbe2e35525c4435fc21403771e76435b8b8b635b5450936bef41638766e8935a955c935d4860736226b3136533207369ee7093680f21636731ab3371773973600da9c36ccbfa63606a7ac36a71765368cdf7f3608d6af36fab6e037ddc12738e8803f3e401e503ff3c5de3601718d35c4457a3df0f36d3fd8f08935bd409a35c912e23777ee523feb90913819833c35a9a34637d699303febb2e939951bf535cfd00f386b18053f2a8a8739ba67f535aaa82a36c1b9bd3ee6f02f3a93db123662809a37809f5e3ec9e7723a1cbea3369db0b036c0a6bb3d145dfb386e0992361279313776e3763c41249839d9458a36a8ae0b3720792538932f17386099293516f873350767b935a4d3e2352312a2340e2135359f8f9a35a1053a364327033636a52836b98c5936ca808d36cd5cb43514ccdf35cf6e193654c01138483af935424614361fca2a3691cfc83738b1a5369e4cae367de8cf3682ccf33731c33d36b2084636cd575236e367e1374fb0ae35c97da835e8ac4b3614e1f437658a0338ae110e3d971f773f618c4136aabe9b35deaff13535d7793fd51051381e348135dcee0c364958533f6891123c26464336d3688636ce552a3fd78bcd3a339af5350b9ec2378b1a033fc3afa43aeaec1f36f98b7c37d967bb3e2862503abeb6bb36d8c2b33778df663e96c52b3a2df24c369dc29d3726d7c33d91a4083a6d4ce93585d0af3734b3a43cc72df43800000000000000000000000000000000c454eb34af5eff34595469351703cf3586a92934ca1a3134f20a38341c102536ba8c3b35d315773544dfa335aeb5193631b99a3454a7a4344d89aa34cf7dba371eb7f83252ccf9324d08f832e48e403627ca3c35352f3a3532d53e351e824935c8b190347b71923452468334cf5fc0370000000000000000000000000000000000000000000000000000803f00000000cddb1735f56ab0352c1b693fd980ca3cfef83434d7ef8e35d567433f07780b3d0ed691358f48dd35c73d203f13dfe33cef80aa34ee4afd36b59df93eb4ac8d3c0689f2326af1f132d5e3af3e50d0753bdf6c4035fe415b3579c74a3e5a10553bb2f888342b82403786827c3db03a7c3a00000000000000000000000000000000000000000000000000000000000000002eca8635df8e8f357015a035fc0d973508e14132d0e9403242b58f32e6421a32755edb345a868334822f3135620e7835e6609c35532e9f354816b535c788a6353457dc3114d8b4315f6ed6314112bd311ce2bd3438d3c5349ea4e7340cdace340b804c3555c84f3599707c35e05c683500000000000000000000000000000000000000000000803f00000000000000005b876935eb51793fb4fb9635d61698359df15d328199583f3cab8537d2b2143163143c358604303f9a5f3f3810d0c535c92b88350669033fc2c32e3814e9a935df8ac53156c2a73e3d88d93567aba33116374d374b7c223e7483d237303f0a35d63682367397043d6df78f37b7d56b350000000000000000000000000000000061f6af32272ec8326b48fe328567cb320000000000000000000000000000000000000000000000000000000000000000531925339b413333d97447348539213583a06d3319fc8433bd4e9f3317558433d4295032c93333327d63333241a2e8311c041e35616add3449115e35d8108f357f5292334d8e9e339906c033e7e29d3394c26333858b2e342dab94337dc7dd33155fcd3222797d3fb6749e3cc070d332000000005b76633f35a1633d00000000000000008ddc4c3fec7ecd3c000000006cd29933aa69213f5650c73b98615b35a81485334924e73eec6bc33c35128733ad891632042c963ed0055e3bb721613010d47f3306d9063e0fe0503cd2a6c23505639f336f05913bfb587d3a6b91a4335ecd5234e028a834530cf934b6a78a34d05f2834c6918c34aef3f5340a6e4635dd120435782f0c358d88283571b240359ba6dc333f59cb33773600344d7334341313eb337c0c0a34e7f32e349d302034413029354f742535acf1383579185c35aae7ef3340eadd33d576fe33c78b30341a222a3380225033f1348533d9847233e85f8334a4868b3403bf9d34afccd33470a4dc337eb2f033d5cbac33c68dd933fc984a348148643ff8e2f13d1b15ca34e91f173519db503f2b7d293ed5663a356356ff33fa4b2e3f768f1a3e69473b3751f71d34c7bffe3e0a55293ea0d21f3413ba31351f69ac3e8107163ec02d4135e445fa33460d353e953a0b3e41521634e0da6e33956d503dcf1ab73d68ad7533852d93349fd7c734cd0faa3a8af6e734538cfa33bff13b34a8184334aea40834db6285334cb38733e2489833be1fee3388615635d9435a3504b77335067679358c9a4b3458c43b348a8f3e343c513f34953708347f900034abd60834c1200b3469f77635a4f96a35fd087e35f28889355eb570346f2b58344336533415335c34f490d63361ebd033a61de133974bdd330fb04135bf7a3535cce836359f0c403592283035a504ca34fd7467344edbcb34866f2b3349b63a3f1270903e3b77193471cb2135b1b4233f4f89b63e4e0b6535e4f12c34a914033ffe07ac3e07213934e4ed00346350ba3e9827a03ee89d1b3445b862351dc2593ea8f6923e5a648535acb5443482fbad3dbc27693e2f175d34f7b0ce3330e29d3c8ee2f03d494cf2336b6d2b35b7a92137b0b21a3b30fe4035c6c668347b9fd734ab64963519bce5340000000091392c3500000000af91003400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070887a3317f3b534b82c4b3500000000000000000000000000000000000000008bcb9b32667f5a3075fcba300000000034ba093fa2f2f23e0000000000000000be84f33ef5c1083f00000000000000007159b13e621a073f0000000000000000cd39553e06d6f63e0000000000000000e2d3ce3dd390d13e00000000000000001b2f453da55a8f3e00000000fd1e18368fff953c8f7efc3d6eae2c3500000000d16db03792fcaa3b00000000d1028e3356833a37918930370a604334d02d9a33a8abcf36675e8b3491020135c31d04356b7f073514742035bc2730357209c533dc18b533a6d9d033bcf70f347387f03366fc09346fba29346c5d1f3455345b351a035335f8136835edd58a3592f53134ae7427340df8293438884e349ba3be338060ea33dc1e1234265f09340ba1453581e844350d143a350dbe80357eee5f34d0d0613456432234de9443343fbf01344caaad3efb0b2d3f4cbf0f34fe970f35182d983ef1fa363f86421e35bc89c73320b9333e4ce3333f310cf333fd6218346522a63dcfe81f3f00c7223403855e358321123da688f93eb5b889359ec91d340942ae3c4d6da33e838a27344876f833a970b13cb020153e68332134a32a48351e2938379d80943c4e4f933565853234dc4faa36b6f63337d0734a34e58ad132cddeb632cd639733c9d4d933c9378c34292381347e4fa6344768b834c36dca3331d1b7339586ad332da2af334e1307347d56013471a6073466fc083422814935cf023f35ff2840356d855035718d8134400a6834db2f5934fe9d5d346cc2fc33bb590034fc4a0f34a3550c34f6c84c358ea13f351c3643358e61443541778e35415f583551ce0e3564742035d19be332e450263e4379593f35fb8d33047b82343f72083ee32a613f8cc496348816a2330193033d113a573f5ceab6333d6501341ac5a23b55d0323f7bfd143479633d35b573613bea4b083f5bc2583515264e34d8673b3b741eb43e41366734793903344346b03c6496223e8b94193459343635d161f43a3cfdfe3c9ec950357e4918354813603814417a35872c4735266be1354eb138374f6fd133a6006434144b8433ba674c3307418633061cab3371fa9f34c3be203357615a33158484330d949a3192f19c31385407315d87b73191796033e7a728331db55233869292335aea2334e721f832d41a26332c664a3300000000000000000000000000000000000000000000000000000000000000007b77ab32951e8232a606b632c204d73238c10537beb22d3d59f6773fa7701b335da18f33f106073b28a97f3f9977d3332ee26d33c4c1003779375e3fbdd91735d4c10c30c43e4831d537373f1cf64e32bd506e336ae06033b6680a3f9446b1338e92cd33380f2d397267c03e0b344b3400000000c88dae39a7173e3e3d3222330000000000000000fadd803d000000000ec5bf320bf3a2325a2072399a7d0c33000000000000000000000000000000000d604735f3812835d7643d35a3588335dd4cb734624498349575a9349e06e034b67395311dc1a0311c439c31635fac3195425d3575bd4a35f5654535a82ec1359690bd3542b08235a3972035bde9a83500000000fe569c30f7fe6e3101ccb331499b5435a5e04a357c1d473569d1b1350000000000000000000000000000000000000000000000000000803f00000000ceb34835e4d0603513897a3f0fa17d356100bc34a0c7bf3459455a3f34ee833659eb6d3150749c31bb4c303fad7bff31b2465f358cc4743577b8003f28c1da37cbdd4b35e0fe0337c696a63e16fd5a37000000002ce0883663df263efb14653587fc5735167a69357148203d344ec83500000000000000000000000000000000000000000000000000000000000000002a665a3572a8a635cbf714365e0b5336a4e0be33220efd33c784de3455a173351830703498b23d358855de35cde50836f3f3f7351ba21636a3cd2d3680b3db365d1c6f33d48e8933ac94b333eed4ad33b2caa3339a891934086e0a35e5301d357fa72f35a8967535e254073915f37d3500000000000000000000000000000000000000000000803f0000000000000000b512283654736f3f91d0003d9b5f7036e9c3ca345764493fa559563d295da335306902367680203fb02e603dad68d035cb9b403627d9e63eee0d8c3dbbc54436d231a4330be8973e71b4713dd2b8863457fd6a352a282f3e34fbae3c834f88347cbd9235ba93083d03fb493c0c3285350000000000000000000000000000000012bce633313b1434e42093341ddac63463b112355305193597313d35206a4d35d4d2e23375defc336deb0b34399f1e3461f93c3473e64c3440b972344ca696347682c935cdfec735d89ed5356052f03594f17234a5da853456127f34dd02a6348622a63314f4b533c38cc23310d2f3334ce15735bd93493573c94e35917c5535b045a833acc1b6330cee4334a6628c34e6352634b1c3733fa1b0553d65685734e4de28351137503f8f5af73da49c4d353d880b34d1ea2b3fe8b6133e84bb1f34cc666134f048fe3e6881363ec8d3ab34c9e2e235f690af3e6fd8353e0face735616b9434f125513e60fe163e4546ae34bd0ebd333db3df3d1e82633d9e25df33d07e5935d09f573594b9a63c72994d352a7d393469d241341924e43657a6c436a6c5d331efc9253200135832a074493200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f633bb31a3d13731df663a34567cd334836ce834a07ed834655c1835000000004a22713208ccab323869bd327f0583330550f5339c6bd833497e2534814c9933268cbd33e0788133012c033418c43d32205b5b3fc51d173e575f3c3200000000ede92f3f5070803e0000000000000000c135063f6924a23ef664943200000000f7acba3e6669a53e000000002780f733c8b65c3e48fb993e9ec76f346f1e0235c296c63dfb82723e5c1128355f07f9322c50c43a01f1043ecc120733b1e3343427415d3496831e39e1f344344709db33093fc0337b32ae33bf6b1634b99b563258efcf324035fb32a8714533f3b9ca336eaa5e3432ce8c34ef0e8c345aea8333261fb8332ffb02341f260534215517341e6b3934f5bd3e3433fc6334a1ed2a35fdaf9935f248b8358b74e2350aff07340d530634705619345f791334000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b9ade7320e30313fd13ca13eb1d30e3301528c34a61e073fc707e63e6a5361348d93d73343bcb93ea162003fa315cc33e33d47347414633ec694f63eb63e7034eb2dca35f62caf3d343fdc3e426be235dbb2cc33fd92193b7a55a23e1a17eb3300000000249224331fda0c3e409213340000000000000000fa95103a31aa423400000000000000000000000000000000b0aa253400c8b9339453b2348120e034100ee134c1aad534744e013578ef1035dfcef533f71f0134ba1d0534a98d0c34882d6b345b36743484d189340e7b9f34cf92cd3557dcc33582b8c035bdbec9356315823451758c3461537c341fd7a334c0d214340674163408911c3483491a3402f903350be40a35d71f153513091c357527943302bbd3337b9966343fa29c348155a533e80c043f338efb3e808379343183da347ab3bd3eff60223fdea5f334ca980634bf8f5a3e95e72c3fc1820734e9548234cabb873d1f85213f2deaaf344d36c7358fafa03ab58c003fe2b8c535d2cf9734bb418e348ea69f3eb485ae34c1951b3480662c34f11cf53dd35b0237a6ce0a35514417350d87de3a371d28352e99493484375334d67bd834cecfda3400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037602334752f0e34a48403344b0309347e1b61352dd6a035cca4b7354700e0356dbdf233183e223484a4d633cc0c71344d0e1134bb3e183488a1fc334ba20434d4a83d342e388734485f6734a64289340000000007da983200000000e1ad3d33000000005309ad3ea9372b3f0000000000000000ca6b5c3ec86c4a3f0000000083997734206c2f3d3de5533f98961834457a2634228d0134a7d12f3fba292a34e03bc0352474f235f22ffc3edf1b0c36a0da3934c29d3034f8269c3e9e8d3235a6d41f34831f12348de0123ec1e438366134923449f9a134c532ee3c2a920635b6d506331f98bd3256c9b5317bfd8f333603a433825cba33004fca33b6eefa33023a213342b71e340dede633e0c6e93300000000000000000000000058c4ba2fad1ebf34cb55d33431e5e634801e0e3500000000000000000000000055b45b330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009fc833314bfdd131e553e3316d4f0732382fc5334285263e71f3573f8fa3f8335b511e347e8a743df902723f9e75fa33000000008bb89a329fbd5f3f6c05f73125dae334c2921335f5c22c3f67f82d350000000007fa073471e5fb3e5378c23400000000000000005a3ca43e0000000000000000dc3652327f4d2b3e2cf859360000000000000000ab018c3d000000007e6e0032d7603e32d8e5c8398b3c0c3209b33734a4908e33dfe996379f90c934e3d22f35f5db283548623135b77b43353fdb9b33fc4aa033f4a39a33ca1dae3384a46434f13c723476fc8634b5049f34fc80db3503fad135917ed335fc8ee8350b9365340a957f344efe613428bb9d343b761a343c971c34e1c2233481612c34fe362735eff02d3534733935629944359fd31d34f29b193451821134355b7c34b8c23737fe38d33cf8e67a3f0f647834b12d2a35fb7c3a3561a97b3fb5a04035cbcaae333b51b1333ade573fa831453773678034d51aa434d1c6273f8be6d238c408d0354d6ad5350531fa3ea478e83777468f3406048234a692aa3e8af72d391f0a23346a173734f4b2433eadb00a38bb05313526733f353c16923dd773873550c32c3403d62134bdd71b37f638db34000000000000000000000000000000005dd80635be4a1f35a7866535a90d9435408e8833b4ce7333acdc5433a38c8e3477c9a033794ba933b640a233b889a83318a03d3674473f36eed73d362e785736096e6d35491c1735d2ce4235e301ee353e21963512c47a35d4d1623525958635a93a20361e28243667f94b36581b70360000000000000000000000000000000000000000000000000000803f00000000833e4c3566507935a7b2753f1d38eb39f16f8f33d2fee53353b24d3fbc3b1f3c77daa333da2cac338737223f9248993c8c723e3610f93e36f914e83eb3a40a3d955e26354231d5349703983e9ca4ee3c8f93803580f99335dbc72a3e7d27893aa6ce1d36e62654363869193dfc2d08390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d25b0c398da9a6357fbc0636f681733668426938975e5d344698b23494136136b7754638000000009b364c3413b73238807a0f3963b4cf35205d0536850bc436fab63b38cf87b2347520e334bc1cb5372a3b5c38f7de3d35c8861e35061190384e48ef3800000000000000000000000000000000000000000000803f0000000000000000000000000ad95c3f783a9d3d3d5d733865df4c3686ae393f1a80cf3d069b2d3843b1bb34b041033ff8c62b3e3dac8137c2e2973480feb73ee7cf333eff592638834e2b367bbc643eae431e3eac002136fac4433697cb0a3e7f0d403d815de5362dbdc137881c273d64bb083d2a4e403300000000000000000000000000000000b1753934b5660d355a1cf335a878833840015c3432e3a0348952a035ee69863810d09635f38806363b7e6936216e7438a93e353467f33a35eaacb2361fa881380cb2e5345a08a7342ecc8135d65379381397d635fc7b13363de0a237e3899538499c5334907e15351137b73780297d3855eac434b0575e34ccc688347cd6b137bfa83d352b365e35b8688735025bcd357fed7d3534f8693f477bb13d35105c3675a464356253413f7eac083e4c866f37c6e34136d23d123f93e18c3e911bdd37d1e59d3529f9bf3e0cedac3ef0c47737af99313536d77c3e05b1a83eb57a51372b9c5236c956053eb193793e0d07923761268135dc4eab3d446eb53d3cff793785e85234000f8437f791083d50cec237e0364f3585939535314ead37c778393a000000004b8bef34819d3437fe3f7f3800000000000000002e1e133503c6913806c0e533136a03347299e9346669a5380000000000000000a13ec636607b5a385616923429251c343b53343505792838279e82342f0cc03493bfcc376741c5380000000000000000d8f4cc375b3e8538dd1c543572521e353ce71b35537362355efe19320fd94c320000000082341b3488bd5a35b3414f3f7852223edb18b137000000007edf1c3f79399b3e8ec3b5371f3eea33eb7bdc3ef1c9e73ee7f8ff3600000000bdfe863e0285f33e6c5e443795e904354d760b3e668ad43e863c9e35aa7551354485883dcf49993e2f3d9b370a2cc0346846973809c20e3edeff5538e173393567755f358895d338c5b5493b000000003057d5339fd9113539db8d3c73b1c734750f02358001cb377f93bb38937add3431eb20355caa113509e5f0385f43b233194dca3483cc9537df3d85384025ab34eb3d0f3570eefc3614cc4c3830c18735cbd8a335d1faf63543469738c223b83325e03a34fb5920346a0852384ade8033644f1f34411df4332d5bac34d12e3b35f8ec6935e1cdac3535090a3619b09a3546d990359a20a035bc8bf435a4e50b35b3b2233f262db33e55526837b0503b356197e93e88b4043f1477dc37707c7c35c1d5873ebfc7223faa8ac237df912d360063083ead7f1a3fd35edc363feca735381e213dafde013ff6bdf43474e83c3410138b38a6b9a53e0ed8663808d62234f6f195343d26a53dedcc0d3cd6737e355796d635c3194c383d80b13c81cf813568559f35a50e40370f6b153a91418b352743db35c7147d38e97fcb3842a82a35c92cb03586ecfb35a9a5133825179a3551b656361280f136f4be183883a99d35afafd03532b38a366269d63722d49b34d09b8934999d063597b15837c6630a3531c96635769fa535eab412362d6d5235614b52354736c2350b415c371aa23235e2e30d352cbe1f3583f26b3509c3cb359240e2354a080a369ac433361d110e3695e6f63e38a9013fd4e4263670b0f53582019b3e6ffe2d3fd5b44335cf459f364f2f093e3dc7473fef388037c05d0136bf332d3c988e353ff20b19364238ee34614a8d378549003f217e0838cb9f983561d5fd35d9b0863edb44a33cff379435176f6f360fcc403da99f293d4d870b3567ca0835c41e32385907a83cdd35dc35da5c1036c1455c38adab683cda6781357187bd35ab481f3838a04038e55feb348bf59935f415a837ec574c38335e11344bcf1b347ca5d1339a38fa37000000000000000000000000e155d6376981ce34efaca034eeac8134d0a4f7340000000000000000000000001fec2c360000000000000000000000000c4a9d37a7b2bd34679c9334dbd98134aa619f3741eac934f3870735000c32350e908b367e2bd136ebb9ac3e33422a3f0b08c83515f9c735e4d8233e2118523f2909f7350128b0334af9e63914a4693fd12d233600000000e612f337b6b42d3f2d499a38ace2bb34198d1235c436dd3e1dfac53cdca61632ed740736fd515a3ef25d5a3d0000000000000000bbe7823df6591a3ddf59a834acd5ec340676e93b7bb8b23cf51f1a35eff40f365a2fa83856165a3cd89d273530bc3d359f8e083d599c2f38efb1d635e40be03502699436fd3d8e3800000000000000000000000023f49f3700000000000000007ba4993489b79c356f3b2f3543b346355931213526e8923500000000000000000000000038a37136a3dfde315a1417337013f833894a973500000000000000000233a23417820037822c1036058b0f368f0f2e3614e0093785bce4375212053e0a9d523ffea2e4337a80e6353bcfbb3c20cd793fa60a4d3500000000525883372fec5c3f11759d38b2cccb33e90d6935c3b0193fd5ba153d9d4b4335e5f77a3554aec63e1e2f833d000000002d3c47347571553e3bed623dd0f375333e90a9347570bf3daeb3e13c0000000042bee8349e4c883df6a1a53c8cdcfd35b42e8e366f09ee3cd836a23bb61a8235c7098c368e3197387d05a038f5f2ed3362593534e84f39346d54a934d027ae342921bd34a31ed234f2ff973585580135d9c00335315f9e35c0ff2736cde658345e92dd340f9e3935302a74359b86c834fecc4235986985353e9eab366c1b023617840336287d293635089c379465b234e95295343b50d634b0746235fce1a435921cca35a3c4e235a5260836f8ccf2370db8273d8dda753f32fac4358d428034b4a69634a4e2773fd9e82c38c6c0af3455a67e351fa0463f85e65f3debc2653529a8ea35a8be093f2842bc3d5a232035a6378235c9b0ac3e17bab83dbf7c5335a8f8b1358b20553e83c5a93df7731136f2b0403634e3003e6e6e013d4c14b4345958dc34c574ad3dfd75ef3cdcddc23531d4e935474b72381a2a113b00000000000000000000000000000000d165173352961533a1c41e3348de22333f28f033d81ce233887ed633144bff3332685a353ccd2e356ef72e357abbd135000000000000000000000000c5cb9a37b332f23488edf334013a12359883843673156c36d6e64d36e8b54e36f85df0370000000000000000000000005b0109380000000000000000000000000000000000000000000000000000803f000000009bce26337645253378ed613f39393e3d56aed73327c4df339d123b3fc191b83d4be934357ae08635906a033fd407e63d00000000000000009b16ae3e94ac043eff56183538d25735c1305b3e33fce03da91e4f366dff3737d96d003e8a254d3d0000000000000000dffa2d3dd507aa3c0000000000000000000000000000000000000000000000000000000000000000228cac367438a83664e4b2363f68793777d52337ee1ab736f3c7e9375e2c1a38028ece355cd3a6344a4e9337013df4375ccd7337dd14d9362406263817a8a8393751b237ee23853774210a388ff01d38ee7aa137360f8037ccfeef3771cb0738cd907b37d31d493700188d37dc1a873700000000000000000000000000000000000000000000803f00000000000000003fb5aa36d3f17f3fdea7eb37e3472337575a8f376db0543f93fc4838549e0a387a331037acd7293f48c33838e82aab37f9dce237f9c8fb3e7a685a3a23aa2438b312e1375efea33e0cd40a3ad33b07386562b637741e1d3e0ec62f383fedd6376f0b1d37ed454738404fc9373cb9523700000000000000000000000000000000a12e183693841536f4b47036df3684377c686536cf8c56360c42823629005837c93d503661ea2d36469e873660455337943a61368b875836458b04379940ed37b4dcc6362f2b6636f20065371c28073848d03036b7e699359f110f37d65fd1377dba8134dee17f3443e595357c63a937bd9670368737cc35b6b2cb36f8a91e370923aa36b3618536cb87b73659c6413798111336f2f17e3f64ab813b59686236f3145b3620c6753f8caedb3cbeee873690284b3686624c3ff301e93c3d68c0360b6e5e36d276233f5972b43ce7f07a37c5de6b36bbc1f33e9c658b3c72e68a379f3ddf35cf5aa03ea5e65a38367757372d377e34a3561b3ebdca723892369a36d56ec635db13c837ed6cae37ccacf8364b6e68363397dd36663ba337646a5137d1cb9c36f99b9e364190a937360bbc37df5d80360c963b3663684c37342020387ac6a7358a1a1a351d41a836992c7f373a236d3568864535512ba9364b2295371ac5a136ee109b362ea18e378a89133853d330370b7e08359cbd9c373c85eb372e75f336aedc3436528a7b3708e4e7374cec53362398c6359d99b136c8169c3742408a3725c53837ea78aa37afcaf537c4a39a3687b2533f5af7303e1076ce36bf543936c7694d3ff66a3d3e3bb81b3762084c359806293f30c8313e7eddf3369b644d350de00b3f20e5113ea757fb36a20d9d364888cb3e7bd3d63df994b437e6fab4355989833ed20d703d48dcb7372abccd35d0a1053e696da23c31898c3772f1be35a37b273873a26e386d12b9367e5dce362de6c2377f2032382e08ee37d88a3537ca4d6437d2531c38cc961e38f13f8b36839d2f3623e25b37eaa412388a7c3d343d7e33342a81783730110938fc5768374a41333596a7ee37baaa46381baad2363b4db336785b70377e40183825e70d362aaa82344f638f37df6d1b38375a6d371c69a936c25dc937ab1931385437cf377b2078379a93f53715402538ab9dc737c56571371700d3378e2d13380d460637c53a293f5862ad3e3be09137eff301366b3b243f0cd9b23e3c410937507c3a3496160c3f3b14a03e2baf97372ed68f36d775dc3e43cb813e8b070e38a6cab3369393a03e95b43e3efe119837bb4a84347492483ef599f53d59eb9137bdbf24368c63ac3d5f03673d0a8dc73759a6cd36a4c2493829258c38ebcfe637fd8dfe3616a6ea37b55b4138319ae63755dc0e37bd9403376ff6b437d267c637bb311536ccae0d36104913366ba09e379f24813626070c361707a23620dd0238d3c82d3650101e362ca72a36c60ebc372d255637583869360dfca03741895838c7e74a369fc32a365d03433676d3e437b14f4f37ea74b03676cc8737e9dc0a38ed4e4b36485d1e36d8d52b37e2f0db378f189c37ad3e7d3718709a373afbba3749598c3639f1fc3eb276013f47b2fe36dc510c363e43f63e66d1043f37ba143654b30e365397cd3e5c73e43ebc0d9b360d2d1d366460a13ee28cbb3e75303636b5ecb136fcee6c3ed078893e3725d237b6dd2b36045e083ea6a63d3e3c4147366eab9d36fe43573d95e6cb3dc8b67737c39b1e36274106387713a338bb699f367a4f22372ab38a378b0cfe37539a99379612103756783137aec61e389f831e388b94ba363363b73675daad37f11a1838d1c6c636bb4677352e2b0d37d2a11e38f187e7352018803426021b363a571a38cb787037e118b83648f93a37d1391b38ee6711388003c6378ac30738a2864d38e642e3374e858f376a82c937f75b0f3823eb9a37776e6b3738e89037f6b12938d0210038a81ad637877a02380ef61638d731e036ba12a63ef4e22c3fab4ec736d209b736ef18a13eb15f2f3f8aa7b93640dcc035e766873e8447183ff0daf536f7877f34b31f4e3e4132f73e1803f236b9f1b9365f9c0e3e24b1b83ea35469378555d637877a8c3df3ee7c3e951c08385b038337a3d59f3b3c570a3e3275ac37049b40372eff2538fe76133c63a57c37e416a0378abb003841a83e38a79203387afe6c378f705d37eb790a38fc69143846fdbb351050ad35b98fb035ebc45437be2fd23620a958342060c935b203b43719237f37e1ce0d36a366bd36d003e13728158f378ef29f361e4306378ea51738840e1637c63fa4360c32a636e4f795371f473c37ee51d136e637de36626e81375103d7379c953637d120a0374b5d35384c2b80378ff020378d3f67377d3d9e374a1333370ec01f3e64ff573f8827c83639aab035b9761b3e3919593f86c8a3359caf07362a270e3e03f1353f007c9f366fc1013705a0b83d661b183f66b05637474a2137d9c1773da2b9df3ef1ec8a375105c436c8849c3b3dce9c3e62c4bb368138cc36892fb537e5f5293e2240dc3669be0d376ace143870a14c3c61b85f37533caa365d516637d3a4f5373a4e4437484fee36211e86362f100937d5d88837e564d7357ce7c135efe3ac35b19e26370fcd7e34367d803487467734a9e4fa36df7cee36c3c9d235dda09735121884376bd17e37a62c0b37ac7bba362c59a837bdaf6d3776147336ab007136c0f7b93750e6013775d38c3667ad823607a257378ea31337cefb8736def29936d92a5b371abdb9361b867f3649c18d36fc53df3698bfb23646e4203882f57f3f80af65361568ca35c484163895f97f3fe9eaae352aaf7d34c9413c383b1d593f3fcf78347ef962361cea0f38eec32f3f9e68f236b2d345373cf70e3906b2013f8bca70372ac708372ff2133863b3ad3eff0a583769a598365a386137f042313eec8dad36659287360b60223776d7553ca05783366af63436a51c323650ffa8372f932d36000000000000000000000000000000007e481637999d2536144311368836a33730d2a4371b8d6c3636b0c533099ffa37f0ebf937e24f723726cc36374c1a24383f091b38e809753787ea44378d90c839e8aaa33760272437000103371cd4d237896f0d383dcbc837a0d4cd372c1921383ca375371ed5b636a2b3013740329d370000000000000000000000000000000000000000000000000000803f0000000071d6af360acc54371cf17f3f8bed8437ef2b80377d12e43702a7583f653619381cf0d0377c27103854b72d3fa583733933d5e5376a522a382785013f569a0e3a7ea07c377d9fab37df2eac3ee2950f38ea47ea379bf20b3808eb2c3e340e243852c2cd3699682237fa883c380a4b883700000000000000000000000000000000000000000000000000000000000000003e373e36f828a8368f3c2c3831323138b989ba363aa119376ab90038dc600538adf0b935756e1d3723d1d237f3d2d537c5dea4361eaf04372385073881dc0e385a81833669fd6837bc9b163806bd19384633f2367821813751242f38a8982738b9ebb7373dcac7374b9f0a38d791053800000000000000000000000000000000000000000000803f000000000000000046f55d37e1a1703f46e390385a26de375307a03794154a3f4576b33920d5ed371bb08437454a243f47280b3a1ae8b7370f9e983760a4fc3ef66d2f3a09aaed37596db8372662b03e25a21d3ab7fcfc378761a43711344c3ee4a46738cd55d137e11abc373970403d7ba285385d91e337000000000000000000000000000000003c30c834d1cd1035b66ef2378f1add37b629b034fcf9ba349457943739debd377cff58355e1f6735107bd537d503093800e1c7351a3bcf356173743755dafd37021c9235e5073f36e104083808142738085ac73583b3bf35244cc8370c3b2939f814a8362e25fd36bc00d83810bedb39cfac1e35d0b91c35fc3c3437115f923731efb136f2586536f43ab437307ef83723e94436fdf86e3f45c9873d11d671375c95c43449a7593fa2a8b83de5c75d370fb2743526ef373f83b29b3de6d9ba373fd5d435b300163f37178d3dc1618e3729541b371c5be83e644a793d372a1038289c3d3653fca23eb3ee243d0995de3778ce5237aa363b3ea15c993c3a6b163962941a354176333d3712e6396abd573765c43d36b898c137cb662c38fedc0d38da36b13646552337c7d3573884cc37389c3aa9361d00b3361c3cfe3720681638f1ce13368c5d90365fbcb13723e30338f80eed36922cef36bb6e2038eaf1c939785966367cf6673613419637279093391a95d5356d88dd35de8dab37a7d43b385ff2293799dc27371f84293881813d395d5af3362f6eb336600efc37ef9d9a3916bef534f24d3f31c23f3f37ab1aab37a8da2d37eb35493f8fca5a3e502bb737b595b43629e4383fb0a15b3e214aa5374bd8c336caba1b3f9b7f4b3e37c6bf37bfcaf0366980fe3e04122f3e44ad5c3815d0683699ebc03efaa0063eb6f7bf37672c2b363a87833e64c2c23d9a88eb37845c273780f5133e2f0d693d07f63e384df3ad36754eae3cbfec883c9894113942ce3d3110264437c5bd0538ac36d43726aa68348291a5360ba7fb375e04df373d1b1a36d2df34363e619b37b5c7ce37c636f1364f60f63620faf7378ab46a383ba98536188387366e86e737446c4a381aafa8369cafa9367b120738322460381303cb36c83ecd3632a121370e3cd2374045953637ec943636232e3734b4c637bcc5913723ab6b3794272038fd224a393fc50538b116d73780622e38ef8c5b38de019b3688c9233f484eb83edd7e4737f4833c36a9c4163f78ddb43e0024e336012ef536e7ecfe3ebc1aa23ec4dd0638076688361788cb3ed0fd863ebb5a1038454eaa36572d993ec09d513e920c2d383010cc36529b4a3e22e7183e76d370373abd9336f69fcf3d3ca9bd3dd5d36237416f44371d29883b499b153d848639384995a8373b56283841fd8938c5f6663885f78e3569f8433743df1f38392d1338afd14e3555264c357465d937716c0238c7a1393605253c36aaeee638209e5b3a7988d7352462d9351743e4374ae0bd397be36b37b8f37637bf6f0b38a05c8639d793323678ee4336abc1e637c0878e39fe62ff3688b6c1363cc6423930622a3a2685673749ea0f371842b937a9a8e837fbce973797cb43371414c037f2f60238e0e441370ac4fc3e6187013f30e1a937913850351651e93ed1bafc3e570ca8372e8c3d367720c23e817fd93e237883398aaadc3558fa983ea166b63efafe0b3843fe8d379aa4683e24838b3edfb431381100c73646810e3e2af2513efbc20b38bcf2bf366e5f863dba02033ee052bf393ba9c536bf85d73787d64e3d4825d937f5370c37a1dab33735213038d0b00f389bba3d370803eb37787a803824f977382ba315373947163757483d382334213aed908b36e8718d36597a02379c900038aca9cb36ae8bcb3671561337746ddd38be69af360b2bae361977eb3703afa7380b690f372a34f536dc66de37e5873e38b9c15b3754e60d375543fd37f04747384caeed36932e79364e121a37465cad37f2694137b08bee362c237c37cdfcbb377cdcf13718ceb13e85fa263f69052338185b16372291a53e088a223f07bb133829448e3640a7853e577c0b3f4da981375f38cb366a944d3e7d55e73eb7b79037ad85ad3687b9143e8e82b33efde93f38e8430437c258a33dc080843ee39e1f38dfe813377377b43cb817273e81dc1c38f1b071362c6efc369a576c3dcf6baf37ce57c1365fba4537cafd0e381e3eda37a996ee3114298636c520fe375812e737ad5ca93601fea43625afff37c85c5a3ae9d826372dcf253757ff1a38ae75113ac6aeab3661492d3617e899376ec8693825317b361dfd753692ce89379f80dc3918d8bf37c7dc9337cbe608380d3fdc3970514f376fa22f37ebb1953799e3fe37933398378c652b37978ba037ff4a06384737da372ab37d37560cc937fd78213856c3bb36878a4c3e34cc4c3f312a3037f68eaa36fce93f3ee3f4453f10a0fe37d88935371fdd173ed93a263fcc1a853859a0fa367b3dd33d716f0b3fa3472c3876c389365321943db22ed63ee786763975d7a7378309a43c651e9f3e49025e399c303437a805d9370059453eaa4cf4376f54163705179e37f324813d59670a3847b14737a3b29937805d843881e444380a69af36f05b0d37a3941d38ff212638ca1c22352243163563cb8236e301da37dacff036dc6ca8364de7043805fc513a0f63173775886036b01e5a37b789023a6f98a4375b3f5f37846aba37b16a2a38a15c1b37a6600936ed3d0937c56e013875819e3788593837ebea843760ce053894f95737c9470636dcc722373ed3a7376c75963797e63837b42261374107b337e5f58037574a563dd28a723fd083dc378ba61d352ab7553d4e46673fa520b337900766374734f63c4618443ff9d55d3ae4c60a371e990b3ce3a9213f7855233a9270903770751838bb54f83edcb93c386fa2b736b53b8537819eb03e919625385bcf433706549937330c523ea12c0f39d59aeb35a7600637ef81733d942fc537b8c7263760bb0f37d2a915381f82eb370000000000000000000000000000000079fc3f3703d0c636d359ac3705ed17384dd2b836d4033734bcb857376532293821596937e0f3cb368b1e9c376484713880158137323f0237812293370ca30e38e0d9a3376c7e653707f7843713f4d3378ddfd9373a309e37b725b537d146ff37c77cf337029b3f3788b7953703581c380000000000000000000000000000000000000000000000000000803f00000000d5475437d6e6d83731d1733f6f21b839736daf365a1ac43703ce4c3ffedf5e39235f513740c7e6371168273fc8b4353a4e4457376280d1379e46013fbfe1243aeb618237c8c89537a8d5b63e5161ad39adeba7374428bc37c0f1563eec5e2f3850254737ff4f60373628743d332f533800000000000000000000000000000000000000000000000000000000000000001706a33759b5b739affb283a37c0193ab2be50378e2848395d620e3a90d4053a83d7d537840584385637d139da18ee3920a71f3810334c39ecf50b3ad2a1093aed89443813d6863938df133a39ba143a550b16387d472938ffcad1398718d9396a85b837232513392ac1d3399350ef3900000000000000000000000000000000000000000000803f00000000000000008f1bf739860a613f12163c3a261dfe396339ad39f58a403f73d7523a1ec5e439d5ab5d39dbfc1f3f471b523a68d6b739bc609939b3a4fe3e5b3e343abdcfee39d780aa39e718bd3e3cc03d3a842d093aa40a38385f8e783e85e96c3a881cb239fee61e39578dec3dabd64c3a84edeb39000000000000000000000000000000004523193881dfaa394bd1173a8e76003abdbfb8373bc12538c48d0c3a16b3063a11646737b693c2376074613a99e4713a8452a0375b8495396d95623a719d6f3afc7f0f382d7e2b3811bc8d3a1083a83ae3e9a7376bf5ed37ef73a73979b1f43983bf1d38548cab39ec79503a48ac5e3a25aa4737365fa438c7ee003a4731243a8b5e19386f1735389ff27a39255795392058cc392cea603f5942ef3ddd37b339e6e220397a30473f0625e23d0fbbcc3912d4d937a4582b3f3ee2cd3d4883343a4e47e939a5540b3f4961953da7d5643adbf33238492ae03e038f7e3d1758a63aec8c083896d6a63ed4e2463d3d79be396c8ac739c4925a3eb00d003de6f1563acb329438b040d83d2483ce3ac645263a1883313868966a396a17053a384aab397698533752562939db03373ac682143a9a831238fb83e4383a00303a247f2f3a6dcfc237985c2738b2e2143a42681e3a1406d337d46b09382053ed397cd0103a4f1e2f3866df4f39ec5c893ae1ed9e3a667f343862ca423825a6413a3cfc6a3a3befb63716cbf537d348b239cdbd073abd7ee537688a0238eccf5c39eea1af39adbd2b3874b44c388d14ad39eb120a3a4839533920a1403fb3d4783e70cea339338b68391e7f2b3fffd6673e444e143a0f8b11397d48113fecd7423ebcd60e3a3d031738d961f13e628f223e51bddd39cbd591392f95be3e266e003e5d84913a8343a238fd1a8d3e4524c23dc151633a819b01387bd4383ece23813d8eeb0f3a0b9802384d7bad3d8ea3fd3c9470cd395f0744389b51bb393dd95a3af6013a3aebfbcb3786017b388bb17f3a8c03533a1ad92e373a056e39f329a33a552b9a3a24813e387680943991345f3a94e6653a3337243888ea4938d34b373a7134743aa9740b3856522138f9774f3aa4652d3a154c8838580ecb3943316c3a22d8863a39440238db6d8538cb28053a3f9f213a1130ff37542a1338cf6df539f7f03d3a5af42138e696be3815a1043ae449413a8602d938e8b51f3ff0fabd3ef689b9398edba639b6420d3f39c3a93e6542553ab821c93969d1f03ef2d3913e8ed1503aa6575838c8dbc73e63ef743e786d3d3acfc326382c9f9e3e945c423e8a22013aad81ec399f2d6a3e3f5f103e3a1a8a3a7e02bd38f6e7163e8732c23df764333a1d2513384372863d91f13b3d0b5b673a9c6b1039793cfb398a708e3a3a38743a39cd6c382063cd39487e3f3a212b303a3dfb853760478e392304c53add4dc63abd9900383d051438ea60403ac830543a954e2138b6693c389bb7bc39e7f6523a573d3838b29c3f392e3a0d3a2013203ac62c31385f4e3e38ce8caa399a571f3aa25f0e3888ba1638490bf639a5543a3a3d13883970cda539c1a9563a3cf9a33aead981397f2b9039b3af023a5be2213aa714e439e5b8fd3efaeafe3ecd200d3ac1d5c239f793e03e6c92e23ed953943a385e2738e9cfbf3e4db8c23e822d2a3ad4c04138561f9e3e34c1a23ebb0d3d3a49857539c2317b3e1040813e1a1e203aec5b413846df373e5e9e423e508c3a3a1c341b38c691eb3d12a7003e1d275c3a51259f397589433d96157d3d678bc33a6bc08539e896ee39803d463a03f6363ab2bab3378dde8439a2e6883a8f176b3ad314bc3708340f3846ea6d3af49b693a582adb371baf0638044f143a2224423a36f0de385249dd39ffc77b3a5a668c3ad83f15387df72238f662833917f42a3a250f32380c0b413861da98394cf7523a89db6e39593aa239f629393afb505b3a33375839d47b7a3978d5373a8cd3823a8385e337a115ec370a8c1639b9af0f3a02c89539e31cbd3eeb9a1f3f0ac5173a429418380f88a73efe7e0e3f65d3263ad1ced238623d8e3e48b7f33e888f2c3a6a73083aada5683e5147ca3ec429893a002627382c46383efc0fa23eb330593a74534738129f043ef3f6713e88d9873a651ead39531ba63d0cec203edecd6f3ae6fe6d390f2f043dadba9d3d87689b3a6a5def37c9105038ee3b823ab780753a0a5a3e38f8a666387fd14e3aaa03493a8e97e537c32907386698ce39b669143a5668b3370c6cf4373950e739fadd313adb173838b2d44138d9372e3a10c2813abdc0b43820a9593941ac4c3acbaea13a9fb10a38ab930f384f3573392aef053a803f0b393d1512399f14ed39f213183a21b79139f4037239ef3a063af937253ae878df3837868f38af708239bff1f839630b1b390a19783e77a2403fcb1b0d3a0d490f38f7595c3e48af2a3f15f0c139fd5b0638061a3b3e5a06123f7eb9283ae49845383737183e717bf33e02ad8d3a5e228f393acfed3d66bbc13ef950b93ae79113383943a93d0276913ec2c1333a39e62d39025b4d3dc3be403e8fc3283a09326e3945b8d5392bd6c93d0b6a373aca555138a9261a396ce4493a48c3323a309832385887483891eec939da9ee839a052463766b3a137289c163ae6cb663afca51a38f8ee5539c0d93c3a5c37713a380ea83773a0c637978c623939151d3a822a603885ecbb38141f623abc63b23a8e63cb3933c1d2392c993e3aef42683a8c278a388622e9374c6b8039586f493a75cd6039710db838cd45a239af58ed39d8f652395aa605399c519f39a182e539af9f70383bcaef3da33d613f4dd0d53957fcb638d6c5db3dddf6473f3fad6c3a5795af39038dab3dd83b2a3f039d963abb71ed37dce28c3d6bc40d3f12cc803a1fcd1a3904b1093d8717e13eb049a83c2c12f13969f2f23c6621a63ea77ab83c83ea07381fca4439cc7c663efa2a9b3a7594b338d15a40393d03dd3de794243ab6eaff38f1043b3926d8113a2f99143a00000000000000000000000000000000ba17b13724cbcc374367c13943da1b3a383d0e389aef1338958a63391c951c3afe73bb38c2891b394ccbdd394556193a2bcb8d384a17b6387329b839a53a073abef1bc38ce468c38e2d25239a4adb939204b963939cd5b397de9b4398309fa3906fcc5396b3b8e3952dad339aa690a3a0000000000000000000000000000000000000000000000000000803f0000000007c2d238764fde39063f613f58fb493aa2372d38c662a43966c6403f25af783ad07a7139a203f039cb02203f7b5d373a1f381d398993ba39a2d1fe3e1150283a711fc53869f538395303be3e48f9283a11c47139f39896393253783eb9d5303ab9648f395479a039f82aeb3da86c2a3a000000000000000000000000000000000000000000000000000000000000000095adc7339b33cb337be91337aca81038ad898335163564334ac4f436cfcd9e37b39705368ef2d7352e7fef362dbbc8370e194c34cc79c53310e0e63705ba4438f12a98361d94723600de1d375f288237e9157d37a6df54376c59d837df47d13713109b367cddbc3646387837d9eafd3600000000000000000000000000000000000000000000803f0000000000000000bb9dd73571997d3fa4dc8938f0ae0b386c418a36a54a5e3fa80e193865fd9537b39b3e36c3d42d3fcff63d3843a6b137799e9f37f207fb3e8df2ad3837612d38d029d036b0cd9a3e0f2c2138c69edf368769ca37cc1fe63d64354638d0fc5c3701764037a8c2d8388cbd41381e6f88340000000000000000000000000000000053f16235afca48353b67ab363698ab376d346934868d6c346542713478efad37517b9635a9bf9535b944b73514e207380ad9ac35921497359edce93594bc12386c8c9d35dda79535d1c1eb36fae3fc37a416dd356f9ce035332a0a38c39046383da89a3505c19235daaf9337d981c33706920535bc9d0c352a9d4137993e9337d2fc2835510e463559b97a3519fbf836231a203542857d3fcd281d3cd21d743764376f34447e733f204bed3c1e889b3744d89b350be6543fd76e873c6a68143862039e3547ba263f55fe113b0e2f163881fcba353e93ed3e522bad3ade160338d4dd0137ca418e3eaaff143acbad303820e4873542fdb43d72826f3ac6996f377358fd34dc1f5438f5ed763844378137b830f0345c901136cad1023810ab81378fa84b34368753345efd3f373965ac37c2f9483419ef4b344a500236347fe837a3690235fd9d06359383583535c65237e9916634d8407a34a6ce83348b10fa37b986e933f9cbeb337154ea33b96bac37e7f44e35bfbb4a3552448b372689173840cdf636a54dde35ff150238fdda303880a30b354f5120354a3d563500f68736d60c9a3511e59c35bb74cc36b0daa737d77d5234edd15d3f8385083e7f49c636dafe49340d99553ff1de273e2346883751f207350e81303fa06c233e6ff20c37641581340ee5083f4298103eb1cde8371569e733a7ddc43e502ef13d5a4a9f37a6924c358d5d643e049aa83d5b060338943f0135271e9a3d1c92243d265a1138c7befa3426ad8d37d76dea380029ae36f7658835a2b9c6362641363802f2dd3744c09134a2c89934ae09ca3700608837bb5c733596f27335c262c0359db2e9360048c73317e2ed338a31f5358f77103877e7f834f415013548204f37108c1f3830dd7e3356e3843380c0403755e21e38caa4a73429eea8347c4dd936628ad4371edaad37bc5483378d091838f7963d388abd2d371cfb0b3752280138291f1f38845cc535a10cc835b6a00e37c6b18b37fef19534c83c2d3fc588a53e3637963487e55c3594df253f7ad1b33ef882da35ebcee23305f0093f93c9a73e9b4aa6373dd300353bc2d23e8a2e8f3e1f0bf83737648133ee178f3ea8915b3e073cd437cd98a0346e061f3e84b4163e8ee41b3747f21d37afd6dd3c17cb9c3db43707386a4f3c330972613822de0e390b40e937e980c235d62231374ad94838f8c1453711365936f1e16336f2c895365b028d365bd74335bfa254351b78dd359adbf136bf96e236a38ec936c5ba2937f76f5237bbe3323669d92a36d9de30363c0f3b3793ad83371dc43237d89ab0373b66fe37737f3f36a4d13f364f28fc360d94c237ade25937ca444d37170368372d81b4378140be36cf8532361a6160378a329b37a07f82361c9b80367f4f87366bfa8c36d238443668ddfa3e5688023f0aa04c36c6e63635e959ec3ed7a2093f383f8e350e16d2361fffc53ef095fe3e2c243c37dafe2236280f903ece4bd23efcf93736bbaf5037b74e4c3e0cce993e5c4ec637d85e3736555dc03d04385b3e545c4636f2184637bcaeb93b45e3e13d1a9c4b372107ad3558800838e26e573ac68b0037857c55364dcc8a36d0b5113874478636268fc535fb6257367829b4371832833615443933f5ab48337bc615373db45937dddb84356b4886351e118435906dac3766da9d3479bfa334df42a034947c9834bf01ce3666678a338b99f636b6bbd73765e4cc3764ed89378d82d637ddd92538b9b6dd37d810af37f3c61d38cb8d48386d0ef63580590036e60e6637d601a3370bd1c234225b303687068737b608ad379900ca3512199b3e5b73323f7b05c1351aa92f33233a8d3e1d4f393f5d353933400986354780653e84152c3f6217b835512cab3404121e3e2e130b3fba9ca13430ad8936f32bc63d71a9d13e9f520e3772c4a137360a053de2518d3ec343a73751318c371a4bdd3843af083e027c9a37fd14e235d09408381ba75c3aaa6fd635d82c9334ee9ccc37683d553829a5fc352f262837b7bc8a374003c537ead3e83672040335455e0735e4340a3581c80435b6e83f36ef37023589b2fe34deb5c3367ccb0f3758ba4f35e7394c3594b55f37b2b2de333e15e233886de33327176536d2a89c37e001ec36d59210372210dd376feccf36e7c3943526e199361cff8937096ca4377eee8b3779abfa379b740a38bd9da136e95f95365d9e7137bf0a893726475c37638ff63d662d613fb64288351aba0a35cf26b23d9eb8693f19800435327d8636dd7f9a3dd5204f3f93f8f734baec1537337dce3ca2612b3fd7f843352e2cf0354633ca3b28acfb3ed8e6e63397cb843791508c380ae3a53eb6b8d2360fe8c0351bf93438a8991a3efc2171354fc3343782715738a202c13a0ebe5736c7a15f34ccadb3370f7d1c3871295934ad5395369a391f36e1b18136f147bd35be86f8345e49f3343b1fe4348d0aeb348d436c35ec5c61353eb30b35939d7a35166b8837086eec35d91de135e4a7c337da36ce366857f43595a9d8359ea55a3717f79c373eba0b36504bfd350499d53765ffd837954f7b375063a337be151938cd8b3c377552ff368ec39b3704d1d5377f00f136c0169a36ecc92437b1034a377f430a379c2085386ef37f3fe465c1341c5df4341ee46b3838f27f3feb7beb346fb174358e002c387f26693f5db96735418d93370d1a7e389bb2383f42eaec37f392db3617fd7f3826e1083f8fc8483709b697379b3a6638c753b13ee7088a373030c337274b6e384b591b3e581ead37ae3404375cc52a381f4da23c52e5e035bd96ff35160e973708bd0c384642c23500000000000000000000000000000000cb287e34f0a88434ad268c342b0a863493afa736c1215c36097e4136014c2637320681364122f635f3964f35ba59af3675479b37de578236308f13342adb0438e8bb2d37a6be5836ff4154364995bd37b86069374af32037048f5037a442bb3769690b38b789e8376df90c3803c13c380000000000000000000000000000000000000000000000000000803f0000000033a0873416f58f34a0fa7f3fbb1102372ecfb1368f183b378330633fe415f237af6289361118fe36d38e323fa565bf37b911a73798c04a38136a023fdac97538a6e31b376fe8d7373b39a43e15460138c5d15837cc9ac537ad97063edf6fbb37bb37f3370efd333804bb153c63431b3800000000000000000000000000000000000000000000000000000000000000000f20fe35b7b91f365a36d13688f84237157c92366bb3ba36d0ab9037f08f3338a22915363d25473660ff96366309c537f1fc4336c0804936f157153736d8b6372a69973682199a3656e1ba373569b13775081b361a560237625f0138eb41b1372fda323673b993369a06e937eeaff13600000000000000000000000000000000000000000000803f0000000000000000caf92e36b726773fcd82c73a2b524237d2c8d736d8d1513f92b17b3a48bd27381e2f7636ca93273fccbc15391eb9303708b957361a15f93e39fdb4384ad45f3663919f365f28a43e01f885382a3797360feb9637b0d3213eb08428382196d73564b0443747ec533ad9e51d38177b1236000000000000000000000000000000005bcf0f36e49c1736666a7837bc55143828f59935aafcae3519dcfd3516278637718cdd3544fcf235edda12365184fd37226805362b340b36b78b8737b2f3493838c2c335a4a20d36c7de5a3735dd163803e82136dfc924364ec5a237a3780d38624ee935645aef3599a92d3887c44238bba91c36ed322236a55056366a1a84363d19bc35aea9d03535390036142d70372ff718365e1f773fbc520d3d5aa5f9376e97b435f0f7613f2a1d793d6178af375a3a0136edab3c3f84d35e3df935f33729120e36f02d143f3fe93d3da5681f38333b4236055dd73e043b093dd4dec637ab012836b5c5843ef5369d3c426267373b0f2d363632d43d7f67823af7d19337e4b81d36f447ca3731287b38754e4e366117d635df112f36b5b748388e9841385c284c35f3a76535a903af3786c80338b1013c355c1f9b3593f00d36dd304236ba8e853547a58d3533919635691392377057833565cb893508ec9135943bd63759978f35a5aaac354942ed35a27a5f370bdcb635c804bc354494c035afe1c3371fbeef35b007013625408e37c8c3083896d45936412c63364e739d36bd271b37d1cdf73419f20835a16e1135253a2135b4dd6535506f513ff2013a3e4158823796ac98355af03b3f8dd1613e2bc53b36b2e18f358dee173f35a3543e1b0439379b238c35475ae53ed752443eb815b7376f54b235d674a53e1955253edaa82c378408be357ef3353e25d0043e0f9a9b3704c403363163853d93d7a13dbdb5e237ee535f36b81f0d3755f1ce39f4635237ab6a07355ee21535a42f333828ca0538d2a9a635a256ba35ca36283873b9193899d4be352b5bd8350719ac368d21d236fb88e935113011368f0c4236a4430338a2e2ee35b1981536d6803e361402593668ac5d3691a887368bd8c736d36306370acf0b36c3b21c360837c7378b9a3d385d960c36db2c1b36edb5c8368a86d637e1217236ca487636fe3f8736f866ac36915e523515226535063e8f3513207137b85cb835b527283f979faf3e80102e360141d03513cd133f1122c83e743198362c9e1536194de63e557fbc3e28ffc237e4491736ec95ac3ed61aaa3ee2939f363f4e913634f3663e6f61873e0cc2ed363e3c213617bfe93d51ba493efad2133830e51836b37b003c706d003ebbdc4c37afad7a36be77963692012f3a14689e36a30b7a350580983504bd5d38177c0c38db360736488309361502c937486a8437e3a491361573d13608091e37d087aa37468d92352b63a13586eb263764651f38cb2f3e36a6308636273a20373af4a837ffb40636aba11336e507f836ba1cec37efc2bb361e36e83677735737b7aac6374887163695395936dee31c3883064b38e1e70b3757dc0f3711242737c5071338678a08361b940e36fe5d08374dcf7a3713e109368c39f83e59e2033f997e87363523d236cd40d63e1a61103f2fa617379473a5355f29a43e97ca053f176df637b2df94365256603ee788e93efeef6537bd9d1436ae25273edb64ac3e6500ac3751ce0537ecb56e3d5188883e0398573793107536e4589f387473203e2edbff3791720c37539b043807cf8f3cfe54e33748ae0e36aa15fc368e1f2d389ae08e37e22a8f353d12aa3532ed2a38faaa9637ca384c36de116236d43b7936a14a8236b51aae35571ecf35b8ee0036c388eb36e2aa043643e21036e9b806373ade1f388ee7a2365ac7af365055cf36ac7b0337c335413626e74936f534513688e59b36a8b45e36581864366b868337d3642538e02d8436592f8136e662b6364d19e636a112c935d308cf35be402f37c02b07389bee9e3567d8a23ea98f2e3f0bfb773514215c36439f843e43893d3f0c897436962ad835f195333e92ff303f326f1b366608133677b5e63db37e133fa8f8eb379bfeb5362571723d65e7e63efb1fd63658eb4a3653f80b3b7942a83ed7974636fc0863363d4a89385c4c3a3e9a76ad37a5b17d363a44dd361e5c023d3e9bcc365a1ecd35ec057b37282ba238145e0338e09c2a3544d53f355fff17383d099f3657305436993d6a3683abdd36a0e8ff368474d6351031f4353ad1f73599449a37c0d9be358afac33585a4c23564975a37327ee7355863fb35e404fb3569d81f37c1a39f3559f8a935c5e7a2350fcfcb371b72c635834fd33542a68b369887a437f73e3736317138368ce43d3607358a366962613605f1da3582ada337707f043885652e35904d203e54e7573f82900f35b1f36b367052bc3de55b683f84de5b3611b2f435787a673d8c9e4c3fb0c72437cd0ec835e2074738fd4f313fe6a8ac364018ff358583e8375bef033f345580365ed4af3543002d386c77b83e5582583764e2d63533dfb437b39e4b3e467614376dbf3b3692529236902f3a3d16a21d3680a092354e12a737c9c0ed38ea6ca7370924c33604149c37d5fa3338b427d3376e8be335e5a7f3351299f435f1ba2b36de95db3598f1e1356d3be5358cc49b3783181d368b8d2236b0dc2136b53e8d37f4024636c0f04936036a6636fe67d4377d291236b07414368a8115366c342238921a56360c8047366a32a0369d2cf83777ac40360e1240366bbeef3651e8ac37ee878737e7211d37239dc937c27c103811dfe337f7e6533af4c57f3f4af7ed353261fa35b5f48537d9fe7f3f43702436d0dbe635dc92db378732653fc1cf4438778f233610e789378fb4383f9d971b386ccf63368bcdbf37ccb70b3fef511c385ec81636aa7711387bdabf3e29a537388b455136161dec37b896553e1804b137d1b13e36f74fd937cb51673d074c0d3682cedb361049c937b52a7d38b7f49c37000000000000000000000000000000005ec5ed34a51c1c354c7563350c326036d50ea135eb45a73596baac35c005df3644998436d0128836c6bb8e36620a9c361ed43f3654de4036176b4a3673b68d366a3484367d8081365e308a36d5757f3703db733756270c379ef5a837331737384d6d2737e55f0e373c3531371edc50370000000000000000000000000000000000000000000000000000803f00000000c78247350866ed35adbf7f3fa7c61c385b5dad35da67c235b087573fc81a3438efbd8c36ca9194361de32d3f9ff87f380cab4a36148f5b36d76f033fd50e513815638936b31f97360bc4b03e924a5438f6d64d3755c60b38197f373efe874a38cfe7153751e13a375e5d073d7af3353700000000000000000000000000000000000000000000000000000000000000007424f835454d39369c10b137462d57386eecee363ef54c371064193849907f38491839362bff803651ffb536f060973783c494362c59a23686e60b383201203827375737a8d55f3726461838d9421c38fcb1f636227688375bf80c39af7b02383f681638ac8b52385b5f803847863e3800000000000000000000000000000000000000000000803f00000000000000001c905536ea286a3fa5868a3c165fab39630c8c37ea51453fa98b483cdad67b3849e28d36446e203f7778583c643d2f379dd10137dab6f93e3598503ad2b5e237c9968c3788b3b03e9118523a0001cf376ffbbc3774d04b3edd6c603a2ab866377a9e6038d15e6c3d5c6689380d70673700000000000000000000000000000000914eb4362237d2368044a9377d031d3841708236358bac36b8137737d2e14d3822965e36465d8d368c3031378fa83438a80c8f36c4b0a6361f8bd536b05911387557e036f826f9360b571038268a72383ad74f36c6a36936a5a2a9376b303738b7dbdb36825bf236a23a1c38e5946638ad50c836797fd33679c0b837abf30a3870663936da9c5636a9b97536211485363f12d436a08e6b3fdd2ea03d91bc373869a0b036bf49513f76b4be3df7dcfe394003933604802e3f0511c03d628ecf39a358ab360f520b3f76a5b33dd74634389bebfb3646acd63ecd389a3d5ce47f3813306f36fc4f933ec2c6683d5d4f3b38ac9ff93628ef273e69fd023d069b6338017ed3369c1bd33ce8fd9c3c7fbded37950f5a366f3b79366fbefb37e0542638ce5bc1350546e235c124e1370b63543870d1e635b1281c36ee914536d89cb8379d863136650456362b526f375c7741385888a43659c8b03664b2e637c6958238045f433624dd4b36c14ed637f1e84738bf7171364c0a7d36b3b7ec36a8322b38dfdb89360e068f36d624f737884e2e3856fc6e36ee27813746424a386d1e6a3831111a36899f2d360b244836947f24372dc1e435c07c463f30e0643e7197463806d122362ce12e3f454a6e3e54460538b9545c3654c70f3f29d25c3e24f0d0398764b336e407e63e36fa413e65819538d53f8a3685c6af3ed248183e9a2f5738dcbb7d36a5b9663edb0cea3df85f2438dd0490364c14083ea337923d69651d38f3b793379952113cd207e73c57a74b38df673236c7f44a362d97d6377f1edb37d35e2f36c3528d36ae921d38fa694938799a0736f8403936c8a5ec37ca8359386410993652bbc836c5266737a9034f38f99f6436ebd78e36339b593749cab437ee9a90366e239e3694392b38e0ea813885ffa0368a83c63608b83237c443fe37cd74c436c84bd736c4dd4c38719f7e38954bfc36b3c8663711d62438629131389816603661e791369a5208381b144838ad6c9336862e223fbc70bb3ea55bab37efcb3e36e0eb0b3faa12bf3ecb465e38f9a5ce366ebde63e95c2aa3e0e4a65385d859836c7d1b63ea078913ee274ba378c86a1361198893e155c673e65197a38a8bdcc36c5e1343e5fa9313e8a2fc137125143373c71bc3dffa2e03d84f75738525a74379d52b038f2bc533db071f737ddbb72368e271838ded4d5399dab6538138bad36f257bc36006a673886c6683838700937de311637a80321373fc1e437d5eaf03650f10a37b4cb0338227f19399224bb36353ace36d4ea40374f1d65389ad419375725203788068e37ba2c0438ebe0d136d33ddb365fbccb37ea736838d15925378f732937f9924c3814558f395c6d2e3742312f376164bc37629ef037f37db536a826bd362bac22370a6c38380436bb367746fa3ec597023f9f39a13733fa163753fed53ed6c5033f4faae73718e40d372502af3eccfbe43eec6a1739c4c4d036f3d1883eadd3c23e6a6b5338d8a62037d273543ec5bc953ef618e7373d3ce4363c61013e6f2d673e11a226389cb83437d550883da543133e4465523880962f3717ec1138bc71893df4055d37266bbc364da49a37172b6a3abd426e38301f7a36f3aacc3741ad713819e763389ee6c23609a1d736ca2caf37c34b2c381df19436add4b936f0bc1a385e1c7438bf7d9f36135dc336cf5c2937390af0375e339a36d22ca736f0ab4238ffc78338540bc036337ecd3670379d379273bc37721e1437ac671537936d3638b0bb62381c8e3137d9d7d137a9d35638769b66387e499136a64ca4364e559437817826383d0fd73726aab03e167e273f461a1238867ad936e87d923eaf73293ff0ed2738d6f5be36b268683e8f36123f00806a38451dcb36a7622a3e7b7df73e9529bc37c671173779fd043ee320c03e5461693847f4033734eda13d252f8f3e6cd99a37a88715373cfe0d3d6053393e718a1438294ad937e6eb713880b6a33d6f6b20380de2a336d60aa0374c7329392e523038bb2368364e9cfa367667fa375cc8a837586e4536b0e15436d7fe25382b0d6c38a2df8a362916913680c5e237035e3238a6297b36d8bb8436b808163768b629386074b3364f861437fa4d2138f0d25438434dc736dd8ecc374c576d38ee688e38b142693797bdb33781b63f387a0c5738842683372034983722bd0038a7dceb37018599363987db36332e253882514d3897dc0737affa4f3e5bf84b3fe02e4636464d5736b0f3223e2eb44d3f635954386bee9136dfe2023eeef22a3f93481d389c8586363b25b33d3aa0123f7dac13385b136e379ccf883decd9e13e2a8f303839dbfe3700d8fc3c0900a93e6d875538b1c6cf379d7c3e3c6e95573e88e6093839e59a37b8f80c384f13ac3dc68bf33686a9c036d107383820b06d3a4b481f380e3290369b8a92360b262e387a64ad375d27ba36a8f3c936062274372f841a38b75cdb3673cbef3660840e38bef07038c1257936a0188436ae36b637c8dc32386b9d0c3756b64c3726163538c18b79380bbad336cdddd236888a4e3721632238db08b037266ee437fa4c4038a7404f38e3bf5a3802465938856e82382c037238ba1a1238be8311384c763138885c2a38a3254037b8796a3d2550713f77c876366ab5cc368b32a73cca3a6f3fd6941538cadb1337e0d6d23bf4234c3ffc2e703860268b364b93463867bc273f80ea31389570af37417c8038b14e013f87746b38a95ad536bfe62638eb60bc3e44a8fc3781260638a2bb07399f41653e5fc20b381e905d38f22b4c39ebf4b43dbe75073802720e38ebf82b38b35fb83a6f26ec370000000000000000000000000000000009e7e83544830436d5112e3609cb2338ab88ad363e02c2360ed3db36b374dd377cba4a373fed5137e4915a374b830d38a5159336c77a9d3608042c379ccb0e388083a7363f1dab36ff07b33691726a37b987c737de17f03770343b38e9a97c38b26d3a38e89c2f38c8c751382a7761380000000000000000000000000000000000000000000000000000803f000000003d9e08361caf3b376df7703f4e0c433a55c5c9367d002b37238c4a3fee62103c925a5537db1daf37e04f273f53f89739c6eca0363f0fad37c2d3023f7475a039e75fb1361d29ba36265cb83ea93245387de10f388ce95938fddb5d3e7f1082383af13438f4f764380acf8a3da8332f3800000000000000000000000000000000000000000000000000000000000000002532fd32662e1c340a72dc3306153734a421be334aefc8336a73b0338d360034e8748e3535936f35b3a16d38f1c7c738000000009a278234d7ca9a34f315bc34a1f4aa355f7b0d36acf1c535a2a9eb352c349e37157edc373f325a38312067380000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000ad8c1034a0677a3ff66c113450897034776d04340efd5e3fbdd183344766ab347c703238b2bd2f3ff69009397ddbbf38de971c34f13efe3e72ae223537b1f03421541836e3379c3e12148737d14eb13523d05738a0d2f13d6958c9381e26283800000000aecb823a6e01ed3400000000000000000000000000000000000000001a5b5b33f0b3df33aacdff35348a0a36a5d793354b67ac35ed13f235bd920b3699cf69337fce3933bcc42e33cdb6013853a3c935799bc8357a9ec93718c99b38cc2b5336b4596d3632547b36ebb68536fe61483534ff943574ba063879e957389d59af376c829e37839c7d38a9568c38f201a435382a94358b846b37aa1daf375328c4352bf0e1358e2b5036aaab1f378d8b4534503b7b3f3275a33c729dcd354bd3c835c89c683f0ae82d3d0ce10336b8745333fa7c4f3fbf13963c9829cc37c23bc4351679213f0e8d233c5a4d99382c0c783632e3e73eb4fefe372493833667247535ba998a3ecbc0523a08a52f38c52cff3753fad43db384123a29b46e389d93913582e2b8386895af388d8c56374735a5353479db362d05fd374b427e37c3c8d73613b0e936926a0e3741b71437da2023358f836a357148aa35121df43660c98e353c84993503ea9e35104b1c386fc81036e3e1033673f60036686a2336e0759835dd42a535b0d4cc3526dfdd353688d1354cb4cd35f0bdde3768236038d36cc73587ab513559065136dd994e37d46eac359ef18d356ad81537eadca63772fb0a36225efb35fca32e36ccb637378a63e836aa975f3fddfb013e9b441037b0c41935b8ad4e3f66af283e9e1d0536d28a8135b771303f98591f3ef42f7c373e17ec356e73013f6c871a3e5657183617ffae35b201b33ef7ad023e7ee9d935c585c235ec213c3edc29ea3d45460f38d6596135f2ebea3cd1e2a33d1a26893690b7a135beaf15383c11643a947c5637ccf5e9352f4dc536e9611d38e041a0376fe1fa35d1a0073627ce61364a8813368d322834a8b73334d6a47934f752dd34b85dba331386d63374aa3e34cccd6e3644942f36dacf303648043236421723387558c8349599463554293c3512ec85359be427360f451e362b160136da4f1a37b9a72d364a562136b4f44c3708c82a38ffc68f35084495354d969f357242ad36f7bd1c37b573123728282037a62d5537119bfa35bac52f3f54e7a03ee6d5fe353a15d2334471203ffad1b53e638a143475a0cc326df6013fefe3af3eee2051340e7027368223bc3e6f26a03e580f9f37d7d0e034483b6c3eaa01883ec4284e35e1e5213637c8d33d4f4b4b3ea8d992360130263655e7a53a7b96ee3d3f378b3713725935ba6d86377fa7ee3ac8eec2357bdc123770e13437611200388efe6437c00488354e708036617a6938546a18380bdd943587fb8e355797a335c2e5ad35e4c095345e4f9734dc164e34ce273637944f8a3793283a37a44b0538b4478938a7a92d36906939367a7d39362dbb4a364717483800814638943385381e29a83818afa4368d8967363e3fc437d7a11338c8ab873565f28535365bc535d72d643630739a35e180a835298dd9374d9b0e38dbd9c6350f5efd3eb49a013fd4445035a13f9935c058e43e9d2f0b3f986e2d359bb85334b637b23e73a3063f36960d346de18337b7106f3efe19ef3ea4ee5438bf6b3b361304173e3edab43ee9053e36f06f5038b1c7223d140d863e687980389d6f9d34b8df263a1294013eff387d37df86513549485e372cfb403ce1d5cf35594a763511a1263808a1b5380e50fd372a301c37bef1333756858d37317d2c37d18e06351bf15d3552847635688e8d356f0723366c3b27365eb626364c291936be301d36b6a01136e85ff635d5652136df3edf346e5c2635aba8133507113b3555d28b3711b3ca36c41a3c3706b8313873f0ad34d55f9834012bb53594cb623743a2b434fb3527342dc916344e8f70362fe91136edc80236ddf7093672ff09369d4e2137057a9e3e0314313fdf820937d0c04035ee6c853ee53d3d3f09b61c3575ba2336cf1f393e6b02343f0a5010360def0b3679c9cb3d189a193f0aff1f363af6233564791c3df9b0ef3e67c42b35e4399537d5950c3c782aa03e6cc51437ff83b934f0bbfe397bd9183ef9900e340edbac34f4c38b375f309f3c8be28d33233000361ea005364d56bb37d9191436d8d1b836890f373756ed8b37889a9c36b2696d35fc367a35ffca9235adb09c3508a7db354a76eb35b37c37355cae4b35fd498836ce22d635d825c8357a2b6b372c1dd435c613e1358436c2352c66f235f76b14362a7109368a54f73554291636ad528e35220b9635b7bae036eb5e1538f1600d36e2f619361a44b03623478a37b4521237d1be0d378bfb10375b151f370edc0f3737bfea3da0cb623fc3d0e1352ec56435a547c53d3976673fcc1b4d3563a5b535d139bf3c2a4d5e3fa9c49f3434a73b374b432a3971e5333f2683c6358740c935c7e01d3a1f23063f599fda356faff435708ae9379fd6b03e426d08367f20973581e49c38b4761f3e293eaf35559d0636f3700c3800d7ee3caa86153649a60d373f901b37efa584373eb71337a3509c36e4e4be36ec2b0f3767866136cf77983562aa95355d207f357d239f3520da333751b85d35a5304835baca163789d42a355c7582351b155d35f309373654585f36df4a6236d0d95836a4da77361984fe3707659637ccf2ad37709361387c21aa337cb88433874a903354c0ca371c8bdf35da88c13573aadb359377d53631c6b5355b7c8d35683aad352be1e435674200371b39083ae110803f76a3fd34f99eac35625398382311803f65cf8435ab0993379a7fba387278653fc951ea3737e38c35e3fa913815f93a3f74b204387dbe6b36a3fd82364a550c3fc4096c3612462d38111fcb382c9db83e20a883383774a433d7186b38c4eb303e3c84883765c4c03522872237c984493d5754043680e1853527fac235f6c6cc377a71b83500000000000000000000000000000000000000009c6d5a300000000000000000d7c9ea35e293e135a297d235b09913382b431a36d4a0a935d7a3a83535e1b935418b3133c7a89134ebf87c33dc6d8634ae5570386d2a523887b178388fc5d738de962c3468a1363418020c3436e40d349fa18e34fdd72a34aa2d703429282b340000000000000000000000000000000000000000000000000000803f00000000f985772fbd27652f241c803f0000000057cb033615af10385df3613fba6687389b3ced352141d535a66c323ffbbb36375f26a634b1acdf341d7e013f27e4d93452396a38938cc838cf24a13ef3f6de38a7fb6134c3b164342d2d053ead7dad34df26be3484b64a3448e5c03c9cbcd03300000000000000000000000000000000000000000000000000000000000000008610d43566cae43541ed823687d0df365cab353639043d36b2495f36846d6e36ed0b7c36e16f8d36beceb8365d38c43669de1e36efea45368683ff3687114737b03682366e84823604dd193798271e377d419a36800c9b3656675837e69eab3607416236d5b56836f96e89375b99ec3600000000000000000000000000000000000000000000803f0000000000000000af44f335dd7b713fbb361f3cac0ca236db8e4236a15c503f8ddfbe3cce675d3669f6a636e1eb263f72d0343cbe19bf36f97359366dbff93e2a0b0e38caec7c3652ff8336d38ca43e83bf0d38ab5f9436b0c5ac36799f213e9c6336384cb59c361bfb6e360df5a73c098e2e38550848360000000000000000000000000000000021be043610bf2a365f3a54378113a33700000000000000005d103d367e679936fa8376339a49c333e667d734cefd8b3400000000000000003b05273579cf5935000000000000000075bc23350408813600000000000000004fb03d37f883d6372b3bf235fc94d63580affa35e482fb350000000000000000000000003b39a333b84fb135eab4ae3554e6c935523409360777323653e2723fcdad503d758ac836000000001343533f256ac03dcb5882368ea8683494f8323f8be1b43dd1181d34adc226349cdd093f22838d3d3e02383500000000c56bc63e21f6503d13287134000000009a2b743e46e5db3c00000000a44ae23505e3b33dd28fe23c29adea351a27e23241f21e34d2f8323afe100d3469bf9735098eb235e8e1e037ad19aa376feeb1347bcb223586a90136303f3b3759d1193629991736696e383661032b364ffc0e3669534b368e349d367561e9360000000038577634f0994035455c203604049036c8d28f368be89736ba140b37ba19ca35cdd1163688c00b37fc8d5a3775c2bb348abffb34a5d311356688ee34def2b535dfdadb352d0afc35b08c023600000000000000000000000000000000ae2a163577ea533f1fa1303ecb79703530aa1d36099b313fb9be663e8a9d1e3606946136b3d20f3f0a136f3eec5c9c36bb5c9c34c21ec93ef996673ef19f5835567b943641b9833ece11483ec39d953604ec2436eac7ce3d88c9323ee307423684a7d63424779a368511f13dc5a12d355776e035d6f8f93556154e3b9078fe360000000000000000fc5314373676a9360000000000000000e3674a3761a90937429a1f36412d163609f788369fe5f736fca6f635540aea3572f2173655a41b3614c685351a3afa35a8b01e3628e43436a125e03692a8ce363114dd36e2863337eb2c84358e903335613aab357d15a43670049736712e8e36184c9b36114cb3363ef41236c694df3599bdf0353a7e0336d839413400000000008147341d9a0c35000000005ed3273fd39bb03eddec7b34a5560d36a7fd083fa16dd23e34dc2236369eea35d384ca3ea978d23e243e0b36d0b5f935dc21823ea667c53ec1181536de7fc2365e04ea3d804fb43e45facf36184102359998f4379a7d9d3e78759d36ba118f362984c736eef0243eb98ec4378cffbe35b69ed13505ef453b5d631c360000000000000000a28f8e3672d9a5347ef0a736dcccb136e4930238dfe59637f1aeca35b12c083671bc1636f83a11365998ca34a3cd9c35feb6b4355b81a33521710b361f582b36d60e253688862436cd029035044ab2354106b63619d88537359d0136479e24365a9b1f36ed161e36e8f3ac35708b8335c8aa9e354fca9e35eafc1036f3b81136a8990f36aa431a3636d09d362bfc9c36c723a8368fc73f37e49fad36d790f83eb7b9033fcfefaa366ff30036073cc43e7d64163f653d1d36f85098356f56813ec765143fc90d97353c2d2636c8d8e13ddabd0c3ffb2716361899c5357390263db221eb3ead155837144e15369b7608385db9ae3ec435ec3660ad693555979d3598ef2c3e3c37b436b258093628f915364410f63c6ffb2f36136e9d36a06da436a4fd253a5b47bb370000000087808b34ee69c0353624fe3403941d367ebb1736092b2836e8521636d9e68536a79ea43694baae36d993a036fc7a3f350a9ca0350104c1354b5fa335c5eadc364457d2360271d436b9b4d9362850db35d52bf635af372b368e1b32369352e13535e103367ed814364a6535367e2c2736926d2a3642034936de57e6360000000000000000d62a0e3587909836dcc54e34af8ba33e17742e3fcba1a43421111c3638e96f3e3a60433f01dc0236a825a3362a8ead3de838413f39928c3630e6ae353312cd37845c313f590410368d3ed436eccf653740c8083fa9b93637d2d9dd352faa4236e1feb83e0f8c693674a30336e7b018360804473eed2ab33625fb2936c8174a3691535d3d4337233700000000202aa9339027d238390ed636000000003982d034f01ec5369df46934e02d0536ca040a363fe509362717033610149934dde5ae3474811b359d0b1135e139c535c76e06364d38be35583428362238a0362b96903647178c362bac8f362f77e034e82f4c33b2d6b234d9f91e3501f58a36d9398236d9368b368979b1364a32313670e80f36e29e13365b681a3654977b35646a3b3520883b35926fd1367c218834c3551d3e28c3583f000000008c19ec3558678c3dd4b46d3f82eecf357c84ef345a2e0436fb04623f731bdc34e5c4e635264dc2368c9b393fe3771d379ed38336afa29036cc460c3feb673437000000003b190c35854cc33e77f58936ccde8036b6589836a108523ed4c7f33683f6f835a2e402369241a63dc88031361788f23461043035c3ad1339a7decb3508a217361a0b2e366a759d37de2226362262dc3363fb93320000000000000000e8cc9d35b8d4aa35f4ef9e35a3e4c13500000000000000000000000036449d33000000000000000000000000000000007d3396340dfcb6349c0fcb34120c0a352e8dc234deae2434db043f3416075d346e42ff3549f2f535dc5d2c36fcfd833650329c360bbd9e36828eb13601257837d66b283604226e3cf7677c3f1424db3500000000bb13c033e1e77f3f3f28f93366f394350669e03555cc623f21d0f3350000000000000000ad553c3f2f803a38000000000000000052e30f3f3d22543700000000c4142135f08dc93e72a385358b02fc33094c8e33011d5b3e360c3f374aeee435797a5c36929ea63d314a87363baf9636901cb6361d7e0e3a3c537f3700000000000000000000000000000000c18ae1353888f235ae831136694b553602d5803619e483369e588736040e993696487f3623d085362d279736fba498363b514036e8ab3d36263f5436c73ac836100ebb3675c2b836e296be364866bc3618624b366ec1523683376036edef5836f6dc5236b6235536632b9836149ab0360000000000000000000000000000000000000000000000000000803f000000007b7e0f3604c146362ad57a3fec4a0938fdaa7a366e469136bfad573fef654438342e86365b7c98360fe72d3f8b7df9378faf53362dec7336f938033f0faae53791c2b136004bb9369cf5ac3e2a3a0239ae23503632c65f36dbf7263ef7d57636c1005e366b619d36b8ca403dcc8155370000000000000000000000000000000000000000000000000000000000000000362d83350606d03625621838b3789a38cfe75b354cb241360f75b236cb3fd1366fc37b36220caa36fe099b380944bc38082d0136996f1d3615b5503893668338e80c8d36f84cfc363a0fe3382c10e2382d46e436bd650438122fad383b2275389f5831356a366b354be1e3378123563700000000000000000000000000000000000000000000803f0000000000000000f0cffd36ae02653f12b1423d82bc383870b367361cc3433f00ca383d5672b636c9bfbf3670da1f3f138fea3c8f9ed737fb822c367476f33efcd2c63c6638433623262038ecd3a63ea59e5a3cbce9f13785f44938035e413eaa9c6239c9fafd3699684536dc3e4b3d988eaf387537c734000000000000000000000000000000000ccc0b35f7ca28368f5f80373b2b6b3846ecf035f8105636da8205376e4f01395c393135edd3fe35c276d0365e02de37bac6ec35c1f32b3660b6573863db8e3830121c36afdf99369e1d9d380b91c038309b0f36458c80363918dd37acd53438ed06973544515336f9ba0f3814c40d38e6920b3649911b3626bf603749971138249e5e35181ac835f6ea1136f54c883750e15736dc7d683f69f9743dadaeb9377bb85f36885e4d3fc0b8cb3da7934738a2183d36c47b263f1599da3d26dee836206e5136d24c013fe450e03d2c7356373da7bc368406c03e4c61ac3dc409b3374c71903698857c3eb4a15e3dfb29973694cf8336c49ee63d2a5b9b3cc8a927366e8119366feb3638141a1b3c50493c3723b6d135a4481c367e5c5738fe33483a5926e834bb719f359d23c437af551b383cb50636f3f06b36d311b537a2453138e64a2a3621ca8a36420fc43743c361381be31b34e145ae350744d0377cc43d387e3c8c360160b03675dc1f3808238338b7a59c36b3b9b9363bfc3d38e3e271388a906a35cf8d9835d01a693709aa0b38025e3f36628e9936404ae63672a7e337c823b73595f935367c119e36cd0e95374b30ca3564f7453ff94c4b3e3f2cbd36e5ea7b36f1fb263f8115843e973d5837988b9336f5b6043fee91823e5988bf3708a8ee356efabe3e3a2b723ec1ab50368cb0c436ba00833eb9a15a3efbdb9f37a612c136fb30e03d9d453f3e5fd75c37b11a9b353d510b3c92251b3e37fbad372a7aa03647fefd361e60da3a89d5f638956042366e6eab365d3c83387d77b5388ce24c361cb9b33620055a38fbe370383aad7136b9d4b93694fa9f3752f538380fe2b9355aac8a369c0b0a374f7cec37ec12ec35884d8d3679cf5a38bcdba538563fc7366a9c00373b582c373ca41e38888b94367f65c336f900d337d63ba3389a7b7d3686fe95364a18b7363053b537d2f79135064d28364926c93615e74e38b8a17931ceda7f31a83c833158808537961cbf36a75c223f0ff7ba3e2556fb365fefc93654a8013fb227d83e9b420f37e47ea3363711c13ed764d13e82fd0b37bf2fa4367f887d3e32a8c53e664abe3787af0837dce20b3edd07b23e10b765374d57cc364036223dace7923e5f9d8538a4919c360470c836ec2b353e0aac203875043536c4d14a378344a63cf539b1380c107f31a04ceb34197f9138c4a4aa38022351361566bc369da48f385a5d7a380d42ac362122cd36c0b0bb38c626d2389a880c3617cfb0369a414437d4c2c837f00d78369037bb368d0f47373c04b038f94b4c36a0e06a36df6a4338f527fc38034c9b364f27c236881eee36f0f7993831ce42362ff2a136fe66053770cead376d8bc2365378d53636771437e852ac38e06b5036697274363500ae36a87744386a71cc36b5f6f73e9508043fa986c436f6dcea368113bd3eab82153f26a488375d01d2368af47d3e3e050e3f15711937722ac4363e50053eb2a5063f3ff6f437c5917936d995c73d5321ce3e9d73d938fd3ecc3615554538841bb03e22d4c238c389b1363fe019370b474a3e6e30263836dbd4363d66b037aa9e3f3d16440e395f837736bccbc1366791d438a02bbe3868b79034f99ce13591758b3831a53138ab442e363da8d4366efc6e38d9016d38069692362ab8ab364789283762c6c83786d8873645ddbd3687956e37f1ba8d385e49d1369f2cfc36d22e2237b45df5376b264336fcc08c368dbcc636953c8838903f31364e839436488ff236d9771b3780b0ca3603c6ec36ed0c0c3732f1e337bb05cb364468db36a309f936a4683c38ced50436683eaf3ebd6d283ff59c24353a89ea36ae9a703e3fb63e3f32120837e194ad369534cc3d4e4a393fd3efbd36e867ca365399063dfff9233f27b86f38a70c01378160d4372615043f10b5123819799836044def379cb2bb3e53b8c9388cf8a636acbb0a3794675b3ef5f02f3857b0ec363688113751d7923d94fc6838ee21dc363eb6fb3611be273ad1978338be18ba36e6c2e837f066ab38ff5b303891abb236a635f136eeddcd378f836238fe6b9534106c303590b2dd358acec937bfc423365ff37236bed2a5362d701c38d2b96e36fe0990364c2ad5363ee92f389bceef31f7476c35e3da203602c8f937d810b8364480c1362132e93683354738572293362299a2364990cd3618491838dbc8cf35479c1936f89057366056f137dbfa0638a4e64f3eff024c3f56a5ac363c5ffb3657c2c73de2a9663f7081f03639cc3d355b4ce137eb11573faf79b93729d28636d2947f37943e343fb2909838bc5a9736fc3b95374ed9073f7c6996386efe9b35cb674936fd25c83eaa44993877fecc36bc769237935e683e641b99388de7a6365e8f16379a59b83d18002c38b155183662f45d365aeae63c08490f3838b5a2369f921e3899f5b139defd2738109e2535c177ae35da3ef335ba15b13728041135fb40e73479c4ca3477334d37d2d69e33c6a84c3594be493648437337a40b0e360a143236a95ab6360add89384d623636eb634c36fb4581369ba047381b726c36e5698036ee31b9366ee59737e630c136d12ae736bf1917377c41c238e69fa7369c45d23604520237a1ba23389e1a42380ae94e3df9ca723f59b61e36873cb43531723f37ed937d3f9615d4372b4dda34700e073607635e3f816bbd3809de9d357f318836fdfb323fa55a95380f5345363ed4dc3684710a3fc1e478390f194e3635b793360461c53e6b11b13862508136652ed83661fb783e6a8e0338a870f336069bab37f5bcc93d16d0cf3890acdc3691125f378876033dd0341f380000000000000000000000000000000044e1ee345286d1344ebfc4340eebc3341a4fa635f17b263646d5bf36b50ced37207d9c34a186523656a8e0364c0fa2380a05ec3558cb0a36d8eb1f3635fb3738feb299361faea5364161c93655b7913873096f36792c8636625b9d362770c636a6e5e4366a4f09370b608937627f92380000000000000000000000000000000000000000000000000000803f00000000e4d1c8343a6dc034e28c6d3f0734b93c81ed5336c294e7364b3a483f7071ee3cbc728536925c2a372957223f026ddb3c5de510361ce627365e5cf73e05c58d3c9f5fb036541e1437579db13e145d053900e08c361319a8367cf7423ed9d3d53810121037d78815383ad36c3dbcefc13800000000000000000000000000000000000000000000000000000000000000000000000000000000b2ddb9328acc5b32df56ae356eaf9e35b6d60936af452536c9005634ade79e330927d83401467635a48eaa34344eea33026c8934e0c10d345b1f0534c9a90e34bb540e3497a902349c66f53616201237e07719342e190434e1168c336fc426337dc85433258a493300000000000000000000000000000000000000000000803f00000000000000000000000017b37b3fdb8c1f33000000003ea8b1356cee5d3f37c1f837f40c0d36d486cb33edd9353f9e869b354d8e7d350b709633fc61063ffe3f0936b8675b33168512372bebb33e10012e372a0fc133b89bbd37bda1373e60121e37b053f333cb4518368d43273dd6c57033ea38963200000000000000000000000000000000281a34359c205f3551de9f3506f18b35e4ec073681ae1d369e69633614776a3631760d35f77e3a358612a93559f2d03572ebe134cd06b934010f0b35f6891635a00bd4356254ce3521780236913802363f13323463b2403466221534d8b02a3440813637d88a83373dd4223575850335af3b693521e4843506ec67354de53d3506f00535c503023546a5e2346ef6eb34fcf34d35ef4d803f9411033c756675357cd51e36eab2683f20d02e3dd0ba4636eea41b352904503f8847f43bffbe8e35e068fe34003f223f299d633b21cec7340542d3354bf7f33ed684333afab4e83555fd4a349cd49c3e7eaf163abd7c0034937a9937cd33143e1d274c39ef09dd34dc2d2335de72b53beb42163a01656a3536c3e9344401fa349161143538a72a35d9326835974b0235144fdd359b79d735000000009a5ba13344ff7b348e5447343f0bf834be6c01359cf805352f0f18355f534734de0a78343772a234588e9f3400000000000000000000000000000000f6350335f7390c35e9f7e7342425f934268fa7343251a635abf7d034b9c6c834be5a9c344523ab342e20ba34581e9534d65d6033ed715c33d46c6f334014553363cd94340159623f37a2023edb84573500000000f4af503fce74293e000000002722e034a9ca2f3f3cd8163e3c180535797d0f34456b053fa90d183e7201883400000000a7eab33e7f29043e000000003ec3f334ebeb483e8e03f33dd99b03353d568634d0595f3d51ab903d9c95bd346533b934b6c1a637c9643d390118a23492a875336a03803308427733cf43693300000000000000003eab73351ded1b350000000000000000000000000000000077b93034bbca493403fa4a3446a14f3475767334c71947342fcf8434276c853465fa123300000000000000000000000089999f326eef583667b25c329e0c3332e5be8536e07f1e377ace97344aa59c34703385320000000000000000000000003ab47934f15e0e34e3452535a6ad7135f605b82f062b3b3f25c0903e981b1e3300000000a006283f3a47b43e000000005b8b383419b0053f3e34ac3efa943c34273e74340c18bf3ede1f9f3e6efa9934000000002f0e5d3e12ef8f3e000000006267093607f1a43d133e743e0000000019299c36d153b63c7df0f03d18eaae340000000010aea5376187fb39000000006f510134e5732a354389dc35a1f7ab35eed78d34dd7cd93462ca333519e5123538bda035727ade35509320367c8a1d369c8e5534823e8b3449ed0135e4dd4035988b55348ba12b34dd9a503404206634e3899f3535f6b135931fc7357971d4354a30f33357e83534fb4803345b8e2e346890ba37d7fdeb3784f31e35082de834e1bef0357902f8359562033624a60b36ca10f534b7d2f23477fae6342209e8342e8cb934a6f00b3f0601f03e9779d134e487cb359b95f63e5a89083ff051fa35f9246c34651cbb3ef66d033fd400ab3408636d3408f4593e339ef83e1dd7333438c5ac3538c8b93db9fbd73ed17bd0359ef3163444ff453df47a8c3ed91a3e34594e9d37350aaa3c47eaf43dc74107357109da35d5e6d73980ec9d3a658b133601b0ca3414b5f83481ae7139ef262835b801af34f1bffd34d732a03561fe9f35000000000000000000000000000000002285a0342acaa53443a7ac34beebb034000000009fd4073765148133d5cd503300000000000000000000000000000000abf959341ce17534cb8b1c348a690634cd535537d799ab3792d89934d3a59c34a2e94d310000000000000000000000000f5dd13200000000b05eb132de67173446fafe3380ebb63e9f51283f8608b1330000000034939d3e5ce4343f0000000035569b34a7503f3e069d303f28fe9e3481c9a436e4ee9b3de977203f1689db3200000000a9292f3d2645f53e000000001b1b6234c8e7fb3cc4119c3ee0c553342541ac374639753c74ca143e5a328d340000000035c1a4397dea9a3b00000000a41e4e32a0d52d327eab9534ad834b33b0974d3365aa66337ede983467578b338068bc34a1bbca3471a5ed341696eb3474c484344ba191348dfe8c34995e9334b1ebf13446d1e73423f0f0348bfa09350000000000000000000000000000000099d541349566503407c84334b6cc54346bf1cb34795bf934492ad8345eb9e83405c2ac34e614af35f6058a3388723034c2ac5e356b3fcd341bb68d35ceb49a35bae357339879393e4271553fb6c6603310e4b63468c7113e9c195f3f64b0c0344f9a8d34412e5a3d5c7b563f84868c3440c7fe348c58503cf006313f79c3383500000000195bc73bea8c083f00000000fa533c34099ed33b0960b03ecc234f34e29bde348595bd3cddeb213ed8611935752d013421f3203be7bcf03cf3b46934448369354d31ed363884fb35150ba6354f9aca341ceae9349a7c323553841e35f9d7f53411503d3512ea8235c1f985350b191c3426699334a9c45934136dc9342ef79034a2315b34857f5434954b6634e9cbca35ee8ed435a02ccd35601eea35e05ea334efdfe0346074bd344739e93441b94c35cb5f4f351f996b35b2c290350f9f3636529c3336a08e30365a6946361a8664358e337a356276703558318435cc1ef8345e79203d74c0783f053cf334e4fd3a352c3c633a9d3b803fe7014635722d3c34e080143839545e3f1dc585347d6a773444ac0f37dc15353f85967934f6dbb735ce8513396f150a3f66e20736a007af34a3f8af3727eec03e3b0e22356d7cd536d6dc9e3acefd423e116ea335283123368e75113ae832693d2735523625c24e357a01813544b39d3550fa9a350000000000000000000000000000000000000000267945321633813100000000d80904340b91c13321c5e733fdd50f3437631d34245801348f912a34f9353e340000000051b91733a980643200000000b548b834160e3235234beb346c383f35a6adff35d5810136e243f735a273ee35354405320000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000d50aa932a5c8783fd761fd3019e3e9332355e633fd29553f5d7100345cd491338dddca332e922a3fd7dd43340000000099317233700afb3e804a1d324b6b6335b1346135cd999a3e28e052351954fc35be1cf53792b1123e21ca053600000000000000002b00ed3c0000000000000000000000000000000000000000000000000000000000000000000000002ca9443431356f34b82eb13495ee1c356b560c34cf4a54345e604134eae075347bede8357463cd3562aef835da8a30365f6721362328073604be5c37d6826436e704d2340c85043550291137f1ad9435dffa9a35e97e84354cc47137ff01ce3563a1803424e70234bc077837da891f3500000000000000000000000000000000000000000000803f000000000000000052d987342f17773f90e9f839bf513b3516a8ba34fb38533f7922063db3af1c34ca51e23528262f3fb5604d3c929329369da5ee3532e2033f9e36483a4cb84536e52cd434668fb63e387c853a839f3d35a84f8f356225483e8e5cce37a4dec9352bc112349c08373d097d0a3919b32b35000000000000000000000000000000003882843471f56234d313b435d801e035a739473505f25635069f553588858b35c6c35f34e861c0341c280235bb2c06353ce69c3572d69535a14dba35ada2f335b461d9350217f0350b23a537a0d2443694a0af35d662ab35d4794d37080cd635c7baee35c2e2d23553e725377d460536b465b635b46fad35623393351acfcc3516db1b35f7b303355bd94335d2e067358d06c0341c57773f69501d3db289d9359efd6735358c563f92b5c63d559a7e350d15fb342159353ffddec53d6fd76934e9a49835cecf0c3ff5abc83dca630536d043f0355998cd3e5e17a63da24a20361db2b135b1d1833e1adb4d3dcc889e35414fcf357383ec3d5d66b43c65340d36d255b135d974b63589d05e3cea9dcf35c008a834f8443735783a823693088135f8099b31825d8f31cb2f4236d9f761342a6d6f333d2d65336dcb443369de8033583e7f35533389351572b435771cbf351c642033b9340d334f60ff321ff8083338283a3523a0383501d29836042f79357e6d043655bd02361b7dfa3600a61636ffaf0b35d858ce34b39e0e35ae2c01356495d73501c8b235185aa235358dc435898512351af1053574e71735eefa243527888031d17e5a3f135c1b3e3526bf33940d6133c923353f273d6b3e0fef62330ba66735dfbf0f3fbf28883ee64ead359f62ff32b5add33edbe3783ebe7fcc3214562235d2bb863e7896593ecb246f3564dde5358336ec3d3b243d3e3d931136d399c534986c7439a141f83d9cbaa135150b9635c507a8356836953a14f8e0351457be34e1020b35ae9e4135ccd14035025e063527792c35fb4b3b37b5299a35a55b58357b6974353d479435c587b635ef185635351a513529e047357d95653556bbe035ac39c8358d2fda356b650736e5287c35767b8b355d9a9635866bc2355b1426357d131f359aa78635edecdd35f524e035854bd035d5e9d33529c9f9355f43b032353bb832529e9c3228e0f932e3544c340e491034191bac33416d3a34b75d47350069313f4114a03e7dae50356e4e5e35b24f0e3fb975d63e88469a358bb65535f575d23ecc01e03ee4544235707abe35a6488b3edf13d43e33ce0036a6df7e354d55e53da9f7c13e8740cc356771eb346864703a1fb09e3e93fbd5351d38c735227ee135e8b60f3e2395f235b139cc32fc02d4320025e63aaa25f832b3201734406bd13467ed0036f84681343e53d234d281a334f72a8439b77eb6351ac48235353c7b35174667356df39035ba6eab3547dbaa356112ad35ca61ae35dd03ed35bba5c73579fbd735ef4fe83577981b36071611363259f435256b1636c4000a361010fa350f46f1351501f935de6fa2354085803545658235d8b69c3568189335b02188351abc5935aff48b35489c5135dc253535b4069935fd0bb8357865aa340f5a053fda61f83e5c9da235d7a87f35e1a0ce3ee3d8193f73d67f358a8cb2356616843e70b61c3ff2cb85358e3cca355176cb3d0f91143fa3f3fe35bd1c0836ef01463a8b95003fa60f0b360fdd0336f9adfe351fbba83e1dddde35c22d6c3588f68b35db640d3eb21bc935724e8835e34f7935d47e863b09c482354a192235a7ab8935a3845438ec889e351033643130f3d9339ee8ee360dbe62350dfd0533e377ea321933d435e46bdb328533e53508c9b635221ec8359491e035e6d5813504b689353554b4359495dc351a9aa83513239f356df09b3578dfae351e53f23504c0dd35320ce33552e4f635de963b35b5a34035f3c554358aa18635370fa035fbd985350b8871357baf8b355ffe10356fc50a3546ba3635caa675352ed26133c016b73eb05e263fbb40bd34fbf3d23240d77d3e08ce413fe90ca4328e7aa235c6c7b93ddbe4463f7cd5d135ec8589354f034737f3e7313f8fb8e935001a8f35fb3ad335fbde043f5987b135b5c8c13570cceb356d7fa53ed4be0436b0523535f7e36335057a233e2bcf8f35405b4b3527458135855e013d6205aa35295ba134354a3035627fd83969f689351aaaff34b1141b3504feda3911c64b354f2cdf35b05bd935a0b8cb351103e83525bb16357b57ed34ed9ac434cb8fd134d68c15367a2d0336f143fd3538371c3628986a35ce446035a24452359e989235eaa3d8327903e232f9c3be3263811a3325ceae35fc879c3551f39335d4e6c635724f7833880f70334c724333269c843304b85c310cba67319e2a4131f3a399314b4d1835922b403e4dc0513f957b1e35b04cc735cfbac43d4e9b683fb94fbc359451e434db6acc37a48b623fe585ad347273ff3594461336725f353f3db31d36a59f5635929c9435fb52083fc5e3a335fdadfb32f44a02332ebbb43e9ae019332b6496354cd6ac359682383eb719d435c60a70338a21643386188f3dac306e332a76803146b88231540ba539f9aa9a319ba3113545c0043551dd8137c50a8435ae34cd3538c5bd3561199c354967c9355eed0a362707fb358c2eef35ed1304360a7aca35dd319435b5a19035516fa83505a01f36f8f50236b95afd35a21b2736d623e7358236c535b1aac235b21dda35b6710335643a6434da8d7334f21dac34199c99359a1a8935635e493534fd7b35bafa93351a5f6b3533f2bc354f81de358997f834fea8063d5ad8783fc5c34035550cb735fcffb2352d747d3f2213a8359035ff35cbb90136b2705e3ff7ebec35ce4c8a3510d89c35fa3b333fc2e1bd39ff96dd35ae3506360e66063f0852663805e3d035087ac1350e58b83e5aa54f360ef13b3472f228345ea44e3ebe0e77369e478235e60c5c352bc8903d7e666635a1e17c35b24d9a35dad03439a8abb23500000000000000000000000000000000c6fe693450891e34638dd333e8e8ad34fe8998359db3913586afa735c03bce35644102359c39c634db4d3e3523ee403563fd3636c8f21136e8bf1d366d813a3632b62036c0290136b0ca0a36affe2736d6739f33f487af333b684e349fe4bc34b6873d35f241e73409e1ba3499d209350000000000000000000000000000000000000000000000000000803f0000000011141b34a170af3417b6753fce6f3d39260a8935ca3dad35f3564f3fa8d4d038e8458a3453a05c35e279263fe280d4383f580636f1ac3436a841fb3e9a72813ac504f3357cf6043633f69d3eb1eb223951e33f339038ef331cd7163ebbb2eb37ed119c34947c0f357adb1e3d75f31f3500000000000000000000000000000000000000000000000000000000000000000000000000000000afe3df341409ef38000000000a8ab4342514a637edb92338000000000000000000b88f387682ae38000000000000000077807c3873fff23814dc7435993d56367104ef376a65263800000000000000009f16b23ce4ec6c380000000000000000401d9d38cf13463800000000000000000000000000000000000000000000803f00000000000000000000000050c8633f0824673d0000000021c91f354cb4433f768dc23d56873d36000000003d961b3f5df5883d0000000000000000eb28e23eb72d323dd3f5a23077595536f14a953e7654cc3be1c32836000000001adbfe3dd12d333b0000000000000000dde2203d67dd8b3b000000000000000000000000000000000000000099fa9f334669d2339f036438ae8461380000000000000000ae2b8137eb0eec37000000000000000021bbd036cf73e1370000000000000000c884d4388657193900000000000000000b5102387a5b3b3800000000000000006d8d6d38b4a45a380000000000000000cce05838f880503866989334480abc340651dd34ba46d3368570a933ad1b9b339c3a943315c39a336227ec335f82683f36ed943da22adf330000000024d9443f9f87033e00000000000000003f291f3ff3ae4a3e9181033600000000b7c8ef3e707e4b3e000000000000000008eda23ef1d0303e00000000000000008f6f323ea0cee73d0000000000000000d9e29f3d575d133d00000000b322b1349cb81a35cd84bd3ce8b4ba34b31e8e33929e8d3320d8f03858f1753bcf5c9231236a4b357c99a336f4be663700000000000000001b761b386f4da138831f07330599c8339e3bcb361d09233800000000f806fe31be93b43798c00c38ad560b343cd52334ce1dba371f4fc737f4579931ac7bb4334aca483868ae413800000000000000004b863132c11175359c251934af202234accf1834a67f76355991f133be2ad03303cedb338a4eef3307fb89358ea4483f3c7a2a3e725c5535000000004f70203ffa53933ef8151d321d90f233d171f93ed8b6b13e1366d233f70551324ca2ab3edd40ae3ea395e6329f1f2a34c173493ec7c8933e99dd8b3479afd5331c51a53dcd016b3e2015e1330000000028d486318f2ced3d0000000004261c3407fe1e34814fe4390737763beea5b43347ccc0332b331b37360b4c3d4c3da332a89994328a7c1439e4ab3a39471d4033f3fe0e36661a4238e3f0bd380000000000000000ce6df737e9b237380000000000000000d195de350ee02637bc80af356e551e36831cf6364870223700000000000000000000000035e54138816a9033a8ba8433433c8f33c1b5d6330000000067de3f309a8ff6328d7fa4379c39f431034fe231bce96e32e6477b3523ee9a329854223f338cb63e00000000824815361d46f83e46dff43edc6b9935000000008880ad3ecc01053f00000000000000004667513e2ce7f43e0000000091381636ddbe933d9df4db3e01cdb53400000000cebfd73732bc9e3e912fc23293b876337c9aae33e8d4f13df25e383a0000000067beff34ba6d0e3a663c123d38cdd3313c38e933324e1038595a0b3dd0728133e290a5332c9df2392418fb38f12c3133d11bc8333c1310381cd1283800000000000000007d0baa379f9ec43700000000000000002afbcb382adfb33803a16434cf03cc34dec9d734247b6f370000000000000000000000006dda59380000000000000000000000003e0f1137faf9ea34cafcb734909b8f3417ab83373134f133ac1ce033055fcd33008a9638060db4331fa0f23e6773043f1d86c03313f01c348c67af3e9b6e283fdc936f34000000001f644e3ef4772a3f0f01383400000000860c833de33b213f0000000010b2da3489f3a1361351003fb46b81360000000000000000686a9e3ec80f273a00000000915375349154e93da86dbe3c2899983430a68b34f1e6e439392c533b42becf332a23c4335dda21396bca4d3ccb8344358753b0356cb02938181fc73700000000dfaae9350d1975389d1422380000000026a18133ad129f37c5d89f360000000000000000084cf2327548cd37993d42340811373456df1534c017243600000000000000000000000000000000000000000000000000000000d096bf3700000000000000008d24e234f663993700000000000000000000000000000000b9e9ce35b2189f3e38de283ff606ad34e8c40936e574423ee140473fd202a5349adc993385c6583d83ef543f5419a63300000000dcb7a532546c313fbdb4ca36a1c42634ded91535ef62003fa1c523390000000000000000a208983e963fd53c000000000000000037d4103e49ca953b00000000fe438f354822173d357a9a3b0000000000000000973c243cdb81883b486c053415fd0434697d263d24827c36307e9b344e502435ac91e5354dfcb735000000000000000000000000000000004bc8c333f3beb333fbbcc133243011340ef58e34068a6734cd534a34d67c303724628032bc57833285cab432aefb5d37cbbdc033a6d1a933e91fb13311af003411eb2532e22fd631045cd2317bad5837737cf334783dbe335bfef534e4cba33546681034aee4043e84ea483fa204d033dc90fe34becb6c3d0f0c713fb5b9133400000000000000008908633f5974ea31db01a733e028ea3307f42f3f0a41de3b70aa4b341f26583451cdf73e6533123d4baa7a3272020f33acb8a03eb1ac7b3c3cfa91332be1c7336ae3293e3f25a23b000000004a120f322fa3b03d8a738d3bc4b011349c97f734f836553de46dc63aa31d7e3306828c335aa899395a1c9837c3831d346ea34f34a85792347acfb53400000000000000000000000000000000000000000000000000000000000000001bdc8133f44d503200000000e9b984370000000000000000000000000dbf8538cdcc57356f55043523199c35ad968936913fd933fbac313200000000e62a8537d52f24343c92ef339846eb33a678a23796289833192a323d9eb6743fa7e08c3384f57334dfe5eb342aa67a3f8a1cc23400000000000000005cb15e3fecbaa43c0000000000000000004b273f1f6a833dfbd95132268a1733889cf23efef9213d0000000000000000d028a33eecbda13ce0d14e35efc8de350276383e10c7ae3b00000000000000008610d53d267c133bc847c1333421c5333f90ad3c0935963a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083c10f3400000000d8f7ae3550328e37000000000000000000000000b2b1d437000000000000000000000000c8172f38158fd935a710b53534491e360a3fc737000000000000000000000000b628b0340000000000000000000000000000000000000000000000000000803f0000000000000000000000007f616e3fed94eb3c0000000000000000cb30473f8328a13d469aa634e68a06360bc4223fc7c9923d0000000000000000cf8aed3ea131613d0000000000000000c1ed9d3e7ca9b43c618cee35366b303657f4103e665f1a3b00000000000000007d61543dff3bc53b0000000000000000000000000000000000000000000000000000000000000000f89e3f363d3d38364167ec3639048337fbb33536ab703136259e1d37b2c64837beb35b372f57ec361130ce375803e937e077b936608295351b1806380a3b4a38297e2c374cc1d336db9bb737d79dd537e8068f36e3a8833640bb1537078950371501df363769d036a6adf036e764d93600000000000000000000000000000000000000000000803f000000000000000021af3936feee7f3ff3300d38b2002b37c4c134368bd4543fea3ffe37eda52b37ee4b5c37873c2a3f8660ca391140cc3746c1b5364ca2fc3eeb1ba138212bf737967b613700dda43ea6fb4e394c58aa37afb18336cbc41c3e52dce7371edb8836b986b236544a853832a190377052cb360000000000000000000000000000000064d642364d694f36a2f09c37bd79c337363ec53549acb1352aa6cc36a44f503795792837b2901d3799113a378126bf376c13cb361e9bc7364afd7337ca46d8373a906b36b1cb2b367733aa3642cd1b3796ea38373f6104378de28437793cc937e30c19371fd71137c43b46378fd76737802f343670e41e366d633a363c1a023795718536dfcf07364067c036b0335237d9811136f87a7e3f5068be3bc9c75b377037a935d3b3753fffb4ea3cacf4d83661f420375b284c3f7497fb3cb40e6637e00cc836a854233ff317c73c2f288e375de43b367c07f33ea44ca03c129bb636af960b37ca44a03e1e49263a68ce8d374f0510379ecd1a3efef71238f334393781cc1936f092b23765a7b237055e42368918b33515ddba36c40b9c37ca015737d4949736254cdc36bd072f38aad2343848958636dd327936146ab637819efd372e363037a47f2837fd92a237a89a0b3859ab8e36f8a37636e1496237a4f5a237671d1e379d0e0037f1afdc3722a85738457385363c32ea3555249637f66c47387d6162371d474d37445291370fcee23786855e366a9e4036d48ed43668ab5c378224e236b476bb365ebc2a37bf7f9137b5711b36c7c1533fc7b7303e07067e37897e4c36aea14d3f29bc403eda0f42377e642637a703293fcc10343eb410923711cc73369db30b3f49c3133ebaff6b372019f536f9ffcb3eea8ed53d30ccf337d4a8d235285b833ef9cc743dbff89937ea8949372d19043eb5999e3c09e48937a0fd23366e2eb83776fdfb370ddb9f36eb905c36acd728379921f13734c76a37f0bdf632ad76cc32afa34d3632db7c33e40b8d342e459134381d83374574d7386cafd736beadc736f4716237665ed23724da5a3657905836479b723615302138d7596836937815355af3023782796237eced2b379f55d736eefea1371b540f381e7cf1366ecde3369107f93604ac46373bcaa6360db795368e6c3c3796c3893758ef8437efc2683722779a377d19db3723609b3219df283ff42eae3ef1c95e33501d8f348744243f7990b33eac303a36bc45bc36d5280c3f4b87a13e2688f43633a253365386dc3efde4813e01c36c36e3791135c370a03edf09403e80f2dc36603f96367d9c463e1c0df73d1bc979372871da36f5b1a73d268d6b3d8872f036434f883643d3b737ae750c386c40ff36e649eb36ef57873789073138ca09a237bc2c05378c321037736d2038c308fe3774add335bf74c735efe4023660abf93636931d373d681637d066383789920738cde3cf36ba548b36c2e126379ceda238ad3a6737a094f036fc18c23754ce2c387e4434375c6cb3369d884c37084db03735147137c1ca223794bf913781790e3863681136fb4dff353e938f36884d5a37f7bca23707104b372b2dbe3756a3003838405e36b1adfb3e6c18023f4899b6367830c635646ff63ec0bb043fc9c0d535d99913377312cf3ec8f4e43e0d1e1f37260e8936e48ea13ef42bbc3e44d7e03645faef3617c66c3eea86893e5de78d37cc2f8f36d6fd073e936e3c3ebde21f3711582037d37d4a3d3f7fca3d1ff02f37c361ef350e239a37c3f3ab38321305362940103736cebc3750758438a297a737db8a503754a33c374f2c14389970db373aae8f365b267f3695b304372b9d8037f44be8364d97d5364258e73680275637aafc273707c6ac36ea373d378279f13771c4e9365ee12d36e8cfcf368b5460372d5a85365cf96a36681fdb36fbef1d38cf148f37b51f2d37daf39a37f8bad9370f934d37ba7d0c378dbd8e37b58ecd370ca25f334352393302b853333cf9453390628f3624f3a53e4af92c3fec63dd35c9d06a36ab44a13ed2542f3f696973362ba1d3364092883e4d02183f564bdc36d480a636f2024f3e5c57f73e89e4fb36539522366b860f3efdc1b73e2d7d8736a4fb6b363d248e3d53fa7b3e364766364115f836314e873b7cec073ef3992f3726adc436af140c382c3bf03b0a700f3745765c3395703b335a8f723796a86133e4ade13603fac0360cedb037349c8937cfe9453603a3193633173f3688bb2337a5a566375ebc4a37f2d24d3769bcbd37382e553782470b36c562d33677811838943acb37ce992a37ee756837654e3f382c7e8b37f59e453774df5537fdfa9a376e15d837f5e08137a4baab373f68fa37a66ccd37c7739037cfafd0373f6900389fb3e7374588b337d6d4c637c34018388a85a636750a203e4df1573fffbc8235240b1836e5cf1b3eaa05593f5a970336c5544c375157103e94e4353fc92e4c37e5c56c366e5fb93dddcd173f0171a43610ac43372f42783d3d7edf3ef1f3803747d64637566bca3be07c9b3ed5f03e372c037837efc04538619c273e12f0843736394f37e837023841c7083cfdc48837bc909837a75dab375a5471380145a637440f063774b47b36165f493766115637b3b4363667a4183667521036c6824936750622370eb90f3750ec0b37ece86b370412883770383d37d80c18370098a5370f05bc3681ed7e36e0dc6636b1b8dd365a71a23749fc0237a5a7d63634d3c137250c9c37b97d39378ae439374eeaa03725ca04371039dc36ff2ce8367dc91d3775209a37a9c77a37b86b8937796189377bcba436ece1213894f77f3fd34aac352a0b2136ea4de73763f37f3fe0100d361f2e1437cd8bc9371645593fbf061337d2fa5e376f5e03385aaf2f3fe2ba513739149d36dacf7937006f013fccf195366915323757b5f63787d4ac3e8163683784ec3a376e8cb737dac72f3e278339377e8cd636db6a1437fc2b3c3c66b9b9366e4d4637b80d6c37e257ca3709d31237000000000000000000000000000000001c41c336dac87b368117713624917e3735038436ef068136815a7c362bdf9237850aa037f93cb33665478f3683bfec37fc460538a3ffd736d596923677ef4e3878c1d93728129d376ccf8c370809f03783af4a3720f00737bdf40637ca375837227776372083da36e2c32d37954da3370000000000000000000000000000000000000000000000000000803f00000000a3caac36d47cc9367df47f3fc273c336de9583368b4c0437eac2583ff9c396373c6351371b37bf37b26f2d3f8cc8e83796ca2e3794430e38a496013f2c515c383a21b83709b4c7377433ab3e4e80e037a64d2337e2ab223735772c3ebb7d3837db1e07379f553737f4c28c38528f42370000000000000000000000000000000000000000000000000000000000000000a48a0036e4617b36abce3538639d1b38ac4a9a36c6a8a036c933e73728b0dd37cc56cc363dd79b371e21843845ed73388c77e63630ce0d37c77a1138be7a08382a2502372b123037f7538138001c42381d9d2c3741b6ad37b08430381d1a183821b97037aa02a23769ae0438cc3fe43700000000000000000000000000000000000000000000803f0000000000000000c9098036fe77703f75ad2f3972ab8c37cebeca366df7493feab9ad394b359e377577bf374358243fa82fcd3927d21d38491b2b37e0f3fc3eb873f539eaffc23761303537f608b13e0582d73915adb23778d79f37c8174d3e215b6438edc2e337f0906737ec08463dc2792c3894ed9a3700000000000000000000000000000000ff5fcc3693c28d377cdc3438acd817386d87b736c2d6c23681abb438ecca043856ee2c363be2f1361d6f553884f253389df5ad366496cd3619823a38997752386dcb2937d4482c3734bbef376e820238ec33eb3646913737713d31386f7f6938491a913695ae5237023636388f943938d938e936e72a06379a0bac37eff6b83746e3fb3664ecfa366681a937d4a5df37f9e70137ea3f6f3f2058853d5c9ac437b5dcbe36f5a75a3f0dd49e3dd11ba137ce7e813649303b3f58b88d3dd8561f38fbb0c9362d0b163f073d893d482fbb377c0b2b3703a3e83ebf8f763d9ceed337117f2237660ba33e432c263d9cc91d381c04dc366bc53b3eff459a3cb53816385c52b836e215343d23ab1a3a6b3888377b11f93603719a3711a532381b66ea37823e9536c3de9c36b8fa7b38304ca3379e5faa359cb9be351bc72338f36ef9375c754736fb6489367730d2371bd6e337927cfa351f9bc43611de7c39736f133a2d87a4361637a9364b182c3806a34d38b492973693daf23609add437cc05e4372a653f376d0eae372e5bfb3857cda03946ba3f37474a4b3755dd14389467993876eb083713680537d8b4b4375ba6e63750fa99368234493fdcdb5a3ec3efd6361ccaba357ea2383ff7cc5a3e8e833537d6c37a36035d1b3fce234d3ef998ac374b4c07360625fe3e17eb2c3eb97d2c38ff01a836b077c13e93f9053e17b8eb3778c398363f1b833e2686be3d7020ba377b8c69375c9f133ec106653df1f5343850adbc363f08af3c21498a3cc5930738dfd5f53600c59737a3fe1e38b762e93736537e3640bcab36b3b69b3884d41e385f9d1e36a479203603c9123a584dd639540ab7354dcd38368dbd4e39c1eff5393526ab3650cbce362665b337bc4ace372b44203655772036caf22238e4e94638965c9a36ff2b9a3659911e38c16684391d0547376e0560370c564239c25cc139cbfbd235a2b61f366fc521385a85f138f88b843732623a37cd1f2038f1114738089f7c36dea1233ffe92b83eb61ebd36054d1f360e64163f8dd1b43e278978374d95bb3588e7fe3eb42ea23efcab1238e215ad36abc7cb3e36c4863e8b9a95377da81f36f193983e4e0b523efed2fb378ae3993627cd473e7e5c193e064df0371fd5133721cdcc3d0e56bd3d4e44cd379df7cc35ee38133af77e1c3d41780838fe6c15363b9e01382d6fa0389e7c4438882a1137ef88cb377f5ba8385d8480380f9b5b372dd8943778455138113540386cee3f37693b57373fda8f396e16093a5482fa366cf94f375f7b84386d309938891f8937a4638f3721af4a3817017939d241893766f69137ec307c3880949538d371a037387e9b37d781ad388f9b95399740e637fbd0d037c2d6133815d82538d971c6372a875f37593b3c38315b74384a321537fbcefc3ea37b013fcf68ce37df0c8437e643e93e406ffc3e8c7de437fa634f375b37c23e6186da3e2a01e43788921d37d655983eb107b73e16a03f3847008a3723c9683edc738b3eac7c08385d5d6e37380f0e3e18d5523eb97150383c2079378950853d448f023e5dca0f385a1aaa371fe511387f2f513d58bc0a3844c01d375781093852b4a838648c7638b0e2143695859f37b30b76390f965738d21fb1358768bb351e58163a9faa063ad0825d36008903374aa99d3925a23c3a27a89936aa2b993680e81c3869ca053ad3af1a3694c81f3688fe1a38a0ce463888442637f8ee1537b469b037730ac8370bde9a37a8c29037c08b473891be823911656a37291f2e375fde28389a364e3982bd01378b589336be5d773717680d38fcf0c536f3a5b13ee4fe263f44afa3371a98b735c37ea53e2f00233f49d48d37e677b13669b6853e40710b3f8ee9b737044399364de94e3e887ee73e8804ed3712251e369818153e7cb2b33e00c2013856960d374faca13dcbf0843ec8269037a8b93e37a3b3a53cadf7273e97292938666dbf36fdacef37e5bb6d3d6e0b313877427b36ca101b3733c9a1380e930338e9700137e94659372cf1c7384dd5fd371b727d364208e83604c6e8399434243a6c03313783de8e37ff1f313986403f3a23fe2d37bde00f37ef46c93736af07388068b036a770ac3670c207388e4f0d3939dad8379d1bc03784853b385f70053a6dadad3719808837a1c3c637e9d4d937dc583b378bd50b360b0baf37acc0e8371a5f33377ed4c436b82b6437892e9e377e5e2e37d4d94e3eee2f4c3f610144374437a036b019423e735d453f64b4a4370f4b78370df7193e87e8253f8be83338c5010a379189dc3d24040b3fe333bb3749b4ac363e95963d71afd53e6b38093864f6af376ccfba3c92f89e3e3bcf3038e5677b3765b4c537df36453ececeae37fe0cd235b57b863780d3843dca4bb73751ee9e3671e9e436c462953898f88f37399803370c72463706e64938a3c10538bf8eed366dc1d4364c8eb937a7d62a390a7905377d46fe364ce51f3826a08138a5849d37f3cb7337d62417387fb3d3391554863759e82e3743d3bc37028306385bc88d37d9042d374423ad37fe2e4f38bf500b38b09ec537b0ec2638b4b65038e25fc337b00a6d37ae6bc0371e690538d61ffc371e26a6379baff937d055133882ce4237a09d603dfee6713f1b3d70373dd4ea36bdd75c3d0bbb663f9ced8637e8081937bb310b3d6075433f39603638ad3e8d37548d453c35d5203f56093638f61d4f376795fc370d71f83ed430f137ba373d37329dca374074b13e112e22386ce7bc378b7624381bff4b3eeddc43388b4a553705dd8f37d0818b3d71d0f737c1ac9137d89ba93714a03f386ff41038000000000000000000000000000000001754263701b00e37b1b0b537bc851e38d01b6137c969cd362131d4376ec54538ef88503706700a371bfa96375c6e223930b6793795a11137f1a69c3785272638c7b20a3802a79737cf550d38f13a8538e7f49f37aeb9163714e58b37fa99dd3700c9e53712d056376364b1373c521d380000000000000000000000000000000000000000000000000000803f0000000032691e37c272bc37138c733f89fd213855e331377e45fa37c39d4c3fb9f0613832ce15375eb8b637b031273f6a4bb339f54e173742f4b537bc56013f3c3342388cc7af37a5f60d3874e3b63eda6c9c38f7573337989374376e7a573e26c30138c1bc663711a65137d772763d030c2d3800000000000000000000000000000000000000000000000000000000000000005ae0f9371d0ae139d53c3c3a06410b3a2f42ae377c5b3b399964f539952ac139c5607b3744292438730a843a7d7a003abf6194378e13bd3983de753a0c8e333a29129c37d49693395d4a0e3a8309f0397d5d15389a031039031afa39cd3ac13943232f38a3cea43842d2ed396c54c03900000000000000000000000000000000000000000000803f00000000000000003aafcb39eae5603f4d483a3a2b99c939709b253980a6403f271d083a6fd67d39dccc0238a7e91f3fb6dea53ae85fb7380db5b139e9cafd3e32c59a3a6fc3ed39f79f77394793bd3ecdcb4f3ac578b7399090a2381ae8783e0555463aad846b393cf744383ef3ed3d6741573ae898693900000000000000000000000000000000d60371374f04be38d645303a96776a3961aadb36d132f638c7ea383a7101e0390ba8bb37a9995b38cfdb223a4dd7ff393b8cb337e9b3ce39f7f6b13a272e983a6c591d38eb13b93862ce6f3a7e031e3af32d9a37d48ae8379243803aaa233c3a24119536b3e2a037ad471c3a0eed083aa36a43370a51eb371f7e393a34b5383a79b2183866a67b39f445143a738b1a3a6be71d38ac47613fb70ff03d799e15382fd3b5372157473f295adf3d846d7f39352d53389eab2b3f5bdccc3d9048be399db6a739f9f80c3f9e0d9f3da5505a3afd753638ffb4e03e0885803d09c7a239968edc37b571a73eb1d23e3deb038539c5c17b37dda95b3e1df5fd3c69e0a539dc6bc0377541db3d9489b53aa74b123a330ff1380fb20b3a0fa8573aba86153a40e51138a8c640398a26313a9e42a639d37d2f3763e2cd3769ecf0391846b439bf0cbc36799f9339ac68ad3aa84c503afb33493724213638f547ac3a1cd98a3a892a0038041c503889e15b3a882a4c3a5746af37ff06f137e651093a5e70033a2f8ac0377c40ef3794f24c3a2a5c443a68a7c63767e80738597e8d3a6117923a680c4338e5546539eb6b0a3af38e173ac24d8d386898403f631c7a3ed99a18395556a737e8c42b3f5893673e5d562a39a0f138390233113fcd96413e6020153a542907383ecef03ed218213ef4f8063a64d12f3877fac13efff3053edbab023ac2c4e437505b8e3efa53c23d27c2c839ea56e33765f9383eda58803d6499143acc1ef737a0eaa93de47df93c21dd7d3abaf0e9388546f13992d87f3ad394143ad0901637416ea939c3ac2b3a1d90093aa474dc375c4fd538c9e4b93ab249493a9c46e6376bd5193820a8263a8e0d023aa68da4379b92fe38b02b653acbad5a3a4a6a7b3709887e382214823a3b287f3a60cfc137b5b0f737efb61a3a9e2e203a9f660c3895694d387074ce39783bef39952a0738a1f13c385c40ab397fa6ca392e7d393804264438a1be92396037eb3981d859394ecf1f3ff2bcbd3e1222bd3920732a38ff480d3f2a76a93e5d1caa394bb213383327f13ef2de913ec4f5a339bc0d0538ea95c73eaec6723e2285123af078b637e33a9e3ee2e3413e9f87453a4d17eb37eb036a3e4a1d123e3130e8390e8a3838a85b173e22a2c13d5034b5398f14263818938a3ded54433db754bc396df03e3809d6d038e063e73cb8eff839fd342638b236a73822a3823a90faff3923a39437e81de438180f403aadab0e3a18ce5137539a1a38f68c423af2aa113ab6afbf37682c06383e33143a68de113aa82a6138a1169c389c15083a65890c3a284cdd37b6900738bd610a3aa7bc0c3a8a4aa937c6ca0f38347ecc3938be083a032a0a38f1f33f385333f9392e1c0b3a86d52e3837514938a5a0b639eacaff39e5c3663871c4fe3e0103ff3e8251cf38c69348389020e13e9ed4e23e09a2b139591d0638c1f4bf3e4096c23e842a403944dafc37418c9e3e1f7ca23e2ed1d53944c8923818ad7a3ebce6813ec00d9139d08dfc379d93373e6810433ed8d8e639af82ee37d48dec3d639b013efe06df399a6f1c38d9004d3da6c9823d4459013aaade39383085d038e7db853a411b043addb4393878e54f383e4ce73c09c6e73915ede23792dc53386964913ac956df396fc1de37acc14038c9774e3a9faf2c3a9525c037a12bf137a05e343a8771363a504897374bf2c1381c777c3ad34d843a9049cb3764802d3988b7493a5e3e583a565f0e388673193817e3dd396b37013a76981638aedc28386d172a3ae4614f3a3cf22d39cfe44b39348cfb3985ee0d3a09344b386143af3e4b5b193f425cc2382e9d44384f73a73eeff50d3f3ee35a39594433387eeb8e3e0c62f33ed1319f3925d6e637f23d6a3e79f2ca3e4848e239f3dee137d3fe373e55e4a13e424b553a2cbbd138e0d8053e3712733e87122a3a43721438ec01a93d2064223ee34ef5390eb720389be4073dafdaa13db2ee413a59a30d3971c2ac39ca33363a5ba7103a0b813c3810c7a639c121733a2dab223ae976a137aba50238c916d33ae3c6b53acdb2c0375c17ea377e6f703a63c16b3acb12e337edcd00380447093a464e153a33a42238a94eb9386ea4433a5258623aa1c9cc37084c2438cd345e3aaaed953ae6506939c4648f3993822d3a825c5e3a92f8ac375e9ab237af2b98390e70b939835870386f8b6c38985f8a39c758b63933878c392e74783e6d51403fa4cdf339fdc7fa3708445b3e69522a3fdb42503aba2ee537960b3a3ef507123f0b14233a730dfb370d51173e68c9f33e0ff4003a82075838fc16cf3defe0c43e5fa8323a7d8310384d74a73d59b0913e81b3843a221f76395cfa453dfdcf413e604c533a7f83aa37f345d5380e4bce3d0f5aaf3974e55b382516d438fdb6463a2835d339db1f203808778b39d61c453a41e42e3a59353c376f4ed437168d713a3502723a7b0a8b36391771379bf9103a0e6a4a3a1336b737b3c2cb370a5f153ad1f88a3a34643238ea943738c4a2bb394462573ac3965d39ff468e39b0c57c3a051ba33a51b508396ffdaf382630d439d70a023ad49300390dc4d5379a2fb3396cf1ed39093d0838b892fa377e5dc938a570b43945fa853928e4ec3d9ad8603f9b630b3a2793cd3705c2d63d5639483fc892323af29c60373caaae3d7f6e2a3fd411283a6f67ca372154893d05f00d3fed698e3a91c73638fb48543d7387e23e4bd7763ae4d68839d915063dec47a93e29bdaa3ad900a838b0c58739e856673e87c1f9394336b6379fce053989bfdf3d27b5fa39fab1ec37112f0a38a32f2d3acffd063a0000000000000000000000000000000062613138f35a42380369dc390601153a0bc4da3715811938510e96395e020f3a85cb91376d5c8b386f41cc39f6190e3a16bd3d396f62633903c8f33963cf593a79b79d372225ae37b946c538f8332f3a766dc0385e2032382773883924a0ca398e89963941336439bde5e139d46b123a0000000000000000000000000000000000000000000000000000803f00000000699044383c6f93390f3c613fd110103a47571838e10d74395cc4403fce622f3a409bad38e4a4af3976f81f3f755c363a0952623939aad2395c77fe3e63da883a4a69b137ad4700383fa2bd3e303d8a3ad6c8233898ce153924eb793eb0ffec39cbe75a3942259139f4caec3d08c1303a0000000000000000000000000000000000000000000000000000000000000000914999350420913579369e35b2bb943751623535c3791d356e913b36ef49b5378b6ccf34e25fd534f872163753b5bf3737e7a2348faca334de8db1376510f437b72384348c416f342e974a37a4386537fcbe8a37137a9137778df3376f0fb137d82b03389c50f4376bcc13384408e13700000000000000000000000000000000000000000000803f0000000000000000d7ae9435d5b77f3f3f1d2a385f2b7e37aa683435c2ba5e3fa5b67d38d6609e376f2eda3482fc2d3f84ff9c3888899a37c8cfcd363519fb3e81b1c138fe86bc37225c1036e1f5993e7aa41b387988b036fe10c5378fe3df3d03e13c388d1d243789b6db37a219d938b32d7a38a2cc6237000000000000000000000000000000005b9226352ec42335f4ce8537daa4c43758e17e35634d8435432f3137decd1638baf1cc35eb09ce356b6cd135b4ccf4361cc8c135a365c33569afd8351fbf2537f7ed7936a6cc74368ca2f13722103d385eb8b9354ac1b7358e86c435dc30c735e21ca8362d89b43658e79b377bfd9a371c0e143607e00f361cb64c3790cd7e37861f053106440c31dfdb0d317efdb036a809163551a17d3ffb8b153c12e33437777a7135a71d733f9f070e3db27ff1376554ca35a271553f7ed6913ce431213674b2bc351aa4253f4d26463c292aa636f07e74364e91ed3e837b0a3be09925387ff1b2351beb8a3e6aa9043c5b5cc1354321a33660a1ac3d1a195e3977e712373a10b83568783f384e858a38e44e4437b02ffa3015f501317169cb37c30700372251b135525fbc35ba17c5359371c435c9049c34f3e3a334c6407436ba69923735990533b23c0233fd449d36c6d90e38876def34051af13428fd7537713726380eb8af3434bfb0340f6dba3432b085371dcab2340ee4a934f7eded3768823738728e5737fd4565372a7a3138fff65238b9b61b35585c1c35c98e1f354d9713375fd18c349b628d34ab4d993403e0fb3538c7ae35c9fe5c3f24f50b3ed8dec835ec14a0342a90543fdd412b3e9aa71836d2a907337ad8303fa32a273edb96b037b5e8ef34cdf4083ffee3133e60aaf13773fab5346a7fc43e8b8aef3d5bc61e3783aaa5344c8f5f3e8cdca63dc469fd37a31e3b36e898903d0cd6193d69ec2338be391d35bfc01d3898640b3915e2d8365ab77c3432638a34ab390d383c989a36882e4c3452144d348be15137995a8a36b4e0043569c2083554a797376125c9379617cd344c46d134bead8b37b00614388bbceb34508bee34e156ff3463a6b136041db73429dfb63408563f367d8b9e3776956c34cd656834825c8b373534da37c3da5336ea133f3737983e3845a442389752f835899408368fc57c37aa16b4375d43d834db33ac34ef35ce369a125e37c3923e34bd7b2d3fc603a53e00a75634fbfb053596cf253f6fe8b33e6ce509354d2cd2344d700a3f0373a93e11b17a378265ee345f3ed23e881c903e76ccfe3493bbb334fb558f3e637e5d3e6ad83c3643e860346b461b3eda6d163e587008374318af34d01db03c80139c3d1a63a137487c94347e480138a4a56039c36bbc36d024a034d9f46e36a48a36383d2ae5369d3ea034b4aa92340aaf9e37c1659736eed2b935adb7c7359bcd8d36889c9b36fd5ff0359e52f735c89df335cbaaf935f1cde035c6c0ee35f20ff7356c47fb35104106378abae7362eb59c3795ccee37ca3af3359ca600365bc2ff35d31afa3599edee3570cd013656ad123663d40d36b0e8df35a706f0356a244a37f85a6c37efd2f334fbcbe53485d5d836cae94937a96549348ef3fa3e2481023f6c3eaa34b2ba9235afebeb3e20e1093f5376bd35a29aee3565d0c73eb90c003f6272f235b441d93538fd903ee52cd43e0c2cf035060fba366aa24d3e3a22993e0acd60373c08ed35a7aabe3d1c76563e16e5ef351649ed356e43d138156ee03db962fa3589e8c8350fba4938692f1c3adca6f835115aba34d23fa7362b510e386a95013638eba834eb66e1364043e437360e2936cb9693341167e134d5f88336a2d03336cc73b9342539b434d5fbba345fd0e4363b555f3469d25f3459055f34988e4e37c0e9bc34f7a7b93447b4d0343693333785b10a357727063597588035c0f04736d309d537a09bc93771b9213817ae2a38c5080e35692d7636eb9dfe374fcde437240c6734eb316134bb8a5436a3f39c36204aaa34aa879b3e7b3a323f5ec1ad34e2189434966b8e3ea3c5383f786f92346eafc0347ee56a3e1d3e2c3f8b77a93407d25d34844d213eff3f0b3f043a5b340d54c134a5fac93dcd90cf3e5825b4349d6d0635cb46113d077f8b3e21def4347f4a8137e8409d384222033e2c7a2c37dddf0c359e0ea1385cd7773a73df0b3575754134951f50367a04ec377c105634fdce993415ecbd36e02e3f3776d18634aa0f2135d3ce2035c11c2035895f193551619437add919376d1f6c36363a91372cbb3e37dea0963421809c3417ae553768f63335b956bf347a29bd34c93f2c368d1fc93784ba8837019c9937d325ee37cc807c37717b94379d82e437300adf37a817af36373e9d368133bc37544e8c37a083cc359934c2355804c235fd67bb3540559134410fee3d0836623faa857634a3821f351e10ba3d9ec0683f396b163599c65737c1faa73d193f4f3f1dde4135eb52cb361de3073da2c02a3fd5f89434758eba34693a503c8023f93eca39b23428739637c87c9938d017a43e878c023645c66f37f905ae383c3d153ef05c0c3357a7af345154a938bbe0253b5af7a634d7a2c035a44fc035e5ed723733d5b735da5c133641713e36fa788336b2aded30215d993654fcd735d277a7357accc33577a4b436ef664836951fd13560748b36629fb1355fc9ba35e61ab335aa63b9351fc7f637f244523771ea9736d40cf83737d5d9353b2ee235eda2dd35b55cd8352de7ce354efad535f97ad3350e617c36cc8ee637ce4bcc37d7b316382a9c17381e13ac367dc86f35b0b6ff3689de8a3666830536ef6b923895fa7f3f2151eb30c6e043368ab09538abf57f3f10bd91353b36a13652150e38df5d6a3fe0d08f36a5b7b135536ee436f573383ff05bb03534f7d337303f7e38bfa0083feba5a5378e2cd935150cdc37ba79ae3ee501d1355895d135d6a3df379b0b183e15fcd53546259e371d4956383bd47e3cbcdcc03679925c35d57ab737c1b9233829b33435000000000000000000000000000000000bceb333f8ae1c33a1b27e3205fc8f37bfe5ce340a68a334b2f59234f4642d376562853419bf83340f476e34a12acf36bdda1337750da7345550a6341848c53755a842376de2e634c3e68a35a198c337d35d4f375ed3d636700f4e375500d037805e77370eb8153790f7923753dec1370000000000000000000000000000000000000000000000000000803f000000003f776534fd4be837faf77f3f247fca378561b034040f2b374bfa633f3cb0d337d84871342e0d143702f5323fe4c69637f2f02437aad2e937996c023f9ccb0b38336f0b37fb5ad13719e8a33e85f5d237ac262737b93de937d0de043e9807a3375f632d37bdf1c137760c823a96b43637000000000000000000000000000000000000000000000000000000000000000075d02b36bcd389364225aa37db6ee837005a1e3693267036f9326837cad20b38c0571a3653f4653666e561380b80803820546e36ba3b8736d2380e38c81a02383e425a3677496a36d2701b3898299b3726219735fae41b38325b8f386423f737f3f5db35c810b63737014d380bbd3d3700000000000000000000000000000000000000000000803f00000000000000002f4689368a42783fb40c0e3984d8be3774c181363275523fe578553a01c19c37daa27a369e90273f05f82d39700a263854988e36fc80f83ece767138ec1f80370217773698e5a13e41847e38d634683669f42638e887193e01a0a238cc2d8135a6b97d37790a64397f177438261fd03500000000000000000000000000000000c02d7734b0077b346500a837bb98d4378acf5035a253a735c7e4063738d9a83742adff33875e06345e8a4637491b193849b3c033e7f3c433c1a80137e0aefd3729ca34350eec6535f82fa4373bb70f386bf78534649c8734ef1a1338614a1d3893929a3362c397334ba83838f26e10381dd708359da50d35b36c3d377f81ab370b12a734d5c2ac34b88cad34584bae34f8487434ac36763f831b1b3d389d483707588735d9de613f631d8f3dadc01937a6580434c8c63c3fcc2c6c3d9d3bbc3792c8c133ee90133f7c47413d979ded3689ae51356131d63e113ff83cbeca1f375504863415ba843ed674373b20eb6537735195331204bb3d4c752d3ae848cf36b9500b350de0fc3767cc9a3863032b37883dab348573b0348cc79837262836376d1d933603cda836880c06387fa1c1370f0b7b354634a535c808ab3758540238fee5063641a53a36cb537737c10206383209a236379ab136c58dce363eb4a03773af9136bfe2a53640b23d37f5690b3891b0ab36a72eb7364f09a93726521e383e8a8036dea08536c7482537c5d177374d141c36d9fb2d36ce9ca536df2fd3370f012b3658f43e36f93d5536f157a6374e069c36c035503f7c1a3f3eb92fcc3623708e35e23b3c3fdb2f673edb2374362f5d24360f06183fa16d573e344b49378219ac36863de53ed248473ec11cdc368fb8a236dd59a33e1cff283e2808a2379cfeb3361ccb2e3e8809033e2bfe8d37a060833613ab5c3d52f9a03ddc2cc936e59f2736db51b03642db343ac766c137bbc63936d00f5436939128380f50ff37a3da40360a5c6636c8745738adc80f38912cb5355bab0936055aa537975d85370ab97436b33d8d36d0faa436c4402b374132b8365f89c9364ffdd837b8b4453813dc8a3688399436dce13c37d17fd437e084bd36fdbcc1364afba93788dbf537168e4836cd3d4d36c4030238f0710e387aa8e035d180e635d9511036d74fb837e79d7f3658338336b9899036b3f899363498553690a4263f4d75b23e76897f361d61e9351ba3143f7fa6c63ecf508f36c18585365574e83e559abc3eb4e9a9369b2ac536ef90a93e97b8ad3e5ac1d0378efc913611ce653e31c0873e4637ee36bc90bf367f57e23ddaaa493ef28dc43614a64936a4a0a53899d5fd3db019433678aadf35468a1a36bcfc6e3aef22b836344b803680d98c367e49e137eb489d3682840735d8d20935aa400638d3a90a377750f43525aa2636734525384b1c8f3700392e3652e38636c4bdb43712b804387efc9f359d241236620ab737ba3c2438bd7daf35af5ac1351be42138c84b4f386b123d366df35d362c3d213871d0303883a9ca365567cc36d93821380adf2438a61b4936a97458369c9b803767ff1b38696af2345006043598c97336eca4583792770a352c51f83e11af033ff5c5053500a50a36a443d83eecf60e3fd1985b3646d16d36efa5a53e81e7053f658ad336a591f935943f663e8729ea3e0ac0543744a8b635cd72283ebac3ab3e151cd037c856503684f5603d8989863e676d68364fc0c236ada38b38a9f01c3ecdf5cb368e0d3a368b43a237270f9d3c220b2837eae10235564aae35268f3c3a33080c37e8a9913693b598367131a337297297362009be3503ccea35025fca374c0105361ba8273629003836181406371771a037c1f9b836a6d1be368c90d436aa49933782bda236afc5a536827d4a37c2f5a6371746e536817fe73603412638c1e53838ef7cad36430eae3676f20a37a8754837bcdb92365b3689367cef88374ffbcd3773d87d361d768236599be1373b472538f8f59236f97aa43eb9c22d3f0aad8336eb75d435dd03893e9f463b3fe53ad635fa1330368d1d3b3e9579313ff00f463617a0bb36b49bec3d18bf133fb989c136f0d3a336df43853d5903e43e5fa5a036d579e43601c4fe3a3bafa73e3ec5d936428dac36da89d7371609363e24db9f360c29803636806a37059a003d81e7963685b1813600558b3736a993392c83cb376393693618406a37d9fa2f382b91ec363cae89360764a936fd21be3756f6a436b7778b36ad458e3665e6ba366384ca361fdcc9368730ce364f46cc36333d8137d1b1e336f1b3db36628a50370a02ac37991ce436aff9dc361482d736300820372acfe836c93adf361be8c8375fc3f1375d5078363cd657364bbf0338f9c80938f32ed53654c1d036aec77737d5d8c3373f136f36ec91243e62d5563ff6dd3c36b56d9e360d90d63d1801653f7f544336809a8b36bf248d3d10794c3f2155983681d6cc36bc68343c20b5303f4327bc36b2bddc36d5ee87383d12043f3d8bc336a5b8dd362fdf3d381c25b73e7887c436d5cbd9367e822238c468483e2127fe3646e253368e0bf837674a1f3d4b811636340cce362506193723768d388e7fbd366867b7341188b634cc249337cb99af34aa3619353e841935b200123519f59b357c888b33f5a19033f11391332a1fb7375957853459ed8534d5894935bedbdc372906a635f5f4a7354b3fa7356a0590376a4bcc33e49ecb3344bcc93332368b375c4d6536382e31367caab837bf26f937223121373ab40f37f7f09237b5a881374f8a3e3747b3c63684b9b6375138af37ce0bb434e34a2a3b36577f3f767fad34731a1835b0254d3857f87f3f4d6e0b352a8f8f33d126fe37256f683fc1839b370c02833495d20438bce63c3f757aa3377522a435884f0538aa270d3f239ac236f15ecc337d63f437e0bac03e0124c5337c1d3736f22d2c3835c0513e7032f23558330f376fa99937731a443dd287d63671d28b36678487379c019e39faf03f36000000000000000000000000000000004593c535d6accb3523bbcd35bb409637d52f6b356f0075356abf813524ca16386fac5a369a064236639f50364c8fa837c26c8c363e0a8a361e56ac36257d04381d84a9369a5ea436b814e037a03a7838e333fe3657e2e936b0d54737d593e5372f78ac37c52b743787dad0378c5ae8370000000000000000000000000000000000000000000000000000803f000000003980cb35b092d13523e27f3f8f0251386edc75359cd78335d888593f1b1ca638cbda4f364c326f36a5072f3f4135543820798d36848b76379ba9033fb3ea2b38f0eea7361c443b38a994b03e472d8938e010f036fd3ee6370f44353e6d6c8a3781cd7137b829be37f697f53c73b19737000000000000000000000000000000000000000000000000000000000000000090203736946f8d36fb5ebc37f9d5373895282036c1967436c08f4c38d52b2139c9077d35b38b563626146338907541386d8cbb36eb2bf636e7d963381cd45438df2dc7366abc3138db4a323a53ad8f385b68f535d308913763a62c38f3b795377e5cb037b42821383ae252383f0dcb3700000000000000000000000000000000000000000000803f0000000000000000baad893683226b3f8411473c0487c0373e637336da24463f7c31193caf9e5338d11e4d36dbb01f3f52dff03b72b26a375f8ce73656f4fa3ea910a938610d003876a23038efedad3e1c64f33b155e4038aaae833731c94f3e52e61d3836ab3b353c8a1138656b623da00f38387f0b0137000000000000000000000000000000006afb9236e70916376e01133885563c38d54f7c36edcc993660660d38858977387d83bd360df1fe36ed05f037cc33013940cf1837723229370efd9637b85a1838b7fa8b36d27fa5369c66363825ea7538e4d00337b8f61b37bf26e537a0e42a387eaae93622bff9369e362038cf553b38549ec2361651d036b1a02c383dd83838f1db8536f8b99936c3f6af36fc91c43735c707375c0b6a3f5c7d983dee7c29381d319636a564503f8ccbc53d62ee8138bdaaf6360e7c2e3f72a3bf3d59924c38a4412737eb6f0c3f45a3af3da6690a38c3e1a33623d8d63e79a9933db4c15f38895416379a73903ea9fc6b3d06e90838faf6f6364ec6233e2872e73c60111738046bce36444ea23c7a0f933c1a9c0638bffa95366892ab361c4d12399ba3ed38831c8a36957694369538003888eced37ce96bd36c2f6db36f5bfe537f4132d38743a0b366742233610e52e38eb2a6d38c8250c37c4591d377774e6379fb342380dde89365a859f36fe22163827d74d388ac7af366a4ec436f3d618381db14338d7d6de3678d0ed36556e443821245738e6de9736dab451370c6966386dfe6738cf896f366bb7863607764937b0ca4838b2029136767b443f1f3c5d3e86608037c7e4d4362dd82d3f64926f3eb9ca143896481f36696f103f78ae5b3ea9116038c69c1b372bc0e13e94d1483e5821243801619c36e141b03e2d16163e60582438d492c236776e643e5cdfe43d8d75fc372fc4ec36a0f8023ebd38913d663f22386e2db836f38cee3a2997003dd9912538ad2a8336e59ac83687b8ad396fb67a38d0cb6b363ac432373ca88b39bb228538e7d8cb360cef14375cea5738be5e6838d6d4df36b5b70e37801a30382cec7038c9c79f36f213bf36149e3138241a70383507eb36af73023745d72d3844e146381310fb36f0620f37f9dedc37d8e21938234ea736c984a93767b28e382e2e8e38f3a71e3717c02537038b2f38e2422f38e08544366c7d62363e55cc37135039387f6c8c366df4203f2710b83e3c461d38455305370fea093f468ec03ecba928382f010a378fc6e33e8778ad3e1fba4a3857b6bb36b738b83e3b25913e7d9e4438acfe003723fb873e60b45c3e73421138e9550c3762fb3c3e265c283e386592378f084d37ec12b43d1b0de23dac604a3860e323372ecd4138b4625b3dfe5e78375f00573669d49e378372cd394fff3438be4bb0360c3198378cc36339b1a83f386ca2df366373fe3601dde037e128083875c1eb3675b70e3741077237125c0838592b253784303037f6cdf8370e224f38c7ebbf36155ed3369e1b8b38c039963893b32d37d549343746331d38124632383b7c2a37855030375f3af03718a9db3708fa0c37711d113709820038640cf6378c62ae367ef3b736c53424383bf94e382577b836a888f83ebf6a013ff2cfa737951cf836fd06d63e5b51033f773a3937b38d09379034b03ea799e43e956a30378a892d375357893ea7c2c23e4b24c437b522cb361235563e0fd1943e62265f38df1033376adfff3d29e7673e11924a37c34b2d37edfe813d986d153e44bd1e37712e0f378cc50d38c0278d3de9c30737c15cb436536a0938fd380f3c15953a380f7266367da88c37bcb38f39eafc2838dbe4d1360f790737892e2a3894823d38fe7e6d3606d09b36754a8738aab79338de4f0837905615370b100b38c4cc1c382f4cf83628f80e37b69438383ed94238d5cee536db179a374c0f6d38f55e603818f42e37cfa6ba373eb18038faab6438c4fb2b37a85aa937f19d7338c3b15d380aaca9361c5b43373f136638a9278638e31fcd36b120b13e6f34273f515ee7364a51fd367422933e6cb2283f3ae69c37cc4a953686a56b3e903d123f9c6a5b3851fd12375e05353e49c6f23e3cb81837f89604370386093e31e1c43e188bf7378482373726ce9e3dc3db8e3e47a2d537ffbf8e37baebf13cce073f3eaa3cbb37c1ff5037c85d6638bc2bae3d8243f73718b1b436165c4d38b7f8373cb4235b38f3c0913679b7d537566e123a58200d38155c8d36dcd9b9366b9b69388a1c723854c0d136acffe336ecc0483852f757389997ca3619a0d636271f203855113d38311fba369c87d33605fe38380ee143382a722e379bd07b37a3b93b384c9a2b380912f037716728386b257b389e575b384f860637dbe0b537f2084b380eec1b388b499c36c21fd43655e4dd37c550d93740b98b3718dd523e9e074b3ff7b39236ad309b367353293ed41b4d3fc44c1e381f17e136a1a2083e12e72a3fbd070b381e6bd536fb21c33d38de113ff368be370e2dbf360bc58f3dd5b2e03e664bce370d914a37e397d23c699aac3e0e984637a42e1b3851913d3cf673563eadc8e537014b8a37b2c73c3875acb13dc33dec368ccf9d36de06ad37f566853caef248372fadd63633fed237df950b3c68797a3797e8b736227cc8366b963338d1d04138daf4f1365cf7fd3650842438e7ae3b386ea04137a78b5037cd480c381b5f1e3892b0db362edcc637d44c64388e626438f2384737769f45372fa10d38f224fc37c301ec37ccb40c38291b283965112c38dc2c473811f34c38d9b8d63975074e383a2cb337d43fe43768234638eb282d38ed5ba837e9a5613d0aaa6f3fe38ea63647e6c7360539e23c70386f3f1a8adf37a6a4fc3635a16f3c780a4c3f3d21f2376c8f51370ada45385dff283f9dd99a371e0db937d7618638920b023ffbe712388fd145374c552c381629bb3e16cd3337cbd00638ca0ba2393198653eacde8237cbd84538b9840739375ab53dfed460378c1fbc374da32c38369a363c8a2b9537000000000000000000000000000000006eb44036392d73361ee84d37a3492238f49e0335a93703356ba454358b87ef371661af36d9581437683c5038d9bea339ee8db9367a80c036572e0d387e706338a511d3350ecd7a361f588137f2924a38fb0de837989b0f3897ac583863d3bc38393cdf36a4c9d836d76d0338558307380000000000000000000000000000000000000000000000000000803f0000000086fb6d3629fd4037e5c7713f9113663817880235c32d69352bf84b3f19538c39c28d0337db9c62380490263f39d97e3ac2acc136a5db1638fa6f023ffc956c38b0f47636b2898937b7cabc3e213b5538266f0e38c57f5738d4435d3e18a833388129db364983bd37ffca8d3d28b8e13600000000000000000000000000000000000000000000000000000000000000004d160b36e5631a36625c203685621e361ea3d734b4309634832287345ab892344222e53412ad45347d868634c9a3cb3406efad36a961a63648a99f36df3487373cc83235b8c10a35f9261935c89e2035b3ca1a36934c013666a6233611aa3236e5fef2365cc5f736a1f0ed364162dd3600000000000000000000000000000000000000000000803f000000000000000057223036cdc07b3fff320537f91a0536e114883464e65f3f9d3143371aad47336f97d5345a5d303f0da89638c606d1345f35bc360202ff3edf076238a1c18e361b5c1135e1ea9b3ed641aa3620817434c8b72a3648f9ec3d5cb20f37e0fc46365ec800378fdb8e3a458734376b0dd13600000000000000000000000000000000df14133546da2235e5984535702f4a358b1a6b357a4d2c352088cf3577e70936c1284335c9762535007a413560d02a35432c9d35310bab3525e2c235fb926236ea1add35879ebe35c99677371c43563899b1b83580f7a135cbf7a135fb0f9f35869b7c35bb749a35a5abea354103fc35aab7d5353f94e0356473a5364fa13f37917f5135276253352030613597f65b352de42735ded37b3fc0518b3ce8765c35883149356d0d683fd1ae323d2c51e4357f664f35f8cc4f3f7d34a63cd9e73d35ed1bb63526bf1f3f1db32a3c6ac2bd3525a8e135b0c5e73ea835913a856a4638174cb335e498893ec83d1a3a740c8c355089af357cfdc23da1089c39184cb5350308ea35f74887382f97a63859cef4351e636335e2b45e355e8b9b37937e543514781536770515362d960837a6ae2e36ee909436d8a195363a52bc367f7cd836d8188e35a6ab7235f8a8fe35521ce73512f70f3594761e35c0be2535db3b233527433135d2d44e35bc577835b43f873532113535f4003d353b824735a1a71535dae71134b95e2c349f17f73375fee33337a34435a3b04635461870357c4be13518d3bb350859c135a7d4be35a69bab35cd4e053619315f3fd13b043e29813136a5da7036baab4d3fafed2c3ed291ab3679c14135f45b303fb8f9223e5b5dd0356d0508359691023f62e5113e8eb2fc3449d54835ca6bb13e8456043ee5d91f35ff980b355112363ea58eef3d7df04b35dd8913348ab38f3cabf6ad3d16cd15347d974b358c41b23747309d3adadb3c357d53bd35c533b2358d31ad35805bc235a1c4823513b68b353c967a36a1d19c3595fc1634c7c683342e60cc34afee9534cfc6c1330f15b33311d7a4339e4dab3364ce7c35f6ab403532434b358db92735975ed33546822436db760f36996e1c3666b08035ab9c613553c14935891a5135811e6e36a274773693648236e8c77d36ee45d636893d00371944f836121cec36a7264c36116c40367ebf3d362c9e3036bc677c35a08b303fb8959f3ee385813504903e341c9f203fd8cfb63ecd2edd3054fd63333207033f89d3af3e9f7f2f32374d50358feec23e30789e3e96150b35c1ae0936c3406d3ec5a0883e6106d435f40c5735cbe3c43dd82b513ef0071335f04c55362248313aa41de63df9b681360048e3362c8a0a377c97243c89caf236c98d37363e963c368b727f3720522c368922233553633b35f9b2a2371ba5783523958b36e4279636abd19936ace1a236765725365a7c3a36cbd05836684e42367877123505c03d35b6d957355cc8693575d30c388f2bb937e19a5138e344a83847595f3511f2563545b0353596e069351181393605bf4936ecdd7136213d68369bf292368b93963670f1a936a8147737847d4f3574ff5e359e8f6735115fa536821d35351c84fe3e4509013fb40c6b3505438936011ee53ed94e0b3fd30e743674083536455bb43eba55063f4b000e36e4a661353821623e1686f13e8631633515e7e037c166163e5e66b53ef3c26d38f1f06935cc1d283d3183893ea562253555e54c3629534d392ebdff3db84d4136dadc8436d9d6d53745af2c3c06569f36a3c57235bbfb5f35c1ad1838bbb95735c7063136653836363e224136aa7d3e362e5fdc369861ec36c3bce9369d0403378c1f6e3634b86936f77374361ac96f36875b3235679b3f35d95d48357bc04f35f49a0636e2f62b3641840836e83f4b36e7394035da2941356f1a4835d2c0263519bf55330cb59a3320f8423336e62232e51694341ce4cb33c2c89c331c1adb34dc818935b6ad8e3547e58e35183c863519c62536bbbf9c3e2a02323fe92336369215da36c4d0883e2960393fe7dabe369e9a5836f59f3c3e2d60343f9d6542364abb3635703dcf3d98cd193f18df22354e630936054c1d3d42e3ed3e4825d035f65316357ca6383a37549f3e2ec44e35c277df3220dd6b32053d163e7a511332ffe4e132451a343711138a3ca7d37734de238d354ea18335a5251037996da1353e9ab8351197c1354a87e835b103be3586651b35ceb159351fe74635b43e3735c7e65534bca74934ea34ec339051fd3300259535e2845235a3594635ff1e223596fc4935e4607335d9951b35d5d32d354f554f35e7843e35caaa1c35014c2235129707362e4804369b5904367045de3517bdb1366ed2ce36aaa9c7364a44c13608bd2d36951f2236464a1d3658b117363207b03538d8f53d6aad613f2bc2ab3536b03835981dd23d91d0653f944c2735401b1934cd77ce3c6fda5f3faaede733e3756c351f84de392cdc343fc4ae133545db333502b256393ec4063fb0942535d23f2c351f10f83763f4b23e4230e6343ae6dd35f5b91039ac791e3ef36f0136e96fb53694f39537745df03cb76cbd362901203665ad733629e9a9374700193604fe4d355f5947356e2448360c5061354bfd0736d58bd935dc579835347d1036bcfeef35f0060436ebc5883501bc84359e78863582519235563ba135b264b535534841368dc1b235993abf35fc90c53757e3d0355719c535a83aac35b65bdf3549972235f9a53735a2f98b357e8a8835e1b29435571458350463df350f2f1e36c9372b35307b453595d85935e0a056352c694035370330384b1b803f9b3454352d98d3351f038038fe21803f69625735ea6bec356e532d36d7f9673f83058d356a2cae35f4096d372d993b3f8af5c0350a56c2358c507c381d520c3f9423bc370c6cdc355cd88b3706dbbb3e9053ac3567f4833598d2b435d8b42d3e636f5c3518e7743526bee2356899523de420d935705d6435ca9a4835a59e2437ed1b51350000000000000000000000000000000050f5d936aa9dcd363736af36c0abea36736b4b36209a3836aafd013642141a360d38b434313ab5344799f734faee1e354d6aab360693a4360bbc9536f490b636e32de2347375ae344f7d3d343027a434a9601934c8c5013420cd743434a5b034438d2d36d3203236878b4136c2054c360000000000000000000000000000000000000000000000000000803f00000000124bc736e811c736a808803f2095dc36cbf23a363b6f28363fb8623f26abe535a8d8f134bd0dd3346395323feee1f8347ebba7360c550237f8c5003f53d8f337be5e8134848e7b3428ff9f3ec8e2c734503f3e3417a60f34bfc8013e0d79e53362bd4036c64a2b36db488b3c081a2f360000000000000000000000000000000000000000000000000000000000000000f9605236dd44533674052038db4d01380f3a113681cc3c362ba1513893275938b74b213601403c36c298ea38891fdf3866351c36cbc219362d290438f7378337b03b96368dd79936b6b76d38416ce537aa07fe36e28941389db4e1387e80893806c33d352a2555359db0253879ca373500000000000000000000000000000000000000000000803f00000000000000004b66473650e9723fa433e5385d4a5d36fe36393657b2533ff6ce9f3b2c999837ff0c3c362bdc273f34a72d3904009138f0ba0d365c49f83ead6fb838cf7d2636478e9b36baf8a23ed9d0a238dc699f36f73a5338af1d1c3ef463ff38edda1937693a1d3517a01d3c84ca3c38e69c3935000000000000000000000000000000003ee596351dc12636c14150389a45ea37e464d235a5503e36ba9c8f371e9342371eccc434a3670e35f11bef36399498369f2d1136f8c844361c755f376e62da3695055036bd715e360150d637eec6623745b309365f1b2b368f8fc337b841fc36f5f405351d1f4b35c114cf374f90d736d7e880350d7a9135c1b80336ddb56c37538c673620cd4836731c9a36761eaf37b437f0351025723fb2115b3d99decb36bf382d367354533f57f6af3d7f28d4361ea804357f28323fa046ad3d3b1548367b824b36f0bd093fc901723dc710a836fca563368ebec43ef325e43c2e6b4f36ca523636c4db6f3ee086243b848435360b9f4e350d387e3d9d1f5e3c52586735b18e8835f07c2a370313a83ae58abc355d2533365e266b364b7f843854a9143848de463687095436f5793a38f8c42c37a40d7935c373b8352d33053678e8e135ab023535d651fa350a895137fd29183787dece342a3bc9353e425c3662a74f36d4c6ab3519d5d93566b2e33593d5dd35bfbc3836e4655436b36e6b38e10e3d38becf5736e8fc873646fe9b3732ab0738951fd335b72ef93513e1023656db5237af28213664e90d363a174336126f9937efb459366c6e4f3f8e732b3e24cb5a3646f3a7356308313fdf53623e1bd7cb35400ddf35277b103f6f5d593e11ce8936b720bd358b4ec83ef796523e00c80e361baeb5358e71803e4caa383ea53ad235f3815e367d79a13df5c02b3eeb2997365fdd7f360e2e5b3894b2f33d1d1977375b86da3548210536af22de3c57bd17371de30936662528366d159a38d39b0338cf8d6036f2b3a1365d356a385873c3367a5007362e1c08362ea60b38396b6e3627a70f36811f6a3664ccfb370f5ae836b457233625c55d36379a8c38b15a4438c9e22b3611da2d36d750d9372b7695375ab71136987d3636b10b1a387c2a3438a803363691b2523603f7d83755fb75384d4fad356860b0351346b53581c35a3653b64236bff13936f27c463615dad03711268b369b1b273f8082b13ed595a336f897ec351511093f2e08cb3e541e123644fe4f366d19c93ea3c6c73efff27d36ce074d362cc9813ee9c9bb3e1f165436a8a11436ed78d83de05cb13e1ae0843602ad3136d171c638d4689d3e2f19bd3755f645367236353873452e3eba241e387e7f9935e916b735f828e63ca8c7d335ba9f37360fea3836ea9a5f3aa8f2c63728c689365436a436c81519385ac9cc36203f6536ab0498364b22f036529faf364d2c8834b8c4933538bb503777f7723573ea6d3619ae78362925a83683fa8f365708b536e4d6e03652b732370a4e5b3763577c36357f81367be98c369fbf8437f819e0346fc1ef346654db35c3991537d1076036979488363d7db136904ed236b2199636abd18f36727cca364dece83644a694360f67f83e6bab033f1d36723626fb853616b2c63e2cfd103f3ffa8036deb95935dec4833e9a800d3f70c8ef34fecd6e36bdd9e43da6b1093f9ea864364d92d6366c9d123d4fc9ed3ec4b2e136f8627a363bf7ce3732c2b33ed7387c3604a8e33463bfdb35885d433e8562b9354aec7b364ddda036e5723e3dda0fa8366f73833656f29b3604dd973ae87fb336d67b363696ee403606529c38323158363a96a2353eecb135057c9f36da42cd353a453e36b9218f36e94b4438e4c9873764a02036cefd38361ba4973761d3ca37bd6612368c752336ff8ddd36340d84375f1d5336e02b4f3697d72937df2586389fcf5a36c1317c366f969b36eadcbe373fc8ff358d391336eb753036e1bf9c3742c2a436f39c9b366fa2ad36ef525837b2244436972aa43e1bb32d3fb9193836c951b2353c19773ebf353b3fde4aaf356d4989363131cd3dcbed3a3f44e7363609ba3e36b6aac838f74c313f84642c36f1460e369fc50f38a0570c3f265014370aad4c3622284f383af9c23e167d31382941723634aeac36f6045f3ebf5f9f36be2c0736a6bd2e36fee28b3d72a95836f29b9336a57ea73672efb13a476cb336b20b3a3643e17f367fd683388dbf7336b6dafc35eb5efa35c4c94a3764cbfb35f4038536731c95361ac68f36d3c597364d11713684a16236273a57362c2b4d37f737e535f4c4cf3531a6cd35d7c6c835f6fbf235c40d02367a213636f8504536d3f95136f16954362d93be3693e94c37da968e35f45ead355739ba357c85d0350a875e366a7a6136a26a5f36b93eb037e5975e36e507253e6cdb563f42741336c77ddf35413ba93d0ffb633fd18ef83581cd8c36ddac923815ab613f13a66636956a5836bc795838b10d413f36c60037d0acac355c79e23587c0113f6438cc35db68e7354422623602e3ce3e87d41d36c9d04e36eaecc136c49a653e4b0dd1366d1b72359ed7bd356551b43d2449d63533535c3671c95f368f35b73c905667361acba83619d3b63647624b387c82a236ecf5943536e68c3561738f3540d7b935e2430335e2121e352c19d134ece41d36a9770d36a6c50536be231636459ead363e2860365b18543638c9523663af4a3721597936e3d681360b4e99369156bf3605ce07365836d9355b9977368df5d4364ba69936dbcdab36164ae4367abf643789b2d736efd6de3605ad3b37b963f437d8f9b036b38ea93ce7c97a3f159e2c36e1f061354bb90e382ecf7f3f24267b355a3df83417d00d36e0c06c3f4a702036abd7fa35f48a4136618f433f9c95ce3691e349360adf6136a9b3163f0fa926376cf27336ee43b836a9a1ce3e2f0a95364b52e735f61a71360634613e341e7236d069a236af96ed36b683b63d28d5ff36bd3dd036f4e60f37ca475a3ac19e243700000000000000000000000000000000ad323135936f0b3593e7ea34982f4b35ac622f3532a96135102e383516b08738d7a1953649f68736d1ee8c3646bd053880c71c3600161e366f2f1736ad64aa37aa1f8936b21d85368c443f3872d8d8380de9bf368556ba360dca4d37b4978738ecbf563695645a36ca5b6636e2832a380000000000000000000000000000000000000000000000000000803f000000006ea4c334deee133594a17d3f5c599837286a28352f6287357928593fddeddd38268c8f3616ef9d36e59c2e3f244e83384ae7033652ad1c365803043f64240a38b51e2037656d80386675b03e8476e9388a51d336f9729737b7492c3e244a6e3828cf5336d4705a36d3a0523dc00cde370000000000000000000000000000000000000000000000000000000000000000263c803448bbd235655275381c50353858dff63459bb7635485d64387c9f3938fff290359807c2359c0b2d384cccc3376eb83c3635179036be28013a5bb1913861a20f36ef654136826b303ada282836bd9ad035d7fe393803c8a33814ebd837412e9f3687593f381b9d4e3af4787b3700000000000000000000000000000000000000000000803f0000000000000000a4ddb9352c28683f1be0123de15e9f368bcb633560c8443f4cb1053d382ded36035cbd359bd2223fdde3ac39d22ddc35fae28d36f31ffa3e913b8e3a4aee8c36e7783a36ba94ae3eeba528390d38c135dd3023381935463e0d216c387d4f8d34fb051f384b454d3dda53fa387ae48b35000000000000000000000000000000008b828133b95af13325ce9b387f398a38b96ffb339b7704340870e637024b163800000000a359ab35b67109384719c337c06ec734c8fa05363fecb2387b120838400581344b858935fee93b38fa10b937dbb707360763753608459c38a9332d3842fd0435aba32635e8214d3821656437ba5d8834f9e28a34b7373937cab700382cc39634ca02a334d8b79635be89b938fe3380332f86653fd6ab7b3d7a81de37d0f3043435614d3f385cd63dbfab1a36b34c693561c7263fae4ec43dba9c54367c41e035b9a6023f2326a23d2203773656956835430dbd3ec5a96b3d3c1cc135807066367674703e47a3d73ca9786b3606fc3535b097b43d4f05293ccc07a0347dba8734bc8c6b37d7a5053cd6308b348a8ba034681a5535f982063a7eb702390f23d23387430e3558f28f38a3e7f537298dab340f19b5341ac2c7382f8b5d386dfd303442a699355a4e9a386c1e6c38040cd935b467733618d25c384c1c0338773d0435583e0635653e34387c110638c6987d360be9cd363f45c038a53099385c6fb6356ddf0536e88a0e3842db4b38987ee9345c9af3347f4efc34976e8138c44c6e34aa4879342d8b713662b99138fb63f033e47c433fd7454d3ec65c523604dfb2343a81263f30407b3e974dfb349a12873586f8043fa881713e14e65436843e61364f63bc3e0bef683e85a6863622d505358c72803e91a64f3e6c0e0935fe1ac336daa6ca3d45d1393ea62de236f6dd033655d53138f10e1c3edca2c637deb4f13469d4fc3458dea13c50449038e5127634c3314136a7cdad39d026c13834a0e83522b734360809013934298b3839f91635bf9b1435554de1388aec15382e0213369ce25036514d9738f6f34438b64b1235d4b314365a2ffe3775948137af91c7352df3fe358c2779381d028038b73e8836e224a4369407fc37ba472a38bbd22c35f09442354c214236e2350b38b079023598dd0035a6130635eaed87380d66783489bb8d34d3cba334cae4ac3762bf0e360d7a203f6e20b43edf3d62366e9814355fa0023fdf85c93e6fa41335dd5b413653f4bf3e87b5c73ea94358366ec7e23545fc7b3ed7c9bf3e07125e369ae0f135ae96073e7d2eb13e22a6923729239c367ccfd63c9f00953e5145f636f0263e35be733b36a6083b3e63fac13798a90135de920535435a443d2e72763875328e34c7baa234542e973a8783953777f5f935ebb9c33726c8bf3a4231a13878c04e34845e5034dc188e386c3d013864c86e35d8441736dd946f38d42c0738d2eb8b3603cdc13638c2fa37922ed237ab88ac340a2557354df65f3804488138907c463622299836b84fd43631870d38a4bd31357394d6355433db3633135138a2014f34bc615034b1a15234d5385438214daa3559362c36e8ac2d380559e5389f3c5b365e73f83e9c6eff3e1d1071369e9550345bd7c03e9f9e0b3fb9545134968aff35b765803edd5a0a3f71681d3644f9b336ed0b053e6ff0053faeadbe3600e72835df81c63d3c57ce3ef1e10838903b8b36bcbc8c375dd1b13ef9b9e636363bc135fa5cb336be48563e17570b381c535034557c51349b1fa03d7af00e3812ee0f368d3dd037a79d6c3c16cdb4386227bc341a1cbe348cd52c3c9dc13237e2022c35da712b356773ff389555f537b81d8c35ebce473602932938111b853755306136d6459b3660a6f23750bd1a38cbc3983571e0d6357f8a3238629d85381d577a35bf49173676668836faf7e03703db2d36ad1b423681b77337e6ef86386fffff34d186053523430036a7456f38d865f135201f2a36a781ca374551b4383990bd343299af3ef063253f36039a349d322635bee77e3e6808343f8abbff34abda2436de04e53de0ad343f1ed0f23560469436bcf0183d6e50253f629eb436a215cd35ae227538898e053f0f7b00387c24fe35c32088365c6fc23e38960d37741a41364c4cef367aea703e6ddf33385d41053558caac359e8cc53d42c30b385d0719369bd403374ad8b13c5fc49c38da3f8e369a023e382ca9b63c27a31238a5bb0a35d77d07355f79be38822ca837696e04363ab72636494d143831a01d381ed074360b68a536317b9f37757e95383ebd0a35d79d0935eb2b09356b7f1538b75f21362e0f5336a6a09036c8a72c38f0d50a36fdf71d361541453796a68b38e7581735d52d1935d4a8a837d74bb8380a4511352b68f53525ec75361b202038dd0ebc3781f3473e4e45483f518a07363f120835c73fe83d85015e3f1ccaf8347dcd1b3662e9d43b3753573fd9442536fec99936a15d5a38e63c383f1260773858c50a35beff183734ea0b3f6b379d37eb6545367e9991369450cf3e0560e237887011361baad236de1f7b3ed5b6223894b51035342e2e370cb3d53d480d513772bfce35b3f66b36eb33143dd0ae2c37e9e82f3680a552381565923c90be2938c0ba8d34acf18e34a87d32374964a237ad358e34d07099342003a634a2619c376c49bf35767621362fd2713601a55938c1408234d2290435fedcd2353fb0033899bbba35329e1f3618d1843630038d3843d82a36ea2137363586593653b4163881340f3669071536f84e843777a420384aca2336be0f3f360def3c3834b69438b9e4273808155e3d30796d3f7fbdad3404e58c34740ccc37afe27d3f80fd863483ef95344030a434d7e6663ffe80c837a7bf17363367793623363d3fb3f05d38678ae934b712dc359dc6123f0848e23758f61636a1968636535dd23e8babab37c9833736dd685a36e29b813e06cb3f36a318133629250f377bf2be3d2aa6873537f230368fe3133898da2b3dda883838000000000000000000000000000000004718f934a5a518356a029a35777fa138d3ae6a345e857534fcfd9534550d42384793db34853edd34a771dc356f2d8036e9844236e4f154368d8d7b37005cdb382a45aa35e745c6358448db35fc3212385c39cb35e9fdd83595dc903710b06338673d83361db28c3694b6a337540d63380000000000000000000000000000000000000000000000000000803f00000000735316353c20743570d7723fa9621a3ab76d763450c892343b9e4b3f5fff343c96ecdd344342c1358e8a283fb3e5c439512658367b2954375796023f4e8be9382adcc1355941db35fb5dba3e2cc60938e885de35c3a74a37a6774b3e114e3e387d989136382e9c36cc766b3d83eef837000000000000000000000000000000000000000000000000000000000000000020d2d8332fad8b338f3dfb335ee70734bd3f16344af01134e6872534509f4b3400000000000000000000000000000000cf26b434866e8f34c50b8c3567e78d35c7213333f20d1c330c983934ca03d6338037a8358dfb683648a42f3192ae2832603e32354d1ed834cdce1835eff1443500000000000000000000000000000000000000000000803f0000000000000000123eaa3343917e3fccd052341e2fd833fe2c1534d6dd623f55799434b6cb61346319f83241ac3d3f0000000000000000d5d919356935103f26e30736d991633506febc36d173bc3e886ace343c8d1535a967313783bd463ecc952a31b2e4bf32673665361ae36d3d40a09b35a9246035000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bf865e33c7fc4d331213d1331b294f34b20a1b34a30104340fc49534eb1ec034f627e434cac4ca3402cddf345d78cb349d309e33aac091338ff2a633afe9d833e7b7fa34b8222035cddd7235f7353d3503c69c3445767334952c9134760496344bd9a8329e3b6e325bbcb032e53abc32000000004bf27f3f0de6163c00000000000000009f2c6b3f0b13053d00000000a2ac97320773533f6f916c3bf12536346c701f34e6f5273f95c3403adf6a81347fc9d834f598f83e6492993ad73cc7347378a0332e2da13ef1220f3a26801234c7d29c33bf89193eb6114b3884c4eb3436285a348b01803c6d35093a13559434c42a4632e9addd325a03c432d594ae3225172334539b1e34b6f12b342af653344ac4d73451bb2b35c983d03583579f350000000000000000ce8bf13485db973460fb5f33040e3c3383184933322649335cd57735734e5235bee597355aec5c3569d2d8313fbdf6315349c934bb8da13159cbca32030aa63283120034cadbf1321a500b3363bb8f32ed92bb32250f0a33000000000000000000000000000000004cab133413005f3ff37d0d3e8ec75d345501333447d24f3f76922c3e12fd783500000000caa3313f650b0f3e930abf3445f23933c669073f216e023ef0ec7133a082f6347f35ba3e60c7d53d20d47635b7c4163256874c3e5b6cdc3d3365bb3143cfa4325ef3813d4d1d603d0d9d4b33e28d0a325ef4c6366dcd8534d705c3320000000000000000601b183700000000c4c53730527aab3093c1523155ddcb30000000000000000000000000000000009dc23132000000008f20e933de8f8832771f0131fe05ed3039f7d33038bed73084406135b1268035431cc735a2adb6352fc40433316ae33273a80b33a198fe329e2efc324f591535dbd5a7356b19b63523d9b7356e43d035760d163619680e3652987e3449f96334e7216835068a9d35ade2e130d7f1383fda00933ec3b3ac300000000054a0273fc07ab53e0000000058801731f92a083f6e47a53e6544313246f0d030e098c33e4e3c963e886d003153258f3561ff643e71c4883ebd4b8a3504eaeb3247c1c83d5036633e47e5fb3200000000403bea3c7658e23d532f7e350793b23521d13e37de598d3a0c6dec35d93c4c3427d067350d20ab3510aa6f35000000000000000000000000000000000000000000000000000000003fada0340000000000000000000000000000000001b65f3374ae3c338b874633c87644332d29a73474a790347fabcc349b64203574113e3376f72833acdb4633a5e02e33000000000000000000000000a69f8f34000000000000000000000000227ceb3400000000000000000000000000000000000000005947093f2e7bf43e00000000000000001db5f63e5a73073f000000000000000041d0b83e9666043f00000000412e373361ab5b3eca06f03ec73b37337c9e92348701c43de096d33e36f18834e547343395386b3da8018e3e21b52f3300000000db70993cd961f83d000000000000000028b5c73803bc803a000000000000000000000000f142e53700000000cb8f283427191235e43011369ea4c33527709435b53ea235e442d535fe7e9f3500000000292e59330a115e35771a3c35346f1c332a0400331e320b33b5d8093357178535972e6235a11e8e355a4a6f351a8ac1303b07d830f2f4cf3007ff903079b696327d8c1232124fea32cb7d633200000000000000000000000000000000a0f051314a76b131dd6daa31271bfc316ac41a34e11fb13eede02a3f045e2934ba5c403512ac9c3e11b4343feb046435000000005d683f3ee9912f3fe0aaea343778fe329ca2bd3d88c61a3fecbaf4328dab153545f6463d880df63ed8ee74351f250431a18d0c3d29329c3e6708a63073e38a3178d8a73c8ced0d3e2bc60932000000008c05bf3929bcb73b0000000024f0433187935736f1b3dd313471a231000000004a711637000000000000000069ff3d3233e001321b63c53257a38d32e4b5ae32ccd219330358b13271ed8833cf651432e7e90432f283ed310937f43125307335ad1781350f5f853576429635f8c34533c00b773331714b332a24de330000000000000000c3471a3452fe8134b47970350ce79635ffdff835e70af43539f670344a895c341364493452d7a9340000000025ee393ebbf9533f000000000b036d32f469183e78be5d3fcfcd1332d604253375d3813d2b72553f16a74f3311b5ec31ae725f3cc804323f3bdf123274b7a2356b2fc83c04c5063facbc4435639a9b330deade3ccaf5aa3e628e3c3300000000fb7bf33cf1861b3e000000002cab8135c212b23b69a7d53c318b933577714a347e4a7b375e95ea36393c633498a0b832aecc8c3269bbb532ba6aa932d84894349d247e34ea189334984d8234889012358451c934e226ff33ee83cb3415cdc633420ca6336df5a633d83be033a39200352120d634b152e03449c5dc34bd26d834e2cc7734b0d50a344287ab3418792d347edae9331b2dbd33401e19340000000000000000000000000000000000000000000000000000000000000000a08f993214e5143d28067a3f37cf5d32247a8d34df43ae3b5d107c3ff82b5734e46a4f33e0a9873507b75c3f5ae240331a1ba033a586dc38e9ca323f4733a633ba77d234b66ae739420b073f79c5d934c1201033a986693abfd2b53e893345341be646333858093c3463323ed7c4153400000000750e723aaf2c673d000000000000000000000000eeb50e39000000000000000000000000000000000000000008512835d496c834f171ed34c2b7ed34a665223136f33731d30f2b3141c6f230bb785c3373ac34334244b4335b49b134bd30b134b4f23034821d123518b7393500000000000000000000000000000000d5a13334520a1a3470bc83346b92b434b6af2734f276de33ef24ef33b84311340000000000000000000000000000000000000000000000000000803f00000000ae69c33465c49b3599d1743fe9e0bb34575b61310f4b3f3146bd513f1edc0e3188503333c1bd0f359b0d263f9f178a34e9f42e3499d7ed35df22e83e84d4863500000000000000005d9f8b3e00000000fd890334a6948f36276f013ebc6e42349381b5330f79cd335e258c3c7fc7e133000000000000000000000000000000000000000000000000000000000000000088d6c133ad6f44345ab97d3458978434abec8834dce78234a2d1a5343c29a634e3ae1335aec71b3530788736047369351814f134f75ced3407990f35eb600c35fc4454354a5b18350e124435456c3d35d7a9c53094752f318b150b37e038e0310000000000000000cabe80370000000000000000000000000000000000000000000000000000803f0000000000000000249b4b34165c783f6eeeae342919aa3407198c3469ed5a3f0fa247371e739d3440d531351486333fad558a37491247353ef909355302083fa81e1e352e182f355f062935030db93e80774235cc673035c0c7e730b3d44c3ee7bb7133dfaf5c320000000006ef353de7ed6736ff438f3300000000000000000000000000000000db70c33431e92a35c16bf23871d9e4352b82d23252f96f343fc6da34aa43e2346e852c3257849e32dc7c843488a39534f854bf33675ca634dc06ee3505b7de3543a7df34a2900c356b437836f7233535e42ba83434ea4f349d59cf350110033600000000b51943333926cb3423f92734000000003c657631f82bdd3396b679334439cd358ebf2c35a21b7d35bb880d373f4f0535eb0d773f710fd73ca24fa2356a06d0333c8b553f662c713d9ae9af347250433245e3363f776d613d9b5b1e34c2f43b34d0860e3f1ed3883cb7ae7c35f48ad534b3f5cf3e2ba2923a32d13e35bd521c340c25813e22b3113afb0181358b7f47339f14cc3dcb9cb13af1406c33000000007c9ea233ec4c623b98533a34bbcf2035cf8e193515d5613a1ce61f388a66a031aff436329e88063ad0cd133672d94d33ae5e0f34fcad8139027fc834d32f4333a5136a349e3e47371287243513c1f7349878c8342b214b3778dfd134b95e55342821f93278103636e98f52336485b8345a878c3453cda035069680355d03ea3497038c34b8bbba34b5c7103500000000000000000000000000000000c3b35a320000000075f4ae327c203237b8cf07327d98503f1e5b0f3ec6615b3148d77234406b343fd0fc473e00d1253361a00b34eaca0e3fd1b1373e5be1863438d7bd34c768cf3e91cc283e26b39834a5b261336ee6823e2eb8063ee2490a33a3335b345f6ab43dc06e083e2f82093576d28734ecc5b8341ae8fa3d0822193500000000000000002254243d000000000000000000000000a8918c3a1df10b3800000000000000001a1c0a3b0000000000000000000000007473ff38000000001b9b0c34091095332a893739b2a779341839c7342bd29e343aad6537b7baa534000000000000000000000000000000002ae72b3576e0003530e018354c0b173587610b34569381334e54ef348123243500000000000000001faef131000000000000000000000000004f7a31f83f473700000000d3002e3fe1ed9b3e0000000000000000df010b3fc01ab53e000000006a1f2433ffded03e1a5caf3ece099933b3ccb334b863863e36c3a63e79e46e340000000052b0cd3df92fa43e000000003bf706353c5a0739a9a39f3e2a631135b89475337f644c351565483efccd723400000000000000006869853d57fe04330000000072523231b955c53aba34d737cd7d5135dfbb5d351e6a303bac54f235000000006bf31333211f1a3a00000000dd154f336aea4c33a4833d39feeb2d34a9799d333511ba35d09409366e53ea35b5057f331014cf33a02ad833e0bddf31b97f5034b41f013422cb7b356f2f0936f6d7eb32b217b532b7c9293377dfe533281ebd33000000000000000000000000ad85eb35dca87f352eb0fa3534e6a13682df0c3592d2033faf2ef93e31e19235435b1f33a55ac93e5814063f0000000056bf52321d1c823ec685053f99794f33aaf04a354afbe13d693f043f704f7a34929f1e33379ec539e0d5003fd2198b33d3adc233c5fed7359992c33e6869d235aa06f53175b782337ffa6e3e8a9ff4330000000000000000542ebb3de546173440c196354941a8352c6e5a3b3fabab368ba7493110b21d3291e1273b00ee5032fc57c631afa38f3388dd97393e55b233ed4f5b330100173412662b3548d9e034f8043d3573f62435de2d1135acde173500000000000000000000000000000000e673a034a3a885347a7d8034e035aa3400fc6e34b01f403386d00e34feb2dc340000000000000000000000000000000000000000000000000000000037c8ae379198e43188deb03e4791283f382e73304e1a2e339eda7e3eb8a2313f0000000008a68830539ed53db20d353f9a475f33fc50243579697b3944f1313f63b80e350000000000000000b147163f0000000000684b344ffa4a348059d73e5920be34899e873369535f33b0fe833e168180340000000000000000213be53d0000000000000000000000004027ab3c33f1b237840c37345f832f37c531ed3a74ec933100000000000000006ab9753700000000d94cb334e3d8da3477ba0b352cbda3344db85e35db3c343587e30c35b42f3235744b273350630f33e426d93206dc0233c5d7d134d4b28a34e089c63479f2b03497573934e82e28343df2c134d33d1e3500000000c64fd332949cb6332cd78434000000006885d13023a0bc31d080963736c24433f002423ebabe503f0000000000000000d9c9d63d1f815c3f00000000792b02355c74f437df88623f174c8034d2368c352a5fa9359d22493f85bd9d346aea0933c86fe33234161f3fd9168e33acbaa43443765f348335e13e8cfdae3482673c348e9984343be38a3ea829013500000000aea849339c04db3ddf73c23400000000875d9e3185d6513de6c65f37d007ba35c61694370aa356384fd4a935ec128633695b23344cf34e34823cd132c4ce1c34371be3338c77c8339db28633988b963443809a34b9308d34ca5bb8354bec5e35a5f82a35f39c0235dfb62c356b719f3479239c34629d21354bde9f35b45ac6331c4f913220ef423275dd5834aeac0135784c8c347a5f223465f2d4345aaaab356a9f8635c013be35004bb63506d12e366285223d97a3763f649a03351a790c34b4417a34da35803f0000000080f4c633963b86337f92673fc8c2ac339fc99334020085359c14413f28b2103511af173576fd1e3589dd193f52194935eb978734f2f16035ce21de3eccd29b3513078732b5a2c933315b733e073165348e986f34e34a82340c55e63d494d113586807f35ff5da935a841433c96427b350000000000000000000000000000000061b396340000000000000000000000000c9602333f615532073c2e32d355f13399306b35b8d7343571af2e351d976335465e8935b3b80d350b31d6346731173536bf0f350da84e35be566b35aa1d6f354b60ee347bc49034366c9a344dedb934290d07352ee880348a0c68343bdaa1340000000000000000000000000000000000000000000000000000803f000000000781e13200000000e8f6753fdd5d2437865d6b3210dc1132a4b54e3f00f0c138000e303567a33735353e253fcf75b1384b1829354856fe34f8bdf33e3f672d354dd11635e5e32b3522769c3ee18c493658a78e34c9548a34320d193e1b77b334f02f8e34b5fc6434b7910b3de259a5340000000000000000000000000000000000000000000000000000000000000000e01e7c345e619a34d7f41e3bcebcc8370a1f973428c38a34c2a63d3a98d53137506cd33387f0bf342b9a163b03edf73787c743349fea5c340433503cf449153748110434e376e733f1cd143dd33ce836eba00835939d0d35807d3e3dbd5f303400000000000000006fb7473c0000000000000000000000000000000000000000000000000000803f0000000000000000f2648c349617683f3267a73ca13aca344f098634e878493ffce1423de85a673451d7c43431ec223fc69ee73a55d0523438e34b34765df43e8c63303a38c68e345abee033c1f1a03e488e5238df2fc13301ac1e356e67003ec6498637b25bcd3200000000e137243d586523380000000000000000000000000000000000000000b4f636329cbe2e3231db9a3ba0ef2038dba5b7315ecda831fe342a3ba81ff0377a2cba33cfebc633ea43b13a4b1aae3814597b332399b033582c913be78751370ec89531a1638231faf1873b67d4a737b17d0c33f97a0e33e110113d1e204036010e9832b6c3d732e3993a3c7f59243300000000000000004ce21d3725678d3800000000000000000000000000000000b7553c3254fe633fb4954e3daa482c3224faa931d057453fff12d03d69019131e3a1c533f3e5203f4e00b13d559bbd33cfd1b3331d31f93eddfb013decb80734927a7c31cf20b03eb5b3eb3973ec4e3198b40d3387513d3ec8425639cb6218336818de325b2c5b3db5bdb33707e1343300000000f647e736732a973c61464c3600000000000000007ef3923b000000000000000000000000c81e933b57783f3844bf1834158e3434b4bec33ba58d6938dfda1b34e8cf7134989bad3b666a0138000000001fa291337d04923b5c714038a0f7423415b35134c991d93c20418c37606cfa35fdc80536038cb93ab6d60b3800000000bc10463312b82537e30c6e383aa336347fe24734612b87345bdf9638948c82346f4e8c33dc89f831b8ecef3700000000f915433f39f5133e00000000782324342e581f3ff921413e66275f347f3a5334d972f93e5a21323e647b2134000000001f65ad3e6cc1193e00000000efec3c341dc7493e8982f93d5ab09534158bfd354eae4a3d4eccfd3d0000000000000000f9ff0f37c150f53d0023ed3648dd3334c38f6d349e0a1f3ddbe27e38ed78b733948f0a3260b74e3b6a9e963cdb55f13200000000e06c0c3c300f393666321e3497313634d69bae3c507422380000000000000000cfe08d3c44b101380000000077c57532c2ecd93c513019379f9c603413067534fbc69e3a61050f370000000000000000c3715637a4b33a381e445b34f1c3ca3499ac03352be58f385a655c34775a82347a2899342d0990380000000000000000000000006e36c13806c9d832b8171d3f723da53ee339bc3365de2f3475b3f03e1d6ca63e6160533400000000faeeab3e619ea43e000000000000000091674f3e932d9a3e9e6fd233df2b6a343003773d4f76a03e504db83400000000fa17913620279e3e2b0d2934226fb23483f7f23452cc6d3e2b836538570c7734935b93341a9fde3dbad6463800000000000000003997d53b0ce9a1380000000000000000835b443d62877e3135b6533116d089314c8b2d3d3e2fea3784733d34d38d56349b7e0d3dda8444348776483477b17a3459db83394aa69d3400000000000000005c0c0736630f9737d9658a34d5399634b44baf343eb03c37454aee33d88b2234f8f64c34dbbccd377171e630da4e3a31cd3c5c310a3187380000000000000000000000005afd0b39000000004b5fe53e504cf23e00000000804e8031d152a23e9ed4f63ed1dd493137ec5834dd01483ec4acfb3e070d3a34f9978034122c923d6c45003f8341a63400000000569f43361377003f00000000881e9a34a96faf3498a4dc3e3c348e3421632234af1352341b9c913e4bb34c37d77a2331709b47317c4e283edc2c2738000000000000000008ab173d535ab4380000000000000000f00f9f3d4f123a3886a26c34be1d8734740e8f3d1d285837ccb920366692533649ae113a35d74d370000000000000000e174a73781281b38e2e6af34e3589734e2d7b9341c68dd37322107358447903455c21934fa86e237000000000000000000000000bc597d38d1da1434f318203418fc4734a5c508392025e73458b45534b33dab343704863800000000c64f923e478e223f000000008cd07b34e2162f3e9712283fe6589c3466b63b364b76a43dacb4303f5712ee34000000008ab6a4377cc6313f70c0a334b8a29434cdd6b2343cf6203ff39b5b37a4948a34ecda3934d055f33e0041b3360000000000000000ebafa93e80e6ec37756d143467ad353486c4423eb81fcd3719c5733471123f34c4767a3d99700a356a217d340ded95345cffa23da942693475f9693446258134fa2ea33c26575d370000000084bcbc348da93237abcb133800000000000000000000000030cc6a386acd6f345a618534e9798e34f5c54f380000000000000000c5d68e32ea85b138efda7c336c09093490523134b8d5d238fccf2c34db0446345ccd5834ce28c7380000000000000000faa0bd3646dea2389b5f6934ebbaf93dcc47483f0000000024647f34e9e9a03d00e05d3f1f158f34a15bac348d866937ec11623fb7b45b36000000009954ec339221543fa7334f386197843416549234bfce283f6ff90d380000000000000000610d033fbbd979380208e93312a31e3481e6ad3efce7a2384f1b403450135734a677403e56c1203800000000d71c98324119be3d53ad0c380000000000000000f446e53c000000000000000000000000ffc58e3799a13e385b7b1e339284243302e93733ff3b4335b2dc1d33f9600e33feeb193319fd023843888d319f184e314e2248310df33638a801f0339f5afb3375a40a34844a2738fa99bb33c85eb23301dcc333d1c019395d0b04326f13a5312909a5316429eb38dabdc932eeb55e32ac9115342fd0a33800000000b22b283d59506e3f0000000000000000ce35db3687da7b3f11664536bad327337ab13633d229703f6baefd3206c915338858143337ea483fe5df3938ff156231fe5c3431c31b283fb33bee377871003497f00a345e6ff73e205fca374eadbb33065ec133e5e1933e3e0fbd387ba1c131814c8c319b8d043ed2bda1371c278b32d26d3b3253096e3d7b2a5438000000000000000000000000000000000000000000000000000000003d9d0b38bf85bf32cc3ebb3224dfd032b962f737ed43fd3330b2bd33d8e0bc33e85425380ee47b340f9f833428128934238b0a38048f9733eefa9833b96e88343d2456395fa6a034aed86b341e3b6034b5ec743810eec03471fac03479f9c634f380ac390000000000000000000000000000000000000000000000000000803f0000000000000000000000003068733fe8a32b387193c13206e0cb325e2e4c3f0f2b153daf90ce33a98fab33e3a3273f52d25538911c8434c6db8b34c6a7033fa68ff437bb7a9c33141c8734cd89ba3e652b8f38caf68034622f4d3491622d3e3c132c375ccec534ab99c734a910983d7f46f0370000000000000000000000000000000000000000000000000000000000000000c46c5536617551364ef6f7365e57563767aa113760ef0d373ea0ee3739412538d6fabb36263f80367c7aae375c600638e9a280374846423785bd0238f75a1a38d91d2a37648920373a0ac33793dc0038a4e69337573d8d3776b4d137cbb0cb372e9145375a5360375ceaaa372980a53700000000000000000000000000000000000000000000803f0000000000000000b2524e36d9f37f3f20b79c3709731a37e6840e37b362553f268361387edded372ad4a036c7e5293f3f1d56383b828837b82c8a37ef9dfc3e8d1ee0392258f337bb272337ca80a53e6ad9343871c0c237482483370a391e3eebb00a380502a137bb8edf36dde05638385df537365b343700000000000000000000000000000000c5b71a36848e4e361f01f437a2f700384f1b9f351c8b9135a57a5437666cc237d605a836181298361e806b374c25033863a48836d75b7c36dca5bf3776913538ba2b1236104f10365d329737ae28dd37547424373c81eb36f49c95375fd8bf370fcf7936eba85636e9d3b4372d8d003852913636cc613c36ab84b1368cd7203776550a37563712377b6c5d3790cb9937db6bd435aaba7e3fe6539a3bdf1e6e379c9380353816763f2025fe3c9894f83670e795367a9d4c3f0163f93cf63b46374aaf7a363bae233f092fc63c542aba3794350a36b4b7f33ebd869d3cdb2394374edfdb365cd3a03ea59f8238b4b29c37d7014d36bfc01c3ebbe89738a88bac37a4912e3634f1c1374482c13760baa0368abfaa36971b39378708bb37c9209a37b17b00358bd300357f4a9937533f7437e3e99135c8948f358f7e9336d8fd413794573b361e762d368ab1aa377de402384b3daf36457ea1365115cf376e722b386faea0360f0a39366a145237d59cc637e18b543728f9193752ba033877004c38d76ca136629b9b36b456be37f6760038f6334936220f6336d396183713ab3a37531d4f37f3f8483763af8b3706d3a03760e5fb345a66533f4d45323e39e501356db38d352feb4d3f928a413e53849135ec021a3674bc293f4417343ede905f3759cd9936e7450c3fd1d2133e8c00b337f80cb8353fc1cb3e0edbd53dbf1741378680d536f016843ef04a653d422ced37b06e9536fd9f043e7fe4883ca8fe7a375c85ef34abfca83786daee37fa730437f85e803649837737857fbc37bf389737aa9611379dda4837ea1730386c16d137e9ea1036c0e411361996813728888d37577eaa360c65a73623aa4237f70b0238891ae43526b0ea3504fa10385c407a38a339ee367b2189365ca25e373541eb377a3aa836245d9a36b75e8b3757eff737ca78b437a8a5a937edca253863b837384a0f8635a6089835f6601b3779fe2f3777136a37efb96b37e978b9379df5d437a3365636b3f4283f9afcad3e377d253772ad0336c671253f4e79b33efb279d3646d9a236a9860c3f1295a03e2adbae36f470d735476ddd3e8706813eb65b27370941d73558f3a03eca583d3ea2cc28374ceb92362a54493ea08bf13d20bdab365efa0537a024ab3d401c563d160ee337511f86352e887c372e2dce3704901f36505f8636c678b137000c07387f33a5374390fa36142b8b37a7b3163881c5e1372812de36f7d51737d43d0538a1bb0438cd1c27362be21e36cb4ddc372b182838ee5492378af339377302cd374d091c381e399b37844c81373b190338b9c832381854bb371db896375d40e3376baa123894b07037ed832137d8a5083812992a38d438b8378653b337c2f80238c567083810569d3715b99337223ed5377cd3e3378e078636e53cfc3e76cd013ff8cbaf364592d8350778f73e4332043fcc019436d7041f36430dd03e5fe8e43e78c62636b361b836dd3fa33e58afbb3ebd538a3780c42d374e306f3ea750883e1636a0376f3f5137e41a093e86dc383e24c8ac379b8e43361479533d2cf6c13df0014d37184d5237cb351e3876a85a3813aeae37e00905379fd6ce376f941d380042a537ee3ffe3613fa833771eb07389153c037fea3a0350c7592359c37f636c3bf1737c3558137a6d351373524fe37c0322e389529ab363a269b36a0d803375128e0371f123837adb1063762f73f373e63cb375879cf37d6be2d3799da0738226a63386b0a513775821237f9b482377f70ed370a66473720e63a37f344873713d58b37febf8c37cd598937e3b4b337c62eeb3768777a36b278a63e72b72c3fd4836a36dbbf8a358fc6a23e66942e3fe1f37235ea2791354e028b3ef4a3173f50972637182d98361c42523e40c5f53e83a89b36d724be36ba37133e0abcb63e3bf6f036a9eca536be6a963dfc9f773edf1ce136b5b3b336f373de3b7da9053e9152b036bd75013786f0ad372415463b373e1a37f3905b373ad79f3715554738172c83379cc765370aec6737a94db9371bcb9a37c5b597368e11c6351fcad636f2931637cdcec43649ad9836782dc836ec28c137a565cc3709ea8137b626af37bca31f38eab350375a941337b7352537db3a9237fd7ce1376abe9a375086b5378adc0b38d3ecb437214480373a8bb037f085ec3731b092359a499435969d563607c91e3793760f37261ad936b62f3a37cdc543379cc4033786fd213edd75573f57143b364d95e234870b203eb7ef573f4a38d934a8239636d417153ef143353fd4b7903697346b3778c4c63d07bb163ffe3c4337c9200e37e60b833d85efdd3e4069e636f2b973378ee3183cb9a7983e445c2237e23a44377f574e38f2c2243e149e1837013c93356f9f4337cbded53b66fe9435c7c54735b0fe15370b9bd037e1bd4836235a653768ea37370b43a33713208137d2384436982d3b362151363664c86e362f419837b65fb136824152368314b1374bde9937de2046371f9d1a378f99af37f251993744ffe6360ed8c8368839bd3703d8cb3795e68037c11a60378b93e137dcd9a23790643637b04a3437ed4ccf37032480379bef043773686737bf878437f4d6a5379a2196378e3a95371c989437cc7f333751cb9538c6f27f3f383b98363280443693650d3873f67f3fabb521363fab1437d5059238b7be583fc7a34f3650c173375d2b36389c852f3f678d2f3719863037a68e0b38c829013f52142c3750e68937d8105d383d24ac3e3dfa7b3714123f378c210738be322e3e6df91f371099b7362773a937f678f73babb8c03535247c379b259637a31d2338c0572637000000000000000000000000000000006df921376aad67362bf18736e68fce379efd9e37d64fd836436cb1360c53e837b849b237fb5d2637ccee1937ac960b380050fa376f5d9a3770bf89379dd26038e42bbd3774760e373ba1033796070938b92a0b38fcaba837eb95c337a0b229386eea583761870c37c6393237ee915a370000000000000000000000000000000000000000000000000000803f00000000dfa0f036a046ad37e6f27f3fe1c64137f87d6737606fcb37e25c583f48a6cd375d8859372da9e03761332d3ff187f037270ad33734e50b38877e013f13830d38d04c2737ebcebc37f90cac3ef368f637d6ebc6378f50fa37562a2a3e852c0f381278203792e11a3728bb0738d3fae536000000000000000000000000000000000000000000000000000000000000000069009136c9e58c379ff641380421fc37da961536f8b522376fa1c938a06a2238272e6836dec1083899761b397198703893082a352b8327374df32238575ab837a690fb3569ba5b37660c5238465dc03755cd9b379a7d123805f97d388efe453868f3a036bb3c55375427b8376916813700000000000000000000000000000000000000000000803f0000000000000000f6efba360cbd703f854eea38d18eaf37f9c6d4362e034a3f9aa5f1393ac89437c10dca37be9d243f4372033ac904393864a7b1368e60fd3e6356bc39bf497a373d43bf3654d4b13efcc1cf39385875374493a1370b8f4d3eb0e1fa38af440338cee99a368f664a3d3b75da3724510737000000000000000000000000000000006880d1351f8a4f374c4e2638d176d83797b26136ac741c379d311f3809c50a38b1719036f1c3c736748763383e9d32384dc0c7364feccb3607d23c394b43343811325f36ff32ad36ed34c2397729903923d90536a2852a37b2585e390ad413399338d536dacc2c3709d0373854d3273827f48f36f681923631ce1e38d6de04380e734437b0895d37fcbfe2371d331238c808df3597266f3fb847863da2f46137ed6f673650795b3f5fef983d633eb737efb6ac362ae5383f6c86943db845be373881c936bdf6163f7395833d8a02933728d264366dc1e93ee0a7613d2f5ac637d8e61d364f39a33e883f083d4e260a38dad2d236841d3d3e2508453c569af43705d98f36404d313d3cc0343aca8e6d378d2b3037140c8137e5088b388f400838aee9d43661397c3788488838700ab5372830383610f4423610a3703bcd09e538d10d6b36f4437436495f5638dc6443385c890136e3590736b5801b3abfb7013ac89da136e5774b37895b253979b8a4385253cd36c9d0f6364da584393a281539cb339536c8fc4a37462345388a5c3a383058ac36cc3088370b80353849642638e235e9360cf636376089043825740d3893d51d373249493fbb945a3e5b1a6c3790eb3b3650e8383f0f4b563ea72a953670147036d4e91e3f6e68453e40bbcd371fe30436a59bff3e83e5283e60b69a37d979a0368a00c23eba73023eaf2d0a38113cd5362bdb833e14b0b83d934a3337f0b14f3690d5143e0690573db45bf937968fab3626d4af3cacf8613cb3a6f5379437dc366d49d937861c4f381d880238ab27e4365ba38f37898a5b39fda1cb37ca0f1e36f4fbd036deb5623a1fa41b388b4865362fd0a6369d585b3ad1d6153aa4050237db4e0537df48e138ccf92738a8fdd4359cd39b3649bf193aa960d53935d7e536e0e846375845003af837b4397f7fc636cf54d436c1b4a73964b2853810d4a63672ba2b3788086939983fe43794508637c4bcb437790620383c2b233891641837bd20243fa986b73ed87d453708302636c0ca163f6dfcb33e400b3937b3e079363f04003ff0a8a03e2ff718374ed70237ea81cd3e3340853e583cc037bf61dc35288a9a3e07424c3efbb992375c1be53679034c3e1a5f153e2f38003880b5be36ab1dd13df6c5b43daa0e0a3822b58236fc0a433b87fc043d5fe36c3744f33437b28f093846224e38d5a61138d4331c3776f9c2379318443aebb81538752f2237797538370d67483ad80f023848cb1237d5eea23759cf7b39761e1c384d293f3764cc4a377f6d0a3958f02738f66f2737cc465937d8f9213a4a40013ae7f94f377800853787dd2d38884e23387550ad373f81d4376a2e1d3870a013381a49643769db973751690338fa6de937db7681374d789637a53116380298253866b035373af6fc3e9b25013f94826f37a2c72737a9fbe93eac30fc3e70c680370e911b37d320c33e9629d93e6a5bda379501403786d29a3e8342b53ebf17ba3701192537e3f36a3e91f0893e0dd5903709a94a3701a0113e1de24d3e1279c237b69797374eb98d3d521e003ed0b4ec3705a138372674fb3740eb4a3dcbdfa7370c504537599ddc372925033afcd703387635ce36cb8eeb371a2d113a61bc1a38c0367136704cb13640ff873aef7c6039d1dca836bb70be362737363ab1b1cf39ff25f23687f31f373cf4223ae92ffd390e953a364be22b3727b9123aef5ccf3947ec0637d5417e37d869293820dc1b38958b0c3777151d37a45e0e3a1c103c39b6d11f37508d7237e8378238831e1938651857370fb75437c4e6d637f5cfe13787e76837bf82b13e4506273f8f149937c2947136ab7ba73e7cc8223f348ee8368cc1a93639b5873ee5030b3ff987ab379e47ec367619523e0b39e53e47a8df37a220353690e4173e6b4eb23e196078375631063715c9ab3d5824823e7789b6375a34cc368246cb3c28ee223e029c1a37b2c13f36642a10389fef6e3dfabec5370e5d403790c29837abb27d382e55bf37a54bde3646adbb374cce8e39a8b50738c662a8361e8f6e371f3a033c4f332e38e9dbd036c2ae5a37197663394c99b1389db200376be3023773039839de488b3937ab8437f704bb37deff81383df48438340df136f5b12437d503be39ec13823982b59237db879637c8b63938a4432a38e799f036d0e3be365b7dc738930e8f37d92e9437e79e8337fb44b6372f55c1376cf2253767ee4e3ec3244c3fed83283783a0a936ca1c413e159a443fdbca913758c5d43629b91f3e0647253fabfeb637bffbf7365645e23de5720a3fb69d093774995a3778e49d3de312d53e2c81f237f6799836c7b3e83cf77f9c3e6ff463373f42e6369468403870a93e3ee16ba53735bd8636a6a36d3759ff833d44faca3601c16d371928883745f783388e94a0378cdd7737bdf58037a7e9463920ad08389a019136b96590366d3d6b3991f45638406a0637319220375e9c32384c5e4038927c7a37640a943764015638ab008c399b6b5237d6452737b08d0b3877129639ffcb04377c21d736a0860738482f28382ab3bb3761a58e371099163893da32382e8bd437949dab375678053862a4ee37a30aa23711b75f3783fccf37c3d2dc3716c078375ada5b3d0e26723f72f95a37024690365c37633d6f6f663f81e9f53694baee367e4a203dd28f433f5cbef7375946583739d18c3ce945213f086c1038d6f82037f9ad4b3b75e8f73eaef9ce376da0d4364ed0083815fcb03ec76dac3779d07637f1f2f4371ad6513e4fbfe137e9379e37fbe3d337add18a3d07caab378e272c3796d67b3702452438b519a73700000000000000000000000000000000703ca1364bcd90368443a137b16cdc3733fdad3746da8d3712d24338d444f7380858f136f47c5f36404fa13714835039a8133a37f655e83698ed8a3703cb1c385f032d38827eff3743bc453889567b3888d5ae37c7641b3707b0f43760b63d3833c4dc3792929737a3bbe7373f0515380000000000000000000000000000000000000000000000000000803f0000000022589736c5d67937a04a733f3db9be3765f697377fa32f38be754c3f782988389b39743648d4a63757d5263f950cdb3895d40237595b94378720013f79b11f383d6f0338e5b039389a32b63e7d667c38b65e2237161e8b37f40f573e70813f38cd689937ebe2a4371e6e723dedcc083800000000000000000000000000000000000000000000000000000000000000000e50f3372666a1397a3d553af83d9239270fe637c8fd8b394267e839debd9e3985af2038251f043a84f76d3a8d8f233a28c9263835b8473984bfff3982fe7c394d33bc37ada7dc395f47553a4995083a97a402395fcad0395d052c3abd04e3391c5c2838ae588639c4291e3a1bc2b93900000000000000000000000000000000000000000000803f000000000000000011cd9a3850f7603f535c513a0779cf3831a90c395e66403fd45ced397f56503993266239147c1f3f6f75783ad675c83998a98c3818f5fe3e6c8e163a6c441a397e981439bc64bd3ed1dc623a5cab9c3947ea8839cd20793ee3b8473adca8b439ef634238aca0ed3d2b97383ad1db123900000000000000000000000000000000c49dcd375b88da39aeaa1a3a087fd5391c43bf367f0c9c389c0a793abd5f9e3996436337e5ce1939a11d063aac98b2393bd2e93757e21439b4bfb13a8060043a5132c4371a00ef38b04d533a567fcd394e092b3705a1e93764db123a12276139b0449b37237fad39ae187d3a80b30d3a0276a637a20bdf386692803a9fb2fd39c00f0f38062ca639bd5b163a2033013a3d613339c1e3603fe148ef3d198788391bed6e377af8463f1ddede3d1acfa638ef63da37bfe3293fa0a4be3da14a433918f20d38f4240d3fa4fc9d3d61987b395839ed37f8efe03ec72f803da2f3343935187d379bc6a73e047f3c3d3f230b38ffc1a4389c2b5d3e4869f23c9306d5394f8fc337e56ec23dd6ebac3a51562139d22ac838cd3c0d3ae414573a27cdd539b4aaba373922cf39a6aa843ae1dbab39ac80be3733cb223994fe9e3ad69c0e3a01eed63623421e3a1cdbb13acee8533adcb33e37b9c2333a22c4ab3a47fe7e3aa3e254386ec3fc396e74593a07e3373a9629f83785329739a15c3a3acf9d113a5d2c9239777e273a34dd803a48cd633af4d92b376580dd3969615e3abe6e3b3a95beb037cfb03238e1cdc1392c52bf39d0feb938e24c403f99d6793e96a3a33859f4163835472b3f3602673ec5455339c696ad39b5bf103f1fa13f3e58e6263ad3accc3918a4f03e14b9203ec3234e3adbb28239a8a6bf3e47ebfc3d47d6163ab1b00c38e6c48d3e1fa8c03d3f58c739b867e239b3383a3e96d2793d0cc5453afe3a05397692b03d079ff53cd057183a6f2ce837d1f381393f70123a6d43ac39b6ac9d37041397396494633acac6aa39915a9037fe68f037f938ab3acaaa073a7eb22f383cab5738e167ba3aaa21423a1cd98b3782c1043817dc5e3a4af0043aa49449385578ae38c4d5053aef2cac39a1fddc387e4c173a7ba3873a513d703abc8b4e37b6e60d396aa71b3a1e88f4399f19363806e4a439e1816d3ad2891d3a01b6cd376838733848decc39f0339f392946333876f21f3fcde9bd3e47da9838a383c93793ce0c3ffca4a93e71466c38142946388588f03ea60d913e2445123923f2ab37e1d9c63e051f733eb1a6e1380c375a38c7b99e3e8fe5413ede4e193944faae39c067693e197d103e1317493a0cf977370aef183e0b0dc23dec61a739d4363c380233853de3ca2d3d0818ef398e4bfc377fd8a139ab56103a2a02813965765238ff045639eb8a0a3a9f90a63957c99837dbf80e38239d983aba7f9f39360a4538f065003a118e013bea76913abb41d037a6201f38ba9cc13a896cfb39b4731d38cda83d38766d7a3a8132243a71ebe43795791e380c41963a4ae6ee399d1908394b08e6394a26cc3a1d028f3a55cfc43769f80338370e373a2b03e33998d16e38f9ffb7380f88cd39583eb7398cb7703885fffe3ea946ff3eeae913392100e437a724e13e104ae23e728511384911703934fbbe3e9c74c13e862b133a0366083872959e3e1e09a23e0cd53038cce12e38e3ec7b3e2a08813e9e9780398a1308385b79383ea63f423ef00836380bd87f3916b0ec3dadf3ff3d7f6a303a2fa2da37641c523d8d06833d604c1839e77a733860088a395b340c3a76a5973996a888373d1920394b7e1b3ab37bae39e56b1938c15b6039b817923c0ed12b3a096a0f3778ede338d2e7303a4085053aac6cfb38d3fa113a23e68c3ae3d9773af3d452381f506a3866b5f9393618cf39294fa737073d0a38709d413af9330b3a7cfb3d3806f35038bd3d8b3adc8d543a99d1cc376684ea375a424d3a7cf6223ac84f2b38e56f65388ad0113a55ee0b3ad1d10a3877e7bd3ecf42203f21bbf83870313238e4c8a43e4b950c3f286ad93908565b379a4b8e3e0a13f33e82db9d397015b1391adc693e1e50ca3eb584493a62eb5f38c3fa393e9d0da23efd5a8539de6abf377f30083ee0cc733eb6f0793919594638d1f5ab3df9d1213e8386d839b043d337fe3d0f3d8f86a33d06a4bf39ecc137388043333961556d3a08e5e0392c6f7a37fe3e7139a428303af8a7a339e63f0737b934c039b63d803a9a234f3ae7c26d39f4a6153af62c873ad85c753a9189063880f41f3979e53a3aa463293a94766039a2b2df39ef01523ab844433a5789c4392df61f3a6e378d3a8dc2853a926cb6390b5d043af7a7863a65c06c3a90a721388d90e938cb5c723acb53283a408efc3785081638cb13173ac819113a508291389f55793e95cd403f7a189f383f4c0e3925ad5a3eba282a3f11f1143ae218db3906fd383e798c113f3668513aa0ba11383ca4183e319ff33eee1a013ab472a3396aa6ef3db823c23e2c5f293a362af339e9b9a33da2a8913e83466b3a20a7ca395cb5523d09d7403edb0a473ae70b29385bf191398e93ce3d4d1a9e399349fd371ffe2b39939e913a53b6de39480cf537a8e57f3967d2663af2c5133ab1177e372bb6d237d9b49f3a9aaf783adebf9f374a9e4139e6d9863a06b8613a41475d37f895af37fd6a163ac461193a5e0bdc374728f0374fc8253a3625153a104efd376c5a7e38cc0b5d3a20ba503a61d713381aef4e3860e9d039d034c73989277b3752f7923754801d3a595d013a5d0a343979c45439ca3eff39a3d3fe390e700a39853bed3d1ded603f5556dc392d22aa37f215e63d636f493f9090fb398bb7a13858a9ad3dc71e2a3fca5e113a1e277f3711848d3d5cfb0d3f77badf39488be4371b32553de9bfe23ec318b239b23b033854ad113d7dafa93ee31ed7398e041638b113a23c9a3f623edc55a33931137e37f934bc387649e33d3766883974b41439ff548d39680c263a897dee3900000000000000000000000000000000fdfc13380cd23a387c9e2a3a0a412a3a6cb89a382e5a4c39839c133a0cd6243a5fc85c38f6470e394436293ab2a1493a09472d382f813e38e558a73907c9df3992a11f385d82d338c47c2f3ab216473a654de3382216c9388ed8a739e786bf3919fa1038a09a1338ecf1cd3945a00f3a0000000000000000000000000000000000000000000000000000803f000000003a652b38caf6b939cb25613ff4ba113a90141c393495d6397e48403f4e59183a650fd438d2dadc39eac21f3f4c0d473abc92353899f72f399d67ff3e8a18cd3974d721384e7ed5390dc0bd3efbad483a7f5c9a38601d34394dfa7a3e1958c1391f0e0e38ec8c7a380015f03d12e70f3a0000000000000000000000000000000000000000000000000000000000000000fd661035144b1035f4148a3642423137e0c2953511858e355b8d5636eb621f3876aba336f8a38e36a01f8f37a03fc537f10e0e374f46cf36743c1238a18c213801d24b36dcef563635210937506bec3652273537631f5a3774c6c537d39e4837931cbe37355cee37665111382d84c73700000000000000000000000000000000000000000000803f000000000000000000000b35eda27f3ff741f237ed3a0037ab2296351031603f9cdaee385468fd37018fdb3608db2e3f7aa23538f45aab37a79e9437fa14fc3e0ee27e3846710c38ec629a3652459b3ee52c8538e472a33623167537e926e23db4495e38be98dd36ecc99e37c4f6993839104e384d687f3700000000000000000000000000000000cf062736eb3f2d369d1df837ed6eef375451b335722ec035df0afb3501c2d13655fde635cbe9e73582e2f136c9c6f437e4ecb036208fab360a5f143798a88637df9a083627830736dd47f037c06e28389a140d3668a80c3687efeb3615862637ec315936df285d36cc9cc13663beba361a4cf4352947f6352defd9369568d43603135a35fba38035b6d1a236f9f53a37a2b024360f757d3faad21e3c925e8f37fbdbb3357e87743fe3fb0e3d04d011368fdaeb35b466573f8f848f3c73b1ba37f344ac363533283f5440143b2cdd453795e309367d3fef3eb6eff03aec07123880b411361c758d3edb6eb939bb88ba36fb2b5136f817ab3da99a4b3ae6bf88361843f235beaa3838a9c8823811ed5736f6635c355de83136e99e1a38dcbe5c37160863343c92813468b3353884560638aa161336f7e11e36e49ed136ff0f9737a8f0a436f77cab364f43183727d1ce37f4238b35fa49913587439335d0187337bc24f335751e0036a6c48f3757d8f23792021436b2562136ebb2353899e952380d939f35c802a2354b99fe36e5321237202db5352938bd35cdf32a36da7c0a3703d86f35b9e4753570dc9d36855a4b377de65d3455195d3f858b0b3e44fb5537426a1636e39b553faac8273e00522b36df3f963634bb323f0c32263e1a37383794728e3576fc0a3f5fe0143ee07611373e90f7357e23c63eeb32e63d2528b237cfb801366a59603e78be983d7d431e38981fa035a6c3893dc3fd163d22050136464cb93551e864378b702b3a52a06836215c6f35b3b4773590306938f4ae43370a9a0e3668472e3630f6d137e09b5f3715402f3540688b35463b0a388d39e137c2b49d358616a0350ddd47360e3abe36564c133681c9143626bcb3361c393a37f083c43572f91336216a203875c4383899ccf535fd5f0636fbd2e5376905ea37ddafda36dff3233720e92338b31cbb37bdb99b358df4a135484969363f784e36ae2c0f35059e0c352759b2370511c537d805e735e61e2d3fe0a2a53e3b813f3609b02f355b32263faef5b23e0f06e73501ed9c3534ba0c3fa590a93ebac6d33582260636fc51d73e4d348d3efdf7773639f9c2355ae0923efcbc543ec2b5e3370638ef351b43213e7e990d3e46341937ad474636c0e6d73cc97c8b3dce8602370edc9635260a3337d2bcba38403f983512d90b355c9486371c058338a4eb3437f9770636c7f26937fe9f6f385dc98537a25205369b700c36637a1637f60f1036a50582360cda88362d0da5368f97f7360276633697566436b91d8e364af9ac36c3a787367608c736cfb5df37a2a3fa378b8163362ca96436f980033722ad1337ca4da836e19f063769ea9b37da5351379b850e366bc71636971d9437a4e436378dec3d378afd52372afabe378a8cba371cf6fd35d507fb3ed372023ffae8043698ae0636e985ef3e3e40083f94d30736936f6d36190fcc3edfaffc3efe0f9936ab986236940a963e1cf3ce3e17a76036774d7c3644c5543e0da1953e29623037510366368e01cc3d393f503ed9c860366e809f36740d063c6225cc3d795698366d610c3684c6fa37bfb85439aa6c0d3670be13367ec2ac37665dcc3885386337f6290d35af57ba371211343856450c35242487350539993504a7d035a3e39f357884393646ff59360c99e43637950f372fe80d36aa340836ec91cf366da159378244d0370a7ab237b24f07385f391238c86a9636f8cb9d36b92b1637bfb30e374f875d3658868b367a850a37fd1fc13653649737d0c6b437ff45273870fc0338292d0c371bc2013759978c3751a76f37d921093594b79c3e1b9f313f4bfb0a35093c8e35f2f6913eb303373fab1d91355473353619c1753e145a2a3f89723436765a05363f2c2e3e33be083f59d3fe3559716d37d435dc3de5aecb3ede352637b7063436f4b72e3db788853ef9112436d2a5eb354fbfc238b1f2f33d1737bb350d967336346d6238ceb6943a3a04e3355bc25e36d9949b37563212383df94836f75a3f3665dc67373dbd9537f6907a35a765b7354dceb83530c9be35d7a1be35157f9e359ca4a03552bf9f35918d9d35dbe582377b3f5b37ba0296368f92c936e0f1a23751934637f4f32937ba175037abbfaa36c73c4b363970943546848f354ae18137c3817737fd91aa375b0675378e3282369f01b336fc9f07387b16f2367c645c3702d49837da9e0138ab446737c79b783557f5f53d1737613faf71773565deb635e501d03db0db653faaa2b635bed29d35f234bd3d80b44d3f156f9d35cce7853763ab443dff7b283f73a61a36d65e4d378e80bb3c889ef43e876a6d364542ae351dacb5392e769f3efbf08e352c30143799f2a43959660e3e66abd23672fa2b36d2d8bf388c5ded3ae3011d36a33fa736e6563d38d52879380199683413721b3715f33d3782dd343700338d356d30f7358b70fc35a093e835b21af335aa005336ba93563652d53b368e024e3677bb3736a63f1436c2d00c367ed00e3696f4df37e362633763ed6c364f7ba73735cf293706e10d3766d900370d6c14371c806e37dba63d374fbf8c3761444f3711e31e36ef051c36b46b8d3697480a360a943b37e0774a37f84e8c37dd6fd036adb611372eb3013a4ae17f3fd3693d358fd4fb358ffa943861fc7f3f6af6e535d0f05c3676705637156b6a3fdc3045369c8e153677e11938682f393f39b40b36e75fba375489753883de073f2035c736618f1f37f05937388173ae3e5ceade369c6a3f3795b08b38e752103e37abba362d5f1936f8a780375fa3253c66c2c735a7d591364031253870c6833885e7403600000000000000000000000000000000295817377b8801366726e3352cf2a0375a58c0360ba642365e45ca350908e136dc2b5f36161d02360c7af535cd05b1367b5bfa3778308e37916e513754aa18381471af370e5183371c1f69372b8ec837bb0dc337a8b65b3756facb37baaa003840ca0e37e663d93645e451371ac453370000000000000000000000000000000000000000000000000000803f00000000fef38936c19ee837c2f57f3f72ed8f37fe11a93657512637b4af633f2d7b7d3788d443368e928437825d323f509e8c379a69e337e37330384fde013fd1e222389a409d37ccc1f1374f2aa23e6797bb37717fa437f5eaa038c817fe3d8ff3a7372aaebe3668dc91379432a83a475d973600000000000000000000000000000000000000000000000000000000000000002a139236f0d41037321d8c37bcadc03738dd0e336efb3733da4eb6370981e13741e383358336a0356cdc20383737fb3707e0cb352e56183630ce1c38de201237b9d8d2339d21e633868f6537d1c3da330b877835a1eccc3730db1c3828ea74368d69bb359970b635a243ae35ef90a93500000000000000000000000000000000000000000000803f0000000000000000000dec369a787a3f319c083a8b587537e9142a33ae87533f5488d3383b785537aa669f353286283f3a9299381db23f37ac481036801cf93e467db93841f357364295de331c2fa23e85f5fd37d861da3318578237c22e153eec3f2138cbe533353e6ab73585c7663825d20437d61ca8350000000000000000000000000000000016ecdb3476bab2355ef749386184103884ec5b3367615a333b46e236eaf109377d3b8a332a6c8d33ba06143579989f360e5b0d35ab432d35af6a6c373b8bb037273880354e55b63595040e388bd6f437b24f0c3488d80d34b8eac3378c18e63606f95235cc7e5d352ccb2d3877b9bc37ea0abc350c7f01363ee23a364b6b433606298b34e82f9634d815ee36c3dee2376645e9349875753f791a263d01ef4b3761c25b336856643f809b973de8699f36489b8b333fb43e3f729a733d5fff1c35e0a924356343153f1cfb3b3df9966e3554ffa335b2c8d83ef75de03ca85d2037a2a40c34f49e813eb3ab7a3c2d092936ac9f5735dd92b23de4d8693af95752366376d335b557543635b777385cdf4a3670e68e34dae66f352c8b8538a4fb1a3839a7b335de40cb35117c8a38465d063871df76355be5eb35708f153818ec8f378f0a1c368cd14b36c0eaa337b7139c37bf3e9833555e2f35747e2338b4552f38141f04364fb44336702eb037b18cb737ccf8cc3552ba1b362df43a38af561a3824bdb0352773d4353415113803a9cb37b2704236cac85b368d3dc03739c41638a43e2d35918a36355a2c9a35765b593707c5bb35dea64f3f02ce403e5ef7f735dd179b355acc3d3f0038673e2ba86736480631366cb1193f3bdd573e2f54c73664adc4342197e93ef294473e495090375b3b25366ef3a73ec412223eb33324373091f8358457323eab70f03dd3742c37b17cc1359144583d41cd893dda106336cfd34b36909c4e37676d793a1eaca837603b31357c7c713559a0c13800de6337908d34352cb96e35b369883869eb44378fe3a0366a97bc3676eaca378944e336e0c03a36f6c468366aa4ea37df23a63758b99f34961a5635280b5038a8073e38582c733627b684367a374238048f1d386624c035eb5ff43507a61838a50ab0370cb85a3686256136a305193746a567366100ca3658e7d03640e40d38d4cf10380bd084350d4db835aa3758364facb1370a6b36359d19273fc9c8b13ec9f5a43543c0ab36745b163f6d48c43e0c35de368ff44a363bc3ed3e7895bb3ef1089636f570ef3447bfb23e360fa63e0cf79b3778e07d3672806f3e3e5b813e01dca13699c3d6350235f13df6173d3ea5c7fe358db159367c1b68394d92ea3d52a159368b1dc936d2bcac3752b6d43a0b2a1e3793909835ec5fdb35ddf7a5382f2f9d36e3fe943665cdbb36177dc938a139de36d19e24362f3f56369d54e837b5477636a50c893520aae8350a708537b10e1d36106e8834e057c23435723a37be0d9435c2945236f03867364943db37342151374d23b934ee0b3d352bcaaf3717fa8135f9090936723e1c362389ff37b6121a36a0cf6036b0de71364e2f8e36782d81365e76a936e6fab7367e01e137f31a23384e659d36d903fa3ed8ed023fa740aa360040303625fcdd3ec2500c3f4507583635969835f103ad3e047a043fc5530836211ba734c15d753eabfee33e3406f834c30a5936628e333eb940a63ef4a265367ab1d4340875863da9877f3eff5bc534c2b60a3628d353387140143eae53f63540605f364a3287360fe9973c87be6136ddd7a6365113c83652ffef387f1502374837ee35d7c305369add8a38a5dfe235ed5cc2366fefd6368e775238841f1137e6102f36b4a94c3651886a36fc6b603677bbe0358df5fd356a11e937481be9363f329536a2689b36503944388ed1d8379678b236da178b37b0158238db9f103846699a36ae8b9d36af8a1638033872378c26e436d48ee536a1159a37ebeadf362fae9b357750ab35912010384eb2f637da72f135a052a73e9b552c3f5df6a53518e1cb366eb88f3ea5b5373f7183c43671163836b7224f3e30db2e3f7cfd4e36264beb35ca97093ee433103fb310e735a5d89936f118a53d8796dd3ec6a5883625beb83621b59b3ca1709d3ecd0a8336160b9b3658093838b22b2d3ecdad8036fb85e3364077eb3619e6ef3cca63cc368d2ba235d5ce7937a97fa938af8b96354290c035b342a5364769b13882608d3513308336e59f8b360e803e38b4c372367f35c035011ae9355e0390374ba0d436993483367d4885368762f937cbe548377395ef36d7cb1337ef30a33768cd233713fd0f3658ff92363e593e3852c790379397d936cfd4ce361e39c7371855323713e883365c7a7b36077130386e6d2a3759dbf535f75b8e36703c45381686e8373083c23545022e3e477d543f657f34358d3c8636d942ff3db5d95f3f771b41369b2ed23588a6bb3da7cd493f2958b235e9a37b36734f103ddd5e2c3f4a622436533cf13613b1543c0531003f11737d365577023617e2ab38d198b23ebfde6b3571a3cb36848a0438fb83413e5527863609327b3679000738f179063da8ce1c368b5df535fe920938af99de396824d53532a614378ce80138784f7138762fe03582f33e36a6fa4b368cad3536e3ed1236114b44355ccf55352d54943543aa5d376c0f10343e580f34442f0e360f42843613b08e3615d89a36e4712b375382343782af70356eb871352e61b63641b35435a4a12735ff8930357b19d9365b7da3330925a836fbd0923648359337602f78363358e13678f50037b68c3038d583663728aa97373e47623cdb6e7c3fd91495340fd83e363cd64e381ffc7f3f843ac9359bb84a35f43617387273693f2d2652355ec80f347a82e53766443b3f320c0d34afe06f36ed984d3891990c3f57545b360861733568461c382fffbd3e920b4335fa8f2335a6b05d371a53483ead648d33e325833628238a37329b0b3d6d6c8b35f9959636f4040f38addc063a55110836000000000000000000000000000000003e679b351d91a335b3a0a7355797ae3518d405352dea233563d23a358025e9371e97de331baede337485e5339ae44136023d4f36b69f4136a1c648367481a5377970ea357865eb359a239337e2ba0538699c163781ef5736c2bfcc37a7d9a0373ecf8437bd3a5437cb4dea3716e070370000000000000000000000000000000000000000000000000000803f000000004899a135f5c0ab354efe7f3f2f71b235ea40203563f83c35cba95a3f7dfa1938e9ecdd33cb90dc3396ed2e3f84d55d377b0549365c016036b763033f41f9d3374445e7350fd7eb37b7e3ae3ea886c437d17f6d369b0df337c9a2313ed5933b3327fb5b379f9bbb37a8a5ab3c312c3a370000000000000000000000000000000000000000000000000000000000000000802c2136e8be5f36caab53383a1e5038ba7c5936580088364b750a387a1cec3762099b367fdda536927165386ba949381bd12f36d98b4f366fe78e381f3ee4378a02ff36d9049437c29b633801afaf37eb40fc3657a1c437a2ab6738f3bf983790e74236d72dc037089017385714253600000000000000000000000000000000000000000000803f00000000000000003c41483692276c3ff4ac353cce06253801f47d369495463fe9dd433c8d0b833725e6a136c784223f1c96433adad001380332473684bffa3e9219113aea206a3682be04371541b03e3e9460391407fe3603a51637478f4d3e578d59386cfee936faef69360966523de38fd33704eb1736000000000000000000000000000000009dea1d36d68b66367c292638c3932a38ae9a4536f64b9536f1df1a3843174738068c8b368b26b436e46b0f3834ac3c38f53a3b3673ecba3699251b386e635038fc38cf36e5b6ee36d2eb7738bc828238a75ac33696a8e5366f927a3879a88138a6d6bc363ef7d336e2386a3813f85538d15a523618ceee36a3fd6838b5764a38d256053667132d362e1fa736134e3a38ede9453648cb6a3fb3f7a33d9db91b3891a68036e9ce503f51f9b83d67d339382a42a436d63e2d3fa2f3bf3d0d4b263887186f36f65a0d3f10f8a73da69f2a38512ee2364e03d83e27778b3d22736a384662d836165d923ef8b0403d0fe75f389febc9366353213e6037cd3cf39d0638109454364a8f843c90c7943cc8a80f385f200f3668135a36e8b76e39b7154938d724be36c26369377b395639c7916d385c9618326009f23426c163381e535438b7020f3653a84e366d081238b0672b38c9028d36b21e9d3615a28b380a0197381b2fcd349f748735bbaf32382ea21f38a7b98136a8c99b36b617513818af4238f0d86836fdf67336d96f6038b4a72838d0518635d78b9535fa5131382e0bd33742030d365b0e1e363d4875381a3b9d38a130c436fcf1433f45775f3ed2702a387a4d60347e292e3f44246d3e40a9d837366434360cd0103f82225a3edf1f0038ac3596361516e73e9e5c3c3e72695b380f782d3541adb03e4671123e8439ea3736079136b6d9663e97cfda3dd73c063867996e36f4f6023e0620883d5deab937762f89358dab16389a4f013db859d736845d1436a93015388ff24b3a047f8f38d7074936f7600a370457e639d82d0638698be4355a340b36a18f7d38e0d22338024991366c57c336460c71382e3c5638b9d3c736581fea36e3262a38be0212384b6f8d355bd5f535c7ef6d38588d4e38e6b68936f3774b3794f19538339059385222d7369941e93646e82c38cfe98a37988ebb35b4acc83549d8693838d60c381cd29436aab99b3616ef09387fde2138d3674e364659203f231bb93e2d135c367ab5ff35d4260c3f377cbd3e294f8337af6eaf360799e83eb5bcaa3eec5dbc37a894dc364fb5b83e22698f3edce88837a128c2351b528b3e5a5b633e919495377d629a36f8c7333e22072b3eec0cd737735ce2364aa4b63dde7bdc3d9f58e6364bddc035c6a93d38c2c7593d4d54a93535659836b17c86379d84843aa136f5378f2fb8369955b537bc1c5b3a5c2e013848039e3683bfbe3698365338616d2038a4c4ca368a1de836af3a36394e51fc37317cdc360091fe369682a738b9cf853837c5c136c9231038efa2933899c6803852e4e536fdeb00370b33bb38aa555c38ffd6ee369f3aff36e987b239c26ec53746fcc73696682737696c5d382500f7371ce79d36adb0b436b2604a38c57e6738f12fbf362d65f73e157f003f2041b336a4a5ae365cc9d63ee3a6023fb2826b3739efda36c602b13ea67ce33e67e30537edc2ef367b338b3e79c9c03e9e255337d07a8b376540583ea5cd933e26c739385e9df536994e033e428e643e36c80037a189f736cce1843ddc29143e9cb0ee36a62dce3602293e38304b8f3d17b8c436a295a93616badd373896633cae84f837989092364a4bc537e57e823af280af37664088353c76a835d0408a38b1c5183850e9c836c79de136b2d51c38ca13c9371b9886363837263751a493381b706538ce94e2357d8a1a36edb38738fa3b1f3805c4f1366b230237619841384298f037a3e9e936ea593d3729609338b4be0e389cec22363f835237d2e07738edc80a3885335336f1415d36c69f41389c633938b69294369ee5b03e5801273f5d149a36ed2896354bc9953e4a77273fefa7c03513f5d6366845713e704b113f0b7dea3689c3a63699be3b3e46a5f23e1022d137f3990836c027093e8365be3e752e0336ad71fc365f53aa3dee398d3e0986f33680e3ed36378e0c3daf0b363e766ece3639c32336eae537382f9ca83dbd5a11365b785636a5fadc37abc73d3c21e1bc378067293634887d382cab843ad1a539383be24e3508808a3586128038178fc23763406136b8e43437e62e6f38cb7224382bd1a236dc81b1372a9071382f5a2838954ad0350b4fb037f5619439e996f537e95c50372fe315384af9b038f2a34438f0901a375af4e1370e5ae9396d1da637827a8f35dabba93770d4583a9243fe3708b6a7372164213814786139b7816338b1ed0e38b2f1543efb404a3fb3a41a3696436a35ae8a303e9ec34b3fdc5f8a35e70f6a363d00113e3bf6293f1a977637e76caa36a9d8d03d35d0103f37c531370a6210376e8b9a3db548df3e63da5c36d432c0370e80243dde15a63e03279f3694027a37aff9783c5199523ed11262364f134d36ee516e38ee7db23d78310e356b28d23792e66d38a9ff803c6383eb3710549c366c122a380267653ae6036736c1265c36a73fb337fae281389d434038f695cd3643953d37cca07f385efc3938945fb637767a3838a8138b38636a5a38aacd0c38f9ec4e38c1018d38aa2a5338cb8b59375265d537757dcc386da3b6372ab8bd3700570a3833c72f3a0784b33713bb2338c23b3c384d3b213c9141bd3709380938bfee1c38b287073a0811de37c00584370f05843ddc2d6f3fd0dc32369c95aa36d928183d54aa6d3f42f199372f30d7367e71c13cfb294b3fb14bd7361c1c0d3830587a3c48ce263fadcad237b12a2d388059c03bfdfc003f9865c9375df99637f256c4398404bb3e17ff03371fb2ce37b648d13954e0693eba14c1366bc81f38d77d5e386f0cac3da672ac36570e053844bc32387541053ba04f733600000000000000000000000000000000150c023660301036bf4d2936e11307387b2cb53647d6d3365cf2a337077b41388609ec36550afa36ccb6b237ffeb2738a0705636356b64366e6e0338761b4d383516b536c8ab5537c16a473818543c38ec2cad364290ab363aa50938a83ecc37caaee13722df0538fec3b938ec3e22380000000000000000000000000000000000000000000000000000803f000000008dc00c36589b21360fce723ffdd9163810e2c536375e533741904c3f5e863e3832adf5363c7a8337b2c3273f775a1538038b6136e7c683378474023fc3aff837fe91e3369b072d389e77ba3e0484ec37b5c4ab36e679bf37f542593ed72ab6362f2bf337f8793a384e74873d36144c37000000000000000000000000000000000000000000000000000000000000000007b4d434fc46ca34b990fa346437d434ad513835069c2f351a37253515c72335c4d4453674eb2d36dc5059368b7a75361ab028360a8b5136e5627436525d4036d5558b35df8f8b355a3b8a357838903510de6c362f96863605b69c36eb92923682067c36c9ba923672d780365bcb613600000000000000000000000000000000000000000000803f00000000000000007a91d3341be77b3fc76e4f368315593568603335ddb8603fc9ba4136e0ae5135d9626a36b6c6303fa35d9e3740927a36237a5136ad17ff3edc526b3651388c3654178b35e9159d3e5462da358c6f9b35751d99369750ea3d70e32b37f5d58e3685c5843628d54b3ab1c65f37e1c98e360000000000000000000000000000000054fc9a36a771bf367c932638455acd37fc458136ad2e9636facb0238192a4f3805ed92369d137c3678954337ae4afc37a720eb322a34f832c5e28d35ad20cb352560d536db34dc36dd8cef3769c9283891e6c03689f4ac361ad4b336dbb4b5368c3d723659617836a9c8e23679f39f36638af2369119033733cf2b3861ef013839248036c9147d367c0a613695568636ff618936ada27b3f21d1903c336b0a37e68b8536e0c16a3f17bc233ddb6e0438ee32663634f2513fcd42963c8d5163371b0fff322ec5223f31097a3c66e5a135385fdd361848e93e2cef393a8bfce337c884a036e30b893e4914543acb92c43629176a363953c13d87ef6f39d8fda136054eec3657feb7388c06ee3819cbae3731f067369f4e60362d780737819090369a58ca355fa1f83501ae16387e6f9f37da36873677be7b364b9003381fccf937664585361cea8a3622fd533888ed803879698035fedca035e89369369685303729265b360a794b3681ee3f36dd224037f28bd83681d0dc36c2ee7138307b893816995b354b6db1364459953707a3993759ac08361dfb08365a37c3371eeef33737a8ae36ec76a536f5858338c993b4380cf09c3502775f3f1915033e71104536cd716f36152e503f2d4a2f3e07328736139b6d36ad02343f9c111a3e30e7f6377fcc7f353a56043f20e9123e25dcab354a8f41361f58b63e7042013e4aa24836119ad23666aa3e3ef23fe63d7abd1a38ce075b35171b8e3c01dba13d9aad3e375007f635e3ba2c380ff5f13b5c345f37822019368fe25638651d053914ca9d38e02e77363114a23619599b38d0b61c3805721836207b333631146237ab6a4d360b756335e5f76f3519574735ccd06035011d7a36c11e8236804f8f36d6c2b337f405a2362aafa0361d0c9e369a6fa03663a1db35447fd33563a0c135c51fd3350675a137ccd0143817288e38d8ec9038d8bf9b3664d19636b50dbd3774d0ac376bc83436d9623f36882a3036fa2e9a362a0b2c36ed78303f01b59f3e7dad8a36ecb5f7355be5223f548cb43e7b7b05363ec95735b5de053f97f8ae3ee8d16835e39c85368182c33e76439d3e80238736be789636e5b4793eec6a7f3e9ec493363657d335ecc7de3d0a57413ecf36ce35a2b3ba36c990063a7f6fd93d0ab7013805059a36d54f1738e701043ba9e08b369b0f2c36bd952d3619ddf337a14e31363d7c94367946bc3657a2233807c1cd36f91d0c3709352437df670d38cabe2f374b1ff3366d23f6369d50f23601d9f636c749b7367849c636e19bda366406e8368613bd3794b10e38b0d170384ed68038115def360b9de03659f9d5367162d636fa2de0360bfef636097cfe3621800237a3ba1937be8a283737793e3818781a38610ed2362c1cce367f5da237f7747a3739528f367becfe3ec6e9003f166ab03684bd13378de7eb3e85490a3fd1dc113759fbd5364962ba3e9110053fa612dd369129b93602877d3ef517e93efcc3c736a05a2a37a5cf253e9e73ad3ecb6edc3719b0c2366d3f4d3d6009803edbd0d636ec70dc36f89491391f04f13dcf74f836cc761a3737147b38f4147a3a1f872a37b7a1a13653053a37b7a5f038b52ac7361365313622c04336f90396372dd44136ac5f9736863c953608cb6c372e0d93368513cc3640188a374bfc1238f29af73728c1c035616fe435fc49c735cfc2ce35ae5a9a36bb8e9e36be509a369112af360e22de36cda0ef3683faa337e3ee8e3784136a35341d8235035449355e4e6e352a5e2436397749363c785e372c9d6637fccc0a370ddc283756cf42386a09483830362b36e4219d3e9de5313fb2812d36fd718d3611fb8e3ef66f383f798a8a368cc08c360d6e4f3eec28313f9cf27a36a1dfc9356658f83de961153fcdaccc35efbb8936bbbc6b3d84d2e63e9e8f8d3676f87436682b803caf57983e491b7836f196643526854e3980800c3e79f55e35382f0b364a35ea377708543cea842c36d0688f367da7563899fdca386eaf9d36cb942e384937c138a524c838c8710b383efd24365d7dfb3672560537f45e0d3619498d3608178a36539367350fa16f3547bdc437ac263037c3dcda3696619d3704286c36f885523621db4e3602e65736d936b8351b2ea93563a92b36ce6fb9365aebf7379a58003850593d38de895f383b13bb3655338736d664203899b3f5371545373751eeb6365143b037a17ba437b1f45438933afd3d0389603f24461e36a74f11368fdddc3d1a01633fd198e73592402b366aa62e3db1a05c3f87ba813543f8c937e005073bd58f333f4c70c936be0f5236e752a03aa3a0043fce9745364835b035c40b4238feb7ae3e1f14ac35c4c8cd37dc8df238bf32173e227ba63651188b3665d68e38b1048c3c891e7c360fc80936d663f837490457380c0c0d36ad386936277b893654966d36adae77367641f7368db105378488dd3616b4e93652479e364a388c3640ee3d3661fe6836d0f4b1369638ad3609d59836dddeb5362c4fe6361acce1369339c9360d6ee3368e8ed035015c5335dd570933633fab342136a636696eaa36a87346378d9f9c3724d70037473888371bb646389a7d0c3827730737fed1fd36dbfcbd371428353783987636f888d53ba1ae7e3f14c056367be009374258e0388d11803f914aba36f0b88336520997375c1e683ffd2632368fc2af36a15b8d37a3a93b3f860593361afae93620d3923875720b3f2d3fcd369db3a434bdfe0e388cb8b33e5df3d5335e4ca336e7168d38d531263e2f9e98361b9e14377009a8381bc0323db37ca536ea8dee361dbbe837b29a7538a4afd8360000000000000000000000000000000086138636811c81368ece6a36d2b98a361aa297368c1e8f364ca0723625b39136c8aa62350d5e9f3503f48335a7f38235617b78364530673677724a36c964703644627c3650a3743695bb47360b784e36fe631835db203f35632b27356c9337359f5fa7342b0dca348cbd0735dde682350000000000000000000000000000000000000000000000000000803f000000009d5377360ae892362e1c803fb61774365d8b8a3638bfa73635ee623f689269367d2d863536f49c35b2eb313f83a2823529175e363c8680369ef8003fd51f693611e166366bf7bc360e439f3e92104a36cd27293504f032351849fc3dcd142f354cb00135d6292a35e6c88e3cc267dd340000000000000000000000000000000000000000000000000000000000000000a39ebf35fd06bd35a05938386ef95636f53c55350820ac35c516dc373cee32365352a83556330636cd488b3799015c363946fb358c41113647d58236273c4d366211bc35b5cec4359b7bbb386bdcb235de41e9343b5e4636254e5a3786bb1b357e8a073675bb2236ab350f3896c8f53500000000000000000000000000000000000000000000803f00000000000000007ce9c7358949743fe44fe638cd4f4d368d748c358669573ff4d76438091105361fc5c53573d4293f7d54cd376a7f2b36146bf135ba52fb3ea2d5a237e94f2f366bf6c735454aa33ec509e3385032a935a1e747350544163e3c741037090a2935d6e01336b0db113c17dff137b60acc3500000000000000000000000000000000d5a7263706414b377308b2381ff372376b0caa3548ab4d36bd1e34387aa389362b48c13550085736c7c1e036653c9d362041cb3620690337b23fc437976d1b37335adb351bac0f3658dd9336ed3b3736fe4362362d8caa36d2a04738ea31c936f866203697617f3650c64b38cc4f7836e8e95a36351d64360947c637775845379416bc36ab7abf36ace7fd36d6f35e37113732378496713f31e33e3d59786937797e1136b68b553ffe7a9c3de9dd86361ffe2a368932363fb77c9a3d9ec891367346e93689200c3f881b443ddd0d1337b4d80136ec2ac53efb65ae3c0d95393606b19d36d0ff663e002b893a6296b83651005336cd10353dbb1ff73a8393633643f75d36d8b5833721a85c3c496c82365deebd36211ce236d994da38026a133700000000a7a6923417f0133a497593364d409c3512ca8036c32fdb38093cd236a9e26d367016b7365f9bfd361469e036876dd93170398935618d89389ae49b3578c07a362490a6367f15ea384b99a637c5a60f373dbd25377c93443766da30372456e1351efa0e360e297138f533fb37a2f08f362ff998364d1fec368bce0638e95661366d6c58362625bd3645d0af3700000000a1674f3fa199273edfc3d4342b0f1536fe23343f2be8583ebf84af36808b9636e439133f94a0483e5603d13696160d35cd04c93edad2453e5f3688351d42923609d07f3eb31d2e3ea3b3c4369de61c37071d923da7842a3ed94b25370c6203368cd2df382f39ff3d4d5b1036f0e78436f9f4c4368be0373d00f9e436183143367c348a360e725f39b6d4c736f2821b3616589f3613c7b83ad04ec6360a6fb735c71c6336b718193956b79e36b6c9dc3548381036aa7fe0388033243613958236ca3ccc363ae76537cb0ee236a645523689b18c36832d2338fddda3360000000093214234507240380aa8233425c06d36b87f9f3675a0cc36b6cbc636574d06366cf8193664f82c38ef63793800000000000000000fd3933734c14938d7b54236a86e253fb203ab3e01a4963697befb35bef10c3fd4dcc03e41606d36d3fbfd35e6d0ce3efdf5bc3ed16b0d3670c19c366cd2863e6b8db03e53c4bf3662cc6836009ce93dd18fad3e6d838c36b632db33646e4039e91a9c3e00000000ec3584360af7d63654223b3e2818b536b0cee6355add733645734d3db0947c360000000085aa1f35f119cd3a42697d373fec1e371005423767b4413ac9824b379245eb3547163f361e894a38224558360bf88b3646e7c036840a1a37e83fd036e3611e37645b4137aa915037cda042372d771a36c5ca233646e5e836fa402c36f2dd2e37a1603437fcc347376c8b4a3729f49c36c431c0369a5def366c3ce83639f63a36e5f73c364637513655134a360b943737bcc2323705644e37686e563782b72637fdeff83ef533ff3e60af33376bbf0b3638d1ca3e656c093fd5574936f0f8a436b6d1893edf37083f3af2b5363aec2a374a7f003e14d3063f73a13337f0fb1736e688673d6710e33ec1853136516434371a455437238db23edf3d41375cb5a036d46ced3602034c3edd95d1366f502c36aa3d4b36ddb4893dc6bb52360e1e3437715f4037fcee793c77bb4a3700000000b0627b35f8b3973ab83785353e2cca35c0965e3625541739aa776e366e1d86364a76b236a26fcc367faaa336000000007b465834512389375fa90a34104c72362c898a36577ca13673c5a7360bf2b83648d8c63679b7e83658c4df36161fe83518221836753ac2374694f63735c0763667486d3686d4ad37001bde37e830a8362a77a336f58e2637a4df7d373cb4c833d0b1a83e78392b3f000000002ef50436f61f7f3e739a333fe7c80636cfb399363049f83dc64f323fea9a8c36000000007d68013c6c31303f429a793476907b366a9d543893420c3f0f9d9136d775bd36d53af836e2e1c83edccccd367b0a0736214eec36f18e693ec5141f36d5625736a0b894362c44973d8ca18d36a375973615bcb7367f68983c5c65b43651cb7b3677dcba3610511439f610a436b99caf36115ae436f2659d38cf07c0361f19d93582330036e029c3373eefff35da0609379975243707b22a3768c82b378f6aae36f5e3ba36e65d79379095253745522335f33c47356a07a43574f5a6356a9dbe36f0abce360b9bf1364db4e736e247ad368982ae36ae56123893bc0b38b5198834c307903461eecc37ec06e437239a92366a1c2f3e8c2b543fbd9f34367874c23666efcd3d00f35a3f0d198b368445e03592725039bf40603f3e81ec3510af1037a9f648375727433fc4751937c5c8ad364774c338cfc0143fb365b436b93a0f3560745a375daad43ee6b46b35fedebf36ba84f13631c96a3e4295c9361ea89c365726cb36cb0aaf3d70b0a33620c29434220b1535847bd63c228c8534366df93670b70f37d5f6763818f0f9363bc46c361f637436714e4737885377369e314a3668ac3936bce2333619256e3660caa136fb92ac36aa6ca736c7b9bc360bf92d369f6c2036951c1d36c08a2b36cb0a1037dc230b37b50713378c3b1c37b52f8736beca8e3619129a36c59794369b8f87361890823668c5293751884e37a11e6d370dea69377e4975374d8d72378f180137dba8023d2ee6773f1084c236cddd6736c52e3838e6987c3f55af6836cdcf43363e707c363f3a743f34786a36aab29f3690fac5361212463f4b06b63664a21f36e81831363516183fa8f5263669ec0d37ae0917376368cf3e0cc91237dc6481369d9f9d36e2c35a3e41db8136142d7c3627ba82360f4ab73d5490733684cc68371ac26f372145233c389d5d37000000000000000000000000000000005c06b93585b9b535ac7ab735fba2c136620c6e356954ae34343dad340f762d360e5fb8357056be357669b2358adf0838d0892d36dc051636b89727361c647836635b453626482036de565636bc4119377a09e935166e0336eec47f367093b3374a865d3612ed38367ca56536572835370000000000000000000000000000000000000000000000000000803f0000000039a99f353225bb353de67d3f9959c53614c42735443ace34b58c5a3f7d42e836548cba35f7d4b435bb8d2e3fc1478738eefc13366baf2836bca0023f0ae171361d7a3b3622253d36406eac3e0325803663720436121519360e00233e4181fc35ec2b4c3615b14636522b3d3d05d245360000000000000000000000000000000000000000000000000000000000000000fb3ce4345789d335e0df70388109de3700000000000000009f5931380d72f8363d6104349b1b8c341637a23824c8f737ebfa0b36b5c42736c9570e39e32a20366b132c32e7351237212e4e381bee3332945de93307acd6370ab244386cd2e033910003365f373c38fa3781389d92573400000000000000000000000000000000000000000000803f000000000000000073439f35bb606b3f632ba63c85f46e3600000000cb1c483f0dcf803c03cd4d353ef00434a644223f4773993890ac0835b0f422362f13f63eed84ac381a6704363ffc3032e75bac3ed3e59b3773322f327381e933ad9e433e63bc2e37e7c3db33cab29937828d093d1becc437a935c13300000000000000000000000000000000040bcf3360738234ad82f739ee29053618242d33bdfc46339f01033ad2a101381945a831f5009a3152da8b38b5a4b137b907463316df4d33f0feae3882c84c3379b1ea32b7dcfe34a1bbc238c419af35991a9a3330b497336791f8380a3c8b330a1a4c330b0e5333285db9387914b937bdf61733cd6a3633a58da7376bead2372110c934f35e00352528f235625714376b3243344a91633f469c843de7947a35560b3a33a33a4d3ff7b1cf3dd5bcf53540689e31665c263f9b8baf3d344d193128104933ffe7ff3e3cf5933df1f24e3346008234b6dcb53ecf403c3dfb9c7135b8c095334ff0583ed69bc03c50a5863343d64e338c07683d3f91713a3a965633afa925338ff123347c34ad3cdfeeb835780dea341acf9035c0a3413ba4e0a9363d684a33ee663a36628bd33a77a5b136f15c8036bf40c03600ae753a376408372b169033dbd08235800a2639051b0836000000005dc69635c4f0483a70eb38363ab09236e991ca36964bfe3805161d378c15b734c42d8a35bf0dc538e2cb0036339cd630feacb333515f503861eff8378f86c73526ba4236fca8a137286d5a38f3449a33ba62b5342930c3352fe00738b2adc2352ac2413f622e423ef6dd9f3630b1a53667db243fa922693eabddf836dbf20535a233043f5c956b3e389f02366becf4342f29ba3ef7ab5c3e98401836258ab3362228753e954a4d3e3aa4e5369b9b3535e758ac3d08c53e3e3cccc635f7ddd3305c82a5375b5c173e81b9be35a5f91d360e4483360529403dd01b97374471193413ef963523316b3bd14c633707529c32b1eb57356cfe413b00d5c53515189c361b56c03699f9413cdcb0c53600000000b42a33355da32e39b1db0035ae5a0b3688c15136245ecb3837fc20373fa6ae36d81adb3633276a38f28402376f820f31363a0a35c7dc093970384b3858289c3546d11436c6e3b237480b0e38fa2f543624d18b36d7138c3711c13f387b5449365853ab3606bba737a8384e389b06e23490d51c3fa72eb13ec25c9b35e65ab236de7dfe3efcffba3ef685b8363711be34333dbe3eb885bf3eb02e9833316e3a361596783e5e76bb3e79d54936c172c236a075073efe01b03e6c19f03686448d34fb4bb23caa46943e2baa50341192fa35bfb64d36419a443e9e445b36ea427f36a8d5b836c315ab3ddd9bd8362b1c873666aeeb36f0da833c3e665537e1c6ac348fe186351b67a73ca87c9535a1e4e234396089350283133b5e694e3584e00234331b0134bb4a5d39b63cf033ac4706342a550d34510e0e387b9d1234e2d8863301e0e7345c4c87389554813738791934854018348cf17637cff27e36ec17dd3312cee93393c2f23336e0e535303b823398016b340cbc323710f71a3824b17234fcb83e3557ebb3351fadad355beb38358092ef3e2aeaf63ecc3e45357ae044354b72bc3eb8bf033f9296a334e6110034bbf8813e3515063f319ee933bd830a348eaa073eef11043f43c8143435589934097bce3dda77cc3e7b03e8348fed1634057616345c3bb43ef5040d3466efe4332ea8f0333af3633e51b8fb33840d8033c47f3c35ac71ec3d8c048c356305d134a1c68e35e82bf73ce99a9835f815bc36014dfe36c224cd3c8e0efe36da9095364359cf361095463c2edbc33673c62c3666cd50363254f038dde04336ead18831c3d78431afe1f538f76dee37c5b4ba36d962e436ba23d437d2060337b1f80b36533a3836cb1d1738f5c517380000000000000000c05fd5372c201c383c869336ef7faf367cda8337b6c9e4373ca2e43415e983352f91cf3517fc8b375307de365505aa3eed91203f3a05bf3683b7af3677f9753e71282a3f6a499336e84a4336c16af53d7942303f1451203664698731f572453d2c08243fb9c10d35cdb8d13606ff07370440063f662cea367d93293686c81337324ac83eb1da573600000000c05806351b87823e98a03c35612da536fcaec4366e99013e2c7cc536c5d45735e5e2bb356d531f3d17e47e35c2890236ffb50f364b210b3dbde4b7351bf7ac36753bb436801e733a65fb88360fc950356b68b835e76ab138768b5235d2e82535bf01ab35b8103836253aea353eb7c23679e9db36c3fd2738fc263238ae54bc35c49c0b36e2f78c3718c07b38519bbd3527cefa354d7157389e0ea43846f4e03681acee364ad4b3372e73aa37384b7d36adf99a361b6d183878b54438a3d60b36f685443ed561453f3a0430355dfbb036fcf5003ec99c533f04b25c369c0e9135b6e2ca3c8ce4533f192864348ec78d354b1212363cd93a3f62c0ab35e126d0366ae9013711710f3f72dada36a5e0f1350a103a360489d73e80c9e9356022e9356e07143645ef813e4189af35f9dde9361e6a073735f1023eefd0d53648b0893689d0b0368fff563dcb176f36254f6836bd5c67360322cd3c0d9bc735ac28a0352a97ae359b3439384dca37331fa95c33ab845b33b429e837f68c273841607c338feb863338ec8c33b26a9033e9993735ef906835c99ac035b43eea3719da533394c26133376c71362e9b9e37b7d68b309f6f0731b418313840cf1838685ef535992ffc359cc88f3badbf3f382192b6354bca94356432b3375fa2c436052f5d369859813da9c9683f9c95033599cf9035c7824838749d7a3fa076363388c0583305168437754c713f6a05913645be833327078c333dd5433f308c9333e0634f35a946a735e955193fe9347f3584e3503332662f34684ddb3ec0d44b334c300031163b4a37018f873e60169331bcbee835b8fdae3716f1bc3d7b9b493390e299350af26b35dce93c3d68149334000000000000000000000000000000003ce70633f2ce6c33846d493404813338c9e3d133141fd83385c2e033efdae137b432273289972b327dbf3032d7f40438d274b5353a30eb359b4820368ccc9d3879a518341c75ba348b621138af858038d8c2c13373d5ae34f9c5a837c9f4c837b3ad613600a96636b2372e38b7b526380000000000000000000000000000000000000000000000000000803f00000000cdbe033325f521347f6d773f3b4152388241d6336896db3320254f3f80de2438c89e2d32b9992f3217d8293f97df0d38d3d9d535073012365409053f5c6ce037f66aa234f4284437267dbb3ea5950b3856683c3413d6d9351f964f3ec1526135da926636c34a7637960d773d48cf063600000000000000000000000000000000000000000000000000000000000000000b29b035f8477635d6e45b3541299535d9e09e35f22181355c90813561c37c35ffe43935753b4e35bef7713553ad97356e6486350b8a0c354d1af73478d43535d9384a3454960f34ae8f4334d0df64349c3dd0343ade203639fcf2343e8c113539bb8e34efc56334b98b6834f6ce4f3400000000000000000000000000000000000000000000803f0000000000000000144daa355e607c3f0e487535745b8d35e371cc3598a5623f99078435cc256535eaa85335af90393f34a63c355c136b352e1177358cbf093ff4962d35626837351a55bb34a2e0b13e25b14434e32b2d34dea75236bde62e3e667fcd34ce04f234fe2792343f772d3ddc038734cb6e573400000000000000000000000000000000a9285b34f5865f33ef9e823401c48235fe1e96351d598a3573579c352300b1352c82d833f89ead33ab5d86331932d833174c5533680d1633649a2c33f7e58d3320833c35321a0135271f2735caa8573500000000000000000000000000000000d624e6333c709d33743ca5338359f033c51b9335c15991350375a035b4e1a135afbe65345561ec339b9613343c4642347e56013489a77a3f1267eb3c0b8db033e0018e35282b663f6a3c373da0f3c63558fa3b33e3a94e3fa2e7a63c858bb63200282c33e905263fe313733b02997b338aca2935d1b9f03e690d0e3b8a3a833500000000a457973e9fdc2c3900000000597fe1338585083e5b475c37e9a9f433580a8c351cd5f53a50a86c3aa4e9b135d84f9433b913e5330449d33357e57f33574d34302f9e4430245c5730b63e9730ca6a43340524c334d8e0223506c30e353f4a0c343c26023423626734cfeb81348ca02734aa6b3c340baccf3400b7be3438651035b5bc35350f7d783561885f356e1305355a52093517cfe934cc290f351abee034dc4db934192b13353d921e35b68fed34d1971d3584836d357fb85a359f27ed34d97700354bfc193584a022357fa23b30d3815c3f75dc183ee17382305580a534a58b4b3fb1983b3ea29f23351e3ba5338a962c3f2e4e203ed66e0e344a85ee3382e9023f9f6f093e1b1f953499933135a909b03eda7b023ef56489350077f734f0da323e6776f03d0c69183564d1c334d38bf93c5119af3da698303595da0c35e9525e3551a43d3c2192863598b2f534a35e053593b48839b030023543cd6f3499126734a1ecde34f777d83450614035a5662235d76a2835a10a2535aaf5403520a73e35929346354e924535e2c70435be401535fc7a3735f65e653584177b3539515235a05d4c35a08b4a350f8487345db5b43452f9f734d601e834b52a7334f21e5934f82e6b34fdf082348b46e73306cf0b34b4b54e3483d89033324f102f0e3a2a2f6e9b302f01ec1c2f73af5f34ac7f323fafc29f3eec09d9341a10463542e1203ffab1b93e9abe323584983935cbfb013fabb1af3e6aa821356a841135a7dcb33eac06a13ebf6f38358eb96935d1704b3ed0fa913ef6605d351c1057348a14953d3add763ef2469534a2416334f7dedb3bf2490c3ea8539334a51194336a4a113655a7fe3ae46b3d34bbdde92ee10c3f2f757f4e2f9121372f7fa3ce33b65a5b33fac1a63483829c334b8fbf35cf4bc335513ad335d4dcba358e549534e70e943407aa7c3459df9b3451881631201c2330e2ac0430208295310aee9d35b30b923527499735b6b2913508f8de2f36b3fd2f772b02301627e52f59ca8c34972d5f3405b39234d3f68b34318dbc355079c1359078cf350792c735f4287934e1cf0734d9a346349fa535349d588e33475d033f5804ff3e19578d33c136b3356d50eb3e7074093f68f3b73578e78334cad5ab3e92c6073fae52433405c6f431687d4d3e14cdf93e085e533149079435e446ba3d9725d63e612da035ce4db72fd832053db448963e86e10432b81d03344396d33aec0d183e23e78a346c0cb135f45f06387e429c3c69d0ca351ca21434ecc2e23317adb033710873331b316a2f8659512f61498d3163bd1c2fd23c3733b124b0329fed113438c58833fdcc7334e323623475955a3476536334c949a63496028d34af75b83486e9b63418ad3335ca3f543543be8435aab26d3574a32535f39c44356fd83a35d9c56b35e5441235516b05356f9f3c35ee813f35f9e20335ee761d35cff66d35af195835ed560135b677fa341cc309359aea11354dce222fe364aa3e0f662e3f1ffeeb2ee36bfc3271d1973e10f2363f6c13993387964e341e0d303ee0a7323f0f71783469555534ff8b9c3d9a01213f7e074634fe614735a62f053dee88003f49f18835130142351e83af3cf41da83e9fe83c35438d0435eb2e4d3b8f36243eb38b4735810e153562212c3906f9c83c97a37c359c5c0c358c97f3346fa5683979428d34d64fce34c41884343913ed34e8f2c934756d5835be422335876e16357c4d1735eadf22358dd61c35fe3015356be925356dceda3467dee534621c0835e0101d3581537535a7693c35b4b02735689f3535bae9a2346b42a134726ed4347ebef0349ac615344201fe33b0280534ca8748344881ff34c6a6073505140535c77fc7348b354c30de72143010305530e9678a30457aca34ed06293ed605593f8f83a2341553573530c6043eaf175f3fa1421c3584df2635ea28303d957d5a3f9fc4fa34804aea347015033c0538363fffc3f634f77462353340223c299b093feaff4c35ae638634dfe4a93cc8c8b23e6469a3347fb1113468acbe3c9678233e6bfd7e3478fb003543b4873a955e033d415d02359d473c305262dd39560af8390f227c308cb54633fabc04328e61a334bab2cc3331f9a4350cf79635fb8c9b3562dd8f350b86de334f526d3326247e332372b033000000000000000000000000000000005150423511d00f3526d11b35165b28355d85343348556f32096cd032a285673301a537340000000000000000f5a40934e33a9e3593169835ad219c35fc90a1351ce13a34110d0f347e0d213404955a349b8a8433347fee3cf1e27a3f00000000a6929a35dabba23bce0c803f393293350b4f8f336b632f37ea1f613f6c54eb330000000089650e38218b373f000000007456283528400e3a6f040b3f5d724e35b5d0c532a8434c3b64ccb63e949a833300000000952cab3b0e54353ea7f5f933c5d2923574d53439a246863dd0f4aa35e06e24347fb13136e9e29433d6bcde33000000000000000000000000000000004e2a7334736c443491533534ab7e3a34747efa34d72fff345dfdd034cf300435575d9234f659193442ae35349b23963481f93935f444173507ff52359a5d5f35bb117435e9497e35ce9a493575bf863564f28835096c443582f5543517a89135dcfe89352eec67356ff69835a5869f350000000000000000000000000000000000000000000000000000803f00000000e69b4a346ee76834e26d783ff5df6e344b67f5347fa4e9346e89573fc7e61335463f1134c9280b34044e2b3f7f98b134e4d73035475743352d90f33ec0239635184c6c35bbff5835ece3933e1aff933561ff443571b0ce38baf5023edb10993555447f3588b99b357f78c23cfc93d0350000000000000000000000000000000000000000000000000000000000000000a789d734f9dd8d35d806c335d410913554e0b834291995343dcd1d3515b6103526f2e134719f8435f0499c35ae4b8135b35acc3491983035d6bf5b3542a60e356004a834a3efb134b0b1b03476c4b7342519dd34ef16a335c4958f35beb19435d37ed1336de93e34a29d0734a5001b3400000000000000000000000000000000000000000000803f00000000000000006ff42f35b716743fc9bb0e382e4e6e35e8d9a734552b5b3f61b84e35bd90df344d9a33357e6a303f146fd0350b7c5f356d7ac6349347043f65a20336be350435be73b534d87bad3e2599ad34eceda334ca0e5f3526bc293e59a19135c8d6803567801c34bc65d63ca32c1a34488b143400000000000000000000000000000000303383339f0718344b0dee3afc1e26348e40a333907b0234079e8539a2310134bc1d453578c81d3515891739f2925935c38402350117f53497ab0639d323fc3420a94d330a11f633d6ab9239ce53e6337d065835a06517350677bd36be5882353aec1935dede113598839736065f12356698f53274bc8233718420335a684233b7f74332000000000beea1343fafa43783d6ea333e3c6d3ff5420a3d9ad424349bd0e733859e4e3ff8d1823db4a3f83316b433352928303f37b4713d37b5113554cad534fefd063f7d69af3c9ffa03355629e03346bdbb3eb571d23af788c833f4a43c35d760563e6162bd3996ed2535863f1735f1a05b3d7763233acd08203530194b33bb1b96333dea9c3ce1bc2e330000000000000000c3ecb53c13bcd53717f34635cbb97435346de53b9036d03542e62a35bde08535b98ee239de519635ec6022344bf02f34195a363a32400b346ba06d3300a2c531b6789a374c1c1934a8e7403559c69735592cf836c13e8135973c0134a8e215341e022234cea1d033d9382934e78e9233704031342227d43371fb4e35d8557d35b0fd9135dfb36e356c59ac330000000000000000438dd833b3343e3519b0493fcbc7193e950a8e3543c764356b412a3f3ea0473ef73b9135ff414834ea4f063fd0112b3ec024093433e17533b88eb63e797f143e59758334348e8b354388513e6031003e939f7435ab5932349f4a013dfa530b3e4bceb63341361734be8d033421ca043e92716634e2bd6c35abdc8b357ce0903d074059350000000000000000dae6ec3c57398734d855e33484cc4235f8db013d7f8d1b35d929fc34edbb7f359ba25f3a4335943546d74735d7cfd534df6c153a82e1f534e61ba134ffb6bd34ed772539f2998f34803c4235248b8d35f1189c36c0549f35e1202b355f439b346cc9953416c0b2349dc70934c8d97f34c806333435134934c7db4f3523e94735b0995235cabb2b3735ef1236adeeb135e42f1c36216b8e37fd30f534c1cf203fa500983ee20bfe348f0e2635c17efa3ef257ac3e885285350f5d1535cc7eb43ebb04a83ea3fac03469889c348f49583ec1c29c3ebe1349342bcb6135d5f3553dfad79f3ec1b49d35fbd205359f8e9737a6bba33e8907823456644e34ce648e3407717f3e58dc3b34403e2535a03e4d3594901b3e3aae483514304e358836b43541675a3d7685463649f68f322295c733feb8243d4c66e53317de26335a55f8345fcb523ba23a6b347454cb35c814bb35016b4f39ae58803582ce0836dbbed33576cb2f37f344cf35911ea334a08609358b1d9e38f65915350ec6ce352a389035bc9bc03518a9d7359d9d8035b1b04735d7404a3598bcae3551de4c34d6add133a2b58e340808be346fd40d34f38eb4337867ec35618caf370d0aa033dd34e43e5bd6ea3e5756d933374eac34b078ac3e14fff93ec108b2331c77d035e224553e5278fb3ecd9a3f35f350e43570288e3ddeaefd3e1796a035b5f0223524722f3a8ea5003fb01dd8348d76b6358d98d5356916e33e078dbb35d58f56356e66643535989e3eef13af35e76ad333a94e083407323b3e4762ae343429ed33bad4bd332f53843d66eaa036772cad356f0e1d360808f23c5ea20d3655d4fa34a4f25d359a6f263af8fb41351a866034135e1c345c09ea38450c233449056b340f091d34130a7134b848193403ed7735987799355f26a235cf658d350fa0743456dd2734123969342dd31734f856d634b2fca534c2b4c834c967aa3431ac89350f5a8c350f139d359ae3873589774035436ffb34de4dcc349f4722370a4bc93528b5953e6796223f2ee55835a4283635903e473ec45c293fa6792f35d35643348e1dad3d56812c3f5c12393433f96434223e9f3951e82f3f6f448834759e96358845b335c40e253ffa927d35b7b660344dcf6f3452a7fb3e22036f3404e6b534daa2c534b82ca83eb269dc34bb458335969c9035ce8c3b3e5d517e35e4090435f6ffc23475c2513db13f3b352f756233cd26a43451eb143ccde21133f1e51735bb1a76358e0409395495773597671835064f89340b1f763414e65e3472315334270b1934f1bfd433b0bc0c3482698c35146a8335b2269435164791352f7e6c3535ffd234b799b7347c51ae343c0df233aa132c340f040b34a95934346458a9356c3f9b35f89ca035fdc79b357104c535c20d9f3550fbf335e81a0937fdd106347476203e2d4b503f00000000197f2e35f710cf3d77f1553fb7575735a901f8348b9dc8391d5d603fdf35d833c0716234a98a5e34550d573f21eefd3369f97735335c8d35f7d52d3f68a695357a310d354fb60535d59e013f3680f13201941c348f5e44343e90a13e92ae28349fdc8c35c148973521b3173ea0258e353a1693350d2193354d767b3dcf3e7735b9d991346ca1443764fa7b3ae6a960342b7d1533df2c2e331ccf0933af77ff32447a8935df44203541da2c35f4712b3563fb6335ff262435ff272a35c3388e357a41fc33ea80ed33326bd833ac4cdb338d975e35652e0535ff070d35e2d7f33487263335616e11356272203515f68535c14308342007fe339c57e433cb11e333b19d3d34286511349feb0c3497a802345b25b134db0feb3c2e40743f00000000189646333326c133025f7c3ffb431633f37b5c35ea613d35204a733f1d8a123530203b35d7976335e9294c3f69551d354f060534472bf4335083233fe6e7bb3360e63635bc0f243546dbea3e42c3e734e53a1e3535ed21351431853ec3833f35d6d50834b49d0034f7aa093ec30be03334242f34fa5e1534fef72f3d35c5033400000000000000000000000000000000a3b32e347058f833fb8c0134692afb337fbe873507e26735325e6935a0778235409b99346a38823493129b34585f92344e1bdc343e33f63451800735198f67359cc561350b9f4d35f4534935dd3a5435e89e7834196d5034c8078034ce466434f4df983510d9763579de943544dfaa350000000000000000000000000000000000000000000000000000803f000000004c3d1834531805342aa37a3f75780c34d99065354e516135394b573fdb917d35a82e973489198f34f1e42a3fe36e8a34309bfc3465ce1935b347fb3e22f96a35ab424a351c854a3566b7a13e87f15c3532f76e34a2f7e9342ca5173eea728334036b8e3532a27a35cb8c523db647a83500000000000000000000000000000000000000000000000000000000000000009154a9332c6bf833e41e853cf5281034eb8f8d321476cd32be71a13c2691ef320000000000000000b0584e3b7cd6bb35ceff77330791d5347caf3a3c5ec3c2333bde4933b2948933b602c33ac8dab33391372f33d7810637abdd473b702f06326275a7355daf9c37ef3a2c3cbf1f6d3400000000000000000000000000000000000000000000803f0000000000000000074ccc330266673fa2722a38817ffd3337e6a932babd4d3fa0582a3c8849d23200000000a780233fa3d09038d2c44234ecb79134b3c0f83ed4aa7c37429fa233b02776339fe5af3e12febd3356178233f1a608335e051e3e740e0c32e19ccc319c23c335ba0a023dc420cb37340f30340000000000000000000000000000000090a70630c66c70303341e83cae096936000000000000000032a0313dd91e9c360000000000000000bd2e013d000000000000000000000000396e013d000000000000000000000000f0cacc3c0000000000000000000000007d64f13c00000000fb6ae6329d09dd327f0b933ca2648e326c367033e9c86d339d11453880b387380000000000000000000000006ba96e392c735c30b68f5c3f4fbb053d0000000000000000b9f63e3f832e8a3d0000000000000000ceee1a3f43d7533d00000000000000004e6fe53eb7159438000000000000000048ee983ebff4193800000000000000009454213e96dcb5370000000054e8e6326da4763b9af43338af465f321f2a863367c858337687f63ccd3f9633000000000000000029f40f3d00000000b771613494eb803453567c3daae844370000000000000000c3a4503d60fbeb3500000000000000003a981d3d00000000e94f64344c1a80342f72443d7878753400000000000000006183553d000000000000000000000000f42e403c00000000fe8078333786a3338cc86b3808ba83380000000000000000bcfd87365dd8e438000000000000000000000000b4613b393e665e342279363f2cc4f53d7b17203400000000c6090e3fd1f2ee3d0000000000000000e9d0d83e3b16be3d0000000042766834ee10833e93a4773d1b512c3400000000e2e7013e13ee3e3d0000000000000000f17b983882b8a83d000000001fa3383337dceb33eed9133e0b4951330000000000000000a1cdd83dcceac43700000000000000005ff7673d000000003b361c32c54091323475ed3de9b4d03039eee93271bc2333c20ac03dfa3a1d3350c2543317fa6233f265963d49967035ca3d1a326d438832069e8d3d000000000000000000000000a004f33c00000000c6ea8a348cdc7834b7b5e5379215dd37000000000000000000000000e211513800000000000000007cbdd236e073c2383e78fb33971f3c3451545335fe958138e3f601324043033fbe6d5e3e0000000063e308337724bf3e975a523e2cdee132c0de4e33823b813e2b8c553ee7d41c33ca6d2f32dc54fe3d56d4563e0000000000000000dca960395acc843e00000000300c8b3415798534746ca83ee5639a34000000000000000029319f3ebf5cdc3500000000000000000aff803e60ab5b374d2d2e340ae7873420a4183e5977c1350000000000000000a9de093e0000000000000000000000002489d73d000000000000000000000000a615a63d000000000000000000000000448c133d000000000000000000000000df284b37df9fa736000000000000000000000000caa1e53700000000000000000000000004b37e37000000000000000000000000d629d0380000000000000000000000006c8d3d38000000003311b43e7c9cb13e0000000000000000846b723ec49cb03e0000000000000000d29f013e212cbf3e00000000000000000e0cba3c2a85db3e000000000000000042d912365491003f0000000000000000000000005e5d043f000000000000000000000000bca6d93e000000000000000000000000228da33e000000000000000000000000a94b323e0000000019bb8f35f16cac358869fb3d3ae25a35ce180e34c0625134c89fdc3dd6f4243300000000000000005655363d000000007f709b3408539b3450a57238279a8b3400000000000000000000000076491a3800000000000000000000000001663f38e16723334bc8253346149f37d970b5381256d13285cfda329e1d0133f9aba538000000000000000000000000c8b19639894e98352890663e51c9023fb08c58341d0cf733c492f13d9d52073f0000000000000000bb36463d09bb193f00000000e44f97347208053824d12c3f318a633400000000000000000c03373f0000000000000000000000006e391a3fdd71bc3255d319333d93283387a9f03eca4c81332a15dd329eb3fa32eee2aa3e772f4233000000000000000037ed243e73e7b2320000000000000000dc30c83d000000007b889d3300000000c706833d00000000d5e6e9320a6a4833ce83bf3858ae5236000000000000000000000000f18616380000000000000000000000005bac5e38ea37173433543034cf076234b8cf9a38000000000000000000000000178d7b3800000000000000003b14b03770910e39e3dd9d33c26f0734019aa6377032943800000000b929033e8516393f0000000000000000f2d28e3d38d6433f0000000068bc1f33f2139438f1ef5b3f8760c233000000000000000039a0683f000000000000000000000000a262473f00000000af3e3c340fb04d34cef6233f57ef8c340000000000000000cceee63e00000000000000000000000077fb903e7f229f367080f333ca1f4134a2aae33dd50de5340000000000000000c9c8573d00000000a5829533234582332f7cc03818ea593339a65732a25b563232988832a0c10f38000000000000000000000000d3360e3800000000000000000000000041f02438000000000000000000000000ee0d6238000000000000000000000000dbc20d3900000000000000004db3dd37d14606390000000000000000857e5b371362c038000000002e77023d33b1623f0000000072e170330bd5413871d5783fd4973933b43a5532b93b70324d0d7b3fee16cb3200000000000000004068513f000000000000000000000000c4552e3f0000000000000000000000008288063f000000000000000000000000fa30a23e000000000000000000000000002f173e000000000000000000000000c461a93d4ba93c3000000000000000000000000000000000e8426134f4881c344e7b5e340537a838bc8c8031c5b8b23116adff319c130e381ac2563321e66b33f35ac1330923b138b4ec89339bac903377fcb633b9224d3800000000b18e34344a2d933612b6c738ec4dba3250e2be32453f563708986138b61fe1337dc7e533ec427036790c3d380000000000000000000000000000000000000000000000000000803f00000000fe7b1a34f61c42344619763fa4076d38aa269a3108b6e33100b9523fa1cbc53cd5583c336ae5963396d3283f3b558336113a7d33c890a233630d023fb03d3536fa94df30b51a3934c4b1b93e24479d37e767be32e2fed032ae322e3e58d6e5323b2ae533f425fc3344cbab3d075e0b340000000000000000000000000000000000000000000000000000000000000000f67cf035d15be0359c1c61378e0c9537a3739b364c749336f1ac9937afa2c637af940c375ac3e836e634c037f69feb37f8d0da36ed4a8a360bf41138670ada385e464a3793332837a5cfa537fb54d737411d5337451c433743f88a3717ba8a37753d2536e3d67336bc61b336d9e8443600000000000000000000000000000000000000000000803f00000000000000000d73d835d3da7f3f8fb5d637370a663718cd8b36bf37553fc1a5c5385ba39f3776c90d37a07b2a3f04b02c3881ddc6374c87c8367ca8fd3e51770d3a423a1238f7011537ba19a63ebe123038d0289f37b48f0c37d75f213e17fa0638775f7e37873cf2350ac60e38e65f30375a3a2636000000000000000000000000000000007991b53649480c375e632738266d1438e4c8033696912b3600db4837ec279237c9711136784a013630528937166fd1378aac6a365c034e36f381ec37d9d22d38c85df4363312dc365c791638cbe24d383d1d5e378e3b5137b441b437e0420938ade716378e581037745ab53726defd37eb2e9036b72ce436eb5d93370cbea837148d303632d3ab362de325379f705337fb0c99368b4e7e3f2901ce3b50d8aa37798b9534d08c763fba6e003d6a57ef36bf7e9a3569534d3f239afb3ce9955c37b5b73636aca5243f9aafbc3cd158d93772eac1362447f53ee49a973cf20e10385cb741372fbaa13e588bd43beb47b1372f79d73624a71c3edb2d923836af8e3758720d36df454d386da3373860607d3735ba8b341804ec36c5f09237bd605337a707ae36bc59083798704538967bd337548b1e36ea7a2a3623463237d8823f376af046362b633836d40e89378779bd37b3d333370b1c26376403f83715793b3800e9a6364f06973672801c37e9340938860fdc36f644ce3627a1f8370daf293827c422371f4242374b31e2373dd9fa376f73603675b37036c3e79937efcfb03789595f37189b93378bcddc376251f137df8f9f36fe76513fb9e6393e405f0437c336dd3547f34e3f1f6b403e61d675363086f23503ed293f8b5a363e04227636d4aafd3613d70c3fc0530f3eb6fa90375f5fc635230ecd3ec79cce3d423d09378e9dbc36e9e0843e4e2e573d5c6b9b37cda16135e7f70b3e6ac77d3a7d8ca037c4271636a01721381d439e38e37987369744d536af8ad3372a3b17380a24d337fdfccc364245be37b7e14338c909fd37f901a0355276a4359722b637182380379743b9364f7cd836b7e3c937341ffd37cd120237b816fa361dd1a6375e78dc370b375335352d5735655830374d179337b8ce2837906c223707bceb37624b413933178e3618b78c36114cbc377623c73771dbd7369cea02379cbb2237e29b1d375e32b33744dddb3796c814388a301a384571aa362a70293f42f5ac3ed307d43644199e359329263fe87cb33e2179a835d9d43a36e6b70d3f3b8e9f3ed766273763c0d73640f6df3e2df57e3e92d53537127d52350feea23ea2db393e886dbd35da7417378fdf4b3eeac1e93df8b427372f8851364a42b23dd0de463dfdc38936f7b769363ba99f375ae42d38b710ff36e11e15375e5d0b38b5453d384f64fa3735c55c370fca99370a734b384b9eb437a2e51e35cd1303362261b23729ad7e375cdfae36e47a21377dd82b38db57353808802037b1d4183729c3bb370e04f4374f11ba37f781b43763a41b38e5883538e0793137f0772c37a30ccf37be080c38ee66da371daadd37b9493c3835f84138c689053751223837ffe8aa37eb669337c08b9d3720b2a4377fdbf437412cf537dbd3df36f3d7fc3e1386013f75250f37aaa409357bd5f83e0f89033fed231b35167f3c366d10d23e4b4ee23ec7928f36c2bd0037c0f6a53ee0e7b83e1f481937fe5814377fb0713e1111873e160bb4370415163747d60d3e145c343e6c3f21373a7cc3367c70673df157ba3d21ca8d370e0c863525a5f63744a492380c3abd36c5d470372a8ada37397f50381e37a237b7309a3740c5fd3785414438c619fb37e4bab136e0b4ad36664b1637c5b81237da827d36198464365bb08037f2038a3766f12a371b01223714dda637036ff4372bdaa2367ce1b73517c0f736d0ce42370fd6a237ca788e37870fa937b8d2bd3740c8a6375342a03713b2d637c5c7cb3762e7b43696100d37062faf3798cc8c376c4dc137c09ed73751700338af170138b7c9033736ada73e830f2c3f819d7f368b475d355c3ba43e09dc2d3f0a795a3557df28361b298d3e6eb0163f4f433c3695db1a3720c9583e600bf33e3dc01c37b7015d359a8b173e2351b43e5f505235186322379f159d3d7065723e97b402372d8f5037ed22253c1620ff3d127833373169ad35a30df5373d2a63396712a635456860377d350138329842389a89bb37b39a913740dad83755a217384345b1373a2b803600186e363aa16237b745863651f88537e6224a37f54d8937a262ba372177993797733037efa475374afae037a586153723930337eb5b0137ec6421375de1fb374ad7b8375901c63739c90d3849b1693761721f3788546237a6869637e12e273791e91c37e57f3a3736cf213759ff8437f0b079371519c337599faf3755124237ad9b253e0989563f94a6ca36c02f3636cd51253e5a9f563f6d5287353e0e8936876b1f3eaada343f3331023528c2d336f6e5d43d797a153f4eadc8362625e8361e0f8f3d1970db3e247a9f3695718637d86d853c313f963e0dd24737b4a68036b32f233806d9213e3f6c64368873e63667046c371de76b3b90548236b21f29375d58b337851d4d38c353213717f53f3798c725376058833710dd0e3780796237e8fbdc363487b33695342737105b9637f1cf1c3707f1013797b78d378c6bc1378daf6f3784fd59375b2fb73716c62e3807159f37192a5f374edf1938fde50538fff394372c1b6e3759e00138907db937885f6b3731a07037b49a953702bf7137b59c3037455c5f37c85d2937169efd3714cedf37adcefd37233adc370945f43645bc48384ef57f3f0f238134dfa0aa36311c5b3bce177f3f0fe99435c33a34377805bf3b4f4e573fb5d0c136f45d8b3731b08e381a6c2d3f9b9c52379936b93714054a39c682003fb64a4c376a749b37d4d65c385aceaa3eaace923670f45137e330123819012b3e30f9563616e21337957f84374ddeb33b7d19bf36a84bac375deaf8374cb23538949b4b37000000000000000000000000000000007ae127369e2ad135d49ff435a6f1c63696588e378397e636f4af89369c6ba6378deddb37288d32378e3a07371c3cfa3721895f38616b1937728ee83666a4973822a0e63754b39337ce3b86378e93e33725efc337f9867837b5a88337f8fabc37fb2e9137328d6637adc28d377a1d8b370000000000000000000000000000000000000000000000000000803f00000000a73711361648e836a1fa7f3f1176fc35e93159378bac89373e94573f335c3e37a48f81376183f6375de02c3fb7fd9c372af8b2374f7a483867ea003f6b7a07389ebdb837c0c1e237b4ddaa3e8f37c037f6b69d37bc9abd3771d42a3ef9e9943795c780379b58623777ffba39c5462637000000000000000000000000000000000000000000000000000000000000000016d5bd368a56b337bb6c403829fbea3768171337ba5d2938ee3a393a7520bc3957e413370f2fdf371a5a3f38e6432038e8164737451f093883e9b238c3a63c38796e92371de1ca37d751ab39d1f42f38bc6c6f37a9891538d0cd6c382e112d38b93bc036add5cf37e2eb3138ea45be3700000000000000000000000000000000000000000000803f00000000000000001249d636588e6f3fe599fb38174f6d379fd4c0376a63493f55cc813a903b25387c528d37908d243fd7a0aa395687fa375911a337299cfd3ebdc6c439bb73183827609c373666b23e13c61a3a366dc837c9f178376804513ed4f186381b2ce137fc86b236e5585d3d9c274c386ca1763700000000000000000000000000000000e9759536bf072438c686123936da2e38d82ea435d5523f374debb739ab2dee37a1d7ce35e4b24436035c2939c761a437dc4a6c369cf49837f835cf38ca4985380e930736237cb43662f57239242cd037757d3f367828dc36b335873859df5038a6ea9f36db2e7437111552386bc52b38102a1236419f1a367894b837a79f8c37bd13f2365d983b370b360838504309386f6aee3603666e3fbddb8b3d19bfcd37890b343620d75a3f517e973da3168637b920fc350ce7383faaf9933d99215e37a65380363795173fbb7b813d47be333853e90a36e3e4e93e76944f3db445933711e66a36b3a8a43ec4cbde3c4445b837d6e6a3360e49413e8236013cadafea37d7bd153654e8483d84d18339607b32372ccad7361107d1376e386039b2c2f037f74889367d1caf3705c77a3accd8bb3730dc9436d425e33640d4363851ce5b3780d47636fa619537602a9439c1282038423ea93634461a3719d432383e07d537b42c5636676885372eeb953a27ca4a3ad3d76537acd800381bca54384e873938b8c8c13550561f37e5e51f38ad3ccb373a720537718c3837bb663a39403dfe3787c8233746785a37c26529381e4c1e38380d8b364dcf483ff3605a3e60d23037b1209536d740393f04ad583e411adb36d3438236b8311c3f842c493e8442ca372c11bd36c432003fc83e243e68896f37c2485336febfc23e9e45f83d032ba138fe697b37ad7a863ea360aa3dec8c1a380c4ac735b3630d3ec61f553d38a43337b85701372c52103dd20b7e3aeecf9837c6f31b37284af83771f9a539897300389723d73644423138981cfa393f0a2338144dc8363af17f37e3973c389280df37083c7a350052443669369638ee64a2379cbcf6368b17be371d9e6238c44533381c988a36dfaa8e36ede5fd3705e48037b1052936146c2b371a8e56387d6814383e352637ea649a37733c173863fdeb372027b936dbc1f736180e57386048943793560537dfb188372331ac398a7f6c38d078023707b2233f320eb83ed2819c37598bca36658b173f2c4db33e84d51d377a9e7d3551ac003f9b089e3e151b54368cd10437b315cf3e5e0d823e22b6db374f5a8c36cce49c3e5084483e820790366b982d36de1c543e290a0f3e257c5537ffe92137fb88e23da0bba83d239a93372fbfb236e27a1b387a318b3cbec3ea369a23f3364e7923385463653adc500c3858a92b37b1762838e442783ccc681f38e6c7f2363ffe3337212b2e3a65e5803751d00037dc246e37b1de6b3a4e96fb3710012a370d0ac537bf37aa3939fa7438f2fb8e36c979b537962f973956393538f1b848377261f73719872a39ce176e3850453737d37d91379bff053afebbd0370ed2263770653b375f732c381bfc7c375390ae3762720438fee64838c77f3438a71e4f37694bf93ee0b9fe3eeceba7378ed90137973aec3ed1d5fa3ed1671e3727c208374ba5c43e7c11d63e6f65463774672a370eb59d3e8425b23e0fae933792bb8a36cfb46f3efcf1873ef76d9637d53143371132183e2e68473e6bbeba379bba2e3740569c3d09d2f53d204652372444203794c709387d3f443d1a773137060687373e492d38c283d038aeec1438218fef366dcb21387b6bff3b223e023837d68936739deb36a4e61a3c269d8337d5670f37de7d8e3763c748389c7df237f5d32a362e895237f8cf6538b35711380dab9036c3ff8f3601e0ef371b5b5637bb8c6e37d50103385097553815eb20380baa473636c4da36e0f80c38999461371cc22b37d31ea7375c9a143838d7cb370316b0372555e737a6ea77381e404d38b4bafc36469fb03ee055253fb5f5fb362b2a8e36e356ac3e0a04233fd8abbf36a0d7113755548a3ed45e093f57f54c3793e92d36f594573e5f77e23e28b4e8363a9f8f36814c1e3ea99caf3eac798e3699694537461fbe3d6b6f7e3e5875b43784e92f366c1d093dfbce1e3e94814d363838d43669b4033889ba6b3dc1ca4637263a9337c27c31386fb08d394e4e033819913f3797edfa3702ed523a59b1ce37ddf00d3742578e37d2db8b3aa552cf3735186d3656d013377b0ee4382a7fbc3785bcf13778371338f7f45f384ca12e38f8f09537be779f3829a3963a68dc0b3a21623837d05e9137809406386dd6a137c7c4b6379ffff337942637388b940738925e07378b141a3769d39c37be7018370d6d7837ae8d8c37cd28b639f788eb3754d241370f07513ea8694b3f8a7425375fc10c37183e4a3ef7d3433feb5f0d377bc83a36d9d2293e0bd0243f4fd4be36f5f9dd3720b1f23d4f0a093f6fd5f03715dc8837ee5bac3d3620d23e1a60893796cc2a370c55193d61339a3e5341163776c092379f1c683b60ea413eb4cc8a37977ce8368c5f6537c158843d978bdb36c63646374b15b137582e563a531c79371d6f3c37ab0bcc378ab5413cecf8ae376b5c22367c01d0367c6a5c3979ed70371c2f24370081a537cda15b38b3b61e38ae11053771d11637340d7838152d32389fa76e37b7f86f3723e1d0375db9ab37d2063c389a762f3886ab823830fc5a38cf758f37d33c73378e6da13737c8523738a7b3373f5bb2377ce10e38aa0fbf37327c0138438a023881f25238d2343638ffbe3b3799425b3d00276f3fb893093740dd2036969e763d18e0633f3b051136a2b107373c2b3e3d7cb9413fb5236e37c4c2f4360956e13c2e991f3f71700837a3a93337b75a593c061df53ea4502a372bb8f83704008e38753db03e869ae9379d4752376b4ba4376516523ede188536cf2b71370fcbdf37d0bd903d141d22370d9faf370eaf1438f3ae8538319e01380000000000000000000000000000000021398b366c08f536410146387b1b3a38b78aa43766008437f56d543812786f389c39c737228aae3779f92f383b0dad39f5251738155cfb377e7d3638033d4d38125d0a386f4ee6377bf31038ea191b380ffa833905dc19380b5aa03969489d3900c2bb37e154803746b30b38ffd506380000000000000000000000000000000000000000000000000000803f000000002de38036690c0c386d14723f4e04df374e29833782e9403866a64b3f38a949381a5bae37291135388569263f1029873862e2f03759023938abfc003fe0b53a388e0ae437d34e0d38be95b63ecc1908389e5612385d3d3e38124e573e14fc5738d35765373e739137b7b8823db8b9c23700000000000000000000000000000000000000000000000000000000000000001fd1a137acae043ac866183a596ce639a44c0938c76aaa39a8160a3a76fc8a39d8d50238d992b23946e0073a16d7993949db273909a6f83965b6143a6504e239c4230b3932d7e339fbef4a3a6e0bc9395f4a2938caa49e39a2f1d8398861853947f72038d0f3aa39ed07e439c0bd913900000000000000000000000000000000000000000000803f000000000000000035be8339938d603fa5b31a3a4c0eb539dc590b395666403f60110c3a4a05333986cd29397c9c1f3f3c2a073a03e2513984a6a3393c6afe3ee909193aee24b43992138a39db59bd3e4dd7563ad88299390bf2d038d85e7a3e5702db39cc202539d371c938d9faef3df979e339db3b483900000000000000000000000000000000c89b3338f85f103a3b39253a16e8d5397ef88d370de88b39d5e1053ad0cd8f3954072238ce02883998e6753a13b4ab39d976153805fcb739a4ab173a5af4ca39a03a40383881113a330e933a68051f3ab202f237f4088f39ea045a3aeee4ae394d86b037b3c9353ade48cc3a9481633ad8c4c537d082ab38cce2e739a8013c391edc00384890a03980a1043a373ac83931c76b395bc6603f3ce4ee3d20d48b39831b0238a1ee463f2957de3dc0fed8381b353a3826de293f9ddebb3d200a3f3940d02538212c0d3faf4c9c3d43fc823945028539db97e03efeb1753d7320013a9c7410380ad2a73eea73373d1be156396e460d38df385c3e8995e43c97a2e33993b5d3370fc5df3dcb3f243a73135238b41a09385512f639d4910e3a26959f39537bce3770a4f039fe4e383aa887c1393121f937b0f9d5395384973a836de839b144f136261ad039a0cc303a24bee239a2f4d3379a478338a171703ae26b6f391412f33793f31c394e5a883af1cbad3980f96837069998390c9e1e3a7df6c739576f5138afea6c39d9157e3a9dcda439a5730538e40da438353d163ad3b947399320ec37058c1d396f6c753a555ae739bbc8d5383042403f3eff793e0af4603902d41338709c293f2d745f3e54382f38fb820a3848cf103f83d43f3e9f777839e096003866ebf03e2365203e79645d385050143815dbbf3eb2b3fe3dbd5cb838f86dbd3736a98e3ef3acbe3db1a36c398faa72382ff03b3ef7cb7a3de721283946470e38ea74b33dc28bf73c121f263892090c38afaf243ab091943ab57749397b5dfe3777f8aa397137413a2b09a1394db1ea373f2ca839136a8a3a6ecad339a997cb379ad75539f3c6a63cfaedac3908a3b437a8ed9839365b8d3a05c6ed397d51fe37cbd4c33906dd7a3ae618043a16bec2379e49373845f5913c3dc756382e89ee3798deae398632513a6398e4391323c43735604238955a1e3a9baa0539184e3438fccf9f3965f3233a241cf23989471c384662223f212eb93e29001b3920ff1f38e8c20c3f5814a93e28263d3912cbe837d51eee3efba08e3efd15f438208b23381a89c73ecc88713e921e8639cac213380ab89e3e05a9403ed0e0a839ad59e6379d42643e15f4063e569e3738e181f837cb0d1a3eeac4bf3d5be3883925f9f8377a18913d78fa3f3d46fb3e383fb14738b8df003a957d613af939b73983650e3823cff5393f29493a16ccd93977821438e4a83d39dd52093b887caf3976920538951b8539a4abf83affbb5b3a2c3b7b38d5e00e39ae30fa3a0d0a93392b1e7238fe8dda39ea3a943a4aec0a3a0ecf833802e7d8386192de3a6c4d9139df2f1b3856ead2394e7bdb3a00d0303a2b201a38443a4a39d008c63a329eb439a0911638856b9f39f98c263a2169053af4df15399b64fe3e06f6fe3ecc256339b1f925381ef5df3e8df0e13e58f6ef387a312738913dc13e810bc43e2ea58539b3ed8338595c9e3e5569a13ef6c19a38bf1f2d3969e67a3e562a813eb340d3394f64873840de393ed891413e3190ce38f2bc3e38dedcd33d0bfd043e3506603915a51f3808075d3d89e77e3db3e20a39871143388d66f83975c5403ade48de39e36037385855ce3901d5903a3f81dd39ff23ae374e6f4938c6fa893a87660a39bfb9e637f9ff943988a59c3ab641fb39d568ce37e4233938ea49983cd72d7238d6210b38b602b5391f73843a9d9b093a89b50c3852509239b6b3833ab75fe7395be4f837c3452b39c0e2253a1d71ab395a602038f5ce8a39c8e3323a29d5d739a8fd0e389b9d6539ef010e3ac943bc39c1b971381934bd3edc0a203f3c725639ac590138531fa73e5cbb0d3fe489313882ddf737664c8e3e53a4f23e87268b39dba7f13761a3613eacc9c63ea1753538c418133809193a3e9f96a13e5f9eaf397069333805a2083e1c89723e3fc583393bd4fe37a8e0a53d5fb61c3e69930d3962fd2938d2e0183df396a13d38327339ab0d1738f98bb3390e644a3aff178039022b1238d8ad6d39a501b63ae685cb3998ef0338025c2838c89d8a3a81747839fd594e38fe0e2539fa79a93a0e7cc739cb25a437d03c643957b02a3ad064e6399d1c0538d13eba387cf68d3aca9ed33989e3e237f12d5e38824c683ad97a793948f530383b7a6d390165333a868ce839f23c24385fab1239d631893a0a290d3a57dd9c385f909039d526173a660aed3943942d386043783e6777403f17dd7a380c28113897485b3e18672a3f765d23385b337a38bc893a3eabb6113fea5938399cffd2375f6c193e3e5ef33e2a218d3921441a3826c8f13d1b41c23eff370239e54d07389e55af3d8bb9913e15ce783808c543381ca45e3d3ca8413e9c168b391bbc25383a9ea33cbcf5c23d7722313934fee738a2f2c339114d5c3a5598bb39f0670938a7ef97396942273a6073d2394293c73716db0538f1a6913a472e8039bfd9b737e86fa739df1aec3a1b7e9b3a391dfa373ce930394f44733add45d939510a863988e5ed39224c933a9d273a3a38497038038269397d02163a5130e53915b54a386fe6323947735f3ad4b7bc3909040438defe08390612f4396c239d39eed72b3984f39d39901e1c3aea9f073af253fd38635eed3d8d3e613ff89683398684d537014cda3dddfe473ffc6a30384d56fa37f103af3d8ff7293f782d363aa9a7073834458f3d90d00d3fa4eb9739b608a139e72f5b3d0f01e23ec17a0f3aae26b73866aa183daebfa93ec65faa3928e84938d8dea63c6539623eac046639e8e30a38762b6f392ff3e43da2b23539106f3b397d6cc239b0be343a5720ea3900000000000000000000000000000000ee68e637a48b16397c3c063a3a2dda39e2721a38de60f53864bbe139542ece390a08f33819488339bde7433aee19373af95c5239ea6fa13981950e3a81ba0b3ab1a1e238b49e3439204ddc392c38c5398fd6ba38da1f2439db19e0397af4bd398332993916adae3906a3103abb1b033a0000000000000000000000000000000000000000000000000000803f00000000e4ab2238e2a6b0390711613f223dc139453c2838badb9c39268b403f04eabb395e5e273946a7d23913c41f3f9efc193a84b06a397db6e3395ab2fe3e2f3e073ab3f0e3389b54853994d5be3e119ab8395dcbc1385f586939b0ab7a3eab4aa539ad7c8c39865cc139fe75f03d1c79e9390000000000000000000000000000000000000000000000000000000000000000e67e6634ebdb66358d126937f3abab37b91c41359bf450357ed573354bdb4237d4bf503614874f367132d1376b710a38b8eb2b35262432340e0e52373a757837cf749e358c41a635985d91379b7d7037885bb13544a0b3351b0188365240a3352d4cb1354748d5369c1c0f37f85b4b3600000000000000000000000000000000000000000000803f000000000000000078fc0e35ece37f3f7dd90138a67d9337d5c54135d259613f53c281388183c0365c496b36f78d303f41537439687dfb37084014365bc9fd3e503aae38de334d3711f66b3681109b3e26a516385fa33e37ea8ca8353bd0de3d15ac9d3878199e359ba2ac340082de38bd28dc374136af3400000000000000000000000000000000c7ae0f364d4827365d43933731d41f3789b4f934ce7e1e359f6ae9352196f635701b1c3520a81a355a848435b642a035d78bdc340beac834f39c8835539a66378fe2d734e475de34f692c636855827379002ca351758c535491bf137d1c0ed37be715035af1345358c7348350a0349355e7da1352e6fb73567495637ca42373702ca5b369d076636dbdfd93603873e37edb90236bc717d3f8399223c5f0ce73645b8013592b2773fd981013d6134f7351d261f357f66593f08a7be3cff679d35c5ccda34d366283f87b6423bb2a81c37e02ed8345e87f23e30710e3b6be8cd36cd1dca35454b8f3e5c53903a43b1983716c54e35787cad3de72e073a4d294c35e635a135b6f51b387fde4d3895fd13370e805236418d713653890c388d1b4e372d6d223651332736a5521d3825b79c374583fd35abd50736e4eb093680060936c77fc2351bd1e535733843366cd3483609beda35caacdf35ce71f135c52df235f3b69835d7049c35ebde8e37d046ac3711bd88360cb68e362b5c9e3696839d3673ed1e367409303662741837ef1657363052003695c80436bcacb23793c3a237a967923647679d362245a836fa13ab36f18923360e775c3fae110e3e2e8026365495fd35d281563f6cad243e32460736b04e9535b000353fc851243e1d24403667a1e135a5d40d3fa81c123e2c12ee3561159935fd34c83e515ed73d6bca64374b6583361a65663e462c8b3d9c0f9b3631870b36a8d3923d8644e63cd2304436b217023622591f3833a70e3a8f2e403786968d36a6e5a2360f8cf0377fd9ad3612091c36e36931363207d837e15d3b36a775b5351363b835cb690f38c75e9f372079ae35a57ab835ff14c8353317cd352abf2a36337b34362e7f483682e74b36f5c09e3530b3a035232884377cce5737c827b835213fb93568dc683634f7b635d6ded435821b7936035ffd3731bf793778bd08365c3f0936f979cd37d7b261378fcf4036abbc45363cc6e237f43bc337079f14364d462d3f8b78a53eac472d3670f3b235ecb8273ffd56b03e4980c1352fa1ae35b304103f045ba73ed081d035199c1e36091adc3e62b7893ed89c4336f7729e35053d973e8b504c3ec6b5a0355603b735c778303e81a7003ed848b6354e9ed235ba4ff03c2f096f3df78fd93525ad06361f4d1138b8314139a1c00736e1703c36150186374f064738acf55c370ee0ae36c4e4eb37fe5c7a38e837bd37c1f884366781a436fd8afe377807d636b84a9036cf06a23673fee63650fbda3668428d36f44b8b36de179d37ac541f372ba4d735f0232436960f48376bac2c3750b6a7366e20a8361f4e223801714f37979cd436862fe036dd0ae037d582eb36dc40b436c5518137e8ec19382519c6375af77b375bd4c537123a3338591516387c8ea636d86dfd3ee737013f85bbab36b4524b367705f33e3f79063fa79768364cc44d36fabfd03e3705f93e0042a3361a6d6b3628009c3ee337cb3e0a848d36749e2a357a245d3e236b913e62c89135911a9036d28fdb3d7fc9433ec47593364622ae368d9d7c3ca8a8b93dcda8ae36e89690363cef4738e580003994209f36c1feb43687b11e38c6f5b83805b8a137a13c41368aa3ba37cdf11d387eca3d36c277073620d009366d8b5237a52a0736cc79cf350aced235cee7cf3595bcd03512b5b1356f0ab735389cb435c607b435efd8a235bbd2a335c7b404373f7ecd35ca1f473698aa5236f88be7366c174336e41ccc35d10ccb35cff6ca35c6c1ba3563f96737e02ac0375f8f1f38e7a4a7371c4b333640133e36d73de836ea783436296a43368c709d3eaa3c313f51833736e21b0836b36f953e2e3e353f2b0005367333ce35146d823e9358283f0db6d035cec6b835bfcf3a3e3502053f6d6ab4357926a535a0e3f23d3ad5c53e253a9e35f0e04436fca45a3d86e47d3eebe32e360bf2d6356c223739c334e23d70b3b3350ab555369ac25b3897749b38a424ba3522df303679df40373d27ec3768e72d36aaddab36d676b036c569a536ab0b9736fedb04368f6a113776e90236804d03364ed03a3615ea3c36598a2536a1811e366dec9b3611d89a3633d28f3603018b3631b67c37d20e2937176c9436cd979a35e675ef355d11f735a40cfb35aa01f235a3275c364d285c3653d85236f2f33636faab0c364da80c36135d0b3644bd073650a6593708caab3736f6bb37e01e2b360390a936479b033ecc1d5f3f91408736b5ff0436a0ade03dc6c2633f96e50036a3b329360bb0dd3d64b54a3f99d9f83538ac98360438813ddded243f18948236faf2083751880e3d7af8ef3e052299359e1af1352cf9073a5d1d9b3e1f8deb3545e64d36c420cd392a78073ea8fa0836ec160c36814ce93784bd9d3a672a063647762636ba9a0e3871d01f3897d4293651a93337d1c47537b62d26374ad360364636d33657f3e635644ca635abfd9e3541a84d356a114c350b194635bf2c4b350b35cb368e52cc35cdd7c135e65dc6352ae2c9364f1f07354cc4e8348de1d734d0ca1637e72d8b35cb3a823519838935eee5a0354a90a635a77090359cb64e35083e04368d830f367e1b08368499ca35d02c0237e44d2337067d4637f23d973669f30437d3860f3a96da7f3f281d3b36755104361af56d3820ee7f3f76599c35009952354667dd37de306a3f545d47359635d035c63d0939e106383f3ebfc135b91862368a710238ae25063f5d5ed034002f4e364e088d38d397ad3ec6a8d534b9099f35edebb138056a023e38f61b35d7d60236502103385471683a4ea987350f67d136f79dd33788a0e13768422f36000000000000000000000000000000003139b33494b5b334cbeeab34fca3a53419208d350a839335759f6c3576e8a335932b1b37878d723532443135a5951537b5425537296ddf36e05e553601c84b37ecaff7372bbfb9379ae5ae371293f137fd81c736dc048d36ddbe2237fe3da5365b34a737d51aa1378bbabf37e6b6a5370000000000000000000000000000000000000000000000000000803f00000000c892b13479e3f7365af27f3fb4f4a8346b8393358527a735a021643f1be69d356c54ed36c861a4378d6b323f5d8c3d372ee724371d72af373c12013f990e4237caf7e7373e41643832a59e3e808fcf371870ab3609911138f6e5f43dd4de54351b27923722dad037b4b4af3927d03b370000000000000000000000000000000000000000000000000000000000000000e36fa436e414c136b701493723a75a378546bb3588a975367927aa373edba137676e7636117dba36b1ea363830b4123861e2b1360c96bb3630d6e5379d46e1369241aa36530ab5363b20d4379892b63646b4023685edb1373292eb37a516b735519e433614b9513641fe063785132d3600000000000000000000000000000000000000000000803f00000000000000009373ac36c46a7c3f72af2138d7810b37e3222736b36b553f971f863957d3823789ce9a3655b8293f45b17a3899bfec37baeeb236d4a4f93e427c48383a36c5362517ae36f6c89f3e611b2c38d713b53642de1f3610280f3ea61e38382a825e3588e444360dab35382d342337fe282b36000000000000000000000000000000002e69293640557f360d7c1838b2509c37e0e3d236099e0037edaa2f3880df063836e1c1368f79ea367972fd37f0f5d1370034b8364ac7d136e49f6637fb214037f9b10037a71f0c37407c98376da95537793508377c801637bd81c6376a94563787ab5f36bd657d3601c5343829008c37661cdc363ffcf8369e974837a2d0273789557b36282c943676f8c136850a9d3761da3b363eea743f7da6303d328add3629a6da36db27673fc3ee9c3d016ea03747c5ce361573413fe8bb733d1b5b1c375606c036ff4f173f5b4f413ddf1e0937154604379b29dc3e3dcfe13ca2d32537a8e30b37a2f6823e8c96763c66dd3837d6b06836a22fb13d3482103b4e449936ff7ce53667ac1f378e6dd638873815374ae68336cb8aa8365d4bb13847fda53716a40b352a9627358d05523866e901375e419d35bd053136137122380209833620f05c36a63a933601898738a28925385e33bb3442ff0335944ed2370f0b803710028736b6aba1367380a937b2ae5b371d45b036335ef336956d4538443ea137b56b1c354f3c493579075d38ed12df37ebf17d364e8098362b2be737c6b4b337d92bb336db35ca36daba2e37e55145375c541435ad6f4f3f7c81413e64ea41355937c3352ef4403ffe2b663e0ba6813634286936a0131d3fd4e1553e7838463763d0d134f0a2f13e9f6c443e1223453558ae8e361f5bac3e8e45163e9b35ce36958fba368db0383e2e94da3d14580a3764b0203572da653d444d813d2bfa853640c38436ae8f583765ca683a9e68f63607e7b6361f16da36546b93381f670837ad571136d0725636553a4c38934c6e36ddb3ea36d1530a3746c13438233a19372b3936353358dc35d7f9ae36e4f22f36f2ea6e32572d7c36ee3fd53754ad3737e8240a3799ba1737f1a8593877472337c363bb34bb493a35f109b537890a4e3582b69135c1dfd535c9683c38be18e5355f3ffd3627b20b375ce68937cc033d3779293b34d3536334e895a337e20d8837886d1f36cf3c273f0758b13e27bc5f36dddbf136624d193fa44dc13e52a614377edb59359891f63e5debb83e08f724363ff6c8346d75ba3e0c569f3ea37bd73675370d37fcb57f3ebea6743e34351f37dbfbc434dbe7043ea5be2d3e64880e3502639e351b9d093c5a0ccf3d7d42b235eff901373cb041374558143b3bf40f3707bc4434d25ee636eb7ab439999202370e68b23650b2c6366b72e43845dfc43618642937bc943637fa0e4138ed023b3795490e37e4471a37e82c10380b343037a1fc29378a183237e9a70738f8283a37a86ef336e090ff3697a0d337e0a21337fe253637b5443b370e182e38d6513637d419253788022d37862c25389a9a2a3758c63637234c3e37a1491538da5b3b373a72b9369ba0c336293ada369116ca36ff79b2362bf7fb3e5504023f08e6b536bde82937d1d1e33e66c1093f9a57343782b91037e953b63e3b0e023f256a2137940a2b37dc45843e25badb3e54fc35378790f436bd8e413e2c419f3e6153f9365e66373785a0a63defe96c3ea0023137fd54243795d08539e6ed0a3e75aa173779373737c74086376d918b3cc98c3337b07fbb364826cd36f2f41d392ca7c1363e79203433846637375a423813d34e34ffbc09375c1e15373452973735920a37e2d78035396cd0356865ff376a8dd335be4cfc34002e623515d27c37c72a1f3574f81c379c5c243708b95038d8241b37d8839f3660db22373aa7fb37173d013751bc3a36864c433616fbf236779707367d9418375aec1d3774942838bd9a12377d6661361ae27d36c0e30a38ede92b372ba92c341f89a83ea2a62b3f9d293b346ef80837f247963e574d343fa10b0037ac02823590fb653e0e792a3f3f3187350be7ea340b5b1f3ea3810b3f49babc34fa0b1d37017bc63dbb47d43e9caf1137f6919e36737c163dbe67933ec2b73a3679b03136ef9c9a37ae1a213eca63bf35a94b1837698ccb3746f7c13cf6c90537e181653680d76337eeb875391dee49363db6ed36ce554e37fc8c483876bbce360f0cad362c8b6437500821386d409b361bb23e3515a6063725cf1c3867983a35e6d00137d04d0d37851c1638b87e0237eb3ac9364e071237cf5fa137e9dab0367d7b59351cc71b376e3de337b2be0635d8f1c2369528f437ba0196387390173702c7843600268f363fb63238eb325b365d404535c1069a36cce6203818ff4436b011ed362cc7333eb504533f8475b73687e2ac3618e6143e64945a3f1ff27e3612294b356defd83dbe55463fce4910352f3b00377ab47f3d3b88263fd9a3d7367c5ec336db6a0d3d08d7f63e4ee19a36b355543561f950381a25ac3ee2f2ea34568ac036412dad38f693353ef6698f36af49873612850c380f14b13c4adc29368444453511adb1371780353a00d921357789dd36747ae637af003a38c934a336c4c9153725051637591a393785eafd362c779736fa0c9936e17ed136720e803609a03b378dd33437619136377ce42637831d26373fec2337c3744337f54d1537c4420c376fca0837c7cf443711a4ea36aa3b22372efa5937a24e2a38533a0537fc07c2374083f1375ffe6a387be94c3766d317374b468237d1b8113805449736f73cda36247ac23c3fe9793f4c1485362e2b1437f3bb72393eee7f3fee53e136997797365b6288389c48693f445563366bc63537e4ab0e38e7ab3a3f057513379d0a24379284883877e20a3f226b0b376f4c0b37fb9f3a388344b93e4e4fd83667301f3719a865382c3b3d3ed2dff036873c99379b6663382ce3a63ce10803379075c036319ee037a7edd338c42980360000000000000000000000000000000019612e36edf72836d9a32d361b654636adde5a35c666f0349168b63588098337d6d8b7363ed7b3364dc1b33654779437745bc3368736c336d37cc436db8e2437a308dd37872cbf3770f31738863f053870499b379c834e371ffed9378ea7ba367c5b51375a530a37a1d0dd37981300370000000000000000000000000000000000000000000000000000803f000000005fc0243625b436367afd7f3fb59c3d369f380b355e4ec83520325c3f7af7b5376f92b436924ec6363c17303f50526d376981c136048c7d372f2b033f3710c2364c38c837c58829388163ac3e3f1a95376aec6a37610ae03750112a3e0d9a923685e20e3796b2a5371f17643c4c41c6360000000000000000000000000000000000000000000000000000000000000000e8bb1635dd868635cf406d3867034338cb100636b9c177368b7a9f3907403b3829acc43590929937d0e391382cf03a3820863033c7495437831bc83948528437adffb935897ecb36252d15381fa609362324b13536431838d8103438e827703600000000383ccc3755b3cb370071d83000000000000000000000000000000000000000000000803f0000000000000000478050351b926d3f4f0a1e3a7e420938965b2d3664e8473fb7688d3a4e581e38802ceb351efc223fe8639c396cb71a38495e3733e7e2fa3ef069283ac32102371732e335d80db03eb0211638500604368ec05f3795a0403ec2d61638eeaa0634a121b336ef3f3f3d67f07137415ffa3000000000000000000000000000000000e0199d335fcea5339d8e243aa92e2c389aed61349d8eda34e221053985d4e83787bd1a36a7dd29365bf33d380764313889bcd63458981235ced57a395a384038f2e5683501ed8935a68d7538fd2c1b38110221363ad2a9366f1c5038ab3c08383089543537da7335bfb7b139212d85359cb67d35fc258f353bd2493873698437ca58ee35c1650036d349fc37154e33387edda0339c2e6a3f9275a73dec6ef5371dbb9e3409c9503f5e50b63df5a3b037835f2136a76c303f63d2b73daa2e0638f505fb34359e0d3f05a59d3d331cb73756797d359a50d83e47837f3ddd594937ebff293631de913e12f22b3dcc6ebd37ea276435dd6d1d3e70da9b3c2c9886358d778635b005223cbb6eab3c967de43576faf7352a3e04369c335d3acbe727388c67eb35d9b0ac37712f473a7ed76b38783480355d708435d585ae388dfc2038f374ee34de0b4c35dac1f9393655c037ddad01361e751e3600ad223940066b3816df933548e13c36819bed3868f026385cf44935b94f8c353a33d73bd42d0238e5080136f8542136e653be39c79c22386ace8536df6eaa36b385483876d2953700a01b36d7be473631a35d385d914538367b183668ee433fb8f6603e83ae17385385803506912e3f93926d3e9d085537ece01d358849113f332f593e5c36753691f00e362a3be83edadb393e0c192738931eab356b31b13eb8f20e3e41fecb374ece6835877d603eca0fcd3d383a6b371c6e0f36d19b013e6a33843d3a98e53641469336e10d04384782ed3c431aa436dd122d3689bfb6374ae01c3ca57c0b380c79643681b0a3376426233c8175fb37c01fa235fdc7293752be803a3bc2c137f3193e35602656362967703ae12f0f375f4c1436ff9dfe36b333b238b95b3038f6e1b835d291553704b3243ab6ffc4379dc49635fc264c36655b2a3a90dc963629d184351ce28f36a2888f3956a663375c935a3631b51a3768dcf93966e9a137528388350a9fdf3530769738458b3138bebab1367ff01e3fc0f4b43efddafb364ddb96365fcd0c3f5f22bd3edf68203740258435d6d9ea3e74c3a83edc848a3667884736c521bb3e490a8e3ec661913761463536d3358c3ebe415f3e5e856c3760b1a535ab7f363ecd35263e59582e3645adbc35f500b43d4373d43d0b6f4e36a0559136939b1c384f0c433d5104d536100399353a171638bf22b83a09a3ca376d915d35462ff036f72b183c3d3a8035abe94734495a8b351bc5323c12f3043869688c350b01bb37693f253cde3c5938e5febf350f9c7136b712023ae66ce6376d14073565021b35eca4a83a4f8801374c1fd2354e4d28375640043ae25bc6378f999a35f04d2838c10b2e3cd70d3238ec7f8534d15b3e37ecd5163a43e1cb376985773548278335f4ba2f3ad25cc937be826935a04af13e0fa3013fdf528135adf64f345bcad73e01a0003f7e5432353e2192359b9db13e5490df3e2317e03730a9c7359ec58d3ed4d3be3e36405b36fbd510359bed5b3e216e913e5d981835dcd1d7350d1a063ea0bc5f3e145e1136a38d2936af86773dec8b0a3ead5a40374697823428e37b38a965843d1f0455347dcf803510bf573723534c3c896c7335db9ee935820d14383709a93a43e4a23722e82436b1c206376d30403cdb209837fbc96935dc657936f13a8f3a57256637d148bf35b35a4e36ff685b3a60209536e9857d36c648943761c7563acce9b0376b439536152cf137ac1332392bf4cd379aa5f235e72aa036386ca63a9383ab362c02e2360c5a62373fb9893a6c1e483755a6cb36885bad37fd8fd238ff3203386346fc3552c7b23e84e4253fd644b9354b3b8236bcf7973ed9ba243feff1c236a6cd7f3592ca763e09ec103f207a613646d3cb35ea1e413ed670f03e317518369e089e3642dd0e3e390fbc3ee4ce1037d603d136ef33af3db5f08a3ecda3d036d0fa2a361130153d8055313e1e2d20361ebd033746bd2438cf0ea13d49cd15375e62dd3688e23738f69e803cde2f0437df295936ca8a3b38fafc3d3cad54563680bf85361b7cad36c6c5df394270fb369652ff3564f17b37d1e1433a567be23709268d3501d4a137d5aa613c223caf3725f91b3633c4fe373140dc39a9d6a23783c51d37987047384739403a48e1d437e5559d356cd9a636fb94953a8c6c07368528a53578e1ea37beaf7d3a2e498d35c4273b37a66d3d383fe7563a52b82a389be7613668ee4d3e1817473fd8c83d36b08d943645a2363e4ed04a3f9e339c362be01036846b173ec0ef283f4d4b193633c09035cef5d13d13ce0e3f0c5b81351f9487364a72a73d1d3ddd3ecd40ee35fb92a83778fe353d3b98a33e5ed61a36300ba43591f98e3c6d3e4e3e648c4935d929ab35d8307538a23cae3dc47d833516e59c37e5ab8b38523f573c53c8883606b61137d7d744387cd88c3a216c02366a7f9235cdec7b3674555e3aa3faff3542f482359ef186355ee0323a42477b353d01ce36e71bd3372cdf703887e61e37bc03a235663b6d372e70f439d9bf9035876982356f9ed1374aa4583a77cb1c35b72ba637008b1938c2f9d3399b04a9364f207a37ac0ee7372117803c8fbf0235858a9d377595133820c9a03a14944836ebf5a83791d5863d0ca06e3fd3b0fd35686996354908353d80946c3f01a88a35ae4d8535edf00d3deca54a3fbee569355498ef36864dca3c49f8253f96e89936e388fa354045553c3169003fa0988935321e2a364f0a1b3cd2f4b73ee24f0b35d245bf37818cc338cbcc613e557a28367e6d8237196089397388a23d3fbdd934ef73aa374e674c3986faaf3acad8a43300000000000000000000000000000000e3d73f32f2251b3213ee7037bddfc8376f5c0934e45e08345ddff937688a2738d1dfe83503b607368f47ca377ecdbd3703a78933e84aeb36764e79386856e2377e2fae3709601438fb456638f1a015383300e43773802038993e143a28f0cd3748c691379283163882107739950cc9360000000000000000000000000000000000000000000000000000803f000000001c780832c6eb0a32a501743fbcbca33739670834273f0937bfd04f3f26931838780efe35f6c41637d2f0273f4adc35371adabb359088cd377041023f61d7593733c8da370dc950384ebdb93e66d0a037b416f037f4a44738ef165e3e4fbc71368732a83755595a383a35913d29fc81350000000000000000000000000000000000000000000000000000000000000000beba8c347baad4346c66a5345421a03400000000304639326b420335b1bd8b34e47c0634e75f4b34e351a33666515f36fbda2f34d804853434e44d3450484734568ef234c6710035c2588a35982a99353e1d033443e74634b17e1934236e14345d6f89348c34a034076d0a37bf6e853400000000000000000000000000000000000000000000803f000000000000000092ab9b3473b37d3f9474a23453c2ae3400000000f2e0613fae192c37c28595345e5b153498d4313f1380f737802f7c36657d4334a69fff3e7a674a3470b15934cfd44b35ac209d3e77029336c8321435c9d1113483ecec3d33a31634da0c2234dc568434624e92399f3d9737c3718f34000000000000000000000000000000000ebc963426108c3551cbb93717353436bb1136332b275533471c5d33f1208a33000000000000000052ab2d379c16ca368ea4b33398d2dc338fe0c93323abd733f609db332600073474e6f53351f6023465948335d0ba633525148635afca8f35628415335fba62334b453b36d9da283326700b349d110734ab5204377772f933316b3036f58252368f27463782a9593743cce333d6677c3f04417d3c8b3d09363640b132be396d3f55371c3d2e8a453300000000e708553f7e7b843c000000009a14b4337ab0263f10bbb63ac894dc33a056dc338b55ec3ebae2853a1b53063459b1763565a48b3e1f8edc39842d94357c1b26335313be3d09a3a63907663833ba31f333d1ac223885943e3854f5013422c04036d62e8337ada8053824a12d37975bb5337f7fb8339de8ba37ee0aeb340000000000000000c0be1237000000000000000000000000bf32b1372dc17a37329dc633e85fc93348c3d633d704f7336f34bd333c70c23377fed333703ef2330000000000000000a0b2993754a46537000000000000000012736935000000008fae0d34bd1b063437d59e3645d21334d51b4a36b0048236d9ceb337431fbb376c00a63394585f3f7e09043eaf39dd330000000045ef533f79fc2f3e0000000000000000470c373f9b87133ebf5c583607b1b63333d0073f17830d3e5c10f13373fcb233151cbc3ec000eb3d67e0f0330000000013a4453e4bb3cf3dec032a3600000000fe7eb53cbd3a8d3d000000000799e0339ab8ad3793c4863bc1befe3327d33d36940e8a370d4f3f386c5c78370fe7e53561d343363eebd2374636b036bcddc232ae4014330466e432bc95dc320000000000000000000000000000000068fabe327b15113377a405352642d73229f90934232afb3328b6cf33a8bcea3381daa533c4f0723350705133e63a7f330000000000000000d8b503370000000000000000000000000000000000000000adb39733aa7c5f3340780a379eb92837feeffa3531a3303f116c9f3eb4da32363a7dd732cc01263fd84cb43e3c81f032000000006cc2093f182cac3e000000000acbd332b6f2cb3e7b1d963e90f4ea3242b6eb331715833ea8fa733eb985f833c3718133e61bfc3d6c2f303e0d5a8533000000003b26543afff4c83d0000000000000000d5f9183793a3ca39000000004bc36c334ed9f036c38f2538b3457433f0d7c436e710603787001838f10ce13600000000000000007c009435000000000000000000000000000000000000000020254d33669fae33c4423c36ba133a34b1ffef33ca2fd5331888c93382bbea3393578933ce13503308321937926e3c3400000000000000000000000000000000000000000000000072310636000000002fa0cc364e03e436fe62993717d45c370324bc36e587fe3ee83f013fc048b63600000000941def3ecf7c083f00000000000000007596c23ee570033f000000006fb84033c5cb873e5a60e03eb9d0773308b7cb331b62343e075fa63e9c29eb336edb5633a510873deda46e3e586f573400000000069d9c390332de3d000000000000000094d4bd37a419df3a00000000cac4d0367d10c437bb393038d9f3e1361c786633af915e3719400838db568e33000000000000000000000000000000000000000000000000000000000000000077c87b33e40680331a87873335899b3396560034885ffe334aa000340d3315341e7f1033badd083332067736ad86163300000000000000000000000000000000b03714337c980c33722802330e3f1a334cbf41366edc6a3674152837c370843626fb533326729d3ee5d0313ffd608a3300000000cb47933ee7c4363f0000000000000000e46c5e3e7b682f3f00000000d1f16733598f0d3eb9a1113f04a197333494e03387be9c3d76ffdc3e95e20b34b7c2e5324631d33cc8a7913e65d1013300000000e7304438e164023e00000000cb7eeb32c5541737bc9ece3ad4a0043310944336a9417d37c8140538c9185a3636125e36ebdecb372f760438afaa71363483bb330fd60e344d08da33a7e9d13300000000000000000000000000000000000000006a1282330000000000000000e5e80934c2cdb533d3da9f335c1aca33877f03342905c13388f8a533f4a1c9338abec536e2ef393757fbc237d53d4b370000000000000000cfde6a3700000000e75b093528e2b133a89fd036fc5d5434eadd75364003fd3d76a5603fed502436c41ad033333cf23d6411613f445fe433000000009966673d66b95a3f0000000000000000b1abcf3cb95e2e3f0000000071a0ce33ccfd823c241c013f6ec4d1334e6ccd33e2aa263c4a32a53eee90d23300000000d3a7b43b10880b3e000000000000000029bcdd37194fec3a000000000f36b53468b76637bc2ef03722b89234c39ca536f2888637259aa83769eb6f36d52f0634466a0834a4d0043487a81834e63c63332fa75633155e4533e6e76b34e51e91357c389535b77f9635d3139e35f5651b346d8a003415dee53358580a34facdfd333160d33320d9bc33d37de2330000000000000000d47f5837fc8208377dd289337bb96d33134a4633f9d38b331d4e0e3642d8fc352c6f6c360683ea353b97d03697cfff3b86577e3f1e9a0c36f341eb3388ed8438ed12803f06af0e34be56343311ab8f374aa3683f11ba4a330d827e35de6f973709713a3faede8335ea0ef433b6e30c3799e1093f39da02345ec3c73399bca038962db33e2a1ed633000000004af5243851821c3e2952ca33716d14333db772373794133d186071330c390536465a4337bf7a0e385bc2ca3500000000000000000000000000000000f935a23414719c34e86396344c69b134385d4734fd233c34b5f52c34d5a84e348da003354026d034ef5d4c342821a535edb485349ee87c34150c693489b28a349d904c3403cf413431bd323420e515373ddb8434c3d7c734f8a95b341eedf8342697d634ab6ccb345defbb349d9dde340000000000000000000000000000000000000000000000000000803f000000003ec38634ff598834b013803f1a6b9f34ca771e34fd551734a6ba623f815f3234b0993434dbe7fc34ded4313f8fa88b3534b054348e7e4b349c89003f54896f3491a52234917d93370e119d3e976802364ea7aa34a7564e34adbcf33df1f0bf346283aa3421bca3345833253c049bbf340000000000000000000000000000000000000000000000000000000000000000383646363c4591364ff7e237c4cba936ec7e11361acb203668e5d536c6fe443600000000e4f474357c10cd35c52c8535ccfd8836788da436a08a71372a10b0367fb88536a95d9236348aa1367fc292363a597b36d481693741879737e6dd82360a80943609949337fedded37dd7c9c3600000000000000000000000000000000000000000000803f000000000000000029d45636d324763f96c6053802e2aa3626a9143678075a3ff6f0c237f03b44368f680c35b97b2b3f3b9dca351e8c6035ce709936e192fb3e37779637c669b13613578f362b7aa13ec52da536d2ae8d36c7e08d36bedf0a3eb90e4f378fd57036e1d49f3688f0db3994429a372ae2963600000000000000000000000000000000c60202365c3e3d36d8d4ab395b747f374719d136dd4ff63627424338af000d373a2654366c786036eeaa87381a5a873640ca0c36f7411036b93d973834563836d030ee3619a4fd36b6d69a37efb01537a0c15736dd0a4a36287ebc383723703651ea2336443049363e7ade38974a72362065f136279df836a887063716c508377ad69236feeb9036abc95438c74e6e3817e00f36c2c2713fc9bb343d1b944636b8d9d4364212593f18b7913d927705374e02593614903b3f6d5e913d17f78736aa191336351d0f3fe1ee3b3df3b043369120e8368f5cc63e5560c23c0c09113768f45336349c603e3b81183bbaa57736d4d937368ac9bc3ce5590f3be6e57336198de7362e960737b80da93c37380c37570982368fa2a63675c0f539f901263881a6d43574342f36b6c2c33ad27f5936ebab9b36c4f3f23688bda738fc600d37000000004fc998355fd6a938eba4003600000000cd34ac34dad6a738040c9035c3c09336792dab363e409b3736e5bf36000000000000000016028f3800000000bf7f2e3413184735035c0138a4dad7358c19d6369096e6368bf511386bc7a43707272036fc0d263659a97536472678365e2f023636704f3fa98a2c3e5f733a36fb2da536f76e393f7d62543e1473f7369df04634ad7e173fe622423ee82ce435000000006247cf3e414a4b3e70b13735ef5293368c00833ec2912e3e7ed8a33600000000eb269c3de13a2e3e000000003afd05353a8dd73758e1003ea0a5c835bc5dc936f1d70b3754be803d09df0337be982036dcc32736d9dfa73c4341573609f8f53566fd47362583713c245a093645cc7a369724cd36c6b02238046ce2366ee484357d101a36a12efb37936b15360000000000000000df0ba13700000000f5d05336b67aa236df1cc437f1eac836f25a373609096a3680a92c38057960362723ca358f0a1a369d7f0f37ca4618364ab1c3360570dc361e5d35385dde9e3712cd52366e9d6d36ef12823632536f368036f835acf9233f4961a43e3ee70236ce488c3662e20f3f36a7bb3ed080c7364746b6352d97d53e7f20b93e1042023600000000aa338c3e2458b33e0000000067b97136eac4053e3eecaf3ed9fdb3360de43f36648388389464913ecc065a36e851d13556935136983c2a3edb7b0f36022ebe3692240637f4b1813d6624033704a74d36dfbb7a3671689a3ca98e64361cc3873665d42738829c573b19f08c36fadaee360b6c0537a619b53816bd0437e7c226363d6928366a31db386eb21936c4287736867f763637a382384e507d3676ede33672b9f136ac5e5c389e45fd3609598736012d7e36c7784138b3727b36adfd1d36ee171b36368ca638e9eab5366171f9363865fe360ef13f381ff60637e4958b36d2038e363d64d3380c4c8a38cdd98c36dbedf83eeb66fc3e08117f36fa2cf036fa27d03ed429053f554af736214e2b36b5cf913e47da043f91d11236a8fa7b36ea14163e50dd043fccb98136ba5fe036a24daf3d9d50d43e17f9ef36d5948636432faa3882b8ab3e033e8036448f1a3694931638dbb1493e6bb93936d2b9f2361dfb0637b13b973ddfc6053768b084366162293814169d3c476e9036e569403657926f363c4c423b2e8272364bc3d0361cac0737a319b838f8e6f536f09c913518721936381c4f37c8f20836a0611836bac34d369669df377f4f6336354fa636516bba363c2f2f37a993c1360000000000000000fd2aa13600000000e8ddad35c035f435c5c61937f29f28361963cd36a4ead1368e0649376a39e936c0760a36513a05368fa16637738337368fef4f36ffe6a43e9b2e283f12024c36b06ed5369d50843e78b92d3f9af1c3360f34d03579310d3e5774323fe1cac83559a9333675b8423dc43d2b3fc94741369d6ea8362989dc3740c8063f009e943600000000000000003bd5c03e000000008248d935adb93636af6f633e4b120c36a55fc4362aedf5366abd933d9d3fc736840315365ab20336501ec63c1de40b36ce124b36a1378a364013a53ac576243634c3df36c75929379bfe8e38e621f43666fc663579f5db35b4b6ef36feae85355d019632000000008966143700000000b0bc8a3652e69736cc0fbb36626cbc360729c334f0986b35de869d3506c5303514d0d7354ba60336237c1b38068fca35156af43609f9fc3629f34b3871c21537bf393e36e2a05c36c4a35a382f133b367f5347368e462e3ece0e4f3f1c900f3698b3e9366ac7d13dd6b9553f3927c936eb26a3351d68a13c3ce55a3f16212a3500000000125eb338f807413f00000000ef549336eb99cd369f05133fae33a33663d51a35df3bfa37ac76cb3eeeb0f6349976ce355051c3376993603e1b34a3358b68f13663e47a37bd688c3d0d24f2361ecc3c36e37062364c7da53c491b25362a4db6361897493801e50e39a35793366d280337c82e093773e60537821001374b8d5136bd8e5936bca9423674e34a36aa596c36d92162364b044636e6c44f3699690a37bc87093717df0937ecb209373db244360c943236342332369c9f2936ad448636e552843674995b380f53813639310437b1a805379156ae3768d90637b9624f36461d54362443b238ced5143745c5ba36ef401c3df23c763f98bb7e36a6050337a9ca2f384dcb7a3f380aec360453523624ca62383fa7793f89ea373663e6653687e25e389a73473f4d904a36a3790637ebd218376df1163fccebfa364c4f4136c3b0ee373980ca3e50201e365a7a8136a3752738cd024a3ee32c7b36ac1201371b171137a64ea63df544fc36c4174c36b4478538e4a7453cd589363600000000000000000000000000000000caf28d3696838e36c67b9f36675ad2369c676936baf55b363e597a36b0d909377a128a3635ed8436aea98f36c530983661adad36df3c9f364618a9360d94b036bd085135c10d2135fb4895351cc1bd35ded33d36a2613d3689455436136b4f3640d9b036fa809d3641bca137cb17fa360000000000000000000000000000000000000000000000000000803f000000008136873612979e364bfe7f3f1671a436925b683652ff85365e585d3fa3bd083738018b36c3e39d363f6f2f3fb48e91368a6aaa368ae6b6361266023f44fcad363d8c4335537eba358e53a93e481aae3516374036549c583675fe173e3d7c37364944aa3667d5b43603481f3d5b2a9b360000000000000000000000000000000000000000000000000000000000000000c679a3327c10b4320d9b47395f0efc36bc8a9c3444dc033531d0d7387029d13691666c348b9e813518ffc438f9e0b235cd9ce8339fc0d7338d2d03380a2ea433859e95356df5a63648608d3764c86735c0eb43357be13a37af6c163735dd233540c7aa34f9b67937e02bec3704b9473400000000000000000000000000000000000000000000803f00000000000000008900983201326f3fa6349b380d55cb357b9bb83455704a3ffea697389ea90e36d4448f3429b3213fbe8c483810729a35d0a2df331495f43e2c6914370f1a9533cdcba635da82a73eeadf2036c8e726357d454135d6f7363e72b12b3580cb1e35ee3497342519b03ce5925e347b213634000000000000000000000000000000001068a63327a3ba331f348c3c90e9f43600000000c0f0af3486b6823be3f1e0366a9c7b3433e9883413f6213b6328f837b5029b34bddaac3454191c3aec5dfd35953d6235c15f0c36c2f6ba3a419e72369275433542146235b99c0a3ac0eb7535adcee1343282ed342b90203a5e5ff8340000000000000000711c4f389e0b2537bd5e9033ef44ed3349d55136a82bf334b038a933cd66613f04f2513d70ed013400000000628b4b3f4a06ad3d32425e36419382349cbd253f9812a33d6043a4356568a234749afd3e6ca38b3df6a1eb35b5a67f35efd1ad3eb519493d2a0c59360bd7513598ed433e44540a3d7be38035d0c7e634fd60ef3cb79aca3c622ffc3400000000cc51953618fa303dbdb41d3681a495336fd06934ba96e93c8b9d0f3552926b33b10fe033326fdc3c02bc1334909364349a7292340b1eae3c78d4e2351809cc34c3f1aa36518d9f3c85f16c37e1cb36341e9f5c34b39bb13b8ff8223525ce3134ce74f43564cc8d3c7dd55c36a9b937352111143666cc7e3c0bc03337bbbe8c341e2e8e3480ee5f399aad3a3700000000000000009c43143866ef8b37df5adc34d8767d350492703765dd25376219af336e643c3fa67b3c3e96422034fef96934372c213f6df14d3e73ddbf350d30d9349a17023f6b684c3e9779e3363371483459dbb63e4dd34f3e1ee82335685b36342035693eba3a413e330a3936396cbd357f97993d7d173d3efa3d69360a948e34c2fe5337159f0c3e49a9be3400000000c8b5b13546c79c3d23951c369c51e33480dad8355de0223d68c652365c73c933e689cf338fba093d9807cf3300000000000000004cf7db3c000000009147483418fd8734ecb0e23cf4c58c34b7fd9534c1cdda3575353c3b876135352b760b34d5551534a0fe8c3c83a71c3478631a342efb43342c729a3c9c547a34ebe9c5349c9bed34c0c83238fe7a1d37b4092334e00237349fed2d3887833a37c9e490343d87b234f7ba113809724e378b9fca33216e173f7585a53e2b1bcb3300000000764bf73ef34eaf3e000000001e746234eab5b83e2581b33e92d08e3418999734e4a4773edb26b63e5f5ca034768f0d343206fe3de68da63ea2561d34c2ce203419f00a3c38c38e3efbec8d34ca7fd834d81da536de8d4d3e82ab06351f6e2a343d9541347d6de53d8fb25f3433319e345f0ba435b27a313d70a8183591053a33334349335eacfe3c33785a33959c8a3128a59c364761f63cf41f403617aed134d6bbf435ea24163b8f1ad535dcd7eb3476fef434448dc43c929df7341d89b23519835836a80aca3c335b4937a5aefc341bf1ff34d589943cd48df034e640c234a2dfc83493733b387194e7365e84a32f31504e3563245a38332c10375daf673373616233e622f137a665703511263e339a16e93ea917f03e0235613317273c351a5ab33e285cf83ebbc8c434fdaed0343ebc823e43ba023f30c9c4342345ee343498033e0f5cfc3e0bc6f9344b09023687fab83d8768c53ed1af3536f557fc34cc27ee3506deac3e6c72ef34ea14c434c7eb9236390a6e3e0c6653355c78133057149436fd000b3e19546b36d33865337b1b5f33b2463b3de1d24633d713d7340863cc3643bbe23cc78bb034c58355340197ae34d66c093d5da93b3433f10935a835093571a2d03c5984f1341632953476999234347cb13c16fb3d34192c1b34d14c1f349891cf3c1c0c16346928a034b45aa334dc4d093cefc179370a977a345a34943400570a38ff372f3700000000000000005c4a88380c1b0b3611f1c8339335cd331624ea38ae1cd0333a3ddc345104a43efb001c3f37d6a834901868343def663edc36213ff4f93434a81f083511a3e53d4a9d293ffbb8eb3421e2943473e6403d532a203f491b2d342df81c348b6aae373559023fb4ac11346b7fa03435dadf37ef9cc83e88a19934999f8834ec5f0b37ba09863e530d783400000000b3c8dc2fb941183e00000000b892ca33486cd033abe9573d9852cf33ee081f369acd8c365495033dd092b9359d40c635882b0137e326903c00000000131b8634fc798236d054a63c68a18c348184543675fe73362cf50b3cb98a9b36d47700363c5950360fcf763c31da3c367c5c763482762b355fa6283cf6cf593470588d3647eaf9364ab5373c76539d37da8e903529efca3570c77a3c54aa7e36f2702134c3382c341d73023ccc50f93368663a368c873d3e52683e3f9506563503f1f73557e3f53d5158493f000000000adb8734e3880b3dec074f3fa4af8e34d7785d36f1bf7438de7b373f0fb7063670d91536611acb36af450d3f5aa4ce35e752c6344434c035499fd93e05f05634ee89a93687adc0377b48863ee6d88d3687f2a635941f943670c2083e1a006e34f579203407f32c34641a3b3d6404e0331ebd2b3547990e353585c73cb7524b34b8471536dbac2f36597d113a00000000c4cbff341c58ff34e4592b3806d7eb34a6898335cae48435aa9a10370d215b35302e4236b44d5c3630c3e0381f6d693612e0b43509d9e7353c142338cea285354ffc7e3523d5a835d66e473c478a99371deb5c3637915a36e8dcf93c4a971437c5d20f3411e60434cda03e3c1ccaff36404b21352b2e6c3ddfd7633fdefcf333c578173645aa90381dde743f00000000aeb5fd34761b3037d11e723f3183e83471d083350589ae35c65e463f64f258350e3d473651f3cd36f6511c3f6ab3fd35040cd335b93b20360a64df3e96bba73457979735c5d271381e8f843efef0843431545a36adba8437f740b13d00000000fd810834e0764b37b56f243dc175b3330000000000000000000000000000000030fd1734a2cf38346bb9593499ef8a37527e1235640d1e3568bd2b35a2f50f37852ba1344e0d35353f08b1353c75083782f76f33cfb08c335fff1436f17e2b37eb51183510e78a35bf8ec737e34e2837df30cf35026dfb3557181d38dbe32e3794c85335f999ad3504c23e383edd16370000000000000000000000000000000000000000000000000000803f00000000ba6328342c4c4b3452927a3fdc0ad0342c2b1935d95c2535b15c523f318fee364d65ab3410338a35e8592c3f7dea093614a8853336f09b332dc3053f6f65d133176e5235212cca3596bfbc3e1cbb8135a1a0e43570ee0b374966563e8e870635d92d5635693a4037107a863da068af320000000000000000000000000000000000000000000000000000000000000000aa120a35fd1f063554f11835e69116355df0fb34cac2fd340ec17735ae101735f2db8f33441f663367331b33b625be33ffb68534aa7f67340cbf79348e705a342846793327de6833cbe1a63347b885337e100133dc51963600000000703a1f330000000080d29137000000000000000000000000000000000000000000000000000000000000803f0000000000000000da50f4345c8d7a3fb1ec2a35554d0835e8487b3495dd603f5cbaa73527248a3444cdf931cd06373f1de803347800263489e034345f9a063f91de9a34b4380c34f5459533979ba43e820e4334d7ed8e3300000000d7691b3e050b9733046dcc3300000000fb2a1e3d0000000000000000000000000000000000000000000000008cd3d5334741a434215408350f271a350f68723436b4e234180b1a358d230c352f2559336d4870345873a935c4f3a2358edf3d35b15f87359b9ed035c9fa20363b3ea43430140f35a3f52a351eca1b35d9103a345cc745340779c9343729c034777045344509523508ad0336a9d9f335000000000000000000000000000000008736903189cf90310fb1793161f6c631a89c97337d71783fd0c91b3d3bf4063560c2aa34c8e8633f0fdf4c3d9b01ee3410d98633dcba4e3f2a11e23c7833683577c7353559e3223fed73fa3b34d016363965f0346551ea3ea0c9c33b6796f13471474e341c508e3e079e943bae151134dcf81b3428a1e23d2ea0f83a6036d63500000000d04c543945aaf33a00000000d7f5a930ba077131a6dc8c31c0d6aa31da313735799456354dc28435d2694b35759da034b64cf8347cd3fa34f089a4346e6d9c32cc9b4c322908a032d96eee31183f3c34bafb6834ed268734a6953c34524d833417399c34a4fcb534c44b643467e38c333f6a6333eee7803390104a334473303479d74f3648ff703421e222342a71de337b081e348461433461acad33956fac33a8af3b3304dacd3216f49532f5ab1a3547f0583f8372253e0ed03435dfe4a4349ba24c3f6213393e00ef9c3400000000ad382c3f6d6a213e0000000000465c34f46f003f72031b3ec6813e34c20580348992ab3ea5930c3e42395a3417fc2833a17c1b3efe1a163eb1e5103351695c34c5a3c33b71b0dc3d16cd3b344ffbfb3336ef3f37e3efdc3c9fa2ac3311996632367925336b97d038b4151b33d6c2763393328633370f3b346c7d813321ff79349c347834116a5035434c8a3421d2e5342bff7835fd88a03543b2eb3488628533cd7a9733b645803337168133fa156434829a2235d9834034950f1134ac05bb34f484a934440597345059a434000000001f629737f0608e370000000057b0283432cc0635ed603337fd620b34ee150535fc200335e93b34352f881635ef214333ffd6323f01f29e3e25bf7633982661345e53203f24b2b73eb9197234fa2e8d34e698013fdfdead3e4095a53414802d331c13b73ebe63a33e90897f335e64223486ae4a3e00ef923e87f80f3427fe743458e06d3d122f793e7d05853400000000add88f3a40550c3e00000000ced61734554f443822d8ab3c495e13348bc0f3345cd784376ef30f38ec1e0e35fad9ad33ca20d43322074036b403c5337bcc57336edd73345ca5d934724c85334c4bff340d34ae351f9ac635bea69a35294d3a34d96e4e349f27c83445332c35000000008f88e734755fdc344031da34b47c3334b2dc19350731ca342394073524060935b93e7e36fbe39b36851fc935efa49733b33921344daeb2337e0b5d346f54cc33b8d7c833dffbd233379cfe3322d5a533793b003f9dc4023f51078633e2c18f332f9de83edacd073ff544db309340f9349e32af3e96bd053f1a071435196e3334f6ac4d3e8376fc3e740b3834e6e4de33f1a2d43ddf9bcf3ea65510345bce23344e9bd33ce089973e7b9ea5344eb9203508304a3bae58163e61a8893579763733a2dbb2374da0fd3c0b091d340ebc983311579c377b738c39847bf233a11d0e35f74223371362a537891c0e35c9be2234ac703637fbaff0363f85093400000000000000000000000000000000cef891343a34a33479ecc234512ea0343fa63f34d12c5a34820f80348f3c1134625cb43360a266378145a8338fcf8533fa19b43420d2be34a1bdea341808b734388f8634a643a034e7400937b6977734ed559633f0f8993305bab633715f8b33d81ef834fdfba43e4195303fa0a0f534811232344c7b913e7528343f882dc83300000000c510303e8b9d333f00000000272a8734fc6bb23d5942203f75577d34dde5353417cb053d8813fd3ec5b8ef333b035533b6ba1a3c8335a83e9df2f03227a5af34bb63a33acde6273e0c2bc134d7528e343dfe15387f45de3c41656f3414b477330ac6e137d339c539a6f970335b46dd33d56b863661408634f480133392faeb33254aad36d3590634fee89a33cec2303462bf4235ce3a4d34372f2e346f2c8833a9c288338b273a33f92f5a337d4c9f348e7e8534c65b93344455753436c33c34411b2f34492f643470a24d34284c0432f527dd376f45c737941614309c3ec33496b4cf366d5143371f7cd5348c634b35b0b03d354e3d8135037f5135439217338551203e3e8e5a3f5f0f8c32bc61f2331b52fe3db3515c3f5fc89f33acec3a3450f1273d6ec35a3f803628346c1544330883e63b8d96353f246a1433f0ce7a340beff23b2114093f17d975348720433411dfa23c5af8ad3e892250342bf1da304b7bbd3cbab6213e00000000c3caa9340a94cf3af8b9d63cfb6ea934686935358a26b339ba3f76394d193f35a51f783183b99131450e9531acc24731000000000000000000000000000000004f89da34e49f83354181f2343dfa2535076462347a1a143410b21434b1955934214b03353cfb0c35cd039d347ab6a73456c1ab3549efc735bf20b035a88db8354275c8345c144d3581487b356007883572de03355569e034afb911358470b2344634003570942c3701bf203719f71335ed3e34319afbe93ca1427b3f52d28a2f0000000009b3963b7a05803f000000000e572335bd88c93745b1653f000000007e836634d61200388d6e3a3f03ea3d34902cf734b0f9e1371db50c3f93d40535b85ca4357f11d53af071bb3e6e75a535090605355c29be3b31182e3ef09ada34ae5ee43425badc37a0928c3d0e8be1348288af340a0b2638166d8139a0e0d2340000000000000000000000000000000000000000000000000000000000000000d6988c33f88e9933eeca1d335d69a6326f4693335b52ad33b90f113453c28133c9bf3534c8317e34a1d44f34866ba233db1cf933df3bfe333effaf3351578d330b4aaf34605dcc34caa1073591480235aba2063523591435e31817356614e5340000000000000000000000000000000000000000000000000000803f000000000000000000000000c6f3783f0000000056cc2233482d7d3296805c3f00000000d99ab533b612d433e20f313feb909733ca361c3495a4aa34be89f93ec5a406340864bc33e6a273337b6b983e2dcd7b320df098348403013757cf043e06892d3577970c35ab6a2a35c752f73cf45e0a3500000000000000000000000000000000000000000000000000000000000000004051cd33eacce13321e20b37baa018340433a632f9e7a532a0879f335693f23208573d333b848533e67ed63333ca3233000000000000000000000000000000002023453535d37735b74397354097983504e0913451d3fa34c3770b3585f1bd3445d0f233fa8f5134b72ea43463c27a3400000000000000000000000000000000000000000000803f0000000000000000d97406349c24723f57d20336d0fe00340023d733c2405d3f0d2acb33672fa134e6369c334e3b313ff6164e33f9594d3300000000bc57023f0000000000000000a84e8535c1f2a73e584bb335accfcd35c334e2347987163e5b184b35e95f9334af8402343ba2a13c56c38134da106034000000000000000000000000000000008c7e98358134f03591b40a3baed2ed35e51072345bb8893424f0b839d670b334cbeb3d342b49df34d39d7f386e9e06353aee89358146b63569c9b0391129a435fda1063452d22234211a983830371e3421326135b0be873563b01e3725a99b35ad6e90355db748361aea87360b382c36a1776f3460efad34854021350a921535a0918e3519cb8a35b631ab3539d5ec350fedae3587816a3fa8e0233de529ab35ee60873470c24d3fc2dd7d3dc14aa03436319c34e987303f2ab27f3db09ead34fdf4a435cc99043f42d1043d0c7893354b355234f1f7b23ec66c3c3b8088003476a47d354528393e62dfe039f92b7c35b07f0136cc30a93cc2bc093a2999f935ef1258346c02d434a4e9e03cf4891435814267357f2687356e15f93cb48ee135adf621316bfa9c3498ca063dcd7fd7335d3498328681d033ec5c863be751b733bf90c734759d9534d102ec39cb07d93421370934dee5163584501f3a098317353cf55a345c4b88349c66ca38404c4e349de7a1358c0a7535a2b895356f0d933528905e341fda94347d8302355975cc3494c63735d32d3535a39f303596eb23352b5cfe34489ee5347aa4ed340f68fb346512c131cffe453f36cd1e3eb345293141f96633a605293f2f6d483ec098713245b697347595013fbe35343eacabbd34a2309f3453e6aa3e7260233eeeccb7349a0f45348dd9333edf0e0c3ef6ab0934bbe44435959e403b7b30203e862fa93591e03e343aa9f134ef681b3ec0809e3420ab103501a527351e85c43d9f451a357831eb342ccec8348858833db7ad4835a070953406992c355eea673dc17bf334534dd734888f3635aebc973b613e3b356acd02352ef91e3564e04a3acc23183500000000c1ef4635d744093afb4a6134888b9a3497810435509a30350a920235f5cb5b35088b703566498e35147e8b3576dae233b605ae34057ca834a62b953413f75c34f3c8993474c0de3443f5af3481c00b34e9d705348327bc3463adfb34609f0035f4b71a3f9866923e6d10c834ddbdfe343617f33e3922aa3e13971e35ac180d35dcdfa83ef862a93ec56ed034fd61a434dc91433edcdd9c3ec8a5cd329433ce348e08ed3b2e21aa3ec301d534f32768350d1f90354b89a23ee9c36235c03c973402b2de3428f88d3edd915e343b1683340787d034ec8e403e3f559234f26cc632bf8d513415c7c93d208ed334c35691354b8ff5351757663d0a02b6357db8b034d852073507159e3bb637923417fdab349f34ea34f692473a6c38d4340fcec03534d820369d81093ad04c0136e954da3315125434a8d4bc351c443c33df7dc535e570db35fa12cb3577132b36dd26c534b5308a3449de9034a0581235f2af9034a8967834bfe89134938de234b976d13589bcec356f690639b1441a3691d2aa35ee3cd73e6cace13e6c2781357d11de34fc3e9d3ef915f63e38cc4a340328c434b08a463eb326f83ebe81643421130236468d143dbb7bfe3e6bd0bb35c888c93365b545368502013f40ed8d327849ba3523d50036e431f33edb351e36d0f9ad345b13be34bc91a93efdb70e35b2bf6a341507923421325f3e62a0ea34a9ba99350c5bf835f0f3bf3d3e96f7356f365a3422e606357432ba3c482e7134af5b9d3425abcb340da98c3bef48b13431fb2535567699347b7f5b39dbefb034a6435635c2677035367f9835f7b084358f90193559ab0a35ea052e357aaef034717d56355bd774346e249834b1c3a13489e146351e89063570d83b351f05193564cc5f35fad74635651c4335b1da2f35f626223544cd093520969439c4c9193579599934a2d7853e3270203f107e2831c4ee9934cfa2323eaf98243fafa34c343bd8df34a3db833d15632a3ff805af34ee856435019d19399498303f4ce95435e1def23407ec0935bbe02a3fad3db934d1409934e38091342efe023f874e4535e1a6113511311835784db23e60d2ff34f8412f3583ad32350ad4493e15bb1e35a78d1c3522e5fb347d67803d7c761735cd02a434040765355878a23b90c9b834a761d93419082f3581191839fed62835296e833417b5b434163e0435ec2bbc34b68ba435bbe08d3592046f35930490353f62cf33a0e14e343f9a8f3470325a34e672b6344f7ed53442c40c35b2952735bc5a7c3413698e3419188f34b201a134eb058e33fe4d5d33994596330630ac3398731c343fa4b233170f66391f3fac341e60fb346fb00b3ef33d4d3f866698345efcf9342b23bc3dd5e8513f90d30d351a298d340962f13986015b3fd206383445a49b355637b93566cd583fe785523526a8ff3375237e34e4ea313f93352534178692346a66fd34e9fa033f2c86ee345458b134d575c23430e0a63e26978634b42a8733ce2390330b15193e86017a3378481231f824ea33da2f393dafe25034f0259c3501f9b935d316513a202c8d35b48d3a35a7af283521eac3345c769c34f3c30b361ba3df35917ca835f1482236596a893515a3673524075d3519199c3523d8823425ab34348a5af533b97d2c341c93b2351769a9354250ad35e4c5c835189fe93465829234e6f0993476322035d2edb6343a9c9f3465d847373c5eab348c7efd35ade6f03583941738815c8b370348a935bd59d63c2417733f4b734735107f273562f68938bffc793ff4c76734e73be8355de82d367b797b3f654ee235365582359b2e8a35b03f533f3f269135be177834a3cf2c346054273fd79fce3396cea335d9a79d358833e93e31d2b53558bbdb34bd97bf34a052823e444b19351e61aa349bffa834d4050f3ea2d193348d5ada35cec9203724503f3df813d63500000000000000000000000000000000f768a034873b8d3403ba9d34e2bd6634780236358dcfc8348380ee34db6703350fcc153667519a3509d64f35e70eb93500000000000000000000000000000000ac5194337c6e3033c412163405b74934a86e583510baa333cd9131343f9b7e347ed42134369f2134902b80346cc113340000000000000000000000000000000000000000000000000000803f00000000367e7534676d863476437c3fd9c3373415ceb8341132b4348fd55b3f019201355d6fe535d2069e35afce2d3f6bc897350000000000000000582cfe3e00000000e9fc70332b191733abbda03e728d3534448d0735bd4e403336ea0f3ee81b0234a2ad1534e60f2434c2746d3d0c2c9533000000000000000000000000000000000000000000000000000000000000000041d8fd349da8e0348a21a738d70d8234804f613101f20e34c378383c3a6f973200000000000000004b4bf93800000000000000000723d437f469dc38000000008ac383355b388a377f601e38202532340000000062c4993764b9fc37000000002059143454e2cc37a423b5380000000000000000000000000000000000000000000000000000803f000000000000000025a70a35a3a6693fc10bf6378852833465d87f31311b513fbf37f9377300e93100000000a54a263fffbe0b380000000000000000ae86fe3efe909b3700000000ae0c9635b454b33ecadc4535000000000000000081ea253e000000000000000037a83d345712e83c54ed5637000000000000000000000000000000000000000000000000000000001d81803da699ac370000000000000000bda8ae3de1a0d737deaba32f8cbdf72fc0cf843d268e80370000000000000000661b393d0000000000000000000000003b25a43a0000000000000000b0721f364647f4390000000000000000000000003570013a000000000000000000000000ccedc7383ba0d037ea096e31b3bba7315dcd573846572b3800000000ebf2563ff63fb439000000000000000027793c3f22307a3c00000000790dc42fbe68173f6368f03bd5be1d3000000000f6e1d23ed407d4380000000000000000fb4e8b3ea12aa138000000000000000095ccd23d241f473800000000000000009a251839d9800739000000000000000000000000c26f4d3d00000000f4eb8a31d54fb13108d29f3d055737370000000000000000e943d13d5310473000000000000000006aa4ea3d00000000be808534b29108354440c83d19531736db1323320d0cdb335d33c63d8db3d83500000000000000008b78b43d000000002c924d34a70424340f5a813b142c363600000000000000009870df385921063800000000000000002f358838b64130386277a433d23988339f19db371261e5370000000035792d3f6b74a53d00000000000000002550003fd01b8b3d0000000097245a34ceb9b23e572d6c3d7176ff35fbe11932fdae393ec114f83c02ae983500000000df50043dc50a1e3d00000000a2b520349d948b37917bda3d7f0b1b36000000002c271237b128383e42e07235000000000000000039ee3c3e00000000b4da7133c35f8e336dac103ef0d2ef332c9a1334c9962235ce3b363e7b85103500000000000000006bf4373e000000000000000065750634b8260b3e000000001a5b1135de43ca3511e9ea3d9d5ed63400000000000000007558b83c0000000000000000d03ad734fda83a39cabf2e3500000000f97c6c35331848380a5c90370000000000000000398d433804bca037a1a58b30399fca301fda3238e8acd237eae71934c5c1e03eeee80c3e6ba724350000000026ae8c3e0564043e0000000000000000f160253e52a11d3e000000005ea983354401cd3c6394353e207ccf3400000000714559388416823e0000000000000000cd948137eddfb53e00000000000000006e5f3e36ee29c43e01b5063600000000000000009d78b73e00000000c04aa73094672032472b803e7977423100000000dae903373483443e0ada89340000000000000000dc06363e0000000028d99334ebdf95352460f53ddc5b2e352bf779348e4ce3354111543d1f9aca350000000000000000128b73390000000033cc4c314499173557b88e38656d183600000000000000008ba4103870e0fa3600000000000000000bc8013828ef593700000000000000009994873875a2593800000000e5338d3e9b07883e0000000000000000b6cd0a3e8b56893e000000008cfc2e35f25d4d3dce13ac3e000000003adf3e35acfe3b3880edc73e7f7d2e35000000009b2ed1379da4003f0000000083e84e34dd2b13367c90103fcb559c3500000000a0548735d41c003f15e48c350000000000000000bf4cda3e00000000000000008cfc5236e5818c3e19fb6d34f4d56431d6183f31d9b7303eea56043100000000000000008c44043e000000009e02ac35eebc1d36e1139d3dcac7cc350000000000000000aaa3333ae90f3a350000000000000000ab1088385ea32d37b120ef34940ff23484104e38e80024370000000000000000a7be893893b0e3370000000000000000b7e17c381120da37cce43535095e3535968e2d382254b2373684533161a4193e49efde3ef52ad430000000007ab0513d3fa6ef3e00000000af0a0236aa48be38a82c0c3f8417f33400000000e4454c38b139263f970a2f3400000000ca1e4f37daa73a3f00000000fdafb33419f54335fe5e303fe2389a3500000000000000001a4b0e3f000000000000000000000000653ad93e00000000257c2c35281f233593d3813ef87b603419d819344666b0344cecca3d4e398d330000000000000000f711ad3d000000000000000013617635080c853c000000002030b13527fd2f36c04a343855301e3400000000000000006ded4438dce4d4372bba5231b0278935c6463b3832da1d37068aae35ee820a36d0079338b54e0d380000000000000000d61995384160ce370000000080155a325688903c038c0638bbca163486f7cc3dcff92a3fe9d19333000000009072f03c822c353f000000006ae20135c4f6b9381a404f3f00000000576b0636b305b4363a20653f99572e3400000000000000004b9c583f000000003ae82e3513af0b36d3c5323f374e0f328484e3357a5a9b37359d003f9cbc6c3400000000a63098364e14a63e00000000000000006ad904375e09053e0000000036028834ea0092370b068f3d84d6ab31000000000000000051a8973a0000000000000000000000001b2ab438f7de8038000000000000000020eae1376e76283800000000000000002d320d3893c24c380000000000000000b1687b383742523812ed2330b02813301ccced38bef13a38000000000000000019742239c3ec803800000000000000000b2b993994254538ce60d234bab84b3b520e5b3fb028993100000000d65259381bce733f0000000000000000000000008f55803f00000000000000000000000074ae663f000000000000000000000000e84e3b3f000000000000000000000000538b0c3f000000004a012f308edd0b38a851af3ea184f92f00000000fb16433891cf2b3e0000000000000000fd96fa3794b8d43d00000000000000000000000000000000000000000000000000000000fcb77337aa5e733800000000000000000000000031b20a390000000000000000deb64b359637113800000000000000004e5c5d3792f99a380000000000000000b0078737d88cef37c47e08324645e631bdefe637433bda35143f9634156b8e343a9dcf3781c8cb370000000000000000000000000000000000000000000000000000803f0000000000000000000000006fdd793fbff44e37000000000000000015c7573f00000000000000003e505d3479d5273fa8c648370000000000000000e1fe013f6320843700000000000000004c21b63e00000000a6da013202f9d6317680343e27dfb3333cda7d34aec87434bbe3bc3d5f6ce4340000000000000000000000000000000000000000000000000000000000000000f63929352248293597aec43680452a3766970d379e9103375589c3374471eb3738755137b47e2e371f6fc937369b313845c21c376718f4363ad9a1372f70c2378e44d436b3c9a236abf89937a2dab93715b76a37227284372e3cba376840c13768123f372de38f3799c68f37842e8b3700000000000000000000000000000000000000000000803f00000000000000003025fb34d8f47f3fd9fe8737b402c2364819b5363881553ff54b07389428c837c0d72a37707d2a3f87bb82382edccb371199093723a9fe3e7f2d0338b59cae377ffa8336d65da73ef872043885528c37eeac30379440233e132b1338544b963778a31c373def263848a8ab37e3cc6d37000000000000000000000000000000001470ac3614c0d8364b391d38dbf0f437b8917534dbc7493529a07f371e1da0375d449336d5f88e363b2cc9375f48f63783862c3604411e36b9f7b0370cda13383e24a6364da09c36c133d13717ad00389a3a2c3756ba4837f452fb37b01827386ba23f36c47e24374f32d4374f7de53791647d36aa3c0837dd7a5637e07b8337a51e1c373edf5d3786bfb9378e95d537d39087368f577e3f1b6dcd3b65780337238b573458e3773f1cf3003d810aa536d06f63368b464e3fef96ea3c4cadae37df94f235c681253f693dba3cd775613784839136d90ef73e7dad873c1605c0378465d3360ae2a33eb1dbbc39c140ea37be109e34eb071e3e693f4a381569a837ebbd7236cfe2f8372874e537fb9846375f85fc369f48af3708e5f3377bd7c437ec55653670f03637b906d33701169c370bf185353b258835b3937337f88e2e37c6d258379c308737c024113855b1193804de593571195c35da7246370c2195378e93923510459635a9392b3719bf9339055681368e448e36809669379b2886374213f73647fe75370f7eec371df7f23734ff7636702e853690a07137e76366373c19f6360b592d37308656370cea66373a0151361ea8533f0b19313e79a0b336715c7a35164d503f217d3e3e7d748b35e89ff736099f2b3f83bc323ebaa2b537e945543526860d3f3a870b3ef9b19d36f9bc75358f24d53e74a0bc3d9e86b036de047e36cade863ea781443da70b1b37fa7bbe36ec8b0c3ebde6d33b78e1943716ad7536fdf7d73783fef137c48288364cb49e367d593a377876c337b5cb4b3743b88b37d60f21385fbf5c38ff3b18382967f0358335f335dc288237ce77d13694b34536cef13b37684702382d8aff3751716a3602946c3696fcf9362ed619379c3e0036f0163f36ccea9437019fae3784e5b83707b2ee3735652a3867de2e38987ead37d011d33729500d38890009385603893545dff036b4b28937e6d07437e5455e3786409d372f5ffe3785ce02388db65a37c97b293fd6dbac3e1cfd85373b3eda353c0f273f40cbb13e7bd2f235e8d93536fb9e0e3f683b9e3ed5bbed3681c0623632eee13ede9d793e027e6f36d14f0b350f35a53e2afb343e7e506336800800370cd9523eea2add3db9d4ca3747a00a378c80bc3ded5d2c3db0bbb537ff608d35e0901a38ec306c3881f7d13590abe3361906023831483b380d7f8537c83c1f37981fdb37e9ed1d38c674a4376c3ef136e4c64637604fac3752318b37f01426379fde833788a5303899e117382d2e4f37fc4b613784082738e9ea3a3828c21037617d333761309c37cb17a43748959a3750f7d43767a3403818315438f232bc37edc604389016403856122538423171370e2a90372883ab3779339937cad986373682ad37080fe437108bda3716f30a3778a3fd3ec021013f9a810e375cc68436ee54fa3ef6c8023ff6399b36977d65363374d43e9a38e03ed422d5360bf1bc36d463a83ef6bbb53e8366ff36625eb4363c70763eb0bf843e7e73ed369a09fd361584143e40172f3e919f323776f8203752c3773df4f8b03df2324437bd130a375934db37a21e31380c814237008f1e3757cce637b97514386fa68a37c738123753e2e83768ab5138ca418637221e8c35c8ffa6368155863767ad6c36c6b79e37d176b3372f30ee3712ebe237e56edb379e68e3378998153831e71938996de1368902c6362d754c3704be7a37c2b3ce3653e0cc36b3c9f3366b1cdc366e54cc372459e737b04906383257df3709d313365415c236c1ed6237951fdc36004e0c3870501638631e3338410b1f384aa9c936493ea83e6cd02b3fc6f8b2363f6589358cf9a63e7b762c3fd46c8635b73f9e363d4c903efe77153f33dd8036590b3437b26f5e3ec0edef3ebc701b3715410d3517ae1d3e5565b13ef79d0a35ff1c73362a82a83d812c6e3e24d76a363c684d37a2746e3c02ebf33d1b130837106f0436b6c1b0376ed92238805cfe357c3fcf3719812d38d96b54387678df3711942f373f9c5637bc21db37c1f7193702dc7a3647a09736d4b13737647a7c368a8b8a37cada8a37de499537b7258b37ff693d37b01b05379268e6362e2920379a5e0537a772d236679eaf366f37cc36a3a3593747e93537bfc3083774ebd13617370538f00904382fe308387d6cf337ce71bb361ffed836f8a84c37d59d9b36458687372c709437be9fa237c0d151375763e236a44f283eb7dd553fc3231a364c2076368f3a2a3eb969553f7a63623642bedb361530213e5ade323f7b3aad36c8b99836af7ce13dab14143f3ee27936a5f37936403c923d8fecd63e95808a3550eda836053baf3c1125943e94e454353f80c537751c3739d66e1e3e32718f3784c18e35579aaf37d9d26a396286883522cc3a37d80aa0375181c3379040bd36783eb137bdd7cf375ffce537dbcf3237db904c37fc14143792a4cc365cadd1363119b8374299703765f1e5362f896537662b013826acbb37365f73374378b8371279e237c1d99d376f6b58374d7aaa37880ae8375f0f6f377050ce363dbf80373525e337bd4ac1375b6cb1373d48a937879e8837c57b5437337c7f375893e436014ee3378e34a537fd27b93768f65d3713237d37b7d8593835f07f3f74bde5363a26f436bf27243c41667d3f19905c3684174d37affd4f3c0b32553f842a9c344747c83732c5a33b4fa72c3f141ddc36d239a137127b6138542c003f77bcc2364997373704236f38153ca93eb14d3336e0ffbd3775831a38f66c293eff4a0e378306fe36876bc73724955238aa5afd35618f3e37978dc0370d300f382a51ca36000000000000000000000000000000008ddf84371cd12137e8a81e37cb808b37c86da73784bd333787250037258eb137641ea837ba6eab36448360361f8cbf379a73c437d2906e3729de3137e79abd37dc12113880638f376b828237302d0338ea61e237fd72ba379c90c037b962d2374ce42137a5b1b536a33f213785c900370000000000000000000000000000000000000000000000000000803f0000000021643a37c11fa2370bf57f3ffc6c073729bd8137854e0038821c573f40394637380a5737e9ffdf37e6402c3fc8887f37efaea637849fde37a999003f2a2d9737cd4ba4379a812a387edaaa3ead0fa237b07cce37fb51e5377cb3293ecc99a43798faed36eeb20937ff6321382e2d69350000000000000000000000000000000000000000000000000000000000000000f4251035e1e5e737a8d637382d5de837d9f68835c885353891c6f739560ace381c7811378315f437b454f339e0c367396c6cf936bf482c38e982d938427c553879a6193738aa23389a532c39e3553f389f3c953707071238233eb7390aae063898658936bceb89378f6ba7378b4a3e3700000000000000000000000000000000000000000000803f00000000000000002cf11535e2016f3f1d2be038618a5837eda05e360610493f1b71423a7d001938b4f881371121233f2bf0153c4131d837990c8737e1ca013f7698273a5e9032385b3650376d1ab43e07c5cf39fe58f1371660a237ebbe513e1d6f0b3a2f72e937d5983136c5556d3dded8ba37e9e01a370000000000000000000000000000000014a0183633c6da37c1eae139df28a43787a29d364ff3b63628d46b38c9b14f37e57f38366fda0037e92e293885ebc837433e1435e8b92037bcdfff37e535c73721c9823616c45837baecb538b9734b3855a32c35f118893760351a3a64d2633972dd5535aaf55037e2921a383d3de2378c6a43362482073780ed353812849c374f8d1e3684333f37132206382544c33766a61a365f866d3fd5c8913da8591037ce5e9f36a23e5a3f3df89c3d2010ac36bda5383647e0383f8aba933d2ba21737e23b18352042183f9ccb7c3d5309833743a48236ccede93eeebe413d396cca3702a73535ae3ba63ecf5cba3c8688b83753125c350609473ec2ab0c3a51d29537de1d403672cc563d3dcc9438065c3f374dbf1f36921dc2379d2e3c3828a49b377f8e7a368be4d937a13d913923f18537dc938836a6e7403779a6363ad1797937db942036b690c237fc69ce3988fb0e38e1846a36d766fd3613f12d38c26caf3717953c36e9815b37b5c0be39357b2a38f9ed87366017f036f55a423871d54137d5215d363f1dab37f45e3e3997d6df379df028361276de371d1f71394b3c0c3887eb0e36f706c537fb517038dbc92d38d0847936b996483fbb1a5d3ead7d9e36f4bc8836f3e8383f28bf583e06609236622c2336f1091c3f73a4453ea771963738cc68367f50003f7dac1f3ec93d2d370d5e373683f6c33e297ff03d61101d37968e81368827893ed18c9e3deeb6f636d8805b36c0491d3e160c173d1ddc8937faee2636b6db263d5fae5e3a5c88ab375617e835a7bb3338b0d5ee38facae6371c6ee136fc942938a02d313aa288ed37d538ba36039a0238b721383ac2d3eb3748a29036e2ebba37c426a43a5da2cd37e747bd36a7c44a3726ff2239bb98ac37ecf80a37fdf78537d291a2396099a7370c6ee1352c46ad378fe059385f22d337f713b436d6c29e379e3f4a382610b5372510bd36325baa3708be073a3314af37d339d936442c8837fdc12438f579b63733d9e93640b1233ff0e4b73ecec43d379140ba36e5b5173f1d1eb33ed707543725bf923676e4003f14519b3e98e34737cd44b436a4c6d03eb5877d3e0b58043743c10337dfe49e3ec519433e9c995537b3ea923572bb583e7b58083ea168be365dd6b136f7b2f23db9759e3d5fa00337269992366628bb3c955bb83c022982375062bd368636ea376281f538c43f5e3790b2e63517921738d2e05f3a1abfc33732cebb3515b1fa37e612693a03e65637c66b2b355f239b374a85413a90fd8a37f3bd0035b8ea6f3738e1a93938299337e2c85437a70ed337a2eca139e0fedb37752d3c357e359137a448e838e28675376f6a8535985b98371086ed3877da93378ed627368cd4c837abdd9d3816b186370ab60337d0d4e9375b741339f9d6f9375080e6352065fd3e7fe1003f6906a836652ebc3510dfed3ec5b1f83e319bcf3570642d3594c8c63e4417d33ec06b7935b31108353f12a03e9cacae3e6708d83521a34a373a4a743e189d853e22d37a37196e153555ce1f3ea323423e9ceff53572925f35c32eaa3db257ec3d9dfe5f3612f2f4353e859f3b3b1e333d545a7336f1cf9836cf3f1b3819d5ea392ced98376274b636f062ec37b3f5193a2d453e37be6b9436b005b7371e96ac3a5232993729b2af36d26caf37c5ffeb3969919137d4975a36c30cc3379a836c382493af37f24d3b370a029a378af097393b268b3754e60137c7a3a937b7a5833811fb4737c11662375003e93745b45d3a403d9b379522863790ab00382e8d0839f197c937a9bd6537d78b0138410cef38a40a0938b91cba36b9fcb33e4cc2253ff574aa3607939236fe1eaa3e76da1e3fec279136d464ae36b6da8b3e24ca073f9031b336b29638360ec15f3ed87ddf3e7f2a653651243237e194253e7670ac3e06633437f03ff736dd02cd3dd8227a3ea027f5360c3e3b37fdcd2b3d839d183eeb4424375bdf4a375c7c5538b9a3673d97602d379d122a377adc2538dff1d53985edaa37e8707036a5ff4238be833c3a2c4496375f7d2836951c1138183b873af973b03782205f36474dcd375127113a5c70a637149ee5366d802a37589f5e384273f936942105372d29fb37b7b3ad39a537a33739ad1537b931a737ab750b38cd191437bca1ab37f1380f381a71c638899ead3761559436f1ed8837e6c24c3991a29e3664ba17371a6b9a37fcac273866d36c377c3c8d364e5c553e8d5f4a3f4c27d83559262836fae94f3ebe02413f61ee223631526036a8da393ea387203f96eb583671ded036d81e013e9b47073fa656af367304bc36c3b4bd3dae16d03e5e5c5936ea3e9836500b3e3dc6a9973e74b46936670c7037ebac3f3c34853d3ef89be936e6ea93362390e6378820853d49259036d5b5a536ddd5c337219bc7380b50813667f1bf3674dbc837b127013a942817377cc373368ae48537c2607b39dbb6cf36a5dafd36a784b737b41bd038980380379ed18f3761a0cf3748a5043a6c9ca337b99ec93780840e38384b72383944923771bd95379a5ba637598fd937240b43373d217437f0dd9f373cbafc3737d3013729b9f3368aba233710461538889aa83622bb86378689af37a1e34c3888c37e37ebb8be36ecf5823d80736f3f964c1d36895b6b3601fe893dbc34613fd31844361020fd35a788643d65c03f3f09615935cf225b37bbe0173d822e1d3f09d8f73618a25f37c9b9a53cd652f33ed0e011376e6d6f375474073869beaf3eefc88f3668c9b836eea90638ad5b523efcbb40364c92bc3691b99e376db8903d525ca6366d1e1a377a22bf371ae1933904258336000000000000000000000000000000003643ff367471f936c821d937192b9437a0ffd03704b2e63785dcbc39774a8f39d4ebf33783c2d637f4ce8038c5a16a388a4734382afe273833236338307a4f38ce46f0380d6ddd37f6196639bc62003975a14f388047233862f9373927694138a4bdcc3762c3b737ee051c388f9ecd370000000000000000000000000000000000000000000000000000803f000000002e9cb3367c0eb337a31b713fbdc92c37b66cb4373afb8439a90f4b3f4d7c08387f0ba537f744703896b2253fdf7612381c841838120d7c3876c3fb3e8b862c38b9ecbc372a0234394d53b43efa26ef37b02312385331483857e1593e1ea30c3898078037493bc9374a19873dacc34137000000000000000000000000000000000000000000000000000000000000000023232d3821f3fa398966fc39c8f46b39300e553896d9f43905f3213adb22813925678638c10dd0393f39e9390171a139240c07398576eb3934cb0b3a515dc2395409de38ec9a193a5f18343ae4aabd3925b489381202b0390cb4b73902c73c39822f78396c431b3ac526253a70a1e23900000000000000000000000000000000000000000000803f000000000000000034f79a38aadd603ffabafc3981381b395575eb38134c403fc1c22a3ae773403910aa3d3982e31f3ffe26ef39ed307a398ef76d390072fe3e5116153ae209a539341545396f4fbd3e0955353a915787397ae3f138dc3a7a3ea879b139ed49dd3862bf9339e890ec3d3f12213a1f7dbb39000000000000000000000000000000004fb856384674e639701b183aa7098c397ca02b373fb6cd39394fab3a5d286939ef9051374255a239e9f2223abf307a39020ea237b6f0a53944623e3a6c2828394ec3b03780e7223a0110973a46fac339f55dd237863dea3911f29d3a66e839393168a337c723233af4317c3a15bef439df108836f3b9ee38f149ed399e572d38111fb53733e1a239c4a3f239567c8439f9cd8538dd53613f4b07ed3d6eb620398c317a3792f5463f3bbeda3d00e8c738d6dfa637c7f5293f243aba3dc114eb38568ec93759550d3f0f629a3d2236543841a5da370410e13ec8a3723d4ef72539caa0e637cd60a83e6c4d303d889109383c3ab038eca45d3e7773da3cfe66b7397403a6364963e03d2dfe053ac1dfcf37c952b937c131e6397b81f1394d5a2e39f814f737e1c0b33954f4313ab4fb55393b5fe23656241d38bab0ba3c1aac1038a20a10380aa5013abe599c3c1d2bab393fd29c377ffb4b39dae0fb3939c33039b9ff8237b5ceda393fbf243a0a94c739e8fc7f36ad795f388f1e0b3a5a953b38ac222c376ffd7f39d71c663acf932739192600384032b93918ef2a3a18eeab39a316ee37d60cac3995b5053a2c5d9839c6500538e396403fc0bb793e01d18b387bce0237baec273f18de573e64d6e43713361f38b1f10e3fe03d353e6b6230398e63b73717e6f13ea29e1e3e48efef37d583a8375f1cc03e81f2fc3d302d8839f132203702668f3ec9babc3d2966d4374bdb8237f4b63c3eacbe773d6adefe37b41406386360b53d081be83c3fe739397d38f5371c81ec39f3a4093a202853393f5d18388de87f398d232c3ab22cc43831f71638affacc395d9bad3a35e24839e295b136e1b94739e669d03a4c421b39b6e80e38bd1ec9389a84c93a460e863806d35e37818d5839ab1c4f3a7d60b938970c05385f16953913668a3a3c6ffe3870ddbf374803b0393e5c8d3a981dc13951a766379cd73739925a903c778af2387630173878435d3987b66a3a2b5b78395a783138a4f41f3fd884be3e39fd6238fe192438d2d20c3f86a7a83e01e33138542c2537f5eaf03e4c7b903e6a19c0375a5c18380208c83ee97f713eb9952938eacbb4379f2a9f3e3477403e25e21638b6000b3853476c3ec5c60f3e8fa72f3849cfcc370329243ee541aa3d1f4c5c396eca9b37fd32813d9288193d15310a38bc9f183886cb0b3a29a0813a28045e38db328f37e7c2bf39eb3f573a517c293938842538d8b87339efd6073db5bc88383bf04a380504ae39a717613aafb48c39c375af37ffa44b39f80c763a07cc1439e5145238b19ba439c23d703aaa5352392003c837f00061398c695e3ace29f338e12d4d382636af393240223a02fc7e3912e636388c980339afb83e3ad67fc7388ceb86378f666c397f5e363ab2445f39af78bc37caccfe3eba3aff3e6882f3372199463846f6db3ecee7dd3e5f236d3879cc5338c83bc03e0228c13e56cdc83892c9cd3702309f3e577aa13ec19a0a38027f61387cd87d3e0447803e90be8038ae8de037c8c93a3ecf3f413e71a80438b7ba523817eef13d6438013ec992b538065d4838a55a423d07cf603d3c0a7c3822bda237015ecf39e94f4a3af4f8d33839691738fed5db39025aa23adcdfea38b16565373b32673924909b3c38c9af388775cd373317ea399248b03ad3768c3913860e38467754397e86a03a5e36fe387a98833768540c397ee4653a5d400a399f011838faa4a038dbe4893a174c9638d1173637d8e35539dffbc23a48478b38dc1524382e848c39ace8953a94ac0b39b6a62938eaeb0f3951c3163add63de38a5732338e460bc3eb98c203f6b923238a7dfb1372c77a23ee7770b3f61eaf23730a9de377472893e06cbf73e275aff376e7e1238ecdf6b3e285aca3e235f1f38a8a8b537ca5b3b3e29bea13e6bca1f3842351d38591c083e2e0d733efa12293851ad7837c092b03dd505213e97adbd374a5827389d641d3de78da03d9014363874e43338ef8c7439e6cb2c3ae032a138ec63053834c7ae39054b323a9c778439bbbd0c3870cec539f94b603aa1fc8f397d6a9237220f7839542c973ae4b1f438143f40379b3a4a38b041323aacce3f383f538b38df45ce39140e2e3aea6ebd395869ce37726843396195003adabdc438fa9f33382584c139099d9b3c72898939d05e9c3780ff1938b947b83cdcddfc37a9970838960a81398066283a5dc55539156009383953783eebee403f8e14b338a962153864955a3e439d2a3fbd7a1838f6b4b537a5ec3a3eb5d5113ffff6e03757ed8637d9b6193e55c1f33ec24cc937a7e7ed386586f23dc132c23ee5ef6139890ad537ea22af3dea14923e22f9d937861d3638c8d5353db69b383ee397c0387faeb237e52f9b38d160b33d919eb637cc650a389bd0a939c64a583a643e8538112cbe371b5a9239cf05453aec7480391105dc36cc78833834de833a7e873d382750ee3878d6f43940a6cd3a452f0f3ad16fef372c7d333955ddd13a06dc6d393315d93736edb839838ba73a4ff0e03981f20238bcbe2f397e72483adcf61e39165ac63722477a3935f2343ae5bf4e39e86fbf37c54d78394de5b73aad0afc380ddf97382ea29639900f223a8cc296397a54c6371e6aed3dae6a613f50cfb838473c263763e3d93da41c483fb132a83774783a39909baf3d85582a3f2666b9391dcaf737b65e8e3d4cfa0d3ff36a25388ff4e7372de35e3d986de23eb6ecf0389ffa0d38e93e1c3db3f2a93eb84a5238d2dfd137ff74b33c1d08623e1420573867cfd6374f97bc395f16e53d5952e5375b7acd380c8bae392517423a47743139000000000000000000000000000000008ce94639defdd9392829793ab55b143a8df700380e151f39434cfc3952cfa939a6252c390cee9239d521513a06d5113aa57784396ab0b0397a261a3a4061d3395d283139eabf9139c27bed39047ab939637e1039662a6d39c0252e3ad20a9239c689c738bf06553942980d3a283e8f390000000000000000000000000000000000000000000000000000803f0000000012a77c396c8f153a1bc3603f5f09fc3995e111381833943904ac403fc86e923976053b3997a5073a42da1f3f022ef139fa2e8939bc79d739c8e7fe3e1e21c039c3aa3c39ae2cb3399218be3ed4df9f391dd7103979b88939ff717a3e5051673951d3cf38ec0b79391cdaf13dbe7f5039000000000000000000000000000000000000000000000000000000000000000058aa5336760459367a677b3770a0c137754f51358b425435304c2837e17fb237c458dc310933fe310b231437ae4a8137222ea13651b89136bf51b03704ebc53778ad4635f7b7493553ac5935944d6135aaec8a37e2c6cf372b3cf6378383a637e42db133dcbb993538dc0c3629682d3400000000000000000000000000000000000000000000803f00000000000000001aa04836a7c07f3f3ca21c382385af37b4ee503562a1613f16a50d388c7cb2375f50c1315c31303f54fb43385714753733f0d936c14bfe3e22ed29389d70c4371c804b35fd419b3e74575a38afa16135676fa537514cdc3d75e9363815d797371539b23330f70238a845473728d85034000000000000000000000000000000000f253335e16ccb35e056f1375e547837eebfa535e59dad35cc0ede35f55cd63685b579362c907f361d10a83603bc5d37da9558360ca089363b153037c582d2377d39c733bd32c1339076ee37e5ea2038ecd138364ed03936f2317b366e75893695778a36337a4f37873721388d3804386efd8a3434960536c187e13738cab8372ede2336588f4c365ff31737a8b76e3748aad134f16a7d3f6694233c7872ed36e16d9d35cc82783f3679eb3c199ff335aa0f653664a05c3fc26f7e3c625ccc36f50a41361bc92b3fe9df1e3b32419937065cca338336f63e70d8c83a7fda1638dd6829363322923e6830f63a57026236a36c72362418b53d5c1a6d3abb20df37fcc88c34944e7138dabfdd3852218b37a4c3ca3587198836a44203380c906437c6d82235973c2735fd21a237f03a4136c4b50935425e1535328cbc37e704f136bd17bd36dfd2d636e75322374e4938379cd3f735d8021736f419ba365480b7367c3d2035bc9c283567c9d9372bffe23703cc293603b84436f4876936d1b05736e0f8e1360e11a1374e33343889cb0c38e420a63594baa735ca939e372098563604cb0436f988313676221937227a19371a3e1e35c8425d3f25e40a3e63696c355dde0635d606583fe2cb1f3e044f4235626eb53654e1373f6944233e62c00a374aebf7354e8a103f20520b3ef03a8e367a301f35515fcd3ef9cec93d77709b370ef6243641eb703ebce64a3dbaee5736d23bbd3575479c3db8d3c63c06c3c5379cb4a4359c4e6538966070399a30ca353000ec3549cd7936365018381d9ba73653e02036f8724637e4ec2838e2c54f372aed29364eb73a3687d824385bbcec36c4f48c3616a1fe36d4ce1b38eb5c0238c2be1836582b233662223f364c6f403692e47535413971368711dc37d69ca937486fce3591067f36bc6764371e93f13678e5773646d78f3600deee3760629536ead74b3554ad26370766233876a1d037f9440a373c758d37edc0243825ac0b381cbb1636c9cc2d3ff05da43e9c1a3f363dc71a36fa2f293f3166ad3e83524a365073f3350299133fb831a53e6bdb3737dc861236c107e23ebdab833ed6312d364bfc723515719d3e5993403ef933ac364531b735271c323e2c23f73dae497636613c6d36ed0a203d85863f3dc3b78336ec5c4a3592b04738d7c4973834faa23639a9de36af860938d70776381370b637c2ced835407c1e375c45fa37916a023604e14f342827043538ae99372f08e534bc410637c4960d3751cb1437ad151037ff048a36c5c8913609bc9336f87d90367b221b375b958a374839fe37521bbc3738fa9236f3809a36b8d29e3607ab91361ce6133704ea1937e820b437c59c1637b6790f35b2bcb0362c42c43792e563367eec0036575add36e0e58a374b6a0937102bbd35b36ffd3ea84a013fd12ee7350d9140340daef63e3ca6043faf58b6349160f6363bdfd63e8da6f43e88a50437b895843688dba13eae2ec53e25698e369c2917337422663e8def8c3e90dd88365bfe8b361712f53dce79373e55068e365a930a372b95c03cbbdea13db2470b372347fb34daba1638b910613884f6c9344d33ff35d3d28437f0e54238a0aeeb35693948378aef20380c134b38849b123724db3d35e7e78437ff2dca3788324735ce776f3681e68a360ddf8a36044e6c36bb38493682398e36ec5ca23696872b362c57f236cd484237f0d78937af9eac36382c33362bde4a365bc843361c0f22363a7d0138c227373822ac5338ecefbe37603e843618b7dd37c54d36389765a6363db10f375ed69a371017e537e0763f37c9240a37887d9f3e062c303f9c4fb6360b743f3534c7993e5912333f89133b354f746a36f44b893eeb6f253ffca856367381f8357914483e1d93023fa86dc035da185d36f5fc053e0e48bf3e4f296935eb812a36c7ab853dd8ff713e4e7118364afba037891a163a282bcd3d4d6bfc36b3bc493636919738aa49f03952514136d1b44136112705387fa52e38eb652d36e3b279364526d937318f2e373bc20a360f0cc9356fdcc5356fbca43530169f3570adaa378783b0379da063379b1ed336433956362fd36036f9b34736366f34361a46be37a437b4378e57483779964136c9099c36dbb1b1369fb59d3649ec49365aaa3037097e6c3766ec4e3720da073723c06b36547481378a5ac4371491313509e01736f228363651586c36811a5c3549193b36eaee023e6c405f3feba4c23558a5a835ae60f43d276b613f50779f3568c55f377deef53da47f473f14d79735e8ee553699e9a63d4f46223fd3c621369b368337407e3a3d18dfe83efa3f2335342783367d6c253c5a23943eb1b91836a90b0e3772ed483abedcf83d8b9ad63649d1443536b385380f069938c10a1d35ede87e357a0d733780998037f81c293573f8633700fdb8379eef2937e6e920363d260237acf92f37c8cdd435fe4c8434e30fc7371e0e48373e9c743686078136e2fe6536702c5e3635953836db403436f6a9083861e3c1379bd0c033c166c43388857b37944c5737c7b410375bc5fb36890a34379ae62a378f73d33645c79b36b70101360206203799411b37ed27c13518901e3752b56937cb7f1b3754e1e73538c60237c9316c3a43bf7f3f31168f35a74acc368b9a003affd77f3f3a09853471169537367f82380815693f161f5b367586693668a8b139cb5d363fe5bb36365a2b033883afde38ca71043f79f5c233fcca5f3776780c3a30eda63e47f7b9364600f336014eb038a034fb3dfd098d366b8d0136b55661383470003a1f75ba3566398c3658b80a380b9ada37b09ab13500000000000000000000000000000000b698b733efb6b3335bf3b133a976b633317f8437fc926336856b3f368d832c377e1653352762553576dd4a35a3cc4e354f1bc737119b68373cc302374cea99372355663757e61137b694cd363a7222377f2cb037a2519937df55a137e9477f37e0bcc3378fe7bb37ae3be137adf291370000000000000000000000000000000000000000000000000000803f00000000aff0b933ae199c3674fb7f3f6f3ab13346e5573752bbda373c64643fc0441d3754c65d3576f45635ac65323f4dd645351eebb737295f013880cb003f36c68b3750136137df22b737a3919f3e9eddf23610eeb237ecf40938b090f23ddd88ff36f6a4ac3702d804380eba5f3adb0d8a360000000000000000000000000000000000000000000000000000000000000000c9dca9345940bd35455a9937830e7637e2c9bb350a648236319a1338439bec379a7b72353b1b863599fdb437f8ff5b37a33e2036d56408378d350638ed2aa83713828135aa569435825e7d3757e4a535f208aa35d25bd635a6bfde35a03bb635c90e2a36caebc0378cc3f437e3b3483600000000000000000000000000000000000000000000803f000000000000000077cff934088d7f3f13492138a9802637e4aa0636a848573ff37085389fe8ae379c8d803547e12a3f25b332380de10137cc162b36bddcfa3ec3df5038d08685377fdc82353a719f3eb50708382620a935f7f6af3593e00a3e5a748e366596c535787d323631c39738d4501738bc204c36000000000000000000000000000000008da3e02f50d0dd2f8b156d38bd0a4c37d9024e362b9aa736321fd13792c23e375820b435b02c4136d78a1937e21db136aa51ae34d5e26035dc0c96375ce66437fab76236c3f39736e2d51338ac939e37a22b5835cf22f035d903aa377c225736eb269a34830451352bf6a1374c4dca35e43573362040a63610192e385c1e9c370c6cac36d0dec836d6ff7f371c8c8a372d8fe32fa7ea743f7846303d98aedd3666eb5f3624de6b3fd6629b3de827f93641ccde3536fc453f09936d3d2df5b53663fbcf3460b31a3ff235453daf3cda363194753673b3e03eda31f23ca7038937888a8f350609863ed424af3c721a5e36dbaea2341eebad3d8964823c4ca5da35ae9681366826a43783853e3a70754437eb4aaf36ba38dd3637472938f2e2813732c82c376a9244375aae873821a9543788239b363469fa366a367a388c622237dda5b436af1ddf366e56143869ab7d372bb2283771903d37a868793834e126380a8cb136dccdcf365e880538239b21371011903699e6af36a6151338c7d1c336c6db0137ed7626379eab8838ed6090370fe5af36d647d736032a03381b5ef636d4bbb036f1ddcf362d911f38e47d8f372ec82d3792464f3f3e72423e9d884e3716689d368aae453f2a41673ead8616376b42b636442f213f4191523e2de905378caf2a373a86fb3e8eea3b3e684fc4376bb1b53634ffb13e6466093e2606ea36de1c92365993483ef63dd03daaa9c33637c501372353813d9e40403d07712e3767fcb436bf92f036a3eb633aeeeff3364b71b13624d5dc362068fd39d06f12374d465d361085953629d07238a590a236ef8d6f36c6a7a8368a34bc37141cb736d47f2137666235377f3a1b3822bd43370859ac36a445d436527d0638fcd9ee36d461ed363e5c063701706438c1df0a375b1c3e37e0c349371ea22b38d4724d37868dc336bec5db368b17a3370be0d936cb3a0737d51c1737c2ca313810021b3723a47b37bed7843765c8323896f38c37f4596236999c273facbfb03e0da19c36ee387336fe611d3f63d7bf3eefe0ab36c00b20375eb1003f2cc9b63e44784137bc63b036a39fc43e5713973e367eed366ec3ee363b5b883ea855653ef69609374e133e37728b123ecca61d3ed4e74a37b51dc63648deb63cd769ae3d64e7d336f1af0737f073ab377116e63a0dcf183793037d379a428b374aba443a20e08a372f2ce836ac879437fa89ec388c222437e9f50a37c5023b37a31ab638b9792437a4e99c36de6edb36ea9edd3712ebde36d16a823607bbc236da8337386df8bf36402df2365253a13796c26438055e73376ef5a336f812d6363f244438076eb3366212ce36ac07f83647580838f476d2362d23193789ff313777a1a738213e2c376790fd36cf265537b738093865af81375633e6369ef0fc3e6172013fc62af8366d870b379bbbe93eadfd073f6f59143725da9e368fc0c03e01d3fb3e3b68c636a9a28136a9b38e3ead1cd23e9a45a836da85f336c03c4f3edf5d983ecf6918376748a436641ec53dc5d45b3e214e9736ac2ace36c7376f3c7a15f03d6f52ba36981219371cc44f38fc1b493ce88d1e372812fc361299983754e75539619122376adf8637e00fdf375ee8883925b68137c8d8133731db2137fc0c3538e1550d377a07cd36f49ee33667002e370f8ace368a724937236052379c75c6377ab0433747da0837c06b11370e665238eeab00374137f536aa60fe363c3f0f3817bcce361f204837f6014c375c943038d0ce3137ccc7b436f881c5365ca3ba37adcaa1364fefa4369d59af36f98b83376d8c9236ee4e86377ba1aa3eb37b2a3f3f6f7a37ede0123795e69c3e471c313f0af00237e46ecb36b16e7b3e34a2253f9562be361e61483753b4363e8758063fa3ed3d37c0e809377cdcec3d3bd4c93edf22f4368b08f336e2ae5b3d79e2883e3c8cbe363a944537986f7b383fcc0f3ede6d2a370586b4364562cf368c632f3c805b9036cb28a236e3c6b13652631439b3d18536eac7e236be151138462885383e3cc3364839ef36ac5640370d19de373ffdc6362ea52b37a77cb037785c493851351837da54bf366728e83644dfa637c721a336edabee3620a66d37be31d437752fc736b1ecb0376a8f3a38de946c3871343c37013b0937945eb13730911e388e67dd3673a424371cd42b37016a863867d7ec36df1d523708925d3741e02838e07442374f09e4368f3d373e1913523f92beac36c04af036429c233ee4e6563ff07faa36228e2537e47b0a3ec137413ffe4b02375096c036da56a43db94b1f3f39e9923673b8ec36fd105f3d267ced3e0efdb8360a4793379b696b3c5d259f3e2d1833376b790837406f403888a8283ee5a9ca36d7541e372c366c38a621023b794dbc36096251379f89e437d938e239019c3a3766da4837671da3379cab9c37a5adc136ee8926373b0706385917a637e90e9636d6e3e33592503636d6139735021f243516456236ac265d36c58b31364e5cde35d95d8d375174ab377c4d8e374b309436be019d36ed365437854a1737ddc7803565c6be36f9efb936cb223f3790374e367b470037bc1799377eec0f380a3aac36cd500f375a09b83720564238601fe32f0df64c37329d033d9ec3773fef28a836a77116376269da3a415f7f3ffccb6d367210df3593c9d7398111663fba11a9344dfc61364403413a8757373fada39a35b85a8137b82cf038680b083fadf2843603ad3936b15731387fe6b13e092d15354998bb36fcd3b3389fa52c3ec71d23366a6eff36443620389c802d3be9259536f492f1360c203338d9c114395b92e22f0000000000000000000000000000000000eb4236eb944b3661a28237bdd3453676f9b4354e5bb93578b7b43503dbb835b4a4a7358114a835d4b7a735b0c399351b548937376f72377144c4375e9d6a3701d9023784fbc636cf2591373b238c359e969137978cbb37780b2a38bb179c361ab5783763c177370d6000385d47e2350000000000000000000000000000000000000000000000000000803f00000000a0c2473681459337b2f87f3f14a2233657c3b635f89cc13524445d3f73c2a835125da535cbb20e37164a303fa67a83355fa14d37bf11fc37ff90023f4043ad36cd60a6360c3bc837381eaa3e15f382351f8a7d379e434a38dab5223ee67d7636dc5f1a37898fd13773f0d93aea56a63500000000000000000000000000000000000000000000000000000000000000004d228a3528f0a6362a833d38257906381d8d9136cad81a3727239738dd6b3538ec8e9e356f166f37653a50387e2ad537e1784836953e9537602c2c38329b8d375246be36f6ba22389d346538db4fb13708519b35c8b70c38ba3e0c38481e083775e70c341bca89378fbd1a373b16af3300000000000000000000000000000000000000000000803f00000000000000001ff78b35436e6f3ff64b103a1437d23753de9c3612b8493fd2e0dc39099ceb37c733b13594e2233f30bd7a38539bb037594585367269fb3ed04142381e01fe36f40dc136ddccae3e3fab6938925118374a8d1c3794db443ec17af7373898ae3534290b3417582b3dda66b83673019d3300000000000000000000000000000000138ef334bef82c37c8e4273a373c183891856f3572ba58364a592d39e28bc037123e49362787cd36c53723392bd59f37f5916536e01bc036ac9ebf3927d53e388046aa350add14377b788c39e94524384694893638f9483726c5b43842b501382d794736cbaad93667c8cd3800eb0f379f8dd436b03d0537c4c1d139d5151837c143ab3638e30e373e113b387e5e0d38b1b53235b27f6a3f78f3a63de503e8376f848f3582ca533ff5e0b63dd39a783718d27036718a323f0245ac3db145803781cb89362b400f3fb9b4993df113b637eb4427365e92da3edfc5693dd0350638f72d9436d593913e7865163de7b8bb379d2779360af81a3e2071b83c306e0c377fe1e136d2f6f63a2b7a933cd7fc1637c1b9c4369a358b370fa85a3a875dd037cb97be35d70f4737bb16613c3adb06383e2e9935af477c3688f0b53ab0582b373f9fbc35738716364dd10a3a26ac533644cc803606e093367ee6113ab8560b373430de3529056636acab80396f4b8b375d7bf635ec691a369bbf1a3a3eaa0737fae33136b87454363615d639f037b63631476b3431627c35c23899387c5bb63501088e35bababf35f2bf8c38901304381fa1d435a8fb433f0bcb5e3e87f63d37d896e335df95303f4b766b3e33b7a236b8a1d4351127113f1a90533ea7f74e36200387366692eb3e9efc3c3ed6a8a536c17d0b36a105b33ec88d083e36998f36278204360d34673ed44cca3d1e83313615983c368ae2ff3deab36c3d97555336b97f7a340a2fa53681b3b23cec48a9350edd9d351d66af377d40933af681b8378cd4da343161aa37d989703a6f186d370000000000000000e7d1273a000000000e035536c06a7736cef1983a3ccc8836bc14ea3518c01636de01a539b9ea493775c394337cdbc833b56e293a8868c2333ba577360f008636889ba2391be7863629880136cd38443676887f3a34a73e36b4e6c6334ccee133ad052e399013b23359490236a62ad937c38083392154543875d60b3543ba213f6ee6ba3ee4428b35000000003e810f3f1419bc3e00000000b2545c360c9eee3e16d9a63e388b88364fa8fe35e247bf3eda988a3e38ad31360ff58e33f4938f3e2b29583e1c66b6330c497b360b79393eb34c1e3e53bd8436cfcd12365b31ba3d36bbc23dcdab3236d310c3332c92f23796a6253df1e7a133332a0a36730d7c38039f463c86a9f237c9f6c63664ed3a382384803af43a4937248624370fe82738128bfa3a3d99d137d43f0f378632b2378a380f3b5290b6373ed91c379bfb003886cb363c2349b03779506c37ebfd0538622d693acc63ed37d2c643371c943e3820c6573a5143a53748f427371a5419382c3aac3abdb96f3733b93437dcf93338bfd2843a899fa5373695d5362911c73765a1333a8854f737d149d236b8e4fa3e54dd013f1c1def3600b22a3750fadb3edf7b013ff91e5937ecd31a37a4cab93e2f6ddb3e523d52370787393734298c3e8ce0bb3e248a8d37b1e7843763fd603eab138f3e1ae1ac37cf1266372e7a073e64615c3efba37d3754a33937699f8c3df8d40b3e45bc43379ee241374bc3a538f4827c3da4295337b5fce13621f74b380ca58e3aff6c3137a2912136fcd58938305d3b3cf5e93937d9cd9033b564c23372bb663c208ad63342cb0f365b9e4d3648fbf43aea1338367b6d7c367ef387361f94533a6f7a8536322eb033e5cd06376c13613acf8ab733d35423363582b73743a1273ad131143617828536faaa8a366fc6d03aebcc753600000000000000003f082f3a000000001cc37c3549e8bf376bb35d3a11a4dc364bb127366194ad3e3714233fffb20e366b58a433901d9b3edd79243fa091c4337de61d36e39d803e4a620f3f1b041e360662813694594d3eb0f3ec3ef8e78036bd8cbe33cb9a163e7e5cb83ea8739c33c08b29361eadbd3d0b4a863e6c5308365db58736c90d2a3d7fda273e9e73683600000000ae812e38fb3f913d000000003993863596a82338e6efb93a70e829357165ed35bedc30386bda553a74afc1353fa05e351a5be335d8d3273cef0d2435bfcf49363d416a37ba87ec3a85554e360c052b36076896374b99b13ac6df1b36006e8a36a6dabd376e615f3a1b0256368e44a436feb79a3722ddde3a3edf9236387a48364b3d5e362413e53a237409363d46a4363f06d537a4e0513b262063365fb52036a959323810f2c63a02c9083649f6fb3620185a3ec2f1483fa4b1a935d6338a35b6bb3e3e631a483fab4c813493954d36f409213e026d283fecc74136c04d2f36fb54f33d2c040e3f90620e3635bc8b366f60b63d228eda3e28c1313633f0a3365cf7283dbdb39f3ed3ec8c36d0204d3609c0a73cf6b8503e0b36f435c776a43636d11d3be006963d18d73236840e4d36917978380415c73af3e3f235b499a337973e54384d51363a9f5b063786cf1537ff7aed37a78b463c87d80037dbcb0737a66e16376d22c939b8ccca36d9948937824e2438a005c238c0a230375edaca37a69433389c8fcf39217706371da50837e3147438b9501a3a2b26bc36728d5a37c5aee03725a6403a6074c136b04b2f37e1f30438efa0e53a0f3e4436577cb237843c4138c64d833a7045b636dac4ae371d3f8e3d2ad46d3f5e74dd36367616377b0d4a3d6c146b3f1564e936eda707374db92a3d90bc483fda6898365b4d9837f783133d3890243f4566cf36c058dd377fd2b53c5c8afc3e25c8a1367d5c0737a6a34e3c6b26b43ed95da53637ef6137a03b263ce36a543e91fa9f36a5893b370d95fe3b3111973dafea0c360e3cbc37eed5803843854c3af14c423600000000000000000000000000000000c7d19b33d628b733f48dcc37bfd6a336868301351fa0f7367d0412388286ec37ead8bb36a09ea937e00370382dd50738adc0a4365c4e85373d733c38242d2e37de568537cae7d53797316338f6653c37137f8337cb0d2938d1cf8b394543be3649a6a337ec6e0a38b25d133a1aab89360000000000000000000000000000000000000000000000000000803f0000000026fb9f337ad9cd33b946753f58c3e634581001357c1ba037d8bb4e3fe46eae37e917bc3610172f38a88c283f26fb9d3717b0a636c0180738133b023fb915b03622d99637312e10385e13b83efa2ec135f26d9337701f81381352583ea3cfaa36126ca037d8bc2638a8d8813da850d7350000000000000000000000000000000000000000000000000000000000000000b664fa3493d258346a715b357c023735d1cc5a3684d9413660395e36c6839236d977503672560b36a06f473694b655369622cd34f4d6f5342ac73435b6ef4934a4687f36956a8c36933d9336adcc9d36e52b8436a5855c368552773646d98036075c69353619e7379580d83749d62a3500000000000000000000000000000000000000000000803f00000000000000000000000035b67d3fbab87135fc6e0e347e066f361d24633f14c1883627745c36ea492236f521323fc41f97367cf838361d1a80341417003ff112263800000000a2738b36a326a03e9ae29b361e177f363b7c673653c1e33d5d973037d723753635a135354bde763acb1b5238538b1c350000000000000000000000000000000062ff5335be324036526fc4373dba55362790eb35e9b904369155a53750c4cf36d5448d36f21a9836ccd30c38384f15381947f6357c50e7353d526436cfc073365b1d0c366460163639c73436148332362e9d7336ff589036e0943e37e6809a368fbcfe350431c2360af04c3838b10a3832ba733667868e366624b13709338336c3797636125b8436aad39036cbd99236ba8e8d35d6cb7c3fcdd05f3c8ab75636bde2b5357004713ffd04093dcc4f21362f9882360188583f47e34f3cac618e37f76bd43568502a3ffcf2af39e0396936b14101360409f23ec4fdce39e3f5373675e78236234d8f3e23c49339c4919936cdde0336b0f7bb3d3e641139ca4e4537e18b69360d8a21395a6568391ba1863671966a36713a823694de1237c4f39436042f6b358d610e37f9350a3964d580380329e63368a11d34ea6f0f3802421f34cd7264344bea5b348df58437eb8eb7369f42a53486159e3488b643351e4d473588c21635c3300135994c65377b314835925bca3501dcce35fef5c4355cd8b9352639bd35d5790236b2977137a29428360f6e4e36992c77369cceff374900513732e05636a5e667364fd006370d3a5236881f033577005f3fa5d7053eca628735e85cf333d769563f3c5b273eaf0e14342bb2443446823b3fac240f3ebb0e753534039b34c7430c3fb889023ee50ba134e8561c352df3c33e5888d23d3c0d0a351bc0c635f466533e6b71b23d9942d8352cefd73549eaf03c20f8803d4986f835294845366f065638e8fcf03821c48c36a4e85c36388b4236d01f003852fb65360cef2036cbd3713622ed7d37a2765036cb545636be7d8f36433b1e37158d9b36b6974a362b675336607a6f3609a98f365efc0f36dcef08369c0e3236c5413836d0eaf234f8bcb6345491a1341b1ea7345567ab35f899ca35e6e66136ef8c3336b0a9823523bf9a356c72d63570149f358442d532a29703336f5eea3798b0d4328f3668362d508037083d813811013d3885482636273f303f2e03a13ef5352036a539323654e3273fb4f7b03e56565036387048369bd50f3f1ba2a63e23803536f804eb35638dd73eb6658d3e13d400367553fe34d2608d3ed60e5c3e02b4cb3461a9da35312d113eb6df1a3e9440ca35caa90135448b953b857ba83da4e7a83500000000050d6b38e22d9939cd4ca8301f106336b1a28438f05e0239945a8037bfe876364ddfa137109c1b3803fc9d362ba9b036a09a2c379d370b38862dd336e0227d36893588369ad8ea3750598236c88a8f3676ee9d36894b98365b15a936c084c1369b96c137a75d1838e378f83794c091362eabc036dc4c87379af8a0368aa882365eb5ef373e8356386978d83763a0d1366174e7369c232a38779b9537a1e398368669f836a91baf377a1563370e5a8836f4dfff3efa7e003fcee981364c19a5364e0ef33ee3f2063fffe2bb36fe7e5c366113ce3e82d1003f70a1633623fe8236a480923e4521d73e9bb793367d25be360a2d483eff669c3e3385c8365d088a369263b83d4467533e8c4b9a3643ce7e362be8f43adb4cc23d5aa78636d72ac636ccbacf38beb7b3394a89cf3605ce88365792ea37e180423809a9ae36ec1a823634b0ca38d9e5f638cd1f8336000000002a7516338aed333692957f3249339f352294083694b82535e6749b3580d1c33571b512367ad6c235e647d835f231ed346c44b03473719734001eac3447e54a3638965d3649882d3683463b36a4fb5f36678684362dff8637510c8a36db6a8b366b2fa4364e1321374640ae36083e6b36c3046b36cfb7b836e4857936f4975636e4bd9c3ef742323f03162f36063f1e332375983e4f46343f000000009a2e1135fdca713e6bd72d3ff317f0344818b035b504243eb1810c3f4d743a35fa66ff34a24cd03d6947d23e9e93cc347efa2a36a8e52d3ddb5c863e739223369f556d36810b113c3ed9d93d2cfb4a3631ad8336f40bfb370b1d833a9664a836eaa8313686a801376290973770547836a75a5236f4285c37fa8790375a485c36ff9b41369a257b3770aa4937a8f94a36f9940e36d51c1636bb929b35c3cf0636a574d9351f65c8358081b6358421be35e4aa1635cf41ff3468e9f634e7ddf834e47f8734c792443527d19b34da152a35164df33416b401373398b5378e5c653453161e34818425375c721d38cb7c2834a0631b389cf46d382a096d382598433687b853364c92023e37c15f3f8c6e43361a3531366749fb3d1405613fb00dcc35466a29367b1f9a3ddbb0553ff134ab34a881ba350619373da2ec293f5971be3573501c35c2d0023deafdf73efb900435601f7235cfd0ca3c56979a3e34299d34be41ab3414974b3cb853ef3d597a44343f0fc0334c4c9d382c7d4c3af2590434f2f6c435a175c73807b3a8387ff19f358f9c7d36e0de9e3685cd90360c9f8136612d80364d49863671766436442f8036ba637136f06f5936329fbb358252033638139736a22b923663ca5336a0a18e3601572f36a58c2e369965fa35b4762b3627df4d36e07680360bb413362ff236364e3a82370382b9373c97ee37e8077e3774bb2036efead736d479d2377f1381368ec365368c148c364e4c9836d44b5636587882364705133cf11a7e3f4b8d6736ed0f6f362b7db439a90d803f062a5a363fc42c36c15bc53869c0683f0fb8c035185b8c367c036d38eea4383f959080367b8923362d959138e149073f39291a365b91433641197e38c603ac3e14d71e36fc3184379f9bd338d7e6113ec4ab9f36e6e12436e2222e38568bd43c5e5b2a36b6764636241695379566073889673f360000000000000000000000000000000097672a35cdbb45355d0ff6343ca90b3504c3743605748e36d88f2d36db0f6b3695b6613611e58e36874f8236906a8a363a224933984ba6347928a7331ce6203464c63c3604d75b36d7c40836040b4c3671e7563685337936b4467f3634277636e78c143536bf94359ece5235f9e913350000000000000000000000000000000000000000000000000000803f00000000da781635b8d0f237740b803fcdca0e35733e4c36c626903629e4633fc2f15d362a857736d145a336e648303f2c8272366dd32f34123b0938a35e003f8f69a131214e303692c77636529c9c3ebd4532364b6f7a3667178f3697f1ea3d71b33b36108f4f3533e5853567472d3cc2001c350000000000000000000000000000000000000000000000000000000000000000060acb34b338f23421401a379c5fdf343297f535d9171936f5a25b374dfe463621d425361fb66936c93a6e38417c5c365b418d359d42983537209935bb8076354f4e5634ef161b38e040373822a38c34641cba35ac5e7c3797f4b235d77da3351266b9319eb3b431acebb4319e02b73100000000000000000000000000000000000000000000803f0000000000000000f409c93436a7773fed98093828be13353ac70136270a5d3fbfa35638cb594c36384a2936cfe42c3f8e3aed381a125436972dad358a69fb3e4d039f3738d38c3534922034895a9c3e237e703874598e34ae69b535e3c3ee3d6fe8b135a6109f3535d3a0313051e138a9d7aa31e58fa431000000000000000000000000000000008e3d5b34f1fd63341514f338f2f87e347cacb135c1b1df35c0679e386b8edf35150a1035385f17350f922638c9302135741e7235df007635ef822138ef2c77351c74cf34776ab435c97da9380755f73573bd8b3458209c34bd7b0c3806469c343af1203505782935c4849a38b6571f35203e543337329d3402dda1387c5a6a36f66c7a34814f89346f2306384b638434c17063346073723f0cfa553de3e885348ee3ba3539725d3fe542923d01f4e035f8a50f352d51413f28708d3d61d41e359de07835a75b123ff18d5c3d2f8f7b351272183558eac93ebc450e3d23cf08368903963466675c3e4c04ac3c93b19b34e7d324357187b63cc1a2ad3c0c7c1a35b830583349b565384698dc3c843d1d358cf8853421e178340043de3bb8b28234a3212033bbb8e734b5f2b13c147635333e3db633c5fe1934bbf666381f45103426dc40358a176635b6e183389599b735c8e8893569eb9135bb52a338265f8c357a843735e7c15135820253389a9d60356eefb835b9e6df359cbfb138a97b083643972e35010f39353ae1af382d1941359952cb337b67573467db423835041e35087f9334700bab3418e0f43642d0ec34b2152433bde94f3f5bcb273ee4602a339339cd3328743e3f456f583e7f9f3034b96c4635bedd1c3f3d51463e58f65c35de1e7c35d506dd3e8ca1473ea7bf8135053d5a359bb78e3ea714333eb27a7935d4c1cd35039bca3dc9e32b3e44a5da351bda1d357dc7bf384d10e43dd9843235a82d0a349f98b535b1bf8e3dd5e0e13407c38f34c2360c353f85113d6e8e213561a85435f0d11336f0c4443cb4c8b735dd0132345205733422fc0139b92d523457eb8d3545077e357c2ef338d637703589022a36d0a8bd3643a80537ae0eae36a091ab352b029c358e51c2382389893523706e351cc40e378ea6ec38747e4e359a8eae350c6a6536047f9e37412f653660d2913423f24d347d46f8375e751c344e187232d2eab23263ad0a384d6cf334b6456435a907243f9749a73ecc1dac356fe11134d9bd143f1996bb3ee5f86334693a8c35c55de23e4778b93edfa87e359a234536dc3f9a3edac5b33eb7aaa3363b90b835dc142e3ee0e1a03e623f9335375d6b35c2e5043da17b7f3e85ac82355eaccc35f9773b37a6011d3e4c6647364ffd7d34a1cf2734e673803d2458153467e68c32fec0ba32c2c8d23c92a5a932979e2d3536ae1238f7f30c3b9b657b3506e50f36299c5237e6973d3984a22036f58f1835bade8235aac85038741478359a3f3635b6093d35d424d2379bb039350e180f36bf311538d6d6ca381a2e0337e54a3035a8fa433512d922387078413541521f35106f8a35cee43c38aa9b4d3568b01f3622012636f0da1a392d55323677c8753585ea9f3589c32639914c8336649455356227f73e5777ff3e28f56235a3ed0d36e5f6d53e6936053f00d00e367d113735243b9e3e0184043fb2764f35c2983a35fc813e3e6965023f43cc3835057c0a3682def13d8baac33ebecb0836b3433d3532fd5a384caf9c3ee6553d35e0c43b350a81023886df323ebd3750357e211236cef14038ed947f3d565b253608608a358b2cee368918923c8f0270357d438a323e9b3e36bedd3c3a55ac8632a81e04345e396334238e543876e12034a95ad135d30880362a649c37cb7730368f624b35a3725837625bc938a1b55f353e2e833548b598352ff18f38b6ab963559fb8336ddd0c6368cdd2637a2d4b036feee6a35b0c7c5352449fa38b6518835e9b16634dacd9534c2bcda387f137734171c9b35a06aed353b9c7738655aeb35f4db8d3220b5a03e9a2f293f34129132d6d213340437873e56c02c3f42781a34a3f00b369f5d283ea5d82e3f5b1de535a19f62359798b33de6ab213f4b545335babb983586e99b3c76fffe3ec880a03574bf9336fd59f737f594b23e727a913624504e35a189bf388809493e049b81354e226e34bbc9f137ea745c3d525f52348d23c3359f992436bedbb23cc219c2358336923455e35035d493433881b87834f41f9534f3d1d035b49870385ba60434f7545a3587b9cd36500f3338b79a3c3589c8cd35a72327364df98937058dcc35e1f98b35fc446f358097b5372bcf4a357b5f7735367b8e35f7fa4538f6a890356f9c4e35143c1036ec280d381d674c3557a992343f386034fd193838c457cf334070093584463935beed9437a2fc3c33bf71923499c61b3ec741503f75831b34cccd7434b048dd3d8fb9523f467d0b346f64573570cc4a3dfc1f573f14204835e331d335739eba3bcf793a3ff237d03530ae9535a7be8b3883200c3fe1225335d88d8535ee6a8d38f2c0bf3eb3689335729d4a3516d59837187d473ebe363f3515b99434d2d4023423413c3dd806dd33164625335905b235ec8d313be90a4533cfaf7a341a78c2372bbc5938df266c34dee24d356bd505386de06f38c2d061348abb13355e0e2b35dec4513772b42a35254f9c348e3fa434af5e99346ddb9534a6aa3a3671eb283617b60138c2f37035cba06b35e3ae82350175b837451e823559f2233534731f3583a7083816541b350bd5da35b416e73524039d385d2ada3535c58434b1b42f36dc679038f36a7634ef3f8534a308193d1ad2743fd4146a341574283591941339ea28793ff2a253332992223558349538ca09753fbf6b2a35ce67a634978c78375ca9433f6507953471ac2736031da6382846123f19633035b37a7e35f686043834ffbf3e90f37b358e0b23352d7fe937c489343e4b451735ea93d835d0dd26389856833d872add352e7e873486a610383517b03ae15e6634000000000000000000000000000000007322973197d7a631e2a0da31257ab53181e49435e855b235c02fa635090db93534444234c8689f34010d8c34213feb3341b98a358ecc8f35d000b1357a1798352f3747368a216336be9d6d3834d18336382b4e36a9c4543654652b388e5d1a3626ee553564b8243536d0af37c35319350000000000000000000000000000000000000000000000000000803f0000000006c99f3108feb6313113803f519aa531be8da6352abd9d359438623f7d95bd355011b23487db9b34a6fe313fe0bb3b3403c4983511ba9c354673023f1bd59c356a704d3620d07238366fa63eb6875436caf84f36e324c93796f50b3efd550b36e6744e354e8c45359a1f083d68eafd340000000000000000000000000000000000000000000000000000000000000000eaf362349ff96a345c913239c7c0cf34aa4a9a34b161f234b2be2e384352d035d15c0935fa8a1135b2472238d2220f35305180350b20bd35673fe1354398eb35b3916f3591dc8c359efc4135868d92348798f234a35b06384dbf4a374e6cf333a57a6d346dae9437f16e4d344144353400000000000000000000000000000000000000000000803f0000000000000000757d653487e1713fdd7d6e34da870d35a0aba2347de34d3f530d29389e74e435aab10d352e93233f7b27e937df0a1135eb3c9935a12af53e2ed9ee350b92f3359fcf7f3599aea23e06fa2835bb228b349f9ede342b14233e732c20348598e83391806734a7859e3a2d504634ff3c2e34000000000000000000000000000000002edb7e325b5eb636c6f9c43c5eafd5362b657933b8d2233418d9c03cf68284349a03233331866333e93b893c5a1fa233aedd84329f7f943254c7613cff38fc328856d6344c8e0b3547cd703c4ac6ad3556906e32bf1bae327f8e163c1de45c3309835931186bd736cbf2473c5a5a43312e931334a99c8235f9feef39da8f083721dad8325300c233ec20b23958914534284a6433a9f35e3f28b1443dbb08ca360b5cb93347924d3fdff3933d82328e342cf23d3306fd273fe553953d9c48b233a84a8d32741c003f1367883d77bd48330de7e8345056b13eec41713d1011a4354ec85132f3903d3e917e433d13f39833536a5931cdb49c3c1692233ddd194031b00e4d3433aa60362fec753d46768d3633dbf1326c0c0034420c453daab250343931d9323a555d36647c233d6270e235aa251c34473091362692233d8deb383672f82336c05e1a389a74dd3c3c4c6637bfb91e3588133d3790af193da3dc7436c3999a3429432535a3e6e73c5a0a62351c9e3236304fa237e7cc183df1d0f337c000aa34c7067e351b8af03c3ff26936308031343c3fe435c3af1f3a2517693653511d3733fa6737f5933e3a19250a385891e2323b9b3b3fd4af2c3ec51c7f355a1d2734c0e9213f7e763f3ee8060d36e16c8c368dd9033fdc28443eddc0f836705b2135b511b83e8d083d3ee9e23a36968b9f340fa2713e5dad3e3e7a08723586e183360be3a13d4558263ea86be2360f8faf34fe48aa38ace8e23d8594e534d93a373446870e37f68fa63d31952c366bfc2b37be130538a66a8a3df5e9a937d296b63668b441370f0a133ddf331737e8c7c63495c9da34dea2183dd249e334c10e0a35b80f12352dbc053dcd300b35d43b0535e12fa8360156083d5e4f4a36c5080c351a1e64351a90243d8b1e8d35bfc34f35e35bc3356938373d7ed45535359bac346c30bd34bb35ad3c9107a634e4503d34bd61463473fc6f3c00654c34a84229327ba571362215733a3013a43626b9e436cef9163fa01da13ef0610a37e317c734d906f73eed1ea43e0c8fd03480e90b35bc49b73ec111aa3ebe4b0a3568b70635c8a87f3e133daa3e38ca0c3660bc26359bd5103eaf7f953e48e18e35bbbd5135830b8a3c578d743e59af5535367ead34ce03ed36320b303efe73a234ad743f341eab4834f1cfdc3dd4214d347fd22b32cca7b736be5b483db078753628f56d35beceb236137ffa3ca8493e36633ad7368a7d4537cd64153dd62e16376be75b35c71a45370dac033d06ca5f360000000083c9ac35ff8b3c3d00000000f396a9366ed4073716241d3d02c8ef36be92e830d3036c3552783e3d00000000978e9a35d1638e3670bbd43c1a419936b09cc43681d42537d85e6a3c84662d37492e1435308f6e369d47383b70398c367db4e0351c46e63ea2d4ed3ead31df35ccc0003762cab53ec493ef3e38bf0037426602368b2a863e2911f63e7dbe243600000000d7a6183eca22ec3efe4910303c1dc336c7a9df3d78aeb43e994cd836eca78a3057a12338ce8e983e000000002371f235ab21d837a3f34c3e0b055c365b00e336b6e44437f83f023e81461737834e7c35e013ae36a692593de8673836a05cc735dac6cd36f905013d84491c3659ac5034b45b4e3467d8f73cb96f423438be9b34b002bc356e51db3c1406ac34f1c0553579970736689b2f3d483350359ab78135333a9335c929223dfb4448350a104135cc7089367c94073d982e6c360f400935a3111135b312f43cefb50935d644c0345643e4348d2ad53c1805c334e243fb36a2e723373265ae3cfe7b2e371014253677b5a23e7e181a3f68d1653556b34e348beb6d3e1bc41d3fe12b4134a1dc9e348704103eccf1233f81bbad3464eb54359220883d3667173f238350358c5d8835ae6c9d3c6becef3ee8e63635c03bc8359eb6a337e56fb43e0fb7e1356eaa09353e0a1235a2b17e3eb9a60a35f277c4348e280735b4200a3ec966c634245f0337b54e3d37ffb9213d3fd61037b97d6137294d6238e1c0103c186a5837aba3a53583e39037001f963cb3df7434f53bed344cb71638fdb1c13c0642bf3465c1ae366edf6638da5fe33c614edb36ff07833565948035086bc23c505cf734dd1b9535f2fc243780bc133dbfd57736a0f5dd3691530338b54cfd3ca6771b37516d9d35f8537a362fb9203df9702f36ac7743334106343648cb023d63470136394a6e37f1c7333e4d713f3f11f93d37f71af6358889033e41a8453fe46c3c34aae2ea34d827733dd10f473fdf5ab734c60ac736cdece23b5dea2f3f33e4a83688108035d616f237a2cf063f51ffc6347cf4003657a347386323c43e298afa3502a6e936b71bbd388fc2713e9f4cd0366865de35e588b03692a3d13d3a168734448f9334b4856d377d07e13c437e8534664e6a34e8b760347edbc83bb581983321106d36f8b21538a9a4a43a1b039b340884383183c382370f331039655053312a55ad339dd296338bdd8839950f26329fb0a335ea92f935478fec3bc9b00235ac32903313013c3389f8763c1820be3222d1ba33510bad33ff08013db13a6a335f419b34d7e5933469dc3c3d64d106344726c236cecee536713cf23c2718903600d06134081c623d8b0d643f5f6a27334c328736c61be6384e40703f99d27d34dca93c318fb9a738f0d46d3f41245531ee2a9f33a75e3a383816423fd2f8c2316199a3350db13e38e3c3123fba31f8341e306233b3460f383639cf3e50dd983259bab433c2c55938a9ac643eb7435133a4f695349e195d38f148643d7c51e933e7c7c4363f752d381f39e53cd2cd0e360000000000000000000000000000000053da24346c0e3a3450af95366aea5b34474dd833b95ff4330d2d3f37dd436937eb9f883487938d34768740353bd37735cf24ee359707f1357a51d6359172b2357a000f3558f71135d23137383d990e35f852d7358214e835cfd34c3801d4c034c2233235c3b5da34177de83b417a68340000000000000000000000000000000000000000000000000000803f00000000611c29341eab3f3492d17f3fb40961341f68de338cc7fe33575c573f8db2973682fe89347a9ad634fdc02e3f8a5684359558f135264aef35048c053fa450ab35f8361035aa111535f2ffb83ec5f90e350483e9356e982637799a483e3b73a034e4a91f35cfc49334bc1a463d6a886634000000000000000000000000000000000000000000000000000000000000000057ecf7347cba6d3524b3c03542739f355fdf2d359b4e0c35039d5235a6414c350e9ed932fda8fa329328083383da5133f0ae0a34e78f89348ccc9d340a0da934a13b04354790b3340c0ff3342836ea3470e285311ec35337a46f8731bc0eca31000000008ae7be35000000000000000000000000000000000000000000000000000000000000803f00000000000000001cdfdc34642b7a3f49f207374b24a73509622a35d4f7613ff13d613592af86350e74df32479c373f257b1033b05733333d9a0234a0ce023fb0831235fa8c1435a2ddcf3483dfa03e49b50e35960520354979b236a26f0a3e98c596378bf4db31000000008fa5c53cc9b1a8310000000000000000000000000000000000000000b7a547346b45e0349199c736d85dbd34000000000000000000000000000000006da1ca343acb8634bfa4e634a42e5735c0acda349c9a1f3589c38435dd246335f71fb2349a83f933249da9365a6bdd3493f54c34bbbb8134c3f4b13428c81435ca1ec035faebbe36eeac33365742fe3566f7583599e72d3782d79537b7fb3d3582e9cf350b25b735da78b835fc62af3591eb5034a4e8783f5a0d0f3d0b42be3400000000a388663fb7513a3d0000000010d6533435d1523f012eaa3c92bd363562f0ee34c310253f9b9b023c1da557352db50e34f6e0eb3e6067cf3b98a9b434747f1834e2508f3e6a90ac3b4d11b434ef60a535503cdc3d9bde633b1dc50b3633dd1f35bdb68739bbd2693c41032e35a2bfa83568e19a37f5b96338728aa3351b7d613278b80635cfaf8737b1706532db5c213402061534b6992e34df2d4634f8846634bb0561354aa2fd35dc51d5355408c735a3412036b51e3436184831362cf89a35e9b03e35c0645535aabb5a358c9ae7355af5e23519cc0c36f72ee035fd9448369f8804371f9d9836c35d4836556bba33558c8333cffb8d3369c89034000000000000000000000000000000008e642a328d165a3f90581e3e2b5850322ad50434a0324e3f58d9363e7f953634b1247d3212f9313f7039133e1215a735733eb6354c99033fcec2103ec42c3636131a893590f5af3ee520ff3d79091c35fc7594352e56243e19b9093ef507d1352e0d3a36f5dedc3bc497db3dbd024b3656eb8533081589382938033dd0067f3300000000000000004a669a3a000000000000000000000000bc04dd3700000000000000000000000037d9c33700000000e53fb835beae12365f0227362f7e3436d19bec34229c7333f9e19b3513e8a23562623a35a33f2c354c186635378d6b35bb7e49361b176c3672607f36febf8036e53a50354c6b1438897d27388f5bd735000000000000000000000000000000000bfd9e3581235a35cc4a5b35e19b803500000000bf70313f4099a33e000000000000000098bf243f0905b23e000000006b6fa535e11b083f9301ab3e569b293600000000c793bf3e9ad49a3e74fe1d349afefa34b808623ee79f8c3e73b16a3517fa3f366a77bb3d70fe5a3ecf9f7c36811ac033359fc53b501b053ed1a07b35000000001653e7365065f63c000000005cb6143591a52b3572e7b0399d37683571573535a1eee537794a0138806034358e8f0434910ccb37118bdf37000000004cb32f35361825372562b5369c6c6d352a9a2e35d7801f376b306d364de724357cc7a03479f2aa37e0d025378b987e3461e153355e526337ef927436397b9735bbfc1c354e16fc372ff7c3373a1f1f353b446a33f21b27388c5c32380be18f333be5a735a4fb823703ef97370c409535a5d03035ee5c013f229c013f477a1135cdc9ad32ca5ceb3e1664073f00000000a9650835e925ba3e55a1033ff7d92b35aedb3535030d6d3eede1f23e25df0535a5e64e3480af073e997ebe3ec8b21a34369935352807143dee9a8c3ed7605b354e1d2135f3e3493ba4d0073ecdd0fc3400000000c5d2d0389f96b23c9a37863277d98c3510a37538b37dd83a86e8743580ea4e3552a38736d070e135dec08d34000000000000000000000000000000006333b53561bb88367536b835df466d35f6dd86365c1b8336a53079369d276c3680e1a935ff863a3502641e353ded2e35d70dc235617ea435fc669535c03b4d35ed5441369715dd374a382a37eb27363600000000e1c20338b28621380000000000000000a2153c368bfc4c37000000005d2c0035137ba13ecc58323f0000000000000000ef69933ef2e2313f00000000f4e654359d7e403ee3f22f3f4df9b3335cd3843639b6d63d31a41a3f30bc3b3654a4a0356d465b3df9a3ee3ecd0adf34459e6e359125133d84269a3e8e59b634891950363707e73bf85b0f3ec6e80936000000003ca3033a90048e3c0000000000000000f1b95b3813f09b3a0000000000000000143b963708e02d3600000000e6d5c83489f9ed3799527c33cbc43a338a572b36d27f44379d6a1236514f333693dea935a71ca735c4bbdc35829f0c3691c390356d905a35c20c5d356ace4f35b9bb1e367c052936d3111736a838253623eb5d358c8ca73741670836f2760536bc3e3d34b8cc2634b0982634f4321a3447c836352259d0363e287c37ea446f340000000061e21f3ed46c5a3f0000000000164033781ef63d63be5b3f864f8233ebb22b36acf3533db49e583f69ef0e363b7a3a35b232f73c4d9e303f9f574c35d3423c35956cf73c827d033f0d7d6935fe2314366001063d142da63ec1b20b36d0860035ed242b3d1ad6073ea1a53535dded223464df053c1367923c3c5b25346c6d62344c35bf3ad4ea683a1e2b4a32ae3e89355729b5370c23bb3603347735a1f54b35caa29935d0d32335e08909350be3f035cc4ae8356657ea353ec80036e407b73441958c34059488340dd18334cb15fc3416597b3730c58234d07aa734ab3482354d345f35cbe84f35b57b8a35c929ad344d27143749f301355c39f1340000000032d709376a682c37000000000bcf4835dcf70f37e7789f36ccef393593b18535ff82003d04c87a3f0ddc48353c242b3523bdeb3ba95e7b3f5aecb03478cc1136baa14338ed87653f1d166935fd87c2344a419238a488393fa8434e349df9de3452fb413acd270a3f89ff4e34b6eb9c353783e43ba7fbb23e84cb2135cce00e35f671113cc62a203e325db334000000009f0cab3a87c06e3d0000000064572e351116003a2d14483ade67e7340000000000000000000000000000000000000000000000000000000000000000223a2f3250833732d1a00432a9ae8d3166f2c234eed4e2345372f934eff01b3529935e3471a88034f45e61348a403e3426485033502334335a2c37330bb7333312212a3534603c3592314835491e763599e0c13542c69535fb608435a0e3b2350000000000000000000000000000000000000000000000000000803f0000000000000000000000000ee87b3f00000000f61a46328a6f25327025603f650a37313e270735b401de34105d323f4d2b1835a174163544eed534a200ff3e024d2e340471723380bb443358c4973e74144233806e66353d436135d924003e04b664354527c135a1d96636fbacf13ced79853500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f98f35c847ed353cd8f63552cdd335000000004ba44e345e44ff33aca6003302cfef336e51c3347f45e1343ebd0335c4af85350989f1350889d035ccf9b335a2878d333a859c33d1c68d33fc5b843345d7ff32d70f0433edea173375b30a3300000000000000000000000000000000000000000000803f0000000000000000000000009cbc713f0000000000000000d3189e3544de5c3fa8b4f8359820dd357481f432801e2f3fb61bd9336d161c33db6415349f58fb3ee57f0635f111373559b19e3597d2993e8c1fcb350a42cf35fd2190331ab8e33d47a3d433dd0a6733655adf32d291be3a5b5e23331c401d33000000000000000000000000000000000000000000000000095b1f3b000000000000000000000000f7aa033a6ffd3a34262d0e3429d08a341038c6344de5b1340000000000000000000000000000000088a1dd34c8413f3583510b3a454b6035d44e49343c62b534cd5ca33464cd8c34446c6b307dfb733473a407356c772135000000004d233a3229b0c133143c273400000000000000000bad773800000000000000000129673fb04b653d0000000000000000683a4e3f3382923db219383495531c34ce2d333faded903dce05da3400000000079b033fb3175f3d00000000305d7e34cb87a93e4939da3c428e8f353539af34ea48193e3373323c24589534d7af7a30aa732435d2d1ae3ccca70035000000008e98c133ff60233dc15b1f34000000000000000069ee183d000000000000000000000000c182573d0000000000000000000000001a1bdb3c00000000000000000000000088d3bc3a0000000000000000000000001dd7f639000000001b6d9033c3242735ccc5383ac7e59233000000000000000074faaa300000000000000000039b0932df53d239bf80fe330000000000000000ed9cbc3506545e35000000000000000067e32f3a0000000000000000628c423f31e41e3e0000000000000000be842c3fe335493e0000000000000000b2e5053ff19b483e0000000000000000a141aa3e27533e3e00000000b02b9a3395922a3e9df6313ec9269d3300000000b7ab143af2c23c3e0000000000000000b9cd913414102c3edbf49d3300000000830145349434f53d58038f33000000002c20dd345cb6ae3d000000000000000000000000aeb6883d000000000000000000000000bc5a7f3c000000006374dc33d1a333356b8deb3aa3f6113500000000000000001bdaa439000000000000000000000000ed180f390000000000000000dd10b5342b7ce63486549034000000000000000000000000000000000000000000000000000000000000000000000000000000006042cb390000000000000000ed5f173f3b10993e0000000000000000bbcff13e6944b23e0000000057a24234302bad3e642ab43e06b21035000000001432373ebce2ae3e00000000000000004f758d3c289bb23e0000000000000000786e1e354c1da93e9353ba3400000000b9243d3168098e3e000000000000000000000000380e383e000000000000000000000000aea2c23d000000000000000000000000c1066f3d0000000000000000000000009eb3b93b8ef903339366d734e8280135c418713ad85ac0340000000000000000396ae639000000003e1c4c34986ce534f2f6923a9d569c34000000000000000079359839000000007c01ad3436bee63438dbe6392a9d093500000000000000007165883a00000000000000000000000093cb943a0000000000000000b311d03eb774ed3e0000000000000000dcbd9d3e6394003f00000000aa33cb34541d473ed0ac023f3a17a3340000000053d5493d9500033f00000000d43ce133ceb14d3a4111013fa4249f340000000086f6fe3374a7e53e000000002257983462ef2035fe859b3eac9abc3400000000ad9c1832d565493e000000000000000000000000ec5aaa3d000000000000000000000000c9fe0a3c0000000000000000000000006db1473b000000000000000000000000a30a8a3900000000a9619e3487510a35431fc93492387a3400000000000000005de576350000000000000000000000003e370a3800000000432326355be2453562441a3aa0f80f350000000000000000ff684f3a000000000000000000000000c77ec43a000000000000000021a6813eefa0273f00000000000000008a522b3e72f2283f0000000000000000258e783d8f902b3f000000009ec0c034d7151f38e0812d3f0000000000000000f2b317360e93243f00000000000000000000000020fbf83e00000000b0ff39356e687a356546a33efffb6f340000000000000000a800343e00000000000000000000000050754b3d000000000000000000ac11357f35873b00000000000000000ae4bd3558149d3a0000000000000000f54ec233ca6b6c390000000000000000000000000000000000000000bb1fa633471a4433b0d0613324b79033000000000000000000000000000000000000000000000000f855083a000000000000000000000000e9822b3b000000000000000000000000d1f0353b00000000000000009ebadf3d97a74e3f0000000000000000b799933dc5d6503f00000000000000002c7a5b3a289a563f000000000000000000000000f6f8513f00000000119287336fe39a3459022b3ff1fba03300000000000000003710fa3e000000000000000000000000c883933e000000000000000000000000f3eae03d0000000000000000000000004d15233d0000000000000000000000009ac3b43a00000000273e8b33f7620c34b0ae5139e1148b3311042b35c46f0335020cd43408ff1934373bda3467fc6134c4350834b37c44349504623561438135681760352e661e35000000000000000000000000000000008b4817355f98bb34c403a3379c055e34f1c3b533051e20344d63c339863cbc330000000000000000655fc9390000000000000000a49ea63c1bb4723f000000009cdde5331757b93950d6763f000000006bbb1e3539342735c3937b3f203f71304b63ee345cc5d0344d2c583fbd8d17341bf75635013495355df5253f6481f134000000003591ff3019aae03e000000001c461135fce5d9346107713e7226f733c2a3253499961534cb4a033e00000000000000000000000040dc313d000000000000000000000000000000000000000025b15033aebf3333d2535e32ed44b232972a0034ace371339479a833a2db90337e82d435cae4c535aa37cd351721d4358afeff343a73203515bed034529ec03401570434c66a1d33e454a13314450834edb2fd35e2ddfd359b2a09364e59e635000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000006dfb313383c5f6322b7e803fe1dbd3326e4c4133f1de4c336bdf643f89ed8a33787ce135d997c9350b8a343fa3c08935edd9ef348de40d359037043fc3948934df21b23200000000b330a43e61473d33aa7c0436175701369a8c113e8fa78e3500000000000000005217793d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007903e38000000000000000031b3ed30b8a4e8380f750332000000000000000019a4743800000000000000005a348538f01ca13800000000000000005c3c46386b4bd437000000006cb0ac3389b14938000000000000000000000000005993381df768380000000000000000000000000000000000000000000000000000803f0000000000000000000000007a866d3f5cc018340000000000000000fb4f553fd2acf837c96f1f32000000008c15263f0000000000000000000000000c18f43e89a0e935000000000000000033b2a03e000000000000000021492d341623f13d000000000000000000000000ddc6c23a000000000000000000000000000000000000000000000000a8005d33c22a2d37f97a413daf129e3297cd823040955e36fdf9783ded76223100000000000000000c28743d9d202233e92e5032f4aaa43295a3443d8a9e9a33a3221132548b40374f53c53c6615aa3200000000c4116c376d3d0b3cf6b598346edf25323ea38732c9ce4c3c2c4fc3320000000000000000f798ba3cb603a731000000000000000082ba7f3cb3745634a56dc7339bf5553f6ccf22393f5f703385f19330836a3c3fa74ae838169c213100000000367a183f93d2f638000000003c276d326801d43e2a0f1c397e9541333f2a2232000b723e53f4033984cdad320000000026fa1e3dca81ed386eed443403243d32809e8538183d193985b5c53200000000a36c1838839c213d5fd93a320000000000000000515eaf3d74ab4c348ac0b9349f7312375864ef3d69438f34873e2433210495373d90033e1a8fea33000000007a3b453433caeb3d6f089e3424d567349acfc337d6d3ee3dd02d483441e6b03492857138afe3003efbc5203500000000d6910734b463c43db857a2340000000000000000eb376d3d34b81a320000000000000000c7b6273d4acf843724515f342cfb0d35df00a43c3a01a83692b1dc3465ad273f11f55e3d1870b834e44d6a331cb4fe3ec989283d87ec1f34963cc532d2b3b33edb13453d98249834ff5a9b340668343eeed2223d198b7534a2bd0d35d5797c3c7ccd533de45a2a3500000000d22fe23858c0c43d6f87ae3400000000b7f6743735b8273ee458843300000000eebdd13764de483ef226d333101aa2348b531e3582942b3ea000803548553f35c20ca735bf69563e8f35053500000000f0cbb236c724683e00000000000000009e08bd351b5f483e00000000531f10334f75ad36fe8e403e0000000000000000000000004bfe113e000000000000000000000000c349c43d00000000f4f70034dc638a341d6f843df8c68a335626b7323525d233c0cb173d73d0ce35b9ca8033680b2e34d933d23c35f4d3357e45373541c7d33eabbad93d338bf334000000004e8d853e2dd9b83d00000000000000002683173ea851033e000000001d8e2733ec7e033cce7f1c3e0000000000000000b7d6ce38daf6493e00000000000000009f070c38d4eb8b3e00000000a466d533f6727e34675ca63eb3bfe4320a7fbd3204c0b2355709a83e22b4fd3359fa9333101de634db56653e1d539a34b91e34350792b837b3b5633eca04f033000000000cf694373b916d3e000000000000000085b3e1354d20403e00000000c3379634de63283548411c3ef6ac583400000000000000005d72ef3d00000000ff3d6e3384ce893453d3993de4ac1b3500000000000000002acb773d000000000000000000000000ab37433d518b6436a6a20a32ae3d3333c75c223d92ef2737487a34350398813e9e2b7e3e3b56ab330000000007cff43d21107c3e0000000000000000c9c72b3d53119a3e0000000014eecb342f16c138f34fa53eb580053400000000676b5938543cc63e0000000021d6c83314245138ee65ea3eded7fb34000000002fe8fd36f289d53e000000000000000012a32a37bd08ba3e000000003ca7b93283c53a388b3f7b3ed20c2c35bfbd9234914674376ecc493ea3b021340532f23370f1a237555e3b3eaaabbd3300000000d77fe6338b5dfc3d19ac3034000000000000000002349e3d000000000000000000000000d19f3d3d00000000000000000000000091d4423dcd82513300000000000000007c4e563d000000000000000000000000b731953d0000000076b5a834267b0835143f7b3d63d1723506d5ae341aba083e54b3db3eb754df33ae1b0d342937993c964be13e892777330000000003f497388485fd3edea91934000000008c102c38608b0f3f000000000000000060b6983802081f3f0000000000000000a7e0b637b1131c3f982d663300000000d1ed8337c175f73e0000000000000000b4698d379d0bb73e00000000db82cc3449ee1635697f5e3e64064035949b8e35d9487837f9f3ac3d6ea00735a6de1b34e5a80438723c993d0000000018af88341d60013364300c3d000000007695b734c022f6343ed39e3c2f2cd433e23f4935db032f35957c273dabb28437560ab1348749b433f696583db18e7e36e22c9e34324bdb34c3a88f3dde081f34207f3734fe0816341d88b03d043da836cba40035613c50346099a03debe7b435552c8035d6cc8f3dae272a3fc723e034fa290b34eda2bb3b3a57303f00000000c1e42d344bb9c53877f93f3f000000006a41a834fa7adb384e3c4b3faa7c0c3307a030358dc0a838f56b453f4387413513d98e34259f5f38d8c01e3fe834ba3403c58934cbc4a43597fad73e3ce0e033ba03fe33773588384990813e3f363f338acce8348af12a38525cd03d3642f634bb12443421f7e13320895f3d0000000013bbd632c0d0c831f586153d000000007755d5322e5694335b34b139405689326917c7320ec36d34499f1c3900000000813ebc3287a3a332a5eb283900db6632a8020533f2300a34f7e4bf3cf275a7320000000043873831286f743d000000009dcd2e315dd51a3124868a3ddd70db300c73bf33563af83294f11d3d6a318a35ccb08d343c29bb38f0e5593f000000005b809c32deabcd388ba8673f00000000f3363d33cd09d03781af7d3fa53765329fded033c5e49f3525a2743f000000008912b332d9e89932cc533e3fa3f04132cdf4b233a93b8136eaf2043f09018e3200000000f7fd0733bd25953e00000000060e27317c7b173412f70f3e4ad6b1300ab9d6332c101c38d507ac3da22f3634000000000000000000000000000000000000000000000000982883383eea29380000000000000000000000009adfb8370000000000000000ad3ded375dce1f380000000000000000276c9938e50925380000000000000000814a813800000000c4774932af2c093225df3239890156300000000000000000e5ee6b38000000000000000000000000000000000000000000000000000000000000803f0000000000000000000000003b67803f0000000000000000000000000ab8623f6b8a29340000000000000000ccf2303f1e08b0360000000000000000a011073f000000000000000000000000270bb63e0000000092d137323a32f331cda02e3ee7ec52300000000000000000dfa59c3d00000000000000000000000000000000000000000000000000000000000000000000000019c3ea350b453136c61771370e169d373e7c3a37e0eb35374eafcf3799da11388264b6372539ab3797490c38b16a223877cbe83718b4d73724db1038c3a43d38974baa37af7797370b78d837b8cf0d380802eb37ba6af53734090c38ebe713380d6a073725f0703770e678377df2783700000000000000000000000000000000000000000000803f0000000000000000ce7ba035b5f27f3f257dc0376e79833700f9e036a77c553f9cdf7238c5a2dd3794d9a13707072b3f12f543380dac0e3846ecca3739f6fe3eb47d8f396e481738505b92377c29a83e788832383085e937ea60be37bcda243eb59e2b3807560c38baa2ad361fc318387328aa37b0a14e37000000000000000000000000000000008a942736f1afd8375485513888982038b4e35b3691f86736d4aea8370f7ab637fad1d4366fbbd536a3ad2637ec0bb837dfd28e360fe4b1363ecff5372f1e143872afe536b1ede336c6b71437476f4f3778ab52372ec758374f46a63766d904388df3fe36dd70313793d0bf371ea7f4376085eb365d0cf53643684437f5cb5337ecf5dd36cec51a37dc5795374630aa3705c9bc35f0627e3f8641c43bd2c6a137f594443658b7783fa968e73cc4833c377d11cb36a3404f3f0da7dc3c8e84053783f388368dde263f63c09e3caaa1da37c610da3655a6f93e458e753cda2e183718b73237e91ba43e26ec413a7cec86370cf79b367d6f1f3eef5b033aa5d7a1371e2ee936873cba37a91d9437c851213755569f36d97e86372522c9370c738937f5732836975f8a371216173833ae8b37161dbb3636cbf6364cd2873709c3793746189c35de80e7362e42be378f4bc63791490f37bebb37375e33a237d036be374f26c8360da42a374af0dd378ca0f337c6860a37d3182a37ab6dba376f52c137283e0c3763113e37883ba237a0f4943738eedf36d1fc4d37cf278537f8127a3777e36337258cba37f1a524385f231c3813851b36cec0533fb9b3303e5a2b3d36e3aaad3695f8503fd9013c3e7898c7364f77753540582a3f476e363e7464393744ac6f3650e90e3f7644073e49427c37f8d3113597bad03ee40dbd3d86aa7b37a48cd8358140893e5911313ddff9593770f68336d275103e64af8639b54e5237694af8352a2ce137e7f2e937eee53e379e3d8e3679da21389de5563850d0c537faa096338c13d937877b4e38b14a6137f6a7e9357621043681557037887b0636113bc336ef697337239fe4377d1ac8374234f33673566237ba82fd37250deb3787727436fe81193732efcb379c78b9374cdc02361a95b43655838137e7886b3723ca7936878e82368a3367371f30a0364aecb5368dbe0837fd897e377b3125372ff99f37a2f5dd370ae20538af0cfc3762c69033a2b4293f1f6bac3ef577c3339ad4bc35ec03283fcbdbaf3e81c3e2357f308e360021103fd8179b3e8aaebd36fc061436cad5e43e8690753e32720a37361f6436470ca83e5e32303ec3f275364cd8f33506df563e827fd43d9c7f01362ef82f364ffbc83d7268143d832b6f3666524836bec6de37c7f21538f16cb136032d1a371df407389a642438de59b637cf972e370e4b27384de35e38eb31bb373a604337932d8937c464c637820a8237cf2674371ac7b437b95c0538b4f9b83736ff0637159e7f37c854c4377f29a63726f67d37efe9a437756a083866d6f237edfe593716d4a537fea2d8370aaeb1372974aa373382ef37a87b163888c9ee379c348437dee1ae374c86cc37f270a4376c32ca37671105388f6c19380060043800ba2b361082fe3e07a6003f27b72c36d56ac136fde6fc3e4282013f1731e03627961337b760d73ee610de3e6d561e372c2fa83668acab3ee9b7b33ee6acb83606bfb23699df793ead03833e56efb3367079bf367f4d183e7ab7283ee700d03656bd42378203873d7ceba23d73cd68379ff444370881fb3772f30c3882df5b37ac5f60378b00293823754438dc19a2372c058437cc780c38762b32384ada96377e4f9836ef2a0b37674160372aaea7368bfe793618e17e36dc428736ca437e3600fb6936ca95ed3609db1c372230bf36a5fd8e378750923783f6ae3750f67437b2b7bb37984dcb373599d23704d0ab374381c2379ffae237633ee937a539ab371eed0236118cc736156f4637cfec0336077481378a6aaf373ac0e3378b4f92379cd45936cb87a93ea1272b3f68adc7355fa8de3530a0a93ed1262b3fb9e6d435f9331e360329933e9502143f25410b360099e5358406653edfe0ec3ef523e435982d6e3609ca213e36d6ae3e06476a361ca4353700fab33df1b0663e8f0c7f36fe243237301dac3cdc27e73d9bcebf362f25fc354c11ce37957d0b389c27fe352be05136c3cdf7379ad737388d9f78367306ad3710063a38ce87753803f74537dfcb333700745b37ed5154375f68d036802c6437d65b4b37e11833379c982537b0738b3763637a3704a84637d782383717a3ca37104db0372d719f3706f78237d361ad376373a13724d38f37da0e81378147c437acbdbe37f74ab637936e7037169d7a37c95883375ca688370abf2b3784fa8437248f9f3787f3b537992e3c37914e3937a9af2a3e693a553fc8c3a93525705636112f2f3e6226543f2e9cbe3535990d372ba6273e69e0313f085e1e36bb9a2037a586ee3da878123f0e08cf350fd04537e17da23dfe3bd73e5bc9253528c38737799edd3c3da2903efc75dd36134a7f374ed7f53903891f3e40d5a835248c3837661fa1373b1413384999c43654bdff362effce3752c80238b5ed3436ed4970372644ab371a25aa379acedb369e7f35370204f636e183ee361520ed361ea4b4371b977b379899f6366eb715371219da37c3c36f37f1fe5437b340683757853137920f0f374d6be9363078f636c8ac093805afe337a3c49f37e26d9a3722638b377ab40b3757a4033756b3fd36add8a8373d0d9e370d699d37524709379fb71b3848481738931106389c85a4377d3520375236523880f17f3f503f2436a16af4365627833c53dd7b3f74afdc360cf358370375903c3578533f7ceb733665967537f4f6393cf9cf2a3fc76a2e3768381537241005382798fe3ed429e336057dd33759ac3e3a6ae2a73e78999436db0106377b4c2538184c273ef718d9361e85713711e3db370aaa1f3801806c36a284d6372bcd273882533838a0a5a33600000000000000000000000000000000621f6837fa6ec73639ccb5368ba9ee3606fd1738d6bce0379205aa372637fd371d211038f64eb9373fb97f370cacd737d1ef3a386e5efe3749e5e437fec90f3846e920380bfc013847f0f737321b1438b7120238e28cd5376ebecb37e886d937d2aba337198a88370bc6a5374a5384370000000000000000000000000000000000000000000000000000803f00000000b0f800370490b5378cf27f3f17e37136ced90538dc712838a6b2563f7c26a737ce5fe037b17925380bd92b3f3e139e37a21f1038f096ec387457003ffff1f63720f61238fc512d38ddb6a93ed105ed374150e537dd0e1338dfc0293ebe2f9537d1a698376f12983788e50f3897b20937000000000000000000000000000000000000000000000000000000000000000024b590367028f437ab375438a132cf3778d53e3652d70138d7a02338019906387e7c6537f61a0438fe3c823859a90b38d7802e37d8760a3892ccda38beae113880cf9c37049b0c3842e3b638f9701c380c25703732edf537d48b0b381d01ef37f7bab73659cbe2374949fc37ca899d3700000000000000000000000000000000000000000000803f000000000000000017cfa1363c086f3f50b1b639d782aa373ca2a2368976493fa7e590381b0bd83739149437138f243f7905cf39d097f33745565c37a7b8fe3eb514c439097aed37c59f96376e74b43eaaeab3393268053853f06f37f19b553e90a71e38dd07d037b3aea0366fe3763db5220e38b0e85a3700000000000000000000000000000000190c373517c6ec37c8681938f2789537d6782a36f9209237077553391d9b6f37e57132363b1ab73719415538fc9eda37aae3cf3662d2bc379c4d57380f211738b8882937ad9cda376aea083a2ea653391fa6aa359fbb733775b41938235ac5370055df361a6147373960d337df636f37f2ecc836a868d437d2382b38865fd637e88cc735e800da376eec2838a52cf137179d3235e1936b3fb1bda23d8d48163784c32236026f5b3f7544993d70d6073714bd31369b64393f7509933daa206a376b37c736fb0f193f8d30763d296ab637df0e2237f29feb3e8859243d9cefd237d204813578a7a73e4fd4943c0f8e903762abdd3639be473ef9a384387956353746fdc936d5a6693d945c9d39fb889037b2d3a835dfba24380a7c4838b6cac13703703637ed1a443939e94c3a2c0fcb37471e9c35ce36c437b333083afc44a635d296f03629acde37b2e99f386b0ee837651766361e45d2374df9b139e3a2cd37d08d0e368664953871767d3ae1c85f3992550a36d34b1538b738ad3922bc193889ae8c362c3fca376cdd47381954c037365f9835a5b2813733b91b39404d4d374d05d23624b3eb377b0f413a4497d0370f342d37a476483fe80d5c3e4c868c3795309b35cff3393fdada583e0dcfa4357e04a436270c1d3f3224413e173ebb37d2286536f0c8013fe175193e1e5bad369b93c3342224c63e722ae63d8c1cdf37140e0936e2c68b3ef873943d44937d3783083b367075253e5c97193d400a42373baca135d514393dbf0b203a88089a36a986ca3652a0dd39b89c7c3adca57b37959c49360d5a9539b230713af929bb36e1ad9a353543ed37c2b6673a2b8e253771f79236590e33377eb13138fc650d3737a4053652ccb93748c9133a993c8437cac18c36def6b437bf78ed39b9323937d9cd0c37ddb08c37c80a9b3928cb7b3712fdc036d257c33724811b38a4df6a3757725f36adcb1637eac8af396ea5e93698cc8c377ce30c38177196396ebcf73761753f36cfae233f5d66b73e24586b366b0e9735dc09193f8a41b23ef35a9a355f228d36a7ef013f151b993ef0e7af361a8af2352e49d23e3a98783e6bb58936a72b5c361297a13eb8a53c3ee75bfa3625c8033772825e3e9194023e723a493723bfb9365773ff3d2b54913d12d6c736bb7826363490ef3cdee17b3c04edb036e9d58237a14d2c38f010f539f72db137c1ad49352b234338a88e3e3a1614673749c8b236d08844382b4f183a14fc1d3772d0163612b2323878ae9b3814217237e0e8e63688c7e83766e91b38979aaa37cdb361377e546038783fca38c9cc1d3811b9403770b5e63766a710389ed1a33790603a3683372e38180d7a38e700853758630137b2dc1538f663823859481d37d8cae53618aa0338ef39b038a8e1b237db95453545fdfd3e3eaa003f0ac74c35c85ca9369ffdee3ea5c8f53e66d0c536d0b80936b2d5c73e0e08d13e486e2636e8a3b036b7d7a23e4bf5ab3e0f111f37e0580537178d783e289f833eaeb391373817ec367e98263ec49e3b3e5225363785a52a36095ebb3da4cfe03dc4b53536943de636cc226f3c5eec1a3d0a2dff3622189435ae4336389015853959f844373f419137f0fefb380a41113c2634a1370ca63f364c7834373a5a883a6a49bc36b3a5bd36b443ea371b542e381cead03678d6343794019537a4e9e539e6726137358ef236ff5edb3779cad9393e191b37ad32a236ecc2dd37786fc03934640737b593bf368d8b8837e9bf07384be5bc36a55746367618e437bb98a939c1a69936fc0da336f13f8b37838cd9391df7bf3617b0863776fdb23e44fb233f60ab683774570036e934ac3e611a1e3f21a80136bfb0b43671ef8f3e59e1053f4554b73679f5133716a2663ec3b8db3e38280a37db4eb53611f72a3e6422aa3ef0cea3366ef877367902dc3d10b7733ee6971936429fb836f8214d3dfb89123e6aaba8366404a135c7b6a43929df563df5daa43526729036544a9638b12c203ae6839036de72f036d700333a5a3bfb3b189be3361e18cb352fa80038dad74c3a916da8353baa2d3795061038edf962384ee21637d43e5e370a25583827a1a839f1d428375a03db3749b2033a41095f3abd60c037628d1d372d8c1c381d6b91382b596e3621b3d437cb811938d9006038a0cea037b6f8a3353922cb37fa0e2438c055a1352918ba3749e52f386f2ab539e1f794379090ea36367d523ebdaa483f0829c3360a1cc635d3fd523ea3453f3fb34c963560720e37d43a323e6a6a203f357e5f36e7fcfa3678dd063eb2a1053ff2180a36211aaf37fd57c63d0053cd3ed0892137b9c0aa3679c6583d3e57943e1ea069367e11c437e54c953cd5b2373e74ae5f37de3da335534e2738fa857a3d93c89e3587519f37f4506938ad310e3a21bf8137580672375be21d38d1817039d6850637a886123704c91138dc3c003a729cce3640ce3437635e8537744908389907ee36223f8f371d2ad037b46f0e388794b3365b75013807063739c9388e3966088437d8dfe537c4bc1d38f1452e38f89533379391a837f4a70638eb231c38f2bd7d36c83b3a37fbf2af37ee2b1338129aad36c7308b37bd6ad037ac6f0038d5fedc365fe54037c2a2873d0beb6e3fb9989435c337fe367ee18e3d944e5f3f4ce8c536cd6afc36470e7f3d4f113e3fe2f0db367d894e375cf6353d8a1c1c3fbb890836d085ac37eb53e13c811af13e523d4037cd64a23758e31439baedae3e5d63f936f2a75937e4574638979c503ee6fc5a36dbb51937184efb3740848a3d6e476b367c6a48372d0edf37922012385eb03a3500000000000000000000000000000000eb891d37742fa8378f2c2c3876678b3778f2cc37167ae6370f4714383076d837c2880b38faee0d386cb67f38f3be0038981f0038ba0a08382fcb2438d35df63766290238286e0438f5f71138c59ee5378442f3376d4ff5370b0918380a78be3745b2c0374ff8d43708c40438881a9a370000000000000000000000000000000000000000000000000000803f0000000029e8c736fc3c1a387a7d703ff9c12537d1a1af372be41d387e844a3f678cbc375617f537de857239fe88253fce87d3379b35d53702912139e367003fd99acd376230e737030624384969b63ec457cc379f8ece37c85b14384eab593ea08d8237199fb8379445f0378586863d6194673700000000000000000000000000000000000000000000000000000000000000004cbf1e380ace633a175f443ad5e994391ec32638dfecaa391377a839963f44396d0d0e39797cef398b03ec39976ba53927d2913892f7b3397035a839da253e39f458a2382cca483a6793493ae6cee439d4626639a9bc033ad640fe395a8fa339fb775c383813e03945ebce390b7e3c3900000000000000000000000000000000000000000000803f0000000000000000d456e3381692603f23a94f3a1c4a6939d75050382181403f730acb39e6840e395ac355394adc1f3fe46cfb3982978839924d0439c719ff3e48fdb139ded21539a5d64d392408bd3e505b513a92b5b839c3f67e39d3f2783ea150fd3913de8939848777381608f03dd2ddc639cc280839000000000000000000000000000000002eb6363756aae839ad8cdc39d73f2f39144ad13745a6e3398ba1fa3903551f39a70bab37c8b00b3a4702663aa68aa2382e2b2238cb133e3abca86a3ae2da0a3a58073238fb42273a382e373aae62e03993036e37d8585c3924f8d7390e4c9d3701ee3139ecab463ab682843a74fb033adea1b9377089a8392e69043a1c540939c68f50371218f5391b2b393ad89c2f3852ab5a380a74613fb78eed3d20450739f52a0338257f473f31fad63d59d73a384359dd37baf8283f7a4dae3d2ca32538a6701e39088e0d3f3ba2943ddb55e0392f650539873ee13eeafe6d3d35e1b639e6d27937ad0aa93e1af72a3d2e3596377a4e5f39035b5f3e9325c13c14aad939c2a3d237c994e23daa280a3a498d4538c8106737644f4a3ab5cf343ad6c0c137658d3e38e6df1f3ace50363ade029d3998861138ff5e373a456c9e3c01d3c3397b77b037d475293a6b3c953c8b57be396d125637ef2e003a0653983cd07b8739be24063980a2453a8b7f633a9cc60b3a2d78b337bdda043a7a2c2c3a63326439f8644e37ddb7ab398375f439c425bf38f6f1983943ff8c3af8609f3a37c1493a3f1ebf38a502283a85da453ab4c2e73905235538437f403fd9de783e5902473925bf15386578283fd2c8573e60d16d39991db8376b440f3f388a343e52507939fc0486378c8fed3e840a143ea3d404396cc74639d27ec03ec74df83db334e139be68c0371a95883e2bc6c13db29cac38edcf5937c549393e7d845d3da285923732f2af395300b63d47a1ce3c9958293a5944f5388c3a403a0714463ac689b8397cddca3790b7bc390494293a204f1638c6b82938f758013af0919e3cb68a0339f538c3362761cb3a898c143b77c3fa39095cdd374bf9483a1c91bd3abd665e394db9dd38d557523aa42e823af7d1073a78a5e037fb5c113a0b84713aa7df8f39d98dc7376921d6395b938c3ac28b3839af1b9d3814275a3a4122853a54a6043a05af3438bb80093a9f8f313a7a0a9439d1f3df379609203f6f4fbe3e6466ff37fa5a2f388de50b3f2c00a63e349136380f29da36aaf5f03eb0678f3e52f31139bcecf337656cc83e5b2c6f3e274e7e38a977133937689f3e663c3e3e7701c6393913e3374d596d3e7add0d3ecc97e6386273d8377f83173eabe0b03da4450f38c476f038c65d943d4687323d0eb1c139874135388652223a61dd343a9ce8433951c44a38d420db39bdc90b3afefd6d38df8681371296393a6348963c3b625438f2af08382b29123a35a1893a33c33038d8443f38551d2b3a71f5683a36d4b739e5644e386252a73902622c3abf97ea38d94b3f3857232b3afb4d603a5d4eab39ecff103843f1153a1c70743a82883638700e90377bd5f939b049913c23e8eb38d02c55381a6890393f77003adf61f338c43b5238c3eafe3ea979ff3e1e16613831bf9c3789ebd93e6122e53e3219cb37826012380604c13ea198c03e97be213820df4738545e9f3ef0bda03e2b1e4039301e5b38768a7c3e4c1b813e43ae7738c37f4b3833283b3e1a25403ecb5b2e39946d15383474f23d4404003eeb422338f172a1372ace283d0c0e453dfa78de370fa8593885dbbe39fe3e073a9ba66338136f2c386bc8103a1d494e3abca46239c2aacb38ad98613a7e3d993a894ae5393de6c837d755fe397235a43c855120380ce7e337b117153a7fcca03a00c455390d305f39046c513a1441853adabbf439ae6e0938d7253b3a98f1bc3a993f0a391ac586383d97bf3a0bb70f3ba92f53394d4730387508ea3989f42c3a8a794f3874dddf374ea490393b571c3ad0e91f38388e3538720dbd3e234a203f69fa483823f724394caba63ef5760d3f31cf7639251be037a5f18b3eb59cf03e7fa505385242e637e22d6c3e9841ca3e02ef1038661983391b863a3edc22a13e9b90a339410e0e389ba9093edc5b713ea30d143848848938a562ae3df2691f3e96ea6337112b313850d10d3d9a1e963d5fbb3c384dc7ea3721d4b139fc09243a86930c386aa3453979ae2b3a90e6673ac982b539c221dc3952058a3ac980ca3a7282303a40307537471fa339a5a7a43c60d2dc37477fb5373ba0ef398982403add393f39eb7ba73925883c3a137f713abc39f239e70d1b386b18ef3983a99c3c5273f638e8293b392513143ad9b9953c1fea7e39ee6d2939c62b273afab0a13c1279813938890839fa2c073ad3c83a3a14a6803999c367398fbc763e03b0403fc44a4e39c094f339733e593e57322a3ffe4af63951237d374b48363e28bf103f2d7f80376f53bc37671c1e3edd6bf63e4f2be93742a5b039db35f13dcf13c23eabedaf3988b2233895bd9c3d55148d3eff46ab37210d41398fc2373de470383e5fa4da385a443439852e3f3aebb9b53dc871a9384ccf1b3915c8133a08823e3ae161ed38b1778f37f868bd39373ba53a7ee6bc37c24a0c388607a1394b7e7b3a48be2638aa1b9e399289303a4192e33a1021013a3fac8f3775c4b93871e5723a75e0943762519639826d113af9ba4d3a9f1bc439c088c03961572a3a702d863a8bc7dc397f9417386520a939c912973c1e00273897762f385424a63997fa093ad4413838d1a7ec381e728d39c031fd394fdb2939916995379055e83d00d3613f13169837befd113866ced63d4d0e483f207f0d38f868a5397cb0ad3d5ba42a3fcd20c539104e9037b4f3903dde330e3fd24789373e988e39e962623df238e23e8a189239367dc039091b173de4d0a93e7498a939e35f18384120923ca4a55d3ed0740e38edc63038989ec0396de8e73d6bd51c3867e4f738ea259f3909ab043aa426eb3800000000000000000000000000000000b6c24a38e0b090392139173afe748d39a49561394d5bc6395539313a4b57d0399a1c64391a0c0e3aeb45793a8790083a063aea3802a96039bad1c6392c0a7339b6c17539a5edb339c9b9023ad9fda839cfa4f63898a96439cdebda39db8a2b39791359397fe4ba39c58f743a20858c390000000000000000000000000000000000000000000000000000803f0000000033d766385497cd397d1c613f5add4e394cbe5f3921acf639ba6d403fb40abb39c0be7a395392433aaeac1f3f8e74e839aa91de38a9999439ba56ff3e8ec550394edb70394874d239c3edbd3efe309039f1dcef38984e8339e4127b3ee346e138a2ee5b3941f8db39b6daef3d9c2746390000000000000000000000000000000000000000000000000000000000000000050c4736183e5e3634fb9e3626dac2375a366236d4f5633679fb8236d99aa43622e24d36e5b14a36222a6536bc9370369a929836bf4a9a36747dac365414b336848d8c378e099837d8cac1372ecfb937dff0ab36142e6537c8c17f37c6e2f036d40c0436e0290e3689d30e36ddd2063600000000000000000000000000000000000000000000803f000000000000000051ad3836fce07f3f474fbd38593eb0362fec623678bc623f2919d0377cc78b363c4b49369ee7303f8a6e6237065f6f361b1d9b365c31ff3eb0380f382a49b036fd738237c1379b3e0ee92e38a827b03770d5a9365bbddd3d345c25389fc5a73623400236c8fc0739e199fb36c7c304360000000000000000000000000000000018abfd343db9f83482a21f38226ed4376d103a35540a4635917b0b36818c8c36cc4db336e2b3c336bcf3a937d2ab11389fd68a36baa49736ec73b4375f0b093834744f36f3796e36c9812c370098cb37c85bf736ff4903371925ec37ba12ee37bb8db836735bd5362b33813755f1373747b4e6354236093631de8637d55b3b37caf13536283da036ef95a3371222aa3743cdfb34ac657f3f3529173b12ec783757173835ebef793fb071c03cb1510436ed16a336456a5f3fbc12283c23f8e43722837936b92e2e3f29a4db3af5c1ef3790c43f3602e2f83ee63aaf3a28dc6d3771afea36478b953e5430753ae01ae637ea05af36df7bc03db5dca63a181817378309de35e5ed58385d7a9138e0b730375e550f36596c5d3743c837387c4fa23720ff93357a7bb73518f3503853a8553779ea6c33a55f763329fb8637359e1436b5e13c3669eb6d36fca249371981433721480a36132c1d36f2017c36994c8036dd55283689ba683622dcc0369f3cb8366239383631975f36f5632437e6d5a236f1d49435c454b43500f3db3796a5fa36203d363651694c367667673713616e3672b88436b42ca43710003e38d59f2e386a407335842a5d3fc5480b3ef6cdf235328f7333454d593f3fc01a3e6a853b34abfd233698263b3f19221f3e2facde367112fd35225b133ff731023e21d15f36a9c7c935c931d13e5470b33da7bc9a363959263629767c3e6884533d33118336d3a691351399ac3d47198f3c362ddb3571872a369717af376039b838905f5d369230743612010e3829b883387f411238ed2a593650c7c737dbb71e385d829837d314b4359499e035896a493705ecf23539909c358b61bf35f7835a3616a7e0357b88713644e95237574e2438d471f937d9144535f5774b3559fe9e3571e26935783996367038a236f1f7ea364d10a6368c1b4c364e9579375ea9d4379fd252371ab7a4344d179f363b7781378bf69336e1f96c36a8ed7c36fb4d7c3766de7f36cbab4536693f2e3f4779a33ef068ae36bcbc8c3524232b3f24b4a93e41f0e0358e5e56350a1d173f4b13a03e1c14cf35a373463605a5e83ee3ba7c3ef6da56376a8a423531b3a23eed6f313e50614135fc928f3671673c3ee9f3de3d2cc69a3625113b3668b5483dbb8c1a3d09c35936bf679d34d5ac2c38ee42c23811e98634b6cf5d363ca5bc37ec207538674c7a36127c7b36053511381c8247385a332e376a94dc358f46623696a47537f5e3fd351f3b8236f61af1372d673a38f3d667371bff9536e8962a375915ad3799a228371ca81c360e892236d2bb8937fed61936025614371f66b73721a70238636b3c375428c037274b6d38d9e888389b42ff3743650e365ff80f370198b2374476f735d06a5e37c79fe737e79c153812d5a037db983536bc53fe3e9ccb003f4ea937361623c43515f8f93e3cfa023f98a0dc357ce67136d882dc3e883fee3e2c558236bd049336ab23aa3eea01bf3e2ec9913635a81536f23e703e5bde873e378814367e0f94363697043e0732293e35069636277c8c362c830e3d7dd08d3dfab0853636950536dd3baa38a2fff9385717f335bbe9aa36b6672f381f005238d924f336768c6b36d59f043861ee2638c2ea5c36d221a7341e2901374631e436aa99663413ae51363fc11437d0470537b6624536cb229536eefb9d3657f29c36575a8f367ea65435ca5e86353ec3a1358bba3435cbbefb37dd3b2538b3c32f38c2a38737908add3561b254374ccb9537f4a6b935f661063624efc63604716137e139dd352672a437deaddd370650ef377eda8637b5e86336237ba03e63be2f3f4cc34936ffd08334aabd9d3e7a1d313fe24d3d3491fc3436f53f8f3ecb2e223fd5660c36b2009536e6e4543ea59cff3ea2468a361f16463591ae1a3e8b4bb73e6dd939354f7b863784e2993d56fa643ea2116c36bfc7e7357974383c0982af3d0d6fa135b94a0036d6af9738420dde38a679cc35a4b14d37d9b20f3870cf163837588936b94000387fe55e38ea372d38c24777368c705b36699cbd364b353f36d5eb24366deee0353b6ce135a5f2af35830689353c42863605e68336fea95c36b3b23836bf97ad36a34cad36ffaa9c36211e64363f1e8236569f2e378301693668323336a3f54837037781376fe55c3773478a36bc42e4351e325137a1fb003757108433e54d01372cbaba378ef8a337ff46be3532b0bc379811053ecdae5e3f29e2593609d85536fce8033e570a5f3faed10836acf9cf35d89b053e5285443fce5b873549206c3629fbbc3dbf151c3ff3df1f3654999736a6816d3d855fe43e209903361f7c6936bf9eb83ce4b38c3eba8614360bc70e3766208a3a065be63dfa354f36d8799f349ace8c3839a68338552b72336d94fa3527794938fab227389a0daa3506aaab37cea30838bc8b50376e1726366f6923370c4522378e32f535cd38d43508e422378282d536c316b0360c5bab36d55a0538407d9e3711cafc368954fd36ac8d7d3795e5fe36f8fc8436d992783648edfe37064cce37b11e5c370074ac362d780338927e0e389498bf37c4ece7361bbd45364415be36222f003685628735c138b63745ecd93742ac5737adc8f234aade7437743b953a12b07f3f51dcc3350ca6c036584d843acfb07f3f2f3d9335eca7e036ab07dd391d84673f97d994365416e43752c03239c3ec343f2ef0e53666041b3789d5b8399b1b033ff7455436c760db3725452c3a6f60a23ee5ec943607afe23787242e3a864eee3df22fcd36549f0c365cff9738be89e338d9db493589f36c3748223538476aed3711f70135000000000000000000000000000000002090fa355c89f03519f5db355fecec351939a736e6689e36b1579836f22aa4365a50be3785007f3733c3ec364fa0863762a0af363709a6368aed9e36ac76a736a27b7936a90867368bbd5e367b885e3600268c36248b8a3690598c36f423833614f88337b5ceb93738712a38015fa7360000000000000000000000000000000000000000000000000000803f000000003eff033648ed093669fc7f3f9d41d835b9f0a736f02cd0374545643fc3cfa136130ab337fa8f1138a050323fc80b703711a3ae36f9c49e37f662003f83eea3367bc374363f234c37872c9e3e29de56364bbf8b369dc1ef37efcee93d4fcc7c36bbcf393721c5983876188b3950b57e360000000000000000000000000000000000000000000000000000000000000000b671dd351dfd6136a3558337f4fc4b37a3a65b35e4fd6d3691889337acb3a2379b41c335cc603537e0ee17387297093802a87b3628bc9b36969d8a37fc0f20376c9f0236be4e203798619137bf378636760a2c36d20d6537d9055b374e335c365bddc9358e14a53744c1a13772d8083600000000000000000000000000000000000000000000803f00000000000000004bace535f6c97f3f1deff23743ef1f3762f4533593fb593fd28608385c3c9337d576c835e27d2c3f26045438ba5a033886b48236d26efc3e771af437e46906375b7b08366e8b9f3e40cceb37d7304f36b7a1353669a4063e8b94a6375cda5f36757ed035317d853810a0ec3767590a36000000000000000000000000000000007e7c7335cd9fd73592dc1238df539536651c5236a4fbc436c8b0b037f0405637151bc335a319883617640338c948e436db193f3696b55d36d2a804385d36e33737e61637346743370e7808383666d0374520ce35d0334836459c0938351a1e377aa3d735798b92361175993735e3c63658e9a53616fef23631453838ebf6c53737e495357fd9c336c022f7378466cb3727d573358d1f753fdb9f2d3d2b3a4436582d4b36d5d16e3ffc19883d83272537314ac035087d4c3fb878613dd099e536dcf742360743203f0fba3b3d6a50bd37c5cc193769cde73e35000c3d38a9a5371eacd1355d2b8c3e5fa2d83cda04fd36d418eb352986bc3d32688b3c109eca366416ac362ee50c3805a91b3a86d59b3773a67535d3fc0d37d4708738f031ac373d20f936abb721371831ed38d5f42b3796da3b37316263373c6de43775377837ab70b535fd959136dc870138477fc2368d5a043711f124375e1e9038e1343b37dd0df93695781437b8991b38f6832337939e5c369545d136ca889c377fd0eb3691d3153799f53037d3e842384fbb3d376e2cef36f2a4173717f27037b9a92837519c9e36781ed336f631523862110937f3a9f43628e54f3fd948403e8ff92937b3c33737cf18493f97bf5a3e1f2b76374bf29e356c4a273f30484a3e4478b8365dbf03373d56033f236b2e3eaafc38370c11f7365ca3bb3eb42af63d121a223750c0583632b8553e363da13ded5ee236df3c163753e89a3db9c20f3d00983b37997df036228027371607663afc272737e8d4a0369ede2c3778d0a938c3a0f6364b44e13668e9333713242d398665023772c1c736bd4a02372279133805bb003748b80c3720192c371a858738ea432b377736f436fa1413371c14eb37d99b1237e54313378c5a2a3792f46738fbaa2537494e4d379f90123822b3a338f0ee8c37f8d8ca360b548437b9f881383426e336eee14a37991a66372e4f4638be04603748ec63373bf1753720a77f3857047337816fde363699273f9a9db03ef516fe36d490c2367420223fc662bb3e8380fa36158b0b374c65083fbb58ae3e06d028379da7f2362560d23eef5a8d3ef5a50f373e951237053d933e2f89513e4bab23372f114d37278e263e46140a3ea85f5937f3fdca3668a9203d4ab78a3d75c6dc3600fa4a37a3dd07384877c53941d55b3739c463378a890c382224063af1817037e1901936442f0038809fe438445c1e366659773756edad37301b8c38fed57f379301f1365b610e37d4853b3849760337318f03379f0d16371cc2c637e2470c37d5a24e374b7aec37c7b39838b0a05237f2f30a37a3c41c3715aceb374e6209378a390437818912377115553830c7ff3687877d372bd1893771c590386eb7803787d31e36e4c25736fce76c38594a3536177f0f363f9efd3e3230013f868906368c3f74379fb6f43e3474053f30ca78377ff1ec36d428cc3e3e27f23e7068fd36958c0137cc279c3e406ac63ef2840637d14d4e373321623e5cfe8e3e2b634f37236a0a37a31ef33d0762413ee9510537e21503372799003d7bbec63d9e6ef636e72c7e37bcf46a381331363af1547c37d99220367a94e5372ccb0d39cf202636e1897037ec7f4b3830549c389a83653719555937203a6f37f40e223877e64f375dfad836b1b1af37c2c34638a45bd53620755937e488413848558e38fa5d5237b7dc2537891432375605f737f25e1c371c511437b5ea1f376ec8c7374fa3063778f02e37149d14388c298838e2bf1b37c338043766860f37f7bb09385413e7363f7c033761b15737e40a1c388ddef936d6e76d3726f3ab3efee5293f6f5c5d373dcf56371f89a43e8aa92d3f8202453719b7d03672a68a3e1a491f3f40eec2366d225737c4ca4e3e742b003fc6354a3727eb24377baa0d3e3d3ebd3ea2631437a7c01037b203933d8c1b773efc32fe36195d2c378d34053c67fcf23db2671337715e033715360438f1eb6c3a3de1d63615f30137d83ee43785d668399a11ee361f76f536c80f4c3888e66438e4c6ac3674c425377c1232376b8a2f379be8f836b2cf39370b6792376a68c237f7361a37ca22dd36691afe36ab0bfa36c2758b367d4522379a8dc6379280c737069e0437ee1e3b37d5f2013860012d381fc5123735b0c43644455d379cc2d83720103a36e3457a377baf8137a1edb937af50503716972d3721033f37b4365c38633b0c37f2c5f3366f9d393e038e513f780797367ba624376873303efdae533f2573e036395d3937fff71e3e64f03b3f70cc1137a434d736e0b6de3d8e981a3fc2df53360e8f22376dfd943d6898e13eb9c1fb36bdd03a37e2f2003d9408923ecec20a379406bd361edbe63be55d113eb8f6f93522467a37a5670c3892ef6b3a01594637ecda2d37bfd78a385d25bb3894e603378db88037a76826389e2eab379c0d1b36c30a8e3782602c3800318b37bf78bd365d28d3366a33dc360093b236f17b2336fa4e1b3729164f377443ad366f6ce235ec37d43760ddf937b1268f37458f2f372631f337b3b80738569e773734175236aefef03617f2ee377a0f2d37aee83a360f9255375fec9a37112e9e37806aa636874ea436c7e09937ab947237b99cb335d0414c3743bf0d3d971e773fc5b934351aab3637cf96c73cde9d793f47da9c36bab5c83600185a3cbaaf603fb8f5d335298bf736c04f403ae2f8323f8dbccf3501b4a437d6a61e3aa833033fb77a21373400bc37a92d6139f9e2a73e8bc44b365736ec36b1d48d39da6b153e6216f5350f433937d3eeba387506293ae3f78b36e90f7e36eb42073822fad937ccc19f3500000000000000000000000000000000bd1c0c369b310a360c6564378c06e03542815d364eae5d36b0a6c1362d344b368d40b9360ca09b36c9cb15378bb20b36c90c3937545a083762312337bc778f3651930a38f8500038ce2b113868a73836980c9937b53b95377be2b4373b893c36b53f483716167d371f88d437438844360000000000000000000000000000000000000000000000000000803f0000000095b60f367b47a137d0f97f3f688dc135af6756362d204f37a4555e3f177a3736a4114236cd7eaa37df33303f583b0036645d043748dec837d1c8013fa9d58636313e00386a9f3a38ede4a63e492ce835cae58a3744f7f73776eb173e4710f835fb252537975dd037209d3b3a50f82336000000000000000000000000000000000000000000000000000000000000000099b2343603dbaf3656ab3938d9e8d8365530ba350b22fe36209c063851065f3773cd74352938083707301538c8043e3683244e36745b2e38870d8d38f862a636e887b136212322385982343870a138376c8e2b36c5d11e38b798a237e57f38360b318d359acd8d37e343aa35ae59993500000000000000000000000000000000000000000000803f0000000000000000d32e483679e9713f41cf6238dc85dd3624c0e13567c14b3fc8e04e38633d093747b194355d0b253f9e6a43382590433647965e369ca8003f65199a381184a836c6c3b636a5cdad3e82223a383949e336c3092d36acbc403efa03993729d23736244d8f3587a40b3d30ab96354cb89935000000000000000000000000000000005d0dce356ccf1b3796b0963aa748f637656ab935205f7a36916b183ccafe633731932f3316de973566652a3ae19bb83718f3be35537d2936076e043a841de4371f0f1635cd931f36d5c6f53bd1b027389d4b8f35f1a51f3610ec283c379f7037f811973561c62a360a32d03813dc7e36145e0c3562700a377d4a443a41c348373c2b11356724043749f9133a52d8063825d1d735f0b46b3f67b99b3d0199c537839ad135edff573fa6e2a03d57d2d53622132e330e8b363f03e5923dfa3f7d37e8f3ce350aa3123f7adc883d9905223721054e358784de3e8270393da39ecf3780aaa33514a3933eaec2013d6cd85c369950ac350c3d1a3ec52e993c6ba96f36da365035d0a49e3b3dbac33c3b549a369ff04235a956913748ff5e3c2eebab37fc9e7f35192be537afedc93af5851436350e6434db3c1936da5f713c68193c363a873f3617e32737c0bdc5394ad5223728e8893563efb536ec7d3b3c41d5e936346bcd35395cee365d70e43917e28b3649c52636b8db523605da003a71196f36bfc79133833ea8369998ce39b71a09363e1804368ceeaa366c4d6c39d452a636f9a99a35434f3737e6802a3a9728af372ca68235f54e463f3dcd613e5e030e36fe9d6d342298343f26235e3e08a43c362b0c53368158173fa732503e2060e13667c79d35afb2ee3edbe2273ea7567f36cfb7e8352d3bb83e4197043e2ac48b36bd432d36c056703edf2bb53dbce36b364d435e34d6a0023efc20553de89c053611291736abc311386920e13c0d6da236599ca935a88f1638d421393c84d917378ec116352038883861af4a3cb866a6355fabef363a0b293798c78e3cfee81d37511488367441e2369dfe4d3af542e1364cb51835d25598374a46173c5a87e735b46b25374b794b37d907a33ae7134537055c9835edc7b737547f023aaadc41360cfcb536fa8d5b370f023d3a5403dd36b56002378db22337433a433a44d31437bd432f35a06cc13732878f3a35d793351c1917350040213fcfe1b53e12da9b3504e8f536e238123f9d41b63e67531a37302e8e362c67f73e604aa23e269cdb363bef21357c0cc63e909e843e6370e53528d628376c85953ea7fc4c3e53db4237fc6bb335bf42433ec3aa133e01603436af3bbf365551c43d470fb13d1014d736ef9f0537f8a5933868270d3d14c0113760902d35fa148b3821ad9f3a304d973513dd503616312a38ee3a813a5b00b73616750c369788a638bec0563cc42d3d3600d86d35631122380b4acb3a46d19035c484ec35b3b3fe374807573af75e1036b5a89f35a89fb3381662373ae88ed1358bc90736883203384523193a2cf80336b9fc7e35a71c39382982413a2b138735c6412236a5fe9b38760ba83af8533336fd8d64368f2ec537ecf3873aff212437fb0e5b3676fffb3ed63a013f62626c365c66123637cbe23e3521fd3e80ee2c36fa4d6735b073bf3e2a0eda3e4fb28a3542d5ef353207993eca30b63ead7408362fc4a935b1276b3e61088a3ecd69bb358ff405363fd3153eb8684a3edffcff35598f8535d0c19e3d6dbaf63d436d7f35a5332b365f4004393497443d1a16253692057036ea0341383d078d3a30e7773607a494356d55b0381b24973afe0547359b6d0b3762482937d8abe33a41070d37981eca36528fab3709c3f83a6f40d336c1cd24366db34838b003393a8b49ff3548693f37d9155337c3e78f3a927b3437f467e5352d4f6738ba588d3ab0ea7a35a8e7d936c9a58f3750b30d3a5c0fad36de461a37839f2b37fb5fa23a705c0c378cd2a035bae681387bf5a13aca545435107a8f35a1c5b33ea92c253f8ce72f356bed0b373a41a43ea675243f91670537ebf7cc36a8ee873ee7bd0c3fde83c33625aa29363784593e8c34e73e95fbc23531cf3f3706ac203e819bb23e7fbe2d370d82e6350b47ca3d14137b3e3fbb5435dd65de36a3e23f3d46671b3e074f9d36c7311b37fba6ad384bf75e3de83f04370557a1357834c13882809e3ad8763e35913a3e36959a6f38797b5e3a98c0c835da2e9d36acad4a37403b823ad4044f360d0302362d74a6371189013a616a41356dae6736f03ba937c618043ab3fb3b3672798c3668fcc537787bc73970392e36afb4813626b549389d8fb339997505365585e23601f4a937c2fdc73918ba9436d73547362fe695375608dd3a60f6513550aa123645ae4338c84ecf3a7af6b03553c53836bd9b533e78cf473ffc39a93506c99d3655c7463ec6fe463fbb691d363028003639c42b3e6de0263f64e69634de4f653640f4053eae900b3f5d4d30360dcf8b3600dcc93d49a7d23e72b20e36e4d57f36e9525b3d6dee9b3ee322d135a6d1e236e44adb3cb05f363e24e98036be7543364576b63b4748643d3382e634fb5f11365ef99f3972afb73a3dcda23562919c37282edc39dddff93976ea9835ca435536ab72a4386bdf8e3ad695b53534997d363e7b4138c3a1a33896d5e73576bf5c367deb6b380ea79b385f57eb3563a6753742842939550b4c3a5d76c535fb581a3796fe8b382c82be389668053650e64d378e41893824429c3932a422346bb3ce361bbc8538c242863a7bdd2836dd28cc374dec6c3950ba4c3a4d190a3672a69c3749cd793d9e8a6c3ff8fa45356e975136ad83653df7ce693fe19e6535e9087436b11c5b3de4e9463fafb6be35abcf5b3612c8213d3f4e213f8852bb3525b864376fdde83c0168f73e072f9335cb091237092fad3c3d64ad3ebe4cf23579324a379507a03c845b473e9501313365a5b136490f483cc46c613dd0640d36ddb3c2370b87263a3d62e239aa52fd350000000000000000000000000000000091309c3558749735c11c5338e3778e3599093a360afc443686a96738435537369759cd36a904b437a32d353a8fd2de36de37ab36987ebe370da6b238331a80364aa7433651f7ff364ed84c383f10cf35e65fbb36bc79b63733f67b39c8ab2936d6eee1368276a83795a498391c1d87360000000000000000000000000000000000000000000000000000803f0000000035899a3568809635db45773f55508e3550563a3627ef613657c84f3f75e92e365c05cd368be917385cdd283f02c6bc36075da9363dd76038eb97fe3edb6d6e36ec4744360c9cf137e9c6b53e2eacb835b0daa83694cbea37e494503e203f113689a7e0368c6e0e380cdb5f3da1a070360000000000000000000000000000000000000000000000000000000000000000cb255c3529c47d3511118a35f28f943598469136b5629336112c103706382438f2ef7f369bd88b3636bf8f3674738c36e1f8b0356bceb7354e5f0536a9aee4351326a236c0f5a036c30aae36e202ad36a1890436a2e90e366cb91e361df51136bdaeda352da3d2356746e4359528f23500000000000000000000000000000000000000000000803f0000000000000000bbf37535230c803f516aa5357e529d354b878e363820643f04ee7c381b55e4371ade8536281e333f661b87364722853689b7d235a414003fa331f4357217e7359f4ba036e5f09a3eda4d93387ca5ab36f53a00366b41dc3d74e10f361d9b05365316de35db554c396d9fed3527d6f535000000000000000000000000000000006f561c35a5ce3337812002380710dd357f723435c48c7535a2afcf35fb83f635d46c8835b5e67f358905a6356ba2ba35dedae33523d4ec35c117a4368dd5f935f6d46b36ca5c5d36f5218f3802494938d6b5a935ca72ae357fb4b2371c511a37047001366a1f0d360bb513386d18143694f169363bb06d364153a1379f0b6f36f7f3163683ca183635a06e3775302236a2d2a7345acd7c3f7c676b3cac168e3504f8c6340078753f51c7f63c91bce33542cb5735dc9e5e3f783e8b3a8faba735dcdabc35d3172d3f746388394cebdf35ddbf59361719f73e7aff1a394bd9293888679a35c9fc943e31c44039c1bdc435fe25eb351f44c73de5f7c938e04f0c36e5c05136ecbe733966392539ed5d5b3606c905365e3c9c37c1411c389d3d18361bd39f34102e7337523f4738ddc58c3654e937367a54433681b9ff37191a49365528573448eb8e344204b436153337351238413619734e3679d2f237941fe93616692236338b313618a2cd3644632d3684e90436ba4a4b361256f237c249483740970f3680e62836a25032360bdff335dc25be35414bec3547a31f379eefd435dee0da333c030d342e6bd633e957ab3350ac9d34d1685f3f466b033eb49980345a8125366e91583f65581f3e9d314736453480338ebb403f7ec2003e147f03353bba39363a58123f716bdd3dff14483673052436daf6cc3eb3b8b83d3e982e361b80f035717f683e21eb8f3d949f093670b41936aa6a3c3dbcde5c3d189b0336de11ce35a1e10a3835303839c621b53523792634eeba5733dd2a9f37c482a833000000000eb79836ec7ec83700000000c19c563502a2843505da8f37133ea035aeece13500fc04367aa82b3718b72236bbca433649fb4d36c09e1e37e6683e36bacb5536baab5e36fb8ee936d2a07d36448d423648374036ff8f6136b18c5b3641d09a355a39af35f918703737c9aa35851b2e3681893237bb1b0e3876934536cc75e434f09dec34e27b33377c72f63400000000ccb5303f715fa03e00000000257123351f8f2a3f15bfab3e647c94350c8bc7355893153fc0b09e3e87fb0036d93f493683e6e43e4184813eb44e4036cc245b36fa519c3e3723463e5cd673361cfa4d36f9a1293ea63a013e74164436068bad350440bd3cd645723dfbb7903501e7373688787c38da0f6d39ac383b3663c2f334139fa0374e4b0e38ad66f9345dd4a2356ea8ea3722831238095df735dc9a263674e92e369a400a38249e4236a008b03556865436a20207389f64be3562d8c83507f4c9358f5c0c378610d235a49f4736d7612938eed071380b759c372f44c33586d0ba356a00b8371c51d935fa171536265f33387f799438bbff673793813c3647e34337a4652838c6813f36ad1cf635dd4cb43621c2a137e671a3361e3591356847ff3eeef1003f6aec9835aaece935e7e1f83eeb64043ff9411e3691e68d3503c5d93edd21f83ee85fa235740ba135b9d69f3e1f4cc83e1a24b035086f3036ba045f3e9167913ee09b3d36576eab35b55dee3d6bc63b3e55bacf35fdb4a4358890973cfad7973defc9c235cf192c36dee6c738fcdfbb396dd81b365956e5358841ff37a1283c38fe24de35039cf0344887a337f4f0bf37f048ec3496e63536b2a0b9370ee5c837a1732c36c430823552aa8d3522556935de7eae357ded6b36f0476a36189e543636fb44369c196636b763703657c060361977583604e84f366675c63641aa5b373f555236a1832a361fc45237c50efa371955fb35ff668c35dd9ea935ad3e5537c6746e3500000000000000000000000000000000553ef234b36c9d3e52d2313f05e7b434d09e2e368dbe9c3ea039323f4f551a362a056e355044853e6dc6283f72a2823592aa633661f5403eacac053ff1b03c36f6846d36cc67003e87c2c13e93c44436f4cf4136f83c873dd050723e52424636fff22c368838c23c7237ad3da089f4354bc7a635d2653138dca33339b21a153500000000610a2a37ec60b33700000000f0bcb933a5643a37e790d536b355db33a0a3cf353543d7351350da357da5d2359b0a0936ed2f08366431083681a015365a900f3643cc51370ef80b36aa20e13541872a361ef62d36e64a2a366af73636adb44336a7cc8f37f523ab37ea744c36b141ba344e9de734e2aac7369e1f1335420446363ea19037ce76ea37fd374f3689b5c536de209837cf20a237f974a634a8191f331e96033ed3c05f3fca961433cf83c935fc40053e97005f3f5bfbc1350410fd35cbfeb33d79a6503ff9edeb353cdb15366938813dba2f243f5c2de935d8f833363235453d9d62ed3ef9c63236b30d4136f708313d67bf8e3eeb4f28363899003581fcee3c0784c03d6ed1e734f5ca543628867538431e6d398d854736eb5ced345b942938270a1d385838a834cfbf00368f9bd237e267c937deb01736d16b6736ebc85c366e025b364b9464368ca20436f9b6f13515eb0036b4d30236d959d03513bbb33576adca355776b9358fa14e3887ba4838a22ab8372d732e374a17f735ea84e73516da0236ea6cf9356ea5b035e64cca351740e7358c8ad235528ce935b496ed35bf42dd3524c2d9350e90413686af1e37eafc94373a169c35ce9f0236d30efc3b4e7d7e3f6937ae3564033f36eeb4dd3bf29d7e3fc3862c36d347ee35e527bb384d74673ff2fddc352612ab3553d98538a6e7353f5611a03561fe0238a50e1b39f405053fa2b767364ef4ce359a21b238d579a63ed71ced350b87973527a809397b16063e91babb35a5fcb8359ad35e380fb4523c9dd39235ec59c5351357073803f42c380f1f8735000000000000000000000000000000002a81ec35f8e0ee35f31cdc354f17cd35f2e80736956e0a3696dff4353f010936c216b53665b19d36df469a362470ac36af2fd135ecc2d5351097c33589caca352be18f365b4a87369cc68436c39d8936c964943729e25637f3483338ad041238259f8835ffdc9b3547ac8635d1738b350000000000000000000000000000000000000000000000000000803f00000000fec2e735896d02361b30803f9bc1ba35b149f3352666153681b1643f035df1351561af360e87b3375ef6323f7f7e9d368f1fc835c2fefc351143003fc6bfb6352d2980368176a33678c09a3e6b2889363ee04837c597993813d6df3de78b063746388d35a241a335f0c88b3aba506d350000000000000000000000000000000000000000000000000000000000000000b9ddde34d2493d35217d563503d930359cd09d33ef74a033a9bccd3344e4bc330ce3593581794a35db39273561e245353e5489355e39373636e54136bcb42936604e0b34bf988734a5ab03356de32135b3252a36edd68936499f5e36c7c7333606051336ad9119376c51b43605683a3600000000000000000000000000000000000000000000803f00000000000000001a950035f84e793fe5e6cf369dfc4735098b88331c35603faf886536d2b4af331f0e6435d4d32e3faa1020352f5a4035227dc9354126fb3ebaba2e3739b02c364d510934f96f993ef03d84366fce083577e4433637bfdf3d11b66236805e2c36eb3c1f36675585380df5c336f0093936000000000000000000000000000000004f380d369b7e553778b56e39e50fdb366fe9c33510a49f37fb2de23841cbf03624e7c536bc2318370f103638421b3137fbb79d364d210437bc2ca1381ea51c372735d43577b53e3669b2a5382a0122371826cd36b1214f37df959a38b7232b373683e9363c798037a11ca7384d0934371105a33585114b36f4ab933815a6d4353e777136236fb43628c6a13853ebab37aea20b368015733ff01b4c3d0065da36475cbc359bfe643f35728d3da3fdec3690f2c53616694c3fb468753d11662f37213ea03690b51a3f44a74f3d53d61b371342d535361cd63e69ce213df8f861364467d1366ab5693e0a180b3d15832837497eeb36a1fb003dbabbf63c1b5b313716c2a635b2198638985fb63c9a71c0355f576236a56d0338b551e7384e42eb3646bb263550d30c380d84823c0b9b4a368596c735d64e1936ebdbca38f4cc30364844ab3334161b34bfc18938d5f7fe335cc20935afbf92361a84cb389fa61d367c232d354304a13505e143389298b23590917532a9dc33335b379b38174ea33294c50635f4c70b369f9f7f38118109363af10535b9a9ab35876e7d388e10ca350a226434c8c07734e76d4f3852fd9634188d4b35b53b513f221f2b3e809828361330d335a462463f02334a3ee84d2a36afd7a5330efc283fd404383eceb8ea33ef5e01357900f63e6611323ed569d935cd873f35f8dfa33ede48143e9043a53500000000577a103eb00b113e000000005ddc023518a488385479bf3d4cd7be356ed90a35c7132938af44823d013ab535d65a6e3477c7d2367d09073dbe65a034810f3d34b5c0173488cd053a136fb03310a91f354e715937edfe8238232d18359e40bd3460403237ffa9983875cafe355a28fb345878c436f5a9a4389362a8342a69be3583d8f535d5d04a3870bfae35000000002bcc9237395ea838cec5d2358201bd34b324b9349693463881567b3443ae20360139413695f1d338fc161d366ad78e363041a837a5dc1739145f31377869363410ef273f10e1af3e3dc7ad33309d553514f01c3f4665ba3e42fa0e358329b934e4e4fc3ed565b63ef1db7d350422f9340220b63e6405a93e6562a234f47fd035829c643e40ff883e07b8a93500000000d76eae3dcd2b463e1bc45335e763c2340c6b6838c16ff03dd92b8234cbed203641d987386313423da06e1b3653c593365d63cc38a5dc683c2ba5b13664829936829a2c387f5bd73afbd4b6366f9c2a36f0eb8338ca6df9387802403670a2ab36c1d3a337ba47943871fdcc36f052b936a9670f37aedb7d38fb00e436c1532a363e441c381f87a438c94b6736973ad236d97a7037603c90384d38e3369ab8ba36629d7237dbdda4388069d936b6172c362d8aed376ffdf1383805443625a5b636705685378b446c38e0a7cc36141096369cb4f73e4f11003fd60c9a3636852536b8a8e53e4d68053f2c0732369e7da636a719b43e54fa023fc3d0ae365dcab636c56e753e163beb3efb32ca3668f12a36116d273e9277ac3e43303f3602fece36ab4e383d97fd833eff08c436a6bab536b6389f38b21f0d3e2487c03685002f36fcaebd388eff003d65e734369b74af36af361e3853837d3cf0edb83632ee8e363e81073998702a3a3861ac36361a13361adc4c388591d938931f3236b3949c34c229ab3446081a383949b13400000000f771ba3725898d3823c30235ec929b35fe6981376dd43c3832ecd835e1b1c334e834e3376c26ae38790ee534ed690735fffaa3377e5ba138fedaa53521d90135cacd3d36711d7638082f85357f66c833da63d5335184d0370d85163490549836781ba43ed6572a3f61c08d36810d14368f68903e0ce22b3f4e4b263683bc99342259573e767b2c3f1dc0b634245a1b34271c163e4b5e133f0000000014d0a135f596943d1e33e03ebc36d1354944c634b1e44b3c59e29a3ee44df23455bd373536d3973861a11a3e7dd7b83436180035207129388a95c53ccbcf6d351094e9337dfcba36e952543aca702934a284a83400402a38886b86380bf65934b5d07435b548173871466e38d03a073569373f35a9aa1737f82afd37898e863500000000c1c6a937ad002b3800000000eb829d3501caef36a783d73796d15435fe7d933512fc1e38ff6ba438301cca357c5df5330be56c37c58c6d380cc12b32bb8a25366bfca036785da938f85b03369eaa1c36f7ab2438909bc2386ca91a36074aa9340d36183ecdbc513f971d533425079f3502def13d83a7513f3a8ede349a218d35f6a0ad3db39b523f7e070d355aa1b2326b7b1d3dc1fa2d3f000000004582ae3509ca1d3d3aacfe3e45ba5035cee4c035ede89c3c4a7fa73e37b21d35dffa253469fd2f3c87171a3e7bd24433a4fa2436c0c49c38f77ee73c99100036acf92c36f825b738f6941e3a995bec354043d6361294a338815ab13847f686362014c7353413343872f644382520c8351b303037115b103832606837c4d200373e6d2037c8b2b3374f70d337953ef43684115036d72c1c38a3902f38a5a0f035b4cf1937cf3d433811207c38b00be63626e32b37f8a53c37fe7e57389f9f0d37ef30f436f8ed6b384699d438812c92362489e63613416a38d3b801394fc99b368c6ed536ba28253ddfda753f199b3f36edbabb35b39a343cee95773f75e5a935ec983137c98fcc38055c703faee8d5364ca22337bd83b338e6fa3c3fd705d936cb1b5c360bbec338fef50a3fb9f2e435f3931c37ee568039c549b13e9bdcb836cfe32c3733417b386d68113ea6dbf636714ef4361ad0d33872dd153d602f4a3615eee736197a023905a9a53a6f7f713600000000000000000000000000000000324e2736857a5336a3a3b336b5ce3336cde01b36e12b2036ad1a393670cc463651688634975795347d73243482b611344d0225366f584d363d023936a2490336133f1f354f2f2835848c253504994d35d2a9a43379dbad336af22037b3d8c433cf403d35770d69352308883737b90b350000000000000000000000000000000000000000000000000000803f00000000d90e1e3693487836810b803f3dca1636bdde1b3684304f36f430643f80203f36e6514134841e2034d962333f7e280d34d0781a367b226e360885023ffafb033602aa1e3519633a355c80a23e265c653542d89833b70da6332a2fff3df018bc331fe83635993d8735a3afd93cad5df7340000000000000000000000000000000000000000000000000000000000000000af03613576cd87356228af38cf79b1356ca5a1358c3d8736a694ba38a9479f36e8aa99346d432336c3d62c38333d2a36a12e5835dcdc59380acd683885939e358a6c86360832bd384c884a37fb6f9436de8661358cb47438c9b07b3784eb0b34f7a88334897c08391306113865e8753400000000000000000000000000000000000000000000803f0000000000000000139d6c35ed27753f79d8a438e284b635b58ce53559d6513fff6fc1388a10a3365b101235b98f263f1b3d293804b929368a1c61358176f53eaf6a35387ffd903537609036f9689d3e0f7eac364c749036fedabe3526670c3e2af66e3510aa0b3461070c353a16b639f4c7cf35b91a7634000000000000000000000000000000009dc5f43275892d36ab800b3d4b322b3550df9e310bfead351252063dda2dff350000000000000000cf9bee3c56f74434ece5a133ceb98a35dae0da3cfbb0dc356a10dc32eb94e835a046d03c84880c3696d9e532c13f6d3509aac43c3e77a63506f1353369f3033677efc93cc0bd0f3655c0cf3201f25436d962983caf918e36b60d473006c7c9323498883c33858e356b180133abc75f3f0307463db0902c350b95a031a1a4503f0eff7c3da6a0e335000000002652303fee32873d92476934c7b1a5333db1053f2e4e823d501fe035886edc32c10db93e0473693dc8e3fe355205e9324a01453ecc58593ddcd2a63517163c33a5ea893c8fef2e3d98cb07366f08d132c5ef9136cfe54d3d74dc8b36060b6e310747e733677d3a3d0b0195353fb1ea33cceae035c90e2c3d3fc930350000000053f54737743d653d00000000a6e5e1311e54f531f074573d16320532686349337c28c5350fd7633de39a303502bd2032fcbfa0373a75383dc6994e33897c0f33a74b6135514a733d0318d03455f29832ff98aa35c691523d163d5f35e7bbec31db4c0732db6e043de9a9143245eab3309346c730a54ddc3c900fda3032f5f333e56f3d3f5950393e4393063500000000b76e293f37d4333e000000009314e53181f7093f5584383ea3770832f1074f337ab5c63e1925343ef4defd3417141f327708873e3016273ee83557333c6c1033f7e7d23d077e063e5b064f34b127a132bfe805393ba1b23d394934357483f731367d9638e380953dff6b1732b425b8307f4d1f370c0c723dacfadc307a3b8f32d37653369859013de0ef8732b7a31d33d38442387001283d3aa36e33e395c3326f36b83893b83c3d9fb3a0343fd0a133d39c15366a40693d5b1fbf3599d6f434533e4c389f5f5d3d5fd75d358876013401a85f38e94d773d62292936843b6e330f9329341fca533d2c4efa33866c2f33063d2433702c443d8278e8326fc6253427b5bf366be6153d1076863598e98f32a369153fbd92a23ee66a8732cf671f333746013f19eca13e394c87336311bd322022cc3ecf6aa43ee7c06b32e93ea33305b88e3eff9d9f3e6c4d91355c060435fd11303e6135833e1ec53535ac9f00358ece543db2884b3e02cf0d368335703357759b3842aa0a3ed195083487e62833028a183997d3a63db733e4322dfb2634fe090539fb35593d9b232135aafd98325127933701afa33c3fadd232c50825343fe89d36169b123d8b44af35f12011336184c5358e2b403de13ef83295995f33b34d993535a6823d57f18d33ed893735e1ef8d367a55413daeab0f360c79973315c3ad350e45793df4a16b33e521f43226c08c352c00493d8cf30933f4c9f2331e787936e31c643d17470d36e9c3e33266fdd33215071a3d1e0da63221499c322d89e23e26f5ed3ecb3dd632f7d321351fbcb93e47eeea3e590c093542a50d3349b1903e0c53ec3eb4a0f732439061332905393e4bbdd93e54969033eb14893577aa083e45cda33e0d9ecc35b47c9433f8075d3cc57e833ef88466335dc6f43225d40a3832be243e697a0b3341a127346f459c36227db43d1400b635f6c5de324d217f37ce3e133d04e3a13240ea263463d50939f8b80b3c20ae2a34e1b1c532734811394fb0933c2c0a1e335c1dd933eab93f379dfa143d67a66d337626c035a66c9a38f4a94f3d282bbf358c7c31353d91b9382c243b3d24b60435c340443518a33c3649033a3dda55c734d1e05732b18c6338b7a6303da9b8ad32c194a133de3540351adf513de6262d33778885321f5f8a3216da163d80ac8e322cb32f34f26d963e68e71b3f223728341172d332c89d733e4e7c1d3f398720332b3e1e3435f1253e6f821d3f761f6e334d98e13565b1c93da45a0a3f770675359a6936357c22453dee6dd93e1b4b05356d237d35cf70f9389db89d3ea82ea233d6e85f32f59452399823443ed92bb2321b12983348040539fe82b23d19a52633b91986328b6f593880e4003d07408f327fe3e130358fea3761cfee3b9260bf30cb993a3228189a384d70953c6544ff31aff771340cf82f387667ba3c45acb5329acc2433c0c4ac3561f8da3c77551433dbeda333d9c16938ce4db83c54b73f32c8dca233710aef35e4d70b3dac8760336ec60b328f6204320bf9143d899dee310000000000000000d610433d00000000f8da88342127c435c059fa3c9b80093457b8df305af5203ee70d403f9112b93042111a32392efd3d12ee403fd59bf531ada5fb3429c2a03d3dc0423f40b6ac32639924333344ff3c5230263feed11233bb459c33caad913c1d1cfa3e6ed81f32072e94348b4bf538f7adb13e93795833f6cd0b324a2f48386a5f453e100fec31000000006107e838db64743d00000000b87ae73456dd133839daec3bdd1102344295aa35c0562438913bcc3bc0566d320a208b36c1aab536b77b1f3b7d5cd4329d89f135b4525c36826e673c9b6b4e3387c5a535b7a5ec354ca9a03a2b5af8326886e135268d4f36a5847a3ccacedc321c89d835effa37366aafaf3c3708b5334d704f3441656035d637093d00000000adabce35fa684736c0b13c3d459fa13186cb2c35ecfd1d3721c9dd3c6172183378c79c350144273dda24643f6a131a327058893601a0fa3b8ae56b3f2ba5d032291afd353f06b6386ae9663f79c445332f2da0355843bc380fd53a3f5275ed32e8e4e63501948c38c2970a3f31fddb32f5b1d735e0cf6a386c85bb3e2493ac33270e5d34837c91384ba23b3e00000000c44ad0358e782238a22f383d8e64a0318e3720359aa099383c62893cbbad0b33000000000000000000000000000000006d1970342ba44d354ac73839ba7772354ccc08342ace45340f716a38bcba173635428236a5c79436f3d8e7381a789d36bfc077355b27a93594040b39fec45f35f08d20369eec4336428fe838d526b035b0539d361f5a9b36dc3a043c3cc431361c86b535f3b4ae359db40c3c3e547a350000000000000000000000000000000000000000000000000000803f00000000cde472342318a63597ed7f3fb501353520c70934face9a3473fa5c3feb5bfb356a0f873689b6a336fc4e313fc50b993655c085351a42cb352f4c053f53be633568062936980a4e365cfbb23ea7b48235af9e9f3692de14386855303e859f1836446bb63579c89237715c0b3db6f273350000000000000000000000000000000000000000000000000000000000000000f28b5934ede14d3447fe4734e8057534f341e335763a033614bb3536413f1336e555ae35fc623935849435352c83f034c7903c35c0924435c0183d35038a3935d039b535bab12236cc711c36dd71dd35b9bbf135f1ca0436a7c3fa35f1415a35ea1cd3357a5cdd365e157c35649b353500000000000000000000000000000000000000000000803f00000000000000003275283420707b3fc6ea5f3414eb5434b672cf353ef7613f9ec3863764cc3d36e25a4235c5c3373fb2b9bb36cbc32f35c01c2b35680f043ff31ac13697361b35c90d9b357c46a13e1c211637421d0c363d64a735957f0f3ec3abd83533ea8b356cabf634357ff43cd6689337aff5543500000000000000000000000000000000cab68e35a817e3358055a137aef3a0353137be3374c8c832109607355f2c9035000000000000000000000000000000009f1f9d34f9f6df348749b03422cd3d345d689435d2b28735282f8f35e3689435fcbc7435e4f7993551334f36fbe6a63558aeb834bb12d8348325eb3457259d34b7a08435b7dcef36fdfe85357f1e63350b67943406d1f3342b1cd134b3e4c7346b8b753537c1773fbdd71a3db5eee535000000009b84693fb596443d410a243500000000666e573f6679aa3b00000000a3263634cacf283f0910e63bc14c873441dc6935c0bef23ecae9053ce8458b35b0d27235959e943ed015d63b0c605b35e92a98343442ea3db6a1b73b9f2c6d3458088335e99d023b78467d3ccb4a5b353fb2be34e659d836674500381ac1773466b40134ccf8aa334c2c7635e7f24c34074eac33ba0d6333f9074533146f3e334561a433f128333353132f33a5fe4633f4f6a03363c8dd318cb42e3500bab5310833603494f1f2336109e5330f0c03344949503406ad1f34ccc523341fc81e34da8fab34ec26063466567a35ed3821345e01cc33d1839a324e4dab3214023b328d009b342a3375340c9c7834568e81345eb0583175655c3f9c06193e0ce6a23352ac5333f4d0523fddbc233e8622f6320953543395a3373fb694063e5a7cec3287979531c4870a3ff57afa3db4cdd93140fd0f343794bd3eecc8e73d3e25a2338e913834304e443ec320f13d8cc3c733fd52b9325875bf3c8800c53de070833423591932d163d43824a2203d4389ae32da265534fb8f9334131587340ad41a34ba344c34415f31346da310347a0c313400000000000000000000000000000000dea83434e77c9735e694c1353355c9340014b03300000000f25565335866963300000000000000000000000000000000000000004cca1335919e1335f12b213443f329346921ef364bfdb4358404a53364dba332a1e8983349b48c35a060673291cdc8356f0d263611212d362275e93595d899333763323f43a6a13edd8d1e3400000000b6a0263f84cbb33e0000000054918c330e550d3f2d1d9f3e00000000000000003a0fd33ea30f8d3e00000000000000000c53853e21c67b3e0000000000000000419df73dd3643f3e000000002bda83338b5c953c34e2da3d13d09833ed2820337dce9438d8d9b53cec81fe315bcc7c356da1883733913f38e942cd354cab1c350495e837854a62378ff32935adddaa3487ffb836d85f3d3569abc33447a61934a2b0ab330f5dbc33582ce333df29d434a6861835dab6e7342022c5343bab4d35bec5e23688de3c35c02b37350f25f934013e2d35c4001f35633823358a01c933111aed33c247e133bf05a1332fc2da343ab01b375e3d9d36ccfc213527d52c350fdc8f351cb416366b378035a8070835197b013f6a1f013f3e596935a94328346a57f83e8ab9053fd1bdab34bd8bb5333cedc33eb62b003f5ee9a2338de09c343fa68c3e7285db3ea9b305354c9a2335231f323ee84eaa3e824329355f7df9343e2b9f3d0e706f3ea518b634fe36a2338df5c53c227cd63d54973333ff07f034ac0e6639fd6ede3b379d94340d255735947602384f130639a607193514eca635f96f6637cd4dad36bada7335b6afd233d2afd53759fd313345bb4133ddb8a53469ff7934f2dd63346303443426c4ca34b3459633000000000000000000000000000000000000000000000000843ac934e1e201372ed7093562ca9c312552e934072f12354256ac35af7b8234000000001d31813739a5cc360000000006e98b343555c334b5208434ee5c803415856235d9729f3eec83333ffd3775345f257633d866963eb9d3313fe8c6a3321923a833b0b3593e86812c3ffdad36336283743363b5183ebeef0e3f0000000000000000d04dbe3d7c34d63e0000000013e2a2303fab543d064c8a3e00000000019e9e333ac3323d8fcddf3d938e6234000000002128123b70b6ba3b00000000592728346e739f3437b09434cf28063489bf5f34375a5634c31332346ea63a343b66b9329e779a3774b8c832787b323167efcd34c687043751a4dc348ac24b34a449ee3316a43934111d103483b6c433c383bb337e0e1a3449561434b1739833468294335deb3936548f143544848a31986a123391210e37a7db5d336dccff321c9af6325e9c6e37f393143508189f32529428349fdc1a35442ec03447224c34dd0fe033c1511d3e97a05b3f33e50f344b2e3333e55cfc3d823a593f065f79316dab8c347e4f863de927543fccb2cf304315c233e652233d92ff293f59cbcd331014b833fd8e3e3de9a2f83ea8783b33e12e2a32ae7b5b3da946983e8d8c9b314d22e93212c4673d2ca4dc3d166b8b325f2f6233bb29c53cf140263b2f3a8832338fe633b1a9243b7ea867375e9f6e314b9a9034caacb137838e94349c457f349cc38635b89ebc37501087353ae46735bb660835ead7b4349be7b7340950bc34a5aa75352d9cc23610b071357f8b6735932fa7356e368d352e2a9035b0dd8d35e45de534dbde7a37d14bd13433a6eb34000000000000000000000000000000008aae9934ac5cce37cb219837f0d4033507c2a435f9700e384ec39b37d9e8f735dc6b76344f210b3da32f793ff742aa34679361356231ac3c3146773f566652357613d734f0256c382264633f23d19734cfeb3d352f404d3a7072353ff063813586239135bcaf783b49b7053f0691843514d5b13421cb063c60abaa3eb65f6334000000007c44e23c41040a3e00000000bb35a034158d5d3b9ae3293d36a49b33b55dcb35ce8028395e066c38e7f38f35000000000000000000000000000000008b14d83571cdb735cc613c35bc3b563574612036b004a035338f3235589c56352c301636482af235f2d2d2353265aa35ae5d6a351ab52735307f3435be293c35e163b935d919393564c72c35ab0ef434991a2c36f520283727f8a0368713063669767c3488a53634dd735034fd1658340000000000000000000000000000000000000000000000000000803f00000000d055b9353ae782371ba07a3ffbc7d03477e11b36e51210369a3d5e3f5059b83543660b368a034036b545323fd7218b35b4c13b351ec31437ffbbfe3e1fc3283550bdfd352b0b9137b350963efdc5963553172c369eb8be379765fd3d3d83f735df045c343545d6364635e33ce98d3f34000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063cf7331e1bbeb31a3b3363200000000000000000000000000000000fd9df5348194b735e3e8bc357c5b303572d8d7308f8b8031744edb31536a0f3201143032b24a6a3260fe88324ad7903200000000000000000000000000000000000000000000803f000000000000000000000000c734743f000000000000000000000000b749613f0000000000000000b82ae4308efb303f11aeed31e0783032000000008db4fa3e00000000000000007f28bf3492f38f3ed27db33544bc543577f5533166e6c43d4e07d031abb9fe3172b1423265013b3b86fd70327197923200000000000000000000000000000000b49e9934e5a18836325d363a86738c36000000000000000000000000000000000000000000000000fea6b938000000004b0e72345530d834749319389a54b934000000005256ba33c15f083965738634f2678d347f6f02351b5589353bfdb8345df08b3313d05634d5796839acf2b6310000000021e50232b0faad3413374a349b3fd634a9c56435aa011d396ce3aa35e857a63413156c3f7a916c3db108a0360000000035a4573f03068e3d00000000000000007d12413f65ec913d00000000c78a54344174103f7f30703da5c89f34000000006037ba3e301a403db02f4b34f5bb4f34ed373a3edaa7123d70c86434b8af1f32fc15583b292b213d000000000000000081066834fbfa473d863395321c7ace344119ae35d16b253d2ff6b835e36b8935ad8a523693b0463d3f3eab3521f2133484d25534a9561f3c67e03f34edb32333861816342ce1293ab1061234000000009fe6b735799f0339429ce2334af31f348da1313415117b39bf98313497ef1135a7823c35b81da9391302f734000000000000000000000000000000000000000000000000f7ef9d3900000000619ddd34ea2869353efc1a3a00d22035f0b087352655473f9dfa223e379c733591e3183469003a3f4007563e16d65b3457f72a3302c4183fa856503e6bf9233400000000999bce3e7e08503e00000000878c0834e12e6d3ed8db413ec70b5e34c4bd0b3503d0223de7c44a3e15a1e834000000003d752e35f6091e3e00000000000000000000000076ece83d000000004f75cf34520ba9351911c13da3c4f234bb0eb83408e000361186023d3efae5350000000000000000bb61e13a0000000000000000000000002f329439000000003fdfc033e87990342be7a339a32db1340000000000000000f20e85390000000037be79348116bd35401c1936428b6c35bc30122f25b225349e25683ae14fd134521d4034d3053334ce10db3a3475dc333f537b346d59143688b5863a8fc4093618b7da34bb29213f6a0ea33ea3f4903500000000bd250d3fb2f1ba3e00000000000000004c17d53e1ef7b73e00000000958ef332d76f843e7370b73e0e5a6b34000000008a9fe53d9f6bb13e00000000d6374734f1403036cd27993e5b22d63400000000648370353f2c5a3e40770133c9c02b349e5f2d34851f033e62ba0d344bd8cd34c8ba3836fe46963d7e1b0236cd7af5340b8e0b3670157a3c4fef633500000000000000004e73a93a000000000000000000000000c1796a3a0000000000000000570f0d346fa3413ac45a123400000000000000004272073a00000000fe85cd33d1701c3409c65a3a14f6d8320000000000000000e8fb8e3a0000000000000000000000005c74a43a00000000b7c118359912143697b3463bd3394f350a49c9343116e13ee4b7ff3eb28e153500000000502fbe3e0c97043f000000000000000023a7863e79c3043f0000000000000000db45093e49ca033fe80dc53300000000e1ad6f3db77ee43e000000006768c1309c148c358e89b93e000000000000000000000000a6326b3e00000000000000000000000055f7f93d00000000a4fa2335bac96836b6aa673d598b26351ea9db35550776367982033bb42c8435385bdc33a7e36f343b21183a32fa123400000000b1b06a35ada0033a00000000308bb2349c081b365bb1fc35044621350000000000000000a1ce7337000000000f8a873440990a35d286c639b672ce330000000000000000a008a53a0000000000000000000000007ac43c3b0000000011378035ec8c0136e946753bc30a9735bdf3dd35e662883e3e252b3f84470635d331f4336987553e19f52b3fc036143400000000128eee3d398c2e3f000000002b96b5349fd01b3d30262c3f8d186334000000000000000029e70c3f00000000429de433f2fdda359a97ca3eb1d49b330000000000000000be7b703e000000000000000000000000fca5ba3d000000002f0d8135b6c50f36b5b4fa3c86a54635c9d6b634d8959535243cc53a943d30350000000000000000ff74f6390000000000000000000000000000000000000000760fe8340ca0053582a81835f5f42d35ab8b7e34723649346c640d34809702340000000089e05d35a262e93523b7a534af430434a08811346b4bde3a2c4a0f3467437534659a5d349896283b4a941034d4cb1b3502370c36e1058c3b2758dd35b96fb334232dda3d0df84e3f2d30e63400000000d5a8a43d9d4a503f0000000000000000b28deb3c6257533f00000000585bb434917cde36216e453f5e8d2335de347534a8153c3483a1163f49a30f340000000003b6cc3539f5cd3e000000000748cd33a69e0d343c27563e262ca033326b6634d0cc5a34b7b6783d79172934368460357b852336f4bba63cf657b635536a9435ddf84f3685be13395eff0435000000001cf513344848e034000000000000000000000000d43c6c33000000003b9dfd328348993458bddc34f8ee90342857bb3275cd483400a892345f55b5330ac49834242fa1348291cb34180e8834000000000000000004b5d2390000000000000000000000006aa58e3a00000000120ba0363965d8365842443bceaa2635c20ea835bc39043c0382753f0b529534000000000445ab37759d743f00000000000000009574ab33b56e763f00000000ad2f9c331e7737356ef3493f946d023451282b34e1d8ae34373f183f0000000012f90c346db4ea355dd2c43efc4f75340000000000000000c9e2393e0000000000000000000000006d81bf3d0000000079e2a53694fdf837d7ddbe3ca77ddd3400000000000000000000000000000000c8d2993251bb963264f28932ddf33f3276d02731432701321cfcd93148f6f43045383135a3a66c3571108b35e52466350000000000000000000000000000000060503e3116882632a20e0532000000007c483932000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000073a687323e999b324c6e803fd6dc4c323c569831d12a0432a1af683f8af7aa30ec064e3531e48a353f40393f9db523350000000000000000fa3b043f0000000030b6d131e975293208d3a03e000000000000000000000000fdd6fe3d0000000000000000000000001d53523d0000000000000000000000000000000000000000000000000000000000000000000000004aa23934c295a8372bfe9038b73ddc35000000001c5e5c36fea91e39945d923500000000fcd5ba38ae39fe383634d634e508c1335170a7379714c236c292163671c4f73169b908397d135b360bdf8635d7045a344a0947394ac701359a9993340a1a68339c688d38e65890363f22e73400000000000000000000000000000000000000000000803f0000000000000000c02e8334da1a6e3fb0beec371e0c8b35000000004427583ffec7f338c7ed2535ef601533f25d283f9d70a9380f7b7f34996cf633191fee3e4cafbe36acd1c8350f37f4312b2f8e3ef61d46363bce193532068f343219993df13b0235643d6034d6192d3482d556393eff8336155b0e330000000000000000000000000000000072bbd631aebe1037a2be723da0b07035f51d8a3410e557362d56813d4994bd342cb9bb3302b5ff3575f4763d3e838334acf4c333a94507379d9e713df84c1235ecf27334e1626d36aeb7463d0a26a4345d59bd3356dbaf374087323d0ce78034c4fd8e339a5cee35439d513d007d2035d1669733ef00063480da6c3d543aca337064d7330e1b8c34ea816c3d7038ad34752ef532c598513f57a58c390dfa6335b1809b345ee93a3fa3cdb73904b1ba348c96c7338876213fadfadb3bc0f7403455500834c7a0dc3e6485c039826b0d3562c08634ef1e7a3e20b0033a5e0a9234a914b1335339263de632d039ddf427349cd3de33b70039394d023b3b457e363435e19f33e529c138c524c23cffad9433237dd7334aa71b372144533d0b5f3334ea79c933f969b5370c450f3e48e1d93372d2cf348f9ea1369e31143ecf51ca34bc6467347ccc8935ee240a3e4f90f2348c5fad34b3530c38102e0f3e2df8bd340bf4d934bb33c136d8b7113e21a9c53483c7ea33eb4a3a35501a163e2b97a0348c953e34087082348c27113e89493b3439508f34f44380364dc3093ef01a923523b0ac33578476354ea1e03d3b9e823466bcff337e512a3f5503923da274df3355cdf034982c0e3f1e41883d9386bf34f94c5b344e96d43e76a09a3d6912c43446fcbb34ecbe743e922a8c3d0e3fbc347b1ef834f60db73d6899963dfda3b3348cd8e1331004643996c0903d54693734f6f25c347471c2377d9ee03d377e3c348833a0341184a537b517063eaec546354c3caa33eed0533712defa3deacb0734d5adb433b2a82438c60f403e23fd9534da537234c3a294378c945d3eecf43b357516d933ab92d9361ac7493e9d768234a7adbb325f434839e5a4493e892d3a34f6274034918881364e27493ed57cd835f363d833b5ed20344962523e72413d347b4d61347614ba344b28653eacb2403415b5ed333ba10b364dc65b3e70ebe8352fb23a323542f432ddfc303e81c09134b6f306347262e53eb4bf0c3e12ef5434c73174344073a83e4af4f03dbf47b334ca1d1f34b4bd5a3ee4040b3e56dd7234b5960b331f68a53d61620c3ebe79dd3304996f345b43333994660e3e5db52b35cb3f0334feef5539a2472b3ef65b2b34c06f7d345c7724392f30343e0d43373443b21934e691d2386b46063e58ad5e35f675bb328ff81e38476cde3d7a7d45339185c433f0180a3966ab3a3ef7e64134a8c85d3429849d388df74b3e08be81342187f533297b393882bc393e8bb56734a36c0234d3d82f393cce443e573605348d0187349cefc9347cf2493ea3a2aa34bbf7b2333060a73679c26b3e57974f3444c60834a5ccab3495d7573e76530e34a3374234bd7fa234e375583eb6e88b34ab4ff333537a29358fe93f3ec8d3df3470ef0e34752d903ebded8c3e0bb30a3417fb7734132f343ee2e7853e3f455e340b4ef53352fdcf3db977933ece541334d24920349aa4e3394d428f3e3c1fea333c719734712b1d3988179c3e278d9d345faecb33d3699b3994bb9a3e97f1ff33b2f32834cdddf6384c06643e98260c34a5575b34ccd0a538c4ac203e0724823439db0234de2ad6381a28a13d75c6163461d43533a90644386ffc0e3ef350cb32d4406834577642394253143ed3df2f34a13c24345399113927190a3e55f3a234e04a21342bfd0538774a183efb620e34f62baf3457ebc93651873b3e26e60335fb543e33fce5213814e6413e3b23ea3335f719340a17a635b1bb3a3e94b7373495864c3450189f363d99373e3a3539350dd70234396c0135e802263e13067e3407837233543f053e22dfe73e7c28c732c72bb334c73e773d73d4e73ea3521834d9731a34b4fdc739433df03e47467b3467a33934a31e94392dcef63e46570d349f05c734302f2f39f21ef83e951d6d34e77b583338cda039abd2cc3e3c493d32889d4c346244fc3855de8c3e915a4634ba32653479b71a394081253e3c728c34e3e225344316ed3867178e3dfac9a7331b0c19347297ec384131323dc87e5934160e0f35b7513a37c0c5503d393f0d35083d253475ba44346079f63c5bf66534efb14f34df899d3604ec763df6f04234f7d3983499de3b36f00dad3d9b893635e443b034a3ecae34ffeada3d693bb534b1f3c334c335fa34cc2fea3d60347234811ba1344e250b364e5d043e351ef6341bdfbb3375d2cc358cf4bb3d1b3e0234d6a32d3499c2313d1b412f3ffe14c733cc942e3566e96739f4c02f3fc3f88f3451d53b3405503a3943c0383f967a4c3447cf7134c50b693944c5393f4cbb0b34b278b634919bb9388d141d3f5b5de034cc40b934b7ac3539d9eee53ec8a1a534d0cdcc3484baf2389f2e873e03dc5e344f2eba34b882c8384366dd3d7037d8343f7be1337ed9e637b1970e3d69a9dc33ece15d342072fd38b216143d7d5d0534ab6090331569c5383a7d3c3d46e9ce3336941a3487c5f635c2f6a83c35d1423484242234779cba348d13833d69d7e43397787d3453146635aed79d3d000da134cc72a634ed3aae35de15d83d5c134b3400e333341c10b537a45bf93df1510034067c9d34747de9349c74043ed9c2b634bb1033353af115373851ad3dac23913435b77b34f63d8439238d5b3fb7a3ea335c409c339b1a8d3901d25f3f269099339fb31d349a204e3966626d3fd8f0b133d5044134e9a35939c0775a3f568ace33d5988c34dd3b0339b8bf213f727d8c34a31bdd34a3514f39cb66d03e05bbec33a9475134102163392afb3b3e962ef133322dad346d943f39fabba23d127aa834f1df4a35b4571539f5b4243d518e8932000000000000000000000000000000003f7dfd32cf180b3658efdf384cf66735db48a933bff4b83450ebc738d353b934e6551535ef4baa35ae8acc38a8eaf73185627d35290c833685d45c387499fb354d983033a586a535e89684399112e633d1ad4932c2c6c835a677053d00000000c5de6a3523936b3683c0473c9390ab340000000000000000000000000000000000000000000000000000803f000000006be6f832940c5936372d803f95abd33428d3fc3340c4eb344b366d3f57486934bfbc0c35782d1136e360393fb0410332b73281350222a536ec4b093f04429734320ad3335c571036a300b03e00000000a53f993456c18f37253ffe3d0000000015c6403516629c36cda1743df9e383340000000000000000000000000000000000000000000000000000000000000000cefefe367a0c6237b6a5a2371ce0b237aba1d2363936de36a3556a378b61b8379f2f0538288fea37e00153383a8a8d386807f037bd10b3371c393038de526138f8de56375e7354377861803734ac8b37b89bc937b20bde3702c3ed37f1a60938a130b437c34bef37bcc4d7376607d93700000000000000000000000000000000000000000000803f0000000000000000e6abec35cb207e3f6610fd37d1c28e37bec9003672eb523f03bd2c389a446837527caa3728b5293ffd18ae387c556b386a9aa3376c9cff3e192c893852772b381d2c3a37f01bac3e9734db379e9f873716c1983787bc323ea94e3e382b7fec379ab08737f68acb3bf84aff37d93dd237000000000000000000000000000000003676bb3698229937fec509385fdd9c37a8fc153635cb1e3765a61238c9c4ef37af20ec36ad38ed36d696913773a3bc37f9f20137708615374c94d837888e1438c7beed3717f30238bd354b383bf06b3816d1943687a18837006b20385cc13d38a11a1237820a82373bbe013862db1e3897815237da1fd537d4edf8379b7bf5370d6bbd37a789ff37e40f9d38def4cf38a8e0993686257b3f8cbf993cd36bd63612720236f835733fee19193d61b845370b7cd4366a9f4b3f78080e3dd0507237f5118f36b1dc243f6e08da3c61049e37e7bea237c210f83e3e58793c70e629381f0b8d3690dfa63e24a72139b2820338c852813659392b3ecb8a4439abaea93794644a36b023f33baaa021387886ca37715a8337523b4138864f51399eed0738bad49c37f2373b386a054e381ce01a38c3596336442786372dfccd37be32b03710951a37c96c5f37e317a437e308a7377845af37db92fd3742452538172927384dd2e7363997c137d0792a382d223538efaa0737250817374c76693725026937037fa737a791de3741ff0638562a0038cbb4a237b2ae1c38d1503b38896d2b38f0500c37355db83748f7da3706b2af3702ec0e37e1d2513ff13b383eb603ca37a1cd4e36bb8c4e3f4186453e0d56f6362117c936e9232b3f3288323e176a47376fcdaa3646f50c3fac46053eef30df374c70d03588c2d03ebb6ebb3d6fdf8f3759cad336c1d78c3e7962313d6e841a37eb0a9737d4031a3e99bab33bd681c2374338d036723a673b15507f383000cb37f3b7ae36d82f0438a285083899732737d4dee0358775343871da69387d6bb9368dd0e43556e52d3876374e3880cbd73790591b376f82c337310600385359c937d6916036e2d1ac36a8b71e3798fef9365e16b7373d08db370103fa373280f23775229c37022ff33755ec593819842f381387343673f69e36ebdd093819989b365e3e3337d777c1372f0dea37cb849237a81ca537a1f315385f5929385cd105382121d8359b31293f5c7ead3e3db2d835e4b2dc3552b7263f3c63b03efc7fe735fdd75c362bf80d3f096e973e5437dd36e0a42f3608c6e33e018b6f3e4931563644621a379218a93e2d962d3e55b69537952513378a095f3ef655d23d678d783706e7143639fce03d6827203def3b35368c7e4536b1b299385b918a3823f8e036edf410377db74638ceb8503888ad853729c6dd378466253996aab139c61ef5377c0cf037b5ec4538d2da54384279143871562e3750d0fc375efb1738efe59337d878733753af1a38da4c35385502f837f08267380b938338eeab8c3853247f386f9dd5370fa322382e303a38324d02385f60b137dba905383edb1138e43fe2376d1a25387e064838f15f4f3839263138969e0538bf6e1a38026f3738920c09381f2b8637cf91ff3e81fbff3e7e488837bd024037fce2fe3e3274003fa7e762374381d83669cdd53ed7f8d73ef292f236f295f33652c5ac3e60c4ae3e79b4003708df29385c937e3e7891803ec32e33388791123769b5213e7a09273e3aeb1f37189223370d879f3d2cdfa83d856c293710c5f23768a97b3880ab7d38d33601381e73e9374f295938c2c51339abe8f237b69b5c37bf1651380de762386ad53a37538cbe365171d337d5650838fed3b636ae873b3631018736a1ffb136b17c3136cb2ec0376155293854980c387455a437aba6d437cca2ee37e2fde737f3b9cc37a753da3668730c379abb0a37fdd9ac367a5ed2379474f73773f2f637b319ae37c8160138a8843038ac353738b565f537e33e0c3796855e3729998d371149dc3692470c374575ad3e092a293f965903378f553a36bb6aaf3ed030283f0bf83636565412363b93953e7d0f0f3f5eb80d3681463b37be8b6b3e5afce53ee38adf362ee68637e40e2a3e2cedaa3e02702d37c71d623605ceca3df761633e68283d36807c6137c2050b3d0c88ec3dabc0d9368d303037b31683384e267e3be42b8636e9dbe035dbe6ee379cc93038c32fe235e6903037ce280a38f04221388d5bb2367190ca3759723738f73a2f3804cd32375e88d337bf62e53752cfc8370049a637fe264f37d86b30378367123734400d37cab51e3899631838420eec373bc38a37a8ea1f382f92263832a31638fe35fb372f42a737c3c0a737ac999437cca263376ab7af372531c9372aefbe3799a049370467223857e32f3893662d38b4780638c7b5b136da20363e3766523f5ba8863647c20d37cdcf3f3eb40c4f3f1adcb6351431a73787a12e3e65632c3f835c833715d21037c0c6013e26040e3fb72fb936df1c5537bb2cb53d99f1d23edcf2d035fd0af237e58f213d76258f3e767377372a2d84370bf6e6381fa0203e98680e374dfa82371a19213826438f3833eb5d36226008381cc342389a1f423894e2b437149f0938ab18b339230439399a449d375881d8377f3aef37f7ffb437d889df36b66aef378869b93723b51b37215cf836aca225384e080b38ebc16937acbe1c372e6a5f381c3239389a460e382af00c38df170e38b51dd4376f025a37d6383837ded9aa37607c983738d97537f0ee38370fe0f7370f00e737b61edc3726d6153721e0a43715e797377d8566374e1fd236139ce037a074823c5ca67b3f785aa636204c8b37342f0e3dac24753f0f063b369b0d8537f356003d0f124d3f6b177e36ea32c8371ed7cc3cf60f263fb0898c36c46324388738463cb3bff93e5d9fb43708cca63788326f38a87ea83e8012aa36e3908b37ebd0a03837d42d3e90e5eb36622c8d37b5173a38e3b9493cd2ff1636af1c03371034c837672bd037faf4be3600000000000000000000000000000000bd98cc372f36ad372524a23780919a37fd2a1438af55ad3768e185375d1ab7371a428f37debb6d3791c43f37086e6837c93d5c386f0b1138f74cbe374eee2438843b8d3811ac5238a5612e3872584d38e808bc37918a7e37be79843737668937760dc4371cf1a937f7efbc37f65b92370000000000000000000000000000000000000000000000000000803f0000000082f6b537560d363844527e3f5d65ec364820c437cbc053382d39533f51247337c7a68037a717e43747d9293fa06f3037c43b263836fb80386d0d003f87fdc8376f6c6738baf59d381932ac3e7ae80a38403e7a37cf97f9371c06343e699e10378717a93754c5cb37d2d6e73bbb42333700000000000000000000000000000000000000000000000000000000000000008d565737c8433f38e21b3538398006389ca47137d49efc37fe7c03381145cf370412b737d6185638aa311b39b376ff38b3fd863766b53138adb25c380e244e382517dd37a1743e38dff32e397debf338a22e4e3746850d386a7b203850310b3843d4b43728a72e38c9ca25385a60093800000000000000000000000000000000000000000000803f00000000000000005b186937181a6f3f73225b38358be237ec5e613776f5493fb28537381046b637feb5b9371fae243f5653e639a6a73838d95b83371161ff3e66685439bcf62338e69adb37d7f6b43e872dcb39080b0f38957b1b377e64573e4d70383846d7e337006696372c53823dd8523238ded3f33700000000000000000000000000000000fb06ae3641e4e138d1b84739a7a0f237bc6ac036f13ae93759d7c53979c9893766bc5335a54ede37f9378d392db9c6378a2f8f36ba75e537d468fe381c580b38037f11362bfcc837ddeec239e15a1f38d6baa134ac9a863760d5033af63e3839666a8d33ac2e75375c6c053a0930a338d95e5e360741c53727ce1938ac85a337054bc53624d4de3774c63338538ab43798abab3616a46d3f6986913d254fb137e77fbd360ed65b3fd5a09a3d8ce10d37fc813a35ec5a3b3f991f883d523eb4367ac83e3641511a3f9a9f6f3d89e1c73705600f368fa1ed3ee3ed143d7a1b943769d69234ee6ea93ef77a5a3c23fe48371db28e33fb2b493e6bf1753a67d41f3718dc5f3670a57c3d33949f38ed703f37d29bc436c83329384cdb3a38b54d9437b911fb36d0bf4a3841d9b738f1985d371f4a8036ed2b33382a615239dd4146375dbed63599228c385ea3c4382a0fe33772e044367244b737e4fd34385f9d4637dd1f9436da7459383c6353396e890d38d1892e378a2d403809ac6b3812601c3839ed7d349f0abc372ef42e38d5c81a37515ccb3593760e38ddd2383818cea237fe613237101c67388abb88380b65363854e0f836b8ca483fa7735c3e795f1a3766417a36165e3b3fee4b563eaa4a0b378c91013538181e3f2deb3b3ed02d5e37277b3136295b023f04f6153ecb2af0364f202a366f51c83e6201de3d103b6137cae19836eb978e3eb43c873daf86eb37102d803412792b3e396b013de2998134c15a4c35ca10573da8c98b39fa0e3c3728bbf03623188938317ac7389cf50d38f9128a3729b5b838be64643966871c38a9d46e3677243b387229093abba696379c099f3406db7037f9050b3989a3d135b63024376e643d38d4dc87391c64f137f0b5e036d9dc3b38988267385616b237fc7e8536149f2e3873876d3806720d3707d2043724788a38ce40c33802619937a4aab936e24a2c38f0c2a33994a3cf373d028537c76b4b388e756738f8c2063853eb0a37fb33243f1a37b73e646fb237b22a67366c8b1a3ff0d0b13e1d26083756129f34ee12033f454f953e170a9e3445be5436cb17d53e930e733ee04e9a3796809d36e5e9a33e3b42383e42a70e37f4012e36846a643e5396fb3d63c0c236fa269d36f56b053eed13863d9ac048376b7d96361293243d3b72183c05b1693792a175370b8e6b385dd27b38fe06c73756eb9236e512c23876c00e3a629c95360ab3c536b57a81388962073a6bb2c63617b2a63245caae398e153a3ac9182135d67673378d928f3a7cd9bd3ae53ec5378adb8e36cbcb4438f4b235394b8a0f37254f9f373e2d8d3adf7dae3af3cac537b91ba032f7ba4a39e86deb398423b7354a1cc63662695738153b7838c0e7193762db9536b1d562388d979138d9b5a53665da91360bacfe3e9770003f9b6594365476c3369ea1f43e5e2aef3ee0dac4363d0bab3211c3ca3e7188cd3ea8dbb332ff9eff36fbd8a43e8824a83e6e884a37e7da7f3655657d3e2a28813e859b803666de3b3784452c3ee674343e9c036037472ca632808ac73d9ed4d33d1635a032f639c7364457823c0d631d3ddcd0c7362d50953639cc983831f1b638a9559536ec979037680b7a38000bbd39f17e8137c73522379a1fb8391f903d3a872fbb36c6a83e379061b1387f7ecb382d091d372409d73611434f3851c27238f971ac36497c513795064d3809d15e3823ae0837f207d537612c463821e75c38dfde9c371f4fca35723d783727ec8837a4795235908e9737f595213839862c387b034737b5db27383bdf92384aef9d38774d2538a9ea7e374f05b63e17cd243fd9014f37346b9736de96ad3e8e231c3f3baa93363b34d336fdbd923e0c6c043f75f34936d6f888363b226c3e24b5d83e8ad6153657790537bc64313e3b1da73efc61ba3638469f37beb6ea3d05e66c3ea989093744f4523539f0693d78420e3e847c9e34e20d6d37512a8639aec0443db065b5367c1e0038a930a0382150b03825cdd937e2acd13745461839c9e4fb39f58c1e372cdd0937abf03d3885b75f397b70093645c1f134641e0a382d5f4a38d1337d3401d6fc3733796038fd1c6838cca58337b95fce37db6f8238324180382818d6365e2412371b350e380175fb37bc8b9b361586dd37f6f4a13814899c383857bb362d9a4437227f0938ee9c1a38bf3ac2365d8165374b37cc3717970838f78f1037c9608937e3815a3e5016493f0c589a3688d0b4362a76543e06423d3fc0773835ce8381344fd5363e83461f3f788a7d34d77cc437877b0e3ebd12043f292aae3660972037c9b6d33d3dfeca3ee1de5f3611b0f7364b4a763d5a63913e5f8f3636adb08737a838c73c026d323eed711036b683313767379038e1396f3d3ad181368d8d463799c40038dd6234383cf0fc361ddf7c37e1434c383edb8038ec6dc536eab80737d37824380ad66338938162364b1f25376056dd39850eba39bbfc933394550c38a55dc339e43e1f396986a034cd05e5376efb7d3929730f3894d67f363f4e0938687e29380daa0a381beae33615a2c43776a9253887150938087d553596c386379325f237a01ee6372fcfc23622b0fe378354293825b42938dd1d7b3738f3313748a0913d41b76d3fc8b3c036744eab36ca8c943d058e5d3f1793583604ba9c36e355873daa2c3c3f72ce9333c7c631375f8d493d0ae91a3febc18f3419c27e37c2a0fe3c4169ef3e299511369406d137a43c0d3a3becac3e5b469b36829d5c37ebd5ed399b8e4d3e5ec45835ce0a543774375b39aa17853d0a42c336a30ad837f05d2d38df173c38939cb0360000000000000000000000000000000002b2fb37bb6324386f114d38a49bcb371e19f7371e63153812a430381b867e37b07fa2381e457938b3a70a39e84ff237c87a453858454b3878904b385fd3c63769cdea38e74a7e38f5ce6f383372f03768ffca37bfb1e337fc590138144b973718c00d38319d1f38e7df3938b93cd3370000000000000000000000000000000000000000000000000000803f0000000082ffd6377dba4a3808976f3f2ea1a737a288c53767d55238980e4a3fa2981b37b6920c38cfabd1394122253fe0a2e63756122138beaa1f398d1c003fb15ba737fb014b384bef8c3967ebb53e99b4d3374ea5bf3740930a3843cf573eccb08437ca00fc3744b024383f77863d1f609c370000000000000000000000000000000000000000000000000000000000000000d17ff6389ac3013af844d43939998739cbd2ff382c957a3ac55f3b3a14d28639b9f12d390556f039867bc43922be893998898339b894033ab366e439017ea03935524739b696e3390d37c639e6f88139075f6b398a73ff3988e2d639a47e9139cd94de381111e0397b7cb4394408583900000000000000000000000000000000000000000000803f00000000000000008d462039efc9603fe644e539e24b6d390c401f39af01403f2f615d3a078f6d39a07b533938f11f3f8178d5390df36639ce7c8d39c0a7fe3ec47cf339f1558e393835513919d7bd3e1fe8d5390b8d59390c2c6539fcd3793e8a5ede39f7e58039b3b3c2387204f13d0a4db139a8503e3900000000000000000000000000000000f1bd27390a02573a217d3d3af43bd93960e99e38a1b47a3aa3db723aa3393b3948f694389dc1513a276e5c3ad3e4193ad77a0838466c3f3a3480553a03887d39286df8373af2403a51de493a75ceb339cfceb239c34a633ad46c5c3a0c19133a22eab239733b713a76696a3abb781e3aca1c0c385c2ae33946dfec3997830639fc9c2938ac8adc39eeabe7393cb9053981f032391999613fe42ee53d2e34bb39cb06a3388d81473fe400d43d6ad2bc3863c9b73873162c3f09efbf3dec28073a01080d38a2f60d3fdcf7913dcb762e3967ed00384ab8e23e7abc603d0dee9a3951d4b139c232a93ee97b1d3d80c9043a216fa939fadc603ec9a2b33c89240f3add3b0b381be9e43d0beff13935c1a138cce2223873be1b3a9fd4cf397b9fbd383c9943384928133a7197083a03a7d838daaca4383bdb823a778f823a2b2bf3398d94ee375179ad3a288eb53a99ff543918c4443804b1123ad3b6383a407cf638eb0f623717dfec394b9efc3903442f39c5f1ed37f526d139232f8f3c7cbcdf380394df372e6b8b3a4d3b963a2dbb5a386f9e94387c0e693c4b14703cf73151398e62f537b836063a988d0e3a6638483840d83138370e413f8000783ed68dad38f67d8538554a293f77a25e3eefcfb7395c77f337b27f113fdc053c3e16341a38d20b473814d8f23eff721b3e434ab538f152613772c5c13edaa9f63d7577ba388be8e737ad7b8c3e7bc3a23daa657b38fb47cd370a0a3e3e14636a3daf4330380a2480389c699c3deeb0773c0270f93838b4ee3759fe333ab569103a46590938f8c56e38906ee339088ff4397fc28c383e9119384128833ae9799e3c859794387b9ebe37be926e3ae35f7f3a3facb238ba4233383288263a93fe453a7c62c238659e93388b11603a718d7c3a29773f39c4d13b38d5e4eb39a6b50b3a9bf7b3389d77f5376979003ad7bd7f3a6cdfa53805a494383b70583aff30713a4486af3952f5c8385fc22a3a9cdb363aae6d8c39bbf36c38586a203f00b3bd3e40f48138d6e21938bd310c3fea5ba53ea4c81c389cc8b5375911f03e91a0963eeef3ec3754b63438c869c93e3c286e3e9ab8413897f591388354a03e81203d3ef6deb63826343b380d7d6f3e0c730c3ea87b60384031f2379351193ee2edae3d5b671038404a2e3876fe973d06aa2b3da8df76397d87c238c8f2373ad280393a15ce5139c4483b388308583a830e823a9afd5c380d126f3815443c3a53a54a3a6bcdbe383ceee8393853863a38f17d3c42a9043a333b9f3888d3483a0e17473cfcf77e39d63657380056643a83ae873a83d4e038889e1839f2c0403a8e7b553a986961396935db39dae77c3a4b378a3ad508193a51ee8a38d9d9263ae216403a93843139828d5438915f1f3a13db623a5ba95638c1f03b38c16afe3e58d6fe3eaf8a4f3816234d3813c0e03e2c47e13e52687338a9efda39c5e7bd3ec86fbe3e342fd6397964913819e2a03e588ca13edd391439518c5038154c7e3e746e7f3e3d6e6138df02f4385ac42a3e8f5d403eda3fd638edd0d0397c63ee3dbdc1f23dd4e6003a8aba6b380fa56c3d0da0743d6dfea73884545038dcf7493a5019703a0a7a4838ac8602393da4323a0e944e3a9db229394cc31e39639d683aa231833a76383839241808386acd453a4f53963cb92a0a3845f15d389acff93995da1b3a2f00553898b5ab385adb573a1380873a0e21d138e30c40385c11113a8cd33c3aa18280385cf41338c6bb383a0702513a7352b93805e61d382133283a95978b3aaf40b63891c584381acd6c39c873ea396d0d8f386aa8db38fae8bc3e082e203f73f8c0384a01f538841fa73e897c0d3fa2fa4f3894d308387bac8c3eb74cf03eb708fb374fba593807fd6c3e7b44ca3e46c44338ab99a738b8b73b3eef05a13e68fd9a38b4833b384fdb0a3ed401713e5a363f385f6baf37b62aa73d6a2d1b3ec34d1538b1e01b38bb820b3d7b86953d7a312338f9258238d4428d39a70e033addc683381413fe377ff3f639d657733ad8e20438d17dc5386389643c7ffc883c5f8ad63802b91e38a7c78e3aaaeabd3af2be1138d8473038c8b5da39e8ba973c46c90c38786db238bd8be4391e09233aab170d386cabb538f254f5396320433a7abb7e38244ec738f7d9973a31ceb83a54411238bde8cd39a9cd673af094833ae05e9e39ff5eb4385d7be1396bb2123a19bcbf388988fa377bdd773ed503413fe6b5f237b39eb538bc124b3e7c5c263fcd19953821541b38f4813b3e7ea5113f633feb376f861838325e113e1f1aef3ed892ff3713608738430ef43dc341c23e69f66c375231a738699ab13daa73913eb0d85038e2a87238315b5f3d1734403e1fbbfa37fd71c339e805cf3cbd0fb83d7f023e39f268af38d257ef39af86173aadf58d3899a05b38c021b939225c693ac0b43738784e3638c877dd396d46323a48642138dfad0a3a5aa3653aacc9873a7f2bf2393d95013ae924523a6f85793a02f7f439522caf3931fd193a0247883a1795f038391e4e391650113a3c17793af93e2d389ab90f3aa7bf503abb62593a417570392f5b0239d82d4c3af3b4723aef0fb038afcaca39a8e52b3a05094f3a9c9d9f397ebd4a389a0ee73d0c35623fee222b382a853238839bd53d4ff0473f94581738c465023aefb1ad3d2e902a3fb311cc39af9cf839d86d8e3d1ef70d3f53b7d5399e6f9639f34a5d3da62ae33eadd008382e382d393ae01b3df614aa3e9a2f1538e40a093adeae5a3a37b6683e16cf15391e56d13880ee553ac25fe53d07c1a638b06dc73978592f3a610a5b3ace2a7239000000000000000000000000000000007e8131395618a739c908113a01262f39c2827c3957fccd39fb770d3ac1a193398b6d5739ab9eb93959b5ff397ac58a39162498391c9ed739d77b053a7859a13957857339d29ab2397576f73959ca8139c8517d39b91f1f3a411c713a0955503908917b391e39c039391ff439d01251390000000000000000000000000000000000000000000000000000803f00000000ab3620391204c23904f9603f35691139645f66398915f1390e5f403fe53c8f391d884739448ddc3973fd1f3ff5278539b9e68b39e911ec3978ccfe3e72cf9a3990376339bb49c239e202be3ee6be65399c6474392a0b2e3afd8e793edbb62d39db0874398b8ec339b164f13d7a662839000000000000000000000000000000000000000000000000000000000000000088fe09360df00c3646f21736335f2a36f9893b36dfc33636d3e8633631fa8737acb75d366b1d5936b1979037681fd737f5ff1436e5e81736213b1f364ef61e36134d9e3735720238b4a8263871931938df82f935d359d036885b053737340e36c8de333620deb236e9615636a6d5523600000000000000000000000000000000000000000000803f0000000000000000335e0836decb7f3f817f9e37b3702936460635361422633ff26233383896753766997136a3ed303fe9a43f38deb7c837d9f21736c5b2ff3ee6010938904d1c36bbd1d23703499c3e6eb28038035621382de3e6358b73e03d9e913238b7400736a151343634e0ba38347bcf37397f543600000000000000000000000000000000794b1c372ffe79372ffd8b380f44c33754148e36c4cb9a36e867b936cdc0c03611cb9234fbd3a034729eed36e12d7737abecc0363d62ca3638df10380aaf37383aa28b3696359636e235a5367e3ca63645cc883685fb11371d8f0238175a04385df411373dcb2137002e00384bdeb6373719d436889c22371356f737789dbf3747a99b36ca6ff336cc262f37bdf42c3785610b37a68c7c3f6c465a3c096a9637a10380360a217c3fbd1c773cb126b836a703a3347fd1623fff3ccd3a1c5f2d37265bba36729a303f86c2833a9c3e273888ef88363db2fd3e408f413ab0d8a736baec86362dee983e8ae07b3ac5c0f7372e1e0937d7abd43d108cb33920aca437da0ac13621f55038471b873807e9bf37aff3963669431d37069b943758aa2637ab23fd36faf23e370db6503845e04a37a6a2b03500bf44361047ee37321a0037b26ef435072e1e3624b00638a8cdd93774a730368d8a5536abf71a389a0902388ca306378a9311375ab8bf377ea08437ac0be1364eb5dc37e5cd8038abfa2a381831a235f166af37f2a72d3807f0cb37277a7c36632235376961303845f1a037929c4c37951e7837f1fb14387e1a87375c5dcd36ed795d3fb3e1093ee4cf2e375fa1973575f85a3f41fc133ee79d4d3604dbca3541943d3fa8861b3ed74e8737773d1d3677f1163f4705ef3d45a7b93757caf33657ddd63e2a97a33d30651a3769df9336d9cb803e657d273dce5202384c2417355248bb3d85b4843c5f2a8e3721ea65362b4e8438dc56d4388eda1c37427d2037325a0e389aafad3845ab8337dd69d73625e5093785fe8f3795a3e636c468a3360ce21037ea99283813ffc536447c2834e5444334f278073726427b3403850e37fca23d3730c85e3779644437364a54361d209e36270cc7365c6ba73637271036c5ebd5379495333880fcde3757cf1635f3e03d3739b9353838cd1735a218f435a8a61c36d5f1cc37782417367b9a09378d513d37c9f9d9374c002e37733cca36885d2e3f2840a33e8b7fdd36a3a29a364ea72c3fde8aa63ef9c9b036d2ec2834aadf193f49149c3ef4294134f097c536ceddef3e16c3703e278e20379e282836d01eaa3e34a92a3e03af8336f6a3023624a8493e6089c73d40502f37706b1635bcce7f3d2e66d93ceaff12351834f135c2949b38c98ce638441a1836787efb3666abf137ef6b40386f790f3748f90e3719ce8e384674a638baf10f3716f4c536895690374635de37289ecf3692cc4d3622bc823615145337332e59363aaccb368b94ec36184028376226d136029b8236da6280378fe2bb37046f8836c740cd3670eba73761e0bb3742ffd136214a62367b96e13736e0023861a362361221d736cd2df037ae520d383943d73621990f37700d2b3832df4738726b1137d3670b373723003f32aaff3e73e50b373b5db0364664fd3ecb49013f3130b53685c349363345e83eb9ebe63e3edc4b36993ac836491eae3ec94db73e18a1c93691ec80367eb17b3e4932823e46028036c85bcf36d6900d3e20c3273e3336ce360e185d3670222f3d67a1573d44ca593674e3ca36bf838d385882a138c26fc736dcf40f37b82ca338992cc2389995113737f20d373fe51f38c885e437bfbffe365a8a0e36246215371cb411364f6fea35c4031735c46c1535431f20350f641135239e9837b43df33790929f370d2a0f367a74ac36859fbd367bd8b936cb3a7c36d8f84e37b507ba37c79c65373fa52c37309eab34c4e2c8375a0084379d403634adc26e379bad1e3811ba0e384e1ebf36a676e9365740023777af01376ec3e1364825053758dea13e8d042f3f3f56df3641bf0536b1a9a13e4b232f3f3bedb935f105133597d6943edad01e3f71791135e1512e36e7a7633ed661f73e5861f435a5fd8636c3271f3e2d02b13eda4c2936332b31375a1bb33d68f5553eaeecff36eba35a34094f923cad709c3d49c62a3441e5c636d60bbf38825eac3847c5a9365ba4e2361d891b37950519375d45db36718b8237f0ab92388c62e73750e52637259a0837663926389dc9c43644d56836cb428137ded1d43792a0ca358de1e23493de2c38daec4138ef4a663761f6c83614ed4e375854a437c695153726880537e99903388267423833abc83758924036a735f63797c0433800e1ee37f9ec163669bf813734b6f137e04e5e3779b91e369b1358371c02db37e3ed3c37ae2b1e373d1f7a3757aa093e1a825d3fb531fa3605e2c1365abb113efb805b3f4cdc42369222873678f50b3ee77f413fda57fb337c99f2375793d43d77881a3f35a36236a5181a3720018d3d7decdc3ea72af136c6e5c637b192f53c7ceb863e3bfd2936a9afaf37728ff33a22bcd83d79c50336720787365c77813824ed4f388490c635766d3037406e4a388b49e73783db0137af582e3763af9337e8330c3736c194366db5cf374397c2377bdeda3666acbd368070af373656223734a90c379c670837a6e80938412dc937222e8b36905385360566ac36c3c0a936771b97365f7d9036a5d62b38bde23138966187376e2cc736ac4f5a3774b09237efa69536ab60c734785fc036d1312437821fb1364c449e366189b437b16904382b638837dd603c37c51b283779dd893a2ec07f3f57c184360ec18d373ae13a3c300c7d3f60fc9d3667d589374810bd398337653fc41ff9369edff737f26a433a230c333fe0057b369296ac3698cc5b3903f7003f8a9e893609202638303dbd3950ee9d3efab4c236e1d34d37a0c9f1392350e53d88e69c349c0cc03634189e38c6cb953873d19636d46f9737cecc9938548732383dd12037000000000000000000000000000000008a225136190b44363585343626d82b3638ac0336da55e8355679ac3586c0c5355e2c3b3880b9f93776f21b37ac8688374c0221363f1821366ba91a36ba871736b331bf37c7bfaa37ae5f893728db5a37f0ffa6373d90ca370124d437d462cf36fefd413621214d36ad656736917c1d360000000000000000000000000000000000000000000000000000803f00000000685852361f63cb3754f67f3f2c881736223502360bcabb371be7633fd6cab43586143838010b80383fc8313f90619e37fc8220360034e237c624003fcf961636e962ba37a75f4d38ba049e3e85341e378cd7b137833a62386aa1e63d4216513678a93a362bdc9f378fb7373a8d6011360000000000000000000000000000000000000000000000000000000000000000dad2593663faf936de1250378c2b3a37b5ec3e36a7d68536c7959f363aa4aa36f408933641762d37297f8c37e9cd5d37100ae435c6e2033734f74237560d22378888f43495f8b8364a4eca3677c27f364a541336d7671038db930e38c9559a37440b5b3505301f37c08b0c373a8b363600000000000000000000000000000000000000000000803f00000000000000008293523683de7f3f8c188c3731152a37d0b33b36bfad5c3f47d10b38aef2b0361a8c9636cf2f2e3f28e40b381de452370f8ff135fb6ffe3edc974c38d14f2137c603f5343e49a13eb43a2537fce972364df717362c03073e34c332384dae9e37818b5735fefe8038e5de3037a77a4136000000000000000000000000000000004ecc1e366c97bd360c3b8338865c1337fb85e4354ee4d73673f81c3810881337d0e848362a52f53645f65038ea9014382afa663681ffec361969e337811f5b37b6965f367ef8d836ec0f1738cb4a0a37bfb06136e6dae736cb750e3856082837b9aecf36dda64c37c7131238a7c06837727b5135e4cdc1366d4f00386da01037022bd835cafa8836da994238ed989237abd0fd35fd39753fd1d92b3d365be136ee0d9d3569c3723fb120533d5ca611375c722a366f45533f23d72f3d1fd8ea37f38d4a3686ed253fa7a8053d0da637370895453672aff03e5482c83c0578093712b84f36b632923e6ff0913c4dfa17377e0ec9364b51d53d1109483c7e495f3765daf934a6abb1370e5d2b3a2d190037bbd8b435582c2737abf3d5385cd74837035bad33c54f513650a14a38441d6835539e5034fe1f8f37d4e08a381b0a1e37fc3780351c6f1c37d6a73038955cdf367bd383354c5aa035cb181638a26aa635ea1ea735d65a8836ba62e937d09e943608771735aa02b836aa5ba337ebddd1359ec3d335fb70b7372f516b3815c8f93624733036c00d9437d3423338c8374b37a0cca036b7a3093747551e38432110370d00ae33cde5503f84483c3e0d335435a10e0034fdae4b3fc7f8503e2c442036a84f2f3513e12d3fda13403e7a96a43641108335ce700b3f4b63183e6b6ba635fe30a33558cbc73e2153d73d01138c36457213353af36b3e44b17f3da488b3351bddd435f040be3dd4dfc33c1627113697f7163604ea0e38c076453a7b8d1637dca08f36b56d40373f909d384c810b37599a17350d895b3872e4d138b3e8b73580588e36a1d70937bba242374fe7c73640e19036d30edf3607976d375b8ac7360658c63517ef7536bf30aa37a638283686f096363b0fec3666fc0f381769bb36eb77d234090e69367079e23763c02f359435853672e80837aeb5b0371fafa436bcfea936cb93f736e3d32138456cd6369b4f043441e1cc35016340386aa295350d87f434bfd8283fae46ae3e98c69735e56578363b53263f5962b33e2b97b536eb468336543b103f6ed1a33e9279c236f467a03594c7e03e6dc3813ee2132136328d8c3688a0a03ec6723b3e25bcb836529cd2343f2b403edbf1e83d4c3f2a35185680362b3a843de3003d3d7defa3369a75a23641786d3870f5d93810cbd23608390434c428cb37de84ed3810499535d35d8c36fe6e6c38c735d6385a828836ebd4a236db910f37d73148377248a336878bde36ce109037d7ae013813f7f036b2e31137ee994337f10b813750711237cd59c33624280a38a4773238cf58ca36deb51237da2545375ea6a0371e5019372b66f536f3a1bf37b2214f38aa4fe13669c9aa363ef00d37d9db5837ade6b236a8b08f3623abd737131a74380d3794367f5a8236e968ff3ee73a003f73cc8036f9329536576efb3eeb20023f9c1d973612dcd43639c7d83ed6a5e53e25a6eb36ad9508379217ab3ea51eb93e28c2093733ffb2368a05763ea9f2843ef781b936a5100c37b7320f3ef68b283e256c0f37fdf4f2360d1a583d0c589a3d4304de369f12a1362e3f9e38e5320e3a8f06a736a9fc89367d5db438f920f93838b69136cccf9c353fd5833877cf6c3852280134eafcd436750cb137c0fb9b37e972a636f555a53613fa173726322137c7b3853681fd30358a1f3e370c417837524ed33471f1bb36d004d437deadce37c1ec9a3654713136814c6337182c71371ee0de35937dca36c8e10137291a4337ab9899366769cd36d92316372d241d37bdf398364929c2353b8b67388a3f8338f33b4c35f5fb8035d573ad3e433f293fe48ef733923dca36376aac3e5fcb293f8ee2923648ac9c36bdfa963e3b37183f92e06a36fc032d35779d6a3e786af03e356dcd34f46ab636c223243e4eb3af3e1fac90362af02536a1f6c13d3c0a5a3edca4be35f6c7ca363360cf3cce59bb3d024d8f36fee4bd362e3cc438db39043933dc9236822fa735a0c2af38fcf7bb389e9f22355c9b0a37698f4c38684b8437eb409a366b331537e8871238f110c037e54f2036a89f113689ea32384623e2373b14d7356d4dbf3575c33f37184c0037cd8527353b5f963620901737126dcf36f1e3ab350d99a635a1740538a2a57d376e088a358cacd536884d1c380c42fd371874df3541de4237974c77383d7c4b38205d9834ca807835a0cb02385ed976378dedc0330a030437af223b3eef35513f75007c36dc17eb360e333f3e9f03503fadaaeb35d8841036b9e9343ee9e0343fa5a7c6357d97b135eef0043e07d3133f47b9123599358b36eca6b83d8a58d43e520caa352487aa35515e443de957843eab738535797eba3640b5913cd583ec3dbafe8f351f2cb23630a86e39c5d699383d5e8934d7697335037147385c53f1374bdcc93391735f375140953834ae8037fab3c5351324ff36e3baf7375ee6d536a8fa19354c377137bafbbf37bde545374bc2cb36ca541937ad3ce837173af03685916436660e0b37fcc0ba37ba5bf63686e47d36ca625237234bc5371ac53237b30191360ec90638ff155938b3bbfc37945d863652431837f6a517383c2e14377cf72b36bb282637608a113883fa2437810e4b36e09ed136a28d273d327a753fe0097f35d373f736eab5193da738763fac8ff134ed5e5c372d96f33c009b5a3f5a23b436ee9c17377d4cb93c748a2c3faf834036289a083781d58a3c7521fa3e5640563646603b3763936b3c7c229c3eb483793636cff83708170e3c05e7fb3db1c46a3612fd15372f12143944ec65380b480636c09c0d379dcb8d38224ff23718d1353600000000000000000000000000000000c8ad4336e6b4b736acaed836f7b857358680ba376abdcd3723c6a7377fa61636c57f8e367a088f3621528d36ef5cef3456882037e36236371f89213774401436550f583783be85371f938f370f9fd4364cf0af368f35a336dc900437f24853364c922e37cdc16137bdbb88378ebf99360000000000000000000000000000000000000000000000000000803f000000009b19363614732c371efc7f3f812858357de49a37ced82238cc2e5e3f016501360a477236e335223716552f3fda22fd34da870f37a5402e389cbf003fffa70c36008e553739b90e38a987a33ee215b036e1e2b236a4751038813b0d3ea15c52367369283742188a370e3bd639375a8d360000000000000000000000000000000000000000000000000000000000000000221f21352192b837f3c683379d4df0353624f635d6f5b537f482b8378b8c1337cecac0346192aa37613e6b375e073b36f47a13365201d13751c0a837f8f262361aebd7341c46cb37d34f843729aae335cbbb9835ac5d1a3815d92837f35cac351b345d34cea032387e777137cb948a3500000000000000000000000000000000000000000000803f0000000000000000dc6416355c27753f116ab937c987f5358457ee35f0534e3fa124ee3741ebbe368afcbd34311b273ff5fbdf37a4fe0536a21213361249fe3e8efe0338fd2e65361222c0343812af3e15b1b83731bae8354c299835cdf93f3ef5da8a37639dc035db6d5934ccb8033d686083376f218f35000000000000000000000000000000001d609b3216a54a38c550673c5d97723732351d377cc893370678163c9fc8e4375ee9f23568d58f37d8b7de3b6f89da377e3dad35d47212374a4c0d3a93d4c4374705ee36e9e4b03765c74f3c01830f38116cf1357cfb8f377270073c4b59a737d5b71d371c12893752d71c3ad97b9837cc81fe35cb9c0e38f18c9439b47aae37d59e5d35d1b15a371e84403ac7399637d2369b32ffd56a3ffe7b693d79c42b37e15f1b37b2b85e3f89b8913d428ec137c82def3501de3b3f2a56753d68d4b93736e9b935059f173fd63f5d3d5e11aa379988ec3693cde53ee047093d6dab08380d2e003634dc993e1400023dcfd99b3762c21f37f5e0223eada8d53ce8e38537ba160436ade93f3c33a5c93cd5d99a373d226f3537791538407a2f3c0fe88c378219e9345c2d4738e832733c5ea1723583068a3694173538e09e6b3c870d0437182e1d3717658438b639d13be8a65437bf530435c9070938f3011d3999219e36e8823a374989f0373dfb983839b5713784151236059f5d386a3ae03bb6aea0361850ff34c67a32388c326b39b41ede3558543f3714fb6b384e7f8739aeaa773742678f35f80e1d38193aca39bdd1c436b9b4e834c44e463ffe5d4e3e73136c35d91a83363a183b3fe27b4f3e5b200337bd2f1b378c621c3f53a6423e2e295337ad8604358739ff3e56aa213e4623e935841339375433c13e5198ee3d2a687137966b1836b953803efaff9c3dd28ba036fb0b103508de0f3ecc30313d8feee235c2ff3e378fb05e3c9c4bd03ce692763742018f35f80d7d3830d7703cc12ae5351bbc9a35f2ae5c38a3817f39a2e6dd35817f3c372c463e38a53f013cf2cd6d37462c0136e7a336369a0b133af16626366e2d833509c5e337e614de399896e435fa8c0a37a1c85338d55e003c96a133374c92b33547fb0b36a51712397579e3351bf5233755232c387d40b139ae58493730e1693606ba8b38d847093a385cb6366d114c35c9ccd236d5e9013ab7be9835ecbd98350a31243f0553b73ec912d93536ed38375c95183f32bcb33efb886b37c23afb35bf72013f0e159b3e2f6f2436e55e8535f3b0d03e16657d3e6402da35bbbc08377d669d3e78e63d3eb4c33137437fb3352076533e451f063e11b3e035b7bc23375f4be13d6d2f973d135e493734e366368ee8823cfbacb03cbcd1b436eac85035b788af38a514433cedbe97351deadc36c98dc138e991403a6782ff364ee5c337839e2339bebd203a3f66c937102094370276ba386984b13957849c37152d54374acd9c38f3b8b03944216437f76ea5378364e63864836b3975a7a637d7875a37d75aa738db4a6639a37862379aa59737dab5b33840d345394dc9983743e9c837cb0f14393618ad390067c737c5c0f33634c49838ebfae139c0f7f53669c5db3630ecfd3e2f96003f648bf03616a6c2370dd1ed3ed235f83e4a59c73747f292378796c83e6705d33ee82d9837ecca533717ada23ea761ad3e0e365a37f69ca43747c3773e040e843e7d55a53712c65937db55253eb31d3a3ebb6b59370f0098370febb73d82ded83d306a953717aac837c6666f3c126d103d229bc537d43bf536e4def43861e91c3a27c3ea369a62983590f6dd382e11c739378b60359933b5368400cb3801060c3a98517336274a4a37ab7b80385138c039c7212737276cd935a00c823735040a39135bbf357e583237403ca438ca1c4539df010f3786b0e835349c49386b562a39104a8c355b962136bfb9aa379071183994590636b3136f370939753895165239eecb4337ce2ddd356f228038ea88f53852a6a435d6fc943530d3b13ea0cc233f5c8b4035db88ae361d27ad3e478d1f3f3e3158368f0e4837d3ab913ec3f1073fc9de2037a57cd7355ee96a3e00aedd3e0eecb135b6293037e36b2d3e85eea83ed25c09371466e9358b1aec3d76a36a3e19e2893580f62336b3da713d60f8063ef05803367ae86d37c91bd93bb30e1d3deb2b3e37ff9fdc357f37c0389fd00e39b6f8a235ad97e5353ff5dd38e950ab388c7d973530db78370f38bb38d3d6df389b8f4537ea0cf1351a1ddb3815220739cc762935b36ea13696eca038b1ec9b38f0442a36cec97437d0544b3852933638ad5342371847ed355745663857dd72384f6f36351ad95537b85b0539cfb90b39880124379ba70737f0c1aa3843900639d3d09c3684627035b48a84389c7a2239376ded340a0bde356053523e757f473fefbc8a357a8f753794d84e3e033a423f25403d37455fe5353565383ed0c0223f5ada0a350bfe9d36037e113e8913063f5a7f163616427237f46fdc3d5703cc3ecb873c377f4dea35a2768e3d393d8c3e640d1e3563bf543701d3043d14f0233e08392037a1bd0537e2a58c3cf4f90e3dcb519236177b74358c3a0c3c79a26839a0c1eb348e2f893709a11a3c7e947138340291358e79a1374123f638eb5ba73830ce2536966c973705613b394d636a38ccf92c379ad59e370d7297381bdfd53737763636b5511038ae88ff3b2d757e3825c30237e285be37d2fdce3872543138ae462136ae48c1373791413810570438060746366333d137c316b838b6b86c38d7d12f37f90257373da57f39a7e09a386257a332c433843766746b3da0f06b3f52e16235a91488378c75833d952a663f5ea1fc35bec780379205663d4d0a423fac702137b4e19737fd2f3a3dde301d3f9c740d36a3d608383c64f93c5502ef3e2475f736bb5aaf375536073dbfe5a33e9557f8355836b737ae4bc63c4172333e72a31f36d6e2c8377c43853cf1a5083d4ba82737557c3c37a5bb373c674fa9381ccda43200000000000000000000000000000000228a91352ea5e236b6a2713834fc57348b0dc235f37f50362882443815789735a5a5ea353baf14374f4405388d871735413b62364096323794521b38e0f31c364c830c36bca12837cc023338ec78c53418e66136ef5d9a378372ce3936df06365ca7e935b1ce383740b73b3872cb43350000000000000000000000000000000000000000000000000000803f000000006a989135b5537f3703b8773fe8295734b819c735cb36923716f74f3f3c4a963559c2e835bc37b6375f6a283fd533da3489b163364ecae737fdd1003fdde81436474bed355b1baa3751b1b13e3e8cbd341b4164365605cc37b011463e20310236ba0def35c55c85376bf52c3d946734350000000000000000000000000000000000000000000000000000000000000000b1a816360d032c3607eb41366c8544360000000000000000000000000000000091fd90340000000057b3c33391194b3417d8b836d936bf36a442ba36f5f4b63600000000000000000000000000000000c6a6273538aae5346132013582b69b347007b03607beac36679fa3360640983600000000000000000000000000000000000000000000803f000000000000000039c40b36671a803f45fa4336f7224336000000000b05643f33d7a836000000003944b1336339333fc44c2f336c711934447cca366c6b003ff911b7361875c53600000000955f9b3ea8400438000000007cc20535a83ddf3dab42bf34cc6f8534f286b4360df7bf3a5fe39c369ec6ac36000000000000000000000000000000000000000078a1b535b3fd5237000000000f4c8e3506580536205a4a36c0342d36121e0e33cefe8d337984f232211206320000000000000000849d0236c588a8359602ad3415448535f25bb6359d109a350000000000000000a4448437d9c64636958e9535998fce3538682e368395d635cc818f337d5983370cf9f137856b0e370000000000000000fe9b0e36000000000000000022587d3fb0e1473c0000000089596a3526c47a3ff4f8a23c4c8124363d485d33e981613f4f3db839fb1e46330000000052fe303fe2f4bd3861164c3477b03b35d144fd3e27bb2c39e957b935000000002f999a3e8b937139000000008c029c357fb4e23d3a624538c3fad13500000000eea7893ae4049e384834853500000000313a123729dc1f3800000000eef0a63308428338360ce138155c9e370dc41e34694e25349d9d83373d8a0e3457c5d533e9f7e53374bca934cb6722352d4017329d4b2a32d9222c32fc7d2c326a679a34d13b8234f05be5342364373500000000000000009e3dec350000000000000000f55e3436171cc43700000000d8c40936f3c01536de6edb36a97e1036d434f13535bdfe35bfce0c36e2ad13364546a23399c15f3f5056033e1f44f833d9aeee33c9f75a3f4613163eee7c56342b64ca33fec2463f6521dc3d008a0a35ed6d003225a9183f1e55b93d127d3932f6eb4132b48bd93e26148d3dafa208350000000090f87d3e8b914b3d0000000000000000ea52873db9c01f3d000000005713b63559b03338ddf93d38c2af0c369fbcce353922133631a08237b03bfc35d89e52369859c23774c3ed374b29733608ac92346929f1369121ad37feebb23569e930338847153367580e3337ad1533000000000000000000000000adb19434a9ecac351839f1357a22e235db3bc3350cfd23331b433d38a2e0413890099636380d3d35b9772b3542d2ac365f908735b8bcd434f0216c35395401376950ba347193b0377dacab38ba66d4383c7fb738d3c5303623d82e3f2099a33e82a2483600000000a90c2e3fefeea43e18f97d35ff760333e3d71c3f73eb933ef31a153300000000e2b1f33e4e70683e000000007d879535649fab3e54d2273edb07dd359e6bf43253d5463e8eeecd3de81a0a3350760b350275553d3a1f183dec825e3521cdda347b65ee3848479738e0803f35000000004ac9ee3806b80b39ee563c380000000058e7c6388415bf3800000000abf43a3675fbef3704d2043872d36936ed8dd132c4505b364a5ceb362f69d43484ceb934206a57353887fe36a0702535542e3936ebf1683674e17f364e295b3600000000c3484137b3957237eb41183551bec034422c7c37b2a2c437c1654835422f643680f8d53743cb1838ab5c833600000000575b0338550d4b3805176a37000000008e08003f3ac8003f0000000085874836c70fff3e6402013f36833a363c073233bd7ce63ebf95ec3e6a7c1d3300000000b7b9b13e4d85b83e00000000874d5136ea097b3efc48833e14514a3600000000196e133e37071b3e00000000d79cab34c2d92a3d483a453dc5999e345a48663624d18a38f9b1963814a77b3600000000adb3d538c0f709390000000061b59e378ec320392d1c05391117c8353f74bf3449b96d375458dd36d6128234a3160435ae8c1935e22a52358999843582970533a58c03389a8fa137360817332f72ed35515cff35119fc0353878f43500000000000000000000000000000000ea4d10333674b73702cffa37d75623332007f73575f44f37b25bbb371ed6cc35632062366c7572360e8edc362803833637622c3636e79e3eaf49313f00000000febfb83400d3a13ec8a82f3f24f9c0344f6307356d73913ed6e1203f8f2675350a3be33237195e3e7b87fb3e4b382233abd9aa35b80f1d3e4b8cb33e3e73c33500000000e067bc3d677b543e000000008271f532b4cb3f3d9bc85d3d79612f332c1ac635e09e6b38b91382389430ae3546555e36b439e437b979ed37de036936616e003644476c373b30fb357660d335f315c535a4e95237cfdddb358cefb73500000000bb4fc136000000000000000000000000000000000000000000000000afa9e934b7551c358f6a5d34d3b08134b65b3b3210141e32af7815324a1f1d32a549943480061034fc3af5345beb3635f999153443d2cc36c1a10d37d6a44134f134cf37b6f184382e873438209594330920e3358b0b023ef40e603f033f5a353e4fca351e24103ea2755c3fecadc83400000000c6abdd3d5cf2493f0000000000000000e5cdb53d86791d3f00000000387019355b6e923d9d03e03e03df9d3396920b32b48b793d5982823eaa881c327f46e133520d393db17c943d6698ea3417f50734279a2b39109811399cd90634a400cb331b96dc38ec37a23869bac33300000000cae01338b2eeed3500000000baa3503530a3a637ebed263400000000a1bcab3522358135160159356de4843500000000000000000000000000000000f07caf355b69cf353c216a35ba5f7635d4e8ac33568ad13600000000000000007936823311719e3425d20d3387382f33f94a373601bf59361ecf4f3686aa30360000000000000000000000000000000000000000e282a63a7f11803f00000000838d8535bb2f883c8cbd7b3f000000009f729735f5f9ff38ceda633f8e3c2335000000004f039c3930f0323f0000000066d4dc35efd8033a5ead013f7b5db834000000001b3d5339c3509e3e00000000c722ab33045fa53b188eea3db73bc732c8a0373699bd2838cd20e63a6ae510360000000027b382372f9886370000000000000000000000000000000000000000bacaa33681ca92360aad83362e9d9c36e84eeb3436605c34e2535534c0ffa634000000000000000000000000000000000d03b73689aea8364fa7a93641a5bd360000000000000000000000007f4d0633000000000000000005619a36000000006af03c3681144e360b436d366a6e36360000000000000000000000000000000000000000000000000000803f000000001f29a83669ed99367e01803f46ff97363f3f8e3463278c34c236643f99ef803400000000ca75a33765a1323f000000008a25b6366ca20e37ade7ff3eec99b43600000000ffc2b133e40d9a3e000000000000000047dbe0373102e33d0000000063bc343610195e3681a7b5397b342b360000000000000000000000000000000000000000000000000000000000000000c9f00836a9a769367e3d6e36c70d6c361402b3356413ff3519b72f389918c3355bd9ea36df170237364812377c290f37fd74c5369a5ce83655b8e736962ef03669ae9f357eeb8838d17e7438fc78933735e6c6365297bf3788206e37a717e63645ba6336f8652738abfdae3751878e3600000000000000000000000000000000000000000000803f000000000000000001280636d6f37c3f68df7e36e0366b366c84ac35972c643f49a5d638f516d935f48de836a3b9313f493baf371a6a1137edb4d136af68fe3e615a46376c35ee36747baa35f12b9a3ed3cbab383444033749a0c336ffb6d23d101dbc378fc2ec36732a6f364c81e63916d7fc372cd78f3600000000000000000000000000000000147b4a358cd139389ffe9e3820e58f363d55d935aa3fc937bf4cb638abe675362b701e34ff5035348bf03338f63228340feca836a5be1d38f810bd38877ac2375dcf9b35509d6d37cfd041387ca7423638b0e4334fda2738bc659238e1fb2a37c2a9b43658737538ed09c7381b21803729c60a3440a41438f3d19f3831b6103609fdba32f0c2a23262520838ad9ccf32860dfc343a86743f95ca393dc3fe8a3690e7b73538366f3f9ab15e3d6b296f3670ba0f34ae015b3f1231013d6c4e2a34345c99369090283f8821dd3c24e78137b1b0a035151cec3eb9afeb3c01543a366ba2cf33296b883ed534f53c4b0ca936905ca536efa6813de82f053d52f022371609e033b02a213aea42cc3b9d620336f721b7325f83a1371be697382470e8327723e4355d6223386cc060393a523b3681895334a38e9c3824a21839d8eb08347d321b36ece11b38657bda3871bf9d361e5e4734796c6a375fe6d9380021d635235116355b01e8380e1a23399a5e12385b1f6336768ed338aaf50b39b3bbbf368f0dca34147afa36322fd03748d149351f8218359a84a738391710394e7eba342e30d7351b0cac38b45e08399595cc375c4be835de75543ff9a12b3e20be2136b9633534c70f4e3f60282f3e16af1e34931d0136aefe383f9055123eb5539736226b30349a540b3f22c40c3ecc3db135e6390a350809c13e6184e73da6f50337d4fa4636bd98423ea902bd3defd5ba361f099f345c55033d9e25a43d37d6a834810006359249223937cd493dcdc9be34983ebe35deddf5389906ac3ccce0183684b29a35481cae381fc70b399a0305363bf94e34c821ed38ee8d25391c0fa534842b2f3583e3e3375e37ce389cea6135c30f7236bf608d3887cd11399f05a8362be6d034289eb6384d2f0639c3f3cc3576613e355eae04386eddbf387796b135facf3236b7b0d338bbdd1d39d91c893653fa2c3431dfbb38de452939f6d70036ab16953514dad83798f09838f3006136bbde93357fec283f4de0ae3eead3d935dc64e8331a50263f38f1b33e8382aa349cc6243514d3103f96c7a53ef2735e35191e67364504dc3e6fdc893e44e496360ddeb434530f963e7d5a4e3e2ba68835907e2f35ce60213e3d460c3e2fd9b8352d382136e6cd913c093b8c3d8ac66f36a9a3d433c9053739280f833cd1fec3356b208535b89a7d388932b338f8ec4a3635ffaf324d3a8f388293e9387ecb5d34d651823500452a380a4370384f64a4352bf183357bd2d3373db52238b244a735b60fc835e1f4e5373aa34238d2060536c18d6835aa6f14372789cd37176cae359528ed35b84d183805534c38fa33fb35771095354d47f037d09a3d388ea5d835e17e77358568a33792e47b38bdb1f635f8133e324d2bdc3793ba8d38eed58934fd499d321823ff3edbba003fb267403411dc1b35b8d8f93ec832033f3f496135a83e0e35ac8dd53e0b7af53ec8354c35f628a8357dd69c3e7756c63e58e0ef35921e27354475613ee1aa8f3e198e8735a15fb4355db2e73d4055473ea2ffce35403084357abf993c4473b03de577a73588ac283563f9ad3868f4983a2667ca3507c20632560e8138e44a4f3955cadb3207093736ddcb803892359538fa8fd7351fa2963551f00e3933a7fd388747ff34bfec5d36b9b1f338d3b1d738ab005136534cac35d5d71b3883dd3738b0f7bf354cf07b356fc6d538e420c73845681b356feaa136a107fd3891bee43874d39836f2e4673599dba738fce1d43874ac85359e56ea34dc19f738af701439e36d85346e8cf435c3f68e38effaa238fbaad0358d4d1f361c95a73ed76c2c3f323684355a028835a39aa33eb56e2a3f12473f3404215b362a848b3e5197243ff95f273657aeb235a2674e3ea281013f55636f35edc86235c0ce0e3eda35bc3e885bf834fa0e9836cafd943d84a96a3ecff28536c38e50353960ca3ce1adb33d73943d358bd3cc34c076483930ed953916d48434acc6d93523e9ee38314044399766c8355088e23524831c3977930b39910be735101ca334650c24398eb9fd38e41ccd3434dfd434c18c6637d9e61537a648c234f90bae36da2be938f731ba382b61833649b3583797d51d3954050d3967d411350797763561e5ba38bfc19e380d16043434d78b36c91fbf382b39d938a2a25d3657e5b533ae90f3385c54063973e03a3435a3243664ae84387a267538814a1836cd71f1351c441c3ee9d5533f1f64ba3569df6d349b400c3e92a5503f3c9ad4349a8ec2346006e33d1a43473f428dac347fbfaf362d6ecd3db54d1e3f9e83513656e44e356ccd933d71cfe03eb0ed0f35b2736e358e23773d52c1843ec57e0934afb0883674e2453d6ffbb23d3b80323644861833c318c33c0438e63a0aa4183480da1b365dfa453b799b9738f74e12360c53e13296dd4738a1a6bd37dde7aa32fcc7e235f3438d38a2492d38e180d73489f62237d7d29238be3133384c9fb736dc3caa361ede6338129f10381a2e80334c40373646461d380d03dc376b4efc35d2b586370b1aa838d79b9338f7a7c93604503734bac11938cfe32038f8361e34f81d5b369f0c93383dadb2387ca13f361b807e3623d44338824962389e56f035b5d1d732a104293d92b2753fa784a432cf8fca3543f8103d6548753f6f1ecf33ea2a193776b22a394186673f393e95366b05003614f93b39713d343fd2fc82331bb128366b71df3b19db003fb479cf356fb35a373b7a243c12209c3ec592b036a2e6483463fe673c673acc3d455f2734e2b058363ad1e538e6433c3cc6bf26363a55813643459b3846c0aa381257b235000000000000000000000000000000001ee18836ecfb923664268e37e78c65365090e636693ce3362bd8dd369f9ecd36cae98e37b85d0f38c34f0b38f4d4c2354b46e836e92eef3634deee369770d436c0ec0f37e6371337120d9b37371a0437b94fda351ef854388cdcbf38bbd6e335932e633647df7c361e1a9136b09d47360000000000000000000000000000000000000000000000000000803f00000000f133873633728937a901803f76ea51361669e8362ee43937a2b9653fd10abd36f0dc1f37ef42a338ca23333feb41ae35072ee4367657183757db003fb705d436d5e912374b88a73782cc9c3e9110f736a5afd83598fef838610be03de772cb3568b5563623938c36cc2a493ca7ae3636000000000000000000000000000000000000000000000000000000000000000000000000764a8838863ea236956e6536e78f9331a7e8d338641e95378d126a3300000000b65a5338dc9020368504a9356dd165328c7da238a1947735fc64283492ea0835364ba838766118361d0c9335000000000d74de38fd6e653500000000000000001eb0033956423a340000000000000000000000000000000000000000000000000000803f00000000000000000000000045d7783f656ca036a8b76636d0cd913189095b3f584514387c4533330000000065262c3f934a283696edac35b412633297e5fa3e7b6a703527023134fb1a0f3546389d3efb7a15366cab9e3500000000ed5afc3d82245f3500000000000000009bb9163a000000000000000000000000000000000000000000000000fb1ec6321912b737318f033d8983bd35000000000394e238fbd6c83cb75e0c3633e8b735460c0938bc298d3cb42276364a2eed336922d03725fe533c93ae1c361af9f434419edb38799e883cad9a28363f040a36a216573789334e3cf57a8936f996bc34ef5bf237ac22793c57741636c52490347c1fbb38976a6f3c70aa1d367e73f43530d20e3845dba53c5db76936e2dacb3287cb663fdec55b3dee12c135000000000e68603fe92f803d87690b36c6bbc1350287453f5ba5753d7d1c7336847c4a3409b4183f8db26a3debb8193623120d351bddd53e99ce533dad6828365ed20d36ab67723e84aa4e3d54d888367375e834e0a4643d03e43e3d51f81636bdf6a9344e4b3c3980a51f3db8e81c363659f435934fc538303b073d496667360bcd1535fface23891412c3d54907236251ba733297b12393017303d045cba350000000082951239eebd053df51a32351e53ab3361c480382d77063d60bb423608c38f335e8ac138d7c8f43c3e1fc3348d05633292921e392f6e013da360d63533c98b3360f91c396cc5103de3ae2a3600000000b72c97384c45ce3c88530c35d2114133f7148e3887b6003d06793b35be192a35d11a443fe020363e4f516c36f31aa9330c733d3fdd10383e79e2a83500000000c1aa1f3ff786343e86ac14353be6f83363a6f63ea857273ed6e441367a179c33bfcfac3e29c5043ea9fbc534edfd5c3276373b3e8301ca3dc555c935741ec73356c6433d5447843d49242936000000008e0c85392bc0553d8430df34f6fe42330d175d39ec6e3c3dd6592735d8275a34473917391591b03c8aaf443500000000709c38396be99a3c42b1ce34fa33913426910339e8ddea3c26413735cfa6d535e8f62039dd03963c88d5783695516633d3452039364f8d3c9fa976344b3f3836a7831139b28e993c96c7b6360000000054a61939e823a33cbcef7235ede39933a160283947b4aa3cc78fb034dbd1a3365321cc389111cf3cfd150d377e908734904c203fceeaaf3e036b0a3500000000cbf4153fe33bb03ea46ebd34031f9e34c559fb3ea483a83ee2582f358360f535fa35c23e04df8d3e162b6e36ddd38533bbb7843ec2d3543ea22c803416b846364139173e08c31e3e60e5b13683981332fd8c073d8fdfc83d33364a3509f5a2338d407d3911de293d37ada934c04fad36c92dd23998e6063dfa790a37d78e18367e6e09388919213b22590d36a473b63573100c39e35dc43a9c90da35d542fe35cab362389307a83cdfcd1636a1913a36494ca037c0f1363c4e663a365cc78c35461d1339616ed53ac4f2a43522c035364b11a33723333a3b34564836568f0c3686c67338a80d473b603305368be3c135118cf938b3beb43c7e1edc3509311036776a1937e779663c31bd2836e4ab1b369d14f23e003dfe3e777d0936fbfeba3536d3dd3e762aff3ed465c93586790036931bbb3e7700e73e9395103696873c36361f903e4ad1c33ebdfa30366d95913593ea573e9d60933ec4a59735077e3636a1e5df3d676d5a3e464e4036d36c0f36f3ad033d8063033ec865fd35da28c935b4fd3c392249383dced0ca3548ca0f36e47a9f38d1ab733ce5402436af6008373f201239ce45593b75adc036fcc59034f1c94839bbea193b9490a533b2c70835ab6b063938f41f3bcce2423487b9a936a1832b39e5c51a3befbb6f364e158334bb631439b8907f3cce169433187a5b3619522a3919aa563bf6582e3653e12f3545da2b39b1c8893b3c29ed343f5ba834c93f1439943ab33c3c499e338673ab34ffa6e7382f349a3b12803935362f08379e6f9d3ef682213f3d1fb43682ba9234240e983e1a88233f0033a03389832b35acc5773e0ce31a3fa4e57533250dad36a6f93c3e07f7fb3efe3a5536100d833454d70b3ee36dba3e0de98933c032683604658a3dbf89823efab71036c3de33359bcee53ba116103e1337c134e654b83484645d398e32f23c00000000ef21f03444e921390a1d8c3ba2ecb934b9191935d23e273930bd273b76936f3327a08f3403f0333930033e3a000000000a212336fdc11739f2558b3a561c1534a560c03554381c3944b5ff398f5249321945c63458c6de389956a23a2f1ab33389b43d36850fe7383076913ab93b6134297e04350d394b39a04e623b000000007685993528a71c3993d5da3bc959a833439e6136f49f0639c8d7a53b8998ce355bc0233590351f3e45cb433f70b247335915a434e798183e85e6453f00000000e99123369aee003eeec5393f6024ae334d4fcb35a790c63d8f03173f4e6f5132f0dec7349c288b3dc369de3e2b35a733c0543f3606b10b3d4d1a933e3b521f342c59153574bfb13ce605123e00000000cb58a0354a0ff53b362fc03c7306af33900a683630b29d3b1d499d3b5ce78e35dd676236bab2a638bfcbfe3af1f3ff357d70193657391d39ffcb4f39abd106352c651c36372798383e736d39e2c11c3506558a36c1fd843800b30e393b7a153693572436c5bb1b3956a557396bca4c35b5b71f36b3069838f29182391c28ff34083e71366156d63835828b3ac61fe6352d9a0736a11c2b39e664333b396f2234ad55d03578ae063823e6763b22af8634d80e6436e65a263dac8e673fce32ed35d71d1c36c224ff3cc0436a3fe40da734e36d1c36b9daaf3caa715c3fc1b4ef34d2288a36bfa2a63ca11a2e3f671c0a36c06b2836122cad3c9c62fc3e9332213572ec1f36787bab3c86fb9f3e206da43498b0733643f2973c8e0d073efc73cb35571c0c3616e4ff3b21dad53c00000000df2bcc35af11a53b390d8d3b7f021d34000000000000000000000000000000000000000000000000090d1a390000000000000000812e2b346e93dd3800000000c7ae9a35ae4e0436dadad53823e50b3548d13634f2911b35fdb10039301c6232a4c9a9358772073678b3e938000000000e699a33b1506b3474085439b7339131b2cd643621bb933609288f391afe1b340000000000000000000000000000000000000000000000000000803f000000000a61ba300000000068df7f3f0000000000000000c64df434e475603f0000000031c19e35b6bc08368f65313f5f4b0f3554713834eb6e4a355b8e023f431663322dc3b635a63f163695b8a73e0000000075288f3321ec883785af133ed0d691317ee1663622819a36a0b0e33c000000000000000000000000000000000000000000000000000000000000000000000000e3c0c73452f0e334ad01fe34ae690b35f8ae1d33cd552e33a909673389b483330000000000000000000000000000000037200134a2fe0b34fa73a834c8b57f34f6a77333d9c139341e23d133d1f7953300000000c5d86737dfcab73600000000608b193491421837e3c4c13484f23d3300000000000000000000000000000000000000000000803f00000000000000005ee2b03499447b3f53c98d380b202b35987df532cebb5f3feb6b543852b88c33000000009b8f333fdbc9603800000000e7212d34f1b4033f87ae353763e7dd34000000004d0fa33e0a1ba6394ca53f3400000000aa44163e607f4d380000000000000000b774013d706239389c663034000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e6518731a1a1a333205b90337392423300000000a9bf3b33389aad330000000000000000425117346c303c3471fa8333c2df3c334fe5e733b388c233d1c3b33300000000d68aeb3553188233b9a9be32000000000000000000000000000000000000000000000000000000000000000000000000ca51773f7b67343d0000000000000000c4c96e3fbc205e3d0000000000000000cc70593f5d65d03a309b103300000000e3f22c3fd84d803b0000000000000000efcffe3e49f5113c4a2b9b3300000000237e993e07eada3c387cd3330000000063ddff3d24cee83c503d053200000000987e333cb61b0d3c00000000000000008403b337c7eb1638000000002a118c34d87e8134cf5f97347fa267344afa053426d8203436cd00347828dd33d18db23206a00d33775b9d321af9b132a0a75e34e55d9434709cab346740a634b05c4434d0fb7d34edf89534e792af349e709b3137bd80321b2c3232e4284332ec18543408829434b465af343964af349d7b593486bfa034c175cf345c09cd34f0150034b87338348d8966344960fa3301fe563472b65a3f25cc233e0e0b8b34d5f59133db5e553f4895293e8032fb335d5b8d32d4af3f3f9de1e33d5c9845322d5f6a34eb34133fb91bd93d7cb28c344fb74c347364cf3e2cafce3d49e59e3400000000a481623e9f7dbe3d42515a32cd526f3439f9493d1198b73ddc509d34439f56343ffc293a4b82283c00d5c534670a3d3244a28e3450d0193af0bb4634e0e70a344e2257341e1c1639a5783d346bdb6d345d468c3401704e3443dc2e3425e83234d66a5f34b51e2c345d4b1834f0d45834d33fb5347870ca345ef186340b54f633c1f62d3470034c3494453834bcfdf9331bd6a335224f3d34379fd4337e2c113391d0d53306cf2634ffaccc3305b35634df6c2734e7998a343c607a34f6d2fb343736003500700235c4dcdb348fb8353486ca313f023aa43ed2cfdb335c406334bbf02b3fc6c9ac3e3e032134e3ff4b34d727183f4207943e76cb003498c96534b34feb3e9f5d793e0a1b1034764cf033450c9f3edcf2413e826457344ae7b833363b3a3e106b1d3ec9b0333486c568337423343da7d9b13de7dda8333eedc433758e963a5e08ec3bf6899534286bbe34e7a96c396bc88e3ac222ec3424ab19303e4d3730e2ba0330f1261330000000000000000000000000000000000000000000000000df5bad2f0000000000000000fb246633da71c33388cfc43000000000d656ef33bb69193417e1e132000000001b416633fd4f45334684f23200000000f9131737f972043600000000000000000000000000000000000000002a78fb2f94933630074a48307af70830aaf7e82f2af2013f5293033fe00c1830000000000de4fc3e3b30043f0000000000000000b2b8dd3ece0fed3e00000000000000005bdaa43ebc96c13e00000000000000008a086b3e05b7903ea2ac103200000000817c0d3e85773a3e1a6eeb3200000000e1d6373dc11d9f3d0000000000000000050c273b60ec773b000000009ed0053017ac08396ca59039b792193052fcc734fb44fe34444509356ef48c3453704134d24845345631e634acf78c33ec53aa33cd3fb933d9c36933b3318333f61b5d34e7c61e3458c3683433a20e34c44464346f793534ff481c342a732c345b1360341bc77434e51e37345fbbe233965e2e349acf16365acb7f34e8a15d34efae1534a6bb4f3446a7843430a1833478e454340ce32834c1ff573480222e34bd12a034e6c2a23ebc75323f55bb86341cf8fb33e785a43ed947303fac548f3298a2c2333f09803e3645233f47b02b33365dec33e5bd413ea402ff3ee7617c3323b53d3483ec153e4a1ac03e693af8334e462434f500cd3d79645e3ede932d3494a427343887943df864873d997d4234e33e1b34695fb23bac2cfb3a4ed177345f1091334942743a3d0b133a9b6b1d3401466034ea714d382c1ad43429340b346f32be34627cd534357aa134f1557b34c1479134c2d0a534407b8234f77a703431e71333144de533d67efd336624fd32d18f8a34eb63aa3499268f341d52763420a79a345a0d2637b42e9234fdff77340000000009be02361419273383b6ea32ec0c2834cbd441348c728c34a8d42a3417e1bd34ebcfac349ff8b634cc069a342bf38d34d8d91b3ed7705c3f4a115632eeb8b934008e1c3e8dec593f852a5f340778a7346deabf3dc028493fd27e4b341de14033286d9c3d3a1b203fed4c6d31ba84a034f8a0923da0e5e03e91ec473477f8a834c0ba9e3dedb8853e3768593441c4ba313f48aa3db00b953de65ba132bd3be833b7c7713c983aed3ad6975f34d43ba83485fc223a7f67a836bcd18d34000000005123b937000000000000000000000000000000000000000000000000bb2046323d23eb321150853237d1c232b886f53038250e34d3562b34241ea1330000000043797034f2885b347cabfa330000000015b9cd37420cfc328447bb3200000000c942ea3639a3f533904f95320000000000000000ac699b330000000000000000000000004ab073320000000000000000bee5323d9f49783f0000000000000000958d293d9867723f00000000000000008f521f392be75b3f8ce2e8320000000027c32e3aea062f3ff19546330000000069610b3cad02003f2381c033000000006692db3cd09c9c3e2d79b8320000000003b8273d8c5df63d00000000000000001cf0043c441f6d3c0000000000000000ad7608390000000000000000000000000000000000000000000000000a095834d45aca31aee7f03250048c3300000000000000000000000000000000dbd15a3425bb57332648f0332761e6332005db3422494c349e3ce03372f8983400000000fa8cf637a312a4370000000009772a3342ea03381641e037110c4133d0c70035424ff234cd55e7347cecef340000000000000000000000000000000000000000000000000000803f00000000ca3e3c3335ae303858617a3f00000000000000002fb10838f4005d3f00000000fee0863308c7a638345e313f850abb328a058d346292e23784c2fe3ed2084b3400000000a208a138ba9d9e3e00000000e264943287a3b138d58e083e8767cd329000d834b6a8b439dd40de3cbb6dea3400000000000000000000000000000000000000000000000000000000000000004aeda334353d98344b452535673f4135000000000000000000000000000000002c31513429456d3448624234b2ed273408073c35c65806357ccf4a35e26e8a35e9079c3498599534adfe5c34140ced346b5b8c34fa4bfb3452d4bf34dea7b334bd7d213430ba28343e76a7340d36e33400000000000000000000000000000000000000000000803f000000000000000017db8f34948b793f0b4c4735b6a0473500000000f8cc653f0000000000000000a5686a3426fe343fecef4a34b9751c34c54a27352507003f76f58135abe88c35ebcb7434fe9f963ea2e26634be71d434310e9c345554d13d2a89b93452e6bc34320a1834b6b9ef3b899bd4343c1abd34000000000000000000000000000000000000000048d9a03448e795330000000000000000000000000000000000000000000000000000000000000000000000008ceed931d60c0032329ebe3190bd8931ce78a1345ed19f3471b47b34a785ea33000000000000000000000000000000008d090d32fd84233237b2f0375d43b1318bb30b34864537349ad21d3471944a3300000000000000000000000000000000000000005a11713fd49b8b3d0000000000000000f01c683f7438973d0000000000000000e215563fd728253d00000000dbb8f131987d233f63773b3d4ad63e3171069234eea3e03e6bca653d503f7d3300000000acac703eb49a5b3d00000000190a1b320edc333db88a733d37cf7431829a0234bdc62b3ad1cb093d2b61813200000000611d283732dcc83a00000000656fc931fd089c34b8d5d034c3c50734b1f8cb33a87232348d91893448b8e233d4b4b533f35f0334e8112034bbb5083420488a340f217f34719188348d6d71342713b5345d5d2e35e6234e35cf5ad3344007ab33efe03a342760df333343e233ce5c0f3453ec15342c362034b29bf8333c86ca3401076d356cdb9f35438ff234000000004732a83100000000b0ee8b2fa414df31a453523f19a0443e4bed3031732298330c614a3f6f79423eb88e123419bc853342dd363f6e97263e68dd223431545a341fce063f8ce2163eef9769340f1bac341081b13e747b0f3e28d3d83411c27c33a96f193eb6bc143e7e0fe533e9daf4332d13a53b9d3aef3d9c45df332a0db634f8f3c539d605973deb73f1340000000000000000c3920a3d48604a33000000000000000066bd653a0000000006f51734903560354c89183a0c9c46343c8abe33d1395434305e0a34a91dcd3300000000301680325445a133000000009560af34d44ad93441bc73399f2982345fb00b34967f8634e3a89239a6471a345991543488237e34ea73cd394843043487a611346575613442650a393b0b6734e4f312339a2c87340a0a6039ca7fe0330000000084fc2b3ff4c4b03e00000000de820d3449cf233f2877bb3e587230343bb0213359060e3fafcfac3e1c97db33a34e1d33643ece3e1b99993e00000000bdbaab34d133813e8d60793e085b4234cec3a6336ef4db3d771f453ebb8a1634226569348e89323b634df73dfbe9b33372e51434afe0433a3867473d2b153c3491a03e32c8b869391ae28e3ba111f633000000000000000025ef9c3900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000909bc6339f8ce83331be053a424fc13200000000000000001506e0390000000000000000000000000e222f3a0000000000000000000000003b67a03900000000000000000000000038ac393a0000000000000000c46eff3e4740043f00000000000000008d0bf33eab68053f00000000000000002915c83eef63013f0000000000000000b7958d3efdd2de3e00000000f426b933ec373d3e7f08a73e00000000000000009812a33d15336a3e0000000000000000dbee683bafe3f03d00000000000000007a7a7f3ae7bac23c00000000000000006f72513a215ff53a000000006445b6331752dd3323b27c34bd9f1633de4d8b343b019034daad62349bdd1e34aead0134436a3934113563342eff3a34af3c2d34c81cd133610873348c160d34bde7973464932935361b1e351128a63400000000403533333fce9339709bd4314ebde733aaa9ab33309cac380b77b333dd7d863474858c35b60e443aca39f73300000000000000009ded97390000000035aebe332d96a63e4a1b303f65552d3216098434dc84983e8d922b3fa6662e343612c0338d766b3ec7d82a3f56575c34018a20347662253eb6da0e3fb80ed233d78d9634a87ee83d7e71d23ee00ba73400000000bebd6c3db026853e16209e3262b41434007ad73cef0ed23d84dec233974f89340905003b2a2e093ce17d1034000000007b02a43a4ecbda3a000000004f7bff32aa0dc4391b6fa731000000000ded0035e1207735612f8535f7d3bf3467f1d333bee507342ed71f34dc12ec333bafd6330abfee337e5a3b34599a80332ccee434d33002354ab2fc34db7ca2349ac646346238573482f481342cbc4134a3381b347aaf30349f4e4237df0ebc33e659c533506c1c34ca5d7b34faa9ab3349d1a6335246ac340f919b347ab5a833bde98433c884203e222e533f0000000049c7fb3463b4003e55c9503f1b388f34645ac1337762af3d4af24e3f8406d133dcf3ee338e3b853df426283fe86d2e3328f4e1340c58873d7880ed3e64a66f3440143a34cb33883d0e0b8d3e36d7343452c62b348e79593df438b43de3387d335773cf33b670e63c0fd2d33be9bd0e3356a36e33f6a03f3a110e493aae86db31000000000000000000000000000000009de9313418b24c34c87f2b34654c79339744b031e62be431443e14329c9cf73100000000000000000000000000000000d01386342b8a7234b91f7a34ce2b303428718c31d4d0ad317fb8dd313d6cc63100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f7e3583dbdda743f0000000009d41c34941dff3c4599713fdbe58a323e718331b3152a3a046d683fc3b1113200000000c7fb663a10f9383f00000000859d8a34e5aa263b5e1b043fb6290a3457ba4f31d4ec7d3c1c03a03e2e4aea31000000007a48db3c9d4ede3d0000000000000000f3c2563a1f29ef3c0000000000000000f51b233abd67913a000000000000000000000000000000000000000089572135e0dd9c3432b960343c52ed339e04ae34b72f8e34936c993478a49834734c4a34902a64343b828d34b30193346b2eb33531e170356ee56f350a5deb34bc55403493443b34ebb96434685d443400000000000000000000000000000000f0d25b35bbaa153573e41d358a645d340000000000000000000000000000000000000000000000000000803f0000000005351935d03c12352610803fe7b50d3479ffbd340221bd344c73673f70629234d826aa343d3f8d34d49e363f49b05834354ab3351c8bae3524f0013f28a8f1347e1532347bd54e34ca069a3e512763340000000000000000aa58df3d00000000e0c6563545e64e358a4d043d70715934000000000000000000000000000000000000000000000000000000000000000000000000f9cba03964260939c47019340000000095fea63912644839000000004fc8ff2e4dd36a3949ed02391bdbff3200000000245d9639c278cf38558d95341ca75a2eebcbbe39afa0dc389b58bd2ec1124c30833cb539de5b9a372c35af3000000000e6eaba390497f8380000000000000000000000000000000000000000000000000000803f000000000000000000000000fb09753f89e11239cf5f1234000000003555673fd5a159390000000000000000f762323f98b219390000000000000000332cf73ea981fd38f82a843436b3612e9113893eec1be93885d0c02ed28f5230ebbc6c3d4e14ad372a21b23000000000df26563a5c3600390000000000000000000000000000000000000000d625463262a09d39757afb3c670a9a32a3289b30e7c4e639a301be3c20e9a635000000001006d4392767a03c0000000023775f316927b939331e9a3cb3240d3200000000e480d339a636ab3c95fed035000000008fb7da3989449b3c000000001efb243213b7c339a0b5b43cde21993200000000d26ce9396724da3c44af5b35000000006e8782390fc0c63c2babaf329df93e3242c6613fdb31233d0649ab321eac9130e09e503fd65c423d5322b135000000008568463f6d63563d00000000b7d96431951e0e3f30f7513d2ff50f3200000000dd67ba3eead0453d38a6d9350000000038351b3e22b5473d000000006f37293255ab0c3af96d363defa39b3200000000bd1a1a3aa78c323d9e766c3500000000f552ab39665c0c3dd19fec323082a3335a8cbd3995d6a83d81dd0134f47d7a332613d9394869b63dfc10033400000000085ea739b733a63d0000000003ba16330b97d6391120ab3da0e77833824b0731f935b239c56cb43d5b5b193300000000ed4dc839c47fd43d000000008deaf0308a0ab239516bc73d024e313221a251339140b63989c2a13d3d2fd533000000008b1e7539b30d8d3daa11ea3208d1af3363bc3b3ffd4ffc3d0a6df2335bb56133bfdb333fc9b5013eecdcdd3300000000ed4b1b3f4389003e00000000143f243388fbd93ef7cdea3d88c06533c98cb630cbfe843ec74ece3dc235e63200000000ff079c3d2a43c03d000000001ce4ca31e289e4393893b73deec2d13146914f330849e9393781bc3dcef4b73300000000d2fa9939d8cba63d8757de32ea04ed317e80a2393af2b33d7db54233826edb328db8003aad88ce3d112f28336062272eef4ce139546ccd3d4186033100000000d7a7b33905a3ef3d000000003e1da930c766ea39f0960c3ea567a830a54aa03290ede8398c9b0d3ef980aa320000000001fec539c1b00b3e0000000093931d337d7fb739b9ae003ef88f5e33c5088733e7e59739fd70d33dbd9d8e3389f2073271140b3f8832883e03b1a33215aa1d337ec5fe3e03e2823eebfdc5325e992b2eba82cc3e2497823ea420d62d0000000030798a3e0cbe743e000000007806b13050e20c3e2343563ee6189430f467a4320c46e13b1b55183e58e39f3200000000f0c5063a509bb93d00000000ae4d7c3392ebee39a502963d6e340733c4bd8a3335cae7397b715e3dce478a33d91867313124d139d2399f3d0000000000000000d1b3203a6233b43d000000000000000051480d3ace12c73d0000000000000000b1a0183a1e2e063e0000000000000000039ff739158c013e00000000000000001ed5173a2e7f133e000000000000000039e0073ac6a60c3e0000000000000000dd800f3a1348103e0000000000000000efdd9c394642ea3d2e7ef43099611431d512b93e9345d73e00000000000000006738a33e7c05d33e0000000000000000fc69813e656bce3e00000000000000003254173e8a38bf3e00000000000000001973a93dd8e0963e00000000000000003b9b813ab2e7573e0000000000000000813a203a0892f03d00000000000000009a8b283a570c413d6ab9d32e000000008570c3396da6093d52ae8031b2e27533d835f439b41a3d3d7c70b1334b7a5d337a4c0d3aa2e62f3d17b67f33000000008b0d163ae24e843d00000000980f8d32f325143af9f4e93df2c1da32d5b2643049df093a03fee83dd281f03000000000153fec392a9ceb3d13df8230098acc2dd4fd0d3aed47fa3d7dee51317c811933ccfc0c3aa322f83d55f31e3379cd7932482e9e39975fc03d7efa1f32e29782330b36503e19161a3f0950a53390a33f33ce44273e24191a3f34062433000000004f4f053e98c0153f00000000c7039a32e707913d369e073fcfe1c732285c7d30b7ef2a3c875ccc3e7e9dd830000000002ae95e3a141c883ebf29a42fe870c33068fc2b3ae79f053e4c422e2e07d01b334f8b293ab268013de3efae32cfd6a432487b143ae92d8e3cc5111032ab5be2321461aa392d5f9c3c51a2c3327d22c3339bf7fd39fba5bb3c20b26533d3a05f318d91db39f2c4c03bf379e931000000008337df396f02213d00000000cd61e5321f8ed139acb6213deb68a93160c23a33881ff439aafb4e3d96f73533000000001cebc239dff6593d000000005ca8d9334764fa39e0e7653d2bca8533a088c7334410cc39ec82163d0ed7c133b577fc3248d2953d568a433f000000004f77d933d035483d3d5c433f4266253320d73031d8fb103d5b3e473ffc75d73000000000fdb7a13c38662c3f000000007c781b33394aee3cd9d0fa3edab9c430744c3f33ccb2ae3c815b9f3ebb6c2a3300000000fb30653c556e013e00000000aa780334510f153b06f0f73c35883733b51ecc337ddf483cbc6d9c3c0b71b833f5bce332a7dcea397a41b93c000000003e62723536a93b3aeb016c3cbc6bc92fd3a89632792f1a3a037e293b35602e320000000041c1183a6eddd53c0000000034a8df35b7ef213a78080a3d00000000c5390b323702233a7b25753daa0e70310000000037f6333a4b1e883d000000005e06b735e743283a24ce933d6e749d304ef192325cfac839e931163d9f954a32b8d2b732780e5f3cadd9683f00000000bc9180355ad7903a71da6a3fab49f02fb5489a32170e323a4ee76e3f412c2d32000000001d1c333a8112423f000000000bd1e5351daa403af32f093f0000000076450e323a78653a93f0a23eefa36d310000000093495e3a247db83d00000000ab8aba3514a83f3adae0373d75d0b430053f98325f63e53951f0793c38765a32000000000000000000000000000000000000000044916738ec9fdf39000000008598ad30b10dc933dd82c83979ad56309914bc2e883de737cc97d439ac17662e4dfd86340958263874fccc390000000000000000b991a638151e393a00000000000000005fd41839034f473c000000000e2a043428c79438944c373c000000000000000000000000000000000000000000000000000000000000803f00000000000000000a5bd8380532803f0000000016c5b23056c24734d8c0713f710e54308896c12ee66ca9384a1b3c3fa57a632e6d389f349abbd2383fe0043f00000000000000004ff30539715c9c3e0000000000000000b0d74c39473fb13d00000000e0872d343100fc384d990e3d000000000000000000000000000000000000000000000000000000000000000000000000a5180637f78227379c0b2a3725d6bc37e11d9437cf007f374042a437881fdb37711b153897fa04388f2b13384baa7e380429a63744d9803769559837df5f03384bc9a93738329737fb6dab375944c5374f8ae0372ebfd6374c43e837b542083866cb3b37d5ae773729946037c930673700000000000000000000000000000000000000000000803f0000000000000000c66983368e5a7e3f6b2b2238f727433717213437cf66533f5555fb3726b1b937c2dafe373f002a3ff446413948751a38fc078337e864003fe1511638c124bf3784c985377becac3e869dc337369bba379d12a137d452343e933721385d61e837dd01f3364bd9003cb38e6b37bd27633700000000000000000000000000000000393629375448ff374c1c0138a944e4372b927e351d68c836427a6637c4c52d370758f336f4f64337fbacb3375fc6d037ecbdc6377068da3745192838b74766381edfed373bfdfb375bad2c3a400e843a0bf3b23735b6be37872de937a0b4f937dc278b36c268fe36c8e56c37df73b23741b73e379fe7d637674def371cf2083874f07a378761cd37b2d6da372f8ce43794b19736ebc87b3f43a3843ce757ae3746b8d834a859753f7423083d26c4c036c10f0c36eb8f4d3f2341fd3caf5f853738549d375aad263fb047b13c18f20438859a9037fbf3f93e092a083c4340093aa2bf4f37c554a53e4745c439e42be4374e0c463657e92c3e49d6b938672d1b37600cc1366614523cea154a3877d9b73777ebe236e9e3f4372aa7e6379f99cd37ab366437853e1b38e8821938802fd437e202913786a90438dc440938da96ca3732a28936f8351a3786514737cd4351374a70c9377f332a38ae3a6438bf2f7938c269ae37a906f7378c232638a9621d38f1fecd37d19a0338abc2383888c04b38130e0038396925385d94343811812f389f66a437bb870438ff570d382bcef7378a8c0238a29c1c388fcd1c3827d51938f29506365171523f25ec353ed8206e3782b6c0369d924f3f944d3f3e3d4c93371c3b2d3653a12c3fba412d3e44f47f36746b3737fac60e3f7ca6f83d78d1f9375255a736382fd33e8812b13dace1ad37a16b7737a8f08f3eb90d1b3dad75b73735c59a371c65203e63d8b43993960f38514a0c378223093c96ae31389af9b037e8d1d13792ca24386f7e1d3872bf0d386439f637cf115d381d3d473802600838451728370d66f0371bddd9379d6b4a37034f47375d8ec8378d80ca37723e9337a527f13631df0238cd9e143871a9b5379bc7a13785d3c837ef7ad4375eb1c837a8f9b537b88c073843ff1b38bf13fe37c3f98a37c649dd3788f9e937400fbe373fd13037ec808b3770868c37930b57375d0a8037cd5eb83720dab037cc899b37abc62c374aa4293fdf76ac3e1e26b03787440537ea80283f42e1ae3e7d3c1337de6f1637357a0f3f6529943e25671f37cc2985363af0e73e7388663e37fd8e36dbced7361379ac3efc1f263eca0e7037091071376be1663ecd1fc33dd9e492373a5404377d44f13ddfb3023d5d49433700cab436ba20633b8db4d937b00915373a59f736c08b02381fe5da375e6851375a0cab379ade3838ebac1338dd238f37d3b9d736c78b2038ca27e137f5eac1368a47d6372f3ffe37aa9fe8371e8dbc37849f94373764b037d94ba3379c5482374c85dd3742deff37c943f337ffd0d03710c1a0377b85bd378fb6b0378e1e8f370ebbe6374a200438263001383dc1da375ad938373d6cf737bbfee23745653b377fb9c1372d19f4378b30eb379514bd37a681dc363e64003f1612ff3e189bbe36d1db9b3692ce003fb03ffe3e6c7f9836343d3e3781f5d83e71c1d43e9a0d2237fd6999361ba7af3e16e8aa3ea7d49c36962383372dd8813e012b7c3e238c743784071e37067c2a3ed53f203e23dd0937be88a2378823ad3d9f639b3d1599a137e1dabc36c0b5893840007538c633c2360dbb9837b9df1e38d45914381a7597374a096b37903f203829580b38033bbd36aa1d38371deda837c1fa6037fdeb9136f225ac37f51bea379ecda937ad9d1f3743b9e437f81021382052d237c8c49137d3f8ce37ce2ee2375bffb73703469237f636163835733838b420e837741ee93677bebd37acd0fc372590cb37013d8a37b969b1373d57ea3776a4dc37b8757f3706ee25383d73393889ca31381ae31438f8a34636dc9dae3ecf9a283faacf3936aa8813366756b13ed769263fb8fcc7353a36063740d2983e4e380d3f2493b43609d082376f26723ee29fe23e323663373fdb73370917303eb447a83eb7bda536afcbbc36dcd8d43d69f75e3e44c1893666005137e9632c3d3bf7dc3d5be22037960d2a376e8c2538c0fd24381a951d37708d0938cb1a4b380c834138728ddf370fef123882d942389ae52038550bbf372d03db3752f816385b19de3768150c37b2ff2438179a3038b0b60938c624b73707283f389f583638d712c137e69b82378ce52038c9f71e381781d43754958137b18a80386cdf7538a88725382ceacd3710b371376ea58137e8e13437c661ae36829afe37f1270d387505023889a9a1372483f93755130538a18df2371155a7376afddf37b001393ec0a7513f971f1037cbee33371712433e41084d3fed53e736e3dfef37bbd3333ec5c62a3fe9e97b36256aa53736c9083e5c170c3f5c1469371e3cbb3724dac23d24bfcf3e25c793363145283832d4383d6b028d3e9d863a375e631e377c3c033c4dea173e3c623d363765bc372e0f983876da083b3a6b793704abc8379edb1838f1490f38f5b52c379168da37f45404389b88ce37e03094365f02d6373f010538a5b05c37ac56b53693d4b8378ed73737eaa550361bee4e365d81013859d0e5376ec59037b7b4863787e9893acd4b373a3bcde637de68cf3773c07a3837884b385a50dd37c9c1c237a9c4db3716f4cd3778a088372949073711d4b73702b5873750571b37e25242364061f3373c4beb370889cd37353b7f37e1789d370205a53c55c87a3ff51f4836fcdd81377835193d2116733fc1425d36f261f8360aa6183d3f2a4b3fd33716368967d73738ecc43c9505273f307da43606fc133ab4fa853cfc00f73e64b37c37413e2b3877640a39af58a73e6001a537d253aa37b55aaa399c8b293e522e383604881e371d382e38e00a053cd219453574a5de377a4803383e2af237a87a063700000000000000000000000000000000d3df6b37204f4137c3edfe363b56b7366be425381a9fd4372534743787468e379ca2c137f736a737e36f7637113e8d377dc108386b47b137e1ac7837cb0c9537fbd85b3801aa2138d77e0d3869001038b50bcd37aa6ac737672bb637f78e9737436fce37f67fac37f692be378c0d37370000000000000000000000000000000000000000000000000000803f000000005e375437fbd1b8379cf07d3f6e903733c9b3e2372a93cc385dd5523f22791a377a5cb237a209d4375c74293f125a4a373119c837930fcc387003ff3e6e0f5f374d33283826d08c39c58cab3e313e00384512ba37648a00384f14323e721b62373d8898374a4d06383f3bca3b8ee8aa3600000000000000000000000000000000000000000000000000000000000000001867a83653819b393d760c387c508d37b8564e37f8f39c393d532a39216c0239102119381b3e6d3819ee61388af55738f19bdf378706ed38fb78e8388f3e2c397cf4a137728a4b38d63846389b055f38bee9ca37ab27513893c743383a873738deebc4364cbad13704ccb3372794793700000000000000000000000000000000000000000000803f00000000000000009c8cb53569ab6f3fc828743902191937c347093725fd493f17920e3af312a83726770438a341253f0bef91396cb23c384c43c83709c5ff3e5ee1c539701342381cc23037fdc6b53e05b6c738bb9530385e567e376115583e89085f389b09223825d4b0369f02833d3da1c3378b143937000000000000000000000000000000001fbc4e35075cbb3803fff837a60d2b37c204aa343e66f137ffa0d13705ff203729b0eb35361e32388eda21389e1b753766bcb137161f96391461e839a6768b385a73bb36e2acbd37117cdb37a916c537637b93360bc00638da444238ca8bf1377c8a4237a84528384976393813c71a3802df84366f51d537ba82e437492ea6375dc0cf36244f1a3890e71838f3c1cb3711801835251f6e3f916a8e3da57ec536f1739f345ed35d3f9d26953dd4e58b361c87e035749d3c3f3a0a873d5d3d3237fede6d37a8d91a3feff0453dee2204383eb31336f48bef3e6301003d9c8aae37884c3d367dbaab3e5b5f133c39289237336219377c6d4d3eee24de388461023891bc2c35c466853d8192003871ff9137a0c094367307473864831f3875579537dcf305370483293a42d650380c644e37486774355c89193a5a531539fc5a0337c9dd8836f7f2103a95fdc939dbe8903710947e37ab9c56384ede4d385625ea3732918a36319b1b384b063638299d823791aba036496c5f389cef70382ec056378e003d37a4597a39b3c9b039d2551038e0c9cc35246d5f3865faa837468b5b3650ade736268235383a1b0f38f08e86373375e2369d30493f8c505a3e8d3a2937e1ce5535865c3d3fb405553e1e3c8735f1fc3436e4071f3ffc83363ea2702837799914377316043f85380e3e6daca63736b390354297cb3e927fd33d74b537376137a036df67913e5c09753da32ea7361b11ab36cbd4303e6c09d43cdfb7bb3708f0cb35021b673d00b0c639f1b8e435daea163605107c38c15d3e3882923037780eb73723929438698582382188c337dfc44f36bc55813aec361b3af2ca4f36373509375e784b3abc00f739b8742837cace863716d2ac38e6d39a380de08d373f67be36b0c12b380491253850884137a9d80238b89ff838b5028438a0bf18385cb6cb3672fd213861d01f388948fe36ebede13548391c38834e11385319e7358f7bb037f6c419388db7143897c0c637bc606c374761253f9d0db53e08049e3771bf4736d9171c3fa157ae3eeafa4e36e6515936a3a4043f2c39923efb895536b5826f378633d93ed1da6a3e77c7843788dc66363832a73ed5e8303e226f6d3654d1ab37a1ef6c3e5171e83d96a0f837d686ab3619ca0d3e90146e3d56b6dc362970df355291453dd19f5a38e0e9e53579019a3771fe2f3835eb1d38c175aa37472655379881da39bc80273955bd2a37a6bda937efd1b6398d356038e2122637aade643741408738f03d5e388ccd443706d88f37782f80381fda6038ba7e33372f87b43752c1103aece1ed38393c863778c09737658172388b295538302e4537e0f380371820653870e44638f6ca5b3708d8d23704855838acdc4d38d411b73770cc9937fd755b38e9702d38a7268237ac4b21377a3b003fee0fff3e90bd1437faa3dd361accf33eece9f03e1daab735ba653a374444ce3e70bdca3e43062937ee51223783d3a83e0b41a53e95bd1937cdaa5937a731813e95d87c3e34a2223708522e37d250363ec4472d3eaa542637b5f34b37d4e0d43d55aec63db5494a379aaf7737fd59ff3ca83cb03c5358673786033a370337dc38df99553876633c371e21b937eaa07739eb273438aa798c377950e435549b823899682a3871d4da35b0be013725762d392d29163830d6a2366d85243830e9d239660672387983b637ffe69337dda43338574911384c286936134c93377fd6a9388ff77238b46681370aa6aa371f29213afd5366390ea5eb36db1e51363f1f0d3a64471039653d5036c4840338714f7738b50561380701c037b5cf90374173b73ee623243f6a87743726abdd354aeab13e4d9f1a3f6756d2352460ca3695af953ee2bc023fe4d88136b4f8ec3722b3733edb2fd53e6e086f37f802ab36c0d2383ea9caa33e6c27673630ff8a373815fa3dbb65653e3d5d7237d9a92f37c28c843d6482043e005b5e36160d5136fb331f3c2f321a3dc05f503694e3db37ca9b85384b8179385754a13708dc6e37acc696396dbb10390c7b0f3668d80d36da00103aad720839ce0ec535b65609383f5b273ae0979c38f886a0361f4e70370bcf043a03b624380bbca036d9b19337abdfac3957ddb7371bdd94357b95073807192539dfb12f3852672537427fd3372e95e639c2a42738e6895c369e0a983767d7dd3809da0038e0a37035dc8dbf377cd231380d011138f068093750f2a8360a935b3ecbf3483f7e970a360b13dc3516e1573e07433b3f98d5bb35dfae9d37a9353c3e1ec01d3fd53a9336f98aa436276a153e8a76023ffb9d9e369ff34d375514dd3d41fcc73e41ff91353380cc37af818a3dd0ed8d3ef44c1537c88f8d374506043d74bf2a3e47043936ad2d203771720f3aee06503dab736a351d6e5d3784ad4c38f7483438e7b8e7362279b3378fb65c3993b51c39319e2f364a43a137cc830b388078da3712cf2535108e1038fbe0483829af20385d3507377541dc375f124b390f57df3766442f3663c2ce37001b01386379a337c791173677bd6839f1b10c3afb890b3829398a376116b03742b32f38da20c237b659ee3522e17237a1a3cb37f7d3963710d7ac34ab4482379823dd37d1c39837febd4a35484a4437b34b913dfeaa6d3f5547ff351998653785f0993d68055c3fa37e1635c7cbe4374f298e3d8bc73a3f8a8fd036eb357a37a032663d735c193f142f13361230b737622f183d7648ed3e88211536b4bd0b388839743c0e10a93ee6ad5a37a1936737d756b9382cbc493e5047eb35b5063237f109fc371088773d734aa73421a754375dc3fa37dd13e93721f23a3500000000000000000000000000000000896553375971d737aee500384e3b9a362abf2f383ee45b3857905738ac0b1e37853a5738e87b6938e0f73e38c0280437d40c2a3926d0543958f52a38d7f29837cc425d38676a7438eb125f38eac7ef37603ced38d1827b39b231123904690e37cf7ad5373a311d38737c2538684b91360000000000000000000000000000000000000000000000000000803f00000000196001373a005a3841916f3f96eb8b36c1a10c38a71f8838bfd5493f723e19379b6a323854769a3948e2243f8156f536cac94a38b207f3392e4fff3ea9c4a33773af3e38bbbf9239d1f2b43e7c00e13782443d386648d53922e3553e2a0e0a37c4eaa437b85f28388609813d8e1c9e35000000000000000000000000000000000000000000000000000000000000000092aaa4399038143afeb1db393e4d95397e8ad13949ee283a52c5053a3459c9390a4855390947ef39ab51273a9754193abb079039ca2de739c058b93992a492392e249c396516043abbafdf3977b6ba39cc07a4399a68103a0f35e9397434bd39416b2e39b9af013a87129439b4a0313900000000000000000000000000000000000000000000803f00000000000000002b5b9a3975bf603faa49f439021c91394be2c8396853403f3e97163af8b6be39678148393c981f3f3e813c3a8931073ac4178b39cbf1fe3e5722ca3976978c39080c9339cdbdbd3ee8b8f539b94db63994fc9639b756793e2b76f539d126b639d6e4ff385132ef3d8e729839d3cc2939000000000000000000000000000000002731ee380d7c693ae375073a142807399d483838f698a63a1c84d5398fbc4b38bb16f83728ef9f3a2582023abc95773870a164383018673ae1be353a9b45e5384e8b4638cfcc4e3a4722f43954ba60383f45a939310c673afac7333a1665e639655c82381f05053afb708539fe27cf39e1093238b364583ae916273adffa91390ff3a439e539413a2408243a0cc6c6397182ab3879ab613fa212e93d62a0fc38c50a30381bfa473f4795d33dd6e24738971ddd37facf2a3fae6bb03d01c23a3857bc5d38862a0e3f540a8f3da59ab5380fd83f383432e33e5eb05f3d28d65938dd988139d50daa3ee621183da434da39a20a7b38e863623ec164b13c71f4b239a1401938f3a6e43db7ce3b3afb568939a39d7c39d21d473acac3263a5c31bf39467406387b5c503a415ec439e4c102388f2fe8372ab9943aae2e003a160aec3754ad07383fe6063a1a41cf39e2d61138bfec1838a8c59c3acbb5403ac19e1a3844440838b735453aaa361a3a138511382605c038a6e25c3a663b1c3af5dd7f3958070938e011a03a5cca7c3a373ce23878f36d379092c339b33eb239b3eabc3720db5838abd51a3ae937e3394cfba1382441013843433f3f54a77f3e770c0238940ac73769962a3f2fec5a3e46a4df3792cf0238f4c9113f46363c3eb14a1038e13a11381862f33e14e8193e7e1418382a1e0038cb63c23e12abf33d48830c38b99f0638fd62913e0bf0b03d9ce952396654b6374fd8403ee0ae603d80c78538c4a55b37468fce3dd8dbca39a5bda0376bde5138685f243a43c6fd395a4b7b38260f2a3818d7a93ab7e3833aeafa29382ba1d2378b1aa93a873f6d3a3664d2379f6a07390f64a33c01a9503aadd35e39534f073861288c3a2942483a8120133821d6d13798b1403aefb80c3a6b39b0370307e53786b9863a07685a3af6cf033822aea739817f7e3abfd76f3a23ded53994ccef374e9b823c59f1c13ab99408384a4071388741283ae25fea39f1927238fc9a1438e310203f1a8abc3e0f512038ebb3c337e6ad0d3f69c0a63e6c0bd2371ffc523887fdef3e29788c3e732b4139279fd6377a84d13eebc8673e7a17083824d9a837876ca13e80a23b3eeb679937e126c63743dd703eb98f0a3ee618f837140c5e397ff31e3eb81bb23d01cac7392944d037aeab853d0e6cea3cf75c0338da245838b60c353af2f6143ade0f6b3830ac8038a217563a1cd01d3ac1102b38da9794385a716f3a4857033abca52e385fd6673812ff9b3aaa816d3a95f41a38d9b5b03800506f3a2da3133a0ed47d383e931f39a699343a2e8d063ae86e9538750bae38c46d5b3ac10be0391b6e8f38e67274386917883af016573a58f92d388b6c91389fd9153a49e5dd39ff527838fb098238782d1f3abc1afa39cece66383e374d38fefefe3e2ee3fe3ec9f91d38acbc5d38f292e13e052fe13e3f951e387d6a29387f6ec03edb91c03e56440838a80c8e384881a03e70bb9f3ea6a76c3855acbb3803d47f3ecd8e7e3e8f855f38b0738e38eeef3e3eb7423d3e9a9b8338a4ac39387491fc3d237ff63d3ce91b387b8162383004773d2e69673ddacd5f38057a5838e17a2c3a19d51a3accfd5a38e079ad389c4f503ac5e6223a73bc4738d9f213387824883c64047f3c8eb4b4377818023a9022863a3b9d763a39771e3967101138eff68b3a09f1683adc88af3768d5ea373c36433a4578f739ede4953784df09392deb883a5d24e53920afc5372666b7390541593a4d853b3aec2e51389982eb3789907d3aef75383a9380c7372b4c70382bca863a54bd643adad81438864964380d95bd3e3a29203faaec46385b2a05385eb2a13ee7550a3f2e98b2370888cb39f91d8f3e39a9f13ed59d0239acd2003865ef6d3eef4cc93e4d9bb037c30eb737ec323d3ebdc1a03ea40c9037ad1b1838ed81073e76ef693e62bdc037719587390e43ad3d8460183e41ac4c38df1ce0370764293dd9659a3db1cec23721c44c385c998a3a2dc0873aa14f1338cd46d83870721c3ae2db1d3a09824e38b3574f386417183ae56dbb3925a24937168a2a39462da53a2c508f3aa66b98379bb7a539f37b4e3acd92223aa2d60438023e1c38787d343a08c8223ac3c4e63785924f38ce89813ad19c273adbd4063824f087381d50e2390577cd3977f60038a8d90e383c060e3a5b7bf1392279c037dfbc0c38d613d7393299e4398116013801c35d3881a2773e1d1f413ffa114e38c2f59f374fdf633ea59d2c3ffef34637a44e8138a7a03b3e738c113f47549b37058b6b3955791b3e899ff23e8fac0338793c1238c5e2f53d4dafc13eb77de33755a322381cdfb33d41bd903eb5d90638cfa714380ffa6b3d63933f3e9bf5fb37f6530038a847c83c697bbd3d8ec5b33771050638cd00d939eecf0f3a5dedfc37c14dd03961fd343a75c84a3a8ace3439a68ea239917f633a44cb593a2624073865c5d9399c21353aa427c939265d68385013ff39a668413a0cc6463ae35a4139baaf713850ce223ae1a91f3a3cf82d38984b8a3979f84f3a06fd323af87b4f38a739bf38dbb7333a7c83103ad204cd37e0826438e34c0f3ae825013adf2326382f7a2839725e0c3aec411f3ae5f5ac38a4e8b3398f6ee83d0c45613fd96a3639705b8139b4fad43d097b473ff81a0c383552b9398bf6b23dbe912a3f5cc471381ab4df3909d58f3d12020e3f1b055039a8955f38f6c4643df5c1e23e1e4e3238b8180639775b213dbfcba93ea1d752388ce98e3897b0bd3caa79613e1c08c937d7845238eed7223aa803e53d44832138cdb817390f7f0e3a9ff73c3a5f939438000000000000000000000000000000003dd246395c41c139a3ef203a46acaa38d186c7393043fd396e17143aed1587390bd4bf396620ed39c4f8043abd8d66392b469a3976a9c53903f4d73955056e3921af1c3a6a73483a6638ef39ba0a1e393289d63989780c3a7cfb1a3afd87b039d3fda639ed37e6391316043ab5a18a390000000000000000000000000000000000000000000000000000803f0000000086ff2a39a6b1e339c02c613f5fc6f2389b06b839b9170c3aaf3f403ff819933990a4b5396714053ab3c41f3f344d8339717a9239d3a9d03982c7fe3ef3bd7c390ec1113a5a685b3ac161bd3eadac2539cdb7ca39d17b0e3ae93a783e6e79ad395d9c9c399c53e5399487ef3d1ff482390000000000000000000000000000000000000000000000000000000000000000d43b8b35614f6b35f224b63578e31f37734e1237338c0b377f131537a107883741162e3677d0363689d1993769b9fd372416a4376cce9237748fe137c7ef0e385d3743370f689237142cf337c9320338e750ce364eb7af37afbeb13799b49337e0294c371cdbe9379835ca379201ab3700000000000000000000000000000000000000000000803f0000000000000000c082403590ef7f3ff35c0e3872a9d536f2380b37cd77633f1f38d537bcc274378c3a26379025323f0a717038797bf2373e758d375342003f0746463876a80b38ff583137d8849c3e60a76e38f16400382c1fce363ac9e53d06fb7a389a8e8537c04e5236c11ff2387c561d380643ab370000000000000000000000000000000069b56e36543c4f37184f1d381fd6d63776ce41372d584e3700b51b38d2051838afc10e37347a1137d1675d37ac8ccf37d380fb36b99304370e6e0f3770fc6c371c964237e84977378fae363800b84c3837b10037cf5a07372d1fa9378a1fbe37f87b2e37dc6c3c374f8f94376e087037bfd86b37dbf279371b65e7377b54a83701d8d3368938e43674c64837e904173728134d3687b67f3f24c4923abf8ca13732c93737a0df7c3f653e433cfd5cf3379cca08379470653f9c517c3a3b398f377a3af53689db323f6c20443a124c2837df433c374cdd003f429b353a53eb43389f0cf536e8a29e3ec053f739eb2ca23700c429373261e43d1ec2e4390c964c37214e6537773ea5388e98ad383088923764d5ca36e8755837185d10389887ec365e2abe36a9e2673763cd0238953937379908073632931136b892a137003c1f367393b736a129c7360138dd36b3e0d636fcd2e83617869837b64728383ada2a385e500f3692332636944b723787e14837dd880636d6112a36e0dc4b360ec53f368f5c033798ca69378a49e7375ff0873773b94a3672c496370dc805385a758c373623dc3582a924361e534437f7c1ac366474a93672e75d3fd542083e9c9ada36e9b90636f3ce5c3f55b40c3eae7615360d5aae360150413f25010e3ea9d6d6368c2cd2363b171b3fb869d43dcc7709387d5ef335b370dd3e49f68d3d563a32367530e3356782873e3bdff83c4ca83736cb88f936017acf3d171a3c3cf8c92937d74a48361a2d52384b5b7438651f11376a3abc3530d72b379602d637b92d2336f660cd368bc5113826fd723877d5d43693bc2a366d9db237da830e38383d2d362d0a1837c72b213730e6273718991f37fd48b5366262c736c438cb36db85c136ee6af035e825fc359703b636d55103360d93cb379be049387c476938956b2438653d2d370fe6d337af6c3738ba1a3337ac3be435e4ed20374fa05a37a79c013602340e37f763ac37cdceca37374e4e3789aebd3633442f3f3e7ba13e7212cc36c57e2636e6eb2e3fcc18a23ea6192536750b0b37712d1e3fb7bc953e52431937ae34ae363908f83eece0633edd05be361160eb35e650b43e0897113e14e4fd35b62d1f37d0a4563eb19cb33d43c3ea375be32337ac2aa03dbb366e3c9b6f2d378f31e535bfe22438da2f2738113efd351b040c3737950738190e1b38e97a15370434043714c6d9371ef2cc379760f43625328c37aa851938df100c38cc498b3733f8393761b34137cfcf40378dbe3b37ad763437fe5343377c4f3c376de72e37e228ca37f7e91538cae911383f24a5376a3f37373615503796634d37220e3837c7ab3c37616fd937976ccd372f1b3b37451a9d37d019333827a12d38dca88f3775841f373e06993770e28037ece62037ed3fef360594003f61bffe3e02dbee365931893776c5003f9455fe3e8c0089375c1b34377382e93eb34ae53e63f334377b882e37f94ab73e15a0b03e15372f37369c69377ceb823e27ff793ec08a6837f4e43037c7a7203e309e0f3e7c3533373c9d38372b7c413d6152483d1ffb3937e3df8c371d97b9380ba3ab38eadf8d379f46f936514843380afe14381c9ffe366c111a3786c513381debbd37496409370e9df135f62c3f375527f435caf2e63570192f37c0386a37cb6d2e37ac122137b8601f3849024e38952f00389a5b2337ecf5fe353934de3628cbff352758f63546d7c53634bb25378585cf36a1a5bc36066a29378655ba3785e56037ae4f1e37c0efbb3721882b386a02ff3732bf2d36d19e8037292dd137fbd29737c253d2367bf912378b5ea23e5ec82e3f2e040537ffd9f4356a77a83e8fc92b3f89d9d635a0db28375cae9b3eac731a3ff1c51837a233af37138a713e12f4ee3eabdb1b375514fe35cd64303ee3c9aa3ee4c7eb35aafac136288fc73d5f8f483e1740b536b95e2137ae28eb3ce2337a3d01511537a241a636aa9b8e38b87a7e38304f2b36a89b03370dc5b83827416c387175c936447e3d3633a7c537a2c816366f22bf35de895e374e85fa37d0724c36ffd7423694fa6d377a259637c47c0137e864f1369a1931367be73a36f0e50f36f0cae535c74c303763647d37de51233661150b36c56338383fb254383078ec37041feb36e781de36bd9de8366283d8365e7bc4363adf33370cddbe371019303691e6123608388b37ff09af37538b1937de5fbe3601d61e360777093ecba25d3f5efca635f2fd4e36373a133e332c5b3fcb953c36c11f09376bd5173e93263d3ff290e83646742f36a50ff03d1886163fc09eb93506056836c4f5a13df79ed63e3a56f6356d7f1738b248253d1ef97f3e4d65dd360581dc36c63a783c5dd4ba3d53d0bb36b052163613b75338c7bb103840541136550c2f37f9de1038d9e38e377567b63628c5f236c17b0838a253dc36cf7cc336a909b53771b2b237eb876837cb8f5e3716487737a0de3f37c0242d3700bf2937da84d63712cf7c37eec6f936a9dcee36ff5756384c1d37386ea24637e71f423781da4737d36d3637e9c40937e12c0537f58ac9377298e337c9321d37e1b81237d4d71e3886ed3338a6f6c137ae334e37591cd7373160cc378e371c37fb458c36be15e7368c9bbc3a039d7f3f8cc8ba361aef793765bf993c2a287b3fc9c8583779ba3e372217083bffcf623f730824374c52b63791856e3ae94d303f9d48f036b7d94c383d6b573a4162fd3ec0b03e37846d5737d456723a7274993e12df003727fdbc37ca80503ae9d2d03df21712377e5d0f38866c90380f658738a27f473788f6c137b63523388119ab37ec487e36000000000000000000000000000000009acdb3370bea6537630627364a42e635a56d90378594d3367ac0c536bee5c03646df093809ac90370da9ab361af1aa369a681238658be0374bac9237e6868e37d298f63752b60338b1d4a5376a286f37d5c4803792029437bcce923705ea2a37b1c91137ccbd6f3721b88f37ffbb9e350000000000000000000000000000000000000000000000000000803f00000000ad0aa43744aa1c384aec7f3f2af4cd351f2c813780354c388f3d633f1222c236e8bb0d38d5806338a5a7313fbb8bab3657b30e3898664538345aff3ee3cd873746a3f9374eaa83383aa09b3e41bea337d96c7c371227083840b0e33dff4b133755d40437440e1538926e5939993695350000000000000000000000000000000000000000000000000000000000000000e97c6c366725b5362e02af36bcd9ae36cd832535e2d5373577f34e352297493561d770362182c136a32af936dd2d0137b4c2a736d6aefd36e5a6103737f4f036081eaf358ffb723792b87837cb323b3765dd44362ee7a736dee68c3698b9883610b12e360c82823775eef236fcc5963600000000000000000000000000000000000000000000803f0000000000000000c4dc5836b7fd7f3f2feab936cf0cb3367515203594205e3f99ed2d38ad0e5335c8606c364b722f3ffd6bc83769e4a63627ffa23631ba003f12515a387201f236a133ae35b51aa43ea8553c3815c12e3721973e361a8e0e3ea3c85b3760da8c3673192a368d480d3958799c37aa939b3600000000000000000000000000000000e9828435416f28372aa03038fbbc1337d5b901361fb3c5364bb3813776180537d1bfe9351093b636825e1f380ed3e937a458da324519d7355e3a0138c0f69b37bff8e8363b46473717001a387292c037eddb5f35888ec33607440038a89aab373a4b89349ad89636b65cb736b521b1364e2ee0367ddcf537602b61385e36ff37d3b686367a255c37f49c1538f9e5b737f66e443519b6753f5c77233d7fb9e436e5fde435fa35763f80c31a3d18430037a79b70355f505a3f7eddea3cc559a637ec40da32861f2c3fabaca93c2b3d6637b625c736a551fb3edb0e773ce9c5a63765b80135e6e69b3e5cfa3c3c2c708c37baa8f632bbbbfb3d27940a3ced14aa36ac72c136a29d9939be3c0e3abdede737b95b5e36fe27c737c4ac373856e19437b8510d34a5873b385dbeb938dcbf12351eb60b36f61ed7370bb65938c8f4bf36e071f8351c8e1536310eae37e31c2136ec5eb434d932cc37ec554338cbee8035d69987369820b93793082738fc33e5363f07e9359ceff1371216433843bf99367233e934186acc378fa020386085443536bf16369aca97374bc2043800e9a0365d27d3355bf9b23728c3143823924c36ffd81d32ce6d513f1c283a3ed4590d35c8350136fd83503ff2cb3d3ea52bae36094de935517a353fd9342e3eb9af1e361c9fae34f747133f5433043e9d434e35b6d76236f2bfd43e34c6b43dd87bd936bce5e83534c9843e7645403d9e1505367348d434722ef03daf7cb03cbe0c42355406ff35fe93a938aebbc33874709f363b8ed0354c020738be1948384a844a362a22b5353ce33638dd53523807cfcf35c698d7358a504838dbf47938f34a1a36769265351d1738379406d53670e09235485ce4356462bd377d9aed37db850736d8d5983648721538cacc2d38f5edc236fecf2036f07ab33796b8df3782848236403bf335ed740f387cd31a38f8f00b36e27b4636451734385ec52a3875256636ad5ee236697ab737bef8b937635c0b377479b0356985293f62e4ac3e7312cf352998b735a3f7293f3dfbab3eabc41236359454351432183faa95963e94aa8a35a6c9dd354165f13e8f25683e14bb0636fa518f3652ceaf3e8da4233eb66bc036f3e90a36197c5b3e23cbbd3d53e26f36504cef35ad3fbc3d249ed13c7b6f0c3687ec413609a9a2387b7d9d3832436836544cc636e405383851234d38cc40043734a203365ca2a038409dc43727770b3634811d378f400b38566ec9376b501d377c6790369918d6364577d036093f8f36014c39367f9d8c37a8c92a3738b1193688b30737d5049438a38b533821c907373aee2736b7afa037291d403735cb2e36ef589a36f693fa3633edd93657c29236b32a2537075517385770b2379471223739f010369e36a037fdfdbf366642033686a0f4352e8b003f45cdfe3e1cda0336bac91537d30b023f86c8fb3e49a51737e891843616a5e63eaa52d83e3963873677772536289cb93e3cd2a93e96d90b36341305371092853e4bf1743e43ae0537741b163617eb2a3eff4d0e3e0ab22c36192d9236a7e1983d34aa563d585e8e36b77f1d37b1868b39558a6c3881c71d37647c0d36617f9139ed58d8378d6202360f9c093780348038c281973726f7c33689ae65369296613814989f37393e4436e8ed0a3616363d3885300c3677b9f0358568823659922738d20db3364d6313368283c136f5d557386b599f37cca896367b48063619502838c0647d377b6fe535537b8f3514297038d0b81636db3c6335277f1b36b4bea1385bc916378ebfdf352112cf35b4b83c387ec32c3747cab5356783f83686c0ae3ebea0283fe89bb43607dd5e3609c6b33eee18263f5a7f3a36ba030936ce6fa43eb5c20f3ff22eea3543ed6036ebbf823e2e19e03eaf2afe35eadfbe366a4c3c3e4246a03e123e8f36355e0636420feb3d0b953f3eba32e235cf278b355029473d2cf4803d35715e358e3a1a3675393139e63ee43854c2e1351c12ce35581580382dc10938aa71b73598f74636f2ae4c38bfe86d37dd90d0354cda9c3695c531385e6c8d3656eef8359be43f35a40a20382660243512ced9341c40ff3652e346385cc6c33600e4e535afee2d3738923938455d2937f65f6b3631e2e3362105653807778d379b18c734d45c1f3696106e3827221736e092f535997e033711476e38e388753724050b3679fcca366a9596383e0598360ecd2934d9383e36888a3d3e6f93503f4923cf35ff419636c1e74b3eb8014d3ff767f53571953f353dc1393e98062e3fd770c93476cf0336a8051a3ee0140b3fe00ae63584b6d4362217da3d108bc73e5998593606145235100e843d449a6c3e6869c434ced61f366b49da3c0b71c13d01a2f535e189b9369fbfb138338c533810d20a36c4b819355a73e4386d5c2438b60917344206a53715de34389965143799313f363668033880ae6138a67e43378f5db036e838aa360036ab3640644336e08cf332d4f0ac37a6d9f3375bad8b36b1a5cf342fd3bd374c322b386e303c3726dcca36dbcea837991911387c5713354b36d8325aede237c00d3d388d61223767cdd635981c033713349a370ce1c736caa6fc3504912f37ee33e137275b0536eb796e350237573747fd333d1abb743fb96024366c1dc737d9cc5b3d7708723f44c795363905a536e535333dff2f533ff492fa326c838437106d193d337c253f43decc34e371a537907fd13cdaeaef3e24febb3644488b376a6eb43cc5d1913e01a2db32e00ac93704e65f3c297bd63d213dbc353ba60237c0cd053ada442038eb100036d5621f377b786e394d5308377fb96f3500000000000000000000000000000000559e953668dade36ed918436cd8826363fda8c3673cb86363b0369369d3837368b7b473778737b37b04bb73542faaa359174ef36a9888437dd9fd436c14b9e367549ab3668c459371cf4ff36cd5d7036aff34a3509b39e36ddff6b3734ef25358075b536e25aba360c1ec83648e275360000000000000000000000000000000000000000000000000000803f00000000c8549936f9e71e382bfb7f3f808e1e36a98f8e36d29c9037675c5c3f90212b36a2652b37fbc16438faed2d3fd4879f35f503f136a2108238ec80fe3e017d9a36f0a99c360d2ed837911aa13e64047036d10f4935c10e5f386465073e4a831f35974cb336db17c036b3d6bb38809671360000000000000000000000000000000000000000000000000000000000000000be397334d1499838f6e75437c62b6f342f3b0334df934d3840419937ef5a2a34ab391536a50a2e3841970e38168e9937f63b77346db83e381b43843757180c360bb8b332df8e2138b12d0638dc9ab437a9f0063656418338e0b8d83756376b36f3603635ece7923968391038a9beb43600000000000000000000000000000000000000000000803f0000000000000000b1a46c34052c773f9d43f1376ece7a344d8e04348ea74f3fc0c70138b7ba2a34b5fe09367f60283f15ca2c38268e94375c5c7934a1dc003f70970e381761f935f76db4326c09b23e1a6318385fc9ac37fb7af7358479473ed1ac1d38c2b56c361e5b193552be2b3d93802438f34fb13600000000000000000000000000000000954780354ef891381096583c5e9a60377c442c355ef87b3876948639847cec36a43e1635ffa3ae37a39ecd38f2ce2437df4baa354d659638c971c738d7656d372fb9cd3498abb037e5c2d73b0082b637c10f803497e9e2377683f438312ddb3711cac435397764380b71d238359da237c11869345f2189385bc82539c08b2d37f0128f343e5c1f38560ce039d4c6983704627d35ace06a3fda1c453da5122d37a99424357e35653ff01c873ddd6e5d3620ab12355ae8413f0d04713dca681537be07a935792e1d3f8dcd4e3d21a53f378abcc9342194ed3e4415063dc7599d37bfe67c34bf1ca43e0bdb333de9decf37e6b0a93586fc323e4bdcb03cebba9437ea7e5f34086f063d2b0a923cd7a8183731c38d34e2664738a32f0d3c04729637276f68359777063a4459823ac515a235fe6fa5352de38339911faa388752583744ef0435b17b8e392dfeac39eb111237d05983340b6aba385cd8bf385f64ed35ec80dc368b46b338715d3e3a7ef4a8375fa827355d9bb4384202be38be4b5a37aa6e0635f1cf8d39fe16a9393a788c369c80d534bfb30039f795df3864923c37e09ec236da770c393afa5b39f256ab372f676035a535473f425c523eb964a035d004a335c709423fdca3503edbe44b3764df0135dde8223f9792373effd708378f8383346f98053fa735153e0ab1a6352c02a336f189cc3e7dafd63d130da6372f1a233530798b3e900e893dec745437ad29033586a9223ea477033d999a82368274cf340ca30d3d0da58c3c0666393715eda136266c48397c70e33b138296377245bc3489873e395ce03a3902931b372fb2613552c2a939a18231398e045d35ea8efe3417d83c392329b738e67aee348b7a3e35a14342395f073039685d4b35b0c3ce361f28113a99f50f39d6481037e7ae17344c26f638725edc3806b93434a6863735ed1b4039a0e93039b558353646378636e99a8c39f3324239c1d1c6363a172f351c003a39575f2239c67d3a35eb507b34fee7243f4072b53ea442d036e3655d3580571f3f1267ad3e953c61357bf5f8346d9a073f894e923e72c3f2344b0e3a353f15dd3eb31e6a3e86214d3552359236954aa73ecb09333ecdec07370667113484ae6b3e1865e93d6c7c32345c063635fc46043e963b793d90ca2836b171783672cb1a3da30b463c4377bf36e23b2d35bef76139973658394ad23935a022403639683f3afb1437391b071236a94f57356346323a9f363339f01b55354aa76b36a63574397f260f399579353687e0893663684639c2ccae389f084e36f355a636061e6b3ad20d113981488636b7217436174e3739eed9c03800b37236e3285736fb443d3989a0053954244d36f9f45c3500a9d83992782c39a6d84f35b0543536ca99043aaafc2139d03e1d36e3f72336f133003f3f7efe3ea9cd0b36098d513566f4f73e4ef4ed3e81cf543526125136df60d23edcbfc83ed7503a36f6807c360330ad3e17bea23e48d2543628628e36f866833e323c783ead09833624e85c3616ea383e0215273e36cc7d3696374936d781d83d7758ba3d872f54365ace5935e107093d9ecc853c317e5035dd6d1b36a5ac353a04216439366c2936b91c3c355b901e3aa34419396c4b2e35962aeb365293f439b1a00339ded26636ba898c36b9884f39abb6183922b433359e973e342aef093986c7ab38829c1134febb303780c7373a1504a238b02b7e365d5bee35da114a39403b16397b673635ff71f634c1d7413906939438b20ffa34ee5b02369b709539dbddc838851f5a35c780be37a2b6a63904011039123193345ad43a358417b73ed618243f316a2d354726b536fde9b33efb15193f2201663639b12036ca139b3ee7af013f55d63335454d35348a807c3e6668d13e9825103411a21437ad32433e29ff9c3e51d9813665dc7b35fdc7053e355e553e2c5d3835b762f1343675973d9acde13de9c0fd34f06d933552d2a83c45d6903c17655c351f717f37e635133abc8b2a39619f913427f5da37d9ba3c3cc671f3384bd48036f08e4b377225263ce72f50380329c03489afab3670f2d83b6c3f533887910035fa586a37b96b143c222b4638f6e12135a741af3753e79b3a4891e337b20a8036ad959236217896394320f83791498134ef6a233750c0083aa13a82388c280235c0ff6c37033aee39ba31bb374e0aa23548321f36c3b78c3ab1f0a53858f65e35389c96374f3f543e1113463fe6a98236cbb73037b6c0533e95313b3f3211c634d2e38036e6ea423e5b8e1c3fed7f0235fc9c5637833a1e3ec576fe3e947b2235f4c5a737e335eb3d7d0ac23ed240803626a40136cf09a53d5fc2803e16f282344e741637aae6283d3080113e9e99013500bf5c3788aacd3cb0104e3cce94a335643dd3350848613c1259e53815fa6035c73da337047d223caea487376d578c34de5444377615143c258115373c145034b5f5bd371a65d13b00491c373fdea335b91aec37693c163923800f37e72e7a34c9dbc037acd8113c836c6f367950c434c3aa823793b8d738dc090738e8e3a535cf053f37fe10fa3864442237c521123560b6f236b807f3397533ff36ec612135c00d733767bae53bb10bee36d60b78351f876d375733823dcade6a3f80048d34745f11374cfd923dc4515e3f7e635134c36299374a23833dcdae3b3fddeca435ff76d737cc0e303de6a7173fcae975342ea49c37fd2a243df239e53ef0dac7347bd05b37b8880c3d96229a3e9348a735f3981a379594d23c03b9213e71721335cf07b736680ab63c66fd803cdddf223593e64937cf6f673ca77c313812e57b3500000000000000000000000000000000e2302a3778672538485017382bfe1635fc0f69369b821b38f62f1f380137e83539b0c0375bda133840b70638a43fb432f6452f366cbada379840e637307b7a34b644a8379a301a38eca91238577408360c0028343479d137114e36380f5d02342b9677340faddd3789b46638cba26a340000000000000000000000000000000000000000000000000000803f0000000040d2af36eadf44385e22753f0ed016359858693675ed5a38d3104e3f95d6ee350ec5b3376204263871e4263f8951b53224620536203c28388d26fe3ecd277a34f47e953738b03138bc19af3e3a200e3685ab293408e002383e1e413ee1e80334528274345a39ea3759560c3d6d956634000000000000000000000000000000000000000000000000000000000000000032098e35f86389358781a5356391ba35e7341f350bbe1435bc4737356a685935d3bbaa35d1d3ce358509f23523527637c5078f36bdba8f36b01ba536c342a63631076a3528548d355b8049358bb69135db0d063699442236c4db2836f32d1c36419b8d362b8381366d599a36e79f9e3600000000000000000000000000000000000000000000803f00000000000000005a078735f21c803f7fc9d335608ed835d29f1e35ea70643f4e6c4b35406c5f35eb1b993554db333f90bdf83759cd3d37fb0c9236f87b003ffb9da336af1fae369f8e29357a6b9b3edfbb8f37468e3336ffbbf93542b8e73d1c7bbc371a282c36ada982366050063c026c9c366a47a536000000000000000000000000000000009eb949343f2a603872a89538c45cf637dca1d335fdfcbf35d1257037bc82ef35d4b763357817e734efbe9835882bbe35de8a4135320139353425a53562ccd936a5f5e435520fd33589dc0036f1630b36b73e95347092753407fd0f3508dde2348825b5355f25cc350c99b336452bda35069d473550365e35c71b89353b738935e7ca1236adc82136c2ae323605682d3672800034f0457e3f85310a3c673e8b373299b0353f047d3f4ee03b3c9411f33539e960351869653f31ea8a3889d9903568ea4e350716343f4748a3387cb691354ee4dd352a31033fec3818385849fc35e2984534ea0fa33e56f64838235b6f345ba0bf3515e1003e265518397b74c635d9ca4c35e1aa3f3b822b853773475a356cf411364f1ba937c7479837cd2a3036788a9235cc6397383c17b738a9ad8e369d6b473670ab2d372c9c0138dc7a5e360df89a337a7095334460da36469ec133545efb334f84a133ae1b3334a92a5d34fd160136311b2b36960b34363bde4b3609f12134f1f132349937d3356d973f340000000088ab41370608d93700000000000000002da4e937444a4338e6f40b37a48b812debd19437fec703385e622e37d81c88352160603fab1a003e65afbd35fde53a36f2325e3f7af8033ed8386336d553c633c50c4c3fa6dcc53d9cdfd833eb1cc733d1d8203f5e30803d833353348f4b073614bce83e9715323d8fdb3c3603ec4134f19e8c3eb6c2ee3c317c473400000000623eb63dab27a33c00000000000000003cba8839f244ed3800000000c95baa339b6c93387fe0a1380000000096ab3034c1a3283810d44a38cc33cb3400000000a5617c38c7088e380000000000000000000000000000000000000000d2dd2d347cb31934da97ff3369bdfa3340ac3936a5385b36d0974d3667af52369eba0034fc1a0f38fd542338ae400b34f4bb8433221e65377feb73377d161b33734b183688ca0d38e3710a388d4ad8364333eb3786fe8b388d819238eac53a38bbbb9d33891f323f5a2d9d3e334baf3400000000a1cb2e3fda4ca33e00000000000000003286253fe1d0863e00000000bc7224349f79023fc097453ee05c1d34e14d2a36d8e3bc3ec931073ebd00493618982a34a769693e05378e3dd26b8c33404b9833083f9f3df7fd8a3c10c28b33c797163618aa0739afcb9038de1c26367137c235ba5ee138d78ce63868558337427fa735ef1373383abe2a3892f99035359cc234b2b4a6376831ce361d36b9341d400a357c8eba34ac1ce23476fc2435377e02333d2ea23227c44a32afc588326a4a1b3598fe97357392133550db21351ed56132756d0a37ea2ac135be6eaf32c86e6e3412c9a13792e263370800cc3419f70f35bfcc3d37ce24f13649acf934febf8a35e1be98373b5a5637b2dcbe35472b8335248c003f920f003f7d668935c3bdb0340fa5023f2602fc3e0201c63484ddae34702cf53e581fdf3edb6f8434b96119331becc23e1d81a63e33161633ff66de3467718b3e8a736a3ec6bed034483dac32de8a343eee86f63d3facad3217001f34d88e953d9274813c325f5a34011f0a3550248639f6282c3806bd0435c5788c35b94d6f38020c31385c72b5350a5cf037e92a053965c7b5384da0b73599a2293694bf4238a08bb437fc922536ddabe3325e1e213724021733c0ca5033707be63301a524389dd09436edf0183407813c3638c863361eed5536f3fa6436dad5d133ba6f3237ddc00534cf2503340000000036569d379566b83600000000cf8a5f37f08c9538861680380000000070363434fb941537137889360e708f349838a535ec5aa03e9176303fa9139a35892b1f36c74fa83e2e642c3f4fd4113637032f33a9ad9e3e2012193f665b34334142c73315de7d3e1be4e93e32a7df332a8c38367044403e240aa13ec87c4436143b0034a354023e70dd303ef125ff330000000026ad8a3d7928cf3c000000000000000006d2083a1c450a3900000000a17bab342bac7938082ff7375583d93384d87232432bc538926a14380b6c33330000000004aa9238000000000000000000000000b522223700000000000000007d7e7234ec755e34d13e3d34c1984134ebce1e36c03d243648c806363a601e3630a649342c68103714364634736b5934ccf9ef3396088c37533b27378519bf338b0b4f36d3d7b937f3ae0e372bc35a3610d4ff37d18e5c3871d69637bbcbb335c4ab6f325af5013e0aef5f3ff4411d32e432c4323ca5193e0b2c5a3f00000000000000009263033ef8c9433f00000000aa5268342e46e93dc49f153f58795e3492400a36a26dbe3d4112d33e9b8009369a4c85343146a33ddc2f6d3e74ca4f3437a2fd331028863d2ef12c3d16d8f833053f503622a9af3b8a058e38f17b5b367cdd2037f28cc838b2487538661f9a35f28531369b4abd37f2dc7536381316365eb88a3575bf8935d9f03e35d0c82f35ac0b04364070db35ca7485354af3b935640b95348bf96c34b9d05834af737f34494def35dbb7ef3518e2d035809be735ca58cc356c92c337fbec8f357a8ba93572c44535eb633a37c264803527f481352b579a3606dff5370146a1377f1301364d72fa3788c94d38667a873775d6f334528f1836698f3d3cfc607d3f9611153692bc8135614ae03c568a783f7d9e0635d29dcc359bcc033ac209603ffc637c35e25b7d34e9c2613abe7e2e3f5a9d8034c3e3dd35ca9f833ae53ffa3ea861d035dd5875356ff9a93b5588953e10185e3511001e356adfc93ba07acb3d6bd81c35ad55f23590591a399ae0bb394a56f13577e6b73794bbc83838a773388b9fb03400000000000000000000000000000000309898368b9f8e36b2727a364cae8736ef612c368a1429366bff05360ea0053698e511356f4e54364f191835dd3cf63443f1a0361d30b2366b60a436b5d9a13631869f36f5889a3700bafd353ffddc35f72a2a352bd63f356a783935fdf32f357157af353f27c6352a2ec035fe41a4350000000000000000000000000000000000000000000000000000803f00000000c0939936290e9c36e0407e3f83fe683609361b36026e04385867633f44d8de3577703b35fa09fc37a4ab323f9902a634db98a03632d2ad369c9fff3ef0859836da5688368ef390382132993e372ee135a88e30353559f73787bade3d145426358826ac35312c2637ffd2733acf3ca13500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084a97a35198fbf353d76fc35c386d335aec88b35683a8f3693c0c335f314cb35000000005a512d34f10450345d1695346a43ff3488e9be3724d159360b3eb6358022ed359cb0073840fc9a36736c18360000000072bb393882af0b37e175893300000000000000000000000000000000000000000000803f0000000000000000000000006303803f00000000000000002bfe76352fe4653f554ae735dc16043653478135cb39333f79f9ba3726d3eb3500000000a827013f41793334cbfdc134f24bc8343bf39d3ee25dfd377691e1358606fd352e12de3d1b94c637f1d52436000000005746053b5234d037c0143433000000000000000000000000000000009c94c932cb81a438aff8a5382e8f7b33dfe1f832192091383099a33857caa63660f6ba363cfb50382a669d38d5605237fd3d25364272793835dac0381af5ae37c451d335b8ef27380b93623876c943374143873664c9833823b5ab388a5131370c362636974585384f1b84383f42993611168236e063bd38c15fb1384a6fb637146b9d3638266238cbe15c380c400c37a1108732edf4753fd121233d657b4533fb6d0e332455753ffc20f83cc557553654b1a836e6b7673ff3de033979a919377a4d013698a8343fe2bc1c3936e77b377c4e8135e775013f8e2a8a3b96e6d5362bfb6f3653d39d3ea68e003916810f374d37de35af4bd63dc539e33b463696364e764b36eab89d3c1a23e13808606d372b4d7236e62e9938fb3d9038e2d6083700000000885e99384f8fa83800000000c4c028350530a7385a80a8385d537e3616fd943683ad4b380a72613830dad83698484a355b0a0438174b033800bed53517b15436ab38463873243e389467a03679c72a36a557063938410639d6028036d92d95355f366b38e35e3738b1b8453685ca1c365a6f483838900d38dff0963633215736d80700390690f13846a89737000000000461533f1e521a3e000000009ef69d34e1b3513fa17e083e489854368edb7e36df26483fd615e63dac57d0367dce523567821e3f1a73bb3de4fecf354fc11d36b12ee33e0dd57e3da91b9336d4230f36a77d873ef6d15a3da7367736fd1699352c46c43dd7d5123d3e2e46364474a03554a84f3b26a5913c449a893664c74d3695da2039264113394a4f783666cfae35691c4539dc98073962f82c362adf9f35a4598f381f20673810021e3655b4e0353db00238e282913705745136796f9f359dd3d2386b33b73868472a36e5e65636cb5a643861422f38376c8536bd4d4d35ac46883848425938c06fbe351da53e36b6b0fc383af8cd38bcd48136a8f68236bcebb0383ca28238dd808a3600000000473597389cea4f3823aedc34c20b9c35619e2c3fe914a73efcd52a36291ed734f9a32a3f16e2a03ead6ae735c43f90353d96253f7f25883e60fb1d36f8d98e357529033ff9cd4b3eb4662a36215a1636c239c13ea25f043e696d633621170835715d6f3eddf2833dab2b8435eab923364115be3d91008d3ce09b8236593730368e57143b2f740c39486c6436000000007d79f738818aac38ab41dc332e150736dfe8c238328e8c3802c0a73551073b363bf6f1386912c9383f0245364dbe9b36fe5bf43861a4b338e3d4ab36e12fc336188b1c396565df3857749c360af17a35a0107b386dcf3f38fc6871356743b336905d1c3958440239f305d3369cdab43666b50539e096c93837359d3675cc723681ace838981fb63844225636784f1c36f4139438583d4538127b2b369e1dc43512d3003f9cecfe3efdeb8335deb81a36b980033f85a9f83e4d353236ba0691364231f73e5a65d23e3181a436e154a936f862c93e9ced9d3e7e269636bd581e355584913e53f45d3e51d065353255a1361bb4413e6755e13db3ccc636fe8f9e36b482bb3d72c7853cd9499a36f8f94b369389d73a0e0cf638e59850363a12fc359526bc3863678938a13d0f36d2568e330f8e0339d7a39738000000004c715d36d3bacc3801738438d6442b368b4e7b368fbfec384c147a383dff3136d0f4b2352145963861f8a1374248233585888536543d7b384deb1738724a3636e4713736dd65f6389a059d385693f335c4364c36896a7238bfcb8937e5df0d36217f3b36f3dd8738c13714380529e535ce1257360d780139923d9038c4bb0836000000007de5ac3e1cff293f00000000bf373f3625edb53ef9b7243f5992c8354f9c5b36f6faa73eb140103fdf420536d23a7b350dc18d3eff81da3e9ab72535f07c6c361f3f573e80d0913e9ed90536213621363a450f3e75f6193e4579c035a23c2a3647ea9d3d2d603d3c8a74ff35f9bc0c369b83aa3cd98698380c899c3523543a36425e4f3a71e9d5385d10df35ee287736c388313c6155de388fae563663258636f7a77f38b842b4374342b33544154336210175384790a337155ea635ab6a7736e5f520390e74983815a120364ef19f36fe997438442af137d2953736d257db35e8be5d38f6e9d03756484b35acd5d936d0cdb538ea864e3828af9e3602238d36c5e7aa38b1a542387835c935000000006fcc8a3820a8a8370000000026c26c36d986233eafa6543f894b41362f4d6d36fb82383e01ef4c3f09f09634c1fd2b36c0f81d3e8cfd363fd0ba9135b9586d363f61113e89b80a3fa4660736881b9136a3e8fa3d41eabe3eaa7608366ac8aa351a78cc3d0081433e376246355c1fce360bfea13d92abe93c1c9197365bda6e36ff2a473db127b838123c1335000000007c70d03c890b3e38000000005c150a378394ac3872a357382d834336f72b95378f50d33881ba81388ac72f36dd02983616309d38e2b4a437564bde35ead24e37b0b9b6389ab1bf370acb4c3690e720374db7803885f8c1379f6fad3514eeb4372cb1fa387b4f8c38d26f213652d86d3798dfd53823659638707ab03624ed5f37e6eeb93817d174387a1e043349173e3304419b3877a0a337000000006f5905377457353d9dd0743f9d501c3618b42237c96e5b3d3d646d3fb8c60436ce239636dedc1a3d05f7593f1d3794350bd3073715f6143deecc273fe77046365bb0f036b4e7093dcfdfe93e43cf8035904c783757c10d3da543853ee4e21636cec51037d4f41b3dfcc3673d0de3af367ef65836553e423c0197db38a7a63a33f1db9d33d991c838a6085e380000000000000000000000000000000000000000da5e7234152c9836ad706036000000003d142a36a7680a36d691c9357dfad135608a093685d23337a4011c35b6011a35f397b0342c24e133e4175f34bbcdfa332b76ec35971d613703d78437885e9c3568741536c934903618229f379a0b47350000000000000000d19c10373dad6a320000000000000000000000000000000000000000000000000000803f00000000b80a1334e23cfd379baa7f3f00000000bdd82e362229d1374b57643f231edd35d5e5ff35b6a41538470e313f05f0fa346ecfe334f20248375c08fe3e6417a333ce0afe35d6423a384ff7993e208d9335dc330d367363dd3790e9d03d08603a35b3133833c92d9a378e88153a000000000000000000000000000000000000000000000000000000000000000000000000ef6ca233bc51043978f61035db55073404dfef338fe3b73811770c35b4af8c34ab707933df470838a1720c34abdb2f342f390736a3aba6386da88537757c8d36000000006231b638fbfcbc35dcd7dd3400000000253f3739a3c4e63550c78b326382ca35724b06392fb03b37c022bd3600000000000000000000000000000000000000000000803f00000000000000003bc2a23315da7f3ff3a022357f261334e4a2ea33b7f65f3fa7510c3582f08c34606d6733ee21313f06fc073472612b348117f235696e023fec8fb43772428e36000000005af9a63ebdf64f37731e0335000000007c4c123e6b9ac0374ddf863248c98c359687c53c14df75371aaabd36000000000000000000000000000000008a121f3336e12b3a6dac9c39fa559435000000007b9d973915f09539b67ab6357685b8330f50373979145b3991c51b36cec3143232476f3921ff6e399c5a3132a97c0e32c11d9239aa10863945a2983550a44933d6fba7393cad5939915b103600000000ee96d039c61e9139c0244a34a03b0932b9cb523b199a813988b093359ba777354c28af3a18926f39653c553686be18339e30683f8b9f483da87a8d3500000000013d6a3f3234313d1bb2b435c128b83337115b3fe809063de86c1a36c5551032a6832c3f19e1003d2ea62e32374ec231e3dcfa3ed8ed033d0e579a35a5b745330bce9d3ec864003d1237133600000000cd69033eb809e63c82c36134cca3df319500213ce9079f3c70fa99351a006a354cc7753ba9a6643c55df5836cb6f03367b7b973aa5f5c139d20aa236f5bf2d34f965953a8b2bc63994c7b835bf09c734e66b533a072d9e39dd3d0135416d383595a53d3ae280b33963212636bd34c633bbbf213a6eb7d639d60b7735f5fc14352878973a7fe8d039a175d635146cf3340140aa3a37246e39a6c80d369b5be4335ceb913bf7fccd3947cb7235d595b234526ca23b14b5b539d57fa935e919e53576b6443fb0b2213e9702a5365fdd2a349ad2453fb891203e1951bc358fcec534f386383f33490d3e2f4c0135d3f9383535fd153ff828de3dfb192c3685e0bf3361d9da3ec8df973da33980359d4614350dad903e329b393d65c9e835c0acf334bb630e3ef785f73c382a133699cad8337e4d103cde2c7d3ce0ca79355495af349ba8d43beb00333cc1d0b5355b6d173592c7473b1b9e983996d87c350d4815352194e13a9cb198397706db34eb470035eed9a83a910c8e3978a21b35def8e534dda5693a38b78439707b0235c4adf93451782e3a6d9f883938c76a34792605354e54013b756d883998a02935b509a8341e94023b13efaa39ccc9d0340b229035e5972d3ba44a8139ac1f7c35ad8ffc351f780e3b1ffc83397bb96d36636f0c358df1213f477ba43e4a1781351996003587ef233ff8829c3e0e70e934bdc5ee345735193f55ed803e467217357b12e5347e6cf93e1bc44a3e0d2203350b2cdb342ababc3eb4600e3e518082348ff6033571a87e3ea345a23d75bc2935768ea7347f2d0b3ef8539a3ce06ad134fb548a35f031053d66db0e3a10358635eb62e135747c563be485c539e6a06d36201229360faa8f3aa1b462390d7304368248b2348fc9893ac6e29e39af33663422414e351862823a8d8d8239ebbe8635e114ff3552fc873a816d5439d0a8b535755357345fb74c3a154e8539ae05f2336354b335aa75973a1f905a398197e635ae75a0353583c73ac013853942115e35689aae3467e4e23a318d8639394f5934c44df9350b0d363c62bb1539270d24361c952336b967fe3e396cf13eb5a10136ded25f342463013faef5e33e65058a34b03d4f35b25ae83e7c22bf3e0dd786350955ee35a5eac23e5f69943e9a74b6356292f9337a3d923e4bf25a3e3c3a3134da64b3358435533e228df73d0743eb354ec0903574ccfe3dd75c3c3dabf9603576617a34b4cc3d3d57e4ea399fcc97347073fb35d1449d3cd0937c39935f253610e27236f04c853cf5ba78396cd0bd356a648735dcc15f3ca2b18039bd9b7f35f3aace3455715a3c5cde8b399a29a234966e2735c37de83b30f12539dc600135ba838734733f3a3a066f2939b3c5b034ea830235f756833ab4717c396c37e1347a1e2035db9f383c8b598c3906c3eb34e1d90335faae3b3cdd9d1b39a8f0e3342ad48d358736803ceef84c39398ae53471c46c368389b13e95a2213fc143cc35634e823592e0b33ec475193fd6b987359f64ce345c75aa3ed99cfe3e2c25a534d3df2835cc5f8e3ed037c53e6aa5023504236a3488f5603eb2088b3e400fdd34dc770235199b233e50401d3ede75e43489461835caa4c73d0762223d999bed34a1b8ea34ac38263deaeb083a8fb40235799887352632e03c56bea8394fa00935554fa935cd63073df32aa93906c3ab34f0ba7d359865d83c8292aa391631cc332295173611d0aa3c58590a398384f23446f9ea35c17eac3c7eae92392f381235b2018035ea23cf3cd2b2aa3970b0b93375df33367736803cf3ae8f3919673935c3e0fe342a85be3c788e8f392cbfc434444abf358fa1803c5a2773392a6a2a342bd5b436e688c63c3cb6823972efda35b5baa93535183b3e300b433f149dae34420d77358053433e8b0a413f3da0d133162712369f2d383e75f5203fd433f334f5acdb3507c4253e9ee7f93ee8d1133550287e35addd063e1379ae3ee746be3394df2c3659d9ca3d2c9c423ea06d393504da0035eb0a833d2ac25a3dd9c5c6344003bb35929a593d01c9dd3903872b34de3ca636bede433d3b86c23907fed93547155836e5cebe3c34b11d3931e26335d86d993598276b3c318ecf3719a06c31f94f483484d3ca3b7d1a653700000000d51c1536ea15253aabab2037a47f3f33c4299735e1b0c339a2f186388c11be31530726322559123a969f89383ae81932f6801e360fc1ff39997d12383b24b533dc1bb1356222493ae1af7138000000008a587735a053473ccbb58c386e390d33269057369a5d593d958a673f101462352e40903559dd7c3d323b643fee03ab31a4b657347af4743d0ffb463f00000000fa9b11366562753d637e193f19eb42331104913545465f3d0e72d83e6f47b831181a2b32d77b553dc493773e943916327e0a1b36a03e463d2c907f3dbf8cb63373c4ac354584253d6bed8b3900000000001e8435f644fe3cd56b2539b573123300000000000000000000000000000000db84be361af577375de86238a1580734239b9c328d2882371016a638000000001743f634da3051376e63133800000000c44a8d364cbeb537609a4f38f98e94355bfd283456c401345c27b0375e6e5f33331c88348b162235e607bd38f54fe533446b1234d79021359dd6ef38d227a1330000000000000000000000000000000000000000000000000000803f0000000080b2be362d5fd83771d1793f49260535cabb8c32bf623238435f5b3f00000000edb312351e7c9a37027f2c3f0000000072568d369bb4c837f41ffb3e7882cf359aad2b3468fc0334e8ca9d3eb7c5643308ab8e34d1e12835a130003ebaede63363930b34df272c351f71193a6154a2330000000000000000000000000000000000000000000000000000000000000000f9ffa6357450ac353fb79d350262ac350f9ee23426f495349e55ab344850a034413622343984f3339b57313421e40d34dcfa8f35f1f86a35c9854535bc805f35fbae82340bf63c375cada53712426d3400000000038fe337c2f5c83700000000ad3ed034017d9f3783c444373ba4ca3400000000000000000000000000000000000000000000803f00000000000000001a528b35ad84793f11c53738b2fea535c5cce6346ed45c3f5b721138ce189f34a9b80c34a3ac313f453f3e399ccc7634ecc279359bad003ff57a05385e04683555f6753494189d3e979e8d38b6246434000000003d280b3e6ace073a000000008638b234c9080a3d78698b38ccadd934000000000000000000000000000000004bfb3234be326a3481baa036fa840d34e8bf1f35efe235355e033435711308351c4112348f06ad331b313237f2490b344f2d853528a34b35a7b53e353047d235f4cd403536893e3509e2bc35f2c23635dfa4b935ffbe18369dc7a8377130f63563d14b355511e737c4ed233868ae59356bfc2035554ea33752b70438d2033435a3b95a3542d49f35d0dc64361ec7b2351558d133341a793fd24d1e3d39d6b63442cf003471ef733f0a4b203d90af253541e11033ef735b3fe26ffe39227eb7330369223586042f3fe4a43b3a952fb335d27afa342ae8003f88cdc43b34d23535d463303540aba23e3d7ec23c3563b2350346a1344b76023e83940f3df5e53035cdc5b034b4d2103c1a96f83b3477203573ba1835fb168037cc2aed37d953aa35624b0335b8655935f66bd8366ab9d234000000000000000000000000000000008a51af332544ab34befd9d338a648234000000000000000000000000000000000000000000000000000000000000000012bb8c3437151b35566a3734ea6aae34c4c8db34b30be0340ae35037f32aaf34000000000000000000000000000000002b91b8353c262836df1b0d3659b4ef35386a1d34b6a65a3fbf1b243eaf039234000000005509583f7509173e0000000000000000dc6a493f47a0b93d0000000000000000044d1f3f1a809b3d0000000000000000f36be03e368b953d00000000000000006d6d813ef1c6a23d90639c3393082034e88b9a3de1cba53d0000000000000000f1fd753aca50653c00000000cf26b2344b4c2737b98df23af6209e355a257d35a51f41369d401d36915ce1354b2210334d21fb3427aabc34b3eaaf340000000000000000000000000000000076d7d3345ce52934c31962344008ef3483101935784f57358af6053578d21e35000000000000000000000000000000003e499b35891e8835553ceb3616ac993500000000ba9192349d360b33000000000d6c5f35c1968635f7547835a118833592981b356718333f6499a13e89be5235000000003f51303f941ca13e00000000000000006b3a233fb8447c3e0000000043adc33265f0fe3edf11473e0000000031e93a34fc41b93e20da1d3ee598c53400000000ad29623e9f0aca3d00000000c0d1543529918e3d491c863d4fd63f35000000007dcf1f3bd86ad63b000000004db8a5348b86a1386f16a239856f5c35afeeb334c3ac4f35940a0635690b873405e9cb340c999635be8ecb341e874a34a9158f357d55d5357911c035ef51a035f20207360e19123672f6f335569a10366ec92b35ae073d3539312635a2a8e5347db00936576e42365badf236821d273611a096351a18e435e382da362b2e99356ebcf23437caf8369aec4e373dd216356933d03426676835a1335935b08822354a1b9b34ea34033f87a1013fb1739b3425cd7d3211b3033f13dcfc3e81eed033214afd343567ed3e5132de3e02130a35cbe6d03575c0c03e62efa43e2ee2db35abb18a3458598e3e113b6d3e33e9b634b93ea535dd1a393e5e230d3e3e92e03577b744351d8aa83d287f1b3d51736035f91dd2332c7f5e3b34e78b3a1be84f34dce29734c95e8339b2a6fa38c7340e35ec1c6335b8119e35b3b4653556501b35fa1eef33e9b5823400000000000000000df1533574daaa3546a12735ecd008350000000000000000000000000000000038b722355e6629354812c8342a43b834b66b09341b45003500000000000000000000000000000000571c113700000000aad261347f57b834f42e8134000000005096033635912a36d299fb354bb8c33508fd043509b89f3ed72f343fde58793400000000a53aaf3e4da22a3f00000000a15af434b35f933e05b6183f000000000000000068e3723e5f20ee3e00000000e355f43460983e3e01e6a23ee30c99330000000028691a3ed287333e0000000000000000e145bc3d63b1443d00000000e0aaac33472f2b3cd90c9a3a000000002d516e350125df397f97ce3583bb1a3520e3d1351f368036d44a13363cfe993500000000cefc993300000000000000004b6d9234d2d30435cf239934c12eaa33646245356c3dfd342c588b33664c8f340000000000000000000000000000000000000000baeb23310000000000000000f1351735fd67ee34be900b370880a634000000000000000000000000000000000e601535dad73e359eda2735bfb12b35d8bc93356b91243e0ff9593f3f389f34000000005996263e787b563f00000000000000007d29ec3d51743f3f00000000d992d034186bd53d5ad4143f00000000000000009f9ad03d7e0dd03e00000000000000007bb6d53d79ca5f3e00000000b434b3344244bc3d237e403d0000000000000000d676d73cbc627a3a000000002682883452414c3ab5b64c35b4320035b64e72350ad4ab35e2163a35c89c14354f8c2e35dc891735930b0935a8d7c03411be4e352bf38635562a1d35bc0e2c352e7bfb35e028c135601e3f35f38e8b35f9c58135a9856a3558d73e35e0cc20352b8b8a3550e2eb3610591637b178de35d3393034c314a537ac52eb37d5ab9c339a9f86358f9a9e3560ea9c3577cc5d35b5b19a34cb9afc342dbf1335f8339c34390783350f39323d55bb773f28451e35f804d334d41a583d7b25703f53dc8f34f1b6a9341bb6b43a865e593f0000000030b5ee35b0279b3b81f8293f116a3335e6491835aada1d3c50effc3e546c0535414b0f356a8dc23c8e219a3e6e5465353a1400345740213d17c4ec3d40cbce3368a3eb34bcc0163ce5a2a33b18f2ea34786482340e758c37576d2b370036563400000000000000000000000000000000cbe42735de82e4340d20b5345e60b5340000000000000000000000000000000021f530344f7575341e525e34b6ca79340d678b352e8d523524653b35bb076935d081b83429ecb336b88e833714e27f34f85b9c34a7ea3b37bdf4c637b2e2aa34a80da0352c020c367efaba37aa2f95350000000000000000000000000000000000000000000000000000803f00000000bf53c034f4c22d385a6b7a3f0ad79a3400000000d6aa3f382de15f3f000000000750973457326f3817e5343fe5c959340de48435ddc5af38d35d023f3cd046353b167934b85b433a272fa33e9c6a35346e7ace3431d06838b631183ec4e3ab347d91b735b82982397a54143dd4728e35000000000000000000000000000000000000000000000000000000000000000000000000d76893332f0c0a333f660d343b74c833a7218a342071cf331a325934d3819d333e7097330000000000000000b5a34730d4649e3029759a30f464ba33770c073539641435980e0435b7a61835189539330000000000000000adcb303333392b3270b453322e992932fb972a3200000000000000000000000000000000000000000000803f000000000000000000000000d217803f76947e32b4dacc33c91c3e333a46673f9d229233f538a033000000009ab2373f0000000000000000ba125630390c033fef9588306b8b0230d270e6340ba19a3e74c70935cd070f35712d56331a1df13d000000008111973216b51632255f043d0d071f32a0c5143200000000000000000000000000000000bb4e6433140f9d3361f78034c8ecd03312e84c31500f213470762134e2225834a272d93482a7d5343037f934799d1635f9e3db34f509d234369fc0346c56ab3400000000a74ca5320133b3329a3994337ce42d35960f31357d91383557b865357cf0983497bcc33407d71634919289345efb51331bc07433de268033bfbd3c3370ca143526ad3535f5a91935a04b4535191b2433fb1b753f086e473d7412eb33000000009740723f8834cd3c7b202734c8089734a3d3693fb4045b3a93640935ab3bd4344055393fbcc8303ac939a4340000000069de043fdf67cc3ac3a9613357d20b350296a03e9933f03b202b5c35c783a2347689ef3de62e1e3c7eb78334278f5d333347043d8b776d3a97527e333aaf01356ba77e3af1a0303aca5147350aeba533b188f4330f39f633e57ddc33dfa9fb33416aa9345db88233212a803369733034d8653034685232348d393934017d87341fcdb0345ca08034be208b34260995348052f234f6a8893400c9a034b18a3f34739b3b34f9843e34f54a4034e5ce1434a18a8f344192b7331cf9f4333988be34d2510a35974d8b34aec29634657e8c34fbb8bc344ef29834bd8290349f4d99333eac533f63b31a3e78fcc733d6138d33e94f4f3f5364013e330265332c1a0034bce34e3fbde5953d1fbc2234c4658d3488e0293ff5bc633d4f4f7f34ca4a8634d37bf03ec6f8713d4cfc6d346c031b342931913e391e473d545b2c341ff63134927fbf3d44e5403d18dec0334cd59f3466f5453ce1638f3c40774834086f7c3428ad3b3a6133623a7b678434509a4d34033e9b342cb3de348f1d653474120535cbdf4435913b753527995c358780a434eab0703545bd433543bed034d00c91322be22134232d143487b23b3315d4de343bae213539144935691644356151d234ff615335f18e303503b2043500000000aec1f33925b39531000000008c9230349e70ac390ac5fa3480eaf334c85a9334dde190397556b934c7d8bf34a4105e34818b313fe125a13e82f98d34c4aedb34f4cf2a3ff36f973e51be4b357bbc703436c42b3fe21d583ec99ebe342a8d20335e32103ff6e81f3e9e40dd33c69bad343e68d53e30cace3d499f2b352114a634f530883e93d03a3dbad60235b8730c32c146e73d5ff7af3c00000000faa3703387ad3b3c7b579e3a76e9bf347dfa6a34aae8b93a05dc9b3a5c6daa34b54371347b36f238a07d2935c23db1341373603354c24634f43e7334a5821e34220ad534be87ff34b887f6344a76ed34006d053538060b35338a3d3568e1fc34ec1f8533593ac333df80e533dde09c33d81606354960333a58be0b35d7f521358778de343817d639ec0a11351ef7cc34775c0b3492e39e39bc3c1234d632c733c1c1a534c51c183ad30aaf34579eb934885571342e49053f9a25fd3ead0b9b3468f2cb329f68053fdc2df03e45d8d933e30aaf347df0013f8db2c43e288fd434d288fb34b6c2e03e7ee08b3e58bfec340cea4133240ea83e29753a3e2f509433a4d7da34dee1713e46e2933d427f1d35c611ce34b22aff3d34cc373bd4d2c534a5200c3496d5dc3c9c79833ae3bece33806198348ae3293b798f263a8bd3b234dcb69f348ed54f3a3f23da34035099346841bf341879ad38bd138034827bff3300000000000000000000000000000000c211ea3400a15937d22c0335ff85ca34d1f82c3554305435054904352d83df341afdec33d377ba39032770337b7ca633f45ac43432883a3a85c103356e1bb534ffce593509439f391d5f2735e1dd17353b14ac348df08938cd9a7934c2d48934a06287340309b03e84d52a3f63a17534d7ba8c348844ba3ec872243f6787ab3200000000103aaf3e0ee70a3f5c411e31aa67ca3495319e3e309bca3eaf47a8341c661435c143813eda11803ed4a29934cbec8c3393bb4d3e3798ca3dc35caf338dc0b6348543093ec0d5d33a866d8c34525e3b35c1f3583d332e643a59c9e734d93da13478c0e53b3e0e8d34634878342c2969341c3b7b39f056fc341ebc5e34449c8334794bc43487790b35357bc534995c0734e78931348e8f533498e80134fca8bc3327c65d34006a95348c2be833abc39634be25b434ee57ed346f0db634775f9c343fab96345458aa349926a4348adaff33efbe043854c67434c8d5e8337a508b3369ee253428e491342ed73f349891d6330639f733ca03df33c78dc633f6f14d347890413e22c2523fb0776f3442eb5f3484bd483e0e194a3f775fb134e14feb33bbf22a3e8301353f91fc0f347e03a233a788243e9b46063f7a291d349f718a34031a1d3eabbbab3e4556a3342bbf8c344815193ed338163e82e7ac34de890434e50c073e8f540c3b2af21a34f58e89331ba3a23d8c33f3386f601634cd43c6336d8f0b3d11bad133a9a4a433642f1935e517163564b662355b690135d5c23e31046fce3314970f3400000000f5698634cd559e34b2fb9a34932b6834aa4f3e358eae423565f95e35cb440c35ad1b8533000000009fd08c3200000000dd96d1347fb1c534bde2da3414e7ec3492bfee34e8d0c3349ce42c35bf76a434fa191f3464a67a338543a333000000002f000134ed451034dfa70f3425ebdc33930d23357334893d6346713fbcc7e634b640b132aa1a963de3f6663f0000000051b26f3457f25a3d3211553f18e16034e9003835c5ed5f3d3c33233f7b780f358b08c6334f835f3dba24df3e00000000c577a03445fd6a3d51266b3e18fa023585dbc9342804793d586c153d0c0ec034cd6b4734c78b163dae835b3aeab6f73244f5e3331d90693b2d431a3857add13300000000000000000000000000000000e0e8183295175832d11864327ea23832b435a6320000000000000000c349ff3225c70c35fe1c11357c3a1135dbe3ed34c2626630a3de8530ec9b6e3044e7703000000000000000002b360a3400000000d5c6cc33856fa43300135734be45ed337962a3339f5f163300000000000000000000000000000000000000000000000000000000000000000000803f000000007135043274701f3246cf793f86601f3200000000000000001e67633f186a22337a25083523ee0035ae33343fb11cdc34eefc7830853599385fbffe3e7d334d30000000009c03ba340e33943e00000000e986a0333cf5b332ff5cd23db407bc33cfd8d132a3281033b56ae53b0000000000000000000000000000000000000000000000000000000000000000000000000000000038b5953a000000000000000000000000f36991390000000000000000000000004f47fa390000000000000000000000007422433a9c56b336000000007aee573036fd8e3a1b96e0341bda1231000000004dd6423c000000000000000000000000fecf643b187628380000000000000000000000000000000000000000000000000000803f0000000000000000000000000d7c803f00000000000000000000000005cc723f00000000000000000000000012013d3f00000000000000000000000080fd053f743639380000000054bd50301e1b9f3ea08aea34226e0d3100000000859abc3da8ebd0370000000000000000d6a6323da60d9e3800000000000000000000000000000000000000000000000009df953cbbbe96393ef81f3500000000e1f9a33ca2abe5390000000000000000e875863b1eefe2399bf8a1330000000037b40d3d8fe6e339bc17143400000000dce43a3d6ff7e2390000000000000000503a853d17ccdf39addc4f3500000000a3a0a13d4695e739e431f7340000000061279b3d7736db3900000000f5bcec30fb064f3d52e582394775aa3400000000a0b26a3feb679c3a28bc17350000000008786a3f92ca033a000000000000000066066f3f0efffa39a58dbb3300000000b15d433f6133fe3942ab94330000000018ff093f045bfb3900000000000000004f80a13efa670d3abea2533500000000e5f4ba3d29a6ff390a81ca3400000000333f1f3d9ba5f239000000004f4ae930b9e6843c875d9139e212a53400000000904ea03c882286390000000000000000dfceea3c423bbb391c33213333d00b30f146a13ca0c39e39dbecc3300000000071114c3d3d54ad39ab97292f00000000b3ab4d3d4462be390000000000000000e169863dd0e4af3900000000000000008aa0893d8eb291390000000000000000589c963da55dae390000000000000000756a3e3d729d60390000000000000000712e443fcec36f3d00000000000000001c95423f47d9133de96d2133523308309740453f0023cd3c285e053300000000647a2c3f1db6503ae976262f000000000432fc3ec8ee2d3a000000000000000086fba03e5b33713a0000000000000000b62a033e23e3683a0000000000000000c2ccf33c8dafce39000000000000000072129e3cedf78339000000000000000004d4643d03285a39000000000000000058f9653daa06b739000000000000000038a3a23d3591b2390000000000000000e021063e0ab79e39000000000000000085c9063e61a7b839000000000000000072f50b3e49c198390000000000000000dbe6103e1b7ca43900000000000000007858133ed49d95390000000000000000fbdee53d30a1413900000000000000006d13183f14f03e3e00000000000000002022183f0dbd153e000000000000000015fd123f45aaf23d000000000000000061d6063f506d5c3d0000000000000000f91ccc3ee685dd3900000000000000002a64863e0c7f0f3a0000000000000000ee08023ebf90bf39000000000000000057dd0f3d1fb7b83900000000000000005ee1b53cb17d68390000000000000000cdaab03db21d1b3900000000000000009cebc43d3ce58d390000000000000000c4c0db3dbf21643900000000000000000277103e7c1b86390000000000000000fb47123e2a0c5b3900000000000000003531253e8bd68d390000000000000000ea0e1c3e7ceb5a390000000000000000e2531f3ec38872390000000000000000a203033e27c20e3900000000000000004997d33ead75af3e00000000000000002280d03e75ee983e0000000000000000324fca3e25b0793e00000000000000004441bb3efe8d0b3e00000000000000005052963edd90913d0000000000000000b0e3553e1cd1e23900000000000000001d6dea3dc458cb390000000000000000c8cc653dda0696390000000000000000729e3a3dfe7b3939000000000000000088a3c63def2f3639000000000000000055e1de3d233d94390000000000000000cb6be43d182c7f390000000000000000f7b0033e364e793900000000000000001ea81c3ef6a5a839000000000000000024f11f3eae1784390000000000000000a277203e4cc083390000000000000000eb5d0f3e52ab84390000000000000000b675f33d4c550a390000000000000000f9ad843e477a063f00000000000000001cb47c3ea7cdf53e00000000000000003d5a793ecbc3c73e00000000000000008bbe6a3e2e34843e00000000000000004865533e848dfc3d0000000000000000d2c8153eb329883a0000000000000000cd8baf3dcd8cfe3900000000000000001c689c3d2e39a83900000000000000001aff743dc956383900000000000000000d61c23db84082390000000000000000c5afc53d6898ae390000000000000000d788c43d0657923900000000000000007951d23de1f29f390000000000000000d16ee03db15fb639000000002283262f7daaed3da3a7b439000000006c5d16327d3de13d921b8f392681f72f7aa02233b54bc33da17298398a3f9e3000000000c0feac3d87e54f3900000000000000008b76fa3dfe3c3a3f0000000000000000e977fb3d5531303f0000000000000000dcb7fe3dfc6b183f0000000000000000408eee3d7fc0d23e00000000000000003630e03de3777e3e00000000843f242feee1d63d69a7873d000000009c8d0333c468ae3dbf86b139471f0030c8b71833f151ba3d180ec13900000000000000001b9da93de83c7e390000000099b0b93477ef0d3dcd606139afafed30000000006e7fd83c5466ba39000000006dd112353586be3cccedb23900000000d59d85355531aa3cff41a939000000000000000051f8a73ce9b8cb390000000014018d340ff6b13c120fbb3900000000fa3b93344776d93c3ac5b23900000000000000003d0d003de020ba39000000009f06503538e1173dced95a39000000008555a7346df20a3dcfc35f3fac59e9300000000099c12b3d0055523f000000001375c4344fa0453d81aa433f00000000464a6f356477443dd1820e3f000000000000000021323d3df82bb53e000000005629a633292b313dbc7c123e00000000e7d558346e89273d8485df3900000000000000004183163d067fe039000000007f242a35452b0f3d247e8939000000000000000000000000000000000000000000000000a0b8e5382b4db039000000000000000067a3233898506b3900000000eb0d0e31e8e64837dde5623901715b3000000000336ca038d553a639000000000000000043be8636cb588b3900000000000000000000000032b7873900000000000000006d993137a9369839000000000000000000000000000000000000000000000000000000000000803f0000000000000000d430d3382c9c753f0000000000000000af7119388e7e663f0000000062f60d31949557374999313f91cf553000000000f2d19438643bf63e000000000000000000000000687f883e000000000000000000000000fd04643d000000000000000094993a368cfdc13a00000000000000000000000000000000000000000000000000000000000000000000000066b0353700aeeb36c88dfd36aded8337dc15a837efed2a3746c76537c202c837574cd7375081e13685eb7437d83015382ba60738f055c0368469bd37611b5838667b8e37785a483792647e372bb9b8376623cb37c1dcba370a8aba374e90da379dfaae378456c437e275a037a4dfbc3700000000000000000000000000000000000000000000803f0000000000000000f3564135e6f17f3fc8a3be377273473751d45237ea07573fa51de43767379b3763096e37ab112c3f902b2838482dbb37d1026d378b8c003fa2b268383bd71738dad554372a08aa3e1e8db4374168a53701fd9c3764c7293e56cacb37a98fd1372d3a4837317869383a1bbe373f27a137000000000000000000000000000000007f992c365f0b513790c76737094c1737ce10643596bbf13618836a3709008b37584b54361d6ef435e941a136504607378317ea35b2bcde352d5a563758be06384998aa376f1396373e2bdd3708771b387cab92378df18d375dbed037597006388e148136144f9036c8bfae362fb9363791784337736197379c849c3717cba737373f7b350d354836e83ca636eabdd536e220e734ecf37f3ff1cd5a38419e6f36cec1263586797c3f149c5d3c6999ae3695ccef35f70e543f0df97e3c39eba036dc86db353a392b3f31830d3c65691637c84cdd36f24aff3e7899063968c0db37e49376366417a83e88da4538a0dacc377e9528365274253ef935f7379ad9a536823a9336548ac2382c3de137b5628d3799b278353dff21372b83da36d842f3350cd80037a0ecb33730369f37e38d6937d0ff0437faad913720ba803730c86237b87f9136b406ad36132bd836aa24f8364c57a6376c6ec4373d00e037ca1a0638d52f8e37fb92a737eb30b837d8dccf37ea3df53659f4ff36f69d5937f427933771422d361a4c8d360f1ffd36e70c1c37ebe0fb35f136923711b18337ae657b37ded84937716aa837764c9f3702b1a637a3ed01363d4c553f1b992a3e7c98c3364e634d367b84543fc7bf2d3e1936bb366e6a8136b7fd313f520b263e0bd18e36eb5847367461133f3e45e53d157e89373089ed3690a0d73e5f299f3def8974375e0bc5366392913e6fb5cb3c0a6afb36bcba26365c2d1b3e70104d38a84d34367380f235648f4238e48af337ce700936cb579436f68ce837c2c1be3797112537fadd2a3770f4113868d8e337c4681c378fdc7a35eb17e737f7496c3797be4e3595936937dc059137f28d6f371a0f6637d4e33137dd2c3637ce6a33378705353769ea7f370d6e8c3717937d37e94e803783e8e5372dc20938854002381f40fe378caf2937341b5237398051379c3a42373604cb376e1e10382977ff375e13d5375d6a9537c35bcb37ea3da837ca7d9b3777760f35cb062b3fe1cda93eb92e10365be76234d7b92b3f5f69a83e96694a34732c28364e72153f680e943e485a4536e1c4f736ce42ee3e1ade5f3e92bc1137c351d036ab5fb03e21031f3e3790dd364c6c2f3669e26a3eb03dac3dcbd617372b3abc36466f023ebc7c6b3cf23d0f3792fd0a37f7b95f38ff773638a4cf69373058493727091738b782d537b6e86b3701f98436aa7e3438163ce4374985213606a4d0371cd41b38c9b8de375c0c813723753d37c5e87537dba2f036bf42743654c8cb37e7c8fe375a0fa6378f9c6b37acf91838f2472f384546f2378bcba2378b0cea37d9400638deabdc37a710aa37f7a8583715a6903748f868373ac736376fddfa379fe7123881ea02380f0cd537ae4d55377cb9a43737ee5137bf40a3369ea4173561b2003f3479fe3e0630163567f0683679c4013f0e4dfc3ec6aa0836772966356437df3ef61dd63ed024653501b506366ea7b43e7de3a93e834ba5353e004c374067843eef0f773e5d9a233791600f379c172c3ec397163e4e308836cddb5436bd86a83df3ce813deab0ce355955a437c14854389fad3738f1e38737e9267236539b0e38e413ce37a5e03b367c038d37268924387404d337cdf6e4362370ba37d9e31a3886d9b3379bd95836cdcb45378b624c371c9f02370aacc0367d10053846771338fe828337f344d336863dba375ee5bd37c61d2c37e89afc3648c5423716ff4337559a2e37b023283789a8ab378197c737f6218f37c66554371efd8a37c3d0db370b196d37e737aa3569e0b037d47ac7371a6fa33758604b3726999d36d61cac3e43e1293f4d5812365b60423623c7b03e6887273f5e7729362a1ab03604de9a3ec8410e3fc19b8436acf25c366d34763eb54ae43e4bacb6355527e336c02a333e717aa63e6eeace3623e32837c155db3d3ed2553e77d30637ba6b4537c793e63ca55bca3dba215336ec9e6635fba45c38c8ce3e38ab708a3449e14737800103380d0fd7379d4255364c519337eeff0038a04f9e37f6a84b364ef75537601db13720a2f43597a9ee350ed12c376c063637bc9d2736d3132636a3cbb03725e18c37a395d736d3f0ce36f58b7939a5bed8378a5e5e378e500f3741951a38483c12383b83a837e0a96337492d9837bd599437bc08a236fde78f366a7b9337a075a33759007337732214379529933743539537e7986d376aa21937e81295362853303e6bde533f477f84357cb2043606d13d3e0d7c503f364acd35a431313604af323ec1822c3fd7601736ab1ff13688520a3e163b0e3f888797361cf08c37d591c23d62bccf3e94b8e036167ec63762a53a3d5882883e77de4b36c728a6369defb73bcc0c0c3e410a873655a76437862a1838c0c20e381bcc623623ac7c379bbaad3710458b37d1c61d3643d4e6365ed59137a4247e355e376d350c31b237e3ba9c37e5989c36914af73417ec47376f40cf36a9da173638a817369b54083845ade4375e368336cf920636c8d23138b947f837e24c393710222a37eb852838fb2bc737e1cee1351668e935448a2937c9c6ec361d966736fddefa35eafdb037ad85a1376cc1263714409035bc4c563770bb18371fe76b36b6734336df1773354c6fb23ba28f7e3f9d205c352a536237e4fdf83c8e2b783fb6beb03463b494366ea5f33c61fd4e3fc3a1e235a753cb37cc2ebc3c8105263f0c00023602b5e8372ea2823c3557f83efa04fe352e8b963759a1d8396dcea43ed0b6e3351b6dc836fedf0438b6c01f3efcd2f635a8916d3760563838820b563801455435a8022437ff78873796220337d5eaf03500000000000000000000000000000000b726c7379034a037e4a0e0363882af3656d9df37e1cbb4378e432d37a121743782cab437be2188370cf9b836bcb92837d5dd5b388f35fd37659e9736e32bdd36ddd716383dc1d637b1fd6c3717cc80371a81c4373e2fb73797969237466399373ede8637c9358d373b709237424437370000000000000000000000000000000000000000000000000000803f00000000086c90370d2908386af37f3f777d9836aa73c437607e2638677c553fdcda1d37da6e9f37bb4b6e3846eb2a3fcf2f9836a5632a381c568f38a2b0fe3e08e597364ca8ea37c7f74238a6ada73ec1c5f73648e7ab37e867f837eba4233e93dd5d3733b962374cc4c1376aa92e38030783360000000000000000000000000000000000000000000000000000000000000000aae4b637557882381617c637a5f28f370c2301380a5a35386e2c06383edffa375b75b9376eb3f9371d80d5372257d8374cccec371eb325382eb3113831ee2438cbecff370ca2b838ebc871386bf6703932edf33729d42a38f47e1638d9e11538f28dea3756453e3849f01738003f103800000000000000000000000000000000000000000000803f0000000000000000477167374062703f49f04238b7776d3724d2e0372dac4a3fce3547380f28ee37590a9d37e6c0253f50210c38f732bb377ef7d937233a003f286a4b3804a30138542bd137eb0ab63ebb3a973917925c389856c63799d5593e960e2738899e0638a0e4b137578b863d6faa1d38848f06380000000000000000000000000000000029ba5737084bc13920590b383f65c237478237362c269e39f317a437411f6336a3b49d3765147e38ee884a38212ff1376845be36ce7ea9374301883714706a37ba94c137b62b82389c7c6d382bc43838b0de18379ed0e73712daf137ce14d6378c918e36e8771638ac2002387ce7a1373d0408368678d537772dac3753235c371e47ac3790374338111c2d38f17602383986c1367b2e6f3fbd47853d21eeae373ced113639e55f3fc69d8f3d27f052360fbcb6362f273e3fb7677d3df8d1a937ae3c8636fc551c3fbd73343dc2f53537e5d38e36a258f13e953ed23c42a20938e75c14377965ae3e5c869c39aeb3b337d9437b36a073503ee479363863bb313738790636cc148c3d3c71cd376b140737c020d536297c5a384ea93138ad7fd8371ed30536dbefba39cffb1438dd391236478b9037467f8f39ed971138f27d9837013e37366c7d6b384ffcfb37f25f413658c67c360703763852061c380e5f9e368f6685373c7b4c388e791a38eecdaa377d24ee35d30c4837b4552f37d9ac7b36457ea7363b082338fa310838f3d2903770fc78364c9724386a14d537a4c88336b42f203762d11338e4a2cc37be345d37fd0bfb3585ee493f3c9e573e7caf0c36acfa8236b6c03f3fd17c533ebbf863378d62ed35a871203ff1d6313eadc02b360f126736a88e053f44c4073ed1ac70369cee8e364107ce3eb567c63dd2d87d374a1fe935c521953e7a09553dafbef235fd110e36e50f383ec9a4903c9bd826371fae7636049d783d62c6253813968336cd714036dbdba03857b2f637c9b64337971335378f47123aa393613887c17e359bf9b3364dba033c90abdf371c57b136de3f86378cd4833873032138207d6e36f75a85378e1ba938beea19380ef36f367b2ab737e1f22638c0350938ee059c37db0ddf37be958f380f0266386e0a9f3756cc9a3681f1613877bc1b38cd742f36b9b87c365954123877d3933742b48536efe4f337b3c44f38a68a273844c7b0375bf87d35515a253fafd7b43e26eb7a358b3ab036dde61c3faa12ac3e3b33b036e74a613650fd053f2f2f903e5a696e3676460436cd19dc3e48e6643e8beb0b364efb62375b39aa3edf7e2a3e3d047a37231fdb368d00743ef5cbd93def9f16378e04223675c7133ebcb44b3d1b002e36a07e7a36ac19533dd3cd1a38420f853614329537f4149d38e1d43f380c697937ce7e56378d64cd39e012eb37d7951637b6ad19379bb4883a483bfb37038c5336440b963725cb733918290638e7c33c3797c136374509243862999d37280c1437ff060e3871a92e3a434165381889a9365a40313796c403383350ac3757e01637b89a9437a4bd2c389e2f0038ae335a37d3e44737effbd939134ee737d7b5653656eb8837aa39f7372efda737fdc93b3728390e37cf99003fb472fe3e889e0337b6815b36113ff63ecf26ef3e0bc65236d2094937c874d03e4407c93ef45f2c373e8817376b8aac3ed764a33ed32614371167af360e9a833e0a06783e471da536ee1b153759ec3a3e2903253edb1d173751205737dd41e23d6f02b73de51a4d37e0695d364dcd183dde5c573c61f95e36215b5637e7f210383cd6d8378f312c37ba7ece375a73cb3933154738c1587736da138536d5e7fb392308b93740a173367c698c37ef3d8b380bc7fb37b2bf1d3677cd223838c39a3803c54e38410ada36f173e53716fd3a38bf81fa3733825f37e518bd37c8005c387a7403382f040536e48fc5371fec4b3847c10a38bea96336645625379dfd4b3806768a375250b336d84b0638cc3d66382ff61b38752d8435c82d3437bacbb73e4be8233fa81577362aad8336edb4b23eda49193f92a372369acf2c364b01993e9fc0013fe9391d368a4f82376011793ea5d5d23eaa65d9369c64a2378d0f3e3ec561a13ec6dd543726b61c371ecb033ed3cb5e3eb4d505368c8832372fee913d86fafc3d3f2263364ca9b236da03763ca508e43cd949b3360ce29337b2c198388b665238afb486350d387037f7a9a139dced0b3807a88c355370ee3609da693860dddb376a4570360156cc37720b6a38ad79ca3749a30836efaf0337ad379c37124e9036141ae335cbabf937849c5a38a2b7e4378fea8d364baec837ece96c387b3ac53788156436587283371e4e3f38818c873742890b36a7c9f23773d61f384b4d0138759ffa367ff9b237919116386797bb3791c9fe3538a3f6366bcb5c3e8ca4483fd0508c35cd1082366f97593e88043a3f4ba56d363da920379b81413e44091d3fcd3d09365be4ef35e75c193e03bc013f6944e435fb21ad37f051e73dfe6cc63e07518b36e60bb136511c953da1988b3e03fb65364b084f368abd183dd6fc253eced1f535eecbc837e99bdc381b8e333d161b8d36855e4e37fda42d38200e0938883701364d4c043862191039dc8841387bc99a36c9b46a3756d23238858f7937d92dfc35585bd1373aad41385320bb372b624036bdefee3789ad9238a06687376e641237a3f25d38d0998e3844fe28385d7d80366bbf8737c88a45385ec93537f2557f36350e3338db107338a7c418386cf8b73602eb4837a799d337e8773537b76b14363f3bf6372c9909380964d637eb03ce363ef2b0371f28913d54ba6d3f659b9936d9f09636756f9d3dcabe5a3f2e75f7352e9a2537d583913d81a3393fa7773936165ab33779db793d260d193f25ff113765352b3867202d3d91a5eb3e63e37636f26663373fd58d3c67d1a73e617c71363acb0638c9eac6392f58473e4e96b036f3028f362c850339d043603d116d143629ede4379f2513381c6ff837e210ca36000000000000000000000000000000009cdd10389679d3386c922538ff66ca3647081b384ce53938f3821938ff0910372af9683930769e3933f33538d9a83637b402263816dd4538d1ef0a38b7ba943734e2e037d8a30338c0b2d437c59a3d37d26009381375183857e50d38681dbb375a65c637dc450c386c2af937d22b43370000000000000000000000000000000000000000000000000000803f00000000ee11fd37a02ae139dcf66e3f9fe22437d1da04386a89c9390856493f007e5537e2a64438464d283a827d243f05246537a75c063801410d39bf4bff3efe15a037f611cb378035e738273eb43e0a183f37f8a80138df6e4a38dee3543ebc7eb537f9cca437eea9253864a2783d8e31133700000000000000000000000000000000000000000000000000000000000000006e5a3e39dad80b3abaa85a39cbb68e38dbc5a739c4340a3a15b0b13964f972394eecc039bb483c3ad788c23958a1ad395b128c39a0d24b3aa991cd3984c84b39da13a239ce9dfc390effb939a0798f3901d06439aea4d439028192399fbb4639a45fc339ec4b1c3a9d70e7396c3c9f3900000000000000000000000000000000000000000000803f000000000000000082e90d399134613f794f9739fbb2973841049a391863403f8f47df39230756393f71b339b5cd1f3fe16ffb3977d59839e26b6e39cac7fe3ecdb8163acf924f39d7ff9039de03be3e8ce2cf3995e98939400f3839125a7a3ee7a1a43999f542392440a4391858ef3d3c27ed392caba23900000000000000000000000000000000e71bb7381c4f863a9dced539e72589386247fe37697fd53a0cf60b3afb47f637850bb638e304753a02bbd639e3f2cf38fa87213a8cfb053b14a3833a15e5183a13d09637fd976b3a2e997239046ead37c6fffe37a0d6c13a59dbe439957f063859be093a4342a43c5669b13a2e1b263a1a7bce37cbb1893a84a48938e7d1e1377bd768392ad7853abcba3f39983fa338ad71d637d1a4613fcdecea3d576e9b38b73be33751ea473f630ad63d39b6f837413cbb3799ca2c3f6327c23d42f2ea38484b063adf160e3fddd78a3da327193a0ea03037b8e2e23e86f5613d5ff8b8370e4edf3793e8a93ec35b1b3dc51c0638c6e9d239c50f4f3e20de963ca9d8233aa998b237ca4de63d22044d394fe0de37ad427f38c7d18f3a43de4e39c329a3383077fd3724bca33a5addcc39807cef378e3b80388bbf1b3b06d9013a32e79e375228b238be3d843a178bc539ba5eac379a8388392652ad3a04740c3ab31b9738f1a23c39757b223a4bb5ed39fd8909391a48c5394889dc3a4c1c3f3aa485c13955c286399b704c3afb171d3adf697c392ff14a39efc2f73a87bd153acb9216396a69fa38c1f6083a50d4a239002936387cbaec3758a7403febe6783e97d6f037699a9637238a2a3f9ae3593e3368a137e736bd37beec113fecfd3a3e54dfb637ca09ea38bc38f33ed0c3193e4cc6ab38136c7e380577c23ee25bf23de4c50f391de272397948913e449bad3da8e5c039bec2d5382a48423ee97f583df08572393962cd3796bfc03d53f4a63cfb081039479f32384c2f1e3aa324ba395243393841dd2b39f648703a2da5fb3932f405383cf17238be5df13a22a7f0398d32b937bf2eec391f6d893c7075553a091b4c39d6fb2c3804cfd83a7f11da3902e3e137141c49390a02ae3c03d12b3a001773372a3ce6385c20933a66bfe03947c22538a4b67438de18813a56f41d3ad63d13383f62053808d8713a9cfdfa392e199437f64698397980373ae454033a3922b23881271d387580203f09e4bc3e6c340b388d93d03723a10d3f48c8a63e2e7cc037f8988f39c4e8ee3ef1578a3e9a006f3938b61a386924ca3ed5d36b3ee383f037f2bb80387b3c9e3efa87363ed7607e3744313a38c5b9713e24b7093e73d82838fcf02e38c843203e0cbfb23df1e3153855cbd937e8489e3d8a34233d2fef94372fb137394b62553ae659143a4d44d638371d6238a1b8933a3b13b139b72d4b3886ef4d389b57bb3a02ccc13997e8d43707420a3880ad7b3a09550e3adc1cd3373d4513384713723ae65771399e6dcf375ea8b239230ac13adc4e873ab239253805140b38f101433ac4fa6039d287f53778e40b388fa25c3a7384053abde1e23721a755385646853ad888a339504ad43720c37538d340483a4fa69839b79e3d3835514d38fa12ff3eebd6fe3ed8c650386cdff037d0aee13ef36ee03eadace037e4fdfa37df57c13e14f4bf3efaabdc37e92b0938d361a13ebf439f3ecce5d9375629473883cf7f3e62247d3e714528385a59fa37cdfc3f3e5a6a3c3e2478fb372173fd37bd36fe3d737cf63db41ae737b3640038427d7a3da4c0663d8292d637404566388e05663acac7bb39ee523f389edd8839c78c493a6cec1d3a11315638a988eb3701b1823a25541c3ae2248f373102f53847cc8b3ae4de1a3acc020638f23b57399288a03a787ee039e5961238d9427a39da3ee73a4dbf4f3a63c25e3726522438f134ad3a8f31cf392dd5fb37b02f073ac9de773c08484c3a377a0539c2dd1c3964c19c3a4f0adf39eacfbc376fc57c395929163a0b67e239b8040b38a24c0c39d561be3e78811f3fcd2b5f38c255b3372ba8a83ef1e30c3fef379737dc332a38641e903e343bf13ee1a71038e947933893676f3eaca4c83e84b01e3826c2ed380be8393e4eaa9c3ef064863762bc0e3894fa0d3ea2c36d3e77f403385628d039f4aba93dc3fc133eea7b1e398750d737b346333d727f953de137be37243b15390cdc173aa5f0063a7a3a0f386b140939364bfc39d359e039b38e0e38742dae39129dfa3a41c38e3a6511b237f8edda39500f4c3a2993223a19628c37f1960f3a87a8c93aef25483ab560aa378c1c9d39bfbe153a2e58e6393f2a913762f6ac397b95703a360e163a52e8cd374f1536396a452b3ae2bfc839dbf58d37a7126a39d971b03a89eeea3911ba863745bc44396291303aa2eca7397fd8e137c8c84038d76e793ec0d2403fc10f1b3853904639d16a5c3e97ea293f46a3b837cb949b397c813c3e4baa113f77469a370dbfe5399aea1b3e56b2f13e5409813804625c39f1aef83d592ec13ef699943791cc5c39bbcfb83d29658f3e5b63d5371c36a2387dce703d63313e3e695491379346fd3853d0d23cdeafb83db2d48b37b47afd38e27f323a685e133a9204e63706a2ee3864629f398833703afabb28382952f9373716593a5c560c3a65966637a6886c3a9021a03c6559993c971fe9383fef39387306a93a358a1e3a9b9e9b37f8a62238fc3f233a84069c39974e92363f52403adc7dd73a47c0933a8d109d39a8c2933990ec053a0637c13963213f3725271338b1dd653a8796b63931fbb437b2d76939bcb3f039eb83ac39a6dfa9375efcaa385ba3eb3df26b613f41473b389c86e537916fd83d2c6c473fbf329437bac3323adc7d8d3d5080253f39108139a8061338d469963d63820d3f6bc6b437805bf13793a66d3d83fde13ed966a53688982c3abc02213dddcaa73e91b2bf39eb8b5c39d3ff2b3a5200683e5727533737420938dde7813a5323e13dec29be372b7127395305fb399d6e063a9c91ac3700000000000000000000000000000000354ac539997f0d3a03291b3a26bb1639d1f187390aafc339088acb39419b4e3831d1ae395427e939f7c6e939d16006391bb69a395932283a725e1d3a74e4d3382433c339fe1f003af7e6003ac1a25b3975cb9c39d654da393b43da39a26626395ca6243901939739d0b1a0396d8e3a380000000000000000000000000000000000000000000000000000803f00000000bf05ab39c23f143aa5a6603fc67d803992bf5b39f280d839cd80403f08a5fe3802fd95393026fb3959c51f3f07fd5739a22a6b39197f3a3aeb7afe3e75831f390d3db139855d103af68abd3e52bc74396f6987394546dd3997d0793e399d3739b59e0339a90a9639eaa5f03d06c543380000000000000000000000000000000000000000000000000000000000000000e80b1b363aeb13366abc3a367f4e573637a39436fee384366e7198361b5e4437a1649637b4552d37ac35a337493cdd37a44b1737d23a1237b546203757b13f376e4805379e6a013704fa0b37b3ee17378613d337a66c0a38167103383a8705381cd6ef372ff2363893b51e386965133800000000000000000000000000000000000000000000803f0000000000000000cb45f03558fa7f3f2afff9367c4c4736ec298f36bc97643ff4f19837449c2c37705698378940323f7ace1c38921dd937078f19378d45003f39039f37318d3337ebb1fd36b41b9e3e9541a5378894153733059c370764e93d373d6d385045063880d182370ae5a238768d4f38d8581038000000000000000000000000000000008b768136742fa236f16d80377c9bc13600fac634261cee34435cab37aab35037c9ec86352c7888355ff5a535293f04373a771d364ffc23368d7e2a37f566563788e9ca34ea4f7736dfce0f3898b0213896b28b36cfae003777ae0938808f0038af268e366291a7361637be36eeccbe360f50083548f7a237486ded374f2ca23701cfff3522f81f3615ad2d364d623336a34a4336bc8e7f3f028ae23a16eea4365443ca34649a7f3f6575c03a21060a37d4de78353708683fd14501396491673683878f351f3b353f504eee380c5e4737045ec834baa8023ffe5d963a7f9b2038fbc49c3540a2a13e580b2f3a7ad80138932f62362418ed3d46b70f39d5dbbb3693180535e94cdd39264dcb3875578f37e63fdf353ff73d3796210f3870bf3236830d9e352f6713380dd38e389bb8a035439c7935e8769137f37f4e38b772da375cb0f73519b22d36f5e9f73634b9a23676ad3c352983943555fd1d37f711a1362de7f435c719df3703ea4438b5bf2e38572e1e3770b372370bff8c3772ab8437965a99357884573744aedc37ea613937974e87350ee2593747548f3769b3a536ce2a4636e106c737ee31f137306a9c3724e898350ac35e3f7be1043edcac9e3560057235d8395f3ffcbe023ec68f6737d591a6354b07453fb7a6023eabc53a361dda1c353d6f1e3ff39dbd3dc5024b36b46af2352386e33ee92c713d304e0f38bf86a036da548e3e3f82ab3c3987733702c491353cb3e73d6f7e8d3ab685ba3691218635635367382e9861386c187d3613713d366aaf3b3873f45838f8653a3752db0836d801e93780810a38bf91193652413336789a1b3706de5937f5753a36384e1f3658594936647b5036deb63636c45abd36963f15376b461a370087f8368334fe3667834e3791328537093e3137193fa336663f2737bc1e2f3770e1d63625827036e17d0838e22919381e058a3758a91c374dca31383f062138751b9c37e06d49366e668336cd067b3671ea65367632ef35fe66303fc6209f3e19f3143638b82d365669313f36229d3ebdf23b3632191c366d19223f6efd8e3eb2532736a118a236014dff3e56b7533e46e9bb3685496e36bb12bb3e302a0c3ee61110373bc54c36dcd0623e3f9c9d3dd79195360df41a3671cab13dbdc01d3c2b0b9e366e7dce35c2feac3884e1883808accc36e0222e368fa86a38c0735c38526e4e3642d67936db08c4374823a936fcbe6f3609770536565315388cb4b837355212358f9e52378cc395376ad467371a6bf236c8d01e372c1d7737fcef38378081bd3616a81c382cd9503801a83538cdb1f1373e7243373a3390371db76e3760c21b370bd4823766abbf3724fead378ee06f3734149e379e9e433833460e382af4bd3668a4723656258236b33080360e2b7b3670d3663616b4003fde92fe3e68485a3632dcae341315033f40ccf93e43bcc0340d3cd3369042ef3ef910dc3ef90bb0362ce09036e489bf3eefbda93eb5bb8d36fb9db7377541883e12766f3e00419f376d05b036f8f6273ea2a5053e4798a13646fd183724ff8d3deeeb093d3dbc2137bde3983560de4f39e492b0380fee4435fb5969363dd650388c5ca437e9897236f901543697758a38ad2b5a36ee8e1e36ec3977373dc82f38a1340137244ed1352c5377373d81c8372d7415363e6013361257f4361d912237208f9636d7432636ebbc6337c849b73738a21d371dedb2365a851d37ea4c3f3769bb04373501b5369a425a3646dcf837ab125c36f2641c3697bd2c3725ceea37738fd836f47f353634543237d114a63745be1236944f0c3617ad323610e7a23ef08a2e3f134cfc35ab1956365676a93e27332b3f6e93c235235a2136097ea03e9c15173f7064113649988f3662bd7d3e5b66e83efde924361f6416377581313e6808a63edd685336623de536ce68e23dafa83c3e814da636015533360e641c3dec7e4a3dd31f2036d5e565365c47c038bd027738e37a3736f2511436fbfe5f383cd48337e7540a369ef6a9370d8c66389ac5f136a4c73a36d8cdcb36c50b98374f908f35d34680351bf24b37ee5343374f99983518e09935ee7887373a5888375eec0137b6935b36c7a24138c6a14e385f5f20372f80f5358ce5a93722da0138553b91357b8f4735cc8c5e374897bf372a96a2367fa21436d3b1263806186d38c78bb63749028a353fc5223713a67637ecb09d35520f9a3510bbd336d7aa0a3ed2495d3fc89d29365e652b366b23223ed474573fa8ad743560deaf357ca21e3efa223b3f32628d353b756637b0e3003eca4d133f4a4a523626c12338627db53d77ced03ecdb4fb353d89f0366f714a3dfdfc743e61e93d354d61a43687a4bd3cb45ea33dd4a5f735ecc0f337a24ffe38f2cb9d387dc48e35190f9d358f31b63819f30a37875c9b35964f35366feec337cf530b3686fde0353e98b5379c509737b7890235571af734dadbb336c157a83665d44a366f0c34368e230a3888e2be3729d5b2351f09ba35347c2b38dbf3103817e0c634868dbf3499436a37a8cd5c371cfd8036f92f0236ea4d1037710f9237758899352f729935cf686b3730d6e0379940b4350b59f734e5f2f23661950337867a9736e51085362b812e36753f123b52707f3f0941ba35b03561378951b43c4f3e7a3f0815fd34a49db036cae4243cfec35f3f3bb80e363251f837d7a32e3b01512e3f14e850357bd1263800f1013bb620f93ef893c334a55c5737c9c73a3ae91e953e2f39a735bcbffa3664040c3a8475be3de54a923519266e370dd6993865137938dd38ed349d8ac636d1b2de37896ba4367cb96936000000000000000000000000000000004b281838f3b6e737f4d28636ae331b36e8180c38873dbb374c118b3695228c36d6ed14373eb10737613bd3363bcbce367f89423768c02c374955083783750d377fdbf137118bf3371501aa370a39a2379504463789518e378f19893761d1173725e554366538a336e0009e3688a740360000000000000000000000000000000000000000000000000000803f00000000b7940c38391b6238f6e77f3fa4140b36c96e04381a6a5c3861c2623f64278636b55012379832fc37b1f9303f808bd336637344376ad8cb37e94eff3ecaed0e374433e83702b23d3886799b3ef97092371a1837370e322e384223db3df9c3fb3663154a36236b423716ad42386a4225360000000000000000000000000000000000000000000000000000000000000000d82cfb34b3db1e35b1763a35a4a0353527b7e235de6ffe35304b0336588302365170e0358f79c53683b69e368cd49736146be934e0f5e8349a12e9342e85ea344c913b3607e73f37e09e1c37ca99353705b16136655f8d3785296137474f21371ac0a434783f0a37b1078b368fb5093600000000000000000000000000000000000000000000803f00000000000000003abffb3470fe7f3f0b1d3b36f7e433359d32d73554815e3fb64e03366e2802361063d6350e26303f42c7d3371dc16f3686e6e734f9dd013fa771ae376beeea34465d343628e6a63e1dabec37d4fd2937865c54369cf2173e4da6ee37d19f1d37eaf5a3345651073aa946e236d0a5ca35000000000000000000000000000000005fe22a36543d7337e9a8f937a1d5cf36388b3c36d4199f3691b70438708eb73663475835d7418a35d9229236358fef352d0a61354c2a4336cee9e337909c99373c9f3c362a1eae3709101b38df23fe37c6b206355de6e135dc2e3a37461fbe3515207435eddede3615ae3037e7f4553668929e3625fbc237cd23e437339c2637c2171d35fbfc0c386c0d2738a5fcea37fc3f2236e3b8763fb774143d6ede8d36d01a31361bf9793fdfc8b93c9b65b5368e9c55350ec0603f05b0563cc892ed353a2ef734c1f7323fc9eea33a0e3b6c37e4382136a789023f2cdd913af66ce637d40204353085a83e0995333a3cf63135993340350433143e6f63013a0f3f5836d35c8b365539493adbef8f3824f908376d5a1b35df4a2438cba345383024c5377124e935a56921386fea333827ac1936d994b034ea7e283712941a3762a483353d5c67363432b63789dca53739819736baf6ac3565b84e37266042373feccd356d7c9f34f0a7a036143f8336e738ab344b5fe13494fb043845d6f73775631e358c458235e3d483376c755237e770f43588721a35cc73c837b5038537b5180b36683d9335b3dd1238b092f137271a23369c8dd93547cd513f953e383e937218362418ac341077533f5bd6303e3ff55735aa084936fba53b3f7cdb1e3e34299536b195a135b4771a3fd0e2df3ddfc3d0356b7e9e3418a2e13ebebe933d858ca934068cde348f77913e4911003d193c21356c657035384a113eb1100f3c0759f4351e1d1335d8b21b3a7b1373383633093627368835cd4d333855c8233832f4203647a7933588332b38015fa637c05fa935e64be8342fd5cf377ba21f35f756023569150636a6289036267b173665c50a366db30735a1211a385dcc3936e1ac09359e135434f6d2a9361dbe6835494f5b344c95b83510554b38af20f8376f58d83533ee763555884a38341e953504b789352e05b43529036f372e8c5336e0311c3622d0983577b76538153aae358ce69935236a8935182e2a3f2aa6ab3e6ceaac35d9b1de34b4cf2d3f77fca33e54870335a354fa35bb5e1f3f25128a3e181908369df10635e2f2fe3e35f74e3e5fdd0b35917350347e02bd3e276f0c3e21226234ec0eaa355aea763e1587953d9927d7356a697735e90bf33da99db23b97e58a35d38a8035a4078a3a16eb543753f115360f879135a2ff25391882b43711bb9e3539239c35739ac9380f76d03778439e358d3c0a37420096386d74e037b7af0337d385ad36737a0638976a043779d5913625928c35585b15387f4a3536928b6935d60311379be0a23840290c38e6b8ce36487d833557d51b381a2d33374ce987357d609e36f84a253865c11737e291a836e3240837dff793388683a237febe0b37986aa23539cd5b3896931e3705829a358a0495357b74013f69e0fc3eb3f19a3586ee043716c0053f3217f43e8b6d0037d918a6366491f23e961acb3e4d559036a76184351f01c63e2d269c3e0c3b6a35c6c3ca36f98e8f3ed6e6603e51a7cd3658817b356a42433eae2af13d01c4833503629436304cc63d5b18063d7799a9364cbb0437612a3f3ae7368d3859370c3769a8a135a501d33981bde737bc619935b8259b358c996b39d1a29c3647cd8635e9d312365eac653759832936077b4935f09a9135e3e66e3845ef8c35a2f46c35adf3da3552d456389192d335a7c79d3554e4613406e3cf367e5560347f305034c39014359d80443868c81835d6d90735b6b80f3689e384371a231536c313fb353e940c35c7e01738cadf1635806cda3457acbb355d50d737f76db63574479235e0b194357b51b03efabd273fff3f863512580a36a891bb3e13fc213ff6c12e35f6098d3591edaf3ebe4d083f93c17535eea3d735e6308e3e4c03d13e1601a4356a3f66347deb513e0de9933e59515034cbcf0b35588d0b3eeda4273e877b083535320e36f768883ddd38293d74980136052b0935611d683a0c7bd2372d55ee347480b73564a46b382bd88e362bfd923555e17b36b85b7e380c62783699ed69359412e735e9ae3c3814ef803544c405351c04df3563bb8e37331996355e8e45357d4e6a3671443138a5eeef345db7d534bf3e45359dc97d37c47da834f5b69834bb7d81362cadd83772c4c735542c9e35c80e2f376b64863892e72d37b99949367d0a4435523089379380e13406e2a63478c94a37966b2338b9ab03361e38dc3597eb0d36c39f3f3edc0b503fe39d6b35970cef3564795a3e2e38493fc2de09350b77dc3593e9493e43f5263ffb83473527441435146a2e3ea7aa033f08dcdd34410fa834549df73d1990bb3e83499c341819cd355956a43dbb0c543e7e6f9f3598efa33657b40e3d43e09d3d38d74f3675275335283eac3a698f0d37ed84ac3415b71f365bb3d93958d2a536ad04e4355189dd379cf153387cb74e3538061735d9e947371c3b0e386877bb3605656d3656a6943697f17d370051aa352e320f355ce9083620b5b6379ab50c35beb4ff3492d3013826f52f3865406d3619cf1c369a51a337855a0d389371ab3504f4c7349fbcd135278283370caf5e357b375535636df236dbbe15382cb482365c5d30360cb450379d0ba737e193553655532536ad27ac37b1043d3d3c28743f8a9318352b190537cb58873d6ddd6e3f4d306336bec05136f6df713ddbbc4b3f8355113552b9293565de3a3d96e61f3fecdcff34f68cef3722ee1d3da69be63e0eec1e36f0fd8937cb95db3c93b28b3e17f9f53446afdd35a9088f3caa6ebb3d0b3b5435af5fb236d139643a64d2ca37de843536196c2c372bf554387f085f36975f253600000000000000000000000000000000547c0336c3a2a6365600a634a393a334cfd72c37cd90603729526a3672bd43360a63423749845a378d454836d3402a364ecbe83416440037bf74e83402b2e934d4ed9a362d8118377b0acb36f7c3d235d601023611da06369b550436c833dc3592d9303570d78236214666369eb4ff340000000000000000000000000000000000000000000000000000803f000000002cb98935bc7c22381cdd7f3f293ea334e0c421379643563899f7593f5b144436db6628379ed14638368a2c3f4a8e2c368bb1e934501022383a3dfc3e9898e7348b549236ed126d38f5a79f3efab2d335b6130336e87c4e3767f0053e53d4e03598c83535e1142f3774ba5c382589fd340000000000000000000000000000000000000000000000000000000000000000f24e3a36fc951f383c4c4136e5b83e363195a836ed553938429cb536dbbfb2366a75d036cb2b733879a4e4366e42e136b86a1836932460382ccdab376519e43696238a35d3fbaa37f12d4b371b0d453698a6af368658803828c7c137b3172837ad34e235a2ac1839a28b9f37a984463600000000000000000000000000000000000000000000803f0000000000000000165b30367dc0763f19a3513755e43b362720a136452b4f3ff1e5b7360055b3369cb6cc36f1f8283fe4e9aa374cd1e236021e0e365bbe013f1221fa37ec91e73602006b354895b53eedbe9a37fc130f36730ea936f4b04f3eceda2838bab4273788d4cb3559a9593d3fdeec37636b2e36000000000000000000000000000000005cb5ac36b26e87398a50d53915f6cc373c824536a2a78c3a97be0d380c66083708b04536a88a4a3932c03c3800cb69377f37cb358d1c05389021093877594137c1159d36a2f23e39c88ac8387ab1b7374f180b36c6c58539d9b43b380c6021377a238135e42ded3802f67f3841b3a437b2951936c1c57b3985276d38b913f2374c014536c1aa993a658d1b3997694d3705d16a36bd3a6c3f8360843da5becc37a048e9356da3683fe741813d84c804373cc5ff35e361453fbc31483d447564376c7f8835a5ef203f7e9c413da1c9393722348936b931f63e0d50053d63f8a6373e658d355fecab3ef26cbb3c3a5210378ef980351014453e8a35a33ca051a2371223b7351cba5f3d270c883cb6c1ea377d682a36cb128239ed3c043c9f8b3c377afb9b35e76b5a3a1493ff37347b1a36ce17213672af8a3a3a51f637715c4636c2120736aba2b1392523053831a70c36e761b8365b2ad43924508a37c403d936a11c1a364a9e623a3b143e387fb05b36c5dcfa35417b6c399998073808051836a6fca736eab9173a7fc48a385197e3363ada483667e6aa3a8a2215381c438d369f93b836197f683a513d3238b5aee836eec06a35619d463fc0a0513e3cea1e364b6cf535de30463f5bb0493ebd994e36d41e0536fdb4253fbe492d3ef4090e3635e2a936fc2b0a3f41a2083eedd6da3608260836407ed23e5704cc3d9ae45f362aaaf6355421953ef2e4813d73454b36ceb19a36115c333e016edc3ce51ee536c8c8343690b8593d1ce5363cb2968f361458ab36ed7a233a38cb4439c8c0e736989c78360da24a3afb192938a5259236395679366c26f13a03302f38edc48136d1aaa336844e0a3aa26853384591a136b61711361070033a42e0953737ec0c3617941f3635c5993ac01b53388dec23361a9a8d3618459c39600c9637fac7a33673ef2f367c9b3e39bcaa27388d842b36e2dd0c367457133b80ac5c3850bf123682857336d67d453a1ac73738c04c8536b5e55c36f74a253f5551b43e1f9e9336881259364eec223f0881a53ef3218236a21e9336e3ec0b3fcca7893ea90ba5360d0d10362761e53e2a595c3eeaf111368f5517367166b03e0576233e5e6825365c048036f0f57b3eee0ed73dc29ea836ea922e36aaea153e6d8a463d3acd3136b0d6ee358daa543de58db23a983b163648305e3687814f3ad6b287381aba86366c9c03371c66653a588b91382ee9d73670d7433713c5893cf8b89438e3290b37ba6d12378b364d3ce78050389318b836091f1437400dd939a0bb6e372eb6df36dfdd3a371092ff3903758a3879df1b376ec4103791aac3393a39db374bdbf33622120737be25bf391d557e382ef9ea3664b939374764d939a2cf833888672937341e0537b88d4d3a1467bc37fde6e5362018f1368a09013fbfadfc3e9e4eda360fb73337f63dfc3eaf96e33e70931237e19b00379723d73eeb6bbf3e1e2ec636192406371f4cb53e2165993e2cb3e636100b2c375c4a893e20ee6c3ec0e4203788070137b9d0483ee048193ed1c8f9368473ed36ceb2ee3d4edd9c3d5cbbf236fde92737b9883a3d88870239e9962f37a37af236ba5b703acca79c381687e83630778b366146683a05ec4c38eed3363628c4283651037f3c57804838147ad13546c73a368f7f133ca6a7d037d5fc2936fd5fb03605d2ea396d52df3666895636c0c82c36cd1d9c3ae1db1f386e1a0d360664233608a6023a64e64c3787ca0c36ea68b33645fbc6399b181338309986364f9a93364ffb143a7e7cdb37d6634436f1df483785a1113a96c9c937608e483677e68536f404ba3e5257223f993c43365af61a3672dab63ec164123f1734d635f5f1313694a59f3e45e7f73ef94b2c36e047aa36235d853e3688c63e2099663605442a36901f4c3e41a1963ebb6b1236e7db1a3696f5123e2cfe443eea170f3652e0ac36ad3eae3d7a11ca3d8aaa8f3693968d3691ed0a3dcee9833b282e52366c149b36030c4b3ad5c51e38b0185336b6452337a7f8b03afbeb7a3710ee933694ab9436b4c41a3c7d748636e5bc2336f776e6368efd133c172f803724028236480c1237346bcf3919c1123747f5ea35eec12e371b9d8f3a3b429837dfe7fb35d618e236caeaf439775dde360a409736cbb90f364d2f4539eca669368bad0036c5556936596d263a87ee76368c0bbd35ef242c36a3e4e83921ad053628a941357133e8368589633e8358463fcd669a36151e90367e835f3ed6e8343fce9d283600d2e2365ff44a3e7b1a173feb018b369660a636a05c2c3ed8eef33e7584f135f0086436a7ec003e5806b93e02070236b819de3675e5b63d5a7f723e09dda136bd7b0f367b5c4e3d87cc073ee83c0336fa015c364993de3c9966a13892bee235373624360fe7943c639e3737824e62355678903718c6443c89bd88362077e735d8d6123876d32d3a6347f836beb31134c02ee837c74c073a41b0433659a97d35c9ab833736e12d3a194ac13653048a3584280a38b39b383a8ae0ff3615b15936d391a53760247e38d9bf6536a5ef8635a437ca3717049b3949fced36ca129f3568e10e37842d413a44dcf936836e87352e4e0138986e6039d9721437736a0436048f4837cda38a3d3b28693fa6560336bd32f0376d02aa3dd046583f4f10c734f405b73759a1993dcf49363fa55a7f35cb722f3777ee8c3dbf59123fe0858c3556e0d9374039503d9da4de3e3416763696cc7f37d7f6073d6ded943e90f18735c3ada5377cf8e63c88261b3e2abac735c94b0b37a570973cef03023c9510c6351045e9373840413c01846a37b697313600000000000000000000000000000000ff8006378e025438c5daae36f522a1355e273f37c2d74a38f50a4a374c1c9c36430eaf36f8429437be03be3576574f35ff0555373d3204384dff6c372c6f023628c8e236246e0b3829a80e385254c6367d93b336f3dccf368b29f437fadc973622073d366ad9ad37a9fffd374d6329360000000000000000000000000000000000000000000000000000803f00000000c437313621f2ad383c4e723f0cc3af353f933237cafb5139b1f64b3f0f69a13603722736c142c7373128253f4f615c352d0f2337f91a38389165fc3e868507362591e3365f0f1c38a9f4ad3e4f9cc936a4e3b3368701ba36da3f433ec6519e36710d3e3679fa9737978c133df5d02e360000000000000000000000000000000000000000000000000000000000000000fe7ebd355daac4359d80c335387d12362e734f36653185369b226b36b8687836cd3eb6352d87bd35b2f6b835c5e9b3351c3d7b36aa94583607815436f23a893623e2ee35f2e22e36995e18360ab62b362c313c36cf711e379a251436352a8635786fd535f56dbb351a7fce351be1d33500000000000000000000000000000000000000000000803f0000000000000000fa49e435fd10803f44080236483e2f36e9ec65362846643f0b130437523d7f367169a835a7bf323f12d06637f695a4351b0f933623fd003fb96b0e376d068736d9d03836f8a59c3ec69b1337639b223643555b35dbabe93d896b2538e4245f3521cd06363f86b03ac75faa359f71eb350000000000000000000000000000000057fc4a3603253838987d3938d7671537f4a0a135d6f8ae359d47b537592feb35efae333470062734136a23348aee1d34e0b5013575e01a35b89ca3353f8a0d36d8724e3567825b35a6d2dd35248fc535e47f293502f94e35f2354f3575b029355ebde7346fd58034722da0346d5e5c3431fed2355f90f93688d10036f2cbad358c5513369f42213603ce3436f0f530368e552c365c687e3ff900fe3b36e6ca368d211035fa04803fa7bc7b39c4d011366ddf1a3469c3663f90ff1d38a2242934a43ef8345fad383fadc84d38c6a60d35db5d533560e2063f06386338ba550636d88919353755aa3ea70b0638732d0435a03e5f34bd460e3ed9c0b73730cb3c34f6a909357e29983cbc4fee3793060836495ad7353aa209386e738937c15d4936a7b92b3643c51a38d9441238a97c2636e79bc235e61df2350e63fc35844cde35d4942935a4843035e771373506fd40354f4c193572653335eefb1f35534f1335bbca3635cafe673522f79c3702a79c37bd3bc135735ccd353b93d8350199c3356a7397341a007736ec7ea83485f3ab34764d9135b0109e353a47993570ad623530ae5a352f17d63610054637a4262f359dc915368092603f34c4ff3d908f2036853bab35085a5f3f59a4eb3daabdd23542702535615e533fbb31973d15ef1035498f1135db68283fdb9b1d3d29a3053561853435c41af53ecb2fa73c65235d355ab2c735aeeb983e247c813cdb74b635f9da95343a3dec3de9c643390f35a63412998e351475bc3aa71010387af07c35d50c57352b4750389e7b1b380ad62635a7c76735fd019d38dead6b387ba128352cb5383560c98937a0f19136ebad1d353f565534bcfe4b3425c23534fb4f30347dc184355a1e87358b1288355df58a35a0364f35a4164635f22857361bd4623581aa1c35aac79937549a7a37b5ea1035aba9e834ce6d44379aeae6344092d434fb42023672aee637df9ff5352bf1013649d68c3715261f3873a7e837f9f897377ca75b35e33a313f36839e3e338c2a35bfa73335579e333fd1029a3ee0ad0e35f7a94534f94c2c3fe5e3743e02c72a34d90d87350a9b0a3fd7c0283ec9518a356d803e359f18ce3ee34ecc3d6bcd6635245d24359ba1853ed083183dbbd6e8345a97c034bd65de3d872eba393caaef346b80f3356e9b093b06ee74387a110136c76b04360dd88038267047388604fb356368ca363ff07538cc4b12383a83ab36e01717362e563238d396a0378b8bfc350d338c359e384837bef93d35e8717f35a9692f3587043e3746230c354f751135300b8d357c9d1836b0366535620b3c351a4c5435f743a437b6f7bc36ddc84b353a91b835c3a2c7377bcd4037a0c43235564c0937e8ab1a38dab2ac3775fd0336711b6f37a281f53743bb8837de30da362626b1367ffa003f8efefe3e046796369ba9da35106c053ffac9f53e5dbee43581d99d345b33013f848ecd3e2401b6344b22f734cdfad33ee4e7953e295f043586e32635a4f89a3eda384b3e288d8835e46511359038533efdb3b73d90ead734acfe3d353629c53d69eb1f3ad5dddd342b770136f0af823a8d7d663865c02c36afb8b536cc157538456f1638c673db3680f30c374b2984384d812038fc27e735bfc0f4354194eb377677f335be4af7358b42d834d43b00355aa9da3474e3f83495941c357b038537c3701d35238b093554334935034f6f372c4452359fee2a3549208735c8851a36481697355b718e3548901f34aae08337d7fa8b34a1a74134196037354abcad37d6d83e35a42e08354d1a8d37168d283842306e37f7805035702fdc350ceda03e2e16303fa15ad23523a5dd352c5aae3ed3fb283f7b80e4358265bd342da7a73e4716113feee5bf3491121b35a81f8f3e1246d93e3bc10635afb24735da355f3ea300913edc273235606c90355dc41f3e22cb0f3e8fda723509a61c34ae41b73dfaee623a0e763934029b4135ee6c263a8580663894851e35cca371354eb6b8386fc13f3886cf4b35e89e503510ab9138d5849136b2aa0e35d7ed9b35d8066037e8258635f3277e35293ebd34a0b3b236f11e9f343d8ba134b83bc735a5df89361217bd357668c535720a6535b96efa37346d3635e79d5135cdfd15353dc9fe36876e2235cdd2163588d1303528d22935654137351efb3635649ce735cb815837bef6cc354f13da355a42673749d4a237add62136c9e92536a9884a3543d1023e8ab85f3f0de80635acb69835232a273e677b563fa28a63350db0b534ed24143eb2ed3d3f58489e343926c13579a9073ecd330e3fd088b635989267358ef4f63dc4d9c33ef7275935296c1e3506a4cd3dcaad523e8169f634422c1a3522ee9c3dcf02d63cfd3e3835c62cdd35c744743c1e8120388f04dc352dd335368e885b3854fcaf3784331e3607072c36edae413872aada358540a135c0ba053686476c37aeffc13482203f351e4d98352935a234508e4a34c2d6c234eed64135569b4735b3620f354b880a35bb8e1e369eaf9337c0393635e86a7035675c2837fa21d637021c203633e9113574ab2535b581a33755878f36fbb2303413ce7337470b3a383a6cb9372b028335676fb5378b63f337e1934737d9285d3662de253664b4873c03197c3f2ed5d234cb6bc935d1380a3d60dd723f51fcf3340da70335b3f61f3c976a5a3f30111534de1905350fecc93af5b82a3f46ae06353c8c9c359c17c53ac013f23e004665358a033f36de49f738042b8f3ea273e53495f30a34af096c3c8f80ae3dc4071b34b7cc803612e18639d2cbc2383d8fa135245e63372f398d3826671b38746f48360000000000000000000000000000000063abc035f07dab35e71b793556580336e192b536ea055e35971e3935d3e4713586af613622860e361910f43561a8103600ea7c369450923618c16036b7967436bff506369a0280377981af35b7d3b5359ad495365fe116383085d63740636f36ca940236bc092e361f280b362e3308360000000000000000000000000000000000000000000000000000803f00000000fac185357b170437c519803f2457743521c88e3588046138f622633f4c923535dfdd503671681238e20c323f5714003664d67136d2868a3751c0fe3ee290663696f9b135aa058d38f6559b3e8bf9993554969636a530a038f3b2e13d363b73365dbd223625bd2b376632373a9766123600000000000000000000000000000000000000000000000000000000000000006c7a9b34d1dfb437792cd33487b01b355d2d89360ac1853684256836203c9236e77e7d35b43c1235fa154435315d8a356967f635f573083673c515364dd82d3639ab1637da52bf3708ce2a371d333337df39253682e97137700c7a36dada4f36fb3ff9355d8f1438bbd42b36b553323600000000000000000000000000000000000000000000803f0000000000000000b0b25c33ad05803f79a26a36d666cb34a8497436710c653f33227536f8d285362fc073350285333f75758035ed16853527c9da35eb6b023fad600c367dc927362d4006373b32a23e8ca560370b0c31379ee20736cc46003e869d04371c1e6236f3b7c8352a4eaf3c065a3236444428360000000000000000000000000000000017c66e3621b600397b1e2638ef9cc23682f8f63592994c3841970138076c7b363d8a143602eceb37b4c88037232fc5365bfe0a37e1ff75375b565a3723fe243745488036569cbb36326ab236d0e9bd3636913c3792c08a3877481d3868d27d37ce2ad1367491ff37c05c1837cc750c37aecbae36e3d54338d1051537b4871137cbfa5536f4deb53819a61c38e39af636b73c373695c3753f6e3b113ddc5ebb366ae2df35454e783f73479238ec02643622c9b935930f713fdeda6d38be7fbd366ca9003707893e3f83da6c38ac9e2737453763369a6c0b3f0afd2b37fdb8b23644262b3771dcb13ec72fb63828747b37dc00b03666cd133eac21fe37601d1337898071369dd01f3deae207387b780c371f8d2b36cf4f3139c5ab82388bc9e93625531a36a068943868492138df14803600000000a445a438fc893f380000000000000000ed71133825dc3037000000005d48f03572109d3742a78336c23b1e36000000008fdf3438395ca93700000000d96a4d34ed923338e6455036fe18e133f7669735b4bd113961e2033825480d3600000000955db73846a00d3800000000c4819833eaceac386b3f253853511634b2e893353e94523fa1090e3e73ce6a3600000000cedc513f1e96f63d00000000000000007a1b533f1eba983d0000000001793d35892b303fcae3083db85b1436000000006e0c023fb057c43c00000000ccec2a3438b6aa3ea1be1a3c704f05349964cf347b4e213eb814a33a1e05ff35000000000d32fe3c88699138000000002b89be33a80e9e3a5eb0903815561b34e586593332b3833af3a744379a4df73200000000605eb138e3dab8378c3589339f0dbd3685f9e638964bb83758aff43647cef83101d60138099702333c83973200000000c02186381ca07037b4c3e334e4e6f9369275e638a0e8073811e824370000000030c3df370000000000000000278da63561e86f38833e0436cfcc9535c249c636775c853904f2f6361d5fdd36fb6d5a3371e62a3f2968a03e1adf013300000000b3652c3f33638b3e000000001b1b9f36c2492c3f67d34c3ed4c6ea3654079a310a0b163f45c8023e636bef32000000001ae3e63ed25c813d2cdfde340210d636b01e9f3ea592613aa8e921370000000022d2213ed8c69a3700000000c816e034d20bf83c5e64ef3702985335f067a03645554c3b2428dc37a9a7d236d22ae3364103733af26efb361ef5a7361d2a7436a59d6c38f288bc3606a33a36772bc936daf0043a70731137a560e336c70564373add4d38957c6337de323f3704418436426dcc3765a199368f728936a740483760fb6138255580377fe364377610f53618b2903a5557f936beafc2365a5d7c3646493438cc3cb036d8b4873669c2bc36da31f037e9540b374455fd36c1c3d3364888023f340afa3e4d14953659d53d3693c6033f2ecbe13ea3250d362608bc3645e5033fb7fbad3e7697d236bfe55b37ede1ef3e64426d3ece9e3a37266f71365a89b03ee5841f3e3bc47e36edd63e37aa71893e4bcb033d2d0260379552e53607b7143e25525b38e4aaca36f8583436787d3a3d9fe7b43721df6a3612deb2369a701c3bbf690d37a4aaea36e0b3cd3623953e3b71a2ea363dcc8b369fc86435402c9038d1946236f56de1340000000037fd2a380000000000000000440423378959e438977f193731ead9364cfe8034339a9238f0ca24379f6e3834961fe432ae6c5d3800000000081c0633776803371b0b0439dcac0537fb93be36e0db0c317d7990380000000000000000c6a69a3371c5103857ec5b33b40bb5339097af360228af3ecc51273f9d59693618f9db34eb7bba3ea4511b3f7b43ab34000000005131b83e3585f73e000000004cc5153715c5ae3ed86bb23ef1b2c33613e82534227a8e3e55a8553ece0c3534e4349d32aa65573ecc329d3d2d3c1332cc91ec361ccb033e23d71c3980d7af3600000000b5a6623d3dce1c3800000000be46283314769e3c9ac40536369dbb332bd4e03397eada3c125c0738b1dd9e33000000007be3de384fbfa237000000004ff11336a51367391593123670f29b34d4d929349abd6e38bd809534f32bbb330000000056cea038000000000000000001a13d3691039838d5bc8836fdcdb03500000000839b363900000000000000000000000047e6a338000000000000000086e09f367993573811ce8136dc0b1b365db5db33a605243eedfb4f3f3509a4330000000044cf4c3e6121453f000000008d3d0336a9f63e3ec9f8273f0016c334c507c833f7d73c3eb38bf23e02b157330000000088de1f3e8d54a03e00000000f64b223692dd173ec573063ec8aab7350000000024c3cf3dc756a4390000000000000000dd2c7b3d3a6e3f380000000029158b3658b0213d92903b378aa50c36278fdc36d11de5387f2fb73773e6f6356e1d0937e6b5593869cdd136ea325436b6a710379501fb37a956ec36769a9c3688fd78379eb9b7388bb56e37cf762737b965a9365bd84937d53c92364f94763625122637cf1c85388a2a4837c05105377a64bd36b1fc8238e7f5a8372a8f00366abe7336a6ea6d3844792c36783c04366ebbc4364156463888d1da369f857936b46cdf3620864d3dc149733fff6aa1357edd0737bcf1863d4f4c653f90d81d3674c91037ac9e793d099f4b3f218a8036606179377ba2523d2ee9193f3b111b378285a53643fe293d273fd43ee66e5e3608c3233754440a3d2bb3633e87e8fb36377bc23653e7063dce35d53c4df1f1352abd61364eb7f63c3583493864240836b23cc636870ab23bf16770378990603600000000000000000000000000000000ba371a36bc453d36ddc006366bc2d635e7c96b366e7cb9367f1b0c36c388fc35ec1e3137a399983728fc1637b46b0237464a2e36a29119362faff33544ecf335ef358f35169e3737b3d7e935a4e9a4359e278e36cdf83d37a48ab537b3b3833663040935abd1a937243dc93729e97a340000000000000000000000000000000000000000000000000000803f000000004ef41036a1f17a37eaa17a3f1f89d6357f3f6a3624608837280e603fa085913526e52e375579f93760f32e3f123af036ec652036debf2c37bc6ffb3ed5affd3577648a35691b92376b43993e0cc60d3511368a368c7e5c37bd9bd83da6e07b36ab1ac634b042d2379c9c5539e9a6b03400000000000000000000000000000000000000000000000000000000000000002c076c3614963e388bb1813693016336e4308136fd158b3636f030366127d5354c4b7c363b2a85372d5c7536ea9b443637c840361add2c38c87a83361a756d361bd1873610470339b466b236a046a836eecb1f36c9709e392cca8136f077873679c25636f2502d3c9daf993683c9993600000000000000000000000000000000000000000000803f0000000000000000944764367dd77f3ff85f863627286736e8cf77361c605d3fd01f4536017fdf35fbdb67361147313f26e08436220e4e36984536366e5c053fba7588365060763655716d36be03b33ef640b83603f2a9362df60d36acb9313e0b721a37195287369248443623e40d3d92a6f2361ba19936000000000000000000000000000000008c00483501afbe3b386d5e3807af94368bb8d235a4e3ef3ae61e87376a81763635adb035e5a95e3a293f3137812c843650bb15369302de3a5b4bf0366e6bc43663e58f35ec621a3b47b042369eae413633768136ac71893cf3ced437f78ef236cb2d6a3539f5e33c0f1f1e37eabe9536db1910369db1003d13fe8e3627568f361160c036c454a93c162f2c37ac8dff36b142f7332305653f18323e3d2e7899361c749d35303c6d3f0f7f9c3cf5bb6f36282f81354c79673fe68839396618873607f8cb35518d393f9cdf943863dac43689d13d350cf60a3fd9cc2c3909383f366e542c36be3cb83ed6004d381bd100379ef1e5341e82333e74efb238909f9c36d651e035f5a1003d51bc3837edbc8d3635c89536e140103cf5505538679904371988ed3552d5983cf8782437ffbe933607c400351d8b783c4afc20387ff99935e2e34f35ee958e3cef9d8937dd23bf355d4927362de4023cb2acde36150ea536f81ce8343726fe3ba94ca336e4b42c3558d68d35bed8ce3c8c21a13704e844367f8d7134828ce53cb8a27436dd8e2836aa1cdc34d6bd0e3dfd48a13699dc26355e999335d288dc3cdc0745369a8f0c363ca68e3579713d3feace1f3e5e5e9736f6d6fc34dceb413f62e2f33d786da53593a44b35bb2d443f2751ac3dd4f1b5355751e3351d5c263f8009393db11aa73627d6e13412e1fa3e8b0dcd3c0dc52a353b658a35d648b03e698c463b3a674436893566342597483ea8b08437f08f2b36a068d63499fa633d471dac37b6e92435cac97135f186f83bc41d3a374dc30936bebe85367a93063c240504378e5499360f7d2f35d697823ccff44c368f244d357921cc353390053d9b5e7a3631305d35be828436c2a7253df1e62a37fe547f360ed28b35d8ff1b3d097e193615829535ece78b368f81173d04a1d436f64e843675734335a091fc3cdfd5193677e9813580ba39351155123d7e26283642a5cb347a17a836a6b0ce3c9425d336e61f22363f7562364b201d3f8ed29a3e71bf9f3655882b3511b51e3f9ce97c3e12054b35618d7a352e0d1f3f4ccd2c3e6f459935a607623608f8093f1e49e23d9b2288366c717735cb55d93ebe01663d9245a535f8726b36959a9d3e45c6553922b18e36395041355a2a453eb2ff3b384ee08735957f0b35814db23d99e8a93743810635aa2e8536eacfb73c8d705b372e3f3e361e29a136cf819b3cbdd3a53763f67436ce5e17365932053d9b244b3651020336103cc83592d9353db0e29036537bee316d8dda36fb12593d75711e37899d89362ae706364c822f3d4bf92336c6b8df351a67d336663e533da6941d3734ef9036d376df35eec82b3df95791365a4f3b35137f2336e3cc2b3d18c83c36e95fef35d996c236e0c0103d94b1f7360edb3d36bb8c8636f5e3ed3e1219e23e8ff28f3676800836f12bef3e9830be3e68410836203b8335efa5ee3ee4dd923ee0d17534a8b8c036e638d93e34fe433e7e829f36a893fa35617fa33e608b0d3ea4e0ec35ea1bb836cd7a823e611cd53cf122a9367a227f3557aa253ed1008e381e0568355103163684f3b33d642f23389da600366855a836f86f253d580eb437be3b643681538036e3cde43ce3d406370519263625ab3d35c7e7113d5c62de365fb07b34e4ba8635bf41213d541e0a36a1383c35a9fba1367342543dbd43d536efb2313667edac35c33a433ddb75ee350b3f2135c8329d36354f4f3d7552c9361b3c3536093a0136b0e4373db00d7b36d945973429cd4735bf02253d08b04b35257c26358650b936d313d83c1534be363de73d360e965536180ca83ef2dc183f97794f36b8421635f7cea73eb8ad033ff56d9534506481357751aa3eeb8fcf3ef2813e3508b2953681dfa03ea96c943ef78e4b36cc23a735833d833ecc44363ebba33f35153991363a89493eecdd813d73fb43362a10cc354b46083ef6745b372fef2f351ced483534169f3d3f06c636eb8b293590c1ab36bd184d3dfdc1dc365ad8483623d30836f07a373de5954b365fde2f359c761d35e2955e3d671ced34e272ca34f1d63536b998343dbde4ec35ae0045344bbc5336902b3d3d794f9736bca78235d40c2235cf86433ddef7ff34ec52d234e51eb4366b06443d4d7ca736c2f6eb345e81aa35818d353dc37ede35203143351764cb35c1bef63c24a51935dcdcf334f112b63636daf33c14cd9f36205b2234aa930836dd13373eda103e3f4cfd39359a9b2035962b3c3e5d072c3f7bfdcf3400942f3619803f3ebfad0b3fd1bf553410f84a36b9f6373eccf7cd3ef9888635e00e2635edcb223ec1ba8a3e401eda348d9bad36f00e083e1299ef3de2e1933520b2b23534e0b43d261d1b389dd047350bffb2359bcda03d6a7ff83775baf8341632a4367484653d9f33cd36c6a01f359af80f37e7b5083d7d8f283789a8193646168b369c25f13c72115a367f194535b46da4366825e83c903575363f6f903180360a37cbe1b33cdf991037f23c423405363b364994b43cec1307365572eb3260f5c636dffd983c88e3ae36412a0d356da78d363c7da93cd2b553365d83d7340e896e3649fadc3a705b353660f817353143c8363ccc213cb60f6f36239bf233fa3b0a37558a6b3d564e613f94e65936f94b8b362269903d8976563f3d4b8f35cfc0a1360cf6953d8523323fa07690311f750637221a8d3d7065083ffebaa4357ec8393621cd833db5ebbc3e79ec9a3420adc7360aa8683d430f4b3ead6a813563718c3641c94c3d636bc93cac27353586786b362755513d2de25a37f245653523ff9f36e935333de581593719cef63300000000000000000000000000000000dd4e973645852238a46b8636330c143616b48136636e9c3756904d36ba63d9359d84b036d6b926387811ab360cae323682067a360139c53613068136df8512367ffd553624879536dc594b377ae93f361760123650c66c3698535937511f6b368c287036f9d16a3764321a38e02e4c360000000000000000000000000000000000000000000000000000803f0000000051a79836882512386b7b743f8753213692e584362335bf37ea85533f77aced3584f4ad36861628384990263f296c48362c7e7a36c056a3363c53f53e69691b36cbbd5736564b91364c909d3e783a4f36b16a0036cbf65b3604cf0a3effc86f36385d6a360c95a7369a02293a5ecc4f3600000000000000000000000000000000000000000000000000000000000000000000000000000000efcf4a344e1021342fbbde3418089c33a8222335d6962135998b2836b3f10036cb17243661982a36c8899334b7804434ce6356358fc65b35b4164735a37dad34a7b765359c08f034aa71b63548ca94353ebda1359ed78f35ab134235832b8c3526019135f0b49e3500000000000000000000000000000000000000000000803f000000000000000000000000a2d2793f5cedd834000000007566573349e65e3fe2303d350c115d34e5270436a1c0313fe0972736a5300b361cb85c340f7d003f91ed77352923be34d15be733c95e993ecab933356642e4332645703564c3003eccaf8035a7e66f3512bba1345b5e0e3df58e8a35c283323500000000000000000000000000000000c28e8234ac10a4349d7c743785af7e34f04ab2343e0a43358815a435c143b735c69d8732ddb4163413eb28352e566c3503adeb35d57afb35ae9c0c3686d7d135fc5a3235b89339351ceebc350d69df3579e7c8355bcf3f368d0cfd36f70ab5362e63f1349f8b0235b1466636bf26c93466f0eb3511791736ae640436bd15ea35d1f2fb3263cf3336c28b29379f7dec32268e63342ac7783fa48e0e3d2bbc5f34f196533429f6773f34474d3ce1c084350bf37c32de04613ffce4a33819729034f9beaa3561fe353f4da7c43a730ef0354f08a933db9d053f86fc4d3a3e5e9c350e386735456fae3e55b2c03ba798ad36807add34df8b1a3e88520e3cc6c89d343a9f3635ef232f3d220b8a3ac294b6353628e532bcbd1f38d2c249380cb3dc3236ffeb336cb2d53625fef937550cb833849d5033c0b08f377f121d3856bc7133487405364ff4593680c6ba3691822d36c475e93420400d356ad7cb3430b76434b7936b32e48a8132c5c78032e37a82329c44513632148d3687548e37d43f5e36827b15330d0a90377ea8b037601023330d7ce83581621537fd445736c44e0d351cb43f359618df35ce0e9235ce89a2355923ea3301ca5c3f2909143e6bd6a233e10455330882583f9be0f93d6338603313820535c2b9523f9ab5603dd09e1a36e988cf3354282b3fda95ef3c4aacb33105d56832a155fb3ee5a8173dba70753203f37935742d993e28d1203d84013136b84b08339d14f63d06fe183d9ae02e33148cdc337dde633c2e50913c5b2f48347b0bf5320929ba397033ec3934044835000000009260a93886549e380000000029b0873431cc1438729d533815d4ae35fb659c33213bc734ebd52236eb511b341962e8350f5d2c3648c012360866de350000000000000000b7843a341904e133bb82d134949e6c378ebe063810379e34f8b910359a2d94368fa11a3792fefd34b4319833039244381cb7ee3729623235f78f6c345352c93409f98634b2bf47340000000035a2323f06bf9e3e00000000c22976348234303f3c96933ed27d673318dd433391752a3f75ca5a3ed28545339ba50b355bc50d3f6a231c3e5fef4b3400000000b9cdda3eb577a73d493aa2336f120d32b563863e087f823d576a34337e4340347f65f43d0a57df3c47cac03268920233cf37f83b69ee8839669413338eb55f34c91b663a6bb3063a9fdb733495800b340ffa0a38d888b7379caae1330869493589f3eb3570fb9c35ceb0493564550e339a6b9c343461da34d1f03634a431bc3531a8d73690aea036cf961735e973c2359509ea35d74bfb358558e13575d6ce3508370737b2466e37c4f0b935e5d01335413a7235264ab036001867333047bd350cd69b3636c4dc350c6a9335bd59163497e9dd361b61873647d80034693bf2339d65003fb46c013f9daa963336c06b34540f053f1f02ef3e1a8768342aa202337c19fe3e5a1bc43ecf5cf43289583335403adf3ecf2a853ec974173536915835d844aa3e3768303e3e2bab356a55da34a9bc763ec61e993da172883507650f339db1003eb903103c3f2e193350dd1d354c0eaa3c121b4f389fd25f358d47bc338b18593ad172453834ce2d3406d481348417673894193b3408ce3e34c0200a33b36422385054ff327a2efa3298632e3570c9c53531d1563500fe043295410635b2b49c35ca81b7342648b332000000002458f836a9bb82329b58923391b3f3352858a53674991736815baf352e8f27349e0e96374b157c3760c099347b690236ab644c389524923652020d350000000071f07b389f91ee377bcdf533aaec823481a4a13ee0e8303fdc3a2d34442b1833bc05b03ef7f4273fbe07e532b6203d322ba4a13ed7c60c3f3d9b9c336cde1b34abb2903ead19cd3ef8cd4832b8e90d3328cf763ecc0b863e00000000a1183f347f0e383e4308003effd59035d78c5833136cfe3d4973e73bb07c9a3312ecb4341b1df83c7e10a1391aae873400000000e8104f3a1f34a03800000000b3252b33a01ac63884b7f633863fbc32c2ada0352a328d36e72a9c3500000000921e75348138e13404581433b9f3c13286be6e36ca59a8364ba83d36808a083628376f329a9c9632f91d8e32b3d36032023316358b1851350be158353028bd349df2433651674f372473ee36b105343659babe34336812360c84aa350334f93475fdd7338dd90534bd6b0434ef10c7331cdf343343f11a3e1d905b3f13ce0032eab929349248223ec976513f00000000c413fb3218cf083e59c1373f5e35eb325460363612aa073e34730a3ff449a734af956532c7e8fa3d30bfb83e2ff35c3287a48c313898fd3d3801433e38617433680a1736e81fe23d9b3aa33c1c0bbb3539a05333c24a293d6cadf838705b46336f24cd33a8277d3a3c3ad033be22ec330546fd32dcf2bf37191ef232d598fe320924c3355eab07363e978635a52a2e35a77caf34e0674f34a9358e34bb8c9e349cb59d36395b0a3735b152356fa3db343238973523de8535160b583502282b35838f1e36dfcdb636b11b5636ef34c0352559ee3429438337855a6d3741579e32b291b935b486db352247c835111f40359d6b90342ac5ce34aa67af346fd27e348c24033351cb0e3d4b7f783fa6c6e53261fb8b35f79e403d78a5693f85d27934d4b75434254c893cd802553fa4028a34bb71c53696c90a3cb53c273f8e18063523c05235c1e3a63c04d4ed3efeb25734f180c3359302243cdb25923e522eae351b138c323003be3c0966da3d257e93320fcc80359ad39e3ccd88b33ae592ae34045a5d34fe75f8395d199e368711983400000000000000000000000000000000a42a2b3515cb0835d704c33451f2b434a9e0d235ed393535f858473519ec8435a8607d35523cbf3410ddd8338cfbd63379b1003587fc8734de83a334ae9ab5347d334d3674f62036701212368b8fe03549c083358b8f3e3510a675339c7d6a33a7501034d7a6dc33c5bf3b3409e52f340000000000000000000000000000000000000000000000000000803f00000000bb10c334e9e87235e9d6783f8ab6923477938a350c009a35c94f623f3f38893505850135fcac2235eec1353fdb7ad2336811ee345f0c4435f703023f6f7a40343abb2236e7e49637b95aa13eb0b205361b41483521c60038066d0d3eb03175330f0d8f34e112b43432c2033d000000000000000000000000000000000000000000000000000000000000000000000000b8cb7932a5340134a0833b34b97232339e4f2e341019cf34f6c8e4347d47a73300000000000000000000000000000000d930193592294c357e216d357dd5413505351635a4ac9135f3eb8535527f15350000000000000000000000000000000037deae34f082113591b12535783df43400000000000000000000000000000000000000000000803f000000000000000095bf30325543803fb5bc5334c5e76b33fcfaea338f846a3fe9c9d434514249340000000002fc393f0000000000000000443a213556d6053fa67264359ff83b356b683c34465ca43e1408a335f108723500000000aca7093e00000000000000007b9daa34de27643d430b1e351074df340000000000000000000000000000000005da0d35b66f213ab2972c3584c7e53433b005344136623595ce3835c4e14b340000000000000000000000000000000000000000b618be350ad95b35be642b34cb5acd327096f534621fa7340000000000000000ff37c735fd5ee33400000000000000003849c539bd09293400000000000000005a395b3a00000000000000003fef8d34ead4dd3ada7c5a35be813a358da7dc34287d763fcc11873bb298d53493edb43385ee743ffe0c2e3857207a34000000003252743fca174937000000000000000018ae4e3fc9ffd035ba8b793400000000d93c1b3f4995f636d710233200000000cec6ce3ee6f3c5350000000000000000aef04c3e1d4c543500000000000000001d50e73d0000000000000000deed02348adef53cd7a3a9351690013596494a34be460b3bb6474536828b1c357c90053575467e3690730436f8891835f23c5934f436df35f86f413400000000af465235d476233643acbb35c1471c3500000000b8861336a69f1734a235e433000000001d960c3600000000000000007e9c2935f156b53a04e40536fe6c0935000000001f4b7b3bf1c1613300000000725bfc31d7dc1e3b000000000000000097d3dd33e05d503f939fb83d132220358aa5c83403a94f3f78a9713dd93ddf347db7b5331f2e553f7b8b823b00000000bcc75935f998483fce5c5636e01c0b3500000000afbb193f81eca1376e9a973300000000954cd93e3fff9235000000007eab1b3528ca603e2d2d5e36d696e0340000000027a69d3d75450c340000000000000000a788bf3cadfc1a310000000000000000d1c9053bf6177e340000000000000000915d603a1b6709350000000070a14f35658b133a04c8d835665c233500000000603a1736742b9a3500000000c4dfb432a9bd433941494435ef892433b79eb23542a894391269e6351f458f356a989333f9bc5c3a45909d340000000016f6ba34d9235e3b56394e3590cbcb347739b3358300923b1415bd3538139e3500000000055f2a3f9a8c843e0000000000000000f36c2b3fc3e0443e00000000c34d6834b47a2e3f76c0cd3d905d333500000000be522d3f1d25333c00000000b5348132c0c7113fac8fb3360457e033c2e422354c55d23eb3033a3603c18a357702a0334877823ea8d79b352c6f9e32a91ebe34e0d6e83d9bae6f3522aeb3342c2789355c4e033ddd780536c00c9535655095347802a53c6cd60f360f75323400000000e9337b3afae6cc33000000000000000079288e3a000000000000000088e2243411cfde399d9cba3500000000000000005d6c323aea2cfb35000000000000000078ec733aa88a87357877e334000000002b5e983a000000000000000000000000415b143b000000000000000026d61435855d183bcc7a1f353305e6340d1e6e346d05fc3e5d1adf3e2b2d1234000000008adb033f0ac3b53e000000000000000056d5033f656c813e0000000000000000aa76043f1a25f03d0000000000000000744aed3efec8223d0000000000000000c8cdbf3efaa32d364a60f53200000000cd10763ebeee01350000000000000000c31d0e3e846c162f00000000f23e8134cc596b3d2263be354b269034ec509035b9eb153dbe171b361f083335dcbf01357abae23a438f5535b36485344ef68834ca75343ae653253400000000936d8e352277b5395b4e19369bcd9734f33ad932474ca63a5b9fed345d7fa032a7109133eb8bcf396351943200000000c39f8d35d98bac3a9c64f635c6137e3400000000d6198b3a0000000000000000000000003f44a63a000000000000000062be8035008da23e68d71e3f29ac04359a14d334ec01b93edb08083f78dedf33a02e2c34126eb63ed77dcb3e000000001d758a35ed21b63e78e6773e584f593418b0af335165b43e773ab03d2570d83200000000d207a43e623c0f360000000089817135b4ca673e277c2d36b24f9834000000001908143e0000000000000000000000004565ab3d00000000000000000000000016b8543dcdb60d3300000000000000009150933c4a50f23200000000f1918135f2f03d3cd108e2356349d43400000000f2506336000000000000000000000000bb6a0c3b0cba22350000000087205c354428313a7f1dcc354f5437351fc64c33f0da733a8071713400000000e40f8135718e5f397ebb7f35f559ca34f136d8350c6bdd3afe1a9135d9b6fb340000000051a6183ee0b3473f000000000000000017804a3e0a33363f000000004d7c203529ed473edfa4143f7ae1e5340000000000fd493e5631c63e0000000036cdc6337d7b403e9e4d5c3e00000000829e4c35649b503e6aa0983c397d4735c854d8328dab2c3e17ef0d3600000000d69d6335f2f60b3e20861036fd01bb3425ae98352fb7cb3dbb5e1536d5733234e2d027354a9ea13aa549cc35c59d6133000000000632e3390000000000000000000000009b5e78380000000000000000ad370134356acf3948c7d230000000000153653251322f39c52ece3400000000bd239a346e642b39f1af9935000000000000000072e4de3900000000000000003b1b0f35507e833882f5ef34edd1d3336c130e3546a9613a70ea3b354db43235e229a334ba79543da0ad6b3f0000000000000000f66f7d3db17f543f0000000000000000f004813dea333e3f0000000000000000216d503d7dfe0c3f0000000038ff98322d8e393de19eb53e00000000547c0233fc19093d971e283e000000000000000028e52c3d83bf0a3c0000000079fb0d35da07413d3b3a1335fb8474337ab4193530931d3dd6c42435301cee340000000000000000000000000000000089e4e43428540f35caa705359bbf993400000000000000000000000000000000fec15d359e6e9735ba1e50353d1519341b373335c3c246350c374735802c133500000000000000000000000000000000415fb834fd62d934b439c23436dace3397cce6338e98e6336267ef3274d9d6320000000000000000000000000000000000000000000000000000803f00000000220edb3491041a35741d733fb246e933000000000000000066f05e3f00000000217099353025b9355b242f3f5476b6329ac93635220b64355d41f73ec950bb340000000000000000ca078f3e0000000018e794343ea6fe345e4db53dd61888311ad9b233547f31346b975f3b2759e232000000000000000000000000000000000000000000000000000000000000000000000000b3e604392d94a33432a1d6340000000000dfd5370000000000000000490ac2356b6a3038000000000000000093c49d3599e6073994f90636d2a4b2358471db33b60a433922df123452b817341bcdd2317bcbbf3c01e07d3465ed5534cff89c345092103a3da199356408713500000000000000000000000000000000000000000000803f000000000000000000000000ef7a803f313ea234a224e23400000000a9b16e3f000000000000000035818c35bf313b3f45bd6c3300000000b3f450353cfc0a3f60f30e3698edbc3513f3cb338634b33edb896334e61d1834000000000c0f0c3e2d805135403e7234de31a433b3e1973d99dfaa3520288835000000000000000000000000000000000000000008341a3de340803457c3fb3300000000d574213d56a89d370000000000000000b80ab03c7d32093500000000c9a14a345d62603dee5582355dcf2935bb84db31fa40923d56f302383a04dc3366cca734f062d33dd391703562dee23378a91432d399f73db37c1e3575fe893400000000f4b5033ef3b15336000000000000000024cbac3de93a92370000000000000000045c5e3fc8d283384630a03300000000fa69633f4a5cc23800000000000000008f316f3f315f6638000000004f17213291205d3fa654e4360f8519352b81d031df4d263f6185e13866de5a342287b233f8abd83e7cd33838470d3b340000000000084c3e3d62aa37a2179e34000000004542b53dc25b413800000000000000008ca43a3dca3d8d38000000000000000019993e3d62e4ed370000000000000000662a4c3d9d4db537000000005641283328bcec3c2a204034000000004f5778337d8d733db0d5083500000000bd31223107cbac3d9c080631edcfd730826ff833b444e03d0e459b3400000000609c0d34eb77de3d9bd50d35c467b233000000009a4d093e000000000000000000000000521fb83d0000000000000000000000006380313f9086133d000000000000000076b9323f747110390000000046313b3134423a3fecd09438000000001bf80a32b8da3c3f32141438000000005ecc1f311f0d1e3f2ee18e388d54e630f4828e331c63ee3ebea7f3370000000000000000a1eb8a3ef698c53771fbcc3300000000662cef3df8be58380000000000000000bf19313d9871d53700000000000000001dbd0d3ea21305380000000000000000ba68033ee1af5a3700000000000000000914003ec151d8363e6ace310000000023740e3e0153693400000000f4345331f8e4303ecb10dd313d083f32000000009805333e0fd1672faef8673100000000cd7c303e00000000000000000000000086b4283e000000000000000000000000706e1e3e000000000000000000000000ffbced3ebde0093e00000000000000005174f23ec1d7753d0000000000000000cc21fa3e042b02399813c03100000000d080fe3e92791e38000000005c93463129d3fe3e1218dc3865f22f3200000000f0e4cf3e64674b372c6f6c310000000097a5903e2c4a8a370000000000000000593f2d3e8c6689380000000000000000e133983d4100bb360000000000000000207c333e0000000000000000000000000363463e4022a3370000000000000000aec52d3ed32a463400000000000000007e433b3ee11db934000000003339c330a0a0433ef5fcc6302cefb230e57292335d6f5e3e559a7a340000000000000000d6f94a3e000000000000000000000000db1c4e3e000000000000000000000000df02383e000000000000000000000000fa27933ed226913e00000000000000009d598c3efbfd363e000000000000000043129c3ef59be03d0000000000000000f398973e9fa74b3800000000f2e3be30ec75a03e75ad51389f25b9308bab863002eda03eaa36423700000000000000002e79683ebd24703600000000000000009eb3253e8cf9ca3700000000000000002555af3dece86f370000000000000000df623d3e00000000000000000000000032bb523edd7751370000000000000000fe763f3e6e9cae33000000007f1dff30e2dc3c3e0000000000000000733217327f663c3e44db6631be582f31000000006a73463e859530340000000051a58131d7e6553e000000000000000000000000ca7d493e0000000000000000000000008c13263e00000000000000000000000043aa163ed423e63e00000000000000008f5a063e0342ad3e00000000000000000941183ed9fd5f3e00000000aeae383162c01e3e5c5db63d000000003ba2243263ac1d3e4dcb073988e83931000000008625373edbf41a37000000005bc3a33149d73e3e4d0d8b370000000000000000040d1a3e9d82d636000000000000000075dbe03dca0b8b37000000000000000057d30d3e000000000000000000000000569f093efb044f36000000002bb89a3442ccff3dd4de403500000000aa86bc31a4f0013e722aa03400000000f080ff301e090e3e09125737cc341d3102376c349d37063eddf6403528e00f323953c8323c380d3e977a1f340000000000000000b0e6fc3d0000000000000000000000008ef2dd3d000000000000000000000000ddb1943d6c312a3f00000000000000009395913db5f30c3f0000000008990634ffbda63d7a62d83e0000000000000000db3a9d3dd4096a3e000000005884f4309d35993df7e5ba3d1cae1e312dc54533f843a33d85224738f22c1132000000009649e63db538d83700000000000000006a660b3e15db4d380000000000000000e950fc3dd416b13700000000000000000f025d3d81bac23700000000ef42f0319b506a3d2abb8037000000005ff00b3565604d3d3a413c3500000000d179cf344c6b493de3e786351289a23266ea0035108e303d99ede33795a5c0310f932335b83c293d79188c3531162c320000000077d1303d51d9f93200000000000000006350463d00000000000000004969e7335db24e3d0000000000000000000000003e350e39d566523f0000000000000000d044013963213b3f0000000055d2e53484ab373c71c61f3f00000000c990b234da18133ba033db3eb781b332bb0fa434c68e4439fe56753e0c48c83141022e3560eb7d3a8f2f323d4da5283200000000471cb43b94c1533800000000000000005140df3cb3641c3800000000f694143410f0503d5ed089370000000000000000000000000000000000000000b5fe7135b2533b380ec88b37cca1113289ec9e345e8a6f384dc1bb3500000000e00e14346362a03736fef0330fe0b1330cd9ae3550852a38993f8638235cbd3400000000e2968135740d84387b8679340000000000000000cea5103800000000d5adad343740043565c48738000000000000000000000000000000000000000000000000000000000000803f0000000076837635737d9137e01e6e3f2c3a193291658c34629a143868da573f0000000084f115341bd78b35974f273fb892bc33040daf35f34b6f37a70eec3e204700350000000013da0d35ded58b3e7f3eed340000000000000000f2ee913d000000006349af34047ec5347d8c383900000000000000000000000000000000000000000000000000000000000000000000000007833e37bfb9ac36384da83646593637b93cde379cef6137f6878d372d1ff2374c1bff3725f59237fc73b037adfc0b38617309389c03bd37c59ece37ae7412380346fe37aff08437ba4b99373a3a0a3862379e379a328f3736888f3791ceb2378bce8e37538d9b37afc2813785c49e3700000000000000000000000000000000000000000000803f0000000000000000fa76a83600f57f3fa0e643377734da3621da94373d20573f92420d38c978b8374d1fcd3794942c3f6aa21b388ac2e637e5eef23738db003fc6bb1638fffbf637f1fece37bb2eab3e94bc0738c78dd037c0156e3707642a3ef4f6a0371c949f37e69a3637439f103899f17b37510f923700000000000000000000000000000000fece64372daf2338c36feb372e6dbc3782d7dc34f920953620d1ee36b0115a373bb99636caa19036c49098360e48fb3631e2953759b3d83625d89f370c2f053882757837fe430437bab570378f99c83788b07937e92e3937041384375c5aca3707c4883779f86d3768798d372619f4374f1abe359a61c436c23189362e6e073785c87b37e6aebd3711b4ba37acfecf3725a13c36c3e77f3fd7a319398c128a3745809c3473107e3f7f36f03bc19b67358d558836f745563f829a113c20a49836d23ab235c43c2d3f653e403bd9259c37bbb86a35a009003f392f4538b2287237bd35e936eb81a93e8a480f388d808337965587360f732a3e0b7b213849226b370df597352bc25b38128b4137cee25a3648b31136c600fe376283c0374e21963794803d378f21023845c3b0375f41413744d6853543932a36d86e8f35dab496353889a3378630b23727cf713771eba7372ced9f376b808637ffb27837df4eae37b1029b36cacd1a3642416d365c1c013727c0cc37e21acc379febd23719aef9372bd58e3671a5043764adf836d3852a374c99f0365e1a6737b8421437db8f243733e4cb37cb7bfb377cd0dd371f02e53792521137ce2d563f55fd263e6542343740093a3553f9553f3b11283e12248b35991ca536da1b333fefa21e3eb1f202375579d836bda0143f3c13db3d315921373b28a9356d81da3ef983933dd26a00360a3b77372c1a953e89a4863c4dcea23738e48236b00a1f3e42721d38bb078a368c715236556329389560a437892fd8364e095e375a6123388736f8370e6e93372a3bcb3778f43f3873d80e38c44aab37dc51ee36efc0e6375a959e3677c08436f8e192374513a5377c583337f5524937541ad7370dceda37c9b79437fcd69c37ecea923786a18e37efef50370092713783a36837bc277b376db55537aca57137b11c9937ddfdd4373f5796375417a237f17d6d3747c0aa37aed2723704724137d3020738e4411c38ed62cc374391af3752a29c3692ee2b3f7ff6a73ea9e53237df6d63367fab2c3fc385a63eaddf72364c54f736abfe153fdee38e3ecc8dff360aebf736016cf13e02855b3e897200373df36136181eb33ec0e1193e6bc46f36ae5af836aafc6e3e29e3a23df13e003759b7c1360214f93d11723a3c1a97c936a4a61e3651e11738a601c737dbd7783674946e363f808439f1591038d5f3713618fae13777c89f383b0300388c1e8d375efa2c37a0049c376eb50037ab3293367293fd3693ad0237fff4a336109da3361e5ead37c6d1a0376b515a379a975d37671b0438fe6104380d58ca378d5fc037dae0ab3783cfb937edcd8737d4458837be2b0137214515376d63e236de5ebb36f2d35737dd319337b5e43037fb26173741af03385b2b10387dc6f83726aadb373fc54e373f20013fb98ffd3ec6024b37e78a05350ad6023f2238fa3e3d32ef34d5ad9d36a2a1e13e7ea9d33ea5409a36f6ae0037f534b83e16c9a63e3b2d9e36c89e93377f08863e23d3733e012850370b5b3b37c0f3313e88e80f3e493a0837f5dea336401fb43db6046d3dc7a6a1367df5f23601b144389b90cc37c878b936182ad137eee927381b6c05381bc2a0374c19b53793f1d3391de0f837fa505d3605db6b37e2fca737d0873636a8f517364b48d237d540da376a64c336a00ac2366896a137dec986371ad8f936ccc1fa36dbe4bc37b397ac37bf39bc36906d6a36963d073819840238126f8c371c4a7537335cc937f271d437c3e078374f295b37a80da337c3d6a537172712376f0c92362e1a153861d413383f8fea37b407c9374eee5536e2bcac3ebc62293fad6e37363cb81a36dd74b23e7eb9263f7efa05361928c4363a089f3e13670e3ff50ab1363158ff36bccf7c3e684ee13e48daec362c6dbd364048383e7abda33ec5765f36e79181374bb9e53d969f4e3e2104f436605152371326363da626b93de76d0037be56ad3673c27a385dd93038cb0b773612cedf3779fd3b38c5821238ac758437680cdf37c8fa21388693b337b3b11d37bad63a3747878b3742a34e36cbf43d36871a623781fc3b37dc178136fe4082369e070e38a829fc37ade974377f8679370cf91f37d97fdb36d793b5350ecbc435594cfa379b29dc37cd9d1537a6fe1137fb8b213897d51438ad6a773717d946371c1cb6361085bf36348896359d7e8635c44cb437b845ae37dec1463739083e37bdbf5b37a21b313edba7533f5626a1369c056736edf4403e73ba4f3f6c371936aabe8536d084343ea4132b3f23f96636f910a037fab00e3e6b8a0d3f9de93f371be41b369b25cb3d74c7cd3e36659835be3586378b43503d39e6853edd4cd736fa67943749f12e3cc6ce093e9150b03612fa91352e36be37c4b68237574a833584167a372ab4fa377d1c9b37f5192b373bdfd43703fafe376c360e3719bdf234dfed14377d87e13692db893548836d351ed20338a2efb9370a3444363a514036476bd4371de0a03763ddc836e2dfdf36e44cdc37588ba8370d7033352e844235a1bc143846abe837d69ccb352273c8356e2201370d96cb365bef9536c23a95364f3ccf37c5399f37ba7c5e360cd3d93471b60838df5dd837137d8237a1e2253714bb6e3796c1cd3b6d537e3f5c809534857fc03546cf043dbdaa773f600cc23406fb62377ffaef3c99d44d3fd6f63336c2cf8637a181c33cf01a253f1d738a36889e95375aae943c2d8bf63e6a512635a348e0378e1ad03996b5a33ef922bd350ce39c36c3d4203a891c1d3e554f8e361cce4837851f3d380ea240387645d534d999c5379ec52238c987bf375cee613600000000000000000000000000000000e8f2993765a87637aa913136695b313683cfb03793da97371396e63667efff36355e1c38aa85e2375a7bf3360a8f223752531338fa15033822f7a4372df8bd372d980b38ab9ff9373d829d377af5aa37a8c80138f90be83701aaad370202a437da472e370ad23e3719884037efb808370000000000000000000000000000000000000000000000000000803f0000000038107637f51ebf373cef7f3f91561f361adb973720b3e937095c553f615ec6362b4ddb37e7937738fc502a3f6a83ed36281004380cc33f38a710fe3ed7d3a437b24af8376126353856b3a63e511a8537b8a4cb37a2f08c3923f5223eebad6f3770d523373a486437c375fa37f938ad36000000000000000000000000000000000000000000000000000000000000000025fc113862b9fc391302b737c37e9237357c1139ef1e8439b2c6bc373dc8ae3749ef0d38fbf30f382e13e0377328e93792501838a3b01c3819f601381edd0b38fc912f38e0ee80380ef400381e613d38f6bf0b3831b34638627bf837d1f22d38922a36378285c33701972b37f26a4a3700000000000000000000000000000000000000000000803f0000000000000000ce2cb83722fe703fd54f3838df7a6b374fb0d837de2b4b3f0bcac938502d8037432bfe378b28263faa8819385eb9c437e1ff0638ae97003f051b2638afe6f037fcd8eb375a95b63ea37356385cc70438204fc937c851593ee16f283882e0d737f86207371869833d7d353f3728190f3700000000000000000000000000000000e8178837ab93c23999e11c38dcdd7d378d69bc37364d853aa5e5073885669837ad10103670f3cc39674bc636b6db0e363dd28137d1c14139305300380f6c8b372950703763b1d937407a99370bac99379d9ca936e5c0cf37651b5e37df9d3937f8df2937703cff371148b13739e4a937ef1c5437975608386a44b6371bfc91377348ec37efec433860b31138a719f9375985a63683cb6f3fb03e803d31a657371c87aa3650ac613f5896843d112c68375b4a0b368f5c3f3f388a583d82080e3641a28435e7b21d3f8f33113d483ab836dcf0ed366aa8f33ef3b3963c445c813705275636834baf3efd391338b999a5366d9b0a36e90e533e97770738da0a5437b6674336ab65923d2746e137bee14737cf785537c4996238aaa418382954bc37eba961378ea4f839524fec37a5e8003730bb2437bbb1423ab099ad37206e59360290883712ad843a19c6b1372d5fbc361409ee364a4f79395c777137cb61033684ad5937073fdb398d26cd37d4be0e37534e8337ffaa2a3827b4d937264f813755d61f378f42173a4fe31338498e083767493837ee8222386d2eae37d7426437a0aa8d3708d20238dd0c9637037d5f37b974f7364a874a3fee2c553ec46d003716645136ebbd413fab09503e1c415936f51cd034c9b4213f3b122b3e510c5c369d31c6355138073f5152003e8ea0f93544b92f3610d4cf3e3007ba3d3815bc3667b2e036a586973ea2af3a3dcbf41b374f11893538b33b3e21b7253cd48ac735562189364941833d4dbeef3730c3243748713b376ecf2739fb1cb8375054453748f5cd3755a20f3ca4ae3338ef4a72378a8c10377d31323a06ed47379b65a136dae9d036f830023ae0e832376f56253446e9e6376a466b3887abf33751fb8c366ad50238a9dd3f391b0f0f38fe2f7e3710de943755d64a384628ba3781105837f8ce0a34b1f08338fec42e371e7006346b27d83774899238861e03382ced34374c33b037febe52382be0b137ccd96f37926744376601253feb58b13efeb46137bb53a336e8ef1e3f01c5aa3e52bd9b362837253453c4073f7d6c8d3e023b2734a204083714a4df3ef9f25e3e522d4436463a6237aa4aad3eaed4243e86434d3786b7fa36b8e0793e7256ce3d71eb22379dd307340b7d193ec0f02d3d9d54073434160f37b2a4623d50db673864eb0537b1f78437feee6239eb1cdc37d3ca4e3702d29d37e2ae373a03563438e951fc36008d42374f06573ae62b813726448c3673b001385900fe39c091093846c61037b8f519376cbf103ab9501137950f5e3665b4ae37fb8f453922d4a437b1cde53650d12d37caa0b539b7500b3758e4a436adf00138dcfbe5388a53093822d465377606473718b20639da748637fa7cc73671c00b3823ec6238c726e137cb420a37125b0437d60d013fb23ffd3eb33efd3666568f369709f93e2ae1ed3e9e258c36d8305c37b029d33eaea8c63e7a970937c4f5b9369b76af3e58b69f3e7a0d46363c8631374ae6853e23ed733ec2dcb7367f88bf364dff413e7f9a1e3eb3b59336ba0f8037b607ed3d670eaa3d2082543773e0e13695a5323d2b258e3ba17ba336d5f243378707a639aa0a323889f608373967a2377064ff39636bf4377091c736534fe1370dd63c3ab04d09384d2b7336aa8810372815fc398630cb359e9104342707c33739111739f0848f37dfcb003639b810389b1542393b18fe378f0ac636932b033898a34238f806e237b3dc1c36e9fd503771c91538456102373891283476c33b37f0d91838c6ab3b37b460af366ef71b3849674f38dd34fe37a5d1803717a626378c67b83e8b92233f8d19c836f489cd36ea5cb33e71e7173fefdf7436e93c0834004f9b3ef8ef003fabb204346fa86637cdb17f3e557bcf3e3f8d0136aaf9a83733ca433ec31a9e3e322c9e36349d9537e822093ecc72583e09e0d33507316b36d6159e3defb8ec3d95cd2734b932bc368df0c33c0caeab3c02f2a7369d0ee037ca287038b43a2e380b915a37b61a8937fcb4b9393266d037231b09378bdea3378f735239e36b7e375d3a8136372a7038523f793ae45e31371eda6c355068e93724596438793b7737ec2a9b36036af4377501013a2fa418375fa62c3648da95370f5e0e39d81fa536a0b3bc35206dc337be871d3ae39a8c37daf46833464ead37c437143885fd6c37ba395536966ad437841a013803959237f964f936ade73237dc5f5d3e067b483f2c820937692e0837c45d593e2229393fbaa18036078da536e9a8463ec1601c3f400a703580b97c3711ac1f3ea09a003fad98983643be22375866f23d158dc43edbab2c369858e636499da03d5dfd883e2a11c035239469372d4f2d3db701213e2e8356338d5003376e2b103a40301e3d4e0f563627fca5370da52538ab91dc37e342f93610d30938924c66387ca21d386b4b8b369ce1bc37bd112a3886059237d5e924369932d93749ae4038593b1f37bf0104367cd3af3725752538bbb0573665d74e36a8b9b0372b694639e3204237acb39736abbd3a3803338c39e15fab362a8d833574d74437a011383910d30e36d680093676da0f38cdf35c39ffd2cf37194eab36992d1b384fe12b38d614ab37587aaa3658d2aa37242d933dfe836d3fe1568c361cab303762e99b3d042b5a3f3aa1253637c8533788ef933df3ab383ffd8b05360710083783ec823d4eec173ff54c4e36ddb7923713953f3d64ccea3e0ece97367f6dc037cf32be3cf242a63e7cdb8335c46d30361336103c6cb2423e890b0b36b6baeb37f1b2423a5733533d0943ab3680f5f63792ae4f38623114382fd7a73600000000000000000000000000000000bd7f59370a3ba738c98e7d3708d0ed36d39333388cfc8639280107389f51c435f169f238570bb139a44e0438db7a8c3769ae183852243b3839ad0038667f5937b32004389a571c387117f637ef6a803719280838c6e54b3986530138a3d31f3741aaef37f9dd303865e30638b8d82b370000000000000000000000000000000000000000000000000000803f00000000920a0d37272fa9391f716f3fb7a0f5365c40e0374bd1193ac65c493fdfdd1037b17f04386d98303afc51243ff620a33731a9ff37aaf11d392a86fe3e5b9d8e37cae4e137cfec35382a77b33ec28e9137b667d8371f12d139bf06523eabf61a377b4abe3752283939da516c3d9e1fea360000000000000000000000000000000000000000000000000000000000000000733ba73912de473ab7105b39c0e237385512d639c064553a8c057139cf5dbc385133cd3903f9fd391997a239742a6d39dfe7e03964d2033a24cfb639a0d083390a32c43936e0f239599d8f39956a3c394075a939eb51f9398b4bb8394ec29d39d8c6ff39bafc4f3a6bc6f5399e75c33900000000000000000000000000000000000000000000803f000000000000000019197e391b17613f4effba39bdad8138549cb4390563403f6e0fd23998e5e938ae1fb63946fb1f3f1548d239c1f17539eb8ccc3910ccfe3ec897e039da7f8b39eadda939461bbe3e0f52b839c02a3f39c02c8439cc107a3efcd0cb3934279739c448e539f128ee3d6b0d013ae1ded739000000000000000000000000000000007f26fd39d0f45a3af2ce093a8f3b7939db305339a0f6e53ac8c67c395450f337a3650e3aaf59ee3a4f4b0f3ade778639b46cd539528e3a3a83c5d9395e1f3239ae1f063aaf70403a0d62003a28df9439da4fd739640b743a3bdce13927457139d46b0f39c5cc093a1aa9b6398abf6439cde55e3950d9183a6805cb39bec0613909a0b238234a8f3ae4a5f43879f645385f0caf39db02613f96a6ea3dd485963925ef0c38065a483ff9c0d63d97820838a279cd398b532a3fcc75ae3d9a9b9939889d8d39f3fe0d3fc025903d25194d392ad9d4391a8fe23eb4fe5d3d10b6a139fc969339b98da93e53c81b3df31c8239d0eea937fc10693eb3e8db39149c593932125d38088be43df56ce3397fa76139e5d94338849da83a256531392c30443839016a3874f5a23a698418395def16381f1fa339ca18543a1fbbc539a5be0137154f71388b3f483aaad98438a10a2e37f2584d3a7e3f993ad0b7583a41b3e939427e2b38e3e1423a80f1a038b71ea0376f4cc739ab75903a066ae8393d35d23818fce438d66b7f3a8f38fc39da15e737b38a2538e673c639b0be5238a06c95375da20e3a2d74af3acc57053abed08b37bc50373863fb403fda63783ec1a92838b334c73834722a3f38f45a3efe26823736dc0a38e0f5113f93f43a3e18e54537b5d1203af390f23e7fbc183ea816043a6652f0379a8dc23eea5cf23d0098b337ac3465390c76913e8243af3d559a173937910a38132a413e44f55f3d666ef7378864b737464fc33d981db33c6ecc9f378b964e3960d0c13a9fe2473a68e3a037fd19cb39bf7e4a3a444e063a39fbdc37b805063995a2c83ae79dd239c4bd8e375eda6939fc70933a7c5a9239d31d4b377bd38b39e677d83a9dba043af79967371bc812385c65863a2a2b2c39b650af3744401e392e20583a8dae05396648f7379ad02e380e76943a14ca4e3815428d37585929381970ab3a320f27396aa9a637ba4a153aec735a3afc091c3a0b12933976336639731d203f1e07bd3e85dbec38b2140a38e7db0d3fa056a63e514ac137e4a7d337031ff33ece628e3eaa3c72373a7c7138106dca3eaed16a3ef7e29437652af437ad83a13e9d893a3e6764c137c00e27388246733ec543093eb5fa0738d37ced374aa2213e7916b03d79a196372cd70f38217aa13d70061c3dc62ac337b8b4ef392c6c703addb6333af4dca439ea99ae395248603af0e5e839b122e0370035a239912e443a3dafd6394dcf2338dac2d739c7f44b3a9b22ff39952af137ab36173ac5de773ae044233ae1d000387fa35f3a2b76df3a6c6f833a380298378d29103a2b3c6f3a3249243a8d70c038b69acf3971893e3acf34f039b349263858b094392f0b2f3a55ddcd397bfa3238802eba3960f7253a7d46cf3900a6ef37a651273947ebfe3e12b1fe3e28c94b38d003d738f1bfe13e098ae03e469e3238c80e6f393b5dc13ee1a8bf3e303f083825c9cc395b7ba13e5de29e3ed6bf0539e8b8f839320a803e61c77b3e8ae7a2373928c6390122413e38c8383ec0a73839191282391c3c003ed5a9f33d547d61385b07f938422d803d4895603d51d53838a371733999272e3a2474053a0ec7443880910c3a54cc693a90e1343af27bdf38f68020387b91c93a872adb39d14886379d093b382ebfaa3a587b51385c3561379b1f5838eb43763a07f5bb397a52d537a426cb3827ec633a6f40cc38680ca8371c5eb23934ecbd3a7839ed3985158a3767335d39a557113a55c38f39e1ba5b37b5da63394573783a4781a139c795a9379581e0396e6a313aa5c7f139b586343886c1cd39e22ebd3e957b1f3fbfdb763982cafe372446a83eb5fb0c3faba5c637914b0338fd76903e8252f13e1f898437e26c2b383a0b713e93e1c73e0904fc37d49ffd379ab43f3ecf18a03e258eb63788661a391aea0e3e195d6c3e2f71c33732bd69389850bd3d65721b3e7e4a8937bfca1a3818a8373d8683943d8eddc937d071a83929c5373ab637173a9018cf38ddf7c93947a7b13ac9ec7e3ad9513637a64935383a1fc739f4df85389b23dc36a561c8394cf57f3ac16cb839ee0f78375ac2e1390267883a04f40f3acc703e37c9bd8138bfa3243a3d14b238391c4d371427543affb38b3aa3565b3adfdf8839bbb868387eb50b3a8e15af385a042f373049a739b25b293a73e9d139f87e7336d585c8383894303a5a37f7382c661c38cde46b38c615783e8d05403f0b938137ea12d13732f85e3e6df4293fd4aa5537bbcd97387ff93e3e4d14113f2337bb37ea0698394dfc1d3e844ff13eafe26d3735bc0238d08efb3d3905c13ef48a7c379ebb323acf63b93da36d8e3efdb2c13965b121386455773d34a03d3e3a9c4237c9aa4039c94fe93c6474b53d52dcdc36b6434b38973d493a2530ac39de8b1e38d379c63803fc863af0f6383a73da1c38bb32c2392db8133acb18c439def494362456ba39e2f7ff3977467f39dd28b136a0c1ec39fcaa5d3a5f9f003af45b8e37605d073a383b363a57c80e3a7e4b7338b276e0397fc5213af925e739b3ab0138b4ec0f3a4631923a3977173a8622c9370e68653918603f3ad5678c3969ba9f372026033ae36e323aa3890d3ad52cde38db424a388d67eb3d0a5c613f989e2f3816618a390abeda3dce24473faa663237dbfa89396152c93d1dbd2b3f7cf043371606b5393b40993da3200d3ff7654138d338dc393a896e3d4f3ee13e70184839cad0ad3984192f3d240da83e073a0c383538eb39580dda3c8f6e5d3e61b3fd383718f438b132743ab706dd3de58cc1374a70e1397359363a82bb2e3abb562c3900000000000000000000000000000000d513033a9cbb2d3adf751b3aaf7d2239a336ca3908b2f7396c22c839f803633841269d39cfe7f3398cfcd63942b45d3816ffc53962f4003aede8e03908cd2e398a60b33979e5e5397038cb3961900639273d8b399781143a3bb6d33903afd838f9ac6d390490ce39e408b33905ec2c380000000000000000000000000000000000000000000000000000803f00000000df9bdc3910173f3a997c603ffe16a9394049ab39411d053a914b403f5d9d0439bd3c8239a3f5013a9cd81f3f15c441397583a839b050043a669bfe3ecc158839af669d396720f039bd9bbd3e67b252393be55b391b9d1c3a179b793e43f02639e6842f39b269ca39cbdfef3d291f603800000000000000000000000000000000000000000000000000000000000000002d734336ca10333634c53c367aee47365d2f8a368a142c36b9673c36d8e5ff363b3b9136b455763632da8536111a9a3682805a374ed77936279af23637ec9837313fcf37370ba4374fe9ad37699aea37711e3a37fd3eb6371eec8637cf3b8e377c7ed8366e2311379640f636ac09eb3600000000000000000000000000000000000000000000803f000000000000000012c83336e2f77f3f35046f37b99e463616495d3633aa643f4e45ab373db3ad360df590367264323fb96a49378abf9336ea7cab372361013f81f16638a2b57e37b383e8370f0d9f3e5c9d5a38692de037016dd236141eef3dd7788038f77e7737896495367ad2203a5c5daf370629e9360000000000000000000000000000000086651036f36c2237c3b4b0375a6b8437adab133620422c36dd4c5136f7b3b636037b29365d932936584e303694d92f365be25836edb85836f6ea8336e1ad91368525c1350009d535b3f3d2366e80363704367136f67a7f36732c823621a683366b3554362c392737d0188e37f3038837a80a04367c2916373b562e37ebb85b36e183163610febf363301e036e5ccb7367294de35c3d17f3ff342343a139105376a90f5353dec7f3f59848b39c60d4e368eff2636049a693f16eee33877213236e19e35366338373f6e2e0539fd068a3681e3af35d2e3043f1a4ff3384755f5367f5e643608a7a33e3c19cb38395b843699e92736d5fefc3dfa284c39f78c3c379462e035ce4b8b392501813882f4403690f2033639543137e38241378011a836dcf9d1356d5e83372b92c037ea8b2037606d8235cbc58535548e843579b581350aa6f8362c003f37da4eed37c83ed7371874d5365ee81c37dcc38b379f609a3797193d35badc4735aa53423554d43c3592e69036096f1e37ddeecb375f918b37b326ee367e0aef3757fb1738cccfbe3736269c35b07dd9372e4eed37ff0c943718fccb36992aa437e0f8bb3735079b37c7e3c735dca25f3fcb86013ec1dabd3630f46c35248d613f9fa9f33d86b38335a9673236f139483f6ac3f33deb2b853740d3d135c262223f3faf9e3d4f224337e50d3935548be93ee8ef433d3af73f35da9c5436ba7a943ebbfe563cb4b32337be7abe35b222fb3d17f69539a8b694376b099835336a0e392d028638b9f12e3715882936e04b2b38f37a3b388ba42d37a6a6ee3539cb3d383e790438012104364ce12d35cd053235bd562b3501a220354224f2350ca35d366f301a3664eaf63529aa1e37c696c637f4d99f3738991e379fdc4935e8a25535b00f533539a75435cc1c15365f4ea037172187379510f1367dbc5c3790825538089840385c21af373aabcc347806eb345ed8e134c0daf2344bd3f136f3bec237f0987737d7190937a772de353f66303fdd199f3ebbf60036ff282535f556333fe74e993ee9dd1a351188ec35b7e6253ff0c8873e62a0f8354cbd0b36cbcd023f84a2483ec0750c36367c3d35bae1bf3e736c063e409944355e171436512e723e481c823df083173647bb6536fe64cc3d317dc1398d8b31374f44c734f4d8f738a6c4e437ed53c734cf4f073607411438fa1ddf37dcb82936f75e473613292d386e934636ad3c3b369aa01636a9653c37ab861036e0460736a6c858364277713681dc5436033a4f361322853621cb8c3642d977363ca470369ef3b436140e7537ba0c8a36f66a0336b41287365028a93696bc8736f9598336380e6136b9f79d37e830623637d6543666be1a3673fe5d371a346d36102e1f367c515336ba509c36323f5236f332443660da3536a643023f6985fb3ed7f52d36264a0b360f49033f9a7bf93e4724f4355d0a5036256af43e85eed63ef43749365bc77e3671b8c53ec25ea23e0ab3743675f703362c908c3e55ea663e75a800368af18236e75a363ee9a6f33dc277833654de55362946a13d4e69c73c63195c365e430f36ca96e7382c3a4f386d591b3677464836325486385f9b9c368ff73e36a0b626378bab163858f50f37d393073616fecb34b8cec9349103c7349df5c1347e7cd03762a01a38887f5d3645985536c23c5737f6017937d28415367af21536ac95523597674b351a303c3513d5433520910d3853664d389810af377b540d36134a19372b3010383caa9936e77dfd354076263583557137f0c22c355bdb2635a0ca95379e1cb9370f32153629270b3658fd0836138da43eb9b12d3ffcf20336ff01c434cf5ead3e2a54293ffda5c334a771ac36b3e6a53e385f133fccbc48367c291536e383843e94d6e13eb66f13366e8143355fb83f3e73349d3efc8436358fc33f37e06ff53da350313e70a80e367bb4f9359ec9433de38a1f3db189f235a2ef2335f4499438910fef37f55f2135148b0836b7b397388d93a2375c660136b7fca83771eb60387e459b361ed716369360a537c37aed37eb949a35810d9435d26ed4370ee3b837bcfdc1352c31c035c790a13734bf7a371cc54e36092b4c36f9fe463552cc4f3501a943351d314135cf1ae6371fa7fe37e40d0b37d43508362f4327389c3b503830a4b83731daef369d0e8b35b61eb43562b68a350f338e355434573712ab5837dcaee835c97fd735dbefd7363eba0a3e384d5d3f40fb0b36a7845736ccdb1e3ee230583f11a48f3519c262379a88243e5c6b373f7b13bf3513732a37f563083e404d103fee853f36882645357d12c53da7c0cc3ee79e3435ed7b90379e7c693d7d9d6c3eb041d835fe79fa37e4c9c73c6830983dad6b4f362d778a35f17c08396de8803793158235b8a42d377a274738092f10372dbdcf357328de364e3b48370c38f335801ecd35e73ea9368bfc48366732d2356d19ba355e627d37782c7436fead0e361d0c093629458336bc12813699af4e3634194d36d2a33f37b72b09378e96b535f501b235f1a992365d979536ad485a36b55b4936cc882f3619f2363646e82c36c3842c369b55dc3608125f37c4f4303682f52636d3f15637c2cd22377b2c223689330d36bf16b1362734233c3b767d3faa69a635ba7234360e03ed3cfd8a783fd7eba9350239223796fe633cdbc35c3f31d30336a66f8236dc3c443ccc1b2b3f0ec5493680732837feb2983a5cabf53e8ff4a835c2848c36633f863a0c0b913e82f23c363c152f3647338e3ad709b13d93472a36fba3a3360228ce38e1385d381af11d366247563799204e389f7496361f4f063600000000000000000000000000000000b028ef36d7c9bb368fea7436e3a54a3654b1a437b199cf360c059b36ebfe9c365eb61a385b2ac1372cdba5354124ac35ba08b637ed1c99371f506f36faf37436e3149236423cfa3635e58b36b4f18e36e86b2837624ca9376ab88e371a8bfb368ab95836a479263711fd0537cf1d4b360000000000000000000000000000000000000000000000000000803f000000003149e5369de033381bd17f3feefc403631d48e373cde8f38db10623f2e629a369d910638a0c48338e857303febd0a835b11bb137a518b438e81dfd3ea302ba360e3a9136f320613834289b3ea2848736b7370037405a6a38821bda3d38672037b1155836f9bad63735605c38f64a4536000000000000000000000000000000000000000000000000000000000000000018858f369711913659fe8c36b6378b36a31d703626f56536bb550d36bd2a173645c0a0357db89135de597635a6274235866c313607260d37c3e33936f6143d368b1426351967c03655bc2e36231d633621daa836f42b8737e02d0737ae101b377ad917362089ba37c5fd2a37687b543700000000000000000000000000000000000000000000803f0000000000000000cd018b36b0f97f3fc4989336660f8b3609ba55363d745d3feb7b7c3621b3fd35d7989c352c64303f2eb04036887f6335643e2f36f580023f0ca2ac375f0f3d366e981535c151aa3ef00c82370bb31a36b4b69e369363223ec060a237afaafe363f7d0236d8a71f3c6d5a993712ca0e37000000000000000000000000000000002ad57e34dacf5838ed415e38e05832361a118d364d4fda36851ed63606d3d736b4760936f2fb6536e353ff3637f08036fe17083615211c3624c722367849243632de8e36f246c236ef10273759c3bf363170af35cb99bb371eb4b23705971c37dd2eb935c5c42338c4c8d9375244fd356343853668e86138b3eff036d31fd536ace56135094121388ddd1d378616903642ab633009c4773f83b5023d4cacb03612006f36a0737f3f399df53a0e33d336b95cc2359b4b653f66d26d394d4375363caefc35769f363fba09de3859e32436807c7c36724e073fa79c113af51bbe36377e9035b95cb13e81c5c438ece2753699aea735a6142a3e35a69338efd6f9351d1a503600af043b20039d381c58cf3677dfb4340a9daa38a5c8123856c741365c454f34e88b9938eb7cc837412e8a356b365336bec14238d1863d37ab808e364af101364c5c043852583436a74c1d363e1263354fc0d235a093cb3544efca35c79e38360eedd037571e0a37107d9a3675633035c06d1b377ee4af35544992356f79b335a7c84338f5d4153681bf1336d81ac1364386b738d15df2361df2f23642595736d355823849ef0638d296a2360e202f348d1a523fe142373e425d6d357b022d369183563f36e3243e82f6893631e6d135cc97403f96e9083ecf311d364849133507f31f3f735cb33dc5fcba35f94b08365c95ec3e8d11603d0a998d3622cb0b35f80a9f3e3f89893cae57973548668a35cd50283ebc25ad3800d210361cd0ad362a543c3b2134a938042eec368afb0f365027b139412b6938f64797367fccd035b0f9f538df371638e7b2c8359146b83608cf5a38c6b3533793aeb9365a15bc358fc3e935ade1b635433c84355a460735064f3a375a5b1b3560390735f17c8536c20c01381c5e9f365f438e362c190d3501978d37c39c563509d01735857f7536fdd646383c519e36aadf953682381f36a6134c372ba55b368b2642363c5d9534273b5338f8759d342d099e340e9bbf354d532a3fff34ab3eafeec735e9f2a9364648323f7afb9a3e2044bb361019a4352b4a253f8a537d3ea48f8c359b09073596e7053fc977363eb4310735522c78363106c93e243ef23d7ba9903616ebbf34ea3f873eee1d683dcb862d35e1485736e4ee0f3eef24b538a59c9536fb230536af51433c6297c936c128413621519434a3d60e398a54a83765aa9c340000000019309038c84d6937000000008783f136d3fcad387190fa36d7e0e83650ada435bc5d243834959b35f75a34356d867135f97a8538d332743569416135726bf1364d1da3389f527f37983ff43674cc6f35e69788383e607c357a657035f8b29435b6d34e3898910b36a68ac13548b1f536c7b89e382e3dff36f437fd36ade75336493414380000000000000000000000007ecc013fda1afc3e00000000bda6e936d5f7083fbc73ed3ec56ae336f80f8035fa9ffa3e82abc03ea38c3d3580b671358276d13ea97e8f3e68ad693556e0ea36e9ba973e149a503e97d4f136a26f6d354c81583ecd31cb3d85b274357b6f583574aef03df203873cefe0b63510c5e636d78ba93a6c905238e912fa3600000000af37ce391220693700000000145e9c3451cac838953c97347b999134eaa94036279c56376ab42e364629ae35b9769236415a2c381bc980364782303643d24c35310d9a3709ca2b3516ae9734bd1e9536438d2238599b913636d26b36e70808354749d63774641e359a8406358d26b3353b232a372590dd356479ac35afc8cb36b4294738af75cb360f4cb136bda3cd37e26d49386356f435fdb0c6356f879b342c41b13e4d5d273f26c2913445f037369a65bf3e14461d3f6562b735b16b8f363343b53eeb5e013f21ab3b367d3f28355120973e0db6c43ec60d9a34fec9923631e7623ee6f3883e3ea7703698040835dc3d1b3eb1c3163ed1be063576ac9c35bc94ac3d9687bb3cf33caf353992c7363929513a1378e23727d3b1362428073737758a39b94db5377be4c53543ccaa37a7b3373973727336b569dc35914be036cee9aa384329c336753d8f3646510936ce293538a240a835927911355fc1933582d03d37631d4435d51d0635e977d93666122a38355944360493d535a2e7b5354bc2fb37395f73359d930a350c77253651b8533882c21d3645c3d435a4a30337d883363890a36f3625a93336dbd14d35a41fad37df065e34a39d173417ef8b368f0b403edcd54f3fbd7ce2350e36e0362b256b3eea6f443fb4059336381d09361747523e6954213f11b93235555f8e3561df3a3efefafa3e42bf0835c95e90360cd0073e4d7eb33e86d6f335b2fdb435188cc63d4763433e86df0a35f0562036e0cf423db5f9873db1d7e03538968c3634978d3a2ed72c37045b3c369f5a6f35c9e4b0394cf5ae3462621e34ffefa236276099385562703582df88344e00bc36d6c94438ea3d7b368ac919369b89af3726901738f1e3b335e4d78b354ff39237194c033815b4ad359656653559ea38374987bd373b588c364f7c70366f4d223648304038654c0a3651bbf03519b0b73612d84a3802e326366aa8cd35efafcd36175c353703559a363bce8436e75ec337cec6a3374c4fba34a0e85d3024813036282f353de19d743f0b08963471ddc136e8189a3d78376c3f16731e361afa88367a4a783db8ef453f3cb89535bc0c1e3721c6453d91ec1a3f82377f3542c8b636a2000a3da9eddf3eb01976368e3424360d82b13c6da1873efc10fc354b4e6e36bbf6903c0af3b03d540de135dba2cd3666449d399ffbb836a3b68636c0eb9937ef8d18390d4665350c2d6130000000000000000000000000000000003e431c37cdd635376f890d360c4b9f35027d2f3788134437cf91a036cc6c853684be8136a5281a3708441f3577cab4346b2f553697f299374a0d3536ef7319362f4586358e5b04379a51a835562b873541b52e36644daa36a9cd94368ffde73573cf8f3657f33637bf169a361a868b360000000000000000000000000000000000000000000000000000803f0000000052bbe536af03eb37d0767d3ffb6cb53577b50a376737f4371854573f42b68d3663604136c6d87038d0d52a3fb96dc83430883e36e5411e3894e6fa3e65482236f86f6735833c9a37f52b9f3e309f973598a60d36c185583776240a3e25031d36d16f8d36a6259a3704bf7e38002e8f36000000000000000000000000000000000000000000000000000000000000000023c5fa365360b537bfafb53583066f35ee9f0238cedd2338907cb336607f9d36ee6f79375833a137310e4837339ff33668debe37b2afb4389b5a5d37bbda6b3590a03e372e6f1738be3ccb37b4c292371a852137cd433a38ee35ee37bd52cd37baa0a235c3ba0c3afd7523373e59dd3600000000000000000000000000000000000000000000803f0000000000000000f41ca13685b2743ff1872f36bb0e8a35749ada37e5964e3fd1b6b137aa56a03614fe4c378f5f283f752c843759c6fe36061ba1365728023f0467163898212136eb2854360ffab73e09410338aabf94375354bd36fb12583ef12b0a38d171c53787ab6735e362813d3eb18d376620c436000000000000000000000000000000006f0a2536d3e5c239863830382353ba36c87755361bb8b43ad3d3bc37403ba336ac0dd53543bf3f3a995201386328b136f1ef8a36cf46cf393c0c6a3736faaf363f19ae346dd4e33977a109383cad9337007349367e210d3adf87d13731766937e3caf5356f09423a9f0e3838110db93710220833fb754e3c673508380ae8923733261037accaa73a0f66e2383ec712385f570736394f6d3ffe94933dac3bcb36b42cb735b50c6a3f0203613d98b2a536bf6293357083473f2356473d84beb23604247c3637f5223fa8dd263deda2af36e4e911339662fb3e291bc73c82dc9c37f1bc1c36e52db23e4117863c2abe67377e23e435b8cf523e61fb4e3c9feeb037d596fe32b7e3883dc26e393c7b9d8f37c6a6ff3615082e3afd3b9b39f46012382be63b378dbf8d3afd688f38ea3d5a37712db8365476783cca143d37497fbb36aed8853652ff403a88bd9b376caa89362a580937de8f163abd280c38afbacb3632ce5936e8a0343a2a6a1937fb148136432e73366d15283a2be5043780949536f55d8136a543343a4abc0f38bafc0b373a318335a448913a4bba963791a420367fb4a935becc713ae98de2375e55023661922c37d93f473fd503553e36e6593710b7aa362cdf463ffbcf413e7b97be36c98174361104273f8c64233e10b18c361cc5b736b4c30c3f1540fa3d2c26dc365acf44360b8dd73e66ddbd3da3c4813650cf6036c5da9b3e3fed653d7e089c36b3526236feb4423e61aec93cc20b2237fef11035359b943d1550c53bb5631d3609cda2350d9e743ad7ab6038efed02365be09f3572e1303c39165f388039b23516d57e36bf8e9e3c8566853644ea52364b7e01379928783aba4c5a37bfc4a136e645833666491b3a1cb40137bf3a8436380c66367137723af8b87f36cd80533622c5ba36a3981d3a8f8ae2364aa8c436b6529d36a320563a419aba36c61da83600152c363c0a0e3ae09866365a254536c8268d365f9f6c3a4dc6ee3622537c36db7e6735f88d223f4caeae3e766fbf35b53a65361827233fd5379c3e81b85c36ad95c63617bc0d3f393f833ee830b036335b813657c5ea3e8f13503e9bc285360d854e36e63cb63ee8e1193e7daf5d3650ddad36592b843eb17dc73d83a1ca36fea290369f77263e3a63313d74d8ae36afa710364d55873de6fc7538ed974d36a6c25836d6d0463c1129f437fe167f36caea49375a9e853c4f15a837c0b6fd352de42737b29d993af9f14b371d2086363ef23f360ca6a73a5a045036c1ed64351f13ee3661c6943af2d922377140cf3584151b38f1a3a23ac4a04e38532f0a375d9bd236b2468e3a0e333637b5fced35a399b7356ffb953a88e7c73630c68835415dcb3698f5803a11c78237da93a536b66b8237822f273ad2be7b374ba2083633289c362cb0fa3e6c11f43e414409363e17ac362ee1003fc56fde3e655b9136f495a335520fdd3e61a1b93ee0238435d9bc0f366173b93ec0c7933e4b13f33503d3a13709278d3ea765643e7ed54e37410a1136428c533ec6e70f3ef3b90536f8199f359d21033ea8409a3d05299d35827fa136489e753d254ca738a760ac3615b91e379a6e8a3cd0530638f88e123660339a3698d2373c1a870e371d69fd35a1c95836952c803c48c13436d426c535732ab3369d131f3ac3ada336088e7c36812acf36ee78f3392e61be3694a09836bbc67436f3bb6e3aa9016e360f4035369f72a936086ce23911e8aa36a8507d3618010d379b68303af3bf3c376f589736bba27d3675e7343a981a873618455936c2b3973748ce563940fdb9355dbd1635122f82369e61b53e14221f3f400f1e36606d4f363405b83ea1ed0e3fb28cec35f19cad3632f2a53e8cf7ef3eddbb87363693ca36a51d893e395dc03e5268a336ffa467360b52553e193f913e66cf423613bf8536fe8c1a3ef6f43e3e7e528036582ada3685d3c13d642dc03dba79aa3697ad70362ade193d875690361e74643684bed33533bc513c54800838cfed4b350c2a0937e1fc573a9b566d37ea879835b63b07378c57623a6b80953597aec63480bee337651df939f5e3ec369c043536e99bec36f8bda639696a7c360d35573643668636fe41e7390a5361366d1b20367680e13779a0be3904085c3712ada6364d1891366017e339aeba8b363f715736ce43063721f21239a214d336e0f09a367b9cd43700050f39358f43374b7b1e37d598fd3565fa663e9490453fbbdb9b3533581536ac5b683ee64f313f9370da34a11a8837ffb8523eff11143f6cb34936666cbd369317323e12f0ed3edf175c363d3181366a4a073e63d3b43e2ae93036cd0d5c3790fbc33de3f76c3e5f58b136aad58c3613d8693d9812053ee84c6c36744bc1362fb4983c9e6fbf37ad32a536876a8f373c184d3cfd359437c7bb25373fff5038c59e4c3ac77239375dfbbd3631d8e137da0e0d3a128b7d33a4f1f6320abd1b38661e033a06740236f5c4c335b843a9371e16e5396a0a5436fc0e9435b034fa37c5bcc2391eccec34c1c50c3324994137063f8e39aa598e3611d64f36e5edb837d70f033aa5184136d5725f35a851813747cc413afecd8436646e41349cf9c6375d3248381b383136d9c1c735f1401d38bfe7a43d8d9a6a3f9b06d83622cfae37b393a93dc66b533f883bfb328d99f737f086ab3d5a4d323f6669cf35dbe884373f71953d4dcf0f3ff59fdb3568e1cd374375623d9869db3ec8b20f33c004153780eb0f3d95f6923ebd346536db0b6d37ebca873c29de1d3eea037b3542c30337b4899e3c5824193c73fb093513ca0a3782d8093aef4b473616e4f03500000000000000000000000000000000be8f1b37559e6b38f426ab351c8f20342fd6f13760ec0c3821193537b9f4a536477adc376e1c1138dbf866370c1c263697908d378f6473388c54f7372b1261350375483706719e3757bc8537751af1365695d23685f2103822be14380babab363d17ae35f90d1337e0658737a568e1350000000000000000000000000000000000000000000000000000803f000000003f3adb367e2f353ae2756f3f5e03f934680ed93748c68c39dade493f4183b13666ffb337866a9c399ae3233f89e233368ff9fa366fa19239fa5efb3e76a2743508c7253726f29f371534af3e8077f736ffc39f36f3830738886d453ec50e593734659c35699aea366884343db2dee33500000000000000000000000000000000000000000000000000000000000000001999c1343e86b1341a0eac34fa94813588187e3544247c35223881358dbc49362eac983606ee773648c38d3680918c365dbb6a3681691035c55b2135143ec036cf0915351dbf1a3527d5263546c62e35e3b30036cd7b1c3682f3cc34ade4e43496d2f637a1380638dde40a37d56f803500000000000000000000000000000000000000000000803f00000000000000004b183835c008803f29fd22350ab1c934cda28d35e269633f3ab57635c5a14335c8649736c070333f7a78873695609836bd8f1a37ed53013f4416cd3796244737a33f2d3542e59c3ef5f04d359429ed34a8411f356095ec3df12e66371f3bd334c8540435ccfd483c52d707388a7493360000000000000000000000000000000000000000f36e1d37000000000000000099bbf7333d26ee336e1adf33e704e3332bf587364bf18036bf399c36e523ce36ee06463572d3c5348ecdbe34e2e4f23444f462340a39393487ec5e34e365483441c0a0367164a4361ce2a436348dc236bcd0a535b8b200352b26293599145b353d01f034c9a92c3745a90b346538f034bcb80a366c6fe0355088fd3563531236000000008f22803f52530c3a000000002101db333601803f79fd6939bd49f13356067b369f176a3fab25533898c7b43601032835913b3a3f63c31a3726d82f3594982e34cb7b093fac39e035ba5083342d649e36e30bae3eb4ebaa368c67c1366567a23505f3193e52a3c33746c995350279ab332959e03c7ca11638b5789a34edffb835b84772371c51e735694e0f360bf62234e9623f38e6292638321fed3300000000c171c837e19ba237341ebb34b5659f3444c186379f39ca3715cdce367b5d2f3501a603376e7c6537cff8fc36c828073565efd6346c2ff034fc4e083513d63035debf1c3588bf3e3530302a35435a663755102938cd31d337856d6137bd37c3371da846385e45ca37842f8137e221043539d55a37b30c0b369606e834f7c662335548603f11f7003e8549f53300000000af5f613fed8cd23d0419983482476334e6dc553fb537783d494aa834c282cb3471032f3faded4c3cb4d09335d3db03355b88003f46abfe3b11621635bd6a1835b970a73e47306a3805645935e3bfd7358cee013e7d79893836b30736b5b2843515f21c3b0dc48238f6f48c35f78af534d1e369388fa9083888faea347ab498344fd3733894280838b72b9e34742f5d36cf7086389d900638a69d9336c3b29a35ff5db4360998c535b8e5b83522561e3599cb2537bee9e135507fbf34428ea934cd5516386a532938b19f14378ffbfb33e45a8a3796ed043714db15341270c736044f0c3835a779371c6009340000000038b508370000000000000000a137d936068001389c4129363a0d2d332f849434a9a5313f15a99d3e935994349e7124365358363ff788933ed4c64f3601e6963519d72f3f141e593e111cb735345411352e56113fca7c0e3e6e59933485f44c34480fdf3ead02823d0e16473493491734584a943ed2eb613ce0641434823739342ba6023e334ba938cea5f83300000000c444023b7ec2a1370000000095fb0134eb8bb33858b1053800000000c0ab09347e174f38bdae7e3519a701349c4bdf3562ed9938702ba437b54dcf35dad69e359e3caf359bc0b1359dacb33509bd9a35b82a8f3546aa7335c89a763546c1c5351619ba37a7970e371dccce3538248a35ef419c352fc8a0350d46a4351206a835b6839d358cbaa135c14a8d35e804e13760bd99388253f137ec35f4354d0168351f8948376a950d34a6bdd934996d163443b9013f3519fe3e2324cf332d7dbd351351063f1eabed3e0a879035b8d7a735ce38023f5042c33e5cd199351d2e8f358d8fe13ecfbf883e97546e35193cc5352df9a43e1205373eb562b33562738d35d372713e1738733d0a90aa35fc7b9b354cabe63df81f8838a5339b35da9dcf3562ae4f3ccd89b638e53be4359abd703414018e380bcf933712b705352a94bc33e7b2af3860b7cc360000000000000000d27093370000000000000000c166a8341ea8ed3761720c34a36af7335571c33337dbb637e06e0c346ff53b34202b6e3774c25f38672b9a3658590b35f66cfc34b8c20838cfc97636df6df334ba32b3351b30e73792678b3665b3bc3567bfed3728038c387df53b37d14383363fd66337f67acd3782989234e4de953494b0e931f116a23e52682f3f00000000000000006790b33e2683263f0000000057e98534978eac3e17c0093fe1a3553441a5f13382889a3e1527cb3e76de2b34e9f115350a017d3e912c833e0e15683428fac634f42f3b3e4a45e73d26b11a35b6159135bc32d23d248ea7395b0eda354d8498363a44013b30539138a2e96e36d537a1347715a138c3eb81375ba79734fb50f2343a418638277eca34bc3fe9345148603763927138040341355edb5135176e6a37f4d926383e5adc351ea6ec355b555935d54c0437371e1a35eaf21b3569141f35224ec036c41ff034b42d07355deb73372e0f19389381cf36ade031353041c437b4646838bce9e4376da88a34d006923756f80338f4ddc035000000007e4d8d36721d43378a322133dc2b4833ff5fe2348032073e5eac5e3f3e42db34a451703505fa2d3ee966543f274743353544da350387233ecbcf363f72f8c935918b4935a75e163ecb4a073f3130f434f5fb1335bf70023eaac7ba3e9b26f334ef799f359c7ff43dc7953e3e4dfc173564e09636a282bc3df63c5d3cea2f4634000000000c25983cc75134380000000094f5bc34b6a70f394ee7e133000000009308be35a7e8243704363535e9f7bc34a528a53475d2c23700000000dccfad32daba8b35e1298a35c9156835676e51359a75a636b2c69c3600157d36ef249d3623175934c4e36a34c3d23834696f8134f364d83419d6db34a30e20352942b234e2fba1360cda04373fe49a367baba336104df13386dc0234492afc33bf83f2330000000000000000000000000000000048efb33567a9a03cbb7d7b3f94885e34c08cb134e1fd0f3d8241703f00000000dcedb235ab2c803c88df553fa3cb67359ac3a1363637613cb20b263f674c7836340280348979d73a900aed3e6e834f34b79c3d358144f73b0ca8883e80db1835063a9236f32e803a986bb03d79278f367dffde339b14323ab6ea2d384215f63300000000d60a013800000000000000000000000000000000000000000000000051e247377f4ca737ee74b634dab870346e7c3235adabf534c769ec348457e83445f4493598063435fb810e35dacb1c358fcd67371eb7d4377f2c0c3546390335bbdd9e365ad390362385913601139f363f3ee6360e4c1738faa75c376596883522df4f35b1f9aa367b80953551e295350000000000000000000000000000000000000000000000000000803f00000000ae98013507c79938953e7d3f138c963448a35235229a083822d1623ff4b02035b2752f35dd51453860c5313fdc09553530dd48367748a2380a09fe3e96872135a84ba336d2ab1638e4f6993eac4e97365f454236359194383839e63dde69bb351c308535a4251d38b902973ab1b3823500000000000000000000000000000000000000000000000000000000000000006e7b8733553ea433e6bd723398d4973398ebc4345db39b3463e4b03402588334f04f0a36fe63df350cdd953536203c3574d4593676f169368f8a3936d886313600000000a5415f3700000000000000009b3d4236916db7370cbc39369d0a19365f3191369fd8a436f8b88636a8d2703600000000000000000000000000000000000000000000803f0000000000000000e2818033b7f57f3f7ebe8133f6669133f631ec340cc8613f1adea834b7f39534eae2ee3573af313f592ab035ec5360358b6f3b36c0e9023f943f37366141313600000000f57da63e0000000000000000a92b1736cdb30b3e890d4a36b3c91c360e0d6e360884fb3c6d618536827280360000000000000000000000000000000000000000edf3bc3895692f3800000000647e4536f2174a381d87fa367d518c368c6d6735eb7bbf35ede7d73529dc7e3560713036f4e83536027153369226303631e8a036a5500c374e01b736cd1caf3694e6e83512965337533b20368c2d0036a9cea83637cb653892a4d9362513b236f1e9ac36c3355238c420f0362599dd361a6cc535ed5bb73781a802366dd8e83500000000cf02773fb2bb0c3d000000000c0c0236df3e793fa90ab638f50a9136c3a16d346b95783f05194f36cb944b35494e2736c0bc443f31ac6337ee4c2d36ac788136f7c2123fb15fa8374d9ead36aced3e35a428c13e77da4a3759a0e2358ab36636c33a343e83c2f437c43eac36fc6d4436b6a7873d582213379cecdd3668397734a04e3b3b7f1112365064b135a43a8833b0f8bc3ad4293d33b486893303ddbd34af98e9382c25db34c0c094348c035535637e243807cede355cdc85356255ce31d99a1737657cbe317a3f8431e7c919350d0b0e35e9980a357d9ae034085e063530e50a363debd03563a68235f82040337a959838095766332383ed330ceb19348120e137e58f1d3499905134c74034354e8336387afce8354b9ff735a66165330f97503f5520163e841b9c330fdba4344707533f28d1c43dfbf78b34eb9be8341874583feaf71d3d56a68a35b640ac3186673c3f5306d1386617a031b57d0b355eb20d3f2daf0835cc99f734e65ff934898ec33e70521836ab375735d2fda433a0a9483ef28b1f386fbadf33715b1834b1ce503d23231c345d123134520d0a33cb72593bce1c25375d92c5350000000062ba843b000000000000000000000000d9afdc39000000000000000049f262346dfec93804e0743467deca33b7bc24354c120138676a6835f50f01355f708835ca33ba37c5218835e6169235000000003bbe303800000000000000001b00c8359068b338952faf35c84c9035ddcf6535dc9e023864bc4d3510fe6435ca4b0034f2ac6e38186c2b3449cc4734000000003b89263f4b0ba13e000000000000000084002d3f643b803e00000000c8fc9a34ca6d2f3f7f921d3e47422e34e82002355dbd243f5cb3963d911605355aa28035bb90023f695c7b3b6c5b913500000000e5afb63e1132913800000000b2fdac356d974e3eb0d4d3375076933500322735aff58c3da19b7535a3e051357025dc336fd36d3cbc01243452314334502d3935b14b8f3b427caa354958cc34b3da8e3603e26b393c56bc36343e34361df03536769c1f3964a97a36e352f13588a580362e192238bc3f9a36a71c23366cf9963650fa8c3808c6a536f60671360186873612a4233865619c3641a05c366a8f5f36d8a7d43852b14f36baa4dd354591a4364417ec38f15bab366d986a36a195bb3598882b38c0b18835a1de4635f1d926353521ff3ecf16f33e9fd6b434acc66a365f3c053fe795d23efa17343685a6d435d0d3043f6ab0983e0c11d335f45d4a36e66e033fd9f62b3eff4c0b36af258436b3eec83ed3c7dd3d3a36743652df3f36869fa33e71db10383f034736ce582036c17d3c3e912d82378e57b235361a8036f5918e3d6a0602380549633676ac2735d715c33cdd08be35eedb103564b02934cca6993b0398c13392beda33320972359eaceb38e3ac4435f9e90d3567d8a7354060f13862e2ec35c3084d35000000002f0096380000000000000000ac309b359421eb3774748935a5624f35aac10a35f61d3b38a224a435625cd834a7012a34e679ef38257d5334111e7a3400000000c354ff370000000000000000000000000000000000000000000000008bcc2834c96dab3e98be253ffc8a0034ea425c359e0dbc3e2cae103f02b923356d476b35cb8eba3eeebcde3ebd7542350000000064beb63e6d29933e00000000a3088c3581e1a73e0c62233e02e07035c2f5b7341b1b883efcd5933c56d90735bca0443471cc253ef8756f384c868634000000002601983d000000000000000000000000a81d053d000000000000000096c2c035cdafd83c5cb76e353cbd593389c7293480ffbe38feb84134c2f152331a848e3352971c394dd9d433000000006c0f803540e51836e2981a357f780735b8cf0c350058053679c70d350155fd34d3bdab31b2cc9b38f49f9a31af4cc131010fb035ad77943880bd9435c196443588bdf434f5378d36ae8ec434aa34ab34eb15913312d365375fe759339ba6af3396d6b735a2c2253eeb074f3ff84d2b331ba336348fc3553e3ab63d3f9a95c83394690e34c604463efa881c3f7759e33275743c35d53a493ef674d83ec6fa103500f00835c6e4363ee3d3893e2b1c0735a3daa43101e2343e3d96b43d85fbb831cc39ab352269ef3d0cc02838c0ac4335eeb19f34fb17a53d8b14d834d91bc2345cc7803333b51d3d11da4233bd059a33be32f6359add92399e5aa13500000000ce0fe136abcda7380e6da23626ce873519ecc63672049538ee3f8d36179a00367d14323682340a38062ddc3500000000eb77b636f2e84c3803fea236be7b4e363e9a34364badf038d9eb463657e31836d813dd351dcbeb379206b43523da5d348235aa365c2686389f8a7f361038043672d7a53734be6f3800000000000000003176df35ab6f493d21e2723f00000000e045d736a56b8b3d65c35d3fd7b66e3582e7b2361da98b3ddd9f413fd07cf1354bac0a366b63553de431123f000000003c47aa36afdf143d6241c83e44e75036c9db26361bc5af3cf6d7573eed6626360f6990356905c63c8c57a43bc1a15034ad1d9f36d84ddb3c10312d385874f835000000000e1da23a00000000000000000000000000000000000000000000000015419336d7cf99369861863649e4283653f048369522a0366a3e1f362da129350000000063ccb83700000000000000001c9c573604f4403708685736c487ff35cbb6bd358536203656793136af0b83358e91a4345450b334d38fa734d84bc6346a2ba433f7a19c339ce49533f2a749330000000000000000000000000000000000000000000000000000803f000000001b39833648c299367b5b783f61e73236ce000f36cca7d53786255d3ff8074e3500000000bab60d38e0fd2c3f00000000f5582e3626149d37a8a1fa3e3765163640cf1135d80e1136d2c69c3eb940c6353669aa34ea58d334c4e8f33daababb34bc998633341ea5337b07893a0cad7a3300000000000000000000000000000000000000000000000000000000000000004a5c9c370b4aba384af26535512f393417494136daf325364d08c3351d3a9735ff748a36c8d12e38cebd4b36a861303628a84f37c27ccd3812f02335700a6935fb3f1036190c27387fdb6a36d46b8136951ca635c8ecaa38af2f3e3637823d36c3a4f333bb891439362e0836aa23e53500000000000000000000000000000000000000000000803f000000000000000007a11b367a597d3ff29ec1353ce1ce345cd746365e32583fdea6e735c8a6a33511c76e36d3af2e3f3033653680f83136afc73b346061053f69464035f9976f355901a43511c8b93e6c34783695697636e81070346816473e474ed2375a3538365c04e233520e543d5e1232362191d73500000000000000000000000000000000b3e79b343de3c23b69127d37b253533675238332d41a853bf4923538535b2136d61da335238f823848ae3836362e1b365e67e432da28ed38a208cb3598029735d8a91d35cf8c1f3cb87f2636a1d40836040b8c3579c16f3c236c8d3682285d362a0b1c339691033d9d351936eb8e0036a2a45330889c443d9e3adc35da22c2353bacbf3635c5db3c9b6816374a82103788842034f091643f8e43593dffd35a36d4016d3272d6703f015c863aa9a023365b42c83464eb6e3f3b060f38d1161f362bfee232853d413feeefc237af629f3500000000b394123f5a473a38a4220c3604267532836bce3e33b76d3770896436c71012339130683e15ad2938d5e705360000000055e45b3d0d55db37c3ecc53509617c36be04ea3c7d1a1d37103b11371902e0351fcbb83c00c66436715739369e5aa7350bb6943cfb064536a6b92c36b4c79a33db89dc3c1fdcc6354bdbc435aab92536c6acd13c55179f3631b879367f681936724de23c54cf4536692832363cc0a233014b053d7b7ca73390e1a53329b1eb3594700a3d77135c364d502f3682c32836d9d8243d8e405f3610bf5736ba9147306678023d55819a347f36223499e8ad35dff43d3fce172c3ef2703e362b474f3550d6453f8a9b043eac822f365e4a9b33232e463ff0f65e3d14d5c23524c702361f8d303f04bb063c2e3d81361ce2f735e4ac083fffd44638beeb38365d82a133f963c23ecc84a9337055a6335916a2353f2d703ecbd1773658e72d36d3c1fd3566d7cf3d98ee7c36b8045d36f6d319303694c93c23861e3556a69234f7862e33c23fb83cce638a35ef0a823300000000485ddd3c97485a3500000000afe65d33c380df3cd8c69d353053d5345688a5355b1d213d6f981636920e04358b83003593d1173d5b97b235f6347035970d0e360d0e173d63fa3136231ca635083238354ad9ea3cf82d96353a7fee33000000005840c43c0000000000000000fccc783544b8943c7bf877359eb22235ef2123335c1a1b3f48c99e3e29119e340000000080bc1f3fcdad6f3ec24a0034ed7df9323c86233ff7f90d3e46f8de3459343e359e6b153f66f8933d6f5c5035be5039346dd6ef3ee275953c18dd8335f2b8b1354c54b43ec0ea6a362cddc7357cfdc3335263713ebebefc355cc3e933000000007003023e02bbc63300000000377a5d34e2d3163d5923d1357d1e3735004f86367372ef3cd691ab36472210366ce939348e770b3dab87993546f13e32617b9d3480e5083d01e29635c14a0133c067eb35df96373d940c8236e93b56336116ba35e0b5133d77e2ea35fc9a9532be97263689a0263dc8cc4036b9212b3467123435539bff3c315c4f35aca52d338f481a356f399f3c7ec5df34e782a931b26a8d362d95423b5b628d3683c03f36cbaa7336dd23ed3e3238e73eb6a43b36490ecf31beaaef3ecd93b63e3c342a32ac4d20335f74f43e62c4853e5358023312858f3501d6ec3e16eb1c3ef7375433444252353bedb43e8c8fe33d7e599034686b4835066e993e7f2b0a38f3452635bf1d463439364a3e684bd4350d322833822729329cb2fb3d7addc1352499ae3107606c36b7155d3d1ad0a336846059369c036c35e69e033d6447cb35a489f93000000000a0ee153d000000000000000019e9353596d7f43c010fa2351affb733ee581e364c01133d79f34236978f413482069635f47a263d87c63e3563a2b433e951e63544612a3d0291d9355f75c733ceb16435ce0bc73c229597346c0df03273fc03358569423b0000000000000000019053350f2f163bb8d030334522133307895435cc65a43e67d4173f8e36fb3000000000afc7a53eabb5fa3e000000004332e633645fab3e0f91be3e91b5bc33fd75083687f7a83e6d327c3e927709359fe78f355ee7953ef550133e53ebb8334dc3a5356306743ecc42d53c9113ed3479504335a30c303ee17125364429f432c846a934eed6e73de68d9634000000004f261d35c681773d3828073533da1b33b2b6bd34450f1d3d06dc1b30f4a1902f891b5e36b8881e3d2021403614540d3550193e369433083dfabd0936d87b9534dc3fa73305a4083d8b0da533857f9e33c5713c363c34053de1cc2c367d888135711a89368448133da49f4a36dae88135eeddab359605073dbf629c338adb9933f92e33364008b63ae608c435680ab232d261413692b3313ab0eae43569212f35daf08f34d59d2f3e9b1f3c3f06e6d72f8c485f36ca363c3efcf7223f3a5397355d7c33369c7a3f3eb513033f8eee1d3589f7a63357fb423e8b07bb3ebaad9f3343a43a36003d373e944c693e95d3ba35ddb38436cfd5243e8ebaa43d0dc1b335441fb735cbc4e53da36cf0373f499a3390da3036806fa13d50440836e7fbca3468f13f361ee68a3d90ea11366c637f358d9d1237bd56ae3c58ffe53646cc9334e310ce3565a6c63c0c28e02c000000000cc50c3673138d3c6ce5e2349494fd3264d38436bbaf3d3cef722a368744673291f81c369c70663c233aa03500000000a6beac35b3b93c3cd517d0345109e232ba4b2b363f49293c602713360b374034467cc7374fa1063a8e0879328bbf263287550d3747a283383b2023358b2b1334aae311376e9a463d5e17603ffba3fb352252c7356bd0913d61b24d3f00000000a419073656b88d3d74bf273f12c50633525f7236a993883ddb2a013f2f476e321197143637f9643de545b23e0000000088c1a7352429433ddf033f3ecff7df32498729367afa1e3da552913c92e34734d2992836cbe65c3d8574d3370a194632385959368610483dbf53e03525561a34000000000000000000000000000000005f8be235e15eb1382857f133f0e0ce3386ba39367dde7838853bce35c191643417c16b364d9d1e38c3c82e362f87c831d90f4435d8aecd38aba39138ed21383462844f3686ca2638c60a7c3854410a3656fdbc35a54b1c3644aab83739fa48367ba26f35554e903871d1c7383c1afe350000000000000000000000000000000000000000000000000000803f00000000fb0bde35d24b943876ce723ff1fdd43357ce3536c3a66b38b2434e3f985869348e657036190fed378734233f6e1116347b716f3595bd5838b76bf53e4ee63a3488063e3697e2863627dfa23e5ca142367a86ad3558030d3670ae1f3e04b04b36723832351f8eef3668f42d3cde151136000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e3c79c340c6d93342aeab5334be5d33300000000895e01331d30f4317d224d3300000000000000000000000050c5a9321ef32c352be61f352c64c93401720a35f6ade23453a7ef348753d334a349f234699a3f347854453412060b34ee6e0b3400000000000000000000000000000000000000000000803f000000000000000000000000d95f7b3f00000000000000008646d83454f05e3f8f81c6346f5a56340ae10233d90b313ffd55a23200000000000000005474fe3e0000000000000000507c67351bd69a3e82d244359ba60f358af2dd34f710043e4d7aec344d0bea34bde71a3481d6f03c9f332834888c0b3400000000000000000000000000000000fb508d3433bca234730d8e341518833413541d3534a94835575f6f35bdc523355158a1341a4ab234f445aa36c7d54e3577b9dd34e32afd34f1e50835f3181a35971c3c35f3495135534f6735a878603559bd8f34d44fc336e4e62337d718b936f68d4d3487a36d3775fda0379d27ee360ac16e34e44a80346b268f34fd411134e0083d3477b351359c8a7034f14e193447ea8c34fe78793fad1d043d2d827a340c99e93405e67b3ff3cbaf3a63ad2f35dd48803471a1653f26547f38f8e7b6355544003570823a3ff048c437daa6ff34cb1d3935daf20b3f1a59a536b173443581826b34c610b73eac370a3a213ab136445e0b34fee82b3e1b95cf3a7bdf0c378526be3361318d3dfab63f3661939c33f87cca338f2c073aca16eb369e5fc5334fa25f3690200a3742dfdb3607a39436bf978b3456dcc6355f262137e0cd54351c15a0348710b8348562223728b0b135d77f3e366e467d36ac667936f7ad8a36f03560353eaf8735477e8c35e9a06435b5b55d3450df8c34b6db0b37a75d2235f1320036d5e6403633e13936088b47364800b735d9f14a37b5e925372924f735c664ac36339ada37cd08a337e42231374cba7b3569035c3f660b183e0abf7e365d6f7f3444e35a3f8280dd3daf5c1635c2b5a03446d4593f9768013dc849e63407b10436bfa6343ffebd5b3b92727b3649c25b35fe65073f79058b3bb9a51735eb1365349357ad3e0aca023c1668f0345c85b73585621c3e838faf3c26e0263692b09e35087feb3cd94fc939536c6a35e03f49360e3eb23a58ca3a39497dbd360356cb35dfc49a37e70e8f37ce92613615de30356005df353f10e936018527354539db3551a2b3357b1c6e35aa2ad735cf3e96345ea0d634b9f7ee34d680a13477c9a5341ed0de34972cf1343179a134637d4a36788f39369209213621164d36773471359d0ebd3733274537aa2f2c35c99c4035abe14837b8fc1c370acc6935e7316536090ffc360d115136d8e43c36cbbb9534be6a303f46eea13eea092e360d9b0f357b9f323ff4858a3e176f1b3564b5a93516db2f3fc739363ea6d7c9348c3d9534234c1c3f5af5cf3d848293347cd5693463b4f13efcb12b3d0a2a58346c182d36fa37a03e2fe0253c2674c735a45abd346fb6213e61c7713bdd45f934cca43a34cf11fa3c49ca1f399b5f3834e102fd35234e4a3a61962d37b38fa735b19ed63579f4fc363e35513687ea3d35480e2935575e5c35ca3f42354187e734d3baaf354a9968372bb00e37cb33d635ae739135a1260b37fafbdf36d65c3036d02f973518afa535d00fa7355b7b9835c467f43504ca8337814b9837e5e2863681cc833678ab8c3767bf8037214939361e0a3a35b85b67351196553565041a351b4e2636d0bb8b361c859e35d0915a35a501b43491ba003fbd11013f6e1890344b680535ad61053f621feb3e8498d134a9714935115d033f90a6b33e386851356033f63445dbf23e85c5613e11d75b352b9b99354631c23eca3e043ebd6581355156e834d915923e5817eb3cd930b4352310773510a8123eecb26c3a9ba0b7356cad39354632033d56fbe236a3a6fd34056539359753fe3ae4219736dc54a234b49e3136d6be813778207636cab21936b3ec7434fd02883717df2136c383193516bf233507d91235d4e9d534ffb20535a732413602688d36203d523683474d363e42dc345ded4035ff1dd4342d93a6349e799134d66a9b34d122b2347d7feb340e7d013658aa543661233936518015369db89e354f099236b9019d35141455358c279f361e264937ac998836d2168b36b6ca5b354e3ca13ed4cc313febdcae35135e57343a4bb13e262c213f7a024e34014b29359870a93e7cc3033f4713ea34163ab23507e4a53e6c2dbb3e27d02e364e85b4343229913efe25583ea9498834e5d1a234ebf2693eefc58e3d6d4fc53494d424350edd123ec3a6033bb3d6e935b8f5823561831e3d906d2a374def2735a79133368c49e0390e193a37899dd03574630f37e79324383f67be3627b33636f9b5823561751937dabf853503d53f35631a193622a218362dc5bc35cb0fee3510dfaf34a2eb8d361f3e9634ba5a4f34ffe2483569e5883510015a35bfb4653593f36a36008c4d36e6b62436b09659367157b53487b72a3732420a371ba9cc34efc644359eda3d36048a25355375fb34d8dcab365ef9aa36295269368dd27736565d9736a668193e412e5a3f9ba9c73584b780358b3a303ec2444e3fd9ac22354cd62036b2f51b3e60e92e3f5ab26a35f536ac34a2f8153e15fb033fd27a5d34e8393035270c133e249baa3e067d0635bcd17536470b1a3e8813193e05130b363c469c345a78fb3d32e41d3bd77eae344dbab8342432363ddda73637750c5d3408577736d7a6c23930f69336989d0236b1fe233430d1a936485b02342ce8c433e3e836343e02323482f5d6334e3f46334598ce3446dd37377b17193415a86633be5852369389d1361153653449875d34b29843353d885435cc1748352fe853351574c2354baa26375fcb5c36a72c1135b8e53335c6bd8c37a034873787d18834eca97035255a39368e6d5f35144d2535b3bba93425c3c23453c5c83439949d3417302234294ef83cf46a793f317bc93391b711343b3f263d52c5653fbdc864336225c336c0e5a33c9ce0503f5967343347f7bc3695070f3c6c6b233f7c515834f9a25335e5f92c3c15e1e73e58c54e35b6653436aa57f83b7e708a3e3db30d35540c06363bc7f23bbf3fd03d86f28134b3e683359cd9903cf0c2613a8c87ef345140823474b14c3ae34bae34d6987e340000000000000000000000000000000041ee1a34a0932c34956d333473772b34b9a3e534f18af7346158ea34b7bcdf343eb2c2347f0c4c35d25da03503f79235000000000000000000000000000000007b1ead32572fce332954a332d19b5732c1ee5a34163af734c0fd4e35772e2535000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000005ae32234df4e5634fe857a3f11ef29347291ef34339f0835dd3b613f882fee34e18203350533da358052353f286b7b3500000000d6d89e330b86033f00000000dd7db9320f1c6834ad22a33e00000000702d873431ed6f35ded20e3ec2dc0335000000000000000001c1d73c0000000000000000000000000000000000000000000000000000000000000000000000001c60c532590e0733263b0b33bb36c3324793b4328bb6e93238defa32867cba323d91f033c2ff2834dfdfe3331750a2333e7d3e35592410358b700635ecc21935c06a573309c38c33a4259e3359ee603309f64035326e6d35c7da4a35d891e534ce707b35567a5735afa54835b1f64c3500000000000000000000000000000000000000000000803f00000000000000003cf4ca320e8d803f0857083356c7c232c66bc0324efa633f4e5ef732eb3dab32d0baf8339345343f9275e033774dd63319e66335b0ee023f5166b13421db2b35cd865f33f9afa53e6ccb9633c14d5433a6ac2135f247153e0d3946359e5d02355d9f7f3519717f3d585a283505155c3500000000000000000000000000000000c77e23330854bb3a23228833427d0a33e95f7934d8ca5b35b5896b34a3909034bc6275345d3e85350000000000000000bd232e34af245434f8421434dc9dd53383a09b3565f68535b8887b35c60f6d35424a2a34d3701735aaa1e332e0177e321764d934147e0535b5ade434992ce334ab6a1734b8828934036ed23398180034000000008c3b023a000000000000000049855b31ee90743f90dac43a3a9c19338e77a933400a773fc2bdc7361d8a85344f496b3429e97d3f0cc3883500000000978420349c44593f85000e34bec70d34f5028a35c809263fedf25e359d9176353e101734bc00e93ed33a703358cb8e323c7fc634ef457d3e77aae134d3c4d33446ff0a3434d7103e7996ca331dcc0234000000002f7a543d00000000000000006ade86356f58883cbfc3dd35410b8435c4ff93350467af3a438685358db14935e7cd123593706135e7d21435c6933935da64c43525660036d532c3351a8ec635b2040a35611b1735128de334882ce934cadd1b35b3a30335a65ae334d3b7e1342a49c535b55eed35dc29a03598ce973500a0e03437a9083a2665993499948d34d92e163440a1cf3a551de7338e1bc3338cf35b3566554c3fe4b4c43d04836535878a6b352eb44f3fab574b3ded955335a7040335a03c543f65258f35474c383527f89c35e0da533fb466d7358b4ec0359ab3d83465022e3fa3b0fa348b95d0346e3df9342c1b013fafaf2735c8b9d23476e1a035589e9d3e30e7b43502f68e35bf7da0340590073ec35ea834abf07f3431e69d3350ae373d83f738349481c43358bd4133f9b0c63c7c438b3371cfa3335646d234e81ec73b3d060035ccfcb734773d8a35ef0e843a6cb1f0356ce38e351dac6f348b44ce34e4dd8c3458ca2e34246e76356ef19135c3368135e04a7035f5c8b134776ab8347f1fb334eed96a34f5ccbf346b33cb34ef11ac34a0d68c34f303b1357fbb7d39a93dba351752ac35059c1a353cc02b3a32fa3e35fb67463500000000e047243f3ebd6f3e651d63333280c334f9f1263fe441123eeffab5346bf95435b94a2d3f9314043d4e609035fe387e3406082d3f650a8b34713e31341d7e423526f4283ff5388735ce256a352436873424ea013fc6fbc234c1274634859da434d765b13e85f4c33411e485342a098f35ed5a463e8ecdbb35c52aac359c4ee034463f733dfe9d3c3501d93d350000000013e9863d6a459235000000008a8891348c1d0a3cd58c1d35af7a9a34b0e7c132ec2aec3a50a84433af07dd32f4417e337d80be3a52007a333cd91f331572b035cd698e3849e9b63593a18d3570291e3391dc0235c74b9733ea361c3344f21d337182223388fe1833f6bbc4324390dc34104d9e34781d5934b8141634813fff346eaea9390000000000000000000000001868e83e4106cc3e0000000080d15f33aebafe3ec0ea943e45347a34d161c132d0b0003fbaf5383e3045d7327f817c33cd60043f0da5b93ca1885933a8b29635c8de003f43b4613641739135798b20339459ee3e13629d33530d31337e2a1c33a2aca53efc6b13335f6703335b98f134044b5a3efa5d6e3447d62a3400000000f266bb3d00000000000000005b023d35c5609d3d9f9a0f35b4bafd346bfbb1356ff6e93cf66eb735c3808235bfc58734106f0f3bde1bcd3488b2e834c84c9534c896993adcecc33437c34e34cf2d74353f031c3ae88b8535a5e63e35585e6234163c60398a19863448a22d3411fcff3527d7153613fcb0351ca16c35cfd504357a7b123518dbd33476a1c034c85eea336e9d003a370c2f31b479e9328fa9273584e7923e3054163f4f30b734b65597357658a83e6acaea3ed0657f3507e86f34ddf2ad3ed966a43e2d2fef34e39067342f9eab3efeb72a3e44a82734e2ef3c357a41b03ed941593adedc2f354b1a2b34f8f0a93e1f4ed53497de3334a738c735b6c3983ef4f3dc35ad3b4b35e083cd34f7c1543ed451e634362bae343e353f3380c2de3da2dbf1320000000031831f34d3a7813d9db3e83332dea233c88ba53447191d3d21aedc34d31d8834fac2ac35d0da8e3c003ee735206b8535a65d1335ca99073b386829355650b9345476e334e464013bb6d61e351ff9bc347149e535dd85293aa1450436db67ae3510122a35e5b99b355a503935819002352aa17f357940df35e1029f3522558535b950c33545bd6338c06c8a35226e733544862d346cec133edf30413f8a28883307ada73415983a3e960b283fe3297b34b48d943555d9393e2199003fb65a8535fb07023541093d3e532da23eaa93be34c8e2da34b11c303e45ec1c3e22a1d0341c57cd353422363e4afee83829b8a335943b08356659363e93735e35305ff334c1f3593528c4133e0201a53515848635f66c5b35a65dc63d787d82355bcc6b35000000008742be3b5eff6e3300000000f216b2330c48a139959d3434ab65a3335c43d3340b870f35d0a5dd3426f8873429db383373f2d639ee27ab334fe17032e7858535ae0df6396960933506b93f35aa18da33b9432f3761fa4834c59ac133582192339a93d839f38c473583aa4d3409a06f34f6281c348d2dcd33c8f0b9332f169b33eec18931a3524933cd372e320000000032a6263d9735683f00000000e4a198339a22743d63a64d3f97f393333085c53456557f3da21d323f822c66343527c5328701323d23ea013fb4c9d9320b1a6035f1c2be3c1d92aa3e19bd4a353a1bcb336053063ce362163e49ecdf33000000007b5f263c52a5ce397f222a34997aa334950a1e3de42ef333edcfd1335f5216335d6a3c3d945e3d329163143200000000000000000000000000000000b2ed32352f66a1354e6e543588992535e0fc2b35e7844c35199c4435a71c20353a738f3366d1f133277123333e2a3f3377e8ea34fb8af73497b21b35ba9c223585af9133b69e0f34623d7e349ff069346f27ec322401ec3201259a329541a5327c0c003311101835f0ed6734c074b3320000000000000000000000000000000000000000000000000000803f00000000fab12d351a009435508a713fc51d263597402535ab3c88357ae75b3ffc8a01352b4e57338d9d8133c4052f3f2cbc1e33dedbfb343dcee734e2a4fd3e212505358ef897334b608a343c8e9a3ed47d11342eadb63229f6e6327fa1ee3db8a88e32a7e0b632cbdc32341323963a3dc293320000000000000000000000000000000000000000000000000000000000000000b3a6e237bc7284380000000000000000fede4738ff40be370000000000000000061e1b387e0c823700000000000000000dc210382f959738000000000000000070210a355ee9b938000000000000000000000000fb46a1380000000000000000e342ee37bf5bd338000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000b98d803f00000000000000001a098637da00643f0000000000000000f7b4943622fe313f00000000000000000000000058ae073f0000000000000000000000000e4cb63e0000000000000000000000000c22313e000000000000000000000000109a9f3d0000000000000000000000000000000000000000000000003a541230f80b653dedc97f34bfd3e230000000005f55253de7ef933400000000000000008d3dc8391fb9ec30000000005848a6324a078038b5bcf432a87908334afe5d343e2f0739911feb320000000000000000fc84a13cfd6d3834000000007a15c532ce546d3d15fea232ded4c032000000005f2c833d000000000000000069a3ae345c3e133d6f0778357cba1b333b3f972e33965a3f8b8b6138bc0fd23000000000fb62673fcba06a386239da3200000000250c803f47639a37000000005bdb8b32bb91773f84e2ea3226fe0233f2e33d33548a403f183a06340000000000000000c79e093f77f3a1341ea4603339096f3158fa9a3e8cbc93320a9bb432000000000d691e3ea298723700000000d02f6e34f7c2b73d720cca353d5e5134000000000f89b03d700215370000000000000000ead39c3d8b459537a8a55c3163e9d7310eec213df70c1f32f704413200000000581e943c00000000000000000000000068de2b3d927b1134fa7ae03102430a32e112483df1634532d1f86e32000000001bd09f3d0000000000000000c9745530b011b83dcaee2f31d839703148bc2931fe64a93dacaf7831a4b6973100000000cefa293fbf08813d0000000000000000d37e303fb827a7384578b1316068c531078b3e3fdda7c837a0fa3432000000004f9a4c3f485f47370000000000000000410a493fc0ad0138fdceba313de1fc31443a223f8e773b32f1b55f3200000000ae3ade3e00000000000000007ef0003041b5893e853ea0371c73583177331a3113f5ef3d47a26931079b8d3100000000fae4503e00000000000000000000000052fe413ee24a143700000000ff3e3f32551cfd3d7325c033f4c0a03200000000469ea53d000000000000000000000000e46a323de3fb96320000000000000000b31b483d000000000000000000000000c18b633d000000000000000095f99636167a8b3d00000000000000000000000030c37a3d000000000000000000000000230bd83e3258f63d00000000000000001218db3eea05c13b0000000048c62d32e5b5fc3ecec61838d1ee973200000000f8ec0e3fcd3aab3700000000000000003543203f145b4038000000000000000065a81e3f000000000000000000000000a65a003f000000000000000000000000f50cc03ebc9b37370000000000000000e3596c3e66df4b3400000000ad83a535eadb6a3edbd1a0367458b034000000006e33713e06248637000000005ea1cd2fdf43453ebec15c32f9d6283000000000cc491e3ef2294b350000000083f61634d450f23db6322034000000006ea19e349007983d00000000000000001de95c33ee8a803dc6baca2ff986a62f8bba4d36eb6a413d0000000000000000584e8335bd732c3dc53bfc3500000000299df934ee86763e4a46743e79e21935000000007f43723e017bdd3d000000008032bc2fd664963e3a0ee93c43cd203000000000eea9a53efb0732380000000000000000f2c4c53e1d2c4e3800000000000000005fbde93e24356137000000000590183023afdc3ecab3d92f922eb52f84a91734958dc33eae92513700000000e0835c35f5c5843e18b1423600000000000000003b405c3e000000000000000000000000e9bb713ec9bdb2370000000000000000740a533e000000000000000000000000508c453e0000000000000000000000006a96133ee7018c3300000000000000009687cd3d0000000000000000ab5e8632f6d2863d0f243c32661d1a320000000028f43f3d0000000000000000000000008a1ab53c0000000000000000000000003c5dc83d8fa5cf3e00000000000000006d40a43dcaf17e3e00000000000000009561ed3d2207063e0000000000000000f50b163e078580390000000000000000f1f8463ea239913800000000000000006d208a3ea585c2370000000088d18e320b31a73e78080836922a2632000000000770ad3eea1806370000000000000000bba0773e0000000000000000d0ee7031a5fcf23db96e27319ffb0531e35f26310e1e043e04674b350000000000000000e543de3d0000000000000000c7bc3f32d39ffa3da1f80732091fdf31070a8b333826fe3dc4b93f3700000000000000004e51c93d0000000000000000b5341a32b129773d2eedd431d9a6af31bd2caf364c97283d00000000000000004f06b7347003c13c000000000000000077498231b9053d3d7515253f705c103161fc3e31749a053dcde9f93e991a812f00000000d8ae2f3d92b2b03e00000000a5114e32d772113dd51c2c3e7120ef319a2d9831dd9b4c3d75c0a73b00000000000000001d44bd3d0d215837000000007f8c26324b37283e8c61ea31fe38bb31862c16349ace4d3e46ada3340000000072e44d33ab1b303e00000000000000001d38ff34790f353d7e5c13350000000000000000a1c5633d1b48803600000000cf8b9c32ebc3653d8dba4b33000000009a216e34a2872e3d21ffef3300000000529c84312ef0943c68a38c35000000008e0cf232a527ab3ba29fa83233b84f322dd1b43335ae3a3b0000000000000000347599340e50cb3c00000000000000003c3551349b91333c3d20ec2f0000000069b592340bfd9e38b527563f5d2b01340000000049ddaf387e633b3f000000004fc6aa328e189638a00b173f52c98a303c63e333a9d285388fa3cf3e0000000000000000a7b8c838435a703e000000005979fc32e10d1538ec77003d28157332000000002a3ca039f24c4438000000004fb716340d6d113d7e31b93600000000d36bdc335df6b13d1f7d9d35000000000000000000000000000000000000000000000000afc7b7380917fc3700000000000000001a0b8b380000000000000000000000002e97b3387611ce360000000000000000f9538e38e9ed36380000000000000000c7d65937e32b74380000000000000000da50d237f0899c3800000000000000002b024f389e373738000000000000000000000000000000000000000000000000000000000000803f0000000000000000924c0e3893476d3f000000000000000022ab9d37f7d7543f000000000000000093355c37e04a263f000000000000000027432437fa48f33e00000000000000000000000083e49e3e00000000000000000000000027fae93d000000000000000000000000d814333a000000000000000000000000000000000000000000000000000000000000000000000000d4b36b3745454c35b42f3b35240504376694c8378488193767833237218cb83791bdbc37f96d8b3682a8eb366da46a37e945d8372e867d3768b89337de02ca37ddb30038e218a437c1e4a93753edf8374435ee376133af377430b037c636e53789d2df371fbad6379835aa370290dd3700000000000000000000000000000000000000000000803f0000000000000000cfb7cd3517f37f3f7a5d70372cd62e369e57a037c2e9573fa4e0d03741dc8137e9285837efc52c3fce9f84372cd832379722bc37c45a013f4f70c1373e06b237b505ec3701ebaa3e9d64f037bfddc8374d46b437b1512a3ee8e9cd37f7b4b9372c9aa73739c95438baebc33764a8ae370000000000000000000000000000000099ae0e378d169437f5df553707b886372b551c37bfb9be3652bebd36ba966d37738e9237d1c7d8358b1def362ef1c7370d9a55371803993624210c3701fe6d37a688b437d9caed36ba533637f6fdec373520b13762e44337bc1474373e05c9375939ac36907ca1358da4e435ddec4937f42b2e37801b6f374a54263778ff8937e7d9d9367ce62c3783780e37acb750371bc3933627f37f3f93933538cd481e376cc71f35a0c67f3ffed3343a594fba36c25a403457e9573f9888a43bbe351637790f8136ecd32e3ff2653c38467b1e37926d993624ac003f87ed45386573393786ac0f37638aaa3ecad959385fb3803733031934d5342c3ee8e3b537f55be335cbe48635b5e6fa3b52179c376f81c236fce49f35898a9c373eb40a37a2b3c636dcb7d337b19a7538cf37f73756a3be3784b21537f5aa1837be7b093767eb103771070838f89dd537bc316937f9d0b9375adbfd370b009037e8af78377262bf37873cc33718662b3718bc3137496baf3727cbd037e1a0813769eb6b37e6f3f037d074e237b621e137b9fcd837053bf537d8a445378eab7c3752453637d3243b37ae27ad373345ca37c971aa37bd69c03783598f36f6fe563f06c5233e62fd61379c298a366f7c573fadf1213e4399dd367ffeba36313e343f15fc183e73fe0c37aa7f11374963163fdc8ece3d28b53a3755aa5c36904ddd3e7823873d8acb003725080637041e983edf053d3c6891393797d38237f428233e50715238fa37ba379243ec3661296e3b7f98a437f56913378ed0073747bd3638ded4b6376f7f4337de984937d7b94d38511954373060c236e58d9334f158c036c3df1834c5012f342df0f637ac69e3370b36563794e16637d5ba923703523537b724fa36223923379dccf43614bc7236cfb573366e3d75368e1ff637eff6c337b4f8863747b8a8374880db379089c3371f414537421f9b37757d3137e7d150377d9203371d5c003747e5c8374ec5d43702d0a0371c3fa8371fb26536a5482c3feb44a73e4eec6b36483b2032eef82d3f0e02a43e6af8c33372dddb36b193173fc30a8c3ef621df36bc8aa1363cd5f43e4e62553e125da336dca26e364eadb53e8cd7133e14ce7136d6f31837a784763ea2f5943db17228376f96c636bfab033eabe2d73b5bb3cc36e10f9936353e1f38ed74863781ae8f36e5005f37532b48389484bd3773141c37e51db43703994c387a82a6373f7d85361e033137efe836374559d836912fc236028aa33786d48e37ba9307362f3e0b360faa2b38c64dc9377f7f3036b5a550365deda5390e9b2638aa11b337044aba37b6ce203858b1e3376668043753293f37f466c6376516a237fbd7e7364dbf0837060d3537b7ce3937face1e3721e11b3720680238c41ff537f86d3937bafd4237d957803655be013f7362fc3ee9df7e36c5866936f9e4033f041cf83ec598ac35567205362238e43e3d24d13e7a96ef3567872036f0b2ba3e46a4a43e08dbc1353142ab3759f0873e59b06f3e22083c37725d53360d5d373e9fc7093ecb8a123656b80e366037be3d5ab2573db352093647870e375ad4ca38eabf4837280ee73675074937024d5438e207b7374d4384367492be3754b644388f4b88378837b036ff433937dc7a51370a6f833678a1823680c2f9374c5ebd377c48bc36a54cc43648fd1438d974cb37942edc3639030337e99241371e357736ecde71369f387236c1c5c23742788c3781000e3733251737737b1438a7040c386a1aaa376f3b99379868f136b0d29436ef369a34e65b3b3440f0cd37c22da637ec691c37944bff3644e3a436596fad3e6b39293f1fe21f36d1638636bc2fb43ef6dd253f10287236a328c7367b52a03e54350d3fbfafac36ed513637d605813e4462de3e923b9e361b7b73366b173d3ec5d3a13ee63261367c991e37d984ed3d0f0e4a3e6988a13675f0a337f2644f3d563fab3dc8a50337fd449034cb303438eb70af37f2570b348e494837e6f444384aea8637ff0b7336fa14cd37464e2e384d1f1237cfe07f362c6c8237e5178737f84e35366618c435842403383f5ce337a494413749ef4a374c092138acdfce37e076b236be50d93626ae2d38bd42ba37d5b45836e3cf5b3685514238bd1518383e193137a1163a375b934c3815a33238a81059375a4f5937d3fe57376137483787350d37881b03370aec0c384664fb375bc1ac373dbb9637c565f036bfa8323eeb43533f2d9c58360ba3de368326423ede864e3fc4e9a9358cd59f373da0353e5dbf293f746fb5364baf3837df36133e2c250c3fc086ad36bf413f376276d23df541cc3e1c814c36c629ac379bda5f3d078b833e365706377965e037a6037c3c521c063e5aaec736e34c19376ed7bc379b988e37612bc936e6efeb3771346e38961be63718351937372c7b37acab95376b0a933574357f354e3fbd37825f80372cf94a35a6ce4f359879ba37613fb836e3a51e34016d1934e2432f3880e9a9377c210936677b0936f2a31638008fa5375d247c32435b803242808737c23a5c375cae6f36aec2a036275118383db3cc37af0f343652d92636eff1b83740c89b37117fca36df146d36e39b8d37010358376821d936ec86be36a32c5436a94cdc3bcc3e7e3f8e663835f210893650de033df9c0753fd63e043531e7b235892e023da6c84c3f4a6514347ae396373fd0ca3c0055243f74adfb3552638837e36ea23cd562f43e0aa58132b3c75537a27190386c3ba23e26c44d362301b237e9ed6839d6c91a3e954a8f348dc17f3705e020385b1a1b385d9a2d352523843780d1ac3789ed0f374204a53600000000000000000000000000000000df4fe8379ec6b23788823a36c75b4a36f82c0238fc3db737daee4237552b6b3765f8033869bfe03721572137e0244537c0dcd037f613b93708433e37c52e853759c39337136c5f37b6f3bd361e021237abc1ce3764c0c037a198883781338c3740953e3728cb433704041c37e6ecd4360000000000000000000000000000000000000000000000000000803f00000000679bad3756e41c38c7ee7f3f65be28365febb73780361239a652553ff2584237e414e13781fbe139d5582a3fa28946379243ba37907b85394708fd3e721c4537db00553735e63c385156a63e0abca636069ea73737f4943945bc1f3e9f575037fa2bd7369010a237177f13385f44c4350000000000000000000000000000000000000000000000000000000000000000b9be18385ba62638ef501436bec0883614c52b38bf8f1c389f473b37c8875437a83d9b382b185938a0a86a37ace9b63709f7a4370c7b783701e0f2362e351337f80f23389d841038a6a8da3798430838559116382d811138b38a7b36958492376147be377a22cd37f3d0853735bdb33700000000000000000000000000000000000000000000803f0000000000000000da483637542b723fdcdc743744101a369187133835d64b3f08a00a38b1a8d836527c5e38faa8263f8c523e38f34a6f376207883780ee003f637c8837addef936d13f153899adb63e413e0c38c6b2da3750d8b537ef46583e751b7a375f8988368c1895376460813d7d078a378ddc813700000000000000000000000000000000cef29a37743dbe393aaa9f37b8103f37b7cca837fdd0493abc403c373ed9ac343422cf37e9f9183871a13d37884022378d711038c0552e386b4a8237a6e34a37bc2ec0379b350d38e1ef8c3719fa8737718559370629a037dd4b1d37a5e13937e752b03750fee73726bcc0374870d737fb8b1737f8e19237b0fc3d37dc987537304deb3792270d384376ae372adac937e0ae863606eb703fc5ee6e3d8a5f343785a07934741f643f011c753d6c9e7a349eecde366019423f4e093f3d0497e53629376937f43d1f3f2241d83ce4f99d366fea45374cd0f53ec4ac413c6688433760b2d336716eb03ecbd7bb374aaa1737a2786037649f523e7befe5375d3dab37909f2035317b8e3de6774f376a3a1137ba7f91373fc43d384abcbd3776496f37d77f8e375a943b395605ae370e95ba36e07ab2361dad223c41a1f235eb6ff43594674137b74b71380781a13683553a34e34bf9378d3166389c4284370b001d3629fa2f3700ae4d39351501378207a536d629b0374fce02381f02a037e0b983374960a337a1e5d439dc43a737c1368737b9370e351b0e563723ac0e3523450f3548a8a437c5c0f137126079378f6d5137cbeb0036f6024b3f4785533e0c9dc4364c36ed35b86d433f3b76493e170ef3358ab431349089233f71a9253e27b137342fcd0a374f08093fcd02f13d32ada633a247ad35320cd33ef501ac3de9301b36a3c1fd36b3e9993eff960d3d48004b377079ce36ebf4413edf43223bf7701437f0c40d352645853dfcb80e354bf70e3515583f373c0f56385b899a370063e9363cb669372eeec739ed1a67373c431336c12f81376a87963aa4f18836707cdd357cd90a389a0c363a6fbf3f37d2cf0c36f0708e37fa1b1c39e76513376baa28360ff5ad375a3e07383e2d1a3743a20a36ddc20e384a5430394251f53752ba9a377128d437ef37b23988cb8f37f238df35dbead4371f7bef392e16ad37aeef503772710c3852d84238f964bf37b8e18b3729d21136116a263f6ed5b23eb2691336052cdd35b4e3203f9c85a83e9144de35e5722b36b66d093f1f4a8a3e2a110f36e500ac36b945e33eef01593e8bc32b369b4a933621ccaf3e64931e3e25f80d3647bd9c375aba7e3ea3faba3d47fe6e3700000000314c223e8cef983c87543434941c5a37d2bf693d09e40738c803c036c890d3373b489339ca5afa37a0c32337bb08f43799177b39f93bf4372a9a8336ecad9436e066393a309b0435ddbbf4344f07cd37552c7839d6f73f37cbea9436e293f637f05572386c110c37969aad355e42fc370ecf7339e143b737698012372949dc37f1563b3874914b37e0141736e199c3379d0a2b38945c6837038b283788d080367742253892120e3553090535c6f50b38dd161c38ce71ba376d566737e2ba3c37ff3e013fde35fd3ef678853604edff347c3afb3e880eec3e2647fa346b47373724a0d63e1eabc43e596a9c36e45cf036996fb23e9dd09d3e84fdb435f7d0a437451f883ee15b6f3e2b0c0237a1c8f636a1af483e2495163e426cdf35348344373cc2f63da0299b3d1af41737f3aa05357345423ddf339f375e79083518a3d437b9f06e3842cd0238056c00375162f237c407183a9b2c0038c0d7a2363233e1372f23943a3b7c873775e18935f39f1b38e3312b3a0000000000000000d06425381c40a3397068a4370e4f98354b27bd3782210838c6d4c4369255013642829437e371f2371795093777e92436382f0938a143683997ba5b3797241036aa9d8337ccbc9239705503370190e535abe7953787acb03704451e3724792a361d413d370a24b83ecda2233fca4dcd3648001a371960b33e233d173f25ee8835ae169f359a62a13e76ab013f00000000cfa8d73720ab823ebee5ce3e8c2f9a35bbdc00372d55493eb3199c3e105e023614391b37e4e70e3ee242513e33582736f4204437ccafa93d4e7cdf3df9040f365520a636b4fae83cbffc4a3cb2ebe035362c66379d9c5c38b82d76376fee143695eda637e10063383ce08437e394a5356abe0e350a1df839371e0d350d680b353a513a399d4f3c3ae2a3c4364d584035b432f2377060d63b29abc736f0f7c53597737237bc617a39bce0b23577b3aa34b012133827fd5d38c3eb1437f98488337d2243371e24e3377df0783694af2e3488951737dc3d8b373042f835ea1ef035d983ef37b2d50938d4230e3776030e36a3d5b93637185b3e6625493faeb6ab354edf0f358b03593e89f0383f36800c35364a6c37af89493e2d1f1c3fde4e50355ed68b37699a233ec630ff3e6631d5354dfd00377336fb3de9d3c23ec232ae3414148f370e89ad3d642d863ee9b79a333bc7e436adf4443d15ca1a3e39e32f3481d5f535b5912c3a64f2ee3c3a50f03576cfad37d60a95387ceba837e84cd8350fb2ee374ea940381746cb373ce369360b638437c84dc839b4d02035d68605357e65ee3747262d3856ec2a37c18e8f3589cbad374016d63782729b36f3281c35f8300f38b05d4938e2a8c536361627346a59183813ae3838ab2cb03600000000687fe837f0320d38fa7707370e744d34e617c337cff3be38fd3cc536e7377734cb00d137dfc3cc37b6401a3751916436530c6a37dbc0893ddaad6e3fb5b06e36d4f0ff36140f9a3d11ca5a3fb3490b35866db937bf4b913d3320393f32ac913564a9333767ab823d2b65173f841822351204aa37309d4f3ddb03ea3ef0182b34e574c2377c46f53c0b8aa43e0000000063b69b37134a043cbb563f3e4ce44c34251b8e3754ae573a4a91413d560a7a345d54b937bc800e3815daa83782c29a35000000000000000000000000000000009c0fbb3774fafe3790828237c759bf3658e60a38fa228a382df8df36d212c03586201c3886173e38f655d237a5f4de34b959863719aabb37473ce436f7dc7436948c35385ec2a13823ceb0372880ef36887cfc37e1f12b388346d937c0acb536d1501e376055f1370ea12937843327360000000000000000000000000000000000000000000000000000803f0000000040188037a9ba163839c06f3f320118371d45a4369a71b63996c1493f1aecc3359c1ef537fb9794390177243f2934473730791937dda2083832fafd3e3f3c9836eb5cba37470f1b39b35ab23ea1ff173742bba23770c144382234503ec154eb363536bf36208a2638fd2d5c3d0bbf013600000000000000000000000000000000000000000000000000000000000000006964313a686b5f3a92034b38903901388a17463a366c583aef2b8f39cd562e39f602063a26c3043ab6fc2839e1b1be386e1d1c3ac50a3e3a53cc853907442f390409c539c500e939daf91739e5c8bf382c7ed439b546f53966b19d396e129139901dac392b50ca3957e84539a9ff2d3900000000000000000000000000000000000000000000803f0000000000000000a167083a7ed0603f17a2f7390e5a0738022c253aec4a403f4cdce539b9274b396de2e739bf10203f6459a339a2f9c638765cfe397ccbfe3eec7ad139f6f43e39b5259439757abe3ea4be70394cd8c3380439b639cb86793e53ebb739bc498639744b90392398f23d352e6b39abf31c3900000000000000000000000000000000d4f80b3aa1104b3a5c8ac739b7d5c038c193433a0137883a45d10c3aebec3f395f4b0b3af9d2803a0d884039ac955d377567373af738633ad33a043aac1a9f395fc2033aa3d5283ac006a539fd7500398c4a733a0a95e73a5c1869396b05f0389491ce3986201e3ac31eaf3989518239910069394dfa743ad7f20639d644a437e8d6c239f8d21f3ac50b6e390118ed38c011c3392d01613f303cec3de0b0493958290f3a3a82473fc440d83dd3269f39ac5b1b3934432a3f509bb13db2c28e379c3c163ada9a0d3fc2cf8e3d865db739e776cd39ff40e23edfd9543d5abf2e396767a4393055a93e2ea8153d12fc0039de0f8239edd6683ef444f1392d2d73393a01bb3858d6e53d1060543970c5a737b8c5923930a1633a201a9439e882f83842fbbd396eb32b3a04b0a13903150438a443173a4261e23ab08e68399a3499376d21d639ec449f3af8305b39e22bf1373dc23f3a640c813a7d1e043a7791e0386fc49d39d5a0563ab7ed12391cf9a7379ec72b3adc30623ad174f63944a724398993203a0021853a298ce439c1123b39e68c293acd64833a8dafdc3938321539a3c39939bbdf813ad5012a3881d1dd374e3a5a396ed0403f0a74783e5888be3834412f390f292a3fd1885a3e9633c537e6d87339818f113ff9ca393e1733023820fe103a99caf23e6407193e13937339e2c22639cea1c23ec6d5f03d0363ca37d58d053a6da9913e8efdad3d0f5b7339fc3bf1398fb6413e9be0593d1fb3693901f3073a29c6ac3d9fe6eb3c2a723c39124a723857c1bb3a431486389f67f737381807393c0e363a64ffd838f9481238c4f074396cc6c43c1a186438755874372e28b6395347323a4266603945a343380728e93975abfe3aef0dbb38dd8c9637fb5b103afa404f3ac4d6cf391fee9d37bf5d413a6e04763a6a730f3a66692639a6741439caf7e3394ef32838df9d94372bcf0a3aa85ae13a38b3b13904044638854f0f3a265b313ae91ac039daa0b338fbae29384e5e203f5c10be3e4fea1738480ce2376f2e0c3ffda9a33e8d95813729d0fd3807eef23ef6528e3e0cb154383dc12c380925ca3eb57c6b3eb95fb83731d7c139db0da23ecb87393efc21d938284e1a3acba8713e7e5c083ef7898739e61a4038f323223e746baf3d079c9b3795b6b7391fe59f3d0431143d3ca34a38a258ed397bb26d3ac650013adc9e13398025f13955b6a53a6b90b3395b13eb37015ed939a7afa03ca4c798397e6e1138bd10c43925f2233a9f3380391904593728261e3ad81dad3cdee1013a5c0c4438d427e539ddd7b43afea1ab390a51f737e82a253ab77dac3caf8ae439633e5338e295bd39f7d4163ae0497a393c4e72377173cc39b5d9273a0dd39039cb8739381836f139b57d883a2728843994a708388b2b15391cb0fe3e3826fe3e0cda28381b592b39e29edf3e1bbbdd3e00a15938c940433950acc13e04ebbf3ee8beb537ec6ad239180d9c3e1356993e4c6c0639e3baa13954b5803ea6ff7b3ee33b9f38d18ff639caf6363eeea12f3e33b3e438cac55e3939db003ef20ef23df9919b37853477394d226d3dc0174d3d58fa53382d9d9439c198a13a8958203af0f51a38214ef439f2d15d3acd5f0b3a02daac37e6f0003a40fd0a3bb6c9e6390e2d2a3882d827399e1e0b3ac0ba5e382fda7937c595383ade617c3af6ee1f3ac5551b388eb6103a8e644c3a3b4ed239235fa63757eddf39322dd93a547baa389108713775a1c039ebbe143a3e063d39b06d473882d73e397c7bbe3a2a58b23819338137e5e71f39dc2aa639a7bb7538c6ee1138360f97391bb7bd3e799a1f3ffe733a39806f873913b7a83edac20c3f54c64438699d1338d515913e9f3af13e40b9923755450a3a35b1703e0f68c73e984e7a398a2bca39c582403e51a99e3efd82be37509ab038afc60f3ed4846b3e946e9f3754086639f6c5bf3d72a01a3eb9a151385b360138d5fc253d9446873dd6018437d9439238a6a80b3a06d44539f51d1338d40a7e388197a03a9487a7392fd097370cce133a8630bb3a0038233ad26d5d376a4b1a3a1fcc8a3a3b35063abe3a913715a0263abb32643a60c70c3a590907384ac19639866e4c3a396b363971834e371226303aa0466b3a3377163aee1dba371bc9c03924e16a3a654885393ad8eb376698f33979d7a13a687b8339f317b5376f27c439c451063a8f42953943a4fc3718c11e38602c793e0383403f25c10438a0fbc139f78f683e8254273f345710390c22dc39fd143e3e2dfa103f76bba83858e6ed39b19e1d3e8737f13e837c143961633339ce96003e3b5fbf3e8e4eac3767f0063a4100bd3dfc568e3e63244e3973536c39d1e97a3d2a453d3e92e8fb37fc1a6d39b9fced3cf30fb43db5fccc37f9f8a23927cf0e3a1334e339bba8063862f3a1397e3c303a6ab1cd3974c0dc378a467d39f0e88b3a41134339bddaa23651eff6392b12253ab3fe90396af7b5365827473aa882f13a088eb339cea66a370ef0f4398631283abeeac839d1ae5c37a1712c3ae508593a35a2133abb5a8537d2b99e39e996513aebff95397438d1368037363a1bb0683a23bf173a468cb937b45d003a10d9283adbd0e53930f7ef379b9c42394651ed3d6e2e613ff79409381f7bd838fe6edb3dd101473fa29e56376b09b2396d8cca3d6c622b3f3d09b0376c8b8939ae7f9a3d02ee0c3ff3a28c37b15fae396187803df6e2e03e6ecf8a3865120d3aa75d343d3571a73e87355e39b3b0303954e8e93c30565d3e743d213723f1173a0f7d783a48d2dc3d76692539fc91d139179b2f3adf88223aff42fe3800000000000000000000000000000000e2b59639cd13da3975c1b039f23fb8376924cd39432b023ab9b5bb39d582ec3760d18439ad58063acf8c9239827a3a387a90cd39900d423aff26d63941b2ee38ed539039fe8eff3990ffc03955a085384ee2d13988b4513aadbe003a8c474e39e208af39e621373ab378033af30e0c380000000000000000000000000000000000000000000000000000803f00000000172f553980f7dd3987c5603f0dadcf38a333a739bfd00a3a4c6c403f76c32a398eb038395b08093a84d81f3f13cec638ac619739400b593abe39fe3e7787873908ba6939a6570a3ad3aebd3e295f183990d6a63924c4533a320c783ec8369139c08e2139a9d0333ae805ef3d650f1138000000000000000000000000000000000000000000000000000000000000000029ed5736d0384636346f4b369fba5136c7e302378f742736ba193136ca6bde36d566aa379d68643630e8e936d9429c3748cd9a372e6bc436a8d11237be7b9a37739dae379c6f3a3727f33d37e5ec833718ca06385e681538befe063874221e38e37be33710720c38131ccf3711a5cd3700000000000000000000000000000000000000000000803f000000000000000074d84e3601f67f3fb391b23723645b36f3fb6137319b643fbc218b37e3f04436fd35c8379366323ff673fa37ca2491378d909e37de2c013f94330338b3d18937d8b9cf37d8e9a03e92813d3823b86f37e831dd37211af53dfbe288385bf21538d55d383787fd803a35f11e389eedc8370000000000000000000000000000000016633636b2798c36c870f8369843913633afaf363b1db636e82abc364684c536bdd2163517731535e4f71935ca664e352e5aca361f9bc4350ac30a379f29c6370f10e736e867ee360541d537ca9a1138f8f7683520c97e35216db835c6c69f3667a80b3630800e3776700c377bba2737bb780d375e03f7379b40c6377d24cc37ef690037494d833714449037250792371f710e36c2be7f3fffee813a1bb85336143c9b36d4e07f3fcb5ac0398e45c13680b1123583c86a3f3459e138bbb22435ff6eac35b49d373f1b857a38b9638e3788d3673656f8053f430dad38f5eb09389b782d35dbbeaa3ee863ca38c64649363cb98835d8eb023e6c7be538f5a6e836b2c1b536d681d23a91975a384d978b3761a2e73641560638cc15db37465335370a3ab836e6d48937cf238a37adb5c536ccf5b734c11cb5348fdcb6343162b434a2f50636a0a9143652f47f36416e9c3684e92836fcc32836af549e36b8f40f37528dc834cc32c8349f4ec734e389c7345c78883652f38f369f0c9d36c6289b36ac37ad36789da8377e35883744193737015d6536b9c98c37e4ccfd3613bc75369a1e2737c2327837314462374d0b43376c22aa369061603f5a64fc3ddf73c4369b23b7346a1e643fb01fdf3d718db4347363dc356e414a3f5426de3d98f91e36e83b1b36ce46253f7e5c843db07638369edac734829cef3e9f4c183dd6c2c8341c047936ceb19a3e6a78133aca309936200cc835ba9a063e8d9b3f3a445adc3646374c36d11b1f39d14d49382252773616e97536a8a2bf37fc0f98374e1f0f37e59f973636500738b37d4437a7e667366a75f8358e13a036796a2d3684660e360b2b203675772436c5872636b4ee2236c72635361450393610b02d36df832b368587b6349442b93417a5b934186fba3447fb473747a3b437fcda9b37e2514737b9fc54373ab4cf37a14b8a371a594d372ef4163504aea6376e4d6035bcf261352f62f036b3ce0a374cc0f8360d71f436bbcb3a3606fd303fd6fd9d3ec1e34336e3eccd350972353f7123953ee935023623e6123654f5273f1241823ed8421b364a8f2c36f1e8053f0d5e3b3e86c52536e5b4b5342a02c53ea281f73dc57fba346146b3366a317e3e9df3603df01b0937e1ee12368980dd3df3cc243a627e0837f379f434ced6c3388e275138d65d5035b214e7361481d03760862c37d2a8f03690051f3722284838081bb337e5b0a736670bd5375a2f47387f02933783819636a5431c387a702f3842748737732e983610c7293867e93238d8a2ad37da0d413761ed1b383c0d3138b7ded63703ae703795d5393822d26038706624389a0b003814393d3801c87a387676453801021238165a2a38260a6138ef271338ba69c637249dd637108cfa37fd3a3a37275df336b24a9b36f7cb013f9257fc3e6d7e913640cb9436ff67063fe415f33e64338f36c4297737c6bff83efbedd13e20c95636fd6392375686ca3ef2589b3e3f6da235d711ac3703c8903e6a625e3e2389a236de01bb37f86a423e1670e33d6db19537ebbdbd37dfeab53dec0b7b3caf7ec43732748f37f8a5b83814228b38578ee43680d1fd36d8e67238217a0438a0e2ab365c1eed3633fbac379f01e83639a3d7362d652f357a6144374a6ef634f353ef34c6c760378cf9533736a05735849553359a04a737e17b833736419d3653b56836a53eb8345598b8341258b634457eb434d0123936eb6c423659c73c367cbd3036731b21377d77273817173236fdc2223686ffa3364a81c836e30721366145fd35396a3d37c0b741376d44a336ac8c48360efce9367faea43efaa32d3f74bad23655510335b067af3e0844283f7224f0342d9ec0369f5ba73ea67c103f2400583555d50a374b04883e45addc3e981d63360697b8344ba84a3ec8e2973ea990b534512e3436374e033ec4d5293ef9af2a36a4dc2d36e02c683d757a063d2cb21e36379b3936fb332f38f7267037558df0355bc80c37011b8c389d8522371fc04136dc9e7637cf22ac3727d17836b17f65363b4eb636dde61937fea4343688823036a6fa80377da71237ce91a835be9494354376cb3658bb91361b4e7036fa836c3624ec0c36f4c66735d3eec63477e8c634b0a1b537d957b03764162f36b2f62336d05d7f37daa29a37817c8e3660480d367c81fa366e090737ec31b8344fcfb6344bfa4837ac9aec36a4c8c0369752b936b9e112371fac0c3e1ccd5c3f6483513658fd703636a0223e9d53573f4d4e1c361677a1363b80233eba49353fa96982359f4b983623da113e52150e3fc0075f36e9b0c8348c92d23d42c4c83e1286c63445ee3437cb53843dad6c663e330c1f3693381937aec3e93cfd84953d3dd0fd359ebcb534953cc738296fee377da0b7348fe0083775b609384a2dbd360fc8b536de4bb937596cdd373220ec36fb95cc36fb4ff637d4169b3764baa2361e69a23620365037ade61c36800558354d535d350aad1337b2cc9735fd152835dfd02a3534d33738a5d70c3803565436c32d5c367c8d033820a1f237d761bd353080b03510de9b37d51ded37e7a51935f97e1e350e7e9737b6baa737f17bb8360400b5366396a136a32b5736821b3f36c3683436abb85f3702d4263c6b637d3f703bc33640d9a3372a7b0c3d8ac8763f76329a36f8c4223770a99f3c27475a3f4be856357ca3d53617eb0c3b0b162a3f83e42435319c37389a40ea3aecfef23e5ee750365768e3374616533aae5b903ebe7a8135a6d83835bb273a394c50a93d1b6014359b7e6c373de3a538d2af7f382d0ab03611839a364b420a388f0245363d592a3600000000000000000000000000000000605ae637eff7833719b13536bdb13236a56228385d9ab237506131360ef438363683f037ec208037c40c70367e5e7336243ec3373009a437c0ef8a36f7c48d36d3cedf376f0cea379f985537976548377a4541377ef5c0376e58a837cd4b49372b1f56368cbc8537c3a23c37dc8464360000000000000000000000000000000000000000000000000000803f000000000816d83793c64b38adb47f3f4333273655112738e694a738114f613f8c1a3436412ed5375e068a38547b2f3f7e2a8936ea03b93772273c382793fd3ed597a536041ccf3794364a38ea099b3ead5a8d37c23bff36f76135385813db3ddac190379a1559365a471d38b544a03899e25a36000000000000000000000000000000000000000000000000000000000000000013fc8937bafde636b9ef6935183c8035a7d46c3710064b369b721f36c7ec23369f8e133649bd003656d1e4355b4aec35d8e63d373c70123697cacd35af1bd935a8485b37804b7537ad7b2f372c7237375a256e37be67103885efc337ffe4d937e50ed235685a01387d2d9e37c47fb83700000000000000000000000000000000000000000000803f0000000000000000b3c22637b3f37f3f6689da362db27e3542977137c1315c3f86016236da36253652dd063639cb2f3f7488f835e5c1ec35eb800237784b033f6c305737aa54d935610b14374791ac3ee0fa8237a870283773cf683634e0293e86c61238d438bf3737149635b367673c2431e03716579337000000000000000000000000000000004a6f8c3482117b38f5a5103871632936000000008518493703a311372d6417358a3b4f36e5065736412a6636f02c6b36c005963603b1cd36441ab3367cb3b2364b27f733fbb9c8365e2a003671417e352db0aa365cfc0437f1b4bc366738c4369ac0e935a5420f3880b8b737dd15a137fbbc3135f82adf37e31b04363db31236954f9f36adb625383e6086378024703744498334a97f793ff8ffcf3c2c73523600000000f8ad7f3fdfe5323a94d61b3504773736e4bf683f868b08386f73683668026d364b013a3ff08d51388c64ab364de0003452690a3f2eca1e389ce33735f8509a36fb6fb83e7d564738038cc23615acc6353307393eb4fdd738d2b870374968cc3318169a3c2926e137486c0d36b1389634c6afa43847d4ec370a5b2f37470cd235e8cfad38f7debe37a30e1836f70740367a8f2138c445653628695736f7c152363c626d36aed96636ba075c360828b136ee44183730c2c336ea2ec336f8147e36f1bf2637bc4e883639338736bf128136a73ea73755a4c73679c498365701313677612838390a6a36c1806a3656cfa03632741e3817f2b8361d0db936e61b6d37352bae386544053860e4433620ee9835bdf4523f051c343e5f2e1136ab2418360beb5a3f157f133ebd44573635f33636fbf3443fbb9fee3d62945836cd75a4361b91263fd5a17d3dfdd1bf36b4e664363951f53e9ca3373de9128836da765d36e708aa3e774cb538ef749736e5ef1036e9ef363e66685e38ec3a6636a18d8736ae06af3c192ffa37102eb7366ea81c3644a6d839a99b8638ecb94436fa298835f65fa038a5c962371536933574c36536083af836c5606f3646145036f50694362551dc372fe087363028793698fd1d36ac033336bcb014366e7a0236b69c663612e1703711316f369ec561365b27c636c923923771d7ca364d69c63617bc4a36871a763652fc5f36b8fa5a3690ef62369fd11438008b6e368cf85d3625d2c237c9f99f389314663621511836b2962c35db452b3fe36ba93eb4de9d356ecc4236e35f343fe390963ef2ec5236219189361f0b2a3fd4b6663eba747b36ff87063642ce0a3f6c89223eec9d05364e4c4c36104dd33e4294ca3df0156436cbf4b536db26923e8ee31e3d126ac736f5292b36e951203edd9c8d37b2e45736c04a41363f64af3c6c91b53762645f36ee631836b68d54399cea2238a2171e3691634236b59bd23803a9ec36a9581334fa16b435e4654f38bd45a43590fe353529b0e035a3d6693819f79135a6348a35245791362a8a8637e92d683613673f3626c73c35edb9083866b73035688ff734f7cf82360a04933724f96d36f53f5d368215bb350ee08d385a9fec35a048b7356d78ba35ae99ce378a65b33596ca8d35ae8f8237ecd44e38047f0834e5370434bdf309340880023ff6d5fa3e150d1634f9f390352e020a3fa802e43ee37f5b35816cc8355667013f0a58b73ea1688d35a6f06236c516da3e6b5b853e122148362eac1d356dcc9e3e4f78423e9d5b0b359b1465367f516b3ee18fab3df3b960361c128f35a35d083eab5f5c3bf06cc23577ac9e3511b47e3cd5ae303628dd993519003e366658a33930440737224d09348ae20a37a207f538e803a0360629f3359bf16a36f9f31c38d0a2473668950f36aab65e361b706a365a6a2b36f02af83591a9c736fecb75373e0ab83696a5a436f4ec743614858a379f5e553649e23436f7fa2036032238366f0e1436e9c3f23510128e36b04f1038bcf2933654a889369f787a36e8e78736eed95c36dd8c3a3691ada237f978dc37dee582350f4bef3460d81d365e7ab13e6234273fdf66fa3550d459367997c23eb239193f09b91b36ad395236dfb3b83e9233f73efa0e0436c555c636093d9f3e07c6ba3ed3baa736bca1693665fa723e19a8803e7b504036a1dc0f365a0f2c3e6663063e052fff35d47c8836fa0ac83d13b1503cc0a58c3685c26a36be01c93ade567d3683604536ffdc8336fcc1ca38238f4b3632e426354b8c2e386563eb38b06f1c36456ade35f404b23645e0153821c08a36bd8e4536fca941371872103865ab0b3627e0b8354b6b32372cc89337c915603663e0283608ca8836ab35af379a5c6b36cc4f4a369cf9c336f5a31f38402dab3643bc993624d56936de1fe836f3b64d368f9b2f360d3aed36b5c2bb37e0cc3636a88f113619319e378f99f436be3cc735865b8f3550f3ad36e781423e3d3b4f3f79f5f535cd5fb136eb25653e2e41413ff13951368d155d36ae92573e04601c3f21ddc6356e589636db0c453e3377f33e22d338367e838636e9480d3ed92dad3e5b9c51361285c136c356d43d5d403c3ef18b9e361f136436fb1c6a3d64686a3dc3d4343678d0603632d0583a3da35836bc581836f9639136a89ac838581df23561c696356ce49437df355038f47b6d34f789f0335f181736cb34893639f9bb3334d18233127de737def9dc3723d9c5356916bf358743da36bcf43637b8d29436fa1f73365e17bd3613013437d7f0f733f16ede3301f01937374d73379d4277364ecf2e36046d69366e1d843737dc4a3617b82436fc334b378f027737000000000000000051599037c1233d36a3268a34fcb65d348eed35372ca5283dd46c753fee0d00347218fb35ab139e3d026c673f6bf8a3334ed0a5373314773dfc3f423fc05ac33548afbf360154443ddc82173fa4018536fc6a1c3677d3f03cf522dc3e39b2f4337f4ac0369979883c7b74833ebb8744363af06a36f762d13ad6a8b63d827b33361c82fa3697750c3a5b622c3700000000807c3d372a379038e54b9d3431117934000000000000000000000000000000000026b2375715963712117f3514bdbc34cdb2fe378324fa37eea88c35fa1e4635ad12733773bfaf373ba2a036a4c37c3652537136d5720c3873466435719d2535e0bcf23528bdf636d1910736f3d9fa35e8883b365250b4376d4c823710a45b36eea75336ead3eb37581eb83730254b350000000000000000000000000000000000000000000000000000803f000000006f6e99370ec927389a517c3fdf590e359bf2d9373a305238a67a553f30db4a3592f54d375fd49638b9ad293fea129036aec8dd3518b99b38405ef93ebfaf5035e6e0f335e3091a38495ca03e8f1e003638b231365fbbfd3725380f3e01ac853669e19f35534000385a94f83838b26d3600000000000000000000000000000000000000000000000000000000000000007ff44e38c23f2838f8e31036cc9fd6353d8087374993d3369a262936c0621a360dbe543805b95c38ede92436dea7ec3567f3bf37463358380408c03675093236f8be4037b12c043849454a372fa79336995ed5378670b038666d0e381cc1b2376fc789361d31c439dc2927373176273700000000000000000000000000000000000000000000803f0000000000000000f5a126385f62733f068ecf36e5a4f435f7d3133768334d3f84a9333699472336bdd10f388faa273f8787bc3773590736db891537b0c2023fb0ade537f4d33b364d0042368a13ba3e4e01b437bb1bd63658186d36caf85d3ef7c15738ac3bc137192e9035fb1b923d619c5138eea0113700000000000000000000000000000000e4ba20369a06e93948b51e38d017b836ae003e371063613a1b605c3721cddd362724a2379c3328399212dd37ca6aad369f478a3650498f3887452837f2a73536f1cb05367840c33998a8003888ad8736c3294a3665d1c6388537ea3739d7da36679dbd35fbc0293ac3a8263884717d37ad97cf353839383c5ea76d37e8b72f3727d5903748ab813a10415f3868da12383c60ee35c8306e3febb88c3da1955e376276b7367a206b3f5e804e3dd351ec367fa78c36e959483f4be4153daa20af3654b10836a183243f3386e83ca89d623678cd013641b3fd3e430c8a3c5cd4213766cf093676d7b63eb568133c661ffb361d3fb935fa165c3ecb7ef33ba522a137c0b18235852d9e3df102f63b32fc2037950aed35b69c913a66ff863962971038a089303633807e3a8ae11e38d57a7236b1ea15374420b43a45891337836960354db3473745a2163a85685137610d8f367ef05d375c99f439593713377fed413659cc76378ca62a39f2efc137af84b336ae12213752e3513c69ed8237839607374c6f95372bc28c3a387f3738f7be0d375db92637438a813a8142c737bf35643799a6a2375ecbda39d673de37b342483792beee35cb1d493f1ecd593eb6509036f3096435283d493f24ea3a3ecd3d65351208d336787c273fc5771a3e03fde6362eac1a36d1590e3f640ee93d47bf6336981f91364823db3e567ead3d787501374819b93631439f3e5cf5373d4ab125379911f635a0c84a3eb723b53c78292a37304aab36fa8ba83db99f883874af7437d343dd36aa7bd43a64515a386b8060370c599b37a6af313c15f50d385443fe363512d3357d9c143a6e97c835cbf34535dddaf437471caf3958180336b3c2fc35ceef4a37dab2a13ac91a4c37144e2737be27ab355675de38dcd7c535d95c8435f7fe2836b7da003caf024736953c2836c9657e3655ff523a17efff36b6196b36c2959d37209ce2398c5782379bf98f36276c0336ee5ed338120d0b36164908366217f836034e233f1a12ae3e93c00237b3ddac3519c6253fe4889a3ea8d8893565a9003679270f3f39787b3eac0600364b4b363718d4ed3ee29a463e69f53337ab4c8635c2dfb93ecf07143e8fbc9f3518041436088e873e4378b43d3ab83736c49a073692002e3e62a32a3d2cb77d36f41956369c5aa03db1dd7f381c2ef936971afe35bcc4d73ad56b3d3761920a362e7dd8378cb28a3a6992f0370af2a735a9248a37cede163a6a271e36e5a89835c45ce637efc6f53969b9383615e5fb357c0bf637df3fba38cf53ae35b6bfa1356346b1374c73943aef9214367e0e9035ec8ecf37fdefb238e52ac336530aa43593a688375a24063ac6932137c5a31b362e933a37f57a8f3937f6df3636cdac35f40c2938b2446b3983155137ac2bb4353f19f435bf30023fd444fa3e1af5cd3580bf33368620023f2c7ad93ea9629e35c89e3736b45cdf3e8d8db53e32dd13364530ad359799bc3e11968f3eade6a635509b02369730903ea87f5e3e9a3d94350fb9ac3571615c3e5e1e0b3e50c8aa35fb182b36012d0c3e2ef6913d054f2a36ff12d035c47a873dab6431381ae9f735a38377373701a53a40b8313814add4351f310936b229013ac796ff357813ee356b521738f364a939a81ce036276c393514f2cf37567fd6395aed24360955b635685b74366c782939af2615362f6b0b361d8be335387cc3388e348d35797cb23474f962370540e63814473e37480b113775aadc37acf1003930d30736d030f93554d2d535dbe495380a28c635b9e77f35fef21e38b88c45383becfe36b79fe836b084093630eebb3e907d213f79f3f3353d004a3717c3bd3e3cdc0c3f324742352fdf9136a3bfa63ec759ec3e3cd5c23528293f36719e8a3ed5a8bc3e966f10367a6ebd35a14e5c3ef6e68d3e452b24358cb7453714ee223ebf7d393eed9821371c430136caaacf3da655bf3d2896ff350278bc3535f24c3d000ca337659a95352703d9379177373c3336f337e7dff03658331d3887abd83857d32f371cef5936880b19385ea3ab39ee31c336e78c83345f9e6d38ccc0c639d27f2636035ce335d954923794507d396b59c63684b62e36df792d38d1b48a389ccab7362c204834505d0238bd97943832273c363387c1357da37037f0be89385d180e3780abfc3595b0883716a3983919fd983680fe5e357b6336383b475a3847b2f1351a60ea353674a33722df673e1176453fdab887364cb18437df026e3eaa122f3f664cf535070ef6371e02563ebfbf113ff017e935570567375819353eb889e83eaf203736428a873703170d3e95cfb23e27744e35e201f5364c31d03dc07f693edaadc435178540377bc2803d6985063e8f083f36e838e636cc83e93c8112a43ad28d6135ea70da37d833363a921b9937b385ed3593916a383765f5398f13ef35bb88dc358ff36d37cd9e6238f3f28435c9e657357dcc5138f4ca82382d76b935513faa3538535f387dc4af3882670936f587fe35f4362e38438e5938973a0236b1b9f03589766a37b8495138ced8113663baaa3515e83a38ccf6ba38558392363b5d6036743b9137d8a43a3925f9e336cd4e2a36b0881538a5fcef37327606366c9c5c3571ba33387f04aa3d0bfd693fdcc6e33592961e378cbab23d2013513f07407035503c1638cd09b43dc95f303f18b7b23531c4d237198ca23d0eea0d3f8b6304360f69f437f35e7c3dcde3d93e1793fa3565331e376f80283de954933e9a8ee0359153c0375016bb3cd173213e286f7e3623454737e7e8803c12c16b3c15788236b64f04389d3a9f39af982e363274b1350000000000000000000000000000000011652638b724ad380648903583438235583f4c38ca3f7238cdf783364aefd63553609d375e7315384b303f3650cc1336bb3ab437458c84382aa8a9366022d535a3cce436a1b798382edadb37ad390536e6083336826b2d38a133153734e12f360a5a4e363be55638d56a48388eb189360000000000000000000000000000000000000000000000000000803f00000000ae771f373b1d843a06566d3fbc06893595551a38fec5433a7b3b483f7744e93508f660373060233900e4223f3f232b368aa8023772bf4a395c46fa3e9d98e63547912f3603199a385582b03eaa2d1a36d8ff2d36085ebc37ba244b3e2bc237360a6f1636323a2738cec7483d0a500c370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004db1e93136de093304f55033b9ee813382687336fa0081368a4c7336b6d55f36200503360653ab355c8de035dba00436cc495135000000000000000000000000a1c98c3678c0a236d725933627118436f0849c3570eb813530ac8c35aed5cc3500000000000000000000000000000000000000000000803f0000000000000000000000004e27803f0000000000000000e3b71a335bca633f3bb13e33236d8233e65384364906333f58b16e360c975336cd224036ec4a013fca63f73538e3cf35936f073522129e3ec649d53500000000c8f197366536f93d1fc228377f6e7336b824e635a13f273cdd449035430875350000000000000000000000000000000057093f3686e46137d9968736199089366d26ea34fe711135bcc25535a5463d352f05fc354638f5353efa17367c9c123686e61235a7181635dbf42335085e293568e588333df73b33aaf55c3359846c3369544d3508fa5035787f5f350e354b359960eb34091dc3342dafc034d879d6340000000032a9003500000000000000009867b035b699ca35998c9d351b1fc635593ce9354c26803f690ae73926c657368b270a351407803f0f37e138189c59353c3bfd35204a693f31421e36947b1836e0983235500c3c3f5f7b123540b13135aacfb7339a000c3f16d13238261e7733db254d35813fb53e0e89ea36d7e86235586fe23452b3223edb56b634371cd334000000008243263db9900c3500000000092899359012073687ecd7351118ab35385fb1361d549737195ae33616a5d936063e423425c53435a2ce5e357b6153356b364736a79c4436c8d30137119a5636b6acaa3451e1c934a001c234658ec9349761dd354080da35d933083623d00336e2fc5136c8d032368b673236618b533623097a359fbf8b35e0f3ad35c62caa355e85f1359b1bbe378dae1c364f710536a402333832cc52381f67a637de8fd537feda9236af1f613f7b34fc3dbbd5cb36000000006af4613f2c07c63d7a480a35f96748369fc05d3fbc751c3dfd5b5236cb3eea34f6c5323f7af358386b62e934c1cab635fc7e043fc2d29238ce45073609fd5536b62dad3e97ecf737cfd92436d337b03599000f3ebdf5d2376e33af353e1fc635c6efa23cfa361438d7c31a368ada84363e47d13801905538c02093369a424e3669b48738afa8eb37618c773620011f36e4a3d73789763636683a253622005636bd7a303701f35836f6a96836a10c42361334653653f545366ab44436402c893640bc5237d4a39f363865d336344f213672028d3644222d366fec3736177c1d37441d83372dd8da36f091da362130d93660d37a372394903595c9b9354c9dc1378656fb3764c11d379bb02e37d0102336e756313fd62d9e3eabfe61365123d7353143363f9ea58b3e39621436c7e64c36e5ce313f46d1433e12a0463600342836ca49173f503aec3d40ae2336ca857e36d030ea3e1b32473d1cb67f36cba91d3672189e3e74a738383a8ef635b00edf36df8b113e7b31483859a0c23681ef6f350490833c8c9bc7374980d034a0a9c3360a87ac3885ffc9371359bb36d22a58360529ec3703ea61367330553600000000366b1f3749cd8f330000000008e21f353ab518351fc3193574e30635a28d1735136413356d051a355d431835b0bbc636a99bbc372f491b3600000000ef651e35a0c210359b1d1f353e25033562381e35ec63183532931735a3fd1d3517354e342d8e25356cc3b2331a1ca933d86f6e365c3d7836baad83364a997736d9eb2936a321013f0be4fe3e8f41183685cd7d3392a5073f7848e73e40f03f33494f2335ebd5043f9b78b73e7563203592752c35eb41ed3e99ed753e5e841f35000000009fdaaf3eca30213e00000000241b23354981863eceea163d7f09163531021f35abe1003efe0de438b1bb143556642634755ba23cd1cf3f360731f93135ec6836364ca139b9948336326378369352ed3680ad9138f2bbe636419ebd3619e503353cec07389c7dd4324c42663400b6d536cc81bc3700b7b3362cadbf3685261236fb392a3736ad063618641b36efa75c37002dce37cc117236314e7736c1f21137d55bae377d6a353671e95a36a589923738aaf6373ea3cd36e67d773611d9af37023b083866385436727430365a9f1f387f19ee3722c35f36a16781364808993642f7a03eaf01303fd2069b3600000000b78ab43ee440223f00000000cdfcd0362771b03eeee4033fadb5ae36917b1136b6e5a23e4cffbf3ed56ef0351ffb6c36dcaf853ef1d06f3e1bbe5c3602427236c8094e3e8072c13da598263697cb83361f3cee3dfffc8138816d8136c0b93c36f34c8a3cf2da07389ed43d36099e843692d401396ed0ae362aea6136df900f38697fda382c1a6a36dbd465365d5315362c80253843114f35928352355b0198355f510a37d0944e3574af4335251b3236bad84936833e0136c5ee06369be62636bfdc1d3778b3dc3513a1de350a842e35a9c34e378e3eee347898bd34d90fe13727e151385bc39e3732403b36786d84368cd9bc36b9202535b3b91435378ce33614d8dc36cbd1c23624c5dd366c1c79368457063ea3da5e3f209031368d9be23506302f3e19864f3fbce28d3393e68d35f8a9193e7838363f24db46351e301e36dd571c3ef1dd023f633ca6357bc30b3679a00b3e493bb23e9d63ba354363de3424af063ee5af2f3edb2dbb3420f465365f07c53dce86823a31fe1b3629da923530dbb63c6696aa379395cc333741e236e8651238ccf5ad3600f3bf365a9ba935fd62f135b0318b35842256350000000026df25350000000000000000f1f5ea34963ce134d53eac34790c8f346c0856354e366d35ad4149356b6f4b351b7b9435f3e456377e9e943303cda133abdc1f35dd861935e110223538e0fd34f1972c36124c2636c99d1036b3eb0c36ccc4ac37e1fd3138d8701e35f5630e35d82d8f3616b270366e92693616146e36fcfe5a35c473653c15e47c3f9ab53435000000006e2d213d2cc86b3f00000000b426013533aabf3c32f1513fcd69aa3429eb5a359ac3583c2e81223f1fc255352a5b7e331e8d833af1fae73e454f8033a7612c35373a013cae67853e05d908350d611936b949423c03aaa03daea70e362ce045377c228739ec6cc33803ec1b3544c48536ff253138987d5536ddd0663600000000000000000000000000000000ebf985356a8f5c356b35592e00000000ebd594363d0892367c2e6d36f93e8f3600000000000000000000000000000000e77ff93593470436935ae9351a6f8735dd3c8736887686362d605636a52c81361cfa39336ee3193300000000ef4358320000000072947c3600000000000000000000000000000000000000000000000000000000000000000000803f0000000000db03357ac70036979f7d3f00000000ef639a36162f1c38481a613f6f00823600000000e431ad375341313f000000005139aa35691324381724fe3e13f2be351e6d8736a8c68a36fe6b9a3ea1f86b36000000003c92ee36cf39e43daf1cae3200000000bb75ef372b62963800000000000000000000000000000000000000000000000000000000000000000000000091a4aa36f8004c3676ea1f36eabf3d36c3e49e3621cf93369d4791361352af361b2ed233a52a853400000000000000000a24ab37ad14d236fd55c536ff2dd336e6c8ae36c036be36b9ecb636f87dd536000000006c75d0330000000000000000d0b71a37275c793705bdc736ef81d73600000000000000000000000000000000000000000000803f00000000000000007dd04e362cfa7f3fba73263699ba28368a0aa136f9d35d3ff3f896366cc6a7367cd24a3414f12f3f36495233000000008a90cd368b48023f1d93c03626bcca3605dfae365e41a83eee24ba3669a9d336065515332cfc173e0000000000000000d67bb4368f5c1b3d3dd9c1366985ca3600000000000000000000000000000000c36c8034eab1de372a947534967bac347c7ef8351c30503702dae935d331dd352c63b835830ea9353b038935e8457a3500000000000000000000000000000000082e1d36f27c1936f708093661140836196fc435670ff03565f88735048339350000000079619736000000000000000063783f35747370360cc92335ed361e3537bb5e36d99c4d376da7463623512c36885976340916773f5c01073d7c298734e2e6e83554867b3fcd730b385c3fe03520a6b83545a7793ff251a23536d77a350000000062e7483f000000000000000001a71c36e797173f29611b36a3420536828eac35e91ccc3eecb1a83561cb8f3500000000a1db4d3e0000000000000000987239357a47a73d286046352a2715354a9e40362d00833cfca45d367b7d31367b2d11357e5a253c280f9d356c9b4a353578dd35331a4f38d67749364937093600000000000000000000000000000000550a78362ecad4363ad48c364c9d8a36992d4b36ba437136a81024361c0e1136c922d03503c4b736f4721b354b1ee9344f2ea3352f799a3737c59e351aa6a0350b87633647a2a336867a0f3636ef10368e21cd3676a57b38880f1136e0511536a705f53434d94e3f6acb183e133c7f3546c161355915553f54d5c03dcd9224360000000081d55c3faa56813b00000000505d5c365bcc423fadc08238162d8836551e1236ac88143f21dd1038bdc121362eebb535d582d23e46c8d337170c55350b815e35e6c1683e4ba1a93580f3993540dce6351ef29f3dfc3332361921063682c317365c17d33c214d4436df7212360deb6a366170433b417691361e6e4a36c9229a36a0281339ad23bd36fe037b364c3f8336a9772938414987368e3d3636e0268535b7a5f935f051e935f125b835bff1ad361040cd36f060b8360bbda2360b56f436fccff4363e6bde3698a3cf3600000000b01b263500000000000000003ea27c36971d0c38c8fb54369c836136ef29c83558012b364dd7e33595e6c43504042f367a49283faff6a03ed233463695724c3634272e3f79397e3e81f67e3642236c36bcef303fa9d9013ea2895936ad77843593c02d3fad2bd43c0242ad3520b79d36bc500b3f8f9322378fcfa636a508f036a52fc63eb598e836e02eda3600000000fd7d6a3ef0f1433400000000da0340363765a83d85646b36f5953b367b2282357c6be53c647703363d8cb935a9424835af847f3b6eb3a8350000000087b8c2354f59a6399abb053690605235d5d13335c16a0d3864668234fd22bf321606ca340a09fe367c899b3400000000b9d90a36ef12cd37e1e605366e84fa35835d1235022b443604edb1330000000097e52935ac8c8a37e2804734035feb32e8c63436dcce3b38c3208a352eeb8835a8b57c37f569283817273335eb3d063400000000d426fb3e1be7f43e79956833888260351366053fec67ca3ed4665935cd919033fd76053fcd1c8c3e0000000000000000c7c8053f10aa063e00000000af5101365f64da3ece0e973dbc6af935495a2b34708fb13e8f85883500000000aefec03329a1523e0e182e352f02a5325a26f9356a9eab3d88d9f2352cc57435290697352525e83c1be0a23533523134c599a335b5898a3bd5caba3523af0935a53c4f36dbfc893a4a9d503650639035fb675d34888daf370000000000000000b6b5e63687390a39f538f736664cdf368892b136b80cdd382f40b63617bf8836886bf435cfbe0f38d6239b3547cf253580df7d3623bea537e9bb8136e5fc603699a5de36316745379c628a36285471369de1bd36d3c6eb36c0f14b36785e4e36ab6578357912a83e022c243f398014351b5b20366805ba3e28020e3f72c9ad3500000000be6bb83ee3e0d23e000000000e7ed736e1deb43ea992853ef90adf367a81a736d329ae3e0014f03d40559836c5bff73596a2973e429fd838048b8e35fb2c6b3646a03b3e11608a36d83a6536b5aab536e2af943dbd12b836072961361c909c36ef90d83c9d6e7836afbc403692dc32366b8ea13cfc3217360e33913552ca31364facd439ddecde350000000002f1c635b6ece3389ec76435000000007d12183521063839b707a835b7a44435e4c1353656fa57383bf82936ac1da9353fdc8e36b72bf7385d6e8036f9ea313600000000000000000000000000000000b00054360054713661d8de35f5d2c33593edaa3669229a3522a218358ccecd34afe3023607c81e3e64e74c3f7dca6d3505690036fe47533e5862373f00000000345e98357c1f433e7e54153f091e4834ae1d2d35e54f453ea369cb3eee2421354e381e3692d7303efdf07d3e2e56b4351a888a364eb2363e6e2a7c3dce434e3600000000efc7093e0000000000000000f74c4236c2b3983dcc9c2436cd8a8435313b7b3539730b3d86071735da46ec34c5175036445d773a41323736fe34833565342d356bb13d38ecd00f35f944f134000000008673fb370000000000000000e8f3da354c54cb3713c74335000000006df80e36d8bbd637ee260f365965ed350000000009190e3800000000000000004cdcb635037e173842e9b335bcda7135c2f8fb35d0d1993760d3fd357f39e535073a6834f1667934cc5e6f3405b384344c6730363177213d00ce713ff55ec4358fc80d35e772863dd75e5a3f149100350000000094b08a3d0e3b3b3f00000000acb2ad356cc2403dc0020e3f000000008d5c0336cf1cb83c61abc53e673df6350000000004f4b43a50485b3e0000000080cf9d35ba35793bf313ae3cf14589357b5ded354bfb903c96eb0a365fd9de3575688f347d0d323b79b33c34882a7734000000000000000000000000000000006921c936ea2e183840f4ab3694f6423600000000000000003408dc3300000000cee9cf36b97ac338dc009736fedf7a36b226d036ef171a38ae96c93698939a36a0378633d26f273718ac81349d9ba033c6beac3660d4b3364edba3368aae70366b4b4c369ecb1d3842d87836938d30360000000000000000000000000000000000000000000000000000803f00000000f5cfc6360a8e1f386b65763f81e16b360000000000000000ec355a3fcc633a33c419c636a0e50a39180e2c3fb1f77f3654c8cf36b0672e3813c2fb3e8acaae36000000002e90d9365a57a03e66bc4c342413a736f028ae3620b8093e10c48736e3004036a89ef137e9e1613acdfc43360000000000000000000000000000000000000000000000000000000000000000259e0e3844ba8637d45d3c34bcce2b34ce69f036839d7a341d275d342db74f34f385b2371631c0357d80a834fcd1a43454dba2377d413a37cc7e5a35ed4a2b352398c237961c05384ffb52352c0eff34771bb337ea01a438e9a16236098f65367d6c7735666b13381237aa3559a4b03500000000000000000000000000000000000000000000803f0000000000000000be70b93789157c3f4c784334e6dd3134971935367487523f3156673491635634a59bbc36da522c3f340fda340919a7347c5b9c368d5d053fcbbc8535d1904435ab476b359d15bb3e24a48c3558e22b35da4b4a36a5cc533e38e6b5377db964362b9b0035b0057d3d238dc9356aadae35000000000000000000000000000000003b0587348f74963ccc2c203598866035fdca79330c673339c15de0332cce0634d12d2035d2bd29377bee0a3394930e33cbc09a3408433e377b79a9341e48af3433919534fb6f013724a0a834f2b2b03482e12d32598b5337c8e03d32a94f4432dbbb57351501043c70b85e35adb6793400000000aabcf23c000000001de51b3179c0e130b536663cfa87e433008602348aa57d34c066653fd005723dbf7c1735f7b04433dd22753fcdafcc364475f73312b90033e3c8703f07e6d735901c0d33f50c96342f11443f32426635a97cac34b1349134b698183f0876a4347fbaac3417142a32577add3eb18e3e32e6ab4232af784a3423f57f3e07177536c7ae7434000000003cdba13d0000000000000000e4d1b5308b47203d99de373186844933c9d08032b1f2cf3c211d3236a0155334ce4b9235ea2da13b72724b365fbb913548d280350056103c379fee353934e934b31917331e9e4a3be3191f334fb21f33c5b29136793bf43b44f3953661d53d3696335e327712dc3ac3069b31e985bf30a35f2b33637a6c3c7ffc3133262739338d2865368bd7413c89905e363b40d3353c3d2d3794fca83beb557e33ea02f433e6c77b329b273f3febc03d3e0b77263478e0de336b014c3fcb82023e76dfe135642446336af14f3f59b82e3d04d1623578ae14339d76383f41984638ad311e331733623635e70e3f2c2702379eff6236174b66325388d73e0c120032286b46319d842833b465823e418243353d7e353307ec04362688003e9b498f36e895143655e87e31fb9a353d9c83c036bdaabe33a924b0317fc4f83c48f20f350eabf3345ce3a136a5bfb03c3694d0361d387836c4889033b20b733ab97e3a3587cd9d339f2b3a361615973ce368163439c81a3473e2ef36b1d0bb3cf7f8e836b90da33694af9735f7c83e3be9c3ba345a0020334af1e336a1a9c737c2e40236f2b71d3529009b365fc5a838f7295a36150884357f7000360d902638066ca635bcb3a7345fbe3031f70b1b3f05aba13ef567f13426cb5136dc7b233fea726c3e0daa9936001f8e3397af2c3f29d1033eb3d69b3305522f3398db1e3fb9a2653d4dce1434f05bc636e499003fb1656d387fb0b936278dba3460d9ca3ee6c3b535c5cb2333e109b935317b843efb83bb367bcf9a35e195563621620f3e67f99a367c5fe13532cc8935cdf6403d65b7fd353d143f355c8a43331dc8df3cfc51643337396d33000000006741b43c000000000000000019ca88337ecf9c3cba897933db1a5b337bd9e8333d4e7d3cb1d9fc338ef20134e1966d345e489b3cb9b47f3416b9413417adf433b1767b3c2b99e433ba9dd433327d80338873cd3895c98c3307368e330000000040c28438000000000000000058f3d93366f2b336016306345776243326c63c33a89df13e4ddde83e63f3653300000000246efb3ecbe3b93e000000000c968b33bda5013f2206843ee1cd67337c4de433db4cfd3e972d103e04b3fe33a66943349504c33e2415ce3d9d854234c99cfa33e122ab3e74381d34f6d2db3320b37433b5ce5e3e44838b33813c8d33000000001286ff3d0000000000000000a3fe6033b8c73e3d15416d349cba3033147cde35534fcd3ca2a7b335c9217632282e8a36fe47de3cd12e8636b6f0ac34256a533691f0733c8f6e2c36a63136336aef4b35f343483b19862935deda5c331425fa3668a38f3cb509e236e4bb7136014f1337d3885b3c3e7e763360301333bd10d63523070039f5ba8f33600c88333ba3dc360d125238b453833688d747355fb01f370c2a6f38b89f223151efdc305c169635f09ea93ee7e8183f4c007c32e6583636f81eb13efad4f93e1d0dd035e9b8e6357151b63e49ccbd3ee24b63330908ea3359c5b83e5588733e3eac5233ba84d73665a2a53e1674093e77ac9c364f5b0434b5008b3e7082a93cf6d21f3359279a33885f493effeb663587e68a33c2cebc36543ee03d1252c236171bf535bf5ede345631483dfdc4b431926b09319a7f9f335e72c73cebdfd3335920773170a074369102c33c8a9b2736e3351a356a342b3350879d3cb31729330a442233342ad03141243d3b8250573264e98a32eecd9936b626d43a5cb27c36ad5ea735f2b01a332860413c72231633ba5e103340110536f45a2539e6f59434d5394e33ce649d36cf9396380d4fdf334484d33378f9933692f5b8369ceb7c324e457132529c093333553f3ec4633d3fc5ae7b31ad774336ea30503e48ef223f8b2b5a355d592b3368f04b3e426f033f4f6e2533542bca3133c4573e8e96ba3ea5a36532218485367bd74e3e2b4a6d3e390d1936a1a51c33b8333d3ecbb1a43d07be12336e70b035c1ea0b3e3bf694365e75443394811e36508d923da752fe358785d933ecba8535d796303d969881329a7d76322b4a26310625563bbf84bd305e8b0e3000000000fe8c563b00000000000000008824f935cb8e3e3cd5d54b34cbf13434d1bc3c32737097397be92a3293932232fa43a4347c9e9c3a136a91340aac8534df8ea6348f79f33bc3da9634a2498b34eeeeb5348801543a5e780133f58cfa324a04c83337803e374d675c33b435cf32592df7359116d635dc4a8034ee3e5934ae653a31189f673dd52d633fef477d3000000000409cb63dc9b14c3f000000001ed60d35bb44a43d069d263f2d844034896340325b99923dfe10fe3ee05a2732ac0ea934ab745f3d5886b23e15d58b34a8cca934d0730c3d3f6b453ee22d9134dedd0b3336c6d33c0aec073d7a1bff326235e13364642e3d3ff387337a891933d483f234500fdd3c63088a34dcb46b34000000000000000000000000000000004f55ab351fa39b384ab219352dce7733240a3f3762efe538dccc4936d1490a36eb417e35650a7139b2d07935bdcd35344280793556cb34382dc7d136731c4e35a3f1c134240b0938136443378dc1b435b0486334d9243937c2bca2371ee0cf34cc81433491682e38bbce0438bda122350000000000000000000000000000000000000000000000000000803f0000000066eba635e9fe51384742703ff534a2335bad6336b658d838120b4b3fe65a1e368fa95335fb0340385878223f4e1191342eea56355556b3371562f53e4f7b883587c8a634cfc7d1369495a73ee256e8352f6e5e342d497d342a1f363e14b2c134141f3934b57ea23705797f3cb36c17350000000000000000000000000000000000000000000000000000000000000000696a8035bd246e35bccd8e35c5eac335fc008435988faf35af38cc35adebaa3549420b3501240f352cbe033524161b35392e823559e98835e4cf90353b94a6359f0b9d35967cf1353966ee35d58576351981ea34d168d734da488c3403fbba340727ab34a413b83414bda7345d25f23400000000000000000000000000000000000000000000803f000000000000000066a83d35afa27b3f0c5bb7353fe698351e988b35f5b65d3f4e67dc356a11b035b5eb183537c42f3f0d5ead3444fad134a3e886359a8cfc3e35c0aa35aa8a65355b1b98350692993eee774a387de5a6355216e834fecc093ecf99f63383a1c63332efa834c077223d9ab03f34144a683400000000000000000000000000000000b47dd134fd3fce34ccd84f34d82f4b33a5f096343f0379348df28234002b4134217d0c35b87b1535721631358c426b3584e63c32c2d14a32678a4632ca9f5a3287160834e972e13381e53634369b1034e1aa2933a7ae96328f20a9330c4fb6331ad07f32cbb77c32bb4870323924893200000000d11ac435c9d9f93244c40b30a968ca32bb908e328df9ab33a589ad33c4b723341aa37b3f4946d43c5bfd8b337f025e341dad7d3fafa7f73af3b929348426a634c5e4663f99917338bbfd14357bd3763253823c3ffaef87373c302a32fcec6434fd6a0e3f0e504238970cee33117dfa3389dfbe3e69a65e384b935e3382fe9232e72f383e260ece3ae6955432000000006cb19c3d46b38c38000000002e9b2533624910378652a235eaeaa43374be6c33839c3738ed0a73335d806c33cb85bc35f27a4636bdeb15361e6fe03551e426355d8188347be02135e2d3b5342d1e9231eb43ae31cda9b031efd9b53149129c355847303553de93352faca5351386b134fd77ab34aadf8b34fc6b983400000000eee883369fa2ee3600000000675fa1355acc0235ac19ff3467140b35e61e2d3527ab0b356fca4135e16d5335702e23331f315b3f9a3f193ed5043d33f0c6bf34070f5a3f0a7ce53df2ad9b35fd428934e51d5b3fb3ecbf3c638b0d358c506531d56b383f6b78ca3a930bbf311d061c34ac3f0b3f6301b43ac8c6793585e8a534ab8eb73eb1dbb13a893a843400000000f54e343eb083273b00000000f63bd13447a61a3d99dd51388522b834a828ef3471a59d39928216373cdff23436c6ee34b4da1335f86cf5345643c734cc687134b909a635c5f541354f12f7348bf78d3161d80835ad8ce33674c6b9314bd07b3459f2a334e1c98f3470172c3477797135bd549b351d3e9f355fb751352263cc3144d5c232000000000000000030c2c834704439377ecab1367cd2773469b6e235130fb6379d401c374bd181350f25333410d2033867a3f53700d5273424efc934c2e8313ff7d1a03e4275c73465a51034942a343f18b88a3e7922f6334a6db6317da3323fa2dd1d3ee045c4318e385f34fa05243f9902863df4253b34446f8134a926023fd1bab53bfe13b03400000000ed0ab03e8950243b000000009b4db5349d76333eaac85e3ac5ba90340f114135dbec153d0ec9053999a71335544a0734bf27be3aaea3b8389d1105348e8ce8320fec0333ca769e323283c332b053be328bb32838000000007a74a530280a9a32f520b732399f063213d13c32000000000000000000000000000000002539be33da65e53371a00f34cd89c23300000000000000000000000000000000bdc200320edc8632c6c5e6321b8e0c3300000000a7882a38f1c5a035def0ec32a74f9c32e58491328a621a33fe431d33108af3328b8eff3eea6e023f5d12d3326f7da032050c073fa20ee53e76b3a331642ac132a1c5053f0125a83eafdb9b31000000004b49003f802a493e00000000c0b10a342f77d23eab09c63d6ef7033400000000af989f3e80ce4e3b00000000e6ed89326ca0223e598c603a1f9be7322e20ee30ee891d3da3a2033919bbc43211eca832f617c3375c55e4328695143354331735d5f0b23822172634c1b1f8337d13c73507249037c0baa035a91b0235ab674e342d086e345a1e843497a47e342af0d03237c729339025323200000000c43a9a3569639c3544b266357f9824357ce03534be4841347c232f34e7154734cd17ab31cae08037a8a98d37c50dbe318df496358da736358c413f347514813449e5f8340dbee134fbc3bb341818bb3472e25034a0a19f3eaa11323f06b7cb3327c1c734aed6b33ed0ee1e3f08d29034bbea9634c7b0ac3e44dbfd3e322a543400000000e1a9a63ed28eac3e00000000cf52c433694e9e3e63fa3f3e245145340c7f4b3448d5813e2551523d627c203481ffc631ae08203e48b5b13a251cad31dad75c348768043d4fb24e37f59b26331c62d534064bfe39c419ca344e77b3341a13a63557c4cb35b7231635aa92d03430496135430acf35290506354bc09d3400000000000000000000000000000000b757c734d13102350537e23467c18c34fca4ab35cf12bf350840643596e9fe34f770b23499c00f34f79261310be65631f30a8d352162f536ea841f365b466534f1436336cf304c363ce3ce3511587735fbb027335a792e3331121e33abad0833dd2c55352d69193e01245b3fe396d2340f92f9340ac4333e2c314b3f2b769e3400000000cae7283eaaf92a3f000000000909ad34c80b253e083cfa3e75ad9b34e8a78535a7fd153ebca7a23e565ec4334564c733d7b5193e9c650e3e97797331e6128a35b394ff3d7ae7843baaee8834a492dc35b5d7383db079ae37ba0cde3407b65833bd5d193a5594513300ecbc3227c04633a6287633d4b4f032e8811f3300000000175c2b350000000000000000b979453240cf8f3268db8332dfb85e3229a0bb31fcf4ae330f69b4338c5be533cf25c233075d5934d57c4e346c763e34432a1632e10f6d3257366132d4ef363269f7a43564e58935deaa293623a8cc34a6d89e3540d3a5370322a2379dff9134483dce349878b334f17b9d3462699a3446b17f334b26093d57d2783f69ac4b339629782e5e771d3d226c643f000000004a634932e3fadf3c35d54c3f73577b3235169b33dc5ef13baef7203ff1cd0d348ce62534f665dd3b1a89e53e2d1c8334c82f3032f54a683bc8f6883e42e752323d809d357f6f773b8249d53d8eecc4346ca58634e414373c3ff87e39e303b63433f1e6333a9b3134ac4d8c34b8fe813400000000000000000000000000000000cd9cb233315e5934fbe56734e8ab253173b62034fc5c6c34d77ab234996439346002de35596ea6353ab0f434bb70663576d2ca35bd6287358a7b8535b2066435d95a00357eca0235ba770e359f3ff034496dd035317dba35cbceac35583992351e6ff7352d6dce353e659b35174787350000000000000000000000000000000000000000000000000000803f00000000e9aa6134d912253530e8773f36125034d0301f348058b834a3ed5f3fcad99b3470fec235748f9a383eca353f02de0935f54b68354336d1353dbd043f78028835881ccc34874719351a07a73e4ddd0935deedc535ee6dd935098c123e7cbb65353a668d35394b07365f4de23cb95b503500000000000000000000000000000000000000000000000000000000000000005156ce34ec6cd43436068134e4ad6c345621bd35c10974341d29913415ea8c34737fc734d691603373b7903335997633e4b7f1351dff8335998eca34a4014435094ada3444ce88346bde7534378c0c34c8b3c835ab6367352b174735a8309735ceaecc3580000a36d05e6335ed3e043600000000000000000000000000000000000000000000803f00000000000000006f87913414ae7f3f57335f345cc258344ebc973580e35a3f071e83340b309d346e9576343d7d2c3f7be68133db8595331890b0359208fd3e32432535b7efcc34426a35345c799f3e02575d348a4b3934ee60a635a2e70e3ed84a183543793f35a53bbc35e868573d40eaf73404bca33500000000000000000000000000000000b76eb33436e4823a42ae9134546ac3343fc90535e57b0a35966fc4341f51113548658035eaf621352f87463534ed6535bae524366d8e0636e5580c36460c3836514d8234f93dcd33320c8f341907f334e457563430064b34c94ae9343b1624356672bc354d97b0359a1eb5350580e13514bb5e33699a5b33920f83338f8391331a754c34e5a00a34ad3501342ad31734f90d99349666723f9089993c2cdcae340fb8f73484557a3ff37d0635caf3eb34fb811f351fdd7c3f11224d35263a5435dc81e535b984533fea6b02362e611f36cb8c833473c7283f753843344019d23406aa92343713ee3ef0e49f3400771735272593355b56833eb4239d35d236d7358a6e56336f49173e29536c33b4194d3300ea2234ecff463d7fa32734bb361134d74f8033d1c6ae3c3db5b233c1cdb833470d7135cc767a3921e1f0351033b7358200a234f10fb434b11acd346a4fa5347c57643339956534d6993d34d53a613573458433c4b96233f64ba333eb13b334ab972034f6b4323493ad4c3464672834f7b297338ce43f35c17c81334ddfdb33c1e6b3337b51a0331591d933994ae333989a3534f4860e3791aa1e34abae043416c45b339fda473ffbca053eb52d96333b708d33568d503f48b09c3d210bb735017b8c3446bf593fda52ad3538979434ebad97339aaa5b3fe75608359bab25355501823336f2353f95baf533cb413e33dcfe09340633073f2a1b89347b6216345873b733bad4ad3ed91c85336fdd1a330797ae33cc51263edbd30c3498778f337e86d23329fc703d264b80347257e633d9ab87346dcefb3c18f77b3400ba5334e33ef0330031bb3b4701e933ebed0f342f158633291913399a7dec3305d39033c018c8340d9ec73422ffaa3421ffbb347c980836e6eddb355cc71f35f753c6346cd57e33f1186d3386818e33f1af8533a154c434bc15c234f9cda8340afebb3483342136df36e93533bf0c34726e103595151933e89f9b3796d8da325356b63214dc873429ff1d3f851d803ecf740234a22b1c345146223fa97a223e982db63313358c33cf77283f59104b3d2b713d33825dea345d442e3f4131ad348c4b6634378dc235b7692e3f8da30136cc459634e3ee6d3386fd073faf04c933e1405d3321ebe334ffdcbb3ebf4baa34c3856434bb657c35e4675f3eaa77893270cd1f339dba07333825903d18591e330d0528323eb1a534c248963d754c91340d0e95349b68013436e19a3c2469b033bf5952343b6f3e352fc74a3a44768535390cde34e6cee333b1fe9339a8c4b634e23ef7346193c6343276c93487f3dd3489db1a35157c6434a1061c334ee50034a17b88342b6e7335a97b2c3525b11035076891352b425d34f1acdf33bbc9783491d892348c88ba344f329f34a1e49a347453a034b41186348a4cd83e3803d23e078c913478ef0934c67eed3e3e18993ee7080d3480c9c5345838f63efe58363e856d2e3502deaf338445fc3efb84c43cc3dccb345b01d8343c08013f8d414935444a01356946403404e6fb3e6f88fa33a9ff5134570234357ceeb33e394e0435eefe6d3534262f3474726a3e604f4534004d9834d6caa1340881da3db793ae341a129f34c19a8a327477973d7ae24933415a03332f55a734fd13843cf10f82358b8b7e34145cd0341d6bf23a381b0a35688cc83439ba4d335a22023a3ba03a331fac5d3337a3a535a37d2239ed880836f5f71d35cf8bd7344112f9343a3c0d35a4d0d93436119534ce10633552c5c132a133143445c22b348542f4330f1126347a8f17344f909d34d2d291344be1a534e40a83340000000027a4883ec5ed183f108dec32c91dcf32fcc0a03e77c0ed3e59e25834ab85b334f4c7a33edd8ba43ef3a2ba34ddd6773375209b3e8ced323eb2d7da32e5fe993414c2a43eafeacc3bc8962835e033b934e070a73e97116135ef39c634c8277133a2319a3ecd5d05330871ff3145a619341c105a3e496e813487cdc433bfd9583485b1e63db714f234429c6834f2a02d3480613b3d4f01f6332a1bbc33fb5bb633656f9f3c8a6e8f33c7dcae331235b4332dcb903a05a8d9337712af33f54310346c2a9c39d821023410a70234373a8f3357e32a391a6780338ba18d3320d213355d9891397f65bf33c88c973320ca2a35bfd79134602b823486e2ab34cbec3636c3eb0236110b533540d79035f786a7331ed2823393c4b833de0a9233e331023426ba123e1383423f15cc5d33b03dda335baa323ec632273f54144d336a9eaa3393e3273efd49013f1e729633a02d2b3466711e3e2320a63e485fa6336dc6b73364330b3e47ae253ed3e104330a3edc3411a2163edbebac3aa6447133c47cd034443a203e4d14b93463cf263450c7e935b6f8ef3d7bb987359f9820359df19b338ddc9b3dc76be63337756c33c5942b343ddec63be0fe223495478333567b81333daefc3901f22833adb36a334676b03583f8ea3841439235ece22235e9c7c734591d803905984534ece9e634c69e45344ae78e39d5506634c22f9a3481c5123654a96136f2f11b360971cf35cae977350e099f354e0d5a35a0b87c352e750d35c91b073578941b35e32c2435a20fc33435f4b9342c7ab2343059a434f150d9330747e63c77206c3fc5a5d5333fc58833528e5e3da5d74d3f14c15b33f4cf9435cf04633d6025323f468626355044df34f2bac53c6390043faa6aa3346c7a5034b3be1a3b128cb03e22a15f34fdbbef3522cf95392399383e9b28ef35b2dc3635d48e263924e7843c50a752353b5be7349f27da3c984a183503d322351268ab34fbeb1e3de3e4c2349fcea93400000000000000000000000000000000d92473354fc7343698e18235295b5e3482ff8735dc508435486c30350672843257e5673490c66235192d3834aebf57345ab757350dab4c36089510354430aa34c5db94333c982733c6947e32ee41f03293f7843422eda43513c69834f2b3be341fa4a634f7db0b354b8fca34dd10ab340000000000000000000000000000000000000000000000000000803f00000000c0770035223532362bd8733f868ac734eaa5d834b4c39435ddbf5d3fd7927433b18a1f344b1ad635d8cc313f0c286434cc66443434ed7236cb92033fc7f0c03493a9a33305dee23344b5aa3e4a7310330f5c86349fc87135e92f1b3e7e99bd3468882d340c620335a08ffd3b450eb8340000000000000000000000000000000000000000000000000000000000000000911396387de0df330000000000000000b686a23941c84e35633e08357e490c3529cb8938125e0735c863dd3469e90735e829b5388aa8233705361d320000000064e043389243bc37f38a11352efa8035b95a7238c05fa5388832cb3429c80d35e3269a38370e6a38035723338544223300000000000000000000000000000000000000000000803f000000000000000087c1f2362ebe7b3fa499ff320000000097d61c38c018583f05e61435c2c30f35a7f79637f6d1273f1bfabe34c660123562e645347fa2013fc8d11133a89622335fbb4f35fe89b33eeef30235c856423549b51434eb8b323e33e88437e12215351f688f332d0dac3d58a332332c221633000000000000000000000000000000009bb4d3342099883d8bda0d3555b1fb341b740235fea9783aa0061735b24e0e35d517cd3418210a37273147342543823497923a38650083371895e833f0fd753415d12438393b7f373a0cb934833aa734a8e80a38e148de37d5e186338c347f34ec174d37fef22d388e80de3236e3f03336902438f38ec738c4df2133ba8658338d720238d03df738e7be25340110b03478e1bc342e425b3f1f843f3927bbf8343f30dd34fb76743fe7658e378b7b14358dbcc834517c803f7c177d344e047634033c58321cc9673f8f84db3339be4b34fa769834d9583c3f8226c0348065ca343de3aa34e25b0d3fa265ba3313d63c341dbc872f846ab23e4fbeaf338928cc3300000000f06b463ea7216537b0d3953309e5763482d2d73d2ddd2134d98384349a6a6b343933ce3de9904f3425994734a45d8d34d3bac93dfc7e3435ccd9063500000000ab4a763c23718034608ebf32a671d235a18209392f44cd35f4f3a2357b1eb7378490803854150b35304fb934a21af937c4c18538b47349352d5f31354fa84e3717045b38d30a9335a7ab59355bde0638be77bb381856ce334f23f133a8787038ac8ebc39000000000000000019077434f203293fd4eeb33de622623477efec32026a333f5e373c3c2b7c19350000000022a0503ffe348a378300d2339601ca3534be663f42396837f9acac35c53025355a775d3f191c493510eacb341b826734029e373fd92743356435323552b345353fd9023fe91f93351a116c359e4dd933e6fdac3e0f6b01355c1be633000000004a541a3e1150ba360000000056afe13451403c3e08d9dd342bd53933a1951735fa450a3eaf4d0b352bc757345fe30935998f953d8acdef3476fcd034645ead3505b4e5392738923514c92a35c44125352ee09e38ca3aed3428a0ca3391daa338128efc38e4dd6635920795350e18eb37195d2e38d8513a3400000000405dbd378571aa38c286353470ceea33c33c4134b1ae1939be7582346866a134b572b2340295d93e3bf2083e8de0333438fd4d347e5aeb3e8227043d343bc234ef4fcf346d970a3f940697386701f834e4b38b3595bc263f2ad4b437c7a57735c5f21235333d3c3f85953835759b9334abef1a3515c6343fdcc37e35156087354d42e7327a12133fe588b6346fa5473396caf8344440e23e8ad7b234110d1e34cd3c5f3427b4883ebc71643486298234c858b9341a734c3ee0ace734b47ebf34c75a5f34e9fd403e00eb04349385a1337db3ed34f79b033e18577d3468934e349c8c26346646403dd796a83412e4903475c7973417973f3ac155af34e5f5b73494b79c34a3884d38ae88053469a47d340d5ec437f72332388f03fe348743db34c90f79378b8f1e385ca3513439473934f79e16372e76ff371ee08d34a7fc073558aaad34ce43823e2433863e0cdbce34a0565234cff3823ef071f23d8d30b533bbd2f534612fa73edd041c3d54b76d342a6f1d344ff2c83ef7c11238c9b99834e852983423bc003f2cee743721eabe3484ea9934da78113f700c273415995c34894b78340ca0033f992305352e5eec342b9dd3331945e43e9eb98434b5b34e34b481d2341fbd963e6b5d823426e6d134cad55a343a25423e68d29f33000000001f16a1346fd8413ebc37d03428078f34d95f443425f4173e4d0b3d34000000003abc6235dc83ff3d5ad63635dcf3b734e619f53404aebd3c372ede347b9e563488b8a035bb5b99391f119835d42f4d35d93234379278f438797f0935dfba9334e654b9379c0946381c7b2d34191e0734df09673739a6fa378db59534e6d56834001b7834d8f0003edfadda3e740d623364d5d033fed6ea3dca1e873ebc37d2340000000085490f3e6ec6143e82ae46333ce87535f67d293e9996243c5bedd83411c87d348b9a7e3ef7144838cddac4349de4753583f3b53ea7c8bc35e76d74356a0bfd342fb2c93e0fd1163572d3b934917bc7342095c23ee9bf3e35c0081434fbbc9c346a61883ed1c2f234a83c853400000000ce19ee3d0000000000000000c90db3341c90fb3d708c3534dc4c89335d3e9b35b353cb3dc0c952355205e33402a54035e744db3d89885334c8761b344cef3c35213bbe3d30d86235bad1013541f7d1350af36e3bb7a5c835474eb03537677434e2fb3e390000000000000000a0e27738c3f5c53857652c33a4a4cf328c7e4c38b18d0339928f7a34e6f77a3400000000ef3a963df7d62a3f000000003334e33368c5663de144fb3ec84ee233d4ec82358959443d7e84b23e672b19357dcb313523ea723cb5fa2b3ef0ee203443841e3569bfe43c5cc09b3c311f2035dda5be351cfdcd3df72e89383c16c035ed4ee8339298343ed0c3603400000000b1eb3c35d358493eec0bb8345a83ce32ab3fa9346524233e3e047e3457aa6a34d0c450347f51613d5d998534d1213d3400000000b25fb23d0000000000000000f1d2b7316d1d973d3ef1102f000000001c4ef933ab44343d56ee9e34fb561e34159d9e3479b7a33a98228f34e69c5034a863b833bde978394380c5330000000030417d340130f339b2c1d134e44b9134c9341d351040963898a3d534b61abd34da3d0f35f279ad381cf29a3447c80035b340503458a01c39f0ad583f9d5b6134d44a2c33edcffd38146d393f00000000bd838e3337226038e8bb153f00000000cf9c12345c2c5f38f15ed23e19304834a252b2341ecffe377fc3893ee0c968342dc20434d1761538c99fca3d00000000ffbc6834ca368038dc45a53857579d34bd5b0f353b97443d1dcc0a3582ebb634ecd3fb34b148ad3d7a0a9d34a676d2340000000000000000000000000000000073702b339c510f39804b46338fe8b532763b8436385f113c4e6b80347a68f3329438f534488b1139d7903535f9eb8534000000002d3b033988fcb536f85b8a3343c9ba340cdb9038609ec1370c081434813a16358e5bbb3881ab87385752d3348596ef32e314c138d6cbd73792c995330000000000000000000000000000000000000000000000000000803f00000000d2f71a33cf497538abae6b3f846e06334aa4b734e759b3387931523fbadef433fe181e352223d737cacb273f17acd934000000003422553717daff3ee93e28346547c53475baba34033ab33e2bbea1345dd511350e6d2935fba0253e6ed50a3500000000072cfe33c76cb23c7a510a3400000000000000000000000000000000000000000000000000000000000000003f7dac376bdff236d496ee36ad144337d4bdb637aa639d36849ffc36f9e791373b7f7a3793800b36dc290f36acdf38379d0533391f4546375d6a553772c1fa375ce50438c19d043782dc26377a66f037a1128837a749e836f44ccd3675fd74379b918637a2883337275a2b3771325b3700000000000000000000000000000000000000000000803f00000000000000007b4c2b37ecf37f3f47f0823703040a37552789372a53583f4f988d37874a5837f9ae63376c702d3f73dc4b371e988136d5b309384e66013ff135f737bc4aa537d1dbec37a792ab3e370bc7370eea66370f355e37806b2c3ec19150371ff313371a032737f07a5e3869cb2437efa136370000000000000000000000000000000012387237725d7d37f40526374ff475370b6845379fa73b36509c3b3660552a3717e987377b8ba6369edcff36884575377e7cba37900d8d35c9d4913574adb0377c57ea3780012e373efb4b37feccd7372fe19337b1be6a369c13a536845f863790f27f373fd90d3777611437fa228537a5836337f2a851370e3c16376f268d37e5325a378a0f8037a9a06c37cf9596376049af3628f57f3fdd0f533875112737cc0edd3528f77f3f59ad1438be3049364b6d84362633593f8f6a8639204b213708f3dc35fba52f3feaa94238b55c7f3661ba89374741013f711e2b38b599883719619c364e1dac3e81be04383105ef361c7ecc3688fd2c3e09d8a137cf1e133745b213345dba0a3c91d58e3797900237630fbc36e5e5aa37902d4f371e9e4837dd8d9b3788500f38b1e0663763794c3780fca1376c679037f0479b365387d63611badb37eafcbc366013bc367a59c1367cf66c3719de8a364e6e8b367bb10c37427ba0372f800b37bbe9ec36f6157737054aa9372b53953695ab9636b2fa56378c78df3769f2b837a2f19c37370fd43758cb5c3796695237d775fe3617b44f370378763745c25e37ddfdca36137a42374131553695bd573fd3dc203e98c3933698338f36f153583fb7ee1d3e45269936c002b536d9c6353f1e6f133e6c72bb3683488736d5f2173f7bd0bd3df4178a36d7277f36bed2de3e0869813d2a1dd736ac9256365ed99a3eb803c43ba3089636fc3e47379e7f263e35713438a9d15d371a79b3366276043cd1b67a370696b5368d999836e0c92e38e2cc253778479d3684aac837477c073885f389376aac4437d4eeda370a1cde37f9b6ea36f345f336883d93376c6f1e372d672c365be5af36a55c7537017d153705d09a364a950d377a1e1338920b96370322003768db75372c1b9e3740b66637adf31e378c3975378a52a637059f9137253141372e4c8437bffd0638cf74e43761718f379755a33771a4d637104bcb37370998373114b0379b591d36361c2d3fb4a1a53e2b541f36ea8fca36e7cd2e3f9843a23eb3e0c636354227362545183f6ee1893e286c293615f68f361f42f73ecfea4d3edd992036b6e1fd365000bc3ec840073e233df9369ed3b636da657a3e07dd8d3d8e75a3369d0af2363658083ee873133bccc3f5367ae75837ffb4633b1ff41138acff3e37228e8e3758a21338938aaf37150f5037e4e5fc37eb712538dc12a1379e9e1537d1f59337b0299d372b6a4936a8c0483607e4fa37dbc38c379ed1353658848a363f052a38ac84ee37ffceba36d8a55937b85a2738c08004383c399337db2dbd37ce712b38fa000538c1998237416ec437523efc378b70ac37661a143783a95b37e7b3a837936395378078f7364f302637ad1806382ecaf637abf7b13793aac237849654365cf1013f68fbfb3e1af2b835747b3c36df9b043ff4aef63eda292b3618fc6036c738e53ed61ecf3e9fe430368cfa6437697bbc3eaeaea13e56baa635139abd3782f2893ece096c3ea238233729d2a2377b1d3d3ef554063ee76fb136c2540e37a6ccc93d8e38493dd377a736a0efec367d083b386082c93715d04f36d67acf37ea952f38d3bbde3762633837cdb4d63767b908388fcd2d376bcfcc362b4de4375d7cea3792ce1b37ffd61c371ca2be377a4e6c37aea31936dbce1c36cc41d6371d3a5837851719363ed03836ac2b2638c4e4b737fb63ed3657b90237ff8a813797183f3734a2ae360390043784a0d237c4db87372894b936f7eb183734950238df79e137197e6e3730a98837ce39d237b258bd373c9474372b6b8837e226e736482cae3e28dc283f485f8f36e85b2837dceab33e9a1a253f00a3f336e983bc368c23a23edc3b0c3f9cef143658cbee36ce46833e96f8db3ee5931336c4f24337a363383ec818a43ea283e03631be17376c19fa3dca64463e37601d367a070f379f3e643de7fba33d334a2c3645b89737ddc2543815db193852cfe43633fbae37bb610938a9bcaf377d9392366602b8374a620e3817fe843673806f36fbb18337e39c4737fc1aa536a133a236aa5cfe379573b837264e053658d90d3655ce0738e2391b372b952c3649634a36f78af73737a058372889723678667236b0bab03711a658372bfc8436f9158b36d6622538e24cc137b23bbd36d4f1be369d00f637074bc437aa16a136910b9f361fcedf37e1f1963700150d37faad1737095f9236cd7c323e0555533fe65b363635adae3606ff413ebe664d3fec479736ed806f37676c363eaeb7283fbc9fee3599ec9e36fc55163e596f0b3f89181a3685a04b37f38dd83df894ca3e02496d36f1fb0e3748ba703d137e823e361a81367a874337cc2d9c3c39de013e0701b6362232873725c7143ad7b31d384cc19836ffda96370a821d384c458237ae4f6b365d31ad3712d89d3748060133084200331b01ab37bbde483765dd3e33dcfd393330dfa73796af2537b0e4ec341575fb3421bf03385ba532373643b3358477b535ea320d38673bc837373ae035f785553696ae0d38259c9a37d14e883507108c3547a9c7379c887f37d6afe13663961e37b8c88637b5b75837f23549362cbb5236bd64813742a55b37dbc6f336e1c2ff361a544037644ec63be9637e3fbf33f1323c7b05378545033d6799753f3bf33a33b6ce2337dec2023d338a4c3ffd76f0347fe037370992d53c8d3d233f4e3ab135ae26c037f881a93c49cff23e4ab2d5351f1d8e370be07639647fa03e12e58935e3a97a37a965143a1f391a3e86032836ba1c4d37abd3eb3721dedb3798daf935db5d8237769d983741721c37fc6bbc36000000000000000000000000000000005c596237c71f27373b368636a38ea236d9a98d3739282537d166f634ad051035faf10738b30cb53773478035a3c08a36dc1e9a38fe94e8378243353709074f37a32b7737ce2c433754eb0b36de740f36e6669d3728ee9b3712a54637164276372c5d7d37f5fe8637a32662372dcc59370000000000000000000000000000000000000000000000000000803f0000000048cd2d3771e40238e1f07f3fa8a37f3664a92f3736172b387ad7543f1783fb346129b8379997403824232a3fd70312362596d937f301223a049ffc3ebeba3f3703931837b2b0d037ffffa43ed1440c367dc88437b53b423870731e3e06fd2e375ebf38371257b437a3703d38052706370000000000000000000000000000000000000000000000000000000000000000e355dc3721c39f37f7eb2a36db00ec36c6f84d393710033844a1ad3725add03791238b39c31652386b30153839492f38efe228388a169c37cbdd3637e543843792961b38e5fcfd37bc23da374ef402384d706238532e0a381231cf376c900f3818261438b05fd137c07c81378696e93700000000000000000000000000000000000000000000803f0000000000000000044abb372373733fb2d38537320d7a36b0e8773872954c3f8740ef37bb1cb337f8ef4f393d15273f617654389df31638aaa42c38bcd7003f3b638c37e7b34937da711438209bb63e1d7def3777e2e237a2334d38f204563eb806fa374806d637f5860438fd02753ddbfd5f37cf548a3700000000000000000000000000000000b637a037e68689397c021a37b55d0137687045383e1b3e39a300a3378aab4937ae45ce399bc9553857169a3694d2b536ba4af3372430a437ef53a236786cdf363ef08938a37f18382243af37716be037510bc837b500a137555d843653254237d6d4f4379400e637801c55374ef3be377ca19937faa29b3774a49836894a6b37325a08381addfb3793dfa33738eeec3775279d368a36723f5ed75a3d1e4a02376d1be2374343673f67dd593d48864e37f3670337b9fe433f388e123d18d37036b2360f37f5db203fef7c8b3c7042963612dc0038913cf83e204f133b5f329b3702517e370093b03e3651b2371e8187364e899837c968523ee518d837bd7f20375806123733a58a3d8bd325370b4188361334e537d75c213adb589c373448963752720a384a4d8b3941b7c437199e8936e99c3e39ca1c643a534e5936c6725736d04a263813643538f9d33c3765a920376fa39137ec2da237c77cf936511af536f4d11b39308c3c39262ed13716f7bf375379d43793a6df3776259737785aa23777b7e337824bf837fb103737a35a5b378f92063885e80e38256b8c374f7bad37a1b32938fd5c2538c18cc237aa44e337db671f3713344c3fd2874e3ed90427379f625836f4e8453f335c433e3d40573644dd9c37a7ca223f3884263e852b183713110137be170b3f8246de3d0e9df336a62802380265d53e198a9b3dda939337ac1f8b37582b9d3ea24ddc3c14367c373c2b473758e1443ef822f7377392b53644f6a9371dc4813d0faae0379ff11037896d0a38f08f7d3949e5f037097d843722e52b389208303a5498fd374acc303703d6db3734d0d039395b01379b20d7363a58c2378425d937e9549036bfed6d36ee5a0b38e2923339bfdf8d371790383782a422381c413638f5c3483749a0f0360b71c937f89fe7374c18093755dded36ea65cc37c57f1738a801443770be38374b387337f8ed8f37b7412037606d2937e64f3138e75c1638b3a56537a7ac6e375f6492377be6263f5d8db13ea6f7673717ce07371885223f8203a73e83fbd636ad99233752120b3f1bf1863e4f0c6c3685e0b5378452e63e0036513e686a2737ad107837fed9b23ec332173e4892a2368ca316376c72823e49a0a93db75bc7362c963037bd57243e34d9ce3c25f41737308419377a9e6d3d426b4937e37ee6361989b637e853973957fd7637f04e4237857ad73745a13e3a17d08037d5315a362d69223825b841394fd736378f258636a0ce0e3a7ea26a3a9df1e4361985ec35a6b61238389136385170ba35b94b9c33598656380b806b383540ba37df19283768650738575c12386e268336ce96fb356f5ca4397723143a4d002a37b8651737ec7715389c433238baeb8b37fb303737b142f537284dde378f5b2b377a4327372dea0837805d013f1488fc3e84edb03665ab7c37f702fc3e46e9ea3ef6a28c3660c62d379ccbd83e2691c23e5d2c3e368dd6c436a42fb63e3f0b9a3e1e784b339b4c023870598a3e01176b3e79913037f28ae43624064e3e4849113e6c161f35863da337c294003efc818c3d0b9afe366fb1cd37b031473d1e2b13388f7fef364ea4c5379198e839ef8da7377f6f003782e206380cdcd439f2b060378b0c5736c2a37f37eb75363ac6de9b3600c01d36a368fc37784e7d397a58cc3657e5bc35f101f13704acc53b9b18c03674bdb9362ad4233844323838a1cbe4366cb7a835694e043831100a38982a92377e4e36372481ad3773d0bc37207412374c8273360536dc370e2eec37f4223137ee130637c875383869372e38692fae3730839437a44546378af1b73ecfcc233f0241da3690eef73679c3b33eb70d173f07d41e36fdd93d375c6ea03ea420003ffa48c435d93d3237f711843eafe3cb3edefbbb3649ab9637e0724e3e38349a3ebd53aa357a7bca373d69153eb45d4c3e39a11737e7da6337c11fb73d3a34d43d14956b3672d0723767860d3d7df37d3b73d8d7360a522038e455a839e3c5103826f35d37ff401c38ba22833968c8d937fb21b236d3360a38e2a67739f537c8367cd98436775bfd3717b72c38f502493663964536863b0c38a1381838c43bce36d010c7360bf64f39149b7c39ebd183371b7b1036dc298937754a94370a61f7368385f636f5a31338978220384c794b371a171337f813bd3705fec538e7049e363d045b3646f81338517005389b164037d8b8b43688bfa837b0ed583e0493493fae41b336e77378370e45583ea19b393f51a1863601fc6337d2e74b3e46bc1b3f727445363e16aa37af172a3e3de6ff3e9dfac836591e0f388af7023e25bcc13eb99910367acf0137a5fcb83dc6e8833e8b29ef367314c037dc67803ddad80d3e65900637230f3e3751554a3c55f6b83cc8a35a36edec04383aef3e38e693d937238c4a366df800386b1c2e3a3c43a73700c0253600d3ad37234d0238109d7735585944352d650e38751b2238efb923365b4851359cf1d3373980f137af71f5355d7b7135a6602b385cb6ce3892ea193755ac2b35efd2d73766e2ed37220c4c366a284736c1bfc23708733439d771823620757635f030383818c23f3819d8a837f75094364571c437b0fc87376b95b636e9d0463633299437fe1e833dd5386f3fc94b4936f24bd23671e3983d9b825b3f164b5635dbe5a0372b51943d16cb383faabbd935e3dd6037867a823d9f58173f3e9ca635a6cb0338e7bb653d1eace93ecf212b353a251037c2940f3d3e7fa33e85c04536d4d01b3795f3663cb6353c3eddab7e3570a11638184d273a96be2d3d4cb3433632578837b4493538c0932e37f9650636000000000000000000000000000000004415f937cf2d393822bf2b379bee3136d4184a38aed56f39c7b0be375212c336f6d20c3874a73538be0fca3722f84b373f5d0438a3e62f3889452b37f5420a36464962385b2ff738d0ba3638807cf437e3fe1a382090663819f4e23798fab737baac8e379088ba37d7fd8237bfb712370000000000000000000000000000000000000000000000000000803f000000000b908a37a45f5e39348d703f34273636e312ff37c7b92a3ae72f4a3f45876237a602f737c3341f393f8f243f3e96a937d6b17e37127363389118fe3e9f6ddc36862341389920093a5410b13e752919380b1fe737b0a4933978ce4c3e277bbb3756364837c0f9e437daeb473d6c6e0337000000000000000000000000000000000000000000000000000000000000000084ad2c3abd282c3a087fc63879e83f380fb5e639c6f5cd3909aa93380091b8376f82193aed6d003a4ef5ff3775e3b53743af173a5cb3e4390121863812e074385635663ad385393a0f8a5239956b1139e4ffc5392f07a5391359a53873ca9638d818563af8cf1e3a65fb2138f201193800000000000000000000000000000000000000000000803f00000000000000000d4b0b3aa503613f14f6c63913de52386e97dc397fbf403f378b9b39603ff137a6c0163a2c0c203f485e91398425e33716e01c3a16bbfe3ea9cb4c397a1c813813a76e3afb55bd3e2f07e939fb110839eb7dc8395b317a3ed804333921506338dfc0633a787fee3da79b13395772133800000000000000000000000000000000bd0a0b3a0884333adbf78339888bfb3772b2113ab588363af314dd38e02cc737c0196d3a022c9f3adcf023385345143823ea163a90e5233aec2a20388490f837ab962a3a67b2293a0a52f737fbeea9376c1c8c3a9852833a74849738d92d343857fb3b3a5759443a10e1fc37e6dbba3747fa0c3afa761e3a593c0438562cf237e4e31c3a6eba153a6e7a9939dd9d8b391a1bbd392623613fbf11ed3d8158113968e8bc394c1d483f166cdc3d5bf10d38c63ef939993f2a3f2c37b03df2f91e388e27b439d1df0d3f8b168b3d91000e389d7f043a0990e23e91b8583d5416d137344c463a4e8ca93efa78113d831f473819ea0d3a91c5613ec3c49f3c0a02c4379838aa3931a5e33d6f0ca238100bf237b8e2143abd4a643a5073b639dc9577390285f239c7d6aa3a30679738eb4ada372bd9273ad157b93a5bcd09382db6c43789e0963c6b4fa33c4f5d9a39c3473937059e3e3a2328a83af923453891e108389648bc3926c5273a30072d3867b6f837633bbf392078153a08351438378aa33735c3143ae0ed3b3af6888e3931edea3829519e3936b3193a6b0e31387b571e3829b6fa39da41093a92f2d438f686ed37998d893831a4403fc3aa783e96d80038a4bed538ba412a3f8fe85a3e2ce4e637bef7f539a41f0e3f1a0a2c3e59c00a398108e2384039f33e8dc8183efc3d2738a50877391d65c23ec361ee3d304a1238855e6c392ecf913e63f5ae3d42eecd37909fdf3922c3463e0fbb193d753613395e0e513845d9c23dd9f0a03c1f082438a405cc3995cf7a3ae4376e39d410f137e3b1f339dc127d3a9983a0393408fa3717fb8a3a3d9a293b2531f4381622fc379dcf1a3a1836a03a110b50388ad2e337cbfe403abd11c73ae8a92338b41105385f55de39bc3d313a04f070383f6ef9378bd1e639c243833a89ff1b38e5508b37b392043ab1404b3a5875b537cfb892375c8e263a404f873ad7875a38fc6a3b38448d2b3a6e1a453aa231453833d53438e3404839ab68223f1d7bb83e6b11bf388bc4473948760d3ff19ea63e7d07133893e65839b1e9f23e73228e3ed4551238459234382d7aca3e13976a3e2a38133830ad8a39e0e1a13eab53393e251a213862ace438958b723eba66073e7329b337fca5b438a2e2213ea668ae3dae57a137fe2a4f39a668a13d3387133dab85463811af083a8b848c3a5b86cd39b94839382135f5399712353a0f9cb2394b702738960e523a180ad93a57ec26396700d3376d68e83958e9c23a0ae710393665dd372a1b473a96b88b3ad528873871a41b383ef01a3a974f873aae0bc43810c7bb37487f393a1f037a3ac80cac381b0d1e384ed9053ac2e2743aebccdc38e70afc3755835e3a7d31933af62b1838fa91ed3733a3053ad06f0d3ae31e563977852c387e5f87393debfe3e209ffe3e292fc9384c0a8a39408de23ed9c1e03ef36e103819148239f9d7c13ea439bf3e898d0738dfdead390ce3a13e1c3d9e3e14f82638737a6c394a0c813ea5e57b3ebd5bed37ac44be39aa5a423ec8e3383e7f192638be65a139ae34013ececef03d644b0b38ef5d0e3a855a7d3da4e8513de1680038c02ce7390a9d363a060bcd39cb983538c73b0a3a86c98c3ac33ed439b44b2338ecdad73932deeb3a8fc76b3893031238434ad9390fd8923a445db737f8b346372289ca39c400b13a9cc22f384bb37d37591dd439f8cb303a7e9e8d38ba3aa5376d980b3a5ed6af3a4d8423381e8801389bc30b3af132623a9f5528388189e8370431833a6d97ce3a457f43382eda08388617123a8518213afcb8123940010d3803a9a538112bbd3e72f81f3fbe09413873bc69383833a93e09de0c3fbc534538f07bc6370267913e5081f03e19e9943715286938bce3713e3151c83e2ca9a73764cd7839dc20413eea639f3e9a811138e69435381e36113e9bcd6a3e03fc0f3838c18c39971bc13dc86f193eedb00a38e1e6a43994cf3d3d9d6e8c3db3ab1138c6d4e13944df763aaa0ccf393ddb143890c9b539a40c563ab677ac39b340d037d3721239f41fad3a6d9543387b8de337ba82153aec8b5f3a32f26439c5743f37c440ad390477593accc62038662932375057a639e0c34b3a64833c383868ba37a7c0f039de91933aab2d5038f232d4377793253a01cf9d3ca9a095399df22c375ed60a3a58f5593af50d0c38265bc03721f2cf3974ec183a72ac1138c996dd37573a3239eafa793e5e59403f2a2c773827473e38b911613ef3ab293f15f622382f6ac939c059453e0746123f7964d8370f77203923d7203ea7bbf03e7abaac373ce94739f752ff3d2ecac03e6a7d12386297c1388d49c03dbb498e3eb5131e3807b2053ad8e8443d08d82c3e9cfcce3743bb83390fd3fa3c4a81b13dc03ddb37d8c648399372903a2ad4ae394916f5371848023a54644a3a0f620d3a6ddf4e37d9d1b03901868b3a7a251339bf9181370568203a2fb77e3a2f7d1c392c7bbd36c8542d3ac96fc63a6b3a2439903a8137d223f739b38f4a3abfb6a538357847372b78a939bb903e3a809b79385ae7f4378967173a3ad7883a81bb2a384bde0c38fafbf139ca6a133a52ee18394bf2bc37935efc390e2f0b3a4e9b8039c4e7f137fe3db3395dc9ec3df5c9603f03b69139a4627b384784df3d6ec8463f9588ef3713a57d39a888bd3df3d1293f5c2eda37af57993945fc9c3d22100d3f36fb5738a79d3f391f1e7d3dfdf6e03e2acbd4375ea3cb38c1803e3d9237a83e9a2a1b387d191f397acff03c6b265c3eab331a381285b139b07a3a3af774da3d5755ea37bb18d63925f8243a0105fb39b9860338000000000000000000000000000000001797063a28b5923af5e8293ad11bd537c131a139c2fffc391d7f883938bada3714ea333aa09f7c3aaf3e1f3a6e7381370a35c739d4ad2c3aa5819d39d5426f38e97dc939fbec2a3a5b4d8339058ac037e100a5391795e2395a048639c18fda371593c9398391223a7774a639ac8f86380000000000000000000000000000000000000000000000000000803f00000000691e5339dfd78b3ae694603f30ab533993ee4339fe0a083ada95403f78bc0739bd42e0391969843a2b6f1f3f50c7ab3985dd24399de03b3a860cff3eb39a8a3877dc5039fc54463a5db7bd3e461421385a616339009af339007f793ea582f338a67597395e3d353a61eced3db48e163900000000000000000000000000000000000000000000000000000000000000009539a635ae3f863515ef873524448f35720988366c7b70362e607736cad885361c78cc37870a6f36c6dd7136bcbb7237ca71a536a22a9f359721a83514f0b835545f0e38f286b837f179ab37fe3ef937eb2fc1379e159237df8875370124aa370e9b1b3651e26b365b39253619c3303600000000000000000000000000000000000000000000803f00000000000000000df18c3521fa7f3f5d729e36bcec8d35985997373681643f3e8ec636040c863658353438aa6a323f08a92238402b3537b96dcd3603b9013f883c13371219b2356400083843faa03ed0fc31389900f337b04b7037d9affa3d78f118383b019a3708abe9356cbfeb3a898cc136317c2936000000000000000000000000000000008d7cd6340545823618af953682759236cd73d0352dfdd235624fdc3540f4383632e11736e94ce03573260536724c6a3630435e35e5141a35e8074a35c686a836e3a7c335137ec4350b37ce35972dcb3583e19d351ef4a435a2cda335d327e3364495553783099537319a8b379f3ca137d74d9335a77a2b37dcd4a23564dfa0358eff36379e1eae37ba79a8371d6f963796ad4f340ff37f3f62612b391310833600aece3549f77f3f5228ad38da84da351900013641bd6a3f471e0b3898a93b36619533359b13393fa74333382983c9357cb2c43516af073f4bcb05397e37cc3559bc9b350c63ad3ec7ac4d38760082369d192735b64d0d3e4aec49381a3f8c37e9b592352b821b3bd976e7374b86a235bce3dc3508751c385bfaed3789193e37ee4682370b10ed37a90be2371b32c037e3f6943653289a36ec54a236f1efa53623b1023572429b34731be534eeb83636e9796136480a6136a3bf5f36ed93623683afbd3758379537b25ebc37fb1fe4375cb6ec344c86ea34d47be0341478be34de7a7e374dd4a337f2718437d1fc8a3776b3be3759721438ca95e537571fdd378cbcd6367804af3755ba68373b68aa36ffbe2b36fa82613f33aff33d1a0fa937371a8136df91663fd16dcb3db104a136a1b9a434e2344d3f00ecc73d6a269d34e09844368a15283f4c0c4c3d0b286136e6260336c89bf43eb747ca3c86b1c137d702d73427129d3e8bd73139fcf7cb34d7eb823656a60f3eb5612138b2f25b3738f2d835396bf53980986038818496378ba41b35c6fc49381ac316388b95333581170937c0780e38a1fe9737aec956353a9bf636a49baf37e443aa36e5ba35360e6e8e36efe18e36d1908c36443a8d3676e47c36ed9bc335431fbb3551cfc035c3486a368dc73c36f9511c3676ab17364e7f6537f0918a3733243c374bd74c371d912e37ef9bf5373a0a8637723cac36ea7b263753ff973734a3a13681979836b2f8a0379144a637783e92373b2c8f376b784335b4a2313f5d9e9c3e4c554a35b933053692ab363f5e9f923e91171636cd608536313c2a3fea66793eb61e8836d8dbb4356d48083f9e43303e03dbb435609a0f366502cb3e1da4e13d43131336568d8436faab843e59c93b3d0438e63634c15e362fb3f13d9e7de6382e3586366dbe87368a9491396a960c38105f8f36cd5166375decda3781ddb73724c65d37de40683682013c38c4e90536c17f8c35e0920b36f7470d363a1b0e36520b0a3699af6e3764aa54370d49433651e238369a2ea237b63978374b97e13544bae5359362ce357718cf35deaed23547bace3514e4dd37d2681338a8c65737f14dfe36ed73dc37ecae26386d04d0377247373727c30b364fc30e368a8d10367a3d0e365bb46a378f065d37a6fe0a36ff92a535537f8e35d601023fb9eefb3e6baf853564c80a366227083fe8bdef3ed9090a36327048361408fc3e2de7cc3e8537323676395b36db16cf3e0192963e49ded135a617cf35feae943ec7da563e859ace354cb6a1369be94b3e366bd13de27ef935900158363facc53d4716343c0a955b3619290d36bc9026397c033038265c0f36829b1c367e9a8f38e89f9d376ac48e35b44fa93784ddcd37fbb65f3792b49636b51bc936e91c2137e9b67236ca6e71366f40433759697a364dbd3336b1a727369fbb8f37e0714a3722a25736966c55369d991837fbf39a36cf110c36e0220c364d3aa73766918737f39eb2350547ad3501583537b8288337bb0a93364b8a8e364f180c3859530c38b755023767734c36e53acf370f4e9d37b394b235b2334b359b285a37245fa43e65c82d3ff1be863688bb8536547ab13e6c32273fa4525e36f5f673362b9fa83e5a6e0d3fb2711136e8300737b3948b3eda57d83e5aff3836028d463604fc4f3e599a943ec446073605cb043663740a3e892a243e6d85b235c6c19436dfaa843da06edb3c07ea8e36d9339637ab35b638ee6c3d3825412d36a5d186377eef603864e57637b74953352d19c637adff14383c4b193506212d3526360338ae36c537b5909b353e3c7d352f45a4374c134337d7f56336d62d61366b991f37175e073524e0ce3454b60435cfd52238d39bed37772efa358e5cec35f0f626379521e3365fcd5236c1cb553628e3d637514bd7372296cf3570302535856e9e378ae47c3791e59a3607998e365145de379c76b437679d54375ed04b37e1e828353cd60a3eb0445d3fad69193539b672371e1b263ec152563f94b45635909151373585223ef975333fb08c4f3678afe5343a101a3e8ef70a3fb64abf34dbfa0538fe53dd3d1f54c73eacfbde3549387436d179913d3b34643ed9284536b4978b371fdbf33c6633913d6e24c834413d6037a331f0381ac4df3796408f367b4dd737847e623856839d37a9e97a360903e037dc6fd4370468e2350531e0355e6a0d37341d9b3557279135bef688352bcbcf37d30f11366088ef3484ac0635e2417b378f07a43511d39b35fa839d35d4bd8737a98ac935effcc635691bc23595f07d3775725a37e02f2835ca1e37351c867c375cb291379c11403609a91e36a8fd8237a3e88737ee28d935e304d735ce05893664a72b3690875234ddb74f34d14a8737f13a663ca55c7c3fa7dfd93507701536a1cb0e3dfc7b763f3d2789351f65ae371db1833c9a81583fab13e43467dc5a37e7a9f13ad3d4283fe09b9a353845a53694097e3a2536f03e1714c335463c3337fca42f3a097a8d3ebf9b2735d3882a375936573a3766a83df2d00c36e4206337da9e7238a7aa393815aed835ed79963649d22c377f04e235c2eb4f340000000000000000000000000000000064ef1d36fe050036fc6f6135166357353343bb37ae65c136f7e88336ac898a367cf51c38a22be7373b1f9936d37f98363f9bb636cc814b3684f29e35503f9e3592fa0c38db711c38e9d74337878ee736f4023c37241dd237d7789037ce943b37ab08fe35e59b17379a75c136a12de0350000000000000000000000000000000000000000000000000000803f00000000eb461936e2e74d3854857f3f29995a3578c8b33794a18e38ec9c603fe6878736f12d1d381eba74380f712f3ff7989936d6dc7536c4cd9039ae64fc3e85c09d35081fe43757ad9a38a1039b3e92d6d03747ba8b36e92e3b38ced1db3df042a8373416a3352fb00638ba8ac538c8b2a83500000000000000000000000000000000000000000000000000000000000000007e887f379aecc235f178c435a303be355c86e537c71acf3430417c3476637934f2703838807a74377c47a7356a14c03526def637a40b8b376479f93693c626374d8c0d3846c4bb3761c69836082c9f36089d8737efabaa377b1a213772366537fc550138866746380da21538531d2f3800000000000000000000000000000000000000000000803f0000000000000000a59f9137c6f87f3f1635c7359105c4356f1b49387fde5a3ff8104e353e617f34657d4c3823382f3f3ea1c337a1a2b0354a42ee37a24e033f3c50b137d6880e371612d83793e5ad3e3d4a023801979c3648cd8f36cc9a2f3ec6b8c1379a071c37a01bc436cf06a73cbbee323860fb173800000000000000000000000000000000a3964f36ec31483851079e3761d782362fd89c3627273937344faa36842ba5361721b636c348273673672b3669ba2d36b8032137de63243615971236d8580c36b88831374098333708cfa636522da8369167ec3687999b37bd09f53559e597350ee1e33650c4b037995afc36bb67fd36dc411d3721f22d384fc5b037acccba37bb2ef9360451fe37559b803733498137455226364dc97b3f4414863c729c9936500c8a36fefc7f3f2ee46538052fa636ad301036f584693f311510382e5c2b364e37e33578ce3c3f490d0d389f3d113666d29236ec340c3fdbc71138ba11a936112a00345341bd3e6ba1373815488c35bc8fca362378483ed1e3fd37c1b6fc368ce9ab35c9c7c43cbb40283821a57437d68262337d822d396a4dc137b2a7ff3609ed2835232b423842ac293702148e35974efc3590dc0538a592b73661b3ef3523bc6b365c26f236311e153643e008366d854335256a66353f166335a0be4835c7ae76379532b6373c9367374510403734b2c835ac09f136cf08ea357f53db35489fad3689a88237f77da736922d873607b13536421de6374079c73518eec935ef13b9377e4412384ccc0937b7c86236f973903415f9543fac1b2c3eac699735096a93357ccd5f3f62beff3df44dee3515e1ff358d7f483ff92ac33dde0a0c362603f93442d82b3f2c15163df68f4f35fc980137cf33023f8644943cda024837b7c0b5356d46b13e562829382931e335eda3923520f8403ef560c73787f457361115a7351e93083dc869b63726cbc63587552e36acbea439e14dcf37cfb84e361b5e0538b9a0a438eaeb25388dca0836b9355337e9d55f383af2ff354a2eee353048613556855d3685cfda343521c234c4adbb35ff177d3699319f35a6c5793558833937487aba3793a8e93553d9de3517820638b75d5e386ef0ae370dd0c035d054b8353ab08f37f17ec335ca81b935973f97358ca19b355c7d9c358693933596287b37a12edf37decbc734f12f6634a8e9ca358e582c3fa417a73ee1fc4137a5c2e8352996373f622b903e1071f33510702335b3c82d3fa9c6523e3e8ec234e42c9235bf610f3f34760e3e2b1285356633df354dc4db3e6feba63dc294e335b7b9e434b1af9a3ea80fc33c50fd903665dba3355db92b3e3159d9378a71b335e2fc9035163ee93c9d719e35291c973523ccf534a5919b39540f2435fe3e833485e001362ac89d386961c035d2ae1234c462e8371c4b7738d37ad3356f3ca235bc4770370bb8f2372097a336467c9536d6127837cbb1af37e8b9d83535cecc35f6182938b7325338f9f6c936107b973603de5937b646ec37c89ede3523efd8353fac87372523263868fcb83659e5ad36f8c32a381d194938dbfe05368e9dea35a0955437f1872037f08ba73553365d35f191833500e8023f5de9f93eac9a9b34e129ec35d1850c3f32d9dd3e26d8a7357af4ae36def4033ff7d7ae3e7c099836cd0bd9359803e23e3ae1773e01eacf359d4b5c37f834a53e17a5353e62069c36680fda3525fc7a3e0834923deaa2d835d3bca836e67d123eeaf87b38c783b036bca32e376b40913cf9782338a8b7f335a428e83588c1f239426105362b59393522d743359b1ba438de9fd03412223e345886953575cf9735831c8f3515678035b51ac535a53817374ee9983582f589356d802d3844113d38daf3a03400229534c53d98376507be37bae5d9357f91d135dccac2350521683762dc9a350d75523595197335d3bf3237c39779352929143517ab2138c6011f38ede3ed359c2de3358ee16a382cab3a381ae4d5351cd1ab3552789a349b4cb23efcd1263fe4df43340c9795353024c43e2caa163f9ef4853528a1b435e32bbb3eab03ef3ec81e9135f0fba4371af4a43ea61eb43e5ae39834193ee53518e77f3e5c25753e01bcd7358fe7a9358cb2383e82fcf63dd86d813520741535499de13da97aac3b81743235c0a585370b259b3a50e6e237a67be8359de24338276d6f39f882e4373f57bb3548c7c63711262f38500a1f360a94df35ffed3637ce11a437170aa2358ea68435994f1937f2655237db1c6b35ff181c358b8b8c36bb839636cc02ac3549dc93352b39c337d5bcbe37409382362b8c6c3508fd253632edba36453be334e9b9d834e6b7273706069d3739ab083695e9f635ec40c237211d6837974a9c3585ad893518f74f37ffefa1358356923410b98534a51a5136457e3f3ea6fb4f3f3ff7f235ab79c1352d43643eee683e3fc21492358376a13699b3553e9e521a3f63ea3f35f71ce6350e61443ed593ec3ec60b9d35501b7a37d3b2243e6dff9f3e916e7b35fb0c6b359190e73de965373ecbf4d93499b12036c067843d12d7683d5612f835ecb656376bfc6a3a2f97b9362f389135aafe4737caf65a3857f1ee3426d88d346d24c3373c51dc373074673393566333b128003848eeab371ad2a035e74195350077b13722bb3d37d90bb536c9a39b365fc0e9373e56c437508ecd32aef7cb328893d537ae5fd537d2cd8536a8ef5e36ce96b8379462f537725fd935e91acf3584a19d3787e714387d7216367fc1d83571678537ff396237081f9336538682361ff88437288b5d3669012f36439b16360952453798d72e3db700753faa885d335648ac377753a03d0cca653f40b69d35a9a33c3756506c3d851a3f3f4778a736e4f18f3779223d3d9785153fca95cd3232d07337ba20da3c2d03da3eb55776369d1f0c378798b93a6ba4853ec55fd235dba63a3667ee2d3a5d67b23db4d20136f5e21537da5e8438d235b8371ba68836c16cc83700ca643815294c3602081e360000000000000000000000000000000065d930380f7b07382407d735098dd2354693c5373a169c3724bee4348e9cbd34050d0138afdd1d38984d69366b1732362d03d437a4b90c38069c0a37dae11f36a2850038eef25738b3aece373d38de359772d93552ec3938af2aeb37adef9135798ecf3590bfb437138a8237b435cf350000000000000000000000000000000000000000000000000000803f000000001b932238d5e9ae396c9d7a3fe1c3d835a3349437781cba3959ff533f9b09d8348cc08c37761290385bfe283fd4c0583678ff8737690a80381d4df93eb1678336d6996b37464d7b387c72a13ea97bab372d03ea3435f755383f69143e0160ad37a038c735dc78ac37d41a8338bef8b8360000000000000000000000000000000000000000000000000000000000000000e6e8ed374283e936924a0f36dadc6c35539b23380f3ba6373254993606a48836486b1938b05a61375b1c7e3611cb6d36d7e03438a7b307389113e936a9f198362f591d3822fa1a386f01af3745e8843793e28b37e41b133827a14a3776c9b73682d8c737207481396e37e637b9eca93700000000000000000000000000000000000000000000803f0000000000000000b5860738cd21723f9ef6b036fd60d73552202d3868794c3f39ac5a373f0896368635ca3780ff273f0d64e13675f57b363253c937558a023fc93ec237c28cd336ac17ea37d4fbba3e480b0e382f2a9f37ec6d0e36fe0a5e3e7dca06386df9fb369edb7335bd909b3d958835384924bf370000000000000000000000000000000058b6bc366b251f3c46b58737d828e43640e2f437030bd83903849a35da818f35de952c383aab76380b5ab836d243b336f7365e37f5db3c38d3a86f3676eb5c363e40eb3752b4f93834b9b23750f2cf369c2bd2373ec554382737af37338b8736e5b57537284466380d18ce370b8b213716257737af444f3a83d90c38d2f2dd3777f004385976533a17804838b818133893d7a536f77a6d3f97697f3d03d1f636b9345b35a3ac6d3f52a61d3d197492350ef1a83643254a3f4829d93c3fb4b736bc894d36988a263f3c15803c8783683659b1ae36baba003f6bc5133c260f6e3717544f363e6bbb3e3bd86038517b3d37187642362ea0653e80577f38d83f6937d43bdf358eccb53da121da396cf6ed372e71913609da403cdcac49398da1203827876636ca4f6c3c30fe2437f0b46f36614b2838f3b68f395a47793531d56b35b5fb1638cf14b7380ab50e365d27df35eeca37389e90253917058137733fc8360ec008384f24e539c5276a3679e030362d7c8637a671a139122d913607fa8d363c65f53788d3db39fa80e73797de77378ae4f53621156838b4ee2637941e9636d32b12389c2285384e8e2f37bf54c4361fc04436913e483fe3da4f3ef9767236c6d77335366c4b3fc575303e9821753575e1e535649d283fad3b133e0359ff358d01ec368650103fc428d23dff9dd336d05629364197de3ee2599b3dfd2251366fc5443685ada53ec49e2b3dbdda8e36b756e036db08533eaca5863c4b6491378c55643620ecb43d12a9153882779636d5e1a436ca214f3c994d0d38d059e13632e4aa3715ea473c3ea06637e037773694ccae37bcbf3138af829b3626957a36e7f280381a76ae38ab761d36323f0e36caf94838d66a4f3981d69336ecc87236ad224f38c2498639671ac43540b49e35c5670b3802e48038c5e6ad36115692366fc1053818159d39275eb4378496b13581005e384b13283aac59d2378839a535fdc22938795d503857aa8236363c723636a0a43654aa233fdd67ac3e6f73d93636a5ae36cc4c273f3aab953e4b4f8936fbed023758e5103fe0b1713ea0dc1736654a1437be1af23ec65d3c3ee575883605faad35eec9bd3eefc20b3e9da0b93596888836bb038d3e692bab3de8c69c36e2e7a8356b62363ea482183deab2b2358cee5b3562a3a83d75d6a0384819aa359e9fe336db57313c33aa8437c0ee7b3656fedc37409ecf39e2bf7a3796835c36224d07380acb3638225bce35d02988357479c5372b890e38eb054b364d292536b1bd19388b794438d65f343621b813367c165f387e32933872a6d537df274536780ffd37fd395d3808c95836649140363685973761901c3812216636e0c64d3644a4e23714c43338526db236c2efe0356d941238c0b71238a5398636da1161366a8897360ee2003f172bf83e4c006c36641c1d371af9023f22e8d53ebdc1a6358f1e6436fb76e23ec608b23e8ef03a36f989e436c233c13e21e38a3e3d37203698091838948b933e38c9583e41494837782e3d36ceec633e99c7033eb3564e364ce25236de04133ea4b1873db62b5b36fff135367a49903d4e761938dc7ff935dfddbd37daed393cf824c337779e6d36229fcb3719d1e439637c6e36c9334636e7b18e38174dc2391ec15a3579874b35394f4a38de115b3810e0a83554939f3525514038430b52383d567936b6665a361b077938253189387c3b98351918873584c352389ae3813875049c36a7647b36ff886b388900a1384c0f25365b501b3691a6ab374ccf1738b421a736dae18f36849d8438ea934638f3b69236acee5536c8cf7c3639c8b93e4835203f8b635a36c0390138718abe3ed05a0b3f6ae15635f09eed3781e7a83e3cace83e4ccaa435bbbda4376d868f3e0d93b83ea6a364362bbdab376059633e15818a3e36b28f35956f8037aabd2a3e1071343e49cc8e36eef8e636ee81da3dc398ba3d32e620368533b7368bb65d3dd373fb37dad9963659c50a3819843e3c81802f3757c16d36db981838f591a6387ec38a36d696193616aae437f7d0cc37e6b04f36dc5b1236984e5238009e443869a261368b3a033626f809385b8f07388cbe2f36b12bea35cb6d3138fb8b3e3895a9d735fc3b3535dbb65438ab4d6e387146cf36a492ac3664dd1838a0a044387232e5356c85ae35090626389d1c723813c67535f2d0633548a30f38162f50375ced4636df5d1036537f323717bd613e9046443ffe932f36bb474c37550d703e715b2d3f48d0373661881038e6ec583e7daa103f99a63f36802d46378b033d3eec3ae63e7ff81136d6d894377234123ed743b13ef2f77735da46fb37ea85df3d9b9c653e5162c33647e20737c82d8d3d049a033e4127bc3567de4f36675a043de0d8d339c9f76e354db1a537cab8ba39076e65367e412e362969823829a880380bd366363f23f93578db1e38e15de1377203ac356793773566723138ce1afe3795033d360b6c2c36430a453884bb203865953f3632f22036675d1d3898491038baf44735571e3b3516dfff3760da1f38001c423616700f36b82e4b38339356388672a336dcd78e3613b4ec37ed9f3138143b57350d574635be599b377fcbbd36d2349f363dd27e3699605338570ca13de989683f1a9d1d36164714389d4fc83d74df4f3f631d8735d80a13386f52bf3daba22e3f1cea37362e6a0e38771bb23db4f20b3f4f9c3136907cfb37a7028d3d2493d63ea46742355a48d6368d234a3d6c97913e06272f365ee2e23779cdc63c7331233ebae69b36fa59413701f0913cdca6723c8e165535cc57aa3721c42b3913e8b5364e04933600000000000000000000000000000000e3094a3800243138339a6c3531295735a8661238817be637134adb352c43943595891a38ab432c3818cc7837443b8e361e800338445978382075e53628008635e8193337368c4638d8dcdd3673518a36c3449f372fd12c381cc90038b02b2137546bda368609fd376008e637669912370000000000000000000000000000000000000000000000000000803f00000000bc260c385f6cc63a1d0b6c3f3e876835b9bbcc373253073c264f463f3eb8b735272deb37d7172b3aca4d223f38ef033730850f377953b13897cbfa3ee3f6b03642d58436ea367238f2eeaf3ebfdc8f36ec65c7369cf91d38cadb4d3e4c0fb83797585b36b27baa3701795d3d2a1a9b370000000000000000000000000000000000000000000000000000000000000000f0cea3353ab998354b3fae35764fd735e8238434c9099d3460fb07357c3324354fe912361b83a135d6c384358f1cc5353d314c377d9b3d36fa0e7736f1fda636cfbb5237c0d58233584e5433d0b24533a33f2d36bbd1eb35b09a9135e378e03555724537eca0153708850b37e608223700000000000000000000000000000000000000000000803f00000000000000000a79b1352c11803f59cc91353852ac35c8d9da343031633f0dd4043588f317358906f8351930323f89ff0036dd73c93508655c371165013f79af5b3656238f366b6d273309af9f3e7406393331cc5033fb5d0d364cdaf53d5c541936facfb535836e2c3747aa743ce07c1537a6aa1537000000000000000000000000000000002cc60e343db77f38fedbdd37c8986737679e3536b76e2b3648253436c9923c36b2f9a531b0c2d83220f7ef34ace1cc33c5921c336cd01033bac42133d3be3a334fd27d36685b6d3621c56536c6146e36d3a3163332cf0e333ba41c3307ea1833ef87fb324da2fb32ce730a33a5ca0b333f77c5369983ab36ed2da636354faa36239dce35fbff1f36f35c0b361856d535eef3f833a921803fcc3a1439abc84b37fdca13364c11803f860d35389e94333673be51319861693fc9c8f037eb91c23409c82e3306783d3fe80c1f3342b344336a8960367cb60c3fe71593378aff433658311c330af7b73ef7d5603612831633205c0a33baca2b3e553c7e3795d11433eaa88f3630163e3dc87e2c372faa9936d2da6635566473376344ff35c538dd35da5d1c337c892b38520d4c37150d1b33003b613609cba23792e1ce368caa8036785bf335ae20e335390ff835f4b4f0353b22a8359a0d8c354ea48935215d7b352e4e9f369c70083683ba1b3682b3b33661120236b7caf435f4d60d366dca023661b7883525fe873581389135a7978635d59b7b3640ea81348cea70341db62d34fa347f36cb12813716ac4f35708558350170fc329cdd613f0451f43d02c823337d5cc435f117643f812eb93da5194536fec0fd35b414603f5edab53c100af635e725703504bb353f083caa3834ef8835ed68e435047e073f32c99d38cccddb3572b909363fafb13e49fa7b3868e60e367de88035ccc71f3ec05317382da88d3529133434fe40f03ce5094637a2386d3487d82c358ddf8738ed8fd236adb354357890b235df0031381f26c635b622963583c79535756a1936d40536350d7b4c3549de9d3597e0b435e4bc9735dc5eb135d08d0c3669491b3674ae18366c27ff3574f755377f210c37df1ca93661ec1a37717944346c1d1b34885b7c34afbb02343671de35e6c7e53518f2e73596e6c035139586379fcb6937c008a73649eedb369ef217380a5526387bc3323703734237c9529035f85a323f0af69b3e8adfa335480b1c352b0c363ffaee8a3e6aaf2235884095352870333fa30b353e6f228d350c1804368d111c3fe87ebf3de0b30936dc114f3631fdf23e7de2e93cffc8a736b7348134ab17a53e6120a1380a8a2734a88cd335a4e91a3e9c16373891b4c5355e059636ddc2ae3c5818ae371ba9b036da74883254a6ba38e19b0b380e23c932f9b42d345fe217380aabf533f37f11340b337d3633209b367e3a26367676543690ad92349e5dc934ed759834c4af0534ef7f293336fa3633c3054833e2672d333d746f36e204653673535536f8025a3616092833f18b233359a632332c0d2f33fbbf213509fa3635f8a19e34bd3c2834e3f86b364b957b36fc386136acc15d36c93f81348e9b82342dc68e340e4a1b3417281f34fe5d013ff006fe3ee08f1034f5812f362e8a093f42a5e33ebadff9358514c333b683053f5c56b03ec67ed3335a6d38337701f63e620d663e2e2e3b33dba65c36c7f8b73e75dd103ef9894336e34f3433dfae8e3e96ec9f3c368c30334f7d1535738b0b3edde8c23673a072345a4e7b369a96a33cdef878364ba93a3674871c3478de6c38cdbc6634584e0f349c0bd1378210b238e88dde32bb8cd8321939bb368d1e01388df777362ff79c369203d7356c53d335ca38c7356940c235b1910a34fc2e0634978d0c34f2a80834d874bf37cf0bbe371cbf8d367625b7368c920e36c25d0f36f42c1b36221f0c36877d9535795a8c351de69135d9fc99353f2fcf36dd75af35f4369835fa5ac2359253a7354f86aa3500ffbd354a4cb83541b0a832067da13e13ae2f3f5e8edd32edc98e3665a3b63e7ab41f3fd6ba4d36b707ec35fbf4b43e5c8cfe3e3e3cc63566bce133f969a33ec210b93e13b21034f6fa9136d0b08f3e6160603ef8b77436eee51f36b3b55d3e785ba73d42d11b36a5529b3549c0ff3d3e8e5e3811fba235bc156635afd49f3c19ae3e3753e3553575d5b335f83447384e1da535eef8c1359158c037b57da1385b561e35f1e4013533009d34755d61377411743489277134e28c84359d049d35662e7035bbf59735d94df635e4310936789003364000e035933481376cbc61372ef2f335951cf935c02b1537c9209d37d9508b357619933570dcb937b896ff374a7f03365213e535e9c7ee37962bc03763193936c74b6b3663b97c37662c3a36431e193383910333e15722358f5b053efed55e3f9f7cec34bdf05134574b2c3ecacf4d3fe336e733cdcf7c35d0a71f3edcde303fa65f6a3572c1eb353833223e7d6dfe3e6139eb35ae64ee35dbf40a3ef483ac3e22bfe7352c319a35d3e0073eb936243ee32e9435b1a5ec3570d9d43dac9e0b3a1031ee35c04f4a371630a73cd72c1b38ad6947360230cc345cc680383b62ef328ae80e3480ed15369535e536ec22bd340e2d963549f2d2364617ee36c7e52d36bc947d36175cef3262fafb3207f3fd32cca3fb32b1c214337ee92233c8c32f33b19512338aa32b37ac12263743fa463675025336c51f0f33b45222331eb51a33f9981933c8cf4535166a89377e3e9431356390318ac02c3757aa59375e0c2d362a9b2f36e1374a38e988183886c5ef33feb200347657ec35683d713c1b937c3f28b3b4325a88b336906e293dd7cf693f8f7ae935a4080133637dd33c65c14e3f77c30833e8b41e3315047a3c358b203f34d91e3384d187364f871d3cdfb8e23ec90a2e36e5301b33a83cef3a0be8843ea1c73333c01b3f3522de203ca0c7a33dc1dead32a9d84136297959397fc93638b39d2b365d43153881a3c63822266f377865ee33000000000000000000000000000000001cbc22371cd70a373e36d236d3bced36c2ca0536df84e0358f132835c923833519ee2c3667f3623366216b336bcf65336c5d3537e11b1037ecf231367e223d3630f70336bf230636ee09d635c4abae35a95dbb3480e16e34ac56a634e38ce13466a01336c6397b37a4efab355268ae350000000000000000000000000000000000000000000000000000803f000000001c231837339cd23759787c3f99efcf368b5a063619a646363986613f126abd33147e4133a86582384890303f49b574337ee683366b611738a515fe3eab4149362677d5354049eb365e2e9c3ea4dd36353c05c43408dcf236c879ea3d943fc03429c9a03577c10d38281edd39d2b2c435000000000000000000000000000000000000000000000000000000000000000092fa983678f45d3630705d36c24f95360c7895370a4182368e7d6036b39d9236230516382e9c5836058a3f3618887a3681d7a837e29dda363f7bd436a7faeb36e1c984363af07736ea94453675046536ffb49a37039b6c3620043c36e04c5836ecf537377530a63665508d36cf1ba83600000000000000000000000000000000000000000000803f000000000000000056f09236b7ea7f3f97db5d3635b6783698d0de37eedb5a3f56d27936e4ef8636da8901382e0a2f3f92964e36f059593687436f375fef023ff841dd367df1d036bd803d3682d4ab3e1c066a366ccd613683b747367f47243ed3c54b36ab934a369c2c8f3662572f3daf099336a7858d36000000000000000000000000000000007778d63553620c3a8448c73755a6c7350000000097dba9360000000000000000e25a6f3607248136dc976e369f5d5f363da82836e40a1c36ea692636375f173600000000000000000000000000000000055cb536d1934d368dcf3e36e0cb3636f35f6436064120365f59d03596f8b035247d1d37c86d9d360000000000000000aba8c837e38fb937b33248371f0a4d37270d8a35b17f793f9fadc33c7a2cdf3500000000c85f7d3fdb22e53700000000522d5936cb5d763fa93e7d3641a3673646991f36f57f473ffe52323665761e36000000008fb2193f00000000000000005ad631367e07cd3ec453483655583c36cf04ca35ab73603e416810368ecdcf3500000000e78dc03dd07fbb34000000004b724737adc1293c104a92372ca4283790402334babbfa3ab4bf4d35b4bc39341b917a3471c1583777da8b3411ed18342e097c3530ea1336699358357a02243344ad4135e0872a35b39d0d354bdb29359ee9bb35e544bc35c8b7b235a952a6354a835836ff6653360e2782356eb59e355ce23035b44b2235d821d4346acfe734925d8a370bdc8d35c9747d35f4f67535971e9c37e1db1237ac17e536ca790137f787f83303e8523f4fba283ec2cf563474d65f34a2bc5b3fcc16b53d07cb7d3400000000b6eb5e3f9e6b0b39b8790435b6304d358de6453fa9e00336ef3d36359f47be3593e3163f46adb835d3c3b13531c6ba35955bd83e6f642c365f926d35e0d53535dc18723e80382335e731013545b895350a24b73d1a988635fa738135b3f7d2364b20093db39dee36cf0ede36e09cd336824fe63aebc1e236ab5ca5362da49435c2dc1938a901a4353396b235ca1a943584008b37ed02ce3501be573591da4b36fb469036c0946636205d3436ed27023633741736f940c435ce67b135499fbe3694b6a03685c307360e50cb35b4a99537d1081436cf7f0f35723b93351282a337cf18103561ba0234d15a2d34f283be37b1c4b1364e8a09364873c035ae7dab36851d2b3fb18ca73e2811bb3673ee8a35e7f7323fdc91763e0722b835f80e58354b52343fc8c0df3d00449135c4980c36b7b7303fb406a5389c5c423646549635a54a0f3fa91b26385f18af35ec63ed359712ca3e390d9636dd0ce83594fb57355f30723efa6bd83504bff0344cfdc833c31cac3d9e9a3f346763b333f440343661a4b63c383a803608a7a5355d4a51367d09183b2887513695971b365ee80d32b8e1bf3aeb1a223252d1213236214236c1330f38ab9e21369f7516366185a236daf43b3851619c366f9a8e36b5520835e2916937d7d06933f5c85733b677ab364b6ead36b3b6993604a89536f3433636b2ac33361d5726364ce411368a79163279da0e321f081432cd64f731bbdb4837c323c736810c3336a6ba25365fdf143608fdfd3edea8f53e14d132368c3b08328db0083f0e83c73ed9e8213290aa2736c0d9073feac3843e99a60f3633bc95361b16073f8d22e83d03d49336854a54338ef7e93e42cc313d04c15e334cc4a136088cb83efd4ba936ca959336185c37366012583efb5d3a36eb6a233660bf11327fc99c3db2191432fed2043275b65736f1f3be3cbe5b41362f091e36ab97833600da1c3b284827368fc44c340cfc2334634edd389f1af533d105bc30168c2336f548ed38000000000000000036db5a36a9640d383e6e0836875592355da1203639e869380716d035db2c9e35d39da336002d01377da7f53519aaaf3552c02b3696b74a36c8d16d35308874358f9daa357300a335fe228d3559c986357ae70c37748f01373c47ab36aea0cc3653e20536227da83e7097253fb0b11535d45e0d34d2a8bd3ef1d60b3f4d639d334e990b35af32bc3e2857cb3e00000000d2d92036beb4b53ef7ba803e67d7a0355390b23551ffae3ef1daca3d6a179a3592c95e364a0f9f3e6b1dc937fa85c335240e1736df9d3f3e92952036018371351fc0b335c1ec793de3d096359f0f8b351a06ed362d6c553bfda4ba36a4baa936e16df63686cbd13a84b0be367fdf4f363c28813505b6cb385b968c35275e8a35e9792235a0b7193782b60235945a8134f591243635978e3613a4e83400000000b27bae35c36f9d37969cba35bc01b53589d97235a2d839380dac1e3575f88d345eb1d03592dc1f37000000000000000081815a34f0f0423478fd8034ecca4934dd93cf37f707b23486f41534d4ab9a33b7abd9360014223e8f9d4e3f2b0a7536e9837135d828543e5240343ff49090359b1c0135f565473e08eb113f53a8c834d3dfbd35b92c423e6e0bc73e00000000ae3ba63514742e3ed32e773e6209b7352b7c1335491a2e3e79eb6a3d69891935623bac359517053ed615cf3700000000276b5634781e5e3d08f28e34582afc33084440364eee1c3ca1a42b347afcc633a0a6ad375a09973a1e4bb536fdf37836e40c8f35aaa0a437000000000000000020c43e36ed962038f58d8e3593425f35d5a34d36a18ff637cca30f360ef30c36000000009519943700000000000000009e764336f1ec9838d88e0e36ec1a0436cab97936de0d923739f95736f2864836f93e1e36f17220370000000000000000b2092d381a8e013713929e35f08bad35224a5e37ba43203d1517733f1fee8f36000000001e2f8d3de578563f0000000005dd0b3648bf8d3d3567363f89845d358e234a36bb12563dc94b0c3fc8d806360000000023fe7f3cf1dcc43e00000000023b32366ad5ea3aa44a613e0b5f06367b318336dfaa073b4d39133d8a955036000000009ea62c3c486d793400000000710410383ebed53a7b98b235c4d5943500000000000000000000000000000000374ba53684a1a5376e8f2636845dab35dd568236f01003381db08f35440c0934785e8436f53525379bf8903502ef6b35911601378d071d387963d1369bdac536a848d9369a728538a938e33634fc2336c789ab3626022238d34a11372e5a9d364e629836e1cf82370e129a3674aa85360000000000000000000000000000000000000000000000000000803f000000005b5b93360a98ed37c63a753fe5b1e53508385136eafb673892fd563ff372aa34641c6f365afafc3787542a3ffa596a3563a2e536096d2438af98fa3e0211ce364fe56a36346493385948a23e5bb15136459394364c69d637f03d153e6da09e367dc388366c0906374de0bb3a1fbe95360000000000000000000000000000000000000000000000000000000000000000b5372f38ceb9b836369cc5342a6a4b33c5d1bf378c35b8324bb4b932215abb3289cef63766fe8636ac396d36b3705b36ed23cc38ca0dab32b076b7329808c2323daad737e0bc3f35288cea341f212834e595f7375a68ae360b06a536de2da43677fcb0389693fd36cbf58835fd13953500000000000000000000000000000000000000000000803f0000000000000000a2f72138b7e4773f85cd3d3516396134fcf106385ddb4e3f2f45b83272cbba3265f5a437296a293f5d1c7b36774568361eb093324a66043fdcf3ac32be7db832bfe442351ddabc3eea6a23351a104e346d55a63619a7513eec12a836fe68a43673f841355b87803d277d8235fe398d350000000000000000000000000000000046b5d4359488ca3c07457d37f8493436e642a535dc2020380e9c21363b722436f43e86370000000000000000c2f10431ccd8bb374fca6a31d9707931bcad8231f797f637a2ebcc354af453357319b93477aa8638afc09036093a813328b88933ec1ae53777436736fbfe1336ef120b364f6b1e37c0de2337d8b629360cc32636235421389e332d3843a2fc33b55e0234048b2e35cb41693feabd7b3dc22c33362d8ecb348da77a3fc7b7d03784ff1e3600000000051a703f0000000000000000271e4e311a7a453fdf3c6d3178ea7a31e5a90d35726b193fbad3c535344f1f35e2055233e479dc3e365676333f2685333af8c5351edd883e193b1936cffe1236f594a435c74ed13d9e543736ac4e29365fd5e3335c0e473dcb250e37838700346305c0310a0c123d06f41b32db503732963f45353262ce3a29821336110df63497f3ce3601ae803864d3b535f7bea8352987e0378130ba371d12a13303719733047ef237f72aa437fbf8f63476bb9934e1fd113648ffbc35b13a22353c7cf83413ad253808aa9636e0d40f363e3dec3534b076373fa82537e4fcb33460b9be34a11955383b2215376a7db93457d3bd3456c19231e310413f2dde3f3ed3df2132ef6fd5335832533f9b00fa3d8348ab357ab84a350cb2543f91149f3c01adb0357e5fb13300133c3f029cc83480ce9e3323ac11352bbd103f3310af3558289a346b4e0c35e2efd93ebb7a4a358e820835c60acd3591dd863e7172413661a0f735c44a4e34145d073e72c1a7341eafb6349549ae34cb246d3dcce8b73461eebb34409a2e35d305ee3cc11786352efc6735ce61ad3424c3153b2932c134ed0bc93440b61134907334397f922434e6b02a34820247383a5eaa38f06cf6357292bb35becfed36ff01a137fbcf7a34cc4c813429129c383aa53d372a8dbe339133c2331a6d0b38d2883c375c6b8e3659c18136069a6f385c9db336f3ab613445d34634cadb70384c7dd2333509cc33f559c33388bfb9343d9b1e3f59cba63e96c370355359a5346e432a3fd6ac753e5537c53400d909347ac22f3f11f5e73d8fe52534a8a8ef35df3b273fa2f9133dce1ce035387d6634ff12083f539a78343d448034a089d4343c31cc3e3574b8338d74bd33e2b39e36f691843ee334983688fa893699264534f08f083eb6256934f1475334ef05db33a91b353d16edd3339d63ca33693cc031fd7bf13c86c2b63141bd0332c6b7a93599a36c3b66699035a181393500000000cec7cd39000000000000000058d9cd3665fc8e3801f06432aae35932874a923749b1b239cc95f13555927335164409383b671938981c723281217532cf52023856b1f73500000000000000000fa18537daf4f936ed9544351156b2349037b837f4b0bd31ee51be31b028be310d4bbf31f75ef33e3ee9ea3e19e4b2313836473598ac023f9d0cbc3e3a126b350000000065cf053ff1387e3e0000000012b67232a428043fb8fd003ee57360329b1d08368230d13e1633bb3dde15b9356e016932ad84b73e1ebb2e376fdd733200000000f6be6a3e000000000000000060618a357cbcf43dcd1a9b35256518353e11bb31c23d193d94dbbd31aa86be31f6acd333be67943bd824da332bfed83385ff5b340ad30a3bd07d4f34ef6919342312b1365b1f0d3a2633943662f68136ba93b833fd79d93997ca0735d917ca3313f07434da11003a217e6134de115834e5d864387507b8385bfbe435d1d5c535b25d2437e9861134c32a06349ff2f4332c89f3359827ac34f97ba0341d729634dbf70d382902693579cf9434c29248347193d03349b0ad3e7dcb1c3f6a86da33b50f5234e13bbb3e4fcbff3e7a002f34fb3a903649e6bd3eeaa1bd3ef5de8c36a13eba33aed5bb3e052d703e39d9c334541379349fd5b13e07e7f83dc5906134fafdf1357cc4993e4ad32a3c8effd4354957203462a94d3e623d0d34149402343693be347a6dbf3dba38a934cf549e34d66a6f352e15d73caaa51d35512351340c8db73421f9463b3be7ab34253aa4343bdf95344cebc13a846d4f34ceed4d3417115c3650782e3aa298223553c6d632a00e313592ebb33989880335d34ab73266c1a8354a8f223aeee9833443cb7a343671ab3324670c391a0fb833a212bc338d2e293872a7353865833c3551db0d34281ea638692abb353574b833da520133d8570132746cbc31068e8431b23c153187a2b9349d9e433e49b03f3f5624a9349a57a634737c693e169a233fca6e4f3493751c363c7c633e00b6033f32a0ca3232c21b351f3e5c3e9023b83ee39f993409134335b20b4e3e941f6f3e1dde8034540ca4334234413e86cc9d3dce62b533f980ab35dda7193e7ac9a037f413013512ac1336c019553dbd40e034e65b2b33c63f10329995bf3c6a47a7313caa53311f7ccd375dd82f3acf41e1335844d33339fa5f366ac91d3a0be88d351b0162347c373d36c64fea38ee6e9835637d513460977333e9d125396b94503382f738336b46c735a0d132398f239533ffb68333a61c6731da80bd38a6c74631223636310000000070f404390000000000000000002c0d36b468d7353101a434000000000904f538fcb13f3732b9d534462af430686ffc332cee7c3d0fa6633fea60da331bc12c36a68ad53d42194b3f354f4335a34f1336fc4bb13d5784253fecd4393588ac7e33c09d8f3d8ed4ff3e30414133dca2913557fc393df919b63e41668e3317c36e315d50a03c6f7c563ecd1f4131000000002bf4033c2acc5e3d000000005b9a1a36b125ad3c0dbf9f35c4a1e533f30687383a58493ba8b6a93576c28d3300000000000000000000000000000000e9b57c351e674a3a3a22323534dbb5344ac1a8361455bf38aed1a2362b3f8a36b6e1433506b6c8383e0e183519dea1349938a7329858423ac9d58d324c428132f7e88136eb42c43939e895366d108c365ddcbc32f2a8a8381a37b4321ca809337e185a35381d6138a11601380534d6350000000000000000000000000000000000000000000000000000803f00000000534489354b827e3c2ce06b3f08280735770da436fa55513cbc62483facbe9a364a9c2935982d6e38ac93213f1e33e5342580ad329cec0539ba5df73e757d89329caa6d36cf189b37cc2bad3ea39891361c7abb32d411bb32ad08453e0ca0fb320d831535af570c3880bb023dce2d6b37000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c452a835d5576a3507dac53545abec353bbef8349b0f82345005b53448031d359832213458db033434b52d347927753406dc0e364229f335da1217368304263681542535522cbc34b47d8d34a6e45b356ada3933b01980331443b033bf33fb3200000000000000000000000000000000000000000000803f0000000000000000000000005846783f0000000000000000b5add835592d5a3ff39b783544ef843543232635df812a3f7a5dfe330dc0be3492223534730bf53eaedbae34da9c493461412036347b943e676cf53540d6db3566323e35c451ff3dcaaefa327564d634752ee4327b8cbc3c87618134cd1678330000000000000000000000000000000061740135ca1614359bf65c358d342835bffd0f36823f0a3694e7293621dc533651adb735e905d235920ae43506e7fb35a8da8e356eaa3a35b0a27f35574cf735018f4e35c11e0535798e783567dfd43516b9c2358e3fcd35b1f3f635e8dd0636ea77b935cf439b3567ecab35895517364a6fe635e91ee4351274fc35cb0a1a36774a84352e018635c064a235e52bb635acd5dc343ae4793f258a0e3db2a51735ffbae7353414803f8097873aaa281d36acdba5350f58633f71dc0536b493aa35dda6aa35333e373f76c095394c92b835b34b233599850c3f94bd5235a09135355a04cf35a194be3e039ae23975dbac35c26bf435be2e3f3e38d01e3a19d5d4355d06d6354feb953d8efad035fb98e435ae5ca235e0beba38b45a6c35acee463519918535ae70b4355b58aa35454a873503174334429e1d344e4834348889f333b37aa833ebad19341c161e34f0497f33345e36350143373550ea2235426137353d623b3423d8a033916c8e320000000055c1863444f4613461fe2534aed93934433d6835ed317335088e5f35936f6e35778d943495203e3447ad0f343674b333a2568f34d36e633498520d3410df2b34084975353ec55a3f9448213ea62b6b353868283463e95e3fe1fee83da4ae16341ab35433e8745d3f2800ac3c263697327bf141359994373f6a0c983bc1f64c354a702034c9f10c3f3eb15b3bd9563633b2ff7d34633eba3e4ea9bf3a6faa2834bf355e35d49d333e0eb0343b73606f359b528734e774333d94b80139e4c317342a1b1434b1a7d639864b61368419af334709a834ee37fb34308af634aeb4c034884fd033018df133311df633a86e1b34b62d9835887f8a35d451803588fc7d35cacb96344804b6345155c834fbb6b4342d9dcf3398060334f5812734c6b0e833aeae0536b249f335a5b9003644050a3600000000000000000000000000000000a8083c34cb8a2a3432663934b98c37348b41ea35fe7df13570bdfe35fc6af035378a853434fb2d3f1712aa3e49d4f334e35ee533dc34343f88ed8e3e525b093405da6035d820313f0028283e8e876235a7d89c34d8db233f635a813d1bc5c334d3d778338ee7023fb51b0c3c564dce33ad76fa35b24aac3ef10ab83b06f3b33500000000bba42c3e799a853900000000e3d30234b3af043d43bb4736f9b21f349005d335b1032039322cf035860ce735209b7435b74f9a353afcab35878423354267093690e00f36065a1a36edf41736245b63354da0b235f31667354a1c69352eaa1235c99f3535e1901c3545915f351f145f35d4794f358fcd8a358be6b635debe2135a8638035e3ee4e35477252356b9f2635a3fd6335564c4e35f7bca535077c0636c149023688c00136d0e4153675a165354baf7535e3dd7c35e596853516b63b35e0bffb3e9b6c043fd9d10f35b77bcc35fa6e083fa915e63e6933e835ba430a358908073f2d47a83e2f0ff43457570f35192dfe3eb60a4a3e8fe91835a5cf1a35e5e0d73ea12dad3de87160353fc72b351d1ba13ead10e23b0b3302357ff14f356ee9213e7481233a79a345355c7f01369389fc3c9e500636a73df535d2c28735fae2423a13a638354a5f3b355a43b6357609eb3576aec13580ed933525dc6e3453ad4b344e810b34f95018340e88bc31000000000000000000000000b525d0354fbed535113bc0359bc0c43575536b34e0d30734c7408433fd283d3204dbc434cef8bc3430fda6345634953422fb7b351fc4873538a97b3583e77c353db671340e7c18346518dd33ef7e5733e5b8db3426becd34ee35ac34d6c4c53412d7ca35d2df9d3e748a333fbd4c563522ae5834209ab73ef9871e3fcf0af533000000005813b33ecec8fc3e00000000017db735b56fac3ec5abab3e8ab1a93545bb5634f6619b3ee547433e04f03c33a6d6a2344865853e754e4f3da803a53496a0713538cd1d3e8ed6953a5f8882354a4960346df0e83c5060b336de93e5333db0af34736a9f34a3b0903437659b343c9923345845933436f82a348a230c349a350934230f1634e80f1d349ce13e347b3f643546906e3590ef5035313734355c0dde3386db5134ce0c543438740534c6379731510113338d224833684528338d19883512d95635d76e2935338132354acd9233b386c2333b2fab30dae43c33f1fb0934fd393a3419842834e6861f34abc3b03580e6af3505d4b4352f52b435b921fb338ce0133e4e615d3fbb516034432e18343396363e96084a3f5c2b263494b4513534c0293e925f2b3f11c83735df2111343ac8143e6171003f8b9f32347d570c334cc2073e5f74a93e6f3f7b334cf37935de15063ec51f243e241a19357ab08b337bb5dd3d49178c3c2e231431f6afbf333ef3d13c7c8160348702da33c1eead358d91bf35e49cab3522cc8c35d2a2a535b39ec435af01c035193a5b3592a30736285b0936bf20f4359c79eb3561730436d54009363083bc35e504ca35bbe2bc359784de350c4aa83560dbbd352c6e7a35470c8135dd516735bf1a95355de2ca35625dcc35b7cd90359618a3350e04b6356f74d63572c4b635203ee635d65e213689fa1d36fea41336ca60243606f966358fe93d35fd7d47359abb01354b6c8535ff82cc3c2f607b3f55d52c352a80eb35c953223d7c1e653f96f59a3587d9e535c10cb23c9e4b4d3fcede99350300b9350730933bb3a2223f71eba7351f593d35da89253b3c0fec3ebbab0035d4c7cf35216ca63ad1fd963e98d380354950be356c3cd8398926f93d0d6eb935d219193646c3c83a4cbf8d3a06a60636f3616035e16d5535526e1a35faef9c340000000000000000000000000000000008f84534225ddf3330c6b132000000005910673535cb6635234319350cafd634cd63d235387102366c92b935349cad3577ddcc340bd47b344795e933ec6da3338b9d1735198833357352fd346ef4b9346eef8a3532b19f3500fd6835f92ba935000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000005c0c1634e42a52360c267c3fb1cc223324798c35f8149d354665623fc1a3d334f0470336273017366677393fbc51cf35fab3ae342262003584f1083fa5fb2d346ee24035acff6435b760b13e49d1d4340e339135c169b2357c0f263eb046a73500000000000000006d8b273d000000000000000000000000000000000000000000000000000000000000000000000000e8371236754f0b361f42d335e51cd935ab3d8c354f36b334f987fe33d9f8df34269bb6353d735835e10c793569e08835b3daa235f879b235b6b6823589f9833500000000000000000000000000000000311d4a37242f08368351fc35e732f33506444e353d1d5035124d0635ff16d63400000000000000000000000000000000000000000000803f0000000000000000ffbe5737cdcc7b3fe7c4ff35a90fd235304f9e351254553f64db5d342835fa34ec52b43564592a3fb4ba89351100503532facc35b8c7fc3ef29e9735afe77a35000000002e95a23e0000000000000000ccf5283692a71b3e3e231136f47de23522ee8635dc175b3d27083f35231fe43400000000000000000000000000000000240f8e321d42983ab2974137291c0f329420593428265e34a3362034526bf5338b43b23433b4df342d98e334da0fa934d41d3f3558a08c339b02d8320cfd8e31000000000000000000000000000000006b579b3493b1a13417aa9a34ee0c5334f626c634cdd2c8348078b63440e19d344d0ba334810aa234b48bf634e22c18352e9617340bcec4331a2ea233f7b03633451a8832dee0733f3c84b03cf44a73321ad14a345f767c3f06805b34a59d3a341ab69234dcd2753f27ee4235e30ab43467dd9135cbd34d3fdd5d08330c57803200000000dbd0243f0000000000000000a2759934ca7af13e3847ab3497105a34ef7ee9340f36893eaafac234bf0b5134916db1348194143eef2daf34bd19ea3471ed36346833473daf6dee33eb551833f6b46435d3b1a63c4cd48335e9823935c404073613412e3a55451436ad82de357a6428356a1b7e35a5cf1c35682145332469b0340328ae34c278a6346f92bf34eb41a035072c9335fdca9035e3d32935d83ba435394b753439ea5234a9c03834a56ea634b9be9c34ee6eab34434fde34799f9c35eaba963513166e351a232035a8e5e9373d2c9837b217833319e67533261e27356a144a3fea381c3ecdf56835e16ebd35734f543f94fcaa3d1ce201366863343394795e3f7fa09639b375eb33ab3fb834cb675c3f8baaa534e502be34a62d94352380313f14a2b535a48a493553a61a350b8c063fb1e2e334ad9b1534316cb234f042ad3e8f729634e6f6c634b9547d35cccc293e8f149535159a2f35b0bf013545ed903d1365ee35baf93d3381528635727cf53ca8eee73605ec7f3580713e368702943a08f5fd357698ca35bbcd063511fdab395485de34bdfa0035c3b8ab34063ddb366ebb57358c383d34bdf16b3625c07a36ed1c1f36792a0c368dfbe235aa82b935f8296035b99e8c35f2321b3653c1043515022934c9e01233d2ab543603d45e3618b40136d28bf435c05b3438aa5496354a107435e89b6d350e7e4635bee81d3f8238943ebb466b3568de0136af4d243fef74433e6242ea3519497734e8c1293f3dcc893d92d60e35f813a63480052f3f5a6a0138cd230a35c57d533625fa2a3f93128636a0cc12360e14a035bb07033f9b2b7f35bbb51d35f30bd7343e5bb43e30a3823409d7ed32aabb2d3684354f3e61ef1e36f6f1f0353b2587355cdb833d05de5f35d3144335e6711c32d7b4443db2ebdd31f9f4943136c5a934bd119c3b733e8934472f6434a4da383589b7113a4814c8352537113516efb0349906ac39587b3e340000000000000000000000000000000000000000fd045d344b7d0f35f3ce3135813ac434f72092354c2cfc34cc15f53323693f34dd11853459508734d1baaa34c2c9c43483e6eb371827fd31c97b0c320c483d32472119328911e23e9489e23ea92f02322bed9734b5b4f03ef95aaa3ee06a8a3423a82e34ec25f73e500a4a3e99a88f35ed789434395dfb3e7874433d0000000000000000b531013ff67612390000000097bbff339972f13e9cc4753545fe2d35d8eabe35919ca83ec90493340590d633e0f28834fce8513e51b08f342d40a8346c21ef31e17ea53ddc580032d77f3f32fb727e35213b0d3da6ea663500fbfc3443ac3036ff5f7d3b2dc7233689dad835249f2235e4ac173ab155c634f5372c34521ba335b69cc239155882357309d7343ad76e361ef7ab3990826936d16a3436e6117235d248ee36e330b334a450c534fe6588358b3c703462523e34dde86334afc54d36d3d34736703508360032f935fac0d137332eec36e6eb4c350da32035accd5935f098913e24dc203f347f2935b0faf93546f6a43eccabf63ef284f935aaf67e34c735a03e877cb03ee2f6d4328bf6d2340474983e59e24c3e56c8b134bfb32936548b9f3ed2c8ef3cffcf4536b29e3f35ea90a53e973acd374c4c903404141435a9cc8e3e3e29923466c05a34c7d50b36d95c333e44e22036fa1fe5358f159337358e993da31930358e1b1735ad05823573e3e03b30e7273313a61333fe01a7357c07c73a75063135cefe0035b8c5a434db0e913a974cb7342929a934d3c8f834269797393bcb87348322113492a2b4357a04a338887364353a44543578b5b434779a00395907cd34cd38e1341052613535e9a135897a0035050d3b3374dc1f361d212536650dc835beb5c635992e3e362317903564b63f35c0742a35d3718a335b21163e234a483fe9ef1a33a3108035ceef343ebe502a3ff35d2035de0c9b342889203e67b4033f5064a434ff0f9a347c540a3ea7a6b23ef1690d347a47993584e9ec3d3b964c3e0f205a35741ea534a9640a3e9c983f3cdc80d43489d3b034fecb0c3eb3ac9d35cf6da5348c761c360a5ac43d7cf30436fb97ae359da68136db083b3de67a423591b0ef3488348d3478f5583bb7fd15345a440d329079ea34ca79183aa17ab734e3b86d3491178e34feab5538efda9034066fc933a97bc034a1d2ed398ed89b347cc33e3400000000fb73fc3700000000000000003af5303472b1a037d6947b356e8b8934daafc3344beeaa34a9c79d345bfc903422fc2734e5242a34e29d413413237634da5f553777da6632818b7632c52ca032a01b4934dcedc73c372b6e3fee187e32e86ad13414e54c3d33944f3f28d4a134417ab93405495a3dfdc72f3fbfd91c34a553a0343327463cab1a063f6a76fe3300000000b3cc563a9c2bba3e000000006e5fda315c28e239e14e4f3edc01a834fcc5bd34a9ff3d3ad11e393d8d0b6d34f21627345854973cfcf22e3471956f34f3a19f378239033db96f683271a0a332000000000000000000000000000000004bf439357a7c9a353d55653519e2af34ed9220367001a7375c2fb435b4068735000000000000000000000000000000001eb2ac35a407f035b905db35d8ff99354f03e0358618d03532e99935d4fb8235c46d8a3556686a35826357353e8d8b3345b10f36dd868c37d9467b374f510a360000000000000000000000000000000000000000000000000000803f0000000037c00c35e4f59c353d96733fc352e934246b0e36c966fb3767435a3fe6097b35000000006a45a6374f82303f00000000f1808c354bdef735b0a7033f29bfb135d5a38f35a5d0d535ed77af3e4cf85b3569046235a1c281351bca313e69ea86336c13ec35c4071e36c3b2b73c4d741536000000000000000000000000000000000000000000000000000000000000000050f84638f6985134000000005a8c0b334637be38fc7f9f33ecc74033b1c23d33fdf3d0381b7101344c64df3380f0d43399fc0339a64be8346ab3c133d6dd8c34fbde6d3824da9936c6800a335ed90533d1c65639d1b94f38ad5ed53428e417352b808439d10d37378ec90633bfa01a3400000000000000000000000000000000000000000000803f0000000000000000a987c036beb9793fa2e8d533000000002cb2ca38505f4f3fab1a3f3332252c332ad10638e816263fc40bf13366a2da332034b7367a1a003f264a9e34fe770734706fc83462c9b53ea26bae32249ca93255ef953792423d3e0ccb963731c4f034aba0b435681eae3d5e96f233cf9e7433000000000000000000000000000000008af5c33300198b3d78006334dc7a84343e9ceb36e351903850908b33a046bc33b7ada838c243a33386245f33dd828a332425e238f107e9335477d033002afa33e835ba380000000000000000000000009727c7387793c536380ecf338ea8b9334c5a3f39fdc23b38efa8d03307c805344615913926474f380000000000000000385b9f3876d4223800000000a6021f33584fad33bf38623fc6eea53a48596d34edcd9b32d304783f9bea9d37213e9f33598cf6355eae7b3fa7420533e7d85133f4f2d33757c8533ff186cb3368f0d533e20c3533a2982f3f0000000000000000017939347a55093f0ab1b433acfc96331fbe4e3602d9b53ee205a3360005dd33000000002a5b363e79c9633500000000000000001144c93d98d95f3700000000dead6a34f96cf23d0b56b434f928d434bc8f273370feb53d2557f933915d17340000000029fe91380000000000000000148c2a38b419a83771d1a5307702a2303b519238e331ad37706d44335cda0433c6599c384e9f0b38d2e7f432221a0333f1899c3804e232370000000000000000a4eedf38dc2ed137000000000000000003357438f0d90838c94e2d341b164e34f50938340c93313fa7a5e73d1092b834f2c8cf3237273e3f11b7f93c4bfa02340000000071a55b3ffaa9203800000000e17e00315f836c3fa140ae30709a9e300c9488326dfa4e3f2a93fe33710fdc33bd92083244cc2a3f9152ac348a1c9d32000000006f60f63e000000000000000000000000fbeda13e0000000000000000e86986346ff9073ea3617136909b1d3486d43434e728113e3aea7e34d47f3c34103baf32fddc073eecde083377282e33bf3af03122708e3d00833432b6c97932e33d85361c6e3738d20b08312b5de2308c9f103852943c363b4ea73324c3bb33fbbf0839caff9d37d42fa932f2f59732da429438880ef237000000000000000054206f3841db0d37ecdf2f33cf7d4233b715943850e78d37ea4d0335a9dbf8341af7c933f09efa3e34fa4a3ee8a6743415a37232ad81fe3e1858a83daf0c1333253d6032eefe133f3e8f3e3ce5c64932de04463184122b3ff24b6937ca0bfd30a3bf1034b4983b3feb4394334f279f33e5dae032ec84243f6079bc32e43da23200000000a1c1023f00000000000000009ea2e4332233c13eb9d71c33c95118336ab2ce342718433e71890335855af634ef2222346684273e99e0003466e015331acff63633ef053efad15d33ea8d9f33e5e190366b1fd83d0000000000000000cbdd773368bb613d53dd9a33b152a73341558435591ee0376690343424785c344d4b0d38feb05737c39acd33b4dd40336b6feb38d9f4dd3700000000000000008acacf380375e6370000000000000000b4b25f38403c0b37a0c24c34597813346e2f5b345c42a13ea975a63e07e2eb330000000093679e3e86694c3e95268533000000002f26b63ecf7bc43d0000000046bfc9331bf2ce3e492a3b39e44f9e3306662d342bac003f6f7da7359c183c3484e195333bf50b3fb579e533c4dd4533b7ad0e37ca39e63e000000000000000044b7a6353857bc3e00000000000000007102433400ef523eb2d92534470121348b613e36caae113e3f626334827e6f340b155133092b063e0d2ee633ab6103345d3b2437731ec93d0000000000000000129243367e1ed33d122c0733af182e3362a9ac330d11d23c6e661334ed572934558db53758ef0738c46a4e31442b5a31adcfc338c3cc7a37050d5732c72a5b32602b3439b7dc55366e116832fd2a7d329bc80839f3d00937779fa733ec87ab324bd0e7346eae3f3ebac3f93e86dd59349e432c330cce2a3eac4eaa3eec50f03300000000a6f2393e1c825d3e000000000b62af3256ec383ed65aa43dc3fbe932b593a133519a7c3ed9032838f94a1b347cfe0c31cb45ac3e0c5c47315ce34f3147bf1d329b53b13e85ec4e323e9a6932d3af083302a8973e50e19c32884b3932c0c697340e67373e388731342c41f232f4c7a3370d9ca83dbd102034bf859a3100f42637e16aa43d000000000000000000000000a705833d00000000000000006fb2bc377601ad3d5fc40b32ac281632a3435a378f63993d5e438b321ad9a2327c272137c0f3233cba0ffd30336d1831a2b10f38a3dca4370000000000000000fc357338560330330380ab321d7a9732a9ae8738291b0336eefd2a344e373034beae4334805ed23d9a6d303f3614dc3300000000d3d8ae3d2b5a063f0000000000000000009a813d170dcc3e00000000dcadf132223ff43c90f5653e4efb0d32a14a9a3371cedb3c2d1ac23d1d199532d142a13084ef8f3d0f118338bffc0931000000009cac153e00000000000000000455f033fd5f133e97b5bd32251e5a328b633f37e092a83dc5e94134197017347662d33724562e3d000000000000000054a7bc37c810703d00000000000000005176e8375581543d27eca83389cd393341d8a433463f413d4fb23b34bd15483400000000e2e9133d54acdd335f3287334e34fc33b3761b3d6856cc3333688f3342ae903352d8a73cdfcf9a34cb21b53404ac0938bcae0638b2bba132d1f9c43229bb8b39067bd0330c8ba7338561ad3300000000fa07073cc4645b3f0000000000000000bfa11c3d47373b3f00000000b1e1e233c9d6863c7f69153f4335a0331f7bcd335b2be9383a96d83ec68c403400000000138f9b386167913ec2036233980be9332c3b8e385521103e484cc93320997933a997a3380ba808393eaea23460bc8533a4780c3db6e50c32936f8a32a1212f3747415c3d36049933f1549b330000000000000000000000000000000034b7d6340a10923c8dc47b35f0b1b434cf180e38e08ac63c41e1bd3380bb0e34ccc8a732f6828c3ce0bbb333bddac5337fd91035459da63cece7db35dadd7235ec54fa330bf9803cdd12ee34e92aa834552e78335b13b03cb10f5438dd6368342f7e8734e1f76f3ba49c15355a7e0d350000000000000000000000000000000000000000000000000000803f000000007870fc33f7471339f51e673fed1ee03472c7c534de81093912714b3fc704263444251d3349f70a389c69223fe88dbb339758a134d0cfcd373dc0f83e317ab035ba08ed33c350cf37999dae3ea64cf6344c0b6f336a42f43697c5313e3d4252345415bc33a44fb1364f7dd43c18722c3500000000000000000000000000000000000000000000000000000000000000003ceb8837013eeb35db12f335289f783619e2f13766e1b9360e6cc33697417b3717b9f237a01b8535da2720361485aa37729a6438825a2f372b2069379331153822291a3875795f371b0a7237d26cd837c706ce37b44b16369ff51636ead36c375420a43769914c373f4808376630903700000000000000000000000000000000000000000000803f000000000000000002a026379af47f3f8d831d372e22f935623bfd371406593fd133b43714d72037ad600a38bed62d3f9b30b737c99c173787d85938ffd8013fdc3f04387000b337abc0193830c3ac3ea14ce437a7039a37da3ebd37e0082d3eda52173717441d36a91b7137749e2438484c2b37e387213700000000000000000000000000000000948a9137dc1b6b3731ab0437116f703783084d36c0e33d3664a54136da374936a311c237c89a7d36fcd88236d2f684374f06ad37aca7e5369df00437454982375b0897377be83b36def641368d173c37b1332937e637a6369b70b73680321a37ec2df137b69c3536975839367f878c37e94b8337e4113937ea1f00375f6e7d37c11b443754f81437ca37e836208857376098b43591f77f3f23d3073818332237b8b537364cf77f3f5ce7f63700dc433675b60037cd425a3fbf6a2238e0ceb63690a120371034303f2a583138c5a31437cbb0be36343b023f3cbc02384cb798361b94cf366a9fa83e63652f37be9fcc3655364f36490d313e97acbf375bfb3936a494ad3679b8343c538f2a37de0ae936486caf36dc0eb0371c4bf536132ec0364759c63775ce16383f304d3621df5e3647e9ae374f1b2737080c833616b0a536ef7d10386314153771b59a3516f05f37d78e35389d942637da6d1437a6a8773776393538d30ccc3665a2b5365d725337f38bf237d8576d37a0a96537f8fabd370b982e375daace36be25b236ed721e37fe88ca374a7a8c37a8b81c37c0be9737aa0203386a72a5372d9d66370064af371cad2b36ae09583f35a81f3ea1f3493687eb6a368a9f593f8d4a193edc7f8336cfea8c3680b9363fba830d3eb337e73511971c375db6183f0ecbb53d40b2213708add13675bbe03eb88c6d3d8b1ccb360eb64b3746779d3e86316439a9b6673755d46a36331f293eb1e5ae37e02f97365e5f2537c695283ce57dbb3727a2b036d03e7b379d6e5e38846a9c37c11f08372e1ff0374e542b38c04bd536683aea365d1ab137259a8b3779a4ce3648d53b3796ddd93785fe14366d00c73409701036622117381c9596373ff44f36995d8e371ea299378aebb8351144b035a323b13500740c385dd89537feff72370a2da637116a283820f1bf37c53a1937ac7fca37335da337853839377bc63936b4033a37d4253f38e70a8437035d40376b58913745288736ab5c2d3f5221a53e04559836a6a79a36a0f82f3f59f69f3e47919d36ad564735df0c193f6c27873e95aec53408ef67371420fa3e084e493e335e0c36794eb435e93eb93e19700b3eada4b43537db81373d09803e0d15863d12dd663715a4073793070e3e2932843833dd6f36bc0cb236e3f6f63ba5959937dbee133611af7837a6d1f8386ebe6b371cdbfa36cb813938c7ca7338a8d61d37ef33dc36f42298371fff5b37b6a718360b3356363bb6133848ee8537e47ca1368c90e3364cbcef3746db31374233f136cdf920375eaf3e38d164e137d134423657028237f78ee637060d3f37a184203726913c3740e12238debcb837dd5b383704869737f1c59c3798a86a375899193757d741379a913538b0cbee371de565378a76a9377d2e4e362c55023fa824fb3e39f71e36ec8e1a361d50053f7a41f53e70801436b991de36065ae63ea731ce3e66488b367c0025373184be3ee706a03e3954e236efdba83799ef8a3edef8693ee3f83936616e3137367f3f3e7153033e3d321437061a7c37b52ecd3dda75403d9a76f0363de82a37baae433800d3a437705bca36aa1f9937a5ffff38725196376e81bd3602977e38cfcca5389e1b833635a84a361f99973792e94637238d8335515482356b8e2738a6f66b372ed98f3469b38c34b9c70d38d73390378159c83610753b377786a23703cebf3579a0b23585b3b03516791738c630d4377909d236113b89370a7ffd37f6a58237cf8e0736ec33b0366b42b5376bfba23772e27137e00d8a37bf950338f283a037e2090137f19c8737bb593f3662dbad3eacf7283f0bc95d3559e69d3500fbb33eff08243fd8468135ddcbaa36595aa23ec7410b3fc2c58e34cacd873770b8833ed9a3da3e083e92360d91b3356c60433e854d9f3e3c23b135fb3ab337c5d4003e0161413e105e3f35e53f0037ce03733db543a13d0c858d35c9509337dc6b5538b2ccc1370e991a3775cd9d37c23148380d858b37740ab8362653133831d52638bcbf7c36a8cf7a3651bdd03744368b3719a217369fac19369bcf67371ed5ad36b9cca9358096fa352a672438d93d8c378baeb036c3faf436d2dc4a38880f3637a34d43361fd661365ed98339076c7e37aaefd536213b2737468c3638cec3db37534fb5360f8e5537b03fdb37826e8e3705c19036197a0e371bdefa3756e81f37f9145836b4bb6536eb02da3652ff313ec76b533f50b257361929ac36688b403e4b344d3fc4201336a8b1a13697c1363e3d01283fb853813542ef99371463163e2b970b3f906da8361c0d823724e6dc3df940ca3e2ddd4236c7b284375a0f7e3d6431813e4e3fa7367957b63760d9b83cf350003ed09aa23582949237a57b36381a7d0238f24185364c6da73741e74c3884461837f1284336631e923756c26c37f25b0436ea74f835911e9537222d0c378caa0136b88523367eb71538100d3136c9391c36e3b92536e80a36371b75d7362adf9a3633449e367f45d537947a0c373e5d2c363da135368c690238c4d67d376465d336d15007376986ee37003ea43732378236ea8fea36a3e47d36183e4b3657904636f0be4836e37e8037fd493e374c8eb036e3160a3767faca369d4bb43b5a8b7e3f1de7de3509b40437ff21fe3ccf32753f5651f2357d09a9366bcf013db6914b3f18531b36732a0737734af63cd9f7233f09fc9b3633f92a373379a33c2a3af13e16032f36f8a087378b309039315e9f3ee8a4d13611b2a937d2e39138eea6163e7c758036eed84c360ed5b937c39f9a37f9f8413600f185379041a037e29c1237bda4013600000000000000000000000000000000d3cc9737c6f304376e4c5f360efb7b36da15bd3774ece2362982ef3564200536996b183800b8c13714fc4a36893a0437c49645386f6fe1375f40893615bc42370cecf237ff7ba937dacfc93536930437d163de3794e9ab37a50127376536763793624337964e493736cbd8364b481c370000000000000000000000000000000000000000000000000000803f00000000d7a54b375349e33769f47f3fac4b753693ce14375ed129386db0543fd919043685cad33704ea52388788293fdad114376ea3e437eea89d383611fc3e298a7e3713019e377a793a387b31a43e5295f536bdc88c37704c2f3834a31b3e70973f3747a1b0362d8aac371dc20f38f469f9350000000000000000000000000000000000000000000000000000000000000000b75a3d38bf3500384a2df136b6b65a37c1974538173bb237ecf21037fde57937c2a99839939fb637df2d62377713a937ee609738a92d0a38103f8037af88003862e65e387643c0378c6d75371710dd373cc846385c360f38144ed437662d15386509b337839888375da251374295ae3700000000000000000000000000000000000000000000803f0000000000000000663d413813b4733fb4240138b18335372c60de3873a94c3fedc7c73702a34837d52ef839de10273f5491c9374fab8637e60e9939e71a013fdd001438e2d69a37d6100739ea05b73e190ebc378cb680370af35d386efd563eb35a06386e57d63774cdba37094f713ded573637c7646037000000000000000000000000000000007430063804f03f387aae3b369bdb38369ec5333af2344338c912bd367f36d136ac6ede3944b5c9370c555a363a15bd362a46253a4a34f237842ffa36018154373ee9f337da1b8d373af007377137613763d7c53864efdb371c70123716fab33761e906398fa6c537309f10370ce6b33758810238a4a6b03704d7bf363c19bc37c5d3e437d9f4a9376f564037798ebe37efb891366049723f844f5a3d37de4836a2ea16383d22673fd7d2533d977ac936f9832238b972443f24e1023dee827b36a7362a39076b213f8d130b3caf350d377baad637aed4f83e21dac637d72213373de049387590b13ea3a602380cf816378e1a1238be3c523e981cbf37cdb3103766f2f537225e883dffea5237d95da436e0cce83794663738666d323753382237516268381c64d4388a378c37aeb605373b132a3a8c4ae739ebdbe735f35ae335f4756c3a78bbb4393819a7354a0bae356591bd3838a534380ed4d4355fae18366bd363384a7913388d4f8936de6ee236b741d039a1d75537ebf1ad35d4d4b236765620385c8ab13762ce0437d09f3337190ecc37cca08537e13d8d3580c42b37615c2238fb8bf63746c2b23789f4de37158b8d37a97a4c3f6fa54d3edf162237bc72153776ea453f614f403ebde5dc35b2ffdf364a0b263f3648183e34a6a935ec461d3870b10b3fce25d73d4906bb35dc6a0c389988d63e4302963d6a7b5a36728138373c099f3e8e58b73ceba145355044b4377e40453ee0ebb43702adf83666c09337808e873d66f72f3705fc883534a10c3811e42d39bc49c0370aac9b379623ff374b4cb63872ade5368998503653084d3920666c396ee4073692ce06369be56b38a4de3b38639eac36ab0e9a356df8a439cdfe7a37b9116235ead463352cdc4938b5c7f13732a5113702641337f7bf6f38407332388e9c04366908153675040f3aec017c39bc10db36757325373a78e837e10bb237e02e163729455d373904353898e1d7373fa2ca361b2d45375d35f036cc56273fa420b13ebdd05436fe517837d021233f448aa53ebae90636f7bd023837e40b3f6248863ea47392359ccc8a36d0dee73e6ff74c3eb0665a35d83eb8376256b43e41fd133ebd870d37acd2143848e0843e8885a23d7ee0ff35f50b6037f42d283ef742a03c5bdf8736ef4aab37805b723da66f9a378f1fdb360af923382322143a5eab8637e8edaf367d2a1438dd06bb39a5ec6d371bc838363f8bf238c341963901f8a8360463a7365110023aced98439c89ebc368901a936fba6fd39a8f6993899c0af36f5b6ae3667db5f38d866393816d884374ce22d370cadaf39e69a4c388063b1364274b136e68f9a39c9e36f38ae2ff336eb19053702aff33775b2cd373baaae3669b00737149b0f38abfdd537bc4e4137881f8037cfd86337368e013f1d6ffc3ef041a1366aa13337901ffd3eaa44e83e47a9a836da938b378f88da3e95f0c13e2c06a936bdb0fe3735f6b73e15b3973ec4ccae36aa8216389b1d8c3ef9a2673e439f4337ff9b0e381637523e86620d3ec5c4b036cd9be43760ed023e96ed853d1906df36c94db13763a3523d746ac337b9d2ae369ae204381d8a9239c0dca6374ebab336b85e2b38fc27183ad242323757cb6f3562b6f5370c683c3907ba6736ca9c0c36cdf5443a4f9d0a3a89125836bad4533673258638a25450388f35c2357579a935eff1383877b1073853b40937449cfa3675babf387ade62371fc070359dd8653572824c382c5f2d38171a5b375ed009372b054938e0dce4376cec363716d33c371080c0377e3c873793b5bf362539f036b5b74637bae9b73e06b4233f64707136547b2f37bedab43eae58163fe71e0f36fb605137da60a23ee672fe3e17a856367155f8378b3c873e300ecb3e2570aa35081fab37fe58523e7f61983e1027fd3615a7e73693b11a3e4326483e33066935a7320e387385bd3d229ec93df7eaaf3618d7ab3769111d3da7a6063a331e9a36d82dae3726557038956a5337c6c360369c8513386ea89d38d5218c371d837036b17cca372dc3f23766ae69356cc34c35da172538bc011a3889fbac3536018635b2acd239f241cf38f38d1135edd10e35c9915538ed0b2b38b6755736dc4151361ca86f389bf4413866739a35f3a6973580a8e33953b17139565eac353170ae355bb105396396913746142c36a8de2236caf24e38c5d71438583608377a170b37effdb7375d0a5a3ea65b493fd5cff1364032c0364568593e48a9383f49f259355d9a4537c2f84c3edd621b3f713f86357cc52e3722992e3e2bb0fd3e78350a35ae32ec379f1b073e7949c03e208e5436396c0e38ac87c03d9685823e118b9435237d16379fb66a3dafd0123ecfc3a5350bfc7b377c3e9b3c549f9a3c29fc0136c6334e3800a48e38e544f337b6940537b6abe8377e781e388f7fe23648911e36144b0a383d091e381ecd8b362b2886363d0e6939d2e21f394db5903674928c36722cb23846834738b3c17a3661ce7636ab98e6378578cd37860cfd3641eff2366d2da439f609eb381961ee36f8aee636fcba3438789a213816c45c3665a35c367cde463888783838a7b7473761e1e136d44cc3372b182b37bc903736611c36363fe076378a4a843d9b646f3f84e4243689ce7e375279a03d59d85a3f1db18a36755cc13718c4973de54f383f0dfe8f36c09de53738f18a3d5bc2153f30667a3605f99e3727fa753d8353e83ed109f936bf220538579e263dfd4da33e1357e7360e03a7375b3e933ce88a3a3e44bd5936aa89143807d59b3a1ba5313defd9bd363030be37ad10373868860737643b363600000000000000000000000000000000ab9bb8377bb7c437f0309a3640db9336323e4538615551388ed3c237e24a7b3645e14f38920f6938cc106d37659260378a9780389d258f388c62ac377f64e0366043f63794fd1238f3e9943722ab4b37625cf43779a31038db0ba037034d66374db3173891b22738502ae4373deab6370000000000000000000000000000000000000000000000000000803f000000006f988637f7ac0e3922d4703ff598993685851a381182c539820f4a3fd75dd63781e9f1373201e9398947243f381c7937e6dc2438cff6ff394439fd3e39c4b137a1cfcc37ea80163a120eb13ec627933703eec137daf6d73809e24c3e2a648f37f287e537c8b240384e3d433dbeabb63700000000000000000000000000000000000000000000000000000000000000008b202f3ab78b163a301a0b39b125c937d010043a6537c939eb9d123830cae537c752023aa5c2c53975ba4938dd82ae3722fb4d3ab1f4fb39ec1e1938d79d083826dcef392f6ca039954b0338d6acf7378d2fde390b6e9039a48d0e38d8ca8138c88a023a22354c39ee070a383a7c443800000000000000000000000000000000000000000000803f00000000000000008886303a90de603f6a31053a42f418398908103a39a7403fa896b239e90d193882380a3ae844203f9ecda439c1cc213808936e3a21e4fd3e484ca939ab651e38537d0c3ae10fbe3ec0656039ba1116389dd1153af3d3793e4d5d263965fa073860b0343a9adfee3dc0361e38807e06380000000000000000000000000000000033ed373a9393713a70145239340747387033163a2eb6103a6c7be437b2a19637fd306f3aa342c1391b17d03726ff713740d25d3a6f9c3b3a19591239818a3b381550b33acc6a3e3a88718a39953b5c394919143a02077938a72a1938a12d0f3803bc8c3a112edf3923f20b38ea89d137eb18143afe03ed391f6df538be80423964aaae390185b73809090a38d12e07383e60d539ce12613f1218ec3dc61d3a39bca4f2393839483f0264da3d10cddc374f9f163a50802a3f647bad3d3f35c2374a4a5d3a7cfa0d3fc360893d26a7f83815e3ba3a15eee13ee2c24d3d8cf9873963b4293ac2d9a93e52f40e3d3c7315380a42a33a26e7603efe4d8c3c060cd5378a811b3ac339e03d05c676397cd0b03891f4f139ce89273a30091738367e043821fb6d3afa91953a1ee063398f9b4237b780713ae0eba43a1b308c387a5e98378696dc39fb0bd139fc9ac33700432037659d183a8901f439bd91e73722586337593b7f3af6bb2b3a6cb23839a6adb4372b02503aef34203a7bcafd37844bd03718ba393aa07d0e3ae413ac37b3c269372d60d6395423bb393dc5fe377f22ee3740b02a3a82ce003a4ae86b397c3c7d39b52b0c3acb0e403fe996783e63f9cc38e1f9043ab24c2a3f9ebf5a3e7375b337493a9d399c5c123f57063a3efa12ae37bdb9da390478f43e94d1183ec856d53727e74d3ab942c23ec18dec3ddd1923395163313ae7bf913ead2aa93dfce1ee3717801d3a319d413e96e1533d0ef2793707cdbc3993a2ce3d3c8631397515ec3726a12d3a2e16773a4b71a939c5ad42395509313a12175e3abdcbf639d005b138716e683ae8099a3a98067c386da26f36605a0e3a689d3e3adab20b384fc3b637882e533a23454f3a371ad83873c84b36e531383a10658c3c369595385d0de23795495f3a59af3d3ae4acfe375532a037f68db93a6caf543ad6e59239340b21394ac7a33a8ca16f3ae85dc839100597394292c8391a53b339de373138fffd1e3857e6ea3983dc1f3fb1e9bc3ec270ca390909c63919da0d3ff9f4a63ee54187379f287e3955adf33e9c478e3e947a0238cfc6103a9009cb3e600f6a3e2a412038a3e7183a393ca53e93ff293e51b9f437e5f7353a5f52733eacef053e152bdc378d878a3aa1091b3eb5189c3d8119523905418a3ac3979f3d6721063d2f079c39bb44c9391dfa273a350d30392ecd26384cc5de398b58413a89d94039430f003843f896390fa3673a29a60a3833cf7437a7fa2d3a02774d3ab927663990450338f909993ab816af3af1c25439864e2338dc2a163ae73a163aa4994939fc9fc037947e9a3a3001863ae4f4a23862202638d6992a3a34dd183a02da3838af1e1d3888d38d39de5759390c470138d747d237954de1395502bd398faf7d3823590b38c01f73391b4ffe3e309dff3e52698f38d429783844eee23ef8f3e03ef08ef83776acec393279c23ee962bf3eb05a0639835c0d3a61d8a43e669f963e0f0de8386ef2013ad46e813e16227b3e1b490b391990673ae8d3463e97793b3e7a8b333862961e3a177a013e5609ed3d170f3038167e6d396ffd823de2a5523d3030ee37cd3de339f4224b3a774872395f8117385ce9be39b2f2083a7d8216394e9a103848cc9f3ae172ff3a8673c039fbe7423743d0b93a3aa5ca3c177d2839667ce73616b1563afda57b3a6e1e50380a76b6361117283a90393d3a496f1639dc5add3719822e3a172b283af53f8938bcacbf366e2ec539c167b23970c20a386b5ccb3773274e3a8969303ad5f48b3732acce36f0642e3af1351a3a5011803937a84d38c2305c392467be3eccef1f3fb5de5638dbb7303ae42da93e08e10c3f9936593929651d3aa1538e3e5e4fed3e327d0938b5e1ec39362c733ecf69c73e58c5db37a645033a127d483e3bfb963e886636380626133a3dfa113ed07d693e41857a3759d497393740c33d55cc173eae52013876db2e3aa453413d3f068b3db96a5237ff1f373ae4535a3ad587f939658d0b3993b5143a468e623ae059d039ae72d7373b19d239c1b1043af03a0238190f2037a7ca2f3a82da8b3a837c953796f4e036c41b3d3a0768623a1f7cd138e827a63749194d3ae28c893a76f38b3974e97d37bf93ed3950d7fe39daaf0f38bb3b49374797b939de3bbc398efaec37b7b34f37cafa413a9b79333ae596d938f37e9f375446533af52a3d3a4b1ef137d03a1f3730bdc3398527793ef91e403fdf428e394f35673953f0673e04862b3ff21fe53755d9a6395195413e33f4103f09da663799d7d439b098213e4df9f03ea1e4ea3792db0d3a81f5003ee740bf3e6c703d3969fcaa39c238c53d0f578c3eaa18eb37d4cb8239239b833dca76383e8842c537084a183aade5ff3c1401ae3d53c2ac37f3784b3ad5af963a40cb173a87f15c374cd68e39b28f3e3ae7b0c738effcda3794810d3a283d3a3a576d6739c70d3236d474693af799ce3a6e4d1f39f143ca36a1af7d391b11553aa70b1a38ec57af375dea903a413dc33a66cec6391b6ba03701dd4d3ae051643a1625b93919ed37389759c1399d21073a59660938edff6637acb0f5399cd8fd393fa10f3859638c373142fe397c89ec3928391c39b28230384c391e38cfc9f03d1e28613fbdff23385c6cb53999e2de3d260a473f6f2adc381749b3395e70bf3d19f6293f21c7a03840f83c3807f2a13d2b390d3f654f17382354223a20027e3d066ae03e3d1d9e39d94d203a2ab1413d14a1a63e084d7d39623a7339a9fcff3c1c135c3ea167e137de69c2393d1a3a3a053edc3d9101c8375407f0393f0f823ae6b8d73928d74538000000000000000000000000000000007fafeb397e614c3accdb8139dc4fd337d282cd3955eb223addf06739cd76c837fdc4d8392eb1063a57947639d3858c3777fc2c3a98645a3a9a5a84390433d837f171e5395c81fc39731412395135c337390bd739581ee9395b312439b2d5dd37b125123ade77203a82c3b1390baea7380000000000000000000000000000000000000000000000000000803f000000006b371f396e42473aa617613f09fd303920a5813983cb483a9c7e403fe1b65a39a69a92395777173aaefe1f3f30766739592ede39af4f803a5a13ff3e954c40398313bf390b942e3aaa5fbd3e3729c9389870a739c791253a2061793e87b0db38c9d7f0392b0e3c3a015aed3df63d7f390000000000000000000000000000000000000000000000000000000000000000e30ed136d14eae363b91b136f569c136576d05376ea2a63629b3b93668afea36c44bda379f73be357871d8353e9e1a378034a837247300376dee0337aeb64237301b003724254136f8014c36923b5236a07f4638cda116387c7cdd37a52c01382776683728bcfa36a574cf36151dd93600000000000000000000000000000000000000000000803f00000000000000009d50d436e0fa7f3fc31bd636f612c136b3db5c370c13643f2e790c37f337e336b429733866fb323f4a0d183870711d376739fc374713023ffecdce37976b1337cc480e37817ba23e39062f375e075e3651fe45384090013e231d6238e4ec0538f380d636d24dbd3aef8e9937e2bad036000000000000000000000000000000008a0f11369d2b2637e8a22137e0ab2637d253f3369d21d03626ca08377aa11b375ce74e3678c90936b1e22d365b305836b121f435ffecc735bcf6e635a91ef335fff5f636b6f5c23667bcca36cdfdfe36873c1736ff2213369c6e183645af2036e1f27437a79508375931c2360b92413726d4c3372265d437c0de8f374607a037b61b7936eface236d8dd75369c4184368654e53589f27f3f3903a838ea1e2c37ce25c036bff97f3f17357f38e38c1b3731fd363611c26a3fd473023853ab4936ab0deb350231393fd7380d38bd41f435724ec636b223083ff0bf3e38fcf4df3620b10f360805b03e9bc88b3884f41f36d3a1aa36b4e2133e16cb8338241d14377c1302379ae8673c2e263338044388374c2017368d08f5377c438b37146c5936dc78c4357ce33f38f267da373a78f636a332183731581d370f581f37ed58223716bf2e37b48e0535d3e505357bc04c37f9f70c3557b1133599961535eaa60c357c4ad036a0f9d236308bda365b9dd836d6524734470e5034a5765534a37a12350022223630ac233622a42b36bc3827361be6a437706bbf379c7959372baa57374f1f92376dc5b237acd96137c79f6b37809e9635da84623f03c7eb3dcd652f37bbb907379ca7683fa9b9ba3dadd81c374e86b83433624e3faa09af3d642ebd3637b30e35d4e22a3f4e431b3d116b1135981dcc36ac9df73e646e963c6ededa36af3345348fe7a13e2c77293a431c5534f1e20836be39153ea609e237f2b22836d6642f37b999de3a22bc21381b073f372b16d133e3f62738f517da374c2fd7354cf7bc3524dbba37c6010136ab626335c1937537497f78374eea6837bea76437dd9b8e36f9a28636ec348236fc6381369de44f36c4e01f34128e1a347b751a341add3937dea939378e843a37630f3937322ee33682fb7d369db6653601307236b06f303831342b38950f0438901e08382f512537802a2737221c1f37404720373942f737003ee137ef341d3751908736550faf34256b323f8d179b3e03072535871a5b37f84a383f5f118f3e33eb5d370abc7a369d532b3f43696f3e35b87836931e21349bdd093f039c263e0cee1b34af0435377ab4ce3ed966d23df7e63837789a4b363d6e883e1ebe273d50c55d36d8ed49370463ff3dc7b76f39656ab83786311237f0adb53a3ff68e37bfe3163703cc8036e8a8dd383b1e2a381d0d88364d9169360d83073714a03e360d812b36e943f936dbc8fd36de98d63662c5da36a03fc437d7538c37ddedd336568cbf3654b45037caab82364bc25536877a59367189da362910d736a6d3cc3683e7cd36f753d837ddb8af379cac8336b49e8a3605f51338468b11381c48aa370f0aa23727897737e2fc62370187e936d854ea361be18136218172365ce35b363f4d623644ac3e364c45023fcb73fb3e17f31e361873e136ff9b083f1bc6ee3ee84fd336dcf8663732f2fc3ed1dbc93e106e96365c0a83365a48d13e08ac933e22ae4136325bd3364c08973e0811523ee3a4c93609de84368ec1513e8cf1c83d5b247e3665129137d1a8d03d863f203ce23b8137f91ae8363a75f8388880253873b2e8368ddd5536a4d7a737d692833683264d36cba90c38ad6d8738c0597436dc786a36539f1e377c871a37ab6602373d7a0237ab4114388d7b8737704a1334c5502034f1631137ed05573615cd303675482c36217650375d5e3937baf63137382f3137736ddd378241833703ef2534b5ff1a3421e99836baf59736ef828f36e6b28a36fce0ab37f7558c37a2747237ac31723737fa5a3751063136a7c493353e2d8735a7f083367fcaa43e35902d3f617d5a36049011379b99b23e9960263f95defa36da2da837037aa83eccc40b3fb3d9a5334bf6763681028d3e3499d53ecabb22363d4d3937487e563e3373913e64483037e1022537fcd0113e614b203e88222234a2748f362b1a903de0acda3c3be48836bdd78237c8002a3a7c8ed7379cee62375cd2c936367948387664063622fb1f3503c6de375e57d53735d2ca333185c533c6dda037c2414a378701db36bf5ca336f64d22363a3313364d92c4354f45c73583de2c3785cc4a347f2f3c3497323734d42a1e37d72fd636f610c8368054c53650096035a4a61e352bd2193514b91f35d87d35381dd21c389d80453747eb2d3734ec7c3770ef25374b101b37b48d183778f2bb3791ac4a364273cb35d1f5b53564cbd5362d62093ed3a15d3f903acb33aabc4a37e4f2263e5bd4553f6f149b3655fb1e36cc2e233e6bdc313f8d7bbf359ce2e136b8cf113e7a770a3f31883c3434f5e136a0bee63d7960c53e60b7c436b1b81b3517b6973d59ce613e4f3d18356e680e388981193d40d2903d8d7d07353ff75b3702526638d015c037cb711137936e0f38badaf038b57dd3357609be35d340693708d5b236fbdf0c35a2f6d032b4ace0379eb2123749205136b72d5f369fbeb4373341ae367fb862369cc17336e2725d376af60c366fbdbb35466ed035476379370d22fc363a39b8364e50be36c835ad37d8475137a3d0d9358592ee35a77f9637b8419037891a4936fb1d4636dc624b371e9847372310153781f010374661543753dc513602fb06369916073682869336b1551f3c607f7d3f6a42d9323b94bb371aff003dd545743f127c50365139c83754e7903c2786563fb20f6536beca2f3720e8e53ab28d273fba5cc235f50d5b375cf66a3acd38ef3e6f5fbc36c36b6a377c83ab39247b8d3efdbede35fd180c373ebdb3392c42a93d1d993b36fb814137e7917a38c6573c3880c7e836ad7b893710d3fc371d9136363d0d0336000000000000000000000000000000009f19de3698c6b136476a2e361c95373658f52d38bcd76737af8c69353ec693350fbf1d37d3cc49364b241236e48d22363c94ed371d588937cc35f53663fafc36cef01e38b58b1d387d572f37d98e71371bb24e37187e663716992c37723d2a37c5a5da361216ee36134ed936e3c9d7360000000000000000000000000000000000000000000000000000803f0000000030d3d5365eea5c389ea17f3f835258361c24333806c68938ce8e5f3f45eb9035ff5105374faaa23777b72e3fd0ce2336438cc437c22b4a38fccffb3e9ac90437d01900381eb49c3803fe993ec1931b38003417378b57af378941df3dee994f37ee3ed0364c001e3722677b385373d336000000000000000000000000000000000000000000000000000000000000000010cdc536d2c90935af0705358a6c0135fe11973750561b3400000000000000009870063820a17d36b8136e360c6a6d369e4aa8379e9e81360cbd2c3626fa4e3661a0d43769291e366b18cb35f1a9ce35a70b2c38a8170238bbb39137f3dac73768c7c93788bdc637bfbc2c37f784883700000000000000000000000000000000000000000000803f0000000000000000c9268f370fe97f3f2de42035570a0435759f4d380d8a593f204a463500000000fbc945380fe42e3fc8df04379ffc6e3643e0ca37be74033f22b6e2364307393649c9e137c728b03e0ffb51378eeed3357997fc371eaa353e93941638921ca137b13e7d363cf3fd3cb8a1b23713e7313700000000000000000000000000000000005be4343e2a1238d7a3933546cf2e35afb3fd36e790a636cbdcf935eb95f435b37c1d3693571036bf3d0736f56a0136ee223a365afc2d364e782b365f492f364282e3370e18f93648d8ae365e24c1365befc037bf0ad2367b6a043663ec3036304c50375249243744309d36a427a636c31a9636fd1ce33603021036bb7d1f3655b7b6377b44d437f0ea2a379cde7a37857595347d997f3f320cc93a1a9827350bdcb5354c00803fc77dad37f576fd35730a2036d8fe673ff2bd71379bcb0b36737f3136150b3d3ffb5c7a36046a2f36f9d4833755ee0c3f939e04382572c736c0987e36d582c03e1f900b38c4a02036102e8336e289503e7798b2379218a0365ce89d3565393a3d6cdaea363bbc1836298c9d3500c36c39723e9a37eb1e5f3679e88e37c2b13838a069b83776af6537573d16376719e63796572236fce70c362df250366e18c935cee6bc3543f3b53591721c37ab235f36e283e1351405df35d33bcd37ca98ad3783ab8e37553e8737b01678376ea91337feb67735c2967f3550968237366e5437ac39cf35bc7ad835e523b2362f46c136011cf235386cf7352a927c37c17a703755310f368a991c36ef228f36b5da563f2a6e243ec19c8d37df3bf8357689643f8203db3df48c1736dbcdbb352ce94b3f951a983d3c07ba35d266c13523fa2e3f018f8f3ce554de35d5877e37b024033f09a35a38c9dd8c375bc82d35e71eb73ef56d153806b17d3523d78735bc13483e46beb93766a2cb35eddbd13556c7213de4debc367902ee3511f8a935997a76396b16dd362c8a06364d406137f6758438cd4ed03609fc3636f3a2893699fded36e75a1e36c0c7aa35b1a03d3595b9893492618834010b72349893f636eade8d36913d8236be8a6f36b8b8cf372587ad3735f72e37d7fa0737d2fa4d37354d3537a081fe3476c6e3345bfd6e36edb77736a13c6936551d63361b178c37346764376168a0352c589e3579241a3763530337a88e5936660040362f462b3678bc2d3f276ea43e539c36362e2f03365e373b3fa509893e3dafdf35ea487c340b1a303f0c2f403e37f58034c9e38a369a6f123f9d9ef93dd5ac7a362fdb4437c8b8e13e66fb903d9bcb2037eec3dd3360d7a23ebcda3b3cc918e934c87d4b36b3dc343e3e80ee36ea546636ee12da35d129003d769736374d3f9d35c77bca360a7ca738afe9d436a330f6352c3287350f9c0c38892891358089863594eeea3680f00c378f7a463697cf283657182538c2e5f237747d79351f96463510f5ee37f6646837a65e953512f27835b9517e37ad6233378c299736197d9036b750e337265cca37a368bb359ad2b035b135333813a5333880b63937c1a3b035b2af16374db40037af8864362c3b683695b28c35c1f58e35e10481350d3e853528857c35e3bb033f1869f83eda96893565f85b3690ce0e3fb720d93ece463a363a419d376c58053f90cda73ef245693563cfa0361d06e73e626e693e4a348c35f0d9cc36dd76a93ee10b2d3e9e859536d452b5351525843ecf5a803d2a9eb7352337883729061b3ea2a99a38c0f17a36013d9f369e40943c4497ef36b0856636cec28a35bb47843941ba8635b0368135baed0e374492be37790ec8353ac6b635ca495b375a50823784aa953589968e359d996a36271c5b3606931936e9a2d235d1a57e37103be83587d3d5333c9ace33d150f6376af69437cd1f9b3605e5d635dfbc9237e3862937919b88363d427d369e5034370f690737ff607b34931b6434512bed3619f19336d8b8fd35286bdb35bbc1f237d9e13e36abc82936fb231f36b38968367d16b23e2ff1263fdfccc435124ea935827cc63e40c2143f969c92352c8b64369f22bc3ede79e93eb5a70a3688fe6b353c83a83e1ad9ae3e365ed53338ed7837bf08853e9b206a3e75bc6a36faaf8b362186433e3a1eec3de32c84366a4187346ad3f33dd062b03bd6f7733449dc9b3674189a3a258693368e93d1359c94fa37e9090b396b2e3e361d9c2436ed458837b696a337d0460a352c03f534466dc236ba6639364a55cd35475ac4353a288e370f83603683b48434d5103f34226ea8373dddcb3599838d341ea9fa33df0d09380dd3a6374775b936da0c0836aa7fad377ceb1f3742dfad3554cd8635e619183704a7f0364923ba35c58dae35e577f437d632c436014700365ad9ff35a298c737d4973a372b464e36643b213699d805361ebb3d3e6c7b503f682c04355291dd35a9b2653ed27d3c3f33f1ca35ba4902366c7d563e005d183f9f567434296aba36f5f6433e4ee4e63e7e2e7834a589c137f42c263ef090a63e160a94365a4f0337d7dbfe3da4ae323e56b4a2354c82d13515d4923d8a3b6c3d6969ba359ec8dd37670186399d774137924ffe35c9e10138444a2d3881a51c372bc12236fc4de137803dab37c4ad93355f568235e5f7d4365528c335f0373835f65725359b77a137cfb9a6365f30463639831b3676660f3837116c37c5d8f9342a6db0341a8a11381aebd73726f4a6341e1daa341d1cb136821b833671bc1e3615240e36c8387d376a1fe8374908243646ec1b368bab50374dc322372445bb350680ab35d6c706351336f134a3c58d34962f8334a0688037e65b1e3d0efc753f21888d35f62b5436de048c3d44dd623fed3d353551a23f3753a56b3d8c263d3fe3c84136e5068c37f3cf3b3dbafb133fc35cf7346899aa37684ef53c05cad63e6376a8348bc03e36ede5933ae468853e7f8e1f364ed61f36f5d42b3aff8cbe3d18282536d2111a377c690b38bbd486379909c335050b5b37b53d0d382575c234e9388a340000000000000000000000000000000043dbcd3743930b37f9936334274f5434a41830384d7dee377ca2a336db1d73361812d537dac89037f09f8f35a4305435d3049e376714b5375542263671d6f4352109f3373bba2a3801caba36751f80360f0121372d172738752f933796e136368e804736f3989537018ff2360534fe350000000000000000000000000000000000000000000000000000803f000000006cb6a137b8c76339c9fc773f96866934c6e5103840b5073a9f66523f84f5a836c9c50337c8a9db3974cd273fb81d9d3530fce136c3239e38fc10f93e237832369a59b836ceda6338dc16a23ecee61e37e5350535c2873f3895c8193eaf13a53729e41135da61a337387b79392354bb36000000000000000000000000000000000000000000000000000000000000000014b6ce371b802336b372f6350869b1355f5978379fc08535ee82833539768535369488386ee1bd36b04f1c3621971836a9d67e38b7a1fb3757db3136db1ff635bd20f9374467b33728ef6f36ccf62435af6101382d31ec3794596d374dfd08378fb984388ded5f3828d2cb37733ac43700000000000000000000000000000000000000000000803f0000000000000000d63f2138cb17713fa6a222366339f135bd76af3955904b3f57ee853538a2863552a338395970263ffa31003758131c36bb80843829c2023fc0a60938d3891d3681f1c737bc64b73e6b2cbd371abc5e360d30af37dbb25f3e94b1e73714876f376b1a9d37f62d943d45214138546ec73700000000000000000000000000000000419a8c363a14f8392e65c237e6404a368ea21e38794b07386571c3363b9db836da143038a9a366376532f23568eae1350b62283861f6e23738c83f3688c83736047412388295cc372cfcb2363ee8b33633290a386b33123846de8537d2dc6e3690e43538cf8e5f389a4d393749c61f37c6be143851210a393a6cb3379f4ea23775c45538af09fb3866b0df37f1337137fb930f3636966f3f4d05823d9443a5372e66a23775326e3f10a7dc3cbcd0c2363ba18d3686b44b3f1ac0713cddd3f235b23ce1368881273fea059c3b89294036412d0137fce2013f7d996438a054b4364caf24371537bd3ea8dcdd39afe07337765b9636c4a9673e50bd9039c431353733869b36a267ba3d89b4a438e28fa03745a9323685e5363c56314838ae8ba137e69e3b38d8a84a3a7ccaf537a187bf36ee3e8537ce0b5a3792cd97360cc98136a714123930e80c383f0b95361dbb1f3624d14f38c8ee1b38e5f6113629e60f36b92855380d9f333840a4b7369fbdaf36b8d445386d012b38dc9b6437e39ccf3659b7c637bbb8763905c67037b4792137a8d03738e2cf5138dcd64b3782b70937dfa73e388ba11738d85b233701d85b36ff2e9436238d4a3f6287543edbad8037243fde36f9414d3f2628273ee24992364b20a43761492a3f8956093e69d4863614ff9f36e14e123fd7babd3d63d11036246609377e56e13e2d298f3deebdb536b6b23e379938a93ec76b0d3d65d44e378b327736d76a583ed81b513c00345a3737b0aa363fefb73d12063838b4451d37b404b037e917863cb4eaf03736e78736b1d4133849dc98384793c936e2f9a93509274238526623384c89e936aa46c93698f3c03748248d36adaa5b3632b22c3635b74438b165e937be37a035cd739c35d15e5238a80a1838ce1702375b2ff0365c92cf382f582d3957846d36b60b5b36fdca4e38dd074c38d4deb1360bfbaa367362bd374aa08937fd5b03379da0fc367d44e4373c6bec365c29e3362789db361b16bd359834273f6b77b13ebe88c235695c5d37e269283f25b0923ec9ffde3660ae8136ab32123f6786683e219b54366d53593721cff43e44b0333e25fb9d35ec980d377a82c13e88af033ea4b0fe365ffe5b3615dd8f3e19e7a23d49126a36e4309436827c393e611f0b3dc73bad362c76f4368081ab3d49064f3783600137d1c73c3780442e3c7a35ea36a936e036de871538e0a50e39746d7536fe375d36b46f4538c45739382777953694fd8036976f3b38b59cfd376c412c36db4421360490443859d00c383327343656771636b4117438926c6138591695379fa58336a91d3b38cafc1038b8312e36e9a61836282132389aea1c38993e7436edc73c36550f3f3879f73c384f064c37e7b99b3606b74938f9e48137b32970369ba959367cbd76363f0c033f3f6af93e63a86d368cb9f23793bf033f88fed23e15cb913694e0c037aa24e43e073faf3ee8fa2a3646ea47375df5c23e182a883ec5a82f3662423a385723963e9a8b533e93683f37c9bf203715da683e87c8003e65392c363dda2637f08f163e6307853d21cb3d36797ccd372f86953d75273c38a14ca136a67e0d3891082c3a967f0437e639693679f78e375e865a39e46cdc36be92c4362065bf37b4351437f08ce2365f8bc13685886e381fb7c937f0267e36816f3936ff74a3390d105b37f0a43a36d6970736ad1660388456e337dab6fe364c89e8360bcd3938fee3e937472fa335932c9e3586ec9237f2b9ca3685307b360f7565364cde4238cb3f1c389336043714c7fe3696b4423873a44d37acbca735d04c603563b4e4365b01ba3e9537203fb7e9d4363bae02374d3fbf3e93f00a3f06ffd936391ace37ae4dac3ead7ee53eebc57236886119377988913e1a95b53ec25932364bc98537d2e3673e97a7883e0b92fa3673864037265d313e594c313e23d3a0355aad75361094e63d39bfb63d0b567736377c2437ef2e633d7ff42a38b6d30237e16334388702c43857ae8d369c059735faf72b3885b93d38a5b93036c183033653ec473801fc7837cd7d91360f2e483622621738320c3e37b0edd6358b4bcd35e39a55381f0f00386263f5353abe843548536538e1c000388d729836459e7b36464e5538f166cb376b360e36e8f90936899137380970073846848d3685852c363359743758fd45371e989e361e808e36944b7438902475372b748c36ba8779361d8bba37feeb5e3ec007443fa7382136f2f2ca37d805703e69f72c3f64088536b004ae37d8b45b3e67a50f3f6f1bd535504aef374db9413ea434e43e567be9350f590a38692f173e383eaf3e20bc92364224bf37004cea3d31ae623e08600d36761dc7372319913d95c9043ec15880366839ea36f8f70b3d71d85d3a109b9936caae84386208c2398ed1133762428936a79d643892402a3861a31d3651aeec3517f37938f418a0369f118d36f9186f3637fd7938b6ba7c373908fb354717e5358f7772380159af371c52f4355dd7a735401f2b3815a68937726d9436b24b8036115029382290b7371b1f1836503b023659791838b48d8b37a128ef35074cd435fc3f11382fdd0238cca1be36ae38ac3638116737ed202136a3f2f235c9589e35257e30385e319d3def60693fbd3c153632b05f38eaf7c83db4784f3ffb8a8a36ce7230384914c03df8f72d3fb116f53566ee09388df0b03d231d0b3fec42ef35088cc337179e983d4202d63ee4f49236bc80b8377e82643d7ae7913e630b1736a6bbad363f82f33c668b233e0a64eb35ca20b937926eba3cfa89a13c1683ba36d7b61138e2393b385f811e364ef0e1350000000000000000000000000000000085ee873826d13338e6d56036de04443657ec07389926d237ca59a436376783363f73f637354ae037dbf3183543d41635f4be6338a780833896cc2a37a966ec3579423038723f9f38118d5737b0202636314485357934db377c019235d9b487355a254237c9b90e3843d0e0375fae2d370000000000000000000000000000000000000000000000000000803f00000000eb453e3881d8433c23556a3f5e615f36bdfee4374e624d3c8ad2443f81239d360f39af37bdff563a8709243f677a1a3535b5da37af80393a3ef6f93ec5cdf03683991f367919083c9cb4ae3ea0f54937785c8635e141c1371c45513e4ad79135a32c1c367a31d9374ffc6d3da4e4c537000000000000000000000000000000000000000000000000000000000000000039fb4c36ae493f36ac94403696d64b36fdc5b135aa9e9335022b9e353789b63521356a3546006a351c979435facb75350fff853638d17236edbc823653ac7a368431e2360ce8363535a37835f0ca843515194537e39814369e8a13364c600e36b2412e3654043436bf464836b003403600000000000000000000000000000000000000000000803f0000000000000000725d4636e52d803fddb14b364cbf40362d76f136f6d6613fc3489d356aa0c33558082a37df97333fe354a135e046cb35d36885363354023f28e38b368f318636a1bd1f37ca92a03e42ee2f359b477c35e0de1637fe0a063e833b093654ab273686e32a36cc0d9b3c09ad4536c98a4f36000000000000000000000000000000005b1688366b06643775718636e3037136212b0a361f839f355808c1354b20cf355e154f36ab09533629c86036a3e25e36935e24355ccf1a35a75c313558698d35b7710435a09b343555d0343565e43a35b955c0372a6f343628a95436dd919e365774b937f20390354a60e835347dd336fc37bc35a303f0355c58db35340e9135c6549334c6c48634bfc38634b9379134a2770b36bf19803fb3dc6939ca027b36ddc08e357816803f6bef2a383ac4db35987151361fc9683f2ebef63734c871366b420a35396e3c3f16f56b357e675b3553601a351ca10e3f91515c35db112035c81b61377fbeba3eb374d537dceb683616a299367814353ef982a83745420536c705c135dfa05c3d2729c3359c0ceb35c95d8f347ebc8637c6f7893486298834d293de360a63e237b4331937f319d3362007ba36cf0da9366204a83607c7b73618bff4357066ba355eaed335657e133643b02e360b35073695ac07360fa8a236be93683615fc423677233936e5a96a3676350b36e1d008361a720a36af31073615283f378aa0d435ad276c3567a3ca354a7d3c36cb814a36d8d419362be31b36383af33513391a36f04b2b3647c11f3637fba336cf37623fed84ef3da20fd036f5bf9236c3d6653f94cca33dca1d99362e200436481c633f7259d83b2b01f935e7d1f03587db353f54d66438dea62e36bbb7653699d6083ffe338538100e4836066a2136defdb73e1f116f3708500c36dc33b435e9371d3e15eb97370914bb35ad6c3b36eec51c3d8d822436e6fe2f36b3cc16363b024f38666402361c3d15369d669336e27c4e37cbac97360b9788360848a936c099193753bf9c36577ea436101f66371cc42637e1b2ae35fb7cb935e21f083674beea35de7002366f9800363879d436816bc23621d4d03604b7d73657fd0a366935e435765a00365f29ff350e8d683694ebae356014ca350d39c935f2469f37473b9636852f9d3644f993367296ac3762a86437db56a136803ac63612126a360062323f342a9c3ea0627c36391a92367d3e393f1f1b853ec9dd8e368d99cf353309353f8449223e59dbac35c96f0936bebc1f3f06169e3d9a9b0d366697c436c42ffb3e71fe0c3cf2aed436bb491336480cab3ee8a35338f844f535a5a8b4351265273e4f48863735c7f735a3269736e794f93cf1938f370dc99736d5e4a63672ab553814cf2537ef758736a60f5f3664f75436c7642736919618363df34f36b2f92936499ada35d528013644697c36b4107836609d5936745454368b6aab360244903638c19b3613a9b036e3c4b13588948a353a4f44356504083578569f369ef69a3644db9b3682ae8a36747984360d1d7636321b84363e0d8d364ce63536826e3a36acc72436c9fa0b36b30f4b368559183669370b369d2a1136082dd335932b013fc1f0fd3e807ff235c9a9ce351bc20a3f127fde3e02b8c935a4ae5f369fb9073fbdc4a73e8d6e4c361b108e3626c8fb3e75d1563eb53b9b36b4be653583f4be3ed55d033e94943135367c9b36d358973e5d80853b41809936ec2065366aa6123ef70a2637cd298b368afb3736bfd7ce3cf9ec2f3662862a36895916365a749c39190e0b36cd03f83506b27d3749d81738cfba97364d6093365a12a336f31c8f369b266b36ce188136cfb1ae35e8be743563a98d35a8dde135980315360d1706368dd1cc3528db0236a179d536bebcc836cd27b73670bece368aa8b7368d8ef3358c6e0336839d0436db880e386eebcb37c3f1213669f45437bed4b53764f28037b71da93692e9a436f91d8836add38e36fb33933604328b36236093365d1ba13e84cc2f3f4ed16f36d6de8e3619a2b53e95981d3f5e0c4636975bc835b954b33e0334fa3e5771a735e778f335754ea63e9b58af3ec82b02364689d4362ba1963e51ce543e2bfcab36ba4111361ec1693e0cde953d222e0136eaa41937570a0a3efbbec73893fbf1358967b036b4ab943c4ca98637e030a836eecc9436a59095385f6f72363f2183365bea9636e6d6ca3718720736d6f5e135e85e4b3600152336cd81ac357178fd35c64ab036f2a29b35ba9f3a355e4232352dc6163691f30d36e886073626e707362cd2a037620d4a36934a3636d82d473681dba737d9843737a6cfe8352663ed351fb2d0363e6bf1351edf023692b4043663db1337870cb1360d1fbc363d90b536f720b6372120e93634cdba36b709c636f54b013655b1043e9c0e5f3fadd8af35bd242336cdc02e3e97e64a3f8b033035e6c5a7352e28283e63d62e3fd64125351eac193633ba223e6d19f83ef100fc351c425f36623f0f3ed355a73e718d39368e378c368429083eae63213e1e79dc3524d7fb351dfddb3d63e0633a3aa60536c97fb636f3d0b93ce77b5d378777b536c99c8237a1af9b381631ab36de21a136be349534057394348fe5853487689034873909363b468b350cf74a35804e8e3545d89d370aa014371ad07235750491358b5bb837280360374b2b3b362aec5a36a737183564e52b352d3a243512182b35f4590d35702722351a67133583bd20352a60cc375da5df3743d6813673cc8936229ba337278772379289dc354d2ed33563194837448e5e36a22f55365990463646f38434c017883cd3117c3ff4fa88346a1ab535cb4c2a3de9d4673fb127203590b878360040cd3c6cb54c3fd97f603508090c3793198f3c0c591e3fd7014236f38a2135e18dfa3ad2bfe23ef0ad1d358fcc173534040c3c8eb8833e88551335877a16378229583c309fa03d29ec8736ad9a0a373c65f23943562f387e3bd4359a870837a8673838a0b8373647b516360000000000000000000000000000000098172a3659a2213670ed093615d117360134fe35de25e6353751c535a7e62d36a6ab8e3584f5a8350ef9533505b69835d203853629208336b5b05436e34082363ceb5e37aba213379c127535897aaa35612ab935fd5894365f5ac235eb72d73557824836b7e95736eca45036577c48360000000000000000000000000000000000000000000000000000803f0000000071693b36c8f33e36e8887b3f6a0f00367f1f103670fc9a3757c55e3fc534f835106d973576fbe437b902303fc4d2a135a56d90364068a836e909fc3e77e8613646f0af3522169f39c1c6993ecdd17635deb2ab35f6dda137efe6f33d7eed0336ebf8553608141138ba748e38f0f14b3600000000000000000000000000000000000000000000000000000000000000008d0395355f452635dd1b2535934b4d350b6a2835c7811e3501e10a3554471635cb481937f2e5033607fd103600c00c36664142383eab97369e9697369f469536a7aa5f349a018e346d057d34fda58334821d233752bd88362f357b36af678336d93824371a4d1f36bf6d10367844163600000000000000000000000000000000000000000000803f000000000000000007c6e535c6eb7f3fabe73235415e17350e70e6377078593ff5161735c6e1fe348e50af37463a2f3f11710936bd620f36eb518b38458b043f97ed9c364b9e8f369eb58d349b19b13e64858d34e34a6f34330c9c3646ba2f3e0f5b823673218136cdc0b236e61c533d9a4d0c368c2c033600000000000000000000000000000000ffff8b355e931838b4a89b320f91a93264ff36348fd684346f071c341e1112343488b835cc6db435f4a4c33531f1cc355eb1a736972c4e36f864313682864d3649922636cba41036495df5354a760a36c950bf360e4e8c36a5a07236cb7a733677201037ff79fe367bfedf362658ef36c6c15437c1160a36668ce835918ff23510e3aa360962b6314a85a8311c31c131c10e9a3284417c3fd1cb703c41809c3216c3a63310d97f3f64577c3425ea4034fb0ec3356fc36e3fee43c73510faca35c53ac0364460453f5f4471362d9a2c3627e83436e3eb163fec98123626da01369eb0b536835dd43e1f698736867e4636c9770e37d8475d3e5405ea3681e2dd36977f21367c7cc03ddeb4ff35be28c5350839d231103c083a683bc131442eaf31bf1bbc327a5ea4389ef8b3324cc3bc32c1a13b3661be803674ea40367822eb350f10cd35f9a6ec3525ece635ca49d835a8889735d077c635bf1c9335f199553538143d3697292136d57e03362221f235c93f9e3660eb183655811136f6a72036cffa7e361241833653165b362ff58136c688c736161dc536f4eda236f7bba436ee7f8c362f8d92368c507f3681d8823697f6b332a0c8573fe80c213e1c2bb332c52c9f35c8b9633f0dd9923d7f9a2136a7e5b2352ace603f3b3cc536a2ebd135d57380355098423fb5e7c4358aa79335f5b23c36db07143fc9362b36a5ad0536d17c64364efcd23ed79f0e36abb8093603c55b3656b66a3ecdf05c3631cf63368870b336a619c13d3106b03673d39d3672465836c156b73c483f7936e5a56936a199f6360007df389a095a36aae21536cc19fe364db5ef3704d9dc36b251b5364b629535a6d8a535b9b6aa350d54a9356c089f351a249035fb659935bd1a8d354a22b9365bb79736e057983614c97b36b8a29334b1c57134f7698534f1959b34711fe636bef2023634bfe935be3ec635c2ae7a36606d6036feb22136c6981e3690712b32dfd02432699a1d324a722d32ef02fb3508e62d3fd439a43eae923536effca836d4773b3f6bae6e3e1f8bc936fef0a235ceb03b3fcf57b03dc94aa435b9d5aa350a47313ffa619b36e81b9135ffbec13630a50e3f7f27cc3640058d36f2a3f234f0eecb3e71d8a63458d37234897e0a369b3e673ec32ce235ae4ee3353ac869364564973d31563236413b0536aaed2f32d3b5273cbadd2a32f4941f32a9dd1636e6c27d39b4f7e7312a750f32f039b535b0c20636c0cb4735c0eb1735e10f98361597c336f13d7336a96a3636e2a4d33678c4f63665f6c0365654a73609330e36c3f71d36f465eb35a7ebd4351773e136c147d13673f1a5365d368236b7c2a9368c389636ba554836decd60366d34ca3550f2ab35ed9e33354ca64b357ba21837f92fd531f9bcbb31a95fe23118a00532205d033f7a9af83ed837f6311bd8b334d3cb103fb2a8c13e2ed5133576b8453626a90d3f72b27e3e32544b368a20a536cf5c0a3fa302cf3dce63b13679baf5355bf6f43e4873b13c9e8ad53529d2dc36f8feb73eda94ea36659182360895ac36b9584b3e9658793639d13d36866dd23553266a3d2667703512afda34ec796536c8a0da3a57ede63194b2c93172e5353245880038159d243258a03232e85879364aa0953691070c3602e695355015e6354b1f3537ca3301366b59e435c03a9d34def819359b2c8b3446cbb93308d4c436f228fd36d267b436e239923610129135202ea835abe0ae35685a963574909c35a92aa835a7be8f356d0a8d35ccf011372a860037161db736e3f0c2364142883794d48436da372036fc8e4e362c213632bc3faf3e96df253fc7312732e0b61236e283c93e818e083f7bd9c5350765c635d480c73e1b39c53e333f00363b1845345b7eba3ea9f2733e06e69034262a9d361cd3b23eb8dac03d1d7faf36c6f48e3539bf9d3e0c1aae35a644a3353ad89135922c3a3e2abcaf3509a09d3595030d3716a1113dc76edc365dcbad3602b44937a30c123ab9bf3236bd5b1b36749c933687941338357c8735d350f8344df5c9360953d237561a5d36cbe0113687fb773647a882361b53333614ddf33550cb8236ad87d4362b1c073604d30336da414a36fb079936a1de0a363500953500029935a850963562879d35706b6535b0a0e73583faca35e482e13573a2b6357e545e36350f4036dca6db35fb49d235fa393b37d85aad32b0f4a7320fdfa732fbd15b363c812a3ec6ce4f3fd735f0343920af368fbd5d3e9695303fc080333607f86836b88f563e87fe0f3f561e1d365e031236753d533edbfcc33ee3b3fc35a1ef29368f76383e1145783e01caf135d706ac359e70313e5ced893d541694359505e4358d8efa3d7924d9355465d635cf4b6736d899203de5d222368e62a9355851b637f37ac338751fb1328f08a4323b3ad8314118f037f1c9bc316539da3140251236016cb137bcf36e35e91a3135a4e71337a4241a37747fac3654bf8f36deb4be367823d536504e3a366ce40a360ed71f36b4133f36a30bf335ebbfe435d893c4361bd81737f54a813688563a36c430bf3537818637640ada35372dba358286c733193b833484d7913347902d33b3a982374a289032ff9088325d788832f45dd631317f463d8797733fabcdc331b502c83516f7a23d2bb2533ff21a56357f67fa36b8e6ad3dd42a333fd79ba2366c708f36ec3d6c3d6935073fb21a2b36f785ee35cd07ef3c4cc2c33e97270036a5dd8d36d98e3b3baf91683eb9256636db46c9356109743c4b25583d7982e1359bc644337a1fa03a1f732f34ca66b03393527a3749ebe239cfeb9432126a863200000000000000000000000000000000697b253671c5ff36f1b3c635df44a835ead8a23648beda36c4d61e36b9eeea35087b3434799e6c349ee1323497214234b6281f388e7d8438b3708036ab2f6e36bb5eda360aa4bd3751d51436ee11fb35260cf1343865e83751de2d35cbae0535739ab0359f45293780c6ab3507bc56350000000000000000000000000000000000000000000000000000803f000000002b2d02361e8d253832ee723ff87beb3501738f3605ab3638c422543faf9815361f5230348df42b3783a0273f3cc3443462639e36cef3b5388b08f73e7e088c365ef4133635f82a38e5dba13e892e1136728be1341eecd5379fb71a3e73e344355e7e8a35aa1a78374045fc39caaba63500000000000000000000000000000000000000000000000000000000000000006b6820385b068836a31ff7352d8dc835132bcc364d1e8f36191e113698c39d350dd60d38d121233642b1fb355919cf359c23cc3649598c36fb5c6c362ea747366acc8a381458333388633633f0463c333d10b9382b5e063604e6ee35d28adc35fe1a1a38a06fd836e77c83360811763600000000000000000000000000000000000000000000803f00000000000000003857e6387728733f55b482369220e935ac14063cb8354b3f96ad8e3698fc04361eb87138e660283f78731e3645f2f0353d8cc33662de023f20f28d36b67f683651683738b571bb3e6b5a3333973237339d7b1b383e124b3ecad4fe35bb8de935b1786437954e6f3d3fb99f360bbb8036000000000000000000000000000000004324e037e53b953cf6e9b9375151bc361bf79337324c66378f3fc63618708d362d08b837e2346e35da25c434c8199a33285ff137c3cff235b4b49b35503d5935f3a4df3744a05e36f5e03c360144243644950c3849f4b633d570ba3345eabe33b6348d38583a8436b4342036dad41236c1b2d138002d7c36dc9d6b360a876536ed718a3888d8883634ae1b352cb51a3581e91e362f9d6d3fbe075a3d66bf393704b2cb3649b97f3f7742cb379b7fb836ce97a43649526a3f49de8a355bcf833473db37378d943e3fa3200336fdcc9335cd95823788d5133f03bf6136053e3736fdbf57376ec1d43eb250b8334afdbb335639d2372428843ebd467236848c1f36ae6c62368aced63df5e77936f6e368361bbe4f371cfc2b3dd0efb835f458083573fafc35e736023d9bd030362a742c3681100637358eae38dcbefc36111db03685c07b37ee7da137328c373622723136ff26f737b6cea433d107a4336faca133be3f8b38ccee273654ca05368bc0ea35d5fa143820f49c35b93880356be15c35d3d19d370eb088346cb4373452aa3834e20da938e5e0b23629c3a3362bbf9e36679aea3862c1d936d34d8136209f6f36bb956535ef12473f532a433ea5ca313604898d3650e05e3f0079e33dd4ece23695ca0836a8d7573f323e2b38256c2f36bfb88737fb58393f0568af33f53fa233578bcf37d72e0e3f54912a3681eff535fc32a2357c6dd13e95e79e3539395535f4c9af33209e7c3e98cd9734f6645e346791ab36a62de33d0b06b03600349e36af5a75387ce9263dbe5a9136701b7136e47a4e36cf1e753cd5173736419e2636abfb0437e0711d394b566a369d654736efabb93504607538374bc63537dca435a40a6d3846c0fc3572c4a33599345d3571538f370d3978369c554e3635212a364d8565381caf953464ff42334005473381198138aac2583608e8273635541736c766b838715eb0369e975e36c6704c36bf5e70380ec70036e2f4db35924dbd35c32a3236a4b7243f6c66ad3e169135361dcd4536ca6d333fc0a27b3e9dd85e36e178a035e7df343f2149d93d8b30bd3556d60e36c4c2273f9c82df3cb8959d35c89680366860073f23038036c1ca4436d2e56b374ae2c43e110abb3499f5423375bd25375316753e0de45336e92026361fcb173703b3ce3d1bc1a036ad3a5b3628c0b9377a5cf33cdf9bfa35c33dcd3508cd0e36e28bed3ae471ff3541c4ae35b5368436b7dcb938638b7936f72e4a36180a0136681519381b13f035b736a33502fb253605801a37bd1cf834a2561e341930b63824ba54388fbb083632c1e0358f9d17375ade7a34b7dfb7338276ba33d03c99376e16e7354f8a8f35e5f922355802493865e58136f6664f361abc36367a8e2a3807a0d535ceea8535ccaf4e3557aaba357e0d023f6619fa3ec77ce1352a136636064f0b3f1f03bf3e0bef6c36eddec73554cd093f30457f3ead0be2356379e933e58e063fa955f73dfc02cc349af7ce36544ed53ec1e1aa3d34da0236e72e3135f255b53e1cc2fb34aac0b833aeba0936e5265a3ebdb2e1354c728135d74d8836bb4eaa3d35307a36d4504c367a63bc37e03cfd3af212d135c7508335d3486f36463c873aed95f535fcdccc35680d7137f0061239176e6a36d9613f364a200037367cce3879296136e5fb2a36a21a17376998b3388bc3b034b3fa4933d31b523733ffcb3756c46b36bc1e4a360d7d8138bc8a1738a5920e36a35400364eec30387cd1b8350bed84351dae3a3591d0c938424e6136022d2e3674d31c368a5526380c593e36bccf1b360e1ef8352839f0358908b23e01451f3fb548f0354fe98836c1bac73e8b7f023fdb2e5d3654774836874cc73e9653be3edba05436054e263439b7c03e006b753e40efa9340f026a36c6a3b33e5466f73d63c46236a376e735a04f9a3e0fa6853c80f30636d974d935fd67403e3f4ab93521558035df856938683e5c3d89b75436f86d24360ced9d376437703b6a4b363651a10b36e2bb8d38eaa77a3a616f4636bd331036ccb9e5376809da382c2a8936873f5e36f3c84d344a6ffb3752d00633527b0333d677a83502458338ed2e193565107e342b87003887cfc138e1af3136f48c093607b2b337f1154c38482fd434b13dfa34da0ef337c6cc17362685d9357f97b93532451b386aa0da36bb9fd835b7e695354acb8f387c56af35e32ac434da7986344f378436a7574a3e2ad7423fb8853c369669aa362a377a3e7f0a253f147682369eb86034b3176d3eedd5053fee4b0433fc038e350eb2663e6375bb3e8819083588961c3621ea4f3e75dc773ee44e29366d65a53362fb3b3ef2c8bd3d4c46cc348d7a6436a7fb203e56cc10378d6dd235b543a037299b983c520cc33647d6ce35f2b89c3832831c3a51f59a358c2992348c9011385bdcaf391c224c3459eab33286768138d195af38fdc92d36ab71dd35730744386a2794380097f5355312753500e2a537cf3124388a3ab133c39aad330b2d7137fd325d38691f53366bd6273651dc2236a9b28b384ad716367643d835d2ef5e36f352a638b83ebb354b7c953576f7043846c9033710668a36db9024367435bd38d768cc36ed4bd635d5cf6335fee022351fa8723d1c0a663f3cddc43386f86e36cd52dd3d2797493f398b23362bbb5536274ac13d0ac3253f4f21eb35dcb8b8334b909c3d262c023f50e3af336663533671536a3d1130bb3e7a2c4f36a924ee3535e0b13cf6f56f3e91e41436e1545a35a475b13a675cab3dacb1b635c22cff36f4258a3af79afb36775e7d36b141fb3898140e3ab87a6136bfd8c535000000000000000000000000000000007c287937d7dbff37f9104536206f1b36c96cef37ebf1cd386ccbd035ec368435ea60f6372809ac382e034e33adbc5433e3d59936c0139e38f50d84362fbe553687eb40369b1562390bb250365bf34336bcc7c036818e113c48cbd8363163b636c656b63662482039c0bfcd36aaa7af360000000000000000000000000000000000000000000000000000803f00000000cd6c9b360028043d88d3683fe9b04036f2e600361d04ee3c92ed453f4502cb35aaf23333131bfe385052223fe0f14733fe828f3637c8f738fe5efa3e4016833682cc17360f1c8e38f372af3e590551368451803649022337173d423e4a7cd336fdac6836a529b438f5fc4d3d2be1c636000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dcdfa033b63ee733eec11e338a273534af200a3350e004332f9cf632ef190e334da247354a215a350b663635be8a703590915635b0c36c35e0f63d3569ae7b35cc99413417f42c3475b0c0333edfae3346968b35f9897e3548053e35126d613500000000000000000000000000000000000000000000803f0000000000000000000000007183763f00000000000000009dd50034cbc6513f561f8133893f47331ef5113357ff263fa31a01335811dc32a0df5335c673f03ed72b6b35a71c3b35ea507c351fb1913e0874483570103e3508924f34f798013e5534ec3311c8af333fb988350e90983c48cd833530274835000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac0c23323870733200000000484b043331e5d7323d1ba23202bd1d321bb1e33249dc81341be442345885c433f2ca5c34c5263c33692f0a33ddaf8a3230a66333719a553423680c343b78ab3338710b3460dede346855b93401958834c9dbad34c1c14a346dad5e346e121f343e665b3400000000d760793f74301a3d00000000000000009f8d7d3fa208373b000000003e1f77328f715f3f000000003c92ad3123caae32e46f353fd70eeb32750ea032a8063c3496e9073fde8f4234d3841f34385a4433d0dcb73ed48cd937b266c132262c55349cab403e58291a3ab89d0934730fe6347ca3763d5809b034f517933434b36e345d76c039054159346b9a5e344ff65b34e6258a346848513426d08b34078d6e351abe7935170f483526d08e3551ae71335b0e39339c0e61335f4da03300000000000000000000000056032a33a281d0320000000000000000622c7034c2cbb532f4e48932f3e78f320adceb32c60941332aa11833680e96316498aa3345119e34ab778e342b090234eda0e534c1cfbc34966cc33420891a34c30ffb334902483484b9553f9e4a333e62292d34713c663510fc5f3f8c650b3e232d6b354fe3823322e8563f0d87253df077973355db5232e7ca333fe5da0c3ce8642c30d3fac432f4520a3ffbeb643bd4430e33e3b9b332c8bbb23ed2d46f3bd184b032fc438d33ebea2c3effddd13b1f4e6233da7284344f691f3d9202d13805d29434c11278341ea95f359d70a43470e7303477a15b33a6d58c3339f46733688e8633000000000000000000000000fd2d98330000000000000000000000000000000067df0c3205a2343207e396315b7d8e3262ac183200000000000000004be5a833b2368f3316dfa933e0e9983395af0b346f7016333daf0a3316dde932b187e332fd07853508fe6435117a53356b707435c8a7a834dbce9c3494089434a29bab34b28f42333d072b3f40d0af3ee4bf513300000000b4c4353fb6d0993e000000000000000013fc313ffdab353e000000005c123832d770223f7936903d191aa631000000003b15fd3e69b6ee3c00000000aa988933d1ada53e3820323cc566973371f610335f07233e5dc7403ac6e7d6329f3279359924a53caa0d6735eda34f35da3c9e34318c673966ca943403df8834d8be2132f819ff32b76884334a48cc33f575093481dded333200e8336fc407343a151434e0ed833420b92f344d892d3487f9193319df2233cdf0fc32f2d03d339cab77343f996a349df43234a1c78034376d2f33adc80d332f85bc327c6b0033ee6a03343760c933a3a4b333b980303492eb1f3413d1fb333ec574332f43e233ad5d8f332014033472859b336cfda333293a1a328d12f53e2d37093f1a3ab93288c9ce33e07f063ff325ee3eaf6eca333b71f5339f55053fb6d5b13e4f172134f3951433fcf8fb3e96de4e3e40431e33ab515834823dd83e3609ae3d0f8a5934d9dd0433c244943ef00bed3c2839de32e4c7e13345f50f3e7f93c63b2322ec33dfcdde3385c7993c3be61234b135c63367a2923363a2a83948c3a433f68e8d33e34f90346d19ae34fc99aa34cf9bac340488693516b57d3599de4f35fddc843587985033386080337e1858335f4b8e33f038853305829933f45b00334a3d10340000000000000000000000004019543433fac2310c3d38313fcb303293b990328cdc163362c7e032000000009efecb33000000000000000000000000f55d8b3385c075337b506133e50d83333b9c8f338f079334cf0f953e5ac6373fd3a946349f7e6c35eac5b53e3e64233fbb455135fc65cb325f02ae3e36d9023facb62e3399a5c7336cc79e3e2d69bd3ef2001c3365247d33ebb1963e8b574a3e00000000cb4c7330de68763e6ae18a3d8408253257dadd328ba4073ebb03d53b00000000757a66335128093b000000000000000045c846330cba89335c403f3374006f333db6f534bd84e5348ff4d233c1f8e1339b991035c9b6f33468a38c3456ceab34ae7071331a783d33aeeadc325f972c33b8e1323305820633c0efaa3271cad63295f6b9334e1a62330000000092e9b533765ab131d7b9093100000000164ce3321817a0331286b73314896133973c9a33b75c86350d546d35fc1e53357c137b352f4577347cae6234f03361340cce86347e2a1834ea7f043e6f93603f19379b33282880346104333e07284c3f4afbef33eac7f432ba5d1f3ed75e2e3f4fcd193397a35433dc5e153ea3d2033f3b409732e3c49f3239af013e7d9db03e0000000000000000b3e0ef3db1ae3d3e00000000ce16a83338bcad3df7fe363de091283392067c350a15c639af656535bf474f35289d60345d3b223989bf4c342e194e34f1d74c3415877d34a6cc4934992f5034b84cdd347804bd34dede883421fdb4345d571634677a64346a511a349ecf2134e9695d33c2112d336340f33293d649331d52693461243d34de83b7338b427c343f70c8320aa44e3200000000ad139a3235710732dbd926330000000088354a33000000005d372d32000000000000000000000000000000000000000000000000d493493479df443cdc327f3f0b2cc1333d8cd834056c133d9df7683f163a28344337fc33a998c93bb7ca503fe26c1e346767a133b83b333b4e0e263f53032133fbc73a34e658ae3aec13f53e8551213490395b328814a8398df49b3e276f943100000000a52f5c336a060c3e0000000000000000e356cb3a13d9073c000000000000000000000000000000000000000000000000000000000000000000000000b3e06a3519e35e35c0ae3e3552d58535c32eda33c2c1ab338e2ea5335754de33b6ec0d35fb601535ae8a173578911c35d6892a3506ca2935c11b2235a86c7435016d0033dc7cc332d12ac332afda0f3300000000000000000000000068548833000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f00000000dc3d8c355e0fa33567b37d3f65d84835d6f4f433e6de00347726623f0f740034d6765035763a6b3561603a3f4d4ef434eb936435cd3a8d359ad50b3f53230d3579b4ff3207e70e3324cab83e7b5ce83215ffa43114d7b43397c4433e00000000000000000000000009e64c3d000000000000000000000000000000000000000000000000000000000000000000000000d7d8d535c696903584e27b350dd2d835bdb09234005b8334119a7934c844c334f1858a35050f9735d08ca335533ba3353cc90d368fe9c7354a99bc3532bf1d3635cbbf341162b2347685a8347ddc003574e650350a6f5d35a6eb84359299893567f5d835d7d1b83554cca335ca3b1b3600000000000000000000000000000000000000000000803f0000000000000000ac2016372e66783f284c983590eaaf35007c013854254e3f7d9e2f340e46703425f1ca3719d1243f40698535955dac351d03063882ecf33e58d8be3526d8f835215465344e379f3e81eb21346454b03419492e35f030223e1ae22435bac89835d294b33511b2153d3182a835ea18d035000000000000000000000000000000004a909a335b1adb393a15bc36379a803400000000000000000000000000000000ffaa28340000000000000000a708d633abdf13350de21d354c001f35fd7b2035000000000000000000000000000000003bc355357faddd34e327b83475903e350000000000000000000000000000000000000000000000000000000000000000693f1d37e318ec3163d3f131b3317534000000006206793fff01f93cdfafb33400000000e3467d3f06829a36000000001bf9b93424366d3f0000000000000000a59b0835b972433fc0d93b351bb00b35c4e22537ffd31c3f0000000000000000db968235ce85e53e39ca0c35d8229634000000004504813e000000000000000000000000082afd3d00000000000000008b232837d514873ce4371c3400b302320000000026f9603c82724436000000008bc77b34ba8edd393fa57c34afeb3d341313b0344f5f763423489e345463a5346a507a34e1995f3468253f3454890934000000000000000000000000000000000d7dec33000000000000000039d663338d1d1a3432741a3435d9233461cc173400000000000000000000000000000000c2157537a9abc33449fee5336a926e34000000007e7d4d3fef68433e0000000096c0103330755c3fba7db43dc84c7334cdb3bc34489e603fb3000739db7580347707a23332c94c3ff3e0763433201f34000000002568223fcccb1c340000000025bc48344fd6ea3e0000000000000000928458331d67913e89a5353467ac173400000000df69fa3d000000000000000015913a373be96e3d000000000000000000000000ae9ecf3b0000000000000000a71e8b34362b3f3a2d8f1c342d4b2d34990e2f34ecd8f8330e9eab3342d326346dec0935b83e2835b46b0635d013f734993d963593656b3506310f35817c7735687b47346de901334ad6c33068a0a6326a49a5349b398f344b76a034ca9fd834e59295351b3c753523b9fe34b72a6235dcdedf3751757332c9489b3190c9a03100000000a7ef263f559ab13e000000004d776a34f4922e3ffbc3743e5eaf3334a50033341c66333f5ee3b03d0ca02e33cd27a8340fa4313fb4ef92399f0d033585096d35ba451c3ff7205c3572005b35e21e1a34899ce13e4ae3cf30f1dcb230f1d67a349b4a8e3ec37d34347815b034fd707835b3dc043e19fc3435f38f1c3583889137c7f0153d82899531aa64ab314763e9318b554b3bb10546345ee280335412fb322907843a071ac032ebccc732f583b43157ceeb390eecb9314a22f3316ad8c23342e4d134acd7a634c6a6d53300000000b4bf23360000000000000000cb00c13459c4473168f378334ca8a834c92001326e95e73122610a3297e53632fd82193304ca2833a16e3133a00a4633cd30bb357b3738311949323112ce16344ae0f0307a3cf33ecf7b023fb2d24d34237bde32d637033f9db9c43e7432d332dee89a3108fe033fce9d783efe540232000000006b49033f9ed6a63d700ea7340000000023f1003f819d8f39000000004ccb0335ebf1d43e183645346739893242b7d631df90803e8a8be03199410f32d3ebdd32b431e93d4d38243331aa363307201d3748dca83c34d2c83392e037319e128c3681ee473ba7e13c3185c23a314485ac353686893a57c63835f322183517f9a43414272939e76d9734af7f483412c3533046ae8439b479712f00000000f5fb91351489d93695587a35e6350c3501e55835cc1e2a35d438da342c1f98346da2e433fbdd32346ce81d3468dc083412a46e34284276342791a034b6321434fc546937000000000000000000000000d9c76c31880d983eb8772c3f6bdb25315fc75d353fd7af3ef364093f3dd924355c745134ea6bad3e3fc8c93e1dc65d343c224a30147fa33eb084803e0000000055ec4b35937fa73ec7d3963d704e7d35fc650f350a21a03e40b49139ddf0c1342e145d31fa47653e3b5f2e347bc0073432951c3480ecb23d8bbde534fafc9934db0beb379c75ab3b000000000000000014dd23355a4c673a00000000000000000000000071313d3a00000000000000002eb54834e0ad8339e101983196effe33ba052833181859394186a2300000000000000000fea421390000000000000000a149a234be4145347f5d8833c2ea8c3402b6b5340217be34f886a83471e19334fb7a0535ee209734f9339733f51ab3332457ae37000000000000000000000000000000003cec053e100d513f000000000000000092a03d3ed947333f0000000008836034baa5313eec140d3f00000000bb8d073333351e3e4236cb3e0000000000000000969b023eb5f27e3e00000000b51fb73471350f3e59fe8c3d17cfe0328457a6345904033e37391f366e45963443bed134b862743d99892a33c95501334bf83338ac94423b0000000000000000d65315346c26c839c3991933ce462431000000002f808839000000000000000000000000d218e7360000000000000000aa811535786b0b384e2935359dae0e35000000007d1e2e3900000000000000009c44423553d702397807ad3414c81c3500000000a927c3372e138b3441d0913300000000000000000000000000000000a67df3368ce9eb32971fef324f997a3406f0c0330fa7bf3c3402773fc8e0a732000000003d34513db5bc543f00000000000000009a67433dcf56353f0000000051120535f565263c1fb00c3fa38b3035000000002b71443a6f77ca3e00000000f2395135064c153a40c37a3ed63bad3400000000be40823a77baa13d2958723400000000a1557c3c0000000000000000e92303382cabd73aa0df36340000000000000000000000000000000000000000f4580836365e9536d7a08335ece25135e4ef713532c2373586d72635f6443235f9359a34ed3a2734f2c554346c9b40346bdf0a3636adf737a4e0be35e88c9035b89aa63575fbc037801d6f3513b291351355873436764936a9528a34cd206e34622ccc3588ae5a38a8cb8b356d3a2a350000000000000000000000000000000000000000000000000000803f00000000f56ef73509de6b371f01783f871c7535862050356dcae4380a83583f83fb24352a5f88348c08a7373886323f9cbc8a3492dc0736f1bbf237421a083f0c41b3355c159935c27ca9378b5eba3e47006f359133463413774834f9224f3e0cc29a34074ccb35dbbcdb357c6d143d09768335000000000000000000000000000000000000000000000000000000000000000077db2837e9c6ed33ad14de33c16ef2337d53c9372692d934c7fce434d7a30f35c71bf13744bd54365a17cd35253c1236bcc7f137bf7c0934ffdb0734066f1b3400ca87392d2161348ed98034912b96344255483a212141365f77dd357f7bf83545ad033a0000000000000000b759c93200000000000000000000000000000000000000000000803f0000000000000000608690371e6f753f0c550334ba9ceb331c3af73cfea3493ff2e2d4340756e23432a5bd38a5f8263f87114c366f38db35d07c88381878033f99a91c34db8b123484dfec374e20bb3e9bd75f346f5582348f280a38d0dd383e8c453a36e675f835907a32380b199f3d0000000000000000000000000000000000000000000000000000000061c10d3d0000000000000000c0a4f537e89ff634f765aa34044d9e34df8da234cab82034c8db013434959134b19efd3736a2c534962ec234ef311d35e4453838ffe7bf3418df66344d99553497e62439964c9233e5c1a1337256b133e1968c385256713385b35533294e4b34ff4a213ade58173449160034f6fde3338a8b313800000000000000000000000000000000b712703f8cf9e63c00000000b7a51d35197c7b3f2c950635fd5d94340128303592f1713f1a95e3337f7ffb331543e137b783463fe13bb9347e26c734eda817386e63283f1b2ae53403795d3495d0923727d4fb3e235f98331e6aa7339400053853da993ee73ef932c4c48e3349eb043890a4103e0c563b34fb5bfb332704e73738ea723d0000000000000000ee45ad37dbb7cc3db19d2a34341a05341032c2338f3d073d1d7fe0335296d53300000000000000000000000000000000738d0a37a1599d33d058d8336c389f33bf034038897202344807da334fb79933d750a038da761b34dbda5034062d8c3448de7b3968156333112da33332cfe833cab71a396fc95534a1eb8633d7002233ebdb543ac43b8d329371a132844c2d331585d433705f453fd117003ec3d317343a8baa333d785b3f25cf793d98a7e13300000000cc5d613f0000000000000000746cf6362c5f563ffb75b833cce11834cd991438e4392b3fa4232f345737c5338ee43338327f063f241a1f34bef568348e213f374537b43eabbd3833fc22c23316904138eb0f543e908211341f5d993316908438dab3ce3d434575322230b132c8eb5938964ba93da8088535620b5f32da174b37ae4bb13d678b0734b4083834b37ef0347fde7d3c3436013518463435ee26d336a9e88334411198348305aa348816b0372f91bb345207b4344d6c0a3528c861382483c434c7c8d434472ff5341c2a2d3867029e31538816328333c832f9454439307d2f34ce4709345f132b34fc72bb3987f84934724ca233010aef33101f4232df39203fcb1b8e3eb1162035601536340303233f438c203e8b3e07340421f534e83a2e3ff7a87c3d8dbd083597995634c596303fa3257034ee3192344064fa36c20b243fb178d034da71be34582df337d1def73e18e3bf344412db34588eb836680bb13e19d59a31cc93063272b47f366a57523e7aa23134356a23342b731e385d38853dac08a5332cc3b133b40ab8378a53863d9a044632bc3144329d18a137784f6b3db21a18353a6784340e123837344f513d85852134eb433f34ffc5f43688f3423c1e85503408b0863404d4b637b339fc36cd6e6234eeb65a34d81000380986243450473534d6a44134d61b2d3858b8473480a034345d3d8a348eb4b8381fdce334cb66f73354d94634a6b817396d515530000000006a6dbb2e0e2f31313740ea3ec149df3e02b64d32f09fa7347934ef3e417c993ef066c9343ab92a34dbcff23ebb4d3e3ea9862834eea22334a13ffd3e7888603d98d35a3411938c34c767003fa59f1b36a8646334f6f6873704eae23e9b2e293406d7413406ae97370abd963e9cf83334010e3d343685e837451c3a3e69298934fc490034f9850b38f346413d58042f311e2e1f30d1e9ec37d8e80c3da48ed93312b6c2337ba53137ec8b043de7874d34484f30344bbb4036a11fe93c2e55d031c68cda3102ac0038882d393db4c8f134dafdcd342a53383646c3453b163d423550071835ffd47e3781e75f348e949034ea6e8d34539cf5371876d634c0c51135feda103572f2f338c6831f344ae64434cfb34034140a07398e70273288292b326b82ad32584ab333d14b9d3e7446193f9284e03389f94d34bc8e9e3ec481eb3e9e924f34463f9731a5a19e3e589fa43e1a4dce3114b0cf34c41b933ef4a8403e74d204356b2ad134afaf9f3e2b8c493d03fe37350e116334c484a03ece397334a48fab347993ac377ed17c3e83700535be271435a88a2538c7f5003e54de4234bae4453406c8d738a7b39e3c088f1032f9563932958194386c97203c61f3b13243fa9f32a93a0d38767c2d3c3873e4330e5a4a33d73c303740f61c3cefd0083482d5a63350a1cd378365973c491a4734f67a5234ecbdb637977f313d2f130434719e1934d496f0331ca2893c263c3734475e46345e5e1e3600000000000000000000000003968539d64f9533e78d9233b483af33cacad639a13fd3331ce5be33f8edcd33a5d6ab3207870b3e74b9413f6ccbc732d4493b34ad4b323e361c1d3f6573ce3384b97733f086263ef438f73eab7a003496b526348c590d3e58cba53efcb6403447b31c34caf5dd3dc4403d3e28ea0e3462ff90330912f43d20effc3c400b2f34000000007bfffb3d0000000000000000060a5b3758a75b3d4cf2a833f3419e337911273be76bdc3bd31cd533c3b5c1335c51d437a50dec3b0000000000000000beb1c6371ab0d83b2ae48b347f9137333dd38c3731e8df3b577cea3285e55932fbf277376d62743c781fb833fbd3b133937e83377fd59c3cf2d5c6345d0e4234dca3c43433e05c3d53d8913456bfa3340ac39a34a132b03cb9992935fffd9b34d64b1c3823f69f35a5e2c2343d4b84343b4116390000000000000000000000000000000081f5203df1ff653f00000000666758341e78bc3d74b8433fffd5353481151e33f9598e3d2cb5203f3b0f0d3343169233a282a73c4e2df53e017bc9336405f534ac47433a58dfa73ec8fb953454b0ab345e351938a1cd333eaed2963442170b3447857b39851d173d3cae0235bf360b3558f5a23c6502213581b7a534ad9dd236d7228c3b000000000000000000000000000000000000000000000000aac5d1376ebb633b0000000000000000c2e6cd37eacfe33abc980e36d1c1013433a8b436df26873bc508a234559e8334582734344c51ae3cf5bd4f34ebb240349069fc366ccc3c3df34dce364dea84363fe5bb3507d95d3d164a9735224d2335d45b173433c88c3cc15b2f34ba492b340000000000000000000000000000000000000000000000000000803f000000000000000090d0e13b30756a3f000000005045343663e30c3d2740493f07ebde359fa7593486b9e23943b1223f88549c3418dc1b3457a2a0382145f13e115b5134c2793a36f044b437ccb39c3ee92bc5368a5dc534b41de336fd74083e14d7a5351558023443ea0e37604de83ce47231340000000000000000000000000000000000000000000000000000000000000000d400bb370b30ed36cf98f3363b2064377e399c37f97cad364b49cc36aa5c5337400da437ac198b35545f8c35dc619036c4f9e83737b732375c4b8237660fc237d923e737efdff136a9200037c8c7bf370c7ec537be946637bfd9833711ecb6375b9dd9379ec897373bc48c37437ebf3700000000000000000000000000000000000000000000803f0000000000000000a03c9a376ff67f3fab2b7c370aa31f37488ab23740c2583f3483683708612d373cdc303897fb2d3ffd693437a45a0b3698f71e385af3013f5297bd37e444a8373cda09384d54ac3ebfc6be3724e47837ca58c837909a2b3eb425943774589837cc52bf37935a77387f889137f0399c3700000000000000000000000000000000367ab0379bad4a375c5fd536b4d36b37d0ef4c373ffb50366ad5543662ea593666aaa537df349836bd58cd3625c1193795870338f7e72137d214423777ffc9371a4dca37ab9276364eb6d636f9558f376ba60238df55da36f22e0737762b9f37553ef437d3172b3782d4153791bbc8375c92a937850d0f37b5a50a370c038637e57599370f1088370fce863719309f372fe0a53585f07f3fc45f8b38875d3d378b2a5236b5f67f3f078c1538b9015b36d35f4337f2eb593fd2da1338595f0437d745ce37f71b303f19b81138b2089d378e43a4371e15023f3d070e38fe0a5837765baf37042aae3eafb51838c40722378a07c637609c323eadbbf73787e0683799871f37da7b683ce4da7f3781790537019a56370f77bb37f9cf583729e7583735559037a999763765681f376f234c37f789b13726220937a1c0e236cb8b1c37d8601d38d8dd0f36cc5a1136c56e9136fe8cf03717da3f3725ce3937f6c2a537b80da837f4af293737822c376f726f37e9ad46388f05a337f016a23753c90038626987375713be365b79b036cbe65d373db9da377de6813794b217375520ab37fd9f08383cafa437560889377362bf37e1446d367c19583f366a1f3e9ad41b3709b1d936bddb593fff73183e0c22f23676d52a36db9f363fb5440b3ee1ef153640c68637c2d4183f8921b13dc1fd66370ef44e37dd61e13e2023663db1024137db47b4378fee9d3e8c67a038ce08b33793d7eb36052e2a3e1fa2d3376a4abc36044365377ee2513cd7b1cd37315aca365b9f9137356484383e7b9f37bb2968373bcc0f3802110f385e076937ce8883379facef37b6d67e37f91c1136c99c143654e39a37383ec036b5db2736e453dc36439d603866a3693680c23135a9359536eecd1238f2e40737c7b07136d9575a3782c2f537681db3362abdcc35b1f22a37db8601385379a3372f5960379d3dc637ce329a37152e86378c166b37c80a8e371abf2638488ed2379a004b37bbddda375abfb536222c2d3ff483a53ed50a083731df1236c5c62f3f304da03e640a1136dadbb2366d04193f881b863e58ff5436e76f9c375256f93ecb75493e58562d35e7ef443729cdb93e42530b3e891880366276b636ce43803ec741863dcc35e3350fba9e375d9e0c3e8a464f38f1014037bc707c378ee61a3c5b3e923773c44c375e8edd37e2c26c386dfaad370b1987366da422380e3b2238ca2f19377d5d3f37320db437d30e2b37ddf63b366c37443664e710383e11a037d8932f37dbe55137a9e8ea375ad026371f5da635bc3404376f5e6938bf57c23749092e37ba95a9377bb4f0372eef8537fcc6df3672047a37c9aa1d3863fde537f85d8f3762c8dc37c45ada37b0ff703799731f37ec318137663b16389b25b137fe3196375c1ec137b8580f3755ff013f91dbfb3e45957636fe1445361e19053f4cb7f53e5b333e36ba939c375659e53e1c17cd3ed1823037ef986c3735fdbc3efa32a03e7bb0a5356e64e937ffed8a3ebd0c6a3ec3ed5837eb5d8b370b69413ee60d043ecdacd83650f6d537c1efd03d74f6493dc9247d3707615a3745617438677ff13758a0da368dd2bc37e15e66388774a3372e0c5e3795382938c15a263876c33836594c4e368a41963736cf66376b488f36775ecd36e5c8f23711365c375667a335bef2ba351ae0fc37d1b45d36caba923525ff953566fd1c38eccf3c37932d3f36ff49c0365c0381385c6de737e62c34358705643761b69c377e1a5737f02ee236f9205b37dc5906384542c137905634376642ad37869803380bc0df371084a6377368da3707b76636ea04ae3eede6283fd1bfd835d79f2b37dfedb23ee817243f880a73366a0a6b371452a23edca20b3f25b4a5350725cc3688f4823e9b22db3e09a58f35597b883723fb423e3df49e3e315e4c369f720238d30afe3d32a0443eb37a3935b9aa5437cf28753d2d98a43d84a6af36b9b7b23759c45a38083f1b38265f3f3679dbe137355e2c387688db37250a2f37062e3838043605389ca5e93671f107378232d13737344b3745a13136714939368b558337dc6f37360965ce35f100df35e19f513862bfa337015e28373be552375546b2379e75543740a7d036aa991e3739850238d5d9a537f25210376e708937d01b3438b18986375f951736bb7ef33617d4d037f5cf8237156c15376b4d52376030763783bd5937971e303795d5523780e455378433313eeba3533fe6e69c36187a083754c63d3eb23d4d3f22542c36a732f03660bc343e5b3d283fbd4cd035f132d3374f62153ef2a30b3f77fb2e372dbd6f37435bdc3d68a9ca3e5161d73655d7c137b7127e3d703c823e13981237ab21a737d0a8b93c55e8023e59d712368a779437460752384c040b38e58bf8367d4972375997963785d945376307d736c768ba3757658b379f18e035a05af235e0bd9e37b783de36e851883631548f36cd4bf537aac55137989983362dc68c36b60f1f385d281f3754556f35341d1036c424fa37a2927437b7e16f36450376367bf10738aa56d23745e41d3783148c370f17cd3739486f37a7bfde3631af12376bb28a37d024033756576336fd6681369618843798073e373235db360ef347373093783747c3943bfacb7e3f634bdb35282b2f3783b9e23c0244753fd8b88a361250b837dc2eee3cbeda4b3f961988369774a3371edebb3c7afe223f9e33a0354c6eaf37e25f9f3c43ccf13e82d871361e58ee375aca053935a29f3e53602837ee2899372fe63b38d213183e9d5dd736e250343772c40738893306386c7d5d36cc8c8b37dc4ce137f9632437e4bfb235000000000000000000000000000000005ba5b137933b5d3791a9583623248f363537bb3771fd8b3715c35d3569cc7a364af1f637cf1b91370799d636572ded369146ef37a705c03766c4f036b284803749f1b337ca92eb36cadc8f3577482c364c4e96376d5d87372acf2837b9f4583780359f3798769d37ecb06e37cf3f9b370000000000000000000000000000000000000000000000000000803f000000009797a5372aa414388ff07f3f68dd8d36455da937fd0a1838640a553f4287a6361f12c43717f02a384cc3293f9d71f2366657cb3795593038ffeffb3eaade82373268113761095d3811e3a33ec768c5354ea9763774e8ca375fc41c3e623e3737be6d80373c6ac2372a001038d3444437000000000000000000000000000000000000000000000000000000000000000052aef237c9d2ea36c4289636db079836c137333891eb1937f02d6a36220a6c362c7afe37fa5e3d37a6e29f367eaa2b37076266383997c3375a4b5c371a13c3370da93c38b8ecbf37da3f5b3778bddf37cb4cf2380911f4376741b537fa8c1d38cda00c3868b49d37166a5f375a1dfd3700000000000000000000000000000000000000000000803f00000000000000003780af391882733f2c95743721d1983613d6c439d8f34c3f490da9378e5b6c3646d60a3a8b3a273ff5ff8f37f9ad1037fc85023aad0a013f9a9004383a12a23790e89b3847deb63e56ddfa37f8a9a037e2a52b3a9582563ea2640138c8ffcb37cad835382bf6753d3add7137a257653700000000000000000000000000000000ca443438a1ea2b38d63e3437aba01437ac2a29380494cf378613be3575708536810c25381f1f7b37c6df1836af4e553640f41638e9fe4e37ec03bc354160bc35606fae3754bbd436ac51d436921cd63659bb1638b3b13837b79af236f8af6a37603f8c37e127db36f2083036cd073f3774475c370e9dce36f4d9cc36d05c5037c325cb3702d045371612b236ee8ba2375f0df5370110723faeb65d3dfc4f9937525a1b381de1653f18b3433d2396203768be383811d4433fea32fa3c52afbe3664de1d392e1f213fb738243c2849bc350921d5378e2ef83ed5ff7237ec2bd536f8355138a3bbb03ec62db9378e970837f3a99a37a8ec513e604d1537438b513604767a37a46a883d72e7c836b49ccb368cfd1538edcf5f382fde86362a569b36b3e74d3977ff7f39e07d88378c278f365fe07a3a48e2df382bb09935cff69c356fcfcb39619f963704945635b87556353ffa61385717f637217011363bd916369dc04d3809f58137bc2c9c369c2f9c3600821e3ae0d67237bd7e5a360708a4367decb337670044377364a536150b463797291a38dc04ba37baf376371c10cc37f59422385915e73757409f3798410038a61c103809714c3fe2304d3ebd0dc03760e17a37b042453f2e04413e14a89c35ae660e381219263f2ea6173e2e35b635ed6a52389b500b3ffba3d53d4576143692f525382b53d63e254f953d9ca39c3619c5cf39477f9e3e284cb03cae635b36ef98a7379e6a453e337e7f378eb3b136894623382a8a823dd547ad3740c25f3768f836386365a4396fdfb0374e58883767ae1838986424382d8741376173be36f6d2623aa2eb61393017a236cadca13616cd4c393649f8374d014d35fea34c352c7e0c3abff41f3843e47d361f4082363b1de839bdbff937f11b4f37894a6d3781080038f4afb9379ae82437f1c0653726794838843cd13731d0fb3512e3e43687d7f43791e9a6378c6eda3673268e37e5f15138eeed0f3819ddb73756780a38bd1fa5370fbe263f7f5bb23e967f543779e74737a461223f433ca53e1153a336aaf711389c860b3f020a853e936cb835d0d06438455ae73e42a14d3e725f93361cc256388291b43ee2ce123eaa418537fb1edc377cda843eca85a33d77c63d370e252638a40d283ec0e1ba3cd964cc355266e9377e2a743de620ab3741a9bf362c59dc3837b81b3a5b14e237431998377f951c38cb2c2d38f61e3a37f83f63368b52db37d0f89b372e4966357d67693506878a3998a5b43712a30e36ae450d36b8af1a382101bc371d2e48368c804536c7d13f39a30d04388c5dd13631d6d1365cc112388327c33781b84a36e9114b36150fc63848f98e37467813362f181e3638efb837432039372e9e76365fd8a736355f0c38f02cc937fe8a4237d97ca33758ada8379d55023fb021fb3e8fbe4037952d12370d70fc3e30e5e83e7c4c6f356ea9c43726ced93e339ac13e65cd0f362950fc37b9d3b63e2842983e745d48365ea31d3886bf8b3e2134683efafc1f3726b9f437d334533e0c670e3ede6e4a36514ef0373b23043e0705893dd048123648699737bddd543d995566378ecf4c3658c118389cbf3b3854cdb33769db0637729230392e97bf39fc8a9837ab79a736446a02384aabe03763ac8736c6718636f8d44b38be90f0377d5e833594117c358e49023871d6b037e38c153698550f360982af394a0dff3746c2f936b789f836a047a139083a3c386de78a362f8f8936473026384374033869cd063788782e374772d239524d79378af3a536c763c9362d7cff37aae9bb37ccdd2937d634893775daf537e75cb83e6373233f92e79437539e923712e3b43e943e163f0144883629790038cdfaa13e2634fe3ee8ca81350275e137b128873eedfcca3ed61c5536688e12382e42533e5bea973e173032371c755138b6fa193e5a99483e6adab336d8f611381840bf3d1896cf3ddf451b37350945397b9a193d3184743bde5fa53632e30c38eca3313835b9b1370366c23621ea3038d2684238c6cb34371f785d36db4a253840ba1138740bd335f578b0356663b5373ba03437000000000000000054710b3a5e63a437708c433607d13b365b133138fabda1371ab2983625ed963692b157386654203805870c3624f11036292f14383e8cb137c986f835369f95352cf1da394aee703764609735af754f36fc26573848b218386f8c2a37a078ac3789cdd33776a4593e4b70493face249371d14b53799a75b3ee1b1383f7f70e0358b7c71377c784d3e6e3b1b3f0000000029412139b60e2f3e460efe3e02414c3692b9c237ce93073e3375c03eff7e9836db3a2f387621c43d95c7823e65820d36be9de73725946a3d84b5143e54980e369b5b733967718a3c3692b63c0ba2943541ab7038a0d99b39ebb40c3818764436dae90038ded52438406d473636c43f361fa87237a75f3837b506b736da27a83682229337d4703e37d00b78359a97683547a32338b88cca37c0187e36518c7936ee1ea4376f1053373eccce36d0a8cb36d60d0f388fddd8372168b7353262b93554250438b867ca377f6b513627ec41368e3a0e38710df53753f744378848453719730538ec4bc03753f1aa366e1c0d370fd75f3740a5873dcbfb6e3f3df84736fd170c37e9b0a23df3935a3f6348bc3644e45c3706fb9c3df0db373f9dd57c3537b0d53726578e3d3ac5153f1cff7f36dadb6d376f637b3d6d4ce83e62bdcf36847ee637123b2c3d94e7a23e5c41b5352bb6d3371718a53c6c8d3c3e9f02af36e0470138c958313c59d4303d391f1d3732451938a5673a38cac7d337acfe033600000000000000000000000000000000aede1b38540c143894f7943640da903647497a3933d5e838d23637374335ff3527e94338e25b3638f31007373c4bb13635c96b38539b5438050c543778cabf362593eb37defbd33751fa08371d139a369963263817ba1e3866950f37f576a036aa25c437a34ecf3793a11a373aedf0360000000000000000000000000000000000000000000000000000803f00000000b27bdc3767cb59380d8c703f97dc3237ab2e263814a8733ad7c7493fb33fdd37de8f1d38f0397a390168243f1b1fc33729df1a38570a073a403cfd3e4a6bca37a548a5370ed7ba39d5feb03e62da55371710d73705d98538b58f4b3eda8a4d379e6571375f6f1a3815b4453d958a07370000000000000000000000000000000000000000000000000000000000000000bf70013a841dac390a006837eb534d379f35123aa3dd88396871d7371eafc53705a3f039fa7b8839b2381438a3ef0638b0c20a3ae9989a394f1c5d38510aba37e030be39c38c5139ba212038ce972338b9b0f239100fa239adb10839f7c42d399214d339f72b7d39d2f3b03806eb293900000000000000000000000000000000000000000000803f00000000000000000513593aa742613f8e4dc139ae172c385ebd673a6f75403f8cc5aa39174bfa37e5e1203a7726203fde8f9d39ca9c3b3819947e3adaf3fe3ee258a339e1a7f03889c26d3a4ddabd3ebb2448398425243812d92f3aee06793eedce86391ce11e392a40133a110def3df6591339207c9a3800000000000000000000000000000000584d523a443a423a8d58e037a52a6b37ed7d823a34cbae392346b937b644a837a4b8223acfee3f38c4c409380385f6373c93a63af4ce053a6e727438b79bbb37ce257c3a0116943902bfd4376d14cf3777c9013a00f96938d4242437dc1e22379f242c3a4b07f8395695403968c06e3955b0ed39915e8739fb8a2d38a6101639c107e9392f5b74393d9296383aa61f39dbcd0b3a6b04613ff91cef3da03f0938488f873a6fd6473f1825dd3d8b3bc337681f753a116f2a3fec1fb03d6b5f15384f4ded3a03980d3f85d68a3da2e62a395c83d83a6d9de13ef35e5c3dab62e9371812c33ada77a93e24fd0f3d3ce13e37e7df8d3a3c0c603ead6a943caccc5e39c5ed993a096bdd3d218a1139ed042f3888543d3ac5f5313af895e638ac357538a79d3c3ae6de653ad1782e39030ec437ad04833a8e9e583a3b8b2c39b23cb2368d45783a2625ad398f38a437f00a373707100a3a7425b3399f698b3776e457374d519e3a9213273ab18882394dcff2382271323afe6a023a4d6f9f389b481e378a66a43acc244a3adb2e5138e7c6c838c224273aff9a0a3ae7cf8d3951b6a839f174dd396c35423910ced1373c302a3889d6e5398e76403f8898783e6c187039aee5473ab4402a3f3ea05b3e99f99139f008803a06c0113f72bc3a3ea063c337d97a193a49d8f33e9a0c183e46319837ea5cc83a2466c13eb824ed3dcdcca93910ea9b3a7c34913eeaa6a83d431b0e39a6abce3ad7a53f3e2543503de7a99238f810363afbeac93da12ce33913cb863962ad2e3a16793c3ab7f5a5385eeabd379d50203a08f1463a8b7711387ffed43721a62d3a088c263ac5b60b388d9c44376dc70f3a5c2bd2392507eb37ce92cf37fcde1b3a656af53962991338cb06fd37052e523aa7518b39d24ed337a9038737261e1d3a2110ef393be6a13713159137c59acb39bf8d2939a7324c375bf54037500bfc392722bd39387a4d382266eb376b3b9b39800b3639eb432e38b7342c3875438039e943203fdb90bd3e41ba14388ddd0e3ae5030e3f2c84a73e3a020339ca5bec399399f33e9c758e3e69c00b386eb01c3a4048cb3e4fa86a3ec6781f384b0f8b3accdfa13e3265393ec9aff237f0122b3adb44723eef34063ec3179f380d3a173aee67213e94b2a93d69474e378e7d643aee199f3da662073dcb1bee37c93b1d3a79ef3a3a9015c038abb92c38fb566c3aeca48a3ade64913930efc737c2e1933aab47983a837d1d3886c881371e09b53ae14a8a3a7d38a337ee3eee36c3d6143a83f4b03979fb13385638043893291d3a480dbd3913d90d385aebcf377bbce9394f94183953d5133822130b38a649953a749b6f3a402a1e3961a23937d5ac623a827cdb39763979388adbca375f54413a9870fa3904c2043981cfb538672c0f3a1e52fe3ee208fe3edd48c63903af2a3a2880e23e2b05e13ea54cf538fb98963a75c2c23e51ecbe3e2ef5cf37c4d6de39caa2a23e9ee19e3e243f173833c7153abb27813e86f87b3e1f8e7e383857103aa895423e0b91373e7bfa143882e7ab3ab7fb003e051de83de47429394b6b933ac9727e3d64044e3d78832d3818f17a3ad71e8a3ade19b839bc49d9384ecde539776c343a842de9383cec153884d9433ac7ee603afd7db53789ce8c3683b0ff393296a9397259493727d1e63698f5243a601f123a5805b43708ee603713d04d3aea6a123a49b5d5376d102037c35d153a7783f63907f11838bb920638666ee439d5dfb1395513f5379098dd3712a7173a1bdfed396f381a38fd14bf37c60cd539c5230639eb520238f595ed371d7b4c396612be3e170a203f323312394fe7d73988fba93e9fa60d3fa2bd55387e698b394145923ec76cf13e099d87371ebc163a9e8c733e9c10c83e63bafb38dccc1a3a5644423e592c9e3e6558f7373625123a004c123e21fa683e205439380396eb3959d8c23d709c173eeee5fe37bb72253a23b33e3db4c48a3df7eb02380c47213aec23493a0f21223837de00388383063a67c2363aec9c0b39528ae936759a303a15a12c3ab532cc38b8380a38c3c1b63aecf9b23a6a897038c65d67376197543a9ba62e3af9400539cee77136926c9e3a3e6c723afa509b3906ab1c37f411ff39d776e339fd1f99379a5f5737549c333a49d0d9391740c437a9d56237d4643f3af208253a615e743952254638c4f8f039c7abc239ceccde380de6c5370ccf5939c8f2793e9386403f82123b397126173a6a9a673e877a2b3f48f14b39232d8b3a8c8d413eb2ad103f0f012c39e8bf223a6431223eacf5f03ec41b8139dabc833a5240003e6a20bf3e139fc9391c18e639bc80c33ddccb8d3e6bd1a537e2f8273a7e3f813da873393ee23fcf370c72503ae6c9f53c1f91ad3d5a485f3919cb163acae7873a3b04b839ca4690384016103a473f493acf3e7e39eb3f323834c8403af9a1803a58708637ddc3de35759c453ad5c34e3a3911423949bd1536d3b22a3a9ee6373aaf8f4737088f843609e37b3a6435643a5df70338a8fcba374d70833af2884c3a20a70e396e5a9837669ece395e78803965ec0d38dc19c437e76ef439b761333919d8c2375cd2b037d9dbbd3900babd3830b4ca37be8488377e578c398169ee3d9302613f8f13a3393628b6395b35e13d3802473f7cba0c39af011d3acf4cc13d48c0293f2673b439c9352f3953bca33d60da0c3f3efe9837b4761f3acc627f3d2400e03e8e881839ae4a543a3085403df088a63eb6816439a68c7439526d013d0e0a5b3eec191538e203013a0120e03ac136d93d5479c1376d0f213ac7b6733aeb61053964d4bf37000000000000000000000000000000004643f839a4470d3a23ae6039f9a21536da1b073af0641d3a7d146739a376fd36ebced53964beee392b280739b5e3e337f11e1c3a8ea7293a32576e39ab49ba37d902f039d8f4f039c2a2143912b6fe3767e2093a9c3f0c3ad8eefe3886d0ad37adc8cd39a5b9c2390799bb38a67366370000000000000000000000000000000000000000000000000000803f00000000b73fb339edca233ae605613f45c8b539d6d7df39004e673af76a403ff47fb93947dfab399aa3933afaeb1f3f6a8d80399722dd391809893a3e31fe3e6dbcab39d3ebca399a5a233a8e9dbd3e2bdf6539a56ac839385e623afe55793e62a82c39714fc6394f14453ac76bed3dac71b73800000000000000000000000000000000000000000000000000000000000000006cb7e33376c7e13369c1e133d2f5e333ded34a37b616d3340a96d934065719353f400f37d1b53a368f758a368378d23604d70137d7417b3491c68334b0a00d36f2c68d36644d043584f606356eecb235a1dbca376c808136cb7ebd3447c2b0352c357a37eefe3237850b1137e2162a3700000000000000000000000000000000000000000000803f0000000000000000b62df0339ffc7f3f5c5bec33f526e833a7bd1f38d271633f8aef8c37b0507635511f9b37f125333f046717378ab8d636de478d37e63b023fe79b203740eb2136454391375f95a43e1f298037d396cc3566d9f6377ebb043e818e1538d51af836ddf15237ec01143c8b287237b7861c370000000000000000000000000000000062ad123580ef08356d08143576b30c3502a04234b2714634bffd463471174334533fbb35e425bd35ef7bbf351ec3c1357c04453666eb3136bb17453636e441361e7c9836e95fe933baaee8332a258c35da60153646e10c3633ed11361d350d361c305e3721335b36a79e3836de92c5369b56893763e42e371c9f8a35d6967a36250917375c36103734f0083791330937b7570635abfa7f3f9657b838f6430f3569254734e0fa7f3f6ef12d385c6b49341458bc35c798693f8a6f4738d490c035865e433637d6383f08d0a337195848360fa9e936e5e0073f67215938df7c8235d5c40a360fdab03e4ceec537dba5123620bc4336916a173e30834d38cce0cb367e4b20322364a13c9aa86038a5be8235c1a5b836f1bd7e3798ff3837d55be3360576c73455e8e037eb1cd137564e3f3796dead359aa211350cfd38353bb10136370f333528fb373549c43b3589793a3568266c35938f6e35fe516c35ecfa6a35f113253808adad374a8dce372d6d0f38169d2d362bd72d364b2b2f3647362e3642d6c637bfc1f936d5039535ae3ca1350a482b38e9d932382945fd3701a4c8374da9c437fae1dd371d7db937ac018437448fc1340958633fd627e53dc99ca3376b5713352d7a693f4bb3b33de03feb35ef9f373598134f3f35ce9f3d697c4535b631713565ca2a3f2dc7033dcf6b723572dbfa371e52f93e3f06673c34ae1738b1f7293645d0a43ef166d9370bd83236d4a127356ca3193e0edbdf387e02933551283036d76c733ad410a6388ead9b37d29c4a3677616538d5382c3867ecf73681e67636864a06377fbb7036b01f7436ca346035e4f5633560d05e35d41f5a35f6d01535f7b02035d5bc253526da24356e636136c3e3bc35025cca35b705d235b73e933763e07c36ab1d083627a39136bd23163504ef193549b31f3585b71e351a5814379034b236f28d0936f385803600e3223662670735b030c634c1f7c334d3e55f37a7b11b3777c71d36576f443696a15436b35a323f8b4a9b3e32e16a36f2aa5835161e393f208c8d3ee1515c356fb51335fc492b3ff0fd683e902a27358f7cc93517100a3f1261243e0233d23577fc9d360bedce3e9d99ce3d7b93883612900d3574a68a3ee8151b3da1661e35b61cc7359be2023ede82763a0ca40a361c11bc34bae5d73a832b5137b741be347142c53561e31f38f0a4a6376bce643592635e374812893781b8a73641fd3236a02aff35fb49d135677016357a372a35d10d7037cf47c935dc92a33594e7be3539354a37bf4a0f368d8707366c6d09369ddb5938d763d237e85e11367ba22736511b7f375d91143756b0413687219e36857623384424133815c1c03714d6ba37d1ac9a37dcd8d236416afa358fcbfd35fda1713723c64a37f585163701f61737579a24365add013f6833fc3e78361b3633fc97355cdf083f66eced3e1f5d04354990673655e2fc3e770ac73e6ac8a435310cad36dbbad03ec4d5913e899e0436e9b51138ba63973e333c513ede161936e5cb03377eee543e4be4cb3d461b2336e7558d378125d93d0194373c0d545b3746fef7351186493a3bc890381974c33528023937191262380d58643760e0463634f78c37ce24b737ca033d359da550356b85b2340c94b034950fa93448e89e347f2581360f7b9b350229073596170335a7ac1735ec0710359fe40b35504a0b35c224c2372b25a1369208d634a1dfd1344fdb3137d04e70368c9dbf353951c435080d0938ef298b37ad941335a70016356c59d137948465374b6a5735dc425735b31ab2364ee8703668ee6636aabe61366b064f35eb18a43e9ff52d3fba2935353be9bc34dc9bb23e353f263f535ba8346678e035c408a73ec68b0b3fc7cf0b35da0f133528928c3e3480d53e824312356e718837f343553e78b9923e217ed73439fdc536f39b113e09ca213e1703c935329420372e698f3d3344093ddcbb1b3591d253371c0caa398a184c38e4d75a35259293362fb4f3378ec47c3613556236fb650e38760df43710e1413649ec46361c0a0c3863ebfa3523f0a73529d3a735a0b468376b121d3551ca1835a4081435f4e32d36453a293665a71f36f7fe2336f0037438db15ed37c4d9893653dc92365b687237f8307a35d6697a35f9ff7735c7e43635ba233a35984a3d35c44240350df9313711b4e6365dcf1c35887a8735c5c49f3731450a361782ec344553fe348337bf37b9a9053ead865e3f96ec4436740cee37f246233e79e3563f79eba635b7f43437641a203e2294313fcf201a3557df313618390a3e050b0b3f2b242636274d8038e1f5e23dfe85c63ef4cd90364062573714139a3d0d12673ec51f793532d74035474c0f3db344a03dfb343f35e1cf333797e097384786d1371b6b1835b688ef376c4f6938e4cf5a3518a1e03450ed3a37670bfd3646af7c36b53b6f361ebc4b3752311c32c0b41d32cd2b1932756749372c330f360bc8ba35ea9fe43502501136991a0836de6e083639e60736a90eb537aa48623439f3e83343e8df336a5d4637826197360df23636cd7842368f31ea379399c53726cabf3533cfcb3512624934b61d4d34db854a3458a34434cb0713358e6016355c1d133585d41835010e1637f008293c36557d3fa5ba66366fc29f379e50d03c9271743f50031d32ab20a0370ea25a3c2cb4563f2398c635383d0e36108bff3aaf19273fd6330936f1ddae373b1e073b963aef3ed76de933de3b2037b520443a95e18d3e32c934361ca4b43792d2c738d709b33d054a7136bffd4934f6c95138f1840a385e6d4734177d5136c34e923723161035f75710350000000000000000000000000000000003fa2f3788d746360000000000000000362a7e37537ac6342d37c7346029ca34a364a93607cf06357a500535495607357c8a323797c79936a6e5783400df7234a2e73e377399213765b1c9361405dd3604ad093862640f38fad0bc37c55ae3374424ec33f99ff7339eba003485c7f9330000000000000000000000000000000000000000000000000000803f00000000102a4037c679ae3701a87d3f000000008fc6c9377a219538c0c85e3f2cebd1345dcec7362d00883802b12d3fc64e083509570f375360ed379277fb3e601fca35755f1b377177a93877bc993e2bfd1a3748b6b237f5a06c38711de43dac5415384c68ee33cdc51c37e177bc3883e6f73300000000000000000000000000000000000000000000000000000000000000001feb3e37debe08367c44063674500536235a74378b6e1d36da78f135230ae535edb276376150d93486406b34ad45063577033638393b3937b9adf836e7060037e418473823d34937c7a4a73686aac4367b6f40371a61b936235e9536c22bb436bd6c0238dbdfc6371c3e7d37d3d1b83700000000000000000000000000000000000000000000803f000000000000000065023038d6ae7f3f22901736588b0a36bbe18d38100b583f0e998e36f6e30c36dbf64238737b2e3fd3b07335fdf4f534041a84382a78033f6c8dfb3786191a37eb999338741db13e2b801f3809cec4367ac27837b67b393ef4ae0337cd10ac364113c237659a103d3e9ef437c9269537000000000000000000000000000000006c579537e67c0f38a45c833797c2ee36f95e9a35836d8735d3838335525a8435f1acf835c1b5b535818cac355937a2351987f0359546de353176dc35f542db35a4970938138fe6352327f235688def354fa9c437a3ed2d36549d2d3622c02c36b74e8c36061a04368e9104366fd003366617fb37f438bc37046831372f33793746baea37ed69cc37210d8137934abd37bf6288352cf27f3f0a5be2381780b1375057933558fd7f3f6ba9fc3755968035928d39368cf8643f6309ff3564f8b435f732f635090b3b3f470de735ff55d735e0282f383de90b3fafba0e3894f4ef35e548d037d9aec03ead98bd37c2a03136b61b2236f810553eb57f8d36e983013692590337d05e653d17600c38ee7f2d3720101737adad4e38b43ac737103e4a37a2c9973625c78937cee96a3662a21f36e518cd36dc11a636c31400369f96e53541098937a11ffe35c367ec333d26f03383140a38538b0d3708c1683541036135a361cb376d2bb23626693f3696e93d364fecd237fd66e435558dad35a91fae35c2041638e535a137821cd136b498eb367bf4a6375af735373a9b64365381883626daf2372f717a374af02d36049d64368f72a635edd9583f188e1c3e07345936f470cf35470e683fde6bbd3de50eff3574dbde36909a4b3f367d7f3daed0ee334200c737f7e4303f3c2fc83a69c32f36bbe274370497033f43c242386c624636fca15237644cb83e57b62838fa61a5350d12a737fdaf4a3ec3123338585dd6366eb6853662a32e3de554b037ef626a36211480378ac999381b0284370d68243683197437afa5ed37c3931536419ac3355d77ba37588a5d377b9fc3366ecca236fd1de936aa187e3604dd663653dd513696e7fc37fa543034ca752f34493b2f34595a1d3887699037efc6e6369af4a6368c512837f5590e376dd40637381b0637221dde3720804637a263f133192eec33681953362f4e843453078334aae7763479f09f372a241437a3ae89365c1496367321b735e2972e3ffec3a23e2596da35b992df363e1f3d3f4061853e6b8cc13652da8a36102f303f9e03373e66526136eaa6b3378244133fa5b3e83d8b372f3469e6d83773b9e33ecf1b873daa8f0b3753c20937065aa53ea1c8253cb4460837d9c71b37943b383e1f3b3f38b0dfeb33ce8977346c0f033d32469a35c54c7b342ba381370351343818d71937ab497e36ae2e7337727f0638e622b635798daa35dbc96b38330531380c820136e863f43538b41a3634c90836da38dd356af2cd357d894d3714792e367d181836acf50c36a2a9a038f69c76385473e6379c5e7b3722b19537fd363a36c7372f36d4733036b2f32337acbb2936a45f243687642136fd4a8538690c4a38084d93377558853718c1433713c9d235b1a2b135f960b635c468b3358ee8033feb30f83e4c51b035e8ab01385f1a103f1931d73ea9b4f63515b518362953053f94dba53ed95fdd3563bad1364ab1e63efbf2653e73b1173688439238b4aaaa3e9c8d2a3e8cfa0c38496969368ac4853e0259823d0c8c30361c8114367a1b1f3e43b52338d2f01e36f94a6538c59a883c561d803807675e37b044a637a30267388941b53533b4b235ff8f9e37b0729c3724ad533628122736ca397a34ab767d34ecab713411a365343f2bad37aefee833ec35e433a99ce2335c4811379ed9fd369f03c036ac0ba236acdb1f386f4f76376835a535db7897356d2c2c387df72d37aef42e34995e31346f84a43769629b363fa48a36ff148636d20ffd37cca14e37ae40d6363a03d8360fb24237ab8707360f36bf351ce5c0353f6ed636be9ab13e3727273fea6c4c3682d47934675dc73e072c143f9ce36f347a075037a3eeba3e38f2e83e0e49e73300161337245aa73ec221ae3ee002cd36b95f0a381c5d843e083f6c3e9cc52d36213b0b389ec5463e41a1ef3d2c7d30347aa0c436e926f33d4f4e6c3cc3528c36d04ee43735d42d3a6f3bdb375f51d4360e4eb33730ff19381116ef3581bbb635b0c30138c56da737137c883595d87e35faf744376c9936363ea92a3662912636c496063890699d36dfcde33573d06035384dd23735b99935a61f4b3584444235a151de37b7d62f36f97809364ebafe3527d2303810da9837932b4e35041b4d35b02fec3772e15e37c818e9338475e53370abfc36589b04360a41c135ff67c2350e821036a793c23573548135e4ad61359b1b0a37a6d03a3e8941513f7c428735d210e436cf63623e007f3c3f00ee2c36a7a3f037ff86543e2531183f787ffe3500dfbe3768a6403e135ee73e052754353104e1370f38233ea03aa73e51411336602e24382eec013e82c1383e0a165135b030bb3717be973d95ea8b3d90c9493530ff8437ea4a8f3afc0ad7364dffcd355dcb4b370d0f7d378e70d235a39258359eacdd37bbb9c036a7de8935ec147435a93bb83795de3436d562c6354418c735e08f95364d3de5355046b5354952b0350c2cf537198227369ffbec352759e33592252f38552fab3771a3dc350254db359206fb359480f535ace8dc357fede83525e55836b7cb4736ddd80836bd61fb35300b6337be80793610fd9635f7e9a03549542e378b838b354be8813550a387358fdad5374bc4093d2b58773f6b0889350f32ff373ef5713d6a82623fbb53c9355bf78f36650d5f3dfbd23c3fdd17b93528c6c23735b73d3d9dc3133f675701368a480a383e4c073dbf3bd73e6908de352a9ce635b7deda3a5419893e3832db357c630336ac494e3a3fadd63d15c20a3604aeeb36f53d6f3826491b38fb7b9635e89e1a383a081a382f6389353e7e8435000000000000000000000000000000002da3e6378ba026362391f535d421f3356e585637b0eb9e364194793538ed27359b5e6c386f6d1538a74d303693771f36692e523811ac3238beef02379d4c8e36a2b6ed371fc2e03726745635a02834358a120a38c8744538cec39c3703cff936a7a0bf3750861b3802b3e0375786b2370000000000000000000000000000000000000000000000000000803f0000000081a30838b327003a96cc763f926ff735b5d54d379c39fb39f781513fed52a835c14343386b2e2d3ad238273fe7296a36b316173881ef0f3af9a7f83e7616b2374cffcd36bd5b9d38d7f5a23e10849936be78cf3635b689383fa41f3eb08d0b38cd4b193699df2e38036e953aa9c2f13700000000000000000000000000000000000000000000000000000000000000009f1510384b9d8736d6ca7b369d3d6936ec4a5e370bbd2936ff181236c328ff3559ebd0377f56ae36d1fd8c3532b3813575481b3860ba6337a8070a37b276b936721406386c5016367565cb350438c33578c186380a0e2238b354fa36b2f9fa367d215939154c5e3911e11a387256193800000000000000000000000000000000000000000000803f00000000000000003311223cac346f3fc6e98b3615f98036e86f0c3c34c2493f81193536f6431a36a2f0a339665a273f08dbf336b028ab35ff48b939ebca003f934ad2379cd02037e4a43f3885ffb83e09c66337c00fd4352dcf8138a4205d3e6e274e38d9372c37aba43d38a0438b3d4f079d39fffd2438000000000000000000000000000000002770d93720016838613ae6378b70a137f946693876fcd137c8bfb435ee499c357a9d183818e724375ead7336e7e8623660af3b380845b4376a750836435dfd35026d38385f610b382b7c7037d2614d3650d4bc3741795d372efa87365750853692f4fe3755dbec37badc883799252e37ee243d38f1546d388d9c3f383a54473890b87d386964a5389e8e39385a593b383c45103709c0703f2d53733d0e59f237faa154387ed26d3fb19fbf3cbd2ac03516bfff3705af4a3fdbfc153c02db7836b5ae2b385d3e273f785b8e3a6d43833618651d38377e013fd653633915bfa93781d05a37237dbb3ecaf0c137edbda036180d7a370949673e1a141038aeffa437efe1b3373e4aba3d52ec8c396b3c4338785637384ec0933a92026f38506c3c387bdc5c38575b0f3921d29237af5d9a363a51f93739dacd345a68cf34eb06cb34c1d02538fb79bc37d55ced3402d8e5346b48c537426ae3361b0c8a35b6485e352b0f51386ba02638aa5b8537b7996f364c62ff377a62b337621e29362a30fc352bcb1938a1a4103899cc8937f65a9336d0853238a3921438503e62373ca21f37962ca138b80fdf37aaa279371f7035370540853673ba4b3f17ba503eba54aa3779b45337a6a04c3f2a09243e407eca3431d11638e479293f3b0c073e9b74ed3474dc9337f8a5113f1eabb83d9d20933564652f38e78be03eddde8d3d3d08ac37f3eb9a378009a93e6362103d5f974636468e9237d0cf563e56447d3cd3b7a23771543e369355b33d04458e396448573784d6aa3760a0273c493fd8373cc66e375c994438df067e38dc3c843717ca0836808bd33790510f37f0c16a36ee564936957f12384a42bc36eb53ab36ff099a36309d0f3804dd2c37b4a84f3681e994351bc79539ea56ec37350cb935b353a3358cd21a381d0f663648abd6357390c035560946381e000f381c636737c301a33679572838a3712838461dc537e267693792c3373874f3c2377cd8a8366fdb6b360c26a7378b7f273f5cd6b03e4e0884378017ba37d916283f584c923ed43b703602430138681c113f9d80683ec9c8ad3635e9b7378927f33e686b353ee6be8836a1dd0c389fb4c03ec684013e4fb3c035026d39376a798f3e8953a63dd959dd35a472ac376e0e383e1c341d3d96b285375c4dbb3701cca53dd9893b386394c53707de3a385042423af85aec37d686ab364dca2e3898dc3a387287e436135cc03642d78f3854402b389dc8a536ba199736495b4d386ff40b37cb27bc36a843ac36b7fc4038eb06cb37625694368efc8236233c5038a52cec370d91b8358cbe9c35fb333f38909807384efdaf36db62a83667845f389fbe1738f9d2ce36a893ca36b8129638767a6d38ad4e7837913cb336dcf3113809466837c17fce368cdac9364b685b3724e6023f34e4f93e2324f336c4c38338825f033f9715d63ed09fa63684fe5138a85be33ef57aae3e412fbe3636502c38fd06c23e1580883e8a4798366dec33384daa943e0da6563ef266bd353a06143851ca663e45f6033e2b01b136a29b003861ad123e2be2923def1ad1362fe66d38fc008c3d8315983890d9873741b14038ac7efa39404c7c377ea0cd3652df4538f1782c387ca03136123e81355a7614385dfa53371140953523df2e35a3023738fd1502371d3c2036db67fc3514521838f2c9cb35e1408c3525644035d98437392b2cba37e4818f3593268a3528fb1c38e7874837e1fd5d36e7e79135394e2d38b95a5137b58bc03638d4ba36f974fb3715f8af37443acb36cbe58e36ec572338e4769d37f2e2003625a4eb35862be3375fedbb3e54ca213f2e1041361a4621382615bf3ee9a50b3f93869a35a11c4538b273a93eb2d0e63e1ea727368e81ff377439913e45adb53ec5309a3568211e38ef77683e06048a3ede009335c8bdc1379a352e3e8c06363e6d2793362b8f4737840ce13db7c4c43d2be7c236486d4d372d31503d4ae8dd3babfdca365c1867387048a23846e6bc3731fd0136485fe237172f85373d702b369ff10e3632ac033857901d36ef08d8353c1b883552f50138bc1077368a04bc3542c045353de0e2375c5d81369517dc3593b0a5355eb5473869a2f6374406f334e9968034954eb9372fc18f36094427356531043571a62138c138ed37646a67351571e4344ff6d937811f08361ac4b334cfbbac341d401b3820d56a3670dd4936f6d12b3629f8d737d735603e753e453f08072b36d5a82b381def6d3e6b022e3ff656e535b5d63038358d5a3ee0af0f3ff610c63555970038b4d63f3e51f4e43e08eae435176c5038b337183ecbc6af3e6709fd359b1bab371918e73df16c693ef76d39350dc108381730903d31f00a3e9068683662278d362645eb3c73ae3f3c1e45b334d30d823812b28d38dc74bb3688b74e36256c6b386628f637c7bc463652a81c36b15a1d38f5bba136e0352e364dd20036cf93d637f148af36066a3336f8f40c360f55a037c4248236bbe8723689476636f8522d381759ac37683f6235cc6a18352426303833d193378cd6e835e23ab335cc3c0a38ccb95a37041e7036c6865f368f4a6038369705386559af35a5c79735edd18837d70cf5363f787e36630f63360009dd3834d3a33d161a6b3f7a1649367419af3902dac73d99874f3f241335363e1715386143c23dd2dc2d3f02fd3c36fd55cc378b99b23df1e60b3f7bf176366b30423847149a3d524fd63ef0f87e357fae2e3888f4693d74a1933e92c8f535c699de37fb98033d3fdf2a3e6c037636ff193b382a4d8f3c6044f53c612ac035ed05413874881638d49b0c375f7b803600000000000000000000000000000000bafa5e38a5dbbd37c9083a36544d1c36b16e8a381e83ef3779d9b83657a6a23699c318382cb3b8376a0fb23517588635a7722c38308b0a3835590d37e62e29369c541638b8dc1138fb5bc4367e40c53538779d37cf73c937cbb14f3621a04b3608683b38343c7838f0610938d58087370000000000000000000000000000000000000000000000000000803f000000006f98313a2b309a3c9f62693f38924036c20780385e82863cf572443fe161c736252fbb37dcae2a3ce2ca203f736bc1359937f737f665413c921bf83ebda32e3778a81f376e04e03976e8b03eb1ca0137053535360eee9f382408503e5d5bf436cdad8a364fe183388922633d8cbc1c3800000000000000000000000000000000000000000000000000000000000000001d1a2c36f55ff1355123193623a5333688ba3a35bfcd0b35a9df42358ba77835fd6cb434cf068c348619b3341ed7bb34559c1d377bb4f235fb2308367e1c0e36ae89ee35f04cdf352e89f835f218033683483438551efe3392bb12340a1e0038d14d1f362f1f0b36bc0400362154df3500000000000000000000000000000000000000000000803f00000000000000004d0e38360a2d803f506812366b5a1f3606354935f18c623fd90d0a35df5b4d357c9a7338b955333f50edc2349489c234fd9a64389413023f30c600367fe40636cfb0f63500e1a63ebb69d835ae4ff135117e8c385d60063eb77dc0373ec119377a8e0a36166cb83c8540da35e6aabd3500000000000000000000000000000000e0151837eca569375a599d366186233756c825346a192934a1241c34fec5c033b8255532309dad32b93b833026f72e3138289e35d3508b35da029e3541fd9435c4b71f3523c50d35338a07351f750535ae5b1936833a9f35a27793353cc18a3562999634e09c7d34b8bf88348cb95234f9d6ca362ce7e5348546e2340000000095a845378bec7f36f2926236a85c6d3614055f367d0e803fabc12c39bd114337a08e7034d801803f02b77338b76b4834987bd932ba77663f9def7d37b2ef6532402c5536bf693b3f13948c3733a49835f1f94835b02c0c3f6cb48e36a32d2635f522d8356dc9b93e28eb1f3759097e355f49d9347630353eee5c8a3462545f3425810235f15a653d6784c8353890cd34ee8f8a362c256a3871fa50361fe24136b0acdd34fe457d342cef0035b0ac19351c4d273507524f350b82f5348b9fce34c1ac3534c4944c343f16543443bf7b34391c2437ec7256359fe7533538d44f377b34423393b48733000000008de2af32e02a6233c4425b33248f75336a7d5c3324f2da372bcc3f34835139340f241034aa217c34fda65a349991df33b0bab033cab00f360249c83358042c34d6bfd9333f50d0340198623f2092ed3d10b6cb347cf035354f63683fe9749c3da5d60d35a582903486d2623f9b38bf38813d5134e2407b35959f343f6e8d0a39fad41c37000000003ba0073f0384b03700000000df448c34ca13b73e3a8b32366d7c3133854e4a340ad6253e76f95838258d333433f4fd33ae62243d04ef6434b80d14347476fa33715e15384fd80d34e430b733214b6035835c363518054a35beed50351ea21035fb64fd341c6608356046e43433963e34b1954034d41545342a1827344c62a434d2167934f64fb4343ee5aa34a8783234798233347149f433bec10b33f8afea37f9153c35c30864352b2b8237ebe839342e3219349d305634cf67313496805c35a6615935acbd3735b7651b3527c0e0367a8d173604591c36c83d3736035c5535829c313ffc499d3e080c2e3528f80c354c323a3fd3fb813ef9fae934e87530345a46363fcc99203ec10a383424ad45342891203f079b8d3d6a2db634f4f935341d22fa3ee4b7483cfba7b433451237359fd2a93e5094d73877994935a49ded336961273ee8d3393471dd403481d243358bcc023dab24153530033e35b53e0b36be458f387954d13630bafb3577954c38cb839a38cd7fd33671ced63600000000000000000000000000000000000000000000000000000000000000006738ae35e070403598b35935371b70351cd9c2370000000000000000ac1040378cadb8361fd90136616cf235a0d1bd35000000000000000000000000000000000000000000000000000000000000000052835338ab4cc837e9f1dc36ffa15237e0bab136d598013f010bfd3e7b04c2360000000051790a3f3783df3e00000000000000006952073f79b7a83e000000009cd69c353fd1fb3e0c6c5b3ee20a4e3514bbaa36ba60bc3e41dc073e00000000cf8ef93518e9903e695d4c3cfd4891350000000007ef123efeb7803700000000000000009d58bf3c000000000000000056200638d5f9cf38c4a1b037d87ac336e174bf373830fc3726fdaa3583780136fa27413516ae7035ce270a3586afe834f7160034d7d016347d3a1634286b0f346f422238d81b3935f5803235f19d0f354c58093436d8823400000000000000007410843484727a34b62c98344cf1a334352913383d814234df5b1f34ed2f0a35fc4b0b35d09813355afbf5347cb09b34e88431358a545d35ef5c7c3539f55b353d61d9355fa0a13ef3602f3f93711135cd065135f583b43e8bfd1d3fd7c71e3563625634943db33eaf3bfa3e52821634243340353f0da73eef27b03e4a3924351dff2a345759943ecbee583e0f6a1b3383fcdc3499fa643eb365a83daea09a34a3cc3c34f88e073eff2de938d1c426340ea4e63487f3a73c12cd22350672fb34e80545353a689737cab75b353f0e6335d04d9b3698a9ec36ad086b33f5ea5b33b15425343f75613439ba0534f9f2f633f806e837df724334d72e88347f8d79341371053458825933a5d6bb33c221a6334360853300000000000000000000000074b48d38c60f1838a83f8635d4ce763672c203378cb749342aca84345f196c3405e73e35b4b03a351a951e35d6b307359f9d993457d30635ab17de347bee0a35ea5fea33ef94013ec1a45f3f92aa08336e8a2e34fba9293e81bd4b3f3be987334055483403d9233e30d62d3f21086734337c11340c25213eb397f93e6c0bc6330000000043ae0d3e1cd8aa3e0000000028ec0938afd2083e5b2f263e26856b35fd2129340a7fea3dffaa123a197c80340da92e357a30903c0d41013501a9253530a28e34a4e3c83764b46a3473128734fcf9f037a60d9b3722a32e36f89043361ef60f351a1ea03500000000000000003a6708352c5334357978e634f2ccbf34f9fc73360f63443520b0463577ec29357fb6ba35a15d18359e830f3507f902354f7469372ec22836e742b135cec9a33586923237ef13943699308d3392a0ce3087e45837906981369c07d13328f6bb3376fbc9376de5a83627cd873695be8a36fb524236b11b813c05347c3f6c340736d07a8b3440aa2a3df411673fbffa1631a806053517d4c33c0bfc4c3f8d49a5342a58ba3539ca813cca4d1f3fb46c3735c5ea3e350a3a873c70ffdf3e62f528358b7f4d36cdf2373c6f29843ee568a435ad95e232aaaf473c65ccb53db8f2f0330218bd366411eb38fc6d833897861a349da1fe3725439c38ccb0a836bd746136000000000000000000000000000000001ab60436871a0d367760d13530fe8735861ffa374c583934920127341b111f34107cf6351a4dea356102ed35d836d2355afc6c36f7d822365ba02c36849a0736bcaad237b7d58137a718bc34c2c0c134490d56352c2d4b35eafe64359d262035e5845536997cca36a43b7736675510370000000000000000000000000000000000000000000000000000803f00000000d221ea35b0173a3681b27a3fcb6fac35a0bd0338540eae3833d25e3f5f3ecb33d7bed03528908837d8262d3f412ee1355fe1083610678e38cfe8fc3e3fb30c36ac226837dd59933837a49a3ef7565437605afa344ea48c364b13ef3d4b4442354a3020360a39483850bf9739791d253700000000000000000000000000000000000000000000000000000000000000006dbabd354726ae35028bad3505d3a435d13b233616320836c81f0b3672371a3692fc3b36ef060a36f1b42236b63b2d36e420dc35a68bcf356872ce3517d2c535503019369c901736fba01036f74c0d365f32cc374fe1253546768135c9d886355d5230363e4e2536aaff1c36a995163600000000000000000000000000000000000000000000803f0000000000000000377a95375c747b3f42fcab35f125ab357cbe6e381405583ff5e21a367fe11236efc42f39c99d2c3f7d7506361fd518360b61573923f9033f30e1c935ae9dc935514f0339e56bae3e0d09173600901336c491583872d1253e9ef52f3571fb3b3534f15e374dc74d3d5e8217360d5521360000000000000000000000000000000000000000e6b0533700000000000000001b3a5b364db15d36163d5736c23a4e36b2dbac352972af357918af3525b5b535dd1a333400000000000000001dec4334c5542c3647122a365cc0343695e932363c9f0836147fd335ffccd335b874e83533b0b33719707a33e8a37a336029b83378745d36fe8c5d36e8da5936c9545a364ff26a353e50463531113235ad4d253500000000b5007e3f55e90c3c00000000760e53369ecc7f3fadf15c36dacb4b36857cb8359136653ff8ddb5357ea8b3355999f73767963c3f0000000000000000ce36b336783f0f3f9da4243640e02736a5501d36fdadc73e8b4edf357469c935069a8e38873a5c3ec4c02833fb6f8433980760362475a53db9765036a399523661237735ff135f39c5dd34353f752a35d8f51635c039fa3795dcc2347f57b434a1fe883572a35435677f5635897c3035d4c199350f32a2352cd8a8358a408f3555422a369d2ff13549f4cf351603fd35d44974368fdb6a35087ba035ecc2bd356e6bd0353d759e35a2d99c35fcb2913581de2336f90bf035bd08b53537cfd935e33a92373e50a13671349c36aaa6b4363608d8359f6bcd323f82c9322ebee532ab901d35f9f9583f5a991c3e0437ca34a0a25a359c506f3fefc8773df0ff4635dc4b8b35fd11613f3a08a137f2b6c235cf2d3736895c3b3f420106365383b23564842937ec2e0e3ff28bfc353ecb973560d6f7353003c53e0294b43541f29d35f1bc18362765533e1690c63560779635e7eb96376f54a03d07ada836023c9a36dda8733579f3fa3bb3b9cf323d53cd320000000038d74d370000000088682234a6fe3c358dcd4935a5055035851b423515223034d2306c340ff25034a332ab337d3b11366a6807367f1e0436270813365ae2ae3517ebaa3515d3b33582d6a53502418c35834c8835a7e2883542827435976eb43564a098359ca6a23504639e3548d30736960206361e40f43580b2f4356a672635bc593035777d23357a0f213500000000f9bb2e3f09cca23e00000000856a3535bb1e433f1146663eef3e3c35117c4334c1b5423f4803963d45328234b5d7f935137a313f2ebc9f38a25506360569ba353974093f45a4b835d8bca835d1a0943500e8ba3e2aa3a435dc758735527792354c6b4c3e1bd18535ebe6a7356295ec35e9c8733db275e2353385e23547b32f355c2ad73975e12335bc73173500000000c6013437000000004d15b4335de86236230a69361f1b5436623c473689150e35599a193536a8033529bde434bc283b3462750e34f4259934e849523551674736f8b94e36b0de543660fe5336e3f4ee341d3ac434a5080c35c80c09358ca5e434e2f6db34ad7afb348e591335eec86536ae646e36058e6636e0786436b9dc8f32000000000000000000000000000000007dfa033fad41f83e00000000aee753360ffe163fae62c23e8a9b4d366b570635e1d8143fd7cb773ea76b0435e83c4734359e0e3fa3f8c53dd5b8c234272d4136824bf23eaa5fdc3c8ab14936ef7ed9341029b23ebb61fc340531d83494346137a781353e8aff0335d6b2093528e35836d3f8ff3ceaf9673627c55e362f1ea032ffde3a3a0000000000000000db352335c2b82735d38d2b353440233539f8fb35c35ce735cdb1ae35001a783519089d354fc79f35ce8d933535913b3596268a35be7e8a3537268635f1ae8635bd27b635b7c5a635749ca435229d99356d1e0936aac300361565fa3510b9d43519e4903448f04c34843f6b34402bd633258b413512dd203510aa0f3556b40d3500000000000000000000000000000000b4ae2d35fd0bb03eab17283f2ed53135cb4fd735e0afd13eeb38083fb9fab4354b428e358d8cd43ec3cac53e05d2a4356d8897359b29c73eed597c3e969e813512beb8359e86b73e6556d93da0c4a63531090836756c9d3e187f3839fed70236f11aa6341cea2a3eb00d9134b12a6434865fc6360c785c3c822a3435fcf120352b9acb36b686de3700000000000000000b76c53628ef9336d5dccb32a882b0321a079437ccb2223755e26135220a5035ba21063651def535466e81350cc25335d4a001369bc7f7352debb2353e0ebe358dfc08376b386e3655ef94350f0d7f35340932369bcc3336a5d418361d1e00362787c73649d6a33520bbac35c730a2359424af35670ba53596ec8835f91e8935a869463531f27a35d4814835ae2c1c35b9d5b83281962b3e2925533f4108de320e48ad365ead693eb890313fe8ed4d35c979053697556f3e6b8e0f3fde46aa351565a6356ad3693e1ba1c63ecd2db83535f620368f72543e0935733e5616a735398f1a364288393effceb33dfea22e36e3d089352d8ef83d22483e381b6bbf35eea48c35ba0db43b34bf8c3526397f35375d2335a6625838b9c35b35a51e17351db70f35c7138a35c3372d359dac3a356ba75836553760365c0a4936333f343653d63038d72832347899b333fd06ee327704f2352503f8358e7546353dfcaa350377283617dd3336f2a634361e332c36681f04378f5eaf34b452de338d814e34cc11a6355bd6a9354b3aba356613d035b1715a3607a16636733e6136786e5a3600000000000000000000000000000000ff191535e9184e3d1144733f19bb26355be84d360162c23d332b533ff6294536d7facb33e4bec53d837f303ffc48b73350c1f635a6ff983d1e58093f96de9d35dfe824363467523dd8a3c73e04462c3652a28a33a766103d4bb76a3ed87326348ccea1354fcf063d288a943d3ba8c335a3ea51361291943af1406836934e5b36ee538b379869133800000000000000000000000000000000000000000000000082d32436863d2036df89e23547feb63598e1d237b1eb5d3532b72935a57b0e3571f21936eb41183662e418367b5613362a1add3556fed6350bdac535ef2cc135c62a0c388949cb3786cb0f3653df1d3651f84436d16138370c6d173652d50e36c9b26c36017b0e37355faa3505baa7350000000000000000000000000000000000000000000000000000803f00000000097123365031103a501b733fcd50fd3509c81e35fe1cce3c1830503f66793435c6b01b366f20373cff1e263f203b1d366766eb3588957c3aa9e7f73eb8c8c635938413367b6b5a3ae47fa63e1ff51436a4983236f098e338505c203e7df01536dc54d635e94316399602953c7c4da7350000000000000000000000000000000000000000000000000000000000000000dac318384166a73699e088367937653608a80237604e8f36ca78683694384436b9fe2638495376321bc47d32c82383326c2d7e376e579936c5a68a3661c282365688993710b6d3369256c4364c25b636f80e8b3873b84d370b6f063620f2e235472a4d384060f136bfa9e63549f3fe3500000000000000000000000000000000000000000000803f00000000000000004e0c673c055d6e3fabfab136a3bc90362db5033de35c473fdcae9c36ac957a366e686e3cf3b4243f6f8adf33e6847632b26b153bfe49013f93f2a236a39e8b36dfdf8c3af7dfb13ee45ade36c3fcca36cae4f338788e473e4907db37c63a11364e15723830c5663de4737437ce6be8350000000000000000000000000000000048d1e234a3f48238dc74873552fda135f4244038f0d7173644d2cd35b820a2350575523762194432b4254c3240e1513203f0d1370000000000000000000000000b5c83361296453689a61936382ef3354ed53e3707ebdd35c67ec4358485c535472729388c56bb34147d843419546b348108a338057b1e36525218365ae81d3643199637572a4435d59bbb34a41a9b345cb39b337a74743f2a69393de3128235e3404c3847b57d3f372ce23743c1eb35d5290039e3505e3fb2f34332aa9d4b328ff74639a0e3323f0000000000000000bcf4ea38452a0a3fd3a85636b2fe253688e6b0397262c43ecc17f535eb2cd535dc478d38f981713e5bb3d734da0574342bb8f9389c19d13d147f69372f5c1f36b7007638d91df33cd5e67f35c119ea342f6f5038351acb3b53931835ebe0fe34f365323806232838b55ec2364dcead36407e473804e17a3633bd1c358c59993138c22736e4770536238ec035f12d8335900f00386246b3363d9e9e3657bd8f3653bf0e38000000000000000000000000a50da337e3600e3688e4f73527f5df356e055b38630ee736f384d93676d8d136fbd66738403e85367835373622e73d36a589cc3438274b3fa40e4d3e0fb8233590bbb7360919693fc039b53d9ec1c636808c34383a2e563f34485e38743959355c568a380636343fc0c41336f9d3cb35e5f3c938e7bc083f458dbd3643b8a2367aa5f6382d66c43e0000000000000000a2262538abd3673e60e611361531fa3569eb993803b6b63d4e0eea36b317da3617ebc93839d6cd3ca1c68836b44a3c36421b69389f8ac938fa535b3679774036130f593890a42238dbb6cc3696d2aa36ca2e593709b10937bca13636b5170336de85b53824870f36eda5a73595a4933481f8013843a9063712d1f53644e0d7363a0492375d8d8536b1ac6f36eeef4c362ff2e9374ad24b3657e427366d6f0f360318603825c8ad368c62983654b388366c30ab3716e1ca355acdc4357e88b435837443365ef6273fbf0db03e03685f3662b5c536f6863f3f9a276f3e5d0cd436d92e403626d8393f8361c33d04c742367ac62d384e42263f4b1bd43c2ebbc835fc364b381cec043ff9cf0f37743dfa365369b1381589bd3eaefe92366bbd7d36ef9ac13891145f3eee95563699d22a36ed33a9386006a03da8f0b136132b9836f194de38ad69bf399a02d23570b0c935b124d737be83123818e5c2312af00e326ec2543806272838f597a134ef4f8a33a5ed2b38a5d2d736dfde81326ff1843239359d38eeceb3371f3f7d31e1b57b3195687438ad07c937d3c0ab350b05383580675b38eed36731cec05d31b82453314bce9337a0c557321a324b322e2e3a32e11126382d8c33350dbdaf34eb209b333b62e9364edf6b31ca2b6c31619c6b31eeaa69313bfc023fc50cfa3eb3ccb531206b3a355f3e153f29b9bc3e9b4bf93416885b32d3400f3fe1cc773e24d981322e736831d279083f716ef33d3a197831fe1b4d38eb7bd13ef738ba3d80b9bb358869bf38dd7fb23e6b896d3149f26131508b8d3846924b3ece7b5c3275b34932bb498d38af22483db25b5435f7d5e034e408653863094d39a7a86d3156cf6d31ad7a9538aec69738b01d7735b27ee334cf608938ac244838fe9c8c3695bd3b36cc0686384c095f3658432336eaafd4356b077e381ef994375390643642072b36dedf573897ac0c3791e2fe364715e636a3c2ca380ee42b3620980236f134ab35ff033e372c523c365c20fd3515249d35534ba63731c9c536dfcba636f988903679a85837cad83f36a0f1253621b7153689fccb350457bb3e2e57223ff0e48635d3d9b036af28d43e0bf4013f649e92368a7c55369ce1d23e72d9bd3e66ce2b36eaa28f365eb7c63ec8c2773e4d586f365f8d0d3779d5b33ef12a053ea650023780c9a2384a47963efda2fe3ce7c9103622c4b4375158373e4e884c3649550536f5bdf63810039a3ccf80ca3675a4a8368863dc38d3b4c238b8a441363e0e2e369976b9385c3494389298d735853f453508df8e38f9611a387945ae36157e6e3691b5e9379ccb0b36d246b63555514f35915cb83876f5e1370000000000000000d84180382c9d16381a5cb336a9699336f27d0738da1d323679c9243698d4053610737c38f02add37d54e0a348e72a42e78a9233861ceb53666069736f722723677f00a357262b13437731634b7d23432cd999a369f674f3ebcbe453f0f03ef3594c00d37afff863ec8b9253f3e8fb936119d1136d65e813e526f053ffe62c935f39d0e3454b57a3eb06bbe3e000000004528c03600985d3e73d37f3ebb21ba36235e13368f77403e6536de3d42b02d36f3774138f04d1a3e3a2d503c29369734684d8d3898ba913a07dfbe36981f983631d7a63982a3f138cbdcd93463d65034ec2d5c383c9d0d353d9d293305420b33df70dc382161f937d3875d35564dc93232536038d56e8c37034e2232504419324f355838f9f9c73786bfa3353e44ed3452fc51385b5044373c582236127cb3359742de38e40b7838000000000000000065288938ee4853381f651d3245c60f326b5988385d89f537c5beff351cfeaf35e199b0340d2c2c3200000000000000001227823501be783df9ed683fe46630335e12d13754f9d53d6b284b3f12f98e356def0036cf12ef3dbad1253f4f1125327b16ff355175db3d2f6f023fddcbbe35b57865361a35b43df3cfbe3e57873636000000005bb5673ddde17a3e00000000fccc4032a6e1a23c7a1de53d56141d32e25c0038b77d123c68718338652b05360f2882395dd5ce36f35f97330000000000000000000000000000000000000000fee55b38531ba83748f65c35248549344ba6aa3893955038336d0536bfc7a935758898386df80f38b15cbc363b879736274dad38e7e6b0374f8e8e36d9426b36d418ad38db089c388489ea34751a2c340f25043846f72038e92aa536c8928d3624fb8a382915af38c7a70c385c60d4360000000000000000000000000000000000000000000000000000803f0000000063e5e037de593e3de2b5653f48507d3565993238f3ff2c3dbf50433f44b42536b140e3368a8ee23c1bd41f3f70d2c5362cbda836e450353b6e0efb3e04c89536c10a123725de233b6ce2ad3eb30a163565a1a5365ff886391ff1413ead7dac36ea8ab8365cab3e3a1ab05d3df4693a380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004bfa3035c9138733b1b07b3284b0a63227f2d634365fb4345ec707353dd52f35000000000000000000000000000000004451aa35a2a22b35be5bf234e524c73275657e3578b02434a0d89d3405e9b6340000000000000000465428330000000000000000000000000000000000000000000000000000803f000000000000000000000000b147793f00000000000000004e93cd358761563f19ee9b35b94f1e35790ba8359de3293f328ce03416c4ac3400000000fec9f83e0000000000000000f2251536a8569d3efe89c43523247d35977c9a356cce123ec9a310377f913d34000000000c9fe73c00000000000000000000000000000000000000000000000063cb0935e120043572260d35ea930f3502c8ce33e56cd3339788aa336aa7e033f0404733bd2a4c331ac82a3313e3613366b7023360bfe5325eed14333ee77f347c66a13451389e34534091341637b6342c156b3343da70333e864b33665f863378a53934dd2a913475868e34eeaa1235656a4a342ae638348d873d348fe55c34372384354f2f3b35471d383557035b35d5cd03359991793f9e87133d8784083526dfc833a04d803f6505013b44d54d33f77746337606603fa5e16837768509337a000533306b363ff6a4753709ae073350d09334f7ac0b3fba521a3589c38134f33d6b33cd54c03ed0ce8c378a4c233312c74e34798d3e3e9648c3370e90ba3492f31a342771793d30ecbb37b8b74a343ebd1e3578706037b659be35ac421435d44b3733f2b901351becec366aa3cb3400000000000000000000000000000000b89acc343713a3345c17bb34cf560f355d543b34f9793f3461644b34e0456934fed3c434d315b9346c13ae349412b134c49917359a3cfd34ed010335c3bf35356f50a035694a3b353da116352e1dcb355ee22c358ae00f357bbecd347b65ce34546f1536c646f435fe18dc35adcef1352888ed3236fb563fff2b2f3e31f01a3229c952333742613fba34063e000000002264f53438035a3f9b31fb3c0513fb34d9c2653404a0343f79e9713b0c9d3c34ee1dc53446130a3f6850473a16d7c33446550d350d2db53e32aa813ae75f30359c4c2b3516d32f3e686ddc3a4cef023521e2cf34022c193ddabe50399880fe34cfe9e635961fb139d933d5369a17c2359d106c355c8fb735c90dbd35ec798a350d50c8349ceba934f36a2534f8411734c8307f348d406b34b694403433768634a9d0c934c82fca34c29408355a521d35b491f73360673c321bc0353424460f3455231834554fe633bd380d34e8d460346db78d342dc68634f433e23435d8003565b48734b9fe473477dab9345238923404962935b3312a35116c2e35512e4e35d0f82235c4c92a3f5897b13eda4bf9342fd1c93435f3353f2fb1993e000000005c8b93341b44353fd2932a3e04964a3448a937358fb9233fd05b703ddaa0d534a2124e347778fd3edf3baf3cc94cf3331e8c7134fc45a83e0df05b3b920335345ae709352aa3253e8e98c03af584b134150054345d84073c55179e37ab66c134afde1535c42a2c394500e534f96c0b353fb716354c94ec341423e334616ef534571f8f34e55c06342d85d93395580b3408d09234fd1a6334f44e3f349c97613474c01d340c4d2e34dccd61349f6dc034fe27213433cc22346183243498173b34125a8634fdb2883401906b348e1d5734518ede3398d4fc33ea5f3c3486ece034084325340fb4fe336b8200347f611734879654352c53413531c938350f901135ae30f734ba0bf13e95820a3fe9b2ed341af1f333bfe0093f0198f03ec67fa83305ae0d34c3e7073f783baf3e889e093380aa1734394ffe3e15a04f3e5a42603443dd1134c7c3de3ee5929c3db0181034408a0b337345973e4755c63c134d113415b0d7337fa30e3e35aac33aad8571343ba7d033b11ed83bdd631138070e0934637acd34555fc737f04b1c3538200435c85028356dfd0d35ca131535095dda34f763bc34b278b434b06a9f34883e8b3420a6bd3413fc8d3430c4a634cdba0d35e0731e34b4290334d4ac0c3488082734460ba03436e083341a914334110c30347dc806357fd7e4343d93ee34a6fb273504c1e7348ac28d345a4e8e36f2cc6235c3cb1b35fdd50b35a6f2da34e1fab1343c67bb359d179135a1a882350b005d3500331b3573978f3e6c0d3b3f0b91b934eb1ad8342aa0b83e94d4243fe750c4330869e6346a08af3e4e14033fbd96f134bfe06234676da83e27fbb53ef2300034ad7cd4344a179c3eb42e483e6652063490b101350eab813e88228c3dcfec1b35d192a23420e80c3e3999303b7cf271340354ef3423e5013b26b0e437575eec344c2b993568ef0b37ce124e357af42935c336d43585e20636ab7bb235a53dbd3532d60935fc78bd348eb93834e4194d340c8b7f3552388e341e7b50346f0e893454e8e73498fadf3411c60d35f5b82135e8399434ab554534f2189534ca8fa934313933340ebf173409d60034df243d34edeb9d346eb397349c15f4347b220a3500000000000000002364b1330f15753310ecf534fbff6934216b59329856a932747bd635fde8ff3d1cc6613fb2d01f35797f04354bd82e3ee4f24d3f0000000081156a3585b8223e4eca2d3fd5c73e34e8b14b35510e253e6455003f5361d9344c88dc3447ba0d3ecbd9ab3e6a72e03300366e34875c0a3e9f2b323e1fbd013496eb0935a8cfc73de7c0043d7bfac934000000002c14693a46cb30373c5a403390b3fe34bb992d36552ea3325a0d9d32fc364035a6561f35274a92345ae7e934a55d3f34dcde47347e8f1e343a904d345d989e345107153492d90e34ce7e7b34af87753305bc613388b15e332068ac330e49a434971b9f342bb88f3433d9b13497b7c233cc8802331de0c132e95c0933e9db4a337fbb3d330f1a3b3393be1434006de3336ba3d63301eeca338b4cfa339f301f35401f403513ba3435b59a153586df5d359c4d253c5ccc7f3fc86e53342f633834c257373d8441673fef32f533f6e7ba332621d23c4ccc4c3f0b803633374b46337d9af73ba19b213f760d7b33459b8d34d905d13b1547ee3e4ab091340cdff0326cd0333bf503983e0b5692327dd02533ec050a3bdfb60a3ee505a033fbe2a2334a45283b5d24b83a3e08e53314a3a63472e9063506d81b35dcd80f3500000000000000000000000000000000a6273a32000000000000000000000000a8ea5435a077553497846434987fe134fa6cb034e30fc134c635983492ef25350000000000000000000000000000000063231835cbd6ce349baddc34a1a55c35772398343765aa346ac22435849a7035000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000035fba133b517be33bd2d7b3f000000007e3fc6357e170437ed365e3f081fd7343849bb356600253946cc343f53fa7a3500000000e4a19e35c409073ff0b89733500a34359e9f1c3766f5b33eb61a59359ce398359be9e035c181333ea3a522350000000000000000881b1b3dcb89a735000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e252a834d5f057346bb34434fd9c853400000000000000000000000000000000000000000000000000000000000000005c0c09358214c834ed25ac344aa4b23447a8c7354e10c83415f4ac34fd24f2341fbb0c350483dd34e7229634c0fca13400000000000000000000000000000000000000000000803f0000000000000000e49bc739aa87773f0000000000000000a89e713aef564d3fcd153034247c24348223553ac5f2263f00000000000000004a182e3b56e5f53e0000000000000000f6aa613a9c089f3e6895da345806b0344582b6395fee143eda2fea348856c6347b46a637276cf83c756590340662b234000000000000000000000000000000002187e5328f67c237d1930b330000000000000000000000000000000000000000e8e8b6359994813556624835323e8f352bfba1346a8e273418928233664901345a7f803400000000000000000bfbf333337b1835f1f896344c066b34ba668334676a5635aa021035d454d534315bf73431575935f4ad0a354c8bcd34653f1c35f9fd2331462a7331d713bc31bad841310000000066e57a3f75e5cd3cc05570330000000011a27d3f4cb6e9310000000099359e37edbb5e3f75749135547f6e35552b2d381dab333fd9577334ddb87933f14aea389310073f2b9a9b3300000000931e5a38b8dbb33ea4b589349bf06034f4587f3701ac4e3e95651435cee4d434d1595e37bd23893d37cee234f008883473603934a72070391d27c031f3b7ce31bbc4e3341e8adf3889079834dfe69934e5f2ff3412c1e0348de2da34b985093571d0ea3398a5e0335c6be0337bbef433ebd6643545d25035b4375935a062633583e55a3543263935bf443735aff66735446c3f349afe483446fd4d34eb0f67342772df34eb8acf348b74cb346818cb34918fdf33065504344b1496332624b33367770e350a7ead3461c29a34e7b1a434f009c834171e4f3fe7634a3ec41ca53454ae9b3468426c3fdf67a23d718e0135ecccc6334e62613f6fe3ce370131cf33c243fc368fe1343ffd896e35e70970359b0d3e354677063fb4de7135d4365f35e6ac0438e795b33e73bd313479d1223463fa0a37a184383e3353ee345504fd349dd8cf33949f863d735d363423db3134c3930d37671e5e3aa3e99634ef4e6e3468aaf2342523c6390e7dcc3422ffcb347dbaa934a534ce3643be5c344d0464345fcb3933d913bc32793a8332000000006b0ab63498e1b9349e64ab344b23a23430979035939e6a3562df42357fec6735156cab3412e48e345b9275340e1299347b1fcb3345375e33ae821633c2a23c335da7c0347fe5ad3487ee66343fc7b3341b47b034be1cb034804fa134f455a234ad29c4343277263fa73ab73e705dd7346f908d34b310423f13257d3e06e05934b0130533f7f4473fb337993d00000000232d8f34ff65313fc23319382f7eb534b8c06d355a65063f60138e3548a95735cef49a3721b9a83e6dc4a434851c7734a35c6837d1902a3eb7843034f673f832266796340292063d20537634bd155d34873a4736a4f7013994fb8d34eff69334179b81329248203a33ead632c7a6833016735c35118d4b38e94e98346a59c532d9a8b13559e45b3705671b35d6125435a18309357397fb34eb42e0347297fa34a0a88435f5de7d35d6636e35b3eb7a35c5590735515cff34809ccd346fb600351dc3b2353aae9235eda77a3544e98935c0ef2e3555d0ef34e6f89a340a2a013525f2a830935feb3129216f3239f48a32f4fbd830b877f53eaa12073f676f5b333172e234facd193fe4cdcd3e87ded234d08c9735c4111b3ffb3d843e99c756350176a9347b5a173fcc9faa3d3ea1e53411e2503589d1003f14ac7939580d85352034e8345fd9ab3e8b59b9348f38c134ef07203762b3133e1e098e35540a7c35c2f5a137b223d03b667ca5342d534834e619833239b2ff3921e3fb301fadd630fbe6ca348dba443744da8c341e678934463bb534d3a99534b8223734d23a8934b9bf7f33831f20379944ba324d0165332376c934002e863705c19634eed69534cd128435a6a075357da75635f36e7235a1bbb134a0dea834e1f79034a927a134f13f3733f5abd6325b66bc32fb1ead3254b085340aaf9d3435c6443451c13d3489cde434980adf34fe2ebd345464c934f22db534ea7d9f3ec826323f475b93342dca68348445d63ed77e0e3f976072346a536f335a8fe03ead77cf3e766e91333ac68f347456d33e4a6c883eb1a1b5344dbb6835ae73c73e906fc43d7c6f7a35a316a53426c8a03ec09e5739bb577e347484cc32c8661d3e4416b2330d1b0e3305ba8836b3d9043b89e79b3475e184348bc78c37593d2b39a4abbc34947195340ee47036dc0faa38cf3aa534e8369a340be43834d4a8be33a86a2b33a773303337520c359ab6aa340a191034ca29cc33343052341f32203786383d349b782334c0a07235b54a463565b80135c0ea0a35d7706d35e561fb36deaaf934b0b20235a3f8cc33b986a235c559da3360cfb9338c5a0c35e9fe0135c285c134de14f83465adca349ccac7347368ab346aae9d34785ea134332a153e01b35b3f0b90ac34c61fc1335ea4703ecdfc343f05e8b53214ff0e35af05883e700a103f73304d34963b243420e2803e2e6ad03eb8ce5334c3ca3635a3e2673e74ec833e13ed0135d5907635f1e54f3e67e4ca3d63e91035bdc98c333084013eca2f34385948ee331f30db3487b58a3b7440b834e6e4b834f25ca537007a9337c81e9e34c1c99a34a28a6c310c7c1a31dc1b97307d3f632ddd028c356ba65135b450b4342c0c6533c3dd7c35418606357fa0e833a58c303365e55d35f9ac363500cfae347dd77d3401e2a8354ec11b370000000000000000f08638375514d137cd4f2b31ae776b30ef7fd535817cb2376252853561b5913500000000000000000000000000000000000000006bf5e03127d73532b53ec7320c829331aa19ea3c86c0793f14a05a30df543c356db6c93da00f573fd53ae934e0624c35653ac03d7f74363f2fa7843403b12535f5efd33d5e5b0d3f8b8e053512a891344d43ac3dd3e6cb3ea6314d33bc148c347451543d71b5813e55a161336c8abf35d39a043d640cd53d7c4195350000000008086b3c00000000000000001e87d236957c1636000000000000000000000000000000000000000000000000120bdc34ffddce34ef4d5b3408746334e1891038ca666637bfa600341bd5693335030835117ef134070dae34ccf4bd34000000000000000000000000000000002eba22383016153800000000000000004b34e93634f11538fa667834ec2d943400000000b1deb03600000000000000000000000000000000000000000000000000000000000000000000803f0000000029b4d53437c4113b53c7783ff19e92345fdb9e358425073d3181533f910e47348cb2f6342f206d3ca8642e3f25e0c234000000000dc0a23b0322053f000000000000000090ffe63981e1b53e0000000043f88f34624d8e38286e4f3ec3229e3600000000e8ad7539dd5d1d3d000000000000000000000000000000000000000000000000000000000000000000000000cb87cc347d2ad6342dd5f73461dc1435968d0336f115a134ae085a349bdf8634b794063728fa8b3433ac6734e89d0a350cafd237245b8434132ecd34169b003540c28337b5a877341be92d346d5da534893b1e382b0a3c35bd7acb345dc92035bbe314383dd65b333334bd333c10da3300000000000000000000000000000000000000000000803f000000000000000045f2f63c35676e3fc7aad234b93cec3442febb3dad8c453f7ebbb9346c254d34d63fb93dc7bd233f0f558734bda32b340af86d3dfdd3ed3e06f18034d08aa43429b5c63ce34e9e3e16b79b34deac2734db458a3b57410c3e7a4642351cf1b934b848cb3b28ec353d87e58b33bf5a6e330000000000000000000000000000000087b32c380019a838c7060b35276e823496417837050b5f3593934a35cf6f3c350ade4736b4541135234f9d34a46a5c3463033b37f8048f3412dce6331ff2e334cdfde737d25d2f35f0ed18353bc10535c48597371c05193568d5b33488c563349170b137f50c21338b6b3033110087341a2368383f5b3d349c20fa33c1afd032283b6438c584e6342fbbba342b15563466f65c34856a753fd710e83c97fa1335e1b90e351d367c3feff456358b1e4e35ba65d43c2afb5d3f84931e35e8bf9b34588f9e3d3748263f617f98346ac6bf33dcf6443d6264f33eed872b357d301635aed6b53cbdbca13e8d132635d3c09d3432ec0d3cceb3353e203c6333c99403336058a53bc816cc3d02456234dd26f5338d23c93a1688723c5cf6f1343f989f343a27183803760a3d20c69434300241327f67193824ed08389cb7f2334d37073415d15335a1eb5c348de79034c0c6a33478fea237dd0d3c35afd31135e596f134aa877737830ede314e1f1932f43f6b32fd83b43740fef23374f82534d07a3c3462b99338383017357576e734f3fb9c34b13aab37000000000000000000000000cd23873896ff1a3600000000000000006914ff31e8274a3f883a013e0d4599347660c433519c703faf06393d82caf333431d1835a512603f0814ee34578b913477e72f3c213a303fe503503557291835b706273d8eb6f63e05a7ee313e3126328078ad3cc553a13eb3f9fb33fea426346ca7823c281a2a3ed8ca2135b085e9347500c43b2d1fab3d0000000000000000761c0b3bde3f3e3d7c24783600000000a5a00639fafbd33943b3c43661361c3679fc4c385660c73898748835412e85331cacba37749db73700a21d350e81353563e0d5361016c5345919003572481035923dfe334cc4123485230d3487c81d34c5a2963762e8f834ad8beb34f3600a35f973173885b73434dd216b34e7b686341383dc377b810b33e3900b33e7322533ed71db36e2dcd93400000000dff61331c4691a3648d4283f22099d3e1052f23662e57934df7d473f51ef383e0bd8f33549661a3549ef543f778b413dfd7b1d3548210936a0a4313f1cb10d36836200357319853a83f3003feee1e4330f0f1434109d103dba2e973eeeb1bc35eb60e934bdf6ab3b2be8163e7915373417416934e818da3b2d4eee3cb9b5ca323f321233c3cd7e3b9668c4391f0ce334000000001edf21387c2e5f3888394235528a9234477d7338e808ac3801b315353b8ddf342ea61b39f52d003941d38b34a5550c3421398b35361abb37ed33fd34e4e5823445b4e135b9b05f3507ac5e35384f673558fe95355498503598d5dc34fa147234ced4b93614bfa93492f12534d81f8234032d0437a936e634e034bf34e588ad3441eca2370e8af9345183b734afa46534a68bc3347e0e043f1720f23e50294a356113be3476a0273f437aa93e72641f35cb7fef34132d2a3f1150443e5ea7b334594b5d3562c8213fadfc6c3dfca2dd34b1954735ff73003f372d5635bca55b3573f8143a6bdea03e17c06935d645e734bb8a113d7e56e83d1e36af342257f133d65a9b3c4602bd3afd49dd342ac8a7347cf4843ca0a0ec3881d2f1346b2f8c347aece93845229438dd088e340000000078234038b962ed377625f632ac481a3395b366382a3915388d385034de935d3426f271386e917038efa12235819d0f350dc49d3750b42f374a9210347eba34346c91f0361dbed235de12fa3485240b3566ec0b373e6221354e0c283568152535e5ef9037d11b0c34ab517d32cdcba33359e4223883811835dcb8883251f8d5312880e3347fe8ba3e34ce223f74d691340c85d3326945f93e2240f73ede73003362a20a3447e8043f4938ab3e873e56340c63f13569ddf23e58714c3e78096c358f50ef3330bcdd3eebf8873d1f9a13343767d535e8929e3e4cde57368e6afd341363de3a28aafd3de57a2735af312d3525a4373d54df5639e3d2593483000933723a1d3db8613139c07459350000000055c9183a8832a8380000000000000000d164ba38a290a3380000000000000000fff20539cd60d7381220d5349776a13417989b38b6a94d38e8151d3487162e343dfa7438f5d78438f8c23a323bea8b32b76fa6387c4fbd38e4901d357c7c1635148249373395a23442138f347930a034d0bdab37d266d633a9b4c23372fcc13315be6b3425e5213227d71e3287683a320a4ad9361469313eb42b483f7b8a10359093e93462e4933effbd203f00000000cb6c30353bbcaf3e4680f53ebef6f834c1c79933439dae3e14c3a83e9844203494f03436442b953e3f92443ebee94a32bbd253353775733e2be8893d32433335236c12358bb4023e643fc635f6c69034338a8e3c66fe2b3a383fc233a0ecc5332e38633d2f2834383a7aaa32381227328e9c1c39fe64a6387fd4163555892e342762f73809cfbf3819c20734eb8b8b3285482939f51961385b8f083560215332dc935f384ff60838287d0435a8377334c5150b397e4aac3813621135913d0735e4aabe38aefac3385625cb34248b3a33b8ee333803704138ccdde93401dd84343d04b43757012735f8e013353e5d13359307103527f499349e654034a0b4f233e5c1d936a076953d42236a3f4186143555a53634d9c4083ef215443fcfbf2134bfc00635af424d3edec11e3f1b115f353f461a35e4544d3e6348ef3e8e8a0235335c2035b5492f3e659e9f3e69346f352c12ef3460f4ea3d6baa273e6a053a3599b21d35afbf2c3db45e8e3df7c6df34ed085035a1908d3c1bca1f3592580a35c7fe883c33b23438ceb79134fff100340000000000000000000000000000000096c94c39bef1eb3859d3463375aad3323ae63239f9355f37df389e35b21d833570bd3838f0739737bc143a35abc9fe344f5f0c39534e95373b7b73346c3d7734097bca38e36a68380cef2636bc8091352123db381fec4a3c38aa1a356041dd34f7c1a6370335c934fb22b23432f9c1340000000000000000000000000000000000000000000000000000803f0000000074b0d13341b0753dcafc643fc1b078331a578e350b92cc3df861433f1d57c535e9065b3528ec853dcf431b3fe9234b35e120b2344b4f303deecee13e2a1f8b34d4864635badace3b8d258a3ed8cc5d36367bdf34849f9d3b0ce7ff3d047d1e35b8d2e734184b4d3c0257f83cf6c9b23400000000000000000000000000000000000000000000000000000000000000004c5b9c37d6e9a1366cfdb13656b60137990fb037ebb8dd363a640637eb4d6437f3dd933724c600357bde9036b8ff2a371af88d373a6a913524709d358f561337d173993792de2537bbd34c3759668e3731db043872327f37202f943756fff63798e59837e32814379e1f1f37a05b893700000000000000000000000000000000000000000000803f0000000000000000659ace3764f27f3fabe98a37d2e2ce36a69e31380584583f1281af372c822c37988b1b380e952d3fbb81943766a01837894222387fce013f74e18237901e5a3669e5de37ccb6ac3e5c958a37c49f7a376d9e26380ac52c3e41c2e9376ef5ca37aeb1a23721e72a382ff83837b205463700000000000000000000000000000000d4a57037a2bea536cc8f9a36f930c636779a1237bc438d36419c9a36e821c036fa157737a045a336a0ddb5368476cc36c83f26378deac73674cef0368c8d1537e99a663755a4a5364d9cd236ffc44437288fdc37eeea66369331b53634f4b2375d4e4a37087694364330a036ba3407370d45ad37f4b50a37940afb3639b193374207b53768db8d37f11393373e62c33775ae9436bff57f3f6eb94a380a89d036e4b7ae3678f67f3f6fe80b389dcab336a428603764f4583f219a0c385888c53607921f37fd962f3f3fecf137ca731137660f943707cc013ff607ef37ea0f23373ff9e537113aae3ee01f0b385f977f37f96c2b377463333e076c7737af03a436c40a56379621713cfec38e370b60f436807d7f3747bcec37142288371a3771374fc314383750a8371c0ef0368a5c553791e8563722075c36916660363b1cc536b9f11d38f02d3e3659e13d3615a38e36fdbfb7378c3d3b36c7fc3436b22c8e366881a63797a7703607c476366a045b37d32190378d5f63347c6b6b34761a343708c43c38657346378e264b372ea40c385e9f543778db28361e360f36f38622378ead7b37bf2fe036442d7636b84582374cf14c36f0fb573f58d51f3ed99f2a3750565a365979593fe3f7193e3ce075360b426c376e88363f59580b3e49ed6b36507802372741183fe526b43d973b5636fc596b372662e03e9fa3723dcaa21137dd68ff366e4b9d3eb516783b4d169336948ee33704dd2a3e1ee38139d1465037137067361b5d643cb82c47377646f935eaea88360b1c0338f318d5363c8f4a353228b23787888d37372e1a35e28a2b36e81cbf36661d4b36e6a146369a984936ea67d037a0920b364323a635dc667e364efac4380c720535865f0335140d0a351df670396498c3360c6a7d36135825374747c93761649f35086c9635271c3236bf4a08387e2eaf360e7d9135ff18493703590e384208ce3763ea96379779ef37ef15d63741617f3750e8623785969337c86c1b3564f32c3f32faa53ed4972435b6c0483640242f3fb8a0a13e9b8f4836fef1ae3669de173f48f3863e0c7ad1351ebdb536c05ff73e8afb4a3e2e68083586b14c37c743b83e9ca90d3e6884c636372c0a368d227e3ebdf78b3d1ca2a4356b59fc36fada183e392cb138a3912036a085ca37e209303cf6761838df1176377365813724796438e5f25c372a091337015be2374623d3371be7d3367d6b02375ea9f33738aa90378992a23664ec3f37281a683705cdfa36ccccd936c343fb368ed2c137c555c6360a72a436e71ecb36acd1cc37cd8b3537082db436ff353b37d384ef3711d2d9367c2bbd36ee55f636e96375377ebb3f37f3ce1b37e1505b37004501380cacd8373c40b4371f4beb3774ddd937c04caf37b4c59237342ac037347cf8361fc7013f0746fc3e43045736cfac5f374df8033ffe3bf63e2239a536533513374394e43eaa8acd3eeceee436f2cff8364af5bb3e3646a13eb2bbb136bb738b3763df893ef82d6c3efd71e3366d772537782f3e3efe3f073e661ec63670034237bc58ca3df1f7593d6ad316371bfbd5374b36603b8c241c38f6699537601fb43760151038d3b7b3376e892737d7ed0c38d58d9f374c4a1d3661735836dba0f837f002883746729d36131ca13608d2ca377c040235f665ff341f5c01358ae9ab37db3fa33510339235dd519b3562ec4739af510037cdd72a354f95f3367d5ac7384462a4361c5a0e3582984e36ebf4fe3704ca8137f33e97364ff67f379949e336933c8836328a523616a3a436c44f9e3795d01637a5d5bd36cdb64137c79cce36989dad3e3a22293f5707133638055e37969db13ea466243f7f2f9c3685a6a6360d489d3e31150b3fa215f434798e0036ba65813ef470dc3ed81995356f8f5f37a537403e198ca03ebb443036e60632371c3bfc3dfad5473e18eb0a35daaea9375dce683d1081b03d4f7b80365fec8d362211ba37e6eb1c37b6894e3659475337c4500e38ef5f5337e604303563f29a37cd0b0b371202723477797b34ced82337ca28b93528039035d23ba13519782138fad73337e998dd3669ea1537634997373c136734a1b75b344f1269344411b437511d1537d8bf3a3630b782361cc4de370c6ad63603551c366d1f6136dcb25738dc54c337b2096636c9ff7f37e3c89f37c5432e371301e136307e2a37545bc23740428c375968233732fa9b37573732359c4f2f3e7420543f8ea95c34ebbfd73548a13a3e20be4d3f42958e357af9b437ab87313e3ccd283f6f0f03377f0f1d37b4b8103ee72e0c3f34a15d34fa5991372a9cd53d7cd0cb3e3b175e36a77f8a377dbd6f3dcf63843e201d3636a9fd1538ad9c9a3c4411073ee5636336dae8613792a72f38995efb37f5b19336bf67bd3758835e38246fa337f960ad368c5fce372e1291379b284c36559388364e318737d1051836fb1ff835b07c083623f13f378c1e983678213736db4677368dfaf2372cfc303742cc4b36cae65b36839bd13741371b379c3a8d364617b13687f28937ade018379964cd3635b3083754a9bd37ad904b37e273b9368c07ce3608847737f595f836c463b036646dd236f61d253748d8b336497da436d1f7bc36a7b4a237de08453bad2f7f3f9be2643696334a3706aec43c530d763fe69a023632380137b93fd33cab894c3fd8e26836834fdc37e6b1ad3c2463233f288c5836991b5937731c933c2727f33e653fab36ee5728372b0f84382cbda03e4615f436c1458b377dee5138a7fe1b3e799bbe36a39e3537a57dfb37cf3e05382ae1aa360d404337d2569837f66ddb36b6a08d3600000000000000000000000000000000a5925737f81c5336d53f4036016c49363ed5053805399f3773640536236e90360323a7377d896c37dab7e036bfb41d37b3dedb37cff2c0363ebc91357c1ea035b5ccce373da55137b8ed5836c2640d376148e237d562ab37422f19378f0b733734f6b837e779a7378d425537d44b97370000000000000000000000000000000000000000000000000000803f00000000660659378385d2377ff47f3ffa3f4936bcdaf33715bd48389fba543ffa314e37ccab9f37ddb80f38bc96293fb7c636370e7c9537c70733382e3cfc3ed5569f3630ba9337978a21387cb7a43e63531d37f05cad3707984638fbaf1d3e93779837fee98437ae4de937d2cc3d38c2dc71370000000000000000000000000000000000000000000000000000000000000000bfc3f83798a3b13651151d3658bf6b36f51bde37b79e52361af1a13596bda33580c65c3826392c3723940b374d8a4d374cf20238026c3737218b1537ae3a4637df1a2c374ff41336c3b71636d3e55336ed142b38236e93379da46537d983e637ed05c93726e98637d7578e37f3abbc3700000000000000000000000000000000000000000000803f00000000000000007c6b883a6e67733f4b29b5372badbc363bbd743ae8bd4c3f2996bf3719ebb13678df1e3cb9fb253f193a1c388b5b62376b8ff2395b20013ffd2ad63731696e370316dc39eb25b63e9f13dd36a75e2c36324eda38ef57563e9e83d83781119e3726df203872826b3d0bd28337179b8e3700000000000000000000000000000000c44f51395dc1e837eefa413621245b36a7fe2038bc5d1a373f794a365ffb56363d2ac2374eae723636a76c36dfd46f363161e03907e70b3799871236b6abd43689b21c3858569a37c0632037b2c6933782b7d937aa9e9c36569c38369232b736de1a1e38d49b7d370562c5367586b237266bcd3713e82037100bcd366cd1aa3718078037f42e3b3735e14337414b8d37de0b04383e40723f15015a3d362567374e3e62381ef2663f8e8a513d959e6836756d6c392d00443fc789023dd04f77364b35503c9b5f203f068a2b3cf45133377c85323abafcf73ee7511f38f276ac378e3f3938d28faf3e00e6bf3768f6c4363c6f3c39a4c74e3e0140f537b9647437759c4c390ef77e3d3d71683769dc0c3764279c370718ae37d64c07376cbb26373f352338dc4df737e2128136999381365a3c0838580e8b37dab41c3702c91b37f5f03b38bbff3f37d86d693650156a36f069373898b2a5371af7203682785d368253ba38cf25bd37c0ee6c370f2e9137411b483801ffaf3754039d378605b03733f63a384f87a137930ebb3686ee943737184438f2cda537121a973729e4ce376bc206389b04cf37af68c137ec89e837b4f78f37cdb74c3f51e74c3eb189a53603b10e3878f4453f4ba7413ed2c139374abf61386603253f08cb1a3e06806f367baca53829060b3fc670d93d84d57e377f18da39257bd53e18e2983dd7c2a737e2af85383ab59c3e698fdd3c9104aa3720f97138728e433ef47e2a38067b7037b6e9383975d6763d62e4cd3723db95373eec3638f5b27038a98db937a8d0b437b3ca39387d231038af15313781e0cd36795c0e39573e153839f9be36cebbbe36011ff839426fb637b9b78e3564e48a3539093f38f88fb8375fac9c3635cd9b36588063386323783796be2f37e4b137372dce9f38413751376882713556ad7335be9840386104f5376c5051370e62b93770b90b3845d6d037992a89370ceed237d2c8383892230e3880a5d63709321638d64bc137c2c1263f9f4eb23ec370883732424b386273223f693ca53e2bb1633766e8e739cc170b3fe725863ef5eb39368a9754387732e63e3c20503ea85f15370e328a386177b23e07b9153e706c4c3724da4e39d6e6823eee89ac3d72bb7335bf6d5638e31c233ec6e3e03ccef5ac37b76312383e6e653d7250fa3778d18d37d8236038a86ed939d8710e388980c93774a90938cbf70038d86b9437b80d6037433b4738b566f637497b0937198807372b20263806babb3723921f36d0751e36f8764a399d4bba372b17ca36dd83b9361e7aa639554733380c3faf3752fdae3784be2439c858cc3708f83b37371760375a1b29389922e7378748263760048337915938382597f037b7df16379456c137a1f6f9370f6ae0378a10ca37103ee537dbfae437974d013fbe20fd3ea518b637a1532138da41fc3e4902eb3eaf1b0f37ffa4283840ddd83e1020c33ee09f8136fc476b390606b53e374f9a3ef32464371a56d63975038a3ead226b3ea66309383ad69b39eb254e3e313c123e103b9337842a303856cefd3da395913de44d8f37018a4b38f9c0443d5cb42f38536e2d3778fb0d3891b986391a91dc3758e3bb37d7977038726443383b7b66372cf58436487f0738ca3dba372b8e1c37d8851b37531b3a38bd59d937b3c8d935b9a4d13522272b382e3a713755983a35c6602f35740f5a381eef7f37ec932137cc5c1a3787373a385abae537df519d3637159d36ab09b83928510138a1eaa2365c14df36db904b38b2c526387ab9c437c009f237a541d33738ffaf374d518337f708a0371bae1b3853e8b63e7b5b243fcae1d337cc88f2379907b43e329a173f489d1d3782a2403842dc9f3ed92a003f8cc4dc35dd4c83381d1f853eaa9bcc3eb5b245358fe46938093b4f3e19ff9a3ebad93d379cd74438d90f163efa224d3e09a62c377300ce396dc7b43d5a33d63d4fbf74373e545538cba1fa3c15bd3f3c3bc7d837357c1f38b37bff38fb23ba37e8a86637d3002e3811ea1d3869da3c3709ff0937b0ef48385a81ae378ccaff36a565fd36130835381d31ab3728698136b2ba7a36ec343b389ae4a3375f581437117fc636585f1738ee28d4375775e4365486e33662293038cbd7e937669416368f6006362bd32a3851cdba378ab2693635876c364d96003872a6bf378e286e37658a8d37f7d5a7379aafba363147933676bfa9368266e8377198593e9f86493fb27c9437fc3e1838fd295a3e25f3393fb70401371b9a3638f0604c3eb5f21b3f36f686360b2b533841552a3ebb0f003f3d607c37b189a838b158043e02cac13ee2677c37628f3a38a014b93d992f853ec1285c3759f22e38bde85b3db7f4193e9d72c436a3f9053813b6233cad40e13cf0af6e3776960b38fe8232389fd814373ba6823608828e37fa2c75376972a036d7329e363a3add37e4327637661d6436c6225336b13a2a387184d33781052436a3431b36a948f137266b86378bfca835106ca635c1941d3883e1e4379936113602080d365de5b1394bef8c37a0360e36ff020836188bb737b48ae73616716f36a0147236600b14382c0ae037d7fe7336910f7e36a213b337495b513782566d369409d73676976b37dfcc863d8d1b6f3f90c4c136797fc93783aaa13db8c45b3f0c2e7536d883213845609b3da0c3383f4610ec36dc0ef837a9cb8b3d56ad163ff7e459363c372538f22d793d936ae83e49a385370553e139c6a20b3d7a42a13ee5c802372aa7b5375172883c9eec3d3ef449703648990f382e896b39647e3d3dd58f223729380b38c2edf4382e1c9737901de03500000000000000000000000000000000925def37213db63744589c3656399236b2fd4f38aebc173877c2123671210536fac36f378d7908376f04d035a153ba35578f1638bc130038ec9901370637a33648b27b38e0c94b381a671637304cee36bf9606380703ef375ea5f436f93ab43548b30e384782fa3750826f37520754370000000000000000000000000000000000000000000000000000803f00000000f86ad5375fd331384536713fc8797337361c38386c366c39a93f4a3f9b62c8378eca53379fcfe939bea8243f38259936aba70a382117a139d64bfd3e9fcdcf37488e5e387658483ada77ae3e153b07380228e9377e43fa39eb4c4b3e008caa371a34d937fe08ea39f1dc423d1b6ea437000000000000000000000000000000000000000000000000000000000000000077530c3a9599ba3948c832382d53af37fa160e3a6f2cb6393d11c238746e2f3829d8ce39112438392bc82038611d1b38d9ccd33952e0803964f99638b27e2938ec68de39d41b8439231d85385a1dfe37ab520c3a72ec6339744b84370b1e893792b99239add85f382daf98370ff1ca3700000000000000000000000000000000000000000000803f000000000000000016843b3a7543613f14af073ab4e78339a37d403a1374403f617d053a07a38d394bb19d3a6c1a203f3feda6392c99f338d2581b3aac15ff3ef434bb39bb2b4a39dac9333a4a2dbd3ec1ecb439bb6c3b39572e7a3aa219783edc4ba239046ba23899db853a3fb8eb3dbc284138c3a7c137000000000000000000000000000000007f470b3a25aad0393ef0c537be58bc37b0123a3a81cfca399a9488375c38193757274e3abe5a0e3a0db3d93847cd9a37967d1d3a3e009638d605b5373d919d37f4022d3a34b5f43943f74d39be141e39253e283aa926df39c4211c39d150e3385fd4f839c6c0fa386fa29f376ce99a374c141f3a8a0dac39a5cd343819ac3e39d0f2d83910649f390f1c673994118b39e950173acae6603f7191f13d2b77f938a510d23a1688473f97c3de3d6c494d39a423813a30ed293f8eb0b13db767cf394d2bfd3ae3950d3f5c9c8f3df30a0138db1b623a2971e13ef0185c3dfb5abd39daf7dc3ae857a83e3da5123d800aa3396dff733a542a5f3ecef3a43c0a21d137516d813a13fbd93d832694394582d23882d4173a63ec083ad5b46d3905034739b8dd123ae946083aa27958394f485d380a02d83908d38e39fa1e8b37f1652e3748904e3a70142f3a8ef68639db0a00398479033ac3878b3973020c384e41f7370b8b393a5263ad39a785173846ab0a38227a103a50b8d539bc076f37901c4d371e8e123a20e5d93958aa4a3996293339ff15dc394b64a839fe742c396098553991cdf0397d999a397da58f386d640139e3a00d3af799403f8643783ebbc0b539bce75d3a24622a3f22065e3ea9cd6838c3aa613ae3ad113f53733b3e0ca3f8390dc0333ad05df43ed7fc173e18558b3824fb8f3afe75c13e734ef13d7fce1a39733f753aadc1903ea707ac3d12623a392f653c3a87c33f3e69f2583d87959639c1c50e3a6b8dc93d6674a539d6b94939d576383ade5b433a5675713938218e38f10b463a82193e3a202baf38b6a95d3876dd213a715e0c3ad0b0b938d6ba8137ac3d733afe101a3a166a8537978703374f8ab239ca702f39b4dd793746602c372ea5323ac45a0a3a58485639c4f89e387ef70c3a1a9ec439bac72638eed61a38a926303a7e0caa3934bfd737e799cb3724ea703a1104323a6c496e39e59d3b39127ff139d890c33996e77c39a63374396734273af7db1f3fa96cbd3eb580c239111c1e3ac2ea0d3f050aa83ef134ad39374e863a9db9f53eaf16873ef93e62392bfc3c3a90c8ca3ed7616b3e69cdcb3737de553a5565a13e63b7383e0085c439e6c8673aaf9c713eea35073e9b994d39f92b883a2aea1f3e13b0ab3da89ef5376d9d9f3a636b9b3d40370b3da263a339435f303a97a33a3ae108bf3987d78839084c013a00ac023a85cc0338c7d2dc37f1614c3ae0d0323a6593723913752737b75e603a5f503f3aa217aa39f7846238a189553ab4f01d3aa482fd3813ebc73795e31f3ae11a033a5b3e73393cefc538324a433ac82a183a95596a39f0d89538dea34c3a42082b3a3b80d039d6cfb93965b8383af413183afbafa9397df59039ce115839fcb73938564efa3712eaf537ba299039b065ff3e3cfffe3ee5650b39fb204d3afc9ee23ed7cae03eb713f23941cf633a610cc23ee3c6bf3eb7db133ab851c63ac1b9a13e4a819e3e3a76cc39b6855a3a7ebe803eeac97b3ea397c0398909c33aab66403e52f7373edf83cc392d5c653a3e1afe3d9a67ec3d5fcbf9393024583aa2bd773d023c543dd566cb39e0fb113a8820213a954b6038a05c013898df163a73db193aa6cda039fcef6a381f468d3af8206a3a3f1bf9371274c13738385d3aedf6203a4151c137b4086737da642d3a93b6eb390c182338e7f709389352343a86710d3a15370139caa52138794ba3395911283974dc643725bd17374220413a676bbd39cde15d377186fa36da5bfa39f3edaf3950625b3884730138942f093a9913a83969df6b38eb336638a121013a833fbe3e0e691f3f3956e339ff52913a9dbfa93e222e0d3f64cee1399fd8713aabce913e09f2f03ef4390939f0d3573a7022733e2ecec73e80468539f7bf4d3aad56423e1e6c9e3e74ebb939d9fde1394472113ea1546b3e3357ba37e4bf823acae3c83dfcef1c3e5839a237216e253aed073a3d16978b3df022ee388ae6483a2556593afa26c9393044733891a9233afefb1b3a011a56388b4c2438504df639ef20c739f41f3f370f27a03664571d3a73b5fe398cf94038ac95803685b7233a082ee939a100893709cc0337119f523a91cc253a9efdad38ffe20038413ae839a4f69b39d8bb08387bc6de37d3be373a73900a3ad8ea3239e1ba233718f0a73974d4573967a49e37c9e780373f26ec395f03c2395b8e5739a797233903cb073a519c7a3eea1f403ffd0bb43936ee063a800a693e1f952b3f49f5673915992a3ad636423e29cd103f2b4cb039b0aa2e3ae657223e12f4f03eff958c399949653a1e0f013e4610bf3ebdfda8398aee0e3ae9e2c03d96dc8d3ed480c33831c2573a17de7b3d1d01393eea2ba639fa00f5392fbbf43c8e18ae3d1bdeb2374473103a80e71a3afd40d93953066a39141eff39954afb394366653917fb8c37f3b3513aed92273a99edb7370c8945372b8d313ae4e8fe396024a83746f30c3753633b3a61741d3a078e14392adb1a380723373aa504193a5e1e4139cc61273782f52f3a735c5b394971bc37dd55903780cc433a5fd6293a51daa03947604339dadf0b3af848e7391d0e15391f4a8b37ed328f39a0e72d3906c9c237ed66bc37045cdc3974d1f03d02aa603f7664da398314553aff8ae23de917473fca94d339c4c6393a949ec33df0a8293f759c7a399cae8a3a6feea13df1c90c3fa948f639499d463acc01813dad02e03ef1aae83928e9893abe79403dfe71a63e71f11b38738e553a1d73f73cae675a3e7edfe339b1ad573a9572c83aef6ad73dd5b46e39aae6033ad03f1c3a4a837739b46ec337000000000000000000000000000000003cb1453a9a62363ac62ca93758dd41371972493a9ed52d3a55c7083838e60837c2f3093ab9aaf639cd6e2139c843de371110f739453dd539fde30b3926270638399c153a7bfdd3399549d338f04c21380841133ab1f3043a0ede8e39e2282939c504033af6e8e239f3005a39a482a4380000000000000000000000000000000000000000000000000000803f00000000f724203a6983be3adc15613f4fa3213a350e453ab85d933ab76c403f0bb20d3a1089083a81054e3ae12a203fb845d339b631ff39a918233a64b0fe3ef9afaf39422b1a3a6bd3923abf10bd3e60d78439c39f133a1a9c353ad962783e715dc5392f320f3ad6eb293afc4aeb3d3a009739000000000000000000000000000000000000000000000000000000000000000076c55d35206a56357f3f613598505a35af2dc0354c781535d4e11835229c16356bfbbc371285893189e78c31ef878c362dfbf3362a291635d92314359bcf483521194f363065f2348156f134dc4cfc34a06618386ec2a637718fa337a648d537a5290738aa1d96370f7040375987873700000000000000000000000000000000000000000000803f000000000000000052c5a53716e47f3f2a202c37c3b959350d1caf374ac9623fc9af98363534283500d29e38f405323fb73736381a4d81372c195c3824fc013f61d8e4374753bb3530bb1437d5f4a33e9f6bc03612e6f734b061383882eb063e457b31383ac4f4375e5b3038a33c263c07b13738cfe99c3700000000000000000000000000000000e118a93648d83f36a882a336fc89d936a34f9a3641374f36090b6536b1aaa0367d904b35bf273c35fe704f35649d4f3556369b3795a1f9352347003659084d37177f10377e6e6036d0d06e3613b6bc366ede4037f58a3e35f9474535a36ebf36e657ed37d5dc35372bf4203712388c37a06981370e1c0837e5098936f55cc9362a9e0935fa280c35d5e90d35d48312352eb4113519f57f3f6605f338eea24137f4d4a63633f87f3ff9f97b38557ec93693b047373061673f56384938edc08d3529d80f38c508373f372779385ae99f37a385e7376033073fa6f9733878632c37920db4374b42b03e8793753866841237fa6ba8376c9b1e3e3e0b8f38d593ab3702553c362e8fa23c55f14438c0dec0367f090635557acd37d4590f37e2110a35872dd036ab2f2a377fb916378003f636a8a5bd3607eeae36ab77bc36c303c9366e1e4935e59b4735a11d5235753a4c35bd26b03532c6a6351419ae35b697b035708c913602e22c364c59493627418836f80067360d45eb359d6fee35e814ec35e47586377e379736a3b93f3679fce33648f0c4375d8279377fd2b936b154ce3613a57d36e408643613ae473674a75736ae9f8136756e633fbc3ae43d2a522137ff168d366f0c6a3f3777af3d028af436b7a954352f554d3fe219a13df60e4c358c4ead3531a22a3f1f3d043d31a7ac35a71e9a3614d4f73e6027893caf529a368783f0357642a53e1d5d4b38d0561e3673e0ae35b109193e1cd03938a2ee0e3742203a3650e9af3a24bad6380c459a36c06c2836b7749238b953053838f6253621a67a36de512d37201c7136e5997536d2fd1d3670521e364dd61d36be632136d75182379682f735d95ef9359c40f435bf8e8a35ef2e8a35399f8b352f4a8c3538effe35c719fa3599fe003673be0436830bcf36e1e7903607b58136670ba736bd9af737e73aa53722eb773738e9ab3752f8b037bbf667373b05e33631e1f8365cbe6a3749025a378c05483798765337bb593f3645a1323f9db39a3edb2166364e4a1f36b77a383f05e08e3e95231f36edc6e2361e4a293f6fc9693eb6b7eb353f718935976c083ff179263e5e758d35d83402367868cc3e365ad93dbccb0036ff63a236564f883e42fa433de042a436aa055e3702ba033e2fe13f3922ce8f37288bed36e5d7463a4acc2738ea18cf366d974537d49bb237e7847e373a6f2337fce58a373d92c33785362f3524fb5e358409eb36dbd78c36ba3d823694ed8a36f8a5193745f8ad35e9a0aa355e7eab352422dc3616d2ad352a09a23545cba835bd9b9a374c4c0e37b0908b36c7ddb536586f9937ae63ec35bf95bd352369cc3500e42138d9c40638d4d7af37c20daf3758f4f4373704c5370b7f5937291d5837a895a237d6d5733706f79436b23ee43638b634352917023f4ab8fb3e0bed23351b888c3693fe073f3653ef3ee7c98336ef9b3d372ed4f83e167dc83eea04a935e610c6368cc5cc3e409a953eaad7a535a2ef9b37d071943e7b2c573e9cbbd43617771e37f19c4e3e482cd93dde90bc351b35ce37e058d03db63baa3c8e188c37d7909c370aa8a03a53867f3807f792365e3e7937284f5a38a054c437bf893535661070374fd96437ec2db536102a3d36ade8df36b65db2361bc639366c1a4536b2c25237a7041135b6ed0f350aaf0a355481b73679dde635ab8fa5356de0a435f83b02365a83003697fc03361fe801361b14cf3559ad8935fc858c35680b8c350cb83638f80b10382dffa0370c45be375b7b853747c63137de707e3602f1a5364fe6ed3695cb783660eb6736b58167362a8227376b1da33e0a622e3f48e81a363765cc3687c7af3e34f1273fa2243936b2eb3c37a0dba33e28170d3f4a5c0d358006cb369932883e8cf8d63ee5ea9f3590100236f1994e3e2503963e7e640136098d903567520a3e78a52d3e295e89357e6b0e38d380893d8c60303de60d95371b4c6b37a72b5f39ed8cac38ce092536ba831b3705c36138557190360ed14936e7308a36107d53364b96c83588efda35f349963670df1736f74a0f3652941336273fb436f9d5a8358eab9b3501889d35fb637e36f773eb35f531e8350c9aea3515a80c3776bd53366c610436c19d0636231392363f1701367132a735cbcaa8355c238737acf86b3651656535386c65355801d337cdd580373c21ea36a9800737c8c812375eaba5369d5c943689ce96364f664236d150033e702b5f3fc39fbd35af36de366fad1d3e4535583fc5900e36405a3b370b78193e605b333f803390359473c7368003043e2a5e0c3f9a66ea35ad83b7375f6ed63dc9ffc93eff31033628b69a3602c19a3d4d10673edfdd9b35fc838837d13ef53c5cefb63d87936235802aec37aaff8e3805b33538a3d0a93651df5e3739c7df37884ddf36ee7d873605860e35cb760935bd84053551ac0135554343364fcd1d363f36ef35822ff1350cc0b03777aed1356965c935d093ca35ae1aa837ec0c4435a39c3d3511bc353599f5df37ea3bd036e2115936806a6836a9f8443820f60238221a3a3630d89736536e2a38c2d70d38eb5c3f3779c5873789a12037f2b11837dbf4f836453b0937ddf3f836281b1f3692e86d3550a8893523974636b29fa83adda37f3f27920335ad46c5370f6aa03c83e5753fd522ed35cc812238265baa3a62fe573f4bdccc35cfab1b3862cc1a3af8bc273f04c341353752243821f8a13aedeff03e047c6536a3a73f38ac8319395fc6913e3052a037677d1638799ba83848aac43d87f4c437ebf11c3701b19338e9ec7c3885f8e13600e76337a9b4fe37bcfec53624ea2c3500000000000000000000000000000000315c8037a2c78134c2578734acdf8b341e53e837c3705736ffa36735f237a13533956f362c940f353f930b355a180435808ec337a6348b3641bc1535fb7c193519c5583852892c380a204a37a7ac773718c58b37810e8a3750aacc3607c007379557a037c359a937821d7f3703199e370000000000000000000000000000000000000000000000000000803f00000000eaa2f43758c3833822617d3f33b28134906d1938f9a05838942f5e3ff9f51336a5229f362bab6637acfc2d3f78cd06351f0ce7378ada823897f2fb3e19c3593762644838a314bb38a7d29b3ec5fc6438ca7af43637fa1a38304ce93d2940b237a6e14337b8d42f387cd55d39a984a13700000000000000000000000000000000000000000000000000000000000000005dc2bb35b6287235489d6e35688e6635c1091534954e14343775123444a50f3440a77336968354349b7d5634c12257348f8bd237799b853578718135fc577e352bff4534bb023f342a494434d6f93b348810ca3524993d3590de3f3587d34635ef5f05381fa34a37a0f1a536eaad133700000000000000000000000000000000000000000000803f00000000000000007b354238c0c57c3f3c4d8d356d3471356ec3cb3843b5553f514e153421271334bbbd6138fd042d3f0defaf3541005c34487986388891023f9ac2c9379b198b35e98958383a0db13e987f8b36422f3f34a3daf337e3a63a3e8bcad53655553e35eb6a4838bc88153d80ad063886331c3700000000000000000000000000000000c70f85371928b7370abc9836a71a2f36a2f21736390ceb35ab83e435f5c3d4359c5aaa35b2bc3b356b863a3596a42b35f3b88036c5563636c2ac373685cc36366220d436a6af6135cac1683573b276356ef2e5366c338135ba0d9035e3e38d35b96a8c377a7129365baa2e36ca4c2d36e9755937150a4b36b1551836d4a1673614f7bf37d02d8237f0912f3763f98937d27a1d367bee7f3fc29a8b395715ae373ceb2d3620fa7f3f5f1c70370b4d03363ecee0379dc7603fbe1eef350aa64a3597876738efdd353f1264ad37f06a3936b5ac2238e2ba093f895fb63728237235262404388234be3e87ba9837dbf98f350a41e5372c31563ebdbfe737cb6b2936c6d1c736230a7b3d0ebac3372e9e1536a23e9c3784463c38cd72b8370bfe1a37fd8fc437a3c80538d67cd736f34c36361118833619db4536b35709363de7e335ef8b953556a48535bc01863574588035f8d80535557d053523f3fc34ab7aee343f55763574ac60357ded4b354d8f34353c67bc347e45ab34945dd534a4ecc43419b757364f598d35f2929535f0b19935edbb6736d9f560365849553678596e36ddbda237ee53403659ec4536f12e44362a020f3650095a3f15c9173e4074a937c9cd5c365871693fcc61b23d003c383695cc7437ff694a3f18ac523dbc298a35d8b38f373b7c2e3f9932353bd3de053582e240378ec9023fd28e8639b30c643561b66637f5cab63e0bd98238702bca34e8a54e37e5484b3e4a2710381be09a350d593a3655f94b3d9b46c637d31c583678caa6373b2b7b38c65fa7371071433606608637e633a73724dfd236ea8091360de82e36178cf535c2e0c335ba619a35ecc68936236eb934e48cb83496ddb33440bd8b35076b883533a18235f8238535fcc65c37efd3bf35ce9eb935b563b33522c2b7379dd84e35396319355a27163553758a370e7341372fb0ab36e4029f360d762b38a6fdee3727df263733d4393786183e3720114736da0bb8357afeb63519978d36172b2f3f11a9a13e41fb0e3711b20e36762c3d3f9325853e050fd835526b023709192c3f93dc393e1783b734d3298536f5900f3fba15fb3d017a823568959c37347ce13e08d8863d31cac13534c2b237168ca13e1e91c43ca1a01635bd618337b4ec383e507761388c4b1937379e1d387e0ffb3c85c45638df054b37d5c6c137be75733817a525376f32b0353801cf37bc9cc3374a9a44365c294836647109370d7d713597cf9b3479344934d6396936afd0aa358c789335a4e28f35d749da36d52c04364ee5f235fd0bf235abdb53379bf511342e2f113427830f348f21b83706350b3680c80a36c49108361304de379398e2368b8fec35a7b7df35d57f9437eb2c243788a7eb352a09f635eb169e3706278036551d4636f76342367e288436306b033ff72cf93e668742362dc0e836b8e20f3f3a88d83ebc520b35437fce37643c023f5c3ba83ef4219c35ea110a38ecbfdf3eed996e3ed274f9359d76ce3746baa53e8989343e0ec31034eb2a0238fd7a803eb618a23da3170b36b7a8cf378633183e1f8f663cd5b8f7350369af378fa6743cde0911387cbbdf35dd3af937541f4638b6261b376e4d443655c59a374250f0361b587d3561c14735dee6c037be9c373649580c367cb0e73518d1303713c9be359186a135258c9d3520563137b7c31335f7e50e359f87033582e33d37f3a2b1353eb09235dc2e8435ced16936a552803584927e35b8e97635274f2b37d4b698368a17bd348f38b7349042593760bc2336d6a31736463f1436ab622637b2278e363bb08e366ca48b364ebef036d4daaf3e1e11283fe5f38835924b0038338bc43ee9d7153f7f821c36a1879237a70ab63e6081ed3e0ce7af3527a5f837b7d19f3e7259b23ec0951035a461d637138c803eba9b783e9252a53578610b377f2a3a3e12190a3ebe5b8235baba4137242be63d5a4d0b3d9ecfb934edcc0d38882c853ab35d10387cb41d36eb9eb337bda4543895c6c736b0db8e369a7e8d3771aa383657752e36efd22c3601481836355ea835beda70354477553571643b35e649843480a38334e2ae80347a23c6345d8aa834db73a834634ca8342dc16335f82234359848c83420d1b03419c81137025311353a4b0b357a080935e17e9b37737ca535c25d9e358578a3356623e2361e207336cdd5373626493e36b5eb1e3600fa15360b730536ff8703367ccaa737486e333e1f19533f7ce42b36ab215d361ebf543e65153e3f54f98735fb9f9e37d2ce4c3ebffd193ff227833461e6aa370f90383e91e7ec3e49d9a6347b6eba37a3f31a3e3cecac3e30d90c35ffad00383551ee3d8d014c3e984a1235c67a1038911c8a3dfe65b93d3d6a9c3571edf23795397f3ad252d4378f434136de460f38540712380066153623a00136927e933708d39a352c96553540c447354c0903369f20da358111963526d889359dbf1637fae30836c0aee535401ce33576255637eb085e35be9c16350bbb10358826b63765416b3593ca2c35cdd029359ecffc37b9110137463e3c3679223c365b1f2e37b9391036f177ec35891ce5358cbc303659943b3631b9353653d2333662a11f3646c31f3691111e36afbc19363d25f737be94f13c776c783f997f6f35afe6bd374d433f3d8c58643fc486ba35220f0638809c3f3df87b3e3fbca1fa3531ade0379840323d36c0153f8c8f34353402fa372261033de126dc3ebe115b35071ef8373f7b803c673e8c3e3ab7583605c40636e730753acbf7f73da27a0136d0fd2f36503985385a034e385c523a3687161138f6482038ac6f203672191d3600000000000000000000000000000000f82fc737188dad35f7e12235ef5a11359a1208362a290f3555dfe3343061d834233d453765d136346b5c273492d604344cd532381d85de371b106935a2985435473d0638688fbd3728fc62340d4b84344e6a0237c0d8a836584f1c34d6a11c344b599437dd36d937383fe636cf7657360000000000000000000000000000000000000000000000000000803f00000000715a3b38bff1403a856c763fd441823579b3a537f32f603a6223513f4c2b0635d984b0372db1273ae550273f1bca3234010424385df6373ac059fa3ea20aa93782579c37a718b9391ab9a53e7f889d37cc8515349deac7385a30293e741b3b35db1a0c36609f43383ad44b3c0a2ad13700000000000000000000000000000000000000000000000000000000000000004b38e333d2e8cd33b60cc3337d41ab330cf7d937c5716235a3bb5f35ebd55d35087faf3762080c3547ac0b35735e0b35db31ec37b870e534ad66ea34707ceb34f1e34e3845093b37d54f4936578e4436287e2838f4880038c4b2af37ce1a7a371a3d9538bc084d38e319e737468fe33700000000000000000000000000000000000000000000803f00000000000000006a31303a783a6f3fc3fee1336c83ca33bb62393c6942493f57fbb1373cba6135a66f0d3a06f9263fe102913735840b3519e4703aa6f6003f54e2c237b5d3e63491a1cc39c5d3b93ebf233d3877a7db36082c3e382da45f3ec8582b38dedced37972da53865dc883dd18b9439a0a426380000000000000000000000000000000088cd323888a8be389f1083372c600637c3d60538fdfd6936771a5e368dab483651bef737f7d4cf3643e3c736a36cbd36c1530b38e78e34376b02b036457ea936ed803a38c5ef7337342aa83665634d36441d9637312443372a34aa369817a83697cc3d38148cae37f92918370214053709ce0b38e5320c378ee3ab36b6b19d36fdf8133807791138da01f837fd09fb371d952b37fed0713f2ec1613dd1c7db374ef5d538bff76c3fc5fb923c1bb96736f96ad139ace5493f29acba3bacb2ce36d10bdf392d23263f782f2938faadd2363344933811ad003fb75e72381ce255379070003820d7ba3e2aafd5372f782737bded6a383986673e219dd839961a7c37e7c0a63726a9ac3d312df539da86fd369eebe23713c6c73a149d133864ebfa3731ad2838960d1f3832597f3716302637156fba37a25a4836c838263691de0b36fe38aa37b3bfd0361256c936b688bf367d41813774bc623663d85236c4e73e3648451138ee84153692f65735476f313571b32238669f5d371ea5df361edadc3699e01638afb1ee37045692378c0f68378243313820a82638c841f837da8add37f40807381957e637e2f2a637cd688c379a729537d1554c3fb6834e3e2fe6ba37db081f3849604b3fd460203e7f8e34369f3aa73827f1283f4a54033e92dccd36a2351a38fbba123fbcd8bc3d85655b36b2756d387860df3e3f778e3d650aae35292f5138e77da73e0cdb173db3d0e73669d909385ac9543eea409b3ce935c437161404387944a83d5f49e13bab760e384a334f3829b7c039819c0138058bb837353e3f38947430381f539137c06c7a36bf14aa37d74a2b3668a808363603d63572791e37597edc351f0099352f974835d3f85038c01e65377914c336407cb936be91f337073df23578dfd535d87ebf357aba7338eb08033865478f3685bf8e368e3634382a2c2237f2e0fb3699bafc36035d1a38074991375975da36efcadc366d3a013855145637bfb20637dfefbe36c7960f381acf273fda43b03e5af9eb3736505e38b10a273f1433923e46aa153695086f38ac1a103f8b87693e2ab8bd35cac59e384780f03ec8c2353e0d0dc636f4405138b4c6bd3e3b5a093e8e43e135ed918938c9738d3e699bad3d32b69c371ac3553812cd393e8c5a273dec24fa366d67d43782b1a23d403218393efae33644404c3897a42c3c1fcdb137d4241b3753af4a38d1051b38de64b23662a88236b5f47037d94788364af978365933633608bb6538af2fee377e15ae36f28ba236c95c4538a3b2ea36eb19dd362051cf3687d7183864bd0f37661ea83667497f363ddf5e3878d79d37fe04f33612feec367d1282383a6558388fe901386ccf8d376c381c38c456b837cec8193782aac1361ac50638a3290937b619cf36d2a9a736a1be0c3896ab023f323dfa3e3eece0361a4e3b39598e023f75e8d63e7a3881365e1aa5388a1de13eed9eaf3eef1711377c0e72393f78bf3ebf4e8a3e5062e43618d655388bc2923e26755a3ef9eaec367bbd87383e34623ef1f3093e2401f5360e1a92389261113e24e2993d24ff30381755093836df833d1fedbb3bb9466b37c502a038f4c9283a73a9b837e0efde36cb581438f7c79737453d6636d3565336d29dc736d775b936c4fba236d9d88c36f409de378b4ce6364daed5365654c436183d3e3809ca9536f5c84d363e0d2e36ef7fe6372cc2dd3542cdb13501f4833512905738879f96374774cd3613edc43671638137aa7df535d17adf35b7b1bd359693343847aeb0372a0a4d36cbaa42366dec0c38b1e5a03756c98a3611e9593639940438a049b83ea51c213f9484aa364b114838c64fbd3ee7e80c3f1129ad3603db8338b03eaa3e84e1e33e246dde369d5d39396a5b8d3e869eb93e17875c364a774d3823a0603e45328d3e6b7ccd353421923828b32a3ecb5f3e3e1273d0368c729e379892d93d7a3ed23dc989e835c7b418382e903a3d452a853ce9234e367d864d3896e550382c6cf23762f6d2361560e237a2ed5b3728193535bcf956349f90b437216c0736c689aa35b09d1f35fb38c037e2a092363caa6b36d49541365d429f3731a1bb36cb30a836a19e953615f3d137f8a92635520316354d4b1235e3ba8937bad974363d495c3697d25036e4a5df371380d3361136cd36fd2dc936b8e9f937f1219e378ba44c36258e45368d668a3720791a37af32c03603d599364b1f3438d9a1623e6135473f29cb063642034a395af5683eaadf2e3fd21dd9357782e239ad6d563e9d35103f4a6f8536a03fee39df533b3e759ee73e46eeb1363816b338b173153e303bb23e5d7d1735b550ca37621dd33d91fe6c3e4fcf6b36d6474938dbe38d3d67e1113ee3f4cf3620a70338663ce03c108aaf3c2202f736f3ed4b388fa9323844bf603764b4f13691889e3739ee1d36f5c7ff351db3c63518d529365f501436af710636cf8ef3358c1dac37e4ded736a1d8c136536cac36b25178376509a136931f7b3608ca5336c43116384e7ae2363d661c365d880536d5270b3852254e3770c0a6369b449b36fb5014384908d336f780c8368d13bf3619f92a3823bfde37d39a5d36641f4f36503fee366ec37b363b85b73570abaf35ff6e25381dbf9c3d61f26b3f25270e362b75343cb645ba3d5b2e503fab910b36e24a6e3a61e4be3d7ae82d3f4198cf36e86824384215b43d0e090c3fc8c38a369daf8a38f4ee9b3dc39ad73eb8f1643606384c3850206f3dca9b953ea072ae367be34638d161073d1842303e39d9cf366cc75c384b58963cab041b3d36ea75371d291739669701383105c6368f35c335000000000000000000000000000000002dd84338e2015535cee250359eb74b35ef7b143873b769379e92a535b75f5b352aee6038c6e1ad37cc012036cffe0836d83538388f0db4373205d834550cd23466d70d381cbcd637f7290d35b39f0c35b5a4443813fe3a38cd31ea3798547b37112bb6372a200038ad82d736cf4b03340000000000000000000000000000000000000000000000000000803f000000009bb9453a0a42ab3ce832693fbdc75235b11f4a3825396a3cc35d443f43dede35957c883814d52d3c383c203fb5af9d36d7ad3e38a4bf383c85bcf73e2abc1737a1e5f6375426373ace61b13eba83a43700340b38879de73970b94e3e42d52b385f5ee033d80ef8382b72843dbdc0da370000000000000000000000000000000000000000000000000000000000000000bafc46360ac8a73512a758360d4f8436f2f7bd3422a9f43335321a35ffd49835cbb21c3500000000a56fe53300000000ad5194354ff1cf33a6dda7357d52bc35285ed3378cc19d35fb79be358312c536807b44329dab1b3200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000f7b80138e306803f627c2f368bc33136a78d7a3833e3603f18f8193557c471359fca1f371cec313f29430c356c7a6935969754385444013f3cc40c35c6584a359ea8c438e1c2a23e0eefeb377e3e073600000000baa4063e0be424334047f13241737437725fb33c000000000000000000000000000000000000000000000000cd1bdb35e9ffb535885d083687671b36000000000000000000000000000000001e9f9535d9649f3524e3a4351465da35abc7b036cf8e9136afb2b936743ebc360000000000000000000000000000000026d487368715423667a75b36fd746f3645afa6366d9e9335956464358474613500000000000000000000000000000000520b8d34eb0216348d3499345ce1393491f258352707803fde2f543afd2928360000000067de7f3f4c83bb3700000000ea25b435d986633f523bb5379215a43524b8b637d1653a3f6a0c1038851ec336ef07c136f5500b3f5628e53600000000927097360cf6b83e79b0783673796536a5f02f37694d353e10a29437aa458b350000000008765a3d000000000000000085e11934e7f5d236e5732c34dfeaa434e93a623534276235b225733591f86835000000000000000000000000000000001a9613365db7e2354e0b1836402434364dee7c36dcac553631e87736f6f290360f9ff53652c6df309243fe34f15b6436693f92368ee76636d8cc83363fc3863659a86336d0234f36812b43361cc34d36a02e083649bcce359fd2bb35dbbe163516a9d737ad7cb537a3811b37eed5aa37d9673335f177633f133de73d2916663500000000c47b673f497eaa3d000000004d311636fe9d5e3fa5b1a03a13891e36a33a8b3648b6323fc03cb938ab7977369e07fd36cc68053fdee312382907d536ebe8a1360306b33eafbab137afef873630af7536168c243ef7dd6b37726e59364fec4935439e1b3d972f3e3753649e355d76af34be2d9438544a0138b7a9d734af119f355ea4d63673efae35d5c0b535ca629236dd065b360072653608ee7c36f8c5c236651dad36a1c9a9362900b93668489936b4566636a76b8336fd1276363514b535cb1064320bab3435a3511835bc768f36236a643681c05d3655be72361b0a0736e6cba63525cdc03562d79835fbaa2f356436b03477106e34dd8182349c31b737720b793778f1ac350ae306376d630935a889323fa3419b3e21979735bd166b36505e3a3fb4b6833eca597436d88eb136325f343f09f92a3eb550a236017e9036ddc4193fa4acbc3df9ce9636c5bc8035add0f03e4289f63c1e3b8f357df18836ade6a63eb9865938d21e653616f7ed35dbd3233eb7bc843713cd0136053b4f342e6fe83c1d99923442a88f34cea2b6355d9df4388c1498375525c1351edb2935bbd6803672ab0135f1638935e26625354370243566c01735997f3935b5f4813665fa61369f7417365bc6713660d1053726e9f336699eee36e4040537452bf337876ebc356dd59234f61526373af15c3799070c3747b20137589e0e37c283b036469458363abd3a364ff23d367030bd37776172356a1221352b30363572dcd23683237f35ad9c2c35437489353c19213443c5003fa547ff3ef84bf1345e66fd34ad53093f50f2e23e9286fc349f695636b8c1053fc3e8af3ea41b1236e43e0037af9eee3e1a8f623edd5e00379b95a837dfe6b43e87d8163e52778836f5e7103776848d3eadc81a3dcc8607377624513685dd0a3ef9dd3c387c0751369941273666eda93c86c900384adce734f7972f35281c5738ed9b3e34e4cf3e35e9f576372f6b5637d0219635c7e6983503c75a35139ae4340000000000000000f12be535a883cc3508c5933553d49f3554b5703674a74f36ea913b36d7725f3651aed735ef225235000000001c3b6b34831c8e3685cd863654c78036ad297036e404c0361ad1b1363235ac36117fb036348ca036cbcc89360d795f36dc023a366e0e4135e6e637355c642735b940883467189935db5f9e3e5d1d313f89078d35d1acc0322e2ab23e9c01203f000000004482ed355081ad3eea9d003f00789735d6ad863639a4a33ea755b63ed51f3c36ea4e3d35e74c893e65eb6e3e4f132b3562db9c366b9b553e202ece3de6567e36d48ece3629f6043e4c4ae9381237aa36eb888036f794803ce44acf36afea5e36f8018d35e269f938f6215835ae533e35b7551b383c3c00389639aa3460ad0d35783f1536b139a7350000000076fa0235eb848d36ca916836cb8b9f35b4ff1a36fe34a63688d35c36604c113691e83a36295a6c37faa29635000000000000000037e0b1365ea2973646fa61367b738136d4782a374e7b183673e8e335b4e4fe3500000000000000000000000000000000a8316b35717f9435f7947235b1818c3538507137d849fd3dc372603f28ceac34b21805366317213e85564e3f000000004fe28c362a931b3e9c91303fe0e18b350dabc836f987183e5bd7003ff1d12f36c6887537bbc9083e986eb13e000000004e8aa636b17aff3d1da8373ea5865836b3353137487bd53daeebd53ce4bc1c36000000006f4a673c00000000000000006b8a613509dd7e380c093f35945763351ce0363442277c34d72b2f3465e81d34000000000000000000000000000000003b95a83689adc3353f3a8a359c238135b5348a36ae843d3697099a35d9683236723fa9360000000000000000000000002007fc372f2357370ac0a036c2becd366b274d36e6829735257c283549fb9835000000000000000000000000000000007ed93736c3a510364bffdf3501d61836aa855f34ec54733cde917c3fd439f43300000000a430193dd0e4683f00000000531efe36baaf8e3c9e924e3f49219f3568518936fca2243c7979213f482935364581f5352cb4223be3b5e83e000000004a6be0370031c23a85298b3e0c17bc365dfe373676af8d3ca7bcc43da1e893350000000070e0383a93b7113800000000dcb42b3601a58b37519386350109cc350000000000000000000000000000000000000000000000000000000000000000dcd6a932aaf8c4338f078f34cc9db5334fe54238c990a335c4138c3519e7c7355ac1bc3752f9c535292710359a7bd33562de3935c8911935aaa29534335e3f35af782838848cc8370509ab36b82bd33688b713385562c73783372d37a1ad19370000000000000000000000000000000000000000000000000000803f000000000000000005e0ac3798d27a3f0000000043f510331cf94238efb85e3f6519f13401753b38df53ce389ff92e3fcb1ac035e74a43374adb76385b79fe3e74c2c335fa7b7535b82f303924609d3eadef7e35e97f7137a67ca838707dfa3ddc120838772b053741539438ece4773a16e5ea3700000000000000000000000000000000000000000000000000000000000000008d460a3625f5de351aa9e035378cf035cc871e353413b634c768a9348774a7349f9221373a770a37dbc1073720a60b3731b1c336e645ac36251fa03664ee98365ebd943595830e35d6a0a1337623673404fd13378cadcd361080b8362c36b53686b1d73632d0c636deffbb364a16b43600000000000000000000000000000000000000000000803f0000000000000000883e933737aa783fadd7f6358f44d3351048a93a699e543f0567c534fb49b5340ecf1a3b4a0d2a3fa1f91337c4b809378e44e23a9019ff3e4349ba365fc5a5369b84963aa09da83ec5606335b26497340111cb3a2c461f3e2afcce3642d2c136e4602e390397313d8cf3bf364bc0b73600000000000000000000000000000000f9792437c0ad7d372cfbd836b53ebe362c76163617280f3656950c3677150b36a0e93735682fbd34f9cd2034650d19354c580a37ba4cd736c53cda3663c0e4367476f2365acfb136005fb3361670c0366ad0f53471acbf345d62b734a43ee7342387d93637b7b2360d6ea1365491a3367b8d02379a46e13671dcd836b09de53609cdc936044bac3617baa436425bae3686aba03617c47f3fd35bbb3a23cc23379cf00d3720c27c3f8282c937dab1103610848c382bc05c3f77b479341c078334d21da6383c47333fc7c7fc3660ebd836566bbc38b8e7073f4f21e5362c2ebb3620217138c262bc3eb9b5b834e2d6ad342d587d382818513e7853bf365ff3a4366d5c5c384faf8e3d4df6f0367377db36607efb365a22d337d436b63622e2ae36e48c8b363f84b636bd3d933695e48636e47e1f362b46113697c909360c9704363e128b36586747364ee74c369eaa3e36e98acf36f759a636fedda436bec99336a52e913644785536a6a06536f9046936a43bbe36bca18c36c10d7236c5c075361c41f33602decc36c55dc836496abb36b8c11936d811c935a885b835ba89ef35a1a82832000000000000000063a82b341a021b361c285a3f0e14183e959a953607f7ed3546d9743f6d672e3d7adf2736371d1537dd13603f689a6237724180361c787a3798a8333f03d20737f309b936487cb936e96e073f4ef09336a84b7036fac05137cafabb3ee4ddaf36a43d9b364db2033729de403e754deb36b892d53610442538ede18f3dd74ddb350825ba35146ca235b7c8103800000000000000008aa31834eec6c234000000006bd28a31c2567635ad573d353bdc5b3504f6593580bfcb3667a8b33606bda636a37c9c36d01bc43601cf9b36e4449736080a8836282db436ec8497367caf9a3604008e36002d80364e552336639c033606b52f368bea9736adbe6736ed3e393625b143361355d936ed72be36f43daf36fb4db1361a3527375ab01537f2fc083737c61737f17c5f32b0982e3fea25a33e00000000856f5e35625d473fd3d9613e00a57d3505afc336a5ae443fa6b38e3d66c9bc3690c027374ac6303f8092e53705d2a2363cfc1e373c35063f710ed836a558a936f8fa1a37c0c4b33eafd06436a1472436e7aa8137ed85393e64107a369c6c52368fa77d3785073c3dda93c1368abcb236fed83637b8ee6b372c800f37c5ce0d37023cb338856db33840060037e8940537c0583f36615c28366cd3c435ce94c535bb07b7360e019b36ea447e36b0177136dd17d837d3d88336db7b6936ba727a361c356638c5869337ddbe9b3617d09836563c0b38858f85368b1d8136248091362432c23690b4983609518b36afeda136b7a1e23675721436031304366a1a2836f45d3b38a6eb0c3736d90737b2cf1137e5808a37664f023f7aa6fb3e701000378435d6353210193f44cec43e20ece235236ea236c102173f381c7d3e9fd39736c6f6383805620d3f3c3cde3d0f467436bf06b138c79fe33e9190633d8457a037c2eabc381c46ae3ea6dc9538a5cf9a3643a5603820ef273ec074503796018a3643097838ce64973c99c63036ae03ec352614ca38627a0839c60f0e3707740b374ceb2d373ac73137be4d0437824003374059c736803db736ab2d7836b0dc2d36d0568336fc7544361db6aa35eb139b359d2c90369e526c36981519366b23ba359489bc360edaa43611939d36c27a8336ad7fd4367d21b236f8c699360e758f36ad7de93680d7d536a28dc8364f43b3369a12a53588e04b35749978356b97ab3500000000ed028033000000003fce41359b46173735b9ab3e614c2a3f1fdf0737180eb936b47fd13e2da00b3f3b1a9636bb0c71363878d83e6a32cb3e437d1a361cd36236446ec83e3650843e0f194d36c505c236329db53ee750fa3d19b4b5363b75523798de9d3e075ed93a2ffbc136910ced361dce263e0b950037d3e2d6364d27b33594a3a53a7d9d80356b238535783718341aeaff3400000000000000004190d534bf85ee330000000000000000f3120636ea12c83563311035228e2135f9d1e53633d2bf360f455c36b91430365990cb361ac9ab3627cc57360e0824363930a1360a0995365baf63365941313640d60b374744d436f870ac3675c6a63681320a37b7eea436c1e58a3628b48136834e58362ce12436729cdb3574fcf5355ee86936c6231a36c7dfde352ce20a36000000008423253eedd7563f00000000e5b40e36ed6c623e3693353fa8574435799eeb36d4ae743e81c5123f83809836a544bd36a76c733efcc9ca3eff8c82362ddca236ad9b533ea3d7873e9f6992367d191f37e2093c3e7287eb3d4770cf36b4cb4c375f8dff3d0b71fb376b419436a8fd81376c53bd3a32fd4036a7fe0636cb13a43648bd9836d9570236c258e735475cc7360138a136d8de1b36ef4dfe35981e2e37ae61cd3601a92636bc660c3623c6cb367e74b5362edc523612a23b362bb21735ee7c1135b255c934c720de34274e1f3844f4fa3604baa43611eb983603bfd537559c0c37b23ffb36e7bef03608bfec37799659373c9d0835155c0935349d8a370dac21360e1f153637ff1536976dd736d4878836087f8036dc7e81364be7c136ad463c3da36d743f86653536535efc36ea4ec33d5fd8553fa22185363051d236f9d8b13d24bb353f03039d36596ad534ed7aaf3d871f0c3fcaa8c03408f58c3753a39d3d4232c93eefe9d9362a950c377046623d7d9d7b3eaeb90f37a9eb13379187533dc3f7b13dcc93f2340f41d337f4d8533c4db17d387055173652f42b38e5cb3238a3d69136dbe7803600000000000000000000000000000000ce4c0c37c17ccb3662b381364da53b36e0b99537c9f6c43626578a36b1b06a36567711371bea4e351a447d335b49913311a686372305ca3665a89a3624298736642d0d389a6a24377a3c1337200a0737ccda2135cdb21735f16d0d35cf19bf3428a52c36356c1e3673260d366e030b360000000000000000000000000000000000000000000000000000803f0000000082851b37320e4c3c73e0713ff4d8a9362010b1372f9a093d8c744f3f1509b1362ef47c3772b39f3c3bab263f9afde8341472c936996e723c23eef83e88efb336f7ce3e37bad93a3ced7aa53e08c02237ec990f35234c903a057d2c3e1e2b043576f91e36db6e653a95d3e63ca71215360000000000000000000000000000000000000000000000000000000000000000422dbc346b28ae33e7f97e33cce2713343335c3766db03369e2dd335dbf3ac355355ea358418ab35b72884359e35383558af9936a6ac79358d3e4935d93d3f35ff7c0d360243f5351d87d535145ccb35b0538435bfe13835341cdf347db8be34f51d50384f1084363e6380365e927d3600000000000000000000000000000000000000000000803f000000000000000092fdc03cfc45693f18af7b34ee9283333f02223dc78e433f59771a368722f935d009e83c0336203f7473d235b4a1a835c063be3c347ef53eb73eb135d4c27535b8cd9f3b098aae3edd2307360167ef35b858353b564f413eb1576235bec923354c043a3ae9f8763d9fae0a38f0b88136000000000000000000000000000000005ae91c38838807386d71703622115c36d616d3362015be36f744aa367f5b9a369cd0703629493c3615331436831fef35466215368a33a735ac632835d0da0f347c60db362451c136e133a636373393365a057336ed794b36758f333640562936f0b82436dda6fc35a0e8cc350173a735c4bf2f3800d0eb3655cfdf36f4d9d83650562738db2b7336c44661369d2356360fad3b364e19773fde400f3d961ab037676bd238a38a7a3fe2add53648aab636251c943c11d0523fd9e05f361da630367a49f63ac24f293f18abf73557858f35433a5e3b3cb9023f1b3fd736d078b6369295bb3a27dbb83ee87b5b36b2e44536a6743d3af837623eb1df123607f1eb354ec2a63988ccc53d57e3ea3748dbe636aecc103ac89e763c7cce713770016b3663322638543946387b710c365d31ef35994e1a3673110736f476e035c6668c35e5864437c3936035595cc834d3eabe34c1252e35e31c8d33a20b7d3394846833a5537e36ed29be3583da8e35d0f737359058b1356ecf4a35bed7013546692535be07ff36a3533a36afdf23363cf81a36e567633657265536eaa547361f333e363bf95c38700d7337fab95836860c3a368cecd135f0b34e3f4c4e453ee035f6375ed70a364071713fc434653d243d04368e9f6438614f533f839e04388ea2383582f8153a0117303f082a1735ad6d8833d3d96d395209053fbd270f366261a7358ef55a3990d6bc3e09538835a4f31d3508d75c393ef45a3e91e64f360988333656ce2c39b5c9b53dfb1f6336d2854e36e9d1b538ab8cc53bd7a224381d6b73360fa2263881c9053873730e35e2a21035bd8f1b383c38a53602fe0135eb1e4c3390ae4236076e28369a860b362311f0352563b835d7578c3541845f35530d23354bf4ae35879a573595380135b355aa34c56cd035be78963598b55935915e5a35f3e10936703fdd35ff4db535f98fb735972e5e366a9b4b364fc3423663c1433668e25c369ea84c365b2e40363bdb4736820ada348137293f4496ad3eb79490353f5c7c37f437463fc52e563e0466733562dc4436fcd53b3f6587ac3d931725365c8e0f38aecc243ffc97a83c655894354aa67638f479033f89d3cc35b9e84435603e303930feb83ee310bf35bd48883546838a385450573e006dfb358bcfcf35b175323a50977b3d39c059363375473658d54a38ba79283853724e3664b742360065c2382de3763869114836f9721d36a2575b383f010637a689ec364cb9d236a61b7837d96d803656881a3614a7033617878238f6e5413604322236b23ffd35e4e780384e7a3937442fbd366e148436ba080738c8e1443690ea3036af9d2736b5ab99362d9054360a733336c848213642e8a937592506370742fa36683af03667439837ef7b4e36570439362b842c3623149337add9043fe645f63eddd89036baf5c23790bf1b3f223fb43eca78ff36a185f536c79f123f6d8d6a3e001a5836b608d6380f7d083f7147f93d5c3d3a36a8b6083a9c9ecf3ed649c13d7c94fe36b3b82a39e0e9b03e96a64838f32a4336e3d65739c8484b3ef59f91369e9b41366771133990c5233d5c1b0f37b6ae0137ea5499392408bf38637d513611134136a80efe3747105636a1442f360d9b0336d3822437bb9e363684e5f7351a16803525aff23634bbd535adde413506c9d2345a386b37a974a235058d38350bd5a534f43d2c3645598a35277fdf3400000000e708fa36fabb9b35f0fb7435663474354fef3c36ee371636ae25fa359e0edb352eaf7637999063356a310c35f2f56b34a597d234ddf7d034539bc234174bb3348d296036786dbd3e285c213f21a9473607386736b8cbdc3ed6e6013f9a871f3610c41536b9c9db3e02bcb83e2f93a23591ab2637d7c6cb3e8724773e077e983548e410372f6cb53e200c083e9f4c71359d8f0f385876943eb3b73b3d84f488358a711039a0023b3ea5e83f36632316369fd5d63841638a3c6395a635c5353535591c3039f2061438f9b0d834d877c634fb859538e881de378a33fb34ac6dbf344c889137460b3436f33ddd35eaa955357d714438a9424636c86c083644f9af35759c71373597a0350d4e1535c6e2d333c5e59b380fd51736992be03553719b35cc4d103839759135c7be4c3570b00a351ffe1938c97be135860db8357b47ab350a7f0e361841da3533dfa93531509535d0acd035c8099335a7cc4535922b1a35d2778238a010573ed39f483fd024563686f4ba363b5a883e4742253fd18f1936f2de3338d7a6883e3c06053f5d65313685f7c0358843873ea214bc3efad28c3592874738992a6b3ea0ae803e7f6a0e36c005bd372daf4b3e6f2fe83dfa839435a9bd4e384669163e6fcbe23cf8f7df356d9a8739e5599e3a37620b367c28c7353ab28538aeeb7737fd6aa935741f68351a7c8b38da131c37e22ba1355aedc034009f513831a2d03606ada1368c4b7936a6f68b38554a0536226e7a35162e60346460b23725a05a36670c25366639ee3566fe89387aced236f80db13616869636e5d94838a0081a36c340e83539b4b835484e8b38f281dd370953783654b86636631b2238487cdf3697f1d0361296c6369b743e36b4b817365c4ef435f689d1357ba37338a1b0813d6ddb6b3f96a0e335e3ce83388de3df3d6c514b3f66e2be363c646338350e103ec45c233fcfa8d4353e43833696f90b3e6769003fc0924936fc7a3638bbc9f63dc890bb3e1942c836634f5137f480b73d648d7d3e6db10e360039fa378c6c493d4c03e13d95b4843650d31138bc7eaf3c76919f381dffdc36b30a6c382248a437aee42636251800360000000000000000000000000000000066329338124d3836cf15f035c59a933533e2a436fe9ca934f4033934693f0b34db180b38c935f335381ba5357d6d5b35708c4d38776bad36a68f27352bc29b3424f31438c541f335e4b1cb351371c335cb11ac38128c7738b62d3336f0942736f1ad313893938d3604de6635464666350000000000000000000000000000000000000000000000000000803f0000000070eb9b388fd74e3de088633fb5032036fa898135e49a753d5ebd3f3f59246234a1361936349a2d3d54ca1c3f699dd33501e5a437062d0b3d80b8ed3e38718b35352d3837d681973ca612a83e3979e535f434293859b2863bed19453ef9772538056e0a35587b8a3ba6d97c3dc809af350000000000000000000000000000000000000000000000000000000000000000c5213435f6b8c2341744df34acb4ed3413af1d36a951ef35ed1c1b3672e90d36ae620f35c4c1aa342b49b6344005a4345692a135ef09cc346730f5344d80253588acc83534888235692ba03532e68235dc3afd3405257e3491b7823481516f34f6e83c3557c210342a5e8134a819cc3400000000000000000000000000000000000000000000803f0000000000000000370b0935b1917a3f89b64435752d0f356b091d36193b5a3f34030a360f2a0036efa164364b58313fd58dbc34e169bd34ce388a38a880003ffb525f35c03a103539e7e6372332a43ef1259535f9811e358f75033510a4233e417ca637e3a78034bc591c352669153dc52e183618107a34000000000000000000000000000000006e237b3572dd5b3512854935956cce34a6ff983456c8b0341932c134ead78634a56339355e231e35e18027356ade253512ac94358c8a7135f0477e3531875c3558d6f234fcdcc034bb3ffb34366acc34c4899d35313a8d350f689835af6f923596768635636f5e35449b703545c94e3516bb8f34e1e5d83309e648346b5f313413d6ea34ead6123564d91d3572e52a35ab6304353c6c793fe01a153d5cbf6d3567ab4234d18e7f3fc8add5390c7174342124573521a55d3f1484c637844c2435d2df7d35a822343f59b0e4370df186357c5510353afd0b3f04b3cd34792ec23435efb5353d33bb3e8994e1370a4889356dd66036e2933e3e39135838b1f34a3733d5af34a7f8873d4bca4737d1bf0934349ad934c912ca35879ca134d74a0b358b062334819091340441b4342bef8534444db4343c60e534a1dffe34a700a1343465b034f9c09534d971943475b69b3435dd14356cb10935daf1fc341a10d8348c0443342d76cd335cdfb833ba4d8533da2507341f104733ba5f5c33a69207338e4917361e660e369759e736a921f73517f8c532c16e463338ac2f33e76dde327610f632000000000000000000000000c39eac32d34b5a3f984f213e40102d34a1cf0134469c633f134ff13d708ad236ee61d23459395c3fc295a23bb9e58c37c63be034f145333f5e286b388420a035861cff347a12073f4a330638ef35453390d933343ac9b53e1c153f38e7e06533f40512363884323e7deeae39a12c57376bce9c324623173de1fc0b384fdf6a32d3f18d33d488a03661171636eb1c6d3200000000000000008e048231000000000a28fe3246c2eb328fca0a335ce00933ce330d36ed80063644fff3358816d035316ab633c964a63394dae3334ddbd4333c6ea63348f45033303ec733a59961336a32d4341b968a340dada63460e270346a2be334c6b592345354a034507da1340bffc3340145cc33ba862034b5fe3234a8eb2034ca401134bfc2d0334f4faa3300000000f1a42d3f34a8aa3e6aa9db31f22722336022383ff220943ebc0a0f338007e93572b6353f6621243e0e85fc356ad7af33f8ad213f8f498c3df99be133d35aad339678013f8bf3033c72149733a17d1135ce1cab3e2757853b6a516e341732e53488dd273e5bbc0b3bbacd9c34d6c2e9348534ad3cb65fe137eedc0d34a5352434580f4d348d108533b305ce33a99c42351b900935b9609034a5bd85348a3e0434b8097234c5865e34c598013426166e352eaf55352fdb2a3592613b35b25fbc35eb639b359de68a352f137c35abbe8c3441189c346f15af3489f88c3445d2aa35da879735b63b8035f6e58f358cb17a3574db533522f050350d163435409b5335c1ff423484428534237a9b3489f0e034d40a1235221708350ea924351deb18354e6af33e8186093f60f895343d044f335b48093febf4ef3e18749d339fef6b35dcf6093fb257aa3eb20c2b357b8e9b35c7f4fe3ee613493efc2f9635ef0281349ad6d53e2f46b83df8dd7b349293af354146983ebf61cd3c5b247e3587d148356b43113e789c423b71d65c35434a3335739b0b3c4728703447025e340044c934663d19353badf2340591f134533cf733e26a4f34038a7d34929d3334b9b0bd34d867a83467eb953474a41d34aec6c5347ad598340f278d347a9d9434ab26ac3474bb92340d588d3430bf56346cdc7f34000000000000000000000000e261e93375d661332ff94e33f1ee123370b2253614470f364198d735530bcf3561db073383d94833f0784433d8e7283300000000000000000000000000000000eea8853283bb8f3e4ba33a3f0c0cb533d3d70534c8c9b43eb8a2223fa796e63397a8d1342677b23e2cbaff3e5bfa9e34c1176934f341a93ee3d4af3ed98422346053a03439109c3eecf9493e0000000048850334764c803eafa5873d391e4e337127123601890e3e88b5ed3a2c78c435698cb03269c04d3b8fa2143847d20233c5a5c13221cc2f310000000000000000756c7d32aa0fc632019d1333ce91e4328210ab32433b9a32ef9d00337b7b0133aa43273696a00736174eaf35f3aa88350d6cba3317b7b833293e0234ff9307342d4484333d5a52335c767b33e1d59233a5704735b949143577970d351f22f634ca23c13428511c37198f5d3779de8a36567ba3342dc11a3425554c347ce1303484482534c2a12a343cd4fa339b17c9332093ae322356ef3de969643f70db0533acbc323386ec2b3e6b564e3f34b60e33d42f2237cf282b3e202f2b3fa58eb835de66cd33f0ce253eb249ff3eaeba183447f1be338eb81d3e57b0aa3e2aeb8a3328c13e3588ec163ec8a3283e03c9dd3437745437c737ed3d4da1fd3c477b6e37065c06368d48533b44d3ca37e7c63034fba856349f25783492fe3f3336bce133ebe61835f1a1de34cf777934bba75034dc2a7234cf394d3492ad83330000000004fd8335c92e4d35ca760e358d792c35b7faa835b7498c35e0fe6535d24450355547f4349b81fa34f37dd834e21c90347a8f8c3581216235f5e131356eb45035aab34a35b00f333569dc2135cdb308353fc1a3348938a9347b3fc834d152b9345837163597b5573525cb5735ea26923540010f355941ba3c0aec7b3f6ce89234478e9733437e493df960643fc7919133422159370fb6ef3c15464b3f5f632335df099a35b5bcb43c72561f3fb16e7a35d78cae34d6c6af3c874ee33e94faae3421d69335269bc03c5498913e31523c35a0562035abc5bd3c7bddf73d1bcd223536419d349567be3b856a413ac0f8a4344d06803408bb293520f02e359c6a4635000000000000000000000000000000007d6c1635afe7923400000000000000008529b7342f827734d966623418148c34f6fac03511d5523577d717351497043524e58f35320e463515dcbd34b93f773447e5e43496edac34ba43a634cee8ba345d755236dcd3283604e113360ab7123606d7483536be273586d106354f9bd7330000000000000000000000000000000000000000000000000000803f000000006435eb34fd8ad33682c0783f441b683430c9ee34d980c539ca75593f38279e34d86253353b64aa39f89b303f61b01735b2f8b3357061cb394f5a023f5ee2f134ad1717354b33a6381e77a43e7399c634699827367cb443383a2f213e0023033607ec9135c74d8939a1b7fb3c053dcd3400000000000000000000000000000000000000000000000000000000000000000c0dc834559da134d84bb93408f9b5349c23fc33fc4abc330ffe093404bdd73372b64d349c88533474c286341e579f34de012235c1b1023541f11e35384d24357d6683355f612935cc9b3a356d045335b321c334bd52b43455b1c6346656df34b6c2c63463c39b344b60d6348a36d93400000000000000000000000000000000000000000000803f0000000000000000fd38be3ae4a6763fbdc38434bf4ca634ebe3983c76cd4a3f987a3434fe062d347578da3c9c101d3f49bfb8336cf55933f606433da0ede13e01cbc434e6b5f634c7713f3d0041903ed6e164353aee11354879a83bd8dc173ea86b82347a5b48347faa9f3ab488f63cea096b343fefa4340000000000000000000000000000000047358733c2118733f5856733e0f26c3326233e35f40525353a871e35593131350fd5d2344b8cbe3429ebbd3400e3c034280d6c344e268534e77775348c7098349e86af3557409c356d4fb135b32ba5359da49634a7fe933462d4a034ec96ac349dc622357d322535adf61835fc101d35cf5abb3469859e348999f334a058df34488d183389f2e332f5f61c3365063133c0c87a33a79e7e3f54d31e3c4e197f330ef22e35e70e7b3f73663435b7732b35a0f9dc3744ee543f2be5d8341d16c434d6f4cd38aeee243f93918b34345a973411c12c396abbf23e3d5baf35e101cc3518eebd3a5577a43e7f769434f3659934feba6038f498363e892c2035781e21350b311c38dffa593d6be7cc34e8470a355633973731d674374352fd326cee12330c9b83357679003742c480354dc98335000000000000000000000000000000000f094233c6494033441a3833b27d5933cf7782341d281e34335df7326a1bfa32a72b64336b8e4c33109542331db08b330000000000000000000000000000000037484833348537339dcf2a3351f167332445ed34129bf5331b70e73354151d34fff88b34ba2e6734060f4e34329d1c34e00614341e59563f776f2e3ee0d4803500000000120a763feb162f3d0000000003f3f932f7995e3f5f254a331c6d48339dd5f23473212a3f92e7c7347b8a1734901ed9354938f53e7b6be832a4661e33618f7a3902139f3e00000000000000008fdaa2379902223e40aa063395611d33ef6fba357533503d8cc5b333aec6d33341e7713464780839b2b87c345aa2653488b78034b76984349b2527346acdbf33d8b49b34f2d3d8332ce3d033e140f73381213b337f71363367ca3233ae3c553355040433dcb7f232be75e33235f91933000000000000000000000000d281263202389335882d2e35d038223593d246354b0a9133e37e8533dfbc7f33514cad33000000000000000000000000000000003f87533532714e3564a983356c33aa3576368f33935f2b3fa162ad3e657aab33ccc7743312454c3f0ffc553e73bbe1334122cd324860583f6384be3c58467b33d206093395d12f3f57e3b4321e72d132fc818432d314003f0000000000000000787627371bac983e30ef9d359f7251351c6f1b360a5d133e68425633bf4b6933cabad3362fd6953c00000000000000001bfda13515270a37a32e1c35b48e4235b61d2532302110321b12ae312f37cc316419863470d55a34f339243435f53f3411af8134fe6089349b4482344e0a7d3492dc6834a7507934cb276b34f71e8834aaf48f35689f8a35dbcf9b357d53853525d27134590981346c1d8034be04ae34361d9534d379b134c0a69a34a33a8e34983e66349ce16734f77b77344ec27034c530aa319e881e31f44c0f32141a2b32c232973169e7fa3ea428043ff286123252e069348abd233f1d45bb3eaabe61348bf07434b7b72f3fa0e8513e7c5d8734da2d4734b94d273fddff173d6a738234aaacaf352bdb003fe5de9b385859c3358d178734672aa23e91a280345e2b7a34b70379372084ec3d3ab2ab34dd85ad340cbc4537c481c83acc02843456d88634ccdb1432e4eeb63117732e317a4b04323ca5a9353132a935a8d9793585aa8135000000000000000000000000000000006bda8f332b4e8c337cf581335e52993387ecad3521988d354b975d3584d93b353fd2a030000000000000000000000000875d0233cda6fe323f11f63221191333b4d54033bbfb2b33592c153358045133cbf4e6338e29cf339001b433d24ffb33b227b3331ea91433cc1eb33250bc5b325d4f04356222a23e2eb8303f9e8a7835000000002276ed3e1e5d063f00000000751d3a335583033f58d7b33e2e898f3394e68135d0a1fe3efc475b3eeb3e8b3500000000b758e83eeb49603df4248c31085ba932e90ba43e10ca4d3ac4bb043349b30e34bb340d3ee34df23258de0a33322277352c23233ab42891332be4a63338224b34b0b41c34607a9b3376981133c29c9d34ab577d346e704234443f4434e62c8c355e68fa3450f7ea33483108341c78433391b63f33f5ca3233152e513300000000000000000000000000000000b8595f33139662335c66583321276f33a2d50835b45ec9323fb4c132c547e832a43c4133a4513133da4d2a33528b6733000000000000000000000000000000006408133585f00a35f7863235dbca84356c958d345fad173eea325b3fb37229348088de33b750893e8ef82f3fa61c1b34bd9cf3324a3ea93e63df043f789b4533000000007c3bb33efeaab13e00000000e804c8324e0fa43ee82f563e6a667e338c1552351259883e18f19d3d02b1813409284c333ce40b3edde72f3827f41a33000000004a4dab390000000000000000eef1d736b6760c354248a1347fa6c734c89b2533511c2233c864e6321f10d33233360836c124f7349dd6a334937e733407813135a8092635772b02354270e9347b51fa367c9b85343cca66348b706e340966b8358878a635e030a435a90882355c672937c0ee9e3425189d3484f9893465eabc34048ebd347c92a8347386a634c88d25359dfb163573aa0835e164043573197633f34346335ef94733a5e15b33c85112330b57473d5601753f336f19332f7a0135cb49113e563d4f3f50510f35d3ad39356367263e045e2a3fbbf4273528fd8334fd904e3ed345f73eabe78e346f53b23569a34a3e2033ac3eef46d6355fb3a534b520303e7757433e2608b23434accf342207b03d6542b43d1902c134635433350786c13ced152b35210018353a317e332f1280330c0c5e33a6ca453300000000000000000000000000000000f7dada34675e9834f4874534ab75413451afb834ef09ac34dd027c3402792a346886dc3636b2723506144a35c7ec2a35a3d589375c30e4342e6da7348fc99b341fc5d536636d35348676c3336068873389304634d2d2203449b20334099fc233d3cd8e361de6c036358c5934a25124340000000000000000000000000000000000000000000000000000803f000000006b66bb346025363d6a256e3f1012aa34ef7aaa34c66a863dae5d493ff117b6341d6e8f35d010793d3aa61e3f1acd8a35728d0d35fb3da53ddfeae03ef66def3487e34c3437359e3d693d953e1a8fe0337e0f02341506f83cc454293ea6ff8f34e9a78d34959bf33ce99e3a3cc2a785340000000000000000000000000000000000000000000000000000000000000000584a26347a802c34f36b23340d511c3400000000000000000000000000000000b11cdd3514679435e02e8d35e28793350d7cce346a4b993411d69b34a399e534791d74352b867b34f67b86344eb68f3470b78735eb3a3935e6452235af3f1d3594427e34146b1d340afc7734ac8bc73400000000000000000000000000000000000000000000803f0000000000000000585a6b3dd322633feb533534c8942d34463de63d6717353f0000000000000000379f093e9f7cfe3e32f3a935f5c8893579051e3e3c65a43e1957c034fb079034f25e073e664b473e091ae03472768a344f228a3d27e8e43d32eb5e35bd612035d5e51d3d2a7e873caec1363465321a3400000000000000000000000000000000c97ecf37be20a337fdc99434088bed345623a534f7739a341bab8534ac9f8934000000000000000000000000000000000c2bdc35f26be934b5e881348e002e34f92eb5344299b3348d0e9e349bf09b3483a6203375f8223382d02c338cef373326f5033593b91b346386093193ff1231d11b843597953034442d3a348a603f346e125b362cc67135905e373580ff5435ac4a5030b991783f51bf013d1bc12934f7486238eaa9783fe8309134c3735734ab228b3d861f433f0000000000000000f45dec3dc160033f2dd1b3355df96334bfcce53dd3d4a63e867aaf34a4ae913472d5e53d3e9c3b3ea15823332aeb3233f861783ddc91c53dca8dbc3410c70d31027e2b3de667663db6812d34ccca2134607e453b1045a43868c78b3538426235dccf00387b6ef73ba2718736c52ef1359eedfb374480c135824f7534e35c1e33ecafaa34e6ea7f34f4e08234b932733468cc1c35baef0f35188121350d9f473579a31a317b731b315db62b31fc6f453124925d359ff19434a4068c34e0876f34fd7b7c33523d69331db55f3369e36633860b383373680a33490b1e33c02924336f8f3b362d9c4535a96244352c82373500000000fc9f503f1a572a3e4de837379f351633a9177c3f448afb3a4d9540352ea29137fc125c3fff74a0349d4794349e7c583d3208173fbedb10357fbb2d35d9e2b63df273bb3e89ad293159a228318599af3d40cb403e71db19357e34a6349878423d98e99b3d9e797533747064336e68383d200f083da557eb329ede15330d8fa53c9f23f138f96a5a356c6c4835151ead3826edaa37d3771f3502181935ece2ee37c97f1636f4234534db863034737845360000000000000000000000005dc9bc3520d85235b8ba4a35824e483579688d33bb429233c4d813330eafd9324df1273550aa2935c9832b35627c303540188a34b3ff8734a4d48434d2328a3433bc56341ee3a83331f7e63355e20134000000000000000000000000000000009eb61135536b293f894aaf3eb8cd403506543434e451503f004d233e1e695a340000000089536b3f1ec9b2380000000069f04736bfc62c3f4fbfb335bdb056356cc2193d93ffd93e57cdb2339c028a334627a53d7365443e64472b35b2b335357486693db78c323d3f6d9034a9ec8e34b2b00d3d65c66538322370337bd4c133fb2f513ba98f0f3800000000000000004ffe36380ddc7037554b8c339469433403788a384b8edb36d4f9083459060c348f18083850ba9235288d4d355fde1335a6c0a337da1b9435fe6a07359794e534c73985377ba79334c4ad84349af7863446ae74358dc51b350b15c934b70851347bae4235ead016341b441b3393b401312e079c344bf6f833880db333d6edaf33c33cc93400000000000000000000000052b91035681d013f037ff83e6355b435432eeb3467072f3fc49a973e9df0a434744e693522e14b3fc55fea3d7db6a03583598c352af13a3f6872de3883b62c358b5a9238919e003f4562d2371f526834979dbe3cc628803e96238635793f193590407e3d4767033dd4f329354bfcda330279cd3cebc4a838d2fee5333a949033a821893c017ba63700000000000000005c245838651a9e373044293440a9a7331292693890e60536d3aede332487b033aa4d643856c00135245d7334938c9d3346ad5a38896c54368c05ef34f6ee0c35d93c1d386327e93649fc85314e324f31576a1036e2b60936cbdbde3571278c3500000000000000000000000000000000545831348056f533755fe3337abdd433bc12103512f8e7341575cf343347ad3400000000b6f3b73e8851243fcddd1c363a357234a2a7073ff81ce23e07c7e8342b37853461e3273fdd517f3ef4d1c13458630e35d1251f3f012be53df30e0635e97d9f33f570073fabea4a3c8d8dd3328583df35f3f9a83ec0204636a93f06369c96263c5cb1973d0000000000000000f7b8013d7a830e3716a31b34910c1034e5f2d23a049769378e2f0835c871f63484364138903ad936c57424354547fc34e57d16388eaea633983e0f33dd14e9326773fa37141c7c33e1f62b332daae2323f7fd837bdef613508cbd9340491cc345e81e23745e8ac323c92a430eb062c30d348ba376ea581351a534d350f644c35d5075236c6b7d6345453d634d0a1d03491c3063347781a335b58ae322ac14d320000000000000000000000000000000031cd253646413d3e927e4c3f4a354f357bd168339f7eaa3e4916183fd6267d3394f776331420ef3e200cd53ede296633111a44357183fd3e313d733eeeff05351d4e9031c3e9dd3e15afef3d41328e3141e5c235e443a83e2bd9093da5c85c35ad9bfe3462a1143ed8ae6935f03ae03449e88a3cec61813789b51833b32e0233151d7b3cdd2400350000000000000000ad23a438259dd9360000000000000000ec3a80387f378b358c2db13200000000be259e387aecff34329cd133ffd7483188a12e3881fa85368c55d932a1720233b9687a38be90d5341e106d341e4e6034129a9638e804f836c4afee3546b6cf35f14f2738a7af8e3500000000000000004a9a4a37b6237e347dc534340c76313450606133000000000000000000000000a6328a369c71b23d3e2c6a3f60b41635216beb35f803253ee8ce3e3ff12f8e34b76c3835c4349a3ec45e0c3fda97ff34f678a1347263b63eb3f1b53e080af9323c060b35dcc9b13e683c633e794d613479de343630968b3e72fcd63dcc3f123600000000ad98fe3dc078513d05bfc034bd4f82351913033db5cf3935d5f61434cf76a33a56ed9134000000000000000000000000000000000000000000000000dbe71839cf22ab34180f2334dbfdba335a1205381693a835a71b8335360683352dafa938c2750d3799813034db4449348377bf3801fca736e2788c34ee14bc338031a93876ec68371cd80236eeeee435423541381ff0e73629ff8635c8d7af34cceb0339568754386c7ee0333261ca330000000000000000000000000000000000000000000000000000803f0000000088300c368ca2b93dc1ed5b3f5f38a2346e6587356800f43da307353fc983a3358108bd350a093a3ee0bbfe3e5e45ca35c6f3223573f7433e9237ae3e025ce034ac44db3554cb2d3e8fd8523e8756183644cbd634a7777d3dfb0fff3dd7ea1c36acb9213442dd313d75b1863c08e1fc330000000000000000000000000000000000000000000000000000000000000000447f3d378601fe3562262336dfaf7f36ef491a376bc08e35675d3d366511c0369be603373f80a8369ff3b8362bb1da36b8038d37bbd73a36871c51367cdb4937a383c3379a1328378ff186378ebab737673b67372c7c2337b029413779736137f1fb5e37fadb643544e12836190a313700000000000000000000000000000000000000000000803f00000000000000005c72e2370cf37f3fbafc8a37e90bc2366a460138fbe3573f6d6e75377954d13620322538f0552d3f6f7135375aa3e73660702b3a9f5e013f77d0bd375d63ed362a7a2238f17eab3e9aacc637cd6ba93777482438de452d3e332d4d374ced52373778da378005ed39325ec436343aa53600000000000000000000000000000000021d3b374c567636a19f783642e4bb3697ded236faec0036f9680b3603027e36ea796336a12950364e6f5a36f2815d36b40a5837be8d7036922ec73617293237d7f00938f2c069364915553767b3fa3731275d37fe381436a0737636eb9a4537fb08da37f6b4ba36d97811379e4cb437c8d2003887d78d37ae7d8d37c68ae937714483376bd76037b3586f3773498a3793856a36f4f77f3fadc61438fd13f33610f16f36fff27f3f8420e837ce608a368534e5360794573fd9dd153890816036441bec37107e2e3f19f64538821d3737ceb0d4388776013fff7cfb393d4def37a26b7e377fa0ad3ef98da137564a1b377f42f737c2d6333ed558093883019337f1c4e73769947b3c4937023867f6a43711964837a1e2bb3760223e376560403742d40238b1896a37aa499e36b18ce93654e2763501c82735254529351bc32e35fe955a3689572934eedd2734167f2534d63fb33750d8b0343dff6435134b5237388993370000000000000000dac57436951496371b93223652e0b736eec36f374d47a9370ce9e736b3480137c0e963372045d237ecdb3f37f17a21371fbeaf37a2c9913774b972373fa36f37474a91371aec5036126c573f0c05223ec00e0c37c3f92d352b78583f8eed1d3e70b82c35d2bc61345e95343fae8b0f3e8e2b2a34c9a49e3748f3163fa6bfbb3d48db4237c6db9237604ede3ec043813da84e42358c3e753718c99b3e8aa50f3cf16e22375ae56637811f2b3e0f1a19380c2c0d37b2b08937dc4b543cd5c9d737abbf1637d3f66337c035f3370d005837acf82d374bbefc37c8bea637b2db1137d93362376e78b8373b66a836ad459436723db036120157371928de353d87e1359e8f8c367f759437f064ad36fc99a036b1bde33690f39339219978351cf44e358ded8c374fcf4b38e6fac5368519ad3654e305389c4cb33712af0a37dabcee3643df91373dfff137f1ff303725b30d374648b53773a13138e104fa37c849f137870f2c38510dae36f9612c3f1c18a73ea96b1a37106db736e0392e3f6b68a33eda58a03632a3b2368c48163f6f9b883e22cc3f3685b42737bc2df43ebf754f3ee220cb36572010384ff8b63e62d5113e93aefc3662672238d61f7b3e154f9a3d2c3ab037c42070379a0f093eb218353c01592e3799de60376dbd363ce41c12385e67b136a70b0738f3258438dac10538a106c3372ef2983706006537aea293367e5b0e376feff0379c494337612544363572a136ec57d637dddb9936ae6573366cd4bf36ea3854379cc13c36d39d373606dc3c36e2f6473882f127376ed7be36dff59c3719a09f37b8b83e36b4483f36112940366ddb1838926a7d37946e4237b372c437aeeb2738c202e037b737b43778c303389b138c373dd374377ec56537bb7d88376e30c9360438013f7b79fd3ed2cf8f36023e50376bdd053f29f8f33e5fa345369ffe55375470e13ef7b7cf3efa517936655786363478b83e45a1a33ef8eb3936a6f72338cb0c883ee5c26f3e39245c374c6bdd36b17a3a3e693c0d3ed52a3f361d6cc9370766c43d655e6d3d0867513715fbf337b184a73970fd5e38b54c993726f4783766b10138c2c069376d521837d8a53938604f00385cbf4e370c008137b5516b37fe8a693556375635cc606535f4488637004575365e2ad73342451736786e3038b2028e366c98d53529d38436ce377639b3109d35fe902635eee6a435cc78c43733bef6360ddebb36697d1437ba73b537208b0d376aa8a036fe6912372e3c19381164b637e61b783725e9d43724fbe8372cea9f37b6008337d96ecc373f51be37b235ac3e38cb293f428c3d37444a0c363450b03e2cef243f4dee5b35603d303722959c3e47960c3f51e71c35b887123826387b3e3324de3ec045513646571738c0733a3e2e88a23ebaad7b35801b823741d5f13dd8314f3ecb94cf36d6d97e37dd225b3dc596bd3d43beac3672eccc37c1f39e3853346e389fd54237b426bc3739f137380a2de2376bbd073775e48e37619f3d370000000000000000e1b67b37cb98633635baba341eb9e835e5b86c37c251823635fe80356ad6943529598937a64c2236e4b749340c804e3433c3c8370000000000000000000000006245f937d2f363379849fa34eacc4737667c1737c5391e36b4242834e339223643beee366dc4643594693835f14810364040f437b60789374cb704372547c237e17f2d3776dc363eda3a523f0000000007b017378ecc363e25f24e3ff0eac63402b20f371cb82d3ef7c2293f04e0893566707e3778a00b3e7cef0c3f8e124e34542499370b1dcc3d8f46ce3e00000000f0dac03717555c3d078a873e5f540a37dc81cc36d5ba7b3cbb520e3ee41629344f503936f7ac4f38c24b2838f9823735e01adb3727b5423889b0db37224ea53699dd8a37f2b71d37993a9e33bb509c333c26bf372a7dee362c91a336f356cc36b78fcb37f2f1873681125236e6d35e36b01c69372dc9533694db0836dddc1236cdc83b38e740b637a9532a36cd610d378480dd376dc1383718db7d363dd814377fe042373a1f85360cd85d364706643634cf66373a022f371d3b9e36c18d45371e3d03377c06cc364f71823603bf043746786d37ee4e3338c8f07f3f4585a133be83c737156faf3cb08c763febdbcd361898d437efe0b63cb6474d3fb2be5b3638cc6837da68933c5b8e243f46630e3617c6373864f9633c3b87f53ed57caa37f5c4cd370d018d38d0e9a23e07ad13371294203709d37738dd87213e0a475d366f7c4237325fc9375582fd37f1ae87367c8a1c37bc3e8737c65b0237e93e6a36000000000000000000000000000000003e4bb33628194035fef70035c6b82735efb36437d0bf2c370c958736667cbc36a853d33715e695376f929e36819f1137ba100238df10d036de373236ca074f36d08e9137c2b40337f6e2b836c277dd36dd72a537849974374d70a936a0f01037b5bcb437239b9f376498523776fc97370000000000000000000000000000000000000000000000000000803f00000000e7fad2362f870a380ed47f3f3bed3b35feb563370077473897a3543fafeb1c37f368ce37a22f2c38862e2a3f17c092378ccfc93710151e3ab97cfc3e43ae95374a922937d79c1738f13aa53e354bf83662a98137c8e200382441203e2e097737896d89373587e3379011623836e592370000000000000000000000000000000000000000000000000000000000000000620556374aeb5136fa07493615df5136ed522c388ae29a37f8832237558b7f3756562d3856c6b2373aff8437a18dbb379535093874ce83379c0e7837f5479f37ee8d973716c2ed36b41ef336c8ce3b379d9bd837bef66637a51561372ae29637a13fdc3759cb6637710e733799c7d43700000000000000000000000000000000000000000000803f0000000000000000f11e813ab10d733ff51ca13718fc8f36ddc9353cf2f44a3f8f5e4138ac4b0138e85f683ccef0243f52e84038b0bb0d38efc83c3c280dff3e377e1838e13fcd374ead153ccfe8b13ea41e9b37ab6d6c37c6fc353a43db553e596fd13781a2a137656a5c384bb26f3de3ceb337b3b69f3700000000000000000000000000000000ba6ab938147374376f2ccf34465cd334ab998637715a9735290798350a019435fef503385c0269363ab84f364dce4f36fc116937f590bb36a52494366db9b7369330c1369efc31365d623436a96634362f81843761d0dc35bb1fa435bd48bb360b5df83792a621371879a536294a6e37d7fe7d3794afbc3520acc335d4e03737766ac937fa2e8e37e6b493372c25d63709728c39b225713fcedc6a3dbab564372ef4103a44c7643fb895613db327c4350379533cb1fc413f71451d3de2739137a360ad3a88861f3fbaa5a03cb7da0a37ea3c533a1de1f53ed346ef3bbc144436eda03238e7b9ae3e83d1b03789bc293745510f3a64584e3e67720538cd429037368a113a7fd37d3d0d4d2337fb6e7e36f87708388e721538d5f6923762518e371aeb25388b9306387b3d393755a43b373918ca375888ce36cf28c3357fb7c43573e1a43783d6103658bec1354e19bf35fc10ee370f9549376b10663641d1b736270a2538cb92bc37bed13e37155592370a870f3863ff8737103822379bfe5137bef79037f4ae523671b512360ccfa636e2de9737c5c92237cc490c3771b88137ea0ce4372e56af371c3ab1376129cd3723292638eaca4b3fd763503e1cf8e237a67841383979443f7371463e639aea36adf940383ea2233f4a9d203eb6a3af36feefa139777a093f3412e83d7bff9f37a334e23b2fd1d63ea4568f3d76d1fe37ffd11d3ae5d7993e173d0c3d0462c1375b0383395e8d413e044d573b000e023789e98e39613a763d93879f37282e2e375e433d38800e8939c91ca2378ab9a13775cbd6371e6eab370d2c1f37240e03370cc99039f331533732fda3357f58a23533eac83725a8a436adec053655af06364da811382ae38d37e62bd8358cde3536de2621384ea9b0374c068c36d31411372d7b0138157f5337a41d9936e79aa8363e4919385c30c4379b814437655e99379766b3376e2360379107063726f27b37159285370ab925377a962437949c4737aa6bba37ba52263fd529b33ed9ae8837d0462c3ab06e213f7fdba53ed1860f37b3882e3aea07093f69b4883ec17bf5365df450383ef6e23e5f5d553ebf95b0370a7bf9399b70af3eb8bb1b3e4fb7de37ed271e3ade617f3e527fb93d1e908b3773feca39132d1c3eaabd123d0309cd379532df371ad25c3d5c1dc837dc3d4537e51de737c405693996624337a973153707ee0338e308e637c0ee0437b9cdb53530d79837ff4fc0365c745235af464f35d961a8379a464c37046abb353138ba352ece1438c30d3e37b13933311f934831f7af4038f7dcba3716feca365cffcd368ac21b3876759c378b85073569568d368427803954dd9537f1476337153484378ffec837e69a913775a040379d548d37e4b6f637d32bc9371b07ae37a950db376586f037d200013fcec5fd3e1cf2a8373d3dc537c51bfb3ef035ed3e749da435f674063ab27dd53e232cc43e1f1041374549ab39a02fb23e8d039d3e6d5b7137bb6b8638722c883ef87b6f3e2f65d337e55aa639d22a473e3499193ef1d2ae37f973153a5b87f43d5ecda13d8c739137b353d93770663c3df13ded37897076377d430d38ed552f386418ec37786cac37988bbe3720b25837f89a68360ce6673662b68b3787976236457bbd358c96bc35c9b7023889a04e370e06e934dd4fe534c3bbed370cf6033757ea2e36d2f525369cea2238d01fc037235a57358dbe4f35ef3e1638d3b6c4377535d236c198153711b52a39e5ce943715e118360fa9c036f4370b3aef72e2381e846037bf3ea23759f8af37df2f9d37ec088e37cf3da937bee088375672b73ef827243f36f5fe361effbc3765a5b33e9751183fbe3cc6352775783970849d3e72cc003f40af52372ce3c5391714823ef547cf3e85c72d37c03974396d93493e8f719d3e0252cc370e9f36384fb80f3e96a0543e9930c9371abf133ab008aa3d2eb2e73d97978537a7b4373ae1b7c83c8ce9973c2b48b137dce6e93778fe1438a620a737bea182374e2821380403d6379082ef3671f60336d2ee74378705033603bc8935346188355ead4737e9410636b25afc3524e6f735fa270238b8d1443765bc0c36142c0b367f8e24384e1dd23712748835fb3c8a35bdc7f03730a99c37683d653616e3743673a0ca37ea025e37615f1d36480246367476f73739b1ae37cca82a37a3af6437efb50938c7a8df3710769e374e31bf371260fb37106a583e92c1493f638e8d37ce7cb83702de583ed6493a3f2df38f3524f80938b32f493e9a5d1c3f96ad033695858939c30d263e4f87003f6d196e37f645dc39a4a3e73dad9ac73ea7bfdd37dfee16381250ae3d1732873e5a509b372bab0338bc09453dd45c1f3e64d52d377bc32a3822bc253a3d491b3d4cfc75373ea72738ad4cea382d070f384909a73704dfd23734b09c3715bf5a35b592513567ce653709559835d5e88535bd316e35e703f73715931e3783bc303635b42d36554c8137a7545436b17aed34d6a2e734ba2a05374e8c28360fbc263629f52436eccdb2373add27375fe1833659f07d3694701c380e00dd378cf552368160543661e4cb3761e784375501ad35f1101736204e7f3754000a3738dfb2357b2d7236134be6370e3e893d7fc56e3f0f159f37cfcff7387127a13d79ca5b3f4aa99435f8d03938f9c6983d3d1f393f08368037e717cc37654b8a3dff4d173fb69ac0364622a4385854613dfab8e93e2a362836f512fc3940d0073d80fca43e74d1153768e7be39db76ac3a4f9c413e81d0d7370af10a38bfec0a3a65d44c3d4b954d37f56b0138e7bd15397eeaaa37b8f80d360000000000000000000000000000000049e5e3375140623762d0173608d80736b845f0372fbb993705afae3492e2a6343048b0370d358037c558b836397a9c3617a33238bdb70d3854503a37f2180037582f2e391a0a3838b481be37df3c9b37de614f3873af3838ad90d337c1d5b937094e0c383dc0e33737d63137fe4333370000000000000000000000000000000000000000000000000000803f00000000ac5811386e5abc38b2ed703fc7cbc4379d4dfb386539523a7f0e4a3f1774ce37a2e50b396a5a0a3ce57a223f90609f37eb4b3b3845c3ca3948bdfa3ef80f1f38229caa3939b3833a53ecad3ea37e433888485938cebc84385361483efbaf3f38fb55043825099e39ac0f493dbd46af3700000000000000000000000000000000000000000000000000000000000000006696b5390524453869ea27380b461c387dadf03953398639c7c27b38cb1774386bf1233a273ae7392e568f398cd55639b05eb83999525739cafbbc38394ee439fd5b90396e4c11398840633865175f38db64d539c64c933975584739fa1c313928c8b339c5154b392ddc0f39cd7c123900000000000000000000000000000000000000000000803f00000000000000004ff0553a6f60613f39eef3399996dd385aee803a628d403fa7ec103a9a70b5392266713ae3ce1f3f3436373a56ee083a45d2803af3a2fe3e4223ce390e688e39f274203a42d0bd3e786da439119a44393a79483ae4c5773ef7c9db39ddf7a6396817293a05b8ea3dcee4873917e0553900000000000000000000000000000000b3730c3acf00e33973a75339387f2e39f3ab273ae6a57d39780a8b37f7f44b371d3d143a601f42397d8d17384ae51138847c193ad1ec4f39e0467d3747eb4037ff59093a815eb93951252c39825af138cc8a773988be0538c003d437fdcac7378173073abb5ec0390d45773908265d3958d3e639cd2aa939217d7e399a779d39dde4b939d64a663977b316395eba2c393391323a3fc3603f88fced3dfcb1f839116ee63a73b9473fe97dde3db4559e39386fe33a36452a3f47c8b43d629e8a3979d90c3b336e0d3febb9923d4c018c3937918f3a0b26e13e0243623d6356dd39bbcaa03ae839a83e52e51a3d917b0d387158803a8c425e3e565da93c99add3397c2e8b3a6aa4da3db535c1390c229939f5a4253ac0591a3a1f5575393f7a3939c822003ac713e23936ab5839ebcdd438b616313af0af073a8029283967695737e1693a3ab542a839b90b5737c7e93937640d143af5fac439c988a2389584963761830e3aada6d539a4577139f3b92f39f4171e3afdbadb39c1814839d2d708395449023a76b77b393666c4389a7ca4380a8a093a01d8f139e8abc9399e5dd539de8dbb39fd75a739762ca03944bea93943f3123ada5e403f8139793e92c0ce397ddd7d3a50642a3f5bd35c3ed4db063ae6fba43a559c113f08173c3e7728d83991775d3a24eff23ed4b41a3e6181dd395cf5af3cf9a6bb3e9e0fdc3d5338e7393c31c43c45228d3ee73ea13d2b43e839735f9b3a45bf3e3e55db5c3d1d9f81392ecf213aeedac83da1a5093acaf7e439e826ef393dc5063a54a3ac39693f9539d03cb139bef95639d580f1379bd4d737d2c84f3ae5662b3ac853a039539dd7381afc613a8747313a0482ad395f571839e5ebcc399bf30a380a7488374fd21437b6241c3ab57feb3947f969390a17d3382d56403ac4ac123a3e8ea5391bb171396357463a3c96ee39fb565a39c8e82a394857433a03642b3abf92073a5c4b043a91b6d039f789af3991d782399bd68239114a093a052c203f201fbe3e85ac0e395bef873a638d0d3f7359a73e5a81283ae9fb8f3a8fc6f23ec4be8d3e60a13a3a84606c3a5b5fca3e999e6c3eec50bd385aa6743ab80aa13e2ed63a3efc85fe39fa287f3a4408703eae07083ec81d163abe19be3a99021e3e5323ac3d3bccef3952ac6c3a7cce983dbdae123d7d2f233a0f78203a8997283a91a1c0398da0953912edab392f68963980c7ac3855228837fe392b3a57f79d39436abe3716f37b373a6af33908439d3837bc123885daea37fa8ddb39d5cf7c39262b02385d16e037b1d6b039b81f63399c963338dc7d2438a96fc8398b9a6839820911380652053812f4053a5b59f43865a4273888ae1a38834c283aa4ddee399ace2039532921396d88833966434139311bdf38a6c3ca380e62b739e58bff3e41e9fe3e670485397457753a84c1e23e9d29e13e19f7b3396414c43a2b28c23e33f2bf3e9359c7380ae19d3aedb1a13eaec59e3eb3758d398c09593a36c7803e05b87c3e764e8139adb3973a4684403ed13e3a3eee3771393845ac3a6889fd3d2645f13dcdc8de38ca7c513a7b4a743d2428593ddd949a39a557bd39e6a5c03958387339679c0d39ff29fc39d74fe439f5717139dd772338c2b0443aca141f3a28f17a3930735237c6bc4b3a938edb3915ff753730a5f136c583493a64aa1c3ae7da8c3922d894387e021f3a2c40e7391cd54339b7b81a389871b8396b3b1938ad66b937a9c282377ecd5c3a76bf353a7103eb39eb4cb9394e823d3a639b1f3ab393e2390722c93913cf823938ea17394b461238c8a8f837b592033a75e9bd3ef0b11f3f3b50dd39ca0a713ade78a93e6e2c0d3f50e7203a4539bf3aa37d913e7210f13e3bb1013a92777c3a1fe7713e9d92c73e0a4e273acb69583afade403ef95f9e3eeaacf739f36e553aa46d103e555f6b3e06bf1938d72f883a31abbb3d5d1c193e75b42f3a8ce36d3a5ca8313d65af8e3d2bc1123a96b5eb39353e083aaaa59639df6821387203b939c67b973918d3e9389cbd8a3730a1db39445d7639521bb53762037a37bb2e0b3a6780483910efd237b9bbb43783c22b3ae126023aa02108394a0c3136debc0c3ab73cd9398d723f39b0e709384e910e3a3353c3391dd653385503963723c7303a45c8d2398e3c683765064c37de46273aea020d3a21f6b8390d789439f003d2399f8eb0393cef7c398c895739eb2dec3944957a3e8934403fcae29f39043a2c3ab3ef683e7d652b3fb5259c398b58993a919a413e88f0103fa5dba9393b0e8c3aa3f91b3e7edeed3e7de2113a0d05ab3cec58ed3d4499ba3eb0c5ea39b00a493aed7abe3d18d68d3e420fcc39e6c88a3a5ae4773d8b093a3e1deac339c8f34f3a2a38e33cba3bae3d0bbb003ab40f073a7a82093af14bde39e5f29539afe2f739db3db639f7150e382f63af37de9df239c16881399c64cb37cbc694378474143a537bd7391d6a1c388ce7ed37e770763986db0638a4e38d37b7defe36eeb0093a7af9cc39983ac8388800e137616c1f3aa6df813912787037d7c806376f9a123a33a2a239b6945f38f40c11387690133a8199ba398267a237be1288370651eb3937a0c039756a9939db4c8339e5b4223a650af23df29b603fe153033a352e913ac189e43d1dc7463f5de5b3396c92723aae77c23d3a83293fd90c073aba7f6f3a24b1a33d3e030d3fe95ef338a30d663a2ddf803d7fd1df3ea125f4396e00c03a4daa3a3d8620a63ef2d991390b68893ae33af23c9b12593ebc09a5394a78853a9363ab3acc6fd63d509196399d351c3a5bcb143a57c1fa391f6cb4390000000000000000000000000000000042d4023a94fb9639731268382a2e9437cd5a023abffad13925b31739a27eaf37b5f5b63966a9803994ce65384dc85538507cd7399984aa395900e038f5cb7838a06f343aacd5193a5619bc39f4966739a8800b3a3c2df6398f0c8e395eaa4c39b6eaaa393d573d3995d43f3823d634380000000000000000000000000000000000000000000000000000803f00000000c76e383a29f4b93a0442613fb1cd143aa946273a34847c3a8f98403f2439033a0efb0f3ab347453a7118203f7597a73961d9453a2aa8833a6972fe3e7468c2390882523a9f09693a0259bc3e62e8243a22a3233a0667493a61b2773e59eaf2394852143a4a40233a7a37ed3d57a31c3900000000000000000000000000000000000000000000000000000000000000003c62f0346a79dd3480f5f034fe87f63438392b3574492635ed1b2f35b3d42a35d0217b366fb1c6357c63f235794548364e588d357dad8a356e0a89357e2c8735aad08a3758de2d350c30c736ddc65c375c02993777a4c535f6b5ff35ee532b36ab56f6374153a2379f498c377ffda93700000000000000000000000000000000000000000000803f0000000000000000104af936b7f77f3f7a5c1e361736ec34701a0938a492613f98e39437d96d2d3538c95238b862313f4608f93762a76536b397c83760b9013f09cd8037b6078935fa9945387370a43ef1590038e5c0a1379900743873f1043e097a6138bed1313798170e38770ddd3a93191538e2eecd37000000000000000000000000000000005299f236b948c53686080337b1f016373fafb9359b56bd353e4bc235c751c9356b4dc5354036a9358bcab235b185b93541e6fe351a57b235c98eb13566cde0354d861e353963243586992c35dc143735be947d3733bf873599119235fafb23377bdfc837ac478536b456c136667f8437c0cfec370979ab375bb298377be0ad37edf61537efc70d37de670f37f1c20b3772ae5a36e2f17f3fd3173d3929cabe376753c13502ee7f3f34117e388d24c5358cb721377dc7643fd32c333841617136ed048837e68d353f85405138506e2636c7ccf23784bd053f482175385ea5fa36c88114384c7ead3ed7b58c38b499a5371fe8df37ada71b3e82e872381659b6372b8e8b37f8b5ba3cbd4c5738f01ccc371993ce36db740e38f345b0376e450b3789ae4b3791a2803769c59037cebd64371ad86536738da1358b721936ea866236cd0085359c078135ef2882356f1282352cc091353b5590356fe88f35f1a4933571c8f435464670351f3c863590be92355daadc3763589e367bcf29377894a6376b72e1359e8fb135bf13b3351f3db6358ea1b8372e207d3750114637b0335c372be3e837d6a6c43748f49c378b69a537a4dd4a36b9bd633ff2f3e13ddd19bb37b869e735f89c693f00a7b23d6695973709da84353c814b3f5c2aa63d7caf81356b449436c0a2273f9c8c133dd835133763a7a436be6df43e7e87c23c29ee06370d0bbb371941a43e5538f3394653f33715d1b13584b3183e99b3b73921eeb4351455a736443d273cb7374738219450374d783f375f5e70381d684a38a101813793e339374c0bf037421486379579ab3685e3fd3627b0a9365ccc91362c78a836dd70e53520d1e8357115e5352ec3e43574e172343261683401046b3409866c3486059c37bb0a6c35ba4d8535d50c763639747e361bb3be3588cad9359971593629638b354f43ea34735aef34944ced34168e3638d70e263850590a38fffd10384e346a368cfa423692152536631c26367e504236477d323f2eeb9a3e6b59303701d0bc368aae373f6712903e7cb8bd368412e63562e1253fef066d3ebf3ce9351765c9368fe8053fa8732d3e4c0a6e348a6e9d37bd67c83e6787e93d5b02423778f44036c319853e1d22603d01dc533628d9e734f206003e3d63343c13dbe7344644f037e250783982ad8d38a57ce73715872336b5d97a38020d9e37f3a52436f0cd8437a44e8137e8ea5b3679425a36b0a8233662e12636805a20365edb1e36eb25bc36b816e435f901be351b1dbc3520901a37b8a0d635ccd4ce35be63d23594081d370f55aa353e3aa535f8f6a4358802c33717a6fc36a7ffd135353f0437eb75a737b60734370426ef367e3a2b37274bb137ae049d3781c7413727cf6b37a0679e375e5791375a90613776508d379f915536d67e013f06f3fc3e9a8d47367951263649f6063f61def13e8c832036978fd036f083f33e0fe6cb3e79871536ea0f793747e3c63eec41993e8364cd3590b65137e916913ebfc05d3edc46a335fe4bae37f06a473e6f7df03d01281f37732a5f371cb6c13d994d013de31d263769525d3769c2fc38e8ea7a380a5e9d36ec69803781643d38dac4ca377cd05f3604e13c36b1e020364ece2036531c2236ca849c3719277b353c0570356a4c6f35fc28ec349668f03460a6e134a929d334fe571e36f65db7351c14b83594b2b73597b1a937c05e673579e63b35074e6a35d06fd1376f109434cef1803429806a3466e21637fcdceb352f4dec35ce47ef355cf30e384a33f4370a6fa9377223d0370982a437de6b5e37320fac3654f9d936f0a820364b93a13e18342f3f114b1e36b9529537d23fac3e83c0293f32ec6e351617e2348d969d3e0d630e3fd0afe034953781360f1a823e56c8dc3e1fb6b8354d3ae33769de433e4c479b3efe8a5a35db430e389194033e733a373e6349823478f7013794647a3d1832733d107aef35d8970338801e813a4ae68b386ed442370c56cf375e92763827ceec3705944c36aeaece37ab097d37cdc851359d8c4f35e4b98635bff6a234fbd964340a7c3a34de60af352a77b0357e5eaa356015aa357140a737ee91993580ea94351d4096356e6b1c37b95f7735b11e663597946f3528d39c37d47e25367f4393350cc29335394d333741e69436bfad8b35bf678c35c25017388dddf837516fa637b356d13724408a378a925437ce3dd836136626379d84f137aa67fe3d1726603f5c1652358c0c5637467f103e873b593f69ba7634c714ef35d35b103ec2a6353f7846ae3510de1e38494cf63d6bee0e3f53dc9535b364b1373cb2c43d1647ce3edfa87b3527c6dc37ab527e3de9ce7c3e8d3b9535f454753793420a3d0fc8b83da0948c35a73f33388e03c138cbae8f3800da2a37e5bee037eed73038eb3f913704fb8936e9661b37ab41c73619fa1635615a193548b02337ebf79f368490f835cd0cff358f982337021bd835db23cf35a7fcce350a9597379eea8b35f20a8135aa468635cace9e37a4c328357f97093560921935137b6c37173d3436a9d6b03522b9b3352ab50f3831cfcc37c6a08836c0526437ec5f3837afabed369b43d3356299cc354535203722b5e5369a49913618c3ae36f3579e3715e5783a9abc7f3fdf8b0c356430fe378b9d5b3c7fb5763f38ab01360f6012388a561b3a9ce4583f60b7d3352a684a38111d7a3a74fc283f99448135863d2c389502453aca07f43e8b65133549ae03381cfdbb38c8d9943eb7a26636dd9019380aff10399f60d93da9ffd6371445843779d59938edb19c38a457cc353f6aa7376dfe3338ad759837940c3a36000000000000000000000000000000009a6c0f37d02daa35afc19235e4849d35df3dbf3587fca43485438f33b4c182334c039e377b673c36111e103573961e35fbea1637d95d85351cdc81358ad486353177fb37e4419137ce714d3639946136d247023836aee437654e7637452795374ddd233753e63d37d2b8e23632f701370000000000000000000000000000000000000000000000000000803f00000000d092d537d8ae35385f817f3fcf6aa63582bfd43794919c38eac35e3f1deea234a15fe637db8d8138b6b72d3f42be0a37e109623726704238c38efc3ee2228436c50e0638d6618738a3149d3e12b80d38260bce37e74d8038b50af33de7f41338f998af3685ede337afd2933886844c3700000000000000000000000000000000000000000000000000000000000000006e6b8c36624b52365cd14836e0313c36a2d59e35b5c57435b0bb6e35c5256e353ef94936bdb63a3663c23d3651463d36ccfaba369ace93363f38973617979b363cd0a33767c8e0351329c83549f3e03522fca63707ecc836c7e6b036afb0b7364c11d637d25f83374af15c3706868f3700000000000000000000000000000000000000000000803f000000000000000005152f38582e7a3ffc8aa4360d9e7336550157386666543f0898f1359b029735ddd0ed39f1c32b3f5a6451363e9b4936203b9f39b979003f4bece9372b80b736f1d78538f383b13eb125123887ea50377dbca539126c3a3e86dd023880f18a37a42e24380b9f1a3d978f10389113c63700000000000000000000000000000000e6a81837289cb436e286a13641949736aab831366f2dc535253a993541db7b3568820b36975cd1353ed3cb355491bc35d0815a3676c23c36f6393e367df53736ec7329367244563593c75b3534af5d350a912d3628c4c9351fcfcc35ac2df035f8b00736736806362b790a369f8b0936b6719036290fc935c8d3cf35b848d33523d52d37bd88f336e322c1366e84fb36600ba6361df27f3fd2002839eeae5037032a1e37e9d17f3f9fb2a33705051d36abdba2360ce15b3f375f23365fdb023646ac55379a46333fe31076366c74563623a64138e6fa073fa5e6b73772d7b535701c0a387eb6bc3ee799c836ece92b363f62a83619f8543eca029a36b5eb0936cc4fe837f9118a3dce7b24389897fd35f7654c37a8f332387fb65937c416fd367482aa363b22b0361cb6a73640079d36192e0336c0c4ee352501e035e038e0353111823602187636752c6c369b2e6836c50c6d36a6b51536c7fb1036716c0b3691ffa4377dc23e372aea2c3702d52a37da368e3682168b360d8e8936d3548936c29a933660d6833647298636bddd8336f2d91d38f1469637534b0637a8fb54378c30fc363301af367a197a36e56c9a36fe48943622eb5b3fee44103e09fcaf36415c0c37e9e5693f295daf3d7adbfc35a68e8a36fbbe443f725e813d9b007c3670f1ca372d492a3fade6493c8eba6736d7658238a990fe3ee2b5063c5cb29137723ffd37ec9fb53e5f1e8f38f5f38b367ccd0738070f4b3e15ef173aa8fb8b363336583885e2473d24939638940bc33738371737f6c85b3860c1243791678b3693588837e8b87a37e11745365a64bb3539b0593648891336ffe70d3686b90d367a11373656232336676c1136dae709363d4e32369bcc273633ae24367b02203612896b370d39b036f9d0a33632f99d36fc2858377d17df35ee68d335fe4bce3581e74836349e4836ccff4b3627d04c36a4edd4361b619236949193360d7898365125d837d1029337f9723737a9636a3728c50f37c7832f3f87faa03e41ac4537b543f036ed8b3a3f6131843efd9a11366ddfda37fd5d273f95d53e3ef1f42c364783ed3713100b3fca0b073ef7073136b69a7c38ac00d73ee8d7b23d4602c836f6334f386a1d9c3e128f193d9b42f6358ffd44361aac373e89c7633b1a8851365c250e3756e81e3dfcfcbb37aad19436b76e173817ce5938258af9371c473937b5725b3794642a3711deef35b516ef35117fbe35f5c9bd35fb66b935a719b5358d0523365f1a0b367293e335859acd3528cc703617725b36ba414736a09c413642551137344704364530a435a70fa23598e77c369c397636f3c4723647be703606d8473669524a361594463669024836c2bdf0360b461236b102f035a601f135472932373913d836756cfe35d65e683628fe28374c3d033f9e77f93e27d69036a828a636d3220d3f006ddb3e6edbbb3570ed59379f91fa3e66e0ac3e57150e36f3856f3742add63e6fa67d3ec90f60366f930a386dff9e3e7908423e57516036e4e28f37501b723e650ac63d27737e365121aa3742c50e3ed19b093d2ba24936ab70ce37f88da43c562f85385f9ef435c19796372262e0370d0f48378a7e1436cd68c037aa292d3730136e36d3b448361f1d44368ebd0636deb7ab354cc4ac35f4be2b36d52d17368917f335dd9ee3351202d5357ca0ac35439378351107623588d653374fada03606ae7b36062a683663dd7336fac42e36bcc12236ea4a2236c38e4237ded54c364b314436aa9d423681ba0e37bfccf43680b8a73662bfbc36fe231f379b50743665a2a9351807ae353928d8371481ae3ed3b5283fd79b923664c2c536ae23bd3e9980173febbeea35602783367d7fae3e79fff33ed5381236d89d5d3839a8953e2412bb3e7b8bb635ecac8938fae36d3e9e4f853e5566ad3661110c3826252e3eecbf1e3ef0932b366ac41638c551ce3dd777723ddbac5136c110dc370d93573cf4444638676ce136f776a5373612cc377aa629370475a535085355366c41053630a886352f426335a2a18e362c3888361e4f7636e3b27636edbb5236d3d32d36d2ebf1357b71e93572988536d9867b3696a467369c3a64366b51a737dbd81937aab160367eb46136880d8136b2dc3b36cd5106363d5205363f9c8836ef97863606c68336d2468636905a5037eabe1d3619771c36883d1d3695349736bc6e8c3616098036e03980360e98773796f82b3efefc543f12c6cc35ed076b388742463e50eb413fe49c8336d5b915385203413e5fd71c3f25212a36da55143808682a3e9629f53e23357b36ecd28f3862350e3e6123b63e687333375b010f38c989d43dffec5f3e49535536e741b13753df643d2c8de63d3a0288363dec47389a7c293a456581385cbb1e36fb9bb53617812f37fdff9d366d8b84364bb9af365b086435b2575935067d5435f6125235873d343549412b3537d32435456cd33553fca83523295d350fb04f35a8e61e362e1891357ba95d356e326035c263b536a2fc8b35586b1c350516133578227836b0697036cba15936c92b57368c4d3c360e2f3a364da32b3667c13136a074b636edd0aa367fb18f369d5e933600459c366db99136bd2c8736481387360742e737b0fa9f3cddfb7a3f6b216335167d2f386a25143dbd79653facb23235e50c0637188b0d3deef3413f8dc3a0358ee74e37a4f5133d476a183fd8aa9735953a10381018e83cf997e13e37fe013656070d37d579443cdf5b933e28d27436887b5f36122eb53a29350f3ef77c36361b924737e178e4394f11b539c9b0b7360b057a373f667a376440ac36d4a48d360000000000000000000000000000000017015d35820f0f3559c40135d4a0f934522f1f37b8d062367b9d4f362e6b4d3665e3e637830ccc355102af35211bb235745c0c38dcddaf36dd447a3677895a36a6c93437a0745936c987523613fa5336159109383b4ade37b3c18236f7f4cc35cc1eea3752cbf537df1d8437732c36370000000000000000000000000000000000000000000000000000803f0000000090412c38c10590398034763f41ad0b35847f1e383cec9b3acdf9503f71e96436ea4963380eb1473a4e03273ff01468374db26038321e3d3aa46dfe3e5841af37f7edc837803b5c3a21dfa73ec3ddeb362af9cd3715496839e41b2e3e747d1f3861044c3798634c388b40b93ce9bc13380000000000000000000000000000000000000000000000000000000000000000a306de357437a63550116e358f8a1b358b9356367c6a4b369db843360ac53b36e440bf36f64cb7363265b036dc67a936311084384ef21a38859062371297f0366b89823666947f36709b7e36f2a47c3644be6c37b78ab43617dab436fef1b436b58c9138eeac8838748f77385835723800000000000000000000000000000000000000000000803f0000000000000000bab88d3a62706e3f9b9d1136d37cb5357a1a4e3cda17473fa41ece366969513655670a3b9fbd243fc6d49137166cbb3696ae923a2c52003f3b449f38b02e47386302503c2f9ab33e69999d37246f83363506f939b7d7643e075b06386a7df636604996389f91a43d946c9c38d5358f38000000000000000000000000000000003c942a380d71113823659737c2de7636ef449637bcdaaf36d3dfa8363d63a136f1479b36e10794366a6e8f36beca8a3697f647379d650037bb41fd36c19efa369d2f9838bb862438ddecd1363c599136b6ded037bb7fc736988ba93646f6a936b4970c3826c2b837cac92e37efaadb3622e17b39fc1ef83775e1c0375019b737b31de737a7cf8537e9b4423730fa4b37148f143899e7723fc5cc503de2322738ffb51b3c69c2693f9d24713c1c45b336e554e93a230e483fe200d23b6bf09836514f413c0acd233f1e8d0738de130237c07e243cfa6cfc3e18f9d0385a4a6c380b1c9939ed85b93e2e76273817908b379b80243970355f3e18dfb13864c0f53789a7c73948aea03d7cad033c032ec4383a6a3f38febe563a61450738295f873770e2fa3724b2a83731f9873652ef783605f863375aff1436e2da083644aafc359ae3a5361b0e70368ec56736a80f6136ae0d0538589e8a369efa84363a2677366b0902380337bf36f43b3e3670c334365a851237ab07a8367325a53671bda336b7e92e388e0b033880379f378626353753ef5338ffcbfc375e4eb737fb729f37d031e237d48ec13723598a3748537637b0b3d837e1154d3f277e4b3ec83bae37a60f6e382df9493fe97f1f3e68dd1536d0606b3a2ce9263f962d073efdde7336905eda39e52c0f3f1aa7bf3d01fb7c37b4285c39d918dd3e650c943df1536d37f071fa39abf7a43ef2fd2b3d08e8aa3689ac5c388528523e21a6b63c30551838e20e9438c772a13d60c21f3c21120a38e6528b381c77173aef1115381145ac3797f6f237a9709037dc1416359126033513e80c38557b0336d463d7354206b235b8d63e3743efab36ad6fa13648c59936f497c33655dbbc368fb0b536c40aae36992e4138d2ca1937e224a836aab28c368be93237787c9a36869297363af496364c3ba3375b0bb73601deb336601db036786a5c38761640388bcf0b383acaef37bf3dfd37ababcb37b2468e3753c366374b1c0638c105283fecd8af3eacc17237440ce7391736253ff799923eab5231368754dc39bf610e3fc98d6e3eb204b036d4db663a2da9ec3e452c3c3e4fc2bf366e348739c1cfb93ef8a30e3edd8da1371b18b6398a058b3e81aeb83d38999d36243b40389260313edc29453d644ac536e88e87382348933d6ed32d3c5ded40386aa98738a668e0390f100738251db83757e01e382dd4e73787570b375fffdf36443cb237ee8a6d36a6ac533669b33e366797c336f7d5bc36fe97b3362f23ad367d88b23600cfac36e50ba636cdbba236f9bbdc38e6979f38455b1e384bf39437d2aeb636fab7b43640f3b136018eb03625270a377a03cf366cfecc36f9a8cd36435e5a38885a1c383b7e7a379043f436af5c0e38b0f4d437ee886e372a912837fe4134383f9a023f6382fa3ed603d3372e91c639e679003f6796d83e459c6c368d8aee3878b2dd3e0a54b13e2bddbe36be623a3a22bcbb3ede888c3e08cfae36b7d5303aa738903ee2a25e3e64bfaf3872f7dd3979eb5c3e2d5e113e0ab8b73638b0873849f40c3ef8c8a93d60afcf36fc838d38db3a743defde743c61631938ff6e4738fd855c39b76c18381508bb378c7d0b382bdf8237cd878536f21677369976803714e86b3630284c367a773836d265ae3651a2a736359f9c3630a19436f9099036228487365c527936f20262369161333835c90137456c8a36b06d8236e232c636b2e4c3368904bc36e41fb736a2acdb37ead53b375dd0bb36f03bb73611b87c38873a5238c6a1fd37686e9a3780d19a3620c3a834eb5096349d668c344fef63388cc0bb3eb4f2213fd67c4b37ff1b65398ad3b83e94540e3fa5726b36dd003b3a17aba33ebf9bea3ef4d8a836804b223ad1418b3e400fbb3eb7108a363c898f398d7b5c3e2855903ed9c45c3726c1293aaa10233ea4f5453e8df0c53682b02e38df1ace3d47c1e03d252f7c37ce1890381f0b233d1507e33c577450380e9d22381d47253834b85337ea44ac3416e88637ffcbf8350576e835adebd435c2f8b736f8d50436c914d2357d4aaa354982aa37f5ef71362e56573620494336619c9c3677e69236c8f8873600487b365504d7373ddc5d3642342236a66b153669de0838b501073742708536d20181367fd060378e759c366f576b3606f2623609ff0c387c83c737386ac236ff621c3687ae803649a57e36433a7436120c6f36958d8d38c3a55f3e4bdf473fef4ff3358dcac33998b6623e8881303f2c73063608eb313b669e4f3e7024113f4edc78366bef4e3ab76e343ea4b5ea3e00039636296633394f5e103eb679b53e8b628d36f45cfa387773d73d4e23773e8c618437a760cb39b719843d90e3193eeff4b536ca1341387780ab3cf2140c3d9ca6d13744b01e38a22a06383043ab363eeb7936c7796a3716ff85364dd273365345613607834a369bb22f363eaa05367afecf35049ed836d329be367281af36debba536b91a0437bb1798367e928f362dc78936c84a9138dd15f33755e47136346261364ad04337a221ff369abaf63631f9f0363e13d536bf869b3634c4953672809236f5ae173868d0c83756bbb936dd6bb7366ec3c9362a9a3f36e4b032366def2636ad19dc39980d963d0ee06c3faeb18436d3f03a3cfd64ad3dcf11513f73cd313635cd4d3cc83ab03dade42e3fd4bfc03639fb053a17eeab3d73810d3fb0df9a364259f23b49da8b3d998bd73ee2313a38e958ed391de7523d07bf973e5eda0037058143381a46f23c5214393e519e9d36c4847638d3c49c3c8d91313d4f46eb37f0f33138f74f103887cf4237fa573e3600000000000000000000000000000000b65b1c38d726b536edbba8360f159d36090fa736f8be9f3667839236fcf58936fa767636d0a56b36922e5936109f4d361cb19d38fda2673803aaaf378fcfc936fefec137c0a1d636aa64c436807ac1364d88e437f9824f37cc175a3654b65836950c0a387a250138c9ffc037a0479d370000000000000000000000000000000000000000000000000000803f00000000e859663a66da923a4bcc6a3f10fe803748d5313a804c063b34f5453f422ba33623d28e3a9a949e3c54bf1d3f8b247436fc3fc93816ab753c9de5f63ea8a48938f5707138498c4b3c4713af3e54086f3724301038aa582f3c23bc4b3e25ffbc3728a20038a8d15c3a72ca873d2fea663900000000000000000000000000000000000000000000000000000000000000009b93853514ff1035847a66345127a5345df981352dbc58353ac7593528aa3e3590dec335155e9535ffb10436a5f209361d648f353def663580a8683516327035eff3b9354688b7352ecaa23581d97135eac4b837799b8c35181dcf3587fa373794b2053780abb0357db4c235bb3a043600000000000000000000000000000000000000000000803f00000000000000004a50a5371e237d3ff7ad6d35e9d16835d8d5e537d954603fb4965a36785782358e01c3374e1f323fccfcd4358e1ff63589c48c37ab86013fd4cea1357d499a354a22aa3706b8a13efcf0ce354f33bb353607893836d0063ecb930f386d1c3c37fbb9123889fbc33ce023803767778336000000000000000000000000000000004d4c4b3621ef4c3638a2413657224736ded8e0351432b235aababc35bf75ac3595fd00354d1f4034b54057340fd975342e1ccc35c152a3358cc3c5355021da357a73c034e647d73489b1ed34283ef434208c1135676cf734de1317357b603334d0842736aa6b153679703036f5bc1236c708423769fdb63605f29e3665c19b36feac023625c1f6359d670a367ba8b235e48723369b0b803f7a81583a29404336e950d33552c07f3f0f3f9e381dbcff3529141135ade0613fbfa18636bc468434f8dbb435c46f363f3821f3360c3bc53584a6db36f389093f0b640d37182bcb3440e335358eabb73e3154a635fe78183579e3c937e2492e3e77f832381520fe35c6b79c3785db553d36811338924eb1365c6bcf35c49130390d34e2356e5c023677ebc234c5dea935d74303364d0aeb340a81da35d515e135b1dbf435aab50136d84c8936e9dd383698cc5136486cf636ab890f35068eea34252948358b5e57358f0c7936c488653624d98236ecce8a36b52882371d0ab835ed04cd3526362b357fcdb236d74fb83591270c366100ec35772138377225c936819cba361a6cc1367f596f37a26e8d3710479f3607489d360702c234b173633fefcfe53d51ba5836fb5bec351773673f437ca63da508f435d4d8553666b25b3f8098853a9a6a9137dd3917374d6f303fe5e70939a9aa2d37dda28936a987033f7e9425388ab385369d46ef371b65b03e3bb9d8380cd11c377d4df63666dd203e8b5a3338dd91c436069cb5364b36103ddf2c413851b6c4365ca09d3661894d38387c033863609f36aeb72f36d1770a3643b4ca35a2830036f1a34c3664d13e36bfbe2b36e66e35364c97d734c271e134bfbccc34a50bd0342c989e34361ea834f2b2f6340adbdc341c534b366e4940364aea4136c0403c3661753534f8e93e342f9a2c34c6502f344c605a38070bca374850f13781351b38147c9e3651cc8a353c0d813547c4863568ea15373f08c83646bc2736720e3c364ed8a935e25b323feea19b3e7e8e0d36cddf48362322393f55cd863ed06a30362f1f8c365914313fac4c383eb0a32936e325a134ddf3133f23edd33def17d034be5a5f367825e73e16b85a3d3d7e4a3613ff3b34aa49a13e2cc49d3b184b26344f735f3875391d3e845c07397f8ded379a7b9c35878ecc3c73e73438b40b883597b22436f2e2213891f6603720d30f3345c022362d042736318ee6357c2fe535b1341a3743a70b377a19d136d8ac03373f15003684248f35389e2d353a29373597411535e7f4c534d4a6b1340b23d034defa8d367d8b0636686bca354e3d0236bfa7cc34973dfb3436f6b334861fe433c48d3f3626aa153646971a36dcbd0136a0c2773720db37377ea9183731841a37de4e1a36279114366c5f1736e1eed835ae21f535c219013f0f60fe3ef5a0e735e541fe368d6b083fd845e63e6e57ee365849913540d5023f9827b63ea0a927353ea67634b84fe33e2e58783e55d9be343f07ff36d4e9ab3e3cf0283e7a0c283659daa5343e92813e709a7f3d8ea31335375e3936af2b093e54e4663a67e4f435c5e68137bb98923c2e91ec37c7631337cda3f935174a853961a10236a09a17365c2ada36af541a374acc15330a5e2a33ce12613548d474359a1f6e35cba0833562f0f1379e6a04353eebbb342075c9348ed3fe33701fde3336f70634cc1a003499525736d1235b36257f4b3687f44436b6f67e375de8cd340b4cd73444e28434f17bad375cff423788dcd9360aed1037d2a7c236b1896a364d325d36c1a33236da861e366df53a3616151436b2f10536465c1c364f259c3e1119323fa1330233e4ce8835e92aad3e8053233f3bf466350fdffd374226a73ebc63053fb00aac342cfa2134c897993e609cc33e28d5e43379d9e036f6187d3e5d957f3e63b43b36bd2e76371b9a433ea7d4033e9d59b634e1b8ca374b04f73d0978173c97c6263788b3a436e84d733c91de393837414c3656a73c364746fb371558e8354a5b0d368aa24237c2f494366cee4c369cdd823673429d36f7637636940efb35324b193691f38935e6cfd234c022af342df0b63467c195374e2c05350a0a27352d515d35e3d37f361b265c3645bf2636640e52366b92b8379f7ca43542bcfd34d2af9734f4af4738cd7ef23789d09a37f73dca375c44303715c2f5353517e435412eee358a80e434fb59db34447dd334b200e134a32e1a375384e73d94fe623fc6796c3646bff3364ba2183e191d513fa3e7ff3562f70c3745cf103e9bf2333f56dba1348e671f38f3300d3e3de2043f042c5f35d555963634ccfe3d4d22ba3e20644c36922706385733eb3dbb3e4a3ecf059b36b76c623896b2c63df0c7353d0980a937c347bf3709107f3c50676838617de93587f1f436a71487381e7aca3499cadf343c9010366f2810365e9ea8354f06b23592ff113761f985362e80953582761f36f61d1736ad32df35dbb3a735a59bb535b836263581e3e8347cdcb134cd7fad34385dcf342213cd348eb6c4342845c934f56ea8350e36ac351e1f8f35e1357535c88bfa3577479b3538a36c351673493526c1ad374f4e4a37ec03e835f392bf36e6af3a369d803c3640d3443601083536c847f1359d50933ceabd7b3ff608c035336b98371e5f033daa766a3fca1a18362440e135a8d0283c5d08523fd3c1b5351eafdc34b3e6563b97cc233fa083e434dcb34636c9c2d43a4397ec3ebd99d23450fdba35ced1523c253d8d3ee72cb8351c52c93568db843c83acd33dfee1993556272538e8fe9039d1f9b9389c32da36ab123b364ad48037a1973236ebd04b3600000000000000000000000000000000db1a9635358caa353aab9c35896c8d3587e342356bab2c35532732353cfc263576241d36bfb7fb3550300836b7aa0b36043e8d355ba68c351274763514571335c7a81836d87a9d35f6c29435d8b88435503ee437de90f236fce90e361c91f135b27a1036f6bd8b35016f4735b7e9e4340000000000000000000000000000000000000000000000000000803f00000000b9541a379dda2c384f177a3f7e0995354857b9370daf813837aa5e3f0d8d3c3508d6233688d034386f752f3f30dd063681e2aa358e7f99370dd8fd3e3e677f355bd30437154402386ad19c3e33d562365de2913798cbfa389811ff3dbb33ce37855e8336a6144a3856d2503c000f2f3700000000000000000000000000000000000000000000000000000000000000006f20c135ab138e35eef797355cf19d3559eade3546daaa35e0caa135c69aa835c2e2ce3689ad93366f109f365e90af36f5e95136dd25a63339fa1934fb2f5f343dcd9236d1266336f941653620865e36ec72fe366ef1823621fe9236ce5da536c41ca7376d7a46341b4c90343d5cb33400000000000000000000000000000000000000000000803f0000000000000000bc73a038326c763f9316ed35f88cba35977c003bfddb503f390dee35d47feb35a9e2e53a1463283f0b82f4361047d43612421e3b59adf93ed7dfa537b7460d34728a5e3b3473a73e39aa9936b8599636db19133bff81223e4ddf893744d4b93688b6413975d4283d3e73b33795938234000000000000000000000000000000009f866236b21851364dec4236328b4336d81c793508a334351ee04d353f814b3530866136c9684136c2c9433636df4d36c2637d36aa724d366e7f5136eb0f5b368c2ba735e2b89935a630b3353f27b83586c8df369c7bcc36c81ad1360238d4364a9e4735f9881335f1ea4635cb583b35cba2b8371c45083548ad1b3584cd19355498f736870ee836099eeb36c5c1ea365a9c5136cdc67f3f3b57b13ac001e836315c9c3897ef7a3f85f28d38b78b5635b8bac937b45d563f84c981365c3e6036c8adf83851ce2d3f0d759536ce4c6d3612b98539a1ad043fc86d4938d42cc135ac74423a16e9b73eb1f6e7360a97e03605d674384a204b3eaf662537fac352350b561639f885823def1a4738681e3d3544fa0137b4060537fb96ea366671fb363c295337e2f772371d112c372bd7f6368a2b6b36d2472536bab63736ce550a361d65d534c0cfd534bcded134be02e93441bc1034cf0419341caa4234f7066e3407b5cd3461b6d7348312cd34cbf6c034b1dc5e351e2b5234cfaa493490818c34cdb41c34f0832f348f056f34a52b8f34ba3a5f3619bb0d362c440f36e1b520368b060537515b383681f03136a1033236280ff7360acb5d3f5561093ef7dd8d3709efbd3786f4773f3d40f03c72165237dcbe2f3848ed5b3f987e85385dd3eb3441b47137a0bb303f694749341f6c58340ec664380b12053ff81e2c37045bce349dabc5382e90b63eb5090c38db1e4935729180377ce33d3ecc365f343c3f6734a2eb8938c953863dc865ce37bbba3f36178046386b9a8238b0cb6e37e4962f36d33e4737c29b2837f794e53517b7b93536ef673430835e34d0c6463442d94a34723fe33486ccd9349f88ce349010dc346c9d4136d0f007368bed0b36f3c8f035675e853434c98a34c2c59a349a21a4342d3e833611a531361f0e19365e3b21361774aa3672738b36a52d8636d4049336145793379dabaf36b891ae3610f2bc365d6f1c37974a1737c08a12378c3b1837b6430236d4d02f3f77a7a03e09d71a361eab1a3429e2473f14025f3ef1864434f6bee2367ed2413f8e5ca13d868fd634c552933834a12b3f7124833a98ec7f3658c12d384a60033fb3a21d3889cebd3496653838e964b33ea1e12937dc2e6936fc848438bb4d373e68555237cd6ba936657aa738eabd2f3d7e862e38790fba36c80eaa370175fb37e8de10377f1714377503a0362b40a73629177736ba748336ac1c2337f0f9fb350d9db035d06f6935d98b7736eca2613601262136b0c502367660fe36b55ded36f4bbd7360ea1d0368afcaf38d7ff5838947afc37b6989237d2a1fc36785fe636d59fdf36eff2da363e2990364bbd7f3677607036edff8336e8e9dd3740530f362a1204364c6afa35f703ab363c6d943667379436bf3995366bb69236f828023fc00bfc3e15d779369b99ef3781f1183f147ec33eac92d035053191364b58133f910c833e4578693631dd2f387fce083feb4d083e211df636f38618395e7ad33e8c23b33dafa7ac3844f7b7385ceaaa3e313aba38701df9366662b338d85e2d3e0b54d336d1698d36d8a7e4386f0ab13c94cf6438761214362370b936e399cf3662e690365a239f3638c80837ecca02371415d9362940c836a2e8063787f64936e34af435ac99c935a95478363f141b3655242a356809513598db67362ecc05360d038c35add22d35acab49348b45583448693f347fc741342dac66361dd1333614f00636aa300c365dfab534f781cb3485c1d334f362e9347c412c343ad15e34f0144e34d956133403c21436a67a1136cce802360b200236114e0f376f0fa93e19962b3f4f35ee3654152c38e7b0cc3ef9c50e3fb68833365902ae37712cd33ef079d13e38ad303645a99537a5e7c23ea44c8a3e93fd4436040304381968ae3e6cbd163e75fc49340f96a43826bf903e2b7c3c3d6bad653619044238c14e293e93035938218bd334524d50387f4fef3a409050366ff26a34580d04380e04eb3766f1eb35b03d073689d6c93722b61e36d4a2d53573dcb03552e8ef35919e7935171ca43422c2443468ab43341cc54d348be02f3488223e3456a08c359a574f348ce514348cd928344d3f17356511cc34825ac734cdf7c53462a0a634367145343927383448055134bb6158376e2c6d36207a1b35b1531035a8b8c63715508c36f0c3943624269836e3530f371f5c07379f2dfe367dc30937ac6d4e38e582183e25fa593fe4801c3697bf343844a4513e00df3a3f03e11a35772ad233d86d663e363a173f56600d344e319838463d693e772cd53e2a7d2835db42263874f64b3e8635903efebfc234b65ae533990d373e6aa3073e52a00c342c3c8b385b56ff3d08bf873c860235372ce5c938055f153b954f6e381484a736f22ba4372fab7c373363fb36c59ffb360f02e436a0afdb36739cb536f1fbac36d0da1d375b41c734b95db334dd3bbf34f4733f351b492d3500000000000000004d7bf2367bece63635bcb636621faa36cd5f4d38b7b98635bf689635d157a535ab62c936b4308d36277f5c36993e5d361d569436ca55903692246b3696ee5536fa8e1e38329679370f30833560e24735f4e951360707343690b83936ee473c36d1790037651e243d21eb753f6f9fd336620fd4381fbeb33dc769593fa6167e340f67a837ecef9a3dcf113a3fabe8933484fc9a38421fac3d86a80e3fc4f2d836ab60df387b53a73d9d98cd3e9a24d1379144f437a3288b3d93f5813ed3bc9a361001ab361b3f803dd0cace3d4dd4843620d6b438c56ea43cafefe538db33b1378f1b4937be3a1a377a00383676ad3d3600000000000000000000000000000000bf7e7b37f99ae43391dcaa335c6b36344b788c36dc130a368c44aa32ace04b34a110a536c5454d3646b60c360676eb357f072938dd17d1310000000052db88339aff0d37c1b1ec365cafba36af04bb365a4c1637fdd8d53567838235fa8a523524eaad375741b136a657d3359824dd350000000000000000000000000000000000000000000000000000803f00000000394f483895098e3c3213713f5de1dd3372d025383a95e53c6ab04f3f05292836705085373981bb3ceeca253fa5f6583603a68538ae89f73cc51ff63e75af8b3765dde1373488b53c133ea33ef6b2023743b25a3734d4d73c5598203e8307cd3674e426377fa2013a9694183d21fa253700000000000000000000000000000000000000000000000000000000000000007e14af36241d8e36fa226e365b345236f5db90366d228136de58633629934e36a08c7d367d2a5b3679b33b3647c2293628d6b736970fa4368ff19436a8408a36db608a36506b843655dd7036872d6b361c6af237cc86453672903d367b0b3736fbae0d38746aae36a658ad363a5cab3600000000000000000000000000000000000000000000803f0000000000000000d432d53c821d643faaedb836ea3b95360d32d53cd533403fd26f53379f028336ffb3f03cca941b3f47010537b43d6236f298cf3cc6fff13ed0fbe0371ef7a83633e6e73c3203a93eb5a18d365c02843693a5c83c4b65383eb09f483891709336a6a13b3bdb39583d4b4062386d28d736000000000000000000000000000000008e84533525f57a3514128635e1e58235d5613b36348a19361b62f935268fbf357849eb356544a935169f4e35f0440a3542effa34de9ac8348290913489ab8f34afa2803632986c36f39654361a7e4136664627362e6c1c3625980636153c02362d14ac330395e1332f6aa5333f76c933f424c837e1d616355d28ea34cc79bc347843f835c2766c35f7214f35b8ed3d35bc96d534e6c07b3f18bb8a3c723a5f36fe7bc639df7f773f73fa5a36a5442436225e9d3c70dc4a3f722dff356607a9354860a33c1eb7233f80d80535df66c13430c1913c9053fb3e7818203838f7713664e2e43c0bdbad3e590e2736146414364bc2873cf9a9453ee4c8573788ed4a33f0c8703caabc9c3dc6064d38f20b1f35130b1338138918386a4b3137bb615d35afaf6338955b4f3801d5ae37b04e2336192908358a8caa349591383486ab3c34abec423643622936ad410936ba0ee035ff09a335bdb382359baf303524f0123588f4df371d7a1336044d043606edee35082e88365dc9763632cc61363b2252367e6518369c25d2354afeb13541faae35205065369b065c3641a15336691751367232093731e60937d9100a37aead083706a10437083d533f5a22333e63587d381c1eb638debc713fce5e083dddd0d2343ec5633c61774e3f76ef153862043c363f77a93a82aa2c3fbe4dd93592328a35b9a7c63a5b02033fee7a823807791836c5df8f3b445bb73ef47d923688b081362fdd4d3b75534f3e8952f03790b3d8352d4d7d3a8de4a03da148c637ee595e360edd483af7b754393df80c37d8890b3774b68736b9e48536f722783678846136fb638f37e6ff2e3634441836a9300336530416368ec7fc350851b835f2239635aa257a3701f08536d1fb70366b7d5236a97d533871d84d362e1d41365a932936d6c77e3635fd6c36d86f5236df91403651b29b3648c992367ce38c36ff348836d0fc3d368cd3303615f7283636d91936161c95368e5197367ca89636e7748d3674d682361ecc2c3fb59ea63e77a28b36ea419b3833ac453f918e483e20b23c362995183cc169383ffb23b43d76f90e36ddd7893cbfc01d3f1bf3093dae7f8d369b0e983ca0d1f93e68f6d5386f9e87377585613c8813b33eb506423839ff78364b8e1f3b32244e3e9296a036dac5913699e9f339c26d8b3d96754d3694f83a3684708938a53d533887499e368ea29d360f839037f5779233cef3943355269a33367edb35fdd7de323482dc32cb3eda32615ad235ee4c8330bc6d6e303c2c5f30d45d03368af28d34b9b449349a885c344c9306389b01e0356a73c8357979a635760dfc35e938fa342fddbe348da8c534d63332370a059b30d91ca13000baa930aa42a435f5d529344b72ce32b73fce32caf68833538d863323297a33037578331e4232371d93053f6215f53e1ed7953318b9d137d0081a3f2af4b13e8f79db32ea9f4d3c8c300f3f50cc703e7c987a3037edf83c933f023f4ea9fa3dac558834a13c9e3ceae1c03ea7b5d53dd877903633b2b03c9aada23e553bf3375269db34549efd3a3f68443ebb5e2138424d9e30b3dc023aa162513d274d303633a1c734344b2c38b79b92378a1b86338fac81335fd20738c5bf59360c332436626bd93504631f36ff180136f2aab635456c7835f8e19a36379c883618d860363e7441365993223767864736b6131c36b470fd3552d9713827244036e33b2d3600b6183658ba8137a0419336a90187364ade793642640b3626aa0336c39beb35f7e7c9353458943680742e36979d2d36a82f2436d96b52369e813936fce22436728c113650083a3897d8bb3eba1b223f4b7e54360af6a0384c8adb3e23d5003f1dd2fe35905a2e3c0434d73e7070bb3e11ca8f36bf4c033c52c6c03ec853813e3b014e36b7f5ad3ceab4a33e7fe11c3e91327c37f0ba993b16d4883e39e47d3d55659b361665433b295e383ebca63a3833350936b4992e393c6d043df79f163839113336a0b16937accc7c369fef5736e7103b365bbffc362a0ce3368748bc36d4089f36a765423710483f36afaa12367833ea35c87e22369455c935dc157a3516c63a35af448f360b957b3650e24c368ff43a3632d483386376fb36f25217363e24033651d509363a66e935530ebf35ec02a135e70ba5372f225236fd4f4336f0c63d36d18546350ea02a3540a5143518258734944c3a36560123361c141436ad8502360952113830e6563ef6124a3fef53e8365de4893ccda9803ed43e273f74c34036829b6a3caf3d863e4fbd043fef25d735a7324e3b31a9873e6082bd3e25fc83367c4ae8385c146a3e5760843e16edf237ee2598386fd2483e6ffe033ec37afa353626553a5f58073e99cb403d1996543615b0d039daf8b83cf6dd8735f42447356d5863381f9288372c434136fc892836251d043520a61433d6c6033374cfe832717d9a374afd9d3239c19032e58b8732c00bb93253bb0332d78efb315fdd0332db3e2436bea811368315e735374bc9354ef05e389d1f7e36b9e86a36653756367889aa37ad933e35b2eb35351e944b357d3e9e3789da3536a9d12b36e971263638f09437b78e7b36c7187236ab586c36ba6ad5337e92cc337f83bb33e683b43319a9133856fa813d08ca6f3f904f17330d44f33cee1f9f3df0574d3f06d99732dd3bcf3ce264003eccea233f60bb08327868d038a2ad113ee967fb3eec6d1836cd27dd38aec6073ed9fbb73ed4168437e19c513851d7dc3d16fa6e3e86de3635e8da82382fd6893d7ce8f83dd19c44360ec39038d8eb073df6b2c838f1f6a2369da8b2368dfdeb3482dcd233a3c5c8330000000000000000000000000000000073e11d38acaa7b3680983936b4f91d3676e71038ad16303643210c363009ed3583029236975f8c3671b26e366e615936b9414e38b592bd36c2ffa63654439936bf273a383d269436275e883642e28036df1e8838f936f937350f9b36fb889636eed1323899dacc37e9b3e73664e6e6360000000000000000000000000000000000000000000000000000803f00000000f7d38b3c1dc4353d1323623fc05a82365cf6333cdb702b3da34b3e3faa443e36796d6a39a7be393df4d8183fdf598c3653cac638004f2f3d61a7eb3e6877843727569738aa60373de43da33ee6c4b7376dcdb23825b7303d90f4383ef2a03d38da701a38cbd3f03cfb775d3d63860e380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006566d4348fdd4e35ebef5b35736b5835f7296e35c6e5d13400000000000000000000000000000000000000000000000078e61c33362f9c35460fa535ab10a135e0cab635180318354c9b0635e25bec34d7421a3500000000000000000000000000000000000000000000803f00000000000000007999a636ba207b3fc162ca36000000001c81f4364fc85b3f2ae3ab34f9a59532d116d8372234303f69da5237a06b5435aa798a3746df013f9b369936000000000b173e37fa02a43e29830137000000005bd1093807a2223e403214381c06593716205136ba0b2b3ddcc5d83678c5b33400000000000000000000000000000000960a6e34b0155b3434d208377d5a823604a71735893deb34360fe734d25e1b357c27e3344a56b734a987a334e279be346f0b40355b902f35c5e32c35023f3f350c547c35ac596a3537de5335dad57c35ac692134e9f41f346f0dd633cbe62b346213aa35503cb2350f829735fa7f8c358c21bb359f71ac3565129835a2959e35903ec1339f7db53348440e33b84e9f33b0e57634850f7b3f87ebdf3c5c1d8e37e0f2153567367b3f8d343639ee562035453ff834ca2d5c3f2545de37b67fd934101c503507b7333f45487637e0493c35d6c47f35e76b093fcd938936ed646935f9068e355562bc3ef24c99379a9f1a3436aaa53585e23f3e2c023538e320a836da62ac3512b3813da832363727e48f354525273313602933f1c01b33721b0e33147e9e3431d997346d668a34e97e8934f11ca834d3043f34bd2b81342cf1eb340a9b9735e3a78635a9e99c35d5b39b356f7c543475782f343e3402347851e033ffae2a35b87e1f353f7a2b35b4f43535a66473353f5d6935509a6d3554e56f35c6e6923425335c34feb5f13315377e33e794d43445f1c7341af0c634d6f1c234324a6835d9e55a35df028035d5948935c009a634796d5d3fb818163ea7d87434cdcfbf344026643f3d13e43dc742e13471509e353be5593fb891813b62a696354e066f34db9b313f499a7e3a08d3de33dc434e357e8a063f6078fb379710493556a17f3522c8b33e7c7ed237391e87359c4398367200323e7b36063b43e78e36356ee134338a243da250003a77efda3439d73f354b28063968c045358e50193550b8953504a591358c1388354ea185355493ae34c66983344927f733090b58348783ae338610b132b3bb0c310a869b3455c3583514c43f35c15f5e350e239d35b01a35343ef2a43476ce5b34474d9b34d86e103410a74c34266b48344dff44346ccebf351b40c53573ddbb357dcad7353dd7c2349566e5349a98d734bb1de734bc84163596550a356eef2a35bdd75f35e304853527f32e3f8618a83eaa3b673576c4cb341ba4383f9e7a8e3e94557d34e63902359600353f2fc41f3ec473da3356fa8335cb5a203ffb49873d9ddb7a359ad20e35ef68fd3e94ed983caf63a03486d2f5348714ab3e6601ab3bc776073450b78a36ca342b3e8723513b5612c235c977c93419d7e33c7645d53731c6913464b720356c22cb35e45b013517b54934f88566344a645534e1ed6a34981d8f346b36a0357a9787352a76823555769435e36ae934ab5cc1348e6db4341fdacc34efa9bc3458b9a934d74abd341993dc34a7b27035fec35635f75f59351a9c783500c7b33401d1a83447279834d480a93409d5f634a3f176363cdede34a936ec3475b0a935eae59e357df092354c029a3556b9823431b98034544b5134968f6634a4db7c3492c9f63e3476073f1d6942342669a135d746093fd602ee3ee63b8e35419c7f357ae2063f11b3a93e9880ee34ff5fba3421f8f83e9c8c463ee621af34df3c6f35d547cc3e40bae03d4425723502dbb2342cc69b3e3ebcf53c2c2ecb3439354f373849173e5727183ba347543768e69a358b4f263c657d8237fa538935fcf26d34440cc036986e4d3426cc65343857c634d125a83447558d34ec9e8a3431f9263414b91534ee3b0534f2f81334628eb035bfbd9935d3599f35b1e7a8355fac6e347d3a4134c03be433ede7ad3323a60f3445fb3034efc41334f6e1f6339864593574935a351ef94f3590215935e2f6ba34ed4eab344010ca33ce399e3352349734885d8b34fe06d234b5b0ba34b12e7235f0c067352711893554f19235784d3c35203d933ecd13393fab6867346558a6347bceb43eaef8203f6210fa3322a0b7359e2dae3e339b003fe0179a352b6b81344676a63efffcb23eb10c80336b080e3711a0993e17db4b3ec29b81341cd9e135983e743ef2a9a83d42237d35fef3d534e271193effc6893afb0acc3402a9c234693b093c4f07ac3755d7f0344a2d4935ade71d384a0d79356cbd1f35ebca893597258635f2158335b2337d354cefa634d3f113349f0fb1323c9c4c345a6604340667e233d7e47b338a238e338e11783534056435e21f67357353a535aa43153560fe27353cb61735e04d3435f37f15349cc04434c27024340c588c349495a8350f53ae357f6daa353097ca3513f70235a8890f35b293123575b22935a22d8434fc0c9634e9dea034e08ebb343b087c35c7feef3de8c2643febf95835bcf803356e70233ef6404f3f7d3c1334e21dd83601ee213e7a5b2d3f7ae3ef33285a8f35cf09293e74d4ff3ec4e47e35bf217035bac7153e096bae3e8eb72735f1d51735d5b9183ed216303e1003333470a22b371e3bfe3df84f083d33eff43516670935ff50e83b76ca85371a9fe83430e293343d469434c5e18934a9676a34f120e13357a59f334a54343308f0e733edafb735e35288350ab76135f1128a35392da635fccb7c355e0b6035f99d86350d252c34eb120434a593fa3334db3634a2be6f3583f13635490c1b352d1b2835c9873a3583e52135b4e8ed344c10db34c97bdf34d292cb3408ceb934a61dcb34c52f2035d3461335da69f8346fcdf8347922523424844d34df07203449b7173483b0e333d5c5be3c31eb7b3f66190d33f74cba357644663dd517633f8e238835db9073375632b43c16704c3f76026f35ae023f34c947e63c797c1d3fafb19b33d81776359682ea3cda1de53e64b44935b75d65366b61053dbf778c3e0da220359837dd36a7c3203decaddf3ddce7b634abc9153504a8b33cd15f443b7cac0535d4145934401c7035ddf14634a3e4693400000000000000000000000000000000489bf53475b28534f6ca7e349887a134c3c9b235ac8e8435e26e873566208d350000000000000000000000000000000000000000000000000000000000000000d3b17f358d684e350e9e3535fe84283500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000007ad11035780cd338193c773f769f89343eeabb37eae08338366c593fa0149435000000009633d239d2e4303f00000000fc20b6356843513a9865003f0000000070221d37ab1e85395dc5a53e6b75e23600000000880e3238d8011a3e75752336000000006cdf09385f69e43c0000000000000000000000000000000000000000000000000000000000000000000000002028d73500b26935e0ec4d35e4ee5a3578aa43349a072634cf6d10349e420f3451092e330000000000000000342e4933412576350926ea340315d5346bc0d934b8a808345daefc3301abeb332277f23300000000000000000000000000000000e6e0ea338a63ee334f05b633ae76a83300000000000000000000000000000000000000000000803f0000000000000000fbb3c13964c9733fae71d635702280355b616a3c2ed3493f24c35034455c3c346246e63cb4e41c3f3572bd3400000000e66c833d3333dc3eaeef313549a100350fa4873dc8538d3ecc861e34eec30a34dd900b3d48e9173e7d27673300000000c49e733bc88b163da588e333bdc1da33000000000000000000000000000000003a43a734c758a83451c5b0348331b5344eb8063586a3f6336a6f6732b1cb11341adb38353f73de34bc58843447c3d13400000000000000000000000000000000078960358fc08f34fc432434548cb134a8b32635b815c2344f7b45344466613400000000000000000000000000000000b3131b3522c28c33af940534fdb4df343720b431590fbe314a6b5731575f393127c04233873b803ffdfa403b46870634e8d87d35ddb9783fabeef43400000000967d2b38277b4f3fb2fb493502cfcf348ab8d23a1007233f00000000000000001654153b45dbf43ec5653435efd89f335597303c996ba33ee44531353dac8b348069b33916163e3e000000000000000079e7e936ae97693dd22adf343f01f3321722d736aaec2a37be048331eeeb8f319ca63833b189183364541b331777283317a49634b2b27334e6838034dc1492346e88ae33330ea633be2b723347dfaf33d8d75034f46b4133680b4b33113bc133735019351841f9337120f73383c73f3408f2c634ee1e8d34bbbf403404da68347bb1b534d7bc6a33000000000000000048944134e8530e3456f5b433e9a5e1337244cd335c38db323d98b0320738a833d0741b3308dd5b3f3234173ef1c71133ad3074349c517c3f85d18f3cb0935c3419e2ea33f3ff593f746835349e67e733d2998a368b9a283f844e923454604b336af3c539de8af93e68733a35d7b0ec3387ac7539955fa33e55a19e3410227334101669393cb02c3eb6591e3498707a334babeb34ec25833d94058e33ec1ca1336554c43325b21539f2cfa6323033cd322e271e335553293367601a33c5d71133e1f95634a0e66d3476e23d34bdbb3034a6101e35115ecf34d4dd8834582dfa330ed55533000000003ed3843256d6da333f8b21354cf53634985d3e34aff00a3580ec7f346a1a6534437762348d769b340000000000000000000000000000000011fb7a34624e5f34511726342e1f2934ec2325342cf004337526e832b84af432ce130533d6542e3f2eb6a63e969e2833974a473422f4523fa2b3393e9bc77434a5bc61356e365a3f8d75d53a65fcc4344a3cd8349e4b2e3f82f9f933000000008a4f4037e259fe3e8c470b3574396b34e8d56f38df669f3efa02ce3465ea9934abc71b37787d243e0000000000000000f6eb3135bf97fc3cfa7c5f3474534734fc870d359f42c639de900733836f073398ca463368ce4a334e7a17336be70833121601355ddc9534e1d49e3250679f333d7fe0345ac68434c6ee2e34a3a46134e75dbe34b87d2f3474dc5333e9290a34a8038535d40717355e9f093569d02b355c021b351ce2bd34c9619134005f833400baaf343ceb21346ed53f33267fbf33e59b8834ae955a3287f14f3223174b34ffb40034e2297e31fbfbcc30ad574233f2947e310f67fe3e3a40023f7df97b31404d423460a1263fa6beb33e0ec29d32fc2c2135f79b323f98b52f3edc9949343f770035416f2d3f9a77a83b02708733dc6abe3721ed003f741542384e7709356bc964357121a63ee4ef3b3567e889340c7df334ffb80d3e1e479a347c2d3c3395191935355d8b3b3a577c3297ec893249f254340e9c7c3486eafb30b404093102d06c34a7297d3323510033ed2d06330e8ea134b0cc613456155534dc036234adb27b331f27d4320000000022d1a532bc717a349ce00934e97e103486826a340596593534e8d634cfa8973499c3ca3476a5ab3478c792340bee1934c02f3b349bb01e35ef5d98346a8c18349d0a4734b3a05934583a263456f10f347e271b345143043323cbef32236bdb3298ade832acfe5e34cb4da13e62d8303fe7db0033c2128a34830be93eea1f053febc364342e2b613449a4053f1041a63e56899e33c38eee34e605043fa20b3a3e2578ec3344607d35e91ef43e3f4a0c3d28d6b334c58adb3442fda63e59f0ce3652bb6234b98c2037ee511b3e83c0f634adb47034e517a8344be8243a0b780934b7790e34c90d263398920e33e93ae0321da6013327d61034126fa533560b1033dca60633da629334ffa6913495b25034a61831342fe3cd34e2604134ac75a833b27a5e3394c2af339e044333b799b833f55000346fba3835d6616734947824345ba5bc349de6c934b2252a344ee6e033692217340000000000000000000000000000000060ee8d34215e7534abc44234663a363468f93133e6fa1e3301fe0a33b203093347d1e832d1710f3eb31a5d3fc7dc31334148013522ff853e7f6a2e3faf2ba13461912235547faa3e2c63013fd533233418c3b934295fb93e63a3a63ebefbba328969cb35a5aaad3e70bb3a3ee9921d35e79b4e3598ee963ed9d15f3dd6d991349b557c344bd11d3e32b50d3900000000311b1835e1db433ab21283341d6b7a340f6a6f34bc93c33366da2633927723332d02233243c61032c3793532441e273219eb6e35dddff834ce0c5c34ebad823483a573330000000000000000000000009fa4d734b6892334bb223532ccdb0232fef8923564a711357d3b9b34e29ab7348bbd6c3479f2c333c458b23200000000f0e321352f5fe93442a28b34cb499a34f9eb0f35d261c03200000000d9b8bd31b50fd93476b592343acc4c33c9ae5a34c212bf319d86663d3bed723f9638cf31d2835035cdb1123ea9f64d3f57c19d34d72eab343849253e61e4283f00000000849d0c35fc7f5a3eae33ed3e0b452633bf099b35c0f2673e35fb9a3ecb06fe343400eb34fa56523e2f5d273e00000000f18b3735b13ee43db97dab3de4759434244d5a354bf3073d55f5e6340000000004f8bb343b89e734b6aa6a34bfb7b23200000000000000000000000000000000916b323514301f343ae42634d9d91634e5702235bcc242346735b831be12f83220d81834498be633d958f133a97c0d34495ae2357b87ed34764beb34f40a0c357a8b2f35428f813467446633dcb29433278812370c57183433421934458637342cc12c36f7b5de3554ef8f35b87a90350000000000000000000000000000000000000000000000000000803f0000000011fcb634e85a5a3d1c5a693f631e17345f271138b0676a3dc41b443f50154734ac10d2341c919b3df9b3173f46b2f1330c87e735cc65d63dabd1d13ec5a1463571aa99355a3de53d146d833e86750b3454162734e12e943d6e64073e27590f34fc692436cef8303d7cd5143c9eee0d360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a6ca133dff91733000000000000000061f55b34a550403400000000000000001be7f6341b1de934cdd7b034529f0d3596bc3f35b57b3135563ff5346ed01b3523311335c64212354e17d4340385f23400000000000000000000000084cc463100000000000000000000000000000000000000000000803f000000000000000056d47b3d170d5d3f0000000000000000d7859d3d08ca2e3f5a4a19356ef874334861263e5714e43e2d06963457209e33f09b3a3e32b58c3ebf9115359205d034bfa62e3e36c6153e815761355f8f3a354e57cf3d05c5b93d530e12354d16dc346d61503d8722cf3b23585434000000000000000000000000000000000000000091cd3a3706007b354aa79d34d63a243400000000000000000000000000000000434c52349485693300000000000000000bf16035062c4835632023357a47203506bce2341aa2aa3425926134f1a189344f1be63522fbd834bad2c2346bd8ce34c2a78d34fa6d873491358c34d8c69034000000000000000000000000000000000e581534b6542034e53a84349a8c9c34bb7e6434c11d7c3ffa799b3c81cc8a360ee42f3a0d40733f000000000000000086db893ddf383a3f03e969355ea8443461a6d03da657f93ee48a7235484c4a35c613243e6477933ed438df34ad258834a962263e7706133e3fa41036b4c9d9345840c63d1019bb3d16e1ac3491818734b202843dff60ff3c0000000000000000b1e9163a9d4c3238fb3f13332258f83264625438cb692338000000000000000048050c34b22895330000000000000000fe4f6d3439d45634fe869a3300000000348d5435ae4f053578129334384ea432d1385835081f0735f75015330000000000000000000000000000000000000000eade6e357e6d3133caf024334e109533000000000000000000000000000000001357a431000000000000000000000000f626813497c5593f27f71c3e61e173381bb8fa359759803f64cece37cbdf8a33d709013c158c523f1d27963419034b34ed36753d88310f3f1828bc3538c7fd34d4afcc3da2a2b23ebd08a835cec30635ca51fb3dd4d52c3e34cd2d3300000000d45a9d3d4cfe973d7566a4356d768532e6095f3d982ec53c00000000000000009ffe263ab77e3438f77fd8324a6aea31a5981b3718eb5e3359d14e336b648f33ccd22937000000000000000000000000fbfc193500000000000000000000000000000000000000000000000000000000e4e00a35d34007357b4d1635437d2e35ccc8ef34d373bf3432ad31343202b034a9abb434e983a834b5de49344adef733246384326bb9be32033008330d03883370053a340afd203431ce2333e7ae26330332bb324e832a3fb053ad3e4cc78d3200000000864c673fa07bce3d00000000d1b92a382441643f8076af37000000008408e838e493263fb6ff0a3200000000fbdf0d3d7bd7d13e48ca31351ec7fc344678bd3dde2d433ec26cc2345330ae34227ea33df6cf4b3dfc8ac334617da5342c2d1e3d897170385fadb133c9a31f3348b313399265b638ebae6d3493e51a344bc58338b5790b361770f8346806cb3483109a35000000000000000000000000e7521636c46f5c3583c08e3417f4e533591ea0368eaa7336333629363a5b03368b231335bd910035c0b2f5349088e834e80fdf35f2c4a235280aac35ac0ab335874b8d35c3edf034208beb34a1a214350000000000000000000000000000000033525f351d895935f74d7f35ca668735412e69359b29033f2a25fc3e7b3bc9360000000046293c3f15b0893e00000000b72c1b36f933573f0074413d3d50d535a2689337d39a3c3febd76737ad3a8336b55812393abd003fa08ea7360c1ff534adbe323b60ee873edec814360849a535da31763d7df0673d625184352512c6348838ce397f34b93700000000000000004ecbd1385afdde36c5cc483571d84735dd4eb538793e813200000000f3c0762f030800368a21e23200000000000000006645553556968c343d90b1330000000028d640366268c534200abe3300000000cf982f35a55e203512b3b23429783f345547af358b6ae334751d8832000000005f72b7359660cf3100000000000000000000000000000000000000000000000074a18b324be89b3100000000000000006d4391381e14b63e09d5253fcad742329b30b937d33d0b3fff14d83e0e595a32f753ec36ec1a303fc4cb403efbe44235a6ca553840902e3f1c38233d3dd313358bcb5f3800a60f3f858d62383ddd13354cc676387915b53e6d9ebe37dfb585354e5d8e3af516e43d0926f635a18087343b0b49381dc4143700000000000000005fbaf936fe35113400000000bcbf143100000000000000000000000000000000017c24370000000000000000000000000c424c367a309632d890243372fb8233000000000000000000000000fb60a73151254736f828f3344506ad348236ea3413c33537c3935f36ccb6ac351c043c352dbec636ee8e71344570513422774734d03563340fb770344f501434f70eae33a3c00134ef478e330000000000000000f846aa37beaa343ef492533f0000000050592c38835bab3eb47e173f00000000b1948337506af63e5035bf3e46848135e5f0423765ea0c3fe5dc273e00000000c2f16e3710dbfb3efd06873d35a718359dfa7a382736c53e542ad338c53b9036729573380a47323ee701213857b46734b7e8c9386a541c3821828934d3b56634b9b9cc37c4fb6534ad3302342b5c6b33fbc92137e4e53634aac9ec332b117933000000000000000000000000000000006ff38235a75a7b34a5639333962432330367c1363b1e7f36b6f1ab3582e37a34ff3a233528e10d357963c234d2e189347ac29d3595ce3a3506ac2b35cbbc2a35a929b9365fbe83364ade1136228a98355e485b3405825c34279306341af0003408228334fb6f82343099d9344f4a0335157919381082b53d84456a3f743fb83480b1813889e9253ecd443f3f00000000923abf37f39f993e4f8e043f182d513406187637116bd53e4763913e03e788368da1ed36d41ed63ebd32103ecdfe063560b25f358fa4b43e2f3b853d7cbb27351b5c76373dfa293ecc6d383d5e5a863610203838f3f5533da8e88a378367f9330c99b437ca590f3401e0c33383091934000000000000000000000000000000004a7da1330000000000000000000000001a815935ccf42b3400000000000000002f39ab3501f1bc347f02553400000000e7c68d37ac5f9e34000000000000000021931536617c913521393935f1d5cc3473cb15362440bd35f3589635cdd5823526d4dc36aa421836c1aec7355ccac1340000000000000000000000000000000000000000000000000000803f000000006f151f3810a7d23dd917583f00000000f005c43b073ffe3dc3412f3f058bc1349fe0743870457d3e6563e23e6eebcd34d6f4103867b58b3e27b88d3e668d7c3490846a35088c813ecb91153edd9e003608ad34360909103eea5cd83d859ef3355f821737384ca43d0eec1e38a7bf23360000000000000000000000000000000000000000000000000000000000000000c9b5c336b986ad3678cbb936df7bbf36adcfe93681dc883681e58e36d0c1c536cf8e8837761d7136cc1997364f738c37a568b33775800e37c422723717c6ae37b13acc37b62ed036d7d64837ba4fd43754dd5337ef3c6c3651bcbc3622c26037bad17037c8f38136d8b2e636ec705d3700000000000000000000000000000000000000000000803f00000000000000005e6bb137c6f27f3f6d018837e1c4d7362957ec37e220573fd0e49e37b7d529375ce11d3842e82c3ff115e3379167a53701261738951b013f281ce737183abf3702328538a008ab3ecdb310386b36cc37478fcb377af12a3eee167737e29344379b54a837969a803801635d378c293b37000000000000000000000000000000007e1566376a9a83349b0f2136e88d3837d55d5a3642374436accd523608db52364b960c374efb7836141282363669c536be4b803729b08c36bb17f53644466f37fd1eb037126aa53615f2b53624c99d37d6dd7937b10a823609478436ee6d7637025b843768f95136f0410d3798fa87378789be3728487737c09d8d372ff1b837ff1a9d360e555f36f14b9536d6ddc636636db136cef17f3f4cb93e38196c77372208553602f67f3f0d42e937e3335f36f600c137513d563f58fc2538c33a5a37200ed0379f352d3fba340a388a86953713e945382c28013f5c106c3898e6bf379b94c237a849ad3e86bdeb37bb077837e2f50e389b91323ee28a21388a516b37fdc6a63787c96f3c64dacd37cf1a9c376d421c360241673748da38368b4b3636a28de13714ca953744f67637dfc2a6373c1fdf367975b836e730ba36318cbb3621108235fb584b35ad0e5b3508076235c50b92378afe9a362dc59c36d9d4483729c22237be7a953670529836252cfa36839f5c3792374a3629c4503695ec38378ae20c37ed8721366a8c23366ba0dd36e8ed143737d64336abc2803677160e37bac4de3780b4b83710a8ba3703f8df37bc4c5b37d6a0563fce39253e4e8baf37bbfab8362e8c573f63b1213e3758bc36e496633551a1333fbf50113e4bba6b358ad99e374bee153f0d45c63d4db97c37c95a26375661dc3ee8298a3d8073f73621466c373698993e9e3a6d3cfcb43937a6fc06373c2f293e3210b6373e088036efdba136f158523cc3393637a8b9643680c4b0378a98193842eecc37caca9b3720bbcd37699292372f3b2a37091d8237e9370e3767a680367cb68036abd98236389c38376ed1533548ff3a351ad35235f2ee7a37a08d88366eed86364ac79336302903376c5df8369ebef73656c9003754e0eb3794ef613793d25f37825ec737bfb88937a3fa8336105a8c36d5a569370ebe5737b6f7f4366d91f136032f4e370b8fe03786dc8e378ab99b37c073e33742e14137e4012c3f19dca73e0f505437e7fc82366a2e2d3fb78ea53ef83a8436c1e21637b5d4143f0bdc8a3e342260351b247f375527f13e2b31553e6102b43631ed0037abdab33e64c5193ed78cff36f257d93753bd753e8e3ca23dd041b73764073c370877053e75f1853cf8e4e736efd70437bfe32e3cf66c8137ac64ed36a25daa37c299293815cdca37bb83433773a7e0379a739a374b4efb3582eeda363bdbd73615289d36fe729b36f7189e3629c186378fdfed3637d1ad3693681b37f344cd3784f2563720c81e37c0588c3748ae5938a6aa0a38aa01ce371607283824f3e437f4919237367381374ef8be374a1f19387d427037b0ca4937ef1dca37aafbc7373527243751efeb36c17ea837df13ed37197cb037fe449d37b733f7371658df3653ff003fdad6fd3e615789357008a03694b5023f067cfa3ed36f9d364bf85537743bde3e99c1d03e857d0e37f3b0bc37bff5b53e2288a53edb2a8537991355388ff7853ebaeb733e41ab2a38b6b8cb37708f353e4c56133e701ca03754cede3778b1bf3d4d19843d8c2d71379da852373d6f90384fe63f38fc78cc36d3d7b53734072e3876c2e137d2653937a06cd437b14a81372ef2a636e8a7d536f0d9ed360424e436bc1fd8369df5e0362baaf13625b0aa355478973551e59e35e761cd37cdf50937c29a8a3665c51937daa1033748aafa36eddbf2363c43fe363029bb37dd31b236e9088f36213e19371b7fbe37dbd43e37a2356736f06a853781347537b7d43d374bc80f37d6686e37a235d8377670c037f8b5aa37f597d33760ba03373edeab3e6b002a3fc2a5b436cc24e8360609ae3e1636263fd8c1db3639a4bc3633d9993e937a0d3fdf2aa03597d7ce3797f1763ef106e13eb1673437af5d013705b1353ef264a43eaa2bfc3633cdb337d7c6e73df465543e4d5510378c4aa037a7d04b3d0faac73d9d642b373af63d373e9f0038c012da3705d6eb36a40fbc374c4f0d385453d837e6c383374d1fd037563096370c21cc363d5bf7368b3c03368f43e53564a0d0352b30d4356bdd1b36f20c183694c8053697650e360de32137165a4536ebbb2836d8c13636505c303738df973626d591365adc9536e313be37bab0533742fc9d3643d05437170377350dcd7e3536aa64355118673573d0833727e34e37835c073784c0843754a5e0375238ba370b14aa37ce44e037525ba23702602c3e6dd9543f74efdd36a814ee356065343e24974f3f0a95d435813d9836354a2b3e3ddb2a3f79cc11369c4357370fee053e93f90d3f39144036e04e363747cdc33d4d11d03e8d5496365668c6373fc1453db7cc893e8f1f4c37ce087435c91e303c550d153ed4fa6a3503b364371368d637faa3d637c3e1d1366811de37e7eb12384303ef377c0c79379a35853662f42c35c4a32635a2402e3575546937581635366e1522361e2b3136ec463e3770894d36199f3b3656594836a39a8337ea8d8036efbf7136b81b7c36a5ca023899153c378f0a9f365d57b9365b2dbf37304d7637892d97369de45237d11ccf3767716937382189368d6f3837e37a1037fa8a6c36e7236536ba9ab23629c084379324543791a122374cea89374ac69c36c34c20387cf47f3fb4772b356f6799373b9f8d3c00ca773f79542e36a2329d3701959f3cba554e3f47eb49362d7caf373d2b643c6cc1253f025d96361c6a14381a323c3cd9b4f73e56e29937b4a4d03799822638be75a53e7d467737f4e5cf3745c5ea38c5bf263e29fd85375095d9363088cc37ee9305384df46036d46982372f1bba377fc59137c34f793600000000000000000000000000000000b1f7c436024215361c140b36b1bb123652d5193732c22a36d1571435739a3435a5dc0b38ef2a7637579fc33658ded136c137e137ac9d9d37a8470f370a9f61370aecde37bc399a37c8d289360b32473780afa8371bd2633786e79636bfba3d379c56a23709468837f03f2837555883370000000000000000000000000000000000000000000000000000803f00000000dea34537c460b63766f47f3ffa681336e3f2683777b7d9371733553f066cbd3628b314382d2f89381f632a3f3a890538830ce8378f031338e0a6fd3e7ec0d7371ce5e237023b19380e0da63e4e29d3370b4f9e37058be237034b233ed41ea137a099843762b9c1379b443a38a0358a370000000000000000000000000000000000000000000000000000000000000000a3f647371a394f34000000001759b334e0560a37001fed35c112ed35cb4a4236e777c23758726a3780246e37a79b7137a93b9a36de2b1036a3e31236e4d31236376bf137dd3ca437e1f7b2379f60cd378472d737b0fb7e370744933779a1b53742f3dd379a869d3761f5ad376b31e23700000000000000000000000000000000000000000000803f0000000000000000ed317d3a5a9a713f0bbe00389ab9763784437a3a70644b3fc8980238cbb15d3750e33b3c30ef243ffbec28389deaf1371236333a4bf6003ff242e437e9852e37cadf3b3c1e51b33e594d42382b651238ea4c67390c2a583ef8ba0d386cfced37fca0373865b67d3da689f5370a2ced3700000000000000000000000000000000d2f50a38617a803751f2a136693db636b4c4c13618458b36eb4d713632ea8336197fa436b7d03a36b334393613bd37361ded46375f799a3690649336f7f2b3366741e937aa4f17378c7ddb36166a6037986bd0374ad36037c4386f3759199e37cf8c4a3732e9d8366771fe36742132373454de370d8a77371ca57b372572cb37120e933705a52937ca5b403745298f37340d6b38ef94703fdd74753d2cd707388c75fd391fc4623fe6446d3d1080d736ced6993c38183e3f5a97233d2f4a283724586e3cb4501d3f93d6ca3c9e0480375049b73ab37cf23e8637803cb52e0938aab8293ce03bac3e6cca1338aea3e737bee79e38a0b34d3e5ae4f237e9675d37208fd23945ae803d34fe0738fb13e537fd2c2038a49433387cf46d37382c4c37048b0b3831b0b537863554370dec6237c33d8837df279236a9f79036139d903629d13b374ed0d23690479436221db0360604ac377767c4365f6c91361e3cb73666b21438032c9a37b5794237cb61933781cbc13784b3823784658137d5b08c37c1d0e43724b27c37fcaf4537d1489c373a1194377c320837cf2314375bd86237cd015f38d7404338d3f8403888d91f393f6b7c39f7744b3fc5f1503ea98dcb3799bb2839ef35423fdb0c483ed2f5683797fc47391862223f7fd5263efa103737f6d3de3915da073f466df63df288b3374cf5a739580bd03e400cb83d58421d3823de9639948e933ebb22133d5807cb372081543918ef353e297f0f39f170ea379d293038fe30733da7b5e637ecae4a37390bd239136c2e3ac6bc5e388dd9493811b51538dad5013882f59337c5b58637da529d374e8e98367a1c4836d48e5536ed3c493795224f35682c4f35c5624e356a160e383512ac3782134c371eb66f3743b7053747e496362cdb41362d4d833639de9237e59285362b5e45366cd289360c5d01386a3789370e4d093712698f3779c8dd377752bd3781c0b53710efd6373cdec83760b79c37f9e18937695eb23751c01f38501a263f0380b33ed8160238c16a1e383b131f3f8b91a83ecad06637734c5238e6c5073f0fa98a3e7fe41a373b472639dc4fdf3ede025c3ee5c80c385a34903811f0ac3e068d233e5f410137d67d6d38bf797a3e0107cf3d8f6668378b8f42386a37193e9b9d393d96b3f1377c9e0c38eb275f3d8c1b0c386dc8c937d7ee003893208839c533d137e81e953703ed4d38285c29389c9291379bd9643706890138b72b5637b5e1eb36a2f6e3364838c83779a99236674d8d36caf18c36e2b2083882d2e4365647d9366bdfda36d47b2a389f85ff3701e5b03722b2cb375a1e26386f9167370fa3e6366019ed36c6f270388dd1b437841c1637b6bd9b37ddb0573896da2a3827260638b5f82f3800564f3846473938868c2838ec024638b1d7593859cd003f3e19fe3e97bf2c38e3ab5f389a14f83ed5c1ed3ec48fba375b461d399399d23e05a1c53e179ba237ae7b0e396909b03e7156a03ee066f6370634b9391dc1853e4f09743ea1a9283807ce2339cdde3f3ee1ec1e3ed2101638883f5b398a6eea3d4f8fb33d4ccb3938d7ae1e391146233d0c6c313cbd0b3a38d93f70387f7e8738f41d5838cd852c38996bbb3756c67b37fe110f36da2be535f9f87937fd039736cfa8573610d95736ebd683374e91b736f0d17c36f5d17a36ab2edd36adc2a1355267923544dc92352068fa36b1f7943629121b3678e11a3633051e383585f4372aa6a83772b2c337055ce337b82b3e3726ca5936490be43698590638ba19cd37f702823773beb43769a50b383a22f73752a9d937f65d00382f0ddd37e065b73e222a243fd1a39b37d8ead9372966b23ec2ca183fc7604537ba532b3877bc993ef12d013fb1e96f37eb6b4a381ba47d3e3a15d03e72028d3691863738da08443eca2a9f3e2d9af6360eeb5e3879a9093ef7565b3ec0d11b382cd24638a16c9e3dab38f83dbad0b137de6b2338413aa63cc77cec3c7382e83785702338cd9d5f3911c31a383da3ef372c2455387a1b2d386dfeaf3733043b3786669836256397360da79236aaed9036b4508a3708c24936632f443629b93f36212a963756ae4b371eccd136dfc5cf36516e193863dfc037f7a58d361cd999369b30e837c0728d372c66bb364b98d3360fa48437bcd6453781651e37b4f82b3734f4eb37b95bb137feed5c3794e88c3708c0da37e9b3c8373a07b5375f36cb3771521c39dadf593e2018493f4d174d38c16ae03784fb573efcc03a3f6f33983686081e38128e4e3efebd1e3f842b9337ac531138cb38283e8edd023fd3aa99376eb684382ee7f63d0ef2c33efa821e38c78446386721a43d3c57893e8711e637637ebd37cd452c3dcd40243e8b42773768ae18380f382d3a3975383df166cf37102b7539d931e23929f121380e0ab937ba7ebb377c5d8e36fbce7c35578261350bf09237e34f043606ccf035b37beb35e51dd136aefec636564ac036d455bf36b1f5b337da9b2d370bf91336e9060f366ac7033897f88837751f6036d9c65d363864b937323c1a37a67d9136369fa536ae54c637904a213774ba44368a48453656279537df4f50371cc7c636ff97e9366f38e2371fa499377a8519372a9b5437b57a0c384b8d8c3d5c5e6e3f925bdb376abe2238910da13d31a15b3f4f4cba3747d22638dec6963d13ac393f64b04e372b891838b8f67e3dd142173f34c6d13774b04c38aed6533df430ea3eadc211384e3eae3887cdcb3c9f71a43e5572e93730dd8639e8b7693cea803c3e8e83c937cd16e7378db3913954ff623d69e78437c48b3038fd624038cc251f382f6b8b37000000000000000000000000000000005d68bc37d1871937542f1c352d5bd634319ae837acca69376a466a36d65f5f3633aa223838fcc5371fae0b37982fde36e155b3374fd50e36b5a7083606b908361c671638ea3ae037198e6d37e4aa6f37f34ce83737589a375191d3362fdae1369c2604387a1cc537a36e8237c45f8b370000000000000000000000000000000000000000000000000000803f0000000089a01838a51f3c38ab10703f1c67f63741014f389c7b7c397cc9493f76c62638a02e72389ea8ba39b838233fbe685038fb0c34389849d639d274fd3ea2040638d2843e38cb385e385319b03e702a2438e4622e3865197f39e1f5503ee72dfd377aba18381c248e393470603da6a1093800000000000000000000000000000000000000000000000000000000000000003cd15e39dde8d7373162b337e7d0a937f37b96395cfa07390a8bf0376647ed37deb9f9391804a739169e4d39ede51f39e525fc399bc5b839ef088c3994aa7a397d29a839b79048395cbce2388d6ba138d5a8b6397f8c83399e354739cfeb3439620093395cbf623931d44639e20c423900000000000000000000000000000000000000000000803f00000000000000007b8a7c3a11e1613fc81b183ad8ee903966358a3a3153413f634f0a3a56dbbb39c6228e3a07ff1f3fdbd5313a1f7f0f3a9159503a54b7fe3e0394253a60f00a3ad7d5283a8509be3e48cbf339c518c23973325a3a2b87773e13ac093a55aaca39ef79f2391c34ea3d2cfcb239f1d0a33900000000000000000000000000000000a5eeaf397064853973019338a7e61d38e7ef0c3a7748b9396bd6e138c4123638dc1c0e381b5aec37bfc3b9377f53a537d9b99d38db8dd2370a228637650f3e37a828083a8496bc39150774398b154639f9df2f3914cee837b0e4de37f622dc37bbc2f8390d1fb83917a18839f0809e399f44233acaab103a8c40043a4f96083a53977539ba7653392e6248395d054d39080c3c3a0522613f8d52ee3d66b6ba39719a823ad418483f9f24df3dd20c1d3a5bcf2c3b59482a3f86bbb33d8e144e39b532683a99c80d3fd44d963df3c6033a023b903ab211e13e9465643d72d4163a6f7fb03af8fea73eb95c1e3da9dc85390f0e523af214643e1502403aea751c3aecbb543a3550d53dbcfd333a08aa283aa331b939cca2b83989867a390c237a3927a8db39bdb5be392861623962db2a39a93e8339f6620338d74bc737420faa3746aef739baf910380ebfe4377f5adb3788485239314cb0370cc65d373926523709f2ab3914fd54399e24a038b06600382a112b39ba50fb372217b7377aaaa33729ee6f3a8287443a6482113ae2c20b3af5a0373a5523163af26ff1394fd8003a5e78c239c0beaf39bef49c39e7f19e39ff376a3a0e7d403f307b783e7f08df39a542b23acffe2a3ffcc75e3e6cadad395426e63acdbd113f37863c3e25fd243a7268803a365ef33ec24e1b3e03b883399497cf3a9118c13e68a9f43d4edcbf394a418c3a1942903eb064b03d02ae4f398eabb23a3ca83c3e6fe65b3d84187d3a04b07c3a7134c33d8c22533aa853323a6a73f53978ccfc39d5dec53915f6b73924d0d23929cabb3981a24e3951540039244b1c3ab245f039c13553392f33b438d996173952c13e3890e4313833b92b3896b715391724d3375853c037866db837f721c33973077b398eea98383eb9d837e130403ab3c2f03915ea06396041b1385762ce385542ff372da6b9373a3ca837bf92163a3352e339e33ab13950b4ad39e6d1df392d86cb39643db2395bc8b039f976f7397017203f3e7dbd3eb0ced339e28cc73abc490e3fbf58a73e43e7233a0e4c063b5e5af33ee02f8f3e31754e39b6f0e83a069bca3e2cfd6c3e49247339d8f2bd3ae5f4a03e3a053b3e96b5d43943d9ab3a89416f3ee0ee073e02904f3a18c2443a19e41d3e857caf3dc862c4381c67763a5b70963ddbd9163d5e090f3a4c1f093a5cb70c3a51aae639eb92cd39227ad9394a62c5392ffa743913d318393ce59d3958110d392dd889386a0d7f380ddfc538120d2338f3da0d3858d20338c640a5396fc91f39fb8e7f37757b073777c2253aa8eb0a3a816ecd3956acb0397590b539fed25e3904d44238ae2ac237b0d82039b1788b38408c1c3848b517381d0fb339f65c6f39794cc538f938a938cbf2b439d6519f398748873926888739dbcdff398002ff3eb277fe3e0133df39bf6f623a15c8e23e5e0fe13e86dbc939a2bbbe3a419ec23eca8cc03e61f01439a0e7a23a7ff7a13e567c9f3ea455c23987495f3a772b803e77357c3e85922d3a6e2a8d3ad2663f3e0d51393ef525ca394b449a3ac297fb3dd96af03d0f20a43900a63c3ae28b733d951b5f3dc403b7399f75ef394162f1397af2c2392542a2392c14f639fd90dd396ca8973918744439f373ee39336a8c3973bea93791cc95374c8ffc371178b1379f9e3a375b7632375637193a73bc72396ef2ed373737e2374d4dc439e8617c390cf13338dc08ac37c0c756396984d937252dc9370a17c437bd198f394f98f3386a0d39383c143538fd1b223a52120d3a8baae33965e9d839bc9ca1390f208e394b647239b9d86a39869e0f3ad39dbd3e4cb21f3f5497003a8c9c843abfb2a93e9a810d3f04dd143ac92f6e3a231e923e0108f23e8b8ea638adfbaf3a7058723ef0f5c73e3f0c3f3a4fbbae3a6697403e66be9e3eca1dd9398779c03ab1e80e3e868b6a3ec64b9d39f545c03a6592ba3d0ee8183e1a63a1395928843a05bf263d9f8a8e3d4f3f1c3a829fdd396ac3e639525cbd39cc329a398d19c3396f79a43969bb3939c4cf3f382a90aa393f07bf37abd99e3776ba8837f0f7353ac207073ac51285393b65ca3842f800395e970138f1108e3750363a37d407b73959837939127d83387aaaf037de5d82399ef1f338fac0653722545737a1c42f3a6f24bd39dd760438c075ed37021aa43987191b3973bb02384545f937ee81b339b8c0a1390d38853976246e39ec71fb39d9c6793e4050403fa3b5e2392bfc843a3582683e2acb2b3ff270063ad638c13a2255403e05ba103f36fd6d3a81ba863a09c4213ecb3df13ea5d360397c09bb3a3a6fff3d9e3fbf3e7dd5073af949093ac6cdbe3dc6e68d3eb6af9e39fe9fb43a566e773d4d5e383e4a284e3a26894a3ad045d83c8e18ad3db3de93396112093ae7b5093a4ae4d8397d29a939ee189e39d226703963ecbc3813cd7537cf2e093a912eba395e249338e3b1f437defdf9378a27bd3709762a379603bd36e461093999fae1378ad5c93730cdbc373858123aace8e53916e45f391f83d738e44c2e395c44263888a4ac37e2638637b2b3753931243a3a62bcee3796d3dd37e389223a0eee0d3a941bce39ae29b339769d92397cb88439cc3e3e392f4b0d396ef7da39de88ef3d592c613fd07ccf391807773a818de33da21c473f9f2d2f3a9a60853a3303d13d719f2b3f42bd5f39a548a13a44c1a23d66dd0c3f5d5f85392da2573ab5107e3db8aadf3e934c2a3a3ce6723a05ce3b3d55dca53e0db27b395c79ee3a2ad5e43c7b32593e623ead3a7147573a1a5d603ae822d23dc39c223a71f8f339e69bf139b757bd39177f84390000000000000000000000000000000056fd87395f701639c9e5c537106eb537c728d139b92b9239042c9d38549be437a9a6d639fcb0a039a4a3d63874212438ab940f3a058ef139023e9a3946a9613967d9173a3543fd3910bfa7391ba17b395e9fb0393a5f88390710ce38f8b73938f054a939db35a739673e1f3986e510390000000000000000000000000000000000000000000000000000803f000000005be8013ad000303a7db7613fee55cf39dbdc573aed107d3a609d403fd86c223acf7a203ac86a303ad0c11f3f1d7f073a75f53f3ad7284c3a02cafd3eca52243ab050493af1256c3a453dbc3e152f2b3ad9a82d3a40b5443a48ac753e5a9cc63945c6203ad61f393a7131e73d77c4e9390000000000000000000000000000000000000000000000000000000000000000e5e15035f9614a35f9465735bb525335a49b33365ce9da35bfa8203619fa3d36513eeb369e397d3610a4a1366270e136b5c673369784c635c9b3eb3579d0f835e6029736ae5a1e36c95c5736ad209636412bef37dd488237201b9337e471d237bee1f9368ed09236f2098e369f5c9a3600000000000000000000000000000000000000000000803f000000000000000092722f375bea7f3fdd4629371a1425362e809d370cae603f4427d736ebc48736b43f41386405313f9571e037d240413780543538d817013f3a9de837a8474337a85ce837cb03a33e4acd953761efc036f6203f38884c063e1ce04038c858f637d0faf9370ad9cd3a0345fd379f67dd3600000000000000000000000000000000932f9933feb89a3363089c3363b399334a69c13548cfc135f43fc635eccfc3359da95b36ed470d3530eec835425e89367af23a3611ef9b35be5dc535a0a55b3655380e3684110236bc920f36eb200f36d7180536890a95352026c135c92c05364e586737f094433719684f3789e36037861316370c68fd3578d8a1358c9b2536186e723620511436985c9535f4d9a0356cd19633c1f67f3f87543539e9be6a370013de352af37f3f536f34387fe83f3663a81137a2dd623fee9d303831c1f63623710b3729bb333fdd5a13389ba4ba36ee111d36c16d043fbd97b53769ed143676359c36f50eab3e6147ee3866ae6136d381a7374e2c183e2ac58938eeca7c371dde0537f264a03c2b386c38c57564371e140b35584c9f37680f54370e300836b1766e3651d7663612c86c361f806b3644ed9134a84e8f3484c29134c20995348089c63612194336fa728d368537c33639bd053744cae83602e6f536c88a03374581a7364096df35d792483610c49c369e0913375892d236aae7e836838c0637d09c4937eee42837e622293798883637be5e52387e813738fb23353860954138f7bf9d370c798d3779ad8037580e7e3790d73c36a767633f24b9e43d32db7936290b94349c9e683f07d1ba3d3faa14363c33043706b8473f6bc0ae3dee7d0e37aa4c0b37a6c0243f424a393d68f40d3778e38537d83cf03efad3023dddb18237a7a29a377666a23e30f1f438961db537ca05763794c0133eb8a61c3cec9ccb3733d71f3841721f3cb0c9c73879cd4d3892dafe3689c82d389dc21a38552e8937ee8e923701779f3742ad7f37c509413703b0cf347b0cd03459cac834b14ad13401c57e36125a48366b61513654506e363ff5d73678c1bb367844ba367a5ac9369a840f35fe4b043521d2093533e01835c0a47437c53786368f9d8c36fe7204375dc337372774dc363782d2367fa4033758237c36b6105c363d4d4a3657075b36d3cff536c6b6a93620bb8936744ba936f1129236f151323f74429b3e6aba9137410ecf34f55d363f99eb923e95a0d134b66ba4360334233f4801743e5fb68a365f2b12377ed0023f7b24363e0c45e836993d60356232c33e688afd3d8eb32635cee499374c70803eacfd8a3d55e4983756e9ff3635c9013e38a8063bd0f70b375ab2dd3503c4043a737535382acf203647592c36a59cfd37327b88378e6e18360c04a7333594a8338d32a833e10ea73375ce34366899ca3575fdc73537bfc635ee364e37cc0c2037ce27083760a12137567305378cc79a36bf4f6636e216b536860f19367bcd0d36badb0936eb6e083671202a37909109377887f73698ff11379e36b637ce5e7e370e85733767d57f3776b9b33742158237d30b3f37fbe76237ead756368736a733e0d9a83366e9a633dc8aa4331e23013f95c0fd3ece26a5334c18ee35927e053f7ac1f43e75bcc535000e68377c78ed3e9ef6ce3eac193d37316f27374f0fc03e41339e3e97e1ea3618b62037637d8c3ece07673e5b3d0c3675b8353776a13e3e94fa043e23551b37872192378ca9b53d60c4313db7367f372c5a723779e5a53964d145381f7c0b371efea533c6d39c3841bb0438c1eba53391e3363641ac17362f89fb35f8210436624e1334fe9610340c8c0834d7bb06340f4e9736f7fb3e36d649e635f41a1e363746bd362aba6a3607415836482c5e3626862235ca46ee34eaf8e6344407ee3497f83f37be3eeb36cd8ed136041fe03670eb50373e18e736691abc366588df36978e003885fae137987cb5378c84db377912c637c3a1ad3719989237b6c7a53794a91736c739a03ea3e02f3fd2a00236a5071c34e4daa83e346e2b3f7c640f34e10fdb36455d993edd5b123fbce8453602a6a63744a6763e2084e13e13317636e88767375e3b373e7ceba13e55edec34b31291371a77f33df0e9443e70b20c372ec28437c7054e3d6767973d104ee036a2241438bdc71d3a7945a638a2826337fe1bf737b65d5a38d5dc1638aa14d836ad3f7c37da8b8436e01d08369a6a08362041ac37b7119c34c936923422739734dad92a371e1ffa36eb468f36d172a636af08003713ac85361effaf35d3020736f7a8f03652bc4536a0e494340a56fb3585e01437330808378f5ffa3629b708377fbdad37d31e4b37a134fe36db481337883c9a3678728136e80e3a366d7169366cc57936cb4f6e361d4b703619f27b36d073b237b904f83d93f3603f10760936b33d3238c7fd073e45715b3f98199734aa9dbc371e0f053e6e60373fa8cdff369d3e0b38ec0de33dee63123f9c6397363958073800d8af3db573d33e88db7836959a0838c740533dadfd843e60d80d37dcb00138a24fc73cb0c1e13d97f44037055493374f07aa38fb46833802b5073647e88f36a549b337dd8b86361e2f593644dfcb3587010a35fedc0035ccc20835507b97357782973531519135a81c93352bdc36370007cf362ec282357a27d03534cae33534bd3a352bc5a634d32bb63451a11636cc340c36f9c8ff3587fa053609a507374b35c636db451b36a3067c36a4833a3749771d37fe87ed36da280b37229c42379ee113375421a136352ee636647d99338c079d335b1c9f33aba39b330e992337d0f84a3adcd07f3f91be1335aefca137bd1a093bea6d7a3fafc795356cd4ca375ecf193aa5d0593fd0fbf636975a8237999dea396f612a3f97458f35e13cba3622f6253af8e3f63ec11e0f36ccf0a63770780a3aa551983e4e90f63646bdbc37ad2d81392dcce83d0f8f8337cfed813798165238d620723802e0bb3623c43437d30e16380ab14b370b14993300000000000000000000000000000000395271368976d935796459345bc60d3593f33e372024b235f23e6335979a8d35fa1b9a3616820c3689b1d6359c72f035c1787137b50b00367587cb35df94eb3513a0af37f53568379a80ef36422900379333a43741674c37118f853657f29d366ffc3b37666237376e751537eb661e370000000000000000000000000000000000000000000000000000803f00000000545eeb3673f004387b947f3f6ee1533685fdfa37cdc832381b5a5e3f52398136d8e4253751ca0e386f762e3f11ee90360e7bda37cf0e82387cc5fd3e8022a93735e2c3375fdb6f3832da9d3e9cf60f38d67a8d37b04529382b5afa3d920af4373e922837e8b8c53737c8c13933858037000000000000000000000000000000000000000000000000000000000000000047e7b235c9094e354b453f35bd103435b3455035896a4c35d8af4a3536ba4935000000000000000000000000000000000bd16633f30c53337f4a5c33dcab0933ac32fe34bf9702350e9b0535397902350b28823726148136c6ee6136306abf369866d1363d9a21362e1a35364afa693600000000000000000000000000000000000000000000803f0000000000000000c08454386238783f5aafdf367a15b83559612d3846b4533fbce7e3356efb563560c4373ac04d2b3f0579bd37c2ae863323a99a38fc67023f9a9f9f3789307d33f577e438e4cdaf3efa4ced376a8d5635595ee4397e933b3eb2a93d38a782c3379e380b3829f22b3da84cd4373430743700000000000000000000000000000000a1858f36c76e6e367efa613673bc5936b1f091364bd47e369e938036aaaf7736f4f7ad3426b17534e5a97b34cd6b74349523ab3489caf73261f926338cb2f7321a03603650e64f361f19533689fd5036f4474535dca220353b873835bd87363527a47235926974354625793511f2703515b51a38e122d737157ac73753f6dd3735d56c37db5b0d37e07fb036f552f63675fcb237d7f27f3f89d6ce38bd05d5379db18538a5727f3f67858c3898329636385e5d38d07c583fd03dfd37e6ac20357bc5493828cc313fcc4ece3705dc2f35c261cf385f36063fdf29ab3814a7c13797d0c638c425bb3e95a09e3821728c37308b263828425a3ea7d8103824129b3512246938cd81823d065091388ad13b389435bb37492c4b384e5de337687f5e37576f3136abfc2d36cd2c303676992e36d06ba136a05c95363c4697361bda913631f07d3342727b3389d07833923572331812d3353344ae35197cb835c21ab6353bffe1363a8b4536a31d4b369b154536fae20e355860ef342c440d3571b9f734cdc161360abc2b367d102d36122c3a367790d73786ed8d37e9d24f3799ea78371806ca36ccb0b0368345a1367de8ac36812e2036274c5d3f9fb60a3eeeed95375480b7363719673f107baf3d3bb8a736fcda133788e83f3f546c8a3deea88033c23c713757f8243f6225c63ccf8cef35becb093838edf63e4221bc3c7e4611376f1f1c367928b43e6a86ab38fbbf2935d2b01238d340493edb9e8f39d6c41837f7041338f49b5f3d93546638fb0ff137d1e1743758677f387560ec37a166b3366ddaf1356563e6359df3d935b5f5d6354fb8a03612b9933662e48d36175b8b36551a0c363c2b0036919ef935c719f835f19541346925ec326c7e6233cc208533574d40366a803236b26e333601d43236128a0136f826f135f05ae335df03df3574520b3661b1d6351d7ddf35bda00336e8f3e437e06fa53721188c370e0a983739cbb437cab381376c924637e60f65373e16e8359bf32f3f9011a03e7aa6ec352d16b636cc8f373ff205863e13c4a23679f74938b484233ffe2d4c3e4c0214368a9d98376be1053f7eb9143e97148f34ff6ef2372c09ce3e8fded13d06664d36e91413387eaa943e56d8623dcf4b0836bc86a63746822e3efb23913c56d45f36ce6c2038ebd2233dbf47743854e5f1378f640238a888403897eb083877428737c903aa3711c954373d5c9d3689d48d36ff64c8363c33bd36d4c3b236b90fad369b5cc93542baa3357194803584576535803a3c363c822d36bdbc21362cec1c3654a105383bbfd536f5bba33678d3a536015c9e371bfd4b36c6384536f9463e36fccfbe374f7a05375b9211368a450f364f6f3338accd193877000338b5640c38af7ec837688b9a370cae6a372b0c8537884f113831db023f0d27fa3e61cb853736d221382162093f8bffde3e2978c436a9fe1c385585ef3e03adb23ed321d135a716ad38ce1acc3e475c873e983d2d37d79fa6383aae973eda8f503ea8792c38491ab4385d01633e7bfceb3d16c10c384b2343387823053ed3b6593d6e4aea37633363380f03e23ca1d9af38686034387c7e3f389a108f389a593c38e5a58e37ce13ef36fed5c13581ab9b35e3469835ba637e36523a643664474e369bbf403649a91234899db1333eb7ae337688aa33cb10d7359a81af35c4538f3567b18e3548853836373836362a083736f4b03336207c8c348f325e34fb971a348183e93370f6b93759190b37ed8c353613ef413684803937c733c736b06bc8367b8fc5366b9af335cf04f935e506fe3505b2fa35a113e737c0b6ab3e99152a3fca9cb4351be9f83772bdb53e05e01a3f21fe743644de99370a4fa33e2354fc3ec9c1b3332dcd1f382f0c8b3edef6c33ee277da35a4d8053876225c3eb07e8f3ef35b3f3658c3e137f5371f3e8db2343e7e3f9a349a838b387f54a93d7913a23dc36d023895f00038ff59a93c6244023ac5273337457a5f373fb6fa37fa3a8d361adaf135c3a9b435849347358ed40f35c02607359383543677dc343617c4233630cb24362e10c135a7dba235b38b9a3599ab9935d58b8b346537e433cdd7cb330ed0a133f82bc436d7c83836a37428362c1c2936dff3e335f7e9cf35b56dab35dd7bb0355afec13556f0893365b189332ad58833690bc036e5dec236264bc336c635c636de2f1c364b0c1636a54c1436d68c1636793ffa37130b253ebfb8563f65cc4c3583e113386e80323eed58453f54f2443699531c38efc6323ec7ee203f2ddbbb358e222c36df88183eaa8dff3e65068034c07510382921fb3d3a88be3e40f9d436829f2938da49b93d26b2763ebb2bed35649be537ab7e503d5c0a073eb92ef235b6db0b38abc6363c587ade3954a1c33619e1ab374bdd1138448d2036d973153619b2be3599baa93532d28b35e1398435d24163362cbb41363d910e36a6dd0236d2754a34047d4934af86463459833c34ea5a193551bfd334e212893496118434418ba73731915236f9b93b36d5753b36cf00473517a53b35c347e734771dd2340cbf2e37ed97aa35c5c79535538f9435d99e5638ad032d3828ff9737a4629237ce5c813642c06736c85f5236be58533628031638aa34233cdb647d3fb136b33589f47b386388a33cce826a3ff97b56368ada0e38246b953c25c9443fa4a84f3472f3b838dffec23c364e1c3f638c9b36641ec838de13b43cf73be83e134001384def36383f85d53afe9f9b3ef07e7f357b7155383c09ba3aaa8b1c3e0d1b0638438c983832b7433a07579e3a838e8638b166fb3772c138382e645537cc9a7136000000000000000000000000000000006e45f1349669ef342c79e534a8e0dc346bfd1f36f45c28355524233504371f35822d03351efb063543720735bd140735632c98334364a53330baad334b88a63309b9ce3751529f360000000000000000c4c799372ff807374e4ae635a51ccc353a3b3538680f30389f8c0238fe08ec370000000000000000000000000000000000000000000000000000803f00000000fbd3f437ff119e38b636753fc8f8ef34835f713810d52f3ab2c6503fdb4ca0360f0752384b538d39b409283f6835153580843a38d5221339b21efb3e56d8493778774738e796a93abe4ca83eba381e38c186e53711af423ad773303e7f8f073889562038f24a88381222f73cf27b6b38000000000000000000000000000000000000000000000000000000000000000097b7ad3556e79235ce9f873501638035bac48133e6ad7f339ccc7d3348a079333cc7cb35e045b83555beba35650bb73581c618362d101636451e1536c6b915369d881537411f993615a774365a154e36b6ccf637d4149c37748c4237a95a0337eaf3ef379c27b037dde39037b2b48a3700000000000000000000000000000000000000000000803f0000000000000000a0d79239dff26c3f7cde73372c97b235b323593cdec6453f0964963667228233e5fb033be72a243f709ce5355204d5355b737d3c7440fb3e55494b3833ea093717f5603ce3d6b33ed64b7d382bbdd2372ad95e3cd5e74e3e095f413887f517388d4a093ae6969d3d3791303af0bf4b390000000000000000000000000000000079abc137d4986137ef1ea036fa7e8e36fa4fb3369041a63691ff9e36e5c59536c548fb34ec77733489b73e34cb2233348d504d36397f3f36c4ab37362e842d36f92ad53718d0e436fd0ae336a50ae2361b3e4836bc234436f6f84436adbf4336555f4036a2693f365b193f36391f3c36560e003853fcc237f8169237d6fa8a37c940da37e47d9a37b83a3537f1d62b375d7b1438cd8d743f2979363dbba604385ff8bd3afeb8693f226f363c02f2bb365ae55a3be474463f6c55b23bccf72e351c07953c865a213f1bf8ca37d90e5a362175dc3a6c95fc3e7e8aad3b0c0b1b38af876a3ab4e8b83ec7333a38929e6137ce4bc23a79e05c3edcac4d3c1dff4936b85390397e57a23d1e2f7a3c5dd13f38d9b641387ebbc839586e1d385568d3378d573637b928e9367d70e3368104da36bcfc933636278e36304a8836add88336e4a2eb35e37dc3350c8ba73529d99b355dcc0a367c27fc35ef8fea35f395d0351108a3360a607436f9417036f0396e3600115136a4ac4936a6b344362df33c36760207381d0c6337345e5636fb7552363cddc937baff86370df40d377cfc0f37e34286379c6b603783601a3790230b37586ab2373d234e3f2664473e5ff88d37889f13394d58483fbc041b3e251b963659146e3a3b87253f860a083e74060136c675343cfe0e0d3f6f18c13db3b316362d97533c9c5ed63e7fea963de6298137266c803a6250a23e2d88483d1b975c361c8f4d3ac62f4f3e2461e73cc9933338c33f8438a05a993db38e853c3416f0370528fb37eed49f38e3ecc2377d818437c6673b362911b5353f72ae35a852ad3565590137551df836d7daeb36f598e13645521436a65a09365c04fb35a75ee3350e4fc635c17cb13524189e35af4a9635b2a696362cf9953691a4953646ab95369a18083643c6ec35c8e8d5355f40c73559f6c0372fcc5137d1b70237b53dad360847e937089d893641378a366e3b8c36f7d60d3883b7f13731bfbc37678cb037d29638386b62283fd729af3e6747553791d23a38b5c2233fbb13933e6c890337df3e5e3afea40c3f5bf46e3e5fbc1a363fb23d3c30e1e63e29173a3edd51d4350a32bd3982aab63e5467153ef18df236c8381a3ccc35853e6cd8be3dc28a1536a34b203a04c62a3e242b593d6a96f237e98e3939ebbd883dcbee923c5b4516382169503837b1b83973de363814d00738520b6d37742a9536e65e85366586803687c4d636382acb361cdcbe36997db4369d240636a83dea35c25cc43594ada8355f448d360a548536de7c793681b46a36a5ca0738c8b31637c2b0b8364e0fb6364df61037cb4e9536a1b0913636448f366f493236be6e3336e08330362a5f2b3635cedf37ecbab637ba3e98377f829637f9d7903755993e37573ca9363c379f3601cc1b381d34023f887efb3e8ac68937c64e4539e003fe3e1c26da3e7e5ddc360dbf643a481fd93e2a20b43e04550d36c73bb639d974b43e2459953e2e509136b8b97b3a36488d3e1b77643eb3d82d38e87a8639483e543e0b93173e82665e3787c90d3aa787063e6041bb3df2003c36721bec38fd45623d2792b63c3661f93704cf103815821f384f14dc37588c8037458dc637bd6b2a372ebfa53690068f3658356336f3075c3636ed5536ce6c4e36a818bf3538a88e35ca83443533b03335aa2dcc3545afab352cc383355fa04735248393365db19136ab8f8f36a2718d36f844d235bc03c635eb0bb535217da9358d7322377737213649af1b366c2e163629b992379a81133744a7143775cb1537fab2c53594e7c9357282cd35c919c33518c486387363b83e5ca4233fb040e037e989933959aeb43ecfd70f3f4acc64362950193cc5a99c3eccaeed3e8ad6723682fc243c5fc8833e2158bd3ecd2be735d06d813997b8543e2ff8933ec03895366359073c6bf9183e4d0d4b3ef5c3df35ec7f223a4a0fc33d1ac6f63dbce1b237961b2d382d5f103dad881a3d06d1bb3740862638c11e2a387a14a3362affc8357c9a8e3680ea843602856e366b80583624adde36d67fcf36ffa1bf360524b1366be63a36a9a32f361a29213637a31436fce2343665072236768c09361f2af7356de07c360c4f753608866b3651a46a36295a0e36796a0636f8b4f6353eeae635728af836263d103611d907368a070236763da536e0baa536c2a8a4366fa3a5366176d9362403d53650bed136c18bcd3615b51f38767b593e9c8f493f34388f368bbcad382409583e449e323f1ef5e3367d59733a51cc463e85d2123f3c264d378b2d8b3a8149293e4603ef3ee487403644958b3a8972fd3d8068bd3e00029d366bbf123a731cc23d36557e3e94ff5036f325223ae692753d4df6223eb6a1753779db9838b6dfbc3c6c112f3d4cee4b371b319e379b4d80379e36e6366068d736f7fc943601cc89362ae67b36ac086a3667abbc367643ac36207f973604ec8836dc05093661cde53595b9b2358e4a8e35afa80f364fb7ed35339fb23572e08a35be689a37c52fd536404ec9367886c3365b7b44360ef437368c6229360a181f360744a93685e92a35adf302354fb0c1341754e5376e984037b257d9368b43db3683d8803654d37b368fa67536252e6e36b86c60392622883df8c96e3f388d953625ae813a68f49b3d60f9533f7fcfc3364b4fe73a083d9d3d5b19313f6fdb143694423e3a3a939f3de1300f3f053a1c36ac68563a21e6883d1b2fdd3e69bb0538bcc91a3c38df2a3d72d4993e154a55360f581b397232d53c786f423e9f0045375ff8f3384ebfaa3cedfb5a3d20091e389367f2371c2aba375431ea36c96684360000000000000000000000000000000003bf6a35285a5c35f48c4035e6b52a35081ab536abb123369f5c0636c717e535940de736f77470361eecd3355a568f3532080b37363b1a36614516367b78123673d0cd359761c035451eb03593c5a63520ae34376cb20037f6c016365ddf8a330370413811e80638ea728e375cb054370000000000000000000000000000000000000000000000000000803f000000001d4f8c3a9f40043aa6866b3f142c7835783f4b3cd9c6603cec0f423fb35c98374799cc3a915f7b3c0f3c1e3f206dfd375d26f339c1598a3ccfeaf33efb9cfd37db27de381d476d3ca82caf3efc5b4c36952494380d478c3ca5b8493e92a501385d0f9438ee847a3c5a61703d6eb192380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f597336dab959366dca873642fe6a36070a57365909473657035136744f573600000000000000000000000000000000e6ee5537d040b936aac0cb36b41586372327aa3640daa2369923a3361bcd9a368d9a8536582dff357e430436121bef3500000000000000000000000000000000000000000000803f00000000000000000000000000837c3f00000000000000006c158e3780d1603ffd837a36730891360cee56381b13323f6f458236c78141367ea207370501013f000000000000000048a4a2386f08a33e885f5938a9c5e437e47d7e388174083e4e6ba237b71da13652c8ca37b49abe3c8da73037f9a6f8350000000000000000000000000000000040664136776a35368ef931369f7e45368414b035b814993536ed9035056ab635aa33073655be9035353c0b3651d0173625782a360195e835b62c1836dadc4236dff08a35151161350ba97535c8758d35e0dcfd3567c6b3356967fe35ec83d33560b494361e6f77360bdb8636f5728f367d26a035b15f9e356a5da335389fb0357a460e3657ae1b36d711343628771736bb6820367bf07f3fb707e63a332e40366a3f5135ffbe7f3fc03e5338c80ea8354975413613a65f3fb54622376703413676473c36c66c353f1b4d5836036a2436d0352a355a51073f1c116b351e3d563582d696372b66b33e91e6be37714b0c364cde91362b8e2b3e7481893657ee7d3653ed7e35c499423d2d4f4436661d833559361e3665b2c53647abf5353dcf0136722cbb3572f5c835e580b8350904c73518b73d36e4dd40364c1e503691355d3632011236b549b935e8610f368c301f36eaad36362405263671282536a8013536f36c5e354bc579353c597f35318f743540c5cf3525a52835c8841635b211b63492b0cf35b10ec2356078bc35dc52d2358dbe79352cd8d834a632733382ce3333f5f702352ce41735b4e3f9349ccab5349ef8ae35d09b633ff92ce43d32c1d635951b4036df68673fe0eda43d3e5a6e36d20ac0358b22563fde34873ce26ad637c242303652632e3f4e555339dc6a3536e494623558bc013f8e780e390b4da135581458360d54ac3e3c75923804212635d70cc735d017193e5dedbe3b02e0c435c8f0d9344a3def3c884a253700000000fe20d434b225f73492f5ce3432f7af3451a9c03458af12342329773392fc4534dbf89d35b3b94035c4532e358c828b35b331a3359d0890359a86923543a88b3587d74b35ef412635bc0299340e2ddf34f75c69356f1a56350db93b3557c4b6346ea26c363d185f3686972336b3840036f9ae5037a79069351e5c8435771d03370da46f3656ee6e365e7e6b36e952443698668536b2958636c0ce3536d1f3263619fa6033f641333f2def993e74fa4934271f8b346d0b383f5713893e09f9a734fd887b3595d12b3f47fd423e1454953548eeb234633e0e3fa2b8023e54e4363589e7fa343779dc3e3ec5983d59316035e3257236a803963e131adb3c90114e365d742d386e17153e58803e3c16489336507d4a36931ea13c07152237e0315c36b20c6e3686ef8936692346367ce746366f7c823616de66360db6343631666b364200a13580c89a35a2579d356677ab3501a74136fdd808362c3ec03595020b36bea4333662b8033628120a36baad3a3633dc82352062653524957b35376e92352be449368b292936c12b123626e011363ede3e367f1d3536fc3f3536656f3e36993ea335bc86aa35b3ceb2358aeeb7352ba9793606728036e8157436d1176036b3005636a739003f301d003f6ba63b3638619a35e246063fb54feb3e10928535b4d30e369233fc3e809ebe3ebf9716362c231e36d691d53e8c98863ef7131d363c966c35b527a13ed44a3e3ebbc7543531f1443631fd703ec1e9b13d5e7228364dc23336daa3f13da2ab9e3c5bdc3236b30b9735096d873c2a14ad37daf58f35c0658536cdabee3767556936bb7e6e36b8357036467f613621950d36a37439366ce13936cae13b363feb22360bd53936f02673353dc0c83400000000c1602234bf3c7f36b04a413695870f3600413236c4c73935477041359a81b7342e3c003527c69035121746351fbef73423f0083556bfb535ba89a135c2918d356661a6350ba81136f922dd35435cbd35ac34be3554feaa359bdcb635a02c9834916354348d4e8f369c3f9b3e55a2323fa1602536b5584d368c0dab3e3ca3253fb0453b363cd157370b2a9e3e371e093f00000000e962a0360e928d3e2075cf3ee8ed3636dcbf6335346a673e00ba8a3ec66f3a352ccbe036903e2f3eb7e3163ea748c1344c0913375243e43df20fe63ce4e4ad3505c90d36e848693c6c78bd3575247735cb3ad434f2cac53511ae0c34df4b2434b922b43450f1c1345e748634f5822d34c46f0a34000000000000000000000000a9b3c035c6deb2354453a6352eecaf35d72e9435918bed3400000000eb2d0334ad21853519f96d35c2c108359ef7d034691f44369f0f3c3641a42b367b2d2636a39713387821383708962d364d1d1836ea8880366eee81369a03743644ba54360cd0093648b60a36baacd53578e5c335e20b9034fdaee63da42e633fc1a2bb340000000020520e3ed522553f000000007b2ea1358547fe3de3d3383fc81fa33526d38937a3c6fb3d75d60a3f253e15351f6f3b3572d1e93d6dc6c23e41645335a4ed0f38ce5ed13dbcfe5e3e10042d36065e9138d653ba3d182d6d3da9238a36726a5b3606f2833ca86e0f37fbb77036c850e9357d64d53728f9d735f60eeb35f6312436bf8f013674fad23557081a3660fd983502709635a3958d35d9569835f8c0933660006236c5b532363d425936b1e24436383d07365978e2359bc2233687f18e35207162351ee65f35b46c8635ca0b713699694036efc52436678f303697a65d3696e04236e8823f36e02e59364b3ead355366b3357b1ba9354625c6353a305b365f225236f0e23c3608973e36f83f1b36e9f7553c3c027d3f55a8ca3514a8a035307fcf3ca0776d3f31c95835f3368c364012b03a3902553f96fd51366c2a2336fe24f5397f8f263f82fd0f36744e9d35ed4dac3a2bbdf13e757351350f0b7336a61d6a3a5d63953e18313336c0fe4736f1478b3cc6b7e23d89a66036a0d4a1373d918c3982b4073aaa03a035090f5c367f26f836741c22366d933236000000000000000000000000000000005ab6e5354c81e0355d37a83506aedd35075e953619098f36d6fc8f36267e9836396e3f372015da366f75b636a0e7d13600000000000000000000000000000000e5fd933797107636f2d4633616307636d7ecbf3653dba036b5bf8936dca991361f6502358849083554383a34b515ce340000000000000000000000000000000000000000000000000000803f00000000142582368c41d637a5507a3fbf9ce4355dcfcb3769fa7e38c9695e3f76888b36c6483a38628c92384cd82e3f5d56af37ca1ee63136cd27372afefe3e00000000ffbde037a00a9939bbc19c3eba77c837f888ea364a3dca3759a3fd3dcbfe5d37f0c484356f086137879d743c0000000000000000000000000000000000000000000000000000000000000000000000006cc8ef356247a8356e13eb3567b4de353bb81636caa7f13535cff135c8c1f335b62f0336debff4356ebb0336a8460d3630292b35ccf119358c651f35db241d35e5cc9535d5c98c355c2e8d358a177d35821bb03516d2c6357f74b535dafccd35168a4535440948353ac8513541f95a3500000000000000000000000000000000000000000000803f0000000000000000a00e03395e72753fac5b9236c439f735ad7be03aafe4503f97d71b362aeb113671a96b3b038f273f5f55073645470036a6aa153bc6affe3e049bf9362f2824358341233b4f02ab3ec63da236ee80a03505e5a63c3527223e6b5faa3667a79d35091c193ac1dd433d5df48d37d1003b35000000000000000000000000000000009cd86c35a0dd5435190860356ad9483506bc9736eb686d36365f8336e8ae67361f73b235a9289835d111a73537dab735c34dc3350d96bd35ec46d535ecfcf7350de28f36f7fa72369ab57736660660362c25823532c97135dc57883573278a353c350b36d5d81136139e1536e83a28369a626936b523593696225636e6bd4436f1db2e366cd52a36d2b1263673210d367607523542f77f3f81621f3a24dd733576742638a199783fa4f7d83787b29436d9e5da37f268533f5fd8c435f215ad3510d04238beac2c3f60cdb9368188b335a438a139b5b2043fbc31923748828f36543434386ee9b93e16761c374666893520804a3978494d3ea822d137c22104366f6f9d373f5b8b3d3c157536dc2d673633969737d803c137a2324836e5ec403684235b36d387533668ba4c3616d05c36b02d8c367a8e7b360aee55364c5a4236a9ed2c36b9fbf4356014f4352ffde4353ed40234e9950434eba804344add0f343c7b23360d1ffb359caab235bf46a23556b74736a0ab0936574c0636179c1036ef81b0357befb63584c9b8352348ca35fbab95366d8c2736e7730b36fe450a36985dd836e3f9cc36c04fba36c05bc136c329483692d2613fa8d2f23de2cbb03785d29f36bcbd763f0e3a863c4ed3a7367d6ff23602ca573f5dcd7e38c01e3f362cd38e3766222f3fb005d136933201346adced38427c043f770881384dbc39367af53f38140db93e5344db365b12533682d88138ecbd3e3e8397b63563f6b435744f4638cdd58e3d6c6b2c3865794f375de15637de018e3785af35374e7dc03644bb773791847437a1d82837d6eef036001a8f3673288036b1595336b6843a36e5e701365895c135704c9635a1b8a1357f29e935955fd035c3e4b5359d31ae35a37a45364e6b293630b90c363480d835c839d8358aacaf35803571357c578935888672356a8a9135e6bb5c35705d753527e6da352db3c23563828c35b4811b355724d836bb88d5364988c836264ecc362bcb61378f3d323fb0cd9b3e25b9a0372cb0a536be32443f64755a3e2f489336f866e336b7b93a3f9f3fcc3d9caef6354219bb37aea6213fab7b0c3d9687f835f60664387def003f63fcbb383c6a503670e73938e1c0b23edccd4238f9bdf135d4a27c371189423e9ec6dd362a445b35dfbe84384b36563dceb6ee37d71cba35d6671737c8df3e37c2f4d2362127d33672f0bb36fc6b6e3698b59435951f24359d9dac3644309a36e109863624897c3626ace435e014d335e906cc355383d0358d426f350e6d2d35c07a50356a788935f708bd36bb0cb036c63da236b7149b36d8a38d35700b7d353d35683594ef5e35c6917f3704fceb36456a0d36a6af6236146eb0361d95aa36aa059b3653c78f36b1211336d4b7d0357abdaa35898370350b0b2c3708dc023fed8afa3e9311e63659103e370e36123f82e8c83ee871a836e11f373860630c3f018e903e8cd5a13617368437e7e6fd3eca042e3ed4cc2835af1ae7384380c13e2e4dfb3d80e8c036ae18d637b6439f3e1f8ac13c4f54493662348c38108c2a3e4521503b122dd637bfbede379f55173dbfaead378e5fb43694f94a3709fb74371ef7ff36307200362edad0364957bb36788c9336457ea5363fa2a835ae18633547dbf034a410d9345ae88f35947f0d35dedcf633ba54503425f77d35eba34a35794057344b78fe34d8223f36eb5e1f36eb00be35b032bf3583552036a7d3e935b45fc135b689d235a6720b3619990b36ad31f335d6f8f835cf4a9f36014b91362ec085362604873672850637f7d2fe36be72f6363b3ffd36f9522137d217a73e45b42c3ff1cdbc364f3c1e38d380c03e077b123f120ec435b44997362ff8c13efd73dd3ee6979f35162f19388effb23e58809a3e669c753579949e3879219e3e860a413e551b59369e1959389e117f3ee34ab13d49772d362012bb3898f3283ed871e23ba2cd063648f7b63721c2aa3cf8227937d905a1360394a3379d3dac3709ad3f374311f536f46cc236ecfbb336f7b57b36c630753675cc283625181536f3e58c35f8aa9135272a8d35b1956935243d483579eb4f35cacd2b36fd6018366f3cbe35b980c435cfc434361ca022364241e635c2dac635fa740434ec2dff33f620ed3372b80034951d2d36f09b3d36105b27363a1e263673b0a036dea19a36db978b36d7a77f3615573d36e1a54036d0913936609633360e49883752420b3eb3435d3f46bd9636371e313820d5313e18c7413f6a701f3669ef943735cf483e2a731e3f0bfe8c35a053e43774664c3e8b8ae13ecdfe2136d251ef38e864363efa479c3e8dcf723636504b3885521e3ebdf3253e2c4001349acb8f38ab54e33d25ac413d8ace343660861a38d05ea53c65c4a736ea4a9b360c4a9036190d4b360c123336c456353686810336d37fc535320ca0351eaf8e358f096e36c3de4f36d95a2636ce24283680240d362eaefd35f0c7c73557f5c3358a6f6335d2825335e69b593577ef763543d39b3687b29136c8b37e360caa7a360fa0dd35d203d335fab1b035f3cfa735c998ac35ce64c2351561d635afdaf2356127c33611a5a63628419436375c9236743f6435d78d84357b4d6a35b5ac4a3578d9bb3766ae0f3d7f2f773f8180f835a7942f3711b58e3df7d75c3fe6345e36ce9813396ca95d3d88f93e3feb401336cf4f04387c01783de49f133ff3543735bcda9938f6948b3dfa09d43e8632a636d5e4fd37b12a8e3d3976833e2c70b63690c0a137c6e09b3d74b6ca3d779b8936a52842384f2bed3cccf89e384633a5376dc51f36acf704365a2e6f35ebe1893500000000000000000000000000000000cb53433588f3333533182435916e103511f5933547890d35a54301351d49fd34f54806354974e4344dd8e63493e1f434a8503f35a9a03b358a1f2a3526632e355538113673d1e7359f26b635e109c135a3970a365d760836ba8110361cb11036586c8e37904c5737cf4239365e0216360000000000000000000000000000000000000000000000000000803f000000003b183c38a34e803c32bc6f3fd94e63350abd64371fcf733c15964e3f3cb49135b87cac38ed1bc13c7635243f53b7ff34f01ede38c3e8e23c9c8df23efa9c4035d7b6be366663023d551a9f3ee9340b36d248df371889253db550123ef4467137667c05382b0e363aec8b283dcac4fc3700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011363b353425fa34f46957340304b133c71d8136c3e17436aa6f6436359f5836637ab53518f29f3536d68b3569ee8635d1accf35bb94c4350e3ab13552f8ab35883e5f3629085a360b4f5436990e51361e838f35222d8c35b1ca8235266d823500000000000000000000000000000000000000000000803f000000000000000023f29d3c19b7633f00000000000000003f2fb13c82ac3e3f693932377b6f7a354e14e73c490f1b3f7bbc91369a21893648ede33c3af1ed3e4c97dd35a5bfc0355c902a3df42b9b3ef937f735c9f5e735f8f20e3d9aaa2c3ea3a91338a6306d36f6cc9c3c4a24383d1bfe7d3832d39035000000000000000000000000000000002e3b0d3620869e358376963509b89435f8019d341e428a34b28c7034d0ab4b3436e97e3666bc6336fe2f4c36577e30368b607d36ea955436279f2d3623db0e369da53f35265f1d35ad7fcb345875c5346995c936e1f6b736f1b5a8368db49936bdc69d36614096360df78e36ff2285367bb0e035e013e7355e1edd35d12fc935c39a173679061c36407e1d36a0431736962eda3686bc7f3fb381bc3a59123b3709996b3babb3713fa33b07355b39a3346acbb43c9b05463f4b329e36675b87360ddcaa3c304a1f3f8f9bae369c7792362f800c3d8ecff03e0db88d35b5d1563527d0063d0129a53e80c8f2369e87cd36e8a6023d3fc4443ece70f2364361ac365521a03c7e0a8d3dcbae41379d48e335fff11138f2f5bc37fd781a3614d0143641db6c377d563636a485ce35493ece3582cfd0332384d3330535cd333520c1334b176836463953362f5a4a366a5628363145b736109aa136480c993685b38c36f721073517bf61345383ac331645aa323eed8c364c248336d857823666f868368c9e883628bd84361016853698687f362d025e35ed9d3f35714a3135ada4e034b9942e352e21343596453b35733d303588332337175f583fd90b1f3ec1ba0e383fd08f391f4d6e3f9d60ad3c1065da33da73be3c2706473ff9f74f370b3d7d364a64e43c12aa233fbea823389b2ac8367d540a3dcba5f43e41b7903540c034354fea043dcb19aa3ea19f1d37bb6d9536024cd73cba853e3e56092937aef58c3658779e3c06ee6c3d958d873645f58235a3e7ff3766a2d1379b7483365d952f356857a037c8e1c235c47a4c3597034e3500000000000000000000000000000000395b7236d0425a364ad04236c7d12c36186390362c9988368c6e7b3678296b368740a534b9def533b109bf32b9847f322562443666883d36f33b3136fdf72336204280363f7877365f9e6d36d34561366f598835192a7b355565633588b73235ce1ca5350af29835bd419535674c8735613f1e38432d2f3f22cda13e0f2c2f38869a1739da14463f6b0c3c3e00000000c0f00b3d48c02f3f75ce9d3d13749d373cda183d7825143f1620133daf279b367178333d5c78e73e9222163bf651f734f4050f3d557ba73e6ff71838789f62369eeaf23c232b413e98f6d53628c688365f1e453c06aa783d9357a636b31f8935e4555b371e9f3037ae1b9a36528ba13506b6863672361f3632b4e4351e7fd135330e75357e1f5b3576be4935b73d3f353d214e36c0392236d57df235f5daaa35f9649a3630bf8936f9086d36972045362d753635e794323529e53135d04a2f35f40ba73697739936ec158c360a05773657259a36b3a09836bc3b943602948a36cd1bbc359df3c035a301c435ba2ebd35ee2817368ae0153668b51536cc1d0b3615bd023739d1053f08a3f43e822fb736bef5203c7883133fcc53b23ed7467e35bed6e53c309e063fb4cc773eeee15e3600372d3db5eaee3e8650113ecc40ae36739c033ddb68b33e7872f13d25c13435ad9c2b3d7d6b923e0436b63ceaefac36058ff93cd7b0323e5d898138a909a736f644353c81ee613d9a9cc13564ffbe35c6aeef36f302ac3686d22636708d173600a48236c63a8a35baef7635ef535d35c892ee34a7bba333d99b9a33ea4b8b3303b559360807433660b42a36c21d053633a83536380a2536f7ba1336b39dfd3555938f32e624ae32474bc1321ae7b732f6368f3627718736bb20833618816836c2d8f237bba794366d828c36325e813600000000b3ef712f77260e303a05fd2f61122c3515fb25350aac1e3515e50c3583a48237b67fb83e89d0233febb8db367fc0b13c9f50cc3ecad3013fbfe01a353f8e013d8fa8c33e3ed0bc3e58e06e36f0aa153d14ccb23e2b7d813eed0c47364fe63f3d3965953eb25c283e6c838234ed731c3dfc5c6e3e6bbb9f3df9b799365086333d8a3e1b3ebe7fe43b08f458389748633ad3c52c3dc7d9c237bf2c8d2f9c061a385b47653755263835d2012a35b6d40035c28fec340b1ebb343cbaa23420b2e933ad4c0b326a33f231d83bd0316ac26d363655563665b5343682b5203611d08b3680b78336f87c6736ce62543649b92535790adf34d1012c340000000078fad5362f46c736cf9ab5365d5bab36c6b696363fa590369408863683cb7a3690dffa3364bdfe33c9f001347b01fe335bb19435c4078935c8967235f07a5535b5a9c2388239493e51bb4d3f370e08355cd7233d6be9653eb0a7283fcb129034f91fff3c4579733e97f4043ffcd78036ce390c3d26886d3e5c8bbd3eab7f9b3689d0f33c5037483ec151873edade4835ac2ceb3cb880293e8d2c0e3e4ffdb837f5eae33c2598e03d3163803d156fa5362efe283c60db1a3d09de64373d3e04348bb0fc36496eb335a7aba435654a94354dd07f35c3205635e29c0d354be7e53437b1713513fd2635d987bc344c26aa3472986536f1b72c3658b0de354ef289354e84c3364db1ac369b479236605a75366bb13835818b0a35f591b0348ecda6341d5891364f4a7836fec84e365c012c36adb4a436da459e3644c09636489d8c3686705835140b5f35db556235b2e255355242893504ba80353245773563af6535c6f5f5391195573deb93723f1f60913579c0443d07dd5a3d87864f3f59868b35cd00193d78c5ce3d7d78233f13a479364b5cd93c8149003e69a1fc3e7eedd736d519a23c136cf63d808bb63ecb0165358774903bd18eed3d7c93733e6fba963625cea13a1982b73d7f5aea3d0eb5b6361a6fdc3800ac563d91c32538f706663564847036317e993564e28b35d6a7823500000000000000000000000000000000f9aea034a76d0234c1d6ee33f179d0339ade4236eda93236f6b31c36809e05363d83bb352cb4a53517d391359d836435e2bc98359881743521df4d35b8ff04357949833643507736a09a6a3636b45936bcdb9f35a4669d350d4d9e3510c49535000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f00000000534cf33c45d80c3d24645f3f3fffe236cad3ff3c6c6af23c12743c3f4837db36eedbe53cbb98433de095143f6d6ad635a6d8573bb42f503df09de83e23ceb9353f0cd93af2d3713d73c59c3efa2987365f600a3a2128893dd6ca2a3eb1a116389990c63885c82e3d3c07493d00000000000000000000000000000000000000000000000000000000000000000000000030350235cf16b8340348aa34ac180135518796348e579634b9a7913490d4a2345c1f35331574e132b903d532d0c091336f3095340c765334be3446347e4cfc345a522f3547cd29353de71b3552a13b35c7905935fc50543518621c3542232b353e3882332aed03332e6dd733f9a1f43200000000000000000000000000000000000000000000803f0000000000000000195f2d3518c3793f92a61735c1eb0d3510f9aa3451035d3faee18734c9de453458ce7f390cdb333fd27d3b3426e70634be733135fb5c033f0a61a7347abb9a340d024c36ae93a33e2b700135c629df34b4fd253ac6011f3e99e5ac395ba392353b16213570b4333d70450f34607af93300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013bc2c348feddb33b9320f33e0cf19340000000000000000000000000000000000000000000000000000000000000000e0e35a340a8c0a34a8ee8631fdc43b34000000000000000000000000000000000000000010776234000000002ac80435fc93fb3222e705335bde1633afec01330000000017657a3f95cdfa3c000000000000000058eb783f8ac7bc3900000000cc067734a42a5b3f21c4b4373e641d3400000000bfb1323f000000000000000000000000aa28083f78b22b354a021433c04606363f51b73e66582239a4d8a031000000009c49393e3574793ad2ea8b36f30dfa34f38b7b3da9ce9e3567d41f35bbfbef328a0db137d46f0e377e51013364284c35470f5935a75f4635103850355661c3333e55db3359180e34934c58332e2a8535cd306a355e1f96355ffbae35b677f935cfd1ed35a2e8ff351c9c0e363b0deb34c9e5fe344f0608357bd2c534760fe03350e8ae33a6e3ce3342e82a3423997f35a1e28335c1648f3545fb8f3520280d35c02e1a35b5382d353d50f334dcb5dd337b6bbe33909ce43318c60d349e7b153578725e3f2cdf0f3ed8577b354006e133b836653fefd5b83dddef9b345e50aa35a614583ff353b23b8c6aba3554970836a82f303f2c3e923aa3530e3654050c351545043ff798b93a18d5f0346431293475eaae3e8b459a3b45745334ee11b235d66a203eef59fe3c3f99863561031f35c2850d3d34c3d23af8f50e35f91d0d34904eea37b2febe37ef26fc3397994334e91496340c7091346b5437340229a634bf9e8e34178c8634ee44993492139c35ed809135292c9c35a1ac953545af8734093a8b3431790d345bf185332956cc344963c23456c8bc34eea4c83479b3e9352d51e235f815f3354ae9e9350fc0b3350cfd993575465e355f4f9d356b32b7356df2893573c78b35a7e9a535e181b835920ec8356cc3a135e894a43572473f3313ef323f1bbc9f3e8ddf8f36d6b6d33487fe373ff02c8f3e4d30b634843697353b1e313f11b0233e06de9135b24a32358d88193f27d4aa3d2d368534d416093572fbf13e55d42c3db981073783d0f7352f1da03e287ab63cfe59ce35de81f8352738173ee608c43ce09c7535d3860d3660ccde3c66803e3af1c0c135a63ad735fa45e3356b42b935c834b2350bc739359b17923400000000000000002e62aa35acb7a235285b2b34f2331f35000000000000000000000000000000000000000000000000000000000000000066f216331dc8403400000000513d513400000000000000000000000000000000000000000000000000000000000000008d924f3520fb7b35265e01356462a53577875235afcc1235000000002983a13437c04c340737fc3ebe43043f00000000d1c7d7358b4c083fe8cce93e037bab3500000000b7b3023fa375b03e0000000000000000f0c7ea3ed590633e0000000047264a3548a7bb3eb7cf113ee142763500000000fda28e3ef857613d0000000000000000d25c0d3e8b3f983c000000007ee7c43501a6b33c0671c836ff34d93598864e35ed3f8338088196358e6d19343260b5353044d9359c52803539158835cc48b635d3d98e35f0db0f3579802a35bafda0353bd65335c2ae79356d558435a400c7357dbfb6357538c635f42dd235ed68ea34f6160135efea013538a2c034eaef6434d4af4134ee749e34281da8349964763565bb703548af8d351c1b95353582d534b0d4e434fbd5f934f099bf343b119034ee266734b57e8d34812aa23441099435a8c2943efc7b383f94b88a3595d6d235cc04af3ead7a233ffca386350ad8b1356e6aa33e23a5063fbba79335da8ae135b6a7983e6b9bc23e4d07c93527351f37d1e9883ef9856c3e36c4ed342f8b3435c104653e6fc0e03d3f32cd346d60b835e5bc0c3ee9e8bd3c99298435c042ed3480b9223cba17673776aa1d35de7fd63440fd1238dae50435417ad934b0de9d33ba176333232acc328bf523335eb3dd343850ae347ea0a034cf9fd034f5258f35f28a7735a63a5d35f61340357423a33315f184339f266d33dfd39f3364a0cb340bc0b8347952ae3470afc634f5a00736d104fe35a16bfa357cc4fd3568a2eb356b6db935626f813549b3bd353ff0ef332862f3329f61df32e4d2f633be2283352f457a351c377b35a48193354359b633123af83d9c14633f94146e3336090b353121173e23e0523f5f59ef343888ae35649d043e25d2313f5dd85e3508773f344571113ecc96063f1003b0339ec20335c49a0d3e3055b83e6456df3420ca1136d4df0c3e39b93b3e2a29e23562690a364b78f43da944383d9d69a83578507c36c5bdb13c93c844384a9fcf33984767358f997335bf955735dbfe2a35b765fd32439edf32c69bbb32ca1dc732aeab2a351612073500000000000000000000000000000000000000000000000081955a3120d49531714bd43155942c320000000000000000000000000000000000000000000000000000000000000000a6a30934125a613200000000d3d51034000000000000000000000000000000000000000000000000000000000000000097d8323363d1f63cf0507a3f5679d43273eb9e35edd6543d28d8643f65700835ab64ce367b34873cb9eb4f3f00000000c2bb4037ee20c63c8a28213f914b0132ea3277333b25e13c5b1be83e0ba8b13400000000f16c123d8acb8e3e000000001a8a00370285433dee73de3df4d3ca3300000000bd7ceb3c9cbea83b000000000000000000000000000000000000000000000000000000000000000000000000957a44344fe81b33446eee322566c532d15284356e0f1335b2dd1c34907a883495e616350fb615351bd1073598d3113579bac934e1febf345203d4348e9cd0340ec13435ab4390343ef59033a69327332a09af34f684a3341c19a33493b8a63439592035dfe326359bf33f357af513350000000000000000000000000000000000000000000000000000803f00000000e04a2a35be595d3591c3763f7b352f352c3b1e394007e139e3b35a3f6100bc352bb4de3492814b373281303f46ba18357c183a35895a7835b519ff3e0fb17635aa7086354e07d43a13f19e3e20344935b186803406ff0a3af6f7133e49eea33458ea2b35c9f702375ef6043de35433350000000000000000000000000000000000000000000000000000000000000000f43f6d3300000000a4bb0634f5529834c8df1134ab6734332d05e9333cf5553437490d35864f273572e42035944516353abda335a668a535119fb4353155b835d7aa8b338f40da32403aa3332afc2934a958ab344c7dcf34dd9bbf346270b134c2befd3414a60635c4d8db34f8e51f3500000000000000000000000000000000000000000000803f0000000000000000f5d3aa3ac475733f1e53833559577d355452343b3a3e4b3f89368434037221342ed6d03bdf8f273f26f30635dbe611358a1c573d9632ee3e0992e0367a9e0a36911f863d1d3d9c3e6aa4b03298d15b335c8d3d3d9a46223ebd529f34eb3aa434ca65da3afb0d6b3dc4ed3535c1014e3500000000000000000000000000000000b727e93577d1bd359338bc3519369f3586158234daaa9633ba29b333c6170b347a5b2134df57493460b7f933f257ad332531ba34df03953415649e344b30b2342eed2b35b2f11435b6b4353537f466359436a1331e455634f867163442786433dd05e6345ff4b534b416c03464c5d4340090ee3368bd1834e4da02344c4d2d34052362327e87963201c28332d276883222a5d735e461803fa1c23d3b11810036a337613751bb743fc5db9b350b1546351adb46389ed54f3f1ec2d434af9e8e344131ca39e5c3273f8e67e5344154e73458fe303b4097003fe52299355e458b35e03e643c0a55b13ef17ab134a3885934b79bcd3c79e14d3eeb5cff34d3aaf834751e1738422d973de25f36347ba20a34457aa8377c64cb37cafc3c36795687326c6b3333e82c2b33b35e1a33b8a61d3383097335851c2d35c002b734d4e9db34241a063545f0b4345613a93421a7b934abbffa344af4cd34bf1bd934fb11d5345df02636e98d04360c510736c7b70f36598285352b167235fa957535367c60356a5a1d3520840d35a2e723357d1615356e1a2d3609b90f366f9b2636d2d23036698ee5349ecde634950fe33474b5c83418e036335135643f51baea3d1a9a4f332fc7903514ac793fe165093a83977735751c2236afef573ff38d1435759e13359e0fa037b7f82a3f34f4f434c814fb34430a1e38a9b9013fb7274936994c25366c4e9a3900feb43eda7a7635b2b89335d5e40a38e95e473eb5ee10355f351a3570deaa37f480a43d978b3836b999253637a9b43426793f36d1542334274ea334165078343f9a703404b01634a18d3834f40c3b367b7c1636e1580836363f0b3678ee0b3519c9e734f42edd344a0ce534e76e3d3544ca503552c449357cec4c3503681c36813f07365dc31036469a21364758b3341149a53461b3983486c3a73469070a35c55c1a3556d1183586e6ee3411ccf3346a5b05354d85bf349d3bc33444883b33e23c713341171f33c4942f335fdc7d349849343f15029b3e68c80a34066a733685d2543f217a203e7ae762362027233590ce513f3725f23934a12035c9c21437e2a72d3fc8af433595d050357cd30a38c536033f59d36836db3b41360619a7375251b23e39e8bb34028fbf34bca326391c3c423eaf391c35c7091c35c3ec7237ab28693d4eaf1a35f2d501356785463349d90c37a6233933cb9a2833d939d735cf33b935e2c6a3352e888b350aac723521a04d3568782c35b0e02835f777d034d697d6347941a4345b9c8b34d9204d348fb5ca3311f9fc33d85fa533eb9d46359ce83535b6cd20355f421c357f8f4f341fed963465537d347fd11e34409dc03415208a34ea6d90343dfd853492d63e356cc7473522d82f353bd6263559eabe35d01ebb353c1fe4350067e635486c7e36f13f033fe86afc3ec32ddc3582ed8635111b233fab69aa3ed123793597030c3534d6293fb1d12d3e3a7cff344605ed350548223ff0199d3c22a18c34658aa237ffd7003fd3f8ce37a1e187356b8b8237cea0b53ee8458335e4bba834abcd19350062323e4da4f234d358d034b7b3bb35fe0c0f3d009741358cd33f3594ff7c37145bf037a3e52a36ad1bbd35ade850333dd740331eb32c33da6f2c337dfe4235c6031a35baa1b8342bdfb934bdca1835d5c7de3460c3c4346d70c934af50d034bdb8b634801dbc347f6ab7348fc8503671b127366457213688352036127271351387623554b175352af0693596800d358d9a0735e9e319352dbe0a35b5895736e03b3f36d04660364b716a3668ce103519e60735437a0235dfd6d4342f0a5533a56ea13ed79c303fcc0e6433b74c0137e048dd3e5b9b043fa60b353521562d354406f73e23cdac3ef19f31356630ce346d72f53ed78a383e7415da348a60c2375af6e23eb231593d7e515436d66240377944a93eb25bbd3937d985358930b6375bd33e3eefee9e356b8b1035903e5337485b8b3cd36c6236490a5036d3579e34e2bac634985f4f3443a9d134da38913416096034b075f333869740342d60ff35c872c7358295903516a39035f84e17354d990035436fe3340e85db3436bc4835b26e50358022453512e74b35c67a0c36f413f23539dae335662cfb35a278e7341d51ce34f37dba34df83b634b323043541b70e35d3c8083519b1cc34c6274835d4304f355c142d352e434635ef901b33feb84c3313661a33d52f463386319e3656d70f3e15985d3ff40a1634419cb2377f18663e5c37333fbe561b36d198c7361d05923e5ff5063f9991293596ba1b36d1c5a63ef5d5a93e0f375b35d72ed037ff9f9b3eb3594a3e63432a364426ee36c570903e43f6733db49afe34be66ac370d4b283ebcec3b3a79781335b79bef364629f03cc4a15a35735a323508d02a33ae091433f7fc1733c9b40f33c6ca8b32486d8f323a49933264519a327fa9b7346df01d34cf051334f9591a349f9a033549ccf234c4c9c334a819a034a527ce33ab4d913229b7803248aa8a32cd788f357b625035c84fdc3443dbcd34a869c134f805bc34a3b6b134aae470346dd54334f9346d33b5309933556ba033cd983b355a0a3b355ff2d834cea60135bf5fda35466ad4354ed4fc3592a20736ba64ee37b208763db0b6713fe10ba932a686e33793a2023e88a24d3f1fad0435b62b4d37e838e13d39fb2b3f1eab2b357c6ba53843c1303eeb1ef33e0a4533345f9d1c38d8fa483e4d4d9d3edb2cb03573490b378845413eaea0263e76740a35bd869c372c0f003e7e678f3d768b5a34317945372c9e413d524e483770905735daba03364d6708362defbc354692de350000000000000000000000000000000036d05335a53116356e356d34ed686e347b9fd534df04ba341e9797346a99873434a257348b426a34a7500e34d5610034de530e365538ec35318ca435a04c873509de36356a243235d5683235578b24351fab1235d5dbdd3415bee6341ca7c934e1efa235983aaf35518f9b3520d886350000000000000000000000000000000000000000000000000000803f0000000018bf85382b8a2c3d1c3b673f38903d3555e71139f3e6343def32423f4107e9343f80ff3719d6363d0673183f98850c341dd4ee38b021a63d2a95d23e4cb815363e5a6935a823c83d90ea803e0a024835f72b793689a3c43db99de83d9702c0346441ee3735021a3d6674883cb8e72f370000000000000000000000000000000000000000000000000000000000000000e84480345e8e4f349a033234297d2d34052c2d33000000000000000000000000a801d732000000000000000000000000220b0c3551120a359455083578330935ec2d03349a6fa133d5424e33058183337da1b433cbc67233719a5f33a58b0f3330ec4635dc184c35f91252357081533500000000000000000000000000000000000000000000803f000000000000000027e24c3da1ea5c3f1de290341c1675343c6e833dfa2f303f6e59d833609db733155e3e3e7ccae43e5f31053567372e332e3d523e12a08b3e727905353da0023538d64b3e6636023e0e98f4330ae505341e07d23d5bdd9e3df55974377b0bbd33cb6e4a3dab0ce8383639ab3666c83935000000000000000000000000000000002797c134d1fc5c343b6a85347d62fd33b5a3a3335ea44c338ed33a330a882833490d5d340036143442144d3488566b340000000000000000000000000000000028ec4d342f9b2a3434641c343b9f1e349c5906353510c734ed0da2348c09973400000000000000000000000000000000d7b954346ed65834510d5e34dfa85e34bc9fb6348004b934fb95b43465e8bb34bebc0c35f5577e3f66ee263ccc30fa36d883dc3cb353693ffb17dd3685b8a43320584e3dc425393f0153a93483157734b6f51f3e837df03e000000000000000090ed543e17d8903e4259683489496234e1f5583eb29bfd3db04ccc35580d04352dded93d9ab59d3d9a0a98370000000078637e3d8739f63853e13137310a4534bd5b5a38138ac337d5726c35463db934f34f6735cb8d3035dc010c35e992f234e17a243557a0093582deef345705c0345b24ec34214ad434fcfbab3438229434084e9935b6639635fef3823510cf8735f901333572e1273573971d35d17d0935053bb2355110a635f3ed933521e79a35c93c1235cdbc0e3541bae3344f14ca34d463bc347909a9341020c23464d5b43421063a35a2481c359ceb1b3514b03735fde08335f60a653fdc40df3dab5e9c38b5fa7639f8c77c3f7ef8bb38b9413635694bc83c3209453f4a65c736b37cf4348f02d53dd800053f883292360d43a535132a283e6ceba83e14a13435cf0f3635d944373ee361203ed483c2352437b2351c15c33d3a37a83da6b39637f5df2b359e54583dd957143c1a298d3702f4b63498ceb73866c824383dd16b35314f2e356c215937650f4a3663552d36b93901362abe1f35d30bee34bca1c134de1c6534d7fc0e356ced043515a59934b7bd3c3494a77d3508bb603516952435f16504359df72835e5bb1a354ab01d356461f734687a9335d8cb823533a25435a91f5535ced3da3465c8913476f66f34afda4b34de9f2c350ac33235dfd25d35fcaa4f351d54bd342c1dc6343126d8349d4d0c3500217d35c5f9323f2a599c3e09122038c3cb9338f16a6f3f8ede4f3db70b1d356e2dae3952e64d3f1b0bca38348d173529877c3d3495123fb4dc00385f888f3599910a3ed5f9b13ec9941c3554c20d354ffa2a3ecc12373e8ecf173808388c350fdcca3d1c21923def4db637eba3e6348df13c3d94e66439a32a52381ea51435f3abc8389e044c387252cb34a88de734ff56ec348eb3b034adc46a349c6e06331fe55e34b3625b344e9f30348d6519346013c3320000000000000000000000004f40ea340056af3480948534d73136346e094e34e566343491e02d34e84822345208eb34bdd6bd349de58134248f2934eae4c73300000000000000000000000002b07c3491c97634be407b3415b37034bfc530348865253326f7ec3229fbdf33fc79bd36d3b7073f9594f23eb4783136a591de38ebdd393fd17e7a3eaafc62341255f23cdc74413f6149153d285a3f366e09053d1e2e213fb04f4e38a81a38354e76d93d8d81cb3e94dc4d37a6095d343f48053e37a75a3eab50f037d012e3342997d13d4947a53d3913e23789455334756e063d0bafe238a80b1137131e7334c7b57a36cadb37359902ff33a9851334634404351072fc346d98d5346dd4c034bdbc1235166d023527b7eb34ec1bb5343062aa340e998c34aaa47234de957134f3b4af35ed25ac3561be9535d7c29335c6ec1a35dc8e0035823bcc347d4895348ee25b354d174e3515eb2b359c462c35dacdae34106ab034093d023412ff71335d5703350900e834ee88e3349831cf343b611e352ce8f8343374ea3436461a35ee90d438b3efb43ef88a263fcd9315353e56033de604003fc739da3e00ed2b357b30173d6da2183f7dcb4e3ef8159935f2f30a3de145173f28dc143d5521c735859a7f3d569fec3e8f0e743848972435c41db13d4071923e2cfa8538ab4366354224ad3d17f8ed3d5c18d238009df63468ba8d3ca059973826180335dd620035ea54a2350ea03a354cfe14355e7d0c3564eac1351ec44b35c8a63335bf541d35307be3347efa8d34d1e455345a483c3490041f35e9bf0d3532dabf34710b8834d70ac6358ba2b4352ee89a358ee18b3594123b35419c2535a8791e35ae760a35723e8d35b3d688350d706135071e3a35ba371d3517b8d234aad4a13422e793348cea3b3598b0323572c04835d31035350e2c12355b950535e7690e3528ef2935eb76093c86bb1b3e75b0573fc6ea16364a43853dd330873e2a2d1d3fd5deee34379e623da764ca3ea7f0c13eb43f2335384f233d5c79ec3ea6bb2d3ea628d7358e372b3d6b6acb3e9d0b983d6bb42a3566cc6d3dde54a63e0a1406391091853580773d3ddbd4283e0f7be438fe9c3837dd97553c233f073b4712743818672f35984e6d35714f6235b55a1f35d5f32735fc2fbb3593ecb534d4ae913444498534668e2934460e2c34808b0b34bebce03300000000000000000000000000000000fac0fd34b8f7cb34453255348274da33268b0e3421c5f93382e2e5336cdec233000000000000000000000000000000004c91de345f5aa0344cee4f34625b21341b9cbb33f32244330b0b4e33aadc31330000000000000000000000000000000072ccc338a3fc9e3df9166d3ff1094a3695219b3d7e35f63deb463f3f706c423419bc923d9190693e8ce4053f0000000054724a3d2143ac3eab10923e207f4a3527e3d53c6e64b03ef60a163eae472334555cc13c53ba9d3e0f2e493d00000000bbed953c1e3f353e311c173dc4ed373531e82f3c7a255f3d27c9cb38f1f0b9333ae88134bac9e1330000000000000000000000000000000000000000000000000b402835bc0a2235488b08354a3be63415618c3379275733682c553340d73833eb61b533d69b9533a9fa7e335f2980335f54ef34d4c3df348ad7c134c2d4a7344c42b03300000000000000000000000000000000000000000000000000000000a41054340c3c1f3497611e34bd441d340000000000000000000000000000000000000000000000000000803f00000000c0c63b3d75dc993d41bd553f33a93e358fad923d3c07b33d87992a3f02eb9633a93f493dfaac513eac34db3e42f277343b42f13c12f36d3e5352893e36820735e156623c70de5c3e5586143e649c43370aab5d3cb0531e3efa93af3d20029837dd52973a8b18ba3d92e02b389609663400000000000000000000000000000000000000000000000000000000000000001476c436c6cc6136ef529e360c8bd1366a1969374a9d01361745163783fe8837b2bf4337dcfe0f377f0d2737d70488373b75923775a938372bc55d3787f3ca375f8c4e379657df36a0032b371d575f373730c737d2474837768aa537b982dd37d083c43715968b37cc78b03784c0ce3700000000000000000000000000000000000000000000803f000000000000000073319a3719f17f3f86f37637ccc8f2363e5917383fab563f0af00238f9aac637de9533382aa32b3fa317f2370b61b03766f92f39908c003fada8413878a606386f7dc337c60faa3ed45389374a2773373e46143821c52c3ec179f8371b7ce3378f90e13788312b3816efc137b6f7be370000000000000000000000000000000056f8623745ac633640e1d236f21c84374d0a3c3708d6c736d9f9163755304437c91fd231d6b1d031d3accc314f7eca31f77c6b3535c0433513cc6f35ae256735794d5d3735375636fa1a1d37df8b6937dcdf8b37544b5936e5890437d842c537cbfe3737feb57934fa52a3369e4464372c8eab3787a84137e5b57d37d966a83794e99e377e558937b46e8f375ee1a3371e41423757f57f3f9df14038a2e7b637ab724d379e867e3f0bc2e23a3189763770a06337ae0b553f53b21f3af90b0c3723242f37281d2c3f3fcbc337196a7a36018843387e89003f732390388179bc37f9502d38aee3ab3e48e863388209e737c857993775f3303eb988c93792ed5c373f5ba337ce116a3c98d5e337524f9137288068376b96cb37f382973744da8637ed809237a47def36839f0b37dfa87a3726af2c373e2aa5363124aa36f2130337e2f5343711e2dc355233f835864918375cc04f37c219de3525f02636b8a93f37a953c03740ff603629300837ac4dbc37329d0537daf2853658a6883674a801376d9bd13732f22a375dc768375a00d4372a66b937754d5a37cdbf6337eaa3ac3746921c3855e9eb3787f6ef37387d0e38d280fc36104b563fe47c263e4e877d37c43905374727563f7f25273ea8f64c37d43f4c37b73e313ff844183eeb3c423795aeff37c710143f4673d33d69069137e93cfb37ede2d93e1248943d7a70e03777bc0b37118a963e5845b13c02a3023792c6e1377576243e87ec2f384727c837011b8d378dad263c27fee53741756d374049d8378cd04f384c3a153815ddc837ef66da37fc168037588b5037f5eb8d374e35f7364533cb36867cca362a8fd2367e8c6a36935bc435fe4cc535ac52e535ec22b83778f229376517373791619e37c0b4fb37ad961037b3031337f682cc37b3663137b5aca936e3f4ca3639f52637bacb5f375c7e05372d770f3787d35b371c6a393873839c375e9f93377a6c2138767f2838ffa10338180b0b3899b42d38ca3f523782e02d3f912ba43e7659803732aad036bd052c3fc2d2a73eb6a2ce36c5da00379b1e133f50398c3ec70802360876b7379c52f03edce2583e4baf9f37b8f209387c45b13e29691c3ef52eee37bffb25374bb0703e3f63b03d733c1c3798553e3710ad013e4f45c93cd2b63437a3e5e8377ab2143c9e8980380d8ca43737750638a14d6738ee412e38c200e037a13b1838d6e6003835b2c3378c4cf437e182da37ea9b213763c72936b61e753704fd1138fb49833738ee0337c2b9d3377a05f937ef240137d85b86358b1dae3779da3638663ba83792b89d3761fff537e1ca9c393060a83701938137af08ff378e10c838ee6c163820ef0e382e7d3c380b5b2f3863910f38c1040938bdaa29389e542f38013a2338937b1f38a4e12c389f7be837bbb1003f2b69fe3e0e28de370945bf37ef4f013ffa9ffc3e344e7c37737d1b386ae7da3eb394d23ec12af637a0bd09386b71b23e0e1fa83e75ffcd374c364638d760833e871b793e721c0c385a543e390b832f3ef9951a3e80350638854b3a38c684b63d3fa6923d58322e38008b18384536523af650b2393d500d389b7d19388fba4638c2423538c5420e3865e91238fbd8bd37223d46377a5c92376fa75937cac7303757c90337633a38376fd30337b56ae935e663c335cae52d36f1c0103727798336e3468036efa39b36ee53023854355b37b89ef5367600a63798a3de3716559437cf035e37335db7378e3bfc3735c6e936607dfd35bcb17f37c802a5371e525a3742153c3711d5a437855d0e38321feb379bccda37a6120a38d0b6b6372d3dab3e08502a3f155a8037583b513718e0ac3e4532273f98a22a37edff0937a9e1953e9d530e3fb1771836f2a21c372bd46f3e7e9ce33e7202ab362b8e10387daa303e6d1fa83ed2aad237de3eda37fa2cda3dc041593e19cdb03778e0bb377b89353dc625db3d90d04b3706bb62374ad2af38fb7c4a38aceb3b37c441de3776a737386edf2038eb2b9e3777c6f13735c78f37ece7a3368def2b37a4e3453771ac12370491d83613ad0b37835189377cef9d361f458336ecbe9f3660afaf36642c82369d8274366e9183366feee33732583c37b84158360d9f57370b370d386bbc11372a9d223651584f3782624539141c733763e00e37bb908c374940ec37d463c33747179f3715d3db378aa4c037c2c3a437df48a037d17dc4373c74bb37d6082c3e87eb543f28762237e5f34a37625c323e00c7503f49ab0437d6bdb8374bfe283ede932c3fe7c0f8368c4afe364dc8003ec4f60e3f5b3b82364ff10238634aba3d5665d23e914eb3370cac21388a00303d5bf48c3e969f96377a3a27396b69e73b63fa1a3e18a87137417fcc3750db31383c85523865caa137ecfba037aad73938fcfc11387443683754567c372843b93698a68c35fe4cd5359bd0de363dd88f35814f593586b884350e5fac369ac90f3489388e3286898c3296edc0379cc97936881309368145663696bba937a5ab27372ea46e350d4c1b37feacd0363a32843536c55f35d0de6535e0fc7337f751333605a2d43115968036a03ed2375cd08f37a63b7a37af5ba93703c0b737f8509d373f4b85375169ac370d6a9d373e7c8c3842f07f3fee08d73574818637f1716e3c3c94783f8a698135e90f7837ed55843ccf984f3f5b40b4326ec90c380c5f303ccb3d273f90bea23764e515380386f13b4101fb3ed43299375dd528377c09dc371bb9a73ec1f0773663f88d3716d22039d8ef2a3e01894d37d7c7c13781a91a38c07d7d3b75629537877aac37bcf8e6371b06d9379619443700000000000000000000000000000000a58b6137b8ac0c37aa61e2368b2a0237c8edb0378e2b193739ba3636b9e775366d305e37999512371ffa0b363efdf436d8711338a1256d37ffb3393799ee50370446cf3795bb8737e39b213717da4937be79f4375da3bd37918f6f372321b437e13987375c5851379b73fb366eb45b370000000000000000000000000000000000000000000000000000803f000000001452b537b08fdd37baef7f3f5c336e371df8eb37ac301438d1bc543f9658d137799c883727dfa63785ec2a3fd5ae7b375cc230383d61c33816abfe3e4ece4c3862c5d93718441338cd93a83e5efce73714b0f637921b1638690d253e9ab00338f2bc65372f7ba737ab8b1e3854b58d3700000000000000000000000000000000000000000000000000000000000000002cd1453765db9636b93c99366f499836525b11372526a436722cc9361fe1ee361597b73790e3d336144e0d37ba9b8937552bbb3736a1113788434937ed08a23727211738188ac937a1dce3375fc50838980d8c3749f4f93663822a378a8681375d06ac378ecf5e37ad8d75371b0daf3700000000000000000000000000000000000000000000803f000000000000000082e4933aaab2713f22582a38c9c8f63754fbd439a0ee4a3fe29c31385ca8ec37414f323aa6be253fcac8453859522338cadee239449e003f4d785538fe2521385be5493a0ae1b53ebcee9f38d3ce4838d350ac3870ab573ecee32f38ee1ff43786367038631f7b3d14ac003801f0ed370000000000000000000000000000000030994f3758a9fc367f73f9367da20037e5db9d3674bb2936e6bc2c36cff62c36670657372770e236b9dcf0363a8b0f37246d0b37e2d53c36446c403622e84036686097379bafb0360cf7b136348a2e375457d73706778b37864ba537ccddc237a43aa83790406937f8128b37cffca43793099e37dff259372d76703794a29a37dfc0e137e8e3c037245dd237344cf437c29c90381d1e703fc3e77c3dca80cf3732064739c32c613f409b7c3d065ec537b0761b3a0e413f3f2d105e3de118ca3783bc2c3cbdc31b3f34ce103d7343ac37dff4393c7757ef3e62caae3cb9e217389481113a39cead3e53cdf938bde209383884e438a0a44d3efdebe9379790d037f7ac3e3822db7f3d3357da37d878bd379a3c143803c52a3815a6f337d9f6ee37e75909384914da3773029637526da2373c0d3b376921a43670255b36cd45a436e4ea7636b377113550bf1735543516357a36823716895c3673833236fed1e93686a1ad37345bbe360f7abe369c211b3762272c379b457035f58b9f3506d492367b9f96372b764e374caf663734228a3764ad94379cc8373724fc42379daa8b378428d237a71db0373464b837a9d2d437aa183f38dfd74a3fb738543e2ab621385c25223822ab403fc36c4b3ef9259a37cb7de338c064203f6ec92a3eb5742037d5abed392f26063f4cd3013e4970c93782d4823a0344cd3e3ce9c33d0fbaa038f5d9263cffbf933e0483453dd673b137e3993b385fb7393e29d0a63ce8abd4372c531638741b723d68a007389ae5ae37293e0338f41c1838bb7ae537d91bd0378669ab3740058837465f3f375a6b463708cdac3616f5aa36b3d3a93694adaa36a14ea737690e3936a136c83505f9c635f41917376e861d35d12920354e2e2435691eb836f6d79d36603c9e365aef9d36481ecd377fd227370351ef3611485e3778bd2336ba2dd035e54dd935c979073635c3f63772c5a037b2ea9c3795bdea37dd1c3b38bf1bef370b9f0b3889d7c638e4ccd437b074253f1ee9b43ef761ad37f6262738b2161e3f96b0a93ed247ad3634c98439df4f063f92be8d3e5c4e10388deb15385439dd3eda3b613e2ae1b93775be143af9c4a93ecb212a3e14f7a137cfa4113a7889743e7126dc3d699c4e38c6e80f38cfbf123edc2c5d3d501b0d37b2373b383ce7503d1e835238282d0938fa5f1e39c4d1e239227a4a38e4bff2378e05cf37924f9c37a514833788588737f049a0370abce036242b1a3628121a36409b8437c98e0237eb1b3f3668b0b236f997a03770d42b37d2bea536eba21337e4b9f13761428f371ca426374dde803781d0c637045a8f3754aa6b372cdb9537c4a5c53794b2a437889198376a65b0377e932838fb6608383b4dfd3788ab1438e82a2d389f6a07389d8806389bc82338a17e2938488e003fd8a1fe3ee9630638d4f037385bb8f53ef4a3ee3ebdf6f4375c953d388817d03eb4eac73e4744af3795e7093883e0ab3e9516a23ec86dd3376b43f338237f833eb6c3783e84ae1f389c7c0a3894f23b3ec3e5273e010be33737e76f38f0afe03d41a5be3dee9cd237306254380b07123dbabb933cd0c32a387fbb43380e441e3952a1423860981538db589c37e40a77376ad6c73642cfce364cd3a336a4e20f3612460d365de80b36a3cf0335cc8f0235a3240235b7ef0135c86c973712f03936685393356b369435b17bd836ba729c36fb759c3691e49b36ab5284372ede89364248293570b1793532d90f380dfed037c1418e37b379be37a6114d37196eb5368dd7b2363870c536ee5dc3379130bb37ecd1b637455ac83718a22e386a9bb63e2b72243f6679b4371fbf0e38f012b13ee8511a3fd0ea64373630ac3727ac963e631c023fe284e33598f0ac3953c3763eb2cdd23e98b417382d2baf39a4ce3d3e7dc5a13e48a6ad3709dc0c380a81023ed28e613eacbaca37b9668e39ffec903db220023e0e2f2e389e676739a83e6d3c922f143df7f8563752a4df37b9c91238257ce537576ab5370bdca13703445e3783a1ca363c4cca36c1bb6936b2b36836dd846136580a6136c3610837aa44c636f5e38c3656229b36f7007e36a74f36352c26313570653235f8f2c237c26b263725eda936eaa4b33610adab37570668378e8fc33633ae1f37f49220378795ec364d50ac36f569da36f043e23711eeb4372abd8f37dc59ac37c0a11b387e4b0e38fc7b0438aade12386b9ff4378ebd593e4d79493fe66dde37f96bbe378598543e93ab3b3f3f644e37dd520538b1a63d3ea2e91c3f841ca537ccf21b38ed27173e1459013fa4189d37a5ab373ae60fe93dd278c63e655b30396158c338e8a9963de8cb8c3e40a5d7375e65e437976e1e3d32d12b3e5954a6376cf91138bc8e5938e48d463d96f5f23716ac353814484638986b3c38972018389a0bbd37446b6537fdaebf36c464b6361ff62f3637922a36083e17362f4d1836dc704b3773695e36b5e8473612d748362dfebb37b6e76737f26682368e878236c93fc737a78c2937efcfae36ba87ae365cad8337ac71213711803d36bef471365a72d63768d9af37279467377f6d9037e503f937c5bec53737787b37b2dba1377b219037e0ce7a370d936137bd1c7b375d8c113853f88a3da78d6e3ff8c70e381febd9377ddd9a3d0a985c3f83179c37796be73705c7923dfa283a3f2795c237ac7a263871c37c3d5914193f52950a3880cb18396d25303dcfc0e93ef0322f380b1c2438657ea23c3db6a63ea7d1ef3724180b389017fd39da364a3e6ca7fb37f3292038f2739438eccf6e3d07be1138ef0713380d363538a59d2f38a0fa9237000000000000000000000000000000003ca32a37ae491e365512c9358f91cb355c75803722ff2436a3aad0356461cf35ae361f3865c4dc37a0f82d3777234c37b31b00388752a937852701376a3104370d5b12386154d837e5293e375de06437981bf53740539d372fff20378af42b3794ff1838fc850238c8b8c137c2dcd0370000000000000000000000000000000000000000000000000000803f00000000125d0c38675b6538be37703fee2a0b38281567383289a63860fa493f8e0966384884a039e65f2b3aa17c243fbd34813959606f384db49c38aa57fe3ef68e7138bfa64d388d8e943905e3b33e28fc463890923b38f0d25e38859a533e6e8f3838ddad31381de4ef3838bd5e3df24b33380000000000000000000000000000000000000000000000000000000000000000cc2a8038b118b83700f5b03715bbaf3779282538370e03383b85fe374ca6f83710509f39f36c3b39eb38f1386428dd38d4152139b4774538b210423891204138bd4d8c3957233639c2881939a58813391ac2b637a6c7b037ee20b0378e75b0378006963942717439a3576939875b6d3900000000000000000000000000000000000000000000803f0000000000000000499c263a66ef643f48dcdd3987809f398ebe803a114e413fc809343a4ef7c939c28e4b3aab71203f6a2a263ac97f0c3abc34803a47d3fe3e7bdc2e3a5932093a01bc2f3a2443bd3ebd90043acb03e53947b9813a9f30783ed2ba093a6b789c39adccf5392050e63d3175ce3955ffc53900000000000000000000000000000000d6b07639ec05483897852338793b23384cd48039c5bca2388926cf375063cd375b33e237cd33ba3749969d3727a59337430a143a77aed23901f1a439da06a0396f0c3e384258c2379787ba37160bba37d5fb3f3a73241e3ac609103a1d200f3a6085f1398aa2bf394923b53920e0bc3961c80e3a8a0ffe390b8ff639cc0a003aec538039f9713239b78c003911090a39fa8ca03ad412613f51b6ec3d449f103a3627b33a8787483fd25ae13d01c80c3a0494a43c62b8293f384db03d5bac6539dfb5dd3a4d8a0d3f17c2903d310d5d3aa3207f3a6452e13ef8ec683daae2003a7f19f73aa093a63ebf8a183d0fae7a3a0bc63f3a558e613e90ae303a7635203ac54f5c3ad104d03d9fb62c3a9e42253a1927ee39b01bfd39eb52a5394bc89639c3801239c858bb38df501d3852ec183853103839303f0e38693baf370390a637719a8c39ba96ef3851277e3786177237864a0438866cde371b63be37c7abbe3743a38639204f2539a94bca389d26b93885309a3978663739d850c6389d21c03808b7f539d7aec939994fb1393927b6391a1be1394787c739743ebd39ca75ca390136e8393936d6392b43c639c324ce399940193aaff9403fe04e793e7b6983390580713aafaf2b3f2e2b5f3e9010e5398e0f933adced113f947a3e3e56af0c3adc65d63ace3ef33e2c511c3e1546ab393734613a6af9c03ec7eff53d211edc39c4a8923abd34903e604db23dfc45013aafb97d3afe0e3c3eef9d5c3d3eb11c3acc740d3ac0f0bf3d83370b3acaf1ff397fc3183a6a1a233a9fd7ff390bffea396b7e943955ac2939dcae4138cc1f3038ae151f38a99302384bb8f337af5fed37b248f0399e26a0391afe2439200a0c393caefa39be06b139d60a613947ce4e3900183e3954df8f38f23406388d21053847fd8a396e241c398b877d38ebea7138341b0f3aa9f1ed39df20d13926f7da399c572b3a42c91d3ae45c0a3a0fe10d3ad2cdc439ba71b539c39fac396aabb239aec15e3a2212203f105dbd3e36441b3a84f3433a559e0e3f0c71a93e06ea123aee59903ab7c7f33ea925903e1db63d3aff80aa3a54dcca3ec9426c3ed4cb413a7f4e183aa6eea03e43433c3e9dedb4398fc42d3a00e16e3e1c1c083ea13cee394862523a785d1a3e8d42ab3da91e303ad410403a770b913def0d143d31472b3a56d8ec39eb11f9392aa6d9397cccc739f5e436395fde1039f05560381c030a38f58ba438f02cca37f0d1a637e9449837bfe3b039a92d63397591b7380d844538580cfe39bc73b339acd44e39af2c3739192ecd382e343438fdac2238c23e20389902143a24f7eb394d26b03955b2aa391d9fec39cc66c5393f7fa839d954aa3914b5ea393fa1b039f3283d39522a3139d72a1e39ccc901390620d638a687d038aa5a4f3a29f9fe3e4219ff3e584d073a9e8c683a7b1ee43e86dee23e388e0c3a0dd43d3ad236c33efd49c03e2cb9133ae66a723ac6f5a03e16fe9e3e8faf403afb75023afb88803ecff97d3ec47e8039f7276b3a49ce3e3eebf13a3ee986433a6b8d343aa907fa3d566eee3d9c5b163a80c34a3ae5c9633dcc45543da25d123a186b043af60b193ab044ae39d7573b399483b43973539f39ab4563397fe8233965f1993923151a3931c78d37029d5c37cb91b139b02a3d39c1759637fd35803779413539eebb453878c22e38f9ff253882e635394e8d9538a92309383142083883d60c3a6f44de392b3f9f39066993393713223a33b6073a9619e5398977e03939814b39c25c113997dab6385b38b338a9f29d39ce1758390484ea38abdcd4384472013a71cbbd3e56ce1f3f1868ec395c864b3a535faa3efe020e3f4cd4113a541c553ac160923ea2e5f23e1d83253ac936323adc88733e9b25c93e4628e839cd150e3af0b0403e975f9f3e34cebe39e591863adbf60c3efa336a3e31f13f3aeb13693ad8c6b43dee0e173e2059483af520b2392e04263de2498d3d958c843903281e3a28bc293a2d880c3addd0b6393b2584397dccfa3851412d38863d8d37af0f4d388d9030387e26213807ac1838717d8a399a85023911f9ba375c85a7378ce57239cd2ab9383750a537558f9037423e91395e9040399513b138737075386ce80e3940fbf537fc0acb37d206c23779ace739c0dcb939f2038c39c84584396cf7d439ffebb4399db19439e9b99139e80450395e4143393e4a0c393ea50139152c2a3a7114793e6c50403f3b66183ae1f40c3a8dba693ef5882c3fbfa4c3391b1d783ab6d0413ea774113f6c80173ae6e8823a46d91f3edc23f13e7e230b3a14a0713a04eafe3d73c8bf3ed0cb1e3ac9c6ac3a839eba3d77d08d3eec0c103aaa82373af9ba6d3d848a393e96db1b3a4499163a5b94c33cad24ab3d5c97f73942708f391577903940088a39296d5039101817394b9f1e38f32a10386ed30138916281391d8bb43876f55f37940a38370652303989b3ce37b94e8b374aab62372bed203aa24cf139f04585394deb4b397eabb8383566c73728b9ba37c4efb637e73d293afac10b3a3d3bc5399437b3391f100939dbdb1838138acb37eb58c3371ae4033a6431e7394bd9b9398973b739eb3cc1394700a039d2a860394ea75439b3ed133a2635f03d1b12613fae00113a00f9743a5e1de33d4d10483f8bd5203a14863b3a244ed13d8b282c3f3fe7103a5357d53af65e9f3d79d90c3f3b87803a4aba4a3ab5587e3d0130e03ea43c143a0332b73a8652343d3bdda53eac897a3a2c7e5c3ad00fb53ce10d543e6a6fa83972ac373ad457443a8c5ace3dfbed1f3aa3d0123a921b123addc30c3ace09cb39000000000000000000000000000000008ebf373958d581384e99cb37c9f2c1371133a837f0d99e37d8799037b97a89376ecf8039ce201b3909380f3826700d385cbf4939712442383ac03838d0bc3638e902d739c3a0aa396c6f5a392dd1383979d76939daf02539a6c18d38ebab4938b39fac397e2b99391bbe7739ca8c6b390000000000000000000000000000000000000000000000000000803f000000000c7f103acd6d433a4320623fd0bff439c700863a21ec983ac8b7403fcf4b273a08f8263a982f423acb2b203f2da2053aa451613a450a753a858afe3e9374263a3ed5313af744373a0f21bc3e1fbd1d3a8ac13d3af430453a3af9753e63720e3ab174e939643df239d0abd03ddf84d3390000000000000000000000000000000000000000000000000000000000000000b26a4b34f4604a342f534b3475de4f34653566352b85613588168535b0408a350eef2135d686de34b6fd0b3509641f35209051364620453636014e367651553679d6bb3550f4b735cbe0cb35e2c9c5359af5e037d62347379e9fa03765eaea373bdb5e37c0b70936d30f1a36002ffe3600000000000000000000000000000000000000000000803f0000000000000000769b5734b6dd7f3f219652349c155334e6e9143687785f3f3fdccf35c2cd8d351316013807ef2f3fc004cd3772cf1d37076ef037ae96003f5c11a83715436536780059370ce1a13e0c221237c23dd63540d56f38ef6d053e0e1a7438297d153831b61e381815d33ad3a52f3851dc893700000000000000000000000000000000c39cfe333d06f033f4e806343b285b36ad565c36d026453686ff6936de267036bb23853606fe4e3605a38236865d9636fca03936de2c2936ea1538360b9a3b36472fbf360860b636a6bac2362d17c436717b59370b3bde35f2d6ef3526b4ae37ecdc0238418958379d3db337b1d9013814719d37434c383773275537c77c7d37c8221937395ea836b1cec836b97ad0363977f133daf27f3f75d08d384bc9aa37a5897436ccd77f3f81cc7e38483c873672aba6374d43603f21b8a73890fe8d37795ef9369698313f75f74438f89db236cf20f9369cd6023f0f2efd371b85cc36985889383593a73ecef1cd38ac5d5a3847cf7f38b0c5193ead10d63810225d38a9778d37da8e883c04348238569bb337fe1f373498e6dd37bac1d63781043137a0a3ef36d2d46236cbd728375d164437b043aa34c551ab34b635b434a195b2342847853624cf3d367dc7513695acb93619fe7b35df2d6f35af0b80354f4488359d38e2343ea8dd34d15de23414e8e234c1a1f636c7f79f36777dc836e9850237719a043741d5d5365720ef361c0b02376c14a0357e25a135a9079f35ffe89f352cb9c337059ab4377673b937c5bebd37d8ec8d35fa2f633fe65ee63dd4b9a2377c37a2344ecb663fa583c93d764ca834f80b05375579443f6ae2b73dda601f37050ba035e9d4213f79f9673d4d34ab35014bcc34fe04ec3e0c542e3d29123e36541a22378c269c3e9995823c8d7d5c37c09d0837eed9113edf9a273c78b2d637963d9935e23c933a1762b03858bc9d35a59a70373d891038a38416387849ab37d1dc9e37d7168f3747908d37eebc86379af2af358176af35e3d5b135ec5ab1350f081c3733dcc9360c02e63623af153742240536b97ef6356556fc35145c0136e7ae08356815043510f20235ced505359226c63616bb6636b1e48536d8c9b4363d85bc37ac3e3237c0274537534997371037313704609035e9354535b1ec6b355835d137e62ec237a58acc372d57c637258c173747f7313f40079c3e42bc9c37ee7fb235b779343f21eb963e4895ad3585795337a82b1f3febf47e3e68df4d373d3296364eb8fd3eb728403ec8ae883663ac00350024bc3e0069093e9d9ef934a1421c37b00f763e087ca03d37dc2d374177cd3732daeb3d6aaeba3cf6380038debecb34e385423aa25237393a7ad0343d108437d5172038e0c21738ddb79c3784b103354ec6e034ad8dcb34802cbe3411b0b336e6dba33640499e36d2a1a63657cc8c36f4a2883687678336aded8736b7f345365e8f4436477a3e3650d6433624e73237bddcdc36c3abdb36a3c4e43659ada63766d3503673cb4a36e87a38372f9433383a4601386fef0038049c22381aadb637f8d3923747c0813748619037950b1137f1f702370e7bcd36664b03375a4713357181003f4ff7fe3e8ca9c634e812bf36fa1d033feb47f93e05d7b436834de33744c5e53e2cc0d33e407d103763440538afa8b93e35a5a43eac523b370a59cd373ead873e94b3703e41224c37088b3238ea49333e1728103eb6b600389d86553883efa73df0d3633d1cbb33382db19e37eb5a303a844d7b39db3c1d37626c1736d1c61e386b280638b63b1835503b6f37337931373bd39f350509a4352248c534da6fcb349dbec63494abc334eafcdd36d7c177367a4b6636a841773673e5733601c51b36ec001b36fd901b36870305357731053530590535bb8a06351ae7d636f36519361aaa0a36b0cf1136d0be8b3792b381374ba57937d75383378e35eb367565b9356938b735894c4b36f1d8d73703e1d137187cd4374ba4dc37620f6f37642e9f3ef35a303f78db9b3525a6c7341b32a43ef1b22d3fcabdb934234c7337ecb3903e4b4f143fec28ad36c7f71937cd39693ec254e83eb36b5a36bfe0fb3430e52d3ea455a83ef7edfd345bd3d937bcc9e13dba79533e62a4b6367d75cc375c23373d516aad3d9e29813711b31237b2056839801b5d38a909b53577e5cc37c941173879050338271c9437c1239537eadf503778f5c736a15db3365b249b35caaf9a3541749735b835983503fc7a363ac20e360c37eb35f703fe354a0ebc3613eb1736a4fad335a4ea0c366a98d7344e0fd334ee14c934465ed134c8c62136584fab35868d8e3521e29335d8b643378fa12b37d24b1337297f2b373060b63490d3b93474deaf34fc8ab634c697923702a37f373e037537443f8b374edcbc37735bf03d32e5613f982fcc367a949b35c642013e98625f3fb3e39135caa00e37bfdff53d2d403a3f9aab1b3695055c3771e2bf3de0d9153fbc11903636819337be20973dca8fd83e36efbd34f9d1a937f9e2233df8e28a3efda1a2352242de379c0db13ce936f83debd0343770498135b67efb384b5fd83866cea434c7c7aa37cde90b389fffb637efdbc736de9c293697be3434fb023b34d4f34234783dda36b68dbc36dfa591363e32a036686ab93613eba6368e4b8d36fc9c973671118437667bc83565bbae35baadbe35f6cfbf36ea64bd36817eb23691f4b9364ddeb636c834483676b93a36be3f41364e4b26383c4bde375d7b0b37fb70a53782340237591295362b339136303f9b364fa353373383213748e19d36b421f2364d7ab637dedeb93968eb7f3f96a3333429ff8737a9e6943acd697b3fae1ac63643065d38b424d738ee82593f578ab4365fca8938fa2be9380a1f2c3fcc6fc83752e351378cb572387951fa3e2438c43674e1d23735b3ae39b3b99c3ef30d3437e1cb83388011fa388170fd3d044b6338025e8c37cc239a388d9be83943dacf362679a53727f611385386db373b3f013400000000000000000000000000000000b4cac6356cd2ab3513996f353fbd9f35a987cb3679f623368bcb0f361e511f3649e7b435330aa3355ebf8135cd6599358a5549368e563d3679c93036621640366b73763729777d358e9b1f3514f63a356e4c00366ec39a35fb538c350c078f35c4cc6134b40665348a316434b86663340000000000000000000000000000000000000000000000000000803f00000000a9d73d372991273897937f3ffef1c43542131238bc935938539c5e3f0b1a9c37e173cc3501566d3716132f3f1c7cb33538bd5c37e20bf93765d0fe3e2b736b370dbce537bdc13a386a07a03ec34b0638e99c06369b57c8370c11023eac26813702165b3494364e37f341173aa0d6cb35000000000000000000000000000000000000000000000000000000000000000030f12933dae52c332ff030333964313358bb2336afee133657552036f3ca1f3621dd1436d07e05367c9a053606210436d10c3a3454a4793222b982330aa64d33285d3a366f682636ff6630362b543336c73a5437469db1368c14b6366fdfcd3655396a361dc96336fb9f6d3600a4763600000000000000000000000000000000000000000000803f000000000000000078e5ac37be44773f3f97cd35b4742e333d204f38ecd4533fc619a2373e33243783baa638b9e92a3fe9603a384f76fe362d5fbc38cfeb003f323ca137906d2235e664e738c2b3b23e3b01563861dc4937b6959138b965393eb39a6b38bcc71d388c519338a872293d65ef8338151f0e380000000000000000000000000000000040400636537abc35b088bc356c2abc3585eb8b350ffa6435be6f7d35e4127835021994343d0895342caa8a3441996834e7ec0234cdce073497e6e3339978d33369016636594b5336e6665b36843a573600000000000000000000000000000000a83c853617d21d36c89a2936e69d3936b3410537a05cca368c99cc36771cd5368aaf84369cdfe133206be4331b86dc3389525a37b9f67f3f085a96382ddd6337d8a06e37da037b3f2f2e3b387bab4c36b5a0e4366c4e543f88d4cf362b65a534b67d1538544a2e3f5225f937b8c39034c2f59d385dc8043faa7f9938bb812d385c172e376964ba3e0cf42437963c313657954738f229533e3ac19b38f79c07372def6338e66c783d7cb0843956b621380c46a037aafd3138c10bf637a1285c37a2f70d34280611341c3a0c348a830c3426d1bd35240ea435797e9f3512af9a35de529c34c0e19b343f519934248e91340b7315357e7a13359c2d1435df991435f72313371ac2a835d37eaa35d634bc3513b3e834e049ee34ecd8ec34176be334690fe236ebde9b365b0e9536d98bac367e080b37b192f236e47eec36dfeaf63664312b371b463336662a0234d0fd00349dc76b3606e45d3f0b61083ef36bd137ba340136fd3d613f75bebe3d18a3eb35ab4b94376c1d3b3fc661a83d3c0e5a36a4d09837a86c1e3fc620383dbcefc836f90990385136ed3ed65b243dac654c38a00c14387230ab3e0288463c4f939e366c7d0538e4323f3e07b2303c94e724375a2919381d0f593dd1e7f239c8dc0038469ef2378042703830d13c38e26bab37d87a0934915f0a34ade4093468130834221f5731c0ed5b31e1e8583173025331b7203835264f393536443b35dd7e39358e23ba34a313bc346e97ba3430fdbb34b197283329d131330764d73203b9a43247a81335bbf516355da118353dd31935257fc03625196f36aeac4736294b6d36a1a7fa371b94ae379d465c370a5e833709531836fdb4803455677d342aa08134b68e2037f4f22f3f8002a03e626a1f37b4b8b1341152333ffc6c8d3e4ccb5b319e650c37acec1a3f0b745a3e5dece035ece41c3824e6fe3e572d2b3e6b2df8349ca92d388e43c33e91daf93d5c2a63370e04063760408a3ed3e29e3d14ef1535b330ba37cbf8223e3c4a0b3dceee103745d87738dd8b203d407e783afc1e4338b452083790d9b0370d398237f178253685cc33358deb37356f993735b0163635494c01350162bf34ee02a8345eb7a434cabb3a35e1889e3414e6873498e871340581af320891af324e5ab0326159ae3278eefc35e9e8bb35e437b935cc9bb335d9be17359361c4322927c33213aec1329d7d9b36e21d583654cf1b36084d3b36e5e66437c4562a377f462137beb8283728bbec366c49713621ea3435b09211365b4e87371921023f16affb3e5c577d36fa357b3751d6033f87afe73e5b232d36c3c58e377265e33e66b3bc3e4729d7356397af3701edbd3ee82c933e169940350caea43857cb8e3eee72623e47824338c713d837cb55513e3d990c3e76dcd13555b32838029aee3dbf4f913de9805137f4372b38d643fb3cc041ec3a6c6d05387302ae372a7e4138bd89fe37df5d1b37e07747347a0b4934955341346c393f346ace0e36dc7a06361b1fec3560e8ed353a857c34100c7834a3e6653470816234b219fb34f081f634982bf5349bcff534de84c53222a3d93264a3a93100000000d34120354cab08353d55e4341cd1d534f4aba03606301336ecd28e353b79bb35ea338835f2ec3a3524652c35f21f3d3578211134078112347f981234304a11344036a036f1a9a73e9e232c3fabae5434d2580a38e32bab3ef620203fd1981a36a9091637fcc7953e2bad033ff86a3435a6818a369e497b3e367dd03e92f3043573f32e38c249443e301c9c3e4c790d37e7544c3867880b3e15894b3e2fd0bc36df46e8374e579e3d6a82d53de8651f377d65c037dcbcb53c1536a53a85d3cc369ef1b73779034838631e013876660f341a49f333db90f4333f28f43330fcf033fdffc1345cd9c0342148ab34d43f9f346f130e356e220d35b6e40a353c060935ff42c634f57ec63460b2be34f782bf3437cb1037a75b8f35a2de443596244e3590820536e52022356ee62135b6882235c58f80365eba1536bb868435851795350eea12370c5c7b366c7a053603c514364c4c32340ab83b345c203a34be183b34280c283870641a3eab57593f5aecf633685fe137a6e7193ec9d74b3f621eb934f1b8b037cc941a3e2cd4263f31a50936857f1138e707003e6850073ffa9b46357a9e9638c8e9d33d4036c93e14502838b6a1e6375a3a933d695e873e63cdf43641b92138fb861a3d07e5183ef9da0b37edf80b381be18c3ca32d203cc1d89437ca75ae37878f2438bb8f5d376c052c348c60b1335322b4339530b03380a1ac33b1fd3535ec8f1c35beed02356955f734f5006434e1614d341ae70d340fbcf43300000000000000000000000000000000ff38253776b25a366fea4d3678e54e3649562f34dc0a0934bf4fcd3353fc973368de85364dbf163634ebd73464d6cf340a9f3837d2d92d3716ed143775111e37147ca136387783366c5b5836fd9d7836de131f38ade5a33a38a77f3f4e7bb6335c42533844ffc13a7c04703f6f7f7035e7c217382ab6213ac3114b3feae61d3663402537f1e7e83aa75e223f1d90443547af9e383c2a0e3ccee4f13e14654838511329382d6f7b3a2bf3a23ee6417a3650b44937c9e50f3cdfd9253e689b0037ae3644384f146e3a8f13983c9e0324380f1b6537a073dc3758414d377d8fc236000000000000000000000000000000009d70e6353b02c635e7659835ba36a035830d21361cd0f93589a4a235fa4d9d3508332436d45b1036e7fafa3505bdfa35b4e6b334594c54341e769e3354d426346efcb43622bc48368fe43f364c3e3e36b98dbd37c0e98a375aca4837385f493797a3873773e55a377565ba36dd2fd6360000000000000000000000000000000000000000000000000000803f0000000017d325382efc8738e25e753fbaea0936f9b24e38b3598538b48e513f47b49a373804893894f08739dd8f263f924bef370e1a0438cb610939611cfe3e01a54e3749908e38d438ba385015aa3e5eb06c3842583338fcaa1a3a51ff2f3ed6e5493861a4c537bb1773387c4b0b3d5c9a0138000000000000000000000000000000000000000000000000000000000000000064e49336085b70368929523675033a364921aa342ecf24348aef2434bc9326344b378435638c82354b188235684e81358f1a783681b06a36e5c566362577613667615a347eb54134b4ea3e34b7683d344e995337cc3eae36e0cd8a36ade3843656ff9b37251a70371e4f5a37f01c6a3700000000000000000000000000000000000000000000803f00000000000000008163ec3859b26b3fb7858e38912ad4374b41563a55c2473f425b6b383ea525378276623a6ed1233fe742e137087845377a79993a85bb003f7ac09238e907053859ae883caa4db13e9b92d13906217338d23e743ce932593e50833f3809180b3855b7023b50c5963d716ecc3a74d5143a000000000000000000000000000000002b248235d41a65350f326a3536315c35e83097362f168936f6e984363a33793620332335d3fc02354f510035e0c5ce34000000000000000000000000000000000d76bf37a46e5a36c17a55369ca74c36ec689b35b9449335a56b943557a08c3500000000000000000000000000000000b96a74371ebd383720c92e37a2e13c375613d4378c59af3757919237fdb89137c1e2ee378021763fe5e41d3dcbe27237ad2c0f3aed45683fffaa303c23e34d3744c3003b0a27443fb934093cd54d813527a5103b4cf9203fd1711a3ccc4df0361cc86f3c356df63efb51173cb695ae384d9f9b3c1ed1ae3e3da7063c59929f37daf2803c1c824f3eb86b873ca211553657c8303c736c923d1c03903c3b56383a43932c38eb2f40384ef81f38bc440b3865fa6d37b73cb736e6491636680b1436878a8e357a128f35c5ca8e35f5678c3586e3c434d634b4348a73a33423bd9334b800cc3539bac735b314c3354ebec035cb52d43676e5f835a2bfea35d5dee23555547534c37b7e3481e78434c1517e3482ab53361a690e369298d1353921bc359cbda93724886a379a71153702c91b3741682337062ffb362916b336cf28bc3699cc5838dd8c4f3fbb8d413e26d23038b7e4aa386412463fcc831a3eff7ebc3591b3d038a7e2233ff7960c3ecd750235fcaf453af74c0b3f02c2d03d3bb02e36a021c23a5544d53e5ac8ac3d09872838373d2b3cc5259c3e8d3b4f3d951dfc36e5d5113a72134b3e4a07063d5cb8ce3756172c3a0579863d5bcbc43ce9599b3863a92e3833838c3836c4cf3732097937525a4a375222c9362f9f683651cb60368fe89a364dea8e367da08636d0de7a365938fa3444f1e33479dcd934b6cfc534471db73535d1b0354773ac35dd04aa3506b14636baa7373637b72d361a8e2436a464cb355e81ca3561b7cb35cff4c935aec6ec359c1aee35d4c2ee3599f9ee35c793e937f69a723737b9ac3656f3ab36eb8f593746a9303775c40337699af03631413038bd97283ffea7ae3ea91b093829cb3d381945213f508c953ea4ceb3361dc0f138c8b9093fe578763ee0beec3623ca8b3acd20e43ec3a5473e4637e7371f80393aab1eb23ed4a41c3ec0092438c2a7373ab963833e892cda3d6fea2338b2b48e39933a263ee3fc833d5e90be37850cff39783b733dcfc0d83c1086ed38ce031c3812653a385bfa103806d0bf3794a0e835ea4fc335aaf8a335f4107b3527346d36875b593657814a36952b38365fb37a35e75c3c35072f05353cc3b9348c43213560c20035b01bbf34356696340b92bf371b1e9a3681f92e36fbcb28367efb3e35fadf29350b102435e0ef183515f6f1355298eb35ff33e0355c08db35cb468d376fc07d37c5a96537ab116b37ee693937a81d07373b33b036c15f983681b25838dde4013fbb25fc3eeacbdb3780da9838b320f83eb0a8dd3efa7d923690f28838ba3cd43ec341b93e5c80d53578ff093989b7b13e5905953ec465913513489c3a3983883ee5b26d3e591f89388fb089396aaf4d3ea98f243e353307374a35f038d7c2fe3d56f8ca3d6ff8d2377ea40a3aa1f94b3dddd5023d7907e338123d2c38e2d35338568d0e386ecd9d37072213352be0113538d00f356e8c0c3528b74936514c2a36bb9904369034da359482cd3569cbc935cafec43569bbbf35a7e0b43597c6b0353831ab35a91da935459f413619523636eac9283602ef21369aa2c035e435c135c5d8be355598bb35d7968736fac5283576bd1f35656c1b356f5cd73635ceda366ca0da36f4cadb36c6809837267b6837a31c2f370d951f371c9337383dfbb53e85f1243fb945ac373a4298381aaaad3ed908133fa21f9336805888381c6d963e1f4cf53ec70fdf35b97a073a46557e3e7e4dc63ec9fbb037c3cf113a38b0493ece199a3e83173c3809f2803a1595133eb46b5a3ed7dc3e38f8509f399713b73deeb9063ea1b91e381c9112397255153dcf52293da473cc371e5b2238f1462a38a57b15385232e23763595635977d3235d5a30f35ac56ed3455705d3652bf443626472a368e661536a00ae034fc28ca346b81bc344172ac34bfc71f34b7c31a34634d0d349b92ff33460f033684e5bc350df0a03539358c357641e035ebe5dd35c9d3dd357380dc35913111350e52103511440d359be60e3502283837a9a0d03622f5f935a5fcf635532a2f37084289366f7d273661392b369ae981380fb7503e61c44b3f1c90cc36974e96384696473e33f0363f93e396360b744139ae413a3efb1b163fed280e36bcd3ef38c4121d3ecf0bf63edab64034353c973a0326fc3d0728bf3e9f2e20381dc0203ac142b53d2135873e8435b637f739b93821805d3db95b2c3e52931f351bebb4390a08f33c6d7d393d857f1b38c095293860482e38ab221138fc2dc13784d9c2354d54ad35030f9535ded185353bc93636688a1e3674f0ff35f74cd53500000000000000000000000000000000808b8135cbdd64351e553a352d992135a4cb933763d054369fa9453601263b3600000000000000000000000000000000923a4735fbcd3c359d771f357a861535fceb4337ae59cf3632d4ce3690ffce36e3365135701f46355f693a35d7472f35551a3838431a663d868d713f63a09637cbf45c3a3392643d12bf573ffccd8136b65e2d3aa430773d4c48343f000000009851433ad810783daff1113fa4d2fe363866bd3a42f7583da96fe13ec7c4a938a06c7b3a77c2233d1933a33e40b544376a8e7b3a1655ea3c1895463e734aa73764abd039b827c23c12796a3de2cd51381a532137df8c07375e9987363ab96e35000000000000000000000000000000005e6d9836fff98f36e65b8336497a7b3692a7ce3518abbc35ce90a735564ea235b2263834ae6f3534276e36349956353469d37936dd637536b5736a36e50b65369e819135ec91923544f993352f9d93357cc393378aeb15371dd1ad36893a8e36490380384285513849811a38645a05380000000000000000000000000000000000000000000000000000803f00000000a24ab539cbdd3d39e3fa6b3fa72bb4368e49d639f9a29d393aab453ff333a83766a3c83a85a75b3cea291f3fce1b8b380d26923a83b7a53a2cb4fc3ed3cf6d381101303ae4fc753c7dd5af3edbbef73751f7453a801e953cf9b44c3e7191b7383bcc36399175433cfe0a773d1dc6d83b0000000000000000000000000000000000000000000000000000000000000000fc4934361f973136a0ad36363a6f3d3694c2db36463fab363ad0c53638eef436ca24cb366d35aa36ee88d336cdbfec36318660369ccd4336620a4c3615005036e0cc8a36147c743643966f3630708936d9531a379b2bbe366b74b836b95f1c37830a903655ec703672776f3648a2733600000000000000000000000000000000000000000000803f0000000000000000569034368c1d7c3ff9f52e362df1233652f21337bcd4603fb5f3f7364453e73653cd2b38a5a7313fbd0a0d38af06a237e44f9937f4ac003faa8905372ddd3136a2e7023850a0a13e1a6399373b2bc93666f90138321b093e0b04de37cc3a9437635294361dc4cd3cd0d06936fc3f5e36000000000000000000000000000000009d80673510ba58355ed768355efa6535af67f435e3cbba359e2c32363215573685103136a09a8b3538f205363c084d367fa4e834734e00352ca503353e9b023550c0a4365a279436e921ad36468db736395b7736fa9425360fdb4d36cf356f36e5b91a36f11f0936dacd1f3637dc0a3678d8be36e2d1ab3680f1c136b4aec636905f013645411a36773825363db707364f2e75350df77f3f4595203a70586735c3e3ff35eb9b7c3f9b970e38cd5440363fc872362fad5d3f19c8933789335736edffa034cef2333fefd1683723bac7349ecd9e36f2a0053fa26dc4361d2aa2361e699036629baf3e28a45337a1677c36caf967377b9d253eae1141387d1d54368df71e3755fa3e3dcbf2be37c932b6363f3a033669e49b37dc521a362edf0036d7bb2835d90cf73496924835c0d33c35854c55364d563736e938503623cc6936fce84c36259e4036e2dc633606407836342547359c1f3235bbc543350c1e4a3595f5cf35a449bd353ca9e8354897f73574924a362f7844369f90613606686037b8f80937f1981c35f5c42835b2f8eb36ad2af6370cedd53713aa9f37b626c937df7aeb37e5b71d38a06c09389747123802f31c35a33a643f501adf3de757063574c85836dbf6643fd757ae3d3f475136f30daa3623bd503fbc64ff3cb04d9a374e548637963e293f4924b53aa8b6a83798669436988ffb3ea755113c04319e3662f046380cb0a63ef79a1c3caa032c3838b1bd37d936063ed24ec53c5d8496373aa401386657b83cec558e380ad4ee37fbbda437f054a438603a8d38b69bea37bd343b36aaff6e364f682e366daa473660f787362b3a5436f4985e36ca0e8a361e286536c7c2153627b61e3604ae8036c3308c36cc414a3654067d368dfe983638157c36d45c24362d4a3836fe845536aaac8436ba25213656253136566d7d36d5a095368b454e3689475f36df12563643abdf36b4dac236a246d0366c68cf36ae879a357cd88b35ed509035a4e59f3569f01f369988333fd745993ecd85b13659258b36c031363f26b98c3e30e06d36913166369d2c263f6daf543e0f904d36c83db93693f4073f3529183e9dda0637543c79366703ce3e10bdca3dd60f373694027a37fecc8b3e8809503d9ce54037a6d7493710d6ff3d1567fa3cbe051f37bbf9d43653867d3cc56f2837cb7cb536fc95ac3538ab0e389b158f374c109235ad762c35e9f221355d8f2535fd0285356a7e7c3628f667360e0f9236a49f9e36f5b4a13587d22435180c613556497235e83747354ed34535e07f41359d0c40358317a5366f5497361e70b336796dbb36026c893503336b35816564352ee36435e59efa357f53ab353211e735c68398352cdeb136932a9536d957bb3675c2c036a7141635e6464235b77a7335082d2435724743352e78003f9c15ff3eef9c68355fee8536ce9a033f3cf0f03e63a47c367488c435814df13eab5cc53e1f0c6c359bd382356f68c93e3fb0933e814c3f35bb0ca5364b91953e3788553e1b10a536c701c2350556583e5f7cde3dec4555353b531036dc2ddb3d8f351a3d56fd01360194a636c5c7833ca74c5337f1feac36dd328f35a7e5dc3774d9de36166c0735331cba352319a33551dab735e5c0ae35f556cb360c4db536a86aab3690aabd36625b323663553136caee3e36bb0e50366afa733671352136b1352236e88f263654a98f36378b4d36488976368d5d6f36e2729236e2028a363c919736cb0eaa366ae39536fb766d360d5d6e36d2e560362ee3c1369f60ad36fb59be36525caf36f5e686374fff933774ff963761f9793706f2b83568af9b3ecc3a323fa8fe883582c6dd3630a3a33ebb452a3f5918973651d6ed36b7a2923e11420f3f63bb33364e8c80372e827f3e928fda3e8b372836fa170837ce924e3e3685983e6c2d3c36ae0923382e4e1b3edf2a2e3e00d6b2369934a937646dcb3dae7e343d957fd436a2fdb236a3a85c3c7d331338bd3aa136d722c2378df09938a6800f3877f44236025f9d37508326370357aa36e48dbd365c31413736ab0136e9f8e8356730f135a4c755359d594135fa7e453598c35735ee626b36253e433662af3936ad2064369978ff35a4c1f135713bf235a1c1f0352a973137182072357b768235678fa03569998d37b110e536e3937336457e1c3721648036d7826936f4c97336136e7236fc0ef734f693eb3492ddf434b50807354fae3f388b02de3dae48643fcd7a9a36356af6374634023eacaf593fdfecac35331ed4376c1ed33dc5fd3d3f6ce02935ccbe6e38c2c7cc3d8613113f9dae6036b559443735e5c03d97d1cf3e4fbab93514da18383054bf3d9cda7a3ee61a343755b94538a853a53dae4d973dd7c7a4377a767937786eab3cde4f4138401141367e872235e2350537ec51df34499fcd34c2ddee351ba0e435d3278335aa8ec435407f9e360ddc963668328f3654419936e41308363b49e6351d96c735f992dc351e836636b6ed2d361d5d0436964efb356d6ca83603439e363497ad36051da436bd6d1735b2c1fe34e50ab73491348a3449ad8a36fbb67136540d84365686513634367736795f3b36165b8a3642378f3689d7573542b26d35e8936c353fea7035bed1f235b2aa673cb98f7c3f1df797358d1af736d70e7c3c2c38703f77a48f36d9f1303767117939dce4563fd0a10c3691eb9d366fd34e3a9151283f1baa3a365239ae369620db3838b2f53e4adaa3360570c735505995393193983ef89e0835427b123796b09e3cae1dee3dd2cf8036b617c436fbf68d3aa7344c3c898a6e3638a67535459a83370c5e3e351c70403500000000000000000000000000000000a6146436678f50364f3f2736312c4936cfd09836092579364caf37367d8a4c36f9419436363d8d36472c77362e875436b21e6d36309c553645d36a36babf5336fb47a23727cf2237ac5df636bd8cf436fec01d37442b1637bafe1237ac03053794385136395843366a236c36cbdd4a360000000000000000000000000000000000000000000000000000803f00000000301a883676bb8d3712de793ff8b03e36a94b8c3737fffc3720eb5d3fac003a377c6b2b3767b3d437fe9e2f3f5d4e13373f61fb363cafaa37bd76ff3ee32fb836d9c80f38709554388e819d3e19b724387c391137cb4e9f37e5f2fb3de8fc1b3778d13e36e5eea5378def843ce2e59c360000000000000000000000000000000000000000000000000000000000000000d5afb33567269c35e6fea93597b19235081f9736bd278e36a7359236bf8582365d0a7e35d9485b35c9c98a35b70b8735a8454536f9924536eb164a36782e4d3612fe9b36e99898361c3b9c36626d8b36492317353234013547ab3f357b4b453539dc1036c0ad133623ad19365f96243600000000000000000000000000000000000000000000803f000000000000000023e816385653743f97e7d53651a0fb357181523acaab513f1baa873776ca9c3636e5183a53bc2a3fd93309384efa6635129698399c64003f62b6cc36763e62365fa4fc3a57e7ae3eebf0ca3708b99f3650f1d33c3cef223e2c367e38d23e0a3875f9ee38c6d1643dd5c12c369bf72d3600000000000000000000000000000000c2ac09361e010436511b04366fa5e9352898f4357688e035592af235b71dce35723e0b36e1abf435042202361b8208360715a6354d6092355a68c63530b2ad352d288536c84c7f36828484367fef7436e48d3136bb1424361e482536f59f2036e30f973577578935b47fb2353edc9d35fb107d366b126836f80b7236237c5c36b8cd713617f27236ac547236c76f7136c235443797f07f3f6c2d213ad2238a37d4a2c7379c8d763f2dff4a388b2e2c3627e63938012f523f6ceba837384005367b8ac537a6d92b3f12e3d9365caaa43591f4e638cb62053f373a4d38136e013722a758387038b93ecb2dda374868213725552e394de5413ebea0cb3a093284376b6ea638c2ae8b3df03b9338347bed37d733b636ee09e03607079536ca6981361f113537ec9240371f504d37727020375a62873624137136a1ba7e36c3336836afb40d3500e41035cd2f203501e613358e06a6366d2c8736304f9d364c1b97363e208a36d9608436fc498b367b4e813605cfd03598f2ce35ef3bd035eee6d0355bae68368c175c3677c2723601e56b367c4514367e2b1d368a0d253678f913368dd117377105fa366040ee36d479fd360dd089377c8c653fce11d43d1d141438626d7637de92703f3beed03c855a0f3755b727385b49513f3529bc39242a2135993c2138fa152c3f65af4238a4379c37f96d68381281023fa9c15b388cfa4437f4e07d388fbdb63e9e646438bf984437771cec3985ca2b3eef75d13cad09913786fc20389d988b3d96d14038ec7c0b373301e9376f544c38814b1e3826b79537ae59123675920c368475ec35243ccc3538fad0355d07c7357617c0353150a435a8d69435a2cd8f353ff37335519e0135ede03335d0064935a4cf3f35734d4535987e8e36283f8d36abc58e36a61d8d362356d0364f5bbd36e1b3be360323b03633892135b1a82d3540252c3581522c3560e2933618d7993668849836f05d9b363dc5b336f755c03663ddb2365c58bb36d5083236fefb333f5f48983e6dfeb636e5aa293718c03d3ff1f4683e07fd0a36b7454e3839b22c3f0503113ee0bdc836ef0e923894f9113f82e8bc3dedb2713745ca3e38444de63ec2f5673d4b0dad36e88677386ceca53e59e59f3cd9cbcd374352a838c15e263ef1c9083def76af37de410b38c494553d15c43a380cc66a375eebff37a9456038c3c21d38b3ee2d371314cd366a7ed136a44fb7360682aa36b27585362f716f36a9534a3658d13636c32945358e710635928f17359bd44f35866ac235b69ebc3507bbe03526b0c535cb74cd3612e4ba36afa5b736ead8ab36028d0836038bf235975bfb35988a02362d56453564803635c24c8835e4eb54356c48fc3604350137b3a40137ed81f5360f5dec364bc8eb36f600e436628de93627931837898b023fc41ffb3ecd7ae43699516038d52c093f36a9d53e82d8d4362c08cf37cd8efd3e8660a43ecb691335b619cf3735b4e13ef55c5e3e8b93fb36907ae138b966a93e27dc2d3eb0fc1238626b0838ec13873e32d0a03debe62b37b60d21386a7f133e2275253da11b3737237af83871d7423d8c5d4639a29afa3723c91c3718d07c37ed4412373578e036f1cfa53604e09e3663e38736541192367e828e3650767636b6936f36d2ee6b3649c33135e3753435b81d3d35819a2d359878b536787399364e478636099c8f36eae8953674908d36ec8c91368ab78b3664d3503511ce59353b116f35be1257353b424736cf0937367b233c36cc2f4536a826063684d6033645da1236a4dc11364080063673fff835c8a5ea3527cb053686273438298da23e9fc72e3f0f02f636a3abc3375ba3ad3e64ee1b3f29ae8c3668ab8938a905a33e67e7f83ecfd33635aec288383c17963e1320ba3e73219737c74d4e38eb807d3e286e7c3e60ad9a360542a238ae974a3ed908103e9cb58637d978a638af37093e5a354e3de648df37ae165538632e003dff1e5938faf55d361ef96d3630d2083728b53f36bd7f123692ab6c36f1984835575609355ebe0f35bc69f235dc45ca35508c8f35950e9f352bde0e36ddf7f135ec7cb1358d6794353b2891357573593523232535026026359067863688328436572a7936dcdf8036044dd2365523bc363267a8362dbd9c36d07df434e5960335a357fa34595300356c7d8b36d7949236fd828e3687da92363ca6de361767ec36d5e0c836d8dcd636929b5538c6c6f73de50b613ffbf33f37b7e43038ce40073e05c74c3f103f03360d3769380021123e4a062a3f747840361b5291384ba71a3ee652fc3eb0b6ce360a187d38d5550e3ef33bb43e698e44371b553e384da9f53d3469553e1b24b33773f5903868e0d73d2bec9d3dcf46853799e86e382d790f3d47bf7d3835a19137ad86b63701fee13751337e3776e60537b4731c365361d03526c0a93564bfa135de12a23512b880351e0714353e0d2b35e57aa035f06979353a0260352df696359e5f093618ea06365e2d12368f880a3648f88836d4aa83368f9e8236349e7836a135f83598ecde35e513de352c45f335b814f935613afa35c98f143617ad02363c533536e8ba2e365d762a36a4831736ff9aef354032e435f66ce63524ccf2354c210b37b9bbf53c447d783ff1028136eee1b13892f9303d9f8a633f2438263619a66f380ca3093dae95463f79ac8b355c4f3b38f759033d575c1b3fa2540c37343cf53822af1d3d4752e23ecef02a3784c7c23727405b3df4238d3e6a2a8e362e38423801fc8d3d6fdfe13d7835b1376f4e8f386c6feb3cf4900f3c446f273832ad333776cb6137ed3ba636f6e6d2350000000000000000000000000000000048481436e138023699de9e352fc29335eef409351de90435a1f0833407fcfa34b15396368ee992361eb580369bf88236f54f523628834b3600463c365bda35369268af36200882359f5d653578798d35a7a5a036a836a136caa797365de69a36e40adc35a05edb3559cfef351468eb350000000000000000000000000000000000000000000000000000803f00000000f7293736fdfe9639d1bd713f1f4a2836d7d6ac388d4d403aea98503f63389c373bf0ec389b6ac23a79c5273fda7df236da6b5637e19d843cc8d9f63ecf648c361324ba38aac2cb3cf1e89d3eb5b490384ec2623889be193d7b7c123eb2cb5b38a309023876b6fb3b67ec1b3db1cccc370000000000000000000000000000000000000000000000000000000000000000f2f99b3429e38934468d71344bf04b34000000000000000000000000000000008140ac336173dc3279edd432ebf1d032bb5ce5340285dd34fb2ad33415f6c734340f9b35de1288354dbc8d35faa68835ccaa963442f60634e535ea337215dd33e3625f355de16335b46d6435f04a643500000000000000000000000000000000000000000000803f0000000000000000ce00bc3b8de5653f2f1cd834b804c634e336a33b6d70413f79bb40380000000028b5893cdfc11c3f78d27038cf45a635eb10b43ccf46ee3ec70e1537b65af434ad1ebd3c61b3a73e226ad53507d2cc35974f373df1672f3eb5a1a938e1b50338a471eb3c5d2b4d3d3db2603810925d3700000000000000000000000000000000b06b9c3571409b358b16943587408835870b2935aeeb2135df072035fdf2163528564b337f09903246b54532d223a73138dff33585e3c235a770a835369789352dbee334bb45df34d716ef3424b0ec344202d2354c98bc3595cab135a1d69a35a22c7a3542c773353c855d3521dd523585e5083513a21235b65022358960253533cbcf35297bd635bbade13528e5de35c42d45388702803f4d8f6839d60ea83701e3823b6c1c6d3f354a8237dba127350cc0bd3b7a35453ff05d153773f10435b11d953c1ac51e3f827e9436f69563369548ad3c91eef23e7c07c73419d9c9344e36223db0e7a43ec20c273658a31336b26d3f3d55103c3eef403037a915a0359d7ff13c4ce5863da5990137529ce834f6b0ec375512ae375bdf52377a48d336bf9a8f3675ed853671f68336e3e87d369da2c732e222b5321f46a5326d0a96323e91d23265d1af32ef6fea32000000003e381c3570b3c1349783bb341f3dad34305fe0342096dc34c14cd5347c7ed43497c27c345bfb28348bc91934f928e5337deca5341aa9a734d2b5b7340c49bd34fc6c16357e5818351b91103575ca12359796fb354b11fa35f9d5f335214101369324313769745d3fe56b0a3e5d212f37e40bee3a15e9663fe851f43cfcbbed32a16fb93c1f9c403f9d359e3bcc54e03322e0073d237d1f3f17632c37240d93359aeb333dee84ee3ebb471e38de75d934e202283d1237aa3e4533fe35efffb635c89f2a3d5d9a373ed118e138078dec345a38dd3cca478b3d5801f33708871035a6990d36ef850f36a5de00365804fc352143b83550c0b73542a9aa35be9f98359db81434b6670634d24aec334f62b833079abc328e0ca732fcdfa53200000000575db934ded4b734d95aab349ec99934ef9fc834092ac6348b26ba348ec3b8345532fd35410ce6358a0fe135824cd63553053e356ceb433551ca303504ca263595d47635f4938635d4c57f35481a6d358e66a8361dffa436abc1a3365ca7a43684d1a438c45d313f76699d3ea6001938a37e163a2ec2393f37cf4e3e8f5c1c3436cb963c7c0a243f7e47fe3d6c4074333ea3093d10b4083fc22d9d3d5d8852351c5e3d3d63acd23eb283333dac20cc342837383d99439d3e19ddf83bc4881f363baf343dd721343e4e1def3be7a14735d9dfa13c089a843da631483834d38235363e6c376aa96237967f1c37eabacc36c5600d3673b60c3659bc0d36894309369d051135bad60e35a40a08354894f7346cfb66355f0349357cf62b359ed0f634180c3a3631aa2a365fe61c3608130a367a4305356a400435493a0635590f0235c20071368e5f64368008523669103f36fa63b735926ab135d21fa83541099f3527925535e6505e3511a16d354e116f35a32b0c36fc6a0f36d9371136aa320f363eb518382d89023f0713fb3ece9a3437247c713cfb7f0c3f8782b83eaaec21353eb4cb3c46acf53e1fa38c3e2b13bc35069b013daf97d83eb4e53e3e3247a636ced2153dbcc4a23ed7a5153e223a8235c916293df336823e28db833d32e4ae3638464f3d97f1113ebd22ec3c3d8ee435d14a933cc24f703d741d7a38c7927535e3f84b370cc22f3792c1d936422f193602f39a36a2119836a6f19136ac028a36916b1733c26f0533061dec32ef99d23293de9134ad7d8a3481948734a2125e3402d5bb35cee8a2355f0592350c557335528ece341abbcb343863c43470a7c334fdb0c134bc8fc934c8a8c734fccfbb347bf8ac33e93abd330647d833f576ce3337297e3402938334b7c07c34048c8234860fb2353486ad3527e0a6350869b43541ec87388a30b23ec3f0263f788b1c3736348c3cfddbb93e5344093f3e05b634ed89d33cd636ae3ec69bd03ec223df342e17013df37e9d3e85d39a3e70e60136e0c9363dc2e97e3eb807533e7f8dcd34b82c3b3dedff453ed46df03d0a663c35b4ce2a3d7f39023e413d483d8d419c33dbe6933c0f065f3dae90ac37c8d869346ce4d5354486d135836cb0352782a735039cbd35e75aaf35a6e39435520379358f5ee9348675db34e4bbc834aa4fbc3400000000000000000000000000000000d0ef1e346c841a34347ecb3350627e33785dd9344bf4d4346abbcc34d53dc6349208953576287e35c81254358e143b3534b70e34b2091c34b2b3f9330d91dd3324f86b3358847933bd918233da98893305457a36a8d9713632696e367e316e36ab143739239e323ed75d533fbe8005365a41dc3cf7fe373eb405333fb9c4f2341e2b003d2dc7463ef5fa0d3f37f642340b0ee63c635b413e753ed23ef44ccf35f05c1a3df4af213eea81973eb3a8dc349d182e3d3c91073eb27e2e3e507cd435416e333d4881ad3df53cbd3d4b33173576b2a23c4a1c413d6b32fc37a15e4c33edb298361fe68e367d37893667128436f67c99352aa59635dbf59535b0978b3550d1363410e82634c7f6b833fc390f3346979834762c2034368b4c33f6ab20334c99a735afd08a355d7a4235a684fb34f2d4e834801fe2340b5fde34eba0d234e10d2736b67f1b36a36605367a4ced356183fd348f96e834328ac13423cf90347d395935f9835e35fb3568359a1266355e716f35f25463357517663519aa5f3563acf83b7dad033d8ce7753fddd21737bd74093d00cd0d3d7a51563f19af8f34b25f173d7524653de2832d3f227467356148223d0b5cae3d1ed7033f58c71136c62f343d7192ab3d4e66c13eb6f8e834dc3f073d952fa63d6b507e3e4d9387367a3ad23c57a48e3d5dd8043eb4913735a72c633cae7b363debd6423cd0e54b35e05d1a37eca86c36a8debf35fe16aa3500000000000000000000000000000000c416fd345d56ef3477ccdd34d330c734594bf4324752c2323f07983200000000983b81356a6d6c357f914c356ff83135cfc7e834824af03480b7f3347698ee34018f1e35599cb2348a188033c9a86c3300000000000000000000000000000000198319359f1124356f1a2d35548831350000000000000000000000000000000000000000000000000000803f00000000cbb6ce3c1447953c77db603f596b17352b9bd83c8db9913c139c3d3fcb2631385aa3ec3cbc70d23c3a7e183f554eb935ee4f053de6c6063ddc9be53e6216aa36743ff03c4b943b3da0ed973e260c9238de9aca3cb49c7f3d919f1c3e1e5f74386634293c3eb7323dbd9f303d150f163500000000000000000000000000000000000000000000000000000000000000000000000000000000af480e332830a033e66758357bb94735d4c84b3566068e35cbb057347846743493838c346d2cc134439c8234201daf34d89ded3428022e3523dc9635115da2353a8692354c9ec035ba54cc341fbfac34ca7d4a34f7cc2034e129ea348213e43475b3e134383c163500000000000000000000000000000000000000000000803f000000000000000092a07a36e21d7a3f7aed9c3600000000ae4d47358c425d3fab6a473569511435daa97b38d130343fbb254a3729608134c8ed9239d794033f8e25ab39ef6e9e3509cbaf391697a13e8f0c053ae17e0e353e982e35d7e21a3ecb046835ff10a034d4e0d5341112383d55f25a39265eeb3400000000000000000000000000000000570cb1338ab0a5304d73843120c65c3416efa7341d7f7134b205a9348dcbfa347b353435ffe7e334016a1835b5314235ef4db434c19b7234f894cb34798eff34f0a688348b5980341167ae348723133584d79534210fce3309aa053442b756349e66383509ec1a350a0f11354cbf1e3554631034a71f2033064d83339dd706355cd929350a124a351ed404357640053592a28434a4877b3f2b3fc73c56f69d3452af9c35ed1c773f87a8013a0abb6e35193f31359f9d5a3f53e719380fd04d35c3b52935123e323f7f96a0388fa8ed34917f66355cb3053faaf67b35fc661c3592686b3488b4b33e22a3bb3adf10ae3432276835d568333ec407543cdf472f35ea2ab2348ab66f3d5525a0397c5a703320c7e334e821b834d39b8e344a04ff34b66b303698832936f84426363ed91f36758be93346c080332e4fd93380c0d133d4873934079f1433dcc45c33279c6833877cd135c27c29358f52443589637935000000000000000000000000000000003fc37532485a6932f3f79c32af24cd32d1aac534dd39d133f6eb1f339f4ea733b9db03356b86b134161e46344ac83035f0ba75353200a5355d75a835da3eb535a601243691e9603f3006043e76f051366b1901345cbd633f364ac13db7edf2337c6182336ab0543fe3e6f13b53e363341f1a203684ba2c3fc9819d3be643d03500000000d2f9003f4dc2833b00000000621e2234a30ea63eaba0c43caeb3bf32b95122357959103ebe682a3dea9b1b3489f14a35f1c3b03cc83bdd3b08ac56346f409d35e8568335708a8635d5e4a4353cd4bb350405ba35bd78ac35c082c835cb0bd932a4c5da3290c2d032a7cb2b34c27e9534000000004e9d6e340aa6a934bbfb7b3571e01135e346d234eff9533577c99832369f9332bc988732fa4d3233b7e718368bea0e36c7d41136d3242636db9fcd35633e99356e7f5c35c5ba8035000000000000000000000000000000000f56873674bb943681f79236bd839836d73bc235121b333f43159e3e96dbc735985d0233354f353f6f558d3edf7a1033d9a90335e8dd2a3f602c3c3e5d5a3035146d3b3567080d3fa431f83d1696ba35c7f2b5325502e33ef6cca73dc605c132a5231a36aabf903ebf2a523d84f40f36f51185353b12023ed11f473d459fa735000000008839b73cfa300e3b00000000a445583682e1d336ffe83637d27f4a36ecdda135ce818f356e3062359c7588356a3b253380fd2633224c0a34184f3e3341f881356cdb593519be633525706a353f259834b7e72934b5ffcd33824835342f4545345afa433416e46a34c76c93340aea2535bb23053549651635c1b6143557d73e3540012b350c440e35a5420f35687a8933acb14a33363aa133eb5c89343fc3c635a0f9d735a8cbca35519bc2351097a2353d69003fab91013f3f9d9235f545343439c7053f89d4eb3ed6d24b33dc214f35e91cf83e91e1bd3e1b08603554bf5e35ae8ed83e54a8863e93cd243445e67d347a12a73e3f69383e2ffa85342472f33451be713e6704bb3d3d0733359c575c354461ed3d56831c3d4f802b35ce744e34e330d73c61205439a4cdb23386caa33556c79c359b349f35ea0da735af2b503642cc5b3669482d36e7c8263600000000000000000000000000000000ed0e3d35000000000000000000000000d78a2c36676ced35dba38835f4d5b4350e6a9132efa19232b11c00337c202933dceb2435b08beb340761da34be16d33411289f35564f4a35f366bd34d4dc25353b1127346bcc2134ea6fad33b5a569332537b73558d9d035c65aea35734bfd3561027136a633973e3d3a363ffda53a36000000006e1eaa3e10bb263f00000000224c1c35e265983e6d8e0a3f7d99ff33f41c6036dbe38c3ec4a2d03e269f0736179e2433b9346f3e80b5833e7bfd1233b0697a35da26433eb40f1b3e297f2235bcd7d7357b69023ed8ad173d16c68c357a276d34107fc73c0d153e3956dcbf33a16fe2351706bf3533dfb035e226bf35ee2a8b35471079356ac83b35edd08035c667233576bc78327a778732c6bddc3300000000fd646632a323a13265bdaf328969c734527a6532a9a49d32c3c7ca320000000000000000000000000000000011d0d9358ff3d435b7b8af3536090c3610f39c3543cd6535a9a32535e8324b35a1f13532b7f4ae3372c3fb3390361934b398683693a478363d0f7a3667ee7d36c1be9f356442f43db0c7623f213568350c134235db1b113e7cc9563f4801a033c1cbb734f72fdc3deb70393f92ed3a324c2b49348c08ec3df1880c3f1faa323400000000810ef03dd95dc73e00000000e252e53590b2f93d1d915a3e8d46cb35af6a4535914ae23db76a7f3dedbb87351a6f4a331109ce3c203a293956cb94330cdb4b365fe6383635850036c13f11367c7b1335c9b98c3419089c316b09de332d6a0c34b47f1733c68e2133dea54a33c46f833535a968350d75493521575a3550f287331a8b9233fd8d9e333cb8a4332b6392340e0c9c342dddad34521fc734ec7b583567a541351b343c355c9e4135d91d0e35d5bb0735d57d83340b1db43426846d35ec3c183566b8183598228635026a9a34cdef6f34e8c9af34c183863474868e35dffeed3cc7837a3fd5309a34943256350783203dfc56683f6e9b7033d2f05c35fdbe953b9572513fb80259354f3bb734d3e10f3c7bf5263f976e9033c57e7335cbbf833c1629f33eacf2513502d11e35a632cf3ca7a5933ebeef5c352db430356e9e323dc4e9eb3db41ddc3417a89535aa89a33ce71d963cfccd85359da37f34c1ff8c3358d24f344fd55d34000000000000000000000000000000002b70c634147d7134c2428834e209c5347d56953538456834153f98342583ae344db5433505224835d1add534d84c2235cae5d2340f966e34e8092d346e4f46343c84e23493efeb3465849734ceaeb33494bf3c35a8a55e350fe8f0346bcb1535ec300334833b573300000000000000000000000000000000000000000000000000000000000000000000803f0000000051550235b19f8e390377763fdaf1e534a8bfad352e91fb358d975b3f1c694735c7eca835fe5a763adc34323f6a8a1f352d34563805f8e23ac3cbfd3e29c4c0343f7a453790e6183bec389d3e9619293770588835dbc2643a1eb7133e74af0a35887e88367764393a2c47043dfc911137000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000289b0b340493f433585e53330008da33931ba1343b4eba345316c3349254a3340000000000000000000000000000000000000000000000000000000000000000e622c334efe5b134eed794341d6fa2340000000000000000000000000000000000000000000000000000000000000000000000000000803f000000000000000026f1b2375dff723f0000000000000000d6c61b38badd4f3f00175d3576aa8b348c89793a7d412b3f49aee5343dcbcc342b6cd13987f5013fc0289a370000000090beb53c7119aa3ec9d1de3724bc073760d2163d769a2a3e7b67ae388a57d834c0b38539fda08b3dca3f92371d0c6936000000000000000000000000000000008348fa322843d1329dcdb4321e888c32418a9534075f8d34601a873487a670349712c5344145a33474deb934520bbe34fb8702356ad5fd3433ae08357b00cf34348527359cbe05356fc22b3520132a3588b7e3349c41c9348b12d43478d9d434ca451c35e4e11835fa2f09358fb0ff34223c6b34db03013413b264347562b234f4eed0349ae6d234db18d634a36acd346e52b7372833803fa73a303b6b7f883737ffe337d2a0723f262f8e3733e49c34b292133920994f3fad5a11357c31ff3446b38239940f2b3ff043ed35e7e607351de0ac39d12d063f591d48370d3784352e2ed139ddc5bc3ef3b67337fa230b35070a223c8a44563ed4fa69394cf11c3529efd2379152ab3d6d7d7d37c0fafe347da8663573418637222a0135cc1be9340000000000000000000000000000000065d3d4334332b1336b832334cb9060349e77ca349b609434a0fa9d34369db23400000000000000000000000000000000000000000000000000000000cac2c433e8e7a334b9b7813499477c345b6f9c348c4d1f317b3adc313c355e3383136733000000000000000000000000000000005310e433d4a5d13200000000184a3534000000004e58693f91aebc3d00000000fe9ddf3478a6733fc4be4b3bc3892b3411f00a35977e533f6ee55b39dd52ef343c41c6374b832c3f0a5d3337000000002da0f4373f5f043f8678bc38000000009213bf37f3f9bc3e5fefbe36a36ece3426089d370a4e4b3e564c8d38eb403333cbbed63795d9a03d322fa4380000000014dd1b37c425dc3778408b3718eef2347c9f77350b0d59355653213571b0ff340000000000000000000000000000000020ff6033f6e1d332a4ca863146cd813181cdec34b026fa341dbbeb34ac6ad634000000000000000000000000000000000000000000000000000000000000000035d3c234a59eda3418edc334b85cb8340000000000000000000000000000000018a44a339daa6b33796437331a7a8a3317153b356846383f1b87923ea3736f35264e7534a0a3483ff928313e9ce4cc34578ca9343fd1433f7a5d443d7570a434579db937c18a293f2316b139c9b90a356638c137367e043f9958c03700000000b1f6ed37324bb83e9f70e837000000004220a4382c54543ee269af378296db34a1a9c43710598d3d18bcbc3700000000fc01933795d7f237f4b082372a0ae73381a81534de46de3385d792333e0cb93300000000000000000000000000000000e71f0e356843ed34c5e0e8345675df34251ab53414b8ae34c903aa344a8b803407b04b35c57c4a35fbcc82355b9c813558de01355d7ff434abe6f5340396fa349d4bd934ac07c734b0879734551082340000000000000000000000000000000050668f34b7dc8d34ffaf9434fa4f90342b3618368212033fcb0ffc3e1fca5434b40d11353a16143f678abd3e00000000f59078367a64133f78c9773ec1ff23350feb1d382bee093f5b61f73da0b1d634150b39383be6de3e74de8c3d4a033b37ba4b533832bbb33e1222843960900537e1fa713813c53d3eaa34ba3b2c32f1340506863724066d3d0c0c013700000000f09a4f364e1023371267b53459b5a0346f395033a4ef1533a49de232ab3e143300000000000000000000000000000000cde2a9348f567434cde430344f226f340000000000000000000000000000000000000000000000000000000000000000fdf0df34f7ebce34a248b2346f4bc434f2248831d6106031cca13e3255fc2233000000000000000000000000209b6534abf22435f8730435ddd62c3528277835b4abe637cc159c3e441a333f9be674322521c237088dbd3e5f30113f00000000e1a52437344dc53eb4d9d53e2cd9ca349c060a386b02c23e53ea8a3e000000003801ff37dc5db03e68ab183e000000001d27f237ce28993e6883463dedc6fa342acd3b376b85443ef0af803b472e0d333afeb9375230453d4258823700000000f3689135f6228035bb9d503590aa5035a4cab9348fdbd633000000000000000000000000000000000000000000000000ed9582332f349f324ff772316b974f31bfb3e434eda2d234c719b434c69fa2341e8e1c34220bfa33aeadb2332db22331c9be20321571333000000000000000001993f834274e0335cc6e0035df90e334ddb6813451926434d2a26c347ffc5634000000000000000000000000000000004664ed37e6d0f23d42c1623f500ac334314adc385bd6293eb60c433f000000001df7f039a34d4a3e0f761c3ffc159c34a8bfb03903e6643e838ed63ec528fc344eb1d839dff85d3e0ebe8c3e0000000018d2f4378a515a3ec9b8fa3d59d4263458458f39297a1b3e6816003dbe3307350f856737393f4d3d33ba1c37348c0134e1bdc43225fdcf327db76f33633f2b33effca334ae14813422233b34e63e4d34f3547633000000000000000000000000757b0e35d628ea348705d334db69e5341e1fb734ecaaa534528f983457c38034700809358e59f1349404e734e9dfc334dab5073506ab02358853f1344a77ff3491b3b734c636a43476bc8c348bbd7a34c7dfa23433c397349a0d9b3433098c34c2f4073356261a33522322331f3a1f33f92f38388163393d6b60753f062fde340f660038b825a73d4c19573fc5d3173514e13b3a4a5b523d8ab63d3fbfda1e35e15c153ad6c9a73dfc6b0f3fac24c6342d5a9139bca3dc3d6b64c13e3e66a735b422c83880cf013ee1265e3ea8b12235f0d369395f37ec3d3305aa3d5420a5349f150e38102b683db3555339b5fc8d36a882ad37cbb8b937994e163613f90f330000000000000000000000000000000000000000000000000000000000000000df69b434ed118c3469e23d341f326c34000000000000000000000000000000000000000000000000000000000000000092dfa0342c959d3449c2643408178434f63a9b33c6722c339589dd32bb5e9333000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000077372838d1acb13c03476a3f00000000eebb333aa5b0813c2d444a3f874eb334cec8cf39960be03cb4b5203ff5b4f4367b38383859034c3d373be73e9af38437d0cde939d66b8a3d44cf8b3e67c39736eb1c1c386724af3d4f6ee13d5363da37efe27237cff2f23c02acdb3c085e52360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fd6913370c5693394598d339cbc0b332bd189346e9db033c83bb333479ea733f6003131000000000000000000000000cb91523382556033c5845b33957d3b33091ada330262ac33df2ee833a335d333f582aa342702aa34f1bc8b34e14d8d3400000000000000000000000000000000000000000000803f00000000000000004fcf1c3d10bb5c3fa8e661370000000067aa223d495f313f58b2f633a3dddd333be40a3e84f6ea3ed6fc7f351f0f3135b0f9333e40a68f3ec0a80b3700000000a2623c3e2776123e4dd2b9363c238c33ee55043e3e1da13d16ce523730f22c3425a84a3d8d3fe13bd73b07387b09a1340000000000000000000000000000000024d93d330000000000000000000000002a393e337d9a0633e13cf33208660233d26fdc348e95ad34209d843462b32634e1243c35e3833a3550d43035223d1c35333f2c334e3d25331ba915338e4c22330a7f9234aa764434b0327a33c64822326bad6634d99a6234b81e6334e71a3134cea4413390ec40338b6c1e33f21e2033cf9bfc31c856fb313feacd31790cd03171022139af57803fd3d1f239a14c71373185093dd190633fe107b73790f18434ca7e3a3d052b343f85458735b85c683501d3083eb12cef3eefc4c6357461a835bba1423e86378f3e8a2d833410dd6c3481f4533ee2cc053e3a3961378ecbf034307c083ee2ffaa3d40e23d371e62d33444cc663d4ba6133c8b9fc837f5846633f42b7a38bf366737a47e08325887ef313df30e35166dd534c7ad10347651ee323c702f34470c04345d43c1335094b533046c8c34050b4e349cc94a34a72b3034558f1d351da410358839fb34c4b8013500000000000000000000000000000000472922358d050635947f0f35a6a90f3522552934b5432a3412245334df086b340000000000000000000000000000000000000000000000000000000000000000f6eec7372a0a6e3fc5e4953dd92f5c3808b84a3c139b703f6bad503868fd8934a2e1c33c97fe3b3fdbeaf636b5200e3575b7003eee65f93e648e8a37250286354941303e15dd9a3ebe437c3700000000a4cb413e2daf183ea34acf37503273354688fc3dc6c4b83deb85c4378bdab0343b204f3d10a3973c4c2e4d38000000001e8a5538670ccd37af72d933690dfb31d9a0e131726ece31ab42b7315dbba03100000000000000000000000000000000059c8e3473776a34ddea7934b65c4b34b9885d3452bd4434fa21573420de6a340000000000000000000000000000000020dab634f96b9934c9bf9b3499128434b6eec733333aa133f4c2bc33a1c8c3336a6a3c34dd572e347c050234b1af08348d4f523440ba67344eb49b342d121734392c833841bc393f217f8e3efed57f3805a7563d0638593fe8eb743d000000003d4c483d1fed3c3f44cb303839f83035f3ea113ec776fc3e47ab4b38ff2e2e35ef9b3d3eb215993eff60973700000000d6a1413e7e6d183ed2385436b9fdd83426b1013e61fdab3d58b7013891f3fe33c180363d88f8823c4dd370386cb01234a5cc8b3777879534edad2934d70c2334fc890331ac2dde30d322b3300e14b63032f195339f427f337401383326f10e332294b43411a29d34b0413b3476e130347b79cf34638acb345f4cc1344bd49734efd210349c911134da6e12344a781234234dff34209bdb34b44e9a34fcd393343d2e7834716f8a34e87c9934279b8a349b8d9e333747a23335e7bf339c79d033bdd909314bdc08319334e03025d7e23048b9cd38bf9d083fd067f03edea90d38280a883dea11203ff7e0863e927ddd347c2a953da5441b3ff5d6e43dd40144355c86333e8858fb3edf084c3935a1753540cc473e72599e3efa21e737395bc834bf9c423efa221a3e43014d38c4094535310c053e2c76ae3d03330f389144e8341f793f3d14731e3b4c3e7638540c6834c3391d31e6960f3125921531ad0a033154176234d4b102331ed0d332f48fcc320c7bfd338deeb23322d35b337bed5933ca6732345eae1c3436ca033482590934c0a59234381f8534b74c8734402994340000000000000000000000000000000041da1a3562540435d256063526300d357be25b34a9e059346a64783402158c340000000000000000000000000000000006c30232c8a5f231e7bfdb312eebce31a5360f393806ad3e29452a3f13ac16354f80b03d9cc8cc3eee37ea3eb0f7603497a4b83db9dedf3efd18893efff89e3432b7303e8868c53ef3b5e43d26a44535dac15d3e08c8973e5fa02b3c0000000040774d3e61002f3ebbf2a138557aa7367f150a3e6737ab3de4964d38fc4ba434185d283d1658913a7807373800000000e50dfc3430d9c534de332f343ecfa43300000000000000000000000000000000000000000000000000000000000000007ebf4d34cfc3383467b04234daab013470c23a34d458273414e9343440f14c340000000000000000000000000000000052e8fb34e42bdb34babb993451ef5a34acd77c33a100483371cc5e33fc417d3366f680343cb3763484744634c61a4a34c7f4df34d91eea34c2f00635e970ce34cae2f83c299ff33dbb905a3f0000000013bbe33d4f70313e08aa263f00000000642cbf3d1800823edd1ce43e05085c357ec42d3e0a80853e9efe733e0c283d355788463e526f583ece2f043e000000001d535a3eb4bd2f3ee656143c7a8539377b5f0a3e96f8e53dc32c2f3988446736cdb0353d95a3de3be2ec3a38e57d613401bd0f35783bfa3439cbc734bf86ca34de55ef31d4b5c8319f93a031d1a4a231dfed3233181a16335869f132c615f532fc8fa934577da53469be2c34a9794d34634e3034d47208347de4973399f316314425c3321ec6c2321ee9a632f8b9393270d14f35a5c543352ed51b35c9562235d3fdcb346061cf342b19d734696db7345a71ac339e03dd333478dd33be07f3330000000000000000fc2e3e33340b89333d06b53a7ecb763db80b713f736645372793e43de5548e3d660c423f4a8f0434fd5ddd3d44d5c33ded17163fc0e130359164233e4fe6163ef7c9b93e53fa3a35eb3b473e23440e3e285c533e153fbf340453493e96e8063e3434a03d008e1736e745ed3d475b043e24a53a3c7de41a35b1a0433d4bfa093d01e4c838314f4434f24cb33399fa5532000000000000000000000000000000000000000000000000de4c9d341944833416df523498015634dbdbc334d258b23459b58034b4748f34d2308633aa9b5f33cede3b33857a2d330000000084d8fa320000000000000000f05d5a353fac4f35241541354499533563718233bb0ba033337bde33f89eeb33000000001b96c2320000000068c9cb320000000000000000000000000000000000000000000000000000803f00000000bf599e3dae75383def61533f069cc0341b0ea73d3115133d61702e3ffd69123570f1203ee1d87b3d44aeec3e8651d334c592393e7aa3983de13c973e7f6ce832cf82263e768ce03d0b09113e87e38b3557ffd23d9bb7f53d774e4e3d94a99233a0854b3d0cd05c3dc98fe3386003243800000000000000000000000000000000000000000000000000000000000000006417553734908836b6900437f68da737b2361d370514e636b01a1a3779f12837f4a5e4379f28b73608beb537219d2b3806f7b8370828a136663d96378fbb033858c31e38e5ecb437071e0e38ee114038c7a9a437569127371a2c8f373022c9372927ff37b630bf378551e8376adf093800000000000000000000000000000000000000000000803f000000000000000095b61c389de97d3f98f61338f682e5370bb02f3880f4523f2782c7371e26613722b48d3818f7293fed76783888a94a38fefd8e38eff5ff3ec4133d385b59113885c5e639b228ad3e9dcdce3806c4423820bd09380f78363e634fe8372189bf37a34e2038df36363c87550e38a69b003800000000000000000000000000000000853dd235c281b8357a3fd235e2bdd935d67d5f37e67e81365a190e37c349b337825adc362f462a35a44b7835019a8437dd7b693729afe536032f5237535786371a77c43764d8d336335ca437bbdb10382e28f63778df54378234d2377e6e17384fc77f37681aa9369c9c2f373f15d137702e01388f93b4377ab4e337990a09381d70b437e6349e3727a5ac3793a2b237dd08c93502e37c3f9299443c269fae36758bfb37b175753fa325a03c614d05380685f33707f84d3f47b0913ccd70d937d6301d38cb70273fd0a9393c252be63791e0b13963ecfc3eeccb8a3b43a78338250f3d38be6eac3e6fe7183acdf923389e2012383fa2373e2c804438d58cc437ee590738be51c23cfec01c38cbf5f337f358943759cffa379030af376a9e9d373556a837a5731f379388723721b3c73765198b3751cd04361b40f6367e909d37a53b1437f4dd7136fa9cb8367320243759573337c53b12360e87283684b2893728421538e0953f36a0b75637d61d38383fdf1038d91dff36a911a83797f22a38d769cb37dd9bcf36f45983375abe0238695137387035a1372ec5fd37e6d44338fc364338360d1d385024393885334e38ecda83374c38533f70b1323ef397be376db6b5377f684f3f4739323e27b5d33763e85337a02e2c3faff9213ee15841374582d3371b360f3f107ceb3dfe6fce37a6247e38a656d53e2336aa3d5c9a553853984738b4f1933e768e103d85d73a38180f00386d182c3e58e25e3808a7e8370aba16386b64b13cc9238939a2181138b9201c387b137438cef35338c83229388cad003854ccc0378ee1b83776b504384d931d374762a936ca00b73675251b374d903637a1e70f377da019372b9d35374bca273865ceb137c41ed0370d65293836d4c337ab5df53625bdf936d5c0e437714e17387f895f37e20d813720621638c641d0375bc86637a6087b37f472e93787c82438f34cf93729c50c380dae30383a910238debccf372247da37de6c0238ca24d537f8b9293f784cac3e9f5fdc371be20b375734273f1ef6aa3eb4ab1d37973b6c37fe350f3fc707923e9a53513738444838f5dbe63e32b6613e9f753d3888770f381c74ac3e1f8f263eb3ae0038ea482e3875eb6a3e1961c73df54f1c38d3e8e3371d0c003e6b58143d3f85ca3707331b387e2f873cfae56c38ec181c389d01b337bf812138c1790038229cab378d2f35385edb1938c97c0838e1d72538e39d15384c02b037cab597379877013853ea2b38bd9fb43770299a373f7b1e386c6c09388bb4f2364fd4ac36357df637f2512238fe6ac837ff68c437f1e90e3846fa3c384effb4372acba937c9cb3538116d713889812e388b5731386e6e7538766a693832734038e58843387734723867ff5f389dbd4638c4504c38b41362381e8f18389c51003f3e0eff3e18e2133891eb17380891fe3ec8bbfc3e97df073814a548382ba2d53ec7ead13e81c535380f633238e2fdad3e7666a93ebc7c1b384847223937a2813e26637c3e2822323873394c38d7722d3ec88c233edfa23738aa7e7238a7ecb83d7bf6a73d2deb6338e8d0523815480c3c497d8a39774c4d38e8414138f935013920647038a4493538a22eab37dc458737b8ea69370b5b8f376ef3ca3706a92337a5401037d8c36237abaa5637ad820937ed38bc36ca4e3a379ec0f9373f2f3d37862e1237250e9537c1120238f3c6fe368b79f436253baf37d7d54e385c2c1e38c477053826e43e38ba34dc37d4b86637068f3c37a9c1b73743da36382066c5374c6fa037c7862638eed83538fc33193835041e38d4433938499e8d37502bad3e2851293fc46d8237695edd378573ac3e1e78253fc4719f37a4a08337ddfc933e30b50c3f151c4737d79a1b38dcc26b3ecda3e23e6af9fb37237612386b842d3e2a60a93e364ffe37351a5b38c298da3d84ee623ebe224b383530cc37174a0a3d239af83d28cdab37123cf637f797533a2ebb423c1162d337195a1438de564f385fb95238c5301038be721838cb59db37a89805378144b137890e603738eb003732adb13670950a37daa150379d576636a7d5573602c86736baad0b3855e80037c43b6036b83a823762fc4238bb4858379f503b3639efce37e6facc3756e7403750062136e96d87373b04123855184837bea02737a0727537b260183827e3fd37a029e5375922113891190838cdd1e137321be237edd10d38d6911e38a94f343ea4ce523f9286ba371e91a2377f9c343e27294d3ffc0925379713b537ee74293e778b2a3f6b745f373c1a35380335fe3d6e290d3f7b031a38a87603392d5cb93d917ed13e755e4838b70ffd372040363d01cf8f3e26bdd0376ebe1338e2af133c7ef2233ec2efb23778cf11385998533834fe7c3c4dd904381c98de3741ad203856c523387b3fb8378c689037c58b3b374035b235913b193768448b37d5bf88366dba5a36eace6d36d8eefb36fdda84365ed6c7356d928236d68e0138752187378800aa340a8a8c37819123387717a3379336d036a86aae372a72d1370afc803755e93d37f6e78537e9a5e137d40090371c8609372198a837d6ef1c382c4104382754e6370edd1538a9c5be36f7704f36ef3f3f3686c8a7369515b03723d75c3c237d7c3f364e523791dde13711e6c93cb58c733f8ff99337a98eaf37b257cf3ce38e4b3f924b8d37e4062938680a953c46e4243fdb942238d2866539028f543c5fd0f93ee2366238195e0738041e6538de37ab3e657a0438710bfa377c68e4391e39353e1895f53783ba1a38212d903954e9ac3cdd0c183827726f36b0711d37e9af6d370467d235000000000000000000000000000000005031a4376e48ea368bd64d3672329d3643e9873730e5c836b2040d367fb55f36606228389cc9da3763cfd03624ebc037b91bf537579b88372ccb9d362f698a3777844d386da40c383a35803766e30e3892057d37c5b95337434b2237297d593785c609388109f137d0ffc7374fb0ff370000000000000000000000000000000000000000000000000000803f00000000c976f237c8181938f6127d3fa8770438eb47cd372fb003389e50523f0039e937d5ee4a387eb99a39b30c293fa9ea533920171d388bfa6f3822cbff3e3e9e43386b5e5f38f310833859d6ab3e0391803864a381375bcbfb376ff5333e211506380847073808781c38d8ad003cc75819380000000000000000000000000000000000000000000000000000000000000000a069a136dae1a834fa62b9350373bd367ec4aa3772b50a379e4876378e30c6372ab49f37cd660a378c436937fb35bb37cbfed0378fe05b37f4fba3375425e7371757df36ba76293633a5c13672871137d3e01b388b24fd37dcc315385e792a3889d1d437b4d7b437d55ed7372cf3173800000000000000000000000000000000000000000000803f00000000000000007502463ad2a9703ff68677394dc5d6376ec3213ab75a4a3f67444c3999e04b38bcd14c3a6c3a253fabaeb439bc5b3a38f6ea553a5e7eff3efe03db39e6573839c050223a8433b53eb3b6a339c2145b385c59cf3978c0573ec402c8381a865d384e23b63933565b3dbd41993861c9753800000000000000000000000000000000339f8a37c7271d376a001a37ed84893723b41035b7980c3524ea0c3533df0e355bcb9635695f8e35627091354dc293359764dc354a14d435b940d9359119d735e5b252377fd74836ccb8f13658c36f375562ed36bcd7a6362b4bd636596601379a168f36603a153634278336db2ca136bf1d6737dd2a053775634537d11a9037441d22389d651438c5e81c3888492a389b370d39df6d6f3f8ea4833d31011e386db9b1391a345f3fce42873dbec5cf37f5806c383e353d3f72fd7a3d09ab74375f92823aa0e31a3f9a063f3d77b40c39bdc6a43aa31aee3e53f2fd3c291a103aa9c72738091eac3e9ecce53b29b6f5371183963833e54d3ee0428038790bfd37e927153ab4d6803dfd12e13971ca7639ab72933840e1ad39882d3838d7b23138d840a63794db7a37a8fc62375eb89237b2a90535f1260235a27dff34b5d00235e89af6347a27e934f9b9f03403d6f6341a4b9b37d64219374cfb3c3784b28d378cb02537efee98362040c736c64a1d37610285370de7ca3625d31237245085373c81b6378f13b83608cbcf3699a0c9378f741b38a5690138331d0a38e38c2238fe342c3811ab1938bf4321387973b03868b4223926364a3f0a18563e19f634382091c33882a03e3ff8fa4b3efce6d137449106388ed11e3f6394303e49f0703779e85538ab93043f85c40a3ef8112b38c5dc1339ed1ecb3e8b7cd23df28af537387820388bc6923e5b516f3de0400a3880ff06393984363e867ad33cc75d7b384a6a7539643a6e3df3a7c739c4783b38848aab38045ac53997fdeb38463a3738ccc61238629a0438da30f3373ff104388435ff362b07a33679cd9436da95d236a3501b360bcd17368755193691b91a36df38543523ea3e35c36446352b0149359d708f3584c2293545342735f215283536b05737d37a8a364c829b363e463937c1977c366c7b1a3585f31c3599af4b366eef38392138aa37021fd4373b387a390c4c38395e464b38b3f29b38c35b5039c3233e385a33253f3e46b53e19e435389473023808981c3ff242ab3e0572da37a037583812cf043f74888f3e67911338ea9201387301da3e00a7683e3b8ab0374776373a9216a73e7d21313e2feca639a0894d3811866e3eb431eb3dd2ca18380e23dd37d945113eb0a6783d8fd8a537cb76e139cb20483d1f1f513a9cf0a1392d553c394b2af2396eb49039929db3384f972938cceb1c381ce011381bf91a3812f639378c830a377467e8369b361637821993379b05f536b089a836c96a3d37bd5c7137c93a33378d8423375d7d4c37a8c7d237f3659537cca58137a149b237a965d13726cf7e3713c877376bae933772affc37453fc1379897ba377273ea37321bdb370995b137345aa937078dd337eada8239f9a51539cf4b2839f83a9339c9339f380e7dff3e895dff3e16644438e4f9d8375476f23e34c4ef3e1fcdb13724a32c380755cd3e48fbc93eb1d41c38577083388d70a83ec8e9a43e35ea5c388b86523abc01813eb8717c3ec7d81d3aa76f8638639c363e2a812e3e48487138e1a93538b6bfd73dac43ca3d83072c38a72b03386363023da0ffd53cbd4afb372efa75395f66ee393260bf3979e3243992e1cb3748e8aa37a4e57f37d6cb9137ad601035c0570c35573b0135300a07358c6c19353c8818352e541535d76a19359fade136dde1ba34f764b33401e5303590824f35fe682535c6a51d3526512135e91ab8360e400d3602835c355a5061360372c73710042636611e2636471d4337fb50023886d9e437f184d437f8d0fa372926363893872f38c9592a38620b35389c36183805e4b53e989e243ffbd00d386248ff375627af3e9d5e1b3fb34c8637ba288b375521933e8186023f6c75393777e72938d990703e8782d53ee4bf0938dc651f3ae4c5373e6760a33e6ffcf339d474f037ca49fa3daaf1653e64b9d3373a0b6a389db7893d969b083e416d5438a5f9f138a496323ccdd22d3d289222386c6840385eabcb38b3d6a738059a3738628cf237cb8cd03710abab37a33abb37f3207037c843ad367bb41036f15a983639d45a361ca9cf3572c5c835efb6cf351db203370ad3cd33b807d033458ed23364ec3c37215feb361fd94036d86fea36fe82eb378c64ba371fa98a37d32eb5376d58e03619989136ec224a363c4e9d362c770038f1a7b037221a66371d50cb37ba061738081203383a5eef37b91d1038111c43387ca8573e92d3493f5964583812222f38b00c503e9fde3c3f67cc2838b3376e385179383e278e1d3f5f556e38ac670d38e2c2123e5cea023f0f58063815662d382e6cdf3d3d38c83ed9832c3885334338d0bd8a3de7a58e3ec86c41388353eb37636e0d3daf94303efe04de37f6948e39ac41343a7787603d300c2039b679b0389dca7e39e9059839def72d38b507e737f811aa373e946637e36a86370393df3515c6db35bdb6d135baf5d8354689613545676135d5594935862957350241bc36f4966936c15a9835dd4628369e128e379a5210371a0cda352ffabd3635afb1379fcb923696c2e8357b9eec3546ebbb362e2abb35e05fac352db8af35bf7bbc377d7888370d061e378c4b86371be70c38efaaf9371248db37194afb37acdddf386a54893dba936e3fb7218139f8321e386e95913dd94e5d3f46781e3905a20338a1f9893db9313b3f10b72038890d07385160653d96c6193f1c800f38653b523abd2f213d5bfeeb3efb4a773a3ca4133aac1e823c15fda83e62372b3a47161e389363f6384a1e4c3e3c442d382828d0382e24da393f8f793d0b581c39199d22386853303836303938cd7a1d3800000000000000000000000000000000f76d1c374cc1d53523885735a6779b35c66902387085ad37fec6163718bd7a374ac5d0366fa42a36c8fe27366d032b36c5810f38f4e3cf37e2bb5b37bda3aa371fae0a38e70ecf370f6e8437b10cb2379efe2a3894450f38dcfdd13700ccff37a580d537bb1ab9373109a2371ff0b4370000000000000000000000000000000000000000000000000000803f00000000d7235538ccc268396d06723f294c65397824643862309b392cba493fe38c8f39898a5f39ce120b3ad1c8243f1994033ac89ec1391151213aa2e9fe3e7609263aaf4d90398d9dfe393435b43e4ce2f9399bec03392c939e3968cc543e7f83a0394f517b39d093c039777a6c3de8f4dc3900000000000000000000000000000000000000000000000000000000000000006915ce371d93c137b0b8bc371cd5c1379555ee379b7fd0374077ce37286fdf37cf5b0d38a50403389a080538a5e30a389ecf5638294b1e389e161f387c052138c3d711380a24d23712b6ee37339b05381ea71539f7e7be386ff3de38e7670739791dc7396b1d9e3931c3a63986f5b93900000000000000000000000000000000000000000000803f000000000000000032e60e3ac6d0623f55b0f539ec7ccb3902be643a25ec413fc068273af111d3392a465c3afd98203f9adf183ad120c8396b04593af72eff3eaea92b3a6fb6053a5418323a082fbd3ebeb8043af049ca399751de39ed6e763e54c0c73919e0bc39dce44d3aaec1e03d82313e3aff8b383a00000000000000000000000000000000079e0d394a437b388e46333810cf36382565283830541b386d691638f0801a38fc698838bf17803815797c3881c8803858a7e53758cec537e9dec1379412cc37721705385bc1f237bf72f437059efc37313029391bf7d1376440dd37513d0f38c6377039bf0f3539b54f4a391bcd6c391094ba391a7ba6392e1da739ecfaad393c484039f9b32239b5341e3918f32839b369913a0ee6603fcbc1eb3dae28503a4a985f3aafb8483f46ece43d8bd9a339af637c3abbd62c3ffc41cd3db38d1f3a45569c3a80c20d3feb229c3d6c21003a855d483a2e15e13e7e58733d12a6183adf76c93ac093a13ef3b7f93cbc94a63a82c5703a8a49603e493d5f3a946e2e3af264753a5534cc3d94e6613acf35533a5fff063aab8b183a7129df39c544e2394bfa8e3922fb6e39e41118397989213914820739456d2838f8c2bd371edebf3713d81739b6a4773823e0d137b72e50382112a937fcfea0378b65a037c3c3a237c909f939989aa639a7209339a536b2398eef3a38bb722f3811272b3838c42f38e0fc383a531f2b3a4bba2a3a2915323a7409ec393f18d7399e95ce39faead739e12b2a3a5bde233ab86c233aa1e4223a48b25d3abe48403f486f773e3985383a30ef483a822e2d3fe36f683e7e541f3a5b8eb03c5ea8103ff68a3a3eda3e3f3a009a383a881cf33e264d203edfcbf5395024bc3a1d33c03ea50cf73d43ad923aa479533a2d9f8e3e9ebfb23dde21253ac37a7a3a81b2393e1f025e3d99be6d3a1eba233a0d80bb3d57db283a3c36163ad54a483a2c01553a7c60443afaee3d3aeb35d439e341c7390f11b339c041b3395f23ba3838b5c037d3c5ad37ccc5ae37d30add39d91db03966a997396163a739bea8e638a48c3d38bd863638b6433a38e1191138585305386c4101380d4905383c27d337e4c3bf374280b23730fcbb373ca6fe39f6e3df398205d639a3c4e7391a9ecf39dcb9b839b3f0b039ac8fb9399bb58a398142803903ab7d39b4b181395340263a60ba1f3f8f0cbd3e9fa41a3a44b45b3ad5b50e3f87f3a93ea16b1f3aef05a33c6d73e73ecac5843e8685973c83f05c3ad23fca3eca846f3e12dd2a3aeac9b73a472aa03e23d83c3eea35853a1258893a8da66c3e7cc8093eadd61f3a90d7473ae577193ed6c5ae3d6c22393a8988053a10e88e3d203b183ded3dfd396ef2c6398169e039c460c239d7e5ab392302bc385c13873871ea1538f5c6093848c72938ab7d2238c3cb19387f941a38362f1c38ad6a1038f3100738c7c50838aa99eb37b675c4371dbdab37ac4bba374b24b9381ded3e38cd6e3b3837743e383a711a3809c408388e36fe3737840538e4765b393626243910daec38493913394f709f3942e78a3989628439f0be8c39ab028d3903df75397adc7239cb9d5b391addf8396130ff3ea407ff3e4560e1392552503a897ee33efcd9e33e91ce173ac627183a44a0c23e72f8c13e3363c4394bad843aaca5a13e8ce2a03ee94f233a5157603a75ba7f3e396d7e3e5d20373a4788773af1753c3e6ad33a3ec57f333a59eb113a9599f53da374f23dfe96e439c774233a75e35c3d400e593dc510063a4a14bb396804d139e499be39fb10a0398e42493983ac273985b40739f100ec38a5d0b137467ba7373b79a13745e7a1374fc184398c182439388ec538b292de38db0cb437de8d9d37207e923783709637f6071038780e0638657dfc3705a70138535278390df918393f7dcf382fb7fe38fbcc1c3af14b0d3ab690023a1cb8073a5440023ac174f2393acae5392980ed3926f7fd398500f839e7a3f43928cbf339d667f23903f8bd3e90ff1f3f381bf1397a63073adf22ab3e13290e3f81d5f23994b7463a24a5913e4c37f33e1cc6393aa70d823a78fa713e8af3c93ef0c8433ae24cab3acbb53d3e71fe9f3e499f8d3ad6f3473ad3040c3e8d0e6c3e16053a3a88c7993cc7a7a83d4f7e133e2f9fcd3a4f3d443a7a971a3dd83b8b3d1cce353a4032143ade58173a3505183a5fe50c3a14b98139d6811a3959920c3997b99a388f23fe3704d2e4372a0bd337e888cd3780a1ee390476be39ded69a398ba0a03969872e386cf91f389f6e15380f7f1638fc53ee396e36a039d4663639e1605f3930c4b33774f1ac37e278a837a0dfa9377a18f939e3eddc396c49c7394e18d439cf5c253a7d041b3aa8b2133a4d031a3a43420f3aa285093acb92033aa072073a00f5553a64c4773ed409403f3f56563a3acb033a78c7693e34f92c3fc504e7390365723a8886403e498e113ff7be6c3ab98b423aaeaa203ebab0f23e2412393a9263a83a2b62fa3db99abf3e2871993a46f2223af23db63d6de38d3e6b870b3ad725883a15444f3d8308343e66d1893add06433acb185b3a87ebb83dfde3403a881a353a8056383addfa453af9052d3a48922338774d1538cb800d38567407380b220038b4fbe237f59ac83701bdc6377312243810c41938fb2f11387bda123872b8a5377f5d8a375572823733758337faba3d38cb50f837dc65df37b55be237913a0038e201e9371962c73725adcc37133bbc395c7d8439c9f3b238b25d1439528497395e0b82393eec4e390b055e3966e0df39fa0fce3958e4b939c618bd39b3cf3e3a589bef3d85f6603f6a8a523abb855c3ac108e63d4f42483ffc95613a9cfaeb39b9d3d13d6c9c2c3fd669c3394fba983af7bfb13d6dcd0f3fc94f8c3a52dd313a30b0763d2b2ce03ef53a243a4d4a713a32742c3d8efaa53e8756603a296f603a2a08753a9e91603e2c615e3a7443f43942ba113a0ec3cd3dfcfbdd39762f333a98542f3a7a0c3b3a1dbd183a00000000000000000000000000000000a3282f38e6872038416c0f3843061138d0103f386e963038373f24384c282538d1bdc23775f39f379453853787d78737cb18d1389b793338459e1b38d32a1c388440de3879542e38cc270b38a7d40f3833a82538bc1d1d380cab10386d56133823b6a039f1e08b39231c6339bdec71390000000000000000000000000000000000000000000000000000803f00000000d5045a3a8d47743acc4b623f44936b3aed37d3393b73e939f49c413f0258db39b100003aa4c1183ab38a203f7dce003a87b5343ae1c1463ad480fe3e812e323a01f5243adf703c3a0cadbc3e43851a3a957e343ae082423a75f0733e01b42a3adb71ea39c903ea396995e13d308de13900000000000000000000000000000000000000000000000000000000000000003c3a2136bc2c113622372e3641f73736ea143b36be982d36b1b93f36edab4036b5700235c5dc7d3425530e35fa4009358a00713646b83636afe14b3624e67b3739b97e367fae7d3699cd8636d70e883608438337c94ab836a36a59376a39cf37d200b937732a623740df9137e30baf3700000000000000000000000000000000000000000000803f000000000000000018a58337cfa77f3f145db23789d939378ac77437a9ed5e3ff7ffab375463ad361084d937047b2f3f571ed037a73580353a4448387b6c003fb48244381f1d0c384c78db372dc6a13e201ed737e0383637b5cb8538ccbd063e6c458738d1b51f3819bd3f38cb47993ad8f66538bde6de3700000000000000000000000000000000851cee352aaad4350f7b4836076fba36a0a09d3559e09a35853cb33514cfd43540c75e35eaf46135b3c06835c3c967354eacbb3388b3c0336ebfbd33e6c76736052f0634aa5ffb33348408346538983466e2db33934ce03326fadf33014f4e37ee195c3758740c37d6f028372637ae37e305d9367b8c6635d49d30367e7002378611cf36502c7b366c48ce36a2e2e63697773c36d2dc7f3fbf7ec9397793cb37b1c304369f967f3f9c5f8e3897fc2b36cf88b437f9e25d3f0a5acc387d4228386a5d353700672f3f2721283820256d37b1d9b5378bd0003f02b06138c8aebf3739256f3889baa43e2004d53879fd56381dac50388b930e3e6a0ff938b0403738839c3e3772de5a3cbff48238c5d69d37c7456c34d265ed37258cfe375b7661373bc6483617244336b8341037c9e35837f35be035bb80ad35a45dd2356946e1350806f3351a49c935346de63580570c362baf2636316119363ce52a36f2d12e368179ce3625d09f332665b835e3fc4337961b9637ca618f363c4c35379db4b1373615a73555279e357041a635baa3913687cb0e36e60a563535b158356123a435f828983783e290374f439f37167c9c374cb1453698d9623fc305e93d3355e637a3c1dc3540bc633ff773dd3dd1b01a3878a524361a43403f3bddcd3d5ebd7837d54833362a451d3f40d8933d4d3a3c361c66b3372f45e43e42e55f3d26a6e937d7f8fc37a63f973edc80bd3c233e193839da353715140d3e2420823c0dac9f371a9b363530b54b3a8c75283aca1d8d368ac327375493f637312b1538c3deb037b4989b3662ea9936a473003726c60537037e4f36fe33303659ff453633d361363c321d36e6191b36cd802236a4572336d39f7e3630923a3624f4453605d0c736a8c54337d31a0a3697ec18369e716c37d372a236e8e6a1367b4ca536f4c4a636455c1638937ad937eb18f837deb315387b52cb37f582993787fcb9376e0ad337a1e60b383801023886491138b71b0d3883f99d362824313f36a19d3e28be5d37f3915c36d533323f90059b3e72b872368214613628bc1a3f2b23853ee2208e36acbda637940ff63e8cc14f3ea5f9d3372e4111388c81b53e9709183e6a7e1e381657a636d0d46a3eb470b83d2f2aa8361233223814c9d93dfca3ff3c5afd36384a78ac37f457693aac5c793a1716f4375178bb37d4378c383e6f8b38aef00038fa0c4337bfaa35377ba22937bfe52e373ce6ec3538c6e9358b3cec350640e9351b978e35b9968e35c5059235b870923524376536b3593035f6993235b51a80354a0fb935ae0c513581855335505751357f8fd437ec34e73618bdfd36e922c737b1e0fe376d37a9379959a43725a7ef374a9f5537baee0a3747120637372a46371dfcbf37add5b5378afdc03782e4bc37dee72537c925003f468aff3eb8fb10372b18eb35c1fa003f64f5fd3eaa0eeb35f6025137f6a8de3e2cc5d93ee9530b37be3fed37fd19b23e0508ab3ea2f5c737a3479f373a30823efa967b3eae92763714a82a3878a4263e2e2d1f3efd971f388422163838ad933d62758a3d2b4e103821c11f37e00267381635a438f340023736829a379579313804702938ff02873742ccb5370942c6375309d336d13da536143caa36006c9e3643198f36170b9736ddcea1363bf57e36923e7036d66e7e3699e39f36f7009c369ae79a3686db9e36776a9937515718362b930f361574f736deb3b637f49722372a4d7a361c3878377b9fa4360a26863614697436dadb94368f47f9362ba7be36619e943610b20137323da037c3b9a337c677ac3795c2af3755ad043841299f3e3660303f7b449f366e1cc0366a739f3eb7c82f3ffce6a1368b48e1375b95893e9cf7173f6e37153712cea6366cb8593e0db9ef3ed295a0364264313814171f3e5de0ae3e5149f63775d01f388bcdc43dd880613e018ee03746d9c4362c3c103dc320ce3d42bda936b834183711e3013a322c223a375f8e3640a4a437b18f2938cbb01638deb32a3726543737fa3bc036f3bc2736be3a303689872e3517862f35d1d52b356c862f352f5d8835f39e81351f72783507a08835885c4f37a84e08351545a634f8e50735dd136b3731343535a2a89f3339609b35dff63836876c393683b5353610563e36ba106b371780de36bb4d3f368610163712f83b38bd022b38f8192f3847f94a382a14b237aa68b637cde2b037ff79bc3737b8b337f725ed3d7d4a623ff4e72b36c8053735d809ee3d7deb613f22fc3035c8660d37f200e03dc6b13c3f5dfe8b35076114382a62a73da284193f3c31843783bf0038673e813d5168df3e651596379c21d537e389f13cc17b913e89bd3d36eb5c2a386cd78f3c3618063e140eae3768ea8738db81573aa0489c3a75a0223842ede237aa054e38f4a61638c565ec361f5666347c066a3492745f3435016434ea42dd34db5ed934a9a8d3346f23cb341709b8367aed8e35a547b234fc43b1349503d1330c78da339c87d833049fd033f02f8f34abc40f34bf08063462000034e19c203780518c36beaeb235ee7e91361eb23938b09def3788c47d37de770638ad620637e10a4d36e53d4936c4c7f036adf7eb36a1c4d836f1fed0361a91f1363bb6a6373c4d0c398fef7f3fdf3465342ff7e63663d43f3ab7577c3ff523d63484bf07386658b33831585c3f3fc3fc3627b65438445bd63814932d3f0ffdc837cac8f437456a7538c84ffe3e0f998837ad35b8377bc26b38833aa13e80568e371df89938faf20339c125083e020e8c386714fc3743e39d384349c13a3a8d8b3794983637aad920386dd00638a8dab13600000000000000000000000000000000b232ee36c0f6e136e138d236d7a0dc36682678364eafc43514df963531aab53538447e36a42b7836f3666b36e9b27836b23ec63701e6e936043e3b36ab9b883693a47835b0c1663575253d355e995f35eaa37e371f071137212a563660a326378f58b2377d3598377dd88637adfbae370000000000000000000000000000000000000000000000000000803f0000000069945537785a1d380bb07f3f6fb9fd36bcedef377ab24c386f385e3ff8c1bb379e2a21375876c037f5232f3f8fa5653704312b38513964389718ff3ea43d4738c8eb5d3765b02e38e3fba03e7ad8093819f5be37eacc35389613043e7f1c1a387959c737bf12563822b2ae3aada41a3800000000000000000000000000000000000000000000000000000000000000005db2cb35cd02aa35acffc435f97fcb357b8db0349846ac34b5caaf347dceb1344ebd85340f6b83345d0a8234f7c382344b591a3564adf8344e52193562b72635d35a0b35d61a0a35e50009356a6e0935778f08344af406349cd50834fef998366111443706198636e8fa0537144b853700000000000000000000000000000000000000000000803f0000000000000000e19ac2373e34763f66f2b73785a5303647ba0d38b15f533f6fffee379d88103701055b38522c2b3fe5a2453898ead1370a567438a6cd003fc8d85a385265d03728348738b17ead3ebfe47e3815ffc2376f4180392acf353e80b9123995b881388c6891383e74243db11f97387797593800000000000000000000000000000000d35051363c053d36bace5336f6895d3684dbd236f7c4c436052acf36ff08d03622610e34e2700f34ec5c1134f35b1034c1f0703590e36f3594f36e3526876f35ef7f0137bbfbf3365813fe3686db01375a628b3330348c330d77903344838d3331ee523655484236637b4b3656104f36ca929c36a9e09d364d6a9e3657f79b3617af97344f649a349cf29634794392349a5da537c1f27f3fe6c694385f9402381c740337a816773f9e0b21381f440337a8aed83722a7513fa0ed79386a5516368397b4378d9e293f34703e38b3914836c072ae379637023fd61684386bbf453737fa2e38b3fbb23e3e0c843862748f373c42ff37002d433ec7534039a9d7b637ffd35e386e94503d9209f0395e99553887cf94346668aa37a7468b37046793347393683637ec5f3633c67036bd21713670e9133559ad153562b01535b3e71235d2572535a1262135928b2435719f203525fd4d35e06e463586754c35d7155335f16a77365a376536203470364fb67a362c4cb93572b99034e7cb9534e93f2f3567c2b836d0748836a43c923635a9ac3616b46136eb94663679e767366a9e633684ee2737049d1d3701f31b3730791d3756164b37caac5d3fe123093ede83023893d2cf366f365b3fee17db3daf3a3137dadb8638974c343ff325cf3d2e605c3875161738194f173f38388d3dc41fe1378c8a1c38c344e13ea01b773da2edff376a918b3886d49f3ea51f033dd1296538e5e339385dcc333e369db83c169d2238de23bb37b1ad1b3dacb0243c9454b037c9f25e37669ee8378262ec375e7b8737038627369fdc1f36c2e42136bcfc22365128a134b366a2343198a334fb24a43414341c35795c1b354b4c1d35fb1d1a354d7e0435c6120235bf870335717b02359b275a35c1494135166d5635fb025c35b19b103554a311358e7c13353a18113504b59c36f83d3f36128d3936977b81360ca98837a45205375507d8366c04253733045c37b40b2637579a1c37b04d3b37928c42369a182f3f62b3a13e7e9d0e376a7f92356b7e2c3f0696933e8ac0893584878136397b133fb026733e2042213579e1643867f1ef3ef4df413ea0e2233862a8d437b6bdb63e50c8153e4d328437277379384bed7e3e484bc73daac54a38f770ae38ffe00f3e972f3d3db7d397383cec3d38bb40f43c94c1563cead32b38d39eae3772f619380dd51838cd94b437fd12aa345f8fad34707eac34f286aa34399d9a369fd19336e76c943608c0953658003834dfc539348aee3a341fc739345fe3b134b7f6bb34e378b334c2aeac34fd8bc7362fc8c336f98fc436ec46c5360c01c734a729cd341f16cb34cd2cc634628ca936c9af6436f44a573627a58d36e5fa1137d25c0537e0560137e2480c37aba04035600b4e35b0f260353b5b5635f1c60a35e0cf003f6f66fe3eca99f3343740bf365b5ffb3e1253f13ee6b1b8360270ba37af67d63ef103c93ed735ad3662b6c834ea7dab3efe3aa53e1c4ac534410e0b37a91d853e38e4753e0215df36c2243436faf5413efdc01c3e1efcc2342c6d59381f49d03d0df5b13d23e8323864d01438a63bb03c75ca853c097e0638686530354d770d3899c0953703cd3635370aea350dc2df350fd2d7357fc0d13508b90e34d4951a34b34e0f343d9e013498958b350a05893561568835fba38635057b0035d1fb0335a9a50235785d00356d416a35c1ba5935f1714635ae155b3561c31135820b0f35cc6d103593280d3574ed2b35fa0f32358fdc323577682e354ff9023629f10a3683870b36000a093676525336814f573688e15c36d77f5b362486a93796c1a43e95902d3fd1d5ff36dac45e3743a99d3e4f2c263f55ce4334c67e5c387eae8c3e8dd2093fa73ea137370b4938d7fe5d3e33bedf3ec688b537edd9d7379b352b3e5dcaa83edfcb3437524a96385e0ded3d36a5673eb6cc423801f717388c877b3da806003e2d8dd937a30c2f373ddd913c98e7a53c18e242369897ea36c3c20a38d216e337f3d2523610229e36bdf07e3606d310364e690c36942e9c355ac67e359e623c35ac174f352b797f349f036834ff116f3461a96a3439a08e349e4a8d34cf488f34d2308c344bb081363c465f3645004d36a21f5936d4ba5e3577815d35b2045e35fb635e35329381376059f936d1decd369441f83639660937ad4122369292253659585236e7a2a63685feab364b3bac362b43b23617dd9c372c940f3e060e5c3fd9fe07370ad63336afe5013e443f533f928f093628fc01381052ff3d5f5f2d3f7f0cfd36b69a7e387ab5c63d200d0f3fb802013808382538aefea63d8d1ad63e445be137ab757038bc5b523d25c3933ebf790038ab0ac4381132083d8711253e09f2aa38d5148a3885b18f3c910a9d3c423970382302ca376ef5263852930a38e397173768138a34237d8d3444f28934830d8834dd2827369f5614362da0f935e083093690a1603555da2b35461027358b4d2635455b8833b877883377978833f8db8533fc840737b89a013739a4f536a6280037aa95813551348135dd0680350e227f355e710e345ba810348307113483920e34a38d1237e34c1337f03a13375fe11437c805b636d0b4b7366342b8367435bd36e6a18b37814ff139f5df7f3ff1b58e34eff7fa379b94ac38c9d5723f5b6c743683901937aaff263861274f3f06a755367245f9374a709738db74263f602b4f363ab7c937b714ab39e573fb3e7ee350377239f137dcdfa2395da1ac3ec271c037a32875387bd3d83bc579323eaa5a5c38d6071738cc7bdd39eefa0c3d5291ec37089ceb37030221380dcd13384dda933700000000000000000000000000000000eb961a354bbf1735fb7514352f811835b5fbe13369f6dc3391b5da33b810dc330637f034992be8347163ec340d98ea3498d364358f97543563c42b355f445835f78cad34208baf34c7d5a7342267aa3424870c3763e22f36653599352089003699346837fc24a536d63d7436413a7b360000000000000000000000000000000000000000000000000000803f00000000516eed37aa6155384cae753f92e493375069483819ea89389f66523f9a562538a057ec37eb317f387040293fcd84da37f47c3c38d55685382c4ffe3ef0214638ed67573827c591386c94a93e07197238b69c39389bb2bb389558323e9e0a7d386be333380dfe153adb341a3d0728ac380000000000000000000000000000000000000000000000000000000000000000f11fbe320cd2bc320ec7c132cf11c632e45aa533b41ea73356609d334fac9d33484105365046fb35d70800368188fb35c22af436bb49c9349015d234596e1535653a6e370f112d37861c2a3712ac333780d9f536b0e4c7361fabcf363ccbdc3693000238a76dde373a38d037c326e13700000000000000000000000000000000000000000000803f000000000000000035e6bf38cbfa6c3f021f9938e5bf19380491f738fdd9463f659556382d5e113843eeff39346b253faa3e8338fea852384e583d3a814e003f97649239eccb8338afc9403a4b9ab73e8ecbb439d90582384287833c06d1463e5454513cc0e9c2397382533c7a3e503d9fba533c4b5c243a00000000000000000000000000000000d2982d357fe42b3510052c3588c32b3583b0ff35760cd9352de3e235de96d3350000000000000000000000000000000070c47335335e513509345e35124c4c3582494936d30f4336a5dd443670e54336b837c433c485c9339228c533b549c733677d41363c223e366c5441364ef53d36ff4bf4379fea5e3712534b371f44583715a30f37dfbbf6362127e83660e3eb363a9362384d28763ff4b91c3d5ec64038c0873a396068663fa16b193ce4bc08392c814839bc613f3f2144d03c484d1138c923893943fa1c3f2f90d43cee27ec371ccb773a2baaf13ebd2ee03ca53f163951f6253c8635ab3e7059443cad457439a3c38a3cf812463e60ebbc3cd1e8ed38a894673c9dcd603d89bab73cec85b23b0189a037f0eed637cbb09e375da18d37c2603936c2de303664343436cb9732369166d136df8ec6360edcc836f2ddc43671cfc2351848b435d812b335947eb13522222e35b906253557062235c52a2435bdbb063714cd82361cb58236d9c381363415d7354698cf3583a1cc354cfbc9357a81ad35a869913599629135f6a6903537c2b037b8826d374c4638374e756637ed569637e22e6f379bdf5b3742bb6437ed512638d7854f3f71a7413ebeb01438a872c0380c52423f35e2233ee86a4c38ee1be438de3e203f8101163e81f62f38a8776e3967c0063f881eef3dc73f4938e189e5395d56ce3e8a21c83d1267cc389d050d3c4df2953e40987f3dff839f3817621d3cc08b3c3e451b133dfba20739d187113c2e99593d5b6bd83c8ccd22396c6a15381a03293842e21538f3ec00384cf8eb351da9d5351146d4351c3bd1353f2e353621532736adf92536ce8d233651f73c3509961735f4dd0335cb920735ee7e02361a6ff53591c9f33558b0f335d60bf93652ad8f36b7d78f363e3f9036be7e24356f7c1935795d0a35f6590b358c2c40365d673e364f1640367e243f36c8d00737d74a0837ac720937febe0937bdaf7237e66c5637fd474437cae85937bb180738ba18283fccafaf3e3bc0e737799eb73867f71c3f4c219b3ed5b64338537bc8381323053f51e1833e3526d437eb189338ba40db3e3623593eb964693811599e394ebba93e93812b3e7ac0b73828ff3b3ab4c5763e9391f33d29565f387f180a3cd306193e49ed8d3d87a6fe381138b939a5e3523dd1160c3d203203393491e937ec3fb438bf56f5370d0dcc37575e9036aabe8b36bc0f8b36ba088a36a8e27d364c7c6f36942e6a36cb6b653692e6a63454578634c0e15934d0655d34a6518a339bb089336c7e8833e0528933fab18b363b6b8936a5898836e6db87365b3696333b219733ddb49533178c95339bde08371035dd365274c43615f8da36669314384307e237b92fc837a529d937b1c98137171a6b37298267370fe26937f92755381972003f7af0fe3e980d1e38eb28e338ceaaef3e3513e63e6e238f38856c6f38d2f1cb3ed91fc23e89684337a42bba38a5b7a83e95419e3e1a94cd37f8c7a739695d833e22d4783e7eaee8383ba55c39bcd63f3e6efd313e1f714738cbac713af4baea3d174eda3d8590c7393b27873af06d2c3db2321d3d8ec65a3ade8910382323243871571a382667fd3710b46436c46f5c3670da5c367d815e367da99436736d8c36196c89367bf18736c1d1133624280d36ae1b0836a61b0736d133d6343b68c934c078be345515c334a8b6db36950b8c36faa989367e168a368f0d1537e6111636473d12361b4e11364a95c635cc96c635f270c335fa71c5354ca3b237fcf276370646493744606937790e2d37a38105374007f536d22b03379d4213387b13b33e5566263f37d4d0375be08138a9b6a43e268f173f45b8a837f002943892488d3efa50fe3e55a650382aa652393e556d3e5c9bd03e148b3538e3e86d39b27c3c3e9fe6a13e1217b638ecad07392096073e9c7c683ece23883864a656392b5fa43d122d113e680e123961928839d8ea183d191e3c3dff2fc8386db9f137b52008385dd50038b516cc3762a426351a0922354ed91d3582b61e3556458836f2957f36728770362b38703650590c35caa7f1345973d1344896d334ce48ae35263dae35e0fdaa35b630ab35650da93661467a360d99763605c177363f65803579727c3563456a3555126d35d5d30436f3d00436548c0436861d04365089823713a12337dd6d24379c3225370df83437727b243771c61b370c362b37e9b32838da67483e19d24d3fb58e06386913f138cde8323ee2883c3fde1c98386b04f638697d263eba8b1b3f200e0c387361b03899c8093e2a5d003fef478b38f78d903957cce33dc736c63ee9bfcb38af11fc3969789d3dc5068f3e224e7b38ae85183cc691323de8a2323e9b84e738e0258f396df0e03cee98583de17b0a39449a023893f50f38e9c30a388152d6379a6ad53415c0d034f4d0d1340ee1d2344f738636e8737e368b206d366ce26c36e69c0236cc71fc3575beeb356aaff03561f9c433d08cc8333ec2c0333d66c03310c846361b15423643843a36aeac3b36f63da33572b7a235855e9f35e67ca035a919d03685948d36ee972436eec539365bd48e376bc508373275bd36b4f4bf3674a021365a20ea355318f1351945ef351fb05938f948383dda6d743f3d8c0a38337d8c399f870c3dc34d5e3f068102390ecaf33832282e3db64d393ff05067387241bd392b12483d2e1d183ff689d33779ca1f3a845a2f3d3a77e93e304f1f398cfcb739a828ec3cfeb1a93ea7b1bf38b96beb3993b1dc3caa7f463e3037b63b62519f3a6907c83c87c3693d61f7f63b44b4e33746ebea372f12e5375e18a1370000000000000000000000000000000011409c3552448c35f9af8035d7e68035655aa235a3d89f35f4b09c3585859d35141f1434c0f2e1336f4cbb3329a1e133553d313706dc4636ae0119352a2f27355f9a0537713fc0366e686036fa757836b60418364bb13835a864f633c3ddf433d15f4d3804ff443802c33d383e5e42380000000000000000000000000000000000000000000000000000803f00000000cbf28638d4ef9138ff216c3f8fdc5838cce68439e6be063a5b9c463fb370913817683e39ef67de39eec2233fff537a3882bc053a93f33e3ae421fe3e7b16bd38f365463a92fc843aecc7b33edc36d039d88a3f3a9fdf833c4a31483e9327313c236d8c3a24007e3cc3da303d7f21693c000000000000000000000000000000000000000000000000000000000000000042f40536282aff35c5ac23360f7f3e36f6939f35bf0b9b35556cab350036cf35de094a36087e2c3667ab473624e45e364dbd98363d7191364a85c036b6c3c036bea38c350b8c90354b7ea335dd05ae3513cec33739ad82360ba18937c70df23772e5b5365fb1b3362979cd36bf2dc53600000000000000000000000000000000000000000000803f0000000000000000c2f4d33632417b3f64cf7d37fa9b3536fca795370fbb5f3fdc8fc537cf0bc135b36f8e3842fa303f8e5c8b38364341383c1f3d389df7003f164e2538d84d94377b521c381779a13e0d91ef372da022376348ba388132053e8b20ac3820697538c94f8d386d2eac3c66d84138db0a9737000000000000000000000000000000007838ed3550b60036d1bd1736f0160a366507de341799d034ad957d349d139b34c7910f3546fd833155bb9f318fbb2634cdaf03367097e53583c4c6359c2db13500000000b4b07e31fffdf832f0afdd314b49f735e43e9b35ba79bf356812c135a6cdf236b6c2a433d8ece3360c89bf378c4f1035746f0b3509970e35cb081536c386b8340fd9b4344534a734fa9a9d342a1c04360b237e3fabcc083ccf098937687cd9344868793f96049b393c9e1936f33d5037b00f5c3f99b9ab3802f4ec379af293372d8f303fc2679d3896ddd0374ff94e3886ad023f960ca6384fcf033821890f38233ba83ee6e991386aa0b43718d980388dc91d3e8a49d738a2756738eb710638b496283dda09903877e6a437a017b33499c49935f8bfd6344e4aca345eafab35ae08b035a851c4357054c2350000000000000000000000000000000060b68c35d2a27c356c62913525da953505308c353dff73354b84bb353d3ab4350000000000000000000000000000000082510636cfa0033550429d35759b5536627e583780ff1537f03b3f3704f18837609e5c367fa019368e702d36940b58368a2d4e3769f04337f5423337bcfa3937e84db235953e643f5c68df3deefbd53576ef3133ea7a623f16cbc23da25dee3544b5243630124a3fdd784b3db7379b375dae76361313223ffba50d3d9292643700000000f3e4ee3e4560f83cf49068377ef28d37759a993ef64ff03c3d86be37ef4bdb37a2b0f23df3531a3da1a1e73702f99e36d78c4f3bf0b2b03bb59e2c3739382a370cdb9237ed1699371f06493760cacb36fc88ef36cfc408370416ff36e38e8e35f7ee893519336235a9c18935f3c3e735c330c735852bcd35671ce635a0f31536c850d535dcaa1a3695452f3636436f35e6c976355e6cb0352236f9352de23b35b9b92035455233352b164e356001ad363841a63670d2c23665a6cf368052c136cd41d236c35f02370291013769327136fbac9e361f06a036861d01367ad7ac367b3e333fc5a1993eb03c0a37516989354a62323f3b71943eae9ecc3568ecc936d2c41e3f3acd683e5f2444374d35ce363484003feffb343e45522f37bcdd00361918bf3ea3ef003e43a5fd35d711b3369e5e7a3e708da23d7e2be736d5e27e37c0c1e03d54de4d3d6f0c7e377246233719421d3ca87f9b3886bb2237173a0e36ef82d0379378a2370ab22636e84023350e562336261c8d35e3cf6535fc710934157dca336e078d3395e79433000000000000000000000000000000007f268a33f9b5db3173b4f0319b1c7e3100000000fe300433ad1faa33e085a933ba9df43403258e31bdb5ac32f5253334de735336bff800363cc0193617f96b36cdc72b34a85d18347d89133463bb02346f05403883004c384874423823112a38263b5f352a2e003fcabdff3ef4fa6b3566bdca33690c013faf1ef83e3a9d8c334a9c33367c19e43e5513d23ef8ec6836ff8fd636d117ba3e4aa1a13e71260a350c9512367efe893e7e306d3e3573de33a207d737d65c3c3e993f0c3e4e668d37f7299a37affab93d31675a3d8e5f66371a67df337962433c4046563986a29b33395a9237ff769738a91c5e38f14550375b030c3646ef0a367d980e36da220d367486a2352d537835ebca0c354dc48d35424d8d3632bd7b362e2c5636d8be8b36d5040c35fff8cf344b0b2135cc153a35621e8135d1247935c1c292350329d435f5430f3630f8e835940aee35f8390136874909373057de36c413ff36946e2c37836fae35f3febe3536fdfa355f5ef635f84c1e376cdb1b379a561437466d1437588b1336f1ae993ebf6d333f8c9f0636b2abc93633909e3eea442e3f9c17e335eff92d37d95e863e3aff133fb7f9a236bf708836ba8b623e69b6e93e1a5e26352f6508363cd3303ee6b1a83ea6f518360c45803705ec023e0a78473e0d742d37ef321538ddbcb33d834e853df3aace37043fcd358b49623cfb99c138626c2736b66a2337dea0bf37a6228237963c0c3714722237059133373493eb3682a60037000000007b3dbb320000000000000000bc11a136f6d407369f9f06369e351436d6df2d36c68547355bd60f351dd90d3500000000000000000000000000000000a734a835b344963506449a350c87a235b1aa9a36e693cc35f640f0357180a536f1e1ad34b534133562df4b3562026135b65bc035ba81c53554fed835973ec135c7654137b97bdc3d3485643f3aaedf36bc9aa936c67cf13de7bc5f3f000000007290d73765c6a63d7f4b433fe9f8ca3658d6b1372c679f3d5ad7173f2f57933632ee75374fd5953d28b8dc3e000000009af3973713e18d3d2a2f873ede80e4361ccbce37e83c8f3d0fd0bb3dbd35913712c46d3728e6a53ccf726e38465b4d35e076da3562b35637a1464636c932d2358a16c73301b4a4341208be34e5cc99340b70ec3425a4f534441e0235fe8f0c35ef598433ba00a833519ce733f604f733d02a573591983b35751e0f35f3b95735000000001c1a0233edc5123444fa0134e3b1fa35ea97bd35e5389c35b571e2351b51a636214d7231a2071d315c5aec30fe29eb341754fd348b8833355230eb348741d736b7fadd36caa50a36ec26fd35df0faa3493545a3ceddb7c3f38037f34df72ba37abf87a3a3e58753f05840435760152384863df38c9a1583f2a760337d79dbc37e0faa1389a062c3f94baaf350ed4603859322d39d54bfb3eaf4de8374ecb3f383719c738261b9f3e9bf60738b57a54382fea753cb967003e13a946386b4dd03784e48639e5fcd33c9b0ec5350114a436822719381f9c7237fdcafc35000000000000000000000000000000002c637436b54852369ec23536fb2c8136e61e033646c9f0356172d635452ebc3503e275357b725035b57a6435c57a4a3521489b36c3a4993611a59136b17eb236e929d3363acb24365ba50a3643a1073696fbb73564a787351953b2354f5aad355a663736ddca35368908533697155e360000000000000000000000000000000000000000000000000000803f0000000050d22a37d1572c3808dc7a3fb97ca436fd79a537c59f623830ef5e3f984cbe37f27bf73637eccc37beb42f3fb64d7e37e5aab937c35a4c3871f9fe3ee5461138885c2638afd4a5385df89e3e2d238238f17c0837e61182386e27023e65b76d383f9efd361263163857d99d3cffa7df3700000000000000000000000000000000000000000000000000000000000000008b72cb331946c4332da300347c94043400000000000000000000000000000000fd790f369f43083610e7173606cb15364032be354561be35563cc33592afc0359eed053460d9d63390d58f3496226f34b307e8369d806f369ee18736f5eb0937d4c4ae3559b9ad35ee36c43570d7bf3500000000000000000000000000000000000000000000803f000000000000000013dc9c37fe49743f02956037a33a363542e48a38be08543f545d4838b155eb37ec10713839f82a3fe01b3238a7f7b23716982238f33d013f38f21038f991d1373a070b3a5671ad3e37018638a8fe4d38c6d95a3c76491d3ec708443cba0f33382fe745389dce563d287a4b3849d0063800000000000000000000000000000000f2c3c235507cc1353f42b8359e57ce3526cbf334b27fd234026be134c5bf29351e82743581058635de359335e46396353f4db835265db435de8abd359c95c3351bcc5b3463f2893456278b34e95ba2345bafc935f781cb3577f9d335ccdada35b49fa2357ea2a135f10faa35aa38b135693169344a0b8434c0f98f349053b03461e78334df285a34e7896b3414838234fbfde43567cb7f3f242ac23a88ee95362c6e6438f69d723fbc25dd38f015283880009338d44f4e3fef3dbe38b8054738386888387afa293f1e819c38e62f1638c279b438ec4e033f0a67133916f9223847ff8b38dc99b33e5f389e386b9335389724d13826e9203e477e113dc1809c38e815c5384f836e3d2d26e13828a0a438f7f1c036a6e6193882340f38c7705b371fdf4333e9bd9133e3ee8633ffc58133dd93493512d3423553a06135726653353adc4e35b22a47355e1f6f3513156e35000000000000000000000000000000002b6ecf3456e1ce34a6fb0e35c2590c35f1eba03581df8e355191973531cfa53500000000000000000000000000000000f461923535e731354f8f853578f0aa3575de4636061f33361b403c36a651393616c97733cdea663fecedc83d8f5a763350739637db38673feeb55d3d63aa00387aec4a38298f463f33f0ee3c029b5938479162389d18233f666c813c9cfa543848f101389ce8f23e9edbd63ca54aa3372d87863824a7a43e852eea3cb40e443850768138e1b5153e4f785f3dfe075b38e35a743836781a3d52c9883c09d97438866a6b363c64ce37039dba377f488a3648cc66369b316a36c83957366b5b553638a97d33b38c1233a1f7073300000000000000000000000000000000000000008dcf5f35c0492735c3ea2d35addd1f35b0b043354c353c3533654035f6063b35dc95ae3304b3b333a6a8d533d46ae7338c9c8435a0ed693524788535f6497735315ddb34203bd33464df0235817e1135912caf34a825c234c0c0b134ea669f3498f07736aadb333f0488983e07c7f736c3bc08375575333f0f1e843eefac7237241ad437be901c3f762c483e9873c5374aa76037fe93003f66a61f3e248a28373dc6bc37a6e5c43e8d5ff33d328b253791316638e69c873edd27a13de824383890486438ed23063ecff5893d99c71e387dc09637e94c0b3da879463c43f48e371103ac33084a5434f9a48934f97b5234a39c42345bfb6934fa312a340bad3b34000000000000000000000000000000000353a435b672a9355c9eb5358d38ba35a48eed358655ec351ac9f83527ec0036000000000000000000000000ffeced314010f8350aa8fc3526a604368d9a07361582bb35517ebf35753ec8350b13ce356e313e37295fb0360000000024707c347bb0823481225c34fec97234b39f8434a8be013761bf003f1896fe3efe8bc93469d88e387e17003f2cfbe93ecaf32c3825681838d8d5de3e3d29bf3e19bec13702fd2038dc38ba3e02b8953ed814b33775f3a33833508e3eb996633e5a7d6f3862f52d38d6cd4f3e39c6103eb39bcb377a16e23807ffe53d1e47a23d5a344f3806e0a9382a4f283d2ae4b63a67f89b388dc912359dd8da37c20ea937e38217358b2224333fdbbf33415290339d698b33148f1334894f173441992134b4a2f433e7fc59355afc5c357b57603528fd6535ab846433085fd23272ea3c33ffac64338d991f35bd4221357ef34335cc1f3a35f39aa43501a796355eb38c3587bc853502e00c33000000000f99a3337151f1333c840235b574db335637c934aad725352b839c36b414923660119836259b99361f831434fa679c3e61de313fe3c5bb32c4d2063739da983edcc4273f4535fc349e294f38067e833e3eab0b3fdf1b94378b697b38bf6c673eeda9dc3e70a2ca37ee7ec13762c33d3eaadb9f3effab3636de6bc0374b2c103e12f84e3e7a653d374f307238140edd3d1f9daf3dc2363938899e3538b404243d9b67933a69cdf637fece9636d6c5bf37e452a03683a49f36de2600369aa6fb3550248d350fdc94356140703400000000000000000000000000000000000000000000000000000000e0879f35667d983550369635359d903503d8e934184ddf346898d234d349d63400000000000000000000000000000000d57b7f3509298c35b5b88c354fef8a35f1f11f3699237a35205d9b3511ee78361cd114340b101d3406980134e9bbff3393e82638f5a6d93db9d6643fbb18e93513519938a192be3da8415a3fea2cc9363be187386300a93d9f8f373f78fb94378aa99738fae4b23d432c103f36d2c7378f083f388fdab43dabd7d23eb44284372e769738c2449e3db96b8a3e322b2b3826f79f38e600ad3dbd98e33de2dc66389c607a3886352e3d04a8ae38588227388ae995339e610c343c3a163463c80034938f853451c57834b9d53a34c2db5f34781a3f34c0155b349cbcfb33c464da3342219335cada973572eba0353882a435b257c6351041c6358537cb35001bd4356d403f348c8d73346c3b4e34b52e64344140be35881ac235b1cfcc359e79d135102fa1358008ab35795bb6351845c0354e836135e70d523534183f3544c76035d522d6354190d8351162da357832d5353f748938ea3d7f3c6d177c3fb9728137a39fd138748ccc3c6bb86a3fa74f4d38f9d8a5384650ac3a24714e3f9e764e3800fd8538dee9103b57c5253f74ee2138e5bcd038ae35173b0ccbf83e93865238e55c8938e370f53c3ebe9c3e408c5b387ffda7384ff3803db7ea063e4eb69f38fd4a97380696a93cda51013d531c80386d76d33580924636e8c7db350021d73500000000000000000000000000000000d3749a35c2189d35148a913574a68b35e07751367b715036c469413666163936000000001708da315d8fe732664b82320a1cb135036cb2358bf6b535fafcb23515054536e67e4636eea51a36f173263660a15b36f9e306340000000060db763475918e3402901a34dc43fb34aaf0de340000000000000000000000000000000000000000000000000000803f000000006dc1df3766f04938429d723f33475a371e882438f1db5b38a451523f38d90e38f3206338f6389b39973f293fb2c13e38e36d0d38976d673a8c52fd3ebb490738e23c44384c82413cce6aa43e89404938f0aa8c3876e9ef3c6bff113e8032a4389f2da9373dda913ac6b5383df7b2ca37000000000000000000000000000000000000000000000000000000000000000044943b35ed942935c54f3635437c3235693b52368b324b3607424e3625ca4e36850f7b368e5c74363a1976361cbc7536b5b8e4343ceec3341c60e134e2b9de34f5eb893691c188362bd0893629318a36830383367bc4813695488236848f8236e5b48f36eaff8c36139d9336d3b1933600000000000000000000000000000000000000000000803f00000000000000002db0973a5b00693f9886ac38adc271382f8ffe3a87e5453f29245338c118c5376a1d383bcdaa213f621222392e91b7386d69573c77faf83e3efe7438dc6c8237572fdb3c6791ac3e5473ea38accc2238c254093d356e333e9c063f3caa5ebe388490d63cebc24b3d53683a3c7918a23800000000000000000000000000000000a527ca35c216c635a4adc33593b1c235646ba23531bf9535acb99935e33e97359593853661a88036f2fc7f365dc27f36e13d99364383953669b6963640899636c5a2f335164be2356f6cea3591ede935ea5cad36cf73a9369d14a836a62ea9368f408f36a00a8e3643ee8e36faa38e362939e2356277db35704fdf357326d9356da88d35e5fa893576948e3559ff9335ff2e1e3925d17f3fb90b8b3a2194f43895d7e33966086b3fb49325390d389737b7a5993a281e463f98bca438f367f2379b12713a917c243f9dfae738de6a28380b21443ccb4ffa3e587f0939650d2436468abe3c70afae3e994a2439a0b3a038e177103dfb67353ebb8eae3cd6d264384853a13c8a00593d5df7843cac6d1c38bc818237d8b9b6370266053750c59f36acd7453639db4636698340361ab04036cd3bdf34b7efd434b27bdf34a236c934fc6c5d360870583639d9563609635636aebd9536609d92364b7892368474923641c00d3579220b35700b123554bf0835bd06ad364567aa36ff50aa363c75aa368123713625b86d363f8d6c3698b66d364bd99d356f2ea135c600a335e57b9f3516445336a1985736919b5636b3ae5336692455389f345f3ff954033e98144a38ac9d02394acc593f9f04923d7d58e93745d1823a982e343f4c978d3d106e543829194a3bf4c6163f396a4c3d14d4c1380611513bd9dbe13e465b643dd5c3043799c9cd3cdfcba23ed0eda53c763c9d3829a9f03ce2cf2b3ea154003dae785138cf4c553c45e55c3d981ac63caa97c9376af62d37391e5b3752e02937be21ba36d806df3571d1d5350232e0355114dd3537910335965eed3461400235d1c5f83465818836a5dc86364af38536c8c48536f98c83363a4281367f1f8236197e81363ad901350334ed349681fc349671f634d1c1b636b1f3b5368255b536cc94b536098c8536d1c6843639e88536178e8536495e05369b99fb352af5fc35b24d003675b866364c696a36346b6c3683cd6b362ffac33898dd303f57709e3e6dba9838ac2e0139b9422c3fcafe7c3e60eb6f37ceec2f3a0757133f7a824c3e7a4362383ecc143b8c8bf53e8bc5243e43389b3838c4123bf13fbc3ecbeb063e52712638eddab43cd98d873e63429b3d57cb88381256eb3c6650203ee1022f3d3e8ddb3808690e3cfacd593d5ca8ce3c1cfd3a38d9a09c370bf4ac37fd7d993769a15f374d3f3b35a89d3b35447142355597453547d1c435c0acbc3524dbbc353a72b735a8f1733657366e369b4e6836275e6636bca28e36920d8c3653eb8a36bf188b36f78dd135f9f6c3352e5dc335dd49c2359f51a03645569d367bfe993658919a3650ae9036551c9036615090362f9190362777053698fcfe3556cf00363d3afc35d822963582eb98354eb097350a939835e8c31339ed78023f363bfb3eeb5ebb38477c3039f7bffb3e9e11d93eeaa2e03737e81a3a7438da3ee378b13e66981b3701c4de3a5969b93e42cd8c3e8cb6c938970dd33a3351903e954c5e3e931d09367f78b03cb461533ea89f093efd7fcb38c0b4cf3cfc2f003ebd6c9d3d017bc6372d6c3a3c18ea443dd0d3cd3c778a4538243ea5353927b53558f8a53553f18b355a124836aa8747369acd3b36c4493e36e802a73493b09034f4a6a23455398734bf7b6336f5ea5f36bc0c563679e65636c900a136b9c39d36a5ef9a3621d49b3616c8e034f11fd3342549e234c210cd34f7c7983652f096360f4b943651d595368913933626569136c1868f36bcfd9036c45a5b350dc25b35c9e861354d2f5735fc8afb359d9a00368274fe35e13dfb350b2ef63825e3a73e60172c3f6a155238f2ccc339fd919f3ee0f9193ffe2f3a375cb6b93a2438913ee6d3f93e70899138f45f2e3b5959803ea129c53eaed347384ace203b8e76513edbc0953e0a721f381914873c139e193e806b443e55589f38025cd83cf038be3d1857d83daeb69a3865bfcb3bd8d66a3dd8818a3c3c29aa376e9ff3355519f4356a3af835a5eeee356ca83836d398313686163636bf6e353691cd5a35b1d650350a80543599b14c35861a5c3660975836545d5136829752368bd19c36db259936d4d8973611ee9836b0a30435a2e7003520ee01356513fd347ee6aa36874aa9369a19a7362645a836bf438036ff0e7e367ff57e360219803633e6bc35a784b9351500ba35f9e9bc3583aa5136292455363acb56367f08563615a8fd390d96163e854b5a3fa622ad38aa47023ba80f093e0608463f4c3f82379d17093beceb153e7eb91f3fcf45e437591c883b795c0e3e0b39fd3ed1ac82381ade383c9fd2f93dc346bc3efb480c37913b8e3c1a5dc13d8c537d3ee21eb73840acf93cf14d7a3dff900a3e6d7990388dd88f3a02b5683de7a0a63cfa021d38e740653671fe7136e0056936588864364cb7883478e67d34f447733432aa7434e069ab356c40a335bc449d35bc3299351c7c6c3666b46436bbaf5a36c1645a36d3f79936a85d9636f1f092368ff094369ce2f135d33ee335d70fd935052bd735fd09a7369033a3368f649f363ea1a03665a19a36a1d998360d1b9836e3ba99361992f935295af5350161f6354a2cf135f9d5e735194be4350f8bea35e449ed358a8e2d3a3552813c87e57b3fe0bbc938c13f5e3bf1fff93ce8aa603fc0938537c9cdc33b239e0f3c6b97403ffd7f3f385a107d3bc8d4203d0be7173f0a0ac738c4f35d3cc73b443dde92e03ebf0862370702a33c7cb0283d88c1973e7c688938ac82c23cf9be4d3d6e5a1b3e19c37938566f253cd7f9183d07330c3d30907138012d0136416e0036c27e013605caf7350000000000000000000000000000000022ea3d3295691c32d1037d3210a03832ab6865362bb05e360c87543600a65636330d6d36de70673642865f362f266236bcf5c934dac0bf347c6cc734bcfdbf3465b38b3619cc88368cc285362af487362d7c60367ae45d3691215a36e2995c36bdc18f35081b8e352afe90353f0290350000000000000000000000000000000000000000000000000000803f0000000057dc363b317b8e3b3503683fdd0d9c385ed1623b8954863b84d5453f314f9f38656e7b3b185a933ce2901d3f0b25a038e045853c6b49a33c3758ee3e2a0b66382685ae3c34e00b3d274f9f3ee6161639421bd13c6f5c353dc34d1e3e92e5b93ab4ad663c7033033d26e72f3d1278c5380000000000000000000000000000000000000000000000000000000000000000000000000000000084d6863084bcc33200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d686a032ab47b43233f6d1320475eb3242ab8033a52491332b81a7330965b03300000000000000000000000000000000000000000000803f000000000000000054452f320349793fef1a92330000000000000000d53f5c3f0000000000000000000000004e34333ffd13033900000000000000003cdb023f5a2c3a39000000000000000027b5a73e2ae09a3a0000000005211d390e901a3efc6a113bd130c332621da0337c812d3d740ebe3387899b3300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa3b963354e88233f5324333822829330f579a332587c233a1338433acbd5a33aa7bc3332bc4fe33cef70634d90e0b340000000018127b3fc191de3c4ff3373500000000d8bc733f655f213b00000000000000007a23593ffbab613a000000000000000013bb2e3f1766ba3a000000000000000008cb023f4662ad3a00000000ea0c8833fc80ac3ea78d873ba309c73371921d33f35b1e3eb8add53cc09e323334aa4433d2305c3d8a532b3b6ee51e33d19faf335f1163334804ac362b1aca33e3c76833f48fa8333909ba33d8327f3365b77c331b9e983336d0a7337ee3bf333ba889328edbaa3201efb732c0c2d43245640d31295017311a613331fea34531cbdf00345a1122349b6a2e3430e545348e560d33c5b73533953b4233083b59339a404733e0d87733458e2833f78c0d33f1cb34342f9e8d345d318534e33b9234d93eb83354fdf53367aaf433c0e61834dcec81334c89613f6a8b013eeb9176353b1993337e465f3fcbdad43d1b1f8c3632de9a32e6e84b3fdd7c1d3d95887732ff563731e780233f2649093dec5734316c8510340e06f23ea888173d41d2ea33f45c19334d87963eda66773dd378f73216d00133e258e93d35188c3d173ace32586e0e34ebe1c63a4850093d039ad0335a1a19343bfbdd3563572b378b33f83307d403340897173482117f3445e590342cf3db33b02a053469f2853496f6da348b82b2307e33fc30db490431dcc11733878ff532c49b03333ae21933d3362933e0031134f4d22234b99a3a34d1fc4c3447d0f1316c871b32a1e02432785d383256f9c332fe7dd932abf1fd3238b3073371a9bd335a23e5335aa9033431fd0f343bd09e34f4e2ba344ef4b23406c6ae34f14ad53315c2353fe875973ef68b123470ae36346d77313f45ed933e1fb82434ef820b31c806203f99355c3eefb0f330eb291f3368f2013f610c2f3e22201a3353363534c0ebc13e1972053e0a2b2b34aede0332bd9d733e7918cf3deab3d1314613fd328d73da3dde05933d09f5f632d30fe83392e1d13bc930db3b2e46d63345d38a342341333892235538b1bf66349c7cad33feb11e33cd604d32cd79373300000000000000000000000000000000578a6a32ef1756328ab65d329d73e33200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010006b334caf2133b8630e33631a0133000000000000000000000000000000006759823348a0a5331f4dad33278dc23342f24a33b2f2003fbb12013fc0fe0a3300000000f075013fe3acf43e00000000d91181322693e53e6c89ce3e92cf5232000000007615ba3ecaa4a03e000000000000000097858d3edfba6d3e0000000000000000d76e4c3e4cb9123e000000009b5105339f0bc13d95648c3d7340303300000000384ac23cf00dcc3a00000000a9e56033a29cdf371c8898374a6a823323a18d3425069634885f8f34cff67534b4c8c7332b95f0334e0701342d7b133473eed93294b106339bde0a33dd04253396d1db3107a9eb315d1306329d751432c6711b3424814034af174b344d1466341df008332fb62f332176373337294e33fa8c222f000000006cd5e2307a9b2431c00bc933f0d02d34d6d75734b0328634008ed3337bdc01343f930334c40a3834cab7e335bb5b9a3e407d343fc0988434f11cf2339c39a43ec2bb2c3f9723c1334c4df732ebab823e100d153f26e4ba32846d1032be68623eeac6ea3edc580632b9f83134a15d353ebb31a93e5deb0d3402d617334d08153e5ff3463eaec9e7326ec820315c67d83d214b8e3da5778932fab30c34cf0adc3c04ee023a933eb2339f99353438071737c741af360738fb3392d7e633a96b03343cb64b34153167347dee243495504934b56f6b3469c77d34bb2318335b4b2f331c0d343340ba323395750133aa3a0b33e2d31b339af72c3359e4ef33adea033446951434d354233456f91f3113d24d31ead65431ad0f6e3168b37e32ad028d322c7fa13227d2ac329ccb77332ae18f3390aaa133bb19ae33e82f3a332c0b2e34473916349aaaf033d9fbdf33cede013eba70613fcd18f13379845c342265f73dfac95a3f98921f34662c083314e4983d97cb413f4717ba321c542a33a52f973d7297173ffa6a1c33bc261c34c3c4a03da657dd3e24331034b2403131a104b53dad36843ee87f0531cadba7328aedbe3d3ff5ad3d21359b32607fd335488f0d3db0f7163a2a4d8a330771c4337ce3af3700aea636e29c7e33ecde04342a408833d99b0133dce57933ef786a3374cc85330ecf873389c38733b4cca132988fb93207c0bb325e751e330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5db033b0edcb3ca5687b3fb0239833de8950330503c73c9b216d3f9c1c0d3301528f326468923a1b9f553f236c4632745ffa38ed44583b70d42b3f39a138340394523964a4823b5967ff3e000000000000000010e1a53c448da03e0000000000000000290d0f3d37cb063e0000000000000000b7f4f33bca3f353d00000000000000007fb31437000000000000000000000000000000000000000000000000f2628d33f677ac333b45ad33c06fcd33c85cb232d333db321eb2db32df8d013300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008cdbe325cbcda330000000000000000000000000000000000000000000000000000803f0000000030d39b337544a73374b0773fbd537033833ec4329b3a96395baa5b3f4206973200000000a5fdda3997b7303f00000000000000000ce8c5391358013f00000000000000005bdbf439558fa23e3a1afc380000000055a70f3adc141b3e000000000000000039d5b039069b193d000000000000000000000000000000000000000000000000000000000000000000000000d550dd34deacd434bf12df34c7012c3578d61c35d177f434329c6635cfe9ad351e47af35245fbb35ef58a73538b0b93509a604359a3afb343cc34635718b94358aa2a33553fbb035eb86e33548cd0636bef46f3573b88c359a7d4f350aee4e35b77f8835e4c281355cbc9d353384a43500000000000000000000000000000000000000000000803f00000000000000003f10d837e908753f7cd38d38817c093774049838cb3e533f8033a037542c02365f8e873ad6b22c3f3c633b3a598615369498f339e5e7033f07812e3aa8d21536550d353a9d60b13ee1bd633a12eb2e3628df253cb36e213e24ddb33c25fa14397c228f39705a823d0f2ddc397e1394370000000000000000000000000000000014d7de333c2ed733887ddf33caeac833b9b82335a1b319358f2b22354726133565c49435b7533c35d0ec663526f58135d181be353d79a5351564b0350f30c9355ee76435631c623599434d3509195135640ccd354adfaf351a90bd356a18bf3598d0c335fbb4bd35f45fc1356dcfc835d919853532c7883534b84935181d5e35606e34356f1910355dd4ca34055bd334ded373345aff7c3f3ffc953ced026b34744e7035d63c713fc58fe439cbea59359947b9375870503f34fd913975aade36e2e50a3a82d62a3f4ec3763ad3190b371f15013a4e93043f432a783a6a472b3762c5d639eb9abb3ebbdbb63af23aba36c3badb39ce332b3ed397343d06c6d337d6adc137b6d5963d787da63a601cd63739969737770e1838acdd1838cf0ad43750aa0a35f060263555263535582f2d3530ff3f351ece013510b10f35f74f26352aa4ac34107a7f34d4a5993491409b34462285352e5579356c499f351647ab3501e761350c080c35596d2c35a74c6c35218213350c4b043578ac0835ecf20e35d1ed543480f28e346d55be34c46ccc3481bb503588ca373525ba1f350cc36035338c90350a187f359ac13f35f33a5135011d6237781f6b3ff250ae3deb83f1375d7a8e354acd693f9aaa213d1e5aef35114f2935b78e4e3f75402c3ba7ef2535545fe2383438293ff304cb3a644a33366bac063a5777003f53e17f3b53072139fef3b239865fa93eb88ff93cd1795f384e8d96393e111c3ec3e16d3da3bbc7360aa24837478b513d70ae043c1c9562372b58d3366a9cd937bab2dd37943c7837a57a78353b4f9035d8967535ff578335d629e534ba62af3415208f345d703b34e9bfc534c95eb334fba30535c12ef434d3c7f1344add14352cabf03482c8e03465821735463cc83400b81435e2176135853c2a351d1f2935f68f6435eb3a5435ec715e342e6c8e34bab13434e0212334a10efb34f4f605350f47e3342344a6345428d9323125ec32026602349e73e73488b29f350dda393f2c9b8f3e78ae3936315180359ed4383f68806e3e6199733512e531370e34273fc9571f3ecbfc7136f5cad73992bc0b3fad68ec3d616e06392b59ec390fd5d83e79d5b73d7893d3386f9a7338d87d993eea9e743df9610637e01efc390731103e507f963d3ca4d8361b482337fd97563d9a87933b468f1937cfe4aa34d03e9e37eacda5379207f936405ca4344ed16b3407be6a3492c67c341f674335e8f32b35c130133507530e352fa7ed351f21ae353dfaa135301eaa3593b0e035a459b535afe2cb350912ed3595a44c35100d3b35f9ff223591c02d3573d91536c8630036f52bfc35951cf2353ddabf3585dead355a25ba35a75dc73500226c35169c5d35ac773135e29a57356b12b4342dd6b7341414c734ecddda3483b7d034cb5c013fa516003fe917d034d131bb352be1023f2588e23e17df933535c4e6371528eb3eba7bb43e08d18737176eff397037cb3e9b63863e45d83b3672b2d839e565a13e4875443e44cabd35df4b15393203783ea61eed3db536463640b5c4390995043e0dc2943dbdf1f6374e95a935d431553d6d6d3b3b473ebc350d08c234ea95b8345fdacd34561bca34b05c3d34f59f0434d94237343d248e34e0981235d539ba347ae1c63473a4ed3423e381345c2634346e65573438e0623409ae1a35f7720c35e3530c3591ad2035b37b9735b02855354bea6235c06191353e8b6a352f25fe34cc73ff34b30604356c70d134d9eee4348843c734b3a9cc3402382d35501a07355f3ff934433d2a35a72d9b352d468035da11423541ac6c35703c1937b584953e2a76363f3adc4335a9e79f3597ff993ed3aa263f9a6ea53504674a391fa9863e95bd093fc6a28e35e0d09c39eab5743e3a52d53e16eaef35001a273a5fa0593eb7f0943e03714137acd2333a68703b3e174f313e7b8ace352f860a382ff7063ecf32943ded4b6537ace92539b4ed583d6928883a527b4b37c9245c360daa9c3719170d373cea8435a0cf86358fde9e35b9036a35b7867f35b1091535c003c134e31fb034a90602351a1284349724503438e08a341f8c7734695ddc34ecede934ac139b349e28aa3461244535e484fb34980d083595d66735cb689d35f6805a35e02f91350763c23563cf9c346658a134c53e903453d48234bf562a35e2c133356428293561fd0135aaf1dc34f9ecb0344d2bb834db017435eedbd238cb86d23d6223673f317ead35e472d438895dc23da5b65a3ffa8b9e3555c5043a6ea39d3d9abc393f34478335cbb7783a2161c43d23110f3f2440a2351f37683abe1dde3d0150cd3e1a762337d270173aa613ef3d62d0703ee7fb163649e3453ad425e83d7b57ba3d3b331435f193a4393ed05d3db84f393ad7df6037f186063820993438b6ed053853919a37318f92341be02934601f37347d8e4a34bfe68035a6285c35b0933c355be74a35fcd404361eeacf35c18796355f699a35cd749c351ba65935682065351027a13546a88935b06574355f4d4f35d1826535e2e61336d42eff35ad94d9359c0bc73580e88c35c61e763527486e35afae883581016a351eb060359641413532a9673566898f342084783491d75834dc9d6234d86c283860d9e53c351e7a3f89fd5a37ffa6e3373e36de3ce590673f7381ec35f74ea338f181673bc1274c3f83161b37bf3c333a2d15903bf0ef243f3b411c368020093afa42b13ccb32f23e5dc54837a4d48339846d663dd73c953eaea85737d76f45393a54a13d0ea0f43d0e3ad93707138e3755e5113d00dfe23cf9fe31371cbd9934120f4737c432ad36287f8734000000000000000000000000000000006b8b973570b333353cc35035fca093359a809135194f5f358e7c4535372c44354938b135e8ea8e35c72b9e35a880d035a887cd358a26b6354becad35ec4fc535b273fa357287e8357d9fc135af1ab03530dc91359a758d353edd8935444baa359224883594f19635a8c75a352f2870350000000000000000000000000000000000000000000000000000803f00000000ad5ca5378c3c183acb06723f635a14370a11ac39369f5d3adc62523f46dfea3798799e39844f983a26722a3f380d2336799f093a91fed23aebdafe3e8379f4368522303a136b9f3c2ea9a33ec4fad93953772438dcf7413dba040f3ee9d9eb38ae6f7c39fd3dc33a872d4a3d4e1e1538000000000000000000000000000000000000000000000000000000000000000080dce433f52bd73371b0d333a7b2d53308aadf34d0879134464138346d93413439eb43350790283565d72b3506fa30350263c234cbd7ad342fa8ab34e2bba7345346a434625a6834e6ba10345d183d346be9b2356b87a335cf479a352b48b035b1a8363576a32435f5e828359f2a263500000000000000000000000000000000000000000000803f000000000000000060acb63b7030693f4cb2873841fcdb3710910c3c97be433f3913443862efb8375fb92f3df133183f4fec8638292c0538e2b2993dd24dd73e79e3f03900ca6c38b984c83d459f853e44d2bb388a548b383482b53d7312ff3df4662b3c7431ec3757ba313d991f283dcc912b395fdcd338000000000000000000000000000000005cc7843481db7c34eb5d6b34a05f653497a5c5340c13ac349d19a034eb01a234efe53a34c07eca3395123933d1fa2733e179d434eb019b343c0fab34ba6eb134cdfae634a5f9e0340c0ad13423cebb348609203530bc0c35f6d5063591b2f7346f29de349dd3a0341175bb340971c03476cfc434ce97cb342511c7349eedb3344d758e34d262a9347dc99c34bf8f86340b1b913adf1e803f9e35f13a46bede385b151b3c03fc683fd8550a390b7caa383008063c2fe4443f8c1b47387b4df53714b74c3dc320173fabd3b738f1862f38408cb43db73cd23e6c67ba399e4e7b38e799dd3d0513823e69ebcf3883ad80381fbcbd3d90c9ef3dcb19813c73cc463806452a3d09ef3b3d90bf5539394ad238a11d0835b7ae1135b9491a3538b90835fc1e4f32226b4232f108373254c02e32325dee34bf07d6340931d734bd10e534c17b6435621b483580755035e5245c3529b71a34fae76332ed394833d4c202344d2fd73480d4c73473eecb34820ccc347fd8b535f4c0a2357cfdaa35f854b03507ccb63477f48134ab1683343c48b4348a114e346d7654343aac56343e965334cdbd6a355e0d6435859e7835173277353bf72c39b0c16f3f6b04883d74e7ff38ba04793aa8b46c3f8c7d1a39cde4b238f96eb63b0722463f7fde7f38a62823388694953d9c86123f6fd2c138f50786383bd0d83d825fcc3e7646be39bb829538f257e43ded1f813e7c51ff3817b29638665dae3da814ed3d26b3d43c9bd33b3873471c3de24e523d20417d3a8560d6388c69a335fcafa0358257a335f0f09e354ed0353534e319359700123509140e3587c03f34e52a3134551a2d34980531348d48d834a54d9a34884571343eaf6e340bad5a35ab162535b128213587c62c3527c4e13444c3c234d6d0c6346c8ac534a09b13354afbea343561df34c43aea348fc0663504293a3537023a35c22953358c2b2335cd0918356c7e18352f7c1c35ae102933e27c913315a0bf337b011d338cd31539ffe03a3fc3ef8b3ef5a1f8381753643c17e33c3f233c2f3e0f9f89384b78ce3cf4e8243f63dbe43d2d342338ac12d03d2d5a023fbb720a3d2f7fa43865f7073e725bbc3eea1bb03b97fba338eff2063ebdb66e3e8764cc38c00793383bfaaf3dfc41e43d42d8ec3ce7c34638721c0e3d6418543d4342bd3af3380639c9dc853456608734861b7b3426f18b34c4fd7934029c6334c6525734192c4e349c13be341740b5345dc5af3483a5ac34e21eb734ed208c34bb1a4c349b1e3334174c1435bdffc2345e21d134241fae34e2040335c13b0335dffdf634ecd9dd34f8f24b357c5436354ff73435f0ee2135a8f0f734e471af342c10c8343385ab346312dd34348fec34f388e6347851d134b3d20b357ed71e35b5fc3f352ccf103510c53c3a8c55043f419df83ee17baf38e6afba3c286d053f39a4c03e61eba8389dbcca3ce3d4f43e0b768e3e3d0500381d34d13dd394c53e50e1203ede278a381046fc3d17af913eaabfc83d3ab98f382b90113e60594b3e4edbbb3ca4dbab38194dc13d2131c43db939133d953640382dd40e3df66d4a3d8675cb39f4bbf138c2fc8a35bfa18e3507748735abe67f350dfd2e33cf6d2b3335102233e2fe27339c8b0e352cdcfe345e68fa34bf6102358ea949359dd92c3529e52835855c3435abe57234435b9633e6bd4f33c4b01c3400b2e834992ad034fff7d334320ad634a9209435c1b58235a0068935d91d8f3588ccfd34bd91c1344577c6340abcfe3484cd57343c214f349b896234d8245034be9871356d666f35a40d83355c5b81355373783a99029d3e1b19323fa297c43817cc053d290e9b3ea1ea143fe6e09a38e5a4ff3c88e29d3e0352e23e23f128387dbdd23d3afb833ee11f913e9fe77c38e407053eb8564f3e6d79303e7fd798381617103e0390123e4a0ca63dcd7fac382f2ecf3dbab0ba3d6d58093dc5f1503804220e3d7fc73e3de20c5a3a8266ab381d6fa035aca99c357d5b9d3504759c35e2f33f35e2702335d4e90d3551f318351eb84134da6b363499973134df4336345afc8234c1aa103449955e33d8a64b3385419735a7137735301a6f3501247835527ccf34977eb234e840b734c2c7b8347283f934e561bc342c4c9d348ca9a834b32e873591e06635ed4e6435426f7435c8b80f35aceb0635fe250a35a4a409359a384a3274175432d33146321d8d40320b70853c0a7db73d0a9f653f85dc9938da3a393d52dbb13d7c64483f1baa8238f1110a3dec2d123e279f1a3f251d1b3887e8da3d5a15083eead9cf3e90a89338f477023e4fe0ed3dcbdc853e492eae380a29113eea36ab3d1e600d3e798f9c389039cb3d5757ae3d5a1e333d4f4b58382a98103da0462d3db1e4583a28940739e6da8d34735e9f34cbd0a734c416ce34b91f4c347ac52f34e19c3034e77d313427689c3473019d34b70c9a343e439c343a470335c081cb343e449434c12295341d75f3342c9a9834db1a8734ee9e8434bea9ee34934fee34b574dc3431d6c934af283035a828163516c50c351bc6fe348256f2349f86aa34591da73471468734de45de34d024f1342974e234a5f6cc346d2d6f34488b8b3485c4ae342b45723493b56c3b20a70e3d1f31773f3e7bb2387c75343d57a8ce3c1e10593f279e983861b91d3db374b13c05da383f1be52f385bbee93d8830d93cdea9013fbf54853880bd0b3e9f88363d248da93eb2d09a38d4b9063ee23f873da52b2f3e9dfba93884dcb13d4eeead3ddaf96d3dcf323238b8da243d263c2f3db29a053b52211739cee028353e0e363501183035dc711f35000000000000000000000000000000002c691a35f5ba08359c2e10356380113580b1e534954baf3451948334ef929c3400000000000000000000000000000000cb55c834b279b4342f88b0343aaab93411f86235ce96453516b13435518244355bb50235f99dbb34b6ee923415abd534c04df833cda802346bc6043434bf03340000000000000000000000000000000000000000000000000000803f000000005f48ed3ceadc6c3c84bd603f5ff3ab3821e7fa3c04e9b33b276b3f3f9f7dcd37bfa1b53d740a813c17970b3f49619038a88df23dd102ee3cbfe4bb3ea67196397154e63d2c5e7b3d49654b3e4c6f583871709e3d0181a13dcabe9e3d51715138ccc8143d0541143d4dbc873cd6c2ab3800000000000000000000000000000000 diff --git a/shaders/ravu/gather/ravu-zoom-ar-r3.glsl b/shaders/ravu/gather/ravu-zoom-ar-r3.glsl new file mode 100644 index 0000000..60275b4 --- /dev/null +++ b/shaders/ravu/gather/ravu-zoom-ar-r3.glsl @@ -0,0 +1,239 @@ +// +// 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 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 . + +//!DESC RAVU-Zoom-AR (luma, r3) +//!HOOK LUMA +//!BIND HOOKED +//!BIND ravu_zoom_lut3 +//!BIND ravu_zoom_lut3_ar +//!WIDTH OUTPUT.w +//!HEIGHT OUTPUT.h +//!OFFSET ALIGN +//!WHEN HOOKED.w OUTPUT.w < HOOKED.h OUTPUT.h < * +#define LUTPOS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x)) +vec4 hook() { +vec2 pos = HOOKED_pos * HOOKED_size; +vec2 subpix = fract(pos - 0.5); +pos -= subpix; +subpix = LUTPOS(subpix, vec2(9.0)); +vec2 subpix_inv = 1.0 - subpix; +vec2 subpix_ar = subpix / vec2(2.0, 288.0); +vec2 subpix_inv_ar = subpix_inv / vec2(2.0, 288.0); +subpix /= vec2(5.0, 288.0); +subpix_inv /= vec2(5.0, 288.0); +vec4 gather0 = HOOKED_mul * textureGatherOffset(HOOKED_raw, pos * HOOKED_pt, ivec2(-2, -2), 0); +vec4 gather2 = HOOKED_mul * textureGatherOffset(HOOKED_raw, pos * HOOKED_pt, ivec2(-2, 0), 0); +vec4 gather4 = HOOKED_mul * textureGatherOffset(HOOKED_raw, pos * HOOKED_pt, ivec2(-2, 2), 0); +vec4 gather12 = HOOKED_mul * textureGatherOffset(HOOKED_raw, pos * HOOKED_pt, ivec2(0, -2), 0); +vec4 gather14 = HOOKED_mul * textureGatherOffset(HOOKED_raw, pos * HOOKED_pt, ivec2(0, 0), 0); +vec4 gather16 = HOOKED_mul * textureGatherOffset(HOOKED_raw, pos * HOOKED_pt, ivec2(0, 2), 0); +vec4 gather24 = HOOKED_mul * textureGatherOffset(HOOKED_raw, pos * HOOKED_pt, ivec2(2, -2), 0); +vec4 gather26 = HOOKED_mul * textureGatherOffset(HOOKED_raw, pos * HOOKED_pt, ivec2(2, 0), 0); +vec4 gather28 = HOOKED_mul * textureGatherOffset(HOOKED_raw, pos * HOOKED_pt, ivec2(2, 2), 0); +vec3 abd = vec3(0.0); +float gx, gy; +gx = (gather12.x-gather0.x)/2.0; +gy = (gather2.z-gather0.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04792235409415088; +gx = (gather14.w-gather2.w)/2.0; +gy = (-gather4.z+8.0*gather2.y-8.0*gather0.y+gather0.z)/12.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (gather14.x-gather2.x)/2.0; +gy = (-gather4.y+8.0*gather4.z-8.0*gather2.z+gather0.y)/12.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (gather16.w-gather4.w)/2.0; +gy = (gather4.y-gather2.y)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04792235409415088; +gx = (-gather24.x+8.0*gather12.y-8.0*gather0.y+gather0.x)/12.0; +gy = (gather14.w-gather12.w)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (-gather26.w+8.0*gather14.z-8.0*gather2.z+gather2.w)/12.0; +gy = (-gather16.w+8.0*gather14.x-8.0*gather12.x+gather12.w)/12.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.07901060453704994; +gx = (-gather26.x+8.0*gather14.y-8.0*gather2.y+gather2.x)/12.0; +gy = (-gather16.x+8.0*gather16.w-8.0*gather14.w+gather12.x)/12.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.07901060453704994; +gx = (-gather28.w+8.0*gather16.z-8.0*gather4.z+gather4.w)/12.0; +gy = (gather16.x-gather14.x)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (-gather24.y+8.0*gather24.x-8.0*gather12.x+gather0.y)/12.0; +gy = (gather14.z-gather12.z)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (-gather26.z+8.0*gather26.w-8.0*gather14.w+gather2.z)/12.0; +gy = (-gather16.z+8.0*gather14.y-8.0*gather12.y+gather12.z)/12.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.07901060453704994; +gx = (-gather26.y+8.0*gather26.x-8.0*gather14.x+gather2.y)/12.0; +gy = (-gather16.y+8.0*gather16.z-8.0*gather14.z+gather12.y)/12.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.07901060453704994; +gx = (-gather28.z+8.0*gather28.w-8.0*gather16.w+gather4.z)/12.0; +gy = (gather16.y-gather14.y)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (gather24.y-gather12.y)/2.0; +gy = (gather26.w-gather24.w)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04792235409415088; +gx = (gather26.z-gather14.z)/2.0; +gy = (-gather28.w+8.0*gather26.x-8.0*gather24.x+gather24.w)/12.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (gather26.y-gather14.y)/2.0; +gy = (-gather28.x+8.0*gather28.w-8.0*gather26.w+gather24.x)/12.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (gather28.z-gather16.z)/2.0; +gy = (gather28.x-gather26.x)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04792235409415088; +float a = abd.x, b = abd.y, d = abd.z; +float T = a + d, D = a * d - b * b; +float delta = sqrt(max(T * T / 4.0 - D, 0.0)); +float L1 = T / 2.0 + delta, L2 = T / 2.0 - delta; +float sqrtL1 = sqrt(L1), sqrtL2 = sqrt(L2); +float theta = mix(mod(atan(L1 - a, b) + 3.141592653589793, 3.141592653589793), 0.0, abs(b) < 1.192092896e-7); +float lambda = sqrtL1; +float mu = mix((sqrtL1 - sqrtL2) / (sqrtL1 + sqrtL2), 0.0, sqrtL1 + sqrtL2 < 1.192092896e-7); +float angle = floor(theta * 24.0 / 3.141592653589793); +float strength = mix(mix(0.0, 1.0, lambda >= 0.004), mix(2.0, 3.0, lambda >= 0.05), lambda >= 0.016); +float coherence = mix(mix(0.0, 1.0, mu >= 0.25), 2.0, mu >= 0.5); +float coord_y = ((angle * 4.0 + strength) * 3.0 + coherence) / 288.0; +float res = 0.0; +vec4 w; +vec4 cg, cg1; +float lo = 0.0, hi = 0.0; +float lo2 = 0.0, hi2 = 0.0; +w = texture(ravu_zoom_lut3, vec2(0.0, coord_y) + subpix); +res += gather0.w * w[0]; +res += gather0.x * w[1]; +res += gather2.w * w[2]; +res += gather2.x * w[3]; +w = texture(ravu_zoom_lut3, vec2(0.2, coord_y) + subpix); +res += gather4.w * w[0]; +res += gather4.x * w[1]; +res += gather0.z * w[2]; +res += gather0.y * w[3]; +w = texture(ravu_zoom_lut3, vec2(0.4, coord_y) + subpix); +res += gather2.z * w[0]; +res += gather2.y * w[1]; +res += gather4.z * w[2]; +res += gather4.y * w[3]; +w = texture(ravu_zoom_lut3, vec2(0.6, coord_y) + subpix); +res += gather12.w * w[0]; +res += gather12.x * w[1]; +res += gather14.w * w[2]; +res += gather14.x * w[3]; +w = texture(ravu_zoom_lut3, vec2(0.8, coord_y) + subpix); +res += gather16.w * w[0]; +res += gather16.x * w[1]; +w = texture(ravu_zoom_lut3, vec2(0.0, coord_y) + subpix_inv); +res += gather28.y * w[0]; +res += gather28.z * w[1]; +res += gather26.y * w[2]; +res += gather26.z * w[3]; +w = texture(ravu_zoom_lut3, vec2(0.2, coord_y) + subpix_inv); +res += gather24.y * w[0]; +res += gather24.z * w[1]; +res += gather28.x * w[2]; +res += gather28.w * w[3]; +w = texture(ravu_zoom_lut3, vec2(0.4, coord_y) + subpix_inv); +res += gather26.x * w[0]; +res += gather26.w * w[1]; +res += gather24.x * w[2]; +res += gather24.w * w[3]; +w = texture(ravu_zoom_lut3, vec2(0.6, coord_y) + subpix_inv); +res += gather16.y * w[0]; +res += gather16.z * w[1]; +res += gather14.y * w[2]; +res += gather14.z * w[3]; +w = texture(ravu_zoom_lut3, vec2(0.8, coord_y) + subpix_inv); +res += gather12.y * w[0]; +res += gather12.z * w[1]; +w = texture(ravu_zoom_lut3_ar, vec2(0.0, coord_y) + subpix_ar); +cg = vec4(0.1 + gather0.y, 1.1 - gather0.y, 0.1 + gather2.z, 1.1 - gather2.z); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[0] + cg[2] * w[1]; +lo += cg[1] * w[0] + cg[3] * w[1]; +cg *= cg1; +hi2 += cg[0] * w[0] + cg[2] * w[1]; +lo2 += cg[1] * w[0] + cg[3] * w[1]; +cg = vec4(0.1 + gather2.y, 1.1 - gather2.y, 0.1 + gather4.z, 1.1 - gather4.z); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[2] + cg[2] * w[3]; +lo += cg[1] * w[2] + cg[3] * w[3]; +cg *= cg1; +hi2 += cg[0] * w[2] + cg[2] * w[3]; +lo2 += cg[1] * w[2] + cg[3] * w[3]; +w = texture(ravu_zoom_lut3_ar, vec2(0.5, coord_y) + subpix_ar); +cg = vec4(0.1 + gather12.x, 1.1 - gather12.x, 0.1 + gather14.w, 1.1 - gather14.w); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[0] + cg[2] * w[1]; +lo += cg[1] * w[0] + cg[3] * w[1]; +cg *= cg1; +hi2 += cg[0] * w[0] + cg[2] * w[1]; +lo2 += cg[1] * w[0] + cg[3] * w[1]; +cg = vec4(0.1 + gather14.x, 1.1 - gather14.x, 0.1 + gather16.w, 1.1 - gather16.w); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[2] + cg[2] * w[3]; +lo += cg[1] * w[2] + cg[3] * w[3]; +cg *= cg1; +hi2 += cg[0] * w[2] + cg[2] * w[3]; +lo2 += cg[1] * w[2] + cg[3] * w[3]; +w = texture(ravu_zoom_lut3_ar, vec2(0.0, coord_y) + subpix_inv_ar); +cg = vec4(0.1 + gather28.w, 1.1 - gather28.w, 0.1 + gather26.x, 1.1 - gather26.x); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[0] + cg[2] * w[1]; +lo += cg[1] * w[0] + cg[3] * w[1]; +cg *= cg1; +hi2 += cg[0] * w[0] + cg[2] * w[1]; +lo2 += cg[1] * w[0] + cg[3] * w[1]; +cg = vec4(0.1 + gather26.w, 1.1 - gather26.w, 0.1 + gather24.x, 1.1 - gather24.x); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[2] + cg[2] * w[3]; +lo += cg[1] * w[2] + cg[3] * w[3]; +cg *= cg1; +hi2 += cg[0] * w[2] + cg[2] * w[3]; +lo2 += cg[1] * w[2] + cg[3] * w[3]; +w = texture(ravu_zoom_lut3_ar, vec2(0.5, coord_y) + subpix_inv_ar); +cg = vec4(0.1 + gather16.z, 1.1 - gather16.z, 0.1 + gather14.y, 1.1 - gather14.y); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[0] + cg[2] * w[1]; +lo += cg[1] * w[0] + cg[3] * w[1]; +cg *= cg1; +hi2 += cg[0] * w[0] + cg[2] * w[1]; +lo2 += cg[1] * w[0] + cg[3] * w[1]; +cg = vec4(0.1 + gather14.z, 1.1 - gather14.z, 0.1 + gather12.y, 1.1 - gather12.y); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[2] + cg[2] * w[3]; +lo += cg[1] * w[2] + cg[3] * w[3]; +cg *= cg1; +hi2 += cg[0] * w[2] + cg[2] * w[3]; +lo2 += cg[1] * w[2] + cg[3] * w[3]; +hi = hi2 / hi - 0.1; +lo = 1.1 - lo2 / lo; +res = mix(res, clamp(res, lo, hi), 0.800000); +return vec4(res, 0.0, 0.0, 0.0); +} +//!TEXTURE ravu_zoom_lut3 +//!SIZE 45 2592 +//!FORMAT rgba16f +//!FILTER LINEAR +0000000000000000000000000000000005a1fb3aa25ee63adb9d8a3b6930c43aa920073bdd1a153b4e31993bb12c003beaea473a6c56f93ae9a5ab3b4ce2053b7632173a2411ca3af160963b6146f43a69721b3a79a0cd3a754da33b7a66073b29c8e8398bb1c73a46ca963b86ae003b1e44ba390570f63a4ab0953bf292bc3a00000000000000000000000000000000000000000000000000000000000000008cb6d939544729b981e1a939472fd4bcd5b48e3a8bdfa0ba5af6cebad3e8bcbc56a109b90201cebadeec17b99878aabc8d6130ba5857ddb901779eb886e589bcb139c4b9ffa60dba0b7cfb391a5c7bbc4995e9b9f5c4edb98ab5fb39dedf2ebcd18ad8b955754eb9cf1ca33a2a56febb0000000000000000000000000000000000000000000000000000000000000000c96d7bbdd16ad4bcee20f4bac0206838922580bd93d1bcbc5c4109bbc781c9ba9bd16abd89f7b0bc75dcb9ba952ddbb9c16f3cbdf6f58ebc7accbcbaa66cecb9170b2cbd377383bcae019fba353e22ba827201bdb11241bc24733fbac78e28baa481a0bc0610f1bb219c12ba24085dba0000000000000000000000000000000000000000000000000000803f00000000b97a513b4267b1bc9c9d893fd75acabb47196b3b482f03bc7257663f04ec113b96a8293b9854b5bbf53e3d3f31854e3b7ae1f03ae9db99bb6c53123f1b7eea3a95e54e3afd0a04bcb5c2d73e6fee36bbd3aafd39c86549bc8889883e8c660cbc590cd7b63ca7a3bc8972ec3d324d86bc0000000000000000000000000000000000000000000000000000000000000000fbf35d3a8524753b0000000000000000b6477e3b88e3973b0000000000000000e4bf193bbbb6793b000000000000000035e8bd3a514f5d3b00000000000000004c4ed939cf36353b0000000000000000e2f59dbae8ea1c3b0000000000000000d71133bb9d20a53a0000000000000000000000000000000000000000000000001bba0f3b42266d3aabd5d53a27d4c839aafa1e3b20c13a3b1a41f73bd47a1d3b8eaac03a4c4d2f3b3afad83b21d9773bcb90b63a3a7d423b4d71023c578c663b0af2fe39a7ac0f3b938ecd3bfba2463b1fcf083a38762b3ba60aed3b7154753be745f238acc0583bd1eef33bee227e3b0440273a444ca83abbceb13b1de01c3ba8ee35b85eb5a73a6862873b4cd06739602ba33a12d7a3387124e53a1ffdc3bc473e883a8ae6e9b9ca08093b128df7bc05464c3a439688b984bf553a4e6fcebcfac89eb9aaded9b9bf3a2e3a6486c6bc6874e9b9d24953baeb6d8139b0d992bc66a09fb959042dba0b903e3a0f3587bc9af1013ae820abbac0b0833a60743fbc49147cb91393d5b94ec2d73a00b7a9bbf74b5e39ba826438dced513a0261a1ba18b8e1bc3464a2bcd734b0bb195ec43a4ca87fbdc0b001bdb73c81bb1441043ab09088bdc551f7bc164ab1bb1202173a683c87bd7758f6bc97a382bb865a7eb9371b4ebd5ee9bbbcb04846bb0eb8d5b8fc8f44bde283b2bca92030bb5d1a01babc1e0cbd556189bcc53104bb626d223a3ff8a1bc1ffc17bc36448dba0953e3b9301c0bbb75b03dbb395d9738e589a3ba79d8993bee3c63bde078883f78ebfe3d6e0fe73b93575fbdae8c803fa6dcef3d07beba3b3a3b08bdc007583f5cdbdb3d1ce2a33be28fd7bca65c323f2364bc3de19c5a3bcbb49ebc45ac073f4ef2903d91704e3b576cbbbcc154ca3e4b33453df731de3a5c79d3bc77ff7e3e7cfbbe3cc314223bf0dbf6bc3678dc3d7b72cfbacdd9a239e856c8bc4cb14fbc8bf993bc7d7f8bbc84e3973b00000000000000003dc677bce615be3b000000000000000086482fbcfdac983b000000000000000038cffbbbb318ad3b0000000000000000a4f4bdbbbd25933b00000000000000002e39f7bb52d38f3b0000000000000000747810bc684e463b000000000000000042ce15bc36b93f3b0000000000000000dcd20cbc5173153b0000000000000000a180003b8d50833a1612e83ad063aa3997b0ee3a5747133b0af4a23b7ca5263ba1128a3abbc3013b8ed1cd3b96fe5b3bfde4c4b7da40323b0b08f83b683d903b978603b9dfe0843aadd7ee3bfacb503b0172a838dfb3ed3a3994df3b53f38d3bf2eb523a3109e93a93e8dd3b833a903bbb3841b97f45aa397e1ab43bc2d34c3bcb2950b9fa36dfb85dbd663be3140a3bdd31823aa232e7392cc40c3b9cf2aabc18acc73a2e0b7bb8e201453bf447d9bc655b2c3aa36029ba0b88d23a2f41b7bccfd3da395f84eab80eddc1b90c26a9bc868b32b9dfe34dba5ab2de3aa23172bc37783f38003b08bac6585a3a99d860bc211c35bafb4f86ba5d42adba2e571ebc52e836b987fe0dba0487953a7ecb92bbbaae9db9388c03ba5a883a3a87bdefb9254b75bc808d71bce4291bbc04a8053b748e33bd1815ffbc73302abcc003003b6c1555bd8f0702bd4220f7bbef105f3a8c1260bd498506bd1a7ce3bbd9e6bb3933d624bd7a24c7bc976b9abb0f892839e31d26bd5e88c7bcf6da8cbbbba01cb68c9de7bc3a3390bc706156bba81b0cba865b75bcb6601bbcf836c7ba4fed94b817fec2ba6475d5bafd01aab9714f2ab96a8fd43b398174bd6632663fed998c3e15922d3c57988ebd1df95b3fb6e8843e3515063cfa443fbda2e1393f02bf673eb933f53b8b0f23bd83b81b3f63c7433e22da8f3b30a5e6bc5c7fea3e6768153eef5bb03b19e804bdade6b13eef32db3dfcb5b03b7d21edbc9b70613eaa42803deecd803b743104bde98fcc3d30c2ae3cf1f1103bf11cbfbc34549abb7c7c32bc44befebcfc2cbb3b00000000000000007bb70bbd31e5043c00000000000000007196bdbc97e9f23b0000000000000000d142a5bcbb6de63b00000000000000009cf86ebc3952ad3b0000000000000000296689bc0113b03b0000000000000000102779bc249f723b00000000000000008c0b82bc14ae863b0000000000000000fbd139bca886103b0000000000000000374d95394dd0573a65ca973a22ba2c3a83a7743ae4fb453a800f563b8c057d3b6d68983a26dfd63ad42ea63bc8a5a23b8b9c6f3af40a6a39a2decc3b8b55923b801002badf812f3aa295e23b9138733befa9ed3adff79d3a9457c53b07e6993b186164bad3708138c7e8ce3bb543a63b3d2f67b70908ea39206e743b742f703b968e7e370a56ef38c79b693bc04f053b6988983a783d203a93c9323b60f79abc2df3b73a50a8ea3847fe2e3bc45cb4bce4e4bb39c9d206bab3ec393bfccba5bce7728b3a5ad2b3bac82cac3ad0c88abc5358e8b99e4ed63872cef73a60ca5ebcda57e5b8b4e9b4ba2155053b837835bc6435ac3af6b089babe628339eda5d9bb4db14538aafec5b9c2e0653a252273bb85560db8396640ba07fd7cba088e22ba199b38bc3edb45bc543048bc38190f3b5aa111bd4e30f4bc55346fbce833243ba77039bdc8dc10bdcaf937bcc51cc13ad7643dbd571112bdb7d41bbcf388883a56491cbd8a46f0bc224600bcca278e3a1df30ebd0d3ddcbc0144cdbb87a26739d53fc6bc926ba2bcf5a18ebb8d7cb4ba398b4cbce25b3fbc6febdbbacec27c3a688296ba8a45c4baccab32ba0c58b6b79b63ee3bd71767bd3ae33d3f5a05db3ee0482e3c96fe88bd1c06353f518fd03e8277123cb86c4dbdcea41b3fde8ab43eba980e3cf7a529bdc0a3013f62b7963ecfddd53b190705bdb248c73e6674693e8bdd3d3b4f0703bd7359953e41d42c3e8518b23bac3103bdf1823e3ed3a1d83dd0e09e3ba860f8bce5f6ae3d67ae363d68a53b3be261afbc655936bb9ee1e0bbe2c42abd90d0c93b000000000000000080123ebdc168163c000000000000000098c713bdb2b10e3c0000000000000000cbb7f3bc1b5cfd3b00000000000000006887b4bc72dcea3b000000000000000060e3c2bc776fbc3b0000000000000000779eb5bc464ea53b0000000000000000789fb5bc1d38653b0000000000000000e04d72bc96c0283b000000000000000082f3853a4bf9143a2ef8803ab6966a3a5641243a644a9b3ae86a3d3ba2792c3bfd53c3391a3ca43aa929883b4e548a3b4ef2c4b911000e3b769ec03b474fb73b41b803ba7fbcd0b73e516e3bcc835e3b0fed55ba1942173b2395b13b8573aa3b6ff7dfb963330a3a02fba53b35868f3bc4440dba6e6265371de1953b52a9743bfb67d0b8dbc7cbb85d97473bd6b7133bd86ee3393772903952451f3be70684bcf3d1823a90fb7e39ef68253b3d9c9ebcfbb98a3a5304a838e747033b9f7671bcf86fc83a42dc0fbadad1ea39be3e73bc083037b95d296eba0a275837598d13bc6d5d023b0de58abaf1d245b8e0e517bc8006c0391fccdab9f9f3033ac993bebbeab293b991bc80ba94130339afa159bb5b3487b92043bab9bd23c738ae7f37bac0c529bce8f128bcb0d070bc3458243bf057eebcb432e8bc2bc88cbc068c323bdbf111bd230d0dbd072159bcafb1ea3a5f5821bd362123bd025c58bce9e5263b8e9fd9bc3f67d1bc6b5500bc7166df3a4377fdbc4764f1bc558a05bc50b0d33aadf3a4bc37ad97bcfcb99bbbd97c2e3a5c3935bc57c724bca94f2bbb42dc8139c548a7ba106365ba7068feb958376db89b8edb3b2e044bbdc650153fe13b153f3c0e223c78e964bd903b0d3fa3120d3fd149fa3b1e792abd19e7f03eee7af03ede00033c100e19bd9a9ccc3e03fdcb3e003aa13bca90bdbcd051983ed3c0983e2b5edb3b2601f4bc727a6b3e1c8e6a3eb9c5aa3bb4e8d0bcd8ea123ec90a123e9639893ba559d8bc7c69873d2920863ddf0d1b3b1f259cbc2c1966bb4e3984bb39284abda848e23b0000000000000000efda63bda527233c0000000000000000f3d228bd69d7123c0000000000000000d8eb15bd7ff3043c0000000000000000b97ab5bcc142d03b000000000000000019a3e7bc3659b13b0000000000000000e2eebebc5f00ab3b00000000000000006041c7bcb79a883b0000000000000000d8c08fbc643b073b000000000000000009953c3a3ade8e3a2656823a3e3c8a3a5c34d8b7a8938e3a230fe73a1112933b477ae7398f85783a026d773b0bceab3bb221c5b9728b5a3a6981a23b585be13b81294fbaeefd5339dc36c73b7adbaa3bc284e7b9df88173ad88cad3b8729c33bda4f59ba36360e3a489c8e3b25e6ae3bdfeacab869cd3db9dd3e843b4a9a923b938eaaba48a13e399ee5383b8f945a3b1801583a53a06f3afc41f33a3f1c5cbc1a280b3a9e21c73a8e8c4b3b08757dbc0097bb3a9183673aaba3753a4f134cbc745e493b412b03bb2ad43d3a4c4e3ebc0798403a5ed52039ed11c73a201812bc429b6c3a9f2b19baf4ca57b8fd67f4bb062b263a145eaf39e1faf6398309afbb64cdd2b82c80a0b9b3ed863985102ebb6a145e39d0dd04bbcc1a74390aa7d938903741bc0f1e41bcdb558ebc58da2d3b229eedbc05d812bdf217abbc048b6e3b99c612bd87ca39bd8d6b92bc372f1c3b438318bd571a3abdb2925ebc77f885ba8ed6fcbc404718bd77c53cbc3877c03a8feee6bc6a4a09bd4c8a1abca9ca01ba4bad99bc122bc5bca376d3bbc7119939fc8a35bca5754abc54a96bbbac4fee3a466139bb7eff59ba3f20cbb925e61a3ac903d03b676828bd2240db3ee1e33d3fbba3303c1a1749bd7aa9d03e7906353f51170c3cb45517bddad0b53ee6411b3f04b7033cd7f2fabc48f8973e089c013f0b98bd3b2d0bccbc1f896a3e2896c63ece35ca3b6a84cdbc03132f3ef559943ec310ad3b81c5c3bc4e18da3dad073c3ee9178f3b46b4bbbc423e363d959fab3db8c5203bc9c881bc28f5cfbb7b743ebb31d76abdf3b3de3b0000000000000000a45b87bda11c163c000000000000000074b74dbd62541f3c0000000000000000baf622bdbda3af3b00000000000000005ce900bd21d9da3b0000000000000000e62c02bdfee1be3b0000000000000000823befbc23e08c3b0000000000000000e56eebbcb2888b3b00000000000000000213a2bc01a8193b00000000000000006cd3a539a9e3923a9a7db439cc72033ba3184839c040e03a4133213b4c28ac3b103c2bba5e99c4399271573ba0bccd3b2652603a2d40fb39c3588f3b9871e93bc5185abaf78e7bb9b53c9c3b42f9a23b201b1bba98257e394a788c3b4be7013cbab3aeb9074fc438b241863b5070ca3b5bbf9eb95c6332b882bb793be672a43b439225b9015f42b9d8d21f3ba6624c3bc941b73a131ab13a1ce8fb3a2de52abc79ca293bcdb4d03ae3d0e53a210e44bcc5756cb899f641ba7ab3e43a391d10bced9fea3a7d09a93adc94c3375baa10bce07f263aa896303a8f52a33ace1bcbbbfa570d3b6937143a572849b92d62b9bb7ac34b3a107431ba8a8232b97f6472bbcf8e1f3acce851ba71a62e39be6000bb4df94338f0ce87b98a3c92b956821cbaee2072bc5eb480bc6d6a9ebc3d4a003b70c7fbbce48e34bd917bcabc424f2c3bf43906bd25934fbdfef79ebcec20d93aebe70ebd20455fbd09809bbc6ddb063b0d48d5bc30c322bd1a055abca5e8c43900dfd9bc527824bde45c4dbc1588533ac3ff95bcfa43dbbc9c7f01bc98095b3aa5d92cbc987170bcc4f084bb738b833af91106bb1066beba4d18d9b99cdbdf397090b63b85f9febc94d28c3e481a663fd57d043ca4e90bbd9d3d853ede925b3f7c0a063c764cbdbc0a7b693e09aa393ffa59df3b8fdcacbc6a86443e115c1b3f5a7ea23b11b279bcad36163e1f1dea3ede86b43b4d5e92bc5bcddc3d7965b13ec690953b117f86bc5dc4823d28885f3e72bb843b828f8cbcca34af3cf111cc3d31a21a3bd8444bbc718338bcda03a3bb4bbd77bdee58db3b000000000000000007208cbd1973253c0000000000000000ed013bbdafb1023c00000000000000008de221bd49a4fd3b00000000000000009f2acfbcab96cc3b0000000000000000ea93fcbc43599d3b00000000000000006b4be7bc5275893b000000000000000028cff5bc3140803b000000000000000057b0b2bc2a89d33a00000000000000002b2de939ab1d113ad703dfb97fc45a3bd08a05ba29fcc43aca13533ba0e5de3b122e5eb8cda3493bf235313bc39bf83b9c6c22ba1f978c390d23823b4a1efe3b830e22ba6bc4943810dd663b3aa1d33bbb3f80b9187f2d39b87d803b5b6ded3b8594ccba708e2d3a2131893bc45ee63b03b897b9eeb28ab9013e353bea76da3b8a7f93b913b6d2b9b0908739ec3e673b50609d395275303ba750e33af9f2dcbb93d43d3b3b5edf3acbba623a0230c4bbd34b993b6ee1613abad948ba915acbbba4e2213b9003ff39c582f8b9c81eabbbd726f33ac12be2b8721014ba50db87bb118e083baaca24b83bb8deb97fad6fbbd804383bb91505bac9cc09b90fa8f6ba8b73fc3954b9193a78de1cba1bfb9bba43c3043aa61bfcb9b1d55eb96ff48a3ad5999ebc5797edbc47efadbc08f6513a8d2205bdf8c77dbd01dae4bc79b5123bb2960abd19be8cbd0d53b6bc7f9fd33a41f401bd908085bd6b81b5bc462c823a5c61c9bcdebd4cbd702985bca40d603a65a0c2bc8cb743bdd9f676bc17fc933a85ec88bcca8710bde3de2bbc5f61b93a4f5c29bcbf8c95bc34f7afbb6a8bb53a313f08bb9ad12bbbb81da1b9448aaa3a9b74a03bf24c82bc7b02fe3db797883f8b80c53ba18483bc4d98f23d8c40803fc62ab63b61b62ebce4c0dd3d695d583ffd5ebc3b426705bc75f1bd3d86f7313fc165933bbaa3dbbb1371923d4a9b073f3802923b8eab06bcf529473d3026ca3efa75873b3ee721bc1ca2be3c35dc7e3edb642b3b8cb929bc5c9918bbfb46db3d25f6e73a4a480bbc408590bcc6ce5cbc945164bd2537923b0000000000000000848463bd7618fa3b00000000000000007f8310bd933da23b0000000000000000e008d5bc89f8a53b0000000000000000a56d9bbc4ce05e3b00000000000000008aa2b8bccd72493b0000000000000000b843cbbcc746153b00000000000000008cc4efbcc5f5f93a000000000000000015ccc4bc662c913a000000000000000000000000000000000000000000000000146aecb9bfe0803aab63b73a7670803bdcca1cba413e2cb705ea1d3b89a8a03b4fb701badae469b9bedf0e3b54d4b13b055118bae63a7ab9b38e073b31d38e3becd7fdb9efd397b97223223bcc06ac3bf328c739ac9f45baac0b403b1376913b32d839b97267ceb776ea1a3b3c748c3b0000000000000000000000000000000000000000000000000000000000000000b84ee63a2d49e83aa9fbe439a00765bb19b8c13ae5f2443add8404bae8ac07bb5949093b450f0e3a08217dba252721bb4956b13a30af5738c6f84cba515c02bb8dc4023bad3ea8384d288dbabc040dbb978bd03abef61b3a598679ba44a484ba3132ca3ab7a33db9ea6632ba9d8c4aba00000000000000000000000000000000000000000000000000000000000000009d7ae0bc13127abdb1b6c5bcf022c839a9e6c8bc7cb77abd63b9adbc212671392ccfbfbc12666abd5e129ebc92bdf4b7e7759abcb5993cbdad9f7cbc55a77c39200c8ebc875c29bd17ad5cbcd225033a56d352bc765603bd66962cbc668e8f39dbc008bc0a30a1bc2030c3bb668aa63a000000000000000000000000000000000000000000000000000000000000803f2a67833bf5d08d3a9f7dacbb618d893faa00883bfa1a133bd80c1c3b51d8653fde60723bd91b053b927b773b4d3c3d3f68b35a3b5aae913ac059003bc64e123fcd53473b6c6d10baab593bbb278dd73eaf04263b42afc4ba5eea1fbc0041883e843ea53ade2c59bb4d608ebc0242eb3d0000000000000000000000000000000000000000000000000000000000000000bafab2bcdb2f3f3b00000000000000008f7f1abc48c8453b0000000000000000e030b1bbcf9e223b0000000000000000648995bbe82cfb3a0000000000000000841104bc87db983a000000000000000002f049bc5ff4dbb80000000000000000f2b79cbc6fc575b600000000000000000000000000000000000000000000000000000000000000000000000000000000554022badd1f48bb7d04c8ba74184ebb97eb2fba3e4833bbcafd78ba769f37bb8934d3ba372238bb996577ba4cbf3ebb5f01b0ba7ce78abb280030388c4208bbd9ee6cbaf230f2ba5867ce3977fe16bb16664fb8a7cf1fbae76d003be4e20abbdaaf6e3919762bb9c127313bc5890ab90000000000000000000000000000000000000000000000000000000000000000c31182bbd43820ba36c491bbeb417cbca76080bbde4ea1ba5ab599bb2e186dbcfc098dbba44f9ebada49a9bbb1c063bc2b4e2ebbeaba15bb8e0acdbacc952ebc2a4178bb3f44a1ba475f9dbba49041bcbe0e55bb3a2e423a2f517fbb37ce16bcd9aac5ba06dd8139ba467fbb4fd400bc0000000000000000000000000000000000000000000000000000000000000000f9eea6bc0f6747bcbd95b8bb704ff0bacf8eb4bc5c2f48bcd56ec5bbd8ba1fbbb196b0bc03434bbc8212debb38db3ebb35758fbc975c3cbcb3e6a6bbc99aabbadbc58ebcfb8039bc2dc503bc40f4c9ba808951bc16c00dbc9be40fbcb1497abb5b4b18bc498803bc901709bcfee22cbb0000000000000000000000000000000000000000000000000000803f000000000921da3b6f04b73a4150763f38b0193cc56ad83bc509ad3b9956513f0c54433c0877c33b5168c43b9c852d3fb3d4473cd6eeaf3b013a913be80a083f92c40c3cd6f6343bd040b33aefc0cb3e4a86d83bf177813ac6ed19bb9e94853e3cf02e3bc67bb9ba44b806bc32d7003e68c642bb0000000000000000000000000000000000000000000000000000000000000000168f603c3651af3b00000000000000008c72563ccccfbe3b00000000000000007089453c5a37d03b00000000000000009823253cedfba23b0000000000000000911d063cd2cbc43b000000000000000025816a3b2767ee3a0000000000000000115a1eba726fc73a00000000000000000000000000000000000000000000000035490cb96e811ebbd2819ab959add1bafec45bb9ce1e34bba521ca39ca9bcfbad4f96dba304234bb8e69d1397c2a07bb2fe891badb0d44bbd30d783aa772ddba6092d8ba9cd32cbb55e40d3a851deebafec245ba0f6ae3ba50b2253b75418cbafe0e18382af4a6bae009403badd530b84c878238841e8eb93bc98f3b241c993ae5fb2a39d8543c3a2f17933bd819f23acb0e36bb70a8a73a05b253bbdb1858bc928d81bb2e6361ba09aaa9bb277a99bca95697bbea76c0ba66beb7bbbd2e8fbc5499cebba288b5ba6078d4bbc0428ebc57c088bb6fa9e2bac21ba7bbeca752bc2b9b80bbafc38aba0b6bc7bb86cc6ebc6d1d3bbb42e706ba0fdea1bb92433fbc7e1fdaba489268397df198bbcc2f13bcd4a202bb8e7b5aba7c481bbba13b6dbb527805bc00d7fabb82f5c0bb1727cbba3f4ba3bcfa755fbc91a30bbc7c4d33bb1aa9bfbc500973bcdfe20fbc2b3a57bbce08c3bcdac779bc87f01bbc516981bba1828fbc28353fbcc77c05bca5a867bb858e9dbcad045dbc5e872bbce62f8ebb383665bc06362abc6c1c22bc6b7c78bb782106bcc3abefbb579324bc8d115cbbe6c707b824f6e3bae146c0bb406b52bb5f72903bc27e3dbc51c5743f163f073e03aee83b11a80ebc2c595e3f983dff3d6565f03b94d7bdbaab293d3f8183e43d18ffde3b20732e3ae4551d3f150fc53d20e6933b8659ac39cf6ef43e14019a3d1406593b93e149bb3fc5b83eb2026b3d95466a3abd8ae5bbf33b713ec4a0113d13b4ccba3d9852bc455aea3d0c425f3c74f76ebb8f5252bc7d1cd5ba669da5bb2355843bd98f1f3b0000000000000000506f0e3c0335af3b0000000000000000696a2f3cd0ced63b0000000000000000e8022e3cae02e83b000000000000000044d7e63b7ea4b23b0000000000000000d4fbab3ba214a53b000000000000000064bf873a7727463b0000000000000000e8726abbd0ad833a00000000000000007360b7bb291799ba0000000000000000ef01a03aa7fc10bb0ef80c3b8f1d02ba662a5cba5d715dbb3a2d1d3a92b556bab0e9d1ba89dd5ebbbe0b1c3a81dc72ba77ccbbba4f3861bb69e08c3a120c79ba7002dfba5de835bb53bd5c3af28d8ebad24ab3ba1f6a23bba301233b617d1c3980a34bba2b3cd0ba9892453b1dbe563a22f901ba151b4fbab7bc9a3bcc0f003bca630cba45c404b9bf06853b5f81103b1df320bb585c47ba97763cbbc30844bccdba84bbfafa98ba4c028ebb81988dbcae2993bb7817dcbaa4f89cbb3b9a7ebc14da9fbb5fe5fdbabe87c4bb5d8186bc134a8ebb91bb01bb364399bb36be3cbc7c6082bb59cb96baaac1c0bb944b5fbc05954bbbececb7bab105a0bb46d92dbc119f0abbbf96d7b90e129cbbe38811bcf21351baa8949bb91d933dbb9f648dbb86ba8bbb20d69dbbc125e6bb6a1fe1ba1a6965bcfacb34bc8f6a21bcfe523ebb6c5490bc392c52bc9cff19bcb1ea4cbb104ba4bc91626dbc279c32bcb71993bb12ba66bcb25e2bbc42700cbc640773bb27c880bc75be49bc55ce33bc31ac96bbe35a2fbccbc30cbc138121bcf2d68dbbe3a8b6bb00edb1bb2eb61fbc06dc79bbcddd143a76592dbab0d8c6bbf5c329bb94c96f3b7c7577bcbcb7503f2588873e2715ea3b99bd60bc8bcb3e3fe8947a3e9c7aec3b1122d5bbdf20223f00055a3e48a6e03b160289bb5442083f14043a3e38c0963bc8522dbb73f4d23eb8e7103eb53d623bdc06ccbb7b92a03e542fde3d18fbce3a001e0bbc7b53523ee038903d28b567ba6ce560bcc20ed03d22bc063db6750ebb688e3fbcf896b63a5465daba8d0c3bbb08270e3b000000000000000014899b3a398bb83b0000000000000000ee598d3bc656cf3b0000000000000000cceead3b610dda3b0000000000000000a2e7773b2b9ca63b0000000000000000821aac3af72f9a3b0000000000000000a0d0d6baa99c363b000000000000000089a5c9bba345233a000000000000000026edd1bb640db3ba0000000000000000e4e664ba9de823bbe1fa6c391dce413907a274babc594bbba630ac3a80cb89ba796ce0ba322787bbaf4a363a28e9c0b9ff7be3bac72485bb0518843a474936b909d601bbe71756bbd548973a8d58c0b858bdc1ba67a24ebb666a153b581ca43ab17b9abafe060cbb3320593bbbe5df3a526c74ba7a8ea8ba8d7e923b4c0e333b033720ba336b0bba5c66713bbb96363b80890dbb6111c3b9ef5c15bbb0f92dbcd00c96bb3d9903bbdd5c6abb2e3e78bc8e1396bb3f21d9ba3d29a0bb20d77abca4e4a3bbfd8a09bb098cbdbb392478bc06e18bbb1d8213bb8d0daabb35c347bc19b77bbb872241bb3303c2bbd39d59bca16b48bbe1298cbaa60dacbb34ca34bc2f1719bb19c774baf88e92bb227214bca6289eba7f4347ba6ae73bbb140d99bb3d6a36bb415f29bbde70e2bb9da385ba855e2ebc3abe27bc86a33cbc8efb67bbfb0085bc884552bca46b31bc1a8263bbea5091bce8e06bbceb433fbce5b4a3bba89d61bc0a6733bca3c31abcedcc81bb30ba65bc6f4f23bc312651bcb0efb5bb079c20bc53c80abcc28d25bc584198bb56a291bb5f0c87bbc0e215bc173291bbe4984c3a2938d73945e7b5bbe41a3fbbeb3f6b3be2385fbc591c2d3f5237cd3eaf2de33bed6c53bc4b901e3f52c3bb3e6cbce73b984becbba23c083f4d88a33e1563dc3bbea2abbb6bfbe33ef5a38a3e80b9993ba48883bb1b22b23e23ad583e803f643b1c19eabb41a2873ec07e243e1973ae3a113e18bc1f7b313e73b9d83d39335bbada0e56bcd3e4af3d04a1543d6b36f3ba5d6a2ebc8355f53a39a8e9398fb8d4bbbdebf43a00000000000000008a0ab5bb7522ef3b0000000000000000a99152b81fb8e73b0000000000000000e57fa63acaf7e03b0000000000000000a06fab3adf09b93b0000000000000000cf0469bacf1b543b000000000000000023ab83bb68c01e3b0000000000000000a458f9bb39e5023a000000000000000073a9f9bbcdbbaeba00000000000000008ed462baf990a0baadc355ba1222b03a180096ba3fc982bb48cad6b9c25eb83a3379d0ba5d1d7bbbc3e887391cbfa138506b0cbbf81c86bbb1e9953abbd8113a905601bbbfa656bbf9589839303b7f36a52db9baf63755bbf14b043b35c7c23ad50ca3baf7c613bb6a3c173b7517073b8ce678ba3b6322bb80ea493b6bd7403b530e75ba8c7a3fba9028613ba1a2543b8f6823bbc1a5c2bafaeb3fbb89870fbc03823fbbb70d81ba6108a3bb63e55fbc53ad86bbfa1e17bbc11787bb85e449bc4e1f9bbbfe4225bb025eb0bb66cf65bcf0bc5cbbc792dfbaac2c85bb36821bbc806270bb4f8c00bb5d34b7bbfeb050bcd0483bbbbcd3e3ba627399bbd8e223bc411916bb3ee185b872117dbb48b503bc05a852bae62ba2bacf7d39bbaf0fa2bba5781ebb6857acba3c23f9bbb0d840bb6ae22ebc9ce417bca1f94abc8de724bb8b6356bc6a5443bcb01b2ebc63e874bb807b80bc6b2b6dbc0e1442bca8fca4bb03d12abc2a4e1dbc0d2205bc2b946bbbbda94fbc139d41bc0fce34bc1800aabb332607bc3f20f4bb5cdc12bc1b4f91bb14294abb5c918abb4b3a0fbcc1819ebb90a7fb39410d693a80e89bbbfadc4dbbacfa7c3beead2cbc4695093f9a9b093f5126903b81d621bcaab5fb3e1bcdfb3e8b89c93b190b7abb1bffd63e1c44d73e260ccc3b2cae53bbaaf7b53ec171b63e6294813b4e26ffba0e5a8c3e70ce8c3eebf1613b0c0aacbb3144583e32e4593e81cbb93a7c2ae5bbd2af0c3ec1690e3e256762b7fcfb24bcf17a893d05b48d3d9a17f9baef1317bcc1315e3ab2b6173b133d2abc0a110b3b00000000000000000bca04bc1e4ba53b000000000000000084663abb700cd63b0000000000000000dd9ab2ba9804e63b0000000000000000ada6c9b9edc8953b0000000000000000947038bb85588d3b0000000000000000a86297bb6f700f3b0000000000000000d27e10bc783ae93a0000000000000000bbe000bc6259b0ba000000000000000082a707ba343a17bbc4a48638c690563a86bf8aba6b097dbbbfa90bb943a83f3a1e70d0bafe7c86bb558ab7399b75153aeb0ca2b93bd872bb954a16bc4f46373b95fb13bb19ca6bbb067b1b3a1af6403a58f8c0ba3acc6bbb8b5ac13a3a3e133be04c8abaa10d21bb60ef033b5111163b5c17c2397b682cbb65f40d3b893d8c3baa96423a7d73fbba7ae9613ba8a0793bf5161bbbb29413ba87f0faba13b80cbc070c83bb8414b5bad5fc50bb60254fbc33bc87bbf3ad05bb570692bb29e953bcb50a86bb704fe8bacb398dbbd39f40bc02da7ebba62129bb2f688ebb0efc30bcd5156fbb029305bb5ab3b3bbbbb34dbc3e6bc0ba56e82dbadfcf9ebb030f37bcb9d2faba46d4babaa668acbb156a0fbcc27a49bab4f96ebad6daf7ba426fe0bbca0b8cbbdd2dfdba375618bcfc60eaba04383bbc63b623bc920859bc6b00a4bb121c73bcd7cf74bc74e551bcaad886bb99826cbc593b84bcc9b642bca14ca9bb49214fbcf4324cbca26c28bcff6099bb417355bc2b1f55bc72ff3bbc2ce3abbbfee91cbc3b4519bcec4b2cbce32fb2bb514985bbe84d72bb1e0408bca5aa9dbb8e1dcd39bf53a03a81ad91bbb0f352bb50134d3b9eccf6bba935cd3e9c3c2d3f2aa2c23bc831afbb9a34bc3e608c1e3fe5ddcb3b919dafbae3f5a23edc4f083f4e11c23b1026353a61b9893e0a3de43ef0048e3b5def5dbabe1b573ed57eb23e86f8643b9b0371bb34a9223ec297873e940af43ac83dd2bbe437d43d1eb9323e5b2d84bae7d90cbcf794463d7613b43d5b0e1cbbd70221bccd202cbaa3864b3bc90361bc13777e3b0000000000000000ad4e4dbc6d70f23b0000000000000000e0dec1bbdc0cf53b000000000000000056fc84bb88c9fe3b0000000000000000e5a00bbb8193ab3b000000000000000010ff79bb0b628b3b000000000000000075dfd6bb0ea8063b00000000000000003e901bbc700123b90000000000000000a5840dbc977bf9ba000000000000000009b4b5b907c70cbb5078aeb92fdf403ac23e51ba6b4c82bbc5fa34bade202f3adbecbdba06778bbb8cf5b1b95a01583a0152f0bae76a91bbd9a796b7efba853a8dbfdcba1beb6dbb6479a3b9979e103ab39da5ba115474bb5ece683ab7b41f3b3eff5cbaa04a27bb1b55cd3ab4cf3a3b65de8db9886dccbaf51e303b916b873bb986143946bef5b939a83a3bd9d68e3b2d470cbb4d80f3b9b281ffbaf654efbb77ad5abbac7470ba562d66bb2aa13bbcdb444abb90bf46bbf4b586bb727f30bcad737dbb66b5f6ba05a8acbb83bc48bc544263bb2ebc09bb26678ebb647f1bbc031648bbfdb3dcba3011a7bbffcd45bc7c6e1abb0ddeafbae51c8dbb7a792bbc812aceba3c074cba04127fbb6da625bc2e51f3ba746dc9ba3e05c9ba2475adbb1c57d0bb8ef15bbbff2b23bc1d0b1ebb35ca5dbcd6b755bcbac16cbc0ff978bbc8bf6fbc18ad85bc0e5f65bc25af6dbbafa885bcc67e9cbcc20864bccc17aebb9d0940bcc42f5cbc9a9623bc28658ebbaa3e5dbcdf8a76bcf02244bc74dfb1bb22eb1abc318f25bcb29d1fbcab4b9cbb179bc3bbdee4a8bb64b906bc45fd94bbe88482b8762be43ab6dc4cbb1c0d7ebb6ef62a3b333529bb8eb6873ecfa5503f8558ab3bf53f153a28197a3e9ad73e3fe105ba3b2556573b7d51593ed335223f97bdb93ba6c1743bb86b383e8351083faa26833bb6d0123bfd650f3e1553d33ec72e5f3b248b29baacc4d93d7027a13e58d7e73a28066fbbb2288b3d9339533e40d418b924bafdbbf59ef53ca118d23d45e508bbefc8cdbbd86296bbd067cb3ac3776dbcc74e773b00000000000000003ed056bc5edaf33b0000000000000000174e98bb62c2d73b000000000000000038c913bb6e41f83b0000000000000000a6b717bac980ab3b0000000000000000fa1d54bbe03a8c3b0000000000000000088fbabb6123093b0000000000000000db7026bc5c7ee4b9000000000000000063fd20bced8235bb000000000000000077b7e939d02717bb4582a3ba03cf063964a980baa55964bb053aadbad90efc39a17f70ba68cd8cbbb2eec9ba2ab38c39b755b3ba6adc97bb563a8ebaea11d639b5f3c2baf50978bb250ea9baa06cc739047844bab80367bb9da68bb97cb8fb3a034682b9ff9419bbb7ad523a05cb4a3b6dd3db39616a96ba817c053b2b828a3b97f105ba09eda4bac195ad3a0606a83bd3ad12bb9086bcb9ea38cbba2d65c9bb9ce74cbb2f6204ba0d644dbb5e8420bccafa54bbaaa599baa4e98abb134529bc9cf360bb162cd4ba83f0a7bbf6543abc692842bbf2bee6baa17886bbfaee16bc81ea1ebbefe0c6ba15c59dbb2d3d3ebcf875d4ba82040dba8c3c8dbb960833bce23d50ba8abb0db99f2463bbd61828bc93c1823ae85f39bad5553bbbb774f1bba6781dbc6348f5bb72c130bc5d2158bbe25c88bcebc39fbc5d1e80bcb15d97bbe6588bbccc18b9bcfaf26ebcea629ebb94e68ebc16f0c2bc69fb72bc43c8b2bb555653bcb73d8cbc502032bca5b390bbe6f86dbc161398bc3ea24ebc7a0cb2bb246e39bc101f5fbcf3e22ebc4ca39ebb9483fbbb57e601bc66b50abc005190bbc3c145bb51e89bba4ab437bbaa085cbb2fcf413bc58b893bf443073e3d87743f14b9a93bc9270b3cac06fe3db44f5e3fbc69b93b1b5b1c3ca921e23d640a3d3fa808bf3b825c153c3df3c13db17b1d3f41fa903b5094bc3b14cb963d72bcf43ef4b2703b12574a3b0c495f3d91f8b83ec493d03ab60b77bae681053d64f7713e105fcab9821eabbb74c6263c56c2eb3d93e3cbb984cf9dbbadd3fbbb4f3d82ba0a7f3bbc94f57a3b0000000000000000131900bcdc9af73b00000000000000009cf2ceb84dc4003c00000000000000001891303bdc37fb3b000000000000000081a8323bb10caf3b00000000000000002c6dd539801f863b0000000000000000bafc72bbb22cf23a0000000000000000cb4015bc0c6d6aba00000000000000008cfe1ebc5a1832bb0000000000000000000000000000000000000000000000008dd2d8b96f5f6abb34ef2bbb20e69cbaf6cd74ba50cb67bb387618bb96df91bae8184d39b74b86bb362824bbcb3486bae0616839033f7bbb7da543bb0533f1395c4022ba65c544bb90dbc9baf51b003a1d5710b96b60f3ba9a3579b9a551d03ae0f0033a7c719aba7b0cef39cc10353b0000000000000000000000000000000000000000000000000000000000000000316f4bbbbdc61cbafd2340bbb280e6bbc94e4cbb3e8bbfbaf7ea46bb04deeabb937e50bbd088feba3d688dbb61400abcee31d4ba59de03ba10d739bb571a00bc1bdc09bb32a196bacb5866bba7f70dbcccda94baada77937b88861bbb5840cbc0fe203bab4ed2eb9b2fb3abb4b560ebc00000000000000000000000000000000000000000000000000000000000000007e9c76bccfb9a9bcb37c58bc69c487bbe68464bc2cb3adbc9f7a42bcaa2286bbb2566abc78ccafbc105043bc13b98bbb58a643bcb33f8cbc16ad2cbc045a2fbb3d1743bcde268abcb1f226bc0c3689bbc6a925bc11f55bbc055b10bcf17779bba7fa01bcb8a314bc05fcf1bbb02c75bb000000000000000000000000000000000000000000000000000000000000803f2ca4aa3b937e5a3c6f87103c897e763f0d20b63bbe63423c0dbd2f3c68d3503f2e5e9f3bac34293caf222e3c60de2d3fd60d293b37caec3b4c55ab3b6337083fa454603b1cd5a33b05299e3baf02cc3edf7dd13a8de4d33a94792ab922a3853ee2574ab909b50ebbe895c2bbfbfd003e00000000000000000000000000000000000000000000000000000000000000001770fa3add10e73b00000000000000002c4fc73b05bddb3b000000000000000098fff13bb203d93b00000000000000003a673e3b8826d53b00000000000000003101823b5b1f723b0000000000000000ae14a6b8f6169cb900000000000000008319a5bb46ad33ba00000000000000000000000000000000000000000000000000000000000000000000000000000000fc83cfba5f4543ba744539bb7a108bba3597a6bac50ae0ba786ce8b9e63bc3bad765d9ba57dfc9ba182b00ba0dc2cbba8a6942ba29bd48bab9ab99b9906e85ba9e2f61bafb5196baeb223eb75f079aba6e4921baaea549ba76065539734666ba5d72f9b97bc124ba1152313a16f31bba0000000000000000000000000000000000000000000000000000000000000000f0a2d5ba76878abacf85e2ba60cbbcba8265daba408da0babb4e8bbaa8f2f7ba950ad5baa05f91baaefa04bbcf0031bb82b5acbae82251ba1c79fcba92ed11bb9c06babaca2241ba460bd4bae8c73fbb5f3a59bace09b7b99d3edeba574b2ebbff961aba1f4b35b9e9f6d7ba020211bb0000000000000000000000000000000000000000000000000000000000000000e68492bac04de5ba2c1500bb9a589abac32fdfbad455b3ba2f04bebab49985ba20a916bbb9be03bb3c900cbb0b22adbabd2ac9bae74503bbd10b08bbb4fb3cba7637f8babe5833bbe58633bbce1ea9bae6f01fbbe2a01abb83941dbb370f8bba7949c5ba412b01bbaf4216bbdada86ba0000000000000000000000000000000000000000000000000000803f0000000010552e3bef51833b7953633f346fa73bd831df3a31b6693b5c9a423f965d933bce9e083beef6783b8c38223fe443823bac88183bd64d223b6684013f613f5a3b43884d3adb75e93aafbfc23ee2ab303bc953e8b9ff8336ba8828813e3d67e439b5ba17bacdb6c0b9b791013e41503fb90000000000000000000000000000000000000000000000000000000000000000a1cb933b1fce163b00000000000000003e566a3b0dfc2e3b0000000000000000bd414f3b5817213b00000000000000003d531e3bc3bdcb3a0000000000000000f6c6f23af044893a00000000000000003f764cb9e8e8a73900000000000000000c4838ba234dc3390000000000000000000000000000000000000000000000005245fdbaf53a07bb918a8c3aaf8eb6bafdadfdba34ff09bb1ee260b6b8afaabaf7c401bbbe6749ba5fbe123a801c1fbbda9ee5bac326f3baffeea4b93620cbba8db891bad098ccbad40600b928eb9dba9460f2bae0a608bb3dd338b9c39ae8ba5e1591ba54d7a6ba2f74143a91de60ba340906bab5c844bac391363a796065b9d876c2baa75472baeb2e133aba23c8b96f1753bb23f19bba01bd2dba11317bbaf09101bb8fb6c5ba1e8b27bb14b862bbe334b3baa5258aba0f732ebb871472bbaca911bb6ef8bdba64f615bb2f957abb27b2daba04c47dba04dfd1bab2462cbb7e335dba918522baa97d20bb529282bba42bcbbacdaa5dba63ecccba500f55bbaa099bbae512c0ba865d0ebbfde74ebbdd987e3909d8193aa53fe2ba57b3a2ba534e973a0fda0abb98a6273ad41bb4ba9bb95dbae8f204bbbae634bbee2cd5ba2bdedaba2d4c2cbb41fc56bba87367baab17e7bad0282fbbb95053bb8c0eb3bad42da2ba59d701bbf6f21cbbeda17dbac3f307bb60dd55bbc82609bb971845ba3c98a1bab92d19bbfdc044bbd34d78ba4f3546b9f02fcdba91152fbb11549aba78143139c67b9bbafc7f8dba8912913a3fce023bc4173a3bc5e3623f9918043ef50c1f3b379c6a3b90ef473f60c2ed3d0180b43a0543613b01432b3f14abcc3d2b84033b3b36603b49040f3f05bcac3d43ee393a82d20f3b11a2e33e1cff873dca883b3abdd9bf3afaaaab3e4a454f3d775b183a8f6d373a404b653e6ba10b3dbf6686baab09d1ba6ae1e73d5587863c46bd92390f56baba3f38823a59bb52ba6b2e583b54d04c3b0000000000000000ba3e8b3b996c2f3b0000000000000000ca85723bed792d3b0000000000000000df8c793b087a2b3b00000000000000006a25073b706a883a0000000000000000dbf5c03ac377353b0000000000000000b761923aed6ea63a000000000000000030d187ba31f4dc39000000000000000089151fbb01e3e739000000000000000074591ebb12560ebad0233d3a46b249b8c218baba950519bbcdbf163ac9fe3aba02c1d2bae77ef6ba90841db91d6c85bad88cf0ba3d1b23bb67308ab8e7d9a8ba1067a1ba35a9b6baceb3c6b9bcaf8abaec101339524ac0b9e3d74db9b748bcba3e5ea2ba7ec897bab29a5a3aebbc0bb941dc80ba5c4e9fba9fdd943a106b1b398911a7baec8986b910bbc83ace3722b934f296ba00be35ba802364ba0a36e9ba2ed43cbb84efb7ba3e6c02bbc53994bb005e06bb96c2bdba675008bb359c43bbf49d2dbb3286c9baabfa2bbb151a81bbfba327bb1d172bba29f100bbe03723bb13832ebbe44037b99fd217bbc55b82bb562ea3ba201e55ba7119e2ba224a4bbbaf6c8fbaaead25ba739505bb62d555bb34f686ba79a2b0b9d5bb03ba60814fba0628923a3feeeb38e2d8e8bac402d4ba92f1003a5955f3b900710bbb24970dbb7b6758bae31fb6baf5b322bb5bb0d5bada78bdba9d1716bb044fdbbae2db07bb33a5f2ba6be250b9983601bb69b107bbbe21d2bad5a121bbb4517dbb9fd322bb32aa71baddc3e9ba2aa240bbdb59b5ba1738a5b912f1b9ba4e5a4bbb944ac5ba6276d33acafb743a970262bb9951c7ba034abc3a7190ca39df5b423f0051823eb056b13a19afc33a20ca2b3f59b0683edbbe073b72632f3b59da123fdcdc463eb50f003bf929323b6fe2f53e1863273e3187533a3723d43ae2fcc33ec3be053ea60717b99f62743a14a2933e4944c93d68dc51394f6895b85ba7443e22dc853d30028bba2e8dd7bab7e3c63dce0e073d6e13a6ba7d5c94ba9639153bb843903a7f9eaa3a19c9933a0000000000000000ea12793befc8a73a0000000000000000b6714c3b5fa9013b0000000000000000cf0fa93b94dc0d3b0000000000000000d0af37396ac2d93900000000000000003256833a18867cb90000000000000000dec9a7398ce03f3a0000000000000000779b8aba6de466b900000000000000000f7e60bbbe0bc7ba000000000000000030cc81bac07da3ba091b283aeeccba3989e2e4bab8a309bbb343ed38193dcdb974a71bbba74815bb1fc728b9ef9134ba348317bb4555eaba458b67b882154fba5708bebae88bd6badfa42fba5f522d3b1ebcccba75612fbb85eb37ba9ba7c0b9ff7a8dbaafec6dbaafb25e3af9023039d55389ba7ebacaba2d6dad3a44345d3a9dc33a3795388dba40072f3b577e063bf4684dbae09873ba214f4abb54e007bb9f8705bb7056e8ba539d1abb0c3b61bb3f8effbab3e7c3bae39939bbaaf872bbba38e7ba0e1ff3bac1e4f3ba7e0e84bb7f434cbad0f37eba3ab83abb8e8f72bbc89510bbc749c6baa2d00abb6bf064bb5ae89cbae0b347ba8abb22bb90d66dbb8c321ebab2e8b7ba1b911abbd5336dbb59603ebb01eafd39a2f441bb5714003a35802e3acc59f4394e33ddbacf7da1bae5966bb9eab61cba30943ebb9beb01bbf60181ba65c898ba88b62bbb9356f2ba48cfb4bab576e2ba132265bbcbbecaba0aa41539f599c8ba03e832bb2ad6e2baf36986ba0f37b4baf0ac53bb35bfe9baf92aa3ba584bcdba611957bb8857fdba965d3fb973b14abae58348bbd28f02bb78c3113bc026a5b98b0521bbd137aebab0f0963a229f723aa7f5213fe2e6c23ef015fa3a7681233baa500f3fe1e5ac3ed743f73a585d313bd0cdf53e02b3943e044db33af5a5193bd193cd3e70ca783ed9e3f53a1b34383a4304a43e09f4443ec8c53e3af7f49c3a8479773eb23e163ef16a53b9e567adb938a1243ecfe5c73d9c62b6badd5b17bb936aa73d41dc4c3d670abbbacdb918baa03d2cba7c0213bbc5b7393af057833a0000000000000000e3f2443b8f840e3b00000000000000004bbc683bcb7e213b00000000000000000903303b4a3ba33a0000000000000000dc36b83a23cb713a0000000000000000ad35d73a680ba03a00000000000000006b3c9e38962c38390000000000000000d8a332ba98d9bcb90000000000000000fcd2ddba78d657ba0000000000000000927d5aba193821b995d2df3a82d093bad085fdba6a950ebbdfda0b381dbf68398140c6ba4d570dbbfadbeeb922ffd0b94265d7baa85cfabaf890ab39f20f7739cae9b4ba5664d1bad06a77b90cec0eb91b32afbaecdcc1ba29ac3239e68afc396d1b82bae4e5a3ba6553bc39213f1b39c9867cbad0048bba67c6a63a69a2a03a667e96ba1ab29bba1c4d67ba9e8eed3a043f54bbd19290ba7b603ebb05b2f8b9dd80f1ba04e5f2badd0407bb21695cbbeb4104bb9aab98baef9c30bb14a121bb4f5464bb368b47bb121211bb709969bbe3c906bba6979bba0e77adba34a257bb13acffba9b81bdba2a8e15bb343c78bb69ab86bab33c2aba6b1703bb01983cbb7875e4bac6a532baafa00abbccf73abb760403b9efb718ba049f013936f4d0b96d42afb8d1bc39373a9d79ba9e1d19ba72590aba5e3e26b9102c0bbbe7270bbb9fb40dbac9ef4bb9620b0dbb6a451fba087ba7ba04e47fba43b440bb51aaf2bab7a4e4ba0bbcd3ba90d94bbbc515ce396eead4bae704a7ba25d565bbe9b328bb4c8072ba4e165aba890926bbca01b0ba8be562b902b1b5b8e32f1cbbf38e03bbf83d483afc69323a68c912bb97e0adba35d8d23a5b233d3b3086013f4dba013fb13dca3a5f28133b4f66e53e8479e53edd44873a1613823b1e2bc43e2f45c43e33f4d83a65a81e3bf0bba43e25e1a43e6259f23a2aeb163bd32b833ec549823ee12e113ab32a423a4e17463ed670463e874186b9981b6eba370e033e4a60033ebe95a6bad31aaaba835b843d0d38853d25b381b93088d8ba7c5685395783da3964f5493a590c2a39000000000000000003cb503b3827ed3a00000000000000008a420c3b9e80b93a0000000000000000a9cb413bca84093b0000000000000000d9cf0c3ae6eefd3a00000000000000002fc68f3ae2aedb3900000000000000008141c3b96bab043a0000000000000000796dd0ba48c885ba0000000000000000036b2ebbc48d813600000000000000001bf638ba968495bace03d13a0bbb2eb9e437c3ba997809bb78a525ba6ac6033aad4edfbafbd101bbcc4118ba560108b9afddf6ba518112bb9c1dd4ba53504a38330b5dbada02ceba58b1c5b994879d3a3c0b00bb9e26c2ba81f4e53962aa6c3917ab2bba04ef99ba46e37939674dc239f8cc51ba1f69b9ba29c10d3a063d963ae51ee4ba1e6285b72fd0b73ab79ae13a18df0cbb2b22feba65e1f7baffe66eba3ed4f3ba936de4ba425a23bbd6586fbb3198e4bae4e3dcba7c3f13bb21fa72bb9eacf5bab5e7b9ba6eee3dbb38a04ebbe6db89b935cd8cbab13342baf47c62bb2596afba95d7dbba4963ddba72ae8dbb02aabebab183adbad85dffba2b2259bb037c90ba841851ba7126f5ba48335ebb7cfa2a39c4c9ddbabae82bbaab0bd4baf2417f3abe1386393c2dcbba783626b972d29eba940f2db6534047bb041307bb53d6c4ba447d38ba5d4c41bb43d80abb98ad51bbc338aeb99b6a91bbab5214bb3d8302bb8cacbdbae7a24bbb238910bbf73b0fbb5038a7bac68266bb6d6f68ba7a82e2bae83c85baab2e55bb4ce012bb70d78fbaa96a33b912d641bb2800fcba23206837f722443a6671f0ba8983fab91a623db95bb1133ba6a7c33eeb54223f2040dd3a19f85d3b3ccdac3e0d560f3f8813103b627d363bd652943ed3d3f53eec8e5d3a3534463beaff783eeddccd3e253d8a39583d4e3ab0b3443e3233a33ef5b0263aee0d80396b37153eb641773eb2335039fe200cb9ebcdc63d170e253ed16453ba31d7dcbaffe9473dff45a73db4358aba6878ddba9af1e1391e2abf3ae4879cbadaab9b3a00000000000000000e4b263bc01f0d3b0000000000000000521d403bb932163b000000000000000030956f3b5514b43a00000000000000005ebbb53ad2588d390000000000000000b5b99b3a08a36f3a00000000000000005b28e338a93364380000000000000000bdd992bac7fe33ba00000000000000002271d1bad0f849ba000000000000000064094bba15ece5ba88936fb9a76aed399de4cbbadc8405bbd0c43fbac223cf39d0f5cabaae040cbb8d1c61ba0a6c4c37c42880ba98ab01bbd0814dbaf6ac4a39982dc6ba1bd0f4bab5824cb82a4a513a01ea8eba22828bba184c9dba291080381e5860ba94b4c4ba19a087b9dd3a1d3a236359ba649f27baa653f8384b24863adb6128baa42a74ba20c0a439942aab3acfc095bacf599bba859892bacc5314bb4933f6ba9248dfba331300bbdb484ebbbd9ce7baedfab9ba0512e9ba3e8754bb96cb49bb841809bb5e95d1babf5d2bbbd61d42bb1bc1a5ba96e7d2bac83432bb09f9f3ba0c0094ba65392abb42c51fbbad86a2ba117060ba30ccd6bad2b851bbc8400fba66a669ba5630adba5a684dbba294acb9c90bf5b9540f30bafb91d6bae785cab7aa5dad3a090ac2babff118bb0c20c7ba8fea3039c2623abb44aa0dbb1f7405bbb49455ba0e0937bb31a2f7ba6f8084ba127bd2ba2f5b6cbb5ea137bb36145aba4130f438f6b820bb2ca5e6bab6ca3dbb1f72d6ba1eb272bb17c417bb2477f4bae3e349ba90bc2fbbcfcac8baafb4b8ba516ddd386b298dbb059da1ba8c1f6db848d0a03a5a3684bab3001abb756aef3ae7dcc83ab2c8823eda7f423fc2ca093ba3844b3bd7fb673e94a52b3ffd30fb3a74ef2a3b5189463e49e0123fa385df3a9986893bfdd6283e8edff53eb464d53a2f39cc3a566b053e6d02c33ee0ff1e3ad5911a3a2186c83df5bd933e5519013994a150b970c5843db0b7443e07702bbafb839bbabb48063d9a4fc83d18a73dbaa531c8ba526218390b03f53ab2a98b3a7584fa3800000000000000008cdc393b4e49073b000000000000000019ae343b6b1f1d3b0000000000000000d8c1493bb0fd933a00000000000000002be8053b5ea8933a0000000000000000d684c13a73f3753a0000000000000000b434f139af74b63900000000000000005bd110bb0f6c43ba00000000000000000a3090ba243c21bb0000000000000000959448ba1f57bcbaca8702ba9147ac39196fbbba6aeff7ba824e91baf1d583397829d9ba347d0dbb09d0beba367860b91090cfba72f12abbf2a8deba0b23cab889d158bad24d09bbaa79a7bad4189eb9000d74ba8fb7edba36417cbafc9fb139001273ba2af291ba67f508bbb9029a3a1dc11bb9d3b32fbbfac4da39f14ff03aeb8bb2bada5a183a9dd9963a39c70e3b78ddafbad75eb5398344deba575e43bb016ae2ba06e7dbbadd38f9bab0954abb57f7e7baacbbddbad20006bb5b3d6cbb77fbd1bada719fba4eab1dbb000f71bb25f983ba367466bafe03abbaa3112bbb2f0cc7ba1e74a2ba3f13e8ba672484bb145485b8d6727eb99d325cba66c510bb662f14bb3cbf2fba7bbcc4babb7daabb7f299a39fc5a15ba0615c8ba392930bb82d2c9ba0bff67397a54beba1ee60abbc8bc1ebb507e04bab5f43dbb96ed21bb103e45bb3a8ec5ba3afc57bbd00817bbe8fd44bb686ec3baf97c42bbcd09ffbafba907bb448a6fba1d6a02bb1c9fb0bac79055bbe0fcecbac87c63bbebf0ddba07c05ebbac234539a2d95fbb25e905bba13ea5ba2cdbd539c40d36bb773ffdba3b6fd0bab57d2cbad2445cbb82e70db937fa4b3a936fcb3a3fcf033e04a2623f1fb91a3b595e7b3bf4e5ec3d05fd473f13e53f3b1b99543bd884cb3dbf852b3fca8cbe3a90e24a3bd3e7ab3df50f0f3f6fb0383a5a5de93a288b873d8dace33e82e3a43a88d7993a08f24d3d6abfab3e638d7b3a2b1ee5b971e0053db898643edafca3b910bf92bab1718a3cc79ce83df21d023a3d201cbb21c528bb8b9459ba80fee13aed204f3b00000000000000005a85633b09a7153b0000000000000000ac71583b4ca2ce3a0000000000000000d7cc843b16a9283b0000000000000000ac2c273ba338993a00000000000000003ae2083b50c3af3a000000000000000003480f3a5ea483b90000000000000000291315bae98d23ba0000000000000000819f75ba00cd1bba000000000000000000000000000000000000000000000000b9ea8bba7879c7bafd91c2ba8961e7b95d537aba0a10b8ba1495a2ba3700b3b94df29cba75f204bb72f8cfba9febe7b9d57940ba00e11dba22f91fba17599839576b69baadd1bbba7403c4baee3153ba8ec8e7b965d581ba94e73dbaedabc0393ae4bab90c05f3b7793664b9516cd73900000000000000000000000000000000000000000000000000000000000000004af4c9ba3ecfcabac1e4a8babc3b23bb64b3b4ba6d2ab7baa8fb0aba93cf05bb1793aeba3a028ebade91b7ba7c3528bbfbd42dbbee9112ba9f7996bad04507bbe83dd0b8655a7dbaf6908cb886af6bbbda9928ba95ee6ab91d6466ba3cd93cbb89c3f4b965e719baaa2d5fba261930bb00000000000000000000000000000000000000000000000000000000000000006d6f32bb6342a8ba6e73c8ba3260e4ba38ce03bb1bb864ba78c6f9bafd3d46ba6b2829bb3422d7bafaa619bb7384cfbaab5eefbac408b2ba4c9f81bb26c6cfba15b4d3ba8d162ebb2b4e1fbaae38e6babe7c2cbb11f9d2ba29e720bbe0a3bdba2ab213bb64dff2ba83ee46bba00fe7ba000000000000000000000000000000000000000000000000000000000000803fade02d3b8e7b7d3b390c963bd93e633fa2d7493bfd88103b17d9a93bfece423ff438d83ac093523bd1328e3bc56d223f121a9d3a35560d3ba54a503bff92013f2913a03ac1d44e3adbc6de3a257ac23ea57420ba5e1fc038b4e2403ac59f813e95198539d95331ba0c9267b9ca11023e0000000000000000000000000000000000000000000000000000000000000000df22983bebc72a3b0000000000000000b976933b6d16493b000000000000000051c8823b457a0b3b00000000000000006148183ae050753a0000000000000000d229203b59b5ad3a000000000000000025dc673aaffbd53900000000000000002a479ebaa6445b3600000000000000000000000000000000000000000000000000000000000000000000000000000000439c24bbd128313c204e863ccf2e3b3c0b8b3a3a06cf393c0b23883c528f3e3c321bf93aad9f183c24525d3c42d91d3c6d2ced3a618f0a3caac1423c2838fd3bce71ad3a1084bd3bdfc71d3c6a15dd3b8db59039ce5d593b4b890c3c519f993ba78c83ba63888c3ae6e6cd3b4fc28f3a0000000000000000000000000000000000000000000000000000000000000000ef7e173bf8560abbb2953d3bdff2f4bc0614513b4f4097ba70ed71baf64a0abd04c6993b5f742c3ae7f165bb9d0012bda67a973b9b391539ecd33dbb3aab00bd4832613be6896bb9785a1fbb2974b9bc8a2cc93af93976baa74b9db909ba32bc368f443a8df095baf5ed5c3a3a044e390000000000000000000000000000000000000000000000000000000000000000f7cd05bef4d70cbde321aeb92a78603a1d4301becaf51ebde25012bb9e3e8eb93d84e2bdd89e23bde8a6babb9cd3e2babc34bebdfc8313bd7050c5bb508613bb072a97bd4082dcbc47b95fbb674528ba6cfa55bde66a84bc38149e39296aa9388dfbe3bcf5c45fbbee2db43ad331883a0000000000000000000000000000000000000000000000000000803f0000000007fb563c97f28ebd98ee9e3ff80457bd5ef9063ccead11bda07e833fe60098bc357ae13b5b6086bc7b6a543f2ded0a3a9f10673b40281fbc6eef213f5088c93b9f66043ba4e623bcf72ee03ed0f6623bbab5e53afb6864bc581e803e65eb92bb296ae63a2ce2a6bc5757923da5b071bc0000000000000000000000000000000000000000000000000000000000000000abb3143c6ea646ba00000000000000003a24ab3b21a2d9b9000000000000000038e7ae3b1cbb6c3a0000000000000000e3bb183b8ab0e23a00000000000000004b64aaba59cec83a0000000000000000d90913bb8a261f3b00000000000000002a8d10bbcee43c3a000000000000000000000000000000000000000000000000fbd26abb2c58b63b5530093c3e769b3b076ed1bb752b4e3c531bac3c60e5473c012622bb68c8593c7379b93cd848733c6b8e6e3aef94473c93dd9f3c57b0623c4291e33a9b801a3c18fb7d3c2b5d293c33eb9e39d30cff3b77a66a3cecb1063c2d1408bb93b5983b5eac2e3c4076b93b33361bbb08a892b96884ac3be4db6c3a8b7c92ba1c7831bbc0bd103b59a7abba27e0c9390834c2bace8a1a3cc5c0abbc8050b03a9cea6abb29c1463ce2a3c6bcfa87733b0c33aaba3ab9b33b07e30bbd66cf773bbd801a3986291f3b509612bd85d2b03bd48cdbb94d7595b928fffcbc380b6d3b5f1840b997d30a3b02b0b2bc547efe3acbc89fba466c363b23db10bcd6c30e3a1341b0bade27c03ae020993bde78a6b9ffb9beba5b178c3a8a612b3cd9ed94bd2c3982bc502f7fbbd3d46c3b84320abeea7a07bde3e079ba3c97993b589e12befc1548bd77dbddbb4f7ec53a50fc01be8ec353bdcea800bc9a50c13887ded1bd694c33bdf756fbbbe5f884b8d7bcaabd2fc70cbd958ebebb09366c392a7068bd1fe1a9bcd72550babe37bc3a63e0cbbc9c8540bbb05a8e3a2c010a3a9b1990ba5372c33be4ff0e3bbcaa0f3b0ab7843cf1fe08beb9429e3f4608983d42639f3c76db10be6fb1973fab38853d47b5583c2709bfbdda6b823fbbd3b03d2a2af93bbdb47ebd6360513f991ab73d986ac83b1a462dbd359e1c3fb7a79d3dcd85ad3b90b518bda496d83eb724683d25e2ab3bfd290ebd5ba6713e58be013d541a2e3c08fbecbc3191803df556013cb9aed83b1540e9bca0076dbd19be8cbca8dba6bc378c183a00000000000000008a529fbcd0173dba0000000000000000614271bc4ab7ac3a0000000000000000845d42bc62c59d3a0000000000000000041638bc06f8cf3a0000000000000000ffa042bca37ed53a00000000000000009c616ebc083d643b00000000000000002c0c17bc583daa3b0000000000000000b4c60cbc67a63b3b0000000000000000a0aff7ba1b398a3b669bd33b9fd3913bbebd74bb1a632c3c281d753cb52a273c728f3e392a04313cf51d723c67de403cd8ebe3b9fe9c3e3cef657f3c72d5653c6e24863a857ef33bcef9433cb8b11b3c421544ba1dc1c63b573f4e3ce1900f3c0b486bb914162b3b3e450e3c9919ae3b335f02bb8bd92039070d9a3ba945373b7c7cbbba67b602bb67fe9f3ac96348ba0f16d23ac4f9afba3633133cb543b8bc1ac8463b8fcc7eba23f2463cdab8f5bce26e9e3b2449c8394051133b2a4709bd699abd3bb6525d393468803b6bc102bdf32d803b1de3973abb81243ae8c0d0bce241983bd3a1b2b813855b3bdb3e90bccb4a383b635be0b907c05a3beaeff2bb554f953a9f02c0ba7c86f73ab1b7733b601420ba3daa89b9700d2c3b9a50083c360f3abd02e45abc9e2b3ebc87afab3b1b27d4bd15af2bbdfc5a51bcd2ad9f3b4fb9d3bda53957bde70381bc26d65838ee01e3bd65776fbda3a268bcdd6b8e3a173fadbd711041bde01b50bc34e3b1ba557895bd3aa22fbd3c73f7bba27a8b3a1beb44bd0becd8bc2903b0bbfc5fea3a0f69cabc747d1ebc7de09c3a38d9023b84bf6bba453a653be170d53ac8e9033bfc17703cd79205be2563843ff08f833e4e59a53cd9e417be87bf833fbdb67e3e2f8f613cfa4bb8bda08d593fd58c763e9121413ca965a7bdd932393f82fb543e854a023cfe0a5fbd43f9083ff3f2293e5e45ce3b92985dbd540bc33e388ffe3d8f7f963b546030bde4e4613eb786993d95b5363c859724bd73be8f3d5bf7d83c5574fd3bf421f3bc391908bdfe7431bc24d33fbd92761e3b0000000000000000221d4dbd7e9ab63b000000000000000034e303bdb024843b0000000000000000982f01bd3921553b00000000000000005b8ebebc80c5753b0000000000000000d757dabcbc487e3b00000000000000001004c3bc1a1a803b0000000000000000b6c3b7bc6bfebe3b0000000000000000e07778bc8bf1583b0000000000000000c80f1cb8d55b763b11466d3be0e6203b1efbd7ba64d9253c0edd2e3c3676263c1a0cafb9ed031e3c1bf7763c18b2663cf07dad3a1944153c45f15e3c8155523cb9f9cf3ae373003c75434a3c9575373cacd91e3a8dbdba3bab75243c84f21a3c04b5e2b9952e0d3bbaad2d3c5a079e3bc542e7ba684d8b33e65a843b81d3563be1063ebae9cdaaba45c0b33ab4c103392688363be0d38039e620fd3badadcabc4786ba3b9967e1b99c37f43bc7e8fabca066d43b67701b3a707cdf3b7e0dfebc39cbf43b670de03a2794cc3a3315e4bcbe7dbd3bbecae43a668bd63ae663c1bc776b873b0f04333a93740e3b63977ebc70c1553bf6b717ba8339823bc78e0bbc3bce713ac7e5c5ba1063753b26ff663b309caab9b39d9abab5205c3b25c5b63b5357ffbc9ed777bc7dad9ebc438a813b2cdea4bd5cad49bd6365bcbc6f35af3b7737cabd882e89bdc842babcd6c70e3bac50babd127787bd77ffb2bca53d28b98253a5bdc06b70bd8d379cbccd2bccb9132b83bd1a8141bd657b46bc2d10bc3ade7d33bd2867f6bc67f9f7bbb191803b95acafbcc7a568bcd68fe53895d6733be151f3bad6228c3afc013e3b1b58593b22c92e3c8b1ce2bdc325573fce5fe73e02fb923c946e01becc1a563f1dd9e23e60b6513c0b99cabdb75b3b3f7142cd3e1414363c04e89abd2b78183f175fad3e8db7e93b9baf74bd26c5e93e490d8a3e75d3183c4e6763bd9711a53edb90443ebbf0e63beafe3ebd8d803e3e7262f13d0443103ce5e228bd6753863de67d3c3dd121a43bb0fcf9bcd56eb3bc797d1cbccc878abd28a0b53b0000000000000000c1cc9cbdbbb2153c000000000000000041bc72bdc50e0c3c00000000000000007f9640bdd893d13b00000000000000004a231cbdc7bab03b0000000000000000c65917bd3a9d7d3b0000000000000000f9b00abd268d283b0000000000000000d7cdffbca187ca3b000000000000000074bac0bcc0fd2f3b0000000000000000d539873943c95f3b55cd353b057d783b35f5fc39cffddf3bd74f193c5d2a2c3ca4bac539cb39053c57b7373cd97c473cf044043ba385023cb9615c3c7b924d3c13bab73a4e43ad3b8c2be53b1c10ff3b1999f3b62c8eb73bc80e1a3c0e64203c45f880b9550f2d3bde5db93b6d98b73bf67facba26b8483a841e6e3bb469683b13b9bbba8e6715bbb0cd7e3a920c553ab26eea3a1dc59c3a16edb23b775fb3bccbd1b33bfcffaf3a6b69c13bedcddbbcc6fee03bb0110d3b8404e83aec9fcdbce523ee3b9167103b76d54c3ad360c7bcd592843b6b8e1e3bf595eeb98c069cbc6b2aa93b01110c3b59b9e13aa5a85ebc1adc493bee3982b93eb76b3bc3d5bbbb361a913ad949aeba6867413bc195b83a749d28b9f424cbba4e639c3b0b4bb33b2cddc7bca72499bcb7ffbebc278b983bd74c82bdc99671bd41aee8bc36ff9b3b64229abd998894bdda90e1bc696cf839eaeaa2bd89999bbddb12d8bc510791b93aea62bdb4fd5bbd87c6a4bc138832bbd3265fbd760561bd7ea98bbcadd7213a67da0ebdc8f810bd6217d1bbf72a0f3b402a8fbc98118cbc57909eba1de7983bb95c06ba77e3903806994a3b86168f3bfdddec3b0fdcb5bd6674253f14a6253f03df4c3cfc09cdbd0c3c223f1892233f8245203c6c5094bd7fec0c3fb1850e3fbed3f23b583782bd6279ed3e9b5cf13e41cb963bb3631bbd40b1ad3e2e92b13e176bb13b98503fbd0dcb813e637b873e87d99e3b5b4824bdabc6163ef3041f3e0335013c0e271bbdb7ba593dacd77f3da4134a3bea43e5bcc0008cbc40da31bcf8f3b6bdb2a4ea3b000000000000000048a4cabd42c44a3c00000000000000003bbe90bd40e01e3c000000000000000043d973bd1a3bfa3b00000000000000003e070dbd4683aa3b00000000000000004bc831bd50a2af3b0000000000000000ca0b1cbdf9b1953b0000000000000000e73413bd91ebaf3b000000000000000003aeeabc1c66503b0000000000000000c8f09339dc8af73a866c3d3be31f983b435decbaa81ed63b921d0e3c160d453c6a5794bab4ad003c4f2c653cf05b7a3c9d4985ba2ef1f73b2cc6413ce415713cf69a3b3a5ac1d53bbb2e303c188e513ccb52d1b9b793913b3c9a0b3c793a2b3c1caad8ba0821603b1da9a43bb586183cd41a93ba85141739f5322b3bd4378b3b312576bab89398ba1ad25c3af6fc673a6c20443b53166e3926d49d3b10eb8cbc068bf03b3b72723a7c4cec3b712ba7bc0c48003caa14a13a4e4c7e3b334da2bc719e233cd0610c3b7df67f3b529e9ebcf92ce93bcd67283b03731e3a776e76bcf666aa3b37808e3a58c7143b8a0b23bcccb1293bdd1d27b99eed423b7adf25bba745203a68dcb2ba47c1593b3d83d53a0954afb9e4abbebac69e513be214543bbea5aabc1064d3bc300ccfbc0d52a13b72275dbdaf339abd6f6105bd5b57d53b8c5e91bdff35c0bd6be202bd53ac543bc7118dbd6a89b9bd72c601bdbce20bb981407abde4c69fbd624ad6bc91b24eba385c42bd43487ebde6ae9bbcacad153b4bc503bd5e1b2fbddaa710bc931d443b54fd5bbcab09acbca0d6be3aa344863b6d6c91393693d9bab35aac3b963c823b2714a83b1a5489bdad7ae63e7d5a573fc84e173c80729fbd2cbde03e93dc563f0228013c00f979bd8d3dc93eec5c3c3ff9b0073c839758bd04c5a93e653d1b3f3eb7973b475e29bdb075843eace9ed3e1bbfb13b6a351ebd09443b3e170fa83e104a953b563111bd5f94d83dfd6c473eaf68d63b18f9fcbc6467153d7c49963d73868e3b154fb1bcfc8583bcac7b81bcd945ddbd4c9e2b3c0000000000000000efd501bede218f3c0000000000000000ba08c2bdd945503c000000000000000094a397bd4f06423c00000000000000009eb05fbdfa6af33b00000000000000008ba148bd6d69c53b0000000000000000f6d338bda659ce3b0000000000000000e83629bdfb26e73b00000000000000008a31f7bcdbb22c3b0000000000000000593e6fba5fc9cd3a44dc4b3b30caca3bd5d619bba296803ba289223c6640743c16c845baf39db03b5315383c0dd3753c559e40ba5660e23ba1e05a3ccf39853c4ca8f4b86af3853b9fe8143c84634b3c06aeddba1fe9a53b6340033c2d3c523c456e6aba223b2f3b5dfbbc3bf4fe083cd88dd0ba6763c4392310243b71a4b33b48d290ba821700bacc27a6ba96aaa53a943dab3be07e87ba07c19a3bc0261ebc4c63133c5dbba4ba947bc43bd8442cbc2270273c0e404e3a60b4473a47c352bcf4b91b3c38dd103b784f813a1c4749bccd4df43bd4fac53aa13d063bfb6e2abcb240b53b44809d3a2e4cf23a1e57d9bbef6b6f3bf5548f385e520f3bdac756bb52256238e51defba3daef03a5e62093a5e85c1ba6829babab432123bee986f3b048b90bcfe9a27bdde16c7bc54d6fc3bfed138bdb8c8c9bd5eff04bd7142143cfcb961bdc2b9d0bd297f08bd96baf0395a3775bde52bdbbdd3fc0ebd743aac3afceb42bdce38abbd987de6bcd02ca7b90b5d24bd44e794bd1954b0bce4bcbd3ab4a1d1bc8c2641bdffa045bcec8e453bfe6803bc9a1fc5bc8dff603a69085d3b7e1d873b722efbb985eebb3b2027893be33e2e3b5de63ebd7770833e7d55843fec4aa33b92ae4abda1dc793e66fe833f6157963bc66608bd52666e3eb6725a3f3d00973be8da08bd425f4a3e35d73a3f2c2bf23a1363c0bc9bb31f3ee95c0a3ff751953bb3f3dbbc043de43d2d4cc63ea9698c3bafdaccbcaf00843daec4683e93b9c23b573da9bccfa49f3c6e069c3d95d3933b7aba75bc51ce8dbc6c1cf0bc0b7705be4404683c0000000000000000085e13beab8ba23c0000000000000000767fabbdab03503c000000000000000064379bbd7b8d463c00000000000000000cb946bd693c013c000000000000000050473abda60dcc3b0000000000000000b9f91abd9d00833b0000000000000000a2f31abd0d8f173c0000000000000000acf4f0bc30acbb3b00000000000000001ca2edbaa7f0c43946a3833b780f103c49f383bbfcb4d03949964d3ca79bb03ccacf45bb2d643a3bccc8793cdd8fb13c652e75bac4ad7f3b3d675d3cc7d6a53ca75da0bab255a73bec4c2b3cca4d7e3ce703b4bac6203f3b8dfb0a3c4ce5633c9702deba3136f83a74f0a43b8ae12c3c8c4ac7ba505649b947e54e3a1f7aaa3b82023dbaab7626babd41ecbaa1f6123b8454b43b697a2ebb1406883b540b07bb3d6a373cf8df89bbb1c89f3bc0b8833a4fe55a3ceb3415b82373113bbd7415bb0df7443c8fcf973a4df2993a620bbfbb7c8e1b3c210d0e3b100ab1b73984a7bb2130e43b7e53d63a5336a43a782718bb8103983b3ade6dba44a3b33a282a44b830fdbd3a722a37bbd330753a36310d3bb65505bb136decba88c0903a4e642a3b41599dbcb4298fbd371cb5bc3b38093c44d107bdd08308be9c7fdfbcbb3a343cf21a4bbde65910be46e51bbdf5a7823b232d4dbd4d3302be867e1abdb0428eb74b9a2fbdefe2d0bd790a0abd0b80a9ba2df106bd4599aabdb2cec0bcd686b13a04b694bca2e868bd93ec41bcbc4b2b3b018f5abb1811c7bc852b173b68ac0c3bebd8e23b216ac9b9114e033cf3ae453b3c890f388c53a2bc3d2c963dc7539e3ffa1bf3b9b132a1bc3fb8783d26fa973faeff9939b0bf74bc8518a13d88a6823f47236b3a0d0752bcfb6fa03d0d47523fea3bbe3a79fc49bcc14a8b3d375d1d3f9f25ed3a96565fbc054d3d3df486da3ea145123bd27258bcf1ddbe3ca943753e5d38a13b051ad3bb074d85398414883d4ee4473b0c5bdbbb65afafbc844c62bd1c9d08bed2a1833c0000000000000000eeb40dbe2e049b3c000000000000000085adb2bde901593c00000000000000003a4b66bdaf221e3c0000000000000000d4070ebd04d0d53b0000000000000000e1e8fdbc676b863b00000000000000004ac2f8bc04d0af3b00000000000000007248d0bcb8420e3c0000000000000000e565e7bcb611a93b0000000000000000000000000000000000000000000000006ae621bbcccdcb3a001b343c6bd1853cdd401ebb6ff77b3b306a403c04c58e3cadb4b8b9d325853b74372c3c355b593ca1df81ba783d9c3be837033c6a12373c494befb9955a5d3b3079d53b3f97313cbbd8cbbad77acd3ae00e6e3b547f083c5915b4babc26d93afe7afc39baf2be3b000000000000000000000000000000000000000000000000000000000000000022852e3cea70b0ba1b7d613adf3aeb3adc6c223c5b2ba73aac81bd3965be01ba0298173c3b2a313bf15a0bbb823a7ebb2b5ffe3bacc70f3bcbeb8eba411b79bb6c8a943bf3a3ee3a5fb5bfbaba6affba29fb663b6f0e87393408183a8c9eb33a859a9d3aa2d462baa5dc863a245406390000000000000000000000000000000000000000000000000000000000000000656a0abd466a06be69c4f6bcb54bf13ad6f81dbd3eff01be2f7f11bd9f12dbba70631fbd180ae2bd409c17bd095faebb72880cbd8e64bebdc06a05bd464da1bb35d3d2bc408596bdaefec3bc21ec8abbd88a57bc59e756bda25969bc0d055a3a86b93e399fbde8bc7bf997ba08699c3a000000000000000000000000000000000000000000000000000000000000803f8d43b1ba43ac023cb82a5fbd20c99e3f6db6d7ba3933c53b2dcec8bcc100843f4f2b723aaacf863bdfabc1bbd488543f6012ff3a9432573ade3c09bbb803223fcb79963a5f4bc1baec4d8fbbdd94e03e1679fa3af0f88fba538433bc78cb803e142d613af9f65dbb65cd93bcf9a6913d0000000000000000000000000000000000000000000000000000000000000000bb3e87bd13854c3c00000000000000001ac500bd7531193c00000000000000004df924bc6c8f0b3c0000000000000000b2800bbb71fab63b0000000000000000dd982cbb42f15b3b0000000000000000b8d308bc73dcf43a000000000000000037e78abc4a0c813a00000000000000000000000000000000000000000000000000000000000000000000000000000000e59e6c383dc1133cdac9443c8dfb053c012bbb3a29ec193caa21543cfe4a133c2b7f5f3b2d56063c57314b3c72120e3c91305f3b0f2cef3b39ac243c4e53de3beb41373bb4ed993b706e043ca773cb3bb933f3b90cfe983bfd850f3c5fc7d03ae7e74eba49064f3afab8a23b0af0063b00000000000000000000000000000000000000000000000000000000000000006eb59d3b0e64a3ba5c53ce39f7a322bd9131a23b9783833aefb380bb516023bdd2e4943bc02c0c3bf1da23bcc48f25bdd0c99e3b72aff83a780617bcdc5c0fbdc6c58a3b04ecca39b4168abb1d39d7bcd124203b547a95b94bb56d3ac7a48abc1f3da239b1768bba84ec8b3b0a9e3cbb00000000000000000000000000000000000000000000000000000000000000003a67ccbd9db825bddd50ffbb63da63b9dc78c8bd74dd2fbd43b853bc01e69ebb1f4eb6bdb76233bd62ab78bc65b1eabbed5499bde80c1dbd6f3564bc3302d7bb217378bd0771f8bc61f024bc266b88bb110532bdee2a9bbc389574bb84ec0aba82e2c7bcfaf8e2bbb66d8a3a2789163b0000000000000000000000000000000000000000000000000000803f000000005353093c71241fbd8d7d963f70be88bc43c4e93b902f65bcd178793ffa79cd3be3a6db3bb970dbbaaf914a3f44a89a3c55d6633ba35ff4b9f0ef1a3f5b959e3c1babcdb8add9efbb4a2fdb3e2aa02a3caf77dfbab5eb7cbc4f03833e4dd589ba7a893ebbecafdebce41bb33d0ddc80bc0000000000000000000000000000000000000000000000000000000000000000a00b1d3c2c90be3a00000000000000006648523cd1efbd3b00000000000000004c32693c2200033c000000000000000097573c3c5573c83b0000000000000000ea96a63b1e829e3b000000000000000071307bba958c4b3b00000000000000008787d5bb189e473a000000000000000000000000000000000000000000000000a9d4cab908e5603b0cd6b23b22b7243b291c76bb1a8c233c0321673c3cda313cbfb79f3936be283ca0ca8a3c16333f3c45710c3b5fc9193c11c1813c55ec3b3c42e4063b16ea033c9af3553ccc27153cd3c2593a4e32c33b4ddb423c89cbe73b1aaefbb99c26263b15fa0c3c6827ae3badb21bbb9c00843966cfa73b7851ad3ae996a0ba429bf9ba5f9c003b8ba621ba7e6b373baac991ba06a7f83b2222e9bcff3a613b358b0cbb473e3b3c338e13bd772dc33b6b70b2b87324183be22432bd577dbf3b0813763aba95d2ba10cc2abdcdd3a73bd907de3ae74282bbce9111bdafc8743b9142473aa3035b3ad444c9bc0c08303bcca752badf839d3b64a252bc7940b8394ffbc5baea74e83b95f947ba514103bafb9ab7ba9addb33b3740d43bd60756bda11ca9bc806106bc53236b3bdf00cebd39cc20bdc98f29bcd7a0973bacc0debdc61151bd718389bc13ab23bb5702cebd261355bd7d7d92bc7337adbb50fda5bdb69c37bd605989bcc84ec8bb4fdf8abda31812bd261d35bc425d1ebb30d040bdd62bbbbc7fd39bbb5882183a9d5fbabc9b35f5bba1ddcb3a00693a3b6e09fdbac7ac483b2131723b0f6e6b3b25e8da3b7c7cb7bde2cf953ff287d43dfab4f73bf4e3c0bd04488e3f7163c83d76ebaa3b66fd5bbd2c20723fa447e53d811c7b3b62300abdb976433f1a45db3d23f32a3b2778c0bc03dc123f72e9b83db76f02bbe873eebcf9ebcf3e37a8823d58a237ba750b0abd79b1733e1cb9063d2153833b747e13bd13d4a93d88a7883b9c66253baaef0cbd707223bdbc1ca2bc2a488cbc930f6bba0000000000000000417c84bc8d4220ba0000000000000000f87129bb8fa2833b000000000000000041fb923a5cebb83b000000000000000027f3b53acdbec83b0000000000000000681095bb0c08603b0000000000000000f53a2fbc3f6b473b0000000000000000802341bcaa13923b0000000000000000c9675abc6b688e3a0000000000000000e77f27bae6d15c3b6a049c3b017b3f3b81258bba3d79143c7626283ce5f5053ca099d83a8e170a3c2442393c2e55203c1326d43a75d70e3c623b773ceee72b3c9235133b4aafc33b297a3a3c345b053cbe42883aec2ab13bfb342c3c9587f13bc8a421b90bf93f3b49f5003c4b639e3b090e00bbd918c438a27fa43be2574a3be8d1c4bab39690ba146d3d3ab68c7fbab80ad03a0914f53912e3e03b278dd9bcaa865a3bcd84b83ac081fb3b96921bbdc3f6af3b3b4a073bb6110abbce8620bd1445ce3b4286343b691db5ba38451ebdb647a23bf3eb163b8de47cbbe16cfebc86f39b3b5bc4853a34b3153a4850b2bc62110c3bafb20f3a144c503be31d58bc979ed2398c1bbaba3972bf3b6c514cba367795ba713093b9d782b83b8e66c23bbc9406bda91587bc438d5cbc418b503ba481a0bd06fd2ebd34caa0bcc1c3d73ae326a5bd2a2550bd3c4bc4bc18c0bdbb223eb6bddd6369bdf3eac3bc0654d5bb6adc8cbd73993cbd3c57a8bc0805ffbbae357cbd4f2827bd565860bc31c480bb333724bdb285d7bca25816bc3bc19738d888aebcd26436bc05999cbabb5e5f3b64c820ba65b71d3bf7fa5c3b237e883b97c2c63b2ec2b8bd785d7b3f76fa8a3ef1fe173c3b3bccbd4790763fe773873ed8f9323c605656bdabda493f1fe57f3e4dcbb93b1ada46bd7f972c3f49875d3ed0db6f3b26a60abdb728003fe459303e50f65b3af10223bd71ccb93edb7eff3d876960ba851516bd77de5e3e02569a3dd0b99b3b41042fbd726ea63de402cf3c29cf523be38609bd3509bebcb86e52bc369110bd4706103900000000000000002c500bbdd0b4803b0000000000000000c3c05dbce0d20c3c00000000000000007ef33bbcbf54073c00000000000000002010d2bb1b58003c000000000000000041215fbc9e57b33b0000000000000000a2f289bc55bf273b0000000000000000fd51b2bc4c64813b00000000000000000b1898bc33ec1d3a0000000000000000cb44443a6ac9393bcc74603b09a61c3b3104133ac969d63bf63c203cc4fd033c674ce93af034f93b2dca573c07473c3ce635f33a171df33b9950523c04083a3cdd2f2c3be6aeeb3b3ad9243c5ca81c3c8f931e382d1d483b0696383c738a263c3117b7b88789253bad18ec3b8dd9ad3b2c9f99ba2a1359ba4bdc903b90f10e3b02f729ba9d3700bbe2f3e33a9ea3de3990af033b9e777d3a91fe873b4da9d8bcd1b5c23b08dccf3a0af0b43bd7a416bd8258d23bb8b1403bacb3963949891abd135dd13b1a784c3b199fccbad6ea0dbde24cdc3b37a7583bd8d927bb5960ebbcbcf886baf3f77b3bd92cc03be1c6c4bc10a45a3bfb1cb1395653793b0b5426bcf774b337f122cd3864aed83b41d30bb9c79c3aba0dd8cdba633dbb3bc8f7853bc3b0d3bcbb177bbc83dea0bcc0d7993ad3db84bd272f3abd106fecbcafa81dba8ff3a3bd787b78bdf7f3fdbc5129b4bbd59a9dbdfd9477bd5a2ff1bcdc4404bc70dd8abd752662bd5b4bd2bc6d5ff0bbaf4957bd467f2ebd014996bca71917bb2e1819bdefeaf8bc14c222bcd7f0e037a8a191bc92765cbcc80108bbeaf1793b860f7eba89ffac397430413b2e42a83b65388b3bb3c596bd94b54d3fc052e63e1dac143c759eb1bdd7c6493f1223e13e8dfde33b55f779bd7b762f3f70b3c93e6702a83bedc33fbdc57a0f3f1ff8a93ea39c6a3bcbde1dbd3561db3ebab4863e26a489bbeef519bda5299c3ec6a2443e53a6d7b867112fbd18143b3e4d00ee3d8dc6113b27872ebd49d1903d9c2e3c3d6369873affdf0abd2ee485bceb8320bc9d0342bd0ba9473b0000000000000000aa5e4ebddd1d003c00000000000000001c96febc58f3293c0000000000000000dc9ab3bc3ef4373c0000000000000000cef38abc5987073c0000000000000000460adfbc79c5c93b00000000000000001ba5d0bc8e05453b0000000000000000545deebc7b10113b00000000000000002e75c5bcc92dbdba00000000000000002c4dd43a09e7c43a9a2f0a3bc00e483b660a9939388ac83bb12a173c0a74073cd01b023b4460ce3bafd4293c7fd3283cf3a01e3b9cbef03b9987463cded4403ca73f2e3ba3a7713b3432e43b2898f83b0e74913a37c3a23b770b123ca465153c053164b9e61dd93a9010c53bc0b2a03b8d1e93ba0fbca13856cf8a3b3536743b039ac1ba2f0614bae7268fba70c7d5b910bcb5395ba5863b0cdb5d3b0a2ac7bc4c30af3ba5631a3b6b1a823b7db405bd45b3d03b6923703bb200bfba82b102bd48eff83be57f883b2db33cbb81a8febcba48763be04f4c3b7d42a9bbe546bebc5f01a73bf74d3d3bbd0d813863ff96bc5d761b3bd8908c3a6d8b913b43ae1abc73dee53901bda2ba6cb6bc3bcb8f29bbb8651abaa60a993a63fdcf3b3b7c9a3b099ca6bc31f288bc0a59bfbc09610cbba82369bdd5ad48bd338006bde17eeaba75c386bda43f7fbd809c0cbd6b49f0bbb24f8fbdd8088abd3b0510bd389122bc392949bd8dff45bd19fcd5bce99d1bbc50de4bbd517b4abdc733b9bc6f9bbabb6432f6bcf3d0fcbcc6b13ebcec7726ba2cc688bc029e6dbc3f563fbb1c1c783b2da41e3b1f0ecc3afe023fb64cd3893bf39a863bb6e875bd6e59203fce7b203f94e0063c5d118cbd6c771b3f61641c3fcd9bbf3be06334bd2c54063f7949083f49f8a23b1c7c25bd2c1fe23ed229e83ee731a73a9b7dc1bcd40fa63ef173ab3e0842c939eb9713bd49fc783e87ab823e9bd500bbe89013bd831b123edae61c3e0e05933a410b16bd8e77643d7f1d873d8695e5ba3974f3bc761689bcddb721bc808773bd46109c3b00000000000000006fc082bdd632333c00000000000000001db115bdf5253f3c000000000000000093cbf1bcc3802d3c00000000000000007bfc4dbcfdfe193c0000000000000000ea49c9bc2b58c23b0000000000000000b7b2e9bc51a54d3b00000000000000004a0f0ebdde45003b0000000000000000a554e5bceb2a0abb00000000000000002d18ef39977d183be7381a3b8a15323b2b8900ba92b3a83b5bce0e3cd523143ce5635a3a87a3cb3be8e44b3c1d494c3c2ea51aba2222fe3b5724233c0b384e3cd8b3ec3a997ba63b15b8333c2bae393c37a3ed37a34d6a3bc098003c1a641f3cae208bbaaa02e03a469cac3b91c40f3c62efc6ba3c0411375c313f3bd0ca683b151b54ba61b4cfba7a5b473af019c83a970b393bc6d3e23a480d533b26ad9ebc70f1c83b6a67473b83a5a53b214ecfbc70e2f43b0e9e8f3b87c30b3a65bfdabcb85d123c13035d3be2c28bb9b0eecbbcc345d33b2d62913b145ee6ba5962b6bc6ba29e3b9dcd163bdaad023b95fd56bce224a33ad1a9fd3a8555983b8d4bd1bb000917370c145cb9ba64b43b330deb390f52c2ba5ae498ba4c15a83b0cf5683b9826a9bcf73ba6bc7e8fd3bc3921003a31334fbdfaec77bd4e7818bd707b3bba385c83bdc83f9dbdff0025bd756ef0bbcd8680bd90929cbdaf6a18bd077908bcf36762bde49187bd41e209bd810223bc100a33bd4ffa5abd8297bbbcf546a2bbb873ebbcfd8019bd3dce78bc0da9643a68d44ebc861e97bc07ce3ebb48b2a33ba856c239a79344ba1aa1533b8687b63ba666303b7ecb40bdcd65e53e0c1c4e3f1a9e983b9cce5ebdf647de3e65984a3f3095773b169e1dbd793cc53e0bcc303f06eb483b7d2df1bcb52ba53efbca113f76dab63a8aaddcbc7c9f803eb686e03e95beafbad439fcbce2e0353ec75ca03ec9b554ba4eca05bdddecd03dd1cb443e3badd83ac41804bd3d63113dc728a13d72f03f3af227c8bce78a8bbc40e640bc6a4e98bd29ecb93b000000000000000016e3a6bd2e7c493c0000000000000000783955bda5195f3c0000000000000000bb5227bde7e57d3c00000000000000008dd1d3bc11192e3c000000000000000018fcebbcae0ec63b000000000000000000f905bdcccd493b00000000000000006be715bdc4730e3b00000000000000006efcf5bc559a01bb000000000000000033a96dba89c2c33a11c1273b552d963b712c01bb51ee8e3b4cd0163c7d5d383c02709638325e913b03431c3cdc70513c125e063a23f8b53bc503443ca242673c318fd53925408f3b0012103c53c22b3c80c3eab94a6c3f3b469b053c550f273c63cd99ba5aa5523bdcc3aa3b9c7ded3b9276a7ba870a5fbaeccbde3a6085943bef667fbacd5186baf3fd7a37f447893a2118273b9114b43a3875c33bff1c43bc4e1ce73b28a4dc3ae062cb3ba33488bc5ebaec3b09d2723b5621123922939bbcc7f7013c61e1933b160c46b940149cbc7a10bf3b67c9863bae1306bb6e8584bca766a43b94f9453b1fcf3d3b211122bca911233b7936ba3a2b84213bea77c1bb2c274c3a421c0739e38aa43b9aa1c03a7f1ffeba45aaa1baf8ed5d3b0a98633b615ca7bc05cef6bc4af8cebc6a53813bc1d141bd61109bbd0b7a1dbd0ebbde3a23e157bd3063a5bd9fef25bd9d05e6bbb2b86dbd3a5eb2bdbd4b29bdf1c915bc7d7a3dbd61668bbd197e09bd8ff015bca9631ebd6c2f77bd60efddbcdfbc91bb3117d1bc486525bdb8f877bc5fca4bba1e2c10bc9ff29bbc8d8cd5bbf344523beb14103b700538ba6736a53b199dda3b37dc94b9038612bd34258a3eaf9e7b3f4614963a889518bd72c4843e5b59773fca4e2f3b5177a4bc908f773e5b4c4b3ff240453a966aa6bc76f0503ef6202e3fc83d4139ef4a7dbcc973223ef902023f878ef6ba1a8bbcbc182fe13dd7dfbd3e12e9ceba30e4bcbc31e8863d3366653e75d3193b2510bcbcb4305d3c352fb23da1650f3b2ba788bcba4c9dbc5ac2a0bc00a5b6bd9f6ed33b0000000000000000df22c2bd805a583c0000000000000000790433bd19af5b3c0000000000000000e7c617bd0a38583c0000000000000000eaacadbc61f9273c00000000000000009bd8d6bc750ec63b00000000000000006565e4bcc705aa3a00000000000000002fae0ebd5c74b73b0000000000000000dcf6f6bc2c1cb0390000000000000000be1af4ba4154a23a17d8783ba30db23b438c9cbb0fed363b8358293c38e5703cefb62bbb03b1893b18b54e3c7141843cbcf0e7ba2728a33bef29443cbbfe7a3c5a70a7382570933b05d6113cfb4d563c582d01bb3d4a6b3b5e61e83bea294c3c2fd7bbba0f14d0b7182bb13be2680b3c6fa512bb40e39b3934eaf43a90d39d3bb0d655ba30d0bdba79e42cbad09dbf3a2d64713bdc55e0b73b41b83bae75a8bb7d5e0d3cfb6e863a18b4083cd2b387bbae34293c5d2c673bb903593b85fd2ebcca8b363c84f77a3b3e99873ac5d43fbcab88dc3b6c49a13bf9c4ccb9199a3bbc7a29cf3b510d2f3bd86d1a3b3131cbbb5d91633b84dbbf3a7167833b00a86cbadc6b50399385beba7346533bc5a9343b86f899ba4b4186ba077c513b21678a3bccd4ccbc3f374fbdb666d7bc2c4e803b857e2bbd876bcbbd320e18bdf30d7e3b8b2358bd3fe1dcbd8a2337bddecbbebb844156bdaf4ecebde50235bd560025bcfb6a3abd87efa2bd9fa519bd9b6c31bc8e280cbd9a658bbd9c85f5bc824487bb7e30a3bcfb4442bd0df286bce87d2cba5e73b9bb6a8bc2bc38261dbb179ab83b6f31943bc352e4ba6ca1963bb3f3be3b135cb1ba7f8d8cbc5c44d33dc0af953fd76438bbe767a0bcc4f3bb3d86aa8e3ffc6facbaf7ee0ebc46eed13d59cd723f5e51a9bab996dfbbb62ac13d6f99443f0fd376ba7158e0bbbb1a9e3d44b8133f86cbeeba72de3ebc68e9493ddf01d23e05b066ba348a68bc4a469f3c1750783efc1e503b7e3329bc90c7b7bba105af3d0154e03af8ec2bbcd5b0dabc89011abd5d0db6bdd522eb3b0000000000000000a82cb5bd71a82d3c000000000000000029ef33bd30df513c0000000000000000e9b5afbc96ff4d3c0000000000000000d46b35bc1f0c283c000000000000000040fe7dbcd8d4b63b00000000000000007f1ab4bc08f56a3b00000000000000006a82e9bcc7cc883b000000000000000064f9f9bc08d679ba00000000000000000000000000000000000000000000000026c72abb399f593b532b113c9a474d3c37bb91ba0c52783bc212393cc32b573ca8ead5b71949a43ba721123c41d6393c73a2a9b89eef943bb8ef033c8b83283cd45638ba4b99513b67b2c93b8374173c2559daba656a013b3042803b14cdde3b71afe8ba7e4d91390c99463a689aac3b00000000000000000000000000000000000000000000000000000000000000007e73013c1872063b5de8263b81e68dbb6bd80c3cb88b513b6783ecb9cc1307bc3507ff3b878e9c3bf2c83abb8da134bc53e1e63b43d4833b8f9131bb0af22bbcf0ab843be4b1563bda67653a2892c1bb4f89663b8c05cd3a84cfd53a9bd73aba6d7ad83a14e3dbb92236533bc490283b000000000000000000000000000000000000000000000000000000000000000061202cbde4e5cbbd76231bbd1258aabb4c2733bd0554c9bd5f1527bd75cf26bc179830bda901b6bd17732bbdcc4b66bc063d1abdf75c9abd295c18bdc04b50bcaff6eabccac97bbd3fffedbcb54905bc4feb87bc7b9133bd31de8dbcd36556bbb58681bb2707c9bc72c7c2bb09643f3b000000000000000000000000000000000000000000000000000000000000803fa3d148ba8b9de33b77b8abbc3f44963fd58df3b87211ef3be65eb7babbaa793f8a8cfb3a1fb9ea3bf6de1b3cb1664a3f8344a7b9eb4f853bc5bb093c0c5f1b3f59e86abb2c710fbb7de28738cc5adc3e2fd9e4ba321986bb3f463fbcb951833ef3818eb99969f1bb6a03d0bc5f2eb63d00000000000000000000000000000000000000000000000000000000000000006be204bd357a463c00000000000000005114bdbbb433603c00000000000000004afd133ca30a663c000000000000000033e7313cc0b2303c000000000000000035c69a3b3b02d63b0000000000000000998fc7bb54f7173b000000000000000063089ebc7aa3c2ba00000000000000000000000000000000000000000000000000000000000000000000000000000000f112533bae01493bc699c73bcf29873bd8b9013ba8098d3bf0b3f53bf453ab3b2b3a3f3bfe6a843bb75bd23bf436c13baea7ef3a6be9863b6b6ac93bcee77f3be160023befab543b0634ab3bb407803ba9bd413a141ec83ac60d893bb428613bcaca833911e3063a827f3f3bc393733a0000000000000000000000000000000000000000000000000000000000000000ff528f3ba9f5393b30f367bc53bb10bd92e4973b3c84563b67668abcf52d12bdd741933bbbdf383baab793bca04c0abdb2295c3b435e403b382784bc0bdeebbce9e8383bea5b053bd3bd39bc6653c1bcda7ce83ab966033b228199bb732977bcb313253aa7131a3ad16ff53add07d9bb00000000000000000000000000000000000000000000000000000000000000008d8354bd7ca207bd77adaabc3e295bbc3b0e56bd53cd0dbdc45cbfbc13ad78bcffc949bdd4f70cbd4c51c7bc13339abc979c26bd5289f7bc78d3b3bccbf48cbcc9740cbd523ebfbc8d588fbc80a15dbcc491c1bcadfb97bc853b1abc1b3510bcd02f44bc12e70abc3f627cbb2c3d89ba0000000000000000000000000000000000000000000000000000803f0000000053b27b3cbf1cd93b41db843f7812ab3c57af873cf0a6733cbf815e3ff4cae03c9b50553c88127f3cff9e363f8794f13cdc57013ccec0323c69d20d3f6debc13c72834b387e84bf39d327ce3eb5c6653cf8e1afbb353b28bc044a813ea00acc3adbd142bc7168c0bce30ad83d2d084fbc00000000000000000000000000000000000000000000000000000000000000003b30d83cd035913c0000000000000000e5dfdc3c0949ab3c0000000000000000e542dc3c3f76bb3c000000000000000064cdaf3cd68c9e3c0000000000000000262e553c7ab5553c0000000000000000bf6f9c3bf762bd3b0000000000000000aa5205bcc86716bb00000000000000000000000000000000000000000000000088d8d73adcf5e73982fd633b715db13a40a9e63acc1d533b5db0003c9fafc33baf061d3b7e03763b58960b3c7b58cb3b1f82273b43f9923bf401123cad2dfd3b3967c83a569f853b6064da3bef72d23be59ab23ab19bfa3af752ef3b1b4bcb3b2d65a03a058e763afee2ad3b1b2e433b01f932b9b87004bad560413b5ace8b3af7892fb90d2f6bba23ba9b3a842f1938bd36d83a9976b83afbb9acbb2451cebc00fc963ba24c363bf11c1bbcac8c12bd96c6a43bc0f1433bfa1b62bcbc3212bd054aad3bb6ef683b03ff86bcd2181cbdf8c6663b83ba413b93427ebc0030f4bc6a16303b9a783b3be4feedbb68d9c9bc74c99b3a8251b93af3a166bb9f5e65bc8fb00a37d4a9423a7785933b6b97b0bbc91072bab837c9b934019b3b0aa4a73adf48d6bc0e7696bcb43c59bc6e35a8bb22b84cbdd8d006bd21a1b6bc53b846bc475a5abdab5723bd8f17e2bc96a895bc58d061bd1a4e20bd272ed7bc8b6fabbc456d2bbd4d8d03bde5c5c2bc271f95bc480e16bd9f1be8bc870b9ebc4d836abc4f3db7bc28f69abce89744bc4046eebb843f27bce41df8bbf48b53bb0d41293951c0e23a200a643a99110f3b3211123b797c083ccc0b92bc8c98833fb5a60c3e3e902f3cd9b264bc2043733f2c3a093e60972d3ce6fa5a3b96e44d3fd3f5033e3b9c403c1f528e3b6c6e283f1756eb3d8023bb3bdc9a563b8b76003f3f20b93d16bf1ebbfcc70abc191fbb3e0ab6823d11e007bc68a09abcb79f673ea3b80a3dad213cbc9090e7bc6384c33d7c4f9e3b153f30bc7d13e6bc42c6a5bca79185bce604c73b56efe63b00000000000000006e7e6a3c2778683c00000000000000003bcfbb3c5772b13c0000000000000000f737ce3c2a39bf3c0000000000000000c0059f3ca91f9e3c0000000000000000c91b2f3c6329553c0000000000000000bbbb1cbaf314b63b000000000000000057592ebcd135adba000000000000000067d66abc0fccd2bb000000000000000091da833a9bf9c939ef91623bafc6f93a4ca11b3b1923153b3f6aea3b76dbb43bb096203b061c573b8d2af23b9d6ec13b1731083b8bb3783b9eb4153c52b0ef3b86c9fc3ab38d5a3bc6e9ec3b8d50ae3b6380d93a57ff113b37dde13b3a0db43bece1f53989f0b13a0962b63bac6d4d3ba83e1b392ca71cbadccc433b6590e33af70209ba299a9cba48ab833aa2ad6b3920b3a33a2d62c13a4e1181bb38ccb1bc3939803bc7ec423bdda22cbc0f1010bdf7bc843bd50d653b6b8983bc71010cbd0063a23be474813b610c89bcd3430bbd85ef573b78a6283b0f9a75bc8b0ae6bc2ab34f3b9f6f1f3b690215bcaacbbbbc0da7d33ac1c3eb3a9bdab1bb438472bc952a1bb955680939bc43423ba0bdc3bb6f42aeba1b3c0738ecc1b13b7750b63a5f5a8fbcb5975abc864161bca94c99bb939f2abd7af902bd36cbd5bc757866bcc3b633bd7b5d11bd9b1ee3bc1d8d9ebc2a0b4abd179b25bd2607f9bc4a12b3bc0a1f1abd73fd02bde464cdbc79109bbce03906bd9de5e5bc87e0acbcad6e73bc5949a8bce6ac92bc073b5abc7cd919bc3a9c16bc0f8edfbba1048bbb8f3b33ba46fb473b31ecea3a0cd9c03a0262e53aba84b93b07d2bbbce1455f3fe4218d3e251b413c8d7790bcd121523f2d2a883ec9ce563c92934c3ae8bc2d3f8f3b723eeebb283cae8f04ba4256133f1ef8513e37eab93b2a1148ba8e36df3ecf7c223eae473cbb742a58bceb3ea43ec2c6ed3dc3bee1bbdf0595bc65a24d3e69a78f3d66ee37bc0b20f9bc89bdaf3db3eac13c264c19bcf0e5cebc371659bc7f663ebcbf225dbb480cb13b0000000000000000bc4e0f3caa908a3c000000000000000094799b3c338cbb3c0000000000000000d809b33c60e5c03c0000000000000000bb4a883cb8aba03c0000000000000000db2cd33b8386553c0000000000000000d74d13bb325dac3b0000000000000000169571bc415665bb0000000000000000663765bc0aa4e3bb000000000000000013f37f3a47b1793993023e3b2ac4223b2a28273b727df63a5532db3b20ccd03b1966203b7a37763bba0b073ceebc023c21680c3bd738723b2939113c0b57fc3b713d0f3b264a373b86bcc43b8a53ec3b6fc7be3a05f4043b37a6dc3b58dcc93b50f2e7391ef8f53970859c3b63019b3b8a2e1c37f55243baf53b423b9c601b3b528603baf0c383ba8290d73a5ee28039d97e083ab5a3bc3a6c4cafbb794aa9bc4e4d623b714e513bf64b38bc50bb06bda3088d3b5b41743bf5ca83bc98730fbd76128f3bbdcf543b4e9082bcd15005bdb48b7e3ba16e2b3b2be479bc4011e7bc2f273c3b7e57193bffc82bbc9835a8bc5619e63a7970f83a37824dbb22755abc1414f1b8c964fe39defc223b4843adbbece59fba95608bb9a9c4893b1b6c723a260471bccad549bc3c4086bc87bae4bb87af15bd252601bd60d3eebc7de583bc834638bd8ed922bdc6af07bdaa4db6bc17d634bd9f2824bd738e04bd5577b0bcdd2811bdea9405bd3642e5bc70df9dbce2b1f0bcd151e7bc07d2b2bc11408cbcc298a0bc2fe697bcc65d68bcfcc42abc5c7bf8bb601dfbbbb8b6c9bb18e2e5ba070b1c3bf094e63a5a2e6839b61a1c3b251ffd3b975188bc857a383f7da8d83e7f2f433c183d6bbc45c22d3f869ace3e6fbc563c06f8e1ba4f73153fd6a2b53eaf11173cbcffc9ba59cff53e1ee4973e6f928e3b764957bbd6e0bc3e33c56c3e12b538bb68445dbcf9058a3e87e52d3efa9f09bc7bdbb2bc2fff2b3e0b7bd33dcc1a40bc595ff2bce023933d71ec303dc7d927bc7294c4bcb7a837bc76cb16bc8842bcbbb32b073c00000000000000000f0f263bbe94a53c00000000000000001124843cf479cd3c0000000000000000d5e3883c9707c93c0000000000000000b7a55d3c1c30a13c0000000000000000c309823beb6f513c0000000000000000c14803bc6c35a23b0000000000000000e7048bbcec1453bb0000000000000000619b90bccacffbbb000000000000000099fc933a833f86394591103b3562523be358e43aeaaf1c3be234c73be9c1d13b730cf83a843d263bf3bbf83b28d4f73b22d0fb3aca10793b32a40b3c6b1c0b3c41f2e63ac048393b6c2dbb3b374eab3bd7d7b73a16320d3b1dc1d13b34ebe63b88ad143a32b45b3ac4e6973bff01703bf3a0db3703c90aba7d001c3b26c2383bc4c191baa95582ba4713ce3ac0e0d23a9cb0643a7314c53aed819dbb6b4da8bc2cd2413b567d713b62f934bca058f4bcd9158c3b841f5a3b536a7bbc1e6104bd1246933ba10e7a3b1e1387bc9fc2febc57e30d3bc7aa173b41746cbce47ac2bc555f483b3e4d1f3b1e0c24bc765fabbc357b9d3a81169a3af82750bb04d936bcd2a970bad40a6b3a1703103b20838abbc2b37eba3e8684b97d79313b273249b9de2b5ebc2a2845bccfb595bc7b3801bcfd040bbd6f2b04bd6835ffbcfb3b8cbc911621bd106c1cbddddd0abdaf63abbc5ce42cbde6262cbda92d0ebd4b13bfbc75bffcbca5acfdbcf6fbd4bca6a7a1bc7e6bf4bca24eecbc0b9ec0bc9ae385bcbe328ebc87b891bc7f307dbc312620bce600d8bb3950e1bb1911d0bbb6774cbb9b84383bdd5a263bc0de4a39d484f33a329ae83be53648bcd019123f2320123feeaf453c1cbde7bb6535093fc3eb093f94095f3cf2e40c3b7a63eb3e3625ee3ec0e21e3c9065b639b2d5c43e2f36c83e0adaa43bc46d693a8a19953e41e1973e53fa68bb73a544bcb3415d3e098c643e182615bcc1d5acbca792063ef8f60c3e801c4cbcf51bdebc46975f3d80ab763ded5f1dbce62cb4bc7eb136bcf5fc03bc06b00ebca25c0f3c00000000000000007b88dbb940beaa3c0000000000000000966f453c8487c93c000000000000000029ba6c3c88e1de3c0000000000000000f3c24d3c3bff9e3c00000000000000002d7d153b15754f3c000000000000000077139ebb49b6873b0000000000000000b1fc99bc417e89bb0000000000000000ea9c9bbc122c0abc0000000000000000af0be0398e93903a1b01a83a8f197d3bbd3fa53a90a71d3b4b4ebd3bbe91fa3b722c003b21516b3bb088fc3b6a91fc3ba4f9ca3a20d9603b7c8bfa3b2639133c162b103bd4be2c3b2d24cf3bfed2f83b1e1a633a4160da3a6caac83bf22ed73b0ca8d1b802618539e2869f3b5933ba3b1e889fb84254a2ba09a80c3ba9bd4f3b81ea51ba192571bae9d3573a78ebc53aef6c0a3ae0fce93a817590bb12dd87bc591f543b2a07823b670c1ebc381addbc5e098f3b9951973b480572bcc1cfe5bc7b6c993bcd3a633b87856dbceda3e1bc4987653b17a7643bc5036bbc7099c5bc20b4373b62a5223b793fffbb040b8fbc30b3833a63ca223b282f08bbb90439bca8938739c6bfd43999aee33aefc171bb6ed6c9ba3ad7e3b73575713baf96a73a332273bccb565ebc2776a4bc9c4f04bc47f009bdb6d211bd58330bbdbef38ebc4cb329bd722730bd2db519bdaca6c2bc53af23bd408833bde33311bdeff8c1bc70e80abd4bd515bd49d5f7bc518bafbc9611ddbc9f5ff6bcd3feccbce83a88bc741a92bc0611a4bcdfdf8bbcf41622bc3e20d8bb4677f0bb49d0e8bbfc8ca9ba99f51a3b11162b3b017f58b9f75b143b66edd13b16e900bcc57cd83e76bf383f846a283c19ef7bbb8a40cc3e12912e3fd266393cfcdf903b8300b23e7e42163f3586e73b763f473be7f6933e1c57f83e2134763b6ee29139846f653e59cabf3e01bf84bbf00f31bc18a3243e44f58c3ee6520ebc88ab9fbca5bcc43d2397303e260734bc7ce3c6bcbb2b163dd9209a3d30f01abc9ecda4bccb2c58bcd83a0ebcf1b974bc6cc41e3c00000000000000007ef9fdbbb419ac3c0000000000000000058f0f3c66e7da3c0000000000000000563f3a3cd1f5d33c000000000000000072fa303c5eeeac3c000000000000000057ebae398df9513c000000000000000079b926bc7205643b00000000000000003b54afbc9d2f9ebb00000000000000003290a6bc130410bc0000000000000000bb72d3392616ee390932e73a7c88653b90a9753a14cd233b8b94b53b7ba3003c7e03cd3a7b065a3bc2c1ae3b7319003c17149f3a7aba653bd4e1f73b13231e3c8ca79b3a60c5333baf85b63b43adec3b2b99413a85d2143bd00ecd3b3c79bb3bef01c4394dbc9a3a1cec563bd2de9e3b213bc6b97d968ebabd4e1b3b0f20753b998227ba18c28bbad3ca83b8e3c07f3a7059113a812d0e3bd78b18bb9a1555bca6a3453b3aea923b171402bc57a7bbbcd5479d3bab80723b62ba60bc1985c4bc2d7e943b00e0993bd0af56bcad5acfbca0a77b3beb84133b9c394bbc1769abbc28fb2c3bcd2a783b430dc0bbdb4682bc948b023bb204073b0f8669bbe77a38bc99d8c2bad1f2b23afaee473bdf93e2baaef067ba93e6e1b8387f913be398213bfbd980bcf8d782bcdedfa2bc10acdfbba59f0cbdb45e28bd487812bd7c7f8dbcdaa516bd87f433bdcc2a0fbd0e30b3bc154323bdf07247bd9a121bbd47a2c9bcf52e00bdc93c18bd25f6f5bc753ba7bc14f4dfbcb91e03bdfacbcebc4e918cbc42b288bc79fda5bc513294bc194b29bc0d0ce1bba59711bce08803bcba7299ba18abfc3a3348223b3cd05d383b42543bebc5883b369d77bb3a1d8c3ef86e5f3fd6010c3c4b04263b13c6853e3356523f1ab92f3cbddb113cbc916c3e707c2e3fba59f63bbff4ae3b0b91473e756b143fd59e483b9cc22d3bc390193e11e7e03e8e32f2bb588502bcaf03dd3dcb76a53ebc4ddfbbec5f51bcc1fb7f3dfba4513ebdd228bc29abafbc50ab833c54b0b53d7fecf5bb3d8d89bcecef7cbcd4fc37bcb3f0b1bc04a1e83b000000000000000052841abc3c55a83c0000000000000000cb99183c4494d23c00000000000000002979393c4db7d53c0000000000000000b25f373cf605a83c0000000000000000f53286bab69d573c00000000000000008634d2bbda3d8f3b0000000000000000ddc1adbc069f83bb00000000000000006c8daabccad705bc0000000000000000d95b87b95692be3aa19ef23a42097b3bc987b8b94f2a3c3b3497b53b96210a3cffb93d3a2ba84a3bb95b033c4d152e3cb33a823a8f3e823bc159ea3bcb451e3caad2b23a6114da3a6958ff3bf1540c3c4d579b3aafb2fa3af1c7903b9eadec3bc753d9b9bf5151396884c63ad37bff3b528f22ba98b886b99827753a9a0d283bb2c473bafef480ba81819a38539dd83ad4a5f8391401353b13c0feba3ad33bbc9927893bdb64a83bc04488bbcb098dbcd1d7313b8c9ea33b939328bcee8ab8bc67eca43b40f1a23b2e633cbc6311b9bc3de13f3b1dde333bdd1033bc048d9fbc94d8853bb703543be3aedbbb103965bc4dbacf39768c843b9b6b81ba357ecabbb7a9e538f60565394433a03b10d989baaf9fadbafd96b43895cb9b3b46a45a3b2d12b1bc90c6d4bc5170c3bc24e213bcd5b50fbd842f4cbdd37115bdc1128bbc51b323bdc54465bd4d1f1dbda0e1b9bcf8d51abdf81859bdbc1922bdc6c0d6bc4e6d01bd09402dbd9f6004bd8591adbcb0a9d3bc4fd614bdff82ddbc3aea88bcd2ba7abcd3c9acbc1e0bb9bcd1fc1dbc904aa6bb331339bc7d9cdcbb64a9ed3adac2b93a1025e33ac159c0b9acb0863b019aa83b04d0823bd3540b3ec197833fb088953bbc8dd73b7b6c043e3e5a733f5fddf73bb52d523c483efb3dd2044e3f6c27a73bfafc223c5c5bd73dccde283fe368193bd529a23b654ba53d1604013f0e7488bbd94d97bba474573d279abc3e927de4bb0d5c2cbcd7c2c43c01c3683e0b3026bc2e0a84bc44fb96bbf830c53d8b560abc9f7e86bcb392afbcfd759ebc54de8bbc8d15423c0000000000000000a70f00bc8507a23c0000000000000000b1644b3c8abfd93c00000000000000004d12923ccc9fdf3c000000000000000098e8773c271bb33c0000000000000000ddd47f3b70d16e3c0000000000000000c30e91bb53de633a0000000000000000fe48a4bc9a6682bb0000000000000000a2d0bdbcd0942abc000000000000000000000000000000000000000000000000c479ab3a4c3a343b244c9c3bc809dd3b311e5a3a7a37893b0864c03b1591f53b0c75153b6f82283bc928af3b12040f3ced13e63a0a28543b29c2923b2f8ac73be436433a558b193b0f2e8a3b4bb4cd3b90da223ab9bcb43ac614263bf9d9573b227f09b9b72ff6b97e8a2a3af6365c3b0000000000000000000000000000000000000000000000000000000000000000c28b743bbaf79c3bcb610cbc3e6591bc3054c33b85884b3b9a4d35bc4561a2bc72e3823bce03683bacf644bc44dda0bc726b7a3b58a06e3bf76856bcf21c91bc82e0773b15ad4b3be3b7e4bb35e359bcb5204a3b96ac653ae193d1ba21b1d8bb6348563ae144243b18b3fb3ad97eaa390000000000000000000000000000000000000000000000000000000000000000f37510bd3d6756bd1b9410bd4876a3bc0a4511bde01457bd2e6113bd985cabbce86a10bd966b51bdffd40fbdb9d2b1bc2f22eabcb5cf26bdf6b3fabc20daaabcb5fbc0bc2bb20bbd09f0debc257491bcb31276bca434cdbcb3f589bcfb32edbbd144c8bb29a056bc01ea26bc304e4cbb000000000000000000000000000000000000000000000000000000000000803f944b2e3c2ae49f3c1f1c873c43d1843f39fd243ce16a833cafb1b13c05155f3fa150013c7f8f783cccafaa3c4ed4363ffb676d3b2b9e053c0321793c75ff0d3f498816bb13e1b03a58f2b73b7885ce3e0a2102bcf07df4bb56abf9bbfd57813e4f0317bc738264bc2703a8bc175dda3d000000000000000000000000000000000000000000000000000000000000000064765c3c5e59c93c0000000000000000abe5a13c0517dc3c0000000000000000a2acdc3c64b4c93c000000000000000012cda93c18dab03c0000000000000000366d363c404d673c000000000000000014e0013afd67b93b0000000000000000b3e171bc54ac95bb00000000000000000000000000000000000000000000000000000000000000000000000000000000c509f1bbc3e8ee3bd554173d242bdd3bee6c91bbe518293cd4e80a3db5bd0c3ccd4952bad7ea123c05f3da3c144b463c8e6ebaba9d43213c02a3aa3c72b5053ceb839439f9f3ee3b8130743cd0e5aa3b74e370ba95528e3b8590293c52ecbe3a54a6f3b97a9a293a21a3753b167cd2ba0000000000000000000000000000000000000000000000000000000000000000a0db52bba326a6ba7377bd3b793573ba96bb96baa3a36dba2830973a93e928bc6aa7f539fdf216b93ff7d2ba1125afbcc61bad3ac23d07bae38777bb15209ebcceeacc3aca345c3a8bae93bbdd5278bca56b1d3bd0495ebacee4a0bbf34a28bc5da4963a436d243ac54098bba5cbddba000000000000000000000000000000000000000000000000000000000000000038684ebeba6497bb3fa8c63b595628b9e20841bef6b57bbc3062713b63aae5b9c37e28be4623debce98ecb3aee862abb294805be6e4ad7bc9594aeba06459bbaef3ebebd676aa0bcd638deba84a601bbad8a51bda3af37bcd7c214bb663f3ab7246515bca83964bb2de13eba83879cba0000000000000000000000000000000000000000000000000000803f000000006d528f3c608af6bd38aaac3f0da7e4bd32323a3c12ed8fbde7d28d3f93537bbd8d8c213c37353ebd84f3673f3ef90fbd4d87123cb2f2e7bc40c52c3ffc4f85bceed4e03b3f1f70bc38b7e03e88b7c0bb87a6e23bcd762d3bbd255f3eb8a4273bc845d73b5eedc63b3768103c74edc83b00000000000000000000000000000000000000000000000000000000000000008ef6573cfc9dc5bb0000000000000000e86bee3b3f8c82bb00000000000000001c34c63b939b06bb00000000000000006bf5af3bd33f0eb600000000000000009f30e03bcd1201bb00000000000000001decaf3b7ba4aab900000000000000008589833bff068dba000000000000000000000000000000000000000000000000ccb60bbc9da0553b865aad3c6920cfb8bedc30bceea3793baf321c3dc2925e3bb313c5bb7b7c0a3cc5081b3d9a0d3f3cc804a8bb490b3d3c4fda073d4afc493c56e2a1ba3711fa3b84f5c43cebe12d3c8140c4ba445ddc3bdf0c943c019ddc3b7fcae2b935ef953bf1232c3c2171813b5b105aba45c0843b9f3dfe3a743f6c3ab3359bbaf8ec4ababc1736bb711b81bb3cc145bb26ac41ba5338253c7687923b651293bbbf9155ba672dcb3b2bce953c084d0cbb5850e2baee058e3b09f984bb8f7d083a5d53c4ba7241303b95784fbc9eaf223b78a92dba1875ceba28d067bcafea3a3b67ede1b90ffaa4bb498b2fbca4aedd3ae1f85439bd81c2bbff27ecbbc4864d3b66bfd1ba2573dabbd46ae5bbb456013bf86a89b9bc0a7cbbc24fb43b657ff1bd2fbdaf3b7988b73a1663373b2c613fbef327123b2839843bfcc4e53a2fca4abea7fdcdbc4784553b2419313aebfa35be2b7607bd2a0cc0bacd806e3a7b6e0cbee3610cbd3c2088bbed14153a953cc7bd9bebd8bc066a07bb3560cebafaaf53bd211f95bc169388bbe7c1f339c71d07bc94fe4abc91672abb4af3a83a5bbf903c3145653b5b5dceb920fd313a21761b3d94165abe15f0ab3f71a2863ce77a263def564fbe82869e3fe890ae3c5524f03cc2a11dbe324a8d3f6ed5303d80a0af3c5e27e6bd2374643f26a05e3d387f973ca20c99bdbb88283f3ee6643d3c11923c886e3abd4471da3e58ae473de060683c5cff95bc8d394f3e2ac1253d5f58013c35144d3ca7da973cb62c193d839f0c3c70d8ab3a2195e2bdfee2223bb765a8bc4a23023a0000000000000000997cacbccab63c3b00000000000000009943b1bc5515bc390000000000000000e62c90bc9cdd363b000000000000000049e845bc9c2eb33a0000000000000000fc533abcf0e5623b00000000000000006645ebbb3348ea3a0000000000000000b35299bb20301a3a0000000000000000b7d609bb1eaa8c390000000000000000ae85d9bb7a4b023ba92f583cdcfa263bd4d011bc5acad43b7d56e43c35001a3ca046d8bb5b30293cc472e93c590d633ca0d7babbe568353c7a58de3cf182743cd820dfba17510c3c6bf69c3cd166303cba7bdeba6e58053c9fc66e3cc66b133cc6cd10bbc0eba43bd532f03b4fae6e3b512ae9badb76563bf8f10e3b13e183b8247213bbf9efd93904aebab952ad64bbbef710bbe6039abade8c293c1ba6303a8ccceeba7b0719bb0f560a3c46f9083b0780723a7a3537bbe5b2f43beefc1fbc6350d73abba3b7ba06115a3ba31135bc7cf3773b7050c4ba9bcf2abaffb16cbc62cbdb3ace4e1cb91c7367bb5a9d16bce28f6f3beae5abba00e093bb045a23bb18ec213b28aa39ba90c2d2bb0ebbffb9ba210c39deb1e1b9973290bbfb39913b5a0b96bdfde2c7bb5fadd9b939ba133b4cc518be7e36fcbca5bdc23a75554d3bdb3823be359855bd9b10abbaa0217d3b1e721abe63ce63bdb03738bbd119d13a555de9bd42c346bdda3fd9bb41ea913aec11afbd13401cbd5854acbb5b81233afe2142bd2b55b8bc43dd7fbbc4fcf0392b0032bc2eb031bc1d7b17bbaef2dd39dbd6213c82f6963b426c453a37d9aa3a1348223dec455cbe590f8f3fae926d3ee6d53a3d0d8664bea8628e3f85a8623e8d63043d6f262fbef131783f8ed55b3e8e29ef3c9a1f0cbe26ec4b3f4215413e6a28af3c7679bbbdfe3d153f6e7b213e658daa3c983989bde3ddc53e3b4bf03d6c3d8b3c04371bbd92df463eb080943d9ec9583ce0e834bceddffc3cbccf0b3db96f353c8891a6bbbe0488bd20d2e0bba0608ebdcdac4a3c000000000000000086f690bdfe034a3c0000000000000000d8ed71bd0104203c000000000000000062074abd89d0053c0000000000000000283c09bd243cce3b000000000000000022eadbbc4a93d33b0000000000000000b6f9a7bc1c61d63b0000000000000000df6924bc18ce2c3b00000000000000008d4297bb2635af3a00000000000000005953bbbb4f33653bf70a093cf4b4c93b0181debb9b94c93b8e46b53ca1b65e3c88a1b7bbb03d0f3c4fc0c73ca691983ce81d94bb62eb273cbabaaf3cc2618d3c114a05bb55f9083c61e38f3cf4d85b3c7b02ddbafcf9e73bf2db363cb6ec1b3c867cc0baa62aa63b33ed033c2459803bbbecceba35896e3b6d02ed3ada1b5aba4676b5ba6c1f1bb8864727bbb3250ebb1e252fba5602ebbadda8393c06f622bc518063b73a7961bbb353053c2c1661bb557ad63a869131bb9043a03b568403bcda919a3b5b85d5bae6d2ea3a07c439bcee08a63b67148abac329a039929d36bc0c379c3b2c0802bbec4c54bbc13114bc82be5c3b1d2692b95081a5bb07df9dbb465e453bc541c3ba64718dbb8cd62cbab7148d3a732eaeba10d17abb71dac63bb90859bd4a8ccbbca6849bbb69a9d53bb0eeebbdbf1c7abd5a0a9a3af611813b79f908be0588a1bdfef7afba7a66643b3c35fabdf0f4a0bde077edbbce60f83ac700cebd20128cbdded62dbc93dfdc3a0f908fbd2ed154bde6554ebbc89406baa06527bdbb90f6bc1ec5a2bb2dc68339741f4ebcea2b20bc40760abb41fb06ba8316ca3b4cd9f53b6ace8e393ef7c03a5ca30f3df56447be61206d3f74b7ec3e2c5b303d321354beeb8b693f0baee53e04190a3dba052ebe8cb24e3ffff3d23efcbee33c742105bec73e283f0b9bb23eef39be3ca46ec8bdb1f7fb3e72ca8e3eaeeba43c83a985bde62aa63efa25453ea6ba963cc25524bd04552c3eb99ae23db6c35e3c6c898ebca3a8183d4ea4143d77f55b3c24aa85bc30953fbd64f1b3bcd3adf0bdc977983c000000000000000026b5fdbd19fdc83c0000000000000000a6cfd4bd53879b3c0000000000000000d260a5bd001c813c0000000000000000aed082bd706d573c0000000000000000063838bd9e7d433c0000000000000000f312e5bcf331043c000000000000000074836dbc3d5aef3b0000000000000000097f0abc8f72863b0000000000000000658a96bbbb693b3b5d88ba3b5f5e1b3c6b28bcbb2615943b8ed2793c3ea6983c3f4f87bb30fc033c06ff893ceba8b03c950e39bb0d7e0d3c96f8963cb608ac3c789077ba38b40d3c2899123c0f6f663c84baeeba9d26d73bbe821e3cb32c423cf2929eba73b9943b781c9e3b7c29bc3b629116bb1e017a3b3d1fb3b92b90323b5f307aba1f6c71b9f7eabbba958f4abbcae614bb8cb824bb1b44323cbd6336bc29a1093b4d9080bb716eef3b7f69b5bb632dbb3b7bc169bb12076f3bc8493abca46fc73b487e34bb5607093bddd53fbc4020be3b6ca921ba719714baf7ab51bc004da23b9de2233a2cedcdbaf7f600bc0c76663b09c697baa0134dbb21bb87bbe488a13a23ce83ba8a425abbd85e6aba5ef5c73ae72c74ba42efc8ba71328c3bed6b12bddc7418bdddb6debb2079083c0466a4bddc59babdf649cfbac402f63b8087c7bd84c6d2bd14fa11bc44c1b73be066c8bd6d2fd6bd655828bcf3909c3b5eda94bdf03c9abd38bb75bcddab863a268076bd837581bdaa6426bc8b647b3aa47709bda7180cbd036daebbe72032b9146631bcc2d82fbc650d88ba3468aebaa95f8f3bc140cf3b74c9173bb2f2d5b902abe53ca86b25bea097323fc08e323f75c90d3d7cbc2ebe54542e3fdc6b303fdfded23c10f604be5af6193f434c1c3f626dc33c5993e5bdbf68003f24d4033f6ed9733c93b58dbd53a8bb3ed9fac13e67f4983cee537abd3fc5843eef63893e44be803c7e001bbdbc700d3ed656123e00783a3c8ea39dbc91981f3db677183db892253c46724cbc376a00bd73a20ebdffd325beb3f9d93c0000000000000000128e2ebec95d043d00000000000000000b0309be98bbbe3c00000000000000004409e0bd5737a33c0000000000000000557586bdfd58663c00000000000000009fd16fbd9a5c613c0000000000000000947e17bd2af5433c0000000000000000b1dc82bcb988093c0000000000000000181c50bc752b013c0000000000000000bd6f5cbb509dd73aedc0713bc8982b3ceaea99bbcc0a483b02964c3cd7a1b93c91e17bbbb444bc3b2643853cad2ed83c760536bb1df8e13b02bf753cc590ba3c040b40bbfec1fa3bada44e3c00529d3c20fce9baf6d3e63b2d60113c5f20533cc4bd05bb3a0e933bab2daa3bd504ea3b7b9bd2bab78f3d3b032fd73acebe003b4c21a8ba7865a53a7ca02ebb086009bbfcd9143ad5fc4cbb8bd3fb3b8c950fbcf8ac763b78e6dcbb3e27bc3bd0fab0bb8603b63b6d50a0bbd09e423b289a96bbf2030c3cedfb5abbfa7e5f3961a403bcf28fae3b5adedabacb71a5392f8b1dbc3b7e9e3bdf8587ba4ac64dbb7728ffbb6b8c423b5402a1bae0c08aba5cb8cebb4bba283aa82e2eba315f27bb4f68ccba135db4394d2ebebab10681ba3eb7863a06de98bc88306abd4a95e3bb9a001e3c3b6358bd0644f8bdd104813ab354163ca70096bd52750ebe23fbb0bb5ebdda3b49fe91bdfa0403be3d4437bc4c86a63bc3ea81bdc269d7bdb23c56bc6d18403b3bb03fbde98296bda57c12bc6c3384398230e0bcd5ce2abda28ebabbd4cf3e3874e547bc0d122ebc91f02dbb0d2900ba210c6a3b0394293c04438f3bffba6dba57fda33c9fafeebd87d1eb3ebb276d3fbe39c83c401dfabd67aae43ed7a36a3fc62caa3cf238d3bd3482ce3e025d503f8b67933cb621a3bd8cceab3e3e882a3fd06f753cd0af7bbd11da863e9a8f013fb5185e3c90b736bd896e3c3e4fb8a93eaac4543c5b70eabc2770d93d11dd2c3ec20a213c149b89bcab8c2b3d3ef3073df48b033c25a54ebc742d86bc5b1653bd896247be642c083d0000000000000000a2e255be66d9203d0000000000000000a4c62cbe82c3fd3c0000000000000000ae5802beff25c03c0000000000000000b0dbbfbd9a4ca73c0000000000000000b42382bd86788f3c000000000000000093c511bd309b443c0000000000000000faae62bcdd70073c0000000000000000ebb042bca54cf63b00000000000000007d33b2b9f44637bb03fc913a8a877c3c4aaa27bb82d6e7b705c3f53bfc1df93c9af55bbb1e4e293bf6da5e3ce941f33c2dac45bb1e17913bfdb6553ce74fec3c01dd61ba3393863b6a252d3c182eac3c6b5655ba25d3933bfb1fd23b3aea853cac85beba8742673b3e6a793b8e321d3c1daac5ba7292353b968b3f3a28e4363bfcafebb9b4e977388d113abb39091fbad50059ba9b3ec6bb9eb07f3b39447fbbecd3083bc0c3bcbb659f3a3b2581f0ba48910a3c2a34b9bb87634b3b234993bba6f3073cd67163bba77aa039c963acbbb8fbdb3b60b15eba677c98bafa52d8bb3492c13b55420bbbddbaf8baecf0cbbb59672a3b047d15ba4729d8ba6501a7bb7d9ab13ad34798bacde0b7b9616c4abb6679ebbab65085b9515520b881a83e3a33d424ba42b5a0bdedddaa3bf790123c1fc0d2bcf2731fbe1a50f93b625fbc3b15813fbd672729be9a70e2bb5dcde73b006b4dbd303c1ebedb3845bcaf75523b96e43bbd82f8efbd6b0f80bc2020203aade811bd3b5bb5bdb24b04bcab8a833906efb8bcee3944bd930189bb30e7f2ba445637bced6739bc548b08bb366f07bbf35de73aabf9523cb723543b5093e2ba1831513c5a5a8dbde1d66e3e96258f3ff7b67c3cd7ad8bbdab4c5e3e6af98e3f2e26283c47a466bd1b07563e4370793f2ed0403c495342bdd785383ea3034e3fd9de233c30e505bd171c163e693b173fd232203ca7f6ddbca455e43d76f8c83ea40d1d3c99b599bc76e3933d0c17483e9865e03b72f042bcb5271b3dc156e23c4b15963b9675fdbb2cc1213a985a94bda1bd5dbea23d223d0000000000000000209965be2ccc323d000000000000000071032cbe397efd3c0000000000000000e12b07be6d4bd03c0000000000000000bac8b1bdb31c933c00000000000000003d1d7ebd63b8883c0000000000000000c6080ebd7407553c00000000000000000590cbbbe522f13b00000000000000008182aeba5be1e73b0000000000000000071218bae70d25bba63982baa6deb63c788013bb075b1ebbd170433b7d8e1f3db9ae5cbb3335c03a1ff50e3c29dc223dc03e45bba1d3213be029473c26f7063d83b5d8ba47066f3bff960e3c83f9d83c4da813bb2b6f713b0694e73b3fcf9c3cb58103bb96a2843b3675683b994c3c3c1aa7a2ba7eef623b8397c93aab303c3b0a65adba061361392525fdba5e48d0bade9869bae2b4a1bb48f5283b70a5b33a0f1d943afd1814bcdfa0c33a6c57a835f45fe43b4610bbbb59778d3a0c0983ba7c4f0b3c6d203dbb6b3f88b987a204bbc663ec3b66c924bb068458384e88afbbba279b3b46c8093986722bba3162d2bb7aef1d3b36cce2b957e299391d8ee9bb79b7543ae97e7e3a74b3253a33a9a6bb7d6e1cbb2771ddb92de38b3aabbc8cba5ad3d03b425af6bdcac6193cc58add3b8eb4b63b7b0543be3e3eb23c8265c13be761b0bc1f1b4ebe1dfb41bb9da4b83bed19febc752138be69043bbc7420883b6c73f8bc6a5b0dbe93707bbc7e09003aafc8c3bc9506cdbd08e443bc584a92bae3308fbc37a658bd3084cfbbdef72bbb608567bc3783eabb553dd8bbc92699bb9780bd3aabe1963c75aa943b1ab4c7ba03e11f3baacb9bbc025e8f3c10d3ab3f68e17a3b347298bc2221a53c85f79e3f836d6f3be3ba91bc9c6f1b3d8fe58d3f03a3903bfa3378bcd3cb423d8988653f39e9543bac4728bc5b70403db786293fbd91a53b03a0f7bb20d0333db6f4db3e15b3a23b2d1193bb9a93223dba33513ef8744a3b013998bb29442a3d483b823cbc863d3b61bf20ba09d6b13bda80e6bd22885bbeb708163d000000000000000005c94fbe23d71a3d000000000000000013bb1bbed0c2cb3c00000000000000000ea8e1bd0e6c933c0000000000000000cc7290bd7403823c0000000000000000bae62cbd1c69493c000000000000000038e676bc2611f83b0000000000000000c96b753ceeee503b000000000000000062622b3b9c00843b000000000000000000000000000000000000000000000000f208b7ba82c555bb2d73e13b84c5163d95cc1dbb411e0838ef002a3c9704053d2954cabae0f5413b11ed2b3ce5aae13c4ff0f1ba2f132e3b601e333c274f983c617782b9e39dee3a64aded3b92b56f3c0a9104ba1d2c273bfd32353b543c2a3c8393c2ba57609539211da33ad341533b0000000000000000000000000000000000000000000000000000000000000000235fd53bfca1d1bb36f35a3914a1d93b4891133c03a377bba93f05358c403c3be9ac323c74d106bb8b22e8bafbfc8bba5afce03b05358a3aeef2aaba21d71abb342eb73b0900983a5a3430bba80109bb2fa5e73a3216393abdff7cba3c04b8bb1af96cb98db54e37fec1903a503615bb000000000000000000000000000000000000000000000000000000000000000000af6fbb44fd50beae06273ba9d15f3b143660bc3efe41bec63235bc16553d3b8ecfd2bcd21928be515ec4bccfa327ba5414b8bca70909be8d70a5bcd812e9ba1e5191bcbe43bebd73bc86bc5c8381bb33c631bc05bd54bd18651cbc2c810abb592281bbc0b71ebc759b0cbb5b68e8ba000000000000000000000000000000000000000000000000000000000000803fd92487bb489a723c1750e7bdcd64ac3fae0a39bbb5d9283c769b85bd24ee8d3ffe9833b9e7f1e53bf84624bdf27e683fbe9daa3aa786fc3bee11c2bcfd612c3fb579bc3a3b17d83b637744bc812fe23e1799333bab09e73bba14493be1345d3e2e76673a7f39b23bd47fe53be305f93b00000000000000000000000000000000000000000000000000000000000000008db0f3bd2342873c0000000000000000cf1a8dbdcee00f3c000000000000000023111bbd2fb4fc3b00000000000000000c53b5bc9632d43b0000000000000000135002bc84d4c43b000000000000000079a6283b01b3933b00000000000000002422fc3b705bf33a00000000000000000000000000000000000000000000000000000000000000000000000000000000f0e3f9bb308d033c9ea2c93c1b49223cac31babb85c60e3c275ebc3c40b3503c257546bb4b1d0d3cceada13c2fe93f3ceed262ba7faadf3bebed773c6129353ccc3180ba2286a53b706f4c3c47a90a3c93a6ad38ba463d3b7252e23b4f3c863b25c0e6b8520e693af5433b3b4e02373a0000000000000000000000000000000000000000000000000000000000000000bb7c0bbab19a33bbf0de443cdb194abcfb1f693ae3a6b0ba7386123c635895bcdce5a73b27701cbaacb48a3b6042e1bc4fd9723bc968383ae5b80aba414ac5bc5963113bf009623a0f26dabaebe285bc1094083b88e6023a37bd81bbd3d70bbc8b9db73aaaa76e39449496bb1a370d3a000000000000000000000000000000000000000000000000000000000000000048fc26be46f2d1bc4754bc3b40741f3b1f9817be9d7a18bd27e9e5ba49631d35ef4f04beb11134bd7de109bc45ceb1bb2edccebd04fa1dbdc35e39bc8c84d6bb33c698bdee82efbc491c0cbc4c18b1bbe9f23abd448570bcaa0bc4bbfa3ba8bb85576fbc4ec51fbb49b50ebb19a270bb0000000000000000000000000000000000000000000000000000803f000000001fc7e73b2789e4bdc4efa83f335db7bdb331b039a8f28fbd311b8a3f6eb61cbd5aa2a1b90a3928bde0395e3f151f77bb5d2589397cc3f2bc7f4e253f1310c03b9017b83a1c64b5bced59dc3e7f73b83be2dabf3bd4fc1ebc1aab633ea859f93b3dfe113cb4f5f2bb73dae43cde5d69bb000000000000000000000000000000000000000000000000000000000000000054bc113ccfa8cfbb0000000000000000bcf6333c9b5fc6ba00000000000000000270823c7d0f903b00000000000000002c31933c8876e13b000000000000000036a57b3cee9fdd3b0000000000000000834d493c5eae113c000000000000000023e02f3cab0fa43b0000000000000000000000000000000000000000000000002b95e0bbf372453b65ba653c2bb01a3b576526bc37bdae3b5211c93cdb27123c65fffdbb5955003cb241d53cbc266c3c1a5eaabbf0a6f93bb479bc3c91046f3cd069e8bae583c43b89968a3ca5803f3c4037b9ba005aab3bebf0503cce3a0d3cc36d74bae2340f3b8fb00d3ca015bb3bea326a3ae529ac3a20810c3b1ce1bb3ad72e213a8baeb9ba60f25bba15ad0ebb46bb04bb46379bba937c633c0d8ce7ba24fb0abb407851bb9b87873ce904f23b0c01f93afb2e17bbf43f573c36b640bc466b403b2e4cb2bacbee223c888b93bca47e9d3b2ad44a39b8954e3b708b98bcfcd6843b1fb5c7392eb786b8980e49bc20e5163ba5c07a3a3e8e78bb52bf8fbb6c50b23a7989353a1d1b15bc4c69063a0238763a8369e1b9e1b6a4bbe029af3b7db1cbbdc1e1fbbb0a0ea33bc699953b8d7721be28fb93bca42dd13bb027883b17aa22be220338bd6e066fbb7315803a43460dbe03fd4ebd837e08bc78ad89bac767d7bd60d139bdc1884bbcf0fbaabbc9219fbd379510bd89cc2dbc2453b6bb4f1b3abdad78aabc06c1f6bbe853babb6c4b42bcc3990abc82bcaabb47ce88bbed83253c4ba5c33ba9853bb8455011ba2f06be3c979d46becd10a93fa060fe3c74f9b93c0ca24fbe82189f3fec2dd33c572f323c55a111becec0883f516f893df9bda63b6e77d2bd03455a3f3616a33d4059bf3be3df8abd2a111f3f2a6da03d51cf153c8d3950bdf44cd33ead407c3d4c25343c4ef1e9bc4c9e513eec7f2c3dc5aa553ce771bc3a625cca3c4893e83c70005a3c7d01f6bbd51dbcbd9bf712bc789fd5bcb03cccba00000000000000007ff2b8bc24eb683a0000000000000000b1f168bc7757ec3a00000000000000001fc7f5bbd56b6f3b00000000000000008420763a23e0053c000000000000000089c9423bb25d1a3c000000000000000089ef883b1aa2183c0000000000000000d69be63b576ccd3b0000000000000000dd2eff3a4e4d3b3b000000000000000061b5c0bb6fc9193b0ede0d3c6e7d2e3b259109bca51ea53b0579a33cca5f323c3ea1e9bbbc35f53bae35b43c19826c3c94c99dbb44bafd3bc191963c9c30833c0c48e2ba7261b23bb052673cf96f413c344fd5bac3512f3b67ed4f3c513b343ccea793ba35f52c3bd1a0c83b3ff39a3b8fd83aba9e52d43ab4491d3b55d8013b3d0a9039bcd71b395390e3ba82e8b2ba38800bba1041e4ba2f39643cc94d0ebb50ac803a964c29bba53a723ce5df95ba6bac423bba47c2bafd065e3cf79f86bc77faa73bc34352ba8a71123c2f8582bc9bdf973b6c1bc93aa9367d3b370989bc2553ab3b3f71b139f98fe13977a733bce12b543b5134e8b7c3d70abb792f24bb3805e13a5085193a4317a1bbd0145439dc2e1d39e9c5b1b96fe8b4bbd905833b480085bdf59a42bc2e1d56b9b1a6d33bc9f201be92c12ebda97ee7ba89198b3b61be01bed2537fbdaa1237bc30db163b96b9f6bd04cc84bd36784fbc74b32bbb7955b6bdf5275dbd40dd92bcb93ca7bb523a8bbd7baa38bd88ce5fbcbd65eabb974423bd91a7ccbc8010e4bb876688bb1f835cbc59c81cbc452c37bb30dbaebb9f0c013c29d5713bc271d73a8b4547bad840ce3cef384bbe346c8d3fe027753ed18cdf3cf15a59bed01e8c3fd0d36e3ebe79523c1e4f16bed9bd6b3ff887743e652d2d3cc453fbbd26d6413ffd30593e0f83f63b2493a6bd5adb0b3fccd5323ef9cf443cccab83bdcb77bd3e1993043eb83b693cf34737bd45cf443eb0b3983d48ca623cac4f89bced53113d00c5043df280793ce5bc20bc80306dbdde6d32bc69388cbd450ca43b0000000000000000800789bd3c4a133c000000000000000056c932bd22eed43b00000000000000009cb60abd18d13d3c0000000000000000e27d88bc79be3c3c0000000000000000b0396abcc9c7823c0000000000000000120b24bc19ce4f3c00000000000000003ba791bbc1a81f3c00000000000000007945a8bbf004b13b000000000000000080228dbb5894043bac02ed3b419d9c3b12acdbbb04d0663b5bbf813cdd52543c14e7d7bb0629b53b4c78a13c2bcd8b3c498b81bb17b8ae3bdb4e903cb8ce813cde42bcba6bea803b41a26d3c834b673c32f3c0baf5ae563b44d12f3c45f9293ca60fa2bac49f133bc56bde3bf963c63b8fdc8eb9a931dd3a2bdca13ad7edc63a16f40bb9f11945ba6b45d3b9002ad4ba86f3583af16645bb9af15c3c2cb31fbc4c8f433bb0e05ebbb7e6833cc916bdbbab73af3b11f206bb267e4f3ce4a238bc96bcef3beff9acbaf92b053c6ff05ebc43dedd3b0d3e003a77a1953bab1e75bc377f8f3b5fb8983a8bc1a83acfd6eebb0fe16d3b4b41483a73cfbaba841d88bb39990d3b8d73ab39145ea8bb1b5377ba771bc739873e8bbae9d929bb71469f3bf9ac46bdf4ddd5bcdf41d7bb3a8b1c3c9f2ecabd4c9f80bd2538ecbbe29e063c5e18e0bdb51ea6bd6c5f7dbc4d72653bbe5ecbbdf823a3bd62dfa1bca53dccba0458a4bd7c548bbd1effacbc6d179fbb7c9978bd557f4dbd9c9981bc5876b9bb75d00cbdac9600bd38f419bc4e83d6bb784323bc2d0623bcb96931bbc806bfbb4adf443b67fdf23b50ca2f3a2add663abaff9c3c328931bef0ff683fc09aee3e3aa8be3c4e9847bedf2b643fec94ea3ebdf2503ca3c919befaca453f35b4d73eaa2a203c0416ecbdd9e71e3fefb1b73e66820f3cc376b0bd6733ec3e352a923e03ef2f3c9e4987bd24239e3e4dfe4d3ee7545a3cf14931bde83a253eb851eb3d21ac8e3c9fa3b6bc1961153d23041a3da9b84a3cbc7373bc125131bd4386b7bc3c21e0bd46bf193c0000000000000000ca2de5bdc5067e3c00000000000000009404aabddad8543c0000000000000000c98967bd52d07a3c000000000000000000fa20bd921b853c00000000000000004e8bf1bc064c933c000000000000000031579cbc900e8d3c0000000000000000fd883cbc24aa633c0000000000000000bd8839bc4d65f53b000000000000000073836bbb228b8739b360cb3bca359a3bafedb6bbda2c003b6229763c8014653c43a5a0bbc461823b09fb843c8f5d923c511068bb5c75703b84c4803c43888d3cd2d7abba98dea63bf02d2b3c7d1f3f3ca02b13bbeeef543bb99a253cd9df323cb7521fbad713b53aa616963b2118cb3bb3c971b9da9f9d3a76a7c03a5e4a283bda86a639caf027b9219febba486e0cba533f2b3bb4a15bbb39543a3c9c9cf5bb2cf9a53b1e7a70bbecbf543c5a56aabbf198e53bc001cdbab59e293c4cd022bc80b2fc3b1dd8443ac19d163c430c39bce51fdb3b3646073bb26de93aa7e676bc0a4ec53bb47ae93a7c51da3adcace0bb78fc373b469da23a10fe4bba2bd975bb3115e53a769f8bb97ba140bb3c524aba3111bbb97074f2b9bfce30bb5272ba3ae11011bd32dd0ebda2d033bc46eb4b3c905c9bbd831ca8bd38f36dbc244f283c2911b1bdc10cc4bd8e71b8bcd0bb4e3b1af7a8bde1c8c3bd29a4d1bcc43455bae73779bda76a8abd6031ddbcd42cf1bb856e50bdefb572bdb63c9ebc1c1ff9bb6095dcbc57a50cbd07b805bc4712c5bb87a40fbcaffb5cbc5253debab684abbb5258eb3b7d63633b31454a3b3b8b0bb91208603cc01b12be9fe52f3f50ff303fb45f8a3c570122be53b22b3fed862f3f1ac50c3c0413f3bd8c4a143f48291b3f9a7aed3bbf15cebdc346f33e17d4023fcd46043b7df772bd1113b03ec574bf3e1f81243c751174bd4b87753e54be8b3e6af5303cf3db1fbdb570013eab69173ead2e4e3cf5bbaabc8b81023ded94373d3bd95d3c07405ebcaf1806bd4478eebc1d9e14be3143513c0000000000000000d95719bec92eaa3c0000000000000000f8b0d3bd54788e3c000000000000000098b3a1bd32569b3c000000000000000095d21dbd22529f3c000000000000000079a020bd99eea93c000000000000000047bdd8bcb8dd933c0000000000000000e1288bbc1323883c0000000000000000d50e83bc7ad01d3c00000000000000007fec39bb8dbae0b82b2d903be6f5d53bd141b4bb7600e8395af5343ca5a98f3cda25c0bbfe50043bd687803c0c50a83c122495bb770c573ba585643c63e5963c5d3528bbcad93d3bf3da3e3ce60f853ca46409bb237b0a3b6f521b3c8f85333cb5402abab59af93a908d893b1feff63bc9e7d2b8b15a3b3a6edfc93ae6a51f3b4eb0ceb8602c6d3a6edf01bbc3e37bba5b4f1a3beb6860bb28ea313c7184b3bb811bd43be52a9ebb0b263e3cd8716b399c88073c8bc207bbc88f2a3cbdce31bbe78b263c2df58bbaab59f73b7523afbb770ade3bd790223b05f3983b3993eabb4bb5d33b628da03af0bae53ac9f4a1bb1e46543b65c7c63a8970f5ba830332bb7c49a83a3518c1398d4924bbae9190baa55209baad548cb9af450fbbddb39db81aa3c9bcabbc4dbd0e3218bc97fd4d3cf94862bd623dd5bd6b466bbcdcf23a3ccf618fbd79adf3bd3748cbbc011fa93b02808abd2e1ddfbd9b0bdfbcb2c900bb411a6ebd1329b7bd9a5aecbcd5ce8bbbc65b2ebd419786bd141fa2bc3400f1bb035fc0bc943723bd75b231bcc46eecbb4b4704bc119367bc0c5e44bafaebe6bb669fbb3bfcf9ca3bb354a63be510b7ba95a5103ce027dbbdd7aeed3e7b4c693f3470483c93bcf4bd0f84e23ed9c0673fc9b6903be2dac2bdafdfc83e4d004c3f29942d3bc26799bd2a06a53eab6f263f89d3723bf6ed71bd25c87e3e9132fc3e3fcfb73b97b22ebd848c2a3e19edab3e6cd8223c5970f2bc5cc2b93d8f0a393ee306223c0aa66ebc4942d53cf157443dd1ee1f3c973205bc404ccbbc097628bd30ea33be9ac69a3c00000000000000006ed83cbef0fbd13c0000000000000000a49f08bec37bb43c00000000000000005743bfbddea0be3c0000000000000000559a75bdb20da13c000000000000000079363dbd580fc23c00000000000000008692eebc81fdad3c0000000000000000675b89bc3012973c0000000000000000fa2898bc9e4b343c000000000000000070b0f6ba709ff1ba84f3343b58b80b3c08188ebbbe1c76ba73d81d3c5e1fa43c80b0acbba460583af4bb593c00ebb23c07fa88bb881c953ac314583c6d12b03c7a34dbba23650f3b70511d3c14ee873c17cefdbab7bcec3a44ba083c8a32543c5944bcbab3c89e3a708d943bb93ce53b67ac9e390765ce3ad9636d3a1572183bb8c36237cceea839935620ba27f8b1ba602d4c3b8a35a2bbed79cc3b0bd9913a8171f53bb588babb3a2af63bf404873b0dec1b3c79c101bbc1fe1d3c1bd9efbaf9ca193c393699ba2558ee3bb296d53913501c3c3948933a42f5ce3aa407e1bb43c9e03b9a54963aa1b6a53ab98733bbb4f48f3b6e724639890c273a53a52abbc416273b14f75f3950ab5bbb877669bbe4a77cba85319fb9eafaa4ba484c98ba2f3133bcb87f83bd5d619ebbd34b5f3cf4370cbd5eb805be1bb738bcd080333c7afd4fbdc36708beea8fe6bcd9a78c3bf86c5cbd8e7901beba7ffebcc074973a12de33bd8093c2bd1dc0ffbc1e2704bcf32407bdfcc19abdfcfbb5bcbd8ef0bb13a69cbc00b92fbdd60a38bca5cad0bbc70ab7bba30971bc2dd40fbb2f51e9bbf09c6e3b2fe1ea3bebc9ab3baaf73ebb6690d23ba8fc8bbd8607753e91668d3f72a3c23b35cd93bd2eb15e3ead768d3f8812e9bacd6e63bdd97d5a3ea044703f113850ba99df4fbddfea353e0f35473f31ec913a985607bd2bcf103e1270113fbd03813b374bf6bcbbb9c43d06f9c73e9d7ebc3baaab9dbc57c25b3d7c92533ef6bdea3b4849d7bbad0daf3c66d8323dcf97de3b98b0c5ba65a147bcae6967bd535449be10f3bb3c0000000000000000f2b14fbee00d023d00000000000000002bc002bee041ac3c0000000000000000b445cabd141bb83c0000000000000000662957bd6b80b53c0000000000000000480f2ebddaccc03c00000000000000001285dcbc3642a33c0000000000000000e77440bcbbcf8d3c0000000000000000051223bc24043a3c000000000000000063d7a9bace0248bbf7a0233b13b1503cad4680bb66eb8ebbc342fa3baf54bf3ced6ba6bb0a59adbab7633f3c8874d53c89978fbb566d6e397d44403c4e79b73c36aa2abb03cbd73a7124173cb7718b3cc4eeb6ba9c036c3a61f2db3b36e9693c56e8d4ba071faf3addbe7c3bb364153c2f15273849cee83a9524733a0a3d283b0d14ad39455d973a91171cbb05cdbcba1225703b0e50b0bb5c8e863b3d19cb3b12b3023cf1c1febbab42c03bd12a363c65ed443cdf7069bb7528f23b7822e03b8e9a433cf0cc1aba9d24903ba3e78e3bc54a1c3c6427033bf7043c3bb1e164ba4be5ee3bc0bfd03afd5f223a6fc007bbede3823b8bb1dc3ac003be37811155bb53ea0a3b0826423a78f244ba79e5cbbb159f8cb9b8362fba8f56a7ba10aa5fbb8128a0bb7093ccbdabc480bb4106553cc0651fbc7fd922be46f89abadf48523c050bfebc321828be7f47dfbcd09c953b73d419bd063211be0f6d0bbd5094a6baf14c0abd262adebd68c208bd7d55f1bb2543c4bc06c0a9bd3236cebcbc3d06bc687e59bc3ed245bd542449bc54b112bc89efa1bb39dd6ebc38091bbb4cc821bc9441ab3b490c353c1c6bdd3b28ea36bbf23401ba2b01c8bca596fb3c9fffa83f074fb3ba8669e4bc319d563c5aeb9f3fe7b5a0bbf4d4d1bcfa74283db51d8a3fa31196bb1726b3bc3236433d47295d3fb1bf4abb3c3182bc45f43a3d6baf223f512ca83a19bf0fbc2f1c023d4e86d93e4c5c363b40ed83bbf362ad3ce14a5a3ef7e4223bfc60a53babfdaa3cf46af63cae0f873b5666ac3b1b3d06bcf06abbbd9ff445bebef0ad3c000000000000000063c445bea1f3da3c0000000000000000b2aef3bd36eb9d3c0000000000000000795695bd2e189f3c00000000000000008b2a19bd3345973c00000000000000009014c1bcd326a73c0000000000000000a14f33bcf3779a3c000000000000000093abc13b8f338d3c00000000000000000f8514bc69e81f3c000000000000000000000000000000000000000000000000a22298bb312d2cbbe8ca0d3cb776c73cbdf682bb4dc6bbba6891243cb601b03ca1ab58bb2864a13ab3262a3cd35a9e3c085ae4ba00e26b3a0f27093c47b8833cd8271dbb7a91d43a1e37d13b1f533c3c86ab12b9b5569e3a00de3d3b3657e73b8ce4fbb95a7aa23a13cd88b88baf3e3b000000000000000000000000000000000000000000000000000000000000000083441f3c90fa75bb1f5bc33b337b4e3c4fe6393ca9925cba0519a03b1cb7e63b451a303cdfb7f43a7119993b883ceb3a3ba3183c2443503bc124bc3aa639ed39e6b4e93b6480243b831b3c3ae5e9f1b9ddc1813b98e79d3a918a69ba5c8d43bbdeae753a8a46563acf7cd4babe3757bb0000000000000000000000000000000000000000000000000000000000000000402592bc7f0e2abe7e35a9bcdce7ca3b51e7b1bc83091abe9615ffbcc9ea9eba203904bdcd0d06be553829bd3f7603bc8187eabc9b7ed6bde6a118bdfb6034bc6a4d9dbc44fe99bd95addfbcc49033bc655207bc1c5041bde4c06cbc9a630dbc36092e3a8d2970bcd694afba7b80b4bb000000000000000000000000000000000000000000000000000000000000803f7a0018bc0b67833beec6cdbd8a24a93f9ecd17bcc61570bab3c977bd59808a3f268001bc23a7fb37536f03bd9f9f5f3f37deb3bbde06c039c19bb1bca694263f6ace57bb6a0e9a3acfa6a2bcd5a9dd3ea24b153a4e83c33b687434bcabc4673ec6f1423b50161d3cb80c2fbc8850e93c00000000000000000000000000000000000000000000000000000000000000002a70cbbd4181373c0000000000000000996d42bdc5f0483c00000000000000009c1a4fbc27e2783c0000000000000000cd4a7a3a75ca8d3c0000000000000000f3d88b3b962b843c000000000000000009fadc3b65db7c3c00000000000000009834cf39254c2c3c00000000000000000000000000000000000000000000000000000000000000000000000000000000119a7abba475733bf9cc063c059dd63b417923bb15602b3b36e4033cf790f73b2bfb03bbe376433b0fadf33b2f67ee3be81a82ba3c1f313be2d3bd3b7a6dc73b4edc57baa0ee803aca928e3bc686cd3ba5e49fba0cb8b73aa05f2a3b77a6693b2f62adba3a441a3a6f7ebd3a3172313a00000000000000000000000000000000000000000000000000000000000000009ec0923b7355833bf4e88b3c5bcdcdbc1181c33b667ed13b5900623cd961b5bc9f99e63bf9bffb3bb245083ca854b9bc298fd93b6f22ef3b381c803bec93a4bc511c7c3bef9ad23b2283d83b2d4f5dbcdea2623b598d753be586a63b5ebccdbb661ee43a2c7ddd3a71ea863bf6989cba0000000000000000000000000000000000000000000000000000000000000000c015b5bd66212dbdf4118dbc5c361abc8d349dbd8fdf40bde96fcbbc8079afbc4fc688bd987e43bd2d5304bd9b4cefbcf5ba52bd7f4723bd5ca9f1bcb94cf3bc64f81ebdff4407bd77b9b3bcd3ffd1bc99f7d3bceb25a8bcbf156dbcd00c92bcaa0322bc5d5602bc04f058bb4e4006bc0000000000000000000000000000000000000000000000000000803f000000001df4a1bc44783fbdc408963f5f6626bc9c95f1bc597f02bd587a753f2c168f3c4cbbf5bc6bcfb0bcd603453fe8b2073db385e9bcdfbda3bc2fb4133f2256013dd677edbc5beee3bc466ece3ea0739a3c223499bcaedcf5bc36c1703ebfacb73ba7ff8dbb2d9d09bd238b903d15a176bc000000000000000000000000000000000000000000000000000000000000000046d78d3cae5b033c00000000000000006607043dcc04d73c00000000000000004093313d46902d3d0000000000000000f7132b3dfdc5313d000000000000000074690e3de37b2d3d00000000000000009ffcca3c559e0f3d000000000000000044d7093cf0c2af3c000000000000000000000000000000000000000000000000070c29bbf7261d3bdcd7a23bf2d4193b9a0bafbb28965f3b288cfe3b060dc33beb0b88bb7f52323b84550b3c2a31023ca5c34ebb9711f83a64cbfc3b26be013c2d866eba0d10d33a3bd0c93bc4aad73bd76d37bbd7b1fb3affc4963b18a5b03b84fce3ba17b2b539a2e6553bb484453bf55aa7bab41ad0387750d33acc38d83a48c0abb9b1b1a039b1bc81ba865dcbb9bf4ca83a61f501babcd6813c9b93babcf2a67e3b87d2433b308ae23c860aa6bc3a67c63b3fdaeb3b805ca93c40d0b3bc6155e63bcaf9153c19278a3cc5dc9bbcc1a3be3bdce0073c8407dd3b9b5ea0bc6764b93bf7aadc3b05f93d3c7ad231bcdd8c633bf443923b3e6a063cf0f792bb27e6ea3a50c5223bda17773b02ae72baee8ce9b763c152ba6726c13a0069e639ee785abd904bc8bc2fb2c3bba242f23b0667a6bde2ea25bdab9271bc62a089bb6be79fbd8e6850bd0672ffbc0fb8b8bca2068cbd7e8b50bd6f0212bda515fbbc342438bdb6a140bd8e0ef8bc35befebce2c920bd48f011bd29c3e0bc5ba9d6bc2805bcbc4ef2b5bc335384bc61949abcf4b912bc6de126bc2f64e1bb703841bc95f7d13b0ede1b3b95b3273beaed653ae03312bc9a09b1bde65d963f042fcf3d083bf6bc347acdbdbeaf8c3fd7d4c83d6fa815bde0c481bd8909693fac1af93d518727bd67e251bdc02c393fbf9ef23d52f603bd547b16bde4c1073f1321cc3d1f3305bd117b3bbd9af9be3e5f8e923d168c99bc325138bd8ba4573e1edc173d4ddb903b441b0fbdf9c6863d9a88ec3bb58a2a3c68f1ebbcd1bf41bd50bfbabcef1286bcd3af46bc000000000000000061309ebbba5d003b0000000000000000b547c93c6aeae13c00000000000000004d79103d29a6313d0000000000000000a61a193d710d383d0000000000000000d10c003d079a3f3d0000000000000000c67f983c9e371c3d0000000000000000e24a183c978ef73c0000000000000000377008bc591ff73b0000000000000000557d25bb5055fd3a55ce4b3b7368353bc0ad9dbbb7023e3b24c6ea3bf945cd3b922d4dbb3741ba3ab7dafc3b5372f73b0a5356bba750d23a9094f43b849afb3b8da6bebaf45fc43a2272c63b490cdb3b4a8809bb7662093ad0df963b5b55b43b151e99ba01e4a0382a80473b6e7f543b8d3397ba1ed0f0b8ae39b53af0d8ae3a745cb5b998b462b95a4179b91afdbf386c2f6638c0f961390981853c4af69dbc480b7c3bf013943b8788c83c0071b2bcf816c53b995b143cd879953c0be8a3bc65bdd43b0bcd1d3cf804933c456ab3bc109cd13bfe7b033c3146003c67c97ebc74db9f3bfe84ee3b87af453c101c1fbcccb05f3b50688e3be5b7073cfe70a8bbf4d0d53ad0351f3b8e209e3b6de2e5bac36614ba6a0830b9e0bca43a456564bafcb50ebd452ba0bc32c01bbc18abf83b61348abd89ce38bdbe8ccabcfa18ffbb39bf81bd60365abd71e719bd6978dfbcee7564bd29fd59bd315924bd891f05bd13e03bbd73603bbd303f11bdd731f6bc207b07bd83c611bd44a5f5bc4e83e7bc50f2a1bc66f7b9bc461b98bccbae96bc13e6d4bb6f4926bc2866f1bbee6a29bc710b9f3b7573d63ab864ed3ae0658b3aaea336bc95c8c0bd349a7e3f578f883e6eb1d7bcbd9ad4bdcd8e743f0120873e19fe04bde8a382bd8c56463fde8a813e893e23bd8e7278bdf3d9223f34b1613e9e3204bd7d7f31bd47b5ed3eaf32333ebecd09bdfa565dbd4c6fa83e9c38033eee1baebc03db41bdbb60413e4234953de085173bf2c42cbd7dbd803d399cb13c94e7663c98f1cebc3a84ffbc659890bc4b5611bd060648bc0000000000000000b1ed89bc8005073c0000000000000000e8a8943c01d3043d000000000000000065add73cab62363d000000000000000042b4033d96293d3d000000000000000071b0c73c6e96393d0000000000000000167e3c3c868d123d0000000000000000b535fdba823ce03c00000000000000006ee046bcb3e7093c0000000000000000f0f8b5ba84b9943a4361163b79ed473bc6ef81bb8512e03a0c4ec63bb18ec03b8d4661bb46a19e3a2193ea3bf6e7fa3ba5353abbbc2fb33a4f91b23bc3cc0b3ca69ea1ba8034793a54a2bc3b5730dc3bc66a04bbc7ea3539dbcf8f3b0451aa3b2a28e7ba0244b0381fe94b3b74c2463b76cb55ba3b24e1b9a576c63a395dc63a614cd5b963fcdab95279b8392482beb9f7ccdcb9cc60d23ae11b503ced469abc5215983bf658ab3b09d0b83c56d393bc96ffd33b988a0e3cd0459b3c6ee885bcf72ed83b0c2c273cdc8f8d3cd32e67bc235cbe3b11b51a3cd687123c053b68bcac3e9c3beab0043cdf2c4f3c54b6f2bbd2995c3bc180a13bfa75163ccb3662bb4c52d43a254d0b3bfb5e9d3bc61e233985fa99ba143f9139254fd23a65369139199fe6bc6a66a5bc51be8cbcb734c03b21245ebd112e49bd278604bd02a90fbc4eec68bd717b6abd71de2ebd2ccad8bc896258bdb69869bd21fa30bdbb210bbd046a23bdab653bbd1c2423bd4a870cbdeffffdbc02a318bdff6c02bd16f8ebbc1dd394bc6fb0c7bc0dcda5bcee2f9cbce9bffcbbc27137bc62570ebc6e3f07bc1d69843b5e48cb3a3ff39e3ac9f92c3b960d38bc2c10a3bdf701513fccc9e73e33a1debcd1dabfbdafd2473f6495e03e3ccd17bd19048fbd84d9273f349ac83ebda627bd7bc07cbd971a073ff1cda93eed6c0dbde6383bbddc9bc73e2186823e4b9f09bd8f1661bd5a008c3e7615403edfdaa9bca60d4fbd8df5213eaa0be23d15ab3739c4152cbd4553613d0e19223d5de91d3c9acddbbcc145c4bc40848abc933643bd1dc224bc0000000000000000b31c04bd3e34233c0000000000000000c2b3613b93300a3d0000000000000000473cb43cc4733b3d00000000000000002f75d63c74ea453d00000000000000007a2e883cfa14433d0000000000000000cf449d3bec491e3d0000000000000000a7b117bcbdacdb3c0000000000000000c50999bc754bbc3b0000000000000000935fcfba1504453a9e76343b51e4053baa7c7bbbe13c583ab455c73b5c3bd23b929c69bb3efd143a6e6cd93b76dd113c93cd61bb469fa8b91846ed3ba36a063ce262dfb93a129e399594be3bc6ccc93b814113bb689dae361a2a973b6524be3b5759a1ba40d024ba26a3403bb2c0513b150b15baf5de71ba8320ec3aebffc93a05afbe394aac98ba4d1793395a4b8b39da48253a18adcb3adb9b523c7cf379bc34bf773b52f9c73b2f59b53c630a7fbc8b5daf3b5d931c3c3edf963c2c651ebc7a44c73be1fa3b3cbed4933c140d13bcd018b73b8594113c0e5ab23bf6ba4fbc9e3fc23b5362db3b42d3323cf97951bbeaa6333bb593aa3b99ba1b3c475e2dbba4eb9c3a30bc263be28e8f3bda3383ba0c85a2ba703b6db9b8ae033b3f0de7b8a8b3c8bcbd2ababc4edba8bcc858a13b395140bd620a51bd36271abd882525bc037957bdc1a381bd52e42bbd8b64f9bc1b7f41bdab5675bd0ade4ebd71f80ebd4c3811bd945838bddf5124bdbc4607bd2b1dedbc835c25bd7f7a0cbdf7b2e7bc18a17fbc2589c2bcc42bb7bcb35b9abc4693bbbbeef427bc02d929bc0a1c00bcc58e723bf93e363b1ef99aba3df87e3b81ca51bcf07e84bd2dea213fb9c1223f9fd0eebc318b9fbda677193fdebb1d3f589517bdeaee6cbdbb09023f0506083f570f27bd49e16bbd13fad23ee483e43e19e4f6bc9e0510bd8cf79a3e1aefa83e631310bd00c54fbdf84b5e3ed85d7b3e38d5c0bc97ed29bd4a45ee3df74d173e8b5530ba23271bbdf85c263d651c613d6f51fa3b711db0bc797bbcbc817a86bc74167fbd751510bc0000000000000000cd543dbd1697573c0000000000000000292f89bbe182163d0000000000000000c103503c0dc8483d00000000000000001b2db83ca860373d000000000000000099495b3ce4fc3b3d00000000000000005da1fa39d9c9173d0000000000000000eb3064bc03d8d73c00000000000000005473bfbcc52cde3b00000000000000001a16bebaf18c6cb9d0f44f3b6a34263bda6292bbea81743a124a9b3bd151e53bdc3c99bbc55e1e39f259d53b330e083ce90d57bbf81667b98165c93b5f0d113cbe4405bb3f181d3a6d99a73b71c5dc3b447b1cbb099025ba3d198e3b151fbd3b2b0ecaba9a2c7ab9481e1c3ba8ae793ba3067dba53a0f6b9feb9d93a51a9b23a0aee3339b00226ba242a7439cb194cb9e1107139e729073bc893343ca04225bcd356853bc570dc3b0a75b03c8e00f2bbd901cc3be9c8293ca9b1ad3cbd86bbbb204bda3b82da333ce1aa8b3c683098bb7bebb83ba6d82d3c8ad4203ced1309bc03d88c3b28e60c3c16714e3c09219dbad1b14c3b252fb13bff5d053cb24e02b9a179bf3a43ae223bdb5a8a3ba5e49b39ba5267ba93cb62b9758b133ade3f2a39fe16b6bc0331d6bcc79acabcfa71cc3bca0e27bdef277abd2c4d24bd583a2fbc815a39bd988689bdebe550bda576efbcc9882dbd693982bdd76c56bd460e14bd1e7109bd0aba4bbd1e6237bdaa0011bd08c4cfbc74ff25bd36d216bd7b37f1bc3cd076bc2dc6d4bc0fbac4bcf27b98bc1b90bbbb82e02abcd6003fbc74f8f7bba8c4af3a53bb9b3b5ef52b3a2510653bba0461bcf15f4ebd0babe53e5bd9513fb4fcecbc9b3f83bd58b4d73e724e4b3f0bed25bdd13256bdab5fb93e3efc2d3f93022cbd962946bd4817973e840c0e3f78f70dbdbb4f19bd071e633e266ad53e8b0305bd4dad40bd6a4f1c3e1b7e9a3e4aa6a0bc8bae25bd3d8aa93d44fc363e4af801badf59f6bc2880bb3cb6298a3d65680a3c632b8bbcc569b1bc441bb0bc44289bbd1d54f2bb000000000000000033417dbd3c0d653c000000000000000073bf83bc7e4d243d00000000000000006d24ec3b1d32573d000000000000000098ce8b3c801a4e3d00000000000000009376ef3ba436473d0000000000000000d19c45bb05b9213d0000000000000000ac9894bc5706e63c000000000000000028a6cebc50bcd13b00000000000000009c6425bb0f9e093a4a27063b7788793bc723acbbff0b093adffeaa3bf724f13ba1318dbb5b4c5f394f7abc3ba5f1133ca26289bbc3d901bac589bf3b28830a3cca9126bb3971323a1c48973b5e53f83b46ff19bba00822ba85bf613bd432be3bd6e5cfba307c1fbaba7e323b13e4513bda043bba8bc76fb940c8893a27d8c03afde678b96fc155b87c6fbb39fc9462b984cc4039845da73ade804b3ca47491bbb0819b3bd88bcd3b3f74ae3c91dfa539c7b7ce3b68cb303cd649943c49d30abb415fe23bc7ef383c35b99a3c45cc953a170dbd3b82db1f3cd84d203c7d998cbbb88cc83b5829f63b9b884c3c3285063b4fd4623be9a89a3b2a0ef43b5be2ec3ad886d13a39ae193b9685e73ad9780a3bac8eb4b934356aba81066fb94c742db95b9da9bc9fd60abdf15bb3bcc7a3183c1c2e19bde1c592bdd76530bd381f08bce86a25bd906091bd161b58bdce5c01bd63ba1cbd18118ebd2d1760bdeb4715bd3d3afebcd0e953bd7f1a3dbda6cc0fbde740c7bcc23d33bd70ab17bd6275f3bc08795bbc1ce8cbbcb249c8bc18a39cbc5bb99abb00ff23bc338d39bc58c103bc4beca83a20219a3bb16d87b82e7f613be0175abc1cec16bd4d7c873e16fe7e3f3dfdf9bc504044bd1db27b3e768b773f1d8f12bdbcab0cbd262d653e14654a3fc26930bd8d6927bd1d253a3eace0283fd45d08bd383e07bdceb0103ebc0ff83ed29306bd41b61bbd911fb83db6ecb33ece88a5bc0f7ef1bc3fb9353d84f7513e2443b5b855b4adbcd6a86f3b62f3953d07f5213cc596fcbb76aeaebc32e8dcbc73f5bcbd742a13bc0000000000000000647a97bd5eb7793c0000000000000000f1e324bc57bd263d00000000000000003ff3b93bebff563d00000000000000008f588e3c4d36533d0000000000000000ecbd073c1a26503d00000000000000000e3749bbbd9d153d0000000000000000d2b395bcb252f13c0000000000000000dfead1bcb6081d3c0000000000000000c9563cbb3b0ffc39393f3c3b8d606e3beb25cebb2a9b06ba83179d3ba7cd023c0e36bbbb4cf3e4b95815bd3bb74f1c3cf0a09dbb6fcfa9bac05cbc3b8914223cfa8833bbad9c7439097ca43b9e61d43b341f6bbbd309acb8e4ca553bde07cb3b9acf01bbd115c4b913aa153b499c7b3b65e74dbac70d41b9a080973a9fb6c83aca858339643b36b9607860b9ea7081b958d1083b7397a53a18f8353c3612493b5c22ab3bcacbc73b107ac03cd0133c3cbea6f23b171a243ca676b43c81fafb3b3467d33bbaeb473c0bd5a23c882bd13bacdeee3bd58b223cec71053c8a95313b9703b83bfac60a3c75065e3c6bb9a13bf5b0553b2319b03b0146de3b9767a03bad040e3b5ed90a3b4d2c13ba5a90393bd14b11ba246e51ba2668c3ba8ee5a43a5f55c7bcc8a854bd1b6edfbcef62e23b9c0dffbc8148afbd740c26bd0a25cdbb737314bd58c1afbdc62960bdb150f9bc65f90bbd5ecb9cbd3ffe65bd00431abd4db5e3bc16e867bdb5983dbdb85e21bdc433acbcb4eb3fbd316726bd4f95fdbc584538bc2c8decbc50d9cebc504ea1bcfa0574bba5a940bc933538bcb35510bcba36bc3a44c2b53be48f513a36e0ab3b3a7a6abc13189ebccc99c83dfa8c963ffb330dbdf77e0fbdeb779f3de1e58d3f21742abda2b1f3bc3114b73dbba36c3fe89f33bddc7f08bdc2f89f3d26cc3d3f4a600cbd7ec6d0bc6e027b3d70d40b3f4e7802bd3c79f0bc2be6013d98ddc73eb72c94bc9366bebcdd3bde3bf258653e0389873ba20e02bce9eb3ebc65d1943d44e3183c8b472dbbfd05ddbca1f738bdfbf0a9bd57f4a9bb00000000000000001f0b91bd9877403c0000000000000000a7e31bbcc0f0273d0000000000000000bdf6843c4c515b3d00000000000000000e42ce3ca972633d0000000000000000a72e923c2e0e523d000000000000000097741a3bdff2263d0000000000000000ebf53cbce66b043d0000000000000000659ae3bc41b5b43b00000000000000000000000000000000000000000000000083c5bcbb816b3c396015af3b588c073c7d479cbb81ed76ba59ada83b2a81153c79917cbb5fa48ab62a84993b0acd0b3ca02f02bb6d792d396329853b88c0003cf0371fbb5b8e49b907cb7b3b0c75853bf43d12bbc9d48539f436073b36be863ba581a6ba4dd7de39b26ee73939c1983a0000000000000000000000000000000000000000000000000000000000000000ba82d13b07bce33b6cfc9b3c73ca163cc892d53bea972d3c26219b3c8816fb3b97daf63b2cd6363c0396723ced45943b0288c23b996e1b3cbe8b0a3c9f7add3adaaadb3b1872f13b838e1c3c05f1883b2a54733b6e738c3bd7e2bc3bdc1c273b7c45093b5bf6ca3a62803f3be77be93a0000000000000000000000000000000000000000000000000000000000000000b52c08bd612fbcbd82d33abdf2c488bc1816efbc70d3a9bda3c154bd3e3d02bdfa42f9bc592a97bdb3595fbd121422bdad91d5bcb57c6abde74e3ebd34c919bdef5e88bc7cc738bd138a1bbda16efcbcb11d2abc11b7ecbce451c4bc367098bcf31202bbc1e439bc3c2516bc87f7cabb000000000000000000000000000000000000000000000000000000000000803f68cde4bc568636bcaee6edbcf1f1963f471b15bdea2c8fbcb2165fbc0eba773f433d13bd9a4e95bc4d1e65bb04fe473fe481fcbcc1e58dbc8fcf8dbb69b8163ffe1fe5bc73ebb3bccb368bbcb9aed33ec75c80bccb575ebce201b4bc9fb3763e3e1f02bb87b8fabb55edfcbc7914993d0000000000000000000000000000000000000000000000000000000000000000e2d1a7bc3d7cae3c0000000000000000b89e7c3c8b182e3d0000000000000000a469113d90b2603d0000000000000000a474123dab9c5b3d00000000000000007ea8d63c2e12443d0000000000000000db91363c21f9183d0000000000000000fa2848bc089c9b3c000000000000000000000000000000000000000000000000000000000000000000000000000000008b2ae2bb6423963bb576453df71aae3bf6c419bbcc37c63b5fed323d517d323c3872543b7a48173cc1a6143d56764e3cc98a8c3b383f003c5699d53c4809273c09d2a23b84f19c3b893e863c2c46ff3b9829b83b902c543b4df9df3b6d247b3bc53d213bad6ead3ae3134ebbbe4c7f3900000000000000000000000000000000000000000000000000000000000000002f90b4bbec2871bb1ce1f13b4b7a533cb53c16ba88b7cbb99bc4983b994a11bb376c7a3bb1398f3a30e62d3be4108abc00efa43b1138ce3a8c7b1ebb0eec8bbc55ae223b9cda833bae4f1dbb664053bc5abada3a1bb17f3bbab3cdbb745738bca73b773a59ac263a73f279bb7f4d14bb00000000000000000000000000000000000000000000000000000000000000007ba25abeb401033b74861c3c9cbfe13a168748be6b887cbc31c609bafe1872b9cf2734be20b704bd585cafbb2ac16ebaf76d0ebebf86f0bc5b1d1dbc806301ba9bcebbbd7791d9bc1a072cbc9d49b5baf73f3dbd963394bc8ea1fbbb8c2e8fbba4e461bbae01debb143da3bb2ea5d5ba0000000000000000000000000000000000000000000000000000803f000000003a1ea23cec9715be4ea6ad3ff1890ebe6b44413c5ca2afbdc30f8d3f329a93bd3e65163c4bf27abd7e7b6a3faab02ebdc379283cea2efbbc97f92b3f0e2385bc5bb6b73bcd2fd6bbe072d63e4dc8193cce34903be0e87d3c7c1a4d3e92d9b83c9c39203b0d3dc03c936414bc6333c93c0000000000000000000000000000000000000000000000000000000000000000399df33c4cc914bc00000000000000004c70b83ca7e81dbc000000000000000005a0bf3c164817bc0000000000000000fc13ac3c5fcc07bc00000000000000003481963c9c010cbc0000000000000000e864813cf2edb3bb00000000000000005cea243c1bee49bb000000000000000000000000000000000000000000000000db1004bc221ae23a3858bc3c1c10f1baf512f6bba47f823a7dde263d415a4c3b9e8879bbabcc0a3cfed7303d2862623c11d6703a3fa4023c74af223d2f47743cce019f3b9287d83ba9abdf3c2609453cce9fe23b0378d43b980e903c1ee2213cd8bd8f3b3774a93bed8bb53bd531bc3bf545853bddb9933b726f23bb193a213b1310d3b918ae6639094b07bce6ae82bb1e6cd3bba40f1ebbec88253c94318d3cb3ad78bb9cf246b9be13073c6ca0903c3bed8bb9d52086bac2b1273cf5d3c3ba2ae6493b3b31a43763189f3b0c2519bc8990d33b61257d3b0f60e43aeca93fbc47f98b3bea9f873be02b16bb3eea7dbc7d4b583bf550893bbb3bd3bacce857bc0d950d3bc3aa193bb39afabb7fdbbdbb0b0085391d68a0bae921a1bb87e6d43b2bb7f8bd40413b3ce5e5dc3bc51bc739f07830befd1e37bb0fe99e385bb288bac5e54abe841cf8bc57fb37bbf586123b0f2039bed5e71bbd5aab19bc25b9ae3a6f150ebe59b02fbd29d253bcefde10bb5fc4c0bd5c1312bd4b3867bc20af06bb84ac39bdb16acebcccaf4dbc5c001cbb0c5b1abc442c84bc00ee95bb877c88bbb5f1b43ca0105b3b5bfb9a3acd7b83bbf322403d6fb078be27bbad3f81a08abcda49353de9144abea2f6983ff8fbb33ca2cf023d41eb29be63478c3fb9c2d93c0728e23c6ef8fbbd0c9c623f82bb3b3dafdda43cc6b89ebdbd1d253f14de6f3d1be48d3c31e809bd70adce3ef0ea863de5583f3cfd0cd7ba311d383e217b753d028a843bd027b03cba19ad3c2bdd393daf38f63b413d523c7facf5bd95ee1c3c645345bb0f99cc3a0000000000000000711ee4396df806ba0000000000000000d700303a455fb3bb00000000000000003388113b726a98bb00000000000000007c2eda3baee2e3bb0000000000000000c9fedf3b3209bdbb0000000000000000359f883b1cc34dbb0000000000000000186c39bb990c8bba0000000000000000fd901437f71e7f3b000000000000000003f098bb9f78083ae18d633c50f7aeba0ec1a5bb14d3ac3b47dcf83c35da0d3ccbf82dbb66c4133caaca173de39d763cff7be43a07002d3c08bdfd3c35fa883c2b47903b150f1f3c60d8b03cdd2c433cdc527c3b53d3043c343a813c1a4d0d3c3fec8f3b525a963b758d953b6b76813b08fd3b3b03289f3be31594bb40de9039abfa5eb9179e903aed0adcbb965e30bb7b498cbb034a14bab7c9f93b911a193ca5f5c5b9e2e949bb8cd1253cf5e3043cd5457e3b2fb8d437c4851c3cb7f360bb0724c43be1509a39b6f3fa3b33f13ebc1172ff3b267e833b20c4253b1e0d67bc0969d93b26fd9a3b48acb43abb3752bc3d83ad3b61ab0f3b187e2dbb48b309bce33f623b0424f03a3f7395bb502b2abbd810383afd77ecb9a6ba5cbb8dd3a23b8e3b9abdeb02fcb742b6b7395914dd3af49f1abe8db105bd99ce5eba56f7f93af31d2fbe069661bd57b4eabb4f3d2b3b505020be4c8a7dbd36be5fbc82934839b598fabdcaa064bd1c7a8ebc15a933bb7b7faabdcf454cbd6ea795bc8bb2f7baf75628bd0d9df4bc239d49bcd19b9fbb5a2608bc7a6b6bbc0b7fd2bb1d7bbebbfbd1433cad6af33a7972f43a6c6486bb6e924c3d2b3269be59288f3f061e523e1b7e4d3d01296bbe61c58d3f0e1c4a3e605a273dac5345be7e7b7b3feb1e423ee7e0043da7f910be73f34a3f4221373e6bc0cf3c279fc0bd42f7133f0fdf213e2bacb13cc5f353bd9b6db73efc00093e8c5f6f3c10434cbc6609263e5033bf3d88cb1c3c96e08a3b70c7893cdcb1403d0c32043c48c3a13b796095bd154f003bc92858bd750e7e3c00000000000000007cc947bdd699543c000000000000000049581fbd5e94cf3b0000000000000000bb4ce3bc735fc33b0000000000000000f3f185bc7f34e63a0000000000000000507414bc0a6aae3900000000000000005d21eabbd969743b00000000000000004ec06fbb63e8ca3a00000000000000000e9ce1bb21da8a3b000000000000000087c185bb7e7c483a093e043ca55a8d3bee7486bbaa7c973b8084cd3cb5195b3c3318f4ba1473f93b1a7fee3ce345a73cfc21da3a534f1a3cd1d0d13cb1199d3c7ee1843bae9af73b6a239b3c35f2563cf8abab3bb1aedc3b4188403c6106323c3c6b9d3b7ae9cd3b90c8423b8823833ba4def03a9c7e883b68026fbb75621dba2541513a81710e3ad87dc2bb1f6b7dbbd6f673bb5b3dc8b9342c153c86ae0eb916b3fe3a69f84cbb1d54103c38e40e3b0a2ad03bc7e170ba8ab32f3c2409f3bb1047263c1b8f6a3b988ecf3b46cb64bcd4d54d3c8cff123b305cb83b3c8a65bc7611e13b2a17ab3bd9fb323b905f8cbc3d7aa33b072f9d3b772b21bbfdce48bc547f5c3b332b653ad6a451bbbbbf4cbb3b890bbbea03d73817d346bbc8d8923b098d66bd9756bebc01cc863a98b5443b5e7af2bd03f283bdd123aabaaf758f3b641f0cbe218eb3bdf3f70dbc16f61b3b6a3e02bec33cb5bd3d1293bcdca7a33a5317d1bd3454a0bd880ea7bcde45e2ba65438dbd3cf974bd611294bc51a69ebbd48515bdcba812bd2fbe5cbcfa36b3bbdad407bcb4e95bbcccd091bb7d36e6bb50a2243c332a9f3b9dfc393b7cb89cbb1def3e3d24c85abe4eb9703fe1a7df3e689f453dc6fd58bee711683f81ccdb3eeac4263d829135becc364d3f1399cc3ed1b0ff3c7da705be59cd253f9693b03e3f37e23c3e93bbbd338ff33ec5a18f3e93dea83c56e045bd05f8983e0b26543e1fae853cef0a7cbc5c200f3ee30bfd3d379e333c77a2b9ba75cbb63cb4e03b3d0536323c1cd278bb100c6dbd6bd691bc4355e8bd6f1de83c00000000000000009d26debdc3f5df3c00000000000000005230bbbdf2e7a53c0000000000000000099f86bd98fa563c0000000000000000914841bd309f3e3c00000000000000006ec8f4bccee8cc3b00000000000000004bb37fbc8b18d83b0000000000000000349618bc5305ea3b0000000000000000abb7dfbb1484df3b0000000000000000e4be1cbbb8859cba1e67033c7e36af3b02994dbbef37413bd9d0943c57b79c3c92a2daba7b77b53b2bc8c23c6c1ac43cc9f03a3b0f2ac23bb090b93c7e8ab03cf728973b68e8e93b46e2673c8780693c6702bb3bea69bd3be242233c61be313c7387b43b8e6eb33bce870739ad19863b5636533b134a9c3ba93a5abbde0db7b9739d9cb86282263bf049f1bbb72f4ebbedad38bbc72f3cbbff41cf3b899a893a76369d3b5d7425bbe9fec73bd3e9b6ba7e51113c5b83923a53ba153cebae17bc23b13e3ce4882b3be84cbb3b77b45fbc4d67233c6896b93b4a23413b91f288bc7890113cff59bf3b2ceddb3a5d897ebc7503a93b94798f3b7faa89bb4d064bbcfc7d533b07ccc93aec0cb9bbf3888fbb88bd5cba116c60ba7efbacbbec77293bc25520bd74352dbd96090ebb0f211e3c3329acbd12d7cabdcaefb9baf27bd53b8230d6bdda53f2bd9d985bbca340c93bf39bcbbd0d7bf2bd06d092bcedd28e3aa3e1a0bde86dbabd08a2b0bc6f4ba3bae76f6fbd93f990bd814da8bc858041bbf83000bdef8810bd651870bcc2b2a7bb6ab337bcd3873cbc8164d7bb5cf5babbf460f43b8f46eb3b633a8f3bc1e6a0bbe66f1d3d5b3c2cbeb3d6323f27b02f3ff3a22a3d52382bbe6e752b3f596a2d3fa87e023dbcc60abe38e9173f41551d3f0964db3cd74bd3bdf3fbf63ec71a063f899c993c2f0f88bd91b0b53eabceca3e0091943c10261fbd948a6f3e317a8c3e69286c3ca5e85dbcaa66f73d8c33113e77d6163cceda1cbaa266f13cccab1a3de0092a3c148dbaba342011bdc90519bd07082bbe100e1e3d0000000000000000bb9a27be32b3213d0000000000000000c78809be4985ea3c0000000000000000cd2edabdc0f1c33c0000000000000000453d87bd26d8843c00000000000000000bae43bd33b76d3c0000000000000000bbca9abc717a133c0000000000000000286ae9bb65dffb3b0000000000000000e13901bc9c42133c0000000000000000f90343bb2c8eb4ba28c02d3b17f6113c12131cbbff4faa3a06845c3c7319c83cc421e2ba99f7413bb1c9a43c1290e33c1d47e13955c2963b10c5a13c93cdc93c9bb0ab3b8029d43b202e563cf9ea933c7c6d7d3bd1ddf03b0c54003ca3c3453cbc60883be354df3b134e283b4b20c23b1e38803b57f18d3b81b003bb1a23cdba5f6b15ba804b213bd8caa0bb05d37dbb5f3c0fbb52e564b9de58393bfb8f66baff20d63bea34c5bb1c53903ba82b57bbb17a663c484820ba67f3dc3b54a600bc96f27d3ce262ce3ab82dd83b307b4dbc8309673c167c613bd661c43aa61680bcfeb4303c63d7b13b5ad112399f9169bced0e9c3b1a378d3b8390c9baf6b24bbcf627493b2e50623aeaeeaebb543cafbbb99292ba32d0e3b9bcfa55bb094e0e3b3d588dbc22d580bd38914b3aff0d223cb0fb4bbd9b1a07be2ac4ed3ad8fe153c11b78cbdfe521dbebf6c5abc37d8d93b6d9495bd4a2e10be63e0b5bcc256863b47c17ebda2b7eebd11efbfbc9472893aec0d46bd6c70a4bd0569b0bc4b3825bb6064ffbc07262fbdb2c156bcd779e9bbdf664abc3f5d36bcffd1a6bb7345b5bb08f7163bb904263c1ffc943bb03876bb3a72db3c13dfe3bdb3d7e23e44766f3fd7ebee3cc668e3bd149bd83e148b693f5adab93c19e6bbbd6a27bf3efbcc533f0e88a03cde968abdeea89c3e79602f3fee4d7e3c299f2fbd0d11723efc63043f2a65433c10fad1bc60c72e3e11a6aa3ec3aa2d3cb2db0cbc052bcc3d90692a3e86be013c01b42cbb57db193dc87f043d5b86d13bda5e53bb833e83bc7b7065bd7b195abe94aa473d0000000000000000254955be27df483d0000000000000000f00b31bed153183d0000000000000000a43f03be93eae03c0000000000000000feb0b6bdf2c3a23c0000000000000000c1224bbd8afe703c00000000000000001453b6bc6f554c3c0000000000000000d17ca4bbd2bf1f3c000000000000000061fbd1bb0eaf2c3c0000000000000000667ddbba5f591bbb43ebe4ba4781713cf54c64bba87410bbe3c1163c4fa6f03c442789ba66b2a2ba0f74853c75c6103d03ab903ad33b6a3b2a0f743cefd7fd3c0c7a323b6197623b5f394b3c3ee8b53c832dc23b7a5a713b809a003c52de7a3c87799e3b6f74ae3bf2873c3b346aae3bc55e6e3be9c2853b127ce2b804d054babbdf7e3a57cdab3a49551abb6d16a3bb921c62b8e507abbb9ab4083a7afc55bb47fc0e3cffdec4bb7661863bc8cc7dbbb4044c3c0eff80bb002cbb3bbebecfbb6f14833c39e7e83a0e761a3bec4f42bc62984c3c42b3773bbf1b2b3b4e9652bc44cb033c29a4d23b293c7c3a23f779bc2ac3a83b18223f3b3a832bbbdf7653bc6c79703a79eabb3a25ea97bb11f1c4bb4a954139d2e3ebba1eebbcbbfa0b6e3a244f8b3be363a2bd8393213c30c9033ce5759cbcb62b25be6f68ad3b6104293cb69a23bd525d3abe374ff8bb404a0d3c2ecf3ebd09772bbef19e9ebcaea46d3be32f3abd617d05be557aa8bcdd177dba6fc71cbdabc8b7bde373a4bc113a35bbe2ced9bcad2c31bd0ea96abc47d953bb03ec67bc2af325bc528c28bbfc84bdbb58ebae3760d0373c8606683bd19751bbc328873c7f2a69bd7f1d5c3e63b38e3f2952653c6bab51bdea24433e6c438e3f61823a3ce3ac2fbd53602b3e6fd07f3f748f1c3c2c74ebbc8693153e966d523fc1c5c43badf97abce1f2fd3deb2c1b3f5e09df3b025df6bbb799ca3dbac9c73e561cb13b27e805ba622e973debde393ed232663b7605c83ac10f213d36d1cd3c25e7453b2be507bbf64e173ba44f8fbd81f468beadfd543d0000000000000000e08565bea4534a3d00000000000000003b4e3dbe5a411a3d0000000000000000c4a50dbe351af33c00000000000000008204b7bda3d7b53c0000000000000000b4de4ebd50866b3c0000000000000000c3f66abc70dc1f3c0000000000000000f93154b8f115de3b0000000000000000ec81ac3b7860ed3b00000000000000007a4307bbfe09a6bbfee805bafe7cac3cc1f335baa799abbbd293613be1ca1a3d7ce4b2ba8bc18cbb73db613cbd7e243d4b7988ba523a88b8f1bc4f3c9426133d68d07a3b439ef33a83a23f3c756fc93c96e6693b3890af3b7369093caedd943c7b47613bbbb3833b8d75a63b7985e23b4866813bbdda4e3b45a75a3b6a4f05bb9a55313a6ad91c3b559147bba24dcfbb9d8f263b0c0818bc44c58dba4884413b309abe3ba1761dbc19cadb3a86a420bb75ac5d3c17ea5dbbdaedb03baced95bbc0fe623cc35f103a9623b73b36d00abc1a83453c0a273c3be3621c3b51684dbc04d8283cd99d863b244f9e3abfa166bc960d9c3b4874113b5107b7ba83f943bce886583bf348993a1b7663bb31e4afbb5b252abb1bea14bb554685bb70859abaad38873c6fc701be90389b3c00a5223c34d0f53b7db138beff008c3c1672b83b1bdb90bcf59150bede93e4bb0ed8fa3bf5ebcebc96173fbef87f73bc41c53e3b0cd3f0bc631914be8a23acbc2ed4d7b98cd2fbbca4b3c8bdcf19b3bcbb3c6cbb67e1d0bcf73e3dbdbb5162bcc8e32dbb567fa1bcc5ef00bcb3bd09bc9a6a85bb2516b9ba7255b43c6bd6eb3b390845bb2ff4cf3a967303bc8b1926bc9385ad3f3d4f5c3b421cc8bbd79c913c939a993f7304a83a594940bbc1b0193c61c08d3fed27e139118fb33a230f8e3c13f3663f6231c73a598fb13beedce83ce91d2b3f2df3a9b85a361c3c028a263d5290d83ec582ea3adfe43e3c623b343d0d9f463eb95ed1b9c2e8573b7ed71c3d7ec2003dc9da78398b2f963b1f1f683c1336f0bd9a9876bed796503d000000000000000092c642be7420313d0000000000000000175520be66eae23c00000000000000002991e6bda666a83c0000000000000000cfca86bd558c713c0000000000000000022ff9bc10432c3c0000000000000000c8b9f3baa6bba83b0000000000000000294c963c49291139000000000000000089473c3ccc63c23b00000000000000000000000000000000000000000000000091e029bb607c00bce9f3e43ba84a3b3d7c450abba54a47bb72304d3c42eb263dbfe0a53a37b48f3ac4a55f3cc21afd3c177f223b33a9e03abcf6393c3818cf3ce55e7c3bbbd0f63a2f02d93b0d9d603c91f0ae3b71eb5a3bfa749a3b6b65b53bbbea3a3b5f2f163b5102263ace99adba0000000000000000000000000000000000000000000000000000000000000000cc6c0b3cdbab0fbc941b133b4fed973b36a44d3c036880bb1c9f8f3ba67090ba8c02613c9ab02f3bbd5a4b3bb02bc5bbf150473c8bba783b3d2a033bd7c30ebc64f90a3ce6a5763bd998e539ccda06bc9935593b8b1f743ba9e6f5b7e7662fbce9a356b71ddda33a02901ebb3ed56ebb00000000000000000000000000000000000000000000000000000000000000001b13593c542760be5a40253ce002073c57d8d6bb06004bbe477f2abc9754c63ad9c39ebc8ee436be6b85bbbc525518bbacf0b2bca3ae10bec3b2bbbc27bb98bb8e6aa4bc733bb9bd8b76a8bc51b9c6bb7a16a2bc297531bdae097bbc07f5bebbf8f723bc88ae40bb196c88bbd21f96bb000000000000000000000000000000000000000000000000000000000000803fa9d3d5bb40b0b33c8de715be005aae3f2ae5b1bb438e8f3c911eb6bd24be8d3fc231c4bb63ff933cc74383bd68d86b3ff0cd89bb05bbb43c768b21bd1c2b2d3f0f78b8bb4265a83cfc693abcafffd93e7c3136bbd7e68d3cd5e14e3c9045523e27f687bb0b47783c9e1ea13cf91a94bb0000000000000000000000000000000000000000000000000000000000000000f97a0fbe1680a63c0000000000000000bad792bd11a9503c00000000000000000d0732bd9a10063c00000000000000007de89fbcf980573b0000000000000000fedf883bd5335c3b00000000000000007765aa3c96f4d33a0000000000000000e968b63c1ec6c5390000000000000000000000000000000000000000000000000000000000000000000000000000000022512abcce29bc3b697f323d59d41b3c04c779bbfa57f83b0567223de57b553c0a541d3bba3f0f3c536c0f3d8f9d7a3cb93e613babf4093c6584d83c24ce543c0b27d93b617db33be4b1963c083b0d3c7de1f43b12b2b53b38700f3ccf509d3bd055c33b572a6a3b484353badeb2a8b900000000000000000000000000000000000000000000000000000000000000007ad1bdbb763b21bb6783093c7b9bea3b9bf9423af5736d398a761eb99fbfc1bb5cee1339f0b2543bd570b1bb276b85bc3955543a8f45db3b7340f9bb70758bbcd0cbfd3a017dc53bc71a49bc10704fbc384bb2b8f5d9863b5a4754bc20b946bc1aeabfba317c2a3b54d730bca8435fbb00000000000000000000000000000000000000000000000000000000000000004f6942bea56435bc69afd5baceca9b3be67026be6f3903bdc6d288bcc31d073a50d313be17d932bddfe9ddbc307955bbcc1ddcbd0ddf2dbd529701bd133b06bcdf9d95bdb49702bd455ddcbcf85af2bbae4d1bbdbc98a8bc048e92bca0ac02bc66417dbba2ebbcbb0b74d2bb4a4ec2bb0000000000000000000000000000000000000000000000000000803f00000000844c823c64651bbeb3d9ae3f0e1a07be2292ba3b3a57cfbd58578d3fa27474bdde3a833bcde598bd9041643fb04d85bcfe7a203b58495cbd49b3253fa326373c4139ec3ae865dabcce91ce3e6664c43c460fe63b9996b7ba38b33c3ec636063dbd7fa83bf7257e3cb3ef42bcf16ebb3c0000000000000000000000000000000000000000000000000000000000000000bc3db73c34090ebc0000000000000000b60e053ddc2db5bb00000000000000002b8b2e3d704712bb0000000000000000d1c8403df8ea8b3b0000000000000000644c3b3db531123b00000000000000001632173dbab7a33b000000000000000070fba93cfe377f3b00000000000000000000000000000000000000000000000087a122bc55aea13a4388c73ceb762abb95cc25bc29514c3b05f0233d098baa3b227b98bbfb7bd53b3e452b3d4afa733ca61e58ba06570c3c3a0b1a3d6a8f833cbd4e823b404bef3b295aef3ca3674d3c13f6d83bb5c3e93b8bd79a3cd30f333caa3ddc3bf2dfbd3b08530a3cce8aa73b9f89a33b1cb9ec3b9ede5cba79280d3bff651e3b27d4563b58cd0fbc9f5958bbe9684bbbbce330bb7a51e03b57c6853cdd2b83bb749c15bb3f77553b70b0983cbb0d7dba0b57acba0689e2b92d77823b00b70c3bc3249e3a71d2a4bb68b9fbbb067fff3ae3d7c23bd9c72bbcaa483abc02b2283b55bd843bffc56abc0b5e25bceba930ba84c9953b500e47bcdf6013bcff1a70ba5d8a1f3ba5c734bc7f4e08bc6c06ebba456bb1b96a02d9bb2c3e4d3b801deebdd20dc33b58ba2e3c8db3453ba69225be7a4732bcd328ccbaffad833bba802cbea3f936bdc3e061bc58b9863b313014be650d62bd35e3c4bc55b97f396d80dfbda46b4bbd3159f8bc428cc4bbdc7697bdb7a02abd761fd7bc2c16cbbbd2980fbdf9c8d7bca63782bcbdb9efbb5c67c3bbd2446abc0850cfbb2a436bbb3ac57b3ceb629e3b8038963b4eaad0ba55321a3dff9d68be57bcad3fc39699bc1c27163dcea455be966c9c3f363a1e3c1db9af3c887b31be6b228b3f5a80323d25168c3c9ac409be132c5d3f4c578b3d623a3b3cc734b4bddc971d3ffacaa63d46ed1d3c5f6647bde9eec23ea2dea03d4490893b430009bcac54253e86a9823df9d105ba2adcb33c0ff08f3be09b353d4a13293b5907bc3c541befbdb053293bf2a63abc2fc96fbb000000000000000049f3123b1c3bd9ba000000000000000098ef183c249c65bb0000000000000000e033b03c7436853a0000000000000000df2e023d1c57a43b00000000000000008b23053d0619e83b0000000000000000df66de3ca50de53b0000000000000000d13d803c8457763b0000000000000000c2efb83b8106f73a000000000000000039a002bcd806ad3a93ad863ce2ceddbaa4b50cbce1ef923b892d0f3df99c343c159aa4bb704df93bcebb153d4058973ca74d1dbaab96143cc64a083d6244933c0a8d6d3bb42d153c08e1c23c9122753c289ec33b51f4ec3be930903c2a76443c6a42fc3b7f8ec73b3521f93b938fc33bdf6a943bd1edcf3b7d86feb98e9cde3a2d2db73aa04b8e3bafece0bbd2020ebbfc5df7ba311378bb79a6c73bd320363c4a4ba7baa3cb82bbaf0a453bb64c2d3cb58ef63a47f53ebb40e4a63af549a83a70c3503be2e27f3a847ba8bb8f50d4bb0c38313b85ddb43b76b726bc6d6a35bcd494693b28de6b3b67f24ebc571d33bc2e0102b9623a513b236963bc1364fdbbcef463bab05df93aaa7028bc7c538bbb8cbf18bbb360ac3a426dbabbdbd50c3bfe4893bd039801bce9d9403c8f12903bd1740bbe1e7e3cbd0d0a1a3b46a69b3b91b612be16b28bbd4fdc54bca7b09a3bf7ae00be619694bd2ea4c4bc2471a8b84565bdbd71ff82bd1f0ef9bc3b35e0bbe01f86bd6e4854bd0fdac1bcc3e8bdbb04f407bd5aa1f8bcdd707ebc59afaabb8595e5bb71f66fbc8baa75bb2ce1b7bb904a233c5051fc3a593db73bd82cebbac134193d61375ebe0b2c8f3f6fb44a3e5669143d824a68be8fa38c3f57bc4e3eca7cc53c76aa42beec2b743fb923573ed3348e3c8b0418bea72f423fae324d3e736a543c4e06cbbdde51093f20fc373e534a113c814066bd74d1a93e0116113e5767e33bac3781bc6d5b133e7325be3d3f0e143bc0ec143cf8e8a13b82532e3d9ae469ba03ec943c0e4d9bbdfa60e2bba99059bd1eb0f83b0000000000000000a5ed1dbd75239f3b0000000000000000a175bcbc4feaa03b0000000000000000e17e95b9a63fd63b00000000000000009192703cb40f4c3c0000000000000000b30eab3c24ce243c0000000000000000c69a9f3c5fea183c0000000000000000cb78823c6a45e13b0000000000000000d95e9a3b4424313b0000000000000000f3d4c9bb6942eb3acb16633cbfc8113bdf30f5bba766783b5ad8e73c78ce7c3c2ea68ebb425fbe3bab05073d2158a53cf192153aaa42f93b906fec3ce77ba63c02ac763b9725e33bb9a4c43cb532833c9683be3b6352fc3b69cd7f3c4e9f303c2400d13b33f7de3bb35aea3b86cecf3bec6ba63bcb41bc3b517e0b3ab542d2394407b23a0aa1373bf7159cbb1fcb72bb965c11ba817498bb1dba243b8656f13bbb683fb9be95b2bbc1d8203b274f183c1cd1a03b004f26bb30b432ba5923513917f6c33b475a9f3a94bbcbbb50a5e5bb22fda73b5b4ca03b048b25bc52cb2cbc633a563b3990c43bf66b38bc43f82bbc0283573ac12d3b3b0c4447bcebc81cbc64bc9ab8a1cbf83aebad28bc5a777cbb2ba7d7baea0ce539eef39fbbe0a04b3b4d186abd01d4fcbcce17653c7181b53b8b45d6bd072f98bdadd7c13b0498cf3b4cc0e7bdeca7c4bd0d0f4bbcd3d6a03b933fd2bdfc4bbdbd23c3d6bcbb6c9dba34eba1bdf770a4bd13d8eebccfedd2bbce625fbd544e71bda934cdbcc1e5fcbb6298ddbcb60b12bdcc417ebcd277d3bb2704febb38275ebce6aa8cbb8b43babb830a043cee044b3b58e9013c6a414dbb3b83023d48e04cbef1b56d3f9312dd3e4513053d6c4257be4398633f0180dc3ec5bda73ca16935be8ff7453f30bed23ec40b6a3ca3f30bbeb96a1c3fe744b93ec4c9303c6bdcc4bd7f82e03ee00e963ebc63dd3b34a669bd58118a3e797c583ea1379d3bdf2c91bc758df73df767f53d0e0e6e3adf55da3bd0490b3cc2dd1c3dd9ff8eb90d3c4e3c172b79bdb21ad2bc799ed0bd2609833c00000000000000000aadb5bd96c9863c0000000000000000512e78bdc0f6423c0000000000000000cd8fefbc8fac853c00000000000000004b1bcfbb24ff733c00000000000000004fc5213c0b0e663c00000000000000002a0a993c54993d3c00000000000000000e539c3c4d8c073c00000000000000000a13113cdcdc183b00000000000000009e58aabb5568143607412e3cce06ca3b2429b3bb83b2e73a073fbe3c26b3a23c20bc9cbbe441cd3b9e59db3c7d15c43c5db9023bb2e8993b23d9e03c44a5ae3c5fca5f3b525cfd3b0cf79e3c0c4c803c05b6cd3b0475c23b8e4b743c94345b3c9ba8d93b2bcab43bd898f73b67cda43b0641823b4b5bd93bcae8733a9b1c2e3a69dbf63a6338413b77af8ebb6c1f8cbb8870903a646aefbb7c8c213b5acbe93bc73c473b53febebba750b53a7e25e83b28c3e93b176527bb82dab7ba77a07db95153143c5d52143ac258cebb4f15e2bb8d3eb43bb3b2f63ba00e1bbc8ff651bcd929a43b3761b03b18b84abc5eda35bc83c99e3a1332873b54712ebce0130ebc541aa5b85cb3123b600c17bce7b6acbb88bd9bbaa880e0b9e8af8ebbaa23393b9c6719bd6a9452bd6331853c18e6123c38fe98bd0b8dd4bd0878d73b097ac63bc2a5b1bd02cbf4bdce8b6abce7918a3b1648a3bdc3baecbdd186cabc2fc5e6bad1ca75bd22d6b5bd433603bd6b971abc182232bd635e8ebd07a3c3bc79fa36bc9630c8bcb22517bd602d71bcc49514bc0ae7e8bb6a456fbc7fb27cbb3f3fe6bb149bbb3b5154c03b823ff53bd6fb10bbfd04bc3c948b26be40f22f3f0bb22d3f2702aa3c31bb2ebe42e9263f40e32c3ffe03433c24e70fbefcf40f3f97271f3f398a0f3c34b8e8bd8730e53ed03d073f11708f3b591c97bdc614a43e15cacb3e16deca3b6cb448bd79ac533edb0c8d3e191c863b441d8ebcb322c33ddfa1113e7b04993aabe7333b7748753cc03b053daa1454ba5cbb263c08c12dbd973136bd13a71bbee7f8d93c00000000000000003b0b09be637fdf3c0000000000000000bde9c1bdc63fa73c00000000000000002eff70bdac47b83c00000000000000006dd79bbc4bb7c13c0000000000000000c5e350bb5f20aa3c0000000000000000ff7d7e3c52257b3c00000000000000003875bb3cb909133c00000000000000007487243c2158b93b00000000000000007cdc83bbcc5f963a820ea83b74421e3cea0391bbc668203a180a973ce1f8c73ce9e332baf389ea3ac4b0c03cd31fe23c4d09dc3ace56b83b6872af3cfbefd73c1c96a73b1cc8af3ba72e953c990da73c2a28b43b5f31e73b4260513ccf86653c5e54ce3b97a1d73b8a3ddb3b67e8eb3b74e2a13bcea0943b0ee6a73a70c0383ac602d23ad9a4513b9c7d6dbb5f6a5ebbef0c1f3bc1db0abc65c51e3b0b3a4b3b08de993b13c407bc5f326a3a849b7e3b3280213cd4259dbbc81f51bbf9d0b0b94ca3ff3bb6b5ed3a55d604bc398fffbb79a5f23bbcc4b53b4a2725bc88dc28bc9f12bd3b1321983b87bb33bc77b03ebc61f3c33a988a8b3b8c282dbca6f62cbc17cb0db9896e083b2b8eecbb6f1f93bb1974f2baf90d1c3a83c009bb896c4e3a667f97bc2f1a8bbdfa768b3c8ce71b3c2dec3abd47eb08bece52483cef5cbc3b9bde70bdbee515bef2b849bc6d52993b4b7f64bd61fc08be6591debc7d901abb272344bda6f7dcbde150f8bc60f53abcaee412bdfa5e9bbd5217c6bcdb012ebc4035a5bc11252abd220d80bc614630bc5dd803bca86159bce19291bbcd5906bce5dd4b3bffe7ca3b6df4153c0fc398bb9141483ca173e7bd9a47e03ec1f06a3f11fe2e3c2d18edbd54b5cd3e4521693ff1d9e83b5be0d5bd7c43b33ee059523f9b0f9a3b0db7a4bd49358f3e3cfc2d3fefcc8f3b6fa86abd5537543e97c5023fe107113bb28a12bd69010e3e33a1a93e0469953bf62b6abcb62f9b3d3dab233ea738b539a9a1053b280bae3cc2d0c93c6404babac8890b3c89ffcabc52e277bd74b33fbeca74103d0000000000000000441731be7deb183d0000000000000000ada3ffbdd973ea3c0000000000000000e9749bbdf5e9e43c000000000000000034b316bd0c9de83c000000000000000058fd96bbdde3b63c0000000000000000a93b843ce1b8873c00000000000000000f83cf3ccfc3243c0000000000000000d7d3263cf9e1a33b000000000000000053f9ddbafc75e5b9bc5ab33ab9fa573c807a4bbb0a3f8db98fb93c3c12b2f73cf03d83ba25dfb139d9339b3cc458ff3c8518373b28d9443bf5fb923c68fde53cf67b903b27e0b43b3af36f3c22cbac3c6700d43b5f56a73b25c9453c472f793ce43ce93bcf41883b331fc53b844c033c76c5973b429c833b73a7373b45c8ca39c7f4ba3aff91193bfd0422bbbb9d8dbbcf71a03a389114bc4d85aeba268f793bd4efc73b43f412bcacf61ab826c7033ba3f5343cf1caa2bbe92131bb667480ba47ab3c3c791cef399b66d7bbdc260ebc9afef43b76e3d33b12f40bbce8c855bc110cc23bcbacad3b7c2726bc3bc053bce724643a9da58c3be72722bc2ca819bc1252a23a0903003b13aea2bbfdeef8bb9c36d0ba8bc4cb3a03a017baebc76abae297613a4061aebde9abc73c0edbeb3b79538dbcf4a522be1b32363cbf57d63b948e0bbd32c22bbe2cc46bbc78bdaf3b532616bd24cc19be8f58d2bc5982aabb32ba06bdf0d4e8bde9a007bd3dae49bc784ad6bc6fa9a8bdd8bdd8bcca0949bc41cd88bc50f530bdb37981bc5f4f4abc6b62ffbb96e945bce18a97bb588222bc309f203b789f103cb0dbcc3be22dd1bbd0ee9a3b81ea77bd4c55513e13f98d3fbde5993af7ef83bda204323eaff38d3ffbb333bb2d1072bd31b01e3effbb7d3f9b88cfbaaa2b41bde3c4fd3dafe74f3fb658e5bad9260ebd7725d53db8a1173f622ea53a8753bfbc6ed49c3d2789c43e6dca163b459bf0bb0b3e4f3d2108363e3ea92d3932ecc9369850cd3c8f2f893c3c9432bb30a4a13bfe435ebb88849bbd03034fbe6667263d0000000000000000913740bea4e3253d0000000000000000e5b10bbeae10fe3c000000000000000007ffaebd576b023d0000000000000000772d15bda5c5f23c000000000000000095d4aabb467ec63c0000000000000000c026873c7d779a3c00000000000000006373ee3c79ba233c00000000000000003df19c3c78c2893b0000000000000000666f20bb54674fbbfc77ebb934b8b13c3eb6c1bab5bbfcbaf131923b0ca8143d01f3e4ba179b663914af4b3c76511c3df855573b3ccda43a4c5f843c1b0e0a3dda019a3b0d14653b676a433cd619c93c1aa6cf3b35bb873bf0802c3c4087943cf30bc83b5ec1893bac99ba3b867b083cc952a23b5ad43e3b0d42653bbfb557b89e603f3b7200ad3a429225bb2f60afbba3dd8f3b24b243bcf1cef93a9923ff3b50febc3be0de2dbcd8d302ba1e49a9b944b0613c3956bdbb0acdfa395def1cbb5d032a3c46fdd03aec03dfbb9c7c0ebc96a2093cbce4e53b103709bce8de36bcce2be83b856bd53b04a919bc37945dbc8ff62f3b9789a93bbc1709bc27b718bc51230e3b1cec773b6bf5aabb2695c6bbfa9e11bbb0f0873a390595b9c67e16bb9d572a3ca08f00be5463ca3ca576113ca67f363c2eb037be7c9f8c3c522d613b03364dbce87540be3fa3a0bc7dcd483b08c1a0bcb1bf28be97d901bd9912d4bba423a2bc62a6ffbd31cb15bde0276dbc1edc96bca50bb2bd117d02bddd7181bc97ef84bc521727bd5370a0bc88f769bc9c532cbc56800bbca62247bcb0d146bc1166f73ab8a4823c5527053cc437f6bbbaeadcbb8ed987bcd16d83bc96caac3f86f987bb4c3295bcaf3335bcd1ce9c3f356a00bcecdac9bc07c6f3bb90638e3fc9c997bb002bb8bc61ed653b78c0653f744ce6baac5268bc1d42413ce559273feca3c438da0805bce990b93c40d1d33ee051013bbec228bb7bd2eb3c8b133d3e4a80d239bd05a0ba8e3e0a3dc1d25a3c613598bad7ee033c5c92e03bfca6ecbdf0ea5cbe92a1203d000000000000000001e12bbee3901a3d0000000000000000361af1bdf0c1ea3c0000000000000000856086bd11bcde3c00000000000000007f35aebcc71fda3c0000000000000000bfb81b3c06c8ad3c00000000000000005fe5e03c9f14813c000000000000000046cb263dbc34e63b0000000000000000c364953c711cac3b00000000000000000000000000000000000000000000000060050fbb258983bbc54bc83be36a273d48d15c39519403bb937a273ce1e30d3d7eeb753be494b53aa2583d3c65f5ed3c7815aa3b45e7383b68e94d3c386eba3c1bfbfa3bfea24b3b35be053c74bd6e3c352ce73beacf543b9a6ea43b1c43093c8a02b93bd9cf1d3b9163f83a047360ba0000000000000000000000000000000000000000000000000000000000000000bb64273c5c4c1fbcbac0153b4db0c23b7d04533c27fa11ba9c7accba5191c0ba3fc8573cd0a3aa3bae5f94bb3ef40dbc2c251b3c1536073c9e000dbca59f42bc0eeff83bf197ca3bcdda07bcb45358bc84fe393b5e5bb33b692f0cbc5f7735bc0a6a0f3a8899363b3e82a8bb5cc4e0bb0000000000000000000000000000000000000000000000000000000000000000b0901a3c8cfe4ebe4a1c59bbff7fae3b212fa7bad33b35be4dbcdebc9e6bb6bb6c7a64bc2c631ebe0b7a32bde76c4bbc15c565bc198ff5bde55935bd040698bc9b074ebc6827a3bdb5440bbd194f91bc2c5b24bcac1129bd43aec4bc647185bc3fcbc0bbacd787bb14dbcbbb1ac242bc000000000000000000000000000000000000000000000000000000000000803ff2db32bcbaaf9c3b75531fbe438caf3fe4b5f5bb93ed63bb6fdcd1bdc7ce8e3f3f349dbb662e61bbf5e990bd4135693fc9e466bb49ffc2b9c8bc48bd1b752a3fd0603837d148a63b5456c0bcd993d63eb8d3c73a90a9113c9650203b1ea8483e7315383bba20183cfdcd693c7bf3f5bb00000000000000000000000000000000000000000000000000000000000000004a8cf2bd6872ab3c0000000000000000e52b34bdc290803c000000000000000076a806bce1d1903c00000000000000000c9ea43cf2b8af3c00000000000000003ff3013da7618c3c0000000000000000c7e5213d18857c3c00000000000000002204f13c92b42c3c000000000000000000000000000000000000000000000000000000000000000000000000000000001de10fbc4840733aa84b443c8f6e523c5657e3bb2bbbbfba47fde43bc4ad3d3c9e0e85bb980f53bb12d5703b658e1f3c7d4a39ba44b826bb634c303b8494003c9f7312ba980b21bb23c0953985cac43b7c53833aeec6d4bafc391eba62c1513b5b549c3a810ef0b9ea36b2baa5bc9e390000000000000000000000000000000000000000000000000000000000000000ea09ea3b2f806b3c440efc3c7c354b3bd90f433c56baee3ce50ffd3cfde9453c594c6a3ce498103d2c96e33cbb20533c803a583cfbba043d35149f3c05e10f3ca5132e3cee8add3c5a70613c33263c3c506f0d3c0c2d843c14a2573be355073ce8434d3b7634db3b112d12bbfeab723b00000000000000000000000000000000000000000000000000000000000000005c48e5bd243747bdf0590bbdac49b5bcff6c9fbd3b3860bd545a66bd071c89bd13526dbd5f6160bd611086bdbb1fb1bd012f28bda5bd3fbd935371bd9ed3afbd46abeebc9c4204bdfdbf3dbd4e2a98bd6a8583bc3ef689bcd906f5bce41748bdff47a8bb14c84fbbe6b715bcb12aa2bc0000000000000000000000000000000000000000000000000000803f000000002d1037bdde45fabd532ca53f6d3d3abd718caebd1545e8bdc7e8803f39eeb93cfc40d1bd3b64f4bdd234473fd38b5a3de6dac4bd1aa2d7bddc580e3f3dc4633d1f089cbd3cfbd3bdd260b83ed8ce203ddc230ebd32408abd8a00363e9bc6953c6e71c93b3550d9bc7c213b3c3813a1bb00000000000000000000000000000000000000000000000000000000000000006bd8053d556fcd3b0000000000000000aff7b33dce76843d0000000000000000e5ddf93d979eda3d0000000000000000e79ffd3d36d7fa3d00000000000000000645e83d17ddf33d00000000000000000b6c953dabc8b63d0000000000000000a0f4e43cf120293d000000000000000000000000000000000000000000000000c6659bbb039d383b221b1e3c9e38d23be1ee1dbc59c3943ae5683e3cd861613c6e9c01bccec273bbbdd0da3b123e503c636facbbcc6697bbb815853ba99c203c00b70abb0de344bba55ff03aa626f53bee892cba619e93bbfdad343a6951a33b07f79d3aec3a2dbb199d42ba9ec6363bed91523a1fceb4b9cf1faaba7ff907b725efb23a7552e03981028cbab5ccefba490b90397f026ebb6a74883c7829f6bb9654a83b9f67423c7023023d02e12e3ccd68313cd848093d0abe103d3a2b443c64bb713c0479193d1aff013da8b5873c4d21603c817c0b3d61a4af3c08ae313cd563473cd39bea3c64bb803c2384783ce194ec3b72d0953ccbfc9d3b655c173c8773753b48280b3cad1dd9bacd81813b4072e9b928340fbb22ca82bb99e3e3b9443ba2bd109fd0bcd2016bba50a2733c6fafcebd25ce43bd0f82fabcbad19cbc526999bd63e67abde5c371bde78490bdc2b560bd647674bdf81289bd1466b8bd9fc613bd6a8f46bdd64978bd4645b8bd0091ddbcffaf0cbd2c3649bd6c3d9fbd339a70bcdb1090bc204af5bc73484dbdd2e01fbb1df7a6bbb0b647bcd0c7cbbc06ea9d3b4a25bb3b2fc79a3b313f803be70d4abb41f411be6dbea43fb1a5463d5fce16bd543e3ebeee2d993f5990883da3dfabbd60ca1ebecef1743f0092083e228bd6bd70361dbe12bf3a3fea6a0e3e0965c4bd052afdbdacd8003fd108f93de68d97bdd0e4f5bdf143a73eb51ab63d8973febc113b9fbd48f41e3ef16b413d8f91f13a959cc2bc1e85363ce8ef853c2dd9ac3c1bcb5fbbb1b897bd6c7db5bc1c1bedbc5ef19bbc000000000000000096635b3c49c18f3c00000000000000005d2ba03d261b833d00000000000000004469ee3dba0add3d00000000000000005184f43de1c5043e000000000000000039e1da3de87afe3d0000000000000000e609873dc01ab73d00000000000000006cfa003d561e393d0000000000000000b4c20fbcad14a93b0000000000000000bae962bbfc21423a3ded043c5e08bf3b911c0ebcf6310c39ab451f3c2c61563ce514f0bb5b797dbb16b5f03be585363c77cb9cbb26db94bbd7fc503be3b1193cfea089ba13e65ebb50af613b35a8ca3b48ac41b9eefb87bb21c795b91bec9d3ba8f8a5b8531ad2bac410b1b97daf483bc405bc3a3df736ba74d384ba0ebcf2b990c80c39ef1e513a5ac028bac72c00bbb1d2d8b962996ebb39d1563c95f480ba3604ad3bd6ab803cacc0ec3c3a28053c2772563c49bd023d82e20b3d104c723c9056633cde8b1c3d551cf93c4267963c4810543c642d0b3d2b5ead3c6d87343c15a8593cb2c3e63c820d783c190d773c422beb3bb267903c1f9ea63b1314eb3bef97583b05d2083c2269b6baf7fe723b089a13ba7e2a66ba2b1d2bbb1ff581ba07a465bd239accbc08338abb06437c3cdc9fa4bd6e0b72bd526c17bd756cc4bc7edb80bd287c8fbd3af084bd44ac8dbd48843bbd902283bd57638fbd5484b9bd17e300bdaeab50bdf55483bd6e64b3bd9af7b0bc54f61cbdc35c4ebd1c68a1bd62982fbc11a5a3bc68ccf3bca77c4abdff35d3ba5135a6bbbab93abc928ccabcc2728e3b87a6a23be1c68b3ba74dc23ac7fb4d3a6a6818be66348a3f830b743e365b14bd552242be6343853f79f1823e7f93a8bdb9fe22bec642543f4d088c3e9301cfbd0ade28be4f48223fcc5d7c3ede7fbebdef1a03bea7acdf3e97b14a3ee2358cbd706e01be0240903e5fb2133ece23efbcdae19bbd9315083e0433963dd465443a54b102bd38c5823ce29db13c3fb3793cfbafafba819a4ebdcc45a5bc693066bd4eef4dbc0000000000000000eea7dbbb4a0ba53c0000000000000000e0bb803d09858a3d0000000000000000738dd63d621eeb3d00000000000000003d81de3d34e5043e00000000000000003040c63de472013e0000000000000000e08c623dd1a6bc3d00000000000000002acaa43cd414443d0000000000000000b09413bc3b22b03b0000000000000000e7a141bbe1ed803a6b27cf3bd0f9d33b519d07bc5df7ffba5b12193c5238443ce233e4bb16bf91bbc60db83b5b932f3cf676bebbb8d1b6bb4a01743b0520123cf3c7cfba91d573bb14bfc13abf50fa3b61f891b953b488bbfe8d363acc279e3b0126bc3a828e51bb241194b9b04fed3aaff5bb3a0e9c1a3981b1d1ba3d8069b934cdc53a6234ddb9729ffc3864b50bbbc74e2539a6050bbb83a92e3c0877a0bb4b36fa3b6b38833c500ce53c04c9543cb01f4e3ca2ff0a3dd9be023da537843c012f733c037b1f3d3d5bf53ce36aa13c5beb643c106c0b3dba54aa3c094e5f3cd262443cf8c6e03c391a683c402c813cf2ad0c3c7657933ce520643b7218153c8ac1443bd5f8fc3bbb29cfba26cd093b077875b96234e7bada54edba12c62cbb23792dbdbde408bdf39c3fbce88b8a3ccc7a86bdf1e28dbd340835bdad15bdbcb8c04bbd38d596bd90ca85bd01a898bd903216bd401e87bd7e6894bd26dcc1bd9eecd3bcf9d459bd7c4086bdd308bbbd1f3788bc015522bd20c950bd834c9fbd2bd5fbbbbcdfabbc6274f3bcc47057bd5ea593ba184e9ebbca9e29bca066c4bc3c3c6e3be4c0af3bdea8833b975e533b6eb133bb5b6601be332a623f502de83ee3a91fbd83e82fbe9621573f5214ee3ea1dfacbd22df1fbeb3ea2b3fd49bde3e64caccbd906c22be4666023ffcd4bd3e94a7c2bdce1104beb88fb33e2cc1913e26358cbdab8cf6bd2067613e92014e3e6411ddbc72a1a4bdb4a6d53d6531da3daf4eef3a3ad501bd4df8543c53e8da3c1af5683cfd6618bbaaef1fbd16fde2bcc5fba2bdad5682bc00000000000000001d420dbd9923ac3c000000000000000037b1433d3a73993d00000000000000000fc0b73dce1df53d0000000000000000fab7d13de7c50c3e0000000000000000d8a5ae3d010d073e00000000000000002787493da5b8c43d0000000000000000bcec763c89464d3d00000000000000001dce81bc761abc3b00000000000000003ea36cbb49fd37b91de2db3be4b0e63b102704bc869108bb1d62f93bfc0a4f3cfe23d1bb309ecdbbdf3aa53b1cbe313c5c019abbcfaeb0bbe1eb0d3ba956fb3b312b33baf38a52bb2413d43a79d9d53b0bcf99b9a2cf9dbba4eaf9b9fcbb9d3bdada333afd1e00bbb8fc8eb9e166273bf5f0b13a59f941ba9bd2b3ba1a7e03ba0887433a840b973a16c811ba3bfbc1ba42d397b84ed002bb3148423cd57f1fbaa85bcd3bf430973c6284d43c3816693c58764c3cf446113dc7f8fe3cf3dab93c612b743c1abe263df265e63cf3a5c53c8ac0563cd7f9083d5987983c59ca613c60a4473cd272f43cbe13653c798f813cc45de33b274b8e3c108ca93b7fa70c3c184c823b0dba053cb2f704b8c996093b055d62bae6f911bb2fd035bb91ec04bb8e3910bdd65b29bd945181bc267c953cf0294fbd3809a1bdd8b73dbd56bad2bc147525bd95bf9fbd897995bd29609fbd8270ebbc903e92bd70e29cbdfbb3c5bdc88ab5bc8bc45abd55f486bdf8d6b8bdb6e864bc01b71cbd41c258bd37f5a6bd255eccbbdbf0c5bc54aadbbc18c759bdb9e9923aacc5c0bba8454ebc0df9cdbc3d64493b9009843b0276cc3b40ab563b155593bb5f76d4bd2ab32b3fcbb82b3f71fb26bdca3115be3ac01f3f4d652d3fad19aabdbf1b0ebe1fa3003fdcaf183f6c34cdbd545015be1097bf3e44afff3e9f66b9bd2b26e8bd73d0853e6c24b93e6fbf8abd86c7eabd914a223e534c853e02b6f6bc889c8ebd15b7933d430a0d3ea19a1bbb7abadfbc23b3f33ba3300b3d47275a3ce7dfa939a916fabc58610bbdd153debd990869bc0000000000000000500876bd243ad63c0000000000000000b36c023d4c8fa33d0000000000000000ec97983dc8eb043e00000000000000003c27b93d30c40e3e00000000000000005b7d9c3dbb690c3e00000000000000003d3b1e3d5594c93d000000000000000000e71e3c31e95b3d0000000000000000809ba7bc2df5eb3b00000000000000003c2e37bbf2ed0fba78ecb53b302cf13b111ff5bb9ca080bb587ad43b0191613c4cce07bc2a4bcabb691c8e3b0450373c4bf064bbc4aef5bb0e9cea3a5612193c6e9404bba7cd65bbc5f05d3acaf2f43be22079b80a1a9fbbfa46efb9987fa03b9b1c753af31227bb534f38ba14cd3c3bb622183a5fd31339ffeaa6ba4412c0350e03503af6cfba3929f0b839f0921dbb3b148d3a8d1f12bb53fd1f3c2c9372392098003ce492933c2174c43c661ca53cacf5743c215c103d5043003db31fcd3cfe4a723c5f51233da3b3de3cd1b4d33cb02b613c364f0e3d3b96a63ced55943cea9d533c8c25e93c6b98583c8d12833c6ecde53b52d6943cac14963b1890f93b9c94683b928af93bb7c168b806592a3bed2ab2b9903208bbf2160ebb90d629bb5321e5bc8cbc49bde7947abc2d8d983c7b0e1cbd3ab9bbbd28164ebd09f2cabc8b440bbda4fbb0bdf8209dbd630a97bdc7a9bebc4dcb97bd020b9bbdd4c7cbbde2ee8cbca9fe6fbdc5278cbd1992bfbd21cc13bc6e0229bd90cc59bdaad4a7bd3460a2bbd40cb9bc3609f3bcac4855bd6088dfb93e51ddbb3baf20bc6958d1bcb0212d3b5d9fea3b1b13763b58d6763b24aba4bb766199bdf50be83e4624623fc6582fbd29f3e9bd337dd13ecf19633f7329a7bd865ffcbde6a4aa3e6f9b423ff8fbcabd75ee05be33a27a3ea70c1e3f4d9cbcbd2445e5bdff342e3e9478e53e832084bd57a8d2bd242ac03ddbe0a03eebcfe3bc11d381bd0e0e1d3d3008273ef4d235bb7b0aacbc0ea2643a0952133db2bd323c38047d3b338dc3bc52412ebdf5bf06be364e5dbc0000000000000000f21cb0bd0c4ddf3c0000000000000000a1f27a3c0638aa3d00000000000000007365843d7aad083e00000000000000008799ae3d5144173e000000000000000000398d3de1a70f3e0000000000000000a7ea133d463dce3d000000000000000039c9f13bc5dc5f3d0000000000000000b5a4b3bc2651003c0000000000000000e82b31bb39d494bac2fa623bdc83163cc2d708bc503aa4bbeef4b43b23f4683c89abf6bb59b8d4bb73d34c3b85bc443cea6fb7bb038ce2bb2aae743a1ebc1f3cd3be07bb3df982bbea2e133a2e76003c166af1b917329ebbd46475ba7fd6bf3ba9ea0f3ae6b1d9baa7a351ba505f4e3b48ed893a969065ba8abe98ba6aec0bb9c4762b3a4996323abc2c9cb8a40a02bb8a31e73a03494abb1863d63b3757013c15412f3ceb0b8f3c0e3abd3cd345c93cb7ae6b3cb875113db6a1fb3c042ee73c1f4c813c46eb253d97cfea3c6280f13c53d86d3ce2ac0a3d1a94993ce02a9e3c28bd4c3cf0dfe63c8b0a4f3c171a913cb86d023ce0b0893c7116483b7a8ff63b7f8c7d3bb996f63b415d59ba5e4f0f3bdbdb92b9fca3caba600addba327561bb0cd48ebcb80876bdbe2074bcd9b49f3cb41fdcbc1220d7bd825352bd2cd3d2bc4469c6bc35fdc0bda05d98bd98b4a4bda93f92bc979ca1bd3614a4bda4fbcabd442b6fbc1fd372bdf1d18dbdf3d8bfbdd217d6bbcea335bd55ea54bd6574a7bd86f920bb78b0cfbca758ebbc8e2f52bd9369af3aafe8c4bb1dc52cbc8986cebca9ba033ba55fca3b8e28c33babf48d3ad63d8bbbf9a64cbd3d21733ed64f8a3f7ea223bd00c6b0bda4f6493ef2718a3f47b1abbd9399c9bd1ed22f3e57b6663f4e4ecabdc9b0eebdb004f43de7563a3f2597b3bd49fbc2bdbfb0aa3dda6b043ff43584bd8a68b7bd86ccff3c6f4eb83e354dd7bc4d1b53bd8856d73b4fb63d3eb7a491bb712953bc2725f0bbba50133d27f8ef3b7ccb333cbb8183bca4b458bd15491bbe9fd917bc00000000000000006150d3bdab82063d0000000000000000a555f13bb5bbb63d000000000000000080466f3d09ef0b3e00000000000000000ceca73d0f41163e00000000000000008a4b8a3da0bf113e000000000000000078b2003d18a7cd3d0000000000000000372bdb3b5910603d0000000000000000880c92bc7168273c00000000000000008c3858bba0c615bb41a5613b0c71433ca45fedbba2a6cbbbbe169d3bd346813cae40f5bb80d60ebcf284da3a58fd573c1c0d8bbb653cffbb61b88fba04fd253c4c4bf4ba25d38cbb1a648cb80cba033c8ca4303a4b40b1bb9b1909bbdfdab83b0d8d9b392dbbe9ba10a3daba501c5b3b62d4763ad551ab38b285b3ba1e13bd386b206d3a9ed4953a8789e6b9b30bf3badca1303b59770ebb4b1dfc3b671a443c6011293c65ce803cfa39af3ca7cbe13c7ac17d3cf8fb163d3a38f63cc2a1073d9573803c4fdd2b3dcf93db3cc41d063db5b9703ca5100b3dfce2983c379baa3c5a13613ce10ee73cabcd453c4fec943cb327013cdbc68c3c0de44d3bea4bf73b18468d3b278ef03b1d708fb93fe98c3aeeaadcb979a057bb641839bb75a892bb563282bc34faacbd2e799cbce1169e3c2ba539bc7e84f9bdef4e3dbdb747bdbc6b7f47bc7ac8d8bd50b09fbdc612a8bdcde111bc2c32b1bd4858a2bdc931d4bd51b926bc685e7dbd793d8dbde6a3c3bd758f33bba6893dbd8c9b5bbd1986aabd1ff39eb8b52ed0bc0e78e8bc840b58bd550ba83adfd5f6bb076f15bc9cdfe1bcf3289f3ab07a0f3cce01e53b8d50b23bab6bffbb5e69b5bc08cb4d3dbf90a43f3be022bd84e671bd212c3b3c203f9d3f0dafa5bd2c8dadbdb8dbdb3cd148823fe6acc9bd9ce5cdbd2b09b43b4ffb4e3f8724b1bdc956b5bd064e103bc239133f8cf278bd4c43a2bdaff2d4bc3552cb3e114cc7bcfd1330bd95efc3bcc091483e394dd3bb9f7496bb169cfdbb7be4df3c45a4293c40cb8a3cabfd4ebc9216a4bd216118bea36682bc00000000000000005577d2bd0d14fe3c00000000000000000b608d3cded8ba3d0000000000000000e1cb8e3d4ece123e000000000000000088b7b33d308b1d3e0000000000000000be948d3d4e10173e0000000000000000660c1a3da294d03d0000000000000000e6f4753cf1236d3d00000000000000009ed0cbbc491f013c0000000000000000000000000000000000000000000000008ce80ebcacb5e4bba4758c3b710f883ca465dabbc27efabbd404b13ac6b5543c133e73bb90b3e2bbb71bae36f371253c2c269aba814591bb3d159db946e7063c389e51ba9b6974bb55ed4aba92dcf63b50beb83aa51801bb51c93ababb8f833befd97b3a2d87ee39dad5a5ba1d1b8e3a0000000000000000000000000000000000000000000000000000000000000000d5a9373cceb3ad3c6b62cb3c55eefa3c1647803c48e90b3d326be53cfaab063dbb56843c82bc1d3d29e2be3c7117ff3cfb186d3c327e093dd36b913c5bf7ac3cc3d2493cb606d13cb03c223ced7b843c63a9f63b39ea803c4ac4e23ac0f5ea3b707b4a3b29c6a83bac990ebb1154acba000000000000000000000000000000000000000000000000000000000000000035b14fbc0ab307bec54470bd13ea01bd8acaf3bb15fed5bd966396bd4b0aaabd2bfdf4bbbc32aabd3c799fbd9ea5d4bda2daeabbd61884bdd0188cbd0fd7c3bd4b848bbab55b47bde7e64cbd39b4a2bd94a02f395e39dbbc43dce9bc9db351bd48db913a7f7ce3bb1471dbbb30b29dbc000000000000000000000000000000000000000000000000000000000000803f00543bbdf1ad21bd1895c4bd304ea83feafba4bd60f192bdf94799bde223873fd5dbbdbdcdb7b3bdff5b97bd14d6563f87c0a8bd72fca2bdbc197abd7f6b1c3fb5b76dbde10c87bd842d86bd0046d23e6e71cebc2f680fbdd4333fbd4abc553e9d40143b03ed6d3bf10dcfbc7940aa3c000000000000000000000000000000000000000000000000000000000000000062db31bd82aabf3c0000000000000000a7fc483df528c83d00000000000000006a67c13d604e183e0000000000000000c763cb3deda71e3e0000000000000000627fa63d7603103e0000000000000000adef383daa8ad23d000000000000000021a2993b3c20423d00000000000000000000000000000000000000000000000000000000000000000000000000000000213bff3adcf4f23ab15f85bb19536539941bb23a57f0b93a38f3f6ba5919ea386088073a7530743af86581ba019ae6ba48b49439fed7573a34fadd38559fe2ba91741e3adc12c83a0608e03aa8db443a1207a63a58c6533ac22f6f3b4c8ba83accba3a3a05922a3b09129c3b0b79bc3a00000000000000000000000000000000000000000000000000000000000000008760803970529339c4b748bb7c32e8bc405b3bbac0fdaeb9c50265bbc3e3cfbca0b464ba6cb7a7b9674b53bb04b9b5bc65a01eba97ef17388a9839bb1a8d9bbc7ffe03ba6d3df2b9a22814bb183d83bcaaccb6b8d26442373f8c9dba5b833abc5f12003bd64df0b7cac2d8b99bc0d2bb0000000000000000000000000000000000000000000000000000000000000000ae7f58bd780278bc88906bbb122c08bac34a5bbd5d9978bc4db85bbb312c8fba304c4cbdb8806fbc8f5c2abb0fed24ba882839bd09f85fbcbd2d14bb7fd8cdb95b9d2abd5b7a4fbcb14c1ebbbbf215ba20ef13bd909c25bcf7371cbb50e322ba37f5f4bc2f1fecbbd51140bb4e8175ba0000000000000000000000000000000000000000000000000000803f00000000405d073c172ca5bc9660873f15b5d9bb2c13ee3bbd6b0fbcb117633f4be26b3bc542ca3b704391bbac54393fe625043c5b3b893b05e198bba5ad103f765d103ce125043bd4790abc7b1ad33eb011d43b316fed3880e669bcd416863e328d0d3b0f5904bb68edaebce7b7ee3d95ca93bb0000000000000000000000000000000000000000000000000000000000000000cea1873cad81093b0000000000000000dedb773c8c16553b00000000000000001108593c7edd833b0000000000000000c146253ca266993b0000000000000000278bc73b86d1813b000000000000000027b7f13aba7e3a3b0000000000000000621546bb4f27a63a00000000000000000000000000000000000000000000000083e0223b959ef63a2236a4bb8997a839e75c7c3bbef9a63b32fe73bb89a6893a478e283b2e79763b7a27a1baff4d8d3ab441f53a0ffe473bd3306a3945644d3a9aaebb3afc122a3b3500823a5688333a066a253a0c51163b3798323b9a54603a4ff7d23ae9fd723b7d50aa3b86e7c83aa4cfde3a0239723b4bb6dd3b93a0093bdb94b1b9540c8a3afce5b23b153af63a78f3d83ae2a8083a56d707b9b6e3cbbc1f22933a43e4f73828bfc1bad74effbc9c95fd39e9b53eb8a5f82cbb2805f9bc191c86b9e1b234b93b1734bbb66edbbc01b8b4b9da61e3ba2a6b1abb3ba7acbc3b23403ad10c6c39b3f140ba7a1f97bc354abbb912a8b4394602abb969cc3abc4bfd003a9d5701baa073e23a4587a4bbcb820cbae500e239400f153bba31033bcd8fe4bc592726bc727aa1bb3f68f139eb2263bdc1a0abbc47e604bc714b7c39c57382bd7467b3bc0489c1bbc65b89ba7d587fbdad52b5bcd9809ebb4b4290ba729d5cbdf5549fbc00a181bb980812ba67b24fbd75bd9fbca5b643bbc4c8c8b945d431bda80b6fbc86ed55bb413fd0ba4df802bd77260dbc584906b99bc3e0b961ae78bc7ab1e3bab9defab95bfdd5baf7bb0a3c85723cbd6f60863fbe1bed3d9561453c8fa83dbd48337c3f040be03d298c293ca125efbc3562553fb26cd63d6dbb0c3ce717afbc963a2e3f1e83be3d5edeca3b2c088fbc6df9053f3e309c3dde6e943b0d72aabca8e5c33effb26a3d30b3013b0421d5bca794753e8a670f3db4700cbaa4cb02bd7151d43d4e21333ceb70bdba1ff6dbbcc11f86bc6f79dbbb048c033b8d1ac03a00000000000000009d645b3b46cc9b3a0000000000000000e9241e3c47c38d3b00000000000000009b5e173cae40b13b00000000000000003219d13bb2a1ae3b0000000000000000d530313b0dcba93b00000000000000006cc112bbd0ee4d3b0000000000000000f3fff8bbf701b13a00000000000000009a16e4bb35196c3a0000000000000000cbf92c3bb5ad0c3ba0ca8cbb164787b903a33e3b82b37e3b24ab6bbb4febb03649e36a3b9f6b92b85f022fbb09a38bbaea73d33a82253d3b9b68deb96ea587395d51653a2c7dec3a15e60c3ace157539a80b113ba2274d3b41893f3b247e733ac3bd22396d42d33ade64273b6e45bc3bf174a83a1770463b9a5fa13b0aa8453a86601f3ad183fd3a4dc06b3bdeb56f3a40f1023bcfa82b3a4e3db43aa670a4bcbec5063b00cfa039f7bd003a339ce6bcb1af43baaabacb3ad1a530ba22ebbcbc54566339bfdf73b948cdedbae3bcbcbc61ae6ab9982cc8b9b376abba3c7787bc6d1c6fb9c4c99ebac5c80dbaba7867bc4c40623bc2d2f53950f13cbad98519bcd00b9f3a256debbab1cacd3a3b0527bb7637fa3a008494ba57c6d23a539adf3ab4b3a1bc28ff10bcf452babbb619843a08e138bd28ffa6bcf22a01bc3e72cc39e2c340bdef73c1bced0789bb9fd343b9dfb15dbde5b3cebc16dec0bba3d8c5b96ede35bd87c0adbcedf387bbe4b072386f6e39bd725eafbc8df679bbae1a37ba646212bdabd990bc3931a9bb81f1673bd19adfbcbf1439bc0ecb0dbabf4d633939794ebcf60c7dbbfbb6463af8d54f3acb5e0c3ceb093ebd4750623f9cbe843e46eb4b3cfc6b57bd55d3563fc974793ecba7293c5a4107bdc9e5323f91665f3e6edb203c26fbf4bcb9f5163f128d3e3ee66ae33bfadfbbbc3805e63e27b8163ee16db33b87d8dcbc7299aa3e1b79e43defd4223bb941d8bceab0563e1e5e913d8ea7023bccd403bd0f20be3df3d6043d94cb1a3a0739c8bc771420bce2bd60bb4b6032bcdbaf403b0000000000000000ab960fbcd741b73b00000000000000003b08a7ba46c3bc3b0000000000000000338de3b9386fdc3b000000000000000003b775b8bb07ca3b000000000000000036bf57bbeedd823b0000000000000000eddadabbe2c2d43a000000000000000042d612bcfc99453b0000000000000000fc3e01bc5069b23a000000000000000040e5033ba1d4c23a0f3d91bb382fd4ba5a71273a0613883b6bb52abb911e13bb5ad9de3aa67b343bdf2cedbaf52578ba5926b33a8bba073bfc9016bafdbc65b9e5bdad3a0854023b08b95e3ab9ee1b396bfe59bb3868743bca944c3bf0eac43ad78f1f3b89e1c33afef9953b2141243aae71fe39fb6a1e3b82f0963b138f0b3b246ae0391b96e23a20254e3b6bc91c3a33de053bfb67453a1869c63a7dac8bbc22d6d43a5489013bbdf93e3ad538c6bc10ae6b3a1b1bb3b95dfb26ba8f6cb3bccab0113a206fe3b989516dba2c5a9bbccfa415391e5222baddd498baa2737fbcc096253a5d982b3824181c3ad3c93dbce535e6b9b1c3e5bac03eac3a4a2c0abc5133483a305602ba8945923a737b10bb55b70e3b4e6f0cba92e6783a62918c3a215a6dbcf0cbe2bb6f53e6bbd5018e3a997b14bd024fa6bc06b21dbcea1bec398bfb3abd2077debc328504bcbd2699b930753fbd14adecbcc5cfd2bb75e79fb8234a30bdc304e0bc1a27a8bb14deb6b8e3c221bd5478cdbc94e985bba70bc2b9391201bd35fbb0bca7b6f8ba1a51ffb9268ab9bc914463bc3e47a6ba669a47b962ca1fbc22df9fbbc9438f39139949396dc3f93b2b0a23bd28db383f3a75d23e269b393c0a0c3ebd84032f3f1f0bc73ea3ba353c26330dbd6944173ff005ae3eb3d31b3c3f98e8bc744ef93e0019923effe7f03b85d5cabcc1dcc13e9df9673ed76dc83b9047d3bcec9b8d3e62a32c3e47a2943b34e4e6bc1e9e313eb796dc3d31f82c3b6e85e7bce2709f3d04e34f3d945b653a640da4bc2f3fe5bb42f1dbba55ceb3bc254f8f3b000000000000000075fdaebcd320f13b0000000000000000507e5abc8d13073c0000000000000000a02310bcd8c00a3c0000000000000000a3f8e8bbb21dfe3b0000000000000000844e05bc8a05d63b0000000000000000123033bcf279a53b0000000000000000078440bc4ad4293b0000000000000000f3f80ebc0cc4553a000000000000000066edc63ad7f7c13a02cd5dbbf33a31bb2703df3a0b5a0d3b4ade56bb2b9d3cbbabfc1c3b945fc63a2430d5ba840e04bbb40e4d3ae324fa3a2599f038f3848dbaa1069838e2784c3acc76ec38d03190ba049db63a5c1f0a3bd5a2203b4977833a45ce6e3acc901e3bfee2213ba338633a594c3b39afd7073bb0cf8b3b1df1093b39e22a39e79eca3a7fd0423b1da9bd3a2ddb0a3b1f03963ad894c53a649362bc26f3073b6314183a8e86163a702f9bbcb63a343a21557db9205c32bb364887bc1ff47839249b88b9c2498dbadbfd80bce3b0963a4f9278ba003982babb6427bc69958e39032e31ba79ce21ba84d824bca972b13a413b433790b3edba53cdb5bb3ba6443a8c7316baed4d0d3a33ff15bb0d06ce3923ba34ba42e4a33a8dc99b3a1f7c65bc9425f8bb379f02bcfec7a23ae3d501bdd68db7bce3da27bcb0b4963ae31219bdd0beedbc899006bc92e5873910ed2abda02d0abd3b02fbbb9697ab39ad20f0bc4b2cc8bca13d9ebb30ba36b883670ebd5d71f3bc68a5acbb91a9bcb9358edbbc7857b3bc41ff2fbb8d822139b0b295bc37f689bc526558ba267444394ca0f6bbb971e4bbcb55703a21112c39deb8d33b0f5dffbc797a103f9685103f1cd0213cd7cf0cbd7275073f5ee5073f962a163ced15d1bca163e93eaceeea3e60840f3ca264b5bc7d47c33e0de9c53e7c1db53b911f6ebc5707933e9fb6953ebb84b43b5cc1abbcdb785e3ecc2e673e7113653b5fd1a5bc9543083e077f133e420b133b92bebbbca0ed703d1b1a8d3d72bda33a3f0f86bcf37306bc42c676ba77a400bd0dd3c83b000000000000000026a006bd2724223c0000000000000000cfbda1bc5c59213c00000000000000007a287cbc6fc71f3c0000000000000000c09101bcbd02e93b000000000000000037bc39bc7ccce53b0000000000000000190229bc7109a13b0000000000000000ab634dbc54c03e3b00000000000000007ef81ebcc79a2f3a0000000000000000432ca43a7e82963add6e1dbbc28c37bb4ca92a3ba521093bba40ddba46ff6bbbc80e663a1c0bb13a2a7fd039eaa603bb81f02b3950ed603a945fc33a53d87ebac247fe395bdecb3a651aca3a151bdfb9e9af9c39b0e4e13a4b5a453b825bdc3af3c387baf9dea43a25016a3bfe761b3b7e71ae3a2494c03abed86d3bfdf5803ba13e173953f2a13a929f343b73cdf03a3762d83acaeb1c3a15f9673a67782ebc4393233b4568973a8b0b27baf30082bc4758ce3ae71f8a39d6bb6d39764b6cbc3546803a3725b738f25fd7bac74b4fbcbf08813936613fba58e53abac3f028bc23e56c3add1a74b9fc85aababf0608bc07fe6d3a2972f6b9e785d93b28b7d4bbba37143ad9fd423af1cab13a56261cbb711a5a3aacac04baec13613aabd5483a70ae76bc2de71dbce1d80cbc086eb23a45bd05bd33ecefbc15a754bc33d0083ae5701fbd14ea1dbd55ff3cbc32832cb915801fbdeb3228bd3caa1fbc7cea32b9aaf10dbd1a481bbd6d8f00bc8909bd3879ecfebc5fb611bd5502d1bbad017237b95bccbc92c2f7bc6d9a8abbb1d480b89bff83bc021db2bc3c0c9ebae34687b80d48bcbbecb912bc638e9f3a07666b39ee7c9f3b386cafbc4d20d23e8696383f40b0123c2f86cbbc6bffc53eca592f3fff4d043cfc0478bc14dbab3ee916183f52b1e43b57b972bcd7ed8e3e7753fb3ee092c63b812063bc6fb95f3eb280c43ee715933bc43783bc367b213edd9f903e6b52e83a17a495bc8d5cc43d67cc393ec5b2763af7f39ebc6edf163d0970ae3d4049363aa91459bcf3f138bcbd2dcbbad3cc22bd1ea8f23b00000000000000005d7f35bd451b403c00000000000000008dc2f9bcc86d513c00000000000000007b47adbcce4b343c000000000000000052be73bc66f2163c0000000000000000f8be67bc5ce4e33b00000000000000003fef61bc683da03b0000000000000000eeb575bcc98f143b0000000000000000ae862ebcb35a263a00000000000000008521f03ae6690a3b5446e2b983738fbb9cacdd3a9f34373bd2e58b3afc528cbb8d805aba849e5b3a2b75413abfa125bbc519de3a96f32e3b93863d3b2bed88b9e995f2396417853a17e8f43acb4693b6be6c2e3aa42eeb3ac5085f3b2156213b4a0ce7ba440adf3ad18d503beaf4363b8299ee391266ef3a163f8f3b78d4883bd2238e39ffd7153a5334433bd0ed593b82f9053b6ee0d03a3161883a65fd02bc72780e3bc7a9a83ae75d05bae59242bcec92dd394a01bab96955673bc5854ebcef373b3973187abac944e9ba4fbc3ebc7223f5399d8701ba7e36b7ba1b1106bc9d838d3a252bd5b7d79f91ba67a0e6bb130d733a2766043bca6c9e3906539ebbe5929938e8218f3942d5e5395f89adba726a30b90f68153a913d863ae25d943a742a94bc4d4a7bbc42fc49bccab992b9462409bd8aef1dbdb87c8abced4fb8ba35da10bd46b138bd0869debbb219b03b2e871bbd2cb54abd144d4cbc1dc87ebabaccecbc08d828bd2cfe18bc4c600eba9db6e1bc10142ebdb7330cbca7a78eb9b992abbc194200bd6cdac5bb4d4637bb293041bc8788d0bc24732fbb170023bae1af44bb439935bcded358397d3b4aba4760c63a261f33bc2aad853e5180623f1bfe533bc7f525bce8e8783eb022573f8fd1153c4b5300bcfd265a3edc97323feeeda63b5d859cbb98d1373efbcc173fa280883b8025b3bbb9960d3e33a8e73e71475a3b3e441bbccb94c93d148aac3ec3b2083b56eb29bcd23c703d0a415c3e07f3893a310262bceeb2753c5c61ca3dd898a839ddd723bc1d087fbc14939fbb07743ebd2b85f93b00000000000000009c514bbd62264c3c00000000000000008bb9f1bcaeab1e3c0000000000000000f679b2bc6612383c00000000000000003bdd5cbc13410a3c0000000000000000385366bc1cddd83b0000000000000000313847bc35f43b3b000000000000000055d089bc5349dd3a000000000000000052c05abc33f990b80000000000000000fd8833397baee73a00699a37d9f7aebb42c8d43a7408213b34465f3b258910bb76d18a3a72bd003ba2bc7b3bb6b49ebae640603a149aa23a2fdd403b8e6184bae102443a5cf3893a26074a3b2396383a4dedfe399d0cdb3a7b61843bd174443bd158233a9060ee3a28ca923b14f7953b7c999f3a12adfd39c37a603bbb2bc63b45bd6139c4409b3a8c76413b9f1b7c3b0b88733af9f6273b7dda5fbad1a94cbbaa014f3b8ba5133b2dc0f3baa614f0bb1605dd3a7567823a270f3ebbe63f10bc5df4013b1bbe903a499e36bb921e13bc4de41f3aeedefbb8c72c08bb6c6bf0bb887c7b3a5551fc372511d9baf888c6bb2b07bf3a205b0cb9a0155bba401185bba880153bd1d050388c27983a35f900bb4ee49b3aacaf2db9da03c939e4d4d839d332bebc9a94e8bc10a03bbc061401ba4e0415bdb59962bd1f1f9bbcffaee9baa76715bdd8857cbd5ba893bc433729bb2b6b0ebd524f7abd2a567ebc901d4abbbd1ce8bc0d9855bd14f05cbc9f96a7ba12a5c8bc17494cbd92e547bc2a299dba38948ebca2612dbd113611bcfcdb0bbad93717bc6f5a03bdc0101bbb213f313ad890abba129f7fbc844abd39b1c20738262d103b03ab943a1fb7ea3d8bba863f4e280c3b44ad823b7637da3d1b4f7c3fa652343b878be33b5622cc3d8cf0553f2823373beca4823b858faf3dafb52e3fd1fc4b3b6f63f33af594863d736c063fe8720b3ba72b1ebba7ff2f3d00cbc43e7dd0653a92f6cdbb85ed923c0aaa773e03fabab981be15bc8b8bfabbbc74dc3dfbc25ebaa47aedbbf9feb5bc18c55cbcdec444bd3c19163c0000000000000000829e3abde4ec4c3c0000000000000000c17ac5bcb1f2433c000000000000000054d253bc2716323c00000000000000007316f4bb2f47003c0000000000000000156d03bc3d50ab3b00000000000000003d9525bc819f263b00000000000000005ec27fbce70f35b800000000000000004f7d58bc1f6b19bb000000000000000000000000000000000000000000000000d448033be6ca1e3b45bada3ada2893bb0f52dd396c430a3a797f1d3b50d40bbbd94cf5396454013ac3b5113b3fb5beba93adb8b8d37a9d39912aff3a4a0296b98f3bc939c6a6043a1a781d3b50fee03ae1e7eb39f022893a2d0d4e3b136f6b3b22ee2938c6e59a3a070f703b2da6a03b0000000000000000000000000000000000000000000000000000000000000000e50154b87d18023b41cc14bb9e34c1bbf54c7fb9a6076e39a4c017bb6777bdbbc44646bad155d7b99e0921bb62c8c4bb5c19eab94e2df5b9584e0dbb50a3aebb2702063917bc8bb95d4afdbaf12a9dbb6c63503ae21d54b9eaa68eba17f061bb94659c3a93b0e2b8475631ba98b008bb0000000000000000000000000000000000000000000000000000000000000000ea39f6bca9965abdeacf8bbcdd054dbb5a34dcbc81cd5abd30887ebcf14210bb859fc5bc56514cbd711c6cbc1168ebba2c2baabc8fa139bd9e9257bc4aa5b1ba5b4d8dbc3a8029bd046d3ebc981c72ba912e4cbce39b13bd96971dbc3d6962ba9c55d6bbe39af0bc652fcebb171768ba000000000000000000000000000000000000000000000000000000000000803f67dcae3a43b9773c391c15bc2888873feb560f3b9b96543c59c240ba4c27633fa9de3c3b30c2203c1210093bb959393f4531223b2ffdc53baec7b13784bc103f30bab43a28de193b2dfd93bb6f34d33e675b3c39265f9fbaff9838bc1728863ed01cabbaa31979bb4c4aa7bc8ca9eb3d0000000000000000000000000000000000000000000000000000000000000000246e8cbc08a10d3c00000000000000007e5ea9bb66610d3c00000000000000000ce3a03af5cdf93b0000000000000000fb41473b4954d13b0000000000000000fa59d53a137c8b3b0000000000000000e87106bb2a88c93a0000000000000000859501bcaf4db0ba00000000000000000000000000000000000000000000000000000000000000000000000000000000c30b673a8f6005bbf860c8bb2e7481bb91208e39be0800bb7c87a3bb07468bbbaed4c9ba467dd0ba34de80bbff628dbbeb7878ba9091f4ba7eb52ebb03687dbb4ee0103a94bdecb9e53a8cbab2a64bbb26ac533aeba3313a0f0d0a3ab69fdaba0d78e53a3aa8fc3a08ba0e3bfbf732ba0000000000000000000000000000000000000000000000000000000000000000be724ebbaba883bab551b3bb218aaebcffd770bb741c96baa269c6bb30e29ebc932f89bb0e44c4ba2474cabb6be593bc2dc782bbe83559bbb671c0bb9e3f7fbc04035fbbefff7eba10e9babb950e6fbc529910bb2a7ffeb9955e9abbd30f3ebcfc4c99ba34d1223899835dbb89d90ebc0000000000000000000000000000000000000000000000000000000000000000ba17d1bc774107bc3e9642bb13f553b984b5ddbc8ef61ebcbaaa5fbb4bd3edb9826eddbcd8fd2bbcb3ca7cbb14563cba44c3c7bcb87027bc335881bb2147d6b9d188c9bc202b3abcc7e0b1bb60d7afbab910b1bc770024bcdfd1bdbbb553cdba61e599bca00710bc9432d4bb69b101bb0000000000000000000000000000000000000000000000000000803f00000000fd9e203ce938b3399271773f7ee9273c56560b3c9012783b9a05523fc03a6c3c5090f53bba9f923bdb9c2d3f113c843c709eb23ba5a0323baef9083ffe1c5a3c9cfe2d3bda4814bbb2f7ca3e248a4c3ca94e1f399d84fcbbad23843e0582073c248916bbd37677bc7b3bf93d8f024e3b0000000000000000000000000000000000000000000000000000000000000000c37dad3cc4d8c93b000000000000000054bca33c6bf0f73b00000000000000005679993c2a970e3c00000000000000005a3c863c8c171a3c00000000000000009acf523c90ef053c00000000000000000cfb093c4c49c83b0000000000000000eb15813bc5cc923b0000000000000000000000000000000000000000000000009b58ee3a28918dba7a64b9bb340829bbdcba293b78958eb9dfb1afbbc2ea69bbb72d8b3a93974239483752bb84c67abbd273f439f255e0ba58a325bb08ca50bb041b483b0b09ecba44353cbb681894bb81a8803915fe3b3abc42e1b92d229aba88c2ea3abb48e23a831cb03a67b0c1bad6cf0f3b6a25353b29c4603b39c67839c3b2d03ab922213b88324c3b31774e3ac75a56ba214440b9ae2f26bbb6df90bc678128bb218e1dbaa3c2aebbfd4fcebc768678bb84cb41bb8f2c05bced5ec2bc6ea853bb00151dbbf9d4f8bb1fcfbebc55b89dbbde3f1bbaf275e6bb073c88bc0afc6ebb96c0adba8d3accbb50ca8ebcf8d51fbbd28d15ba60a99ebb33d45abc4dbf3dba4558d1399a0931bbebdd08bcc80306395483cf3943894abaf77957bb0c216ebc4c2999bb75c613bbdab7f739157debbcb6be30bc1409a5bb9d9741baba060dbd7fac55bcb737a6bbb0b92bba1bc60ebd85d481bccc24e2bb675e0bbb9423f0bcf94064bc17c0cbbb662102bb49d6fbbc92ec7cbcec9b00bcb0ed24bbf9f3d4bca84c56bcf831efbbebe014bb6e71a9bcd04522bc33c8e4bbbda70fbb8c4b3abc3525a2bb79d2a1bb24c4d2baefa20b3ca8d449bc8dc3753f6633053ea9383a3cc10a29bcc4a35f3f72e0fc3ddad9333cf9e89cbbef2b3f3facdde43d8389283cc1ea1bba99c91d3f0a44ca3dce46b43bd18245bb0b84f53ed508a43d516b623b1028cfbb6d57b73ef7ad823d5d408b3aeee659bc91246c3e53b3293d6035b3ba763ca5bcdb70db3d6e2f993c0c3f10bb9cc799bc516b04bc1910c8ba825c373c8da85b3b0000000000000000cbc4983ca61ddf3b00000000000000001e40ba3cefe0eb3b00000000000000003197ab3c92673e3c00000000000000008dbf7e3cc10d373c00000000000000002627493c606b0c3c0000000000000000ff85053c1fe9ec3b00000000000000004030003bebb7823b0000000000000000cbf8e9ba7041d83a0000000000000000bb1ddf3a2bef00badec697bb2daa2bbbb122e13ab48177ba0bdfb8bbc89a82bb27e8203a189abbbaf5b887bb3d1481bb25683a3aaf5897ba522274bb3bde8cbb46e560b93c4190ba25e219bb63c554bbf9d87e3ace28a339b412ecb92b6a2fbb6028403a210f873a764d743a4992bebab2f2d63a1eb0143bb97a433b01472eb88d42b33a992d023bd766223b1f8d283a1e7d26baa2b2bdb83139b6bad27c75bc8b7417bb68572fbaa76083bbf43eb3bc309a4ebb8685b4badb54a3bb09929bbcdee884bb9a37d8ba9523c9bb36f3a8bc413b6ebb8f25bcba358db2bbc2367fbc01e45cbbd2af93bafa77b8bbd3f77dbc155713bbfc6a7bba288b72bb32df31bc408c95bad953ccb8a7ca24bb389cf4bb8e7870b946cb983864ccf6b985f116bb440b36bcbd5780bbe90d4fbb717f283ab4f0c2bc623928bc7f2daebb7f30a9b75173d0bcee8a48bcd8d3a3bbf710f3b9ee26fdbc0b6a83bced5fd4bb7d619fba3c47cebc554861bca584babb4b25a4baee39e3bc016b82bc3f9ff4bb4ee511bb5b32afbc7dea48bcf61eccbba83b03bb53c895bcc7a429bccbd5cfbbcc2a08bbfc740ebc098791bb06456bbb1b4dc0ba467c003c5b076cbc2a48513f2d51863eeebf3e3c660656bc134f3f3f889a783e916e1d3c2329c1bb4129213f3dee593e397c1d3c7b14acbb9a05083f1e0c3c3e9362d03b3b20a0bbe738d33ec8e2143e6baf963b5e4d24bc2ff99d3ec6a5e53df156033baf4548bca8294c3e758d963d04edcdb953179dbc7b8abe3d9ba3123d07b889ba51587ebce8a0bdbb25c2eab93bcf643b0d13893b0000000000000000dcd02d3c4542083c000000000000000063ca483c12e6193c0000000000000000705b7c3c6c01373c00000000000000001275483c7f431f3c0000000000000000bb422a3cc651203c0000000000000000f96fb43be215dd3b00000000000000002e105d3a6c91933b0000000000000000a5a01bbb559fae3a000000000000000065c2853a7ea38ebaf5388dbbeb7641bb900e943a84a499ba7f83a8bb66978abb8a97f83a5a7606bba0399cbb3463a0bb91756e3a2a648bba6c7749bbda7a87bb48f36fba61d1febac12038bbeac880bb3cea123b670591b97e0eaeb941a219bbfabc233aab99d4389333103b3c62c1b909d2e73a4b7dea3a3f2b1a3bcb5b1ab84f673f3a4550213bdc95343bc27a2a3a74561dba9fdb59392be88aba58ed48bc62230fbb54d020baeaaa55bb985898bc8bc784bb450c07bb5507c4bb51b2a0bcaa1488bb70b4e7ba26eab9bb3dc794bce0ba8bbb5fa0e1babe90b8bbc0eb7dbc857764bb6efac3baa002b9bbc8896abc58f4f0ba774f57b9ac8091bb44113cbce3a8c7ba962623ba406512bb711be4bbe9be9938c3b54ab93108a2baf6f0a2ba170d20bcc07e5dbbcbc45fbbb163743a8758afbc31132ebcd39ac2bb77a5cf37bc4bdfbc93fc82bce187f2bb906f00b94166e7bcf43e92bc4dccdfbbc57dabba582fd0bc3f8287bcaf72cbbb4a4b51bb96cdd1bca05d90bcd46102bce7cb35bb69b7b2bc842c7cbca48eedbb5a4f2fbb55f483bc8bc43abcb945bcbb74ef16bb6e620abc9d6890bbb99c86bbcc6879bac75bee3b434a38bc90d92c3fe8dccb3e308e303c18f030bc64321e3f4d7abb3e2529373c87e69bbb0c2f083f7310a43e731e133ceb309cbb881fe23e6b228a3e8876f23beb0294bb3febb13ee5a15d3e943eb93b46d41bbcb638833e30bf253e7aa8003b56e74cbc9ccb293ee9abdc3dc09c2939bb7884bce8ac9c3d83d3583da2f2e0bab49c62bc7af8d3bbf820693ad02e07bb41d1b73b000000000000000086f1453bd48e1f3c0000000000000000bae01c3c16bb473c0000000000000000194d2f3cab5b463c0000000000000000e2763a3c35ec5a3c00000000000000006353123c9d73363c00000000000000004329923b3806f83b00000000000000005d0018b9e80da13b0000000000000000f7f46fbb474d103b0000000000000000eace9e3aeb137eba3c9b78bb4a086bbb518ff1390c95ccba27059fbb1fe157bb701bd638663bf2babcc275bbf6b295bb5c8bf3387149e4ba70f22dbbd15e87bbb7f026badc21daba04d00cbb590665bbbd08ea39b526f2b91f4595b9b16e1bbbaf8a403a837d81398e593e3a72b63f3aca3f7c3aa25bc33a99c5083b981e8e382ba3933ae5e1b33a15dd023b92b1443a43a642ba2bf082b9525769ba22b426bcd2de2fbbae067fbad07d47bb0ec17dbc90d15cbbde6ca4ba146f95bb0e7175bc59668cbbca0d06bbff6ab4bbc62684bce5e270bb843003bbc94f96bb0ea43dbc39615cbb7c07a9bace37a6bb9a5d55bc77982dbbc53da7baa3607cbbd4cd1ebc8ea2abbaf46ee8b9d40c0ebb3b0ad5bb0a1a4bb98b11c0baad63f4b9e61019bbb56525bc2cd781bbe5de82bb3399493abafca4bc117f41bcba55cabb3f3ee4b8bd52bcbc181b81bca742c8bbb78024ba1db5d7bc5687a0bcf54becbb682aadba74cf9cbc93e577bc3d2ac4bb2708dbba2f08c0bce4739dbc2c35f6bb283c05bb1f2292bc745b7bbc3313d5bba3ef18bbdde362bc2e9c48bcf6c2abbbd2a50cbbdc95d0bb8714bebb7d142dbb24d8a9baf72ad33b6ffcecbbdb1a093f0739093f92391c3cfb35acbbd59cf93e03e4fa3e87c7123cf28387ba3221d63e854ed83ed50c0a3cf9c4d4bacbd1b33e6625b73e5e91973b8fe91dbacd308b3e13278e3ee80b843b4466c4bbfe02513e6bb45a3ee91dab3aa55712bccc26053ed2c00e3e1a001e385b4750bcb956703d37238d3d4e9b16badbd627bc2c16d8bbad15ff39d590e5bbd6b2d73b0000000000000000a81022bbfc71363c0000000000000000fc4d883be98c413c00000000000000003fd1ee3bfa12573c0000000000000000e9d4f33b95f12f3c0000000000000000680fc83bed082c3c0000000000000000edb8493b194aed3b0000000000000000fa4c78ba7f12943b00000000000000008f464bbb8291b93a0000000000000000bab63fb96f1a64b942443cbb0fec65bb2e626f3a6c6d7dbafd4681bb2aa6abbb69e700b8151bf9baa7fec1ba0e3ba7bba8d730ba655e2bbb2028d8ba534d77bb799ba9391ccac7baf85403bb4613723be879133a5328cdb751541e3abd4de9ba0f94c9394a2aa6b8315a0f3ad531c7b850fd323bebeb973a79cc2e3b5584843a84f84e3a41b18d3afda8fe3a3003a83af66a39bac632a8394e4253ba9e4f05bcb3f21bbb99c4e0b9184468bb1d9262bcc65166bbbdc5c7ba4580afbbdb8e70bc76d354bb53d298ba27fb99bbe2dc62bcd360b4bb33a848bb1c3de5bb33806cbc4a7758bb74d8c0ba503ca1bbce4543bcb490e3baf9485fbafdeab9bb3ff03fbc243d9fba5cb1c4b971712ebb8908e1bb6395d1b9030c2d3939455aba0e6e31bbafaf31bc5a1adbbbcfc98abb9d2346ba5692b1bcbbb274bcb0f4fabb91d039ba2809cebc98bba7bc051a03bc65ddbaba68a9dcbcbbd3c3bc53d317bc796371ba56edcfbcb38ac7bcc79a54bb45a2b3bb5209b4bc2925b4bc74a10ebc96482dbbad06a2bc99f19cbc9e8ec3bb1420c2bad50e54bc743d71bcac20bebb16d42fbbadd5b9bb2391e5bbf5592bbb8afac3ba0aecba3be4e4ebbaa2f0cb3e6b3f2d3fef96063c8ec180394030ba3e8fc01e3f5a7d063c7d06533bb236a13ebc0f093f0f73093c0b37cf3a7ed8853e0c59e53ef889983ad3828fbbdad7563e63dbb53ecac7553b892c65bb26131b3e4544873e643d1f3b9195c6bb6a8dc43dd54a323e99605dba1e172cbc26dc213d2a38ad3d1a4d97badad609bc5b2d0ebce9581fb7a9cb2abc7cd1d73b00000000000000006b40fabb61224f3c0000000000000000fede353a20c4603c0000000000000000d714763b4934743c0000000000000000a638093c2b046b3c00000000000000009165953b68052c3c000000000000000078603e3bac6d023c0000000000000000eac7eebadb88803b0000000000000000b69464bb527c743a000000000000000062188b3a77f4aeb9d35123bbf09489bbbd82663acccb64bafaa632bb3de6b4bb0d6f5839852fdcbad01e1ebb8aa691bbfb2fb8393d08dcba983ae9ba2bac89bbd61ab6b9ace1ccba9b1f9aba984d51bb1dc12b3a501dcab8cfad4d3ac4e964baece8243ae6639c392b7ab23aa08205b87f8d8e3ad20eb23a58232f3b98e3e23adba55e3a4751d23a407d0f3b5185f03ab2b077ba8dd7143a5400eaba7813debb902617bbd0b067b9841588bb4fed42bc233b36bb5ef095ba38d29fbb7ec440bc73da77bbee97f0ba0ef8cebb622a60bc855a5cbbc14aceba28bfb2bba7a437bcc6e80abb7b2c1ebbd841a7bbe59858bc8b65fdbadc528cba42d783bb11740fbc2d1661baeac81eb9c34f25bbc2f7dabbfabb37b92c20aa3836bdf3b9fcbd1ebbf1ab5abceaf7fcbb5ed1b1bb5c38d7b95c05c0bcb10d9fbccee114bcebd5e7ba0e26b9bc557eb1bca18d08bc5208cebac506d2bcc193dcbccb2d1dbc020728bbac40a4bc7321b5bcd03c02bced3d1bbb3c10b5bc1349d4bc43c409bc9d3304bb5ab77abcdef99ebc1a28f1bba97832bbd6573bbc37d38abc5d1ec4bb212432bb05a593bbbec208bc06c22cbb8f08f6ba12ce853b672a6a3b38e2853e8b14513fa6bfdb3b4a9e023c0991753e9bdc3f3fc88ecf3b1f5cf83bd2bf543e54e1213fd3d1c23bfd10fc3bc754333ec707093f2268813b39aa823b7b500b3eae51d53eb85d733b6b38ebb9a64dca3dcda2a03eb595ec39e92a54bb0359793d7772513e504accba68d4f4bb0232a63cc3b2ca3d66c5eeba2df7e0bb4ce83dbc2977fcba0dc05dbc4b8f023c0000000000000000134221bcb386583c0000000000000000b060223599a74d3c00000000000000008daf953b30976c3c00000000000000001ec1c43bc10a383c000000000000000004779f3b6060213c0000000000000000f568143bef3dcd3b00000000000000003c1569bb0f69593b0000000000000000055487bbede683b800000000000000007c569b3a49c19ab94f090abb0d76b0bb2d35ca3a8080b2b91d2286ba9ed8afbbc682753ab3aebeba65059aba9a9092bb2aaf343a26eab9bac67180baa29882bb443693b98ccadfba7d195fba067c88baef100b3a8c2750ba0d2d093a7c51aaba809f753ae8699939415bf73a4e3a923a299aeb3ab369ce3a8dbe553bb897413b5596963a82a6ce3a9cbd233be7001b3b0b8ce2ba41b2113a16a422bbd61bc5bbc95d14bbf7128b38cc7ba5bbb22f2abc4c6a8ebb85ee09bbf65bd4bb060446bcabd66bbb8bf4cfba32b408bc88c34fbc55566bbba33d17bb048ad3bbc8c441bcca4356bbf6f59db81c8aa4bb7ba92cbcd4cdf4ba688a23ba0f034bbb9bed27bc370981b9e1353439eff641bb56bee5bb1e1225b819e131398da787bacf2656bb24c58abc561d53bcb9dfe6bb8553cdbaef66d0bca8d9d7bcadff35bc7a4659bb1faed1bcf9e8f5bcddfd33bc37a247bb49bfcdbc645b02bdcf9a40bc829751bb288faabc9f58e1bcf4962dbc19a9e6ba7fd79abcff05f1bc177b45bc230791bb7a8e84bcf050d0bcf96f27bc832779bbab552ebc2401a6bc37fdefbbaf134cbb64d68dbbbc202ebc551973bb6e8b0cbbcf89733b1e433f3c7bdf043e4837763f96d49f3b879a803c77b0f53d5ab85f3fc740b13bbca2773c99ecdb3dfcf03e3fdadfab3bdf834d3c3922ba3df7671e3f5c4cd23b3a89df3b54b28e3dc3d9f63e76e6133bec2f193b5035423dbde9b73ecee47c3a46a3e9ba1261dc3c52376f3e2a9331bb8040acbb61da543ad925e23d872c4bbbdacfb3bb86f472bc1d1fafbbb99746bc8573143c000000000000000068f6d3bbf27b5a3c000000000000000078797b3b3f856d3c00000000000000002421133c1bdb593c0000000000000000c7f62c3ca9da333c00000000000000002cd7123c50602a3c0000000000000000a727943bef88c33b0000000000000000824daebaf51ff73a0000000000000000dd2a85bb151e6cba000000000000000000000000000000000000000000000000712eec394f61dcba7d3cf1ba87e5c4bbe5473a3997e6fcba60389abaa66296bb321284b9c7b10dbb445fc8baf74185bb591344ba426a16bbd639baba004146bb72bf4a39812897baeeb1ac38302c82bac8003d3a93b508b956a2923a57edc339ea5a8c3a46a1743a6b14223b670e0e3b00000000000000000000000000000000000000000000000000000000000000003a0473bb6df98abaabd99fbb534106bcf8bc61bb6975b2bad48eb5bb383718bc5f2e78bb11daecba1e31b4bb68cd1fbc5d90febad7cb37ba8025babb562822bcdd6334bbb025c1ba0938adbbe9a71abcbebbbcba1968e3b9ea4991bb4ebf08bc3ac3d0b9f9ef2e38ee3050bba005e4bb0000000000000000000000000000000000000000000000000000000000000000fb2cacbc2750cfbc08bd17bc473344bb7b5ea1bc8213d9bcac2a1ebce47554bbc3949abc7e0fdabc959920bcad0e3fbb33ff89bce890c8bcdfe924bc0cebe3baf48375bcf78ac1bc93e91fbcd7c04bbb69fb44bc1e5dacbc348711bce6e938bb81c012bc993f96bc9722fcbba9994abb000000000000000000000000000000000000000000000000000000000000803fd2da963b0c129b3cf7a2fc3be5b2773f8a4f8c3be3fd7c3cc73f193c192b523fce05853b0e39493c3b80133cece82d3ff3f0ff3a08f4ed3b35f5a43bcf56093f676c7a3adb458e3ba5299c3a6892cb3e8ab177ba2f6bfb38aa779abbb8a0843e9b4f52bbb8fb5cbb240949bca837fb3d000000000000000000000000000000000000000000000000000000000000000055d0573ba78d3e3c00000000000000000a61133c2d713c3c00000000000000004144423ca7973f3c0000000000000000ae23493cffe32c3c00000000000000007fe8213c813b033c00000000000000001689c83bbec39f3b00000000000000009a1ab43a968fc83a00000000000000000000000000000000000000000000000000000000000000000000000000000000bc9397ba781a0dbbe0ba26bbe3ec2cbb2c73cdbaaba21fbbd0942ebb99be30bb44c416bb6d3167bb730a78bba6bd80bbd573a0ba056b0cbbf5a920bb4f5e2dbbbf919c39f88302bb014a0ebbc57c26bbf22502bbcd5aafba61bfdaba43f508bbd6f045b8e19b79ba2a6aa8bacc73ceba0000000000000000000000000000000000000000000000000000000000000000c92b0dbbeac4c8ba344c0cbb82b072bb176109bbae1cc3bab22110bb7c1d5ebbc3905dbb4124e3b945695cbbd92b90bba2130fbbd09cb5baba9305bb3f8a39bbf9901bbb677ec0ba5d9623bba1f45bbb757af4ba540f9cbafdc30bbbc1e63dbb6cc4b4ba27335dba6431f0bad12126bb0000000000000000000000000000000000000000000000000000000000000000c86365bbc2b5b3baa00738b95bfbea39d8ef5dbbe624b4baa9631bb9093a303ad9f094bb90a032bb646ea3ba2947e93a936b41bbf991c4ba64ab95b917211d3aecbe6cbb0e2118bb79048fba56cb90b9a4ed54bb2e7c1ebbfaff9fba5176feb9a0ca37bb52b806bb842a94ba208bd0b90000000000000000000000000000000000000000000000000000803f00000000ff465b3baec5523b7a6b633f799ea33b8bb7553b41ed6b3bcec5423f5339b73b5c29843ba8b7903b2c88223f0b38df3b20631c3be34c363b1d8b013f0d94b03bf015953ad8f3aa3a19f3c13e941a8c3bf7140c3a864948396518813e7855613b49474abaf068d6ba44bfff3d514ce03a0000000000000000000000000000000000000000000000000000000000000000c986c93ba0fc703b0000000000000000bdead13bed288b3b00000000000000006f37f53b2034c73b00000000000000008475c33b639ba83b0000000000000000bdd69c3b7323873b00000000000000005a56873b7abd803b0000000000000000c0f7203b2590353b000000000000000000000000000000000000000000000000c4be2dba3baedfba74c5e6baf8cedaba004ecb39b5ad27bbf1e948bb69a14cbbdb60f1bab99307bb9bcf55bbe16257bb84129abadae42ebb8fa553bbc3ce62bbe14c77ba081a16bb3deb3abb84844abb357692ba62a707bb62d622bb57be3abbac6a77389472f4ba9b851dbb671e33bb18b0c8b9a31c8ebab46bb7ba32c9f6bab2489738b626113921700bb708af8bb919b7abba64e724ba9259b1ba2c5b3dbbefd12dbb7f93d9ba66751fbb14738cbbe05b29bb63f5b4ba52544fbbcf3380bb3d7c49bb4d0af9babc943ebb14c989bbab4939bbc4f505bb4a411fbb24896dbb52ef34bbc2cef1bafa4138bb6e6e84bb60cb32bb64e3d4ba1d772ebb907e66bb825ce9ba5ab4a0ba0e0701bb4c863cbbfc571dbbbc91beb8a75813baef9c49bb6f1408bbd1c51fba5ba48f389998283a05cf6cbb73a4b0baf1bc7d38b04a783a840795bbfba61abb9c0d69bae617cbb8789192bbc2b51bbb32d749ba6a61d939621678bb1c9417bb51246ebae7bb4b38e6f68ebbef6a3bbb2e17aaba56ab73b923487ebb92f125bbe77aa6baa51d7ab7fdf34abbdbb51fbb45c9baba04cb0fba3c7854bb0cd841bb5d9a21bb04b16138fa133a3b569cdc3a6f0c633f5986033ee694893bb2c2673bca16483f167aed3d9e5d7f3b8922623bb4832b3f4196cd3d6521513b3d7b563b26aa0e3f251cae3d9400123be424103b7c5ce33e168a8b3db089c83a4ba8b33a7ba3aa3e3b67563d93cc0e3aab870d3991f5623e06e2113d143dc0b98e8ad3ba1af6e03dfc09933c744b96b99f3dcdbaf22511bb9f549e3a8310893b5b64153b00000000000000001988f23bf987373b00000000000000006575053cf5f1973b0000000000000000c01ced3b2463b93b0000000000000000ffb5c03b78e4a13b0000000000000000c791c33b85d8ac3b000000000000000020b29f3be393a53b00000000000000009032413bc2be573b00000000000000004102e63a1a7d133b00000000000000008d9c56b9c09ecfba819902bb732110bb5a104cbb7aab4dbb90cf6bbbf2356fbbf86582bac89011bbd3f41dbbbaa822bb8aeac5ba972037bbe35248bb910b55bb5b0b8fba01a7deba6daa10bba48392bb41f50cb8090ce8ba249514bb060a34bbdb2e76baad1cf3ba2a3af3ba8be40abbe971f2b950bdd4ba98a46db8bc5e09ba86ab86b92fad013aade0283ac5cff9396966d2ba7f3bacbab0bec1baf4b440bb3fbe5bbbef8b26bbacd050bbaa759fbbac271cbb85e7c4bac05a0abb0b6f5cbb787e43bb3e98e8ba842b3abbe25f84bb56c51bbb4dead7bab8d206bb7f9448bb864133bbbe18f4ba963b2dbb7e4176bbba2f0cbb220ac0ba92b005bb02fe30bb5c264ebab983eeb9cfa185bacf90efba26a9cabac564aaba8188efba099688b920d014bbc27f92ba66701fbaf36fbbb8ee308fbb1a7912ba8219043a66d3c53a21d152bbc44dceba7787eeb9c90ff439fad889bb697020bb783d46ba8174bf3927dd53bb54d802bb163e7eba320b2e394f2785bb62b33bbbfe39baba2bcfdbb966383abb13e003bbebb784ba4bf9c6b843270cbb7f9ce5ba3c0a95babeee1eba394015bb8295cbb8632dd5ba67f3a1ba209bf93aeca8273bd55b423f3e9f823ef5de8f3b3c61623bcb842b3f8395673e417f453b9d9f2f3b9886123f7c66463e04c74e3b4d294b3b791ff53e6fd4273e28f80d3b6ab1073bc725c33ed9cd053e2fafb63a2169613ac655923e3c5fca3df543433a5104f9389694423eb56e873d3dec87b9ca35d5bab39bc03d210e073df2b7b2ba5efd25bb70d3a9baff3fa3b818aa933bcb485a3b0000000000000000022ad53b8793e43b000000000000000099bab23ba464893b00000000000000002e51e83ba526be3b0000000000000000802db73bfe4da03b0000000000000000a380a93bd8739d3b0000000000000000080d7a3bcc39803b0000000000000000ac5c023b00750e3b0000000000000000ed1a9d3983e2353b0000000000000000b55144b731386ebad9ca97badd0a96ba37779bba7b860bbb4e9125bb3dfe2bbb8d5dabba87293abb181055bb012b64bb90923eb86e8e44bbbd5451bb90634ebbd0af8aba196415bb583b28bbc4cf2ebb50c100baaafefcbaa6af0dbb90a52abbe7b01fbba5b96d3ac1b601bcd853893bc0b240ba6b77cbba805bbaba8ac5d4baed2a27b9d0a691396ebaf63aeafbc0bab5b483baef1229ba66c57dba988707bb1f2b1bbbfb39bbba7db10fbb821067bbb28854bb7f4c19bb92c14fbbad8e94bba00642bb91cb01bb27a33fbbd67284bb175223bb0bd8fbbac8881dbb4afa53bb8b1f23bb3148b2baa56f09bb353245bb1b2fa13be91274bb741095bb4548a5bbdb4de0ba21e86bba4da8f7ba70d923bbf09140ba3088f6bafad9c23ac7ade9bad4f8c6ba718217badd3e1ab996d2d4395e8147bb2bc3dbba36e0ebb9e816183a143e94bbd39048bb864de2ba675aaf3a8a7b89bbf07236bb4ff491ba30793b3961905fbbcac515bb70998bba267a49b6dccb55bb439d11bbb1a83bbaff2f003a87e29bbb332270bb4afc10bb41219aba2ec029bbb6490abb58bfacbab061feb9d75338bb4336afb897a2dbba9b8276bafea3013ba05f993a4ae9213f3357c23e5506b13b5f9f3a3bb1d10e3f4d1fac3ebb5e8a3b1c54833bbc8af53e31a1943e46fa3c3ba8e8363b7b6fcc3e2749783e2987063b85a4033b77f7a23ea44e463eaf09193ba103f9b85f67753ef490143e6f875b38911d8eb9491e223e2eadc73daf6e90b87d1d97ba3c79a13dbdd7493da662f5ba514553ba3667e2ba5e58ba3ace640f3bfae3f33a00000000000000009776a53b42058e3b000000000000000000e6db3b9038bc3b0000000000000000360dd33b4220be3b0000000000000000a7c8b13bd9eaa43b00000000000000009bd1883b6022893b0000000000000000d0937b3bcd448e3b000000000000000045d2303b4dab593b00000000000000009da69db70136173b0000000000000000cfa887b9d19e5cba898ca6baf54b9fbace573eb8c1d719bb69b82dbb812f34bbb29e1cbbb143d8b9eb4528bbd8e521bbcc730aba0f6e2bbb1a7231bb0dc030bb6be920bace8c11bb763512bba8951ebba7d1b8baf62ababa385efbba3fd110bbafb89039d5ff2dba7a22e0ba4c500dbb1dcf01bb746226bb2c7b80ba7568a3babc65adb7ac13a3389979b2b939a805bad2aa8fbaca623aba3af87bbab09beebadd752ebb1d1102bbe38c29bbc10c75bbbfb80dbb7a32f039b81403bbf1a914ba507a92bb73d7b3baa6a2ffbad4862abb884116bb758faebaa6260bbb774a2dbb9e4c14bb2636e4ba56f129bb1fc653bbb4ce0fbbb6c3c1ba000212bb84f323bb5d5bc3ba994e63ba1ac3b5ba351c05bb91163cba23e219ba412044ba195f90ba89dfc2ba160f1ebae53051b9341cd7394ab56fbb464e23bbd447f2398fdfe3b964aea6bb00906fbbd21e3bbb7df33b3998a53cbbbdbb6bbb4bf7fcbae014c13a24513bbb54480cbb16db7bbaa8f7e7b78e5473bbce904fbb4365e5ba87e851ba988757bb110c21bb519ae6ba74dac9b9648514bb7c9aefba97c290ba729f90b91e2bc6baa7779fba84d197ba89873abac18dff3af286e53af582013fd58b013fb8c9063b99ed003b5aece43e1a2ce53eef64003bb6abf93aa4abc43ea2f9c33ed0fe023be55d173bff72a33ebd37a43ec647ce3a8269e63a6728823ec4d0823ea9fa8e3ab710603affa9433e9861453ead8399b7adaec0b9b6af013eaa47053eb2d9473862b128bacd9e813da547853d980746bade89bdba932761ba0dc68a39817dff3a0384133b0000000000000000814da43b42afa43b000000000000000021a5d93bcdec733b00000000000000001a1cb33bdbcff43b00000000000000005078903bac73903b0000000000000000e4e2933baab2963b00000000000000000cd8403bc0916c3b000000000000000031003b3bba95633b000000000000000058b6083a5cdb873a00000000000000002d824d38003ff5b84e7203ba16bb57bace227fbab13f2cbb44e23fbb3ce933bb3489bdbae3e61dbb6ffe1ebb652096bbd0e6453af1c517bb8f7a97bbe5dc34bb58d10a398c4bb8b9dee337bb547f3fbb351844ba05c2f7ba79bf14bb99a624bb6ebf89baf795d1baf0d105bb24310dbb32c2ffb9abb882ba9caaafba68c5e639475ab2baf9be613abcc4453a2d9c0c3a40a736bb3f7b24bb74adb3b9eb4cd3bafadc2fbb3898fcba47580fbb10004ebb109718bb480aebbaacc601bb1fad55bb44792dbbf9009a3988e717bb5c7141bbffac49bb066809bb513b36bb237c61bbc2b134bbf427f3baa43839bb377561bb7e8c14bb8609d2ba937421bb897646bb8422eaba64ba93ba548a09bb059429bb40a5bd392e25223ac55fd4ba442556391ee7d2ba533082bab0f088b98890ac39effd59bbaa4100bbdc3b47bac8c6fa39a9d849bba1e208bbf07110ba05be3f3a2f3bb2bbaef824bba57d28bb2802a3ba546873bbf7a43ebb591dcaba1b646ab97d4c7cbbc19551bb3c8bdabac8e3ceb900b650bbe8b336bbb9fdc7ba819ad8b9354243bb72f72abb7a7cf7bac1d986ba885e7135e49cfebaa791e1baf9439dba4884d23a5cabe13a2d30c23e4ee5213f62cc4c3be9527b3b32e3ab3e95120f3f6b38633b671f823b4fcf933ed3a1f53e3eb5613b785c143b5b5f753ef093cc3e9442d33a624e043b304d443eae7fa33e18f5963a7dddb13a627c133e7e1e763e5a75c5397debe33956dfc33d1b58243e2d8257baf2b08fba58113f3d2c6aa33d3f5eb8baad1e01bbec9bdeba0628fbb947a5803aa701783b0000000000000000532a893b0bf7a13b00000000000000001cf8b93b66d2af3b000000000000000029aaa03b5b48a73b00000000000000000943a03b86e5a63b0000000000000000d8f89f3bebf4a93b00000000000000007f48893bd8a5963b0000000000000000f167103b9b112c3b0000000000000000b5cf88379a27103a000000000000000081118e389f6d8aba1b74b2ba39ba9dba56aa18bba39b46bbc97dc5b9dddafd39165946baad353cbb53a041bbfdc43fbbd66e8cbaa94aeeba8eb005bbaf1008bb3c9f8cbaec040cbb6a5c26bb0d8732bb02b075baecae01bb8d7016bbcc5d26bbbcd2c7391509afba274fc7ba45afdaba28ce5aba8dfae0ba091a11bbc47030bba6d00ebad33f0ebac6e239baf24178ba861847bb24c12abb8f4512ba24b871ba2daba43aead5fa3a53de273ad245273b2baf37bba2b20abb8dac15bbda0037bbb4fa04bb6d2eadbac206ecba318f14bb5eed32bb42a8d2bad20b1ebb8ea239bbb9f42dbb62a3fdbaefd53dbb22635cbb4f70f9baf718b6ba1c640bbb416d21bb8acc57bb158e32bb826072bb217113bb7ae4a6ba44055bbaff3dcdba6710f7bab60d5dbb00e67eb94e9fb639e21942baf0bff2bb510cbcbb61fa74bba25418bbb68b53bbf69221bb5f886cbacf344b3957809ebb67d588bb61250fbb53f036ba772e51bb3c7044bbc3e2bfba7b7be2b9e4a27cbb491e5fbb3694ffbaf68d1aba30bd38bb375a2abb2779d5baf6d22dbad0ff31bb52c838bb2cbc10bbef070c3a0f6c0abbafc830b975bac638aba564bb5b7a383ba9e0843bf769813e5bdc423f033c043a0f831e3bb652643e1a1d2b3f0a71243b8a4e793b9081453ec6c3123fa933e63a971e493b5b05253e213bf53e4d79d03a949b123bbd8a033e7b91c33e3e71583afa7fac3acf8ec53df6fe923e3766f03741fa2d39eee6813d9d29433e636c333ab0771d3be956023dc1e7c43d14208e39454c8fb710716eb9af0f843aec693e3be327023b00000000000000009fe8383b33a3843b0000000000000000135b983b55daa73b000000000000000048eeb03b2049bb3b0000000000000000aa75a13b7b4ca63b0000000000000000d6129c3bd780b23b00000000000000007cb3433b6a4f5b3b0000000000000000ab5b443b80d1b23b00000000000000009ad9d23a68620a3b0000000000000000756a8fb935911ebb432833bbb4bb32bb434399b998d026bb49423dbbb6c83dbbe8ea89baf55a09bb23482abb41af41bb12cbc2ba72252bbb797444bb86993cbb78c8a4ba59d0fdba588012bbb18e1dbbae7021ba68589dba62a8f6ba05d90dbb3a4424ba53ed9bbaddd2dcba4e9f06bb3842ff3a4fc382b96f7008bafe4677ba668df5b92be613b8c1387fb9be9aa4b913138eba6ef54eb983d727bb288f39bbd0cb35bb424de9ba51281ebbd59d37bbca8d41bb690908bb3c553bbb213e64bbee1f3ebb3a0205bb72dc3fbbd7c166bbe5c91bbb4ce1baba003921bbb80c3ebbd19114bb874ac8ba6f9735bb8fc750bb80962dbb27d5dfbab6a117bb987238bb12a8bdba4c9e44bad1c608bbd2c726bb0b231cba450598b9a0ba7cba2ab1a5ba9ed86dbbc63d45ba1e27683977b77e3afe0f79bb151945bb7dbf8bba31ef6c399c8594bb009892bbaaf623bb5509adbac64c87bb723881bb0ae3e0ba85d54eb9bb285abbf07056bb89dfd5bab6f384b96a117bbb05517dbbaadd19bb449f6eba045461bb96ec3bbbbc9a07bbadcbdeb93d3146bb06035cbbf36235bb95efeaba279fc7ba2e9dc9ba3e55b0ba685742bace97373b1953a13b3c36043e304e633f5a533e3bac15af3be3ffea3d80fd473f5aa5773b7043b83bfce2c83de3932b3f2ee9173be4c9833b1848aa3d7fe60e3f3000bf3a0b57283b5805873d40b0e33ee503363a5bedb63a64a9493dd2c7aa3e952699b93e9ce0396644043d69e2633e98d4d9baacf6dbba2e8b5e3cef7fdf3dd19486ba7b5793ba66f6daba4b280cba411c3e3ba0a1843b00000000000000004fa0933b3173b03b000000000000000071d6cf3b450dca3b00000000000000002773cd3bcb2dd03b0000000000000000068ba93b70b6ac3b0000000000000000bab2a13b7444a23b00000000000000002003713b349d863b000000000000000053153e3b91664c3b00000000000000008964ef39a47a603a000000000000000000000000000000000000000000000000cdd5aabadd8bcfba7bb00bbb2e1b0fbb22f933bbf34b62bb10daecba3e5cfbba33cdb839d1efffb93b7e50bab27c34bbbf8b51baeebed4ba02e10dbbcce80fbbb922bab9169256bb9d3a81bbd03813bb7d5756bae75c8bba5a7ec0ba571fd1ba46f526baa79033ba40ff8abae1ae8aba0000000000000000000000000000000000000000000000000000000000000000dcdd0fbb2cc3aaba1a4305bbbbc81abbce8f7cbb128a9bba9182f1ba495d13bbf2e82fbb1c20f3bab51b2bbb5f6349bb742a18bb91d3e0ba82c71dbb57c53bbb4c0629bb18300abbdad23cbb67ed55bb28bdebbaf21391ba899803bbcecd1dbb5398acba4cc437baedadc6ba0d9bf0ba0000000000000000000000000000000000000000000000000000000000000000c96857bb6de245bb464693ba6bf3d737049b40bb4b5f40bba0ac85bae01e4839d94d6abb1dd16bbb29e0dbba101106ba8bb658bbb34261bbcd7c09bb8d72873a8d7f71bb741a80bb4fb928bbc84c163a849723bb9a3033bbfea0e3ba60a812bada230bbbeb6d13bb9b91f6bab01b53ba000000000000000000000000000000000000000000000000000000000000803f534a1b3ba6ffa03b15fb8e3b47a5633f938e293bd94f953b9d83973b9ced423f61e0de3af36e503bbeab743b6036223f7818ea394b82b53aeddef33ab542013fc8c5e83a63d1213bdd29443b63bac23e591f0739bd0f123aeea0423a8330813e1c72feb85b3bc3b659a7b6b945dc003e0000000000000000000000000000000000000000000000000000000000000000aeb28d3b86369a3b00000000000000002dd2b23b05f7ac3b00000000000000001263a73b4e8ca03b00000000000000005233b13b17e9513b00000000000000009696b23b6042b03b000000000000000099b45a3b366bcb3a00000000000000001fedd43a3e02e43a000000000000000000000000000000000000000000000000000000000000000000000000000000001f3554bb9e2e363c516d863c2257353ccd653eb8d48d413c4a64813c6257463ce689103b50eb263c0d17553cf4381c3caa80f03a9226ff3b132a453cab47033c96b6a83a877fdc3b39041c3c6a74c03ba7f5efb938b6633b57820f3c105a8e3b30f251baee28083aaf1ddb3ba156da3a0000000000000000000000000000000000000000000000000000000000000000527e463b129818bbced68e3bb00bffbcacda813bcb7351b9137cbc3af7600ebd7112903b9a2d9ab8a0f55abb1b4014bd4e46a13bfe5b043afab43abbe246f7bc0410873b1b8234b941fc72ba8434c2bc57ee153b1e3ecdb9e630a639b9062abcfb46193a8efe8abae5676d3ac694af3a000000000000000000000000000000000000000000000000000000000000000083be02be36170cbdb3395bbb83da193ba89ffcbdde9a21bdb014bfbbcd9496ba9a08dfbd486821bdd6c9e6bb7c9d06bb4967bbbd933e15bd97efdebb511214bb460895bde576dcbc5ef891bb979ac8baca0e5cbdb6b688bcbb11b1ba878805ba0cc8ebbcc7d88fbb883cbb3a774ea53a0000000000000000000000000000000000000000000000000000803f000000009a804a3c14e28ebd78ea9d3fa70b3bbd5658f13b50fb1bbd6ae0823f3a9c5cbc4fcda83ba2f2a1bc663c533fecf9d53b3955313ba5766dbcfe8b203f86a26d3c37023b3a4ec172bc7a8cdf3eab38233c6218883af78493bca33c813e57cd193b1fa7d03a835bc6bcb3b8973d654f1bbc0000000000000000000000000000000000000000000000000000000000000000c884173c9b3f4cbb00000000000000004c4d0c3c2d269c3900000000000000001081ea3b68731e3b0000000000000000d97b5b3bf0e90e3b0000000000000000de1bb8b989d61e3b0000000000000000a94c35bb2469163b00000000000000000309b8bb80afd53a0000000000000000000000000000000000000000000000008e2d81bbde09d53b1873f23b4a40983bd209fbbbb927583c2067a63c476e393c703450bbc624793c0460a93c9f40663c07fae237a2a6603c1c089a3c97d3573cae59613a2bf72b3c151f6d3cf72c293c570f1fbace71fc3beebe653ce3051e3ce5e4e4ba55f8893bf4c62e3c4be3b33bcded26bb664855bad40dc23ba0830e3b7222d4baa32a1abb186f153b90221fbb86d4443afdc0b1ba3039283ca5adbabc61645d3bb78651bb26c2643c74e7c8bc160ecd3b8e150bbb4da3e43b5f1f11bd685bb53ba0f07b3aa920503bc66b13bd31eca73b36af373ad5cabb3ab3c1f4bc87a5843b258bd4b9144a3b3b3b1299bcafe5363bc4e39abaec306c3ba7b8cabb762a59b8eeccebba4d54703a2bebe43b360e62b9414b2bbac15c8b3a34843b3ce46892bd30fe5cbce469cdbb9b16873b486d06be641f09bdb0e1b4bb8485a03bd91610be29a940bdd1c934bc3223a13ab25b01be01034bbd419434bc18d188ba4bdcd1bd0a5d31bd305221bce5b5f5baeef0aebdd9930ebda7cbc4bb152630ba2a556fbdecd6aabcef1cfbba837fa63a5a8adabc1ca9b2bbdfcfd93adcd6913ac473cbba1b20df3b39771c3bac8dd13aa7ce803cec3604be03339d3fec429d3d427d973c2dd50dbe6f41963ff382913dfd9c473c5acabebde625813f8576bf3de713f33b2ed781bd6b474f3f55dec63d8eee873b633f3abd33191b3f4bc1ae3d394a873b1b0a30bdfc84d63e133b863d601dab3b29ce21bdd577713eb8511c3d3b6b293c707701bd7ce0813d350a4c3c1af0f13b489cf3bc3a9b6ebd993b64bc67b99bbc890627ba0000000000000000b0b288bc589434b80000000000000000b5b446bcba964c3a0000000000000000045216bc2e8629390000000000000000560609bcb5b44c3b0000000000000000e4fb51bc9cf2323b0000000000000000400076bc41933d3b0000000000000000b06b3fbc40f2c13b0000000000000000d27a32bcc3af453b00000000000000005ed90cbbaeffc53b938cb13bbf81783bbf6086bba4d0373cb8fe563c7d33253cce664db99293393c6602693c1720463c051e9bb8ea963f3ca0e0803cbe5e4c3cc7b2493a75aa033c032d4b3c979c223c9b460d34d927d03b0465493ce7d1093c13125bbac5bb3a3bc549073c832da83bacdd29bbfb2001b9076bad3b89eb283b1d31daba293220bb7a73cf3ab72542ba0eb5913a497945ba6af2113c84f8b7bcdfd5853b9bab5fb9dd15433c46fbf3bc81b2983bfa2ea3395ddbaf3ba1aa08bd2a55c63b828a823a86dc983b787303bd832e883bf38ab13ad0cd0c3b884cccbc42a58c3b19ae90398eac4b3bb3b37ebc0703403b21ca8d395879883bdd85d1bbf014023ab9a677babb674d3bb838ba3b11719e39ab11b6bac26a2a3b4e511c3cb2413dbd5d4a3bbc117e48bcf5b3a43ba277d2bd4e241fbd117686bc64ca793bf0f0d5bda3774fbda5fb8ebcde555d3a4c15e0bda88b69bd54d388bcb9e05bba3f87b0bd7fc63fbdc80669bcba2dabba7e0c98bd328627bd3aad25bc82460b3af00148bdc116d3bc7b98b7bb650db839606dd0bc6d9e29bc83242d3968d4133bc11a0ebbb598593b6e2f1c3bcfc2283bfc006b3cef3803becca5833f01fe833e8263a03cf61413bed166823f239b813e3ed43f3c375db5bd7dcd563f83d57b3e18071d3c6a07a6bd84ae363fb7ca5b3e8c89b83b42cb6abd771f073f81d9323e741fcf3bff8c65bd0372bf3e6a26073e24d3713b0ddf39bddb4f5e3eb4cea53d1be02f3c351c2cbdc9378b3da7da053d2466033ca5e2f7bcdd1f11bd001adabbf7b835bd980b0a3b0000000000000000f58b40bd1e60a03b00000000000000009449eebc7fd1553b000000000000000058acd8bcb2098e3b00000000000000005d40a2bccd639a3b00000000000000008d51c7bccfbc303b00000000000000003d70b0bc73295c3b00000000000000003d07c2bcd4b9ba3b00000000000000001a6a93bcdb08533b000000000000000075b8a3b816f08b3bfeff033bfd483f3b72ece5ba0d5e1c3c1201373cb31a3a3c8e59c5ba8c813e3c943f743c2742443c4d9cd5392cbb203cc6d8613c9ba34e3c8e6ab43ab4940d3c9f344a3cecd4273c108b97b91f1ac83ba605263c62b3193ce085e1baee98823b5d880a3cc54ed43bc525e8bad5ad13b9c1c0a53b13c1113be0e590ba2454aeba927c583acb3cb839b424f23ae11da83a6047ea3b40a2c7bc860a9d3bd00ba838c2db1b3c1040f7bcc825c93b75e8103b5735dd3b2cd4f7bcd964e93bdd11ef3aea66443b798fd6bcc68fde3b20271b3bf5af233ba360bbbc053b983b4bd5903a5c2c533bfb0253bc2a76663ba47998b9c9b35a3b05f16cbbf7478c3acf4d1dbae6f34c3ba3dea53b8ae6feb910e89bba4b226d3b9ff8fb3bfe4709bdf0943dbcf0d89dbccf4a633bcb96a8bd2d763dbdfab4c5bc20ae8f3b0c2dcabde8fc80bde8afc9bc847c38371cafbebdf6e782bd3676b7bc732890bad9caa5bd92ae72bdf35ea8bc4fc4b4bacdd183bd7d0a41bd02b45fbcfabbcd3814b33fbd3e9d04bd5358f1bb6f511e3bb49cb7bcf21861bc3650c8ba7dc9653bb7a42cbbf1d4ce39ff485c3b79046d3b8db52a3cc034d7bdfd01563f6cfbe63e21a6823c6df9febda6b1533faf3ee43e72f7303ce83dc7bdb9bf383f2a00cf3ee280103c37769cbd400c163f702bb03ec4c8bd3b3a1e7bbd6897e53eb5c68d3e6639d23b08ee67bd5c5d9f3ea7c54e3e9bdfd93be0a74cbdd7c1393e754d013ecdc71e3c14f52fbde9ae7a3ddb78583d2d29aa3b2f1c00bd41d6ccbcdf049dbb1cd687bd84aa923b00000000000000006aad95bd75ed113c00000000000000001c4f61bd29f20d3c0000000000000000c5c22dbdd0b5e83b00000000000000002ee50dbd88619d3b0000000000000000ccf906bd4937a53b000000000000000004ba04bd7f0f883b0000000000000000ee0ffcbc5b4ca33b00000000000000007820c6bc3c37033b00000000000000004d159fb86d10803b54cd083bd191773bffb08dba8cdaff3b8c551f3c4d71043cc90738b80505183c826f223cc0006a3c8ada033b1ff10e3c79fe513cc386493cde59af3adfafac3b3c1bf33b39c7e93b19328bbaba7cfa3b5cd4163c7923143c99a4acbada1e2f3ba785743b37800c3cb7aea4bab06abcb887a24c3bb97b4d3b48481ebb179907bade58c03a5fd6c63aa837053bc6a3af3ab58ed03b7369b3bc2bedd63b7783f63aca40053c8589d7bcc650e63b40e6d73ac6227b3b248dccbc47f1023c6eac343bac071b3b3a8bc2bca7f38a3bd38a0c3b48b5ad39fdc68fbc6e33b03b5c9f243b5e4e323bdd994bbc61e8f73aab8a7c3a45b8ee3b1695ddbbb9fb743af03a52ba3185853b2c72683b704cfdb9ca687dbaf2f6923b2175ae3b319ce4bcb9e47bbce8e9babc7c81703b9dc985bd17725dbd91e7f5bc88401e3b4f4a9dbd36b696bd1df5dbbc6f0af4b9d3a0a6bd675a97bd6fa8e9bc23d72bbb4d5466bdbc0255bda8aea8bc5c5b54bb42416bbdd5bc61bd7b248cbc735774b9227f07bd753b03bd359121bc4bc20bb934378dbce0a192bcf45982ba42a3783baebecebafda248bad2fe423bf7a9673b3217f13b0039b0bd52a3243f2e09253f827c2e3cedfec7bd90c5203f55ef223f6c61063cc16b94bdb4180b3f253f0f3fe760bf3b849284bd6f8ae93ecae8f33ef7be703b8c8522bd5395a93e4499b33e581fa63b398c46bdd8e07b3ecf158b3e7e8d6b3bd3072dbd4c360d3e3455253ef77ed03bde761dbd153f473da9d78b3dc0bc863b4b0fe1bc3717b1bcf49ecbbb397cb0bd449dec3b0000000000000000accfbfbdb4d3523c00000000000000006f4881bd6360ff3b0000000000000000125058bda387013c00000000000000008d82f2bce9d5ae3b0000000000000000c90121bd5e6b923b0000000000000000043212bdcb4cd73b0000000000000000380a0bbd99bc8c3b0000000000000000f553e3bc408d8e3a0000000000000000e83defb776232f3b39f72a3b2a62993b9e7aefbaf96fde3b0de31e3c3e8f2a3c770182ba0cf6cd3ba1f36a3c5d16773cd3a5d6b9d849053cdbf3483cf055633c2f3cf33950eee33b20f8323c24fa403c5883ebb9cca2a13ba92e0d3cd1a6313c701e02bb2b5a573b7107d33b5663f33bd3b1d4bad50529393d44503ba964993b601e2cba86c6b7baf5d922ba6a013c3a781b353bbf5d993a5fdda73bb20786bc4f54093c62e35f3a89f5d53b8a2897bc2a22173c7e6c0e3bbbc9a13bacb08ebc1b01043cc1d2433bfea5213bde3887bc7058f23bf6db6c3b9db20a3be90873bc7074c33bc1255d3a35ce4c3bf055f9bb9624803bf19258b805ab703b5750aebaf2f13b3a32b848baae90663b2902313b03c2c9bafe8f49baaafc703b7fb3b43bc29ac7bcccffbcbc05dcc9bc9ff3813b35c36fbde7be8fbdba5d08bd6ac09c3bd8c693bd3d9cb9bd09830cbde0b218b8e7b78fbd06efb1bd463303bd5e50c7ba33647fbdc19e9dbdc42cdbbcc12236bb4b3543bd827180bd147f9fbc652d5439cf8404bd5f2439bdec1823bcee63353bf89063bcb572b1bc694f1ebaa10d7f3b42d7b33ab18ed8ba865ba23bb1b88b3baa059d3bc88d85bd7148e63e3647563ff20b093cde439abdbcadde3e08f9553fdedfcc3b5f587dbd42dbc53e21543c3f7c9ba93b8cf74bbd3958a43e64ab1a3fcf19333bc64d2abd56b2803e7b98ef3e381b873bdcd425bdad1c323e9c62aa3ea31e5d3b45da11bdb7d4ca3d81714e3ec301dc3bb2d9fbbcb3e4f53c59a4a33d606a4f3bd885a9bcc357adbc7d7f3abc0241d8bddb8e1e3c0000000000000000a23ef5bd3955833c0000000000000000ecd0b5bdedde5e3c00000000000000003c3c81bd3db6323c00000000000000009fd840bd7e62003c000000000000000030a32cbdac50c53b0000000000000000c8a11ebd2632a43b0000000000000000535c1abd83ebac3b00000000000000009133f8bc3a5ce93a00000000000000009af699ba4043a13ab2e1853b207aa43be3bb35bb88bb583b6e69393caf756d3c4d2b45ba7ed6b83b5a34433c2698643c6946a2ba6ca8ca3bc1605f3cc7c8843cede213ba4930a63b2e5c273c04303f3cb776bbbac5bf773bf844063c917e503c0b673dba8f69dd3a96ddb73bbbe70f3c9fe577bad7b5f4b96141133bc665953b58c667ba15f303ba934295babbfb1b3b4fd3603bb1a22b3a86769e3b920d0bbc064f123cd09b8db99b12d33b70580ebcc9a91a3c7af7ec3a6d93c53ac70142bcb87f283cbe864e3bbd7a133bfdb529bc23b0db3bbbc8353b8de3c23a56100dbc29f8c23b2871f03a3c72093b4c1b87bb88e9703b20dc773ad5c6383b3feac3ba5688ed398317acba3b45193bda7bf43a62c33bba99be03bb8521913a5288583b5deaacbc1a4416bd9c19bcbc2c4dcd3b9e3248bdc7bac2bda5e207bdad25ce3b7dfe66bd8f39c9bdb13a0fbd4b3d0abafb1b7dbd9a95d7bdb52611bd79ca07bb65694abdc725a8bdfae2efbc53b825bbd8fe23bd015e94bdeffcb4bc6e0e3bb94c66c9bcf6c845bd01314abc95aeba392d49f2bbbeb7cabc775f41b99f0e733b7b9f893b1b5427bbb8e5ba3b258c993b281b3b3bd8bd36bd6882833ed1a1833f14ed973b0c264bbd36cd783e4973833f28b0663bcb2208bddf5a6b3eec7b583f2a3d143bc59bfdbc351b443e99183a3f3234c53a98b8d4bc8ce7183e42ae0a3f101a353be539e6bc3f42d43dcf9ec73e4c6bd03a23ddc5bc1feb6d3d54666c3eae7cbf3b2f509ebc9e92373cf8bea83d23328e3b258d53bc7db9abbc3199cdbcdaeb01be98e45c3c0000000000000000a4f40dbeaba1a53c0000000000000000220b9cbd0b7f693c0000000000000000bc5087bde82c403c0000000000000000924429bd4fca083c00000000000000002de421bd1362e43b00000000000000007a3e01bdcad7733b0000000000000000f13b10bd6583ea3b00000000000000001067e0bc1e83513b00000000000000002fd0c6ba16ed96b916266e3b194a183cc4a690bbb682b5b9ab80533c4c46a73c67d844bb2bc9113b22287a3cac1ab23c44b414bbf399943b59797d3c815e973c021eafba43c0953be9623a3c65cf6d3cb56d12bb7e7a6c3bff060b3c19bf5f3c2657dabaca229f3aa23e923b89b13d3c9140abba1ad522ba102c0d3a539ac03b1c4546ba2e6420ba5de20ebbcdacfc3a816aab3bd9c2e7bad464683b247a54b8c9743f3ca4f532bbaedda83b8f9b793b919b593cb859553904444c3bc2b7adbadb28473c831f483b5151ac3a2a9868bba49a213c0e110b3b9c6e8d3a27135abba786f23b287a393b4cc4173b270efdba57df913bbde257ba0b9fcb3addfea23ad65c8f3aee8c13bbd768783a4eccf03aeed9f1bae7e5d6ba5353b13ac5f9213bf2f9b6bc687a88bd61acb4bcec80cd3bcaf412bd41e503be1bb2f0bca42d093cda6f50bdf79e0cbe12d11abd06a5f539215a55bd949dfebdab7321bddd0d5bbb79ae31bdb809d1bd5dc604bdd2a170bbade901bd6870a9bdb987d2bc750feeba647b8dbc39af69bd30a054bcaacf403ba54b07ba637edcbc5778693a258b523b6c390d3cce890abb78e2023c1faf7c3bf03921b9708c92bcebbe983df36c9d3ff5ecefba5bbd99bc13d37a3dbd01973f66a808390a5271bc5c019c3d29d7813f105951370bd958bcf248973d587a513fa074dcb914ca5cbc338f7d3d06421d3fb2dd003b5e3755bceaf11b3d35fbda3e647f3d3bdda455bc12d4803c7c65783e5e62753b9c23d3bbc0c789bb1202953dfa94463b291caabb3e02d1bc4d2054bdc83305be10ec823c0000000000000000501606be3db49f3c000000000000000070bba3bdd9f8503c0000000000000000ab263fbd704d2c3c0000000000000000417fdebca88de03b0000000000000000acaec6bc6c65893b00000000000000008c6dc2bc99673e3b0000000000000000764ac7bce237c83b00000000000000009057d7bc526b203b000000000000000000000000000000000000000000000000e5ed16bbf15c6a3ab57e483c29ca823ca5e30ebbdba9553b32c3603ce2b7823c0db307386006523b1537293c77fa5c3cc4e388ba32de893bb0a21a3c07054c3cb969aebac83f493b19cdd63b78b22b3c38d3baba9155dc3af6fb403bc7c90a3c2683a1b9f3bb0fbad958253aa568db3b0000000000000000000000000000000000000000000000000000000000000000bef71f3ccf7d51b854d67e3ad49d1d3b17b9303cb515133b5595a7389e37a538ed28053ca63a3e3bdd090fbaad576bbb4167813b59efa63bbbf80cbada6438bb65c7d93ba013c03a8c5dc439f02f41baadb5883b47c79f391b8a6e3a48734e3a8fc1a93a2d80b8b98586fb398209f23a0000000000000000000000000000000000000000000000000000000000000000cc1714bdcfc401be4d8200bdcec1f5b9315123bd5a10fdbd542816bdf39d86bb185d21bd08f7ddbd2c5317bd0361dcbbb6b310bd44ddb9bd97610bbd6116dcbb7f44cdbc2dd398bdb375d5bc44b985bbbcca34bc053c57bd80137bbce79c64ba1a0b843a3e50ecbc181242bb3feeb939000000000000000000000000000000000000000000000000000000000000803f8a25ffbaa777103c6dd55cbd26b79d3f3e54beba5ca79f3b38fad8bc19fd823f22c754b93a186b3b57f219bcc475533f912a3ebad09d643a4d3fc2bb432a213f7e0c0dbae61339bbdec31bbc0b01e13e22a168b8c7c43bbbd11976bc2eb9813ea24da93a8c8a46ba9d15d2bc4cbd993d000000000000000000000000000000000000000000000000000000000000000061af78bd79b9563c00000000000000002721c9bc18233d3c0000000000000000dc403dbb183e113c0000000000000000a2f69b3b5d02e93b00000000000000001d50763ba11f833b0000000000000000554909bb4ebe953a0000000000000000512f5dbc10af903a00000000000000000000000000000000000000000000000000000000000000000000000000000000fae1c8ba9de71f3c3bb7403c0223053c8cd0fd39289f2d3ca7514a3c1348193c4870ea3a6852223c6888363c4ca50b3c50ae183b09e3023c85d5223c0094f43bc3cf9d3a567dcf3bf561193c040cbd3b957dffb8a0f9623b0a3b053cedfb833b74d9c9ba146c893a3804b43b30090e3b000000000000000000000000000000000000000000000000000000000000000073b1a23b555e703a9bf90c3b5c1320bd7b2dbe3b4de50c3b93698cba22a921bdbbfac83b3ec43d3b8beaaabb1cdd23bdfe39a93b35bf1f3bd3e09abb43b407bda6b19c3ba86e173b92340cbbb216cfbceb594c3b277fdb38691a163b7ac24ebc4a27713ad3c175b99c7d9b3b9dc6a6ba0000000000000000000000000000000000000000000000000000000000000000eefcc8bd4b4618bd311b4fbca31040bb95f2c9bde5e92fbd656080bcdcc3d8bbef56b9bd77612fbd4f0f93bc951e13bc3b749ebda1761fbdbd0980bca68d0abcbb2782bd493a05bd4a1b45bc6cf6d8bbde4d3cbda1a3adbc520ca2bb789381bbc8c3d5bcc77010bce0fcd0b9e1f9893a0000000000000000000000000000000000000000000000000000803f000000009914943becdb1dbdfc29953fc1db0abc1235063b24229bbc9fef773fcae8833ce75b09bae1fd0cbc4a6b493fe300f83cb12696bbbb161abce8591a3f0ca0fb3cf020c8bb36ef79bcc86fdb3e821ebe3cbcacb1bbbac8cbbc69e4833e90ff243c666593bbd52f0bbd564fba3d427de8bb00000000000000000000000000000000000000000000000000000000000000006e34483cd51e493b00000000000000008033933c2165043c0000000000000000ab15a93c258b373c00000000000000005d7f8e3c3d78363c00000000000000000e713e3cb25c1d3c00000000000000000241de3a415cbb3b00000000000000002b86c0bba5f0563b000000000000000000000000000000000000000000000000580111bb7004ab3ba08fa23ba6c73b3bc1e4bbbbf4d5333c5be4733c1ab2223ca1a840bbbd3b493cc6ed893c3514483cc81ebeb9bbb5353c1d79863c931e343c224aa5399040193cacda503ccd312a3ca1f7b4bad4c0e33bcb1e363c94c8fb3b5b3834bb740a783be273113c887fd33b798e2cbbe6249aba9a57a33b8683c53aa800faba5b5f01bb6821243b944f45ba31de213b92df68b9a348103c3fbff3bca0dcbc3b14a56739d907813c71df16bd72ecf33bbf5e003b7861db3b5de82bbd27f8063c8e74413b1ba0523bac0e22bd110ecb3b97f15c3b03e927b5950807bd9469af3b1fd80e3b0d86b73b546caebcceaa733bede23b390d28e83b2f7217bc6d807e3a0bf3a8ba86d3f13bce1a933b892517ba024d96ba8d44b43b5000083c4ccf59bdb45587bc06e322bcc0e21c3b5913d2bd8a711bbdb39981bc91717fb91c6ce3bd4ab94ebd9b8eb0bcaf61d6bbf9e8d3bd86c257bd9ab1b1bc53db23bc36fbafbdc51d38bde8189fbc69ea23bcf2e28fbddea017bdf00b6abcb8bae8bb0b4e4fbdca68d2bcac5ccfbb64b1afbab63ec2bcabb715bc0acd733aa559d53a47715dbbed1d393be432883b48ef7f3b5e34d33b7bb1aebdaf75943f1635dd3d6ec1a63b9b52c1bd9e548d3fe2d9d93db614733adb0a70bd3f04703fa95ffe3db86a36bbc47631bdd5cf413ffec4f63da21031bbeea310bd5feb113f79e3d13d842af8bbceca1fbd6929ce3ed6349f3d553567bb6ece32bdc5dc703e1460383d6217913bd5dc2bbd519ba53d7dd93d3cf49f583ba39f1dbd23a228bdf29468bce1ea80bcfed9daba00000000000000001a962cbcef953b3b000000000000000080e25d3baaf7ea3b000000000000000004b40d3c3d57263c00000000000000004b120e3c5f033e3c000000000000000084a4803a26720e3c00000000000000006891d0bb8f26c13b000000000000000066d166bc49199c3b00000000000000001a387ebce220a63a0000000000000000333d7aba2762a73ba0b3213b2cbe2b3b369567bb4dbc2a3ca2d5313cc242043c0c366a39e2a6203cf1033c3c3cd3103c1e7781bac234343cc568673cadbd303c82b3773addd1ff3bd52b2b3c0f36093c073b86baa569c13b0c9c303cafee043c67306aba7e47753b253e0e3c4e62963bea401ebbcad697b82bda973bcc8e153b7552e9bab4a5a4ba3da8493a58d31bba46d2263b11255d3a2e010b3ccc41dabcdd83b83befa51d3b107b3c3cb02a1bbd4bcec23bae5c513bfaeb1a3ba6a61cbd2b61093c986b843b7c41843b87ec14bd0dc6b53bf4e4683b652bda39cc89e4bce0f4bf3b3123183ba350b93b327a99bc3c503a3bd264003b0445853beb772bbca386df3a729e81ba8532ee3be0cc3d3b037b9cba6db82abaef95be3bb32e033ce12a15bd930044bc67aa76bc72e91f3ba673a8bd244f23bd3fa5c7bc8791fabab287acbde51145bdd227cbbc4f29fcbb6443bebd5cbd63bdc896e3bc87e625bcbf8c94bd8aa83fbd5606b5bcd0c331bcd8a383bdc91e2bbd8cc48fbce91cddbb2b6632bd19c8e4bc93ee0dbcc20f93bb51ebb8bc5b024abcc2d3f8ba482df63a8ac4ecba1cfce93a2cf04c3b69db7d3b1b55ae3b6fd6b3bd73067a3fd73a8c3e3d59e23b9a5bcabd1738743ff2b88b3eec736c3bf29863bd5792473f4fe2833ecd6828bb0b1164bdaf422a3fcb4d6a3e90a476bb12e82fbdffd1fd3ed9cb3b3e1631abbb7b054bbd7dffb53ebefa0e3e4a1d79bb298e31bdde99593e7fa9b23d9d056b3bfea446bd938e9b3da6ca103d1361a63b6fbe0fbdf6bfdebca0e3f7bb8e530bbda2eb31b900000000000000005b4eedbcab73c13b0000000000000000f21af8bb505b293c000000000000000050d460bb2a30473c0000000000000000bd28cb3a55e94c3c0000000000000000fda6dcbb8e90213c0000000000000000bb0533bc38e8bf3b000000000000000084cfa4bcc73e913b000000000000000055009fbc1c27b43800000000000000004611c238950b773b96bb063ba7d1fa3a106744ba9a11013c530c173c88e5f83b399434ba9c49123cf560583ca114393ca6f4cab9eaf40d3c89b84b3c58f2343c6d713a3aa5f3053c29b7413c30fb2a3cb0fdc1bac3d2ad3b047a223c5bac013c6bb20fbbebcd213bcabcfb3bab86c63b142f0abb2a6e4ebadf4b923b5ec2293b5e56c4ba5ee19eba1695ec3a87a456baa8f3363b379cd43a6d8ac93b34a8ddbcd283cb3b25e0563b556d1f3cce5913bddfcc2b3ca600293b32c4423b2edefabccac3fd3bd3149d3b66e6a43b2867fabce960d63bd975893b7f6bf43a091cdcbcd8aac03b5213583b2f03cb3bb85383bc093a833b8acbc73a6420063cdab3c0bb8f1ba73a09d4c1b9c593003c6e1e4f3ba1941dbada8e97b909b8c23bac86c83bb5daf2bc1fb042bc64f79dbcc97540b9f6e38cbd78a02cbdc8fef6bc3b8a6ebb5dd5b1bd3b7e7cbd64380bbd96761abc6980a7bda6027bbd39adf4bc55f839bc0c6a92bd449665bd9adfdebc61a535bc57b769bd5f6a3bbde99ca9bcb5e209bc507e24bdf4ea04bd148f46bcf51e58bbcaa69fbc45a474bc749e54bb9a48143bcd380abb4be037b91bcf6f3b807b883bfc82883bfd2994bd77f04c3f80a0e63ee34fa83b821bb5bde49e473ffaa2e33e0fade83aad3f8ebdd8b02e3fd628ce3e0f18ddbab37c67bd01740c3ff701b03e141f85bb351c42bd3c6bd73e7ab18c3ed46baebbcd184dbd5f80973eca22503e7e4e6fbbc2a54fbd4fcc323e34df023ead5fd83a0a0541bd3eb3813de437613da77fb33a0a2e0cbd1ef4c4bcb7d3a0bbb6d836bd61f4483b000000000000000075c038bdde050f3c0000000000000000fccad4bcc6718f3c0000000000000000962144bc4c864b3c00000000000000003a39eebb64af5d3c000000000000000034fe48bc2d573d3c000000000000000016a69bbc638ac53b00000000000000004c59cfbcd489423b0000000000000000dc78aebcc1413abb0000000000000000596d823a2105473b6809f23aba98123bdcdb7bbaa5efea3bbe83073c34c2ea3b8f64d7b9b7c1fd3b696e323ceb7d1b3ca4bfd8b31e880e3ccc214e3c2a973f3c5701c93ad11da33b70e4ee3bad40d03bccf279ba84d7af3b2e12233c127e153cbe25babaadeb283bcfddb33b5b0cbf3b7fbc1fbb1e16003add09643b73dd233b6ac0efba56d29aba4b56e63987d1673a50b7563be305073bcd2b453b0ea9b7bcf1d4d73b5aad8f3b590bd93bce79f1bcb538e53bdfb2ad3bab20703bb7d9f0bc9a950f3cbce5bb3b6427033b2d45e3bc63eb9b3b7066703b2d179dba7c64a7bcea8dd23bea7b823bb8a4993b6dc669bc0ac4763b9929c83a4416ce3b646db1bbd952a93a651d683a5f69ee3b9557293bcf3f5aba8e6e4dba5ae0e03b8d17ad3b1ce4dcbcab2c58bc8412b2bc48cdaeba103175bd64253dbd70590ebddf38c4bb88f38fbdeb5f7bbd88e20cbdd2273abcf22797bd02df8bbdfdb112bd135a67bc1e3f54bd1bfc4cbd3e41dcbca4e540bce3b356bddeb653bd23eec8bc4de724bce98c05bd022f0abdfe6e5fbce22d71bb56c184bc577692bc81ae8cbb7c748f3aab7516b9b388d9ba9d6c4d3bdb748a3bce0a493b17646dbd81761f3f7fef1f3f0b5c543bd8078dbdf8d9193f8ff81c3fb273863ab7b04cbdc230043fb288093fbf8119bbab9c40bd90d0dc3e9f71eb3e28a371bba342f8bca7c6a13ed0a5ae3ed16eb7bb908b36bdce5b6e3ea520883e280d8cbbbea52bbd4693083ebd01273ec40d683981d727bd2eb63d3d0dd8943d57e18d3afd6df1bc08d8b5bc96dfa9bbcca56bbd3255573b00000000000000009b5368bd74f14a3c000000000000000020ceedbcc9f7733c00000000000000003e7998bcbdf0853c000000000000000065c365bbc6e6643c0000000000000000dcac71bcd5bc3b3c0000000000000000baf199bc600eca3b0000000000000000a4e4dbbcfd6b2c3b0000000000000000ebfccbbcba1b47bb0000000000000000a2f08eb978697a3b1497cf3ab583ee3a9a480abb368ccc3b7bf1133c749c0f3cc2f4f2baeb46ef3b02754a3ce10c4a3c8796c3ba7353e33b42a1573c88d0413ca9f9c7399edebc3bbc7e2c3cf58c443c11a4f6ba5c23823bfb9d083cd97f153cdc323abb0fcd283bcb7ed83b4dffe13bee3aa7ba4f927fbb161da93b47c4813b3705e0ba958e7439862d0ebacd7d35b8deb72f3b6090173b4520c03b54c899bc7146f53bc6318a3ba7e3f33b90a7babc622e163cc764c43be3d3a53b36cbb7bce1db183c17f6a43bada4873b6787a2bcb216fa3bdf75ab3b0a7b073b08d38cbc2a45df3bdae26a3b96cacd3baab912bc2816513bccae4b3bdcf5e63b457c08bbc6c0133bc3c792ba72eafa3b4adbd13bee7963ba28c15639357a953b1814b63b0f86d7bc767c90bc7d32c6bc388120baf5cc66bd1cb36fbdcf0c18bdba7494bb22058cbd41e99dbd764027bd26c848bcd0608abd219b9fbda1df1dbdcb294dbc53006fbdc6f88bbd1b0b0dbd91685bbc33f339bdd32867bd8fe8d6bcdc180bbce79af1bc118525bd1c9283bce15e5bbbfe4092bcea709abc01bd8cbb6690303b38f4cf3a7d2d07bbe6464d3b4f968b3bf373913a76143dbdd62ae53e98954d3f89f9f23a258766bdbdbedc3e7e634a3f0f7747ba591d34bdbf9dc13e8eac313f055a6bbb92f619bd87029f3edcc4123fa5f3abbb0c1010bd7ca9753ef17ee43ec91bc2bb2f9619bd21102a3eff51a53ec7b2a9bb5ad61fbda5babb3d72ea4b3ecd15fdb787d20cbd0db4d33c5db0b03dfcc98a3abbd3c8bc606dc0bc2b4a0ebcc1e191bd16a7cd3b0000000000000000b5c197bdc4a1633c0000000000000000087830bdc9df8d3c00000000000000007f4acfbc2428933c0000000000000000b79f62bc3369723c000000000000000082a380bc1f2e283c0000000000000000a0ecbfbc42dfd33b000000000000000023f1ebbc26a24d3b0000000000000000b817d9bc61c175bb0000000000000000732de3ba3a9bbb3a96e2553ba93f683b3cdb45bbd4b8833b97a91b3c8716333cb8b2c3ba10fdb13bfabf3b3c7865343c302a38bb3015c93bdf56543c11a3593c2dee80ba985c9e3b0c721b3c3db5313ce1b235bb2f67703b7bd7173c12e82e3cc101c0ba1f3bb33a639fbf3be362f33b92f505bb13c9cbb8d12b1e3b6b2f8a3bca029ebae728ffbae56cb8b8a3d2be3afbe1523bcd31093b23cfcd3bad591abc5dcd0a3ccc02803b447e183c4a925ebce698033c8aa88c3bdf17123b8f5784bcd3f5293c2eb0d23bdfeb9c3b2dbc67bceef8da3baeba9a3b68823e3b74024bbcbe44db3b037b813b7cc1b23bf7f5b2bbd8458f3b91a5f13a34a8943ba6151bbba9d4543a75ac68b891919d3b3f72943b4666d9ba6e2282ba1393873b2476aa3bb2a9cbbc2a33e3bc08eabcbcb64b953a2bb757bd8a1798bd325c1cbdd06097bb501d68bd65c4a1bdb0771fbd73893cbcc70d79bd2238b6bd976b2bbd3a8a6abcacae47bdfe608ebdeab311bd0dbc5bbc3f9724bdd4f583bdcc20eebce7bd10bc63abd1bc93212ebd6fcd89bc44709abb295f15bc9ee4c2bc906c87bb8692553b5f724e3bc1dae6babeab983b6ca1a93bd08b5fbab9ec0dbd50188b3edb307a3f927381ba2ec51ebdc194833ec1a3763fd4b836baec98c4bc67bf703ed06c4a3f15cdb2bb507ae3bc84ef483e057d2e3f17c9b9bb989eb9bc2c05183e47e9023fd8ae9dbb58ebf3bcbf13cd3df619c03e2df287bbabead4bc17335e3d99046a3e5564c53a7bebc4bc86489a3b6b72bb3dbf1c323b154180bc4592d2bc0a7e8cbc0603b0bd4e24ce3b00000000000000001bbeb1bde27c793c0000000000000000fd3a0cbdf42f8b3c000000000000000095b4cdbc50258f3c0000000000000000b1e916bc89597d3c0000000000000000541d64bcf003383c00000000000000000ef185bcaecca43b0000000000000000b9c3e4bc48ba203b00000000000000008078d4bcb934e2ba0000000000000000fb4108bb1062c83a701e723b5e3d953bb8c0c4bbc3f05a3afcea483cb4dc713cd8b1a3bb663eaa3b46de2e3ca25b963c284265bb4d6e8d3b5ab0613c2048843ccf1d40bb8a69bf3bdfef293c655f513cd3dd6dbbf368213bd7d7fe3b624e463cdb7339bb41fc793897e3b23bfc78153c12980bbb4b5391ba3f41623a678da83b4a0020bae364b9ba1e719dba7ba3013b67b0a43b9bfa543adea8b73b8cad43bbd5740e3ccd275c3bfcb4283c64f2573a23bb4e3c105cac3b6b87cb3b38a6b2bbd4292f3c3ff4d23b68929a3b41dbeabb03951a3cbb47a83ba7183d3b5215e5bbb421053c4ec9903b5060c53b93f99bbabf489e3bea90103b2649d33bbada263b3993ae3a009d88bac71c5f3b0f88a33b13f591baf046b6ba12812d3b057c873befb6f6bcb8dc49bd963ccbbc99f7003a16623cbd9cc3c7bd6d2e19bd495afdbae95d60bdd523e1bdcf6b3ebdf7284dbc7a595bbde37fd2bddf623dbde48c7dbccbe537bdaa38aebdbb8e21bd789971bc91b407bda5ac92bd41c104bd5d3826bce22999bc06e74fbd334f9ebcae1355bbdacb1ebbd0bccabcc9ca7bbbf9368e3b117ac63b905866bb1f358e3b751bd33b95f0c9ba47777dbce8b4da3d08b4943f0aabbcbbc551a5bca312bb3df8e08d3f7c5ba2bbd7bb60bc6b48c73d5103723fc6bfc3bb5c7951bc22b6b13dc000443f8d6adebbc6b574bcd11c883d6351143fc623bbbb0f4590bceb881c3d0599d33e9f9575bbf6a895bcd775113c7b7f7b3e0c2a753a39b939bc3eab77bc7ccbb63d0f8b5f3b69d611bc94cf04bd4a6912bdfb2badbd2d15023c0000000000000000672ea1bd892b583c00000000000000002c6105bd3206913c0000000000000000c0221fbc26c4903c0000000000000000d0f2633b54c2843c00000000000000009609ffba326b1d3c0000000000000000224131bc139aa33b0000000000000000c6dab9bcc5b1163b0000000000000000b1d7d3bcf01e5cbb00000000000000000000000000000000000000000000000033105ebb2843353b76f8293ca115393cce8b3cbbf974603b0b57593c3894503cab1fc6ba9eb0733ba2ab3a3c1691423c321c91b907ed5b3b84ec133cdd791f3c4f59d1baf5f1113b59ff0b3c56e4163c34781dbbeb3e3f3a327db73b1f26ed3b8b49feba16a885ba8770b63aa587bd3b0000000000000000000000000000000000000000000000000000000000000000ea31153c6737783b233b723b575c04bbbb160a3ca99faf3b75a7fb3a8a226fbbe5830d3cf0b7b53beac9723993ebcbbb170e0c3c91d7a33b0ece983afedae9bbc292b43bc08c723bce6c0f3b241448bbf15e843bce7c103b32c85d3b2c6d713a55decf3a3b7fa43af183893b2482993b0000000000000000000000000000000000000000000000000000000000000000d43133bd56b7c9bd3e261dbd7d0222bcc1163abd76e6c9bdcd102abd290379bc216936bdafbfbabdcd3e30bd4a3c8ebc63c818bde1ac9fbd8e7921bdd80d85bc962fe0bcdba282bd140f02bd03a33dbca1696ebc3b493dbddf8ea5bc6ccbb7bbb8961ebbaba7dcbcadaa0abcb4e5023a000000000000000000000000000000000000000000000000000000000000803fe36323bb5d579f3bd76cafbc630c953ff68653bb2132043b2b0de7bb13d7783f9ddc83bb12c91bbae4ea0c3b98034a3f932680bbcbc44ebb88f7f0b9791d1b3f7ff7c6bb2e9a06bc8c5522bc7782dc3ed17c85bb72b10dbcccdaa2bc2879843e6bc2dbba8806f3bb919f08bd3365bc3d00000000000000000000000000000000000000000000000000000000000000008f8dcdbc87cd703c0000000000000000d375803b58da8d3c00000000000000000295923c86a6983c00000000000000009416ae3cb512883c00000000000000007535783c7f443a3c00000000000000009b6a793b76519e3b0000000000000000c42841bcdf222eba00000000000000000000000000000000000000000000000000000000000000000000000000000000ba350b3bdb61ba3b35e0b53b3fb56b3b5aae1e3b1916dd3b8d89fa3ba624af3b9db1123bb104e53b34f1ef3bdd5aab3bb4d6433bfdc8cf3bb207d23b4fc6823b1867a63a5a22a13b7ce2f93b9968893bebbd79ba9996903b61b4a13b9003823b9093a9b952edbd3a8b56593bd00a133b000000000000000000000000000000000000000000000000000000000000000073948a3b447a3d3b17e754bcb6b812bdef6e6d3b947f853b376f72bc614911bd3b3b9a3b3d43683b392485bcdce50bbd09ab6f3b425a313b07b372bcd86df5bcadce903ba4600d3b244c0bbc22e2d5bce7d4743b6bb1583bc04058bb1fd66fbc7f7e383b8143083b36a6033bcc49dabb0000000000000000000000000000000000000000000000000000000000000000265853bd3968f4bc81b994bcc0eb35bc83bb5dbd81280abd2d81b2bc395d86bc17ba55bd6df812bda3f4c5bcc83a93bcc93d3bbdc1e401bdc574b0bc7ccb85bcb9c31ebd6d1ee4bc2ad697bc0ac294bc06e2edbc7449aebc2cd368bc919c45bc4e7586bcbd1b44bca3a5e5bb21dccfbb0000000000000000000000000000000000000000000000000000803f000000009f40053cb73fc13b04af823f5aa9de3c075c6a3b29630a3c422d5d3f16c50f3d6d94053aa1e4083ccc90353f4f751e3d948958bb13f5513bbcbc0d3f8185093d6a4619bce566d3bb68bacf3e0fa2da3c691e4dbcd5c97bbc4be7823ef3cd573c7e537fbcbe6edcbc5b7ddf3d455ef4ba00000000000000000000000000000000000000000000000000000000000000002aace33c7d28943c00000000000000002a60083d80eec13c00000000000000008dab133db695ef3c000000000000000097a8043d8e48e73c0000000000000000f64fdd3c6402d63c000000000000000084d77b3cdc868c3c00000000000000006ea0513b09ec053c000000000000000000000000000000000000000000000000279ec83aba4f283bb293183b6bf96a3ade85843a40cddc3b036c083cf181ce3b3661b93a0f9efc3b8007283c3a02093c2f50cc3a0b00083c90722b3c7221093c4b85d73ae5d1d83b003f0d3c4912d83b3b885e396201b03bab650d3c75beeb3b07d76fba2c629f3be1b8b33b34af9e3b73f4c6ba0898b7b862f94f3b503e613b7d973ebaec518bbae4c0963af635423a0f48563b9c81b23ae194d7bba62ddebcdff8d83b6534983b53ef14bcf1161cbd3353d73b5e669a3bff3c65bc38a723bde545f03b6415a93bf8eb72bc4dd81bbd90edc33b8829833bc5a54ebc429600bdde57d13b60638c3beceef2bbe6dfc7bcbcf3aa3bee6b643bd34ad3ba5d187abcff2fe03a3c0ecd3aae4edc3b637549bbcd57433a1921193a09c3ce3be98c073b873fe8bc9cac74bc8a7c34bc4da39bbbfbe75dbd62dc08bd8ecfbdbc6ff065bc19517bbdd03a26bdbd51e5bc8f49a0bc5b8876bd00282dbdf843f3bc13a1b6bcf9274cbd2f2916bd7f69d2bccebba0bc354831bd8fb206bdc65fbabc45fb98bc09ecfabc8e43c2bc7b9482bc4bb062bc9d3066bc8f3a40bcb371c9bbb460bfbb9bdad4ba499e93ba3bdc433a9c5fdbb88c43d53bc36662bc55e5813fc82d113ea7e5903b8c8250bcd440703f2e9a113e1bbde73a943b4cbbcc064c3f34530f3e00c636bb05153cbbc03b273f96ff003ea205d1bb9ae1cabbf676003f44afcf3d5a2f5ebc6a578abc076bbb3e9d5e9d3dba4d7ebcab0acfbc47b5693ece453e3d39d76bbcef8d09bd8f67c33d6177623ca08b46bcf0dbf9bc9777adbc4bc535bc6e66fb3b880bd03b00000000000000004921a43c87f4863c00000000000000000976063de6d9df3c00000000000000000eb3153db272023d0000000000000000adfe013d4345f13c0000000000000000dcabcd3c1af6d63c000000000000000046205e3ccb7a933c00000000000000004c5faabacd3e9f3b00000000000000001dcdfdbb4e0b16bb00000000000000000d4db83a6b95183be5a6333ba07497383512103be0d2c13b9c02dd3bf12ee13bd00b393b597bc23b9375a53b09fc793b4d2a853a87f3143c68dd2d3cb77fea3be2bfd63a2c52ba3b6cb5003c7a9c9a3bf0f3c2388d32d03b48abf83b41c2dd3b2147823a7030213b5ff7a33b894b823b352353bad457333a6e525c3b2054293b486c6bba05728fba16b61b3ac146163973e1243bbc07973ad33a8abbbe91b5bce5ebb23bd5f66c3b93a032bcdf5d1abd1450723bf340353b8b974ebccb5b04bd579f003cc9b1903ba1516dbc3c8d13bd9221a93b4e434a3bfef640bc89a6e1bcbb22b83b7d0c993b6bd3c9bbb71eb6bc9751603b3a28103bd1d46fbb4ffc68bc75d3213b5242053b007b953b076c84bbb82cf7396b03d838ea20d93bfa624f3bdd0da5bc993941bc256a3dbc8fde9dbb2ea63bbd408a01bdf905cbbc70986fbc971838bd33b006bdcf49bebc9ea072bc366662bdf6c631bd8dde00bdb6dec0bcb24a32bd421d0cbd7124d7bceeb499bc173f24bdd8dd0abddb7ac9bcdc5da9bc0cf8d3bc5595b2bc537e74bc60bc47bc172063bce97b44bc5bb8f5bb8a27e2bb4f051db9517188b764808bbadd0a3839879f923bee7b93bced385c3f947b8e3eebad343b224294bc32274f3ffe7b8b3ef1352a3bb3a5eebb96ca2a3f4f4e753e221689bbf0530ebca6a6113f74a65b3e2d37fbbbb1481abcb657dd3e9b132d3effe060bcc69db9bc84dfa23e306b023edd5c41bc1e08b4bc64174c3e9942a53dd50c79bcd0c40dbd444aac3d765e063d537018bcd85fd3bc411b85bcd98dd9bba0e6083a62f68a3b0000000000000000e3c4753cad6f9d3c00000000000000001fefb83c3617c53c0000000000000000ce96043d7ae5053d00000000000000000a49da3c900cf53c0000000000000000b036b93cd80ce13c000000000000000079f82d3c30f88a3c0000000000000000ff5649bbdbf3dc3b0000000000000000a22619bc4ae3efba00000000000000005017a83a6934153b84a5933a7de66839f99f7a3ade26dc3b0c45d73bc555aa3b84c7b23a3f3ee43b3175213c3270063c251ca53a80d9f93bc6680a3cefd3e63b9d51d13ae4b0de3bc3780d3c3b5ee63b8c647039a72b973b6d3ffb3ba473e53b214e9cb969ee5c3b5783c73b38aeaf3bf68590ba4715b3b96d90703bd1ce313bdcbc03b99a039ebad8f3013a00e9efb9f40f6c3bc7f2683a52c5c0bbc2bab1bc6e47983b481d6e3b98a01bbcac3708bd3632d83bb3ff903b88f269bc57f90abd8368d33b239ec33b0a2443bc9f9e07bdb512b43b4b61823b4fea43bcc501e2bc5e1dc93b6c80873bb786c0bb24c3a5bc19ef953b0dd2383b066bdeba4afa3dbcbe7f2a3b5eb1ec3a7a89aa3b7b4f3bbb5844e63a2bfa413ab903ab3b0cf8253b809998bca01147bc681d2dbc4940c3bbc4d629bdfe3601bdde28d8bc190d80bc124b54bd7fd830bd842a00bd9f9ab1bc9b9e51bdfc022ebd237b01bdedcdc0bc1c5f34bd183622bd3a4af0bcee5bb6bcaad116bdc89d0cbd62ffd0bcc89ba9bcaa1fd3bcca3fccbc61e096bc621480bc9c4e49bc698a46bc9c2708bce61af1bb25ec42ba5dd68dba16f1ccb9be6186bab4bfbd3b818f60bc01ab363fb04cd83ebba5883b815086bc75822b3f3c3acf3ef746a63a986d23bc05d8133f71c3b73e287d7abbf34430bcdb41f23ee67a9b3eb49e00bc04795bbcb7d1bb3e1ba6773ec37a5ebcc323b8bc4e2b883edca0383e7da785bc5ad9edbc4f95283eacb2eb3d4d0d7abc348c09bd24e08b3daa694d3d153a2abce166cbbce8cd5fbc8f4fc2bb61a295bbefaeb63b0000000000000000dc60073c2a4a9e3c000000000000000070f0c63cbc60f73c00000000000000007fcadd3ce196033d0000000000000000dffbd63c68b8003d0000000000000000d0279b3cbb29d93c00000000000000008186063cd546933c00000000000000008d97b2bbc176c23b0000000000000000d55d36bcb5fa4ebb0000000000000000c651f83a4cdd6b3b5fd5ca3a97ecf03aba8eb93a1aecaf3b67d3c03b080ca63b7db4ce3a5c5ec63ba71af13b8917d63b8752ac3a1604f83bffda193cc2ef053ce8be053b0984af3b1096c83bf8d69a3b3ee7abb9560cbe3b2b09f83be0e7f33b0942fd3753901c3b0bb6933b7c6ab13b836f9ebaf5b5c9b9ebdd5d3be8a14c3b703321bab4015ebadb49463a3599ae3ad8cb123ad68f143bcdcaf8bb2aee9fbc7310b83bb762613b9e2126bc83e3f5bcfb399b3bbd897b3b97a343bc8149f2bc4dbec83b8f2a9a3b32e046bce7a8f1bcdd20483b01b6253be14550bc3c42b9bc959cb43b2182863b41d4d8bb007991bcef56783b88a7403bca987bba682930bcab58273bbac1153b1b5f873ba55d2abbc91243b8e2f9b9390aa1ae3b59964e3b768996bc689a4cbcb8cf83bcf0169abb8e1b20bd29ce00bde723debc83cf8cbc50ab35bde5c620bd97fcf3bc3a04b3bc449442bd95913bbddf710ebdde4ed3bce14510bd90710cbd9477d0bc8c459dbc3f8a12bdcff515bd4287d6bc651cbbbc1f3dc0bc94bcbfbc4fa692bc1e486ebc25921cbc6d8053bc5bfd1cbc8b5102bc2fadeeb983a384baf0d133baa3b040bb8bb87e3ba8e93abc2c1f113fd1ea113ffed98b3bbf9b28bc2351073fee4f093fb9fa1638ae5ce2bbf4fce73e0463ee3ebd9ababb2a4b0dbcecafc13e41beca3e0e2ec7bb5d6f06bc0e9e923e2baf9a3e8ba457bce496a7bc1cf2583ecfc86d3ef86775bc818bccbcdca9033e341b163ef3c680bcac44ecbcbd2e4d3df56d863d83ee30bcd5adb0bcbb9a82bcae5ca9bbe097c1bb1180173c00000000000000004346a83b9adbb23c000000000000000051f7a23ca00bf13c0000000000000000c628c23c7a7f0c3d00000000000000004bc5bc3c54cbe83c000000000000000059fa903c56fde33c000000000000000031dee03b05927c3c0000000000000000dcd2dfbb8704db3b0000000000000000cd423fbc2f269dbb00000000000000004158913af184e73aca9d463aa46ba53a989b42b93451d13b0bb6e33b5158f03bb620493a53dedb3be1a8063cfea9023c9df6cd399c9ad73b1475153cce0d103ca645683a8ebec63b7ced073cf765f43bd38233b90afba33b2b3ccf3b0821073c7f7a8ab9f0b7f43a2c00aa3b6035b13baad5afba559ed5398400453bc0de5c3bf1b19fba5bf708bacfea023a45d5a13a2c4a593a5fc3343bad577cbbb16380bcab6f8a3bb4c68a3b57d708bc065fdabc553af53b5da7a83bdbf01cbc15e7e7bcd0c9dd3b6b02bd3b6e5929bcc922d2bc68aaa93bf1908e3b7c7b17bc7d92b5bc6ba0cf3bc6139d3b107a9ebbdf0f85bccce3933bc16c863bdc81b839c87508bc5d9c253b49a2a83a4b636d3be9966f3a39fc483a6c008bb99309a63b5965873bf65390bcb3bf66bcab7b74bcdb7806bc5c6d21bdadfe1abd6ff401bd7f678cbcb0eb3ebd0afc44bdd56314bdd8c6c6bc96a43abdfaf148bdfd7f14bdaac2d7bc86de21bd65a030bde81a03bd455ec4bc0e3507bdc9611bbd0439ecbcb97cb9bc4256b8bce3b8debcd20fa8bc3ba17ebc83623abcebd65bbc3e271cbc54e7e7bb9d476cb9d77bcfba777774ba9ae52ebab68f823b34eecfbbc443d73e38cb363f0ad55c3b1ee6d9bb5384ca3e1d4a2d3f39efbcba00499bbbd89daf3e424f163f85b0c8bb74a201bc4bdc903e92eaf93eec2718bcd6de39bc5eec5f3e9b57c33e856655bca5bd99bcadfc1d3e88c9903e65b47ebc8535c9bcad37ba3d0712383e50b56cbc2a8ddfbc177bfd3cd5e9a63d16631cbc52cda2bc92788abc4d27d4bb22cb43bc7901153c0000000000000000233641ba2f5eb43c00000000000000001cbb883ce5d2013d000000000000000032fdb83cd24c0c3d000000000000000094a4b93c42d3013d00000000000000007422843cd82bde3c0000000000000000a2049f3b2a3f663c000000000000000008da08bc69eeac3b0000000000000000dca757bc1abc81bb00000000000000005517a3386da0043be24a343b443fa83ad92eef37d8c4a13b3a51c83b5535093c7ad5cd3a5496a73b14f9ca3be1a4933b8e07cdb92600ee3be9e81e3c4771233cc09a1f3a5e0b9b3bd749ce3b37d4173c28c643ba4ce28d3b94c1ef3b7541ef3beebfb5b98565163b0ff3963ba43f9e3be8d945b8ea791abaa15eda3a8e3f473b40429bbac5b7bcba5afb96ba1dc5b33a5e9f0a3b03c2183b6f4f2bbbdb884cbcdd01a93b5e22bb3b1d4ed3bb9409bbbca5165f3b6deb793b03910dbcf71baabc2f1af63ba193a63b68cd17bc98a1bebc218ade3b19a42c3b736818bc57b096bc2ca1b33b83c5b03b282821bb5a134ebc946a673b994e3f3bd497a6ba9d30fbbb3c0b143b7ea31a3b3223ac3bfccc843aafd76e3a54753b3a826ab33b31c79b3b754da4bc6bcd8ebce04082bc6468e0bb2b0e1fbd95272ebd272f0cbd62dda3bc0e9d18bd39882ebd8cc901bd9080a8bcbc4637bd472560bd329121bd4cc5e5bccbc210bdacf831bd7ad304bd71afc4bc5f3bfbbcb43125bdd3d9f8bc74f3bcbcddcfa4bc3fccd8bc6f0f9fbc2fd067bc4b9613bc6cc66abc71f030bcf0fcfcbbcaad7b3a35d601ba64536eb9ec098b389445133bb53258bbf4cb8c3e07bf5c3f717c15394d92bdbac3c4853e6337503fa5f0cfb9d8c6ecb9edba653e9f3e2c3f51efddbb3be993bb4fa3423e0049143f842403bccbbdf5bb8e9d133efff5e23eb22a72bc229b8fbc3a42cb3d46d6a83e1be53fbc08888dbcfaee6e3d7472563e4b3762bc92b3cebca9f83c3c478bbf3ddb2af5bbfa8587bc3f8e9bbcd65029bcdedb8ebc6518e83b0000000000000000f3a63abb9cddb93c0000000000000000cee0683c6abfde3c00000000000000007749c33c40ed123d00000000000000006400b83c0272003d0000000000000000f8b37f3ca70fd93c0000000000000000eaa9aa3ba1ea7a3c0000000000000000a95714bcdad7843b0000000000000000153d79bc6e98d3bb00000000000000004d5138b99553293b15edcd3ad4d10c3b4dd8eebae76b9b3b7741f43bbe990b3cc22b9cbaf636b93bd44d133c20c3203c180457ba8ffcc23b2c5f223c60292d3c6af36c37adb8af3b1467113c9443033ca4e0a0ba3d3d733b9adbe93b8f660f3c861ec8bae80cbb3a6795933b319ed03be73efdba4d4ca9ba4bef973a4fa36a3b64bb5eba0118abba51bce4b9a8495f3a12300f3bcd99493b3a72c7ba28b932bc282ddd3b9e05db3b788127bbf3f281bc872af93bb660ea3be554bfbb8e7895bc0415f03ba781ee3bb9eee7bba3719abce891c23bf9e1843b2944e6bb9e3386bc86dbe43b1747b43bd0683fbb314824bc6107a53bdb2c873b36b33c3ba43960bb97b9473b05dc063b5967d53b75a9753b65af2d383d68383ab0d8c53bcc61bc3bacb0c9bc1214d9bc63dda9bcfbe128bc1a2b21bdd97757bdc0421bbdb608a0bcfcfd36bd071d7abd511926bdb3aaddbc889d2cbd937475bd25082cbd2040f1bc2b010fbda52a49bd51fe12bdfcfbcfbc0797e7bc0a2931bd9eb802bdd84dbebc9d1194bce6caf9bccf31c6bc811b7ebc9b65c9bb800972bcb5fe27bc82bebfbbaf02c13a61e3d1ba6f5e9fbaf47df739799c113bafac4e3b93c10e3ea94b823f8c8e9cbac70a133bc45a063e47e7703f92f28dbbe8f6633b3283f33d02e64c3f3991efbb1638aeba32c7c93d826d283f42921dbc85a4b3bbd514983df71d023f30706fbca45d75bc0edb373d078ebe3eb21b7bbc3a9da1bcfa0b893c73266f3eab8643bc911ea6bcf64a20bc8954cc3d551b05bca53885bcd609cfbccef596bcace560bc3b423b3c0000000000000000147a413a5f37b83c000000000000000060e3ac3c66df043d0000000000000000b56ee93cf46b153d000000000000000002b1e13c8d10033d0000000000000000249e993cb4e1da3c000000000000000043c9d13b3084823c0000000000000000537d20bce1d6d13a0000000000000000f8438abca9ddf3bb000000000000000000000000000000000000000000000000611b17bac6d8b23b5f8ed53b86c2c93b76fc9c3833febe3b4a75fc3b5a7de93b787b283a4675ab3bf3cf073c2119eb3bfc9b803a1d2cad3bfe15e83bb8f1d43b3802efb9e486983be712c53bba4fc83b3db295ba9f1f193bc2f5813b6d30ae3bd0cf82ba70f74f39186d1f3b30e33a3b0000000000000000000000000000000000000000000000000000000000000000bff68f3bd1a6af3bf775c6bbc8c181bc21abaa3b378d963bfa2df0bbccc486bcb3f59d3b22fa9d3bf29c16bcbe5086bc622b923b46138c3b1481f9bb076e7cbc615d953b9f376f3b0e675fbbdbe52abcdfcc843b3404693b8231633a0e5a88bb95f5093b9e80213bb5479c3bc246e73a000000000000000000000000000000000000000000000000000000000000000088d718bdbd0659bd56890abd2df1adbc245d13bdca805cbd9c8f11bd75fac0bc23b10cbd807053bd3ac618bda471d4bc258cf9bc7bb13bbd823106bdff69bebc9faac9bcc88022bd9d98f0bcac43adbce69381bc5f00eabc1516aebc55187abc20a5e1bb6d3496bc7d4c4bbc5bdfc9bb000000000000000000000000000000000000000000000000000000000000803fddb53c3b2a47513c1491863cc9fc823ffe98f8bae7fdea3b41cf853ca4b75c3fbd309bbb58f7403bc160523cce0c363fa5c203bc1ad628bb068ff63bc7240e3f615132bc8c750cbc50aefaba311cd03ea8d64bbc2aed62bc2e2859bc5421843e63f138bc88e68ebc0625cabc3890e53d00000000000000000000000000000000000000000000000000000000000000003941953c27aecc3c0000000000000000494af33ccb6cf83c0000000000000000d24b0b3dc5b6ff3c0000000000000000ca93f33c745efe3c000000000000000003bcb63cb751ce3c0000000000000000f0202c3c31f07d3c0000000000000000256cb3bb1eca1b3b00000000000000000000000000000000000000000000000000000000000000000000000000000000154cebbb5fd9c53b1c3c193daceff13b87ae8dbbce2af43b169e093de50b3f3cd6a016bb91ca283cd5a6dc3c72cd4a3c399b9c398752d83b1b90a93c1a1a3f3ce879e53acb4f873bba41843c80b7f03b3b7012ba873d893bdce2083c23ceb43b2b0dcb39fcf5a339a0c0603b2ea589ba000000000000000000000000000000000000000000000000000000000000000004e8d6babc00f5ba6cf2b33b493a293b736690ba73cc29b972d6873afd0ca9bb39e2403bc02e12ba6cfac6b9c47285bc2e191f3bc3fa10ba424807bb1cf886bcb3d7e53a75fe943aa340b2bbe5cb30bcbe66dc3a89c4f6b95b10c0bb80b9e8bb5a180d3bfa9de2b7fd40ccbbff6209ba00000000000000000000000000000000000000000000000000000000000000007faf4ebe719a20bc58c1c83b72475b3a14af40beb4a4b0bcc7788e3b66d1c4ba811629beefe009bdb591fc38abd7d3ba940109be06faebbc059a95bb607305bb00eabdbdb068cebcaff715bb57a2f4baaf7654bd4cf665bc7b7f15bbd1fbc9bab96e16bc7d7f9dbb557391ba333135ba0000000000000000000000000000000000000000000000000000803f00000000373e923c1764ffbd5fbcac3fe40dddbd34a1383c14cca0bd9b048e3f145f62bd46ece53bf6295dbd5fa1673f424ccabc453f043c5e871cbde0a62c3f39a5d9bb128ece3b1a57b8bc59c0e03ef77f103b4751ed3b1edf65bb403d5e3e6457173c7903d23b4945823ba7d9013cae2dd33b0000000000000000000000000000000000000000000000000000000000000000ce284b3c38e795bb0000000000000000a4b7d73baffa86bb00000000000000000f3be73b70b228ba000000000000000040482b3ce7ddaeba000000000000000078adc33b9673353a00000000000000009a398f3b1045b83a0000000000000000f73d9b3baabe93b90000000000000000000000000000000000000000000000001ea7fdbb9d2b333bbd6aa73c914e5f3a65f130bce4220a3b5f4c1f3d9e1ca43b6b84eabbd3d8093cb8001f3d27a14d3c9ca973bb0a16043c0d66093d831b553c30e32bbb13a5093cb813c23ce6fc493c63c450ba5835ad3be5559a3ca823e03bdd7d1fba7981733bc2772e3cae86863bdbb809bacdb2413b7cbbbf3a0ae75b3a2b4997b9aa5a97ba0670eeb9095661bbdc81f0baa9dfeeba43f0d93b5854023c986788bb317a45bace10913b50dbc03c819acf37319f42bb670f913bdc2fb83a2356093bccfee3ba80056c3afa3ac8bbb60c1f3b6d48b439d74c86ba4b2811bc223c6f3bcf0b4aba81d295bb1cbddabb165d353be0f9133952e9d2bbd93386bbf17a413bfdab86b9df8fd8bbc44bd3bb67b28139baad00bac90bc8bb16109d3b585ef4bd62ad4a3b35becc3a0443463bda3940be80fc2fbbb72d853bf569873a588f4dbed702f5bc2b2e3c3919d24a3be84734befc2925bdea4b09bbf58d213af0d50bbe67b722bd0cfeb9bbc5011a39bd78c6bd7b6bf8bc45e1a2bbd01f59ba56204fbd413cb8bc68379bbbfc12153ab4fbcabb1d1f48bc6cdd91bbd3581fb960a48c3c0dd8363b6344473a480fe53abe73213d1d9459beb519ac3f7f2e8a3c8817273d5e9e52be78a09e3f9f16dc3c5460f33cb96825bee4f78c3f93cb533dda6fbd3c833cf7bd8e7f633f6832863d3281963c8ba8abbdcde7263ff8678c3d1d33813cb8c74ebd8740d63e5f9d7f3d32f0493c491fa9bcc9054a3e3a774b3d0084d73b22fd6c3c5f2f663c3f921f3d2b0c133ce49c593bf772e4bd4bf9cc3ac0f5b2bc7b102d3b0000000000000000a301afbcd787463b00000000000000005206a2bcff91d43a000000000000000057a187bca3b3003b0000000000000000e6e03abc7c07323b00000000000000006d3928bc97d8573b00000000000000001deaddbb69e9b33a000000000000000088fd80bb6d1fec3a000000000000000074163abbe88a02390000000000000000b5c5fabbf5a9433beb63433c24361e3b231310bc3731ab3b4d0edf3ccb9f2d3c4f64cdbb3b8b213c5243df3c3b1c7d3c752a94bb97061f3c0c04d63cea10823c84101eba9a87b53b947e9c3cca34413ca2bff7ba74b2ed3b9a1b683cf8fb0b3c085a4ebac4937d3b346afa3bf4c4a13bf1b9abb9a127db3abe4a3a3ba9cc3a395dacbbba22bf443aa4c306bbea5e6ebba0caf5ba05887ebae08f123cac7c493b1d984bba544b16bbecafd13bcde0003c12b3213b0a8bffba5d63813bd17780bb9066773b0f7ea3ba74010c3b8c83cfbbfdab813b789b05b9834027bba7e7e8bbdabd8f3bb23680b9cd22aabbfd97a4bb44440a3baf1789b8a74bacbbb8451ebbc15d203b2c60dfb973b1d6bb1715cb3973daa03a811c00b9c6a489bb632a6b3bd53799bdf69aa4bb59c113bbfe1a893b620c1abe36cf07bd03e2b6bad8a4833b723f23bec04665bdf1ca86bb1bd9493b90c417bea5237abdf5c6cbbbf6c8b43abe87e9bdcc8652bdda0e34bc611691b9aab9a7bd74662bbd55910bbc1291523a90e439bd7fc3cdbc159c8cbb273a84ba656b39bcacdc26bc7d9d7fbbc86c393921263a3c9a2b583b3f250f39fb4f55b9c769243d685e5abe5cf58e3fd5d46d3e01233f3db01068be07058e3f53c5683ef57a0d3d727f33be8dd9763f06a8663ed5e1df3c1f5f11be2501493f127b513eab24af3c74d7c7bdd4c4123f08e1313e0ecea23c2eb18abd104ebe3e5ce1083efe52833ca8971fbddf8e3e3ec929a93d68f8343cd5b30dbc60ebc53c83aa1d3dfc6d243c930b91ba233c8dbd0256b6bb9e3f91bd075b4d3c0000000000000000134790bd3c88513c000000000000000028346bbd4ee2213c000000000000000005c53ebd72250d3c0000000000000000629905bdfaf4023c0000000000000000bcf8dcbc7bd1d43b00000000000000002f3496bc3ecefa3b0000000000000000609c22bc1e03653b000000000000000033189bbbac6b003b0000000000000000b668b6bbffd2f23a4f2e1c3c264dc13b05ffeebbebedc53b0798a43ce016843c9504cdbb63b3f63bf247cb3ce7719b3cc2a160bb7e350f3cb82cab3cdd729e3c07f0caba1df3fb3b39617e3c1347873cb417b0baf003f83b57c82d3c9e77323ca158bebaab58993b739cbf3b37a6fa3b2a00a5ba40d7593bad9348bade9cd73a319816bb0869b73a7a2399ba40624abb2ceef3bac5600fbb70ac263cfb3bd1bb99559cb74cc32ebb6607c53b7d03113ba637273bf524eabad33ca63bd76f10bb6e1fa33bd99317bbaaadc1b83ec2cbbb08eab73b038a75ba2b66b9ba421adebb67698d3b9a13943956488ebb253fb2bbe361763b674c90ba6d3fb5bb90e88aba06b16e3ae68f4a3aaa43aabb03f5123a8d0e013926ad4ab61d63ebba5840803b2ef765bd4e42a6bc4ad9cfbbf970063c767cecbd170082bd03df29bbe3ddd63b970a07be6108a8bdca9ceebb7d2bb83b8e77f8bde399a7bdc9e739bc10d86e3b5733c6bd718996bd45955fbc208c103b6bb88cbdb92e5bbd16982abcb7fa95394cfd21bd516807bdcd5505bcb76ecd395c5e1ebc8b1736bcaa1b63bba26ee5ba68d6d83b46aad83b3651163bd5be603a23460d3d146547be44386d3f879deb3ea193343df9e558bed09a683fa2b8ea3ef4a1053d96592fbe45184b3f4dfad83e86aee53c55c808bee86f243fd27bbb3ebd5fb93ce480cebd9024f33ed5cc963eae31a83ce5458bbd4b369d3e6473563ed683853ca98522bd69ac203eeb28fa3d8537553ccbe38abc1ecded3ca907353df6241d3c24a62fbcd45253bda583a1bcacaaf3bd767a9f3c0000000000000000b6b8ffbd3039c93c0000000000000000dd58d1bd6f9a963c00000000000000005998a4bdbb72893c000000000000000078ea71bdfeac6b3c0000000000000000c67e29bd70da413c00000000000000001611fcbcb521513c0000000000000000141e76bce8ecfb3b0000000000000000984d40bc8303b23b000000000000000009fd9ebbe7e8703b1e9cc93bfa12ef3bf859c1bb86408f3b6353713cb9b1a43c1f0996bbb491ea3b2c1e8e3ccbe6a93ce25a71bb4b6c033c84a2933cb804ab3ce46adbba35fee33b85f4453c0217273ca34f91ba5d6cac3babc5373c082f2f3ca4ddfaba271f9d3b26a8753bb149d23b68c50dbbfbe8773b4f7efd361142bd3a679ecaba2b3c343b984a35bb2daa66bb2b53a63a94413dbb860e043cba8718bcd574073b41a430bb7ba6d63bccfba1baf7dbda3b1f583fbba28a7f3b7075b7bb933f013c8d521bbbd941ab3a79dbd1bb9ffcd93b80b1b13ac05e1f3a74273dbc638bbf3ba5610cbaf4b963bb430b5ebb72e2723bdf32053aae2134bb13c4f9bac2e5233bc9ed3db907587cbbc0d597b962e925ba8ccde7b985ab1cbba232483b54161bbd839413bd33de1dbc389b193c99aba9bde94fbbbd4fd0d6bb915b0a3c3614c3bd32c9d8bd0f9c5cbc85b9c13b4131c0bde2e0dfbd22f672bc90bea33b310a91bd86c399bd1b099cbc130d2c3a7bb46abd27e686bd25c954bcaddacf3abc62f6bc58b11bbda15e06bc454c7cb7bf7b2bbc0b0e36bc544b3bbb66f008bbf82bb13b15e5f23b488f333b52b3373acb5feb3cfa4923beb7a8323fc6a4323fe97f093d63322fbe09df2c3f4084323f8efccd3c72a609be1182163f117b1f3fb1c4c53cfe6ae7bd4f78f73e0b0b083fc2a35f3c3ae692bdf79cb33e8054ca3e2e2d9a3c317082bdf55e773e2dd6913e67fc443cc24d16bd1ad4fd3d8d4b1f3e191c453c24a88ebc2d40f73ce7c62c3d78b2163cf5c748bce3790dbda277fbbc358125be88b7dc3c0000000000000000c54e2cbed553003d0000000000000000c6d704be2936ce3c0000000000000000f47cd9bd6d2aaa3c0000000000000000181485bd17e0893c00000000000000007eb56dbdee297b3c0000000000000000dbc40abd9f8d3d3c0000000000000000b3df86bcaeaf353c00000000000000003d1581bc9c09fc3b0000000000000000b7fb5fbbcebfb83a15ab463b62951f3cbf8e98bbea8dfd3a2a98343cd5dabd3cf32095bbd47e953be59c7d3c9106e03cdc0524bbe17dbb3b9e94633cec78c73cc8c149bb474cde3be4fb323ccebca33c63412bbb9642e23b7378db3b2035663cbefe9bbaf20d963b03717d3b9caf0b3cd8e07bba55515a3b39dce5398a6cdb3ad729a5bad292743aa05435bb6525eaba02a8ce386ed138bbc2d9c13b007eaebb10c2be3b57e5b7bb4868903b3fc6afba4c00d63be5cc1dbb0d01c63a605f04bb4de9103cf9651abb34e4c2b97927aabb99db013c88f317bac5898dba37779bbbe5ccc23b52c9cfb8a94210bbe972a7bb9ce1423b85c443b96bc11cbb15d8acbbe754c63a0b6739ba8b136bbb9be3e4bac3897c38e489cdb9aab896ba9dad3b3b20a6b0bc53035bbda0cbffbbd766253c2bd253bd9762f9bdefb792bbc6bb153c63d78ebd355210bebd5936bc7788ec3b4d9189bd6aa205be2d628abc942b833b37ab72bd8bafdfbd00da8fbc463cf13a35232dbd123d9cbdf38f67bcb3ff383a14d6d0bc515037bde846cabb50a3f8bad0a817bcadf346bc950f43bbd9e2eaba4de85b3b23390e3c0f9b6d3bdb632aba461aae3c7391eebd4652eb3e95596d3fd11dd73c5b9efbbdbd52e03eda6e6c3f8d23ae3cefb2cfbd4bbcc53e72ed533f1322893cb037a3bd63b3a13ee62c2f3fcb40733c19f081bd0fb7783efec0053fbb4e663c20b435bd929e283ea712b13e63ef423c3decefbcdc9cc13da3503b3e47861b3cd88e74bc98aa023dd715253db1deeb3b38711bbc7129a1bc5fc045bd51aa48bef2b1093d0000000000000000d6a154be7b08273d0000000000000000ecbf29bee29df63c0000000000000000c96dfdbd3e19ce3c0000000000000000c0d8b5bda55dab3c0000000000000000e39374bd34cb8f3c000000000000000079e20fbd409a723c0000000000000000598076bca9a8263c00000000000000006d5b56bc0510013c000000000000000075d8ebba65b98bbaf0610e3ae0f5783c6fb816bbdcb0c439c006e23b728eef3c96cd83bbce31133bc40f353ca08fff3c011e10bb6183ac3b768a433c434de53c94210fbadeb2913ba448063ca42ba43ca38bd3bafb5d933b937af33b48d3823ca8a8d7bacf3a833bbaeb163b31371f3cde7a06bb80c5783b9abb1cb950d2813b838e1aba27ad2b3b894f3cbbd5331cbb940882bab7ca87bb8655523b19c36bbbea1d913bdd64bcbb2633943ad3a16dba2a31013cf76a9bbbb576233bbe7a8bbad8cf0d3c328dceba66618dbaaa17b0bb366d053cd34e85ba65b8ebba285cc0bb6cabdb3b3e8fbeb8ecbb14bb793593bb8e2c393b6028d9b9c2c627bba1e565bb537afc383bf67c387f41f938e5dc55bb795340b887b98fba19e660b9eda7edbaddd2ebba6e409bbdeb892f3acbee213c8572bdbc14021ebefb94c73a5c6ef03b949f2abdb65729be33a460bce3140b3c59ee35bd391b20be96778fbc28de753b1f521cbdc6e4f1bd0a97a4bc1f0b2a3a0b7500bdeba3bbbd7ec266bc155293ba1970a2bc3d5841bd63d20bbcf12078ba16621fbc7b7549bcba8c68bbfb481abbc6ebe23ad3c0583c323f233bf5a458baa2cb613c1b098abd5bfe6d3e273e8f3f2d54863c41548ebdd980573e29938f3f3a54273c644367bd8132483ee9cf7b3fddd4473c2a8b3cbd7e8b253e502d513fa194113caedf06bd3ea7023e763e1a3f10b91b3c55c2dfbc81a2c23dd155cf3efdf2043c52a888bcbec5713dde5f513e5652b93bd37b2abcb39d013d5d2b053db2b3853bfc9da6bbe76316bb22018cbd0af75dbe60f01c3d0000000000000000890762be1418333d0000000000000000b45f29be12dbf93c00000000000000009a9103bee78cdd3c00000000000000000f58aabd63e0b43c000000000000000015da6bbd1aaf9b3c000000000000000015bc0abd448c583c000000000000000067f2d9bbd7a1133c0000000000000000e7f487bbfd1ee13b0000000000000000278144badf7421bb7d6d4fbaf6acb13c8ae886ba830a44bb2fa64239a5b71e3dd005e3ba1e50d3baefce123c667c203d5ab039bb9bf3fc3a827b293c780f083dcc9205bb4630583b194e033cdd64c93c890011bb94af833b70c3bc3bbf9b9f3c64dde8ba5a3d823b6b564a3b962b403cf0d005bbd619823bd8a4883a93a71c3b39a250bacb4fcc3a03f531bbadcdbcba8cff8e39ed29b2bb606b113b11ec2b3aae914c3b62fcf9bb42726f38a24a65b9e189133cf5de92bbed5f3339f300543ac2752d3cad9d61bba889a7ba77090639bd06123c2eed12ba0f6f70baf4826dbb3194b43b00bce739486977ba17ca93bb81d75e3b44a06f386bc55cb9bcb892bb48afc33a31de383ac668ca3759f05abb743139bb1d33223a21cd0639f9d2a1ba18cbe03bfa38f4bd5268f43bf1e4e73bffdc2f3c77e442be26f96c3cf86be33b921981bc3dd950beca1705bc73b5973b97a5cdbca0f038be30d094bc52d37b3b034cd4bc6ac20fbec0c7a4bc57e3b33938e9abbc24a5cdbdc27084bcc43d13bbe9777abcecd060bd621121bce75131bb6f4160bc49e1ebbb3cf003bc6d3c57bbd834843ae4b2953c2328883bff5ccbba62fa3f3b182b9dbc49ac963c2eebab3f54de9c3bb4198abc630c5e3c89659f3ffec8913b993894bc8eb9e43c94848e3f30cb943b61dd6bbc260f013d9ca1673f4789853bf48739bcfc7f0a3d4da82b3f08a3b33b1cd506bc3d0e043d0813de3eaa8b8d3b7ac8e0bbea45043dec9c563efc09503b5216d1bb5ee21c3de523983c09ae2f3bd19bb3ba0057d03b0fe9e4bdb79d5bbe2ac4153d000000000000000000cb4bbe9d8c173d0000000000000000400d17be8cafd93c0000000000000000b82ad1bdbbeb9c3c0000000000000000c14580bde478733c0000000000000000efbf0ebd6dea623c0000000000000000ce6f4cbcd813153c000000000000000067a8603c296c9c3b0000000000000000653e5139c3f5853b0000000000000000000000000000000000000000000000002dbfd1ba84d362bb49d3cc3b4e57193d91fc54bbb8d327badf4d103c185a0a3db067e1bab72fa23aee3e233c2779e33c5f84aabaf39f313b6222d63b3966b43c0114d3bacc63c03a4422c43b58fb793c1e228abaa6932d3be975223b73bb233ca3ca50ba6c7e903ae66591399191533b0000000000000000000000000000000000000000000000000000000000000000bf47f93beaeeafbb4aa0d3386a25ba3bbfc2093c798deabaff5305b814a4193b84fc473c290cdabac4ffd1baf65c1cb798fc1d3ca096393a5f0317bbc3db4bb9645cd93b324aaa3ac95bddba8b4b56bb50f7123b6df96c3a1eefd8baa6909cbb40e9d4b8ae8ba439edfa5d3ad2c880bb0000000000000000000000000000000000000000000000000000000000000000dd4a2fbaab3151be366584bbce23883bcf331cbcdef840beaf7a82bc8cb38d3ab1069cbc946f2bbe41b3debc7d86b4baca4396bcbf2108be46c8eebc7cbc7cbb308254bcdcacbebdcf679bbc8d6c92bb842f15bcdd4753bd8d9443bca7ad1fbb777159bb538c16bc0da06cbb70a6f1ba000000000000000000000000000000000000000000000000000000000000803fa72385bb3fba6b3c67b2eebd832ead3f8cf617bb6d6e1a3c6cce95bd52348e3f528f1a39c86bdc3b8e6453bdaff4683fda7f7fba5011cc3b29d910bd3d602d3fec2b903a324daf3b9dee99bcd0cde13e7ad9b13a7343053c538c5dbb868a5f3e097c5039497cee3b2bd79c3bcc5c083c0000000000000000000000000000000000000000000000000000000000000000dd55eebd6898843c00000000000000005e717fbdb726313c0000000000000000e1b201bd21cf213c0000000000000000382122bc92361c3c00000000000000004f2319bba1c5e03b00000000000000007cd51a3c994ea53b0000000000000000c299093cd5c80b3b00000000000000000000000000000000000000000000000000000000000000000000000000000000611116bc60c5913b4614d13c5b56603ce04305bc1f6bc63b3b6dc13c9a78833cb1c686bbfcf9a03b447b933cb6308c3c632c47bb8108873b46cb7f3cfb8e513c988de5baca2e223b65d1493c28aa0d3c6fab70ba20ca583a3fd3ec3bf424d83b0cb42a3949bc1cba9f50453b3598503a000000000000000000000000000000000000000000000000000000000000000027ceee3a2c868dbad3846a3cc8f9f6ba8b19953bf2ae5e3ab04c533c27e2c1bb2bb0fc3bbb710a3b98b8143cdc2642bc18ebde3b5d2c803bb297af3ba4d32cbc847ebe3bfd81473b2e1b0e3b95449ebbff7e6a3b6753163b40fa27babd2688ba5eb22e3ac958673a8f9e86bb8e6f873b0000000000000000000000000000000000000000000000000000000000000000c8fb27bed2091abd8806283a76c3923a715119be2eed4abdd2ea22bc24a190bba62504be69e264bd2bed91bcca3a1ebccbccd0bdf3c54bbdb74a9ebc221a31bc4d4999bd4be21dbdd0b96bbccd2532bc8ff936bd2563b2bcc79b2fbcbbbb1bbcee135cbc5e1d8bbb32220cbb2ae64ebb0000000000000000000000000000000000000000000000000000803f00000000d539583b1879f9bd5ce2a83f49e896bd4b61bcbba4f0b4bdff93893f187463bca50f32bcd6e689bdb1ae5d3f4d8baf3c04de45bc913160bde35f243fa3f60d3d317dcfbb209a37bd4987d93e1ac4043dd7ecc2ba8312e0bcdaf0623e48a0c13c8f41d03b19b57abc0507cb3ccd316f3b0000000000000000000000000000000000000000000000000000000000000000ac8a533c8993afbb00000000000000001c39a53c21b2193b0000000000000000a993e13c81f2033c0000000000000000dcb6e33c587c453c0000000000000000271fca3ceccb573c00000000000000000821a23c147f4b3c000000000000000053702d3c7cebce3b0000000000000000000000000000000000000000000000008d76dcbb4ab0843ad20f6b3c5f81813b27223abc8d2f313b0a2fc13c32cb533c256d29bc9fbb5c3bbcadd73c801a8d3c18d901bc86d17b3b8ca9b13cebd5953c75ca6dbb8e3b0f3bd76f8b3ce8125a3ca05d4dbba14fd43a6ab6463cfb24343cb210c7ba15860c3ab094fe3b523ada3b27a04e3a17570c3af4fb103b8040e43aac70ae3a6e776dbabcffa5ba70fe03bbfbdeddba355946ba9276493c2ecd583b0590d5b90695deba5eee623c743db23c205ac43bdd434eb87c928b3cd297d03ba0ecf23b71671f3b676a643c8acfa4b96d7c113c19c9543bc9ff073c5a0213bb1d61d33be5d0603b3bdb293b988b223bde16263bfd71673beaa607bbe429783bc3cb263be5a8ff3a5606f7bb1e6fb53a0d42a3ba842dacb99383e6bbf802943b268fd0bd91711ebc13b6703b54fa863b4e1c21be296af3bc72c4203b4a38093b537724be791067bd16866dbc1fac6cba694d0cbeb19282bdb126a9bc9a03e0bb2524d3bd613e6fbd9947b9bcfb6e31bc0c1a9bbd0d1835bd72cb97bccc7725bc08a72fbd1911d7bc1c905abc1806f6bb878643bc399013bc623bdbbbf3e7f6bb6696403cda56ca3bbf310a3b6b5b943a9ec5ca3c13ab46be91e4a83f4c34123de86bbe3cabaf5cbe456a9e3f15702c3da7afaf3b804127bef3e5873f334ebf3d824f01bb0c7d03be9ea5573fad77e93d266163bbd2b7c4bd59221c3f9957e83d95284b3b362898bd650bcc3e9e57bb3df618fa3b156c30bda796443e98347f3d423a1d3c7e2ce1bac3c2a13cb30c0f3d07545a3c9d084fbb35cac5bd853cf8bbda5fe8bc28d4adba00000000000000002acda5bc1cc3783b0000000000000000ad11f0bb39d5853b0000000000000000acfd7e3bdc2d163c0000000000000000b59f3a3c24bb763c0000000000000000378d3c3c4bcb763c00000000000000008a3c293ca3db4f3c0000000000000000c31c193c14bd1e3c0000000000000000ac5515bb6019193b0000000000000000f265cdbbac32a93a15d10f3c43ce553bcf9910bca07d383a0539a93c9d37573c4fac07bc00dc613b57339f3ce9c7983c420ae2bba8301a3bd194983c4e7e903ce9288cbbe1811b3b9c285e3c4873653caba126bb0e2c563a82173e3c1d46313c02e7f0baddac463a8252ad3bc4e7bb3ba89392b82d3b4f39716b143b78d40a3b3b69c8397bc6f338097dd0ba7a3802bb57786c3aa71621bbbc12543cc41f303b5307833b23f0d0ba6c1c673c47ba413c95bdfd3ba5afdc3a06e38d3cdb5c8bbaae2c1c3cab58193be502643ca016fd3a7d42073cc931a33b9e6ef33b963df1baa6f8f03bc0a06f3bfe913d3b1017003b0262ab3b03622a3be60780393ab98f3bb1f7963a862bde3a72e3a3bbabbc503bab67403a6a6667ba8c92c1bb12f7213b00558cbd514a39bcccda97bbb282163c1ff102bed79b52bdd55b1abc050f7e3bc01702bed82c93bd077fc2bc68242bbb3350efbd1d469bbdcb1bddbc5b75a8bb5363b1bd61b283bd4a2bddbcb63741bcf76784bd17c554bd6fc0b5bc562743bc9fd913bd909ffcbccffb56bcede50ebcf2b935bca2e635bc9c89a0bb5910bbbbb9f7083c5175ab3b26d7133ba0741eba5309dd3c6f1e4bbee7f88c3f321d7a3e45bce03c077667be49598b3f1022823e4a72d73b8f7727bea9fa673f46a1893e7eaa8d3b483d18beb7713c3f2a127e3ecbff4b39a33ad6bd3c0f073f6e59563e32a8e03bee36b1bd48afb23e02e3253ed2d1063c037f65bd87ac333e629bc93d95eb333cfcd3a1bc4979c43c3a542d3de9067f3cb7df91bb728784bd68921ebc052291bd55e4c93b0000000000000000b01085bdbd00413c0000000000000000939109bd1dac343c00000000000000002984babca5ed813c0000000000000000fe2097bb14ef9a3c000000000000000015fb8dbbe2deb43c0000000000000000343a67bb55348e3c0000000000000000a0d658bb38235c3c0000000000000000e8c5febbb6afd23b0000000000000000701094bb678c143a6572f33b72718e3b03bdfdbbed65ee39b94c783cfc547c3c0e150ebcac4fc73a26db9c3c2f389f3c86a1acbbc6942c3ad3ca783c090c993c90be83bb0280783a256d563c0b2f753c706644bb7de77a3a2f23083c2a423d3cc695ccb766f2a5ba95e7a93bde28f33b42383ab83d7b5bb9fd3ae23ae6fbed3a8dff5b3a65c899b9b1d9d7bab4bc9fbab9fe773ab773b8ba656c3e3c1b9a6bbbac80da3b77211ebb293a733c9bc5fe3b179c083c44bd043baecf7e3c51469c3b8211373cb21d673b63222f3c6510a23b328a2f3c2d78983b6391013cdc44db3af853063cdb16823becb3743bbe728f3b37a59a3b6b6b533b522a4aba59c1683bd6eb1b3b5e149c3a437291bbdf474c3bcaa3d4ba23a60cb9b9ec88bb336d0f3bb1a35cbddae5b4bcbfd43dbcec422a3c0bc9ccbd9ef38abd561f86bcd7dbc63b3d8adebd66f7b6bdd76ce1bc9c29b2ba8c5ac5bd066eb6bd35e507bdb24ff1bbbc039bbdb8a29bbdac2e0bbd22d634bc94595cbd5dfc6fbd80accebc434a38bc05a0edbc463813bd62b181bc246b21bc25d400bcef805abcf2db9bbb66dcdabbec4fe33b5d4dcc3badb8633b1ae4ed3991a7af3c497f33be2685683ff368f13eed72b23c779551be35ef613f669df33ea417153cdae42dbeff2b413f6585e73e54e88c3ba0390cbed971183f2271ca3e60e4033b0d81debd8bb5de3e64a6a43efafb923b5d1fa8bdddee8e3eac906e3e84eb273c6b1d5dbd134d0c3e4b1f0f3ef28a473cffe6bcbccfb6ab3ce4a9543dcabb683c8f8c3bbc62b951bd3f1d7ebc52b7e3bdbec2183c00000000000000007218dfbde1469c3c0000000000000000cdbe96bd9b599a3c0000000000000000495f3dbd7be2bd3c00000000000000002eb1dbbc12bdca3c0000000000000000b9648bbc6de6ce3c0000000000000000f7215abc5c97bf3c000000000000000060b838bc7bed943c000000000000000058b29cbcef80163c000000000000000018705cbb0eda87ba6d39a03bb589de3bfbb4dcbb2b305bbaf1a85f3c5bad773caae9c3bba371fbb9f296703c3e5aa23c1b2ba2bb6fbb0d3a04534b3caaf3a73cdc903bbb2eaace3a6e85143c65c4533c588fe9ba91488cbad61b0f3c3f5e4d3c7d9ac0ba930baa391ffb423b3d5eda3b8c651eb88327a0397ffb533a19f6273b1125023aabb972396936f3baa97f3dba9ebe453b5a5236bba77d483cc8d464bb22aa083c8936d2ba55f6583c8492e73b773a3e3c5c8e083bab0b473ca6a1c63b5e37453c218d5f3b3af9263cc1fd953b447b213c1fc6ad3bc373f53bed6321bb2c2b083cc9e6a53be2a5433bff02603b544eac3ba34a3a3b5ffcf63845ff873b3c7ed63aebd2e93a49ac43bbd540a63aac35e9ba1e0547baa8af81bbea27d13aeaa329bd7e8502bd397981bc72234c3c8a2d9dbdd965aebd7ab1bebcd661003cc35aacbddc02d2bdfe420fbd1bee38bbb9929bbd6cfed2bdd37119bd330e06bcc4d461bd13619abd102e19bdf96b73bc63512fbd847386bd8afaeabcabe157bcbdecb4bc20101abda4a887bc7b6924bcc725cfbb657a5abc8f4a8dbb98cbfdbb9461d93ba1d7a33b5cebaa3b8856843a0d53793c3af214be73b5303f9f24323f2532883c756d2cbecdb7283f92d7333f9237b33b77ed0bbef7cf0e3f4c5f223f7a149c3a7456f5bd79dae43e63720b3f36b8a6bb167da0bdf3aea13e29cece3ec599ba3b9b4195bd5b98523e1fab9b3e66e1e23b42b344bd455ace3d8ac92d3e860f2d3cba97b0bcfe447b3ce3a46e3d9f45553cc1b409bca0b92dbd786bc6bcb60f17bee456653c0000000000000000c87215be8e74c83c0000000000000000fbdfbabd5597bc3c0000000000000000d70588bd34ffd73c00000000000000000f68aebcf0fadc3c00000000000000008117e5bc4ac9f93c00000000000000001b3888bcafa4c83c000000000000000012a084bc9703aa3c0000000000000000877faebc85be263c0000000000000000f7b75ebb4ca5b6360a4d8c3b7157c03ba9eabbbba96f51bb0a80283c740d943cffcfd2bb4ad3c6bacdc4553ced85b13cf54cb7bb9d279bbaee5e3e3ce743a43c81837cbb5be9c3ba8e5b1f3c1db37a3cd9c132bbf692253927a6d93bcf57413ca4e995ba691445399b0e3f3b9573f63b916aa6b998e7803a4455023a538b203bced0da39bc17273af093b7ba422ea4ba15a4463ba9f139bb75181d3c251f18bbb51f2c3c9f4931bbb9bf2d3c5db1333ccf53573cffd0883ade3f433c66ff203caa38693c068f903bfd17213c1c140e3c1f2a553cbefbc73b4f62e43b8873083c41e71c3cb323883b26533e3ba5f8aa3bb29bc43b35dc4a3b8f6b843a5965073bf953f13a9b8fa83ab2052abb061b8bb96037a6ba3a6a2dbabc540abb351079ba2b72eebc6d4032bde94985bced8e6d3cef3f5abd1406dcbdc7d7c4bcd2c80f3cfcd681bd00bdffbd5bc51dbd170d73b92f666ebd68f1f0bd5b812bbd99dc10bca81d4ebd42f6bebd203830bded0054bce6aa06bdfb3a93bd27f0f5bcfe695abceadb87bc7a5533bd2d288abc12a649bc347675bbbb1884bc0c4a77bbca20eabb7f3ea93b1ff7b73bb3e5c33b96058f3957bf3d3c499ae0bd2201ef3ec770693f8be02d3cdafa02beb9b5dc3ef87a6b3f2809bf3a8a77dfbd4903bd3e826a523fc22521ba3e2abdbd7017943ef56e2e3fd464e2ba3dd49abd41315c3e63eb043f8a42b13a1a6f69bdc4cd093e4fdab73ec2d6bb3bd7e517bd91ac823d8c6b4d3ea8a8003c0e7763bcee190a3ca713733d5499233c32218dbb9d1201bdc74614bd85f034be3a6b9d3c0000000000000000aaf536be2c86f93c00000000000000003fa9fabd355eec3c0000000000000000db2c9bbd849bfc3c0000000000000000b65b34bdb10e013d00000000000000009db8e3bc62bb003d0000000000000000a05aa5bc3f15eb3c00000000000000007a6564bcbe3fb03c00000000000000006316a7bc297f1e3c0000000000000000a4c802bb102d52bbe236233b6a8f103ca70164bbf39a96bb9839fc3b691bae3cd88ebabb09d812bb83b4073c327dc73c3e8f93bbaad64bbb5ee4213c3e09b63c92f74fbb455b3dba4668ff3b1c12843c07ea23bb07b427bab502aa3be0625f3c413db3baeb20ea38f760de3aa10a053cb03830ba9540a93a03649e39c7153e3b9b0109396ad3863aa6e4eaba0b4d94ba37058a3b53468ebbaaacc63b3220743bcef7363c3ada84bb7628e93bb1c5353c96c36b3cd431c43ae93e213c84e72b3c63926d3c6cd38b3b8708f33b8023303c7c495d3c713b943bd5ad983b0ff4b93b19f6213cb722bb3b4f5f2c3b41c29d3bddfcc83bc152133b7652843a777e0e3bc2ea1f3b38db953a34274bba15be2ebbe7c692badf559bb9eaee9abae02345bbdb1154bc09f480bd0af70cbc7f646d3cdb80ebbc57d108be59d1a4bc5570e03be53c31bd7c9e0abe969a2abd861550bbd6c11cbd904b09be3aac3abd2ed30bbcc2510bbd1747cdbda2332dbd0e7275bc038cb6bca7c4a3bda18707bd0b3083bc22222cbce5c13dbd937899bcaac01abc75e508bbabd380bc5aee91bb0ea20bbc41d3a73b6498e63b4213bf3b345100bb35e5e63b392a8bbdcb15753e0dc88d3fa466703b734c9fbde231543e24e78e3f465086bbc11089bdedca423e8f94733f981a72bb2bfb83bd8ff3143e5f884c3fae07b5bb11cd42bd3b93dc3de491163f36e509b9729b1bbd1307803dcf34d23ef9562d3b9eedcbbcbcb2e43c28c9603e9850783b67ced0bb297c7f3b2440583dd67ba63bd9461d3b44da80bcb7ce5abd584e4bbe29ffb93c0000000000000000f14c4abe86cb173d000000000000000007bae2bdc0c3ee3c00000000000000009d51a0bd79e7033d00000000000000002fcd07bde32e033d00000000000000004932c0bce8560a3d0000000000000000682c73bc2aa0d03c00000000000000002b0411bc9631af3c0000000000000000842d62bcddc43b3c00000000000000006b634fbaab468dbb69acf2396992733c07cc44bb61dff9bbe6565b3b9538cf3c8dd689bbb830cfbbe7c70a3c956de83c2910a5bb294d8fbb6172f03b352ac73cbe7749bb8a4625bb25a6cc3b5b4b963ca5273bbbaf3c64bad748783bfd416e3ca068f9ba946bb5399f75dc3a811a113cc30bafb95da1003bfec54abaddda823bca6a92394ea2bc3abdfcc3baeb6491ba53c4963bf708b0bb4ee1543baacd073c65384c3ce49cb7bbf8ac993be7ac883c7f1c843ce2eb16b8c74bdb3bfa347a3c36728c3c2d8e863bbf2fe73b7295803c3c16703c97bba83bb5469f3be6000a3c1e47393c8a1ea03beddd023beb6dd13b7b37d53b6c87673b42f2053b8c2c1abaf59d293b37b5df3a1bff2038d690acbbcc2f2ebbf30fd5b9f17622bafcebbcbbfdf58bbbe2f0cbbd871907bcca8a683c57db9239dd8a25be67bb58bc496a163c59a696bca74f2dbe126528bd9b5c7bba13a5d2bc2c9c14beb6bb44bd747a46bcd25e9cbc897ae9bdff133ebde83089bccda645bc4267b0bded1510bda96b85bc3fcaacbb155d4cbd231da6bc4ea65dbcdcdf16bbea9281bc932eb3bb652934bc58eca43b628c313c6f6e0c3c5c3280ba1b55df39e6bad3bc0c7f063d353aa93f32c325bb77b4febc7e538739148da03f9630eebb00630abdad5c8b3cdbc38b3fdef20dbc0b9b04bdcf777a3cb6bd603f0b5a07bcba99eabcc732533cd1d3253fd47b40bbf4089fbc8d4d163a6d6fde3e1a010cba3feafabbf28498bad1d0623e19540cba21f8753bdfc22f3c662b1a3db0fe4f3bccde1b3cfc2630bc38b3b8bdf6df46be33ceae3c0000000000000000cfe93abe4523fc3c000000000000000063ffcdbdce71cc3c0000000000000000552f46bd00fbe23c00000000000000004b864ebce639fc3c0000000000000000d65d3abb7d81f93c00000000000000003c9c653b8f21d13c0000000000000000f82f033c3b0eae3c0000000000000000da933bbcbd4e083c000000000000000000000000000000000000000000000000271383bb7417c1bbfacfc13bd1f4cb3c59bfabbb2f248abbf1dcd63b8356c13ccd4f39bb1dad31bbf0dde43b89deaa3c275d36bb246f30bb10e3dd3b07db823cc24a19bb2406a3ba489a833b304a413c7153beb91b46ef389fd0ce3a8700e73badc2d3b9d1df973a470798ba890c263b0000000000000000000000000000000000000000000000000000000000000000beac5c3c28d694badadfcd3b099b7c3c4231803cf242183b24b5e13b128a833c4fb8773c82cbd53bf53a763bf3e8393c53d2603c66c2c83b4ad58d3bae00073cc045193c033ba23bac993f3b694aa23b1475c93b868d773b1f9e84ba52b4ff39d170cd3a00b5713ad6f420baaa136fbb0000000000000000000000000000000000000000000000000000000000000000846704bc7ff12bbe981ff7bca2ffb73ab1043dbc9e6d1ebed1a033bd333d09bc4f478ebc75660abec43e5ebde85a91bc61167fbc55dbdcbd999348bdc880a3bcc271fbbb120aa3bd6a6b0fbdd86d90bc89bb9cbaa43a3fbdff34b1bcf29162bc656d9a3b096a59bca44380bb2d18bebb000000000000000000000000000000000000000000000000000000000000803fa30f26bcdbaeba3a49d1e2bd126ca93ffd303bbc1ac62bbcb772a3bdade58a3f735926bcee8a77bcd13c6bbda5d0603f513912bc83fe43bcd0db49bd3768273feb02b9bb4eb80cbc658536bdca2fdf3e96258cbaae458cbada7df3bc5fbf683e4f9a983ac66a033c645fa2bcaf76e13c00000000000000000000000000000000000000000000000000000000000000009955b2bd86ea6b3c0000000000000000c3cbdcbcf806a93c00000000000000000117393c753dd13c000000000000000076a1dc3c9cd3ed3c0000000000000000bac7ce3ce985e43c000000000000000087aeb73ca2adb43c00000000000000009d2dc43b5a8f4c3c00000000000000000000000000000000000000000000000000000000000000000000000000000000f03fddbbae1a893acbc40e3c2a332b3cd2b1e7bb511c7bb789e9dd3bc1cc3a3c239badbbd18a9cba2237763b20515a3c6c9585bb6ceaa9baf77a853b2ffd023c89d670bb672ecebaae6f613a7882df3bba0f30bbfa328bba4900ce3a680e5c3b7f378fbad8a1acba9ddda338f046123a000000000000000000000000000000000000000000000000000000000000000055754d3c1fd61a3ca678ac3ccd3995bc25b3783c0606813c57f5bb3c55c11dbc2d81683cdb559d3caaf19f3c25e7d6bbd4e4723cf46c893c4b51863cc1d074bb54602d3c5eee763c59006b3c48f2383ba037c23b4b98193c9a33253c45c7803b9ae4213b3b755b3b013ab53be3e2a23b00000000000000000000000000000000000000000000000000000000000000002e8bbabda3d16bbdab4e05bd48bd8bbc32e8a4bdca4e7bbd00b93bbd18b619bd7cca8ebdbc5f7cbd30b65abd748443bd4a5c5abd1f3c50bd35e13fbd71644abd123814bd3adb1bbd203319bd6cc231bd78bfb7bcf3cbb0bc6a1caabc9da6f9bcbeb9e4bbc9f5b5bbdf7683bba35060bc0000000000000000000000000000000000000000000000000000803f0000000047b5fdbca85531bdb3f9943f5e66d03c299448bd19d038bde2b8753fab37603de86364bd4ca133bd43bf443f0f4b933d390068bd4d5351bd9dfe133f9e6a833df53a4ebd7f7370bdbc4bcb3ec281383d925203bdc7905dbd39ff673ebaaaa03c51b926bc07534dbd92bb843d02673bbc00000000000000000000000000000000000000000000000000000000000000005334f63c38761d3c0000000000000000c3c8623d4990153d00000000000000006487983d264d583d00000000000000003911933d6f1d823d0000000000000000c0d5703db9fe733d0000000000000000d3f91f3d16e2473d000000000000000079f7323ce6c4e33c00000000000000000000000000000000000000000000000095ed90bbb5fb663abadfd93bb2d39c3b681a15bcbc40f9391f58f13b12df1c3c30fb01bcb72bebbaf07ebe3bdfd7313c725adfbb214882bb91bace3b1525153caa8ca4bba36e46bb049d173bea70123c54655cbb65069abb4bcd373b286e9e3b14a050bbf3e23fbb5375903a83521f3b1966eeb90e29e2bac5d70c3aad68b83affe6853769df8239dc821038d489c5ba4f98863bc83cf4398435963c0e65a5bcbb1c263c1b3b0a3ceeeb093d00fad8bbc0bb823c69808b3ca252fd3c2b1961bb9d397f3c18e9a83cdef2ea3ce5dcb13aab44653c258d9e3c7969b73c68c7463b74b93c3c92cb6e3c2e3aa03c4f5dc23b3174cb3b51452f3c63bc613cfa612c3cbcbb503be358623b1a9ca33ae609873b2256a5ba62e4d7bab62898ba859cdc39eea171bd41edf8bcb2d558bc6020f63b66c2afbd66cb5dbd6acbfbbc1faa31bc75a2a8bdd20d88bd09bb50bd6ebe20bd49d28bbde27b80bd47c35cbd36b55bbdedc14cbddfc656bd5cea51bdf5145cbdb1e606bdc4211bbde0761bbdb76a45bd2500babcd1ce98bc388cc0bcb38809bd7a0e44bb6b5128bcd8c20fbc617765bc225daa3b4bc6f03bb2e7023cabedd93a937e59bc8f2296bd0c8b953f8e5bf63d923429bd90e4debda3198c3f8d32093eabdb6ebdcd67afbdead1693f86b1273ee86f8dbd2e38acbdc3b6383fae6f253e058681bdc0729ebda466073f28600a3efc9c57bd7074a9bde32cb83ee113ca3d63c704bd0db493bd9b6f473e5fa9553d5b53d63b1c724bbd5fa35f3d9aa03f3c55009d3ccac20ebdb6855cbd5b24d1bc427899bc8f9d6cbc0000000000000000c016bf3bea7f7e3b000000000000000075b9433d2d9a0f3d0000000000000000dc2b853d1eb96e3d0000000000000000d57b8c3dfbfc893d0000000000000000c8dc623daab78a3d00000000000000004758173d17da563d0000000000000000ab4f313ce5ea103d000000000000000025f488bcfd38143c000000000000000025fc5bbbf387a9b96e71a83b6e7c513bd627eebbc10148baa4a4d93b7774063c6aebe1bb95ea09bb47ddae3bd0702b3cf789e5bb377043bb74aaf03acfb6253cc72486bb94ac41bbe77ef63a0efb083c5ecd80bb818f83bb134a563aff79933b97dc00bb99c865bb487c673a12ac433b8580aeba6d0dc2ba454e7939e4752c3aa51e593a84abc0b90705653aff4fdbba7366213bf790dd3ab839903cc2f86cbced90383ce449203cc2e5f03cfea815bcaf007e3c791b953c0cc1d33c0f36a1bb6122773c4c8fb73ce3fff03c8490813b0a514d3c255d993c60cba83c2b90133b1701233c3c25913c8f439c3ced1f0a3cf9eebe3bb6d1303c05c54c3cf259d23b4bb6173b8007973b5d40943b8864993b44c4d5b8b5c210bbf3bc2abbf84530ba89c027bd9745c5bcd5a87fbc73f7f83b05a291bd0a315fbd185f2dbdd69d67bc191c88bd465586bd22f364bdcdc832bdb7006bbd549187bd15c376bd553d61bd65d52bbdeb9550bdae1452bdde4461bdc7ebd8bcc0251cbdedef25bd509b4dbd039d77bc47b5b4bc66d1c2bc7e1008bdd4775cbb0bbaebbbe859fcbb7f9e8cbcdb1d943bb39ba83b702fb03bbb4b5d3b1fa94dbcea11b2bd5f607c3f26d8923eac021cbd022be6bd6d9e733f36cb973e55194dbd8363a7bd07c7443f8ef5953e685481bde0eac6bd5c5d203ff27c863e345971bda012a7bdeca6e93eb728553e6c623fbd97ffbbbd8b499d3ece4b183e318af4bcccda94bdc6932f3e29e9ad3df018473bdcc567bd39a3423d96c0d33c86aa9b3cceb0dbbc778a11bdc783a5bcca4d10bde29a80bc0000000000000000962d9fbb8e3d153c00000000000000008c82263d42f82f3d00000000000000009aeb683d3d1e7f3d0000000000000000b6a1773d2c6b893d000000000000000077674d3d0b388c3d00000000000000005188d53c6362533d00000000000000002112c73a7c68163d0000000000000000472192bcc77fdd3b0000000000000000f8afefba3e58e1b9d3d6593b6537533b493ac9bb3eab16bba8b8ad3b3ab6033cf0e1cdbbdf2689bba3a33f3b3bc81d3c43bbbdbb7dd19bbbc169273b3300fa3b13df95bb33a1b9bbac6a203bfe3dce3bf8445bbbca29a6bb4756263a9c37973bd9fdedba836285bb15da94b9cad40e3b57160bbafdca05bbd97690b9f90da03a85b1343a95e848bab0ea1e3a99ef9aba62d6603b2499143b28de693c600783bcbd1e273c7d2e4c3ce8a8ec3c6c82d8bb5a59813c7f69a33cf722ee3cc4e8083b8aaf823ce630b53c0aa5e13c8c30d83b795d5f3cab28ac3cda31c63cd1ee183c81481a3c52b5903c47c4983cdfdf433cc696c13b11e22b3cc68d483c62593c3c01d7023bc904923b8660663b2fc0a23b4f61c8bad9c6c9baf31fd0b9f27cc3389d420bbd68d4cbbcd18fadbcbc2f863bc0b371bd7ecd72bd0bae3ebdc70e8ebce19a6bbdd4fa8dbd81fd7bbdcd203fbd445b43bd35a786bd5c7e7fbd689d6bbdb61111bd768059bd277e68bd726174bd4835bcbce72d1dbd60922ebd1adb4dbdf4e626bc159fbbbc0ceacfbcb88a0bbdc7524cb9822410bc867b1cbcb0c063bcb631883b7300923b7164bb3b1051913b563d57bc312297bdf909513f4a0aef3ec1731bbd3eabd8bd518e473fd830f13e84895dbd60d7c9bd904d273fad62dd3ea2d87fbd297ec7bdc414043f8510bd3edbb07ebdaeb4babdac6fbf3e1152943e1e1540bdfdc1bdbd2a167e3e913e563e15cad4bc41a6a1bd8d80073eca30f63d8bff543ba8a965bdda93083d17772f3d45b7843c3dd0e5bc1ece0cbd6e8aa5bc4b8443bd0f9d3ebc0000000000000000b05899bc0314453c0000000000000000a086db3cc7c7333d0000000000000000b9e8483d5d9f843d0000000000000000de48683de57d9b3d00000000000000001d37283dc644923d000000000000000060d4973cf1726b3d0000000000000000fd6dc9bb31d4193d00000000000000008e20bfbc6fee993b0000000000000000780415bbd3189fbaa8486e3bb9eb7d3bd348c3bb9d68c0ba52df523b121cf73b0da7c8bb762685bb54a73e3b72d7173c604dc3bb9a49a3bbbd90503abeb1083c2b5d2bbb34f95ebb9218d13aa364de3b944471bbff80a3bb73d700ba89a8a23b7092f1ba41c471bb3b839db8f8ee053bab0c76bab97101bbd436da3977be133a7a94243a6d52d7b8ad45b0b93e04dfb8e86b0e3bca7f593b5458663c121943bc33f52e3c1b6d5e3ca88cc53cb28dfbbae6a0543c58b4a53c756bdf3c920f8a3b2944763cf197c63cf5cad33cf11b503cb62b4c3c2027903caa28763cfb89a93bb2490a3c500c963c099b9a3cb8836a3c9e00b53b8ae1273cbb033b3cde2c253c8415f73a09d2953b2222993bbd84973b3469d9ba53e3dfbaf502e0ba8092e2395aa3fbbc2ab1dcbcdba6ccbc3f0f8b3b34bd45bd0b457dbd73374ebd9f8cadbcff473dbda9c38fbdc30880bd5d8443bd63c820bd56f28abd38b487bd7db680bd9889e6bc28b24ebd23735abdddcf64bd1c6c84bca01d21bd4e2037bd1f9a56bd1026e2bbbc5cafbc4fc8ccbcf7260cbd6a9af4b9e5380cbc2b3d1abc0c0b69bc6d5b483bcbb5cd3b5e47883b3768b93b2fe070bc412c7fbddb66233fcb20253f7cfe16bd1927babd194b1a3fd6c3233f096160bdccc8b2bdde07003f68c5103f84307abdd589c0bdae84ca3e85f9f33e9e8152bdaa1893bdb44f913ee238b43e081a3fbdfa26b7bd8e7d3b3ea86a863eac3bd1bc9c0596bd3606bb3d722d1b3e8ea11a3b672c4fbdfc8a9c3c13a25d3da3997e3c60f7bfbc64de02bd2218afbcb8b765bd39cd74bc00000000000000007a6100bd242f6d3c0000000000000000b6b7bc3c7758463d000000000000000056d63b3db78b953d000000000000000073ef4f3d7813933d0000000000000000bb98173d96e9983d0000000000000000aad1823c96b1703d0000000000000000e432fcbb5fec113d000000000000000033aed9bc8808983b00000000000000009a6d14bb9681eab95edbd33a4e70983b9a1ab7bbe0ea84bbe6e8553b5473f53bd4a8d0bb378998bb12c1403a0f50083cab62bcbb0296c7bbc32921b90223083ce5cb8cbb17e6bbbb2fd106ba0eced23bda2269bb861098bba76e96ba7b99843b4464f7ba29726abb3ee288baf4f7053bb44064ba0ca3d4ba7a3cdbb9b1d2a63aea4a8f3aa584e2b9f2960b3927f346ba14f1453b7148823b6175423c5a30e7bb24c82a3c6d00603c6901c93c6628da3b8a037e3c33beb83c52a3d73c8fd84c3ccd35683cceccc53cfa19d03c221d8c3c7de7593c7b61b23c901cb63c7b00803c528b1d3cac2c8e3cce75893ca01c863c3b9eb83b9ba8313cf882313c7b53413caea5c93a8f49903bb5b2533b2db19e3b7cf8dfbabe93caba421cbcba63e3adba1a39e9bca77d04bde322dbbce36d6b3bd7a929bd57fe8bbde29c5ebdb947aabc7adb22bd2236a0bd66f389bd8caf52bd1f79f9bc27b790bd6d288bbd3ea281bd9407b4bc324b69bd49cf71bd80aa82bd26213ebc4b0327bd1e3237bd43d156bd65c177bb4678bdbc32a5dcbc7cf20ebdd041113ba7460fbc3f8d22bcb1165fbc8b179c3b4133a03be41fa03b1756b93b12b95abc48884ebd4744eb3efdd5523f7ad917bdd45aa7bd7b54da3ece16503fa48951bd4262a6bd7f8fb63eba55353f48346cbdfb4fb1bd912d8c3eb3c6143fea3765bda393abbdaca8483e4fd2e13e7dfb2bbd5640a7bd70dcf33d8c889f3e691eb0bcbe3789bdf6d1533db1af383e1e15213b352131bd52e93b3a38e8853d217b603cc0788cbceb63fcbcd0d0cbbc2a338abdba5253bc00000000000000004f353bbdfa90943c000000000000000024402a3cf13f543d000000000000000049501d3d3fae9a3d0000000000000000e3e7423dd2ffaa3d0000000000000000952d093d2d009d3d000000000000000018113a3c8fde7a3d0000000000000000b06761bc41da1c3d0000000000000000abd9edbc77e1963b0000000000000000c19018bbc7a6ecba3513393b12ac793b9c7db1bb3c886bbbf7d6483a1565163c76a6b5bba6f7b2bbab8dba3a08b90a3cc962c2bb5682b7bb7b14b3ba969fda3ba52480bb1607a2bbb4c79eba9d13ea3b857175bbf1b2b5bb05f6d5baff95753b14d8d0bac2f382bb07158eba7fbc123b6a654dbab5a808bb9c04ccb97bdda03ad2146d3a27206639ccd7fa39e26574baa8a2933a6544853bc8f5383ce7b3bb39c55f243cf5716f3c8cd8ad3c03124c3c66db7d3c7588ab3c36a3b23c94fe6b3c08007c3cf2e4cf3caeedcb3ce639ad3cd3f4413c3a89a93c49d4923c1e418d3c0933253c64a4923c9fde873c444f9d3c0f97973b50ec383c766b1c3cdd4c563c601f1f3b63e25f3bc4f7153be27a023c76268db94a760ebb84e065bbc3de17bbc755bbbc948a18bdab7ed3bc003ede3b64600bbddbb99fbda2b95dbdb957b1bcb7b6fdbca27ca2bd5c7489bd6ad555bd7d92d2bcb0c392bda9a991bda69487bd42a278bcb5e170bd792071bdfd1877bd0ec3afbbf55935bd1adb40bd990b5cbd16c0aab9612cc9bc9ad4d4bc4dc20bbdb425d63a045b13bc2f6f5ebceadd27bcb354443b188cb83b35edbb3b055f853ba0074cbc6ae820bdb7ed8d3e33bd7d3f52110bbdd34083bd63087f3e9e13793f561946bd196a70bd08085c3ee3684d3fffc763bd8207a0bd285d223e14952d3f07524cbd7a5b90bd12f9e03d3ee0ff3e42e51ebdf25a95bd8dd05d3dbfa7b53e53cec8bc4b9068bd2ab4873cf734513e47f6fc3a2ef605bd673687bc21ea8a3d445d7e3ca8e9febb88b6e5bcf22bfcbcc45ba8bdcd3b4cbc0000000000000000f57557bd2e97a63c000000000000000073089f3c31506a3d00000000000000001705283d4dd69d3d000000000000000045d63f3d5545a93d0000000000000000f92c0f3d5219a33d00000000000000009c5c5a3ce4c6603d0000000000000000e59620bcb0781d3d00000000000000008120e3bc433de03b0000000000000000cb4e3fbb14c692ba2f79953a7b4ac33b3a63d8bb867892bbaa524cb9fd5e043c8ce0d0bbfc58e2bb5189c7ba035d123cb4e9dabb8423debb9ae8feba7aa9de3b55e49ebbfd33a2bbb40505bb9613ce3b694f65bb95fbb5bb14b014bb231e793b1e85f8bab5075fbb6eb7e5ba5fc4123b0a4c13baa9ac8cba426218b8d5cca53a1281703a6d98e9391ca0adb97a59fc39ec4b943b4ae7863be9260f3c712ada3ba7e2313c55ea6b3c9171b13caf7fc23c8d6b6d3c696fc43cba56c93cc1aedb3c7c1c853cedc6c43c1edec83cea22e23c6eac533c869fa93c1312963c7b5dae3c19db1b3c1bff903c1879733c40c1b53c8dbbb43b2a91303c0081e53b153b6c3cd4b82b3be454873b359187bac30e593b79590ebbe9e20abb87af7bbb6f8c04bb2950cdbc03376abd9f90f8bccf61e43ab00fbabc553fbbbd33c052bdc3feabbc2163a7bc37ffbebd2e848fbdbeab69bd732e5ebc675da6bd84d08fbda9c889bd799df9bb949577bdd4b376bd0b7385bd373236bac09535bd26f13fbd95c162bdf432523b45fecfbc4bf6ddbcb7370fbd98368b3b1f651bbc398f29bc74ac7abcb7575e3b8a3fe03bed1fb23bcd09093cfb5654bc9539b4bcd496e93dc4c9953f871c0cbd93394ebd7558a33d8fc88d3f79c54dbdc3986abd6481953d14d06f3f69dc5abdfb318dbde968433d32f73f3f80244bbd92ec84bd60a0c03c9cd40e3f30ec16bde39081bdfcade8bbefbbc53ec0c688bc54df3cbd5364d5bcabf55c3e7421cb3bd2f889bcd925f9bc0ba38b3d5066713cdff294b9f5d30cbd477e53bd1ba88ebd43f32bbc0000000000000000c56d43bdb77b9a3c0000000000000000368eac3c2e1c7c3d0000000000000000527e493dff94ab3d0000000000000000e767653d4000b63d0000000000000000b3802d3d913bab3d00000000000000009c18873c2f07823d0000000000000000c43c00bc971f2e3d0000000000000000baa100bd11dd543b0000000000000000000000000000000000000000000000006e76ccbbd19686bbc802143aeb021b3c661fd3bbdf87a3bb2d5f5bbab92cf73bdfa8aebbb077b7bbd4ec66ba306ef43bcd1e7bbb8d8bb2bbe7df9cba0a5ab93bd68793bb32941cbb9f7a20bbc4a1673bc922dfba59a67ebb0d83aabac137363b4caa47ba5df110ba9055adba269090390000000000000000000000000000000000000000000000000000000000000000163f463c7cd3893c62a3953c2ac8a33c87197a3cdfefab3c288aa43c3e84cf3c2bf66e3c5c65be3cb19f9d3c8a97b83ca50e573cc3f2a03c09f6893c2af0af3cfff7193c6aeb7f3cad8c553c1282983c194ac73b87cd143ce6ecfd3b03ec653c3ee0f83a64d4333b64c4393a7bf2d53b00000000000000000000000000000000000000000000000000000000000000003244d0bc40d3c3bddbdc70bd7b4810bd03588dbc6de8b0bdebbb86bd7b0362bdf33266bc0a629cbd98af8cbd7fd788bd2a3703bc7f0276bd3d2875bd72057cbdd26054b98bb829bd415235bda56b54bd27a3123bb657cfbc5fd3debc05d304bd66c9c43b0a5200bcefb302bc9b281abc000000000000000000000000000000000000000000000000000000000000803f67a5f7bc9f6ac9bce0b5d0bc7baa953f35812abd8e552ebdb19cedbc95d4773f31aa3dbd695746bdf65ff2bc48de473f12f53bbd333855bda1331abd8598163fe10b0bbd5c004fbde52651bd6482ce3ee5979abca67f18bde29652bd874b703e688ae3b87bdf94bc750454bde0d98c3d0000000000000000000000000000000000000000000000000000000000000000951f303c959e043d0000000000000000f51d403da9b3803d000000000000000062b98c3d30cdab3d0000000000000000983f863d8e25ad3d0000000000000000908f4e3dd50a9c3d0000000000000000698cbd3cdedd693d00000000000000001ae82cbc24badb3c00000000000000000000000000000000000000000000000000000000000000000000000000000000e7df01bc51a9c83bc253343d9356153c941eb7bb88d8e63bac08243dfe6b5c3c658991ba57ee193c2c79083d0c32563c4b5bc7b8e7021a3c3cbdd33cf0d64d3cf5d7f9b99dfee63b734e883c9940b83bef48043bd792703bf859083c5f37063b569c953aa4a1073b4eff8039b1df23ba00000000000000000000000000000000000000000000000000000000000000005b3e54bb7bac11bb0e92a03b3cf5923cbdfed23a241100bacc34493bafc1a53b6e76133cc653df3a6a218d3af634fabb5c53f43b070f833bea2066baf20b45bc176c1d3c6886883b742cadbabecb3bbc4d35f73b3106a73bbf1129bbf6472abc238d373b6569e13a70359bbb991757bb000000000000000000000000000000000000000000000000000000000000000061c560be068988bb6917f53ba55035bb94f94bbeec5df2bc80978aba8b8d2ebb33f438be375139bd28d51fbca28997bb9b2613bec2d135bdf8fa58bcee54d3bb8eb3bfbd855f0fbd459763bc6980f7bb7a2b45bd804dccbc030d4cbc0271d9bb19d5b7bb8921f5bb29aae5bbe3b771bb0000000000000000000000000000000000000000000000000000803f00000000c956bf3cce311cbedf49ae3fd0a1fdbdb046923cc79ed3bd8c1b8e3f23f04dbd513a473c10aea0bda3376b3f2a9142bc0b1a423c5ffa5bbdf2dc2c3f7203443caf67053c0aa6c6bcc827d83e3b29f73c1739863b93befc3af73c4d3e49c7223d8770533bb6cf853c2d05d2bb3a5ccb3c00000000000000000000000000000000000000000000000000000000000000003c2cd53cd384f9bb00000000000000005f33b93ce558fabb000000000000000099f7a43c210613bc000000000000000037d8c03c73b4ecbb000000000000000075fc9a3c960fa9bb00000000000000006f145e3c7e4a68bb00000000000000000c79343c5d8c11bb000000000000000000000000000000000000000000000000b45b14bcc3c72b3b8656b23c13ffaa3a00fa21bc7913003bdcf81b3d81538c3bdadbdfbb3dcd0b3c44782c3d86526b3cea4a7fbb3539293c4faa1b3dd9fc513c501033b9298a333cfa9dd03cd6e9283c0043363a9b6ab33b3ddea53cab340b3c97d5eb3a43789a3b7f662e3c736c483b2675353a673abb3b8566813a37df36ba0a6dc3bafadc423af2d5bdbbcd407ebb8060b5bbcfa708bbb825e43ba767b03c610a44bb3c6b04ba11ccaf3bf303cc3cf9528a3bab77c639d9a1f63b09bbe93bc14d0e3cc745043becf29d3bef0c1fbb4e24303c96d7cc3bc7f0b83a01dd05bc10682b3c77f1ef3b94d5c13a27184ebc9764133c3aad833be34fcbba4cc72ebc0dd4e13ba4a57b3bbfc565bb8d122bbc2b81333a594329ba9e7789bba8ed923bd75f03be70fa3c3c3ed93a3b98ca0a3b515a34be91a50abc309019bb8b71013a7a474fbe37d72dbd00bd0abc41f9e3b872913bbe918759bd7bfd74bc8ae636bb07fc10bec57960bde87da5bc353ca5bba3b9c1bd4a2941bdc1ababbc1241afbb1c953ebdf11210bdc8168bbc15b53fbb743512bc0da797bcc9a71abc4954abbb0b4aba3c044a7f3b1b764dbae37cebbaf619483d560277be6e7cae3f3d8e79bc99973f3dee5551be8b98993f98301c3d970a113d477538bebe8f8c3f4fd26c3da679e93c5c780dbe0ecb613ff6ffa63d36cabf3c00cfc2bd32c0243fec36c13d9f54613c9e4e41bdb08ecb3e9c57c23dc85a283c7c0c4bbce731333e09faa93d96b03e3b59437e3c732f9f3c38525b3d3930683b76808c3c60cefbbd8200e83b6684babb383aaa3a0000000000000000cb3ad9bb2c938f3a0000000000000000f654b5bbb852a1ba0000000000000000c25422bab99bc6ba00000000000000005aeb593b8d2042bb0000000000000000c00d8f3af9d793ba00000000000000005ed3ccb935e096390000000000000000e3cc74bba25d8c3a00000000000000003a3afabab1c3253b0000000000000000295068bbd2353a3a86684c3c503027b9292606bc8db0a73b677ce03ce8d7403c59beecbb2819083c18c4073d799d8c3c396639bbbbd2093ccc7f023dd1da653caf0000ba19680a3c2a97b83ca5014a3caeaac0bacf45003c32de863cddc6fe3bdeb82eba773aa93b68880b3cd33b1e3b5dcd93ba91907b3baac29239967bc9b8857684ba3b4dc137635461bb34f188bb0c8fd6bb3680a6b7eb72af3b017d4b3c1ee2083a00b0af3994671e3c6de6613cfb8ecc3bdddfd23a3308263c813caf3b7f393a3cfa4fe63b3dbef13b94fd8bbb69a0473cec02d33b265cad3b31c820bc6935583cac87ed3b6975543b7c8241bc0671143c3b07fa3bc987eb3a03c32bbcd837a93ba34b873b938244bb85fca0bba1e7143b95a04d3993b749bb5558093b2597a0bd44bc4e3b9e2eb2bb33c9c43bb0dc1bbefe621cbd9d6e17bc2d274d3babba2ebe2b9b8abdb96e72bcdd32053b43741fbecb5f97bda408d2bca25fe9ba55d6f6bd334892bd1f42e1bcfdc117bb01509ebdbb7f7bbddfefdabc6e12babb3afa26bd3be01cbdd700a9bce1d9b2bb1627d4bbcaaa95bc55892fbccc2e81bbfee9623cf30a9f3a5d7149ba3daea3baef544d3da59b69bed2ad8f3f5ddf573e8c75583d8c1a74bee4bf8d3fd4775f3e505a253d2df64ebe8995793f73e2683eba250e3dcfbe1fbe9335483ff736633e8043c63c4b1bd7bda6fd0f3f9c124f3ece38a63c38147fbd9f8caf3e03642f3e1884533c7dbeb2bc2ea91c3ebabef33d8ed9093c896e9bba17a3323c1490733dd37ed03b2b740a3c409597bdb0fba4ba98b66bbd8c8e773c0000000000000000e7c362bd14be4b3c0000000000000000da1e3abd9dd0053c000000000000000081aa06bd910d7b3b000000000000000048e9c5bc8246843b0000000000000000efbc87bc2946883b0000000000000000e0ce2fbc9c5c723b0000000000000000dc2921bc0b345e3b0000000000000000e377fcbb773a443b00000000000000005a4097bb01a72ab827bd1b3cf9ff4c3b0cbddfbbfcd8ef3ac71fb93c2d0c553c0d66fbbb46d10c3cd84ec43cd809a53c7ff793bb9fa5063cb2dacb3c7262833c2bcab0ba8ee4133c4f43a33c4d21483c4514a0bac1c7eb3bbc7c593c5dcbb83b33fe11bb14fbbf3b4fe2ec3bb0c2a03af0a19dbae8ea943bbbcd1c3a622cbfbafa6afcb955b08d39c14f47bb889887bb31b1aabb89f2483abd721c3c478a633b7829e33aaa50293a6b7e233c1c48143c34a4303c8d503e3ba7573b3c7737a73a4ab9603c7fa6be3bc615043cb60000bc895f893c3cfb043c040f9b3b9b764abc27a7593cf0dd213c85ab853bb2366abcc7aa453c635df23b67352c3b1c6e2fbc8d3aab3b2fe0b83bd1dd6cba669707bc3607cb39b9f38e39838421bbae87a83a490580bd09e894bca0bfeebb023e1d3c45eaf1bd834687bd32d364bcf0b1043c0de007be1569cebde4f1adbc4316783b92eef9bdb62ed2bdd0c0f4bcd51e573a2fe9c6bdcfa4c4bd1ccf0bbd355c02bb00907dbd7ae294bd4378febc92637abb93a305bdefd93cbda1c9c9bce9e0adbbfd5adbbbb0c4a4bc70ac3fbc58b1bcbba748563c386fac3af515e9b983a1b6bad5dd3c3d0e7659bed3ce723f0368e03ec212523d16c05fbe4f00673f8975e83eb84f273d5b103dbe81064a3fdf03e23e6cc20d3dc3c60fbe24b9203f5509ca3e6b67d93ce671c8bd1109e73e5569ab3e6651a23c2bdb67bd58778d3efb21803e52765c3c2e0bc0bcab24ff3dd1b81d3ed1cb1b3c11b35cbb57658f3cefc5773d9b43cb3b3b6a9239cf526dbd2eae7abcf787eebd53ebd23c00000000000000007d56ebbd5c38e43c000000000000000013adcabd1023ab3c000000000000000029dc98bd5b88803c0000000000000000d53b59bd95d6593c0000000000000000bab019bd5789273c0000000000000000eb9da3bcd6ef083c0000000000000000df6448bc1f5b003c0000000000000000efad3cbc5d6feb3b00000000000000008adb75bbd4f93abb1e22a93b2d37f23bfcec82bb9325b9b9fafe823c99dd973c7643c5bb2081853b819bb03ca557af3ce156e9ba0066d63b096da33c9ece9f3c778b873aab5bb43ba4d6593cc3f21e3cb4f49ab9450de33bf1ca4a3cf96f0c3c91ad103b86f89b3b04f39d3bad58083bcc151f380eba683b66c398b914931bbb248fea399993c53a2a060ebb73e386bbce9316bb08ed01bb14ce0f3cbfce533bd425a93b0a52f6b855f3223c76ae833b33cd593c9178b43a8996173ca9c014bbde34893ca657aa3ba89ce13b588efabb0ce9683ccebb1c3c18b9b93bb0d05abc18e2823c8592fb3bde89633b05ca65bce284f73b53a7023c8f981e3b0a2267bca28fa43bb9748c3b82aa9dbad207e8bb08bdcbbac882323a3e183fbb5c999cba429720bdf96c1abd91e145bc2158603cdc29a8bda078cfbd9d806bbc4d85133c36e2c4bd934104beca22cdbc233df43b94fdbebdd43207be8fcd09bd79fe4a3b7aad8ebdb4c7cbbd54c71dbd58d25cbbdf6153bd51a1acbd68160bbd4d61c1bbacecdabc89fc3ebdcebeb9bc9afd9ebb6d8edfbbd98785bc008249bc6756a1bb6491093c5fe4e03bdb2d283ace77bcba46a7133d23672dbe8d72343fadd0313f370a1d3d70a42fbeceb82a3fefa6333f205eef3ce68e11bee0f2123f169d283fa4b3eb3c8239e4bd72b3ea3e4a10133fd0ef983cba1c93bdc991a73e69a5e03e3a61843cce783ebd16fa563e7b1ba23e203f323c2e94a8bc0d10d23d5b2a333ef9f3e83bee62edbb3604bf3cf1bf553dedbcd43b0d2eccb9c2c125bd17cd0cbda74e34be68a9213d00000000000000004aab2cbeab291f3d00000000000000004a9b0ebe6a2cea3c00000000000000001e45e5bdc93dcb3c0000000000000000c3e080bd5709863c0000000000000000accf48bdefd6903c0000000000000000c09dcabc35c4563c0000000000000000078744bcffdf293c000000000000000015e845bc70fd143c0000000000000000704bf2bab39d83bbf741be3a655f0d3c229cabbbbc6858bbf1891b3c5f19c13c06cf87bb07fb613a65c58c3c99f3cc3cc70bd0ba36e6623b2d858a3c71c9b23c6a15dcb86ad8e23b497b453cb6d3903cf64e7cba1ebcaf3bcee91b3c94c6363ce8a3c938b30cc23b7b42d53b9d283a3bd42b943a2070903bc8e2b53ab6e6fcbaad4edb3893e49eb8dbe84cbb1c40b0bb8b2310bbe9b5c3ba31cb883b69fae73a1c3a1f3c5cac97bb84841a3c330e1fb63c518f3c7845183b7876163cf9a79cbb75818b3c49a2c03bfe18bf3be73545bcbcf6973c254d053c5ceeb93bcf3156bc190e6b3c4868273c15fd5a3b12a06bbc18371f3cb62ff93b4443f23a26ff61bc6014753b0cfe933b4fdccbbad48314bc8565313abb70bb3a9e2136bbf92b40baed5f8dbcc3056bbd517311bc3807803c83502bbd9a5609be96b348bc16ba473c88ec73bd730b26becc37f3bcb8c1003ca92676bdf57d1cbe8a0f11bd017e5d3beea15abd97b507be29ac25bd1d692bbb78e827bd35fbbebd038c09bdb891a6bbef30d7bcb11c53bd34dbc9bc9cadd1bb962a27bc4eb67fbcf6d82cbc9c03e1bbc1d2bf3b3ca2013c65b1113b9f8a25bb80bbe43ced37ecbd0ba7e53e582e703f0978e03cad24e8bd93a0d43efb266f3fdba9c73cd3cac4bd7671b53eb6945d3f4c2ea73c682e8fbd90e3903ebee2393fc0ce633c82144cbd310a573e211c103fe5566c3c92690cbd837f173e4851bf3eac1c0c3c779f79bc59c1b03d8b2b443ef742b53b5eb40abc5fc7ff3c6470413d2c028e3be66feaba234187bc207a5dbd71ba5cbe0854383d000000000000000060f759be836f463d0000000000000000a2f430beabcc0f3d00000000000000006f5a04be8566ec3c0000000000000000d9e9b3bd19c1c13c000000000000000075494ebd9067873c0000000000000000dd50babca838523c00000000000000002242e8bbc33a243c00000000000000001e742ebcb64b0a3c00000000000000009cace3ba4911b3bb6c1614bb6d9b603c5e4d2fbb9b3463bbd097ca3bf06ae53cee6198bb74e917bb10bb453ccee9fc3c015d80bbbeb4323b83b7583c8910d23cc0b28039934a863b16473f3c4fcb983c9cf2ee35478ba33bbfed2c3c652c323ca342aa3accaca73b9a44ce3b6e40603bcfbba73ad0b1ab3b1fc7143baf62caba41b71e3ad58e41398d514ab917d1bbbb7d5699b99cd9cbbb76b5843b89d335bbce2e373cbe06aebb26a4c63b7e6222bb8fcfa33c95c830bb424fcc3b4dfd1abbd03aaf3cbf721c3be6a6103c512535bc569a923c7a91d83bc7e69f3bdcdd6dbc8c6c883c9786f43b9bdc8f3b794582bc2243133c1805b73b1c44e839fd9350bce6906f3bbc7e403b98d4bdba70dd2abce9fb80baad8fca38eba1faba0e64bdba1767b53b33219cbde8c6333bb973583c0e3671bc644227bee39e34bcd9004d3c2521f1bc87fe43be7c1ec0bc3e8a0e3c029710bd232238be8d9a17bd6fe60d3b20fd10bdd7df11be03ee1cbd1b6d47bbe1a9f7bcd69ad4bd6b550cbd909402bc2a77babcf6295bbd2625aabcdedf13bc71b74dbc57e37bbca52f20bc1da3d2bb3ef443399f6e3a3ca53baf3b313eaabb4bf8833c218f6ebd2770623e5c2b8f3fbb668f3c8bd164bd2cda3f3e0ddd903f5a23533c27813cbd6fad1c3e3bea833f6d313a3c437f0abdcb72033e607b5b3ff029213c3521bcbc98f0d43d7de8233f4496fd3b00f891bc740eb23d0f9bd63e76a2c63b68800cbc5b03783de863503e4c02833b8f389abb1796193dbe30133da83e16b94f2055bb5d0e9c3be4d58ebdce696dbe91774d3d000000000000000098fd67be02fa4d3d000000000000000088e23abe06131c3d000000000000000074ea07beb9d2fb3c0000000000000000afe6a9bd7d9aca3c0000000000000000ee7c3abde2449e3c000000000000000058ed61bcabf7703c0000000000000000bcb8a33a6c720a3c0000000000000000fc9b59b9d5c3043c0000000000000000e17199ba9d7fbdbb689210bb0ea6b03cd5610dbb7e9da5bb872d903a3b430c3d79f2bbbb54a810bbfebc343c75c0153dfdf04ebbd604b03a72c75d3c3ee4023d3e1489ba31f8cc3b60ad2a3ca328b93c6f8b6dba8162be3ba3331c3cfd77863cd777a93a6fe9be3b6f50d13ba655b43b8e9ce73afc6b903be072b13b9a673cbbdf47bd3aec822d3b1148bbbae5c6c3bbd451623b2a443ebcc8a8a13a7a02983a47bf323c1bb741bcdb4d803bd56d96bb4f77a33c935a4cbb4e07f93bfc848ebba6fcb73c1233f4b706619e3b25e91abc45d5943c5de8983bd4c39c3bc45d5fbc78706c3cc2ded43bdbad973bcdc366bce751163c7272b13b01791e3be8c365bc289bbb3b00e03c3b9e741d38a12b0cbc89343dbbf83f18ba2b0e50bb24e48ebb39a0963c24e800becf026c3c593f4a3c3ff8563cc1383bbe177c0b3c1197ec3be432dbbbc0b95bbe084aa7bc6ec7453b169a93bc5d7e4abe588403bdc2c7803a1720b3bc877220beb9110fbdd62e15bcc308c8bc2a1bdcbdff8705bdc51721bcb4d3abbc78355cbdb8e1bdbc27cb11bc87638cbc6a894cbcc2a248bc296808bc79645bb901fea33c47cde83bc4e1b6bb293b1b3bdb2eebbb3fd808bc8d99ae3f6ed4a93b43f324bc8921823c63479b3f6e968d3b72d338bc45a2dc39b297903f1918803b677dc2bbf019ec3bab236e3ff4b4ed3a4704e1baa64f823c2fc4303faf5da53a6d7ce5ba4797ec3c30a6e23e9687843a0c7d80b96b61183d7585543ea053a9b975591abbc167183d1958123d2e6f44ba84436f3bd1b6773c0e54f1bd67747cbe05c14e3d0000000000000000544f41be89202e3d0000000000000000fba917be672cf53c00000000000000005526d5bd1772bd3c000000000000000057ff63bda23c9b3c000000000000000083cda5bca4d76f3c0000000000000000967da33b3723f03b00000000000000008a2faf3c838b473a0000000000000000573c2b3c3aa4c13b00000000000000000000000000000000000000000000000097d493bbad01dbbb39ffd93be12d2d3d90b42abb593ea4b9e450183cbb68153d2eec19ba8942033b993a5f3cdf0cda3c50d6693a003fa43b28ee283cf20bad3c9f7dc33a01caa83bb75d1d3c2e9e543cabf5493b36eebd3b88f1b63be7415e3bbe1b0a3bc41d523bee36833bc05b14bb0000000000000000000000000000000000000000000000000000000000000000f8ca613c8c1042bccaa3603bd7f59d3bab9f9a3c4f4f91bbd15f423be3ab70bbbfad8c3c7583323b5e74f13aeccfd8bb5c23863cc1c79a3bf72ee23a20f81fbcadf3253c0e82ce3b907e0d3b63b325bc3e3a0f3c28d7843b185fe23953b534bcff56d7390767123bd13c89ba47f0e4bb0000000000000000000000000000000000000000000000000000000000000000db27953cc56367be5af6853b6c6ac93bcab3213b146853be9dd3a1bce84813ba71791cbcb6bd3fbe817113bd67c0f2bbfb4d64bcd7f018be41cd1cbdf66627bc2c8d8ebc19dac8bd432a07bdd4a540bc8ba37bbc042f4cbd075db9bc14b03bbcd3113abc7b2754bb9bf9c8bb3e9a06bc000000000000000000000000000000000000000000000000000000000000803fe7e45fbb72faa03c4ecc19be55cdaf3fd13bd1ba9cd3373c0478bebdb6a28f3fa23cb5baa6a2413c68f692bd62206f3fb3b0beba9fb3323cc0bc3cbd2861303f2ee4a2ba11051e3cc6d09dbc8ddddf3e045b4abba2870a3c1b5e093c305f593e3ba76dbb9497083cc74da93ca62593bb0000000000000000000000000000000000000000000000000000000000000000461a09beaff4b23c0000000000000000cfd17fbd2861403c0000000000000000d9c2fbbc90a8443c000000000000000092846eba208a2b3c000000000000000075d7993cbd3af13b00000000000000001a7df23c3980303b00000000000000008605d83ca032783b00000000000000000000000000000000000000000000000000000000000000000000000000000000ffc10ebc974405bb7d42293d3ab5953c467c96bb77b6f4b835c7113d10f1983c338b62ba87a2353be4f1f73c17778a3cdb0d5ebae7e1813bf6bebf3c34e0293c5c35b63aa926fa3a4c2b803c3845da3bb955203b7d172d3b0ba7f13b53f97d3beef68d3a74989a3acd255f3a240fa6ba000000000000000000000000000000000000000000000000000000000000000035d594bb85fa123b5aa8fd3b3394d53c9a81b43bd5ddd73bb1af443b7905a83cea9f4d3c0c95403c512b9e38942f3a3c2abd513c8b9f5b3c9e6a37bbb8bd043c12ce2e3c62874d3cbde963bbd2cfa73bf552d83b762c1d3c81bcdcbb7e5fefb90598363b8399a73b9b43b3bbc7e249ba0000000000000000000000000000000000000000000000000000000000000000d45343be813d28bdac5a93bb671c983bc8c421be51b789bd50c4c1bc5f6384b9c7630cbee056a5bd9db822bdf60ea3bbf0a2d2bdf50d92bd21c128bde14250bca70585bdee9c63bd3dce11bd588f58bcf87809bddcd107bda0c7cebc9e953fbc8eac59bb626402bcbe2b4cbc621bdfbb0000000000000000000000000000000000000000000000000000803f00000000f497693caad733beff1ab03fd8c6dfbd5ccf2d3b161d13beff7a8c3f0f2556bc4fb17dbbb8ba03bea178613f46d0303dabdfc5bb86fad1bd4ae5203f8e70883d35e96bbbdd5790bde041c43ec0798f3ddec368ba6d4fcfbc365c303e5160693dbe1fb33ab0ceda3ba70e70bca580e13c0000000000000000000000000000000000000000000000000000000000000000b3e5f23c589817bc0000000000000000a09c433df7211abc0000000000000000509a843d347600bc00000000000000003d569d3d7a2f03bb0000000000000000d88a943d395cf0ba00000000000000001720653d5c8a8d3a000000000000000005b5e23cde247d3b000000000000000000000000000000000000000000000000482cb4bb198994bb2b4bb53c4654cd3b4240c6bb4c71c9bbad8c163de5fd553c29b6a8bba00cf9ba90561b3deb54a73c89c1dcbaad28e239895e0a3d35d3843c013731391da9153b6a2dc23c20893a3c3d6b043b10331b3ba7308b3c003ad63b4bf91f3a8ca6113b4e00123ca0bb123b4fd57c3ad9a1833bfef96e3a1643c9b9c9981e3a02c5523a2e08b3bbfbe62bbb2daa15bc88485cba9196383b84d7b43cee2398bb91dd273b35970dbbc3cc253dc196c13bed4ba73b1a78fb3982bbe33c6754423caf550e3c6c0f37bb7435ae3c007a863c7bd75d3c2b8dc0bbb0cc5c3c1ba15d3c4fea383c859e00bc5826ef3bb4560a3c85d0193cddfed3bb447ea53aea52af3b4bd7d43b522197bba8938cbbb66e17ba0e63383b67e58cbb81f26cba2cc2eebd384930bb08cd023c72abae3bb8df21be47ea17bd33fa8cbbc652583bfed923bed0fba4bdcb75c9bc1c19683b09d108be88e1bcbdaf1212bd315212bbed18c6bdb5aea9bd845e32bd759252bc2b0081bdca9582bdd35d1cbd57b22ebc6d67e0bc9a7d26bda9fcdcbcd7ba37bc6a054fbb284f98bc2cca89bcdbb90bbc247b733cd170133c3410d2baa46b4ebb9563283d3c2c70beae81af3f07ba7abcd5e51d3dabe372be7f949c3f4ea6213d9847ae3c48555bbe901c893f0011cc3dc1ec653c934e38beb67a553f84fd093ecbbbe53b81f60abe659d143fbb88173e8dec613bb30aa5bddd18b03eac30083e78a6423a9cc9efbcc5d60f3e7162c33d0e1fefbb3d01893cf84f15bb50b5663db7ffefba181ae63c352fe6bdaf5232ba54478dbca7add3ba00000000000000005f62cf3b111b28bb000000000000000041c1b33c1173c6bb0000000000000000566c323d36d9a3bb0000000000000000daed7b3da50824ba0000000000000000416b6b3dd59ad0b70000000000000000609b353d4d5a813b0000000000000000b8b5ce3cf84e883b000000000000000059e0cf39d5cfec3b0000000000000000124d2abb4e27afbbc6c66c3c14c0903b4b4cbcbb86f17bbb2c2afb3ce608603ca43880bb31f983ba4915023dba7a943c2e45e6bab85b3e3a6093dd3c424c803c8101b5b9ae635d3b2c4ea73cfca2173c2dcb9c3a91c8153b67997d3c9be3953bbf1b503a4b0e703b8118da3b784d793a0a730f3a016c483b8a76053bd16e03bbc260a73900013a3a160043bb4a9180bb13c6a4bbf16fbcbaa9e2bdbab476a13c42eb443b40f7b139054f0e3bbdf7dc3ccc6c3a3c2573b03be8ad1c3a5dd1c93ceab2843c2a84303ccc4a94bbc31d9c3cd90c8c3c737a523c73e3afbbb2c4333ca1de813c4e02513c826fcfbbb668a43b3d9a1b3c488e183c9567cebbbf5a88b9fa7ab13b2be7bc3be33383bb0b815fbba7eaa13a3292963aefa726bb5d7389b9a10494bd135947bcfc1aa83b9400ac3b79c902be88678abda3beeebb4ec7c23ba18703beffb8d0bd7d46dbbc291f193acefed8bdfc0bdebd07c928bd761fb2bb3e599cbd86ebbebd371f36bda2ca64bcf8be45bdaf7796bd2aa120bd978b7ebc3aadb4bc08712fbd11c8d1bc8e6d5dbc6c39c4ba96238cbcaa175dbc82d224bc8e191f3c3467af3bb91fe3baf7342cbb7a332a3d708f69bea2c6903fac2f563ef1ec243d817583beac168c3f3a76773e87c2b83c3c6969beb67e6d3fee738d3e3b2c8a3c12bc3fbe0cc7353f38c3903e0961bb3b56130cbe5136f93e73ba823eb182563b81e8aebd60e3923ea33d4f3ebd69d13a2ef806bd79cbe53dacda043ede2d9cbb287ea73b2563e0bb447e673dbc9c21bb1337ad3cec5f93bde149d1bb73bf84bd9402383c000000000000000057ce32bd4090db3b00000000000000004ddc32bc45a16b3b00000000000000003237973c02c6453b00000000000000000c5b2a3d12702b3c0000000000000000eef63e3d95e6033c00000000000000005355123d8d7d343c0000000000000000adc3b63c63172a3c000000000000000043a641388f450a3c0000000000000000ff91fabac6c894bbc5c5493cae31583b90a573bb236a51bb924cbf3c8cad7e3c24f282bb21d94cba39ebd13c22779d3c37b175ba8b8b243b41bba63cfe13703c0bce573adf89733be035893cea851e3c47caca3a5783833b74752f3c0d3a963b64c4273b750a583b96ffca3b1d268cb96d6ffab963f13d3b7c42003b122b41bb669fbd391e2e573ac5003fbbbd2a34bbb0c835b9136a6ebb2a556cb89012613cc2d5c33b0e9f42baae95f1b961b1cb3c416b8a3ca2468f3b8b21c8b96b25bb3c39d9a33ceb67313c3ece72bb016d823cc44ea43c0865613cf0b9f3bb8146193c8041783c6afe593c2519b8bb00616e3b0a1b2f3c3aed1f3c2162efbb76985abaf768cd3b0affd43beee349bb8e7a30bb091dc13939dcd23ae497c9baf54dd8ba13a06bbddfc9f1bc76502b3b82f7213c09cac4bd9d87c1bdce54e0bba1aae63baa21cabd827900bec29ffabcd073183b8712a3bdb57ffebd903832bd2e2ccdbb161b73bd87ffdabd10f540bd5cd683bcb21311bd3d03a3bdc8aa1cbddd8394bca41581bc02b73fbde5e7d0bce51a83bccf2320bb6bd77cbc589d7fbcad5141bc115e043cdc78bf3b6773323b6be279bbf0f1103d720958be3f5f703f5ce0e43eb4d4103de7b271be44a4613fdc78f43efdbcba3ccf2b55be54283b3f3656f93ef26e563cd6c42dbedd6f0c3f39eee33e5d62193cbbdf00bea12ebe3e427cbf3e2cff063bfaaf9bbd6ab2573e02178c3e9553de3adec3f6bc4f57a73d4cba213ebf1070bb5a24193b94ef84bb8be8623d7a421fbbdf5d863ceb9f6dbd4f86bdbc9f97f6bdff5ba83c00000000000000004597c7bdfc289f3c0000000000000000f67361bdcfd5653c000000000000000093a730bc591b3a3c000000000000000043d09a3ccbbc633c0000000000000000face073d8fec733c0000000000000000accd073de30a6f3c00000000000000004469ba3cff3f583c000000000000000083106abbb5b3423c0000000000000000477ca0ba57a240bb8ca2093cc356a03b40d722bbd8d2a4babdad833c9003823cd25e37ba4c59bb39ed7e9a3c19e7953c2ce7103af50ef33afbfc8d3c8e157a3c5ea0a03a1445a73b0a9a2a3c03fdc03b1276433b19f54f3b1360233c5cf0af3b946ba23a04af3d3b7cc99d3b26d9a53aefa29f3a2d31543babc4963a0f5232bbeaa962baf2c0673a351a99ba6e9e8cbb9825f93a62979abbfa304abb9aa7463c4ca24b3c57c42cbb360e35bb00bb9c3ca8a3a83c0a0bac3b75cb8bbbc06d8a3c091bc03c83d9353c7efedcbb59c35a3c7416b83c6182723c5fa1d2bba456cc3b74768d3c0a84553cba55fbbb964f343b4c12333c246d163cbcaeacbbd9b1e6ba341eba3b54f4bf3bd3b37ebbc89e6fbb45bb863a9787123a10d2f63948373fbbacf51dbd02c545bdaac3793bb2ae543ccce77dbdbd15f3bd89c311bccb6efd3b3c198abdbbad12be11ec14bd4cbb443a3a2165bd723711be156940bde18228bce04d28bd23cfd3bd4a1a51bd497fbfbcffe1ddbcac49afbdd12d22bdf111afbcf1fc44bc8ff93fbd4d5ccdbca371a0bc36ccdfbad32782bc3b7a48bc1f6f69bc00b5b43b0d80f93beb6a8a3ba14034bb1ffae93cdbb22ebe9fc3333f57ff303ffb58da3cafa642be6707233f8123383fc662673c407629bec576043fa243313f23c02c3c37230ebef2c0c13e7e6f1c3f5916723ad7d0cebddcc0813e92ccec3e30de153bf7d582bdd7620f3eff0eac3e4e120ababef2cfbca46f623d2f81333eb81413bb69e768ba1cac07bacd9d473dbec53fbb5a435d3c65b025bd264c1dbd3d9931be93c5f23c00000000000000002ccd11be8965e63c00000000000000004fb5afbda7a0ad3c0000000000000000d96a18bd7e7bae3c000000000000000055ff913c50ffd23c00000000000000004f4ad63c412ea63c0000000000000000fab1013d2f83b03c0000000000000000c7eed63cd5417f3c0000000000000000fcd275bbcc74363c0000000000000000f03bc03875e036bb2f2b8a3b2910bd3b5e097fbae17ca4ba42ad2b3c7b4b953ca1d404bb129b9f3ac5154a3c06fea33c87d6c4397f0a853b52374a3c02785f3c3e87e23aed919a3b5cb52b3ce0e5183cbadacf3a875b8e3b90a8c03b8823ba3b908fd73a21c55d3b5ee8ab3bb4083e3a779b2739ea1f203bc2c2103b135220bb7445a83a6ed0fab968d205bb22593ebbcc92983b07d4dbbb41d736bb2a09073c0e52873c2a939ebb30a68fbb667b5d3c9c12d03cf5c2683bbf82b3bb7f326f3cee80dd3c71c82b3ca14dc7bb313a093c07e3c43c15f26d3c2808dcbba8774f3b768e9e3c1064633c5a1fbbbb3fa247ba19813d3c919b103c806ca7bb51614ebbe97cd13ba2189a3b10049bba1bf58abb32443d3a8d31433aa5d6a3b9682627bb755f8cbcfacf86bd9658a13bd3fa683ce529f8bc16fc14be2acc14bc78bc1e3c135b16bdc01c2abef8c014bd035946ba55f907bda15a1dbe2eb84dbdb88e46bca80fc7bc133b02be60fb4abdfad2c0bc98756fbceef3b5bde36733bd369fd1bc21e81bbc185b4dbd8b2ed5bc7715a9bc395701bb910281bcc91446bcd5ae68bc911d8f3b6f84f23bf756a53b84ab64bb7e247d3c7e49f4bd5f88e63edbcb6e3f5a37943ca5ef07be3e3fc73e7a09733f0581113caef7f6bdae919b3ef46a623f0b10c33be99ec9bd9d2d5b3e95ce3e3fe5a7b83bb2bba5bd28b30c3ea121133fe08e90b67e2350bdff87a43dab7dc23e5496ba38a4fcc5bc65331f3d0579423e229c53bbe8e985bb4246de3b0930273d4da97dbb7b13273c66f3a2bc54b866bd2e7c56be4949113d0000000000000000f65c3bbe2c3d1d3d00000000000000004684e8bda522eb3c0000000000000000ca3c47bd930fdf3c00000000000000006644fab9b464e93c000000000000000084d1003d167fcb3c00000000000000004cc6133d614ea43c0000000000000000a9bbe33c1b868c3c0000000000000000c83248bbafe92a3c0000000000000000ab09b13a329de4ba2033b7b9b3a9eb3b07d3de394412d9b9f34d883b04eba93c8adc953a0864d9b9c2b60a3c4d66bd3c1275c83aca9a063b47cb093c3607853c78fcc63a4b538a3bc1cdd23ba2af363c0b97543b8ded8b3b50aba23b7709d63b2183013baa65713b3dfb473b19a2083b4da3e03aa3cea13a7c98263b5af489ba887b8c3ae7500aba600167bad49b19bb2e4ccc3b603609bcd50ba6bb43a0db3b12879f3cc7aababb8e43b1bb6f410c3cb595d73ca9f55c3b088ba8bbe3152c3c6e94e63c8caf293c56f1d8bb988ec73b8750b73c4b48653c5b1cdcbb32034d3b2158993c6604603c55fbc1bb2fe919bbebc3383c7b580d3cbaa3afbbeea983bb0f0ead3b3f60b53b03aa02bbe13877bb1e804739dc22403971efba3a099246bb5cb90f3bf9f4a4bd9673513c6e05413cee164bbb9c692abee16e23bc6490043cdcec62bce12f3bbe7da621bd5d06e1baf9fd36bcc9f429be872d53bd74116cbce6ed45bc895901bee72359bdf9bbd3bc837ce5bb802bbfbd772831bda6c7eabc4341c5bb400149bd6ce7debc3fb6afbca40089bbc5717abc00603fbc5fa177bc9f29c6374cda333c2ef5893b1793a3bb3200183ca65387bd881e5d3e794c8f3fc05ae23ba78298bd54a9223e2f2c923fd8fdfb3a6cd29bbdafb4e63de2d6843f78fd9539dbf182bdf1b0823dcf645c3fad4958bb97e854bd106c223d7d31223f1a0f71b9a24c0dbd991da03cc6c9d43e2fd64539b50d8bbcbeb86e3c96e34b3e74f3edbaba2ac2bbcc2d663cff0ef03cbcaca7bbec95ca3b5c8b00baa16d91bdd75d68be7f76303d00000000000000006fcb44bea3e4273d000000000000000081a5eabd2684013d000000000000000091ae4dbdca4dfb3c0000000000000000640d0c3cea8a023d0000000000000000a1c0103ded5be83c0000000000000000408f2b3d4083b83c0000000000000000524f0b3dd58c713c0000000000000000185eaf3bfe962a3c00000000000000007201513a51082dbb4dfc51bb4139893c4ecb9c3a0f79b3b9908c16bbdbfbd73c85f5a0ba9d17fb3a9536093bb33edc3cd10f663a98947d3bd3bd3d3b4b54c13c5e6f523b2fcd943be4f4903b26e74a3ccd64543be4135a3b008b393b7fff1d3c2811333bd160303b6dae733ba8257d3b38d1a63a8a9bd53a2edbf93a20509d3a0275ec3aec61a0bac5c2b8b91e696dbb3eec063c409d29bc1342a3bbe8a0033cdacf943c26d90dbc1f74a2bbe5518b3b0027e13c9a207f3bf88947bbe9b8ba3b9c1de33c5fa43a3c0f35d3bb3d7c3d3b002dc63c2085713c0f15debbae0a0bbb0a0d963c210a643c9d94bcbb895e4fbb0dc22f3c20cc1f3c666ba1bb9a62a5bba016993b5d7fc83ba91e4839bf9290bbd09606bb0800d03aad40913a9cc197bb0c1c7f3c06b9febd1373423ca1556f3c2de2c03c4cb93bbe45a523bb031dc43bc845313c9d5c4cbecb7532bd499599bb26858e3b21d436be197367bd0f04aabcc869e83a2f6a09be4a6669bdda3c03bd050c21bb294ec0bd715a3ebd674c00bd7bc0abbb023e46bd591101bd74efbfbc6d1d00bc724b44bc886577bc4cb38fbc6007cbbae7b7933c197df53b8de49ebb3ace49ba97398ebc701414bc179bae3f217f903a4047b9bc8b6ed8bcdc5f9f3f5fc9b6ba27b611bde92b37bd20df913f121669bab4b0fcbc8c2e52bd7d1d6d3fa6cfceba38d0e6bcc86334bd571a2d3f91e4bfba72b793bc668fb8bca2acdb3e0b250fba9b6305bc8ee0533a690d463e38a649bb8f8ad1bb2204c33cd044953c852e84bb0529173c9882583cb7a0eabd768772be21c7213d00000000000000008adb2abe15821d3d0000000000000000e71db0bdc81cd23c0000000000000000dd9994bccbe2d63c00000000000000005eb20f3d0995f53c00000000000000008eab683d729bbf3c000000000000000044796f3d83259c3c000000000000000061ae4e3db1b6433c00000000000000002645d73b3da4f33b000000000000000000000000000000000000000000000000963a14bbb4bb22b9afceeaba9b3c063dd2b9c93afd76ca38a7fe103ac04bd73c65700d3b69e6663b9f03353b4446903c2b51443bffbc4f3ba57d433b1218443ca4c6333bf4ea843b09fbee3a79e20f3c01175b3bb61e853bc8bd103ba3b2453b5d1b333b9fe5e8b883fce93aaac837ba00000000000000000000000000000000000000000000000000000000000000004802a73ce98a95bb07bc15bbb463063c723cd23c0bb6ae3b8fdb9fbb0138c43b7d86d73ce23d513c98cbd3bb83a1253b211bb63ce1d07a3cbb82dfbb4159d637e5ad803c19e1443c4c86d2bbb56288bb917d113c46941a3c65acc9bb0b4cb8bb72ea0f3be2927f3b1a6a24bbd4bc80bb00000000000000000000000000000000000000000000000000000000000000000ba6d63ca19557be7c22bebc9593d93bfe5f933c6cd53cbef96a47bd0afc70bcaab9f63b04da22be646e82bd51fff1bc8318a33b90c5fdbdc6eb77bd8ad316bd73ea223b85a3a8bddc3140bd46de12bdc17148bbcc4c30bd0972f5bc4ba1e8bcb1bf8fbb2820a0bbe32212bcc6da72bc000000000000000000000000000000000000000000000000000000000000803fde208abb8e2e253b3f8a2fbe0552b13f104e3fbbb2de5abc202e0ebe89da903f83d551bb44b394bcce43f5bd1f906b3ffaaa27bbca3b53bce8fdc8bd55732b3f1d87b5ba0c2ad5bbf61886bdede9d53e2cb2e5baf36559b887bca1bc4425453ea101c1ba426dad3bfa4f203c92822dbc00000000000000000000000000000000000000000000000000000000000000002bead2bd5682833c00000000000000008904d3bb212e8e3c000000000000000068d4503df1b7bb3c000000000000000065769f3df6daec3c0000000000000000ae41ae3d644aea3c0000000000000000dd7a983d4806ba3c0000000000000000cc07183d153f833c0000000000000000000000000000000000000000000000000000000000000000000000000000000065114dbc9326dbbb92f35d3ca19fa93c937e1abc509523bc646da23b9edf303caf52cebbf99603bc36f03dba4fe13e3b5dea63bb008504bcd11882bb2fad09bb5c6886b93f9ff4bbc16f7fbb8dd198bbfe07a93981d66ebbed1866bbe4020dbbec1b0a3afa0188b9e7978fb707933dbb0000000000000000000000000000000000000000000000000000000000000000a7d4b33b3ace8f3c4bebf03c42c0e13cf4458c3bb6742a3d72e8da3c63e32f3d5e0a9f3bee4f593d6316ae3c534f1c3d2ff6023b2d1f513d4cf3843cc5f50a3dad91013a8649203dec951c3c6aa1d03ce36f833a2fecc43c34a40c3ac2fc743ca83471b688c9e83b79d628bb9971383b000000000000000000000000000000000000000000000000000000000000000098cceebd29d4abbd719f6abdad0eb73b33419abdda50a2bd03edacbd6f4a1abd5dac42bdf4438abdfeb8afbd8c4597bda1a1d3bcad7631bd3e258abdd159b3bd01dc37bc36f2b5bcca5c29bd30eaa7bd36419fbb04f508bc745ba4bc124773bdea11bfbae8eefa3ac64b5a3ab95ec0bc0000000000000000000000000000000000000000000000000000803f00000000d34830bdaa8411bed268a83fac3f453bf17284bdf67b2abeeb0c843ff851d33d955a8abd27b833be8675473fcff8183eaa175fbd5c7c31be2fc4083fa4890a3e362a00bdbedb17be98b8a23e7931c43de75a3abb1e23bebd490f0e3efd3f323dd9bd7a3c45bf00bd78d908bc19d4d9bb00000000000000000000000000000000000000000000000000000000000000009e78013da6ab90bc0000000000000000a973e93d208ba7bb00000000000000006c75303e9ddd943c0000000000000000f9ba383e0b7a323d000000000000000093c61d3e6f3f5c3d000000000000000000bfd83d00a4583d0000000000000000f5bd043dbd7f0f3d0000000000000000000000000000000000000000000000002363f7bb251872bb56723c3ca90b803c888f3dbc92d816bceda7543c04a79d3c0d7d1dbc863d45bc8891ed3b5be04d3cb939c2bbc98e45bc8a9c3c3aa7b9763b814390b990aa37bc5a1864bb39a44cbb4fa39ab8b8c8f4bb39ee73bb54733fbb9a3dcb3ab0648abb3a2462bbff4064bb45623e3ae0ffccba1e71f8baa69a97ba27615c3a8bd2073b82a1c639bdbde8ba0c62e93a497bc5bbf7418b3c9ae8313cd76d113b849e4e3c9451b93c24e83b3d1cb7963b4ea22b3d2f03ce3c46474a3da4bb1c3b4cea5d3da5f79b3c76b93d3dd98b17b82554583dc6f1473cbfed173dc8e19438400c2f3d98f8a93b8590db3c3d700239f984d33c34fa733a08475f3c67e0093b46bf333cca3ababa33ee343bf1b8e2b7aa36a6bb307d9dbbfff1b7bbfa2eb7bd9d1535bdfc4a07bc541ec73c50b7d4bdf9d08dbd656c49bd6862ca3b84d49cbd5c2fb8bd6239bcbd90b3fbbcb6b833bd83b191bd39e0b1bdc6748fbd4f1ca3bc19af34bdf9af7bbd1124bfbdbe1337bcf0bde2bc27322abdd0b2acbda42370bbaca921bc350096bcb1a579bde87dfc39de9037bb1175a8bbfd0908bd23e06a3b7d060e3cf0cf493c330f623b3ac5f93a1cde2abede15a93fdcef673de52c58bc82017ebe14d29c3f2520db3de72a29bdb8a271be06157e3f96ab5e3e27a31ebd882770be5f4b383f3b3e743e675903bd5a545abe2117f13e47ca553eda2cadbbf55929be7a358a3e1232173e9f70283c4c2ec2bdd1b9cc3d80689b3d872a063cb08583bc301e3dbca5f9de3ce829843cbaa2673c6bd3abbd69d909bd5f964fbd699706bc0000000000000000b67d1b3c3c1c66bb00000000000000004097c73d259765bc00000000000000004efd243eba29d23b0000000000000000d088383e01c3173d0000000000000000b5431c3e60ec333d0000000000000000759ac03dd0064b3d0000000000000000a6d6213d1a270e3d000000000000000018d9a2bcd7d64f3c0000000000000000421aa5bb1f9c97bb4b04fd3bcf243f3cd59a1cbc2e602cbc1241293c07ca913c665001bc99e44ebca466453b35fe243c5a607cbba4e03bbc69031bbb88841e3b9a1b95ba8de825bcf5b697bb21e998bbbb62df3a0e9915bce8cc9ebb2b13afbb9d28c93ac62397bb2bdb5abbe04460bb3784363a3a59b6ba5dcb36ba17114bbb9d80493a1abdf43a026b8cb9f67bcbba50dc0f3be535b4bb2561433c2fe0433cb8fa853b53f5923c52c6a83c4551273d98e7ab3b1942323dafc1bf3c35ad403dd885003be552643de6c28b3cb6b0303da42a3a3bd0a84d3d1f883d3c77dc093d6fab643ae6eb2f3d54a88a3b354dd83ca5c31a3af407ca3cd02af0394e9c4d3c32c9ac3a7435223ca65496ba89c42e3b7f84b43a2e3870bbb15f1fbbf1b8cfbb14dc6dbd3ed912bd62186fbc4f14c63ccbd0a7bdd83aacbddec572bdc945273be57860bd5cd9b7bd31bbbdbd44851bbd616dfebcbd1a8dbd8055aebd6692a2bdc2481fbc8b2e22bd6b3382bdddc2c5bd4f029fbba706bdbcbc4c21bd5713b5bdaecfcc391a0719bc904596bcda207bbda06ade394654f5b8d70e7fba0a2402bdaacc053b9100e03bbaa9003ca08a923acb18383c9eb73abef9978d3f4834833e9c24f7bb178680bec5d0873f642ba33ecd5d17bd209876bee288563fa05fbd3ee229e9bccf3875beed661a3f2807b33ed32decbc2f5c4ebef00ec33eb41a8d3e9920ebbac6cc27be6df0563eca68483ed2b1383caeb3bfbd406d9d3d1ac2c63d51a0203c4102bebcd0506cbc1362d13c03bc1e3c7b73843cc9e160bd9497d8bc4a2aabbd5a49d8ba000000000000000066d0abbcb7287abb0000000000000000f36fa23d8fde88bb00000000000000009468133e95d5953c0000000000000000ac81213e42ce783d00000000000000008f6b083ed8e4703d0000000000000000407b9d3de1c2813d0000000000000000c0eccc3c8f86293d0000000000000000b85b9fbcc7265d3c0000000000000000526a82bb5db7c9bbdc06f13b6768483c0af40ebc5ddc24bc6874e03b1c7a823c3835e1bb6b4051bc055ece3ac437fd3bf04b5cbbb6233ebc68ab90bb33168739de263d3923cf1cbc9733eebb6ab3c8bba85aeb3a759001bc0ff9a8bb5e69b9bb6cd4ff3a2be39bbbd2ac79bb96b7a0bb0c35a43a386d02bbb9054eba81dd6abb789b86b9d34a0b3bbbe2913a536fbcba9d574c3b985d7bbb3f853e3c9c38443c64658a3bd29c9d3c7e49a13c3f711f3db6cd853b61c7413d48b1a63cb2fe403d16d8203b81f1683dd786643c8406343d1afd593aeaba593de1d3183c3b550b3dfe23833aa76e273d129e673be83db53c30acc53ae787cc3c36b415b9d49b413cb3c50f3b85d81b3c6eb7c2b9e29b613aed986438005972bb43863fb90d3c08bcac5050bd89323abdaf3cc6bc16c2dc3c634070bd51c1babd305584bddb21243b467b19bdea99bebda43fbfbd8e0f40bd9c518ebc31428dbd20eca8bdd527b0bd5c26afba894f20bd7d4b6dbd9d37d8bd20c63c3b423abcbc36560ebd1139bfbdee7c463b466b0fbc78465cbc9d4387bddc07fd3a41c708ba9919f8b9f13306bdd21fbb3ae400b53bc39c223cfb86653bdcd78d3b849e23becf006a3f7150f73ee04e0fbc0c9c72be1b7d5a3fd36a093f594ce4bc38f173be1a802a3f39680a3fe1f9bbbcd54a6bbed7a6eb3ea65af03e9ed75cbc8cdc51bed4188e3ec496b83e2e61983b04a41cbebe2e0f3efd5c793e1bf86d3c8cc3b0bd9f04223dcdc1f83d968f373c7c4dacbc0d968cbc93b8e53c0750203ca371673c46963fbd1ab00cbd9a48ebbdfaddabbb0000000000000000ca0e67bd9ad0b0ba0000000000000000dc39763d74b4af3a000000000000000025c1053e4947003d000000000000000022ec173ea66d893d00000000000000008588f63dddd7933d00000000000000001aa3843d80a9943d0000000000000000c392763c6824483d00000000000000001c28e4bc91d5623c0000000000000000a36e9bbb4e2bb5bba417ac3ba33a4e3cab3df7bbc4a528bc477c8c3b717b553cd270d9bbb36943bc0d87b2ba56faa63b1c5416bbb5233abcf67ebcbb9f2727bb8175ef38de3c34bcfa28bcbb759bddbb3068063b758ee4bb336fe5bba51fffbb92d4393bf27091bbdace82bb17ed9bbb3056fb39d0d4f4b93ec1cdba973137bb5e92273a16779e3a00d3ca3aa3d802bbd531843b9f2f7dbbe181303c7710563cc100cd3be5adb53c19998b3cb061193d45538a3be4c2493d7a8a963cb4bc3e3d84114c3b6df96e3d745b403cb87b2a3db551ed3a4857493d4ab91e3c7b68f93ce4f9013a38542a3d80e2333b7c67b13c333c013a859fc33c734316ba32191f3cfad5c83a1a81173cfa3b1b3a8687e3bad3d1c73a8846a2bb91130ebbe4efb7bb11451ebd5efa56bdc3c7e9bc8ddbe93cc69e1dbd7b49c4bdb5ee94bdea01b7ba428dabbc5939c0bdd2edbebdd1765bbd27d950bbd2638bbdde8fa4bdf52ec5bdbc64f43bc8620ebdbc4f60bde5addbbd18eb2e3ce4c0a9bcfef3febc429ccbbdb975bf3b894defbb4df92bbc226489bd60fa843bea04eaba2ba8553b6ae40bbde5348838dcb4b03b9ee0133c6b46813b6ec4043bdf240fbe90a3333f57a8343f13fc05bc20f752beadc1203fc290403fe9fcd9bc013a5abe82eaf33e0dcb333f29b07dbcbe635abed1049f3ec463163fa733cdbcdcf52ebe3199393ee100d23e04a7203cc32612be9e86873d7076933e5c69543c076c96bdba6ae73b8d7e0a3e40150c3cad9e83bc7da1b6bcb6b2f23cecad123cfb22803c6c4714bd09bc24bd1f7015be78f48bbb0000000000000000e27da6bd0c4f4c3b0000000000000000a7cd383d5d15303c00000000000000005da5ef3d6cf33b3d00000000000000002185093ec370bc3d0000000000000000d951e03d3f68b03d00000000000000005959653d4393a63d0000000000000000d63dcb3b8c5b643d0000000000000000bc8a0abd56908c3c0000000000000000ddc76cbb266cbbbbd615753b523f3a3cd933bdbbb9ea46bc089c2e3ba756553cb200a1bbb96a57bc125a29bb20e1853b18c091ba28e542bc2b64d3bb9d7e97bbe77f0d3b01dc24bcae2521bc4113dfbbc7db133bd22dccbb0dcd07bc0404d2bbf541193ba76889bb3e8c89bb0901abbb4f842b3a486877ba296c5eba274e47bbff6b37b6a8cad93a927f713add1621ba60d7683bc6df3aba023a0b3cbb786b3cd45ccf3b280bba3cf583413c9dbf2a3d9410903b5b05503d42f3693cb6aa3c3dc0394c3be9166d3d6d61153c9b43263df1ebe53a1205553d6a129f3be750f83cd13740b89e192b3dd0601d3becf3873c9e2a973a65a3c23c68d8d9399e24f83b8faeee3ab5ba133cc990d739738264ba7219e539946890bb0a3034ba4ac8e1bb4948dcbc77a977bd326109bdfc50e13cfef0b6bcb122d9bda86594bd788634bb8f729abb6274cbbd1305b9bd370076bd5d45fc3b65908bbdc3669abdad27cebddfb3883c7a0419bd3f684ebd5d43efbd768f763c2512a5bc21fcd4bca0add3bd19f0083cde6100bc9a350dbc76ed8cbdc9f9353b6b3558ba342ad43ab54f0bbd449264ba435fa53b15df2e3c1c82a23b5842023b1d25dbbd4547f53e5c676b3f864bd6bbc06d2fbef604cd3e0a09753fb696a9bcad193fbe4904933ee6d85b3f47a639bcd85f3bbedfb5253e04d5303fa9453ebb359729bee730863d4323ff3edeab0a3cb128efbdcdc17f3bff44a33e7352713c960283bdf7a4babc759a1b3ea857ec3b090c16bc3dadcebc70e2db3c669b863b8d8c933c7f11d2bc8f7944bd0e652bbe3d243abb0000000000000000d2f9d4bd39a1f43b0000000000000000fc7bfc3c7bcb943c0000000000000000a58ed63df16b6a3d0000000000000000ec1e023e031ec43d0000000000000000ddebc83d7664c83d0000000000000000f63d443d5319b43d000000000000000076148c3bd289733d000000000000000056180cbd6698793c000000000000000088853cbb3e57c6bb9ca60a3bef97423c87d3bcbbba0b29bcaa6cbbb9300a533cb45b93bba92942bc3582b7bbfb76e23a1ae9b4ba4c6736bcac2c07bc07b5a6bbba00e53a3b9c17bc1e431abc888317bc6e2d0a3b8cabd6bb140d05bc8291f2bbb18dd13a6dc43ebb244c9abb636facbbd709c93912886fbaf09bc2babdff4fbb47da3d39ef02f63a399b873a5f14b6bafec6a93b31206bbb25d6863bd2b38a3c89c8a33bde9acf3c3c36213c63121d3de2a4ad3b8370513d6adc593c09ac393dad154b3bc2cd703dda850a3c7df91b3d99d1d93a441b4d3db5d8c53b8666db3c3a1b783adebc263d1a81013b5fd78b3c4070fc38712dc43cfb30e739413cc23b7abbe93a8ab9103ccab5de3aa962f4bac6e3953a5bf57abb1cc64bbafad7a9bbb32357bc409a8ebd3e39debccd2bf23c37ee04bbf056f1bd92ea8ebd1e711bbc654b3a3c4462d4bd9d72b6bdde1d86bd00daa93c42fb90bd54de93bd2c29debd2d46c93c0b6c15bd7f3e35bd70e1f3bd31f1a03cef99b5bc493cc6bc8d3dd6bd6d725d3c430613bcd984eabb600190bd7305893bb2b490ba523a753ba76b08bd068407bb1216a03bbcdae93b4e0a843b2745ad3a884693bdd97e803ea7608e3fc5cfccbbbc9501be4784373eb3ae913fbd8baebc251a1cbec3d0e63db3bd7b3f4871f9bb948520be73c0ce3c51a2473f152709bc476c0bbeb8c8bcbc91cc093f073f453cde78ccbd339670bd6a81b23ef6b1423ccb684fbddd6149bd1abf233e285b593ba2788fbb8821ebbcffd3be3c6239ddb8b614a73c867e28bc7dcb68bd8b3641bed87b223b00000000000000002593eabd53356a3c00000000000000008d79f03c1b2fed3c00000000000000009af9d23dd979923d0000000000000000bec3f53d4b5fe83d00000000000000007440c53d3870db3d0000000000000000b7d4363dd472c33d00000000000000006d82543bdb5b733d0000000000000000ec35e2bc16087b3c0000000000000000d70293bbc4e7cbbb7bd11a3ad902683c3295aebbca6423bc65ec4cbb35dd573c5ebc89bb9d443fbc8567f0bb3f18bb3a1ce700bacf3b26bcb70f2fbcd7df8abb5b63b139e7e1f0bb8bfc30bcfefa05bcedb1183b043888bbac801abc9814f4bb1049db3a37d847bb97ec97bb6a9b80bb2d57bdb97af44239d689c0bad79459bbafec11bacdbd143b9927053b310d1bbad76dc13bed11363a2296c23b1398b23c1464d53b8adfbc3c64cfa93ba380193ddf88813b09515d3d0fd9123c1b9f333d6120593a7936733de03bc73b1ec50f3d70ccb93a11e2513d61d0543bc153cf3cca2965b9ec7e243dd854cf3a8f54313c4ccfad38bb43c33c41851b3ade14483b5491d73aa7531a3cc5ac2f3b30aad3ba5b0cea390513c0bb127213ba23daf2bb4b88b0bb453dcdbd66811fbd10ece73cc643b53c287e04be209e88bd0bbbdcbb35e4e23cc7b9debd707fadbdc16799bd0b23083de91594bd51a786bdf90aedbd3a44fe3cdf4511bd4e4a28bde34d03bed632d63c794ea6bc77d998bcf539e1bdf41d583c12c107bc7c1ba2bb6aa293bdd0a36f3bd0fcfcb9a891d43a954810bdd1f775bbefa7df3bf508193c6f311d3c596cacbbb6e519bd603d6c3d6f0aa93f929f75bab17eb8bdd07cf0bcab01a33f590330bce3be02be06a056bdc2e38a3fb0be37bb005907be2003bfbd875e553f897db83b2200f1bd90d4ebbd4fb8123f89af583c677ea1bd0659e0bde3c3b53e183a453c9c8600bd6bec97bd88a71e3e11096fbbdf903f3b4e47a4bc98ba183c78e24aba0094dc3c6f080cbb3606b3bd741f2dbe746504bc00000000000000002674d6bd7aed5e3c0000000000000000bb5e503d57f3093d0000000000000000b614f73dd846a33d0000000000000000578d063e0f77ff3d0000000000000000fda3cd3d438cf53d0000000000000000567c453d6974ca3d000000000000000089666b3c3c14853d0000000000000000bfb215bd6dcc4d3c000000000000000000000000000000000000000000000000bae7d9bbb75f1abc384ea5bb58bd023c659e3abb3ac53bbcdee00cbc7a9eb5b997caa7ba28d301bc4e4949bc925e04bc589faa3a1ab2febb986723bcb60610bc6400e43a46fd9cbb13540fbca071e3bbaa1fce3a268dbcba9564b6bbfd5399bb73f512b98f21863ad8e65fba119a9aba000000000000000000000000000000000000000000000000000000000000000056c3e33b9bd3143d6d3b413c0700293dae37573bf468503d98791b3cf650283d3f28943b1732643d5800cf3b79ea063d6968a9b987c0423d1917643b695ac93c6fd7ca3a357b043d779fa23a0035433c17d7263b74c78f3c1b3b85b97f5b843b2bdfaa3a4b80813bee5d83b8998899bb00000000000000000000000000000000000000000000000000000000000000004aeba33c9e2a0bbe1c8ca6bd2d9be9bc89a10c3d2aa3bcbde508a0bd9e7cabbd03aa163d4d7b72bd437f7dbd35a9fbbd84f50f3dfc0efebc9b2522bd384dfabd89b4e33cb0ff65bc017986bcd261cfbdf4a6883c9d97ecbb07d67abb91e186bd3eb8663b9ce228ba35ce943b2ce2abbc000000000000000000000000000000000000000000000000000000000000803f46c2a4bceb9d85bd33ddfebdd69aab3f58bb9dbc1830d2bdc17419bec1b9893f548e19bc29a2e5bddd4227be738d523f65a238bbc004d2bdbb9b2abec178133f4983213c81158fbd652018be3a95b13efa3d033cdd56e2bceb94c6bd50bf233ee591b23b83f13e3c8f2616bd96109abb0000000000000000000000000000000000000000000000000000000000000000a51afebb2414253a0000000000000000f8c9c73dcee4553d000000000000000057e2133ec4c0e53d0000000000000000d6300e3e25170d3e00000000000000001f02c53d68290a3e000000000000000079c1443dcb22dc3d00000000000000003f8af2bb10a5633d000000000000000000000000000000000000000000000000000000000000000000000000000000003068233bcc44053b00274bbbae2907399522e93a01d8093b0018e6ba49aff0b97b87a93acef3ce3a5d5189ba56d774ba8b1b6e3ae361f93ad2f49b3a3adec7ba0cb0513a7c70fd3a984ff03a979da2b7e9dc673a8825203b2c5d7c3b198a6f3ada746b3a85ee3d3bdef2a33ba4f6903a0000000000000000000000000000000000000000000000000000000000000000ec55123ac3f721baf1d11cbbf0df01bd5c9e05ba6abb68b92f1339bb0c91e5bc1e6e6fbaa8456abac5a14abb0542c9bc5535e8ba904f0db8501d06bbf166b0bc65e236ba8ee842b93badf3baa3c589bcb09769b9c043b6b7eea55fbac49846bcebb845b62e636cb90ba3d03965fbc6bb0000000000000000000000000000000000000000000000000000000000000000f2935dbdf5b632bc8d843fbb1a6767b93af661bdce7d45bce2221fbb627595b99fee52bd27843fbc71e2b2ba65a2c03a47c537bd201444bc82f1a9ba4759873af3972dbd0f0339bcc3e72aba03330f39218c15bd1c1f17bce88e46ba0411dbb861aaedbc894bd3bbd09754ba198157ba0000000000000000000000000000000000000000000000000000803f00000000ed79e63b67ccafbc99de873fefd0ecbb68f1c53b426432bc4ffd633f3f046d3b0ae99a3be817e5bbf1fd393fa01d1b3cd633163b63f70bbc7acb103fe7332a3cddbec13afd3c4cbc5c72d33e7ba11a3cbb4eafb84d5998bc3714863e66cdbf3b67c3b4baf678e1bc5e34ea3d4d4edd3900000000000000000000000000000000000000000000000000000000000000002ba5613c5178dd3a00000000000000001c66523c50293e3b00000000000000003e1d3a3c7652833b0000000000000000a06d0e3cb90cb23b0000000000000000a40dbc3bd0b48c3b000000000000000065c5ae3a09bb4e3b0000000000000000fec34dbb31410c3b00000000000000000000000000000000000000000000000004caf83aabac393b159594bb8917b2bac0b05a3b6622c73b405ecbbaf86faeb72c8f423b610f8d3b6da68aba55e1933951c0f03a567c463b6e2d923afff66c3a5361db3a36fd493bc92aa13a97ce303970cf013b11248c3b58e80f3bde23bf3af4e6273bd75b623b3e25ac3b10c9b63a16ad843a4795783b5778e83b20316b3af69ee6392d77083b7d5c9b3b79a5943aa2dc493a3eeb2e391d27133bda45ecbcdb8e893a8eddf739b621613aaaaa14bd6700aeba3abfa9b8c6f3ceba56bd09bd6024253a350662391f5661ba2459f8bcd661fdb9d81167bae6d0e5ba8ea5bebc0c9ede3818faf4b97b8722baec4f9cbc8953c1b9ae26dbb978eda6b890d147bc53c4693a5f8cb4b97698343b14b13fbb458c5639cec4d8b97889003b7896cb3aa79ef3bca07dd5bba21baabb257afe3a650d72bd04b683bcecdcefbb2b03433ab63986bdf71b8cbcde1a86bb1d5e93b7009784bd7fbb99bc5b6575bb3e0d223ad88b61bd33cf86bc0681bfba3b2f83b8065256bd417584bc636bb1baadf18b39d41c33bd390557bce2e09dba2f9519bae03c06bd914419bc95f9d2395ac5d2b8d34177bccb3724bb6139c33840181eba3aa6203ca07c4cbd095d873ffae3ee3dac4d3f3c300453bd6eb07d3f63bbe23d291b1b3cf3ea03bde388563f9358da3ddb3bd63b6319d6bc35c02e3f1fdec13daf49ad3b1ac3b5bcfb55063f0bb6a23db217513ba742eebce23ac43ed4c47b3d34eccb3aa66d02bd45d3743eaac1233df82c7c3ada0e1fbd4f74d03d68d68f3c2f0a173ae82003bd34d586bc730725bb8038fabae4da0f3b0000000000000000c2e8453a8a864e3b0000000000000000e9f9e53b9ae3973b0000000000000000f293013c1d1c853b0000000000000000f34dad3bca5da93b0000000000000000f6c0d43aa9769e3b0000000000000000697731bb5319833b00000000000000006d28ecbb28a1de3a0000000000000000b10cffbb74bd9d3a00000000000000000658383b8f381a3b5a3488bb2ff304ba588b543be1f3823b8e3e6fbbfd2b60ba31551e3b02fe383bfddcf6bae2a077ba7c500a3bfaf6613b597564b844d735b8db44ac3ae8f7283b58058b3a8b5529b9a9d1c43ad2806b3bbeb45d3b0d20243a343bfc3af4fd353b48e2443b9ff920b9e37b693abc45683bc548ba3ba336513a0693753a3676323b14e08e3bc920e839b18b043ba2f1c1b8a25cc83a070bc5bc19a89d3ae294833a9e5e673a708106bd5a230a3ac5e748bafa82053928d1d5bc098aef387e6415ba09df77ba61e5d4bc07be8fb9583416ba8e4894ba06b29abc1db17ab9412429ba7a4ca0b9f6ee83bc8c642a3a5f7be6b9c726c63a15ed07bc68a5a139bac3c638431ed13aefd052bb47e00f3ae6431b3a93aae63ae683a83a1d70a6bc1e7592bb106ababb45dda03a107f3ebdf40473bc5a2db0bbb895543ac8304bbde7409abc75ab5ebbbffac53aac7267bd964cb1bc3fb163bbec88183a60363bbdc42e97bce546f6ba8f9f243aa1fb3ebde3959fbcd920c6ba42ec92397ef90cbde1566abc4538bcb932aab6bac1e7e5bcfedf36bc75648c39ae8754b9effd4fbc0aff76bb0477923a64ebc1b9a62a043cd2c748bd9e8a633f35f8853e29a33c3ce94866bdc1e5573ff26f7c3ee68c1c3c44f515bda265333f1356613e89ff0d3cbe970ebd0ad3173f0a6d423efdcfba3b9873e3bc8c63e63ed6111a3e21828f3b7a2b07bdab4eaa3e090fee3d94ec893b3608fbbc91af543e75e8973df8bc1c3b69ae1bbd9878ba3d310f163d11218c3abc3ce5bcd7b535bce76e98b9d7c76abca9f3303b000000000000000073f24cbc882c713b00000000000000002d41bbbba6f8c13b000000000000000032e20fbbdceee13b0000000000000000abea67baceb8cc3b0000000000000000b4e066bbef4fc73b00000000000000002767b5bb0fca973b00000000000000003a2d23bc57a3483b00000000000000002da411bc9f47543a0000000000000000a6960b3b9f3bc53a87d18bbb3ddfd7ba68d5243bf8d95e3bb89e71bb3541eebac739f73a2136393ba421dabade23b9baa9d6ee3a71ef643bf9fc2d39b60bfeba8fef2f3a1463353b5fc9883a01bae0b93cf4d03a6faa623b04f3293b703a8c3960f702ba61f69fba2eacfc3b406a3f3bbc62683afc1ba03beab68c3b9fbb4f3a29dcd2b826fdee3a1b3a563b35a9843a830c133b03e21d3ad63ae03ab348a4bc54bcfc3a9a021539f639a73ae5fcdebcdbfd573ab13629ba7cdb2db820f0cabc4783443ac642ecb9ab0d2bb9e45ebcbc781869b8cb4a2dba789b1bba1a348bbc900944ba9c1a77bad1f21c3af9bf57bc5e37b53a588a9cb7ea1051bb8852bcbbb0f0dab6835b94ba270e0c3bd60b11bbabaaba39bf98c1b9b0f0d83aa71eb83ad11a8abcc6c07cbb7edabcbb51a9c03a3cd920bde29484bcb021f0bbe2bbc83a8e8247bd705dc1bc2419b4bb18235d3a82614bbd1521e1bcd99a71bb4a85a73ae17e38bd201fcabc5abe38bbe867363a885729bd507dc3bc6bb60ebb56533c3a9e190abdee91a5bc14e7d7b9e3b4793a03e1c3bc8cd85ebcf12cdf37ffee81b97e292abcb537a0bba7869b3a8f344c39b4f8f13b30392dbd23ba393fa385d33e9555313c52294dbdb3fb2f3f3dc4c73e12572d3c5d7a1ebd65e2173f9bafaf3e9649183cb8cf0dbdee35fa3e5b77943ec6a9df3be297f0bcca89c13e2cee6b3e0582af3bed5402bd1be08c3efd01313e25a918ba2a7404bd81ee313e4260e83dbef6483b2f2d08bd16a2983de7ec633d8ea4a73a69a3bdbc2f1616bcc88f093b1863c6bc65889e3b0000000000000000fe88d0bc827b063c00000000000000008e9f7bbc7fe9083c0000000000000000ac9023bc17d5123c000000000000000000aaeabb863cff3b0000000000000000d866f6bb3e66db3b00000000000000002e9a01bcb953be3b0000000000000000137529bcaec8553b000000000000000036fd00bc184dc73a0000000000000000212de33af0b5c73ac6476ebb3e4026bb08e50b3bd987353bc6cc35bb000133bbba85a23a38b40c3b76708bba437adcba3e58393a1574063b30c1fa3abce4d539de647439a7f5b23ace8a3c3aecf321bac8d185b9ff0de53adde4753bf089c53a2721cb3a6e74413be3376e3b3263683ab018ed39f784813a8ad9903b5d85ed3a420c663a1deb713a1c90863b8554353a50f70c3bfb01223a915ab33af13383bcd392df3a5eb483394dbf763afcb7aebca2eeae3a7ac01d3923940cbac3e798bc19d00e3a1f3f19b9b577433ac73f85bc4af9ceb8630eecb9eff54abacf9f35bc9039cb39099f8dbaa885ad3a31eb19bc2589e0b957a07dbab6739d3a7733c2bb0c6c4b3a6aa30bba2fc3c43abf5db5ba652591b9dec31f3a04263a3b36ca953ac8d28abc8783a1bbd6f9cebb44f2d03a1b2e11bd8ec99ebcfd76febb5edde23a72c426bdc08ad7bce620b6bb0b258e3a12e039bdfca407bda72bd0bb69d5ba3a030701bddc7bb9bc0a7829bb923f893ad66312bdc4f9ecbc940de6ba0b38fd39c608debc6ecdb1bc5f7002bb1c208d39ddbf9fbc5b5383bc4aaa0439ce78a8392e4d0dbc3fc3e4bb07978d3a32f509b936e5d13ba14a08bd6c2d113ff82a113f74d81a3c99e01dbdc520083fa9d9083f624b073c7b92e3bc590ae93e38bfeb3e8c22bb3be585dcbcba74c23eb930c83e86cea03b683d98bc4e66923e4540973ee9ec2b3b93f3c9bcc93e5d3e29146b3eedc84e3b7acdccbc1a49063e48d1163eceff133b25f3dcbc50f8603d8b8f953d16028f3ab07c9cbce8cb3cbc1a0ceb3aefa608bd31e4c73b000000000000000074e811bd634f1b3c0000000000000000ddc2b0bcd4c81a3c00000000000000004bd185bc5c3c003c0000000000000000716a05bcbe55e13b0000000000000000ee362cbcf8beed3b000000000000000020b613bcc1039b3b00000000000000005bdd2bbce67f4d3b0000000000000000fbed05bcb18e823a0000000000000000d286973ab12ceb3ab4552dbb67ca51bb6e200a3bd1565f3b860186bab1353fbb2273f63a902be83ab666ed390b1595ba9e90833add92503b15e8ad3a628266bac38c0a3ac8c7273bab8b233b6cc205b9f332883a8ff5e63ae0998a3b46cac0392020253a49bb353ba6d2853be660293b9298f239fe3b213b35348b3b5ced233b92c593393e8dba3abb43293b6d8fcb3aba1bfb3afec65c3ab116af3aef3949bcc168343b14571d3a04ff2c3acfbe8ebc1166b5bb2fbaed3a8adc32b97a1e7fbc1326a33a019f33b932a1a9ba057962bcdc4380b860da67ba7c8d24ba634c39bc4ebd9c3afc6cd9bab9d55f39e41e1fbcec65563a6c0f9db925a2d3391ef2a2bbbd11013ae51a3bbab9ad9d3ab53383ba0aaacd397492feb969e8c03afe3fc53a48c098bcefbd07bcdc0df4bb99a0943a376a18bd12f3debcc5cc22bc59be953a65b533bd6a4512bd9b87f3bb8766df3a3f4a2ebdb0f720bdf905c9bbe6ee5039408219bd572215bdb55eaabbad1f5f3a3e9b06bd46180cbded6781bb189b713ac239d3bc3dd3edbc8b6c40bb62aedf39293788bc0dc6a8bcfd9be3b9177acb39d690c4bb723312bc9a4aca3a7b9a5e38c9edb03b1d90c4bcd34fd33eeda6393f915eff3bbb01e8bc93e3c53e2292303f23d1c53bf937b6bce8adac3e156c193fd678c73bf0629bbc0b498e3ed47cfd3ebf73a83b693996bcc8fa5c3efa71c63ec014243b4916a5bcd4161e3ebeee923e822e193b12a3b2bc9ec6ba3d6f433d3e001ce73a9abbb4bc049c033d09f9b43d708d773a032578bc27027abc683b8e395dee2bbda420ea3b0000000000000000a38a3fbd92b2383c0000000000000000d6e5ffbcc2e94c3c0000000000000000d2c6adbc268f2d3c000000000000000051ac65bc9e18153c0000000000000000e4bd45bceea5f63b0000000000000000dcb237bcfd03973b000000000000000069f839bc9ba21d3b00000000000000007cb507bc6fbaf6390000000000000000b3129f3a6a31023bc03a9cbae6057ebbf05dd73a6ec4503b7972403a1dac66bb440ad53a430d493b1ae9f4396aa520bba35c9d39ba1c123ba8e8853b1d417cbafc89a539e4e1e73a4eb4353b639ec839d6b4863a072b383b9aac863bfe58083b91689939bedf0f3b3182883b5706343bed078839d33be739903d963b12f65c3b3aab6039d2abb53a29fa393b12cd1b3bbc42283b5f87eb3af43e653a9e9314bc2d88383b6d0ec03a6b6242b9f85f56bc616b663a0d62843a3b642bb96dd729bcbfb5693937e6d239eac757ba24543cbcda2c9939d086fdb92d5fceba4ca406bc3da9fc39e15600ba173253baf034ddbb12ee5839b650da390f54c2b9e4fa6dbbe6a93d3ade9debb9b9992b3bb0ddf8381db53a3ac09a6639c6a2673a42b5053b96eabbbce77179bcde150abc68f79a3a013523bd813e1fbd7b313ebc2800363a3c4d1abd07482ebd319615bc7397083af83e2abd4a884ebdad650dbcf6accc3949b700bda72525bd599fdfbbcfb79f3991fff8bc9b642dbd39efd6bba8c56239f85cadbcc61305bddfee8abbecceb83a3d2f51bce04ad0bcbe4c9ebae680e739f9b25abbc80434bce721b8b98c9fdb392f81453b74cc5cbc680b863e0dc2633f8e76ad3b020768bcd2ea783e7577583f1a49833b080c39bcdd8f5a3e69eb333f3037a53b37e32cbcc183353e9b0e193fe948523b2c2515bc5e0d0a3edd5de93ef04d203bea4161bc883bbf3d5d7aae3ef11caf3a5bf269bc101e583d10fd5e3e52775b3a885c80bcac090d3c39fbcd3ddb5a2fb9a4ad32bc3893a7bc8d9381bb3e0649bd34780c3c0000000000000000aa2455bd4403573c00000000000000000615e7bc3d27133c00000000000000006a28b0bc188e313c0000000000000000a8d244bc255b043c0000000000000000a86538bc3355d53b0000000000000000a45528bc7de4593b00000000000000003f8440bcdeeaa83a0000000000000000064114bcee32f1b900000000000000002554ab3a7e501f3bf9882f3af42490bb5d5dfa3afde8823b0c7c9b3b07f6deba76d0993a8485373be7ee8b3bbb457bbaccfd513a9481243b6dec963be463cf387be81a3a58c50f3b0ebb8a3bba4e9c3a5d965ab994a3983a39d6af3b5b84603b5904053ae57cfb3a05275b3beb088e3bdb7f24b9809ada3a13099c3ba7eca53bbf3ae8bac6349e3ad34a483b80066b3b6a5ba43a5691be3a9f314fb9dc36acbb9bc4163b3685c23a234b86ba8deafbbb4c009b3a8955c1394ca220bbd01e08bc4a6c483a8c57b8ba6dd260bacc7e01bc21a0233a761097bac8c108bb2ce0d9bbe74d593a5c7a5d39b3510fbaff1494bb0c920d3be1ca60ba5b68f9396335d3baeb54893a297ca4b90037b23a9300883896ecaf39db86aeb97170f23a0d1ad03a75b4e9bc0c6edcbcddbb34bc8fd24eba78422bbd80df66bd9dbc81bc6df2e7ba286328bdce3b7dbdaab360bc0267b8bad54d22bdde2478bd21bd50bccb807fb97990fbbcc91556bdd7ee31bc7a10b4ba13edd1bc0a2b4bbd200b22bcd10be339cc5999bc4d152ebd68c410bcf89e30babff916bc3523f4bc904f31bbcd03b53aca71bdba439961bcf2c8563adfbba23a6327013bd5b543baf7c8eb3d0a59873f55aa1e3b078accb9c2d8d63d87597e3f4025463bc4761e3b7c81c63d25e2563fabac313be7a0e4b9d903a83d7ce02f3ff7cf073b01ba04bba8607b3dbc2a073fce5c6639931ca1bb011c1b3d8663c53ec8872a3a647ffbbb4cc12c3c9b217a3e94b12b393f2025bcff5f6ebc45dcd93d5cd494b9c8effcbb5013e6bc2a2d61bc99e646bd0227063c0000000000000000cfac41bd5e27383c0000000000000000957dc4bc5db4373c0000000000000000db2d4cbccf67263c0000000000000000f123b5bbfb0f023c0000000000000000a497b8bbf9d8cf3b0000000000000000996ee8bb1473483b00000000000000002a8a3bbc5d04c9ba0000000000000000019625bcdb7591bb0000000000000000000000000000000000000000000000003ff2833affbced3ad1c64d3b6ef257bb57ebc639d4b3bb3a0415633b142cb9ba04a18839c0c1ab3a232a493b67e11aba42c87d385d9a903aea8b373b3dc934377e5cce3aada07e3ae821523babc8cf3add22c339d646a53ab1cf8a3b3fa1773bd7ebb33864849c3ab4847a3ba174a23b000000000000000000000000000000000000000000000000000000000000000074f355b98d0c953aae5aeeba871292bb7d4e7db937240438c7b627bb6fe1b4bb539638ba9f12d3b9802f26bb6a95aebb01ec293a261442ba37cf21bb0659a5bb1a9af9b9f50307ba337ef5ba61cd80bb2fad103a83e7d93864fb8abab9671dbbbb8d8e3aa71749b9b28ecdb9adb3d7b90000000000000000000000000000000000000000000000000000000000000000366b0cbd919c5fbdd94a5dbc656dfbbaef99fabc74da60bd11264dbcd067deba16d5dbbca2ee4fbd95c844bc0d257fba93e2babc56e43bbdaa281fbccef765ba7e7794bc53ff2bbd36cd2dbcf25291b90e604bbc08aa12bd9f900ebc33cf8f384860d2bb2463eabcf195cdbbe8d7dab9000000000000000000000000000000000000000000000000000000000000803f04f1cb3a2e9c473cd0b02fbce403883f9b15cc3a17941c3c5e0e55bb0f24643f271bba3a513bde3b91cad0ba3e2f3a3f6a772b3b3934203bf20a87bbf502113fc40cce3944abe4b9a2a118bc44dfd33e99ff69bac9353abb09ef89bc1966863eb4410abbc11392bb24a4d7bcfafdea3d000000000000000000000000000000000000000000000000000000000000000075449bbc06260b3c00000000000000003d95a0bb8bb6053c0000000000000000557bfb3a4af9f23b000000000000000078bd8b3b68f2f13b0000000000000000209b8d3b20318b3b00000000000000009296b13a1010c13a0000000000000000360869bb5c65a4ba00000000000000000000000000000000000000000000000000000000000000000000000000000000963a813a7eda0abb0c3bedbb252e9abb6318243abd48bebaf1dab5bb84f49dbbafc34dbacdff44bbe0c7c1bb52ded0bb2019bf39f0b6b0bac14872bb3b5891bb64ad13b9a236e0b9e3910dbb3fc682bb8487963a915bc23a37811039edc34cbb6ed4083bb95f313b68b9093b2396ebba00000000000000000000000000000000000000000000000000000000000000003d7231bb30567ebaccb7bdbbcb11cbbc961b67bb3d238bba3389cabb39d1b6bc4cba9bbbbddf0bbba7c5b7bbe3cda0bc6ac0b6bb283321bb1665c1bb70488bbcb61365bb2a0a81bad594b5bb89f77abc4c0822bb7150f4b962b78ebb593348bc0cc8d5bab6c4ceb9f3ad37bb2ff411bc000000000000000000000000000000000000000000000000000000000000000089dad3bc86d44ebb0f7b8b38be46163bfaece2bc5982a6bbd5f416b9e3d90c3b41b0dbbc8e49c5bb93748839ad521c3b2c86cfbc28b0eebb546d9abaf6b6ca3af1bdcdbc12440dbc3fd5bdbaefa4da3a4abfbdbcd18811bcda885abb75453839dbb7a5bc1bb804bc41c694bb79353fba0000000000000000000000000000000000000000000000000000803f00000000c7ae083c725ef6ba35f8773fe10a2c3c292ba63b9d5e9f3a0eae523f38f7833c7de5b53ba3509f3a80252e3fba44983c84e4583b0c1b08bbda51093fa75c8f3c943ca53adf96c1bba3decb3e0c9e8e3c6cb0ceba5dcd56bc6b98843e9199563c7f1152bb4424a7bc4a98fa3d4ece163c0000000000000000000000000000000000000000000000000000000000000000ecbf9d3c0d1ca23b0000000000000000a6cfa13c6276f43b0000000000000000105c9a3c5c610d3c0000000000000000c380833c24cf0b3c000000000000000042fc503c45d9f83b000000000000000087f5223ce410f53b0000000000000000ca19c13ba97fcd3b000000000000000000000000000000000000000000000000f6854c3b263d18bb1bc1f8bbed0582bb2f3e613b575a9db99e78d9bbbd998abb219efd3acf9c39ba0b4fbebb7a9aadbbd8f3c13a71a70cba024c97bbff19c4bbeb538a3afa2c0dba867359bb9454a3bb8527f83a22b3aa3adcdf90ba66b884bb0253133b5e47263b05feaf3ad2e84cbba157343b6633783b17d65d3b971daabaec330b3bd2fb553b81684b3ba821eeb9b0c3a7397b03fc398fbd4ebb51fcb5bc325573bb0135c8b9f9cebebbe333e7bccc1283bb9ffadaba9f82d7bb18c3e1bc1c8495bb1173e1ba98aff9bb6bead4bc346d85bb84b0b2baf5d5cdbb355da6bc011686bbb4f39dbaca36b9bb42e399bc3fa78dbb7db0f7bada8486bbd31164bc9c90c8ba9d4994b9a130e4ba4b970ebce91640ba881a92b9daea82b8aee752bb5e1b64bc9538663ace18dbba52cf253bc691e9bcf25b04bb6b1a37bbe84a603a3b1e0bbde58104bc23f0d9babb68e13ad38912bd306a33bc6e494eba139b833a623bfabc51f12abc0e0b16bbbdf38e3a9efd02bdb2c94bbca5e469bbf45a053abf2ce5bcf4bf39bc9b368dbbb71938388e41b9bc93e11dbc76fba9bb1d30abbae0734fbc625aa9bba81f83bb1797a9baf3e6e13b0e1653bc5abf763fe31f043e3195113ca0f63fbc048a5f3f9337fe3d2dfe063c3c93f3bbe5193f3fab02ed3d4276ff3b08b7eabbba5b1e3f66dcd03d5a15823bf169f7bb66b3f63ef62fad3dfd8ec03a216580bccf55b73ea0a68b3d992922ba3c23a2bc87286d3e62db443d83490bbbcbe7d9bca7d0db3deb6fd33cb9f813bb8c61c0bc497807bc8c7a7b3be02a083c328d583b00000000000000008e4c823cfa38b63b0000000000000000ac059f3c9b020a3c00000000000000002cb4a93c2a74123c00000000000000008511873c4d23213c0000000000000000ea4f723c789c2a3c000000000000000069d72b3c20d71a3c0000000000000000d4db823b795fcd3b000000000000000051bdf137c85e5c3b000000000000000061e1c53a948316392887ddbb06b70cbbfbf8203b4ab49dbab69beebbeb83a9bb32f8443a6e0893ba6468b2bb8f7ba7bbbf15a53a5f244cbaf72690bb4fb5bfbb3d32563abc073fba07d643bb40b19bbbc118cd3a2f9b6c3a24e04dbac53e8cbbc7108d3a861fd23a971c5c3aa31d3abb39c4163b44424c3bc0664a3b9cb489ba7da6bf3a7a431b3bb0351c3b31fc2eba4676573af09427baa63101bbd31898bc970317bb4d4854baf1d46ebb861cd3bcb31f4fbb5a74a0baf5ca9abb8fadb6bc7e728ebb7c01e2ba312ecabb39bebfbcfac187bbd174e0bab4b9aebb49c590bc9eda92bb91ce07bbd57cb1bbde548fbc0a4649bb5de28bbaec2962bb7daa41bccb8fe9bab195e2b97f69a9bafb3017bc75178fba055c37ba16d95b39dcea11bbc97a53bc879c42ba586af6ba8032993a40e5d0bc2a10a1bb9db604bbc2b60f3b10d8e0bcabfc05bcd0a6babad742f33a5ab405bd456243bc75fe14bb5061c33a89bedcbcb2593cbc33d21cbbf4a9953a2220f7bc81086bbc89f98abbe4eb77393026bdbce2b53bbc6e0f80bb14e6c2b9d4c6a0bcc05e1fbc50918ebb47778fba877128bc4652a3bb7a4a51bba379a8ba5961073c561e6fbc4751523ff95e863e8ef4243ce23e85bcc3933f3fb6627a3e5c7c013c1f8e20bcb2bc213f16035d3e42dbe93bca882abc5749083f74cf3f3ecccf863b029220bc5e87d33eab32193ebd816a3bb46574bc8dd59d3e3640f43d618571392cd392bc19cc4b3ec384a13d453235ba2a5bd7bc200cbd3d9b2f2f3daca73dba47f59ebcc842e1bb7caf8e3bb9b1bd3ac840a73b0000000000000000497a113caeedf73b000000000000000037333f3c6f5c103c00000000000000007b317a3cd9892f3c0000000000000000b73a543c1839233c0000000000000000c306403cf85a283c0000000000000000e559fa3b393c083c0000000000000000daabc83a5463d33b00000000000000000bc83cbab7575f3b000000000000000007f0a13adb2f62baaae2c2bb6f6373bb5f1ced3a9dd9d6ba178de1bb4e8ab6bb099196394947c6b97106a0bb1792b0bbf4bc583a3cff45baa6e881bb563ec0bb77121e3ade7500ba27fe15bb491295bbcd32903a83e9233acfc420baa1d079bbed0bdc3af28ee53a0e29833ad08d35bb5c1c033bff9b293b7f85233b85b2a6ba80b0ae3ad18b1c3bc0c9153b4031ceb93b27b2b9e7722e3a11c5a1bafb7476bcfa5613bb1bdc60ba5dac4fbb36edb5bc9c3c84bbf339edba3acb93bbacebb4bc4b3d8dbb2089cebad266bdbb80abaabc32cf89bb539f1bbb65dda6bb65da8abc357d84bb4a10d4ba2c79a0bb9d787dbc38a64fbb9e219dba80b15ebbce6841bcde4c15bba17640baa32ccabad5cbe7bbb94269baae5a1ebaaab6a638d62d0dbb42ab3cbcc2184a390c02b4ba4e87f33a9cb9c5bc3a9fc3bbb49514bb1a15173be72ef4bc7dc037bc54fe11bb9105053b57c9fdbcba7e6abc734935bbfc77a93abc43eabc538775bccbbf60bbf8d02a3ac9b9e1bc979f80bc104386bb4b6d80393494c3bcfa9b6dbcae3094bb10581fbaacc294bcdb2a3dbc842e90bb9285b4ba7e5913bce715c1bbd0be37bba8b0c6ba30a9d63b2e0657bcad5e2d3f9994cc3ea6ba1d3c839e62bcc2981e3f60cbbc3ed62f083c6ef423bc7292083ffee3a43e6772dc3b8b9322bcd45ee23e9b708c3e55fba23bae0433bc0940b13e19f3613e3a050a3b959372bce23f833e68562c3e011fbf399fcf97bc5f16283e1475e83d7a562bbad850afbc1661983d4d97703d210c1dba9f4d85bc35eaefbb9dcd923b9c0e74bb1be1a03b00000000000000008e79f43a7a591b3c0000000000000000e1ba063c69ed363c00000000000000007da1333c0f74413c000000000000000072fd2e3cfde0443c000000000000000082f4233c6be3343c0000000000000000f1a1e73b90cb143c0000000000000000d2be343b5d20cd3b00000000000000003e712dbaad322e3b0000000000000000146f793a03f8b3ba7394b0bb48e37fbbbaadcb3aeb61c3bad961c4bb985cb4bbc682103ae120b9ba6c4099bbed4dbebb810ce6398d51e1ba097984bb4651ddbb8caefab9a2b9a9ba45ad22bb416887bb36696c3a8e305d3a65cdc7387ef197bb25166e3a28d3b63a680a1a3a5dc227bbda61b83aa7b91b3b1428123b42c577bacda46c3a3a2ffd3a5de3e33a6452dbb9f0f521babbce9cb8d4c18eba198145bc585a1bbb720a79baece053bbd2bf93bc84a96fbb2201bbba2b3fa5bb2a898ebca7e0a1bba779f9ba14a4a5bb5bf48ebcaac074bb0a0fe6bae77a9dbb54a54bbcfcd1a1bba19337bbd2b192bbe59d59bc418551bb1d48a6ba046360bb10ca24bcfb5409bbab865dba4848c5baa7dcc5bbb9b8bdba1df557bab61700b9a02e0abb42dd45bce27743ba13e3afbad55fee3abf49bdbcffb902bc0be21dbb0b03e13a0005d8bc249456bcecc714bb5b1acd3a7dc8ecbc9c0a85bc7feb8cbb8c47ef3aa92aabbca3be58bcfe911abb44345a3aefe5dbbcaec08bbc523056bbc4f96bba98c3a4bcb38577bc403088bb611b1fbaf81f79bcc9b544bc700aa3bb2be418ba1827f8bb208dd8bb1c8e19bbc81fa0ba7016c03b81660cbccf77093f199d093ff8a8023c66e30ebc5f57fa3e1e2ffc3e91c2de3b5eefa8bbfd90d63e015fda3e188adf3bcf42bebb8016b43ec1dbb93e98c1453b2022babb9a758a3ea7c08f3e7a6d233b02e04fbcc9504e3e75405f3e6940cf3718415bbc8df4023edf1d143ece15f0ba26fd8ebc626f693db801973d2d363cbac9e34fbc77b211bcde2d873b0aed04bc805cd43b00000000000000007fc586bb75b8233c000000000000000020b6803b4ea93d3c00000000000000004a08de3b66aa5f3c00000000000000001c39063ceab4243c0000000000000000c371203cf612263c00000000000000003e37d13bb97e093c000000000000000066301f3b5f4cb43b0000000000000000e599d4b919ed1a3b0000000000000000dad8883a8a8363ba236c90bba9048fbb9ae4a23a7f2969bac84b9fbbbdd5cdbbeadb6c3a838d36badcd66cbb1adcc9bb9d678b3aab0ed3baebb84fbb5597d6bb4aa2c3391110bcb996d9a6ba820488bbb6c5383a0d6c0e3a71cd71397ab742bbbf2cb43a97e5e23a3f97013b3b89d3ba5f24b43af7c10f3b1848303b2f1709baaa9b8f3acbbcd53aea94163b24258b38a7ef1aba07b91a3a4188aaba6c1326bc40451ebbfa9442ba95256dbb355c80bcd9de81bb962c02bb3ceba9bb971a87bca06286bb2ad6c8bad21dbabb6db481bc4e80a0bbcbfcf1ba9a66afbb9b2765bc067477bb5bbe02bb9798a5bbea1a51bc682c59bbcdd985ba95446dbb423120bc68821bbbafe48dba40f50dbb2d9bc7bbe674f7b9a06f57ba19ace939334701bb01916cbc9ba538bb8444e1ba996ec13a2635d2bc387940bcf21950bb7c5b8e3af300eebc60d594bcce2666bb975a123a3dd4edbc9bd1acbc9cb97ebb3957003a251bd2bcfb71a4bc17c698bb4ed059b9dff1c8bc5503aebc9826a1bb09b5a8b91570a5bc294b9ebc2181aebb9311a8bae7d569bc39b17cbc8d098ebbabd9e8baceccd0bb0b3401bca6ee1fbbee9ce2baacf29f3be87a80bb6e3fcc3e8c9a2d3fa2c8e23ba26537bb1342ba3eb5721f3f356fcb3b67298dbad00ca13eac380a3fbbe7a03bd72e0bbbceb1853e1d10e73ef208123b07d884bb29d9513e5b37b73e511d5c3aedf50abc1ee9173e10e2893e901a80bacf883dbc04b4ba3daea2363e4826fcba45385dbc4fdb113d0709b73d0f79e5ba999526bc6af342bcf7623f3be2474dbc2a15e43b0000000000000000c2540cbce77a403c0000000000000000944ebf39668d573c00000000000000002dceb03b60b8573c00000000000000004c42f73b93c23f3c0000000000000000e852073ca9da313c000000000000000029e0c63bcc6f053c00000000000000002a902e3b4151a33b000000000000000061961dbae9b7173b0000000000000000b9381c3a030dceba0f164abb3613dbbb4e2b0a3b4f242bb8a18d4dbb5e7bccbbc6ef273ae8ed34baa8001dbbcde8bfbb7906803a1482b8b975339bbabe21aabb9cacc8399ae513ba2e633eba2a2274bb5a70a63aecf4313a03b4833a546d1abbd6f72a3a597f903a5e9f0d3bccfa3fba41debb3a87cd103b78d65f3b3ab0823a87793c3a6cf7a43ac04d703b110f7d3950548eba5599c2ba803510bbdf87cbbb19ae37bbadb9f0b9d5d992bba16853bc3d3f88bb052444ba6567b6bbd8415cbc272c92bbff5216bb5334d9bbe30a72bc7e2785bbfad004bbad87b1bb55d942bcf10f7ebb0bc603bbbb74a5bbabdb42bc4ece36bb739fabbabe8173bb2bbc0abc17fd0dbbfbd25dba1a9b0bbb1880babbec56d0b857cdbb39440f64ba808207ba3e8382bca6ae9ebbb120d9ba1e0e17baf4b5f4bce1298abcbc8a89bb9e8bc038507bdebcf47caebc13075dbb6948113a28aef0bcfb86d6bc3fb6b3bbf91648baa9c2babc6078b4bcd1bb9fbb8cb99eb91a14c0bce76fcebcf1a4d2bbc326afba59be8bbceac8a4bc69e4b2bb7036c9baaf0a50bc22c292bc971ea2bb6c650abb8aca86bb7b1624bc974253bb7cbe27bb42cc973bb7c3233bc492863e7cda513f9c0aae3b6c27953b4508753e0245403ffaeea73bb7918f3b77ed533ee6d5223ff5275e3b26d1273be796303edf010a3fa1d9d13ac69df8b9ba91083ec338d73ee4bba2b9c02ea2bb9186c13d93dba23eea37d0bad9bce7bbc9f7653dd7f8543ec6724cbbac3b28bcca66753c57eed13d71c84cbb2a170dbc841083bc8e68c836415173bcfcd6ff3b0000000000000000326a25bc72c24f3c00000000000000007d959c3904f6453c00000000000000003b6daf3b56207a3c0000000000000000ae44033ca1953a3c00000000000000003112143c4c6b2e3c00000000000000009d4acd3ba696e13b0000000000000000612a5d3b78c27c3b0000000000000000fba780ba5c86d53a000000000000000086c5b93a45097f39828318bb58d8c7bb14ea1c3b9a95343a1b326eba7271d2bb7365ad3a97fb1eb9cc6a0aba3024bdbbe67f4c3ae57e73b963fb81b9e3009abba23e323ab4946bb9042d2339809e53bb955c8839c8b4ba3a744b353bb84d11bb394ca93a31d2a53a177a3f3b3c6d383a0b15103b71e8263b09988a3b1ffa113b19450339b442233bee483b3b88e0563b73ba03bbf0645d39d1e948bb9c09d4bbda9453bb7bc03dba8bc6adbba7b637bcee6a8dbb4cb414bb3eb8dbbb5bb753bc4a3493bb102015bb3d23e0bbc6a95abc399f8cbb79c423bbf1d4c5bb0f603dbca46e9abb1af69eba11ea9abb009e47bc3ae117bb6f8060ba51bb8bbb6acf11bc9bd7ceba94e10cbac591e8ba39deafbb5ebd2eba7c270f39b4cf14bb164501bbf271abbc48be3cbc50654fbb142f10ba631ffcbc8528cfbcb62bcbbb2acfd9ba7e4efbbc865bf9bcbc56e9bbb28ebbbacc94e9bcb8c0ffbc2494efbb584095ba2435bdbcea6ee1bc8a24eebb580a94ba65b5bcbce1e0e7bc6cf7f8bb255e64ba2b698abc50c6d4bce92c03bc3ee910bbea4d36bc8bdbacbc097cd9bbb4c13cbb229d93bb2c473fbc4ff06cbb51b3f6baad09383b5dfc1e3cc67c043ecfac763fc3ac623bbc35453cd847f33d9168603fd5182c3bb797273c33d5d53d7d1a403f2cb7163b248cf33bf3c2b23dcdec1e3fb08b053a80553c3b756a873d00e3f83e9aee26bb98fee9b94a3d2c3d2ba4ba3e56525abb8cc4a4bb651c9e3cce99723ecb7094bb9b8cf8bbac37aabb8f91e73d9afc71bb3cb0cabbac7b9fbcc1b7adbb023e58bc9699053c0000000000000000dd56e3bb0d2e4b3c0000000000000000dc1fa03b1ec1663c00000000000000000d77243c44b25e3c00000000000000008f9d3e3cb3623e3c0000000000000000646d343c28d3343c0000000000000000fa2f1a3c41b6de3b000000000000000029ea8a3b9924103b000000000000000004bd953a25c658390000000000000000000000000000000000000000000000004fe1733abd09c7b997309aba82e8d7bbe2022f3af1e415babc6216bae952a4bb1bf9143a794044ba692681b9fb8483bbd529c2b801bb55ba9eb04539729e35bb443cbc38a11bf2b924021b3bcc81a0b95664d13a519c9b3a969d183b87fab6398d6d743921f1063bafb66b3b0155083b0000000000000000000000000000000000000000000000000000000000000000c07f89bbdd94bcba822babbbf95312bcb42f86bbe78602bb00ddb5bb4e5322bc84c287bbdbd49cba3d3cbfbbb2f72fbce3b380bb35680cbb9a05bebb8c641fbcde5d8dbbf1922cbb1c62bdbb906e21bc96331cbb5c749bba969b66bb4655f0bb9e1d98ba7be4b4b9eb3617bb0f0aaebb000000000000000000000000000000000000000000000000000000000000000050a4d1bc965ccebc6327b2bb784101bb884dc1bc8bebdbbce64fc2bbe329aebaa3b6b0bc040dddbc7c43ecbb4163e5ba52e490bca7a0cabcd9a1e9bb863786bae75b7abc4b97c0bc308ee7bbb3391cbba01a53bce7c0b9bc16d109bc194232baa10114bc914da1bc046feabb991e19bb000000000000000000000000000000000000000000000000000000000000803f7605353b5c2f813cd046bc3b6037783f97ea193b6e3e433cfc4ae13b54ca523f56b9803a8f94003c387aa33bcf142e3f6b9014b9c0cc993b665c023bd2d6093f68482dbbd48e56ba6ace98bb4cdccc3e25836abb5e994ebb18d62fbcf91e853ef6bba6bbc247b5bbbb7d95bc0555fd3d00000000000000000000000000000000000000000000000000000000000000008a263c3b8d382d3c0000000000000000ea6a1c3c9f72323c000000000000000008a04d3cb136413c000000000000000038b65d3c3b911f3c0000000000000000b1885c3cb0fc123c0000000000000000af08163c75878f3b0000000000000000eaa5d13b1aba193b00000000000000000000000000000000000000000000000000000000000000000000000000000000babfc1ba041824bb5c7824bb3eaf0cbbdd8d09bbfee9e5ba16e238bb10272dbb420ab4ba521b30bba6813dbbaaa530bbe974c0baa9dc14bb22411cbbe47c1cbb2cf23dba8dae06bbd71614bb59e825bb9a6fc3b9e3fcc6bab05ffebae6ad11bb16cfadb969f897ba9b37babaed3efaba00000000000000000000000000000000000000000000000000000000000000007ba69fbad3260abad49c09bb502a59bb131e92ba57e40cbabf2b01bbd3695abbe9c5ebbaf3212cbae23b2bbbffdd69bb9969e7ba927b63baa3d015bb1b0b44bbd37101bb1f968bba7abe18bbe3d24bbb4c5fe7ba96ff67baf4ee06bb053d35bbbe33cebad44f6cba9ed2e9bacd6c24bb0000000000000000000000000000000000000000000000000000000000000000f1ed1ebbfea391390fb0b83a1d0ff73a36574ebbc0b3b6b927469e3ac246d03a0bac4dbb38a62cba3cf5823a7fc5f03af75f33bbd5156bbab92d333a7676b43a689d49bb0567a4bafbf4c7392049983ae02639bb2335c3baccfe5ab816865b3ac25026bb096ec9ba3ab366b95e43193a0000000000000000000000000000000000000000000000000000803f00000000f843103bbc45163b51e6623f2d41863b33bbf23a71fc2e3bd262423fe533a73b0679a73a3100043b26f5213f3c5eaf3b79f8433a79de993a5f44013fd6b2923bfc29b5395d64063a4501c23e57099b3bb1cfcab9cf160cba630c813e4e82773b03c254ba0717e0ba59b3003e4605433b0000000000000000000000000000000000000000000000000000000000000000e54a903baf770e3b000000000000000073559f3b8c11133b00000000000000003430ad3b7b386d3b00000000000000009e24923bb2c3543b0000000000000000fc749f3bbc31713b0000000000000000dceb823b81805b3b0000000000000000cd755a3b6b9d4f3b000000000000000000000000000000000000000000000000c16babbab41af5ba8d40feba5fe6d1ba860ac3ba1d1039bbb57441bba8ad1abbe1addbbaf7763bbb4b0141bb61ac32bb946d00bb8af251bbac0e59bb7cda4abb61b09bba942d2ebb15b443bbcb733fbb34c388ba0cf826bb8ce634bb733f49bbdcc617ba89c4e5bacb460bbba6b521bbaabc203ba9644fbaeda67bbae39cd7ba365ddabade11b7399899083bf2dd0bba22645eba1096b8b90702beba009532bb2b81c3ba892022ba751d2cbbf80487bb4b1cf1ba83be68ba60642fbba4b285bb4ccf0cbb320898ba840452bb359593bbf69106bb1424aeba1c6b31bb6faf73bbbaf326bbb556b6bad84f35bba7907cbb053d09bb639984babd3f20bb826759bbee6a13bb254900bb83ead8ba387741bbd250fcb94847ac38893a12bb258a3dbb390ec1ba77e6033a2906893a55d7bc3a964942bbc6e80439e8ffa23abc74083b5b455dbb045ee1b92e25a03a3a3c033b1a1980bb762286ba2bb3663a0fcd053ba14a64bbfa37aeba4569193a9eb3cf3adcbb72bb52c0dfbabb0789399e8eb23a1f3e5abb5c6be2ba3bd428b8023e843a493a6bbbf74e20bb3bbfafba3693eab9d5ac4abbecdf54ba55cd86b89271b739a4dcf33aa720873a8da5623ffaf8023e65c30f3ba216e83ad859473f446aea3dd0ed073bde360b3beedc2a3f3c3fcc3d290fdb3a2ff3f93a946c0e3f81b2ad3d65247e3a57a17d3a6236e33e60638b3d31af8e3961a25239c985aa3e2853573dc342c9b9478772ba1db3623e4fe5123d3f3bc6ba8e7348bb4df8df3da901963cf071f0b969e480bb2b9abbb86405de3acd85443b0ebab43a0000000000000000c29b9d3b85aa333b00000000000000005ec5b73b5b9f5e3b00000000000000008e9ecb3b1e9f8c3b0000000000000000f05cb93b8ef5843b0000000000000000d5a1bd3b8f45913b00000000000000008052993b802d833b00000000000000008a00353bff95533b00000000000000008487fc3ad62f073b0000000000000000011f7bba797cfeba52370bbb8ce2cbba893a04bbf7d914bba05f3abbd88322bb37a1b83a10bfd5ba0b9573bb5876dfba0e31bdbad00a35bb8e5840bb47bd41bbbafb47bb2190d0ba0c1d0cbb1ed016bb0936a7b9c8e80fbb019933bbe42846bbac016235a73431bbebbf85ba4a1ac6ba384dd6b90ee59aba8f0db2ba256d00bb4cd191b9d80ab4b91f241ebadb1180ba23e86ebad812b9b963f2c6ba404c37bbe1c9c6ba0f9720baf1b908bbf96879bb425241bb17ea26bb7787bfba7fe199bb474a15bbb960bcba329240bb6bd786bb7292e5ba5aae8fba77f310bb4c3f54bb53581ebbeb61aabadbce31bb47b477bb5e50a5bafeb021bb73ffc2ba413787bb6a1fceba82d070bad817f9ba26cb21bb823c5aba438dfbb99b605aba9d27aebac116c3baa779a639d6a3863a0c40b63a2db12fbba0371eb8d85b983abaee033b0ca786bbe4b70fbb25d844ba2049e7395a436ebb8f7baababd943d3ab912dd3a70754abba910adba203cb1391a8db63a8da575bb38d9f3baa975b93821e7a13aac9e0abb104291bac2eab939155963baf58829bb6f30d8ba76fdbfb92acaf3392fe7b5ba867285ba2a2aefb96d558538c4cac03aef49003aed3b423f63cd813e2fd50f3b2d17ab3ac7fe2a3f4423663ec684053ac2d7d63af766123ff04e463eab0ab03ad51eb83aab66f43eb81b273e882b333a21652f3a0ab5c23e9d95053e939e4339f4c628b9ad4b923e88d1cb3d13636c38b347feb9a26e403ef343843d22135cba63eb09bb0980c13d4c100d3d2c6e3bba80d001bb73e99ab92bd4b93a19fd1e3b2c2ccc3a0000000000000000c5218f3b7a673a3b00000000000000009d52a83b8e1a793b0000000000000000eb0bbc3b457f8b3b00000000000000009dc2a33b537a813b00000000000000005a4faf3bf748903b00000000000000008923813bc0f5ae3b0000000000000000913a5b3be102563b0000000000000000b627d13a181ff43a0000000000000000ed8d61bac2c2dfbaa2dcedba36bab5ba00b49fbaa2d321bb7ac636bbbb0523bbe08e88bbbf1764bb9cc335bb593d17bb5c665cbb6bd03bbbd93b4cbbaf8135bb6e2e87bab6fe29bb6bbc32bb48902cbbc8b399bad1431bbbfba72dbb7ce236bb66c4a8b9c67ad7baa16809bb7c831dbbe8413cba9ccd8fba3736b4ba7f84ecba6c8a49baddeeab3aab0451ba17ee83baf3ac4abad0a989b93db69ebae78013bba5fdd4ba14d350bace2415bb78a76abbfea1c6bac08a68ba8f2839bb11e85bbb82cffdbac28543ba11f232bbdcd879bb38810dbb9b809cba06ce29bb555e64bb2e3d1dbbcd5cb2ba69b230bbab266cbb5f580ebb4bb29dba0d890fbba1dd44bb1edde5ba94828eba934decba72b023bb01af8fba9ecf69ba87d388ba5d98c0ba2b5ba4baa1febe3956a4453a27829d3a724333bb986f8eb9d31f753a4488e43abc6699bb2f004fb93970d23af520323b574f5bbb67b742bb36ce9c3a3c781c3b594959bb87ffc3ba3e4db139cc92b93ac3026bbb6ae300bbd44a9e36d5e2923a0aba50bb7cb600bbe0cd94b9976c5d3a70af29bbb098e6bab01207ba42d7fa391344c5bae3798abaa1da0eba89d8103833ccc03a8cb03c3a1fc8213f9c49c23ed533f53acabaac3ada800e3faebfab3ed1ce1f3beddb183b41f9f43ed26d943e97daea3a5a41e93a0b44cc3efeb4783ebbcd273a31f5213a51a6a23e936b463eeda60139b26df6b8522c743ee139163ee226e8b9a32191ba6b37223efb1ac93d108454ba892000bbe38ca13d62084d3db7b749baf57be7bae59ab2b95a85a83ad487dc3a7937ce3a0000000000000000daa5703b803a483b00000000000000008d33c33beb5f453b000000000000000096fad03b87be5c3b000000000000000085fba53b9d19893b00000000000000007c35ac3b8fe8933b00000000000000005d908b3bdd347e3b00000000000000002774583b71eb5a3b00000000000000004762ca3a2d86f23a00000000000000002df6a5ba4d3cb2ba566606bb2579f3ba72e9e0bab6ed30bb7c113cbb706724bb2776b6baf5c221bbb9e42cbb136423bb313181ba19599eba5ce252bb19ba4fbb3bfbb5baf6ae0bbb0d3319bbf13113bb07eeddbade9c0fbbf14614bb149a20bb0422bdba56dea9baeb16dfba526002bbe7446338d5176bba61faa0bab6e9ebbacb1856ba6b78eababf3939b911d605baf5563dba4611d8b8eed493baf2141ebb7203dfba8f7e5fbae06f22bbf9fb66bbec0900bb733088ba1ffd1ebbac4653bb9eb32fbbd162ddbaf2ac4abbc63d84bbbdb0e9ba765d87baf72a0dbb00d12bbb9c1d03bb0a905aba185990bb8e9742bb8e62f7baaa5d8abad61202bba5552abbc5e3e8ba290298bab764fbbac2601dbbde4b60ba91b117bad48c37baebce5fba363da6ba5f6854387060583aa70eaa3ab75242bba8de46ba9f20263af5afc53a7a4544bb14878ebaca3e3d3ae8d4cf3a9a0286bbf9b10cbb1fb4c1b8a296793aa95c2cbbe22dadba90508039f6e19a3aae0440bb6a73bcbad61d1c3abec0ef3ae18434bbaf39e8ba279bb4b96ee2243acb742ebb85aff6bae10e44ba5ffa5039a3978bba98395dba2e3702ba8c153c3867aeb73a3fd3903a9f5f013f6573013f19455d3b74fb563b2ad4e43ea13de43eaa0adb3a9661cb3a0267c33e2b24c43e73bd203a14e23e3a3ed8a23eb1d6a33ed8f4083a3ff3353a44e5813e78cd823e1ecb1e3a4da6233aa446443ea824473e5defe1b9ed6052ba9c98013e7a0d043ebea187ba9d53d0bacd4d803d298c853d565832bae8b3aabab64301ba2b63983a33b8be3aff3eeb3a00000000000000001037443b3537433b00000000000000000bb08a3b44de733b0000000000000000f5e9cb3beb8f643b000000000000000005b7883b816e6f3b000000000000000077a9c53bedc1723b00000000000000006c457a3b2b1e6c3b0000000000000000ba99353bb7b5383b00000000000000006f3ebe3ad098e13a0000000000000000a0ca8abacda1d0ba3d98dbbabcfda2ba355645ba9eee8dbbba3c18bbaafbf7baf6b7c3ba52be3dbb2ae73bbbdbed29bba1a5ddba8a9233bbf67d3bbb569f31bb0550deba768702bbfb8d1bbbca181dbbc00b33ba8dd101bb2ccf21bb69422dbb230b29ba2344b9ba2c90fdba91150ebbc52902ba286970ba737b8abaffc2bfbad83b46b955ac89b91074e5b9e90659baf95459ba632d99b93daea2ba9771f1ba8ae3a3bac39d33bb04a60bbbd90a38bb2bdb05bb53af90ba9aa22fbb54ff54bbb1ec13bbcc3f99bafdeb40bb18ba6cbbf7280abb402c97ba035726bbbcd94abb0d4d37ba91d0eeba090747bbe1e970bb84e712bbf1d9b9ba2a3117bb2e9a44bb4790d2ba32f17fba8279dcba52c30abb4bc683bafe5c2abaa28148ba1a538ebadfe9d1baddc1a1b8b6ef2a3a007e843ab4c835bbce8529bad9bb773a4cdfd93a25fc5abb6668c7ba5966113a91dfcc3afc6975bbc74004bbb2ab8e394674c93a460059bb665e05bb2535f4b8e227933addc585bb7e4745bbcf06a4ba9017083beeb459bb0c8d28bbb48397baf611ceb886431ebb13aaf7bae3d94eba93082339ac08a5ba0aa68bba8c1634bacfeaedb8ade3973a930bb43a3d21c23e9dd9213f5b4ede3aa0c5163b8f47ab3ed3c50e3f3506b03ae567093b1b11933e492ef53ee4c5743ae7a6d83a3a8f753e00d7cc3eab2aba392191613adfc6433e2e95a33ec3255bbad2fe27ba7ef3113e7681753ef07f8ebabdaea1ba5f1dc13de59e233e83a984baa13db2ba23f63e3d8c47a53d10824abacfa1a1ba07a960ba2765563a917f8b3a5f98ef3a0000000000000000bf16473bc9d2623b00000000000000006a738f3b52e5883b00000000000000004d29a93b3a799e3b00000000000000008e1f9e3bb009933b0000000000000000db7bc03b4468b43b00000000000000000d8fa93b5593a73b0000000000000000b09d393ba51e453b00000000000000003f29a03af3c0c13a0000000000000000d8c418b9f77fb3ba23c7e0baf093c8ba08d8b2ba604e1abb353d2ebbf97423bb84ee34ba36e726bace939dbb81e72cbb29d6e7ba96ac30bb041b3cbbc4f530bba16ae7ba9bfff4ba3def0ebbae7410bb36c031baf8fddeba77d30dbb408e15bb5130ba3ae8065abbda2d4dbbd73f56bbcb5226bab9f63abad67791ba68d5c3ba088a3d3923fccdb90a924bba31278dba1b4995baf95120ba5e49c4baaa39e6bac045efba626d71baa9f621bbeb3f3abbedbe02bb032952bb64233bba2da288ba19d511bb5d4ab9ba161642bb5fd364bbed9a05bbfde296ba0f4219bbdc5436bbad4613bb4e2fb5ba22a230bb77b64fbb4072a7ba77222dba83ead2ba1926eaba1c85dbbab304a3babf7fdcba0fd908bb1e8c38bae3e411bacbd5a4ba6afb6cbad79402bbfa7800baef99003a08ea613a3a5c58bbf51aafba8a67083a9baeb33a802451bb5f33f1bac5fc9d39dbce4d3bf0d472bb694b20bb7a2e0e394882ad3ae35145bb7d030ebb976f47b9395b853ada9666bb7ff431bb663022ba49de393a435c07bb335bbfbaa2c7e7b8cf3f873a1b901ebb2e350dbb91b880bac9da1e3866ce8abab5658dbaaf0b19ba1774df37bcf6623a6480ee3a6f92813e773a423fcb71af3a8c75323b1115653e48252b3f61453a3afdf1093bcc3d443e1e73123f6d14403a95e6073be58c243e3727f53ebab89a398208803ad9ea023e6968c33e2922cfb996fd4539c663c43d021e933edacc3fb9744461398e6a823dd43b443ef67791ba7ac0a3ba335ffa3c5f6cc43d8d394fba4df083ba8fb68cba31942e3af73a833a342a043b00000000000000004ddb453b7db96f3b0000000000000000daa77f3ba8a37c3b0000000000000000e506ad3b7d95a23b0000000000000000474c993b7c478b3b00000000000000002376a53b3870933b00000000000000004281873bb697843b00000000000000003d8d403b9a743c3b0000000000000000305aca3a6ea5cd3a000000000000000010721f3a9286dfb907d840bba01630bb58b12bbb22bf8abbd2c701bbe8171bbb4d3db7bad1c115bb774d2dbb3a2729bb7ccfedbab4821ebbaa6c2fbbf3d733bbe6a0b3badbca11bbb70e19bb7b011fbbcd5475ba51f5f7ba50470abb94540bbbc4571437b6dcc5ba3cf4debaf8de00bb99f8f2b8219b45ba92288ebab068aabae1682cbac9d484b9a9bbcfb9fa2919ba5fe10fbb20cebcba3af0f6b972720dbaaa8bbbba1f429fb965c4bfbacdc4dabac42715bbf280b1baa86d33bb56c54fbbce6c1dbb438bcaba9a773bbbe65957bba5df0dbbfe43b9ba4d4834bb7b5139bb92d104bbcab9a1babf3730bbd3b246bbb1bc03bbbc39b6bac38e19bb6ec22abbd85bc4ba36b694ba6254e6badd5c06bb1fce66ba480e26ba635174ba47c38bba2c3e97ba5309c4ba8da257b75917133a4c1e21bbd8da33bb197be63a1833493a9ae479bb806531bba0471a38c952853a08f37bbb2c0c3dbb3c9e07b97d01983a9e4150bb190824bb221db1b927e9833a37d664bbe7e645bb074566ba12f11f3a5a8245bb150531bba9c490bae96b86390df518bb913b14bb49568dbad91bfcb877e1aeba7895afbafab948ba448e95b9f88b223af3950f3b8a83023eebb5623f18bb373ba7f79e3ba40be83d538b473f2760713ac6e4333b345ec83dd7152b3f84ec2b3a7161183b39bfa73d17a60e3fe114b738764aae3ae995853d76a9e33e09e5e2b9e7449839da72463dbdeaaa3e35e68ebaa9540cba08e5003dd784633e0755b5ba90ba93bacdef6c3c2f6ae33db4a39aba3e7496baa692d2badcad883903d0c53a6c8d263b0000000000000000c0bd593b9935643b00000000000000007e419c3bad17973b0000000000000000c639b83bc1e6a93b000000000000000064f6aa3b0d5e9b3b0000000000000000fc22ad3b4b9b9c3b00000000000000002867893b63b0773b0000000000000000d7dd493be1a3313b00000000000000000068c33a00deb33a000000000000000000000000000000000000000000000000322779bab53de4ba948b13bb495618bbb270a7bacbdfeeba474d04bb810a08bb3958f2bad201fcba5a5110bbe64410bb6b3f68ba7986c7baa7d5ebba7b3ef0ba7c56f4baf9c430bb77a58cba6335a2ba604b0cb9ff1987b9fbdac5b9ca5872bac9541d39a94932baf76d7bba4acda2ba0000000000000000000000000000000000000000000000000000000000000000c94c07bbde60aabafa7008bb05681bbb0b8df9ba1bb18cbaa3490ebb920620bbacf0ffba8f7a9ebacab71ebb07ff28bb7fe4e7baece0afbaa63500bb804f0ebb3d56a6ba182842badf8f5ebbb44975bb192f2dbabeb41dbb332794ba27ab98ba2372c3ba05d988ba5a54cdba9b13e6ba0000000000000000000000000000000000000000000000000000000000000000157154bbea3715bb2dc9ef38effb683a410244bb56911dbbeafd48b8445c643a8df14abb72852dbb1de0cdb9d949653a021822bb373113bb5c4ad9b988ee313a57f687bbd7c905bb6348b3b916da603a9385e0ba115255bbe1380cbb00f8bab9317a07bb0e1c0bbbb5ee98ba02d3ecb8000000000000000000000000000000000000000000000000000000000000803f1120a43a319c583b2bab5c3bde15633f5037413a8230253bbfc14a3b827a423f0bc4d3392e22f73a0fb8393be710223f8e6c8938b7a9943a247e023b5163013f656931397aef5a3a0c11da3a5a4cc23eba48d2ba42e7e5ba4633e1b968ed803e24d0b1ba70618eba9b789cba38cf003e000000000000000000000000000000000000000000000000000000000000000036cc743b7210693b0000000000000000f2738d3b0bdc7a3b000000000000000084719f3b264c8d3b0000000000000000e1818c3b2ebd753b00000000000000005ff4973b37a0813b00000000000000009c38743b1afb713b00000000000000003d1c2f3b6e1d1c3b00000000000000000000000000000000000000000000000000000000000000000000000000000000384d6fbb6902473cb551893c3ab4153ca9238bba593e4c3c63b9863cb132223ca681733a77763d3ce70a573c3be6083c9fbb013b31ac113c3452433ce6f2ee3bb456363a026fb53b04e5263cecc8d93be134a1ba82727f3b7cf8113cb11ea33bfd738dba2f6abe39b044d43bd959d43a00000000000000000000000000000000000000000000000000000000000000003bc12b3be09d62ba9519aa3bdf41fcbc766fa53b48d048bacda0f63a360d0bbd4946843b5da6733aa71543ba1bf310bde2e7713b909eaa3a6aa101bb2a31fabc6c3d703ba6a563ba3f0d1b39cc6da6bcebca113bba3e7238aa76c63a25b313bc1423e4392e7153ba89de2f3a189d0e3b00000000000000000000000000000000000000000000000000000000000000006e6704be2b48fabcbf646cbb63f19f3a030900beeeb218bd21e5b3bbaf0e8aba73fae2bd86911ebd2b99b8bbc67548bbcbc1bebd4fbd0cbdcf77bfbbed0adabae6c198bd095cebbc59e350bb3bc5d5ba4fda5cbd8e8b92bcbccd94ba807395b9cb33e6bccf0ac1bbdba8253b46bf2d3a0000000000000000000000000000000000000000000000000000803f0000000038223f3c1da592bdd8d79d3fa2313bbd95cb013c6c472dbd9434833f533640bc72cb573bb418d1bcfa35543f5fdf173c19e5c53a0d1c9abcc509213fc5a08b3cdc25533a4b499fbc9c14e03e477b6b3c5d2d58b9e509a8bc807c803ed9eede3bca421b3b77ded6bcce6f963d44afcdbb00000000000000000000000000000000000000000000000000000000000000002163163c1abb11bb00000000000000003013f43bab510d3a00000000000000003772d43b0ac9d13a0000000000000000a4ad473bd5b9113b0000000000000000f002d5b94db31d3b0000000000000000f51863bb3353283b0000000000000000bfe3d4bba81e053b0000000000000000000000000000000000000000000000002979a0bbbc54f93b67c2043c7f14443b58190cbc714c593c993ab33c2a9b393c4d3b8fbbb3667f3c8cafb63c9a89573c60ba5fba47e9663cec289e3c2583503cf05ab2390ffe383c18b97a3c58dd2f3c707c36ba1805013c3a346e3cd4340f3c3d4af4bab04e763b3a3d393c34d9c43bfebe37bb5030d4b90ae4b83b6a64233b3b03ddba4adf1bbb85e2ef3a8ae9edba392ee43a22c3acba8cdc2c3c640fbbbc6233273b074515bb46df703cf0dfbfbc2113ae3b48cd88b9d527143c7eb107bd98e2aa3b4472793aa23aa73ba9980dbd7831a03b5d21a739f75a413b25c0e8bcf150a33b49f5e0b9eac4553beb608fbc0678fa3aade833ba806c793b9afb99bb4852d1391a1fb4baeb8dabb82094ec3b0a8ff4b96273cdb94eb7393a207f453c7e5e96bd012b2abc7f8aefbb23cb6f3bd99f0abeb86e04bd1798d0bb469b943b334812befe8d3fbd335538bce5c49cb96b8204bec04746bde55c39bcfde90aba06cfd6bde97c30bd78b621bc07109cba0934b1bdb8ec11bd7c32cfbb00ff8cba4e4b74bd94bfbcbc373ebebad3ea7c3ad159cdbce260fcbb4470313be9dcc33989e2d4ba388aa23bedd04e3bfe6cb53aa39e853ca02f06be7c6c9d3fd6779a3dce2ca53cd22f11be84a9963fc8d6943d81a5383cdfb9ccbd50ee803fef66cb3dc5f9ef3bfa758ebd5313503f6195cb3d6a81653b465157bd82101b3f4129bc3d5622673b194943bdf6c4d63effee933dd709b83b2b8430bdf80c6f3ea95e363dc88e3f3c588103bd822b7c3d3c51823c8bf8173cd356ffbc15a874bd943126bca8b0a2bc8080c7390000000000000000889997bce5c9e13900000000000000007ff836bc3dc89d3a0000000000000000b6622ebc2c6e153b000000000000000036a118bcc407513b0000000000000000543e52bc4e0c3a3b000000000000000048d682bcd72e4d3b000000000000000084cc5ebcb3c8c33b00000000000000004dd556bcb9b3613b0000000000000000e2db65bbdd21d73b6898af3b9aa7663ba0f9b1bb6879473c92e4703c53891e3c36cb41bacc103d3cf9b2613ce6f9303cf88dfeb978f33d3c1dfd903caa5f4f3c4a8cbfb8b220113cf1bd443ca645273c1b284aba68b4dc3b81304b3c559a0e3c5d5c2abb32cf793b006f193c0f27a73b721a15bbd010f83830f9813b2dbe463b8bf104bb54e111bb13df053b8a67e8b8f522dc3a2de48db90a263a3c4eccbcbccbce853bcda566b9fed7563cf38debbc984d933b388d913a8981d13b14b904bd20aebf3b7a2b5e3a7117be3bab7ff6bccf87913b7e81023bdd406a3b370fbebcf1ec813b8a6793394355ae3b68a96dbc06d1083bd6da0b3a660f923b16fa8dbbf7b9bb3aaf416eba6385003b8640e13b52cf56bac9d8cfbad960143bb91e2a3c6a284abd78d808bc2ff668bc40c5913be6b9dabd81ca17bd37e490bcc41d933b425fd8bd464f40bdacf788bc836f26390925eabd77a663bd40fc92bc2fc118bab7f7b4bd1d4243bd4af565bc36efd8bae40f9bbd7ea527bd9c6d1dbc4e7530b9b7d24abd4054debc996a97bbffa24c3afaf7c7bc628449bc367001bb876b633bd88b03bbf285173be1ee583b65961e3b673e703c25f204be10dc833f0abd843e3ea3a53c453417be708a823f0ca1823e7125333cee85bbbdb237563fbec37e3ee2b71a3cb750b2bd669d363ff747623e5fa5de3bf8a384bd5810073fdd4f393e7a2ade3b0d0a7dbd6883bd3e22620e3eb683a13b5ae34abd2c99593e055cb53d176c453c6f0632bd95b0823d32931f3de408203c04cafcbcd4851ebd354255bb38423bbdb0b82f3b0000000000000000911e41bdd538b53b00000000000000003886fbbc79ab8b3b0000000000000000058adfbc2e8b953b0000000000000000af7ca6bcc6fc9e3b0000000000000000092ad2bca4139a3b00000000000000004121b4bcffe3503b0000000000000000ed7dcabc8a06af3b0000000000000000ea5997bc8fe1743b0000000000000000b7c7c7b9a5cfa23ba877163b4b684c3bd3800dbbf6f8213c3dd4313c6078103caad4d8ba7aa1433cb0ba773ca6e1553c5f8cb2b9955f243c71356e3cc8e1453ce35a82383cc91c3c967f533ccef3233ce4e9aeb9d498bc3b8bbd233c6d751f3c870ceeba9aae503b346a193cafb7d43b022720bbae04f03980138a3bdff6663baf9dc6bac0e708bb04cff13ab177e9b90ec4b33a8b7cae3aef0fe83bae4fcabc06f7cb3b0f79033a64c5373c7ffcf0bc20d9c93bd96dc33af825ff3b8570f3bc61e7cc3baa9b2e3b98a3d83b0b83d3bcbfdcac3b7a42133b870d663b9539b0bc59a7c03bd63c2b3a6246ad3bcab54cbc1f49363b3a3d093939c18f3b2c7039bbc9777b3a346b5fba6434593be841ac3be9b0c0b9efa139ba9770683b923e033cde0917bd46dbcdbb0351a1bcfb96353b60b3aebd580e30bdf4a0c7bcacba5e3bec1ed0bd2dfd7dbd77a6cbbc487b543aab80c5bd0ac480bd529cb5bc815abbbaf1b9a8bd435968bdecaaa0bc078a96bad2a586bd2f5c44bdb20d72bc6ad9143ae0ad3ebd680404bd9f8304bc99deea3a48d2afbc025d83bceff6e6b9c913373bee7f7cba0d89fbb95d3a5f3be3664c3ba3a2273c411fdbbd0c74563fadfbe63e0d7a843c141704bebf31543f6d48e53e385b483cea0ad3bde0d6383f87a7d13e8cb0043c206ca9bd1dc5153f22e5b33ec5bfb03b51aa89bd8fb0e33ecd39913e01d2c43b395976bdcbd99d3e36b4563e31b2f23b6d515abd02ac333e83d4073e15a6363c003f38bda0ea683d75c0713df5bed83baf5202bd06eef0bcf14002bba26f89bd0540833b000000000000000031ae98bd11da113c0000000000000000047667bd15b6103c0000000000000000a40232bd9773e13b0000000000000000457208bd09fcaa3b0000000000000000493007bd9b96a93b00000000000000007ee705bd0617a03b000000000000000009bff7bc83629b3b0000000000000000b88dd0bcf52d1b3b00000000000000009424a1b9dd827c3bb9ae583b2f66693b6188f1b9efc9f23b01be203cde59073c2612b9b9658a0a3ca2a94f3c49d1403cf218423ad04a1a3cf88f583c9bcc433c7f5b7a3ab49bbd3b9805f93ba3aaf33b4ea1eb3a4668323bd8294e3c27cb043c483392baab0d273b41bbd53b1789d43b6afa03bb98c3333a78e0483b4fa1333b278c9dbaba5da5baad74a03a170f043a9858d63a77b5cd3acbc4da3bb668afbc98cacc3bc194e63a2f65f63b159fc7bc8878dd3bd7e9053b701b9c3b171fbebc8443e63bfc672a3bdd9c773b5d6fb5bc8c9c843bf7a61d3bef9ff13ab9548dbce2bb963b7c210d3ba09e0b3b5a1c00bc7031503b1aa9ed3934d49b3b3c9a4cbb3918ba3aa2680a39c89a653b8b7fac3b9e2b30ba1b2e68ba19d1803be5abc53bb1ed01bd26d646bcc043babce3da453b75288ebde58f50bd49d6f1bc5ade1e3be658a5bdd2028bbd460de9bca63ff3b9fdc5aabdc8dd94bd3c4adfbcb961e8bad6ff71bdf4e651bd8312a1bc10ad39bb625b66bdfae96dbd894964bc7b422dbbb92112bda2cd14bdfd2c23bc4fe20d3b9ea796bc175d92bcbdb202bb71762c3b3c2c8aba8c5fa7bacfc93a3b8704743b886aec3be07fb5bd02d0243fe83e253f75f6423c5e2fcebdc47f203f7074233f0e840e3cfcf59dbdee250a3f5b76103fa6f8b63bbc728dbdbd0be73ebf25f73e3eb8553b0caa35bdd713a83e82bdb63e065ddf3a306854bdf970753eb68f8e3e25b1a53b9cfa35bd0c46093e19852f3ed591f23bccfa1fbd4917333ddc2b9a3df17f9c3bc394e3bc6cffccbc2f93f5ba8356b4bd2aadfe3b000000000000000070cec2bdcd94563c0000000000000000cffe88bda897203c0000000000000000501c5ebd272c203c0000000000000000b2a3eebc02caa43b0000000000000000d5131abdd62adc3b0000000000000000215008bdacff653b0000000000000000d1e90abde298813b000000000000000022aad9bc9d91d73a0000000000000000579587b92725273b192d063b7b40a83b1cac0dbb42badc3b7156283c18e03f3cf18914bbebb3083c44bc653cad006b3c88869cba69b5ee3be102643cd4ca683c754c343981c1e03b71df3a3cce02423c6d4bcbba4e92b93b1d80063cb8c4343c5cb0f7ba5fb3203b0756ef3bf43f063cafa032bb60451c3ad9cc3d3b0129a63bc5ad33bacf1460ba4322cdb9a3c0923ae95c083be906543aaeb8953b2ee86bbc2d88d03b77f7193bed69f73b610c8cbce77c033cb8cf363b27bdbd3b602b86bc0168063cdb9c623bee4a883ba49f61bcbb36e53b45f24e3b237f463bed8953bcd5adcc3bb122c63a910f903b66d0e2bb3a586a3b37bd3b3a7c7d8a3b75349fba279f8f3a5cae23ba1366793b6a286b3b72ad1fbaad7459ba430d463b74afa23bde53e7bcb041abbc1c32c3bcbe16663b86de79bd42ed8dbd42f709bdb3c38e3b869099bd204cb6bd451b07bd002dbfb9454693bd6b67b4bdb17f07bd9a43c4ba142781bd6f1a9cbd3cb3e1bce4d316bb3f7547bdf32d7fbdb134a6bc1f1635bad32d05bd01d234bd77b13ebc8ba7e53abb7858bce02fb2bc44c40abbd2f55e3b4238be3a16ca36bb4c2b793b6223723bb377bb3b4e6488bd13a5e63edd90573f5459163cb857a3bd6637de3e9ce3563ff06bdd3b1b4084bd9ff2c33ed5c73d3f11d49d3b26775fbd6146a23e073a1c3f110c4b3b8e863fbdf5d0793e0833f33e4145a23b56bb2ebd3bad2b3e1b6fad3e8a08903b076216bdd4dbbb3dd1db533ef1ecea3bfbc0f4bc5ad5c83c361ead3d6f77a73b7d6dabbc7177c8bc53a015bc795bdebd94cc263c000000000000000065b2f9bdaf678c3c0000000000000000adc9b3bd9fdd583c00000000000000008b1781bd9cca393c0000000000000000019f3abd3b54073c0000000000000000372c23bd6cc4ce3b0000000000000000961f17bd20058b3b0000000000000000de9e19bde1f5cd3b0000000000000000ed2cdbbc16169c3900000000000000008f6eadb966d8ac39fddf803bcf8dbe3b78fe44bbdad73a3bad133b3cca066d3c325cabbadb209e3bd8c5643cf18f743c9b19fbba92b7ae3b96126a3c872f843c0b5833ba121f9c3b1d1a243c34364e3c4418bbbab01e603b4c7c113c0611593cef4c83ba30d7d23a67d0b03b99e9023c404eabba4ee7b13991d8f73a5912aa3bb09a7abaf1dea2bad15591ba9489e23ab84b683bc71a023a547a803b9304cdbb06d6173c9e56cf38dea3c63b3263d0bb9e1e0f3c514fa03a3c26223bce4e16bcad33233c2565463b8ff9613b7e60fabb61b5db3b61d9273b8bb4df3a93bbc5bb4922b63b342af63a15ea363bc85a25bbafc6933bc7d0f33858c6263b9b7e0e3a21bc303af82858ba37beec3abd8b1d3b47ecbfba17a8d4bac469e73ab9ac6d3b4139bbbc5a7415bd0120babc0113bf3b8fc54fbd8987c1bd2cd105bd97a7a73bdbd378bd2964cabd10f604bdc1eeb3ba69a57fbdae1dd8bdf9510cbdd49429bb52f14dbd52f3aabdeb4fe8bca8f50abb59b426bdc8f998bd7197b5bc1d76c3b9bcd1cabc6ca344bd51ba4bbc8d50ae3ad8a4f0bb9715d0bc6bdbb6ba205f613bfd5eaf3b5775aaba470eba3bd069813ba86d153bf9753abd7e30833edd00843f5d22b53be92950bd022c753eaff0833f1904553bd36f13bd5736663e97935a3f33ce163bc65b11bd8c8b3d3e73043c3fd0fb023b7294f5bc0d38123edf610c3f6af52e3b946bf2bcb80cc83d2885ca3e736a0a3ba05dc9bce2aa533d087d6f3e649fb03b7b4895bc53b8c63b7d54af3d351f8b3bc18d3bbcf4b1c9bc1fe2c6bc101204be1c485a3c0000000000000000c2a50ebec173af3c0000000000000000caaca1bd45b3793c000000000000000031e985bdb8ec483c0000000000000000bf4823bd0b0e053c0000000000000000474314bd50d6d83b00000000000000001920e3bc5962213b00000000000000000bc305bd9826c93b0000000000000000e710ddbc5e2d573b000000000000000089efeabad34c8dbaac86ae3b4d5c0e3c11db92bb935087ba2b27533ca55aad3c62b282bb37c5253bb111713cc6b0b83c696810bb6be8a13b44ae853c9ab5983cfe9815bb76ca733b184c393c9680773c252803bb64d8233bb26f173cb80a663cd00a04bb6300013a085eac3bf052383c975664ba437858bae6c552397cb4c83b9e64e1b69475fbb9518739bb35d80b3bc7eaaa3bf654ebba1a98783b4b3428b74c3b3d3cda8eefbaa5f3853b8b23c83b40975e3cee7db93a2e542f3b6765cc3a767b433ce5e3193bdeceda3ab00b2ebb9ea0263c1ff03b3b9c80233b0080a8ba9510053c669c073ba2b8ee3a2c9d213a9261a53be4d85c390ebe293b16c4023b6239873a0d9505bba4d6c0380cb1c63a0668b8ba1704ccbaf795ba37c8ad003bc48cbfbc9e9688bdf0afaebc2412cc3b48bb16bd109503beec5ef6bc9f24de3b2f3f50bdd4840ebe5da81fbd79d28c39f9385abd512000be419e24bd8d7c17bb6f1a31bddd34d1bd2b0c0cbd08f068bb05cfffbcb855adbd3e01d2bc629889ba4e0980bcd12172bd546773bc88ee8c3a7248c9b80967d3bc380a8eb96f82673bebb41d3c001825bbd8d5ea3bc4f76a3b6ca82e3a86879bbc43d9983d47b09d3f1e12a6b910709cbcfe6d6c3d0f6c973f9299263add787dbcee25903d9a81823fdd57843ab9c184bcb5288a3dfde2523f75ac1abbc3cf5cbc9c535f3de0311e3f2b39e13afba272bc2741023dd471dc3eba14a53a1d1b47bca6e00b3c11d37c3ef22f7e3b70cc98bb0b38d8bbf585953ddeec293b78a32bbb0a8de0bc640e52bd1a4c07be337b863c000000000000000024ea06be87e2a13c00000000000000004f0da3bda94c683c00000000000000009cdd3dbd3d873b3c0000000000000000a904bebcfb03e03b00000000000000000271a7bc1af35e3b0000000000000000f3a29fbc4bc88b3b0000000000000000b5debdbc486ea33b000000000000000075b0c6bc95a2dd3a00000000000000000000000000000000000000000000000094d415bb70029338a7f34f3c1d30893c6ca836bb1e86133bec66703c8f6d833cee10a8ba1507263b6a62463c3dcf623cabfbffb90ee9803bbf60243cf202383c269c92ba25e52e3b3d5eec3b93581f3ca02dc4babb04a63ad92a6f3b947a003ca87f62ba5aa5c6b8d5384e3a4839cc3b00000000000000000000000000000000000000000000000000000000000000001a90183c4631ee38ee9e3d3ab9078b3bcceb1d3caabafe3aa372363aaab81f3b40e30e3c39ad323b9b4843b9be1e53b958e7c63bbf1d673b548e4fbae8601eba8e6dde3b7017e63a5f6c753a9ad05c39b584b73bd210da3921b9b3399f81f33ad446f03afb6cb6b9bb6ab839715a133b0000000000000000000000000000000000000000000000000000000000000000daf811bdcd1504be3866f9bcec435c38ce2a1bbdd7ae01bead880fbd431881bbf4ad25bd5431e2bd201017bd02cccbbbaf870abd3b50bfbd30a306bdced9d1bb8847c3bc975f9abd97fedabcf1b181bb1e5c2fbcf69459bd9eda89bcc9b19eba76b7b23aec92edbc503a9abb21d7b63a000000000000000000000000000000000000000000000000000000000000803f86510abba5930a3cb6f469bdbd029e3ffb5b07bb115b703bcd5205bd0d76833ffda4eab91eceb23a924e74bcce1c543f8ba70ebaa9f73dba191357bcb4a6213fcaeb3abaea036dbb220978bc408ce13e1c8b1f3a9ee001bb1e21a2bce372813e8fcb273ab0b5173abd53e3bcf01d983d0000000000000000000000000000000000000000000000000000000000000000ccc97cbd544c5e3c000000000000000023b8bebc4d8f3d3c00000000000000007a9989baac38183c0000000000000000ee3aff3b2139eb3b00000000000000006224003c4d248c3b00000000000000002d84d23a4382953a00000000000000002af311bcf95c65ba0000000000000000000000000000000000000000000000000000000000000000000000000000000022952fbb2ae82e3cc1544d3c2c45ea3b6a7777babe4a3a3c0a3d663c1fd7063c2863a03a22b72b3c3862523c3840f93b428a9c3a467a1f3cdd95313c0857ed3b4147173a9dece63be0d41a3c9238d83bf6f4bdba61ac943b07beef3bdb45ba3b7e9006bb8ea9b03ace5bc23b56800d3b00000000000000000000000000000000000000000000000000000000000000009631b83bcbd1623a77e7c43bc96b2abd3311d23b0540163b66a7483b082c29bd9318b73b2f42003b8beaa1bac45320bdfae6b03b646b223bfcfacfbad0450abd3dda9d3bbc16e33adbc4ca3a98c0c3bc98af433b853e7f3a3b81813b652f39bc8f3f463b81c647bad05ba43bea330e3a0000000000000000000000000000000000000000000000000000000000000000c039c9bde5bf12bd983854bc104340bb1f18ccbd1a9929bd227e79bc4889d7bbcb55bebd6a452cbd00cf8cbc3ba702bce72ba5bd94f81ebd953f7fbc6e0500bc252588bd9d2c09bd62e33dbc6222d6bb6ee446bd9b3fb8bc9c92f5bbbb276dbb11ade9bc59e841bcab793aba6d0819ba0000000000000000000000000000000000000000000000000000803f000000005ba56d3b4d7630bd3712953fa524bfbb6dcc11bb5b32d9bc0e8c783f4760a43c43bdafbbaa5b8fbc6dbb493f4676173d48b803bc367a98bc715c1b3f28f8223dc65336bc87f4c5bcd5acdc3e3481063d4955e7bbeaf0f8bc12be843eebf4993c18ad31bb8fd926bd30f0c63d8e6e5cba00000000000000000000000000000000000000000000000000000000000000003cf93d3c3f085a3b0000000000000000c436943c2780e93b0000000000000000edd4af3c6abf2b3c00000000000000005a449b3c80983b3c0000000000000000a55b523c092d253c000000000000000056bf873b871cf63b00000000000000006890bcbb8b2a423b000000000000000000000000000000000000000000000000896838bbcd3dc23b8bff9f3b9fba2a3bed25febb6bcd433c9f657f3cc0ca2d3c28b0a6bba54f693cc38a973c8901443c45ec1fbb586d563c571e883c4856543c70971f3aae5b033c94cb693c6d93343c156741bb5360f33b74f2663c4bd6133c64c46bbbc171633bace51b3ca78cf43b634b50bb961cc9ba69c6bf3bf975173be255ffbaae4814bbdeb2063b6be027bada35f73aa12e533a8c46313c5fc9febca654db3bfb5e663a86c7913cd4ce13bd3b5a0c3cebdeb43ae1a7383c1a522bbd06e5003cfa6c773bc10cfe3b13d823bdbc2fc33bdcff4f3b5a2e843baf93f7bc429ecc3b54e4113b9973023c585da4bc0864913b8191723af00e153c8cbfd3bbc8faad3a372179baa2b8d23b6015dd3b03f063b935b756ba0af19c3b0a2d283c5d5f64bd257d51bc182f3fbc82d81d3be259d8bdbe0a19bde12e98bc4c1680ba7b37eebd38d24dbde9e2babc820bd3bb53afdcbd0dac57bd1632bfbcd54f19bc1823b8bdc3443cbdfd8aafbcbcc819bc714d9bbd6ead22bd7d9f8abc8ed7dbbbfbb657bd3800e7bc4cd60fbc3bf963bb5762d1bce2c724bc3ae12abadb6eb33a22016fbb15fe073b5f5d6e3b0e022b3bef24cf3bd0d0b4bdffaa943fe8f1e03df5a4c03b2f38cabd880c8d3fda3ae73d0c6d12baea688dbdae84703fd483083e64f8cabbcd1c5abd99e4413fecbe053e51d2ecbb7a3f37bd0921123f7daee83d38b4f6bbde554dbd4615cf3e2ac4b73d17e58bbb9c4655bd0815703ea1cd6b3df9e0d83b493345bdee09a03d2a58ac3c53c1d23b6f4b28bd5cca30bde7830bbca62491bc768b5cba0000000000000000277d37bc4c2e053b0000000000000000df4d483bfee5f93b0000000000000000ada61c3c4750203c00000000000000000ab84a3c06c1453c000000000000000040721a3be73f183c0000000000000000dda6bebb14f9e93b000000000000000024b980bc7983b03b00000000000000006ba886bc7c69743a00000000000000009e86acbad9d5ab3b388d463b34b51c3b6a6d95bb36352f3c827f423ce2fd083c7ae6a1baa8c72d3c9c6e4a3c062a0f3c854b1ebb6bdf3e3cad5b703ce2d1503cdcf212ba0426113c51dc423c46060f3c16c105bb8147ce3b8b17363c31b0193c0baf6abbae439a3bee3d343c3e51883b253547bb6df147ba29e2a53bf3222c3bfe640cbba0cefbba51f0dd3aeba608babd2c443b8a987d3a0f052e3c6731ebbc8af5c43bbee2183bcb006f3cf01f1cbdf7eccd3b828b3c3b02d8da3beef71abd3229f03bfa18783bb3670f3c16e40ebd0f4dd03be51f543bbfffa73befd3e2bc287fd93bdf9e3f3b6ca50a3c32a182bc9d3e683b83b6393ad119303c4de04bbcd46f1e3ba7d58a39d46cdc3baf89c23b244969ba9fe332ba56aeac3ba90c183c2ed424bdbf8ef7bb0e6986bc5955b33ab869b2bda4af14bd4c6ad3bc1ea90fbb6780b4bd26783fbdfc90c1bcd7d2e3bb6150c6bd2aa964bd0992e4bc949837bcbc0d9fbd225341bd2069babc012421bc18aa8bbdb75433bdb1ea9ebca8140dbc2a903dbd6033f8bc67d61dbc79f665bb4c5dc4bc56486bbc241d5fbb21ff5db941e532bbb4c5753a4be9353b37716b3b3ef8d93b2129b8bd6b107a3fab8a8d3efe9fda3b70f9d8bdccf3733f71e58e3eec689538597183bdbbfb463f0e73873e798492bbc1658bbd45ec293fe3b8763ec583cfbb0df25abd24acfc3e0e60483e0cc8d7bb061979bda8a1b43ead321d3ed15c91bb495254bd728f593ea00fca3d207ada3b3aee5cbd9812943da9df353d9b2c023cd2821abdaf7efbbca898dbbabc8812bd1de8b4390000000000000000d7f6efbc3878dd3b000000000000000058f40dbc63cf1b3c0000000000000000444b85ba892e473c0000000000000000de033f3b7522573c0000000000000000f75182bb329b323c0000000000000000ec4104bc90ac023c0000000000000000a1a9a5bc16acaa3b00000000000000000b26a4bc32d688b90000000000000000cb0294392a89953be672a03a162ba83a496444bbf0b5303c3397163c9561f33bba6613bb86d4303cb617623cd48f343cf871dcba20f9213c3efe683c53133f3cc00c8eb9a8580d3cffd6543c7aa8293ce7d167bb58d5cb3b60e43f3cc100193cc07436bb19cd163b07730a3c641fea3b3ee135bb2b9218ba1249a83be93b523bbe7cfcba67aad2ba8e3aa63a86f613b91243323b33d2913a2882ed3b4bdce6bcf4e1f13b07194c3bd5a4413c15ad0fbdc267f33bda1da53ba084193c40230abdf645083c1dbc853b3c5d003c6101f3bcae51f43b1166753b409ed03b4d7bcabcb6c8ca3ba76b323ba2f1113caf9b60bcd5eda43bd67b2b3b4573163cb02b5bbb94fa073b48a59eb92ba9043c34e6843bd18d9839865583b9891bc73b38eaf73ba70e09bdc7a0c6bb974b97bc8ddfef37a1ce99bd6f311fbd0c23febce2719dbb51bfb8bd9fab6cbdd0b901bd722029bc7be9b2bd2ea977bd5659fcbc0a1e38bce87d9bbd5dc165bda451eabc31e945bc00f778bde93545bdc684aebc765307bc40f72fbd17ee0ebdecd96dbc13bdaebb2b6caabc6eb78abca7b48fbb3ff59f393e1c3ebb020e96bacfad073b443ee73a7fbd983b4ae699bd88eb4c3fee63e73ee9b7b43b6ec5c1bdff68473f0513e73e0a57903946a89dbd7d572c3f1e43d33e706964bb07ac88bd3bd00b3fc4a4b53e8f5dc9bb008270bdfbf5d43e89eb933e8a13afbba22c75bd7094943e9a9e5d3e997836bba7cf6dbd55bc2c3ea442103ecf1ea53b7c0754bd0f8d6b3d0070863d2b1c973bd22414bde958d8bc4681103b796244bdde11043b0000000000000000231d41bd9581253c0000000000000000a17ec3bc92dc563c000000000000000015ec3bbcb43d6a3c0000000000000000cf8195bb2283743c00000000000000004b3e0bbc442f3e3c0000000000000000af4083bcfd84013c000000000000000068e5bbbc4c01883b0000000000000000a17ea8bce262ceba0000000000000000ad450d3a914e8d3b0bfcad3a3a8ff93aa58725bbaf830f3cba75123cb240ef3b790e9dbae53e0f3cd6ef413c5d5a263c1e4dcaba83c41a3c27c1583cf2b8493c7ff17a3a2463d33bacd80d3c26fedb3beddee5baabe8c03bfed6323cfbe0123c51611fbbda9f143b5a3f003c0a65a83b8e204fbb654016ba79438c3bbf5a593b7490dfba70facbba00b93a3a57f5d03a39bf363b1b38f83a1b3cc93bd7c4c9bce0d9cf3bbc4e8d3be67f263c561bf2bc7ebef93bc59b743b8fccc33b3b5ee3bc66a10d3c71b6a83b644ae03b1c32c6bc61b89f3b94e1353b552f403a6503a6bc169fed3ba8988c3bbd2d083cd9534abc47b9913b745f953aea77fc3b100615bb55fef73a0448893ab003093c8ee8a23bd58a01ba031db3b9eb8cc83bc3b2e43b884803bd16110fbc063ca5bc226ddcba397887bdb96d33bded5c05bd93c6bfbb348999bdbc0b76bda22e0abd76582fbc2eaaa3bd4d1c8bbda09e0fbdf4e762bc6fc164bdecaa50bd1f2ed2bcc2c540bc796962bd5fea5bbdc1dbd0bc0c9e30bc5dca10bd248f12bdc4ee7bbc950ca6bb51738cbc7610a1bcd893b0bb94cbddb97de710bb445136bb60001a3bbf6f193b7736393b779f7ebde5f81f3fcec0203f061f243b70d19abda786193fc0751e3fb9d5acba65db71bd0553033fa2910b3f976397bb870770bd5326da3e6739f13eb4aac8bb19f21fbdc3569f3e5699b43e965be6bb45b05cbd6897663e2dcd8e3e89ba84bbb69444bd967e013e075b333e353ed63a533638bdc8bf1f3de258a83da662533bb32ffebc45f7dbbcfdbfe43a97447abd96b2553b0000000000000000748e6dbdbca73d3c00000000000000004758ebbc7398753c0000000000000000ac3383bc0438883c00000000000000005ea11dba76ec773c0000000000000000fa6d15bc3412433c0000000000000000023556bc1e9bf73b000000000000000096bbbbbc3e21433b0000000000000000764db5bcf39d57bb0000000000000000b30288b971064f3b89d0af3a80e9043bfc583fbbf789e43b6ff11b3c8b16143ce5af43bbaddeee3b7b376a3c0f944a3cb4ff13bbdf9bd33bbabf633c08984d3ca4e1d3ba283be43b8af3533cfb9f413cb24031bb3167723b2841273c1463283ce2d976bb81e4853abb50053cb7c1f73bf3ba43bb4f5353ba7c3f583b1a80953bbe338dbad08cdeba0f8d6839cce9233affd5273b1b30133bc88db43b7fe191bcf0c1ed3bb5699b3b38551b3cdeedadbc86dc1c3c64b4b83ba211083c16f8a3bc40fb183c03a3b43b1e2ff73b0b2391bc17e2013c58099e3be556bd3bf7c575bc037feb3bb14a823bd680033c8d51dabb467cbc3b9824513b9cfb1a3c4d1e173aebb86d3af95fc73a3899f63bbdffa13bdec6bb38af9334ba62d59a3bc3c8d23bddbbf9bca93a6bbceab1aabc2e7baeba6f4b7ebdfcf963bd60de10bd9258e5bbf77198bd9d189ebdb89021bdde4745bc26548fbd59549fbd33741bbd4e2467bcad7180bdb38290bd0bf00abd14d261bc966944bd033f74bd0ea9debcaa642bbc981a06bd3ae733bd169594bcbf4fc8bbcda658bc02b3b3bcdd8db7bb304bcab957d9193af21b69bba2541e3bd4d53c3b53c0003b21fb42bdc83be53e615a4d3f0439f83a9d087fbd9774db3e8bb44b3f9cb50dbb589356bd9810bf3e5c1a343f833aa1bb54cd47bdd10e9c3ef267153f249ce2bbb84e36bde06b6e3e1c2aea3e4709cbbb050439bd14ca203e2297ab3eaecd47bbc3f532bdf3a8a93deec8583e371a2a3b271716bdb86f8d3c5f40c03db351573b21d9c2bc4c69edbcb46860bb606997bd37949c3b0000000000000000e77e9abde1c9643c0000000000000000fd982fbdaea9923c0000000000000000a661b2bc8961913c000000000000000082a71abcc490813c0000000000000000495129bc04434c3c0000000000000000dd9381bc47ffe93b000000000000000042b2c8bc57dc6d3b0000000000000000037ab7bc201c81bb00000000000000003eb3a4baddbce63ae25d403b64ec503b667cabbb5cb19e3b9b7d313c816f2e3c403711bbef9bcb3b85b7353cea523e3cd31f8ebb861cad3b11d17d3c9e2d6e3c8313d0ba6da8b23bca23293c63a93d3c256589bb6545723b763f2b3c862d383ce29f09bad2bb5d387031d73b756b0c3c5ad21ebb6d026fba57522f3b88a99e3b664f6dbaedee0ebb41595fba074ba13a66a57a3b83ff153b04fdcf3bf8c40ebc6375113c5f2a8b3b9d73343c1cac2fbc517c113c7560563bfc92893b7a2c4fbca1d62a3c2ebdd73b669a0c3ce8a538bcaf44fc3b9f2f963b60d5863b3c990dbcfaec023c80c0723b1c95043c419815bb6dba903b560a033ba01a613baf8d69385693a83a9506323a6907b33b5060b93bdbeb42ba33ad1dbaac0d523ba2f4ab3b9b2df6bcb7e1cfbcd9d6b2bc3b7b5fbaa16d6dbddf9295bdd96519bdbd40b6bba1f574bd60a2a3bdde4014bd869538bcf33c83bd2e3fbebdf75a2ebdc9da7fbc569053bdde3298bdf1150dbd790c66bc3d8229bddc458abd5754fcbcc4511ebcfb86d2bc5a8a38bd0e569abcd9aab5bb732608bcf307ccbcf7abccbbfbac793aa75d803b70852fbba8df903b1e5e8f3b9f36b139beb912bddf088c3e03b17a3f34819dba41572fbdc8ec823eb53f773f836f35bbc2bc03bd838c6a3e8e894b3fd795c5bb8a9f0fbd004f3f3ec151313f71c0d2bbf3cdf9bc6e5e0e3eb8b3053f6a17c4bb266611bd8debb33dbd70c53e099008bb58f1f2bcbf58373dbe44723e9d1ef03ae51accbc5b9aa8bb5429cb3d48f58d3ba88f69bcefce01bd51a75cbcd281b4bd5806d13b0000000000000000f94cb0bd0d4e863c0000000000000000b1ab05bda0fa853c0000000000000000d412abbc96a7a13c0000000000000000e62b6dbb15ea843c000000000000000097a1d8bb4838473c0000000000000000ef99fbbbfd19e93b00000000000000007e8bb5bccac9203b000000000000000017cfbabc23e566bb0000000000000000d5da1abb5f4f653af94ea23b581f723b9578d9bb875b3839e4d24b3c0667813cd79ea0bbd7ad033b87b1863c68098c3cb244b3bb5af1943b82ad6d3cdb4f8b3cf20e73bbe21e443bdceb3e3c68746a3cb1538bbbb933ce3ac7fe213ca22a633c92758abb2bef46b97f78cf3b90a2273caa2ad4baab08fbba8fed253ad1d9ae3b7967d8b9fe4b15bb6d9c17babce6903afe6a923bafd3c73aadf7c03b9ca9efbac68e323ccabb943b5da3263c0b8e493b817a4b3c4c62c43ba708ca3bf0d413bab21f5a3c271dc63b1d3ae73b86a831bb19a3143ca0e6b53b5291da3bd1fe27bb52fa0a3cf008a63baa5fda3b20a2ba3a63d0be3bad4b4d3b0050ea3bb6838c3b77b6d13a3bea2239a473403b4dd8923bf21cb8b997986dba23cd8a3ab9f6c83b725f0abde69842bd0276b8bcdf724eba556147bd894ec9bd08821bbdf580d5bb42c768bdab8ce7bd1dc441bdcb8849bcbe3663bd69fcdabd57193bbd7eb191bcd89b39bd9ea8b3bd242025bd23336ebcdd8a09bd02269bbd8a0d0cbd5fa448bc1ac599bc75615bbda020aebc5decc4bbff415dba361bd7bc54d7adbbe154543b5aa7f73bec7b92bbe7ff793b0631793bf14d70ba807688bcf22bdb3d3da8943f56747fbb417cb1bc44d0b53d3bee8d3f1b99b0bb30819cbcf4b9b93d7f63733fce5bd0bb2f1da1bc187b9a3d2aaf453f6b311dbcbf53aabc4b2e653d2366163fe3cdbbbb550cb7bca599dd3c3c4fd73e25d942bb5873a1bcd29588ba5fa4803ecc45573b88050dbc91a9c5bcdb6dbd3d5978563b154fe3bbd5a01bbd1f7709bd1314adbdfea9e53b0000000000000000cea49cbdbc1f833c000000000000000040d8eebc1b3f963c0000000000000000cb5614bb4cb79d3c000000000000000067cbf53b9345853c00000000000000005f08e23b8603493c000000000000000024d576bb3204cb3b0000000000000000aeab88bc7c8ea53a00000000000000007feeb5bc9e9b44bb000000000000000000000000000000000000000000000000702080bb7067123b3278493cbd944a3c3aa86dbb17d34b3b8b8d5a3c1762633ca26b37bb28919e3b36ae563c4ebf483c725bf6ba5b377f3b1eb03e3c7540403c2a1bd2bae6590a3bc1f9023c8ec21d3c7cbd11bbb1f493b92f5c9f3b456b043cbcc6d0ba6b49c4bab92ff93ab798c73b0000000000000000000000000000000000000000000000000000000000000000af6be23bfcbd8a3b6d8a373b3ed81a3aac3c213c6c9cab3b3bac4e3b490305ba25b9093cb4fe9d3b782be63a57608ebb0641e73bb2f4943b92640b3b9156d0ba913ad13bf7ec883bf2b7443b6d0244b9e361a23b32b13c3b08cb7c3b5f44893b297d203bf83e3b3a3bb5323bc42fb33b0000000000000000000000000000000000000000000000000000000000000000d0bb37bda00ccdbd805b18bd2c1ff5bb6d4a3abddc8ad0bdb39928bd427e7abcc14a39bdabbdbfbdaffd32bd191281bce6101ebd3762a7bdcf7123bdbb2d85bc7b07d9bc510589bd090c07bdfedd46bcca664ebcf1274cbd82b8b8bc2746dabbeab28e39c167eabcee2120bc1c8865b9000000000000000000000000000000000000000000000000000000000000803f1013633a49b415b7ebbedabc431b953f602aacbb362b14bbf6336bbcd716793fa59fa9bb7286aabb3b14e9bbb0bb4a3f93deeebbea2621bcab4c31bc14481c3fb04ac8bb676d47bcab0a9ebc3225de3eaf5195bbb78128bc751fe8bc7ffb853e1ba301bb2604e6bb69a223bd4036c13d0000000000000000000000000000000000000000000000000000000000000000d723c2bcf5d3573c00000000000000008889fd3b80b9903c0000000000000000571ec83c0a4ea53c000000000000000068f1ec3ce481963c0000000000000000921bc43c8ab15d3c00000000000000008f43473c8cd5e13b0000000000000000aa7694bb177dd5ba0000000000000000000000000000000000000000000000000000000000000000000000000000000007f5393b19c1f63b9e359a3b38facc39160d753b7eb1053c6701da3b0bd9cf3a6d22853b7866023c4ebee63b134be53acbc58b3b8236023c37a8cd3bc3bad43af6fd1e3bc0eae73b5288d93bc2fe1f3b19cbe339d816a83b3853cc3b7654753b4e887bb91f803e3b257db13bd4b1253b00000000000000000000000000000000000000000000000000000000000000007e532b39ba3313398f4d2cbc056c12bd2e77b4b859a688ba51ef33bc46100dbd5e3757ba18aa543694a24dbc66030abd8f016cbaaa0d5d3909be3abc875ff3bcc66b353a54ea08ba0429e0bba967c8bc72170f3b39d55b3acda931bb92ee84bc413ce53a391c683a15b3083bc6f60bbc0000000000000000000000000000000000000000000000000000000000000000c17546bd3baabdbc96932bbc69aa21bb5c0c53bd693ce2bc915059bc765291bbdf6552bdbb5eecbc690c68bca183adbbb2be3bbd7d96eebca2df78bc6f05d9bb06bb22bdc5a8e2bc01a071bcd86fedbb1d7ef7bc4bbcb2bca65a4bbcd6dce7bb8f0d9fbc338776bc05f306bc9be0a9bb0000000000000000000000000000000000000000000000000000803f00000000805f9c394611b23aed57813ff64ce33c64a7a9bbc2880c3bdecb5a3fb1cc153d3d2e18bce2a91b37479c343f18aa293df71342bc10a889bb95050e3f10481b3d52b877bcda6145bce0fdcf3e62160b3d0b447ebc09889cbc41fd843e8835ae3c218a7cbc3788e1bc6fc8ec3df8b1143c0000000000000000000000000000000000000000000000000000000000000000762ab43c587e303c0000000000000000b1a3eb3ccac7873c0000000000000000d2ab063ddc41ae3c0000000000000000fd4d083dd500ae3c0000000000000000a7c5f13c5bacb83c0000000000000000a731a03c0e15873c0000000000000000d9e33a3cb3cb483c000000000000000000000000000000000000000000000000d494303b1670593b51f89e3af69fdfba22d2063b9543153c4ddd0c3c7a97953b83950c3b079f383cad1f243c0e34a23b234e1e3b603e403c0b1d333c4b06a03bb31b603b6707163c12201b3c256a9f3b6660eeb9221e273cf379293c2d40bf3b9642e4b95c26cb3b88930c3ca8e2bb3bba4c2ebb40ab1d3bbe4ca13b9a3b883bff74e1ba8110963917c1133b8675fe3a4bab043b4d5c28b9ff8dbdbb140eeabc00a23b3bf5a7ad3af37fd3bb2b1c22bdbe191c3b514c133ab5052cbc20bc24bd3715a23a43560d3b28b028bcd33f1cbd60f3e73a5ef9c4baa63b07bc334c0cbd019e383bea24103b754793bb7df6d1bcb027583b8afbaf3af0fad0b708e789bcba5e633be09b083b68b0af3bf4e77ebbe14bec3a4880a03a9060eb3be7909eb71872d0bc06231dbc8ec2bdbb717818393df659bdb8c7e4bcb70588bcfc37cdbb41ac77bd4efb10bded6f9ebc887c06bc12d277bd00ca1dbdec83b2bc04b033bc94fd54bdf65811bd594694bcd37c22bc11583ebd0ae60bbd2030a8bc514145bc6e190ebdd317dabce01186bc75e92cbc53ae96bc955076bc776814bca783eabbb8d3abbb23d77fbbfccb08bb82aa84bb3e36fa3a3fcc6bbc5b61803f6676113eadf789bbfe0b95bc00756d3ff4b8153e23d504bcd73331bcf7fa493f97dd113e730155bcfe2f3ebc0820263fdcaa063efa7a70bc36405dbca9e7003f1a24e23d67d79dbca184bfbc30debc3ee1c2b23deb0c99bcd5aef8bcea266d3ebe9e703d380f6abc3a0f14bd79abcc3da10cca3c81811cbc03d0fcbc33ca8dbc934e65bb05ed523bf245a63a00000000000000000209843cbc3d283c0000000000000000c399ea3c234c983c000000000000000030f90e3d6660c93c00000000000000003f59073d253bd33c00000000000000004e25f73c5d8cc63c00000000000000008d73b13ca1e2a83c00000000000000000f2fc93bbfc4253c0000000000000000e06644bb0c5c4f3b0000000000000000c89f093ba6a24c3b30bcc03a34e23d39e5c5143badac0a3ce27cd83b2e3a5a3b8882993b38e4d13b99b7b73b4bced33a3b15123b18f93d3cf4a6383cd63bb33b76690b3b82d0063c2158053c6fb2743b6daa673a051e123c5d26303c0706d63bb1f0073a23bfa13b04dccf3b28a57e3b61bdccbae2710e3bee24b73bfbe5843b3ab1acba637498b927cab93a86c5df3a1cc4843904d030391e6f65bbd643c7bc2d20bf3a90a3413a3eb4eebb0c5c14bd0be756ba1a0c9b3738a628bc877c04bdcc4c973ae40c423a659719bc1ec814bd675a1a3aa77b1dbaf92907bc3463e4bc95dd343bd53cf53958df8ebb1f00c9bcd321aa3a1aed1739834fb1ba71d977bc9b453f3bd718ab3a01b7a63b95d1b8bb0ed8cb3a6a035d3a4351e73bf0a6bc3af8e5a7bc0617f0bbbc81debb58bd1cba34e135bd2d88d8bc4ef48fbcbac4cebb2c7c37bd7bcde7bc78ff81bc8148b1bb0ab769bd021521bdda33bbbc6d2a38bc460838bddc3008bd37469fbc47f61cbc293f37bde5f60bbd2c8fadbca1aa46bcc6b3ebbc4ac8bebc4aa762bc173b08bcf67790bcdbd382bc0bc129bcfa2103bc18b745bb9f105fbb90ae34bb757462bbbde618b96856a6bcb0f95a3f31dd8e3e6a489fbb3272c4bc38584c3ffaff8b3e2998e8bbc1616cbcac6f293fd220793ed39460bc8532a4bce863103fab47613eea6170bc07d197bc9858dd3e38cb333edb0fabbc8112eabce5cea33e72a80e3e859d72bc6b63ddbc6ead4e3e4ed0b63d04c769bc344417bd352bb23dd053353d5ad9ffbbe006e2bcec9e5abcccb3cfb9a8d683bb2cc9653a00000000000000004d512e3c75aa3b3c0000000000000000e655af3c73ce8b3c0000000000000000364d003d66fdca3c000000000000000013c7f73cf1becf3c0000000000000000aa79ea3cdb57c83c0000000000000000def58a3cf71c953c000000000000000098f9cd3b18ec3a3c0000000000000000759788bb896d083b00000000000000004568083b9f2e4b3bd1afc13a7cb176389613463b021b133c48fdde3b84a70f3b9c7a453b36ca163cc361063c4517a23bd1ef063b0ce7283c052b313c3168bb3b3cfe1d3bb06e153cdf92153ca9769b3ba3ffb238d39e003c0ab01f3c1ed9d03bc8bab7b994c6953ba128093cf3cfc83b1983dabae37df93a991da33be2528c3b8534a9baed1da8b94b92213b74817d3a274985b9ed93cd39c4d5bfbb2b32bfbc0626493a24e2ddb9d9b4fdbbc70214bdba86993ab93319b9fe6f14bcfcda0abdb680e93a267c9139ccc923bcc90c04bdd1cf2c3b3a06d3bababdc5bbee26e0bc8f29063bec8a933adf242cbbab30aabc224c533b01399a3ae29b7c3a249e5bbcb599393be6fb513a8cc4b33b164182bb8f5a333b073d99399adaa83bd734ec3a4bbb90bcbf60ccbbe0e2fbbb9e817abaf7b83abd49bfb6bc8fd58dbc2ccfc6bbc5ea4cbd0c7213bd42fab7bcd1cb22bc465157bd8b5926bdfb68c8bc7a2d3ebc5be93bbdc6811fbdbdccb6bca3853cbcabde23bd7e8c10bdd741bfbca2394dbc88c8f4bc449bdfbc821697bcde4b45bcc93984bce1347fbc37c435bcfbf00ebc05675cbbaaf2b2bb7d672ebb97de3cbb8bf39b39a18a88bca34b353fbe9bd73e0087fabad297b3bc9e03293fe2cdce3e776c11bc824a9ebcdf47113f2c66b83ee3bb61bcd2b8afbc8516f13e42709f3ed4b493bc0061d0bc7a05bb3e602a7e3ed3759fbcc81af7bc6728883ee2c7423e9b5497bc2d200abdf3e1293ebc4f013ed9df6fbc6a1013bd57d88e3dd7ea7a3df4ab1abc9ddcc8bce9115ebc5c08623a74e6eabbce34ea3a0000000000000000ff92ca3b4d40793c0000000000000000fdb7a63ca665ab3c00000000000000001b0ee83cb288cc3c0000000000000000f538fa3c4308e23c0000000000000000ec9ed13cf593cf3c000000000000000082078e3cbbffa53c00000000000000005589913b7fa9363c00000000000000004ddb84bb7776183b0000000000000000429b1c3b6a6c4c3bb6b0313a8ff8f9b82096083b3352f93bf163bc3b62e2543b76c30a3b9537153c9920ef3bb320853b61d0133b8280283c24e8253ca99ed43b53172f3bfb82da3b5e21c63be4013a3b89a9e439144b0a3c30192b3c8443bb3b9fd0d2b97e86a23b6e7be23b90c3a03b2b4a97baa666c53a8bc58e3b4f876a3b567398bad7129bb8644a143bc37d133bc97967ba7825b2b9b98f90bb8e8ca2bc099f1d3a0f19213a002fe2bb6c7bf4bcaf195a3a136810b9c4a40dbc7a36f2bcfd71913a8974b6b969aa06bc6942efbc80a0efba6d81f8ba1fb6f9bb507eb0bc75e0633b5821943ad37289bb52e9a7bc929e0f3b68ecf239d010e6391c2d33bc3f90163bd22fc93a2b62a33bd5d339bb8e9dc83ad0284e3a73959b3bac79c13a3b58a5bc235c09bc3e3004bc70f964ba0ae21fbd58cdd8bce48fa2bcdde402bca6c038bdf04e13bd3d49babc0eaf2dbc22c84abd2d9e2ebd95ffd8bc17385abcaa3c11bd60ae05bd93d5a4bcff5026bc16bf1bbd853916bd2b2ac6bc79646bbc9cd4d6bcd2f5d6bc93a194bc4a5b3bbc80476fbc98c781bc58eb3ebc1bd904bcafc766bbb73897bb6cad93bb6dd58cbbcdd026392f4358bcae35103ffdb6103f4eff94bb060f92bcb9d3053f17ab083fc9c40cbc03b477bca8d5e43e238fee3ea9d570bc54efa3bc7adcbe3e9a86cc3eac434ebceba177bc25e8903e931e9d3ef6399bbcd13de8bc52cd563e00c2763e32098ebca74bf3bcce6e033e0718203ef25168bc555c02bd1d48513d64259c3da5ab00bce7c6bcbc3b5165bc85709c3af28826bc6843233b00000000000000001f4d163b5e9f663c00000000000000007e36963caba0b33c00000000000000000b07dd3c087ae53c0000000000000000dd02d43c5275cc3c000000000000000089a5cd3cdeaada3c0000000000000000f825843c09faa03c000000000000000061487c3b2634293c000000000000000087d585bbb5cbfc3a0000000000000000e6fa903abbaa913bb6720d3a4013acb9d461b93a6ce2fd3bb38dd33bd1ef853b2edbe53ae1f1153c45700b3c8c8ba03b9c2f0f39edea293c4e6a363c3787ca3b0953fe3a53a8093c4430123cdb80b63be4de42ba4e25f73b739a273c1d54093cbb2d9dba9433983bd209f43b8ce5c43bc784a1ba0dc5e33a1cac2c3b67f30a3cfbef82bab4240bba2e18823a8964af3ac35fa03962e67bba986a89bbbc3a85bcb2d5113a63fb013b34aeb2bb9909dbbc2f86063bb0eb273a9de6c1bbc443dbbc7ab6003be5e51d3a5ec0cbbb6499cebcd65e363b3661423aedb8a8bb3e62bcbc4fe60f3b069297b9be12bdba2f767cbcc89d533bc8350f3b1de0eb3acf6f13bcdfe5b739c8c5173a310d963bfadf73bba686a73a1362dd3a7aa4b23be85f4b3b71caaabc457c0bbcadb91bbcc68022bb2d7226bd052c01bd8292bbbcab1300bced3940bd239d2fbd0f8ee0bc68db55bcd00a41bd03033ebdd9b1efbc3dec76bc62c928bdf48338bde337e3bcd38858bc19ba11bd45331ebd88efe8bcdc7a81bc0190d7bcff4cf4bceb8cacbc6d6653bcf98612bc80c162bcb83814bc1a8559bca88f3ebb6a7d98bb647c8bbbadee60bbabebdaba87f619bcf0a3d63ece2f353f4f04afbb533773bc1202c83ea6b72b3fe40b29bc15247abc9774ac3ee29e153f46716ebc428394bce32a8e3e0bbcfa3e489480bcc085afbc413c5c3ee075c63e88d597bccfbbe0bc01ea1b3eca3f953ea0f089bc7271edbc3698b93dcc09423e795283bc34f015bdd835063d3690ba3dea4ad5bb9962a2bce7eb88bc5ca9abbabe2c47bca24a7d3b0000000000000000af2b07bb7be96d3c00000000000000006037823c0994c23c0000000000000000c7a9cc3cb268ee3c000000000000000022c3ea3cb3b1f73c00000000000000005bacc93c77f3d23c00000000000000008985743c1706a43c00000000000000001c9f673a94d93f3c00000000000000002315bebbcc86e0390000000000000000036c933a14b9343b4c1dd03affe7ac3a9efba439f02ffa3be261e53bc04cac3be71d073b3fbcd53b821ac43b05fd6d3b091a4e3909851c3cdcf9393c8cf9073ccb24f739f0e5ed3beb86073c687ec33b922fbcba4c17e03ba846243c2a0c0b3c55bacb380e6e8b3b9d4db33b2c1d8d3b052f20bb6fb7ca39fdde903b717f953b62e188ba1eb6a2ba41de4f3ae980e13a023963393c8f763a255911bb853261bc5ac1e63a6974043bfb4b65bb9f7db2bcd5daaa39a7eae2b852d4a8bbb8d0a4bc71db3e3bd2c4bc3a8ad1a0bbd7fdb3bce81ed13af12397b7c44d81bbcaef8abc3ba87f3b8f3d0a3b121c58ba29684dbc375f233b41ed233a309e173a004005bc762b493bd228e93ad0c8c33bd4b06d3ad44cb13aa298493ac0a8a73b9d65893bbc43b1bc3a475ebc506d48bc57e084bb9cae29bdef5e1cbd3578d4bc578536bc49f11ebd2fb924bd2b1bc9bc771f2bbce85f3fbde52759bd5a8002bda1ee97bcd84e16bde3412fbddd24e5bc688e7dbc4b5c0dbd40932ebd958af2bceafe8cbc930eafbcaf2cefbc0f5a9bbc773f3bbc393f45bcfb6a95bc990c62bc243f16bcf1d4deba4fe28bbbd2fe38bb99c82abb2d6e67bafb86ccbb017d8d3e1a305b3f91c3cabbdae62abc94d8833e0df34d3f5b2d08bc92661cbc3f5b613ea8c82b3f3f697cbcbd4a86bc741b3d3e9a6c143f880780bc29458cbcfffb0f3ed75de53ed85d95bc7b1ec6bccc2ec63d98efac3ee5526bbc3ec7abbc8b5b653dbb055d3e726137bc2dbbd1bc7f9d183cb74fcf3d23fe91bb0dd089bc166fa5bc97ffa2bb34a58bbc8ee3273b000000000000000075e749bb84df823c00000000000000009d81733cfd0db33c00000000000000004df9dd3ca0ce003d000000000000000018f2e43c44fedf3c0000000000000000e5cbcb3c8954e33c0000000000000000ed4a523c9d229e3c00000000000000004f42dc3a94171d3c0000000000000000131e00bcab458cba00000000000000008501acbaef09a23b0773703bfa2a023b063b03bb7bf7e33bbe8a033c4c24e83b0114fdba2b670c3c8ae9303c7d182a3c734ab2ba236f123c31d33c3cfa991e3cf3f1ebb9f6ddf13bf0ef1e3c188f003cbff10ebb8048ce3bac7f1d3c77cb1b3c3ac91dbb3023573beabaea3bc308fe3b4fc830bbbad2d1b9bf2d453bf80f9a3b8aa6e3ba033aa3ba0a239f3a79d9623bc79ec7ba76dfd33a7e8055babcc84dbcd0d1673b98ae833b88a0bcb9c3d075bcd36d953b203b333b465a2abb18cf94bc0c4f913b8e50253b0f752abb6c0d8dbc37584c3b4c63b93a2a862dbb7b4569bca9aca93bb031143b9180243a2e901abcd9169d3b4511243ba1f8503b698f7ebbe1eb473bd829403b5f87e23ba869753b1877923a4a6bd73a78ec983b3c21983b2059e4bc192ac7bcdd0184bce0d897bb1f5227bd4c8b49bd37b8f5bc7dad5cbcdb4c39bd46eb74bd9f6414bdf1c79bbced5534bd48e771bdfd5417bd4cf2a1bcb18c14bd06234abd42ad02bdeb8198bc9b52ffbc772e3ebd1df6fcbc1fdb94bc0167afbc4b030cbdb399cabc3aaf77bcc79c0cbc39d897bcc1df6fbc8b3810bc6ace27ba18f796bb93daa9bbf44a67bb01384bbac34ba239c6f00f3e9215813f9b02cdbbcdab9cbb54dc023e22a56d3f822948bc0e32e3bb0668ea3dc4b14b3f613172bc0c4642bc208cbc3d3851283f457889bcc1a281bc762d8a3d5c1f033f0f3593bcb197b1bc0cb9243d01fac13ef9d379bcab0cb5bcf015703c4a4b773ed53a25bc5b88b0bc03fb42bc2403dc3dde8ababb72c479bcc530cfbc6f1351bc12914abc3305873b0000000000000000643f263bec6f8b3c00000000000000008bc0ca3cc323dd3c00000000000000000fe2053d8913063d000000000000000079bb033d364bfe3c0000000000000000be03e83c092eea3c00000000000000007cfa8c3cffa9a43c0000000000000000c31e7a3a9fc6063c0000000000000000f9ef0bbce1e9d7ba000000000000000000000000000000000000000000000000cc0d8739d244db3b532ae13ba09f6f3b70820db8a550e93be9a10f3c4dabc23b6608a73809daef3b0063203cebdeca3bba99cd3ab7f9ec3b9b57023cd532bb3b992052b9a3d1ad3b7a0c003cb6fcd43b37d1e0ba515b4d3bc997d93b0d68a83b8a6b03bacda6c4bab4bb583b5511b13b00000000000000000000000000000000000000000000000000000000000000000c5da53a916ca73adfc554bb9b0264bc4ac9063b9bafa4395bc456bb2fcb6cbcc516ad3a30e0b2ba055f86bb376468bc8638ed3a80465dba1efe5cbb699463bc31bf9e3a7b791439414953ba29ce0ebcc516563b9f67303ba368233b9d1e8fbb7cc4703b6357bf3adbc6b73b2cf9633a00000000000000000000000000000000000000000000000000000000000000001e0118bd9ac744bd04c4dcbc88af36bc053615bde7774fbd5428ebbce8b987bc08c70bbde85b52bd8fd901bd555575bcbba600bd76ae3bbd4c1ff6bce4a37abc8a79cdbc53ca20bd5ffddbbc3db16fbcf00e7fbcbfad02bd54c6bcbc0ee860bc439a04bcea139bbcb50575bcf4870cbc000000000000000000000000000000000000000000000000000000000000803f318f80bbf085713bffd5393c363d813f5f090fbc6a6a02b9a6d2183c84b15b3f798d53bc1f6dafbb864be43ba04b353fdd3350bcce8020bce792443bc6930e3fa5f172bc1e4f72bc7695d4bba6a9d13ebec054bc238c82bc33d584bc4bd9863e00cf32bcea759ebcf5a3cebcf4f0ee3d00000000000000000000000000000000000000000000000000000000000000007ef88d3c045c933c0000000000000000bf5ffc3c3583d43c0000000000000000e25e143d19dcfc3c00000000000000009291113da3dcfb3c00000000000000009e62ec3c5cadd83c0000000000000000b3129d3c21c39d3c000000000000000076f7963b19e9103c00000000000000000000000000000000000000000000000000000000000000000000000000000000a67fdcbbed0b9f3bb55b1c3d18950a3ca04f87bb466fb33b15b20b3df5f54e3cbfe4c1bafae7e13bd037de3c334d613cab8f69399e40ba3b933daf3c6e67433c00a5063a8f21713bdabd773cebfd033c66c6ae3ab3af093b516f153ca1db993bfedd0d3a345b153ac1e3073b26a99f3800000000000000000000000000000000000000000000000000000000000000001e5c08bbdedbbdba2a512d3bd7b3e83b2b9ccfb78be228bba207303b67fcd3ba87a2343b2ff764babbd3debae89123bce9a40a3b088c89ba254a27bb32722bbc500efc3a131fbe3933e86bbbb41708bcfb8d153bfb36a7b982e9c8bbcb0a9abb9ac2a03a481c5bb9a508c9bbbed2c0ba0000000000000000000000000000000000000000000000000000000000000000acf74fbedd635ebc2829cd3b9e1a453a980642be45c9ccbcf0e1363ba11cd339b7f82abee08218bd0041a439e52ca8ba003607bef77212bdb2e6fcba2c6799baaaefbdbd0981d4bc9f1f83bb731f8eba4e1c53bdcbb88abc0374caba6f5c33bbd790debb605fbbbb1cdedbba340f9a3a0000000000000000000000000000000000000000000000000000803f00000000ed22ab3c258004bea2e5ac3fb6bed4bd0039303c9acdaebdbaeb8d3fc6b543bd964c213cd98a82bd267b683fa7e689bc31b4e13b080942bdca602c3f8516e03a1143cd3bca62e9bc6503df3e0537303c382dbc3b7849dbbb06fd5d3e30566f3c43e2a13b27196f3b14a1053c34b2043c0000000000000000000000000000000000000000000000000000000000000000ee4c613c5792bcbb00000000000000008906e13b7720dfba00000000000000007419073c1cdb45bb0000000000000000d182003c49bf85ba00000000000000005474e13b782dd6ba000000000000000064628d3be7d6613a000000000000000021a14f3bb8dfc6ba00000000000000000000000000000000000000000000000059ac00bca013543a608fab3c1e97193a86c323bce92c413a74031e3d5f31eb3b33a5ddbbbca4c23be5521e3dcf64703cdb696abba216e43b39bdff3c8dd27e3c02606aba9c6cc63bc50ac33cee47543c571649397d3c9d3ba62e903cda21173c948894b989fc4d3b4a4b253c1fc2873bd9a92f3a427c1f3bd02eff3aaff2fa3a0fdcb3b97b480c38921afcba72076ebbb56404bbb6a95abaf9aac43b542f323cba2b87bb18c8bebabfc6103b682bec3cd8e016bacb8fb7ba3afefe3a722a123c520c123b882edcbaf225433a679f9e3a65f7803b177eb7ba18f223bb9d9f85bbcc28423b662c5139f9cfc9bbb8473dbb3da2733b3f87edb9bd82d6bb31b314bbe9696a3ac977423a30b7c8bb1eccedbbc6b5aa3a3b1153ba9fdfc7bbbb16433b4dc3f7bdf123843b38465c3affb8443b8b0e41bed0a0ebbb9dd1873bdf07a93a8eee4dbe8c860dbdb17e8db934bbfc3a013434be02fe31bdb6739cbbe402c93abeee0abe448a2fbd8849f6bb2d626f3a5583c4bd4fe90cbd2ed5bdbb131a12ba6e5449bd3eedb0bcd52e00bc8521c83a2bddb9bb2ef94ebcb3b25ebbbd146cba9836933c2568783b89f62cb841ba623a4324243d6b9c5abe904dac3f67fa7e3ca78c2c3df26255be3d709e3f8018fe3c9854f23c672629bef07f8c3f8ada743d5757bd3c8dcd02be534d623f9f4b9c3d307c8c3c6dcab8bd58aa253f34b4a33d89ff883ca5c768bd1f7dd33e8f4d913d7c11383cf71ab4bc1a4a433edb85643d1504993b97d5673ce75a393ca654233d9311ef3b5314fe3b980ae8bd4c730c3a6933adbc5330363b0000000000000000dddeadbcf1a0823b000000000000000023aca8bc69cb1a3b0000000000000000dad295bc21340d3b00000000000000001e0b32bcce565b3b0000000000000000e5d921bcbfee373b0000000000000000dfadedbb1e8f063b0000000000000000d8ec06bbc052a13a0000000000000000b47040bbdfbf513a0000000000000000a6ffdcbb9775df3a02d35a3cf241353bca110fbca68c883b7674df3c4ae83e3c5327c8bb6764fe3b1a8ee53c92188f3cc29bacbb52d00b3c77d3dd3c4d10863c0632ddba0440e23bafe98f3c1a5f603c901703bbf474ae3bf999643c6429323c3fe936ba75d6863bf27bd53b80c9b73bfc913eba03f5e93a923f1a3bc6a2a9390a065eb93a0e173aa0b3f5ba22ae6dbb060f31bb52c893b73699e03b3293d13b1d1f1aba8db5f9ba0e15883b751d613c3b773d3b5a7926bb890b933b7a12a33a9f079e3b53c12cbbc67cda3952c21db9d4de633ba4de1c3ad5b034ba5ca389bbaa08913be8968939cb8660bb65f5e9baaaeb1e3b3a77de390d1399bba79e43b90c7f0d3b7f1922396028b0bbd1a94b398003ee3a76699cbad7aab0bb999f543b7b71a2bd41de43bbe79c6cbbcdc1843bb5a71bbe3c6010bd79e04dbbd6b09e3b060825be710573bddbeeefbbd697a83bdd8518bef7d383bddcbb01bc765b743b7869e4bddbfa6abd4bbe48bc86751e39ac92a5bd67b93abd8ed437bc7fa6a53aec0031bdae4fe7bc2082bebba46cf8b9566928bc8e963abcaf81b0bb028d5039d9b3573c6f14483b97d5e3b968808c3a1ccc2c3d88e65abedf328f3f6b9d6c3e74f6403d931b6abe008c8d3fa9566e3ee2f1093d7a2839be0190753fe7d7723e14ccef3c63db15beb5ae463f5e1f603e9359ab3cb53ad3bddee30f3f5854403ef0ac9b3c356c8fbd9a3eb93e6602173ea40f733ce6bc24bd67a0333ea3f1c03d558c043c3a59b5bb11e4983c2b8c3a3d0d28fd3b074e0e3bd57c98bd7f6407bbf25f91bd60275b3c00000000000000008d3790bdd36c5b3c0000000000000000d81571bd6576283c0000000000000000fb3549bdaa1f1d3c00000000000000007e030ebd63df153c0000000000000000f399eabc10acf33b0000000000000000c37dabbc341adc3b0000000000000000bc8a41bc7218aa3b0000000000000000ca241ebc4bbea43b0000000000000000392eaebb465b493bee7bfd3b6baad53b2d48f9bb3b72aa3b323c9e3c967b7f3c70a3c7bbcf9cce3b4148c63c2221a33c14ab51bb13f5e23b91d2a33c711d983c782b21bb377ce33b2ae9683cf358893c969684ba4e9cbd3b9d6a3f3ca4fa3a3c1bb7b6ba9e539d3ba183c23b791ca03b53b1f5ba10d56c3bf208ccb98fff943a73dab7bac9bc2e3b904812bbb4604fbbba33f9b9162c96bab6db063c5166a0bb7eb8ad3a00de34bb8ba4b83b8a95c73bbfdb973bf22b08bbc366983b55d6cb3ac7fef53b230cfdbaced1b2b9ece4bfba4a33d63b545823bab45f903733212abb24f6973bb6952b3938f883bbbf8a01bb3894983b68f98d392550afbbdaf6f0b9a485543bf33e8abab30ca9bbc311a53adf4e67b92b9c8b3854297fbb915a803bdd5a6dbd050da2bc96bd22bc6a9e033c60c9eebddb5878bdf70cdcbbffecda3b937707be87b8a9bd23e142bcdd75b23b73aeefbd3117b0bda9dc86bcc2a3843bdfcbc4bd69ab98bd71cb83bcceb1303b136e87bdedd868bd1d3361bcc8869539491214bd82510cbd674c1dbcc5c378baed67febbcf0457bc9fdb8fbbd9c73cb89091ce3b6cdef83b36edb3b85eae873aa1f7193d2ea847be87936c3f093ced3e6085333d831d59be2fea663f204fed3e09630d3dc13830be4860483f36cfdf3ea9cce43c207b0cbe0bdd203f3c7ec43eefefbd3c7bced2bdfc6beb3e812fa03efd339c3c5f8e8ebd646a963e3fba673e03fd813ca10d23bdbc31133e91660b3ee39d493c5e9e7ebcfdcab23cd6fe493d006b133c233cfebb465660bd42ff77bc5b20f4bdc922a93c0000000000000000affcfdbd974cd13c0000000000000000247dd2bd0e23a53c00000000000000004676a1bd5aca873c000000000000000090467abd60ed6f3c00000000000000007ad035bd2c3c563c0000000000000000876aefbc422a333c0000000000000000ac9e88bc6715043c0000000000000000a87e5dbc7ae9ca3b000000000000000044f2babbc3b21d3be167ce3bd2e9fd3bab00a0bb34194b3bb33b763c379c993c96a884bb742bb13bff638e3c8ea3ae3ce3735abbece6e53b525a823c6065b33cb9e090381756ac3b2709323c19ed533c75c8d2ba838ea43bf13a0a3c65614f3c2cf293ba381eac3b6afc3d3bab67cd3b2539a2bab6897e3baf7f7c385705983a3660d9ba311e413bc2db2cbb28260bbb571700bad0aee2ba18e4de3b846b84bbf6f50f3b368d23bbed0cab3bd49a353ba2ac063c80ec36bbd28f093b613a92badefa003c574fd7ba19ceab3a741bebba6716d03b6213d73a5089acba9addc1bbcd77f63b5536acba928a27bbc2b22bbb68d4643b5835063ae41438bbd2a7dbba1f25b23ac14e16b99b3848bbb612c4baf6edccb959a35fbacf4e15bbd7839339e58226bdefe206bdb57344bcfc50233cdb1ba9bd56d5b6bd22d316bc8baf053c930ec3bd4092dcbd9fd38ebcd00fd03b17feb8bd8282dfbd12e4a5bcccf4c43b2d1b89bd771ca2bd8659b6bcabb7d3b83d7253bde4bb8dbd93628fbc1228563b23d3e2bc80b31bbd428d28bcb9ab68ba148de2bbe0673fbc8208a3bbbcdde139f364e83b20c1bc3bb002083babc8a33a6611f43cd41223be40f2313f2517333f1487053d76e52dbe241a2b3fcc99333f0ecad43c008d0bbe4f6c133f05d7223f1416bf3ceb9cebbdfb18ef3e02e10c3f0ce4573cbdf198bd7ed9aa3eba5dd23ee4ef893cdb577cbdf9ea643e9fb7993e5331493c954d14bd2c5be33d3dea2b3e909f043c4da882bc8421b83cd1da533dfde8183c93c2ebbb889a20bde99fdebc01b227be146de03c0000000000000000c9fd2cbe15e40c3d00000000000000001d0105bef1b1d53c0000000000000000069adfbdc2dfb13c0000000000000000e10178bd37ec843c00000000000000004eae6cbda48b893c0000000000000000c7830cbdba8b583c0000000000000000b2dca1bcb8cb3a3c000000000000000027af8ebc6b42fa3b0000000000000000faff27bba888283a39ae823bb821273c927f98bbd164ab3a17c52b3c4152ba3c3ef785bb4a62913b4ead5e3c15fdf03cc4d735bb382f993b1155523c61c7c03cc3c21cbb8481ca3b56941c3cda899c3c7d3707bbbe18b83b14e4f83b12f75c3c560fa7ba74c4a33b1a23463bbd28023cb5a6e2ba8d08853bf5cd6fba74520c3b1a2585baf8400e3b66760bbb733440bb86c58038cff497ba26da8f3b42f27cbb1ddcc13b1fd1a2bbff628d3b382da13a5b17033ca5bf90bb67b0f13a059f8db80d2c1e3c4af50b3a68010f37f9250abbfa4d253c0e0cd6bacbc337bacebf81ba596dc43bcbce363a7a6c4fbae22945bb5b92913b5067363a243e11bb722450bb88e1b73af68991376f9bd7ba383c72badbd9ceba05fa143ad17b6aba93e4763aa4bfcebc01fb4fbdccc736bc529b223c450952bda7fbf5bdad8716bcac7b2e3cdf7f85bd8ca712be3b4989bc6c79ff3b933881bde9c906bee038bcbc53e4913bf35766bd495be1bdb7febabc3f1d0d3bdeb820bd2f95a3bde15580bc870ea239523fc3bc720738bd79ef39bcdcd476ba0da70fbc6aec54bcb70987bb44b803bb2ebd963b239c353cdad6fb3a2433b7b967edb93c98c6edbd6534eb3e76a46d3fff92d23cd30bfcbd15f2dc3ed5526e3ff8a0b03cb3bfd1bd8432bf3ea31f573fcb718c3ced97a2bd5a87993ece57323fb218713c0d1783bd3dcf653e21210a3f6c9c4b3cd4893abd91d7183efb22b93ec8e92a3c83b4e7bcd65caa3d5ca7453e3c3a063c1f8876bc92fecd3c2e83443d7b4cc43b57a8e9bbea1ac2bc168439bd0cc04abec0b30e3d00000000000000007c7954be2ca1283d00000000000000008d302bbe9a67073d00000000000000005a48f9bda799d43c000000000000000062b7b8bdda68b53c00000000000000006ffc73bd7c45913c0000000000000000d67117bda8a8683c0000000000000000e84e88bc08073c3c000000000000000081c387bc3a4b103c00000000000000004e51caba01f519ba1b8b5abae4fd723cd48013bb47ac5cb90a9a903b1126fb3c5f0201bb8b04843aaad4253c60c1023d6e2465bbcd428e3bb8e22c3c0251e83c06a86aba35e4873b6f75ea3bd845b23c9fa911bb8c57ca3b39f1a83b58fa8a3cd856c8ba0af08f3b5dae083bb943053cd485e0bae18c833b29ceaeb94592583b051763bad836073bd9bce1ba5bac08bb9d2c463a0a8a94bbf0f6173bfd402cbbf1cc9d3b6807a1bbe566833a6d12413ad765203caaaa5abbd99e3a399c7f6f3ad1614f3cab858fbb22c1b1ba4fbbc0ba6fa5083c1828e3b791afa0ba1fe513bbffbeed3b9bddcf374327c7baa6a393bba098983bc9510dba6637d0ba71ee0abb077d4e3a20b8713aef721abaf8ec23bbe426b0ba1cba24bab44d97ba1a509f3a425101bbbdfc94bdc78657bb166f1f3c6964a5bc81481dbef9a55dbb77dd023c0a5e21bd8a592bbef2f996bc150ad53b4c9f1cbd497f23be2042bfbcc6d5cd3be08510bd0d52fbbd6140c3bc2f0bc83aa49fdebce4f7bbbdcbc698bcf16392b92f0b88bc266b4dbdb7c529bc93f5ebba3e4d13bccc863ebc7ecc9fbb78a62ebb87e6bcba84124a3ce70c5d3ba41c3eba37256a3ce2028bbde1656c3e0b0e8f3fa392813cd9338cbdd2cb4f3e0343903fbba0433c6ce560bd50d63b3eac607e3fbce94d3cfb633bbd158d143e5a99543f7ed9023cfbea0fbd79b0e93da0e91d3f820e103c8f7fd4bcd7ada63ddca9d33e8264033c848c98bc7b8a463dbf1a5a3e20f2ad3b9ea332bc7075db3c76111a3d13c0803bdae4afbbe611fbba448686bd1e185bbeffab263d0000000000000000df8b63bea5643b3d0000000000000000836824bebd4cfc3c000000000000000000a902be8811dc3c00000000000000006d9aa0bdebf3ad3c0000000000000000f6f865bd049d9c3c0000000000000000a6b303bdcbcc803c0000000000000000236d0abcc9351e3c00000000000000006f5604bc572b003c0000000000000000229d2fb76ca954bbe230d8ba183bb53c873c40ba5e876ebb64e777ba9d7f233d595b18bb418d0db9a4dfbe3b1e7c263dc7fe1bbb5013793aef5eff3bebd00b3d3f1714bbe71e603b9f97df3b6437c93c486c92ba1da6003bfbe9bc3bc2f8913c94fbeaba07b2953b8920d93a9c5c413c8bf505bb5ad0a93b3b6c9eb88996093b26cb73ba3355163be6e23abb5544edbac7e669397ae598bbf341af3a31d6313a6b94793b46cdf1bba479513aea217dba3a1d253ce90495bb42e3f5b993d28eb9a3fa403c9243e8ba1b0a72bab65d50ba02a3353ce7c666baff3f90ba729a2dbb5f04093ccb9db6396e72a6bab19751bbaee98b3b599ac039aade49ba71d7a3bb1a19903ad3ad793ab2e4593a6b5e92bb2a6aeeba3d7db939edc4393aded415bb29180a3cfd67f2bdcf66753bfcf30b3c7565743c0cc843be74b51f3cb783d83b5c9613bcbb0952beab6168bc7cb6c13b809a82bc199c3bbe6162c6bc9a81413b866aa0bc137311be2efacebcf2e469ba66ba87bc9f0ad0bd6523a4bc2ce808bb872c48bc0c5d61bdc43664bc6054e3baf8544fbcf862f7bb0bcdbebb1984bfbb0e91303a2e959e3cf87e5d3b9d994dba48c35e3b25979bbc6ad18e3c0533ac3f1211833b7a9b84bc654a0e3c0cdc9f3fdd84af3b91cc86bc2733913c9e548f3ff5f5873bc1305abcd86e8d3c710b6a3f56d43f3bb2da2bbcc54bab3c807e2d3fa2f8893b2c46dabbb473b13cb948e23e5dec913b4241efbb76c9d53c7c065b3e0617383b67cbe0bb25c3153d7f87ac3c51a8623ad29321ba169ee43b0a88e4bd08d35cbe6d1d183d0000000000000000f64649befbbb1d3d0000000000000000a78b12be1236cf3c00000000000000008146c5bdab35a23c000000000000000049e673bdcf5a963c0000000000000000e24803bd20e4553c0000000000000000abed21bce0b61e3c0000000000000000317e3e3c0ae6cb3b0000000000000000a5c4f2ba93449d3b0000000000000000000000000000000000000000000000006bdd9dba03ea35bb93ce4e3b5ac01c3d502eadba5f03e0ba5fe4c13b31e3113da889a9ba45d98b3a04880c3c15a3e83c4933f1b9e61a213ac98cde3b768cba3c4930abba55105c3b1e79803b2ddb833c7c7565bad75cec3a6511263bff7d183c80b2a7ba7b013a3b2553bbba7af6513b0000000000000000000000000000000000000000000000000000000000000000e86f0a3c896299bbd0c0bdbafca99e3b6648303ca56135bb572815bade3d783b420c4a3c96edadb967c9b8badf50453a987f313ca434c539a3a3a2ba0e5f43b9c208df3baed4953a77ebd4baa85759bb73b6803b26209f3abb01d339d3218bbb5b93ff3952ebf3396ec12fba254420bb0000000000000000000000000000000000000000000000000000000000000000bdd3c13bc3ba52be9230cebb8d26803b6cc36fbbd6ee44be9fc7a7bc626ce13aa31278bc4d722dbebf2a07bd50ccb9ba6a9f54bc2fb00bbede6bebbc96de9bbb8fa20fbc8cadc3bd4bd6bdbc5f335bbb8592f9bb386052bdd4c87fbcd4177abb63932bbb83dd12bc211780bb81f504bb000000000000000000000000000000000000000000000000000000000000803f79a869bb3dcc843cdf0ef6bd03f6ac3fbbd2fdba05540e3c0c93a5bd276f8e3f9d6e493a58eec93bfdd671bda0ed693f62ce1aba98b5c73bbc463ebdb24a2e3fb682aa3a8ed4af3b48bbe6bcee3fe23eb76d233a0a1bdc3b92b4f2bb95005f3ef6b1033b3008313be2bb8e3b4c39ff3b00000000000000000000000000000000000000000000000000000000000000000717e8bd58308c3c00000000000000002f1a63bddd242f3c0000000000000000c86cbfbc62b0163c0000000000000000d3f187bb68df213c00000000000000009e9cbb3bb8dcc23b00000000000000001316633cbabcc43b0000000000000000af2b233cea48f33a00000000000000000000000000000000000000000000000000000000000000000000000000000000858220bc712c5e3b1301c63ce8798a3cf84506bcd031e13aa7b9bd3c2d9a9e3ca13d9cbb3884053b11a0963cf749a03cbfe16fbbef9c933a960f613c40197d3c75cfd5baf09593b9e5901f3cb7123a3c586b5fb922ceb9ba8ca4c93b72e2e83b4eed4d3ad0af8eba6a90ba3a9af9d13a0000000000000000000000000000000000000000000000000000000000000000c31c8f3b6165a6ba0308413ccc0fe63b92070e3cfc54cc3916b9513c18b8de3bc3b1273c95fb383b3d68103c823fb7b9d493343cb290633bee31f73bf39aa23adf51153ce93c3e3b238f243b8238d23b78bf8d3b3842403ba778b9ba042bb03bb435d13a9bac433a0a7b8fbb5846c33b00000000000000000000000000000000000000000000000000000000000000008f752abe5d2636bd0f2218bba2ca243a634a1bbeb15f78bd6f096fbc113b7fbb357805be3fe48abdfaf2b5bc994ff9bb59d7d2bd068d71bd292cc8bcdd892ebce35096bd16f737bd46389cbcecf030bc341f2bbde246dfbc66c04fbc354d09bcb38134bccf77c5bb5ba85fbb9a7269bb0000000000000000000000000000000000000000000000000000803f00000000060ddb3b6ebc06be181ba93f43e184bdcba8b1bb0cfed8bd31478a3f1b1b893bdba010bc570cb6bd151c5e3f77d73b3d8de82fbca68da0bd8b70243faa0b703defa606bc44fb88bd6785d83e8f885c3d3e75c03832642abde7145f3ec8a0173dad3a983bdb60a4bc6667b43cd744273c0000000000000000000000000000000000000000000000000000000000000000b079713c9e739cbb000000000000000021f2a63c79c585390000000000000000c531e03c85706b3b000000000000000073baf43c974a1b3c0000000000000000f9d5ce3cfbc3253c00000000000000005a52b23c9dd21b3c0000000000000000ba98233c3724963b0000000000000000000000000000000000000000000000000dd1d4bb014500ba5e44783c6559b03ba8a71cbca11571bb5c94cd3c368e843c867016bcff8d81ba059ccf3c538cb83ced1ee0bbbdd1e7babf50b03c8f07b53c735c83bb98e937ba1e05743c52698d3cc05440bbb676ceba3725463c8c1e543c57b8bcba0df2be39797dbc3b0814d93b9c1eaa3ac8c29db862fb073b5d14c73a8e7e813a525a20392633e0ba2c2356bb268c163afc5713bb26ed063c2b601c3c7b63343b74db28bb1dc11d3cece30e3d1369143cf4e001ba50f53d3ce19cad3c3431413c8ea36b3a9c0e2a3c3c40893c8a4c393cf4b3813ba8e8d43bcf83473c1849113c12d85d3be5f9f73ab3222b3cd6b1c83b76731c3b670872bb3fab153cfe5f203bf7fdd63a0861fdbb3b138c3a1ce00fba924530ba10c5dcbb53b4463bdf7edbbd342b20bc91a504b9e739ba3bd5e123be0b4020bd1251e5bac0a6253b0e7c24beec3d91bdbc699cbc6e4462b913ad0dbeb1ff9abdbc66debcd75595bbe78dd3bdda808abd6099f1bcda4a17bc629294bdc94f56bd5a6ac1bc84ab21bca4591cbd4ee600bd170678bc9ec004bc5c7707bcc74a26bc351df4bba02eaabbf4274c3cafce083ceb345c3bf7718e394187f33cc06f4abe3020a93f38cf1c3d59e2e33cb0e267bec12b9e3f07656c3dd528383c6f093dbedf5c873fbc0df83d959b673b938a1bbedc6f553f4642153ef362b5b906b7f8bd2c471a3f7661143e9b98bb3b810ab8bdcefdc43e48e2f43d07e8143ccbe55ebd0e94373ea72faa3d948c043c249cbcba9447263c0dec2c3d19de383c8cf1ad3abb71cfbdf1ca03bcc0c5e7bc9f3a53b900000000000000005997a0bc7dc07b3b00000000000000000056d1bbdfb8873b00000000000000002717893b7805f03b00000000000000004ba7583c665e323c000000000000000030bf3c3ccaad583c000000000000000039a6f83b2aeb423c00000000000000000753f73b5863063c00000000000000002a0ab6bbd838643b0000000000000000679fa1bb1f10a4ba60851c3c692bb53ba4360bbc671729bbf423a13c2c2b863ccd6306bcea7d79ba1d1ca13ca06aa93ce143dcbb462fe8bad46e933cc98caa3cb57b7ebb6b68abba299e483c0cd7823cb15977bb5a195bba24a7233c8d8e333c535aadbadbcc72ba2cd83a3b56440b3cbf2cc0b941471a3ac828903ae815a93a6ef6b53a0db8ac38aa7dcfbad4a6f7ba5d3b343a9ed11bbb25da163c3cdf103c6dcbdf3ba10bbcba4b3d193c70aac23cee443f3cbd758d3a53345a3cab15673cbca85e3c516a693b7755263cdea38d3c21da4a3caf62943b1d4dba3b102f1e3c46cd343ceff1703b9ae9293bada8553c5e90b63b46177c3bc912b7ba6a171d3c6c834a3b3abd993aab6aa0bb65fe743bc91fafba6e1f61b849cee5bb6623a43a751097bd166a3dbc6a72ecbb62180b3c373205be53d366bd3c377bbc37f2903b564002be84a2a6bd5eb1f5bc0bf9f0ba5002efbda65daebd7dc816bd8d7abcbb3c7eaabd508892bd1ccb0ebd4e7b42bc208979bd41836ebdfd78eebc2ba334bcf05d02bd2fc50abd0834a3bc44ce0abc11cad8bb1fac4dbce89ecabbe5e6cbbbc7d2233c9a2ca43b6be26c3b52ffd7b9fbd1f63c6b594dbec2208d3f5002803e365f073d934872be1a668a3fb3378b3e37084a3c1eca3abec171653ff911983e9652123cba0d2bbecf44383f83d4903e579ea13b3f3bf8bdaaf3013f9e98783ebed6143cb816cdbdd0cda63e81c8443e73a5133cbb8e7dbd889c1e3e634efd3dd96b163c94db91bcc1d6083c17355b3ddce8493c6584753b67cc93bda0987cbb55ea94bd5810f53b0000000000000000f9f184bd8fd6453c0000000000000000eec80cbdc925383c00000000000000007d55abbcbbb5733c00000000000000002e332ebbbd7f943c0000000000000000c60d56bbff659f3c0000000000000000cc2580bb60fc8f3c00000000000000009edf8ebbfce4503c0000000000000000ad315dbc4ae5e03b0000000000000000f09f96bbfbca3dba877b0b3c1daac33baea8f9bb300908bbad967a3c29b1873c207d06bc67a305bb3eb38b3c44f2b13c5c5899bb0c8e33bbc6e0583cd384a63cf57495bb2a9dadba7a952e3c48c2893ccd0207bbc46c0abb0cdd023c4664453cdf65f6baf85ecab9a792933bd1ccd63bffe0cc38e16241b9c34f813a0b67913a38bb8cb9a783793ae77f9cba075d16bbe0e31c3b276340bbe5891a3c41bf3a3b76a8223c26db17bbaaab313c2006923c883d773cd8d1fc385c46413c35ae9f3c27c1883c920d313bf03df63b3261873cec3d703c469ead3ba035cd3bd708673c25ae373c97c7863bb0b2ee39a9214d3c371fd13be81e8c3b6e32b6ba392b053ca9fd433b7f17bf3a3c1fb1bbb0b7673b3e8581ba2e7538ba3e3c71bbf1fdb03a4e847dbd0cc5a5bc8b7a7ebcdd9b503c2bd9d1bda2cc93bd361dc5bcdcd0ea3b2ef8debd396cc6bdedf91bbd1e3a763a2a77b7bdea12cbbdbbee2bbdc64ee0bbccb091bde2ffadbdda652cbdf54e3ebcbf4442bdf85c83bd185e01bd29973fbc8182c6bcbd991bbd5611a1bccbcf33bcb4bb9dbb9f7558bc5dc4f1bbfc8acebb2a7e043c6998bf3bf073ad3bac05d7396bb0c83cc40e3abeff9e693f1891f43e1ea4e23c06c05bbe9d3d603f933ffe3ea54d763cbc9d3dbeea793c3f93dcf73ed5eb173c9ed61cbe6112123fbba6de3e395bf83b057302be23b6d03e7553b83e8681123cdb2fbebd666c7f3e7c95883ee687383c222271bd0172e23d4c4b283e32cb503c5f9faabc844bb43b05b5813d76f84e3c3062b6bb655d80bd936047bcaff1ebbdc6dc2e3c00000000000000003b27e1bdb5e6a53c00000000000000001da095bd3d9b953c000000000000000034a634bdad0eb03c00000000000000007571bebcb9a7bf3c0000000000000000473480bc4d88c43c0000000000000000a4a14abc0b59ba3c0000000000000000b63d37bc94c5883c0000000000000000600db3bcb57f173c0000000000000000c03744bb966921bba900e13b9814de3b1889bdbbee205abb2a31413c0f8e8c3c831fb3bbada140bb774d523c86cca83cd7dfa7bb491b67bb165a413cd1f9b73c5f3310bbc71eb1ba734dfc3bd873623c1d5f3bbb025369baf2a58f3b388c3a3c38abc1ba6d8e1eba33eeca3a0db7e93be7c9ccb96c90443aced1aab9efc3e53a10278c39b8fa07b96e916dba992f95bb9ac8613b78f037bb25d7173c0404143b09623e3c1853d1ba5242083cfd75913c8360813ce6e4183b84480e3c47527c3cf064813ce000c23b46c3cb3b642b9b3ce274593ca0fbcf3b0379c13bf5dfe63b186d4f3c2670b23b51980f3b51dc443c18ebd73ba53f6e3b1b5fafb9885ccd3b2137493b6649b73a59fd31bb604cd73a83a6c63a996ef5ba02711ebb9e3b5339c3ab49bd07ceebbc9a3f97bc5f074b3c9b7c9ebd791db6bd7683f8bc0a38073c004ca1bd8c07dfbd8b0630bd3e4649bb0f4e94bde0e9e1bd911253bdea2912bcc78a53bd6032a4bd12fd38bd4b5877bccee50cbdc2e88abde3ec23bddd4a48bc957a64bc48862ebdf9b7a6bc64dc35bc2d0ec7ba4bd86ebc5f8dd4bbd1aff2bbc135043ce28ddb3b5cefae3baf95ad39c0619f3cefe618be7b3f313f453b333f497aaa3cc32b35be9a40263f8a4b393f0d8b213cc6f015be4848093fa186293f6515f43bfaa107bebc8ed43efe3d153f5f609eba0d51b9bdabb8933e184dde3e69e2013ce99ea9bde4fd2f3eca2cab3eaf500a3c42f54fbdb487963d48d2463e5d401f3cb782a1bce79b85bbff7f923d56a1243c794395ba9ae456bdcf6f99bca1cd19bea86d803c0000000000000000451618beb839db3c00000000000000000a4ab8bd41b3cc3c00000000000000002bf271bdb499dc3c000000000000000074c876bc65cad13c00000000000000007ed1acbc1ff8f23c0000000000000000530268bce433c13c0000000000000000341984bc526aa93c000000000000000090c0c7bc5af51f3c00000000000000006758edbad61534bb4627a03b1e36013c451a8dbb903eafbb4efef93b7e2aa13ca4e9a6bbb1c7b4bba4792b3cb974be3c8fb197bb08c64abb0da4023c1e1caf3c377152bba0d44ebb931ed83b224f8c3cd67613bbf91d0cbb9709943b80f4423cccedcfba77079fb74e52ba3afeb0f03be9b4eab936c5553ab48e6db9f7d08e3a99ca68b86799073b3d2415bb6904adba40ea963be41c54bbe3b8be3b0de4653b8677683c648532bb339ac53bcfea953caa25903ceb200d3b89eff53b66a49b3cfa489a3c8b26803bdee5d23b98af853c670f863cbbedd83bb68f843bfe846c3c0283423cb969b73b9883043b4962193c0c2df73b21da8e3b2be6f9b94854a33b82993e3b81ccc03a9798acba884f09bad20fc1ba708262baba0235bbd5660bbbfa8d10bd9eb031bd9ab397bc42de573cdd764cbd729ce2bda7fa06bd4769133c7cff62bd9d9105be99cd47bd2c90a2bac4434bbddfa4fcbd6a1b53bd411f16bc13b418bdd755d1bd891f4dbdbc3481bca60fb3bc083d9cbdec0c17bdae5a7abccfba26bc497937bdec6cbebcf5975bbc987fef39427c6ebc8332f7bb3f94eabb02b7e03b6f39d03bbe58e63b60bad2b9d66d5a3c1e0de3bd3c17ef3ee5f36b3f9ccd873cb40909bee361d63e7f40703f0785e23bdbebedbd3116af3ea7c7593f49366f3bd251cabd2183843edd20363f0ad4633bb18aadbd0ccf333e801f0e3f5317be3bdfe379bd8998c93d84f5c43ebf88f63b503419bd7f3b0e3d3cbf613e3a2dda3bb74c4ebcd90d02bce2418f3d232a173c78164d3b8c432ebd590c04bdf42f38bee896af3c000000000000000026d338be2181053d0000000000000000ac6eefbdf8daee3c0000000000000000e05190bdd214033d000000000000000069ae10bda879043d0000000000000000cf49a8bcbfaeff3c00000000000000001e245abc6ed3e93c000000000000000029e684bce93eb73c0000000000000000631dc2bcae112e3c00000000000000000cb847ba2f9b78bb2171c23a6972223cb71229bb33b6bebb1de28d3b5461b83c936682bb8705adbb0cd0e83bee56c63ccfeb43bb02b1ccbb6f84e53b3755c23c49751bbb4c6f32bbbbfd953bb5a6863c761917bbd460c3ba1afb5c3bfaf85f3ce12dd1b78c26e3bad93f233acd89c73b46bbccb9ff382e3a4dfe92b66663623ba6c68139fc150a3b63aeb0ba82d40bbb5905a03bc43a99bb414d4b3bb174c83bdeb56b3cb9ec32bbb0af633bae977d3c6805963cfd54473bbc14c33b4d2e873c0019a23cbf2ab23bd6dc7a3b9283933c9bcb843cba73df3bd563353b93dc303c8f02513ceaebd33bebe1a53ac3c8f63bb5d0003cc9d58e3be4259239b216893bfd28fe3a29bf133bdc85b0b9a34f5bbb4111d0ba0a023dba23aef8ba0fed67bbfa9b70bca91175bd98a65bbc3f53743c5007c4bcf10c0abe7fe9f4bc348de03bf27310bd44df10be7e7f4ebd6ef39dbbbe82efbcd4d00dbe5b1f6abd8c103cbc303bc0bc1b96d4bd0a3359bde6987ebcb01953bc249da9bdab7f29bdf28e8bbc21cf2abbd4a73ebda48ec3bc5e0e52bc273e933aa05d89bc4e5caebbc0f116bc94b5823b3394143ccf47b83bbcc4a6b921bc183c48268ebd2f21783e05e28d3f456d003c87dea3bdadd5463e6d95903fac31afb8176c91bdf4562b3ee3b5783fbc09293adf8c8bbd81c3e33d83ac533f09a0a3ba356f53bd4a6b983d26461c3f641f313bd33326bd2f83fd3c0204dc3eefc6763bd82bd3bcd2adde3ae43b6e3eb6fe2e3b4dd286bb28ef11bc3507793d38c0793bf58abe3b1752b0bcb86947bdf6064fbe5f7ad33c000000000000000066f445bed5a71e3d00000000000000007e71d6bd8982fe3c0000000000000000bdc888bdae81093d0000000000000000d3b2b1bc3e62f43c0000000000000000a3c135bce52b033d0000000000000000720fcabb8b27de3c0000000000000000f5a5f5bb42a0a53c0000000000000000cafd8abcedbb213c00000000000000006a542d39879ba4bbe5491abac2587d3caef9feb9d1e916bc4a3c7aba2d6fe23c708a41bba4f1f0bb18d2413bf288f23c5b2149bb19f7cdbb106f343bb254c43cdfa3dfba273081bb1c78303b9a33973ccbedc7ba1468ffba10be5b394c66783c0b5805bb23bf8d39931841bacea60b3c89c3e3b91242173b1ad0bdb9d510a53ad7c7be39b5cedc3a70b9fcba4ff89ebaf993d03bc3cca4bbf39daf3ac94f123ccc1e823c2636adbbb910a63a004b7f3c46aeab3c36a1023b27ba273b5f79993ca744b93cc660a03b41271a3b0add913c95f2943c508fef3b1864603ab197513c3c1b513c6d29cc3bbbf02a3a2ca1ca3b0f78003cc437ac3b9375383ae3c3523ae3c37b3b0691c83a3ad7a03a5b08ebbb574e24bb99b747ba2d9aa3b87613d4bbe6d09dbbac94c9bda4f339bc36e2473ce6a1203c2d5926beff97ccbc3c4b1f3ca67aaabb5c4533bea12353bda9ff82bb2813f3bb0a2c1bbecffc77bd111e49bcfef1dbbb5f8ef1bd903862bd8192a7bcd4d918ba7c18afbdf5d330bde9ed94bcf42f683bcd5a4cbd6416d0bc49c685bc467ca73a9e8f67bc427503bc6a462abcf892993be8e1463c4e291a3ceb1232b94efcae3aa7dec1bc67c9063d188fa93f55c4ec389c3beabc671b44bcb8a9a13f9a825abb0a3608bd3d370fbcbbff8d3f8f1738bb1f6a10bd95e279bcb7ae643f116928bb7843f5bcc24db9bcbffa293f442220b8390199bc50f5f8bce0ebe23e280a773ac4650fbcbaadcbbc25566a3e3add60bac2aa6a3bc73dfb3a94a2213dc59aac3a7cb93e3c0ca351bca4b9b7bd39c847be4871c23c0000000000000000bd5b35be26cf033d0000000000000000d833b9bda1f2db3c0000000000000000df8906bd51e1e43c000000000000000025602b3b29b7053d00000000000000006c285d3ca13df93c000000000000000042e4643c3fcdd53c00000000000000003580343c7eeba83c0000000000000000e7785fbced34dc3b000000000000000000000000000000000000000000000000e36de4ba97b7f9bb58eeff3a332adc3c0d8860bbcd13d9bb10b3023b198bc93c809906bb7a249cbb289c643b5591b83c2a5001bb5b626fbbf0c9363b3242803c2c080cbbe8639ebacb58893ae065483c447e26b9ef0615bab7121eb9b4c0d93b0a88ac39afc3273a8becbeba33e22c3b0000000000000000000000000000000000000000000000000000000000000000c6828d3c98a2ddb7edb3d83a5331873c6306a53c35a9943b0c30853b3b038e3ccd86983ceed6f03bc3aa1e3bc3695f3c17fd883cf3e7163c9f800a3b82c02f3ccb753e3c156fe43bb8c4af3a365dc63ba7e3ed3b431a943b8bf96db740475abac792073a587f013b20c05bba347062bb000000000000000000000000000000000000000000000000000000000000000018f3103bb09d2fbe0fbe1fbdd59d9cba56751a3b565c21beca275dbd6bde4dbc3f1897bbfde30fbeca6e7fbd3614aebc71e9f4ba524de0bde2a56bbdfcc3cdbcc585253b53e0a4bdcc0230bd811da4bcd200e23bc46d3dbd3cc5cebc2eb076bcbde5a83b30c82bbc91efabbb5beee3bb000000000000000000000000000000000000000000000000000000000000803fa75eecbb1ef2433bc812fabd1ce6a93fab7c05bc6a832ebcca0ccebd30708b3f951adfbb294c5abc450eacbd8440623fc816c0bbd4126cbc56a29fbdc9d1283f36516abba1380dbcb15e86bddf8edf3e90d5cfb9e56036b9042c3cbd6ad9663e1a63093a9dae173c198ed5bc864fd33c0000000000000000000000000000000000000000000000000000000000000000c1d59ebd7b418c3c000000000000000008d62abcc68eb63c0000000000000000c092ff3c7c01e43c0000000000000000fb6d433d080ef13c000000000000000083953c3ddf6dcb3c000000000000000045f4073de986bd3c0000000000000000b400303c8dbd3f3c00000000000000000000000000000000000000000000000000000000000000000000000000000000334abcbb0e12c6ba8bc7293cb3eb813cca7db6bb506c25bba8b5023ce09c893c2c4c8abb522047bb9dcccd3bda9b8a3c1fb25bbb802b51bbdb1a7f3bc2d84d3c3d6025bbbf5b48bb5c06f43af4151b3c6a8e9fba1ff84ebba548f8396b6d9a3ba3f16aba5121cdbaddce10bafd226d390000000000000000000000000000000000000000000000000000000000000000724d603cbc25963b10bfa63cd16e6ebc20f5923ce1a8153c3b86ad3c546f88bbe6a9a33c6bfb2a3c5a7a993c1b1f29bb8d1a923ccdfb453cfc0b8a3c04f7523bfc95693c098d3a3cd31a583c2900cc3b069b183c4d13f83be736103cfd321b3c99ef2d3bb67f873be80a903bba04f13b00000000000000000000000000000000000000000000000000000000000000005862c9bd2e0289bdfc84ffbc06f286bb1a04b6bd46d59abd819e41bd670a90bc7caba1bda7679abd8ff75ebd6a7cd7bcf68577bdb96d83bdd72d54bdf861fcbc2fda28bd954047bde1a933bd398bf8bce169c1bc30d4ecbc469adebc1b23b8bcd0fb95bbf644e7bbe19b19bc913330bc0000000000000000000000000000000000000000000000000000803f000000002d18f8bcc84448bdb60c953f9e03293d17d934bd0f115ebd0975763f67c1a23d942751bdc4bc6ebd5a68463f67f3c93dbb4a56bde9b68abde389153f7988c23d05532cbde8bc92bd0564cd3e1091943dab1ed2bc51b488bd20c7683e644e253d20aea9bbbc696bbd87e5783d3db15c3a00000000000000000000000000000000000000000000000000000000000000004086ce3cd30e80bb0000000000000000549f4f3d07002d3c0000000000000000b3558f3da0b6c03c000000000000000094d1943d12e4f73c00000000000000001e6d823df4390c3d000000000000000049c2313d9f0df03c00000000000000004da7873c8d459d3c000000000000000000000000000000000000000000000000315057bb1c1107bb88bceb3ba641ea3ba535f4bba598b5bb8ee9f83b2db1753ca171e0bb9739bdbbeb25a23be7f4903cb56a9ebb1d7cd1bb48aa813bcb627c3c53e882bba2c3acbb7f63143b8c99313c0abd42bb5837a7bb73fa41b86ec8eb3b5e2d9cba489780bb8a454eba88683c3b845795388d334fbab836223ae799b239ecff153a321edfb8ab9c9e39cbb919bb9456a23b168225ba41b88c3c720785bce589823ccfa4a53b0f3e003d431df93ae878b73cdb612f3c0b8ef83c6678c03b0a0bab3c83d17a3c4813d23c2577143cb0afa03c9faa773ca0a3a73ca4c34c3c28b46b3cafba5a3c8733873cdc9b793c7edb133cd759223c0b1b063c3ad3583c3e73ee3adb1d433b9cf403bbc55ca63b1dc035bb435c54bad6633fbb8b108c3ac3c181bd4b3d05bdc68e50bc47ed243cd282bdbda44489bd98661abdd09e30bb1589bbbd0154acbddccb6cbd35149cbca7ea98bda311a5bd316881bdd7c1fdbc423563bd0d3d88bdd9ed6ebd72411abd990d11bd40da48bda7c23dbd6a5009bdde5984bc0351dcbc14f4ecbc474bdabc4f2e69bb92afaebb8c79dbbbe32830bc884d023cae4c0c3cfaaa103c63d8a23a007349bc29ed99bd38c8943f31c2093e0c8707bd3588e8bdede08b3f01f6223e46f74fbd3cfed3bd0f486b3f8c5b4a3e493360bd9d32d0bde17e393f6014483e6dc24ebd9a71cebd4dbb073f7aa32e3e13a819bdf50dcfbd7630b53ec522043e6b857bbc092ab6bd3fb43f3e304a9a3de5545f3c65f06fbd289d3e3ddae19a3c06b5aa3c51dd0abdac9d7abdb30dd5bc68b7c9bc7a0780bc00000000000000007dda273b337bb7bb0000000000000000a5043d3d0309033c00000000000000007f5c853d87deb93c00000000000000005a7f953d01760b3d000000000000000017127d3d085d0d3d00000000000000009713223dcd510b3d000000000000000081ad2f3c766fb13c00000000000000001fc768bcd503043c0000000000000000eeb12abb269f33bb9491893bbd81c73b435fc1bb6903bdbb01d1d63bbf805d3c724ba8bb412386bb5388c23b862c733ccc3aacbb5f65e3bbeb35363b35a6643cdb4f4cbb4759a1bbf843103be3092e3c71b90cbbfa7db0bbf69a83bab794c73b559b9dba8b7f89bb71d3a8ba6093673bc867fcb88278e8bacdc5c939a69f0e3a374bab3ab8773539456147b99c16faba39e8b83b28bf19b9487c8d3c33f840bc8cb06c3c5a61d83b5c2be73ca02b89b9a3d59a3cc9ee2e3cd419c23c7f411cb92cc7ad3cf0cd853c1143d63ca9e84b3cfca1893c79366a3c4b998c3c940f2e3c38776c3cfd79723cbc5b773c822a7a3c3b5e013cff89283c988c283c9cbd473c84c2de3aaf12913ba8c42139fbf6b03b8fe864bb458808ba1b999abbbed881392a0639bd465ecfbcbb459ebc47300f3c173b9ebdf37d88bd4af837bdd9988abbbff297bdac989bbd2f966ebd3b7ab7bc068f82bd1efda5bd42328bbd651f10bd845b39bd008881bd46726ebd50e51abd73ffe4bc26203ebd8c6f4cbd37131dbd286151bc729be3bcd771fbbcc88ce5bc169d80bac13605bc4c360dbc065e5abc0b29df3b48c1273c0429ea3b75de003b4e3847bce983aebd2dfc7b3f8cb1983e78b800bd09edfcbd365c723f6754a63e6be32fbdfe1dbfbdd0f5433f0a67a23ed0a049bd3faeeebd4e8f1f3fa73a993e95b534bd8be9cebdbddfe53e4f45753e8c59f6bcf69eddbd80d5973e1957393ef3a197bcce13adbded3b253e605cda3de3e35e3c4e5980bdfc4a103d6487183dcae6bb3c61b4e6bc434f42bdb4709fbca1cf21bd879081bc0000000000000000ba2c1bbc83ac49bb00000000000000007fd11c3d03b16e3c0000000000000000ecc3753db33be23c0000000000000000a7b0883d9c761e3d00000000000000006d8d673dd4722f3d0000000000000000d87e103d6146133d00000000000000005a6d933b49dfd13c0000000000000000ed828bbc61afc63b0000000000000000651f27bb13f0c5ba67158e3b0d41df3b7b7da2bbbc89bebb2e86813b278a5f3c033a8cbbec2cf5bb8305283b43a26c3c367b75bbd410f4bb8e23983a5036493ca6f46fbb4b93aebbce8f5bba4c230a3c457209bb455cb2bb345ce3ba5767ac3b526083b98e0c96bb94d4f6ba5edbce3a9485e939b64bf5ba59cdd9b9725e9439c631353a90fc00ba2455263a0eac10bb626e753b42a92e3a68e3753c449454bcbf0b693c3fe40c3c6f04d13c7156393b187bab3c3adc753cff52d33c1bb7153cf3bdab3c91808e3caae1b43c0016733ce1d1973c325f943c0e0c9c3c0f568d3c488a593ce93d873c6daa5c3c4754923cfe49e63bc13a403c2c50e03b9c265f3c9d146d3a61e4a33b7ca49d383effa83bb6f783bb781c8f38f8fc14bb82782739c18a2abd4a80e0bcec4cb1bca0f6063c9bdb88bdc8c18bbd010853bdfaabe2bb54eb82bd5b2caabd2abf8cbde307e2bce92c4fbd5fc2a1bde52f91bd74c222bdb61316bd0c7085bd0a9683bdc27c3cbd5e2facbc37a23ebd557c54bd944626bdd22bc4bb42c6c7bc7298ffbc5313ffbceb97d13a5634b0bb15ad2bbcf95661bc14c3f23bc0cb103ca198d23bc4ae003bebfa6cbc80f198bdb2ca503fab63f43e0f7bf3bc2ee1ebbdfe39473f30a6fc3ee8372fbd30e8ebbd059f263f3750ed3ecf8a34bd24cbeebd604d013f7ce4cd3e98ea29bd511be4bd27b5b93efa1ea53e2569d2bcd602ddbd7cb36d3ed105713e30b3ecbbb4feb6bd8c55e63d67890e3e3e475b3c27ba72bd8cdca23c9120473d9fd5a93cb85cf0bc8ab639bd297da1bc353e3dbd530392bc0000000000000000f566a6bcc81220bb0000000000000000b1c6ef3c38e18b3c0000000000000000314d653d39830b3d000000000000000023e3853dc7893d3d0000000000000000c8c3633daaed3a3d0000000000000000fb84f73cb262293d0000000000000000ceb03b3a3ea9e93c00000000000000005ee4aabcc3abe53b00000000000000003c61c2ba7fa36dbbaa865f3bdf3bea3b57438fbbc74ac7bb47e58c3b42a4e93bbdff47bb1e0de9bb03df033b4b5f523cd4e08abb6ac2d4bbabd9acbac309393c1176e1ba6bb8a3bb611b753ae264173c0f06f0baed26c0bb752cf5ba7923843b80c814baa55c68bbcb2c1abb1fb3ae3a0af3fdb93a448eb94e5652ba47bfdbbaffef703a80373bba5677813a1af7a2ba93f98d3bb4a2c33ab42e6e3c054c1bbce096963c2365153c52bac13ce417b33b19a49e3cfd7c793c7816a63cf56c263c034bab3ce05e9c3cbc74ab3c7f729b3cb9047c3c1b8c733c796f6c3cf8982e3c0d424f3c6ff2913cdea8473ca000973c9ba0f83b58b32c3c5611e23bcc54533c05f2043beee78a3bac67333932ba673b8c6d73bbb14a4aba3b18caba3a9c12bbf6fe18bd5996f6bc52e6cdbc0a8ce43b3d905abd7f0c8fbd16c969bdb63a47bc43204abd1208a8bd831a8ebd4d6403bd7b5526bd14e4a4bdb6e797bd87013abdf427fcbc9d3974bd278178bdb80838bd6be94fbc865f35bdb6f756bd021b40bd209c4cbb83b3c5bc511dfbbc81d202bd51a1e03bdda28abb528446bcec6c36bc2275ae3b5cd3103c7e46083cc808db3ad6a364bc7f2b86bd1a32243faa51273f8778f6bcc276d1bd83ff193f30ca283f687b1abdfc6fd0bd78b7fc3e191d173fef8928bd6e46e3bd425bc33e05bd013f8e0818bd8ffab1bd25e68a3ebbcdc03e952bc7bc9c40cfbd4a2c273e6d2a913e1ae606bc5c4ba3bd088d963d4d64293e9b924b3cd46d61bdc3dc8bba5ebf7e3d162a9e3c1d00acbc2ec932bdf8feb4bcbbb468bd2e439fbc0000000000000000aa86dabc68720a3b00000000000000000bfbdd3c5bb2c13c0000000000000000c5a7603dfa8b273d00000000000000004794813d2a454d3d000000000000000048815f3ded9d5f3d0000000000000000d6ddee3cfa55383d0000000000000000e07645bb4124f03c0000000000000000f2d0c5bc5ac9bd3b00000000000000001386c4ba6f0839bb8dc2ae3abe66f93b08ae5dbb8693ecbb36722a3b3a9b2e3cd5c67dbba49bdcbbf452cdba5c6e413cfcd050bb037600bc98edadbaa7f21d3ca0e72abb5217d5bb3e9019bba426be3bd71abcbab6d8a4bb227647bbae5e503bce8ee7b99bbd70bb68a90ebb37f0373aa98e1b3aae4caabafd4739baec88f3375c41803972993e395dd45e3ae9c426bb2cb6773b5be4273bb8a24e3c469b83bbb1b06d3c92313b3c8073a63c1f8e1f3c1978a33cc43f8f3c44a69e3c5af39e3c0b9d9e3cc0f7b03c43629b3cbb8fad3ce23a9b3c209ea03c4ad9733c11ffb33cfd414e3c07438d3cdca01e3c1c68973c1500ae3bde985a3c3f0a893b7230593cf011613a2220a13b650adaba2b317e3b481e34bbdb52ffb99afe0ebbfdc486b971570abdd19507bd3af8dbbc5f24a63b86f935bda0149abd63e972bd461251bc59f920bd7cd0b3bd503898bd770d15bd55aef8bc6744a8bd8ffd9bbd86b345bd21f594bcf85384bd7a338dbd60ef5abd0429b8bb5e393cbdb27059bd4ee840bd9fd8463bf6edbbbc86a405bd10c80bbd860d923b5c34a2bbec9e36bc12c862bcb916b93b56cd093cca60de3b06f7783bc5c267bcf5bb61bd5e76ee3e676a533ff21ad0bcef7db9bd68a1d93e3921533fda4105bdcb6dc9bd1f5ab03eb21e3b3ff3ce11bde680ccbd2160843e96171b3f383e06bdb8a2c8bde12e333e0208ee3ef28982bc79d9bbbd2603c43d7f55a83e98fbdebada1f95bd93ddde3c62b1443e48cb733cafa125bd28e793bc34b28b3dd9a1843cff228bbc63022abd9090d6bc94e686bd311f8bbc000000000000000067c31cbd4aa7873b000000000000000001c8a93c9926eb3c0000000000000000e0db503d70703e3d00000000000000004a6f843dbc3d6e3d0000000000000000a179513d816d6e3d0000000000000000a610df3c0d64473d000000000000000080d5b8bb2da0003d00000000000000005a63c9bc6a15953b000000000000000039959abab3c75abb2c9189b977fbf53ba0824ebb984ad1bb148cedb9d569293c545868bb5723bbbb884db2ba94c23e3c6a2f1ebb769f18bca0fcf9ba6a370e3c235ec3ba14dbcabb7e3999ba9cfad73ba77cbfba9406a3bb926474bb92e9503bb28277b9173188bb51c7bbba4ec7343801bb9ab89762f6b95ccca8b99846573a8b4ea43a3ae953391da41f3a68dea8ba306b913b97a61e3b71eb1a3c215ca13b59ae7b3c1e92523cf899763c444f8e3c03b4a83c159e8c3c17ba7f3c97068e3cc806a63c7368b73cfaa17a3c587fd23c38307a3c8150983c508e2e3cfaa29f3ca4b74b3cda06973ce857ea3be671a63c3054013ca72b433cc2e0923b4919583c63a09b398a539d3b0ae11abb8e166f3b976058bb187184baaaa37cbb362e54bb1ba4e8bc6fa221bdd9bdd7bcce21db3b88ba08bdc73eaabd717d7ebd45a489bc440a04bd8ee0b2bd850497bd429720bddd0695bcb9a6adbd0967a3bd4a3b61bde30554bcc16c81bd56b784bd8c7a55bdaa8129ba78be34bdf6e160bd22584dbd9bf0043b9b25c5bca3f405bd2f9a0fbd87bab53bbebbc1bb4f7625bc94645cbc691c8f3b15890d3c92e6f63b064a993b1ba220bc94ff38bdc06e923efdd07d3f9d909cbcacaa99bdbfca7c3ed5517b3f7052f8bc7ba48fbd27f0533e72a84f3fcb39f4bc8ee7babd8c4e0f3ebd55323f3aa6c8bc15a6a4bd6c4bb23daa92033f9bfb57bc3e37a3bd138def3ce72abc3e87f19fbb62df6bbd9acf06bb280f583e020a463c88e6fabcf51d06bd0ca6933d59b08a3cd97b95bb47b817bdb10f09bda3bd9cbdbaea85bc0000000000000000fdd430bdcf3b243c0000000000000000ba48063db827133d0000000000000000399a653dcce35e3d000000000000000003f5833d36c0803d000000000000000062195c3d7892823d00000000000000008badf43cac34473d0000000000000000c765d5bb73ae0e3d0000000000000000c0ced6bc5039a73b00000000000000007fc643ba835451bb6494b7ba6bba0b3c8c5a04bbb98e0ebcd11850bbc68f213c5f6c40bb51d5ffbb0015a0bb202e2a3ccfe014bbee35fdbb7336a4bb486adb3b417cf6ba84cdd5bb5f88b2bb03dcba3b309dd4bad27b4abb4864a0bb25a1b03a514a363a1acb61bb00df75bbc2b9d9393a06d13919ddf43951cd0bb925cb93393c9f6a3ab129a63a4f2af23859f9103996eaf93b4c32313b1b41c13bd3191e3cc5858a3ce6735a3c3b0d373c2d33ec3cc921ac3c3023ad3ca32c4b3c441ef43ced2eb23c33b1c53c79933d3c4279ef3c7aff8d3c4bffb13c700e1d3cd083d33c22b1523c9674953cc1ce843b36ecac3cc81ddb3b7898433cf5a134ba75e8563c1aed863ad7ea883b4c179fbb44dbbbb9377d7abbe5b304bb699da0bb9b5f85bbc0a7c8bce9b07cbd65d10abd62e79e3b15c393bc77fbc5bd20ae80bdbb5a8cbcc30174bc6c90cebdb79fa4bdefad39bd93560dbc5de6b3bdc991a4bd83e973bd567021ba2b8f88bd4e9f90bde26c7cbd5a44bc3bb12b36bd08b556bdfc7758bdf0f13e3cb8bfb9bc124305bdc3b70cbd3a2ddf3b42f5b3bb36760dbcf78749bcb7a7b23b49eb163ccdcd113c3139d13b94ef0cbca47ae4bc246ff33d706e953f13a987bc37d56abd98529c3d10798e3f41d3c2bce05e8cbd0dab693d6f88723f7610c3bce9c792bd3d7ecb3cec85423f3ebcafbc227593bdf256daba025e113fb6e506bcbf3a85bd138602bd9d8ac73ee340363bbbe739bda5af4ebd34d65c3ef32d663c8f3552bc77eb38bd356d853d93757a3ccc33193bdbbd23bd19b45ebd3a9c7ebde2eb6fbc0000000000000000a3f405bd40f8343c000000000000000026631f3dbd30273d000000000000000008ca923d7a287f3d0000000000000000a41ea03d211b943d000000000000000054bd7d3d5e628c3d000000000000000080ff023d4bb9613d0000000000000000399d26bb93b70a3d00000000000000008ffff0bc01b0753b0000000000000000000000000000000000000000000000004b2f53bbc7aab7bb8994c1ba634f3b3cffb74bbbca35dbbb58206dbb193b1c3c336c26bb4db3c4bb63a32abbe18afe3bee660abba34caabb4fb063bb01f5d33bbcbac0baa84681bb13e883bba7b1743b171d61b9b1f90bbb693841bb10bbb63a617d8b39deec15bada8fe4ba0d911aba00000000000000000000000000000000000000000000000000000000000000003f288a3cf5f9643c97621f3c7751b93c65759e3c533a9f3cf276393ca22edc3cf47e9c3c85fba43c655b1d3c3c8ec63c1035873cb0818c3ca3aef73bde5ac73c6936473c3f84833ca530bc3b5ddf953c4dcec13b4c54313cc56f853702ff503ca4e9463a6e26923ba53916bb8d81943b00000000000000000000000000000000000000000000000000000000000000003812c0bcfbcbcdbdbfb184bd5087debcdaba2fbcb26ebcbd4cd89abdd38040bdf31fecbb8099a5bd21f39dbd8ac969bd0b70d8b90be288bd07bd83bdb1b465bd0059c83b97322fbd3ebb58bde4cb4ebd2b35183c030ac6bc9e0e00bd007c07bd85fd353c2fbbbdbb2dc512bc1bf753bc000000000000000000000000000000000000000000000000000000000000803f2ee780bca45cf9bcbad2f7bcb24f953f4f45b0bcb17144bdc02d2dbd22c1773f9294b9bc0dfa60bd187c45bd1bdb473f0f2d99bcde535dbdae8689bd9248173f98ac52bc407251bd6f1f90bd9076d03e662b84bac9fa0cbdf79c8cbd19736d3e185ff73b8f156dbc2ddb7cbd4206833d000000000000000000000000000000000000000000000000000000000000000059b4ab3c6646b33c0000000000000000426f843d40244c3d0000000000000000aa60af3d010f8a3d00000000000000001555ae3d3cbf9a3d0000000000000000ab50893d084a8c3d00000000000000006c21183dbdd9553d00000000000000006ad89eba12addf3c000000000000000000000000000000000000000000000000000000000000000000000000000000006bfb01bc2edb8f3bbcac223d5d647b3c290831bbdcd0923b426a0e3d448c983c986fd53acc12ed3beea0e53c401f823c10ae31394800f63ba4a7b33c7dff4e3cbf96bd3a2483d53bfefa573cf207083ce487d23a0c938a3bd27cb93b3fa7913b5030793a631ba03a01307f3a8f59b3b90000000000000000000000000000000000000000000000000000000000000000e71b29bbb47087bb14481c3b1c60d43ca422e83bc53093bbf96c2cba83d5673c8bac453c870b23bbf46d51bb017711bb411e4f3ced6a2c3985367dbbcc5a77bb54d5303c1d08f7b947d481bb2b1b0fbc675e083c31c4053aaaafeabb87f4d3bbd41f313b2626bc3a8ef2afbb6fe09fbb0000000000000000000000000000000000000000000000000000000000000000401066be698129bcdec6273c96b59bba6e3d51be7a8a18bd3b04163b52e396bbb0843bbe685340bd5871eebb7cbaaabb5b0016be8e504bbd89c30dbc53894dbb2581c1bd4bb71dbd3d9439bc91facabb325a41bd19aedebccc862cbcc5b085bb882a97bb7da4fdbb79ea03bceba26dba0000000000000000000000000000000000000000000000000000803f00000000dce2dd3ce80121be6eeaae3fa3b4f5bdd101a93c67dce3bd9eeb8d3febc807bd3548783c72f6b9bd06036b3f27c0173a49b6823c9d5e8bbd7b0b2d3fc0d0ed3ce64b1e3ce3d60ebd3d4ad63e1b7b2f3d3f68963b560b5bbbcc5e4b3ec19f3b3dcc7f743b0b41613ce18c05bce9cfe03c00000000000000000000000000000000000000000000000000000000000000000e08c93c04e4f2bb0000000000000000a68c743c9fa9d6bb00000000000000005818863c1e3fc0bb0000000000000000e9cd733c30acd5bb000000000000000055ee533c533f8bbb00000000000000006700103cbd8b88ba00000000000000001842df3b67f67bb900000000000000000000000000000000000000000000000089d906bc626f5db9bf5aa23caae6a13ba450e5bbf18bd8b9e9f8073ddb86113c033bbdbbdd91c53b7a18173d71dc943ca7c312bb9e57f73be4bc033d433b8e3cea30273adc3b003c586db23cb9a64c3cd3491e38b4f0ba3b5cbc823ca9490b3c81ea0abaa4ddd23bf6c9eb3b03119e3bfd7c46ba26e78c3ba0bc703aa0f1cbba8c201ebb263f36b9747315bb2322d2bb6aed02bcdb6071ba6e2e633bb0b1ea3c395522bbf42495baa32a94ba8f4a0d3df65ab63b69cc0bbb5d7a343b955f913c354e423c89209eba232a3fb9ca550f3c7d807e3c86fb113b5f4582bb5f337a3a66e4463cb594873bfaaf3bbb8f3fa1bb844a133c2ead783b411c76bbc5f508bc2caaca3be5b24d3b7285b1bb656903bc695345ba2a74073b746e86bbd2492c3a009907bed8bf593cea71183bae331d3bbd083abe7dcc1abcf66104bbc23e3f3ba0d754be10ba42bd8872b8bb59d0183ab27e3dbe75d779bd7cf740bc283ee6ba6d0f11be034977bdb3ee9ebcc1165abbff49bfbd64a357bd34c798bcb67578bbaf7c35bd870617bd9c1484bc582966bbddccb9bb9f9ca4bcdfc6f6bba8f75abb165ec23cdb32ae3ba5cf11bb8150e139f462493d623376be0bc3ae3fd73074bccb6f3c3d752e53be0c92993f67b3433d2077123d07643cbed6628c3fcf7e943df3b6013d1bd116be252a603fe518d03d48c0b53c37b8d1bd87ad223fef77e83da1108e3c99aa65bd33f8c53e6725ec3dd96a363cfc618dbca8592a3eb57ac23dd6e60d3be01c7d3cd4a5713cdf2e743d008f853b2f5bb63c310b01be9db00e3c2320c5bba06ff93a0000000000000000e2fa3fbc27f38e390000000000000000ebdd28bc44166bb90000000000000000d54d0ebc8321beba000000000000000007368abba96a08bb000000000000000091d7aabb734233b800000000000000008e7ac9bb0a95493a0000000000000000044906bc048b243b0000000000000000d81772bb3b9dc13a000000000000000032e2b1bb040f73bb95f0783cb15fafbac63b07bcac8e6d3b71acc33c23d97b3c7ce4d4bbea67b03b6fbaf13c96ea973c26ad30bbb572ec3bc2f1c93c5df1973c3d144abbdd94e13b4a6d9b3c554d5b3ceaa525bba4bef13b5cbe4f3c3d09063cebc954bb5d68c83ba9f9bb3bdc364f3b4e4f3fbb0ad15b3b7cc1b63adeca08bbbd2e41bb0358f2392aae4eba75bbfebb2fbdd1bbfe38033b124dc83be97f9c3c36d1edb9105990ba1d68bb3bc66ab73c33a8103c9c80df3a8bde703b0e7e893cd5c35c3ca0f3f13a4263fd3a1ab7713b3a2f773c40d7953bbe37203bb5e959bb01e6583cbd9bd53b5279fe3789d9d8bb8789193cf462cc3be1e736bb4634e3bb1fb3f03b5925ac3be66b72bb0f8ca6bbce4f1f3aba8f6b3bb7ba21bb744062b95822a9bd5e3dc03b94c704bcb707f23bf7be21be10b624bdaec411bca1a7ec3b96b133bef34c96bd628c72bcae56833b03b81cbe4fadadbda03dc3bc412c043bc1aaefbd1cc9a1bdb6cfddbc2e28c7bae87a9abdcb1088bd0882dcbcd04bcfbada5810bd81782fbdcb2ca4bc83ad5ebbe30096bba7f7b5bc8dcc5bbc5cf53fbba03e843c0f60073b4219e5399c2309bb4a8c3d3deae366be1904903f9be5573e9ef3553db5cf74bea3818d3f669a6c3ef6d7363d2fd354be4ee1773f206d7f3eb8051a3d816423be7098433f856a813e73c7e03c6695debddba50a3fa2a36c3e2ae9aa3c860e84bdff1ea53e3b844b3e4d8b823cfd54b7bc1f10093eb57b0d3e2cbf193ce856313b225d4c3b92f78c3d80a2563b045c6f3c7122a5bd5c78ba3b5fbe79bd1aea633c00000000000000001ef676bdc6ef4a3c0000000000000000cbf357bdd4841a3c0000000000000000af0e2fbdffcd173c0000000000000000e9c3f3bc3c76de3b00000000000000006defc2bc64ec8f3b0000000000000000e1ac98bc7865063c0000000000000000a05144bc8b14cd3b00000000000000009bcd4fbc8d04c43b000000000000000075d255bb8ecd4abb55a0183c1b7e6b3b61bbaabbdf0c06391e76a93cf54f663c8923abbb84678a3b23d5c23c9234a23cba696abb48feda3bf369a33caab6933c65c57cbaa6f3ce3bf0ef8e3cfb29443cde6429bb06bad03b13d0283cd009f33b6928b2bae388993bf298a63b3ff14e3b02e88fbb29be803bdcb41d3bb2992cbba3219fbb0a2516398d921aba5a9095bb6510babbfa3a413af2b5cd3bee71353c40b46c3ba9ad5f3aaabac33b0ac5833ccd49783c9aaa0bbaa603b23b391f173cb26e963cc79c213be795c53bcef90ebb7cb0a03c20c4e73bd6b461389dd396bb3072963c0967e53b48f5ae3a0c0b1bbcd466483c9417c93b994ab8bad079f9bbb5c2de3bdd5bc73b3e0b73baf176e4bb914c61ba44aa853ba2f303bbd739d93a1f2188bd5a8f66bc7fb039bc7a6f533c4ff2f3bd5fd58ebdfd7394bc16b33b3c7b6f06be5d02dcbd1769bebc1fffbd3b9225ecbd4061e3bde8e40ebdb617873b85a9bcbd1697d2bdf21d16bd7ac07d3aaffe64bd7ec2a0bd950b0dbd7e7886bb7422debcf74355bddc7ecbbcba4599bbf04f99bb4931b2bc0e094cbc228a8abba8b4523c24c9ee3a706b223a4c04abba8b99333ddc6f59bea725733f2774e13e474a423dcb3961be9626663fb55def3e7cc1243df7853ebe23d3453f61d9ee3e6146053d7dc20ebe4c021a3fa5a0da3eb6abe53c8514c9bdf616d83e749abc3ef4ad9c3cace865bd237d7d3e4ef58e3ed0c96d3cf8d0babc53a6d63d5305333ef15d023c5c5380ba943cc63b1458943dbc57053cefee083bd16483bdbd1c41bc8834f5bd4712c73c00000000000000003b32f6bd5385e13c0000000000000000313fcebdaf46a03c00000000000000002ea19ebd83528a3c00000000000000003a577abdf9ed673c00000000000000005ef226bd6a4b3e3c0000000000000000abaad3bcbec6333c0000000000000000a6e085bcd8f9203c0000000000000000516d77bc7d2de43b0000000000000000484460bb0ad95ebbb901ef3bbda09e3bdca71ebbebf80dbb612e5c3cc761963ce8828dbb4914303b7fd78f3c7ecfa43ce4d92cbbcec19a3bef418a3cfcc3a53cf864bab81e78b03b69782d3c97ff373c294001bbb800bd3b1bcd213c64edd53bc60aadba34a1873bd7cd913b48000d3be7cd38bba74e483bd9fec93a8b845dbb027936bb826cde3a4b13bcbad6e1e6bb645200bbb3d14ebaa7759b3b3f11f93bab52de3b86ea3cba4383893bdd422e3ca31e823c8cc3173b8fa8d33b5a53f43a5f46b73c5466833b58701a3b4945eeb9b8fd943cac7cec3b4caa143bc78f11bcd69b8c3c8c6e0b3c7d252a3bf9f03dbc66bf363c74c7e93bfd06d6ba606900bca6bac43b6a32c13b75d2efbab830d1bb6f7943ba2f46783b18b85fba350c08bbd2302fbd514b12bdc18884bc2134773cfd38a3bdc6f0d0bd19269fbc7970743c85b6babd3f6709be345903bd87581c3c31e6adbdc74810becf852abd9cfcbd3b14f17ebd0920e0bd627331bd55ad19bafb7135bd6f6bb7bd561b1cbd176fdcba14dfb2bcce3c56bd1088cdbca9d999bbf1ca8fbb7007abbce5b849bc5622a0bb1518283c7241b63b8b20133b58b935bb2aca123d2dca2fbeb68f353f3a18323f7fe61c3d3e0d2fbeeb86283ff185363fc603033d67e411be7da00e3f053c2f3f32d3e03c8a6de0bdbba7d93eebe51b3f25b0a63c90fc92bd5e30983ef7d3f23e0ccc8b3cf0b938bd875d373e5626b43ec93e5b3c0be0bbbce3baa83dbd39483e55b2f13bd22888bbd9742f3cfcb4873d440ba23b1dc4bf3a3dcd36bd0f3ce9bc1aef33be239c1c3d00000000000000007e842fbe52c41b3d00000000000000006f0e13be00b2f43c0000000000000000fcf6eabd99ded93c000000000000000016618cbd019e943c0000000000000000d2195bbd61f2943c0000000000000000f8f5ebbc5367693c000000000000000065c083bc50de1e3c0000000000000000b94a82bcd758203c0000000000000000d7194dbb1c3cb5bb2639843be6dbe63b38efa6bb5f6be5babe9f1f3c10c8963c7079d3bb790c733bff42593c2fe2c43c64cb6abbcdd2203b8a26693cc657a83c4bc54fbbabcec13b1af14e3cea4f803c6f352abb5c4aca3be7b8f33b3a62173c424efaba75bfd93b6e29a73b66f74a3bf02e29bb80bd5c3ba48b383b8e0186bb99a7d8ba78737239a1aada39b89702bc4674bbbae20c49ba1f129d3bc289983b80cc4b3c185192bb5f109e3b5c99803bf95ba83cc373a23a43b8953bd373273aa2bdb13cffe9913bde4cc43bf30503bc4acbb33c3ff8ff3bc658243be4241fbc9e8a923ca8d9053c5fb78c3bfe364dbc0973383c8639ef3b78841bbafaaa2bbc8d75fd3b3cd2a93ba69bc1b9b94d05bc101af43a9deb503b42bf48bb136fcdb97f689bbcfe3167bde9de61bc6b63933c548c29bd60aa08bed1c497bc09e17b3c30795ebdd4ce2fbe047007bd3c0d373ccf2551bdbca424be74df35bd3cf29e3ba8c83bbdaf480ebed5c238bd795639bbe7d802bd6e72cdbd9d351abdd1ee3dbb226bafbcddd26cbd4358e7bc2d02ccbb6d66f2bbadd4adbcb79a26bc40cafcbb2ef0913b2a36ef3b001a4e3be1ef40bb8e05c93c0974eabdeebee83e3c42703f72ecd83cf52feabdb22cd23ebe19723fd841d23cba14c6bdc36aad3e3d3c633f0463a73c13248abdd34a823e6e2f423f95c78c3cd90849bd1ed13a3eae36173f66f0483c469406bd9005f63d7367cc3e1e54433cbb878bbca01b8a3d9f42573ea7b8f03b2e9617bcacbdbf3cc28e693d9be7333b1c7cef3ac57b9fbcd3c849bda9f45fbea677353d00000000000000004ece5dbec426453d0000000000000000322633bea7c9183d0000000000000000dc8c03bee622f53c00000000000000005894b3bd7eb0d63c0000000000000000c2be54bdd8a7953c00000000000000002b62babc7c80803c0000000000000000a2d726bc0516523c000000000000000015b57ebc32fd153c0000000000000000f2b719bb10018dbb42a68639006a1a3c40af74bb36215cbbb271b53b2f1bca3cf6ebb9bbd0ab0f3a5f53303c0557e43cac38adbbad12233b4711373cfc31ca3ce1273cbb9b55c13b0d1f3c3ccc96873c42fa48bbc30db83b6de7173c2b56583c870bfdba7475923b9cd0d33b86d6803bb42dadba92eb3d3b59c59e3bcd4f61bb2cea09bb1fc8bd3a78c07239e70dd7bbeff0c23a0660dbbb223a193bf17e1d3b249f7f3cec89dcbb351e8b3be00aa2376e09c63c05a380bb5036723ba058f1ba2fccdc3c84f8d43aa53fad3b6ac9aebbcb67b33c869bc93bd93b593b9e534abcf3bd933c4cf7b03bc5d76b3b5c9b49bc81d7303c1acba73b8a6c7f3a9ac62fbc55d4b13b244cb03b8bf09339223bedbb0d98e2398cd0953a190442ba7a9df6ba12a0953bb0e598bd57cdb3bac6f96c3c0a8328bc7fd227be694a75bc1f285e3cd794abbc9b0648be157f01bd7652053c5526e0bcf7f83fbee7a831bd4e510a3bd59cdabcc1ec18bec69837bd5fee5bbb6828bebc422fe5bd7e1a16bd4decf1bb2b6a8abc63f66ebd8c33c4bca27ef4bbfe0c1dbc0f08a5bc57e904bc5b801ebc1493b03ae2ba123c2ca4973b65eb97bb16f74b3c63ae6fbdd9a65f3ee0738f3f7f1b543cea6263bdf2a13a3e116d913feb0e4d3c13523abd22710e3e79fe853f5e635c3c548209bd7326da3dd0f15f3f91fd173cb478bfbce62ba63d617b293f17ecf93b6e1b82bc124d7e3d4160df3edeefbf3be0cf37bc58d13c3df2955c3e8fca8b3b65f8dcbb79d1e33ca4ac313db21e883a3e6c45bb7420f33aa62a84bda5f46dbeedbc4e3d0000000000000000801966be10de4b3d00000000000000004bf535be2d0e1b3d0000000000000000ec5f01be6c5a083d0000000000000000aca5a5bd89c6dd3c0000000000000000fa4c26bd9482a53c00000000000000005e0d5bbcbefd7c3c0000000000000000ed667cba27da293c0000000000000000c6798abb10c4153c00000000000000008aa3ffbad9fea5bb11d7ddbad7bf973cf51068bbcf833abbebb591b80520043df44dabbb88ac86bace471d3cc5fb123de480a0bb8f95413b2563433cac1b073d367e4bbb7dd1d23b3a80183c9c16af3cddae78ba7c9a753b23fb2a3c9c145d3ccc5a4bbb7793eb3b5266eb3b564aa93b9c90eb39b51c393bc21c9f3b03be1cbb4c9762bae48c993ad841cc3a5730dbbb7e39dd3b799444bc43d9a9b9fd96963b1187733cfe4044bc89342f3b5df41dbbd514b73c7284a9bb6efc993b1c0051bb8d72ca3c7affa2bad76f8d3b4f020dbc885db13c43b9d53b038b173b654f3ebc3cc5843c6e26ae3b9a07543b660e4abc6464243cfaeea33be94ce03ad64133bca87ac83b2931973b8be429b980b4c7bbaa43a2ba96ad833a3581b1ba42cc2ebb5a909c3c567601befa0e363c433c433c8854873c54a83bbeb0f2c7b93b6e1f3cf8073c392b8c63be2e6edbbca398b63b87c119bc7ecc51be7f6f28bdad292838c95357bca25a26be967434bd134b14bc0d808abcb4cbe3bd26ce1abdf1841dbc41c98cbc44c86fbd5d12d1bc4a6b23bcb83962bca6b27bbc048262bc227c38bcabb006bb7ef1943cf330173ca5ca00bcd2130b3b229406bcedf9f0bbbcd6ae3f781fb23bc0ca4bbca6315c3c65999b3fcba2003c2ccd46bc2043e2bb10bd913fd897bb3bfe2ff4bb7e0cf9bb43c0703f78e7e53b86f573bb5ebc903aa77b333f1256b03b062bc8bba40a853cb2b8e73eba23813b9e186fbb5048da3c4cf05b3e66d32c3b4374edbb69dc033d4c31263d4867e9bae08fc038cd03953c6c9af1bd7f5b7dbe07d54a3d000000000000000098e43cbe204a2e3d0000000000000000ed9211be20de043d0000000000000000d51cbebd93dadc3c0000000000000000c3b347bda4efc53c0000000000000000aa2464bc7998873c0000000000000000d977c13bd88b483c0000000000000000c7e0ad3c2770a43b00000000000000008ec9d63b194dcc3b000000000000000000000000000000000000000000000000854c02bb7273acbbe726763ba19f223d3f1883bb4895a239ed14bd3b288d133d0ccef3ba1f05113b5184373cf8c9eb3cb1f85939db968f3b80bb283c9ecda93cb10191b95153b13b0508f73b9c954f3c0db20d3b9206933b356de53b3fe3a23b3ea1273a4d8c0a3b06178f3b746090ba0000000000000000000000000000000000000000000000000000000000000000a77f923ca3e43cbc4c24d03902e4053bf839a03cb8b685bbdc792c3b118b46bbd812ad3cf9f1f23a5427053bab7bb4bbbddf9f3c0a46773b68e39038d25e22bcb4562e3cf1ef9d3b28b1053bc11f41bc728ae33bf5004e3b4d481b3acc0e23bcf7749d39b2f03b3b6f82abb9af8bfbbb0000000000000000000000000000000000000000000000000000000000000000b58dcc3c0ef66abed429d6baedc6943bab362e3c647554bebabdd0bcaccda7ba60f231bb72c047be656f3abd2b600cbc2e4cf4bb6c061dbe642e34bde0e345bc8a3c1abcd667cdbdc9f613bdfab130bc76e54dbc006754bd90cdd6bc9e7c4fbca92002bc7e0ce7bb38d4d6bb899a1dbc000000000000000000000000000000000000000000000000000000000000803f933837bb8604a83cdff318be8bf5af3f4d362e3a7281413ce546d0bd1bd38f3f389f813b673d293c0574a9bd1a03713f6b3d113b2d48283c0d056bbd592a313faa50e53ae6a30b3c1ad0d8bc2778df3e5b481c395801ab3b8a23283b323a583e635d32baef466e3b5ce8ad3c156bb5bb00000000000000000000000000000000000000000000000000000000000000000ad702bef004b73c0000000000000000b31462bd547d7d3c0000000000000000c83995bcd167813c0000000000000000eeee223c1f771e3c0000000000000000b489d93c26c3313c000000000000000006331c3d3764c63b0000000000000000ce41d63cf214933b000000000000000000000000000000000000000000000000000000000000000000000000000000005715f9bb5d4088bbe4a30a3d01e1bc3c3c59c9babad397bb60c6c83cc502bf3c1a25913ab4b78eba53167f3c0a49aa3ca520fa3ace8202bb4417253cfb95783c52ba803ba0d19abacb4f593bab15313c3a0d323b9c4e903a2bb79039e53dbb3b00a5263be87cccb852a0c7baef1f5b3a0000000000000000000000000000000000000000000000000000000000000000aafcb33b42c369bbd38d4cbaf313263d72adba3ca9d626ba370aa0bbd98c1f3d3d23003d6cd54b3b4c598bbbd265d03c00daff3c7e4fd03bec4c9ebb315aa93ccbf6c83c3500e73b55f2e0bb70974a3cd7a1743c41d79b3ba75001bc7218b33bdb46853bd2827b3b21c0d6bbc4f089b90000000000000000000000000000000000000000000000000000000000000000c88a44bee5f081bd8885483cec7cc33aad0524beffa8c2bd772b26bcd99951bbfcef04be7d52dabd346aedbcf94decbb0ea9c6bd18cfb6bd026e1bbd8c9a4cbc80ff72bddd9085bd584901bdccfa65bcc444edbca38f1ebdfbaabebc1e374bbc342428bb8707c1bb05a847bc042fc4bb0000000000000000000000000000000000000000000000000000803f000000007858cf3ca2fc47bebfecb03f0bffc3bd3f3c8e3c086930be370a8d3f2516fb3c6411513cbe4424be98ee5e3f133bd23d690f4f3c473c0bbe6f551e3fa88a023e26e72e3c6f66bdbd2d7abb3e7af9f93d5794e73bec7717bd3694223e3b15b53d18915a3b88acd33ba9f6b6bc48bc0d3d00000000000000000000000000000000000000000000000000000000000000009a35a63c0d430bbc00000000000000006693e83c877853bc0000000000000000fc2b363d2d7476bc0000000000000000d009653d5e7c7dbc00000000000000003533643d2cbd66bc0000000000000000d5633b3d21b0cdbb0000000000000000e6e2d53c37fc50ba000000000000000000000000000000000000000000000000351ecdbb1d11edbb64d8b53c8600083cc4f9bbbbd5270cbcf468ef3c173d963c8a6d60bb1960b6bb1ad6c83c24accd3cce3c04b8efd52dbbe537923c6dada73cd9e9d93adc0068ba24f30f3cf8a0833c44db373bbe504b3a9a4bbc3b7924063cbc59263bebb8063b54e1bc3ad44ca13b2224573a97c95f3bf587b9ba7c210d3ac95554392d6d103a2ed62ebba52981bb048d05bc00e813bbbeb689ba846a063d779c523b9c066fbbb2d0febb2d155a3d9305bf3cb75239bb583cbcbbccc7353d2071053d2489aa3aa382e9bbfa550b3d0e82043d26fea83b890b05bcce45cd3c0e72e13c8838d53b04bf1ebc38aa603cae71733cbb7eb83b0a62fcbb8722053b5c70d93b7094913bde0c47bb89e6a2bbc86b5ebbeef20a3b510366bbd4828abb8e9af9bdb91118bc06865f3ccfb8b33b91a01ebe14986dbd2633163cf293ed39e6561dbea32ee3bd3d983fbc4741463a1d27fcbdc6faf1bdf948e4bc45f6debbbbeaaebd5b26d0bd05f31abdeda163bc55c45abd03d49abd192113bd64ed67bc55a5bebccb4d2cbdd434c1bc9d2946bcd60416bb087582bc27637dbc866af0bbd9d47a3cedb7633c431a27ba5130cc396dd7383dd85d79bea9c2b03fe57ea7bc99e94f3d915981be57d19b3fb368863dc8561f3d173775be3a76873f965b1c3e27050d3d2e6053be17044e3f82ac563e3240c63ce8661fbe9bc90a3f8726643eaf3d8d3ca051bcbdc6ad9e3e74fe453eab4c193c1853f4bc4309e23d2ebf063e3c42cdbbbef68b3c1fda58bc49fe903da57e8fbb8925133d285aeebd633fffbb182399bc9a47cf3a000000000000000005a515bccc0bbfba0000000000000000061738bb443200bc00000000000000007b87903ced9923bc0000000000000000a3e30e3d3cbc19bc0000000000000000c8c41a3d0f41edbb00000000000000003b69fc3c1bc977bb00000000000000000e3c9a3c1ec4f83a0000000000000000264afa3a7eb9a53b00000000000000003ef885bb9e54c7bba816533cd271e13b56a9adbb6ef4a4bbefc4a53c402c963c70c920bb080082bb3ca58f3cfe3aca3cf2c1173a85e795ba035b213cc8c4983cbc7df03a594ebfb9569db83bf0013f3cf065523bc359023b0207ee3a616ff83b4653c33aa6e04c3bd1dc8dbaaa27e83a5dc46f38ca5e4d3bd063c0ba0082bdba0d4129baadac863af57cbaba4e8582bb35d6b7bbb5d94ebb5e7f2dbb202df13c876c353c62dd99bb26f5bcbbc5472e3d4e6ed23c6306fbbae58cc0bb3e69223d8e3b153d4fa9f33a4f4c0fbcacebf63c81f0043d9746013c42b5dfbbc959a13ca4b2f13c888bc33b5cc20cbc62f41d3cf6aa803cb779c13bcec0bbbb2429a33a2d43d43bc5f6aa3b24ae34bb10e269bb441aaeba22f60e3bf57d51ba99706fbb7b099dbda19c74bc1219cf3be86ae13b7260ffbdfc73aabd1be57abadc8dae3be421f7bdc41802be2cc49bbc174f963a76aabdbd881affbdc43a29bd8b2906bce88982bd368fd2bd73c337bdfd5581bcd8561abd1564a0bd5f7a22bdf4fe8fbc191f6dbcc6d12bbd6228c6bcaf2a83bcaa4edf39390557bcb5a85abcf24524bcb2841b3cead90d3c5398a939d530a8baed603e3dc04c73bea9ad913f1592583e7b09553d8fb489be4ab98a3f33ed8c3ebb36283dfb327abefc90663f3462ae3e88760f3ddc614cbeaaef283f6407b93ec047bb3c7eb014be02f7dc3e901ca93e7c988e3c5910aebdafb46b3e0425893ebcb50b3caa9be2bc8013943dac162b3e3d4b04bb173a073c257bc9bc5132943d511fb8bbaf86e83cc26a9cbd85c800bcebfc93bd679a5f3c0000000000000000f60780bd233e0c3c0000000000000000609126bd40450db80000000000000000e7d2fdbbafb9ebba000000000000000073e5a53ce32991ba0000000000000000055dca3c559b76ba0000000000000000b180c83cbf39893b00000000000000008183683c0195d63b00000000000000000b3d84bb7e23113c00000000000000004be78bbb20f3c3bbd6492e3cad7da43bfca74abb7d60b2bb27495f3c857b963cea49dcbac9275cbb5d9a2c3c10c0ad3c9fde393ae840a4b9c695b93b10a9823c23276e3b2e43c6b97a85f5b77f21433c33d7103b01c7073b56d420bac854c93b304cfe3a70ad623b609346bb5c10133b8e30c2b929ab453b2da526ba449b2ebbfbcd1cbaa0e4063be63dd9baa92baabb6d6c50bac28dc8bb9db2d939cba9bf3c9224863c837ac9bb94b6e6bb91c01d3daa9b093d3d62ebba2934bdbbb6e00a3d34001b3de4ee7c3b0b44ecbbdd8eba3c2364153ddb7aff3ba2b01dbcb0cf873c8ed1e13c59f10b3c651ab1bb33f1ac3b9c23873cb40c043cb15dc7bbce52fbb98795f53b97cda23b035c0bbbd6da70bbcee97abaf8f8953a7791dbb98bf090bb804178bd49d2fdbc9a1a0039edf6623cce45b5bd33cdd9bdc3e1c7bbcdc5c73bfa53abbde04512bea62101bd6586bbb9285c78bd1f450cbe89f744bd9b9f31bc2c5b24bd857de1bdddb45ebd7a3794bcbab0b3bc4467a1bdd96433bd2ed0b5bc20e8c8bb7c8b35bd5a0bebbc9374a4bcb554b63a83f06bbc8a4140bcb04b58bc2a95133cdb171d3c19d0973b2875d6baab5a213d418962be5c5f733f04eae63ecc31433dcb0e7ebec2bc5d3f8180033f9be4213d3fee5ebecf21313fdf510e3f3a4e023d37502cbe5c3df73eaa60073f6a44c83c360bfabdb461963ecf8fe93eb15c663c7b1386bdb6ce113ea3d5ac3e2704083c75c8adbcb989133dd708483ed8269bba933af53bf56ad6bca5b6943d50324dbb2ad8a93c1c2a82bdb575bebc4c8808be260fc83c0000000000000000d8cef4bdafd2b83c00000000000000003dd6aabd5648513c00000000000000001ed011bddb5eef3b00000000000000004ceb0bbba7ddaa3b0000000000000000c426943c43a1f13b00000000000000005c78c03c18f5083c00000000000000005847833cb3bb2b3c0000000000000000123b1fbc830a2c3c00000000000000007abc59bb81be97bb997b063c9ec6a83b63c412bbec42a8bbb254f63bc503853c84133b39bc993ebbe0f1773bbdb19b3c07eced3a9aed203a2d6785bae3597d3ce2736e3b347ce3b8bf1612bbc1d01b3cc08e4c3b6575fe3a01f68ebbceb7b63bdd4f293bb88c693b716d90bbd84c1c3a9b64193a9d8b353bfc3911bbd06c3ebba3a215bab3912d3ae692a6b91088d2bbdd8e253bd9d6fbbbe39966baeb94a73c7743b73c3581c3bbace59cbb13daf23c6af20e3d6dba5e3a9667cbbbe4d2dd3cfc90243dbe05f13ba1bf00bc4e1ca23ca1e0fe3cb8cc333c5765a4bb334e433cabddd93c8de3473ce01db7bba80b543b7042873ce566fe3b3b24babbf301ab37a26acc3b136ad13b1b1c71bac20098bb95b08b3a4abfe7b9440ca439a4f238bb1cff23bd33224bbde0da623ab7ca763c04d857bda48fffbdff0885bcf343fd3b93c246bd6daa1cbe7e4b34bd9c8e25bb224616bdd47f12be4c6a6ebdedc478bc7c6dbbbcae23d3bd416a79bd53aadcbcaa9c04bcfa3fa5bde37744bd523be0bc0d1d49bb6f0326bd2264f2bc69b1c0bcfe34303b5c8239bca46f32bc208486bce7a6cc3b5a36133c1c42bf3b6f50e5b94528f53c7e483abe318a363fd6a8333f3f0f153d552b49be6ba51d3ff112433f10b7ea3cc9392cbe750cef3e757a413f659ddf3c843407bee0d99a3ea7ec303f01d3733c9cb1c0bdbf4f373ebdb0073f91316a3cb9924fbdf2af883dc171c83e58241e3cf885a3bc424f353c1759523ea45198399b0c303b6d06b4bcc457803d90c25abb41c7883c6d802dbd20e71fbdec1941bebaa20a3d0000000000000000dd6e2abef302043d00000000000000009e7fd5bdb79b993c00000000000000000a3569bd4aa6823c00000000000000004d3d1a3cde9e703c00000000000000008b038d3c9f11433c0000000000000000418ce83c792b7f3c0000000000000000259b9c3c2696513c00000000000000000eab19bc22c3333c0000000000000000f0832cbb0b43adbbfbbf7d3be7c0f03b1084a7ba2bb262bb7b19443bfcb8813ca035f2b91b8384ba29f991bae2dea43c4cdbe93a8a5416ba177fecba17aa7f3cf3d1203b4916313bdbd79ebb22e5243c41f1193b591a213b3e7a6abb5b62dc3b47f0ea3abbe6113b846424bb5c94903abf75cb39bccf173b4399aeba281221bbb9a8de3952f185b99eea9a3a04ddb6bba7d0d63bf5ee0dbc845402ba50788a3ccc6bd53c487c09bc611ebdbb5fe9ad3c2d451b3d15d4753ac882bfbbbf95993c46601e3dae21f13b0b9cbdbb64b04f3c1da3103dde953b3cf1aacfbbae04b73bd451cf3ce25a443c408898bb2c1223b9b55e7a3c12bd1e3cef7446bb99d550bbecd9e33b6d26ac3bc6414a3a4ca082bbb4487638c3279c3adb5d363a1e1a83bbfc7d9ebc643687bd604923bbd0e9863c0a459ebc66e014be0c7c90bcadc9103c7b8c90bc89cb2cbef1b044bd34979cbbd76736bcf4aa19beafe181bd04ad93bcf72d63bb08b2f3bd702d82bd40d1ebbcb025eab9141ba4bd285d50bdb3dc02bd9a1b453a0b6b31bd9014e6bcb24de1bc32c9df38706a3dbce2d626bc080795bc7b58513b4d5b113c20e6dc3bdb9c0fbb8356a83cafa504bebe2eeb3eb6db713ffe6bd23ca21d09be616cba3e8a927b3fd740ae3c3c4ee7bd279c7d3e0e5b713ff83f8e3c5289b1bdc0150e3eb1fa4e3f9df4833c3d7578bda0b1673d3182213f2b372a3cdc1e09bd6f7b503c9302d63e026fc93b1ffa46bcc5cc03bcc5295b3e5b1cb0ba389df6ba41db1dbca8cf533d84f98cbb17c04a3c9782babcbd3859bd76a867be86882b3d0000000000000000b9154dbe59a7273d00000000000000007e5804be672ddd3c0000000000000000716b6cbdbc7bb03c00000000000000008b1b5cbb5fdaa03c0000000000000000e56af13cf6fd893c000000000000000032c1093d862a833c000000000000000060abc23c457e883c0000000000000000bebc1ebc02f03d3c0000000000000000a0e3c9ba3ede3ebb4582f0b871ebdf3b4cc95fba4f2ad3ba95fda8bb0cc3a33ce678843a365ee7baffe996bb93c3a13c6def7e3a1335813a565cfcbb869e873c31d0203b1ff3c9b6cd1fcebb07df513c7962483bac74343b1d28dfbb2e54043cdfefbe3aefa7da3a6c4337bb932e443bacf9963aa46dad3a5fd088ba0080ccb95cac973a894612ba33d7da39f6b99cbbdee8f83b76a32abc51c7e4ba4f6c3d3c21b5dd3c5067ddbbc496afbb37b46d3c3bf3253d682b9d393b02a2bba6ec6c3c2afc1f3d91280e3c0365b7bb7b40003c807cfe3c59867d3ce3c59bbbecf7613b0a54c83c4416563c626b60bb86a495bae5e4633cd59e093cbe8d07bb86d84bbbf6f4cb3b94e2ac3b7b7e7dba087164bb2beaf43909f47a3aaf19f93a96603cbbfe67413b01e9a3bd46649d3b71ce7a3c7c6f1e3c587e28beee21b0bc450bca3baf1be23bda1439bea99c57bd5c8fcdbb17eb3b3cd20721be059a8cbd3d03bbbcca15163cc479f0bd4ea387bd993d16bda105ce3be45ca8bd237c52bd19be16bd086b0b3bb57629bd0deaffbc2e04e4bc6b1863badabb30bc55153dbce42c91bc2e976e3af80af83b027e043c56f4a1bb2b030e3cd0cb8cbd1cf6613eb29d903fa344503c777791bdadc40b3ef510953f4bc7543cbe3485bdae1f7e3db1a7893f1451643cbde045bd1d8022ba1ddc653fca6a173c19200fbda4b5febcd7d52a3f3d09003c91869dbcd13818bd69dde13e2564cd3b9b83efbb742ab8bc7d80583e54e9bd391d9c1abb2928cabaed98123d62f388bb4558783b3085153ba7cd89bdc2b276bea9323e3d000000000000000005ba4ebe5b45303d0000000000000000b0f2f7bde88fef3c0000000000000000e98e36bd26c3d73c00000000000000003608a23c9ab9bf3c000000000000000026542c3d59cab03c00000000000000005837393d57eaa53c00000000000000000a37f73cef1e6f3c0000000000000000e67025bb153b313c0000000000000000e7eba1bac4fe39bbe35cb3bb4b43773c75eaafba387cc3ba8ef72dbc2780be3c51e237ba543d91b9dc902fbc6772d63c5fb8a5393255a83ae0391dbc38acac3cfb93143b4c63733a391406bc4bae613c2065f93ae322bd3acb5ac9bb1d15233c4093c53a8e41c53a0fd859bb9623aa3be902c73aaa9122b9bfb9383aa88587bad689863aad36b0ba6d48b03a1e2d6dbb741e453cbfa146bcef802abb0ce53e3c4954e73cdc8521bca9eb28bbe73fea3b08cf1d3d320d4e3b8fea80bb6125fc3b323d133d6316443c10fd4abb48c9183bc361f53c7f27743ce5b740bbc2cf94ba1adbb53c2d10823c7cb916bb35a660bb132d583c10932e3c670f3ebbbe3b19bbaa59db3ba3e8e63b76fd8f3a6dd7b7ba4901d2ba98a847b89edd0e3b356c77bb89f3a73c498900bea7679f3b7cef853cae091e3dc6d537be76156dbc2112633b0fb3013ddc9347be4c8071bdeed435bc419fdc3c44c427be97bd92bda483f1bc74f6a73c692ef2bd3be091bd7b3c26bdbf03503c9a3ea3bdc4046fbdbf9c2dbddadddd3a963923bdaaa20fbd76e9ffbcf057d1bbb07cfebb592c88bc85c7adbcb47240bb5066793c0e6f3c3caa4142bbc9b41e3a2b2b97bcb35727bcf8cfaf3fd13f4d3b788c9fbc72393dbd1bbaa03fa8b7123cf3d7bbbcd3fdbabd03e1943fa98ef93bfe408dbc539ddcbd0df6703f0975f53b37e421bcc918d7bde1df2f3f6747bf3b72f3b7bb5b9096bd79b5de3eefb89b3b561408bb6c0af3bc4b464a3e29dbd2b94bc406bca5866c3ca6cec83c38fab8bb7c8f983b1e66a93c4bf6e8bd51b37ebeb280343d0000000000000000c3462cbe21fb223d00000000000000007d1aa6bd784dc23c0000000000000000774059ba3a2aa13c0000000000000000b77d693d07f5bd3c000000000000000085369d3dbc34a23c0000000000000000e0768c3d12bd963c00000000000000009552503d39bb363c00000000000000005472b2ba68da163c0000000000000000000000000000000000000000000000009bca05bbb54311bbfa6d39bc1381ef3cf50bc03aced5febadc772cbc22edcc3c2916e63af76baeb727d91fbcd2589f3c6210133b801e88b9f4c2d5bbddce403c1368313b893ef939cbed9fbbd26d0f3c102b773baa3b56bac1710cbbd214863b7645cd3a35cd5e39fe0da1b8055be43a00000000000000000000000000000000000000000000000000000000000000006747fd3c0f2565bbf2fc56bb831f203cf3f9053dc71c033ca30d88bbd0078f3b5764f83ca08f823c1a933fbb653c123b466dd33cc8588a3cdd7388bbc88729384cc07c3c270d7d3cf33141bbeccd87bb870f1d3ce6c22a3c4ea1d0ba8ac68ebbad29943a9e399d3bb55141ba98aa95bb0000000000000000000000000000000000000000000000000000000000000000a18c383d9ec454be6ca310bd0181003a36b71d3dd3fa31be2af281bd69eaacbcf882ef3c00a513be6d11a2bd14ac24bd93acbb3ca68ed4bd91ce94bd9d7b48bdd1a25b3c4dd581bd0b9d64bd90c536bdf973893bce8208bdb61509bdfd0e11bd994475bbe27427bbe09c05bc063788bc000000000000000000000000000000000000000000000000000000000000803f5bc89039905e083c9c6149bee9bab23f79698d3bf3f019ba845236be1dfc903f3ed2d63b9beebeba8bdb2fbee94a6a3f5cf8b13b159be13aa60018be52dd283f9dda7e3bd92bb43b0827d2bdc3a3ce3ee8bfd43ac8fa973bb6ee2abdfe053b3e1fa2bcba25979f3b97f9df3b527775bc00000000000000000000000000000000000000000000000000000000000000002ccccabd9c8b8b3c0000000000000000f6fa523cd07f5e3c00000000000000006d4fa33da78e8f3c0000000000000000267fe03da2fdbf3c0000000000000000e631e33dd26cc73c00000000000000003a9ab13d319fbd3c00000000000000005cff293d93398a3c00000000000000000000000000000000000000000000000000000000000000000000000000000000a56ffabba6751fbcf7576f3b94d8953c776d88bbcdfb11bc8976d4bb7340f93b37daf8ba6077c0bb75e71ebc74c3b7399bc9b23a8418b9bba1bd05bc0b1d80bbe8804c3a5d9b1cbb6436a9bb67cea5bb6f3f303ad0d61a3a47ab2bbb800e65bbf58e543a4356313a2b0a823a72c283ba00000000000000000000000000000000000000000000000000000000000000008e76dd3ca8b61f3cb83f803c5cb4383d8472f33ccfd2e23c76a4133c59145f3d3beec23cd913213d2f62d13a31e1343d4958863c1b83253d465ea6bb5027093d5d02df3bd3410b3dc7b5efbba5449c3c9dae173b2edca73c332feabbdd98cc3bf85025bb1959ce3b755a92bb9fde66bb0000000000000000000000000000000000000000000000000000000000000000b51de4bd633af8bdbaa15cbd21179e3c2dda77bda590edbd38c6d8bdbf31873ada15ecbcb490b3bdb695f6bd2fedc3bcbc3107bcfd9152bd9200dabd5ce749bdbcdf4d3b04498fbc4c869fbda1bc5bbd7b8c943a90de49badd7115bd9c7532bd79f08db8ba3e123cb57b2b3b0728c8bc0000000000000000000000000000000000000000000000000000803f000000009207b8bc9fc03bbea250ad3f9df11a3d0483c6bc0d9261be53df863ff72b3f3e130f7ebc0a5f6abe7b6b443f8d34843e6f95d03b6bf761bea681fe3e62717e3edb32833c2b4232be906e8d3ed787373e0f48ba3cc3d7c5bdbfaccf3dcf97af3df4da973cede5c0bc1990e5bc915812bc000000000000000000000000000000000000000000000000000000000000000093af76bc765445bc000000000000000053427d3d294916bd00000000000000009c500b3e7ab84cbd0000000000000000ea3a3f3e414944bd000000000000000012953a3efa5de5bc000000000000000099570e3e1e3e14bc000000000000000009bc793d574d313c0000000000000000000000000000000000000000000000007eecc6bb68dcd8bbec89b33b03f5823c426be6bb218c15bcc33f793a8cd55c3c429980bb10710ebc84b402bc838fea3b2fdb64ba340dd2bb928822bc0ccbdcba2be92a3a783a8abb2442dbbb6141bebb01d3053b8f4525bb2701a1bb2004a0bbdf42ec3a032abebad1a9b2ba5791e0ba05e1403a1c44ff39823c2f3aac64ddb9de5381390ab4043bf398ee3ab629113a9f89233ce2f9b1bb3267423ceedacc3cb1a7b73c321a023c5a5f703be5be7b3dd30ff43c53d2ee3cb030293bbf60693d9202c13c9559273d118585bb67ab363d0d664c3c6aa7323d5a5a21bc62bef03c7194be3b5aa10c3d129f1dbca9d1833c1f96773af592aa3cb7d0f1bb1ffe8a3b5b6bc539519dfc3b9fe240bb7a448abb060779bbdfe389bb291b1abb6aaf03bc5287bebd315684bd1093293ba887983c6cf0b1bdfc84d1bdd33b43bda425503c0cd552bdaf9be8bdbcb1edbdbda8603a14e293bc3560a2bd309b05beab58efbce7a49438c29920bd0ec0dcbda04b5bbdf4c02a3b9b0857bc315c94bdc65d70bd04ff23ba1b0c613a77a502bde57045bdd39323bb043e6f3b2cd3a8bbef15ccbcd96d98ba3b9a233c5f51c23ce8a621baa6d1193c2c1941be3679ad3feaf76d3dec4cd53c071b9bbe77609f3fb5f91d3ed045763cc0c69abe65977c3f94c6a13ee013eb3c6eb095be17c02e3fa10ab93e429e143d2d0780be914cd13eb3e5a43e12072a3de03e36bea81d4d3e4a0c693e916f023d3a79a8bdf69b453daeafdf3da2f0d23b17322b3b929bf5bc52b5b13c2625b63b9bc5013d03e7aebda52c6dbdddb7a2bd19a1333c0000000000000000e0790abd7dfaeb3a00000000000000000ca6393d91da1bbd0000000000000000151f0d3e52675abd0000000000000000e009403e76cd46bd0000000000000000d6483e3e347f0abd00000000000000005b47093e8083cfbb0000000000000000f4ef7d3da5c5b43b0000000000000000e7d87bbc61af903c0000000000000000de6b6abb859bccbb6d04213b5c50123c4deea3bb57f0fabba7270cbb89b43f3c565647bbc73e03bc99c71bbc41ff803b5112bfb9bcb898bb4fef24bcf20902bb8686023a02553abb4509e4bbd29ddbbb1d47003b423d3abbc02370bb6d4a9ebbff40a03ac4f307366ec5ecba2dc235bb14a79c350b778039332c943ae342793a5cb5af390cbb693a99e7bd3a977e5b3a19dd473cf888acbb79acae3b36f2df3cf736c43ca3892b3c65dd303bb5084e3da9dce93c9202fc3cba11d23aa3e8533d07629d3c0abb2e3dcbf7f1bb7ab3183dec2e373c7cae213d6ba50fbc3ef0c93cda0f5e3b065c0a3ddf5e1bbc1c3a393c971395ba6043ac3c8480a8bb2e98473a18551cbba41a023c54891abb54b898bb586d08bb2a9e54bbec62b639d3450abce46d73bd030d60bdad80d6bb806b963cbe6483bd79add8bd9b9a83bd32bb553c1ea9fdbc446adbbd4db1fabd781102bc4cb698bbb8768ebd045700bef3e721bd8437223c752b14bd093ccfbdf27084bda380ff3b082b0dbc2a9381bdddf58bbd74e3173b6e1f253b84c4c1bca2a860bdee8156ba6d02453b0150fe3af3b5eabc9690a9ba9d26993b46de933c09e9a4bacc40b13ca8f859be1975913f08ba8b3e6349f73c76f79cbe423d893f15e4c23e2e3ea13c636e98bef808523fd2e3f13eae0c163d824b8fbe0b7e093f02c7ee3e0aae173d7e2a63be1c7c9c3e81f4be3ea563313d72a520bec4ab003e85d6853ed4c8eb3cdec98ebd5ca8a53cbdc6ef3d6332f63bdc9dc93a305f18bd79c0883c4d58873a57b0f63ce64a5abdfecb32bdf52febbd653a833c000000000000000014ad8fbd08a98fba0000000000000000524a1a3dffef0dbd0000000000000000a9f50b3e315e3cbd000000000000000057cd3f3eb261e7bc000000000000000032a8383eb9d080bc00000000000000007624f63d17395a3c00000000000000006cf74a3d47b19e3c00000000000000001873b8bccb78873c00000000000000005e806cbbbd62acbb262eb7b9035f223cf9b081bb841ff3bb4c38c1bbcb51ff3b3dbc83baa82d04bc12a028bc73629a3ae994743ab045a6bb743723bcce27c3bba9d8f23a598558bba39dd6bbb064dcbb1728243b63a828bb117c75bb3027c3bb91388d3aca8ad339ca26a9baba86feba172e88b85e73c23ac2d103b9eadef9391b946cb9c83e9c3a65de1e3b9cfa0539ebd9523c5c40c5bb0a97d43b4ce9c33c5967db3c4a2a5d3c39461b3a8689483da1e3cb3cd52e0f3d101436bbb4e7393d10b6873c1a19333d8fbaf5bb6679053d4505033c403a323de8ee46bc9736993c147b5d3b6cb6073d84d318bcd103f73b75b41bbbfdfcad3cca3cb6bb522b1ebb894f0abbcb45eb3b204586ba0b0fd7bbeaf0a9ba8d5b85bb61ac20b7362feabbab5043bd93e87cbd2df3a7bc0d4cd83ce87b27bda18adcbd7d9ea0bd9e65463c8e161cbcc11fc9bd68d001be0a0a7bbcee5c233cd9ac7abd9d3efabdf06d52bd9cb3643caf37b3bcb126bbbd6bf09dbdd6a13c3c94c68abb5e5362bd7ddc9dbdc4278a3b06fef83a817d78bcc07374bd31a6b1b97bbdd43a1862143cfd84fcbc568b5ebb1bba743bd788a13cfd77be3af01e833cd7704abe6d2b723fd37e023fa927023d30c694be25375b3f8c751b3faf2afa3c8e5792be37891f3f8826243fee4f213dc28680bed265c13e6c76123f712b493d238d50bee0ff303e4681e63ec11c2a3d36e501be0d21483def7c923e8602ef3cac2250bd457f98bc388b003ea185193c923f013b36e620bd72bb863c57517c3a7fe6de3ce3032ebdac0d51bda22322bee733643c0000000000000000be5fd8bd2455273b0000000000000000203dfb3c31280cbd0000000000000000ce81103ed67513bd0000000000000000cc50463e318cc4bc0000000000000000a7c5353eeafb7a3900000000000000005e6feb3d023cbb3c000000000000000029fa173de6e9f73c000000000000000011cd11bdcb64ae3c0000000000000000feffe7baafe4bebb23f223bb1515f93b552823bb59fce7bbf13fe2bb32feb13b260efab8a0c7e4bba25243bc921185ba85f58c3a13be4ebb484b2ebc8c28b6bbbf89ce3a67f87bbbdef6babb507607bc10ae323b143a8fba48ae5cbbfc3c9cbbd72f0f3b138187ba6753acbaf56d87ba01bf3d3ac252c8b77a0ba13af16e2aba339015bae0356a3a2c8fef3ac366233bf68d863cae7a8dbba45c9e3b378cc83c89b7c63c08697f3c690433bba66b2c3d598bb63cc1ff1a3d017a6ebbe4501d3d6acf553cc2043e3d0f6229bc6712c33c03e0cc3b1413293dcd83d8bb73125e3c919616bb82f00f3d44e61fbc82eaa8b8cd2436bb962f9f3cbc727cbba332bbbb0a11eaba5f6ff43bff6eb2ba8023c2bba4b93ebb56459abbe9630e3b7471f6bba9d218bd2ceb82bd143002bdb236ea3c04e18dbc1c95d3bdcf20b5bdf79e143c7c95143c6c76bdbdb63104be575dcfbc4129aa3c673a4fbd2ff5f1bd61a584bd9ddaa53c72f5a6bc352aa1bd9810b8bd989d853c2d16313a908038bdb90bb3bddbcfdf3b1f1d303bbd2727bc73e680bd8bf064baf1d82c3b43e0193c812d04bd0cd5a6bb004c0a3bed50b23c4ce3403bdf083e3ccc2c30bed0563a3f97ec3d3fb0c00a3d20a882bed13f1e3f03cd523f0113073d15f77dbea177d53eb7f14b3f7a5b413da82b5cbe6924583ef1f72b3f6adbf83c30921fbe76f6b83dca3ced3e89cb3d3d7939cdbdf04ed7bc9f979e3ed18cd03c69aa03bdd7304abdbf07033e86c6e03ba545013cb85327bd39524e3cc04df0badc77ed3c165801bd661d65bdba4345bee19c643c0000000000000000eb8901be01fbcd3b00000000000000002729f73cd02ed8bc00000000000000007fa7193ee45cf5bc0000000000000000494e3f3e387e7d3c0000000000000000e0a2353e2d45783c00000000000000008212dd3d02f11e3d0000000000000000c3f3e13cd474203d0000000000000000a1d626bd30f2b83c00000000000000008213efbaa5b9bebb556ed5baf3059f3b901de6ba4348b8bbc93201bc8f2c103b2b6a1bb9fcf8a7bbc4dd37bca1d188bb46cdda3a96ea6ebb9ddb11bce18af3bb7e78d43aaed1cfbac8499abb7ac703bc38efc23ae86292ba7248d1ba0d3a95bbfc39903a5546813993ca87ba755b91baf48f96b9f265423a8f91d03ad2ab8d398713cab93e38193b6f3c033aedaf983ad1b1843c13b747bbdfbb213b4840bd3c4e6eca3c70118c3c2126afbb4d9b163dcb17a53c87b1203d2c29f2bbfff4003d7684263c4503433d62c925bcd542933c4ae4eb3a1cdb343d861038bc1998a03b738a88bbdfef093dff01e8bbf10d17bb29d171bb0bbaa53cbcd08dbbce00e9bb04b12ebb1867e63bfafaccb91d92e4bb8c663bbaded18abb429a223ab955bebb29f5aabc09a18fbd0f6619bda19bf03ccb95013b39f2d4bd5b07c0bda351c53b2bf5cc3c6912adbde7ad03bea3140fbd2244f13c453b40bd8309ddbda3459ebd2dabf13ca46871bc932093bd2697cfbd6c208d3c4fe249bae4fb0bbd5214bcbd4698003c0a9e963a223694bba27788bdc5b145ba44a8a439c924483c1b4f06bdf55f7cbb50c623ba9f3aa03cea428c3bfa93473cc51b13beb6c0003f3108753f91ac073dc4a853bec20bc23e0f92823f459a1a3d70e050bed82f5c3ebaf96e3f66c92f3d1cb727bea83e723df6fb3e3f21004d3d612efebd8b3248bdce23093fceb01b3dd94487bd6e72a7bd55a4a13e4a7ec13cba9a52bc39389bbd5093053e4d1c4b3bf25d853cbee221bdef430f3cb58b42bbbabacb3cc1b499bcc0fb71bdd9ad56be75a6553c0000000000000000f0380dbe83adf13b00000000000000001be0123d42aaadbc0000000000000000bf691f3ee1b13fbc000000000000000026b44f3e4bca333c00000000000000000347303e958a093d0000000000000000da8bcd3da677553d000000000000000001db9b3c17d2403d00000000000000005cc22cbdafc0ae3c00000000000000003a4f5dbaee3168bbe0d1abbbcf5fc63b760fd0ba120782bbede02bbce2ff213bb4e95f3af2209bbb83af3ebcf210c6bb5c8fab3a8f90ebba47ea0dbc264c00bc8edd8c3a74fcbbba4e1dcfbbd7d8c4bb45bce23a23b3773857fc6abb68702fbb2c79843a514f5d3a83bf35ba9078aeba68dfa1ba2aff013b98c8703a419b87baed293439c930323a720edc3a384b883a0cd3773cc4e47cbbdc649cbac4839f3cf98eb83ca803a03c94ffd4bbea35ea3c5d2a8e3cbc692a3db45309bc1d32d43cf979bc3b06bc493d273636bc07ee333c8f1eb8b7858e2c3d223700bcc6aff83a024ba4bb97830a3d080de6bb880cecbbb818a4bb19069b3c109832bb76af13bcddc444ba69c4c53b2c469e3a15d7f0bbb3e96abadcd26cbb392a7d3a9feb95bb5cf889bbe98299bd13ad09bdf383e53c2dcfbb3c9b8fdbbdeae7c0bdedd1a7ba9b59253d24d0a9bd9fc9fdbdfdb538bd70d12b3d69be2ebd7369ccbd53afb2bd6cfa033dff0058bc43c980bdb336d9bd94edab3cd5c52537ba6fdabca8f8c9bdae310d3c5646493bf75ff8b9d82a88bddd1429b9809c1438a6fd323cac39f2bc406bb5bba2a7d439e9c3913c9e37233b8c9d443cdf4ec5bd438d883e7f39923f2341013daf1c19be32e9123e569f983f51ef083d5e451dbe59a9103de6e8833f2a00323d7632f8bd8891a8bd72c44d3feb08233de70cacbd3a9cf6bdc38f093fbe68143d433c1bbd55310cbe203ba53ec4efa03c7ed14abb777db7bdae18013e513fb43a9b2f873cc6d40ebde78620ba376f04bc3e8bba3c633e8aba4d4778bd6a2d65beed3c9f3c0000000000000000d9210abeb8134c3c00000000000000001c4d583d09a626bc000000000000000026c52d3e89bebf3a000000000000000068a0503e851a1f3d00000000000000001eea303e31b3503d000000000000000099a6ba3dc7a8823d00000000000000001f31a03ccfb4473d000000000000000044452bbd7b59a53c0000000000000000fa58fabaa1c82ebb17ff03bc8b79b33bddb853ba7ee5f9ba9f2a43bc9c3e883a6a51123a0e8412bbbf0754bcad21a1bbcaf1ef3a26d12cba90f926bc346ebabb8d04013b6512cd39dc53babb60eda7bbf6d3d13a17109e39468931bbabcc7bbb96643b3a6437753a52ac3ababc648bb977cf95ba23b6263b8d3bb3b9190367b695298dbaf39bd33ac64e083bad817b3aa82c9e3c1f54243a388434bb718cbc3c7252ab3c1c73a33c6bc12bbcd7209d3c3f624b3cb274383df0581cbc4b926f3cd022da3a81e34f3daf4e27bcd71db73af7f841bb91a2323dac881cbc04e903bce5fcbcbb5c72073d2448b4bb91cc1fbc41cfabbb99099f3c1113c1ba7a7e2bbc6162a2bab506f33b2b9e863923da8cbbecf703ba3b46b4bbf32e033b4b8e91bbeb87193c074dd0bd0ae555bd5007f03cb5184a3db935e4bd9279c0bd211befba0760673d8eb8a3bdc975f1bd3f9a6cbdae884b3d5e5722bd268db4bd9069cfbd55b8153d04a219bc6df349bd45ebf3bd1afbba3c3f0aeab9c9b688bceab5d8bd8402f73b713b3c3ad3e0833b735b8ebdd3fde5ba72df0dbae3a2243c294905bd5543e6bb48c063bab4b58e3c3c57373cf5f8df3be4bc7dbd7c09703d9401ae3f4e8e053d1931b6bdb0a395bd7646a73f33e51d3d5fa1d6bda88610be55b88d3f08bf363d2d879cbd625a49be337a523f8b2e2b3da2932cbde9c854be92740a3f9380f73cc407d9bb6a0234be59d19b3eafe0513ce2e4963cdb5ccfbdabfbe13dd7b4bfbbf349963c2770b0bc0e82b7bbda2d07bc0348b93cc1637d3c4850b9bd57164abef83a163b00000000000000008001dfbdb2723f3c00000000000000007a20c53df15b2dbc0000000000000000f5da503e28a6723c000000000000000026c4673e33bb563d00000000000000000a20363e169b8d3d000000000000000006eebc3dd38b983d0000000000000000f400b63c26165d3d0000000000000000c3e254bdff928e3c000000000000000000000000000000000000000000000000d79fcbba584470bb531556bc0fe6da37f83d7e39016b5fba4f2641bc9870f3bb8c944e3a574f8e38d419fcbb903506bc553f993ae4e9213a657d88bbb40fc0bb87fc5a3a81c96d3ac3cd0dbb5b5703bbab8b46b827c7033bf3d106ba506967bab2fa69bafea7113bac97193a29328a3a0000000000000000000000000000000000000000000000000000000000000000e729973c98cffc3c2291dfbb486ecd3c8109ee3b6000403d34d228bc16814d3c6fd1233a23903b3d8dab36bce372553bb58d96bb0b361d3d1c0521bc626d9bbbc5d2e2bb347eeb3c0030d9bbcbf130bc52de95bbae71813c50a32cbb8d392bbc1e1347bb4caa423b68273d3aa160c8bb0000000000000000000000000000000000000000000000000000000000000000df9b4f3d3a25f3bddfa8dfbdb66c98bce395703d118481bdc6cfd3bd7c7199bd1ebb4a3de6c9edbc88c19bbd09b2e0bd1120133d5a2b62bb48c12ebd3a24f2bd16afb53c02a8b13bd1343cbcc015d2bdd920123c6ecd783b3db3c33b43cd88bd1c1321bb3fc844ba6ca0883ca5e2a7bc000000000000000000000000000000000000000000000000000000000000803f74d3b13cd7489bbdf72232be26c2ae3f2aef1c3d3e44a7bd4b4869be7830893f81001f3d93a972bd17397fbeb4fb493f55d7263d767905bdbfc379beec81053fa716fe3cfc18fdbab12345be7f7a933e5fb26d3c4af2ac3ca3aee7bdd9c0db3dfa8a48bbc1ffea3ce337efbcbeb5efbc0000000000000000000000000000000000000000000000000000000000000000891c093c137e57bc0000000000000000d7631d3ef3ce3b3c00000000000000009080673ec1b74d3d000000000000000057bf613e0207b43d000000000000000091fa223eec9ed23d0000000000000000aabe9f3d480dbf3d0000000000000000ec5115bc5d546c3d000000000000000000000000000000000000000000000000000000000000000000000000000000001649373ba622303b55d929bb02c180ba79d11b3b3b64483b28c480bac81780ba13df1c3aa206ba3a7cefa4baf53cf6baa4f0bf3aaf381e3b909f523a50b6b6b8d6aae73ac965583b521fb83a48440fba4af3463a2e51413bd90f7c3b996d533925c8c93a88c0873bf78b973bd918223a0000000000000000000000000000000000000000000000000000000000000000f257ef39b46cdfb9d1fff7ba076a10bddaf478b9e2506bb840202cbbcc7bfcbc3f00de39e4659bba119700bb8e22d7bcda04ebbaed99b2ba384904bba4a8b5bce55a35ba8882c43896609dba961395bc6707aeb917d8e9b8019901b95a6543bc9ecb2ab899f098b99b0b233a6536ccbb0000000000000000000000000000000000000000000000000000000000000000ddb663bd8d49d8bbbc971cbb9803a539e2b769bd816f05bc752f18ba9165dc39da3f54bdd772ffbbda1111baed08cf3a6aab3dbdb10404bcb32d193b96c0b93a1e5b2cbd144614bcc6acd73ac8323039e20914bd5e2400bc9e4d013b9a3e6339f2bfe6bcaf35c7bbfb64b03a5030ffb90000000000000000000000000000000000000000000000000000803f00000000f7eac03ba9ebc2bcbab3883fcf0601bc8a6b873b27fd5bbce025653f1b13823b5b986c3b0d201fbc050d3b3ffd52193c832ee73a011153bcaa49113f12263d3c20dc7bb9fdc485bc5dc4d33eb4b7433c3bc56fb96f3bc9bcc161863eeb44053c0f35d1bad12406bd3d0ae83d16d0983b0000000000000000000000000000000000000000000000000000000000000000f593123cf2ddc83a0000000000000000521f193ce229183b0000000000000000c580fa3bfd65873b00000000000000005864cb3b7c09333b00000000000000005d09913bbd85573b00000000000000004e86793a7281663b00000000000000006e9169bbcb070e3b0000000000000000000000000000000000000000000000006e0c4e3bf267203bbe609cbb9a0b40ba7b429e3b043dcc3b815ab1baa25500b93db4353b7502b83bf91a383a279cb3ba3970483b88e6923bdd20653a15d78cb92c63e73a24bc5c3bd43fdf3a602c0a39999c043bd6fd943bd8ff883b24574e3af147cc3a8fdd873b9707b83b036e8b3a1a7ab93a1f0c9d3b9735cd3b532b8ab8ea4d7f3a1d10e13ac7f38b3bda006e3a13c4f03ab668e4b9cba6d83af08703bd4a29ae3adcaaecb97bbed23a0f0a27bd33645838db330ebb430ec4b9631517bd71a4b2385a2088b90a24a9baebf305bdb2b8afb9ac02b5b98a5f67babcedd0bc7c91f2b941b958ba5ee6163a99daa7bc5cef1cb987e0e4b9ba0b603a3e814bbcf5b2ed38607204bb8fff333b9e7618bb580463b9715260b9c38e283b7da52e3bb06afebcc6d01ebb691d99bbb3de8a3a2bda7fbd7b302dbc3877a9bb4ff35c3ad4388abdb4bb42bcf38f5dbb7770ff3a9aa086bd328b67bcabeee6b912b1473a869365bd7cc958bc5c4d783a218e2a3a2ccc5cbd356465bcff31b33a02c29b3949c432bd824647bc21a8e13adfe480b94b6dffbcbed108bc5e78033b815420ba761073bc81fe53bb062ae33a06726ab9a2f9f43bea9d4ebd552e883f3f67eb3d3b86193ccef55dbdaf797f3f9e53e23d5f7af93bc26e15bd3f26583f98bfdd3daf91ac3b3e79f7bce8f12f3ff1c4c73dde354d3b0ae7debce0ed063f9eaaa83d7c210c3b20dc07bdac69c43ef544863d477d9e3aef681bbd465c743ed5d4383dfd9f093ba91234bda46dce3de3bfb43c90e4703a045016bd79fd92bcf1da213b8553c2bbbf72e73a0000000000000000815e65bb8d3c503b00000000000000002037493bd46a4b3b0000000000000000c8674c3bd78b9a3b00000000000000003217263bf4d19d3b0000000000000000719161b9694d9d3b000000000000000000b77cbb6802803b0000000000000000eb6009bce2ea453b000000000000000069e8f5bb227a103b0000000000000000d3e52c3bfffd113bb99186bbbfdd82baeece6f3bf3f08a3b9eea42bbabc985ba8556273b6a4a803b532475ba1f452bba9234183b348d763b422f193992770aba5ff6e53afed9543b4f9de13af5d69abac5b4f03a31bb753bcae36d3b7e716c3ac60e863afce65e3b8952913b8325703a8fc43f3a13555d3b3010b03bdb808f3a79631f3a36d31a3b8516663bd02fc93937a2203b65080d394920153b0159debc2750ed3a42baa6b9996f133b2de614bda659843a2b12923712dd5b39cef8f3bc2e94fe38885066ba4e7cdeb91ca4e9bc93fe82ba700b44b9bb322f39f280a1bcd8b8cb39c1584dba2de56a3ade708abcf0d40ab901803bba6ba4ba3a3fcf1dbc73d1afb9100b60baf5c1493bc25f1bbb5c0f0eb9d0b501ba9a77413ba106153b9420b3bc371243bae132adbb668ea83a09e148bdc6f723bc3456b3bbd4ade13aa0c255bd2a9069bc56b6fabad5f9d43a64016fbddf1a84bcc0d395bad6e2a13aeddf45bd85cd88bcc35ba63a909dcf3a2b6c44bd1f368ebc740e9c3ae1d0183a04c210bd351960bc2b87c33a6786003a000fe3bcdbb72cbcd3e5243b7ff95439f35146bc3c4179bbd538083be94f25b90b35f73bcd0a55bd19c2643f749d863e86742e3cb57d77bd0958593f54e87e3e99a0f13b643c29bddbf7333fe73d643e3d8fe63bb11a24bd0247183feb5c463eabcc993b0a850abdc469e73e2b5c1c3e73dc6c3b873e20bd385baa3ecdd8f73df6072d3b684414bdc2a6543e09b8a43dd9a4433b920c32bdc0f8b53de74f2d3d0f4b193bb6bf00bdd5444cbcee9e8e3b250398bcfbe74c3b0000000000000000979093bcd0ccb13b0000000000000000f06f19bccff6b53b00000000000000001a2ac7bb0b9bc53b00000000000000001e482bbbb1b0cd3b0000000000000000a684a7bb5bceb43b0000000000000000694abfbb60b28f3b00000000000000001fd117bcbbce713b00000000000000002280f8bb9ecfda3a000000000000000072770c3b7502c33aaf5994bbda03d1baf9e6583bd426683b3e8167bbff0ed3bac6c30f3be49e6e3b24ff9fba5b2993ba4f9bb93a8a565c3b84e8eb3a01c391ba293d9a3abfe3253bdef11d3b34f7c9395438ad3a28af733b2ee7573bf12eabba18eaaf3a88da7e3b9ca1903b58c9943a4a69f439f9d6353b918dc03b67850b3a1973d43996b6b23a3f08913b16ec2db95d82543b5b86bb39fb61023b4e16bebc5c88133bb39d14b9b99cf93ac3e3fbbc6638933a3c6103ba8b18193a5b2ae2bcf8a88b3a2e92e2b9f2790b3b71d8d0bc3f6b8a3af1cf68b94043aeb94bb69cbc15fa31392c419fba20ef3c3a34f566bceaf1e53828997bbaf7bcea3abae3ffbbff67973a9aede6baf2e4173bf8f512bb5fab8c3a4891bfba0caa123b13ac8b3a2ca49bbc4694b8b9b40aa9bb660cf23a9fed2dbd5a0144bc0a13b3bb4124023b78c653bde42da0bc35802dbb0dc5f03addaa57bdc1cfc8bc36da4eba5d7e053aff1644bd8c83aabc9b8e2cbaafe3213b761c29bd13afb0bc4b3a033a153d103b09270ebd473396bc354c873af91ecf39bf80bdbc506b63bc9dc63c3b971a12bae58a20bce948b2bbe8f03b3bbf413dba4be4e43b6efd35bd4fb73a3fa664d43ea1c6213c786d61bdb735313f5d76c93ec5da0e3c9e1635bd938a183f878bb13e1d06163cd7ec21bd9bbbfb3e8d66973e328da53bea5d14bdd8c4c13e0b82703eb18d7a3b033b19bdbc4c8c3e0124363e7f384e3b1c401cbdcde42d3eb845f33dcc99373b8ad121bdc3c1933d31207c3d7d91e43af941debc529a2ebc10f0da3b671fe5bce70a933b000000000000000027acf6bc30affc3b00000000000000008bc29cbc4680003c0000000000000000781a68bc6bb2ea3b0000000000000000949112bc4c4eec3b0000000000000000562610bc9963e93b00000000000000001c0607bc8303a63b000000000000000038e00bbc2cdf9c3b0000000000000000c9c3cbbb9d3e393b00000000000000002759013b89c5d63ab0ca82bbaaade0ba3e8f773a7f52a03b8f8345bbfd010abb5357e03a63152e3b25d86aba92b2b6babd8c553be655aa3b4ec61c3b39f0d1b8b11bb83a23652a3bc5d9cb3a85e40c3a9644adb9a96c9c3becd36c3bec99b63ad23e0d3aa6d0393b12cc6c3b0aa9893aca0bc1398704493bad318b3b53d7c03abf49f53957fefc3a0da84e3b119024ba42a9253b7bfa153a29c01c3b9463a5bc75010b3bdecd2bb9ef94e13aee36c6bcf4eaed3a524d09b9fe9cc5394aa7a6bc1edfc4bbf5a4c1390be9b9bba09389bcae97dabac64e29bb3ec24c3ac08e32bc865387b9b0ef8aba9103c93a1db225bc12330dba060c9239fcb2a03a9648b8bb97efd3b8402d89bac70f073b111026bad958ab3952619cb9fc70153b68c4173be0059fbcdce210bb05fdabbb2cb1c83a89ae20bd1bfe82bc9a52b5bb81ccf03adb5636bd0c4bc2bcfd1245bbb6e4a83a4d3940bd4babd8bc080c84ba55e3843ba9ea06bdaf7e9fbcb25279b99313ab3ade8118bdc30cc4bc31fe963918eaa23a2184e5bc9d25a5bc21bc2d3acaf7d739d97da3bc46ef79bc7635ab3a1332b939ee840abcf29007bc769d0b3bc0e0063a89d9cd3b6c3415bd0221123feb1c123f61c40e3c394f32bde208093f070e0a3f7a84ea3b86240abd25fbe93ef151ee3e2f9bbe3bb49904bd75b9c43eee04c83e7b72473b1050bdbcc5fc923e45c6963e2ce5763b26a7fcbc84ec543e08c0693e8c7c053b2c29f5bc5cc8033ec5f01b3e9be0273bda32febc96fd4e3d62cb9d3db35bf93ade19b1bc348869bc8b24ae3bd44c18bd6d91c03b0000000000000000529821bd1364123c00000000000000005029cbbcb456093c000000000000000015be8ebc39ea173c00000000000000004c9e06bc0389cf3b000000000000000027de11bc2c78f13b00000000000000004f46f9bb4f0ca23b0000000000000000dc760ebcbb5a513b00000000000000001415ccbb12d0bf3a00000000000000005edce93a23ef273bd15324bbc68a4bbbe70f5a3b7115873bb5b71dba207342bbfcaee33afeae6b3bafd6643a515dbfba9cb03a3a7c08673be2aeef39dfcb2e382ff24739163e3a3b3392613ba64627b975a0133bfcf2853b2b68973bcf18123b1873393a2e283e3b113a913bb8b00c3b6ab05239ff252f3b120f963b4e770d3b0e6f8c3805ebe23a4830413b00c2b03af440bd3aebee903a8556953afbce72bcfce4bc3a9fd6903a645e393ad0cfa1bc54408f3a3f28a7b84949f9384b6e8cbcfabec53a7478c8ba3aaa6d37cebd69bc62efb0392f7508ba018f8bb9b08d41bc981993b91ca1b4ba8f1056b8d1ce13bcd850db39ec4f6dba1c80a13a7a6d6ebb485fd4b8a4bd23ba467dd63af3c8d23995e925b945d112ba3c83ec3a20071d3b5546b9bc1586f0bb5a83a1bbcf01ef3af5cf2ebd9f5ad3bc70e4bebb765a1e3b1f4b43bd04d210bdf7409cbbeb5d823a2fcd43bd95a712bd8f7a33bb4b8a103ba1ca27bdc6b709bd02612ebb8f67a83a1ec613bd78d80abdbb013fba2487db390f70dabc765cefbc442242ba38c2753a4e4a8cbc7009a1bc76832b3a65e4193a7786cebb73cc0cbc03b3cf3af00d8c39600a903b9fa9e4bcea92d33e321f3b3ff1a8dd3b3d9e0dbd4d73c63e9280323f49add73bae99dfbcf60fac3ec6761a3f9034fe3b46f5d5bc423b8d3ee377003fc6417b3b23e8c4bcac915a3e33e7c83e3bacbb3a4e81d5bcb716193e2e4a953eef2b1f3be1bad1bc8d18b23d191a413ead61033bc69fccbc69d6dc3c7f1fbc3de412b03a56b789bc4df29dbce38b223b171f34bdd1bfb93b00000000000000008ffb4bbde2dc1c3c0000000000000000fa7f09bd36f5263c0000000000000000a5b9c0bcbf83103c0000000000000000ef4071bc64ef1c3c0000000000000000823712bc58eba43b0000000000000000b30718bcf856913b0000000000000000bb3712bc50dd233b00000000000000000efdbdbb6d918b3a0000000000000000844ed53a24a52a3b8d5a69ba42102bbbbfbae83a20fe803b8032bb3ad8690fbba7f68c3ac5de6e3bb297203b25c45ebabbb9a13a3fa57f3b669a5e3beae423b95075a43a76d8023b0542843ba0d3dab97f699539548f423b1eda933b3372083be4498139a86c213b7f59863b6933283bf1f9273978c7063bc3f08d3b57e7563b703d2eb8c4b4943aa2c12c3b7b4b193b0de7f43a4df18c3a6b89883a2de21abcd1cefd3a29013d3a9bc8203ab54b57bcc25f813af11e83388cfadbb953d13abc0214e2391a433cb916b45dba47072bbc88c9643aee4c53b947dcc6ba2e9706bcfcfc5a386edd61bae070963a33fec4bb6aba5339e1d31b3a600398396bb40abb912eea397ef33bba71deb53a96dfd53acc729037874cefb90b80b13a79fc563b5673d8bcfc8659bc9be4e2bba68b2e39ddb735bd43df18bde1460bbc11f89539aeb32cbd85d72abd50afd2bb4066463aedbf36bda0c547bdb139c2bbe179663a58890ebd74a626bdc57e83bbaccba33af54103bdfba327bd9f9490bb0acf7f3a2f24b5bcb47efcbc396338bbca49103b90f657bc67d3c4bc733478ba96b8043a091479bb94a426bc18ed923a2fb19a39ef137f3b459194bc9e75863e04a5643f1baab23b96fcaabc92fe783ecc0e5a3f6ce9983bf7887dbc1dec583ef50b353f1d8f753bec187dbca07a323e063d1a3f157f523b6c2a59bc4c46073e9d8aeb3e01e25f3b636186bc7258b53d3ae4af3e9c5b9a3a0bb18bbc8fbc443d62df603eccfa703a8a9491bc2fc41c3b5c1ed23d6e58423a44be3bbc44eeccbc4e1738bb3cc353bdd52ce63b0000000000000000874263bde2fe353c00000000000000005a8bf6bcb8cb143c00000000000000004f3fb7bc641b1c3c0000000000000000685834bc88fdf43b000000000000000069441dbcabebb73b00000000000000000292efbb802a453b0000000000000000242407bc35a88f3a000000000000000055dec8bbb4dd0eba00000000000000006c63993aeefb393b0d397f3a9b6f74bbda98fb3ac8c2973b6ff3ae3b2251ffb96679b43ac426813bb9bca83b77db5d39424c8f3a7184703bb6a5aa3be7e29b39241b253a17dc4a3b6e1b933b57abcc3a43faf63911d82e3bc1d3b03b80dc633b35b7223a8253253b2c55bc3be5d79e3bad5e89b8ac4aa13a54ac953b97c5a43b84c247b96bcc443aaad93d3bd6c24f3bacbb9c3a2099c73afa2f0bb8abc7abbb6d77113b9d18ce39699702ba233bebbb52226b3a2a3e86398173edba769bfebbae0a2b39e49ad1b9b46eb7ba40f2e4bb0eab8939cbb265ba343d81ba6a31acbbba67d539f735e6b91a169dbaedb75ebb3682a63a934ad6ba2e3c8c39155bb6382f476c3a63e307baf7384b3a993e413be2f8db3816f220ba3d0f743a5f2e823b905a06bd949cdcbc36770cbc11d356ba97b345bd9c6f68bdb5f429bc7c8934bab0cc3cbd5ac080bd898728bcf6fdf0b9bcd328bdf64c7bbda6a91ebcdb672f399f9d06bdfce956bdf0a00cbcec67d039c957e3bc78614abd25c903bce796863a11b495bcd5f02cbdd1edefbbe5e0c83a275112bcba34f2bc895055bb827a8e3a2c145cbaeb5f60bca4e8c4b9d92ed8391867193bec4cadbb155eec3d5cf6873f04784d3b34e2c4bb5745d33d28f77f3f49a4233b360965bb467bc23dcc85583fc4171d3b9baba3bb45509f3de713313fa171c73aadd3d1bba223683dce0a083fb062f639a69d18bcf438023d8740c73e8833423ab72e3bbc510c8d3b38fa793e966e85b98cc827bcbe2fa9bc5acbdb3d5b2716ba0fe3ddbbbb9d07bdab5957bc64a54fbd88d5e13b00000000000000006efa47bdb0d7233c000000000000000005c7ccbc98671f3c000000000000000000a74bbcd13d163c0000000000000000eb159abbd616eb3b0000000000000000d1d610bbdcf79b3b0000000000000000b27a6dbbaea5813a00000000000000007af5dabbb23370ba0000000000000000a8f1c3bb01292abb00000000000000000000000000000000000000000000000059245c39b8b78c3b70b5703bb5eb29bb37409eb9b0525a3b86e6ad3b600193baa1a1f33978b40f3b092e943b5e2ac6b91b8dadb9c3f8a63af6152f3b5711bc3acfa7df3999860e3bcba1353b1ca0863aad3f8636aca09a3a66f8823b74a4723bc295e8376e1d883a822e783bc871993b00000000000000000000000000000000000000000000000000000000000000008c9ceeb990c70c3a7e48f5b9fb348cbbd27b38bb6ebb8f3a90499ebae09768bbe50de9b9e2e61dba5740c3ba94f09abb46800a394671a1377ce011bb77db92bbbf969a39edbcac38cbc35cba8a87cdba3351b7390d3523b97a266cba6be0c5b92b9d253ab62a79b946703737081f193b00000000000000000000000000000000000000000000000000000000000000004c401fbd10f466bd4aeb2fbce3f7e8ba98250fbdde8e62bd430b11bc92fec9ba8242f1bc6e6c56bd0e7c15bccbaba4b96275bebce9d13abd6b010dbcc931773aa80196bc980128bd2e4028bc7573b53ab0cc4dbc80d111bd6f24fdbb8fa6483a2b13b3bb42f7e4bc11ccc6bb72ee153a000000000000000000000000000000000000000000000000000000000000803fd9c9a93aec850c3c58cf5cbccaea883f5171973821ff753bb69ea9bb8b5e653fa8e1b43a93463a3bbc70a5bb46e33a3ff260ae3a7ee30f3a6435e8bbc5f0113f8a94f4396ad3fbbab5a272bc38a8d33e53d587ba19e884bb703cb3bc5460863e6e54e3ba26039bbb448904bddeb7e83d0000000000000000000000000000000000000000000000000000000000000000189aa4bcb1fae73b00000000000000001428c9bbf199fb3b0000000000000000d99c2f3b2948d63b000000000000000072e6a83bea56913b0000000000000000f7f0af3bfe418d3b000000000000000018f0963b358fbc3a0000000000000000fd1cacb8ef7ca9ba00000000000000000000000000000000000000000000000000000000000000000000000000000000c277c33a13ddeeba750a05bc917b9bbbd0ded03a34f5c5b931e3efbbda5f8cbb5027ea38d800dfba40e087bbee5b8bbbb864733963fa1dbaa9e188bb746eb0bb84fa9d3a35614c3a559909bb5b02a1bb3e10f73aeb6d063b7983edb8e8987fbb23eb1d3ba7d9613b3b1ace3a7f9da8ba0000000000000000000000000000000000000000000000000000000000000000b7bc95baabf817ba3599bdbb4470f2bc9ed031bb774d80bad1a0aebbd064debc2f85aaba195590baa362f0bb8b1ec6bc29a040bb99a135ba90bec2bbaf30a4bcad9531bb48efb1b92b28a5bb76428dbc5e281cbb5557d7b9333961bbe2da59bcd4ab01bba923ccb9ddf2d3ba29d217bc00000000000000000000000000000000000000000000000000000000000000009516ddbc48086b3ba416163b3a0d5b3b39eef5bcfc7222b926fb173b63bf5c3bc17ef0bc416716bb1dcc3c3b6ab4713b86c8e5bca6a980bb7fbf2d3b162d5e3b4cffdebcad01c3bb948ef23ad2b8393b9f42cebca1a4debb1b1c083a8f47dc3ad9f4b8bcca8be8bb5e196cbac146393a0000000000000000000000000000000000000000000000000000803f00000000a299c73b12b792bb1af3793fdcc91e3c8c156b3b797e2abbdd85543f92e0823c5126f33a1fd14cbb5d1a2f3f6d5da23c4bd9ba3987cfc8bba13f0a3f404fab3cdee3dbba58f244bc4cc7cc3ef86bad3c670f48bbd11a99bc3e4d853e696b9b3c0f2190bb16a6debc7dc9fa3da09f853c000000000000000000000000000000000000000000000000000000000000000099d9703cdfaf283b00000000000000005ce6773cbce1893b0000000000000000909a7d3c8ffebc3b0000000000000000c1606b3cd541de3b00000000000000009cae533cc036f73b0000000000000000d6f01f3c3c79f13b0000000000000000e9d6d13bbc03dd3b00000000000000000000000000000000000000000000000042bc193bbf6ef9ba84180dbccb035fbb4ded833b7e0ac1b85a1509bcd08eaabb2a302f3b41a0c0b8d1c4eebb7106d6bbdfe2983aad028a3aed53eebb8f34bebb0574de3a24c2e0391b9b7ebb53e8c3bbb456543bcb9e673a5abc38bb1fa2a5bb2ba82f3bcd82593b8efc433a044d8bbb486d503b1c3e9c3b94cc473bccf13bbb41dc293b983c8c3b0befc83af5be73ba2a3e103a0758eab88ed005bbf78ad6bcce1c8bba467483ba81c188bb828010bd21ba39bb6b89cbbacf07c9bbd45704bd42391dbb6b61f4badf40c4bb1c65edbc818157bb20ad2fbb71e9c1bbc883c1bcd08356bb3d2625bbdcc790bbb9f3aabc8ce142bb542b30ba351e44bb912a7bbceb260ebbb9cd56bad6b896b90f6b11bc132415b8be2264baa5f4d83a11a989bb909780bc57eaca3b3ea8353a37fd3e3b01d803bdf721333bbb984c3a68035e3b6f5216bd264997ba3931163b721f813bf5331abd24d1afbb6d3be53ad091563b70ec09bd978bcbbb39d31f3b69f5733b79090fbd163711bc792eb63a1ac6313bd8c3fdbc2b0b1bbcddc18b380365cf3a87bed1bc898c0cbcfad9c2ba90692f3820c375bc73cebcbb706007bbb61960bafc47dc3ba43283bcc79f783f2d04053e4e12fd3bbe7a8ebc0aaa623ff98a003ed781bb3b915e41bc18e7403fd2b4f23d4e7c903be31f59bc50d11f3f9754d93d539e893ab93364bc6a27f93e8b14b83d148e2eba3472aebc71f9b83e233d9a3d9c031ebb9e6fe1bc5dfa6d3e3b35643d6ebe25bb914b0fbdd69cda3d001e0e3d88879bba8205ebbc24f61abc28022d3c2e88bb3b9f4cf63a0000000000000000632d3d3cd86a843b0000000000000000fa8e7a3cbb2ed43b00000000000000002253923ccddcf13b0000000000000000011a763c98b90d3c0000000000000000024e653c2b9a183c0000000000000000929c2c3cc1b1163c00000000000000007561a23b63a7f13b00000000000000001d34963ab97b8f3b0000000000000000192e113b1b18ccba5e5df5bb1fb160bbbf40613be7ba6dba458311bc29d8bdbb4ebe933afd2d91bafb33c8bb0a30b2bba5a5083b7cc4a2b6360abbbb5985dabba4c1a13af3915939ac526ebbb33dbbbbcac7113bc3cc0c3bedb9b6ba5028afbb067af13a679c393b8720b539934983bb119f333bf508883b86d0293b54ae40bb6beae83a7820533b3948223b7816e1bab7c2093a34c1c6b6633ca3baf8b5b4bc747e8aba3af153ba4add62bbb1a802bd8b1701bb9a0364ba68737cbba71cddbce35e62bb9b1fc9ba335db9bba129e1bc817961bbfcca99baaf87a1bb2115a8bcbbe171bb948d9bba6cdf85bbb2579dbc59f641bb383a82bab9c819bb599953bc5d8813bb84729aba34d514b91aff06bcf306aaba37de20ba01a0ae3a23be18bb404f5fbc93a3b33b519ec0392abc383bb4e3e0bce4b7fa3ae7945a3a5cab653b2b3403bdedb05bbb0a66033b146a663b823616bde0b6dabb78d0133b6b5e773b3341f9bc3810ffbb6c04f13a3cfe563bd2050abdd04c37bcfeb32b3a47f7263b8263dbbcced727bc4db6dab9829a9c3a5d48c2bc9fb91fbc6d719cbae46425b8ca0a4dbc1cbfb1bb0844b7ba8e7502ba7c2ecf3ba79d96bc7079533f1769873e41d2003caf36b3bc451b423f1ec87d3eebccc53b302280bc18a5233fdfb0613e88da843b9cd28cbcc282093ff357453e2a27cc3ae5c286bc7020d53e4e0b1f3ebf6850b92ba1c6bccfba9e3ecb79003e0e3486bac11dd0bc0d6e4b3e343fb13d9f10b8baa50c07bd50b0b83db8d0513da49147ba887bcbbc1d0a0fbce85e2b3c0cfcadba4fc53e3b00000000000000006243873bd57a003c0000000000000000a9960f3ce2e1f83b00000000000000008a47533c5030163c0000000000000000bfa7453c195c133c0000000000000000bae7473c3386273c0000000000000000b56e0c3ce88b083c00000000000000007041a43be34df43b00000000000000005e7d8d3a8b73893b000000000000000095b0b33a4e90d9baa263f2bbf7d576bb1c8f223bab3283bace740abc71fcc6bbf426a33a1d7fa139780503bcf678e1bbb8ecfa3ae7c24c3927a1a1bbf82cdbbb373c8b3ab4d16a3941e25bbb3e4cc3bb50a13a3b28133f3b9404f7ba95598dbbad25463be02b873b4a0e1d3bed2f96bbad1b053b251b6f3b2b68163b8fa64cbbc06cfc3a9c514c3beebd1e3b3154aaba60c7ca39a7be64b9851a8eba746098bcbde5a6babd9a4dba1d1859bbaafadcbce16487ba1f2e8bba929ccbbb28b2d4bcd36976bb1403deba3429b0bb44a1c6bc13e57bbba910ccbae1b2aebb8dd8a3bc048ba1bbdb3c8fba4de9a6bb78df93bc271f80bb487905bb9e3a43bbc53051bcc58557bbf441a63896ed04ba383aecbb170d72bb638e1ebb11fb9d3a096ae7ba6d0063bccce29f3b51b4713aedf6453b5ceae7bc57d76bb9a316c83ab615813b82200bbd1ccb91bb89d9fb3a1e477c3bc93111bd587b24bc6dd3fb3a80ee703b862d03bdc5433ebca7c4c73a6f9e603bae5306bd2c6458bceac83f3aaa5e2b3bc7e9e1bcb6b662bc9cf255badd197e3a48fcaebc46ed3dbc4167b7bad113803833de32bc1e0abfbb35697bbaedf34a388800ca3b3aab80bc6be12e3fe92ece3efe03f53bc5e59dbc6a54203fd659bf3e3651003c1faa88bc099a093f588aa83e7b33823b61528abc6d12e43eccc58f3ed7acd73aca238ebc234db23e8a65683eb7be363ad928c2bceb1d833e8834343e3dd1c8ba67e3d6bcbde2253efaf5f73d21ebb2ba2d48e9bc24db913d7931883d0f01c1b97798b3bca1c93bbc091a2a3c79e2d5bbc307833b000000000000000074c417bba9b8023c0000000000000000e219a23b2a6b1b3c0000000000000000fe7c153ce5102a3c000000000000000017bf333cb3d82c3c0000000000000000044c313c5c7c2e3c000000000000000029ed0e3cf966103c00000000000000004b8eba3b9f8ee93b00000000000000000e891a3beaed863b0000000000000000fe65a83a4408bfba949edfbb46e192bb7e0c003bf78d52ba75b5edbb25bed3bb7d3ba73aa6121cbaecc9b9bbf61ae5bb78a40f3b5732bc3ac5a393bb3398dfbbe50dc239feece1b866482ebb9132a8bb2510ee39c7db013a898c0939f7c996bbc394123a5090653b08c9c339e9da2bbb5f3ff73ab1dc5b3b115b313beaa219bbedb5a33adeb72a3b91b4193b7b2ba2babb9758392dada639b2c79eba7f7b7abca438b8ba46eb1eba87ef61bbdb07b4bc817360bb513264bb27226ebb50c1afbcbacf83bb4202cfba6a52c7bb42e6adbc523e57bbcbaababa4db78ebb6f3366bc3cbc7bbb73a006bb1b2f6dbb01186bbc604c35bb90c385ba0d224ebb2b222ebc1bf147bbfa75d9ba179f27ba855abfbbb96e0cbbbc0585ba44061d3a3f37e5ba59ba80bc67e6403b707ba53a7970263b902feabc5ce061bb4627e63a3384563b4b4d03bdba3928bc393e393b876b853b713b0ebdba4069bc1cf4cc3a8086563b507cc7bcb0193fbc7dc9923abfc1263becd0efbc200288bce8c48538103f033b3870c4bc3ec568bc495a08bb41fccb3afe6298bce0d659bc8c74d1ba87d0bab9781521bc095af3bbaee3bdbaeebd4dbaddbeac3b33e340bc4b810a3f46c30a3f985acd3bc9bc66bce7a0fc3ee9bfff3e5032ab3be6a32cbcc526d83ecfd6dd3e0e92223b19265ebcb11bb43ed102bd3ebd0e583a981936bc1b298a3e6d90923ee8fc80b9e28497bcc81c4d3ed070673e44d633bbc55aabbc061c003e6f1c1b3e7a92ffbaff25babc907f513db470a53d29b499baad2a88bcf76e4ebcf1bc0d3c51f033bcd68fb73b0000000000000000bcdaf4bb1b42143c00000000000000006271f93a00752e3c0000000000000000e153dc3b58c53a3c000000000000000020c0053cfa00143c0000000000000000f704273c8d4a273c000000000000000055d4193cc938113c00000000000000008958cd3b0042cc3b0000000000000000e1ff2b3b0c14503b00000000000000009b15d83a2f6cf8b931d7b5bb1101a3bb54dce83a75546439e8a9bbbbbe43efbbafde233b126d633a26c48bbb4d6bd5bb7b1b973ad568183a439534bbbf5dd3bb752968b953b5a53af0079abaa166aebb4eb5da3a8f34143b1ab5603afd4b82bb68912e3b8891173bcff90a3bead527bbc02fcb3afbb3593bce89653b1bf7a8ba63fb993a5877173b4601313b2886f0b9e9fa00bbadde92ba4bb7e2ba7ec644bc0d8203bb75d207ba012f7abb410f99bc73c960bb769b9dbad81cb9bbf59c9bbc616d87bbc9d5dbbaaee1bcbb82c694bc94bd8dbb0708f7baf6daa4bbef1e79bc1aee8cbb673508bbd7eb83bbd7ac51bcbb207dbb41b402bb91cf32bb699415bc575752bb0c09c9baf7be5aba1a729dbb44fc06bb534b8cbaf233b2396ae54aba065c96bc2cbee5398386c33abf29173b5dfa02bd9d8e0cbcf1dac13a51e41f3b36bc11bd1d737ebc786c933a186e0e3b042b0fbd23989dbc37f8653a9520223b1897f8bc56c29fbc25a972b8c2490d3b537eeabc6b6caebcbe9fbdba54a8973ae0adbebc8503a0bcd20010bbca0fe03975bf89bc386587bc7aea24bbb40b44bade1b02bc4e1e18bcadd7d8bad2548dba4836933b9a9bdcbb81afcd3e4c182f3f44cfab3b8df50cbc278cbb3eba91213f165a6a3b73b802bc454ba13ebeab0c3f1471f23af44115bc1740853ee31feb3e5ac60e38650f33bcbf074f3e37a7ba3ed099e2babbfb7bbc8aaf133ef4718d3e05f530bb4c83a0bcda20b03d82f53c3eb51e47bbb36e9bbc9d44ef3c2824c23d582afebad80958bc24518bbc616ad13b57f270bc5cccd93b0000000000000000812b43bc1c2b273c00000000000000008270e3ba2301383c0000000000000000724fad3bce99483c00000000000000007711143cf573373c00000000000000001a592d3ce915283c0000000000000000edae1e3cc515ff3b0000000000000000c16cf33b2484a53b000000000000000026425b3b43661d3b0000000000000000072dbd3a5033293a793f89bbc6b2bfbb501e0d3b9f07bf3a7e2668bb1677fcbbfdee573ae185ab3a5283e2baf1dfbfbb6cc3ed3a2279c13a252469ba01bbc5bbaa967b3a0c4d993aa187b1b8005391bb36e4ff3a077f153be520f83a806b48bbe958823a43280a3bbf22663b1ef88cba749c1b3b67af2c3b1869c13bcf732c3582a3653a81a6153bc2024d3be324603a70c981ba66e99d3882e101bb2f0e19bc8a3c38bb700f78baad2a8cbb475276bc90ee59bb9a1ae1ba5f3da7bbe13f6fbc6ba397bb931d0fbb3b31c7bb177c80bc911590bb6f6d0abb4b09a8bb17e247bc20e690bb371016bb44a28ebbc06837bcda866abb472aefba0eca44bb0576e4bbbcdf56bb0b43e6bab1c8c4bab1767dbbc6dce0ba3fbd61ba8c79f139887eb6b83f7cb7bcc74b87bb56312b3a6799053a352112bd1e2980bce214053a29837f3a7a4b07bd500ca4bc8069e238fe00af3aa1c511bd0b11d3bc06592abad12b923a2c0bddbc43e0b6bc5af6b8ba63abbf3aab7bddbcf1aed3bc471d4ebbfacb503a9b93a3bc05f7b0bc16a254bb4f7d47b92b7a71bc22c1a2bc85497dbb7b5cb5ba26adc9bb66552fbc707115bb12c9b4ba18745c3b60cdb0baaefc863ea7b6533fc807783b37cfecbafe9c753e9a0f433f57c40c3bdc8015bba2ca523e6234253f05ede6394e8b8abb00ef2d3e4a390c3f88d1a4ba5020cebb71c8043ed68eda3e27fc49bb5cc232bc5b0fb63d4c10a63e6b5d67bb6c6e48bc01884a3d73535a3e74719bbb565b70bc3a01d33b5c3cda3deb4f3fbb2eac20bc73b7afbc1087363b9a9c92bcd9fecf3b0000000000000000efc65dbc5a00303c0000000000000000f1779aba67462f3c00000000000000002098bc3bfaf2483c00000000000000001d001d3ccb77273c00000000000000003bd3483cb85d213c000000000000000035be213cea15dc3b000000000000000026690c3ce132763b00000000000000009e5b853bf308563a0000000000000000a43c1c3b2c7c243bdf9538bb63b7a1bb0032163b579f2d3b978d0ebabe0bf3bbf4745d3bcd8ae83a506af2366c76e0bb3ce9f83a4430123b095abb3a0a20a0bb0564ab3af425e93ad6b6d13aae656cbbd38bbd3adc0ae73ae541973b1a7b23bbaa89013ba312273b2d28963b00005a399455c13acaac503bd51fb83b863a1d3b96be623ac4e3173b15ae843b6b5f053bb8d353bbf9d588bae6e29cbbcb57dabbc2d054bb0e8651bab7aaadbb72b341bcce6c9fbb154627bb3311aabbe51665bcd09694bbaadc70bbb241d9bb04845cbc877394bb1efa15bb4a17b3bb590839bcf8294bbbed9198bacc4aabbb67ad08bce8ce71bb1373d8ba8cdd4dbb6703d0bbd18017bbc74d93ba6e018cba13ca0fbb84fbf6ba674785ba6f6fc5386786173a1ab6ddbc65923bbcc69a033b30e5583a2f7d1dbde423cfbca8ce8fba99cd2dbaaf311bbd309501bd1cee43bbd86a1d3aa6db0dbdf66c06bd2c7939bbf9821a3ac92de0bcc00befbc88e372bb5bf01e3a46a1d2bc57c7f1bc8040dabb2ade44ba14be99bc1c3ee4bcd5eacebb9a5833ba842940bcac37c0bcaa8bb7bb5533e0ba83d799bb7a1b5cbc0e8e6ebbf269d7baaeeaac3aad7cac3ba59f033eac21783fce1eee3a165acd3bf270ef3d6e12633f2ac5b03aeb139f3b28adcd3dd314423fa154b5baf425053a3364a83de41d213f637031bb708f4cbbd12d783d4b37fc3ee5cd5dbbc75802bcff1b103d982bbc3e6846bdbbdbfe1cbc5f7f353c6b68763e297fcabb86a52ebc2d1076bcbca4ec3d8ee798bb9698febb712be2bc42023bbb9b7272bc05aef83b00000000000000005a7219bc520c2b3c00000000000000000f34843bfc64403c000000000000000000cb323caf0c493c00000000000000007aa9633c89cd2c3c00000000000000007def893c41f2063c000000000000000047076b3c4925d23b00000000000000001913273cd6a3103b0000000000000000096bad3b15560cb900000000000000000000000000000000000000000000000055b2113bc51a483aa65e9fba8f90cabb855b903ac3c4c33aa3eb833a0c06a8bb7c1eb5b7c62a043b1bbc96384c96abbb09af3bba1ab0b93a7e9be73ab85127bb3c07113b946a8b3adf80153b5eac9eba2f4ab43a8bc5ed3a871b803b82524e3aa2cea63a7302183bdb44983b498a113b0000000000000000000000000000000000000000000000000000000000000000bb9598bb5857f4babb218fbb23fc02bc9e8f87bb4e51d7ba5475c1bb123e22bcab346bbb01e7ebbaa73daabba1b01dbc388c78bbb7e000bb61299cbb5e3a16bcd68366bb5b1806bbc8d38bbba24cfabbd02830bb594da4bac00b24bbd9faa2bb08a6feba50c184baaa54c7ba391806bb00000000000000000000000000000000000000000000000000000000000000008d4405bdbe75dbbc6db0b3baad1a9aba65f5e9bc36fce9bc3dbb28bbeafea3b97bb1cdbcf995e6bc37465bbb7ed2adba2969aabc036fd5bcfa308dbb87b87a39fe0192bc871ad3bc60e1babb56d95b38db5f5cbca72cc3bc6ab9cfbba4e5fab948180fbcc85fafbc3829d5bbdf50c1ba000000000000000000000000000000000000000000000000000000000000803f3d00093bbc26253c847a2b3b670e7a3fa82bedb96ae2d43b79ad4d3b7f67543f2ca6b3bab69f443b58d5a33a54882f3f3ba52dbbe5ac08ba6a7a65bbe0ac0a3f4c6290bb41d183bb18fa1abc76bfcd3e9615aebb5c24d5bbe3ab8dbc9044863ea37dd9bb133901bc196cd8bcc2e6fe3d00000000000000000000000000000000000000000000000000000000000000001708d23a82670d3c0000000000000000bc1e1c3cdf6a193c0000000000000000ae9d653c75971e3c00000000000000007612813ce26b143c00000000000000001a58833c0b15f83b000000000000000091a1663ca9cfa33b00000000000000007a013b3ce3b61a3b0000000000000000000000000000000000000000000000000000000000000000000000000000000051a8e7ba6dad34bbb45738bb0e94e3ba1c7701bbe0de3bbb5a5938bbc75d0dbb95a2e8ba604428bb78b229bb008611bb7bd392ba30f917bbcaa326bb03a50ebb5a8284ba4f760cbb5fc91abbe6ca0dbbe595c2b8362edbbaa63e0dbbe1ad0fbba8e76eb91f49baba57abe6ba17aa8aba0000000000000000000000000000000000000000000000000000000000000000a8987eb972677a39ebff2ebbcf837fbb9c2e3dba686f8c39d10438bb083183bbb81e55ba0de08c39d32135bb9ecf71bbea3b8dba211ca2b767a527bbd00259bb65769cba45f6beb75daf1fbb471b59bb43b5e0badcb674ba9ad01ebb899951bb257ad7b9374b1c3af224f3ba384837bb000000000000000000000000000000000000000000000000000000000000000044321cbba8a29e3a5987fe3a8451ee3ae7bb39bba2252c3a85c80c3b129d163b53e73ebbe1c9bb39380a003b6c3e133b494738bb4b2c1fb948bdd33a715a033b080046bb45e405ba4e0dca3abd12063b443452bbbad6c0ba03c08939872c2c3bf8ac34bb8a4da1bad5062c3a3e46c73a0000000000000000000000000000000000000000000000000000803f00000000bc7b913a62c3d83a2cdd623f6998703b2b0b513a1bead33a5f75423f4bbe9b3b6b4c5e3941108b3a45eb213fe243a23bfad27fb98cccef390455013f3057983bae1738bacc72b4b95b10c23e119fa43b8681e8babbe60ebb5e9f813eadf5ac3b9fa8d5ba57ae28bb9dae003ee3046f3b0000000000000000000000000000000000000000000000000000000000000000571f9d3bcb89603a000000000000000095677f3bd2cfda3a00000000000000001988773b4fd9003b00000000000000008bf46f3b2f38033b00000000000000008dd8853b0253233b00000000000000003bfe943b9bca553b000000000000000002125b3b2b98293b000000000000000000000000000000000000000000000000f518f0bae82525bbe79c10bb1209a6baf92405bb65ee4fbb66af54bb358017bb2fc8f2ba1fad45bb9ef151bb0bf720bba0c202bbcbed5abbdae561bb39eb3fbbe4a3e2baedea4bbbc97859bb960f44bb1a1b97baa7d822bb4dc038bb01ef37bb2ae9cfbac94a22bb5c2122bb569732bb81a0c2b970f0b7ba35d9f9ba6d3711bbb43632ba4c1480b98ce065bab232a2bac4f1a938b324383abaf500bb096050bb930d19ba5dba6739d53b43bb24709ebbaead5abacadf5839a3e245bb3c7598bbe8f2a4baf7821138357e68bb38e4a1bb002dfdba0fb809ba903b5cbb7b9295bbce9cc9ba035046b96f8c44bb892286bb272b9bbaba22ad39dc7a30bb3e2c6fbbbd7db2ba614092b9cef00abbab8357bbbf1153baedc055b9cfa73ebae144debaf65898ba6ffed03abc03013b50b1063b107234bbc704aa3afb13223bc91b293bc76058bb1f9b343aa67f1f3b37a7333b763779bbb6ca863945be233b7355433b0c1c84bbd94e77ba487c503b01bd763b1e9878bb727651bae8a0e23a805d1a3bc4615ebb8e836dbae26ff93a17d1373baff758bb142bb5badd91533a0579e33aa3c0edbac18280ba33098539ddcb4f3a1ab6963a9944583a9ea5623f2c27033e9417983a3496923ae767473ff7b8ea3d2ab4403af69a9b3a55d82a3faf6fcc3d87bd0e393f54523ae0750e3f4739ae3dd5fc81ba2dc731ba64cee33e75a98e3d225082ba561e8aba6573aa3e1479593d03cf97ba429005bbca6b633ecafc183d446eedbaf57057bb2f27e23de976a53cca739ebacef83abb0b2084b9110f213b0c8c223b7a6748ba00000000000000006dcd6b3b8d04bc3a000000000000000016cd8d3b857a033b000000000000000071c7a53ba558343b000000000000000012fdbd3b72e9823b0000000000000000c052a43b70a34e3b00000000000000003a2b613bb8a7853b0000000000000000130b833bd722583b0000000000000000f6ae0c3b98a6e93a0000000000000000c8c790ba778209bbaff90ebb13d6babaaccdeeba5a3f48bbfeee4bbb7c3110bbf0d8daba232228bb8f3531bbdf2d09bb452860bb919d58bb7fe265bb45a748bb4f9ea6baaf2f20bbd4fa35bb4d842cbb5e9e90ba28034cbb4a6171bb702e71bb1abf09bae59428bba47142bb6c3850bb6de524ba78f2a3bad8fbccbab8a1efbab159e2b9094258bac24084ba3fa494baf30735b91be2a3392c56deba561746bb77af06ba0bf7b6399b3835bbacd694bb94003ebacc6c1e3978a52fbb675679bbd01bc2ba847fd13a8c1e61bb6e989fbb55fd183ae7bdb9b97dcb37bbf0cb77bb8f862bbb3f6c203abf3979bbcba3a5bb3c6930ba40f7cd38682c4cbbc7b183bb02ce4dbb535124b9a546e5ba97ef2ebb23da09baea4dfcb8f1988abaa10bd4baa918a5baf3e7ac3a2f36d33a51d4ca3a18982bbbbabd973a9f8e1a3b2903273b2a612ebb710df1396571003ba576183b5c907cbb209263b9112a133b1c85973b4b0b56bbac222fba5924c73a34b6093ba77d9fbb8a750cbb9b591d3b6cab593bd28809bb5d41fdb959b9a93a5ee6f73ac77932bbfee594ba1cb8573acdbddf3a46aed2baae8f5cba8074653926482d3a2b56553aa9a22c39a43e423f42cb813eeff87c3ad1130b3a2f022b3f245b663e5986033ad06f0f3a7525123f31dd453e5c3bbd37e39fb838a85cf43e6499273e952a38ba961830ba1189c23e2ba7053ec924beb879fe1bbadbbc923ee62acf3d851000ba6de4a6ba1965423e697d893d4be3baba5d8a40bb2af0c13daa37123d758ba4ba02792abb01e18ab9f94c0e3bf39dbb3a9e622e3a00000000000000005c0e4a3b8ec4d13a00000000000000001cc25e3bbbb7f53a00000000000000004c049e3bed0f343b00000000000000004885833b4ac62c3b00000000000000000c59c03bd0e08c3b0000000000000000c3237b3b5164333b0000000000000000d4f2803b36ba503b00000000000000003e02073b6026fc3a0000000000000000d182473ac7c314bb2c0c17bb185ec0bad197f5ba988c49bbe04c4bbb21791bbb2130edba016449bb6c6551bb313b2fbbba8a01bbfbe45dbb0a6364bbc09e3ebb290feebab04604bbedc6d8ba23914dbb2297d0ba097241bb98ee46bbfa6b47bb2dba643a0fc2f9ba33dd08bba94111bb9851a43a3aecbd39f7a8c6b9fe6937bb3e0f19ba6d85a2b9f2b23cba47ef93ba2e1689b915d56d3990a3f9ba9efb3dbb56794dbadfe11d39fc683fbb6ae288bbe18e9fbaee37dc3860f04ebbde908dbbccabbaba2ab75db956a961bb09e097bb7e031f39d1d72aba5214f7ba569390bb6c79f9ba9f6806ba087d5fbb23518abb6750dbba2e672cba23381cbbf97f56bbe4bf1ebb5d28e2bab88118bb3aa165bb40c750bad08a96b9a14a25bab8e1a0ba8f76b8bac9838f3adcbedb3af71ee93a31312cbb5ae9723ac3a2153b0a2f263b11575dbb60ab1539f3c10e3b06462d3bf8157dbb0defc3b90614133b9fe2393b19de77bbb84d8bba4283b53ac0ac0f3bc9ab84bbc5c3b5bacc56a63a3d602b3b063154bb32c7abba99037c3aef1fea3a8f5681bbd20523ba4be7783ae215cf3aa404bfbadd5c35ba2c8e3839c1d3253aec11173a21ad4e39e5cc213f4354c23e7f77553a129e113a9c860e3f42ddab3eab39bd390e00c3393369f43eb709943ed97473b8a98ccd38e4e9cb3ed9c5783e39ed7cbaacd661ba396ba23ed2b4463ea87e95ba851be3ba78e0733ef402173ec09aa9ba5f8506bbae38223e7decca3db0e92abbd7ac8abb15d39d3d3ee7513de03b70bafdc70ebb83cfd5b93590073b608b8c3a0c15763a0000000000000000fb6b2f3be665f83a00000000000000002def7e3bb980293b0000000000000000c53aa03bdefc593b00000000000000003d58903b346b483b00000000000000007f51b33ba5a08e3b00000000000000000a0e8f3bdeff523b0000000000000000cb336e3ba3bf303b0000000000000000c0620a3b050ceb3a0000000000000000795fb6ba214d34bb5f2714bb7d68fabaeae6f6baf8b03dbbbfcf36bb2320d2bab5e3baba2ae231bb36c13cbbca801abb3373f5ba6bb35abbbfda15bbf10338bb27c4b3baee1e0fbb8a5c10bb173a0bbbc851a6ba92061abb61d42dbb46e427bb3c233ebaa3c4eaba7ac609bb556e11bbeeb812baf6a33cbad17096ba1ad9d7ba32cc30ba39ed0ebaa94f53babbd68fba3eaa833a47e60a3bf65108ba77844cbb3ff4f2babac91bbacbce1dbbfec94ebb7f5a8dba3656cc389a9d3bbb63e471bb9294cdba86c1a4b97f755ebbbe298cbbc397abba7817b0b9bcb41fbbd00c3bbb482cdbba1ff5c4b980983abbf6f866bb41d1c4baa174a5b9cdcb17bbe60942bbf7b0b4ba23d411ba4a2dc3ba1a4a0dbbf8cc6ebaa92ab0b90f0f63badec3aabad46cf3ba8fe386394cf23d3b204a713ab01b01bb23d7cc3a8e4ec13abbb3f83ab7a152bb1c373eb96ca7f63aa188233b15277fbb550f63ba1cbeea3aa7312d3bc4d63bbbc9e47eba18d3033b281bec3a1ed96dbb6540baba5220973a4f65123b5aab44bb8f1eb6ba8b982e3a079bd73ac81a30bb2c21b7ba3986d03642b46e3aa6f8d2ba7ef261ba6a5b83b899fe493a26313e39e99aef380655013f276f013f4833ca3a972ce13a718ce33ec933e43e65c916398ccc093a8543c33eb549c43e45cdafb9a9dc883a960aa33ea780a43ee1a11dba4d60d2b989a3813ee465833e6cb288baa1f79ebab81a433e46da463e2ffdb1ba5560dcba846a013e9fe7043e9bcbceba8d4e1ebb3a5f7f3dae21873d76448abaa3e0f8ba3f2025babfa4f93abf64663ab140773a0000000000000000d8dc083b58d6f03a0000000000000000d2a1663b2988293b000000000000000026fa933b6d42583b000000000000000099b8663b45fc223b000000000000000026719f3bc3cb673b000000000000000018d9873bf9e54e3b000000000000000085074a3bc9c5153b00000000000000004ce90a3b2f7fcd3a00000000000000009d3421b9219c0dbb89781abbff14dcbae5acadba6be829bbfb0229bbb1faccba9f80f6bac84241bbbbd3a0ba8b053dbb7ce248bbe41791bb0b7d27bb6ea320bbdd4c3dba31d621bb4e0e1dbb485217bb2d62a0ba96ed89bb24d215bb53da1abbaaa413bb93ebb5ba941de1ba3edbfdbae82524b92a487bba76eea6ba1e1defbac1262237246fd1b9a75543baffde93ba4de23bbabf052639d952f0ba43ed17bbd0e684388d8eaeb98d0416bb07cf41bb2c71dabaed79edb91f6654bb5c3286bbc6b585baa45fa739f5ff44bb654879bbea12c1ba127ac2b9995332bb467c52bbf2d5d0bab2f7f8b9c60136bb759f61bb3610b2ba594596b925a709bbc48b34bbfaa0bcba550824ba66b8dcbaa16f16bb593085ba6f8d15ba2a003eba13c997baa513f4ba48e3173a0555c83a883ec83a82311abb2b85a73a5171c83afce5083b92d282bbf94a88ba9cefd03a9c42163b11387bbb91d698ba191a0e3b8be04b3b5a675bbb92adb8ba51e08e3ab309093baed66ebbe5a4dfba5013853a91f5133bf11848bb65a1e2ba5062053a51d9d43a9c1e38bb19d6e8bae71398b7239d8f3ae448d5ba4cc299ba8abe85b900a4ef39b7ee9b391c6f383a6c1fc23eddd0213f690df4b949d8a4398807ab3e0fc40e3febe5d7b8abf50f3adbcc923e155df53e94be3eb9016c0e3a7e72753edc54cd3e56ae39bad8729ab9642d433ee8bea33e90a594babcab86ba5080123ef85a773ee186b8ba5d8cd9bac096c13d5018253e1cb6e6ba1c021bbbabf43c3dd216a73d3a5facba81ddfaba7f45b6ba5d89c83a9c6a193a9a7b823a0000000000000000799e213b5552353b000000000000000078cf683ba6fb413b0000000000000000fcc09a3b5e96693b0000000000000000bee78f3b007e523b00000000000000009d76aa3b54f1803b0000000000000000bca2923bd132593b00000000000000007b0e7a3b2e43473b00000000000000004559103b2c76f23a0000000000000000df38413839fac9ba467e0fbbdff8e2ba9b2939bb6c651fbb59cc3abb0b1d19bb53590cbae0a216bbc6191fbb910f0abb6fd5dcbaa68455bbea496ebb53e06dbb2dfc81bacd95fcba41220dbb901d07bb41fa6db9873012bb48152abb62052dbb75e100badb769bba1697d1ba4060d7ba3f768db86c4c76bab9f0b5ba5993dcbafc6012b9edb02db9559d05ba0ad860ba437745ba4e9bb2b7d918dbba8a6007bb9962a0ba383354b8860136bbab015cbbcee9a4ba70fd8fb92ef82cbb548940bb2e1a35bb357acaba26c084bb587898bb73d6b5ba514630bab81223bb7bda35bbe89ffbba241a3aba83dd49bbf6f16abbbab8acba17bb19ba59c5fdbae35816bb570ac3baf4fd21ba95a7e0baca960abb2d3351ba8b58c2b9e45f35ba647181baa47315bbb7ddad3872b1ad3a0934ae3ac5ca70bbc8252bba5483e43ad419103b10a652bb1a1d8aba9f44b13a5823023b506a55bbc00c87ba0d140b3bc1a0453b491b4fbb212ed8badaab2e3ab88fdf3aa9e282bb9c4218bb6d4b003adef7e63abdff28bb673edbbaac6861391c42963aac6138bb0e8e01bb18c784b97f687e3a2b67c7bad13f9ebade1fc6b90850de39ba19f339e51c9e3ac9a3813e3f4e423f36b48139c456c53abbfb643ec2392b3fbfb451b9b1196a3ab9b3433eca6b123f1dc6dbba513ab23a72be243e1dd6f53eaa5e4fbaa4b32fb95524023ef077c33e1a1dd5ba174ca0baaad8c23d1c67933e46f8bebaf33db1ba75e07f3d5be0433e69ecfebaea420fbb876bf43cc527c63df1a0b1ba6537deba8e56ddba0b59923ad5850b3a1920ad3a00000000000000002a0c243b9d7f303b000000000000000085c4583b68713e3b0000000000000000b069b73bb4c3943b0000000000000000a6c9843b00eda23b0000000000000000b7d7e93b35ad793b00000000000000006401793bc95a363b00000000000000000e55763b7ad73f3b00000000000000008790053bed61d53a000000000000000057eb96ba1dd88bba86bfa6ba6bac5aba0794a1baf10305bbd05428bb2b071fbbb855acbadc9729bb11a534bbad263bbbaa62c9baa2ed0ebb90f719bb648416bbe989e1ba910f24bbafc42dbb39b231bbd1fe34ba63250fbbd9c735bbf10506bb7464e3b9c8c4a2badc38d2ba8498eeba5f5897ba1cf4ebb9bb283ebac6486cba7cff083ba5d516ba4a2b58ba5159b7babca41b3952bb743a31ef87bab49e4abbac9bc5ba30cf9ab9ce9e3bbba28e55bbf1af0aba849fbbbaeca258bb234370bb8adcdcba667832ba87ec43bbcf685dbb377f11bb0748a7baa5d149bbd32065bbd040d6bacf04f7b90e725bbb33573ebbe579debae44f48ba95340bbbb04924bbaa6ba5baf71b3eba760cc8ba8c02ecba5479efba0545d239a9a6b6ba71feb5bac1a66bbbc4488dbadbb1403ab058793a35988bbbfdd5ccbaae40bc3a61a8f53a45a5a0bb7cce43bb053d103b62c9453b3f2084bbc60d1cbb7a69693a9f9b023b012e84bbadd43cbb4f3213b94903493ba2f06ebba55829bb95636039eaedea3ae2794bbbf43222bb7523afb911ba963abd5d2cbbb52714bb255c28bab2e8433ab6bd0fbb37a11abbcacef3ba5306573a16e6feb9d98a883aa33a023e7beb623f06b2bf38eb1d023b3d10e83d6c97473f2ba19cbacba5e73997fec43da8452b3f1fe51abac1955a3acf07a63d6da10e3f1896c3ba2b0735ba9a55863dae59e43eee91c2bad7b062ba3b5b433d6e44ab3efaa5f3ba5ec6d2babfa0fa3c1ef8633e3a8709bb044203bbcf7c5f3c2c8ce43dece61abb7b101cbab0efb7bac5fe8c3aa5315a3a1170c83a0000000000000000dd114c3b6a05383b0000000000000000ade3a43b550e803b00000000000000007539a33bb7896f3b0000000000000000b80eca3bb0b3a03b00000000000000005870b63b0fab843b0000000000000000a4429a3bcc5e593b000000000000000001c17e3b8a2e373b0000000000000000cb62253b2079f73a000000000000000000000000000000000000000000000000bd7a24ba151a05bb076913bbf18108bb7ae2ddba45600cbb791dffba43cde6ba4a68a5ba1046e3ba815601bbf62000bb4bc504ba291e7abaaaf2a2baf8a6ceba996931ba26f079ba3a2ccdba34b3e3baefc7d6b9aa4083baf5cb95ba2eb0a8ba2f8fb039146021ba68f46bbac8d7a5ba00000000000000000000000000000000000000000000000000000000000000005fd1b4ba812cc5b9cba52bbbaa012ebbefcb9ebacbedcf37fd3029bbd46024bbbb43c8baf2452cbaa3d122bb754536bbb161b6ba5e1e24ba5ad0deba78b207bb1bb8bdba9b54efb97b22e9ba6dcd12bb6ed1a3ba63adc8b9f004e0ba491d00bbbe5ecbbabcb892baf4b9bbba6b14d1ba000000000000000000000000000000000000000000000000000000000000000069e065bb0d6ceeba4df1853a2189c13a506c49bb3cf5dbbabc61b23a396cdf39335159bb2c3f1ebbb798073a3398d43aa15540bb6f0819bb99201737787ea93a2d9b43bb1b671bbb9ae58eb99a69a13afd4b1fbb337018bbcb18f3b9542a783a3ade11bbc95723bb8bf5a3bab7007b39000000000000000000000000000000000000000000000000000000000000803fe6a992b8addaf83a195e343ba8f8623f863c41395260fa3adffd9d3af8b3423fee7b35bae9be2a3aa4da053bba15223fc9962eba03fa54b9951b833aa661013f1aa69fba66052cba8d4b8539f937c23ea1e9d3ba1607acba40b252ba665f813ee65b14bb015706bb193719bb03c3023e0000000000000000000000000000000000000000000000000000000000000000fb66473b4f6c183b0000000000000000f99c403b6c7b7c3b00000000000000009978973b00ba523b0000000000000000933a8a3b635e453b000000000000000028df923b18094c3b0000000000000000c85d873bbe1b373b000000000000000021a8ac3b39ec183b0000000000000000000000000000000000000000000000000000000000000000000000000000000092ae9ebb8732503c0e9a923cb010fe3b8eb1f2ba5598563cc6ea8c3c522f1b3cc137903a071a3b3c0b305c3cd237033c9eee873a2bf41c3c15173e3c47cef03bd431a7390cf1ca3b306a2c3c8a90cc3b4e4213baf79d743ba3e10f3c79389b3b567d9cba3ec962390e6ed53b19842f3b00000000000000000000000000000000000000000000000000000000000000001b30713bb51ebdba784ec53b252de7bced9a653b4a67d3b8c8af7c3b18d109bd9058913b1b4634b9b33a953997e30cbd756a8a3bdf25be390c95c839b779f0bc460b693b31c32c3a3b61963a2f93a3bc5146b43af4f593b90e472138c68504bcbd57833afd1858bac4cb22394599643b0000000000000000000000000000000000000000000000000000000000000000972808be1f27edbc7bc32fbbd63c883ab80e03bece160ebdcc21a5bb7e29fab95621e6bd0d3a12bdfbf0c9bba10195baac43c1bd48cd09bd0f31bdbb834857ba26289bbdc498e1bc4b5d32bb7a31edbab62d5bbda89d9dbc455b13399a928fb90619e1bcc18111bcce9a053bf186a4b70000000000000000000000000000000000000000000000000000803f000000008ef0413c30fc9abd02699e3f7e4d42bdef16e13b5d4440bd5c81833fd5d02ebcc915333bd3feedbca963543f57772e3ce37cbeb86264cabc8c73213f20669e3cb2c806ba9964c6bcd2c1e03e5703933c98abc63af87ec0bc42dd803e849f253ca1aa483bbf28e3bc59118f3d6bdfcd3a000000000000000000000000000000000000000000000000000000000000000062ac023cb1f400bb0000000000000000ac9fe23bb7e240b800000000000000004b049e3b4ded2b3a0000000000000000c8b1703bffe20e3b0000000000000000f80db9ba7d68fa3a000000000000000065b698bb7cc0093b0000000000000000e91d04bcf936203b00000000000000000000000000000000000000000000000074a0c4bb5c0afe3bd7d5eb3bc4b4a53b12c025bcc7d3603c71f1ba3ce294323cec22b0bb56d7823c9232c33c7847493c5c0d0ebb3712743ca1aaa03c410a503c45eff1384f1d353c46e87e3c2660223c819bd9badb47fe3be5a66a3c065c113c631521bb322e423b7d97413cd355e83beb4215bb55bcdcba06bfb63bd345263b5441b3bad82b47bb3cc1283b4ccb98ba7ab72b3b97bb0bbb8a563f3ca663abbc429d2d3b312900bb95d6823c437db0bc4d11c53b0d6e80ba67fc2c3cab9006bdea84a03be9e2f93997a6e63bb41109bd3ad9a13b6310363a5a558e3b4334e1bcd33f573b25fa20ba2b069e3b598684bca2ff3a3b898dedb9be304f3bc1e137bb3e66b9398bc7a6ba5efedcbad47f1c3c4821eab943b08bba2179b9b9631d483c2a239cbde81b16bcdf5d2cbc3275b63b05cd0fbe2708f8bc91aee9bb7ece8e3b97f816be24f837bdd3a730bc9e2fbe3a4d4b07be916641bddffc36bc79f3e3387c56dabd41ac2cbd666e16bcd0af70ba7b00b0bd3f9e0fbda813c1bbbc67413a140e73bd31e6ccbcfddc98ba3c09c8b71066c5bcbe6b17bc7611413bfab4913a0dbdceb968e7183b1872993b0ee7723add598c3cafcc0abeecfd9d3ffd67953dfa82ad3caaf815be622f973fc99f973d90f14e3cebbcd3bd6d9e813ff66ec83deb39f03bdd3c9dbd878b503f489dd33dbb70a63ba5816dbd853a1b3fe790c23d1ec9923bce1f59bd39a7d53e7e389d3d07b3df3b91dc3cbdacc66b3e50344e3d5ae9593cdb2604bd999c6a3d085b993cb3e91b3c9344fabcda3280bd21c5e0bb5ae399bcc30729b700000000000000005f8a98bcb9e6043a0000000000000000241d4dbc99f7353a00000000000000009b6435bcc4cd973a0000000000000000013728bc8a1b023b0000000000000000e1bd7cbcad6a353b00000000000000006a2a90bc1bd56b3b000000000000000007c776bc9943b73b00000000000000004c926abcaa217b3b0000000000000000bde350bb50c7d73b6bbdc43b98c1413b905ad9bbe5065d3c76636a3c7937223c7e630fbbb73f423cd9937c3c37e0263c293cd0babee3503c4ad38a3c1b42423cda7381ba800a153ce6624f3ccc87273c0ad4f2ba5beecd3b5d9c5b3cce0b0d3ca79bb4ba2858543b0c4a123c62d1c13b533d22bb6b7616b9db9eb13b6d07503b174a13bbcfc940bbb578cc3a2c948539eed38d3ad86623b89023373cd576c8bc8d78503b5edf9035d4e7603c0e13dfbc9d3da23be1309a3947b7053c615302bd7c31b73bfb699b3afe46063c780ff2bc8a147e3b82929e3a5e789f3bbfa6bbbc12b47f3b6c63873a17eade3b2a4b4fbc4032fc3abbc711395c1d703bff1849bb5df8603a7c3c04baaba651395a71023c81a91bba3a8288ba226a133b468c2e3cc36c53bd08ad8cbb607c6bbc4304833b0a56e3bd011c0abd1a0991bc9b7d9c3ba5ade1bdc05d36bd361a8abc9325ba3a5288ebbd846859bd4c5692bc7f94163aae02b9bdf20939bd256853bcb65d86ba4a079fbda6072abdc2eb24bce73d603ac23650bdef7fd6bcd606b5bbadf99a3ad051c8bcb8815bbce247aeb93749e33a4f5b89bab903b13a286e2d3b1c81fc3a578f843c365006bee91a843ff4ab843eebb6b53c94241bbec2c9823fb662833e801f463c5e4ecbbdcc6b573f2487803e8141263c8975bfbd0a9e363faa76663e9a6ddd3bff278dbd7fd1063fc3da3e3e4b8ae63bc1e887bd1085bc3e0cbd143e431fe13b144c5abdc0bb573eba64bf3d97c6643c821137bd3495753de3a2333d154a383c2463febc4a452dbdffc6f739d18a46bd2ae5573b000000000000000038ae49bdafdece3b0000000000000000c0e808bd293f8d3b0000000000000000e00ff0bc3a8f903b0000000000000000be6fb9bc793d8b3b000000000000000092bcd5bc2986873b0000000000000000054ab4bc5db1573b00000000000000004746d3bc07a8a63b0000000000000000b383a1bc73418a3b0000000000000000fa8f07badd4d943ba50f3c3b9c4e453bb8b971bb34e82d3c29b54c3c95af0a3cb1a1f9baaff2423cf6937e3c90613d3cd5518cbab71c2a3c7e126a3cc475413c54abb9b95de92e3cce88493cd1fb203cede5a8ba415cc43bdb7b3b3cd929173c6ec031bbf90d443b6c4d133cdc03e33be0f931bb3ba181b91251923bf02d523b1f110dbbea953eb9fc36943a3d22cd397a86d03a15f40a3a13c8053cda80c9bc85099f3b5c090b3aad7b4b3c1899e7bcd9bfdc3b0411bf3a96d1163cbc95e4bc7f27b63b3815013b7cbef03b5c8bc7bcf034933bec8b213b819aad3be7a0a6bc0ba5aa3b4574e3392e08a73b736738bcfd6d253b247a533a87e5ab3b67bd81ba47bd093b3b175ebabe1f653b9287db3bd2089337e71862bae707363b49cc153c09fa1fbdbac995bb429ca4bcba6b8c3b76bbb7bd5e6121bd50d7cdbc3231943b3e22d9bd7bff71bd2abcc8bc4dc82b3a589fc8bdf7c975bdb619b4bc3d753339cb5aacbde2645fbd822c96bc20d3abba9cf888bdbcad40bd604363bcf21a843975313ebd4d0b07bdc5da0bbc56c4973a2b9db0bcc7a988bcb79ffeba1453143b0c042cbbed5c0aba8d33f13a1676203b7448453c3fa1e3bdcdcb563f500ae73ed21a8f3c291508becb78543fc8b5e63eea5f513c2cd5ddbd23c9383fe538d43ec33a193c72ddb2bd4efb143f4b09b63e5bfcb33b78e092bd9945e13e2f7c943ebfaaf23bbbf181bdfb6e9b3e8f075d3e8dd7173cfff765bd7a4c2e3e1d440f3e7e543b3cea8337bde489563ddeeb823d178f013c536b0abd7068febcf1950c3b93c08fbd80aeb83b0000000000000000a2e39ebd4945253c0000000000000000798d71bdff691d3c0000000000000000232337bd6f99d53b0000000000000000a37311bd90cbb23b0000000000000000292f09bd5679b93b0000000000000000f91a03bd8080933b000000000000000076edffbc8d58c53b0000000000000000b240c0bcd5a7223b0000000000000000668d76ba5cba973be3f8f13a45157c3b179f09bbe74f0e3c0e2c203c379c1c3cbe7cbdbaeac80d3c764b5b3c3fd73f3cbb45b8babaae2a3cf2065d3c7b8d503c4897423a4b00c33b5c22023caedd033cd1c0dcb922cfcb3b0975193c02521a3c7175cfba9f89373b612ff03bbdcbbe3be7680fbb7f82893aa9a1803b65396b3bb614a3ba4d83bfba706c1e3a831e213ae909d63ab875ed3a1461f63b1b87b0bca6a8a13bd9a5f73acc411d3c21e6bebcf5ddce3b3bca463bbdf8b83b7c6ea7bc4813d53b5ce8083b0730c63b8e5ba4bc0f63583b11edea3ac9e52e3b855287bc3339a23bd1250b3b06d4b63b2e0a10bc6b5d513b5de7133a6c64853b795e34ba0dd0523abe80c4b76a4d403bd80e9a3bb891bbb9bcd249baf8ca603b2a61ec3bc2590fbd4edb0ebccf5fbbbca839193b72bf97bdbda443bdd1ceeebcd644763b9a3dadbd62e586bd437de0bc953000babfc4afbdedcd92bd9aa0dbbc81912eba11b876bde09250bdb4aa9dbca3cc80bab96b71bdcbb75cbd64438ebc6a15e535004617bd15d313bd81bc1dbc8f08b33afc1090bc8e4c93bcf1ac14bb96f22a3b8cd9a1baaa2db1badceff83a33b54d3ba4ef033cd8cfbbbd9e77253f5b00263f745a543cba5ad8bd504d203fd9af243fa495133c1f94a8bd9ef5093f2e74113fb03fde3b039598bda377e53e0163fa3e0dab483b4ae348bde620a63ea9a8ba3ee72da03b646269bdd38d6f3e7cf9913e1af5b63b61d93dbd280c053eed6b333e38470d3c4f1a1fbd9e4a173d1d92a33dab1ddd3b5399dbbc51bbedbcfb1c0a3b1ebcbcbd5daaf53b0000000000000000581ccabd305f533c0000000000000000df2b8cbd0e49213c0000000000000000e0b063bd87750a3c0000000000000000535ff8bc719e9a3b0000000000000000a8bc17bd38af993b0000000000000000384504bd83e7843b0000000000000000d7100bbd6974a43b00000000000000007ed5d6bc9ea6e03a0000000000000000d4bcb6ba4169813b4c2db53ad747a83b3eed1fbbadcec43bacd2303c882b403c34f21abb07f6e83bddf5703c31b9803c58ebe1bab490fe3bbd355c3cd8ce743c269b35ba507aee3b6ce1343c00f7523cc9be08bbd93fa33ba0a0173c42ab2d3cf1be30bb9b2c0c3bf3c7f43bad041c3c460039bb11c08b3a49ab023bee8fb63b301c97ba798b1aba05c00fba0632ae3a2bb01f3b367075393794d43b218f76bca363b33bb6220a3b823ced3beb0875bc83c1003c7a2ebd3af624c73ba48861bc292aea3b42875c3b895fa33b5df04dbc9d0ab23b96fc143bed0c783b32a71dbc9caab43b22bd053beba7893b22079cbb4ffd4d3ba2540a3a5ab89c3b5d2ab4b92a7b5a3a1620bbb9c17c3e3b8e45813b616f5bb937c78eba2827203bc7e1b43b008cfabca15f90bc7206c2bc5fa3773b08e481bd7a428abd774f04bd85928f3b752ba0bd4287b6bd0a4100bd136b02b9545197bd529bb1bdd37af9bcb7af25ba8d2785bd727c9bbd5b7dd1bca982a4ba34cf4abdc9db7cbd412ca8bc0ce30a3a129404bd4e7f38bd18ac49bc034ceb3a170441bce58badbc69b661bbfc817b3b114dc03af6e81abbfdcf2c3beaa1533b9386c53bfaab8cbd5a67e63e5580573f9d2d293cd91ea8bde228dd3e1ad8573f3a21013c93ec8bbd99b8c23e9a6d3f3f9446b63b48f06dbd5bf99e3eba151e3fe593903bae404ebda8e4743ec519f63ebb0f953b579334bd2adc243e8ebcb03e986dcb3b14971ebd7939af3d9a475a3ea5f9ed3bc087edbc8d71973c8088b33d9ccea83b8887a1bc43b5e7bc969ec4bbaf10e2bd20332d3c0000000000000000fc0cfebd8101913c0000000000000000656bbdbd0b28683c000000000000000007dd84bd17f1313c00000000000000001eb53cbd947d003c000000000000000014801ebd587ac93b0000000000000000820f15bd4a58943b0000000000000000de020ebd49318e3b0000000000000000dedcd7bcd552e83a00000000000000003f9091ba9a7b163a54b4883b5135e23b282955bbf0a8103b7124493c8d5a803cc370cebae033a43b2de8593c1fc4753c8c39f5ba7af7b03bb1b8713ca72a8a3c8bfba4ba1cac9e3b14d9303c2ee74b3cc587ecba1f6f893bd68c1c3cb11b453c71a7caba41dbc93a90ccc03b8ac2123c83212dba14d744b996e98e3ae09b8f3bba319abaeaff39bae4238eba8acb353be800343bc8b6583a2f038a3b94fec4bbb465033c8e704439f8d0be3b58a68bbb3df1ef3b06d7163bd166063bbb6fd7bb7c861e3c69f80c3b0bfa493bdbe49fbb7218e13b28e7183bc1ee2d3b183fc1bb5d3abd3bb879ce3ac6cf433bfb64dcba0c14893b6fa8d43634113e3b95b3b33a0060963a004f83bad087be3a1a4d423b549ab0bacb50cfbaf9d59b3a40b4663b59e0d5bc8d5611bd8cbbb7bc2e93a53b349c59bdd978c1bd12cd05bd9ea9b83bfed879bd5d23cbbda571fdbc57e2b2b915d982bdcd4cdabd8dbf0fbd914debbaec754cbd5b15abbd46b4e1bc8dcadaba54a826bd89bd96bd3495b7bcda378bb9c968cabc53e545bd3ea05fbcade2bc3a5f38c8bb60b7c1bce5c841bba4f8803b36969a3b8834d6ba85788a3bad718a3b72ec873b3a0d40bd40b1833e6d58843fedebdc3b4d9e56bdd737733e808f843fc2638d3bf5ab23bd6ae1613ed4bf5b3f72777b3bda4d1cbd46e4373e83ab3d3f59241f3b119d01bd54870b3e9e5a0d3ffc3e623bfd55f8bc2a5ab83d20b4cc3ecee9303b489accbc35053d3df7f6733e3ba49a3bb25189bc9556bc3a8175b43ddc40893bfc6714bc7a85debc336fbabcd35507bece2e723c0000000000000000eadb11be8e11b83c0000000000000000f0dca2bd773b633c000000000000000031ff86bd4d7d4f3c0000000000000000e4fc1dbd390d073c000000000000000098a70ebdc375c43b0000000000000000d9e3dabcabbc6f3b0000000000000000edc404bdb729ad3b0000000000000000c935d1bc76bd183b0000000000000000861987baad0539ba267a933b93a3113cf8f184bb56003bbb22515f3c6768bd3c69c358bb4bfa053ac3e1893c72d6bf3c9a3297bb3254783b230f843c7575ac3c63e6f6ba0a82863b7de3493c01637c3cdd0530bb01cbef3a26b11b3c69aa6f3c692c05bbe1a9a53a914a973b25fe453c3f2446ba440869ba949f84392400c93bd7041d3a6de68bbaa4aa0bbb182eb33a2a319b3bf28853bada7b033b5d47cd3ae1bc2a3cb767b8bab9550f3beb4c073cb0e0423c597df73aa5be093bc3098e3b9c3e293c349a343b9bb1463bc6974e3a269b0e3c2b2a343b6934a13a68b6133a8f19033c22db243b2db6e83afb7a233b6752863b3abe533a77a9c23a28bfc13a6554023b11580ebb37c29bb9f3fb843aa223a9baae9e11bafe2620ba4226093ba882ccbc611088bd4ff4a2bc8b0b8f3b89a414bde91906beec34f1bcdb8ee73b5deb54bde13411bec5261cbd099e8d39ca4356bd1d2602be875a1abd8db22bbb5edd33bd44b9d3bdc57b06bdb1c157bb27a2fdbc4c02afbdd33cd8bc896486ba1e747ebc98986cbde56481bcb9bcc83a212820398eb5cebca21d05bbd07d7f3b1cb8163c8a4e54bacbf6c63b32f0dc3a54db333a319192bc137a933dce2d9e3f535f9b3ada8d98bcee69613dbfd6973f46acba3a3a4a89bc1c63873df422833fe95d783a8c5189bc9f19793df6e3533fffd95a3ac33581bcfbb5443ded4c1f3f53e4e73a203f6fbc2b99d33cd64fde3eacf21b3bf0021ebc184e583bce587c3e564e7c3b0c262fbb1a101bbc8fd7943d2193e63ad48613ba47cdf6bc0f9350bd3d4f09bec14e8e3c00000000000000004c7f08be995da73c0000000000000000c7eda3bde1f3723c00000000000000007dfc35bda11d323c0000000000000000cd21b5bcbbdad63b0000000000000000242f8fbc99917f3b0000000000000000717c88bc6f8f153b00000000000000009060b6bc99fba63b0000000000000000a8d5b6bc9f51303b000000000000000000000000000000000000000000000000354636bb91628ab9f2455a3ce6b28b3c56b43fbb62caeb3ac0836e3c20d58c3c3c5cfab94ad13b3b91a5563c9292643cf962a5ba00f0853bdf26193c50ed453cf6be5ebac807043bca67f73b1275223c4fbb91ba173a6639ded38c3b9acf0b3c15fdbab9ae2ce2b915730f3a3fd5cb3b0000000000000000000000000000000000000000000000000000000000000000362a173c4192b1b8ad06b5398287ed3b71381f3c572d2c3b07acc7b98c9f9d3b8574063c1d4fcc3a1b19c838d860813afe15e23be23e163b3cb52aba8f5f893ac1c4b63b858ce13a6d1b443a32610d3b0f57a83b94a00c3ada65ff3967ec0e3b22ede33a0f38dfb92b57f2b9ed91143b0000000000000000000000000000000000000000000000000000000000000000219112bd310f07beb631e9bc5ea16eba753821bd376703be2a1a0abd4e5c52bb345923bd8864e7bd7ef60fbd0eefc1bb3a7107bd465fc2bd982506bd6c1a8abb4457b8bc17fe99bd9e61d4bc7b3352bbc91c1ebc35125ebd5e1c8fbcf6a163babf6a363b20e9e7bc901cb0bba856d23a000000000000000000000000000000000000000000000000000000000000803fcb12b1ba72ceef3b4a5380bdbf8e9e3f60c626ba384b503b26a012bdedb6833f0d13cab9744d2cb985fcadbc3205553f366f2fba27734ebb0d5c92bcae67223fd6a17fba138a5bbb42f4acbc369fe13ee90293380d2d1fbaa4a2bbbc6c78813efa988938955e393b986cf8bc3892953d000000000000000000000000000000000000000000000000000000000000000030f77bbd8da65f3c00000000000000000766bfbc2a752f3c00000000000000001e2e6c39c4e51d3c00000000000000009e2c213cc088e33b00000000000000009a9c313c626b6f3b0000000000000000a7fb903b18dba63a00000000000000004241d3bbfc29a0ba00000000000000000000000000000000000000000000000000000000000000000000000000000000a22880bb06b8413ca2286f3c9e00c83b74d8dbba2085503ca3cf743ccf23003ce08b34b90f99423cac2b523c109ff43b38b5863a77c9213c196d3f3c1237e13bb035d5b92dd1083ca119363c17a8c03b687305bb2e29883b3ed8193c332c823b1c3bf1ba3d1e45b9298ad83b7d27743b0000000000000000000000000000000000000000000000000000000000000000b92b833b9597fdb826ddfa3b31ba28bd23b7893b9ee24b3ad46baf3b10ca20bdfb1f813b4569493ac9e1403b8ec31fbd02fb783b22b6643a5e05da3ab7f204bdfafbdd3bd18080bab6107b3b9403c4bce92b733b73f3323a89d09e3b1b5d1cbcec75f83a5161c0b932619d3be430273b0000000000000000000000000000000000000000000000000000000000000000b159d5bdf0a1ecbc95654abc8b028a39bbb7d5bde9901abd8bdb4cbc180156bb6477c7bd843a1bbdaad752bc262076bba53eacbdba4b14bd5af549bc7c7a78bb6c5990bdb2f00cbdfe94d5bbe1d5c2bb04e84dbd4c0ac0bcd69ddebb23f611bbf2f4ebbcdf464dbcc145c6bae27119ba0000000000000000000000000000000000000000000000000000803f00000000019d583baab94bbd06c8953f316a0dbc87b22abbcddf0fbd4879793fa19db53c9017c8bb84e9e2bc5e1b4b3f6a83263de24f17bc2e50e6bc6f4e1c3f90b13b3d29c64abc13ffdebcea85dc3e1e8d193d972eb7bbcb3018bd2b9e853ea5bad83c1a234aba4a6934bd55ddbc3d1c11063c0000000000000000000000000000000000000000000000000000000000000000107c2c3c672bad390000000000000000ec52543ca95f9e3b0000000000000000ffab843c9509d03b0000000000000000ad787f3cf229f63b0000000000000000e86b5a3c0227033c00000000000000002300103b5a59b63b0000000000000000bf38d7bb1d2f8d3b000000000000000000000000000000000000000000000000993b7bbb1cbbd13b9c5fa83bd2e3173b594321bc31405f3c1372903c8c4c233cbe04e4bb9fcb7b3cf9659d3c6b0d503ca68374bb79f9633c5ece9b3cab06453cc6d60dbb4af53b3c0be47e3c3cc1303c4b8891bb33a8f13bdd7d7b3cc8061f3c483380bb13e84c3b5e3c473caaa0f73b5fdd6dbbc7ebd7ba04bfc93b2989353b47fedbba548439bbc8fb273beb8061ba573a403be4db5fb84a2d4b3cf2b104bd53cbbd3b187b3b3a8f9ca13c8fc90fbdb007e83b57b5013ac788723c8bc325bd629bdc3b83bcb63a1f3f383c2fd01abdc0dcaf3b9e697d3ae566083cb62ff6bca0e34e3b1fe0123b68dd333ca10988bc851c993bcc934339301a123c5ec597bb62cfe43a6a7fdfb97d48883b9f70153c742429b9b2ea9fb9379d533bad4c4b3c509b71bdf41decbbc99a5ebcb38e1c3b644de6bd506f0abd0581a4bce5b8273adc17fabd0ecb3abd77d9afbc66e064bbc180ebbdb28f4bbdbc9fadbc4fc5a6bb79dac2bd130b36bdd66191bc68adc0bbe1fea3bdbd5e25bd794781bc77070abbea3767bd5ba1f2bc526311bc1bfa6bbb0cd0d1bc276164bc174a6439d9ff823a11b179bb6421943a8395553be344803ae3e9143cc0c7c0bd0f5e953f1102da3d9a8b1d3c801dddbd28c38d3ff37dea3d14aa1fba03c5a2bd3f6c713f8df30a3e628b9dbb785c85bd2237433f89970c3e3b7203bc104468bd82c9123f681eff3d5bc0bdbbf70f77bdb73acf3ed5f3cf3df1abd4b914b774bda401713e8e658d3df129303ce9bf51bdaf86983dd293ea3c0ff9163c492532bd33d241bdd8a7a2b9a42ca0bcc3fc8b3a0000000000000000f16f5abcf493583b0000000000000000e01e71b88b3aa23b0000000000000000ee43983b77a2e43b0000000000000000a009cb3b4d2ef13b0000000000000000d3a27bba764da63b0000000000000000973c09bcf1f1c93b0000000000000000062293bc34cd8c3b0000000000000000020f9cbcf7a5553b0000000000000000b4f925bbdd7ad83bf67c503b275bc53ae2a5cdbb81f23d3c3797663c1b63023cb6980cbb503f3f3cff75593c50a2e53b2fc76bbbaa52473c66018a3c8178493c5da5deba4b7f183ca89b503ca1e0083cad9b83bb7a3dff3b17ed613c6651243c6cc62fbba28e233b02b7243c4326d83b597056bb0c9ec7ba8e12df3b0c28523b942027bb73951bbb02b7063b89b7bfb91a7e313b7543ee391a61503c8d79f2bc19d0b13b43a9aa3ae1d8863c01a816bdd1c0a83b4ee9923adcef163c678e11bd5914cc3b3aae123bdc50473c93e305bd685fa83b77edb63a05490c3c4197cbbc63e3c93b3a32963a00f8203cdc6356bcd6476a3b9f545d39eebd003c729e9cbbea3d193b761a11b91befce3ba2feee3b23a202b95fd53c38f4ba823b5208323cc37938bd288420bb9a4884bc29dfc23a147cc2bda16d00bdeb7dcebc39a222b99745bfbd89332bbd3561b2bc54ce41bbe9fad4bd37525cbdb39ecebc2b10dabbf86aa9bd558d3bbdd0dda2bc4c7eb4bbe95697bd457039bdae8a96bcc327b8bbc3614dbd94e8fabcb52b1dbc2a7e64bb1886c4bc838983bc41f884bb4bb64fba0d7741bb87eb30bac8ea043b36046a3a8d860d3c567fc5bd183c7b3fcfd18d3ec14a273caaa2eebde474753f4079903eff077a3a63009cbd94e7473fcc038b3e58a22dbb0e3da6bd575b2a3f6666803e1f2ca6bb682286bd3d5dfd3e29b3533ea47e35bbe4dc91bdbd10b43e65cf2a3ecd8b9d37ccf46cbd3036533e0758e33ddff5163c025a6dbd7b04873da282673d56bb3c3cdf2920bd5f0412bda8dab23b3e4723bdfa4bd73a00000000000000007edc11bda0c7cb3b00000000000000007d0963bc9bbbe23b000000000000000034a3d9bb7dd20e3c0000000000000000014265bab12f123c0000000000000000b193c8bb0b34023c00000000000000002d6a25bce53cec3b00000000000000001a3eabbc137fc13b00000000000000009b13a7bc5f1d9d3a00000000000000004c7808bacaabad3b4263af3ab671a23a185398bb94b2393c36c4343c6dfeeb3ba2ea76bb219e423cf59c7d3c025a343cefec85bbf60f2c3c3a62803c0ccd443c96be09bb498d2d3cb58e693ce3232d3cc4238bbbafc9b63bfa654a3c26f7223ca2ec8cbba3da443b8cf32c3c475ff53b857854bbe7e4c6bacebab93b1192223b152cfabaa27a06bb32c9163b6325b03848ae2a3bbb87823a95fc133cdf61eebc7c0b9e3b6339053be6057a3c69450dbdecbfda3b1e80253b8fe5503c044c06bda05cbc3bff432c3b067a463c0127d9bcf2e3ce3b2c96163b989c0c3c7c07b1bc4431c23b8132263b626f393c1d112fbc4bcc8f3be7d4d23a05b7203caff049ba834c873bf9cbe6b898b0d93b98ad0a3cc4cbaf39ee214f395d4e8b3b695d213cc4a51fbd0966aa39236f8ebcf30dea38931ba8bd156b07bdda62e6bcf0a5dbbacaafc6bd30445bbd6450efbc3bedc1bbe56cbebd16ae6ebdadcbd2bcc21900bc6403a7bdef3766bd6ee2ccbc622b06bc437085bd284a44bdb28da7bc2f84ecbbfaa63cbdb57918bd540f64bce0fb9bbb3273abbc8ef0a5bcb8be99bb6c6a8fba694433bb9a5884bb2bf96ab99655243ab2e3b33b38fda8bd560c4e3f7d18e83e4654fd3bfa68d6bd57ec473fda07e93e13de043b863ab5bda4132c3f9e2ed83e67a324bb6369a0bdd54e0b3f6861bb3e583d97bbdb0b8fbdd826d33ea5e19a3eb67f12bbebc38cbdd1fa913e8b976c3e209eaa3afe7884bd2212273e2ae41e3e1519063c783562bd9eaf4c3d574b9c3d7404f23b853017bd93f400bd1bf5293c95fa58bdf170d33a00000000000000009b055abd7aab123c00000000000000001572fbbc12062b3c00000000000000001be885bc5f6d323c000000000000000031aafdbba0ab303c000000000000000038731ebcda34163c0000000000000000ceda6dbc7784dd3b000000000000000062cabebc2b777c3b00000000000000008a079cbc7a4526b900000000000000000256b6b956849f3b72c4e73a71d9423a800d45bb0f32143c5b0f263c832ac53b71d03cbbf96a1a3c0007583cd8101e3c63c516bb7997203c77bd823c1a80303c2681153982ab003cb17a103c8086d13b3ac857bbc9f2c93b062c513cef32173ca3774fbbbc0f073ba7db093c28edeb3b28495dbb5467f1b98ed49a3b3ac6743b9f1a15bb8527f7ba4271133b4ac0433aedde5a3ba8d9de391d68f73be1d5c7bcf37cbb3b7530413b9b69493c9005e7bcb90bc63b5905223b6a73143c3273cdbc61d6f43b2708673bd2ed1e3cb16cbabc2f404d3b853f473a51c48a3bc4858bbc4713ec3b995df73a9ef5233c040d01bc1601833b9747eb3af9f5013ce85720ba3be0113ba488573ae5d9e03b026dd43bac4e3e3ae018ff39411acd3b6d52113c95901cbd7b052dbbe83c97bc135ee4ba633095bd525c19bd27caf7bc59667cbb8242a6bd4ff669bddff3f0bc2ebbeebbaa23adbdd3388bbdfd0ffebc426119bc8cf37bbdef2d4ebd6d31afbcc9bde3bbeb2c77bdc4eb65bd6d29bdbcb7af17bcf82719bdca1d1dbd14bc78bce77f9ebb34ce91bcfb3ab2bc70dfdabb9edb78ba0f945cbb2f5fa6bb3585e83a1aeb8ab8a108913bbafd8abd5068203f9571213fc0c06e3b82bcadbd0ecc193fd405203fb2c9453924ec8dbd8a7d023fcbff0d3f4b083ebb37b78dbd0feed73e2424f83e344ac7bb604e46bd062b9d3e5205ba3efc1165bbd32b7abdade05e3eb546963e977628b9cf7459bd7729f43d1bcc403e9c2ccc3be0893ebd15f1fb3c3214bf3daec3933be99705bd296905bd05ff1e3ca1708bbdde54973b0000000000000000bbbd86bd8705343c000000000000000040a910bd19ee3d3c00000000000000005431a2bc1a123d3c0000000000000000f34884ba8ae7353c000000000000000049350fbcaa691d3c0000000000000000ea2e32bc013cd03b0000000000000000707ba4bceec4063b00000000000000005884a2bc3eee58ba0000000000000000c37930baf0b4873b8d95d03a61ddfd3acd1486bb445cf73befcb2d3c4379143c566293bbed1e053cd3ac7e3c4cbd4f3ccb6e68bbec3bd63b1060723cacb0633cb1c54bbb60eee73b07e1693cb0874a3cc8e470bb9922723bbac43c3ccf19313c48e683bb9aafcb3ac9390c3c12340d3cfe8b22bb503c48bb92eca43be53f973ba53dc1bad9050ebb509bcf3a24621e3a58e8c83a1bc5003b803ed73bea868dbc9d0cde3b5fb8623b7e6b1f3cdbfd92bc3a4b053c5f2c863b5d19253c571c88bcffa9073c5aa76c3ba1d3113cc6214cbc4213ea3b3e885e3b2b9f023c1c1426bc8f3cda3bc0da6a3b38ac063c6d7059bb4769ad3b1bd3073b0f8e0e3c7a071a3be2ecf93a362db03abc0ec23b0e0a013c5d9c14ba2f403e3a25fa8d3b9be3de3b1b0718bddd4211bc093596bc7292aeba22e28cbd38365abd223509bda8c5a7bb39a0a3bd28d69abd6aba0fbdd4ae11bccaa19cbdd5579fbdf17409bd379239bc625a89bd56b093bdfd3bfdbc2edc38bcecd14abd35a17cbd86add0bcbdd90abc358e0abd8c5a3ebd0cc692bcf837a8bb70034abcf801ccbcd43ee0bb0dfe54ba5c837938778193bb9d4c223a45e1493acac1303bd9875ebd8c65e63e76774e3f72c7bd3bb4738fbdddfdda3e16244e3f43bfa6b929237cbdbe14bc3e0eba363f74f7d2bac1ce6abd90be973e02b9183fcd799cbb00ec56bdd80c653e4556f13ee19035bbedba50bd715c153eb11bb23ed54a123aefe53bbdab6d963d69ab643e13bba43b1c2117bdf10cfe3bfa39d33d9a03b43bfc87babcb53512bd1378553b0eb3a5bdb111a73b0000000000000000c624acbd1f707e3c0000000000000000d0be46bdba55693c000000000000000089e9d4bc671a6e3c00000000000000006b7f1cbcb206503c0000000000000000149e10bc486a193c000000000000000099314cbcc792b43b0000000000000000adcaa1bc12ad033b000000000000000013d899bc569147bb00000000000000000034c8ba2ad7ad3ad3ec543bc5ec593b3809b8bb9844863b01c24e3c7e21453cd0131bbb2d50963b5e43733c247a2e3cb25c97bb70a6bf3bd6c3883c1c46863c786869bb6d439e3b16b35c3c9c7d343cdc2c95bb339e463bd0e63c3c5389493cb6d623bb5841a83aacd5073c7697153ccd2c0bbbdb4e66babfb0243bfa5fa73bc24550baf37618bbeb04bbb9589a863a276d543bbf800f3b36c3c73b00a8f0bb4506f33bd19f813b19fd293ce4a0dabb6ab9db3b9a2e283bd44f993bbdc318bc3c2f073c71d2a73b6a7ddc3b8cdfcebb605ced3b5579713b2301ed3bca4bb0bb824ff73ba17d563b40e2f33b12ea983a2f796e3bec1fd63a6091923bb1200d3b5e063f3b1375d33914f6313b0ef7dc3ba1d404bae3dd27b8912fff3ab5b4c33b273c0fbd7106b8bccfd59ebcc1a5b5ba970581bd2ba394bd9c4c0fbd7d50aabb1f3a84bd676ea2bd915c05bd22e4febb86468abddc13c2bd33871dbdff814fbcdb165dbdd1a29dbdcffa04bdd7c930bc027030bdd7f390bdefb6eabcb53d1cbc916dd7bcbc8244bdcd0a95bc56119cbb782904bc4006dbbc1b8ef3bbd4be07395abbae3b315577bbf526383b0809213b3c98293bfa411ebd2fe78b3edfd97b3f428a583af6a147bd45b6803e4db2793fe16608ba08051cbd6492633e1b184e3f15021dbb104828bd068c343e0030343f6ad6aabbafa815bd5038033e04ff083f89bf01bb4f181dbd95b69d3d26c0ca3e7b41c2bab21501bd354c133d1d217b3ea845ae3b1344b7bc949e64bcfe16d73d8942a23b037b47bc58eb1abd00c91dbcff41c2bde650fa3b0000000000000000f629bebd67ad883c0000000000000000d94c16bd3cfd623c00000000000000002e61b1bce10d7e3c0000000000000000a2b32dbbfe604f3c0000000000000000a36b45bbca2d273c0000000000000000fdfa8abbd7eba73b00000000000000006e218fbc6014453a00000000000000004dd59bbc371358bb0000000000000000cc3514bbcae4df3987d4bc3b8820813b1aefc4bb312fcdbacf9e643c72158f3c6d3ad8bb8016db3a24d6903c0a8c9c3cc749b7bb496c413b502d843c75d49b3c7dca8cbbc508503bf515613c3505813c9ee294bb6d842d3a4e3f343c4b24723c19523abb18fc29bb6c95ee3b9dd6303c0caec6b9bbcd51bbe67d173985ebc73b99ffd5b8e5790dbb4dfcebba462ff33a4279913bd85be33a511e983b7c498d3901be133cb2219b3b6ecae83b119fe23bfbe3453c6335a53b7540e53b789f453b8e67503c55099b3be7cdcf3b6c1cea3a138f0c3c72079c3b1c6eb43b8f74793a9c6e163ce1d9913bac38be3b737a923b2d3dde3b80e12d3b8d1aa03bb458e53b0a7e2a3bea377a391105363a0ab8b13b272dedb9d10824b97a50fe39830bb03ba6781abd5a1b42bd5a41a8bcf459f1ba4d284fbd8a01cebdbad314bd6b56a8bba74c79bd29e4ecbd170032bdca6544bc69116dbda19ce3bdecdf33bd610759bcf5443dbd3d9cbfbd14ab20bdf3d652bc817d07bd9c78a3bdf5580bbdfbf025bc7c7492bc643f68bdaae3b8bc230295bb9a10f73a3190e2bc2caaf0bb1c9a0f3bd1d4173c55da91bb390f1a3b30835b3b818b3e3a53eb95bc40bbd43de695953f1eee163ab8f5bfbc3644aa3ddcd58e3f2e5dabbae2b0b4bc73c0a43da685753f84d96bbb9188bfbc6896873d012d483f75d28abb5e15c0bc28bd2f3d2005193f33d637bb6fcbc1bc7b0e753ca435db3e3ea17db9285996bcad7440bcb4c6833e09c25e3bdd75f1bb61b2f8bc9a2fc43d641d293b2e0842bb279835bde73802bd6633b9bdb93dff3b000000000000000083f4a3bdcbd1823c00000000000000002fd6f9bc0c64813c00000000000000007db927bb0d2f813c0000000000000000b53f5c3c48715c3c000000000000000069e9503cf35f0b3c0000000000000000cb6a4f3bfc4b913b0000000000000000a34644bcb15a28ba0000000000000000cee08ebcad4ba3bb0000000000000000000000000000000000000000000000000cc97ebbddd8583af8105e3c765b533ce2bb87bb668d133b021b773cd593753c91ce6dbb73388c3b82bc633c46b8633c61a5dfba79423b3b8a154d3c6dfd483cb53120bb13a4853a525c243c9bcc343c7b6018bb76141bbaec38aa3b6dab393c872544ba41fc16bbdcd8053b412fcc3b000000000000000000000000000000000000000000000000000000000000000050ade53bbd116b3b33d81d3b46b7b43bd15e183c55cb743b8214503bd093803bf8b5713b98dcef3babaa083b7da9443aaf42e33babf5293b3359133b741ea739ca82c43bc36b313b1a36613b47db503bdc13813b00fe4f3bbe98063bcae9aa3b371d4d3b54d84b3a0ddd773af7c6b13b0000000000000000000000000000000000000000000000000000000000000000f00240bd30dcd3bd03e505bddebf0bbc847042bddebbd8bdd8481cbd74213fbc268b2abd2eb8c2bd93ff31bdf18d78bc79fd16bd96dbaebdbaf116bdcf0348bce126cebcb5b792bd35e603bd0fea1dbc88fb3dbc96a45cbd0448bbbc8139d7bbbc2f343b9672f4bc07103ebc25a21b39000000000000000000000000000000000000000000000000000000000000803f997e9cba83c66cb9896c0cbdd0d7953f831770bb9b91abbbe5a0babc965b7a3f3f9906bb32b26abc00a3b9bc7d5e4d3fffc4b5bb862b45bc5c44acbcbf5f1d3fdc99a6bba4be4fbcba09efbcf478e03ed78df5bacc4a21bc42f80ebdf2ee873ebc087ab809eb6ebb42f23abd76c3bd3d0000000000000000000000000000000000000000000000000000000000000000b795cebc40f7513c0000000000000000c48f013c55d8803c0000000000000000f69d003da4127a3c00000000000000003bd4063d3b7d783c0000000000000000e271f53cde74303c0000000000000000b16e9e3c6a32a23b0000000000000000cb6c8c3aa92193ba00000000000000000000000000000000000000000000000000000000000000000000000000000000bd5f923b2b04f23bb984233b900589bb9e368f3b5ec20e3c2cb88d3b39631ebb92ae903bed21253c3ab9983b66264ebbc26e973be8a5f13b90c9913ba27cb8bab3d9313b3387153cad1cb73b5f26eaba13fb943a86d8a53b10a0e23bcb1a9e3a842706babae58b3b1524d43bb7a64c3b0000000000000000000000000000000000000000000000000000000000000000034085bb45fa16bb45e0e2bb4dc60ebd732465bbf10a41bbfe50e1bb441805bd2a12c3bb114985bb2d5bf7bb00aa04bdaa7afebb118d7ebbc699abbb5475e8bc49c65bbb0a0539bbaa0577bb2c18babc07de00bb39171bbbe13124b742bc76bc46da66babd88f5baf2352a3b0402efbb0000000000000000000000000000000000000000000000000000000000000000ea9e35bd776f58bc4c42a03990cd9d3b46c548bdb6c2a6bc1ea927bb67da8e3ba04e49bd945eafbcdaa0b1ba3bb7d63b331836bd48a1b0bc4f5f68bb7720c33b1a502bbd32d2b5bceb3681bb5ded793b3f12fdbc6797a0bc506ea4bb98fadd3a68e4b4bcb1ee72bc549a99bb6aca5e390000000000000000000000000000000000000000000000000000803f00000000c6e1bcbbba6d8fbb199c803f3db3cf3caa9d32bc352184bbba1f5a3f4cd1123d9a3674bc8c68edbbf363343fd4322f3d7c4d79bc52e919bc09f90d3f76612e3d21e190bc9fb98abc008cd13e5dcc1f3d050683bc4a8abcbc7744863e9ed4e53c0f3e74bc173bfebc2a8ef43daaec943c0000000000000000000000000000000000000000000000000000000000000000e061483c4181a33a0000000000000000f7969f3c3498a43b00000000000000009223ce3c7cd5023c00000000000000003a5bd33c5748183c00000000000000002a58cd3c643d293c0000000000000000af91a73c3e42083c0000000000000000d8d5643c25800e3c000000000000000000000000000000000000000000000000a6545d3bd7c1723bbc7ad9384f82e6bae9ff0a3b8748463c2cb4fc3ba9780ebabfbb743bd0c54a3ca78e0f3ca25703ba83a9933bf83e493c99981d3c499d8839253c263bce31353cc6eb1e3c0d3adfb9236e7a3a846a313c32a9313c09d8dc3ad45f24ba6753003c5837213c119b843b928c32bbc437253b9fabcc3b47aab53b43c212bbe75da2b97ab0ad3b4dcb813bbca7a8ba0c2514babd6a80bb167defbc1d4231bb25981dbb617a44bba1e222bd65f88abbec5a55bbc88ea3bbb6fe1ebdb733b7bbfb808abb74c6aebb9c7015bdfe56a7bb89a061bb42433bbb79e0fcbc592437bb478b5bbb3177c6381f42d0bca063c9b98a30eabaa6ec3a3bef897fbc1cbf4c3b26aa4eba9022dd3bbd7b83bbc546173b4d532a38ee7ce23b52cd923ad45cd3bcccbc10bb033f013aa614183b1f5f52bd5fef95bc82e1a2bbd856213b2a8675bd8974d2bc4670a5bbf3014d3beeb277bd711fedbc6eb501bcfa129e3b6e4758bd9df6e1bc0527c7bb61d1a73b54c543bd037befbc3f8bf6bb5ae4bf3a1c5c19bd58a1d1bc94b20cbc608491b978cab0bc82ea9cbc675409bc4dc5faba68b81dbc68bf19bc118997bb6836e6babf7d8ebbc7108fbc4207803fd1c2103ee0e512bce1d8c5bcd23d6c3fb7a8143e9dfe7fbc3450a7bce936493f9ded143e9b9b95bce214b2bc22cd253f4d1a0a3e8d97adbceb33b7bc07a0003fd977ed3d23a5b9bc1ba2fbbcafc9bd3e5cd2c23da8e89ebc2e1416bd9dac6f3e4b118a3decad1dbccc6627bda3a8cf3dd898153d9b2dd6bb4d6001bd3a5b71bcd279b63ac8d773bb1c4a59bb0000000000000000c800c93b35270e3b00000000000000007b08983c8647b23b00000000000000004f45d83c467e1e3c0000000000000000ec72e33cf5e21c3c00000000000000002dd6d63cbfb3313c0000000000000000d320ae3cc8c5303c000000000000000009ce1e3c2df6b43b00000000000000007476ce3b9e55cc3b00000000000000003e63c73aa72d8c3b87037e3b5d439cbb55f1533bb86f3a3c65c0c03b4c85a6ba35e4933b1786fb3b1d00803b02603fbb8959243b54875e3c07a42b3ce54a763a1186383bceb22a3c3657033c6f9f64ba42eaa7395f9c313c182d443cd79f383b702dfe384264e03bb82bc13b5bfacf3a2f2a09bb80d8543bfce0f53bc89e8a3b33d922bb08a695394e2f8f3bc44f523b611424bb8f7774bad8e1b639efa4f1bc368669bb218940bb200b69bbc2351abd4809b4bb5ad397bb9df883bb544600bd0eaeabbb82c785bb3c012dbb256611bd8e7bbfbbdb9294bb337853bb4d73e2bccf6a49bb74c588bb75ca933a60c1bcbcab3ffdbaabb73ebbe4c2233ba1d96cbcd6fc443addc5a7ba2545d43b9ea7a6bbc69ff63af05490b871e9cd3b0e01d73ad36eb5bcdbb0a2badc3755b907e02f3bf2f93abd042f85bcabf6a9bb1804333b23713cbd0d68a2bc1e0f45bb8d53bb3bce986bbd88b200bdca0f17bcb241793b940e3bbd911de5bcf1efecbb7a60823be8d93abd863100bd90de2abc598b8f3ac342f8bcc499b3bcf53016bca2e7313a06f3a3bc25958fbc81f201bc04d938bbc5e4b8bb4c68e7bb2f14a7bb525212bb8dffb93a7961cfbc144e5a3fb1c58e3ec11d2ebc8e2203bd35324b3ffddc8c3e5a9442bc808bb1bc51e3283fa4137b3e94afa8bc5e13f4bc1be00f3f2a12663eeabd97bcd450e3bc93b3dc3e57283a3edddfb2bc60df18bd2872a33e8cc6173e27b47abc4c6004bdd1e04e3e43f3c83d5a5b47bcddb127bdc0b6b23d71ff5f3df915a8bb1ba8f1bc279166bce079083cdbb81ebc30935fbb0000000000000000daaaa3391a399c3900000000000000003f0f463cc9cacf3b00000000000000004f0fc23c25601d3c0000000000000000e1cbd83c1c53323c000000000000000036c2d83c3cfd543c000000000000000069dc983c8c07333c0000000000000000eebe353cc5b1013c0000000000000000bb2f303b98390b3b00000000000000008894423bb4f98e3b9744aeb943ae29bb8b825b3b7951263c67a7983bbd0ad1ba95727c3bd49f453c0f4ee83b62a540ba3109183b1e7c473ca79f1e3c52c6cb3a4341443bccc3363ca75a123ca15e963a265ae73a5503b93bad0b473cd51f6e3bb41f87ba4670f43bbb6e2c3cd35c7f3b0aae19bbc16e483b7ee8e93b78a2983b4403e9ba46eae739292d813b3d805c3ba12504bba8ed3dba549799bb15e8b3bc4b0e8bbb5a00f6bac72b0ebb59490fbdb23db4bb8e75a6bbbc2a47bb83030ebdf28793bb74d6b5bbb4742bbbaffbfabc71fbc8bb46ffa5bbdf3b2abbbaf0d3bcb7af24bb5a7880bbfe36313b50849ebc2ad887bacfa548bbbee2843b64b655bc3a12383ab90cc0ba9b9adf3b30d474bbf82cbb3ab07fa4b932bab03be784a03a1dc0a0bcbf2b903915efc63831d1ab3a79b729bd02cc7cbc0980aabb6924e83ad41d4fbd1f88debcb32906bc3aa55e3bdf3058bd22a808bdf6ca28bc5c6e303b5ecf41bdd4f705bd7a031dbcd121d63adc3b2fbdf73606bd546148bc46388bba10a504bda101e0bc32ba42bc7ba0f1baa4d39bbc285e97bc0f8c06bcebd541bb7b2accbb8f98f1bb6f2eaebb413a7bbb4320e2bb6c6fb2bc52ea343f3af5d73eb7543fbc347302bd4e53283f4d2bcf3e03fc73bc0e2bf5bce49c103f6c3dba3e6bfd9abcfc4003bd9b61ee3eb014a13ec6eb9dbcd6a305bd3a23ba3ede69833e17f1a9bc4ccd1bbdc136873e6d9b4b3e642c94bce98821bdbd71283ec86a0b3ed43347bc753923bd236b8e3d6049923dfb99b6bb6fafddbc7ed661bc30d10d3ccb754dbc18907abb0000000000000000df8a8ebb356f1b3b0000000000000000b40e513cec15ef3b0000000000000000088bb43c71fe3d3c0000000000000000f52ad73c3bac4e3c0000000000000000de93d43c6a0c723c0000000000000000fd89aa3caad8523c0000000000000000c19d373cbb360a3c0000000000000000b0d5663b8607883b0000000000000000428f3f3bb9bf8d3b60707a3aff8c69bb6a11583baf891c3cd2ad8d3b5a9ed2ba197b263b79e6273c370ae33befc6c9376068343b6f41453c4872163cc195873ac480543b5f5e053c91eca93b60d2a4ba427a18b96f03293cb370273c94243d3b06d697bac3d0c03b939f083c5685893b04d1feba3b5f2e3b7213d13bff53983b008afabaa8d1ea3a19a85a3b611f3f3b8e698cbb54c13fba6c762ebb90dab1bc4547b5bbc57335bb290136bb10d3f3bc100e9fbb25e785bbdd636fbb9274e3bc94cbc7bb7c17a9bb7dc635bb41fed2bcaa61bbbb6b6cb2bb5fd34ebb1857a3bcf6101bbbed9187bb38f5943a927381bcf25d8cbab31c48bb9aef733bb86619bc5ee9853a4866b0ba730ac33b2ae91ebb3c92943a239d02baa986923bc1d7ba3a5fdeaabcef95ca3664a51fba31262c3b4b8f21bd6fd990bc1a7be9bb6f96073b80b43cbdff49edbc941f20bc9295143bd7ab4bbd275215bd6e9153bc0409a63a4be217bd4cace4bc51c913bcef25363b008f28bd6eed0abdac7a68bc50cf06ba389be6bcfebdd9bc3af853bc556a32bb42c78ebc57a994bcb2632dbca14b8dbb1f77c5bb9c43f3bb9298b1bbd8fc66bbbb2eb6bbf379a4bcb804103fbca5103ffb5925bcd74cdbbc6bcf043f19a3083f394568bce5f6cfbcf8c5e23eb3ecef3ea25596bc09fefabc76a8bc3ebf23cf3e885d8bbc3456cabc907a8f3e772aa03ef6dda0bc7ecd11bdfc36523ed7907f3e416989bc3ec70fbd2275003efd342b3e976035bc04b30fbd89b7493d6090b03d36bba4bb2d61c4bc212083bccb71053cdbd285bcf8d163bb0000000000000000e08fb4bb53bd253b00000000000000006d79273c6f27143c0000000000000000042eb13cfbc64a3c00000000000000000b0ec83c2dab6c3c0000000000000000dbb1d83cd534843c00000000000000008b4aa83cd4275d3c0000000000000000f31b403cd513183c0000000000000000e847583b73099b3b0000000000000000c03d063b9385943ba95b39b7d6ddf9ba2a7cce3a4dc71b3cb299bb3bae65b4394722013bdf75333c58850e3c3ce1e83ad2cec4394f8d2e3c7bee383c8c59703b7fc4dd3aa409313ceb470c3c54a3203bcaf596ba81530a3c6abc333c173bb33bf4c1b5baadbed43b0370123cbe57ac3bcd1967bbe027263b9c8be83b4545973b9c8dcfba724212b97fb6563ba5da743b281252bb6e7fcbba201307bb7aab94bcf1b379bbac0133bb24b5b0bad4cacbbc31959ebb5a6095bba09fbbbaf366c9bc2ef896bb5e6591bb93051ab8e04bb5bc98ce27bb4b6fb8bb9b1e32ba2e6697bc0123ebba4c217dbbc8fc283b893251bc41418cba088504bb55b1973b750102bc211e0b3a1ebcdeba07cbd43b867d0339c75af43aeb61693a57149c3bfe153e3b524bb5bc987478bb81793bbbe59cae3acae72bbdef4ac4bca8372dbceeee0c3a76ed46bdd68d16bde34967bcdfcfb3393fce49bdaace28bd854b88bc23956dba46ff2dbd46f31ebd236387bc48a909bb1e5019bd0e821abd1cb992bc6c865abb11eee0bc4ef0f6bc1a4284bc004597bb40747abc55549bbc40264bbc4e5ca7bb41b1c3bb2408ffbbee8dd1bb151084bbfa8694bb195f7cbcb166d63edcad353f58d823bc0b84c6bc15bbc53e5b4a2b3fd19c6dbce615d3bce2e9a93e284d163fa4ea96bc9e0ee8bc865b8b3e8163fd3ec94b95bcdc27f4bcadf9553e2f5ac93e963f9abcc52f0dbddc6a173eebe4983ed5277ebcc6950ebd7f74b03d671a4b3e600b17bcedfe01bd3662e33c6bd1c83dc34daebb6359adbc30a794bc5fc9cc3bf81798bca0b746bb00000000000000008fcf0bbc7eb38c3b000000000000000030162f3cf5902d3c0000000000000000b1deac3cfaaa803c0000000000000000970ee93c132a8e3c0000000000000000f173dc3cd13f8a3c000000000000000032b6ae3c77666f3c000000000000000064d23a3c6b9f1e3c000000000000000071cf2f3b4ceb6d3b0000000000000000bf801e3a795d953ba42cc53a88754cba8389b037a0ed1d3c2e75e93b280c173b318daa3a9335f13b58eae43b11bf1c3b5d93ef39ecc8353c309e353c2a25973b3e4330ba54660d3c4d570a3cda5d723b426016bb28361f3c6bc7323cd803d63baecaefb9f3706d3bad2eea3b6e2b9a3b48e917bb735b073b60fbaa3b6b68bd3b9bca05bb555280bae0090f3b98ef743b4c0817bb9883333a2ac90139659664bc42d445bb32ad1abbeb52bd390369a2bc7eb478bbe3588fbba5689cba56e993bcf71a4ebb6a369abb49c0d339e5ee96bc677425bb740a80bbf259c13afd6e5ebc3cf86cba22b05dbbb7994b3b50e321bc1cf444b95b310ebb6403f73af8549dbb56e5eb3acf8662b98f7eb73b7ad4c13a7083ec3a54bb523a09bb8b3b0520913b66fcc9bc11bd25bca0e7c8bb787a6d3ae9ef31bd3c4007bd62db72bc58c8dfba3ce221bd90c516bd8b566abccdc0353a9cc940bd8ab447bdcb86adbca72837bb222a1ebdecdb27bd50749abc638513bbd82911bd508e2cbdd845b2bc48c09bbb82a8bebc1a1de9bcd79072bcc8c9aabbb45367bc7fd0a7bceaae54bcab57a3bb3c0948bb4714d6bb90c3c8bba73d8dbb725784bbe9b84fbcfdde8c3edc4f5b3f9dc314bcb5039ebc0bbd813e4b854d3fa3b84bbc5dad9cbc04c85b3e92652c3f984e88bc4121d0bc6982353e2a1b153f75218ebce4fdcdbc54750a3ef437e83ef80b8fbcfbe5fcbc3061b83d5748b03ea92b45bccedbcebcd5044d3dbcb6623eb63c0bbca277e2bca2a8c23b7e4fe13def2d11bb492189bce7e9b5bc09b3b739379cb0bccc4965bb0000000000000000656301bc8f29b43b0000000000000000cd754c3c7f99383c00000000000000006372ce3c188f8d3c0000000000000000cabcea3c8430943c0000000000000000695bf23cb1ed9e3c000000000000000051c2a63cf297563c00000000000000007ec73b3c32bb013c000000000000000010f01fb7ca14273a0000000000000000a635fdb8ee91983bda605d3b1ad9a3393cd81bbb4f70003cc2b0173c3146c43b21d1e2bab02b2c3c3eaf4a3cf152a03b61dc18bb43f41a3ceb7c563c0f73053c8688f4b9de20023c301b313ce5a7c63b372d51bb65bcb93b353e4e3c314f003cfe9d25bb6c5d683b1dbe163ce166053cebbd6fbbf30056bae6399a3b62c3d83b08b5ddbaa791c7ba9afbfd3a409c7d3b5e7eebba9ce532bbb3b39839497337bc422da3ba178abd39f094313bb05249bcff93ceba79c479bbd16d4c3aa42d71bc5886c3b9cf2b8dbb42a4163b0b1f45bc550710bbba6178bba698cc3a184326bced64cc3a6bca62bb20719c3b317a90bbf348e33aa890bcba843bab3bd81f93ba6c7a473bad50ca3a914ccd3b14f2a83b27e8da3a8a4ba03a99ca923b85b8bd3b7b64e7bc00a4a8bc1e6a1bbc88b4c3390ed333bda94c37bdd73facbc075acabbd03e3ebdce1f5dbdf7e8c4bcf8af8ebb81c737bd813669bd9be3dabcafb3b8bbce5f14bd976d45bda6abcbbc21a29fbb2ec203bd963f3fbd02bfdcbc4077e1bbbf70b7bca68c16bd37e4b2bc1023efbbdf8822bc84a8abbc18e472bc1ef4f1bb500b10bb8c4df8bb6ad001bc24499fbb75cfb5bba8c2c3bbe4410a3e3ea4803f194c05bc90d447bc5113fb3d01846d3fdcc043bc59497ebc0459d93d107d4b3f5d4383bc418cacbc841fac3ddee1283fc09d7ebcb275b6bc57c7773d5865033f96e984bc95c5ddbc330c0e3d1d54c43ec23149bce8c0d5bc708a173cab737d3ecda8b3bbeafaaabcf4a58ebc59d0e63d829205bbc45b68bc6b77e5bc8e2f07bcb5c658bca5ba3dbb0000000000000000fccbc3ba23f00f3c0000000000000000116fad3c1016803c00000000000000007d7d073d28fbad3c0000000000000000ba190d3debf1b83c00000000000000009c180d3dc375ab3c00000000000000003156d23c849e873c000000000000000052511c3cf112ed3b0000000000000000b1e225ba7747023b00000000000000000000000000000000000000000000000028a0e4b9fd6ae63b30b2003c45ab1a3b19c138ba0447093cfe24253c62d7823ba4771cb918d1063c5972163c8d68773b2b9f61b9db4bf83b6fd9233c5941593b7b318cba42649b3babf92a3c8368e43bb451f3ba801d2b3bd18ce63ba4f8bc3b1c2bf5ba05e50f3a22759c3b685eb23b0000000000000000000000000000000000000000000000000000000000000000bf8967bb41cc24bb163baf3957a71dbc4ba58dbbcffdfeba0ebf193a339128bcdd8e5fbb19d39fbbd1df3d3a6c4b1dbc76a25abb406ca3bb539288396bb20cbc476cd0baf8e429bb9679863b19d1cfbb75ce5e3aa465a2baf3e2633bc422f6b9f0daef3ad1cb71397abf973b7ba8583b0000000000000000000000000000000000000000000000000000000000000000b99d1bbde53935bdec8889bcc57545bb19bd14bdad2447bd7cdda2bc1db588bb70b10abd1c3f46bd7fa5b9bc308468bb8ad6f0bcd4f82fbd7507afbc629d71bbdd8dd2bc44af26bdeb90b7bc61319cbb313486bcdac1fbbc666d9ebc615ababb0c3d12bc82faaabc4e657dbc2e60cebb000000000000000000000000000000000000000000000000000000000000803f745af6bb7179b3bb85ea8a3bbeef803fe27032bc816915bcae6b433bc9095b3fa60157bc7a1863bc8c0c3bb82126353f472462bcbc9b87bcf12d96bb32d40e3ff2a078bc8f44a4bcf06e52bc6675d33e95ae2cbc563b93bc853fa3bc15f2873e14b7eabb710c8cbc053debbc4eabf73d00000000000000000000000000000000000000000000000000000000000000001503643c6a03173c00000000000000006fb8de3cc662853c0000000000000000fef9103de2eca93c0000000000000000154a153d1602a53c0000000000000000b46b0a3dd889ac3c000000000000000065bdc63c6fbf7e3c00000000000000006adc463c90081c3c00000000000000000000000000000000000000000000000000000000000000000000000000000000d7d6edbb27b0373bfd88213d1f1c083ce2e49bbb1b908a3b1531123d38045c3c978bb7ba7a01b43b8883ec3cceac5f3c76e9a4ba24299a3b4f0fb43cd6965a3cef33323a39672c3b8f68693c4a7f1c3c12aa713add0b4db9534d243c9d0db53ba68c913a60bcb0b994831a3b2a5c273a0000000000000000000000000000000000000000000000000000000000000000461284b980e827bb23471f3bc332353c921cbf39a66435bb5ddfe23ad59fae3bf6f82f3bea760cbbe6ec49ba68f6d7bbc01f903b9bacfdba0bc569ba8622c9bb816b913b08b69ababeed60bb6f0cbcbbbfe91a3b4b07a5ba5b2a75bbcac41bbb6a14e63a2eb4a8ba7df0aabbdf2ec4ba000000000000000000000000000000000000000000000000000000000000000063bb52bea80b6dbc2255b93b53e63d3acd0148be0d85e3bc3a62893bc014203a14402ebead121abd0130f5bada08ab3848f509bef1c719bd70c265bbc7d81b3a036dc0bd518aebbc5a4f44bb3557bababb3952bd100793bcbf7952bbbc3de2b7af58f1bb16e4dbbba35219b9f34058390000000000000000000000000000000000000000000000000000803f00000000084ea93c1ab905be1824ad3ffc25d5bd5d91543c08c9bcbd557c8e3fcb8734bd166a203c18ce8ebdc817693f90064abc25bab13bd61e58bde9b42c3f2e87b03b8292f43bb70b0bbd5a73e03e16c36d3c4abd7c3b19dc2bbcba815d3ea1ec893cb4b06b3b6fe78e3b3b80d33b49831b3c000000000000000000000000000000000000000000000000000000000000000075f8693c0925a6bb00000000000000004f02d53bc05d58bb00000000000000000f25033ca6b9f2ba00000000000000007799f73b58c9e9ba00000000000000003595d13b3c0706bb000000000000000063a9c13b90192fbb0000000000000000193f603bab6e53ba0000000000000000000000000000000000000000000000002fef06bc841aa9b99a75b53cc547de3a6bc010bc73780cbbd18c203d2973053c9cb8cdbbf79f7e3be48f1c3d3617753c723587bb4501b93bf2500a3d12878f3c232070b8db58953b5b42bc3cfe205a3c0790bb39909f5f3ba54c963c954b2a3c7175913957d9413b91910e3c303ed13b0b069b3ab1bf303b2d1a0a3b7d15e739292534b9552a6db9c8aa6dbb9c223bbba4171fbb78fb2aba69e7a63bee2b6a3c983c4bbb915d01bbe5965dba11800f3d8a36923a668826bbba5e3e3a5a3f7d3c53b0f03a54c999bbf2dcc2385fd8a63bb9088c3bf07da1ba442168bb893e913a0da8fa3a1b53a7baf6d6d0bb8e3af63a81c91c3b4a332eba8ab2c2bbe10a4dbbf96f023b1f2b03bafd5bfdbb292dd7bb23136d3a2ae0bcb8a13cbbbbe9140d3b2b64ffbdefa98e3b8c77783a2994d13abdd344be0477efbb1f9d293b765f0a3b9a0451be750217bd530a3fbac1ce0b3b06d338be60963dbdccf63bbb60a77f3b73c40dbe5f7136bda095e4bbc1e8c7385cc1c9bd4ccb13bd7433c6bbc521d03a88054abd06f6c0bcc349b7bbfc6add3ad164a5bb869850bc667a8abb5c8bbd3a9eeaa43c04596b3b3a31cb38951e6f3985f02a3d12895bbe0459ac3f7325743cd636343deb5157be65059e3f46fc123d29c6003d4dd92cbe30468c3ffd91873db117ca3ce60f08be4a02623fcc58a83d7e67a93c94a9c4bdb056253fa4b9b93d336f7d3ce2fc70bd50a9d13efa6ea13dbb88283cca03b1bc7342403eee0c793d46647d3b6b64853c6f3d163c58f9273db6b4ab3b9f5e1e3c0023efbd658f003bebc1a7bcd3869c3b0000000000000000855dadbc80bd5a3b000000000000000077d0b3bca1ad113b00000000000000001bf297bc9c7a0b3b0000000000000000729789bc8333013b000000000000000097044ebc08943b3b0000000000000000f1eb12bc760de33900000000000000005519a0bba1651c3a00000000000000001bd174bb6a61c73a000000000000000093a1ebbb8706a83a21ab5f3ca1c45c3b3c1e12bcdd706a3bce91dc3c59ff583c6c86e0bbe38dc13bb77eef3cfe3e9a3cbc137fbbdb28a43b36fcdc3c81ec9b3cc71ecebab928e83bc1f48b3c3493783c30b2e0baabb1883ba0565b3c9335323c3479beba73676d3b2d9efe3b686ace3b22f692ba4049783bae562a3a0444a53a4cdba5ba569abb3a2dc666bb11ee33bb39e2e0babf70cfbaa2a0e53b7b96e83bd7aa2c3abc2773bbadcd6c3bb0cc893cd386c43a2d632ebbdb587c3bb114d43bb6c97a3b456e20bb019598b8a21bb03bc27d9f3bb07ad5bacbe8a3baf13da6ba4d10a93bb916adbaa36f74bb936e0a3aec48783b068cb4ba5c90a0bbfe4101ba1371003b058e8bbacbe8b8bb4bc453ba74c2a83a5a3f8ab9b088afbbc0cd203b5ebcaabd888f383ace59f7bb16c6c53be6111ebeec4d11bd16ca85bb50ebc03b432228bef3f975bdd761f6bb1b479d3b43a61abeb3f088bde0c118bc463e863b1bb2e6bda70369bd95dd4fbc0d3f383b4d1ea4bdb3c741bd773d47bcbd3a553be7d228bd1cc5f5bc72fd08bca36a273a014b0dbc9ee342bca62884bb7661b63a09535a3c7456953b894f77bab83d59b9d2bc2d3d745d59be05068f3fead36c3e1315453df2786abe0f4b8d3fcb7b713ee196153df2603cbe7627743fdedd7b3ee95af73c900819bed0f6443f73b16a3e80a4ab3c343fd6bd8f940d3f2b3d4b3ed3429e3cc09a92bd63cab43e0493223ea3217c3ccda71fbd06872a3e535bd53da9befd3ba72c90bb97a24e3c1b574c3d951bd63b32abb53b57dc9ebd23264abadaa58cbde5a74d3c0000000000000000c90091bdafc36d3c00000000000000006b9f75bd8a64373c0000000000000000212f54bd9426193c0000000000000000265013bdef45ee3b0000000000000000dbbf01bd20efd93b000000000000000070c2bbbce4e4e43b0000000000000000f73860bcddec813b0000000000000000c63a21bc63f2803b00000000000000008924b7bbf3641a3ba369063c226dda3b62fe00bc97868a3b2143a13cbf50923cb091b9bb70ada03b5d9ac03c3941b13c8a7944bb16dbce3bf1c8913cb6d7b13c199c29bbb1e9b63b362c843cb7b98b3c34248bba7f118d3becac153c34c44c3cf408ceba87a8a43b05c8873b5df2cd3b879697ba378b3d3b3d6d273a4e55023bc034f0ba6946003b7ea8f2ba954f31bbaf41b1ba4f4de3ba06d9ec3ba503b7bade5f9b3ac85a2ebb494e9f3b4cb4213cb8cfbd3bf18c83bb9104b03abf47e43bddb6d33ba4d456bb8a92a53a9dbb103b5c7d063c1218e0ba930127bbf65fe93a37c8f43b2a62b3baa8b12cbb09c13e3982ca9e3ba631a1bad55588bbbeb3afb8a8f8233b55c0ba39ac56b8bbb112f53854cc34b81d6e76baed940bbb05131d3b88a382bdab4c6cbcfe4335bc4891123ce85af7bd6e7d79bd1d8301bc23b1d23b315507be0f72b0bd0bfc5bbca123033c9513f2bdef9aafbdb08193bc8205eb3b28ccc2bd4d82a5bd374698bc65e7993b06b182bd605472bd33cd74bcc85a863acd5609bdf15a15bddd8c2bbc2449fe3a50c503bc8b446dbc94d8adbbeb641cba7520e53bbb1ee03bb5b8ac3ae2d5ac3aa9c31a3d2e6346be7f346d3fa9e1eb3e8705393de21059befb2b663f3f2af03e37e2123d443232be287f463ffebae43e6609d73ca0640bbe62b21d3f3d20cb3e908ec83cd3f4d4bd9421e53e3b62a83e0bf6903c71708cbd2bcf903e0399743e61a06f3c37721cbdfdb5063eb9a7163ec95b3e3c27a94bbc26f1753c54b66b3d914afd3b4cad9abb01c777bd4c7942bcd295f7bd01dcbc3c0000000000000000982800beb5e3d23c0000000000000000e58fd6bdd80da33c0000000000000000e18ca6bd86ee7c3c00000000000000005e1a82bdd354673c0000000000000000095341bd83694c3c0000000000000000200607bd82692f3c0000000000000000d9c798bc6c7bff3b0000000000000000dbc193bc3a65f93b0000000000000000929badbb503ce13aa604f33b75ebea3b372582bb2b08b53a51ff653ccfe29c3c1feb88bbfbba943b80207e3ce572c33c1d1f31bba2d39b3b11b5833c58b6bc3c69eba6ba3523d83bd0f21c3c0530713c8db3e5ba8e82a63b5430fc3b478e593ceb4779ba8bfa823baea1293bba96f23ba41a12bb6dfea03b01397cbafd34c83afa8268ba5bf8103bedf246bb94556abb1937d0b9eafad7ba9847dd3b0ae5fbbaed9ce23b21d2a0bbea1b283bb648c43bc8d7e23b838057bb152a2e3b06c7113bb55b213c53fe1cbb4d0eecb92067753aec8dc93bb51cbe37c6122eb7594c83bbf58dff3b50335bbad9363abb2835ad37bf4a8b3b518e8bb97df033bbfb383bbab136ed3ab50351ba95af1bbb5b6ababad3a02a3b8efef2ba9d062dbb486da03abcfd43bd6dbbdcbc08f770bc7e79223c336eabbd4311b6bdd6f26abc0f9a2b3c01b5c4bdda0bdabdbe6fa9bcd073023c5d42b7bdb1eae7bdd5efbfbca037d53b5dd886bd4857a6bdc9f8b2bcb79f8c3a7ab34bbdf6e994bd49efa5bc6e65443bd5abd5bcc89828bd06092fbce40e9239bc9b0abc72c537bcb187cdbb1054a8393bce183c702c773b4e21433b09ee863932c60c3d257c28beb7af323ff977333f26a3113dc8182dbe6cc9293f7fe3343f2456eb3c8d340cbe2e65113fe8b2253f74fad63cfd70ebbd8818e83e5c90103f90256e3c186f98bd8729a43e29bcd93e6274993c943679bdcffb543e86d8a23e9032503cb3b513bd44ecce3dbe0f373e0e301a3c0ecb4fbcfe03783c381e743d4586183c083904bcb9cf32bd84afbabc2b7f28bec6b5f83c0000000000000000cfb72cbea412053d0000000000000000efa406be734ad03c00000000000000002c0be3bdbecbbd3c000000000000000067c184bda6dc743c0000000000000000c40179bd95c78c3c0000000000000000ca4f1bbd7833403c00000000000000005de6b7bcfcab383c00000000000000001409a8bceedfd33b0000000000000000578b4fbbdc5ac23ad01f2a3b0b81453cf21875bb1e82f6392768173c71f2d33ca16f41bb72214b3bf621473c5c20ef3cc98514bbbcfc9c3bf8c03e3c190fd33c4e73d2ba61d6733bab0c2b3c1719aa3c4532d0ba3badbd3b6ab88d3b10e6653c3177b3ba0397973b66755c3be8e6063cfe94d0bafcf0a13b88ef9eba9103013b3655c7ba482b253b6e3482bb64c631bba875f13a70a350bb2ab9963b7a0e76bbe6b0943b30a6a8bbd401483beaaa433bd1271d3cc05d8fbb592427b864d5093bcf1d233cdd2357bb72e1f7bac30b7fba9c2c303c6a46fcbaa02dbdb9e25dbcb99f47113c8321c3baf53f04bbfa2740bb424da93b6e54bdba5fafceba050883bb5458c63a11accfb8647910bbd09528bb95f5cbb9653663ba2df7cabac048ad3ab923ecbc26a444bd324267bcd4c3393c1fca4dbde77ff2bdd3196fbc41903a3c540c81bd9a1a14be1e5ea2bc1909183cee3072bd4f5908beb105c5bcf56dc63b017d54bdd4dee8bd2dfad8bc62d3aa3bc8ca0cbdd915a8bdd4cd99bcfd98893afcfbb1bc74bc3bbd6ec246bce7cf7db8ce3fdcbb60ba4abcd4eda0bb4db23bba5572783b1a95363c8300053b09e0063ad007c13c9c18ebbdc552eb3e2de56d3f23b3d93cc9d1fabd734cd93ec5e16f3f09c7b53cf754cdbd41cab93ef896593f2414963c019ba0bdc3e5913ed934363fb34c6f3cc6b57fbd35af553e82150e3fef06593cd91631bd6b900b3e483ac03e14e72a3cf28cd7bcd279943d4c6b513e36f30b3c5dfe5dbc1ec58e3c970e623d43f7933bab9075bb1477d1bc1bf526bd96ac4abe24a9123d0000000000000000d0fd53bee4282c3d000000000000000073c029be3297063d000000000000000047f7fdbdd4e2d73c00000000000000001cf8bcbd8b2eb83c0000000000000000b7477fbdf974943c00000000000000004eb622bd9a0a803c0000000000000000481fb5bca36a4f3c000000000000000051afabbc73f70a3c0000000000000000bc977abac4f73bbbea11a4b904d47c3c88aab1baa9ce4cbaba5d9f3b71abf33c710f62bb37c91d3abd38243c8585093d2f5100bb69eb2d3bf24b173cf983f53c5357c6ba8cfc6f3b1e4c043c6557b03c6aa0b8ba7c5f673badcd9c3b5f77973c832e03bbb189a33bb9fde83a5f181c3cd492e8baf668843bc3e78b37f755043b50c5a1ba57045b3b03d241bb3691c7ba7a6112b7c77e81bba0232f3b059f2fbaa270dc3b0b2ab0bb64b6aa397d9153ba685d393c9a0fa9bbbffa343a0b46c93aa3d3413c2a047cbb320ae1b97fd5b1bacd61363c4934f0baf192c6ba2e1e11bb452b143c61e5e1ba6ec3d5ba5aae47bb1c32a53b63a1c8ba9815f8b9d13571bb4d480e3b99854eba435932b9783733bbf69034398dd39eba5ece1a3a7aec30bb20eac3bbce408bbd8753c7bb8d262f3c19c993bcd1521dbe2912f5bb6fca203c752b12bd3ca02cbe3415bdbcf1b70c3c731f10bd5b0e26be1624d2bc13a8e13bf06402bd411bfebd0f3edfbc1637473bda09cbbcaefbc2bd3258b6bc80e4d83a7a3b79bccbde4dbdb77646bc767a92b992c00cbc7df259bc4b2ca7bb1685deba717edd3af2d7423ccb47213ba75902ba78096b3c952e88bd92eb6a3e3e8e8f3f6e30843c8eec85bd88cb4b3e567c903f6e2e523c65ad5dbd19d9303e3c7b803ffa033a3c6ff02fbd6a58093e50d3573fd0a7103c51a707bd99a7d03d8969203f940b273c7100d1bc445f8f3d535adb3ee88ee23b6be18abcb390233d19c8613e7216ab3b727826bca382ba3c7ff6343deba5853b0b4cc4bbbf5c83bb1a8c7ebd03ea5dbee272293d0000000000000000190861be2258393d00000000000000004c8026be937a013d0000000000000000544603be04dcde3c00000000000000007b07a3bdd1a5a43c00000000000000003fff67bdae2a9a3c000000000000000092cd07bdf725683c000000000000000074a845bc955b193c000000000000000080fe41bc3e3b1b3c00000000000000002fe5063acee70ebb6bf821bb9322b43c68cb61b8aaaa39bb0e1b85bbd2f12b3d01fed5ba09f40dba7293683be8072c3d7f74d7ba0431e0b75606b23b0623163d82ecc6ba3a72523b5f2db83b9751e03c3f1acbba31ea7c3b75fb003bc299a63c38b2f7bab001933b9ead803ab25f453cc99cf7bad5598a3b2262a83ae33a2f3b6b5e9abacd3a193b16d91dbb8dc21dbbec3ad93a9a0dadbb360b8d3a95c2d2ba6ec5b23bd3dffbbb0c98e63901c690bb5d20293c8c4badbb6d0a1ebae894aab9f810553ceb0f2ebbd22085baa321313a01c6453cd14dcabad1e31cbb676020bb5db61f3ce981acba6d27a7bab8af67bbd140a13bf619d0b9525c9039b5fb99bbf3f4bb3a91ce093a364d6d3aec1770bbe8b1f2ba703d0cbac6f8d73a1e2a2dbb86a30c3c08eeefbd6ffd423a74a0043c86aa973c9e0543bef881b13bb826f63b5e2887bbe41655be84a587bc6fef073c86fd45bc090341beb361d5bca4e6903bae2c81bcde7816be1ab6e2bc04142c3a851f4bbcef1dd6bdd8f9b6bc2a2c90397f7732bc052a6bbd8f0654bccdbde5ba8a2961bcc0fd06bc48b0f0bbaf0c81bbd16d9039edd7a13c2f2f883baa313cba652b8f3babbf92bc779c8d3cee2dac3f66d6a93b9e2e71bcf8610c3cebcb9f3f6c349e3b959b55bc0780213c26dd8f3f926f8e3bba834ebc1d21173c39d66b3f73e3b73be07a11bccc8b243ce0942f3f98d69b3bda2bd5bb7e666f3c48dbe43e7607963bc3b5e5bbfc45a53c9378603e00423e3b9a430bbc8e9c0d3d7e97d43c5309443af585bfba65d9f03b85a9e1bde94f5cbe49ec233d0000000000000000520347be1dee1b3d0000000000000000101a10be5428d03c00000000000000006671c3bd1fe1a53c00000000000000001e116cbdc0e2883c0000000000000000d166febc9dc34a3c0000000000000000cc1b25bcf6651b3c00000000000000005969173ca967db3b0000000000000000acb98cbba148993b00000000000000000000000000000000000000000000000064d80eba8e148dbb2c5c503bbb17223d46a5e4badb5717bb0a947b3b286b173dfd53deba540b253ae674e33bff4bf13c996860bab40df5392256c83b51bcbf3ca8b3e5ba70be033b11317b3be82a8d3cde180dbb598c453b6200073a25b0243c606b03baf550f43afaf9a2ba18b74a3b0000000000000000000000000000000000000000000000000000000000000000e9180d3c8438a4bbf2674239b132503b6a32553cf3c652bbfa9927ba9cb12c3bfe685d3c2366b3baec64b8babf82d4395e501b3c75f0c339ff81fdb9f18f9bba3fb0103cfc925e3ae43e1f3a1a7e71bb350a883b92f53d3a29be313a32c287bbbd82833a93721639bb35813acc338bbb00000000000000000000000000000000000000000000000000000000000000001d47213ceb1156bed5271ebc6b7f9f3bf7476d3b769a49bef673bbbc3b05ec3ab8d919bc744e31be327a04bd682d9eba454703bcea160ebe6ab303bd965d36bbb1ccb4bb50f2c6bdaa30cabcdfd28ebb07a6b3bb8aa957bdc0287abc1c8c53bb478c37bb66b903bc8e3ab0bb11bbfaba000000000000000000000000000000000000000000000000000000000000803f991b91bbf00e943cc862ffbdb644ad3f47390cba02772f3c901bb1bdfdc88e3f4ea2d93934e5da3ba4f686bd229d6a3f1ce36d3979dfd83b85fd50bd79ad2e3fa54aa4b92e57aa3bb80c0cbdd17ce23e4e0b193a639cc23b153926bc4f23613eea2f663abe16823b32b89d3b87fccd3b0000000000000000000000000000000000000000000000000000000000000000c526e1bd4fe0873c0000000000000000011c5ebd1cc84a3c00000000000000007313afbcb2680d3c0000000000000000966fa5399aca103c00000000000000008997173c8980de3b0000000000000000a2e46f3c7791a53b00000000000000008ecd353cde19103b00000000000000000000000000000000000000000000000000000000000000000000000000000000d36adbbb5ea512bb3ff4db3c40829c3c9c41d3bb320208bb095dc53c8fefb63c07b88ebb0a02fbb9184da43c3c4ab03c80d446bbbbc249ba092d803c1421963c4822c4bae4b306bbb1472a3c27ac533ce8e564b972fa7dbaea89b73be90edf3b3f33cf3adf990abb84e3043a62c22d3b0000000000000000000000000000000000000000000000000000000000000000a8d0a73bbfec45bb597db03b4c1b943cc3f7183c33b044bbed79fe3bf854963c24d73a3c01770dbbf925933b25943b3c2d5c3b3cb93b30ba0ec2733b6668283c436c1e3cf04c6c38f5faaa391c883c3c550ce43b1219bbbaeee806bb60c6073c027b0e3b01519439b67c8ebbc930ba3b0000000000000000000000000000000000000000000000000000000000000000cbb631beacad47bd6c61c0ba7ed5163bf06622be7cba88bd112047bc8774353b052e0bbe20e297bdc1c5a7bcd5a8cb39d191dabd478e87bde312c5bc3064d7b9f91695bdfa5b5abd62089abcebfe08bb06b423bd755f01bd58d259bc8e5e7dbae52702bc9e9b00bc031d8abbbef4c4ba0000000000000000000000000000000000000000000000000000803f0000000029ef6a3cc2e212be4a4eaa3ff78980bdcd6b913b104bfcbd005f8b3f64c6503c9a7949baf277dcbd0cef5f3fc6c0773d825db8babb98c4bda88d253f53f59a3d64fc72baffd69fbdf07dd83ed9d2903d6f13d53a8c063dbd00265b3e53964b3d9db98c3bc4ad92bc5216733c8c568a3c00000000000000000000000000000000000000000000000000000000000000003b635c3c7512c0bb00000000000000008ec36f3c9d6c8abb000000000000000083cd9b3cff8e46bb00000000000000008afba63c30aa0bbb00000000000000007e69903cdcb7b53a0000000000000000e8396a3c73b70d3b0000000000000000dd7fef3b03f11d3b000000000000000000000000000000000000000000000000c840aebbc95624bb14d87c3c0689043c174df2bbde4208bc6769d73cdaaa993ca0c6dcbba617b0bb6b56d23cbcb8d73c51b2c7bb5cef51bb32f39d3cb027da3c9e5358bb91012cbb0142743cc7f9a63c82b8bbba42cc32bb3ff61a3c1840753c5f3b11b7bafdbfba1c24983bb6d7153c10b9783ab0a8ac3a959a563ad5b3c13a1a3fc83ab7ee4e3964f419bb112e24bb606bf6395b2d27bb700f393b6a138e3c1a63923b5ac180bba2d64eb9715a4e3d5b4f263c8bb363bbb0e0763b0cda0e3d969a583ca8eb70bbc3afa53b7a7ae53c918c613ceecc8abab57e00391aebb93cf476383c12f419ba64b731bbe674a03c0316df3b521ce539e1a7cdbb36964a3c30dd053b4b20e2392010d5bbd36b88ba8ec1f0ba253568b9053cbebb437646ba2122eabd5da025bcd7ad6bba5e5d963bd07d2bbe9bae37bdeb98e2ba4769483bfa072bbe92a7a0bd85c689bc2c3a963b583611bec956b0bdcc08dbbc0d718f3b757ed7bdaa3d9dbd38e6fbbce58d63397f4c91bd2bc16dbd73add2bcda6bd4ba213710bde40e18bd4c657bbc66c164bb068c4fbba29d5bbca08ac4bb376f25bbfece843c93530f3c4d33853b05cf00395e82123d591750beb510aa3fa1f6133d1a6c173d447671be13759e3f425a893d6569bf3cf59f4abe2184873f79720b3e9c9f843cf88e2cbefe6e553ffd222c3e37f64b3c7e990abe1517193f51cf2c3e7b744e3c2741cdbd27c6be3e265d133ef082263c8b0858bd43952a3eceb6cf3dacc4f83ad865043c234b47bbadcb4f3d2bc7c33b0ce3353c4d37e3bd647fa0bbf5bedcbc035d303b000000000000000064e1b2bc7352613b0000000000000000956c79bc8be8be3900000000000000000b25d5bb9f6a983a0000000000000000ec8cea3aba025d3b0000000000000000250ce03aff1c953b0000000000000000beb5643a0072b63b00000000000000008068623bb7217b3b0000000000000000cb2d03bc14f4413b0000000000000000edc08dbb8d1e63bbee34283cfcf5ef3ba087c1bbb2c1b4bb72b6a33c402d963c21ebe1bbecde62bb01e39f3c5c9ac43ce7af9bbb75ac53bb79308a3cd151c73c8d8a0ebb1a7e44bb50d1493c50ab8a3ce73b19bb936801bb49ed053c537f613c0a4323ba82d3b2ba475d823b1bbde63bf20987b823458e3a4c1fcc399ab62e3bb8a97d3a0b4f833a67d1f4ba85c550bb18139d3ab43c17bb64e58c3b472e863cf0f3033c2f3387bbaf58aa39a976153d7587693cd3d935bb172baa3b99f2d53c8121823c7a3926bb9e04f43a007fdf3c96f16e3c1029143a297947baa1ba963c035e583c1d3fe8b9fe994abb0b33923c9ed5f93b46724d3ad94180bb1914273c71a0123bdbcfe53914feb3bb0e23ec3a37f56dbab8b428bae97dcdbb9d1b36b9ea87a7bd421c10bc7a0918bcab79e23bd2160cbe9e9576bd870b78bcc658043ca14608be0391b0bde05d03bd1508ae3b731eeebdbc0cc3bdafa416bdc9ee913b318ca8bd8fd7a5bdb8f914bda84701bbcdd561bd8fe78abdf5bffcbccc368aba1690d3bc013323bded43a3bc4bab29bbea561cbb62de72bcc902c5bbce4252bb3449483c4354c93b073ba03bc3a51dba7fda143da8d153be850f8e3fe9bc803e65d32c3dad6b7bbeb24e8a3fe265913ecf5ccc3c9e7949bec7b0643f18c1a23e30deb93c279337be8fde343fe679a13ed4d1773cadf206be7705fc3ec9088d3e5277843c5b77cebd029c9a3e0252663e9bf6513cf08f72bd57360a3e86ce143e44bfa63b3c04efbb422006bcccce873d8acfe93b58635e3c2c4faebd4737f5ba66ad9abd21de2f3c0000000000000000772992bdec3f473c0000000000000000b3d937bd54ddbf3b0000000000000000c3e70bbd1b110a3c0000000000000000029783bca1ae203c0000000000000000ffe161bc58ce293c00000000000000002f4737bc0be5203c00000000000000000daf05bca89f103c000000000000000094ee82bc40ccdb3b00000000000000004e2478bb997ef0bae0ce003c431be43b08dba8bb8850a8bb4287763c23e5973c021899bb234bc8bbf40e7d3c0e02c43cc11c80bbaaa48fbb950e4c3c586ebd3c6e0050bb49c53cbba9981a3cea4a9d3c1d7f8cba62be1dbb8aaab23be6065c3cadd53aba265e70ba936c413b52badc3b15cbdeb990d7b93a7d5c8cbab5269e3a73413c39277d9e3acc57beba20102cbb3ef4643bad704ebbd653bb3b29b6113c7c994d3c49f2a1bb2da5cc3a04d9fe3c7a688c3c2ad638bb7368833be8aaef3ce7c08f3c459cbdb9a591b03a2df1ce3cd3748c3c1f24893a454821b96329b53cf04c6b3c8a0c91396f6770bb58aa803c64f8053c41022d3a6f8376bb6d4e093c61d08b3b7b5a0a3939219dbb3933853adb1b04bbcc37b936b48160bbd9c0c4baf2d391bd105069bc6a338bbce007323c9b58debdf0fa97bd2059e6bcf2322f3c0707dfbd8a59d3bd762723bd2588053c5ea8b6bda2bad8bdea1939bd93e20a3b192e88bd5717c1bd9c423fbd9e551cbbcb2020bd38ec92bdcf3a12bd955732bb12497fbce58837bd0891b3bcaa6e8cbb7f680a3b472189bcf42af7bb294c7abb400c2f3c593dd73bc8ae993b3f5a04baf3dff13cbc543ebea2216a3ff9d0f53e18b81b3db5bf65be4d6c5f3fb545033f4032d73cf88844bee32b393f5ea3023f23a2ab3c5db421bebe580c3f6dddef3ecffb8a3c59af03be6a2ac13ea799cc3ee6137e3cf204b5bd0cb35e3ec3ab993e56ec433c15c84ebdc6f7a93d2306443e47351a3cae882abc02c48cbc4f3fa33d215a003cf0d8c63b350c9bbd0d5a87bb209ef4bd4adc7f3c0000000000000000af86f2bd331aac3c0000000000000000e7ddacbd42e4783c0000000000000000a3046abda2987d3c000000000000000084340abd4e4d7d3c00000000000000006053ccbcfcad843c00000000000000001f2390bcf005713c0000000000000000cba88cbcb1e2713c000000000000000026f1bdbc8159023c00000000000000009d5a38bb3eea53bb07fce73b7c6c093c9ddf72bb1a96c5bbe853353c4df89d3cb1d589bbd7e877bbc37c313c593fc43c15f346bbcd3aa6bb86161f3c7362c23c3a55eabac69911bb3f150c3c22fe713cac5c86ba065268bbfda6923b8dc14e3c86e1cfba0b789fb909bc623ab0edef3b4fb98bb9f581e63addea86ba4118033b35a7deb9e7c9e83a4061dcba090b11bb8851883b060c72bb9dfda43b1c3e0b3ccf07543ceb655dbb4e7f293bd681c73c162a8e3c7e1b77ba328f0b3b4797b63c8a27ae3ca73c46ba6ff00a3aad6bc13c190a733cca56163bd7a34b3ac02c573cd9286e3cc41b2c3b50fc24bb86c7613c2e620e3c4e4e253be6535fbac29bbd3bda14273b34df1a39adb993bba7e2ec3ad1c59aba7abab5bac24a23bb665a51bb4a256ebdb27cc0bceb03b9bc30b8503cd1fda2bd15ebb7bdd30a0ebd2bf8333cc1099ebd9279e9bdcddd43bdb613993b655b87bd9210f5bdc9ea5fbd2d71bc3a958c47bdf677b3bd9f5742bd00c0b0bb730ecebc04219fbdde872cbd74a7babb41e918bc6d3938bd7283ddbc2aedcabbcecb923a613880bc333fdebbde7377bb9988383c3bdcc93bf3ddc13be81b3a3afc6acc3c0f6f1fbe3eeb313fe470353f01a3ef3cc52439be924f243f9aa33d3fee5f9b3c9cc919be775c043f8a3b313ffff9953caf5308be4bbfc53e39201f3ffddde73b98b2babde1eb853eb259ef3e7df7683c2ad297bd11de0b3e7f3bbd3eddf71f3c138427bdaa093d3da24b5f3e1696d93b4b8906bc6b67bdbc6352ad3d6f2b083c0958c53b2ecf85bdec5450bc16ee21be5d6da73c0000000000000000a3b221be8972f23c00000000000000001192d0bdeff6ac3c0000000000000000546b95bd8a50a93c0000000000000000bd9ec4bc2850933c0000000000000000ca84e0bc6dc69d3c000000000000000051cc8abce171963c0000000000000000e204a4bc136c833c0000000000000000f29dd7bc42ec1c3c0000000000000000db12beba540d52bbb6f1a03baa0e0c3c9f3421bbff93c6bbe68bb73bf060b43cc0a52dbb0a03d3bb3535f33b9ba9db3cae9435bb545690bb7c57c93be6e4c33ce44603bb210672bb0d31873b81af9e3cb553b2ba284ed8ba7cf51f3b0679563c672f7fbaf1cc47b7fae0db39ad32f93b8b855cb96b42a83a31478cba0c82183bd98f5ab9ff9f153b5e56cfba192639bb9c76873b85fa44bb07e0173b7122103c8b8a863c8c71aebb1722d2384d59ae3cd406a63c0451b7ba45f69eb82bd6b53cc74cb03ce01222b8758757b996519d3c53a79f3ccb2b4e3b619d15bbf3f7853c5114743caa2c083b5915fdbad6b90f3c9803083cd5cb1d3bd05732bb9ebc853bc3dc3d3b43765b3a6429e9ba942b6ebb3fb4abbae12e29bab7b4f4ba979f7fbbf27132bd16d512bd5ffcbabc4cf3413c328d48bdc675e4bdb6ec17bd8f834c3cad0d4dbd686c0dbeb2275dbd21b0ad3bf44023bd07a905be8abb6dbdcb8e3439aebde6bc1ef5e1bde3c26dbd1553ddbb3c4656bc1c7aa5bd715933bd7c7bf7bb6ac40ebb507947bdbe62d5bc2a18f2bb868bad3be0dc8bbcf0def5bb34e6aabbc4b10a3cb635013c37c4a43baeaad5b9355e9d3c19d2eabdf395ef3ec1796d3f8359b43ce6f807be48bfcf3eef15753f71e2933cce0ee9bdb3fba23e0b19613f76ce4f3c4dc9c1bdae0d653e07d53f3f1dd8583cdca19bbdb2930d3e1f33173f9256223c18a04bbde3a6833d77f1d33ef75f173c3824e2bc0bcb093cddd8743e3593a13b036fbebae55fdabc4c3da43d72e58b3b9ef92d3cd8d653bd4dedcfbc0ff840be78e6dd3c0000000000000000978e41be1532113d000000000000000034c602be2df6eb3c0000000000000000741ea3bdb307cc3c0000000000000000de0a26bd02a2c03c0000000000000000fe16aebc6b98ab3c0000000000000000cc626cbc689e9f3c00000000000000008e757dbca49f8d3c0000000000000000ec18d7bc150c2c3c000000000000000058ed5939590a8dbb905ccc398d1d1f3caf1f86b96a8ccebb9560ed3af182c03c5b1607bbdcfacdbbe7779c3b2a14ce3cb52373ba656fb4bb814e213ba62bcf3c2d5aafbafec90cbb0e04423b3a8b913cd9fad2ba7835a3ba622e7939669c643c961843bad87bc039a289acbac0cdef3ba2199bba380b143b594587babd29023befa6bf39911afd3a514375baf579e6bae84ffb3b3fe49dbb93fc163a8f1f063cd2248e3ce8f5a1bbad85b4ba632e753c98f4b93cf66856bae23a99b90314923c48e8b43c6736093bef00d4bae280863cf9aca03c11777b3bae46a2bad8ed263c0b167a3c53ff543bc7548abae523be3b159b173c3434253bb2ace9ba0fe8b93a7e50473bdf072d3af1bebe39d71e94bb8b581abb04a487ba08501d3852c5c2bbae6995bc241a6abd1b1489bc659a5f3ce29094bc31d30abe0a9d1bbd10362e3ca44dd6bc908217be35be63bd2362153b896784bcada716be1c4881bd34710bbbf2ad4bbcd1eae7bd05736ebdc6ad23bcd92ab1ba26adb0bda9ed41bd832b0cbccd61433bb37349bd8d09e0bc4c4c0cbcd89d953bf05a84bc73d405bc99edc4bb8e0a883b45ea1e3cd494053c877bddb9c7e2353c3d9c8dbd4a85773e1c298f3fa261593c0d429abd5806383e6275923f5cb6fb3ba4c582bd789f0e3e1fbc7f3f1aca073c513068bdf3d99c3de9325b3f0dc1a53b82d62ebd727a223d0eae233f3147cc3bb93de3bc30ea27bb44e2e53e2787dd3b0fd359bc5060b3bc17a77c3e70bdd23aed80f93a68fdb5bcc83f8c3d5d2df9391bd83f3c27a9e0bc0ee942bd1c7956be73f3033d0000000000000000196d4bbe6aa2233d0000000000000000cf7ae1bdda18d93c00000000000000002aff91bd2093d63c0000000000000000e5ebaabc44a8c23c0000000000000000d1de18bc6211b43c00000000000000008ca557bb9905a33c0000000000000000bdfa03bc7eb68b3c00000000000000003055a7bcc6aa143c0000000000000000cb9a343afcd9a3bb1827e8ba4df2833cfff1073b083bedbb1889e1bbcf51f03c81d773ba9adcd6bb5f7809bbc189ff3cfb5c91ba0ab0a4bbee9b7eba7c34db3c60349fba4be670bb7d8acab914a2a53cef3b7dba30dd8abac69e53bad1e9543c540059ba3add1b3a6cc806bb87cc093c80fd84ba19682e3b44c05ab90ddde83a952ce5b90306403be542a5ba8a8129bbc842173cdddedabbf87a20380ae3f83bbc86983c7b22b9bbe5a22ebbf54f033c546bcd3cf15cccba6d1487badfdd383c2c95d23cd6fe563b9784c6ba6f70323c63baa63c8b2d9c3b3ad5d2baa086083c6f17833c25688c3b293e8cbaf9e1623a1bc9303c2b2d123bbd7b293a4d3978bbc9b33e3bed299a3a897d103bc6e4f5bb355c38bbbf0fa3ba2e47673af3a1ebbb4cde70bbc9e5cbbd44d162bcdbeb483cf168c33ca1ba2bbe3f7a00bd394d313ce058273ca64838beda5971bd27843f3b23d6f93b4f8823be697d8dbdbc4bebbba058e53b7441ffbdc4a081bd3d4938bc2fe54c3cb1d1b7bd04d64bbda44333bcb35c133c3d1e4abdf42af5bc7b2131bc3b2c9bb982c24bbce26c0cbcffafe7bbef67653bf5b0723cc802293cb69bbd39a32a103b904d9dbcce7fef3c3371aa3f145f583be8b99abc9671cebc5df8a23f1dda3b3b6a2ab5bcbef607bdc8d58f3f03486a3b772cafbc02bc3dbd8e246a3fb4447a3bcd2891bcdfa253bd240d2e3f97324e3b9d4604bc52d660bd92e6e73edea5173bde0b97ba75d01dbdecd26e3e9e3b14ba77c3b23be0e25ebbd3cc263d31cd8bba18c53f3c045140bc1e16bbbd51e34ebe759def3c00000000000000000e3b37be3a95133d00000000000000006a00babdf892c13c0000000000000000710be6bc445aaf3c00000000000000006a531f3c45cea43c0000000000000000ec6ac43c9e1b903c00000000000000001741a03cfb2e893c000000000000000061a7333cbe78863c000000000000000017ae85bc158daf3b0000000000000000000000000000000000000000000000002b59c4b99fefe4bb0eef1dbb4829f63c527a75badbf3c4bb5ab1b8ba4111dd3c877aa7ba731f9dbb116b393a5db5be3c398f01badd7a48bbcc37133a37f58d3ca683b938a80debbaecf8ddbaa424473c961142ba95adbc3a677816bbe477f13b17fd9fb928f4c63acb03d6bae1aca73a00000000000000000000000000000000000000000000000000000000000000002bf69f3c68272abb99a405ba962c443cf6aab73cec140c3b3453c4b95fa33e3c8b77b13cc9a1a33b187accbacff4473c99579a3ce902d83bea9e4cbb64ca053c336d693c9070ce3b3259b3bab56a5e3b213e003c5cea783ba6a2b1baa86101bb5692e23a662dcf3a14e9423a94eedfbb0000000000000000000000000000000000000000000000000000000000000000b6de5f3cab6538bec0b327bd1374443b4fb5883c6b852bbef3e673bd5bc1d1bb2689e63bb2a516bed19a8abd02b168bc167f103c7272edbd8efb80bd567693bcac783e3cf336a7bdff1c4dbd67e987bc5e3a363c763642bdf3a8f1bc3a2437bcc4bcf63b87e711bc45e8e0bb47adadbb000000000000000000000000000000000000000000000000000000000000803f04739dbb8d3f2c3cb6230bbefcfdaa3f9fa82bbb24e3333adfcbf6bdbde28c3fe3e990ba331a85bb8a21dcbdd23d643f1efda03aef0341bb7225cbbd4e332a3f39e5d93ac0461b3ac785afbd202de03eb83f7e3aae97e33bf46268bd1ffa653ec2449139214b343cd179dabc769c993c000000000000000000000000000000000000000000000000000000000000000076909dbd97c7683c0000000000000000a7a085bb4cac7c3c00000000000000007b682c3d974b933c00000000000000001b35773d5b20963c00000000000000004b65743de3448a3c00000000000000005c77343d16ed693c0000000000000000bef18c3c988cf93b000000000000000000000000000000000000000000000000000000000000000000000000000000004a608dbb48c46fbb4a7f7a3ca9dd9a3ca3eba0bb311e9abb5d1f5b3cff3abb3cb99058bbafb575bbe474213c4f7ec13c97d740bbc43682bbc8e1f93bc8a4a33c0b1a20bb20f48abb0c6fa53b69e8753c78be8aba1a817cbb12028ab935541e3c44b0c0b8b37ef8ba317a1dbb6e4d1e3b00000000000000000000000000000000000000000000000000000000000000008a6a033c630c50bb5d7f783c887f16bcfca7433c8953f7ba32168d3c9352beb887a75e3c81c722bbb680653c70e3643b2cd8613c462075ba5717603c2a3dba3be0b46b3c5c6e43bae66a313cc4e92b3c6f45463c100fb23a2267e73b5b6c3e3cbdccdc3ba6d6ea3aa8ff713a7f57313c000000000000000000000000000000000000000000000000000000000000000015fedfbd9fbf85bd85f27abc0587143cd711d0bd3627a8bde096e6bcc227e13bc6a4bbbd52d7afbd0d550ebd61c2c83b39b993bdfc50a2bd64b918bdb3493f3b60744ebd61b583bd954d1cbd6403ba3ae548dcbc106c37bdc3ace9bc784135bbb10477bbb6cd94bc7c4c81bce96437bb0000000000000000000000000000000000000000000000000000803f00000000ddb987bc23c68bbd5ef1953fbd1d253dc65bc7bc98769abdd88f783f17d6ae3dbcc5febc51539fbd6417483f1b92e73dd66df1bc2e69a7bd160e173f31f3ed3dfeacbdbc070cacbd2e83d03ef6f2ca3d108a23bc68fa97bd9fcc693e815e8b3df1485e3bc0ab76bdb341763d16dac43c0000000000000000000000000000000000000000000000000000000000000000db3bc03a749cfabb000000000000000016afc73c33ea26bc0000000000000000c8d0203d412919bc00000000000000007ff53d3d2dd2e7bb0000000000000000158a3b3d385c62bb0000000000000000d373163d99ebd4b90000000000000000f2fe963ce949ad3a000000000000000000000000000000000000000000000000132d1cbbb65687bb5433263cbf68243ca463a8bb4cab1dbc7eab393c9222be3c547990bbfe8a1ebc3087153cdf26e83c348598bb60241cbcac08de3b7708e43c2c125fbbd1fcfebb6fe9383bed4bb93c626813bb6567c5bb9a289939f7eb5d3c5de435ba2c9f6ebb690dfeba14b3c93b1b55bd35bd46a63aba4ed1ba3298bdb95d514a3a5d7aa43a314d1dbb950accbbb3c3dc3aec0cabbaf82a533cedf038bce8064a3c377b98ba29f3ac3ccb8d263ca745973c1c7b82bae457a33cddd8803c39d5a63c7c7f57ba224ba83c2c5e973cb96ca53ca89e593a0e9a843cb3089f3ce757a03ce1d6323ba2e2223c373eb23c19ff4e3c6032863b6ccdcb3a7a219f3cbaea7d3b098a583a7c19abbb347ab63bc428e33af17e8c3ada0dbbbbc709343bd76297bd5b74ebbcc64eaabb44e4cd3b2136dabd601397bd7d06d5bcc7cfd83bc02edbbd5954ccbdfc5f2ebd4a84e33b1d45b9bd5016d3bdf6344fbd6197aa3bf30c88bd2658bcbd9dd254bd20751abaef142fbd23b592bde4d644bdf9392dbb234d89bcde9031bd0f701abd5f8e66bb65fb5b3b976a3ebc544e47bcc49590b9baaf6a3c1a99313cd11e4fba683528bba62656bb4ec7b4bd4ad9953f2d55083e74a801bcf60e07be6cb38c3f88a72b3ec63ca5bca0a703beb2636d3f83f65b3e41fbc6bca79202be38233b3ffd9c663e8c93aebc7576f7bde71d093f0b02533ec0bf23bc9523ebbdbac6b43edcb92b3e4318a93bf00bc5bd7ff5373ef0bee33dcee2a33cd47470bd78a10b3d3146223d1c6bb03c642d03bd09ed93bdc69387bcc1550fbdd27fb0bb00000000000000006dad80bc165fadbb0000000000000000e919703c656940bc000000000000000067a30d3d294d44bc000000000000000098444a3d9ab613bc0000000000000000fd8f3b3d2e67c7bb00000000000000000fce033d49de7aba000000000000000065192a3c2aa2133a00000000000000002ca0b3bbb1e68c3b000000000000000070e821bbfe8382bb8fa3f03b6b7d123c79b87fbb530911bcf4df0d3cc963ac3c7db696bb991ce0bb01b11e3cea2bc43cb40286bb375e00bc162baa3b6896bc3c46dd3bbb6b0eb5bbd59b623b5ab1923cd822e5baac71c4bbbcfb9fbaccdc533c5665d3bacfe47abb23eaedbaa852b33bf61185b989d65f394208f4bab8263b37dd0d503a9e918e3aac74eeba22c9aabb62dd023b4cc2baba8db3553c2995c0bb13204a3ce546d0ba2268a03c344e163ca68f693ce742cbba7c67993c29d8f53bfd02ae3cd2a2cc3a0ac18b3c5454933ceb778e3cb7d8d73a240c423c6cef8b3caa4b9b3c59f9593b49f2f63b6d4cb53c5c4b603c5133a13b178ff73bc125633c6ded713b4866683b990f68bb3865cc3b85bc85ba83b9eb3a12e2c0bb105beb3a2e6d67bd2c82bfbcc9b719bcb66dd93b89fcbbbd1e2397bd42b306bd75fe103cbac5aebde9dcb6bd3d312fbd6daac13b6b2899bdcb17cdbd7ff86dbdf57a06ba8c3a5ebd95f0a9bdb7675abd7d0b30bb458706bdb59c8ebd027659bd5150d7bb40366dbc050b31bddd351fbddee829bc3b84853b17503fbce13493bc30f682bb1d175c3c2ec12b3cb340633a0f9d20bbfd3afcba8347cebd496f7d3f59ed9a3e2c02f0bb687d12be024e733ffb12ad3e1132a6bcf613f0bd2b7c433fef1dae3ea97f7ebcbfdb0abe546c1e3ff45aaa3e081e6bbc1a10f4bd8abfe33e4e588d3e08168fbab022f0bdd021933e4b89653ee66d41396ceeb0bddae21b3e5d37103ed7a4a83cebbc6fbdec819b3c4162693d3771b93c4d12cfbc397776bd41fe3bbc7b0356bd314eddbb0000000000000000761705bd042a07bc0000000000000000f0494f3c09d92bbc00000000000000008c170c3de0dc0ebc00000000000000006185423d42ad6dbb0000000000000000e4803e3d1894d3b9000000000000000076d2203de16bd43b00000000000000000ad43c3cecd1843b00000000000000000c78f8bb4d3b7c3b0000000000000000e111ceba84c88cbb7269f03b61a6153c268352bb4b940abc55d9f23b7891a33c4a7e86bbee1603bc622ba83be9ecbd3c019e55bb86ccf7bb44be4e3b4c0aae3cf9fe3dbb549cefbb40158cbaadc89a3cf825e7bab65a99bb9aa404bb60b5263c163319bab40069bb158d5cbb5dc5b23b1ec45939d6969f38b3a14dbbfe0181baf5b2083a8a76eb3adf9a3cbbe5ba8fbbb8451c390e10efb95544503c47a608bc858d393c23b3033a57808d3cda04183c200fa03cae6daf3a39b08a3cdbe78d3c1ae3a43ca0dd7e3b39d45c3cea56a63cfa6cbd3cdea8853bf73f5a3c1248b33ca3548a3c6b75ff3bbe3ad33bb316a23c3e264a3ca133dd3bfd76163b966c813cb709893ba3e5933b45a36dbbf656cd3bab3dacba02eb3e3bb7bb85bbb4692eb6f1ee52bd18c4c1bc063154bce5b6db3b25219fbdc79a96bd1ea61ebda885ed3b8d489abdc4e6cbbd70436cbd5a1f243b824776bdb60fccbd50bb80bd77135cbb74bd34bd17b2b7bd6de387bd5fef30bcb87ab8bc883889bda97f6abd57124ebc2506b9bbb39826bdbdb433bd7f4137bc6c63ff3bbabd33bcd3759bbc3479fcbbe3f8583c76e92f3c4d02c8bad8b564bb4766bcbb686fbcbd7bef513fb1cff73ee8e0c2bb5ecf0abede32463f0573023f935030bc66180dbee3fa243fd888fc3e83d320bcdde306be4e21fd3eab11e03e0de50ebcc1d6fbbd5766b43e67a9bc3e3a0b243bf402dfbd25f55d3ec2858d3ec423293cca9fb2bdc805cc3dae71323ecb06ab3c605a59bd5d54213ac569923d2ea8a83c544fc1bc2ed16ebd974136bc06de80bd61aa34bc0000000000000000e6d033bd9e580abc00000000000000004888ed3af3b81abc0000000000000000d5c00a3dfbddacbb0000000000000000b5ae5a3d9ec7693a00000000000000008ae6553d7ed17e3b000000000000000033231d3d2b9fe63b000000000000000081695b3c5979023c0000000000000000f27404bcbf938e3b000000000000000099b597bad45576bb6922bc3bf2f8063cbc2130bbd0e4f8bb1ed89e3b008e9f3c098b30bbed41febb4bd23e3b433aa63c5cfb31bbfab406bc076f443a8c26ac3c07c307bbef888bbba1c7363b6ef1683c9adcd4ba5162a4bbf9178cbb5beb3b3c380a14ba45e02fbbecfe5bbb3413443b5fd114b8df70243a15100ebbdabbe3ba6ce66f3ab9e5d93901fe38bb98c985bbd90f0a3b90cd01bbdf082a3c550b49bb6ee04e3c9097263aa563653cfc75483c1f8f9d3c0b41103b5c05573cd360953cafe1c03c2e9d943b2054533cf55ead3c3902763c9d0e4b3ba94c143cedbc613c56849e3cd88af53b167cc13b3ab3ac3c70bd2d3c4b21013cb92bcb3a44636d3cdb2b773bd2f9b63bda376bbb0ce7993b135de2bac254423b9b8281bb7bb4b63a4d8f45bd8d34d4bc09a75cbc394be73bd47d83bd426c9ebdc5ee38bd382eb23b95ee72bd146dc7bd611d7abdf4bcd0bab29543bd9c23d0bd83e195bdce1d1dbc58ee0dbd4e519bbdfe2e6fbdee2141bc3d417cbc9ba088bd98a07dbd2f8d96bc4e96f53998bb1cbdae3e31bd5aa682bcf771133c950323bc1c52adbc55b81cbc21ad453ca432303cbffc03ba42f791bb6e7da1bb4f5aacbd4eef243f1512293f6cfebdbb2b56f9bd8a81183f91492d3fdf7afabbd6f1f3bd3915f63eaca21e3f4396ecbb2ae8f8bdb338bc3e9f920b3f551544bc293ebcbdc817833e993dd13ecfa2933b9803cebd60e7143e7b2fa63e32dc183c353496bd009b663d3cd14b3ebf8f9d3c4b5235bd552d7fbca100a53d934ba33c800a90bc6f006abdcf5a7abcdc0299bd06be66bc00000000000000008a1750bdd6d0e8bb00000000000000001305843b21fe88bb0000000000000000579c203d40b295390000000000000000959b6d3d8a2d273c0000000000000000c5fa6f3dd538383c0000000000000000b72a2d3d01e0543c00000000000000004a62603cb4053b3c00000000000000008ae409bc29769d3b0000000000000000d6ff91b91ef796bbab87923b68a5113c65eb15bba884ebbb74a1de3a7b25953c056513bb040ef9bb76600438c119a53ce8e1e4ba5a0ef9bbc8c850bb61d1993cb64e05bbc01cccbb471269bbabc1703c6be3b9ba137684bb8c9389bbcd71063c358667b9697804bb0e536ebb2641283b26b3aa39c8e0873745555bbb64ee6ebacbce243af6ce373ad725a2bab81e78bb2b02503b5d56e1ba7ab7003c842a813a220e6e3c66d4183b94e02b3c7a8f8a3c381db23c91bba53b2887183c1c40be3c4b73c03cd209d43b61520e3c03e9cd3cfca4be3cf5690f3ce7eadf3b2068c63c512c853c32ae283cc3965e3b79729c3c6ec3273c8d1a2f3c06fc1bbaa8b6273cdb872b3bf2a4ae3b88ec34bb9f37813b45cf24bb04605a3bc1e969bb66abaaba6ba22dbd6bdf07bd11988abc6beb073c238c54bd4b1cadbd202d56bded114d3b8cad3bbdbb96d9bd29bc90bdfcd3c9bbf0480bbd7a17d2bdfc539cbd43bd4bbc4415b8bc0bdbb4bd10a99bbd2fe2acbc0f4bbfbb323a81bdd6cb81bdfdcdadbc2ff3e53bbdfa11bdb9103abdb86fa1bcf727303c442e19bc789d97bc18ae28bcd7a3393c81013c3ca476e4398e7e89bb332771bb714390bdcddaee3e0769553fa6b250b9f89dd9bdab89d53ecd58583fa27f4fbb5895dabdc6f8a83e9b84423f644eb6ba4bafd6bdee4e733ed9e6233fa335cb3a6c76c7bd74ec1c3e7c66013f4546003cb6c8a9bd3468993d2e2eba3e7c477e3c274d7cbd8847043cfcae603ea0fb8f3cfe1608bdd81603bdf044ab3deae1823c4d6a26bcc33f5cbdd34ec0bc1a3eaabde80b52bc0000000000000000e89c73bdc84a8bbb0000000000000000705f773b55cd20ba00000000000000003286303d7a85923b00000000000000002b6f853d31233c3c0000000000000000c76b823d32096b3c0000000000000000c520393de1788c3c0000000000000000cac2513ca6b9463c0000000000000000b2052bbc837da23b000000000000000084139eb9000c69bbd8752a39013d213cd87731ba2283dfbbeef9ddba63428a3cc724b5ba9c5df0bbe8202c3ad5f6973c4849ecba352fbdbba9d2a2bbfa47863c3bb03bba44529cbb4a0873bb0626453c530834ba196d43bb63b5bbbb8c52f43b69789bb9473d28bb3bb786bba676263b353960394acb2e3a52d3e7bab7f14fbace52383ab0c7a53ac30abab9562b91bbde3ead3b0cc509ba69e1763b11a0033c8086933c8a3a653b58589c3bd627a93c01e4a33ccf59a73bb362e13bdcda9a3c4dd8cf3ca460273c8d1f9a3bf873c83cb106a13c595b193ca9d54d3b860ca33ccb318c3c9e88433c9cdd6739ce07903c4f0f373c26f3193cc4273b3acc56413c358eea3a10c4cb3bc9956dbb09c9b939846a24bb821a833a13b245bbc38e93bbc91502bd09382abd3297aabcc7abd43b22c313bd1896c2bddc346fbd86b2a9b9bf0d07bd26adcebd5c728ebd21862ebc750b99bc08acd9bd52beafbd8e94aebc6fe731bcb6fca7bdd5ab95bd42e6c0bc0dcd033b769d7cbda7c088bd1c78dfbc9c00ba3b497e0bbdfa013abd8890bebcfde32e3c8b2af6bbb1828dbc089c34bc837e3d3cdf792a3c16ca9c3b1cedd9b92352aab95e625fbdcae3903e8a03803f1b7b683b5f38a8bdd83a723ee230803f930290bb676b9cbd7eb63d3e42aa553fa48a4c3b5c6fadbddc9ced3d68843a3fab6afd3a5a1396bdde05873d55cc0b3fb3be313c912d86bdbc090c3c6bbcc93eeaaa1a3c1a223dbdf68e88bc1b5f6b3e815a733cb7358fbc088a40bdeaa2a43d7e20373c27b8833ac0a53ebd92d906bdc1d9b4bdd5ca31bc0000000000000000aed564bdf2aed9b900000000000000003e9fc03c08feca3b00000000000000002d58623d2039473c00000000000000002f45983de292a93c0000000000000000be2d943dea31b53c000000000000000050454e3d199ec13c0000000000000000baeb433cdea6793c000000000000000019e27fbc1ca7233b0000000000000000cb0ef839d5e444bb038488baf6c8363cc7566138d017cdbb34c3debbe09b873ccfb83aba106abdbb123ed2bb663e853c9b6a80baf66bacbb2e90d6bb318e6b3c9c8eafba4b6784bbbffee9bb48db193c2d01c4b7ada201bb3c87d8bbad9f923b1a6aa5b8891a2a39ca3ba8bbfe0dbb3ad86608b974465c3b46d585baf217b7baffb00b3acb13c33a84c5c7b9390853bb21bcdd3bcda5ba381aa65ab72951393c98feb13c7d47c33b0f9b8eb97e12cc3c8739dc3ca840293c87d345b8ba17d73cfed4d33c0ad4553c5aa2e5b8cd20ce3c3fadc63c3407583c93697c3a7bb5ae3cb38b8e3c3b8d633c737659bb563d803c5143163c4236413c955065bb0785e83ba4de0b39a6b3833bff43a7bbdf5f79bb0bae95bb66e21f3b91513fbb55659cbb11d8dfbc9d0581bd6868f3bcf6b2ef3b00cb7abc9c8bddbd6e0889bd723e4cbb5b2834bc605df3bdd091b3bdad5b8dbc77b28abb8666ddbd7fe1bbbd68dfdabc4eb0643bc8adadbdab84abbdca330abdb8dd523c40e171bd07268fbd47bb01bd00f8713c3791f9bcc2903abde217c9bc24ee293cd67531bbf85e60bcfc0ff0bb88300d3c4d696f3c55a7dd3bc2b6d9ba0f6b073ba96913bd3f1ce93d9e9e963f75f5f83b4c445bbd796a7e3df947903ff376c73b9cf978bd7938043d4d3f793fe831043c530e7ebda8bb443b3cfb483f0d5e0e3ca83b6ebda1c3d3bc3646173f743c4e3c28443bbdd33452bd897cd13e52405c3ce583e3bc3b417fbda6c46a3e8dc8273c5b5e473af72962bd0e05873d35cf093c4352113c3d423cbd558b6fbdfe4496bd6a8331bc0000000000000000cf9916bda06bbc3a00000000000000000dae213ddb8e253c00000000000000006c46a43ddfb8aa3c000000000000000089bbc73de296ef3c0000000000000000b694b03de05af83c0000000000000000121f6b3d4230c93c0000000000000000dcd0593c1213613c00000000000000003a5f97bc8574363b000000000000000000000000000000000000000000000000417e4db92483a4bb74df5ebb1a65903cfa7c47ba0a41c6bb19ca95bbcfcd7a3c8debb4baf366a1bbadff44bb3b41623c64c670ba4bf880bb29da7bbb2c7c2e3cbc774ebaffc020bb98dfa5bbbcd3ca3bb8982d3acb4b83babf0694bbd05bbf3a0d6e123af0886c39b52f4bbb7654d4ba0000000000000000000000000000000000000000000000000000000000000000dbd0933cb46e923b8bc6cfba8322b23c6ed0c73c75ce083c3cd3f3397a04be3c1eefb93c6406123c722d9f3a3ef9a93cad41a33ceeb6253cfc11a738da339a3cbbd1823c910f3a3cc1b25bbabb947d3cb24c1f3c1f211d3cbfbf3ebb09a8e33b09fa213b5725e43bbc7a57bba8932e3b00000000000000000000000000000000000000000000000000000000000000007c2c95bc9babe1bdfca583bdb07eddbbf033b0bb9e59dabd6ae5a8bdd31ba9bc3d677cbbb2f4c7bdf1d5a8bd428dddbc2a97063b34799ebdc1cc9fbd537004bd061f143c8f7a64bd78c386bded3706bd594e593c34f5f0bce27532bdb2eecfbc5cc75b3c9f20acbb39718ebc790479bc000000000000000000000000000000000000000000000000000000000000803f6ed47f3b9bdcf0bcf8c04bbdfa39963f7f61823b364f24bd099e83bd79617b3f1f7f283b21bd2cbdc6448dbdd84e4b3f6faa8f3bc26d25bded159bbde3661a3f4530ea3bb2a307bd138fa8bd7dc2d63e7db5163c96d489bc313f9cbd9840753e20a6dd3b2e9b40ba816187bdc28e843d000000000000000000000000000000000000000000000000000000000000000028b7a03c590aa03b0000000000000000f7ad8f3dc255ab3c00000000000000006ee5c83d8c8afc3c0000000000000000f91ed23d3a45213d0000000000000000cf0ab93d781a213d00000000000000006f73723dd1bffc3c0000000000000000e98e9b3c615a9c3c00000000000000000000000000000000000000000000000000000000000000000000000000000000fab499bb6829c73af0d2183d66c7933c8081c3bab6fb6e3a3c7b003dd2babf3ca741fe3a95c3b03b9730c13c8ebab73c28049a3be1aa4a3bd52d7f3cb7f0ae3c3bb2eb3a0f50243b942f213cc1227b3ca334183b9bceda3a6d86953bd195fa3b2a38dc3a531250b873a19dbab7e6933a0000000000000000000000000000000000000000000000000000000000000000fbb6e5b9a2ae0ebc8c6d13bb4d8c093d23a9c13b3366e9bbd71b77bb31a5a73c57032f3cbb1c03bc1e2d9fbbdaefb13bd3bb303cea5c8fbb5c3a06bca156643bc699023cfdb2e2baef12eabb329a8bba63c1b33bb6e42aba6ba1ddbb7d05babbd3a41739c2d3a13a69eebdbbec4e73bb0000000000000000000000000000000000000000000000000000000000000000128b6dbec27f3cbc3ba56f3c271761ba52c157be80ee0abdef28663b9fb702bb77c943be110d3bbd6e9764bb3a1c16bbd0021bbee4f54bbd566f09bc388916bb9964c8bdcfb51bbd705a33bce3056dbb96f649bd4ac1cebcaebc0ebc4bd862bb03b62cbb07e9b1bbfcec07bc9ba75a390000000000000000000000000000000000000000000000000000803f00000000fc4ced3cc85e22be9b43af3fdbddedbd7707c13c6652e8bdb9608e3f5dd4f0bc5e0f983cda34c8bd8ad46b3fad74b63bc4b9963cbb4f94bd70352d3f900f1e3dd7d85f3c158128bda528d73e2e28503da2e9bd3b9823b3bb09d4493ea007493dee1f1e3b23d8843c8d4349bc1969e93c0000000000000000000000000000000000000000000000000000000000000000c20cac3c56f90ebc00000000000000002867f53b1b28f1bb00000000000000008e98e03b16cfb2bb0000000000000000d50fbf3b882ccbbb00000000000000009b56ea3a6a8085bb00000000000000000aef143b27851dbb000000000000000080eb343b9a2b2eb9000000000000000000000000000000000000000000000000828bd5bbb22b41bb5a16a43c8ed78e3b2fc114bce058d3ba7962ff3c576b4c3c274eaebb930f8d3ba4f70c3d134dc63c5c87d3baf732903b98f3db3ce4b3d03c8193fb39e6107c3b15088d3c9fb2a33cb6d3cfb8e1a36e3ba95b3c3c6a4e6b3ca582bbbacc63a43b1a00a23be7f7e93bc80eabb9113f403ba4a8c5b919eea73956ca69bb015318398c5f75bbb01cc1bbbcde03bc094944bb82cd3c3bc976123d431d66bbee3e7cbbc5f15ebbe1602b3d55fc723b61add3bb56eb90bad8b3c93c3dd2fc3b7d7991bb83a790bba99d823c96b0163ccd48b3ba22cc8ebb0a2be93b01212a3c54fc1eba7252a6bbb10090ba9b1fbb3bc5924a3b293fbebb5f20abbbc2124a3baf60923ab76386bb775ec9bb95e205bbb1c90e3b662d75bb1984d038a16a0dbe6995833c4addca3b0472a53b44e73fbe1d9322bc13821eba3af5cb3b494a5fbe85ec40bdb1cd1abb7891c13be52544becb3279bd1d2e2bbc80de9a3bdf6614bee1196fbdd12595bc6c19cf3af1d9c5bdaabd50bd4d29a4bcb4d59e3a5f8638bd6e5e08bde22189bcc0a63f3bbf41cbbbef8689bc35f10cbcbafa303b907bd73c3160bf3bd7e61aba2b01f13a0a15423d73e175bed62aaf3f066089bc0c08463d9b3850be1d61993fa5f75c3d12f52d3d65733cbec5f28b3f2f5faf3db5e0113d497912be59a75e3fdff5e83dbd18dc3c05f5ccbd5db01f3faced033ee390a33c4c104ebd9c49c33e2f0c003ee389343ca0f443bc065e1f3e8481d23d0c54c8b9cdee963c87aecc3b0291843da082713a2912f43caf2d06bebbedf33b8513d9bb4bca0dbb0000000000000000722586bc924dedba00000000000000004e2fb1bc08c100bb000000000000000001aaa4bc18448ebb0000000000000000cc6683bc7d3e79bb0000000000000000833287bc6d4f01bb000000000000000086bc87bcd2f207bb00000000000000002a2e80bcdf79a03a00000000000000009f25dabb7b4e083a0000000000000000e1b7c6bb655352bbe331683c1665bb3a73d0edbb17751f3ab9fec93c62fd6e3c85d6cabbdafcf23ac1cbf23c4b2fc13c6ba081bb00a9913b75dbad3c1834b43c6af1b3ba9f667c3bd15f613ccd748d3ce81034bb20228c3b5134303c4cf2643cf14c26bbdd2a3d3bbf36493b2f5d913b30906dbbc47e4f3bf62995ba38bde0b9e30857bb34982e3ac1371ebbd4c3d2bb8163f3bbd6f9ebba4bbe453b9854cd3c47bba0b91070d0ba6cda563b4da0e53cdd04bb3bf3b392bb6916353b135dc33c6865573ccb5825bb7bbdd7b97351453cc1a74c3c67b2d33ae22431b952c90b3bd5d02c3c7265b83adcc04abb91a30fbb6d61cc3bcfc48d3ba0f34fbb637f89bb50bf343bfdc8ab3bc89f55bb73cc83bb29d227ba1e55033b1f7e1fbb790aceb9dda7b3bdab5ed23b0ee6bebbb1284a3cd06426be65551abd99c715bc00a0143ce59f38bef35b95bdb95866bc3cda203c772e1ebe7119aabde3e5cfbcd015e73ba929ecbd3ae39cbdd85b01bdc343a93b087596bd31b988bdc798e8bcaf57a53bf20301bd88f326bd07b6aebc43d8343b6bf3b1ba4f0c9bbcd3624cbcc36d653a0e06963c0255b03a301daa3ab664143bdb3d473d3a9a65be6a69903fe219553ec73c573d72fb70be822c8d3f5e5d753e990f363d68e74ebe60dd753f3ca5863e736d1c3d15001dbe5d753f3f2ec78a3ed53df23c265dd6bd275a063ff4bf803ece52c23c257e6abd98889c3eb6d05e3eb9f25d3c5e486abc537ef13db75c1a3e1afacb3b51dc003c6fd522bcd5719e3d696ddc3a88509b3c6e1eaebd0a17e33b460776bd14891a3c00000000000000008f5c86bdf264223c0000000000000000c76c78bdae50053c0000000000000000cf1b59bd8875ae3b0000000000000000583f29bd124c6d3b0000000000000000837a26bda0e7c53b0000000000000000b4ddf5bcef89543b0000000000000000cfa2aabc0a02443b000000000000000010c081bcd80d0a3b0000000000000000767bbebb2cd644bb74de4d3cea52fa3a0a66ecbbbb40d3ba564db73c9ce3713c5e049dbb2567443a75d3be3c58c8b63c301fc3bbcdef8f3b87b8983c8f5db63c558038bb0bb96a3bd5265b3cebbc8c3c50f28fbb321e6e3bd56c123c8a563d3c8fda92bbfe86a83b436f843b5d096b3bbc078ebbc9d92e3b05e606ba48ae37bb852e49bbf47e553aec13ffbaa5f10dbcaabcb2bb97c8623ad832c33ba50d663c3e94d43a8eaf1ebb9e425a3bb6cebc3c10232c3c223410bb6bb7843b5bfe5d3cb5c87e3c669c2f3af176423b0ca28d3b3934643cddfea33becb131bacdb2e63935523b3c6dbdc13b4451bb3a86b6b5bb1d390a3ca7b9c53b478224b9273d08bc3db1743b5800b63bfc8a2bba3fdc8dbb6ceac73a52ad673b976417bbc3cf8939806f92bdc26406bc703646bc9c0a683cf502ffbda9a78cbd296383bc152b883c5bde09bebe69d9bd9eedd5bcd0685d3c65efecbd85dbe4bd4e7614bd31c7373cbe7fb0bd5c79d3bd49e02dbdcf43e63b0bb75fbd9c6ea1bd061b1dbddf72cd3bbeefbcbccc974bbdba13cabcd939433a18c6eab995b5aebc379541bca6133c3a5111853c5b1c633b0509383b62118abaa2a5283dddee52be1aef733f2a8bdf3eb533503d9c835ebe365a653f8dc7f33ea5492f3da4d433be8022433f8b1cf73efc961a3ddd1407be9690143fc667e63eb8ebe93c80eeafbdc512ca3e0eb8ca3e0264aa3ce2173dbd32be663e256b9c3e86225b3c772653bc1820ab3d1e6b453e3455da3b7bb3ab3be3a7debb9286a53dc69b6f3bae54393c379794bd5359f1bbd30ff5bd0489b13c00000000000000006b0bfcbdd67fb23c0000000000000000b5f2e4bd2f1e8e3c00000000000000006132babd1f64743c0000000000000000ea2295bd6e16353c00000000000000004e9e6cbd9b0ef83b0000000000000000cd9f17bd4d29bb3b0000000000000000595fcbbcfbcd973b000000000000000056fdb9bc28d2743b000000000000000040db9fbbe913a7bb8956463cfe2f083b2732d7bba62b81bbfb7c8c3c6c30793c10d4eabb3308ab3ac496943c8cefb33cf0f187bb0aa4c23aee75843c0e67ab3c0950babaf37f233b325a1a3c9f07583c987167bbdb12a73bd0c8ec3b9af9253cd7e195bb5b15373baea4a83b230c253b1ef585bb03a3883b4f9906b9907081bb4d2b49bba032f93927a3c9ba987bcebb44fceeba03c243bb97d3b63beda8453c81b1f43bcf8100ba1c4eb63bcfe3723c681a7e3cb34f1c3a0b2bd13baa98173cc692813cbed8873bb0cbc83ae56f343bd8f0833cf43dd53b6bff3f3b07b26cbb9cac663c4f42dd3be8dcee3adbf1e9bbff89f43b700b093c910c8d396edad9bbc8dc723b258be33b0238833afb8d9abb1912c73a0704273b6cef1739f3fb0b3bccfd44bd1282f2bc40de94bc350ca53c9bd9a6bdadb8d1bdb112b1bc041f7e3c8b74bbbd2e0c0bbef2921abdc270803cf81aa1bd3e8a11be550e34bd32474e3c1a1f6bbde9f3debdadd04fbd4e6b903bd4ad1abd24b5c0bd309f31bdb275403b67039cbc178153bd9c68e6bc16a52139ae3629bb952d97bc89ed55bcb7f7b5ba2acd183c8314043b8dd4953b1f4a65bac47e083d1fe52bbe0bab363ff243323fc6c3153d53c026bef91c273fd109393f8b2c083d2ace09bea2cf0a3fd2cf333f8592f53c20a4c4bd7368cc3e1923223f29d9a63c83237fbd8ea3883eb0c2003f8f239a3c44d306bd76cd1b3e2d42c13e297d6f3c22dc63bc24397d3dc3a8573e36689e3b27e9ff3a49e086bbe4429e3dbd3c123b8c2dca3bdc3547bdb8f5cfbcba2936be5254063d0000000000000000f31233be1fdc103d000000000000000027c717be97b1cc3c00000000000000002388ffbd0208ad3c0000000000000000efc09dbd978d813c00000000000000000c7981bdf934813c0000000000000000df8313bd354d0f3c0000000000000000955fc1bc67dedf3b000000000000000062fab1bc0209933b00000000000000008ad27ebb21e4b5bb8c56133cbb6a3e3b627992bb566d90bb56ea393cb61f973c26fcffbbfd7f00bb06248b3ca6dad13cba9ee2bb47357f3b2fb6693c54ccaa3cb0356ebb9a50fe3a8dda183c48529a3c12d091bb2443193bedbe1c3c04f0403c32044bbb6387713ba9e0943bf6ab593b80baa6bb793a513b26abe33ae00f63bbe0343dbb2693073b4662ffbae84102bcdd0d693a76ee3abb3635913ba1e5fe3b8776153cb024f1bad2967f3bf61aed3b4e98a43c73f601bbe3eac63b4db5843b93c69f3cb6a7613b0727ac3b3a58a8bbd62e993cf304003cc605343ba846c3bb943c6c3c07b5eb3b32cd473b905c09bc7211293c3ae7f63b8885a43a052a08bcc4fc9f3ba417b43b2aa0ad3a00807cbbe872f53a7fdade3a538733b9c954a1ba84cccabc2b2c57bdb7ed62bcf9f2983c1a3b2abd1a8407be7094b3bc5d61943c4a8f52bdb41531be31c527bd997d8b3cc5873dbdbe0927be3d5e52bd4042513c83c00ebd121f11be6dab5dbdb22bbe3b75bbeebc94f1ccbd12fb39bd5844cf3ad84984bc871575bd5c66debc28bfcfba096ca4bb92bbb0bc3b3a28bcb52298bb4a8b0b3cee595b3b8fb7053c0add25bb3034b43cc392debdeec1e83e5a7e703f3a4fe23c748fdebd6a5bd03ebb11743fd5bdcf3c05b4aabdfc46a43ec89b673ff424ad3c2c4262bddf7f6b3ee5f0473f06df953c634013bd297a193e7a991e3f48fa543cda5aafbc45a8c63dda23d73e30d11f3cdb17e4bbff7f373dab006a3e24e6c43bcb4086bb8863203c450d873d481419ba81bd6f3b21dfd0bce89d2fbd4d3e5fbe10f82b3d0000000000000000f80f5fbec50c343d000000000000000013c935be6865093d000000000000000033570bbe89e9eb3c00000000000000005650c6bd7098bb3c0000000000000000b2f775bda2b6923c0000000000000000ea4b0abdc20b383c0000000000000000bd7283bc62321e3c00000000000000006286b2bcde83f83b0000000000000000a57368bbcdd49ebbfa1b8f3b9869d43bea15e4bbe2392bbba410173c0ef3b03c711bbabbdd9c34bb40345e3c569be73ccdf8e7bbbe7d183b83834a3c73a5e13c769198bb86c23a3bfd733b3ce7d4923ccbb181bbe57f883bfe5d143c7fe2573c6ba288bb45cc983baf49ec3befc9673bebaa66bb47763d3bce1f343b9a5440bbd6efcfba3e2ffd3a3ce094ba4b031ebc3e2c243b7674b5bb5f40043b2d6f4b3bf357873c76e0d7bb2348713bb6a5003b2d2cb43c05dc59bb64df963bc65945bab7fabf3c55756f3a8554063bd75badbb08358a3c2fdfab3b6d886d3b3ddd0ebc0e5d863cf208b73b07764d3b83bc2dbc41d51c3cbab1ba3b5da7033b92a90cbcc548b63b9d5b873be04d013be70c92bbf2c1803baebf143b3d3d89bacfbcae3aec02253b291692bd83af45bbed47763c802328bc95a129be5c50a9bcf1ae873cf34093bc28034abee4e52abdac8d803cfb05a8bcedd540be39c156bd57e3273c3d759dbc0bb31bbed09d57bd930a213b4fd293bcc4dce6bda74d2dbd350d8fbab55874bc511077bdfde2e0bc1eb496bbff03e9bbd80aaebc799a0cbc6a27cdbb9cd3233b704ece3ba522f63b37cac4bb41c9183cd5705dbde8f0653e211e8f3fe20f733c95b74cbd86a9353e9895923fcf16693cb64e11bdbc47033e125f873ffd4f683c1dc2bebc6422b33d9cd0643f90d44f3c53b16bbc4bde6e3d77522e3f7256403cbadc25bc4a4b373d038ae83ebb0aea3b5374c8bb10d2fd3c19be6a3e060c5c3b8d6a9abb62259c3ce11c4a3d35394dba92d425bbdff3973a62227dbdaef46fbe75f2483d0000000000000000b36c65bebfb2473d000000000000000065ce36be9a641a3d0000000000000000ef9206befe06ef3c0000000000000000dcfea8bda4e4d93c0000000000000000ff1749bdd2e0993c0000000000000000f84bb3bc94c67d3c00000000000000001fa3adbb43b9113c0000000000000000a1d20fbce8bfb83b000000000000000097b5f7bad94096bbc1fbab39830b8a3c82f690bbd00f54bb6795f93a66df003d6114e0bbac7312bb11e4333c0e241e3d3750f0bbfb322b3bb9ff2e3ce95a0b3df7698ebbf8c33c3b023e183cd401d03c2b62bbbb3fcc6d3b164a333cbe308b3c69b679bbd71c3d3b847f063cfa40d83b668394ba65710f3bd4e5a63be00ec5ba523adeba0a9a283a754c793a281107bcca35043c7c8746bc3e616fba036e983bab99713cf7e834bcc67f1f3bacdeaaba3b5bac3c300494bb8db71a3bc83405bb7d0f9d3ccd7e173b4626633b425effbb0f6c993c4363cc3b1eb26a3b446c2dbc17bf4c3caad2d83bbbc1933b35122bbce2e90b3cee05ca3b82bb433bcc8f0ebc114ba93bbfe0ad3b1538b03ae2db65bb1551b83a514ccabae8a5be3a068e83baaaff953c741d02be3c98133c6969603cf717873cefd13cbea0c690bb9874243c43f83d3be47066bed6e60dbdd1272a3cc7803ebba59f54be7e8742bd7edfa23b068203bc91bf28be8a074ebd5f1253bb45166fbc9e08ebbdad9537bde7c1c1bb09c16cbc74c774bd06c1eabc61d6ebbb979449bca84693bcfa3d4cbc0fed2abc6d74bdbaff9d803c057a4f3c8b4503bc60267fba74f14dbb0c3ab4bb3b01af3f9f48803be7a0c3bb55fb333cd0d89b3f29690e3c51cdf8ba735180bc2ac9923fca052b3c31501b3a9c68a3bced6b723fe0e5183cc28c0b3b11c966bcc6c6363f96d10d3c3b8a5f3a7e22973b6cb3ec3e284ec43b3eea7bbaf2db7f3c510c643eb670783b7b75eabbf6c4d53cf3b5333d28f608bb072e0ebb89ed9f3cfd9deebde3907ebeb87c463d0000000000000000c33137bec4a62a3d0000000000000000db3f10be8e43013d0000000000000000b1d9bbbd97d2cc3c00000000000000005ea44cbd0b52b33c0000000000000000963583bc26fd8d3c000000000000000020cd783b49f9143c0000000000000000e6128f3c29be953b00000000000000005cf6f53ada2bcf3b0000000000000000000000000000000000000000000000007da389bbbf9923bb93f5063b2daf2e3d9cb073bbb9b01eba608fb93b4d1a1d3d02de7dbb72cbc5b9e938423cfd2cf43cee6402bb281c0c3bc0940d3c265ece3ce24f0ebb7d8e873a3e95193c0bea763ce7f4eabae7eaaa3ae3bb003c0cbbbf3b8ab0a7ba91efb539bd20b13bfe8a2bba0000000000000000000000000000000000000000000000000000000000000000fc4c9b3ce3c450bc95890dbb3cfc503ba54da13c25dc9dbbdd6bd43a86288ebb7d198f3c4635833b1168d93adc32adbb80217f3ce21d703b9bb4843a5f50f8bb809a153ca521c93b137d383b138108bcbac2953b62b89b3b8c83023b940af6bb5228683af90d423bb813503a461a98bb0000000000000000000000000000000000000000000000000000000000000000f056e23c9c906fbe1070c4bb0197e33bc4fc863c3fbf59be120b0dbd9ba42b3ac938e73addbb45be51934ebdb3744cbbddad85baa38e1dbe4fb755bd7f4ef2bbbff4bebbccddcebdf14d31bd067240bc7df72bbcf9f048bd2b8ef0bc785a27bc55d413bcbde4fbbb3eec0bbc7f3f01bc000000000000000000000000000000000000000000000000000000000000803f36b201bb1253c73c32f01bbec915b03f6d00863b31076d3c8d6cd8bd1b0c903ff3c9dd3b6b226c3c3f97bcbd81e7703fb5b23b3b4ddb6d3c7cad8abd9b71313fcfb7583b4db22e3c66e40dbd77b6df3e757e983bb392773b2d372abb4751573e64525c3a0381333b9477a73c175fb1bb0000000000000000000000000000000000000000000000000000000000000000ff10fcbd76e1b73c0000000000000000ceac3abd505e8a3c0000000000000000635952bc20695f3c00000000000000002a398a3ce9c14e3c0000000000000000d1530f3d6c7f673c0000000000000000d7961e3da7aff53b0000000000000000cbaad73c0c2e823b000000000000000000000000000000000000000000000000000000000000000000000000000000005f5fe8bb8d20ebbb08d5003dd5c2e53ce08121bb8980c7bb0a499f3cd0a5013d609290babaed8fbbed64053cb751fe3c3346c43ae59675bbdf2d573b4e9fb63cfad1623b8fe617bbfccd91baa3a8853c2146533bb2e4233aea9985bb19f9213c3c6abc3a379d183a6bab45bb0195283b000000000000000000000000000000000000000000000000000000000000000074ec023c73430abc55a313bcf39f5c3d44b4d03cc82e2fbccaf83abcc2c0473de90a0e3d65d6f7bb15e8e3bbc6fb0a3d3241153d1953d9bbd06e2bbcf832df3c3adfe83c598837bb1abb0fbc04aa793c47c0823c7224a7b93950d8bb4816503b1062543b0c10733a32eea0bb71afe9ba0000000000000000000000000000000000000000000000000000000000000000ef2f4cbe40ce94bd6710943c5708933ba70f26be96e7dabdf603a7bb38651e3cca3202be5fe1f0bd3702e5bc90be023ca62cb9bdb3ebccbdabb523bd7467213c58d55bbd5fed8cbdcaf926bdd3fa6c3b1cf4d5bc5c6414bde38cefbc5786dc3af27684ba3cd35cbbbed954bc76f7dd390000000000000000000000000000000000000000000000000000803f000000009c8e123d4a3853be2d9eb23fa28eb2bd9709093d46cb41be712f8e3f096a6d3d5294fe3c6cc237bee302613f10ae113ea47ef03ca6c319be61e31c3f1e07353e54d8ad3c6f0acbbdc131b83e855d263e9da44b3c8d2e1bbd29af1a3ed505ee3dfe5bda3896f0513cc04ae7bc0277233d000000000000000000000000000000000000000000000000000000000000000030fa1a3c9643e7bb000000000000000065f4a0bbd9a113bc0000000000000000dfc6a4baa31548bc0000000000000000688dd43bb1078dbc0000000000000000ec2a7a3cef836ebc00000000000000003268923c097232bc0000000000000000d6b2843cc7baa3bb0000000000000000000000000000000000000000000000005c1706bca8cdecbbb885ba3cff2e3a3c918bd8bbfe4213bc9169cd3cdf23c93ca64d5fbb6d41e0bb08c9a13cdef50d3d76cb93bac0b185bbacf8193c2c32063d23b0023b8d0028bb6537463b09a5c33c31ae053b34919f39c2c570ba97388a3cd4c1ef3a1302d83a378733bb82e21e3c8049f53ac5735c3be3d721bbc45a1b3bf6772aba0ce21f3b4e1a63bb963f9dbb4146ebbb9f5f4bbb463fd1bb3b53363d7c4a043ce55315bc1a927ebc111f7d3d5897d23c5e393fbc50bb5bbc1963533d94101c3ddc3538bc40af44bc583f203de39f163da81d97bbc6e54fbc5401c73ca4e1e53c8e2621bbc2f711bc3669333c7d92873c20c4fa38cac9a9bb76c99bba0af7b53b008f183b815e05bb988cffbb06e8d0bbe956253b37e7b0b8d96308bc10a006bebf3043bc41027c3c58853f3b14da20be4d6785bdc6a3f93b3018f13b62141fbe9067f6bdf89844bc1562513c27aef5bde4be00bebbb70fbd25fb613c336c9dbd429cd9bd259249bdff8ae63b54de3ebd13b59abdae7d35bd857fc03bbf52a6bcf3eb1fbd889100bd6ed3a83a38be18bb89795cbc57fc69bcb5a2c7ba8cef833c4c418a3c61f4e43b7caff9b9c517533d73ee81bee436b23f38decdbcc840743dba7382be68359b3f00bab43dd9ba623dfb317cbea5db863fe029453e1182443d10e154bea5ec493fa63a863e815e1e3d520d1abe761b043f4286903e93aacc3cf10eaebd0df0903ef9ab773e79110e3ca7ea86bc1b5bb73da6f5253e2b40ffbbb27bbc3ccdb585bcc5249d3d29823cbc6420423d09ddfbbd1e407bbc0c1364bc0be09e3a00000000000000004a57dabce20e74ba0000000000000000a33725bddbc941bb0000000000000000f31504bd91430cbc0000000000000000ad067abca0ed32bc0000000000000000835acfbb803b27bc0000000000000000d1f6623a3c92cebb00000000000000002089a83b23371ebb000000000000000074aacaba9be63b3b0000000000000000144dacbb0b5ce6bb47da693cb4e2123c8162c8bbb072c0bb4d318d3c7520c53c638c55bbcfe1bebb822b313cb497043d7620aabafc991dbb013a8f3b5b70ec3c63a4d13ab457f0baf25a08babbf1a43c04e21e3be97ad2b9e8b256bbe61f7f3c936fa53adc0e023b438431bbada0d73b06b9dd3958dd653b80577fbb5632113bba50d7b9cd6a313bb87787ba29a28bbb6cf96cbb546294bb5f27dbbb9b601b3d66ef6a3c033d1abc6c8d2ebc575b483d8c19023dbb1034bc795a3cbcca503c3d36df1a3df383e3bb09692ebcbebfeb3c0e10173d1a6d48bbf858fdbbb66a803c3f44de3c68bd1339a7afb8bb73056c3b6e94733c3cbe2c3b1ce54bbb399967bbbd25513ba0158b3b8c1385ba5b69eebbee5a50bbd194b43aa61955ba607bddbb12d3b4bd69dc5cbc6f2d833b9b79013cca3103be57dcaebd48aae1bb235e3e3cabb2edbd6a0007befb1b02bd57ca7d3c2d93abbd969404be5daa5abdad53623ca4c654bd9cd0d1bd2a9e7ebd6281d83b6877dcbcf7e795bd737c63bde07c253b4ba02abceb721dbd08d70fbdea4c09bbb68d9f3ab24d23bc2dda44bcc710c3bb6f6c093c1157313c35ded53b64bff1ba31055c3d9c8a7abe0212933fcea2593e2e9f813ded898cbefa5b8a3f8dee993e6cae683d0e5b7cbed060613fd2f6c63ef03b413d92a040bebfc11e3fa0b8db3e75c4083ddaf304bea827c53e32e3ca3ea2a3a93ce6a775bd41af373ef698a63edc62ca3b6c3ee2bb350b253d469f4c3ee8ed90bb8a4bc73cfd1027bd3fa9a83d53941bbca79a213dab86a8bd4fc265bc78f494bd95343d3c00000000000000000faaa9bdd765363c0000000000000000af259ebd2fc7913b00000000000000003bec6ebded8919bb00000000000000001be5e2bcb420cbbb0000000000000000d6b28cbc812aa9bb000000000000000061b8e239d9cf53bb00000000000000002d271c3a399ff83a000000000000000000efecbb834a933b00000000000000009aa1a3bb6b22cebb6bda423c1963103ccef6babb08cdb5bbbbba383c49e2b73c20d814bb601db7bb068ded3b97f0f33cea1726bb4c7898b959bab2b9a99ec43cbd43203b906152ba3975aebb443b933ce556153b69cccb3a8257a0bb4d43493cd42d213a413d4f3b30ebafbb9d92d63badee4a3a67ef543bee694abb65d9e3b9ff415abaa23c273b2c5739bbef388bbb9be4a43ada4cd1bb99cc8cbbe51ff83cf44f923c633224bc431b16bc10de2a3d2dbc133dc0b529bc0d600fbcc81ffa3cf8c91b3d920650bb73c1bbbbd4ef993cbed6143d5a89403b55f705bcdb580c3c1034d53cbdcc6e3b545c48bb602b42bb703b633c8530c13b1e1d92b8b4a308bc5172903b95ae9b3bc71a67baf8d1ecbb272160bb32dc043b3a4def3af18ec2bb1b2293bd2f64f4bce0845abb323d4d3c8194b9bd04d5d2bdc21595bc33d7843c0a0e9abd750b12be272e42bd8ef9903cf8c14dbd5d7e07be166c8dbd2dd3403c910ec6bcfb02d8bd85df9dbd60ff953b46a53cbc826d92bd67427bbde81424bbe74e5fba39fc19bdf77116bdf3bdf8bbdaa34d3b652227bc29b15bbc34c8dbbb88c4ca3b7355453cc8d3413c1e147fbbd50c453dd6936ebeeaa1773f3fabe83e14e36d3dc08c7fbe1d705b3fc0ea0b3f07954b3d560852bea702283ff8951c3f44c81c3de3e513be7d54db3eb13c1a3ff343f93c1839b6bd7e40653e00ac083f5bab683c379d09bdfe08b13d4257c93e003f833b0946883bb0840dbbeee96a3e12a38ebb7bb8be3c8a3935bdbe06aa3d8e62ffbb985a023d0fe68dbd80cbd8bc06b50ebeeb61d63c00000000000000006a3710bedf8bb53c0000000000000000d7cbfabd0a216b3c00000000000000001ce3a7bd072ba33b0000000000000000162642bdb345d9ba0000000000000000733b90bc4922b5ba0000000000000000f15e853b164bd9ba0000000000000000d76b023b1d994a3b0000000000000000252971bc36c9fe3b0000000000000000283292bb728aa9bb4dc70f3c3159103c759483bb8169abbbf509c23b0a9fa43c12dabbbadb4e82bbf6cab439f677c83c718b30ba66ec05bb68c959bbe18eae3cb7b8a83a5f5c98ba59b570bb543f663cfeaca8398e80e33ad988b0bb6069353c1eea7b3aa98df33ae3348abbe475a53b34489db95c75643ba14528bba67ed738350e0dbab120293b168fbebaa043a6bb8b318a3b3ad7ebbb128397bb61f9c53c736fcd3cb62418bc3ff503bc6a97e33cdfc30f3d0c7d4fbb900e01bc1774b33c5543263d8aa38e3a9c7399bb17f2143c6343fc3ccd5d003c873764bbb62a2d3bdd08bd3cb059213cdcd701bbc645c2bb2d60513cf985043c11940f3a673305bc45ed8a3b5a91c53b9c3a623a4f9809bc13b701bbdab0823af9f6a43a6983dcbb624e4abd5db13abdb0b8f2bbb615733c554b48bdb301f5bd88ce0abdcb2c993cf5f817bd896a18be8f5785bd38146d3c81329abc55c109be1d97afbd7a560f3c6ff400bc5f2cc2bd4716a8bd77fc07bc3632383b5a0091bde2748bbd00c607bcea39083be7ad09bda0b61cbd9f005fbc4b71033b30ce09bcba235abc5c8729bc3f36c33bbe0a2a3cb135333ca44285bbe4a61e3d546741be57b9383fa916373f5b44383d59b441bed450193f4c124b3f5aae163d9a9a14be60c4d83efba7503fbe53ea3c3c5cc0bdfc846f3e5343423f00bb903cd04470bda4abe53d3f9f173fe41f4e3cc1ab4bbc0373b53b8d8ce23eb198cd3a50ee273c9178efbc46c66d3e8ebe2bbbae4cad3c73d528bd2f97983d020bd2bb13a4e03c683e4dbdf21321bd17ce4abe442d1c3d0000000000000000084740bec935063d0000000000000000dcbf10be5a719f3c00000000000000003596c2bd6c40153c0000000000000000d38fb9bceace873b00000000000000000f1208bc6ad99ab90000000000000000487e473c81cd393b000000000000000023530f3c40759a3b00000000000000007f3086bc74e2133c0000000000000000ffdd41bbf74dc2bb6994b23b9cab033ccc7c2cbb4e4381bb2aee8db925afa53cc64b24bbc16646bb6b6e9dbae832bc3c990619bace1d1bbb7ea31dbba30fa13c1810113aec899a3ac606e1bb6117833c600e343a5c84543a6814cabb224c293c17224939f38d363bd93270bb4c20c13b92ea6c39f6582b3b409854bac946edba360884b926a40a3b65821fb8c00281bb4515d23b92fe03bcd4b770bb9833973ca2f6d63c9e110bbced60bfbb7a9b7b3cf4411d3dcd4084bb535899bbd6e51b3ce8bb193de9528d3be60e37bb99878f3aaa21fb3c0edc2c3c6acb12bb4babf4bb5cd9b73c8ab1363cbe182d3a37e0e8bb29bc333cd49b203c55a728b95a3a11bc38ba833b8d3ddb3b04d5623a9cf9f3bbd25e1ebb3e0cd83adf53153bb538ccbb876acbbc0a8d79bd269525bc1a83903c79c453bc8b250dbe2d0f25bd3af1a23c2ab2bbbb5d791fbef331a0bd2f1a8e3c9c13273ba5e60dbe3c15babd1fac993b2a0b4b3c5645d9bd63f0b8bd0bb1d8bbd8c1e93b0e6a8ebd1ef78cbd43a472bce33a793b533014bd2f5524bd475679bcd760683aec36edbb6cb540bcbb0f71bc8293473a2c7d043cc96d603cfc3085bb7988d43c324605bedf13ee3e8740753f0218f23c7d6df4bd4b91b03eed17823f512bd33ceefba9bd46d64a3efb897d3f66d3933c085b39bdd3e1a13dcfd95b3f9cdf683c2a2e64bc30757ebcc7532f3ff544ec3b0a2b7c3b58fd21bda7f8e63e4b07283bf2d36e3ccf452cbd0f10703e3b0c09bbe0617e3c5747e7bc1d83733d91e0e0bb6c62983ceac1bebcbe2058bdf26c77be56923e3d0000000000000000ad9360be89402a3d0000000000000000d40b22be20a9ba3c00000000000000005cbeabbdd83c483c00000000000000005aa2cdbc300a083b00000000000000009938533ca178d73a0000000000000000f62cd23c071e263b000000000000000048ff763c8bec033c0000000000000000043994bc5f5d1c3c000000000000000040bb57bb58ed64bb56cb5cb9e3bb233cf97931bb2b3121bbb42b99bbd900a23cf78ff7ba4e152cbb85e2c8bb73f8c03cbe6fc4bacfd254babc28d4bbfa47a83cabe4e738752d58b72185e0bb73cb7c3c7121913a79f6713ab34ba6bbcff33a3c148c84b9c1f7c93904fa0fbb0191903bf76b9739a608e83a521f93baf9d31839b2ba4c381aa0a03a02c46c3a92f38fbb8e06e73b542c08bce37a1fbb1ce3163caebce63ce1b805bcf64d27bbc6b2f13b34b1193dfa2a83b9110e34bb5fd5803bcb20133d7eecfd3b62397d3ab9d4b1bb7a25e13c76e9683cc5ce5bbace41edbb5c0ca13cc9bd573cedc9a33a721a23bc86b22f3c43c5283c69710c3b68b8e8bb5ef88d3bf2caee3bf054b23ace61b5bb5d2975baf5f454b85cc6113bd11372bb1135a33a0e8b97bd29459abbb3a7823cdcab653c50ec19bed25839bdd366993cbce99d3c075429be193ca9bd29f1473c4140c03cba3414be7062c3bd4ccdd3ba57efb43c5fd6d6bd3cffb7bd670e84bc11ec613c715e90bdf5fe90bddad99ebc513fa83b62600cbd93c821bddfd5a5bc284c00ba42b418bcbbca3abc4a5a79bc129f5abbc5b31a3c6036673c4625babb702f603c9e148cbd86e0643eb016923fa5e06c3c668c66bd2c45f13da041983fdb6d5c3c9a0c06bd29aba63c81b58d3fd28d0d3c8b37b1bbb73f64bdf108703fa559f23b5ce59a3b3f01acbd1bc0323fd02a8a3b9f9b723c8788a3bd0438eb3ec3a76d3acf8a713c8c5947bd2e4b633ecb92c3bad1bc003ce7e367bcab76333d48c547bbae70b83b1120e03a8a6e86bd8b7780be735e533d00000000000000008d945ebe37e3293d000000000000000026bb08bed912b83c000000000000000045b76dbde016393c0000000000000000cdda3f3cbe01da3b000000000000000000c2243ddade3d3b0000000000000000ae38303da6dae43b00000000000000001a72be3cad9cd63b0000000000000000168c31bc7ec40c3c00000000000000005f7aadba3b9380bb938e5cbb9bb5673cb5d11fbbc1d3d5b9ac9647bc5198c63c186dbaba09e5cdba853935bc9449e33c06fa0abb07b258ba12492cbcae65b63c580587ba6d7fd1b891c1e8bba1cc7a3c0771d9386f53c63866f4acbb16d1483cc8c5d238c7736a3afd310cbb426ac13ba815893aa28c8939bd43153af7c65d3a53a7583a90e8153adef6963a286d87bbd1aa5b3cf46625bc7c1059bb2ac8b93b2a8ada3c4c7c10bc5f51eabada4128bbac03183d7002103b85c5c9ba644698bbf8590a3d2a273a3cfa9b823a70580cbcda45d93c75a58f3c63f3373b813f3dbc12da8c3ca41a903c914e803ac5cb1ebc1a5b123c371c483cf4e4293b5ff307bc7e6b753b1d6dfe3bcfa3b03acb0c37bb99c6b0bab5e8ce38c364583af25ae5baa040c63ca428fbbd058991bbdc71933c20772d3d0ad324bee41f1dbd7ab5783c66ed2f3dade537bea5d7b1bd2663163c7713233d1f6515be85e2cebd92d804bceb4af13cf8c4d2bd7d32c4bdc72ab9bcec9c843c228787bd632e9abdfee3d1bc2bab393b75f7f4bc3e4e2bbd5decb5bccdced8bbe18cf1bb759a7ebc41df8cbc1b0cd1bbeec3513cce6b7a3c2360a0bbd7f7903a7b143bbca60965bc6badb13fa52c6a3b18d33dba564c67bda583a03fdae3cd3b0e641e3c1adef8bd6c84963f6b11a23befaeb23c85fe18be4836733f0f3b443bf687de3cb42912bef178313f23f00b3bf67fd93cf08cd1bd42b8de3e04ac7dba14a9853cb44539bdcc9b463e28e8ab39063c45b96910c63be388eb3c864c50bb452ad339ca9dd13cc2cadfbdd50f85bed4344d3d0000000000000000bd1629be4bad0b3d000000000000000015d9acbdf519493c0000000000000000fa12213b6ee9bd3b00000000000000006ae6813d1bd2ec39000000000000000090bfa63df396c33a000000000000000088a28e3dbead863b00000000000000003412303de024c93b00000000000000007f652abcbc99253c000000000000000000000000000000000000000000000000291209bbdef706bb85095cbc7bd6fa3c2d72e5ba92de89ba79dd3cbcea61cc3c025302bae87fbbb9067cf7bb582ca63c8280efb81ada4d3a4903fbbbfa76683c91ae2f39c36f2c3a248c8cbb49431f3cb2cb9a3a0dccca39c79a89bae64ca13b6433b23a912d0aba2101703ad055b8390000000000000000000000000000000000000000000000000000000000000000947af63ccec568bb41491abbbe6920bb093bf43cd85ddf3b6be263ba571106bc2253de3c103e833c4b86063ac18c23bcf949ac3c43ef983c659ba03a0fcb54bc2990403c38f1863ccc393a3bf73330bcd9e5c63ba3b24f3c7298693ab4b4dabb77377f3af17a9e3b019fb13a817089bb00000000000000000000000000000000000000000000000000000000000000006d126f3da2f94bbec58558bdcc773e3c883d5b3d3c4a25be5790adbdf20eb3bbe9d4213dc92e04bee756cebd5a16bdbc50130e3d5b16bbbd2b95bcbd35a404bd80ae833cedae50bd0cfc8bbd7c4c0dbd4209323bffbfc5bcad2c29bdc272e4bc9466c2bbb03ca93a49c008bc67b46abc000000000000000000000000000000000000000000000000000000000000803f0c8eadba42b6ff3c602b5ebeae5eb33f0c748a3b9842f83c86b453be1679903f0235113b74fb093d1b764ebe65b4673f46e9b23af3cc163d086333be0407253f7ac0753a19bbf43c31c9f1bd9818c33e5f9245ba83f9873c167845bdff4b2c3ebfbe00bb1e26a13b9912293cbb0dbabc0000000000000000000000000000000000000000000000000000000000000000803cccbdf86c753c0000000000000000b49dbe3c0f033db900000000000000001681c63d22fee9ba00000000000000008874043e516a113b0000000000000000d6ef043e87b3b63b0000000000000000efc1cb3d38f3013c00000000000000003084253d6d1d363c00000000000000000000000000000000000000000000000000000000000000000000000000000000699647bba036fbbbcbdd9cbbea54fa3c9abc0cbaad209ebbbf834cbc2a9f893cf29111ba83d7cbba8ebd5abc7ea2e03b1f02fb388d328c3a3ffc30bc427489ba5e559a398fa4db3a679dabbb555713bc0cb33c3a82cfcf3aedcfc7bac294a9bba538453ae43e9239f3f3123b767b5abb0000000000000000000000000000000000000000000000000000000000000000eff2083dca311dbc1f8521bbc8dd5e3d8d0f5d3db0b80dbc2dda28bc4713593da6d5633d6f64b5bb1e562bbcebe8163d2fae3f3d61b5e93a4f6451bc63c3aa3c2527023d34eee03b4a672abc77820d3cb0ea603cdd4cdb3b8be5dabb1ea54dbb014d98ba8c4ad53ba31452bb7a25f7bb0000000000000000000000000000000000000000000000000000000000000000e304e4bdb30a22bea5e4013c4d73e33b764b47bdbd0f30beec8063bd2b12ad3ce08f62bc48c014be7c37ccbdaef6db3c4cb7123c2001c0bd288cfebdd5bcb53cb1f2853c54761fbd00baedbd67bd663c12bf1c3c9c6780bb48a79cbdd16e9f3baa29ce3a5e3eac3ced27b6bcc9a607bc0000000000000000000000000000000000000000000000000000803f0000000045e5a23c558379bedbc3b33fd4b0283c2fe8ff3c988f8abe215a8a3f1e2d623ec76c1e3d41d185bef43e463f3a98b03e7ded3c3d4ded65be9ae1f63e64c0ba3e570a2c3d0a4122be4901703e3ba7973efcf7e83cdfb08ebde6827c3d802b2f3e387a303cbe30993aa84175bdd5989d3c00000000000000000000000000000000000000000000000000000000000000006fb042bd320f4b3c0000000000000000212968bdf9604abb0000000000000000f9fdf0bcf4bdc9bc00000000000000007a48993c5a6128bd0000000000000000fa278a3dcaa654bd00000000000000008277ab3d2ab72fbd0000000000000000a300983df0eeb3bc000000000000000000000000000000000000000000000000c8941dbbd987e8bb01b90d3a1e13ad3cc51d1fbbc0fc3cbb873028bcf2c4933c70ad86ba360195bad1b265bca2f0183c5faa48b9cbcad23a6f742dbc3a902abbb4ac98ba3039783bcc7998bb5c3f31bc82cd8c39a2b2b3398a72ff399d492abc8bf1d23afadef7389639e43a357cd3bb2d243f3a8ceeabb94e687a3ae6d3083a5b626c3a2077a63a96ec9439bd86b73ab9d6283c9aaac4bbfbbf22bb3db01f3d3d1d1c3dcd4a0bbcab2c96bc3d5d7e3d7f347c3dd88f25bcb7dd82bcec67413dbf596a3d3c8e623a9ddb89bcdf83d43c782f2f3db1e7e73b57ed73bc9d79f73bd10dd23c87983e3c765c08bcde35b4bb3e4a173cdb163e3c62248dbb81c115bc1eefc6bad82a913b3a5bcc3865a394bb049636bc32443b3b534f79bab150dcbb356cc2bdc2bda7bd9d9c153d994672bb039580bdb0b21cbe70ffffbb1012043c1c37cdbcb73831be84d69cbd73b9cd3ca4ddc63b8fea03bee8c802be0292cd3c5a98af3c2f9d85bd34c413be9a74923c5f29913c5e13a1bc35d0fbbd0e6ee03b088fb93bf8a42a3c738196bd81dad8bb6b668ebb55ca143ce5047fbca847ebbb9b0332bb0caab03cfdfac33c94292ebcd584063d72c977be0627b43f3aec973c98d3933d0c24b5beeac0a33f444d233e593e883d3098afbed3057f3f8efac43ef9d4933d224795beebdc253f7d2bfa3eaa748a3d19db5ebef4d5af3e25d1f23e212d503d5206fbbdac73fa3d9990b83ee041b83ca4cef3bc58898fbcd2ac443e5be2f6bb38faef3c5ee150bd821f083df5a704bc124b383d1be7babde577a8bd52eb80bd4873ad3c0000000000000000e3bf88bd73796a3c00000000000000007b61b4bd8647013b00000000000000006f0f3cbdaf6da5bc00000000000000000c8fc53cd39829bd0000000000000000b363923dde3d3ebd000000000000000024f6c43d12661fbd000000000000000083b4883d251098bc000000000000000081bcc93c7dbe753b0000000000000000a7d8beba239486bbc05287bb511e573cc9be87bafbd70cbba3e41ebc22cf403c55087aba8ade9dba05985ebc956b8f3bf0d3a53ae1370e3a76ec14bc5a70bcbb9b03113acb708a37a83154bbf49f20bcf518993a22bea3b9cd99ce3af0011ebc9da6833afdfd0c39c886a43acb3854bb9a79c5b99076883a5142fe39e58ee1396742063aa82f003908534c3a5eba483b8d78763cc7a708bcf6c0e8bbeb01163d1ade293dc56215bc7b2d8abc1a15463d1c786e3d4ffea6bb1f4450bc2246143d28614d3d8096a63b0cd484bc70f4843c325b153d5618443c277328bc13e7453b827c933cf64f813c5d49dbbbecdbfebbf2a9943bfdbe5e3cbeac5fbb41df09bcfe3144bb4b74d93b553bcf39de27b0bb18730dbcc3c00b3afe8a4e3a73ef70bb3f9d5abdfdd19fbd43dfbe3cc247073b6bc51dbde15119bee15fe9bc39cc6f3cf6f917bb981622be49c1cdbd3670d53c89619b3cb0ced5bda01910be7a189a3c9a47ae3c295c53bd6a5114be6ac6003ca463523c72ac4dbb43aff4bdf01c95bb4dbe393b69a2393c41b983bd1a637cbc37ec00bb7468fe3bcbe020bc2cb87fbc0ddfbdbbdcd2233ce64dd73cc8d8f4bbf151393dfdea84be174f963fd377853e2e48993d3d94b5be97558b3f40ced03ef57f873d2cc6a1be5baa4a3fc639103f7479923dd20c7fbe4337ef3e6d5e1b3f0cdd633d1e992abe1f75603efe39053feedc2a3d15099ebd9a77ef3c5841c43efc96843cad5119bc203d29bda8be363e7f6dd2bb669ce63c7c455fbd8043a33cd46f4fbcdc5a1e3d21403ebded97a3bdf88cfabd8983003d000000000000000068a308beeb91c23c00000000000000001714c4bd1aa743bb0000000000000000095fcabcccf5ddbc0000000000000000ce0c6e3da88237bd0000000000000000a0fbd53dfaf647bd0000000000000000fd36f33df4350ebd0000000000000000ee7d9d3d3fcb58bc000000000000000045fc3b3c451ee03b0000000000000000d03e0ebb9a5839bb38a8afbb76f5393c7ef70f3a9caf2abb01543cbc443bf03bc3e067ba6ecbf93a3e4435bcdea029bbcd67fb39d41a2fb85bd0c7bbd3b319bcafad48ba8e52153b98616c3a7bb53ebce26d69b829afce3900265b3aa62d07bc4cb9723a20b509baf933053a2d843cba57a52d39ddbc1a3960ee92390a4c263b05a9383a80a91d3ae830413a86cdcb3a7d1b9b3ce3a213bc8764c0bb4df9013de55d383d828b07bc90df81bccb93213d2c87613d6688eb372d9579bc55a6b33c8cb83c3d1634283c165a30bc051dab3bb0e8d93c24e49e3c602a30bcda4deebbbcf4553c779ba93c522c3cbba9e625bc613d97ba87d88b3cb5ea9b38e1aa1ebc2dc3cbbb0a05173c7134ab3994398dbb2c7501bcbd93c238773f3d3a0fcc8cbb0fc625bddba3b3bdbe37773c45d8f33b3b6445bccf5516bee00352bd3e9f9d3c787e933cd13509be036d00bec59dd63ce4dbd43ce847a6bdc06f22beb334853ccbc5c53cc793d3bc713f1bbef4f79dbbae8c4e3ceb73503b6e58e4bdc37c90bc539aa73a70cc4f3cf69957bddc22d7bcad2ab0bb34f7e13b0b5d7fbb1aabaabc15a887bb6665013cb121fc3c98b129bc5cfc2c3db59080be67ae7a3f9d70043fa82f933d6d04a5be6073593fd776283f112e913d9ad68cbe3cc6103f0328403f66b0803d914e42be58cc8e3e375b383fab535a3de923e0bd5395813dfc19173f09ddd93c43ec01bded8245bdd297c63ec29f023c8a41853cfd7f9cbda350283e276ad9bba389003dc5ac43bda23ce13a058f3bbc98fe073ddad014bdf366b2bda88742be2784263d0000000000000000b3da3bbebf25013d0000000000000000f1ded9bd9bd116bb0000000000000000f00039bb07b60abd000000000000000075d3c23d449d51bd0000000000000000f146103ed85b47bd00000000000000000872133e024205bd00000000000000008679a83dcdbef4bb0000000000000000c0190e3b10d44d3c000000000000000012e085ba900e3cbb70eec2bbd4c5143c4104d238cba440ba6bd026bce33ac03a44665d39b507b4b936730cbc9a1af9bb178d233a06da923a14397bbb54be39bcf5eac4b81a71aab9e52118bb0675f8bbb15f1d3aec7ec9bac760303b181ababb71bfc73af54c8aba37c1723a141373ba10ea83b91f497a3acb45413a6a3daf3ad75c6f397d648a3a54e373b93fd0793b231fb23cb10123bcc692cebbb8cfdb3c0b5b313dc6c0a1bb8e3d74bcd84ee23c10214f3da1b4b53be29a43bcbb642d3c85cf163d534a953cb6bc28bcb1d181bbc272a83c8fb0ba3c7c9b9fbb4b5cbfbbab2f963b9a02d43cb690c9ba741f79bc6ca17abb95d58e3c1585c93929761abcf866c2bbd21e033c3db9883a213ac3bbb1aa12bc5601c2b76a33ea39e77c05bb9b77c2bcd20ebabdda4b543aeded473cdd650e3cd44e09be34a993bd9bfbb63cac81043de0e4e2bdbad913be80e2a73cbcde0a3dc5476cbd19c129bec17d283be919ca3c1b49d6bcbf1b0cbe9af3a5bc240a673ca07f3f3c9030d4bd283509bd333391bad4e06a3c7ff027bd9b670bbd1d961fbb0f39ac3b62bd363b0cbfc5bc5b31dabb17fbb03b185b063dabc602bc87771f3d759e63be2be43f3fdbdb433fd98f873dce1087bedc1d163f10dd643ffd2f7c3d573d55be8e94aa3ed9a4693faa92593d9df7fdbdf7f2bf3de3b74e3f9c98163d26bf92bd6907c9b89b67113fb5c0aa3c5fb6b93b661ff1bd463fc43e5a03593bc91a063d0698b9bdc15e103eca9510bc3781013dfa9e2bbdce6e3abc462645bc12d9f13c4036a8bc5d09bcbd222375beb2a13d3d0000000000000000ede45cbe88ad113d00000000000000002c67c0bd84c708bc000000000000000045752a3dc15125bd00000000000000007f571a3e1e9b42bd0000000000000000a4cf3d3ee64044bd0000000000000000c4a6253e554fc7bc0000000000000000c8efa53db23d6dba00000000000000000b4de8bbbf3f813c0000000000000000de2ce039d1d856bb9ff0d3bb1355973b283e90377048923a70ae29bc1e2204bb49f0ba397e643d3a7d97f1bb5b8e0bbca73d753ae2aa83ba289b34bb3a3b26bc6f904a3ae804deb96ecbb03aec560fbc8a4a9b3a98e685ba7b9c073ac02d64bbbb9cf03965e7aeba8374c93a278dd73a5f53afb966dd813a63a626bad4fc423baea6f03996f39b396724d939df08663bbc60c53c0e362bbc4e3fcbbb5d74b93c826b2f3d026fb3ba33dc57bccf5f6f3cd324303d7acc4b3c5e7315bc3ac31bbabb45eb3c1cb4c33c21b996bb30ac4bbc113a3f3c39c5f93cfeca44bb426693bcea20b139aeaee03c5c8bb23ae53875bc90fadebb3068a73cd324013b0d8e25bc86c7dabb4f52033c2065f43a10a27abbd6e4f8bb851aabb9e942983a79d535bb22c717bc0f4fb6bd794e35bcd0388e3c8dd8ed3cd38cffbd8b1bb9bda2b1b23ce3c22c3d9102bdbd9b0c22be277d603c7892113d6dd92bbd3e9127beb94720bcee12d83cd00368bb5f590dbedadd09bd2b050a3c81363f3c368cb3bd2b7c32bd4d7313baf867343cbab208bdfdee30bd1bdfa2bbf686633bde0bda3bf475cabc5b04aebb68211a3a7872073d385200bc14ff063d1cdc31be795e003f147e7e3f6e0d633da89d43bedd0ba73ea77c8c3f0fa44c3dd7fe06be4348e63db2d7853f24601b3d654163bdaa445abd5a965a3f4850dc3cce4e9c3ad4871abef5511d3f928e203c626b213d2eba19be67d1b23e795d77bb0197383d33c7c9bd0f88f93dd2d11cbca8c5e93cb3dbfbbc3099b5bc6b602fbc139eb13c718f47bba3fcbcbdb9b287bee25d423d0000000000000000c3bf63be8c870d3d0000000000000000497889bddeac2cbc000000000000000061fdb03d59b820bd0000000000000000781c453ef01353bd000000000000000028d25e3edc5e22bd00000000000000005c73313e2bba87bc000000000000000046e59c3d8c90cd3b000000000000000020d09dbc819c983c0000000000000000d934ad39db3c6fbab0e9ebbb516c4b3be6201e3a7d7d2a3a5e4a0bbcd33680bbb14aed37326c603aa806bebbb31a1bbc6ec1253a06756f38838fefbaf2e11ebc72bd1e3a752fa0ba47bd38ba81edb8bbd1129b39b5adc4bae13dd83ac9fccabad5a9513a635705bae3da5c3aa375903a93db8038ccf48eb9d452dc3aa5f7233b0d999c39c4d20c3a395f8eb99640233b498bbd3cf2cb01bcd3b4e0bbcdf15a3c1cc11d3d7fdd2e3beea11abc932cef3aef7d193db5b7963cc8a402bc05b805bc24d9ab3c9a26f73c429e12bbae909bbcf8fbe13b6c10093d0ee7e638c68285bcb527d2bb1ee2033dc87f163b16057cbc56290cbc6fc8b03c6449353b3c142cbc6558cebb5b8f073cb9f68f3a8b985dbb093f8abb243629bb8a32363a6f37d9b982fd1b3ce31ab2bd9a839abca6e6903c1436333de4d8e8bdeed0d2bde2ed9f3c30b54b3d8b84a1bd73d826be11a88e3b9709223d64fc01bd410628be8f4bb6bc738abc3c193580bbf284fbbdea0c47bd8ddf223c6da24f3c48b49bbd69a264bdc74d8fba5b712f3c06a4d1bcb77246bd4834cdbb9798b53a5882183cfdd0dabc31fb9dbb4bca96ba43f1e43c2fad2bbb58d1c23c50d8debd9b78803eae37983f44ae1d3d036ed2bd921a953dd6c8a13fe3b9203ddc7888bd559176bd0b1e8e3f55c8d63c021ab63b43653abeaf2e603f88c27b3c1fa0063dec2746beae70143f2908de3a9bf1733ddc9b34be0250a33ed2aaa9bba1b44b3d302bc8bdcd01cc3d167607bcc235c73c11fa9bbcf895eebcb41715bc3701273c6d8d5c3c9140abbd85408ebeaf284d3d0000000000000000e06551be9816013d0000000000000000557b1cbcbaa197bc0000000000000000d7fd173ea1ac38bd0000000000000000962f743e1b3729bd00000000000000005b097d3ed3f606bd0000000000000000a52f323e83ecc4b800000000000000006b318c3d1363733c000000000000000011a7d9bc8108883c000000000000000064088639b1cb67ba644f0ebc075a2a3b50dea039e402113b3a3606bce535e0bb24240d397c88233ab0fa8fbb31110abcb3cd253a196228baf679e7ba522402bc60c7b6b8de730cbaf0f5a53af54be7babe5e203a55e6dbbaf038f63aa0492f3a5adc033a0ecee1b9eb612ab9439c233b31f26dbaca4bb63a40a3a739703e143bb5e23f3a2e3ae039700519bab07d283b7cc2e33c363ee4bbd616babb8c4bf23b1271083d9ef2113c484fc7bb8e0b5abc8898e03cdd3ed93ca62400bb8ad8bdbca0c24c3cb133183db929d039f110c0bc9bbb29bb921b1c3dba3b2b3b3ef0bdbc60060bbcfdde013dfb158a3bd18087bc43e10cbced52a73cd3e8673b843d07bc3885a1bb6f60dc3b0a419f3af8a8bcba6a855dbb62fd8abba371f3384319da392d9ddc3c33a8dfbd3a632ebd56b0cd3c6fa1813dfb37cdbd7d17ecbdd0b3793cb446743d9be67cbd41bd2fbe4c67afbb820a263d63aea6bc64ac1ebe134b22bd3b92a93c7319da3b1377e2bd4f3682bd2adb993b5b3a563ceb9c75bda96986bd655b98bb2eb4fc3be4e378bc7f5354bde040a0bb53062dbb9972123c1d94bbbc74c9c7bb6dcd3bba6a3ef53c6653423b5a25883c6c885fbd9f3a8a3c3cd6b43f7ca0bc3c9c3d70bcb8901abe97d5ae3fe087bb3cd20f6b3c551476be72a9943f7720623c973f633d88678abef511573f33643a3b546ca83dba2f83be6d8a073fc18bfebbd351a93db1a63ebebe4d873ecb9142bcae8e6a3dcdd4aebdb2fd793d3e12e7bbbda6383cc2364e3b287714bd0c94e5bba625113bc91dfc3cff8cd4bdbcaf81be61fc093d0000000000000000feac1fbe5adfcb3c00000000000000007ae58a3dc6cbebbc0000000000000000e722713e844449bd000000000000000082709c3e227726bd00000000000000002418903e8169a3bc00000000000000002df1383e710c073c00000000000000004cd37b3d39759e3c000000000000000057bc47bdc098a73c00000000000000000000000000000000000000000000000022d58db97ad40e3b8acd1fbc632180bbedaf22bafed9f63a9ace99bb2c7a1dbc908834385f9d7c3aeca0d6b9ff5a01bc12f8613ab6308eba86a7ba3a9874b8bba751d43949998ab623f3003ba28c93ba602954b8e63672b76a71b33a6f2a963ae9f31639627abe3a20d356ba37bd303b00000000000000000000000000000000000000000000000000000000000000003c1a0a3d33d96f3ccef2e3bbc62f2ebc2369af3c2480ff3c960237bbb7f5b6bc8a21023cb69b263d6c1c22bb8a6ebabcf6a537bb6335253d7c3c1b3b579bb7bc378c27bc45f2093d1e3e243baf3286bcfc4c28bc611ea33cecc4293ba81cffbb6bbec2bb0f2fa63b03f6d73ab96b40bb00000000000000000000000000000000000000000000000000000000000000004df9843d52eee1bd52580cbe009f3e3cd304773d90c146bd976124be84b5bbbcc38c2e3d85679bbcb4970fbe029166bd8bd5ba3c8650683bf0a0c5bdf39b9cbd739b023c2d8e413c96e944bd58af9fbd7982cfba40cdcd3b7cae14bc3bd366bdc290c2bb066a053a3f15aa3c0581c0bc000000000000000000000000000000000000000000000000000000000000803f63c8b83caa77253b78b984be1b56b43f83f3c63ca29d023d7e0e99be5d8e8b3ffe2f833ce279753d216d98be43b8483f2f4fd03b6541a33d8da485be683bfb3ec64ca5bbfc379d3dd15b3bbe000e753e6db70ebc9aca523dfdf1afbdfb1d863dfa4d1fbc7f0d9f3cf4a9b6ba3fbe6bbd0000000000000000000000000000000000000000000000000000000000000000f840a0bce9055cbc0000000000000000c084293e1933e7bc000000000000000065d9953e3607e5bc00000000000000001924a33e2a0bc8bb0000000000000000a9918b3e2166863c00000000000000007c77283e9478053d00000000000000000f71e53cdc07153d00000000000000000000000000000000000000000000000000000000000000000000000000000000b1e7803b73a0413b07a68dbaed529cba3221093b88f1453bb6198a3905fcc1bacb83263b3f07623bc8faed3ab7b4a2ba0d7b68b9c88b4f3b5775363aaa679d399e75043b50b7813b8981033be490dcb959afac3a68c54a3ba15c873b7ee13c3a0381f9392de36b3b38e6823b1fb15f380000000000000000000000000000000000000000000000000000000000000000d6b3af3ab455dcb9216310ba26211dbd2bd38038a55b0ebafe30b8ba0aa305bd92a7aeb91cb874baa3a215bb19abe9bc06ffd93a41b2483a74110ebb7f3dbebc292e19bab6ec2abada6388ba5b9b96bc662a8fb90ee6b9b63d07473a218a41bc5b8d86b9695cf3baea323b3b9c139fbb00000000000000000000000000000000000000000000000000000000000000003e5d6ebd8f5a1abbe6caebbaf8e15bb88c9269bda5db8bbba46ff639469aa33926a058bd2bbaaebb78b40a3b4360b5396e6a5dbdf418a6bb25677f3b018e833aee852abd1af3f3bb40de7b3b8e77e1392a7a0dbdf32beebb6a44723beda29fb8eacdd0bcad67bfbbeb73223bdbaa193a0000000000000000000000000000000000000000000000000000803f0000000000f26d3bfb26d6bca491893f0b5c12bc576c173b6e1281bc25e9653fc093743bc45cfb39d2fb60bc91aa3b3f8f18293ca7cf913be1177fbca86c123f7d15643c6065e4bad19ca9bc4de8d33e4eac6a3caeefbdbac186debc41a3853ec4ee443c5fa716ba34491bbd5affe53db76b183c00000000000000000000000000000000000000000000000000000000000000001c1c293bed6eb53a00000000000000009162733badcc0f3b00000000000000008274843b3ff41c3b00000000000000008e86e33bb91f623b00000000000000002a3ab43a9f6a273b00000000000000006cbbacba49bf173b00000000000000000b4e60bb8b281f3b00000000000000000000000000000000000000000000000038551c3b1ac3273b12078bbbf4a921ba14e0963b4718fa3b0aeb8839d47babbac7f2653b80e4d43ba8629f3a6b512eba05c4493ba0849a3b1157023b13bcddb91e8a0c3be4637f3b9b821a3b79235c39c2d81f3bab13a63b1c12af3bcba8f3393c98f43afa1d853b439bb93bcde39c3a6abf193a2630743b7ac2c83b0724383b9b2a49391fd2233b6eb4903bcb5e173a7dbb183bccc04f3ac665c03a312f17bd12d2c73a968995bad4044c3b4e7b36bd4719e13a04c4bbba9b48e83a431e1fbd42a0423a7018f7b9197953386b840fbd5f7f98b9cd6dc2bafda291b9269fd9bc1f1303b967901abaab1e033b7f60b1bc26a1bab8ccb935ba94b7153b198a48bc151ccfba9a92dfba62c88d3b427e41bbd35d8eba635d5dba6fb4793bd539f53a20d603bd52a0bb3a56858abb73c4413aef8a85bdfa22cbbb43e483bb73d1c039133e91bdfa9e17bca8a2ccbac509153bd4ad89bdffaf25bcb5c0123b0374893ab85068bd1f7f27bc8522663b74999b3a40c158bd1da13bbcecd4a03b133523b907a432bdda8430bcce19993b08239b384e6fefbc16affabbcdfe783bca259abaf27a54bcb1f083bbc3a9783b757b7eb92b46cf3bdd9556bdaa1a893f17b0ec3d22edef3bdb5770bda8c7803f5715e43d74a86a3b0bc626bdcfad593f1279de3d958c3e3b99a511bddb20313fb300cc3d97a59e3a778805bd0a6e073f2932ae3da8f2a03977a41dbd1d22c53e08a58b3d324eb23ae9a638bd4603743e57ee483ded333d3bc50649bd80bec83dc0cfd63c89f60e3bd3b026bd8b2aa4bc05d1d93baa9848bc0e020e3b000000000000000099e02cbc435ea93b00000000000000004e35a2bb94ee7d3b000000000000000016da2dbb7b98773b0000000000000000df91b8bad6fa803b0000000000000000b81f22bbb83b573b0000000000000000810cbfbb23c3573b00000000000000006fb004bc3635673b00000000000000004973f5bbe759ff3a0000000000000000a9b4403bbfcdc93a84ae68bbefd0abba66478b3b50b79b3be8c1d7bac8fd72baa045ed3ab2bf963be695453907c80dbb862d4a3b1451a63b4f681a3b20dc453accc8413b5cdc933b3464ae3a45099c3944bae538cbe59a3b1d74883be75f863a73f30a3be980a63baea67b3bb37d1d399c67a53aef1d4e3be1c3ae3bbf6e2f3aff362d38038b1a3bba25563b2348ab3a3a491c3b550d44ba27f53d3b744bebbc328c2b3b97bc0aba1547573bcdad23bd530aed3a88bb21ba760fb33a1d7404bd4769093bff8aa6ba59ef9c3a4ee1f7bca3c7ae38430491bafe3fea3a0da7b4bc9ea25b3a374503ba35d8ed3a52f48ebcd99268ba737d2e397506713b125d2bbc451fa7b9c68fa9ba67427c3b687404bbefba9a3ad8e594ba21f0873b21e16e3a728fc0bc1543193b8212abbb4c8e223b617053bd4816b3bb594484bb335fcd3a096760bd05512cbc790a1b39cda7fa3ac9a47bbd19de4fbc8a0ba93a1998a63af11945bd1a304dbcf7615e3b8ee1db3a069343bd536471bcfc1b9c3b1a588d3932f519bdf92040bc4f53ad3befa1c63aa16fd0bcd38525bcd64a933b18d6bdb95d6832bc89a939bbbe1a543b11e8da39064dc33ba8c95fbd8510663f132f873ebb850b3c569986bde32d5b3f46ca803ec946bf3bae063fbd5cba353f56b1673efc9bbf3bdeb146bd4eba193f13ae463ea5392d3bc17b20bd739ee73e95e4203eb0e12e3bb4e439bd997faa3ec4ab003e268fc73a973d29bd6e8a523ed337af3db874863b23144dbdd0c0b13d0faa423d1f1ee13a589f14bda23468bce738fa3b3906bbbc5457833b0000000000000000bb2fd0bcbed4a43b0000000000000000ac3276bc2033aa3b00000000000000006dcd3bbc4a59943b0000000000000000fc66dabbf0e69a3b00000000000000008c450abc58c08b3b0000000000000000bafaf3bb33af8b3b000000000000000042221bbce61d593b00000000000000009065e7bb7ef1d43900000000000000007017103b03f6b43a80e47bbba40e8dba9d68533b58c57e3b8c2c28bbd913b5ba1782413badb78d3b602ea8b855a151baa4c7253bf2968c3b5e9465392d12cfbac5b8f23af5565d3bdfaeff3ae599033a3f75ff39ce58613b32e2863bf0ad703ae929683a5469743b5d959d3bb2c6823aeeca113a3e56543b737e983b3564033a1ea7153a791f083bb2ca463b438ab6392a42403ba682513903450d3b5be3d1bc31d91f3b618764370d222c3bd1010bbd746af23a6f5f82b95043d33a000af9bcb20bf13a3f91a1b932b1913a31ead2bc4c33213a885d09bad4e90a3ad293a2bcf4be533a4e323dbac5430f3b46585bbc68962939a77fb6ba1487283b7e60febb979f69ba7870beb9c36e673b74a3a9baa77faab91ada60ba480f5f3b24c0203bc268a7bcd249453bcf497abb746ad93a607a3bbda16e02bca5d461bb8776183b0f4660bd6d0a83bc0a2723ba75a0053bb33c5ebd65f399bca7ad0e3ba4a3163b77bf45bda6049abcbb683e3b5243fb3a2e8f30bd41f098bca59a683bb662c13a11c40ebd813c8bbca87ba83b742f123b80aec0bc520a48bcb711ab3ba144a03a817e24bc1d23a0bbed71703bd3f09e39d9adc73b332446bd200c3c3fa8c6d53ea432093c03167abdaed4323f8ca2cb3e9941ed3b07fd4fbd5ec9193f0fc4b33ec3e3923ba45f38bdf66cfc3e7793983eb944833b2a9c28bd41f1c13e7daa743ef0088a3ba79b31bd2e288c3ed190393e8402293bd81137bd2f322b3e5e6ffc3d498a7a3b12c731bd8cd48a3dd152853d2485ec3a5e49f1bc2f1680bc9d991e3c102108bdb9227d3b0000000000000000d0f016bde15bdf3b000000000000000034c5d0bccfacd73b00000000000000006ba491bcb515de3b0000000000000000923a43bc2348be3b0000000000000000ae2a16bcdd69b33b0000000000000000a06317bc7a2c8a3b0000000000000000888b18bcb2ba453b0000000000000000791bafbbdfc00e3b00000000000000002910433b854b733aefce84bbcc4997ba35cf633beda5373bdfab27bb79daa9bab933583b011d4e3b05c16339559b68ba11e503bb7ef1fa3b71ed0dbb2099cd3b1d4059bb968cb83b3955a53bc5d257bbb984843ba3d829ba9a0cf03b211a62bb25bf91394246563b7f5d683b2e88c33a1f370b3a6e7a403b937d883b31e87a3a7fce92388bd8cd3ae6d4313b675db7392863293b9fb86939eeb6663b34c5afbc01d5033b7949b5b9b02a693b144bdabc0900e43a90546c3941080e3a811ebbbcc852c0b959c98cba55139c3ba92a84bc526a743bb4e266bbe9e9863bb10a12bcbbe3883b9704a3bb43c0c13b4a236dbc5afdb438fb1c31babdf4fd3a3c6a92bb1ceceeb8f336beba3d29583b5b94f338f18f0cb95a7383ba5014353bab33213bb16cb6bc2d57473966117fbba122e53a3fb42fbdae7655bc9237efbafe84d83aba2641bd0edea9bc65d8e337cab80b3b22525bbdcf06e0bcde4a9eb99c7c9d3a57f41cbd417db1bccd699e3bc0caca3b611511bd6a10e0bc301ddf3b35afaf3ba782e8bc8fbc95bc9742283bde47743a0b84a3bcec3c5dbc9eb24d3b9f2e3a3a372e12bc6bdcb7bbccf83e3b7882f439d8a9a53b0fb12abd9a01133f862d133fb47bea3ba1e44dbd0dd8093f734c0b3fd835bd3b861c23bd8b17eb3ec17cf03eb1fded3a59df2cbd1050c33e8b22cc3e067925ba7e9efcbc89c7913e7298993e55d5503a75a126bdc0535c3e355a723e64453a3bdb3d0cbd2cdeff3dac571f3eb8a0323bb1430fbdc2873f3d62a1a53d32e2243b4c71c6bc83778cbcf65c0a3c5f8728bd64d6a03b00000000000000005e6539bd7102123c0000000000000000f81bf0bce7a7ea3b0000000000000000d53b88bc6027a13b0000000000000000bce55bbc9a421e3c0000000000000000f7aa66bc6bd0203c0000000000000000fd73f8bbaf7b763b00000000000000008e66e7bb28163a3b0000000000000000ddee8cbb86d4ba3a0000000000000000a810c03a1219d43a6d2f39bbb2ffa0bafb96133b44ee8a3ba6cd48baac7f7bba623ac13a75a4933b4c66c23a071328b948f2223b92cf7f3b65413c3b2d2247ba7057913af646503bb5f1283b4b0cbf3af261663a3a3b7c3bfbf37a3bd499df3a744a2b3aa897583b2ff58d3b8fc4fc3a719e97399b072e3b8cb9863b4426e63a03e9ea384bd4d03a2df6213bdba37b3a11a9243b77e0493aa344e33a876583bc27e7043be486b13a38290e3b758aa6bc9f10a93a8e3710baff51663aacae94bc8d42aa3937dbe038f4eff139778572bc2ef7243a9983d5b96810603928ac38bc7d3b1638fa9020bab507b13ac2bae3bbd250d33a252492ba2091c83a48321ebba87535b87f129bba6d851c3b8f49083b886ae6373dd86dba58def73ad4aa653b7191cebc1cdb8abbafc381bb596cc63a6fc43cbd7935bdbc2be895bb03aaa83ab2e953bd28b709bd337bcdba267fc43a754948bde08916bd96ea913acb51393b3b642dbd590305bdb2dc0e3af8d7f43ad5e216bd0a19fdbcb07f1a3a272efe3aef8ce5bc2154d2bc34ee6c3a8d38d83acf298fbc83648fbcaf5d023bfc25963a94faefbbe536e8bb1cc6213b06752f3a8446a03b608607bd20e3d53e5e4a3c3fb336e03b412f2bbd57e7c83e4b60343f3998c03bdcb70fbd2bcfac3e95c41c3f0540ab3b87b710bd85058e3e3b56013f4ed7663b1b83f2bc0784583e64fccb3e1d88323b7c61fcbcad40163e1a12973e3dc61a3b988bf7bcc334a83db2d9443eca192b3b99c8e7bcb444b43ccf01c23d2910d53af85c98bccc99b6bc202a9c3bd3c946bdb05c8f3b000000000000000082df63bd46a30a3c0000000000000000f2331ebde5ce1f3c0000000000000000f986e0bced5d103c0000000000000000166481bc9e4fcd3b0000000000000000903335bcb824aa3b0000000000000000184403bc763b693b0000000000000000ef62d3bbfb40103b0000000000000000689772bb3e70233a0000000000000000aac12e3bc79e993bb17e3ebb808f0cbbb6b8bb3a5f2e983bf6c5e43a51353eb9b2bc003b9b627f3b18660d3ba8f023baf123d3b87fa7a83b58c9953b4cbafb3a79a3cd3afbe99a3bad69513b28b4033b4c9a89b93afc953bbda1813bdc71633bfe1ea9b82e3d2d3b534c963baf11363b50830e3962cd093b2dc5853b7a98413bdff912ba9179213ae411ef3a197eac3a7270f4399041a53841e9083be51432bc3d1cf63ae5f7b2397486a93a92295dbc988ef73a38d9e4391632fd3aa5951bbcd684f937bbaf14ba982b133acb1117bcba5e66b97489cf39cae9163a3acbefbb7d73b13acd6e64b8a36ed83a05c32fbb1c47113a8e4454bad1a6723af1b381b697daeb3992a65fbaeb9db43af5ee883b589764b9c7fe0eba4a27153b5547863bbec3f6bc87eb38bc570280bbfe0a143bb7f648bd9c0215bdb8c9b2bb0e5e703ac78843bd6e8c2cbd445390bb79f1103b9d5849bd56113fbd1bc0f3bae184033b80cd16bd20581dbda5780abbf75eca3a1ce30bbddb9122bdb4cc5abaf63a4a3bc925c6bc0f44eebcb3b570ba7638fe3a5d0963bc7e30b0bc16239d384e159c3a39d450bba3f317bcb47b4e3a509e103ade576e3be3b2b8bc0819873e2538663fa5d9b73b052decbc97f5793e11105c3fbc82943ba779bfbcfcdc573e6b6b373f5aca3a3bd381bcbc96a12f3e4efd1b3fdf6f543be5aca0bc70e2023ed55ced3ea5c23d3b4a6abfbc2ab0ab3db4b5b03e6841e93a8d51a4bc04b6313db2a5633e6f6aad3afc97a2bc67375cbbf261d53dd64feb3a0fd940bcfa48e4bc9e2bfeba720365bd4e31d23b0000000000000000277c71bdd0e1193c0000000000000000baf20cbd54e0d53b00000000000000009169c3bc065cf33b0000000000000000128051bcf496af3b0000000000000000ef8213bc1837723b00000000000000005924b5bbd13d3b3b0000000000000000b599b1bb1515c73900000000000000008ef179bb60ff5dba00000000000000008004883ac2f75d3b0ab63e3a58c209bb879aba3a3adbb53b6b2aac3bfc55843a3f54743a2b17a53b095db93b16b7cc3a49fcad3a984d923b32e9b43b6a6f183b4c9dd13a3e4e5839bcb1843b78a58dba73802639f98e673b55abbb3bdd7a6e3b9e366238dbc92b3b152ed53b1d098c3b1dc289b938079a3aa3bc823ba5d0c23bf8a86aba841d83b928d23c3bf145443bc6046c3addf2983a3e4b413abfa9a7bb68d0273b4400233abc728e39f1d5b8bb2ec9323a46a73b39f3f045ba881cd1bbc01e28b82eb9fdb8fbb02b39a05d90bbf8a4353b34e96b3a44d7c9399416e4ba6f6dce39a13290bafd8fd5b9658a81ba7d845ab9be4da9ba11e40f3a5314783b13480c3acff321baf68e3b3aa013b23bdbdeba392dc39ab92ae61ab92b16e23b383019bdad12debcef0ac7bbf4b0a9b9eab352bdf0926cbd748d1abcdb94e3b9ed074dbd1f7181bd472dd6bb0f9b0c3a65913abde6337bbda310ddbbe8bc033b9b4807bd5d5c68bd6b4d8cbb4f9ee63aefc0edbc8ae542bd8f83c1bb8da50c3bf9e59dbcbb531dbd64c59dbb63b69a3a8b1516bcedaaddbcfcc14ebbb608bd3a373e3dbb74153ebc6d491bba021e3e3a844c5b3bb4cc3bbce3afec3d2afb883ffec6683b810360bc0c7cd63d1ed0803fa5b45b3b9caf49bc7583be3d88885a3f099f023bf0dc42bc5bb9973d1a58323facd0cf3a0b1731bc92bf5c3db31e093fcb2d3c3a6cff53bcd361d93c9bb9c83e191347bafd7f61bce9151dbade6c7a3e1177b73939642cbc16c4dbbc65fada3d76ded5398090d4bb76bd19bd4ad359bc87595abd588fad3b00000000000000000ba653bd5029063c0000000000000000d3c2d8bcad79f93b0000000000000000032c6cbccd43de3b000000000000000001fa72bbf4f8b83b0000000000000000a58e43ba6824533b0000000000000000f3b4923908559f390000000000000000948f55bbb3aabdba00000000000000007a6819bb5c2703bb000000000000000000000000000000000000000000000000320c833a372d433b49cfa03bb0ce5dba86053c3a608b813b93299f3b3dddf439648c90b9ddee743b7d0c933b1980cc3aaaf27f3b11b5b63a52b5133b15bb503a85a19ebaac843e3b9368943b6867903ba97bac391396d63a3e04793bcf17543b4a2b50b965ae803a9be8613b71b8863b000000000000000000000000000000000000000000000000000000000000000025819bba7d908f390eb096ba58dcf8ba12a12fbaa95a5a38d76e53ba990d1ebbacc79f3931273ab953d2babaa3a738bbf6fff2ba11a687bade2266384e994abaf5f3d43ad23c22baa1cf4fb9673a95ba815d8b392e5cf4b97d3ad1ba4f01243b7cd3f939071498b9386b6139adc99b3b0000000000000000000000000000000000000000000000000000000000000000164034bd8a1e69bdc705dbbb258cc1ba6d6f16bd839e6cbd8684fcbba29448b9d59301bd644655bd4069d1bbc31aa73af82ae9bcd52346bdcbcd2bbc1087a6baeafc9abc2dda24bde1b6eebba0d5f23a23b447bc255b09bd3101e0bb0c2bd03a70b19ebba896d4bcc8f6bdbbe45d8d3a000000000000000000000000000000000000000000000000000000000000803f5ad53a3b9dbff83a85c07fbc3fa2893fa15cbb3a9f4b20ba062a0ebca24e663f0889973a7aa323bba9c402bc10ed3b3f1ca3093b4caa5b3aabcb61bc58e7103fdc0099b872b1dabb06b495bc72e7d33eef7624b9c07d9cbb63d7d7bc6725863ed65076ba055690bbcedf18bd6baee53d0000000000000000000000000000000000000000000000000000000000000000eb2bafbce731873b0000000000000000d996b9bb0edba13b0000000000000000218c1d3b7b35923b00000000000000005196073c0a9e0b3c00000000000000006062fc3b2dc41f3b00000000000000009a66ce3be5128c3a000000000000000025b6223b347dbaba00000000000000000000000000000000000000000000000000000000000000000000000000000000eb2b403b571b8cba29ab02bccc8e8ebb67be003bbff406ba58eed2bb55ccaabb29d7c33a1d98dbb8943dacbb7923d9bbae12743af1f1013a8a0d89bb1cc8a3bbb4f1023baa1ad53a6d6313bb3e129ebbd5c2073befa3263ba661ebb935ab83bb0a1d243b9052833b3e7ee43a93c25cbb000000000000000000000000000000000000000000000000000000000000000063590c3a5c9819ba372aabbb58db13bde5bfc8b9c83eecb9e065c0bb88c700bdf516d5b92b8cc1baae6ac8bb85eadfbc5963acba1d898f39f1e8a8bbcd63bcbcfa5ea3ba39462037663b6bbb82d99abc04f0bdbac659f539927eeeba99555cbcae1e9cbac35a88b8e879ab39219012bc0000000000000000000000000000000000000000000000000000000000000000c40ff0bca3f8373ce7534b3b61113e3b668100bdcb9df33b950bab3bb602603b7d8700bd85918a3b635ccc3b0ac1823b884bf0bc5418af3a3cddde3b1b72713b0ffff1bc5b21e9bad9bcca3bd0ae4b3bd717dcbcb49786bb27e99c3b30d3d13ad715c5bc91f2a7bb3f09953bc20dad3a0000000000000000000000000000000000000000000000000000803f00000000da24363b4ffd0cbcb9947d3fac34f03badf5643ae357e3bb68e7563f6610653c3c04733a7e2f0cbc8240313f7a9d9e3c7f0444bb097a46bc82a60b3f309ac23cb5ca89bb15649cbc8e75ce3ecb61d63cb9ab8ebbba12d5bce5c1853e3cb6d13ceb869fbbd25412bd7d8ef93d6e8acb3c0000000000000000000000000000000000000000000000000000000000000000feacd63b66569b39000000000000000061c6093c839ac63a0000000000000000c3aa193cef321d3b00000000000000008569163c87f4563b0000000000000000f721133cb1df9c3b000000000000000075f6d53baaab973b0000000000000000ca65a23ba47fb33b000000000000000000000000000000000000000000000000dcbd713ba5b5a1ba66591fbc680d57bb5c2aad3b9d738e3ab1df0ebc678eabbbe46b8d3bd961be3a8615dcbbf968babb8e2c3e3b882c8c3ac972c6bb0ba4d0bb394f0a3b53b8b43a3ae58cbbfa2dc6bb8d305e3bce70513b6b6de7bafe6fc1bbbbfb5f3b5b1e873b3a48903ad81ca3bb1fbe723b9ca0a93b4e2b533b195b7ebb10200e3b6ed4843bcb4a253b34a348bb72e3f43aceaab0b93f3c3abbbf0405bd21362d3abd82d4b9cb0256bb561f32bda09c08b95b4791b9649cd1bb6adc25bd87779cba4c7f12ba65b4bcbb45a00fbdbc71b9ba3ba2a2b93cb89bbb77f3dcbc13b1f6ba544492b9c4604abb27cabdbc5667ffbab5c234ba4e1b28bac55084bc5974fdba993240bac2922b3b32850cbcbf25afbae9c8e3b9296c4d3bc6ef3fbbbcf787bc3b345e3cb968843ab5d2323b20e015bded68433c46e5133b3e89553bbed723bda38ed13b6e53c53b5d6d9b3b0f722cbdf6ae5e3b90dce83b509e923b0dcf17bd10a189b9479fed3b11bc893bc0e81dbdda7781bba3eae23b93a7653bdd850cbd467dd2bb878bbd3b7ac6013bb992e7bc91ebeebb9e4e873b0307f639aae48cbce87ba9bbf175373b86ee9739265b7d3b47c6aebc0ad87c3f7574033e9fa8953b9f69c8bc433d673f677a003e7dfbad3a7fdea6bc95d0443f2916f43d96babbb87ec1a9bc963f223f5a10e23d416d12bb8cb8b7bcfe51fc3e6f37c23de3b772bbbf8affbc367aba3e468ca93d99067bbb7b051dbdd4966e3e47bb843d843c1bbb94d53abd1e5dd73d90413a3d7510bdbaf7001abdd8b035bc1ef7a93c0b8917bb5ad90e3a0000000000000000ff34fa3af245f83a00000000000000009b66eb3bbd09fd3a000000000000000047d6163ca1e18d3b000000000000000057a01e3cf9f3a43b0000000000000000f4321b3c83edd73b00000000000000008f6bec3b2e77c33b00000000000000005985763b2aacbf3b0000000000000000216ffa3a24faa43b0000000000000000276a013bc9421bbba4df17bcba2d5ebb9bcd8f3beb3951b90fcb20bc1bb6b3bba39a203badd10a3a02f1f1bbdc1dc1bb4f68453be984b33ae921c7bbe41ce1bb697afc3ade1a8c3ade9189bb4d75c4bbe6d26b3bb902523bdba8d5bab56dbfbb9b79b23a124b413b2c065e38fa33a9bbc4db6a3b7788a63bbe6d303b61458abbac21133b2ead683b9ca4213b115c43bb2b44e43aedc0c1ba7d0dba378c93e2bc5807893a3c869ab9ad1a2dbbd93521bd0963c3b8c7f68fb9daad75bbedd204bd6a8095ba9337f6b919a693bb014804bde8cbe1ba5b83793a48267bbbe1f7c3bc2dfe09bb1eaf73babaf60abbf1f9aebcd99516bb0ea63abae03a4eba091162bce4ae0dbb75a526ba31e2703ad79b15bcf3fee1ba85a16aba2b28433b5b7b08bb92488dbc7e7f453c88fc5c3b2cb1a13a37c109bdb9b92f3cf495823b06c0833b457512bdf4df893b64a5c13be0fb843b2f132abdbf37a5395d65f43bfdea973bbeea0dbd8e214abbb9b4df3b71bb7e3bc99d1abd1e2fe5bb60b2d93bed75653b8e80f7bca80dfbbb9df2b33bbabf3b3bb9efd9bc58b50dbcd1a88a3bf7918d3a45647abca9e2babb8c27173b862f3a39fcefb93b2c0fbabc2bfe563f7541893e7090a53b63dff1bc72a8453f3bb4803ee0d93a3b6f0fbbbc2be7253f9fba653e5be54f3a7633d9bc3ba20b3f2f584b3e17baafba4331d0bc6686d73e75bc253e91071fbbbbd10dbda0ad9f3e5a12093eabff16bb92e40dbd0bcf4a3ea3f1c33d2abb6cba2fd330bd11edb23d220f7e3d6836b536b63e05bdad6940bc0f9b9d3c01f805bcb4d82b3b00000000000000005952a7bb3bb6813b00000000000000003ea6b03a6418953b00000000000000008ff7bc3b5168b73b0000000000000000ff42003ce1f9bf3b0000000000000000cdea0f3c733ae33b00000000000000008a8b083cca9b023c00000000000000000f37ad3bb9f8d13b0000000000000000d21f263bcc358d3b0000000000000000d0403b3b50cbb1badbf10abc4273a3bb77a0723b17e64ab9605921bc2581d2bbf6773b3bf28acb39cde200bc1f9adcbb07f6353bbf44e43a86b3b8bb0962e4bb9dd6303ae1a7093bcba95cbbb947c6bb000bbf3a3b231a3bec1855ba4310c4bb51af453b98c58a3baaab823a6ebba2bba4192e3b7d27993bc064253b65c284bb4937053b1621523b5494013bc64b4fbbb224093be5c6ce39102e92bab687c5bc069e2f3acf7578b83afe1dbb059109bde3e2deb9a3241aba47fd83bb8b7702bd460ccfba198f0ebb8f477ebb1c5ce7bc0ee3fbba03a640ba7ca454bb954fb8bc9d7f57bb9f32ab3a7768b9baa36394bc5da83bbb6876aebacafa5e378cef47bc3d1525bb02452cbbb3a1003be4f9c9bb7a380dbbf11b92ba60472c3bcc65dfba4a3b8bbc3eaa193ce56f5f3b12865d3b25780abd1337fa3b2623b23b9a8d7e3b915822bd05b45d3ac559ef3bf041923bb42028bdc02e8abb1d5b013cdab39e3b454418bdb114edbbad29ed3bb718923b878f15bd0d8329bcd6a2d23b4003713b6f9d00bd2a4a3bbcbd4da63bbb701c3b78b3ccbc384033bcdd016e3b27f2b13aa2c064bc0eabe3bbad7fd83a66f29c390aa0a13bc4e8adbc207a313fbe95d03ef6d5a23bb8dee5bcaa33233f4cb5c23ee134483b6399d1bc35e20b3f5c5fac3efb67a93ae5d3dbbcb703e73ed6d4933e381e81ba46cee1bc11a7b33ee723713e97ecefba33de07bda60e833ec4d83d3e0ab809bbbd5c1bbd8342233e1e66063e0da89eba86931cbde16e883d072b9d3d23a80ab9b0a0e0bc163d64bc73d28e3c3aee53bce8905c3b0000000000000000a61734bce322a83b0000000000000000f3600abb05acc63b000000000000000074be6e3b8c73ea3b00000000000000007010ee3bcd13f23b000000000000000041e6183c8ec3f73b000000000000000056f5173c863cac3b0000000000000000557bfb3b767bc83b000000000000000004ba973b5e207f3b00000000000000008c98c83a8ef79aba4b8b07bc503690bba2282c3b0d57ee39953a0dbc4533d5bbb39d103b804f57ba5809b6bb47a7c3bb2edea43a2f89c43a724698bb80f0e6bb56226a3a0b88833af1b83fbbd300b1bb9bf9143b9ac5493b349310baed5cb6bb83c5fc3a11bb773bef7ca9b94ae671bbd0d9cf3a4c097f3ba2c71a3b88677ebbffd4903a564f473bd2df033b516637bb760ea43ad22f323923fc9aba71bea1bca13e4fb8459603ba872b33bbb778dfbc00d239ba61c984b963945cbb606fc3bc68fc1bbb93f58bba776425bb69c8c3bc1d3400bb810c5dba67ff41bb7dab77bc842750bbbf6dc3ba5c620ebb894176bc25b519bbd88462ba370a4638083124bcb5cb48bb2548abbaba12973a69d182bbec0914bbb86b7dba609eee3aba9b06ba2b50a3bc090e063ce9358c3b964d233b967010bd6dd02b3bbaf5d23b1f73683bd8a816bdb6e672bbd8e7013cf902943be4ec26bd355f20bce73efe3b6cfb8d3bc98be7bc4a0313bcea77c03be464713b1b850cbd9fad6ebc6cabae3b44bb4c3be0cbd3bc491f71bc24b09a3b860f593bd51ab2bc13005cbc1fad343b8547aa3a59aa47bc22a908bc38eda53a779efa3926ac743b43398fbcf52c0c3fbe770c3fd7c3843b8cefbbbc9e41003f894f023f075c833a0a10aebc70f3d93e69f3e13e74d4fe3a38e0c4bcef46b53ef5c2c13ef7facfbaaa489abc9e0a8a3e9c01963e48bd1abb810deabc93f1493e32bb703e5f3f80bbca29e1bc8feff23d874c223e2762faba6481fabc78e9363d57deb63df44b36ba06bfb1bc161591bc6f8a733c0fd488bcfb6b6e3b000000000000000006ff69bc51e5c63b0000000000000000163749bbdd6ab93b00000000000000005a75113b499b023c0000000000000000c7c5d13b5e50d23b00000000000000005f81283c5038043c0000000000000000dd3a1d3c4f42bd3b0000000000000000a8f1213cb5a6af3b000000000000000058cad73bd5b75c3b0000000000000000ff06db3ac4a63f358374e2bb23489dbb8f79403bf300fc3aba2ed1bb002de4bb71be433b84c33c3b0b2b80bb004bdbbb1319c33acdfc933b454c9eba3a5ed9bb8d4dae3a12cc203babf28bbaccb7b2bbc7d3143bafd17d3b45adeeb9569286bb2b80de3a7dd9743bfaf61d3b04c95dbbfd93db3a633c813b5b90733bf4d523bbeb8b9e3a96e93e3bd6794f3ba9bf83bacfe44e3a3deca73964e5b3ba9ede80bc600428ba26ebbab9071434bbe9bfb8bcb212e2bae737b2b9026577bb8f81afbcfcbf59bb1e6485baa09198bb8a90a2bc387d47bbf3ab9fba748a57bb5c9c79bc502f9fbbd73580ba0d0f00bb6c073abc7d0464bb3a469eba2fbc19ba7c02d9bb36d862bb232a93bad64bb03ab3e4caba6c5b13bbdd5b1ebb0459063baa6860bae73bc9bc7429883b9fbf9b3bed8dd83a2d6926bd2a1f98bb88b0da3b0e931f3b8c6c33bd3a3552bc69b7ee3bf7075c3bb06b30bdec7b9bbceca3d73b9a1e793b00c914bda22295bc8ef6b13b56a56d3bf00b07bd399ca3bc61de863b3d26663b35d7dbbcfe829fbc0d700f3b350b0d3bee78a1bc5be88cbc39e5833a0a037f3a257625bc4eae23bc593b5c3aadecafbad40e3b3b23a85cbc2fe6cf3efd97313f07cf563b11b399bc80bfbd3e05fa243f393eaf3a499295bc202aa23eab580f3f281d43bae4a5a2bc9afd843e354cf13eeb0e00bb0ea4abbc8d9e4b3e4aaebf3e652a50bb84f2c7bc71e70d3ec2dc913e7dbf79bbc2f3d0bcf30da03d5fa5443ed06c3fbbaee6d2bc06aea13c8bf1cf3d8b2288bac4c78bbc97b8bcbce0503f3c287faabc1c0a923b0000000000000000fdfa9bbc21c9ec3b00000000000000007ce6dbbbd423073c0000000000000000bfaedf3a8692063c0000000000000000194f023cea4f033c0000000000000000a14d443c0bb0ce3b00000000000000000d0d553cc49bce3b00000000000000000182483cdb7d893b000000000000000025b6ea3b066a573a00000000000000009f02153bbbfbc73a8c4aa2bbec32c0bb55576b3bb1f4753bd71566bbe381f2bbdfca1d3b2c4e1d3b77c66bbbc53119bcf926363b30ed8e3b0289e9b78994b3bb1c1aa83a2da7373b9121823879d493bb5a39073b0260823b12dd2e3b9eaf58bb92c5853a8709613b3b7d623bcf39dfba5fe1843a0e5b613bf0d88e3b446567bae676013ab582ac3a4e5b7a3b03355138179af2b9dc542cb90e13e1ba61d33dbc80de1abbebdf1e3aae275fbb87e28dbca7b3d7bb82faaebb401acabbe22e9abcaf1456bbe2c996ba5a167fbb23307bbce9b56abbee4625392b6157bbc8d536bcf77e75bb304fd3ba1ebe10bb14a309bc568a46bbc2a8a7ba9d4162ba66d780bb9b344abb2911adbac09a193ad4a66f3ad8c904bb5de382baf167893b614ef93ac9ddf3bcd584efba74f1993bf8ba083a6cf13cbda43877bcacfdd53b8e63b73ab88616bd7ac987bcb346ef3b2e72793b193f30bd22a3cfbcd90eab3bbcbd2d3bd24805bd3217babcb2415d3bc6d43c3b091400bdce1dd7bce9b7e43a6410263b4653b8bc774cb5bc62dc363956aacf3a7fad86bc5399abbcc68c52ba6b27103aefe0e0bb321341bca01433bb9ff901bab492233b66410bbc29ca873edbfc563f6670373b94013cbc11f6753eb7d3463f5642813bcbcc12bc4d65523e9d58283f3754deba26c573bc8a3d293e0eff0e3f2ddb59bb41bc71bcd6dcfd3d6a04df3ee42690bba8659dbc94d1a43d6fdba93e435781bb647f96bc340a273d1f955f3e05b477bb1f589bbcd8cd93bbd309e53d57c755bb783f5dbc7e5cf2bcbd45873b94efbebc538e9b3b00000000000000006548a1bce29cfa3b000000000000000014f483bb42f7033c00000000000000009dcd803b74670e3c000000000000000016ac1d3c7320163c0000000000000000592e6d3cf7e7ea3b00000000000000009607643c83f8a83b00000000000000007187713c8c3c303b0000000000000000c511163c27dff63a00000000000000002e8e1c3bdeaa5c3bebd933bbceb6f0bb702c5b3be491b93bc26f4b3aab60e0bb2d6d3d3b4820ae3be4f7013bcaadb7bbffaf003b2ee79a3b6e821c3b043f9dbbcd9bc53a33cf683b5f00363b0cb754bb50fa0a3bca01893bc325933bb77cf4ba90261a3ba871273bc578c23b73a1663a66afecb8ccd57c3be37ce93b051d4a3b33d4463a6966fb3a31668e3bbff9a23a34f210bba002cfb9280027bb97ef08bcb2ad51bbcb4d90ba94ea62bbe63e3fbc124d6cbbdbd048ba04e88abbc1bc4bbc28528abb6cb9e3bad46691bb08a73dbc00066fbb7072deba789362bb9efa0cbcfbcd81bb974ef5bafc491dbb153dc2bb26913cbbc28696ba1eef0cbbcf092ebbe02054bbd812dbba12c76e39c0c8a73ba88c13bb7cbfb9ba3cde913acb2ea13bb29313bd7aa631bc93019c3baa1aeeb9a23749bd9aa4dbbc8a458f3b9c5ff5b946553ebd309a06bdc1737c3b6124a33a0b032abda3cc0bbda469243b62d9053bbb9203bd6cf2fabcd629153ae90b1f3b85f4e8bc0cde06bd060abebaa5db1b3bfdb3a1bca629edbc8ea521bb6b22e83a165e46bc4e91d0bcb17a84bb4f0bd9b73ee894bb536e7cbc3e0665bbe4f664bab866da3a51d3fbbadf18033ef6627c3f434c313a508485bb7782e83d9469673f3245b1ba5977cbbb1162c53d85bc453fed8845bbcb9e18bcff059b3d0adf233f97868ebbbb5031bced2b583dec21003f0d94b8bb635169bcd4ddd03c47eebf3e3382a7bbff0768bc4b8622bbeee5783ee67ac5bbb63f60bc7fd1e7bc5466f03d166888bbf0d0e5bbfc251dbd8c8421bb15e8a3bc67f78e3b0000000000000000530462bc106def3b0000000000000000e1f9923a75d4073c0000000000000000d76a263cd3300c3c000000000000000055427a3cdd7afa3b00000000000000009dfb9f3ccb32e23b0000000000000000a53aa63c9ddb6c3b00000000000000006ce28b3c5b8ab43a0000000000000000cb89593cbb8140ba000000000000000000000000000000000000000000000000de98113bc907933b0004be3a09e3e0bb6df5b23a159b6f3b1fbf173bf2e894bb5210bf3aeec17b3be8291f3b72d572bb627c463a08490e3be63a3c3b0e5b04bbcfe3173a88cf0b3bc9c0553b2c32153af1c3e83ab898c33a6bf7613b7e27bb3ab31d4f3a7b87183b3739a83b5830023b0000000000000000000000000000000000000000000000000000000000000000f1bf89bb0c1895ba324086bb341f0bbcbb1e75bb447368bac9e588bb54320cbc781b77bb2e2dc1ba3ce37ebb61a104bc816362bbff9681ba262046bb3b8ac7bbe6fd70bbdf91eeba1b3135bbff9434bb484819bb1e3559ba95cc34ba811dfcba23c310bb2b7274ba4a72beb811de583b00000000000000000000000000000000000000000000000000000000000000003ae925bd1cb5eebc427a683b6c4fe4b93d6b0fbd176dfcbca2b4ec3ac93ce23a3636fbbc8c49fcbc69032f392021dd3a3e81c4bcaa29e6bcdbefc9ba36c21d3b64c493bc9930d7bc1447a0bb9bc9793ba4fd4dbc3bdcd1bc3b5f8abb07a8963ae57ef5bbe366bcbcd26ca9bba9c0cf39000000000000000000000000000000000000000000000000000000000000803f1568bcb9a12f083b9503f7bae37c7d3f2544deba80bcaeba0df502bb58f9563fe97a4abb0ad692bbc1dea3bb2392313f918a84bb118cddbb0c482dbce5de0b3f3dc872bb4a2115bc6cbc96bc775bce3e86e7a5bbafea13bc1a86dbbcf3fa863ed4aac5bb4a2613bc96741abdf172fd3d000000000000000000000000000000000000000000000000000000000000000039572bba3d38b73b00000000000000005d360a3c56eadd3b00000000000000002e446a3c6140de3b00000000000000003fdf8b3ccc12de3b0000000000000000c2d58d3ca61ff83b0000000000000000c621993c42d07a3b00000000000000009e7e8c3cfd25e83a00000000000000000000000000000000000000000000000000000000000000000000000000000000293049bb70f920bbb5071abb020d9abaa43e5fba98f035bb953824bb776fceba44aaf5ba4b593abbe81f44bb2a9410bbdadb34ba113b22bb162800bb793a21bb7e013bbbacc489bb5da30abb86c7e2baf641ddbaa4baa1baebd7d0ba815159bb2a7a84ba712014b951120fbba0a605bb00000000000000000000000000000000000000000000000000000000000000000222183aa82e833a7f3421bb98cf88bb49aaaf3912778b3a00b646bb70908ebbead09d395042ae3aea445bbbe8bb97bba38e8039c7a8763a811a08bbee5587bb4a24f8ba60060b3b652f2fbb6f724dbb7ce0813960f3433b1ddd813991e835bbbb2030bafccae439d5cb07ba13ab4abb00000000000000000000000000000000000000000000000000000000000000008749f3baade4303b74a7303b88e1e63a013227bbf3af003b45643b3b3df9fc3a6dee34bbab73e93a4451553b93a1223bbfe825bb7e4fa239670e4a3b7aa71a3bb5a419bb1bf8023b49757f3bac91543b3faf90bb13fbb5ba53cda93bec113b3b45ad44bb121a04bae3ba043b483c083b0000000000000000000000000000000000000000000000000000803f000000002e948839d383a53a2815633f11ea673bf344e9b99b55513ab894423fc1e98f3b598d9dba5735173a1236223fbc9ab93b2cd24aba2d0a37b9b487013ff15fb33bb8b4c6ba5c6304bb76c3c23e875fd73b33795fbb52b3f3ba3a8f803ec598cc3b24901bbbabea64bbfdf1003e6d70a33b0000000000000000000000000000000000000000000000000000000000000000f9dec53acea994b900000000000000007967083b6227c838000000000000000086b8413b506f1b3900000000000000001852343bcc01413a00000000000000009544803bc86fdd3a00000000000000004129793b2863053b000000000000000055f44e3b3612e83a000000000000000000000000000000000000000000000000908761ba63db38bb19dc26bbff408eba205180ba74c318bb24897abb48d304bb568920bbbfb75bbbb05760bb250409bbb17745bba25f64bbfc9c59bb5eea10bb25668bbae50425bbd8c941bbed3c21bbc3def9b8e12627bba6194abb172a3abbaac855ba9bd211bb8f1b2ebb1e161ebb3c59ffb9407acfbaa1980bbb24e714bbb29902ba290889376c9261b8f81b12bbe96b3f3a4c1b5d3acdd121bb609e88bbb83f7d397030203b81b58bbb7e55c5bb2cd2ab396489ae3a350874bbfb81b5bb0228e439511cc83af86080bb8319abbb8f1625babf448a396bbf46bbdb0994bb39a9a2ba3457ef3ad60357bbfde139bb44a736badea9e939785640bb1bbf88bb78845dba5077d439d6d408bbf8c957bb3a06a5ba0fe693b996dc23b9c5a84cbaf4f0a1ba496c2d3b93680b3b40be9b3af43d3cbb80ac9a3b66a23c3b4f9b633b27f156bb21f7243b3a59763b73ea323b5b875dbb40dc143b6b92923b5f516f3bda6677bb3029083a3b033a3b71bf003b857093bb6c1eedb9fc62173b7cb4e53af44880bb0d0b2ab947d4453b8bfd373b988f5ebb53722fbaf7691f3b46ef253b5c563cbb8bd6afba7c8d4a3abf661c3bee4cd838a64c24395f65633f74ba023ee8fa15ba8d2d07b7fc1a483f7ddbe93d47b72abad609a039a5322b3f2a70cd3d94f68bba3aa634b99eb60e3fe939b03d5cfcd0ba96a2c0bae539e33e73708c3d7d1d0eba163248bbe12aaa3e239b593d00871cbb7a195dbb043b633e8f691d3d838d1bbb738e8fbbb56ae23d2070b23c4354f0b966228ebb61a238ba4dfc593b9b67073a863218ba00000000000000004c0f943a11be79ba0000000000000000ff72323bd62c8a3900000000000000001086103bef941a3500000000000000004c28293baf59073900000000000000002a7b9a3b3e400b3b000000000000000096478a3b170cfe3a00000000000000004653853b2a82123b000000000000000098e5033beb83303a0000000000000000fe44b2ba3e1617bbcacb13bbb50385ba302c40bb5cb722bb4f963bbb551a5cbb3a7a6dbaf0821ebb5c9629bb5fb3e6bac11404bb28de60bb61e15fbbafa21fbba7098fbaf52e25bbbf6d2fbbbc9412bb4c9a88ba263129bb9e464fbbfcaa34bb164941bafc5dd6ba5ebb0dbb24b50cbb7afc8d390b86fcb905e68cbac017bfbaf3256fb95b0755ba6feda7ba0714dbbabfcc253a34656c3a4a7906bb26596fbb08656a3af4fa0ebac69297bbb7cee3bb068f91b80ba10f3a322335bb07c08fbbe092c3b82c0f8f3a68117cbbd692b3bb66a24cb90f1e3d3a94b245bb881889bbd0c751ba1a50413a60c256bb1c5a9ebb70dc49ba0082013a58eb0bbbe00852bba7da05bbee212aba22da82ba2b1b18bb31313fba23a95f39ff5489bacd3607bb52b89cba1de5253bc082113bff60b73a5e2a1cbbde1c4e3b78446d3b1a74253be9233cbb1f68cc3ab087343b8c74793bf84082bb4cc5a43a315e7f3becc2543bd5565cbb9b541f3a2643563b21bb2e3b59c092bb6a9a6db869f3603b4e275a3b669a5cbb183bf6b9d8ea173b54531b3b45862ebbc74cfcba58739c3af9b6bb3a3ba71abbe92a65ba0505ab3adbf2c93ac5ea6338b89ab3b98473423fb5e2813e3c1e7238db8516b9675a2b3f4502693e3ad11aba6a913cba9d41123f9fd2453eab0aa4baccd8b3ba3dc5f43e398e283e4ebed5ba3480d0baeff9c23e5924073eb09e1dbb5a0f4dbbb37e923e69d8d03d7ed803bbd0df4abb180d423e6b038c3dd183b5ba20ceb8bb3359bf3da2601d3df940d8badfe66dbbd10fc0b96d23803b1817b239444e60b90000000000000000a0a8663b5d3c3cb80000000000000000dbd8ba3ad157eab90000000000000000f7bd6e3bc709a93a0000000000000000613e663b5231b63a00000000000000001ad9963b144a113b0000000000000000fa61793b2e76f73a00000000000000001e0f543bf056593b000000000000000053a9433bfa2cee3a000000000000000009508aba03448ebab7c03dbb2a40c6ba7cc708bb4ccd64bb218070bb776602bb3dded8ba9a214fbb7b6066bbfb991abbbd12b2ba181248bbe97667bb9cc735bb387a57ba28086abb1fc471bbd5e657bb6940c6ba5da94fba9677bfba80a59dba7e79f3b93a4b0dbbc4d31fbb91cd20bb18434aba09b3b3ba51a7ecbae80618bbb62dd6b979b301ba6a066bbace30adba28da3e39c0001c3b5a3433bb73f97ebb72e8db392d2da33a0aab65bbda97adbb0e1ed1b8e880803a8dbf67bb0319aebb82ae75bae4ce0d3bc08a70bba544aabb4e74ab39826e5c3b7b5c84bb3ad6aabb0f340cbb68bda83ae6d860bb7b16b2bbc19571ba1413ee39420532bb7c8b74bbd47480ba38bb1d39d3bfecba247d3fbbbba71ebaff4c9d34abed50bab7f2d8baf08531391f37033bfd77073b7683a23a57c550bb0e0a273bfd4f6e3b701c3a3b70e67dbba510d33ae401753bdf563c3b3db58fbbf43bce39eb494c3bee4f273be95aa0bb89f2823a58da813b0bb0703be8b7b3bb7d13e6ba72f1683bce675f3b00d981bbb32d41ba8c2b293baff1363b407768bb4c7f94baf356003b06c61b3b871f07bb1afb70baa4b1823a91219a3acb9c13ba9b3d43ba4df4213f7c83c23e82c60eba389726ba4ec30e3fff66ac3ef45c8bba120d84ba5cdbf43efba7943eaea8e7bae6abf1ba11aacc3ef8b1783eab8036bbc5144dbb1a06a33ee7fc483ebc995dbb489e8cbbf585723eb6ee183ebe931dbba0a673bb6cd1213e3a85ce3d815e11bbacf688bbb32ca03dae2f583df31dc5baa1454cbb377c46baa6a45b3bccf1cb374aeebe370000000000000000e835ea3ac70a9a3a0000000000000000c5402d3b0158783a000000000000000094d5a53b4f7c833a0000000000000000828a973b9cf91d3b00000000000000000421a23b2cd5213b00000000000000006530973bc2df213b0000000000000000ab76913b9df6183b000000000000000057ec393bbaddd43a0000000000000000bb4ca0bad7eb14bbd0db21bb501baaba947c16bb051959bbd4e364bbed1afcba0a0600bbacb64ebb5e2e5cbbd6451abbe5bc0cbacb49f2bac6a711bb04fb41bbbeaf85ba8080fdba652912bb6ebdf7ba6c16aaba7fb62ebb06434cbb541b91bac73384b96ed7fbba4bfa30bb5efa3fbb467016b983ff62bacd23f0ba53921dbbd093bbb905bcc6b9d75556baebeda5ba33ad9c3912962f3a615e0dbb619d4dbba0f1aa39479fae3ac03e64bbb23096bb269603b9dd9b7f3ad57068bb39ee96bbd84fb9baac7000b98fe878bbe5aab1bbcd3921ba6099e239836d22bba14550bb5ed38f3916a5dd3a6c7658bb072790bb3966fab8108a6b3af41b2dbb18fd75bb0d9d00bbf96f6c3a4952c4ba95c134bbf0de72ba071251b9baf440ba43e3b2ba5d7df2bad74aff3a6b1b193b9b18bf3a76c055bbe6850d3b66d3773b0280493bbb827abb638b743a9393673b725d493b751ea9bbe4ca16baf06a283bfcab833b48bc4dbb22b179b90cdc1e3be644183b128a9abbad6a9dba0a58ff3a2ae45f3bc0ac93bbf5db88b9806d273bfabf3c3b34f278bb4fe809bb13d21e3bc559393b1ff4ffbac65085bae1c73a3ac92ba73afd6ca4b9a00fa2b9c198013f63ac013f8bba3fbafab6ecb97867e43e2050e53ed4a6a7ba8ba672baf395c33ec709c53ee42a1cbbcb7718bb7cb5a23e0a91a53e9756c4baf5c1c7bae197813e146c833e539d38bb8a375abb097c433e2cf7483ee39d4bbb329b8cbb5f6a013e5cb5063ed48224bbff2d90bbe94b793d95118c3d8f17acbad7e533bb4fe9a3ba08fc3c3b79072c38595c8f3900000000000000004e016a39918ea4b800000000000000002c30473b198bfb3a0000000000000000bf53983b1f88383b00000000000000000f5a553b352cc83a0000000000000000cca8813b53ce493b0000000000000000dd18993be3881b3b000000000000000057baa13b0d892f3b000000000000000020d4433b7c93e03a000000000000000029015f38938808bb7cf41abba1d1b7ba44cb83ba71e846bb731b5dbbed4811bb243abdba902333bb19e252bb39261dbb918de3ba1f7231bb16c84ebb029124bb90e094babc4c41bb6fd066bbe4407dbbb7a51fba827307bb82b52abbb78128bb1f8cc2b9ff9dbbba183e05bb629c10bb769adf39d4d18aba0e0505bbc5ed31bb340f29b91aef10ba188770ba8625a7ba7661d5b7e6f0113a9b8d10bb913e3cbb38c590b85e11493a278a60bb1d058ebb65be1ebaa881283ad2a160bb0b3094bb13194fbac14c2f3aa4095fbbd1dd91bbc55bedb8c5c7743a9eeb85bb9a3d9fbb509ad939b2b7d5b86f333dbb7cd379bb57cbaaba39719f390c3811bbe54145bb6fc3ecb964bfaf398d4aecba09fc3dbb4556723ad2ceeeb943f157ba88da9dbaeab11fbbb511a83ada8a143b819bbd3a3bc983bb6de5933aa74a5e3bdb7a223bfb4e97bb73e30d39b7015b3b748d3e3b25489bbb8f05eeb9b4e2623bbccc653bee61b7bb2a59e9b975cb603bd8a9593be09495bb7bcfeaba8a0ee03a4e938f3b357182bb10e8ddba4f64dd3a511b283ba9ef8ebbc1e78ebae185c53a64fe0e3b8de1febad9a4afba11517b39fcf9723a4e000abaa8d1bdb95b56c23e9d13223ffa4591ba49a406baaa5bab3e83120f3f1121c3ba56227aba4ffc923e841af63eee9febbab4aebfbac1fa743ed1e5cd3e83fc9bbacd98ccbab282433eb1e8a43e81bd32bb35054abb1608113e3298773ebac229bb9a305cbbb797bf3d569a263e2e7552bb8cbe9cbb9c313b3d985faa3dc51accba371b2abbb06001bb0e7e143b1b19cf3817f1f03900000000000000004243c63a3f60883a00000000000000000b06443b2a26ca3a000000000000000031d9953beb5a2e3b00000000000000004897a43b8bc97c3a000000000000000032dcd23b8110083b00000000000000004fc7a53be41a263b000000000000000009af9e3b30c7263b0000000000000000273c3d3b2366b73a00000000000000002a5c7eba0432f8ba0c0a1fbb968ecdba2d9554ba93e1edba530b1fbb5f6ebebace8494ba78ab05bb99df24bb68ae03bb57d2a1ba019215bb1d9940bbcfd429bb754b62badc1ff4ba7cb912bbed2115bb772486ba7f85d3ba392419bb6fa81fbb1db58eba5e0f97ba52f5a5ba50a09ebad63025ba0b369cba0d74d9badb5d0bbb7a5ab53934c676b9512a0eba537a8dbab10252b9e7d7373a12ed13bb63d63bbbd114a9393f6ac33a014429bb1d0d5cbb3cad2fba7651cc3908ac34bb606763bb65b28dba025caa395aaf5abb692b8bbbff099aba31a28eb728fc2dbb49944dbb623cd5ba6bc117398d7237bbe47b65bb47a791b9221f713a0c62edba8a1df7ba177cd8baf0cecdb91ea6f2ba8ed815bb600981ba96c76bb9f9ff2dba0e5b69ba218a4cbb21125f3aa807223b8c05d63a5df9c2bbba295eba38640b3b281abd3ab86082bb66b104ba9d792b3b27c4173b4e6fa9bbc4d8b0bac7ee3f3bfb07443baef383bb0b79c1bad38c083b5066283b13ae93bb30de0ebb897afd3a2cbf4d3b52c726bbb52758bafedb7039ef54b13aee6a6cbbd51d1ebba472243bcee4f93a4694f8ba0fabcabaa376993845bd7e3aa30a07ba09f8d638f3e3813e28a8423f1d7ad1b94400283a04f9633e05572b3f3ff2a3baff18ecb9efb4433e6abb123fce6dfbbaa649b0ba2f7f233eba37f63e8f9901bb06dddcbafb7c013ef536c43ef20537bb33a02bbb0166c13dc735943e8376dfbaf5ccd4bad10b783d752c443eb02a3cbb51f372bb2e11e83cbe07cc3dc425c5bafd9a1bbbe91432bb3c4ada3a92c69e398e22233a0000000000000000a7363a3adb9ba7390000000000000000b38b343b3aacb83a0000000000000000aaef943b8295143b0000000000000000df1b933baa850b3b0000000000000000c85bbb3b5f82393b0000000000000000cd667a3bb16df23a000000000000000063bba13bf9f1333b0000000000000000a88a493b4fb0d03a0000000000000000c4df27bafb0f82ba4c5a6bbb9d1c7cbaaff88fba26a3f9ba48f637bbbe7d16bb8297a2baa855feba419b2bbb3c6925bb2ebbe4ba2fa00dbbb43828bb258b16bbb78548ba3b5254bbb329c6ba3d0aaabad526873a4652aaba8b850cbb313d16bba7dc9abae0d23bba01bfa9bac6cce3ba5bf2cdb85afc6d3951ddd3ba3072edba284a8438001262b9947403ba52ab86baa249d639b3b1b53a3cded6baca41ffbac48156ba850fb0396b954cbbda6571bbd95b81ba783fd839275f53bb29477dbb5e3884baa0222a3a92004dbbc6b972bb67c17fb98138973a98ab01bb422019bbe234dabad69346ba778b23bb83924ebbf0cfb8baf7ce2eb9af11dbbaf62d0cbb9de35639c7557d3ade0234ba653f29baeafe92ba35e1c93a66762aba22063abac28b3bbb8f988cbaa2b6b23a70ed323a4dc1acbb3cb173ba638d373ba27e113b4e97adbbb00ee3ba8b572f3ba440333bb0879abba84be8bac8133b3bc9e4643b31b557bba8969aba5b62383b5d14eb3a83ce95bb185158bb84728a3964995a3ba19e6abbfce82dbb7684223a9105113ba2c581bbed5a59bb5d4cebb9fe657d3acaa3f7bada70f5ba28bbc1b90086473af96b87b8d34b9f3a809d013e4245633faff7a8bab3d4b33891fee63d90cf473fa21fe0ba93350cbacf23c63dab7a2b3f0f4bf4bacf5c52ba4e3ba53d27150f3f4bd6b6bab98942ba10f57e3de3c9e33eccaa49bb0f223bbb6ce7393d69e7ab3e3d4832bb31033ebb8f20ee3ca2c4643eb24ac0baf7bb89bb6368393cb802e43d2f3eefbac0d91abb623b6ebb04273c3a3ed6a0386823be380000000000000000db0c223bf13ac53a0000000000000000e2f3833be193123b000000000000000026c97a3ba53fd83a0000000000000000bae3cf3b1929093b00000000000000004a55cf3bb80e543b0000000000000000fc34b63b4897383b00000000000000004638943b997bee3a00000000000000003279483b9f8fcc3a000000000000000000000000000000000000000000000000b1d0cfba8de069ba3954efba60d0fcbaa3f7b93af29e5cbaf546beba71709a39ac819aba4072e0ba9bb0f6badc58f8ba903f8fbab786bbbafb6cd7ba233fdebaeaf22fb938d015babc39a4ba2d08e0babb82bd39cc7c07ba3b358bba93d0b6bab73e09b9543cf6b8b0f518ba624c9cba0000000000000000000000000000000000000000000000000000000000000000078854ba78973a3903eb08bbbca334bbb2a82abbebcaa7bacf0b82bb25d991bbe0fc90ba1b4047ba38ac1fbba7592fbb2fce8cba1e5b06385fbf0fbb0d2424bbeb76adba47cd8a39c845dbbac29616bb26d19ebab4fe83b9b525a7ba75eddaba6eb69fba2dbaceb92b2b4ebaac0e8aba00000000000000000000000000000000000000000000000000000000000000000a168fbbe128d2ba9ae6053b383fde3a6fb777bbff7566bb79e0fa39c9ce303a2c4d60bbfad903bb97810e3b402cd8b9b6d75dbb5a4713bb514b993a949c083b830665bb70c13bbbfda7683a5da4093b60382fbb91c320bbd8572c391a10d53a2b3417bb06c81abbe1b57db9a89fa23a000000000000000000000000000000000000000000000000000000000000803fd06882bad7deb0393b180d3bba24633f8ebb35bb394e69392f7ed039f0ec423fc0a5d8babeaf18ba920ad73a475b223f3371fdba7bf9afba244848babea0013f2b831ebbfc7613bb8bafb0bab39dc23e5a4110bba01e10bbbc8a0fbb3a6b813e7dfc0fbbe3561fbb1dde5bbbab4c013e000000000000000000000000000000000000000000000000000000000000000003b1303b4edb923a0000000000000000ed928c3b1432203b000000000000000099895a3b714f883a0000000000000000768e983b805a1c3b00000000000000005199a63b668a2f3b0000000000000000e116903b8a67143b00000000000000006fa2863b77f2113b00000000000000000000000000000000000000000000000000000000000000000000000000000000f18eb5bb7ac7543c3f839e3c2b09d93b63a821bb3f52613c3882893c6547043cfcd07139961f3d3c196b5c3c5592da3b1ac8a03a05d40f3c1464403c8169c83b55e2383a85b7c73b0074243cacb2c73b2a11adba2fb0733bcaa90f3ce9ecbb3bfd3b2cbab7aedc3916eabd3bab72043b0000000000000000000000000000000000000000000000000000000000000000f6296d3bf858eeba6f98e43be129e5bcfd2c413bfee477394f99b33b28f501bdf4436e3bab8f8d392980a03ab93205bd575b573baa71673a4f8b953a0179efbcb48b213b3c7bdf39fb616f3a071198bc8e64b9398ff434baa226173a5097cbbb8026e33a2f09b7b9ae6ac9bac1d8423b000000000000000000000000000000000000000000000000000000000000000019440bbe09b7d9bcc67f1ebb6c32b03a79ca04beaebf06bdb10d50bb80e927ba7fc6e5bdbd090bbdd9ad43bb9e5d2dbac74fc3bd7ad5fabc54935abb33aefabac19d99bded4fe2bcd1eb8dba84f457b9a0ac55bd76c8a3bcf985663aa6c5873acc4acebc83f22abcc878193b42ea1cba0000000000000000000000000000000000000000000000000000803f00000000f855433c26e4a0bd96e59e3fb76944bde449d83bbf0351bdb4dc833fd73e42bcbc671c3bd83608bd59dc543f8d482f3c9d37c93ac48de2bcbc5d223f8abaa13c96910d3aafcfe0bc5c5ae03ef1aaa23c537f053be77ed7bc63687f3e45f9533c45ab9c3b3946e5bc19fe8d3d7da5c03900000000000000000000000000000000000000000000000000000000000000008869c63b38b9aaba000000000000000038c3ad3bcb88b2380000000000000000b1ff1e3b2f828a390000000000000000db94e1391a91a13a0000000000000000d42e40bbf581fe3a00000000000000006804c6bb7c83a63a0000000000000000f0ace6bb8eed2f3b0000000000000000000000000000000000000000000000006150b6bb1a5aef3b5140243c08b80c3bc7f63abc9631693c6c78c73c94cb1d3c53c2c4bb3acb833c1320c73ccbbf423c37274fbb041f803c3560a63cebd2353c8405ccba9be23e3ce0a2853ce32e1b3c9f5fe9ba85adff3be0aa673cebb4183c3ac12ebb2c87893b4705323cc1a5c03b524529bb2e5cd1bab4c3c33b54f67e3b522d9fba78855dbbf2b9a03a2ad320b9337cee3abea0bcba7d263a3c28e5b5bce1b06f3bae011cbba860803c1eec99bc22169d3b10e7a8bad39a3b3cd09affbc9681b73b65b361bae90f113c5c2d06bdb5be753bd66a6c3ae4c8d73b12f7d4bc30e3623b8dfb75ba6d01993be36078bcb600433b536ddf39df1d333baf2745bbf32293b883670fbb3288efbac215123c3e6792b9dc81c5b91a5499bac92a493cd4baa2bdb944d7bbb3e711bc85047f3b7f5414be3350eebc112de6bb030e913bf0b21abe64ee2dbdd6c621bcb9c1413b79530abea9893bbdc91713bc8ccaf8b93e1eddbd151c29bd204005bc74f14c37fd3fb0bdd6e014bda68192bb4e0ddd386d766cbd422fdfbca415b93ad5c63dbb46d5aebc9dc646bcd86c6b3ba77dd43aa8c4e03a809e4439ba726d3b55a3b73930ae9f3c555f0cbe66839e3fe257963d704fbe3c560f19bee680973f9a6c973d5a9d533c05abdcbdfa25823f63aeca3d66030c3cce2aa7bd87f0503f89c2d93db33f9e3becf782bd5dd61b3fa688c83d8c6ec23b2af966bd1860d53e013ea53dec6c0b3c106a45bd0564693e192b573dfac4553c743904bd819e573dccd6b23c84223a3c25eff9bc928086bd3e846ebbfbb4b6bcaaa8e73a00000000000000000aba9bbc6986e13a00000000000000001ced83bc9c1c9f3a0000000000000000b48f5dbca5f2283b0000000000000000fa375ebce2ef0f3b000000000000000012e581bcaf32f43a0000000000000000d1d38abc8ef6853b0000000000000000fce576bc1637913b0000000000000000774769bc3ed48e3b0000000000000000504c8dbb9e41e33b5ffed43bebf0ff3a7238f7bb22c15d3cbe82853cd34d053c158d4bbb136d563c57d47b3ccdaf133c9d11feba8727553c8b25923ce464353cd8af8cb9d2e12d3cbf53393cd4000b3c276134bbc7dae13b88e4513cd16f0a3cc93dfdbacb22443b99390e3c8f4edd3b233647bb4f59acb90096a83b6d29613b73f5f4bab31103bb4c07fb3a6e03a0397648003b580c063a7da94b3c75e2babc6cc24f3b394f96b95366783cab54d9bcf01a933b4c438f39a7111f3cbe16fabc71759d3bd363a43a5f2e013ce0e9dcbc615a8d3b42068939c5a5b93bb481c4bcf3d06b3b72ce223adc71e93b239d44bc55ef813ac018da36a2ab863bc52803bbc433873af77820ba47d94d39b813053c89bd02bafa3744bad460a038df6a323c0b5565bddc71a1bafc3e67bc045b823b18a1ebbd9e07fdbccf548ebca7f6963b2f12e9bd261e28bdad7c85bce781b13a6494f2bd37f04fbd0d368abc9780023b721ab8bd12d330bdedf52bbc782f46baaf879cbd01bb24bdf1132cbc4eb1b23a750d48bd1dece6bcd0ad7dbb5816a03a9230bdbc698879bc82f8b5b9c067f33a41cc2b3966c455ba76d8213b70a2a63aa612823c4c480abe5096843f1f22843ed72cbd3c30961fbe2c3e833fd3b0833e3874563c20aad7bdb0bc583fb391813e6eb4373c0646c9bde3d5363faa5c693ed24dde3b643b92bdf38a063f08e1413efded1f3ce7f590bd5870bb3ed379193e34f1023cf77166bd6f3e533eeec5ca3d6d117c3cea8736bd637b643dcff0443d7c88493cfe4d00bd52f038bd5df87e3b478253bddc7f6d3b0000000000000000207252bd9677f23b0000000000000000e18314bd6412953b000000000000000058e00bbdc29a9c3b00000000000000009e1bc3bc1c4c293b0000000000000000bd56e3bc4c899a3b00000000000000001864c5bc5a0d5d3b00000000000000002588d8bcbe7dd83b0000000000000000b537a4bcdebe873b00000000000000004feb7db9eccb983b9c94803b7a7f883b20a4a6bb349f453ca493453cfe0cfb3b7e3227bb4f154d3cbc8d853cb4a93e3c71e022bbb82c393cfa72673c4494373c02f21abaedf7243c74be5f3c7f14193c579614bba874e43b667a2c3cf5e6183c5a4534bb4297673b18a41b3c9602ec3b951b39bb9ce089b97480a33b13603f3bbad215bb17b4e1ba7ac9ec3a66ae863a4bf0fa3ae53318ba02e30c3cf60cd7bc4d33433be05eb13ac786603c4f79e1bcc9e2903b1d45853ad4a1253c450fe2bc34ea9d3b0074813a81060c3c7492babcabb38b3bf36a433baae8c43b54679ebcdaff833b7bed4938cb74b63b627f12bc83c21c3b817a883999f19e3bdafc5fbaeb3dc73adec7c0394b5f1b3bd939e93bca7f14bad24a5fbaae57593bc9ee013ce5d334bdfac42ebbc418c0bc53c7c03b7ad9bdbdbb1d0dbd005cc4bca7989f3b3be9dcbdb8df62bdb244bebc9911643bc89fccbd17796dbd494fa1bc97b1c43ae3abb0bdbb8d5cbd2fe993bca20553ba3a528cbd51a837bdc59548bc062b003ba6ac3cbd04b30ebd5d6301bcc274f33ad973a5bc42c18dbcf9023fbbbd9eef3aa9a31abbb098cebad5a7b73acbc3173bd6303e3c1fe5e3bd8b24583f284ce83e3d0d9b3c92520dbeaabf543f10d9e63e9c2e5c3cf5b7e5bd4955383f486bd53e67de1e3cdfcbbcbd20cd143f68c3b83ea4f80f3ccb479fbdbf07e13e0a4a973eb25a153ce48089bd0015993e5c34633e5caa283c1d1271bd598f2a3ea59c143efbba5b3c1d923bbd4351453d8fe88b3d9fa91c3c55ff03bdbf980cbd25150c3c670795bd0431c13b00000000000000003d10a5bda62b333c000000000000000013f67cbd8dc20f3c0000000000000000dccd44bd1f2dc63b000000000000000024b31cbdc05fa63b0000000000000000031a17bd319ebd3b00000000000000006ef90abd02aaad3b0000000000000000f516fabc491aad3b0000000000000000edd8c5bc5ede443b000000000000000018b4d1ba85e1a53b8c7f1d3b619a753b83ca0ebb9e0d0e3c4059283cc70e0e3cf249e0ba87311b3c0f134b3c99fc423cafb7b5ba2494273c8a186e3c14aa463cdc6e1b3ada17dd3bb554ea3bc87adc3b6d78a6ba4aecc83bbe7f1f3c3a492f3cc53db0ba6f16083b1fbbcf3b9fd2da3b81422dbb72594f3a5fae7c3ba5be7a3b1d87c4baf13b45bae201ac3a3527f439bbb32c3aeb65bd3af6d5043c66a0b4bc0a83723b8793a23a5cd11f3c9a61b5bc4b55b03b5f9c243be15ae83bc2c0a6bc4710b83b8a6bb73af615de3bfbb794bc14d3473bc0f1563a310f673b619576bc3cb5803ba7d5b23ae2d6b23bb83cf6bbf87c443b04c7d839bfa5913bb3edbfb9dbe42e3a0f262cba42f1603bd7d6a43b3989073965d580ba83e2513b0aa7003c9daa18bd9391a5bb2a74bbbcfda3413b5b5b9cbd2dfd37bdb00ce8bca390863bb78fafbdd22183bd87c4dabcd5e4063ac238b6bdf51c8ebdccc8d0bc55feb9394f9277bd8af641bdb5c681bcd32227ba21f271bd153c58bdb23b8dbc66e6d939e21c13bd532710bd9cb328bc0bfac03a374c8bbcf58d9cbcbdd764bb85ae603b2faa3dba069926bb43f3d63ac49e6a3bf2c6233c0582c1bd5a83253fcd4a263fcee7663c31c2dfbd813a203f4d62253f67341c3cc1f6b0bd53d3093ff09f123f7b47033c08f6a1bd2ca9e33ef7c9fd3ef3224d3bffad57bdbd29a43e65bcbb3ee715e43b673176bdd4546b3eadba943e2871e73b541343bd189bff3d53b1393ed56d143cfd461bbd44aa043da6a0ad3d14edd83b8dd5e8bc71c206bdf6ecbb3b23a7c1bd7300063c00000000000000007c06cfbdd0396b3c0000000000000000fefc95bd7aa41d3c0000000000000000432973bd1a040b3c0000000000000000da3dffbc3fd4853b00000000000000001e2e1cbd74f0a53b0000000000000000af4e05bdd5e78b3b0000000000000000d9ce08bdae938f3b00000000000000007ff4d2bc399d123b000000000000000009cd4bba710a463bbdfa1c3bf91a9c3b5d9318bb0be2c43be0b92b3c74924c3c83c975bb04780b3c5682763c55dd753cea1494bae86a093c6977563c96876d3cab709aba424dd03bb748413c4028433cd9d7fcbaf246c63bf170093cef9f243c07dc0ebb34b6443b65aae83b0863fd3b200b1bbb1e46e6b392854d3bc0b5933b06b1acb9409656baf5d6c2ba8eba543b40c6f33a5a3f8c3a1998b03b6c3364bc8992693b16e3123b23c8f03b69c05dbc70ccc73b3d24223b9e5bc43b4d493cbcee70d13b0e661e3b9668713b0a3442bc675e913b9ef6773b6c28a93bff7610bc89ddaa3b0fc6b03a82249b3b6a3984bbdeeb3a3bd9c2173a58b53f3b89da963abcbdaf3a8255593845ba653b133b8f3b9234f8ba4c7b8cb91d5ca939bdf4863b055d07bd4e2079bc309fc3bc9612843b11e785bd727285bd7dc400bdfc33ae3b4804a4bd0648b3bd034802bd979d103b145d98bd1a87adbd09d5edbc7d7aedb8e4da82bd85d99abd8cd1d2bc9e389cb9bcf649bdc30376bdb492a3bcffbdac3ae6ca03bdce5732bdd48f4abc6d982f3b34f03abcea71b2bc4dbfbabb74b88f3b6e18333b8d9de1badedf323b3877b83abbafdb3b08f592bd5472e63ec5e9573f10a8453c2e47b0bd89c0dc3ec5c9583f15c8133cb01c93bd1511c13e84ea403fa9c9053c04d77dbd574e9d3ed85a1f3f757cb23b063358bd23ea6e3e4dc4f93e6c54ac3b0f0c3fbd0130203e6832b33eae9df03bd92720bd551ea63d7e295d3ed357eb3b7011ecbc488a7b3c6142bb3d5dc9e63b76d595bc0eb703bd19596fbbc327e9bd90d2313c000000000000000069f402be5736923c0000000000000000f743c2bd89a7703c00000000000000001b5e89bd140a2d3c000000000000000004914cbd4668033c0000000000000000fb5625bd8029cd3b0000000000000000f33c14bd6a94a83b000000000000000017f20bbdff359f3b000000000000000096f2c9bcfe88d8390000000000000000a60d9dbad8239739073e873bf03c033c2c3071bb73f53d3b25593c3c5ac2863c8122b7ba627c9d3be46f6c3c60c68c3c6ebb61bbb7f8ac3bfccc6a3c3cfd833cd96354ba7557df3b47e0313c865b4e3cd7a356bb63014f3b66721e3ce7c2583cfb0cd0ba1564233b42b1bb3bebe10d3c5741b2ba4b017c38e6bcb03aee4baf3be19086baacdf01ba7f3a5bbaed05a63a171e233b3fcce2392dcd743b8159a5bb45a6c43ba127963a97b2833b95d0cbba9198e03bc62c443a111b103b2d9ec9bba497ea3bb1416a3bde3e8a3bdfb0f6ba82ffe83b0a28b93aa930da3aab36d6bbcf81ca3bd9b8df39ab12423b3027573a09eb593b90a6693a828ad93a83a7213b067bd63a14b58dba4bf95f3a8a874b3b70886aba8f3655ba7b7597374f48973bab5fe3bcfe510dbd7ba7b8bc2bf3963baea85fbd7f20c2bd39f101bd5897d33bae0f81bd7effcabdf835fdbc7f4b6239c26281bd63acd7bd019605bd1ba2143afbf451bd32b9abbd55b5d0bc8986b3babcb42abda64e92bd7900bebc67e1be3a8165cabca08341bdbde861bcfe7c013b0bc3edbb89a7b9bc566398bb00b3673bd3cb8c3bf66819b87c11133b36906f3b920eac3bd68347bd329a833ea6d5843f62b60e3c205561bdf88c713e2807853ff55aa73bac1a2fbd8d0e5e3e012b5e3ff67eaa3bd0ca2cbd76ff313e8ec63e3f5305293b947afdbcd425063ecbf70e3f0a9fca3b46f6fdbce3d1aa3de8abce3efe8a783b3814ccbcdfe9263dec5c763ef1beab3be13e74bc3bf90ebbc7e9b53d9215973b0087f8bbd0f9eabcfef8b3bcda010abec399813c0000000000000000f1ef14be634eb83c00000000000000009ac0aabd27086a3c00000000000000006a348cbd98c9303c000000000000000039ff20bde5d9c23b0000000000000000fa910ebd0010bd3b00000000000000005ec0d8bcd36f063b000000000000000033eaf9bc77e7b93b000000000000000064bcc9bcb628733b000000000000000018488fbad381a6baaf5aa03b9a2a2d3c5b313bbb608686bbc3a8623cd15ac43c2a37c3bbf0eb6e3b905a7f3c5fb6cd3c25a74bbb27064c3bc514823c90b1ad3c6c9f29bb51b38e3ba9d43c3c3a40813c55daf5ba1e81133b91fe0c3c354d7c3c7e52b3ba29cae838fe2eae3b5e59403c91906137476199b9e89120b7c00fac3bbc190e3a7e8ee1ba5b00f7ba8579ae3ae967563b199630ba017d613a8333643b9780113c04b6fc3562e7a43a4b39153cfe02373c0437a83aae1e383be3df843b45161e3c55341e3bbf07913a644b863b532b053c18f6383bcb75a23aed902c3ba707e03bbee21c3b61519d3a907a143b40bdaf3b69c1b9b95162cf38bf81503bbde5f43a4779beba8b03e7b9aa318cb8dd60a1b957ded8bafdcc94b8eeea9d3a63b7ddbc9a8989bd2884a7bc2075ae3b4def0fbd676508be12f1efbca348c23b085553bda66413be5a7718bdd3bba93a06f554bd8e1204be2e3219bd167babba69922fbdc86ed4bde44c09bd56b28eba67bcf4bc3db3acbd20e1dfbc2eb325baeb7770bc83376fbdf8ea88bc668d243bd0de89395f7cb9bc930e8ebb6329833baaac113c4250903a0df77a3b3d40573b1a4e2b3b937ca9bcdf65933d77ba9e3f8d38193b61ff9dbcc9935a3d9265983f70552c3b1e4988bc70de763dace9833f2524273b1b3c98bca302653df062553f580e043b249a89bccc2a2e3db15d203f24b1ea3a805e64bc1e1ba23c2c13e03e23cf1d3b39c519bcf7109e3a750c7d3e13cd033b361174ba30eb32bcb554933d4c3c9b3ae235093b9adf00bd725d57bd71b20bbe96aa8d3c0000000000000000f63709bef94ab23c0000000000000000cf3fa6bd6c647a3c0000000000000000d4bb39bd97c51b3c0000000000000000999dbebc043ad53b00000000000000004ffb86bcb5ef603b0000000000000000e20082bcd86e0e3b0000000000000000a74daabc85e3843b00000000000000007b48adbcf7b0a83a000000000000000000000000000000000000000000000000fff00cbb5f2e9eba827e563c6fe0a03ca369c7baf29a8c392f71753c28d4883ce5aadaba18f3593b795b533cc3c0613c22f183ba009e553b7d95253c55a7453ca8b0b7ba4286373b20c4f33be23a263c2c3d34baaefee339501b883bc956053cb7679eb9bf5413ba3825503a0795b83b000000000000000000000000000000000000000000000000000000000000000031f0013cdd77bf3762bd05bb88a1233cb1ff0e3cdb23c43a60117dba4768fc3b1e86f43b099e3b3bb0e58ebad3217a3bb54ab93b05370b3bfa76cbb870651d3b3f13ac3ba558ed3aac5b24383146473b290eb23b94196d3a2ca0bc3947e50e3bf8f41f3b0856f7b90f4e39ba11a4053b0000000000000000000000000000000000000000000000000000000000000000e4aa12bde6f90abefa14e1bc7bc639391a5e1abd111605be511e04bdda6ac9ba784f1ebdab90eabd645007bd05839ebb433f05bd4f8bc4bd8eebf2bc397e5ebbadbeb2bcd05e9abdee17d2bcee9b9eba22861bbc8bec57bdacd08dbc01a918bbee845d3b9ee3dcbc8bda00bc4741233b000000000000000000000000000000000000000000000000000000000000803f0d5daab9bc49d43bacbd85bd5f4c9f3fb99e4e39a024363a24f721bd2548843fd2323d3a66331bbb8b23d4bcdad4553f1b564339478856bb336ec2bce11d233f540c163a01fc4fbbc5d7cdbc9961e13ebc33133a2df23bb9b7d4d8bc0c2e813e96562cbae209a33bc4e001bddd87913d0000000000000000000000000000000000000000000000000000000000000000259b82bd1214593c0000000000000000c3cac7bcd3621e3c0000000000000000e88516ba1630053c0000000000000000e3501f3cc9929b3b00000000000000009b793a3c8d70163b00000000000000000f3ed93b595a103b00000000000000008c7186bb04d9d0ba0000000000000000000000000000000000000000000000000000000000000000000000000000000021399ebb0dc8493cb5807f3c2e03973b1ffe8bbbc802783c1de2863ccc71b13b6e374bbac97d4e3c0f255a3c8452aa3bbea3dbb96774373ca063443cd2cca53b42df2abae0bf073c6bbc3b3c8ff6b63b3fb8d1ba9430683bd6182f3c91138b3bd924f3bafaae61399491da3b62a0743b0000000000000000000000000000000000000000000000000000000000000000e60d563bd29e08ba4b37133c90b41dbdfcce1b3b7884e0376df8083ca8071dbd68b40c3bbee851396fa5c03b6bce19bd773ad63a2a2817b90fb4a03bcc11fcbc5050e53a9e6028bab766913b9420a6bc72be2b3b2e937439c9cd6e3b7da8f0bb30d6c23a2fa0e4397a23363bbc9a933b0000000000000000000000000000000000000000000000000000000000000000f744e2bde072c0bc7cb938bc05e6db3ae4f6e4bd671cf7bca9aa24bc59403f3a85b7cebd232501bdd26d05bc2a3a6cbaccc5b4bdf1faffbc2e93c2bb8b3051baa22c95bd301bf1bc6e6d8fbb40434dbab0f557bd6b02c0bc340222bb7c7aabbae0b7ecbc07a06dbcf7e971b96b9a91ba0000000000000000000000000000000000000000000000000000803f000000004e65d13bd05f75bda433973f355e82bc6bd26e3af52f3abd84507c3f826d993c5f4c99bbeafb1fbd4d494d3f0d39223da3fae4bb4d321abdfbed1d3f330b423d66a3dcbb558c27bd8fa1df3ed5903c3d35af3cbb656724bd1d26853e8b72033d3375253be6043dbdbf86b63d1da7843c0000000000000000000000000000000000000000000000000000000000000000cd17b53bfd329a3a000000000000000013a9033c01aae33a0000000000000000bc650c3c827b223b0000000000000000ca6fd93b6214263b0000000000000000a655263bad09563b000000000000000019fb90bb92295a3b0000000000000000d1101ebca8f42e3b000000000000000000000000000000000000000000000000ca4493bb0e86f33b9754e13b2a274e3a142b54bc538d823c98c4aa3cf0b2f13b3cfe0ebcd5e2883cdf47bb3cb896213cccf6c2bb17738b3cb858b63c507c043c92ac75bb973f513c749c903cd5670e3c3ecca3bb4b45093ccc0c7f3c8125153c476ea0bb0152513bc88d5b3c5f45053c998219bb7fd681bbb8b8e83bf785903bf6758fbadc4f58bb5b942a3b3f7fb8b9013d113bf52b25ba8edb523cd2b305bd6f579c3bfb2f9bb9142aa53ca79202bd72a68c3bb6c73db90068853c98421bbd4fb8963bd6d21db7bf8c373ce63a07bdfbe8273b3806acb92bad353cf4f0e5bca9aa6e3b599d923a7625273c4bf070bc59c4593b3fe2fab8413ff63b0f78a9ba7ca0c73aa8f6b1b9991c593a73462f3c205c4d3a2f6e213970f2dab9b6fe663c268486bd4e1667b9bbb461bc4e262a3b1f29f9bdd226e0bc997a94bc1c71273b5c1007be2e9c20bd89df90bc46634cb80e2400bed24232bdbcb777bce90ce1bae821d1bd846c25bdafa833bcfa7fe3ba5428aabd814826bd349e19bc061845bb8c3f70bd58d201bd0085b1bbe66917bb99d6c5bcf3138bbca39a18396d0857393d2d06bbc03af4baa3dffe3a0c1f56b95436593ce2a9d3bdc4c6963fb831d13dce39843c17d9f6bd5b248f3f2d8de33de710e83b66d3c1bd6646743f84440b3e3df945ba0de898bd8101453f01570f3e1e522bbbb9a98cbd6559143fcd83053ecb067c3afa438cbd2c5acf3e9f2ee33d74f9b63b376b86bd4c2d6d3ea599a13dc15e6d3c068952bd1c718d3d21f7173d5ac94a3c88ef2fbd11215dbdf8bff93b8cf1bcbc54543c3b00000000000000004bd78cbc2c53893b0000000000000000d52813bc316b663b000000000000000096b790bb4be7863b00000000000000006da552bba358373b0000000000000000da2518bc2148643b000000000000000015b178bcf06c883b0000000000000000000eaebc4d54a63b00000000000000004541a2bcaf008c3b0000000000000000cc2d96bb694f083c660f9b3b7885963a781116bc6e936f3cdd64823ce69bb73b0b3994bb48f06a3cec596e3cd5a5bb3bd66ac5bb247a693cbe569b3c8687233c6b6e36bbd0902c3cebc3623c9624e03b0b70bbbbbcf70b3cbe91813c591d0b3c625070bb1d64823b59e3293c0e96c63b603f74bbe5eaf8ba0b47e33bea4a8d3b7522fcba06e765bbbdad243b335b233a9ab3b43a268b673a97085c3cf23bf1bc26525e3b93f9113a1d5e933c516b0dbd29e93f3b143c1639c947493ccdce0fbd4586753b2c8cc139c2af773c4e16fdbc8c5d1e3bc919dc3a292c253c216fbabc8f5a853b557056ba3e733b3cdde632bc8199253bc2829539a04bed3b071625bb7b5cf63a6e30283a1551573b29e7313c97f2323a073a0dba02d1d03a0f11443ca5a154bdaf52893bc5d38fbce8c4bd3aa5fad5bd7a26bfbc84a7bbbcc56e0d3b2cc2d1bd54e00bbd37f784bc0e9fbfb917c1e4bd5e8d41bdc92498bc0ae70cbb729ab4bd96562cbde1fc5cbc9ffe52bb20999dbdbd4033bd8ac54bbc02cbbcba75924fbdd36d00bd40dfd9bb3a48e1ba159fc4bcd499afbc54d21dbb5703b2baa90a00bb61a970bbb913063bf8339839fde6533c817ed9bd6bdb7d3f98158d3ebce48f3cd17a05becd59773f71ce903e87c5c73bde38b8bdfbd3493f03d48c3ece7d993b1b81c2bdb54a2b3f1daf833e334bacb847c59abd3b2cfd3e79705d3ed193713b52aaa2bdf0c9b13eba4a373e0b3f983b98bc84bda2434e3ed07cfa3dd9396b3c85956ebd7b666e3d6e398c3dc4886e3cf01b1fbd84832fbd98856b3c3f373cbde7dfaf3b0000000000000000f9d332bd7573e53b000000000000000064e1c1bc50f4a53b0000000000000000ba8f9bbc7b6a953b00000000000000001c973dbc2bf9ca3b000000000000000021de71bc9ca6833b00000000000000005fe85cbc33175d3b0000000000000000f035c8bc2c828c3b00000000000000004610acbc8232f63a000000000000000068241ebbf7010f3cd1d450395cd6b139ca83dabb04a84e3c2392543c6604aa3ba95bb3bb573d5e3c90158c3c72ec123ca5bebabb4f02553ce22d933ce8a61b3cd92c6bbb25d3313ca3f97b3c4b93113c02d7a5bb22c9de3b04f15f3c1a8f133cf69e98bbe763103b5676483cb834f43b632784bb70c3dbba807cdf3bffa3a23b4a861fbb32e08cba82f00c3b00041039679ba43a67279bb91b0e3d3cf00f03bdea7b553b03c5923aa70f853ccb66febc4d1c843b383d5a3a0f9c6a3c2df6f6bc703f703b3f9d6d3a0057403cc2c0bfbc00b79f3b11f59cba55f42c3cd54f8cbc6313843b39098f3a751b233c222ad9bbc3858b3b8d58263abc56f23b65e5493bca37063b2f6b1c396534963b10d4203cb125c33a31f82b3980b9493b34e12b3ca91f39bd085b1a3c3c0e80bcc9472f3a16c5b9bdebabd2bce9fcccbc1aee1f3a218bd7bdc5123dbda6b2c5bc487904bb5835ccbd3abf5cbdc63aa8bc00be46bb2be4b4bd770853bdfc3f98bcd6af40bb568e8dbdb4cd4abd8b3768bce8a057bb156944bdb6fc1ebdddf337bc4c1e87bb1e8ab6bcc406b5bc90728fbb2e489cbacea066bbb9b2bbbbc8ed0c3a3a3d99badecc383c0864bfbdc1b24f3f66aee83ebb2a653cbf2ff2bd8a4e493f0945eb3ef2dd063cc703d0bd530e2d3f967adb3e11e1c33b88c6b8bd0c090b3ff112c13e0e8b5c3b1574a8bdcb33d13e8c65a23e63a2a93beeb59bbd9c858f3e85ec7a3e497c0c3ca97d8dbd00c61e3e0be72c3ecf955f3c4fac62bd8d91273dde4bb93dc3562a3c506c1abd3f3b22bd356ba33c0bfb7cbd3e90503b0000000000000000bbbc84bdd0af2d3c00000000000000006e2b30bd8cc5033c0000000000000000ba72e4bc768cdc3b0000000000000000440e8dbc18c1af3b0000000000000000faed93bc76750f3b000000000000000046459abc09b8b73b00000000000000008ae0c0bcbb0c353b0000000000000000183395bcfd584e3a0000000000000000559877baceefd73b642123395d392d3ae3859fbb8f45303c0089383ca69fc13bc51783bb3dd9343cb241703c93cf043cec9082bb6bb33f3c2da2823c450a2e3c0a0975bace8d063c1ffd243cd11e9b3b37608abb8278e23b9783673ccd8f1f3c25e981bb5862163b4e7d1a3c1399e73bb6ab66bb638e9eba42ecb43b6a658d3b2779d2ba60fb2bbbeec26e3beaf34e3a60e1293b27f9b6b99ecf173c4a31c2bc3b40143b144fce3ade0c533c614dccbc5bec573bc8e89d3aba18243c0891b7bccf78903b96256b3ae71d263c900b94bc15c8953a4dda7d391842cb3b7eab65bc54f4743b31d6a53aef5a123c1e35a1bb26804d3b9703553a2fc6dd3ba26b223bfeffc43a2eead63a20c6a83b9d8c1e3c7edc903ae78fbeb976bcf43a894c293c2d6532bdf331913b24b48cbc8c9b0cba7f5fa6bde0ddfebcc8eacfbcbbf234badb60b5bd122954bd36e9bcbca01d2cbba19db8bd4ff580bd866bc0bc9f8cacbb9cad84bd03da40bd31016bbc050056bb102180bd7ddc61bd5a5a96bc848f99bbd0361ebd956522bd411a39bc06c061bbc2ee99bc4e8dc3bc45b4a4bb422b11bb8b006cbbce69c7bb888288ba4a1146396be9b33b91d1a0bdae5f213f5b9a223f76c62e3cd725c6bd55df193f0533223f30fcd43be2ada6bd2620023f9309113f95b6423b2f83a1bdf683d43ec7f6fe3e1a0b48bb6d4d69bdbedd993e42a8c03e7086633b76c889bdf330553eddfc9d3e0a24ab3b5d2965bdccb1de3d23034e3e6b9d1d3ccae43abdbc83a43cf5e6d73d768f293c9e54f8bc0d0a29bdd7a6933c58809fbd3459993b00000000000000003683a1bdb4b42b3c000000000000000077b243bd136e163c0000000000000000eaeb03bdb8c9e93b00000000000000006cb30dbc9882ba3b0000000000000000589063bce99e8a3b000000000000000098c05cbca159083b00000000000000002136a3bcda872a3a00000000000000000ae17abcd3f552ba00000000000000006fc1d4ba16baa03b10a2113b68a9df3acb87a3bb20c3fd3bcbaa523cb1d30c3c6121ddbb2e4a1a3c4c00903c3fe4403cb339bbbb7657e43bd30cac3c7318333c297843bb91dadb3bfe21623c9ccd553c11f193bb51d9763bc3f9593cb87d303cd5dd82bbb1d6c03ad50c143c026c1a3c888719bbc4ef1abb13c2a53b79b5ad3bcac0c1bac64331bbaffc003b0478ba3a1ddf9a3a0b00a93a5c56e93b988081bcafd4753bfa761a3b6e9f1f3c71a169bcd0e2b53b5f720f3b2665273cd6da35bca03faf3b1bd51a3b82c81b3c74e936bc250b713b655dd73ae9d0063c2013abbbff61a93bab6ed83a5548f83bfdcaff38e214903b1e67d33a0780c63b675aba3b06670e3babb93d3a5e8d1e3be8e1163c1067a5b9bad7473a5af9363b58960e3cf5e436bd919488bb9b9e89bcd99e85ba3bea9abd23e043bd72dee6bc0cee30bb2c43b3bdd14c97bd3a51e3bc677ab6bb8218a6bd7e319fbdb2f0dfbc84d7a6bb6e498dbd616f92bd70f2cfbcab2bb1bbe24a57bdb77081bdb350abbc20fd99bbfc4f0cbdeb4740bd7edd88bcf32141bbac2d4cbc8351d9bc4371fbbb2ca84ab806c3293a6c00efbb7508b0393c027d392f1fd43b188f7dbdeea6e63ea489503f4239223ca3b9a0bd5a97d83e465c503f2242c43b80798ebd5830b83e9bc83a3fa422f43b6c4585bd84a0933ea6151d3fece3253a1bb46ebda42f573e6cf3f93e8c976a3b4d9f59bd572c0a3eee5ab93e8eedac3b43fc3cbd8f1c7b3d9a1c713e964f0a3ce7f30abdaf691fbb3ae0e73d33cd013c647eb3bcae9134bdc1403f3c6eceb9bd27d6e53b0000000000000000f52cc6bd122c7b3c0000000000000000627f80bd8c10473c00000000000000002c2616bd435d133c0000000000000000476a8abc5afecd3b0000000000000000482c4ebccf8b5e3b00000000000000006f6048bcf7b3c53a0000000000000000189f91bca05c9fba0000000000000000e3a37bbc28c7a2bb00000000000000000804d0ba7fc3063be235713b02b2a03b13fda7bbe21c383b8d6e643c4d90533c6fba69bb2d02b53b72d4783c3067423cf660b1bbd1f2d53b44378b3c896d883c7c585ebb7adba13bd75c6c3ca75e3d3cc75a90bbc962043b2f2f533c8350513c9d4a49bbc7e0493a29420a3c1a9a0e3ca65db5ba027111bba5b4283b968fc13beec7c1b8a12d1fbb01454cbae5777e3a51be163b34bd933adc418a3b7c2cc2bb3fa9a03b3e64373bc9baef3b5972afba8280ad3b7848ce3aa3eb9a3ba491b0bbecd1db3b9d563e3bf561cb3b1d2d98ba055c913b1f32273bd01b893bf3a8c1badcf0cd3b662e133b41d0ae3bfe7fac3b709b753b4fb8e539ec74753bd22ed13b39671f3b7f88933a7089c03a8600f33b891b5b3a89a94cbaca11b7b8fd01cd3b6b0b24bd85cda0bc64b88fbc2dc007bb04768cbdb93493bdc8fdf9bc9b8e2abbc6b48dbd645ba5bd59acd9bc91079ebbf72190bd8358c6bd596803bd9636febb6a1a65bdd73ba0bd8f97d5bc28f6f6bbb5c133bd505e95bdbb98d2bc3968b2bb55acdebc208b49bd948085bcf1212bbb6471bbbbd41be4bc42ee05bc15952239b595c53b46e08dbb4fdad23a7a0b473bc673b83ba14331bdf4948a3e4f6e7e3ffcc1013c58b359bda77a793e51337d3f34267a3b62d835bd8bdc5a3ee450523ff0ba803b32123fbde19c273efd9f383fa4a2643a498a1bbdac03ec3d46780c3f746e313b52d118bd99f7813db869d23ed750173b9087fbbc61f9c53c84f2813e5d8bbc3b38369bbca4d3bfbcdc97e53d15bf883bf21ff6bb7c8735bd602ce4bb1833d8bdf7a7333c00000000000000008abfd7bd0eab8f3c0000000000000000bcb33fbd8f3d323c00000000000000001be4f9bc319c223c00000000000000003bf4c5bb2dfeea3b0000000000000000c4fe97bb0ef9443b00000000000000006fad33bba985953a00000000000000006c0970bc4ad504bb00000000000000008ea87cbc3f61b4bb0000000000000000b49fa3bac9c4e1b93507b33b2b49c03b4e3aa5bb29d444bb1fcc803cdfee9c3c0f18b7bb1bfee939dbfc953c5dd0ae3c3197c8bb54b6ab3a10de9c3c63fba33c58898fbb6ec9173b297b7b3c919e7d3ce24a85bbb6d11dbaa595393c4f52813c7d0004bb38f90fbb1e18b43bf51e4f3c335d483abcae42bbab01b3b9c645d73b275d8d3a2bd130bb787425bbe16e023ba98a413bf306b73abbb0063bda64563b73ba073c3ee65b3b01642a3babab2e3cf35f1c3c43d15d3b2ba14d3becfa023c29c6173cf336863b825d793b8f53bf3b35adfc3b48cd1f3be1c7903b9d76a23b0370053c2e175c3be681763b32deef3b3c2fdd3b84f60c3bdecabf3a6d8b013c8e964a3be6bd343adb41beba2343893b70788d39e75cab38d8b593ba0bca9a3b21b026bd51bb46bddcd68dbc08e7e1ba2fba54bde564d6bda9f705bdbcac8cbbddf27cbda01af7bd48621bbd19dcf2bb8fdf69bd6d21edbd82261ebda3e617bcfd0940bdbc99c4bd5c380cbdd358f0bb0315fcbc20dfaabdce1602bd2b42cebbe32865bc11bd73bd7ef8b4bcffee29bb57315c3b3089e2bc8f331bbc04b1f53a7bbc343c9d897dbb14c8f139075e193b7c53663ba3e1a7bcb41fc83d7728973f938a923b038cb9bcf07d983d587b903f3fc4783be583bcbc85908a3d35ef793f0c13263b5009b9bca6014c3dfffa4b3fd03b1f39c77fc6bc1e48f93c72b31b3f22b1b93a8e09b3bc428b3b3b946fdf3e1c9dea3a5dc669bc9fceb1bc1865863e87be313bf19cf7ba6e8912bd6d23c73d3ad30c3b1fc5f43ad22e48bd21b405bdf347d0bd57a6363c000000000000000010debabd5c4c923c0000000000000000da2520bd33e1533c0000000000000000939205bcdec1263c00000000000000003f973c3cd3a3d63b00000000000000005b2e5d3c110c1d3b0000000000000000736bf93b6584bbba0000000000000000d7db13bc63e759bb0000000000000000dddd62bccec5b4bb000000000000000000000000000000000000000000000000ebbe4ebb2abf3dbaaf46703c6c76713c90556fbbc5ea6a3acea2893ca035883c305a5abb72584b3bf29a793c6f81623cba0d37bbccac2e3b68745d3c7c8b4d3cf03825bb7b61cd3a6325283ca4403e3cce5b79bac7cf04bb0f54ae3b90f8233cbb2a6ab970fe24bb979a823a0fcfda3b000000000000000000000000000000000000000000000000000000000000000025dcbf3bed452b3b31ba26b9c6a6173c873da53b6443703b90e7ee390cc8ec3b88f5a53b8fa60f3b895deb3ab371993b0b73973b1b55d03a6b4fd93a95b1993bd0bd573bd233383b92a2d03a4ac8b93b812d913b90c4fc3ac04cdf398ae9e63b9f095a3ba9e5833abfa285b93a30b43b000000000000000000000000000000000000000000000000000000000000000011d03fbd8bbfdfbd27fce7bcecc2d1bb460c3abd8b51e2bd55db09bd87d202bc9c1230bd60f0d0bddd3b0cbd76bff9bb08520ebd87b3b6bd197107bdccdbecbbf5bbbbbcf1fc95bdf0e5eebce02ec7bb163ffebb63315abd105ac4bcf7b356bb1298c43b86aafbbc1d0150bc0e27383a000000000000000000000000000000000000000000000000000000000000803fe94eff3a887fca38a32f39bdfe55973f4252cf3ad57891bb68630fbdd4b87c3f2caf61ba853124bc4e79f7bca22b4e3f9c1a23ba67b549bc30fd08bd69411f3f67b0d6ba940934bc211a24bda074e23e76ccacba9fd99dbb6c7a35bdd9be873ea09a87ba29ddb13a651a4fbdd6bdbc3d00000000000000000000000000000000000000000000000000000000000000000e75fbbca147393c0000000000000000a2e6a93bf680423c0000000000000000410fd53cfd722c3c0000000000000000eef20f3d8226113c000000000000000067340b3d4f1caa3b00000000000000008abebb3cac0e873a0000000000000000ab6b0c3cb5b887bb0000000000000000000000000000000000000000000000000000000000000000000000000000000001ea6f3b4c7afb3b3a7fbc3945bf0cbc5354973b659b143c859ec93ab42201bc54aa8c3ba3771e3cf1649c3a39461dbc9edd8e3b279c083c30c5033beebcfdbb07f1f53ac3ef163cf0bf923be164ccbb7e238a3ad621ea3b77b5b53b31d378bb46ae9bbab5b0a13b2bbec73be28926370000000000000000000000000000000000000000000000000000000000000000d6f8b1bb0b89fbb75525b9b922190dbd6d4ec9bb7c6d9dba057e11bbf5dc03bdcecef1bba6a975baf5c4fbba1642f2bc7e9c05bc925710bbb21cc2baab71cabc7c74e1bb20160abb82db4b3ac5c7abbc6d0aa4bb8bbeb0badb5b1d3ba22071bc983a43bb96addeb902cf943bb260d0bb0000000000000000000000000000000000000000000000000000000000000000a62438bd801629bb0a04d93ba641a13bdd2042bd1a0d0bbc687bff3b37ffd43b9ddd45bd37dd49bc07fb2b3c240dc63bea9e36bd09c04dbc94371d3c41980e3ca5d725bdcca06fbcb208053c797c033c4c86fbbc150b6dbccaff943b177faf3b7d15b7bccabd64bc447df13a55805d3b0000000000000000000000000000000000000000000000000000803f00000000082d20bc47f057bcab21813f5fefb13ca73642bc9f3c4cbc8ab25a3f74e60a3d3dc978bc7d9080bcbcdb343f80e6343d21c391bc5b4796bca8c40e3f9ecb373d28358dbc1c9dc5bc869fd23e0404323d737065bc6e24e3bceb94873ec48b113d492a23bc9ba90cbd9ab8f53d7bead63c0000000000000000000000000000000000000000000000000000000000000000fb2ddb383e3e8fbb000000000000000078f8ec3b5c6c9cbb0000000000000000b96d3e3c1401b4bb0000000000000000f0015f3ceac566bb0000000000000000f4496c3c0e73d6ba000000000000000091f13d3cee1ea2b900000000000000004577183c8ae7f9390000000000000000000000000000000000000000000000009e84473b07bdaf3b11ac01bb6d4be8bb7ec88a3ad6ab4f3c5e4cc33b4fe9bcbbbb5d4b3b612a663c82a9de3bc2870cbc6cd32b3b0fd8743ca97f013c1598e5bb162c173b9658653ca901d33bfd3decbb6c3dd7b95162543c3fe6123c618583bbbdbff4ba7422193c1aee183caf526c38001083bbdc1f8c3baf240e3c2fb45c3be0ca22bbaccab63ae845bd3bdd0f1b3bfa49e5b9aba1293afc639db86aadfabcc4b19dbb9d652ebbda17853b1b4a20bd34cb0bbc7dfb55bb1d71a33a03c819bd545c25bc524740bb6325da3ad3e914bd1d540dbc5a2359bbf66ffb3a454cf2bc35bafdbb990b28bb67f5b43be47db6bcda51a0bbae6d6bbba933e13bab4f63bcff0fd9bace3121bb4bc3fb3b8f2a22bb13dae03a1f07c3ba72c8d53b0f336c39cbd8d9bcac11f13b8ded833bfb2f21babd2b51bd1c00d1bb21f32e3bf5b2423b359b7abd29f45ebc10a5f23b5f14c33be3537bbd915b90bc6a59083c834d1c3c19c159bd3a359bbc5f070a3ca1600e3cbf0e4abd33a4b4bc1bfcbc3b21d3e53bcbf51cbd9bd4aebc6cd2353b4ac0b13bc783bcbc8d618fbc0feddbb9ce97003bc7ed22bc0ebe0fbc9da8c0ba7695dc397872ccbb2b03cbbc3f97803f371d0d3e301845bc48fb0bbd453e6c3f6879123e147780bcaa2affbc034c4a3f6ec0153e0a9e99bc2a3802bd57cd263f43a40c3e5f829fbc13d103bdcb4b013f8364f83d0a939abc7e0323bd8005be3e6b68d43d39a578bcf99b2fbde405703e7b899f3d092ac4bb8cb533bd13b5cd3db1f63d3dc6bb24bb987e11bd060392bc8c307a3cddd130bcea6995bb0000000000000000e8a9b3bb2b3885bb00000000000000009f1d933b31099fbb00000000000000009037313c415f5fbb00000000000000002aee743cfb4961bb0000000000000000dc4f7b3c9db61bbb0000000000000000ac7d5c3c8273b6ba0000000000000000e14d023ccf9e04ba0000000000000000bfc79d3b4bcf783a0000000000000000f0570f3bee2bb43b64ee09baa616d6bbde35233b8595423c09cf893b196a09bc439b663b6c61213cb242323b6f7c00bc544ee83a491b623cd29bf33b6081e0bbf0990f3bb9b8323c7c29c93b4f0fdabb0b100fba43943d3c94f2313c735561bb9c45693817ddd63b4954dd3b62c3cebafde468bbb048903b1a32123c0ad3233b6a3b4cbb5a17363ae536e83b719c1c3b9dc762bb28944e3a1cb99c3a8c0ed8bce2a1d5bbba80ebbac20b603b60e515bd1887e9bb07c30abb44a91e3a698900bd0de732bc6c0b7dbbe7428b3bcb2bf8bcaa4909bc11bc8fbb2df1033b5b37c5bce65611bceabb8dbbc11ebd3b325897bc5ccfb1bb2da048bb6bb0a23b6a6a3cbce4022fbb3147dbbaf65a073c0a7d13bbaddc05baff8b17bb2adcb53b8bea803b8208b0bc92dadc3ba8ca953bcd67123a451e49bd7a0e82bba683cf3b26c9853b8e3943bdaeca39bc33d0f23b6839eb3b54566fbd55b0b4bc2d7bfa3b803a093c2d7f43bd84139ebc9722d83b1d88143c36ef44bd93f8d2bc41b6843b622a033c6dde04bd12879dbc3bdd253bad1fc13b9ae1b7bc7a1f97bcd5449aba45ed143b402fffbbdef21cbc3e460bbbe969883adb25b7bb795901bd11fb5a3f9b728e3ee18f30bc342431bdace04b3fb06b8d3e3d1465bcd7d404bd326e293fd0a87e3e4a3d8dbc609830bd0b27103f7ccd6c3e7c2392bc670618bd4d96dd3e3726423e9c5f84bcbddc3bbd717ca23e5000233eb14c46bc508821bd97a64c3e322add3dc50ac9bba12c3ebd415eac3db45f8a3d97ef59ba8ab9ffbc8fe387bc0b6e863cbea18bbc6c15afbb000000000000000061c93ebca384bdbb0000000000000000cb85a93a7a3295bb00000000000000000ba23e3cd6c94cbb0000000000000000649d733c105725bb0000000000000000bea58c3c90d6d5ba00000000000000000bba6e3cc113153a000000000000000087e03e3c5071f2b9000000000000000029e29f3b6caca03a000000000000000013fb513b7e098d3b629466bb2b21b7bb6a511d3b1bc43b3c7112543b242ef4bbdb5f2e3b4069693c052aa73bc1c9e3bb0cb18b3a16e1643cf73f0d3ccf6fc5bb085c093b5f5d573c537bcf3b38ca8ebb1547bfba714f303c4d3d333c71e956ba0019e9ba7f8a123c3623373cad18df39334980bb8e50643b5afc153c1ff4703baa3702bb1df0553aa24e983b36fc6f3bce6405bb3a4e023a1973563a3ac5c7bcc533dabb887b18bb7d89633b5d2507bd926e10bc5e1d73bb9454303b56ba03bd84f123bc1b556abbc503853baaa5debc1e8b1cbc4b68a1bbb0ca313b8ee4b4bc86e109bc36c599bbebdccd3beab16fbc672be5bb83df2dbb145ed03b29791abc3f6e10bbaa5654bb9744053cbbbe7837b5f5abbac6da0cbbd32ecb3b57f3c23a1e63b6bcaa90083cc735ab3bf1cce4395ed93abd92ecb4bb94d0883b2d1c3b3b78455dbd7b2e8ebcce7bc43b8e26dd3beffb63bd1430cabc03c5b33b3ca01c3c5c704dbd2ed8cebc7a2aa83bd3f4173c888338bda1d1e8bc1dd0073b7383e13bc2280fbdbe88e2bc929d013a8d99893bb628b1bcc83ba9bcec3b26bbefce1a3b83260dbcbae41fbcfdff04bb2656823a252800bccc2fe8bc9b57353f513ed83ea25a40bc0aac30bd1346293fd7b7d03e7b5486bcbcb32cbd30cc103fdf9abd3e186391bcfaee33bd14d8ed3e1e55a53e5df58bbc0c2e2cbdd523b73e3959883ec86a88bce3de41bdd1e1843e9b08593e8be544bcecf53cbd292a233eeba4193e4357b1bb05f631bd81c1833d55adac3dc1c7d2baed3ce7bc647f8bbc2a74903cec2da7bc09e5cebb0000000000000000614a82bce251f7bb000000000000000058774fba4b829fbb000000000000000037ad143cd80855bb00000000000000002dae893c3eaedcba00000000000000000a3d953c001ba0ba00000000000000004f1f963c5c7a183b0000000000000000f27a5d3cabfaf63900000000000000008c39093c6a6cab3a0000000000000000ad30613b97f4b83bae0d44bbfcacc4bb2824c43a04663e3cd4a7583b462500bc5aabf73a7af5353cfb399c3b9e2dd1bb0b50103bf1d8533cd116023c6569b9bb24f42e3b64ea0c3c7b619a3b4718bebb514c06ba4a2d2d3ce414263ce1aeceba91ebb4ba45ddd93b4efc083c6eaa3e3a7a1957bb5a7f823b76ef033ccefd3e3b5d8a02bb011cb33af0f9c73b700f383b871e4cbbabc761b8b78e193952d3bfbc774c09bc037701bb1c17833bc9e6e7bc519c10bc0fb45bbbc16d233b52abc9bce23c34bc97b5adbb74df4b3bd4bcc3bc461a1bbc643a9bbbb52ab63aa78a89bc20720bbc3e12abbb6922bd3b1f924dbc3d21bbbb5fd48dbbd8e8b53b2770ccbb91554bbbc62d6dbbfc5fe73b2cfe7739223680ba1d5a20bbd2ab8a3b9e24693bcac7c4bc4254e33bf54acb3b57a2fab99bde34bd2013eabbc64bb23b01c5813b5a3344bd23a6a1bc093c9b3b9112da3bdd6053bd2cddf0bcd055423b04d10a3cf1081ebd34b9bebc8dda7c3bede7193c9f702cbd8e53febcd0012dba86f0ff3b7cf7f2bc0cb7cfbc8bed38bba40ab13b5e819dbcd2f1a3bca2b68fbbbe5e1b3b046d07bcb6a12bbc29ba8dbb44b0983af826fbbbf14cddbcd4a8103f99b9113f307649bceb291fbd6dc2043f94a1093f013463bc3da314bdc801e13e4247f23ecf7684bc71e727bde33cbb3ea682d33e7d5a7ebcc33107bdcb8f8d3efb7aa43e837574bc2fbd33bd86444d3e8ce2853e878226bc879f21bdb307f73d6ccb343eaa4f9dbb8b0a1abd56ac313d769ac73daa5442ba638ad5bc74b9abbc284f913cd792cfbcfc5f05bc0000000000000000b7f791bca605e4bb000000000000000022c84f38151091bb00000000000000008d4b3d3cc2de2fbb0000000000000000af45973cffddbc390000000000000000f147b43c55dbc03a0000000000000000645ca73cd96ef33a000000000000000070e1863c2397eb3a0000000000000000b858213cda12853a0000000000000000e186243bc0e8a03b444ed6baca8bbebbf181eb38aeea333c8523c03bcc0ab0bbe80ad7b9519c563ca7cb103c07ef61bb5e3faabadb36543ca03e283c27ee07bb88a9fc3932ac313c8855253c8fddedba746612bb12eb0f3c7a8b363cb1eb9b3a70976dbb4203fc3b7c6f283cc5634f3ba9d787bb8add823b8c76fb3bffbf9c3b9a96d4ba3937213ab6ae773b10e51c3b6eb172bb6e28de361c3bf339225294bc4674fdbbc51d23bb2ba8963b511dbfbc0c951cbca7e5a9bb5d5f863be638a8bc6c4a33bc9dcba5bbd65ba23b8d4592bcd9ee1cbc2de8bcbb3fee8c3b7c8e7bbce835fabb0752c1bba656de3b8384f2bb3bd5b6bb850688bbf80adf3ba87332bb7616c9bafd5b0bbb46b2b33b00233f3bba61b4ba611d20bbc6778c3bfb75993be787cdbc2154393bc9de9c3bb658673954683dbd34e182bc13d1ee3acc3a423b8c2556bdeab001bdfbe91d3a769bcb3bd25550bd7d9e15bd6a61f8bad739063c1f6d3bbd28350fbd807de2ba5a53083c541d1cbd475216bd7886bcbb558bcc3b1e04f3bc50db01bd334eddbb5eac903b6dd488bc39e4bcbc0846dcbb8731153b4d98b9bb3df41bbce0b885bb43912c3a09bbdbbb8078b9bce90bd63e64f5353f5b9d20bcdf4f12bdecf8c43e5d042d3fa8ba5fbc5a161dbd3219a83e72af183f27a650bc814921bd8726883e437a013fb84f6cbc36db1bbd3f92503e2edcce3ee1b945bc28b42bbd84e60e3ea89f9e3edb8e1bbc16a922bd1b35a23dfadd563eca6b17bb3cb80ebdb907aa3c2326e13d4e00f3bac547aabc6604bdbc3cdd4a3caf7fd0bc4b96ffbb000000000000000021d3a2bc46e1ddbb0000000000000000bf86983a031473bb0000000000000000f3a5623cb8f5a0ba0000000000000000e399b43c4338aa3a0000000000000000b387cc3c608e063b0000000000000000d3e3bf3c94fa1d3b00000000000000001d877d3cdcfe163a0000000000000000744c0e3c9fc4a73800000000000000002724e438f1f4bf3b586e273aee9482bb008f66baf627163cd367e13b974f2639b994883a0c800d3c25e5c23b8ad426bb95a3c5bac0d54b3c9677383c99bbf6b9fb4e57ba6c80123c13de1f3cb06af33802803bbb89550b3cae6a4f3cc298833bd2cb8cba4b1f8e3bb890003c2bb13f3b07a05dbb435bab3a458ee13bb2e0b83b9dc408bb313a53ba2591783bd029833b095275bb94d7e23a0f4fd83a063858bccbef04bc8f9a15bbc85eb13bdc6f81bc3441febbaf5381bb9e76f63a6dc070bca6720bbc5b78bebb1277a03b53fd5bbc72c00cbc42e3b6bb05d5683b67b712bc7d4dd3bb5f77adbbdfdab23b622295bb76cb8fbb8f5e87bb6f488f3b9c96c1ba7a105eba10e957bbe4edc93b0560913bbb18b3396f4372b9e16c653b875ab13b010de4bc1be3c1bb7cbb653ab348e5ba7a1242bd22bbe2bcd16516bb3cbf083bf4e82dbd70f303bd7dae47bb6248c03b30fd4abd8f5e36bdab7bd0bb1aa6ca3b999c1dbd50511ebd91b3cfbbd043e33ba3e312bda50330bd0ef324bc214e8a3bff0cc3bc43f7ecbc336a0bbc1a018d3be4e069bcbb09bbbc66e819bc8ac23939250385bb1e791bbccbf4b4bbe1ffe8badcc698bbb8ce96bc70568d3ec0d05b3ffad50abc5d04f9bc9db57f3e72dc4e3f5f921abc7a86d8bc7beb563ebec82d3fde9442bcff640abd70a52d3e724e173fd20047bcdfdc00bd0be5003e9112ec3e4c6839bc27241bbde66ba93d7a7cb53e1e62f7bb8da7efbcd7fc323dac126b3ed00a0bbb9213e2bcdd5f0ebb6e50ee3d012f5e3a5bd886bce52ae1bc0a0bd93b863ee6bcc033e9bb0000000000000000d49290bcc87aa3bb00000000000000009497c93b6a4733ba0000000000000000a6b09a3c53cc423a00000000000000004a6cd13c06ad473b000000000000000014c8eb3c8308463b0000000000000000379fbc3c1111903b0000000000000000c6608c3c026c223a0000000000000000fb92eb3bbde985ba00000000000000008c5836ba81d5c13b008d0f3bbc992bbb6f3569bb5d231e3c1dbd2d3cc8601b3b173a60bb4cfd283c26c5513cfdd5173b416247bb7848123cfc46663c4dbd7b3b538efbba669c0a3c20b0443cf8525d3b92d179bbc437c53bdf854d3c84d4d43b7a038cbbf50c783baeea2e3c57c7e13b3f045ebb33f0c7ba8bf3e03b5c34e53bae49debad2c6cfbae605283b3849c13b870794bb4f79d7b9bfbbee3a177f1ebc00ebc4bbd2bd2cbb1c1f4c3b2e4f0bbc8f55e9bbc5609dbb3db19c3b12701bbcf37502bc1734c6bbdaf99a3bf97bd8bbfeaefabb2a20c9bb4455863b7df399bbb7cf80bb74ffacbb2a8aad3b0d859fb9ba4816bb19525bbb6257bc3bb25e543b7088913a5a045bba23e1853b07c5f43b039d83394ef2a039b70e3e3bbfead03baa2004bd37aa86bc4f5a87baca95a4ba944339bdfa202abd927610bcfc8f0d3ac8193fbdddfa51bd01a031bca539813bec3632bdc8965dbd7f1a5abcfd47ab3b767f14bd44d343bd8bcb57bc91cfc63be6d0f6bc5df83fbdb2fc93bc041a373be928b1bce68a17bd86c482bc3265d53ae55212bc03ebc7bcaeb050bca51381baae3b2cbbd58530bcad3bebbb882e36bb769220bbb8cd4bbce198093e54a9803fbe4b6dbb0e53a4bcc1eaec3d90c56d3f306b01bc7645c4bcc20cc83dacc54c3f14fe19bc1aebdabc1561983dfa0d2a3fe71a2ebca6d2debcf0c2513d7382053f02a50bbc5d5ce6bc0242c33c55dac63eefe8bcbb595cd8bc266fe6b948db813e6d68f938d62aa4bc3e0eb8bc0c8ef33d460dbb3a445148bc078108bd2d756dbb35a4b0bcdf2d67bb0000000000000000dc26fdbba331faba00000000000000002b477c3c59fc093b0000000000000000a5d5ee3cc204a73b000000000000000089dc0d3d37e1e33b000000000000000060b8163d2de6f53b000000000000000050f7fb3c4c1bb93b00000000000000004de2933c5d1d053b00000000000000005d56e73b6bee42b80000000000000000000000000000000000000000000000001e10deba213eeb3b199bea3bd847493ad7e61bbbf065073cc996423cc599df3ad99f03bb9ab30e3c77e4253ce983f13a1a2532ba2456ed3b55b6233c1bada33a9070d9bae305a83b035f363c1be33f3bbf9b24bb67f52f3bb66eea3bb10f903ba4312cbb1a927cb97534cc3b3d46e13b0000000000000000000000000000000000000000000000000000000000000000b865e0bbb0ec68bb24443f3b3fe2bcbbcd5e03bc1b188cbbf575483b45d5aebb47acfdbb6f26cebb22cd843b1e97abbb1cbfd3bbb24dacbb85f4213b21f23bbb76c09bbbfdb8a5bb9a66763bb4bf19ba7d586bbbfca286bae97d7d3b4d8e803b677cc4b915c8d9baa1435f3be3e3d03b00000000000000000000000000000000000000000000000000000000000000003c1c1abd4b5e31bdc05b09bc104d1f3b554f12bd93f947bd33ea3ebc2140893bbb6c06bd859e43bd0e0b57bc72b4ab3b7970efbca03e33bd390b66bcf761b43bb060b2bcc27220bd8df781bc91a2793b4f1d83bc28b0fcbc4cc871bc2641f3399dca05bc62ebbfbc34f973bc04fa9eba000000000000000000000000000000000000000000000000000000000000803f1c7c6fbb174234bcf4d51abbd015813fd084ddbb2c8564bc23d5a4bb77705b3fb9f714bc4f8593bc1d310ebcdeee353f092a06bc70e998bcef4e65bcd3a40f3f3cc80bbc55f5afbcb7d599bc371cd53e649665bbdeaa89bccf03e4bcbf79893e674b95ba52a474bc1e110ebdcd1cfe3d000000000000000000000000000000000000000000000000000000000000000061e11c3cbf0beb390000000000000000a501c73c8788b23b00000000000000005bba0b3deaad0c3c00000000000000003a0a183d28d1293c0000000000000000c91b113d0c063f3c0000000000000000e096ec3cb19eda3b00000000000000001d1eaa3c97c1b13b000000000000000000000000000000000000000000000000000000000000000000000000000000002235cebb8792ab3a6ac8263d6ae3183c389f90bb3415633bf0181c3d0182543ce47ce5baf1baca3b956ff33c8c625c3cb34a0e394e88093b4ec2bc3c5cbd5f3cca76823a8083473b882a823c8c211c3c8ccf3a3b4ff70f3a6c751c3c68a9693bef24d03a181d5bbae3e63b3be382903a000000000000000000000000000000000000000000000000000000000000000022f88eba8d0eeebad9f20c39fd15753c4fb7233addcf3abb570bb5ba3655123cbfb13e3b54c544bb2e7046bb20084bbbd6259f390192fab9822cefbaaef27cbba4cd593baddb00bbe4f4b3bbadf3a0bb0d666a3bf37406bb09dddebbaa1848bb354d3b3a4d984cbad96cc1bba6239fba000000000000000000000000000000000000000000000000000000000000000080e957bec9c160bc0461e53b03bfe0b9f1214cbed5e9e0bc0f40753b57130b3a2d1634be05fe1abd5275903ab235823afcc10dbeb2d012bdc21faf3af10c7c395aa6c7bd95a9ebbc9bdf0cbbe7c94539fb5352bd4d5b8cbc3d06d3ba1105b33a9b49f9bb72f9f1bbf1455cb837a0113a0000000000000000000000000000000000000000000000000000803f000000006902b63c97c806bef240ad3ffea1d3bdf4cc7a3c0cedc0bdf9ad8e3febd932bd8ec23d3c66a497bd14616a3fea0c41bcd9a92a3c61266abd8cf12d3f0147af3b4f0b033c7c0a0dbd7cc1e13e9bcf873cb1f6a83b8cef33bc49115d3e1964823cafae283b6659b13b0238ec3b04390f3c00000000000000000000000000000000000000000000000000000000000000004af66c3ceaacabbb0000000000000000ed6dec3beb2474bb0000000000000000d3bfa03b68c85cbb0000000000000000b071fd3a03e86cbb000000000000000026811f3bd3100fbb000000000000000043d91c3b5bc91dbb000000000000000061174a3bcc36f0ba000000000000000000000000000000000000000000000000ae99edbb5fd31cbaf4c8b83c48fcee3aa75f14bcce4d64bbdd30253dba290f3c5d32a8bbbb0bf33a65ff253d17447d3cb8b83cbbcda64a3b4bfe0d3d3c188b3cff4d5bba601b903b14fbcb3c1f37723c958632b98462433b00158c3c59122f3cbf51b23a7b51cd3a8ed51f3cab61c63b0e5bb03a68083c3bd0f72f3a79c92239e5f9b3b99524133918c667bbf65f1bbbbb5a33bb301a5fba9798543bf062803ce3163bbb55081cbb664b44bb96b91a3dd4c0ecbac93b51bbec4936baed8f913c79c12e3b6d877ebbdd9ffaba765f243c2ac16d3ba37725bb01d986bbdd527c3b6a31253b628e0dbba4f6d3bbae46683bf8af633b863d17bb30a3eabbbddd1bbb03865e3bdc4737ba3446e2bb2a9703bca513af3a77c053ba20e5bbbb77a5f63a369e03be13dfc43b31d38eb9d350173bd7c347be90a6f9bb5e69fc3a0ef41b3b998856be0fee0dbdc003b53a4bd6963b2fcc3dbe460439bd35c71bbb094e783b3ba713be8bf335bdb866e3bb165e4c3b1bf6c9bdac8313bd11f098bbac3d313bb94a4abd700dc7bc3f6ca9bb8ca2373bb0ecbdbb253835bcafce49bb66b27d39b4dda73c73d3433b85b32ab945567b3a2151313df51d5bbecb95ac3fba28653c62603a3da66b54becf9b9d3f389b1e3d516e073d7b832cbefa328c3f7f5c8f3d97f0e13ce3ac0abedbab613fae39b23df1d7aa3c8da6c7bdcad3243faf40c03d2b318a3c63d271bd697bd03e03bea83dd2bc3b3cd927b5bc0a4f3c3ef355853d9bff003b9a2d9a3cd56ce83b99f7303def2f623bed1b5c3c4297f6bd65e2203b2a278fbcaab9723b000000000000000005a8acbc16d3803b0000000000000000459dccbcc8a7b93a0000000000000000b2fcb1bce46cc03a0000000000000000942f80bc867a74b90000000000000000a96272bcc020573a0000000000000000b2453dbc951a973a0000000000000000a9eac2bbaeed66ba00000000000000008f5b92bb882dd33a000000000000000086d7f3bb9715253a78be703ce1085f3bda80eabbd6b7da3aa5f6e13c6cc5613c9868b8bbb6ceb03b441af53c6a68983c4c3babbb2b26d03ba8d1d13c56a5a63cb9f081babe18853b6b92983cf678683ccab9b1b9c29f9b3b239c5f3c5665383c3de61bba56ad453b059dd43b42b9db3bd0e9d8ba643e6a3b33394fb75283f93a5d79eab90a83413a2dbd24bb794156bb1362f2ba975bf8bad785b03b9510313cb95049ba338d34bba4ad8f390b1aa23c33a04d3be33171bbf612863a8599233cb5034c3b76fc22bbce65afba4800013cf2a7c83b64c150bba91445bbbe97af3a89779b3b9f1ad0bab644b7bb6936d43867c4873bacd302bb9f12ccbbc51f563a9dbb383bee8f7fbae890c4bb655a7cba8b5ae23ae457a5b96642b5bb40ed9e3ac25fb2bd2151303b8deeccbb303fc33b721324bed61803bde6f9a3bbc558a63b838b2dbeeaf46dbd8d50ecbbe60bc03b7e081ebeaab686bd02fa27bca6b7b03bcbaeebbd17986cbde7e13dbc304f9b3b57dda6bd917043bd006322bc22e62a3bbf232bbdebcaf9bc1b16f2bbbd6d363b164afdbb960151bcba05b4bbab1bc63aeff25a3c3364703b01ff47ba0b0e3f3a158c313da8205bbe785f8f3ff2cb6a3e2539503d23cd67be78de8c3f6569753e15651d3d48223ebe6795733f02fd7e3e2be2043d153018be12ee433f167d733eb8b4c93c55c0d7bd68570c3f02ea533e3a9da73c7e7c8bbd85d2b03ea6612a3eed56863c91061abd2b3c233e7ce5e53d6bc0cd3b894b08bb2f73053c58895e3d22f5bf3be1d2173c9079aabdf897763bbacb8bbd276d5f3c0000000000000000435291bdb5d16e3c0000000000000000caf87dbdc27e2b3c0000000000000000507e61bd63f8153c00000000000000006b5329bd6bccf13b0000000000000000b4cf14bdcc89f43b00000000000000006de4d6bc0e29a63b0000000000000000202084bcfbe8963b00000000000000001b2f43bc7702813b0000000000000000e27895bb42a8a43acf5df33be78eda3bef5503bc43da3c3b7916b53c3587883c5c9eb1bbf0af903bef8cb23c5448c03cdbfe1dbb93ed893bfcb2a03c4d55ac3c50e707bbb4c8b83b2b3f733c8abd903cd5e627bb062aa83b143b1a3c7e805d3c257dcfb9ec48853b151c943befa8e53bb6b5d0bafe0c503bf22c4b3a232cdb399d53afba824fcc3a02284cbba7703bbbc5820fbba5d05bba4b75b13bdfee8eb93023f23afd2c83bb6ed77e3b031c3c3c9ff9893b219981bb7c54a63aec021a3c29b9093cef8698bb522437ba1ddc483b0c67e43bbcf7ebbaedb402bb93e5c23aa4f3993ba4c66cbb047864bb5b0a873943ddbe3bad490abbe8de91bb81d71abb281b803b7398f3ba3ea6b4bbbe0086baeaf2033bb5380abbb18733bbe19c4a3b6f138cbd18e6d1bb1b917dbc0077113ccbaafabd0ace74bdc35a11bcbb14073c24ca0abe16a9adbd195b52bcf25c113cfc8bf2bd2db6b0bd304097bc158e023c1863c2bdf877a2bdbbfd9abc885be23b26c97cbdfc6e75bdb7996abcb4dba63bd48806bd3ff21cbd858a26bc2fe63c3b8c16bebbf56f5ebc158cb2bb72669d3af6f2123c066e933b54cc21ba434a8b3abec6203dc20247be2d0c6d3f0ec0eb3e92d23f3d6f1b59bebf59653ffc5bf13ea3001b3d73e431be1708453f6e39e93ef933ff3caa1c0bbecdb21b3f7890cd3e3dffca3ccb81cfbd5aacdf3eb57aaf3eb2b0a63c56538abdff0e8a3e7823813e6bb6793ca0c60cbd93f6fd3da8a5203e655d253c3e3f1abc03a9f03bca7f833dd4f9db3bfe1318bb1d7d85bd0abab9bbf632f4bdcd6dc33c0000000000000000b2bfffbd12f2ce3c0000000000000000bc37dbbd348ca13c0000000000000000741aaebd208b843c0000000000000000bb8b91bdbe34473c0000000000000000f82550bd2d94413c00000000000000007c591bbdbae9293c0000000000000000cf48babc040aef3b00000000000000006ddc96bc7b48ee3b0000000000000000a2598abb2b89bc3a0437d83bd7240b3cad009cbb6eb44c3a5b6e643c88b8aa3cff0366bb69a7853b3f83893c1ed1c43cc87745bb031e8f3b9fd1873c22c9c73cfabcb5b993e1833b95061f3cf824803c935551badb89933bb71ae43be62d693c1cd9eebaa6966e3b4ed7333b5515e53b0fc8f1bae9469b3bc5cdb7baabc2ba3a066a40baa557493b0c6e9bbb443c0fbbf56f383af7bf4ebb14acdb3b551516bb820e923b6f0792bb24c7f93ae58bdf3b6aa1db3b107185bb6b7d0d3a8574fc3a6fbd043c254b46bbb46a85ba8748363a72b9e03bab92ccba9e4b0bbab64a66bb3b790e3cb20124bba0e451bbf1df27ba8a58d33b041bb8bafd4c17bb8e6fd0baff5f1d3b2d40e0ba75743cbb566519bb8cb50f3ba54acabad5d92bbbb5ed443af55250bd07ddc2bc42f38abcbbcc303c6a5bb2bd6fe2acbd2b5584bc07db3e3c5c33c6bd6c7bdbbdc409a6bc2294163c4398babde37be4bde884c1bcd0380f3cf3818abdae16a1bdd7e9c3bc07fa973b535348bd868998bd19fe98bc52be903bed9ed1bc82b324bd1b6260bc52f6023b151bcebb04774abc447eb9bb9895ac397197013c132eee3b3ff9d3396e63c939f810023db9b924bea579323fb163333f1ad21f3d575a2cbead55283f94de353fedcfec3c1e9808beb5f00e3f6e16283f0bf7ed3caabae2bdb6eae13e523b143ffc6c8f3cc19b99bd81749f3e78b4df3e5d99923c9b2f64bd215d473ee072a93ef246553c8dcc07bdcc77bc3d41b0413e24941f3ca5f154bca0fc093c3f7d8e3d6cc5bf3bfcea32bb4ffe48bd83559abc9a7827bee573f53c0000000000000000d6fb2dbeb4760f3d00000000000000001d450abee750d03c00000000000000003112ecbd356ab13c00000000000000004f0990bdfe7b723c00000000000000000d4787bdd4fe673c00000000000000004d0a29bd5514533c0000000000000000dae9e8bc8b17463c00000000000000003242c1bcee221e3c00000000000000001c7b54bbdd2a1b3a5522503b50ff3c3ca89556bb9c233d3a5cee0d3c3efcd63cf4ba3abbc9c63e3b80413c3c5f36e93c43b11dbba67c9e3bc3bf2c3cba0ce13c284012bb0610a13b3202093c3cabb03c5d2e77bafa78a93bd397a53b433a823cdff4f1baca8bbb3bc75deb3a39020c3c0ada0abbdb4e903b4f11a5baf1d7243bee9c88baf0b0333b6df044bb11927cbb5a9013b948c218bb9638913b28c97ebbc897b03b95e1d3bb63e65c3a442e263b5b9d2d3c60fdabbb629ac1b92968213b607a533cbd5d98bbf10f8cba7eb282badfa32d3c749332bbe33dc2ba671949bab8a8053cac4843bb1e221ebb26fc95bbfb8fdb3b409a1dbbe505deba95cb59bb5ed5823bc41412bb557e06bbd7b74ebbb7bbeab981cd92ba478e80baa574ae387510efbc1b3630bd2f0589bcb5e32d3cf2ce53bd7598f2bdb12161bcb217563cf5bb7dbd59a212be3e2bb8bcfc7d343ce67671bd52c70cbe9989cbbc3e57023c0bae49bd5afaedbd35d6ddbc2ab6d33bb8650cbd867fabbd589297bc95e9823b356fa5bc391347bd03a154bc2e98333b7dc2c5bbf43469bceecca5bb91635cb93bf1ab3b7768233ce126433b63f7fb3864dec33c2692e9bdd9d6e93e3f1e6e3f17a5ef3cac53f3bd6c5ad73ebe7b703f86f0b93cf359c7bd19e8b43ef6e75b3fdee89d3cb4ad9abd76b98b3e4536393fe0dc8f3c671870bd1141493ecad8113fd9cc5e3ccf7b1ebdb8ccff3d4ab2c73e86bb2f3c1fcfcfbcd8267e3d302e5c3e8e700b3cda2f3dbc0272503ce1167d3d0e8d9a3b8e6cb3bbe852f2bc5f4b11bd999b4abed5951d3d000000000000000031de54be22972d3d0000000000000000f3b92cbe3466043d00000000000000006fd502be5fd5d63c0000000000000000ef0ac7bde22eaf3c000000000000000056be88bde22c893c0000000000000000669f31bdd05e5f3c00000000000000009f9ccfbcd8f8513c00000000000000004f41b3bc8a371f3c000000000000000067d2063a979d12bbc9d31cbb8e9c833cac3be1ba92b24d38ace3473b8f6d013d288ae4ba54bd283a920d043ca3b30c3d4d8240bb18e7883b6c3ff23b98c8013d5086f2ba6c6b553b727bd83b0becbf3c665b2dbba8c0bf3b00d0733bb86a903c6b3eecba81ba803b93e2af3a5db23a3c48b539bbb8c0b93bf34d44ba7a08363b8a0adeba66e4373b89d90ebb0f6408bb9190573ad44680bb0be5ef3a23b06abbe0faf33bb353d9bbbabc923a61e945bbfb5f2e3c6365a2bb8e5585bacdc4a23a0d3f4e3c08d099bb08e787ba866f54bb8fd0303c6fac26bb200210ba705460bbf4961f3c7e7dcfba898596b9383373bbd7f1b73bb7cd0dbb445f46bab561a3bb30880b3b3854b7b94c485fb8d08865bb26f3ee393ab40bbbb58d573adcff05bbd9e2b9bb177686bd109510bccb932d3c925a86bcd6351dbe23622dbc257a1f3cdad90dbdf6622ebe7238b8bc4f09203cdbacefbc98362abe8570dfbca1700c3ce233fcbcf4bf02be63cddabcf3f8bb3bc767b7bc1717c8bd176caebc2c1d023bf89056bcb85d5dbd5aad4abc82d0df398bd805bc244e63bc34be93bb0da6c1ba22f6663acb9f4e3c65b2053bbd4590382cb55d3cb10f83bdc3526b3eaf688f3f297b8a3c521181bdb0bc453e8c4a913fa7b76a3ce4b152bdbf3f2a3e0360813f43e3383c278723bd3feaff3d973b5a3fa1b42d3cb6e3f9bc0dc7bd3d818d233fcf06043c240eb8bc56b37d3d9aaadf3e551d093cd10a76bcb3790f3dde136a3e6046aa3b08a92ebc1bee9f3c162e4a3d3b75443b98a257bbab3ae0bb19df76bd373c5cbe6ce42a3d0000000000000000f70161bece75413d000000000000000097fe28be57c6fd3c00000000000000003fb105be6812d93c000000000000000033d4adbdcae09d3c0000000000000000e81276bdd81b843c0000000000000000147913bdf7126a3c0000000000000000073883bc448c173c0000000000000000590670bc213b1b3c00000000000000000319143a3b454fbb2dff00bb15d4b23c386e673a313349bbbdbe99bb607e2f3dda8bedba18e1263a78b7f23acd7a343d5840dbba895c4a3a8beaa63ba3a2183d8d1d23bb03f9893ba736823bd140e93c1f14b4bab430893b5c5cc23a5f19af3c92f3ecbaba4e8b3b4a54243b2c592b3c04cb01bbcd2f953b1899b93850e16f3bf96487ba2b26113b7d5724bbbf8826bb4f11383b9f4ebbbbf7128b3a7cd649bbc0e9863b4dc6e9bb04d3edb921efc5bbf3ad473cd4e7e6bb2eb382ba05ca57bb5ba17f3c8ecf97bbdd0af7b987363ebba98d3f3c74fbc3ba582586ba69bc95bbed22223cc8174abbea163dbafd45dbbb24aaeb3b9a08e2ba18e3bab97274c1bbb182203b80a39fba81f2053b79e5a3bb0ffd55ba9af8a9ba46dc883a01d2deba57e4243cf0aef2bd01770039c8c6013ced11a93cf41243be7c47673b55f80a3c914d65bad85559be362990bcc566133c990b24bc66fe43bee8afd9bc750bd63bbf962ebc987b19be5008f9bce7d7f83a249c38bc1282dbbd44b3abbc1195dc3a67e834bcf20869bde88c66bca49866ba64175cbc89e911bc188ee4bb5e5717bbb9301ebafff49e3c13e2963ba50a8eba0a51973b9e5081bc12567e3c009fac3f89b2dc3ba2be59bc6b610b3c5a6b9f3fb68ac43bc35e3ebc83afa23b43a1903f2078d33b291e2abca0e9af3bdb1a6d3f7663c73bcef8d8bb435f863a4592313f01e2d43b402a9ebb976c113c2e50e83eeb01a93bc5d19abbf820893cd9e7633e95dc753bebd11ebcc6440a3d8bc4ea3c72cb993a61627dbb469d0d3ccfb1dfbd20f65dbef11d283d00000000000000007c0845be6d65203d00000000000000005aca0fbec2d0cd3c0000000000000000d7a9c8bdfc25933c0000000000000000ca4769bd5756863c00000000000000007a5106bdbbe3363c0000000000000000099158bc3762113c00000000000000008cc8bb3b063ccc3b0000000000000000dabde7bb608db33b000000000000000000000000000000000000000000000000750b0d3abacd85bb6657e6399590293da10d41ba0569b6bac1f40d3b081b273df3c5a2ba4fe6523a9275d93babdafe3cd3931bba1078803ad448943b6914d33cb92732bbc31a583b4aea273bd9e68f3c7e8626ba210c443b0c6c4f3af0312d3cfdceeebacd16593be30f39b9c6d84e3b000000000000000000000000000000000000000000000000000000000000000012fb103cce50b1bbba4894bad999683ab255383cd59476bb5dac9dbae2f8b3b9dd714e3ce0e4f8ba489bf7ba10b7afba42a0563cd54acbba6eafe03796cd85bb2d760b3cb17155b958b5e639c21484bbbd91c23b8ce7dfb9386408392238acbbcd042c3aabff67b98c86e53a0abcbcbb00000000000000000000000000000000000000000000000000000000000000002f185b3c33d158beda2e0ebcbb0fa63b31870a3c74bf4fbe26a7b4bc0aba253b7105cfbbbafa34becb7f07bdded49239fe6fa3bb1cf113be387b06bd4513ba3a0f1c83bb2b7ecabdb6fed3bc1ecd51bbe69ea3bb7c2262bd186375bc690cfeba065c6dbbb7f704bc12fbafbb368185ba000000000000000000000000000000000000000000000000000000000000803f983cf7ba64c2943c4f33fdbdc431ad3f4c6d91b90b54583cd4cfb7bda15f8f3feaa7113aca06263cf1628dbd26d36a3f0b4ad13aabd5233ce0e262bdac9f2f3fa175c93ac713d73b026412bdab63e33e4978e23a713d9a3b993a33bc6c75613e3567b03af173463b8815bf3b4c89be3b000000000000000000000000000000000000000000000000000000000000000007b9e2bdea3f8d3c0000000000000000ddc155bd2e60303c00000000000000008d19a4bc2475103c00000000000000003bbfc2b7c2b96f3b00000000000000003f0f413ca01bbc3b00000000000000002e497c3c2dd1673b0000000000000000dd16303cf0dc9e3a0000000000000000000000000000000000000000000000000000000000000000000000000000000066b39ebb91d0aabbb2b3003defde9d3c309689bbbafbaabb9cd2eb3cf820c53cfcf947bb723903bb82a6bb3c4788b93ca4fe01bbe3eea9baffca893ccfcaa03c78680aba6b6104bb3fc9313c65ab883cc2b18e3aaa730ebb54c2ba3beaba053ca8b6e53a69e897ba1b3c93b987b3203b00000000000000000000000000000000000000000000000000000000000000005d0d383bfd5a78bb7d6a22bbd643e63ccafba73be08090bbec8271ba2a62e93cee26113c0f5e83bb907ff33907488d3c0813043c02af62bba2cfdebaead5853c0e7b013c10fd77bb255527bb3086653cb84caa3b0196b9ba647d94bbd6c71d3c7dd30d3be90082baacea94bbbd43643b00000000000000000000000000000000000000000000000000000000000000001ffa3dbe21a741bd7447923b13a42d3b56f330beb30787bd5cbddeba27519e3ba9b117befb3799bd0b1417bc839bc33b7d50eebd7f378ebd259249bcdadbb13b1a0ca3bd875b6abd2d953ebc3909a93b62a127bd5a7417bd884bdabbdfa1db3ab6f979bbb4ad49bccd611ebb27900b3b0000000000000000000000000000000000000000000000000000803f000000004ea3c83c59511cbe2295ab3fa99e8ebd29488c3c8d8c07beafd98c3f59e1103c0182433c2e6af2bdba80633f57b66a3dfbef253c6133d4bde805283f9b67a13dab06ff3b903ca6bd5e1fdb3e89619f3d28adb93bca2e31bd77eb573e3c336a3d382f1f3badd35bbcbd5a493c6238b13c000000000000000000000000000000000000000000000000000000000000000049b5473cf98ebcbb00000000000000008252b03bcb97d5bb000000000000000064d88b3be981c2bb00000000000000004fc9353bb2a0d4bb00000000000000009fe0c43a3ad598bb000000000000000085495d3b293c57bb00000000000000009f78c23a11ae35bb00000000000000000000000000000000000000000000000066f36abbc7b7babb45ad9e3c0cfedc3b662079bb657949bccf01e83c6dbdb03ca9b467bbeb7613bc2486ed3c0096e73cd66030bb4115d6bbbcc2bf3cfbfee23c6d73a7babe308dbbfec67e3c6df6c43c592b2839080f45bbb7c4293c4ff1873ce2569d3ab5d299ba7002663b5b25293cc68a7f3a5ce3213b125911baaaea423bfcb8b73ad9ac4b3aff6a47bb731691bba42e9db96f3dd5ba5def74bba960db3cf923343b95cf8fbbf7a03abcc2457e3d4636023c4e4fc7bb9899e3bb1afe423d879a323cf406cebbd90bccbb511f1c3d80fa293c68479cbb64e0bfbb8a0fee3ca5e0143c22f386bbdaa1fcbb00a6a23c5fc4c63b516026bbdf42e6bb8d401a3c02a9503a510801ba76bc90bb22eecebbbae1bfb95d52e938673b9cbbb80386bb4dbf00be6ec18abb5d5cc1baa631433bb36e36be66b13cbd3157ef3a54349e3be40939be360ea2bded3d19bccd5d153c03d71abe7bf4babd371f87bca12f1a3cfeece4bd197ba8bd8ffea4bce3901e3c266291bde00989bd735788bc7610043c069bfabcf2712ebdc5e648bca7a2983b48d7e639a7ce68bcf04260bb535f8bb8fae2b23cdadd0c3c606c333b90e301ba199d2e3d5ffd58be73a2ab3f5b51d93c6ba0423d51af73be8aaa9e3f07b68e3d7344193d203454be4742883f6aed103e39acf73c6f5732be5525563f8102353edc82c23cb0260dbe2fc8173fe5783c3e4e679e3cf660bfbd31eaba3e113f223e6430173c35c92dbd16551a3e3a70ef3debae94bb4418a73c2f0166bc9283633d8fbb8aba98a6be3c40d500bedafa10b9275eb5bc9f67833b00000000000000004598bcbccd85963a000000000000000082cceabc170e12390000000000000000117ccebc2106fcba0000000000000000b740a4bcc4ac16bb0000000000000000a84d9fbc6fb434ba000000000000000053d83ebc1d5f7bb90000000000000000ebcb7eba239c1a390000000000000000156f0bbc98304a3b0000000000000000435461bba75eb7bbe0fe5d3c70c6c63bff4d6dbbd33d09bcfc8abb3cfeeca33cb99991bb6ffcc4bb7e16b73c14f1cb3c0e3723bb29e4b9bb47fb923cec10e43c8ff39dbaa13225bbfbf6423cd1fca63c1b1d17bab41f44bb547fe73bc1668b3c073790390b6fb1ba0a242b3b08a80b3c0369bf381c730b3b4feda8ba7d1d0d3b3f8f5d3a5ca66d3a224b06bb439538bbb9b9353b362b68bb0723e4bad3b5d63ced06de3b86f2b5bb95510fbce59b3f3d16f83c3cd930bcbb4ef643bb3e94143d18a0433cefd5abbb4791dcbbbc9e0d3dc780613c88af7bbb8fceb4bb71b5b43c8a54423c550c4dbb3de4c8bb7e0b923c8892043c9df716bbf280b9bb12570a3c5cca573b8ed864ba860d74bb783a53bb8550e8ba0db7e9b9445943bb6294b3bbda1cc6bd6113d339774165bcf11b163cfc8a19be357966bdb59459bc1406273c7eb614be42d0afbdcb35c7bcca84413ccfc6fcbdb72ecbbd2dd7efbc55fe483c68a8b3bd9d69b4bd86caeabce617043c5d0a58bdaa7d9abdfbf0d9bc7d5fe13b38f4a9bc42a441bdd13295bcd96e913b7db85f3bc4338abcbd11e8bb7f75133afceb913c73ddc73bcacc613b852d9b3973a82b3daf5d58beaeac8e3f98687d3ee4a5513d60ce7bbeda2d8a3f8bb5923e0b7e183d0f654ebe2c52643f0a12a83efde60a3d296032be0a5b323f0b6aaa3e9dcfc33cef1f02be696cf53ebf81993e149f963cae8fb2bd512c8e3eba80823e2f24433c41fb34bd6399e63d437b2c3ec60093ba7888043c224ae0bc94cba83d43f91bbb01d7d13c0158ccbd5b2adb3b1e7c97bdf430603c0000000000000000109c9ebd73d3593c0000000000000000adce7ebda193c63b0000000000000000fb0465bd1f0bc53b0000000000000000071423bdece5813b0000000000000000e0af17bdd03bdc3b0000000000000000b9efd0bcdfe08d3b0000000000000000afc891bc3c31ec3b00000000000000007aaa8bbc0063ba3b0000000000000000984733bb15ef44bb9474333c4c57bd3bd0c043bb49c805bca4d3863c9f46a33cefc35cbbdc9fcabb3cc58c3cc66adb3c7ec8dbba643e8abb1291433c0865d13c89666cba63b195bba9b2103cc010b13c8543a3b92edfe9badd83843b236f833c836a3d39f7ed1aba4d29463aecde0f3cc081f939c3e5c23a6816bbbacc57d03a5513633945e52c3a9c8d3cbba42a1fbb66b60e3b242f1dbbe6fae3b93fc3893c3910223c5829a9bb9ebbbabbab21213d080c743c8414c4bb3d8192bb85b8093d91778b3ca959a2bbb1adbfbb9e1ee53c4d0d873cd1d17abbf2d2b5bb4159ba3c61a04d3c7b972bbb17dfc1bb7357523ca2bb1f3c3eb8f5ba9689abbb5f78ae3b7355663bdd39a9baf48894bb8ee511bb796499b90c9c33ba93ce35bb60113abb99e4abbddc3729bb555eb1bc439f183c87def3bd99878cbd1cefd8bcb3415e3cf96debbd0329d9bdcb2506bd6d815f3c8e2bbbbdf41ee6bdd4e71dbd45fb453c643385bd8b06d2bd2b8c2abd95fa1d3cc4fa08bdd97ca5bd9ed401bd1bb3d13b89ba29bcf7c653bdd963b2bc175d573b991bd83bd47da1bcdb84febb6abda43ad136803ccfbcc63baf20d73af96c2a38cf47193d2d9c47beecdf6b3f636ff53e777a3b3d827763be41d25d3f4d03053fed47183d0c5441be228f353f8d1f083feb62ed3c70e617be11f2063f5589fe3ec693c63cb311e9bd972fb23ed6bcdf3e9bbf873ce21f8dbd74d53e3e7533ac3e6b56273cdfa602bdb7dd633dcf14613eac7f003b4897d23bbc4618bd79dbc93d86bd083be1f5713c2524b7bd4c25c63b804afebd3505b03c0000000000000000cc9703be0c39bd3c000000000000000001b9d9bd028b873c0000000000000000fac6a5bd4468473c00000000000000007df07fbdcadb263c0000000000000000b82b3ebd49e8133c0000000000000000401609bd8d2d133c00000000000000003f76d3bc9e88213c0000000000000000f6b8c6bc9869f93b00000000000000007639dbbae31a88bb0c6af93bc25e123c7d8cb1ba2f9cdabb98ac3b3ca260a83c0e6be3ba6841acbb0e00303c01c3d53c65df75ba1f91a7bb68ac103c1587d93cfbb223bae2b5efba7447e03b61e2873c5836ebb9ea2cbbba7503383b658d7c3c11afc338c147c2b829b90cb8afa2eb3b3bc443b9de319f3ab93499ba2ae0c23adcf01dba41be003bd39eeebaa93322bb21572f3b83123dbbc70fc9b9a883823c9ffb553c7941bfbb4d47a6bb2e99ee3cb0c1893c7aac94bbab108abb4414d03c7bfca03cdcdc9bbb1ce0b7bb63b3bc3cb0085e3c6e7a93bab3e61ebbc48a573c7a05883c0a1509bbb7269bbb5a0d183ceec1163c830353ba0ab467bba54c213b4b9b933b1f5404ba7cc9cdba568b8fbb02a70ebbe1d59cb8ae4505bb2dd855bb3a9e92bd435642bc2e93ccbcbcdf4c3c5431aebd2ef0b2bdc8b90cbd68e37b3c65d2a4bdf9feeebd6fbd2fbdde08483c2f4f81bd1ff201beb8d94ebd0b73493c32f53ebdb93dc1bd4ba429bd5f1c743b719aa1bc79a7b3bde4052bbd967dc73b1f7c2ebb7ad24fbd1693cebc8c0ff43aa748103cb6ce98bc1f9f2bbc9ff51dba348f363cb312083cbc6a8d3b9be4cab9571c003db9cb23be856d323f2677353fc465133df75235bee3d6203f2606413fa86fdf3cb00811bef265fe3e72bb373f9c4ccb3c5d90efbd8bdeb43e727c283f1461633c8916a5bda11d6f3e1c0e013fc0fc763c41f45bbdf407d23deac0d13e416e083c7dd5babc66128e3cea027d3e48189d39bc1eb73b930b32bd8202d63d6b27103b0c9f7f3c3da9a5bd051eda39c44c29bec1fbec3c000000000000000040c22dbea3b9073d0000000000000000cb2a00bea515b43c0000000000000000a869cbbd32568f3c0000000000000000d48f40bd53212e3c00000000000000009c8f4abd0bf4513c00000000000000002a2ffcbc6dfe2c3c0000000000000000de5fdcbc7b1c563c0000000000000000fcddf7bc2d15183c000000000000000035bdd2b823c587bb42e9a13bf40ffb3bf86d4ebae5cbc6bbb598b43b7e35bc3cf979acb99596d4bb2f43b33b9a2bec3c2981fab91b7d76bbed0da93b397dd23c186e41b97c123dbbfc98173bdd66b63c88985ebab6e5c3b94e2aae39501e743c8ad96aba7e42543aa8f58cba3bbd043cd5691fba53fe363bb3f5b8ba1840163b0cd4a3b937b2063bbf8c4abb803738bb6bc3bd3b4e0882bb085c82baa711593cf837773c39abb9bb43eea0bbfb05b33c4362ad3cab78b4bb605b86bbf5f39f3c2e18b23c21fd5dbb4dfc97bb0c375c3ce031a53c06f9c1ba6d9ca4bb8feb403cf6797d3c6e6adaba17d04bbb92b28c3bbd8e303ce4131cba3015c8ba64c4e7ba4037833b49f7efbab8d1ceba116cbbbb494293ba92a8edb986de1839cd1fdbbba42050bd841ce7bcc822cfbc796c523c2d9855bd80aee0bd345a1cbdc724813c22a535bde49514beafaa4ebd727b5b3c9cc205bd0b5110beeae462bd0037273c4127a5bc96a0fabd516861bdbb7ed03bfd2ccbbb3ba4b8bd0bc930bd5db28f3b23f7843bdbc95ebd06f6ecbc81c0c53a1d6cc43b9a2490bc80ab06bc9616e0b9fd025e3c9774f63b8edebf3b2e7f8eba0a5cb03cd324ecbd8cc4ed3e57446e3f2271df3cce58fdbd113fc93e1c77783f5d92ac3ca225cabda735943e294c693fa638883c937c93bd13d2423ebffb483f4787723c591e5dbd463fcd3df11d223fcf7b1f3cd0e6f0bc18370b3d10fbe43eff6fc53b1cb416bc666181bcfff7873eb0a4cf3afa27093c407a25bd5781c53d659c12b94e807f3c087378bd4ed29dbc132048be2d0b0b3d000000000000000073974fbe3986233d00000000000000004d4519bebf89ea3c0000000000000000c0fbd3bd6de8a63c00000000000000000b8984bd05dc843c00000000000000003c7a22bd55c34c3c00000000000000009af6dfbc3be0503c00000000000000005ecac2bc1349513c00000000000000002180e7bc5cd7273c000000000000000016a94d3ac74385bbcd5ea038d464323cadef733a8326acbb5e9c91ba09a9d33c382d8f38b5dda0bbf7e5013bdc04eb3cc21ab3b94fda8ebb871606b911a7e73c64251eba67e389baf567dc394cdcab3c97d03bbad7e51db9a41851bacd4d753cf85bd2b96262833a882861ba19840a3cef2acfbafcaa3e3b32f402bb48b68b3a4afe12bab33c1c3bd846b6bad76af3ba07ccd93b56b38fbb8d99caba1dc2003c053b943c9b44e1bbde973bbb88042e3cb169b53c8ef689bb459f66bb0b8f403c27cbc43ca59ec7bab27239bbcf3e193c09819e3c1da50cbb624042bb1b0f933b00b88b3cd6e27b398c16c4ba38a701b9524c1a3c66bbfcb9a7a6ecbad90a31bb4c5c8d3b09e04ab9d4eadd3ad39bbdbbfa6bd6ba0f3d01bb073f033b3da5e8bb2cd6aebc4af856bd87d5a0bcab9c383cc9155cbc3b7d0ebe32171ebdbcc17c3c4e0d9abc081720bef6285dbd2c32283c7ab6dabb9a4822be3a5c82bd8f2af83bd0689ebba2cbfcbda9df63bd51c1813bb6b9963bf7b5c2bd645844bd8206d53a8c8bd03b2a2b5abd834ee8bc00289fb94895d83b250087bc12561dbccf97fabad28a7b3b2def403c8b1c033c632391b9282a5f3c315787bd1e4a723e6cdf8f3fc163543c9b4b80bd94d6273ed66f943fc41c393c6cba48bdd9daed3d5e69833f01bc263ccbc214bd08983f3d8bac633f7c37fa3be75cbabc39c5443c3eb82b3f3dfcb13bf1ff11bc2faacfbca5ecf33e3db1873b47d782b763c419bde2f5863e620d43bad156d73b0694fabc540fa23d4a0d30bbc7c44c3cdfabf6bca9fb30bd726a5dbe6b18293d00000000000000006f9b57be3950303d00000000000000004eb203bedaf7d53c0000000000000000c371b5bd306aab3c0000000000000000db841dbdce955c3c00000000000000007e8cbdbcc9f73c3c00000000000000003ad405bc266f143c0000000000000000e62961bcb38b483c0000000000000000b3a0cdbc6fcc213c0000000000000000a8670a3be45891bb5cee5bbbeb728a3ccb33063b8cbd68bbcd3a3dbcccc6023d095288391e975cbbca6de5bb5f380e3d3c648639162a50bb51fa79bb3e0bfe3ca41120ba17d7d6372b536ebb5c03b63caa77b0ba7b66db3a1f7657bb4cf27e3c7bab2eba7ff21b3bb4c53bbb1dcd043cfc7005bbe912763ba70ce1392120de3a0ca543ba65c4b33aaf2550389daf37bbef03073cfc5f9fbb3fac53baa844523bd3a4a13cc84402bcc44d37ba01d45bbb66abd63c2dcc89bba7a9d7bab0861f3a65aebf3c4115e737572a17bbf5b4cb3a3ea5b83c8690713ae424d8ba2fdbd5ba4b8c8a3c7ac8ab388c9c5bba91459fbbaeb3313cc352363ab30e303a2a27fcbb6914743b1aeaa9ba1a5c683bb0e305bc40e96dbb8feeb6b8cf7e393bb271ccbb8229813af771cbbd186789bce0ec393c729b083df6c52ebe9cfb14bd62e4843c392dbe3c6f6344be696a78bd644e3e3c842f8f3c562c30be1efd87bdea89953b8c397f3c8ba20abe105e84bda43b9e3a7be7823c17c1c1bd6f2a52bdc2351f3aabdb323c75e154bd862805bd11c095ba684649bbed3526bc06f908bc33a33bbb511ba83aebdb8c3cd2aa2c3cda538fbae6901c3b273374bcd229ab3cb1d4ab3fc5e70a3b8bfdd8bb82dc02bd026ca33f7d277e3b6cc364bba4c35fbd6394923fafcb313be2379a3a3b2e88bd61bb6f3fdeae733b230c483bfc7c93bd58da333f7347423bbaf3053ca36d8dbd2cb8f03e5b5fcc3af4bc103cc4c43bbd9fa1753e537eafb9f323603b69bda4bad8332e3dc95c2bbb11fa0e3cf8a4f9bbc453c2bdd85757be8b6e183d0000000000000000bab338be113c143d00000000000000003483cebd0ea9a73c000000000000000065c325bd4241463c0000000000000000d21e0a3b5237dd3b00000000000000004983853ce2cbc03b00000000000000007103963c0281b63b000000000000000092db9d3be5d13a3c00000000000000007b058bbce6e7a93b000000000000000000000000000000000000000000000000a6f0cb3a27b0a7bb9442b4bb0e2c043d8f694e3ade6c87bbd66982bbd52dfb3c9aba8039ddb747bb885fe1ba0b44d03c0011a7396613c8ba5a0245bbee82ad3cf40f25392c00c43903163cbb4746553cee8092bae69d3e3b4241bfba14d7e13b0903bcb9eb11103b175f0cbb84d8453a0000000000000000000000000000000000000000000000000000000000000000443aa63cf5be5fbbeeefd1ba0cccbb3ad789b83ccf715fbab9c33ebbdc24c33a05adc63c2ed1153ae47300bba2484c3ab026a13c5e211f3b252a2fbba64d923a74ee803c0179423b036cc1ba3a505bbb7e0a073c1bb3043b321ae6384590f4bbc98d0a3bd2d0c33a8c5acc3a1815e3bb0000000000000000000000000000000000000000000000000000000000000000ee52c63c606d42be29561fbd47a6ab3b82dee23c732337be1eb26bbd772fcc3a6c6d9b3c3dd622be23fc89bdf48534bb430c8f3ce29301bea2cd81bdf1abe6bb9178943c5beab4bd364f54bd26e2c9bb35492f3c231636bd924407bd1c788bbb3603c93b9a25cabb663a22bc34d627bb000000000000000000000000000000000000000000000000000000000000803ff9a94dbb2b09cd3c273c16beceefab3f9bb049baaf90903c742208be29f48d3fc1b9923a9cc4683cd044fbbd2711673f4e4c033b2642443c7537e2bdbb602c3f9252293a359a5f3c0d15bbbd2979e13e3022013b1ced2c3c7dcd57bd79c1613e930f1dbadfa6113c1e9ba5bc10c65c3c000000000000000000000000000000000000000000000000000000000000000017bda7bd2231723c0000000000000000ad0fcfbbbf0ff63b0000000000000000f21b243dc0c1823b0000000000000000948c7f3d72dda33b00000000000000005682823d441bf63a0000000000000000cfe54a3d60210e3b0000000000000000e933b73c21928f3a00000000000000000000000000000000000000000000000000000000000000000000000000000000f0251ebbfafc9fbbcc9aae3ccf73913ca9116cbb20f79dbbe672a63c643dda3c48c20cbb1c3295bb3787923cbecfcc3c107d19bb8a3a8fbbecb0663ced9ec33cad58a5ba2b9650bbb7ebf33b3eccb83c4d9c17ba04c91ebbe8f3993ae9cc7c3c9091383a969bcbba45ff43bbb0d2e73b00000000000000000000000000000000000000000000000000000000000000007cbfb2bb095486393477a63bcef64abac723a3bb5256ceba649cee3b21e7c63bc47688bb38265ebb6c8dc53b1811f93bb8b7adb9db12adbbabfbb73b24bb283c850c2d3b7b1585bb209a1d3b11cb543c7c97bf3ba9568fbb09dfb9b9d324663cd0baf03bdb96f4baa93220bb2b12183c0000000000000000000000000000000000000000000000000000000000000000c3d5ffbd506d3fbd57b57f3b5f928a3a3a73f7bdc61997bdd6669e3be8cab03b9d80dfbdd8b9a4bd69546c3b6601063cf74eb5bdfb51a7bd301399bafa284a3c3a9780bd176797bdb3e8fdbb31f41f3c8b1f08bd0a5c68bd22f707bce8b8133c71ba52bb765302bdaf102fbc5d4aa23b0000000000000000000000000000000000000000000000000000803f000000009523063cfedfc8bd9f51983fd5277f3ce73f483b7346cabdfe537d3f30ff983d8d8533baa419c8bd21dc4b3fde33e63d32de19b87916c3bd77291a3f8545033e02f0de3a62edb7bd816dd33e3d4ef63df0bed73b346696bd13ca6b3e17dabd3d530a213c39e157bd38d9613dc58b513d0000000000000000000000000000000000000000000000000000000000000000288d5dbcbad1613b00000000000000006b9c3bbc4ce172bb0000000000000000e7390dbccb9825bc0000000000000000b770b3bb34dc4abc00000000000000001c392fbb97ef2bbc000000000000000000f377bb82041ebc00000000000000001cad05bb8c0ca6bb000000000000000000000000000000000000000000000000e8c1b5bab946abbbdc915b3cafb60b3c9b8140bb885c38bc1e8cad3c4695e63c501222bb21e726bcc400873ce820133d264739bb88be11bc77ce543c4ff51e3d0697dbba94bee5bb5765083c3e8e0a3d840672ba8b26a6bb74d4683a547cdc3cb6050c3a37f009bb539086bbe27c8d3c4b4e9b3a3ac31b3bf236dfbbf3ab4f3bfffaae3abf9cbc3ad3f6f2bbc8702ebb8a55a3bb01650d3b0261c63b32b8d8baf91a26bbf25b943a456eb53bddec8f3ccc702f3a622a3dbb79c89e3b46e0ba3cb5de043b147037bb34f2a23b7429bb3c5514a73bcfd3a8bb95db213b19c8af3c3edc293c1a088dbb1b476bba0a94b23c6f4c303c4a952dbbd072aabb1d8b883cea70073c27c10bbb21c602bcd168b63b8a52b53b9be89c39381db0bb6f97123ba6e9b6bd70ce25bc9c04033b7d4158bbba4704bed61685bd04a82fbb2054203a9cd705be628fc3bdfb9685bb2787c03b6bb2e6bdaff1dfbd7520e4bbe636cb3bf1feabbd031bd4bdea224abc7d8a223c7c5c5abd13e2babdd2e19ebc0752193ccb19adbc0d6086bd916ba3bc7d3a0f3c9a47163cd1fbd8bc1a8857bc501ad53b7e17c13cf76f1cbacec219bcf48fcd3a39fd673c0596f3bdb373983f194ce73dde61e13cac5e26be1c278f3f1bd0213e8b83a43c50381ebe01fb703f8750593e5c788f3c405a13becf973d3f2cbc753ec8b3803c150904be0799093fd1756d3e5b62a53c6a5fe8bd2cdcb23e8db0503e0753a83cf329acbdeefe2f3edc35193e1b8d8f3cc79f2abdec22843ceb85923de1d1653cd6529ebc1e74b8bd1112363c4ae62dbdf00b273c0000000000000000edff1fbd4dd4003c0000000000000000ad9003bd4ddefbba00000000000000002949c8bc16b2f7bb000000000000000051db5abc87145cbc000000000000000090bc1bbc76af55bc0000000000000000231bf2bb7d3033bc0000000000000000b6130ebccd19cabb000000000000000020e0a4bbbc39bdba000000000000000012b3ddbaada0abbb1071483c52741a3c0d9c09bbeb2916bcc0966d3cb062d53cbe751ebb05c7f3bb36d2813c4b38eb3c52b237bb091dfbbb6bb6153ce9c4103dfc206fba395b9fbb94cbca3b64e4d83c81b21ebab00773bb723993ba8667c83ca6fab139c02a6fbb588818bb8704823cd78c193a9b73003bb0b8b7bb3c91c83a726af03ac742933a5b05d7bbd01272bb4467bdbb9991203b43c7b43b5df8473b20c529bb40f65a39b8c6923b0b77943c6c92acba7b8c54bb6b1ab23bdb9a803c231de53bb8bdb3bbd9c9833bccecbb3c6322ce3b359379bbf971b0b98f6f9a3ca552433c408983bb0b8f52bbaaacaa3c469f243ca9b331bba0810cbba82c6b3cc91e1f3c03427bb97d8edabb9798ac3bc90ba83b5811ac39b6ddb6bb575a3cba088f99bdcf9809bc8c669d3a4b328abb5210e5bd193d81bdb845b5bbf4c8943a11d3d7bd4a24b1bdc452babb09afec3b91edc0bd3c8ce5bdaa6880bc9e98fe3be2b785bde0dbcbbd618ca2bc4212263c17931dbdd8eebcbd9dbbe4bc010c1e3c7e5c87bc5b427ebdea52d4bccee1e83b86b8333c1f9be7bc0209a0bc0adc783ba8beba3ce643f13a4f5a1bbc9056803a640b913c247b04be48b5803f2bfa963effe7e83c947331beee98753f75e5ab3e7aec823c65f811bef408453f4e60b53e53d9c13c223219bed51f1e3fa661ba3eadea973cdfaef1bd6257de3e8f07a23e2bafc13cd35ddabd78fe893edac28b3ebfc8883ce9b998bdb692093e50f43b3ee6e28f3c25171cbd142d57bb6609c53d20b0603c582afcbb33caa7bda6a3343c53be8cbdd8a2203c00000000000000001a028bbd94a7fb3b0000000000000000bd0827bd06cfd8bb000000000000000033a6febcffd513bc00000000000000008c6208bce20b81bc00000000000000007afa99bbb3458abc0000000000000000b2151a3c50af63bc00000000000000002add223aa53004bc0000000000000000ccc192ba813d6fbb0000000000000000a57593bafdfe94bbffd2333caca6043c091b92baaf3417bc41ce4a3c84ddda3c72a102bbe5ecf4bb7ce6283cd4ae043de9cda8ba5e96d2bbdeb18d3be3220a3d60f273bae5acdfbb469f2c3be710ff3c327dda39834d96bb6c42a2bb9ca5c43ce1545739d6a670ba8056d4bb4a8c543ca6015a3ae5aac73a2d63e9bb6467123b39bb983ae3722d3a5c6acabbc7861abba52de9bbe84d0a3b6667ab3bda03443baaab43bbf12797b978fd363b83289a3c3c938c3b36d222bbb7b8983a00dab53c2c10013cadd488bb7c73f1b97645bd3c2b144c3c58b7a3bb2308d6b97c80ad3ccc91653ca2493fbb341229bb2a64983c5163713cbded86ba14bf98bb6cd94d3c3aaa1f3c2e92313893bcc4bb6ae68f3b4b82963b33693d3bf60c8abbbdc8a43ab99d90bdca6212bc80c9a43b70a6a6bb7174c9bd3f3c89bd8502c1bb7d39053a07cebdbd5c65d7bdf8338abc38dd943bb74197bdfd84eabd1522cebc2501053c875e5bbd4069e1bdab1106bd32f31a3c939ad5bc2d88bdbd736616bd8ab4ea3b4a5d4bbb98ac84bdb7fd0fbddde9c03bc4ca693c8db6d5bc5bcbd6bc7cb84b3bb45aa03cdc11cd3a55666fbcd29d95ba05cb6e3c8d10fabd4c7f543f4374f73ea53ae93cea7526becffb463fced0043fab63dc3c6cfe18be66bf223f7c8e043f9f81d73c263709befbf4f43e374af63e4a89d33cef6ef0bd3adaa63e8a28d73e99ccbc3c6c22b9bd6594433e660ea93ea664ae3c351881bdd071913d079c663e86228b3c1271ffbc901bb3bc7256e43d4bc64c3c3bec0cbcf1aca2bda82e503c25c2b9bd954bf43b000000000000000019bab8bdb2d7143c00000000000000002a3466bd366a96bb0000000000000000df54f6bc51b652bc0000000000000000934087bb821ea1bc000000000000000084fb0b3ca0ec8cbc00000000000000001eea5e3c0ab689bc000000000000000014f5233cc85e30bc00000000000000004db3083c66bbf1bb00000000000000002553c0bacb8a3fbb212b123c92b5273c1eb225ba27e4e7bbc1d0093cd74dd03c334faabaa912b1bbbc75a83bd79efa3c8e133bba366efdbbbe6a023be3f20f3d4cc763b9a72e5fbbe7074d3b6901b63c71576ebae98f01bb768587bbcc9cad3c21b4213a1b79bcbab3cdd6bb3107383c2b38a73a922fcf39af2cc1bb3778d53a15632d3ae491663aa70dbabb7c3591bb89e904bc60700c3b27d8783bec2c3a3b3f615cb9302f8ebafa95223a0073963c56d2ac3b200f76bba1d0f8b89df8a13c283f473cfb7fb8bb0da69abad482c93cf925f53b189cc6bb5e2723ba1e8b753cd320703ce2ce09bbe048adbb43d5a23c05e0683c41e5b6b95c7679bb52b8323c996f153cf917d03a8fa7a4bb10d7443bde31af3bec15113b5ef229bb946fe1b77fe47ebd2a9476bcc103b23bf956adbb989ca3bd8f109cbdd9de22bca3fb8a39a01d8fbd7523dcbda90fb2bc594cb43be4c96ebdd2a7fabdcaee0fbda0c80a3cd80623bd609dbebd998c01bda0cb283cb2fa99bc1fc6afbdbcb644bde80f953b6688a83a676f71bd9d4d29bddac27c3b9e2c823cf3a0c5bc040af4bce05a1f3b08469c3c3ee2543bdfb64fbc0246cdbaa6fb653ceab8d9bd9a1a253f214a2a3f5c14d13cbc9f0cbec9b7153f8f26323fa087b63c0f16fcbdcf36ed3e26b3263fec55cc3cc48aeabd033dae3e92cd183f0a44573cb749a8bd326a6d3e7f0be83e093cc43cbdfc9ebd4da7e83d0b5ac33ebecd8d3cdd5743bd12f3fc3ceb5f7a3e932e623cbd0fa7bcb2eb24bd9974ee3d09e72d3c333f26bbf18398bde1bfaf3bc710d8bdc0c8973b0000000000000000532dcebdbad4eb3b000000000000000058205abd1663d7bb000000000000000032719abcf7298ebc000000000000000076c39c3ce78c97bc0000000000000000a44bc73cc7d5b1bc00000000000000003c94fc3cdede82bc0000000000000000c787a93c6c9669bc0000000000000000430e373cc49a21bc0000000000000000168ef039ad9986bb7ee09e3b1ec63c3c55311dba8289c6bb1a6b593bc9aade3c1387ed39a3a1babb710174ba7a51053d194d9338f230a4bb6e231abbbdfaf93c74690dba974c90bb9b029cbb500adf3c7e404c3aee1716bbe799e0bb366d943cdaf54439ed77d4b97a91eebbb1f3223cc5c27b3a6f8f8c3a79e5afbbc81a6a3932210c3a14bc063b0e0f9bbb21a65bbb3b59bbbbf1e1053bf0e3e13a6547f63b1f4d3e3b421d353ac0e2e1babceda53cfe1d453c697747bb8ac090bbe9d1b73c47ba653c4ef2f1ba8f258bbba560af3cecbe9c3c602b50bb5da335bb5b21903c75ec993c264922babe759abb7062493c99a36f3c6241bd3a759583bbb4b5073c548e083c1b342b3b6a0e78bbaaad4bb91c44573a89f67c3b724951bb9fecb9ba5e815abd3bcbd1bc42eb033b69dea2bb19a77fbd8324b5bd103ba8bcc09a26ba85ab4fbdb62bfbbde64d1bbde88dba3b75e217bd3a36fabd0d124abd46dba13b6e84abbc5ae7e9bd27f36bbdfea5d03b285d81bb29ecb1bd66946bbd55a2833beae3153c83b865bd789647bd0bd3823b2fd68a3c33c498bc9a3b02bdd601c53a2a0f933c2e8ad03b16c73ebc72dcd5ba99bc513c19d2b7bd6ee1eb3e6cf9583f42dec23c9743e3bd0340cb3e15ec5e3fb2d3cb3cd657cdbda9279a3e90bd4d3f0197c43cf88db6bd6b05543edcfe303f8e92c53c7ce394bd4a50f03dc9fe0f3f87b8a73ca2de4fbdb261303d40ead33ee850813c193105bd35ef72bc7480853e6fdb0e3c7c02d9bbf0465fbd13a6e33dfe45d73b4d29973b983d90bdfaa005bc3d29eebd4619ef3b0000000000000000fc6cdfbd1f00173c00000000000000000d8855bde0b8d6bb0000000000000000fd26fabb7b945dbc00000000000000006fa9f13cf28aa9bc000000000000000011ad2e3df99fa8bc0000000000000000b480293d20eda4bc0000000000000000f16dd83cb10069bc00000000000000008a403e3c747e1abc00000000000000002d579d3970ff28bb7dc0a23a422a4e3cf2fb1f3a1b7279bb8970a8bbdbc1e13cf2276739b11297bb341afdb9187fe53c79449539222f64bb4a3fe0bb13d7f43cd0b3c639968548bbbd748abb97bbb43c5ed297377f456439be3117bc669b813c0d88a73a857e02bb86b5d1bb4cd7103c68d51a39d7ae113af72c30bb9ed6c6ba15e0423ad77c323abfee0fbb379dbcbba385a2baf1a3ca3a4e0ababae56b223c2a481e3c8134e2b9a4a395bb6678aa3c1cd7483cd0da60bb3b2870bb4311933cebe8ac3cfe94e3baf0b5c1bb196a8e3cdb378d3c757410bb4ec07cbbbe0c673c9f1ca83ca6d3ce3a4911a4bbc2cb2d3cf422653cd1eca63a246b82bbdd3c173c0b0af93b76c84b3b604e92bafa7621bb70eda93a2836393b8c5a4aba440b91bbb55d1bbd1acd24bd6e7151bbcf9187bb07721dbd8729dabdf28102bd6aac373a29ed0abdee9ef1bd1a3c34bd017ac93b803d8bbcb62207be9d6884bddd48983ba7f220bc7ad5d4bd3c8a7bbdb21e9b3b6587c43b472facbdac2088bd5dd6163a67d01d3c25b048bd427a46bdff58c3bade51803cb88066bc0288f6bcaa5123babbe5643c95b4383c450ce6bb9fb84bb74ce42b3c93587cbd67548b3ed069823f5373a43cbd239dbd13f9563ee973843f6797833cd47f85bde316213ebc08603f2719bd3cc6c069bd1448a13d3abe463ff2937b3c8e1035bdb5290f3dab0e173ffbe0813c1ef9f6bc42eea8bc9caadd3ea8c2253cd0ca9cbc1e7825bdc022853eba14863b41b14b3bc6ce7abd2005cd3d822eb43a97594d3cbd2d6abd45b8e3bc91affabd2b99193c0000000000000000af5cd7bd2798253c0000000000000000704fa0bc67bd04bc0000000000000000018f9d3c422d7ebc00000000000000003a5e513d8d9e91bc0000000000000000b760883d2e919cbc000000000000000052f36e3dfa6550bc00000000000000000620013df74249bc00000000000000009cc0ce3bc2d516bc00000000000000001848253af43a9dba44a2f2ba48c27f3c6c8e213b78616ebbe03c26bc7696df3cf6cedd3a3b1c22bbe4b520bcd129e63c09b0933a39f639bb6c4125bcd968d53cb89c873a838e04ba96b126bc99c6af3cc5b7b73ac8dfb7bad04d1dbc1dc9413c3176153a9fc7bf3a01e3f9bb8fc06f3b54dd3839468bc63ab82950baa14a71bbb6fa093afd95b53ab87ef2ba8178e5bb3d66823a56fc913a70987cbbe0f6273c2ace973cc6d3543a7a8dffbb5b4a863c6d4ccd3c4fe7d2b9700e09bc1ae9803c77bcde3cbabba5b9c5d8ccbb1aa36a3c8e5fcc3ce287b239d424e7bbdde9313c5adfc23cd0f2303bafe19bbb12ccdd3b0f888e3ca66c8a3beeb354bb33e5e63aa239a93b37f95a3b406978bab7a095bb5786343a0bdd273bd001fb397211b0bb88fddebcbc718fbd2def1dbc3b00cbba25ae1ebc7f5702be856f47bd8f25953a1804aabb431d12be699b92bd6a3f483bcec5923af31809be708ca7bd3da1083b139ef13bbd9cdebd4254a6bdaaac1c3af810973caef4a5bd79c29dbd49ca9cba41709b3caa2f34bd4fdd6dbd25c64ebbee38583cac5ed9bbc9a3cfbcec93ad3a79505a3c9732913c4ff7c9bbaac2b2ba8a540a3c7deb00bd9ad4bb3d467b993f83af773c8d76f9bce29b033d7daa943f2c6e893c416ff3bcbc53e63ad3f1803f3e24803ce894c3bcd8e6f3bc23fd523f58cd7c3c70c49abc0e9957bd8c69203f2503393c0f720bbcff8c95bd0a63e03e5579943b8a6c393b388a96bd0a367d3e1faf0bbba204683cadf369bdae748e3d95a382bbbd858a3cf2894dbd89af72bd22bfd8bd6770a53b0000000000000000a7a199bd2830143c0000000000000000537ab83b813a00bc00000000000000009524753decd268bc0000000000000000361db73d3b587fbc00000000000000008cd7c03d8f6498bc000000000000000076a3993de0a364bc0000000000000000e29d0c3de24a4bbc0000000000000000652cac3b7adddbbb0000000000000000000000000000000000000000000000005a9bd83aaaa060bbe434a7bb27b2cc3c78c2673aba072bbbc7c101bc72f6d83c72099139cb0d78bb434d99bb9bd5c33cf405f839b2a859bb5030bdbba00f943c00109039771afbb950aeecbb3aad623c6228403acbbcc3387002c9bb3a22bd3b488b573a7d86fa36170385bb67bc3ebb000000000000000000000000000000000000000000000000000000000000000013cb5b3c0cf409bbd781debbfa28673c7c8dac3c8d5a14bbd009c8bb5789573cb6aea83c517c3bbba90777bbedec353c53eaac3cf3df12ba06e366bb0161283c55f7943cbda8b73989bd6dbb4087d33b16d2593cf3a57e3b3c333ebb6639e83a6bdb1d3cc9b62e3b760b2e3a178732bb0000000000000000000000000000000000000000000000000000000000000000b7680fbc8aff01bea50340bd46efac3bdb1bf73ab84202be64f78dbd5a37933b1dee853b1d4cf1bd814998bd2f0a143bb361083c8b79c7bdf3ed9dbdafda1cba61d26b3c3f5290bd2be38ebd8a4d4abb4392873cd13f24bda3455cbd9908b6bbc052873c84c2dabb001408bd571e77bb000000000000000000000000000000000000000000000000000000000000803f8c961e3c985cf0bbe3eca6bd9b3b993f1d09383c4d7af6bbffb0b9bdf138803f0fad2f3c2acc33bc197bc2bdd5c4503f49e83c3ce76603bca324c7bd0ddf1e3f8356f53be6e914bbc2aebebd53dadb3eefb3873b13abe13b51e0a5bdfc37793e72d36fbbed7e7e3ce52687bd5e9d833d000000000000000000000000000000000000000000000000000000000000000095a2c0bb562b2abb000000000000000045b55d3dacc36fbb000000000000000016b4bd3d1cbd96bb0000000000000000b258de3ddbd6a7bb0000000000000000f7d8d73d0edfe8ba00000000000000008831a63dabdc25bb0000000000000000cbea373d515ae9ba0000000000000000000000000000000000000000000000000000000000000000000000000000000087bfe3bb4ca8b0b92b4f1f3d45bcac3c0c70c7ba3bedb1bade71083d07f8cc3c08f8f7398b2ce83a4b5fcb3cd313df3ca9d67fb90ea26b3a362f993ca823cd3c2082d8b916130a36e303493c0bdf7a3caae1ea3afeecc63a02cc9a3bf378353cab5b04baf15db03a41ca19ba0dee0c390000000000000000000000000000000000000000000000000000000000000000922d61bb9551f8bb16824bbba8af1d3d4287e93a70c7febb64d6babb5c5dc23c1db4053b30cc8dbb731e0abcf4e8103c17b3333bed8d8abbd9c7f6bba244b63b17be603bf90edfba7010debba4ba993a2fd5a03a328e893ac3c2febb0f91f6bbf0e9b8ba6004683b4b90d7bb1ebab7bb00000000000000000000000000000000000000000000000000000000000000003dc172be2fdc5fbc97b8833cbcfe943ab52f5fbeca8e0ebd9404ab3bded5453be09148becf9244bd41f4ffbafb7b813b065420be41b23dbdd14ddbbb4428203be742d4bd2d5417bd0cc840bc69a2bc3b891f4fbd3171c0bcf1fd52bce7edb33af9e226bbeb528cbbd529f3bb0c17353a0000000000000000000000000000000000000000000000000000803f0000000081e3fc3c481622be1650af3f294ee8bd1a8fdd3c0274e9bde63e8f3fc4feeebcf914cf3c6db3c0bd8e8d6d3f7ccabe3bb061ae3ce5ac95bd7b322f3f32ec073d1028813c5d442bbde133db3e67ad493de875163c7b7cb9bb19b94d3e55e6443d7d62eb399ccfa53cb16f34bce783ca3c00000000000000000000000000000000000000000000000000000000000000008fb48c3c008313bc00000000000000001d58213bf574bebb0000000000000000ed1c22bb6894eebb00000000000000002d0d9ababc4a9ebb00000000000000004604dcbb418f88bb0000000000000000d03a6bbbb39808bb0000000000000000c7cb65ba20e6b53a000000000000000000000000000000000000000000000000b4f610bc9fdc25bbfd78bb3ce65ac03b176804bc070f93bb3c65103d73205e3c658a0dbc60c0293bf7f9143da379e33cb65094bbb3cf013bad36013d27c5d83c86a802bb37b9fb3ab19cbb3c2f8eb43c9d7732bb9557793bf30b6e3c99748d3cae7129bb6d7c6d3b8971ba3b53e3fc3bd9c432bbde81723b047818ba52d2cb3ac47a5cbb23b65cb9be9486bbecf8f1bbd85ff6bbd16395bb7d1791394b981c3d48d1c5bbe4f0a9bb4fcfa7bb8498363d2871caba53c0fbbb684952bb9d00f33c9cd80b3b1320babb9427a9bb8490aa3c2c22883b6d798bba3a491fbc336e1a3c9c8ce13a0ef3a7384b19d4bbc96a91ba01eb893a3d78f63aa4bac1bb07779cbb364d5539a926233bddf6d0ba24c309bc9d9da3ba33ee033bdd4936bbd36b8bba4bfd10bed02b823c80bbea3bcd63bf3bc59b44be755a10bc0572063b46a5103c37c164be5fe834bd7b3bc1ba0240223c67484bbe058b6bbd9f2625bc890a1c3c6fdf18beb10f72bd6ece8cbc6084093c5170c9bde58b46bdf4fe8bbce190d63b027538bd951ee9bc9c0b99bca31ceb3bc05ac2bb317773bc792b17bc07cf703b2158ea3c5b960d3c203288baf79e103b3dd6503d93d173be1e00af3fd306a3bc1b45453d3c3c4bbe7e37993f8c225e3db92d303dfb9039be95f98b3f9f84af3d33f1153d51ff12befac55f3fc2c9ea3d4f42013d4a7fc7bdb1461f3f5118083e9ca09e3cf4f447bdde2fc33e7d20023e27f22d3c319a10bceff21f3e5685d23d08a109bb804b9e3c1e34ff3b34ce823d99a784bb03ce0c3d10e20abe9485f93bfadfd0bb101bb2bb00000000000000003d4aa2bcc62fafbb0000000000000000b0afe5bc199c70ba0000000000000000eb4ee6bc047299ba00000000000000000078e4bcf32bf7ba0000000000000000bbb7e6bcd86ef73a00000000000000002a8bd0bc9344343b00000000000000000e429dbcccff8d390000000000000000ec83febb6b46ceb90000000000000000a0f9eebb227ca7bbedca8f3c60501eba740c25bcaa1b17ba0adeec3cba8a7e3c9512f6bb5e7b6ebaa94b033dac39c43ca57ee1bbf735633be8accc3ce696d43cb5458fbb3fe2453b3566983cd7fc973c7a9eb0bbf752033b513d613c98694d3c4233b2bb62fbd33aaba4fa3b68e1d83bd1808dbb00a71c3b11fbca39008cc4bae00a8fbb288b123b314e6dbbc188e6bb297696bb4a693abb28ce3a3bd1e0ed3c69e4acba951fb1bb7a890a3b7de8023d47d2873b5757bcbb62f98138d75fe63cd255a43b105cfeba42723abb7263563cf238d53bc8b48639687d43bbe923df3b2feeee3b59d5f93a604c19bb85babfbafcb5533b2e19953b016c1dbbfea4b5bb81a4983a7e0d9d3bf92607bbc6a56dbb276b1cba2822323b3a253aba4e04debab159c1bd3775683ce3c6d2bb70b02f3cca912cbe320e13bdd75befbbabad6c3cc2ec3ebea3808ebdb1c685bcff7f653c494c21be7b93abbd983ac8bc938d793c248aeebd44989abd923100bd90ae503c3fb698bd6d8a86bd4e4506bdad27313c1907f2bcb0db28bd4a01cdbc9618cb3b57083239239197bc636f39bc1cdd483b52ea9d3ce98a503be03a9b3a4cd69d3a6fdd423df6d863be90c7903fb4d4523e8e415d3d189e6abe9be78c3f042f743e27673d3d897a48beadf9743f5b07893e579b2a3ded3015be011e3e3f9e518f3e077bfa3c8714ccbd93e9033f930c853e262cae3c1bb23abdc9a6973e60376b3ec7695c3c4c330cbc1fb0de3d8b8e233edf2ee53aeb0a743cec2789bcb8f6a63dddb5373a671dc63c72debbbd294a2b3c5fff75bd3fe8a43b0000000000000000c6a78bbd02fdc63b0000000000000000b7d28abd2a28c63b000000000000000070a388bd22aa5c3b0000000000000000a9a352bd0a10683b000000000000000055274fbd9c8e983b0000000000000000d19220bd1b85853b0000000000000000dea8dcbc8378553b00000000000000001d199bbc28d123b900000000000000001d82f6bb38fc1dbba942813cf9960cba023612bce84140bb4030cc3c69d57f3c095a20bcf09dc53ac13ee63cbedab53cb01119bca2d72f3b5a2cce3ce20fb33c0ff494bb9552093b5c458c3c7a17803cb23afdbb430f533b232d483c639a463cf16cf0bb45fa813b8f8de43b86e5853b7272c1bb5b51323b9e36b43743505abba3c365bb333012ba0130b3baf618f2bba5460abba6c602ba7baf953b94e7853cfe13e73a9587a3bb76158a3b5961d03c3ac9323c5186b4bb1f80d33afbd9883c7788133ca4145bbaa6e9dd3a5054be3beb9a353c50f45d3bcf8e51bb8f64ee391e73043c908b8a3b6ec9bb3ab2e0d9bb5a08a03b616ab23b750aa13ab986e8bbbceb573b72368a3bec7f9fba195272bb77e282b65f29e83ae76f9e3afeed253ab7b3a0bd873e17bb24e15cbc0e04563c710604beb06483bdf34681bc4cc9973c7fe30cbe7195d7bdb3f2dcbc97a6873c4e98ecbd55b7e0bdc0ae27bd94029f3c027da4bd0c86d5bd6b8730bd098f743c282049bd14f3a6bd9c9c25bd6691393c5c6ab0bce9a349bda3e8eebc6df8cb3ba8a8303b54abacbceec332bcdf6ceb3a6e2e8d3c6827893ab9818d3bd7fef03a197e2a3d5ef752bee816753f25dedd3e542d443dba9f56be1080643ff117f53e3100303d0e6a2bbe8834413f57ddfb3ea0591c3dbe2cf9bd53e0103f4d7fee3ee8a1e13cc6f19bbd54c2c03ef79ad23ec2f5ac3c202e11bd1d50563e6246a43e36954f3c11c9c9bb313d953db110533e6338c03bf353383c2efa92bc1990ba3dce9fbd3ab3ab583c95caa1bd189cccbaf33bf4bd2f929b3c0000000000000000c3a400bee8f5963c0000000000000000b452f5bdf9bf8f3c00000000000000005715cfbdf956453c0000000000000000d6dbaebd8bb32d3c0000000000000000ee7188bde406fb3b0000000000000000041344bdeb4fed3b0000000000000000690b0bbdc728703b0000000000000000837cdabc6720433b000000000000000046bed0bb6721bbbbd24f743c1776693bbfaa02bc9cea7cbb8d5aa73c61267b3ccadb22bc3375e0b5b425b93c9019c13ce4361bbc92fa463b5b269b3c634da13c04c1c1bb12f210391984863cc6d6433c901c1fbcd437b23b82d1333c73aa2f3c0d8e07bc07e2053b1f45d03bc286373b6ffbf6bb3fa02b3ba10f113bd310c8bb061f89bbd28a643aa61f19bbf6b504bcdf828fbabb898bbb7222a83b2f5d633c9e3d1b3c608e48bbd1b0643b4702763c670d6a3cdf27d2baa468373bdf03123c5a59683c828c3b3bde1f5539d7413b3b9f98533c1697b53b9f5c353b856611bb1b6e3b3c3421f93b5208e43966900fbc468ba93bd435e33bf92b5b3b31cac2bb5e48a53b0cd0c43bcfec383b6fcb99bb3687ad3a0b5e263ba85e203b153f02b9a37370bd9834aabc47db80bc66188c3c19a5b1bdeeb4c4bd378ec1bc8cf3a03c8286babd7bea09beffab27bd8314a53c0e5b95bd380a10bee9564dbd6a79973c854752bdf03ce7bd9eec57bd02802c3cbbbd04bde5b6c5bd3e173cbd956d363cef8163bcda4f59bd100df7bcab70803bf4c2ef3a7f7bb2bce7163fbc519332b960de5b3c2f4ef23ac9edc33bca6913bb9dfe0b3dad1e28be6177363ff31d313faec41b3d32c01fbe57be253f423c3a3f95710a3d08f8fabdb2a3073f2f9e363f6296ee3c965cabbd2d88c33e6516263fa5f2b13ce1575bbd5c167d3ea52b063f47299a3ca736b4bc35760a3eeeb1c93e1f59323c175590bb84b0443d81bb673eef25c23bbbf2b13bddf847bc7b8ab03df782c338809a643c336e69bd5d668dbc2db135be23d6f73c0000000000000000f8ac37be54fb003d000000000000000016f91fbe3e4ac93c0000000000000000e6d307be8bf0a53c0000000000000000b43cb8bd20cc733c0000000000000000a5949bbd5bf55d3c0000000000000000fca643bd18d51b3c0000000000000000a5f2fbbcae659e3b0000000000000000a1b7d3bcd60ba13b0000000000000000c3e09fbb10cdb4bbdfd9363c3aa1923b8390e8bb941678bb52328c3c86f69b3c847511bcfccdbfbab759a23c734dc93ce2b01bbcfdea2d3b7e64963c3f95c03cb11dfebb000c6d3b5bdc843c8862943c202d0abc598a203b1b65543c3df7373cc98df5bbdabf323bc7f3143cc18e9f3bd90dcfbb5e1e4d3b44c2c33a8ab358bbc4b45abb06e89db982ae51ba3fc71abccec22c3b96a207bbb973833b6480ba3b8843413cb945ebbb9cf5823ba49ccd3bb053953c1fc210bbff810f3bbb0a0c3b40948f3c1d07743b5e07363ae9fc9bbb23eb783ca8ce9e3bece7a03a9bc51bbce9483b3c6a10d13b946c9c3ba33908bc8a9aed3bd23aee3b6094e03a1844ffbbc381923bb0c4663bd376833bb8e743bbcf42563bce1e983ab19f1b3bbce184398c4eecbc23623abd156396bce49b893c3f653bbd22db05be0b24c2bcbb37b03cabe04bbd34642ebe240d34bd8f4fa93c319628bd9ab729bed67569bdb6b5983c2805f5bc47c717be27d361bd26bb663cdcd5c9bcd52cd8bd2c7a3ebdacc1e63b02a755bc910680bd54bff1bc592a453b887809bb3d8fc7bc907604bc67eb14bb2151053c48dde53a9e2c213c48072bbba208ad3cd74ed8bd6d7eea3e40ae703f689cd43c3fe2c8bdd704cd3e2dd7743fc628bd3cb4d28fbd171f9e3ea3456a3f88aeb63c89e336bd69505a3eaf064c3fb74a963c34abc0bc5205073eb0c0233fd4a0573ca1b84fbcc9adab3db784e03e27d03d3c165f7ebb8faa0b3d5af8763ef8ef7f3b83ca32ba87162e3b914b993d768e4d3aba5ce03bc44df4bc511013bdc66460bea5a1233d0000000000000000403c5ebe40432a3d0000000000000000bca23cbed1f4033d0000000000000000eabe12bebf85c23c0000000000000000a96ad7bd0edbae3c0000000000000000b6ac8ebd2554763c0000000000000000337b2dbdafb52a3c0000000000000000a330c2bc015d0a3c0000000000000000fbc5debc2ee9b83b0000000000000000d21585bb659d95bb7e62cf3b9d0dbe3b4de6c4bbd90aacba5492313c12c9ae3c2b4913bcda79a4b8386d863cfb57f03c658913bc3bd7233beabf813c15cbe13ce5d910bc778f753b20987e3c13c5973c1ebe11bc06d97d3ba415443c94a16f3cd7a0d4bb6f3c593b8352133cbf91573bed7f9dbb2566023b26eb643bb9228ebb32b64abb543a253a05f8b63adbc60cbce95ee53b950ce9bb4ca8933a5e06fd3a6bb98d3ce11219bc29164a3b6c5900bbe3a4b33cef87a4bb2543cc39febe2abaad2c993cd9eae53ac4f0163b720403bc2642883c1c78a23b7a890b3bb6bd0dbc8d74553c66ddb13b9baf383b0dd318bc1574123cc12c923ba3b6923b186a06bc04f3c43b1043623be4d0133bb00a76bbcef30c3b1c392cb983898b3b222f72b9a86b3fbb11fa86bdb4badebb5127663c7e2d2ebcb7c025be7496b9bcf7e5963c7a5b8dbcbb424bbe7d5c3bbd1e6aa13c490887bc23e944be551f68bde3c98b3c5d0c64bcb09122becef059bd616edb3bbe0256bc969af2bd98d633bd1073703bd1942dbcbfdd81bdc30be2bcc39713bb1a9984bb5ba9bbbc100bc1bbd67ad0bbe5753f3a5fbc9e3b5eb0473c1eebbabbc179223c12364bbd1168673e2cfd8e3f9ac1353ce72829bd612b313e7916933fe478653ca4c4c8bc2945f13d7f90883f16b76e3ccca560bca63f993ddf38683f54eb373cdfbf04bc38bc3e3d3f97313fbd6e533c7a965fbbf202093dad3eef3ebb8bf53bf7e74fbb475fbe3cec2c763e1852733b7b3de2ba7683693cecfc693d9404113a9d8908bb77db4eba561475bd7c006ebe83f3403d00000000000000000a4866be2ff6403d00000000000000001b6a37be002c0b3d0000000000000000d91a0bbea8a1e13c00000000000000009a26b1bd987cbd3c00000000000000002bb95fbdd2e0853c00000000000000004635d9bc23cc653c0000000000000000be5f55bc2835063c0000000000000000c27b4cbcb268c03b0000000000000000fd8e0dbb4ca114bbb5d8073a20cb933cf2f186bb8eec30bb33bd5c3b3eb4053d04c4ecbbe5643bb986553a3c1490253ddfd51bbc2673253a26f4803c16a0113dd811d9bb6b04103bafd2593c4370c93c4eccebbb9c8ac33ac97e6c3ce129953c6fc0cbbbf3c0be3a4048233ccd2ff83b3e5992bb5f6ca5390c4bf73b64fc9eba75b564bbcdd909382cecb4399e6a14bc9c12353cdd1356bc3c2249ba8c2d483ac611933c179d4bbc93df2c3ab264b0bbdef7b43c9ed4fbbb3daa5f3949aea0bbacb7a83c925187ba7d7c2f3a512208bcf565913cb7ebb83b0e90cc3ac24518bcb7a44d3cf2b1863bb2960f3be4682dbcf2910b3c83a2943b6e7a593b0f75d0bbc5ea823b1344a83baa20943bd16f40bb4c06823b8b6d89bae71a283b2a7078b94865893cd40b02be1d65083c1940403c76e5903c6cbc3dbe651f1cbc2cd3523ccc0ca13b90816abea73e20bdda567c3c310e073b109f5bbeacde50bdd29d193c40e289bb476e2ebee0455ebde967493b631c21bc0071f9bdb5ff39bd7041b63976811ebc7fb386bde913eebc1a3698bb80fe41bca027b8bc5c760dbc72982cbc35d4dabab000843ca7f25d3ce99d15bc593da0ba76951cbae00d85bb22b4ae3f37626e3b688b8cba4606443c73ca9b3f20dd053c903a493b696b85bcec0e933f58bb183c0159053c2331c0bc007c733f72f8223cfffdcd3b14e8b1bcf9f6383f05a90d3c70b1813bca329e3a9487ef3e4e29d63b408a8fb8b9333d3ccb9a683e5277dd3bb941f0bb05c6ce3c3ef9473dafb05fba6e0ba1ba4ec1a83c5da5ebbd5ed47bbe471a4d3d0000000000000000d70d34be43c6213d0000000000000000d89b0ebe8b97eb3c0000000000000000198abcbdd933c03c0000000000000000b8394fbd3a37a23c000000000000000067c8a5bc955b823c0000000000000000406a053bdc8c243c0000000000000000a4ba543cc5b6623b0000000000000000d20836bac9bbb23b0000000000000000000000000000000000000000000000006b755abb403f1eba7dd5b23a5db52e3dd9f9bbbb025dc43a8c89053cf00a213d75cba2bb0d06263b3b0b473c4dfe013d77cd87bb3b428d3ba526393cbadbc73cec9ab0bb72087a3bdbba033cacb9903cfd0c5fbb420e6b3a1b7c223c3b2ce23bea131cbb986a3538e732a33b5b23beb90000000000000000000000000000000000000000000000000000000000000000cb86a83cfe0169bca85b46bb20d1c0ba591c9e3c7e8c90bb7295c6bac295ccbbf80f863c1557f73a167916bb91b7bdbb9a975d3cacebac3b7d5cdfba80e712bc7edce03bea33c03bb579a43aa5261abc0594af3b9b64b53b6be982b9a22cf0bbfdfb893a73fd033bf034423b43d788bb000000000000000000000000000000000000000000000000000000000000000068cdfa3ccba473bef753d0bb4160013c0426963cc9ac61beaf290dbdcb61803b5f7ae03b5ed24ebe2e7e58bd77a7f13a5728723b9da726be88df56bdea3480bbed740dbb1666dbbd78002dbda0c7b0bb680f13bc32f45bbd5a7bfebcd012ecbb5c2d05bc3fea0bbc8cea0dbc3803d6bb000000000000000000000000000000000000000000000000000000000000803fe3520abb61b8ef3c9a461abe06b1af3f99d17c3bfb28ad3c2e6cd6bd35ed8f3f7d73e83b6f6e913c4a2ebebd69cc703fe289ab3bc98e923cae168cbd76d8313f2981e13b703d6f3c388e15bd15a1df3e9171933b24b1bd3b2bfd3dbbe1a3553ef50bf538c8e52db9b982bb3c8fe601bc0000000000000000000000000000000000000000000000000000000000000000f122f7bdc9d7be3c0000000000000000fa2e31bd582d543c00000000000000000825fabbfe4d3c3c0000000000000000d7c9953c9ae4183c00000000000000006809003dd325123c000000000000000003411e3dfae4a93b00000000000000008ee9e33c765c8c3b00000000000000000000000000000000000000000000000000000000000000000000000000000000583999bbd54018bc5912073dc955073dfbaa20ba083516bcf117b83c11d21d3d3ffc8d3925f363bba6de583c7ab2183d40c7473b30b48fbb016abe3b5757f63cd5e8803b1c8383ba45b8b3b9d9039c3cdc93093b42f6e23a504e42bb1b02303ccc64423a67a40c3bce168dbb7a52e63a00000000000000000000000000000000000000000000000000000000000000001ed5f3391c97c1bb23f672bccdfc733d073d3d3c66a22fbc304d92bce3c8583dea07b53caf9b42bcdd917cbcf33c163d6883b73c6bfa25bc827c7dbcf56df03c5b5daa3cd63eefbbb9bf45bcfcfe453c4c756c3c9d52a7bbdabe03bcbcf6b93a5f43463b511894b91dc31cbb0f2dc3bb00000000000000000000000000000000000000000000000000000000000000004f5156be96b48abd4834b13c2ded953af2a22ebe0ef7cdbd7a12c83bdb872c3c5bf20ebee915eabdf09466bce19b853c9974c1bd0d6fd2bddac2d3bcd83da33cbb8c4ebd45dc96bd404800bd9059833c6f70babc8ccd21bd32ead0bc73514d3cb6f66c3bd79fd3bad48163bc0c96b63b0000000000000000000000000000000000000000000000000000803f00000000c6aa293dc55452be5ff6b23f3854bcbde5fc2a3dfd8241be53f68f3fa896403d52092a3df8bb38be6c8f673fece4013ed1cf173dd26519be26fe223f6a382b3ef705df3ccafec3bda6a4bf3edf1c283e9eb3393cc1390bbd3134263ef807f23dee6a49bb6b9a863cfcf3d8bc64c71e3d0000000000000000000000000000000000000000000000000000000000000000136d393c589ee7bb0000000000000000d5e6a1bc42dd6ebb00000000000000001348f9bc0989acbb00000000000000002275edbcdeb51ebc0000000000000000ecc8bdbc3d5c04bc00000000000000004e8b34bc307913bc0000000000000000dea4433ba7d6b1bb00000000000000000000000000000000000000000000000071e0a5bb630417bccbcbbf3c5d51413c7b7e2bbbf4e94ebc32ddc43c4db0e43c795866ba09720bbcc314a43cedb51d3df408813a6dfdacbb5e87403cbd621b3d4e5d7b3b73e769bbb35a393b95c2ed3c9bd53c3b09a4fa3a6d381bbb3a56923ca10d7a3b77ded23a0389abbb342b1d3cd5d3223bd9f87e3b0c7bc9bb3039c93ac8f232b9e2ec813bd7c9ebbb22e9acbb2bb1a4bb6836e8ba1d7a52bcdf625c3db7c5643bed8c0dbc4cf6adbcab388b3d603e953c85a04bbc428197bc932d633d8c18ce3c41d059bcd61895bc0d71253dd36de93c503d37bce3b26cbc7e12ac3ca3a9c93ca70e17bce46a27bc3f84c83b75bb823cb02a83bbb7ba9abb4466b7bb1bd4f93bd5ed48bb31d3d739493a35bc5188e5bae26fb6b9e8de3a3a8b8432bcb9d213be8ed3e2bbd3ef3a3c1fd69ebad50d27be0d0d6fbdca6eab3b77a7053c4d9e28bed663e8bdaab3e8bbc3f4843c14b1fabd09fd01beea5cdbbc7682bf3cc4d39bbd33f7dabd3b5d2cbdd56ec23c960d2fbdfbfc9bbdacd22bbdcb66b23cd96858bc212f20bd24440abd8f554f3cd4abdd3a500024bc8de666bc06a5da3b7e139a3ccf34ae3c9e6e443b449e2cb92f32613dd67a82bee061b23fc6b6cebc7e767c3da40c7cbe56eb993f910dc93d480d733d25a375be40bf873fd233433e05a5553d40a64abe2c6a4b3f6115883e16a02b3d1ec50ebe3185053ff21c933e9931c53ce92f8fbda705923e8e7b813ef3ecda3bbc920abc7e1db83d6f562c3effdc2bbcd35ce93c565a9bbc18fca13dca8e83bc189b6a3d37d907befa2b98bc25ebb0bb5eb8cdba0000000000000000457f0dbda5b8a23a0000000000000000423965bdfdc3163a0000000000000000a6c580bdc0dd1fbb00000000000000004c6168bdcf6496bb0000000000000000bc053abdd74dcabb00000000000000008f00d1bc537689bb0000000000000000aebf3dbc83973abb00000000000000005ed528bb13a448b90000000000000000ae9efdba3d230fbc44234d3c8c8a1f3cea3013ba297930bcc4fb883cafd5de3cc2ef8e3af573e9bb5366383c66360c3dc17fe13a0cb250bb471d0d3b13b1f83cecd9483b667703bb0e40d5bafe11aa3c0742823b1cc5023b900ef0bbf18f613c6b151c3bd2fe283b981ad4bbccb8b73bc5fcdf3a4fce993b781b1bbc69b8cc3a5e56803ac883533b09a40cbc05460ebb1f019b3a756d92bb606647bcda44423d45c4663c23ce2fbc7cf480bc57815f3d97dfd73c746061bc2b8a94bca494443dc2a30a3dccb250bc119250bc7f2dd63cf459103d105f00bcb7b42abc58554b3c66d5e63c5edccfbbd256a3bb985672bb4f438b3cd7f513bbd9389db9a74033bceb07173c9eedeeba9175143b57665abcc74ac9395053a1baf11c353bc1c71abc3404cfbd838cbbbbfd9d00bb0fa6493b6eec0abecc38a5bd57f01abc1b70583c1602f7bd21e901beef39ddbc5638b03c4a31a6bdf82505bec58a4abd7edad53cd91f32bd3d2cdbbd425e77bd97eeb23c674b82bc613f97bdafad66bd1d68a03caf282fba8bca20bd2feb16bd9c072b3c6b59193cbe6926bca01367bc52ab5a3b5328523cd00c4e3cf6ca053c828c35bbc0b7673d24ef7fbec790933fc0fe593ed6f7843d77ea8abe494e8a3ffcb69c3ec6e1763d0f1773beaeda603f42dfcb3e1241473d39e42dbe339a1d3f2c0fe33e9a65073d89dddebd967bbd3e525ed93e3e628c3ce98a24bd9d13283e155ab23eacf5373b8460043cb32bcb3cc952653e1ba317bc701a123dd6b85dbdef35c33dc70b68bcdee13c3ddfe1babd698f5abce86d8abdaddc553c00000000000000000d6ebabda50b5c3c000000000000000032f1cfbddb0c133c0000000000000000962fc6bd9ddf993b000000000000000054df95bd98e0cfba000000000000000051c564bdcdca62bb0000000000000000fde205bdafa913bb000000000000000048b388bcccc778ba000000000000000094604abc33cc4e3b0000000000000000636e42b8997310bc7a0a1f3cde4c0b3c8fd8a4392eaa17bcc7bf263c8b1bc53ccd57393b982fedbbc86e8e3b3906e73c3e192e3bfb3de2ba391917bb6e25cc3c33bf993b5f2fcaba23a2b7bb55eb813c77b2493b36ffa83aafc2fcbb5709303c86ce2a3b7e07803b18991fbcfa85e83b559ba33a1a8e893bd57f0cbc3f83a8394c56843ac089073b2eb3a8bb6bb484bb52ccad3b6e2408bcd103f4bba11f153dcdeda83c6de52cbc1aec66bccf3b303d13a00e3d25ad5bbc79333cbc7684e83c8fe7233dded62bbc056903bc35993a3cae34173d2019b3bb79b9a3bb9f89a6ba0a27f03cd0bd34bbadc9fd38177a44bcf31b983ce8f374b9bc7e383b144586bcdd6c203c5e929fb970f31e3b06644cbc72cf963a4db8b9ba43c38d3b517921bc0e3db4bdb0318cbc709015bcad881b3c8c78bfbd03b3c7bdce57c7bc090c883c5e1e94bd43710dbe48e950bd848bdb3cb34f2abd9de709be2e5892bd5b91db3c950945bccacedebd4c9f9ebd091dbe3cda51bf395a9397bd00cd88bdc6c1883c33ef0b3cdeeb21bd1c9f30bdaf85af3b2c121e3c8a9938bc59f573bc17d4603ac7d7183cfbd44e3c051d253c09ee22bb7b76583d0d4873be8c45793fc989e73e4e836f3d28f976bec0c9593fb6a40e3fe7484e3d8be340becb80243fbf8a213f753c0e3d1fdbf3bd4755d13e87f3203f622aa93c0ca567bdd09a4a3edddb103f003e273c01e50abc32177c3d4831da3eb524deba2a17b93cf5ebb1bc7bd8823e51d7ebbb52c0153d2ef97fbddb9fcd3d01992ebc28f6213dbd82a8bde785b0bcad0709be4121d93c00000000000000003a871cbe16acdc3c00000000000000002f3217bedeb8933c00000000000000009afbffbdfaa11b3c00000000000000004d30bebd3949a73a0000000000000000267f6abdee60cdba00000000000000006287e9bc08b142bb0000000000000000239e7dbc9755223a000000000000000047b793bc2b42a53b00000000000000007703023ba4e908bcc4a1d13b8d90133c4f542d3b2c5109bc40bb303b5e19a53cbaf9043b7c4799bbc69b25ba7ec5b93cd050643baab90bbbf263bcbb4687a13c94c26c3b9d8030bafd07cabbb9ca4f3c68707c3ba5b9843adfaf01bc67ee0e3cf3be143bf1efdd3afdbe1cbc2e3cb43ba80b3b3a15e3a43bf864edbb45b5c4b92ba049ba6e17443ba9add1bbcbcd57bbb0b6dc3b7c2bd2bbea6208bc3c52f63c8452e93cca7a5dbc5da52abc928adf3c3403243d939d2ebc515615bc9f03823ccfab2e3d2208bebbe701a5bbd303aabaf0680b3d34bd94bac8e83ebbff9fc2bb17b0ed3c2d327439acf3093bff418fbcc1178c3c7f286f3ba222663b10566bbce1d7023cdc2fb03a97877c3b342765bc1aeaac3a3ef2f1ba617cb63b1e9408bc0b3f85bd161500bd3f8d4bbc926c373c632753bd1268e7bd40a91dbd6524bd3cdf2e05bd944814beec248cbd506ada3c1525b2bbfb750abe9f66bcbd974ee23c9fa7a93b6563ccbd5decb1bd25c3713c1507773c85b795bd0c7196bdd536363c9906533cac901cbd41783bbd94faf53a4e151f3c51a537bcb6395cbc67b94cbbcf5beb3b27821f3c20c2593cf74188bb2cca363d2d8947be20dc3a3f1b3e363f4f0c393de98f37bead16173f34614e3f90d4133de0ce00becce7cd3ebda2563f15c2b83c350e7ebdd2fc513e37d84a3fdfd25c3c0584c8bc2d4d923dbedd233fee3d6b3b6a9d893cb987c2bc9abdf43e1d92b0bac339e83cb6c95dbd1635883ecbb7a3bbf69a013d8ea676bddf39c43d6b1818bce110063deee675bda27505bd82b549be03db263d000000000000000041974dbee336133d0000000000000000018030beb541bc3c000000000000000043e509be9d7a3b3c000000000000000000ab8cbd5c55b33a000000000000000020e43fbdebaa24bb000000000000000092cb6dbc565842bb0000000000000000c72735bcf7da493b00000000000000009c37bebce85e033c00000000000000008c01243bde78e9bbee32873a3a99083c9d472e3be796b0bb399dd8baf927953ccb96263b7e08cebaed4ab7bbc189a13cb104103be0df083a8d4bfabb66f38e3cac55393b2faa93b9989515bc0da1813c6b29153bf0543e3bc82717bc3b061d3c144ad33abb17293b9e0fecbbce387a3b4ab1b53926967a3b871acfbb32093a3a7bd9bc3a9358343b392b9cbb58ef31bb1328543c25fd1abc0961b5bbbebd9c3c61a0013d144e37bcd677fbbb37a6343c0d79313d1b2130bcb0e592bb0ced65b874b52a3d42cb1ebbd5b58fba233634bcd927173d72ad4d3b4145ac3a87d984bc7326dd3c8e1e4d3b854a693ba9199cbcc50c983cddfd563b8125a43bdfff8cbcf2d5173cdd61c03a62fb883b304441bc22dfbe390bdb29ba62944f3be5b7dcbb52c704bd4af854bd020286bc951f783c321d57bc833305be73673ebd5894bd3c47e5843adac519bea10aa8bdd511f83cdacf533cc5490cbe91bbccbd5e58c43c1d7dc13c7824e5bd99e9c6bd39ea573cb1c0933c786d96bd6c6399bd7e58e13b46ed513cc56921bd0b533cbd5531aaba1187c33b291235bc0c686cbcfc3892bbc185c63a2760313cdaa05d3c34aeb5bbeac2e33cfcaa06be942eef3e8733763f1f2fe43c2317dbbdc568ac3e8c4c833fa49d9c3cce8d67bdabd5373e6816813fd1582a3c41f855bc3124623da1be623f33ff883b247c923cc1602bbdcb1b383fccd98b3a52bdf53c5d1e86bdafa5f93eaba005bb898d023d936982bd8b40853ee11784bb0824c43cadb830bd5668a03dd0169dbb6666903c1a7703bda5053abd05e576bef02e4c3d00000000000000003c826dbe977b343d0000000000000000b2ac37beaf8fbf3c00000000000000005910eebd65e31a3c00000000000000004e227bbdeb1d34390000000000000000914694bcf565a3bb000000000000000092cec33af45d0fbb0000000000000000f25623bb7bbda23b000000000000000004a1bdbcf198273c00000000000000004ee4063bdb077dbb179ec0bafe6eee3b772c1d3b331561bb249fabbb6678823cc8befb3a28cf86baea9301bc268da43cc4d91c3a2fba003bb36007bc111d973c61684c3a639e773a3cc503bc83225b3c6018143b8f96be3a995efabb07c01f3cfe20743a5429543b7643babb4878783bec9b3fba1c98553bb20b3fbbb05c6b3911bbe039d44df33adcb31dbb96711ebbf16a503cf7812abc9421afbbde1be03b21650e3d02a34cbc81647ebb963534b98f36313d15b9febbc44824bbae8d1bbc1823333d6b2644baf635313aa12d98bcd75f0c3d2e46a63b0fc92e3bf1c194bcbb35d53c5c7ae33b7d6f8e3b06d0a7bcbaf5883ce44b903b1fd6803b8b6679bcd591c03bd342633bea3d483bd50403bc7e735d3964f938ba9b9c493b999797bbb6e228bb02018dbd6cd306bc1e18823ccb1c863c413611be7a3d56bd4fd7d23cea91ed3cc2aa26be1e8dbcbd8a20ee3c0f100c3d439219beb055d3bdf9229c3c4595023d51eae2bde358cabd319cb43bc303be3cb3049ebdaf5a9ebd4b6fc63aa0bc3b3cd62b14bd7f113abd4124a9bbe2c1e43a520a23bcad2734bc89e316bc4e01e2bab8c7f53b28895e3cf551a7bb5c85793c3e1e87bd5360693e1731923f3179283c4aa71ebdee09e23d7689983fa4d2033c07a8d4bb87b4f13b2c0c8f3fe6960e3b9e5fb73cded689bd2713743f003a2c3a0a080e3d10f0d3bdbe4b393f769601bbac9f233decedc4bd5571f73e92ff5dbb83f4f13c0f0a80bd92b1773e3737eaba9569713cf764c7bcd2375c3df516afbab7a48b3b3e9c0bbb42846fbd9e6c81be0a08603d0000000000000000098565becbbd293d0000000000000000ea1b1bbe39f59f3c00000000000000007da8a8bd81c59b3b0000000000000000ed3289bccbf012bb00000000000000009abb4d3c4fb7f1bb00000000000000000fe5bd3c50da6aba0000000000000000ad2e433c69d2aa3b0000000000000000c9e092bca453263c0000000000000000a2b2c33a7f6350bb48d4a2bb5ca3513c01d1ce3a4421bbb933d22cbc6aa4a23cf2c9fd3a22e27339d5f04ebc3b5cd93c15b1243ac5717d3aa05f2abc53acae3c7f0f7f3a5beae13a7fc006bce8257c3c7cd888b861eb303be73996bba5bb363c89d9af381e00273b36cc57bb24e7c93b3a2102b8a3b7053bf499a8397391d139c6c575baa9a6d03a17b4853a81c64bbb13f5843c35f537bc2c7e9cbb87a65b3aefd7063dcd8750bcf04c1abb484b37bce3e3273d4c7b97bbac1911bb526984bc9478203ddc2f213b99baf83af0f7a7bc3183023dcd4c033c2c344a3bc8f7abbc506ec33c0b79103cda280f3b599e92bc68d93e3c15d5f53bcee02b3b5b3958bcadeba63b9fbdab3b59d3d03a04b3a5bb37a53fbb2fc10bbab3d4183bc9c93dbba559cc3c01abf2bd4271f1bbba24a03c5c9a2f3d40b61fbe062041bdae78ba3c41f0523d4d873abeec23b4bd159abb3cb536413d07581cbe508fd9bd9a0e543c6948123d37d1dfbd11d1cdbd60032d3b808aa93c54f48fbdaf0ea9bd02ce91bb7a58013c0de211bd415a3abde00f0fbccbd8a0bbae900ebc908e75bc251b2dbc63e8c8bb41e44d3ccd079f3ce543c4bb204970b93bbf48bb94d533bc4c9db13f5c127aba41ca553ccc4a3fbdcafa9e3f036335bb248c093d372cf9bd8429963fa5bd82bb79a2463d4dfe18be487c743f87dfacbb5ab2523d41bb16be1cfe333f6fec7fbbfce12c3d903cd9bd5d55e43eb27711bb4a38dc3c44554ebd2fb3503e7f048f3a5e88433ba6c93cba0db91d3d52886c39917868bb8c17c63ce8f7d8bdf37085be8311563d0000000000000000370025be6e66f93c0000000000000000b093bcbdc007d73b0000000000000000b72069bcc8e6b5bb0000000000000000d3ab393d8c1d47bc00000000000000003cbb883d9d4f2abc0000000000000000966e683d9d3d9fbb0000000000000000964a063dd5f2023b0000000000000000295389bc20a9423c0000000000000000000000000000000000000000000000006ff5c6b9b217caba899d48bcd006ef3ce69483bafac2f13a038f2bbc2ae7bb3c007e3fbaa65d363aff0cf0bb4b889d3c21036fb9a570083b6807cabb80a75c3c22f03239b5e0093be87b3abb617eea3b30af693a7e00823863b6143aa6f4523b077b493916e4c33ab605563a8a92aa3a00000000000000000000000000000000000000000000000000000000000000009680073d288af1bbad1ddcbacf095bbc004c153d3998dbb96412e1391897a6bc9333073d3a14183c72bac83a614f9bbcdddbdb3c0d97513c5d3dec3afbc2aabc44c7713ce05d533c46ac6f3b955b85bc303f213c01010f3c2fa02f3bc4ab21bc85cc24b83b07953bca4072b9382076bb00000000000000000000000000000000000000000000000000000000000000008ff4853dad9c4fbe0d9056bd8e279c3c2ba3753d084d2bbecd89b4bd80a6273c8d8b3c3dc9f00bbed7e8d9bd79fffaba3054163d7036c6bdb5a9cfbd926330bc3701983cfa155cbd1b2997bd2e3492bcefa7983a4f42b1bc8b883dbd91f96bbc728cffbbc1cc3d3be7a329bc34401bbc000000000000000000000000000000000000000000000000000000000000803fde830ebc410f523d19525abe6322b23f633593bbcadb613de7824ebed1108f3fe834c0bb8f246d3d4efc49be09cd653f59e4afbbcf716a3d83112abe5482223f90ddbdbb8f742d3d6c53dfbd46a8bf3e0cae6dbb04cdbb3c20da2fbd8ac5253e4e6f8c39ca801f3bfe666d3c1177d8bc0000000000000000000000000000000000000000000000000000000000000000c8f2cabdc6f03a3c00000000000000005c00b33cfad219bc0000000000000000a1f1bb3dbd3885bc00000000000000006e04063e12ab99bc0000000000000000c64b073e9a4049bc00000000000000007c8cca3df037bbbb0000000000000000d6b4243ddafebe3b000000000000000000000000000000000000000000000000000000000000000000000000000000005c6496ba6d07eebad254ecbbfa76463dd4ec8739388d0b3bf49693bcea07303d6ac73fb945bb973b5e8680bcb60ce13c48131eb9a849c93bcb7a43bc1a67413c421eaab9ed73b83b5eeff9bbf55573bb4cdf143a508e213bf8d81b3a5f400cbcbda40f3ae341f739024e093beb5ce7bb00000000000000000000000000000000000000000000000000000000000000005303fd3b0b78b6bb28d2abbcbb5c583d157de93cc9d76cbc6f3ebabc2949283d5c1b353df1f8a2bcddd78dbcdb56a43c3d554e3dc16eaabcf59f74bced2b653b0430373d281766bca9ee0dbc304fd4bbd983e73c26cc00bc7f7e43bb7a9b54bc4ef3f63beea4013a042b9a3926eb1ebc0000000000000000000000000000000000000000000000000000000000000000bee9f1bd1aad21beb14e3c3d9ffe19bcc47844bdd56f62beb283233d9dd977bb8b844fbca26460be67a34a3c90bb0c3c3304853cbab137be2bacbebcde8ea53c57ead93cc04ce9bd4a2956bd5c70d03c1338963cc80e31bd2a385bbd3b5cb83c57fcd93bff426e3cd0090bbdad8a233c0000000000000000000000000000000000000000000000000000803f000000001b9e713d61fb8bbe680fb83f015674bd217b8f3d61bb87bebe938d3fd1ee243efd268a3d3cc468be9b134a3faddfa33e2872813dadbe32bee4d6f63e3a8fca3e89cd413d5d85d6bdac7d623edc2abf3e380da83cce5804bd40fc2c3de147843e3e4f30ba5216843c2d059dbd2fb9ab3d0000000000000000000000000000000000000000000000000000000000000000ff6107bc126ee03b0000000000000000d624abbd769cbf3c0000000000000000d51307bee1b1023d0000000000000000992811be5f90d63c000000000000000009f0e6bde7f98a3c0000000000000000784083bd5753c53b0000000000000000531767bacfbbe0bb0000000000000000000000000000000000000000000000004c7553baf8117ebb16fc30bbe33a003d86d3113a20914a3b418f99bc276b1d3d089a07ba01e4dd3b43c99abc7171e83cd72c0eba41c5f93bfa1263bc11ff383c8e987ebab829da3be864bfbb5ae2cebb891eb03869a4713bca27343ac41345bcb9d7ea398e121e3a159e5a3b05330fbc6ab0523aa29a32bab3ccac3a395f603a4f73773a5d74a7ba5e40063babc25ebb53ef3ebb2ed6bfbaca6f8ebcfd63363d8e6ec53cd3a535bc85ad00bd6f74513dac72403d7e0591bcf192cdbc11f0d43c57bc703d62d69ebc700f94bc445d893bb47d6e3d5f8778bcf1ad36bce6bd3dbc4516353dd6001abc4fe882bb788597bc2238a93c259bfebad08c3c3a7eaf5fbc9ce578ba1af12bba29fb073b6a4471bb390c2dbcf3a9a73b0e20c63a22e011bbdc4fccbd1bd090bd0665153da2a624bcbfe14ebd341247be4ce72e3da982a1bb29d878bb54d57fbec0e0b93c9d81413b62a1d13ce2eb62beaa89c9bca456683ced83223d495722be1a5f8bbd68cad33cb82cf83c5441a4bdd200afbd5ca8eb3cc800063cea1133bc21bb8fbdfacb933c5d0c07bc29c2743c539186bc2ef84c3be43c92bba2d22e3dc2b9583bdbd8ccbb92977a3ddb7791be1d0fb93f595605bdc8bac23da87ab0be4902a53f6b22043e9f3ebe3dfe949ebef9d57d3fff94b73e7a28a23d2e3765be8fe6203f763e033f7624713d9fe509beb66d9d3e8dc60e3fccdd033de00b5bbded8daa3d6814f13e36d59d3bc8771a3ce88038bdf44d933e057981bccff40b3d645163bde70a6d3ddb6fa5bc29fd2f3d513fc8bd10d6a9bd357b1cbcc131cc3b0000000000000000f17368bd1f074c3c0000000000000000ee060abee881053d00000000000000008ed12cbe5d2d173d000000000000000019a123be4a0df63c00000000000000006933e4bde853623c000000000000000003c124bd76deb539000000000000000081ea943c16c39cbb00000000000000005bea383dd92b31bc0000000000000000ec8416b901a7083a648212bc31cecb3c5d47b83873d48a3b14d687bc021ce13c4370e1386c16c13b3a5797bc1082a43c193fac3960aa7a3b11e702bccfc815ba61aa383a02497b3bb92b4abb41cdf4bb87c0683abe76ae398fc6e13ab8ed2abc8ac9603a786994ba1395153b8a9ed3bbde88473add0104bbdb12da3a394c1d3ab9112d3a67b405bb7d58943a99f7263bab85d43a99d041bba87aa0bc4e620b3df991f73c95b457bc6e8dcbbc585efd3c0ea24c3d96818abcd4f4a2bc52e17c3c2acd7f3d64e28ebc0fe73ebcedb6e6bb8e4a553d329157bccac0dfbb4b3a49bc6a13133d8ae45dbb4421d6b9323178bcf9de883cc708053ae962043b672b17bc98710abb68c54e3bbfb7313b9ae418bb8d7576bc39f4b53b3a64563b31c4ea37e9893bbd1cd5b5bdec3d343d408152bc61536dbc18d94ebe89a4103de7226cbbd3e7893ccd386ebe7fbd6dbb9f03093c80fc153d587242be989070bd335abf3c0bb4f43c6b17f1bd54efbbbde74ae73c94518b3c335f39bdc272d6bdf870d63c68abfe3a9c03a9ba2bf09abdfef8863cc574f8bb4629863cf9ada1bcc05095ba99f21ebc1429053d67c4683c3d7431bcf469943d9d1295bedf57993f2d8c683e0ae4bf3de010acbe911d8a3f9763c83e5881ab3d49c987be44d5423ff34c143f6093813dd9b726be120dd43e8d1b2f3fbfd61a3d4fbd9cbdb8ae243e2100243f45ae533c2b27c6bbdde174bc8d62023f14ee9dbbddbcd23cd6b685bd11e58b3e4a9596bcf6a90f3d56e365bd08272b3d5cdeb7bcb718103daefe3dbdfb5ad6bd71eab8bdda8ed73c0000000000000000bdb410bee1960e3d0000000000000000c8b13bbecc1e283d00000000000000009a523dbe498a0e3d00000000000000001ddf09bec5e6873c00000000000000002cb0a0bd7910663b0000000000000000dec4513b87ba5dbc000000000000000082ee483dfd6e81bc000000000000000011215a3d0bd243bc0000000000000000ce6f393a0571b83a3d4e3cbcddbbb03c581985399d43993b881a83bc6b4c963c93bec4b83ba2c13b510f4cbc0e629f3b6154483a68760e3b22c23abb5569e8bbb97e3a3a9c643fba7860293b3b5944bc9ad0cf3a3467ffba3d99173b0f7d0cbc7b5a9f3af9f55dbb8c1c5f3b3c5188bb3af79d3aab6b26bbfff6a53a8e841b3b87d1ab3ae72d25bbbae1513a719eca3aa22e973b99978ebb0e5d85bc31a5d13c446b173d1f874abcbe77adbc48fd903cc7a66b3d85b485bca37b67bcc22e20bb9046733d365544bcacd6cdbb286149bcad0f453d2efc81bb8ff609ba749196bc7d68e83c29e2693993ec313baf353fbcb82e1e3c4430b53b9465813b38f2eabb8761bebb0122b83b38d92e3b747f89ba92ec73bc7dade33b7d7d443be660463a41e6dbbc2178d7bdfd364f3d4db982bc502a6c3c5cde4fbe002e813cae7664b94a26273d4fb556be4ecf26bd09f6813c850a143dfb0417be6a4ac6bda39dd73c0e5fd63c9e449bbd702005be3350f43cca22bb3bfeeaa2bce67beebdc1fbbe3c76126abbf2423b3c7d879abd626bf33bf05b31bc6864b03c2883a2bc147487bb9a0612bc8de1f83cbfa9873ccf0c6fbcc8838d3d46198dbee17d7d3ffedbf83ed3a7b23d1d7d94be284a523fc21c293f7e8e8e3d73e649bea1a1003f24d04f3f1e2a243d2476bbbd5926533e1d7f543f50b28a3c30112dbcd7f1afbb45263d3fb29e3ebbbed9023d403ab3bd0408043fccf576bcefb93d3db972c3bd2d53813eddd1a0bc707f123dd60a44bdffad6a3cea8ca0bcfb74d33c7211e8bc4be4febd2e6f2dbea11f3f3d0000000000000000ed9358be338f583d00000000000000004c4261be4faf3f3d0000000000000000332635be1432f03c00000000000000004a9ce4bda6d01e3c0000000000000000a8f6c8bc2bc040bc00000000000000005409593d325dcabc00000000000000003aa49c3dbdcecebc00000000000000005ab7873d10067cbc0000000000000000a057163a71a62c3aa81c22bc2bca8c3c984f0d3a52b88f3bf85f60bc3b0a0b3c1bef4f3909b7293b0a78a8bb0b4ba9bb97fe123afa889db9ad52843a328d44bcb2d78d3a365aceb9f4c9063a68a819bcf866e43abecf8cbb6ea2a23b0cc012bcbd0ec93a96ab5ebbf0594c3b2a4826bb17396b3aec6935bb8ece1c3aae14493b4a7dd83a680645bbf951213aaa65413ba1190c3c2798acbbee9c73bccd52a13cd1952e3d0df952bc5cd96fbc18478a3be8c1733d13185fbcd08a00bc967a1ebc27c2613db1adbfbb191876ba18b593bc7889263d51d628bb6fa994bafca426bc3721b13cc99b103c91f48e3b7c0136bcad0db63b750e153caf29693bba17b0bb1432e9bb2196e93bc1774f3bd1e7813aa58e76bc26efbc3b78e0283befdc1e3b7384e1bbde55e9bd4634393dbdd07ebc1dc3133d90a842bed9542dbc2db3e73b88b12f3d7adc2dbe5aa6a3bd1377c23cd1bc063d32a2d6bd0f230bbee899f83c289e7f3c268871bd0afd07be52f9d43c98e35a3b2f7412ba3f9c04be12237e3cca2b16bc7a239c3c1d6898bd66a6d43924fe46bc5b36a33cf61c8cbc90d61abc8eaf3cbca558d33c2975ca3c748378bc4b687b3d2ea26fbe12e23c3fd6f3413f146d853dea9055be355f093f08336b3f6806333d6c71e7bdaabb823ef5db7d3f24f09e3c0f56a2bc67d1c23c1dda6f3fffe6ed3be8cb643c3ba662bd1974343f5b9085bc28957c3dbead10beed23003f8d5c9bbce1e6593da0f5c1bd2b81523ecb8598bc8461ef3c8206f3bcaf3c63bc422c8fbc79e8a83c8d7824bcaaf80abeb4e071bee023813d0000000000000000f26e85bee7097b3d00000000000000002e1562be098b2c3d000000000000000010de13be9b3a943c00000000000000000d6ca5bc7c339bbc0000000000000000418a373d534000bd0000000000000000f982e23d803323bd00000000000000001153d03d2b0cf5bc0000000000000000358e723d1c165dbc0000000000000000231fbf3a1d340b3a11911bbc70c1463c70ab813ab9770b3b508808bc64bdbbb93e30253a514c4bb94f11f4baa66d1dbcf2cfc53a072b29bb1d2f503bbdb748bc06f6d23a6ad0a1bb80f88a3b44340fbc3594263b1afed5bb66566d3bf00a8dbb7f1e8d3a94c486bbb8b2383b0987d6b9fa66a23acaf92bbb997efb39c908863b12c7fe39b18dddba4c9a44b95cfe963bc76f7d3c20d2f0bb769f2cbc5a66133c95d3403d5aea39bcd7c3edbb09a904bc7099673da3dcf3bb5fa442bad34881bc1ea9473dd8cbf0b80128533b3fe092bcd730013de81d0f3ccc47b63b98c06bbcc4ef853c8ea53f3c7358a73bf216c9bb3132bf392c99433ccb61983bcb8629bbaff613bc31500a3c816b273b7e21f23a81d469bcacfa973bb1c83b3b3c81793a69991d3cadf7efbd72df063d2b5312bc36a13b3d8f372abe22573abd384d6d3ccc442a3dc00703be745dfdbd8b10f53c39bdb13c0cbd8cbdb3c823beda99f23c4306173c4c15abbcd92325befeeda13c3f40c9bb88ae193ca165ffbddd77b23b0a4b59bc2b53d53cfe9f8ebdbc5decbbd9db52bc3658903ce75d2cbc70bb37bcfaee12bc4b318d3c6880f33ceb4786bc22433c3d570d2abe68dcf13e645e803fb6ea223dc144eebdbb6d873e020b923f3dd09a3c189108bd3f0c1a3d00f3903f7313abb81b1d033dcd2ccabd7ea8773fe85785bce3ec943deeb532becbf53b3f41acb0bcec0d933d41ed18be19f0de3ed71db1bc0faf5b3d4825b3bdefaf203e7ea085bcd155b43c32ee62bcbe3a17bdd9d637bcc3dfd93ba32e583c9ba40bbed25c8ebeebae903d0000000000000000e8f88ebe348c803d0000000000000000895b46be683d003d0000000000000000862492bdb70c10bb000000000000000048d4233df006f9bc00000000000000001a2f053e22d64bbd00000000000000003e10213e5b7250bd0000000000000000b72ae13dd30afcbc000000000000000036d0403d8c721fbc00000000000000001211053bb8f1a539a2f4fbbb7286ad3baf8da63a1fc143b90c6d8ebbb5f6b2bb97a8403a5e40d2baba754eba407528bc6e8db83a969856bbec76613b62052ebcf3540c3bae1eb5bbd378683b6a48dabb9903db3a46e590bb867e513bf85268bbd958203ab4b566bb317b1b3b82804f39d6729f3a8af830bb56b4c839ea62b03b6cd77c39c2c2f2b9faee0f38eeea523bb9129a3c5b95d2bb4f5eccbba53619ba0231423d27cf07bc0bcf56ba401f67bc305d5b3d062559bb11d9113bed388bbcd8df2e3d77abc83b8edaa03bbf8d98bcc8f7e83cd3283b3ca20baa3b61c12ebc5a66253c41db7c3c2e25b33bd705bdbbc9ce97ba22f7593c6365ae3bb219f6ba96f002bcb25adb3b172e0a3bb73f6b3a75c743bc10f41a3b4859cd3ac348fd3aebc1c63c0efdd5bd6859193c6fe90ebbbb0b353d6c8c06bee5e2acbd9995c03cd8b2183d190cd4bde33d17bee209003d567ea83c345143bdcd2236be7602d23ca0cf853bb3ad4ebc100e25be2bef553c14372fbc72e9b13c4061fbbd0d6d26bbc30a66bcce1ac13cf9b680bdeb9f48bc0c6b51bc38c6683c9993a0bba3cc6cbcac67d9bb9260c83bc185073defd22fbc2ea0ca3c638eadbd3bbc5a3e00709a3f9a9b5e3c9848e6bcc937ab3c06a0a63fdd02303baa13cb3c63e4debda652973fb16767bc8a09973d923848be3958773fad33adbcac54a83db1743ebe9f90283f5ac8cabcb6559e3d798f18beeb97bc3e3c99a3bce617413d2e208fbda49eef3d9a391ebce988403c38771e3b8aa74cbd430ab5bb282225bb2e65dd3ca755f6bdd09f94bec84b943d0000000000000000fc8282beff745b3d00000000000000003241f3bdca433f3c000000000000000083b3993cda1cc9bc0000000000000000f61a133e3ab362bd0000000000000000a94d4e3e30df80bd00000000000000003ca13c3e02284cbd00000000000000005765d73ddcaababc00000000000000007fc4833cd5f6f7ba000000000000000025a6193ac2dc6837ad75bfbb6422063bfdb6f33acb6129bb6191b8badc9815bcc2f87d3a47f15dbbd3836c3b8cf84fbc619b323b791bb5bb1c3d863b29731cbc1ad2ec3a27b9e2bb026c943b98d781bba86cbc3a393394bbf011f23a2f7fd63a9f3ba13a82636fbba545123b8ecf273b8e11423a43cd8dba90d16f3a05b7643b54878a3a955821b9cfe2a2ba7d54633bc3ccef3ce74806bc876ef5bac624dabbfdf6313dbb623abae3ba9d3b7e72a7bc6f33473d0dd78a3b6d94d73b2246b6bc02e0153d58995c3c4121e73b91a591bcc3569b3c30cf963cbd16fb3b836909bc2e748a3b1b9c963ca4efb33bbe134fbbd088b8bb9859743c1775393b407bae3ae06fa9bb06307f3bdddf193a2ace733a98641ebc37663d3a888be8397b5185b84879023da998f1bdae9ac2bc0573343c475e443d359bcdbdf715f3bdc033d33cd2ed073d9b848bbdce9439bee97df73cb74f413c984dc5bc225644be8196933c76bcdfbb8b662b3c9c6929bea1ef543aec2787bcf22ec33c7721e1bdc41267bc17358cbc8a36ac3cba453fbd9802b2bc6d5206bc4520b43a09566b3b24f736bc699483bbdb0a5d3b30e8203d7e0110bc380dee3ba3a418bc80ba0dbd14a6b83fcaaf2ebc4e6e473d66a02dbeff7ab03f5c1396bc5953b43d6dc880beb9bb9a3f7f14d0bc071ad53d4a397abe657c643fde73fabcac24cb3dbff64dbe660d113fb81ccfbc6e67943d31f2fabdaa678c3e295c7abccb85083d3b6015bd6371473db5e017bbeaebe8ba9f02af3c7d954abd385c5138129e3dbc43ae193dca8003be3bff8fbe82f4793d0000000000000000903538be9f6f123d00000000000000000d0a89bc113e5cbc00000000000000000138183eb24a5cbd000000000000000096ae833edd3099bd0000000000000000ecef8e3e8b1799bd00000000000000001fc55d3ef8c040bd000000000000000001b1a73d77ce4fbc0000000000000000fd99c6bc94d14f3c00000000000000000000000000000000000000000000000086ec593ab5acc8ba642169bb93b9d1bbbf56043b58a342bb8682d83ac5d344bcfad6a139b3b18dbbdb86b33bf1563fbc7f84c13af24fb7bb3d0fad3ba382ebbb837bab3af7c5a9bb83d29e3b5ad72ebb5c4e3d3a80f512bbf9cb063a2ad3733b1f29563a83908db9951040ba7b29193b00000000000000000000000000000000000000000000000000000000000000005ca74e3d43c256bb5df6b23b29aab9bcfb6b3b3da835053c2095f03b1bdad3bcfc430e3dfa23823c5929ea3b29538ebce5f2933c22ecb83c4ccdf23bfce830bc1363e73a3057b73caaf5c33b13979cbb200797bb0744773cc85f253b903e9a3ae9730dbce475003cf5275e3a7a54ccb7000000000000000000000000000000000000000000000000000000000000000078fc503d268cebbd6c330dbe4b80013d7103193d625b54bd126242bec529db3caed4823c424895bcb3a245becdde253c8002b0ba03b55a3c5d9924bec72c11bc31811bbccc69ce3cc4abd7bdaa10d3bcf1dd4fbcfc02833c37d727bdb650e3bc55eac7bb2642c43be3473f3c3fc1a4bc000000000000000000000000000000000000000000000000000000000000803f72117fbcab15b53ddc0b98be816fb73f2453c5bc9b66dc3d61cc95be989d8d3febabd1bcfa1cd33d113581be904c4d3f0164ecbcfbc8be3d7a1144be220afc3e3123ccbcac3f873d7f74edbdde646e3e29ef60bca0c7dc3ca04301bda4d32d3d0fafffbad4cd6abbe917bf3cbd7ba1bd00000000000000000000000000000000000000000000000000000000000000005e9d82bdba0566ba00000000000000000bbc013e485f37bd00000000000000000922873ea3b294bd0000000000000000cd52a93e46b99fbd00000000000000006d509f3e16ac72bd0000000000000000d0e65f3e78a606bd0000000000000000bfa98a3d81ab8f3b000000000000000000000000000000000000000000000000000000000000000000000000000000002c50463b3ed56c3bd800d23a117805bb46e0313b71da6e3b274f2b3b4ba798ba7173123b8dce4b3b74c4183bf77477383d5fed3a0401303b331f243b69d23d3a63a9923a45e60c3bcb638a3bdb4393b91697a03ae12c4c3b44dc8a3b3b17cd3ae1f6893a19ae123be2b1883b390cb43a00000000000000000000000000000000000000000000000000000000000000002efc943a9eef0eba9811f939220e21bda9acee39ee8341ba7ffe53b969fa09bdd4a2623acea53bb9996e38bad8b4ecbcd14bb439f6a40fba0534f2b9089dbcbcae528e3a65244f384479993aa5f69abc604057b94baf05ba8301cc3ad5373abc40f93abaaea78ab9c43e613baf3e9dbb0000000000000000000000000000000000000000000000000000000000000000bdd971bd5f2fc6baf8d082bacb920c3ab91c6fbd3d0a2ebb207ba43a58178c39bcaa57bd945ca9bbe4e8753b944c93ba57793abdfc0391bb068a973bb868233a02c726bd7addadbbaa89c93ba6191cba4ddcffbc88ddd6bb07e8aa3b7ca2f8b91c9fb2bc896ee2bb06d8b03bc8380fba0000000000000000000000000000000000000000000000000000803f000000006dcbdc39dc34e6bcc81d8a3f288412bcad1c12ba828c98bc6fee663f37c0503ba1c4e1ba4a2383bc93313c3f61312b3c047312bb23e196bc5100123fc5805c3c0f7c75bb459fbebc1424d43ea69f7c3ca7fdf8baa039f5bc550c853edbf7523cc99c48ba456023bdf28ee03d4b672c3c0000000000000000000000000000000000000000000000000000000000000000071a9abb5fa70d3b0000000000000000f16f12bbb412d53a00000000000000003abb9abae15efd3a00000000000000001e833bbad82cf43a00000000000000006933dfb9bab83d3a0000000000000000f19643bb6254a23a0000000000000000a3a093bbf807a93a000000000000000000000000000000000000000000000000f1bf3d3b1068e63a175cadb96487fcbac904c53bc545d03bc20c713b4abfd7bac5d9933b857b943b4131543b8509babafd5c5e3b34c29f3ba5b0873bf9184b39f21a343bdaad873bddf9803b052b4e3afd94323b147d913b26c3a43b3f2fc63a062c063bfe26733b6102b23b024f0739f108dd3a5940513b3f63cb3b8660943ad836273aa4e38c3a106b543b01bf603a59ff093b6fff3dba857c3f3bf84f19bd76dbcf397c2435b90a0fa13b715742bd96ce283bec499abacfd3503b612128bd2a3f9b3a9ed93fba2be2c73ae5ac14bdb57e6f3a3cb332bafb3ac33aa388e0bc3d34063a36e687ba46c72c3bc72faebcf84922389fa6a3ba478e6b3b360935bcd8cc9aba72849bba1f3f873b435033bb4ecc00ba7758c5b9b6d38d3b97c4b73a04f703bd2580693b28c69bbbb62c4f3a1db786bd50083ebb21191dbbd38b073aa26b92bd7be887bb4b819339aa535c3a5d4a89bdc2cef4bbf73b823b5feb8c3a0f0c63bde6a803bcb1e0b13b5356953a90514cbdbcd825bc20becd3bc1501f3abb0b1ebdb3132bbc1277d03b3c1c0dba8a5bc0bc7f2a23bc7ae0bc3be54eaeba7b660fbc7af194bb15aea53b641218ba438f533b71c160bd1888893f3291ed3d3cf1a33ba0a082bdf1b8813fc6d0e43dc263983ae47b35bdb8655a3fdbc1e33d81586739fee222bd1bf0313fb95cce3d3d5906ba70e017bd55f2073f0699b03d66d1d3b9be4a31bd79a1c43e9bf2903d6e6efd39f78d3dbd546d713e12aa583da4fc983b58855bbdd4a5c33d5732ed3cd1fb4c3bcc2731bdfa30b0bc891f213cbaa5a1bc445b4c3b0000000000000000e7a796bc8d16803b000000000000000082f358bc7289433b000000000000000072d618bc15be403b0000000000000000c73fd4bb0a701c3b00000000000000008c93ddbb876c2d3b00000000000000009c75cebb4699513b000000000000000022e61abc7dc76d3b00000000000000003b0fdcbb44f0c33a0000000000000000cf25403b536e9a3a70bbf6ba419046ba511d883bfbb4993be2f1453a777a7bbabc86563b3368903b39a00e3bf8c649b91d075c3bd946973b55ef503b747d423ad373cf3a6e29883be9af053b0c7cdb3a6e101b3b2a21853b653b963b503ed43aaaabc63aea8d503b1c2a943b01f8d43ab1d5c2b8ecb43a3b06f1973bad31c63a2fc25eba2850af3a1149313bd0911e3a157a333be13765396c07813ba35e05bd5ebd4a3b261eb3ba04b29a3b4fcc2cbde3e3043b17b70aba78753f3beee90cbd97bf083b99c31aba96d9343b0ef904bd81f00d3bfe5ba0ba6fcbb63a000eb2bc672f913afeab50baf8b75e3b8fb592bc0a41ed39e9151dba729b803b81a023bc5b07d039c9c6eeba0122af3b702a2ebb43fdba38905dc8ba7dcfbb3bcc4aba3acba8c2bc17eb9e3baec19abb2e24c93a56f35ebdd4b91cbb1bfa3bbba167183b4e5f66bded9806bced99bc3aa3fcd33a394376bd07772fbcff8f863b5ffbdc3a20b13cbd02c41cbcbebd7a3b84c1c13855c33bbd82f455bc980dd73be38fb13adb4905bd747e33bcf54acf3b1c59623a0725b9bcdd8b18bc2babe53b95674eba09aa09bc15937ebb0870a93b68356fba2384833b80206dbd9e6c673fa392883ebef4bc3b14e38fbdb0815c3f5f48823e6cec593bb20456bd5dd9363fb7026a3e1499183b6d7153bd43091a3fe4424b3ef5a7d539068733bde47fe73e31a9233e93bbeb3aef3d4ebda333aa3ebbfa023e5e91103bfe9540bdbaef513eae02b33d7f049a3b1b2558bd4fd8ac3d1a2b4a3d83e3ad3bf63b1bbd0b0a80bc7050233c3396fcbcbc4e803b0000000000000000aa9f09bd76d08a3b000000000000000056dbb8bcd5ba8d3b0000000000000000645a91bcbcfc773b0000000000000000f81b3abcb103913b00000000000000002e9b32bcf4565e3b0000000000000000a27e10bcbbbf3b3b00000000000000001bd115bc85b24d3b0000000000000000f07ac2bb3d02213b00000000000000007921003b0c7e323a620537bbd8db7d38d0b0583becc3723bc6da52ba60b5bf3805503c3b0535803bb452a73aaf1f173a6052243bf9438b3bd552303b3f1f913ae2b7113b4f866f3b81bd393b4cc7ba3a27cee43aaca0823b7544823b94a1fa3ac565913a97014b3b5e77833bb49bc33a663c883afb341d3bcd667a3bf9ec983a8cebb5b9a88edb39da9f9f3ab65c863a3639563bd9164bb850de5d3b292de9bc02554d3b48b4c9b9cd62983b19f813bd6ec5223b941e44b938954d3be67b03bd255f143b33fcebb96f30433b3fc1dabcb43cf23aeb68d7bab14e323b8b88a6bcde92b83afd753aba6f0e743be06a7ebcebb12b3a0e3697baf4c2833bf6dcf4bb2e4ae438863e92ba3fc19d3b9517c7ba9ed21e3ac3d2293741808e3be73d023bfebcb1bcb591ad3b3ae87fbb5042a23ac72e41bd29559dbb532528bb7936003bf4d266bdcc1d53bc6553b73a533a0c3ba03f63bd22fb84bcfa38783bac2c133be7c546bd75cc88bc4a72ab3b1a990e3b91752cbd5cf886bc3ee1cb3bd723ed3ab86604bdb1e066bc111ecb3be4cea03a493aacbc6c7028bc04c9c63b52a08e3acc6b03bcb54163bb0200613b269bb13afda2853bf42359bd2d503d3f42a3d73ebea4d33b21ce89bde3f6333f47afcd3eaf9da03b82f269bd7a961a3fe572b53e81966c3b105755bde820fd3e4dfc993e077e163b774744bd011ec33ec04d793e90ed433b217846bdca8a8b3e50e43d3e0238513b0a8344bd30142a3e6f79013ea959963b11a542bdf0a2863d63b08d3d1a56253b858f02bd230e8abc913d3a3cf10520bd8ffc7c3b00000000000000001c3939bd1699c43b0000000000000000df0d05bdeb04a73b000000000000000011acc2bcb576943b0000000000000000862389bc0d2abc3b0000000000000000453559bccc71743b0000000000000000845825bc7c0e5e3b000000000000000051280bbc3af4233b0000000000000000fd7582bb049a443a0000000000000000ddd6fc3a89ef683a621642bb546eb4393baa823bee223b3b12e7aeba72ef2f3a04961a3b02bf6d3b9ac7b23a750d203a8f940a3b5f067f3b3467003be662e63a5f0aa13ac2df1e3b5e00ef3a59afd03a05cece3a3da9573b5ce6593bf8601d3b8b8d783a93fc443baac2593b140de03a207d5f390123043bcbc6963b2ebe8d3a3d5d303a2c56a33a5b6dc43a3fdb133acc4b413b21908d38113e503be350bbbc89d9373bc25f28b969456a3be4feebbcb7cfc23af33e54bafa51403b07bdbdbcc3f5033b01e69e3ae8ba333b7fd2aebc6110cd3a3c7db1b9038be23a63db4abcec69c63a0bd443ba64f3403bc9e029bc5458613a1bd1acba2b3f583b814a92bbeccf5e3927ab81b76464813b4598a839720940b99185b1baf8b14e3bdc46123b0d52bcbc06733c3bc6d559bb3af0783a574a37bd4fb525bc38fc01bbf574053b357545bdaa239cbc5685613ac974063b685d55bd165ebcbcf3484f3b7020063b548f0ebdc4c587bc638c813b1425123b68431fbdc7bdaabcc4c9a43b97643c3b94a6e0bc3ea27ebc30c5853b7119c03aa00b9bbc36fb1ebc28339f3bbec78e3ac62f04bc870586bbc950823bc5904a3af1f08e3b1ecd3cbda8d1133f49f2133f7582bb3b412c6dbd65f70a3f5e970c3f06c7603b30af3bbd1bbfec3e7d1df33e10dd783bc36f3fbd746bc43ebae3ce3e4beff73aa4a207bd2d92913ed80b9c3e8da8373b3f832ebdfbc6553e3081773e83192f3b48341cbdb3bffb3d3845213e3172873bdd521ebdce7c333dcdfbaa3d7d2b593b647dd6bc7c2c9cbc7a692f3cd8663bbdaf5d773b0000000000000000af5d54bdacddc13b0000000000000000ac0810bdb21ba13b0000000000000000b991e0bc2cdba03b00000000000000001ee35dbc08c4523b0000000000000000107a5bbc13837d3b00000000000000003250eebbb440723b0000000000000000b055e0bbb415d83a0000000000000000767a4cbb3b4aa53a000000000000000066041939b86aa33af0ef01bbacf26f3a48de4a3b2de7923b630cceb9adc8af3a1d5b0b3b5401943b9e9bd13af57c053bdf3ef23a7e8e8d3b76f62f3b0d656d3bd9e1923ab17c5a3b31be2b3b7066133b87f1af3a7751703bfa5c663b954a343bd8bb3b3a4abb2f3bcf7b6d3b6e152b3b4e240d3ae410fd3abac9273bdf85da3a8bdc8739c5ae853aec64c23a7194633a5506353b1338323a98a5243bd35a95bc9b39123b4e6bc1b8489a813b7174b2bc9905e13a43eb81b8874a1d3b00e99abc70b4e23abf3f2fbae7f3333b378874bc4ab5c23a81fb4dba168c0c3b968735bca552ae3afba444baeca43b3be952ccbb453a933a24df58ba1d874d3b5640bcba58232f3a8a1392ba66c6693b324c2c3ba09fea379f4a6dbaf2372b3be06f7e3b9b6fd6bc242fddbaee2539bbe825d03a97b846bd2a35a9bcfbd62ebbf662dd3a76de5bbd33edfcbc3c07863a36df173b3d6451bdbec107bdbf8a123b7bfd3d3b0df633bd367cf9bce4a31c3b7fb82d3bd36317bd5470e1bc6ad3493b59a7323bd335e0bcbdd1b1bc98ce443bc971223b50ee8dbc2e3d64bc60784d3b4c4cda3ab359dabb5c1a93bb9895373ba705873a13b1653bbf701dbde3b5d63e24753d3f0854cf3b03194dbdffd1c93e3876353f14cda63b6db52fbd415fad3efb3e1d3f1c1e7f3bf68923bdcfa88d3e53a4023fb90d2b3b664616bd6af6583e1d7ccd3ee86d373b5fdb12bd7a3e143e9b47983e4aaf493be88c0abd19eca23d94e4463e0c00853bc7d0febcc56e9b3cc15fc63d03f9363b23a2a5bcf2ebcbbcfa2fe03ba69f56bd7988923b0000000000000000336e79bda288cf3b000000000000000094872dbdbc74ad3b000000000000000046b7efbcf2bb4d3b000000000000000011588dbcc1a3663b0000000000000000a0ab4dbc8ece513b0000000000000000abda04bc0c260c3b00000000000000008ed8b8bbab2e9f3a0000000000000000380417bbac96a63900000000000000001631e13a8ded0c3bb00565ba75c91bba5b58df3ae7468d3b69321f3b60dcb53a4157a93a6c01963bf32f2c3b25182c3b2e4ea53a7508a03b7b69613b1f976d3ba163613a32987b3b536b663bbad4133aa0a13c3a35cd6e3bbee3603b469f773b81e1013abd252a3b550e653b8458463b31fab1b9f950173b7bfe423b783d3b3be40788395d13d7394e40873a18269d3a68b3d73a0c5a943907a5043bd2562ebcc20af43adb4a033a062f223baf8d4fbcfec69d3affde9db738170d3be8b230bc6da3cd3af2d4fcb94428f43ae39a16bc19d78f3ab1b9f139a9cef33adc7ea4bb8b78a63a6ccc52ba2a590c3bbe5f13bb4cb19c3aed5628baa3cb093b5137b83a2bb6553a9d7d89ba5a97a23a3808b63b56c64639a70c42ba903bda3adebbaf3b495b09bd807e2bbcd04a83bb543f4039008e59bd5b030dbdc3f569bbd955a73ad9b747bd555523bd852e8fba3af2093beea74cbdf9ae38bd2cb7eb389a871b3b65d514bd70fa11bd4bc7a739508b883ba67b0dbd57bb10bdffca28b716d03e3b1c30bebc848dd3bcf12dab391d16333b41025ebc48748bbc64ab283a87d2fd3a09d297bb2ba4b0bb6e36983a466a8a3a53b2a63b8226f7bca69d883ec0c9673f9cb2de3ba2d718bdbb0f7c3e94795d3f7c2a8f3beaa1f6bc95a8583e8866383f6a075a3bae35f7bcb0772f3e95a91c3fe814403b5af0c0bc3086013ed6afed3e1bc0233bd244dcbc3520a63db3f0b23efe222b3b9e30bfbcc92f233d35d5643e6c7a783be9c6acbc07db02bc547fd73d51f3293ba5b858bc663d00bdf96d1aba5c466ebda9775d3b0000000000000000ef1582bda9c0d23b000000000000000009ec16bd0a89983b00000000000000001a7cdcbca48a8c3b0000000000000000687a57bc80565f3b0000000000000000a0001bbcfdee2f3b0000000000000000e033b3bbbaeea73a000000000000000094cf65bb1847aab900000000000000004130f6ba8d1258ba0000000000000000c2b0883a7b08713b090cfc38c87a523ac425a83a80b3b33b30dbaa3ba7c82e3ba249923a1f5dbd3bfd8dcb3b26b7743baa5d893ae010a23bb2e0ac3b1afd8b3bcf5a1c3a03227f3b2ef58f3b3aed843b711c223a26286f3b6534923b38d2923baf588039687e1e3b13c9823b5459923b64f9feb827c1ae3975d87f3b804b723b88d8d3b9524fd1b992a5043bdbc1d43a5de8b538a16f863aa42ef93a896eacbb1d92023bf0d15e390256003b07d94cbb9057fc390bce69b80e87b43a36dbb6bb7276aa3a234767b994028a3ab5f869bb6bac8a3a5c8007ba0b29083aa80bd7ba37ec7a3ad1ab82ba88c49c3a1374bb3a22f2a13a179260ba63ea8a3aca3e8d3b0096b03999d8e0b96d0bc739c4aa043c8534d23811966dba3dc0e4394045073c75d922bd58ecd8bc91b598bbba7149ba2f6d5ebdd11b6fbd194bf8bb4fb5c93ae5285abd367582bdb43288bb4d2be7b898fb3ebd68c675bd536275bb6f0d1f3bbb4516bd28a54bbdffaa67bbff803a3bc183f2bca9d738bdb5878cbb1e9f583b61e0a2bc5bc60ebde6e690bb10052d3b96b10abcda5eb8bc007f8cbb73bb303bca4c4abada61febba2b6bfba97978b3afc228e3bfec29bbcb951ee3d0b91893fc8f4543b03c7b7bcca2dd83db6c6813feaad853b55c292bcdff5b93d47cd5b3f6ff1273b0e0095bcd5df933d4f39333f6f92cf3a989d86bccb184b3d3f9b093fb93ad43a514287bc076ab93c42e9c83e24abab3ae13a50bce5eba0bb58087b3ed3cfb73aa37a21bcf400f2bcc083d63d111ed33a15e6d4bbf9a020bd74a96abcd3a762bdca81193b00000000000000002f7e61bd4f5dc03b0000000000000000c833ffbca87a943b0000000000000000cfc276bcf01d793b00000000000000000aada5bb062c3f3b0000000000000000fd3456ba5686f33a00000000000000008b648a390b6177b90000000000000000b38849bb44e24bba00000000000000005c7058baa9a8b6ba000000000000000000000000000000000000000000000000c8388eb96d5cbf3be085823ba7dcf73a8d850c3a38886f3bef7c973b9e55243bf59e05ba4326463b4f894c3b8c665a3b2e48da392179493b57e8823bfd9d313b24fdb1baf545363bea77803bc5e5453b578694383ca7c03adeb5593beb4b693bdc6a93b9f662133adae51e3b58d6733b0000000000000000000000000000000000000000000000000000000000000000658b8eba69663a3acd16a139847af4b965faa9b94a99d739e24333395e2c1dbaa20287ba619c033a3da28f3af0cdc7ba44ba97399897edb8ad5fb939378fe3398755243abdc258b9e989363af1a93b3bbc90203a58b9a9b91c30613979d3933b8d256f3aa4d82bba76f1bbb7a74cdc3b0000000000000000000000000000000000000000000000000000000000000000ddce38bdcfea73bd82b9c8bbd5f626b925c01cbd9f036ebd33b0a3bb57f1d03ae7ba09bdf9c453bd6c5890bb8a8d263b3175d4bc51e338bd1e08a7bb8249253b7ecc9ebc85891fbd22a3bebb5fc8443ba8a945bcf52afdbc2165c9bbec32363b6ab2a3bbd2b1aebc9bddafbb3207fe3a000000000000000000000000000000000000000000000000000000000000803faa1f5a3b7b8cc8bb3fdf83bc415e8a3fee45f33ad2a7ccbb07b229bc7c03673f98d21e3bd2b5c1bb14343cbc9a773c3f5bd7893a1caee8bb25ee75bc864d123fb788333a074bdcbb97dbb1bca477d43ef963d939a118b0bbb48af3bcb489853e2d3a5a3935015cbba13c26bdef3de23d0000000000000000000000000000000000000000000000000000000000000000236db8bcbc45c73a0000000000000000b170eabbb566293b00000000000000005716f63a844a3e3b00000000000000009d72c93b2e34193b00000000000000005496013c0ebabf3a0000000000000000ea03e43b4b9c3139000000000000000075ce8d3b6ab3c5ba00000000000000000000000000000000000000000000000000000000000000000000000000000000218b6b3b3bec93b94b7296bbace14cbb8822563bda7af539db0b74bbad355fbb8cf20e3ba1f80c3a1a4750bb06ac36bb403cc03aee680a3ad12a2cbbf24527bba3da043b9ca2c93ada0f26ba380fcababcf3223bc167063bc5edc4394db1fbba456b283b40322e3b4775e03afbf6eaba0000000000000000000000000000000000000000000000000000000000000000e5d3fd3aec9d32ba85138abb8fd82abd1e39cd3a35ec73b9015693bbbf3313bd2408e33afebfbab7903c92bbda6cfdbc6b50ab3abcffe13851f16abbde4ac7bc9de2d23847d236b9173bd5babbc69abcfc18da3924b089392b80fb39380d60bce05ce8b89091d338c4ca5d3bc10bf9bb0000000000000000000000000000000000000000000000000000000000000000c006ffbcf0f6923cca3a0d3b0f57323a4d750abda99f5b3ceef1963be8e18d3adeb005bddc15223cca28e63b5267a33ada97f5bcfc0dce3b8b020c3ccaaaf53ac8c1e4bc64b3703b7a830a3cd7a0963a163fd1bc99cf61bace1a173c9f54863a0842b3bcc7b347bb29e3113c19694f3a0000000000000000000000000000000000000000000000000000803f00000000ef892dbb75005abc2c7b803fe5d5883b516383bb613b48bc8ea8593f3fa6613c9fdbbdbb35996dbc9f34333fcbd0aa3c32b6ccbb3f0298bc11ca0c3ffa9fce3c9d4ac7bbef93ddbc9e23d03ec800e83c59eac7bb2c260abd1411863ec000f83c0a4d9bbb25b032bdb1b5f63df616023d00000000000000000000000000000000000000000000000000000000000000008e38c4bb18ac51ba0000000000000000976b40bb52568dba000000000000000033bf23bacdbe67ba00000000000000008659b53a6c7e4bb900000000000000007cfda13abe1e7bb700000000000000006957be3aa18f5c3a00000000000000009af95a3acf78cb3a0000000000000000000000000000000000000000000000001d50773b92f2f1ba55dddfbb5cca16bb7d57d13bb888ce3a0fa4b6bb116c8abb0f329d3be23a4b3bfdbaacbb782750bb8b8a863bdce8aa3a793677bb90df71bb7aef673b6e3cc33adbda32bb4f805fbbbac7543bf4cb213b560e7ebadbf051bb395b5b3b70ba553b2f997a3a2bea1fbb1581423b39827c3b41673e3b84a503bb2bab0a3bbf8d1e3b89b5e33a73f506bbde2f923b09b4ed39460ab8bacf7924bd4285103bc8b4abba639675ba78c34fbdd9cb763ae0f284392f7047bb15ff3cbd79d0d23aae6591b9a32747bb134620bd05b38e3a58ba88b9c3e502bbfe34f6bc9ec70d3a4abfa2b6cfd883b91d25c9bc9154dcb71745ccb9e1633d3bf9a784bcd8f588bae47424baebe6bb3badf0f6bb85931bba91a8c2b88d12b43b720e36bbfba3a1bc2aa6a83cc894c6b7375d033b57c823bd01efa43cf64e233beb54b53a08f238bda799713cd156ac3b95f4493a1a8533bdde00343c756f193c8fd6183b50ac1fbd15eabe3bda332b3cbec90b3bfb9f1ebd5361c53a6f01453cbdc51c3b32960abd611c20bb8e5a3e3c557ca03a8fc1d8bca8cea9bbb7cf243c1df0da393f3b84bc157e85bbf6e8043c52473d3ad9bbe4b9c548d7bc722e803f0d6f023ed58f83ba9a3d07bdb98a6b3fcb51003ecc087fbb6ebef0bcdd7a483f7a05f93d2d2fa1bb81bff5bcc86f243fb5b7e53d65c0bfbb907504bdbac0ff3e5bfbca3d8cc3c6bbe3d929bdf4f9bb3ee1d7b53dd4e88ebb8b024abd007d6e3e2eff953d9b329aba975565bdc19ed13dcc11603dd9daa439643a3dbd695a60bca5d2f43ce11a6cbcfb78d43a0000000000000000567c4ebc0f86893a000000000000000018e8e4bb0f49a2390000000000000000969458bb13c39038000000000000000025b024bab334ba3a000000000000000017b3c93aba4a893a0000000000000000b435c53a73e1853a00000000000000003038263931f20b3b000000000000000035506e3a430a0e3b0000000000000000a829a63be63903bb1df8fabb08dcd5ba4915b63b65d08c38b42f00bcf6f27fbbeee9733a27ffaf3a543fa4bb50bd67bbe10b803b5d9fc73a8c9a9bbb439584bb34912f3b350c883a09585ebbf30960bb4643583b779d303b97dbaeba752672bb1dc0193bf570413b428dd6395d2235bb7a024d3b0924603b960da43ad3f34ebb79c4eb3a0619223bcfec903a7b580fbb9928623b87f8f1b9cdec0e36c2ac15bd5fcc3b3bff108bba486a13b905db3ebd12ced13ae706a23ad17864ba6d031bbd3c0de53acdd4abb9813ce1ba2bfb15bd528b923a93430bb9dff685baa967d6bc2c93e43922e279b913d6893ae1e5b7bc50d0f4b751e1f6379b87443bd36359bc54358cba6fbc5dba2f2ab83bd16eebbb15e8d0b94aeca7ba9b39a63bfa4af5ba25cd93bc6d249f3c2f32033beac9963a36e21abd7bb99f3c87b0a73b9c5af93a083a23bdbd213d3cafb1053c0f5c0e3b042236bdbcbe023c99d6353cbe00533b933c16bd0f24513bb8f43a3c5fc84c3b98e31fbd0722b8ba80f04f3cbeb2343ba5daf7bccb9d62bb3499333cbf22053b112ed9bcc00cccbbb107323c96ecc83aa51e73bc8d59b8bb6792d83bbc8a5139895f513a9e8e03bd34ca593f47a4893e337b41374daf24bd5ebf493f4e90823eddf1d8baf4bb09bdec63293fad6b6a3e8d4182bb51a41bbd74ca0d3f7cac503e741a87bb3a1b12bdaff5d93ee9042c3e34ed8abb71d13bbd2a81a03e0682113e44ae84bb48d23ebdb0b6493e3caad43dd9b9863968245ebd62adab3dfb35943dadd10f3b026f1fbdfa1f5fbc6fc0da3c708e98bc1895af3a0000000000000000ee02a1bc7e4bc83a0000000000000000bdae2ebc4e2d8d3a0000000000000000ef0abcbb7931b63a0000000000000000d39021ba9c1d9d3a0000000000000000c13e013b1d86e83a000000000000000057026c3b0829003b00000000000000001c2c723bfa752a3b000000000000000060e52e3b267fdf3a000000000000000036c8d93a361b33bb9033debb74c8fbbaf67e823b99ce843a73d2fdbba3d58ebb534c693b51b3b43abfaec6bbc9a38fbbde09583ba9e6fc3a918a87bbed086dbb1a51873b5ab0be3a3bf87ebbcf118bbba021b93a8dfd4f3b2f0cdbbafd246cbb2859213bf1e3503b6c5f35b8c2315fbb54d3243b12f85b3b33ce843ad5345dbbc3faa73ac6a2113bb376c436064533bb70f1643b28e2e43a6ae011ba9a77f6bce7df253bd3687c3a9b4f853ad4e826bdce2fe53a2850e4b92371b8bae76110bd7c92f13ae629a139e2e481ba9fb207bd0db1883a7ddbb5381cc760bad3bfcabcec2b4c396414c0b98dbbe83a6da297bcb058beb9271cdeb9ffa1523bf76d3bbcde6b9aba33764bba3478a63bcde8a0bb030869bae2f267b8793a8c3ba292a5babab1a3bc7470903ce3e1873be99e92b91ca121bd05eb7f3c2e65f63beae8f83a5ad937bd0ef8083cef542e3c250a303be6ed37bd4d0c653b46ac333cab39033b431428bdeccbc0ba3fb3533c2405783bfdb81dbd2b0babbbc6974f3c742b663be27206bd9016f1bbb59d3b3c4c4f393b94a9d2bc917b06bceef7233cd9010a3bd14b7abc3617a9bbb6f9e63bfe42d33acaff983a0d2de9bc6cb7333f58c1d23e31f628399c9d24bdca31263f7a46c63e98edcaba3b151dbd3b4f0e3f3425b03e439d30bb22bc1fbd9045ea3ee018973e5c4b74bb1b8922bd23fdb43ec3c9793e27e150bb9f9535bdb59b823e5911473ecf93f1ba9fe93fbd2ada1f3e8b11103e553c1b3a939643bd53b47b3df3a7b13d0b7da93afe4c0bbdc83d91bc2815d43cf6f5b8bc3643e83a00000000000000009116c8bcefecfb3a0000000000000000c4306dbcfb34e23a0000000000000000f7b0d0bbbd14403a000000000000000080652ab9c4f6033b000000000000000001557c3bb54f1b3b0000000000000000e400cd3bf4c4183b000000000000000031e9fa3b7cfc0e3b00000000000000007569d33bd6e3083b0000000000000000f699823b0b23beba51880fbcee3c8dba6f1dbb3b679a50bafd9c03bcf9a905bb2a17133bc357973a8f70b5bb92c78fbbc55d803b03be633b01eca0bb94b19abbd179503a62eba63a63bf38bba1235dbb0915433ba7dd783b4ab91eba4c2a33bbd584c13aab242d3bb8d8a7b912674cbb75ae603abcfb943bed7a073aaf729fbb79761d3b65925d3bbf1db4b98cd64abb6a06863bfb4147ba4b8597b975e0cebc2e25843b3d84f9b962260abb50ad02bd137e933a6e34f2b8078885ba2b81e2bc4293213addee21ba41bbe4ba930ed5bc5164063ac43b8eb7c99554ba037680bcfd7d793a2c5a82bae17188397d8577bc00c38cba0af5d5b9aa013f3b2cd2ecbb507a2dbbffdc06386180813b9e7ff8ba61f7afba829a86babe7e413b79fc8e39e6a0cbbc0c72793c7325a33bfef44139708f2fbd3d7a1c3c58fa1f3cd512ee3a8b9b2ebd260cd63a0071353cc2513c3bd0b33cbd594190bbf0006b3cd0a24b3bd4f600bd11a0a3bbd5a52c3c752b6b3b3f851bbd659a0fbcbd77363c7d65603bd436e9bc668422bc68d9203c051f683bf99dbcbc17c722bc8d37113c807d943acaf868bcfa5af3bbfdb3e83bf32d893a888baa396d8bdebc2e7a0e3f1c360e3f8fee363a332b12bde437023f11cb043f3c6ea2ba5ad504bdb032dd3e2a92e63e8298a4ba903517bd335ab63ea850c73e536f3dbb360ce6bcf7df893ef2d6993e39c767bb232324bd9700483edb0c793e9239d9ba12bb17bd4d0ceb3d43022b3ef58e5839793e1dbdf4fe1c3d8431c83d65a4203b511be4bc1200c3bcbbbbbc3c8b65dbbc1b690a3b0000000000000000058ed7bc4f77fc3a0000000000000000ecce5ebc5b9be43a00000000000000005c46dcbb12b8cf3a0000000000000000df05eb3a80fcf73a00000000000000001ef1c43b5f356c3b0000000000000000357b1e3c5ff8ee3a0000000000000000813c3f3c78f7123b0000000000000000d346123c6848823a00000000000000005dcadd3a546816ba9765dbbb41a01ebba38b7e3b65c7443b3ce5d6bb5e138cbbf908643bafa2773bce0d86bbf00388bbdc4ab73a58cb843b1b2724bb53ef67bb71ff033b147f5f3b56b901bb567371bb749d193bdb7b853b646a32381acd92bb9849fc3a3ca4693b66e0313ab3442bbb1f4af23aaa065e3b6db2863a65b627bb104419b8a851b83a919dce3933f206bbf26c0c3bdcf9e8399991a1baa5169cbc73b53a3aa187593a1834de3a026bd5bc3db18b39d2c700bad89618ba7ee3c1bc8b38ffb8468a01bac042e2396e2da1bc471d09bafb507b3abd5dbbb87db26fbc6b96e9b904dc9bb8017cda3a234616bcf91595ba9f282eba581f2a3bce6b60bbb6d9a9ba907a63ba91fa733beff8ee3a18e9b2ba1b57aab95c81133b40ac8a3b8eb6f3bc9c590b3cad4fee3b29193b3a7bd745bd8a15f1398dae2e3c7c34753af3fb4fbdbb5606bc5b714e3cc414233ba8e444bdd72c50bc5e784d3c6845553b444a28bd50856bbc72de3b3cddce813bb63e13bd474b83bc76962b3ca41f2f3bf1f2eebce90f85bc4b7dfd3b4da06b3b6f30afbc947266bcaea9c53b8f211f3b67b84fbc35ebfebb1d16803b024d083bfb44ad3a498dc2bcbd1ad23e0007343fede5123a80f808bdc7e7bf3e5544283fd00540ba360105bd9f5ba33e1593123f7d0815bb46e707bd7d9f843e6570f63ebdd33dbb2ba404bd74c2483ea9b5c43e59c285bb8b700abdaa46083ede6c963ec310e1bac7d30abdd2738f3df16e4c3eb138f1b70a1c03bd4355323c80dadd3d4afbb23afc1ba5bcfd2bf2bcd487873c63cde8bc20e5953a00000000000000005042f1bc058d1f3b0000000000000000092d7dbcdef01f3b00000000000000004cdfa1bb2c641c3b00000000000000009eec813b5c35283b0000000000000000aba62b3c563c443b0000000000000000501c653c1c1cf33a000000000000000087d77d3c225e8f3a0000000000000000a830473ca49414bb000000000000000077d9543b1e56303b21b9a8bbf56e60bb1a14783b1aae8e3bc5029ebbafa671bbf6ba263b07f4993be12cb2ba23634ebb69ab3b3bfadab03bbb0ba2b99c385cbba0d9d43a2099733bd94580b919c42dbb2feb043b516b8e3be9a4893afb2510bb83d5ee3a421a893b0a5f023b6bd9b6bac5cb3b3aed4e4e3bbf9e143be4c498bad839d83a71ce92397c77993a7b9b75ba1f98f739007816ba662a233a8dbd61bc61ff31b88f1d0bba38a670ba57868ebc805c22baa9e3f2b9d1ccb3b9c8da7bbc7476abbadf3427ba7966d3b98da265bc0670a2ba2742fdb9f74ca7b99a2811bcdaddc3baf1bd1bba195b4e3a26449ebb53fd7dbac90100ba67290d3bca849dbaa81ae7ba45f387ba3f3f3b3b51a5c63be7b8aeba02e80fbad41c263b2b90d63b26d413bdfc371b3a6f52103ca83da5ba05ec5bbdb0552fbc7d02393c8d17c039185d4bbdf1f287bc6455323c7725093bb36849bdfdaebabc2cea3c3c21f9543b27c516bd345aa6bcd02e113ce28e7d3b56880dbde2f1bebc772ef53b9943893b3d3dd5bcf77aadbc87989a3bc3324b3b65018fbcf3f192bcdbd33f3ba482183bb8b50fbc36c729bcf589e23aab4ca13a7c15a33ad7a6a2bcd677893eb66e593f90f1c33a25a4dabc71c5763eec054b3f16ba62ba541bc9bc6012503e3e812b3fcf9f0ebb34e8e0bc84c9253ec315123ff72135bbc6d5c5bc83e4f23dfb8de33e39403abb276be1bc9b0f943dc4b6ad3eccaf58bbbe65c9bc6662023d9788673ebe479fb96041bdbc1aa77fbcb7b1ed3d121c573a66bd69bccc5223bd1b3b1c3c7cf4ecbc58dfe23a0000000000000000ab4ee9bcc4ce163b00000000000000003c362dbc6f4e223b0000000000000000cf742aba49782f3b000000000000000024f3ff3b5a1a303b000000000000000036c06d3c9d78223b0000000000000000ab64833c1dc8d33a0000000000000000f241a03cdcd3e3b50000000000000000d837743c5ff833b80000000000000000a4e1163bdfa4913b20803ebb803888bb2d175e3b1b0ff13beb0f883a0dce5bbba19c233b3da1f63b84c8df3a938747bb8dc3053b8617c63ba0b12a3b534c11bb3ef7d43aa6e8a43b18d53e3b9b07b4ba39e4d13aaaaa993b3d8a683bf0302aba75fa953a994e033b4d98783bb9db193af509c839e8bc263b78605f3bad3e8e3a7694dcb98dbba43a6bf7ce3afa71d43a6d696cbac8684cb942ef03b979a00fbcae07f6bae7ac41bac18c82b8bda029bca4351ebb74dc97ba91c044b9f90e19bc653ee7ba43d9d1b9354964ba2b7b0abc8a1648ba6567c3ba983007b79ad390bb3c57a2ba9a114eba87b3013a8b8912ba1e6d70bafc0ffabaa0d2c73a15069a3b37e1c1ba94778aba925fe83a54051d3c10b6e0ba583c94baff04bd3aed15193cf77934bd597525bc9c3c0c3ce83b84ba0df36cbd1f29ddbc96811f3cd1d2b7b9e9625fbddbad08bd87d51f3c4728d63ab24141bd19ab0abdd848093c8328513bf77b13bda603f0bc25d2bb3b6c43663b665ef9bcda13fbbc97b5693b8ed0843b3e77aabcb644ddbc73bdac3ac88b913b4b2a42bc37e6b2bc36f68eba6461043b213f51bbbeed5fbcc634d4bace935e3ad6c9953a5abe6abcdec1013e712f803fc152a13a68ca99bcbe40e23dffbc6b3f2289c0b5a479a5bcdc08bc3de7aa493f7ef83cbbabd3a8bcd0d58d3d289a263f38029fbb97379cbcd82f333d494b023f06fa5bbbb5b3a7bc15b8803c2433c23e0e0938bbe93395bc095f46bc86c77d3ea868b3ba709069bc80f422bd715ef33d65546dba641a0ebc16e744bddb83daba6ab8d8bcdd3330390000000000000000823eaabcd61cea3a000000000000000002a674bbd2cb193b00000000000000004ff7fa3b12e6383b0000000000000000cc78703cd251333b00000000000000001c95a83c76db163b00000000000000005d39c53c54de063a0000000000000000674fba3cb4516aba0000000000000000a687923c6fdf9bba000000000000000000000000000000000000000000000000d430033b8ceaca3b8df0153b5c1661bb6eb6983a5d9db63b3a456b3bb50bf9ba82fe323b3821ca3b4c752c3b15690ebb442b563a9bb3723bcb7e353bc3358cba1949863ad76e6e3bcc255b3b62c600394ac43e3a996e403b925d713be88e8f3ac90d0fb71323f03a12226c3be7b8d53a00000000000000000000000000000000000000000000000000000000000000006b8242bb16a67bba968195bae9edbfbb06b224bbba3476baa7089cbae6b7b0bb2bb022bb6ca161ba2423c9ba45ce45bb7be9d5bac357e0b966d436baf6571cbbbcbacaba863c28ba753887384199883ae16d8eba329e15b901ca0b3a2f32a23b73cc9dba8e365aba3316673a79c01b3c0000000000000000000000000000000000000000000000000000000000000000d57f41bd61f9fcbc7875043c66352f39991024bdaae906bdedcecf3b833ae63a4de60bbd09f902bd4512883b09460f3b5f1ad8bca6a4e8bc97d9403b4221813b7756a7bce18ee0bcfd5c2d3a3c597b3bf59f53bc0549c7bc420ff1ba3e125f3b9acac6bbd33babbc4f1a60bbf7091d3b000000000000000000000000000000000000000000000000000000000000803f44838eb8e94a1fbcd306d7bb8e5d803fac3cb2ba982b31bc7843febb937b593f8c27a9ba5e3450bc2da540bc4d08333f4b865abbfd314cbc306f90bc791e0d3fec6b55bb0ea549bca9aadbbcd29bd03e13f654bbf4d02ebc9aa615bd32ce863ef40023bb479604bc3f2544bd45b2fa3d0000000000000000000000000000000000000000000000000000000000000000372798bb02da2db8000000000000000015d6ce3b7038de3a000000000000000024c5683cd5c4bc3a00000000000000000f7a8f3cdb163e3b00000000000000007fa0ac3c08bf233b00000000000000007a18b33c3ef7e23a0000000000000000c995b63ceaea1f3a00000000000000000000000000000000000000000000000000000000000000000000000000000000093a8fba23d422bb0b3e1ebb0fee87b97db81fbb94375fbb11c34dbba6f7b2ba6465b9baf8f61abbb0fa0ebbcee519baaed9a3baabde0bbb6ca813bb5e5081ba3d3b4ebaafc70cbba72d24bbbd17b8babad726ba3c74eabae6c916bb6d9cd7ba9a9a44ba2eb868bb0455f7baffa99fba0000000000000000000000000000000000000000000000000000000000000000c19d023b68d08f3afee93bbba6a0aabbd38c273bbd2b98b9247400bb178fc6bb4b07cc3a615fb43a29d13dbbb97696bb95e1a93a8a92c43afa4826bb370580bbdff9803ae785d73aaeb727bb5f2f8abbe0492f3acff6c63a533806bb192367bb4a12a03a83c4a5398395d2ba9ac337bb0000000000000000000000000000000000000000000000000000000000000000ead7ceba2c759f3bdb360b3b2a0fae38688e4abb8fe7a13bfaf1673b0045943adcf81fbb9ef65e3b25a4543b1d156c3a87222abbed752e3ba22e653b34f5af3a1f5f5abbb8b4083b0a8a813bf5dedb3af66e5abb4c7da53a3e82783b6718de3a1f7330bb75bccc3af2f4a33bbd24b73a0000000000000000000000000000000000000000000000000000803f000000002fcebdbadd2ef039afa6633fc8543a3b00062fbb05aa89bab338433f01ad9c3bb39af8ba1c7232ba0266223f405fa63b976605bb8193cbba5ab2013f30b0b53b07ef34bb2da740bb36aec23ea1ace23bcb7c40bb857386bbf96f813ece30de3b48bb20bb64f194bb3918023e1df5063c0000000000000000000000000000000000000000000000000000000000000000eaf9b7bad6a4efba00000000000000003fb162395ce296ba00000000000000007d41a939d96e9bba0000000000000000d70d523aa8b465ba00000000000000001cf6c73a48ba2cba0000000000000000058ffc3aecb143b900000000000000003d5df53a3b29593800000000000000000000000000000000000000000000000047d711bb891a17bbaaee12bb4908dcbaaa1355bbceb954bb282560bb803b09ba754be4ba73b153bb2eca55bbc9d26cbaeb9fe3ba33ad54bbb1b758bb8a86a1ba0cd8fcba7bc339bb73d45abbe505e4bae4ef82ba84932abb231050bb0540f0ba056232baee460ebb56a33bbb514f03bb9c3314ba41f6e9ba02912fbb8e3b08bbacfed9b98d9f10bbfce58aba716390ba57f8273ba688d23a08ec86bb20999ebbc0c12a3b3e13d63a379d69bb75aaf1bb9b5f0a3b8c15d83a9d3577bbe8e7dcbb1256e53a98a2e83acf9174bbb0a9d3bb321cb23a2997dd3aabe95ebb360aadbb5ea0983a789e003bb58241bbfc7caebbd5555a3aca62ec3aa0a415bb8eba90bb6fb2053ac6aecf3afcf2e3ba302a80bbe3d80d3aecd2b63aa1d5b7b80f6e72bb3952e1b9ad1cb13baa3d2b3b7f567d3a8e5c16bb2ce0c33b1aaf613b1d30203a745b4dbb6fe4a53b1aa3863b0e4f8e3a8ec879bb613a873b00a9973bdbafba3a317e83bb26d43f3bed94d73b283cdb3a846b91bb4b9c1b3bc2a1a93bee2b143b403c8dbbe054b43a18e29f3b478f1a3b6af48dbb2096343a54539a3b1b93213b4b928dbbc46d0f3ab67a643b385fff3a371c50ba695df5b7b494633f624b033e3569f5baba9620ba3a6c483feb41eb3d906a19bbf3f099ba20bc2b3f11f3cd3d837139bb5ced0cbb94090f3f6d54b03d056741bb98ef46bba4fde33e4800903d18cb5fbb199e94bb9534ab3e4afd663dfc5a5dbb4d0cb7bb497f633e087e253dc36c4fbbd48cdfbbaea7e23df0dbcb3cc858cfba7128dabb152f8b39a22ed73ba79f2bbb09c50ebb0000000000000000644c9fba9883e7ba0000000000000000b9749db9cc09deba000000000000000058461d3a6454ccba00000000000000001823b03ac79a533a000000000000000044001a3b86a32aba000000000000000055c43b3b62344bb90000000000000000b09c5c3be09d0a3900000000000000003d66283bb383b43900000000000000005a62bfbaa17a30bb96d024bbb06b25b91f3dceba372f8bbbde320dbbd6c9a6baa77ef0ba0b734cbbc6da53bb871691ba5eb01cbb6b736abb49ad69bb429ca8ba7620bb390a9c01bbfb7d46bbab7cd7ba4981dfba94dc35bbe89359bb11c9e8bad3800bba2418deba664b33bb5f59e6ba4b3e02baec86aeba44951fbbd90f17bb2db285b9c1a66aba8170d4ba59d3d5ba4a27f43aa9ba6b3a82de1fbb3bad94bbed15f23acd2d953a462d8ebbf2b0f4bba672e53ac8a8e23a35356ebbd7c3c3bb9963133bab9c323b35c883bbe806d6bbcdb0503ac510ac3a27bc29bb095199bbd03d3b3a3a00003b3cb548bb9b5ea6bb4d2e0e3a1696a33a9ee9f4ba089880bb9a6a0e39297dba3a5f349abab7866cbb9fded1b6ac4c7d3a0fe645ba62ed0dbb2d468aba5df1923ba391153b0da3c539223b57bb8198a63b33d3663b0edaea39047655bbd34d853b25ca883bf6e5b33ad7888abb068d123bcc7f823b34c4433ba41b74bbc5cb093b30b78b3b51fcea3a12e194bb2110113b6d6cb03bc73b353b705d78bbe52c473a58388b3bc92d1e3b8a2193bbad745c39c119933b0a7f263b46033dbbb882f9b8999f443b432ff73aa628a3bae87c8cba68dd423fe4f0813ee6a629bb4b449db9673e2c3f1cff683ec07319bb051505bba0ee123f8ec2473e846f44bb259148bb48e1f53eb2e92a3ef58735bb529f60bb5f1cc33e4af4073ec97c66bb5686a3bb70d7923eabf8d43d02a151bb42d0a1bb8730423ea8b5903d22a843bbab7be2bb23f7c03d559a253dbcc0ecba915ca0bb2e1e04badd56c63b9d29c1ba19ae9cba000000000000000061d9dfbaa52e05bb000000000000000078f81ab8e400a3ba0000000000000000fc00a039d6b8f3ba00000000000000001346cd3ae6e033ba000000000000000087f13b3b6321e9b90000000000000000f2e7443bd9670339000000000000000011cd6f3bdea7ba390000000000000000216a3f3bfad0d1390000000000000000d91aa4baa1dd1dbb03a322bbd5f7b4b90cc0faba53b262bb15c076bb505c91ba28f84fbbac0734bbc0b64abb456230bb9cf68dba03d762bb70f47abb783201bb220fc4bafd7221bbe4934abb80b7f7baed66b7ba722b23bbd4674fbb0e0917bb8cc03db9eb6b94ba7a3b80bb023254bb022007bb20dd40bb610011bbfd3c0abb35bfabb9510d30ba879ed1bae052d6ba646df43a5bfda13a56bf1abbf08490bb55800d3b3f92e03aba0372bb9455d9bb72bf923a322bbe3a2df049bba7ccbcbb724cb53a47ceff3ace4484bb505ed1bb0832843adcd5e93aad8e3dbbdf8c9fbbd37e473acca6fc3a403b3cbb0c0aa5bba175503b39811e3b201cb1ba7b38a4bb86c751389598c93a6d549cbac28c44bb17fd48b95a793b3a52f420ba13a0e6ba4488dcba3fea853b2ffb343bec610b3a77236cbb957a9e3bf1888e3b455ba13a9f5a65bb0bbb553ba8b4953b8bf2cb3a922eadbb47653c3b3494b13bc40c1b3b96b498bbd89ce23af8899f3bdc02173b7339b0bbf7b0953ad53db13bfbbe333b4fddc0bbb606a5b95c5b8d3be2b3783bbd6891bb014378b99a30903b6235453bf65b40bb6522f5b9c1ea2e3b8754f43acd559fbae2a8cbbaf869223f5ffec23e27ea0cbbd8992bbb82370f3fb9e2ac3e448907bb2ff680bbd44ef63ebf30953e8e6560bbaa1084bbc398cc3e5fc27b3eb46b3ebb2fd684bba9d4a23ea91e4a3e56e367bb3071b7bb77f2733e6e421b3e809588bbe0ace3bb662a223e48dfd53d3ce926bb3650cfbb0ffe9e3dd0a8643d342dd3ba954597bb29e4a7ba634ab63b479bc7baf12e9aba00000000000000006f2688bace27b8ba0000000000000000c336083b4a9eb8ba0000000000000000dabceb3a6f9340ba0000000000000000a457223be4bd06ba0000000000000000a7596f3bf6ff5bb90000000000000000bbc2673b4914f739000000000000000007459a3b269a203a00000000000000006b99613b3556f8390000000000000000fdf98dba68ad15bb000338bb34f159ba823e18bb27524cbbc6f965bb8f145fbabc3f3fbaf11f51bb7c5a51bb891900bb0c11f4ba5b212fbb79d45cbb3ddf04bbc0228cba3941f6ba343b22bba271ddbae3618fba77d10bbbae753dbbf81c19bba34c04ba44c4e6ba615526bb133e0ebb6339a6b94ec038bac21f09bb63441cbb2bbacab96d4108ba0bf5b5ba4101d7ba3bb2ca3a753ea03af0551cbb870e8dbbb92c173babcc1e3b03e165bb9d08c1bb88d35b3a8d5cae3a5e7874bbc773a4bb9b777c3a8e1df93a1b835cbbef94b1bbb309143a733ac53ad19d1dbb55c377bb3c1e9d39e69aca3ab5b726bb811288bb20a4df38f816b33aff80fcbad3ba50bb50e16aba2aa7153a7cbe83ba1d6936bbc0b7bdb9e5f3353a47f707ba045bb2bace1d2bbb092d663b2466513b08c84c3a9eb084bb6768953b94c1633b9597f2395b9087bbcb7d483b661c993b15b7cf3a249dadbb91aaf83a0bbfab3b261f1b3b773d84bba4eb5a3a9e0a843b55be093b4709a9bbdb89953922f1a03b255a433b04b085bb2fd470b9f519793bd2df2b3b2e6ba0bb2527d9ba38dd963bf43b693b4e653ebb9af762ba6da8133bc43b083bcbcfd5baaf67fcba6af0013fff05023f4db422bbd27227bbbb71e53ec88de53eed1f4bbbea1348bb2031c43e38edc53e0c7a46bbb2c47fbb3b52a33ec02fa63e083923bb443660bb5ca4813edf6d843e7df051bb8343a7bb8cfe413ee2a84a3e48c840bb229e99bb0959003e4f85083e66b93dbbf44ccdbb0797753dc965923ddd1fcaba1b5788bb237415bbf1789f3b654bb7ba577c6dba0000000000000000cc23b6ba715bc7ba000000000000000080044a3a3af488ba000000000000000083ac123beff2f4b900000000000000008423273ba3be51b900000000000000002d5a8a3bb8988b390000000000000000b152923b42d5133900000000000000002d21c53b734b9c3a0000000000000000c7e07a3b31412a3a0000000000000000a00e3aba99ab0ebb14703ebbd41f85ba331f36bba8f728bb35d469bb65b3ccbacd140db9d9a73abbe22482bb7b6622bbd12546bad11f15bbfeae60bb864d1abba5cf9bbabf6005bbd2c138bb0d7e09bb68ac83ba003be7ba232a2bbbf1f912bb2196dbb9e0c3b2baa99d19bbf0a322bb005a72b80a3e29ba5a61f2ba032b0abbd67279b92042d4b937c19bbade2dc9baab0e933a1ae5973a9fd019bb7cec7dbb529dc33ae16bdd3a1c4e53bbf4a1b2bb922f8439c1a6c13a859971bbd9e0c1bbd315163a0208ff3a334e42bb0182aebb4d5bbb3948b0e33a887027bb70bb7fbba5b170388b2fc93a3fad11bba7a973bb841e18bae0b2723ae9e4d2ba0a023fbb6eec11baa9f2763a05bd46babe45f3ba49b21bba25c6fc398cf001ba78248aba257b60bbf8083c3b94215b3b7df3743a319eb2bbcff3483beadfa43b3816eb3ae2f6d2bbd052aa3a6c00c93b7b774f3b8ce0cdbbffcf403a456cae3b1871333b45a1a6bb08a44939a359963b0e73303b00fab6bb9b9c2eba7824973b08b1513be882a7bb0070cbbab9be603b64462b3bb97191bb66b4c5bab057413b993c363b46b63bbb6f73b2ba30a2d43ae63cf93a7982debacee100bba6ddc23e158c223fe81b2bbb2bcc47bbf4e6ab3ef8be0f3f40dc61bb6ced86bb5672933e40b9f73e74e257bb70938fbb2db0743e3d1bcf3e8cf63cbb616b88bb1929423e9b85a53ee57e4dbbaa70a9bb5763103ec1107b3e7a5445bbd5a3b4bb00a4bb3da6552a3e529219bb7ac6b3bb2e63313d63e0ad3dffcecebae9c771bb37ab56bb97577e3b606185ba97065aba00000000000000003c06b6b7f8fc41ba00000000000000008a49093b191dceba0000000000000000161d483be9777cb9000000000000000056dc6b3bd0c598b80000000000000000bc29a73b4526e9390000000000000000dfe2e23b7f4d28370000000000000000e614b93bdc2c8c3a000000000000000057a6853bfd707d3a00000000000000006da0ccb9b188cdba5c902ebb13aeb0ba4d614fba65d902bbffc05bbbdf84f5bad15500babb1800bba38534bbff8bd2ba720cb3bad076edbaf6db41bb652913bb132098b97e6a9dba30e204bbca0befba0052d4b9d4b5c9ba1ca935bb8d373cbb3c23c0b9174542ba0bf3cdba115ff2ba10486a38d6b8fcb99f7acfbade0410bb90792939fda50fb9bafc61bae33cb4ba4db9323a35a0893ac5df0dbbd3465fbb6a7d343a4cbecc3ad5c438bbdddc9cbb3bfe1c3a8d36523a4a5733bb3caa82bba88b7a398aecd13abb2b3cbb87888fbb309dd5b8b3a39a3a38a6e0ba0d483abb94695a3af813133ba5d20abbe98164bba3c010ba3cf35a3a4b6177ba9a8cf0bae93495bae66f0e3bf86152ba80c0b1ba113831ba8c77aa396cb73db961b6bab9be9a8abbe038de3a996b603bc4f6853a7763d6bb30ebc43a99639e3bb1b4e93a6a4ea9bb7034093a5d97893b94a0f23adba2d3bb2f9238ba50f39e3be2e82c3bec6597bbf35e7aba7faa603b21c2133bf2b0ccbb3bb424bb8cbc9c3ba0177b3baf4c89bb2ff3efba8aea303b78d1323bc1a790bb380a31bbf370e63a79068a3baf2d1dbbdc5ed9ba64bd8a3ad103e23a138df1ba5d82fdba1ede813e0efc423f375732bbb4f144bbff04653ebf3c2c3f4c9f1ebb980234bb8a73433eae47133f152749bbf22f88bb8733223e4745f73e045322bbbc2165bb932c003e87c6c43ed46e67bb5e24b4bb6e53bb3d7c8e953efdab1ebb8e388bbb41e2733dd6b6463e66082abbee82aabb1bd9d13cd815ca3db25fb1bacece47bbf8248bbbdfe7273b0d2831bae54d26ba00000000000000004bc48e39168877ba0000000000000000ee22ef3a4c83a4b900000000000000005bdb6b3b33719239000000000000000015256e3b128c863800000000000000005a12d03b2990a63a0000000000000000b55baf3b4605843a00000000000000004fdffe3bd325483a00000000000000001a53903b0592873a00000000000000001a9712ba6597afba19e51fbb910bc8ba447043baae2fb3baa6433fbbf20910bbf3b2cbba689aabba728b20bbd49307bb77766fba476eb3baf4cd1fbb7dd30fbbc7fc98b9838bf7ba1c050cbbc1e011bbdbefedb99ddf2aba1ad3a3ba7a0e1dbbe465afb8787936ba71abbeba68a009bb5ef873b8ddcb1bb9c8e75bbad4ade0ba2445103ad982cf3aa7eb93baf29509bb3cccb439dc84923a5f5808bb73b54bbb7dc590392d8da73afc2c2cbb4a5d8dbb11a571382b2cae3a124225bbfca87ebbc06487b94001a83a48e11ebbaa1878bb14305aba6ec1423b5c9311bb7cdc5cbb99a257ba2c87633aafe29cba7851e7bac6d66eba09a0583a680f92ba23e4c3bae7bb87badc58c1395918bdb93d3efcb9e69dffba126d733afde306bad44309babf729bbb204b2d3a19756e3b9b34a83af5d0e8bb5ad952b9ce67983bd675e83a42a4d8bb58f493baa9b3913bc25b163b5874d6bb9938fcba0f9d863b7826383b9afeb2bb3ef419bbfbae483b25e4333b6e1ab2bbf5eb3cbbde91383b60d5493bfd6b92bb942b46bb2dbf133b164b483b2ba072bb51a85cbb07bac53a2e7a343bc71148bb525babba841cb23ab51d1c3b59e6efbad840e0ba2e6a023e296a633f861326bb60e335bb2966e63db989483f7d8032bbee114fbbc325c43d5cf82b3ff22649bbd48d7bbb3153a13d53850f3f787f46bb3fccfcba2e097b3df3efe43e220315bbd94695bb94b8333dfc43ac3ecf6135bb1df78fbbc467d93c8d0b663e32f616bb3cee89bb05c9113cd7b8e73d58a106bb46fe6dbb10c7d7bbab2f103b4d579f3928717bb90000000000000000828bcf3aea5915ba00000000000000008de5503b7f1377b900000000000000006d1a973b67efdd390000000000000000bdc59b3be4f7b339000000000000000039f4cc3bab87a43a00000000000000003047d83ba539c33a0000000000000000f85ee23b62aae33a0000000000000000b9c0ad3b5cc5d63a0000000000000000000000000000000000000000000000000e866eba9c75b7bad27749bbb6a9aeba369211bb3abad7b9203ea9ba84c6b7ba145b81ba7beb4bba12f5c6ba0327d0baaba04bbaedc14fba1c10a8ba62bebebae2b3e7b9e68631ba28269bbae348bdbadcd979b81f1900bb2bb7f1b935f166ba7aeda2b813eb46b9d01c6839d40f88ba0000000000000000000000000000000000000000000000000000000000000000f5a41eb999d2a839813f2cbbbf6188bbfefd10b885a8723a8635c3ba99c521bbc81eb2b9f7b7653aa17dd6ba97ab27bb19edfcb9f54f423ae7f0adbae3b703bbfc0016ba70af153a12709aba747fc1ba8458adb9bc32863acc8e12bbaadcf7b9b1793eba121446396ff6eab88d7784390000000000000000000000000000000000000000000000000000000000000000130eacbbe4139dbaed959e3b54b2dc395806a3bb44c9dfbab2a7513be1f0ff3a486fa2bb65b217bbd7ad383babd31b3b467980bb65ab12bbeac7073b353d123b93a269bb27962abb349bd63ad66d1c3b336230bb135313bb611de03aba83473bdbc627bb36743ebbc313e63923170a3b000000000000000000000000000000000000000000000000000000000000803f0b2557bbf481d9baccb8993a2be6633fcb7eedba756105bbf93e623a9d09433fbf0b19bb2da934bb821b8ab91d9c223f1c5a0ebbc06731bb685fb0ba03c9013f5b7510bbb33b41bbe78f3abb6aa9c23ee397ebba985128bb443d70bbcd06823ee6e102bb460e50bb9f2dc6bbf859013e0000000000000000000000000000000000000000000000000000000000000000cb3b2e3bfd1351390000000000000000c646503b9c5694b800000000000000002d818f3b7a42283a00000000000000004aea903b4cb76d3a0000000000000000edb6a63bfddca63a0000000000000000923dca3bf253a739000000000000000094cfb93bd00ac33a000000000000000000000000000000000000000000000000000000000000000000000000000000006369cabbfd1e553c527ea73c48e68c3b400770bb125b663c19ae9b3c05b5d23b671c65b9e0093d3cf051673cb0dbb63b7f604bb7d3d51d3cdc69393cef8fb23b14eb113af632c83b4958173cc0e4ad3b370ebdbaba91673b3acdf83be89dae3bcf8d33baac4b8f3966938f3b32867f3b0000000000000000000000000000000000000000000000000000000000000000c86a853b0f6f11bb7d4af93b5a28e0bc79372f3bf5f83d3a1a74cc3b60a2ffbcbbc84e3bb3f74dba5388523b0cf701bd6f78643bf7184f395a70253b2aa3ddbcf11a233b7e546c38cedae43a0df793bcf6b1ae3a2dad55b97df2923a179dd5bbf6311b3af9bf5cbad26aafba9cc5733b0000000000000000000000000000000000000000000000000000000000000000cc1f0dbef110ccbc52f2fcb9ed99c63a6b3107be1ff701bd494e2abbe2689ab78ad5e8bd9cdaffbc987becba939188b8a253c0bd0daef6bc8493b6ba0e1670ba07d694bd4824dfbc72adf4b7df3309ba0bf848bdc876acbc390f0f3b6ae585baff78bcbc500145bce60f5e3b6b2946ba0000000000000000000000000000000000000000000000000000803f000000001dab443cde8aa2bd91469f3fe6214abd2dace93bc4995cbdd390843f23d751bc044b043b783214bd0a76553f91bb173cc98df639ea4a00bd9f45223fd6579e3ccf035a3a579ff0bc636fe03e80c9a53cf3ba483bbeb4ddbcc8057e3ead2f433cd425b43b73acebbc5c9c883d0451b83a000000000000000000000000000000000000000000000000000000000000000062003d3b71614e390000000000000000d1cf703b958828ba00000000000000005c161739722a4c3a0000000000000000b34284bace901c3a00000000000000003a3b68bba5e7d939000000000000000078858fbbba239e3a0000000000000000ee83bfbb64c5323b0000000000000000000000000000000000000000000000002e10d4bb4a54e83b84d33f3c5546da3a87ba41bc4084693c0955ce3cc174133cbf40d2bb00f07d3cbe6fcf3cdf5f213c4b526bbb58026f3c0593a53c006c163c972ab9ba908d3f3c634f7c3ca4660d3c57661abb34680a3cb2735d3c7bdc093c8d8423bb0de79f3beea01f3ccffae43ba4ac05bb395c97ba29b4913b282a863b93308abac89342bb43a1893a546fbf39c3dca03afacc34babd1b453c263bb4bcb07f713b615b20bbac3c803c88738fbcfc4f623b5ce992ba2acb553c5c0febbc5d43a23b61ad6cb9ad10273c97e9f7bc69395d3b7f1f69b9a93fe43b29c5cebcae86233b36e2a037c917b33b2af777bca09f263b639f68baf78e0f3bd26e37bb8d158a39e2b426bacf5f8ebb40d9133c960373b907868eba9412cbba70fd3d3c7879a9bd875aa2bb69430cbcfc945f3ba7d918be1b8ae3bc664ec0bb5449743b7db51ebeeb001fbd94c6dcbbe736d93a3e450cbeee0d2abdca8efbbb2795b93a2365dbbd9c8a1fbd77b7bebb3d280639aa4daebd754b10bdc8ef5dbb68fe1a3a60da63bdf0fbe4bcfda7e5b92227133a06db9fbcf0c559bc18c76f3b6c0268b883f6883b3ae22abb7bac8b3be8d59539d3169d3c807e0cbe9dd69e3f79ec963d55b3c53c174a1abef0f2973fd02b9a3d2bc3573c6f42e3bd405b823f7299cb3d6019123ca9b2aebd78b7513f21ecd83d3ac0aa3bd94087bdd2c01b3f2dfac83d3d1c013c831071bd69acd43ed6eea43d406f153c340044bd6e62653eb416633d7636623c78eafdbcc2f64c3d675fba3c89ce433c7f7bfbbce2778cbded8ab9ba5dcfcabc2c1e773b00000000000000005f44a7bcd3852a3b0000000000000000110199bc3526403b00000000000000000e7892bc8276103b0000000000000000947a6ebc3840b73a000000000000000010798ebcd3b9103b000000000000000091dd96bca3d65c3b000000000000000012f172bcce039c3b00000000000000009f8e5bbc6001863b0000000000000000796e85bb9b8de83baee1d73be002e23a106cfcbb816d5b3cfa4e8b3c7999d33b370f7bbb859c653cc6d4773c0cd1003cc8d64dbb710d733c437d893c95d0233cb16cc8baa5f7183c6d55473c4e7f013c1c1d21bbac070c3cb9ca4e3c4d5bf83b4abe23bbdb4f353bdc450c3c0296a63bb8b122bbd7b9b7395ed1aa3bbd7d673b8d5f03bb3fa010bb233d5e3a565a773aa129e03aca8920ba964a533c3201c6bcb789673bf47864bad714813c4e68d7bc3ee3823be4a66d38ed3f363c4c01fbbcee35573b9fb490390e3f1f3c99d0e1bc3c70223b4c3d62b84042ec3ba6d8aabc13c63f3bc6ba843900e1c33b43fd3fbc2e3c0f3b2ac2c7b8aa88993b7e8e17bbbfd585397e3658ba6f73dcba483c0a3c8af1aa3851952fbaa90f3b39aa892c3c98f96dbd8d62ca3ab97378bcb95e903b3afcefbd3944e9bc7c488fbc0f78bd3b7c01ecbd48911dbddc6c65bcdfbd2d3b7d4cf4bd72493ebd674361bc08fd1b3b88a8b9bdc15424bdb3d025bcfeb41a3b22189dbd0a9e29bd247803bc22d1c83ab9f540bd54e1debc84d162bbafaa943aff52aebc06f98abce4574b381ea2a43a1b54d23a574e12bb6e2efa3affc2bb3af564883c89b70abe31cd843fd799843e4931bc3c9fd420bebf7c833f854b843e7b785c3c7dafdbbd6cdc583f0472813e0b9d3d3cd376ccbde535373f52cd693ef367063c5d7e9cbd2634063ff940433e41fb343c88bd93bdd2d7ba3eb9e61c3e833a1c3c58826bbdfda0513ecf5bd03d0370843c440934bdc416513d728e4c3dd222553c810902bdcc6644bdf428de3bea3e55bd1977b83b00000000000000009e4f5ebd007e083c0000000000000000c8a126bdbf3a913b00000000000000009e4113bd2e847a3b0000000000000000c677d9bcd1656d3b00000000000000002021f3bc7325843b0000000000000000405dcfbc9bb3583b0000000000000000d26eccbcfd21e83b0000000000000000b5f9a7bc44759f3b00000000000000002e6be3ba196baf3b5e49413b4f5e703b76b095bbf000443c3bf7413c0d63ea3b6d7a57bb221a503c99287c3cac68303cdc7932bb20d7463c3b93633cb2302b3c094e68baea711a3c5d5d413cb1511a3c17f115bb092ad93bb98b1a3c38c1063c221142bbc70e8a3b2ae0033c6722e93bd8335ebb7d466c3a90085f3b2ed8713b22c9f8ba2c1388bab938973a566cae3a4ee33d38c585863a4cc9283ca94bd8bc76881a3b00dfbb3adc3e613c8083dbbc524b5b3b2dd7ae39580b423c5db0dabc04f64a3b4edfe03a3bd2193cfe6cb8bcb3d1493bca0dd53a3aa8113cd0fb96bcb7e7503be7f81e3a71e3d03be73f0ebca879123b446e14ba99ed9b3b19d36cba70a992b987263f38e3943b3be001e93b196047b96e2226ba19cd113b5198073ce8dc36bd63214a3b9141a4bcf59b4c3bab9ec3bd27f003bd4e2fc7bce925aa3baa4ee1bd7a8051bdb8d7a9bc8457633b645ed0bd872f59bd34fe9cbc6833103bef14afbdb28351bde4c087bca38aba3a5a8486bd909432bd66a343bc7bdc083be9f539bd0e5e06bd15dd01bc235f4a3bc36298bc16d88fbc07b8c1badda5283bf90cc6ba05d936bbbea1ca3aa864d63ae544373c1ec0eabdaad5573fde70e73e20319d3c5b6e0ebe7dd8543f10ede73ea4d1773c9f0eefbd61c7383f306bd63e8dbc373cb51fc1bd765a143fd5cdb83e8490003c994ca5bde966e03e40b4983ebbb2253cb0498cbd6d16983e784e653e28cc433c51d66fbd3b06273e483e173ebd724c3c7bc13cbdd2b12d3d619c953d43a9333c9d7506bd128013bd9c83373cc5419abdc6f0ed3b0000000000000000f1bfaabd3879413c0000000000000000c5b587bda2181b3c0000000000000000ade252bde4a3b93b0000000000000000c75a28bdaf379c3b0000000000000000e2a317bdecdd883b00000000000000000e9c0bbd12d58b3b0000000000000000d7ca07bd1a3dbc3b0000000000000000d578c4bce18b873b0000000000000000d6944cb9eb3f723ba75c1f3bb573993b556c64bba7c3173c082a1b3c60fb143c402a09bb2c37213cdf99433c3ef1323c17e17cba21a1293c2d8e373c2a28543cc9e77a38c2c3d03b3c1ace3baf03ee3b3b7c5cbaf333fa3be2ab073c7f9b0d3c414719bb30b2513bc4e4b93ba1c0d43ba05311bb55cea03ab8c61a3bcef5793bc38e86ba4444b8ba72e72a3a73204d3a50a5a6b9c3c7163aaefc033c8987babc95ba373b761bd43a95b6343c5dc5b5bc7775653be117d53ad244ed3bfcd7a1bc9a317f3b708ece3a1ca4063c382b94bcc9fb0f3b54f2973972346f3bda025fbc7fcc1c3b6c90c83a2a68a63bab95e5bb5068253b89730f3a3e177c3b2529c9b7b4a18f3989394cba9f4e2b3b4b5ed63beca070b9928c2bbabfc1323b8c96eb3bd3821ebdf6d919bbde63bebc6129673b9ff49fbd6f0227bd52feecbc6313cc3bf40db2bdc08171bd7d68ccbc0e0d1f3bc11bb4bd6d8287bdf6d7c1bca769113b863975bd7e8033bd52a061bc9e3d833ace5d6fbd7fd34fbd093688bceb66f23aa77d0fbd2d9409bdf66c24bc7837123b3eee87bc2eba88bc75d794bbe305713bc597bfba00d5113885619aba0389273bd1691c3cb34ac5bd8cbb253f8849263f591f793c50e7e3bd141a203fc765253f0a58313c74c0b5bd4d3c093fc2df123f7f051c3cd34fa8bd0150e23e0128ff3e1b25993bc0d863bd45c4a23ee9aebc3efb73033c3d6f7bbda901683e836e973ed7530f3c48a945bddb9df93de3b13c3e2598103c5f581bbd1fe4f33cb8cdb13dc9810a3ce34de6bcab550abd075f203c95ecc6bdbcd6193c0000000000000000334fd5bd7f96633c000000000000000075ec9bbdabfc173c0000000000000000f28282bdf1cd053c000000000000000084550ebde8ed583b0000000000000000e96125bd561b803b000000000000000092500abd2b467b3b00000000000000007bb309bd68e3ae3b00000000000000006ef2d2bcb5246b3b0000000000000000964fbfba374b783bb3abbe3a997ec03b3f323cbbf9f2e03bda88133c16e7663c5a9c45bb39f80b3ca3eb563cb3967d3c789148bbac64023c37f25c3c09ac733cc85787bad548023cc214283cecf33e3c3f4b0ebba977a23b7b9aff3be8d22b3c7b4a24bb3177793b6355bf3b3321043c076910bb1f6f23b9f9684a3b18897a3b871658bae80e05ba7fe93239dd005b3a9a54d4b9a6b8283bf358c53b561b73bc1782763bc0bf953aa674f43b11d63dbc2f7e743b38b70c3b3644c73b42292abc7cfe8d3b0cb0023b2830b13ba0a10ebc984c7a3bc9c6123bdef49e3b4282e1bbff94893bf374c938187da43ba1bc29bb591b363b2c46003a2cbd483ba096053b0c6cc53abc610eba9d19163b08a7ad3b21084ab6b3e322ba17e4bc3a0785bb3b70640dbdad6348bc6eb7c4bc77de6d3bc8908cbdafdb81bd5e6706bd2c1ea33ba9aca5bd3b36abbd9979edbc41fd603b65f09abd73ffa6bdaf1fe2bc23c9033b3c4686bd7ee592bd613cc9bc703aa83aba514bbd77856bbda88f94bc55a8913b8a8703bdd6c028bde8b760bc2bec553b6b4754bc0b1299bcdafbd8bb79cd893b2d5bc2b830c12939f839b9b9faa9543b2818f13b983a96bdd254e63edf25583f1991413c7f9eb2bd907adc3ecd135a3f2858363c8ea998bded9abf3e8f3c413ff381fe3b875881bd22a69b3ea703203f3831bd3bb48d63bdc3756b3eda4dfb3e079fda3b4c813abdbe551c3e80e7b33e28c2e73b7de21ebd09a49f3d12a45e3e4ce8013c62b7dfbca9a33f3c44bfc03d1f0db63b053692bccce508bd31e098ba1a69edbdf70d293c0000000000000000192005be5ccdad3c0000000000000000421bc9bd1fc65f3c0000000000000000174a92bde6d1263c0000000000000000bc2150bd8c86e73b0000000000000000eded2cbda48b9f3b000000000000000091a815bd7c85a23b00000000000000008b7f0dbddf75bf3b000000000000000011c9d0bcef95373b000000000000000022e993ba6abcab3a963c3b3b2e2f1c3ccd9380bb44fb523b2616393cb67e903cda7827bbf5aab33b2ef8463c52c4893c3f924abbc67ec33bd603603c574e8e3c0e1dfaba2369a93bd65a223ccb8a513cb307ffba812b983bf064113cb4aa423c93ae00bb38f31e3b42acaa3b0b00013c55d498bad4f8e73942930f3bdbf97b3b7f2d44bac7d10cba93d1efba9725dd3a55bd8c3ac9718d3a51b8443bb781c9bb28b57b3b523caf3abc5b823bfd930d370a93b33ba913a33a8f802e3bdd9748bbe591cc3b2fdc243b74e8523b9b297dbad2238a3bb19cb43a736f373bf7c096ba6960a03bb602af3a0e60923a7b23673ab95f503bf47bc63949a82d3bb510473bb3cad23ad5d78fba51055139c4d3573bb6127cbaa428f8b97ac0b13a6bac6e3b159ee6bccdd607bdeffdc0bc69ffaa3b17ea63bd5f28bebd4fd706bdbfc7d63b70ea82bd2b49c6bdbedeefbcab100f3b9e3b85bdcbd1d6bd56df02bdad18fe3a8eba53bd100ea4bdf8ddd2bc2515b23aa8ba2bbd6c368ebd9e38b7bc8afb293b30b3d0bc0ae933bdeb1071bc6220353b4ef603bc77f7a3bca25ad4bb1987853b7a3a823b0fba2e3b6f78af3802b2523bb8dcd03bda9f52bd2cd4833edc1c853f43ba143ce8de69bd4472703eed67853fac1e013c725640bd4ec85b3e48915e3fee26cd3bcf7b31bd4c8a303e1e26403f949c673b8eb70dbdc773023e2c910f3f5229e43b6cc6ffbcdfe2a63de3b1cf3ee405823be698c4bcee6b1e3d9c09783eb1279a3b9adc5ebcb17474bbf424b73d4cfb303b2ce8dfbb2ddbffbc4c4facbcf2950abeaa9b843c0000000000000000c92815be6ea4bb3c0000000000000000f895b0bd94e14f3c0000000000000000145894bdf2a9343c000000000000000025d42dbd3ae5d03b0000000000000000b5b01cbdabfd873b00000000000000001cb1dfbcac14213b000000000000000008a3ffbc02b6c53b0000000000000000c1a9c8bc1664783b000000000000000026af71baf78395ba3c48833b24b1483c6da61bbbb55b89bb1ffc5e3c1bc1cf3cb08760bb7d83d039a2a28b3ce914c53c071c6dbbf9937a3bd1f07c3ca0c0ad3c68c40fbb4b28803b4908393c9b47823cc20e15bb8c9f303bba6c093c8ed3673c39b392ba0018663a60b6a33b5acc1e3cac3e3439ee11ee3743253d393066933b8d127939196419baa055f1ba540cf23915a0043b18911aba5868cd38f5679c3be7960b3c973d0eba82c475ba2d98223c36a90d3c8e70a53ab15289b8a1f5073ca03e0a3cc9011f3b3d51cf39c945be3b453af33b5f2dfb3aee556c3add9f5c3bd35dcd3b9d7e0d3b4ca28f39251d963baa79c33ba738b0b9e00f3db9d983313b0203073b03de9aba156d74bace92aa38405f13ba102aecba880c3ebaba1ec63a6ffce6bc249b8abd1f22a5bc314fad3b8bd410bd9c4f0abe3947f5bce2e4fa3bd0a653bd5b6913be761b0fbdb6cc223ba21e56bdfd2204be710913bd2ffd1d3ab3f02ebd4eb5d0bdf4c5febcfc4633b888a4f8bc6929a7bd2337edbcc752f03af69880bc53605abd854498bc31e4483b929542ba433f9abc67cde8bb2345863b6569013ccc8e763b086f013be1ac803baff9763b6077b7bc0dc1943d52e39e3f13cd7f3b0b5ba4bc7a70593d4cc3983f2505693bc8c19fbc45047a3d4f6c843fa3b68d3b1e389ebcaa7f573dbb3e563fc67c433b89cf8dbc2d621d3dfae4203f6a78233b6fef5bbcba0a913ce5d7df3eec551c3ba2edf1bba38e14bb3db57c3e452a383ac1b99b3ac5bc52bc02788f3db7c2753a00a9473bfeb704bd01c25bbdccd10bbe2b898d3c0000000000000000a5e50abeb793b93c00000000000000007c1facbd6a97633c00000000000000003d8d44bde6080f3c000000000000000023bdc5bcdee89f3b000000000000000072658dbcfea4393b0000000000000000374f84bcfee9113b0000000000000000c2d5aebcc44ba83b00000000000000006158aebc839be83a000000000000000000000000000000000000000000000000fe64abbae226bbba7bd64d3c8bfe9d3c7e8c1abb419ff63a2c6e643c9a27973c5fa916bb57715f3bda493d3cc7f16e3c353dc7ba615b8a3ba7e31b3cf1f1373c12fe92bacecb1f3ba583e03b9721183c5d98a4ba2ebb833ad495793bfd51003cfcf0eab8b7f592b9c064083afc8c8b3b0000000000000000000000000000000000000000000000000000000000000000f3e3e33b488415b8ab0e5abb2809413cb719f83b5af4d33af658cfba1167033c45febd3be679103b2b9f09ba64fec43beee1b23b732fef3a086be4b9fc9d8e3bbf5bb83bf74d663a1b69e9b8872a833b28e6733b71fd8b3a560af7b87287663b21286c3bd97a32bab43fd1b9b9d7e23a000000000000000000000000000000000000000000000000000000000000000011f60bbd7ebc0cbe1189d0bc4340b73afb4d19bdf11b07beb025fabcdd78a4b8de321cbde604e9bdda09f8bc8fea3bbb102b00bdd109c2bdf055ecbc22c4dbba2050a7bca8a197bda7c1c5bc9f56eeb9ade50dbc470c48bd97eb97bc9e3ec839a5f5203b6bebc4bcb4b80cbc00fe073b000000000000000000000000000000000000000000000000000000000000803f9b5e623a154e4b3b200f85bd10709f3f5ba4143b966e7738a5442cbd9064843ff57bbb3a6e2d57bb437feabcde0d563f776c7a3a1cf46ebb5630d9bc4cfb223f56d5aa39432718bbb05ae4bcda58e13e0fb54aba4218193b859ffabc225f803e296beeba3e75f53baa9302bd8d968a3d000000000000000000000000000000000000000000000000000000000000000081a483bd3b0a3d3c00000000000000001a62cfbc65080c3c0000000000000000f14ffbbaff80db3b00000000000000004bf90f3c2a4d943b00000000000000005c51373ccd45e83a00000000000000003815e33b9495f0390000000000000000dd7768bbbcb099ba000000000000000000000000000000000000000000000000000000000000000000000000000000006711d9bb6f845f3c0574993c446d61b8910d94bb0c9c783c66659a3cdbd7a23a409df3baf3a1663c5cde6e3cd1ee9d39449143bae9b7383c3f6c3e3c3351213b5340f6bab6eb013c2eb3403ce9ca3f3bcd93caba9ac37f3ba122103c4fccb13bd9bb0eba52f573bac09ac73bea61963b0000000000000000000000000000000000000000000000000000000000000000c1ef063946ee183add7d0e3c6afa0fbd0dad233acdbc19bab924053c711c10bd002cbd39eec5d5367853dd3b73050ebdcbada13866ab2639a380d03b337eebbc71cad4392b41203736f2c53ba16e8bbccc2e603a934618ba4710453b1812a9bbfd394e3ae40a8e39ced5e139646bb23b0000000000000000000000000000000000000000000000000000000000000000f5d5eebd76cd7ebcea3bfabb6b7a0a3b604beebd3e20bcbc20e66bbba587913a42edd6bdba68bcbcfc4221bb68ca313a688fb4bd28b3d3bcc3001d3abb2c0aba550b96bd9d22c6bc2ea6c8ba20e575ba6b9550bd21abbdbc85f6e63ad85a82ba7fb3cabc4df498bcdc921d3b930dcfba0000000000000000000000000000000000000000000000000000803f0000000002b82e3c776991bde8d1983fdc71c4bcb5679c3bba865bbded797e3fb635423c0ecdcdbaa4a240bdb12e4f3fc31a0c3df96639bb772740bdc84e1f3f540e3b3d246c2dbb209e43bdd089e13e3ac0393dec03dd3ad7a63abdf00e853ea0740a3d9a17843b79de39bdcdaeae3d3b48a33c0000000000000000000000000000000000000000000000000000000000000000c485893a2f14ac3a0000000000000000d9c5b038f7f3043b000000000000000083a188ba01958a3a0000000000000000a055b5bb576a92ba00000000000000009483cfbb1873323b00000000000000004ccd2fbc9edd313b0000000000000000e8175dbcaefb563b0000000000000000000000000000000000000000000000003a66cebb7c520c3cb2652b3cc51110bb6e6062bce3da803c1eded13c3e3c993bca9023bce1988c3cafb5d73c42ad923bb692f5bb8b4e8f3c13d6bc3c7cee923b0999a4bb6c76623c2472923c8ffea73bcbf2a3bb4806163c871c8b3c85c3f33b38878cbbc6f1473b113f4b3cbcb8f73b9d217dba8efe36bbe1aae13bea7bbe3b9d1f41b98b0ca1bb7129053b57c9fe3a6ff8073bd4a38a39b427473c3ee902bd95093f3bdb5d44ba8deb873cb476dbbc24f6de3a81af7eb91eef853cdb1108bdd590293ae267923ab40c5e3cc38e04bdcdf2dcb6bd0252381a7e383c0ed2cebccbf7433a8ed8b63913c7143c087e4bbc1b65d838da555b3a7f5a903b2908483aeff4883a0c4805bbf8568abbb5fb1d3c8048a139e67619b87e0d06bbd4d15e3c6baa95bd8496bb3b42807ebc93e9393b146e08be0b22adbc968b78bc3bed873b654012bebe68f3bc559e4dbc5568fb3a742804bee6d10abdc9dc03bc422303bbd703d7bd28690bbd15559bbbbc2fa9bac134afbda52b16bd3acc34bbb15519bb549c64bd4dab09bd20e649baba7ff1ba3d1a9cbcb717a6bca92da23aac68143a9decbc3a04be08bc0db7643bced90eba7557963c603fe6bd815d983f6051c63dc8f2d03c95d106beb191903f1386dc3dfa835e3c8e0cd6bd0519773f7633073ee422153c1906b8bd1062473fd3810d3ef588a93be03aa0bd3a7a153fdb76073e2b0fdc3b9c6799bd3b65cf3edb12ec3df529383c2da589bda90f683e9c47ad3de5077c3c4a6b45bd000e773dbbd62b3de94c5b3cf0b220bd1ca375bd225c643c3a65d7bcdff0b23b0000000000000000c460adbc64c4af3b000000000000000048fb94bc3e4b8a3b0000000000000000c32789bce10f7a3b000000000000000094a984bc77955a3b00000000000000006e3c9bbcba005a3b0000000000000000b53db7bc42f3743b000000000000000001c5c2bc3b74ee3b00000000000000008db6a4bc365e8d3b0000000000000000ff1ab4bbe551123ca80beb3b4a7705bbd36b32bc7e87803cb385983cdaf4b23a48a3ddbb35ec823c5bf0823c6387153bc573e9bbc80d783c1ff9a63ce0cea73bbf0399bbff87493c550c6e3c4791853bc204b2bbd826f23bb9617e3cabbff63bbb8677bbeb33773bbc45303cbfc9b03b53e14fbb56ed0cbbc8c6d53b6ac7a63bb259d6ba26bf72bb8b9d133b27e1233b634ab03aece1c2b91728623c6588ebbc063d973a1aeb2d3aa330923c4e9701bd76b9193a18840fb69fa85e3c907c04bdf646183a9fbd0b3a5b9a793c5edae1bcd1b094395f163cb9ee2b323cc755a1bc4210cd3a09a21aba7c51053cec04ccbb181e1c3a779f13ba7fc0c53b1fe5b1392b68a73af7eaccb8be40f2b950824a3c0265c939e9e011ba535ba2ba2036553c562f7abdfe515c3cdd8e8fbccaf94f3bd651e7bd73db4cbc0a5ea7bce0cd5a3bf128e1bd14fac1bc323439bcb70c5d3a1ac4f0bd46ff19bd9ad83abc5c37cbb9ffaabcbdec2a12bd1bddcfbb659c8ebabc819cbd3a6a2cbd9895dabb8881aa398f344fbdef56f3bc36e37eba2cc804bb2fddafbc00b1c2bc31d745bab9fa6eba5fa2c13943bcfdbbccfcc73aa40ca3bac823933ce727efbd393b803f40af8b3eda4fc73ce2d210be8e23793f6f19903ebcf94d3cd0a2d2bdccf24b3f3cb98d3e55634d3c93bad7bd6c3b2c3fe7cf853e8fa5fd3b823aafbdbd33fe3effea643ecbf34d3c6720b4bdb79faf3ed73c423ee019203c92658bbd5fa0473e5315083e8863903cbbef67bd5fd0463db605a13d0e26803c062c18bdad7850bd54dcc63cc0f651bdf114e33b0000000000000000680e5dbdffca253c0000000000000000059019bd4d4ba53b0000000000000000b2510fbdecbcc33b0000000000000000489ccbbca734473b0000000000000000a1a8fdbc448ca53b00000000000000001d60bcbc7875703b0000000000000000f787f2bcc1a8ba3b00000000000000006bc0b3bc9201893b00000000000000001cb034bbc3e40a3cf2d5033b7a9854baf35007bc4b316e3c3bf5643c93f6143b1b3df3bbfe877b3cc680953c2480b13b1c76e6bb318c663c8f03953c9723dc3b3d0da6bb592d3d3c24bd783c5b0dd83ba7d5bbbbdbbbfc3be7fe673cee14ee3b8398babb960c643b0924303c2ea8023cf41a76bb92ecf0ba446adb3b7908b33b210022bb1b38e8ba92df533be7c2b13aec36acb8b126993a25453e3cd8aef4bc99eb023a50462c38d38a833c15c1eebc847d043afaa593393f95693c0477d8bc688047b968f451b9634e483c7656a5bce995c0b9911a5c3af11a3a3cff8765bc919b653a1bfd80b7a6fb0d3cc04b77bb05bd073a64d930394b9cba3bf6adb93b0e00b93ab15faab97149bf3a2d183f3c66c0c339f8e28aba88a0323a03c5403c614d5cbd5ef7a33c4dab95bc7cb7ecb90819cdbdc19453bcfbddb5bc5290143b06b6e6bdfb9b15bd88958dbc60052139bac5d6bde6003bbdc30245bc187b1ab9dee4b7bd096d3cbd93ec1abc42f61bbb19a890bdea2238bd6cb3eebb77141cbbc3ff43bddf181abd2866bfbb5820ffbad6ffa7bcf22cc6bc398135bb15dc84ba07686dbbfb6705bc1ec8123a14d893b9bc515b3cab1bd4bdfb5d513f0232e93e78fbb43cfc5004beca874a3f566bec3e47498a3c2cbee8bddf8d2d3f61c0de3e25e2653c8c92cdbd2dcf0a3f9477c53e4963223cc84cb5bd210ccf3e1cb5a73e5650463c028da3bdb7118b3e828b843e2ec66c3c26e58fbdb862143e3a993b3ee66e8a3cd9895bbd4da8fc3c0d38d33d0539613c43ba12bd711944bd04e1f73cec9691bd809b0f3c0000000000000000abb09fbdb035633c00000000000000001c3f74bdab3e123c00000000000000004b853cbd5e5abf3b000000000000000053890dbd8abd673b00000000000000009d12fabc96d34b3b00000000000000008d8aecbc430f6b3b00000000000000002424f1bc4f355c3b0000000000000000df0096bce7625a3a0000000000000000f15bb7bafbf1f43b7ba3ad3939acff390c44cabb205b4f3c193a443cbc45823b0beaa3bb52823f3c7fb0613cb668d53bc80c9dbbde8f463c13c5843cb521083c210202bb67d10e3c27001d3c62516b3bf2a493bbacc3d73b2deb533c1775133c90335fbb4e5b303b8316093c2536c53b394c6abbcd0e3eba49f5b43b7b6aa53b5595f9babbdbc5badfc7983a1576143b8c95763a61e1c93932c3133c534cc3bc4ab424ba0140c83a25c1453cf2feb2bcd735703921aa143a222d283c1d1290bcf8e17639859e96394198283c0a896ebc1f6c88b9cac6f0b959e7da3b814e2bbcae68313aa524ca3724c6063c66c5a1ba35b38d3a3782e438d3c28f3babf9c33bffe2413afe1297b810b1c83a2116423c6b374d397bd863b9949fba3ab801383ca44c54bd5800713c6ee58ebc648ababac10ab6bd1e0ab4bc9d5eaebc69a389b91327c1bd4b3130bd6f0a7fbca1abdcba6fc7c2bdfb6e5fbd05d253bc097246bb6a0b8abd2e3b2bbd5191b9bbcf43dbba590b84bd553e50bd8dac34bca92b24bb67d51bbdab1e1bbdfe53e8bbe1fbabba748699bcb187c4bc255660bb45468abafe8048bb8577f3bb0bfd4a3a396724baca783e3c0872b4bd13a3223f988e233f556f8c3cc33bdcbd12251a3fecaa233feb94403cbaeeb7bd7974013ff236133f6e1c313c99f3b1bd32cbd13ec1bf023fb465853b043e83bd0743963ef593c73e27f9333cf9c191bd38ca4a3e77aaa53ef99f143c1de161bde722ca3dbafc5b3ee717553cba0532bd91a9263c2cfdf13d1987373c5e29e8bc8cab4abd98ebed3cacf5b6bdda76143c000000000000000099b6c0bdad7a6d3c0000000000000000b1c085bd41fb1b3c000000000000000038064dbdab10d43b0000000000000000f284bdbc6941833a0000000000000000ff40f3bccf890a3b00000000000000006d4db1bc1200143a00000000000000008729c3bcc86a62390000000000000000680b92bcae00e1ba0000000000000000514acaba9ee0cb3bf9b0b83abe2d0f3b4220cbbbd35d0e3c93dc4f3cb4730e3ccff0d9bb2a49283c3de5893c32533e3cf247c9bb1137153c52758b3cf2193a3c635493bb8e23033c9c5d763cd7bf253c9a84a5bb8658b33b1bc1483c2f59233cc28a82bb5e32d03a75a9053c9f65193c41c03abb240950ba48158a3bf436c33b69938aba6ebefebafde7473a5b37a63a4a7652399606113a2b74d63b19a87cbc1b6b1d3ae882be3ac6ca0f3ce37236bca8a6a03a126bb03a898efa3b30a306bcdd47923ac0cc883a1c9aeb3b1b9180bb035d953a9e48213aa0d9df3b0d1d02bba5f6d03a4e87003ab7699b3b991b883b482f1f3b17bbc339a91d5c3bf9c60d3ccf829e3a08476739076e393a1cb5233c57265b3a20149ab94f7b243af53c133c90b54dbd50ea993b2d098abce12c0abb0728a8bd6c5d26bd10b6cdbc708b2eba8798b9bda85b8abd1f0eb1bc88b9d3ba21dcabbd8d8a95bda15798bcb1766dbb3c3492bd02298bbdc7697fbc8fe020bbe48a5bbdea0676bd858450bcffc70abbbe0b06bd22db3ebdc46839bc1442d8ba98ef50bccedcccbcccead8bb224f8739e96c253a37afa6bb8517f8ba3b8d8f395341143c37028fbd16c1e63e4d79523f9cf9873c2d24b0bd22fed63e2243533f2f61663c91e69dbdcf3fb53ec89e3d3f6770363cb45a8cbd16708e3e9b9e203f95560d3cfe377ebd20fe4d3ec5be003fda40183cf43359bd441afc3d9ac1c03e871e1d3ce7c735bda0214d3da93c7e3e10fa253ce3bff9bc56d74bbcbbd7fd3db6b1ea3b632f8ebc459257bdbda5993ccb27d3bdac3b433c0000000000000000a4e3e7bd2cec9a3c00000000000000008b85a1bde6c9483c000000000000000029c658bdf892003c00000000000000007a9e02bd59ec2a3b0000000000000000af14c5bcbf8f583a0000000000000000038ba4bca5901cba00000000000000001a33babc2d05ceba0000000000000000608e64bc64ca4fbb00000000000000000b25edbae10c0e3b92ea643b5c43cf3b5d119abb095d833b93135d3c7f126b3c2a7c7fbb4effbb3b26b8743c08694a3cec0caabb6e28ad3b5dd2933c33f9893cda4479bb7cbeac3bda2e4f3c2f763c3c936690bb8659183b611f403c76dc5d3c27e631bb794a333a5783e93b4fc3f03b50d149bab04bb4ba6af2fe3a880bb53bd3f1d3b930a0a3baf959d8bad6f7a93ac2860c3a63b5d13a858a7d3bb6ad92bbdd82c63a1cd4f33a0e285b3bcd69ad3a11bf9b3a28fd253a0a27823b33e6d8ba6de4523b22937f39ca735a3bc7c3263bd90fd33a3746553a57fa5e3bbe305d3b9aa83f3b7197823a3630703b072afd3b247f3a3b3d0ae338f7c21e3bd70d163c62386f3bee1cf2b9263eddba7db0113c2659893aa4a303b9e3b442bae000c83b34043fbd912f68bc824095bcbcd11ebb2f9191bd03448fbdad41ddbc262401bab76194bdfe529fbdbc14a4bc7fdc3ebb5d7490bd1451c8bdf16aa0bc86d650bbb1cb66bdcc6f9bbdd9aaa0bcefb653bbd4fe32bd988191bde864a1bc5ec3f7ba8ab8d1bc956b3fbdeb3a55bcb0a6f0b9be5abebbedd3cdbce6691fbce870793ae702b23bb24c2cbbeaae08bb28cac13a0779113c4a0e48bdd3a6893efb6d803f8b2f4b3cf17e68bd4695733e0d25803f9a510d3ce3c647bd1e01523e9163563f1f1c053cb95939bd56161a3e0fca3c3ff7b4c33ba7ba22bd4c64d63da813103ff597d43b687a12bde79e563d3585d73e28969a3b216febbc0e1d613cc8ad863eb9c2bf3b960370bc89fffabcbdbff23da3b3893b6ac77bbb78b04fbdbdb35aba5428eebdede0803c0000000000000000ea80f5bd100db33c000000000000000087067dbd1865203c0000000000000000548646bde2b3233c0000000000000000c8ed96bcb442163b0000000000000000bb1d59bc529b32ba00000000000000002e94fcbb8f3d10bb0000000000000000c6fb8abc9a240abb00000000000000009e9776bc8e7a8fbb0000000000000000ebebddb97df7293920c3893bc665163c388702bbd5b598bb90a17b3c69f0b63c397190bb407218bae6eb993cee10cb3c69679ebb21e5a83a7c26973cb83fab3c6e5d80bb7f0d293b60fd763ccb97823c255612bbf78f69bab2d92a3c9b32813c1b9b85bacd01baba2d1fb33b3869443cd5ca6f3a8066d8ba71aaa1bad842ca3bfd5a8c3abf54edbaebe64cbb3322bc3a58ac1939d8bec33a4ae362ba6551c23b84b1bb3ba914f03a7f350dbbd7da403c6326943b1346183b4c0789ba173f353c85dc973b409dfd3a1553f93912821f3c4dcb653b10f1133b9a810c3ad4e3013c411fbf3bbe20df3a9f7ad5b96868343c866f9f3bd281963acbe04eba5f9e063c55ec5b3b05594639b002cbba7c605e3b27c5d23a84ab2e39b50ac0ba047b913b4ef135bdd2a542bd564b88bc644fc4bae9284ebd4d7fddbd2b5004bd68bb1eba18497dbd6f09febdffea01bd973a49bb7fd466bd2125f0bd57effdbcd5ef90bbd78638bd5b72c8bd900ed6bc53665fbb05f5f4bcdc5da8bd2917e5bcddf8b6ba7e8b5ebcd8d76cbd8513aabc71c236ba03b82f3ba7ebbbbcd68f3abc03214d3bdbbc273cb11ba7b94d6665bb89bad83a2ffba23b6a42b5bc9696c03df66e983f8565ca3b0c24afbcd294893de466923fa1e2f83bb356acbcc1da673d89e67d3fa512d83b2eefbabc68bd203dcb774f3f2f26953b0110aebc16e9973c36741e3f9ea31a3b1f4e7fbc9548e9bb67dfe33eb768423be3ce25bcb909e7bcf3f7883e1e73c7b9e4a4023b47be1bbd19acc43d90900bb96644b63bedc252bdf0f605bd2418e5bd60a97a3c00000000000000008dc0d2bdbd75b03c0000000000000000907f50bd7460403c0000000000000000346f93bce195b23b000000000000000075c8763b810b6c3a00000000000000005daf033cdaf858bb000000000000000057579d3b08898dbb0000000000000000625a26bcd09c93bb00000000000000001a3440bce291aabb000000000000000000000000000000000000000000000000bab04aba216e41bbf29c713c24b5923cca0937bb1b9006b9d6ab883c9942933cc046d0ba1d578539b7fd8d3cfc72663ca0a45fbbefe60d3be4525d3cea39533ce11fe1baaaf61b39d7c6113cebb4453c3f5b95ba8d4834ba5010963b539d153cc4068a3aa51c08bb1d1d81b96408cf3b0000000000000000000000000000000000000000000000000000000000000000e5d5da3acb1daf3a226067bbead52b3ce22e303b8f21f13a092535bb067b353ce3afaa3aa30b313a281deeba164a073cc1c3763943fc1e3a5d3833386da6063c7642143b25ad893a6adb86b9a487023c8a6d943bdd401f3a9fafd4b9f995f43b159f7a3becb46f3a1e7704bb183ca83b00000000000000000000000000000000000000000000000000000000000000009de430bdf2a6ecbddf0fbcbcaeebcbba54592ebda726eebd4016dfbce36139bb46a91fbd5ac2d9bd802ad8bc58c467badf9d05bd8caab9bdb7b8b9bc51504cbb178a9bbcf3db97bd8b88d1bcfdf3d2b9cda7d1bb066351bd1a6fb9bc8fecfc39d973e03b768de6bc3f8775bc7e335d3a000000000000000000000000000000000000000000000000000000000000803f428c753b95623f3b0ab860bd2fbf983f7067823b786543bb8bd12fbd054d7f3f93bb0d3bdc4df9bb53a326bda929503fbee68b3b3a7304bcd18637bdeb3b213f58da7b3a8dabdcbb4c4d43bdfa42e33ef85d02bb771a11baf22344bd0351873e011c00bbf239e63bfc3b54bd4dabb53d00000000000000000000000000000000000000000000000000000000000000007ca01fbd08a0333c0000000000000000eff59fba24aee73b0000000000000000f904ab3cfebd863b00000000000000009ff8fa3c06343b3b0000000000000000dc910a3d814b86b900000000000000007215c73c201470bb0000000000000000362e2b3c258a86bb000000000000000000000000000000000000000000000000000000000000000000000000000000007b75fa3a3c5c083ca18f13bbe1344abcccd9ea3a7510293cb660cbb9097057bc1bc0023bfdbd283c8460c9b915cf6cbc65652a3bc4690d3c6fa3d13854cb64bcc1013439579b1d3ccd1bce3aef8942bc63dc99ba72c3cc3bda36be3bb3c107bce161c3ba9e85813b19a3c03b45172dbb0000000000000000000000000000000000000000000000000000000000000000b586d53a94570e397e67603b70ee01bd273610bb89ebe93a1a22933ba943f2bcc50512bbbbcaf23a155e823b35d5dabc8e5264bb74f9343b2a1d6f3bd474b3bc1f2793bb2cfa803b008f903bc1a182bc0e8f80bbb9399d3acbb8a73bcbf914bc5c5e3ebb570c8d3a882bab3ba5436cbb0000000000000000000000000000000000000000000000000000000000000000212b44bd356e383cdb3e6e3b9de721bb07a14ebdaeb3a93bac56193c923118bb462158bd380e6d3b1f8f733cef6eb2bafc353fbd9584c939ef5b883c587f00bbb08732bd34c73dbb9c9f863c79b003bbcecb07bd90e8e4bb89b67b3c0cf14abb6192c2bc7c2041bc432b353c21ee0bba0000000000000000000000000000000000000000000000000000803f000000000438dfbbeb13d3bc5c50823fd195463caad320bcd2a5cdbc23735d3fd7fceb3c9be632bc9e57e4bcca57373fdc47273dfe223ebcae53eebc970f103f2fa4353dbe8515bc19680dbd1af6d43e215a3a3dee0cbabb9ad918bd94b7873ec3dd303d1e0c2abbc5311fbd8ecaf43df0c6103d0000000000000000000000000000000000000000000000000000000000000000fa3c30bc23c078390000000000000000bfa01bbcb39f5a3900000000000000004d8307bcaac2a3bb0000000000000000616c95bb8268ccbb00000000000000005021d0bbf27c98bb0000000000000000b698afbbd7141ebb0000000000000000e9e085bb230a3cbb000000000000000000000000000000000000000000000000a8d4053bea25aa3b590b9bba755a39bc039706bbeac5713cdb958c3bbc3e81bc465125baa5e5763cf68ba83b40be90bc65e498b8b873693cf0f8ad3b9c4395bca6db51b977084b3c38c2af3b6a826cbc2fa2d9baab27463c8d010a3c36513cbc2ac863bb76b90c3c04f4263cc7dde5bbd9ad91bbefd8fe3aa979213c300d0f3af45549bbbca0b83a1c43e03bd9ef513a6c5a983b3cc7b4b9d7156b3b3200f4bc798d3ab9d64da0b98a2e3b3c31b713bdc02d51bb0454403a0267123ceec706bd91d29bbbf793f13a804a213c9e98ebbc6f2fcdbb6719113b9f20fd3ba9dab1bc6705f7bb3d1dbe3aa51e013cc8827bbccb49fabbe2d80c3b7a3c103cc7f3eebb66c3c7bb52a62cba1d96e83b03cc4e3b840b3abb9167533a96f4ae3b6eaa543b470207bd17dfa73c7f14bfba0b48a4bbf1017bbde0603c3cf1d1743bdd2282bbd22890bd67ee8c3b544c5a3c3a7b56bbf8838cbde02e16bade539c3cf25c93bba4ae75bd0d82b2bbb65ea73c24ab17bb10375fbd71f34dbc4cd5af3c6e4e42bb9d6331bd407a86bc31f4973cb40fedba0827cbbca21192bcaa385a3c45840cbbe52d39bc030f49bc70b0083c4efd26ba032863bbebbc22bda699823f204d073eecc569bbf14c59bd37df703fc9430e3e5da7e5bbf11949bd3caf4d3ff66b143ed4eb20bc8bdb4bbdfcc5283f86fb0f3e195714bc4ac744bd3fbe023f9cf4043ed254e5bb529f54bd7f7abe3e124eed3d1ecb04bb9b3759bd09736d3e5e03bf3d396fa53b4f3e45bd43c2c03d598c813dd579a33bbde917bd7bfbbdbce36a053dc37fb0bc0409e03900000000000000001d24b6bc0f7a153b0000000000000000dee692bc4fa453bb0000000000000000cf5068bc8ec0c4bb0000000000000000049d20bcde0ae1bb00000000000000000f6310bc8050f0bb0000000000000000b7fee3bb7e0dd9bb00000000000000009509e2bb881769bb00000000000000000c88edba3beb42bb0000000000000000ab899c3ae3f2f23b1f150bbb5bb643bc73bd8bbac17e573c434b193b619b8cbc2f0ae73a0087313c6fd3b23a984983bcfa64b7ba8eca693c055ccc3bf1d988bcb66517ba03ae3f3c886e943b5ae86dbc490441bb7aa43a3c3b33243ce9f13bbc4960e7ba5db8e03b53cfd43b5614d3bb6f80a6bbd8275b3bb1a3233c8dcec8baf49c55bb76fd9a3ad347e43b5a07a83a5a34953b1791b0b915eae43bae32e3bcff36b6b98ad6553a7f65303c343905bda2a149bbbb4e043b43d1d63beec1e3bc7defd2bb1d56bd3a5804213ca4aec7bced7decbba84d423b0897083cabda96bc1c2c20bc5d61db3afc881a3c344e2fbc6566eebb6c97b93aa82cde3b16b6e0bb2e5cf5bb18b1bb3ad4b40b3cf5c2153b4fb08bbb3a3384baaa087a3bb4b8cb3b5ad102bda4b4b83c772f853b1c4ddabb71086bbd6fcb653ccd34143c9c64c8bb46b065bd9fee3b3b207d8b3c0d1a84bb083687bde3b79dbbfc0fb13c002f5dbb51e15cbdf69719bc11c8c13ccae8d2ba37f858bd4abb94bcc4c1c33c5e0e2abadc3612bd3fdd7fbc6b56933cb007903aba88cdbc8a8ea3bc2cdb743c16d81dba0ec411bcfe9e48bc72570d3c703cbaba044b89bbac773bbd55d65e3f11a28e3e0b8c44bbb6de7ebd41884e3f687b8d3efa3ae4bbd8594dbdadea2b3f3a10823e202bc6bb83cc6ebd3338103f686b763eedd9efbbfa6250bdb073dc3ea85c513e832784bb56ab6bbdd67aa03efdd7373e73e20abbfd453cbdba07473ee13bfe3dca77c63b40c648bd70ff963d2a6db43d5b1ce63b6c9706bd87f6d0bcdfda043d9d80febcb78de3390000000000000000920e04bdd63c0cbb000000000000000063bca6bc4762cdbb0000000000000000333085bc05ad08bc00000000000000004e4407bcbe49f5bb000000000000000043a7fabb47fc32bc000000000000000099df77bae7f90abc0000000000000000c1d899baa46620bc000000000000000000fda63bdddfbbbb00000000000000008614c53af605dc3b4f9684bb6c3d63bceaa1feb6db704c3c7754223a24ed8abca5fa71ba9c59663cd53d903bb6078ebcaed8dbba5120673c3e06e23b06f385bcb1094dba0a49333c47b3f73be42b76bcc4d266bbe181213c2e132b3c9c8a18bc6efb81bbff27013cf426263c6012b3bbda599abb74384b3b7c1a3a3c0f0b74baf87f2fbbad84ca39a65ac53beeec5f3a90a0753b9395013b31b8c13be5f5c5bc4aae5fba2e79d03aa367263c20f7e7bcf18ecbbb0c7afd3a2d7c253c70d2ccbcc1c802bce0eacf3a2a2e1c3c4975a2bcbebf24bc677ae33ab6881b3c13ef6fbc07c738bc4d831b3ba852133cd559f0bba7ac30bc17c1f539e4b70e3ce05909bbe28804bc50ad06baa7ffc63b8cd48e3beff1c5bb37ec6439afc7a53b6bfe923b159c08bd49a1ba3c95cbb43b1da327bc2d9563bd4bf94a3c9091533c951108bc909982bdd19a1abb033ea43cc854ccbbdadb82bd0e2c3abc2988bb3c7dfd70bb037664bd81898bbcf346e43cd0def3ba663549bd3bc8c1bc9383c33cf40889ba0e571ebd1f06ccbc1c18a53c905fe43a9276c0bc7b70b2bc3a9e693cf307fc3a45bd2abcbbf568bc50a4103c4e63443b02d15cbb08263bbd38c1383f8546db3eb3b83cbb7c007ebd630d2a3f30fed33e0b9b7ebbc08778bd976c113fdf9bc33e0a1e95bb9c5777bd5c8fed3efd95ad3e15c9a1bb10915dbd000bb53e6434923ec31380ba312264bd3135803ec8246f3ec752063b3dc555bd45ad183e1582313eb472dc3b295235bd0fab533dc4fbd73ddadcef3b01cef0bc8017e1bc62bb0e3db79918bd6f60cebb00000000000000003fcc1fbd11f68ebb00000000000000004f78d8bcc61507bc00000000000000003bec8dbc5b0f32bc0000000000000000225fe3bbc2954ebc0000000000000000f0b604bb8efb5ebc000000000000000097671e3b6a6557bc000000000000000045c6a83b58ad48bc000000000000000043c9fb3b9c5911bc0000000000000000ae70ba3a6397db3b1c6e73bbf32553bcad2d63b95d882c3cc11c0e3b7d7778bc48aef2ba7d845d3c8bf16c3b42276dbce90dcabacd954f3c3ff1f43bf26865bc7770c3b75671f23b46eb483b55ba31bc63fe19bb8a7e213c42c5183c04b507bcb6cc64bbf36fcd3b25772a3ca3bb8dbb65fe76bbf1592f3b7f14133ce40abeba75734dbb0428063bcbba9a3b773234b9dfa23c3bd813813a3372b73b8485a6bc463180bbb46fdb3ae65b173c80e3b3bc481106bc0a5e0d3bb11d013c9fc79abca4542fbc58fbf43a8a8a0c3c21dc6cbc2c8d29bc66430e3be022f23b64852cbc7f804dbc80b6a93a6d81f33b048095bba7d536bcfa0d0c3a8b04ba3b173daf394b570bbc9a0aaf39a34fa83b6399b83b774776bbe2cf22bb4cc6923b01aecd3b9ed409bdc287b13cf530163c369812bc9fc35abd6410c63b4b4d6e3c6433efbb234167bdb00c14bca409b63c988fb9bb33c472bda6e5a5bc1e98c23c34daedba807f31bd11d69dbc0bdcbb3cece6833b55a53bbd97b1e8bc1ceeaf3c6a56153bc61b05bd18dfd9bcb0d28a3cb110a13be4869dbc2cabc1bcc242313cfb331b3bb5411abc2cbb51bc38cbfc3b4b46753b2a8192bbd1a52fbd6408123fa6ba133f299ae0ba151e6dbd3c30053ff2660d3f4db081bb4abf55bdf33ce03e9db5fb3e3f1e51bb799160bd7110b73e0999dd3e6767b0bbfe302dbd51098a3e011fae3e9df2fab9ba064fbd1a91403e5087923e943be23a28422fbd0b6adb3d5bcc483e0ce7cb3b5c331bbd71acee3cc4ebf23decfed63bae10ccbc8cacfcbc1323053d371e32bd268ae7bb0000000000000000384628bd4cfae3bb0000000000000000e8e6c0bc8ea221bc000000000000000058c65dbc1efe52bc000000000000000057194abaa30d63bc0000000000000000fdd4843b588479bc000000000000000092e31e3ccde160bc0000000000000000fd75363c29a161bc0000000000000000dddb343cd7ba25bc0000000000000000b75d163a1069d33b51ce2abb7a5025bca0f00abb28dd383cf2b2873b2e3c56bc032826bbbe45463c5aa3063c63f542bc65a355bbad913f3cca92333c99521cbcdd710dbb64501e3cf0da1c3c80000ebc2c4586bb7fcbf23be5f04b3c9c3681bb14df7bbb5b02a33b440f303c2cbfacba64e953bb53d5633af147213c9f0bba3a618732bb308dedb91347ba3b29de123b41db37ba495e463bf01d9a3b38df7bbc8d0bafbbc4800c3b9454033c1d047fbc81492dbc2f72b93a57e3043c0ae94dbc406c50bc1e41e03aa811df3bd41a16bca1b06fbc3ddfb23ac04fe83bb7529cbb28a854bc7673aab84fcad33b4fa8bd39b56f27bc5d42aaba22f2b73b513e7a3bc465edbbd77e19bb7f5d383b0d75073cf4d638bb23da46ba3521473b501bdd3b8b7814bdd343593c44c01c3c9a4423bc5def5fbd794ba7bb711c7a3ca07912bcde6e74bd84cfbebcfe65a23c686988bb872269bdd448ffbcbd07af3c0143a7ba6dcc44bd0d430dbdf742b23c3011d83ac7c029bdc98216bda331853cb7d2b23b201efdbccad804bd475c423c0da5a63bcbf098bc22efcfbca5b5003c98beaa3b6138dfbbaff181bcd8268d3ba877aa3bcbbba0bac5971cbdfeedd73e907d393fce03523a01ce4fbd52f5c23ee59b303f1cac40b8e7ce4fbd7fc1a33e8ae31d3f992e15bac84a43bdf69b823e51b8063f9128d4ba825738bd82c3423ef55fda3ea04a0a3b7abc35bdbf58ff3de512aa3ea78d643b32171fbd8de0823d7d9f6b3e4716f03b7c0fffbc47becb3b030d023e0e8acd3b7e2092bc936d0ebd9829d43c41f72bbd3983e7bb0000000000000000539733bd23afe4bb0000000000000000393ec9bc024733bc0000000000000000681421bc142360bc00000000000000006b5b7b3b87967abc0000000000000000e327393c457b77bc000000000000000006907d3cfe7a81bc0000000000000000ca54823c8cd374bc000000000000000020c25b3ceaf42cbc00000000000000009cee92b925cdca3b751f193984b201bc23515fbbfdfe203c0510e93babe20dbc934fcabad6d6083c615cd53b6dcefebb093983bb4672323c2c233f3c494e9dbb802618bbfbbadc3b80c30f3c5b86b6bb826188bb003ad73b58ca443c8a8803bb3e732cbb6b10793b75e6123c3af34eb97beb66bbdbd42eba980a183c1e935c3ba0a799bafbeca4b907de5d3be0ab5a3bcab3bbba77e12c3b3b65563b6f5a30bc391f02bc12d5eb3a9fe5ea3bee111bbca3601dbca8c4b93ae251913be7fbfebb48c273bcd0ef94b9bac4c23b688846bb853b66bc282c813a6187a73ba910f4ba36b944bc8d25ebbaf6eaa73be0ee433bb13515bca2c994babd6d663b25b7883bb94ee8bbbca698bac3e2393b3002243ccca85dbb5e0387b9d4d969b99c27da3b606813bda777d43a8ae1f13bdc291abccd445ebd0507a9bc1d7f513cfebe02bc6be141bd7f8decbcfd7d5d3c47cf21ba760056bdabce37bd83446c3cd0daec3a4d7125bd3ca223bd6ccf543cae0ad53b639914bdb86b31bdb83f303cff91c43bd147c8bcc8fa01bd6291b43b222a013ce10e72bc3c22d4bc948dfc3a54be9b3bd5c281bbdb9c5ebcac1fa4b987a8033b2456e83a400eeebc89428b3ecb785f3fe9298d3bce132abd30ea763ebfe7533f12500f3966f90ebdf21a4d3edf47323fc2d6083bf50c25bdd5ee1c3e5e8b1d3f7ef31a3928a806bdd843e13d009ef63e97745a3b530c10bd6f0e863d479dbe3e77ed033b02a5e4bcdbacf73c4a797b3e8e96ab3b0850bbbcffd674bc8d73053e2b12c33b443d40bc9a491abdecde683ce67436bd96e3c4bb00000000000000000ac123bdfcd9dcbb00000000000000009bc23bbccf5116bc00000000000000003ef8eeb7cecc5ebc0000000000000000de36443cc2326ebc0000000000000000234eaa3c2a7782bc0000000000000000f9f09e3c773837bc0000000000000000371aa13c9b357ebc00000000000000004422683c93333ebc00000000000000006334b6baae92b43bf195553b8412c1bbd0eba4bb13110a3c12fb3e3ca919b8ba7a9799bbfe98083c9dc8543c14b081ba378a8dbb9142e53b2f29663cc88550b8354070bb0715c93bb9c9553c821200ba2f828cbbde118a3bdd4e623c3a29563b84167fbb2a1ab73a3ace2e3cb4f7813b2cd512bb6e6f13bbe9a3d73b13dbf53bdac989ba8cbb19bb67d6523b1b75a53b75d993bb164b443bd519063b924c9ebb7ff921bc8c893e3ab3df2f3bb7777abadc195bbc998fe7b9f5ff803bc0ce58ba88e76bbc0c29ddba74885d3baa2e1b3bdb1080bc24ee8dba423f573bf07b5a3b4d4c41bc16bebdbac1e1603bb9b6b53b6309e0bb8f5739bbc6681a3b376a0a3c71665abb4bd5ffba4a74e13813ad1a3c0045a9ba5aefbabace50d7b9c28d023ce87a19bd3b2277bca14d043cc0ac07bcef1549bd17ad2bbdb46fce3b64e09bbb461546bd445160bdb4dafd3bb4e2593a377631bd890a68bd8a35ec3b9778a83ba27014bd5d0454bd3b86c33b37c2f83b1bf9e6bc6ec249bd906852398e86163c7e4a96bcc61e2ebd6c0b27bb5c390e3c39e5efbbb070e0bca315c7bb5c2c9a3b985b70ba0a8e52bcbc7e96bb9732833bb7a75f3b00f1b5bc729b013e2791823f4a72d03b622ed8bc0ac6d33d5608733f3047893bc20dddbc1b3ca63d51f3523f39ec5f3b818ddfbc759a6b3dc0002f3f7a1c243bae4bd0bc4b210e3da7030a3f0110143b6873c6bcbdf0103c313dce3e5289763b982ca0bc47ab67bcbe43873e58a0913b7d0844bc62210dbdaa50003e64848c3b0a13d0bb62d725bd188af2ba468d10bd323ac8bb00000000000000007d7ddbbc8bdad2bb0000000000000000f3b369b9ca332abc0000000000000000d8a8853c30cb29bc00000000000000008ae7db3ca72751bc0000000000000000c278073da13b4bbc000000000000000059e8f93cb86163bc00000000000000008ca5bf3c9bcf62bc000000000000000069fd883c56201fbc0000000000000000000000000000000000000000000000000d153ebba3b8c83b36fe163cc0e3c6bab1544abbc005b93ba6353f3c7e3c063a09c423bb4cfeba3b2308333c07941c39da6714bb12dc603b3826253c26e805b9c0f237bbb6365d3b9445283c5c18403bd8c4d3ba081d94390506133ce16d973b9c83c3bab429b6b95850943bce4db03b000000000000000000000000000000000000000000000000000000000000000068ed3fbc0f8ca5395533e13ab8cbdc3917bf53bcfae18eba38a8c63af95ddf3a0dc262bc9b7320bb67b7023b0b7d0d3b1b6b59bc69f8ebba595b853b1fdc473b934b4fbc9fc334bb96e2123b6e46b23be186eabbbf7f72bb624e96ba5997ec3b929137bb47c420bbcfdc06bab64d083c000000000000000000000000000000000000000000000000000000000000000075381bbd13233bbd09abad3b805331ba77470abdda4b56bd8058093b61fab53b0fa2f8bc4ba74dbdc7d4163b85901e3c2d24cdbcbaf73dbd84219b3ac6d8283c514899bce20030bd26be37bb91fb343c081823bc6e130fbdc43b09bcaab72b3cfd1866bb2ec6c8bce3af1abc1230e23b000000000000000000000000000000000000000000000000000000000000803f2ef85c3b313c56bcd2f477bca3bc823f4e3c843b27ad6ebc6353a0bc1ba35e3fe950b53a8fd886bccc8bb6bca76e383f84c8a83ab2c48abc50e3cdbc1460113fd7f54d3a31fd74bc025406bd5a34d83e3d4d0e3b934043bc966b17bdc53a8b3e9dfa1f3ba8b80bbc054327bdef8bfe3d00000000000000000000000000000000000000000000000000000000000000005057a7b93ebfbfbb000000000000000019566f3cccc4aabb00000000000000003f3cec3c1feef9bb0000000000000000e2d0093d76a1d0bb0000000000000000af61103d1920e0bb000000000000000051ac033d6512d6bb00000000000000008fdedd3c57e8abbb00000000000000000000000000000000000000000000000000000000000000000000000000000000716dddbbc83abb3a8e972a3d389b143c852075bbea717e3a0c6b273d9d32263cfca59bba49aaba3b4f2a033de3e8693c20839739cb165c3bfd49c73cf0233d3c28ef9b3a00c1f13af42a8e3cf100243c9ba4c33a1441973ab04f0d3ca7cee13b9173693a7e5a683a8d5dbe3a63da043b0000000000000000000000000000000000000000000000000000000000000000bc319cbae8e515bbe63da1b9e0738e3c5f9b66ba2d7b08bba9a7abbaf3c9393c61c9903a58f973bb55c1f8ba773949bacac4233b952b27bbcfff84bb210009bb93409a3a2efdb9ba05ab4cbb31bd62bbb7110a3b70c003bb82e8bbbb7e0828bb3bcd053a26a96db9d866acbb76972dbb0000000000000000000000000000000000000000000000000000000000000000a0845bbe7a7458bc3e14eb3b205be138e5ef4ebecec2cbbc1e63a23b47ccd33aa3423abe4b860dbda81a643b99dbf03a261e14be61d305bd4f58c7b71749153bb181cabda6b9edbc1fb30d3b9ad0c9b9db8059bd243f90bccacd2aba1446d63a536afebb880dcfbb50343db91798aab90000000000000000000000000000000000000000000000000000803f00000000b5dbb73c9e5106be8356ad3f67f5d2bde0d6853c5844c1bdb2f58e3f314439bd57a4333c37e297bdd4c56a3f5c4071bca6e12e3c1d6469bd1de62e3f4ea5b23bc398de3b81ce12bd0c70e33eadb7453cf7f7b13b3bd444bc11615e3e8b5d833c69ae013b8ff0ed3b41a9ce3b0137f33b000000000000000000000000000000000000000000000000000000000000000011457a3ca9cb9bbb00000000000000008315cf3b6c3da2bb000000000000000045ec453b6c1451bb000000000000000099eae23aec4756bb000000000000000000c4133ba4747dbb0000000000000000f6204a3a7c540bbb0000000000000000072b783b73a414bb0000000000000000000000000000000000000000000000002741f6bb58a421b8e149b13c15c9243bce9105bcdda68dbbd9ff2b3d8b0f163c4feac3bbc5e2243b9d2d2b3d7b38803c85bf5ebbaac0873b390e133d1ef99c3ca0ddeeba7a51923b403dd53c84b4743c5837d4b8b735593b3874973c43b9283c67ec443a0fbb3e3b977a243c2314d13bc53d7a3a17b4473b6576583a18b5b93ab34b3f3ab4fa50bae71e28bb1dfb3fbbce2cb0baf396c6bab8dd133be4388f3c61047cbbbb533ebb9d0bbdbbf3e7243d4d6a08baa43e49bb57c941bb82c39e3cc5704fbadac681bba05195bbcff8513cf17f273b11198bbb859381bbde0cc03baa24273b6adc43bb410befbba4f5b73a4f8b4c3bc4ddfabaf6c5ebbb6a4d05bb1b6a3c3baac005bb47e6d5bb36dae6bbc1ccfe3a1b5b80ba7c16e1bb9a62903aaf5d07bec6a1f03b93a42abbb0c6133b35a34cbe074b8abb26c2933a5f164a3b303b5cbe09aa01bd3a34973a6746573b71bb45be24382cbd6243e2ba8084ab3b211517bedeb02dbdc0ef53bbfc84673b94becebdc65806bd26edbabb984ebd3b7ae556bdbc27bebc229c9dbb05d1dd3abae8dcbbdd8238bcc1d20abb15d3db3af22ba83cd12f7e3b2a1437baaf1f3d3a8d08323d12e25abec2d2ac3f231b583cc11e3c3d12de50befb599d3f58bb223db782113d27a82cbe26398c3f06868e3dad21ef3cd2e208bec97b623f2a82af3dce65b13c8996c4bd36ba243f2c33bd3d7de48c3c45db6fbdd110d03e6f65ab3dc3b7313c75cfa9bcbfee3c3e89d5873dfd98b239fbe09b3cad67d43b6af92f3d6ec03d3bcbac6b3c3f6cfbbd653baa3bbaa08bbc7bb6a43b00000000000000005ea9a6bcffc71d3b00000000000000006372c6bcd2840b3b0000000000000000e434bcbc3436f93a00000000000000002e6fa8bc776f163a00000000000000006bb995bc4bd4583a0000000000000000f2e762bcc49fc13a0000000000000000381e0fbc1d17e839000000000000000061d8b8bbc5c6773a0000000000000000b2c0e6bb397320b9f9426a3cb9ca953b09f0fabb8924073b099beb3cd7d9583c4becd3bb557a943b8d4cf83ca73b9b3c7e4ca0bbfdcbcf3b5c90e53ce5c9993cab385eba4c6b843be752a33c1fed703c4d810abbdd92963b35c15d3c7cbc4b3c09b7d6ba03e1973b46dbbd3b3c93bd3bb9b43cba6d75293b392c3a3aa175ec3a7ca99dbac9ee333be99e80bbf33d2bbb659426bb356d5eba978d1c3b62c4653c28213ab97a607abb3de547ba0e49b33ccafb253b8cf284bb4cb3a93985d75e3cb810783b6d6ba7bb213e17bb8483193c1c55bf3b057994bbd22584bb7c485f3bffa3ad3b17c356bbb2c9a1bb3445203b14f1b23be2f15ebb05c9d8bb73287e3ae8426c3b2948febaee03bbbbf1b6b6badb81f83a5e2899ba25b2b0bb5745253af724bdbd30cc033c40ce2dbcfbb8933bd85029be8d8ae6bcfb2edcbbe49ae73b5ce932be7bf260bd424500bcbde2d63bd63624be5a4c80bdaab0fcbb4eabf63be31df7bdc26c63bd6f8e3abc8cf5e13b30e7adbd8c3046bd683027bced079e3beee429bdc846f5bc19de00bc26d0a53be0c103bc59ee59bcba28a0bb1e51073ba16b503c9df7883b524560b9086be739b5513c3d9a3259be91188f3f48a46b3e625d513d1d3f67be4efc8c3f6957733e1840243d6e0e3cbe623f733f3266813e0c4e0a3d522517be741c433f0369753e605dc53cc3d6d0bdbcf50b3fbb57573eeffaad3cce008abd999aae3ee715323eb1b9753c1a6a0dbd03691e3ee8b8ef3d8e9dc53bcec115ba4b1b503b7ebb773d4a6c923b0b1f3e3cac99b1bdb371d73b047d88bd0d9a7a3c0000000000000000bd168fbd2d18753c00000000000000000a1587bdf5df323c000000000000000034616ebd3c4b043c00000000000000008df338bda456d63b0000000000000000deac26bde476de3b00000000000000007d24fabc59b3a93b0000000000000000d32fa4bc58d2763b00000000000000008bf86fbcbd38ac3b0000000000000000ac09a4bb76070b3b3cd80c3c98e5fa3b6727e7bbd920e93a69e6a83c5c27963c1332cfbbcd47983b55a5be3c1b51c03cc5de6cbb01fdbb3bbe8fa93c443ab63ccf182cbb7413aa3b827e7d3cc81b9c3c81a007bbbba3cd3b8b6a163ca2d1503c9028f6ba7a33913b7996ac3bcb5a083c0b6543bb732b783b895429b9f58ef33a0bcf26bbff580e3ba34f12bb929109bbabc129ba914c3cbb9084ba3b4fd41138ca2f1b3b078a87bb4e9fb83a4ac56b3c2b0d733b0f90aabb57cbf1b902f12d3cd69ed43b7f24b1bb7adc2bbbcabc933b14effc3bed3d6bbbfae90cbbf1217e3b9118fd3be7a060bb407dd1bb79fa133affa7a33b3ce856bbc74093bb2b095db9184f7f3bc2ac2ebb9d8783bb4f6dc5b981a8cd3adb9ab4baa7f369bbda12db3ae45e98bd8df025bb69e793bc5b222c3c1ad303beb0375fbdd95659bc5dbc193cc60c10bee7d3a1bd3e2c6cbc40d7403c7a84febd624fa9bdccd592bc1aab1e3c2606c9bd1bd7a3bd6ba897bc4cfe063ce09c85bdaa356dbd0ba585bc5bf0e43bc3150fbdb1bd1cbdef7826bcf52b8e3b6986e6bb5c0261bc3e299bbbd42f0a3b3e98293ccc48ae3b2fc766ba35208c3aea5d273d5eab46be285c6d3f10e1ea3e2dee413d278f53be3120643f09a9f23ea6371f3d60312fbe8b09443f0d6aea3e7c3f073dbb4906be6fc7193f44c2d13eafacc93c9d10cdbd9419dd3e8a98b23e2691b13c7c9b81bd80e5863ea784853edb616f3c315808bdcb8def3d690c283ec4a0083ce46401bc8800493b48d7923dc220ff3b99d11bbb95f58ebda68b19ba5a53f1bdaa64bd3c00000000000000001f6300be001fdd3c0000000000000000038fe2bd4b8ca03c0000000000000000000bb8bd57ed883c0000000000000000538d9abd29545a3c00000000000000003a1a6ebd91223d3c0000000000000000f8df28bd62b3153c0000000000000000d845efbc9c8b113c00000000000000005301b9bcf812ed3b00000000000000002efc8ebb11a00e3a82b4d83bd23a153ce57fa2bb0ef23b3b2db6643c791ab23c587786bb0036a33be65a883c426cc73c5a4e35bb2567963b4bcd843c8960c23c8914efba9314e43bbf12183ce7797c3c101ffeba002cb83b166bf33befcb6e3cd5679cba6fa29e3b7aef3c3b5241e83b0d25fdba8831633ba45f94b9dfd0da3a9d6111bbc2e9423bf95327bbf4a846bb676a6a39f1ce3abb28959f3b8962d9ba2f86a73b0fb8b6bb36c5963a3a57ec3b1e52e33bb08a90bb41509d371e03293bbae53c3c000bcdbbcd5fbfba8ce2503baa1a093c8d7e89bb597db4bac6a945bbf580103cd1e988bb14ac4bbbff40c4ba37f2db3ba8261fbbf0cc69bbbb93e7ba0086a33baca15cbb683222bbd1ae6dbad5d5163bc8160abb743805bb9ac972b9b7e566bde50e86bcf554b6bcc832363c6f6bbebd15aea1bd4f589fbc2ccd3f3c153fcbbd78f3d4bd1b50b3bcb173413c3cc0bebd8262e2bd1bf4cabcf080363cfa868abdd14ca2bd3f3cbcbcee14dd3b90a14ebd8a2d97bd602b94bca052003c5ed3d1bc4e1b29bdad5e2dbcda62383b0727d3bb21737dbc11e3a4bba2a2633a5d330c3c67dab93bd288093baef6883ad751093d8adf21be4e04323fb1eb323f96cc193d26b827be177b273fdc85363f2b81f53c9b0a08bed3fb0d3f3eba293f8caed73c32c7dabd59fadd3ee0c4153f022f923cd10394bdb7a79b3e9561e43e4386943c64fa5bbdf91d403e3991af3ec6484b3c892bfcbcdc3ead3d7d0d4b3e5ac3fa3b5a5e17bc24bb1c3bfe219b3d60669b3b57c32cbbfa8a54bd886e3cbc593828bec8a40b3d00000000000000003c252dbeb40a0e3d0000000000000000507f0ebee413d03c0000000000000000af15f5bd88a5b63c00000000000000007a7b9bbd40ad623c00000000000000004c1395bd1c4a713c00000000000000001b5a4ebd244f5b3c0000000000000000468b02bd756c423c0000000000000000c304e1bcb4f4253c0000000000000000493073bae0740fbac25b323b072a313c31c632bb2fcfa4b9bc731a3c7071d53c9c1943bbc8164f3baf02333c9ac9fb3c4cfff5bae3d98a3bdd9e293c5cdeea3c747893bad11fa33b03b7193ce54eb23c2b0532bb0e14b93b0061a83bf82b853c33c224bbbed2cc3b1822d53ace1c103c8b3c30bba021973b7c8c51baae6d273b4abef2baa0594c3bb66929bba4e82dbbac8ead3a0ce183bb3b0a303b33ba07bb7f11bd3b670ecfbb80d38a39c722623bbf55233c391badbbce2b96ba46420e3b3bfb383ca31ebbbbbb2143bb0cb8d7b9b44c503ca63396bbd384a3ba4f4d8eba3959163cb3bd84bb9a6faeba9d9561bb745ef23bae0d6abb54d0f4ba6d4061bbdd2e6b3bc01640bb8ad8d639d0983cbbbd49503bbe134fbb91be5039faa099b971d907bd01c916bdf26db2bc7b1b4d3c9ff25fbdac41e9bd210890bc4c6d5e3cb1a383bd5a1312bec9b3bdbcb38c4b3c006976bdd7c00bbefb08dbbc4cbb323cb7c74fbdedf6f0bde464dfbc674a163cd79c0fbd356bafbdb7f995bc6c6ac63b9094a6bc2eaf4cbd77b85bbce7dd873b64dafcbb643f77bcc5944ebb326aed39020f823bd3ac143ca32720b7bcd2c33a99bec63c061ee7bd7fdae93e56866e3fb7b6e63c6762ebbd1949d53edea7703fd3e4c83c4bf2c0bdacf6b13e45bd5d3f1c4eb03c067b93bde954883e70b03b3f42ea813cd9f363bdc9d8413e97f4143f5023773c684a1fbd726ff33d90c4cb3e2d74383c8ca9c0bc8b9e6e3d8bde653e76a9ab3b6ec22bbccb9a293cafcf8d3d9410773b884176bba79f0abd9b92ecbc686d4abe94261c3d0000000000000000793854be765a323d0000000000000000d1252fbe5f9a063d00000000000000004bff09be7f27dc3c00000000000000006853d6bddb6cb13c000000000000000006fe95bd0d90883c00000000000000001d024cbd90c9703c0000000000000000bbe804bd6b27643c0000000000000000dc27e0bc0dd12a3c0000000000000000244994ba6a1beebaa88720ba241f883cb3468fba243bb0390cbb0e3b337e023d51824ebb229ff53a9ec7fc3b9e2a113d671984ba9d81193ba7a9023ca33a093db015aeba63cf8f3b4093993b805fbd3ce9902fbbd621d13bc578883be8b79a3c14aaf1bab2fd903bcbde453afb373a3c2dd313bbbf5a913bca5aca39ce2b1b3b9b62e3ba8fae343b1fd8acba2d5503bb95a7b93a2608aebbc02a423b2d5387bb6b4de43bef52d2bbc79e5dbae44260bb710f3c3c1576cabbf70739baae3b10b9f5ab553c7299b7bb226a1cbbe61014bb8820343cd0585ebb80345fba256652bbf164163cc7e033bbca5addba7826cabb32dbe33b222a4ebb3ce94fb96e6890bb39f52f3bb9aaa5bad3feea39a32276bb02697b395ea8dfbab8e529b9470618bbde6c11bca34e81bd894b48bc47c2363cfbf88fbc8fb81abead1c5bbc183e423cee8404bd014831be7d52c3bc0fec443cb6e4f7bc1de82bbe5340debc05582e3c5829f1bc12c804bee0aad2bc1807c83bf6ceb5bc656ccdbd898c9cbc1926ba3b0da965bcef4063bd09d036bc8f08003beed4f5bb2fd784bc2d942ebb9a9bbaba9d9fdd3964c55d3c4209ba3a086c45b9eac8773cf39284bd468b6c3e80568f3f12c5963c6c2f75bdb14a423e9b9e913f8601763cea0047bd0204233ed269823f8890543cab2b1dbd70e3f03db3555c3f9e99333c79c0edbc4c37b23dcad7253fc98f1d3c537f9ebcdb8c693dd67be43ecf500b3c3fe151bc0b83eb3c007a713e3891903bf29631bc41ad8c3cf001623d00596d3b7bfcaebbc1a2d8bbce326abd74415cbe20c9353d00000000000000005c8f60be146b3e3d0000000000000000460b2ebe253e073d0000000000000000381609beab23d53c0000000000000000c0fababdb4c5a83c0000000000000000d0ea8abd90fe873c000000000000000014c22fbdcc016c3c0000000000000000622bb9bc7db53e3c0000000000000000a66c8bbc54ab123c0000000000000000b453f33acdb364bb6a1752bb44fcc73c9c112f3a894aa4ba53c7cdbbcbb9333ddfd87bba7e9403ba0c270c3bff72383d4634d7ba412ff13a2ee46c3b847a263d8efb02bb3db5953b18dc463b3acff53c957728bb1c27943b304d193b0d8bb73c7ea533bb947fb73b43064d3a0c43573c06bcfebadef2753bcb95b23a8fe3193b139dc6ba82ef4e3b9ff418bb11660ebb134d893ac1d5b9bbfb4dffb9f0f95cbb33dee33b569f13bc1d10bc3aadc20dbc98603e3c9ab7e7bb426957bafe4675bbfad8583cf4c1afbb743493ba8b0e8cbbad03563cb7714ebb960766ba6f86bdbbac862d3cfc039dbb9617003bfce9efbb0439c53b450e30bbf0c52a3a9608d1bbe7a1563b1af1e5bafaa7093b041f84bb337ec2ba6bd15eba208e463b6eed84bb0d72113c3364eebdaa581fbb509b0d3c84d0a23cc27745beaf48003b834d0a3c8a66e039a9e859beb0c390bc66502f3cc3e1f4bb2b164abede7fd2bcc8a9073c2e5139bc5fc01dbe663dd3bcd88b8d3bce5119bcd952e2bd852bb2bc286bbc3bd5a727bc2f9e76bda80a41bc68610839fee753bcfc6433bcfb28d6bbe2b21bbace0695b9819fa13c8cf6ab3b09ddf4ba424ea23b8dbf59bc7080713c65a6ac3fc47c543bfe7a11bcbdb6033cb5a89f3fccb1b43b294234bc4a91833b31b5903ff643c63bce03d8bbfcd9c139d9316f3ffff2b13bff65a3bb4b80093b2ec7323f745c803bd534a2bb7a13c93b6c89ea3e83bd943b430fa0bbf79e783cf30f693e0825703bd8421bbcbca9ff3cbde3073d671744ba87c862bbefe9033c1077dcbd7f265ebe05892f3d0000000000000000169642befb2a223d0000000000000000014a11beccd1c93c0000000000000000fb7fd0bd2810a23c0000000000000000749b7ebd85ed5f3c000000000000000055eb15bd1efc203c000000000000000030ba8ebce4aa073c000000000000000075654f3b2a12933b0000000000000000cb4827bc0a7e043c0000000000000000000000000000000000000000000000005923ac396eae77bbf000ee3904402b3d01e6df39bd31a2ba31b4263b53fc253d66e38cbaf5571f3ad2d5e83baa81f83c692edaba9ced113b4044953b6e3edb3cc17a8bba287f413b7284193b3800923cd266bdba03f1233bdea7073b18ac2a3c4207acba71ce503bb80d89ba890d5e3b00000000000000000000000000000000000000000000000000000000000000007fb2fa3babdba5bbe50bdfba978a5738d2fc4c3c9c8f73bbc14becbaf5fb20bb6728543c23a718bbd581e9b9d07e11ba61c4433cce053dbb412d89b9128b1cbb6028223cb75b75ba1aa054ba1a1684bbe9c0e23b0e8244baa54a133baf05d1bba1aa9c3a4433d6b674fa063b793ea4bb00000000000000000000000000000000000000000000000000000000000000007e51863c2c755cbe960bc4bbb1588f3bed4f1a3c1a1954beb852aebc6233993bed8cb6bb21d439be5ee6edbc442d053bef3a2abbcfb818bee9e9f6bcd1e4d23a5f9aa8bb21e2d1bd19f7bebc7e38cfba50f7b1bbc9bd67bdcb166cbc0b274bbad0e96cbbb0500ebc32c198bb8949feba000000000000000000000000000000000000000000000000000000000000803f5499b3ba35c79d3c97befdbdce29ad3f13bae3b9e3097f3c6fa9b6bd63228f3f7edbc53a2303153c007191bd5a026c3f9124d73af6a80d3cac796bbd6346303f292dfe3ae4ce003c673f15bd6e3fe53e1ef0a93a355ea53b02a12dbc2a34623ec81dc63938870a3bd880da3b7a0c993b0000000000000000000000000000000000000000000000000000000000000000e293e3bdad09903c0000000000000000c6174dbdbe83053c000000000000000088bab8bcac33b53b0000000000000000fd443dbb5e02963b0000000000000000e4a81a3ca2b9283b00000000000000005bbe613cc7dbc93a00000000000000006946173ce6e3f33a000000000000000000000000000000000000000000000000000000000000000000000000000000001bb60abb2c490abcf94b1b3d1c37813cfdc91cbb14ecefbbc9680f3d8f99ab3cc08dc1ba9ab873bb97b0f33c6591a93c5ed681ba9d0f23bb5285b43ccb01983c04bea13a723947bb6409613c6102813ce190803a83d791ba3a03bb3b8c672d3cf1befb3ad2af8dba752430ba346f2a3b00000000000000000000000000000000000000000000000000000000000000006cf7f138480f47bbab8624bcd911153d5729253bc18144bba4c1f5bb2d740d3d4790f73ad41e71bb136c95bba6f3b73c2d48873b3e1e99bb74beb4bb149da63c33118d3b0a103abb482bb1bb462b6a3c51cc273bf9d523bb84999cbb8a09f33b4f28763a9b5b35babf5759bb1820903a0000000000000000000000000000000000000000000000000000000000000000e9b24cbe49b915bdeb69f13bba43493a581842be871e6fbd4c56a73be4c4173b21e72abe5c6f80bd21600e3b234a683bc19106be311f80bdfdf846baeee9bc3b597db6bdae7d52bdfbd016bbc6c3863b737335bde6780cbdd4b826bb295e943b04b373bbfcc442bc74cfac3796345e3a0000000000000000000000000000000000000000000000000000803f00000000f460f03c7dd01bbedf59ac3f5c35a6bd06c5cd3cd42405be22468e3fea7792bb1631a03cee24f3bdc973673ff98d1f3d9b6b8c3c141ad4bd61cd2b3f895e813dc538413c92589abdea5cdf3e5c52853dbd9abb3b57ec1cbd06a95d3e5159433df29986ba207c94bb1e1d053cbd289a3c00000000000000000000000000000000000000000000000000000000000000002f90863c41b790bb00000000000000009514563b4d8b8fbb0000000000000000da4c73bbb57081bb00000000000000009b6404bcc49d81bb0000000000000000ea75f7bb683c25bb0000000000000000ce7728bbd849a2bb000000000000000001d1e53a254925bb000000000000000000000000000000000000000000000000bfa815bbb774f3bb0507c03cd20bc43ba1d34b376e478fbc4646143d3fbb9e3cfb90e2ba202945bc7750193dd743d73cadb9c3bac3cc01bceb48f13c45ffdf3c21963839363ddbbb7924b63cca1bbf3cd9da6a3a4e8c68bb04d73c3c329b8f3cfd3aa43a83a827ba3f78ad3b19f4273cac51543a2f767e3be7ab12bbe77b053b1acf7b3ad1a1b63abc0e83bb4a6097bba5a71abbcc50b1ba896e24bca05e0e3d5b41413aebbe79bb4b97a3bc0921923d46c31b3bbc32acbb518268bc4355633d4c07b23b7b04b4bb3c7d41bcbe8d303daf30bc3bf02592bbe28e23bc68d7f83c454ccb3b4cbc91bb35991cbc240cab3cace99b3bde5157bb299ec6bb2bc8933ba09ea43ae22f83bac6b5c7ba19152bbc0532c33ac543ecb919d838bb4f7002bcd8020fbe71b5ce3b86bcaabbf079883b55b149be73ba1bbda77b8f3bceff5b3b140650bef16586bdd9a1abb83786e73b036730be6189a2bd693af1bbb337133c899902be4a9b9bbded2910bca9ef073c04f8a1bdf58185bd955af6bb2fbcf63bda5b0cbde8b427bdf75fe7bb4d75b93b01803a3b4d4a47bc4e35cdba5842873add3ede3cdb6edc3b54a53fba06fb523955ff383d3e2958bede1eac3fa2aa9d3c03794d3d450a68be8a819e3fddd7873de8fc2c3d8d194bbefbe1883ff832043e707e0f3d1d4227be0784573f24f22a3e43bbdd3c45eafebd3713193f98a7333eca97973c4f60a1bd7ad6b83e89c5213e09d6c93b5dcbdcbc0fbe133e74f5f13d4a7546bc6aaffb3cf9a2b0bc6b1e663dfc7ae5bb8187033d459e0cbedf27f93bd77a76bcc8e4563b000000000000000043f4c5bcd06f123b0000000000000000b64b0abd2b64c83a00000000000000002e8911bd3b2c803a000000000000000058860fbd4e07a33a0000000000000000e86d00bd48ff6f3a000000000000000034afbdbc25f0993a00000000000000009a2efbbba5a88cb900000000000000005633f4bb1efa203b00000000000000002a913abb2f09d3bb47bd933c4e27483b9ee9baba2e2a2fbc26fbe63c98c98c3c8e3556bbd49bd8bba900e43cc6aebd3c00b9edbabadad9bb6e95ce3c8acec23ca37305b9d0a366bb8881763cb907a93c8fc52b39b10bc3babc0f053c25ab813cfed1113ac9140bba15dd703a74cb1c3cfd46e6b777aa313b9d75aaba4926fc3affee053ad2e0be3a558c6bbb701d91bb85afe43a56ec06bb32d911bc7398153d51b66e3b26999bbbb23081bcd350623d142bdb3b59f3a2bbeb092ebc0b422d3d52ac103c358aa5bb07a32abc4c54133d6dd3153cbd87c7bb40affabb34fbb93c5984363c94dea2bb783a0bbc08ba5c3cd116f13b625e6bbb0430c7bbcc15da3b5af4863b43c006bbcbc905bbd5fefebbb30c763a4b8e4cba6a7b2abb4f2ae5bb56aaebbd2cd8813cb4bca1bcad8a0b3cf04f2bbea3a51cbdade970bc15d2243c186227be75bd98bd0e3398bc5939373c2f8c0fbe25f3b4bd9e609dbc01b6393c36edc4bd0bb6aabd6d7c9fbc3f32363cd1db60bd2f5298bd3506a3bce4402d3c6bc9a1bcae8549bdcbad58bc710de03bd789f43bcc52acbcffa5d1bb64cf3f3bb71fb63c34d78c3be656323aea5e8f39d513443d99e65abec7498f3f4b1d753e5255553d005872be959a893fc6478f3e772f303d0a6a46beef7a643f4a06a73e385e113dc06820be995e303fdd25aa3ea5bfc33cb711e3bdb14bef3e50539e3ef7a2823c828585bd0f2e863e591a883e714bdf3b5189e0bcb8a8c03d9b22403eb251f6bb4294bd3c9a8d34bdc73ac93df86703bc3d870d3dbf81e9bd8550a33c7ae38bbd6ac7663c00000000000000003c4e9ebdde986c3c00000000000000007f8d97bd676f3b3c0000000000000000c87494bd7c62263c00000000000000003a187abd7411f53b0000000000000000976f70bd6769033c000000000000000005372fbdddadb73b0000000000000000ff47efbc123a133c0000000000000000c4dbbdbca747ef3b0000000000000000eded24bbedb979bb983a613ce35a763b8df129bbba010ebcd110c03ccf53843c484b10bbed8adbbb0acaac3c8878d53c439048b9485da0bb15036f3c0d8bd03cfd40c6b988a457bbc1c7293c02fdbe3c8a02573ace65fdba8004953b97f6813c5f7aa4b96f9a433980b1bb3a2f240b3ca2d1713955e7173b500826bbeda6fc39882c5c398f84b53a88894cbb10423fbbd6b66d3aa93df5ba63539abb2639c83c3248063cc8afbcbb40b547bcbdb53a3ded25403cadded4bb7c001fbca4f4173d1ceb533c8ca2e1bbf35215bcdf21eb3ca8d0583c437cb8bb48000ebc8ca29b3c938c593c01d1c4bb5748c3bb6283fd3b7b331e3c713c86bbd1306fbb50521e3a2e94cd3ba51756bb6c272cbb994dd4bb0969b23aeed2adbac82f17bbc0bab6bb8178d0bd7dd1983c50a2f2bcd47f2e3cedde0dbe641355bdd155e3bc0f34783c7b8405be7f28c0bd0ae4f4bced9b773c6112cfbde672d8bd46abfcbcd62f753c1cbd8abde200d6bdf16903bd1a5a5d3c21ca05bd416aadbd773bd8bc4a263b3c2b61fdbbd79668bd114b98bc05c0df3b067b393c98f8b6bc920104bc9fb3783b28d7a73c6f63783ae3407f39c37a2f3affcb253d074e46beb29e6b3f197cf03edf2b453d392e56becbd65b3f9517043f99a6213d358c30bea8e2323f9250093f4286e53cc73704bee2f2023f2214023fee4eba3c53c4b6bdebe6a53efd6aec3ed8193a3c52bd3abde287263edbbeb93e32748b3b52ff23bc9f1d023d31327d3ef9caa0bb1024a13c1d076abd504cfa3dad1470bb000fcb3c4a5ddcbdfcd8e33c6a7bf4bd8a41d33c0000000000000000871a06be1375d03c0000000000000000ad3ff6bd3951a93c00000000000000003714d8bdeedd873c00000000000000006a56bcbd91247b3c0000000000000000e9fa97bdec3d4b3c000000000000000037b867bd1f8e433c000000000000000071542ebd9bfb403c0000000000000000d6fc0cbdfc2a373c0000000000000000c4f209bb338675bb32432e3c548ca93b87b191ba5aced7bbf4157a3cc20a9c3cff9648bac370adbbf235653cf0a9c43c63b589b93d199dbb1640463cae5fda3ca6c5adba575c043aec56e93bdb37903cc580c4b9ab5878ba215da03ab3de8e3c2bc86cbae2e3e23a28946ab9d43bfb3b52d1c1ba2252523bc61de3ba21d8173a5f84d0babeee4c3be04250bbe4548cbb7e413a3bdc6325bb8a775dbb9cd9a43c494c213cf799bcbbe96f13bcbafb033d7af3783ce461d8bb2dbbf4bbdb09c93cb56f863c6a7fd2bbe2ff0bbcbea59b3c66ee4e3c8c9ea6bb35459bbbdcab2e3cdddb773cd29484bb061085bbfb0a893b5c1f343c9cb663bb2a1f35bbfcdad8bafc4ad63bb83144bb2e920dba35b7f8bb00e91f3bebc20cbb293989b9f9aedebba060afbd4698143c17590dbd13804b3c9fddcfbd13558ebdde8a1ebdf60a923c705fb7bd9de1dcbda41724bd56db833ccc0a88bd7a9801be56aa31bdb158833cacdb45bd1fe0c7bd437b06bd80d8ff3b73bb74bc4988c4bd56eb11bd64ab353c1fd7d3ba63fe69bdb6edb5bc4d79ad3be141483c58c1c6bc25781abca21d413b3f24913c5b7d553bd286793a26246a3a35170d3d00ea22be8a82313f1a5d343fbd4f183d658b26bee57e1e3fd7db403faacbe63c8a97fdbdac18f53e67b63a3fa6ebc63c99d5bcbdd79ea73eb7032f3facde6a3c995778bdc398563e8637093f769f183c715be1bcbd1c963df395e33e61297c3bf2fcafbb682882ba32758d3e1ad262bb0815933c70647abd16ce053e9d770abbbcc6b73cdb92bebd33aaaa3caf7d29be48040a3d0000000000000000a95432bed35d113d0000000000000000f8b512be8e9bd53c000000000000000039d702be7927c13c0000000000000000fe6fa3bdeb23673c0000000000000000dd7fa7bdca2a863c00000000000000005f925ebd08915d3c000000000000000021633dbdfd8e6a3c00000000000000001f9b26bd51904e3c000000000000000045edb7b9bcae59bbb907d53b3f88de3b97cc823928fac9bb33daf53b93eab93c453940baf6136abba72ead3be7c6f33c430556ba7a7cdcba75234b3becece63c56eed73913f65eba00db903a900bca3c9c11b4ba6cb84c3a4b2b3d3a0db97e3ce7b3b1baf324403b60822abb69411e3c0c2234bacef1313bbd8701bb5201443a3eab56baebb1fd3a2976fabac60390bbd7ef793b18df4abb52b667bbb93b833c143b623c2476eebb1594c1bbcab4a73c620d9e3c67dbe8bb2ddda7bb5b00683c8af3a33c2c64d1bb454988bb7b10083caa829d3c9883c2bbbcea99bbd21e893bf35e8a3c1979a6bb853e81baa9a726bbe14d373ccb2672bbe8239abaf852a7bb10a1cd3b93f43fbbe0d20d3a177a04bc3ff6993ac386b0ba7bd0893a9d13cbbbfd877fbdf1ac45bcdbc009bd346c583cc2af71bdfb96ccbd1bca2bbd04ae9b3c311345bd103e11becb2c45bd40bd923c41d402bdad7213bedee74dbd3ccd833c0a7e88bc0bce06be0f9741bdd6ca653c51e3a9bbf622c6bd3da91fbd9712223cc5bdc73bc8ab7abdecbec9bc829ad13bb885203c9bd0b8bcd075f7bb5b561c3b368e483cfb29d63b7e28eb3ac9f18439aa59c03c7de0e6bdd713eb3eed6c6e3f8a3ecd3c14deddbd0c1bc23efcda793f86afa13c93679ebd75028a3e70d46d3f1f1a513c059b42bd3320293ed81d503fd103293c29bee8bca889983d7ee92a3f5fd0a73bd0b3eebba278593cfc38f73ed7e0043b90cdc23ba2480abd05d8963e813037bbdfa18c3ceb945bbd6402f73db0c481bb62e2933c22948dbdff76e3bab1ff4abea207283d0000000000000000e1b055bee50b393d000000000000000035202ebe220a063d00000000000000005a3006be8bd4d43c0000000000000000b110cbbdfc969b3c0000000000000000a09891bd44ee883c00000000000000003d0159bde411593c0000000000000000a25135bd3757773c000000000000000069c118bd34e44f3c000000000000000090614f3aae2f53bbba9884393f883a3cb803493a3e032abb9600eeba95e3d53c35e4a339b0fc12bb16251e3972cc053d67ed74b98e25b2ba1df9bdbaa044ff3cfb778cba71514a3ac1aa5db9285bb93ca8ce96ba7a50e13a27860ebb1bb1913c15ef96babb26363bd18222bbf284fe3bcfa21dbb9c719f3b90b7daba6645863a50c486bacb17103bbdc65fbafdaf68bb7255de3bf0eea6bb782718bbc2dfde3b5811923ca86f07bc2dba4cbb1b11ca3bf5979e3c2c43eabbbf455abb64644d3bcb8ec43cb5aaf8bb772c1ebb332baf39dde69c3c4dae9dbb4657aebaf457eabaac97903cf5c081bb6ca004b9a135adbbd4ee3a3c12a638bb4a980c3aadc8dabbdf29c73b585148bbeb850d3b5c2106bc0f4a73ba60a1dfba49192a3b67b2e3bbbfa2d8bc481d2abd43b4ebbc0dfa6d3c6e3d63bc52140abe16b32fbdc516a23cc4877cbc46bc24be5db74abd9713833cc9c20dbb631c2cbe79df65bdb4b6833c286aa9ba852809be10cf48bd1adf273ce0ac013cc231d8bd134b28bd36ca183c478d233cf98672bdf530dbbc5b97713b4459c23bc47f9ebc3b790fbc50a9b43ae0f4b23ba1a8383ce665d53b1a6eea395bb95b3cacff7abd39ba6d3ee5cd8f3f1d7d283cca6a4cbd68cd1b3ecc52953fefa4283c3629f9bc5f9dc53d4306863fa0f0d53b3c2254bc44e1ec3ce15c6a3fdfde8e3b5d7b99bbd313c0bb83d3333f375d043bf8aa8c3bd37e14bd3799003fe965153aca7b143cb48342bdd0b2923edbbad9bacea72c3ccfdb12bd2679c63d79de4ebbdfb03e3c394e0abd139d0dbd58125dbe837a3e3d0000000000000000acdd5dbe477e3d3d000000000000000043f019bea7f4f83c00000000000000002511eebdd79dbc3c0000000000000000cc518cbd6bd3723c00000000000000002f844cbd21713a3c0000000000000000e90601bd84cc393c0000000000000000cdd306bdb5fb833c000000000000000031ab06bda017453c00000000000000009638f43aeb2e2bbbdf2ba2bb09b9953c2aefb13ac1f83eba765c6bbcd118123d67b48fb9e0c68ab9d49f23bca5b5213df697a3b816b8d0b94d9cd2bb137f143d0eb696ba4ee30d3b8e659fbb1d04dc3c656305bb1fea853ba2a5aabb1d2b983c6c0603bbc3aa7b3b2a750abb0ec5123cb5800fbb54d9593b33d7f03ad11e2039b8f477ba40243d3bbbd250b9eaf982bb8cc8103cedb2b1bb125c9bba76423e3aa1bfa83ca4b427bcec8f513b92a948bc5e25cf3c4c2addbb71222e39e522f0bbdab7cf3ceaaab1bbad4e55b9d562f8bb364dba3c56bf8dbbfa5c5fb9f72c04bc947a963cf2a66abbbaf4fd392dec18bc9420383c93cc14bbd773e13afd9b11bcadb7823bf31c22bb61185a3b5cacf0bb466dd1ba12e6a5ba722ae63a0582b3bb8461273a8de1c6bd604eb1bcd7793e3c02eb123d385d33be34711dbda6e7a23cb927df3c84924ebe7a6262bd9c92813c82b3b73c0ebe3ebecdf27bbd886d5c3cac229f3c413019be631666bdca06013ce049873cc01ed7bda5b43fbd534fe33b4647123cc83e67bd47e5e2bcf2ce433b5dd5a0bb94c53ebc32779fbb97781cba6b4063ba99709d3c63e60b3cad2441ba2cbc373bd9873abc9466863c0437ac3f2fd8ffb95fb22a3be94df2bcb760a33f0265a43a100d043c4a3f65bd84c3933fabcb33397cdc723c636a93bd0173743fea3fca39734a843cf2379cbdcc5d393f150a653af739823c61ed87bd3aa0f73ee391793a8a17313c9b402dbd2a63803e0adc043b217255ba80a5043b673b4f3d456c90badf0e5a3b762c80bbe6efbdbd54c759be82d32e3d0000000000000000833638beba3c193d0000000000000000f126e9bd2909a93c0000000000000000c1c17fbd22363c3c00000000000000009149c2bc4d46c23b0000000000000000de33b8bbd91a873b00000000000000004866233838dc9e3b0000000000000000a8db1fbc78ca423c00000000000000008292c7bc1e71123c00000000000000000000000000000000000000000000000076dd913ad6100ebb01711abcb5821e3d8b61553abbaabdba1d930fbc84a71b3d08763a397e3514bafb485dbbcef9f23c6df922baf030503a4fa59ebb968dcc3c3969fa39d6aa053ad6934cbbbb81783c4724a4bacdd4493b09f557bb0461073c2c6f93baa3de863b2a232ebb201ca43a00000000000000000000000000000000000000000000000000000000000000000c86883c459994bb2562363a420ce9bb296eb03c855180bb43ba1f3a020102bc040aa83c31b335bb76c3c0babf5fb4bbd90a9c3c88b741ba6acd953a7e98f1bb82c4833cfbd1a939ff016d3a3be2edbb529d2b3c1c6388b9db1d153b632f14bc5fa0443b7d1788b9955a063bbb2dc5bb00000000000000000000000000000000000000000000000000000000000000002b7e063d2f364ebe68cf0abd3921ef3b66f10d3dd85c47befcbb50bd2218fa3b59e5cf3c201832beb19f6bbdfbfd953ba2f6b33ca9fc0dbe0a0971bdf183dd3a897b963cda23c3bd317b45bd4ba65cb96f7e313c920650bdbcf906bd4da3a93a2d3f133b2d499dbb66c422bcf78747ba000000000000000000000000000000000000000000000000000000000000803fa73b98bb3c86f63c651317be5f81ac3f132e5fbbfcb8ee3cae7807bef8d28e3fc8ddd5ba1117c83c622af8bdc545693f58c403bb7646c73c1148dfbdf9742e3f52cbe2ba53c79b3c9bddacbdc2f0e33ee68890397326413c68b337bdbf88633e6e4439b9cafa0f3bd29a15bcce970b3c0000000000000000000000000000000000000000000000000000000000000000c8fdb1bd39a8813c000000000000000090b477bc6d21863b00000000000000002d64dc3ca36cf4ba00000000000000006e06543d3a3259bb0000000000000000d0e0653d15c4b8bb0000000000000000adf8343dc773b4bb000000000000000048959c3c3028deb90000000000000000000000000000000000000000000000000000000000000000000000000000000013716b3adc5decbbbf9e023db41c673b23f996b98b02d4bb5958f83c41743d3c857736bab1fa63bbb643c93c7cc05f3c02c5dab9377375bb3466a03c6d688c3cc9218a39a78124bbaa22323c89a3a23c773892393e4a89ba43e1bd3ae024a83cf9cdb039e1f5cf39726fa6bb04235c3c0000000000000000000000000000000000000000000000000000000000000000bfebafbb67d8dd3aa4b70abcd9fc0b3c38253fbcd915693b6006edbb55e8783c18a46ebc2b39513b8ab4adbb42ee533caf197abc2361693b247b57bb014c403c5b5757bcf9e70c3b362e83bbcc2d343c611e1cbca0cf0b3b558c17bbc5f9e63be43902bbd1d47037c27d9cbacbf9a73b0000000000000000000000000000000000000000000000000000000000000000608714becb0e5dbc6ac0a1bba3994b3bfa8911be3d1420bda4201e3c35a0edba136302be360f48bdfb979d3c6583a2bb4cd8d4bd36ff73bd92a2ce3c5a3ed0bb8fd78dbd4caf84bde838b23c6adc80bb64c009bdc3fc72bdfdcd9d3c4f899bbb0aed01ba4b7e31bd53bb293c63d2dbba0000000000000000000000000000000000000000000000000000803f00000000f9c5103d3fd8febd458e9c3f05f2e9bcf16f093d5336f0bda620823ff2751e3d45f2e23c4acfe1bda7de513fcc56ac3dfd8cc43cc409ccbd61521e3f319ae23d001b993c9fb1abbdec9ed53ea613fc3d89273f3c9bbf73bd6f00693eb58cc93df937153bdcff08bdb5b7333db7bb8c3d0000000000000000000000000000000000000000000000000000000000000000be114139f864e53a000000000000000067bd93bc3a7beb3b0000000000000000a2810abd68182c3c0000000000000000c0c434bd4e4d583c0000000000000000512b4abdcadf523c0000000000000000f5da35bd6e6e763c0000000000000000c6cb14bd0ccf383c000000000000000000000000000000000000000000000000f87a813aed48f9bbf9b9c53c7272afbb97c24f3b21cb63bc99fb033d5d319f3c6c26f93928131abce6f2e83ca3c8e83c2aa5933a130101bca080b03c9da50d3d79c141b953088cbba915633c5d960f3d5b4da1386d3cefba3534033b8e13133d6819103ae8be8a3a17ffd6bb9544e53ccf4e293960b7783b982a2fbcb4de3e3cb7c38e3aae60d53a311624bc8de8983b390b6439f5e8973a34e200bc20c1273c253d13bc10e2913b8fff92bc54ad073dc3376abc814e503bf60f4fbced04df3cc9328ebce16d993b6c0c3fbc0459d23c90248bbcf952323bb57a08bc6aa6973c9e9742bc81e5eb3a824bc9bb75e96b3ca8a4abbb84dd363a0e7b9ebb3af30f3ccb442f3b6bf1ddb97e5335bacbbbd5bac344873b6590c8bae96ba6ba323739bbcd7ee7bdefc1d33c4e939abc7361203bb2aa21be8f2c0abd1fef78bbfdd372baa85021be47f685bd4450573c943d93bb37e309be7e7cacbd3c21af3cd6ae02bcee67c9bdf63dbcbdc812d63c2c9e12bc72c26fbda44cc8bd99d2cf3cbcbd04bc30d18bbc58f1a9bd579e8a3cb77d97bbe0a3953c1be63cbdea4f613be079e539370d093ded2fb3bc3d9a9eb99410f13a54a5273d00ad1bbe219a9c3f74c99c3da907703d9bf13cbea46c923f83e1fa3d8281523decaa28be9704763f0ceb413eb026343d8a1f13bed1b33f3fbbce683ea43d0e3d6fc3eebd6c2d093f0264733e7da3c63c99cfb5bd86c5ab3e0121683ec6811a3cec4d56bdab10163ee13d393e6a19efbb5e030cbcec1608bcb49cd23d0c7495bb6890663b4340eabd9e75393d98a4c8bc1fe7093c0000000000000000238a00bd5a3c153c00000000000000009ad35dbdcf9e793c0000000000000000ee8c87bdb9159c3c00000000000000003c688fbdba4a9d3c0000000000000000b18f96bda6dfa43c0000000000000000a70e86bd13bb8d3c000000000000000037413cbd8418653c00000000000000008d44ddbcb58b913b0000000000000000bdf4553a73a0d9bb6e39ae3cac8526bba4e48f3a25fa21bce22fca3cb33d8f3c5424453af06bcfbb64c6b63c984eb63c4844aab8496db4bb2dd55f3c3f7f1c3d0ca8a93936cd1abb0e30f33b47e5083dec8b423aa68ba9ba416f56bb1a0a133ddb29f13935916e37427572bb5c83c53c9184f039ce24473b03a327bcdfe9433c27de783af02a383bbaac2abcf50ec03ac16640bbb6ba433b4e181dbc8007873c0c8f36bc64d3a13b9f794dbc7fdcdc3c522f6fbc22d4563bd4863ebcfadabe3cb1969ebcf982aa3bd01e0fbceb7cad3cad0a83bc3f9c633b7872dbbbe653693c3b4f19bc3ce0a33a751cc2bbc86e453cb1aca4bb0774aa3834cb78bb065fd53b298d6e3bbdda8cba8236c9bae806aaba0604bb3b9bc304ba1366dcbaa1ad4bbb4412cfbd5b55e33c25e84bbcac5694bb47d90cbe7d0f00bd9e1eaabaf2ebadbb3a8e00bee3eb81bd5df6a53cb3443bbca417d8bdffb4d2bd822bcb3c9e7846bca93f91bd6de1d2bdba22f63ccd673fbcaf8f0fbd5b71e8bdc2d3be3c40f816bc723b2cbcef0bacbd487a8a3cfbdc87bbb179ae3c347c5abdfb1134ba6bbf903a4384093d0489acbc5b6eb5b96c5dc8ba3a24383ddabf20be304b833f66818b3e4145653df65440be4412793f331aa33ed030383ddd571abe31ee453f5776b63e03f4233dcdd807be256f1a3fbc8dc33e4227d93c1a99c7bdd67dd23ea5c5b43eb46d8a3c267a8abd8b126f3e3c0ea73e785f093c341e26bd9db4ca3d9f7f723ecadbf7bbafd500bb8fb71cbd6b2c193e732ce8bb22f4723c6d0fdfbdd8f94e3da18988bdac6fa83c00000000000000003986acbd4251c23c0000000000000000a8c9afbdf4e8c63c0000000000000000903cc5bd62e1d23c00000000000000000db6b1bd726da63c000000000000000075dfb5bd1742b53c00000000000000000c5a74bd9d17123c0000000000000000b17843bd6ba1013c0000000000000000b5faafbc7fe3993a0000000000000000d4e314b9f82b8abbfbd6873ce5a54cbb786fce39a0e1d3bb8ae3a33cf8699d3c57e84a396000a6bbd0504f3c0bd80e3dbc95183a55292ebb3f05cd3b0fe8233d1122bf39dffaa5baeb5ac4ba580e3a3d6f04d6398cd18f394cd0cfbb1571163da8010f3acc0f993af2681bbc362fd83ca48c633ad44fcb3a81f61dbc1b2e3a3c2b143d3ab840393a715a03bc48b90f3bd253aabb956d713b0378b9bbde6a4f3c91ce5ebc8c1baa3b91b352bcd303c93c85ea8abc1d4c6f3b7a2b2abc941fbc3c592e88bce99e803bb34f15bc50ad8c3c2f1e89bca8b1453bcac3ecbb974d493cbf7501bc2a123e3a35139abb4d5fe73bf39c6db9fac569ba80573cbb4e277b3bf01ea43bf6402db9b47da3baf0e09fbacf24c73bee30c1ba72ed68ba1ef5eeba0c5cc0bd7b7ff33cd9a25fbbf01a5abcce84efbd73511bbdfc77ab3b84253cbc6835d7bdf85abcbdffbc9e3c08fd5abc884b9fbdf1eef2bde6ebdd3c0d8e76bc2f0047bde98c05be8f3feb3c27006bbca62d8dbc0870f7bdc682943c5ac50abc36d7d13b687cc3bd59d3ce3b937787bbc515c53c94bd5fbde7dd3ebb38c044ba8eb4f03c9746a7bcf33eb5bbb470043b8402203d48b315be29ba563f7ffff03e87e4543dd2532dbe6f57453f35d1043f03cb2c3d0c0a0ebe632b1d3f10150b3f4003003d0247d8bd4ef1e23e0cab063f4b39c03c1d7b9cbd31c48e3e1001f93e6802293cd2b237bdaf220e3eadcdcf3ec3f81a3a2253a5bc31b0c63ce814993e12b7fdbba01fca3b4b637fbd73592e3ef36db8bb5223523c2b44d9bd0a1c623dcd78d7bddc90f03c0000000000000000a70dfdbd32e8143d000000000000000083ebf8bdf8c8063d000000000000000050ece8bde6e2ef3c0000000000000000034bd3bd5445b73c0000000000000000107fafbd9668883c00000000000000006aa783bd3c68233c000000000000000087de1ebdd825bd3a0000000000000000f50a15bc103f2bbc0000000000000000b4c202ba5c1fe2baadea5c3c0b39873a887b453ac59d93bb6ebe383c8443c63c46909e38003de2baa893b43b9e67103da3b1b33a635638bb840a283a1bdc353d1c3994b9289b5eb9c282243b2189f53c859d7d3ae71c8aba1edcecbb4dcc103d7a1785393d0d0f3aa3d10abca0cfb33c5df8073ab5bce23a675f0dbcd1ac043cced5453a230a8a3afb9d00bc65d43d3bc05700bcf65ba73bdb23babb91b7383cbae36abced92b53b85d82cbc66fca83ca79386bcbe63983bdbd5fcbb5555733c285e63bc4f3b0b3b83af07bcbb7d583c9e9e78bcc7f9853a18d564bbfa56e73bea1a6fbb6aef4bb79dfa90bb7ea3f83bfc084a3b2dee1bbbad24c2ba3735513b0811e43b414e13ba707c8abac168ce39c008b13b3bbb04ba54de5cba437cccba396fa9bd720d8a3c950d843bc98f95bceae9bcbdf1ed66bd44d81a3cd0b284bcd6b294bdbf70dabd8e80bf3c48ae82bca38555bd91570dbec461c23c9a7a85bc696809bd0fb0e5bdeca6de3cb9e12fbc1619bfbb26befebd2691073c2448fcbb4144223c135cb5bd8fd324bb0a1ba4391b22b53ce50a41bdb1bc55bca76d573b9cfdcb3ce6d983bc9dcd2abcc85f333b9a4e063d9e3bfcbdbfa9243fd7662b3f1dd7273db8a707be6e7c103f3465373f19c5f13ce89acbbd1393d93eae22323f9885bc3ce90d97bd82e4913e15232a3f55125a3ce00e51bde7713b3ec7fd053f3708b93baa0acfbcdb0b663de83bee3e0a711cbae8ae05bcef8e65bc7732a13e9a7320bc5499403ca12997bd1b59303e5046bebbfa85803c3e85cbbd3e57393de65808be98b1103d0000000000000000f50c1cbe6c42343d00000000000000009acf04be3118fc3c0000000000000000ae9ff5bdea63e83c0000000000000000ad9d88bd2150bf3b000000000000000062028fbd0881103c0000000000000000b8f618bd8d7ba8bb000000000000000030e8a5bc17d039bc0000000000000000580421b9936280bc0000000000000000c4b77fb8d3b46bba0a97023cbe1da63bcda13d3a5b0707bb6be0603b56b9023dd99f073a92b399ba262049bb5e912e3d59e5013a0f971c399098d4bba1fe383d9d67a4392637793ad0ed0bbce309313d31c7e03977ac8d3922e407bc0d91023d989916b9f59fb93a5cab1bbcac04963c3f72f939523a8c3a7085c1bb920f833b3b38003a2f64063a2ba6c4bb53b737bbad91debb6e5a923b4f30adbb6691363cae6d4ebc7173923bd4e60ebcfdb7803c2b4d28bc4e85153bee7fcbbbdef23f3c4fe1d2bb3f0f303ae3e291bb199ffb3b68a2b6bbda2b1739e431b6bb3259e63bd8f0053b8d9d16bb28e2d1ba308e283b5900053cf401f3ba904c70ba6f390d3b1885333cc4e453bbc26b92b737b1a6badf3b173cab8dbbba551499390df930ba143f8bbd259482bbdea8023c2afca3bcc2b886bd4586acbd44010e3c41e272bcdb5839bd70210bbeed1d353c61ad77bcae88e3bc7e191abecbc6173c7d983dbc8f063fbcb0f613bee1890c3bac6102bc9250aa3af109f0bd00d925bc0700bdbae2eb8b3cc12aabbd803c98bc9498843bd7aea33ccdb616bd5b78abbc6ebecd3b8534a63c52f1c6bbac0764bc40987b3b0993d53c5cf2bebd786ee53e885d5c3fe7bbdf3c67f1babd1082b93ecb6f683f9a05913c0c997bbdf8067f3ee97b5d3f7feb173cbe4615bd0198153edaa0443fd226003cc1f7b7bc2578763d1ad9243fa07ae9ba0c0b21bb67f1b5bb8a12fa3edaf9c2bbce6bd03bd3bf5fbd3b30a63efdca1bbc0e61753c224d9fbddce9203e6c72e5bb53cd8b3cea68aebd6ccaa33c66d31cbed642243d0000000000000000169b2fbe14a1413d0000000000000000201d0fbeb1df173d000000000000000024ced8bd089ec23c000000000000000009fe8cbd7d5f063c0000000000000000daa21bbda8587dbb00000000000000003a408abc4e5a54bc00000000000000003300cbba324f96bc0000000000000000fef12d3ce7509fbc0000000000000000127d7f3953a508bacb0ce4b9f072663cac55193a0fa382b9564fd8bbdab6113d9ce9573a15a139b97b0d75bb9167203d74e1623ad969863895811dbc6fa8343d8a15353a8206a5b96063d9bb8428083d6a5340366269833aa69d23bc7960da3c3663af39e7ce363a8061eebb2e12833c659080b9c38f3139e53d2abbf0d2dcb9ea57f5b79976b53abd522bbbb182d1bbed0bd1bbdb00a13b2a2b4fbb1520183c601d7abbfa99e63abf3d85bb19871e3c687c11bc0ecab43aa7b29fbbdd74d33b1d0cdc38e1089fba9d7484bbb8a6c23b16d2d93acbe237bb578109bb6c56863b04e70e3c908f4dbb0491ddba77a5663b3084163ce5637abbeea465ba3301143bc5412c3c292f8bba1d5eb93a16a31ebaaa70e33bd8c740ba4124b83a4e1c04bbee2e32bdbb6103bd6a4ac73b96a28abcd29c05bd50d9e9bd7ae798bb89542cbc5532dcbc9f190cbec2ec963bc6a41cbcb036dfbb0ae424be6dc239bcc9898ebbcf3585b868f007be4ddd82bc76c29f3aca63493ca63fe3bd52edfbbc94c1d63bd165573cc43d8fbd79dfe3bc9ca1ee3b1fa5633ceab8b1bcc912f0bc9064063c7275603cdf0afa3bce996fbcb602b63bdd78513c78a459bd77bb7f3e90a0853f01962e3c3b112cbd60722a3e462b8a3fb8520d3c363fcbbcbbb5da3d3214703f6a89953ac802e9bb0ccfd03c618e593f5939ecba4f2c2dba509b2ebc6f6b283faa4ba6bbbdc51f3c908f63bd4936fd3e0c47aebbf8c70a3c378f83bd711e9b3e4ce919bceff38e3cfb648fbd7c2b023e43fa18bcb5f4833c85467cbd4f315bbcbd2525be4b6c293d0000000000000000c4b52cbeaf87443d00000000000000006355cbbdfa0ca13c0000000000000000f67994bd3e7c4c3c00000000000000002030b9bc794bf3bb0000000000000000f138a63a035493bc0000000000000000b6b6b63c6713cbbc00000000000000006f1e4b3c617aacbc000000000000000093c0253c93d9b1bc0000000000000000eafa0c3afe7d4739d37571bb43339a3c1199413a37fafe3ac7f278bc7c33243d750a923ae2d52b39b33766bc7eb6333de2f8a03a4b27813769084ebc0fa9283dbcd8d1395b8c043a653623bc40ee043d9601683a881a61badb4f10bc2cc4ae3cc6a545b9e532963acd7ac7bb9a08013c5fab82b9eac5a6399c49b8382ec2c4bb5c2b2bb9aca8f33915649e39ce9e2ebcc26b8cbb6fd66c3b5385f8ba4ba4a03b36cbe73ba6048636a9b8e7b924a8b03a5fd3113cd3cc55baae57ffb97e3171b84fdb3b3cb7f983bb36b460ba77ec48b9ce694a3c375e66bbd40890ba6e934738a5a9843c01fc65bbb8de573ad5476bb8c79a8a3c542e56bb13ef2f3ab703b6b97b5c3e3ce35c21bad8f1ba3ae44e8239ce76093c4c4687b9d5fae73a1830acba84dac4bcf5d896bd77fc983b7c635fbc2f7bc73a532715beb9becdbc39853abbb280e23b111d31be98a407bda01f41ba7b484c3c8f7528be9d9d1abd9fef603b3bb9693ce7000cbe60ec39bd7f36083c8eae933c0444cebdbc4c57bd2df82b3cce92843c2f1963bd41174dbd5595503cabced73b266acebb31b208bde79d0e3c2ac7d63b9ae6aa3cb94597bcd680993ba665523b167e55bc3efc7d3d71ba9d3f2446ddbb0ca9fd3bf92b31bb2ae9993f7b06c9bbd777903c24d727bda095883f6f4100bcb2c9ac3cab3188bddc44603f1967d6bbc43fa83c02b7a2bdc07d2c3f89011bbc49b7b83c6d69b0bd330df23e8f950cbc3f84a23c012f9dbd3b248a3ea028f9bb6565523c240f40bd526aa43dd142d8bb7018433cb7381dbd2cd582bd92b417beb808133d00000000000000008f6304be80bb193d0000000000000000119a7ebd9314723c0000000000000000711cdbbbba51b4bb0000000000000000ef560e3dcf58bbbc000000000000000044aa5e3d8716f5bc00000000000000005654533d75d6ffbc000000000000000054d0ec3ca8febfbc00000000000000000aa5a03c23a2a3bc0000000000000000000000000000000000000000000000006bc1b33a0c9b18b9831e27bca0ed183d04d6ac3aa83688ba46f4f5bb44db1a3db965763a4387d2ba7ebd01bcafd90d3d5cdb3d3abd8b22ba2471febb5539e93c452a123a333cf7b8bc20b3bbc6d9903cbc8083b9891e0739b1e3a7bbdfabcd3b6a5b1eba7340623822590ebb596b66bb00000000000000000000000000000000000000000000000000000000000000008a27a8b96e0ec8b95a43a5ba16c8d7b82245b83b40889cbbbb1f60baa19f31bb53cabc3b25b5c3bb77231cbad375b4b94699233c64b0fbbb1c5522b9ba048c37b85c633c42cdcabbf65ac1b9e69197bab9f0863cf41d82bbb7ed313b0e8396baf731613ca260f4baade3603be6a8bdba00000000000000000000000000000000000000000000000000000000000000007d8ed33b3f7d1abe5c959bbc3d3b853a23437e3ccfa91dbee74913bd366f223c9acf823c670a10beec0f34bd7354743cb3b78d3c361cf2bd24df56bdeb5b903c30cd873cf64da9bd4be673bd2799853c5c077b3cc6c535bd209461bd923b6a3c0056213cafe887bb33a52ebdbc7a1d3c000000000000000000000000000000000000000000000000000000000000803f95f0f0bb7e16f33c9ca7ebbd03b49d3f196718bc0d34023d955ff2bd1063843f898fccbbc179dd3cf441f1bdda4a573fd44ff6bb3f04cb3ce097e3bde74e243fd42ee1bbc6dcba3c874cc8bd4ef0e13e882710bc081b923c496195bdcfe5793eda1fddbbc9073a3c14883abd6811583d00000000000000000000000000000000000000000000000000000000000000006eba37bdb57b193c0000000000000000f64b823c79ffd6bb00000000000000000eb5703dd370aabc0000000000000000fa91b33dc909f6bc0000000000000000ca11c63dc9ab03bd00000000000000004b0fa93d080bf8bc0000000000000000478b753d39b4c8bc000000000000000000000000000000000000000000000000000000000000000000000000000000009bdbedbb4dc2beba143a333d5259a13cc87781bb8f1ba53a9e56223d85fdc23c6f787cba59b4113b2128fb3cb4b4c33c1b352dba928dcb3af86bc33cf208b63cc7f135ba3752083b2369913c0570853ca67b2c3a7ec2ec3a1c9d193c98430a3c7d37a1ba735e173b47315c3a724c493a00000000000000000000000000000000000000000000000000000000000000004c90a9bb098f00bce3a38cbb73e4283d0d4457baea39babb80f20ebc6071c83c88314d3ab33dbabb9a91ecbbe6ab2e3c502815ba4caf57bb71912abc54cf063c7751e0baf5edc639e4f930bc308714bbaa10db390c503bba9db621bc9457efbb142ab9badfc5313ba8f9f0bbc8a7f0bb0000000000000000000000000000000000000000000000000000000000000000d83277becee877bc52fe8d3cf608c43a646665bedb6b09bde076ce3bbce86d3b49404fbed9763ebdf6ae933ade94af3b27de28bebbff33bd667ec0bbaa8cc53b8c4cd9bd00061abd5670ecbbc447d53b04de5bbd6064b2bc969731bc6cf1933b20ee66bb51b864bb4af5e5bbac59ea390000000000000000000000000000000000000000000000000000803f00000000d57d033df2291fbe3589af3fc659ecbdbe3aed3c2a36debde7638f3f292001bd0a02cc3c8118c4bdfdf76f3f147406bb0f40ba3c5f4f92bdb5e2313f911fc33c63af9b3c75d517bd6275dd3e1fd3253d4c80113c59c4c2bb531f553e42f9293d7a361c3b10eba33c22d610bc7137a23c0000000000000000000000000000000000000000000000000000000000000000207b833c394c21bc00000000000000006386db3a5e87ccbb0000000000000000171f72bba385a9bb0000000000000000b72f87bb2c208fbb00000000000000008560e0bb696342bb00000000000000008f9e9dbb6a4e05bb000000000000000063b73a3b209a5aba000000000000000000000000000000000000000000000000003fe8bbebca87bb9bc1c83c54b89b3b4b3c35bc57402abbd9ea1b3dc595523c4e2d01bc6b32cab7d56b293d54ffc23cf3c1dcbb4c24673bbedf143d415ac63ccd972abb3b47cc3aae42d13c3d8d9c3cfa3a3abb4df0123b06a69b3c17484b3c18fb3bbbc0a95c3b61e71e3ca118cf3b7536b3baa047873a9162973a47efd33a414259bbd6ebe2384c4a9dbb2d25dcbb1657e4bb5e71c2babf0420baf5e7283da814a5bb9d5ba5bbe50f92bb51ae363db9484dbbcab6a6bbe56197bb8014073df0bd0f3b7a33aebb742909bcfc7cac3c4dc1ec3aa9caaeba03092fbc8f2f313cb368b73a23220c3bf31905bc151efcba2a67c93a2075083b55da0dbc52b8cdbb4b99d03988df863a14f192bb81a0fbbb354890bab9dd3e3b029054bb54d903bb36e217be97e88e3c18dfd03b7f38073b598848be2664f2bba1a9dc3adbc8083c51c169be11382ebd5e4c0abb36f1293cea2350beda7d5abd1fa34abc00fc483c541e1abe9bfb63bd54b984bce9f90c3c5104cbbd10c743bde27c9bbc8c85213c7d8d32bd668cfdbcae279fbcd87d153c297390bbf9aa71bc0af93cbcef129d3b2422f53cc45f1f3ce5a78abb65aaa83ada684d3db57e72be3b62af3f9ee7a6bc0faf433d55f646bee9cd983f4e725f3d7947303d765135be6c398c3f2e8da83d6b11203ddeee0cbeef515f3fff3be33da8cb003d4e85bfbdc8b11f3f989e003eba08b73cca503bbd6b38c23e6adffe3d7be2533cbb86cbbb3b9a1e3e65a8ce3d80198bb91c14ad3c4f9ed23b8629833d6d3a69bb6083113da03e11be7e52103c1399acbbed59c0bb00000000000000006aa7b7bcbe85b8bb0000000000000000b168eebc2bcd36bb0000000000000000d3bdecbc2e2cb8ba0000000000000000ac1ce2bccc943aba0000000000000000d68cf6bc46a7853a0000000000000000dd21ccbc66f9643a0000000000000000c1b9a0bc7f8c3c3b00000000000000001d36eebb6340853900000000000000009db4c7bbc8c8a1bb10e3a83c0bd51f3be2fc1fbcf9ea08bb2aa0083dcb955a3c67310abc1e1ffa3a34cd143d61e8ab3cc74803bcbd2c613bc524063d5362a63c695ea0bb68594a3b82bdbe3c16eb803cd7c2cbbb9f76753b7d038d3c58960b3cdfc6b5bb7e8be33ae5c0273c47e3943b555893bb282c4f3bf188ec376bf19eba4d0b76bb66a21ebb73bccaba44ecddbb2a8fcfbbef429eba6cefd8b926a0f03c469b57ba0f8f39bbebbc1eb88834093d73fc1a3b0e607ebb0b626fbbffdde53cb3d9a33b3db711bb3403a0bb62395e3cc212bc3b65e8403a2021e2bb5840b73b1ae9a33b990d0a3b1a29ddbb96f858bbc3991a3bec047f3b774091bb2af9f3bb07d4d03abe466c3b0da79cbb8bb0b7bb1e0fbd39a3c5063b38209e3981a4b1ba757ed6bdea7fb53cbc6428bcbf16333c2dad34befee6e2bc493d20bcefd8333c51ff45bed7ae81bdbd6483bc09f2603cfcdf24be97c09fbdb5dacebcfb40813c1185f2bdc01698bd60f405bdf3e8703c23258cbdd8a483bd3fa7fcbc62c6433c1b24d1bc0c502fbde96cd7bcd958213c995b6b3bec009bbc1e4985bc5322e83b2e7dba3c8a1c2a3bc1136fbb1a47853973613f3d18845ebe4098903f50334f3e66a7563d369b68be9b058d3fe391723ec8893f3d0caa43bea9a9743fae03883eb22b203d95720ebe54543d3fbfd68d3e19c8f93c4899b8bd4bae023fe0e5863e4746c53cab812cbd68eb913e2f066e3e75695b3c985a8bbb0f0fd63d26c4273e422eb13b820a8e3c1f43babca8f7b43d1c8c87387a71ce3cb3d1c8bd3c277d3c65b376bd3f78863b0000000000000000587e89bd4a049c3b000000000000000078e78dbde860d73b0000000000000000873988bd0994463b000000000000000065066abd2540a83b00000000000000009e665cbd094b8c3b000000000000000039bd24bdc1d6613b0000000000000000978bf6bc089b373b0000000000000000f9ac98bc16d6813b000000000000000003e0a5bb5dca9cbbaa649c3ccf1a2abad38d11bc169184bb344afd3c029e6b3ca4fb26bc6d72093b3db2043d2585ae3ce0962cbcde70b23bf3e0e53c70688c3cbacdebbb90c8123b8653b53c91036f3c463b0abc75be913b95f3903c1ed0103cd3b7f3bb3d5d563bdcb9193cf9c6803ba2cfb5bbc150b53961b5813b44556cbb64bcb0bb379512bace295dbba6f097bb3c89ffba69fb48ba791efa3aadbd903c30130b3b411a78bbd76f243b6f23c63c577cdc3b50b503bb50b7c3ba17fd823c3e15233c846db7b95dcbebba4d9dba3b9ed4013c3fc7623b54e761bb982db43aba35ba3be16d963b8bc562bb05711ebcd67cae3b6fd9a33b39123dbb0bb2fabbe8d01d3ba712513b00232ab9396793bb4a9aa93a5a92f23949c0043b9afc04b8335fb7bde86f423c5c3d96bc4c4c4e3c76760cbe9a1c5bbd1cbdb7bccf5b893c077811befb3bc2bd1bfcf4bccbb79a3c04caedbdb5fbd4bdb62023bd0e32a03cceb9a0bd42c9d6bd037737bd99da903c582a2fbd8027aabdaac327bd4b24603ca8a786bc87745abdd26905bdf86b1a3cbf3ecf3be39cc1bcf9b38bbc97978a3b2fcb9a3c56471b3a251d03bbdb459f3aa67a2c3d58a84ebedbb6733fc495dc3e540f3b3db85d4cbe90c8623f54d4f43e9ad7243d944c22be5fab3e3fed81fc3ed5cd093dfb68e4bd625c0e3f6884f03e620acf3c574787bd5a5aba3e2adad73e4460b13c18b1dbbc570a493ef837a93e728e553cf7ca19bb2243853d82385d3e9df0d43bf845503c328bc0bcde8ecb3d53012d3b64da943cbc21b0bd22961b3c16ffe5bd782b653c0000000000000000287001be16cf963c000000000000000099d1f8bdaddb7a3c0000000000000000e77fd7bd6ec93d3c00000000000000007595bebd5776333c00000000000000004d2d95bd35a7133c000000000000000049b557bdd38f113c000000000000000076b611bd31f4f73b0000000000000000103cf2bc90d8ec3b0000000000000000232d9dbb1e82b7bbe859933ca0de423b46500ebcf3da74bb9026d23ca69c593c1beb0ebc689a153ad579d73c2ca19b3ca44c22bc9554073beee7db3c3f168f3c58a300bcf6594b3b66789e3c7da5513cb99f00bccd28523b21d1863cbbdade3b8e2befbb24ab233b2af01e3c1fee263ba3acecbb3b62253b600f633b879322bbd63e92bb2e5116bb3bb2f4ba4bcd00bc4af9a9bae3926839c13a613b7431363c2b60f33b36602bbbb5ad233beb7b533c79856c3c900d8039396daaba056d1e3c03e27e3c1305133ad72785ba8b8a7b39b6da303cb661853ba8cc4cbb45632ebbccdb293c4e4cbd3baa8c87bac2d126bc1b02b43bf374c63bacb13fbaf4460ebc3df0ab3b47d7203bb9e48f3a11a39fbbc55b403b9e48ef3acb8b5c3be65bfbb977f686bd404b0cbcd18bcdbc8f94903ccec4babdf5f2a8bdee79e8bc2540983c4bf5c0bd2fc600be459b37bdc493a63c23d697bd6c340cbefe5060bdba7db43cd4cc4cbd0053e6bd6bb15ebd1446793c6ff8e2bc73b5c9bd383d43bdb6d3773c0ac725bce81b6bbd303504bd37d1fe3b9794463ba4bbdfbc2d5374bc7b512a3bb959833c76c9a43a4452953ad35790bae736ef3cdc9122be774f353f02fa303f98da0d3d06951bbef580233fb78a3a3f1747fe3c3debebbd12c1043f3a70383fb0f3cf3c2a8297bdd08cbc3e67df283f6ec7b13caede2cbd383a6c3e24a5093f59399b3c6fab75bc53f3f23d2474d33ea2694b3c2686b439bb641d3da5b2763e1ddcd03b0b121a3c7d0890bcff35ca3dc3f0463bf3a0683c643b83bdaa9dd4bba86831be5b27e73c0000000000000000d04136be1eccf73c000000000000000075b822beee5ab53c00000000000000007b400cbec1d2a13c000000000000000072a0c4bddaf24a3c0000000000000000ffa5afbda237693c0000000000000000eb6a5fbd1e3c213c00000000000000000eac18bd0eaa233c0000000000000000bacd05bd30d1293c0000000000000000f72c7bbbdfc8c7bb2eea523cb0199b3b86ebbebb12be05bba06ea63ce2467d3ca7bd21bc25cdf33aacf0c73c6ea6af3c5cd44ebcd478bd3bfbc8c83c6901973c759108bc3de9b23b0933953cc5af683ca0ab22bc7c8ec13b5a32823c7d00153c5814d5bb932c603bd740533c8242c33a0703d6bb69f2143b06b0753bc45c61bbf9e738bb4229b5bac66debb953d609bc60fa673bada339bb9c8293bade149a3b09ff683c77e7a9bb230bf2ba07fb713bac929a3c0d1c2bbb70b6e1b8f1e3dbbaf427923cbdf5a83a28a9ebbaa715f5bb1d32873c065ba23b910a60bbdce72ebcb3843f3cfe86b03baae97d388dae30bc8597173c1f2a563ba0d108bbd66e16bc4f0db23bfa5b1e3ba5661c3ba9bfaebb962a5b3b346138371d300f3b6b3691baec4607bd550c05bd48e8c4bca468853c29cd4ebd491bf8bd9b27ecbcd052a83c212e4fbdba4726bee69c4abdce8fb53c48c01cbd2bde26be7a8d6dbd59d4ad3cace7c9bcde4617be91b665bd4342803ca135a0bcf5eaddbdec1136bdad93273c94ea0ebcd34e89bd0e7cf6bc27d0aa3b411bea3956c3e4bc42bb1abc12d5f3b941f0263c2f05213aa6a0c93bdc5567bbdf0aa53c0e20ccbdaf92e63ebe876f3fa059c03ce68bc0bd54ccca3eacb2753feadba13c34cd80bde686983ed51f6c3f464bb13c613e1dbdfb284f3e14ac4e3f74fd8c3cdb8487bc9225f33dfbf9273f1148633c79aecfbbf8a28b3d4c67e83e7449363cfd2f803a9b0df13cfc5e823ee7e7d63be4b5af3b842f75bbfe8faf3d4b781e3bd145083c2f9f0abdfe8ceabc212a5bbef0be1b3d0000000000000000728b5ebeedee213d00000000000000006d3c3ebeb60b033d00000000000000005a6117be3e27b23c000000000000000037eeebbde90fae3c00000000000000001c2ca3bd3917853c00000000000000009cbf51bd0f71463c00000000000000002f3400bde14f233c00000000000000006247fcbcc02d263c000000000000000022651dbb080ec8bb09b7073c8094ce3bd2f799bbaaa51cbbd38e693c82b1ac3c5dd916bcec74e93a096e9f3c54ddd83c910032bc60c0be3befe58f3ce004db3cf4a121bc5469c13be914973c32e7943c47140fbc694ca83b06527e3cd7604c3c61e912bc81ec963b2904393c21a45b3bde58c1bbeda98e3908cbd43ba6ab82bba83a67bb04c8efba12f71e391df20ebcae0f183ce764f5bb199f6d3a87a2a6b954b99c3c22ec0fbcf6d163b91948a7bb9c43c43c055c7abb6816e6bab1d3a0bb0ae7c03c934d9b396de59938fb1732bc24cc993c2ce7563b1af504bb560417bc11d1533c73e64c3bfee311bac48632bc798d333ca2dd3a3b416e2b3b595109bcd0adcd3b7598ce3a2fc4453bdc2636bb381f643bc6c93cba2d638d3bc6c8ffb9a53febbb6b086fbd898830bcdedb4e3c30d246bc0f1020be7f1de3bc4200923ca98574bc206c48be5a9948bd8e74a43c491d4dbc724747bef25468bdb351743c5bda47bc2e3227be925f5bbd3440173c7da71fbcdcd8fcbd01152abd9e41ce3b8d4127bc12208cbdeff1cebc98ea933990678abb2053d1bc0e21ebbb32c99cbbb73ca03b781c5e3ba4532d3cb7eea8bbd2b3063cdfbb47bd5d89633ea0fc8e3ffad4223cf3230ebd170e2b3e9379933f9c472f3ce6c896bc05b2df3dc065893fbb09433c9242d4bb6141853d0f186b3f67ca2e3c12b7d9babf7d213d730f353f7fbb253c31cb0c3bf15cd83c60baf53e010dd23b1b8e1a3b27128c3c53b5803eb72da73b138cb8385c5b3b3c6b88833d7cfcd93a41ef0f3ad6343dbb1d6251bd064f69becbb6413d0000000000000000917666be78863e3d000000000000000039743abe8ff1063d0000000000000000572e0ebe3f4edf3c0000000000000000a63bc7bd3a9bbd3c0000000000000000bc0b84bd93f6a33c0000000000000000c80117bdb1a7763c000000000000000051379cbc9d26363c000000000000000038eda3bc28de053c00000000000000008e928eba0ed49ebbecd8083b1ddf933c57d493bb8d6b43ba86f4b03ba9b1013d96d21fbc5830e13ac1b66e3c862c213d395b22bcd946a83b0b828e3c39630e3d298521bcf2e8cc3bc6ce6f3cc9b4d23ce5210ebc3fb0943bd73d823cdd26753c657ecbbba2c63b3b4de2373ce543e73bf2ce63bb63453b3b4e17e03bf0a9f1ba2d8b19bbd2aff6badbbc14b9686c15bccd91723cc76f61bc7f8c8fbae309f4baa415a73c74ec6abc334e193a558207bce191ce3c2ad5f7bbb0e795baf1e1e8bbc215c23cc80888bb81490fbb84f011bc507e953c6ff4353b6aba5cba3ff524bcb947813c2609e33a59c6e1b92f0a12bc1d1bec3b37c9523bb72590b94610d2bbf984b53b5bf2e83ac42eb33adb6797bb7257e63ad5efaeb9334d0a3bff6596ba6d7f893cc02601be9a02023b2428483c7f2b7c3c81b93bbe98f01fbcdd9d433c0822cf3b11516dbe241126bd0c66803c6614793ac53b61be514d43bdb20a403cd78597ba519a36beb7e246bd1a80953b50820fbc75cb00beede829bd9979063b92e724bceae28bbd5697c7bc2505ceba17aa2bbccbaac5bc4884e8bb4a38f3bb0ecff3ba9590963cdc2d713ce5d711bc07be0bbb7ec93a3bcece85bb31f2ae3f8da6813a0a54083b1e9f393c1e839b3f60cac33b0390143ce3bea1bcb0ad933f56e7e43b2286203c24e4c9bc6413763fb60efb3bd12a313c25c9b8bcc4e6393f4f52083cd6e7063c113fc8bb639cf33ed5fb013cc2a4173b4a492f3c4d166f3ec65add3b798846bbbf83c83cbb10553d185c063bc52991bac9fba73c82b4ebbd772877be1fca4c3d00000000000000007fa331be4ff71e3d00000000000000002d440ebe95afd23c0000000000000000d109c6bde42db43c000000000000000050e85cbdca96913c00000000000000003512d1bca10f513c000000000000000072199fbb499c0c3c00000000000000000d33043ce2aa643b0000000000000000ba3dbbbb7e5c0b3c0000000000000000000000000000000000000000000000004e4d11bb39c6debaf0013d3a4b1a3e3d7286e0bb2950243be1350c3c7efa203d0ed7bfbb175aba3b93c7343c1fa3043d585c00bc8775eb3b092f533c7c2bcb3c1ee9b1bb41c4b73b35331e3c10ab7d3ccb53b7bb70756a3b57b6213ca4fab63b3f376abb52149ab95e9dd33b6faf22bb00000000000000000000000000000000000000000000000000000000000000009d0dbc3c21e365bc706d6ebb626f45bb7267b23c923267bbb6cf09bb169ddfbbf3d69f3c475a27ba30677abb2228ccbb96da8d3cd3a9073a9520d1ba939417bca7b9273cfc41a33b5eedd3ba00ac1cbcb3a8cb3b50af9d3bd88c5c393aefc4bb9e09393bb4d2893a8b7bed3a8a4c87bb0000000000000000000000000000000000000000000000000000000000000000c3110b3d5a477abe10a204bc5ceee33b2fcfac3c9fd767be9a1105bd0ae6313b56c4233c803656bedf1747bd0d7dec38e920883b65312bbe8de944bd207dfcbaf89b9cba3e29e2bde00b25bd24809fbb80a4e7bbfc6e6dbd918de0bc2b99e2bb6f2f06bc1a46e2bbe9f4b3bbfb70f8bb000000000000000000000000000000000000000000000000000000000000803fc9ef8fbbfa90033d357917beb265af3fd91ef73a2443c43c1f00d8bd7bc28f3fae46393b4b34b83c9bdebbbd4306713f01c9883ba3de9b3cc4f388bd3d57313f7266693b7d345e3cfe9009bd8a34df3e9e148a3bd3c08b3b2c00c3ba427f533e27ff283b46f6c2397c7dbd3cf1d71abc000000000000000000000000000000000000000000000000000000000000000069e1f1bd67d6bb3c0000000000000000b57129bd35fc513c0000000000000000c04029bce6f0083c00000000000000005df18c3cef16013c00000000000000000722073db73ecd3b00000000000000001a38193d4b64103b00000000000000009663d93cf272383b000000000000000000000000000000000000000000000000000000000000000000000000000000002c6f48bb686a54bc7130253de70aec3c1a3e3b3a3dee33bcc390013dfe3c153d25c7313bbdaffabb3ce4cd3cfc860d3dec57953bae9101bc648b7c3c2334f83c49e62b3b6e5a41bb8d5c133c9ad5973c4bd85d3b2bece0b96ff8123b10d7103cfc7a343966f5f43ac4fd60bb57cf9aba0000000000000000000000000000000000000000000000000000000000000000436c64bb08ff42bbbd4d95bc13be883d35f9a43ae76396bbcd8bb5bcc04b713df1b2bb3ba595cebb8551a5bc8595373d47a0f43ba9b761bb096596bc34a0193df3903c3ca25a5cbb4d5f65bc72c2883ca72b093c2c1ad1ba2ea817bcc1c0fc3aa3291d3b2eedf33a41e655bb9e1fc7bb0000000000000000000000000000000000000000000000000000000000000000e12468be333d58bdb098bb3c600a71bb78fd4abe53389dbdf03b5d3c719b0f3b95d82ebe51b7b8bd3b1bee3b1628153cb10800be7b94aebd2dba6cbb03570a3c9ddc95bd9a4881bdc6415abc28d54e3cd45df8bc9c7708bd7ac667bc04b2213ccecfaa3b8103c439a5ec2dbc73ef9c3b0000000000000000000000000000000000000000000000000000803f00000000c7a7223dd2e742bee06fb23fe7a7c9bdb8252c3d5a0c2fbe4f8c913f2a4f5d3c0382293da40d2bbecfa06f3f484d903df7d20f3d6cb20bbedb402d3f8697da3dded3d33cbd94b1bd0abdd23ed92be13da9251f3c29f3fdbce1843e3e688ca93da652b9bb354da43c92f7a0bcb911ad3c000000000000000000000000000000000000000000000000000000000000000034e37e3c5a33c0bb0000000000000000b6584bbc20e31bbb00000000000000007800e5bc3cfa77bb00000000000000000be8f5bcb383faba00000000000000003af1e1bc2dd083bb000000000000000027018cbc2c8596bb00000000000000003033ba3af0b57bbb0000000000000000000000000000000000000000000000005e4f69bba2e43cbca8caf03cfa1a253c08c346b9734086bcf9c4093dcb46d63cf7ec163ad94141bc8aae053d497e183d2ad3033b5d9610bcfdd4db3cb776093d1dc06c3b15d0bbbb52115b3cb62cea3c80c42e3b7a7c7ab9881bc03b7197873c02d71b3bcd9fd53a1995b93a3341b73b52f0c73ac1a15b3b4a4857bb8f42f639340fc1b9b40b283bbb5487bb6ec208bc70937bbb435ffbba31a9a0bcc6a0803d5e67f5ba45e791bb562bd5bcc610973d719c6b3b39d093bb3114c8bc8f8b7f3d035f523c35b9e8bbd7a8bcbc41743d3da958753cbff5a1bbd49695bc1921e03c5bb1753cc9a75abb11075dbc86abce3b689d253cbb3e73389066d5bb9e2a06bc6bada23bfb36933a856c4cba6e3866bc047cbfb96c5bbf3ae7e8bb3abc2e7abc92ef28be5003e73b8feea03b471feb38a9fe3dbe1c5115bd639b713bfee7943b096849be1d79aabdcbfe0b3adac6163cc1b91ebe5e94c8bdaf8b53bcd1807e3c8ea0cdbdaeb2bebdef06acbce87e893cb7e553bd3cfb88bdacc2d3bc8e93713c84a65cbc42e30abdfad6d5bcb904463ca4e2e63b499017bc0a3974bce48fbc3b4242f73c6598a23c3453e1ba6a353e3961e15b3d479178be39fab13f38a2dbbc31f5593d6c8e62be9de4983f291fb23d05ef5e3da4085ebe2f94883fe2281f3ea8a5373d1d9931bedede503fbf6e5d3e703f0f3de5c4fcbd0b540d3f122a753e42b5a53c285565bd0be49a3ecbf05c3e1b76e33ae0c1703abc58c33def6b1e3edeae39bcd958fd3c0dc49fbcb97a963d1048bebc09a1883da9c41cbe75ba2bbc1265733afffa84bb0000000000000000241df9bc6b0c303b0000000000000000119a4abd1c9e793b0000000000000000c5f678bda4f9413b0000000000000000f5f17bbdf5f4363a00000000000000003b584fbd7f06083a0000000000000000a5bc11bdcc08eab90000000000000000493580bca70bedb90000000000000000130de1ba1eae4b3a00000000000000005e01a3395a7551bcf1fcb73c57b2e23b7d8e073bb50f66bce666f73c2512c53c90f6263b4bb642bcd8a8d13ccd440a3d2fce723b01950cbc8d14873cc5a5f63c5a37823ba62e84bb0abcfb3b08bbb43cf4420a3b38e92d395044703b8f6e203c89749d3afe56ae3a50c30dbb3d969d3b519dda3a232f2a3b052d71bb7d3783ba4f3b3b3a5994953a733d8cbb2edda2bb8a12c3bad56191bae93da6bcaaf36c3d642dd13bb13eb6bb180bcdbc0cd9803d74f0673c3c8e0cbc23d1bdbcece95c3d8aa39e3ca203cebb098e93bc5721f93c8287a93cd446c2bbda4272bc0a1e543c6f23b03c27ff03bb246902bcd678e3bbe60a433c1ae6d33adb6c0bbb948e5dbcf24ae63b0eebb23976e824ba88988bbc604301ba2a9ed33a82000d3ba8bd7ebc80ce03be7d29b33c1ebd6abc805ab13b0d882bbe097d46bd635d54bca8ae453c822b1cbe36e8c2bd7c3eb0bc4b069d3c598fd4bdc70adfbd722409bd3171ac3c76e867bd9017c4bd1ae037bd5799b53c6cdc8abcffab8bbda7a541bd2f9ba33c7961db3bb3b623bd512812bd9a5b383c27e4993cea175fbce5b69bbca161e93bc7f9d83c00e91d3c3a4e36baa87eb6ba9868533d01d570be36c3923fe9144f3e58d7743d17df7ebe9df7893ff282923e8d0a4d3de25c56becec1613f70cbba3ec94a1b3d400d14be4b661f3f9c34d03e7519c73c4599aabd897ac03efeb6cb3ec38c063cd709a0bc590a273eca11ac3e38158bbb0ed5a33ce72d993c9a20693e3c7e64bca08a3f3d288290bd286ce43df9749abcead6693d79a3efbddc7f343c9b3c68bdf25d243c00000000000000002593abbd895c503c0000000000000000f746cdbdacbf3a3c00000000000000007baacebdda90053c000000000000000019d7b1bdb7adc53b000000000000000046d299bda9e54d3b0000000000000000698338bd62d7ab3a00000000000000005425e3bc5aa1da3a0000000000000000b36074bcd3c0a83b00000000000000006acf083b167231bc2a2faf3c7b92d13b2b33203b3b755ebcaffeaf3c5599b53c33f4a73b4f061cbcd422823c7799d43c6142473bc916debb3c852d3c9b9ab63cd898563b57a70cbb0cefdc3a9f6a5c3ccb6b1d3b5f2dd53a8a351fbb2c4ffc3b934a073b981d433a9c3d5abb46daa03b8f4a4b3a8810b53ac769cfbb2e740dbacf9aef398f29a13a8eb1a4bb9e2a80bb9853733bf21291bbd33e92bc052a383d13585e3c0832ebbb99f0a6bcb3174f3d88f0d23c4d970bbc6d368fbcefa0f03cad21fc3c419ef5bb6fc74fbcf989403c130efb3c680390ba9c0de4bb0ce1efbb31a3c53c276a2f3ab01d4ebbafcb88bc912f883cc435e23a0c154bb9a84ca2bc67afec3bdda4583b85b7443bead698bcc21495babcbf8b3af577863b7ca562bcd72bf4bd9496a53ccad7c5bc01433c3c7293fabdd77f89bdde4cf4bc4b15993ca5d2c0bda5c3e2bdf26e39bd0693be3c44a05dbda6e9f0bd8fa571bd594fe13cc29b44bc2384d1bd2f1f8fbd839dbe3cb5f4f13b438099bd70097fbd20e7933c60c0a13ce47e44bd6b4f35bdb1e93a3cf960ca3c2dd997bcf65ab3bce789783bd731c33c18a8da3b70864a3b6e706dbbd2ac463d146e65be1157773f5384de3e6c394f3d4d365ebeecf2573fdef9093fcae81d3d1cf521bedd42233f746c1a3f9c3ccd3cb295bfbdd207d03e566e1b3f0eb2393c9745fbbc7c89443ef1460f3ffeef9c3a0b6cfa3b4e65663d4c4fdf3ef18bfcbb9cf7113d37b720bdfe29923e56e27bbcb8b14c3d2ec4adbd86df083e7d0481bc4164483d85ecdebd1a9e043c221bf1bdb417b83c00000000000000007c5b13bee812d13c0000000000000000814517be299ba73c00000000000000008fa20bbefd8f563c00000000000000003936e2bd23aa033c00000000000000006ebaa2bd3b7b7d3b0000000000000000ad1e61bd5a0e513b000000000000000098e60bbdf25aab3b0000000000000000122be1bc76a6293c0000000000000000c4029d3bf6c45bbc566c953cfa06c43b23b9aa3b35eb38bca1f05e3c6abf9c3c5b6d783b8668f4bb04420d3cfa16c13c27602d3be9a396ba04473d3bda297f3c4cf0213b2c631cbaeced8ababdc63f3c4893af3a9ac69d3a2dc78ebbdcb71e3cbd609f3a525bf43a5e45a8bb841c533bbd834a3a3b2b0a3b9c559ebb1fe559ba725d883a4a7e84b9f57c87bbb18d59bb3d36dc3b3c009ebbf37b78bcf4bf173d4079b03c7b8525bccaa982bc5e3eef3cc80b003dee2d09bc788b4cbc342b5b3cb063113d3eec84bb0925f7bbf205e3bb9a55013de508e5ba35136bbb470d42bcf4b2d13c1d17033bf87d9739018cb5bc5e56873c0ff5503b5463fa3ae5e6acbc506a003c7df7103b61ac673bd67e90bcc6f5863a6cac243ab1d2653b70664abcbb7cc3bdb2c10f3caafb05bdd507893c63769abd09baaabd4e4730bdd43abf3c43d23ebdc698fbbd2ca484bdc2e5e93cecad25bc4766fdbdb0c4afbd901fed3c0eb02a3c472dd8bd0dfaa5bd39c4ad3c872cd53c0c82aebd7a5f92bdf34e903c8da5da3c30ee51bd781b3fbda41cd73bca85ba3cf8dfb0bc69468fbc7abfcb396213a13c4ddf8b3b066cbc3b32d385bb18e0193dd93b38bebea5383fff05323f3fa4163d6d791fbeef4c153fafeb493f5c2bc73c61ccc8bd7ce7c83e1cd8523f54c1373c3e0315bd7b1b4a3eb9f6483fa35c623b0cdea3bad2cd6c3dd972293fceda89bbac6b043df8cf10bd6609033ff5621abcdde5303d07ae95bda5249f3e784b50bce692313dc11ca7bd24e6083ed3da49bcf96a253dbcf8adbd4e40a03abec437be67880c3d00000000000000009c0347bed9a5113d0000000000000000466238befbe3d73c0000000000000000350d1abe1d547f3c00000000000000004831cdbd98d0d33b000000000000000087319ebddc2d733b0000000000000000ad3e45bdaa1b9a3b000000000000000047a110bda27b073c0000000000000000004012bd5418613c0000000000000000da68963bae891ebcbf2c1c3c70a3cb3b35e4ab3beb4eecbb4b4ad43b1049903c77fc7d3be16567bb59512b3b7358883cae5e163b14aaccb9cef61ebbe5ff883c8a83203b51fc3f3a7d6a89bbbab8543ccb1f8f3957250f3b62bba3bb368f203c467f093a9970a63a12e880bb6231d93a3b88443a3ff7563a89d880bb2dbda1bac3d4933a2a94783a2c96f9baeed694bb0fbe1e3cec1801bc5e3d3ebc9988bb3ccd71e83c76963fbc76e81fbc14cf013cfaa5203dc3dd0abcb28ebdbbd23cfabb43b4213d14df6cbba06d6cbbff056fbc30520b3d0c128d3a54840e39f066c7bc3495e43c0e20053bb9b9893a090dbabc33ca973c0c0a5b3b0564883b099da5bc13be0c3ca8e1373b24628f3b5e9177bca4922bbb44c8c33a9d72553bc09310bc21eb68bdd1c788bc5c4b04bdffec9c3c2475f7bc6c5cdabdb57f5ebd6136dd3c167ba3bb78070bbe9e35abbd4e42003dd0f2763c8f340abe4268c4bd08d5e93c094b033dd4f3fdbd210ec0bd22eebb3c84f8f83ce177bdbd8efb93bd61894e3c4e66cd3c5d6f5fbd8ccf3ebda9b2a33bd7b29a3cb5eabbbc4ae588bc6efd1cbbdcae343c34e69d3bcada323c4434c1bbb525bc3c33d1eebd7ae0ea3e9a6e723f58d19e3c5e07b1bd0892a93efc85813fb35e263c34d80fbdac2f353ec035803f2b3e443bbb17d03af9d04f3d594e643f53165fbbe8fcfc3cb1bd2cbd5ee43e3f4f86aebb8426253dbc0995bd9adc073f49ae13bc788b2c3d1567a0bd80da9e3ecb851fbceefc033d72c680bd8304f13d165805bc37ffa93c072a37bd7580b4bcc8a164bec5d93b3d0000000000000000744066be237a313d0000000000000000e57041beb9d2e13c0000000000000000e90e0abebbb75c3c000000000000000086d4c5bdb81fb33b0000000000000000d6197bbd3f1d9a3b00000000000000004bcc1dbd7c15bc3b00000000000000007114f5bc32564d3c0000000000000000513e12bd4410843c00000000000000000eb2a63b1c3ae0bb497c763b3c02923b5baa8d3bba7683bb2368ccbad7016e3c7af50e3b149883b9f3eadfbb965ca83c87dda839aab9cc3a2cd2c6bbf753a73cc242103a232b983a73ee0abcd4897a3c627c2fba05e13b3b7386f2bb7149073c6309c6b8e16d113bc42d5dbb60e1583be999b939aeac093a0d8733bbfc1045bb74de553a6f0f2d3a59c5d9b9f11792bbc731843c729e2bbc3735c3bbb054953b5bb20e3d1ba548bca3df6fbbf2b4fbbbb7752e3d59b614bc2abcc3bac35a6bbc1dbb2a3daa002abbfb8e503a9d6cbfbc6b0d0d3df81a153bc64e843bffeac2bc2cffe53cbcbb3e3b9b40a93b3d0dc0bc396b8b3c8a8a813b90e3813b762697bcdcabf73bd546543bf850953b3baa38bccbaf81ba8e1543b920924a3bc812d5bb7a9874bc0f452dbd9d97dabc089b8e3cf034223c609a04be95f374bd96b7e23cf6a6d93ccee122bed08db5bda29eef3c49dd1b3d041424be656acabd0272d43cc2982a3d5cf409be8affb1bd167e6e3c50850e3dedb7c5bd2cb292bd37c9123c23d1b13c2f2658bddd6d31bd05aba63a3d8a403c2d0994bc698b59bc093290bbb5a9723ba079953b00ac6a3c2e03d3bb58c7073c1fed67bdff2d633effc8903f9250963b8b92c0bc095de13d8c9a973f25aef3bafcd7db3b8b8c543c85b28e3f286c66bb6ea7f43c0f126dbd5671783f150209bcebf62f3d0925cabd4b24433ff602f7bbb1502d3d4ebbbebd3e3f063fcfc403bcd6950a3d776788bd17a08f3eaf7ab4bb99348b3cab95febc26caa93d6b7e38bbcdc3a03bf00128bc9a8a24bde8eb71be31214e3d00000000000000000e8960be1ce0263d0000000000000000de3923be51d9b33c0000000000000000ca5fdbbdef16dd3b000000000000000082727fbd7f973d3b0000000000000000f21c02bd121c2e3b000000000000000077577cbc427eb43b00000000000000008af38cbcc7322f3c00000000000000000e8a04bd3a08903c000000000000000036de1c3be1ea26bbf425bcbbefd04b3cf0f17e3bf6dd9cb9c07b42bc639eaf3cbea1053b10d6c43af0fb49bc998ee73cbd0f87ba47a8463b164553bc64e1d33cd8e8483a2afce03a68a50fbc0a6d773ca7a980ba6a99173b2ca6b3bb38c7213cab4375b96613bf3a1c7b2ebb9530e13a53e311ba2b27963a9a636a3a837f0dbb595b013b798d94ba8c78a83af9b4b3bbc4dfb33cc3946cbcfabf06bb40b1a4bb2b8c113d55e783bc3c1b0c3af92984bc12272e3dcca701bc793f543a9d77b9bc4363243dd7f9d9ba13ba7c3bd7c4c8bca580103d99f9613bc1758b3b33fcc0bc37d4d03c8981bc3b0aa79d3b3fa598bcc3ca783caf16d23be29e973b494563bc12ffa73bd134943bf678ad3b5760f5bb5ffa4bbb57ea823af8e0c93a4fbb0bbbcf6eab3c28e4e3bd4489a0bc1fdea23c9b3e1a3d0cca1bbefb594ebd4c7fc83c3877553d4dd545be88f0acbd9682d13c0da9573df6a036be15e9babd3969853c264a2e3dc6160abe037abdbde19c313c9e16ed3c6a0abfbd138f8fbdda7fcf3af11b593c32543ebde2db31bda27a94bbf260ddb97b8964bc9ccd42bc3a0702bcbb698ebb60f9503c51e2a83c2265ddbb12a579bb0532a03b6a9116bc43a1b03f9fe8a0bb7b42673c214af4bc1c8c9d3f58c302bca1251d3dc272d2bd8f43963f93e40dbc85f7443dc1f802be9011793f01d21ebc4eb3563de3dc01bef5103b3f43cd0abc5696223d5581bcbd9092f33e107cb6bb4e4dc23c5d0a38bd50bb6b3e6f9819bb8b6f563b776b03bb6104633d3e2f893a6b2306bc1a15e13c6161d5bdcfa57abe80cf533d00000000000000009a5c1dbe3a54e23c0000000000000000d55ad7bddac91e3c0000000000000000978d47bd9c58e03900000000000000001ed1323946b680bb00000000000000008529b43c9042aabb0000000000000000d2dcc83c2c32853a00000000000000001220103c0db2fc3b000000000000000002f2f5bcb33a8c3c000000000000000000000000000000000000000000000000e84bf4b8c055b33a6f5489bcda570a3de2c7eab9c9a1463b76e175bcfea9e73c028200bbfef8603b167916bc7cb9b83c749af4ba547e603b343614bcf14d933cceab4937eb2c153b0ae88fbbe68ccb3b48c2a2ba26f7c33a7f6d63ba610fa93a8c7d363a914fd3bad230653b458c7fbb00000000000000000000000000000000000000000000000000000000000000005a5c0f3d4ea043bcd60eed3ad5229dbcdbb1183d4cb084bbc9545e3bb1f8c3bc66a0123d8abc9a3a23af593b495faabc332ae23c18e5c33b873ec53b9965afbca86ca23c9e04063c1ea75e3b20f982bc443a303cabdbe13b9d36a93b659a15bc3cda9f3a44dc953b1924e03a718220bb000000000000000000000000000000000000000000000000000000000000000067f98a3d9efe5fbe544c38bdaa92993c87da7f3d829c42be066699bd7d1c523c6fe1453d2f1528bea382bdbdf949fe3b880d213de1e6f9bd7e61b3bd1520233aea67b83c2e728ebd790c93bd221f12bbe8e38f3bb9d2fdbc9a4229bdd88ff9bbb667e5bbceadd53a84a0c2bb6facf4bb000000000000000000000000000000000000000000000000000000000000803f91b342bcc83d533d954341be8e13b13fecd40bbcad415a3d41a42dbe48d58e3fc0cb0dbcc12e5b3d538b27be8555693fac1a17bc8fc2463dbebc09bec893263f8b1ae0bbf338113d9652aabd66e7c63ea3fd77bbd3076f3c1f6de3bcd8c92f3efbdfe3b8cd2438bb93e3a83c04f1d4bc0000000000000000000000000000000000000000000000000000000000000000332eccbdcbe7543c000000000000000071cea33ba79dc6bb0000000000000000513c743db8be82bc00000000000000008726c13d6e489cbc0000000000000000b1d0cb3d2a9675bc0000000000000000a7579b3da3bb05bc00000000000000006d07e63ccce0b83b00000000000000000000000000000000000000000000000000000000000000000000000000000000b599f73a207a12bc1c801b3cd311463d5834ca3a8ba15e396c4323bcb0b3863df026643a6d5d993b5a2f8abc6375883d80c8173b7febc73b07e69cbca379653d2355ed395648103c5920a7bc045b2b3d7b46b73ac3ab8d3b17e319bc57aa573cc13dd33a3ce768ba44ecebb97e7c6cbb0000000000000000000000000000000000000000000000000000000000000000c17356bc43ab4b3b4e620bbd5c2a8b3df12387bc8c83033bdccb0fbd50e2683d60368fbc294a6c3a7bd6f7bc2d2a1d3d9bd347bc76730aba9833c8bce148be3c25ae59bb43ed98bb790970bc1179a63b5519753b2dff86bbda7ecabb0d7487bb48a3b73b2bfc48bb4db1003ab5d100bc00000000000000000000000000000000000000000000000000000000000000003bfa31be5fcdc7bd4648113d623f21bca1c300be903f22bed712653d1e3f75bcddc0babd7f4230beadb6783db83d89bc16c142bdcacf2ebeb50b603d11a360bcaf2ab3bb779c14be1c5b343ddf240bbc70123d3cb6e7a1bd20bc963c880e27babd7c773c95f0e6bb2e372abccbe8df3b0000000000000000000000000000000000000000000000000000803f000000008b328d3d764373beb887b43f858ba8bdd239a93dc39269be09af903f3aaf833ddef9ae3d884c53be1487603fdef1223e1167923d02d327be81151a3fc175683e1f803e3d2d18d6bd4fdbae3e0d2e743e7322963c8f5a2cbda4da033e3ded323e05b18cbb9cc90e3c5e7831bdf3547f3d00000000000000000000000000000000000000000000000000000000000000003769503cec9928bb0000000000000000fb4617bd6a77403c00000000000000001f1694bd18bcc13c000000000000000078b4d7bd0c6a103d0000000000000000e8fce5bdd9b6163d000000000000000023e9a2bdf762ce3c00000000000000005cd5e7bc34d4173c000000000000000000000000000000000000000000000000ab9e473b8c8919bc48d3073c0031e93c3877823b21cf57bb8f1f61bc73ef803d623b3a3ba089963ba62daebc3615933d2f3cdc3ac98aef3bd8f0c4bce553863d238d9d396a661a3c739cb8bc6aa9413d19aa8d3a89ef783b50571bbce7b2a63c81dbc139e16e0cba8efd233997dcf63ae60d043b38361cbb0467903bebaee3bbfb941e3bd58eaabb35e4be3bbd318dbc13262bbc83493e3b25c007bd7d8f7d3d7e693bbc4c2bd63adf5430bd96039a3d6ae833bc6d35d538289229bd99d16a3ddcad77bb629523bb185ff3bce91d003de0638b3bebddbabba41893bcf87d233c291c3e3c1e08d3bb8e6ce8bb0b47a7bbb9582f3c8cb5adbb15390d3bdbe81abc25afe8b88b9e813a52e1833b14c800bc66dfe93b2ac2bc394a33da3b690d0cbc443e0dbe9aeefcbc6e7f833ca211d3bb59f6f4bde2ad1cbe9ad5703d7a3687bc0f78c6bdfcb74dbef097823db49b95bcb33d5abdd72958be31c35c3de3da6cbc059737bc8bb441be45fe103d4d6defbb21f3203c96ba00be7d2ef43ba5202e3be592193c809236bdb135a9bcda44513c582ab838e6457b3ceae08abc5e06f83bbe3e4c3c9701483d1428e0bcb62ffd3b8854943d7bbd87be88a2b43f7145a9bc97beb03d23fc8fbee293a03f283fed3d8513c43de28d88bec644843f717f813e55cba33dda524cbe85603b3f9a60b73e25915a3d3d3304be4464e43e8082cc3ef3c7d63c67647bbd0127533e8f6bb63e950aa33a790ba9bb4c8b053d40d3693e14348fbc9f390d3d654b49bd79c1613d523f0abd16f2733d088114bef6a512bd6a46ae3a2d713fba000000000000000063fa47bdc4084b3c0000000000000000d7b1c7bd0cbce73c0000000000000000bb5309be93f6233d0000000000000000908019bedf59393d0000000000000000205e03bee366173d0000000000000000eab98ebd6212763c0000000000000000115e423b32e6afbb00000000000000000b5fcc3ce55513bc0000000000000000a340533aa8949ab961b980bbe26a003d86e4083bcf8e1b3b53fe98bcc0c3723d622b253b50acbc3bedc0c5bccaa2873d02f810b9bbb7003c3de5b6bca42c493d816aee3a5589323b3ba649bca982e93cfac4e63ac74ed6ba8f1808bb1959cd3b3be7dd3a2b8736bb3c720b3baf9acaba78b5d13ac41e8abb45d2b03bc29820bc81953c3b8a97c6bbed23293c81269cbc1a9461bc5f2da83b42140fbde595643d2e1a3dbcab99333ba9ca20bdc1d4743dfe5ef2bbb123923ac7d403bda50f1e3d4becea3bb8e3cdbb260693bcc357833c619d7e3c69dcfcbb485007bc177509b72920a13c4bddd7bb82c3da3934cb11bc6d98703cf6ee8dbbdde2953bf5de19bc2202003cb4a1393a58c6043cdd5d19bcbdc1a53bbb05f13a8359bb3bad95bdbb4e0bc9bdbde611bd0338bf3c39f149bc7604b6bd903a1dbe23f7553dfe84a0bced9f76bd5a834ebe07bd4d3df0d586bcc8db9dbc367f4cbe120bd33cdab7d5bb34421a3bdf7d1fbe701e1b3b2759953af78b253c316caebdc73020bd23398f3cc2d21c3c1e7910bd340134bd7a67993cc564aa3b4f39623c8fc012bd26552b3c955fb6bac6de543d85e1f6bc4289c73b3f8aac3df0b989be0b7f953f65965a3e89b0c33d2e9195be7fc1883faf9cb03e8be0ab3d918c69bec7f24e3f5734f33e8b215d3d404c14be9fc4043f44e20c3fdc31d33ceead8abd0cf5873eaf5a093fca84893b90f02ebc01c09e3dcdcde03e1a4a78bc5bc5d23cff91eebcff858f3e3ef206bd89d2663da2b2b7bdcab6c83da3440abd6c51723dddbcd8bdd4193abd36e580bd6a6c913c0000000000000000b6d0ecbd18070f3d00000000000000008b1922be228c453d00000000000000001c1a34be772d4f3d000000000000000015b825be8a253a3d0000000000000000c4b6eebd1a4dd33c00000000000000009f9e61bdddbe9a3b0000000000000000381ab03b426713bc0000000000000000ef8f2e3d91d792bc0000000000000000f45d073bb1109b3af20d25bc50c90b3db9cf943a1a4dd73baa07b6bc4e875c3dfa7c16ba9b270e3c7adcb9bc49ee443dae5eab3a55a0853b96d476bc02e0f33cbc6a783a0c99ec3a6658a8bb8fc50c3cfbb8fc3a912e0bbbe33c433aa92f193b6b20e03a45978abb2139a33bd8c81fbce2a6433b55b7c6bbd762fe3bb41763bc930af33a97f2a4bb2c66023c726884bcd6faa4bc8a6f013c8b3efabcba64383d3c9614bce789213bead5fdbc36e3243d14cf013cd3ddc3bbc289a5bc3c93973cb91e9a3c555beabb6f460ebcee1905b8be20ee3c255e0bbc917dc2ba2164e8bb2766b53cb10699bb1ab62d3bed4524bcb444a73c604036bb664add3b0f3d2fbce377583c30aab73977cbbd3bcbaebabb2e90ee3b7ad3203bd6f9953b17952bbaf7baa8bd72591dbd9000e53cf2249dbca6665abd3b5521be03f02d3d48969abcbaa98cbceca14bbe3b20d73c512e37bc997f8b3b2b402ebe972653bc6027713ba4074d3c63dbecbdad7c77bdda11a83c2795453ce4e683bd342694bdf708c83ca5e72a3c3c67a6bcb0e986bd1ce6a73ce292bc3a84619e3c8af94bbdb352603cf0c087bb99ab4f3d1d1f25bd9fb62c3cff01ac3d410081be5a4f753f409ce93ef6e0a53debdb77be20874f3f8a2e1a3f3c4a6c3d603627beca890d3f6331363fb5f2e43c194797bd6af0953e6a8e3a3f4fe07e3b62fc61bc2ef5be3d2445293fc6ea4bbc5ae0c63cce1f90bca1b9fe3e5947e1bc9bba5d3d4997b1bde2fd9d3ed88a16bdcbf87f3d0c0cccbd4641d63d026a00bd2c11423d2489babdc30c44bdd1d702be0564153d00000000000000003d653cbeafa2603d0000000000000000a55c56bec4967a3d0000000000000000bbd744be7390503d0000000000000000f7ac19be3f60083d000000000000000030bda8bdff7e0d3c0000000000000000f0fcdfbccfd1e4bb0000000000000000f84aa23c84b192bc00000000000000002f426f3d709206bd00000000000000000ae1bc3a32b1a13b61a380bc41cb133d6cb4bd37ab4ed53b7e06b0bc8e312b3dd917d93a646c6c3beb306dbc98e6f83cc065063ab7892f3a951b84bb2d39293c7181553af0e1d9bad0056dbb8c16023c6404363b59e8c2bb5c22a13bb840fbbb060d0a3bef8dd1bb9573eb3bf8d868bc6dc02f3bd44fe4bb6beb0e3c8f4a68bcfeb6283bd451d5bb1995ea3b0bcd5ebcaa7a96bcf60adf3b1863dabc1fd80b3da6173c3bedddd6ba19ad96bcbb2aa93c9cdca03cdef6cebb451723bcc6077e3a4183043d446a0dbc3a6d49bafe2f0dbc7525de3cbb990bbc1bbd333b3dd103bccc63fa3c4b0877bbdf81eb3bf81863bc32c4c63c5ea915bb5712ff3bcde114bca67e4c3cd8a9cd3aa282d43b80b217bbe0f9843bbe75853bf06f963b4319933946bf71bd9eec5bbd9467f33c33abadbc8e1c97bca98926bef1d9c43c5b5e53bc886abd3be5fe35bec8f919bc5b5a27b894d26a3c6bd205be51b38fbdc62ea93ceebf883c002fd1bd612d8cbd6a1dae3ce5b3873c273349bd45a1cbbd7e9ef53c46250b3c0c510bbc7d64a9bdf670b43cb5c88ebb8e6ce63cad5165bda6016c3c3a3610bcad464a3d8a770bbdf482d63b9fdf923df68d51be1b4c353fdc48383fba12643d64802bbe257b0a3f4fc45b3f4d71f23c089caabd963f9c3e8196693f5aabaa3b0e3788bcc97cd23dabff5d3f6f1120bc20a1973c36e7c2bb7bd2343f27b1debc9357763d70b8d2bd30680a3f27fb08bdd52e863d1765ebbddec19c3e76b70dbdb564633d1a01b9bdb582af3db202d4bcdba8273ddba68bbde23585bdced14abe2f09723d000000000000000046e875bef7f28e3d0000000000000000c0206abe0d717c3d00000000000000008ae438bec247203d0000000000000000829edfbd2352823c000000000000000066df4ebddd40b2bb000000000000000019e2e23b6e67a3bc0000000000000000169c373d6a7af1bc0000000000000000b7d9843d9ba017bd0000000000000000af600c3a77559e3b861364bc668bff3c0d303638cbd26a3b713665bcacc7dd3cecbc793ac22b9039541eb0bb3417303c5435873a2f6d0cbb84fa81bb7b7ad83b8508333bee96adbba351013b5a51b4bb557a363bd79ef2bba743db3bf85e30bc023c1d3bbbb6babbef2fd33b1f1157bcb457233b4560bbbb8701073c6a305abc48b9aa3a636e5abb75f4ca3b957521bc4d6645bcf6899e3ba5407abc5d578a3c96bf793cf325c2bb16d6efbb18407d3bdd58123db3a31bbcffe56eb9042801bcc048143d16b8f6bb2622a03b033739bc703c243d4b8acebbe203013c19b370bc7b32043d155e2dbb945c053c420232bca9ecc93ce44ebebad7c4de3b4e2bd1bbd974353c85750c3b89d06c3bbad488ba88f593b9f844793bed75203b54c3223b0d16fdbc39ac91bd89f7f33ce74db5bc721e983b550618be3b1107bc5e99cabad047823c8c5b0fbe59c592bd5c0cb13ccff7a23cac44e6bd6cfcd4bd08b6013dce6cca3cdc6ea0bd6332ffbdec360f3d1bd16f3c30b914bdd8b3e4bd3edee93cc12a153b9121be3b8546bebd4218ca3c4292ddbb2f38f13c62fd56bd15fa3c3c53c32fbc5639323de487abbcd91c693b5dbb3f3db29809be6fcce43e3e1c783fcb95e03c4686b2bd797f903e21ac893fa8f8e03b36dababc4e23d33d29ad873fd7cb1abc15a2ac3c9dfea0bce0a76d3f7209dbbcacd0703d2a24e7bd18de423fa5be08bdb1538e3d8b4209bec22f053fb4bc08bd99aa833d599bf1bd72408d3e2799ccbc0f3d333d9f8499bd691e853d277184bcf228af3c594d14bdcf05adbd7fd57cbede97973d000000000000000083eb85beb432953d000000000000000030b656be1d2b403d0000000000000000a53500be905b7a3c0000000000000000d4c664bdb024a2bb00000000000000003d6adf3b4afbcabc000000000000000039ba513d189b17bd0000000000000000166e6a3d7a4105bd0000000000000000cb2a7b3da05316bd00000000000000005a9fd13a9a15e83a855041bc67e4973c2ba7f83755c97f3affdfdfbbb79d193cfc544c3a50edeeb9656bc2bb5fa0003c11b3de3a641885bbcb6af5b99316fdba2809b73a4515d1bb8b31833b4023d0bb5091303ba263e2bba081f73bfe6d5abc8d66023b21c5c2bbfe3d023c338673bc16b4063b41f38cbbeec39a3b0f84f7bb2c23e13a4dc718bb13226d3b8d3762bb40e0653ab32397391772c7bb93bca23bbd20063daf3a16bcb18f5a3a2c82e1bbd34e263d2baa37bc3708ba3bd43c7dbcd9603a3daf33fbbb0ada063c53118cbcf4462c3dafe0ebbb2c8d283c2b5d78bc4bc2103d83d571bba35af33b881d21bc96a8c23c76cdedb9339cd03bdaec85bb6e75ed3bf7fcf63a4c23133b6d79613a39dc9cbb3cca4f3b6183c33729b9083bbf4665bb131f99bdcf3dbf3beaf30ebc8034943c1c5dffbdbdd585bd7ec2aa3c45aff23c067207bee3b3cabdfd2c013d6dde023d7d8fdfbd9d0305be9102153d70a7c53c385692bd570502be522c103dcd0a283c476aaebcf3da00bef2c9073d5bcf5bbab3611a3ccf48bcbdafa4c33c9a4e12bc9ca2be3cd1a31cbd3a6b023ced8c16bc05c4d63cc33e563bc8dd33bbf9649e3c57037fbd7c09533eb711963f026ec03b6543a5bccd807e3d78fb9e3f9dc725bc7e7dd43cbf912dbddaeb903f4f7fc9bc2252733ddb5cf7bda1f5773f4e9006bdd00f953db9f51abe7ae73a3f17e909bd28db943dc51e13be58dff33eddf4e1bcaf4b593dcaf8cbbdcae36a3ea10473bca046d33c1b2332bd9026ee3c88abd0bb22f5d73b32680bbc3493aebd283283bef831923d0000000000000000084974bed9a6683d00000000000000002fb214bee029b83c0000000000000000ebac7ebd21f0adbb0000000000000000e898273caa95dabc00000000000000005bb9953de12c40bd00000000000000008bbcb43d88e94cbd000000000000000035de7a3df33403bd00000000000000000d77c43c51f78abc0000000000000000bc08173a98a1333702440dbc67c5323c3fb2e83ad15a01bb44edacbb3427a43a4e6afa3ac97d90bbd375b5bafeb259ba99b50d3b7c0ecebb40ac6a3b333e05bc2a59043b9fa9c5bba615ec3bf2fc66bc04cc023b7dd7d9bbaba6003ccdb95abc262ac43adb3e93bb7666d33b0bbc1cbc5471f23a549e0dbbf2ed263bea2a02bbaa34023b5e0edbb999c948baa870d6b9f51fbb3ca5ca1bbc53b4a53abcfaa5bba1a02f3dc34e3dbc073aee3b32d787bc555c4f3d6b6009bc0b152b3c34d0bdbc69a7553d114df8bbd077283c7c66a0bcb6313c3d2c4aa1bba7d6053cd6bc49bc4170033d5e14bbb9f3aece3b8ed3b5bb2675783c6983433b61e42a3bd5501fba52bb0e3b9001fc39eb359637cd5da639a6e8d7bb97ca1f3b0049bdba467a0d3b53068b3c508dd9bd24a6d8bc10e8173c0363113dd048eabd0b80d6bd7dba173d95642d3de32903be49db08bec062143d411f0a3db48ebebdff531abe6513193d41438e3c6d373fbd98561dbe621f1a3d7ca42d3b7e4a10bcfe8f01be0194eb3cb33df8bbe78a663c74c99bbd3e4b553c87dcc9bb429a963b9ceb3cbc1655ef3a52f2cbbba600633c61cade3c61af1abc72f05bbaf7b1833b8ed1cdbc6bc9b43f57d425bcd7d3ea3ccf18b1bd98b5a63f81d9c9bc79458f3d4b9f28be021d973ffb2e06bd232ca63d009f38be690f6e3f826108bd185f9d3d33a727be4324293fb18fdfbc64e27e3dee5800be4548c93e563c7cbc0c8f0f3d213c85bd0d561e3ee44282bbcb7e083c5f310ebc5e6e0e3ca7707c3a7e4d9fbb757c853c1684e5bdb63c82be7400833d00000000000000003c8817be4cd2b03c00000000000000000ca16bbd87f194bb0000000000000000508d2a3db97605bd000000000000000036d8f13dbffe69bd00000000000000006ac0193e26828cbd0000000000000000a662043e113958bd00000000000000002bd0123dfa0557bc0000000000000000c924a4bcfe25d83b0000000000000000000000000000000000000000000000009eeb853ab67510bbf637bebbd9c8ea3b3b66833a63cdadbb57e6033bd04007bcb0e4813a7231d6bba807ce3b7eb662bc59e99a3a0c9aa3bb5698d83b8a6583bc1e8e143a327986bba22c023cb02263bcc2a2ed3aa2c22ebbe43e8c3b843ff0bb12fcd63a780b7bb92249c0395836b2ba0000000000000000000000000000000000000000000000000000000000000000f8ab473d3de05ebcfa392e3c04b6bfbc15f16f3d130463bce85d3d3c4861a9bcfcbf683d665332bc66162d3c6c0767bc29be443d98ffa1bbd942e13b960415bc0076f13c6148aa3a6e85963b8aa899bbfb234b3c887f613b74ab823ab8ba13b8bc660fbb2a36793b27ccc0ba21d5703a0000000000000000000000000000000000000000000000000000000000000000e8bc4b3d624820beac76cfbded19083db22a2c3da6c3debd707417be9b002d3dd966cc3c132f99bdd78a2bbeffba3e3d10875b3c4dd406bd18992abe5528253da86485ba257f463b545407be5ff6d83c55ded0bbd135553cdb8195bda987173cfa4ec0bb9817463c8c82c2ba447305bc000000000000000000000000000000000000000000000000000000000000803f293ce2bcd502a63d787468be164ab23f6b3501bdae65ad3d96fb58beb56b8c3feb62fbbc4eee993dfcde3abe0aaa563f3448ddbc60bd833d14e518befed5113f385889bc3248263d5815c2bd5ed49f3ec456fbbbff2d863c7bcd11bdb647e13d7e4feb3a97558fbb4d93103c223c40bd0000000000000000000000000000000000000000000000000000000000000000223091bd01fc523b0000000000000000006f8d3d2f980cbd0000000000000000da9a283ec4888bbd0000000000000000cb5b693e6fd8b3bd0000000000000000e7106f3e25edb0bd0000000000000000f6122e3e41fe5ebd00000000000000002c2c603dac6931bc00000000000000000000000000000000000000000000000000000000000000000000000000000000836a783bbcd55b3b1ba55f3b0a03f6ba63ab403b645e643bc55b993bb30093b81f9c0e3b0467463b9638963baaa43538c4272f3bd0a7c23aa4b6753b51c7f0395e0df43afe830e3b4671543b62c90e3ba2a0ce3a3e420b3b50d9793bbccdd83ab760bb3a18eccf3a9928653bf7140c3b0000000000000000000000000000000000000000000000000000000000000000be0349bac6d923bab6bb0b3b71b51dbdd748a03afc80bbb94d807c3a65be06bd8204303a74c336ba87167db87ab6e4bc34d0f2b8834db6baf5deb83a64d3afbc628b503a8751fb38c765d63aa2498cbcbc2657b958953cba61a52c3bddc229bc54f7f3bac190caba97ec783b0fe990bb0000000000000000000000000000000000000000000000000000000000000000e71c6dbd2fcc83ba3ff13cb81bed06b9c4e46bbd374d4dbb9c2a6b3a029cf93980994fbde4fb53bba7e1633b3193beb8e32730bd7d809dbba55b7c3b7a4f033ab6ee12bd15f3c6bb0e599a3b219f833a687fd0bcc3dee4bbe414ae3b1390e8b9b2c070bce67de7bbc061b93bc36786b90000000000000000000000000000000000000000000000000000803f00000000c8000abb8ceee8bcd2038a3fe2f30ebcf5ea52bb6e66a4bc32c6663f78bc843bb2ba68bb992a8fbc09eb3b3f3a71123cbc9c4fbb0a37aabc2625123fc843543c2b6a56bbb31ccdbc4837d33e3d296b3cde40e7bad093fbbc3c61843e3540443c415b17b9e71e24bd66f8dd3d797e223c0000000000000000000000000000000000000000000000000000000000000000e80a2fbc916d2c3b0000000000000000ae62d3bb5062133b000000000000000055fabcbb3d80933a0000000000000000c9f263bb8077a63a0000000000000000b0393dbbfd24de3a00000000000000000a125cbb6a42d5390000000000000000c01e71bba9cc8a3a0000000000000000000000000000000000000000000000003d0d803bafb4813a717b1a3b6aa6cdbacafaab3b1905983be535f43b33d162ba59fe853b739b8f3b7fb4de3b28f70aba072f713b745e873b0479d83b7206693a7009213b8d9e563bd614b53b5265fb3a7145293ba076603b8bf0c73bb6ca1f3b4271fd3ab473123bdba9a83b81dc223b9e8fd539500cf23a1040923b9bcc0f3b650a8e39cb76aeb97e366f3bc5f49f3ab609093b3b6a68b9f0a0263b32881bbde031253bb2bd193a6ee99c3b2bea3dbd71bb9b3a10b078ba68b1803b86442abd38049c3a5b8168ba9d80433b52a510bd92198e3a20862ebabcb81f3bcc73dbbcd777323a15eba5baecc7743b282da8bc476888b95ba493baf8259c3b649245bc14d55fba29c18cba3ed7ca3b3f046ebb8e3b20ba5cc71fbac44a843b2d5be83a9ab904bd22e60c3bcf97b1bb982e8c3a797788bd0428adbb4d4b84bbabb399b7dfd28ebdfc0ea0bb8f54c23a80e8f339a9ef82bde341cebb8e3e763bef78ba39ef6053bd94adecbb3279ac3b0b5f59398d1936bd29c01abca163c83bf78888b814c400bd041b23bc8a9cd33beb4b0eb974388abcd7863abcf1f6c53b4b2a68ba7fbf3fbbc3ac9bbb4104a73b9a1404ba3032373a0f2b66bd0be1893ff9fdf23d27b3d93a7dc082bd5bbd813f5ce0ea3d89f780ba567242bdc6a75a3fdd70e23d5b0b0dbb82402abd0bb1313fea65cd3df61115bb973120bde11c083fbe78ae3dd57eb2ba624636bde13cc43e8ca28f3ded4f873a91fc46bd1694703e4182503df912a93b2c5058bd94b6c13d168eed3cc235663b0bcf33bdd6d1b8bcf406233cfdefe1bcffea903b00000000000000004551dfbcb44ac73b0000000000000000412aa4bca6e33c3b0000000000000000723b7cbc1a63103b0000000000000000fed13dbcc5c8373b0000000000000000907a20bc201f953a00000000000000004ed709bcef0aa13a00000000000000002afd0cbc1d45da3a0000000000000000f450c2bbd06a973a000000000000000066ab4d3befb4313951f44a3a874c8db9df099c3ba1e13b3b15e0633b1d0c81b982ce173beafc6d3bb3929a3b61e0143b2277553b6b1f463bbdb7b03bf3b0ee3a0532183b8b811a3b939c943b5469193b7440283b40ae233ba8f99c3b3e21423bdd8ef23a59f9063bb8b2943bbb063b3bea7bd43a5e424c3a559a6b3b3067093b289fa93ada8c2e397d7ff3393bd7d03aeeaa0d3baf15bbb9f061833b614609bd1c43153b7e342eba3df8c93b47522fbdb4888e3acee9a0badbe3a13bd9a10abd4d74023beb0f16ba8ba57f3b85dd03bd2540ca3acf1152ba1464533ba570b6bcc3429f3ac33a4bba1a61983b708893bc4095473aa3d346ba00b3a53b071234bce8e6e7b8598ba1babefba23b32c357bbd30e0a39414861ba3d95613b330a0639f9e8bebc3fa6bd3b480da0bb7b38803a2a7453bd0a1ed9ba404b3dbb602ddc3a62915abd23b7c3bbd3e91c3a74b5003a5ddd6bbdb07f15bc1dd0753b7380bd3a503231bd19980fbc96aba03bf0177a3ac03d26bd584531bca880d93b7d1d6c3a5742d9bc09de29bc8fa8d43bd1b03e3aacbd83bc225a06bc7e11cc3b0035d93812ee67bb45023cbbc4b09c3b2c3d2ab86735cf3af9c976bd7626683f9bbb893e00d7413b1b4796bd3d9e5c3fed79833e918198398bf263bd29ea363fd26a6b3e2388343ac61e5dbd61e2193f10d94b3e7d39c9b822a139bdbf49e83eb085233e467f963a97a256bd1beea93e0e17033e797fde3af29a48bd43e1513e73fab33d2cd1c03b565a5abd8c5cab3d4f00523da8efa23b6e961cbd97f782bc31264e3c0ccb13bd993c783b0000000000000000eff129bdb594a53b0000000000000000d2d0e5bc30dc683b000000000000000025f6c1bcd3dd3a3b00000000000000001fc27fbc9136cd3a0000000000000000dfbc63bcd0ebfe3a0000000000000000f50824bc5f2ac53a000000000000000024961bbcb8df063b00000000000000005549b8bbcdcd923a0000000000000000d002253bc3cc1938e14712bad341ce3a32876d3b86530c3b95daef3aacd6fc3ad3be473b6d7b3f3b51d67f3bf792aa3a6141353b51bb433b698b8c3bd022543bda68173bf1433e3b99c08d3bf72d7b3b5286d63a5cb21d3ba5ad863bb2f85e3b4679c93ac60fd33a916f7c3bf689403bb9e33739189c9c3ab6d5533bd1ee293b3dc91a3a5dab90b9ca6b9f3aede6ab3a6cad253beba166b778605e3b15cef0bc8ec11e3b83adccb97d7db93ba41919bd8c03233bb75c00b9ad54953b85e304bd4576143b7f35d6b9a388903b77f2d9bcc3ea0c3b77c4d9b99402333b1c1ab1bcc9bced3a3d8e61ba3251983bbe0668bcc86e733a6460a2ba8cff9d3b66d3ffbb733a703a66564bba9bcabe3baa4bfaba2278da3934250aba0d3f863bf7005c398d3faabcba20d43bab1b9abb13785e3a75093cbd7e0667bbc8f64cbb5d3dc53aec455ebdaa6531bc87cb8c3ac994ef3af8405abd1cf865bcf5aa523be615013bfaf436bdca8d58bc22f3a83bed7be83a78cc1abdeb575fbc76dfbc3bc2f4da3aae74e0bc6fe635bc72a1cf3b135c7d3a47a88ebc8cd2d9bbe3349d3b61879e3a0f94a0bb3633faba849ca23bed5a403ab3a5023b15aa64bdb57a3d3f5480d83e60c1773bdfc092bd6f7c343fe2e3ce3e499a313b60737bbdddfb1a3fac6cb63e274b003bd85d63bdf2a4fd3e7e8f9a3e5d4c083b469756bdafe3c23e7eea783e1c912c3b71d450bda5678b3ecc243e3e4109783bed564dbdb791293e00dd013e826b993ba18544bd623b873dbae98b3d2c4f993b491109bde18182bc3709603cbe9331bd5f11543b0000000000000000cb9f52bde0b09f3b0000000000000000be9c26bd2e43883b00000000000000005fc1f0bc8dc53b3b000000000000000022ceabbc7cf9243b000000000000000007d985bc4d3a183b0000000000000000368347bce4edb23a0000000000000000e2752bbcad86ea3a00000000000000001d1095bbbe56583a0000000000000000d4befa3a549b49b9217db8bad528293bced9493b2730063bff93163a8e0a6b3be6bc083bc443253b57010e3baa366a3bc504093bbe3f3c3b71f15b3bd2a6853bfb6f7b3a4547e13abb3d1a3b885c553b86b4963a094c203be048523b4907823ba67a573a5136a33abe60313b364a423b942d3c3a2280733af459013be7a0063bcdd77cbaa0462e3abe978f3a8bafa93adf6b173bcaef3c394e5f573beb65c6bc890a153bdd546cb9f539a73b53b6efbc938e133b025cfbb97920793bd1bfc1bc9981233b5437c9b99034833b5412acbc7942033b962c5db947d7333b174845bca8f4043bce6b6eba6a028c3b1eec29bcaa96bb3a018d3eba0d9f813bf0969abbf98f353abc379eba41b1943bc7263dba826f313a8e80d4b936117a3b9a82ab3a7725b4bca6538d3b8dc488bb374f393a0c7231bd5ee500bc7cf62bbb7a13a93a6bd541bdd90284bc5503953a089cdd3a6e824cbd1b3ea3bc17a3633bdd2d0f3b67e504bd9d6359bcfe728b3b710b003b1d1013bd2b1788bca22ba83b146f083b54efc1bc848d3abcc3499f3b8ab7fc3a0db97bbc71f4ddbb48b5aa3be8f9ad3a05fac3bb020003ba0671933b3d267cbab1a01b3bd9104ebdf264143f4782143f5d3e883bef5280bdd25b0b3f08f90c3fa0603b3b1f6e52bda7cdec3ed811f33e69d12a3b0deb50bd8009c53e947acf3e5929dc3a7d6410bd20fa903edc7b9c3e3fd0423be2753abd1d15563e8406783e47c7673b1f6321bd1436fc3df752223ecc10a63b1b4d21bd0b0c363d2038ad3dafc48e3bbcaadebcdd5699bcafe14a3c03f64cbddeab353b00000000000000006ba368bd20e2893b0000000000000000dead22bd2d6c363b0000000000000000b2de03bd0a27223b0000000000000000119a94bca4c5d83a0000000000000000dd4384bc64c9dd3a0000000000000000937f22bc5602a33a0000000000000000c9b9f9bb51fb713a000000000000000012f266bb9942943900000000000000005587013bbe1d623ae81ce2bab8a6383bca412b3b25c4453bd05f2a3ae4c6a03bca89ee3a2492453b0bde0e3b43d8ae3b78f5023beeb46c3b3411573bea8da43b7eb5973a0a6c333bdaa83f3b63c4963b9ac9ca3ae7533b3b08b3353b6f7d873b5f1c6b3aac02c33a0e55283bc37a653b3725223ab4788c3a6b3bd43a1fc51c3b88062b396567f3397a520b3aecaf8e3a8d20f03ab33602398e47583b352b98bca1defb3af8f9873963fd9d3be051b8bc7d89003bbe1fc2b949d1ab3b062091bc6ccefd3a637ed0b9d16b783be08475bc14e2143bc3002aba39e5663b6cd22fbcb6e7163b3c2807ba7eb7723bef1ebdbb18d8c23ad75323ba5ccf653b8eddccba441d853accca98bad767703bba47093bf91a3b3a91f43fbaf126303b6eef3a3b6847d7bc76a603ba8d2179bbc8a64d3915d441bd597994bcc7f436bb93cea23a1e6d59bdcafeebbc7d74443a8843cc3addab4bbdc52cf3bcdf8d123b560f133b64692abd2f6dd2bcfc89643b3b112e3b1c490fbd56ecb9bc85c0503b8dfc1b3b0218cdbcdd4c82bc4841613baaa51a3b84ed79bc70f0f9bbc7f0453b83dbc73afab6c8bbbd04d2b92c072f3b36d64e3a4287513b012435bd7457d83e4fd93d3f6beeb43b70ff65bda6fbca3e5ee2353f5b10b93b5b3c4cbde618ae3ebdb51d3fa74a7f3b7c1a37bd5efd8d3eead9023f9a6f563b081824bd063e583e7825cd3ecb36533b72141ebd9096143eac6c983e60f28d3b0be40fbddf8ea23dedff463ee8f7a63bd86f01bde3249b3cfaf9c63d5ed8833b50cda6bc07c8c7bc3103f83b4a4f66bd17f5e53a0000000000000000d59e84bdf660883b00000000000000003c3041bdfd22323b00000000000000005b5a0abdcabc113b00000000000000008a6eb2bc6079ec3a00000000000000002cd87dbc6e40903a00000000000000001e5120bc388c593a0000000000000000f557d9bb0a63193a0000000000000000d02e20bbd6fde1b80000000000000000a00bcd3a3024083b0659d7ba3db6643bea5f053b1c76853b25f9a13acf05c03b9a8c703ad749753ba0f5273b9122bf3b952feb3ac55a853bbe9b5c3bf924c03bb82a3a3abc80983b3a9d1e3b8e8e9a3bad0b1e3a924a263b858b243b74ada43b65b7fe399a4ffd3a7159223b8ec08b3bc1ab8039cb7e4d3a847b823af9e0233bfb2fafb81a078a39a10bef38580bae3a3090693af732133ae931413bc74544bc3d14803ad801f139ee678c3b5cf65ebce964e83ab621143a06385d3baefe2abc139dce3a324350b98d304e3bfe0b0ebc283df23a06dca2b92f81273b0814a6bb15ea193beadc5fba51ec483bf18700bb907eef392cb6abbaa4902f3b2723c63a20f7993afd2d60ba66571d3bb667a13b3217c83987ec1bba47fadd3ad68b9e3bba3202bdeb2b20bc5bb898bbc27569b43cdf51bd74c806bdd16995bb18ae9a3abeeb43bd4c8920bd7de253badb38173b7fb549bd26412abd4c45bf390f621b3b47f215bda17801bd989c553a2f00203bfe9a06bd8484f2bcab3a503aa975533b31e9abbc3300a8bc121952b96165053b386f60bc45e720bc52bb2a39b4f0023b0833a2bba14bc4b813744b3a2cc96c3af2df8a3b8e9713bd5569893e02f1673f81e5c73bc67e39bdb02f7e3eda855d3f0acb943bc92413bd0f265a3e42be383f0b95883b080711bd630f303efbbf1c3f043e393bc929e8bcfdb5013ebdbfee3ec4c0683b7e32eebc7a65a73d4b85b23eb3127c3b46e9c5bceda1253d3d86643e7092983b58adb1bc0034d1bb928bd63d8e55773bb30159bc764f00bd95fe9fb8cc5573bd2fafcd3a0000000000000000fe1d87bdb1c8573b000000000000000034ee27bdff710d3b0000000000000000305df5bc0934af3a00000000000000006bc581bcc94a553a000000000000000095f73cbce575363a0000000000000000230dc1bb84a0e0b9000000000000000011139dbb0410d2b900000000000000002aa7ffba8a51abba00000000000000004704ee3adb293b3be73b1aba795f5f3bf0457c3a3d30a93bfe35853b9e01ee3b0d23a53a2effa83be5139d3bd420f13bfaff583ade11a03b96b2993b54eeda3bc8fc213ae5c76a3b9f07703b0749af3ba714103a5a903f3b1729533b5ebeaa3b9f5e0739a4f5fa3ad66c343b051f8c3baedf93ba4ecae63adb72253b1403533b25fde4b933575bb9de42693819c2ac3addeb16ba3c05a039a245203be585b1bbc5a73b392ca45f3ac0d35b3b324b65bb31d6203a67e4cb386a15403b4e609cbb33fcae3adbb24ab98e5b0d3b1e7207bb0daecd3a22c33bb9b5770d3b03010aba63c4f93a6d471bba0d0f203b81bb193b4722fa3a5e721aba5b96b23abc4da83b76b7503a30a1e3395c0fcc398926fb3b276e003af0da05bbd0d6763a220ae43b984b22bdfc2fd5bcf673abbba3305b3aaff15bbd053c69bd26b8e6bb587ab93ab5af54bdf24a7bbdc58d85bb0c32093b3c7e3dbddf256abd15104cbb49f55c3bedbb12bd80673bbd92fe43bbd558483bca6eedbc55f31fbd1cfd66bb4c62713b7a129ebcf355e2bc00fe69bb168e643b9d2111bc3f306bbc9b3081bb65480c3b48d12cbb7b6066ba6ba2acba3b6bde3ae6b59b3b9d11d4bc79d9f13d92bc893f76b8ca3bc1a2f0bca350d93deaaf813f6d639a3bafb2cfbc7298bd3d47845b3fed195b3b1d5fbdbca535953d4e59333f08032e3bc832a3bcfe77493dd3bf093fb235533ba17495bc1395b63c2a38c83e5e8b2f3bb53372bce6fe98bba1547a3e0fd1313bb39b19bc4e9efbbc7d41d53d08224e3b3ee6b2bb4ff125bd8fa063bce9f068bd5c928c3a0000000000000000a2bd64bd3939113b00000000000000009f1501bd55f2453a00000000000000004a6390bc63c4243a00000000000000004496fabbe1979e390000000000000000ffdc3abb92808eb9000000000000000066a63bba47fd1bba0000000000000000ff9742bb246db3ba0000000000000000a9250cbaaa7cb4ba0000000000000000000000000000000000000000000000008580fd3942fc863bab449b3bfb719b3bd8d8fc3910bd823b2eee783bd66da83bbd2fae3a01ed263b9e24333b69a0863bc35560b939560e3bbd460f3ba5c3a23bc3f9293916d11a3bac59403b4dfd763b80d0233ae97a4d3ac67af03a6d703a3b19ca59b9d5be633af97275b95237593b0000000000000000000000000000000000000000000000000000000000000000421700baaf7a2e3a558fc53afb044e3a5228d2384e06ca39a786a63a6b24803afc1e193a479cc939f2ae393b2ac11e39e4d10c3ab4b18c3a58ceb1399c2a3a3b0c2bd33a263ce638e7bba23aeeea693bc512ba3a951dd5b90051963a3954983b4fbfc738057b44397614a9398941f33b00000000000000000000000000000000000000000000000000000000000000002da937bdee6e78bd710db6bb3755173a3d551cbde2f96bbdc2b697bbe8f2d23ade1503bd8df54ebd41f898bb7f2d353bd091d5bcb7e030bdf64faabbca750e3b002a99bccc410ebdb32b99bb62ee423bc85d4abc47e9d5bcdba9b5bb33a7433bc61498bb014883bcd2dcd0bbd1de023b000000000000000000000000000000000000000000000000000000000000803fb018863b000045bc838f7cbce21c8a3fd1ea233b61112fbc23c72bbcc3f3663f9798393b5ee732bc843d45bcfde43b3f06701d3b271205bcbe386dbcf53f123fc52dd33aa403ffbb039eb6bc27b8d33ed891023baa2dbabb82e4fcbc0966843e7c57e33acc3307bbe6f124bdaae9de3d00000000000000000000000000000000000000000000000000000000000000005d10c4bcd143cbba00000000000000005a2309bc464202ba00000000000000008d5cb8b9cc9a72390000000000000000773cb23ba193523a000000000000000078ecc23b652367b90000000000000000dbf7bc3b4d7b9db9000000000000000063728b3b5edb02bb000000000000000000000000000000000000000000000000000000000000000000000000000000009e57883b63b3eab94b57ba3af1f9b7bae72f803b2ea5703a02190a3b1088a3b9856c363b0f55a73827dd913ad81aaa39f98a1f3bc7138eb9cb39d83991c80f3bbd4a2e3b541c9bb8394b913a9f27063b8f82053b6fdba1b99429b73a5d71143b5782213b33d596b9c6bc813afc25153b000000000000000000000000000000000000000000000000000000000000000010172e3a1dda95bafa5a2abb188527bd67edb53a3d7407bb522e5ebb61ea0abd7434b73a3a1ec1b975c31dbb2538efbc9346173b06b28f393715d2ba2ba5bdbcff05c23aeb8ebfb94a2c94ba52bf99bc992f503a69630aba5c311e3b45a242bc3fef063a2866d1b9ea1d9c3b194ce4bb000000000000000000000000000000000000000000000000000000000000000077ddeebc2ccb8d3cbde0fbb9077cd2ba84ac03bdc595613cccd51e3bd988b4bab6f5eabc6b52303c3b0d903bf0f7c1ba1ddecdbc5ff2e73bc02fe03b855b2eba6e33adbc2c0d9d3b4109f73be60542badcc088bc1960ba3a72e0f23b99ed5fba95da3ebc347521bae09c053c607316ba0000000000000000000000000000000000000000000000000000803f00000000a6860bbcdad37ebc3648803f1810233b4fb61fbc7d5e83bc2153593fc01b3a3c7b5018bc178189bc7fe5323f169b8f3c922714bc3568b0bc636b0c3f3a34ad3c5ddb00bc712ae0bced41cf3e17aed43ceef7c5bb42370ebdb290853e0170e23c9bef6fbb3cb536bd1815f63d209ff83c000000000000000000000000000000000000000000000000000000000000000010057cbc75618a390000000000000000f98234bc119c73ba000000000000000042940ebcfb0d12bb00000000000000007e51b0bb65b326bb00000000000000007fd181bb788f2abb0000000000000000fa3545bb2bc226bb0000000000000000d48328bb13c215bb000000000000000000000000000000000000000000000000af53783b4dd349bb02d792ba084730b9c407ed3bbd1aa5badd888b3a577facbabc9aab3b5dfa47b9cad98a3afee9c9b8e6d9723bee12833a02b2e03ac098b33a13b84c3b2edfa4b92022f139b769b73a57676f3b2a7e89b83d1f433a2f6e0c3b77c9a83bb1ae6ebabf78373a9d55103b9b7b583beb7dce383cec923a457f103bfd60e93a955b90bae5e5cbb96a7ae93a68f0043ba19728ba85374db963452abd71f2f23a02036dba03b48b39c3644cbdf2e3fe3a069f15ba4719b7b97f6239bde3b7223b26300dbb831dc2ba7b821abd6dee163bdb6006b9b45ba8389bb6eabcc003e13a1bdce9b9f6d61b3b720ec0bc8d78343bc6d5cdb95d89903baaac82bc526a2a39c29f38ba5ad7fe3bbe1901bcd784153a6db0e3395be1d73b4b1b77bbe9d196bc91edb23ca72509bbc2d6b2baf22918bd0352b33c86fb0c3a415ec8ba8d8b26bd013a923cbf2f8c3bf454d6ba64d925bd4f03663c550ded3b98a3a6baa28602bd21a31b3c7cf00e3c1a0753bafe73f6bcc105b63b7cc02d3c9d9559baf4a7c1bcea42bc3a5c16313ce42d34ba8c1180bcfe58efba6c6d1f3c9d3881ba6d33f1bb983219ba2ff40f3c9649a2b7bdbbcabb2a05efbc4382803fa271033ea8fe0fbcf82814bd8a5a6b3fc6bf003e020c16bca95808bdac5d483fa750f53d1b1931bc5eca0abd01aa243f3953e33da45411bcdff411bd7b47ff3efab5c63d7c4900bc7b6937bd91d5bb3ee5ddb13d6f559abbedb253bdeb986d3e27a0933d2116fb392e116cbddae9d03dfef45f3daa5ddf3a34ca3fbddfdb54bc26f7ff3c7c49c4bc3919e93a0000000000000000c544cdbcbab6a23a000000000000000097b59abc19058dba0000000000000000b4e36abc9d6712bb0000000000000000afbb13bce65e50bb0000000000000000de7bd1bb525980bb0000000000000000ff0f87bbb72b38bb0000000000000000ee1f45bbd28f17bb00000000000000009dee82baa40cf4ba0000000000000000a04f533bb2d665bbc72e3cbbcfaea43acbf3b73b340bd1babaa1fbba461a383a5972573bf8759fb924a742ba920a643a75e0493b624ac8b9b63979b86a35453afeb12d3bf0d4a7babb7161bae8daf23aeff35b3b608f2eba4a225dbabb6b153bbedc103b1540fcb9070ca0b710c59d3ab4b3373b98c5a5baface13b8854b0b3bc55b443bf91bfcb8926179ba70ca553acf40373b6da7d5b9c1f73a3ac62615bdb40c413b4a943dbabe5cf63a9de141bd8f6ff83a3465a139e240c53a6f4d23bdfa60183bac70a7ba6dbb9a3a518913bdf2443b3be74ca6b7d30b9d3ad957d1bc0348393b202a0d39b0096c3b7de7b5bc9b2ce63a84a6efb85e5d9f3ba7475bbc38c6fa3a4fb1ddba5bbce43ba92412bc4ab1ad3a3428313988e8ad3bbc319cbb3f9589bc9e23af3cf40c5bb946f3b1ba2cc10fbd7e58b83c8e49273baa03d8ba634f16bdf9956b3c5b49a93b66b549ba40871fbdaf895c3ca0de073cecd0203981ccfabc8031fd3b9ba7233cd95a91b9016300bd4b509f3b4521473c13b1f3b75b95b4bcd37ebb3a77af2e3c6eb40339eb618dbc6238c8b87455413c3e968239bc9a0ebc0292ca392a0f113c0e5c2039589b96bb99420dbd4f425a3f06748a3ef91cc7bbe2843cbd15fe493f341b833ef3eccbbb88fe20bd7e93293f50bd6b3e643ae9bbbab730bd4d1f0e3ff1b24f3ec8b1d0bbfae521bdff91d93ee1fa2a3e274ca4bbe1914dbdcc93a03e7b97113e7d15c8ba36c043bdeee7483e243bd53d8d365e3bcad06bbde710ad3d6d48993d41b12d3b65442cbd88d053bc9476f63c8a65e5bc8d1d8d3a0000000000000000cf3f02bd7011c8390000000000000000defaa8bcee9694ba0000000000000000522690bc960078bb0000000000000000867811bc6f2159bb0000000000000000c3bfc5bb1d3a66bb0000000000000000738e03bbdf8639bb00000000000000002ad4ed39c5f032bb00000000000000003ca2c13a58eb0abb00000000000000000d8f303b2fae64bb22488fbbe93f243b18309f3baaf103bb56fc79bb5a11203be1468d3b90e23eba2cec07bb8eb1fe3aae28923bf25bdfbad75eb2ba28f2183b7d63f83acea666b9d4d5d3ba3587293bedb9513ba29514ba819ee6baeba50f3be727393b43d702bad98606bba8ece33a2b442c3b9e330dba448721bbc902363abd70813a353bc9ba80e692bac69d06bad41f6d3b00050abace98403afeb400bd0696633b070b59ba09e1083b3d7a2abd3e6b4a3bfd5c6aba2689dc3aed4f18bd7b5d583b160302bafe34443a650e00bd279d943b4b6023bae3207d3a9168c4bc375c5b3b75340539def3823b8e8d9bbc5125373bbbae9cb9a891b43b181d49bc57c30d3b556f9cb9d7e7f03b8061d8bb4ea8513bdd4b14b91495df3bf45267bb072b96bce086a63c745fd03a85bf0fbb544414bd92dda23c24a2a73b61e3d0bace4929bdcb8e553c8be10f3c172eb3ba584d26bd82d40e3c87ed323c8cc20dba60990ebde91d833bd884373cb594c6b9d41703bd4f762d3bd6ce393c20cb8f3a1da6d2bc140cf439f62b4a3cc3da363a926a9ebc4a159ab8de933c3c3ca90b3ab21a3abc8353973966fe0b3c8d91263a456386bb80840cbd0e35343f2fa8d33e3225a0bbe60543bd1db8263f9d41c73e04d2adbb804f39bdb5800e3f6077b03e2d7ddabb7eca39bded41ea3eff22983eca5facbb1b9234bd2570b53e2200793ee85c3abb91f346bd83b1823eb0d4473eb59a9cb9a3e34bbdb83e203e6b30113ef571593b9c074ebd28f17e3dc3d8b63dd0904e3b98da12bdd5bf89bcda14e93c2d42febc3019273a0000000000000000061411bd7b6139ba00000000000000005728cfbc5c0615bb0000000000000000266a8abca9545abb000000000000000032161abc605c10bb000000000000000030996bbb2fba4ebb0000000000000000f8a12f3ac9b57abb000000000000000078e77f3b7fa244bb0000000000000000006f8b3bb0ad27bb0000000000000000f1271b3b630042bb8274c1bb09154b3b23c2813bffb99bba43d9a5bbe3585a3bcb1e013b8fed7ab8b81147bb9d48303b62d9723bb2cabf38218044bbe1082c3bf91fd23a9b0c0aba78fd2cbbab5dc43a75d8253b17881f393ceb33bb7fc9d63ab243603b0fb626baf1ad6bbbe513d13a9fdb063b41cb69b77c8058bbb27f6439d0659f3a039eebb97b0a5cbb44342aba089a663b310fc2b865e20a3a2c25ddbcb0905e3bcf2142ba63c6fd3a0f4c09bd37c85b3b54ece5b930ea88398cc1e3bc4f575c3b11eedeb92a09123b7285d4bccbe34a3bc1ebe4392e78c83a3dbb80bccaf9693ba8dcf0b85474843b33e96cbcd1fd3e3b1672f83a88c4793be9080cbcdc33193b2491ebb98139be3be41b66bb6bf6fe3a05e0cd3994af933bc9d397babd85b9bc21ea903c5527833b4f2aeeba3a0e1ebd98926b3c2ef7f53bcc8ffdbaa44022bdc340db3b4ff3243c3f6250bace222dbd365d413beda2483c4e8ae0b879f0e6bc19869b3a8fe6293cf39c4c3ae1e206bddb8c6ebaba41543c99f3893a7d6ebcbc8ab175baf0a9353c5ff6ae3a79f49cbc798040ba27a02b3c6fe8bf3a62c341bce61bc5391107053c0d76bd3a02534dbb3c7d08bdc1bd0e3f66020f3ffafc6fbbc4e435bd67b8023f1841053f590761bb17eb22bde52edd3e81f8e63e54db72bbd4f532bdee24b73eb435c73e7e8849bb9e0105bdbded893e53f6993e838ac5ba496634bd9be7463e08597b3ed2f99bb9b9e925bd4502ec3d2f822c3e5b1b633be2a027bdcc7f1d3d1a8fcd3d6514783be398eebc7110b8bc8d2bd03c189905bd096ecfba00000000000000004aa211bd0ea805bb00000000000000007b11b6bc784393bb000000000000000004ae7fbc956280bb0000000000000000e21299bb9ac658bb00000000000000005122a0b9c51781bb00000000000000005f2d9e3b00cd67bb00000000000000002397093ceea980bb0000000000000000eca3073ced5335bb0000000000000000e83d703b5321edbad569cebbcf71943bcb53863b6aa22d3aaf2da3bb9cea513b5462893bc678b73a932744bb25ee473bf4e5263befc0213bfa9cd5ba3ca2fa3a07c41e3bc026833a6c8831bbc897d93a7e221c3b02799a3a937c2fbbc82fd53a9abe0a3b16193b3a6a184dbba025903a71c0ee3a507cda39e2c272bbd58b8ab9ad7c3c3a9a93f13944f323bb7683d1ba1b5e103b82195bbabcddc53afc8ab0bc913a213b0d6682ba5b325b3b6d09dcbcb0222c3b871c0cbafad3483bdb75c1bce83fd23abcbcddba218d0b3b01f7aabc4c2f883b9fce613a51b8453bd51b6fbc372f4a3bef2f11b9e735823b710a1abc95ef393bc78e3ab91b779b3bbb737ebb91d51a3b59308cb9d38ab53b1674f939e6b6bf3a2f3595b9774b8d3b2228283bc103eebc61fa453c6899b83b8d9718bb52ed3dbd9acec03b22881a3ccfd4f9ba342045bd64760abba5ee443c711473ba029036bdcffc9fbbe76d543cdaf7593aecc71cbd9779d1bbce44573c1db875399a4209bdf6b8d3bbfb423e3c03a8ff3af8d6d5bcae77b1bb1578223c2d13093b5884a1bcfbc052bb22af0f3c2b61c53afdfe26bc22cc47ba9d11ce3b86cda73a5227e1ba69ac03bd62cfd33ef577343f101387bae42233bd1f14c13ef9d9283f094008bb11e42abdb88ca33eeac4123f441339bb152124bdadd5843eae1ff73edab006bb18061dbdd43d483ec6b0c53e7170beb946d51dbd3537083e9606973e4e7aec3a39ee15bd9db88f3d8e514e3e95f9903b20570bbd9a89353cc602e53d8783473b5dacbcbc7992f5bcce62a03cd6700cbde72093ba0000000000000000d79d1abd2dde4ebb00000000000000009e11c1bc741184bb0000000000000000c57b51bcde7c86bb0000000000000000da451fbbe53c65bb00000000000000006e88853b622e75bb0000000000000000e7001c3ce4b371bb0000000000000000a4995a3ca34581bb000000000000000030903d3c926b2abb0000000000000000f384143b98bd343acfcda8bbe400203b07b09c3b07f4313beedb62bb0d6a7c3b260e323b0237393bf56fe2ba3d944d3b3ccb343b79944b3b2d03d2ba7e0d4c3bc1bbf63ab99eff3a852601bb3595fd3ab02b3e3ba645a23a798e3fbb7fbd5b3ab104933a6897a53acc29feba5c4fd13ad340cd3ae0ef863a284c5abbdc15ccb75e06ed392cda8c391ead4ebb943d77ba2ff98d3a5368cdb9733a2a3bc12f7bbc5b3c9d3a2e54d4b91c9b803b0c659bbcda50c63aae2942baddc84a3b7a9476bcb22c013b02a9dbb9140c593b33ad5abc9e2f1e3bfb21a9b745523e3bba6d03bca6db673b700ccf39a7fe9c3bbbc3a8bbd858c93a1d705dba2221653b1d8e133a6c4e103b28b20bbaf06f873bd29e9d3b8fa8c93a834ccab96c42473b3764a53b348c0fbd64439b3bc5fcdd3bfc0cf8bace005fbdf20ff8bbf94d333c97c742bbd42b3fbd8e053fbceba32c3cd33c29ba1ff640bd68107dbcaeaa463c990f993ad64f0dbda29d49bc278f293c11d7103b358f01bd2a0f48bcd9e70e3c5cdac03a7328b6bcacce10bcfa01023c7604803b79fe8bbcca7ac4bb6603a83bf0a2003b911419bc517fbaba9766863b8f67a53ae052a03993b1ebbc83b7893ec8235a3f8a613e3a58e81ebdda05793e07a44b3f38c1a537c98209bdb1e94f3e1ae82b3f4038f5b969e911bd8c9a253efc63123f1d8b47ba878dedbcb5b9f23d1086e33e53f0af3a58cff7bc46c4913da4e9ad3e40e10b3be177e5bc5fd7f53c1dd0673e5a68923b2e09c9bc955d7dbc40b9f23d0e28923b426176bc732e1bbdf7ff473cc33009bd605693bb0000000000000000442d15bd389f56bb000000000000000053978fbc1cc74ebb00000000000000008d10fcbbdbe995bb000000000000000044dd183b748b77bb0000000000000000d25a283c2c594cbb0000000000000000d3e44a3cf5cc9dbb0000000000000000d700903c48327ebb000000000000000062f9683c586850bb0000000000000000ff454c3b05fc573b0a476bbb47f7fa3a88d2603b3033bd3b855f2ab84dce663b14162e3bc0daa93b9a22583ae3db6b3b7d50543bc73c893bb016ba39e007443b3932d53aeb945e3b3f7eaeb938d00a3b823ce93a383b443bfcb5ebb987e8f73abcb6953affa71e3b7948a3ba106e893a376189393ebea13a053e21bbdb7f0d3a7cd09138f6d7573a1b9347bbb0ed62ba4ea0d9b9b9b10bba7806b13acc4b18bc4cf680bae6163bbae91b8f3baf9b1ebc575fbc38da3037ba589e5f3b65cd0bbcdfb15c3aa704833ab1318c3b074fe0bbd720c83a662f12b9135a363b11d54fbb5d820e3b625f81b8a2235f3bdae9743a8d1aef3a5603e9b90705203bab6daa3be8c4ce3a75efa9bac64a3e3b26381e3c66988a3a1e6c01ba14f6073b4dc3163c78db31bd0d86ebbb1396033c6fda1bbba9ee69bd9e4fc0bc19561a3cf72eb6bad5b458bdd1c5e7bcff812f3cfe21dd38e71b3cbd64c9e3bc21b7223c524d0c3bcab60ebdac07babc9061063cbd0b483bb8d4eebc3df0acbc08b6d43b2ea3863b2399a5bc476684bcf567813b5af05e3b47883cbcbf291fbc7326893a3368053ba814d1bb69da64bbb9ce503ae5a20d3b2ca0f43a6cd9c8bca9f4023e6c37803fdb123b3b64b4f5bc4a06e43d1ef36b3f91b0943a373aebbc23aaba3d6ab9493fb36068380da8e4bc46ae8a3d4abc263f932a4e395e5fc1bc5980323ded4a023f2d389f3a3d91babc82a36f3c1b97c23ea4ca133b1ec999bcce9f5cbc1c477d3e17f6853b667860bc31ca22bd0263f53d51618a3b357801bc117245bda08fcc39b4b9eebcd317babb0000000000000000e0efcebcf5fbadbb0000000000000000900915bc15cdacbb00000000000000004e8f113b2a3493bb0000000000000000d6b8233c79605fbb00000000000000007f51893cb5ad8abb0000000000000000e48ca73c087639bb0000000000000000bff3b03caa1f62bb00000000000000007cdf953c96f523bb0000000000000000000000000000000000000000000000005823103be556b93b6a549f3a1a80f93a2c85023bb438a13bb2290f3bb576153b2112c1b9627a4f3be7350d3b2ffe1d3be30e773adb764a3b1165aa3ab32c073baf0b9d3ae149353b523c233aad118a3acb7d283a5bce003b328e9e374aaaa53a43068f39e869af3ab2b298ba033170390000000000000000000000000000000000000000000000000000000000000000ee3eb6ba5b7034b972723f3b36be84bbfc40b8b9df8283b94eae1e3ba46348bb10ee8fb9fa8781baa9e93b3b55b1c5baf45c09b9a47a3a3a3156073bb32d01b8c9db963af5ed033aa41e0a3bca61383ba6f9e73aff3968ba5a4af73a2086c93b4ab19f3ac8a0a6b9249fb93abc3f203c00000000000000000000000000000000000000000000000000000000000000008d2d41bd27e2f0bc5ec7073c38a3bfb9e86e20bd0012f8bcd6f8e93bdba7a13af00209bdbdc4debc6db8cd3b788a353be8b8dbbcc1aababc77ca783b76da943b2efc9bbca8d8aabcb44b393b1245853b663c46bcb86482bc7f6f883a0230283b5a0ed1bbe64134bc2a436bba86e95f3b000000000000000000000000000000000000000000000000000000000000803f3e1fc13a7fe899bcc67902bcf262803f353f533ac28b8abc5a9e1bbc562c593f2d066c3ae60787bc71f356bc4616333f076354b9061a6cbc5e9699bc68360d3f2857ea39f9f14fbc2bede5bc48eecf3ea464c43a52ba17bcdbeb16bd1485863eea492a3b16abc2bbf12c44bd819af93d0000000000000000000000000000000000000000000000000000000000000000df77f0bb7d0ac8bb00000000000000009a693c3b18bc8dbb0000000000000000af9d203c896342bb0000000000000000343a603c8cd726bb00000000000000000f20953c453eaaba0000000000000000d7bda43cb2a304ba0000000000000000b160af3ca55aaaba00000000000000000000000000000000000000000000000000000000000000000000000000000000c629b7ba4f0b20bb5d0b73ba36e49d3a724ce9bab88f17bb28e599ba55bd953a68acc0baa47919bb5378aabaf95f3c3a4bc38eba2df4ffbab32c9cba82be213a1be79fba8a8c24bbabb0f8ba2df6f539610884baab8806bbc424f2ba607694397572edba45c000bb5f66d8ba6fcd3e3a00000000000000000000000000000000000000000000000000000000000000006250ef3a0ff6b839e9f245bb083baebbe537163b85c47eba1e5039bb5661a4bb621dfb3afeb8df39c60f28bb275e91bb8674f43a87d1313acdbd07bbe51b79bb364d0c3b2b546a3a0b3611bb9fad84bbd2fd063bd3e0743a16c6cbba49d852bb8796343ba998f639132c82ba182225bb00000000000000000000000000000000000000000000000000000000000000009a1f59badeb19f3b44887b3a76d348ba7f2993ba7b4f9f3bd7ad063b0d83fcbaaf4ae6ba5f1f803bb8d2e63a48de05baada7e3ba470d643b1839163b9583e0b94f6a06bbb30c633b46e1493bae69b8b9088303bbed45423bc644593b0885cab717798ebae438563b9a54293b1911beb90000000000000000000000000000000000000000000000000000803f00000000adef37bb4f01e3b94477633f83900f3b9e2542bbad5f2dba92fd423fb8bf773b96e940bbc225c7ba824e223f3a57813b584f2cbba1a709bb6fb2013f4c259d3ba12659bb454965bb61d1c23ed61ecc3be09743bbc1398cbb4fbc813eafc7d83b979816bb24e49cbbb7b5023ef680be3b00000000000000000000000000000000000000000000000000000000000000000ebf18bbe888abba00000000000000005bd33bbbfae80fbb0000000000000000fb129cba7006ccba00000000000000006d2b3aba0964e5ba0000000000000000a53091b9f7e903bb000000000000000077d51c39cdc7e2ba0000000000000000c994bfb9f66910bb00000000000000000000000000000000000000000000000087f4e4ba492346bb15569eba181cbc3a5d2400bb56446dbb0c95d9ba9531c83a5bd525bb6d6480bb0396dabacc06c43af0f62dbb12d67abb3c710fbb2cbb963aedddd1bac17246bb5b910abb4eeb0b3ab6d7cbba677946bb681227bb24ff003a532a8938af0243bb742c2cbba0f11e39c310c1b9e3e01dbb12d338bbf54729b9370b58ba2b6c13bb40801cbba7bb22ba5e73113b7d97d33947ad4bbb3601b2bbf35c343b4cbcdb393f6783bbed38f4bbb56f523bc890e8b942d989bb5cbdd7bb52a4543b75f2c23a54f085bbdf03dabbf05c2d3b2a15a33a6fe83abb5e14acbbe6d5333bec43b93a2b1b28bb35daa9bb395d1f3bfb0aaf3adc1e0bbb30e090bb255e123b6bf7e03a737d89badc4e7abb26e3943a9996393bff418eba5d8d46bbe43698b8a478b53b200a593a769581ba46c2b8ba1938df3bf426dd3ad823b3ba85c6daba90f7d13b51424a3b3e4b05baadf523bb6761bf3ba043743bce8716b843202fbb99a7953b910d783b4fe893b9f8c53fbbdea78c3bab39943b5c3a1db938173ebb8426653b47b5953bca284639b25b42bb5fcd373bda1a9f3b28d5303a1d7401bb3e1d723bf6e5a73b0bf69637d0d731bb3c2196babf94633f526a023ef45680bb6276f9ba5b82483fc9b1e93d4bef73bb1b3f01bbcacc2b3f8cfccc3dd7ed8dbba2dd5abb9e2d0f3f63d5af3d9dab6abb464670bbc34ce43ea61d8f3d142474bb19e6a8bb5f6dab3e4392643d392869bb8c4ac6bb2014643e0516253d7c4f53bbd723f0bbf7d1e33d6a57cc3cdfe809bb5e61c8bb5792153be12f083c3a3045bb429dc3ba0000000000000000007066bb0af303bb000000000000000008adc5ba8efd68bb000000000000000053964aba7d495ebb0000000000000000f16622ba040b1bbb0000000000000000184988b847f532bb00000000000000004c94eb393b6b28bb0000000000000000f5e68b3a968b14bb0000000000000000f243e239b5d70abb0000000000000000e0ffebba284428bbecef9bbaf6949f3a4e3f8aba8b8b71bb187152bbcc2bfc3a5002edbaba4c57bb6b7908bb78cb7f3ae794f0bac7bd7fbb8f5d36bb4f184b3a6d813fbbbb3832bb2c1406bb8a9eeb39615ec9baed2f58bb34f63ebb3a979d3910e09dba3aa92abb640118bbcd6e2f39d00693ba7a4530bbed573cbb3b1779b967c57038c5d65ebb1888d6ba584a9ab89909053be9be923956b727bb1dee8fbbd12b573b75d3133a18c86fbb91a30dbc0516283b2e8d683a44d24fbb6c7fc5bbee8c533bbfdeab3ad4b068bbe7a2dabb0daa203b13a09d3a92ae17bb924e8ebbe120473b98d5ff3ab08a2fbbeea7aabbc5491b3be1f8cd3a9c92eabae5f975bb3a7f1e3b06fbec3ae83fa4ba7f4777bbbf6cf03ab0f2d43ad6601dbb9b6401bb61b529b984f5a83be7deae3a37aa56ba7e0be5ba53b8e93ba2f8243be3ba96ba1a9210bb26dfb13b48dc3c3b0164f4b9d7e15dbbd8c7b33bbb8e883beb3c7ab9dfc826bbb492773bb1da6e3b302b4cb7a76b64bbb847893bbf2ba53bf92ab43972aa33bbb277323bff5c8e3b07e1123a345552bb152c2b3b1649ab3b93b6633aa82fe5baafa4e23abb15773bd2a4473a266622bbf48202bb0bdb423f20e1813e700194bb2d914fbb960e2c3f1044673e1ab567bbc80c4dbb66ec123f0730473e654f8cbb926794bb6cb1f53eccc2293e076941bb0e2074bb9943c33e57a8073e29db7dbba088c0bbb3dd923ef7e8d43d1ef43abbffd2afbba9ab423e89f7903d52ea37bb7c6ae7bb9a62c23dc7de273d835257bb67e398bbe42e54394a22df3bd54839bb89d1d3ba0000000000000000800c60bb5e9525bb0000000000000000e7c3f2ba5c1f05bb0000000000000000b2655dbaffd919bb00000000000000001a042fb9929e08bb0000000000000000997e0f3acdeb2bbb0000000000000000ec8a9a3a970608bb0000000000000000c2d6003b701610bb00000000000000004325e83adc2cbeba00000000000000006cc9dfba666d48bb336e04bba506953a00365bba26cd89bbda2a4fbb04835e3afef0cbba115765bba08e37bb6834713a54baa7ba796eb0bba6ed9cbb403e553ad6a68eba3b4a4cbb863039bb9e027a39dba8b1ba946757bb83744abbf649e9b7d8ee8bba351448bb9cdc5dbbbb9c8aba274a2bbacad9f5bab7b847bbdad637ba2a877fba2f87e5ba6b1d0cbb150721ba49f8163bae513a3ab91038bba528a1bb2e292a3b2d32133b669c04bb0451edbb21035a3ba02a9c3adb6c49bb384fd5bb7608643b5fb5dc3a7e5e41bb48c4c8bb6949373b4fd7f43a6dbe34bb4428a5bb4f9b3d3b3b15073bd8b51fbb9d4aa1bb4f3fb03a4206243b655100bb99ae8fbb90f4243b7069ca3ab1ee8bba976440bbfb97d53ad4a9ca3a951623ba1e650bbbf1429aba555aae3b183b033b7cc201ba228246bb5fd3003c75f2973b3670bfba316954bb5de9b63b1e48843b10bbc1b9652182bbe3d8ae3b4384a43b85598838df4071bb89627c3bb06a9e3b992d0f3a29c482bbe1486a3b93e3b33b25fa2e3aeb4a90bbed6d6e3b9e45bc3b7737883ac0697cbb6a98013b95e8a33b85124b3a29c925bb21bbb33aea0e7f3b06f18a3a065133bbcca224bbaf7d223f060cc33e276d8bbbf4f18ebb601d0f3f9180ad3eba3b75bb8e887dbba34bf53e180f953e45f67dbb6fa9a8bb8ec5cc3eb5027c3e0f5e73bbc164a5bb3bfaa23ed4794a3e60046fbb77a9cebb473b743e4b571b3e0a575bbb62aae6bb778f203ed788d53d7ae502bb0461e1bb3f5b9f3ddfc6683d8449c5badca5a2bbc2ad5fba8364df3b19b033bba0eecaba000000000000000058ee66bbf24c48bb0000000000000000c552adba4f5424bb0000000000000000d1db17baf52c35bb000000000000000025be263ab0c608bb0000000000000000fcd7b73ad0102abb0000000000000000b022123b08ed93bb00000000000000007f8f343b622531bb000000000000000092181b3bae8bafba0000000000000000f9baa5ba65d722bba84bdfbac086083b8cc70ebbfba76ebb22d54ebbed299a3adb7ba7ba103f38bb197c31bb4ab1d0390704eaba8fcc54bbaad23fbbeeced139bc0e8aba2d2e25bb27e11ebb6d002037618aa1baeefd3dbb71db52bba4e8eab902cefeba663ea7bab929c9ba6f7792bad0fe28ba7d8714bb38ae4abbaaa391ba2a7a9d3901d4a1ba4e7406bb2a10acba28c2c83a271114b9c33919bbb06281bbd5fa4f3b2bfd853a28f75abb3de2cfbb01ac233b230e833a668a29bba999a9bb91003e3bd834d13a4aac3bbbd19db1bbc2c20e3bf34bc53a854c10bbbf3975bb9cfa273b5edb073bd4a315bb129d8dbbcecde43ae1b7f03af5353aba0be2dcba8fb70b3beabe0c3ba4ada0baeab747bb2932613a3158333b3da9cdb962b4e9baa22cabba0c0fbd3bacf7dd3ab45fa1ba81de70bb2e24bf3babb7803bf6ef23ba8d4676bbc97d843bb016783bf929e0b9e9d691bbbb12863bda17a53b0e2e9639213f5cbb4ffe253b3fe1853beeef333a549f8fbb80b5293bdaa9b23b4ca9823aa03586bb6668c33a7d47943b264caf3accd885bbf89fd13a301fa93b9ad7d73a69ce40bb3028d8385a772e3bdfe8053bc32317bb50970dbbd99d013ff04b023fcbf86dbb9d788ebb5831e53ecc28e63ece8348bb48a985bb2fabc33ee84cc53e23bb67bb52aba6bbc44fa33e6139a63ecf4d33bbc1d682bb759c813e9267843effe753bb47b7c0bb091a423e032d4b3ebde18ebac340babb6d1eff3d058f083e107515bb298acdbb8273793d4ae7923d8966a0ba925093bb67db1abbea84a63b4c6641bbd5de04bb0000000000000000fe1420bbd2fc23bb0000000000000000dd5fb1ba2fa63bbb0000000000000000f0445a381f6927bb0000000000000000b4028b3afad6e7ba0000000000000000b190183bc7520fbb0000000000000000e377333bad67d2ba000000000000000056fa7f3b4504d4ba0000000000000000dc4f023b9197ecb9000000000000000092bdb4ba82f92cbb5eec25bb644b5a3a274031ba36d13bbb902b1dbbdc462639d4d713bbe0056cbb0a76c9ba0c650c39d41bbdbad6a040bb8c6250bb568198b8264fa7baf3ca3cbb0b984ebb668aacb8bace2fbabc0e1dbbaa0d50bbae272cbaa76392b94fd40fbb6c0450bbac8e88ba2a26643a3b8e25bbcb156bbbeeb5b6372b41b0b96fcd96bac54908bb077d95bab7011c3bd1e6613ad07215bb77da8abb82fd243bcbf87c3aec342bbb9a429fbbf3f13d3bef28093bbfe8abba2c69bcbb11e02f3bf45bf73aefa526bb7f29a9bb3a801b3b2941f23a4fbc21bb0d168bbbe701253bc426193bf191e7bae26380bbb0a2eb3a5236f53af8ebb5ba9b194dbbee506c3ada48ad3aeb97c739ec4240bb9c29833a4171ae3a23da25bac983b9ba270d47bbf486893ba1bb423bdaaaacb9859bb5bb9b28923b6753873bcf6996b97708adbb6e06bd3bf774b33bd74d993ac6b3b7bb0eb83d3becd2b13b2abc3a3a803192bb3157113b2113983b904b913af387abbbd613f43aab63c13b7f0fe43a22e189bbf0bdcd3a211da53bc929053bc8c39fbb7642083b4f4dca3b2068ad3a501033bb8967fe39c3355c3b8323d53a025e2ebb4c2b5cbb0bf3c23e4ea4223f8c7e33bbe42ab7bbd8bdab3e9aa60f3f9f1779bbd05aa6bbf600933ec061f83ebd3164bb9f97b6bbc870743e8b24cf3e70065abb1fefafbb4139423eccd9a53e214440bb9b2905bcb95a103ef8297c3e170727bb8731b0bb79adb93dbc46293e560a2fbb872fcdbb74a12f3de978af3d610b99baa2cf78bbbc1640bbfbe1aa3b65df11bb2a3ef8ba0000000000000000716e0abbf2192bbb000000000000000014a1bebadcb449bb00000000000000006249863acbc126bb000000000000000043b0093b218808bb00000000000000000e5a6b3b329ff5ba0000000000000000c8f2723b72afbaba000000000000000051c0893bd865fdba0000000000000000c8ab743b85a151ba00000000000000004fc50dbadaa90abb617124bbc08be4392ba070ba824127bbb7f44fbbfb0082394fb985bad42d0fbb3b0a28bb3b4626b825ba80ba0dc11abbcc7749bb8f2ca6b9329ef4b93197e0bafdf11bbb1f0d06ba2a68d0baaffa9eba19fe25bb08731ebaabf51cbaa8ebbeba9f812cbb7bcb96ba58f2f7b9902a08b7d92156bbfd40e1bac41e11baf46377bae82a00bbb80eaeba33fbfc3a29de7d3a2ff403bb992069bb43a7203b5a85ae3a22d022bb02f9a0bb2ca2013ba5e2c23aaf230cbb9c0980bb3c05173b525ff03a178910bbb6a591bbc5b5d23a5ac1c63a327fbbbaf44a34bb4cbc013bb523083b0d532ebbb9bf22bbb696bb3a9adbf43a726967ba8815f6ba9089af3a9b94003b9a4d053ad6e0f6bab5cf1f3ae425a03a1320eab943c830ba27a777bb6d214d3b1b2a553ba1a4d137772bc2bb0186533bf6c9983b0e6bbb367060a1bbe720f53a5eb68e3bc1200a3a5af2c2bbc347c53a0103b23bbc21853a9cbc88bbc592463ab705873b8f76ab3af6e2a0bbe31b413a658ba93b0daffa3a596083bb98d02d39c35f863b9723003bf7a994bb8b7925b9ea88923b3947293bb33b29bb8f865eb97ce1333b36c1e13af8831bbbc6f651bb06d5813e7c01433f171554bb25539ebbaca8643ef52f2c3f2e8d2ebbef4185bb22db423ed24d133f15da54bb2b21afbb1714223ee957f73e01bc15bbe7dd83bba712003e5bd6c43e85da82bb5e4ca7bb2414bd3df587953eb8cce0ba0fea8fbb9bca733df484473e0f08f2bab31bacbb7f9dd33c895fce3d9cc058bacfe448bb62a786bb0668863b2f3ababa3fddbfba0000000000000000f7e47cba57d11ebb0000000000000000f40dfb39736500bb00000000000000008f55043b5da815bb00000000000000003a7b283bb86fa1ba00000000000000006f488c3bcb7dddba0000000000000000a7b18e3b62e08fba0000000000000000603ac33bbf0e62ba0000000000000000d307873bbfe58cb900000000000000005978cbb92080dfba102638bbe1a80dbaae9659ba9acad1bad63b2ebb49c53b37ec1e61ba1f2de9b9642a43bbb4550abab00938badc00d9ba346638bb28de26ba508b1fba4551d7ba40cd22bb5e243dba2f07bab8f789c4bac2d649bbcbf80ebb169b2f3a985803b89b64d6bae9403fbb1554edb82d2a36baccff1cbb920cd9bade5f6bb98634d3b963a4f5ba750bc0ba16ab3e3bb9906f3988cbefbaab1266bbd25afc3a9227ab3ad9b2dbba245b82bb93cad33a3d0bb93a76b8ddb969f585bb8a75c73a9c36dc3afaa1cebac9b15ebb602fb23a43efcd3ac53698ba053026bb21fa0a3b358d163b4d5f9dba06eb26bb7598983a5995e03aeed7da39c822a5b9d4a8693a0e4ce73a666f30b80788d3b9f40ee2394ce08c3ac80196b8408dceb8189cb1bb7d1aa13ab29a9b3b4a2646bac55bdabb37edab3adb8e963bcbcb0339f9a4d4bb8e8ba339deb69b3b82353c3a24bac2bb9f418eb8e963a33b1c73bf3a87aa9fbbfb2cadb991298a3b3963d83a30e7c3bbc6dc20b99cd19f3b0d001e3b16f8b2bb9ca80bbb7a23913b31993c3bf6f97bbb667297ba04e35c3b02c52c3bba452dbb145c5fbad2b1183bea1a073b41db25bb3a2774bbea7f013eb3d4633f7ba127bb876f95bb78e0e43d1976483f09b143bb0ad19cbbd44bc23d32022c3f345334bbe5959cbb89ee9f3db6920f3f1f4a1cbb53d28abb977a7a3daa5ce53e94e225bb0688b8bb5680353dd7eaac3ec31a26bbe067b4bbb0edc93c6343673efa0f55ba425b88bb132f0f3cacf8e93df9c20ebada1434bbc757b8bbe3eb353bda4ed3ba68bd04bb000000000000000059969bb736ba2ebb000000000000000088d6d33afaaf0cbb00000000000000008f0d493b010ce9ba00000000000000009e18793b3692a5ba0000000000000000af99af3b6d8887ba0000000000000000e52dc73b99dae2b900000000000000000e4bd13b2e24f8b90000000000000000b667a53bc39b04b80000000000000000000000000000000000000000000000003676a5387819af3a2bbef5ba647151ba27798eba7baf7abafbfbf0baac6eddb9ed44b8b9bf4a60ba92b7dbba41fc2eba3a7744ba7ef570baa533d1ba4fa540ba6996fd374a6809ba3ee8b6ba6b7367bac6913b391fbac3b90546e3ba538ee5bab69aa6392a899538e07356bb7c2289ba00000000000000000000000000000000000000000000000000000000000000001d0ee2397d98013b1e886dbab12932bb06ab863a0b08ae3ab67f66baa0ab17bbb7e1833a4053ba3a074964ba5d8203bb8a284f3a2cf59b3af63257ba57ffbbba76e4293ab935a23a05fc94b9e5cc6dba99b033ba7293dd3a9f752138c843e3b99e0d013a85fca43a2557b2394f58b53900000000000000000000000000000000000000000000000000000000000000003818bfbb35578cba4c21213b6795893a4688a1bbb91728ba08a36a3b028c2b3aa28596bba3258fba58d46e3bd156b03a1e3064bb2e3395baee8b3c3b080bb73a874c54bb8bfdb6bae08f2e3b8183f23a76f45abbd559e4b9de6a483bdda4223bdcb915bb3252a5babcda053bbacb133b000000000000000000000000000000000000000000000000000000000000803f0e2001bb77196cbb0cda8eb93f49633fc74b01bb57f25abbf190d9383716433f23e1e6ba9cba5cbbf54d5dba52a3223f9a43bebadbf937bbf788ebbaa1c5013fafc895ba869937bba73946bbd4b1c23e081089ba624e53bb68a46abba11d823e747f99b9595b16bb829df3bb0649023e0000000000000000000000000000000000000000000000000000000000000000e6f8f63a5c51a4ba000000000000000054800f3b0460caba00000000000000008b8c563b2506aaba0000000000000000626b683b8cb43aba0000000000000000c1708a3bd46cd9b9000000000000000006a6a23b6418a33800000000000000006c36a73b7b5a5b380000000000000000000000000000000000000000000000000000000000000000000000000000000080e3b8bb8f42493c2ff4ae3ccee92c3b379179bbfc306b3c77428b3cfaa4b63b32e806384483213c6d3d733cf2504d3bd443363a28950d3c6e872e3c60668e3bdf2f04ba6eaa003c585ffb3be27fa03b99939fba639b703bfd7dde3b142fb43bd994aab9e500643a573d753b76f7f53a0000000000000000000000000000000000000000000000000000000000000000333d723bf499e2ba516df13b0cf3dabc0314423bdf5f86b9a42afa3b3a6aecbc7cf5503b4435283a46776c3bf62800bdbfb60c3b7d279337e415693b98c7d3bc13dbce3ad234dd3a9977943a536880bc99159a3a5952b6b93888043ad386e4bbd724563ac5f1a2b93685aaba12832a3b0000000000000000000000000000000000000000000000000000000000000000c3af0dbe5358cabcf502a93a9cfd803a7c8706bef2bce9bc0c99503aed4c66380da0e4bde445f7bcf1b59fbae10829ba553ebbbde4f5ecbc339f38b8a3a4d3b8cd1e90bd3d95dbbcc4d3cb38b3daf4bab5be3abd7e5fb3bc67101f3b48cbceba4bc899bc80d952bc186a913b848b3fba0000000000000000000000000000000000000000000000000000803f00000000c722363c380ba1bd86539f3fcf1242bd1976913b5f4f56bd29e4833f068756bc80ebd23a133c12bd11b4553f3bc9003c281c533ad1d800bdcc12223fbded863cb648b23a535cf5bce3f3df3e101f9d3c0ee0543bec0fdebc416e7d3e698b233c49bd993b4aa9e5bc6ea2873df891e8ba00000000000000000000000000000000000000000000000000000000000000003c47a2b9b905623a0000000000000000546b103a3010093a0000000000000000c38de0baec5a6b3a000000000000000007e22ebbe6aa8bb90000000000000000bbe659bb1668ba3a0000000000000000ab9f60bb9559993a00000000000000009c9c58bb6b5bbb390000000000000000000000000000000000000000000000005513cfbb4741f53bac36483c0ec4cf3a932541bcadf7743ca80cd23c0e13e23b265dc3bb454d6c3caf5dcd3c9efe043c425538bb3c5b633c328aa23ce7b2213c5619dabaaa083d3c4d17763c2490f93b0060d2baa33ee13b30374b3c3b410e3c1005b9bab6b06a3b259a0e3cbfb3b93b94213fbb52dfe439d44d243b8828f63b2c2bacba6cf6f1badefa36b99bb14e3af4a7453ac6ae5bba8063493ce522c3bc396d753b0f1d20bb97d67c3c6dae96bc0bfd513bc329beba945c533c7fb4f1bcff463c3b26f4b0b9a2f0373c3bccfbbc8e7feb3a8b9f1b38da99e93bcff2cfbcf68dee3a65bc6bb919eeb93b431e62bce3b7863a91554a396f4b9a3ad6503bbb97e1e73741c294ba1edb81bb4e2e003c8f9e90b9cf9332badb45f7ba18b2213c4b20abbdf94fa8bb016ce8bbed95273b495419be6766dcbccd358abb6208553b73f91dbeea6c15bd22e6b0bbb895243b74740abe378427bdc7d5e5bbd8c4cf3ab2a3d7bd799715bdcc6d95bb229db53a6743a8bd8eb210bd3b542ebb01371f3a0d4e52bddf85dbbc51f7aa3ac579473a53c390bc71f28dbce2004e3b9f9bd9399116d73b323a89bbba2f9c3b5102b9b977fa963cce0f0bbe00f59e3fe1979a3da447be3cf74817be12b8973f889c9d3d7212623cdbb7debd647b823f27edcb3d9a71ec3b2a02aabd8d30513fbe14d63d6ffcd93bd6a688bdf2d41b3fcfb1c43d4d4ae93b9c6c74bd2630d53e40e7a03d274f393cb2f14abd9aab633e22485a3de268673cb806fbbc3ab83c3dd4fcce3c91b44b3cad85febcec598dbd129ff7ba8c47dfbcc70fa23b000000000000000061d7c0bc033ba93b00000000000000004c9ab9bca2e7233b000000000000000092879ebc3019663b000000000000000075208fbccd07e63a0000000000000000771c94bcc47f2d3b0000000000000000cf748dbc36d1e63a0000000000000000385565bcd0de903b0000000000000000f71e3abcfa495f3b0000000000000000bf6c83bbb156e03be654e43b53f8f13a5c00f4bb0f50543cb481853cf058b93b041d50bbda5f513ce5b4703c807cf53b136a16bbf7224b3c21df843cef7b053c20d7b2baf02fda3b28aa383c1ce8cf3bf4c8a1badc63ad3b0858383c3ea6063c9a8c1ebb465f913b8162df3be8d9be3b0fb732bbe50d31380a2e4a3b9fe6893b2cb40dbba4fa11ba8e8524b9486a0f3b08dcb7375ed4a839ba1d563cbcd8d0bcbf87413b1046d7b95598813c1cdadabcb2c20d3b6e4865b764c03b3ccfc5fdbc87e3393b2f9ccc39f2fa3c3c2ddfe0bc08c6a13bee6989b88cb70f3c34e099bcc54ac63ac2b17038ad80f83bddf550bc5d74033a8bbdf3b811de8d3b141f67bb39067c3ac09ae8b951b110ba98bce33b7dec3ab9c06d62bae77ced394381043c1f9a6ebd5f48fc3a44cf75bcddb07d3b115cf1bd0ecacfbc5d0e83bc9c86b63bfb8fe7bd9d0710bd39865bbcc7064c3b4e84eebd030c35bd5a1a52bc1abb463b0624b7bde23924bdbaee03bcd09e8d3ae89f94bd49c018bd0c7502bc1db42d3b5d9e36bdb5edd4bc459c82bb3276ca3afb8b8cbc98a38fbc8ffe6cbabbf7bc3a93e5163b87d640bbce349c3abaf5a83a9919843ceeb708bea5c8843f2327853ef6b6bd3c06151fbe2e6f833fc460843e7797613c17e4debd9ced583f050b813eabea323cf4a7cebdfe04373f34d4693efa02183c8b1a9ebd23a4063fda66423e2f0c403c64ce93bd1cadb93ef2151a3e5a3c2d3c029f68bdb134503e6a29d23da92a853cf5e339bd450e4e3d358c4f3d06a85b3c565b02bd675d43bd0be2f83b841f5dbd63d5e23b000000000000000068046bbdc8c7113c000000000000000026b035bdd839d33b00000000000000001e2e1fbd2154943b000000000000000043e7fdbcc657353b00000000000000007880fcbc4da8853b0000000000000000293ad0bc8e325d3b000000000000000077e5c8bc10dbd23b0000000000000000d9549cbc67c29e3b0000000000000000e8018cba768b9e3b6b06563b3ad45f3b99dd77bb32f02f3cf3c8313c2845f43b884526bb4418493ce2d36d3c6c63203cc5162fbbd27b313cae8d4d3c6dcc293c52099fb96dc7183c7e072b3c47a51e3c17c101bbd6e4d63b05c4063cb39aff3b21ca2dbb83a37c3b9d61c33ba980e83baedb64bb50cea43ab750403b6400873bfe40e8bae94341ba110c493a182f0e396b7e2abac3a2833aa649293c6151e6bc244ff839d2a7a53a3be8693c568ce6bcf8ac0a3b82a1863a35c1353c6583d7bc2d6a1c3b6eb2b83afa92273c6110b8bc3563183acceb9d3aa453003c3d5399bc43a3a33a7472d2396e3dd93b48d00abc4787813a1463d239854b9d3bf23f93ba192a2e3aa57251ba6598263b8465c53b83f9c839d0648aba93efcc3a37bad63b129233bdf83d973bafa2b2bc30df6c3bad05c2bd77b6e7bc9f3fbcbc4783e03ba618e0bd46713fbdd44bafbce9cc943b7553cabda6d94abdb03c9bbc9fe96f3b1182aabd979b3fbd873581bc9fdc243b324481bd3ab723bdecfb39bc66a06e3ba4dc29bd6b15ffbc29640dbc53ea353b4a4193bc93848abc01153dbbd8d63b3bdaf4ccb926ab95bab77497b9ff7b2a3b57544a3c74f3ebbdb9c3573f90cbe73ec8179e3c48450dbece61543f3c8de73ec0f0723c2916ebbdbd46383fe279d53e73da3c3cf6cfc2bd1a4b143fa011b83e26f61b3c444ea5bd427bdf3e319c973e64f22a3cb0aa8ebd50a5973e8db3633e83b85b3c5a7b76bd9863263e26d4173e75e8663c3b2c38bdddd92d3de709953d71fc453c50120bbd068f17bd592f5a3ce04d9dbd0dde033c0000000000000000b969b0bd1f45423c0000000000000000ffe88cbd2f500d3c000000000000000068045fbd4701db3b0000000000000000906a2fbd37e99b3b0000000000000000b79a20bde7787e3b0000000000000000eaa00fbda0d1b63b000000000000000026d905bd7075cb3b0000000000000000f594b8bc5360763b0000000000000000cfba843a5b26473bfa2c78390ad7153c503d6abb2136293c218b083c11fc153c97dec1baca6f0c3c1d4f1d3cb1d2453c6e4e2bb9c107153c9a892e3ca8c1403ca16fa4396b5faf3bfc859c3b2036053cc4b474ba0e91b73b3cb1d53ba3f5073c6d29a3ba4fc82a3bb2b39f3bd7d0da3b9d7e21bb0a09ae3ad43c263bd7d2283b668676bab82b4bbadcbebeb912c8763a3735c4ba8f4c0b3a323af33b9303bcbce06ed439b245f13a02782a3c9eefb5bca217ec3a4d7fc73acf09003c9a5a9bbc8d5de03a4f9e233aab62083c525b92bc56a7a73af7f8a23ab3959f3b7d8358bcfff5ec3a6299cd3a4a07ed3b5948e2bbaa16fd3aab97e2b94ac9433b701bd2b8a2d1ec394312b4b9fd4d373b5d5eb33b8cc9f03983a885b9a7d5223bfe39c23b57fc1dbd997c0dbb8dd2b9bc1611573ba6e49ebdbf481abd0c99f3bc1702c63b00a0acbd41c65cbdd77bc5bcb020703bc5a7b2bd903d7bbdab0bc3bce06da13b16816ebdcdf01ebd20ac82bc816bca3a193766bd1f9636bde22090bc3c44593be5f10ebd51daeabc8b4939bc9c4b643b071681bc256b75bcd35eb6bb20f8833bc27aadba532f2d3b56dd71bb36561c3b1e48263c0329c4bdad82253ffa67253fdcac7a3c0e55e6bdb357203fff68253f0a7a2d3cb744babdeb0e093fe150123f83191b3c3709a8bd2c05e33efbd6fd3ed3fca53bcdfb66bdbec6a23eac99bc3e96b7fb3b0c157bbdbf5a673e12f6953e6af20c3c0b2142bd8580f83d6d563c3e4016363cc73722bd599fec3c4ce5b33d79600c3caf6be6bc048100bdd2b50f3c9f37c5bdf0ac0d3c00000000000000002ba9d8bdf6fd6f3c0000000000000000b635a2bdbc1d173c0000000000000000c8db84bde732dc3b0000000000000000efd41ebd469c253b000000000000000012ea33bd7fb4b53b00000000000000001c2412bdf382933b000000000000000017d40bbdefc4c33b0000000000000000b1deccbcc99d673b00000000000000008adb84baf2c87b3bb7a8d13ab1a40e3cfea8c1ba004e773bad87203c28cf5e3c80c85fbbc937153c210f493c5fa2803c8f5500bb2f41f53bc7bb363c897d733c9dd468baec04f13b2bff0e3c37c2393c3cd0bbbaf8aea93ba40de93bd6581e3cc3ca0fbb7aa4563bc57da23b84fae43be32117bbf11a743ac063063b0a0f563b1c3855ba2aeca4b919e06bb93ad1613a672b74bb0095d53a82f2ab3b3cde78bc0a8e363a36e4093ba688ef3be20f25bc2ac53e3bd526eb3a2653d23beb3f2ebc711ee23a78421d3be09db13b788008bc8979953b46f4bd391b64b53bbb36e7bb8181263b81bd7a3ad0a3793bb74d20bb27ed103b2892653a4a5e653be659183b887c7f3ab49875b9c25cce3a31e7b53b19b1c638a82881ba1dacea3a25f6aa3b25b112bd96d41abcaef5d2bc57caa83b14d88cbd8dfd75bd7cb906bdd8a1113cee51a4bd726aa4bd0100f9bc08f09d3bb96298bd8efc9dbd0a27dcbcb65b6c3bba4b84bd63028abdc114cabcbc407c3bea3d47bd5df755bd74c7a4bc629d813b45a101bdf61612bd884979bcf0a1713b387b63bc166e67bce4d720bcea7c9e3b9b6cacbaf23e373bf2190ebbd2c5843b443d083ce8a29bbd360ee63e7957583f23445b3cf431b8bd791add3ebe68593f792b3d3c9af49cbdc5d9bf3e8f19413f1759143cdd8f84bd9ad19b3eaca61f3f9767dd3bffa669bd55196c3e860efb3ea724ff3b746a40bd07521b3e7a2eb43efafbfc3b97011dbd08bf9d3de514603e7343073cf7aadebcbd70473cec28c03d6b4fcd3bc71f95bc72ab09bd0268493af4b4ecbde1e5393c0000000000000000d0b005be7ea38a3c0000000000000000cf51cdbdf56f543c0000000000000000ee8294bd882a0e3c00000000000000002e9460bd900be53b0000000000000000187436bddeb9b03b000000000000000060911fbdd675a63b000000000000000002b911bdfcd9dd3b00000000000000001d93d9bc91343a3b0000000000000000908c6fba0eb4553a106e1d3bf922393cf56353bb3f0d743b1d220e3c21019f3c14ba1fbb74b7963ba482393cf1c68a3cbc5d3abb2ecee93bc826413ccd0d943c03bba1ba774fdd3a6c000c3cc807333cab3c09bbb97fac3b3c85ef3b52084d3ce98a68ba5776813aa7b5843b8932cf3b6e57e1bae443503a3c73ea3a66ce723b7c1f0cbaea6a00b9a63820baa070fdb8b8c3e2b97330323a4f41683b196d93bb97f91e3b0ed9c73af0111b3bbae0bd39329d313b0e78973a6e69663b91e6a7ba55e38f3b7cfc143b1610303bbd5ae0b9d2598b3b0c50de3a890d7d3b102c043bc78e813b66edf8393904743a357c123bb163433bf6e4f3b9f9a5363bdc06563bea291a3b295987baea1c3c3acc566d3b78cfb4390ccc8bbaa54046ba416e693bddf6f9bc19ab02bd524ed1bc1bdac13ba34f67bd3729b9bddcd108bd3081043c929582bd2749bdbd0c36edbcf425883bd5c388bdfaebcdbd216803bda3ab6d3b67dd4ebd79009abd7e9dc8bc9c1e323b10982abd0dee82bd6d7acfbcb2e7a93bb640cabcaa1c1cbd8fee79bc4ecc6e3b08de17bc9b997ebc4afb21bc4aac913bd80b103b54dfb53b832124bb921a7c3bae70df3b5ab359bddb9f843eefe9843f25dc333cce1771bdcd95713eb931853f23b3ed3b553d48bdb1775c3e74245e3fff34013c0f3034bd160f313ef5c23f3fc5a9a83bab1515bd787b023e549a0f3f3949ac3b87cbf3bc1752a33d0d62cf3e0096503be80dbfbcb7991d3d238d763ef1b88e3b8fe64fbca1d2a6bbf614b63dec4d653b7d23c8bb8dd1fdbc689ca6bc9d2a09be700a843c00000000000000004b5a14be6d73b43c000000000000000057bbb5bd6c05393c0000000000000000d41f97bd8cb0233c0000000000000000d8f53ebd68428c3b0000000000000000c2cb28bd42d9bd3b0000000000000000415cf5bc57d57f3b0000000000000000c73506bd0717e93b00000000000000003b60d0bc120d933b0000000000000000dc927cba9bd4a2ba364c433b6888703c1bf722bb8d78fdba631b633cdaaac33cef7634bb2f406c3a656b793cd972cf3c6e2458bbe0095e3b97d5733cdadeaa3c8a4613bb25fc983bad01353c05a6813cc715f5ba976b2d3b0760ed3b70b4573c1cfcc7bafbd7fc3a0e96e23ba5db073c35880439b718f5b9ee15813ab4d15c3b432ab6394aa70ebaa22fa0bacc0188b8fff1693ae60ea9b9da4a94b964ccca3bde01c43bb1d8433845e338bb9ccd1c3cbbbce73b5f07cc3a9eb6a6bab202163cf9a0da3bf796a53a2b860aba964ce33bbccbb23b4f17113bf6c85c3865ff7f3b4819c13b425b9a3a16987d38ead08c3b9315b53b69ffc4b9fd78b0b9dfed4e3bf9874d3bb26dd0ba706089ba5bcfda3999d523b83d82aaba2bed5fbaeda41e3b497ef5bcc84488bd7141b5bc9d4acb3b154b08bdaa260dbeba5decbc18bb013cf68d52bd27a711bec6000cbd55d0913b728855bdb50703be70480cbd83e2463b537731bd13f8cabd3a3400bd2e4cc23a16bdfcbcc32a9ebd41afdbbc7377243be33793bcccf54dbdb7d69dbc3780863b568d02bb87a388bcaeb513bcb93f9a3b3f40af3bf85ef33bde57baba422b563bcc5f9d3b9cafd1bc8b6a983d74d69e3f5393c63ba952b3bca1205c3d961c993ffb06af3b3c8abbbc07557e3d7769843f93f6b03b3f5faabccdca613d04ff553f7642473babb98bbc33e2223d3bce203f79f3753b37675cbcb38f8f3cae0fdf3ef33bf33a8fe8debbbf9fbdba74027c3e0ab58cb9a038153b13e553bc7d3c8d3deb4c1eb9628d8d3b4e8a09bd425c5cbd30b509be53a3883c00000000000000002d7909be7ba0b43c000000000000000033ffaebd4c1d513c0000000000000000ecb64dbd7e030b3c00000000000000003265ddbc30c9903b0000000000000000fae79fbc5cd7663b0000000000000000504e9bbccbf90c3b00000000000000008038b5bcaf9fcf3b0000000000000000551eacbc67204c3b000000000000000000000000000000000000000000000000b21782bab40b19bb9abf443cacfeac3c784720bbef99c53ab5f6593cfd67973c236a41bb48ae8a3be0b92c3c8826423c095e66babdad093bc3d9183c7669293c5432b3baeb0e1d3bfb8fc43bda27083c3d5f88ba10ed9f3974ae7a3bd221b43bf0f40cb9aeafe5b993cc533a60de523b0000000000000000000000000000000000000000000000000000000000000000974eab3b0ef7473a882f5abb364e513cb7eec73b8fc15f39088f02bb24f1243c1ffdc63b28af3c3bd48fc8b97c76003cb3438e3b2ae8b13ab9742cbae3cfbc3b60ebaa3b5023ef3a081d023a3166913b50ea9e3b7741853ae57d1dba6e06893bbdaa723b6cea5bbaf9870f385856de3a00000000000000000000000000000000000000000000000000000000000000007c0b14bde2a80bbe392acbbca26c033b3a531abd886d06becdbfe6bca19a973acc2c19bdf198e4bd2512ebbc559eacba4cf9fdbccaa7bbbd7b1eddbc2eeb1db9f170a2bc39b590bd5d21c9bc609387bac5dc0ebc334241bd81db95bc735e343a4637203bc4b2aabc03e62dbce0cb2d3b000000000000000000000000000000000000000000000000000000000000803f8926163b3ba0123ba69f81bdc03b9f3f4394653ba8e2dcba3be623bdda45843fc017fe3a40fbb9bb213ae8bc4c05563f1a78003b30bc44bb11e5d6bcc2e0223fe5a82fbab71d94ba6e15ecbce6c5e13e5deb8ab91533393b61a5e8bcf62e7e3ebb0e16bbde1f033c920f04bdd039873d00000000000000000000000000000000000000000000000000000000000000005a8f83bdfee4323c0000000000000000e94dd6bc2af6023c000000000000000057d8aabbf853923b0000000000000000a579df3b82192a3b00000000000000005e8d0d3cae6bee3a000000000000000097faae3b5ad4e43a000000000000000037996cbb2859d7b900000000000000000000000000000000000000000000000000000000000000000000000000000000d20ed7bb64685c3c3b1ca23c24d292bb645da3bba206743c65b6963c316656bbba7147bb477f523c0ac3583cf24f43babe2df9bab26c2e3cca832f3c6d25d4baad2991ba8d8ce73b478c123cfac5203ba01debba2b6d8a3be42f043c4cd34a3b406a87ba6e6af8392bb2a43b2bdd9d3b000000000000000000000000000000000000000000000000000000000000000050b09e3a6079aa399e100b3cd1b70dbda58f14b95444813a86c5193c909c05bdc7bba4bac1f0ad3aaad9053ca86504bd981b34bac04cce3a99e6fc3b07a4d1bcd42663ba80e0f1396986b63b2fdf82bcb7912fba54e9453ad1762c3b6dbc9cbbfb89a4ba587dfa39c897a8397b1f9e3b00000000000000000000000000000000000000000000000000000000000000007618ecbd21505abce5b183bbf91e0d3b1840ecbd18b481bce3e922bb13ffe139aeb3cdbd7e6d8cbc5777bbbaab681db9a2f1abbd0f8393bcca75b7387a3decbabdd886bde338a7bc79354a3a78660eba24ea3cbd55cab2bcd395e839751af8bad68fa0bc3347a0bc74f1623bda03bbb90000000000000000000000000000000000000000000000000000803f000000008095173c8dc98abd9e3e983f9910c8bc43e08d3b39045ebdc08c7e3f9cc5c73b09282639e82241bde5224f3f15cfdd3cab8881ba8c0740bd614c1f3fbdfa153d09aec7b9ce7e3fbd104fe03ec0f01b3d0a7b1d3b75a935bdc315853e2626ea3ca334963bc7c635bd4b40b03d18c08b3c0000000000000000000000000000000000000000000000000000000000000000583354bbe94e223b000000000000000028e57ebbb94ca13a00000000000000001169f3bb84b9c53a000000000000000006aa00bc8408cf3a00000000000000004ddf0cbcbd330e3b0000000000000000daae17bcf7d33c3b0000000000000000856a29bcffa0783b000000000000000000000000000000000000000000000000e8f6d9bba06d1e3c3068333c42216abbb26361bc312a8a3ce9cbd03c94fc91ba26d825bc7cdf913ce95acf3c4ec0abbaa041f4bb243a863cc771b33ce80b3cba8a1588bbbaa55c3c6dd47a3cc78bf63ae31db3bb3664153c427b6f3cb4fea43bac818bbb9286863bbe02373c8a73db3bbc5caeba250311bb8621b33bdc62ee3b1c5ea0baef764bbb6ca5893a1cfd833b68d0853ac281ab395257473c243107bd8380ca3a7b0eb839a89d783cbce7d9bca8b8f439b0f75a3a75257b3ca29a08bdf92f1d3a817910b98ac8683cc01ff8bcacf68dba326c67b8367d213c03c3b7bcae8ea1ba9edbec3995f80a3cb5f73cbc7aab56ba92e1e4395ade583bd999183a1402e1385ef838baf86eb6bbf318363ced96afb9e45feab9d11413bbfe44463cba0799bd5ada163c74d076bce1ba7a3bc6b609bebca269bc151441bc774a893be56c0fbef039acbc4eda16bc6806263be88502be89c4c7bc7cc3bfbbb31dca37cfa5d0bd5bacd4bc9d363abb6474123a4610a7bd3958f6bc735624bb3acff0b99ed055bd9ba1f6bc60a2dabaff2a6a3907ef90bcc43ac5bc2e60e739d4818339bf03a33bcb4335bc3149073b301ab93988228c3c2e51e5bde649983f6704c83d36ded43c78f503beba5e903f40e7db3dd6247d3c0033d8bd9860773f1619043e4b613e3cf82bbdbde787473fb958073e49ebed3b1902a2bde704163f97f3003e2e1f253ce8d29bbdc1f7cf3ef5a6e03d4eb1583c6ddd8abd915b683ec7b6a83d24fb7d3c7a1f45bd77986a3d5f9f313d291e5c3c049c28bd47a67bbdb776973cf205fcbcd138f03b0000000000000000a15adbbc5ebedb3b0000000000000000be48d2bcae1aaa3b00000000000000000b44cbbc2489c13b0000000000000000c626bfbce1e94a3b00000000000000006488c1bc7b748d3b0000000000000000df3bbebc3d489e3b0000000000000000509bb5bc2eb9ce3b0000000000000000c7ea94bcff4a983b0000000000000000e3b1b3bb567e1b3c88a0af3b50f412bb51c242bcdcef903c4363923c370692baf13dbebb0db16b3c8365633cb5fb63b9007cf2bb96cd813cdb098f3c6b5d1e3be516a2bb92ec3b3ce4915b3c37260c3b2113d7bbebe7163c7ea3553c22e58d3b60b96fbb923f813b78d5003c941fa33b21d780bb95b8afb9bb09bb3bc49ab23b453f0cbbdf2657bbc185433b4092043bab5ae6b89a760a3a6205703c1fc2febc73750fba7289c939fc8a8d3c7fcb05bdd92788ba9b28003a0ad9623c582700bde6faedba131e863a9723663c2f03d3bcbdccecbabc12793a7e6c273cb3d09dbc1bd2fbb989269839f9360e3c9c0cdabbfc274aba706515ba2700a13b29df933946b06bb939c5aab9725cdcba8484403c208c5539850db0ba2ff2a2ba1c8d3e3cc0aa7abd590caa3c3c62a2bcb3b4733b3db2eabdc51125bb5b6ea7bc8444ad3b9b0dddbdc78151bc3e7d38bc1492d63a882deebd6d5cccbccee037bca975853a999fb5bd0f92d2bcec39b2bbe04332b8f1779bbde35902bd1ff2c4bb4bd14db84a5240bd773ac4bcd37df3babb95cd3853659dbc7eefb7bc933f05bb7005cb39530fc33a24ee18bc6d5d233a8740bb3a64da933cad12efbd67bc7f3fec1b8c3eda04ce3c25d30fbe3eb8783fb6688f3e1ff56b3c4c62d5bd9d714b3fe43d8b3e8626843cf694d8bd79fa2b3f5fce833e9286483c628cb5bdbc17fe3e4ebf613e5489833c14cfb0bd56e4af3eb1993f3e6f7f543c06358cbd7148473e6db9083eaa38923cb64b66bde1523e3d87c0a93d22d27e3cf2d318bd6c135abd5c20f73c045b63bd8e61143c0000000000000000b0a977bdbd634d3c0000000000000000fc0142bddcf8d13b0000000000000000fe2037bdf0d1f23b00000000000000008b900bbd6b8e743b00000000000000004d8a14bd2488af3b0000000000000000d598e9bc4ab5803b0000000000000000a08b01bd40a3f13b000000000000000082ccbebc0580813b0000000000000000214c1abb4839093cbd661f3a42c6433ac2e70abc0026773c1ab73e3c765f50b8bca4ffbb48a2883cc494723c5c65513b861ce4bb8d35623c9eea623c4417983b5f27a7bbaa11303c93f6433c9a84a43b66f8b2bb389bcf3b5e983e3c23fec53bd5c7a3bbec3f883b6547213c8473bf3b79afb2bbe6b0e83a0cd78f3b6e94a23ba99230bb36274dbaca50753ae6fa223ba8f039baeccbae3a80573a3c34c6f6bcbab83fbb88f3eb3a2bc7873c6ebfecbc1a03f7baf36a763a0d785c3cd0bed0bc724128bb4a29813adc80573c6f8b9dbc904033bb2ab79239ab53483c6e974dbc5ad203bbe3116bb8b0b9fd3b346a4bbb347841ba105b46badd608a3b6d5fa43bd0b7afb792244eba8e59073ac4df3c3c8917b23994abc0baca1a9d3ab67e2a3cfe8a5dbd0f1edb3cc234c0bc9498413a182fcdbddcb731b9172cc5bc45009c3b0a38e5bd4943b0bcb70496bc3951ae3a82abd4bddc02f8bc738348bc82b14d3a5f07b4bd78be01bd7e5a1abc7a07dcb9daeb8cbd1a2307bda2d8e1bb18718939bc0f3dbde55ef6bcc8bfd1bbc80e003ae74ea1bcaceea1bcd1ce98bbbd5a853a654e9cbb2575aebb4346e538c53c0f3adff45d3cf1f3d9bd1873513f3431e83edef8b73cef5905be12b3493f8916eb3e54809e3c9146eabd85082d3f98dfdc3ef26f813c4df2cfbd22a00a3f9e5bc33e87e3563c9ba7b8bde0facd3ee013a63eaba3803ce339a3bd82de8a3e6c86833e6357843c77768dbd10e0123e90e23e3ef52e8c3cc3cd58bd4063ea3c6c7edf3d2856613cf5df13bdbdec45bd708b203d4e8a9ebd0edb2f3c000000000000000010afaebdb199733c00000000000000004f7f8ebd8112423c00000000000000003a976bbd83f9fd3b0000000000000000f7f738bd8664583b0000000000000000129f24bdef42b53b00000000000000003a3b18bdad0dbc3b0000000000000000b01a0bbd7551c33b0000000000000000c5fcb7bcd1fc233b00000000000000004b73f4ba6a22fc3b9aea21bab0d2e13a60a0c9bb815a553c4177083c88536f3b5bcec8bb6a7b573c0e97273c001ac73b28b2ccbb046f4e3c71815f3cb9729d3bca7884ba6a67003c7d5fa43bbe7e6b3bbd76ccbbe4f6173c13111b3c68bdc53bcc3c85bbfb62563b06d7bf3b1516b93b581985bb4d93383a1aa3863b5ef7963b5f2b09bb3b8fa9b982841a395a70df3ada5382ba5d7059ba4581353cc837d1bca3b850bb4552c13add084c3cf970b2bcba661cbb81f94f3adeb3343ca6b195bcded5ffbab079073a3f9e373ce1eb50bc831799ba81df93381a3bd13b9e461abc28a883ba47b00cb86a500b3c013a4dba762a8ab916dfc2386feb833b9a6fa83bf335873a1726b9ba3b178b3ad12b373cd19a743a815344ba5752883a68f9243cc96a54bdd09ecf3cfe57bcbca8b0113a9690b7bdeecef1bbb672d0bcb36b5b3b6345bfbd9a9de6bc3ce388bcdafbd0397059c2bd6c9322bda74380bc462be0b9ec0484bdf6f8e3bc9174a2bbd37a90baa31f81bd0dde1cbdf4b72ebc5e2388ba64fb1cbda1e0e3bca86ecebb1da458b97e0d99bca8058dbcba12d8bbd0d4ea39eb96abbb946734bbf91bacba63d49db9d3573e3c9180bdbdf5f8213ffa0a233fee879c3c875ae0bdac56193f2cd2223f90a6763c84d0bdbdf6ad003fb87b123fed977c3c9bc9b8bd934bd13e7f5f023f75eec93be22d84bd6b8c953e7188c63ebc045f3c838f8fbd174a483ea452a73e8ad9513c3d5c60bd0dedc63de538613eeb366a3ce1d134bda0980e3ce934003e7ea73d3cda2feebcc1ec4abd4e30193de763bdbd82db3d3c00000000000000005e9bcebd72b4813c0000000000000000d7c09abd3bd0223c00000000000000009f8f7fbdbc09dd3b0000000000000000aac913bd3f05da3a0000000000000000ed2722bd0510383b00000000000000004e4c03bd78b4da3a000000000000000046a700bd9379813b0000000000000000fa42aabc97df0bb90000000000000000c3e1dcbacb2fd23b29e8abbae0c1a43b8105e3bbbfb7263c6bd5223cfa19143c6d4dc1bbea581f3c855e643c8bc6333cc07ad2bbc480263c0a2f5b3cc4362e3c03b5a5bbd7f4013c44b3423c77660d3cc2e79ebbc7d39a3b94790e3cb32a093cec7d7fbb48aa403bc422e23bfa8cbf3b4d0759bbc4ae9739c4e04d3bfa479b3b9a4dfdbaddbe35b976da4aba020c093a5dc2f3bac7c82e3a4393013ca33b87bc78637bbb0492fa3aff370d3c9d6120bc47e711bb8ce4b03a2dfddc3b75d9b0bb4ad2b6ba41a8ceb84e4eda3b886025bbfd488abafde7093943ece23bb17f75ba8034903a3c44b7b82ef19a3b527ab23be7839a3a3ddabfb8db960b3be340143cb429ce3ad392ceba5dcc88ba45e1433c28fc243b4e3067ba59020639b873063c7fb254bd83945e3c26c1b9bcf81936baeb11abbdad2fe7bc3865e8bc4047623bae43bcbd81ea5ebdb410b5bc4212153a21ffabbd7db372bd36d48fbc706680b9feef93bdcd865cbd358562bce86cd4baeb9a5bbd531643bdb30a5cbc4a0195b8ba0b0abde09312bd2f4452bce5658039aa476ebccc478dbc232b11bcd0eeec3a276d0fbb3f6bc2b9fd1c4cbb441c93b9e05f343c499399bdaf48e63eedee513fa7e0913ceedab7bdfb1cd63efb65523ff212813c0665a3bdffc2b43e2d4b3d3fb03e4d3cd42690bdc3678d3e55b5203febee5f3c922381bdb2eb4c3e4892013f21713e3cea1058bdc2f9f93d9181c23ead292e3cd6b72fbd7920483d4ae1813e1f7d223c42dfe9bc72ff6ebc9ef4053e00bb223c59748fbc606c56bd42dfd93c6124d9bdfee75f3c0000000000000000c0f3f1bdbdafa23c00000000000000001d7bb6bd58d95b3c0000000000000000272b88bde0b2113c0000000000000000a7693cbde576823b000000000000000028e316bd235b423b00000000000000007c7602bd1f10d33a000000000000000008dcffbc3739373b0000000000000000ffc69fbcb97f0db900000000000000001f1ca5baea4c063b41a9473bc3e3163c1c979dbb169fb23b7024443cd8b1753cf33b8dbb7a01d23beb16443c4510533c001bbfbbf97ee33b13cd803c07f4753cd0fe80bb5259c23b7e88173cc36f2f3c524393bbe8a1893bbafe283c6e92253c36c342bbdc541f3ba447a73b90abd23bfbcb21bb8ebc283ad2ced13acc4b993b1dc505ba48a37cba5ad9b5ba65bbc33a714481ba29a3483ad417253b213143bbb1e74ebbebd4173bd088073b8851413bd0c709bb7003223a89626b3b6bb28b3937344fba7859813ac5bd363b69bfab3bed2419b9f4bc0bb926c25c3b91b2853ba803ed3ad3d88e367b95b33a9237193c541b103bfba332ba388fa13a65cf0f3c8710263ba7b601baf85709b937eb033ce8c4043b2fa383ba420fc1ba01a5013ccf344bbd744317bc61b9cabcdf35a13a20f695bd527176bdace0f3bc22f8593b7ba893bdf31d8abd2cd4a1bc8ddc663abad796bd14fda9bdfa3db1bc1567ae37a59063bdec4286bd487286bc2ed3f5b80a5437bdf00a6ebd749396bc852ef4b91863e0bcee3d15bd772e51bca56e4d3a93a403bcdfa788bcf0f668bc1751123b6ad13d3ad6d14b3b6785acbbc021823ad295213cad0459bd1a608a3ede85803f2056673c68417bbd71b5733ee49a7f3f596b323c74a357bddca7503eff1f563f85e73d3c9e4248bd26d11a3eafc83c3fbf03033c910c25bd3a05d23d00aa103fdc26fd3b0e360cbd401c4e3d9517d93e8ceee13b2becd8bc634a523ca0f4883e138a7d3beb0448bcb12005bd0b5cfa3dc53a603b0e1c8dbb43f851bdff04a03b006df1bdd4b1913c00000000000000002c1afcbd5dd6b43c0000000000000000d61792bd18021d3c0000000000000000cb1570bdae67023c00000000000000006c3c01bd4c741f3b0000000000000000b4a5d7bc6b87663a000000000000000005c188bc7e6c17ba0000000000000000826fccbcf41b2e3b0000000000000000de18a3bcf60e05ba000000000000000089cf53bac62c8d3ad20b943b64f43c3cffe38bba943078bb3d87643cc400d53c7c4570bbf3ae213a07d9923ccfd6ba3c749392bb2d98223bfb61893c5c6ba23cc4dd75bb5f36333b45f15b3c4fbd603c3a133fbb0d6e823a3736183ce700523cdb25a6ba0e9c33ba0813b83bed1f2d3c58ff893a2f8bd5baad6f7f39e48ea13bd839533ab6d014ba28d553bb8c4b693a1c621ebb7559b23a999888bafac2bd3be59eb0bae05c1a3b33f096bb5dc1583cb87b943a766dcb3ab6c52dbbb6ef3d3cb48b1a3a9c74873ac709a8ba60ac363ce4876f3ad6e3693a9dc160ba3e80213cf3419d3b1fcff0b73eb0e4b9f925193c34b1873bd73d32395111a8ba65b90c3c40db773b072c103a0d2a11bb37be953bf80d303b1d3910ba49191abb6e78b13b8bfd40bd536c34bddd42a5bce15f223a2f0a57bdd264d7bd1c8003bd9d90923bea207abd83f5f3bde6dce5bcbe475f3900a768bdcf24e1bd6d36d4bc36f0b0b9fc4e32bd391eb7bd327cbabc664023b9a26dfabc390497bd2525bbbc7ab0413a49f178bce5a74abdbd76bebcdc56813a4ada04392a5d8ebc5a1881bc10f9223b84e2ef3b9f9c953b3aa5f0bbea26ef3ae1dee43b974de4bc04a7c03d218c983f9544033c4959bebce6b68d3d4347923f81fd0c3c7cc6c8bc3e5d703d33b67d3f319cfd3bb285bdbc69fa1d3d22ee4f3f699ef53b2251b7bc6d8e8f3cb74a1f3fb947983b4f416bbc47571abc64dce43e1af5f03a9971e9bb0a0bf4bce3f3893e105704bbefe48f3bc18a24bd0872cb3d8597a5ba777fe33b58095bbdc675f0bcb923e5bd9db0803c00000000000000001a92d1bd6745ab3c0000000000000000c9db71bdd84d263c0000000000000000f7c7ecbc2675a33b0000000000000000806414bc6c3e173a000000000000000046b6aebaea992fbb000000000000000000787ebb99e9acba0000000000000000690289bc5dab063a0000000000000000ed2368bc2d3bb4ba0000000000000000000000000000000000000000000000004d6163ba5d5fcbba429c693c2c4e8d3c923918bb4724123a4db67e3c906e803c84072dbb5dbbc43aaff06d3cca7c573cd2431cbb51cd083b8312453c404e203c855527bbbeb6d83a1e2fd63b98e3123ca1fbdab9e7b219bad9bf873b0747ec3b90df623a7649b3ba8d9ad8b9cd739d3b000000000000000000000000000000000000000000000000000000000000000070e3e4babf64df3aab06a0bb5128613c25e937ba52c7ea3a534d70bbb1b4543c34c800bb4c5d3f3a186ec8badb6c273cdd87fab9d2b1e33983c49bbafa56203cbce3293bb154f8b98ef64cbaf0410f3cbffb553b7cc8b939028d27bb7f3b023cfa56693bca14d236d1f3f6ba2750ac3b00000000000000000000000000000000000000000000000000000000000000008fbf34bddf82e8bd80f49bbc524a3438eafb26bda9d7e5bddf71b0bc6b58a93a514720bd13dfcdbdfed3a0bc64a9193a8f1dfbbc9456acbdc26c9dbcb58cb83827a290bc26e18bbd9cb9abbc5cdf653a79f3bdbb1d673cbd530898bc8224a23a3b59b73b6b19b3bc6adb88bce921f03a000000000000000000000000000000000000000000000000000000000000803f3fa2563b0ad7c7ba28365abd3567983feb0e593b51ee5cbbaf4a31bd4e277f3fd115793b45f4eebb3ea626bd1d07503f88291e3bd597d1bbc60233bdf1b9203f6504e23a2bc60dbb744446bde5b9e33e0b4c0cb9b36c4b3bd8994dbdb5dd873e822b60bbc6e6133c68c955bda581b53d0000000000000000000000000000000000000000000000000000000000000000c3772cbddeddf03b00000000000000007219debb9728943b000000000000000070e04a3cf5b4433a00000000000000000116be3cceb3b6ba00000000000000007ea2cb3cf4a8eaba0000000000000000f167893c13861ebb00000000000000007624073c6d483bbb000000000000000000000000000000000000000000000000000000000000000000000000000000007157dd3a2f4ac73b1e9a82bb19a720bc2089a13a6590ea3b2aa575bbb23d42bcab8bbe3a6c33083c601da8bba9a106bc9a95da3acb7bb73b125e83bbbe2915bc1df1413a4f1ebf3bcc30e5ba72c106bc581290ba17ec873b7320b53a25f4cebbd6e604bbf511393bee47223baeee35bb00000000000000000000000000000000000000000000000000000000000000002796913b0871edba2f21c93b8c7701bd3cf87a3b56e1053906d5cf3b5e2ddebce0e20c3b2356a7ba255dd23b4f16cebc2f1a8b3b5a6b623a0312cc3b84d4a5bc5285453b3befebb9936abb3b8b4581bcf4f39b3a25bd123929c9ca3b0bcb17bc383f3d39c2b3da39a414bc3be88437bb0000000000000000000000000000000000000000000000000000000000000000de8f31bde18b873c5adca0bb6daa16bbe3843cbd27f65b3cba36673ac27530bb53513cbd2ffc633c6848ce3b9d5d9ebb62b029bd1c6e363c4f8af63bc4a1d8bbf7ca17bde9ade33bc26c103c5873b4bb20d2f3bc3024e73af511113cb8279fbbd5b8afbc84d541baa3f2193ccc4d87bb0000000000000000000000000000000000000000000000000000803f00000000f1fe6bbb72c2f6bccbb2823fb1843d3b61b085bbe636debc575b5d3f64e4943ca4a6c7bb67c3f2bc35af373fef8ee33c9906b8bb2ba9fdbc1492103f49d1093df61874bb40670bbd65a6d53e4e17163dba5b7eba0d140abd2d81893e05630b3d23a4353b56a91ebdad75fa3d529e063d0000000000000000000000000000000000000000000000000000000000000000e9cc6dbca736af3b0000000000000000507772bc1cc83f3b0000000000000000888281bc3b6ef03a0000000000000000a83e67bc48e808b9000000000000000069915cbc533aa6b90000000000000000acfb52bc4732c83a0000000000000000c7c348bc29f3993a0000000000000000000000000000000000000000000000008a49b73aa8b8a43ba230d8bb26b6c3bbc4410cbb2d72453c3b8413bbbe2e4ebcfb3ba5bac200343c0c0485bb4e5271bc5ed8933546a43e3cbf4355bbb8ed6bbc7893f6b9209c1a3cd2ac64bb22aa5bbc0cb2feba01730e3c6c1ebfb8752046bcf3643dbb3102bc3b10fc4f3bc24111bc2f52a5bb8e7f723bdf89d53b10717fbb1b4d16bb93e4b03a4a77433b06e2d1bafefabe3b4ceb0bbbd1a1053c000002bdfb97ad3b79a7a1ba3dd15c3ca9250ebde1a2b63bf705c0bab4306d3c33ec0abd1536b73b3a7e0dba724f333c1a75e3bcc8c7943bc05d95b71d60393ce139b1bc9029643b436922b994a8333c4a9570bc5634a6399f35213ac7c62e3cb6150abc13c6fbba45adc2b90432f23b1aafcb38cdde1abad7f57d3abdd5b63b7159b03a53d4efbcdf81e33c7e2f1fbc7b2285bb4ace6bbd4c95b73c1090d4bb013d68bbabda81bd4559993caadd1b3b0a6afdbb4b2d7fbde2f86e3ce361023cdd8c17bc4ecb5dbdbbc6323cca57533c292a1ebc57a34dbd1873bd3baf017a3c4bad02bc7fc626bd67b402bbf9387e3c0c28ffbbd5b9ccbc6e28f9bbd215503c9c11c3bbeb2a43bc74b79bbb2403413cc77d66bb960118bba9ef38bd49c3823f9786033eb225423b748d6fbd2615703f315c053e3fe6003bf7b75cbd38764d3ff7010a3e1b4ab7b97be455bd4ae4283fbfb2053ed0a341ba897c4bbdd94c033f4900f53d12432e3b18695abd4bcabf3e846cdd3d4eed9c3bacf450bda8a5703ee6c9b53dbd112c3c5e8744bd07dac73d62a8823d4b9b083c490315bd8ef99fbc4bfb103d8eb5d7bc9d31d53b00000000000000008e45f2bca1f8fa3b0000000000000000b2ccdabca69a663b00000000000000000616d1bc2cbd023b000000000000000047feb8bc573fa8ba00000000000000003997b1bc33d17aba0000000000000000a6649dbceb28e2ba000000000000000019da89bc827faeb800000000000000008f021cbc034036bb0000000000000000af8fd53a0d19b83b5e8807bc6d3fe4bb76ceb0b965102b3c2d89c8bb1dac61bc5263483a91cf123ca7d9ccbb64024cbca73865ba7b5f383c8dc177bb73f180bccd58e5b953ff063cb19e1bbb1eb050bc5e0873bb6b72333cccd24bba1a6d41bc7865e1bac489b53bdbd51e3a26f20dbcea369ebb32d5793bba279d3b8a69c5bb3da15fbb0a44f63abc6b453b07127fbb78cc273c3a1658bbb6031c3c7f45eabcac65073c7ca558bbc7df653c2e2c08bde5a9003ce45032ba6994353c1ca8e5bce971cc3b2d824bb919845e3ca736c8bc99b98b3b52d7903a27d7163cedd588bc60f4d43a9519453a64535b3c7d3865bc3dedc73a011dec3a5b5d063c468fe0bbe129d8baa5728a399f45fb3bf9abae3a16a996ba5db9553af6eeb73bc04f643b878ef4bc613b053d1f66f9bbe468fabb1a4860bd74b4f23ce39338bb2b3109bc408e57bda337943ce541dd3b17de22bc49c780bda3895e3cee645a3c2b4844bcc9a057bd0803023c4f1d8f3cf98f40bc318b51bd1313803a8aeda83c31a937bcb9fe10bd0e7ee3ba9957973c182d05bc9300d8bcf03b00bc781da93cf6a1d1bbfb9b54bcd772bfbbe3e66c3cdf6894bbbe101c3a0c365bbd54df5e3f306b8d3ea1689a3b0b628dbd43b24e3f04c78a3e0e5087b8041461bd330f2c3fec4f7d3e730c5f3b9ac17fbd6b15113f56f46f3e2556603b787963bd21fedd3e36df4d3e5b3aac3bc53969bd7bd8a13ee14b323e58f1bc3be6e542bd0e22493e57fc003e86cd583c78e744bdbbb19b3dff09c03d2cff3a3c146a07bdaff8bfbc12ee2b3d2fe016bda3e4db3b0000000000000000795534bdec8cc93b00000000000000009ff105bd9b709fb900000000000000006a1d08bd9cab00bb00000000000000002442d2bc6cdb9bbb0000000000000000b0d4c5bc47aebebb0000000000000000990a7fbc3bd8e2bb0000000000000000371684bcdaf5c6bb0000000000000000819a04bc401101bc00000000000000003cc9143b2cf79a3b39b424bccddedabb878821ba41c1263c5c95eebb676860bcc54a11bb6ffc343c1c1b98bb040287bcff6ebfbac59a313c53a065bb79837ebcbde4a1ba22a21e3cee3e86bb0c887dbc251e4ebbe02f013c56e5ad39f2c452bc7bba89bb5c37d43b60c50f3b5e492abc57c1a9bb8573843b8e3e583bf0a8eebb68914abbaafa593bbb67dd3a5ff798bb975d243c893f54bb2564133c0136d3bc0e87153cc93503bbd835693c25d1e7bc3552e23be42c17ba01be693c11b5c0bc70449f3bae60a53909c4503c53ae9fbc62f40a3bc324f83a2b67453c82f964bcb68a973ae4e1ad3aef7e343c121a00bc1a2f89bacbdbf13a281e213cedcf1ebb0b017dbaa99f883989dee93b528e783bee40d3bafc3f093b23929e3b8215613be577fbbc54fd0d3dced241bbbf7f42bc1dd35ebda474f23ce75eef3a995760bc58c97fbd403e903c5a9a2f3c967965bcdf3a79bdc43a0a3cf766903c164763bcab0861bd0788633be0a4bb3cfd314fbcf88f48bda2a288bb820bcb3cd87842bcac2420bd879f00bc74c6c23c9b3416bca218debc64d20cbc29b2a13c47ed06bcfc056fbc4739cbbb21e38f3c9ad47cbba2fe3239b3845abd6029383fde29da3e1f6fc13bc8518fbdf20b2a3f1868d23e17f9e03bea9788bdc374113fa135c13e6fb8c53bc75b80bdf902ed3e568bab3e5bf1bd3be15669bd2e2db63e314f913e231c163ccd8165bdb93c813e5d01703e587e3e3c2aae53bd73411a3eaaed343e28c3703cf3f736bd8da5553d0490ec3dee18313cdfc1f5bc474ed7bcdda73e3dab203bbd67dc633b00000000000000006fed59bda7f9813b00000000000000003de032bd7aa2a3ba0000000000000000228511bded93a8bb00000000000000007c96d8bcdcbf22bc000000000000000085c3bbbc975f26bc00000000000000007eb388bc97b339bc0000000000000000e4d029bc1d0845bc0000000000000000253a63bbdbcb3ebc0000000000000000ad62f53a4047b53b355c36bcbcbce2bb7990adba4b28233c4c9504bc6bed56bc0b86b3b96a6d1b3c76c2ceba986f62bc854327bb8958353c218987bb4c8c7cbc8170b6b7000fcc3b271d96bb087d46bc7d9131bb191ff43bead2083a04e94dbc78b051bb9a63b73b588b9d3a9cf617bcfbaa75bbbc7d643b937e283bece3e9bb28662cbbb2c0133bffdcd93afcd49ebb1b52363c4dc433bbbac7133c81cbb4bccfb7183cc9ea82bb7827593c201bb7bcb802d53bbdad1cbab053423c5d49b7bc0945593b9cbe8e3ab1a44b3c525741bc066d4d3b3cad2e3b801c093c9aa429bc875aa7b9e1fa073b4b441e3c8ee48dbba2fc09b9c00ef73a4fe5ed3b58f69cb920dc42baf484133adac3be3b53d5963bc30385ba40e9da3add718b3bda8d983b861205bd3286053d093692b82f0f5ebcd50d5bbd1da1c83c117eab3b9a5976bc067f64bda3bf253cb029673c23546abcff1a73bd0c61543a7c6cae3cb77c73bcddf42ebdbcc194ba9c33bb3c64c626bce17f3fbdae9425bc44b7d23c2eef37bc4bbb0bbd10c928bcad22bf3c61defcbb891ecdbc3caf40bc3aebb33c9374d0bb522c78bc581ae7bb7cfe883c2b303fbb35814a3a690550bd22cc113f0123133fb494e03b15cb81bd86c5043f92530c3f3c6e473bb43e65bd398adf3e6e3df93eda14ca3b004b70bd8be8b63e5771dd3e8930563b519932bd2992893e0ec9ad3ed11c273cee104ebd6d01413e52c4933ee7db2e3c986530bddd41de3d7ffb503e322d593c644015bd40f9f43ca280043ec828313c9f17d0bc7913f7bcd3b6333df35e4cbd93c15a3a00000000000000004ca062bd8373823a000000000000000090e623bdcc2ebbbb000000000000000060110bbdc8a111bc0000000000000000848d8dbc4c3e4fbc0000000000000000712f8bbca89560bc0000000000000000ed870ebc0bad61bc0000000000000000b29da3bbdb5684bc00000000000000006aa4cc3adb6270bc000000000000000058a80bb9b521d63b05c416bcc35cf7bbf7fc2cbb9a0a263c23718cbb4efd48bc36716fbb559c2b3cdb2c02bb265e5ebc13375fbb8fe9193cb13b0f3a98ec68bc1dbf43bb57580f3c526b5bbaf9044cbc4fef8ebbf5eaef3bb819303b486932bc77cd8dbbfb56ad3b5047563b385205bcd8efa5bb4be4533b542d813bdd46c0bb5728edba7f84713a8710b83a1f198bbb4caa1b3c599a06bbda43093cab658cbc9a40a43bb53725bab91f383ca4bf79bce54de43ad890be3812bf373c12c63fbc7da88bb9e58f603a35d5203cfe5de3bb0c4cc1bafa371c3bdc8a1f3c4879a7bbd89241bb62cd173b7d04003c26671939639444bb5cea073bf2dbc43b31588a3b493824bb0251673a4187863b72bef93b927ca6bac904993a3f932a3bdca7c03b9d5b15bd1bb9d63c6cc04c3ba8a072bc25ec64bdbf5b443cf678063c458184bcd7ab74bdec5062bb1f4c843c70ac71bcbd9163bd2a9f38bcd838b13c846457bcf4e846bd87cd6ebc8d8fcc3ca74545bc070633bd8df798bc0f07c33c269914bc2d790bbddb0395bc013bb53cf831f9bb8894c0bc5e5669bc7de5933cbd80adbb5a2c58bc826ff9bb40af703cc09015bbcde16d3b2de639bdce1dd73eb53b393fe4ff193c01dc6bbd4585c23e87c8303fda87253c6ebf5dbd30a3a23e5c931d3f7055163c16194fbdcb2d813ead16073fb1390e3c16fd3cbdbce1413e0cf1db3e1eef373cd94f2cbd25f8ff3d31b4ac3e65c8423cf9b816bdd888813dc6a6743e4034583ca7c8f0bc5ed8cf3bb2bb0e3e4c44213cba619abc27280cbd866d1b3d2bdd58bd497f9eb90000000000000000d37372bdac529f3a00000000000000005cf02fbd0eb4cbbb0000000000000000fea3f5bc7e6d2dbc0000000000000000770188bc58d16dbc0000000000000000fade26bc170f87bc0000000000000000648b93bb907392bc00000000000000001a0feab8ec7d90bc00000000000000006f62903b0a0a74bc00000000000000000b6896ba1a73c63bd7a6c9bbc1fce7bb7d4287bb7de5253cdfaafeb8a6291ebcf7fd0ebbf619f63b6a587f39fd9f21bc359f7fbb4b77113cea3c5c3b31f936bc8ecc48bbcfd5cc3b0e35113bb69114bc5e8372bb8ba7be3b96f6a13b82c100bc34f738bbcf68833bfeb2413b1ba3c4bba27158bba4fcd13ac30e843b64c312bb58273abb46158e3ac483433bcf0c13bb2210ad3b7eb7fdbac601ef3b891521bcec5f943abb8e86badacae73bb1ca02bc44e509b96caee63ac406d33bb4ebc8bbced37fbbddedf23a5ce3e03b89a1faba93ee98bb1266653b074db33bb1e1a5394e1f9fbbb384ac3a4747a23b432c783bc78537bb4fc12b3b90585c3b30958d3b1f2469bb49e25e39af648a3afbba103ce56ef4ba84ff793af9e6733a2a6dd33bc2e816bd239c713c46d91e3bb7c460bcccf369bd746ddebb90890c3cc00a75bc8e0447bd151772bc5f476a3cf35e28bcc45457bde3cbddbc46dfa43c3e3e34bce5032fbd1d66cebcfa87aa3c345ed5bb0d9b1cbdcf39e7bc049aa43c37f6c9bb28b5debc2386a7bce5b8873c1c6a3dbbf67893bc9ef597bccf06533cbdaa46bbd0941dbc22250ebc823e103c007b31bbd37da53bbf5913bd4a3e8b3e6ea45f3f0d3a413cf7f034bdd626733ea0c9533fb878dc3bf7931abda82f4a3ea83d333f62232e3c87ca21bde7961b3ea0771d3fe7940b3c543203bd26b6de3d2db5f83e3e9e2a3c798504bd8e4f823d9933c23edc490d3c0f72d1bcb3d9f03cb52a813e8eef273cba339dbc531c8dbcaa13113e89c7ee3b91193cbc31531dbdbdb9cf3cb21857bd94f5cc39000000000000000073de5dbd2b77c7ba00000000000000000c19e5bca5740dbc0000000000000000c556a3bcd3f744bc0000000000000000a86fccbb5a3c81bc0000000000000000307e1d3a759196bc000000000000000035fea73bd93887bc0000000000000000ea80d33beae191bc0000000000000000243ce73b1a0767bc0000000000000000594ae1ba64a8bf3b00c2ccba39d1d7bbe3559bbb600be13bd8c8d93b5556b0bb498296bb39d2ec3b0af8133cb54ce5bb48538bbb3ad8bf3baf6cd73bf41ae3bb7b765ebbfbb1b93b7e0ec43b7eb3d6bb445095bbdc0d853b29e6ed3b0bcaa4bb940158bb40b1433b6f68b83bf423e8bae9340abbb33b01ba9a73a63beb1b1d3b6721f5baea1dad38d2ebd73aa5096b39c3699c3ac5018c39f052713b0b9b8abbe12899bbdb40383a66882b3bdd83693a1070dabb9e66ae3aec09633bb6c09f3a8bb40cbc1e21e03a22af853bf25f733b1776f9bb540cf13ac4cf3e3b04a6833b2d3af2bb4294d03a97b2163bbe00e13b0b4bbebb20d8613a7d92b4394f63f03b3d966dbb1231baba10fc03bbfa49163c236ee6ba546f77b917891dbaf863f53b99ea1fbd306390bbe824ab3b691b45bc54674bbd9964fbbc9630db3bdb0931bcbf9f4abd5ce129bde08a4f3cffccf7bb001735bdfd573bbd8744723c6addc1bb6af712bde8fc20bd10d3803cd62436bbd5a4f7bcaaaa1ebd4f724d3c79c7acba62acabbcb93f02bd4efd133cadc1513785693ebcf4a5a9bc974eba3b2301b2ba45a499bbdeb530bc3e8c623b58b2a53add95c73b4d39cebc84bcfd3d987e823f9729393ca94adebcca03cd3da15c733f6ba0223c723cdabc135da03def95523fc5411a3cd5eec0bc12cb623d29982f3fb22f053c3811b3bc855b093d83a90a3f5d470f3c477994bc8e6f043ca91ad13e00af0d3cbd0876bc233165bc1c8e8a3e1c46c33b8768f6bb5bf306bd0fd3073e82ecac3b0a1f92bba8dc2bbdf341fe3bb52532bde40317bb0000000000000000f39c20bd791becba00000000000000001ecd7bbcf9f812bc0000000000000000abecc6ba33bf57bc0000000000000000c9fb1f3c9f5986bc000000000000000092937e3ce6be8ebc0000000000000000c4328e3cee7393bc000000000000000090cc623c9a896abc0000000000000000494e3e3c235163bc000000000000000000000000000000000000000000000000f9db53bb36c9aa3b58a6d53b5ea98ebbe7502fbbbfaa963b2c78dd3bbf0a94bbea1276bbd143d33ba9e7d83b7380b1bb690b1dbb878a1f3bad1cd03bd0958cbbd04611bbc552293bc832c43b277024bb8c4503bbb90b8d3a2b72b43b9332f7b9780fafba6620c5b974a8813bc5a7da3a00000000000000000000000000000000000000000000000000000000000000000ca815bc8f8c1c3b9e0e853aad9a6b3b9e9f17bc7f201c3bc21e673a9cc3633bc38622bcabf3403b426edd399d5b9a3b342f25bc9c38153b80e2003b1b2faf3b438a02bc08b2ef3a553cb038a835c73bf108ddbbb02b11baeb7547bac851e43bae3180bbca6f1bbaafecf0ba44aafa3b00000000000000000000000000000000000000000000000000000000000000002f3814bd45a328bd7ccb003c1dcdaabb249802bd44f136bda75a093c24b925bb4e9feebc803538bd6e762e3c969d453a4209c1bcbefe23bd64aa1a3c1c14673b803393bc392618bd9b61cc3b5b6d603b22023abc4132f7bc4be23c3b5810ae3b52a4acbb8a8cb4bca7361fba089d943b000000000000000000000000000000000000000000000000000000000000803f7ec5d43b622b48bcc93bafbc27f1823fa333d53b0c3428bc44afaebc1a425e3f4ff8d53b399e3ebcd0b9c4bc1288383fba53c33b6f522dbc8517eebc62db113f2bf1993b7a1202bc5a000abd36c5d83eb4338a3b2966b0bb8e8d15bd07c08c3ed7c6693b3321f2ba53f829bd1b6d033e0000000000000000000000000000000000000000000000000000000000000000204b34bc4812f3bb000000000000000057b09c3b14dbfebb0000000000000000e9ee813cd8b03dbc00000000000000006b01b73c41a851bc000000000000000003b9d53ce5696dbc00000000000000005848c43ca7a947bc000000000000000042e8b83c5a5437bc00000000000000000000000000000000000000000000000000000000000000000000000000000000a536c1bb9feee43a70bf2e3dd4a4093c15de8fbbc463773bdedf263d6b963f3ca38eabbaa7e8ba3b3693053df92e533c0807b4b98d2bcd3b9624cb3c399a473c8e72ca3a7ef4493b1518943cdb8b003ce866f23a07f1ac3a391e1e3c3295cf3b59b90b3be9ff413acdf8f93a7b98993a0000000000000000000000000000000000000000000000000000000000000000fc7930bbe01e14bbe8e792bad526833cd99f6fba51e64ebba13044bbb6d73c3cd66932b89fc939bb5d4f49bb1d613bba5efcdcb8f45711bba62552bb8ad418bb24d21d3bb55440bb6d0fdbbba50905bb9247b739e0c603bb0459b3bb54e31fbb236cb43ac368cebadac4dbbbe57bfdba00000000000000000000000000000000000000000000000000000000000000009ab75cbe6b7736bc873a033c72d2de39392156beccf8b4bc2f48f23b2cdfa43a678b3ebe5e0401bd9afb983b8fb288388d2118be4736fbbcb4d5e83a4bc19f3a6761d4bd82dccfbc3ce0083b7c7aa13a478d66bd4afa72bce865abb93a2bc93a537019bcd6e1d7bbd2365f397625663a0000000000000000000000000000000000000000000000000000803f00000000b3abb53c723e03beba1fad3fdedad3bd8ace8b3c0dcfbcbd4a268f3fd29f43bdd4b9463cee9792bdbae56b3f65399dbc7cc4183c729760bdf48d2f3f464a093beb701d3cfc6115bdbb4ee53ee2d81c3c6a87653b1c3311bc96aa603e9fe9333c9dbc343b622ebd3bd8cf103c0a75d23b0000000000000000000000000000000000000000000000000000000000000000822f773c6d04a0bb00000000000000002d2fde3bc09ab8bb00000000000000006e2d3f3b3a222bbb0000000000000000137cbf3a5b2879bb00000000000000003bc6373a3f6c81bb000000000000000053b4fa3a14be5bbb00000000000000003ea71a3beaa31bbb000000000000000000000000000000000000000000000000324e01bc01abbdb995d5ba3c9b99203b647604bc5ba22dbba784293d71aa193cd1c5ccbbf9b2193b5b1c333d6d5f7a3c366189bb77b1a73b1690153d5b678e3cfdbcf4baa6888f3b6321dd3c1f07713ce83b2fbad990b13b3fd3a33c2f11303c8938ed391749443bbe63283c65f5cf3bb108833a4e81303b220b213b57d3633a8c2d5b39a5923a3981fb71bbaba058bb9b8fe3ba0cb790ba1c5eba3a547a8b3c5a1498bb7aa80abb4514dabb14c5263da97539bbe4073fbbcfc684bb28a2b23c3ca883ba0c7271bba8018cbb7d44573c09e9f03a93e296bbf29ca2bba7f8f33b24e0493a9e145abbe9b601bc0c5a0d3b824efb3a7d86f4baacb2f9bb4dae13bb55e2533b72b130bbd9fcd0bbf4eefebb2e1c043bdcb8a4ba84aac2bb790ef03a02d708be5acc2f3c69d556bb5bceed3a762552be414906ba516336bac1364f3b601164be64fedebcb9dbe43ae016673ba61d4bbe73e412bdb7c8a4ba749ca53b8c9320bedc3017bd804e3ebb3c6b9a3b9e63dbbd8578f5bce2ba49bb4254913b32ef64bdae14acbcc7148abb4aa2463b2c4417bcb27310bca5125dbbe633ea3aead0a23c6340963ba791acba22a9823a6d53333dbeb058be84b7ac3f504f4a3c7ac33d3d1de04ebed4b49d3faf3b1c3dce2d123d67dd29be5e928c3fecb0873d1450ee3cf05204bee57c623fc26eaa3db065ae3cab8cbebd4b2c263f85b9b33d5833903cbe826bbd394cd13ee4f5a13d628a393cb4af96bc18183f3ea567873d0372cdb99975a13cdf0bd33bf52d363df980b93a54d47c3cdceffebdf8ddab3bacf86ebc0db6743b0000000000000000c86692bcf59b063b00000000000000001c7cbdbcac5ec43a0000000000000000fbf5c5bc56ba4e3900000000000000003067b5bc3e29013b0000000000000000e47d9dbced0e363a000000000000000017d581bca9f5b63a0000000000000000f99133bce566603a0000000000000000ec51cdbb5bdd203b00000000000000001012e8bb00b7623ae6604c3cce32b93b032e0bbc79a2233badaced3cdf004d3c8fd9ddbb1310bd3b0941ff3cbe669f3cdc34a2bba1ddc23b47ece53cf77f9b3c93e422bbc1d8fa3b08fba63ce091883ce01106bb8d1ca03b63556f3c4b15403c2b82d8bacbd2703b895edf3b7b9e063cb59e0fba72d65b3b8689433a9c1d113ba17813bbe814453af76816bb7c9452bbea3442bb303b06ba130aaf3a9d42563c8ad4e3b901ca4fbba0869ebabe00bd3cf8290c3acbef83bba51e87ba2b155f3c822fb83ae9c380bb397057bb87072e3c8eae763b57ff94bb18c09dbb0471683b27d4983bca2a94bb67ede1bb2a70783b5ba47e3b478839bb4e0cd0bb7b5e2d3bd0814e3bfde43cbb577ff8bb4f659aba13453f3b4db3c8ba905676bb96ac383ad56fc4bd9c402c3ca2cb52bc0fefd53b4b242ebebd84b4bcb4d705bc57739d3bc6d73abec6dc3fbd2f0313bcb3ec033c6c422abe4bf265bdfd2007bc8db1ed3b906001be3a3e4abd75472ebc5343ce3b9746b7bda7a337bdcfe204bc06f9b73b1f633dbd154eedbcce151abca627a53b725521bca84849bc488b6dbb20d8373b986b603c7b38533bb8f7073a31d05cbab4653e3d175f55be26848f3fd1036a3eb04d523dc2ed62befe818c3f232d743ef1a8263db2c838beaba5733fc8737e3ea3f00d3d3d2015be5a15443f6c30723ed60bcd3c195bcfbdedc50b3f32c7543ed629b83ca9b287bdb5b9af3e66f1303ef9a8723c6e010ebdac28203eeb51ee3df5faed3b63e141b9f76b0c3bbe907e3d87958a3b9840303cfbf5b6bded17333c6d6987bd4166753c0000000000000000545d8ebdab95793c0000000000000000dcc984bd5e63393c0000000000000000bcf372bde50a133c000000000000000029003fbd8a0ec03b0000000000000000c4ab2cbd96bafd3b00000000000000000c0e00bd9447a73b0000000000000000b4adbebca686b53b00000000000000009e8683bc5e09b73b0000000000000000c575ddbba02c3c3bb3ab123ce6d5db3b7de0f5bbd90b9c3b87249f3c0650963cd731d5bbac43a43b3dd4d83cb51eb03c0fa07ebb6179c73bd35da53ca5aeae3c8b6c2cbb05a2ae3bf064813c34ca993c269d19bb784cb93bf8183c3c22ee433cf386d0ba5dce823be8ceb33b5421f53b35c416bb725f8e3b9e9c8aba035ee63a4a34cfba80a55039b09345ba96486fbb5bd806bb9cbd8eba5fd7d23b70e9b939be145139b13588bbabd8a13912df763c7b33763babf089bb3cfe3ebae036333c983da63bf951abbb348928bb0f679d3bb712ba3be4116dbbcbaa76bb1c5abd3b0250d93b761a85bb63a2bcbb8417aa3aa26e943b48015fbb050b9bbb03b035ba3d7a643be10816bbea49c5bb3e737439d16b133b9f3b14bb181693bb8256973bac09a0bd91c8883be8d2abbce7dc093cbccc0abe5ce341bde8b476bc6825263c635c18bed6ef97bd4aa883bc6aa1233cba1d03bee21a9ebde1d38bbcf052143c1816d9bdaaa898bd005594bc25a00d3c5f938dbdae406fbd060a64bcdb09d63b540016bd260810bd14183dbc5fd0993b0c19febb62e566bcb1b566bb4390083bc0a7df3b914de63b027c13bbd7d6a23a774e1a3d896343beb3f96c3f3486e93e3f83423dc8e150bec3c1643f2f00f13e04e41b3d077c2abe8350443f5178e93e6cf3ff3c23a003be21001a3fab05d13e17b2d83cc09ec7bddb1ade3e7c49b23e0aa5a93c57c67abd8794863e82c5863edaba6e3c4ba3ffbcbdebed3d256a2c3eb8230d3cfaa6c4bb0cae8239dd92993de01cd03b24827aba72d395bdf42ba03bc7ace9bdf318c53c0000000000000000e3f5fbbdf49fd13c0000000000000000fb2be0bd3359a63c0000000000000000f317bebd2f33923c0000000000000000effba2bdbb61723c00000000000000008e5f80bd3f9a3e3c00000000000000001e4d42bdf0b3403c00000000000000001a8606bd3ace153c0000000000000000bd15c8bca64e1d3c000000000000000041e285bb481bc63a3199943be0ec1c3c026d8abb6470c43ab9bb703cf682ab3c985c83bbec31a73b43ff863c65ebc73cdfe35abb59adb83b70b46f3c5003c73c5b0ff6ba633eba3b6bdd273c1e4e833c546433bb9d98d03bffd6053c0721763c07adc2ba5a7ca63be4af503b9f36043c00ff04bbbff5813bb766b139a6494cb81e7ca3ba36014a3af4281dbb933d1dbb53b021bae07305bbe021943b847844bbf2f18b3bba30a5bbb0f592b9f7fd153c69f0a23bfaacadbbf54443ba82dd953b5d69023cb3af9fbb9fa629bb58cc913bc9edd73b52dd51bb693c5aba2e2619bb626a073c8694c6bb983141bbf4e826ba4959a23bdc331fbb467d9abb3ce347ba0cafbe3ba5bc81bb2d493bbbc03cdcbaead7403beb1b53bb926ee2badf33e43a70d869bde8d52bbcdec7ccbca535353cd64cc8bdec7b96bdc01fb0bcf708543c3091d3bdf002c8bdd74aadbc0a6a423c8f92cabd7cacd9bd5129cbbc08354d3c198492bd455b9cbd7d94bebc310fed3b52fd5bbd2ea094bd9ded9ebc8f5b253c1f64efbc59fa26bde2833cbcf1c9a13bdb5004bcaeb67bbc798fd8bb4eb7d83a4850033cd0eaae3b7dac56393330023b40660b3df4d01fbece99313f9dae323f30ea1b3d60f025be89a1273fd60d363f6925ef3c52f603bea7c60c3fe94d293f9137e03cfcedd5bd24b5de3ebe49163fa8e08e3c9bf691bd766b9b3e4d74e63e35ee983c78bd58bd25813f3e13e5b03edc88563c1456f2bcbbeaaa3de983523e9c0ff43b987a18bc5f01a33a5fdca73d80beb93bba8737bb6a0668bd7aa6d5bb214223be4fe1fe3c000000000000000039672cbe3bee113d0000000000000000c83210be9ffbd73c000000000000000060b4f8bdd277b13c00000000000000009a6ba8bd37b3823c0000000000000000ab26a0bd4c01843c0000000000000000b1395bbda25f593c0000000000000000d42417bd69c7663c000000000000000026fe00bd9a303a3c000000000000000038682ebb97f3293a4fbd173be0ad5f3c11837fbbfb800c3bc28f143c1f7ed03c64b076bbd9a65c3bc631493c23fb003df54e41bb8ee5d43bde272e3ca8d7e53ca2c33ebb674bbd3bde73063c7acbc43ca4fc3dbb1982f83b22fda73b46f5803c94be21bbf218cf3b0c20043bb359113c3ead11bbe9e7933bec349438f76f1c3b5ff423bb5f0b3c3ba4fe15bb02b972bb86ac4cbab9725bbb1271083b6776c2ba7a93c73bb267eebbf2fa8eb9f1a0533bb039fc3ba04eabbb707aeabad5c94b3bcca3263cb948eebb547b37bb8a73adba59bf383c3345b6bb3a5c0fbbbe62993aadcc0f3cd7bd9fbbb67564bb895432bb6820f13bbc6096bb3bc0f4ba25d052bb18d29b3b1dd084bb9d941abb7f2506bb1b4c3a3bd1f045bb282c37ba1945093a03641dbdd63302bdd5b1c7bc2459473c10386fbd650adebd68669ebca47d693c33c18ebd53a70ebe13aec1bc646a583c887f7dbd39d308be22a3cebc4322663c52815ebde972f0bd457dcfbc8b96313cfd1118bdac86abbd623e91bcd912aa3bd731bcbc9bfb4cbd45ca3abcfb31a53be053fbbbe11f80bc9eb962bb1a3cc23acf57903b802c093c8f6a743a0e03b83acbb6c43c024ce2bdb68be83ec9816e3f4f6eea3cf8d3e7bd217fd53e6e4b703f10a6c33c1ba5b9bd5759b23e69c05d3fd39aab3c5aca8cbdba44883eb2383c3f5e358a3cbd2362bdbee3423e847b153f6cae6a3c4f9413bd0557ef3d1c82cf3ece74283c0646adbcb7866a3d6e5f6b3ec822ea3b6f2d2cbcaa52e93baa5a983dbddc983bffb28ebb29c012bd4904c3bc61c449be3224253d0000000000000000b47453be268d333d0000000000000000929d31be8265093d0000000000000000303f0dbea956d23c0000000000000000b2a2e0bdea63b93c0000000000000000e7e5a4bd3b3ca63c0000000000000000aa7e6ebd4af3893c00000000000000002aba1bbd5b09783c0000000000000000faaafcbc0ee15f3c0000000000000000b44692ba7f1aa3bad04286bae81b843c1668f1b9db4564b9da4b693b816ffd3c0bae1ebb7d0e113be241df3ba575173d3882faba7629703b029ce33bc35d083d4212f3bad2a8a13be9e3d23b9ca1cc3c985e21bb9c4ebe3be2108a3bc028913c10fafdbad3377e3b4f82223ba30e403ce7bbd4bab977653bdf6af638a9e9fb3ab34f5cba4b42b43a8212f73946e752bbea610cb995db57bb5088f33a36e82bbbf064ef3baa6cf3bb2b2c9dba74f410bb6140273c48bec2bb141f1cbb53ccd63a29632b3cd1e5c2bb99f11dbb86f739bbb4ad293c8c1dc5bbc14dd3bae2b430bb6bfe303c65177dbbc7efecba56a895bbf417973b442c5cbb8ef34fba09b787bb52067c3bf60f15bba5ecc039ebd84dbb2b735bb981afc2ba34693bb897b627bbe79437bcdca870bd6c3c81bc95e0373ce626a9bca63419be9d4062bcb0ce4e3cef0614bd334430becbb4bfbc79f0463c5e7705bd14332bbefdc3d0bc2c733f3cc96807bd87bf05be9599c8bc1ff40e3c7532c0bc8330cfbdf0ef89bcd24bb43bb91e68bcd7ce69bd47ea29bc585fea3a21b70fbc564982bcd81216bbfa6671bae93fca3a3c8d203cfce09e3beac6f0b9b3d26c3c765e7ebd31d5693eff3e8f3f8dcd893cb58a69bd8c54413efd9e913fbfd3773ca9d047bdf472273eba42823f9a8d6e3cdfcf15bd27dbed3dc4f95c3f888d403c1e4ee3bc2709b33d7e5e273f3818223cad259abc4ec6673d04a3e43e767efe3b1dbb56bc8e49eb3c34ec763e7355a13be8cf1abc833f6d3c5143733d6b9a043a7265fbbab09925bcceb854bddc7158be3d63323d00000000000000003cd160bed2c83e3d0000000000000000cac02ebe09550b3d000000000000000006bf0dbe7e87d73c0000000000000000fac7c6bdf06da23c000000000000000092ec96bd14439c3c00000000000000001b0046bd75f1813c000000000000000050d3d3bc812b413c0000000000000000e70cccbc86293a3c00000000000000001a86963aea892ebb439b3abb2bf0be3ceebcfd3a2ba717bbe6069cbb14d82d3d59e9e2ba18d68139103c313b9d793c3d3e1ee3b9a41c063b3ece7b3bffb42c3dcfbe06bbffb8823bf9b34d3b5a90f23c88960dbb30868d3bd079663b53fdc53c97782bbb0cb7ad3be1a4e33a244b473ccda318bb7d1d9c3bc02acd3a0e25543b2db48cb96a03673a73f5ceba90246bbb71d4fc3a286cafbb33a72cb9260a2cbb6d8ccb3b769d14bc140e70baba0502bc2d76373c809e10bcff5cdbba79b43ebb8d824b3c06e6c3bb461f52bbf4c26fbb38df503c79587ebb131662ba87ee85bb00b50f3c7913c4bbd9f6f83905fbccbb2cb8d43bff2c24bb65f3703a164cd0bb8db1253b1c12edba74040b3b2700a3bb8e787039dca61dbbc2f10e3bed5429bb259de93b41a4edbd777d94bb78a40d3cde63983cefad44befc24713bfcca173cae182cbacf1f5ebefea16cbc8c15343cb32a21bce8c14dbecab3b9bcc5ca2e3c6b5a25bcbf4422bebffbbdbcdff5bd3b3de23dbcb658eabd0b178dbc602bad3b62b53bbc10327abd35e832bc2383f93aae3e47bc79ca72bcb5c831bbc66e17bb4dcb06bac8e4a53cd12f843ba6b251ba251f873bc7f75abc6955743c2d0aad3fb2c2a33b501803bc3cc8163c52739f3f6d46c63b20f01bbc8b058b3b3b22913fca32c03b26e7c5bb48da853b8318703f8a81a13bf0146abbae4a58bab184343fdd42b33b6b17a6bb75240d3cf193ed3eae82943b863380bbf6f84f3c56146e3ea747933b823732bc167cfe3cb9a40f3d873aefb885f339bb0a2cd93b15c6dbbdc5b65dbe9f16303d0000000000000000bad042be0f8f213d0000000000000000bc1f17beda03d23c00000000000000000621d9bd2a809b3c0000000000000000acd490bd46497d3c0000000000000000cefc37bd26fd2b3c00000000000000005ac0bdbc0186103c0000000000000000f45715bb6917de3b000000000000000048e93cbc5107033c0000000000000000000000000000000000000000000000007d7b8d3aa2db63bb3499963af7a72f3dea84f9b989be253a91b4f73a6dcc2a3def1970baed49b03a96fcaf3b005b043dad4104bb3c5e673bd76ea13b2bd8d83c13c225bb1390ac3b2564ac3a2301943cc9bb8dba5ed78a3b7baf423a5ac5353cfc06e2ba4269493b3fd19139182d133b0000000000000000000000000000000000000000000000000000000000000000d327073c5871cabbc3d227bb6894e0b7f059413cac94bdbbbe31ecba0f8e18bb1bf83e3c15ac83bb01178cba02c711bbbdfd633c150775bb2b8c00ba8c5c92bb2fa1283ce436d8ba8899053aaaa5c1bb5d43a13b98aae8ba6840b53a1f92d0bb0c1a163b4feaa8b911c6253bd3f4c4bb000000000000000000000000000000000000000000000000000000000000000091696f3c2a8b60be2a06a3bb7611a33b96c6133c798958be520688bc7bb9da3be078b6baba973fbe99a9d4bcc785773bd35591bb95821bbeb789e3bc8eb9c93a330c32bbaf40ddbd20f7aabca6554db9548c80bbf02a74bd1b2844bc20ed29baa9cd2ebb0b2e2fbca9e793bb430253ba000000000000000000000000000000000000000000000000000000000000803f1ec411bbfa41ad3ca62ff9bd9536ad3f89ef6239ce1b783cc06db2bd24908f3f0635233b26872d3c05f58ebd0f3f6c3f947f6e3a1d703f3c62fd64bda911313ffb8ed13a0e4e123ccafe12bd92ede63efa24b73aa5fe9e3ba98b13bccf03643ebf28a7394ead103b394ec13b4cb6d53b000000000000000000000000000000000000000000000000000000000000000033fde1bd90d68e3c000000000000000096b459bd2e18df3b0000000000000000ee1fcfbc3e4c953b000000000000000002910abcb7dab73b0000000000000000a3eca43b946e133b000000000000000078823e3ced388b3a00000000000000009828133cf3ae0a3a000000000000000000000000000000000000000000000000000000000000000000000000000000000102ffba360a0ebc85722f3d2cfc2f3c6cdee3baeca8dabb3ef32b3d5cef733c27d253ba00505ebb7db20b3d43c6703ce05a9abaaf8334bb25d7e93cd0df6c3cebe69a3aee2d4bbb1ce49b3c6354583cc93d013b4daabcbacd7c163cfeaa223cecf5ed3a01c5b0b9cb6a353921f98c3b00000000000000000000000000000000000000000000000000000000000000008a4f8eba42460fbbeca821bc2b050e3d7477b938233d35bb7ed10cbc5005063d72343b39308025bb6ef5c7bb20c6b63cbbef813ada8227bba45f87bb7446963c4f48e3b9e70db9bab9eccdbb964b673caeaff7b9bc0066badc0cafbb348ae43b30b53db7f291dfb9955762bb2a69003a0000000000000000000000000000000000000000000000000000000000000000024257beced1e2bc7e45383cbbf986ba41c851be77e620bdb6f2fa3bcd29be3afba63abeb25832bd0bb2853bd76b083b17a618bebb3335bd20da263b2f21f73af08fd0bd727c26bd80f6263b7b04db3a7e6a5ebd2defdabcc1bd423b3d7aab3997c8efbbce7136bcf281253a6d22343a0000000000000000000000000000000000000000000000000000803f00000000f781dc3c109910be1f99ac3f90a2b3bd537ab03ceb84f0bd95e48e3faacab9bcc5208d3caa7ed5bd96b8693f0e25493c824b583c9e03b2bd56d72e3f3cfb0c3de06b403c8b2488bd07eae63e62a2213de65d3b3b997cf9bc9fd1653e2b9cf03c48882abb84f19cba9de4403c8b1e363c00000000000000000000000000000000000000000000000000000000000000008c84833cb56491bb00000000000000008e25ce3bb1ac77bb0000000000000000dfb6a53aaa6577bb000000000000000093073ebb0ba136bb000000000000000059a354bb7c6a20bb00000000000000005dfb53bab69858bb00000000000000008144a53bdff070bb000000000000000000000000000000000000000000000000d92e4bbbb76902bc8cc1e23c2cc5913a3044c439575c90bc7e53383daf41783c796095bae0644fbc5ce43b3d6355993c6c4ed0ba847d0cbcc951243d207fa83c2c393b3a6364fdbb064af23cd476a53cdc3aa03a298290bb7287983c6bc2723c59a1c03a7480b9baa9a7073c43ed123caa3b0d3b836a1f3b4fd2fbb9a8e663b93923b53ab27d303ae0829ebbbe9790bb19c219ba9b1356ba5bd411bc2b6e123d9e5695bae88a42bb31e0a6bce6a4913d23adefb998c779bb0a306cbcab855e3dad7dbc3a505b53bbefe142bc6a8a2f3d4867da39df892dbb78522ebc3d68063d9195513bcee652bb375516bc075fa73c7b2c3d3bd11f30bb7741cabb082fad3b8b1f183be907bfbaa4680bbb789a41bc499f353b4d6354ba6e4b46bbca8bc3bb04f01abe85e7853c363d0cbcdd175e3b9cee61beb5ea81bc2bc501bbcc1b843b50c568be19571bbda50090bba59ad83b082f4dbe2c965bbddc129abb0661d23b48da1cbee17f5abd7801f1bb7270e03bb757cbbd75aa3bbdf927bfbb99d7cc3b67b936bd24a902bd0683a9bbd9fa843b549d343bbb7e10bc9427e6bacc30d43a08f6fa3ca7f4f33a157765ba6501dc395d24223d6c3d4dbe0c29ac3f8148883c0a022c3d676a51beae559e3f95b7703dddba113d74a732beaa2e893f80f2e13db745ee3cff1e12bed15c5a3fee4f0e3e09bab03c06ddd9bd8a021c3f58d5163e426f4f3caacf81bd37d7bc3e26580b3e8e56673bab2e8bbc487a173e8ae9d93d86e84abc6d70123d494ef7bc0afb6e3dbc7222bc67080b3d3c4e17becfd5983cb90837bcc5e81f3b0000000000000000baba99bc62f0103b0000000000000000141ae9bc2803123b0000000000000000f6ed04bd7d9c033b0000000000000000993c01bda0e6063b0000000000000000eefe00bd94a4453b0000000000000000fa2cc8bc4634463b00000000000000008b4154bcfc77a03a0000000000000000d0bd45bc5470693b0000000000000000b1636bbbc328d8bb12c1aa3cb397ba3a2ad38bba7e2d4ebc1a35173dd0c12c3c315a08bbdbbf04bc4b14143d9d66903cee23b2baac87f9bba7d8033dd3b0963c0606aeb99a1397bb59fcae3c1da28b3cb05d683927913abb18e6683cd7d6613cb296643a1d1cfebafacfda3b49feec3b2b20753abdc6ab3a9191e737b58a703a5353b13a4c78293aaa5733bb75edc2bb266ba1b9832654ba660503bc55b7193da5e6063b231e83bba64680bc507a6b3d586a573bb4e56cbb086c36bcf8ac2e3d5c399c3ba82f74bbbc7c31bca6bb1b3d8eb3c83b9615aebb398a03bcde00c73cc499cb3b70349abbc9c8fbbbae895b3ccd04dd3bf35092bb730ebcbb80c5a63ba615ae3bf7ba25bb817932bbb25f02bc7b88743bf25b4abb51b363bb5ceb01bc099e05be364e153d6400efbcd4382c3c5f1047be03332dbc8126bdbc098c4b3c8ae541be0eec38bd12f3b5bc60e93f3cc37029be482e70bd415eb9bc23e7413c0314f1bdcdc67bbd76da9cbc1b8a3d3cda1491bda95974bd62fa8ebcd6582d3caa4ee6bcc74b2dbd59fe4cbc1fc1043cc46ae93b82baaebcbd71a1bba4be3a3b2051eb3c649e29bab3c945ba2a044b3b26c7273d6a8a4bbe49ad8e3fbda86e3e4cf6323df9ee59bec776893fcf6f883e0c3a163dd67a30be41ea643f29309c3ec5bee63cb4c70abe205b313fe8959e3e761c9b3cb4e6bebd73d6f13e9100963e272c3f3c13c349bde36c853e4ff4833ec92f6f3b018589bcd6c9b83d3c83423ef07217bc2496ee3c3d5a6abd12bee93d3bbf0dbc8cd71b3d8fc807beb8982b3d3f8b74bd2e9a4b3c000000000000000062398bbd2ec23d3c0000000000000000def291bd776d473c0000000000000000e51f8cbd8b72233c0000000000000000bd9884bde3ab103c00000000000000008eb07cbdcb90293c000000000000000037ed53bd75dc143c000000000000000069d627bd2d22283c0000000000000000253005bd272c193c0000000000000000a4ab30bb171287bb43d18d3c6bd0153aff1450bb4f3a05bc97e9ed3cc530343cecbcd1ba4dc2fbbbf2a2ef3c0475a03c4080643950d1d0bb6626bc3ce7f4aa3cbb2895b9c6c68fbb61e5893c64dfa53cd5d0213ae14a2dbb7f0a253c3e8f593ca423183a28c32cb90cf76d3bf8c7093c6b636839fd12403a5690e939a8596cba8947f5b95d56af3a069b45bb3ec985bbcbaeaeba71cebb372635a4bb3ac5d53cbf2ee43b30049cbb924449bcfe02413d1de0d33b63c9acbbef392dbc71a91e3da3fa1b3c65f4c2bbe59620bc0b69ea3c119a233c06e5d0bb489b05bcb997993c089d403c8114d8bbc8c8dabba52f183cd16d1f3c23d5aebb1fbc9bbb15dee5b914e10a3c126bbebb635558bbd8d3e6bbb2a69e3b7e6b62bb047fd1ba2c72a0bb9209f7bd2c7a3b3df97532bd4bf66e3cc34226be7e45aabc762727bdd5f0903cc42920be78d87bbdf0a015bdffcf8f3c551b00bea0cda4bda80009bdd04f8a3c2234b1bd07e7b1bd33f804bd9388803c606a42bd5c7897bdfde5cebc1037603cc0f452bccb2662bdfbd385bc008c153c6cf85b3c14c0dfbcce65f6bb1c44c43b8c05cb3ce30fa8bb9271d3baa3050f3b936a113dfdbc35be086e693f4f84eb3e68a4293d1af041bebf855a3fe25e003f0bdb003def5d18be2cea313f4826053f1065c23cc738debda888023fae7bfe3e56638a3c7fad8dbdacc6a53e157de83eb219073c89a507bd8c4e253e3529bc3ec56d9f3a879249ba490dc43cd762863e00c3ccbb4a24dc3c594397bdd1c9173ef5a7cdbbcdffe13cfdbcffbd92a4663da287e0bdb8ddba3c0000000000000000ebb7f6bdc484c33c0000000000000000f95bedbd153ba83c00000000000000002eccdfbd58ac933c000000000000000001b0ccbdf368933c0000000000000000fda3b8bd89dd823c0000000000000000004998bd5520853c0000000000000000b8ee7abda9228d3c000000000000000015d74dbdb6b77f3c0000000000000000b436fbba53a46bbba9ae633c78b4933a73863abafe55fbbb33c6b43cbe80713c5f17abba6642bebb165a9c3cd1b0a33c308511b97187abbb5874863cc59acc3cbb9929b96c0870baf2b1233c323d723cf05900b900daf6ba3201c63b6527853c62e679bae67fa33ac3374e3a3c49e43bf0023e39d552cb3aa4a591b9606b8aba1fd849ba5b1fa63abaf828bb690abcbb501cd1b9f4ff25b7851184bb4076b33c0356033c09d8b3bbed280abc6f970a3dbe431b3c050c96bbef77cfbb406aca3c33ad373cdc84abbbb570f2bb388aa13cf0211d3c8e7fa9bb9efd8fbbb3222f3c0995583c2785b9bb83dc92bb82a9963ba13c2d3c164390bb17773abbef2be5ba5445173c5005a4bb81eab9ba0bda04bcecdcb63b33ba70bbffe68bba7f43babbd307d1bde6631f3dbc6456bd864b903cae5102be1c8918bd4ce755bd42f5b03c7a11dfbd3cbfa5bdb34f37bd592f9c3c9976b3bd225bd8bd0a4b3dbd94df9e3c3c6774bd96dda8bd20de00bd63f2403c0e32dfbcfad1b7bde73804bd81f4683c3b3962bb677f69bd9dd0acbc4ff40c3cea4b793c6cb7eebc7d1a1cbc318ec23b0c6fb13c7348cbba01fb89ba21504c3b6f35e83c0a4613be7d032f3f01d5313fdbf5ea3c30a50fbe91471c3ffc393d3f7e4ebc3c47dad7bd78fcf13e96b3383f5d96873c6aec94bd40c2a63ed38a2d3f40453f3c275d4dbdd1e3523e90690a3f08e9d03bad0b8bbc69f6913d8dbcea3edb9af33a7d02073bc71655bce4279b3e5dedbbbbd030ba3c4a3fa1bd89d1283e17428ebbab73d23c8917e3bdc92b523d3e291cbe802afc3c0000000000000000432427becb280a3d0000000000000000b10c16beb6d7dc3c0000000000000000fdf40cbe677ad23c00000000000000000df5c7bd9d3d8b3c00000000000000003acbd5bd04beba3c0000000000000000064fa5bd0c0b973c000000000000000085cd95bd51b7ba3c0000000000000000908973bdf299933c0000000000000000334273ba833285bbed3e183c698d9a3ba352f6380974dbbb3547493cbc379b3c45a037391a4396bbb7be2c3c4407e83caadd1ab955a82dbbf8ac093c2979ca3c605b38ba5a1decbad980c03bf7e8c83c28d0a6b9ecaad039137c113b8a97813c73b681baf6197e3a584aae3a7ba8f03ba113afba7260463bc70991ba1ce1733993d520b963a0e73a2f9fe1ba3db8dbbbecd20c3b2246d7ba672b26bbb6b38b3cfbcb313c2c26c3bbc131cebb676bb63c3de7693cf229e8bbc20eb6bb662b6c3cc11f8e3cefb0e7bb123b8cbb2742003cd4f97d3c9203dabba69d6cbb13c3903be552823c8bf901bc0b921bbb33ed1dbbcb18463ccd19bebbe65d02b9f3f0d0bbb1660c3c6a28a5bbb29c0e3ad4ef1cbc7a72853ba3457cbb7d198f38db94e4bb75519ebdbed0773ccc2357bd6c28a03c06e0a0bd35ab99bdbb625bbdbcb3c23c4e2684bdf879fdbde3825abda981c03c76fb3abd5a7508bed70d46bda426a03c8045e9bcf17001be00fe31bd83f7953cc13204bcdc8accbd066d0abd56d06f3cc676b73b675887bd1a50aabc6c071d3c4d6e5f3cd55bebbcee0ff4bb8d1e9a3b326c9f3c014c1a3bbf7f5339c9374f3bd0dfa13c2e0dcfbd214ae63e18a86c3fb501a33ccd0cbdbdf67dbf3ef63f773fe829763c02c380bd0cf5883e48506c3faccf223cb09b12bdb6b02a3e97a9503f6645d83b83c590bce5ee963d1c192e3f1a0e613bd8a8b5ba15c9073c2b00013fb3abf536e92e263ce7772bbd8775a53e17b96cbbd68fa33c34d589bdf0451a3ec454a4bbe528a73c056fb0bdf85de83ce51a3ebe8c84173d0000000000000000df044cbef583293d000000000000000086ab31beaffa083d00000000000000000a0f15be4243df3c000000000000000011b4fdbd3ffcc23c0000000000000000bc44ccbd84b1b83c000000000000000028caadbd7230b63c0000000000000000d0578fbd4e0abc3c0000000000000000eec96fbd383b9d3c0000000000000000efe0863a722788bbb591023bb47d273ce2e0263a08105ebb14af283ba2d2ce3c5503073a36d540bb841a873bbe8b003d216bd539a58114bbc653f03a9a950c3dc9502cbad35a863963bffe3adeb8c73c0165b1ba9a0f273b857151bac5979e3ca3b9e1b9b20bb43abfc59bbaf531143ccd1a3fba8a94233b73d95a3ad27779baadb48aba366f073ba4472aba334c96bb7c64a53b7fb184bb9f4d11bbd675123ce373743c23eb0cbcee262fbbc67cc33b601f813c967bdfbbfbfe6ebbaff7aa3bf6f4893c0e44fabb27d2dfba4eba56bab34c843c4be4d5bba99a9ebabbcbf5babd2e773c9e52c0bbb75252ba5dc2ccbbc55d4d3ca7a4babbd9482fb9367ba9bb367cfc3bea42acbbfcc4573ade640ebc9a660c3bbd414fbb3a86133b200de6bb5c551bbdfa52c7bc00b632bd9d15a03c1a33e0bc12bcfabdd69d4cbdf4efc93c64e0e2bc1e151cbedb894abdb430a53c12293bbc6fc32bbe0a0e46bdc091a43c0005c4bb1d210cbe451e29bd5b97683caf2b7f3b48c9e4bd5e7e07bd8e9d403c9090043c7db686bd6838b3bcb2b1e63b7dc2103c660cd0bc54768fbb7f0b6a3b2c0b0f3ca130043cc0bb9c3bc80dd838c859323cfa305bbdd7d6663e13698f3f337f153c66e222bdb2fb1a3ef2a9943fb520eb3bca56c6bc498bc83d1e73863f94af723b23d0edbbf68bfb3c09f06c3fe96d1a3bac5104b98639c0bb9972383f05aebe3acfc5fd3bbfda12bdb8b1063fcbd2b8baf51f403cacfb4dbd879c9f3ea8a8d9babcb5583c7d783dbdae7bf23d051a5ebb1421493c95583cbd074c63bcae9750be6d272a3d0000000000000000b4c256beba4c303d0000000000000000541c25becaf9013d000000000000000084c60bbebb99d23c00000000000000009d98c9bd1242a63c0000000000000000c5c4adbdefbfab3c00000000000000002f687fbde147983c00000000000000001dda6ebdc38bbb3c0000000000000000d71752bddd55a53c000000000000000087faeb3af76036bb89f128bbe3c0943c2b82b13aed8744b975164fbc5880193d6ec1ac395df0d2b962cd0cbc9b4b323d3cccbb37ac2c32b95796c0bbd06f223d42fe4dba3d13783aac1f53bb7984ff3ccc8a9bba91ac143bd8ab63bbc333a53cf0d5debaf67d5f3b0183b2baa7912d3c29031dbbc68c6d3b75ec043bda9bd33907b98ab9eaaac33a1ab08a3969ffb5bb53ffdd3b7e50b2bb0b2e84ba9fe7bf39b0d2983cdeef24bc4e71f93a3b8d3dbc381aa23c0d2a04bcbb3f9a3a50ed08bc98fba73cca7ccebb53a7b039cf5cdebbdd10993c1696d0bb97e0723a600008bc3de28c3c90bfb1bb0102f13a617521bca9962f3c802978bb98d2153b59b418bc95cc8b3b244567bbef84433b008ce8bb0efab9b950580cbbb58f003bf755b3bbdeabb3bb4ccababd92b4ecbcd6b4893c57dbf03cd69136be49651abd24e2ae3c8561b43c32ca56be963c39bd1d97a43c0939953ca5254bbeb7dd46bd417c7b3c781d793c2c1b27be38ee30bdce8e573cfe64843cfd24f0bd4db715bd6b531d3cce74293c4e0a8cbd45529cbcbd42c13bc6f22abb1af38fbc3ebe5dba25367d3a5cd3503beee0933c0d59ff3b1643983727a8b23afb93fdbbd4d4833cb2feab3f63ecd63940ff2a3bc0a3b1bc866aa33fcab405bad66c093cc5df38bd1a7d943f0ee403bb66be7f3c029778bd17ba773f8ab92fba8ea8823c1c2f87bd09413e3f3ddb50ba96fb803c81f77abd6a85013fd28c77b9a413213c586e27bddc7c8a3eb93fe63afec8d4baf804fdbad64a813d9ab7d6bac8006b3b97f52dbc1284acbd979550bea81e223d00000000000000009cd634be76a20d3d00000000000000007b0904be5e3ead3c0000000000000000b0fdb3bd568f8a3c0000000000000000ae896bbd1cf2463c00000000000000006c4121bded17343c00000000000000003678f6bc13e4333c00000000000000002e84f9bc85a78c3c0000000000000000f38112bddff66f3c0000000000000000000000000000000000000000000000005711b73a544105bbfc32fdbb4692283db775963a0d36f1ba1471dfbb0dd32a3d24f769b9bedd69ba9e2732bb507e133db22b38ba1208223aadd642bbea30e53c4cf518ba3374bd3a32f86ebb2728a83cd3a08aba87c9483b79443cbb5bc5183ce31388ba3f6d2f3b1019a9ba4e9eaf3a0000000000000000000000000000000000000000000000000000000000000000af5e553cb1c5b9bbaf1e813abd6b09bc7b52803cb9158fbb742a4b3853aa07bc2111783c698d65bbf4108c3a6943e4bbfc40753c4cad1fbbf2b74f3ad0cbdebb0c884c3c330001bb2562e73ae50ff2bbd5b0223c4c6edcbacfd5e23ad9dcfebbf650803b540042ba75ac273b68eccdbb0000000000000000000000000000000000000000000000000000000000000000a290003d35d057bea17ecbbce294243c21bf073d8ee354beed4a15bd01bf0e3c5987b93c1ba341be58301ebd02ecc63b30dbaf3c99691dbe51de28bdd7b55e3bcdd99a3c8566e2bdbec70cbd1bcb8c3b33cb3c3cc17071bdaa90c6bcbb53c53abd27703bbed12abcbf77fabb786e82b9000000000000000000000000000000000000000000000000000000000000803fb40098bbbaaee83c308e0dbe6b5fac3f472638bb113dd33c2faff3bd15728f3fd7471fbb774eb63ceb24e1bd4a276c3f561005bbdf69a93cbf11c8bd20ca313f3d2cb9ba5e6d813c8eab9cbd9a6aeb3eed9c8bb94e75fa3b2e9e1bbdcf6c6b3e7e8fc23922d4833aeabedbbb829a503c00000000000000000000000000000000000000000000000000000000000000004c88bbbd0ca5743c000000000000000087c4f6bc2ab7d23b0000000000000000664214ba6b6aa63a0000000000000000f566c73c78f700bb00000000000000007312ed3c718505bb000000000000000065f0d13cb24afcb90000000000000000c8fe1b3cef4de23a000000000000000000000000000000000000000000000000000000000000000000000000000000009419843aa7bde1bbcad1243d303584bca8127a39d006ebbbf86a2d3ddbe68fbc2fa165ba7f969fbb8b9f193d274a80bc706089ba68d487bb23ac013d75da52bc75c02e3a354ac2bbebaec63cd87fc1bb36fe5339d66a7ebb93b94f3cb531ad3a6925b539a3b2f9ba53624b3b1e20c83b000000000000000000000000000000000000000000000000000000000000000093fd403b08feaf3a35f50dbc42e9243c579ed23ac0601d3a7324e5bb42b37f3c9cef113ba726f8b9b71448bb60df443c3cb6c13a54da5f39c53407bb376d3c3c7dd32dbbe095a93ad3f0f5ba3053533cb7e212bad215633add93423a09ba0b3c985e29b94c5ed6b8f63f893ad510243b00000000000000000000000000000000000000000000000000000000000000002d9d1ebef0b4833cd51f9dbcc6c8e33ba26820be0aa90c3c050157bcaa17d73b447115bee781ca3bd97f3bbcb827af3b9e85f8bd81b228bb860600bc3a6e823b39a6bcbd8a2551bce06c90bb2b00663b494c56bdd9c3b5bcbc2825bbaeb9133bde5a35bc9e1ce4bcbfb9953a8af5233b0000000000000000000000000000000000000000000000000000803f00000000d922d53c14b6e2bd713f9c3fe83e5bbd21b7b63c8d0acbbd2cce823f5c0076bb1445913c2cebc0bd6a05553f5047ff3ccabc6e3c78a8abbd8af9223f8d46593d31390f3cfb3b8dbd6791e03ecd8c863d8712073a1a6635bdc3147a3e8312693dd0b43ebb1f89c1bc42b3653d7deb463d000000000000000000000000000000000000000000000000000000000000000080058f3cf79cf9bb0000000000000000ef02a53b9e2e9fbb000000000000000034cd1ebc07b2d93a0000000000000000dd29a3bca9a48e3b0000000000000000f71bd1bc40bcd13b0000000000000000309bbabc1a01d73b000000000000000080becfbc5130f23b0000000000000000000000000000000000000000000000007536963a3f4313bc467e0d3d2052b3bcec0b763b91e996bc637b663d6bc48dbc1a6eb23a4c296cbc1243623db0a964bc8b024b3a47ca57bc135b4d3d25374ebceea8533a821d2fbc7c5c193dbfbb48bb7195273a109901bc6e14cb3c15e79b3b9803203a133890bb8bfe173c5069433cfbac2c3a3a449c3a5b3300bcfa42473cff9eba3a447a56bac1530cbc1233313c50480c3c6a63d5ba6c9308bc5de04f3c282ce13b780f85ba387883bc9c9e163d2e2a8c3b5a588db8e7131cbced88ee3cc074113b649c57b93ddddcbb98d1ce3c525800bb13d7373a0244a9bb0c3bc43c80c1a1ba1f02a9baa1b611bbbac9873caca8d4ba9240fbb9e56058babd0e4b3c25a33a3a53f6cab99724af3a64dba23a081b07ba8d9c63bafefec4b95e3ea1b9834902be8373673dd02b2dbdcc115f3c77a83ebe2d95a43c437ff3bc70f53e3cf96c41bebe6c8e3b7506d8bc1b04063c4d562bbee6d2fbbbbcc29abcc66ef43b902408beae12c6bcd43f23bca37c793b0130b5bd678529bdf4c952bb45f3943bdc5526bdd5b54abd1645423b92c7133bd9e4353cac3939bd8a135c3b50fe203baacef93cd89607bdbd97073c78ba9ebaf0d0083dad4914bed0489c3f3056783d3014153d52a022beb12c923f7880ba3dcd8fdd3c94e60ebe8f44773ffc31113e372ab73ce6c7f0bd4091433f181a2f3ed4746e3c6444c2bdcef40d3fb3543e3e897d8f3ba9b288bd436cb53e2ea3373e3c25b2bbb01217bdafb8233e45df1e3ebfca83bc48ecc33a9bcecfbb3b5fd23d3d742ebcdfed093c2d54f5bdb652893d0e93f6bb50ab2abb000000000000000033da1abccc18abbb000000000000000048c7e8bc2ba47d3b0000000000000000e49728bdcc2f063c0000000000000000a09556bd381d4a3c0000000000000000a3a367bdfb6d5f3c0000000000000000c0026bbddac3683c00000000000000004f0245bde5b1473c000000000000000053c32dbda997573c0000000000000000f2c399387c2309bced0d053de85fc8bc97d3e13a890a6bbcb39c503d117cc3bca71f313ab88b35bca426373d57fda4bcd5c89739562926bcc195203db12d8fbba3e0533aeff304bca463df3c5bd04b3a9e565c3ae66ce7bb2e21853c162f583c62b4643acfb984bb0d97c43b8d794c3ca7f0a63a7f27b1b9ae3df7bb1596883c941be43a4b5451ba19f318bc27ea393c6d5a313c232973bb5e94ecbbc3139e3cb7740c3c7a66b6ba20bf45bcc7e6033d8674ae3b2936f9ba965704bc539fd73cf4ef1a3af45eb7ba90d3c8bbef33c33c15b51fbbc5e78aba247458bb81fa9b3cf5cd86bb7792e9b9ce2c95ba49675c3c879c96bbc8c8fbb9380472ba0438f73b0b7f08bbd18b34ba0ace473a20603cb9fa43fdba4655763a183436bab1afcbbad131f8bd72af9e3d557d53bd0ac2773ccf052ebe5a05323d1e2646bdcc44793cdf421fbe0946503c42bacabc9296c33b021d10be9892bfbcd4428cbc8fb7b93bc8e5ccbd94162abd5047edbad8978a3a07c87ebd3c568abd8d59e03b2d5a79bad92ed1bc88167dbd0d69823cde9fa9bb0d3d933c0f3c7ebd9164623cb86156bb0ee6073d59fc24bd1c1e733c4b2eb3bb3088033d347614be217b823fe3d6813e9ed0053dfeb425be3fe3763f6684913e0742d43c697e03be282b473fd019a23e3fed8c3c6395dabd20541c3f47e3ab3e1e6ae93b7d2c9cbd48d5d73e0de6a43e9213a2ba488e40bd1e4e783e95429c3ed3aa58bb1c2dcfbca018d03d8240753e3e6081bca3112c3c3f543fbd70b4343e4d7844bcf927a43c3c5afbbd88b8be3d1b0b48bd8158053c000000000000000093d178bdde653c3c0000000000000000bcf896bd0312923c00000000000000002640aebd03b3b03c0000000000000000a61bb3bd4c0cac3c00000000000000008149c8bde533e73c00000000000000003c27abbdef08c33c0000000000000000b8fea4bd9e07d13c0000000000000000477363bd7b587f3c0000000000000000cd08b739e5b7f2bbdc56e73cbf50e6bc4a30333af92a35bcb099343d7a28c8bc6d7b4a3a0f7533bc41ee233de14e0ebc6350eb3939863ebcebd6053d61a1f8ba2dc6b93ad431f7bba848a53cabe86b3c98be7e3a02a9b3bb1391073c7ed7a83c5512723a32814bbbec13e237cf37b23ca353da3a10b691b9f58c08bc3181973c879a8d399dc80ab9e3f711bc3f765b3c64ce803ca954bfbb5858b6bb9a258d3c2c4e033cf11f79bba19e1fbc8ad5e33cc3c3473bbaafd0ba63f4debbc710cb3ccaad1e3a57c21cbb393c4cbade50ac3c8eaf0dbce26209b9e4f88fbb22867b3cdcc6e9bb560352394af660b943ed1f3c384ed2bbb3082f39c038c6b9fc60c83ba20388bbd92b013afa367dba15c202b9b34336bb854e303a9e95f939ec34a9ba0a29edbdbb86b53d3d0e63bd3049483c821b18be947d343dbbdc4fbdc5b07a3c09480ebe992547bc4891dfbc58fed13b6d61dfbd019038bd783e14bc63548c3add039bbdb9779abd645d183c946aa2bb07fb1bbd04fdb5bd08a37d3c9b03f8bbf23ee5bb46d0b1bd3bcd9e3cc98708bcba74b73c947a8fbd011ba43c9c5612bcdfbeec3c09be34bd9c6ba33c52b62abc69f6e63c68c705bec37f533f3c3ce63e0c97de3c434c0ebe51d1413f1b79f93ea298923c81d7e2bda3231c3f45e0013ff888a13b9ea5a2bdf6bfe33e267dfd3eab71633b377f57bdf798903ee7ecf13efba3cdbb8d67dbbc4066113eb007d03e8ef52bbcb5b9b1bbeaeead3c0293a53ef7f064bc02b3793c978894bdfa885f3e51e620bc8a919e3cfefefcbd203ce23d1505b3bdf55ba13c000000000000000021a1d7bdc844cb3c0000000000000000414debbd054de73c0000000000000000edd1f2bde461043d0000000000000000efc6ffbdd726163d00000000000000005b35f1bd5f3a153d00000000000000008ba0debd4ade0c3d00000000000000006591bfbdde17013d0000000000000000389b77bdb51f863c000000000000000051dfc9b9d1448abbb49cd23c15e0d2bc53c3303a2f2b1cbcd1250e3dcb2b7fbc386e05398787f8bbdcfee23c5cd316bb5db15d398e2ddabb0ae6ae3cb3b46f3c2169b938c5434ebb7268413c58490e3c6d0c703aadf79dbba4e4b63b143eda3c325d4b3963ab07bb751924bb9df3ad3c31fcae3a17df6bbae4780bbc4853963c585f1b3a62b09339645803bc60c23c3ca6ac693cc62fbdbbf23196bb7d89653c6222d43b35eb4cbb3211e3bb9f9fc53c8c67da3a859c71bb0a5e68bbbb979f3c474de8bb35caa5ba878131bb2561593c1e4d16bcc7d7643a2e2acfba4fc1263ce48d2ebcb05f0439821489baa248e73b9639e1bb059a933a8eae253ace779f3b21ee93bbcc91823a76fa5fb933f9e7b929e24dbba947c93a66d051bad769abba04c5dbbd3ee6a23d6d1e4ebd3013d53bd0a0fbbdc987b93c8f8931bde8c2313c7671d2bd63d710bd26f55dbc91fffc394da6a1bdc127a1bd9f02493bee54cdbb6e5b51bd72df95bd5f3ddd3c1f1f83bcc40ab0bcf148debd5e29cb3c53bd5fbcfb3ed03ad5e0b8bd75aed03c707746bc29a8ca3c497d90bd5405b03c45c550bcdb0fd93c62d028bd6298a83c6bdc4ebca08aba3ce3d5dabd7eab203fa95d263feeb78c3c72f9d5bd66360c3f0add2f3f3c430e3c52ab99bdf5e3d53ef91b2c3f92c52a3b688f4cbdca72903e5293263f4b5e393bd6da0cbd824f3b3ef52a063f2e44ebbbd3e32bbc5e20633dcdbef83ef4d914bcc1179c3a43ff87bca3b4b33ec7d642bcdd32903c32b5b0bda6356c3e97e103bc3b38a13cfe93eabd4352d23dd94ef5bddb03fb3c0000000000000000a47d10be5ded103d000000000000000060d10cbe514f143d0000000000000000619611be339a2d3d0000000000000000d283dbbdf46bdf3c00000000000000005549ffbdac26223d00000000000000003127cebdc2f0f33c00000000000000009372b6bd8243f73c0000000000000000e7e655bd94704f3c00000000000000001ff371b9123d80bbe478973cf37e91bce8aa533a495cddbb6df7c33c898a70bace83603a60fbd0bb7ff6883c9205893c0132453a080d93bb016b103cd6abdd3cbe84443a8148d1bbbee3003ce4e5f93cd162193a608cfeba795ecfba246cef3c45bf663a5cda0bbafe5ad2bb74c5bb3c61c9263a856e1f3a892f1cbc0998913c2407513a844a2d3ae0aa06bc5bef133c1578393cebacacbbd2d263bb4ab96b3ca7b6163b9bb926bb9b9090bb77e18e3c02d191bb9ca177ba51ccebba45f4523c003220bc3ca6da38a1bdfbb92f800d3cf8cf69bc6f85883a5818773aceeae93b70b632bc7fee013b96668938bd3c833be0699ebb15eba93af2599fba01e8023b1d095abbb8a6e53972bf883a9b6e05babe89dbba1d59503ba1597ebac96c8fb9a9a5b3bd888c593d398c27bd24918c3b797cbcbd74d18cbc7ed118bd67a90e3c6ab390bd631da5bdd21b43bcfbddb7ba1bd03dbd74a3e6bdede9fc3b8892ffbbb346debcd8abfbbd1e96ab3cc79066bc7ec1bfbb6656ebbd0e41b13cde6f69bcf7a7543cbc03bfbdc6498a3cf6a26abc07d5c33c9b7782bd93e9863c444145bcbfe6c93c4de505bd87ef813cd53455bc88c66c3c533a9dbd990edc3e446b593f2e03c13b321182bd5994b13e60c8623ff31c6fba0add20bd8d38773e77195a3fd5dbd0bba9459bbc7cb2123e22f9443fce0804bc0030f1bb60ce6b3dc77c293f1b411ebc3178a93bac5ab4bba924053ffefa0fbc8de6613c9a3575bd146abe3e779c4dbc5194a63c5854b9bde9895e3e8289ebbb12c29c3ccf48cfbdf4869b3d07fd12be11e6133d0000000000000000d49d29beca5b313d000000000000000080ed20be3c4b353d0000000000000000c61713beb9832f3d000000000000000012c605be7995263d0000000000000000189ee0bda3dd143d00000000000000002c57babdfb1d003d0000000000000000ed4a9dbdc711db3c0000000000000000f63a2fbd9f89103c00000000000000008a6c2c37005c60bb52cd2d3c470485bb7bb2a03941b689bbc069153c52dc8a3c32ec943aed6086bb1c3c003c1e22b93cf0578b3a94e564bb4ffb783a51a21f3dba085a39205f96bae5cfdaba94c6033d4e8d163a223dacba3b98c9bb5377023db9c3b8393112e0392661d8bbfaf4bc3cf34d5db9fed51b3bb07d15bc92585a3c8b021539ac05bf3ab090f7bb2572b33b3f961e3c46cd91bb9aa91aba80f00d3ca97542ba5db190ba574573372463243cb9e3dabb15cad3b968c9a6ba503bfd3b156c50bc6c19d73ac128a5b93de2973bb83e4cbcc0694b3baa45163a603f5a3bd9a50fbc9863133b20556c39b74cee3a2903f8bb0574e43abcbc20b92ce2583afd129ababba5913a170ebe39775fa7ba317e533932a9873a0618073aa0d0baba035375bd55611c3c2a1010bdd8e6993badda5abdb74e90bd8a2900bd561ef23bf20326bd7416d8bdaa3cb63a1726f6bbead7a7bc05b313be4bfb033cbf781cbc25c2e4bb537305be158e8c3cf48c6bbc5703ea3b45cff8bd6959643c8f945bbc57af5f3c8aaeb2bd33fe7e3c84a440bc5c47b03cad064fbd4061dd3b42b008bc782f8f3ccac866bce935f23b8b27ffbbddb19d3b272e1fbdbbf1723eda82843f420d8bbb9c5eadbc42b51f3efb08893f590c59bbb36b4fbc5c31d33df355703f160410bc1829a93b7842ce3c3a225d3fe3ce03bc28860f3c831b63bc4e3b303f4ed007bc57e8703ca55a5cbd90a0083f92a7f1bb46e8623c05dc88bd7416b13e15fefcbbafa58f3c2794a4bd0110383e2416c4bb75af893c6dbb97bd4885f73c06ce1dbef114223d00000000000000001a2430becbc1363d0000000000000000c68805bef0ac163d0000000000000000804801beeb80213d0000000000000000996fbdbd0e7ced3c0000000000000000ed3fa4bda4fee13c000000000000000049bd5bbdc9647c3c0000000000000000b17c6abd09a5ab3c0000000000000000afb212bdc96f013c0000000000000000cd9c283ab881e9ba0e3a203b2546333c96fcbe383aa787bab8f8d9bb6c461e3dcbc31f3accb88eba954e10bcbc2c433da84c853a3d4badba16dbe2bb6bc8433d3a40343a72ec8eba2c0a02bc91d3293db27ef8b8912cec3ae3cd1ebc4b2e0f3ddc6d4e3993513e3ab11215bce3a3be3c60d26eba26de2e3b46ebdcbbd247f13bc51406bad8a9433b4a5fcebbc0a5bf39007c143aeff183b92cc694b998189b3ba6b9cdba88c05a3a3ba1893b780b00bb78010ebce0bb213b37c50f3b6db981ba6fa045bc79ed5c3b2586c13a953120bb66863bbc3c69223b55b4853a002954ba2a3be2bb72bc813bd7369c3a2c5bddbab3b1f9ba082f313b9c4f0239a1752ab98e14073b255c0f3b5a40893adf5f07bb9be4833bcabbe6396f2973394387feba05bf08bdf2e453bd534484bc7bec0abbe7bf28bcb0e605be150ae4bc3e1fbf3b55d2afba13cd2ebea78b13bc368fa0bb09d48d3b96b72cbed1fff23a1db42fbc174c2a3c3c9119be7f78aa3bf34440bc9172873ca443fabdf44da5baf23253bc6a248e3c4c09a8bd1a87b7bbcd22fabb1c03573c80a0e8bc1730dbbb535bd9bbdded543c7b94a43a5bc9ddbba62595ba2d5b4abb49d946bb61b0523d87839d3f8e6135bc95218c3c6e4cbcb97d49993fcd2623bc7168af3c3ff413bdf8be893ff9a51dbce583b43c80756cbdff9a653f64050fbc066bb53ccb8592bd582b343f5d860dbc90809f3c89c79fbd965f023f26f295bbb87e753c1fe593bd44649f3e4dc87bbafc94193c3ac152bda7d1ed3d1fea0ebb07c91a3cb48f38bdc9df07bdc3a917be7bf9193d0000000000000000fb2c0ebee4a9213d0000000000000000fb17d4bd7cda073d0000000000000000477b8ebd02b4d73c000000000000000060451fbd93d5843c000000000000000019c1c4bc6e34493c0000000000000000390499bc5418393c00000000000000006edcd0bcc6e4503c00000000000000004f9317bc94190fbb0000000000000000000000000000000000000000000000001c49a93a8f6cb7baf038a5bbb333193dd98b8a3a8b5c02bb89bcafbb5bb42c3d99a3543ab093b3badb968abb93cf1f3d915a6d3abd14d6ba1cef9ebbfe360e3d3f247e391259523820da09bc33fee93c95c447b8eafce43a79f90bbcbca5943c95368db83dbeea3a39b4d4bbe849cd3b0000000000000000000000000000000000000000000000000000000000000000157c5ebc41936a3b2288c63a180032bb0eb163bc5956593b0747293b721e84bbdf568cbc9bec833b7ac1133a458591ba46cf75bc5261643be03f993a8d2fccba5aab16bc6fd5123b5299bc3ab54b19bb4fb65dbad78dfa39752e753a13b6dabaa3ce6f3b229cb13a500c373ac67986ba00000000000000000000000000000000000000000000000000000000000000000d827b3bbcf419be16bb293b6f2192bb8f32643c967725be2fb5fd38d64986bb9bdc4d3c9f711bbe7d13873b559fcabb48207e3c20a105be9946cfba31529fbbe19da23cb3d4d7bdbd8704bc0c3560ba3d938a3c658980bdd4158fbc86e488bac574583cf9f5adbc8220bfbce7c04a3b000000000000000000000000000000000000000000000000000000000000803f647433bc1cf0043d0b6fe2bdc06f9d3f35d039bcb264fa3cdf04d7bde0d0843f7b891abcce39dd3c0866d5bd78ca5a3fc10efabbf576bd3c9757c6bd23dd283ff127cbbb533fa93ceedbb1bd90e7ec3e112043bb67c33b3c6ca37cbd82ab863e32ced5ba1239d23bc99021bd2969903d0000000000000000000000000000000000000000000000000000000000000000809187bd730d8a3c00000000000000008c8ea7bc92b3263c0000000000000000497f0c3c21200a3b0000000000000000992bed3c1e2c9cbb000000000000000000dc223ddfc101bc00000000000000008ba7133dd846efbb00000000000000000434fd3c532421bc000000000000000000000000000000000000000000000000000000000000000000000000000000008f1aedbbfadc70ba1654413d7258883c64ec77bb76f2fe3ae5c6333d4ec0933cefda3abbc8b2933b1531133dd53ea43cad15a0ba44a93d3bfb99e13cabb3903c7e10943810ce323b506aad3c8abe2e3cb08a28ba4fb05a3b87f1273c87e2ee3b798917ba3a55ef3afe9f7638261afe3800000000000000000000000000000000000000000000000000000000000000001f1630bbc8bdb1bb994e2fbba017213d1cbbc5b97eaf8ebbcb67d1bbcec4cf3c28e5923bdebd96bbe14bf8bb6321463c7a78b93a2ffcf139d12201bc1cb6d43b9e6bd53abee6cc3a9a1825bce880afba91a5fd3af12c0b3b83b816bc9222e3bb0670d338f5a2433b9567e5bbe07cdabb0000000000000000000000000000000000000000000000000000000000000000f61179bec7d955bc20e0783cb58aa7bae73168be252901bd470c113cedd2533a04d155be9d8931bd5a35823be17f333b106f2bbe257a24bdb3121cbb17b9583b3bbce2bdaa8816bde56618bbd667a83873f66bbd6391b9bc55ae92bb0617b03aa85b7dbb773f96bb1dc57abb718d83380000000000000000000000000000000000000000000000000000803f000000005a4cfe3cd2bd19be352eaf3fe224ebbd3f3dd43c4228dabd13db8f3fb62a1cbddf13d23c8dfebabd1562723fed8169bc1477b03c13da8cbd7c74333fa4532d3caac9963c14d011bd7d77e23edaabe93cbf0d2c3ce8f48bbbd1905d3e8c6df83c03ba263b0d7f983cb339b5bb26748a3c00000000000000000000000000000000000000000000000000000000000000001640833cadda09bc0000000000000000139d5f3aeb5fb0bb00000000000000001cd065ba0bc4c1bb00000000000000000b723abb195fdbbb0000000000000000553b52bba83882bb0000000000000000fb8256bb47ae8ebb000000000000000042f6793bc6fd53bb000000000000000000000000000000000000000000000000864efdbb10287bbbb838d23c412dd93b7bbf0cbce746b5bbb82c2d3df460513cb8cad3bb66298e3ad44d3c3d728b9e3ca58fc1bbd213393b2e7e283ddd47a83cbb6d7fbbc14a4f3bd1f5023d2f696f3c2f3553bbc199ab3bee7ea73c402a273c6cb46ebbfd348d3b971d2b3cb244a33b0f09e8bab85b213be546263bd4622939e29a81bb337430bad399d5bb7e5d95bb0c91a1bbd25635bbb42470b823fb303dbd11b3bb34faa1bbb89b99bbe003403dc14b8db98fc484bb3c7680bbe510fe3cada9003a56032cbac288cfbbe70bb93cf5d24c3b1e1e01bae2abdfbb66e5183c5f8b8b3b5d10c23a4a9603bc76aaeeba2e92103b31a82f3b8370c9bb468505bc921ceb3ac46bce3aafe595bbac5125bca4a7fcb9c61dce3a628568bba8c2a6b9c4a922bec937993cef098c3a25f7c33ab45b53bef380223a9f763abb9aede33bde3c73bedd3605bdf9ce4cbb15cfd53b77745abe0d993bbd6e061dbcf4d5b93b9c3e24beeff845bd22e363bc36fac23bd042d5bdee702ebd45cb80bca149e83bac173bbdab8903bdcd9672bc0814863b8f42c3bbe74c80bc222e40bc5315703b9be5003d494bdd3b0acaa6bbc05fcab92e51453d97136ebe5a1daf3f9e7b6bbc87a03a3d34d641be42f1983f95985c3dee40283d72392ebed68f8c3fb6ac953da3931b3de2ca08bee48b603f8422d23d03edf03c54fab3bd7eb8213f4090eb3d6b80c13cc0933cbd054dc63e65a6e83db785743c12caaabbc976223e290dc93df9b5473bf851b73cd241b93b12f2873da1fad5ba0e7e0f3da16f17be341c873c5164c4bbe6d160bb0000000000000000d5d8afbc56c1f5ba0000000000000000415fc5bc0f5a05bb00000000000000003779e5bc1ac58fba000000000000000043d1dfbc5ba0d53900000000000000009a63dcbc77310c390000000000000000718fb1bc2317af3a00000000000000008dfc96bcbf2f3e3b0000000000000000786e93bba44a083b00000000000000007adebebb65a1c2bb5b82a13cfd758a3b1bdb0fbcae6765bb7fa70b3d62ae703c703ae9bbe2ef8dba3d4b263dcc54973ca318c4bb4892943b65bd0c3d49ea9a3ca24dc8bb0454343bace6e53c84f1543cac74eebbfd02953b30f6a93c2d45f73b79c2ccbbfd754b3b83b4363c661b543b926cbfbb9138bf3ab51ff43a6a5301b842d72bbb5906cbba45b04dbb490cd8bb518fd3bb8c6b44baabcc723a577df53c8031f9ba26a589bbe980753a6d810e3d756c5b3b74710ebb8815533a2139d93c174aad3b1e22f9ba2d1743bb192b4e3c3c09a83b940db03af43291bb10fdc23bd9f0db3bcbd0373b824e4bbb1f09a5bbc5c49f3b2e025a3bde897dbb3dd6e5bb9847573beae6d43a3c9370bb67fa92bbc224a33a2169813ade7bc7b88679cdba14a6ecbd0a21fc3c64398ebc95a5fb3bb8263ebe12cb89bcad7489bca235423c0a434dbefd994fbdaffc9fbcaf39233c5bf431beab4084bd08ffdbbca0eb5c3c2a2301be730984bd9617edbc29bd293cd94198bd9d8c77bdb05eefbc520d043c3d96f6bc73a62abd6368cbbc0ffbe83b114f0c3b8568a9bccc0986bc47466b3b9603b53c58ac953ac30ee5bba591943a7ef4383d65745cbe32f58f3f00f64f3e9fa7473d7c5560be9b308c3f2b98723e614a323d55283dbe360e743f4234843efa92153d9b7308beae2b3d3fef848a3ea51bfc3ce705b2bd9c11033f4453823e7d39d83cbd292abde24c943e183b683ec3f0893c3e65b9bba193d03dc6842d3ec0d0273c88b6833c7985e1bcf704c73dd9e80e3a770ad43c7723d6bda7bdee3cdec057bd9d6be03b0000000000000000e52986bdd3f8e83b00000000000000006c2988bd06d4cb3b0000000000000000e85384bde704603b0000000000000000214666bd4c76a63b0000000000000000688957bd1cf1a73b0000000000000000b40e2fbd4b4f7b3b0000000000000000103bfbbc997bf83b00000000000000003b52acbc14480a3c0000000000000000912782bb4845cdbba6fb973c23623d3bc62bccbbc04993bb3a21fc3c28b0513c1a8d27bca978993a34d6103db2c9913c09751ebc5bad833bbf45f73cf8758b3c9dbc9dbb7b54db3ae242c93c54fe403c1b4412bc918d9b3b433c963c87a88c3b09c800bcf8e58f3bc8e6253c39a43f3bcab6cebb8eb2153be4f29a3b999ab8bbd2b08ebbc77f10bbb7f711bb33f1d9bbc9d759bbec4666bbde64453b22787b3cc633323bad1223bb9387fa395e03ca3c4eb7db3b156729bbea7b10badfca823c41dd403ceca022bb6d7dcc3960df993b9818503c292f5c3b4d3182bbbbb158ba9f35313c3d813e3b66a8abba6e751bbcf7ed003cc5266d3a08d51bbbfa461dbc9d08b93ba079fab9dd94cab93fba02bc9601503a506da9b96f390f3be59009bb500ac6bd9fe1b63ce70fdcbc0acd503c1d8e16be4b031cbd460ce1bcc734813c15b61abeae35a3bdb13d16bddb12963c1652fcbd3781bfbdeaaf2bbddb788a3c590db2bdd3b8c4bd3aa635bd18f97a3cc93f3dbd4c15a4bd68a221bdf63f6b3c01fa96bccb3d5dbdaaf2fdbcd4ec193c31b9c73b0d48d0bc689183bcb8a8c43b3afea23cad030dbb46f1bcbbb9c2c53a4fc2183d29e749be1644713ffcd0dc3e8ffa353dcfe748be568f603f4a55f43e5d84273dda121fbe19453d3fde11fc3e559d023d09bcdbbd75b90d3f546dee3e08a4e73cb8d284bd5165b93ead47d73e73a8b83c1f6fe7bcd96d463ec93aac3e341c9a3c6a9f38bb32387d3dd862683ebaaa233c3c394d3c840701bdffe7e73d35c6d33b81d9913c3d54bebde6c7ca3cfc44dfbdcfaea03c0000000000000000fa43ffbd6e5f9c3c0000000000000000af6cf2bd1a6c933c000000000000000006ffdabd9a18683c000000000000000039f0bfbd9c6a3c3c0000000000000000080a9fbd2971313c0000000000000000ae2c70bd4bbd2d3c0000000000000000a63c2bbd7337363c00000000000000008dba03bd4d895b3c0000000000000000d7b7b5bbfcb9e8bb7fbb8a3c28de723b6a6c80bb444cd0bb0eb8d53c450f7c3cd0bedebb18e2f93a16a3e53cea4daa3c20290bbc0c59773b4e7fda3caf3a953c17ea13bcb4b36a3bf7e5aa3cdda2503cbb4ad8bbcbd2bf3bf0918b3c916c0f3c6e160dbc803aa33b8db8313ccce7e9b8e6dadbbb6b964c3bfe508b3bdc3b83bb653896bb969bf1ba4b548539ff520bbcdbaf6aba5929b7bab1970d3a63f7633c4a9be23b9ad78fbb50bf103aab713d3c9931373ccfd7ceba4b78e7ba43f2bf3b534d7d3c76af3b3a64423bbba71df7b9a051453c2637003a59b159babbfe70bb89d0423ca4750c3b837d5cbb8ca141bc15fe153c2ee7473b3292d2b98f3e21bc875ac73b0e420abb6813b33900f9cfbbdefe8f3a6873e6ba7d54053b336570ba79499bbd05ceab3bf47c0dbdbb18893c1300d1bdea008ebd408918bdc7319a3c3a53d4bdef7eddbd706443bdd481a33c0359a2bdd5cf05bec3065cbd6de0a83c62da5ebd6f44d6bd703f5ebdd6bf803cafccedbcc817c9bd03ec35bdb38a693c8f9143bc6b106dbd6ae3f8bce43ac23b7a69b93b24afdbbc2a5870bc76cb923bffe4763cc9ff7aba85f220bb5151e13a1430ea3c37f81cbe2461323f8a36313f1bc2003d1dbb12be6e20223f1ec1393f398de23c0559d9bd8d45023fcfe5363fa7ffd53c63dc93bd7475ba3e49ed293f449dab3cd6a720bd7db8673e328c0a3f677ba43c3bfa69bca6c4e63dc003d73e33f5703c2fe95c3997c7023d11b9823ec6112d3cddf7f03b5e55e7bc537dec3dbca9bd3b5e37553c381f91bdfbb22d3c9b7428bef4d4ee3c00000000000000009aea30beb033053d000000000000000044011ebe1704c13c0000000000000000b0850fbe5ff99b3c00000000000000005e81d0bd30ca673c00000000000000004f1bbdbd9dc98b3c00000000000000003deb7dbd0fbc5b3c0000000000000000fa1047bd6711913c0000000000000000dd950dbd88bd863c00000000000000005f5c85bb70c216bcd2dd743c8ff6c83bf863b4bb67dc92bb82a2a83c770e9a3cb6c40fbc980b84396f94c43c0893b73c5d4002bccdff4c3bc307b73c4364a53ca94921bc055dba3b8edeab3cf6d9833c3a3a1abc2a5dd83bbd69853c12781a3c182101bc9fd5c73b84ec423c94e7043bd6b1d2bb859827b80464ad3b375159bbbc3aa3bb380fa4b8f61ac9ba921704bc565e1e3beaec87bbdd1dd739933e8f3b01ee333ca0f1c3bb2cfb393aad18d13a2679aa3cae7b42bb16ed92ba30ea30bb669cb23cff7e20ba55691dbb463a12bcbf08a53c8154873a30f10cbbc7702fbcfe837f3c2523d43aba1d04baae8a4ebcd7eb4e3c8c263f3acf80093a1afc4ebc383eef3b350a6cba7f61e23ad28eb3bb83a04b3b16aa3fbb11ff4b3b6e4729bb44f32cbda59cb7bc3c130cbdb1d0923cc11066bdbf5edcbd4b9314bdbce7a93c27415bbde14d1dbe054856bd1f8cab3c9cdb2dbd9a9121be670972bd28899e3c1036e6bc850517bea10e57bddfaf8e3c89bca8bc0301e1bd7c5e30bda68c3f3cadcd27bc3d418abd55c7e6bc0e08b83b5bd8f6391325f3bc23ab1cbc74bc6c39ccf3373cc39691baf4c01f3bbe832cba0890953c8ef1c4bd1835e23e96d06f3f7613b13c032fb7bdba60c53e34f5753fca82a53cc28171bd0335953e5fec6b3f46638d3c927606bde984473e6162503f829e933c48f486bc3adde93d02b3293fe89a813c06ecf4bb76a9873df137ef3e3c4a563ccdc682b90ab7a13c65d68a3e69f2313cf4ea703ba41f39bce9add33d0e1dae3b9f0be33ba2df18bdcbb772bc8c5851be6fc11c3d0000000000000000ef3a5bbe07cb2e3d0000000000000000bbd43fbe14d2fe3c0000000000000000caa91cbe3f55cc3c00000000000000002a5200bee75ba53c00000000000000001e30b8bdab4b923c0000000000000000f2ec84bdb8978b3c0000000000000000695629bd3d838a3c0000000000000000ac591abdeecfa83c00000000000000001360fbba79f2fbbb484e133c72e4f33b46d39ebb7df563bb6f2a6c3c21d3a63c0a171dbc142a30baeb34a93c013ae03cd69b11bc9a8ecd3b3d489c3c7b3cd33cefc90ebc6d0bb73b8265973cc0ad9d3c54891abc3d26c93b924c803c5121553c5ebddcbb3044bf3b50361a3c6115963b863aa3bb8d313e3bc8d7c13b7e45a3bb11e100bb640558bbd507dc3a8f0fe9bb68a8053c1f1914bcc03a2a39d24a31bb8296a03cc0f30ebc4480f1b90d5c91bb55d3cf3c9db3cebb1ca5f4ba1bfedbbbde63d73ca4829bbb73c40bbba1813abca0fab23cb2f41cbaef3b6dbab25f35bc7a49963c537084ba16e23aba979144bc32c03f3cc75183ba11f53538cd852bbc8d36043cbe87b1baf13dc43a6cc2a3bb21dc523b038826bbb8ed513b29a651bb537030bc1e774cbd8090abbc5b4d823c20c35dbc8f6e19beb02001bd8f03943c430188bc1d9844be6ef446bde37daf3ce9535cbc757f46be6acf58bd114d923cc22663bcd3c226bed57547bde9ec473cb98a38bc845a03be9c9208bdb9d9053cb56f0cbcd6da90bd8619a5bccc99df3a064e83bb2fabe1bc9da155bb6cba82bb4b19923b68bd0e3b71f9c43b96bc23bb37c8eb3b9f8b35bd52c95a3e020a8f3fcdb6213cc3720cbdba00233e7b68933f2b0e5c3c28da8cbcb8fdd43d32e7893f08473d3c6409e7bb0fbc7b3dcdc36c3fb1393d3cde8244bb6e330e3d38f9373fe3076b3c01d6c6384957b03ced94fd3ee698223c3e61393a037a783c7c36863e2b24003c3b7b27bb2e31ea3be6879a3dbbd5a23beac0d3ba052cc1bbe8cf21bd81f163be993d483d0000000000000000079762bef444333d0000000000000000afa73dbe25a9073d0000000000000000b7ba17bef25ece3c000000000000000019bfe0bdc7b3af3c0000000000000000da19a3bdebd69b3c0000000000000000dbb047bd2658883c00000000000000008bfef0bca210873c0000000000000000e911dbbc5bf4803c0000000000000000898833bbcfd9a3bbf18d6a3bfbf9903cb464e9ba7f0430bb3548913be1d4033da0d1ecbb0c93103b1ba8443c2b312a3deaea13bc568ebe3b1c667e3c0929143d8a71d5bb0693e53b75144f3c8deddd3cf51301bcf0df083c6411513c31be853cefdad9bb68ddcc3b77db373c3b0a943b3d5958bb5cfa483be041d43ba5bb1abba0ec71ba60f19fbaefebb339231a12bc665a7f3ca2fb6fbca1b714bb7722faba83c4bf3c9f7680bcf8a22fba00c71abce547d33cd2a214bc1c2012bb7493debb9e19db3c34fa87bb87391cbb0fcc1bbce2c4b63c0554d3ba8e5b42bb06531dbc32069f3c2dea2cb937e7ac394d162abcf05a393c5a52aa385d746939028b1fbcf53ddc3b256850ba78a3ee3aecf7bfbb45fce03a974768bb6292f83a83f253bb13ea8d3cba0d02bed8f08aba7385563c49c7863c62563abe602252bce7e3603cbd1dd33bc99e6cbe070e0fbd5cf7703c933a3eba40e162bebb8b22bd48482a3c38ecefba510b37bed76829bd2900e23b3e4315bc5d3c06bed15bfdbc1289bd3a53d33bbc1e2f8ebd741488bcc2ed8eba15f92bbcd262b2bcf4719dbb1b8998bb5004a1ba2bbd7a3c5d0a843cb865edbbaa0f00bbccd9723b807e05bcc2d8ae3f4870953a64c6463b36f3e13bbbda9b3f0d76713b5138e73b4e4abcbcf0f5933ffe8fbb3b5698353c662bd8bc56f4763f599ebb3be2dd1b3c27f7c2bc508a3b3fa20ae03b13f9b13bc2aedebb83e1f83eda9d003c1b14e03ad04a103ce27d763e0e03cf3b72448ebb0405b53c1920623d0ed4013b87d21dbb6de8b43c3c5ce6bd90bf72becb45503d0000000000000000d73832be3379143d00000000000000008cb213bea7a0cd3c0000000000000000b129d8bdb3b5943c00000000000000008a758bbd42127c3c0000000000000000df101bbd0507343c00000000000000008e198ebc5792f83b0000000000000000767640ba02639e3b00000000000000002eb313bc555a4d3c000000000000000000000000000000000000000000000000294e61bbd64026bbb502133bedf4423d40f8dabb6fd7903b0c35d53bc4bd343d4f26b6bb29fd833b3e24433c4d97173da9dce2bb0d9a113c11ec1b3c36b6e83c563ec4bb7cfc063cc8881d3cd9029b3cae7e23bb1a37a13b1c7a003cf430003c997329bbef2a7e3a31cba93bc1ff81bb000000000000000000000000000000000000000000000000000000000000000007ecba3c5ad27abc99555cbb45540bbbcc0fc13c3341cebbd3f707bb7302bbbb0e02bd3c9d3440bb271d1fbba6e3cabb554ca83c83d700ba9ab969bb9ebdeebb269c5c3ca003413ac91c2dbbc5dc0ebc16c2093c6696103b3dab9fba91edfbbbccb9533be37b463911b0993a968e76bb0000000000000000000000000000000000000000000000000000000000000000ef2e0c3d171d80be7c0c4abb87f8003ce069993c4acb6fbeb7bec7bcd3a19d3b1b690b3c7a615ebe93ee1abda2abe23afaca973bf98433be7cb019bdb3a133ba03e99cbbb4e7e8bdf02001bd8dfb02bb71b306bc478177bd05399abc550d92bb626e0bbc041cd2bb15cc9939e181d4bb000000000000000000000000000000000000000000000000000000000000803f51eda5bb5180003d059c13becc3aaf3f6297053addbdc73ceb44cebd62f48f3f5f56053b68af9f3c6a93b6bd7039723f4a07413bbbd98c3c94ab84bd60fa323ff296693bc0f3553ca11208bd2a0fdf3e103d553b072e913b8f4bd6baafc9583ea286b23af7dba4ba0e2fd13c450747bc00000000000000000000000000000000000000000000000000000000000000004c96f5bd5969b53c00000000000000005c5c48bdf117f03b00000000000000003932babcdafcd63b0000000000000000c997cb3bbcf8543b00000000000000002b20bc3cfeae5bba0000000000000000708eee3c3bcc9eba00000000000000005f31c33c250095ba00000000000000000000000000000000000000000000000000000000000000000000000000000000b5af83ba712988bcfc4e553dfcc4a13c4adcde39ce1383bc05f84e3d48059e3cd471043b369340bcb834363dfe05ae3c10cb7c3b8dcf34bcde98133dfc598b3cbbc32e3bcfadd2bbf3cfac3cfd4c463c2a5e783b8ade40bb913d2e3cbf5ee23bdd8c883a2c85fe392140323a0a3723bb000000000000000000000000000000000000000000000000000000000000000052033abb4eae3dbbc1d095bcbd30863dc4889abbdea9153b26da9ebcd5f97d3d6767f3ba7ecc193b597083bcc4af433d3c7cfaba9f3b743bf84791bcf778263d4b89cbba8388b73b5eb16bbce876cf3ce0d7123962dd8d3bab6933bc000fea3bfc41a63ad517b23badd1a5bba3bcb6bb000000000000000000000000000000000000000000000000000000000000000045607ebe90d607bdaa39b53cd0069fbb40d26fbe8ed721bd0efa753c523f8fbbc45661be59da37bd13610f3cc86335bb5c1b32be474724bdef59ba3ba45e46bb2fb1e4bdfd9907bdb4e0cb3a02ab2bbbe6445fbd1b4090bce74585bb496e7dba6cbb023bc7e2a23a5bb176bb21701abb0000000000000000000000000000000000000000000000000000803f00000000dec4023d45eb25bec8ecb13f915dd2bdcbcfce3ce90c08be638f923fd223fdbc6baec63c50d9febd7a64763f0abad2bb29f2a83c2fcacabded32363f2e19983c7ccf4b3cfc0974bd0df8e43ee0aceb3c53ac913b862585bc07fd573e0ad7be3c6602d2bb9dd4bb3c6e6985bc75a02dbb00000000000000000000000000000000000000000000000000000000000000007210583ce82606bc0000000000000000649d2b3aad4dbfbb00000000000000001a8d8ab98c90ecbb000000000000000042a00cbb8b60eabb00000000000000001bd766390a8506bc0000000000000000f688533bbb680fbc00000000000000006752803c2cff15bc000000000000000000000000000000000000000000000000006970bb98f772bcb3d91d3daa909a3bc0898fba3292a8bcbd26513d77413d3c43e313b91c4f8abc49cf693d06e88c3c3c21f13a0a2776bccea0443de318973c4903253b23c521bc6ab90e3db5795f3ca7e73a3bb0a094bb3721a43cc503fe3b3ba4df3a06e61a3a783fc33b66650c3be3c7e23ad9b13f3bfa6c09bb357423bb6e9bfeb9067e043bfa41cabb8bc80bbc0f1a6dbbebbb88baf2618cbc5ac98e3d9eea97bbe7c5623ac2b0bdbc2f47a13d2d379eba4cd9023b3e34abbc023b8d3dcccba439ea93673b1d76a4bc0f105c3d7ecd2a3b0e0f843b320985bc0f250a3d105aa53bcfc8b13bf13f3dbc47a1323c8509d73bb9e9713bd0e9d4bbbd5ce7bbf729b83b6471423b7a4e1ebbae9678bcf6b5a83b180d893a81dddcb9bff5aebcad6b47be93a5d33c3d20edbaeff46c3ad82b66be2186853bc645fabb3feb363b3fcc7fbe02c5c8bcde4905bc9e27853bbb8857be46da1ebd14da46bc76cf6a3b7c9b19bef63a2bbd6cb194bcecdd8a3b7518adbd26dc0fbded75a4bcfb4e783b2e7bb1bc835ac8bcc100aabc6201a83b47963c3cf83a29bc9ed067bcfea1413a9eab423daf9ae93b23ef16bc8cca973a6f98253d056063becd7eb13f4648cfbc3ec6123df23e3ebe6b3d983fe8957c3d8682fd3ca50a2fbe6605893f2634c83d02a2d13ce8e204be20ba543fd9070c3ef5427b3c3721a7bda635123f93061d3e75c2e23bafec01bd7368a33ee464183e9b9ecab9e690fa3ba799c83d5bc6fe3dc9be45bc798c233db69115bd5c41a03d627c8bbceea3953d6c6c42be43ce8c3c2965753a9f8cacbb000000000000000020a19cbc106828bb0000000000000000b1e9c6bc4f38afbb0000000000000000c30af3bc7bb69dbb0000000000000000ef34e9bc3832a0bb00000000000000008028c9bc8b96abbb00000000000000008e3597bc6e448abb0000000000000000d9162cbcb56fafb800000000000000006c1c953af7c332ba0000000000000000b87acab858258bbc7b9f193daa6687bb73a3873acd5da4bc9fdf523de5b3af3bc6a02d3bcdd29fbcc7b94f3d71b82e3ca15a203b837c34bc7cd5183d4c17513c12fee83ae3ec04bc7e10c23c2eb61e3c4a83f53a6fdb8aba823f223ce6a9673b392a943a2dabe43a81c7133ba6b4d23a816b24b9ad5d3b3b44a979bbb9973bbb750d4cbaec28313b727abfbbad1febbb7c9741bba26bd53a257491bca906853d2541883a30ca0c3a15dfa8bc41998f3d412bea3be460683a546da0bc43727b3d7d6c063ce708583b784a79bc6e1d103db7f14d3c4572523b9b2a3fbcb8fb843ceecc633ccaf34b3b217feabb17937fbb8774353c4e98223b3f0585bba29d6abc87ea503c5df41fbad68080b94990b3bca23bf83b50654ebbf023573bad59b7bccdd02fbee9cb8f3d41f80bbda6e6053c15a65fbe97d55e3c4bb705bd79e1373ccf7e56be26e1cfbc4cf60ebdfbd6343c644a21be07613ebd955729bd47754a3c3353c0bddfaf58bda96032bdda8c453cc97f0bbd9cd349bd3cae2abd6111243c113d683bc00e1fbd99bd0abd5036193cfc2a0b3d6b2bc9bc429dd0bc8699e83b4fe33d3dade2e6bb81812abc91dbb13b33e6093d41074ebed9c6903f2f6e393e2e1c153d996e4ebe1fd5873f28bd7a3ea4cee53c361f22bef99e5f3fd92e993e508c8f3c84cdcebde994203f179ea93e52c2343c3f474fbd23f5c33e1266a93e9e055c3bc35db5bb564c283e0c62983eb2059fbbe144df3c80faf43b67116c3e382d4abc5aed603deb4adabdd340183e83cf84bcfd8b833d279729be5a6c8d3dd0721ebd4c78a63a0000000000000000640c64bd2f76b93a00000000000000003b6281bdb41a553a0000000000000000c77185bd3728643a0000000000000000db1379bdb92fac38000000000000000078df5cbd708fca3a0000000000000000080936bde23a413b000000000000000015e801bda564a73b000000000000000095eff4bccd9c343c000000000000000093b301baa6f98bbc53ab223d9a5f20bc84e1a13a45f186bc38172e3de1a85a3b4f24fa39dbe639bc3884173d000af13bfad0b43a04c301bc08a8ce3cbe241b3cbeee893a979ff2ba2ae3633cc2c3d63beb0d533a85dabb399a80953b2184a43b6b4162b94a2b213bbb3501bb08bcfb3ae68c37ba79eb8d3b6dfac8bbc322aeba32dbb7badf3e8f3a3d8fbcbbf80ac0bba8ae713a6b68473aa75757bca2b4543ddc8c083c6ce87bba72118bbc8ba05d3deb587c3c0e13bb390ce162bcc4e40e3d355c8e3c38f2e23954ab16bc41956d3c8cfba93c7f42c03a938a04bcf4c599bbff85a63c3651553a6e7e81bbf2527dbc2d1fa13c51fa0bbbd73d1039cc1ababc4f067a3c72e997bb852dfa3a7b5ed7bc3897ff3bcda1a3bbaeb1933bec63aebc89c629be3d5bb03dc4e16abd9a04863cf88235be23e41c3c817c75bdb4a1a83c29b213bec3e932bd442f80bdca45ac3cec85c0bd7cde84bd934886bdadc4ab3c924910bd38859dbd7fc28cbd96fea23c8af6163bbae194bd060970bd55fb8d3c9f81f63c154375bdb6253abd13cc7d3c2b693c3d0f5521bdada9c2bc7e96233ceb4c4a3d3ce072bc9aa7d9bbd9f5973b3abdf03c9de639be216f6f3f8730cf3ed87be03ca09929be26bd513f49e4fa3e687b993ce812e8bd61f01e3fe75b0b3fae432d3c9b6c71bdc8eacd3ed2180c3fe735953bf10d51bce631423e852e063f63382dba1ec66f3c9c5f3f3d192ce03e1006e3bbe167213dbacb80bd5db1a73efbb03bbca68b623d563c01be656b4c3efd622bbc0cbb573d214922becef8b33d2f53a7bd5047083c00000000000000002fc7d4bd5778253c000000000000000016a4e0bd5754223c00000000000000009772d1bd42a0cc3b000000000000000000b0bfbda683e23b0000000000000000be189fbdd59fe13b00000000000000003eb487bdbd4d0f3c0000000000000000aba373bda028863c0000000000000000659d5abd6c89b33c000000000000000065077c3b778888bccea30e3d4a4b4ebc0264373bdc9f75bcdf43093d8739453916cb2a3b30262cbc9725cc3c8772253c3d19233b054ba4bbc9d5703c2ad00e3ce7ac203a77e95cbaa22d9b3b045e1c3c89aab539bb876d3a007c70bac7aff33b6b3a573a2331f33ade7577bbfbc5923bcc0aacbaf56c333b5345f9bb942ab7391017e7ba9084723b31e1abbba4ec84bb14694e3bbee30fbaa0e043bcf5aa263df927843cc7c213bb8d9a36bcf32a013d1617a93c670b26bbd05120bc69cc873c5709e43c7a81c9b9e528a6bba632e1bbb5bec13cd691bbba14a263bb0dda47bc9a1ee03c30b9f6ba7511703a5a7cc6bc5affa93c590b87bb97d87b3a7a81c9bcf723803cc2acc6bb4ef2803b4c9ec2bc52af023ccb3de9bb5f81753bdef2a8bc95f60ebe6537a43d166c97bd517fd23cd6c7f7bd5c2679bc079d99bd5ee2d73c7adaadbdb0258ebdb4c9a0bd145ddb3c212805bdbac4c8bd12aeb1bd414bed3cecc4833ac477c6bdcbfd9dbd7970c33ca40ffa3c4605cfbd7ece8bbd7963bd3c017c2c3d45b698bdb5d030bd7439893ceccb3f3df9f841bd5e5495bcc8cd1e3cf5103a3d27fba5bc5ff8f53ae4e9b53bc13e943c4b420abed5612e3f26e6293f6c70793cb227ddbd20730d3f9b263f3ff0340c3c158d80bd07d5bf3e43ce463ff6684e3be8058abc7ed4423eed60413faee9b339f12c163c265a583d9196293f0fd2b3bbda05093db8a43bbd56bb0c3fd5d8d6bb4d4e283db70ecabd76f3c23eb80a0ebc30d43d3d7de4fabdae955e3eb97d08bca042283d689a02be708da93db67a08be10cb7f3c00000000000000002aa118be46d1963c000000000000000007de13be730e813c0000000000000000829f06bebd0f5b3c0000000000000000b771d6bd5db10e3c0000000000000000456bcabde6f33c3c00000000000000001362b1bdbc7e983c000000000000000076baa4bdc71fd93c0000000000000000362e93bd33f0003d00000000000000008a815b3bb35139bca1eac63c5fde26bc131c283b2ecf10bceb48a23c0dda7e3bc78c483b0faf9bbbb2db1c3c061e2e3c16db7b3ad6ef2cbab07f803b63ed6a3c77501d39770f123b756d58bbf1638c3ca6cc08b908aa3e3bde5a66bbd796393cee0e40b9f656113bf964bcbbf22dc83b11c798b9870c593b3df6c0bb972c113ba1be6b39fb295b3a65378bbb7d34a7bbcad7393c17e993bb0d7b0dbc9403b43c3256c63ce4fd12bcbf33d8bb3e942d3c1bb1043dcbebcabba8558fbb9062a7bb4359053de78e9abb75d398ba1aa789bc5f290c3d8f4bdebb63f508b84d8cb8bc13b2e63ca519babbcf921f3b4d51dabc4ad1ba3c0311e2bb7b8e8f3b1cc5cebcf2d7733c62c9ffbba709833ba48da4bc3a260a3c3b67f2bb4a2b8e3b695486bc2735b7bd75533a3db6ab96bd5583e53c3d4b7bbd2a8266bd4f919fbdc277063dc1f9b4bcf2d5e4bd946eb5bdd097023deceec43b632906be8e5abdbd4a12003da9fc073da24e10bec050a9bd2fc2f53c372a2f3dfcd2f6bdf85671bd8d4db23c8cbc363da910b7bdc8aa0ebde18b693c27ed223d639a4ebd3c7b26bc748bd03bca26043d14fc85bccbcee93b86a6f63ac697fc3b52a1a1bd34eed53e944f6b3f1d26d43b9c096bbdb3db9c3eb4437b3f3b200e3b0c069fbc353c283e7fd3793f066ac0b982c4e33bad5c4e3d73f6643fa6f192bbb69ae93c09d92ebd8896473fc9cf80bbe1290a3d69c0a2bd87b2173fe533cebb9e3f173d30d0c4bdb5eac63e4357ebbbb7d1f73c3f41b6bd90ab473edb818ebb6383bb3c5fdf9ebd600a463d5a9632beff94ce3c00000000000000009bce3ebefd8cd83c00000000000000006c6a2abe5057b53c00000000000000004e110bbeef8a6a3c00000000000000000b8cf9bdefe0603c00000000000000008722dbbd11da913c00000000000000004d03bebd34f8d83c0000000000000000f81dacbd48920a3d000000000000000092eb98bd211f083d0000000000000000819d403bff8214bc81763f3c33247dbbe627383b71fe5bbb5a34ad3b1e71103c5c13173a1f7394ba39bd40b92c9eae3c7ef0b13a72bdc539fb28a3bb5c64d13c9cba0cba44ae3b3b5cc5babb779cbe3caf065cba94065e3b4f7de1bbbcf2923c0fb7dfb8ea63613b66daa3bb7501023c93c818ba7a6c243b580866bb5c674b3a574db23a36fa1638b0c1a7ba2f3616bb51f3803c186227bc7b9a43bb9c8ca13b456d013dec5253bceab929bbc13001bca2cd153dbe1633bc767e823aa32e89bc69f3193d326e0fbc42207f39a859abbcf499023da1e3ebbb104eb93ac5a1bcbcd2eee63c6319fcbbfaea3c3b6d27bebc3a1ba93ce967f0bb9fce6b3bc2f9a8bc40ae383cbb539ebb0b15af3b8a5486bcdd5c903b96c2d0bb4123993bbc2717bcf9c503bd6f5d7fbb77496dbdbd8ce63cc27d60bbc309e1bd52dc91bd79c8013d830fa23ce56523be97e6b0bd8e610c3d4f0d173d5b0239beb6d2aabdf347fa3ce654363d29232cbe796588bd189ab93c8258393df1210dbeccbe43bd6f6b893c178f133d4918b1bd4ff5c4bce5df093c6473db3cba4a2dbd272d8fbacddf42ba40bf7d3c2f8430bcd9f68d3c572d1dbb885ba83a5de20fbdea1e443e44338f3fd3e85439f55651bcfb91c93df42b963f29aa5abbe9f8123c66d4843c18c88e3f4bba44bbe2b9b53c91b634bd68467e3f69c77abbf87bf63cd2e4a5bdd8bd4f3f390752bb66dfe53c2a1badbd88f4163f9e9682bbf9b6c63cf4e38bbd2188b13efbae33bbf062533cff762cbdfd1f0d3e24fe54bb02d1673b9274b0bc309b20bb698145becb5f033d00000000000000005b4e46beed82fc3c0000000000000000a50321be7ea3a93c0000000000000000e93d03be4031623c00000000000000006e76e6bdd09a973c00000000000000007929c0bd7ea7bf3c00000000000000006b0b9ebddf0bd93c00000000000000006ce583bd77ac043d000000000000000056d07fbd6500093d000000000000000008283f3b46ea42bbab1c0fbb836b2a3c7580583b8fa799ba098c0abc4f54c33cc109063b2868f2392c4532bc1a2b1d3dcc0e44388139833adf4430bc54a2233dd1918bbac0fe583b46442bbcc078f93cae953f3a142cfbb87f9296bb08e1ad3c1c47aeb9ebca4d3a5e8c14bb2e3a3a3c95cd113ace4cc8b86e7ab63ada6f993ae266633a17a490ba5d63343bffae95bbdadfba3c6d5a7bbc941945baff2b18bcb21e053df6828cbc1ec6623ac3f281bc0708133dbbe748bc6847403a9f8daebc20cd043d655cf5bb95233c3b0d72afbcd590eb3ca3dacdbb634a743b7022b6bc90d2ba3c9c2b12bb9866863bdd3e9dbc8fb1653c483418bafd83a13bd0b670bc0a95db3baf236fba6ea18d3be36215bc5dfb48bafc3753bb6022663b833895bbbc62883c4261d2bd70a813bd9479e23cb526073de01321be72bc41bdd415df3cc525423d1d335ebeb66682bd90dfd33c91c1583d704e5fbe61e373bd786aa33cf993483dfe5b3bbe5cdd5abda008863c690f173d7e300bbe3ce71bbd2a1bc83b2f8aae3ce3979dbdcaa4a2bc8de38a3ac5e2b73be9b1efbcc56ff03adcedbcbbdf556bbaa6c3313c1a0eb93cdc40c5bb05f78dbb3cfb153c9fd48cbc669eb03f1f9f94bb19dd2f3c0a2eb2bc0c049d3f6c5c5bbb27dadc3c3168a4bd9f62973ffcdd7cbbb23adf3cbfd5c0bd6598803f59f455bbd19de43c233ebcbd96a8473fc22e20bbbf30af3cd1a28bbd84a4063f940fdbba8790313ccf7d0bbd9f408c3edb8cbd3a24bdc1ba9d228e3a112ca13d594706bae86ff2bb2b3fd43ca210d0bd95a05fbe67e51c3d0000000000000000f27814befe9dbb3c00000000000000006de6f3bdc8697e3c0000000000000000799abcbd07e15d3c000000000000000026c387bdc6646b3c0000000000000000fe293bbd9104813c00000000000000004a5704bd7dcc973c000000000000000091f8bcbc8d7aa63c0000000000000000b21c30bd8285ea3c000000000000000000000000000000000000000000000000cd55d539a656d33a6b8f98bcd7f8433dbbfc90b9f5dbe13a53a983bcf9033e3d211595b91ed6413bf3ff51bc9835273de37eb4ba4c3b653b6d4f32bc7f6c063de3b45cba02e81e3b1d118dbb5ed8963ca5f864389183d93a8ba5a5ba0feb053c6bcddc3a44e865ba6385173bf8b986ba00000000000000000000000000000000000000000000000000000000000000004ad1d93c0cd668bc006fd83aed7796bce737ce3c5c0be7bb9fc12d3b551595bc514bc53c0e622dbb1db6283b65bf97bcaf96b33c060a50bac06fad3aa88374bc8edb803c55b4233bbc16683b260a54bc61d4103cb3104c3bc685503b7cd412bcd98b4b3991c66c3bd17fb43ac1ad4cbb00000000000000000000000000000000000000000000000000000000000000000090883dee827cbebda4d2bc6b27893c38d27e3de2c36dbe9a6914bdd33b293caa5d573d542c5fbeabc842bd6d3fd33b0b6d343d73b82ebee01e3fbd9325563b35cddc3c9e60dfbdd8411abd75fc03bbe0a5103cec1e62bd0cc3adbcc3b2b2bbb3c0adbbbcbb87ba17947c3aaa8005bc000000000000000000000000000000000000000000000000000000000000803fe0e0cbbbd231153dce8f21bedfc2b03ffe9d7abb883cf03cc89401beb106913f411f47bbf654f03c426af0bd76fa703fcf620dba530bae3c0f8fbfbdd427303f5f0567bb08a5563c27f750bd5cf7d83e0ac13ab9afb0903b242e39bcc1eb473ecd8ad73a5092d3bb1179ec3c463eedbc00000000000000000000000000000000000000000000000000000000000000009839d4bd8e917b3c00000000000000008e5a06bdabe6703b0000000000000000888116bbae52533b0000000000000000ea7ec03cefaaf6ba00000000000000000b3e163d6e41473a00000000000000006b030d3d07c9453b0000000000000000f3d55f3cf314e53b00000000000000000000000000000000000000000000000000000000000000000000000000000000b12c843b97950cbda2e38e3d970c0d3c78e1853b5a7415bdf1b0a73d686c50bcb1b3513bca6204bd1a6fa73dd8a407bd49a6293b7394d7bcfff58c3dffc205bde327313bff6898bc7a0f393d5d6ef1bc9128cb3acdc0c7bb4ece993ce2c48cbca6e3133b333429bae4de563a14120dbc00000000000000000000000000000000000000000000000000000000000000000f532abc10ce343b116c3dbce244863d1d4edbbaa770243b3c13d1bb0560833d6b329f3b9e5b2d3b5ea415baca924d3d442ce23be1976d3bd1aeb13af3fb1f3de7ec3f3c6768bbb81ad24f3ba8a0c23c472cff3b998c273a76f0293babbfb63bcb1ead3b8ce8383a2c453b394cf38bbb0000000000000000000000000000000000000000000000000000000000000000db2086bee088b4bc1900eb3c0e1909bccfd186becbfb793c49dcc73a7b818ebbed1a7dbe13274b3d7626bebc15482e3beffd4bbea97d663dc89c17bd573cca3b1aac03be06ea403d0a112ebd9f01223c5d5d78bdb3b3153dd3220dbd721d253ce8f3be3a794bb83c9537e1bca3d1053c0000000000000000000000000000000000000000000000000000803f00000000ea7c183cc46412bef7f4b33fd342e2bd403297bbe9d6d7bda5d1943fb24295bd83541fbc0017bbbd0000743f879684bd712b45bcf3ae8fbd3fd4333fc6f93cbd601482bcadba17bd962fe23e04d7ebbc764c3ebce9d3c9bb956b4f3e76a2f1bc0d5c19bcbbc8853c3b0eb4bcc594e8bc0000000000000000000000000000000000000000000000000000000000000000926e873c82d37cba000000000000000097bad23c600eaabb00000000000000002332293d77a847bc00000000000000001bac3f3d131284bc00000000000000006363473db29995bc0000000000000000ee5f463d440faabc00000000000000006acf403d018ea0bc000000000000000000000000000000000000000000000000b2db983b1ccc13bd73ed8a3d56fd03bced7f073cace139bd2b2aa73d14de0cbc1ad8a03bfc872ebdbf72bd3d61e2e9bc39ae3a3b1e4109bda226a43d9e51eabc6f360d3b9c89bcbcfb97623d4b80d2bc5d078e3ab67a0dbccf93da3cd5e291bcabbc543acd713d3af61ee53b87d506bcc91a183a0d39023c5bd724bca87ea9bb8563e23ab9402a3c2e57d2bc5342d03b6aa0fcbbd4d6903b975d48bc584c8f3dd5187d3ba5f60aba9ab8fdbbe878a73d8111263c81a3ac3abebe9eba10a8873df3b9643ccc76dd3a79ce5f3b6dc1443df79f7b3c7633283a5ce0ca3b95b8dd3cf217653ca93d39b92e507a3b617ae53b8ae40a3cd996ab3a7239af398f56a4bbf55be93bdaa4263a6608df39ac3f8cbc111cc23bb445fabaff8878b90627c8bcb97a6ebed40d4a3d4e285ab99a9488bb5fdc8cbedc01ca3c205903bc07ba163b6ae090bec079403d74181cbddaee0b3c5d0974bebc91333d828f56bd29f42d3c5eba28beeb64f23c726d68bd0560643c992aa7bd04e1743c7e4d52bde2646c3c1ecea6bc8926d0392ee80ebd604b0d3cd309ec3c4cd9353b378ba2bc2e443c3b8e2e9f3dc415b3bcb62748bcbcdedf3b95d9033cd4a730beb2b4b33f823328bd32de69bcc6c601be835ea03f7539943ca7a289bc964dcdbd6a53883ffab5513d2678b5bc9ccc7cbdd89c4e3f84eeb33d0775bfbc1c72c5bc05eb093fdd30e23daefb84bce268d039b2428f3ed23cf63d968f0cbc9752973c7fdc813dcf54dc3d8efcd9bb6ee5153d2e27abbd79f0693d2f3c23bc4fcb613de26663be92395f3d9f7d363c288dfeba000000000000000037efa13bb6ed41bb00000000000000006356a63c587c2fbc00000000000000004790c83c796357bc0000000000000000c7fbbc3c13047fbc00000000000000003d0f903c385882bc00000000000000007979363c0abb35bc000000000000000019256e3c1eba0fbc000000000000000031d58cbbb9d59abb0000000000000000ec2d823be15d17bda975a83d3dcb4bbdf331b43b8ddc34bd3757c23daa7147bd5978653b4bff0fbdfa20a93d6ea72cbd71c4bd3ab117b1bc30b4673d25970cbd9cdf0f3bb7122dbc9d2beb3cc2e88fbcb86cd63ad140d0ba741fe33be9bdd5bbb9c9ba3a05be993bb70833bc72879b3bcf461e3b1d76333c0f67d8bcfca0623c8679013bd1c6563c62d604bd9c11c83c959c2f3c33d5413b055579bb8c3b7f3df5fe803cfdb6343b3d72333aa1e6823dbeaec03c7895a8ba6d957e3b0daa433dca25e13ca4cdf2ba4fe1ed3b219dbe3c75f4b93cd52a41bb33bb883b2a62a13be87ea03ca2f305bb58183b397db492bba36e843cc5ee59bb7318c438198957bcde443b3c9359b8bb03f1e7ba0529cabc388c2cbb5d8b1bbb2bcd8ebbf55abebcf5d566be1eb41b3e629d85bd89c42a3c42be86be0e92e43d573897bdd4d06a3c83326bbe3c73923da148b1bd7856c03c41bc24beee45113d8d15bebd9a78db3c4cabaabdfbed7cba1b72a0bdc723cf3ca175b4bcd6faf7bce8e784bdf17ba73cd514ca3c7f9c4fbd63af31bd736e853c3eb88b3d58cc7dbd00c79ebce69b3f3c15d3ab3d2cb893bd84bead3ceacc7b3a982615bc359709be54e6903f0838fe3d80abb5bcea1ed8bdece4843fc0a3323ee54ac1bc66938cbd4bf14f3fb72e813e47e6d1bce380b8bc83870e3f4a66983e339191bc9cf7553b6e079d3eccd2a43eaaf8e6bb1ff1863ceb69d33dcebea23ef8cfd5bbc9e8f53c137225bdc13e8e3eeedf93bbc79c443d641226be8e995d3e00c185ba76143c3d5a8b52be95a11e3e2ed7213c778ec2bb0000000000000000f094133c878721bc000000000000000059ac083b67d172bc00000000000000003f0bb2bae0568bbc000000000000000004846cbc2cca51bc0000000000000000b419dbbc774a1fbc0000000000000000e1fe19bd2b107cbb0000000000000000355f35bdc386373a000000000000000002fe9dbd6f21843c0000000000000000cd683d3ba85207bdc04eab3df42ca2bd56ce923b751507bd828ba83da8bb71bd7422e23a8c7badbc7f235f3d64ce25bda784943a710c1fbc3fe8e33c3f87b1bc3bfc193bebedc9baab44c03bb016b3bbb28ae43a55f18e3bc3c317bcc4ad073ce175163b5eed223c3133d9bcaae7bd3c240d283bada04d3cd7ca12bd53e6093dec55333bc332243c629a03bd8def103d1560e53c6f06c6ba35ee8f3befaa263dd978e53cc46dbcbab7af4f3b55d1293d14150a3d9c6ba2bb13acea3bf54eac3cfe34fa3c8ee6b1bb34afb63bbb49143bf33df13c3ed950bb0b377138169cc4bb7ecabd3c3509b5bb0ac3a7bafe2e4abc1bab823c57dbdfbbfa081fbbb5e6a6bc039a3e3b139fdfbb96f09abb400eb4bc893d3dbc8ac643bab03298bb257491bc89b150bee0115b3eac8800be2d62f13c372454be4688043e37b3f4bd55f0053d669216be01fb563da38bf3bda094113d8deb9cbd367e41bbe166dcbd16850a3d3c0190bcb6655bbdb0c5c8bd38c3e73ca3ddb03c15a1a7bd009d8bbd3e54c43c205b743dc984e0bdbf1b16bde8a8983c97d5ad3d6172f0bdd52b0c3c8c281a3cfe759a3d87ccc9bde125363d567a26bce7d289bc7bdcc8bd18c4623f52eda83ee13ed0bc8d8988bd2fc43f3f967dd43ebcd1cbbcafb3ccbc6ab2073f4267fe3efd9a86bc8fe6163b94719a3ed970083f89cce9bbcd167e3ca10add3d0ad00c3f72db88bb8e8bb93c43ada3bc41f6fc3e852af1ba26c4183d6876f6bd56f0d93e9a57403a83461e3d5c9839be13cca93e8965483bb1e4043dbf1340be8d6a5b3ec64796bb87c35abc000000000000000055448fbc32c171bc0000000000000000c343fbbc28565bbc00000000000000005c0825bd07414ebc0000000000000000b65e65bdf2fdc4bb00000000000000003d2d8abdce49a53900000000000000005eb4adbd4556c43b000000000000000076f6fbbd9d27bd3c000000000000000054180ebe12842f3d000000000000000069dfe43a0bb0cbbce492953da6e0a5bd6d39183b5092b2bc0d43613d55b856bd87c6ea3addd912bc7ba3d83ca074cdbc0ff3273b7bedc638a28f8b3bab54a0bb403aa53a901e473b943a24bc670b6f3caffe8e3a14ca243c805eebbcadaae73cb4082c3b9369263c0e9c0ebdab82273df08e723b77542e3ce4b21abdc0b0273d6112bb3a8d162f3cc743f6bc183d003d263d223d86c7ffbb8bfdac3b20b0db3cfd5c0f3d97977cbbebebfe3bbc3f873c4e24113d05fb02bc427a683b8a03373b05a3053d880672bb131aceba0ec5f9bb673fb83c3ee126bc502b66ba8fc600bc1487b33cc95604bc09fc00bb8b318abcb0f3bb3ad7a6e2bbca90a6bbb5cd88bc186063bb20b3c3bbf0b7c9bbe93f85bc0af866bc811baf394eeba8bb461f45bcd8ca2cbe6e28543ec58b1bbe474d3a3dc9e00abef00dcb3d933f13bea5b32e3d481e91bd2b122d3b609cfcbd57ef2a3d45b97bbc836a79bded07f1bd97ed113d30bd933c8eb4dcbd73fd86bde4d4f13c2c527d3d4d2813be129177bd0224e23c89759e3d319419bee519cf3a50f2423c4c06a83dbfa70bbe7fd5ff3c3e15013b03d6893d7712bfbd657f643d189b80bc1e6ea3bc938a5ebd5b041e3fc48d153f99d5b7bcdea59cbc29fbee3e83ad2d3f808966bca6494d3a17d68c3e81943e3f4fe692bb04ae643c5dcbce3d4187433f5d1c9cbb7955903c2eb11abb4611333ff49e43ba79b4e43cc8a5e4bd4693253f10d35b3b2e46ec3c1a0821be1007043f74a7b53bb731c13cbbcc2dbe791dbe3e7473b73ba25c993cf4df1cbe37844e3ed30031bd054570bc00000000000000001dfc6bbd68163cbc0000000000000000cb529dbd35f00cbc00000000000000001bdba9bd50dc51bb00000000000000005043d1bd2211c63b0000000000000000c328e4bd0913da3b0000000000000000769819beaef5e53c0000000000000000be5436bea9b1423d000000000000000008fb23beaf93683d0000000000000000c3bed53aa5107abc377e413dbd3783bde9c9053b08d81abc2c22e73cf53decbc5776a33aff0783b94642933bab499bbb0ff50f3b63a92c3b3f4a3fbc5659733c5717433b35a0043c72aaf5bcef0e173d1ec5483bb36d203c73fa0bbd9eaf403d47660a3b54ee273c1c091bbd30e4423dc0b22b3bfd4aef3b6b09f3bcfc751f3dd7a7323bcb669f3b938fabbcd98db13c7592383d1ecf4fbc2220e93ba4840b3cfcc21a3dfcb212bcb375983b03f9dbb931ce123d081604bc968c463ad3fecdbb911d023d054b11bc67b951bae90f3cbcadb8be3c855e31bcdef485bbb5126abcea22833bd940d2bba1c5c0bb49726ebc8b0fb7bb34f2a0bb2d8a83bb75d46cbc8cd74abc0d7861bb0debb5bb7ede11bc895f74bce02ed03ad929b6bb30488dbbf86ddebde5cc163e60f41cbec3755c3d38f58dbd27c2ec3c6ec70ebe0d2c4a3d33bf60bc5a1487bd193ffcbdb330323d1be1c93c1e5bfabdd9accdbd7ca3173de740793dd2a52fbe39df92bd90a3073dd1dc973dd8ef3abe635141bc75b86c3c7082a03d838828be57a2d13cf311113ba6b9863dc64bfebdea4d553dee6c16bc9943323df64585bd23256f3d86ddb0bc1bb5adbcb88919bc3579b83e0a86593f148d61bcf8e3da3be773653ecad7703f3c8891bbcf350c3c2bb8b23d8d79783ffb2953b863485b3ca68789bca16f6c3f49f70f3b6dbeb23c4553dabd90255b3fd0eea73b35ec9b3cb44310befea1353f6aabc93b574b863c59051cbecfda063fd117113c2b13c13b729607becf30aa3ec040083ccf69043be8e6cabd00fe0f3e08f9acbd9cbe2bbc000000000000000060ecd3bd39f6d1bb00000000000000001f7ce7bdd210f0ba00000000000000005865e3bd8c8c623b000000000000000095db04be936c0c3c00000000000000009fa728be9892f63c00000000000000001b7141bedb754f3d000000000000000062254abee16d8b3d000000000000000064bf24beecdb863d0000000000000000d83c143bee69cdbb7a53a43c4b6c0ebd7e16ba3a65550abab32a413b9525f1bb253c003b9b2c863baafd73bcb544a83c7758183bab9e053c4270f6bc8e832f3d1a62603b1d24193c437c14bd718a673d8411403b9b4b1a3c616e19bd70686d3de719433b61e1f63ba1cffcbcd223363d1312433be7bf533b5b8897bcb27cdc3cf1b00f3b4c46d63addbe03bc0d8d363ce0e8293da1a95abc704f8a3bcc367cbb3ef61b3d258d2bbc5b99193a516907bc9db3083d48053abc27e2daba9ede29bce649be3c63a637bc020a8cbb9ae64cbca6da143bbb80f7bb31f3e3bb04d22bbc6b11fabb6a099bbb50d2debbdfa026bc014352bc6a6dfdbacde6bbbbcde4fabb3c1a7cbccc9fa0b91f6483bbf7c55cbb2d2e4ebc3517843aec2feeba63a7aeba484238bd5a35773d87fb0abe41e35b3d987e86bb13c47abd7a98fdbdb154403d6cb5d83cfbd814be3dadc5bdbceb1f3d5c366d3de0f64dbe43118dbd7484093d62208f3d5e255fbe0e171cbc69e17f3c8897903de3c24abe9c86a93c1523943b8e91773d36dc18be1cf3333dbc7008bca67c253ddd4dbdbd6f18733dffa97dbc1866943c77f108bd5f685a3d3f02aabc30902ebcb6c9e73b5c06143e777d8c3fca3166bac11f0c3c7895203da9e6963f6e98a43ae8df533c0aa1dfbc8f51903f80d68e3b0100733c8ff5b8bdeee4853f6606ce3b50633f3c4e54fcbd6b59643f45c61c3c35a4f83b182f04becab2313fcbe1113c061f233bda2fe1bd5f48ea3e9ff9bf3bee475ebb127b96bde92e753e27642b3b8b7aa3bbed922ebd1aa95d3d481cf0bdc30dc2bb0000000000000000751909bea566873a00000000000000006dfa06be62dacd3b000000000000000019c509be15730c3c0000000000000000e9bc2abefcbffa3c00000000000000004fcb3fbe0923493d0000000000000000c2913dbe11dd7f3d0000000000000000b9bc41bec629973d000000000000000002fb14be679b883d00000000000000008404203bb03bd5b87bd988bbcc1ee73ad7f9333bb6a8803ba69391bc7a00963c1bcc253b3796003c628908bde603503d5b42643b446afd3b8ddb1ebda73f8a3dcedd5a3b2abbe23b40f417bdbff1873d56bb2d3b0731de3b8675e8bcb901543d6438213b5ab23a3ab1b883bcbcb6013d002d143b87032838b714a1bb12975a3cdccb2c3b01b819bb13859b3a0158f2ba55f5023d120768bcb7ee40b9043de2bb44a61f3d3b4e47bcfd36c9ba3fc815bc08edcc3ce9283bbc68bc5ebbfe4132bc96304e3bfeb0dabbb4afc5bb5be213bc03f11bbc85c9d2baade1b6bb7fafb0bb5fdc7abc8d7a893aceb5b4bb8fc17abb9f3665bcf749863a22183ebb0f08c3b91b1777bc3ff4273a5548d2ba24a107babffb00bc7f8b103bb0506439a06f8d3aa833e33b834290bdefe6bbbdd451343dd946103dac5213bed5d6d2bd14382d3d6966773d48e06bbe100184bd0642033dfe538a3d1e9d80be1c4865bccadb693c5de3803d764b6abe3ca3943c4b165bba24464d3dd3aa32be1431143d58e027bc57e9013d4217dfbd178a363d1a9b7ebc5a44213c6ecf41bd7bc55f3d2f3276bc697323bb066f303c57e60d3db79180bc1a4ad0ba6bfe623c6e7517bdfa48b13f3bea6c3b8d8c613b3e5154bd0904a63fb52e913bc5f01c3c4673cabd63aa9d3fab96103c8220a63bc6c6e1bdcc0a883fc866033c9d23193a5c16dabdf14b583f9506cc3b18ddfbba93f6b2bdc18f163fba1bd83bea75f0bbd5a05dbdb086a93e1dec223b527ca1bb859282bcf608e53df5b10c38c0e8c5bb38f0da3b35dba3bd917c23bed4ee0f3c00000000000000000c91e8bd413851ba000000000000000029d1f3bd67b1f03b000000000000000049700dbe3c42d13c000000000000000012f815be33ae293d0000000000000000645c10be4939513d000000000000000047a509be97576d3d00000000000000007ee310be7356803d00000000000000002e69c2bdc6e1493d000000000000000000000000000000000000000000000000e8cc323b749ce33beba70dbd1240773d515e203bc684e43b2e5415bd8d758b3dd3a8013bfd56c83b4a8007bd7e998b3d926dba3ae5a0c03b1bb5dcbced1f6b3d968bec3a60c6313b4f0687bc20730f3d984d013ba421213ae7b4dabb0dfe863c836c123bf9cb38bb250df53a31b198ba00000000000000000000000000000000000000000000000000000000000000006634693c982e24bc9cc75cbbd7aa1cbc677584bbe83608ba7cf595bb495cd6bb7af26bbc7066773b801f78bb972d80bb265392bc4cf1b83bbe4282bb7bef12bb6ef742bc6958cb3bd8bd52bbf65458b9cc9329bc7d30b83b12ce74bac666ab39a6e590bb941e283bccc5cf393d371b3b0000000000000000000000000000000000000000000000000000000000000000897a803de1c67ebe6748f4bc2ec9ab3ccef0813d28227ebea01c05bb664bf43981015e3dc28d72be6188a83c94206abcc5e8343d963743be020bc43ce0cc93bc1a20d73ca81b00bea755873c02e3adbcb11c243c60e276bdf6c6a33c1cc28cbc99579fbbb268043b68a7523c43da5dbc000000000000000000000000000000000000000000000000000000000000803fefdb913bfd32713c4a461abeecb2b33f89b6163c4838d73af7aff0bd1554953fdcec023c38a04bbb7f33d0bd6568753f0a77f13bdbdac2bba357a3bd6ddc353f276dd93ba75107bc36d343bd1e65e73ee86c183bd818f5bb728778bcf9ad573e4654503988fc00bc7e8d5f3ce369a8bc00000000000000000000000000000000000000000000000000000000000000002bebc8bd6cd11b3c0000000000000000f04382bdefce873c0000000000000000b02a60bdabc0f33c00000000000000000fd618bd6358033d0000000000000000d30fb2bc60880b3d000000000000000035d8d3bc4142003d0000000000000000764fa9bc8a5df23c00000000000000000000000000000000000000000000000000000000000000000000000000000000953c6b3b3653083b9bc50e3c5abc2fbb4efc523b1b993d3b7113eb3b32ee3dba9353593bdba5443b524ed03b5ceb84b95530c03a4d4d1c3b90d6af3b9e18ab3a2e80ee3a9d8bdc3aca227c3b801b333bdd78d43a3ed2b53adbc3673b69ac083bced2973a01122d3a62e0283bc7650b3b00000000000000000000000000000000000000000000000000000000000000009be62e39711bbfb9dd4a013beba418bd66b38a39666085b9f908dd3af94bf8bca1f033ba4f816ab9321c8339d535ccbcf3685239df21f4b96a39b63ad840a4bcc235213a880af7b940c0113b97e080bc67ff00ba3e104eba7531423b42441cbc854432ba8393e7b9c374723b43608fbb000000000000000000000000000000000000000000000000000000000000000024f36dbd856042bb2f4e01ba0df0c8b9c49561bda09c93bbd247043b212c72b998a14cbd1b04c6bbf2a6353b31528ab712341fbdc0b4b2bb0d63683b141e91b94fe7efbc2322b7bb4946913bbcb112b84df49fbc6f47f0bb846e633b55462cbaa872edbb72e800bc170b663b97049db90000000000000000000000000000000000000000000000000000803f00000000370985bb9918e2bca373893ff8ae14bcdca3a1bb18619fbcc86a653f0a6e053b0350a9bbeb7193bcd31f3b3f4431073c7a4b84bba7d598bc773a113fc3b1223c99f96bbbb59bc1bc3ce5d23e59c9243cfa3ec2ba567ce9bc699c833e5a51133cb20a023ab53418bd4840dc3d7dd9d83b000000000000000000000000000000000000000000000000000000000000000094a282bcbce8423b00000000000000005a612ebc3918f23a0000000000000000f7950ebcc6d5663a0000000000000000cf7ac6bba8ebd6390000000000000000e68d82bb7bfa2f3a000000000000000091666dbb4f60a73900000000000000002bc64ebbd4130a3a000000000000000000000000000000000000000000000000b7c26e3bb0a780b9aba7b13b973b96ba0913ae3b442a4c3b1c1e1d3c53ebaaba7bee893b9e515c3bd23d173c4177df38b2f3433ba8517f3a8e515a3c1ff5bfba835b3b3b931f1d3b41e8d13b3958053b4bf20a3be7f90c3b89d5ca3bc046593bc1cd013b0282c83ababd9d3b276d693bdb8ce43a5ab5933978bc3b3bbc85133b59e7ff39d52f89ba20a6953a93f5053bcbed6c3a4775c7b94385673b6ecf17bdfc87843a7c1f90b984f9db3bfdc635bd75f6fc39680911ba8a22923bd7cf1fbd6bdcc63b1ca144bbad38533b191410bd896eb63ab59b2738eb8e533bab4acbbc14c793395b5298bac1aa8f3bf0e99cbc52a64c38129b2cba5808a03b23e85bbc38678aba561f85ba3f33c13b546fa1bbe3a8e7b931e3fab9fd66863b85029fba5bb9ffbc1d4ac23a67259ebb0957fb39b5dd81bd40c9abbbfcab0cbb2d08753af03b88bd64eae5bb10b8643a3bdf7639bad762bd2edb3cbb19fd913a0760bdba8aae3ebd466606bcf343543b1fb91b3ac3db17bdbac214bc8648833b3f89a83982efc9bcf7aa17bcd97d4a3b61e12837b7f90ebcdf4b1cbc597b883bf81a10bab1018f3bd2ef8ebb6aef5c3b5f633fb909542ebb610963bd6c57893f2f78f63dd08cadba772c80bd4be5803fc6f6ed3dc9e251bb3ab93ebd7a35593fcef9e23d57ba85bb75d730bd7726323f9967c73d817749bb60c11bbddbf7063f7fbaa93d471f8cba15b02dbdc298c33e0473893d5fbcad3ad17f43bd5d9b703e84b9433de48cb53bfb214ebd2e98c13df853d73c2e89993b527b29bda697aebceda5023c43c6f9bc371f9c3b0000000000000000ed8104bd90a2bc3b000000000000000096d0c7bc74fe453b000000000000000038eea0bcd568923b0000000000000000bf186fbcbaf6d33a00000000000000007b7948bc8ae8993a0000000000000000593b13bcbc007f3a00000000000000009751ffbb9768c33a0000000000000000a945a6bbfac94a3a00000000000000004c48cc3a724050ba8b75713bfa2e3c3a7d53903b3518aa3a5873e03b3a5a6f3a1b332e3bd27bb5b9bfd2c83b3f0c7a3bf52b4c3b9c9bfd3ab5cae33b4109563b7110163b351b853a4458b53bff84723bef47063b657e6d3a8a30ae3bf1a6823b64cbad3a4cf6103a3755863bc2af613b57fcd03a349668bafea9073b10ca3b3b7b5f743acab4c9baadd4153ad52d033b3508bd3a3c1d08baca42893bbe3004bd46cbb43a3c75bcb9957ad53b112729bdc890e43978891f3a795cbc3b489a01bd343c5c3a4f7547bad72d9f3b2e9af9bcf687a73a7d86ecb93115713beb3cb0bce4997a3a32725cbaaef0963bbb1b90bc1c4ba9396b8524ba30c4963b67a729bcddbe83b9d4ee77baa1eab83bfe13b3bb58c62a38b58fedb919118c3b30e4eeba6138aabcda92953bce66cbbb4d5d5e39d91047bdb8c02cbbaa8791bb5851843aa24e49bdcd5f04bc29dc5d3aff515fb9b0b158bd9c9a1cbcc3dd083b3b6f303aac251bbd184700bc9d445e3bde90013a673d08bd1b3719bc5e338f3b301a5d3a15e1a3bcec28ecbbaa65863bbe7f8f39fb1f04bc6a17cdbbef94833b439100394050e53aa378b0ba9422473ba4b61db896a233b7414f72bd8ed9663f8a868a3e6541373aef0197bd27f95b3f96da833ef40fabbaa83663bd8b6a363ff398693eda2a60babdb45cbdac4b193ff6784a3ec60d9eb9bdce37bd10d6e73ea57a213e7d919b3a528a4fbd71eaa93e800b003e22e13e3b2ba73cbd1e02523e18dbad3d6523de3b477751bddc9ead3da69c473df9b5bd3b377e16bd177a69bca5e1393cd0b620bd5aa2703b000000000000000044753dbd1fd5ac3b00000000000000009b7d08bd26b6103b0000000000000000e0d0e2bc43aa003b0000000000000000ed079bbc65417c3a00000000000000005afc88bc01bf763a0000000000000000328546bcd1e1823a0000000000000000fc242dbc8be8b53a00000000000000004271c6bb54d3453a000000000000000029d7043b3051b7bad35be63a7abb433b9e0f7c3ba840153a38688d3bb19e7b3be1745a3bb785b43adc8dc03baf02973bf9c6213b2979a93af294c53b3b06b13bead0fe3a2056743a7ef7a63b4fe4a53b67f1073bdae8653af8de883b6950a33b2d62cd3aea51b039e510643ba1a8963bfe5ea73a152814badf6cf93ae1215e3b1acbb6396237a1bab633ca398223173be1ddbb3ab9fb7cb9a0eb523b71fbebbcbfe3d93abd19ddb90570c13b645b14bde239b43a793b48bac144a73b326600bdb056dc3af94317ba722c993b86a9d3bc9ee3d13a77ba40ba80798a3b378ba0bcdc4ac73aca915bbadea89d3b4ef470bceaed933ace9d40ba8679a23bb57819bca1eff839f3b691ba8fe0ab3b3a8499bbd096383a49f008ba77f76a3b91b0f9ba064593bc52a7c53b24f3cebb5a31003af7ec2dbde1c264bb991da4bb747c653a947b4bbd93c72dbccf588bbadaa6013ad68943bd88cf4ebc738fd23a93433b3a338920bd3ed13fbcf2d55e3b6350543a0b1c01bd65a12bbcdc40853bcae0683a5b00a7bc1ca5efbbfa94803b33b42e3ab1fc17bc986263bb0aa8823b263ef0393f23c3b95fe5cb3a4d32633beca18c396e2b0338f34c69bdba483d3fa425d93ecf18083bc99a95bd07ed333f9bdace3e5ae0a23a04f17dbd9f5a1a3fecbab53efc0a8a3a3df065bd4e0cfd3ecaae993eb72b7b3aeca04ebdc09ac23eadb1763e46f2233bc9594dbd7aa38b3e96663b3e08008b3bd60e48bd8c0e2b3e446bfe3d546dd03b3ab03fbd08678b3d3ea98a3dc67ba13b117c03bd865d53bc2130513c81fc3cbd2e60433b0000000000000000b67964bd46428b3b0000000000000000e7ad2fbd11042b3b0000000000000000a66608bdf64ede3a00000000000000009e0bcabc2600853a00000000000000008fe09ebc971faf3a0000000000000000bf2871bc71e54d3a0000000000000000c74a36bcefa0963a0000000000000000762dcfbb95e6dd390000000000000000368dd93ab3dc6fba9cf6fe391068983b150a473b8c942e3a1be12c3b78ffc53bf16ed03a6347cd3acda78b3b3b30c03bed8d003bf587af3aaf459e3b5133d73b860e293ab0a8253a8473313b8b63a33b183c193bc9022e3a0569643ba369c33b50547cb97adeecb93200063b37f53c3b10180ebadbe9a938ab81b33a32de603b4713243a15914cbaaf4309395a1c113b0003a73afb673fb878045a3b82b1c8bc41de973a28632fba26a0bc3b950fedbc7e460e3b6b489e3adcf4723bc603b7bc0c05dc3a247d86ba47e6933b77e2a6bc586e033b7028a3b987893f3b9bca48bc54be053b5837ddb94999843bc2073abc0c18113a0ede72ba24a1a13b0143a0bb60bdcd3a287011bb0d059a3bfb9328bbfbe68e3a527755ba4ccf473b96fd66baefada1bc6f2f953b000fcfbbcd4f10b8d0e721bd8a24f9bb7eefaebbd7d6243a927536bd89d774bc8081b43a1504333bcf5337bd9cc291bcf660893a6e58753a7dbbeabc17632fbc1902193b9e5d903a528bf6bc4a7549bcbf42483bca43c13a7e6299bcb12c0bbc23685a3bf928ed3a55c128bc9a9584ba7808573b5ceea53aca972abb5e16673b2827433b1773f839e634a83a1a5f56bdb668143fe982143ffb8e473be79085bd0e5f0b3ff4c60c3fbb03a83a029c56bdaf50ec3e28b4f23ee2a30c3b152655bd7a0ac53e4654ce3e9c449c3a425513bda20d923e9a759b3e39304e3b9d7a38bd99b5573e82ae753e23c84a3b32c120bdc173fc3d95da213e92f0cb3b65571dbdfac1413d4c1daa3d9d0a973bebf0d8bc7b5783bc48173e3cd01154bd7185be3a00000000000000004e6177bde000323b0000000000000000703c2dbdbe90f23a00000000000000000b8612bd5200583a00000000000000003780a1bc116d603900000000000000008d5da2bc209a9639000000000000000028e66ebc081a693a0000000000000000ae0727bcd4ed2b3a0000000000000000c2c3b2bb4c58ccb800000000000000004a49b13a728398b992e771ba5c81ad3b517f2d3be791d63a5f7cdb3a9383f73b0ed6153b6ba3183bdb9b5b3bd6c8013c16b9cd3a6f72063bf3357b3b593d053c66da803a7ab2ca3a125d3a3b0229db3bf5aa913a3241993afcf9263b3bc8c13b6c66183a9908233a003add3ab0e29e3b0c69363ac0bb733aeb77d43a0742443b602826b9d05370ba940535bae87de63afd423f3a2852dab8c288653b8a849abc28af593a0b72cbb801a5af3befd4b8bc285a8b3af9bd4dbadd9ba83b3b6d94bc7da0f23a01dc0fba89eaa03b561a70bce63e0b3b21be25b9ee8d733b488634bca342013b656627ba49d6893bd626e5bbc161fc3a46d916ba7ec6753ba6455abb5d2d953a2cbe50ba75a49c3bee0a2dba6a74673a18a0f3b9b75e0d3bb9d3cf39e967bfbc9b4102393239d3bb6440c6b938e831bd76fe89bcb778bebb11bb8f3acd9d44bd863dd6bcf712ffba39da883af1ca38bd630fdabc5b42a2396c1ee13aaa071abd9418afbcbb0dcb3a4128fc3a590af7bc396789bcd8cfa53af92af83aeb96acbc6ae616bc2056c13a437ec53a77b650bc4fe379ba6db1923a4967833a2e3587bb1cf7aa3b0f97e93a0003be39f4584a3b35453fbd13ded83e73873d3f0d5fab3b3d0b76bdaa61cb3e292d353f42d9873b17f754bd05a4ae3e0dbb1c3f9354853b85ed3dbd18958e3eb3e8013f3289a53b628d28bd228f593e97f8cb3efb0a8b3be49e1dbdca1f173e2239973efa25a43b27640ebd43a8a93d285e453e80fac03b994f02bd6f53b73c0893c43df8e2a93be6b2a6bc6004aebc3f0a073c7f5f68bd3c54da39000000000000000053fb88bdb713df3a00000000000000006dd54bbdf8290e3a0000000000000000bc4a17bd5d61aeb70000000000000000b5e1d0bc1d9f4fb90000000000000000933d9abcbe2d4bb90000000000000000ffc455bc93f010ba0000000000000000578f18bcf91425b700000000000000000aa88cbbbdddc8b90000000000000000f13eb43a24adac3adfbf91ba1516c73b1ee8093b35654c3b4204e23a2193103c444bbb3a43b6233ba9c22d3bdf81013c4438c93a70e12a3bc4e4513b60e4103c0421103aee9a023b7e201f3b493fd83b96f4903ab85ff03a386b153b3a99cb3be96d14b9fbefc0391eba7d3aeb94733bc3f195385526b0390b6df2b8c5a12e3b577872b8983482b93ebd4cba20fcc53a7f63d0b9056ab43834f5793bb8f24ebc5ced56b8be490d3a6321a93bfecd60bc46da7e3a18208a382a888b3b000230bc63d8da3aac4385b9ac048c3bcd670ebc00d6133b948ec4ba4c604e3ba124b0bbb3b6073b87b9a3b92fbf633b2aa337bbd5af443a1842b4b7122f733b9ee33a3a89026c3ac4d559ba1189263bc520343b6038663ad1c0e5ba3e97fa3a2c35323be777eabc75380bbc18cce0bbe361b0b8111842bdc54601bd8821debb6f3e8e3af56536bd666110bd64fa53bbf080013b6e6b39bdeeee19bd6ba8c2ba818b083b92c908bdbaf1dcbcea94cf374f53163b3d37f1bcf261bebce25655ba5d542c3b569096bcb54f45bca6742739d794273bc46841bc82f910bb09519bbac7e7d13a36b790bb75eac73bd5640239e043673a46c7893bb19e22bdda688a3ee00d673f4f87cf3b25774bbdebec7f3e7ecc5c3f2665a53b033320bd36b65b3e1cb5373f5606903bc04b1bbda125323ea5e61b3fb2d75b3b3742f1bca310043e67beed3e5a189c3b6af8f1bc3269ad3d0187b13e688dbc3b6f39ccbc23972c3d8e2e633e9d03c43b07dfabbc3d473fbbfe5fd43d2ab8983bfd9a58bccc74e5bc2f924d3a534474bdca1a00ba0000000000000000afea89bd4dd2543a000000000000000035ed2bbd7bb0c2b90000000000000000d26007bda4d481ba0000000000000000e4d59bbcc664aeba000000000000000034df75bc8b7c44ba00000000000000008f7332bce6bef2380000000000000000c712fdbbe3a219ba00000000000000001bde80bbeebf12ba000000000000000093f6723a3c65183baa8f24ba4b91da3b6f158d3a965a863bee4c523ba3c9293c363c7c39ada87d3bee0d8a3b0f37273c9708663a895c313bcd1b853b7a52193c494c893ac9e9543b897e1c3b18f4df3b8ee0243a1abbf53ae9960c3bc9b7c43bc9180d3ab14fc73adedebc3a1ea1913be59570b9d8961b3aeb053839778a133bdc522cb9da41103941b5b9baceee073a60c28bbae391303a605a553bf386c2bb31a209ba1c5e643ad48f873bdf3c76bb31482b3a4b8f533a6c53813b677952bbad35e73ac7c0a739f9666b3bab1828bb40940c3bb6e17339d582403b8ef5f8b8f2e5103b0aef8eb912cc243b3d237a3a2fa6073bdbbb02ba472bf33a936f653b3098913a590c2fba581e8f3a7800b43b1c3f553a834e5fba1422663ac9dda13b3d3b19bd63ddcbbc825af0bbd02621b7e29f50bd6fe362bd62161abcd934023bbcd845bdd0936fbda4bdb4bb7f3a203b851130bd7a485abd8bf48cbb3f38273b25b509bdc72126bd7e756cbbf800623b8456debca8af07bda495a1bb0414613bd3c891bc9efca1bcd65194bb0e1f413b9a421bbcf26ccabbbf05a1bb9314123b447c4cbb8c4ec13b797615bb6166ab3a06a2a43bc83efabc3174f73d7966893f50cae93bdf1f0cbd7a10df3d180c813fc07bae3bc28eecbcc7e5c13d77525a3f779ea33b1480d3bc0fd8983db010323f85e98b3b50c1a2bc7b35523d138f083f5026443bd3539bbc72c4ca3cdc30c63ecbd2893b6c586abc209c8dba6942783e9af4a03b375b20bc77d1d9bc0e2fd43d9253833b1314b5bb255318bd190864bc8b0a67bd3f7b1cbb0000000000000000a40766bd746236ba0000000000000000dad906bda5240ebb000000000000000080c1a4bc7bf613bb0000000000000000c6ad2bbc3c64dcba00000000000000007e42f3bb2473fdba0000000000000000bc448bbbe68945ba000000000000000049b6b2bb802a4bba0000000000000000915439bb7236a6ba000000000000000000000000000000000000000000000000b6d6e639931f723bddd3263bbd02e93b22e4383afc96573b899b573b4214e23b3d921c3a82e3503b37dd653b0102b03bd21894bac5b4283bed7d1b3b6ce9a13be27079396807113bd67e053b1290883be08322b93fb6ab3af68a5e3a02cc363bf981bab9ec2e813a61e3df387f88c83a00000000000000000000000000000000000000000000000000000000000000005db554ba9ab0893a7fbd213b35eeb43adddcf0396087603affa8153bf6b09e3adc4a463a6ab06d398db30f3b28a9c43a52afe03a20323d3a247be53a2d1ae43a7071d83af226a83a9555e63aa5d4433b534ccb3a1da7a5b981806f3a14d98e3b0e1fa23a730234b96fb3673ac80ac33b0000000000000000000000000000000000000000000000000000000000000000e71f2cbd947e6bbdfce5e8bb5c30a63a0f1011bdffa661bd6393b5bbe6020f3bb0c9fbbc4f1c46bd4252aabbe1bf2d3b18f1bfbc618b1bbd49808dbbdfd45f3b6fb28fbcd736f7bc71d97abb44c7303b287c38bc8ebe9fbca8d3aabba593403ba348aebbf1e9f4bbeef69abb7b44473b000000000000000000000000000000000000000000000000000000000000803f8557a03b8e1185bc67e85fbc145f893fb7d26d3bae175cbcfe1217bcda9a653fecb9cb3a144034bc07772dbc8e533b3fc2be463b2a3b1dbc4ef762bcc35b113f11e73d3ba13bf6bb9832a8bc1a2cd33e7ed4313bf99d8ebbcc8be2bc60c6833e98dd053b4b725bbaf12419bd9d53db3d00000000000000000000000000000000000000000000000000000000000000004542c4bc139191bb0000000000000000b5d11abc91a546bb000000000000000098921abbf4202fbb0000000000000000966e113b0092baba0000000000000000c41a9c3b9c24b0ba0000000000000000af6d5b3bd6045dba00000000000000008cc4193a5959d1ba0000000000000000000000000000000000000000000000000000000000000000000000000000000057146a3b79d286bad043cb3b8164f4b9065f213bbb70cdb8e84fbe3bcf1dcf3a979c1e3b16d233baa9b7a23ba002fc3a4247ed3a9a688cba9f0a7b3b7d8c463bb79e993a0290fbb9171d4d3b0cac813b19714d3b7f3a6139324a0b3bd980993bb8570e3b416f46bb8829503a23a79f3b00000000000000000000000000000000000000000000000000000000000000006c7d5dbad18f88bab82615bb6aa00cbd9115d1ba7753c3baa6970dbb9548eabc2492cbb9d482cd39eefbfbbaabcbc4bca0c9a139482e6cba11ca98bac1b399bc78c80f3aeef237ba30c094ba66c469bc778b263920a827babb965c3af47a27bc953cda398cd199389bfe763b26a6e2bb0000000000000000000000000000000000000000000000000000000000000000f9f1c8bc6327313cee7c02bb7a7b22bb2f33cebc5052173c79fd82bae8aa3cbb91cab3bcd6d2ef3bb723303af0fd48bb9de18abccac4b43b5f53d03a7ada20bb9a134cbc92136b3bdeec243bc57ef5ba019ac0bbb63d0a3b11c70c3b0ce2bcbaa3e51e3ae316863a0aba323b4553a1ba0000000000000000000000000000000000000000000000000000803f0000000092042fbcffa16dbc78b57c3fad71023b219927bc61ac56bc7c5a563f1da7013ce0cc23bc2b7c73bc2db1303f0650563ca91813bc61cb94bc2b3b0b3fdc8a823c80cff3bb6545bebc9ba5cd3e9145963c5adacebb341cebbc5571843ecef69b3ce14a50bb8a6e16bd5158fa3d9d23aa3c0000000000000000000000000000000000000000000000000000000000000000cdcb8dbca942e43a0000000000000000a4ef62bc746290b90000000000000000bb6a34bc3e0f16bb0000000000000000c69f03bcee9f31bb000000000000000061e4cdbbbe623fbb00000000000000000a4b9bbb342944bb00000000000000005cfb7cbb0a9b58bb00000000000000000000000000000000000000000000000096b23f3b25278bbb0d46953b3806f03a5291e53b156843bb3fefe43bc1417d3a71f1543b93099dbaec5ad83bbd00303b566d613babe604bbccfbb23baa1d863ba6491f3bc3272bbbad21833ba96aa93b09bb1d3b8c4f5bbb100e173bbdea9a3b3bbf543b9c1059bb4faae53ab6afbc3b25ee793b6a3966bb080e33390efbb73b57af163bd0a090bb0830b5baab29a63be7f8b5b9c3255fbabd4c40ba178113bd77ebd6b95759aeba3c56083a667832bd223b8f395e17acbaabb2673903131dbd0306c0397935d3ba162793b9c3c906bdbd57b33a19818bba95b51e39860fc9bc211c053b242bc2baef55513bb112b2bcc5620e3a1cce9abacf8a843b29f774bc5b23133a6b396eba1289d73b216925bcae4ca73ac5e0ffb6111aa33b3920debbe7895abc9e6e873c45588abbb98d1dbb179f03bd7c208b3cde713bbb4a3351bb302803bdde5b553c3a1dcb394e195ebbf300edbcb6ba333cf246043b68f478bb5753aebc84c7083cb8c7563b31814bbb369986bc57c1e23b90db9f3b90fa7cbb1b7f1bbc3f37793b31ecb33b6d213cbb3647cabad08e2f3b13c96e3b7e7d13bbf3cc8a3bddbf833ba999833b0ef8a4bacee212bce53ae2bc4f907d3f8526053eaf103cbc817214bdccf5673f0fb9003ebb0932bc99acf9bce1c6443f167ced3dcd772fbc017efebcf20a223ff14ed73d3e6614bc186300bd7277fc3e10c2b73d3ebaccbbf84624bd5df9ba3ea308a03d9ada84bb113d34bd23916e3e8110813de4c94c3af4a94abd79c2d93dc03c393ded0bc13a0acc25bd8eb601bcdfb4c83c5b11d6bc00511e3b00000000000000003ce6ecbccf62013b00000000000000006043b6bca7141aba0000000000000000e47e8fbc113b2fbb00000000000000008a4e4cbc80f173bb00000000000000001e321ebcd9ef6abb0000000000000000eb0404bcccc49fbb000000000000000018b7b6bbac5f97bb000000000000000028775bbb21d77abb0000000000000000dc8c593bf853aabba41ec43a78f9983bd69aab3bf05990bbc919443b8189ad3bbe12603b1d7341bb9362833ba649a73bce12983b7b3b5fbbe901733b2afac83bf2c7103baaf756bb1999153b2fa5c93bfe2e5e3b07248bbbe091d7b9decaf13b210a763b0f0b8bbb1e4fefb85165c63b8738533b21f594bb2bf2e1ba73f9d33b472b0c3bbc9490bb230d81ba44758d3bc617853a557b68ba1ed5ff3904f206bd71b5cab7f930f0ba7866ca3aec712dbd8e678f3a5fe8cfba111a843a31b80abd757ecc3a21ec8cbaec29593a001d05bd1db9203b284309ba2e15b23a2fa4c8bc076a1f3b3d051dbab1d4573bd0e8aabcc0bc063b99adbeb97f39693b10a071bc9558153b1201fbb95082c73b59de3abc1b75f53addb9b8b72c24a33b10a8f1bb52f84ebcb059993cd9fb45bbff4339bbf01dd0bcf2ce9e3c073a0aba37ec86bb661de2bce89f553cd2bdda3afd796ebb7ee3eabc4d75413c9cc55f3b88e068bbc695a3bcaa3b193c534d953b0a883fbb48e490bc50170b3c59d3bd3b1cac46bbc0ef2dbcbf26db3bc206ae3b887802bb591488bba926e73ba23bbf3ba79212bbd49d8e38997bcd3bf23b9e3b8de3a2bab435eebbdc290cbdc232583f33a88a3ea51317bc8c6036bd46bc463f1a77813ee22e03bce14818bdca06273f2460663e200d0cbc3a2126bdc8240c3f8c2c4a3e577f04bc6ded10bd2c46d83e0c28243ee5509dbb9e7735bd5da7a03e6b2f093ea95cdfba3cc02cbd68c24b3e22b9c43d7a862a3bbbb649bd1dcbb83d9de8873d0cee513b969a15bd019f03bce9d8d23c5087ffbc51af983a0000000000000000e2de0ebd19851d390000000000000000678bcbbcb75400bb000000000000000005f2adbc3b157cbb000000000000000006df5bbcd9ea93bb0000000000000000201439bc0d6cb6bb0000000000000000894bd7bb4c909ebb0000000000000000da98a3bbb478adbb0000000000000000c2970bbbefa386bb000000000000000061f8f83a1040c0bb745d0aba16f3af3b75878a3b897699bba872ad3a1efbec3bcec0653b444272bba21dfe3afcb7ee3b7d4c383b548889bbe492433a7546093c0d48293b3a6e6cbbef99ad39ea14f53baa6e353b745c81bb83be15ba3db2f43bd5973e3be9218dbb8fbdf0bad599eb3bb231153b283dbabb27429abb705d903b926fee3a33c481bbde3f62bbee53903b9349013bf9c493bacec7b0399e96f2bc9c96d53a83cfe9bae96b2d3b28d617bd4328013bafe6b9ba1267d33a2e2308bd9a174d3bb71d25bb9d3fc73a9d3df4bc88c25c3bb95187ba56861c3b3ecfbabc642f603b48b898ba0af06c3b66669bbca93e7a3b145802bb3822973bcc6664bc2d084f3b2d63373a208f9f3b9c0c23bcc6a5493b81420ab908a7873bb48beebbb8465bbcc4e6903c79d7cabac3e360bb1266d9bc6d83943c6812b7b89e5186bb7b07fcbc10ac523c540e443b74d678bb9bcbeebc3e5f2d3c3285a63bd0f69ebb1ee9c6bcff57143c6e92c53b112f40bb7d5fa1bce7960c3c0e2adb3bea241ebb671859bc5a49123c0cc7e83b7a32e6ba0a2717bcc1f3f03baa3f023cd033a5ba825e48bbf94f103cb38cb73b68a0c2ba0c059cbb228911bd0192323f2b4ed33e59dbd7bb74373cbd1821243fcea3c43e0eaddcbbd4b130bd528a0c3f7d1aad3e68cad9bb15772cbd0733e83e2e80943eb4ce91bb7f5228bd248eb43eae76723ed6b041bb228233bd4e8a833e05743f3eb7439b38d5e334bd1f75253e95ee093e3f64c33b45dd35bd9387923df0e0ad3d93db6f3bc66f02bd483722bcad52d43c5cb202bd87fa21ba0000000000000000436b19bde2a3deba00000000000000005011ebbc5a5461bb0000000000000000c987adbc443dc7bb00000000000000005ba867bc0a15b1bb000000000000000001c51fbca676bcbb00000000000000007beaacbbf89ccebb00000000000000005dbcdcba1da5c2bb0000000000000000fa5be7b908bfa8bb0000000000000000847eff3a6e9ba4bb002bd3bab6e5f53b54b5613b84178cbbb3274ebaef97123c34dc433b24575ebb237d98b8a5a5033caa4d433b9b3054bb68b058b932200b3cd0df553a45c158bbd35875bac477d13b6816d53a58b02fbb71c284ba8606e23bfe2efd3a931c7fbb50a362bbfcbfc13b03c1543b7bdb36bbe2f7b3bbdd90993b9064a53ae01a4ebb171a94bb713f673b9189023bbba0ffba0e26923ab059cebc39c2f93a94bb0cbbb4804c3bd7d9fcbcf6211f3b6a93d6ba558f033beab1d2bc0ce4453b4872cfbaab2b293b0b4bc7bc14206f3ba86a11baf7b6aa3a71d47fbcc774803be2ba0b3ae377953b61c487bcccdd873bd648e2b991936d3bf63c33bc01728b3bc42413ba3522c73b8a14ebbbce0f813b50a68ab8a8894b3b112db8bb1fd384bcd3388d3c62dfbcb82df188bbe2a4efbc809a703ce81de03a99da8ebbd21df4bcb43c0f3c3f9f963bfb176fbb088500bde0f4e43bf9a2c43bf03373bbdcaba2bca63bc53b59c9c73b7791f0bab9ebb6bc03e7da3b4dbbf03bd1e110bb2d186cbcce7d073c76b0e93b13a5a5ba216032bcc9fc243cd9dee93bac88e9bacd0fbfbbee19223c00fbcc3b530c8dbac05e93bb89650cbd04b20d3f02000e3f6ff39dbb486b36bd5845013f5d5c033fd90092bb1ac21ebd2f23db3e3000e33e8c9581bb2e412abd8f40b63ed40fc33e8a3b4abb7229fabc0c8a8a3e0751973e6aebe2393be227bdbfce4a3e8f1f743e3c02a33aa10913bd2d61f83d5066273e0c84723bc91a1abd8fe4403d5c75c63d45db6a3b329ddbbce49d71bc00d2c73c9a4a06bdd8cd64bb000000000000000091031abd1fec9bbb0000000000000000d2b4d1bc0720afbb000000000000000039d0a7bca0f3a4bb0000000000000000113f16bc7650b3bb00000000000000007e06f2bb6c78debb000000000000000029920bbbeb6ecebb00000000000000004b488c3a2d2ed2bb00000000000000003733273baf4eb0bb0000000000000000967a803a0dc065bb734e5cbbed65fe3b35bc8c3b8be10dbb2121e4ba07cb113c4de5533b829708bb5d47a3ba8d80173ccf763f3bdb4eebba4a7e88ba4bed133c996d2f3bdf181ebb570709bb2ec3033c8b91b83a5d41edba8b8641bb3955ec3bb7320e3b55c327bbcdf795bbb811b53bbbc6183b82882ebb5a67c5bb0654553b4450d338bcf211bb95f8b7bbfd9b4e3bc729b73ae4c8a5ba19ca183b8f7ea9bc719f33ba56d101bb82ce363b9b3cd0bcc6d6103b2d83cdba76f4733bf645b8bc06082f3be8c4c4ba49f66c3b3bbd9dbc9671833bc48096ba772f433bc8bd7ebcdedb993bb67e07baa42a973bc4b43abce676933b5af02abae02f973b3b3604bcc5616f3b8bd84cbacd3aaa3b7746afbbdea1923ba4203e39b822823b307c65bbe444a4bc42a1573c1f40913aa9e884bbd2fa10bda985bd3b4c4f4b3bba782abb980d19bd9f95203b2763cd3bced260bb66010dbd8a7e7d3a1364e73b08ab24bba601e8bc814f013bf8dff23bdb1d13bbeb6cc2bc868a843b5230fc3bb4ff71bac9b191bc91add93b809dde3b45856aba8e3a53bce717273cd2c7d03b60087fba613b00bcc576113c6a80d23b62489539853110bb6af207bd5223d23e7bd7323f1da5bdba101533bdba44bf3e2e10263faba611bb258e27bd3b06a33e281c103f6af0c3baeda21fbd981d853efc1af23e211255bafdac12bd2dea4b3e1179c13ecfc2d63a18ac19bd46400e3e34f4933e2c2c513b405509bdbf0ca13d2de5493ea7eaca3b452b01bd3be3b23cd1bee03d546dad3b064ab2bcc8a5afbc9bd7a13cd0d509bdc29794bb000000000000000086f31cbd8fa180bb0000000000000000e2e6e8bce289debb0000000000000000285d91bc7735fdbb0000000000000000269318bcb211f0bb0000000000000000abce54bba3b9d0bb0000000000000000fb5c9f3a6bd3dbbb0000000000000000e76b8f3b21e3f0bb00000000000000009f34963bd9e080bb000000000000000038b1353b56fce4ba2e3783bb50abfe3b7b127f3bdb450bbaad4037bbee3a223c8d1c233be94013b70ebba1baa0370e3cef3b3d3bcce934b9c611b4ba5d12ec3b6e1ec63a7cae8fba0f1f29bbbc8cd93b0043183b07141aba795c6dbbb660c23b9981da3ab36c8bba3b508cbb009e913b7e73153b0049aaba3271d9bb79db263b2b59913ae92ec2baf7f3cdbb1775c83a7fb3e0396047b0babce4623b81ce7bbcd23e1e3af324d8ba8304b63b7cc49bbc76a0ca3a9e69aeba6b3a8c3b2b9073bcc6c03e3b64e78eba5bd6963be60a5fbcbda7703b4f97d7b98531433bf26517bc9de6863b985d42ba90fd9b3bef96efbb4e36773bf37b31bae4e8803b01d074bb00a7543b6c71cab9f4c3963bc10e9aba00e1673b5d7418b9fff0403b111c08bae715e8bc276edb3b57a9093b669f83bba9cc2ebd755bd7ba34c28d3b55e081bbab7718bd0e72cebb4287b63b749f22bba68919bd67f901bcf50ef43b294ce6ba680cdcbc9f3f71bb8c01de3be3cd27bac4efcebc06ffe1ba714ad43b3df89ab9df8b8ebc153a173b6018ad3ba8f98639fc295dbcb719fd3bf272b43b946aaebafc0601bcab6e253cab11933b19379cba9364cd38718ffbbc12c2893eb509583f75f1453a79af25bd5cc4783ee605483f7ce3f739dea208bdc7e8503eef5f293f340d613a6b810ebd5ec6283e8de00f3fba02653a65c8e0bcc207fb3d1c5fe03ec5bc4c3b8d6bf4bc59c2a13deec0ab3edac9863b25e0cdbc15bb213d260a643e592ee03b97a3c0bc68a697bbebbbf33d0353c13b96a67cbc468feebca6ff6c3c07b908bda282c3bb0000000000000000187c10bde1ddf1bb00000000000000000fa0a1bc0c76edbb00000000000000005b8547bcc87404bc00000000000000000b585dbb2957d2bb00000000000000006d11c53a8880e0bb00000000000000002557a93b9b0fc4bb0000000000000000854b183ccd88a6bb00000000000000005a20e83b87a3a7bb0000000000000000b225333b9a9b213abfea84bb4adbf03b209a783b36115d3bbb7bddba4583143cbc7a663bcf883e3b3e743f3a96a0243c3c38003b25cd163b21eadd38a78e0f3c1f98123baa7a713a45c1d7bae03bca3b2de1f73ab13f563afdf027bb6210a93b3d0dd03aa52b83398f778cbb6b44603bbe138a3a9d7bb638fa8ac2bbe83fa93a6f03413a4f0d7bb96c5fcfbb7775eeb99d46b3b9e88385ba9cd38c3b4e4323bcbe8c49bab8dd8aba632cd33b753811bcd651053abad099bac2387f3b73201ebc7b9a3e3b64c8b4b8c11d6e3bcca3cdbb8e3c563b0490d0b94fd4713b728b96bb0519763b03179fb97c537f3bc16d01bb4a32683bbbac5bba489f5f3bca2e383a9c08923b721f83388cbf603b2a82693b0bea253b55e532bae361363bbe60653b093e15bd5f5e82bbf20b803bf37173bb807943bdaefd93bce26c883b3eed1bbb04a533bd11cdb4bcb9f9b43b6573a3ba3ec71ebd653d9bbc84f5cf3bd7c3063a201ee5bc050359bc2c5eae3bcdfa483a7b27bfbce1e117bc5628973bc3e7bd3a314488bc429825bb8a803c3b918bd83a9c6e39bc49b3803b2590363aee3f493ae5d0e7bb9f680c3ce9f8123b5b5c2b3af958cd3ad843dcbcb72c043e5da27d3f6606853bbe7b05bdf4f4e73df1c7673f423d5d3b3b85f4bc6254c23d4774463f2f9da93a60fcd5bc3c41903d1431243f97880d3bb896b7bc03f7473d6d5c003fb7526b3bffb6acbc7b0ab93cb21fc03ee541a33bed328ebc9d034fbb385f7b3ec2e3e33b267a61bc0a46e2bc8138f53d2af2d23bb9cc0fbc52ff1fbd49546b3b50b8e5bc5b5608bc0000000000000000e0dbcebc2d590cbc0000000000000000465043bca2250ebc00000000000000008d8484bb37330fbc000000000000000008b37b3b39c4dabb0000000000000000fd0c0d3c7ebdc4bb000000000000000062113b3ccc64a8bb0000000000000000ef70653c496993bb000000000000000069973c3c827f7bbb000000000000000000000000000000000000000000000000cb611c3b9860423bd0dedeb8ecfad73ba5d9073b5e873a3bcd749f3a1e04b23bbcdf703a4c61143bf835993987f8a83b4cd7aa3acd48b63a28e036ba0140893be47dd839de8fa73a5d67f9babb672c3bfd5ae53abb5aa13a03df2abbeec5b13ae528e13921ef3d3aeda193bb3c0b11390000000000000000000000000000000000000000000000000000000000000000d3884cb9b6b07d377dcf863b808683bbce72513ad91199ba6670873b3ec623bb774de33a1940b339eccf673b825308bb9eb4223b6b804d39201e293bc69d1bba5b68263b7dc747b9a27a893b3a56673a3af5653bd5d7333a7f683f3bdb45383ba021273bdb051bbaf9d9f73aae5cb63b0000000000000000000000000000000000000000000000000000000000000000e06b20bd2794c6bc3ac48e3b44e796baff2605bd8da2cdbcde4d7a3bbc1a26ba812ddcbcf784afbc85b6733b9c7fa43a8aeaa6bc22d483bc507d563ba9b0f03a84bd84bcf6b142bc2c42143baabd213bc15b2ebcdc68dcbbf378b3b84d743f3b8811debb846ab039935e063ab68a183b000000000000000000000000000000000000000000000000000000000000803f92251a3b5c8fa1bc49e4cfbbb3eb7c3f757b173b595c8abc0da000bcb873563f8727083bc85178bc39e22abc16db303f84e3083bd0f954bc12d378bc1a890b3f4c7d643bf04220bc76b8b6bcc64bce3e79377e3bf3340abc43cbf4bc8680863edd22ac3bc0dda7bb4cf51dbd3064fd3d0000000000000000000000000000000000000000000000000000000000000000308705bcb8e511bc0000000000000000e2bb653a3788ddbb000000000000000042dcb93b9aaec2bb0000000000000000548e193cd79094bb00000000000000005935413c9fe85dbb00000000000000006479593cc9b026bb0000000000000000ac41673c721f02bb000000000000000000000000000000000000000000000000000000000000000000000000000000008c62c3ba6d8013bb389eb1397b6bde3adfb59aba3da7e3bad10086394c0cdc3a513a93baa47810bbdd21afb7ec6df33a69326fba943b01bb064219b95900e23aa3466eba067608bb4e339eb92024ee3af878ccb93abc13bbe5216c3a0ec78f3a71efe6b9ca2d15bb89fb51bae026013b00000000000000000000000000000000000000000000000000000000000000006274493a5c5c56ba72c64bbb1c5596bbe7f4933aeb4da7b95a7e17bb5f526dbba768af3a43bb2cb96f2a2ebb31ce74bb6e24cb3a5d08aab879d90cbb74344dbb1aa4d33a802327b9a658feba7b0f45bb13ae2d3b99422e3ae94cd8ba18ab38bb5432013b7d107339f2209eba33001abb0000000000000000000000000000000000000000000000000000000000000000f305a6b987eaaa3b6e2cf4b9eac9d439b0bd09ba6408403b9a7c5f394e0490bac8f3fcb9d7724f3b8fd13b3aa75a71baf307deb9e415433bf283863adb706bba64e782b971fe443bd99b9f3aaeef7cba1defe8b91426f03ae99d053b13e419bb4a32093a791d473b4846d73a9a164fba0000000000000000000000000000000000000000000000000000803f00000000b66b54bb8fa18fbaf26d633f346bc53a756c26bb70827dba4747423f65d90d3be60147bbb1b1b4babf06223f1214433ba44936bb5c29e4ba8a7e013f84455b3b012138bbd0f329bb8d62c23e499d813b0a9d2dbb46c75bbbe31c813eb9812e3bb3841bbbc7c575bbd327023eabc8903b000000000000000000000000000000000000000000000000000000000000000040be1abb1755b5ba000000000000000040bbbeba8b37a2ba0000000000000000f30a9bba2049a4ba00000000000000002c9065ba5871c0ba000000000000000072d551ba358ce6ba00000000000000003999adb8fb21bcba00000000000000006d0322ba6811faba0000000000000000000000000000000000000000000000003e80e2bae53a58bb6de212380052143bc50626bbe30550bbb93a8c397e67373bad7e40bb4a853ebb0b08b13807eb2e3be090d6ba465342bb085189b9da372a3be330c4ba71904dbb63d84cba34ae1b3be0eaa5bab3e754bba1f284ba1f922d3bfdb1b4ba096958bbfef1afba32c9893b9cb4debadbf122bb0daa54ba9e42343bb7428b3998d989ba6d7ae0bafe5da73ad0c8553b05dd01ba874d51bb9716a8bb2f42ea3a31c28db89bc269bb1ca7c4bbd4a4073bdd6fbab9a14e52bb8561adbb5daf173b0c580eb9849c50bb51c49ebb993c0c3bcfc479b9521b4abbefe195bbceea273bea90083b761924bb648491bbff34923be30fe03afc8f1dbbfaf97abb059fdd3aba291dbacdd2c1ba680d3cbbf17bc73aab73d03aa77bb0b60c614bbb67b7f83898fc813b38b9fb3a4cb0c1ba530549b99e1ea93b6addc6392056b8ba7f6714ba3230993bcba5483ac282caba946f29ba13e3903bb556a83a23ddafba8c801bbaf0d1823b39f0b13a55fec4bac2fb23ba750a9a3b498a063b0921a0ba042888b9b679823b6b34ff3adedcc1ba4746313a0ff4373ba846ec3a92b0c63911a928b9621b2a3bc1b8523bf0a69639e6a45ebbe817e0ba0179633f581f023e084282bb7bda16bbdab5473f8c0de83d2ad771bbac4714bb48142b3fd534c93d278772bbaeb32cbb747c0e3fc404aa3d9d5879bbcfcd53bbd3b1e33e09548a3da17979bb0b0a8ebb2721ab3e9b2b5a3d9e7b57bbdbdd9dbb88e7633eab0d183dcdf620bbaf9b9abb3623e73d3c6bad3cc85a35bb7a3d9ebb33d1733a5d7ace3b0cde23bb5557e1ba00000000000000002ee735bb0c63e5ba0000000000000000295114bba51f06bb00000000000000008f0bd3ba862f0fbb00000000000000001651093ac0fd25bb00000000000000003e618dba2ed91bbb0000000000000000d81389ba8f7e3ebb000000000000000053ff99ba8a8ae8ba00000000000000002c9c493acc024dbb00000000000000005507e8b9383aeebad3d3cdba646a3a3bea07f2baef3878bb5c1592b96b89543b2b34f6ba006698bb7a382fb883ce3d3b0fbf10bb35da7dbb8d9c61bace0d473b1548d5ba859a3fbba71e5cba622c1a3bd0efdcbad66a68bb31f5beba28fe223b5c54c6b91a6822bbbfc435bb2082363bb31914bbb6475cbb7360d4ba87eb2d3b0e7318bb1137e9ba246586ba74b8e03a172eed3a95a6e6b89272cebad9b8b5bb78a7103b5fac52b9803067bb204acfbb2696233b9e1999b885798ebb26a991bbff79413be7db8939887870bb95ebbabb60c61d3bf5d8af3909cd2cbbf71883bb99392c3bc85fdc3a8d8b2dbb4e5d9bbb84c9503b43f398baa38bdbba4f3d3cbb4aa66a3bb46c553a8542ffba6d8a73bbf124183b0f55273ba2992dba3aad07bbad50763a56249e3b165fc7390ddf94bada8706baf7c2c03be4f78b3a0e30c7bae088ccb90e4ca43b665ac93a80709dba282ba1baab15b53bcd3f093b8a5baeba985f41ba3b4f8a3b9a55023b948588bac24798ba0918993b8b3f123b866b0ebbefb914398f9f943b54b1403b6943f5b926f328b9b2d69c3bfb60613b2a2b4dba7c07f0ba3667ac3b98381c3b61de1bba897185bb39a773bb6796423f70e7813e05138cbbf6a67abbdd5f2b3fe640663e82423ebb666d2cbbde8e123fda0e443ee10e85bbca9883bbc41cf53e78bd273e008a4abb7f1759bbda1bc33e4b28063e163972bbc2cda5bbdac0923eecf4ce3dbc838abb97bdb5bb5fe1433e84e88d3da90e3dbbdd65b6bb9e97c53da337203d1ef1aebaba07b7bb48545d3be83eeb3be7551ebb97f9c1ba0000000000000000487e43bb565bffba000000000000000093ece1baaf0f02bb0000000000000000f842d9ba14c328bb00000000000000009afb74bae82b1dbb0000000000000000c70ced3992d30ebb0000000000000000b8d21b39c59419bb000000000000000090398439d0904fbb0000000000000000c269e33701430ebb00000000000000003867ecba528e3ebb530a50babae0243bf47d10bbaa3b8fbb813a1939dd10873bd95a03bbe27a02bbd8eba9ba745c2f3bfbdd1cbb1ab085bb2cc0c0ba00cb543bf50378ba180a6abb6a85e4ba17ee273b65bcf1ba1c4566bbdacbe5ba77de213b65a703bb74e702bb47de1abb093a013b80033ebab7ef64bbd4cf29bbdce5d33af7cbd1baaf9d2abbb228daba6ca7ba3a6c0c053b9ce47ab9f2af3bbb76c592bb5fa86a3b15d36e3aa12984bb2ba7d9bb6e07183ba2f842ba808ad8baa0d0c2bb97965a3b8dfccc39d32076bb2725afbb5e5a443babfda03978ff45bbb8fe9ebbacb4553bc818473a50ed30bbb81092bb72be563b0344753aa03c81bae71c93bbf593343b48423ab86f9d01bb03bb80bb32a81a3b0163ba390feec6ba5bc32bbb86e707b934c1a23bfc3f6e3a7641a1ba90680d392d48e13b2d4f283bc72d0cbb9579e8ba9410a33b0bf35b3b410b1cbbe9e6f1ba7913bb3b6646323b7ef9b7ba397cb9bab39e933bfa002c3b4b08baba1243b5ba6c689d3bdb05553b68e85aba3a19c4ba5932983b25b46a3b139f3aba7ae4a9ba02d8883b20b24f3b2f986b39a0fb33ba6858513b9bf1283b5815a33ab02f45bbfd2e3fbbe32e223f19d0c23e015997bbaf669fbb2af30e3fbc7aac3ed8768cbbe24c93bb4390f43e8cfd943e248c7abb3ce88ebb692acc3e717c793e7a006cbb98d69abb04daa23e5e39483e36a862bbaf9e9fbbcd78743ebca4183ec8edd7bab5c9b4bbeedc223e05d5d03d16762ebb0466bdbb14a2a23df4395e3d4af1feb873128bbb97db273acd7ab33b497b29bb263adeba00000000000000001e706dbbea683cbb000000000000000052f362ba50b1ecba0000000000000000e60cbbba53b443bb000000000000000056aeacbaf96060bb00000000000000001fd78d36a8a840bb00000000000000004c730a39f75b52bb00000000000000001c35da3a369326bb00000000000000009c3e183ba51333bb0000000000000000d5bcb2ba425045bb79d783bab26f2b3bdc7408bbf03a7cbbd274b9ba9777493bac4fb7ba7a834abbbcca99ba41ae273bba770abb92cd6dbb625fb6ba89d8143b0accd8bad65f3bbbe87abcbaac4c023b16b69fba1b0a4fbbe1b503bbc0b20b3b01d7acbaa92142bba7590cbbf1c5c93a0fedc9babff13ebb22d222bba251ce3a403419bb5b426abb5bc3e9baa90c9f3a0eef173b909bb039c6a136bbfdb788bb98373d3bf48e8c3866ea57bb01f4aebb5434363b9e77833970d13abb4e5c90bb4aba453b7f249f3904ab58bb5984a2bbdd75333b7840373a88101ebb10556bbb77305a3b2ba3a83a8a960bbba4f18bbbb34e463be37d5c3aa6220abb08fb5bbb0bca583b5cfe833af2baddba2cd459bb1b47303b0da3303a92fd23bba3ed06bb4b114aba9be49e3b2dc0bf3a732e61ba0d7fdabafb5bb73b36bc0b3b63eca6ba565cdbbae1d0943b6ba3103bf0cd8bbac872f5ba60d0993b517d3b3b0f679bbaadc0cfba5a376e3b70aa303b1668e2b917a015bb175d903b4608603b7c0f77b98b60ceba5210753bca565b3b91a5cfb9dcf6c5bafc128c3b9fbb7e3bd20eafb9741c8bba9f825d3b15f5523b680010b903e14abb6f0553bb1cc1013f7de1013fc5ed76bbb2f18dbbe43be43ebc01e53ef9314cbb31e568bb7b33c33e8d6cc43eff0169bb00758fbbe5fca23ef02da53e322a28bb1c246fbb41c6813e45d6833ea9c94ebbc7fba8bbee01433e2448493efb1126bb58f28bbb5c72013ebf56073ec6070fbbffde9bbbd328813dcebb8f3d27ab83ba9a1d62bb677741370f20c23befe016bbc038beba0000000000000000ac1623bb973416bb0000000000000000676eb6ba65321cbb000000000000000090b585bac3923cbb00000000000000002adf15b9b1d71bbb000000000000000098f9793aa39532bb0000000000000000e6dc6d3a2c0f1ebb000000000000000082a7b13a43d33fbb000000000000000052f6b13aecbc17bb0000000000000000ea8788ba618352bb0aab03bba9c37f3b14acf6bab6a754bb4d98b7ba9c77813b2876d0bacffd52bb35e4e2ba899f333bfc8fcbbac15e58bb72b602bb1d661a3befcce9baa17516bb7ed968ba7352673b9bd4a4bafafa4fbbab6525bb4ce1003b7d0bf3bad57322bb7c7df7ba1328123ae6124eba76f43fbbdaba57bbf4c05039f1f61bbac4e5efbab2e80ebb9b8c173a2c8afd3af34ac7b89a8544bb040990bb5033193b17c0d03affed4bbbce75a1bb18983d3b4f30203958b935bbb932a0bbd494533b2f5d2b3a116133bb35b994bbe27e363b1a49233aab46d8ba536942bb2b176f3ba568493a7c0018bb8fb68abb79c4313bcc7cfc39f5dcd7bae71935bba2fc893bef64d338701ce0babb0566bb6bb71b3b2146733a9da76bbad76e0abb8d18dab7c226873bf4a2c63aa4898fbabc99fcba6b82953bc1740b3bba6ce9ba088d4bbb29a3913b0c99303b7e2db2ba6ad141bb44fe893b6c8d5d3b9c9c5dba747faaba8cb2b43bf67f623b479a8fba318a37bb233e8e3b2d918c3bcd80a0b8167cbaba821e4f3bb17f613bdaba1aba161845bba6789e3b22c6a53b044065bab237deba97243e3b0c0e543b1a5d3339158063bbe91f74bb895ac23e2e33223f3f505ebbc5957dbb1cebab3e26060f3fadf666bbdf6b91bb38ab923ecf13f63eab3455bb8cf491bb2d5e743e39b3cd3ec6ee78bba92caebb2727423e87f0a43e5e5547bb7174adbb75b3113e47307a3e3b9cf8bab14a77bb4817bf3d08d5273e314e18bb60bea8bb1edf383d0bf2b03d3280a0ba71a360bb5be98cba30adad3b9a3418bbd6a207bb0000000000000000fd4433bb4d7f45bb00000000000000006cbcafbab54650bb0000000000000000152f99b961723bbb0000000000000000484b42b91e203fbb0000000000000000818d763a483934bb00000000000000004b69993ab2264ebb00000000000000007bce433b8fff6abb00000000000000005c96ef3ab34a08bb0000000000000000c57e6e39a74710bbe8b703bb655cde3a2ae608bb096154bbcfd41fbb03182e3b2c12efb89b3e1fbb52edc8bae1e3163b6eeb36bbbe4d8abbda24baba7374543b2d3d46ba49ec1abbec0709bb8eb3a93ae14d98b932ba21bb363620bba667cb3a46ed87ba4be90fbb5ca315bb8d6b813ab3ba2dba672c09bbaf3247bb7807da3961b67bba6522dfba520716bb57c56939dd32023b27dd7139605ee0bae15262bbec4f3a3b2f388c398d7629bba8a6a3bb5d593f3b8f187bba2a0301bbb9cd63bbe3c8953bb5f7b239d7e1ebbac8ea64bbc7fc273b86c28d3aee4aecba1e304ebb73f3593bcb51983ac9f639bbb4c84cbb148d403b48c6be3a93d4abba6ef41cbb0a643a3ba6d3843ab29750ba0ba711bb1aa5133b963eaa3a8c5b4bba4420d8ba89b327bb3a8c5a3b359c85b75f1c38bb3f1f85bb8d808a3baf56503b378381bae52443bbb62c573bfee15b3bb3d10ebb47153dbba677293ba78c553be32862bae58d39bb46c2243ba00f4e3b34ebcdb8b58653bb0542563b4de5853b46036eb8c37918bb6bab413b822f753b488fea39760c30bb2f465a3b0256833b0aebe0396ac3f4ba494e243b299d513b10e55c3aa49d23bb8eb34fbbe66a813e9d09433f1dad5cbb84fa99bbde3c643eddba2b3f862924bb8de5b2bb274d433ebff5123f5db618bba98670bb3ed1213e1622f63e99ed16bb5f3e6bbbf6fd003e6059c43e9a906bbb03f892bba93ec03d39e6943e14d3e2ba3fe06ebb10a5743d311e473e9e67afba2bbc8bbb3165ec3ca7bacd3dcd4489ba74b140bb3da3fcba076f923ba8a166bb9c586dbb00000000000000004682b0baad5633bb000000000000000080ea943994a773bb000000000000000097048039f68e45bb0000000000000000697f903a635b05bb0000000000000000e776013bef4a34bb0000000000000000110b1a3bb3f7e8ba00000000000000009a77323b24c92cbb0000000000000000b0b42b3be9e845bb0000000000000000c445fcb9e73d3bbb3afd68ba4cf62d3b0e710eba670b46b8020aa4bac466613aad2794ba885b1ebb045412bb9bc1be3ac85891ba48e02cbba7af29bbeaa8cc3a913d1eba87ba2dbb2b8721bb95983e3a92d23aba6840e2bae0f115bbf6902f3a5d96e4b87c41c3ba338120bb0d78a4397b15dfb9f3a6f7babed83bbb132c8f38eba1cab9a8bdb0ba0f2f3abb78f25ebabd14983a86d0eab9be2520bbfa4f83bb0f16913a67158c3afab960395d2247bb63670d3b30770e3ac70e05bbbe9978bb1a1c303b2d723e3a6d9bb6ba94874ebbf10a123bdbbfd639794a8fb9ee8b4abb5297243b7e4da13a6bcb99ba8e0116bb06c3263b7077a33ab09611bab63df2ba5c4f283bf36aa53a972f12ba04d5cdba09e4cf3af875833a549bbab9331da5ba11d38ebb78256a3b05eac33a6e51cbba98feb0bb6b2de53aad5a673b942619bb45bb9abb6883583b18503e3bb68729bae9de8cbb65d7c63a4dee5c3b21a679b9c0c1e2ba04588d3a0320463bb6aec6388f8754bbeb08d33ac0695d3b9e10e13984c843bb8173f43a3f2d663b864a043a9f1c32bbfb43183b02cb6d3b022d423a8a510dbb08bc6e3bfbab3a3b269c0c3a44eb48bb06cf06bb68db023ecb58633ff6dd06bbf95f43bb574ee23dcc5c473f453d2cbb4f2087bb7b3dc23debcd2b3fa9e805bbdf7c95bb4677a13d96160f3f8aaa00bacc9379bb84b9823dda67e43ef603e9ba74c762bbe2283a3d94daab3e3e79afba89b670bb4b25eb3c0641663eca918dba508b67bb5132433c2b6dea3dab2773ba8e4c30bb20425cbb75953e3ba708e8baa82939bb00000000000000005f5c08bbd22d0abb0000000000000000beb88c3910ea37bb000000000000000079fcc13a906b32bb00000000000000003282073b290b0bbb00000000000000007a8f2b3b8ad8feba0000000000000000d8aa473bd806f0ba000000000000000031245b3b8a99e6ba000000000000000046802d3be846c7ba00000000000000000000000000000000000000000000000091282abbfe3382bad61cbfbae994943ac46248b9b08351bac8939fba59deb23afc64e4b9ae7d81ba07eeb4ba11105e3afe1c30bab0539fba5a2dc7ba2068293a0dbe4d3a52b818bb60cab9ba1c212739a6a80dba6df928bab051c8baafad66b853dc363a17dabfba154621bb50b93dba0000000000000000000000000000000000000000000000000000000000000000f636e13a31d31c3ac63d2ebaf29b11bb5332193a6518ea3ad094c2ba135af9ba1fe4de3a3900363a055f3dbaf7feedba4c0be23a2222403ac7e04cbad3d9e3bab582f03aa245793a7d4bebba351c7aba2cedc73ac6b3613ae9f6d837632d67bae563553b17b5103a3bdd37bae24c8dba000000000000000000000000000000000000000000000000000000000000000031ef82bb9bca063af73c143b25ffceb9a2da42bbf583ab3941bab33a50534dba65795cbb6068b3385546193b585d063854732cbbe234183902a3183b5f79a039366c1fbbc8e0da39d1a6283bd638283a66c80abbd8262f3a57ca143b4aab0f3a803022bb54dc3a3b82e90f3bfe8f0e3a000000000000000000000000000000000000000000000000000000000000803f498bb8ba145435bbd043123a8eff623f12f9ab3920e00bbbb45f393ae49b423fd5b3b1ba78da28bb72f7a4b91728223fc47fa1bad35421bbcae66fba049a013fb26b17bab89810bbf2a8e5ba0d92c23efbe425ba410008bbafc61bbb5ab1813e736453ba3aa62bbb09377cbbd485023e00000000000000000000000000000000000000000000000000000000000000007fbaf339d812f6ba0000000000000000f5b2bc397da00abb00000000000000004469f03a5b1ee0ba0000000000000000e2f41c3b1ce7a3ba00000000000000003c702c3b3fe0aeba00000000000000008f7a253b1a4695ba00000000000000009d1f303b1d8aabba00000000000000000000000000000000000000000000000000000000000000000000000000000000eb60b6bb162e443c8e9aa33c7b17183bf7a911bb861f483cb1a9913cd959663bbab33d36bfd4133c18454c3caa9a453b44e5913ae016e83ba735233c971b763bbcc823ba6b57cc3b7df0043cf9575d3bf7a116ba56aa833b161a943b5a558c3b9a6b99ba17a8e03a79dc033b7e5b663b0000000000000000000000000000000000000000000000000000000000000000cb70703b99b2e4ba2e930a3c2530dcbc8591343b6eb148ba336bd53bd7cff2bc2377403bc05fa4394341763bc4ffeabc69f6053bfe5e44b97374343bc955c4bc92571c3bf866ac37a24d2b3b308b92bce59abd3a638004ba3440153ae9e0e2bb9a1db33a6b0949baa8dc95ba5444e93a000000000000000000000000000000000000000000000000000000000000000010590bbe739cc7bce9073d3bd384413a428903be7191eabc5ac6143b0a1f5a3906d0dcbd7dc2eabcbe9ecd39fdb10bb93539b3bdb517e6bc1bffc73902f6c5b94d8284bd03a5d4bc550a463a176e79b9fe8e2dbdbbe9b6bc27ee223bf2b206b9d0f77cbc71e978bc1854533bb290aeb90000000000000000000000000000000000000000000000000000803f00000000b1140e3c310199bd66989e3fef583cbd836c943b251d46bd3ea2833f7cb364bce588b93a9bc10dbddab7543fac439b3b0593363a19c4edbcacdd213f7912563c2738533be74eeebc5366df3eb15a583cc8a2683b0257d4bca0f17c3e340ef43be4eec43b9612e3bc6f17853d2eac19bb00000000000000000000000000000000000000000000000000000000000000002da648bb9a17e53a0000000000000000b66b07bbc8817f3a000000000000000073be59bbe76ffb39000000000000000052a554bb4e5069390000000000000000a3f310bb1928d9b90000000000000000a5859ebacc38bc390000000000000000da738eb97e508d380000000000000000000000000000000000000000000000009089b9bb28f2e83ba90f4f3cbbd5b539790928bc276e7b3c5b86c63c6aa3b53b0b4ec0bbd682763cb167bb3ce137ef3b4d2c00bb803a5c3cedb3993c655c003cf80648ba529b243c488d593ca476c33b675cc5ba004cf13bb4af303ce94cfa3b161506bb1354d43b84a1af3b3f99f63b20554cbb527d033ba82d033bc1dcaf3b41ea09bb6a2147bad6b403bb58a01e3bf48c6e3acd7b17ba1800533c4911d7bceec47a3b759a08bb6fef673ce5ccafbc11744e3b205a8aba54dc523c764901bdd3aa5c3b42623eba07e2233c218700bd0f78333b8cb0ec39005e003c84a5d7bc960bcb3a570720b9e51ab53b3a6287bce61cfa3a1e3a81bac1a6cb3a31f5a1bb30909c3af630b6ba63085ebbf544c23bf8d49cb9b5832bba8686b7b920980c3cafa8a7bd50aeb9bb4fbdb9bb31b2113b5b4d16be7021e1bcc731a8ba51aada3ad46819be763a11bd9f3b84bb40a71f3b8aa805bee1091ebd419fafbba6e6113b4fc9cfbdf0f70dbd4d53aabba9eca63a06089ebd4b700bbddf9549bb75b5c03a635047bd1472dabcf2d76139a8929c3ac0ce7bbc1f4685bc3d251e3bc6c4ab387d8a0c3ca7ada2bb69b4623b3869d4397c3d873c35d306beaf839e3f0caa9f3debe4af3ca2f110be5786973f27c9a03d8003503c3b4bd6bda1d9813fa8e1c93d1e2b083cf7b6a7bd9cf8503f84cece3dd4b9db3b809e84bdc0ec1b3fc949bd3dd1b3053c64f56cbdde92d43e7d9f973d6f1d233ca20e49bd4673653e0488493dd8916a3c1bcc07bd15be453d7e40aa3c86f8453c0b9106bd04d08abdea2d30bb28b9f4bc9f25b33b0000000000000000a369d1bc7887ba3b0000000000000000044ccabc4a894d3b00000000000000008ebba7bc8240163b00000000000000006d2293bcdd86f13a0000000000000000bb4480bc2dd6803a0000000000000000f5e872bc43295f3a0000000000000000a7422bbc5d26503b0000000000000000b15515bc8b7c393b0000000000000000783238bb4afaba3bc1160b3c691b3a3a57ba02bcd8574e3c7912693ccddbdd3b565f99ba91e60d3cc9e17c3c8273d43b8cb502bbc78d3c3c0bdb683c3f07093c7beb5dbadb4f013c60a7283c2366c53b2d0102bb21b1df3bebed033c8dfb063c5bf9ddba2fb0623be1fd8b3ba716bf3b5ea65dbb195cfb3a1633963a880bad3b9ee309bb655f3f38bd3b1cba9b56dd3a0eff7139222891392ed9463c6da1f3bc2033be3a2932e8b9b22b933c202bdcbc12760f3b471c733af0452d3cb672f4bcf8d62d3b50352039c4d3333ccb08e7bc5e7f063b57febbb888d7fc3bfcb7b4bca237a93ab51d253986c9d63b364751bcd44f7e3aa66c92b9fc9e803b7ea39bbb25609f39d7f9cbb9cdff5238b14baf3b8bbfa3ba195b96badbc3383a816fc43bf44e5fbda06e40b948e765bc5d52703b63a4f0bd3ae5bdbcc3a681bc49aadb3be5efdebdc0cb0cbde3a651bc2490693abfafe6bdef652fbd66e94bbc785c673bc9bba9bd061d13bd557414bc26c3333b352b8bbd15810ebdffba05bcb57a3e3bfd0f23bdb5d8cdbcd4779abb9e93263bcb0e7abcb1a08fbcae0cd7babe4d033bef82683b357b25bbb8118b3ac282ed3a150d823c674f04be7e91843f239f853e42f0a73cc6a71bbe0a1c833fb108843e3d50433c65e4d7bd50da583f3f07803e17bf313c6969c7bd0cdc363f840d643efc7c0d3cc3019bbd3d4e063fe6ce3c3ed077493c7bd391bdab23ba3e251d153e68243e3c4b4867bdb5e0523ef1e2c83d72ca853c68fd3ebda68a553d4f1c483de5b4553cf1e906bddc6d3abdeeedf43b93fd64bd7823e33b0000000000000000734c78bddea82a3c0000000000000000168f3cbd3048013c00000000000000006e0a2bbd08689d3b0000000000000000059200bd215b4c3b00000000000000003d58f9bce9be913b0000000000000000e80ad2bcd43f603b0000000000000000f908c0bc7421ca3b0000000000000000467d8fbc91997c3b0000000000000000629dbfb94109933b2bda763b5198973bba3040bb9ed6223c4dc92f3c2acfdb3b34b80abbd459323c07ad4a3c5bb7323c5d0f98ba3aa1143c0997373c9674353c52f2d939f92be53b95a80a3cceac103c6580d2bac488e83b234cd33b92c7143c8c6216bb46f8713bbbfe943b78d2ef3be8162bbb5123e739941f213bb9bd723b3653b4bae2056cb92f9a9dba3c91073bb47c35bb6b8ad53ae72d293cb3abf1bc8f54703ac175643a9e96553c7eadf0bcaa93173a2bbc9d3a95523d3c22ebe0bc8531263792bebc3aa1571d3c3081bdbc19b2b93a8df5a93af424063c16af9abcb7ac3e39eec33f3a580e013ce69840bc9ca7543ade384d393e1c793bfe9214bbef93b0b973a63cba2aa5083bcf70b23b1756b1b9666ac9b81664273b26d8973b56122abd9d85a63bbaf3babcc6d0ad3b96abb9bde37dddbc55c7bcbcbd5fc13bdcc6d5bd6e2735bddc4ab5bc448ed03b0d01c3bd85643cbdb8a497bcb7dd8c3be1aea0bddfda2cbdc38786bc1602503b465a78bdb89c1ebd22946bbcd591a43b9b5d20bdf760e3bc54411dbc5c085e3b06a780bc643763bcb24c9abbc90e643b0a5fc3394425b1b95f11d3badd08193b3be82a3cd52fe5bd8785563fa3f6e63edd2b9a3c31a109be119f533fd409e63eafc25d3c2e4fe5bdde8d373ffc1ed33e17ae3d3c8ebdbfbded12143febecb53e5d1c213c0697a1bd0128e03e4ce5943e37d4263c34f18cbd736d993e5855603e79a7553c8dae71bdd17f283e5dd6133e7943713ca6ec45bdd4be3c3d0c75913dee052f3cc5c80abda1a009bd64a75c3c079a9cbd2344f63b0000000000000000431fafbd52984e3c0000000000000000576f92bde466393c0000000000000000b41e65bd1946c63b00000000000000005f663cbd16c8a83b00000000000000005f6725bd6808943b0000000000000000b25a10bd937dba3b0000000000000000141406bdad06e83b0000000000000000a7fbbebc5ffe983b000000000000000079f5483aa80e663b3084123add080c3ce143c9ba54a1f13b33a6ed3bc028303c69118dba3929033cb0d2183ca3af483cc1b873b8ce6ad93b2814173c4941463cd0d1173a85e68e3be608a23bf16eed3ba44d46ba42eeaf3b95a9523b2b4d1d3c47b2baba12c2343b56403d3b79d5d13b62c801bbc941ba3a250ef4391aa2603bee4798ba6c2e2e39e5097cba5ff2fb3a224c65bb1d16ff3acf64053ca362d6bcaa30b0ba5bedfe3acf042a3c9391bfbc8be929b9a695e03ac63d003c36cea8bc06edea394540553bc506143cd17999bc88c15339a8ffa23a53749e3ba2d066bc75ac6e3986f78b3a28bdc53b35b104bc2da07f3a02671c3a5b33893bd54702bbb0850fb8b5e046388b3e1d3bb009613bbbd52fbab2cf84ba6587533bce309a3b79e014bd84f92b3a51cedbbc266b893b80d097bd953511bdcd8af2bceece053cf8e1a8bdf9174fbd958cd1bceed98d3ba3d1a8bd522266bd45e7ccbcdea9653b4abf5cbde57b12bd82f38bbc5b2c333b48ab54bd754c21bd8c7495bc9f80733beafe01bdac08c7bc068355bc8b0d833bebab6abc5b5f2abcd4e60abca0258f3bd27b10bb0981813b13918bbbfd20693bdfb3213cb2d2c2bd9215253fc0f2253f30bc6b3c4d46e1bd41921f3faf5c243f9c86303ceefcb5bdaeef083f0146113f06e11e3c9a7aa5bdf2dde23ee5e3fa3ea7a99e3bf1d865bdc04ca33e4ca1ba3e12a71b3c44b97bbddd096a3ee823943e034b1a3c9fc342bd35a7fd3dbe07393ead3b333caf661ebd76da063d6e2faf3d2e38103c5706ecbc12a2fcbcf6962c3cb318c4bd492e113c0000000000000000616ddabd875b5c3c0000000000000000af39a4bda9ea133c0000000000000000d5668bbdefc4043c0000000000000000862926bd1ad9493b000000000000000038af3dbd1a7cbd3b00000000000000004f9a17bd1797a83b0000000000000000f49910bda141ef3b0000000000000000427edbbc6b34603b00000000000000001ed9fab9bc5c593b523ce8b9728e283c017814bbe6df9b3b01a10e3cff097c3c38913ebb477d0b3cd1d8303c5422873cf79403bbc455e23bb286143c6233753c541503baa424d53b41ded63b0712533c801dc4ba3add883bc51ff23be128e23bfc1a56babf7c633bac4c563b68f7f93bba8519bb4530bf3a44a29e3ae64b503b335d49ba09b07e3a6eb11bbb956e013be03586bb6223103b54abbe3b16e686bc3985bfba5ed2283b6fe1f73b95c13bbc3f7d9d3796cd183b529abe3bc01e33bc7079813ad6d7133b0403c73bbf39fcbb851cec370ceffd3a00d5a93b2ef308bc7c19693b9dda323a93c0943bec1a6bbb60c2743ab7f7813ae3d3913ab269423b3ed6c4389505f2b980340b3b4c286f3b3a852fb93fd83fba9a83f4392c81a03b05a807bd60ce18bc015ce7bc324ba23bdc0187bd7c256ebd88770abde139193cf7319fbd4fcd9bbd776101bd215cd53b915994bd525c95bda5c5ebbc90f2c53b68dc7bbd127f73bdf82ad6bc165f963b97253bbd17644bbd2979a6bc78ae853beaaf00bdd40ff7bc2ff48fbcffc18c3beeee57bcfc8533bcdfb531bc117c993bb9f9e6bac911003ca2a196bb2a977f3bb779023c8fac9abdd241e63ebc37573f2aaa593caaf6b5bda31edc3eb112583f61243a3cf1669bbdaf63c03ec87b3f3fac0c133cb60588bd8c8f9d3ec6c71e3f549e023cfa3f65bd63616d3e4eedf73e45540c3cf6ed3dbd599f1e3e8291b23efcf49a3b258516bdf35ba43daebd5d3e5a3f133ca3b1e3bc3594673c16a8bf3d60b1b93be3529dbc2c2ff9bc9ce69b3a1ee1e6bd5d662e3c00000000000000009ef503be7900913c0000000000000000b12bccbda57e573c0000000000000000474398bd54f3ff3b0000000000000000cb666ebda5cde23b00000000000000007d3e42bd7890d63b0000000000000000ec072cbde394063c0000000000000000f23b1dbdcafe083c00000000000000003716f0bce36cb73b000000000000000008b081ba6795dc3a4ceb023b6c9a473c46c245bb3767943b3a8f0e3cd2089a3cc167dbbaf284943b46371a3c7f36913c631a15bbdb88c73bea962a3c2412973c3de129ba1a809e3b0c1cd53bb4904e3c0a9e07bb12e4923b201bbf3bc64f463c09c4e9bab30a353b9466163b3c66ce3ba9c42bba4a12c53a75ab893adcb4253b928b48ba4df520badd9cac3956324bba98be45bb1178f03a6c66203bc8f68bbb3234f2379aeeda3a3db02d3b8a06bfbac16f8f3aab9cdd3aff1d4c3b9d1128bbc69ec83a5adc1d3bc711183bf1796dba982a013bd4a5e73a66b82e3b8ce550ba2310fa3a3a290b3abe42313bbfd0ba38dd7b473a08dbc33a7a10063bbc3d1c3bf0bed33a79153fba5de349ba5706833b67a59cb9da0523ba774ef9390eca0b3b55daffbc802ef1bcbf1ae5bc5883ed3b8e1f62bde179b3bd223e0bbd123a243cae747abd6e0bb5bd1b54f2bcf7f1a93b9c9481bd70b9c2bdf77905bd7196b43b7bbd49bd6e968ebdb2cdd5bcd02d7a3b85c72abdecc06dbda104cdbc43cbb03bdd12cbbc648afbbc065e72bccc90033b107a12bcf9b439bc343f4ebc5b9bbc3b48ee823a099d033c3c7ab2bb0d8c903be867033c3c5d5dbd61b3843e9580843fe6ab303cd49d77bdcf29753edb80843f825df93b14c347bdec155e3e1aa15c3f385cfe3bec5a38bd3b40333e8c293e3fe6909c3bf02f15bd81a8053e9ece0e3f9e45cb3b37deefbc2ce4ad3d9fb0cd3eb8c3a73b2b69c4bcb8cc263d31b5703ea5a4073b031530bca5fa86bb8ff1b43d3faaa43b3f84dcbb0f8df4bc91cd91bc2fbb04be09bd783c00000000000000004c3410be949ea03c000000000000000077d4b6bddf822f3c0000000000000000d6049bbda259213c000000000000000072464dbd6e99c83b00000000000000000cdc31bd38f8e03b0000000000000000d47b0ebd8369cb3b0000000000000000d13709bdd81b063c00000000000000003808e8bc478ab43b0000000000000000f42e80ba767091b8ef94493b4c9e713c4a743fbb4b7879ba0563493cb85fd03ca2bf6abbcc811a3bc042583c3357cf3cfad252bbbaea823b2b6c533c1714a83ce7c72dbb2aa38d3bce8a093c7bed613cf7f3e5bac49e6a3bb598ec3b67d0473c9faea9bafc94be3ac4a69e3be170003c51131e38b5d002ba253c253b78c0293bc14535ba58c3663915e693ba285e8dba648667b9da6909395e0b32baa72cb33b0138a73b520d26b9e38a11bb77d13d3cda9ea93b46efdf3ad0f2c8bad5821f3c0eefa93bc54ee83a2606a9394e83c73baeb0b73bade73b3b1776733abf099e3b9b07a33be42eec3a6e2903394641833b2ffc9a3b7b677ab6f43a8cb9f30b5c3b8c13493b02c3bbba3e0eabba8830823adb376f3adb93d8ba442a4c39e085463b1059f8bc229b86bdfddfc7bcda55ce3b850c1cbd79b508be9271f8bc54a21f3c64425cbd91980dbee02c0ebdfa94c23b888850bde6b7f9bd71770cbd7d60673b64372fbdafd3bebda98102bdf34ceb3ac20900bd07c193bdad93e6bcd79e8e3b6cec8fbcdb4038bd6b5eb2bc9fe5953b565394bb61bf4cbc841534bc19398f3b31dc5f3b77a22a3c14a780bb5f0d873b6a50c23b560aeebc03ee9e3d4d869e3fd932cb3b7faccdbc71447a3df12a983f52e3f13b759cc2bc0691883d81aa833f43fdc03b859cbabc8d7e6b3d3530553f26f4803b470999bced082e3dce5c203f8a0c353b07f941bcae969b3c7a2bde3eb69ec73a21cbb8bb26a000baf7a37b3eb22292b6ec99193b311e55bc8cc9883d819859bae9c98d3b398706bd04f95abddab405be9d247e3c0000000000000000a3f704bee4d2a73c00000000000000004ac8aabd4fe2403c00000000000000000c8457bd40e00c3c0000000000000000c46003bdf21aaf3b000000000000000030d8cbbceddf613b0000000000000000c5a2b4bce0d1963b000000000000000064e8c5bcfd9a023c0000000000000000d472babc2a38943b0000000000000000000000000000000000000000000000000eabf9badd3b21baa78e3e3c1040a03cc7f519bbfe00343b14c9513ca2d8883c3a1a0ebb056b9c3bdd02113c84d14e3cf8e3a2ba7889743b6f43043c6dd71c3c1672b2ba5e8f4f3b479cb33b48eecf3b54956dbafa509f3afdcc8c3ba708a63bd91a3f37b9417bb85a33c73abcc9963a0000000000000000000000000000000000000000000000000000000000000000e349833bc1e8f73848ce67bba809613c0a47a13b339d853aa41b17bbd9ad1d3c5f58903bce5ecf3ac4364eba4255d03bd650653b628fb73a57b715ba5a12b93b50b3813b96ff943ab0001fba5d43943b67ea913b3184983925b4afba9ad9503b8b3b843b383509ba0c3b5fba03af1a3b0000000000000000000000000000000000000000000000000000000000000000167215bd07de09be66cdc2bcc67b883b593416bd41b502be2407e0bc53dc0a3bb66317bd50c0dabdbb7de0bce9d0893a319af7bce1dbb1bd3ba2cfbc635a8f3a6500a9bcefe084bdb850b8bcdd561d39602123bc423831bddce493bcb9d6db3abf23d4380f258cbcda1532bc50480d3b000000000000000000000000000000000000000000000000000000000000803ff8e5523b337c2abbc6d371bd18cb9e3f3098493bb11c6ebb0a9518bdc4ba833fabbf323bf950a4bbc5cad4bc70ff543f1ed9103b33cd98bb40bdcabccc1c223fec8a813a1c2f34ba19d4ddbcd04ae03e7d38d3b8aa74903bdb46e9bcc9d47e3e7f3542bbff012c3c7aef06bdf4b8883d00000000000000000000000000000000000000000000000000000000000000009dd280bdad50063c00000000000000002f9bddbceb6ed23b000000000000000035d1d2bbbbbb073b000000000000000092190f3b1f88043b00000000000000002e4ac23bc6cfe63a00000000000000005dd9d33a7141033b0000000000000000b088bcbb1a39b43a000000000000000000000000000000000000000000000000000000000000000000000000000000009701a6bba1fe663cb861673c2e7ba7bb6db47bbbfb2e613c7052513cfad96ebb6f48f2ba97bb323c50c50f3c30f9abba9fd60e3afa180f3c876fcc3bbffd173abe60f5ba906ed23b75d3ae3befbd023b7ec5aabacb34a23ba257923b9b774f3bff81daba8efa1f3b7929243bdce5873b00000000000000000000000000000000000000000000000000000000000000007a25e33af85d4c3a9ada013c5df60dbd9f2e693a328a053a39ad0b3c5a8e07bd92817cba0b0f6b3a2450e33bcb10fdbc88d2ecbabdb9483ae344b73be2b1d2bc5fadc2baa027853a6ec7b83bcea982bc66d646ba324ddeb91c9dc53a3a17d5bb1a63e0b960aa2ab9b8194239e4c9443b00000000000000000000000000000000000000000000000000000000000000001d7dd8bdc8f676bcfc0aacba1f830a3a4cc3d1bd904588bc36d98bbaab99943a14f9b4bd8f8c80bcaddee5bae895f83990a793bd942b8bbcd76ce1bad056453a0c3667bd25049fbc06f0d8bac46e0d3ae6271cbd028ba3bc0fd06e3949aaa43afeff7cbc64679bbcb56a923aa05ec13a0000000000000000000000000000000000000000000000000000803f000000003e48ac3b069a7cbd51ab963f1c26c4bced55373b358f3dbdcb647b3fc604b33a8620f7b8358525bddfe84c3fc6fc873c940978bac65823bda0411e3f90a5c53cddc5863ae2372cbd1b12e13e24a2c43c64788a3b817b26bd7cea853e05c8923cc3bca73b961b30bdac1db93d8741133c00000000000000000000000000000000000000000000000000000000000000008176d3bb459d3f3b0000000000000000ee09c2bb795de13a0000000000000000db4cebbbecd30a3b000000000000000091f2d8bb2843ce3a0000000000000000d852c0bb224d1b3a0000000000000000bb399bbb89d6ce3a0000000000000000ec4264bb233f113a00000000000000000000000000000000000000000000000092ecb4bba379243c190ff33bedab0ebb6d9848bc4996a23c51098f3c977ca6baf7cd01bcca04983cf768823cfbdf383abbdd9ebb94b2823cf447503ccdc2eb3a4b2284bb37d33c3c5d5d073c6eb6483bb32d6bbb11a4153c4f290a3cc655a93b8cf3a2bba844e43ba0edb63b531da83b7f999fbb4053393b1299683b2346ac3b7cd71abbc914c2b8d23fd6390a54643bbd456bbad8be7e3a6833423ccc8f12bd837add3a367e9f3a2ae6703c81d402bd0387f53857481e3ac4345f3c4f5015bdd31b9fbad44a503ab467473cfa2407bd287d0cbb8dd2383a5094383c4307cfbc083ae1bab1c3043b2806e13b5d4d59bc3a55be382ae62f3a2625883b428129bbfb081db983ebfcb8d6742abbe581263c6ac36aba25181fb9ec12c8ba67ab1a3ca2b088bd1ca5d63bdd0261bca96a823b0d4dfcbdcef730bcbfee28bcde4c4b3b01bb02be6bb288bc889919bcf5440d3ba342e9bd42429dbccab30bbcfcec2e3b4457b7bd2a1597bc8069e9bb8b31ab3a066391bdfab9cbbcf9a2d2bb49cb913abaa241bd3ae5c3bc2b21cebbaa839c3a18f097bc71a1a5bce5d2d0bae53bce3a6d7f443b498d03bcb89072bae809083b8ccc573c6ad9d6bdf6bf963f61a4d13d8eb79e3c98a6edbd18af8e3fb944db3de4bc4a3c3911c2bdae7f743f2733f93dc7d91a3c7daaa8bd15d4453f9e19f93d2a46f33bfd0894bdb836153fe951e43d9350113c86e18fbd588bd03ed7e3c23d1b3f423ce76d83bdf10d6e3e39df913d3376713cbc014cbd15bb833d1682193dcb085c3c84d431bd866652bd6ad67b3c313906bd0a59dd3b0000000000000000f88ef0bc7a90d43b00000000000000004c8be8bc4ac3cd3b000000000000000070b6d2bcc6f08a3b00000000000000008088b5bcb190723b0000000000000000c52aaabce7f64c3b00000000000000000c9198bc1619883b0000000000000000c15e8bbc0fb59c3b0000000000000000cb7975bcc9e2813b00000000000000004d1c86bba6f91b3c48ddb63afbd4373b53041fbcfcb58e3c6e8a093cec06b93a9a2688bbfd065a3cc496d33b5657843bd789b5bbfe0a753ce55e013c4a70933b1fe259bb9348243cfe80923bc15eb83b95c6b2bb54b91f3c5564973bf73bca3b90f65bbbe3d79e3bc874943aa37cd33bbff2b5bbbc13603b0e51143beba4ab3b876678bb09e83d3a537946ba0ff42f3bf8f885bbb351f43ac0535c3cadfd09bd7d9b66bbafb10c3bf7fa873c54f30cbd870b49bb9fd1bd3ad9ec503cdb2306bde8dd57bbf2cfd13a480a583c6a19eabc50562dbbfc17433af3172b3c1193a6bc0e9d39bbccbb7e3ab9f2083c00f831bc3a044dbb868dfcb78c12bd3b6a482abbc4fb8dba638ab4b941b2d5b92a9b1d3c9a8da5b94c941aba6d70e9391876183cb64d5cbda517ac3c9a62b5bc1306983bb106d2bd1958323b3cb8b7bcd1f7c83b0848c2bdb42ababbc2dc85bcc60e293bb82fd3bdc2c57abc25a485bce66c603bc9b79fbd8fa080bc2eb748bcadf94f3b7baf8abd3d259abc146946bc1134373bcc2927bd7bc252bc20eeeebb3b043d3b519fa8bc468461bc76cdf1bb5ceb4b3b048c00bba1b51fbbbdf958bb882b1c3bac08713c5d3de2bd86377d3f3d768c3e6e789d3ca16005be717b753f8aa28c3eec3a443cb9fbc5bd2cd3483ffd16863eb13c5c3cf89ac8bd6d3b2b3faf08783e0f9c243c8c79a5bdd49bfd3ec0b4523ed9ca703cbba1a5bd4b90b23e2a33303e76554d3c72b486bd30864f3e3ca9f93dbdf5893c245f6cbdc257653da3a59d3d85977b3caae026bdc16633bdd73ef23c5e7d69bdd343233c00000000000000003e457ebdee544f3c0000000000000000c55645bd5d44ec3b00000000000000009ab03dbdc64d063c0000000000000000eead1dbd1983a83b0000000000000000fc5714bd24e0d93b0000000000000000386aeebc957f9e3b00000000000000004455fbbcc576013c000000000000000001f4bdbcb22e9c3b0000000000000000867007bb1af4ee3b7bdd92bb6371e43b0efdcfbb9fca7e3c9fad823b2141be3bd7d0babbbdf6793c5377b43b5628dd3bd3c7afbbec05643c90eb9a3b0e98f33b4cfd73bb22b5323c5809563bc3a3f93b8f4dadbb0bd2153c8189533bf592e13bf190afbbcc33dc3b7296143b5885d53b32e3bcbb795c863bba90593ab7e89d3b5a7d64bb43d4d33a2f38eeba8c1f5a3b77a7acbb60b6873abe02403ce3cd04bdc294cabb4967573b6d525e3c5ddb01bd156d99bbf2c9cc3a89da4e3cd93fe7bc97e98ebb14fb8f3a48b8363c041aabbc51526cbbd8f0193ac699303cf6cc86bc023f06bb82d6cb39b7b7f23ba853babbda170fbb2cb1bd38339a8d3be588a33a373b9bba71c8f1b8e9f9823aa94f153cea3792b913bb80ba79600d3bfee8e83bbc7f3bbd9acbec3c1f0be3bc9527663b3538b9bd8d17e53bdac3f7bc492eec3b7235cdbd44101fbce3d8cbbccd4fb13b06f7bfbdd50888bc6f74aebc5cf3633b7b27a4bdb11c8abc6c5794bce11b273b554a81bdd90498bc53e282bc4c6a543bd9a334bdc7f179bcc32152bc74e9493b2cb5b1bc71b2fcbbc22a34bc802b523b3182e5bb841a8b3b2e6eadbbc77b023b4d64483c8891cdbd20234e3f557ee63ea7d1a73c38f8fabdac62473fdc5be63e5ece833c146adbbde0532b3f1678d53efa946f3c8241c3bd3c800a3f43b9bb3eb6585d3ccc05afbdb845d13e5ce79e3e9c66693c556d9dbd85378e3ec8d5793e1193833cef6d87bda9b31d3e4d92333eb796863cdac95ebde4fe223d4579d73dd5d6643c6ed620bd8fd11dbd0b25253de7a299bdd463373c00000000000000003776adbd3e626e3c0000000000000000719191bd6c713f3c000000000000000089f174bd9a212e3c0000000000000000bfa94dbd9c7cfd3b0000000000000000c33e37bd433bfb3b0000000000000000d45f25bd2a45f73b0000000000000000f0881abdd65f0e3c00000000000000008de4e1bc954ba13b0000000000000000061564ba1258e33b6c189abb675d173c1b09a4bbf2524d3c5ca0923814771e3c0fdb92bbb7ec443c8adc2c3bd085213c028d7fbbdba9423c3680583b9023193c722ababadd48d93b0808aaba2f09ed3b066260bb5129033c05bf853aa8f8013ccf0c84bbe785b13bb625c239fb12b83b427e9cbbbfa5713b810309baa949803b8deb50bb6100da3ac46645bbec18143b388fd4bb521d983ac8c9253c1436dbbc9783fcbb2b25263bd2db423cdeaec5bc1201b8bbaf09d43a0f6c1b3c266e96bc32f2a7bb9a82483ad5a71f3c765f79bc354085bafd8a0eba4314eb3b050e3dbcde3231bbf760f7b7568de13b3f0968bbfc120fba710630ba74ff883b0ad71e3b9fd82bbab1996ebadd09b83a73b9123cf831b93986d835ba990a173b8384f73b940a3dbd0a6dec3c4a35f3bc9c733f3b5496a3bd6a2f3f3b7d6207bdbc7bd43b7609aebdffc46cbc7476cfbc8fb2733b02deb1bd830cb5bc8179c0bc41ac383b47916bbd9bca5dbc6afa6ebcf1301f3a46c76fbd02d69abce34d9bbca71d0d3be7bd1cbd14e43abc879a70bc5a43123b1d42b1bcedc123bb92f24fbc167d413ba01d13bc3cbc013cd512c1bbeafb7d3ab9ba1f3cb0ccb5bd80f01f3fe17a213fa9938b3cf910d5bd2975173f07391f3f4bbe5f3c4e23b5bddb58003ffe650e3fc2aa653c5366adbd6681d23e38a4fb3ea17c023c6b647abd038d983ec506c03e3fcf543ce9a288bda30f533eb71ea03e73944b3c3d115abdbd53de3d0e43593ebb5d653c8cdd32bd87e79f3c53abfe3d02e8493c7ebc04bda0a927bd0f4d263d8c83b7bd8534453c0000000000000000999fcabd6dfc793c000000000000000065029dbd7cee2b3c00000000000000003d998abd673a193c0000000000000000585631bd5b58563b00000000000000002c1f3fbd27b7e03b0000000000000000c9071fbd4459b53b0000000000000000610b1fbda3bf053c00000000000000000685edbc140e983b00000000000000001b9bb3ba5466c73bef3db4bbfe04473c533dbcbb8aef423cbf5bf83ad1c85d3c7855ccbb0aa7383c6911c33b8a3a623cfab3bcbb15a02f3ca998c33be0fd4a3cdb2d86bb7fbe183c06582a3b1b01293cb20896bba93cd23bf88f3a3bf724183c1ad787bb004dc73b925ea43ac397d73bdd3f93bb4b88623b144046b91d646f3b17411dbb170b0c3baf2f06bb74b4c63abcaef2bb7ad7193b4ba5f13bcbde90bc6db505bcf1af4f3b2c69ef3bd7f03ebc9ca6c7bbfcf2113b6a07083c47531dbc2bde8dbb40f4d33ab66ee63bd7fbadbb979c67bbf1678f39f4d2dd3b339557bb3f0384ba1aabb93970a77a3b9218703b586c6fb9d83389b9d068a83ac9b7da3bcb2b1f3a230d47ba62e9e7b9cf322e3c9e9f2c3acdbe8bba7845053a42fdee3b2fd13fbdfb4f9c3cb5e5ffbc5a18613bef1c9fbd4b5380bc58d715bd4f1bf73b3807afbd25be16bd995cfbbcd4dbb03ba111a3bdac9e24bd4b66ddbcc4358a3bc3088cbdf0af08bdf46bb9bcb2ca133b68f55cbdf8b8e4bc499eadbc37420d3bae1417bd305f8dbc864c9ebcc7cd683bfabf9dbc97bf48bbb09281bc36054a3b3d7a06bc62282f3c6c48f2bb6feade3a12a4293cd75f97bd9675e43e46884f3f039f823cd88cb1bd0b98d53ef6194e3fba1c763c3063a0bd2453b63e1aa3383f11d5433c14e78abda893903ec1bf1c3f9c62363c55fc76bd78d5543e5c59fb3e9b033b3c964754bd224b073e655bbd3e3dcd313c529f2abd2639733dfa057e3ecc45273cb794f1bcc7cdbbbbdcda063e694e083c6092a6bc3eab37bd7dfa033dd4cecfbde538493c0000000000000000471aeabd02989e3c0000000000000000682bb9bdb43e593c00000000000000009b2091bd077d2f3c000000000000000041d662bd0651043c00000000000000008c043fbd4ff8003c00000000000000009a312abd1926053c000000000000000078b527bdff1b103c0000000000000000cb37e6bcc2328a3b00000000000000001eb125bb5fbfac3bd235aeba0b22633c9539b2bb296d073c7f33cb3b7775893c3d906dbbfb6ffc3b8666ae3b07ce5e3c85f1afbb41bd1b3c18c7033c4e5b573c671e6dbbfad1eb3b663a7f3b1f3a1e3c3de890bb265cd93b93c0843b9297123ce07034bbafdb803b722a0b3af2baa33b655b0ebb4b960b3b43fb3c3a94015d3b9163c8bab0b4c73aae921ebb2b12b63a4248f8bbc84cfb3a3c5f513befa2abbb0980fcbb901c723ba3053e3ba2ba573ac6cc5dbbac40663a7f30623b64a486bab3b971bb8be2d83a0c57193b5ecd793b8ffd36ba13e5f438c2183a3b0e98443b1ebb943981d12a3ab5c2923ad86cdf3b28f6d53ae173abbafc62963aa59adc3bd6e5f83af22d8cbabb602abb10b3193c8a95d93a03a5c4bacdd308bb99cff83bb4c33fbd8d4211bbe8dcfdbc9186ae3b1f1793bd9b223fbdf4c015bd7e6c0e3cede48cbd7c294fbd5591dbbc21d9723bfa9993bddc8e7fbd999fe9bc24464d3b223b60bd0eba3bbd7c27bbbc593d483b2eec3cbdbda624bdfaaac6bc34d0203b5bdae7bc34f2b0bc478b8dbc89a5233bb12a5abc1c3ebabb3f9599bc20469c3b976d6bbb38da313c2a0223bc85e70c3b26411e3cb9545fbd71368a3e7e3c7e3f3725593c90777cbd9746783ed5377b3fb0c0203cb80454bd110a553e1ed8513fe9092f3c5ed944bdc51b233e60e5383f3519023c2eed1fbdbb33e83d83920d3ffb34083cd43408bd42e37a3d9df4d53e374fe23b0a29cabc45d2a93c2b4a883ece2ca43bda0253bcb942dcbcb9ab013ec8009a3b3e59debb87a544bd7822403cb5b9e1bdb977723c000000000000000069bbf1bd187aa03c0000000000000000365797bd80ec1c3c000000000000000001c683bdbb842e3c0000000000000000e21a29bd19bb9b3b0000000000000000362a1ebd8801d73b00000000000000002977e9bc6d1c9a3b0000000000000000898610bd643b193c00000000000000007ec9e6bc8c77a03b0000000000000000035fd2bab5f1443b424b2f3b431f563ce11655bbf6c3db3a538c643ca736ad3c8e4b7ebb43cf5d3b0fb4673cadc8a03c10b280bbb4c0a53bbb01443c01c5893c8a2676bbd46cd93bee65ed3b34bf3c3ca17a2cbb3cfe523b001cf13bde7c1f3ce1dc01bb8ebe303bd3a4573ba6e6f33bf6902e39048768baa5cced3aa887583bebb483396a21c3b76bd710bb7554863a46cfaebb016a063bd56facb9fc1cab3b73018bbbdd685a3b2f3a81bb6a095c3cd5b8febaa53e933a8039e3ba53f5313cb08d66bbc399803b3da060ba83221c3cc0066b3a2a650739fc007bbae5f7103cfd48063b5630473a8d13d2ba771b1e3cd5bb5b3bfb39d739c79102bb4305063caa51483bc6d90cb70b5f48bb33d6cf3b53a01e3b811d53baff0a33bb3c85cc3b735645bdeb6613bd9ab8d3bc83fa873b8e246abd0884bebd885a0bbd0adb023cfb2f7dbd01f1d1bd475cf2bc22eca53bef4269bdd7aabbbdeae1ecbc114f8c3a2fa540bd968a90bd6de1ccbc2d89ae3aa9900abd24776ebd4816d3bc2a36ee3aeae397bcab1918bdbf71c8bcdf86173b5b30f4ba1fff45bc1fdfa2bc0aa2743b4f32223b10070d3c114a36bcc8895e3b3c63d33be198febc3cafcb3d7775963f673efa3b84eae9bcfab29f3d3c9e903fc220e53bf043dabcaf708a3d84c5793f33aceb3b8557c8bcf455423da9b14d3f2a44ac3b1ddaa3bc310ad63cc8ab1d3facd1943b70c46abc0962b7b93ecbe33e6015003bea3ecebb5dfbc2bc1d878a3e43678aba4f0b853bbbf023bd8f31d43d1aa588397c10bb3b985458bde6c3afbcb176d3bd85834f3c00000000000000001738cbbd6eef883c000000000000000067e87dbddfdd233c0000000000000000aea91ebd0da4eb3b0000000000000000d4fea9bceaaf6a3b0000000000000000154182bcf6cc4f3b0000000000000000090380bc804b783b000000000000000027e4c5bc425cd33b0000000000000000ea41abbca3785d3b000000000000000000000000000000000000000000000000236e02bbfb057a3a8b2a523cd8aa5f3c0c1e16bb5326173b9be9613cccd44a3c346061bbdd454e3b8f503a3cb9f4013cc8322abb00116a3be0140e3ce20bb03b0ab3f1baaf27233b8959d23b804b773b10f039baa25c9735cb278e3ba2c5813b255f8638b23694390c748e3aa9cb0f3b0000000000000000000000000000000000000000000000000000000000000000b3854abbc315303b6e544abbe6ff5a3cd3d708bb1c921c3bbed54cbba097403c1386fcb9d015823a6f144ebab6752b3c24610739fad0dd3900a97bbad9c1133cb4e5023baf71453a133ab9ba277d083c90554a3b04b31b3aefcc01bb1be4f73b3a093d3b1a7831ba78e816bb9d1d9b3b0000000000000000000000000000000000000000000000000000000000000000f7213ebd4748d1bdef719fbcb35a003b9d482dbdd63ad0bda7399cbc51a9d13a0ebc20bd1e3ab3bd87a393bcae146e3aef1902bdc76493bd4ef08bbcb3d2153a66b1abbca19266bd29cc90bc4871133a05960bbc1c3520bd309194bc2c7c3d3aae9ef83aaa2a8cbcfa8075bcdb21643b000000000000000000000000000000000000000000000000000000000000803f8fc9423b0c66a2bba6163abde8b3963f2e97463bb38f94bb036215bd964d7c3fd970443b20a2cfbbe37205bde4454e3fa604293b8258a0bb25bb13bdd2761f3f60438b3a757dddba794027bd4c54e33e45db56bab4ad893bb6e333bda18d883eef7603bbdb62153c313b4abdcef2bf3d00000000000000000000000000000000000000000000000000000000000000007e8429bdd31bb23b0000000000000000ff0753bcf94b543b000000000000000062ae313bee8c3d3a0000000000000000f9b52d3c1b753d390000000000000000af53533c985b45b9000000000000000062c8033cca0dba3a00000000000000006c61f13994218a3a0000000000000000000000000000000000000000000000000000000000000000000000000000000020d5313b95cfee3ab7c1a0bb7f71283af1c2dc3a17833d3b2af0e4bb11e165b93b242b3be4fa0f3bf00cfabb557aa03add7f363b1c6bb13a0fdc09bcf78bf13a0737023b190dc33a9a04e7bb082dd53afb15f839164bff3afa89a9bbfbb4783a28207dba1aa5d03ab2bb20bb81b8a13a0000000000000000000000000000000000000000000000000000000000000000d8faa0ba5f389ebae865a03b5578fcbc0cd702ba823853ba6413b53b412eddbc64221d396a65cbbade14aa3b9f82c6bcac2ce93a27b132bba28aa93b2e52b5bc2693933a858640ba5938c23b469f91bc4e38313a9c43fcbad612b43b5e713ebc744f143a5ce6c1ba3453c53bb9f6f6bb00000000000000000000000000000000000000000000000000000000000000005e24f4bc722d0c3c9b601bbc46d4933a403b04bdd7cff23b9ee0bebb1a492a35f878febc0ec41b3c30fe9bbbf5e8f4b9dceedabcdacd243cc9558fbbfb2c12bbeea7bebc4e5b0e3cf09a21bb2027daba649498bc572db43b5df302bb6ee602baa8394dbcc8d7ac3b82cc04b9419abeb90000000000000000000000000000000000000000000000000000803f00000000ad1e2cbb4020d3bcddc7803f29b6a4baf63645ba86acadbc33235a3f78a90f3cea7736bb6916b8bcb920353f2fa87a3ce4391fbbb044aebcda490f3f71fd9d3cbad7dbbadb0bd4bcf3d3d43e9939a23c3e2b78b9b0aed7bc23398a3eb60d8e3cfe68093bbcc206bd7b12043ed97a913c0000000000000000000000000000000000000000000000000000000000000000fe4234bcadd8ae3b0000000000000000bf3c1fbc0123a23b0000000000000000018627bcc6d0583b0000000000000000b18326bce6796e3b0000000000000000b3da23bc5b68143b0000000000000000197616bc85c2393b00000000000000001b5f30bce25b5b3b00000000000000000000000000000000000000000000000076d46e3bd78d20b7c3aa22bc05c7c33b23de0d3a7101b53b848636bcafcc083b2370b73a7a389f3bdd0e27bcf1efbd3a8db2123b45a1893b3be541bc5d8be83a1268073b57ff753b39033ebc9548953acea4d83924f3913bd9c619bcb7e25e3a3230d0bac8b9963b410607bcd3dc113ac1e696bb0f72cc3b230381bb91e191ba216b04bb52d7273b65a983bbd8fee1395be92e3a2ae74abb5e48c03b868501bde6bf68ba657270bae4cf453cc07c15bd0852153ba6303cbbbcd93a3cb99b0cbdbbc83c3bb4e04fbb40ba303c886a00bd3949773b7ee266bb45c12b3ced4cd2bc892e783b39d690bbb534213cdb31a4bce2b07c3bbb0b3abb59eb2b3c334c65bc84b5cc3ab2ff03bbfdd50c3c859bd4bbd8a39b3bdb5c1ebb3999e83b01038abbaac78cbc24a4a73cd4666fbc7280473a259421bde8a7993cd18650bc30bba43ab16e35bd53108b3cf1301bbc5587b8ba7bed31bdca9d883c89f8e1bb6c5822bb8a9118bdc426833c71fd64bb79305abbc3ed0dbd56c5613c058813bbeb1545bbdbffebbcfc1c353ca77f26ba3bc123bb1348a4bc9901df3b2cb17739454296bae76128bcfa6a193c8fac173bbefd30bb41ea853a9d602fbd67de803f7fb4013eb746ce3b197e51bdffd46c3fea00fc3d8014733baa9239bd139d4a3fe678f83db808173b43692fbde1ea263f09e1e43da21fc83a5a5226bddea6023f00ffc93d3f864d3b9ebf30bd153bc13ebba2ae3d93f4c23befca34bded6d783e820b8b3d280e213cd96334bd429adf3d921d433d29aaf53b749712bd1356e8bb8715d73c6211d2bc7ff3ea3b00000000000000004717c8bcbe1ff93b0000000000000000bf9cbabcf335b03b0000000000000000eea9afbcde1c8d3b00000000000000001d449dbc2da6333b0000000000000000ec42a4bc3a37da3a0000000000000000309c94bcbf84443b0000000000000000b23688bc2cfc493b0000000000000000f98263bc3e408f37000000000000000018c33c3bd6d5123942ab59bc4375073c38f4b73a87f9793ba04385bce1c0c63bba4b173b0426493bb49466bc4fac983b8f574d3a9ccdd53bf68068bc05e7033bff9bc53a9a99623b32fc6abc94e9c33a4bfa7bb92f059f3b1ca561bc636a863928490e3ad001303bbef820bc444e293af87b84bb7178823ba117debb0507c9ba08381abb18bf413bc90bbabbbf6af0bae3872b3b87b091bb02ed383c1a8701bdca37343b47029abbca6e663c137d16bd636ab03bc6629dbba4832a3c0fa1febcd4bcc13b956aaabb2ca15b3cf704f8bca180083ca67bbcbb888f393c187ec1bc9938f63b6805a1bbe50c523c4237a2bcfba3003c454c82bb3a42103c8ab350bcc2ded93b08a296bb410b243c9e78efbb1be2be3b35b7d9ba1f3fe93b1ea222bbc84d93bc8f40f43c5f4781bc50fba4ba8ddd17bd3633f43c4f7d89bc923c01bb24d716bdff13b93cc3740cbcecbc96bbb20f3abd9e8dba3cc8c4d3bb56d9b9bb9d861bbd3d3da53c85bd0abb6105e1bbde541bbd8ee9933c4de94dbaa75ad5bb507ae3bc2da5713c1353353b184fd8bb3ef9c7bc646e533c4376543b8a06c0bb3a4a70bc0353323c1cf2cb3b5ae377bb8b7f273ba34f4ebd60205c3f92ad8b3e74990a3ce6f381bdbc724b3f48ed843e9f8d7e3b469b47bdb9f6293fc9986f3e1f00ba3b88275cbd5816103f42025a3ea75f863b2a813bbdc866df3ec7a8363e4828fb3ba32a4cbdcd50a53e0a071b3e4e92de3bb4642fbd9243523e2550e03df990593cac683cbd0104ba3da311a23dee64353c56670bbd57fb24bc40af0f3d19200cbd46f5f33b0000000000000000630a24bd79c40c3c0000000000000000ceb0fcbcfc255a3b000000000000000039b9ffbc7689563b00000000000000009e33c3bcd2ba2eb900000000000000008f98d7bc3e1eaf3a000000000000000000fea7bc2e1d2cba00000000000000008394b6bc6192143a0000000000000000409882bce4d23ebb0000000000000000c9be5b3b36b914b9f22e84bceb0e393ce34a3f3af44e9d3b40889abceda4d83b515bd03a4eb89d3b555193bc450c893bf977853a04f3b53b15308bbc264cc63a459f95394de7ae3badfe87bc86ee47b98caf99ba4c549e3b2a8a5dbcd10e18ba5d1ed3ba5e0fbb3b0f9238bc903218bbce4796bb9391b33bc6b312bc62ba6ebb2ed1a5bac85b593b91e104bc5d4e22bb1af4e53bba6eeabb9c831a3cb6f4e1bc45aca63b88cbccbbc3ac713c8d2804bde252ed3b807dd5bbb399633c014df9bc93a1ff3bda3203bc93a65e3cda13d7bcac521c3c2283c5bb7a4b563cbbc2a5bc54300f3ce974bcbb8e70513c413c82bc288e1d3c737ab0bbcabe243c12b933bc8785153c58618fbb43491d3c828790bbe92d153cc2f557bbbc61e13bd2c752bbd7a799bcdfe90b3dcb815cbcb15da4bb5cba1bbdae620d3de08683bce28c95bbd63c45bdec45e93c874a37bc71e0cabbfd9134bd3d76b93c6de91cbbdb28f4bbd1cf30bd4cbfb13c77f4ad3999a00fbcca8422bda95b933c69f2243bab660fbcb83f0cbd08ad873c2a69a83bc5be0ebc4786e1bc9d2d703c0c4eea3ba2fe09bc58d98dbc75425c3c6e27073c240ef7bbac21df3ae62b4bbdfbab353f5561d63e2652183c06a782bdf9b0273f6f0ccb3e06e3fe3b42206cbdd247103fe4f1b73e1630f93b22b760bdbbf2ec3e67979f3e5e57e83ba7544cbdee97b83ed363863ed1b61c3c20b74cbd0b84863e6662593efc3c3c3c23e240bd7737283e81e4223e20f36c3ca21f32bdbc428d3d9d63d63d747c273c459701bd288c49bcbbb32c3dea9726bd8918863b0000000000000000deed47bdbaa0e93b0000000000000000c19d2ebd88766e3b0000000000000000c89e17bd6cc9073a000000000000000004a2fbbc2973dfba000000000000000005e9e7bc3fb216ba0000000000000000f18acdbc2cc61ebb0000000000000000d577c1bcd78026bb0000000000000000067a6ebcebeebcbb000000000000000025c4623b7a3f8838858d8cbcbfe31e3c3bb0bf3a6c61873b58709dbcb3c5d83b6e3e8a39cb06973b01828bbc72f96a3bffa86d3a4214bd3b74398fbc88cc443acd09e03901aba33b740c7ebccab34eb9fa9264b91cd1963b8a1d72bc5c8759bb40d124bbb27baa3b5b5c26bcde9850bb2db34abbfb50b93b61cd2cbcb8f784bbbb444ebba1cca33b9f2813bc6f0e96bbd497003c8c14debb82c81d3ce349cfbcc88cde3bfbd7f7bb5a14553c5d03e1bc2b89193c74f8eabb9d33313c7cd2b0bce6b4233c3706dfbbecd24f3cbcc5acbc45462b3c8e18a2bb31200a3cad6b73bcc6a5383ce003c6bb9e153d3c24bc58bccd6d263c635faebb6d87063cd20dd1bb2c852c3ce25297bb9c14053ce3a95cbb8e921a3c44a054bb7a82f33b0df456b9e05bb6bc3a0b173d10a06fbc5167e5bbb8241fbd0891073dcd5d5dbc8bd8ffbbd63f26bd8087c93c06c2a6bb9c7501bc528441bde8e0a83ccbca88baabec22bc12f40bbda586863c96f3903b88f727bc8df329bd2e09853cc3e4c23b1cdd33bc961703bd927b4d3c6585f03b4c9d31bca34de1bca643673c9f4d143c878e23bc890f94bc06b4503c04e7363cbe7710bcdfbf4d3b0b4f40bdfc15103f60ae103fb8c10b3ce72d6abde709033fbfae073fe81d023cdda64fbd5605df3e45f1ed3ea4600f3ca83154bd3f01b93ea503d23ee11aa73bb82127bd53ee8c3eeb62a53e2b3e3a3c6d1a3fbd19f94e3ef7e2893e7829233cd92021bd0297fc3d4685413e956c4c3c241415bdbe903f3dbec0f93d4e72173ca934e7bc701e91bc9c22323d598c3fbd8c64773b0000000000000000381853bd41589c3b0000000000000000a89a2abd75278c3a00000000000000001e8a1cbdc17438ba0000000000000000386ebcbc1cdf9cbb0000000000000000b573dbbca383b6bb00000000000000006c98acbc6445bebb0000000000000000559aa2bceca9d2bb0000000000000000e51b53bc5e7b07bc0000000000000000dbd4d03aada4073bd49c85bcc0a7003c1f51e9baaa24d43b21f491bc5dcb733b65777dba72dcdf3bf26885bcccb66d3a562c18bb953af53b538061bc2b9902bbf7f245ba75f9e13b63f66ebca58054bb731f5abbaeb0ce3b089347bc97adc7bb0cec58bb945ad73b996720bc18d3cebb2253a2bb06fdc63bf832f5bb540bb9bb4299f9ba26a5753b1981febb244494bb3d9de63bc3afd3bb2b11103c7a79a5bcc6e5f03b5997e6bb65fb563c35b9a9bc28eb083c25e3e4bbc8dc363cca4093bc971a103cd31dcebb94482e3c2a2b67bc8cd62f3c2393e9bb1733213c27c63cbccb833c3c718092bb05d71c3cc941b2bb6d97373cab98c3bbdce3f63bd1a086bba713163c8fd69cbb1229bf3b056ece3a059b2f3c831f7ebb0cd6aa3b10033a3ab610dabcdc43023dcaa247bc9ef00cbc549138bd6f3cda3c1bf358bc555a08bc2e1949bd81a6833c8063c2bb3c3424bcad0248bd71612e3c961f3b35fccb29bc810236bda715273c828ab03b23052abccd782abdf13c003c7542cc3bece139bc8b9d11bd95a8073c4419193c265f1fbc7052e8bc603f263cc25d123c5f3327bc1ec99dbc38be283cd239363cc48cf3bb0922943b551b2bbd7e91d43eb5ae363f9349383cae4757bdb74ec03eeff82b3f382b2d3ceefe44bd93f3a33efac7173feea52d3c44243bbd2f93853e8c3d013f15d11b3cfc5729bd73c14c3e8ff5d23e4aa6433c05ca1abdb88d0e3e0aefa43e79414c3ccd9f09bddcf09d3d7b0f6b3e5c12563ce6adf9bc6737a93cbbbf0b3e612f1d3c56ccb3bcb504c6bcc5b81f3d75ea45bde2d40b3b00000000000000004e2f69bd237ca23b0000000000000000a56338bd9a110e3a0000000000000000af1811bdc7b917bb00000000000000005c91e5bc6262ccbb0000000000000000a19ac0bcc802dabb0000000000000000c8b4acbc83b5cfbb0000000000000000345195bc6d7cfcbb0000000000000000788b34bc17511abc0000000000000000503138babb45af3ba52f65bc6ff6a83b69cc44bb368bfb3b1a3b55bc0051c23a242b6fba3e79e03b68c82dbcfa779dbafa6c10bb837e063c72ec32bc5a8792bb742f06bb9a57c73bb5411fbcb8abafbbd2f656bbb6ade63bbd060abcbc3cd2bb735617bb4333a23bcecfe1bb36f0a8bbcd5e82bb33efa53b34ac6fbb6ad3ccbbccfd6ebbf137e43b14dbabbb1468aabb1288b53b8ba7bfbb3574e23baf4d49bc0d6bb53b1a23b2bb446a143c26a24dbc26f9ec3b48e89bbbdbbdc93baeb231bca13c043cbfb9b2bb4bc0e93b72a4fbbb33710a3c0057b1bba60ed63bd0469fbbee240d3c14d593bb5e90ca3bc87b04bb3986093c38c33bbb247a9e3b41329eb952e0ff3b1cc25dbbe9f8213b8a93723bd3c7db3be0a70ebb4445e53a4e45453b849200bd87b8b03c480636bce8ef00bcb2583fbd2c62383c9f9330bcf78804bcddc02ebd72452d3b5387ecba1dfa12bc2a5243bd4546e9ba1dd4083ba0412dbcbdd623bdb6dc53ba3681c63bd8af19bcc1051dbd833c01bb32b0f43b8a102bbc26f7ecbc3ab1fe396156083c982a06bc99cdd0bc9e365e3b2bac073c15991cbc91f18abcaa53e13b8d40033c8f93d2bbfdd9b73b47ea0dbd1e0e8a3efa4b5c3f5e81383c874f2abd021d753e4c954e3f5e7ff13bd79d07bda0154f3e8bd12e3f139a2d3c41a812bd1a86253e7b38183f8b58193ce3dbfabc41c4f63ded78f13e620a2c3ccb58f3bc03eea03da1e8bb3ef649093cf001c7bc328f2a3d18a57c3e76f1303c14bdabbcba6f4dbba952123e0a41e63be33975bc85c5ebbccb1f023de8bc47bd3d52273b00000000000000009d9059bdd42c7f3b00000000000000004ca805bdc9012fbb000000000000000012d1ebbc7c0a70bb0000000000000000968398bcfdf9d1bb00000000000000000bad80bc514c0abc0000000000000000ca9e28bc277f0bbc000000000000000002e94dbc3696fbbb0000000000000000e69f0bbce2ba11bc0000000000000000465206bbdcae9a3bc3821abc739e073a731089bbbe4e0b3c11e79dbb842534bb496e52bb93eae53b4bc1a5bb82147bbbb21652bbedc3e23babfb99bbcc3fc8bb3a505ebbe03fd53bfacf9fbbf1aae5bb7ab86abba514cd3bec3b60bb19e2e9bbe69e2bbb734b9e3bbab422bbd2f3c4bbbe0547bb9add683ba3ab46bae236aebbb38317bb586d763b16f56bb93044abbb4458833bcb4574bb2d10b43bf8b0bfbb1f5c3c3b62e261bb7e5e803b4e335ebbba76523bf91c5fbb7ab5723b40dc3cbba7db8f3b460655bb7d7e923b87000dba5522ac3b5eb02fbbcdd3863bb18668b89c5fb53b2a6415bb3f52403b7662213b8182a53b44b247bb0b9a8c3a0899a03b9c0ba93ba3dc3ebb0c35bdba8df3fc3b6dc6ae3b421137baf13028ba26aea73b46980ebd543bbc3b8d54d6bbe87601bc7fcf3cbdcd7744bc2c19e1bbe884e2bbdd783fbdc099a6bc2c11aaba5cf0fabb021e27bd939ca9bc748a803bc0f105bcc81612bda3328dbc7a24de3b0becf6bb25cf04bde6177ebc3e0fe03bb162f2bb9619d3bc666d3dbc2488ad3b4461f1bb737c8abc8795d6bbd2c9703b2775d4bb38a35cbcbc62fc3ab8e7df3b405eadbb4360e03bc3a4c1bc0b7efc3d46e6803f3911193c696bccbc94d4d73d912a6e3f44bb223c4ab6b7bc5277b23db9d24d3f4809053c5c3fadbc0e45893dfc2a2b3f508cfe3b49309cbcc958393d6491073f83d5043ccb8490bc808fad3cbd87cd3eb53ce13b1e5b6dbc252aafbab9088a3e5c68ca3b3b201dbc253ec6bcf4860d3edecb963b7891aabbb90d12bdd55e8c3c4fcf28bd72f4bab90000000000000000e4a623bdf715ee3a0000000000000000cf29c5bcd11253bb0000000000000000616756bc6e66b0bb0000000000000000391fabbbbe7608bc00000000000000004cb623bb605009bc0000000000000000951d33bb506920bc0000000000000000a135babb1c80ddbb00000000000000007b1cd4ba3ddd0abc000000000000000000000000000000000000000000000000c0a924bbc251d33b0ef98abaf784c8bb04de4abbd4fcc53b3d6caf39099fd5bb22832abb3f92a23bf754b3390d92ffbb08bfbfba3f83963b2c780abbdc4611bc59862bbbcb718f3bc6fab9b81477f7bbcf0229bbfb4f803bd03e053a4306c7bbc76bf2bab0e9cb3af1ab0e3be82e77bb0000000000000000000000000000000000000000000000000000000000000000c7111e3959f090babf554b3a2365963a9336fcb9b484453a442aa73a889c053bfe4f773a1a2016ba82c3ed3a8f39013b8f79253b97b0ef3976fc453a4ff15d3b9981d43a905593b9f7b14c3aadb5813b6677733af9e49c396e1c1eba504ac03bf2ec273a467ec5396fb5abba7971e53b00000000000000000000000000000000000000000000000000000000000000009f1812bdf6a7cebcef440eba1f2496bb009cfbbc0c6eebbc2595e63a455382bb57b7eebc00cde0bc82e8b03b7ab188bb4327d3bcd575c7bced1eed3b275890bbd5efabbce8e7aabc8166c83b65187ebb37e47abc72a888bc1ade9a3bb5eef7bac88226bce1564dbc9774933b446a02bb000000000000000000000000000000000000000000000000000000000000803f9c95c53b58e41fbc77817bbcbf01813f4028b33b975108bc6f905fbcb39d5a3fceffb73b42d118bc708284bc0ae7353f8f4fb43b8e1befbb45609ebc4569103f87e3963b9b70e3bbd7bfbcbc47e6d63e54db6e3bea7fb7bb05e5d8bc0eb78c3ef39b2b3bab0b10bb98bc0dbd3c3e0a3e00000000000000000000000000000000000000000000000000000000000000002dba77bc5fb44bbb0000000000000000808f89bafe8098bb00000000000000001b957f3bbc83d0bb0000000000000000e218093c98830abc0000000000000000efbb213cec44d8bb0000000000000000f742133c9521d6bb0000000000000000f7bcf13b242cc1bb00000000000000000000000000000000000000000000000000000000000000000000000000000000be01c3bb991bfa3a376b323d5bf2dc3bc1e971bbc3188b3bb0c6223d12d73a3c3ddad1ba3a78c33b6b650b3d7eb43a3c75306b3aa39a863b79a7d73ccb41293cac8c733ab3bf733b424e8f3cc48f203cfadbdb3afe69a83a2334343ce39cbe3b0391293b68b802398767203b2b2a993a00000000000000000000000000000000000000000000000000000000000000003ac05dbba11f97bab2ada0b9324f6d3cc582f7bab9350bbbab2a3abbe8b8223c55a4d4390a6336bb4ecd15bb9c14efba340b333afa645abb727754bbded791bb80ae5ab7ea6cc8ba96f79dbb946b3abb61a1573a31b4d6bac7b1c9bbc6e817bb4287d83a4d54a7ba3141dbbb3c76b6ba0000000000000000000000000000000000000000000000000000000000000000007d5fbed4b114bcab96113c2edc903a5b2556be03259ebc2f92fe3b3541a8bac6b140be965ce4bcab16783b4458ec3a85fe18bef1c9f3bc1c1fa03ba0610e3b6a6ed8bd46fab0bc686fe63ac6bf1a3aedf270bdf08683bc9318463a8db4f13aec5a3ebc160cb3bb1cbd8a39e39f603a0000000000000000000000000000000000000000000000000000803f000000006b24a83c3cccfebdd264ad3ff2bfd4bd6dd7803cd184b4bdbf4b8f3f8cf854bd4032413c0a318dbdbe7d6c3fc4cfbebcf92c163cc61055bd9e7c303ff5facbbbd5ccdf3b154805bd9f7fe73e29b4e83a3491983b5d031fbcc0ca663ed9991e3cdb2a173b2126943bdd2c393c0ce3793b0000000000000000000000000000000000000000000000000000000000000000cc3a7a3cf76de7bb0000000000000000ac28ec3b6a0271bb0000000000000000f59a523b83ff90bb0000000000000000306d303b0bcbadbb00000000000000008be361b99cba2ebb00000000000000000e7b123b11976bbb0000000000000000f921803b6cf063bb00000000000000000000000000000000000000000000000020180dbcba0cc93a84bcb33ca1441d3b48b608bcde82debabdf1293ddacb1e3c7322e0bb176b313b2e55373d59b75a3cd82184bb9969ba3bb94e1c3dc045883c738a2bbb14c0ad3be1ebea3cc2ad703c627580b920a18b3bedd7a53c10cc333c06de6439f7b1543b1c1d343ce345e33bd4b54c3ad8cb3a3b8d82343b165d773a72e436ba40a23039b95578bbd7d293bad8b45dbb6cdbbb396c5d173bb0126d3c83b4a1bb6ae113bb6989cebbd315223d94212abbaa1b4ebbe21d10bb7ad7a83c6fc64dbbae3760bb237a69bbb7fd423c5f4813ba958f38bb3936b7bb3315e93bd092153a58be32bbb233d5bb10e11e3b33dba23a8b717abbd58df1bb60078ebaf559bf3a052900bbb3b3f4bbf4c3aebb4b2f5e3ace0148ba5218b3bb0254453ba0ba09becd14323c119706bb5bed853afba555bef8c8273bf99767bb7ab37c3bb2f266be0b89b6bc1164c4b869f4943b4c3852be644a03bd5e72803ae9fd923b0b9123be933a08bd0e3710bb6b943d3bc1f2e6bd4888e4bc327e12bb02fc6d3be6ca70bdfb1297bcf25a42bb39a6703bec9e46bc35b4d5bbd93930bbf894153b7745963ca852833b771c54ba883aa23929622d3ddd3355bef2caac3f7178753c3de8393d3be74bbe2cfb9d3f230f123de4a80c3d0cdb25beaadd8c3fcf157b3dfbdbe33c5abe02bea663643f3ac09c3dd897b23c7f13bbbd4eed263fdc64a93d238d8a3c71fd61bd6ae8d43e4d41933d10bb343cf8aaabbc7f08433edabf753dff3ca239e68f953c1f15d73b4e19343d961a283bb1fd403c0c54ffbdf41ec63be0de83bc3dfc893b00000000000000009bcf85bc6cb02f3b000000000000000019d9b2bc083fb33a00000000000000007659b5bcc917a53a00000000000000007986abbc3185f73a0000000000000000c0a590bc11018c3a000000000000000035f07bbc98ec923a00000000000000001e6d4cbc6c6bf13a00000000000000008480b3bbe1334a3a00000000000000001d4bf4bb496e093beba33f3c88a9c13bc3d719bc90d1723b93feee3c939d4b3cb6e3cdbb7ffed33b9f3cfe3c6768a03cb439abbb2c87e53bd874e93cf5ee983c305387bade6f983bb88ba53cef847e3c2ef22dbb6979a73bbee5853c2562453c8a142bba35926d3b5e4fb93b561ff53b45f5b2bad1511f3b48caf73a5c252e3baa8080ba931aa73af25449bb9ac82bbbcf1947bb4483a7ba00e24b3b2135413c66d4b8ba64f01fbbe2ecdbb9e09aaf3ce1790a392d1c8ebbcea832ba8423453cdd2d473a860c8bbb66e131bb8520313c4a98753b01548abb231787bba78f573bddb7033b5dc27cbb175bd4bbec24b53b41a5623bf1f828bb6bd5d8bb4839073bbfe2483b4e6f31bb6f91f5bbd8c8ea3adcbce33a2d20a8badc02dabbc595613bfeccc5bd4a3e563c4fcb6ebc3ee2bf3bd9a631be854997bc72530ebc6474a83b55a13ebee25e39bd01460ebcac420b3c59982fbe888346bd79290cbc0584c73bdeb904be08563fbd64eb31bca455fa3b7c19c3bd0b531fbd6fbe12bca037d03ba11947bdd8f3d5bc4a41febbe6fe843b63f454bce82d20bcceaea2bbf14e363b4139373ccbc2ba3b15c400bb3df68e3a84cf303d50dd52bee1068f3fbfe06a3e9b4c4a3d8f2f5fbe44e18c3f1572713eaedb1d3dffa734bead7b743f65407b3e9d27073df90911be6fda443fbcf1683e5e35cf3cd52bcebd6a7a0d3fde884e3e3be5a63ccfcb88bd2e6db33e5e03293e0c387e3c6c5e13bd4b01243ece72e93dd068d73ba4ffb3ba895c0e3b53bf7f3d1d3fb73bea74043ce117b9bd4361483ce60081bde7f9713c0000000000000000446b8dbd3a38843c0000000000000000ca4286bdacce383c0000000000000000234f6ebdbf68253c0000000000000000f2f63ebd80bde33b0000000000000000c45734bd5561e13b00000000000000003c8e01bd8239d43b00000000000000005fcabfbc448ebb3b00000000000000008ce187bc6bdac43b000000000000000035ecb9bb872c573b5c78fc3bd1d4103cab6700bc6c74963b59c8a93c5e66983c7d0faebb1f8a8d3bdac6c33c05bdc43cb28a86bb76d3c73b066bae3ca132b43c71ea3fbb7fbb043c67d77c3c1584983c7e4e03bbc65bb43b3fb03d3caae35b3cc2c18fbac015883b0669bd3b0bb8063c3ce9edbad181683b2c743c3af54c973a6a727dba25b1753a8b380ebb8ea0edba57fc12bb595846ba94159e3b14dbc4b9d72c68ba7c686abbb2b1e33a8fce563c10fb3d3ae99f9cbb1aedeabaec544f3c38d5353b81d178bb16a3f7ba4c6b863b1d3baa3beb769ebb258f93bb7feeb23b29aac53bc5bfa4bba629b9bb7a3ed93a5dd9823b41fb8cbb07cee0bb22e7bd3afbfd8d3b5eee80bbe7bcf1bb0cc94c3b02d8b73a180910bb685037bb612e463bc901a0bd7d97943b13f5bcbc122ffe3b0cbf0ebe19f42ebd38e38cbc6203233cc0241abefbee88bd89f087bc8288313cb4aa09be05a995bd633090bc827d3a3c8f24e3bdfaac8bbd956d9cbcf1571c3c471498bd308c54bdd1c57fbca775143cb93e26bda6d408bdba6d30bc7f96b53bc5884bbc8f823dbcbf5eb8bb8798543b4caab83b5317fb3b700571bb4f1b093b6ef5183dc7ed3fbeafa16c3f8563ea3e7c443c3d6cd54cbe82b5643ff661f03ef23c1d3d0ca229becefb443fdeace63e4130013d53bd02be63d21b3f0504cf3e7d67c03c918bc2bdcd05e13e6676af3e7fabad3c5ff881bd7d8e8b3ed73b833e8e66803c86e107bd2fd5f53d1289293ef384183c4a1e16bc86e5313b0d869e3db6d3bb3bef7549bbbe5094bd3ba1f33b764beabd5b36cc3c00000000000000004879f8bdbb4ada3c0000000000000000f9cde1bd7c6db03c0000000000000000c29ebdbd530c7c3c00000000000000009b92a2bd653c6f3c0000000000000000819380bd1333513c000000000000000087384fbd4d793d3c0000000000000000943a0dbd64163a3c0000000000000000591dd2bc3549173c0000000000000000a1d080bbfb274f3a5c53833b59083a3ca72a9fbb01093b3b4366653c2fc0b23cbdc996bb94cbc53bf2b3763c8bb6ce3c65ec57bb1ec3b83b99c0803cc36dd03c8584acba796daf3bb45b073c95319a3c2b52ccba18ddbb3ba14a123cef6c603caf94babaf5c46b3b35493b3b87f0e93bfc1aefba616c8b3bc7167b395d3b173b7adae6ba2ac8c73a39d70fbb44643cbb702082bbfe99cabaa699be3b43d15cbbef4af73aa65c91bb90455a3a04c6f13b3eb9973b26deabbb7c92b337f19a823ba171bf3bd50aacbbe038c3ba2fbc993bdff08e3bc5294abb71fc03bb330ef0bade25033c293baabb7b826bbb23e3ea39a6ba9f3b45bb36bbcf3a3fbbc1f7e6ba3930ab3bb0d69bbbcbec88bb48faa1bab72caa3ad6aef5ba8e9c1bbbcbf3a33a25c573bdb884f4bbabd2dfbc615a593c39cecdbdb3a18cbd1ab8bfbc8a40523cf4ccdebd7f48c1bd40c5c1bc6b8d4a3c42efd2bd7eadd4bd5711bfbcfb32463cf4909abdd2d090bd3cfdc6bc22c7093c87ba70bdc1448dbda27a90bcb319fb3be7fefbbcae6b1cbde5a653bcc334c73b885b18bcb1784dbc1dfbddbb21883f3b4ef2d73bdc23e43b03b924392a201e3a32e4013d092b1dbed26e313f679f323f8319153d8b3821be00c8273f3b5d353f2779e63cc17500befbd40e3f0e41273fea39e03c0ac5d5bdbd3be23ed5e6143faeae9c3c140795bd76b09e3e0065e33eaa48943ce97159bd7dd7473e13a5ae3ee46a653c8d5ffabceae9b53da94e503e7074013cccc22bbce074593a8d37a93ddec4ed3bed51aabb3ece69bd9efd72bb773a22bef7a3023d00000000000000004f5a29be77280e3d00000000000000009e340cbefb71cd3c0000000000000000948e00becf1ac93c000000000000000058c9a8bd6f087f3c000000000000000043e8a8bd96ff913c0000000000000000f46666bdea3d663c00000000000000009e2329bdac9f6c3c0000000000000000493207bdb7c2613c00000000000000005ed908bb445e363aa87d043b4685633c0aca37bbccb32139be39143c062dd03cf2e273bb6369893b41b64c3cf1d0013dac62e5ba939a8d3bb0ae383cc9c8e13c946320bb84f0c93b4650213c7099bc3cb59fe9ba15008b3b5c7fac3b26c98f3c9831fbba0742d13b1811523b1d780e3c856800bb135e873bf7d3493950ea033b7637a5ba29c7e93a6758efbab9f1e9ba82c949ba3fe46bbbf07d0b3bbd964dbb5d849a3b25cab5bb9ddbbeb8cc2a8d3b7e30fb3bea9bd7bbbf0119bb10e87f3b8e180a3ce0dcd1bbcd5520bbd3032c3ac319243cb3f5c9bb440f72bbf35f713a0b5ef03b40589dbb905e05bb7f6dceb9bae8f03bbd9ca7bbdd6542bb74d854bb0c04923b9e859fbb514217bb64d4a5bafd99703986f0f2ba434399ba84e62c3a1ef41abdf028e8bc49bcdfbc9d0b503cf9757dbdbc5ad8bd0d8cb9bc0eac6d3ccb1d98bd9ddf0abe45afc5bccd7c693c12a58cbd60a702bed0f4cfbcb719563c42fd74bde340e6bd52b6d0bcc6b1553c594729bdd10aa7bd1cbea2bcfd270e3c731cd1bccf3a46bda94f43bcca8dac3bbf2e2fbc3b8170bc902080bbc355503b6e3d0e3ba328253c4ad91638668a513a5f29c23c2402e0bd0db3e83e9cd96c3f004dde3c8665e3bda3a2d53ec537703f3965cd3cca02bbbd3933b53efac05c3f5b639c3cc6b590bdaa8a8c3e52643a3f04dd933c5fa35cbd5c31483e2864143fe9e65a3cab0015bd7ecbf83da6a3cd3ecc143c3cb9d2bdbcc546753d0f9b6b3ecf04d73b9d1c2bbc142ed83be314a13d9e49523bed9248bb214817bd31efaebcfa3741be27861b3d0000000000000000615352bece08333d0000000000000000716131be30b00d3d00000000000000006aa20ebe9e00d43c00000000000000002010e9bdec80c33c0000000000000000971caabda5359e3c00000000000000004e497dbdc91a8d3c0000000000000000664430bd62db843c0000000000000000c31708bdae3b6b3c0000000000000000fe6f7bbacb91a0ba95c105b9a4a3833ca36e88ba40dec2395ef8523bdb94023de84cd4baf52a8d3ac3da133cc02b123d2d9ce0ba5eff8d3b9ac6fe3ba2890b3d4326bbba8aeb733bb195ea3b4669c13ca75454bb20d2ca3b2adebe3b614ea03ce0eb2dba2b8b5d3befdc083b05fc1e3cc1b8e2ba40f4633bbe78043b51893c3bddc25fbacde6de3abf928fbaedc094bb1b3819b872a364bb44ed6a3a73a7d8ba68e2ef3bf72200bcd56610bbf8d6dbb865d01e3ccaebfdbb8f310abb8efdf23a38d0313c9359edbba03626bbe257f9ba0c3d263c4439a4bb23193fbbfb7cb5bab3651e3c80d8cdbbd2f7a3ba588e59bbd78cce3b2eb470bb9c631dbb16014dbbcd848c3b72e85bbbd9075dbadb8004bbb1b3163b674f52bbb2961ab9c15b09bafcd143bc8f6272bd9dcc94bc78bf403ce079c5bc952317bef7a380bcb3905f3cf71023bde3a22bbe57b5bfbcae436d3cb3191cbd55c029beb5b0cdbc11e94b3c58ba09bd24a804bef189bbbcc646183cc59ae5bc5e51ccbd4cde8bbc9e4ff03bf69b89bc55e65abd197130bcd151273b2be514bc2a4e90bcf94c41bb776607bad478923ab219403c7107a93a95cc3e3ae592643cc5b97abd5143673e0fd08f3f7ec08b3c52f46ebdd921453ed61b913fd5cf6d3c691b48bdfc03293e49fa813f7695583c2bae0fbd74cbfc3d42b55c3f6932243c6e4ee3bcdd48ba3d1bc6263f36581d3c5d78a8bc25267b3dc07ae63e597ce73b1ce640bc82daf53c5e19783ec5d58c3b9aa519bc2049543c6e117b3d56236d3a342260bbc85a4fbc30b746bde3c757be8fa1333d0000000000000000f9ee5cbe7c873b3d0000000000000000c85c2fbeeaeb073d0000000000000000c41d12bef48dec3c00000000000000009bf3cebddfc7b03c00000000000000005c27a5bdb8fda13c000000000000000082805bbdf97d973c0000000000000000c878f2bc1e315e3c0000000000000000bbc4cdbc2920653c0000000000000000bfa80e3be20681bbbf31f9baba8abe3c0fa51b3a9fbe99ba924d48bbebfc2e3dbe61c8b9e8b2c739f983e93a19fc383d2f6487bab765e03adcbabd3bf9c7293d20aed6baecf6723b9b56a53b9ef8fc3cb5c8abba0878ac3bb389733b8014b53c3fc2e5ba6e6b8c3bddb3173baf064d3c1a8107bbbaab783b63bc1d3bf4ae323b06684cbae7e1c33ae9ab9fba976c35bb97afe03a3a6ebdbbcb9984ba07bf96ba5d4bd63bcbd817bcd01b56b9fdebfabb0ef12a3c35bd00bc933f35bbd25412bbfed7463c0ebff3bb4c65f7ba63015cbbb9d4423c082dbebb9f74e1baa7fe87bbfee0263cd224b5bb751f30bae189b5bb0b3bd43bf06588bb96113a3a9463cdbb48b4273b32a118bbe53f073bf79a90bb25996abaa7af89bab4220b3b8d402cbb71df783b3a4deabd7de1d3bb9771233cccb9863c196247bed874983be446003cef50f7ba16a05fbe31ef43bc68082a3cee0f48bcd5974ebeebce9fbcb388313cea124fbc29cb23beb875afbcdfa3f83bc22640bc9294efbdf9e47ebc8ca0a63b0e563dbc3f1c81bde67d16bc5b572b3b1f2f41bc3f5a7abcbe10e9ba874ee2badc89edb93a67993ce8c2683b9f6da1ba720ba13b53c861bc534a8d3c6bcdac3fea1e963b8fb112bcf1541f3cdcee9f3f966dce3b934219bc4db30a3cc41c913f729cc33bb9a3f2bbf5a3023c17e86f3f6c95c43bde0bd4bb43ea983be2e3343f05ce923b95ebadbb7553173cbcf9ee3ea9af923be6aa88bb9266763cd8ba6f3e556b4f3b65dc2cbcfdd3fa3c918f123da9bfcbb9bec0dfbacc606b3bc1a3d8bd332d58be46f3293d0000000000000000a56543bec59d233d0000000000000000e0ec17be6504d93c0000000000000000f9ece2bdacc5a23c0000000000000000aa879abdfc54753c0000000000000000ecab50bdd3344c3c0000000000000000b9f5e9bc0350173c0000000000000000a11688bb4995e93b0000000000000000113f4abcd8dc063c000000000000000000000000000000000000000000000000c4d2e03ae7338bbbd6517d3a00ce2e3daf26a03968fbc9b9c4e28a3b211b213d79d3cbbab8bbd63a5a9dd93b0e49033d58ff33ba38ad4e3b2ccc443b400bd23c2d3f65ba2726293becb6573bccca963c6d914eba79d2663bb876363a28a4433c045f41ba2117363b2f443739145ae93a0000000000000000000000000000000000000000000000000000000000000000d77b013cc7fdc6bb994a3abba2c9d53a39214a3c773ab1bb5b6ae0bac93101bb218d4a3ce37174bbef3e4abaaaf447ba0af66b3cdfe138bb416c5cb99e9240bbdb83f63bf4e9c1ba0dbbaeb9447c81bb4ea5c93bdd684eba1a53fe3a4e8cd0bba9c7393b218d92ba1b23173b22aec2bb000000000000000000000000000000000000000000000000000000000000000087c5583ce41e61be8af948bb8c34943b94cae13b79dc58be881d6cbcc1dfb73be1218abb750e42be3331b8bc5fad333bfe46b9bb6f2a1ebe00e2bfbc2cd88b3a08a183bb452edebdce8f98bcca9409b9375151bbf8ca7ebda35538bc681694bab2d206bbd3ef4abc04bf13bbe8eaddba000000000000000000000000000000000000000000000000000000000000803f3f4004bba0cfa13c1f49f4bdcc10ad3f2e849dba42c1773c45ccabbd154f8f3f51ab193af5773b3cee5f88bd80246d3f22868f3ac5b6183c4d284fbdedaa313f3a5c4b3aef51173c5a060bbdb111e83e46bdda39f4b5733b8f760abcb661673ec46ff3391a17573b770d853b9b6c073c0000000000000000000000000000000000000000000000000000000000000000b16cdfbdf4908b3c0000000000000000cf9c6dbd87b90b3c00000000000000009f6506bdc6acb43b0000000000000000ce9e56bc43b3ad3b000000000000000002acd9babe38563b0000000000000000615dda3b3488eb3a0000000000000000960ca13bbd79dd3a0000000000000000000000000000000000000000000000000000000000000000000000000000000075a626bb1a806abb185a2a3d39a1d73b246bf3ba1dbb92bb36e92a3d997c433ccd14abba9ae1103af9e6063d6a3b3f3c535068ba58010039550ddd3cac965b3c152f603a55e6efbabcd59c3c5e942f3cd5db9c3acdbb01bb51282e3cb05b0c3cd17a353b6f13f0baf6b6cc3a910d8d3b00000000000000000000000000000000000000000000000000000000000000002e2caeba19c6c6ba8211dcbbdfafd03c206734baf0da27bbf95cb8bb0fd0d03c89f658372f8bb7ba37e5a9bbbbd7833cebb526bb3cfe03bbb3b68bbbbd2b673c07ee94baa1a581ba9ce990bbfbc6423c05a3e0b903aa39bae09e84bba4f6093c02515fbab499d2b9719c9fbb27d8803b000000000000000000000000000000000000000000000000000000000000000074f256be3cc8a2bccbd9493c28ad0abb9fe155be5caff6bcca3a103cabeb3a3a8e1a3ebe7a800abda1199f3bf8a7133ab0a01bbee58714bdec1bb03bf0630a3ba1bdddbd23e400bdce918e3bc930893a5b7f7dbdb99bbabc96981d3b07e90a3a21ac47bc3d2f3bbc9fdd863b6810f2b90000000000000000000000000000000000000000000000000000803f00000000a08fa13cf1da00be8250ab3ffb5fb2bd0f96813c16bacbbd0ca68e3f7dd606bd329c433ce576b1bd861e6a3f307a61bba6002b3cd20999bd6650303ff1304f3c791fee3be98f61bd8a76ea3e44e4a63c7884013b21e7d9bcde85703e8a3c793ce21891bae20d7fbb2c2da03cdb858c3b0000000000000000000000000000000000000000000000000000000000000000c4f9613c81486dbb0000000000000000f9f8f03b9b52acbb0000000000000000199d9d3bf1038ebb0000000000000000b873493b13b092bb000000000000000072f5ee3a25766fbb0000000000000000e48fc53baa3ab3bb000000000000000007baed3b7a3387bb00000000000000000000000000000000000000000000000029a7b6bba27ba0bab388bb3c4d055e3b7b7836bb488d43bc25f1383d4bab383c74a154bbde92d5bb19cb3b3dfc22853ca1ceffba1502a2bbb12a293d5400883c37522dba1a3f82bb8585fd3c4756853ce452b738bba964bb52a2b73c14185b3c1a33e83a0e8906bbe799403c2eb0083c7371373bebb543bae9032e3b4d1ca33aced2b43a8afb00bb7cb613bb14ec2fbb3dd560bb5eda61b8d9cac1bb2a4ff33cfa05e9ba031631bb573569bcf10b813df27085bbfaff91bade0332bcfda1443d7c4625ba2ab281bb15381cbc59041b3d6f3e9abaf07bfebaa29312bc9599ff3c04947739731a23bb00311abcc2a9bb3c99f9453a4ea00dbb1106f7bb6e0b383c8194603a6f26edba5f22b5bb14921fbbf7c5d23a3fa88aba6b1ba6bb5764ee3ac3fd1cbebb7dac3c54e32abcef8f9f3b48d16dbed0a46db96a6cfcbbeec0c93b1e3a74bea0b7a7bca1b3d1bb710bc03b7b7f5cbe50f305bdd619e6bb6041173cf1f02cbe7bb40fbd436f05bce285c33b1919efbd99b2fdbc8e4e01bc1844ca3b976a75bd7306b1bc760cbebb333dbb3b918800bc491074bbe12545bbf28e353b55e8bd3c680b343bc84f8fba21f8b33a3843023dbac43ebe8315ab3ffd25c03ca6fa043d4ee13dbea9689e3f0137593dac5dd63c901a20be5b5c893fe034c23de3f3ab3cb99dfdbd82145c3ff1abeb3df1f07b3c4f4fc0bd0a141f3fedbbfb3da1071f3ca2bb69bdf505c53ec636e63dfd74293b508594bcbe25233e5d19bd3d081621bc3a6c053d6cb209bd6a017a3d762bdabbbfa8df3c4e7d18beb3deb23c4c5846bc659e013b0000000000000000392281bc9c0b2d3a0000000000000000b523bcbc297ed23a0000000000000000caa9dbbcbd1368ba0000000000000000d5d2cabc605f9f3a0000000000000000f55ac1bc3f1b8f3a0000000000000000c766b9bc92ffc43a00000000000000007eba7fbcf18be73a0000000000000000ae7b58bcd105693b00000000000000005e4893bbe35228ba05487b3c0c6ebc3bb5619bbb13c0a3bbd54b0f3df4f0203c7cfc72bb735190bbc2a60e3d65de843c448f5fbbc8bf58bb0902053d7516993cec7f3aba6b6783bb692cc63c4bd5793c7b7cdfb9e94140bb6d338f3cea60553c61c06bb9434797baae12f53b47ce093c60d4933aff9998ba83076e3b806de8b943b575b61f74a3b8cf4be1ba3d11afbb393ccebb59c00a3b298fd3bba034023d232617bb1b3bb6ba63f341bc9216543df437a8babb680cbb0a2fedbb3445253d38369e39b35112bb867322bcdd811f3d2cdebe3a262b3abb1518f9bbd237d43c70fd483b7a7c81bbd83503bc7a2db13c256d5b3bff6b67bb8692e7bbffb95e3c8487b33b5f0e61bbd31ec1bb10b7d43a9644af3bce8d2fbbcc269ebbaff8af3ae1be0abecb61343dc727fbbc42e0253c54bc52be6cfe303c34bffdbccd41623c285051be0a51a3bc517eeabc3cf6623c1ef63ebe729a12bd7c96dfbcb319593c6ffe0cbef2541bbdf29bc9bc83de4e3c9b23c4bdc9d41abd6feeaebc661e4e3c2a5141bd67e6e3bc7ab188bc51551e3c07a3a9bbb7f037bcdf8b46bc8debe23b61148e3ce04ea03b43cae0bb9776873b3934063d50b139be1fa58d3f87786f3eff24093dcb6c43bed366883f725b843efcd2cc3c252a1cbec08f643fdb8c933e2ae3b03c6f65f9bd736a343f771f923e47db743c2861afbd56fcfa3e62ab873e40b9153c13324cbdb8c2903e9c1a703e7595573b8d6da2bc373eda3d62c4363ef0acd2bb1bf2cc3ca61b68bd3c65ee3df575b3bbba67ff3c90230bbe232a573d29126cbdd36e2b3c000000000000000018ae80bd3aae223c0000000000000000415684bd61f5083c00000000000000009d5b7ebddf46153c0000000000000000e36d6bbd93d5de3b000000000000000076f26fbdda95133c0000000000000000c6bf4bbdc2271c3c00000000000000005ce138bdca542e3c0000000000000000183914bd6a44323c00000000000000006f6192bb94e4a33ae0b21a3caefd163c3677a8bb47366fbbb25eed3c4f791e3c5c233bbb4d1895bb5b11f83c17b69b3ca304dfba68f789bbccc4d63c71ec933c9360b6ba23253bbb4185ae3cb3f5863cb7a955b9f04b3ebbb767583c5fe6553c070507bae634c1bafe57f23bfcf2cc3b7f340139f94645bad8614b3be7e3f9bad8ee5939d71a60ba898e0abbe91a89bb9d8a0ebc53ca153bc72344bbc251b93cf2192ab9bc4498ba014afcbb077b2d3da5fcbf3a3da915bb15dc23bc904e233dbea06e3b71ed69bb4b2a0bbcc39a013d10c0bb3b226e6abb1c7a17bc2ad2e23cfc21003c9cf1b3bb407904bc085c8f3c8a1e0e3cd0709abb3473e2bb6ebb2e3c00f9133c045fbdbb9103adbbd8e0353b17dec63bdecf91bb4f3eb0bb5099793b203afdbdaf746e3d203651bd510c853c6bcf37be79f5eb3bf04146bd0750a63c674135beea8007bda1933cbd4e79aa3c7f4c18be2a5048bd9c492ebdf61e983c310bf1bd3cc960bdb6ab2abdcba0963c813893bdd80f4ebd41b502bdbba7893c19b109bd8ebb12bdd5d0d9bcfddc653c637abeb9e9d487bc1cda8bbcd0f4233cf9a2603cbd4ac43b6c573abc8ca8e93bbf61dd3c2e4a24beb80d663fa1e6e93e17b4f63ce6c12abec9e5583fc99af83ecb68c73c89360abe572e333f4d67fd3eeb61943c99ebcabd4418063fdc28f03eab04633cf2438ebdd5acb23e21d8d93e99320b3c750511bd44763a3e122db13e91043f3b550ce3bb61841b3d311c833eb1bb95bb9f97ac3c58e395bd0250243ece40fcbaccc0ba3ca00705be92b9903dfc5ec8bd6450873c00000000000000002af0e2bd4c63a03c0000000000000000eda8d9bdcdf3873c0000000000000000846acabdabfd843c0000000000000000b6b1c1bd9c2a883c0000000000000000cbecaebd07875f3c000000000000000086be9fbd4d0e893c0000000000000000a00f8cbd15c2963c0000000000000000420c6abd59ac853c0000000000000000e3b074bb65685cb891a8163c5005023cf7f418bbf83490bb38a1ab3c709f6d3cfb2b2dbb0fda6abb1816af3c7c2fa33c466ed8ba92678fbb66e9b33c529ba23ce1d124ba8125bbb9e2302a3c5954793c72cd36ba7678d2ba630f4b3c9fd0433c137590b93f30f3b960b4893ba180bd3b3aa477bac2db123983793a3bc5343abb9319e638117569baa8a9953a2538efbb084af0bb4d77123bbfe5dfba9dbd9f3c19e412ba399162ba7150fbbb6a12103d4e01ef3ab750cfbab92191bba413e13cce91cf3bfc777fbbb662e8bbc808d53c5e477a3b72d75bbbc79482bb7fbb713cc4ab2f3c0ec5b4bb3e70e6bb4348563ca1e2213c9022bbbb49c19dbba9ddd93b83b0283cd1fcd4bbd36f4bbb1899d139197cec3b89cca5bbde408fbbf960e23a15cfe0bda6165d3d85f67bbd496da83cc0f611be54cb20bc635280bd5548cf3c130207bef8f146bd775a63bd6232b43ccf73f2bd13c390bd4f3360bd1717bb3c2cc9a3bda1a754bdd9ac2ebd93f5843cf00561bd8d2784bdf88c2bbd5500953c3c19b7bc9c601ebdf637ffbcc2cb6e3c8ff5253bb75379bc1830acbca48d363c73f84b3c3ce5f33b07d53cbcba62113cfbb9ad3c212803beaba12b3f0f1a303fd162b73ccaf700befeab1b3fc2b5383fa745883cbe77c9bd27e2f73e6701313fc23a623c53408fbdc7c5b23e1cf6253f18dc293c81204ebd94d2693ef1b3033fe53edb3b2323b1bc14c4c13d5714e33eb26d4c3b11dd66bb8e79af3af2209a3eae674bbb4cc8a13c1fa1a7bdee8f353ec5f70bbb7b48ae3cfa83f2bd3844923db0740ebea225cc3c0000000000000000218f18be933dd63c0000000000000000242309becf51b33c0000000000000000480905beadf8bf3c0000000000000000411bc5bd89ee813c0000000000000000b3b2dbbdf344bd3c00000000000000002cd4afbd5bd5a43c00000000000000007e0ea8bd872ac43c0000000000000000d5638fbda1a8b03c0000000000000000d469aebaae2ea4bacd84a63b550a2a3c736aebbafd9296bb14af893c97448e3c6e90f9b9b8207dbb1f3b823c4212d33c0a30f7b9b82360bb8b7c513cf3f1d53cdbc188b846fa63bb00d3523cd065a53c8faaf7b94683e3ba92c7e33b85605f3c0611d5bab4b92d3bcc2c7b3b7999c73bfd9329bac8051b3ae28d543ae7bdd6ba0b9e26ba8e780b3a245b6b39ea0107bc6c78a9bbbc57613adc0153bbe5cd923c68c88e3baacb51bb3957c5bb6466d33c2988053c64f99bbb02bbddbb0e8ca93cd89e263c2daaa9bb5998d5bbe8f5913c078d483ca572c7bb6145cabb64835d3c31ff5c3c4589dcbb8c338bbb804a083ca893443c5376ddbb050352bbe067713988112d3c103ddebb407207bb3b8d13bb4d55df3b41629cbba6c40eba8f7ef3ba3c9eb0bd2e9e093dfe9684bd55c0c33cecb9ccbd99d945bd3f2c85bd8798e63c30f1bbbd056ac2bd5ad77dbd85b3de3c4c5d94bd2da3d8bdac3168bddc70c33c03aa5fbdac05cfbd2ef853bd3571b93c1c7ef9bce0b09fbd8d392dbd06799d3caebb27bc057554bd8bb8f6bc1b72683c251cdb3bd33babbc04978abc5875263c7ded383c4eaf0d3c60071ebc23b9ea3b2993793c498cb8bdd488e23ed0e1693fb3f77b3c0adaaabdfd3cc03e9db4723fb1d3473cca0d76bd596f913e4195663fd519223c47ff20bd8d3b3e3e79324b3f7574c23b286cb7bc550cc83d81bc293f4a57543bbad4f9bb21d0c43c1494ff3e9ce8593acbc0e63b17c00cbd16bfa93e5ecb5ebb1e9b9b3c2b4396bd9a782e3e94c31ebb3bc0a43cc812c8bd99894b3d5c5a2ebee8cdf73c00000000000000002aec3cbef7c20c3d0000000000000000009d29be5269f33c0000000000000000887f12be7771d43c0000000000000000b41901be48d7c83c00000000000000000da6e1bd6c64c93c00000000000000001b3ec6bda4f8d93c00000000000000004a08b0bd4c99e63c00000000000000008bd991bd8de2bf3c0000000000000000087877b9cf2d6abbff92a93b8119393cb790313a867f92bb0ba3e73b0d30c53c06b577ba237590bbed4d1f3c7fc5f53c2fc7b4b967a939bb1ad0133cfba6ee3c142e36b97b9d8bba547cc83b77b9b73c807787bad3b91c3975c79d3b3e917c3c171184bad4cf9d3a37971b3b5562f73bf617a1ba506ddd3a3160ae3ac40ddcba978fcdb7f2702a3afdb8b93a0446f7bbe24133b8ce6d7cba90aad1ba74823d3c68c7293cce2dbebb9b6991bbfeeb4b3c48f2203ce7aab8bb3ba2ddba944e4b3ca2d66e3c6a07d9bb602d77bb12ac023c64f26c3c1c55dabbc2e928bb47bc993b6ed5683c7384ebbb7a1bf5bac7d0603a6d61473c6dfebbbbb11091ba85d774ba21951f3c4ac3e6bb6bbe863ad2e0e1bbb530b73bb51396bb98b86eb9469b88bb47c44ebd3e8c38bc8dc75bbd7a6bbe3ca7743fbde97cd5bdd1166dbd5425df3c0ac14abdadec07be80f05bbda10dc33cdc0111bd995b16be7da160bdf5ffbe3cc284d4bc1c2ff7bd8ac241bd92b89d3c91824cbcae99c8bdeaf818bdc691833cdf1c0ebba34b6bbd761de7bc5f123f3cddfbe83b1f30bfbcf7bd30bc2858073c1fc7153c648a3f3caf1f5ebbe6ae8d3b6d300a3ca4ce50bd99c5663e40928e3f58100b3c54781dbd57d6233e5547933f3045ab3b46fae4bc8f03ea3d0a49843ffad1963bfec843bc5e3f533d1196693f390e6d3b69caaebb57ac5f3c2fd2363f3b35c43a65f3903bc526d1bc6f94073f8b9632b919f2253c58a247bdf8bba63e70229eba7150683cda9e5abd9a480b3e662f4fbb462e803c6a8378bdadb9843b299e41becbae0c3d000000000000000090534bbe80e2153d0000000000000000aa0c22befd1aee3c00000000000000006e7110be9313db3c000000000000000030d1dfbd2688bb3c0000000000000000bd71cdbd552dca3c00000000000000000e75a5bd1a8dcc3c0000000000000000dcea98bd850ae53c000000000000000054437dbd50fbbf3c0000000000000000012ed03a32a27fbb7a69153a057e983c5513943a846e4abb1c25b9bb20a4183d5ace013a30db1fbbb35445bafdbc2e3d5a972239786548bbfd08113b3dda193d9131af3934dc70ba45f1d23a3834f23c34cb61ba0fb78c3ac57e1e3af3dbac3c89acb8ba754e473bea0d60ba7cbb2b3c89eafcba84826e3b64c2cb386edb063aeaf48eba7f931a3b3ee300ba68c4b0bb0bf4563b762d84bbb36ba8bab998783bd0ce653c08ca08bce7a6293a223a94bbb765893caa6403bc282367bab3a513bbf536893c61d8ecbbeffeedb9d870d9ba7a51813c18e1cfbb5c882fbad15c57bb3610813c8975ddbb829ae6391079c9bb9c67333c7f57b4bb0a37a23a5552efbbd001e73b1079d4bbb1b9683bfb1203bc69cc823a11eb17bb3242133b1fb7e1bb25677cbc323aadbdabea0fbddd1c9d3c185e873cecc135be8a1211bdfb47b63ce7c8b63b915852bef5eb2fbdc8ffa53cb5ad333b907546be95a735bd8eca923cb9bc8a3b9c8422be989026bd275d673cd3c1f03bff30f7bd761704bde2a8453ca42a043c5e608cbd1e51a4bcffbd123c566c4e3be442a9bc9abefdba52736e3b8f52df3bfc81853ca182363b231b143b4df7713a93f3f3bb550a973cd4cdab3f9242b93a126992bad02670bc387ba33f9043e33aac3f293b7479f3bc442b943f5bd3463aa7a6fd3b5a3130bd96b6773f171da6b929d82b3cfd915bbdbd733f3f29d2663aab89313ca1f744bdd8e3033fd580523aab2e053ce2c52dbd1793913e08f7b3b9b0a4e53a3fec16bc42c3913deec9b0ba71d3dd3b6088c0bca6c992bd560f45bedc8d0a3d0000000000000000d92831bef560003d0000000000000000906308be95f4b93c0000000000000000caaccebdf266a03c0000000000000000f24397bd5266873c0000000000000000be6c76bdc765883c00000000000000004fe241bde960863c0000000000000000d49d28bd7628a93c0000000000000000e31033bd55a5983c0000000000000000000000000000000000000000000000008b9ddd3a337093bb4e80113abd26133dc0d3df3a9f0385bbba9c0cb962b71b3d732dae36f30f1dba75e1303ba021fa3c11400b372da4d2ba915b163bdc06c83c9f65f7b908228c3a402e733a8c7b893ca6de06b93ffc033b3e64dcba2657303c4b8ff4b9eaae083bb92cf7ba0b850a3b0000000000000000000000000000000000000000000000000000000000000000e8a4473cc378d8bb4105ec39419874bbc9e1663cf664aebbbd7f19b9550869bb445b7f3c098e92bbbd8e2e3a966f93bbd6bd713c88af86bbbd3f143a632d7ebbf096483c697847bbffd7063b7c41fdbb7c7d223c1c2550bb60e8933a874de0bbce289a3b7e8f0ebbc2f3123bb147ecbb0000000000000000000000000000000000000000000000000000000000000000e3cf953c403c53be4297a5bc425a263c6ffbb23c715f58bee348d7bc47da0b3c9fd7673c2c0840be333702bdbdd9b13b5c2e7e3c049722bed22c03bdd83c9d3b94147b3c294beabdaa28d5bc7b9a7e3bca9e593c02258dbdf27e93bc3b4ef63a5733143c07f19abc71dba5bba4502739000000000000000000000000000000000000000000000000000000000000803f266b38bb5387ac3c40c7fdbd9887ab3f0f780dbb608da13ceb47d4bdbe8c8f3f0182e9ba53f0833ceadcc5bddeea6c3f1e4583bac0007c3c4105afbdbe8e343feab0c9ba6f6a683ca8cd8fbdf8c9f13e137ed0387f58053c30e11dbdbda57a3e91008e39354e803b48eb60bc2da3cc3c0000000000000000000000000000000000000000000000000000000000000000a5eebdbd09ab603c0000000000000000d7e72cbdc006f63b00000000000000008f6889bcf4d6a43b0000000000000000d8290a3ae5d0603b00000000000000008546ae3b2dd3583b000000000000000072b4ee3b2b936f3b0000000000000000cde7053a5d5eba3b000000000000000000000000000000000000000000000000000000000000000000000000000000007f27dfba524de93b9cea793cda0ba4bbee391abb732df03bb3c4983c778a0fbc449bedba41cad43bc3326b3cfa54dcbbbed1dfba35c09a3b1ddc473c580792bbeebe1439c5b3b43af65c523c006c62bb3926d939a30f2cbb279a373cfc6c69bb2fb5953ab8695fbb47ccfc3bda4468ba0000000000000000000000000000000000000000000000000000000000000000a31dc6ba69a42e3befa4a3bb9e4027bb34f98bba31c10a3bb175abbbc119453b759376bbf771403bdd2368bb3d70903a7cf977bb4e9e0b3bbde3b5bad5c6c33bd44409bb4f4b3e3ae32b85bb96d1213c71b182b92c9a7a3a48c17eba7a03423c5d777d3a79463cb987dee8bac00a433c000000000000000000000000000000000000000000000000000000000000000003bffdbd8114573b41c9b6bbf4575b3a30aa07be4574b33b238ceabb38c4f33a2d51f9bd2ee7203c3e0b4abc4bc87f3ba9a5dbbdf83f153c04b75dbcaee0b63b4004b9bde9dfaa3bcd4959bc9276ea3becf47dbd96360abbfc8308bc2a09933b020afdbc743dacbbb6aa12bc87d9e33b0000000000000000000000000000000000000000000000000000803f00000000730b523c60c1b1bd594d983ffb5957bd01dc383ca92696bd703a803f96f19dbc4655223c99588cbdaf8d523fced4e43a7758b03bff2884bdb699233f2434543c8eeaa63bd2905fbd5d68e83e9047a83c2cde63ba71581cbd6441883e80a6823cc32051bbc46de0bcd162b13dfa10673c000000000000000000000000000000000000000000000000000000000000000067666b3cafa8d6bb0000000000000000930c1e3cc883c4bb0000000000000000ede8a83b7975b8bb00000000000000008dcf853af75990bb000000000000000053f611397bb49cbb0000000000000000889a8cba26e585bb0000000000000000998d19bb51888abb0000000000000000000000000000000000000000000000008db70abb6ebbdc3bd17db13bc3898b3afb9819bba8d8b13b23fff23cc05530bc1582aeba7e81613b7af3eb3c4ffb08bca61021bbb04b6b3b8bf8e03c432b48bc86898fba82d8ee3afd17cc3c0ca924bc0a14a9b9525cc6ba5aa9c53c6cdf1abc68028b3ae0418abb9192a13c0877e6bbe5591c3be73bfebb5f936c3ca0a2a5bbeada363b1085e8bb011b0d3cbf73aebb0e45d4bb6545823befbcd1bb3e80f23a6bab0a3b0086263bf60e4dbc1038bc3c28dffc39dc68e43ad37c12bc21fbb43c72984b3bb7bf0a3a3237dbbbb4c7ae3ce35eaa3a90993c3aa5baedbbc558a23c4d5f503b87dab9392b8db4bb4d7fb73c0853ac3bec5f56ba3b1ba4bb8faebb3ce255cd3b5ca5a4ba72ed19bbda8a8f3c7621bf3bb317ecba3556a0bb700f773c22bed0bd38333a3dff66fbbc4030103cdf722fbe2b2e073d6027e7bcc2f8bb3ba87036be4a64e03c5fa201bd860f1f3cc36d28bea567c63c085407bd4744343c16500fbee0689d3c53d3f6bcaa9d2a3c0c1de8bdd6a0193cb696e0bcc48f313c08399bbd36ee25badb9cb2bc2cd11e3c910bf7bc664712bcb92468bcbe30ed3ba1eeb1bbe23fe6ba67ff31bcf3bcf93bf6c2a33c36c9f6bd82e5973fc2d68f3d8641943ca0d302bea7678f3fdc03a33d6a5f3b3cbe2ce2bda32d753f01f7e23d22361b3c0043c6bd6a0e453f6dcaf63d6214f03b37cea2bdd419143f6b85003e0f23b039d5967abd5d14c83e224cf03d3790a4bbd2fc1dbd6cec4e3e4a48d13d742a53bc1dabdcbb1a98c23c27ca963dd6dac9bb8c2b91bb48deb6bd3790583d726b34bc394e4ebb0000000000000000aa26e6bb2c5c54bb0000000000000000705d74bc16baacba0000000000000000f337a5bccae6f6ba00000000000000002aa5c4bcd8b05a3a00000000000000005724ddbc52e8cd3a00000000000000007953e5bc4819183b00000000000000006549d7bc4cc6243b0000000000000000e49209bdae80e83b0000000000000000ab6488bbafed0c3c3354413b8fd7343a14aa12bbc22d9c3bbf8bb93c7b8e37bcff9941bb570eb33baa9c943ceb0b23bc0ba804bb1afefc3afc56ed3cd87774bc54173aba661e35ba4164c93c6a8175bc4cfc703905ed7bbb7522d43c783871bc5aa2c435ebf24fbbc9b9823c658f47bc179e3b3bb33611bce9a3893c239e36bcfb9af73a749bc9bbd77d3f3cf70d24bc9071c6bbf4f6553ba9acd0bba1a7273c5ec225bbe0e5593b4ee637bc7fcae13cde67d9ba7f0dfd3aad65ecbbdc20a03c621f0e3b477d6e3a2b43f2bb4194cd3c990bac3b4214e9bafaeebdbbf0cbb23cd4e6e63bad39edbaa8bacdbb5fceca3cc3cc143cf71d90bb92ae73bbafab983c2fda2f3c7c806ebbdc4975bb6d0b953c3f6a103c55eb8dbb880865bb7f8d483cc818d9bd1503a53d228e65bd08247c3ca22529be0df7933d8e4b74bdd862963c55791bbe6b785d3d709250bd11f17b3c17d621be8973233d5edb51bdefcc873ca21b02bef5d1ec3cb02932bd7cea683c126ad3bd6d9f473c297122bd2ef27f3c509984bd420bdb3b714fd4bc8cc7333c8f45eabcc657d6bbe14fb8bc394a3c3c0639d0bb5ba42abb0f680abc84c5be3bad63aa3c2134f7bde1497e3f1e00803e6f9d773c2f5007be7af8713f83da843e75d66a3c40e5d8bdf5b8453f1fb98a3e28d9ca3b8e89bbbd87d8213f6af98a3ee9af933b398090bd6c38ea3e2a9d803eb93bddba183a4dbd7734963e3cad703e911d16bbc3e000bd4d4f193e17983e3e6b044cbc623bd6baa10234bc698f1a3e99b601bcf772f73bb892c9bd324fbb3daa472bbd6d99a03b000000000000000014343abd5cec3e3b00000000000000004c355cbda7a1da3b0000000000000000a2ef65bd7bd3003c0000000000000000062066bd6842323c0000000000000000681d83bd25e3483c000000000000000079047fbd4be67a3c0000000000000000b42086bdfddf8a3c00000000000000000d0769bd7b62843c0000000000000000711467bb5315c83b3d46273aba0ea9b9144843bbdeaab43b5720b13c8fb682bc8dd515bb8797e73a659ddd3cca8890bc532ea0ba78fbbfb9395edb3cd4688abc6eed2db9d3dd4abba55dd93c35978cbc70a1fc39f8b484bb5a8dc73cbdac80bc233b9f3a9a4bdfbb8633ac3cdf8853bca0d42c3b8b70fdbb64e7893cb58c46bcb2197c3a9246a9bb6d84293c73c04abcc4c683bb17ad2a3a5bd71dbb8d12273ccf919eb91e61143b81f314bc8d8bce3c173bae3b0c5daeb95c9d02bcca5ee03c5aefcb3b568211bbf009d2bb7682d73ca0dae13bb01f8ebbac30e0bb2818d63c12f7273c6fea73bb9ebdbcbb971bc23cffc23f3ca0dca9bbdce985bb2688ae3cadcc383cfecebebb36318bbb2339753ccddc4e3c8c0bc6bb041d69bb50b56d3c0de3d6bd347dd53d530192bdaea3a03c83a21ebe6d6fb33d80aa9ebdb11fc03c41c51fbe8c3f6b3da4528fbddda2ae3cb60d0fbe9209143de81072bd162aa33c80d5f1bd6247ac3c365f47bd670f993c790eb5bdf7c1503b32b222bd504b7d3cbe1d6cbdc810f7bb4d74f7bc28f8573c2059aebceee74ebc439aa1bce21c3b3cd3d02abccf2fd4b9945cf6bb764e9d3b184a803c723ce3bdbd7c4d3ff55fe03eb097433c4490e9bde3b33f3fdecae53eeeb80a3ceed3c2bdcb961e3f1680e63e08115e3bcaf398bdd951f53e7ad5d83e0050f53a078c68bd109bab3efdf8c73e236a78bba3a412bd405f4c3e635cac3ebb06f2bb4d698dbc787f8f3da12c8d3e940625bc4059873b771623bd8df14f3e8296ecbb5e2c003cb015d0bd8454f53dfb3f96bd13bf443c0000000000000000e8c6a6bd2633593c0000000000000000502faabdf31c813c00000000000000007b5bb2bdbe6e963c00000000000000002f50bbbd8c8ba63c0000000000000000eb47babd8ddbb33c0000000000000000b34fbabd74f1c33c0000000000000000dae4babd99e1df3c0000000000000000f57e99bd0dffa53c000000000000000099fa10bb9a98ca3bedb7d53a65654fbb928414bbe311303b1d059f3c6b317dbcb789a5baa0ba3f3a6a75ad3c98f677bcb176efb913a5efbaaedde13c805697bccf3069baeccbc2b7a63f6b3cb5bb8ebc5215af37448594bb27e0cc3c62d992bc95eddd399e0498bbf376863ccfdb57bc09a40f3be495c0bbdd6e763cf71f49bc0d3bda3aaf67c4bb33f3203c72fa53bc1e2414ba5b357eb906a7aebbdcb5403c19aae53a6fa979b9d52d01bc9b3ed63c341dd23bd6023bbba670b6bb0e40b43c312d023ce4a28fbb9d72f3bbddf8d73c9b153d3c219ac7bb3b7e44bbe7f08b3c093a403c858bccbb973aa0bb593db03ce8453b3ce06cc5bb4f3327bbd644833c40ae3e3c96b9b9bbebc430bb5e25493c48d85c3c3882cebb722b47bb2240433ce413d4bd6a23da3dc7ff9fbdb790a83c75140dbec37baa3d0130aabdf343d43c62a001be3d87353d936086bdcaad9e3ce2b7f9bdc39eae3ca3066ebd2adaa03cb238b0bdd2c4733c0f3a02bd193de33bc11b9abd5ae40bbcac7c11bdc61d623c296936bdf1b667bceb11a9bc810bee3b1d9f92bc6dcc86bcd46f68bc97c2f53b79c997bbe4ccc2bbaeea06bbca484bba2c76613c9b2dbabdc71a1c3f4355213f2519093c2ca4b3bd89a70b3ff69d233fef48a63b59bf8dbd672ae13e4edd1a3fa5b7af3ab3bb5ebd2e8fa83ea1d0113f56850d3bbe0828bd3f836d3e15f9e93e77c09bbbe292b6bc049cec3de8a9d83e0c95cebba358fabb0921de3cb94da23e0f564dbc783a4a3c9a717bbd83146d3ed488f5bb9fbf553cc167d9bde509003e0bf2cbbde0f89a3c000000000000000088b2e4bd371cad3c0000000000000000c1aed7bd9b3bb03c0000000000000000abbde7bd06afd73c000000000000000043e8bbbdcfbbb53c0000000000000000db4ee0bd21d3f13c0000000000000000819cc6bd1783de3c00000000000000008eaed2bdeb82033d0000000000000000c20da7bdafb3d73c000000000000000027ba03bb5909583b332b9d3bef37bdbb694e36b9142bc2ba2965b63ce33257bca24620ba7b9583bbbe4fd03cc84455bc378805397a469abb7f2ad73c65854fbc96626139ea11a8bb4c6bcb3c5f8a61bcac11023be4e8f1bba6d4b13c305538bce4c2a83a5f3dddbb8a06763c59c1fbbb90edcf3aca16dabb952e3e3cd99207bccd48b03a12b277bb6c02c13b5eb51fbc9806683b0aa168bb2c7f7bbb59e9733c835b563b85b69539ab12d1bb80aec53c5164d73b884847bba04a81bb603dc33c7d9f163c0b9e93bb1b0159bbbb17a93c6acb223c8fcad9bbfae086bb5472ab3ce2cb343c0602d4bbc7a613bb19c07c3c4e7f493ccb4adebb3a3eb3ba66f7653c48bb353c1885c2bbb53acf375d0fee3b04a7393cc065a1bb4c3025bb66d41e3ced9cc5bdf84ab83d21509bbd0a72bc3c81cdf1bdf7be573d9401a9bd5325db3cbaa4e1bd5e9b193c83a785bd38f5b43c5804c4bd075b65bc131750bd9eae8d3c9db39bbd4c13d6bc0d8815bd79f5593c082f52bd8c0e09bdc01addbc8e692c3cfa98f6bc312117bd0efd95bc1f96e83bd51f66bb7da4e7bcafb419bc968d8f3b65ed853a12883dbc7cf1293bf2bf50bb6e4f103cbc2d84bd22ead63e78e6513fb0c9813aa56c6bbdaf43b73e6261553f9d0c8ebae7912fbd0f1c8d3e2c61483f2f5d86bb64cae5bc0a56453e9294323f254a92bb98479cbc3ae6e43d6609193f8f960abcf6f19fbb16aa1f3d39b5f53e73560bbc1260983bc778d1bc7f18b83e99092ebcf0ff813ca3879ebd96ba6f3eaa70f7bbb0d6873c6a12ccbd3273df3d2f92f6bd5318b93c0000000000000000985809be71c1c93c0000000000000000736b02be4273e23c0000000000000000d3f3f9bd01d7e83c0000000000000000b86ef3bd3d5c003d00000000000000004199e1bd9ae3fd3c000000000000000079e5dbbd66340a3d0000000000000000fa24d6bd2c42153d00000000000000007540a3bd93c4d33c0000000000000000b418acb982f46eba1adc123cb8e151bb99a94d3a62bcd0bb812fb03ca5c4d8bb62a1463a689f67bb33d7a03c55afddbb5bd53b3a6848cbbb20cbc03c444662bbbcc2a73a0280cebbe6c29c3c71e6c5bb1ca6363a3e77a7bb27b7843c57714abbe460833ac32f6dbbd148363cb766c3bbfde4c53acf0065bb770e9b3b6f89e7baba9ba33ada106dbbeba52b3bf2886abb19349c3b1e67e9bae4310fbbcc5e513c9944993b5a93d0ba145e17bb1038a33cec33003cd835a2bb318070bb61967c3c87a5d03b028158bb86a1d4ba0849813c96eb073c10a6aebb864624ba83302e3cb65b053c30b27dbbc768a7ba08be263c33ea1b3c308ca6bb3937d1baaab4e73b48d9f23b65fd6abb385713bab766bc3ac168cf3b383a18bb95a33f39b4d2fe3a248498bdcf2f523da92390bd97d0b13cb21bb3bd9c3f2dbbe93496bdf772da3cb2c69bbd9c67d5bcf19035bd71c56b3c058a87bd939375bd19d024bd4d084e3c683e42bd9b9066bd414ab4bcfb68c23bfe6a01bd5c7c7bbd4de2a2bc1bfc883b5c3283bcd9e730bdaa36f4bb53e9013ada11d53b1a380fbd6898e3bb79e4163b7b8b283c5e5e44bc1e32873b824b6bbbe25dcb3a0fef16bd247d723e2f73803f5a0a81bbfc81c4bc3974363e5957823f2088f0baf85ba3bce2bb0c3e8139613fd2b2d9bb2ecaafbb9191943d1dbd4e3f966aa7bbfbf4fcbab07dfb3ceec9253fdffec3bb632bf43be8198abcd422043f24a0afbbe0223d3c3dd532bd39c4b33e96aebdbb7ff49d3cb5b5a3bd8bb4553e9b9ad2bb5767903ce7ffabbdd79c913d987affbd605cb83c000000000000000011ae11be90cde63c0000000000000000e531edbd1b53d03c0000000000000000e467f2bdd0dfff3c00000000000000001ceac7bdb7bde13c00000000000000001767cbbd795d093d00000000000000006220a7bd791bde3c0000000000000000cbeabbbda8330f3d0000000000000000a86798bda122cc3c00000000000000009088553a7dc665bbd953353ce02927bb600ec83ab25718bc8d8e9b3c9af22b3ccb0fa73a5a3b06bc0c8f953cd1ef313c1819e73aedab02bcd5a8963c993e183cdc6c9b3a1dcfd6bbae3a7e3cabc8c23bb7309b3a1694c0bbc7b5263cd6cc173c18a8363a17139abb5de0a43bbd9d0c3ca1d17639fd6eebbaa2491ebb810afc3b597b053abf6106395bef63bb83cd3b3ba490bf3b1fc22fbb58f453ba4ae90f3c1e17de3ab8462a3b9048183bbe75df3b1b94f63a943356b988eaec3a0fb2ca3b0e1d2c3bd3861dba77bdbc3aa128a93b2c9c593b78c6adba982d8c3aad35963b675a433a9e67cb390246c23a6adb2d3b4200e93a32994cba395a2f3b4e868cbae6692b3b427426baa6c6213b33be9cbb75ad413a482af9b9c60f703a8d5a75bbf5bf54bd9f6956bc06b137bd652e5d3c0bd632bdb3eaa4bd541a4abd6a9f853cc63b1dbd9d70debd66cb0cbdd5c6233cf215fcbc7bc8e6bde658b7bc5693713b4181a6bcf177d0bd25de6cbc8c1190bae4ebd8bb1e86bcbd76bd96bb30748fbbefadc93b5bcc8fbdeeb4fdbb104fcab8ad9c913cf60d25bd97be74bbb88246390dcc833cc77f86bcdc37de3b05c77bbb32c42cbb2576afbb6d557d3dca5a993f5610d4bb123f043c75c5a83cb2f8943f49c3adbb4c7a073c17132a3ab202843fd7b0d5bbd4f8433ccc4ba8bc204a5e3ffe25b0bb8d7f493c2c5d1ebdcf5e303f51ca97bb64116a3c71095ebd28a3033f7d6680bbde7e563cbc1083bde19da93ed648afba3505463cf48372bd01c0193e99104dbb3cb88e3c3f7780bdd881333cb62701beb447c73c000000000000000092d5fbbd9db7db3c0000000000000000e646c8bd202ac53c0000000000000000daeaa6bd831ed33c00000000000000007ef886bddb20c63c0000000000000000d48076bdd666cc3c000000000000000012ee72bdf6b0c43c00000000000000007d787cbd58fcd73c0000000000000000644041bdb522883c0000000000000000000000000000000000000000000000004aac0d3b27aae6bb86a4663c4805db3b80aae93a7733debbf18c883ca55d233ce4fec23a500aabbb3b6c663c0e22cb3b3d42003b8d1d97bb99923f3cf053d43baebbde3a02298ebb8d98f73bc7c6fb3b8cee803a231e35bbb57de33a4273203c33f32d39ab1a6339918a93bb5b4d173c0000000000000000000000000000000000000000000000000000000000000000c8adb9ba5bec563ac7f0923ab15a363b28d682bba06a2f3be52b043b2626cdba1e7286bb959bb03a8b7f133aef3c4e3ad7d6a1bb5abba73a69e8efb8c1fdce3912439dbb0906e83a41c8263a35ca5cbac50d40bb9f39f53a89a4ad3a203743bb8e2e5dbb14ea513b1283f93adf81c2bb0000000000000000000000000000000000000000000000000000000000000000b6fc92bcb756e6bd745a1dbc0e268e3a278a16bc8bcbffbd9512b3bbe249deba4723fabba17ff3bd8037203b05c8a4bb360af6babbc4d9bd7fc4aa3bb7edafbbfc89a13b84d2b9bd4973843bd8d6cdbb6cd6533c70938cbd691e0eb9e4c5a5bb448fa53c42dd2bbd89f9babad9b0abbb000000000000000000000000000000000000000000000000000000000000803f3506bcbb068aac3cfb16adbdcf45993f4648c2bb682db23c27fe9fbd842d823f70b68cbb2751923c975c9cbdc475573fcb468dbb24eb8d3ccda997bdfcf4283f1b1632bb556d743c4e7b8bbd9646f33ea0b0b0ba007d453ca8276abd1d12943e7f684fba7366393c3a7049bdc603dd3d000000000000000000000000000000000000000000000000000000000000000089f681bd6c29673c000000000000000065fb00bd8056293c0000000000000000f38691bcd1490a3c00000000000000008a19f4bbac07fb3b0000000000000000ac700dba55c2ca3b0000000000000000bfabffba7e3ef93b00000000000000008ad961bb9477da3b00000000000000000000000000000000000000000000000000000000000000000000000000000000a91cd6bb7bd7383b1191433dd92d553cefa89ebbe6faad3b95cc3c3d2bee7c3c025832bb4d86003c2d6c1b3d34f38f3ccab983ba3febc23b9106f43c46937e3c8616c538f3dda53b975fb13c96e1153cabe6acbaf2f4a43b20c4283c8716d33bf46b55b8363ad03a65dd7738fc99523a0000000000000000000000000000000000000000000000000000000000000000b70629bba9ef5dbbb637c0ba99440e3d105a01baa23116bbdc46aebb7be5b63cfe05533b8ecd97ba9219c1bb83fc453c0dfbf63af1a6b53af990f0bbdf9aba3bf8e5993b0ef1bb3a99670dbcd9bcd3bafc767b3bb46cbb3a6c1ae7bb19fa97bb3180193b5e73e43a2222debb620477bb00000000000000000000000000000000000000000000000000000000000000004ab47cbe959611bccd5b483c7c84a7ba07286cbe443ec1bc447d013ccd24a03a441b5ebe155e14bdce909d3b0b19f43980a62ebe206a0fbd7601403a78547cba2857e7bd35b6fdbcd78bafbafc5fb7b9751375bdb5a1adbc780a5cbb4d0186baaedfdabb775fbebb34ae54bb8dda15ba0000000000000000000000000000000000000000000000000000803f000000006c64eb3c2c6811be3fffae3fb456e5bdf200c13cd8b0c7bdc769903f9ca34bbdb5baa93cd837a7bdbc67733f2ab5cabc262d9e3caf7d70bde8b5343f51f871bbacb2833cb2e1f6bc81aae63e588f2f3c00c3103ce5f843ba1b4e613e5ceaa93c133e293b7f99a43ca36e80bbc355603c0000000000000000000000000000000000000000000000000000000000000000dfdd7e3c1b1c0ebc00000000000000002678853b7762e9bb0000000000000000ffe2a2392089c7bb0000000000000000444dc03ab934e0bb0000000000000000d756e8b96aeabbbb00000000000000008934ee3a9e6c9fbb0000000000000000810ad03b02118ebb0000000000000000000000000000000000000000000000005f2ff6bbb177ddb977f5d43c9244c53b82203ebc75fd0d3969592d3d0b190b3c2dd704bc2c5ca53b0559463d38b6813cea05dbbb1f2d033cd0cb2c3de45a983c3e242dbb5b73c83b3d42fd3c46f5603c909d7cbb3d52dc3bd185b73cb8ba1d3cae6851bbb6b89e3b89c43a3cfbd48d3b7098c8ba2ecb3f3b62cca93a07affab9a0e7c3baa57525bb02ad8bbb040ab9bb79c8c3bb2cd0ecbad40a6237a96a223d8f0a72bbf4b22538018a01bbde44303d8040f4b9fe021fba863a27baf8f8e33c29300d3b5ec3993a9ac695bbc7a1973c9477d33b3a682f3b80c0babb9c47113c6e959e3bc7b34f3be30ffdbbb449713a0fdbe43b22373e3bdb1cafbb0321c7bbd171e43beafb793a69b5b8bb5949debb1d4c3c3bf5acb53a04d0cebbda25653a951527be544eb73c4f6a00bb04b1163b42ca55be79a4e03beb5e05bc77ab473beae378be8152c6bcd3c2f3bb59108b3bcec360bedad613bd80d121bc60a4663b13fa2bbe23b621bd50a466bcb6b23b3a9dafe3bda4d51abd4ca37cbc8d326e3b339e4ebd5065f5bc12b563bcaa9ad03a02a1c2bbf92571bc12943ebc7d13d6b9219eea3cbf06953bd76b00bc577ad1b9326b3b3d14e46bbef410af3f224b21bce7ab2d3dcaf03ebeb7b5983ff95e4f3dc25e193d0e212bbe36d58c3f71a0883d2327093d479f01be8581623f85f1b13dc03fc63c1df8a7bd6394233faa2ecb3d44f8ab3ca80f2ebd6330ca3e459bd03d3632673c7618d5bb7093283e7555b93d48f7183b68f4b13c61bf9c3b42c6853dcbcba53a9639133df64f1dbefb43be3c2e6ad5bb4391ceba00000000000000008c709bbc367ce737000000000000000043dcbdbc897782ba00000000000000001f3acbbc5c11fcba000000000000000012dcb2bc51db3c39000000000000000042ecb5bc384c1e3a0000000000000000ba1daebc7776913900000000000000002e657bbc6069753b000000000000000082b681bbc3122b3b0000000000000000a29391bbbfe4e3bbee49a73cbbaec43b91bf8bbbdd5b2cbb1131133d6fb02c3cbce0e6bb6762183b8d892b3d2d6b923c4ea599bbdeb9b73bbc13143d6f8c8b3c82e795bbb409c83b6f87e83c51da4d3c7104b4bb3e92823b8990b73c0d08913b440696bbfa956c3b6daa3d3c2adf5d3a483ebabb4be32a3b4db95b3bcbf967bb0c7b25bbea79faba93031a397cb4eebbc45ec7bbacdca63a156d943a884cd23ccc148b3ad9ba9fbada9893b88abc003d7377323b02ea333ab2059fba4b6dd93ce738093c6f92833a247d39bb1676413c100e1a3c9b52483b0be75fbbaaf7763ba286503cacdf063b03576cbb8c9cbdba87c0433c735e813a88f0b5bbad1a91bb05e1303c99be85383ac4a2bbf44022bb63b1cd3b0fe017bac15d16bb5735d7ba9bd1eebdb36f093d17b0bcbcb2d9e03b249043bebdbbedbb8495b6bcefae193ccca556be8f9c15bdb763c4bc4d95023c90b539bec9555abd7e72edbcec620b3c125b09bed22169bd4556e7bc9400de3b1716a6bd7e0058bd5ddefbbc95a9ce3b6e0310bd5e7c17bd32d5cabcef7caf3b73556e380df4b6bcbc8d97bcaaba3c3b6deea73cbd27bfbad77716bc6660b2398c6a263d72bc56be71de8e3ff7f7543e0567353dbc7a5dbe10ef8b3fea316e3e070b1f3dc44a39be5e36743f40ac7e3e184a0c3d50eb06be6fdb3e3f3f83813e6580e13c722bb2bd158d053f6806743eaa82b33cbc0c2abddbcb973ef1e65c3e4ad4853c692e24bc273ee23d7748283e15c2273c20b8493c081cd7bc86abd03d0f1b933b9b15c13c8474debd7d2b213dc40259bd964b243c00000000000000004fbb81bd5e2c1d3c000000000000000044477ebde0b0fd3b0000000000000000c6227abd404e163c00000000000000005f1059bdc68bdc3b0000000000000000f57349bdb4efd63b000000000000000001992abdcd10113c00000000000000004a2ef4bcac36193c00000000000000001eabb9bc6321263c0000000000000000604863bb26f0bfbb17ea9c3cbf98d43b0793c7bb1af3a1bbbc5d053deec8603c5527a4bb2ea0d1b97016133d5e87963c0004d0bb0577a63b929bf53c202e8f3c8001f8bb9e63213bd9f9e13c2596303c33b3e2bb767f013c20629a3c98ddd83be953ebbb8773893b303e3e3c35026ebafb90d9bb797fed3a73dc943b0ad1cbbbe83893bbda0250bbe5970e3a55791ebce29974bbac99b4392c2abd3a31e26e3c8d471d3bebf4f9b99574fc3ac90fb63c1f9edc3be4bfb53af2f4413a363e493cc0245e3cbdd9e33aad32d3ba87698a3bd3888c3cfeedb63aa23b1fbbbe2b7339f8cf513c57023b3bf3ca8fbb8176fcbba2167a3c92bde539585f8bba880b22bc3b0b413cfe653cbb783218bbf6637abb704baf3b36d304bb8dc94fb9648714ba3c4bccbdf216ce3cfca80cbd23f52d3caaf119be3301e9bc39d319bd1569573c1cb61ebe767f8abd666f23bd79657a3c6e3907bedb07a9bda8f337bd2a79613ca7bcc2bdb7dfadbd7e3e40bd10cd3d3c0be75ebdbf4090bddc6d26bd8fbe283c2e83a1bc9ee755bd72faf9bcc13cca3bf33f873b5975c2bce8f895bc8885333bbf3b963cb050ecbaa1531cbca83de93a46420b3d16cc46beb5f26e3fb166e03e86db203d0ef146be149e5f3fc81af33eba190a3d6a061cbe67f33d3faad0f33ed3abe03c45f9dcbd3bc00f3f381be73e0e85d03cea108abde8efbf3e201bd03e6a61b23ccece09bd2c25503e33b8a73e56618a3c53d7b0bb9cc7803dfc46673e4ba53b3c222a003cc54200bd8306f83d14cb1d3c1b9a653cc231cbbd9d311b3d34e4d9bd4560a03c00000000000000002a87f3bd71e6b33c0000000000000000718be8bd7633993c0000000000000000b03ad0bdec92913c00000000000000001007babd5f9e7b3c0000000000000000fd949bbd74bd7a3c0000000000000000668873bd94a9703c0000000000000000854936bd86ff8c3c00000000000000005f57fcbc06fb8b3c0000000000000000fa151ebb1d5313bc5175913c7b03013c55f777bb1596e6bb20b6d63ca703763c432bd8bb01ae23bb076cff3ccc459c3cc60dfebb50ab0a3b08f0e73c384d813ca81bc6bb3899a23b576d9d3c69dc573c0fe5eebb42998f3bf16a953ccffda73b6e1008bcfc7db43b31d4213c80f161b96226afbb63f9ff390e9bc93b71000dbc5f3e95bb02ba0eba0592b13ad05844bc66a430bbe9ae00bb40e324ba010e0f3c50341c3cd0636bb9813a2c3a68ab413c2461503c71ff343a6298003ac1fdb23b6ba99d3c8a14653a2c2135bbbcb844b9fd646f3cb122303b4828caba428f8cbb59d19b3c4ea1c73a266ababad8ff2ebc4f30763cc2f9e3ba8a51e93617062bbc8478573cbafd7dbbba3f28bbdc066cbbd71f193c2776c0bb7881143a3e2580bbb9ed98bd3891313c0d4f2abd61648b3c59d5d3bdd78673bdf2273fbdef4b873c40a2d7bdce24cfbd58b448bd996b823cb872aebd63d7f5bded855cbd4643883c5c9377bd5f3ac7bdbddb51bdc2c3463c119d0cbd9e26bfbd3d2b2cbd7c69303c86ae52bcb10a64bdebe7efbc68d1d33bdb17673b694fddbc96ac89bc7634543bf3738c3c9c3091baa7b6bdbbdeb6383ae8ddcd3c32ab1abe1c1b303f1b50313ff447e63c8e7611be8ff61f3fe7de383fdec6c83ce3e7e2bd96ba033f0633343fcdc8bd3cd20e96bd4095bd3e8bdf263ff11a933c30bc38bd23b5743e4744073f63b3953c70aeaabc7561013e02a3d43ebe657d3c5f0ac9bbbb511a3dc053833e54ea1c3c3c61b23b3069e2bc3551003ef991163cdee72f3ccee595bd2894b23c7f5423be7a6af03c000000000000000097512bbe958e053d000000000000000036971cbe1258d93c0000000000000000da5610be9cbfc03c0000000000000000417fd3bd7897913c0000000000000000dc36c4bdfaeaa33c00000000000000001af78cbd1542ad3c000000000000000014b348bd26c0ab3c000000000000000071941fbd47fdb03c0000000000000000fa7b4bbbd8aa25bcea7e3a3c56ff163ce8cbb7bbba9cbebb2bafb43c6fa5933ca0dc06bcc36895ba7ac3c03c94c4c33cb9b5d6bb26470a3b6946bc3cdf29bc3ccafae3bb15b5913bb0a8993c48f9783cef2cecbb5986aa3bb6267e3cd8f9093c4638ffbb4b34983b25c0393cb5f324ba4fd7a1bb99b36d3b8e359e3b2c47f0bbe55683bb76bfa8ba6f4c273b38741cbc88856e3b45d06bbbc89280390bed8b3bbb55833cc079f3bb64a5db3a2a1c8f3a8dcfbb3ccddb85bbd1c4ae3a6f30acba7021d03c74cd90bbb5beacbaa3210bbca4a3d43c1d7e95b92b6449ba541126bc7a35b43c20562fbb984f27ba640a25bc2157a73c0230a8bb70108fb9c09e25bc80217a3c3225e0bbacff603aa4f0f4bb056b0a3c1dfea1bb7a49aa3a2fe98ebb18ef2dbd430293bc11332ebdaf6b8d3c63e863bd2f94d4bd4c662dbd7db1a73c094c6abdf07b16be730559bda267943cd44d40bdff891cbefbd269bd1587a73c62a604bdb6e60ebe4e6953bd2103553c27daaebc5a92d9bd78e929bdec8f1e3cc1882fbc03c68abde0b2d7bca776043c4789a63a50dbf8bcaa422bbc8f19d9baddbd4f3c961065bb9f7baa39cdb434ba1bfd7b3c99e4c2bdca88dc3ef09c703fe19b8f3c5b83b7bd7167c23ee35f753fea6d813cea9383bdabab963ea6ff6a3febc4823cd86d20bdef054d3ed4904d3fc6324e3c1e95bbbcc9e4fd3dc933283f280e523c6f1f55bc6fdc8a3d6e15ef3e2e95523c6f8c9dbb0098b83cc2508e3e75bd153c6940c1b9083719bcffb6e23d5c7ac43b5fb32a3b97d72abdf8cb96bb59664dbef124283d00000000000000003b7955bea9802b3d00000000000000003f403ebe6c0a0c3d00000000000000003f951dbe0567d83c00000000000000003ae402be1370ca3c000000000000000002f5c1bd707bc53c00000000000000008a4e90bde10ea53c00000000000000003f253abdab43cd3c0000000000000000e6a422bd6b4cd73c000000000000000018f773bb9623fdbbc0eb093ca389213c5a5f8bbbd215c2bb62e0603cb416ad3c0cef9abb92d3a6ba97e79a3c5417e73c85970ebcd26d913bce719d3cc3f5d83cfc95e0bbc30dba3b6ef6703cc2039f3c6ffca9bb5b68d13bbba8513c5dde323c402cd2bba2108e3b7709303c4e75063ba570adbb5d32ad3bb7cd893bc5c6eabb28780ebb63efd9bae973103bae4236bc41940d3cec0300bc8c6034b98ad73ebbabc4c33c452536bcf5eca638a8ac48bbe7b9d73c2a04cbbbb11038bb0e1204bc517af83cff4ec7bbe61920bb46e31ebcd0bad23c2c5e4dbbc5b99eba937720bca805d23c78f63abb962321bb68da1ebcd900a03c6d7be3bb53249539be9b0dbcba877d3c1738e8bb4bc49fb83e67aabb316ce33b522bb3bb4021b23a116c58bb343407bc22ba4bbde35acfbc53a57d3c166649bc7c4318bec6b00bbd52c0923c42dc66bc60ab43be71ed38bd2f07a43c1f3f8cbc50f243be2dd13fbd4145833c72da7dbca69a25be24ba31bda72d353cd81a4ebc2b8f00be813603bd418edd3bd86523bc99cb8ebd17de86bc7485ea3abc7a47bb188eebbc0f9d87bb21ec10bbbe0bc93b8102183a5bd7c43b35843fbb064dd83b93a535bd302b533e57818f3f6701ff3bc89317bd7ab41e3e56a0933f0a13003c8c95a9bcf479d83d5212893f3fd23d3ccc662dbc96ba843d30c86b3f3ad3143cdb29b7bb5e76273db278373f80d6fd3be5707bbb8f5bde3cbf69fd3e2d62063cf62f15bbb10a763cea10883e02aafc3bead881bbf6d6cf3b7828ab3d5906853b973518bb0000dabb66f60fbdf86a5ebe048f383d0000000000000000a41761be3352373d0000000000000000b0463dbe9ff6ff3c000000000000000006d01bbe0200d73c0000000000000000fd6be8bd4e5bb33c00000000000000007c7da8bd06d89d3c0000000000000000d5625cbd57eda33c000000000000000060200bbd3f1ca23c0000000000000000cad2cfbc61789d3c0000000000000000d94157bbad90ffbbd1046e3bf4bf993c034f1cbb1858b4bb8337bf3b371d0d3d9650eabb0744c1ba4c5d5e3c3f26263d3bc9e4bb31f3a23ba501533c62171c3d85d3d5bb4281d63bb140593ce753d83cb7b1cabb0815dc3bc05f3a3c54c67d3cd58499bb63f2d73b9b4c073c8b80b03bbc1eedba0228883ba9cdb53b0b5e9dbb4fc998ba79cbd9ba37ba063bd1bd30bcbd9d843c3ecd86bccd9d04bbe26f4bba987cbc3ceed086bc1cc8ed395704d0bb8069f33c5e2a33bc93a46b3929c7a3bb0e9ce43c2490d9bb678617bb3c8f03bc7590e73c3c6185bb17debcbae27d11bc4d9acf3c4ba98cbbb02d4fb924a811bca069963c65276bbbf6aa36ba83ebefbb0c6e4b3ceb4f6bbb243ecdb9bf69b5bb89f0b03b7ccbebbbe0b49b3a8eeb65bb400b9e3c0cad01be952473bb3e8b793ce30a853c5e183cbe18d228bc5115473c9b22ae3bf54670be5ea8eabcc042653c951b383ab4d865bec9e1ffbc30dc323c06a4acbb56d439bec66409bd3eb6a73b45e52abc0fbc07bef3ddb7bc9a0dba395c923dbc04ae96bddf9e54bc0660dcbab78a12bca102c9bccad6f3bad755f3bb7429f33a97466e3ce8a96e3cf103a2bb1dfdcfbada6b923a734a24bc8700af3fbb51853af2fac6ba25c2c73b5ef39b3f2139463b1beed23b3bebb3bcbe14943f0327833bcb1ef43b7db2c9bc3c0c773f78f7813b6bfffd3bb7299dbca8013c3f8350b93b5f868c3b7de029bbafe0f83e6406bd3b885d9d3ada26143cdb67793ed943b83b9038cbbbe167bd3ce696683d17b7ad3aed3a91bba0c9ba3c1615efbd55646ebe7f47463d0000000000000000aeb633beeec3173d000000000000000013c017bee1a7c63c00000000000000001929e9bd6363923c000000000000000022079ebd87646a3c0000000000000000e5db3ebd50002a3c00000000000000001d82a7bccd7d0f3c00000000000000000a99913aa192cb3b00000000000000009f2dd9bbc7934c3c00000000000000000000000000000000000000000000000037b351bbec2c20bbc6ea603b92233a3d16d290bba62a243b7e518d3b258a333d1b29adbb204bda3b60320c3c8c961b3dc6958bbb64f1123c7e85d53b3ca6ef3cf24c88bbdc91f03b4f02c13b17c8863c9cb1e0ba2be0ea3b6971803bbf8e093c8a9c65bac9917f3b49c2b13a2b017abb0000000000000000000000000000000000000000000000000000000000000000d0b5ae3c2fba60bc88dd08bb30881dba8ebbb73c114409bc3f6e9dba8e9b81bbc8e2cf3c6bd077bb153b7cbb72d02ebbad41ac3c266d09ba48069cba532be8bbd3cd943c122775ba90ec73ba4a31c4bbe9bf343c16d176bad5a603bb821b9ebb3873da3babdefdbac6fb0e3a670b9cbb0000000000000000000000000000000000000000000000000000000000000000e3abff3c38657fbe9fea023b47b9fd3b6c5aa63c818870be1e0359bc1cb55a3b2a10dd3b3da361bee436dfbc36b8003bc842363b602536be2670d8bccb3348bbfa4a46bbea95f5bd33e4a4bc97ba2ebbf24a1abc9f557cbd24ee32bcca0ba1bb16ece6bb3e6506bcf0cea33afc90cebb000000000000000000000000000000000000000000000000000000000000803fa4d3cebbb4cfea3cf9d80fbe03deae3f97f4a5bafe1db13cead7c8bddce28f3f7efcacb713a69b3c79dab0bdd159723fcd47e8b71eea8e3c9ad182bd68a2333f4980ad383516443ccc7305bdc604e23e2c01a93a7989ad3b036061bbb2d4583e6522a7b8f2338538de6dc33cbbf65dbc0000000000000000000000000000000000000000000000000000000000000000dee9f6bd2a309a3c00000000000000002b3f69bdf0e5ba3b0000000000000000348904bd58bd043b00000000000000001680d5bb753185380000000000000000dd102c3cbe02f2ba0000000000000000f8a1bd3c099c96bb00000000000000001702c03cfd6336bb0000000000000000000000000000000000000000000000000000000000000000000000000000000027b1f5ba5f0a6ebc9b6e613d2be0823c7b94b839031a79bc60426e3d2123673cf312d63848e420bce3b3503db30c6f3c3b61413b63a64cbc8b16293d5a50583c3942033bcb28d0bb05c0f63c819a143cb7ce5a3b65ae98bba3f3573c9061a13bc4a60a3bc97250bb0b1e2d3b047648b900000000000000000000000000000000000000000000000000000000000000002e7a96bb550b12bbfcf350bc8162713d3619a4bbf6c4b9b9af7c3abc9abf513db27491bb2033e53a89a033bc0e902c3d83af69bb264f053b17f525bccf21123d67684cbbc5de653b14892fbc6d8eb23c410714bb0aeffd3a73cc01bc941e0b3cc025b63a68a12d3b37f0c0bba3418eba0000000000000000000000000000000000000000000000000000000000000000cf8383bed8ff8bbc7e7ea63c2df462bb804a7dbe6d4993bc3df6653c3c688abb53086fbe8399b5bc49f8633c6bddf7bb15193fbed2e9b4bc58463a3cf1efe6bb6c2e02be876aa1bcfd601a3cfd9502bcd73481bd7f1517bcd05dbb3b0d03dcbb589f60bbdaa791ba59d9873b1c69ccbb0000000000000000000000000000000000000000000000000000803f000000008601bb3c016314bea77fb13ffa5fd6bd7f796a3ccca4dabdf4a5923fc09660bdf9fa413c2cc2c0bd545c763fc40522bd61f81c3c45b693bdf964373f974dcdbc7c989b3b18b323bd093feb3e8c6d66bc6e765db9fe9bb9bb03bf5f3ea1bbfabbc248b0bbf6b8d43c404f95bc12e979bc000000000000000000000000000000000000000000000000000000000000000059715c3cbfa8c2bb000000000000000023c7243c9c9c99bb00000000000000001bc7383cef4da4bb0000000000000000ddef513c7d8cb8bb00000000000000003bad6e3ca799d1bb0000000000000000004d713c84b1c3bb000000000000000014dab73cfaea09bc0000000000000000000000000000000000000000000000002cb92abb696d84bcb95a2b3d675bfb3b1750dcba9011bcbcaca6763d3456d63b1cb985b81a219ebcde22883dd9db143c7cebb83a99c186bc45546c3d8740143ce9a9d53aced74dbca32e373dcbf9c83be5d55b3bcd1918bc9380eb3c3d3dff3a669a1a3b7daca1bb8531533c442eedbabb173c3bde80c3bae3dae33a50eb9bbbb459a539c5452cbbb1702bbbb8ac1cbcf302e3bb822b3e3a82104cbcd4dd8a3d26c10cbcac53803a22536dbc5dc2983d47e4d1bb035e2b3b48d746bc95f4793d4b0262bbf71a753bc47041bc76f84a3ddcea9fba6a66493bd5e320bc2a44043de4bd163b0b76143bf7e1e5bb7301323c32c6be3b933f463bde40a8bb4b7c2abb94aaeb3b6c6ec2b91bf0f9ba9b267ebc5c5ff43b36244c391e36eeba6ee580bc027b5bbed3e0273d7e232abb77bb373a378980be8a780c3d4d6714bcc06d4f3b71e88cbefab5763ce338f2bb9872203af84e75bec8832b3a2e5130bce5b93c3a15a936bef31ff3bb45542dbc9f359cba0908d5bdb6b32abcc5b555bcd47298baf5a41abdba4213bc5afa5ebcd7bf6db9ca62013c1e2984bbaff446bcccbcb939249b3d3d3968aa3b9e320bbce5c3513a5d72f63ccf4f50bead58b13ff9e2c1bc8741c53c1ceb24bee81f983fb533303da314943c55bf0bbe861f883fd9507a3dbd8d2c3c6518c9bda517553f24d9b23db9e8bc3ba50b64bdaccb123f961bd33d47b8433a977760bca48aa23e52acdc3d62be2cbb6eed913c691fc23d5321cb3db11e20bc8a433f3df3596ebdbdb4a63d5f8a67bce2fd943dbb4761be6f03173da1a71f3b715b71bb0000000000000000518e08bcc3c845bb00000000000000000db106bc610533bb0000000000000000b3060cbc294493bb000000000000000027dc0cbc889fe0ba0000000000000000910ef5bb117f25bb000000000000000077480fbc2a5a13bb000000000000000010791cbc0ab0a13a0000000000000000fdcb103a058445bb00000000000000007196a2baa73e99bca073243d9d6309bbc945d7b96a00b3bc32c56e3d13b9153b1f4c17b701c697bc35956f3d3d31af3bf0ec00b9a05c7dbcd4bb4a3de8e2d33ac24dfa37c3094cbcf7550d3dd9c24c38da4572ba7075afbb2b95a33ca78ac5ba0dad8e3a165a9cbb90c6113c15e28ebb451078b8b86020bb34ef713a1d6f08bc23302c38cca3f6bac46618bbf04c42bc37f321bc40939e3baa4132bce766803dc6c0b9bb18da633b06d523bcd44c833d1adbceba0aa1413be5ad25bcfde05f3df67c963bb8dc6e3b0f53e1bb44c5123d1266c93b2fe1393bbcff88bb9179923cf5c0383c46ebf83afb1919bb7a3818ba64a2613c938fbfbab9c0eaba2f3b1abc8e428f3c9fd78ebb00da643aca6f9fbcc6cc4a3c6a2758bb5333d53a2cfba0bceb5c4abee536ca3d835017bd6e3f033cf41a80bee6ef683d140f16bd8411243ce6fd78be12d5b73c4c9d24bd9cf73f3c290845be0fbe863b8aa120bda881f03b12ef01be44241fbcbdb227bd94e51d3cfd166dbde9cac9bce8cd16bd220aff3b6b7900bceb8ecdbce2ae04bd20b00b3c70cdf83c7f79a8bc28a6d1bc95ec173c27ef473de4cf79bbb9589abc02bcf23b3ab3b43c2fb42ebe2f8c8e3f0bf62b3e84fc9f3c4c9f25bea74e853f7099593e7cdb5b3cb379f5bdea895b3f4854833e3c1ad83bf4ab95bd2fd71e3f4d428c3ecc2d263b679deebcf802c23ea8458e3e601518b8fe7d6b3be4f9233e79e2883e36ba95bb3663023d504d24bce13b683e95ce1bbc35726c3d14100dbe34d02e3e2abb44bc7909883de8fc54beaa76e13df4a1c8bc12bd55ba000000000000000080b308bd133611ba0000000000000000ef1c16bd2d2d30bb00000000000000007fd015bd7e26833a000000000000000050e510bd61b50cb9000000000000000046921bbd12a00c3b000000000000000036a50dbd005d563b00000000000000008a3e0ebd16f0c03b00000000000000007eb013bd2068283c0000000000000000077f6a3a93818fbcb713193daee4f2bb8e7ba6b9de4babbcde1e5a3d8c76a3bb0a9d883ad0f892bc6e9e423df6a7c3b9704021ba492c27bc5baa103d73fa6ab827e11e3a982809bc21d0af3c0e508f3af384c3b9aaea37bbc7d33c3cb04148bbc67282ba39cad5baae37aa3b49aadbbbc0d3a039ef9e82bad32861ba8d9414bcf7b2a0ba21c629ba2d4330bbd30362bcd2c523bc8984c33baab6a9bb89a13d3d80de4ab9f458573b7c97fcbb46904e3d0c8f093cb54d4e3b407ebabbb54c0a3df159283ce7b7103bfbde38bbb110703ce00d9e3c6fa15c38acb819bbb8c8923a7861c03c848411bb4f8f39bb2dd219bc67bbc53cbfcea5bbd3e5a13a72b8a0bc86e9c43c10c212bc023e923aabd4b3bc29a7a43c44fbcebb07c4513b9c51afbcbbe642bef2c3013e8ffa85bd92b4873c0e5a57bed78d7c3da64e8cbd7671ad3ce34136beba31433ca09e8abd8b079c3cd66700be790c9abc59678cbd400bb73ca02081bd167835bd409488bda9e58e3c88f87ebce54554bdb1ef6cbd5c3c9a3ca0a9a73c4b4749bd8c6c3fbd2513893c7ed4373dea7f18bddfdb01bd548e773cce165f3d70ce93bc0dcfb4bc3fb0573c68e1643c1be60ebe523d663f5c61c43ef43b643cc72fffbdd9c3483fdeefe93e3feee53b1627a3bdb2c8183f1408fe3ef6d63a3bd1671fbd6ebdc73e2052003fb7f7a73a182496bb912c3d3ea02dfb3eaa7efbb96080893c64bb0c3de569db3e3b6898bbdb7c293dff5bb2bd38c8b13e9b3cfcbbb02e603db8d426beee197b3e734cf4bb7bf05a3dab8c4fbe14f01a3e263865bda5d6463b0000000000000000dc5795bd0f679d3b0000000000000000347099bdcdca973b0000000000000000fc2f9abde380483b00000000000000003c9695bd1093f53b000000000000000075c294bd4c01083c000000000000000054328fbdb0a1413c0000000000000000a64293bd44aa9a3c00000000000000001e8291bdcec3a43c00000000000000006375853ad94e84bc9ef9143db6a654bc4976293bddbb98bcac58283d3938f2bb61a1513af7bf4abc09380b3d91b43b37574d873a52bdf7bb6df3b03ce9813e3b352ca9b954de99bb10b5513c0c7cc03af87a11ba54fd20bb9b11ef3be1a966397044353a3b2320bbc28b713ae4278bbb25bd8fba5d50de39b3b101bb042816bc9cb8e5ba0d78973a20ccb2bbbc134ebc962dbdbb2d62c73be417b8bba277163dfdc0093c92fdfd3a964b47bbe11ceb3c200b5d3c4ae8813ae43023bb9664733c4d52c33c30a24cba92daf0ba5470caba4021ae3cb1f431bbfb025fbab44497bb5a27ec3c55eeb7bb736b603bd8aca5bca537df3c693408bcbc86233bc06da4bc9ab1ce3c18004dbc59e1713b1ddfbabcc562b93cf06552bcbd518a3bd6b19fbc636d24beaff0f93d569babbd9025d13cf05919bea537173d2be4b4bda97ee23c7b16e9bd2c1b9fbcadb2b1bd269be83c251d73bd0eb780bdcb8ab1bd1c68db3cce1ed3bc88b189bd9bb89bbdd7f9d93c194a943c603cb0bde71491bd46e3d53c7a55113d81fb83bdbfb04cbdfd69bd3cb4714c3d5cb043bd760ef9bc46c2923c3991573d90a6bdbca4ed9cbcfe17853cb0c3d23bee68c6bd4c1a233f5955253f7976a53b1bde9abdbacc043f6f6a363f9e231c3b9ee22bbd3097b73e2e233c3f4366b13abfee17bc8fc4393eb232393fd62a6cbae246b53b8d7d713d7f75243f106349bb93aef93c61e575bd3ae3103f6dc384bb65d9143dd788f0bd0d99d33edf56b3bb9b43293d94951fbe64bf8c3e6cdcaebb6c622c3d95ef2fbe02921a3eadb4d0bdf4cc2a3c00000000000000000b0be1bda129423c0000000000000000030ae4bd7911343c00000000000000007c38ddbdb2ec363c0000000000000000f49cc7bdbb8c403c00000000000000000faed0bd3dbd7f3c000000000000000026c8cdbdd177ac3c00000000000000001bbdc8bd5329ef3c0000000000000000e7adbfbdf3cd013d00000000000000007856123a23f95bbca611ec3c10f876bc0f30203a174636bc1d9dcd3c78bad4ba11c838ba9fdbe9bb812c993c73cebf3b65710b3a94b661bba4b9293caf9e073c49060bba8cc229bb5e48ab3b1eb5213ccccceab87291b83953d57f3a05fbab3bf46ca7ba0e977bb8dfbc513aea23a1bac95609bae1e3e9387ffcf3ba367ebfbbbebbf7b9b20c4a3a57bebeba1a6127bcd36f453bcbc02b3bd33b9eb90e4a943ce7bca53ca42174bbf9b9cab7c3141b3c932dd83c5b1a96bbb8e5263b3c0044bb7427013d6a14afbb03b2b23af0cc48bca734113d918706bc4841073bfc588bbc15d80d3da54942bca2d2263b8d52a0bced57fa3c2cc254bc5b9f923bd0a4a2bcd01fe43c01fa82bced2fa43b4259a1bcd096933cc3a04fbc0b46983b7ba190bc9eb4d7bd2ba8ac3d82d5bdbdcb87f53c7ccda5bd90e2b3bca363bbbd03d0093d4dcb38bd45c3a6bd3b75bfbd01a0083d3d0326bcddece5bd2223bbbd9c4e073d0ce6943cb35204be6345a7bd859bf33c4d12033d7242eebdf27a7bbddc3ee93ca4192f3d344db7bd4da028bda5c1a73c89593b3df5af6dbdaad8acbc5024863c0a16323d37c4e5bcf5bcdbbb982f4c3c08a997ba9e7c50bdd416c23e3891673fe09cf4b972f115bde46f8e3e4954763f9b64a1ba260536bc08651a3ec97d753f0d3aa6ba32b5b23bc67b453d5556633f34790dbb3fbaaa3caae331bdb6d0493f4ecf20bb1b8acd3c4454a6bdc9201f3fb1c3ffba42a1d03caef9e3bda8bcde3e23cb62bb0f34d23c8b05ecbd00f0803e903e52bb3093b13cb944e4bd85e7e63d47770dbe05e7923c0000000000000000cee71abe46b59a3c0000000000000000bd7411bee2cb8b3c00000000000000000d4704be5358863c0000000000000000052201bec0c09a3c0000000000000000f347fcbd4f6ac63c00000000000000009a8cf0bdaa3c053d0000000000000000f2a4dabd8879173d0000000000000000a754d3bd8ba11f3d0000000000000000647b6a3a1bdd04bcd2935a3c328b0dbc8c962c3aef2ebebbbb83213cb9c5c63b017f4139ebe608bb4207913bdb96923c97c7a2bae71802ba08020c3b33c4b33cd12fffb9b14dc33a96ee81baaaa1a23c84b3a4ba5c7da83ab60d32ba9fd66a3c17fca4ba0c230b3bcc841fbbfc51eb3bcae31aba4d9ec13af40ab9b8aba33fbb738727392759ce3ae0a319bb0206cabbfe95693c59d1aabb3dfe313ae7217f3b5079f13c6ebe1bbc9d7b2b3bfe7bd0bba0b9103d14b928bc702e203a77902bbc60e6163d32de34bc86942b3b2f6d85bc2bac0b3d09353ebc1fa1dd3aee3a8cbc4cd50d3d7ce35dbc9f35533b3c3f8ebc8f4ed53c238556bc78419a3bc66e8fbc1998bf3cdc177cbc5aa4793b11d658bc7d78663cef0f55bc2637893b983e25bceac92dbdbb868a3c94e398bd1440053d2bcd67bc9aaac2bdfd0ba3bdf887093d194bfc3b0dd61abe11c6a9bdd0ba0d3d424dce3c5b0835be153d9bbd4238043dbd4b0d3ddddf2abea98d81bd69a5e83c727a1e3db40e12be89633cbdd2a4ad3c321f163d9ddfc9bdc3e7c9bcf4f5743c0828ff3c2aa266bd5178c3bb4763023ca6fbbc3ce377a9bc0742ca3ba82cca3b244b2bbb512ba0bc6b8b273e37168f3fc7e6dbbaa82110bc8e10ac3d5501963ff35603bb9e7c823b17ac593cb8d88e3f8ea37abaa6433a3c94ec1fbdaf8a803f564756ba32d87c3cffce91bd4374553f766bbcba11336e3cc6ada3bdf0231f3f4b1f47bae5dc563c569094bddc6bc73e19b182ba60e8dd3b3bc463bd8a903b3e169a6bbaf57b673b4aab2fbd69ca273d05e929be7df2c33c0000000000000000f6c431be3d57d73c0000000000000000256d1cbe5ae9a63c000000000000000087e90fbee95ea33c0000000000000000a87c07be8dc6c63c0000000000000000a690fcbd0313043d00000000000000006c07dfbd7706113d0000000000000000c44dc4bdac6e293d00000000000000006f5eb4bd123e223d0000000000000000fe4ac93a425c07bb86c1563a6bbb113c95a3e83a7e8cf3b81195eabb184bd03c0663c33842f1d2b82a54b7bb3c4a223df684b6b86f44523a3867bebb1088253dc96c95ba8e2df73ac968b9bb3f4a083dfd56cebaa624263bc3372abbe94ac43c436500ba11a73e3ae41f5fb9e7ec2c3c70fd83ba4b9e003b473ff53a49afaab91da0c4b750eab63a93ed0a3ace30b9bbb5fdab3c3f892ebc60e4f13819cfeabb9103f93ccdae7cbcf892e03aa2fe64bcd582fc3c947037bc56bd0b3b921f77bcbe2efc3c54c624bc409b163bea0d7ebcf7e0f53c0f532ebca0c9383b29fd77bc69b0c13c9c0d1bbc0d36773bfa5457bc101e923c45000bbcbc4f813b31412fbc22e4433c37d5eebb849c883bc1d1c6bb94658d3bd6b30ebc01b7473b2a736fbb9655483c1d9ecbbdf9ab39bd17d4eb3c9c0efb3cd7c526be436030bd0d08ce3c00921a3d9e3362bec95858bdbef1d23c7e802e3dd20367be3a603dbd7dc3a73cc410263d256f49be070420bd1b83823c6f68fe3c31be17bec4e2d9bcdfaf163c3506be3c689bb9bd7e0236bcc535813b6714093c0b5919bd4655a13bfbe48ebba50db93bd0e91e3be64ea23cecaf60bb8051aebbfb87133cb025cbbcc173b13fab141abba334a73b77afc7bca2a69e3fb9252abb7a575c3cd6f082bd873b983f25aee8ba9f5f4e3cda239dbdc2bd823f7dda92ba7a381c3c131494bda71c4d3fbe399aba6e5bd83badd158bd6b840c3fb4c387b9af6ca63948cffbbc1b189a3e014c473afbfd07bce0735d3a4bdabb3de79dcdba94b714bc3cc5963cd767bfbdf26d49be3de4fb3c000000000000000042d212be41aeb13c0000000000000000ec2b06be06e5903c00000000000000009b12eebd45afa73c0000000000000000c0e8c9bd5eb1b83c00000000000000008087a3bd02b4d93c0000000000000000ce7488bd1020ea3c0000000000000000270d31bd2abed83c000000000000000048b35fbd06c5053d00000000000000000000000000000000000000000000000019a01f3ab8a07e39845f54bc0f7c4b3dd56bc83a55d29a3acf1d51bcf3e9533d30a44bb9ed9e1c3bd1b40cbcf32b443d31b435ba914c3a3b1c8f0bbc3b55273d98890eb99a7f5e3a26ad86bb1db7d13c2fdb9639d6ffe43a940154bac12c533cde35aa39c1301c3ad9bece3a951b2b3a000000000000000000000000000000000000000000000000000000000000000053e3b83c2c912fbc970e8f3a28a25dbcf487a93c73ecdabba6fdaa3ad09b75bc3f87ac3cd1eeb0bb1035843a560e4fbcaa599a3c0b93a0bb985c3d3ae90d36bcf8196e3c1fa7e6ba9afa2a3b10500cbcfed2123c0adf69ba1599f53aa67bb9bbb8db2f3b2d9f4cbaac4c013baa2586bb0000000000000000000000000000000000000000000000000000000000000000efb2733d269484be25c858bca643653cbec15f3d46b17fbe67cb85bc4277ea3ba30b403d40f571be55aebcbc38ff9b3b4966283d1f0246bea40bb4bc2224ad3a2dccdd3c5ee305be1fbe7ebc0ee480bbdd68273cd7bb8cbdd00a10bc575ebabb3a08da3a761f39bcba30ce3b80930fbc000000000000000000000000000000000000000000000000000000000000803fca528ebbf06eaf3cb9740cbefa4db13f8a53b9bac0fb723c5a3bcebd38fc913ff017ddbadea4363c85a6babd16a1743f89b94e398eb5d13b742290bd9f54353f3ccd4bba2f01173bd95e22bd3a91e43e6c425eb8a37b9dbb80937dbbca3b553e2f3b673ac25f17bc5d51ea3caafff4bc0000000000000000000000000000000000000000000000000000000000000000a5d6e0bdfc9c633c0000000000000000090e65bd481a003c00000000000000002b511dbd2769033c00000000000000001b448ebc01d6003c0000000000000000a9b4c4bb45322c3c0000000000000000803ec23b2d46173c0000000000000000464c863b427c2d3c00000000000000000000000000000000000000000000000000000000000000000000000000000000f87637ba39028bbc84cf6d3d81f1203c1520f7b8fa86a0bccbd0883daf79edba796f2837eb228bbc9765813d321f13bc0733363a7d3d83bc99d3623dcb6e39bc34133a3a1a0c4bbc2782283d743738bcaf8a023a7410b9bbed88b23c680af7bbdfcfad3a3ed3e9ba57d7e63b3d62d0bb0000000000000000000000000000000000000000000000000000000000000000062dd6bbf4e64e3a3989adbbd650463dbb39a2bb2236d93a528e89bab8de2f3d67dd03bca1d28b3b7534ae39ef0c033d683019bccb6cd53b1ddbbc3ab86cde3c49720ebc2185ba3b24d05c3a51bb8a3cef95a9bbbc6c9e3bcb12b93a0d0aac3bf3385fbbaaa69a3b373ad8b90e066abb00000000000000000000000000000000000000000000000000000000000000003c258bbe4aa8a2bca644213d794b36bc44ca8ebeb2e9623c92e5cc3cf32d1fbc66fa86be74391f3d0115b03cb2e866bc00f563be406d533dfb756b3cab4668bc836e23be635a583db04b0c3c53c841bcfec9a8bd0cd1293d26200a3c10753dbcb6f964bcd8a5073d49ad05baf6ca0cbc0000000000000000000000000000000000000000000000000000803f00000000b3a593bbd99fd4bd626eb63f39da02bedeac3fbc29f963bd6f34973fa85ae5bd1d063fbceeef15bd999d7a3f35c9ffbd16f75fbce7389bbcfb663a3fcf7ff1bdf7e433bc7ced913a7dc6ef3e8779d3bd6c5b3abccee4933c08835e3e3c07b8bdfe4110bc6e0cf73c2c49bebc3b1c87bd000000000000000000000000000000000000000000000000000000000000000093f4a93b20236c3b000000000000000073204c3c7d98403b00000000000000003399c93c0dc73f3b000000000000000022460a3dcc82cb3a00000000000000001aad163dd665013a0000000000000000ed721e3d449f90ba0000000000000000025c383de24992bb000000000000000000000000000000000000000000000000821094391fb49bbc88e2593d02eae73a47ee343b63390abd188cb53d534e44bc58167c3a2b9ddebc64fcb43dc62ca4bc0f080b38fe47c3bc5702a63de2bbc6bc72fb5d3a0ec589bc6df6773d7bd6b0bcc5a6093a11770cbcd665113d22596bbcdb34a0395895e4baddc54b3cd1750cbc16f2133a4089ce3b3bf732bce2a3f4b936b0bb3a930d953b7c2853bcdba305bbcf4c5ebcc80abe3b723fd5bbe4b77c3d77d98bbb22d4443b547764b963e4863dbff3f1bbb011eb3b42a2643b52b0383d1489b6bbf377ce3b4805ae3b5e0a013db0df48bb5914c83b1b6a813b57016d3c067a52b87cf4a83b38e88a3bb9ee4eba46931d3b1248c03a6573c43a76e328bc61ef993bedf0a838ff28e739d6cabbbc72f8203c9fa77abab5ab86baa8a7c3bc705b84be6fc1893d32421d3c8b6cfcbba1cbaabea891963db79ca7ba459fa8bb959fa8bed6e1c13d486d51bc0f16ebbbcf8f91be0339bd3d33fd8cbcb1cbd0bb6b3255be4202a53d5887b3bc46aaa4bbc515f7bd402a6f3dc329c8bc79d061bbae2f11bd56030a3dfe44b3bcefa17e38f76d3c3d7feda93b97045dbc84c42cba43dea53dcdc5e0bb7284dfbc60e9103c0dbf1dbcbc1b01bef237b53f244d8fbd6bf1c7bc3e0182bd1b2ba33fd9fd1ebdda25c8bc5500dbbc7975893f492603bdba7dbebc2d1c293b7c8b513f694157bc4c4893bc9c59d83c55e10a3f428a363cc4c26dbc907f363df2cb8a3e56f5133dbcc5eebb664f3c3da0180b3dd970753d509882bb1c08583d929921befac58c3df39b8ebbfa2e6a3d4b7390be91d5ac3dce53143c65040e3b00000000000000009a99163c49208d3a0000000000000000e06ea53ca2526e3a0000000000000000a2e5d03c7581ab3a0000000000000000330cde3c583c8fba00000000000000006175df3c96eae2ba000000000000000010c6923c0c0fcaba000000000000000072a96e3c34023fba0000000000000000a327153cbad206bc00000000000000007b48013a400abdbcd7cd883de249e8bc1886113a917de0bcb9c6b33deb7c21bd4b10553aba62c5bc9e41a43d416f23bd9ef67b3a4f4884bc65cf843d0c951bbd86eae2383c331bbcd1352a3d3a54f1bcc5bd10ba7ef6c2ba0ee19a3c5d5084bc4a1bae39187bc43a4cb2233b2557fcbbe8e2063b4a87dc3b61138bbc486e7d3b32bacc3a046de93b68caadbce5efd53bd92699bc32e3563c00f8443a41c84f3d52ee34bc13c65f3c27b7a13bb194313dfa387cbbaed3323c29d2c63bbab3ee3ce72fd4391978233c2d42963b88f3173c7fabd93b87d8ea3bb365783bc10948bbf53d353ce59a613b8dae303b72cb6ebc4e6e823c713050387fda4e383dcb8fbcf65a933c0c5586bbb27434bb9faacebc9c128a3c67e5d0bb5f558aba6c6febbc3cdd85be2e8e4c3efdab47bd05b970bbbfcb9dbef0e6443effeb68bd20e353bbab658abe2374223e3f1f8fbd26d41a3bbff850be770c053e8d609dbd884ca43b2724f5bdbb0cae3d51a6a0bdb45b083c3bb02ebdff93093d572f98bdcc625f3c5a6d933cb35a0abcd47a8cbdf6738b3c0e3aa63de1e633bd501f6abd8fdcb13c8828ce3d33da72bdfb5129bd3eadc73c2af6b4bcf10c69bd773b8d3fb494813dbdc0e5bca47e9ebc559c7f3fc807a23d92d6cebccca1e83b4eef443f82d9163ef6d5a2bcae7f143d7fd3043fdd0d403e10f23ebccaf23a3d388b8a3e21d76d3ea0d0dfbb6590403dda06693d61f5883eddb915bb27ca343d290acabdac9a8f3e5819033afbcc373daa7d75bee0218e3e3ad2cd3a0435423d4a1e93be2ef5793e65a3be3cdd7166ba0000000000000000eec4db3cf6158dba0000000000000000946ee93cf5928cbb000000000000000080d4eb3c0a6899bb0000000000000000e913ac3c576df1bb00000000000000007b28dd3b1621e4bb00000000000000006bc708bc0fb6eebb0000000000000000b3aabfbc9aee15bc00000000000000002c2e5cbd30809ebb0000000000000000d791e9b91ff195bcb3e3833d03db56bdc8923b3acd2bb8bcfb0da53dd70773bd941504b9d1ba74bcbdab7e3d7e874ebddaa669b9502600bc9a9b233db17117bdd7059a39e70d17bb9db98d3c155396bc88e7553a689d503b23eac1ba320954bb16c10c3b442db23bf2886ebc44d1ae3b496b3b3bcf65053c5c7ed4bcfc028b3c33a3fa3a9438cd3baedcbcbca9bb6a3ce1168abc247e9a3c5d03963b783df83cf06980bbd492853c58d3083c949c8a3cbb72b33b2a68423cc994ca3b128b7b3b83a0433cf7e9053ca2de873bd82fefbbd3ed8d3ccc4b963b5860c53a3c175dbc7720a13c139199b91d1dbabaff6683bc5a91cb3c4618a2bb45616dbbd4dba3bc0698a23cc33d0abc2964b1bbb9cdb0bc5ff69f3c009a69bc20c178bb45a1a7bcd62d6fbedaf2923e078fe3bd744d153c374675be4450773e0038eebd427b173c24f635be9c2e2c3e1bbffebd1578813c669ad8bd9d2ecb3d4151f9bd90f69f3c49dd11bd0a9add3c64bcf8bd1278d93c4922ad3cd35d04bdf4b0d5bd7f7cf13c02518b3d141d9dbded5bb9bdd5c0123d7a54cb3d54c3d7bdefe787bdd473213d614fcc3d2698ccbdc75012bda04b203dcaddb8bc8a949fbcb8c14e3f4760843e866dbfbce0d59f3c9d5e283f1c559e3e3eeb82bc594b0f3dffeee43e90fbcb3ee19221bc83412f3d55e36f3ee149e83ee9407bbb1a4b283d8e97373d99e2023f03d677b9b51b053d196cb5bd1c74033ff0e71e3bca34f73cf16642beb646fd3e443f963b5258cb3ce79a7cbe46fce33ef3d4b03b0385c73c271a84bed87cb03e2175d13c77e701bc00000000000000001f97e13c50b1d7bb0000000000000000fb858f3c6e4122bc00000000000000004c12003cb36f13bc000000000000000085a30fbc10bb48bc0000000000000000f54d02bd0e470ebc0000000000000000cf4373bdf87125bc0000000000000000bc13bcbd6b68fbbb0000000000000000cfd4ffbd49f1353b0000000000000000904ac83a73658cbc21197d3d045a85bdc7209fbae7075bbc343e763dda0779bdd4a4c4b78366eebb8fd7183de39a23bd78fbad392ca608bb4996853c50bea0bc80748b3a3e61fcba02e90f3ca37546bc38160c3b3e8cad3b64f987bc93af573cdcd9343ba7aa923bb6efa3bc2f0d903c34114e3be095d03bab17f0bc5ca2d33c6c3f353b76c7ce3b2ca8dbbc708cb33c0d66dcbae9457d3c9fb5b73b935a5e3cf722e13b9f45623cd8660b3c254d62bb0c3b913c9044d53b55148f3b3eb1fabbb82f9e3c1bf6ab3b4702083b82876cbce05aca3c5310c7bb11b757ba685322bc6d65cd3c8abfbfbb3b9d70bb2a958ebc7597b93c88224bbc2d46afbbd70855bc45409e3c86eb7bbc360cd9bba15256bc1b48593ce18477bca9af9dbbedba73bc1bc83cbe961d983ef9c923bea44fca3c20e31ebecbac603e669e25be8cd4d33c304bbebdbd2aea3d003521befd02063d9ba5dfbc468bb33cbffe1abef99b153d2dc59039c66000bd77fcf0bd58ee2e3dd4af823df9a3debd82d0e6bd2b853f3d627f9f3d677f01befbf19bbd5b044b3d356fc83dab6f10bed2e94bbdf367513d3895bf3d1e3cf6bd9d2c4fbc8d8a223d01459bbca173503c8535023f3e2d053fdce47abcf7492a3da7dcb13e5efd183fe63d05bc27d0113d833b433ecf772d3f91ca0cbb1e54153dc442a73c666b3d3f8d228aba8bbfd03c93d324bd0cbd323f7db9863b9f2eab3c3fda2cbe7c98373f46fc9e3b0d6f333c469d43be2ea61c3f9604013c567da63b5caa5abe20c3033f69c7b93b56f6073cffff51be97bbb73e0ee9203c2f4a5dbc000000000000000092a7b93b860067bc0000000000000000908372bcb57240bc0000000000000000c7aefebcb6065fbc00000000000000003e3d90bd24521cbc0000000000000000db5bb7bd55b543bc0000000000000000f68506be2c6274bb0000000000000000c8482bbef246533b0000000000000000629e37be0341943c0000000000000000b2e732394b9b25bc92a8373d47b477bd6348ac397e9fa3bb6fe8033dc1252abd1b805b3a46b5b7b969af403ce6cf7ebc0ee34d3add43643bb926acbbf2e0593b1733063bde06603b4cd27cbc951ba43cb6311a3b65ed983b01f6b7bc6b0ff03cc98e593b5d8d973b8e29d4bc0929033d3bf1403bc461973bd4fbd7bc9b6cf63ca3bd1a3b2c3c853beb2fcdbce8e8d23c3be66d3cab87023c2f86ba3ba1d3f3ba46b8ab3ceb71fb3b3437ac3b20526fbc2d8fc93c95b4c6396cda203ae4b85bbc0a22e23cd3d42abb48edecbab03362bc06bac63c61c2dfbbf11c43bb996556bc4538a63c054d54bc876599bb066218bc9fee783c8d277ebcef5bb4bbf49730bc95bd273c801d8cbcff43b3bb7f75ddbb06479c3bc29184bc35348bbb64e5cbbb9bd7f1bd22926d3ee5d13bbebc53283d6f1e91bd3dd2fa3dfc833abe43a4293dcb2c9fbc5b168a3b71d827be616e3d3d8ba4b83c22919fbd0d7f14bee3903e3d51b1613d298212beb58bf2bd86d2593d56318d3d688c2abec78a9ebdb89b5b3d57c19f3d8c192abeba993cbd919a593d4a0a9d3db79315be7f266dbcc4ea4b3dcfd18b3db6f3e3bd12a76f3cf0d5043d2b1f42bc2a5cf73c9e18823eb098513f3f61babb11b7153d6062e73d474d683fc26647ba3200da3c9e2cd43b9da9763f2961003b3ca0933c16b39ebd5e8c753fdae0993b137d383c84380ebeabb96a3f3bdfab3b8758943a078f1fbe98134d3f7c31e43bc7953bb9759825be3e76253fce43cf3be81326bcba5b13bee3c7f23eaa45cd3b497dd2bbcc8404beb23c943e0072cbbc516589bc0000000000000000d3ab0cbd4a8e76bc000000000000000086656abdd6e361bc00000000000000002b7fa4bda30332bc0000000000000000cc00f2bd04c31dbc0000000000000000c48e22be227bd3ba00000000000000005df245beab47f83b0000000000000000b6f361be15c7a33c0000000000000000cab555bec3b8133d00000000000000003818933a7a736abb9d97a83c3a3913bd7809623a2493713adc586d3bcf0820bc68e3963a159494392bb1b7bbd82d523cfca8393b578f6d3b671082bc4a8cf73c9222123be8bfa43a5b68a3bcaeaa1f3dfbcb153bff68733b073fb8bcab252c3d44f1fb3a9c836d3bb8d2b3bcd6d30e3d7d152a3b3cb1253b6a1295bc704cd93c39a20d3b8fb3513a80e064bce54f903c3a38ce3c86eceb3a58ca4b3b193c1cbca56af73c023114bb5af0023aa3d957bc28f5ee3cab4ce8bb919cc73911aa13bcc90ac93c383f27bc661798bb8f2d15bcb6e29f3c55a064bc979962bbca52c4bb6b3a2e3c8be187bc70576bbbd1acb3bb0254ef3b14df81bccba15ebb6bb4a2bb1550c23a2e8782bcabbd9abb952d1139c0f630bb03d15ebce75d11bb4dce29ba028d30bd69eae63de16935be67fc4f3dd4a49c3932e9bdbca3e728be35da593d7dcbb53cfb3af1bd5a9209beb8f3583de516373dd6ba3bbe183fd8bd6c3d5c3d32b1603dccb555bedfb386bdfbb5583dfca0693d95e94ebe9dbdf9bc4170503dd899563d639b2abecddd08ba33af253d639a293d92c9f4bd89b2ac3cade00f3d65fafe3c13c68dbd0ac6133d4296b83cf92baebb5409ca3c3ee4753d6cc18d3f5e85cb3abc5a893c0233ebbcc755993f074a973aa7d50f3c65fa84bdec94953f47fa913ba6a00d3b3d70c9bdb58d8d3f4ccabe3ba46b4cbbfcf4e1bd14cb773f2c5ca03b278830bc91b1d1bda275473f37efb63bfdf321bcbf72b6bd21da0d3f37cc8d3b4f6f75bc0dd766bde8e0ab3ea7d1823b2a2148bcdf543abd0756163eab9b79bd191595bc0000000000000000b316aabd2b9d71bc0000000000000000c8e8debdc61233bc0000000000000000d85c0cbeb565bebb000000000000000025dc33becc8e193a00000000000000001bac53beaa6e5a3c0000000000000000269960be5961eb3c0000000000000000c2a36dbe64a41d3d0000000000000000855c51bed8af3b3d0000000000000000d3030d3b599556ba0a8f1b3a35c5edba3d9ccd3a3a71d63a988d91bc2fc7023d52aa2b3b3d44be3a5653abbc054f4e3d7095b13a9acc9b3a8aa8babc5b6f713d4dea583bf6415e3951c8acbcf8a3663d21bd403b9791a53a81f49ebc51e73e3dc852033b669a82b96d0745bcb4d8ef3c41def63a9e971cbb8f372dbb7bbc0a3c6e92263b3d94d3ba9eb48abb1990533b873dd63c095ff4bb25986eb97d0b02bc206ed03c38b1d4bbe347b3b928d299bb3b82a03c51e227bc660b39bb1fee1abb1c861a3c3f6e2cbc500d4dba4222fdbaa86c623b200d4fbcdad56bbb72f1cc3a9e49eab94c6b37bc22d978bb152ea23a0bda33bbb5c92cbcee5900bb595f643a295e48bbdbb52bbc2d34d3b978f3db3a3828ebbb4ae9c1bb992e9eb9a1010c3befd22d3c05d46dbd718af8bd02cb543d9431133d957e2fbed3c0debdccea3c3d9e2a203d985c7abe9a9696bd69e5333da1d7283d908a87be14a21abd736f233db6e6173d0c747bbe7c7404bc0689123d726bfb3ce35c4bbe27e4653cf36de93c18d8ab3c5a5507be5cd2e83c5cfab03c5b7a623a41a74cbd8062133d38d2893c068a4c3a7efcabbb13c1133d5577523b56342bb95975373c584c8ebd5daab43f7e95083b1016c1bbd8fb7abdaa0eae3f87d41e3b3464b7bb6fe285bd5db5a33ff7b5543b385521bc007a81bd4a408f3f3d32623be9da50bca1fc4abd6010663f3d2d6b3b2c846fbc2c8003bdc89d253fa877493b5d1b55bc08ad3dbc1de7c23ed223123ba89c02bccaa71b3ce64f033e00094939d16907bc08b7753ca20165bdb82cffbdad8b10bc000000000000000062cfd6bd80cb38bc00000000000000003dde07be51d355bb000000000000000099b025becaef993b0000000000000000203937bed8d06d3c0000000000000000b86041be7902db3c0000000000000000715e3dbe3ee70d3d0000000000000000d27632bea420333d00000000000000004ea00dbe7d30453d00000000000000000000000000000000000000000000000056e8153b77b6bf3a252bb8bc6dd76c3d549e0d3b1caa5a3a3685c6bcff14893dd33f3f3bd8996f3a7974b2bcf73f863d4874f13a49c6de395bcca0bcf057693d360f013b60958939930164bcb9ab353d1924e63abf09abb9e945ccbbd005b43caacdd93a6492d5ba632a27ba9578933b000000000000000000000000000000000000000000000000000000000000000006b5db3b84db0bbcda7715bb267620bb8ea864bbe4dfd2bba1a7d5ba7cd2173a901b33bcacb497bb31cc80bb297e083b067d44bc7895a5bb0af61ebbbbeaf53a775073bc54ba20bbfa8acdba2b66d53a236b16bc6a3c21bb0f6ac9ba860f143bb346c9bbf2ea18bb7082ce39e3a3843a00000000000000000000000000000000000000000000000000000000000000007c11413d3fc189be86928ebc9917cd3c106d293dda888ebe3c2d2f3c61c7773c06ca0b3db36588bed56ffe3cf7ee033cdd0cef3cf80b68bede631e3d8fd49b3baa3d653cc55a28be9e10273d440cabbaabcc363a35b9b0bd8fc6083d9de60cbb11030abc0a1a5cbc511ede3c96c1bbbb000000000000000000000000000000000000000000000000000000000000803f8b64363b3875abbb1d82dcbd1828b63ff8833e3b7e1e3cbc37a578bd9fec983f854f523bfe535ebc08f036bd75117e3f52c47a3b797f6fbc362ad3bcf8f33f3ff673063b10ab3bbc6d6972b9e635fa3e2d12da3a6c131bbc5253a03c38bd6b3e0c48c03793a7c3bb3a860d3df394b2bc00000000000000000000000000000000000000000000000000000000000000009f64eebddd7c9f3b0000000000000000b4b6cdbdcbf00b3c00000000000000009426d8bda3ed7f3c0000000000000000d072cbbd2c51b03c00000000000000005698b7bd61fac73c000000000000000014f492bd8327d83c0000000000000000e2be67bd2201003d0000000000000000000000000000000000000000000000000000000000000000000000000000000093e68b3b2557d53ae19e143cde3c09bb4f473d3becef2f3bc50a103cb8325738e93c053b3f95123b5319e93bb814083a17f9fe3adc200e3b3b9bcd3bd9dbe53a8568ab38eb0cf73a773f5c3bd769153b4c75b73a37878f3a6153553b747eba3a3608a23a5dcceb385865ea3af6aaeb3a00000000000000000000000000000000000000000000000000000000000000002f3f8e3854af02ba4646053b8f2608bd2c0d253aa84582b96179d43a8806e6bcac56993807afdaba2187ef3a9ebebbbc853594ba99dd8eba0dba1d391eb992bc56b4223adc3e79ba25e70e3b2e4e58bc81bb53ba567fa3b95ecb253b8e7311bc5ff6a4b851e3a5baceea513bdbb59abb0000000000000000000000000000000000000000000000000000000000000000944b5fbd26ecf3bb9e52b339c1f46f385b8557bd40eee5bb6825d03a4f2f28b9174338bd1f77e3bb98192b3b7205a2393d6a0ebdbf4eccbbfead4d3b5ee1a0badd42cbbc9d88d0bb2f24553b881448bacb226bbc54b500bcf861003b37c5a53944538cba2858f5bba187ec3a24196dba0000000000000000000000000000000000000000000000000000803f000000009ccfd3bbc767dbbc011c883ffdacfcbb982eb8bbf51c99bc531e643fbbe57f3af7829cbb2cb180bc9bea393f735fb03bf8e487bb62168abce297103fb776ea3b0ef94cbb3797a6bc57b5d13ee032c03befce93ba9143d1bc8440833efaf49e3bdbb83a3a32fd06bddc72dd3def5c053b000000000000000000000000000000000000000000000000000000000000000053718cbc23b27f3b00000000000000002d7d4abc2a4c493b000000000000000038121cbcea5c913a0000000000000000d2adcfbbea13b83a00000000000000007b2881bb9c0ceb3a00000000000000001e545abb631d213a0000000000000000973810bbfe0c773a0000000000000000000000000000000000000000000000003655023bec6c0ebb883a0a3c2b4af7bae07aa43b6c88023b67d1353c41bc5ebad3a05c3b6f21123bfac4413c4877ab3576c3093b43f4043bf9e73f3c873d123b33c1173b3bfb843a3f73193c90bf2f3b1fed103b822b873ae867d23b0b9f5f3b9c9b1a3b4597043ad243853bd622373b00acfe3ae4e566ba4ce1e53ac49f123b2f71813a73b7ecba758cf9395c28173bea6e283820287eb98e97673b85930abdb375073a69899a3901e3ce3b873327bdd20409ba9b413dba7e20c53b385811bd368280b9fc2451ba02a0533beb6efabcd07c2eb9298be33803ba353b9c0faebc9c13a838c451acb9ffd1643bc9be94bc74277bb9675151ba829e9e3b42b84cbc150c68bada9201ba43a59e3bcc6fd0bb8b8edeb98bed02b915db5e3b0f0442bbf3e2e9bc5836edb9030dadbb1a6c123a6d3477bd21f50ebca385e9ba37f0d23a05567bbd8ede0dbc958c6eb900089e38fcbf62bd172725bc6025c53a149d07ba89d220bd0ed918bcce74c23a00111f3aafcafbbcad161bbc82ff1f3bd82281387a4286bc3dd017bca480293b4bfe053a123eb8ba45f30bbc4153c43a42e82b3816b22e3cf4643ebbcc11983ac129b63784a671bb12fd5abdbc73883f8364fb3d48ab31bb7eb076bd5dbf7f3f5836ef3da2c086bbc7ae3cbd224f583f2bc0e13d9c8297bb68f221bd0cf92f3fcd9ec43dd4245fbbc16512bda9c8063f8135a13d4714cdba04be20bd7fc1c23e232d803d1c9d583ad70d2ebdea56703ecd382f3d51e3b23b73fe3bbd2b90c33d08faab3ce2578c3bfbac19bd8cac9dbcad11853b99bc06bd59e7a83b000000000000000094d60dbd4f049a3b0000000000000000ba48dfbc3be46c3b0000000000000000afe7b3bc36a44f3b0000000000000000a35b73bc3626bf3a0000000000000000082252bc9311bb39000000000000000048a418bc7ae730ba0000000000000000f47cf2bb0d52d03a0000000000000000f6faa6bb4ab3063a0000000000000000afa72a3b5f3adfba9071ba3b45deaa3a0a5d8e3b5b2eaeb8ed4a143c4b8a053b9f0fd33a0a149d3abc22153ca43d783b9301563b7285853aae0a123ca285943b76e2c13ad9cc2d38d7eee03b2223903b3721f03abb7240b875b3cf3b3401a73ba20aab3a8e82aeb984d28e3ba538863b1d00df3a5f6ffcba89ebf83aa4175b3bf6254e3aaf1a09bbae21303a505c2e3b61789c39503ddcb9bff7563b37c0f8bc241a81392b571eba9956c93b52f71bbd2099b93908a304bad1a5573b05d5f2bc7547423a5e748fba8e5a903b6f4be6bc07a37d3aa7f424baa6d02c3b6403a4bc3576293aebb803bb7504863be0d389bc5dbc2638b0214cbabe73773b776630bcf48afeb964ad30ba69ab983beea8e4bb8fe846b71120bfb964c0403bbe5577bbe71497bc4233273bf776ebbb4952b139682734bd5fe0b9bbb178bfbb204a8f3afab33abd4e5216bcd5fae8ba7dc3243a3ac53fbd86c830bc2539ba379c97e03a2dcc04bd154b0abc70935b3a12233db8810dd7bcfb140ebcf1abe93a81db4a3a24ed5dbc687fc2bb7ca6ce3ae1bf1939ed4b3bbaacbf8dbbfa00993ae2d18e391c53f23b131e103a0392893a68dc28b9b902e2ba731970bd1f14663f4cdb8a3e0ca319ba736592bdfd295a3fe188833ee5337cbabe665abd8956353fbd00693e76eeeeba5a5e54bd01ba183f45a5473e58ffc0ba5bae2dbd4243e73e4dac1d3e1d240d3a904840bdd8d9a93ec89bf73db08e2a3bb0d72ebd880d533e41b4a53d4ff0cb3b530542bd54c3b13d8456333dfd68a13b5a010bbd4c5d3bbcc65c053cb12527bde419853b000000000000000050c745bdd7d9b03b000000000000000095e70fbd2472493b0000000000000000625dfbbcb61c063a00000000000000000779afbc1109363a0000000000000000382c9abc7175973a0000000000000000b7b161bcf600a33a0000000000000000b57d42bcd32cb33a0000000000000000c830f1bb766bfa390000000000000000605f0e3befdafbbac76e8a3bd1008d3b26d05b3b558d3bbaa5fbdb3b15fcae3bc334353b6fb73f399b9c013c0512c03bb855123bb70b653987b8fc3b2943d93b86a9c33a7e32fcb85b02d13b9bd4d83bcd30f43a8cff4eb98f5ca93b4b92c83ba59abb3acf8989ba49e6623b2126a63b9fb1173a002815bb0349133bf13d903b78f9223aceacebba1147033a1570423bbf001f3af28018b66536cc3a434bebbca545213a235119b94392b83b3bf808bd8019f139ba3f12ba60e89c3b821aedbc52c68b3ac6dd87b9966d8e3b0395c6bcb92fce3a96d3c1b9f286693b6be498bc6f2c763a720e2fbae58a853b47026cbc6b7ad5393f192bba91f3843bb79825bc9d4c363a2ac492ba25c8ac3b4d5ee9bbd444b339b275afb9f4241a3bdfc776bb22126ebca4c4a03b1d6704bcf68a2c39ede416bd5ae2afbb8853f8bb8ccd0c3a9ccd35bdd97245bcdaee6abb54f6523a428a2abdfcb851bc48e173ba1ce7863aeaaa07bd24ca2dbc1a2eef39cfa6443ae518c9bc9c600dbc1102193a7c3e2f3a134863bcb9b1a1bb49996e3aab1f073a60e90bbb1cdad9baed59983ad534b1392c728b3b3e2b893baae18d3a9b1658b9c5ef99b9b24767bd59cf3c3ffe34d93eccc35b3a11dd92bd92bc323fadc7cd3e1642a1394bdf7bbdcab6193feca5b43e9ff8be3930335ebd1d48fc3e18e5973e354a193a078b46bd3495c23ec9e2723ed7e41a3b207f42bd7a698c3e4e70373ec3b48b3b5f6439bdc48f2d3e663bf63d12ffc13bd46b35bd67d2943d78e0833dd632993b8c56f5bc67b118bca06d2c3ce14041bda672423b0000000000000000486369bd3814833b0000000000000000bd2039bd4cce273b00000000000000003d2419bdd704073b00000000000000000a03debca8db753a0000000000000000b236b4bce01f263a000000000000000013b58dbcad20943a0000000000000000358f59bcd8f0be3a0000000000000000eaf505bce4efdd3800000000000000005700ce3a906ce2ba5057283b7561d93b7482183be81b86baaf19963b5b04ff3b9e34603afe1a8b39d0c4c03b6900fc3ba138023b57483c3ab1f7c43b859d113ca48dc93938bf10ba5189733b2273cf3bcc1ed03ae99816ba9280843b59aee33b57da9c3ac71114ba14ca293b2c2bb03b9bcc9b3a15feafba517a4b3ad385853bc0185c3a8ac9cdba3e684d3988db583bd23977baab009bbaff6f4b3bc178c9bc5840ec399d9eabb908bbb23b606bdebcb27a5c3a611709b919b12e3bebe4aebc8b64b339fe0da0bab6678b3b73c5aabc7efdd4b9085005ba177b6a3b3d1b4bbc6f7384b95dbc0dbae0b48f3b0aa039bc37e47e3a2d444bbaacac093ba601e5bb2fdac93951ae93baf737673b7bea9dbb33e984ba474d81b888dc253b0cb739bbbde47ebc47cd863bae4afebb04b0acba3b460cbd281705bcba7000bc9ae9703aff1419bd12b86abc99fc6bbb4aa1a13a011e1dbd4b3687bcd0fa92ba1d7a1f37e566c6bc9217f8bb0ccc86b9f0a19739f089c5bce21410bc4cbf133a7ad5453ae02455bc314d39bb2438ac3958c0503afd17b0bbe20a493bcb8fc73a63b4b83a4930b93a96a8003c501e943a7a03dbb854f5813adabe56bd2202143f0833143f72cc213b5b3a85bd60a60a3f29e00b3ff13bdc3a1ba655bd11fbeb3e5448f03e1cf6d83a5fe44fbdb8f1c43e9619cc3ee0ef283bdee80fbd79a9923e31f0993ec1ed6d3b42b72ebd84615a3e722a723edfae473b708813bdea7c023ee8691d3e9cbfc93bfb8913bd2cec533ded59a43d11eaac3bb74fcebc195b42bc77f7313c271354bd7298abba00000000000000001d3e78bd4d0e843a0000000000000000a59a3abd50a3803a00000000000000009d5a1abd78b88dba000000000000000024a4b5bc93a743ba0000000000000000918ab8bcf287f1b90000000000000000fabb7dbc3c9a8f390000000000000000acb863bc9c6ae8b80000000000000000f23c01bc27a2b0b900000000000000009ce2cf3a9bfab0ba0deb9639253de43bccffbc3a2f4b0f3b88c34b3ba5a32a3c7e9d0b3bd325123aa2be873bee7d273c69baba3a7ea6773ae72f9c3bb068203c26908a3ad01146394671753bad000b3c82dabe3811f96fbabf41503bca41f13b3e3e403a1f90a0b900e4e23a74a2b43bb262563a479777ba049da7b78111753b02231d3a342b87ba390f02bad38a2d3baed91bb8bf621a3850fa593b95e695bc493460babc937cbad4439b3b9b3eadbc83760a3a249993b97843a03b7ef78fbc9e54693a75e102ba290c893bf41965bcca0dd93a1b20c9b9ec946b3bb14034bc4f7bef3a602d17bafa1f293b0075f2bb4338ad3a4e1551ba7c1a6b3b7fdda7bbd2b8343a869772ba72a0653b85a529bb81bc713aaa8055b9524f8a3a236142bbf967a1bc7cdc88b98f020ebc7af7ddb98ee619bd61a288bcdc9229bcf75d1f3b9d3a2fbdb1aacebc1747b1bbcc4d8f3a489921bd456cc6bc4fce4abbd2bc9b3a7a9002bdcab897bc5f2fe3ba530ea93abbdaccbce36a4ebcdcadbeba527e913a7d1489bc88f890bb0619a7bae29f843a6f5d03bc296d993b88e873bacd98f5391ddbb7baf3021e3c59b80c3a9e65baba3adf2c3bb44542bdad41d83ef88c3c3f816e3a3b0b3676bd96feca3e3716343f4a69843b7c2f56bdefe4ae3e73a01b3f595a663b04a63bbd582d8f3ee8d2003f3fff573bb59724bd9a235c3e37bac93ef7cea73bb3b716bd4cd91a3ebb73953e1503b03bc4d808bd7b1bb33d9989423e4b74dd3b2c48f3bcabc3e43c5ee1c03d75a66d3b20c99ebcabd58abc8837f73bc6bb62bd28e892b90000000000000000699d8abd0fc8843a0000000000000000671351bd2dd9a9b90000000000000000e1f120bdae7990ba000000000000000091a7ebbcf2187eba00000000000000005cd2b9bce4ea04ba000000000000000031b88dbca0dc58b80000000000000000c5bc62bc42153db90000000000000000832fffbbc923cfb90000000000000000353aac3a516f18381eecdcb9cc6b043c88e5043b596cb13af4cde93a7da33a3cd42aae3aaee7b73af9685e3b427d283c63dda83a82a2bd3a44316c3bb8f02c3c55feee3aed02f939dbb0123bb99d033cabf7e93ae87f18397d27663bda6bef3b1cb39439e80148396ac18d3a5438a33b8c5d6239b6731fb819f60ebac25e413bcf9aaa3a7d8a2bbae2d4a2ba7ec9f03a405a8aba3f4884392d795b3b6ad650bc3dac1dba057afc391429b93b98235ebcbc62df399cef98b8e837833b06d325bc0ad3743a3376c1b95dbd853b457d0dbc7e9ebd3aed0e803a94e1303b4418c9bbefb4c43ad78596ba3db7813bc55b93bbfbd2a23a1ce412baf34b2e3bc2ec00bb7ffffe39244364ba43f92b3b3e78f5b83574133a76e2d4b9faa4af3a0c8b26b94afdcbbcfbc304bce88b19bc506071b8b9ab2dbd1ffafdbc9dee29bc2d94d03a214420bd5a9908bd3b5cd0bbf5edb73a45f121bd0b580ebd286391bb5247ca3a3ae1f1bcac0ec1bcba0941bb4fd0a13a9172d3bc9e0892bca0135dbb5bc7063b35f484bce472fabb18de21bb4fb9cf3a91a41dbc3bfa923bb19641bb71f09d3a35f15cbbb499373c0cddadbabc3a99391f22853b063a29bd25fa8a3e1b33663f09e9d63b660852bd3970803e9fb55b3f39399d3be06623bd561f5d3ec464363fae7b983b5c301bbd7564343e80891a3f1ef1633ba914f0bceb7d083ef882ec3ea58ca43b0e88f1bcfeaab53db8dbaf3e3ef8a33bb184c0bc6dca433dd464603e9cd4d43ba564a9bca946523b3f69d23da14ba23b9d465bbce3d0c0bc9b4b5139208f70bdf574c4ba0000000000000000730a8abd1ec94ab90000000000000000fecc30bd4f33e1ba00000000000000000aef10bd292515bb000000000000000031f1b7bc5f4ddeb90000000000000000ed6e9fbc88afb8ba0000000000000000d3b766bc5b3cc8b90000000000000000563c4cbc7b4d92380000000000000000f8a0fbbbc03147ba0000000000000000d663793a389ebb3af8d986ba6ae20e3c900a923a688c573b86762f3bc8db4a3cd09a653a6034523bfe2a873b4075483c5e851a3a91aa1b3b562e5a3bc183333c0606f23a1848003b1ce3cc3a2f661d3c9883e0b9a2ba2d3be00a6c3a62b3ff3b68c7233a1ee48e3a7155f439f0b37d3b18c0093af2f6863a624aa3b92838153bb416c839e382a2b9cd421bbbaf53b5390a7fd9ba3503533ac4c8613bb31ec7bbac0764bafffe953a9af6923bd24a7fbb3657ff3900ef423a4409233bcd0c1dbb33cfb63ac8c66739f1a75f3bd8530cbb6755ca3ae246acb99200413b306123bb7db5ae3a96c432ba0a31073b8c4410bb3522683a919a1639e47a173b4214c03a3a50623afbf6cfb97b754c38ff10ee3abc5bbdb99bc3a8babf2d953a6507f63a33a207bd3be3c4bcbd5124bcdb2324b930f93abd73ff58bd76a048bc4e0c2b3b869c32bd101c6cbd9ed514bc09b62d3b8e381bbd08e949bd4e34eabbf3e23f3bc145f6bc0dd715bd5c9cc7bba0d1193bd468b9bc7a1dd1bcd4eba0bbd68a893b458686bcf22e4fbc431ba2bb948faf3a997b0ebc259d493a4377d0bbbf98023bfe7180bbfc8d393ceb8210bb8e94b83a2d1dae3b182806bd46e9f93d2e96883faca1ee3b210015bd7343e33d99ed7f3f3044bd3b2b55f8bc8dd9c63d0fda583ff1af9f3ba867d4bcf63f9f3d5db3303f9b63933b0653b3bcfa2b673d9a69073f170cb33b2e5287bc005bf03c0b1dc53e4a4c973b8f0f62bc1c465c3ba849773e46b4c53b8ef013bcd836adbcc3ead23dab2b8f3b1419cdbb3e7100bdf34948bccb8760bd53ac7ebb00000000000000002f3d62bd7a5a1ebb0000000000000000aab40ebd475351bb0000000000000000d528b7bcd54763bb0000000000000000a35866bc129352bb0000000000000000dcb332bc412728ba0000000000000000e1851dbccfd40cbb0000000000000000cf8122bcef718d39000000000000000044e4c8bb5163f4b900000000000000000000000000000000000000000000000044dae5b9f50feb3ac058ee3a2f8b123c56b8203af7863c3bef472e3bcf6d0a3cd2a46739b3bb0e3b7a3ed33a582cc93b2923aab985ed213bec9f0d3b6c24c03b0c111239c483e73a632aa93a5c717f3b76c02cb8c97ec63a11e5ef381fa9013bf719c7b94d25663aeea447ba7050813a000000000000000000000000000000000000000000000000000000000000000097f0eeb90d62a33a6b4b613b7180fe3abe1aee396602593a40c7213bec6ddd3ac289fa3a7ac58c3a2b480c3bc100943af7c7133b67b71bbab2ecc33a0f6b443ae2cb023b9ba97dba1bb5fe3a99281e3bca07f33ad4bbef39bf31a53a1065293b0c868f3a975f7ab74d83613ab166773b0000000000000000000000000000000000000000000000000000000000000000ac8d1bbd644162bd6e3c19bca10ebd3a3d3104bd7dfc58bd08adfebb5a640c3b6347e1bc2fc734bde376c4bb8d4a413ba0c0aabc32670ebdf0bbb4bb6578503b4a2383bc2beaccbc6763b2bbfb40433b55dd34bcfc7e78bca499cbbbdad0483b270fcabbad0c03bb8a989abbd57b1f3b000000000000000000000000000000000000000000000000000000000000803f1aa3b03b263a92bc559745bc5465883ff71b863b50d663bc76b5f9bb5e4b643ffe4e4b3bef9949bc8c2c12bc02f0393fb8c3093b6ccb0cbc4f0336bc18af103f8576463bb9b9e1bb419d8abce8e4d13ea8305c3b7d9f8cbbe822c8bc8e5b833eba81643b21e079ba46e306bd9d18de3d0000000000000000000000000000000000000000000000000000000000000000a3bfc1bc0f0fb9bb0000000000000000d9f831bc3af589bb0000000000000000ce3e7cbb1df464bb00000000000000008d291aba543111bb0000000000000000b97c183a40ebd5ba0000000000000000acad09387ef74bb90000000000000000bddb2cbb8e795fb900000000000000000000000000000000000000000000000000000000000000000000000000000000eb7d343b62deafba8ecc0b3c6c10093ac70c463b1310ceb9142bea3bcc3ace39d9d2e63a527745ba061cd93b6f911f3b19a9bd3a68ea7abacb3ea93bcea3443bb8af913a782225bb471d963b32167e3b46c4f93ac91af6bac04d413b1022853be4d4f33a43d95ebb27b5c03a199a9a3b0000000000000000000000000000000000000000000000000000000000000000a03526bbe262e5b9a7d10fbb1abadfbc1b451dbbd1a4d5b9fb07bebab038babc6d3dadbac2378fbab94bebbaefd69fbcec1e57baef2837ba833d91bacaf475bc4c8e49ba792070ba7eb4c1bab67d39bcdfaa5fbaa8e502ba6c3f0a3a647708bc48cd54ba97edce389495033bc427d1bb000000000000000000000000000000000000000000000000000000000000000090cda7bc06b1a03b388949bbcf93d3baef21afbc37e2143b828520ba0f1fcbba48878fbc58ba343ba52678ba2f39ffba725e40bcb695053ba5a98abaa82018bbfbacc1bb644abc3a3bd397baed2812bbd76397395c6c3d3a6d23afba2dbbe0ba1ace083c30d7563aef5c12bbc9909dba0000000000000000000000000000000000000000000000000000803f0000000086751dbc352d59bcb1ec783f4847f33ac0e90fbccc3539bcef8f533fb016ed3b3a560ebc658d45bcec962e3ffd56163c19d6e1bbe5f665bca5b8093f6d29223c1d28bebb54358fbc0f2bcc3ec52f313c9e8295bb296ab4bcf4ff843ea4942d3c1e133dbb2fb3e4bc143cfe3d89e1323c0000000000000000000000000000000000000000000000000000000000000000a98f83bcf635183b0000000000000000bf7e3bbcdad4fdb9000000000000000060c81fbcf96d9bb90000000000000000e34df9bb1cef40ba00000000000000006c92d2bbb14fdbba00000000000000003aeaa5bbd85c15bb0000000000000000956b94bb25c306bb0000000000000000000000000000000000000000000000000606843b4f64b3bbe348db3b68cd423b0d74ae3b5b428ebb3b2e103c9bfa733b6fd74c3b5fca2fbba00a183c230f7e3b3424293b451833bbcb62083c818ea93bf6b43d3be7151fbb2db0d63b296dc33b4a94ca3a70519cbbdb08ac3be188e73bfac2233b55eb91bb59c5403beca6df3beaf5623ba8ce9ebb62c9843a81feda3bd88d163b736eb1bbac3ff638e100d33b120d36ba27acf9bae910f4ba534dfdbc651d3abbc471febaaeb4613a96bf18bd2d8d90ba9b01a9bac6b412ba574b01bd3a853bbaafa1cdba3fcd52ba9b6ddebc0e3cdeb9dec8bababd72cfba2a91b5bc35950b386e5b82baef2eb83afadc9cbcde47b537f74821ba5979dd3a214961bcc318723984508fbac1c5693b546530bcd924153a18f3a9394fa41d3b0b76ffbb064c15bc018a2d3cb308a5bb52de66bb3b10bcbc419f013c58634dbb71a11dbb7f6ccbbc9aace23b2d421abb5be54ebb9d27b1bc1f79c53b6e53c0ba555e44bb12145abc4b58b03b65357aba38225abb26a2ebbb25e8a23b013a71ba563d40bb390dbe39bb02963b24bdbcba63cc1ebbe502113cc54a983b30decebad78c4fbb11fb563c6973cf3b5c20b7bafd91d7ba670e1abc0174cebc5a437a3f6c20063e61f619bccd5204bd79d8633f4f14fb3dfc691dbc9651d8bcbb37413f8d35e53d32941bbc3b05ddbc8eb81f3fc07fca3d81ca14bc0f84d1bc52eaf93e22bea83d6990bcbb3591fcbc2780b93e9939873deea67cbb5caf0ebd49ce6f3e9b05513d8dbd3db9c28c20bdea3ae23db15d0b3d5735ac3968dc09bd325722bb645a7c3cddabc6bc2e3f133b0000000000000000bc45e0bcfbbc9b3b00000000000000003ccbacbc108f19390000000000000000a60f8dbc5c1c94ba00000000000000003ed04fbce21a16bb000000000000000011d635bc82b536bb0000000000000000666c10bc90383dbb000000000000000087b7e0bbedb8ffba0000000000000000f6a7b9bb615a4bbb0000000000000000eb4d0f3b31bec2bb7128a53b18d8ab3b365b733be442bfbbb4b3043c00f9d83b1501303bdd8f8fbb9730e43be5dae03bf71f303bb83b9abba484e23b86d1043c9c82c03a383a9dbb9696943bb49af93b471c773b2de5a9bb577a993b84e2083ccae4f83abdfbaabb6c1df63a2fe9023ce676463bfe59d9bb612282b9a613093c0261003b1df1c9bbe0969dba1b0fe53b77492bbafb9e81bab514deb97887e4bc789609ba7fb4c1bab500863adffe0ebdd4b011ba4bafd8ba13c488399962ebbc0e5660b94f2a0cbbce9c6f39d0e2e1bcbc264f3aa4f77bbade02f5b8fce4a6bc2c3748b9500626bbb9d12b3973dbaebcda767a3a6b2f9bbaa5ccf83a2b3c68bc040b973acbb2c2b9812d5e3bcee056bcf2cb0a3bc7ab73baa8a1073bd1f61bbcc8b2e1bb20bb603c4b49b3bbf73d22bbe2e09dbc64df493cb074a4bba9496cbb2610a5bccde80c3c912a14bb8d7c75bb054ca0bc576b0c3ccee6e0ba034d8dbbf1a342bc57cbf53b84c3f6b8237f41bb71fea9bb814ff33b9a9dd93ac88402bb52668dbac5880a3c7a430fba388858bb602dd63be18f243c8e8b70ba2f0e46bbb2cb093c0986233ce5a3393a206a46bb154be9bbf49d02bd5159553ffe1f8a3ec40fdebb3e5624bdb354433f2364803e8998e9bbe3fb07bd21e4243f72b0603efe23ecbb590010bd09550a3f5608433ee9bdb2bb417afbbc4ec1d63e351a1d3e64a76cbb6e8519bd19d0a03ea03aff3dfdaecbbac7ff0dbd6e8d4e3e9b9db23dfec1ca3a9ef523bd6fc0c43d1acb643d18f8b43a21b8f3bc5706c8ba731e9a3c3fe7f1bcace5853a00000000000000005ce007bd46f2753a00000000000000000c3bc6bccbcaaeba0000000000000000ed94b2bcd5f534bb0000000000000000090374bc629a74bb0000000000000000b3cf60bc6a9896bb0000000000000000a97d1fbc52778abb0000000000000000ef310cbc85f990bb00000000000000004c16dabbac8593bb0000000000000000c65f883aab8dd2bbfeb84d3b2d6a023c83496d3b3802cebb68aaa53b8735223c491b533bdfaa8fbb5391b43beb6f1e3c22fa223bea04abbbddb7a03be56e293c6ff46d3a1f219fbb3ccb703bde0b2c3c45fb193b7dd7b2bbcbf2f23a409b253ccfc70a3baa5fc7bbc0c48c3991b01c3c4ef7393b63d6dfbb798adfba4012153ce570a73ad2cac1bb713510bbadf0eb3b8f018cb8d9efcaba86ec60b98e83cdbcbb2a08bb59c7f6bae725ae3a57f503bd380e923852d40fbbeccf8f3aca8cf0bcb0774e3adb6508bb4ad6523aee34d0bc0a153039a72b26bb6effaf3aa259a7bcfdf6f43ae61bbfbabc42cc3a31d094bc59fa033b0ada94ba40e1023b333577bc71101c3b5cc461badaac4d3bbea856bc53123b3bc65d0dba478fe13ab4c21ebce7f0ecbbcd097b3c3d5732bb44df6cbb033098bc7f6a683c955cc2bb5fcfbebbc568b3bc98f41f3c8d1b0abbaade8abbbd4ca4bcc315113c5a1d01baa2e288bb7ab269bc6cac1b3c1975153af6c55abb20b51ebca433263c7e51c139d8e989bbb9464ebb20c6443c9cced039e01971bbbea2263b24486b3c2148e139e82b69bb95f98b3b73cc583c618c8c3af21341bb887bc0bb014906bd799f303f59a3d13ea128c4bbd48b2fbd80c3213f2926c23e45bdd2bb544320bd71110b3ff6b1a93ee7a8a2bbe5441abd778de53e6349903e52c2a4bbc5950ebd51edb33eab576a3ea36708bbb02f18bd8e8b843edd5b363eca3293b9eebd18bd91822a3e97ab003ef8d7343b30aa19bd0d009e3d3dae993d5229e53a9bd0dcbcb55a3fbbfef4a93cd07b02bd7a70a0ba00000000000000004bfc18bd5c96183900000000000000008859eabc51d537bb0000000000000000f41abbbc1df485bb0000000000000000e9b286bc501d89bb0000000000000000f2a564bc05c6a5bb00000000000000002b752ebcd06cb8bb00000000000000006b7005bcfa78b8bb00000000000000006b059cbbd511a2bb0000000000000000f630843a59d8cfbbcce08a3a74951c3c8b5a363b60e4c3bb010d163bdfe03a3c5c53e03af4c2a0bb685f3e3b01ff343cf7669f3ac1df9fbb28ef353b657b423c0e7052b994f76cbb4cf0d73a44fe1b3cbcc2dd3abb9eb1bbf9251b395f6d2e3cee9bc83af9a8b4bb045bcebab888153cddd51b3bb307c2bb968361bb0ab3093c0643973aa4efacbbb9a264bbcb81de3b756b9b39c64bd9ba73aeca39f8d6b4bc56cb00b973931ebb5800e63ad5d9dfbc84ea643ae9a305bb3f7d883ab3d8babcc1c0de3a7c39fcbacf0bea3a0c6eb2bc824d5f3a3c6527bb710a51ba88b964bca31b353bc629b6bae879e43a272384bce83ca13ab2047bba2a0ae23ae24e4dbce62f583b875498ba2a36333b754740bcdd26603bf902ffb9ce98913a302f15bc95dd24bcb412743cd45080bb4ddd7cbb2561a5bc622f473c4bd92cbbe99997bb939daabcf9f0003c750e61ba2e3785bb18ebadbcefe9fc3b55ae6639381d8ebbfa375fbcac5a053c2deee63a41412bbbc24440bc3a17313cdca0b53a5f0c7bbb036ab7bbbadd553c4eaadd3a398156bb11c3bfbae8b2873c5494cc3affcc77bbd1ab473a0dca7b3ca1e0193b485644bb38558ebbde5003bdf9300c3f2a8d0c3fd40854bb742b27bddee6fe3ee755013fc8f075bbc79610bd6b2dd93ed302df3e053d46bbcf5916bd9327b53e4957be3ed5976dbb41f1d2bc9d318b3e9913943e3d5441ba662c0dbd2f184f3ed4926b3ef666693ad0c6fabccda0023e96a2203e2f81353b165c03bd4a92663d2862bb3d1021103bb075bebc91fad5bb23f2a93cb794f9bc937543bb0000000000000000a6ca11bd80c380bb00000000000000002f34d3bcc7aa94bb00000000000000003317b4bc4008c8bb00000000000000007f483ebcb42c98bb0000000000000000e9d349bcfd28cfbb00000000000000000ef0fdbbee93cabb0000000000000000ddb9cabb89e8cfbb000000000000000058e150bbe1a7babb00000000000000006ea9b53a12cea1bbfbbf5cba17db273c17b35e3b16349fbba5babb393932513c5c655f3bee4a88bb8306983a1be3523c4006403b045687bb5f42353a654a473ccd58dd3a0ae764bb29ead239c210393ce509103bde9891bb0ee7d0ba0d0e273c3c58163bf3d79fbbbc1057bb0738113cfc360f3b25e7a4bbef8f9abbac5dfd3b7e450d3b6fd973bb7a22b2bb0828be3b1d8876389ab0f0ba068bb03a37d79abc163818ba509a1fbb8f4d663bb81abfbc1f1e773a506701bb6f3f403b14fba9bce646dc3a563001bbab9c373b74f094bcaad62f3b3125a7ba11249f3a08e46ebc6a14443b5017c8bab01a353b04b85dbc498d653bb62dbdbae89a413b8c9d37bc94a5683bc8019fbab2c14a3b52231ebc1b276f3b368f10bae17d263be2f307bcdbfb73bc485d4a3c5c9550bbe8ec88bb88cbd4bce7fa053c808331bbb43a9abb408edfbc687a603ba701f9b8a7bb86bbfe59cabccdab493b298f2c3a0ece7dbb29d2a4bc08b1c33ba0aae73ad58a44bba91b75bc6971173cd848de3a2be959bba3e11fbca8bb593c09cccd3aabab63bb55e3d5bb3499973ca92e003b49704fbbff2144bb911f8b3c22f71e3be2122dbb978411bbe930fbbcbaa6d03e420a313f0c5cacba36cf25bd58d8bd3ea72f233f8835a1ba553a19bd7c2ca23e814a0d3feabd02bacf570fbdf977853edcfaec3e918a83ba1da105bd5fad4f3e6cf0bc3e92c2b93a156b00bdaa4a143eb6da8f3e22e43f3b0929f3bc09fdb23d4c24443ed067d03b510de4bc93f8073d62b3d83d65ab9c3bfb9cb6bc9a024bbc19c09a3cb7fd00bd656d97bb0000000000000000724217bdedd3b4bb0000000000000000059de0bc1ac3d4bb00000000000000009391a6bc3a3ee0bb000000000000000079615dbc34e307bc0000000000000000a11224bc7e83e0bb0000000000000000a012d4bbd9c3e5bb0000000000000000113b86bbff02d4bb0000000000000000d2a3cdba547ab5bb0000000000000000c01b323bca5a69bbc6c53ebbd224343c3876633ba62435bba72362baddae5b3c8b280e3b519810bb2994b1391cae463ceb07f63a1e7326bb3a27d3b9175b533cf88c063b1a983abb7de99cba4f57263cb21a2f3bad4b3dbbac1d33bb2dbc183c8de1ac3aa68747bbd8ee7dbb1ba4ed3b7f83223bd3884dbb9846c4bbfe8ec53b0851b53adb8b46bb9321b5bbf927863bb07a19ba6b86e3babe25373b61ff78bc1f6937ba2259e0baf1a4983b37cf8ebcdb548f3a8386a8bac3fb683b32e867bc7db42a3a7d8281bb20a7173bf77a66bc1bf5243bd636a9ba9bbe3a3b78952dbc582a573b7855b4ba34e16d3b248e21bc1c065d3b83dd98baba9d3f3b8876f5bb8cac3f3b0627b9ba87d32f3be2dccfbb2c6e4d3b698f2ebad1bf1d3b15cfa6bb8fd4a3bc9083f63b27b51bbbf0ab81bbac5602bd3d92bab827f2ffba9aad84bbae31e6bc01a761bba2be4b385ff24bbb6d55e3bc746192bb0cfae03abed1dfba12bca1bca1968d3aedc4d53a5c411cbb4baf8fbcf342b43be9fbd63aa1c604bb6fd036bc467a3e3ca6a0883a1a710ebb9d5e08bc6d878c3c2846213a7da74bbbb4078ebbc83f8e3cc471fc3a2e0000bb71a5aab9e587e3bcb743893e6b52553f1f2db43adf7f16bd415d773e9019443f80485e3abd09fabc9dcf513e1737263fbb8b493bc197ffbca10a2a3ee8a10d3f6eb5893adca6cbbc620e023e78acdc3ed7073a3bf025d7bc635eb23d907aa83e1f50813b370db7bca723483db16c5f3e2298c03b69e5b2bcd5a9043cf27ced3d84ca9b3bd40c89bcaeb698bc13546a3ce6eef7bcb6adc0bb0000000000000000e58709bd4bcff3bb0000000000000000d27aabbcced4e2bb0000000000000000a7f673bcab3e20bc000000000000000096560cbc4b52dabb00000000000000005f47c0bba5ced9bb0000000000000000b7dc3ebb3261c1bb000000000000000007238fbabb98d0bb0000000000000000feff283af37aa9bb0000000000000000556c113bf191bbba3a383dbb6b63243c0d55673b6efe1a3ac6151cbad9ca4a3c8729183bdb3c0fb990b5113881f8463ca6ac303b276187b8c95596b9f76f373c311fe23aaec13ebae9ddbfba01ed123cd502be3aa86b51ba39933cbb0e13ff3ba630283bd460b9ba360790bb5408b73b343ac13a3f41b4b9bc82e2bb711c583b7fda5a3bd4c222bbb8fee7bb3dc7013b4ff669ba1eb23abaf1ca863b687b24bcbce050ba9a0204bb0fafc43b7c6324bcc566213af6e816bae4f5893bc01a0fbc4baf0d3a66906eb9838f283b9145f2bb0417be3ad415b637bd30403beba4ccbb4c6b583b185280b9cb9a673b17cfacbb27054a3b0f0938ba378e3e3bfaf374bbb0d3853bbcfa28385ea4323b20a353bba395493b2dbfc8bac006a93a89c731bb27fbe7bcd96e06bb0c0f83ba1e276ebbe69c1abd04ff62bc36e5caba237717bbd3a507bd8e9087bc055e9a368f5af5ba0efae8bc15065abc8737a03afedd44ba1860adbc16bddebb32a4ad3ae214b8b9440592bc947efaba352f4c3a03d350b9f66a49bc8277c23b75ebb239d8a8beb9106104bc862b603ccdc5aebacf79fa38e65bc4bb6d1c8b3cb0f9fb3aea40f9ba401f0d3b6069cebc583e043edc3a7a3f4c252c3b84dff4bc5e51ea3dbec6633ffbfe3d3b7094d2bc5006c53db046423fe36b4a3b57d5bbbc42f79b3de812213fcba4233bccb79cbc8cd55f3d53f4fc3e12f5893bf17598bca540fb3c6f68bd3edf579c3bbfd381bc5826ff3b5adc783eb7bed03b58a657bc9b2187bcc2a8f53d3a09dd3b6e081ebcbd99ddbc5e49c63bbefcddbc089a03bc0000000000000000c13dc3bc3c1523bc0000000000000000ca675abc1ef808bc0000000000000000884f06bc5e6febbb0000000000000000b6a6c1ba86bacebb0000000000000000107a8a3aaa0ec3bb00000000000000008ed5223b8e62a7bb0000000000000000b882043b586589bb00000000000000004809813b66eb98bb0000000000000000000000000000000000000000000000009223143b86d0a23ac3b656baf35c0f3ca43e023b5af96c3a230c86397a8bfa3b2983273b27ae053a075b0ebaf9a5da3b68d2793aaaca2b3ab69a55bad9ceb33b4a36e83a32b44d39327df7ba76e19c3b8f41b53a85737dba18fc8abbecd7d23a0745533ac3968b398c0b9abb57281f3a0000000000000000000000000000000000000000000000000000000000000000f53e43b90b8281390505933beca881bb1820663aae3dbc386af8893b25f255bb3a59073bb1f21739d312303befed35bb44221a3bd05a08b94faf183b11f5d9ba4134563be99f86bad73df93a1632e3ba8c6b073b40dd4fb93fe5cf3a29c5003ab7192d3bcce287b997090b3bada12d3a0000000000000000000000000000000000000000000000000000000000000000fc9d00bd1734a6bc1ada96b9f867deba07bbd0bcb12ba9bcf3c1b3b8354900baa63cadbc61d487bc469e463a2961fe390a3881bc1ee234bccf12053ae27b013aba2c48bc6fa9c2bb8ec6333aaa95b03a5c4901bcce3a0ababed511bac2aa3b3a98a6c5bb4d15093ccc10afb905a55b3a000000000000000000000000000000000000000000000000000000000000803fa9e9773bb52590bca34398bba256793f9cde7d3b68a36dbc3e94a5bb2a78533f7086193b65114dbc25afecbb2bc82e3f5561243bd13428bccb5d28bcc0f3093f3cf10a3bdcb812bc0dbc7ebc65dacc3e9e67a23b4a07d6bbaeb9a5bc6824863e44c79e3b7d17c4bbe4fde4bc8d60003e0000000000000000000000000000000000000000000000000000000000000000571607bc57a00cbc0000000000000000c3c6d3ba2069e5bb000000000000000042d7183b11acb0bb0000000000000000ed28813b702799bb00000000000000007212c43b3d367fbb000000000000000015cfb83b466f38bb0000000000000000f6d6c13bd99a24bb000000000000000000000000000000000000000000000000000000000000000000000000000000007d90a7ba0651dfba9886cb3ae554133bad2f2c39dec4d5bae3ba893af6d3e03aa56e9eba39dbc8baf9609b3aaf99163b88d6c1baf275e3bae506943a0176273b8b638dba1eb324bbdc9cc3b93cd0773adfc3abba4f47d9ba9862f9399329ff3a9451e2b92b9bf2bac8be9a397c25143b000000000000000000000000000000000000000000000000000000000000000004b86a39c3995eb96fdc2dbb784a77bb249ccf39ede31bbafcc51dbbcd984abb6569683a4eba88b9ffaf18bb65643cbb6f1e813a475c3aba02570fbbd88325bb0a60a33af45527bab82a1cbb967d55bb2f1f653ab6d3ecb98190d4ba81f2f7ba9b11923a29ca40bad928d1ba44d1fdba00000000000000000000000000000000000000000000000000000000000000008bc9193af657333b4a1922ba0db1aebac9b94ab79930023b58138db9426381babca5a039e4d6203b168f5f393ead49ba94d07b3a80a0193b4b5609ba88e8c1ba1777e23a203d4c3b9542f139792092ba5a5ab53a051a1f3b11f8c139c2aa6dba4b3bfc3a3a18373beeada6398888c2ba0000000000000000000000000000000000000000000000000000803f000000002bca3fbb7d5285baa1bb623fd2aea23a163c21bbf9f068babefc413f1f6acd3aac3023bbd4dc7bbabddd213f1754d239fd3b22bb526789ba9f73013f0e20dc3ab3144ebb0fb444bb7e8fc23e52d9443b44c212bb278018bbf880813e25e4143b931717bbb3603fbbeb72023ea21e2d3b0000000000000000000000000000000000000000000000000000000000000000b060f5ba4f9c8fba0000000000000000139daeba54f08bba000000000000000084fc67ba6d0883ba00000000000000008f38adbad95ab8ba0000000000000000d2e777ba2442cbba00000000000000006fd065ba23a0b9ba00000000000000002d5c90ba7ba10bbb0000000000000000000000000000000000000000000000009e90deba314634bb3aaa953a896e363bb1b939bb949672bb89a0163bab0c863b987e0cbb7cd660bb6ac0433a345c2d3b344d25bb9e2c29bbeac0a23ac6ff673b2d0013bb0832ccba93e6933a2f9c603bcb19bdba971439bb2f7ada39b052613b44f70fbbe4aa91bb3a14603ac21b8c3bfc9de7bafb359ebb235d853a3d8d9f3bcde56cbae2fbe6ba4e2e24b86fbd243bbe337b3aa24fcab975184dbb4ead8dbbff1ce93aa5820cbbb8eebfbb699acbbba78e2b3ac135d439716f5cbb72cca9bb4dbcb43a86ce50ba286848bba1df8bbb3b84d93ac87349ba9ec37bbb4a3898bb5618e83aed8c85ba9e9419bb132978bb5b53aa3ad7a310ba90eac1ba080322bbdae2f63a1dd9b3baaf4c14bb608077bb5a31d43af99d3db9d6222dbb1ed907bbdda4993a6445633bc526d3b93008acbaa4b9bf3a1f58a73b2a6deabacb62a7baf5c243b92167ac3bf866a03a97700dba427d033a6d90813b82d46f382f0deaba7f20463ae7ac723bd48ac938b370ddbad513983acb18893bfbbc253a17b701bbb0673e3a1cd1ab3b891b9dba4b21bdba5e91723b2b9dc13ba20b1d3a5cab21bb044efd3a5ae0563bbf6f823a80efa5baab4d58bbd7c710bb3342633fcf4b023eb9a29fbb89bae0ba6a93473fe5c4e83deaa482bbd65b37bb4e3a2b3f9b6cca3d653c6fbb723921bbba6f0e3f897ba83dc58293bb74ec10bbc896e33e7f62883dc1a05bbbfdae62bbc512ab3ef91a533d571321bb0b57a0bb0e5d653e1c3d103d16aa66bb9ac7adbbd518e93dab9ba23c11d7edba764e51bbf1bf083bc4cc683ba79018bb2609c3ba000000000000000024b90bbb90b2a6ba00000000000000004f793cbb74da31bb0000000000000000c15df4ba79ab06bb0000000000000000d811a9babf4a15bb0000000000000000ac37c2ba377424bb000000000000000086ae96ba49ec6cbb000000000000000000cccbba132577bb00000000000000002de237ba9b9615bb00000000000000004a5812bb1447a6b9c61f3e39658e363bdc7310bba19a6cbbabc3c83a8deaa23bae6215bb0dc69bbb9e7fca3a7eed913b5e51c2ba85b16fbbedaa203abf9b873b13c3d0ba3f025ebbc1a1f1b929bc3c3b0255f3babf3c83bbc2d596b92d9b733b592d02bbc89f43bb5a2fa139e8ad703b37e403bbb38284bbc4fe61ba8731853b2b62d8baef142fbbe60c01ba1b1f303b2b75763a49a87cba779079ba19649dbba717653afd95d9ba78dd7abb441bb0bb00ca8e3acfd086ba399d4dbbad3a74bba8ca083b916e5fba4fdf6ebb71e4a3bb518a233b8dbb37bb2241dfba296959bb23792a3b2058a5b96dba62bb821685bb178a023bd5ac87bae20721bb863148bbd5bf273b2ac181b8d8da49bb73fa69bb5bc00c3b2d48eeb83efdecba1d432ebb44f85e3aa12b7f3b44759db994a1aa38faa8c43a992a923bcc2521ba5d0671baf5138e3a430e643b9c623cb9978015bbd785b23944bda53be7d9493aec3ef4bafa39813a9f7e993bb81ec73a209ca8ba0b279f3a7a74b73bf568c93a7e66dbba9d40da3a4dda973b3b6b923a83be14bb2613003b9aa4ba3b304dcb3ac6abc6ba5a00b53aedfe833b6ec2c43a1ee5a5ba33cb06bbc5094ebb4632423fe5a8813e7943c6bba37155bb55562b3fca0f653e1340a8bb19331fbb5792123f2385443ef94f86bb8d2a78bb8cb5f43ede73263ed2942cbbad505fbb5d45c33e32a8053e009c87bb0f4585bb1729933eb4aecc3db1b336bb91b26cbb9d01443e10b28a3d4b764cbbf600a5bb829bc63d71031b3d4fe712bb72705ebb26000d3b405e923bb62b26bbbc9004bb0000000000000000736776bbea07b4ba000000000000000053402dbb4ca67dba000000000000000052d000bbbc7625bb0000000000000000a5294dba4623f5ba0000000000000000ff1d8cba0efc31bb000000000000000022349cba34035fbb000000000000000096418dbafc3a56bb00000000000000004a7114bab1aa1ebb0000000000000000853b0fba072c6cbbc623ddb990b41d3b16760ebb281a88bb34c63839f219ca3b5feb03bb7f3576bb36bd3d39e5c98c3b29411abb4e5b65bb80cc6739761a953b3487d1ba5d1784bbc0fa2d3a0b67933b2fcad7bab55e7dbb72caa1baea88a03b7d58e5baf7ca66bbe0b754ba391d7a3b1a7b16bbc61280bb62fe3cbaea3f943b25faecba8a2e44bbdff974ba0ddd3d3b2a8c153bd61746361bb869bb662c94bb713ef83acac2b1ba064a82bbce2fbebbedf31a3bd13c29ba38b070bbf7aca9bbb175293b7b6a2bbaa7e753bb5486a0bb4413443bf45eb6b9215463bb6828a7bb0eb75a3be6e622ba1a2e21bb59cf9abb8113423b42d6b3b92b8732bb86b483bbf660183b778457ba9dd139bb128883bbea3f263b0ada49b8c79c06bbd86d45bbc4bb1539fe67663b845a6d3a8b6c98bae88e8f399426f73b176e7a3916972dbb49c548b7b0a0b23b2e008c3a9163ffbabeefe5371fecb83b5d0e9a3a45030cbbd4dd4e3a3a32b43b120fd23a0e1cf4bac1670cbab58ad03b50830a3bb43d19bb4b32233af25fb83b413c0c3bdc8fe1ba6648c73a3e8fe13b911edc3aaafc09bb2b24773a9472993b1ffdfc3a6581abba9b3a69bbca7367bb1a2d223fc7ebc23e3c618dbb4e918ebbea010f3f05b3ac3eb9a381bb2e0b84bb6299f43e32e2933e63c87dbbd8248abb321fcc3e6922783e5cb98abb5f7ea0bb792fa33ecb73473e50c067bb6741a7bb900f763e2637183e624160bba59f92bb13c8233e017fce3dce8959bb1e2795bbc681a73ddb78593d4e6c1cbb436b6cbb16eb013bf3d9b03bd36ef1bac685d7ba0000000000000000bef15abb4b474bbb0000000000000000fb9406bbe19b15bb0000000000000000dab9feba59c73cbb0000000000000000a98ea3ba82f146bb0000000000000000eb958fba708468bb0000000000000000169128ba10e548bb00000000000000003f7380ba7f4261bb00000000000000007d5f9ab9c9ee29bb0000000000000000740ce1ba7c8b46bbfc766db85f2e723ba625caba46496abba0121fb805a0963b358dc0ba8dbb50bbd01b8ab97ab9803be924b2ba43096bbb9d7219ba11e78f3bd3d4d2ba368a24bbdd2cc5b9ca455b3b1f240fbb776a62bbbe6b52ba4417853b323b36ba04b18abb608e1ebaaf05633b1aea0fbb424e6bbbe1d499bac6df713bf673b4ba3f2333bb121e8dba3a79273b87ddeb3a9a5503ba733235bba45783bb52412a3b8b0079ba68bd4bbb9619a9bb159a1f3bcba205ba07bc3dbb970a8ebba5cd3b3b6fd0d8b92c504fbb4a3ea0bba85d2a3bfd2c10ba8d0319bb13ae50bb38444b3b245749ba5a2834bb969c88bb43473c3ba12cabb975c263bbeb4934bb0a30543b812e8bb9355f0bbbd67670bb48252b3b89cac7b74782efbaf4c337bb27b6e239d1d7a03bf5b01a3a18cbdbbad914a3b8d543c53b5971893a023618bb5204ebb9c4b5a13bf67dbe3a8d4bd4ba491a6abaef0db93b7513f63a472d09bb3f7cfcb89b11913b6dcede3a2b7db7bad1d838b80e65bd3b1755113bcd0c0dbb3cd9bf39301ea93b5fe40a3b1faaedba0de0ab39bb6ec63b8fa9223bc85304bb82d6b739aa2e983b776f0a3b2820a9ba6ca549bb584b4fbb01a1013fccc0013f7d0d81bba56c8cbbd322e43ee6bfe43e09fa62bbcf776cbb8d23c33eb71cc43e592d77bb9aad92bbd333a33e8ed2a43e652630bb9e61a3bb8e08823eee65833e58215abb388e8bbb1653443e6167483ecd9a84bb057158bb2bc4023e78bc063e7b6b29bb881e92bb8f48843d46f78e3d5fa70abbb5bf5bbbfba1b53a30c2b13b20531abbbd4310bb0000000000000000191838bb020359bb0000000000000000d8fab1ba0c5810bb000000000000000041e7bbba2e3953bb0000000000000000857b11ba9bc61abb00000000000000000d764aba987a63bb00000000000000006c5bbdb99b8d52bb000000000000000097378db72b6e6abb00000000000000004e23dc38fc552dbb00000000000000002fa6c3ba20cd3dbb45b4bbb93604793baac698ba77dd6abba5c361ba964b823be32d17bb69f161bbb359f9b957f88e3b374fdeba671374bbca4b7ebaeefa973bd075b9ba82725bbb759178ba71d37f3be716bbbaea216cbbd564baba2362723b7263ebbacf7a3cbb16079ebae054623b80416537728979bb0ab911bb1f092c3b5e0090bac8b31bbbd1ae87babc92453a4d8a033bf6c411ba276326bb809d7abb9c666b3beae14eb981a538bbf722a5bb01c0323b38ec17bad59c54bbe01a92bb2feb693b7b15abba814e4ebb829a96bb22e24b3b4b3ab23951bb2fbb961584bb7ea9573bd7785db955f426bb136085bb14e7503b91dc17b9b8f7eaba16d953bbeeb0413b696a5bb9cca52bbb4ad676bbdbe2623b4cce43ba473cc3baf5dd8dbb10869bb977b19d3b3853613ab92ae1bab17cc7badf49a03b19c4073bfbdff7baccea97baceb0a83bb9a3da3a750700bb7310a6ba7adfba3b477c343b1ae228bb33a468ba535da63b0398233b6e965bbaf22e8ebad163b33b1f73273b893bd2bab687f3b9c3f9b73ba351283b1607ddba954067bae99bf23b4db81c3ba92deeba91cfd338009aa63bf3bc553b0e1ae7baecad3bbbf67e50bbb18ec23e6a2e223fd53863bb8d1597bbcae9aa3e752b0f3f1b2259bb1fbb80bbefdb923e7d8af53e22626bbbc37f8fbb8b0f753e62c2cd3e82a34fbb899481bb17a3433eca99a43e175a45bbf17792bb97c0123ef610793e25688dbb41707bbb0fb3c33d0fd8273e68763bbb144e98bb1f1f423d67f3b13d3534e4ba299c2bbb81508e3ab118c03b382512bb4d801bbb0000000000000000af0c0abbdbe94dbb00000000000000003db4e8ba390c4bbb00000000000000009bf705bb2bc764bb00000000000000000439fdba7f5a82bb0000000000000000625e57b924d75ebb00000000000000007f8db7384e865ebb0000000000000000c4cfeab8243374bb000000000000000006d7d13a22504abb0000000000000000871b92ba382216bbeaf453ba931c513b6b677dba344864bb87cba5baa2a8973b19ba15b9e60899bba9ffd3ba01994d3b947659bb1fe036bb3ca356ba64d66e3b3e21adba555c1dbba2d790baf0b5443b2d97b2babb0c35bb730fb0ba026a523bd1306abaf227c7baad9a17bb5297dd3a6fe29bbaa86512bb36b149bb70b0ef3a888552ba028214ba1ac308bb5347c03a8958ef3a429c89b941befcbae5694ebbd1684d3bdb315dba78942ebb1abd94bb63f0213b15d71db92f818c3b2e3196bb9a80543baa9307b8bcc319bb36f470bb1ede383bbb4a80ba492450bace0428bb01d0503b11ba6fb8d78d00bb33ce5fbbe57f6b3bfc84233a769871ba966f68bb3780863bcd70343a04e595ba7ee00cbbbbf7033b2e70d23a12b7c8bab1ef2abb626c95ba94f7803b2157863a550ab2baeba00fbbaf4aa63b0013013b0a3de5baf81310bb5b06603bb5e9dc3a487ba8ba33fc16bbd47f833b5a8e203b52c102bb707466ba6e13853be4dbef3a8bf103bb1b26d2baf24f963b0352293b1aa9b6baa507f1ba76ba643bf8804f3b4a1702ba083200bbedbc933b5c80753b7d4160ba5d1a9aba741a773b5553ff3a8875afba91bf1abba1403ebb7093813e0160423fcca352bb345b8bbb8435643e336e2b3fa78782bb5d0578bbf5e0423e139d123fc1df24bb4b4d78bb017b233ec6a3f53ef43635bb1bc3abbbe246023e1742c43e43f318bbaaac81bb54adc23db65d943ee89347baf8a684bb56e97e3dc855473e67d893bad7659ebb740cf73cddaccf3d0916edbadc9889bab9f836ba007d8b3b28ccf7ba125f11bb000000000000000017c8dbba45ca63bb0000000000000000c71e6bba0b211fbb0000000000000000dcc15bb99bf05bbb0000000000000000c4c7f4b9868442bb00000000000000001186a83920474fbb0000000000000000f841af3a6ff401bb00000000000000009c84bd3afdbe43bb0000000000000000b4e7a539bf3d41bb0000000000000000ca652fba112fe6bad72980ba54c1343b48bf1fba4ef751bb374e0ebb09a1583bd43b21bbdfd0c3baa91d86ba7a93a03b94fa81b8eef10abb51e2c3ba28693f3ba7973fba4f0df6bace59caba0f5b093b3b1bf3b9291604bb16e5e7ba3d74073b44649ebaf7447bba7ff734bb5138533b099165ba8d9b6fbb876beaba4f35233b9d3505ba6070d5ba83c904bb4d27a33ab7b5dc3ab1611cb963b5b1baa4a92dbb9349763b054470bab6d69e3a6cb27ebb6620cf3a7c3a84ba71a22abba9d61ebb57a4323b0c2023b9d0e2c5baa76e47bb152c1b3b7b1bd239369c8dbac16322bbe1e8383b9314af39a76c83ba6f6f2bbb524e863bca61bbb9430d02bb0e7457bbf10d643ba9d93c3af74124bac839edba7025123bb9d641392f2211bac607e1bac90d05bb1fdb2f3beabd8f3a7e7cb0ba079168bb2c39343b00be373bb30842bbc22a3dbb1b0b823b6dc5473adcc219ba791437bbc637293b4fa20a3b5c21adba1b970abbd234273b3c48343b0374aab95f2613bb6f6e473b68a9283b3ae334ba054823bbc364a23be4ac063b6af1baba252946bb3092463b0c64623be4da65b935e9adba68ce723b3b8f103b24990dba3c6101bb93672bbb0670013e9e98623fb492e2ba02558dbb27d1e23dbbc3473f57948dba9cb340bbd4cdc23d935a2b3f2a9305bb9e5965bb5037a23dc9b90e3f1b12e1ba4ab941bb3403813d4b20e43e96dcdcbae54058bb19f53d3d12b6ab3e0ea728bb6ceb82bb50ef003d286e673eafc473ba115d36bbadfa4c3c643cec3d58968bba672026bb6c7bcfba5aa8793b456da3baa01c0bbb00000000000000008c6a273aa24f54bb000000000000000054a8633ad6c275bb0000000000000000910a083a36882bbb00000000000000005a13813a55aee1ba0000000000000000f03daf3ac6641fbb00000000000000003ac66a3a219c49bb0000000000000000b9c3183beed2f0ba00000000000000006c76983a593110bb000000000000000000000000000000000000000000000000ca6ea2ba39119f39c73cb6ba54ccfa3abe070bb826758fbaffad5bba0217c43a2dde91baa8e795bad11b86bae76b023b0b377bb9faab90bac3babeba0026723ae35805bac7944dba93f471ba672610ba1d134e38833f6abac7dda1badb893a3a33c548b90be294ba1f3ef2bafdfffa390000000000000000000000000000000000000000000000000000000000000000671fd23a748ca4b9f7026839df441cbb5b01e13a26b0bab9f2e225ba03e4ceba3942273bf7268b3a0f0420ba1aefe3ba35ae103bdfb8443a0c11c0b97278dfba42d5073bc0831c3abcb4b43871ac72bad40fd03a05dea139ab4f9b37a65e8bbaa70e043ba368a939373731b9b359a6ba0000000000000000000000000000000000000000000000000000000000000000dbd251bb93e0813a4e14ac3aaf2791ba27d722bb88f7093a4656be3ac03d19bac0db0dbb4aeaa73adaf4163b37c8c4bae52707bb40cff63982ee073b35cb44b9f219b7ba21309fb97c9eff3adf9428b9adc8b2ba06a8d03a7c43d73ad0449fb9350dd6ba9ad23c3b35c10f3b3188c7b9000000000000000000000000000000000000000000000000000000000000803f18c614b79b9329bbaa41c339baae623f51358cba0f2ff5badd477439241a423fd85894baf3340dbbd09468399b10223fa4778cbada9901bb65894fba9d76013f0dc11bba4427ceba642b3aba5d77c13e152a17baf91be6baafe0bcba8284813eaadb36badc9e0bbb1b751abb8b3f033e0000000000000000000000000000000000000000000000000000000000000000e80e39b8d2690dbb0000000000000000a1bf4b3ad64ef3ba00000000000000001cdc063b9de520bb0000000000000000bb87db3a6112a8ba00000000000000002c2ad73a2768c6ba00000000000000009690aa3a3f3dbbba000000000000000039a5d63a7ce1dbba000000000000000000000000000000000000000000000000000000000000000000000000000000000e9791bb87953a3c40e3983c067b9e3a5b3130ba119f353c7e6e8e3c9f89863bf43c7e3928ea033c8030483ca538193b801e913a82d6e33b4a3f113c15892b3bab92183a1492a73b805db23b04f1653bed3b48ba981fae3b8240a53b1e1b7a3b967f91baf8e61b3b722523baff9e8f3b00000000000000000000000000000000000000000000000000000000000000007aea7d3b583dc8ba615b043cf069e6bc8df0783b18befbba9bfa3b3b85ede0bcb3202c3bd62c1d3aa300aa3b14b8f6bcee402d3b0420073a15a33b3bce0bcabcba11c13aca4284b914b5f63a75108dbc2704d23abf3c10ba8ae08e393dc310bc6bedb63a9fc006ba6f4c0bba52e4873a0000000000000000000000000000000000000000000000000000000000000000140e07bea5d5cfbc059bac3b6d99b5b937ec02beb46dffbc8402e13b30aab0bab222d3bd51a5f0bcd9845d3aced341ba4a9fa8bd2b01eabc3661ac3afd1980ba4eaf77bd4a1dd5bc6df8053b00adaf39059524bde3a4b0bc46fc143b4d55e8b9ec4855bcf66188bcfed4773bd6d700ba0000000000000000000000000000000000000000000000000000803f000000008762e33bdff390bd84fb9d3f431438bd1a3ae13b3d0237bd877d833f472d87bc52fac13aee9804bd9ef0533f13a5dd3a4d2cb63a3ba7dfbc9b73213fc7dc013c2984fe3a03eed5bcf93cdf3e5d2dfc3b5a62663b36d2c9bcf61d7d3e28a2353bc6b29c3bbd00cfbc69c5863d88af97bb00000000000000000000000000000000000000000000000000000000000000004fea92bb6ece183b000000000000000025648ebb799be13a0000000000000000062f60bb07c4883a000000000000000069bb14bbeb9be2b90000000000000000ebf427ba366397b90000000000000000f27e573a1f9443ba0000000000000000eb61dc3aec1c5cba000000000000000000000000000000000000000000000000acb990bb1049cf3ba6f24e3c56ef2e39a92622bcd3026e3c4999b83c23f5bb3b264c92bb0f064b3cd254af3cc9c3063cefd6e2ba5b444f3cf194903c3d68e03b291169b9a79feb3b254f3a3cc060073c7c90d5baae7ae83bea31283cc4f8d13b9e5b07bbdfa6a73bb177af3b5c4ff93be7a96dbbd3bb783b836ea139e13bc43bfe240ebb927b15b9e59e1abbde7dbb3a1f47b93a280455baee9a3e3c95efdfbcc6d5603b915b1abbb481803c6c80c4bcbc29413bc98cdcb9a7824e3c0e8903bd8bbc4b3bb8545dba5884213c346504bd9fc2093b62e82fba8683f33be871cdbcd3ca573b148841bafdcab43bfa2790bca2f0ef3a9ecf37bab865373ba036fdbb330f433aa759cdba161533bbb47c863b8569883af5bd87ba2d02a9b8e1a5d43b13e89fbd4e2515bcb2aca5bbd6261e3b1f5413be78cbd1bce1cfb0ba3379213b43e512be9e9d1dbdc08c97bb5e68423b4e8a00be3f411ebdd6a83abbe196d23a7f29c5bdaa310fbd2ed89dbb14e9513b137095bd354109bd38895cbbed20c93ad48238bd50d8ddbcc49692ba2456c63a291f6abc22537dbc988d213b10b43f3afdf32e3c04e2aabbee33213bde4a053a5f0c623c6dbf01be70cf9d3faa70a73da131a03c81920abeeabc963f1c05a63dcf91303cb3c3cbbd0060813f5dd9ca3db6e3f43b76c89dbde05d503f1be8c43dd229cb3bdc5981bd48e81b3fca4db13d9630113c0a0165bdc94ed53e2049893d7ad0313c2d7341bd0735683e27d8363d9d7f713c03120ebd94284b3d75978c3c526b403c2a5707bdd52787bd41d096bbbfd700bd44d3c13b00000000000000006dcde2bc197bb83b000000000000000079c9d0bc0449803b000000000000000066aeb4bce2c3413b0000000000000000163596bc931ecd3a0000000000000000eb4771bc8989883a00000000000000005fde51bcef55f93a0000000000000000dc35f6bb8111dc3a0000000000000000a60deebb19cf0f3b0000000000000000c5e9d5ba97ec723b0f68f43b81ed2f3bf5219fbbd54e3a3ccf545c3c50edd03bfb5076ba4c120f3c0869563cd045dc3b9ca63fba6b7c033c1616503c35e81c3c369102b97da2c73bdfab253c8554633bd6b317392b16a53b5e6ed23bed3e053cb7949bba62a6603b24932e3bc98fb73b317d5fbba59f2b3b91d496b960b1973be2490ebba913b7b84fc8b9bad3f6b13ab86d57baa9e06a39e7f2423cfcc2f1bc0df6983a07fe243a00156f3cc33cfdbc2c14673a6276ae3992152f3ca09604bdcde3f438128daa3a1aab403c87acf3bcf1c70c3b5d817a3aa9d0e43bbf62b9bc74ef423a1f47c3394a84cc3b618e7ebca4a4843ae5acb1b91a578d3b24c90bbc1c329f38937445ba434db13a72283a3b5d0dc639bfd28bba02ff2a3b895d6e3beae556bdf0b640b96c906fbc59fd7c3b618bdebd6e04dabc4ef061bcc0f3853b634ad2bdcf6505bd262a4cbc7353673b89b2d9bd1e1e25bd3ea246bc74fb843b894c9ebdf71b07bd076b24bcc46d163b5ec181bd4bd60bbd6d9815bcdf14383b62a210bd4c79b4bc809fd3bbb2be4e3bdd8661bc8ed569bcdb784cbb6d7d3f3b236ebe3beac820bbf1e608ba01ea183b6178793c46d6ffbd2dd8833f3038863e9331a03c94cf13be8b77823f8d00843ea4a33e3cf067ccbd35f3563fdf327b3e33742d3c1a16c0bdc356363fdf915e3e994c253c709691bd6090063f7fd4363eeea83a3c3a588cbd2e9dbb3e979e0e3eaa8a3e3c63dc5ebd3309573e8dd2bb3ddbdf803cabb641bdfe80673d25a6353d264b523c76a710bd97442bbd9257a43b4ee063bd808c003c0000000000000000aee473bd5f5d2c3c0000000000000000f3ad3fbd6634b53b0000000000000000364232bd38e4d23b0000000000000000c22704bde77d553b00000000000000008f89fabc50e99a3b0000000000000000f6a7c0bcd0c03b3b0000000000000000d18eb4bcaaa4b43b0000000000000000f47288bc9be78f3b00000000000000007e47803a29bf823ac5874b3b4c87cf3b8e8e37bbdc4d103c6e6c483cf9c2b43bad8602bb8c9f093cf0563c3cbf312f3c3f038639b7fd003c721b273cc34b383c070d723af3b5a13b260af13bca532a3cf0a797ba7bb0ba3b67577b3bc3c8163c26c490baccd33a3bae9d313bab74e23b9ae509bb1a22d53ab8441db92b8ba03b42ca93ba0840f4b9c362fdba431f313baba75fbbeb58a83ad186213c2c84febc14801a39efbf413a1db5653ca07602bd6d2326b989f0d03af5774b3c8032e6bcf0281fba72ffed3aeddd0d3c5993cdbc7814a7baf058013b36f60b3c141cb0bc49278d3844a48a3a39efaa3bc89422bc4cd3cab9d32ff039cd1a973bb92ba8bb91a8bcb9306ecab9ac61203b8f06e53ac908d1bafc453639e39b453b1cc82f3b352913bd82b9813bdf58c8bc6d0aa23b65d7b0bd6547e5bc712ab7bc5aef0b3c0a78c7bddc0936bde8f8b0bc4254a93b1d89b7bd242335bd9c3fa3bc0c409f3b909595bd256e20bd32838dbc7a4d823b0ba368bde01a0ebdc0e274bc954caf3b08dc0fbd98a9c7bcd67d30bc23897a3b611e58bcb69949bce592debb14998e3b1be11b3b3715173b7bc57dbb62f4483b65c2243c78dedebd5800563fe067e63e36fc8e3c622c06bec13a523f4213e53ec4aa533ca7aee0bda463373f12c4d03e75472f3c3b60b7bd114e143fd86db23ea729203c07bd9bbd0bf5e13eb9e7903e7ca94b3cbb3a8dbd34fe9a3e0e87583e71a84d3cac226abd01cc2d3ee6cc0d3eabfa693c784242bd7cd4503d21b28a3d97d0323c494212bd79a9eebc4b11293c2bfa9bbd12c8213c00000000000000000516b0bd73e32e3c0000000000000000bf598fbd4f2e183c000000000000000029b669bd9dd2d53b00000000000000005a1a44bd88fdc43b000000000000000018aa1cbd83746a3b0000000000000000d57d14bd07f5c33b000000000000000016e201bdc702e03b000000000000000065b0c8bc0970973b0000000000000000d9f8903a3926263ac9759f3ac2db243c33a191ba269bb33b4bfed93b179c403c50a7a8b94885be3bd28b103cade15b3c670b4c39ee85ab3b2c51e93bf521623c8cc2c33a3425323ba894483b5836073cb4f375b896c29d3bafa58b3baedf1f3c9d6d20b8045e013ba167b23a7fd0d13b921303bbaa45533aa596b2b921195c3b317e51b9c4b157bab96200bb8bb00a3b98dea4bbac57143bf738003c281dcebc467278bbde72293b81e0383ced6cd0bc9eedd5bafddc443b5b9c093c8665b4bc375bfeba026d3c3b21740e3c7f3199bc9fdeeabad59ed03a3bcb8b3b18e171bc2cccb7ba9eb60f3b10bdcc3bbc8e28bc7aa88bba067e1e3b7e976e3bed1090bbc4fb8cba9af093b954e96e3b1bd1a83a486ae1ba9dfbff38e2364b3b52efec3ac57a03bd5d45b439fc72e5bc5a84c13be1568cbdd94b0bbdaef2ffbc8959023cd0fb9cbd080b44bd4368dabc58aba53b7d9ea0bdb06455bdb75ed3bcbfa7be3bb9c04bbdc4c101bdb9ad8fbca6bf393bbf084dbd3ad010bdfc73a9bce839863b0950efbcdfa5a3bcfad36dbc82ca893bd09554bc9108edbb7eca2bbceed4c53ba11809b9a20de23b7cf5b1bb4891753b94df103c4090bfbd2f10243f60bd243fecec5f3c76c9d9bd91e91e3f26bf223f33d81a3cbbc2afbda489083fcd310f3fc216243cf80ea1bd63b3e33eacdbf63e723fad3bd78159bdf8a7a43ef3ffb63e0b00063c727473bd2de86e3e40a8903eccb3113ce8a93bbd2582033e1825343e9de7343c987820bdecf21b3d33dbac3d258c0c3c62bef3bc40b0d0bc36201e3c62e5c0bdfd83083c000000000000000006e0d3bd3a21593c000000000000000064a5a3bdd505173c000000000000000000cf8bbdaea7f63b0000000000000000cebb30bd898f563b000000000000000038db47bd0809d23b0000000000000000a6a91fbd0df9bc3b0000000000000000744217bda6d0d83b00000000000000001e1aedbce75fb53b000000000000000033fbcdb8f2f5dc3a49a2403ad439403ccc97f3ba8492c53b981fbf3b5e917d3cbcdeccbab6ffd83b649d023cf1da8a3c63f25bbaed8fa13bae392d3c8818623c8d94c339e278943ba459a33b788a5e3c5b0139b95853913b5e5a553bc1aa193c869cfbba023d773b03b6293b9730d83bc217feba9977943aa42acfb90506e33ba0bd77bad54a0eb9715c5cbaa046263abf57cabb8f5d303b6ba9b73b25618abc0cee44bb36d8203b74b0e73b4e8261bca6a310bbf24e643b8daebb3b2ad13fbc6aa435b977e4153b60add83b65c946bc1ba69dbaeacb273b9d1aad3ba16104bc2c84eab96850d03ab4d9903b67c5b2bbb4a1cc39b1f9d3390ce5603b6b94baba19947cbbd204873a54230b3bdb5e8b3b0f06fdbab8eb2f39e9cd133be9e2103beb60f6bc230319bcbe5afabca70fd93bc9fc7bbdb00a60bd75620ebd7015263cf91a95bd1a7a93bd731f09bd0c0cf93b689a8bbd3bf48cbdf163eebc94cec93bfd6b6ebdb9a666bd94ace8bc41a9c43b5fc335bdef9429bd0cdfbdbce63ad43b6e73eebc0a99d6bc17f39cbc9bcab43b331b63bc254a16bc049c1abc9830853b699630ba4aa7213c4ea3edbb5222963b19820b3c343699bd49e5e53e8e44563ff4a2493cc920b2bde352dc3eb4e3553f11c9363c0e1d98bda186c13ede583d3f2ed3213cbd0087bdfab19e3ea01e1d3f5424d13b468c5dbddf83713e17faf43e279df03b7e4638bd151d243eff97af3e7c65f43bdf4316bd4037af3dfc6c593e67f5ff3b892be6bced8d9b3cfa59b93db5cd9f3b26d0a1bc1067d5bc1abe4f3acf1fe0bd3d1f233c00000000000000008eb0ffbdda16823c00000000000000001692c9bd7c3e3d3c00000000000000003eeea2bdd6da313c00000000000000006ada79bd1571ed3b0000000000000000554f50bde4b3e23b0000000000000000d20b3abd904d163c00000000000000002a6319bde2cc123c000000000000000058a202bdfaf6d73b000000000000000049d00cbad6b8d53a5530ba3a6707623c5b9f3fbbcf248f3b2cecd23b1901a33cc74b55ba94d8af3babcade3bab50943c43d41abbc111c23b0431023cefb5943cf4fa4cba1036973bf5a99a3b79dc4e3c319ffbba9c79953bd10dae3bb3932c3c3adb31bae7c0273bb070f13a2510d43b9bf8deba92a8ee3a174b953a5588e73a432a2dbaf47df738b39ff4b9c32867b8c92e92bbb839dc3a9abf143b13d3c1bbee0a7bba679e1a3b77fd7d3beba425ba04daa2ba7883333b2a0d063bb79aa0bbcdd063b80eef553b0214533b042b9eba7e92f23a38a90d3a67d61a3b667e10bb8304013a33231e3b1544bb3af1e65f3966a6ec3a17bc8b396601173b19ac5939d4fbc639976aae397644d63638124e3b4a7507bae4af9eb95c32303a7a44413b8030e7bc2179f7bc8eaef1bcff8b103cd07a5cbd4a7ab0bd134212bd1a2e1f3c80626ebddf36a8bda63c03bdc016cc3b976e79bd6632b7bdb23d0cbd100bd03bfd9742bd461b86bd248ddbbc6ae5fc3b283c21bd37f453bd02cddabc1976773b0ddbc5bc9ab9e4bcb6219dbc06b59a3b3ad82cbcd213e3bbbddb63bcc1c4b03b3cb163b9857b2c3c3558c1bbf0596f3b2ad6f63bff0f62bd85b9853ec6ec833f416c203c0cab78bd9396773e01b8833fd732083c738c46bda6a2603efe1b5a3f1178f23b1ba934bdd74a373e717b3c3fff14a63b094c0bbddaf0093e6a3c0d3f8cfae73b31e3ffbcf358b53da9faca3e279d933bc084b3bc1253363d3d17733e09f6823b203e47bc2eb286ba8511b13d09195b3bb9c306bca435e4bc7bb09bbcb6aeffbd5034553c0000000000000000697a0dbe7659a53c000000000000000048b1b2bdee201c3c0000000000000000ec679abdfae61f3c0000000000000000e7fc64bd47d16e3b000000000000000050803fbd8a7d173c00000000000000002f5a18bde3aac53b0000000000000000b3831dbdd77b273c00000000000000002fa2f6bc71fcdc3b00000000000000004338caba07e4043a9724203bef25833cd72743bbb2692c3900984b3c5178c63cfa1862bb4a37493b63495a3c5d6abc3c6edf20bb29029f3b8488253c4dbcb23c203cf0ba58ef9c3b439ef53b92036d3c883a8cbafd22433b3e3dc03bd5c63a3c9ed3bfba4bdd233beaf7ad3bc6f6b73b9e2affb93a7083b900d72c3bc6dc093b648562b9a981ae39f2315eba957aebba721b13bbaa75833a923cbcb9696bb83b3562893b80cc3bba5580eaba91d8253c9b19883b9215e43abba6fe3738eafa3b7c61593b2b78113bf95364391a1b973b042c233b07923a3bff94a8392be27a3b49bc8d3b40c9d43abd2de338464b8a3bf5e4443b85f5413ab1b859b945b7293bc908883b95580fbb8ef26bbaa762f33a8a82183ab2489cba02f082baadb13b3b364efbbc37d184bd7f96d6bcf51e0a3cd5a420bd626307be495bf8bc344f353c2a3b50bdc54409beceda0cbdd972e03b232f52bd6520efbd1e3d12bd60b6bc3bd3832cbd8cd2b2bdd72f0bbd58b5903b5a3a03bd376389bd0dcee4bc3f5b803b09d397bc659e26bdb737b4bcc57e8f3b1924b4bbb1eb40bc132c3cbcb6e99f3b54f4ce3a1763563c3e03a6bb7e14543b9471cd3b827bf6bc9ee2a23dad049e3f3dc2db3bb5dddbbc7b62863d88c9973f3a7db23bb128d3bcc127903dbecd823f36efb63b2d2bb4bc7660803d0214543f948f473bf4f68ebc28e7383d96a61f3f0000103b067c39bce1cac23c4190dd3ef1b0a53a4437c5bb58f1f33a8dea7a3e26b4cbb9b26f5c3b393a5cbc4d8b893df6b145b8183c8b3b995b05bd73cb51bd0d8501be6d6a5c3c0000000000000000536501bee1bf983c00000000000000009808acbd143b2a3c00000000000000003f8465bd51b0f33b0000000000000000f1e90fbde37ec43b0000000000000000160bf6bca5d9a73b0000000000000000277ad9bce707db3b0000000000000000124bdfbc83ea183c0000000000000000549dccbc57aae53b000000000000000000000000000000000000000000000000568605bb42a8623aa0751d3c58a5963cd4e50abbdfd1613bba901f3c5cba873c1990efba45f9763bf1e4093c969f333cc8bbcdba7ff5573b0fd5a63b7f4a123c9647aebaff9e7e3b8372a63becc8a13b36418bba9dfb193b87db1e3b7958a43b63376cba5812583abe7a0c3bff26043a0000000000000000000000000000000000000000000000000000000000000000b0d89a3bfebe1e3a714544bb04cc5f3c48cc7d3be97ccb3a2a4e25bb2fcb273c8e6a933b7d14023b68db9ebacf50ee3b2ad0803bbbdccb3a4744c539571db43b7bc77c3bb18e553a3664e2baeef2a23b738e673b53ef623a0ecd3eba994c813bc861623be7a6ceb95c59a0b93661f33a0000000000000000000000000000000000000000000000000000000000000000fad115bd324206beb002c9bc3ff0703ba15c15bd67e5febd7dd7d8bc18d9353b188311bd2f22d4bd7285dbbc54cba23ab972f8bca553a8bd1d0cccbc3ca8183aff5bb4bc0cc17abd680bb5bcaf81a53ad36b49bc2a2416bd86bc92bce49f443b4442e3ba2f3a77bcfb933abcb8bbe73a000000000000000000000000000000000000000000000000000000000000803fc15b513ba75e91bb74a760bdf10b9e3f3a8d4f3b44218abb4ebb07bd2840833f55e6053bf18dafbbfb0cbdbcdf27543fff720c3bcf3b44bbf590b0bcfac5213ff90db93ab0db2bba708cbebc4e95e03e55e85bba3451ae3bd998d8bcb7347b3e1c0633bb27ca283c0b2302bd8b638b3d0000000000000000000000000000000000000000000000000000000000000000367c80bdad44073c000000000000000087e3e2bc0557b03b00000000000000009abd20bc0793523b0000000000000000618c15bb019f113b0000000000000000e58afbb7a9d21b3b0000000000000000488352ba05bd91ba0000000000000000b836f2bb0356333b0000000000000000000000000000000000000000000000000000000000000000000000000000000028695fbbac343c3c0e022c3cf8b19bbbe38b33bb6dee303cbfb5173c63f34abbddb901babeb40d3cc34bb53bf49695ba0bc1cab81a50ce3bf160673b748038383bb40d3aee07a13bf611093b55b6c43ae95d28bb766b9d3b3c0e003bb84e1f3b325c04bb0a4a723b85d419b95977433b00000000000000000000000000000000000000000000000000000000000000004b593a3bf8b43739d944ed3b6f510bbde2e81b3b66378ab72326f53bf5cc03bd8aa0f5b973bf8d3a81d2b53b263cf7bc4fd746bafdf2303a35aca93bed55d1bc046224ba141a303a34f76f3b73bb8dbce168243a4e5b9c39515c4d3b5dd9efbbeef2163acc67e639c1becb3a5961543a00000000000000000000000000000000000000000000000000000000000000006484bfbdf7a09ebcb0e9dd3a4f5933b9c27ebabdd60da6bc1dd6c13a42f1843a49ec9dbdec5f97bc3f044bbaafec2eb8164d7dbdcf2899bc11cdcabadfa88139796e3fbd5a369ebc1243f8ba730ed83ae22508bda017a1bc673d36b9aec2c338350f52bc927e8cbc4997673a876c803a0000000000000000000000000000000000000000000000000000803f00000000eb95573bfcde5dbd0ff0943f066acabcb9e4233b414a24bded29793fe657a3bb0adc2b399c880bbdba444b3facd3023ce001123a85de02bd35741d3ffb56523c4062ba39e9440dbd59abe03e8d4f593c2501843b628512bd6142873eb920e03b7a01533b44b21cbd25ddc53dfce362ba000000000000000000000000000000000000000000000000000000000000000084c0c8bb7efd0e3b000000000000000026c881bb457dfcb900000000000000005b569dbb20f8863a00000000000000008bc984bbd84a733a000000000000000013b82bbbb6952c3a000000000000000050046eb91f847b39000000000000000081f29e398e0654ba000000000000000000000000000000000000000000000000e33b83bbc125133c03d58d3b5ad4033ac24923bc4a15a33c1d52233cfaf2d23a1354b8bb76e7893c00b5123c78575e3bad266dbb2c0a563cbd29cf3b65ac8b3b7efbe3bac82a2d3ca3552c3bf9a6ac3bfb2ca2bbbf95243c0dcdef3aeca8cf3b6f4186bb0990013c261baf3a7a5fae3b835cc1bba689ef3b26e5faba939ba43b1aee7bbb3d55663b920556bb16c3983bf69514bb2487f63af3ff2c3c31bc17bde617c7398117843a66f8533cd8470ebdce2b01bb24c9043b8083403c909a1bbdc35512bb22afec3ae93f353cbb780dbd090f26bb540ab13ae4520b3c4715e2bcad5ce9ba7b642a3a362b0c3c911a91bcfa4185ba2780a03a0771843b7415cdbb58e5d3b93ffca9b9670ac9ba9b06ee3b251f69b9431927b974f3ae39a6d5b93b99ae66bd6dfd763aa55b41bc8e11383bf30be3bd29fd60bc2008e6bb8a883b3bc1dfe5bdb48294bc6e8914bccbfb0a3ba7efcbbd8f369fbc5ebc0fbc02d4233b5c939dbd334690bcd7a911bce6cd343b1bc180bdf6e5a8bcf668efbb129a543b07432ebd7a5b96bc6d4ac8bb67f3c33a08d395bc987262bccf0173bb76655b3b32b7293b54429ebb098977bb3448373b408c323cb82ac8bd65ea943fe056d33dc92c7f3c0db8d9bdac5f8d3faf30d63d4651283c6ec2adbd0b9f713f3abce83d2c380b3ca92f97bd93ae443f0543de3daa0cec3b56db84bdec3a153fdd20c73d85ae113caedc80bd60a9d33e7c81a43df73b223cf9506ebdab9c753e124c683d9ff9593c58fd46bdf326963d0487e23c12114f3cd7ff33bdf78629bda850f13b8c9403bd4c82da3b00000000000000000ee9f7bc44d2c33b00000000000000007f82e1bc357caf3b0000000000000000a81ec0bc5c1d923b00000000000000003397a8bc1f1d603b00000000000000000b2f96bc1568e53a0000000000000000290f7abcbb03833b0000000000000000305652bcc7db4e3b0000000000000000a77f3cbc3e02463b0000000000000000da131ebbd8fee93b8a8c52bb979cdf3baacd02bc01ac863cf4f2c23a7e24ec3b4c232fbb1328273cd5b0963a310f143cc46387bbbbab543cd75ef6391b26253cc4b53abb615f043c6fbb61baaa01173c300894bb0519153ce70b05bb1158203c362d48bbda13b73baca73cbbfd10113c85c8cdbb68f8f53b240a7ebba1aae43b96ec93bb4ef54b3b51a89ebbb390c03b3de3cebb3a12353b4193403c276111bde8b3d9bb354d533b3f8e723c37c819bdc970d8bb87c2263bd220373c5eae0bbd55b9b9bbe89fe53a7460313c0c5df4bc21d1e4bbc580393b7d8d273c2858babcfe44c7bbc5602b3bc0bd053c62f677bca7ec8bbb3d23593acf7cad3b3d59f6bba6ef64bb37815d3aacc03a3af3b5b23b5c8015bb1336883964b40c3b5a55ab3b18792abdffc3813c7307b6bcf3e48a3bc3c2b5bded094a3a049cc0bc4722d63b7c13a5bd5fc1bcbb14309cbcb8e5903b5ae5b8bd533b40bc7afcacbc868fb63b54b08abdfa4022bcfdf184bc6c98783bda0971bd66284ebc54bc87bc4f509e3bddce10bdc988c3bbba4251bc89968e3b9c7da4bc4aa8b2bb804d36bc6339cb3b869e51bbe605923bb045f3bb42c5663b26b2593cc547d2bd69a87a3f06bd8a3e3f448a3c9198f6bdcead723f790d893efca12f3c4647b4bd642e473fc764803e41b54d3cc057b7bd56442a3f8f4d693e06091a3cc3bb97bdc582ff3e50e4413ede00573cc2f395bdca21b63e5e601e3e262f3b3cd74676bd0b41583e8d70de3db5f57b3c46bb65bd05d88b3d3645883d78a5653c24b429bd067504bdd033c33c16265bbd669c1b3c000000000000000072a772bd12394b3c00000000000000004d5241bdd756fb3b00000000000000003dfb36bde24d043c0000000000000000987412bd06d8c03b0000000000000000def10cbd845ed33b00000000000000001c60f0bcd995b53b0000000000000000e566fbbc5160d73b0000000000000000e7f6c0bc5a6eae3b0000000000000000401d22ba581c8d3bdf09ccbb49825d3cc9abafbb8e945b3cb12a73bb405a463c18029bbb01e6553cf06013bb87505c3cc16868bb190f1f3c9ba2f7bacee43e3c900121bb75be2c3ca91b86bbe053473c7e1099bb89b5103c410b8abb564a463cebf1a4bb7256053c2c18b2bbf011183c2c67c3bbc25dbe3bc70f9fbb38a8fe3bf87139bbeb303b3b8181bebba4d5d83bed5e2bbca8c1203bd2c4333ca75d0ebd6e5334bce7a4983bdffa593ce8e809bde0ab22bcfd2c6d3bcc01463c05cdf9bc2ad2e3bb99da353b964a443c1326ccbc8cd90bbcf0171d3bca26023c2237a1bc0271dabbcd1ceb3ad400023cc9f135bc6af296bb7930a03ac2a9973b238669bb688490bbb3bf713ad429003bdbe9bc3bd32644bbbf7cd739c0112a3be43c3c3bdbb014bd2af8eb3c0b7805bdecc4e13bf62998bd83beda3bba250bbdc5990b3c7b77b1bd24b6cbbb3390f2bc62a0d53b47fda1bdb6ee2abcbd0ae3bcd1d9bc3baa758dbd119e14bcfc29c9bca99ea93bdb3964bda78bffbb3a79b5bc5bafc13b9c731ebd2cc35dbbe7eb9ebc960eb63bc40cb8bc35a1293b580c8cbca640c23b6c2000bc86f4533c66e928bc9232693b051f373c4a19c5bd71bd4b3fadc3e43ef85d8d3ce5c7e9bd80c2443fe9dde03ec920793c5b46cbbd0d252a3f4107ce3e6672593c5b43b7bd5fd90a3f5827b33e27b9513c28a3a0bd859ad33ef719963e9bae593c55b590bdbb8e933e44a56a3e6fa67e3c803080bddd7f293e09e8243e91646f3ce92f57bdd45e553d4973c33d86ab4c3c920021bdac52d7bcf2aa113d080290bd3754283c0000000000000000c99aa5bd02c8673c00000000000000003cd08dbd8929403c00000000000000001a4074bd4f74433c00000000000000002c8c55bdd66d0c3c00000000000000003dc63bbdeb95e93b000000000000000025b927bd5ccc073c0000000000000000156c22bd7fd42e3c0000000000000000a2eff8bc1619b93b0000000000000000131a5dbac65ca03b1a8414bc900e933c65e68abb49ca1c3cb812e0bb7552953c32333abbac97243c563f8ebb50098d3cd6ca3fbbb0fe133c22b8afbbdc9e823c012261b94af2933b66c6dcbbc66a573ce21148bbbac10e3c2706b3bbddde473c85796bbbbaafb93b1be6c0bb5888203ca5f7a6bbe435f83be59cd3bb43f6033cae453fbb9aea333be2a0dabbb220003cf64450bc949e5f3bebe5213c7c92ebbca27f63bc2f47983bbc583f3cea72cdbcd3852ebccdec5f3bbcae113c5d59acbcbb1533bcb3b9693b41d0253ca5bd8bbc8efbcabb3088f9393b4ee13b02ad75bc400908bc07533e3b27a1cd3b33f7eebb4053b6bbeb938a3a688d913bf90886ba0f3e97bb2c1c493aa421f63a7deb7d3b11ad26bbd20524ba3c42543b9891263bcbac15bde37edb3c43c010bd49f1a43b32f68cbd4326bc3bdbb01fbdedb31a3c0f5096bd20d7dfbbfb7b09bdf8d2db3b855a9bbd188f3fbc86d200bd44fadd3b77814cbd7d152cbb8bf5b3bc63d0103bd5fb5dbdbb76debb1966dfbcac8fc03bd73211bd80c68c3a1d4fb5bca459b33bad46c1bcdd611b3cd864aabcab2acc3b9ecd2abcaa448f3c3a3f60bc5f83ad3b19543b3cff18afbdbeb31e3f2ff71e3f38fb6f3ccd2ac8bdb329163f95631c3f0ccd383cd423a7bd76f0ff3e66530a3f2f332f3c8b8fa1bdb43cd43ef2cef23e858d033c8f6969bd5a229b3e617ab93e11cb453ca0f180bd26e65e3e1c55993e5686353cb5f54ebddbfef63d67fc4e3eefe2523cc72d32bde773053d2609f33dc6bc2b3cb2d4ffbc36cfeabc50cf243da9fcaebde1ba343c000000000000000086f4c3bd6977793c0000000000000000cca09abdbca6373c000000000000000031f28dbdc15e2c3c000000000000000075593cbd2d67a83b0000000000000000b0075abd19e73b3c00000000000000009e9736bd8a20073c00000000000000005de336bd98873a3c000000000000000023d111bd9444b23b000000000000000077add6b970957b3bb6a81bbc3d05a13c20e1d5bb2796823cbd39c8bb2023a33c01c594bbbc1c3b3c44fb4ebb677c9f3cab9889bb3c84363c014b3fbbb8d68d3cb0b841bb95d61d3cefb1a8bb5b23813c663f94bbf20d053ca15942bb01d34b3c05f39dbbc2f6ff3bcded96bb87062a3c8e5e98bb887ed13b7fe29bbb2829dd3bda5733bb9f187c3b23f5ccbb6db7cd3bff5c57bc2f8c283b20f5e43b12dc9dbc6de678bce755c53b2a0bd13b377d79bce99b3ebc2d09753b7538e73ba2094dbc3cd124bcfcbe7b3bcdca863bd58a12bc370813bc7ea3cb3af7b2a23ba853cbbb6545e0bb5bb0253b57268c3b2b7993ba005d9abb6008ac3a5274323ba7ce503bec4190bb6a1bb93a43335dba2d17053cc6eb46bb5cce9b392585d13a712da93bbec01bbde4f2af3c565917bd797bdf3b7c848dbd16be1fbc5d8f36bdebd03a3cfda09abd9d65d1bcfcb91cbdfc59023cd1e892bd6ff6d8bc01b20fbd213cf13b5c1a7ebd938397bc3e94fabc3763bd3b93054cbd7ce35ebc9a7af6bc4ba3e63b9a961abd3e7259bb1346d9bc4a45b93ba69bbabc5e48153c90ddbbbcea9fd13b26bc56bc97e09d3c8c6272bc2145873b37ff1f3c34cc8fbd1b16e23edda44c3fed6c6b3ce560a7bd1e25d43edddd4b3f7cf44e3c968e93bd4a22b73ef435343f6d24703cab3283bd3390933e1ced173f3d152f3c81b060bdde0e5d3e2704f43e3990133c949345bd11bd123e1b7fb73e1552223c606923bdfbae943d6b2d773e4b6d1e3cce21f3bc59b8f73bf662043eaa86f03b90f0b6bc147b13bdfab80b3d69abc4bd4a723f3c00000000000000009516e4bdd7e9953c00000000000000007ae7b8bd5986653c0000000000000000268196bd69bd3b3c00000000000000004ee078bdeb45373c0000000000000000817d59bdbc1d1c3c0000000000000000617a47bd1a10363c00000000000000009f1d42bdb439433c0000000000000000875c10bdd3f5013c0000000000000000b8f606bb2421b33bff5ca0bbd5ef983ce677a6bb95b01c3c920dbdba5559a23c694f6dbbb94e043ccfad92ba58318d3c142489bb24d9163c405faf3a8422893cae694ebbf509053c9a7a20bbca6a673cb58888bb4caf153c40c258bb0d11473c619343bbb2bbb83bde2367bbbbd3023cd04a55bbd977b13b44c81fbb5159ac3b82c8f8bac43c073b7a7c35bbdabf513b8bc24cbc6635943b5b6a603b4b56f5bb2fce4fbc998cb13b2b415d3bd279e9b9ab5e0cbce5f4573b61ab793b618c60bbd73813bcf9c3693b71c96a3bd2ec9db9e131c3bb42d0163b625c0f3b672f4d3a39cbcbbb4d89033b7a030d3ad3d19f3bea5703bb2faf8738ba5bb73a7543873b2ecc4dbb96a9953a28792bbb312b0c3cc50ffeba0a71043945fec2baf8c3ec3bcc6f29bdc385ec3a88c615bd7584fe3b4a4487bd037312bd57c02fbd9d97413c38847ebd10f31bbdaa4806bdb7f5ca3b212588bd78e244bd9ad112bd24eeb83b9e6b5bbd677a03bd4006f2bcd641993bd0513cbd3e03c6bc0fe4f6bc6d86c83bf94af9bc205112bcead2b7bc9185953b173a96bcbe88a93bdc02c8bc1b27ec3bad760fbcac45943caf0459bc3cd3883b4f2f0a3cb1ff55bd33cb893eede37a3f4ddc2f3c2bf56cbd053f7b3e130c773f557c0f3c159345bd6c58593ecd6f4d3f384f073c0c5e39bd40fe2c3e3bdc343f998fe23ba5a113bda021f83d77400b3fbd09013c582101bdb5ea943de53fd23efc1cd23b41a3cbbc9114063dbf62853e729c953b57236cbc073f89bcc4d5023e18e49f3ba81e16bc536c25bdd74b653cb908d3bd8675503c00000000000000003effe8bd6c468f3c0000000000000000783097bde304193c00000000000000008cdc8abd4195463c00000000000000003ac74cbd13a2013c000000000000000061d148bd669f273c00000000000000008c9218bd7fb6ef3b0000000000000000f9f533bde1db533c00000000000000006cea10bdda95ee3b000000000000000056581abbab79983bc80bc6ba2434883c397a6bbb3038b03ba058263c9c6c973c2fcd87bb53f5f93bbcf4013ce0e4973c45f475bbd9effd3ba87fc03ba2ed7d3c50a159bb89d7ef3b7f25043b97ac333c76284bbb5f85c93b2483343b25a30f3c15f900bb9f8d743b3481033b68bed23b561966ba95f5d33a1875ab3ac67f363bc43734ba36eee73ad44113bb7be86a3ad9f21ebc1536893bdbed643a9c1e633bb1c9f5bb6f41a93bd7fb72bb8056423cc84bacbbd845793be10b49b9da3eed3bb3207dbba4f6713b3e1eb9ba0474003c74da00bbb770fa3abefd2239b792c33b45ef46bae865ff3aa20152ba6514f83bc5be193916c9cd3ae6f9fdbafbc1fa3bd26a0f3ace2e8f3a845345bbc2dbe93b228cff39def63ab97b7537bb5593d23bc7e63cbd9f08f4bc4c4b01bd7569d63b764666bdbbcea6bd807911bde5a5073c2ab47abd5700b3bd20a511bd76d8d83b74ab6cbd90129dbdd1da07bd2079963bd7f839bdf86368bd3329f3bcf653463bc47614bd7d3d36bd5e75eebc63b0823b5797bdbc5c71d4bcf433dbbc25b58d3ba6feffbb73b7bbbb4a23b3bca52dae3befda3dbb82f3633cdf5b50bc6b7a883b4146c83b76a7fcbc6913cd3d2372953f8c59ec3bc73df6bc1eefac3db09d8e3f210b9f3b828dd3bcee579b3d473e763f7c98f53b65f3b8bc3f02673d364a4a3fd553693b59498fbc940d133d528b1b3fae6e4e3b217a58bcf6611e3cf2dfe13ee9d8233b4c39e5bb202565bc34068b3ecedaa2b93c902f3bc5cf0cbde4f2da3d64e0773aadb45f3bd2e941bd93c46bbc8d21cabdaecd303c0000000000000000421ac4bd3d667f3c0000000000000000dc2d85bd71e8283c0000000000000000861c3dbd05b2f73b0000000000000000a655f8bc6108b13b000000000000000059fedcbcb23fcd3b00000000000000002dd4dcbc21e2e43b0000000000000000205002bd265b243c00000000000000000cc4e4bc2d13cf3b00000000000000000000000000000000000000000000000024dd1dbb7606683bee67173c8249313ca2fd25bba0c7903b02d9173c2a22143c949f32bb13ba8c3bb3a1ef3b8466d03bfd1f1bbbf607b23b2ccb903bfb11333b05bf06bb951e843ba9e5693b24c7ca3a2d4ec3baa91b353b8917473bf8f7a93afc8555386d8cf538e9b6413bb19004b90000000000000000000000000000000000000000000000000000000000000000bcf724bb465b1f3b87960cbba0e84b3c8ea5c3ba9eabdf3adf7513bb4048233c2901d5bab977d03acada8cb938591b3c73c5d9381012a23a048438bac92afc3b4bbc613a3f81853a689a87ba6acaed3b5086033b1eda89b8430efbba49cbd23b52ea093b38b93139069d1abb88dbd23b0000000000000000000000000000000000000000000000000000000000000000d1943cbd9298babd3979b9bcfce16e3b0e1227bd8105b8bdc81da8bc940c2c3bb16821bdfd9a9bbd349da3bcbf9ee53ab82700bdb86374bd02d69cbc11c79c39aaefb6bc99fe3dbd423a92bc4ded443ae63d48bccc3001bd9d328ebc32101a3ba20b53bb1e3370bc761d67bcb54d383b000000000000000000000000000000000000000000000000000000000000803fcded103b5f15b1bb68f622bd141c953fc036313b383590bbbe65eebc1ac5793fddb1f239c0a69fbb849ed4bc92324c3f776bca3a6e6a53bb1583ebbc0f5a1e3fbdd1823a47cb50ba7eab06bd00dae23e48c46939c957923ba9851abd9f74893ef9ce12bba10a163c640b3abd24c9cd3d000000000000000000000000000000000000000000000000000000000000000012582bbd595e983b0000000000000000d40d8cbc076a423b0000000000000000df0ea2bbdbd0e43a0000000000000000c55ba8390e71ff3a00000000000000007b2d123b613bcd3a0000000000000000a4fd44ba33f1323b000000000000000093aefebb70783c3b000000000000000000000000000000000000000000000000000000000000000000000000000000005585d83a8841f9ba42d64abb002e293b5446fd3aae6d07bbc0d851bb112e113b768d0e3b852d3abb63c8a3bb1490673b628ef03a52f30abbcb6ca5bbf5a0b43bb71add3a232b0cbbed75b7bb8b61b33be48c95b9adc73bb8baf485bbec72913bdc0754ba49b32db9fff23fbba726b03b0000000000000000000000000000000000000000000000000000000000000000bbdca1bbaffdb53aaf84ad3b952ef8bc041059bb26ec06ba0a0cab3b59abd8bce94d1cbb32be90b9727f843bc1b4cabc151245bbc5665dbade59a93b739caabcb58d17bbb6da2f3aa4b2c03bf29293bc140b5dbbd11488b9ce26a93ba2f355bc245d38bb29a22d3ac8b3cc3bf85d27bc00000000000000000000000000000000000000000000000000000000000000007cecb6bc85e386ba338a03bc3ad52e3bba6bcabcb7ba8aba9de6d2bb2dd0e539f83db7bc4596003ba304e2bbe867c73a0c4396bc7cac7b3bae94c2bbe590853a4d677cbc41c27c3bdf5cc4bb4295783a700638bc610b233b3244a2bbe396033b5f5fa0bb391e813bc35aaabb4ce52b3b0000000000000000000000000000000000000000000000000000803f0000000067e6d7394a9cc8bc31ac803f9147a2bbeeae803a3df495bce78f593f9a93e43a828c6e39eccf8abc0e4e343ffd76da3bfcd596b9f07c9abcc4d80e3f68d10e3c7de5a839d73eb7bc4bd3d43ef18c173c7af7a63ae16dbfbc52f08a3e7ffdf73b9907023b2a84efbc990e083e4b4dcd3b00000000000000000000000000000000000000000000000000000000000000001bb808bc3762863b0000000000000000e0d5a7bbacb4983b0000000000000000e92200bcef3e733b00000000000000002999f5bbddca813b000000000000000031b0f7bb3749463b0000000000000000580cebbbb24d923b0000000000000000795f0cbcf19b803b000000000000000000000000000000000000000000000000550b7a3ba89895bb8837e6bb17bf3c3c063a3d3a3f3f26ba320d1ebca49b1c3c3ce6ec3accdd22ba11d425bc8cb52c3c5d0e373bdf32abba60873bbc835f333c04f2223bc5120abbf41d40bcb4372a3cb451f739330fffb9777434bcd3d72d3c6ce105bacce0e239584d25bc1ecd203cf96b8cbbfe32363b446c09bc7efeeb3b472176baa665d7399c91f4bbc5d1033ca49be3bbf277bd3a98aadc3bbcb10abd4ef1e5bbae60653ae0583b3c55761ebdaf8cb9bbd13e32ba5e902e3c0f2518bd48fda8bb0cd47abada1c1f3cdc6307bdd47174bb140a13bb9dbd2b3cd27ee7bce38763bbf3c916bb186b203c6e3bc3bceb8164bb02eeb2ba5c92183cf53396bcaa310bbb5bcd61ba860d193c6b963bbc744b83b808fc97ba3d2ae93b50f910bcf77d1ebc7da6563c133089bc53987a3ba323f5bc1b16233c187887bcf9076a3b98900abdc952323cd0926dbce387053b899404bd9e983b3cd57a53bc5d35c43a8596dcbc7a9e4b3c160e32bcb37ce239ab90c6bc59c54f3c258b39bcd076f73aa7389dbc2d094a3cf4e710bcdaa2693aa50f5dbcd237373ccf1c02bc3405073b0b6197bb6876653c67dccbbbabf78539a0053e3b306235bddbf1803f8560fe3d1dda0e3cad0050bdc66b6c3f23a9f13df117ce3b6d512ebd13fb493fd978e63d27dbc03b74ec27bd4178273f7ad5d03db981413b970119bd3307033f97d4b13d4e35d53b2c9d22bdcc16c33eedb4943dc267f13b8d512bbdb29d7d3edf845f3d43b8293cd02a2bbdbd8aee3dbf0a113d8998f53b22c313bd1a994f3a83c3903c5151bcbce9eeb73b000000000000000020a0bdbc7761e83b00000000000000001125afbc8427cc3b0000000000000000a0f6a7bcf370bc3b00000000000000001f7b96bc870c913b0000000000000000d05297bc20b2a73b0000000000000000ae3f8ebc91f8853b0000000000000000088593bc690ead3b0000000000000000a5a786bce0933d3b0000000000000000d6a9473b761d9bbbf53c4bbc05da943cfe85523a37aa11bb89fb80bc62e4943c2eb93c3bb0a757bb867c5fbcd766873c4c2a693a79549cba8a9487bc6bb2843cf084cb3a68a809bb9c737bbcc3a6653c27db94b79fdaadbaa41b86bc4bb05d3ca62cd1b8ef8360b96f5753bc97654b3c53cd5fbba981ff3a18fc5bbcb4b3293cb39761bb1edc4a3b9ac634bcdcd4c63b104ac8bb9225d3bab650233cae7a05bd2acc0ebcd63ca3bab0535f3ccd5e20bd41a078bbb45565bb8c9a1f3c41e204bda73385bb213c66bbe9ca543cc6a707bddc9583baac408abba091293c77c9d3bcddaa333887005bbbfb3d4f3cfb75c4bc04e4a13adb5e7fbbaa9e123c3e6689bcc852223a0e4349bb9fc71f3c449643bc09966f3b455d3dbbad02083cebb4e0bbcd0428bc3b71cc3c3072acbcee1ccc3a97bddbbc8c5fc93c5176c1bc8a034f3b7f7fe1bc507ea83c72ae8fbc365cf838a8140abd1d52b13ccbe88dbca658af390613e2bc238eb53ca43f57bc8df999bab5e7e4bcdc61b23c1aa63ebc3a414db9b68aa3bcf750a63cf08f1cbcdc1cd3bab48990bce219b13c07741cbc2e6416ba929d2dbca6ffd13c44a89bbbf33b3dbb04d5cc3b10f851bda2965b3ffd2f8a3ebea7393c1c4b7fbdfaff4a3f3ee8813e9b4fcd3b63ad42bdbc0b2a3f92e9673e28e2103c446852bd82ab103f1fed4e3eed9efe3b86d435bdda37e03e291e2b3e4474253c9f8648bd9650a83e24ea0c3e0366063ce31a2abd0cc0583efda3cb3da11c4e3c271d3bbd939dcd3d35fd8a3dcc513c3c81270fbd1c232dbb5dfc043d26c009bd3c3ef03b00000000000000003ce825bd17cd1f3c000000000000000022a601bd03bbc23b0000000000000000942705bdbc63e23b0000000000000000bc6ae1bcad91a23b0000000000000000f7b2f2bce1e1603b000000000000000047bbcabc9d5d793b0000000000000000c0b1debcd493ae3b0000000000000000875bb1bc3670283b00000000000000000f0e823b4804cfbb1f4479bc4970b53ce14e0f3aeb0483ba233badbcc63dba3cf08eae3a24a209b9d789a0bc40baa33c99fc813ae4c2013a8210a3bc3dfe913c99fb863ac0bcbaba7c789abcd3528c3c205d27ba150b303a770c9cbc87746e3ce52513bbd70a363b5fe091bc81535e3c91df87bba29a423baee785bc85203b3c2fc38bbaa4b17f3aff6766bc418d223c36adb4bb322292bb32f41b3c6dc100bd7116dfbb647a4bbb807f6d3c873f16bdfbc296bbb2b286bbde42483cb37d07bdd77b83bbd157acbba9693d3c42d5ecbc739f2e3a6c6ec2bb9cf0573c8a9ad5bc2e02b5397ee9b1bbff3d363cb2a6a9bc1130283b61ab9dbb8edb273c4fc776bc8b08403b7c5995bb902a233ccfe029bc2534c53b83149bbbaf26003c4cc709bcb2312cbcbbad083dd123bfbcaa0b02ba93d4e1bc965a063dfa27debc1fca183b955e0dbd015de83c41aabbbccddb2539d8ed13bdfc2be23c000595bc3d58cbba6aaf01bdd667d93ca70465bc8a6c5dbb22a4f2bcb44bd23c88e767bc001f67bb21aedcbc475adc3cef242fbc9f5e63bbdf72b6bc113ce23c214a20bcfa8c21bbe2036dbcb44cd03c23ef91bbfdd7b2bbfb08b43b8f5b50bd975e353fdb0cd53eca7c453c6eab82bd1d9e273f58d2c73e41d9373cd8fb68bd4605103f85e5b23e90f0453cc20560bd9894ef3e1d5b9b3ee3112c3c7a1f4cbdbd60bb3e032d803e2964433c609247bdff808a3e09a64c3e9d1b5e3ca7344bbd2f9f313e4bc4173ea1f86e3cf10236bdeda9a23da8aec33d311e2a3c74cb09bd35735cbb1e041c3d2a872bbd2fc3f13b000000000000000096cc50bdc5f72f3c000000000000000097bc34bdf7f6033c0000000000000000894326bd1dffe23b00000000000000009f4f11bd0645913b0000000000000000bd4e09bd4b67973b0000000000000000886804bd6385593b0000000000000000527402bd3175d63b00000000000000002cbdb1bcd82e9e3a00000000000000003ccf5c3bc00e95bbb6a890bc1ca8be3c165cca37b852acba2c67b7bc0bcdbf3c3b7d5e3a5edd8aba8d51abbc986e963c931e3139183e26b76317adbc66a09a3c2e51003b58fb25bbfc4792bc43e3743c3da6a0ba8e6cdb3a20afadbc964c673c10e8c3badfdcc43a50ca95bc25ae523c5d6088bba0c2713b8b028ebcbd08243c03731bbba5112c3b95be71bce3bb0a3c46c981bb67f4a4bb4863273c4bbfe5bc198ea5bb76619dbba81c603cfd3002bdd73890bac97cc1bbf8192d3cc0e3d4bc5f48b8395a80d0bbf9fb503c5622cbbcf8ec703b36f6d2bb19220d3cdebd9dbca31c8c3b3c9fd3bb68c43d3cad158bbc8a99b73b063eb5bbcb090e3c852133bc051acc3bbbabdcbb9b69163c656807bc1cd8003c776d9fbbe825083ca8c2e3bbfef66fbcab94143dab6ac4bc7f7811bb4f12f4bca71f0f3d5252debc866835ba86c609bd7c4fda3cb73eabbcfba855bb75501cbd9c52d43cfb309ebcc56d79bbd141dbbced91c83c2cad1cbc4cf7babb477f06bda67ee73c84113dbcc81ea4bb9436e4bca014e03c22b513bc35e1a2bb5f9cccbcd06cec3cdd8cdabb3a12a4bb547c91bcc82bdb3c9a7d0dbb0f7cccbb0e91c33b3a2344bda4710f3f5831103fe1525e3cf7da6bbdfcf7023f2d6d063f3a4e243c740045bda283df3e5e7feb3e0645433cec0153bd80d2ba3ed73ccd3e5d9de63b71dc1abd6c698f3e06cda03ec2e0503ce6f639bdfc9f553e78e8843e2d19263c7fa821bd7682043eabff3b3ebfef633ca3861ebd2e96663d5398ee3dd7eb2a3c5bbcf6bcdf2212bcd3aa2d3d180243bd7c74c73b00000000000000009fb15fbd66b6123c000000000000000070a32dbd10c1d83b0000000000000000efec31bd5180a23b0000000000000000538aeebcf94c1e390000000000000000fa1911bd8cd7473b00000000000000008377edbc11948c3a000000000000000032f4febcf17b0c3b00000000000000008385bdbce7d534bb00000000000000003912a03a287d07bb3a139bbc0ea9ac3cab908a39c69daaba1e79acbcdab0ad3cd66ca2ba3efa293b9aeeadbc825b963c5017fdba3947443b76abaabc1877623c0f9550ba5a93163b43b5a7bc64a5613cef182bbbe8a5613b110aa2bc4bb2323c631b44bbf44b623b72aa8bbce2380f3c9007a6bbc462c13b69d98bbc9fc2043c461bc9ba6f1c223be03761bc9d97d03bb3da1fbbd4f5a7bbfe06183ca9f7babca36e95bbe68190bbe0f23d3cbaafafbc014951ba1c6703bc6bff393c6a26aebcae498e3ae51ec8bbc2b1253cf8c19abc0f488d3b8ff7ecbb2324233c6d5881bc586bc63b2ba9f7bb31ae123c14be3cbc1428c43b6b4bd0bb86acf03b87cff1bbf5f1c03b2358afbb3a70cd3ba8cf55bb9e1b013c31a8b1bb2694c43bd3389cbb9deca7bc8a760b3dbbd4bdbc24ce36bb900214bd2294f53c55fce4bc07431ebaa33726bddf47bd3ce15dafbc227e08bb89201fbdea59b63c21b68dbc72ff86bb01941bbd829aae3c0b093bbc8005c6bba00b0fbd8775ae3ca0862dbca2c3b5bb463202bdaeadc73c7b800cbcabbab1bb4cd1ddbc25a4d93c02cfdebb553e7cbb9b039ebc78e6ce3c88ceb8ba5b35d5bb7baef63b28cc2fbd5c61d33ec405363f57571b3cdd3851bdf84cc03efe892a3ff65e473c1c1541bd0c1ba53e7ad3153ffe735a3ca1fe31bd36de873eea8bfe3ed7d03c3c01e524bd8090533ecaf3cd3e9e784e3c3fa21ebdea22163e7b83a13ebb8e513c357611bda9a6b23d91f7633e3173573c7b4008bd96b8fb3c18ec083ede81183c7687c2bcc06278bc6ed1283dc3084ebd470db63b00000000000000000fd174bd06d5173c000000000000000031c84cbd97ffdd3b0000000000000000bb592fbdb5ec8a3b000000000000000025b917bdbbcae73a0000000000000000ab9711bde07af43a00000000000000009cc403bd6f95aa3a00000000000000008e6b04bdc7479b3a00000000000000003115b3bcb2bcc2ba0000000000000000b79caebacb380c3ba7a399bc43c4963c349355bb6d45a93b78929abc0beb843ca2320dba6b991d3b6f0786bc5f30443c13eb53bb1dbf9a3bcbf686bc3dc52a3c1702f7ba188e5b3bbf3784bcce62013c7aae49bb24cbac3b870281bc9b66da3b135c0cbb3ba7783bb81e58bc41acb33b4cf593bb4ed0bb3b95f03dbcdfaf7e3bf79c32bb97418a3bc57532bc9f02493b8e9ea6bb95d794bb8f4a083cc7fc81bce56f3bbb62e85dbba2b50a3cfcb47ebc714bf63a76b1bdbbe0e0b33bffcb4bbc1d11d93ad67098bb857e113c21414fbc81b19c3bb4f2a8bb5ab9ce3b4bea10bc2026a73bbab8babbf662c83b283ac0bb9deadc3b4d3eaebb44c4923ba7da5dbbe901cd3b517da3bb01c0573bcb21ce39354ff23b54219fbb092d393b35e7323a372eddbc89e1f23cd44dc9bcffac12bb09f623bd46f5923cbef2c9bc48f896baff6118bd436a333c1c3e78bcc9ff8ebb7f932ebdfec8173cb5226fbc58dd83bb983e11bdf3153f3cfd8bf8bbc67ce5bb6a3f12bdbd624e3c86c906bc573caebb45d2debc74f36b3cae268ebbaf19b1bba7b2d3bc80e29f3c1059b5bb57fd8ebb0bfa98bc456aa23c28d532ba20d1b1bbb55d083cc0bd12bd5b0f893e295b5b3fb172483c684f23bd5c0a753ed6044d3f2f2d1a3ca5ba01bd670e513e869e2d3fb2544c3c742c0fbdcebe2b3e9d87163f16ea1a3c1d85edbc328b013e868aee3e03da2f3caccdedbc6865af3df66cb93e42950c3ce869c6bc8dce473dd92c7a3e3e86243c8601b1bc5018b73be19b113ef687003cb4d389bceaedb8bc391e0c3d21f856bd90b89a3b00000000000000004ffe66bdf082003c00000000000000000aae1dbdef283a3b0000000000000000eef319bda462503b0000000000000000ddf2e7bcfdfaa9b6000000000000000060fee4bc9cd1343a000000000000000098deb4bcfd3195ba000000000000000087abdebcc6407a3a00000000000000004559a7bc3e7e16bb00000000000000000e54c7ba46278c3b510e5fbce4fb243cffe090bb13d0ff3b5b5231bc45ad073c3ae714bb07a5ce3b85cb2abc26eea63b8b136dbb12d4cf3b13f21abc8ef54d3b833417bbf194933b302d2fbc12b9eb3a1bc93dbb3723ca3b9ee71dbc6a5e563a698e60bb5e2ebc3b979303bc5d1e0139d89780bb0464d23b6668aebba7c13838960646bb0d4aa93bf6e9eebbcea92cba3a8545ba5d8950bb3fcc8b3b88e600bc67fc33bb6d72b5ba35ce4d3b41909ebb754f333a460b3fbbd9064f3bc0d2a1bb6caa2d3b337795bbe07d513b625432bbea0abb3b33b178bbee75853bc29320bbf341a43b71f482bba25dc63aa9f7f8391ad1ae3bc0fa79bb303ee83ad40a093b3da27d3bc0dc56bb9145c7ba8ff3c23b1d25c93bd29ed8baa74efb3acc32573bfb6002bd47673c3c43128cbce3b067bb90f028bd242899bbc45da7bcd5d2d7baa6eb24bd9d4a29bcd69d65bc65256fbbca2e25bd087b21bc492d21bc62c8acbb0ada07bded49adbb01ef8ebb2e4a9bbb6dffffbc1eca13bba737a7bbb155c3bb018ed4bcee9c083b404a82bb98cd89bba7f5a4bcc39cec3b4b319ebb7bda2abbed5583bcb3864e3c2db2173a28f399bbd4f3e23bb91cbabc69bef93d9df1803f87a60d3cb0b3babcf4dbd93d965c6d3f9d3bf83b5ebbadbcadb8b93d34ac4c3f08aff53be41a99bcb8df8f3d0ce82a3f41a1e03bf3c08fbc46c2513d3dd3063f973de23b527584bc0462e63c1673cc3e79a0cb3bbcf96bbc1ee3cd3bfc3f893e2144b83bfab026bc3e958abcea890f3e24316d3bcb5712bc12dff0bcfa5cae3c28a732bd4659253b00000000000000001b1334bd4c61bc3b000000000000000038bbfbbceaea123b00000000000000002443b7bcd40d38390000000000000000c19f6dbcf0502dbb0000000000000000077273bc5b31e0ba0000000000000000fbcc6dbc81983dbb0000000000000000228294bc75bbf13900000000000000009fbc5abcb2cf82bb000000000000000000000000000000000000000000000000fac213bb072fd33b6ca8c4bbccf976ba577152bb2720c23bb3b89fbbf4c505bb944cf9ba7585a73b4585b5bb19fc4fbb06641cbbdf0a9a3bc2edacbb15733cbb2a6b1abb72339b3b1a2e9dbb3e8d8bbb105893baa7a2753b108188baf90674bbfd4d08bb5322893b4af814bb266c75bb0000000000000000000000000000000000000000000000000000000000000000149d6e39163032ba18a8013a20b1fc3900f6563a5a9f8bba6e0ef7b8d02c033b31f33e3b57fb81ba28d1913ad2da903a6211563b61f81ebbc66a5b3af0aacd3ad6b3633bba2d12bb7e20a539d4965f3b29c3833bc9c2d1ba0386bdba8ed8473b6528913b046957bad30fbcbaa4dcc93b0000000000000000000000000000000000000000000000000000000000000000cafd06bd391696bc8b5e04bc8aa671bbc1a9eebcf227b2bcfd59b4bba4f834bb6496dfbcb4b1a0bcdc30cabab20180bba721bfbc387b80bc74f44aba58dd83bb57a8a9bc1d4f45bc87c0733a36ae27bb0dcf6bbce29213bc0378deb9b97717bb6c3458bc78a978bb747d4138c757fbba000000000000000000000000000000000000000000000000000000000000803f5f21853bd17906bc6b2c61bcbf6c803f32bf9b3b93ead1bb76f638bc122c5a3f7c28883b9f0de2bb5a144fbc6126353f43a9833b7114d9bb5da35fbc6f720f3f72c4723beba3b2bb2c8d96bc2fe3d53e0c64003bdefd6ebb2a12afbc73248c3e0981da3a006b08bb6c5bf5bc48ff0b3e0000000000000000000000000000000000000000000000000000000000000000d47098bc611219ba00000000000000005e26fdbbb31052ba0000000000000000610429bbc3a659bb0000000000000000d2e04f39f7764ebb00000000000000006a0a463bb3a962bb0000000000000000325e58b845a610bb0000000000000000f73c44bb23473bbb000000000000000000000000000000000000000000000000000000000000000000000000000000006999d5bbc700943bb4d4283d5361d33b8f6e83bb61c8d63b1753263d1280113c9eb9e9baae82ea3b6c5e063d3a6e463c17f7afb9eb7eac3bd13ed53c3254203c46342ab95c66b83b68738f3c54ae173cff69443b0380433a96c2343ccd6b9e3b2d7ea13afbb37d3a4cf4033b765a333b0000000000000000000000000000000000000000000000000000000000000000c69648bb1084e1baa42f2dbaf9ca433ccc3402bba03820bb035527bb1269e83b6018f3ba185f1ebb4dc279ba71292cbbb4011839105557bb3fe047bbb899a7bb18116bb92ca40dbbf9238fbbe9ee90bbc0c5953a6bff10bbf9e2b7bb3cc33dbbb993dd39e994a4ba5017babb837787ba000000000000000000000000000000000000000000000000000000000000000012915ebecdd1d9bbce99063c7385e139d13658bee1df8dbca05c013c29f9f8394bfe40be3592d6bc689bc03bb4fdb83a08371abeb549cebc502ec53b9f22e93a611edabdfbb3b4bc07bb4d3b8e48c83adbb075bd9cf747bcee60823add9ae73aecb54fbca7b7c3bbebb3a13a9a02743a0000000000000000000000000000000000000000000000000000803f000000008847ae3cb3a2f9bd0853ad3f29f0d4bdb7cc763c1090aabd8a4d8f3fa54759bd4d1e2c3c3e7086bd56bb6c3fde60f4bc93b42e3c4f1f46bd5b33303faf7349bcd43ebc3b8cb6ecbc4372e73e1bd592ba76b3ac3bc2092dbcddf8693e55ca603b7288233bb4d6963badb23f3c16e11f3b0000000000000000000000000000000000000000000000000000000000000000b8b16c3c49349bbb0000000000000000e5afeb3b3c6956bb00000000000000006b192a3b8e9171bb00000000000000003d7fce3abe1392bb000000000000000063041c3bb02084bb00000000000000002aecb43a0e585abb00000000000000003bd17e3b6d2977bb0000000000000000000000000000000000000000000000008f240bbcd418213b046db63c5158d53aab5510bc4ec78939ec1e253dfb351c3ce621bfbbd05c873ba2722f3dfedc6a3c1f0077bbc269b03b9ee3183d19db863c438949bb6236eb3b06f9da3cb9bd843c6f3026b9e125823b3858ac3c0cdc223ca222643952a3e93a90114c3c84aee63bc8412c3af453283b5b86ef3a5468ed3afbe32eba48b08439cf637bbb4730a7bacab10ebbae207aba0f385d3bf0d6483c1e22b2bbaa5793ba77cb88bb9e10113d443887bbd90d34bb3a230ebba2b2853c9cc946bb0a702ebbb34f3ebb9c03303c3ecdd4bae0551abb77537bbb987f4e3bbe7ea2bae2d77dba2908f1bb32cd723bfe68083a39785dbbe46be0bbe5c94f3a9ccde23ad36e5ebadda6febb343a4bbbd293a43a455ab0ba67ebd9bb024bb03b9d6a09be58c12c3c229a44bbb8c0103b13b056be2682ae3bd50982bb65ec643b145c67be29b99abc0ce51e3879e98e3b23cf52be0f82efbce910b439748b803b693c25be951afdbc21ca0ebbcef7ad3b9047eebdf134bebc60c652bb89bc5c3b984f82bd773280bcc9498abb1816af3bea8870bcc557a7bbe26a5abb56a4b23a9911823caea5ac3b8b49bfba73cb903a6153223d2a0053be5c14ad3fc987753c2db2323dfa7d48beb97c9e3f768f033da0da093dc4b621be7f4b8d3fa722653dd614dd3c28f3fdbda679653f56dd8f3d67cd9f3c7ba3b1bd7ba5283f3b34933daae6903ccb1069bdde7ed83e223d883d37f52c3cd4aaaabcc08e463e6833643df38bba3a5c50883cd5b0003c40792f3d792d8f3b6ba50b3c2667fbbd2c1fc63be3a384bce508993b0000000000000000ec6c80bc15b6033b000000000000000081e0b1bccf74e33a0000000000000000411db5bc27d7c03a00000000000000009c56a6bc28ff41ba0000000000000000e34c95bc8aadc1390000000000000000cd1769bcd6254b390000000000000000eb5168bc8579043b0000000000000000093badbba9416c3a0000000000000000606aebbbf0bc243b57cf3a3cc8dbf63b759f11bce23bae3bf8f2d03ceba66b3cc2bfe5bbfe43e73b84c4003d9187933ce8eea7bb9860f13b1830e63c720fa83c0a700dbb4b3fb33be1069a3c5501813c93ef03bba4cfa63b712a7f3ccc24613c40ce8cba197c973b7442c83be981123ca5fa2ebb018a353bb8e8ed3a912c183b38999cba9a40ed3a5f2974bbb69edcb99efc92bb44a71dbac4c0a53b358eb23b932c24bbe6e314bb97672339b75f8b3c1eaeb6bad21562bb02840e3b250e123cec9403bab74763bba1511dbb537aed3b4b0dc13a16af60bbb55a06bb33aa133b68c30a3b1ec287bb8912cfbbeee5833babaedd3aec3b37bbab2cf8bb7ba7683b926d583b3f7311bb8f2dddbbb4db0a3b766a9b3a2cb2fdbabe2eaabb5ff3693b3975bebd438b393c12d169bca62cbf3bb7562fbe98ff8ebc1a5d28bc1c78d43bbbc93ebef98f22bd462904bc5f12e03b87a431bed29f3dbd485028bc94c2c53b570707be33b631bd4e3924bc7e29df3ba407cbbd683711bd11d809bc4cd6da3b60a255bd3818b6bc2f5108bc5a266c3b06148abc24c8f1bbe92df9bbe345673be87a0c3c6d37e03becc52dbbbb2ffc3a905d2a3d7fef4ebe4a378f3f45216b3e8e4f4a3d7a565bbe9d198d3f162a6d3ebbf1143dc05930bee678753fa7c8713effb3053d8bed0dbe2ae5463fec815f3e5510ca3c5f31ccbdb007103fba02443e993db33cf61b89bd6cbfb73e856a1e3e79b2853c6dfb1dbd9fff2d3e3b32d83d40460e3c3b4474bb8296e03b3971743d0f34b53ba6a4a13bdee4b3bd923c453c765f80bde31d563c0000000000000000b23a89bd5f68663c0000000000000000f5527ebd3cb02a3c0000000000000000754460bda2e20b3c000000000000000071383cbd7347e13b0000000000000000850b2cbd68e6bc3b0000000000000000860300bd29b8c93b00000000000000004935c5bc717aae3b0000000000000000039686bcfcd2c23b0000000000000000ffcbaabbac153f3b1de7e13b9a531f3c81b1f3bba3a88f3b1524a03cdd72a03c4a60ccbbb382d23b1323b73c618ac33c22ad8bbb5a0fcc3b28f3a93c8f59b43c914f40bbc240c83bb245833c7866aa3c464bf4ba07cba73b5b062e3c396b713c30e4faba0d1b643bc55fcc3b1587053cb153dfba8d8f843be07ecc39e328663baf35a7bad5febbba76988bba647d4aba6bd89bbbf3279ebabbccae3bdfb196bb8351dfba341076bb63a55e3b1cbb2e3c39e52b3aed01a5bb57008b3a3cf8e83b08c0e1396563abbb664f6dba04fabb3b3fe3083b2aef69bb857d29bbad2b203b73516c3b2c4494bbdfa9a2bbb8531d3bb68f6e3b44b780bbcbcabbbbb88b373bd86ad53aa9d96ebb3f5de8bb4733463b26d0003bf09ef0baeb1385bb6f8db33b8eb496bd282e6d3b1e64afbcad0c163c60d40bbe4c4d27bd011c8cbc7eaa1f3c23dd1bbecd6d85bda0ce81bc86eb2f3cc95f0bbe39028ebde18c6bbc7ab0443cad8de6bda87a82bd705188bc17be203c9222a1bd7c7245bd409669bc4afd053cbde339bdbb63f4bc445333bcf80ddc3befb873bc4e780cbca142a3bbf063573ba8a7813beb0e213c400494bb6f070d3bbc28133d55eb39be49f66b3f7d1aea3e34812c3da51f48bec31e653fbf8aed3ec0da163d7cf123be7e94463fcd6ce23eda0af93c43d601be129d1e3fa0cbc73eced3c43c731cc2bd7dbee73eee50a83eb5d3b33cb02584bdd0a2903ebb3a7b3e7c6f873c95f915bd5ec4053e8f01223ef767343c2c3f40bcf2ad9e3babd0953d89e9f73bbd82b3bb53768dbd50a4ba3bd64be5bd34eebc3c0000000000000000690af5bde9c1d33c00000000000000004a35dabd4e92a33c0000000000000000e93ebdbdcd82683c00000000000000007f7fa3bd5044823c0000000000000000c78e81bd60903c3c00000000000000003f7d4bbddca01f3c00000000000000003ca016bd59b3483c000000000000000092ffd7bcd4290a3c0000000000000000432297bb85d5d83adf25813b93774f3ca4bf9bbb6dcd953bdc164c3c5cf6be3c1b4353bb9e087a3ba59f753cb8f3d53c1e1438bb770b8b3b3376823c6d2be13cd15c9bbae2feab3bbb69063ccc25943c5abb36bbe0edc93b127df43b8a9e893c776fc2bad0d5863b3905293b8855273ceb3f1cbb162e173bcebb1fb70523e13a2f46cfba1521b73a011527bb980483ba94f650bb496ea6ba6424de3b521599bb8cbb383a519190bbb02fe339336bae3b580e723a0eca7ebb6b3d5e3a1249dc3a46799f3b88b096bbe5b1e2ba0e4a5c3bdb00433bd4fe31bb65188fbad8c61dbb3e0b9e3bc5d884bb713535bbd03bd2b912e2463b6aa46abb9bc269bbc219eb392f81af3b03e502bbe69436bbeaa9c1b940b8573aef7b4abb47403dbb7c2d4d3b418462bdb26e1abcb2a7dcbcf7693c3c17ffcbbdfd938abdcdf1cbbcd0cc583ccfeedebd6afcb4bd0bd8bcbce6dc523cffb6dabd1977c6bd689ddcbc068a613c33ae9cbd311c8abd6e5bc4bc5afe103c7bdb80bded1785bdd61695bcf275193c35640ebd6be503bd1be868bc39d9da3ba7883cbce3153dbcc88513bcb5f1103b336d033b41c2333cf3f628bb27a63b3bbf3fe93cbeb518be3d8a303f830d323fb0120f3d3abf1ebee3de283f7e79333f5501e53cb34ffdbd0238103fa4bb243f6ac7e13cb268d7bda049e73e636a113f2a51933c2ef491bdeacca43ea001dd3e5641903c403d5ebdae2c533e7019aa3ed2e75f3cc9d704bdda78c63d8b1c483e7fc11d3ccf8268bcb4dddb3b40e2a53dcbce0e3caf84d3bb244761bd995f56bb65731ebe3babf03c000000000000000070df22be7291053d000000000000000015360dbef7fcce3c0000000000000000d3eef6bdcd6db83c00000000000000005e0babbd8a9c7b3c0000000000000000c081a4bd493c873c00000000000000001b316abda890693c0000000000000000f7e62dbd3512713c0000000000000000ae100abd53e4483c0000000000000000a13908bbef7fb93867d30b3b84cd743c9d7e2ebba08e62394267103c217bd63c1ae520bb21e54d3bbcef473cd860083d91d00bbb9e4c863b8b4f393c6adaf93cf5dd14bb1f468d3b7005173c77f5c83ce009c0baa3da833b91370d3caf1a963c06642bbbdb2a963bd38d663b92c6233c7e0bf5ba9abf1a3bc8dd463a18cd5c3bb81786ba2b85683aa68aeeba732ac0ba833d4fbbf0702bbb3382043b73c157bb6896643bc2049ebba49f283aa55e523bf4b89c3b2951b8bba78ae3bab3953b3b5aa0ba3bbfb7b5bbaa86ecba87179539326ace3b85d67cbb7684f4ba3c03933a56f7e53ba8da9bbb2ac720bb449dccbaee05b33b2f9c92bbf525b8ba47155fbbef1f623bad3280bb4684c2ba557026b9a4ebd23ac60c41bbef0194bad9550e3a003e1dbda24ef1bc7c0fe6bc9da95e3c796083bdef5cd4bd727bbebcb328623cbc3c9dbdcc1f08bed192bebcf0c3723c200f91bd5b1802beb3acc9bc677f3d3c3d9683bdf263dcbda371c6bc18393d3c76143cbd71cba1bd95659cbc2b62103cee82f1bc94a535bdcc4654bc1c55a33bf9e13ebc5a7d43bc4464d3bb0600743b5226043b3e04313c0855e8bab2a7de3aa485c53cb99bdbbdf4cee83eb3096d3fadc3d73cb1d9e0bd7350d83ed3586f3f1f47c33caa87b9bd9fc9b93e64365a3fcec6aa3cd3ed8fbd9bbc913e032e383f8f787c3ccf3f67bd58a2573e6909113f9ef17d3c00141cbd6ac4073eda25ca3eeca23b3cf352c4bc71878b3dab9a653e3cf4c33bc42634bca133183c34a2993dcfc3803b067282bb5f1817bd94d0a8bc4a4042be779d193d000000000000000021ff4cbed66c273d0000000000000000270c2fbe551b043d0000000000000000c1ea0cbed594d53c00000000000000004785eabd9501c23c00000000000000002c8cb1bd2ad48f3c000000000000000024ce80bd92fb8f3c000000000000000059b22ebdb4d77e3c000000000000000020a710bd2b3b6e3c0000000000000000577169ba2fdca6b91f6a64ba3ab88b3c87ea0bbb0d044f3a06809a3b5e9d003d314587bad74ea639fb13103c8d51123db318d8ba14eb913a071d2e3c8dff063d5572edba9100903b667fcf3b1b5bcf3cd91dedbad57f6c3b9cf9b63b5279983c2f823fba94ec893bcf31413b72f13d3c673930bbc4fa403b79f1963a0f1b273b0391c7b90424ca3a59fe0abb11b6c0bac7c785b9088c7fbb12acb939468b47bbca1daf3bbf52ecbb8605fcb9797b02bada74f83b2b95e6bb9a4213bba4c4183bf3891b3cb41bd6bb95c109bbef2ec53a864d0a3c5d02b8bb34cee9baaf1da3b9a482fe3b7ed397bb52f0d6bac3b904bb189cb23b1bb8adbb5dd0e7ba31d20fbbabd38d3b290860bb530a9c390c5304bb4682b03a8a8b49bba377033938b2a6ba0df532bc583a76bda14492bcc6ca3f3c510fdbbc101116becdc05cbc5899543cb25b30bdb2372abee02eb5bc9376633c6f692ebdaaad26bed74db8bcfcb9553c35621cbd7cef01be0951b4bc92401a3cb8d0f5bcee9ec6bdee447cbcef22c83bf841a5bc3cc65abdf79535bc3d4bb53bdc3a1ebcb5287abc1e2f72bbca6015b9c462863a3443463c65d94a3a80dea63a6ed7653c52967bbdb2e8683e0d738f3f6f3e783c81e567bda1374a3e90c4903f2919763cb02e44bd0105313e9f39813f82164f3ccd501abde258093ea0695a3f4b1f333c193bf6bc1820cd3d9abc253fbfd6243c80d0afbced678e3df041e33e83c8e53b4c1e63bc4718113dd5b7763e309b9c3b97f91abcce59723c184a7d3d84ec1a3bdb177bbbd7eb4dbcd6ce52bda2fa52bedc602a3d0000000000000000b33c5cbeb8d2373d0000000000000000fefd2ebe3c32033d0000000000000000284312be441dd73c0000000000000000d147d6bdc9ffb03c0000000000000000ddf8a8bda3e3a93c0000000000000000250068bdc2af853c00000000000000002baa05bddf67673c0000000000000000050fd0bc8771573c000000000000000096f4083b182581bba0790dba983cb83cc94fac3a4b1823bb51d9f0bae7532a3d660e6bba3ecce1396388763bba963b3d7483fcb96360953a639adf3bff95233d44aab1bafff8403b3f4fb33b30b0f83cc44201bb62a3803bef80873b6976be3c3414ceba9673793b9d80403b1a804d3c1a08efba2486493bdb3b933a3b3b863b8c1384ba6205913af50c7d38fb6e8bbbcd63ca3ac945a9bb276d06bb1eb1a3396079dc3b56a121bc40ffdfba5d7baabbfb74263c30c30abc079640ba5d733cbb5944323cbb0be5bb694d34bba271acba4fe82e3c1a968ebbe07c09bb0fe330bbd442143c1eaf9bbb867db239ee14b8bb3324ba3ba9af55bb0cc2533a8197a0bbf5d24b3bad4729bbee5d403b2b73a4bb09aa673a57f06aba6b0ec03a2c3312bbd1d3cf3add27e8bd7e8fe6bb7780213c3389653c624d48be301fca3b08cc013c312cf0bbd4ab5ebefdee39bce2b83c3c2ba06abcd89d4ebe00c88abc05d8213c9f1190bcb67420be6eb8a3bc76d3033c9ae768bcd524eebd9b2472bcc78f9d3b975052bc30ff82bd3f7108bc1d9e083b405e2fbc3ea77ebc5a2129bb587ebcba39cbb0394bbc943c53806d3b5372f5ba77eb9e3b44855cbc55bd843cb6c1ac3f0da0ad3bc7290cbcb7bb3a3cdd23a03fb291a83bf27c24bc51af673c30e7903f800ad13ba089e6bb0d98443c345e6f3ff4f3d33b14e7d1bb403e683ceab6333f967d923b9c9e76bbf5ac533cb30dee3e341c793b3544afbbb834943c90846f3e44e2153b619201bcc148f93c7f6b083d94fa9bbad1d7a2b9c5ce443a01b0d7bd3b8c54be983c1f3d0000000000000000466a43be09721f3d0000000000000000738b18beb9e0d13c0000000000000000aba6e5bdf4dba33c0000000000000000674da5bd03dc853c0000000000000000bf705dbdeb23483c0000000000000000c9e2fabca87e1a3c000000000000000083a79abb5949d53b000000000000000062ab60bccc2f1a3c000000000000000000000000000000000000000000000000dc6dcc3af66b21bb96f4173b89d12d3d9d65803a87251ebbafb1c03b64591d3d0cb2f2b9e0be5ab9d980ef3bd294083d9eda27ba08fdc63a6a70d93b797dcc3c6e3d5aba1a3c2e3bf7828b3b2b3a963c7d1bacba19785e3bca6d063b25e25d3c0e0e75ba7fd12e3b324c9738c8c34c3b00000000000000000000000000000000000000000000000000000000000000007b98e03b7b9cd8bbb82688bb2f2c4b3b95a0253c6626a1bbdfa919bb2558d93a37474b3c0175c5bbbefd04bb69a62a3af982483c17955fbbcba4fdb9985602bb6a1b0f3c8dd743bb53b4a1b9cc6751bb8374983bcba32dbba301ad3ab5a8aabb90159a3a39f0f0b9c5a4363b44a5bfbb0000000000000000000000000000000000000000000000000000000000000000e30af23b5cb260be0a67bab987f1a93baa656e3bb10d5abe3ec236bcf268773b773e11bc074c41be82a29fbc04fdac3b4441d9bb0f9322be398aa8bc0f16033b9380dcbb22bae1bdf21a76bc26a4c43ab9ecb8bb784f7fbd5aed24bce4898e39ff0949babc967cbc8f4186baae4db6ba000000000000000000000000000000000000000000000000000000000000803f8c88e6ba455f9f3c76baecbdaf2bad3fb44f69b9b6dc5b3c6a2ea2bd308a8f3f61a1963a8a9e223c40817abdca7c6c3f8af6083b8a13073c4ff740bdb417333fce964f3a9c22073cb68dfdbc25a1e93e3dc5edb9d66fae3b46cf1cbc017c683e57fa94ba545c513b0f5d8c3b16f1073c0000000000000000000000000000000000000000000000000000000000000000ce8be5bda7fb8b3c000000000000000066eb76bdb51e123c0000000000000000bc1a14bd96ebc63b0000000000000000c59797bcc2c0823b00000000000000005aa7e0bb1c562c3b0000000000000000a0526c3bd622ea3a0000000000000000e1c1963b8677643a00000000000000000000000000000000000000000000000000000000000000000000000000000000e8f891bbe37f823bc8930b3d27a9c33b814a81bb8984493be6050c3d25262c3cf46044bb4521dd3b46a2e53c5d17353c906204bb1f148f3bcaa3b73c5a2b3a3c110f9abae1e8783b1cab813ce018113cd2d5433ab3798c3ad9f9203c0b2efd3b19129c3acaf267ba49061c3b7adc853b0000000000000000000000000000000000000000000000000000000000000000b2a459ba11a0ccbaade37abb85707a3c453320baf308ffba1ade24bbf228753ca64a72ba61659dbaeca148bb7afd0b3c4c56c5bae09dcdba6c9931bbe37ee23ba31116ba662e01ba3f0894bb64250d3c40d863bac1eb66bae79c9fbba22bfb3b84ecb3bae40f92b8c226a5bbb348003c0000000000000000000000000000000000000000000000000000000000000000b2fc4bbebefd9fbc0b39423c609496bacaa34bbe6d35dbbc91ac213cfd0b9fb90de035be343308bd88200c3cafba2cbaf04014be63f007bd0234da3bad6ca93ad347dbbd7641ebbc4822c23b07185dba8ece82bde496a5bcbc59bf3b7a0c113ad4a38ebcc2a422bc5585a93ba7ce81ba0000000000000000000000000000000000000000000000000000803f00000000ac79833c2139e9bdda9da93f2ea0aabd36f52d3cb0adaabd77438d3fff4915bd4214073c86fc9abd011c693f623673bc38a9023c47637ebd7c3b303f9a023eba79f8d33b745143bd60c9ed3e974fc93b2e40093b08b0ccbcf3f4753e31485d3bf32ba7b935c204bc6846f33cb8642ebb000000000000000000000000000000000000000000000000000000000000000076dc303cbfa05fbb0000000000000000fb44983bc0f46cbb00000000000000005c7c943b841659bb00000000000000008dfa463b01b991bb00000000000000000a25863b02d367bb000000000000000017f3613b367f88bb0000000000000000b3dd043c55a381bb0000000000000000000000000000000000000000000000001e8ee9bb4dbad53b7ab95f3c155adf3bc749e0bb207fccb8e125143d4b55823cec94aebb409a463b69151a3d29cca83cd911acbbf3e68f3bbacd043d7f23a43c426816bb4e9c323bed4acb3c761b8d3ce104c2baabb5913a054c9a3c7aa28e3cc6821a3944fc2cb883d91b3cef7f2e3c4fdb093b0c3ed3bab169513bfcc5223b81ba223a30511a3943fa88bb3ac30e3b55d999bb39a0a33a928437bbde938c3cee7fe2bb6c3842ba94a427bc215b553d6cc306bc9d8f42b99ab6f9bba04f123d6a4abbbb7b8d00ba02c5e0bba687f13c849678bb5fbb5fba0c6604bcc091d73c479a9abb564e12bad9e00abc5ef5b93cebf93ebb4b0e1bba045716bc05df8e3c4f6a98bab5c5cbb9fd9cf6bb24dd083cc46c52bb1a8523b8e12713bccf433a3c06f010be3c0b853c028705bce55b543b289f6ebe2140c43b8e10bcbb5689943ba3ff73be7c7a73bcdcecbabbb192b73b9d465bbedcf5bebc997ac7bba2c8ae3b73a72fbef8d3d0bc6b5cc2bbad72973b472b01beb42cb8bc831fdbbb9194a63b97b090bd29f136bc417cedbb26d08a3b71e89ebc92c8153b08399bbb996c283b24a71a3c2ac2413c0db78ebb483e403b80afe43cb98930be7b34a93fe954003d743bea3c497e31bec87d9e3f5438523dd0c2b63c6cd110be1098893f9790ab3dca748d3c1f78e5bd71b65c3f085cc93da9cb573cc681b3bde451223fcb88cc3d6823223cf07768bd0af8cc3e5f5eb93d9e4b863baf3fb5bcb8e3333e40d0983dd19dd0bb02e5af3cbed3c5bcc6fe543d0221caba8602673cff620cbe6be1883c8b1880bca23d1e3b00000000000000005b0597bc8f461b3b0000000000000000fdb6c1bcf17dca3a0000000000000000c142b4bcb164c03a0000000000000000f2a0bcbc78d06c3a0000000000000000028a9bbcb3ca703a000000000000000071f28abcbf50c33a0000000000000000650d7ebc3fcdec3a000000000000000047e621bc5e0c493b0000000000000000f3ecf5bb56d10c3caa9e533b16dd813c16c4eebb3d9f8b3bae09be3c71f49e3c2b65d9bb8d91e53b0f77b83cca0cb83c3c13abbb5858b23b1261c03cc67bc53cad534fbb826f1a3b183c863c52ebb43cf655eaba7053e13a5112603cfaba8e3c2245b6ba96f0b43a39ff8b3b52195c3c365b73b903c21dba7c50253b5410843b6fe733388b22a1ba8e92ffbada3e553a1fb74fbca077863b847e2bbb3077ad3c54263fbcfd66593b906504bc466a253d4ee401bc3132833a749acfbba8b3f13c898edbbbc52a94b804050abc419e013d1101f1bb31b06f3a5e82eabbb202d73c96cd9abb4601d53936da28bc5d85c43c21ee3abb2dae063ad9970bbc7a97a13c2df1edb9666e1dba783f16bc883f693c203b8dba6429dab787fd06bc4b6e573cc7f5ffbd4713283d68f3f6bcf02c1d3c50584fbe032d5e3c72e8ebbcc979373c19444abe9b8832bcd7c3e1bca291483cf90e42be2eb7b4bcd623e0bcf4254a3cc60016be8ee1bfbc08e0cdbc78f2373c86afe2bdc7dda4bc010ac6bcb8eb333ced1281bdd91a3fbc2e24aebcac380b3c9306bcbc6f0c1a3b77438dbc40ddeb3b37a49639a7da813c989348bc115eb03be113d43c2e6028befbad8b3f4bd8713e84b7f53c888034be3ecf873f4556803e550ec03c632310bef0b2643f7827883ea369a33c36dfeebdf2f7373ff810843ef0e6693c6375aabdc626023f40a1703e7cdc343caf335abd67469e3edf644e3efcedfb3b02abf7bc1ef7073e5d0a1d3ed60f28bb17033c3c621622bd72aed33dc09f16badf23993c1c49ffbd88b74b3dfef85dbda96c0c3c0000000000000000879474bddf65243c0000000000000000d7d96cbd850dfd3b0000000000000000d86965bd8beb013c0000000000000000de0e4cbd40aae53b0000000000000000540549bd2c4b073c00000000000000003fab2fbd03a0023c0000000000000000e25c1cbd32461c3c00000000000000001d3b0ebdb2d2153c0000000000000000b409f0bb1774073cef8666bad0459d3c6b7cdfbb32bccf3b17b26e3c9849c33cac5bbdbb8291933ba5a89e3cbe65dd3c9d3893bb68e5723b46ef8e3c19d8cf3cd45a6fbbab0d5c3b87426d3ce11db93ce53e0bbb684c923ac09d263c0c389c3c2095faba69da033b747fa43bce5b3b3c3f76a5ba02cd2a3abbd4d33a6895933bbe0e16bad0bd0aba0cc345bb9642b23acf5587bc6dc6aa3bb1451d39f8f26d3c92b259bc60346b3bffd2f1bbbedf103dc24c27bc1c3a0b3b0ddfdabbfdbd083d1bd6ddbbb31b2b3b6833e8bb3431ed3c8f9cb5bb3fda253a1a5cf1bba267e53ce7c13abb2b5500baada906bc0ff2bd3ce84897ba81668eba4ffe1bbc55129e3cc466f739f42dccbae272fcbbca8f643caaffb6bae0f08238ac56ddbb2b605c3c92bfefbd5af6633db77d51bdfc71833c32a334be3428663c3a3040bd48a6903cfc1e3bbee53f80bc27ff41bd2c4b9e3c531825bef3d9ecbc98003bbded588a3c27ac09be1266e7bc055b30bdc0fe8f3c1f25bfbdd85fdcbc18f015bd81e67a3cee1b68bd05bf3bbcc88209bde8eb783c56fab9bc63a4b33bc4cbd1bcf4393d3c5710b8bb0671c03c1f4cb8bc2811223c5dfcbe3c3ab915bebabe623fd8abe83e76b1d03c0cbf1ebee63b583fa273f23e40e6a93ce59d00bedca4353f223bf03ef86d833c001ec5bd85ef0b3f62aade3eb1903c3cc27f90bd5d84c23ec77bc33e88f90b3c2da72bbd902c593e4fa6a03ee69ea33bc9fe85bc065b883d309d6c3e7d93e4bafe9d2c3ca32361bdc0d3133e684d153a8ef1463c4f47eebd0a218d3d5f0ebfbd2724823c0000000000000000478fd1bdf9f78c3c0000000000000000be20c6bd405a6f3c00000000000000004468b4bded985b3c0000000000000000ce01abbd529b673c0000000000000000ff6e9cbdf8155e3c0000000000000000bc7690bd6e6a633c00000000000000002ccd83bda4aa8d3c0000000000000000f56a5cbda1f7663c0000000000000000b14e8fbbf957e03b3f1c81bb2796bd3c204da6bb22cfa73baf302b3cd4dcc63c55ac5cbb92a34b3b8a6d4e3cbbf5ea3c18b931bb888c173b4bc4653c85dfec3c8ed9d7baffdbc83a0501ca3b4294ab3c5cd601bb8353c93aa28c183c22d6933ca3b8c5ba0172893a5f9a573b93052d3c36a39bba7e49163aa1a1843ac6b6603b1aa31dba7d401eba64bdadb9ce6494bad3c694bc98d4b13b291815bb42b7663cad2243bc135d6d3b9050c1bb5153e03cb16914bc9a82013b5505bcbb55dfd13cf059e7bbdc399d3a7bdf0abc2636d93c3808cebb38c55d3ae5007abba8b78c3c6aaaaebaf37be3b9e5a3f4bba37d9e3c651e893a9a9973ba7999cfbbf3596a3cd3b5a23abe64a4ba8164b8bb59c0283c5efb5f3a024f13bb7d20b6bb93b72c3c022ad5bd955a663d881880bd02d0a93c033714be6987483b967e7cbd981ab83cedf60ebe757cecbc9efc6fbd5f2ab43c39a207be1e4939bd84696bbd05bfbc3c6e7cc2bd23fdd3bc5cb549bdd2e98f3c33cb9ebdd74106bdb68749bd21e19a3c369037bd70d452bcd07221bd74c67d3ca59d9abc6ee3bd3b7669f7bcee5a4c3c7537d9bbbc86e63ca11fcdbc6abf343cd973913c0a99edbd8cac283f95812d3f5c9aa53c4bf8eebdaa9d1b3f6f18333f9e02793cb829bdbdb171ff3e5d29283fbbb65d3caadc94bde833c03e95d61a3f7db22b3c151f5abd247a833e5902f53ee166ed3b2ffef6bcc598033eb3f5cf3ea23ea83bb02c4abc3d75ea3cb3828e3ed406ecb9f19a343c53fd84bd38982b3e4e8d21ba3d1b633c7c9fe0bd1881943dc53304be65eeb53c00000000000000005bf20bbedc6dbc3c00000000000000004df9f6bd5c109a3c0000000000000000356eefbde419a43c00000000000000008c72b5bd7351603c0000000000000000b2a9c4bd388ead3c0000000000000000c9e9aabd17e8963c00000000000000008e2e9dbd0e24b03c0000000000000000eea38bbd76eaad3c000000000000000087e168bb74d0823bd81143bb66c1af3c6cb023bb61aaafb987533e3cf515cf3c99cd26bb59a98fbabd0f5f3c5420f23ca0d0f1ba03bfabb74741463c959ae53c509405bbc5e698ba0484683c3a3caa3ccc06acb90cee59b97a32ea3b41b78b3c2a4f7bba2d3bec396ad9a83b6ca00e3c6e141fba7d18feb83d794e3bd86618ba489cf6b91b401b3a042cc8ba46b927bb42b47cbce2afb03b7bbe06bb8a13683cbe7603bc1982fa3a0c2bb2bb57e3c73c224535bb955ea339b919acbb6ccfbd3cd2080739866109bad138c3bbfe12ab3c7536433ba1f406ba9d01abbb2dbda03ccfaf6b3baf8742bb1208ccbb0851583cf3708b3b9c8221bbbd2194bbf19b1b3c8e2dae3b117f69bba96a7cbba964a13b1ccfb43aeb52ffba96f273bb1aabbc3b9295abbd73eb0e3db63288bdae07b53c3eb4e1bdc25606bd34ad8abd2c6ae83cd233e0bd7cf691bd5ca784bdefacd43cfceec3bd9f119fbd35397abd6531c13c5e12a6bdd9768bbdf4607cbd60c6bc3c16095ebde24853bdeb024abd6618a73ce8c203bd701ddabc23f528bdd766883c23632cbcd2c342399e94fbbcd564613c471f76bbde57d13c004fb5bc48803d3c3455673cc218adbd0e63e03e97b8663fffe1673c463ca5bd4702c63e1f0f6d3f61e34d3c14037fbd657b9d3ea8eb5d3f1428183c826739bd5dc25f3e18cd413f2400d93bb2c8f5bc75bb073e3585203f6568b53ba6356fbca75d5f3dc6bcf13e6ac5ab3a9ce38c3a202d5abc79b9a03ea95c59ba939d573cda0885bdd5bf283e1edd14bb88018e3ccf61c0bd868c623d78e71fbea257d43c00000000000000006c912fbe05a4f73c0000000000000000c82f1ebe3b81de3c0000000000000000d7f607be7ae4be3c0000000000000000993bf2bd40c0c03c00000000000000002cfdd7bd3610c43c000000000000000070aebfbd3047cc3c00000000000000005dd9aebd393fe33c00000000000000009d2795bd33c4b23c0000000000000000bd7451bae0823f39de556839a6239a3cde8de1b9fd8f3abbc07b043cfbd1dc3c010dfd39f9ba75bb31913d3cc495f73c28a276baf44a82baba96253c5ca7f23c28ff8fb9c6a0f0b9a3f8003cbcedb83c32187dbab770a1b92524e93b086c873c11706c38f3f3ea3963f6473bd219073c6c11a0ba993ea53aadc1213b0ab654bad816e8b9b835d1b9f042953a36f194bbf53c27bce28d533bffa221bb4940383cc805163b63d31ebbd96ca5bb1fe0853c93dd0c3beefc07bbb89eb3bb49db8a3c37c4ce3be0dc2dbb8429aabb9c1d5c3c696ad83bbd055cbbf74e8ebba3e3203cdd0e013c48106dbbdce43ebb1ad3da3b954df23bea1079bbbd7495bbc51d963b8140ec3b544592bba380efb8aac07dbaaf4e5e3b015258bbc39923ba795741bab71b61bd95d899bb35f665bdd7f7c13c9ef379bd1b45babd8c0f6ebd9705d33c188987bdbdebe0bd2da26cbd2b5bc63ceb0563bd1bd0fcbd6fa36ebdfb5cc63c057834bd577cc3bd06c952bddc46a53c1a2601bdcb829cbd2af83cbd5dca9f3cb60c84bc27f021bdbdd50fbd6e80653cad026abb40670dbc856aadbc1177333c37243c3b38ddac3c0abc6cbced98103ce660f43b15983fbde014683ed2348d3f42a7143c957f30bd21ce313e74d1903f3c13e23b039d03bd8d4c0b3ec17c803fb592a53bd25c9ebc9775a33deb7b623f9d98693b49693bbcf3bd1b3dfc17313fd5bcf03a5c0948bafa5c09bbcc0c033f733a0a3be4379b3b7c3e07bd5486a23ef2195dbba511623cfc1552bd45450c3ee49e07bbd2be773c5d7e85bd798f563c0fdb32be412ae33c00000000000000002af63fbe8c610e3d0000000000000000a26016bea87dc43c00000000000000007adf0abed6e2c93c0000000000000000e98ddfbd22adb03c0000000000000000a65ccabd57f2b93c00000000000000007174aabd7917c13c00000000000000002ccb99bd0e78d03c00000000000000002a2889bd6c17c73c00000000000000009089693aed6849bbfd892e3b1abf8f3c0b56dd3a1816b5bbdb110b3b1dee0e3db017893a8c56a0bbc037c53b72491b3d510cb7391d8459bb6f08013c08ea0d3d107e1dba0f7335bb4ea3043cbb1dcd3cb28625bac72138bac5c8843ba3149d3cb7c73dbac02a813a021a393b51ea243c4607c3ba74652b3bc0f691b958d2843a9aa6fd385bba893aa1505db9251eabbbc3950c3bac8617bb800a0dbb3a09e73bc4332f3c062600bc4a1795ba92abc83afe214d3c241dc8bbcb4d00bb756d8d3b3095643cefa4c4bb055af3bad2483a3b8d443c3cd09f59bbcd93bfb9f348b63ab80a473c3a0193bb1aef183adfc6deba1ffe223c0b8fadbb5f9701badb1a7ebbbdecb63b7ce98ebbb010373b124dffbb4afa063be49433bb0c2c653afb1fa1bb3e64cabc39a29abdb9dd2bbd15ef9e3c290ee03835872ebe71860abd2f28b73c53ab55bc664744be0a2d2cbd4eb7a33cd66f7abced3b37be2b8636bd20369c3cca8863bcf14c13be38e627bd69ce643c1c8e1dbbb269dfbdebe808bdd1b9433c341306baec6082bd212fb1bce2c4203c38865c3b5f9a84bcb61ebebb5948983bae57023c2d9f8d3c3ca02cbb71d1923b76df1b3b54f44abc6dc2cf3c7044aa3fdde01c3b701babbbb1ea4a3a3cb1a23fbd3f1b3bb7026abb49cb01bc79f5913f753a0c3b38b1513a5abfacbc6b22743ff6ab993a2c39dc3bccbdfebc9b753c3f7cdb90b9b4ddbd3b924c1abd53c6023f0a22463af14c0e3c86f006bd3b46913e88ff2fba1987b23b30546cbc39b7903db96117bb072d263c01b207bd73b176bdfbac36be42c2f33c0000000000000000729d2bbee885ea3c00000000000000006c9f06be9689ae3c000000000000000007e7d1bdebba913c00000000000000005117a4bda99f923c00000000000000003b7488bd186e903c0000000000000000dd0d5fbd1c1b8b3c0000000000000000de6637bd844ea23c0000000000000000f69041bdc463983c00000000000000000000000000000000000000000000000065480b3b958bcabb9a01fd3bee10e63ca1c5c63a56efb8bbf17c113c4193f03c123f2a3aa98289bb6d83143c6fdec93c7bd28838eb77e7bab125e63b75dc933cb51c483ae36303bb6f03dd3b2158493c48958839f512523a335a763a2766e23b058291b80bdb993ae7ffbcb9fb10af3a000000000000000000000000000000000000000000000000000000000000000077c3503cbb57bebb1010c0bafd5baa3ad0be723c45a0cfbbf4f5c0375dfbceb909226d3c927c8cbbfa8a21ba32a99e3a22ef793c7e749cbbe1e08739e808b9ba0113523cdd9385bba4ce91391a2781bbdd9b273c236f51bbc7c98e3ad98ec4bb66a4c53bf0d055bbc202173bed15f6bb000000000000000000000000000000000000000000000000000000000000000082bbdc3b0e464abe50199bbc2bbd233cc1c7093ca1b04abe5c9ec0bc477d0f3c69fcd83a24f636be70cff6bc938ce23b3fb6c53b992d17be6c46ecbca5a5c83b3e35e43ba2ebe3bd44b3babc663d9a3bf6f6363c445c8abdb22271bc9723f43afd99493cb04cc9bc811d4dbbe6c9bd3a000000000000000000000000000000000000000000000000000000000000803f81bd68ba0f9e763c13a2e2bda824aa3f372281ba4c125b3cc157b1bd7c6c8e3f787ca9b97a25383cf8d1a2bd95906b3fc0f97439b9821d3c172a8ebde361333f696e20bac287363c1c5c71bdee37f43e67f95b3984c8ea3bac400bbd078f7f3e3a0489bac771cd3baed29fbc3177193d0000000000000000000000000000000000000000000000000000000000000000cc15bcbd87324d3c0000000000000000c78a42bd44db083c00000000000000001b0addbc8e3faa3b0000000000000000f6ab5fbc40ca993b0000000000000000f33ee8bbee35ac3b0000000000000000f47e7fbbd72bc83b0000000000000000fb03e7bb7b95c93b0000000000000000000000000000000000000000000000000000000000000000000000000000000045052dbbb8b35a3c3f8419bb6341fb3ae41a19bbbeb4483cacbe13badbd53c3bbc3f6cbab02d463c25728dbb5b58a13b7957b2ba4a533e3c3d7ababb8dd8bd3b5b07d4b851bee23b7ea687bb3894c33bd00106b926c9b93bca5e0cbb975f983bf8fd5a3af978d339389fa53a3956933b00000000000000000000000000000000000000000000000000000000000000003a374bbac25d1c3b26444cbb758140bc88d880baf61a063b19d678bba32dc4bb6d60afbb850e173b351495bb434d06bcbf8ecebb08f7563b56b187bbff5878bb140194bbdc732b3b54e77ebbcecb043ad2c989bbca7c013bb47a84bb5e45e43b1c5e06bb656ac63af05468bbb7613c3c0000000000000000000000000000000000000000000000000000000000000000eba7bbbd309d95bcf5b4e23b472195bb1b1ad1bde4b381bc461bb63bae2926bbc790c0bdf98942bc77c0e23aae130db9410da7bdf41d18bc63c6b039f98a283814568dbd286f0fbc32fb9ebadaeb6d3aedc050bd35b311bc6c2fd73aeff2bd39124808bd493bf2bbca7fbd3a7555523a0000000000000000000000000000000000000000000000000000803f000000000d93043c78728cbd3869953ff24a50bd9b1ce13b8d0866bdfcee7c3febb1dbbcc34ee03b1b6b4cbd7b65513f983680bc00b89e3b5d723fbd4003233f3afcd6bb0d98853bc86a25bd5d1beb3ee08597bbf93407b974ecffbc56198f3e72b100bc9dba74ba44f8dcbc4fabdb3d3c3138bc000000000000000000000000000000000000000000000000000000000000000026073d3cdc1f5abb00000000000000006744073c38f395bb000000000000000053e41a3cbd4dacbb0000000000000000869a053cb072e8bb0000000000000000c884053c4df9d9bb0000000000000000c3ad203c862dfdbb00000000000000003db10a3cf26ecfbb00000000000000000000000000000000000000000000000060c587bb7b7b7e3c286a84bcae45a63c24cb8abb12d5b33c7e50b1bb02837c3c52f85bbb31de9b3c64509dbb7d3c6f3c408554bbe38c9d3cce88d2bb94ff703cbd4ee2bababa673c5163d6bbb907523c2489d1ba67423a3c05e2fbba9d1f163c145131396e26943b06abfc3ab660de3b8b0af63ad9800dbbd954f13b298d37395d05b93af89bf2bafb2d433b2730b83a57176ebc827ad23b5fc79cbb73b5a5bbfab105bcad169a3b71f047bc96c8443c5c7b30bc5035a43b5ebc12bc61370b3c0fbb49bcb03bc03b887a1bbc2d3d233c760636bc61f6a33b93580bbc0781653ce5b70dbcf0a09a3baf7209bc94789a3c1cb1afbb586b233b241df4bb4a27c43c7f3203bad39d753a4f3df1bb099fd83c65a71dbb1fb9f13a4608e5bb630dbd3c2edb96bd30518b3c4b3f89bcec42403ba60110becdce1d3c46c658bc5bc0623aa23f16be6b72093cf0278abc88aa343bf9a20dbe7e0b323c2ff99bbc8c26a53b86b5f7bd9e75653c84aeb3bc9de4c53b4f00d6bd52a5473c58b29fbc4801c03b31a1a6bd2f36233ccb237dbc32cec93b4c3a53bd62492d3cf9ad63bce5d0b13b3306e5bcaa069d3c620c74bc06d8cb3b21b6563c1cdbd9bdc7ae953fc590933df0a2393cb718d9bd956b8d3f1a1a983d9487003c511bb6bdd7de723f5645ba3d306cd83b9e909bbdf647453f2df4bc3d65d3753b3fce82bd469c163f9e7eb23d6300213acfea4fbd65d4d13efb169c3d79e078bbf5e914bdf151693ef5c0763d0511eebbbd5059bc779e643d47e5243d91aa6fbba60c6bbcfd6067bd04a1ba3c5ede00bcb00f8dba000000000000000014a0febba92416bb0000000000000000b8360dbce391bdba0000000000000000bb6318bcbbbd71bb00000000000000008e4618bc0e1650bb00000000000000000f212fbc4a1d4cbb0000000000000000e79a6dbc91bbb2ba00000000000000009b3529bc729ab1ba000000000000000026a18ebc7852053b0000000000000000e3d89dbb52019b3c79fed3bcc48d023d8a1e99bb3157ad3ceb638ebc88e2c93cbd4290bbee089a3c0d1994bcebdad53c64d548bb1fad863cc8c133bc14af923cdf9806bbd6434f3c1e1520bc7762813cb63b1aba2965213c500828bbeb551b3c89ef99ba89f2d33b7ba490bb1828093ca9fd0f3b61b28dba2b6fb23b2442f3baf0ef3e398722a3b981689c3bd80a48bb23e1cbbcd7f7183cc284e5bb5ac0bb3b2d6abdbc09ca3c3c99322bbc9ba68e3c04eebdbc5b71113c8fe1f7bb4a1c4f3c48029ebce12e263ca26c1dbc5cceab3c1b828fbc94e6033cc9ce0abcc8849c3cf4bc58bc5288ce3ba63525bc2db3d93cd7d00abcdd33803b9ab6dcbb1a3db93c8f0360bbed32433b9dd309bc42e5f43ca1529838f2eb913ad599cebb8db0cb3c0195a9bd2ac3733da25c32bd0ad31f3ca3e30abe1fa8593d264d3abdad11263c143a03be026d373d2a183abd7736503c21f10fbe63902d3d1a033cbd378f303c81a1f1bdd5ea233d1bcb2cbd881c3c3c780ae3bdc0bb163d923e38bd5042793c0b609ebd4b180e3d28841fbd674f4a3cb0a472bdbfbd033d31f410bd4d11623cbeb113bd0c460f3d83d8e3bcffea253c90494d3cf8c0d2bd86e1793fc66e7b3ed4d0203c6a6adcbde3416e3f9e3b733e6247f23b37c7b2bda7e3443f8665783e14fb793b265d9abdb895243f4e8f693ea743303b322371bd17e5f33e8b67503eaa2b08bb9ed138bd2093a53ea4b1393e9a08ddba258608bd507f373e3d7f113ed3e517bc81fbf1bb8d63d13c0e89e03d0140dabb88d583bb45658fbd71bc853d23fa05bd0e59f93a000000000000000070580abda67f8c3a000000000000000090c612bd1910023b00000000000000009d351cbd34ba2f3b00000000000000007a9419bd515c473b0000000000000000571327bd83ae353b00000000000000008ec025bdae5ae63b0000000000000000e60731bd8135dd3b0000000000000000584737bdef14243c0000000000000000260788bbaef8873c9888f8bc6fbd283d7a8f8fbbb661a33cf80fabbc2eeae83c885662bb5ae58a3c145c4abcd866bd3c3a8703bb87b16e3ca22621bcbfcd933c9d2702bb4dfd513c439e04bccfed4e3c1f48b9bab795dc3b4842313a470c8c3b16e18e39095d6d3b466b5d3b5fc8d439baf04d3aebedafba7c75fb3b397fc6bb3bff93393e97893a12063a3bfa804dbb84450dbda351543cde6c9dbbbd20c33bc46504bd13136c3cf76f2bbcae21b53c1a7dd8bc78073b3cd0dd2bbcf79ac33c5766b0bc5b87153c67f724bc97afcc3c465ba0bcb15d0a3c22da22bc0825e33c385835bca296c73b268ae2bbb300db3c0fe9bdbb7b89443be8010abc57c6e73c23a40cbbc59a243b4754e8bbb74ae63c0a768d3ab7f396ba26e7dabba790c23c8737aebdbaafb53df2da84bd73bb893c6c5a09bee1f3a53d4ec78abd5895923ca3f414bea7d4853df5fc88bd4e82a93c8a790dbe2c456c3d8f7283bdf604a13c522ffdbd143a643dcf6e7fbdc131b13c4206d9bd6ab9453d460965bd695d943c57caabbd877b2e3dfa975bbd7211aa3c8bf878bdcabb2f3de67841bd8d8c9d3c6f7327bdde4f353d7ea414bd028d723c0899273c7d48bebd0c5f493f8242da3e1cf2e33b7da2c4bdf8ff3c3fe11ad83ec3579f3bba6fa0bdcf2a203f9f50d03e6ad7da3ad91e80bde556fe3ef7fcbd3e409e62ba23b74dbdeaa1ba3e728ba83ef36c96bb018c08bde8f46e3e84a18f3e0ae1aabbcf529abc7869de3d3f00663ed51403bc604ecdba55f5afbb83832a3e11f6d0bb8f24c8ba3a5c9bbd228ac63d0b4d76bdf71bd73b0000000000000000f69282bd54e18a3b0000000000000000140a83bdb9339c3b0000000000000000330480bda8dac33b0000000000000000b43088bd1314d13b0000000000000000e4c087bdaa861d3c00000000000000007f668abdebda473c0000000000000000599791bd686c6a3c00000000000000001dde83bd050c723c00000000000000006d4533bbb637683c309ceebce72c1c3d553c4ebb7aa98b3c3da59bbc1c9ee43cfb9c17bb40d5533c22fb40bc4045a33c81931bbb39564a3ca85fcebbd0625b3c0972c8ba8819143cc34a26bc0f182a3c084e8bb9c787ce3b20cd2a3b6e5888bab32e48b954a9203b5ba26b3b026583bb0202753af2328bba1482193c922819bcc5ad2e37399498b916289a3bff2f11bce0f003bdb039333c4c85cfbbacb31a3cb17105bd5858633c843a26bc595cbb3ce866bcbc02ac123ceb41eebb46d49b3c0b9cb2bc9f161a3c281e11bc1756d73c83b02fbcaf63ef3a20eeb5bb8ae3783c9d7a18bc0746a33bcda40ebcc20edb3c20bde4ba43f83b3a5291b1bb553eb13cfad03f399bea813a1f43acbbcd99c63c86b8b23bb87a00bb09488cbb63ce9e3c6a90b4bda8a9cb3def1e9dbd4b10a63c0cc201be093ebb3de713aabd753ac23cb85ffebd5efe8a3d84d196bd4509aa3c42ca04be3d367b3dbcc09dbde8bcc43cf514c5bdec00613d73086dbd1be3763cb66bcbbd589b4a3dcd518abd4910bd3c7d6297bda798383dfe2a5bbd2bdf9b3c4eb063bd54d43e3d6b6b55bda06ba93c15cb1fbd7581393dd1fb11bde89b5f3c67bc0c3c61bc97bd65fc183f4f611c3f2d5d883b23f691bd45060b3f08701a3faa22363b407a64bd0379e63e4b5a0e3fb77f0bbaea993cbd01d7b43ed0a9033f704e383b2f4617bdfc3a823e9431d33eadda8bbb0b60abbc5e9a1a3e2d7dbd3ee3429bbb509d21bcd75c783daae28d3e33b918bc1242363bfb5a00bd33304e3e5540cebb3da1f63b9ecba7bd415ae73d506da6bd8195223c0000000000000000f630b4bdde3b2e3c0000000000000000e408aabdfa233f3c0000000000000000aa53b4bd28075b3c0000000000000000177993bd01ac743c0000000000000000cc83b1bd7f778a3c00000000000000001e4eaabd810b8d3c0000000000000000f56ab4bd2ffaab3c00000000000000000575a3bd8194a73c00000000000000007f1723bb10053c3c4925b2bcada3083dcaa7ebbaef38233c1d6bf1bb0636a33c238582ba7871013ceee29aba42ec6d3cd9f887b980d1853b20a48a3b91bbcf3b2c9cfeb993c5a13bfcda933b23880c3bd6a9063a20f7853a07061e3c1ad1bebb9328543a02b4efba67c2363c1e95b2bbbfb1e23a381c93bbaaa1473c7d8644bcf2bf363ab49cc0bafee7d43b552410bc086aecbc9694213c124199bb324b513c42acd9bc69cb5d3c91bc03bcef45d13c9c41a1bc4fbe133c23acf2bbbbc4c83c9a2c5ebc748df63bae38c6bba0b7cc3c59f2efbb617d823b0f0bf3bb043dc53c4a8ed9ba5bcde13a060299bb1bc0ad3c5497c9396de5863a768a94bbc695a73c3e4f9b3b29fddaba439b72bbc1d7953ce659df3b2ada1cbb4f0762bb4f887e3c1b42b3bd8ffebc3d98e3a6bd7431bb3c8327f5bd521a943d891ab5bdb291d43c394ef8bdae55403d60cdabbd7d5dd83cf4f1e9bdc6f51b3d1eed9cbd580abb3cd721c9bd6954053da38194bd1abac73ce2f1a9bdf637f13c4d7182bd067ab93c144886bd6ed2e23cdf1e70bde8ffb23c62822dbd3f20043d28a14abd841caf3c9f11f6bcb374183da8820abd01dc513ca1107f3b2ec15bbd1f28d43e77074d3f9c703c3a44fa46bd38e6b93ec8454b3fa6a5d4ba53a615bd7c70963ea1523c3f43764abbd988c5bc474d5f3e49eb243f0eb9dbbad0db92bc4268143edfe80b3fc348bcbb88a1bbbb846e943de6a3e03eae42aabbfa64d93aee2c893b7190a83e284900bc593c653cce9b6abdb5db5f3e1450dabb7fb8353cc133b0bd761bdc3dafc3cabddd8e683c000000000000000077cfdfbd944e5b3c0000000000000000d9ecd6bd3c7c6b3c00000000000000008c01cbbd5646923c00000000000000006d16c7bd3b699a3c00000000000000008a4fc3bda68aa03c0000000000000000fabcc2bdd10eb23c0000000000000000d057c4bd9a7dd33c0000000000000000a60ea8bd17f7af3c0000000000000000b7cb83b9f4dbab3b9e2d18bc82eaad3cbe2f6db8dbb7213bf045ac3bad273e3c1cd1c7b980013e3b05315c3bd184f93b5f28553ad36e5f39d650573c5669b9ba1e7d463ab75490b9fd4a123c5a8a32bbd736923aeeb519bb5eb9723c91c515bcf77fa33a2fd61dbb663f273c5df212bc0486c03a045fafbba5ce5d3c7a7c66bc606eb43a2c1b7ebb6b8c073ce25e1bbcf5e89bbcb0a31e3c5007aebb1fc8723c3c6a88bc429c263c93c39fbb5178aa3c92650cbca2b39b3ba1b97abb601b8f3ce926bebb557ab53b696ea8bb5e3b9e3c0f88313aa7241f3a5bbe6bbbdd64843c8978703b88328b3a9ca06abbecbf833c733beb3be180d7ba68bd31bb6652743c803d133c68c1d0ba6b9740ba4220033c5681193ca24a7ebbebcf9eba76640d3c69cf9ebd2a18843dfd4ba2bd9821bb3cce5dcabd34dded3ccdd0aebdc650db3c1f5eb8bd5ee6683c7edb8ebdd06ca43c774db5bd1c624ebb4b7195bde9beb53c4dac95bde970413af30071bdf4a88e3c7fa47cbd0d110fbb24e16cbdb7339d3cc17f31bd0c83053c5f253bbdbb5c783c8830cfbcb5063c3c2ccf28bd5e2b973c7a2683bc8f5aba3cd380eabcbef8643c569cd23aff9af6bc997a733e2aca7b3ff5e71abb01d5b0bc2f8b423e394b7a3fa1af02bbdc5894bce9ed203e4c37573fe1a947bb5ebdfabb0de6ce3d8700443f40d739bbf77476bbe59d753de33c1c3fb746a5bb8b1fbb3b0d3e1a3ca499fa3e248cacbb8c5ea13b8fb4c4bc0a96ac3e18ceb3bbdb90763c7dc474bded74523e0ad9bfbbb262843c8496a4bd8e4aa53db4e9dcbd0718763c00000000000000001197f1bdfdff703c000000000000000091a9c4bd42a0853c0000000000000000fe7bcdbd19fc993c00000000000000007c81b4bdcb499e3c000000000000000074e7c0bd55fbb63c000000000000000019eea8bdd37eb93c0000000000000000ddb2bbbd9260c23c0000000000000000a98aa4bd6951b23c00000000000000007ffc1f3a319677b8c1d8983bf1a4b63b32e3a23ab53afabb8ceaa93cd9312c3b5ef7de3abadea8bb86179f3c1f3d3b3bbbfdc43ab328c8bbf7ccb23cf84289bb3d2bbe3a29088abb69b3a23cfd37ffbbededaf3a4146a7bb24bb903c7384fabba1a9893ab9a5babbe4885c3cb9d6d2bb91a07b3a60ffc5bbc8eb2b3c3204a8bb071cc33a7c2c9dbbbaa2f63bfe4600bc52ccecbb30419b3b432d24bbd144383c0a227abb245ddc3b50827e3a707f0d3c425084b9a9ac873b1ab513bb1432473c537f463b4e101b3b11fc39b9192ce93bd1c5a13bad1a803a61c8a3ba1157f03bd083e43bd60fb9b9b4b739385d0f9b3b417cf93bd9ff97ba7203253a535a1c3b77ded93b9180a3ba070e0c3b4bb01fbbacc6df3bda0a1cbbc42b143ae55b073b641778bdb970563cdb157bbd243b943c407774bd1a8a30bdda4082bd72f2a33c80df7ebd041f80bd9d5870bdaee7843ce4b25cbd82fa78bd6ac64fbd8b54643c06b53cbd0b214bbdd1bd37bd34b5533c2ac0ffbc815238bd83a41fbdeb3d4a3c00b785bc8f8807bd6d9007bdb6233b3c52fd0a3a6a3575bcd543e3bc23cf5c3cfaffc93a4970943a19bf40bcada9e83b6de6b7bade72dfbbf13c883d3242963f9e670fbbbece86395f80233d1b64903f4caadbbab6bc093ac50ce03cfa11803fd66ae0ba64deac3bc122a43b84fa563fa08f05bbcf06c93bd71955bceb7d2b3f002e02bb094e0f3cb8f708bdde00013f72969ebaef281c3c9c1145bd1420a93e464e2fbadbf0483c4b5766bd31ad253e6c505cbb54df423c5b3385bd861a093ddc4eddbdbef36e3c00000000000000000e9cd7bd9794753c000000000000000052d4b1bd8708863c000000000000000026759fbdd9db823c000000000000000025e28dbd7309873c0000000000000000462d89bd603e903c0000000000000000ca2f86bd8c1a9b3c00000000000000002d9790bd9aceb13c000000000000000055d180bd24c6943c000000000000000000000000000000000000000000000000c6bb203b2692e2bb4a76ac3ce34a07bcda7b033b02b3e0bbe4c1b53cd86b0abc0293cd3a7b45b3bba41fa23c404649bcb043cd3a5b17a4bbc4ae8e3c234052bc7d219f3ac906aebbc016893cdb4d41bc0191b03a4b6389bb134d3c3cf63cd0bbaa28663a51af75bbe255fc3b6272d8bb00000000000000000000000000000000000000000000000000000000000000009fabbb3bebfd0a3ad9394dba4d1d833baa41bb3be5e4163ada50143aaf741cb88831ec3b11cca3ba97c1f73858364a3b19320a3cab2b0cbb74a287b9e3aaeb3a32fdf03b5fd091bab6bd8a3a4fa2adba167af43bb15c2cbaee4e973aee7228bb260ae43bd51db3ba9445f63a4f81afbb00000000000000000000000000000000000000000000000000000000000000003c9702bd0592a1bdc668e2bce82ed43bc00fc7bcddd2bbbde480a7bcdb81933b5782bfbcde53a6bd2ff991bcfd18263bfa0d82bce73598bd9c006bbc8e61de3a0a110ebcb82480bd94d473bcc5eedc3a6024523bf27552bd0eea48bc5927093b70fe2f3c9b190abdb5c5c8bb728f103b000000000000000000000000000000000000000000000000000000000000803f4a271cbafd4e483c02058ebdb641963f6c52a4b96df6683cf19f6dbd40ec7e3f121061ba90bf323c5c1168bdb5ac533f21a1e736cf0c3f3ccd3d68bdb7fe263f1cf42bb9e1511e3cd85f5cbd4a4bf43ed17544b9ec7ffd3bdeb740bdd930973e48b3c73977310a3c2e443abd073a003e0000000000000000000000000000000000000000000000000000000000000000452068bd5483093c0000000000000000624f14bd8652f53b00000000000000002580ccbc709cdd3b00000000000000008bde99bc2468e73b00000000000000001ebf83bc5343bb3b00000000000000002a8c8dbceddd013c000000000000000095e1b8bcd971e23b00000000000000000000000000000000000000000000000000000000000000000000000000000000ee6308bcefb7a13bc163413d3494163cb5a67bbba8bbde3b71cd313dcd1a463c1dc159bbc9b61f3c6f77193d5eb74e3c5dea23baa488f13ba97fdd3c73ce383c6e9fcf3a0469b03b54c8b13cac74df3b57a81d3ae130a93b2de72d3ce03d803b108ef63835352c3b9f4297393ecd05ba0000000000000000000000000000000000000000000000000000000000000000279f92bbc8b5f4ba2f6facb99e4d0c3d80bc213817d3d2ba6f8ba1bb0e16b23c841d9b3ba9291dba8f499bbbce3a243c00e79d3bb7c4123a7a90b9bb202cd23b91e4bc3b445374b9cbc405bcd3ebc839c53ed63b52148d3a0a3a11bc29237cbb00bc8c3b56b5ae3a85d3debbdb76efba00000000000000000000000000000000000000000000000000000000000000000e8d7dbe323294ba220c453c7010e8ba85cf6bbec42885bc1984c13b064077baba495cbe5bb8e3bc662fb63b2d0e1bbb73ee2ebeea67f1bce216e33af9e76fbba363e9bde6bee7bca33b1e3a061484bb306d72bd466fa8bc191033bbda1c18ba8beb05bca9770dbc0e47d2ba0e4048bb0000000000000000000000000000000000000000000000000000803f00000000bf8fdc3cdc6c0dbe88afae3ff29cedbd01499f3c2cfdb7bda1d08f3fc8cf67bd6519a03ce09f93bde999723f5eaf1bbda72b8f3c966c53bdd8ef343fa70086bc26ff583c26d5c3bc1a2ae63e1c4a8539df40133c21d1003bfb5b653e64c1303cd2a39d3bfdf99f3c0b3f86bbfb86413c00000000000000000000000000000000000000000000000000000000000000003265833ce60c11bc000000000000000031fff23b0afbddbb00000000000000006cc3c23b360504bc0000000000000000c6a1c43b6b85d9bb00000000000000000c329c3b94149abb0000000000000000606fa93bb22fc7bb00000000000000000fe7163c487191bb000000000000000000000000000000000000000000000000c5ab10bc9472c73ab2e5de3c4efc503b94da21bc3178763ae1f92f3d6e7a0a3c8fa1c6bb4a23c73b361e433df7ff793cbd5a90bb5f42f73b8d7e2e3d3502883c702bb4ba67b5cd3bd86b083d16cb343c7d872ebb3e54cb3b6066b33cf7fc133ce360eabaca04ae3bbcbe4d3c9e73263bb14d18bb6413403b07178d3bf68cecba469b7abbeadf69b93eb0b0ba08cab2bb162e9cbb63d2673abf9b583bb87e113d7b0f5bbb47d1233abd8b36bb82eb2a3d37b58c3a2cf435b928b9a2ba611fd63cd696b43bcfda463aee8787bbb912893c1152e73b6511b83a2448e6bbbc311a3c686f263cc670463bc73af2bb42e8c53ab40b223c7749533a195ed1bb6120a1bb0f92403c97d2203adb14f5bbef9aa1bb3f5ba93b36e133baff47efbbdcb7523b212c25bee61fc63c671bdfbb1fc488ba2a9c56be3fc9273c3c2336bc37d7563ab9dc78be4c5881bc3bf218bc5c5c193add2d61be77dbecbcf5c330bc14141dba90b32dbe3b8507bd94b056bc887fbab9d604e1bd63c40ebdc72273bcdba6b5ba7c3854bdf1bcdbbcc15160bc641483baee360abc1d528cbc3f5b60bcb70d89bae40ad33c93cbe43aa8b2d3bb1e49dfb689d1343df9de69bed876ae3fb41eb9bb7e90233d5f0b3abe1ec6983f5f6e403dc0e60f3dd1ae24be6df98c3fce1b593d71aafd3c68befabd02a2633f24b2933dc893d73c568ca6bd46a1253f7731a83d89b4af3c1e1427bd9c7acc3e68a8af3dae2c7b3cdcad02bc9647303e3c28a13d5721ba3bee419a3c4be8013c077e853dc548bc3b6cecf23cb19a1bbe674cd23ca7b19fbbdf0feaba0000000000000000417686bcd92b9b390000000000000000ef6084bcce0748b8000000000000000058d89cbce1671eba00000000000000005ee695bc137cc23900000000000000002eae8abccac9583a0000000000000000bc2175bc6ef4613b0000000000000000870b69bc5764903b000000000000000001a4d6bb854f173b00000000000000001e8472bb6da28fba6740993c50b4f53b6d09b9bba573af395451123d70156c3cc25fc2bb6343723b77ea243d3fee9d3c985449bb76c9b53b415c183d7bb67a3c103a7abb10dae33bb3d9dc3c26da813c9a1364bb0c8e3e3b4fd4b23cca81e93b00bc80bb545fa83b296f353c4580ab3afd80b9bb5b05013b1daee93b75aa7bbbcca488bbb54538bb31a9dd3a91f7dbbb540493bbfe10e43a19a9c6b91d21bc3cb961ca399d8c1d3ad6611d3b240adf3cb45e8f3bf263c13992bded390f7faf3cb840323c730c3f3b0a660cbbf7b0493c989f463cb109e13a53d16abbf2bcb53b05c9673cbb999a3a022e8abbbe005d3a772d8a3c786ba53a3789f6bb851d12bb35177f3cb5ae43bbddceb1bb54f0a3bad2231d3c4145d4bac197d2baf64219bab5ceecbd2bc8093de00be2bc34a0413b836b41be69a68dbb2d22ddbc81bc5a3be13e55befd2902bd3bf1d3bc48f08c3b49543bbe1eaa37bd080b03bd02a0583b65a10bbea3d63fbd1a28ffbc0089263b9e55b0bd5c6742bdcb8bf8bcc527753bc0f115bda6de14bd8b77c8bc1461263ba78e32bb182bacbc1f249abc0a3e0d3abe6d973c1a6a8bb9826043bc0c6a1c3b915d203d839257be5baa8e3fd7d9553ecfb9293d9bac5abe35188c3ffccc663ed310203d225736be2d35753f9a626f3eb4b7033d260008be37ba413f8f10713e3930da3cccddb3bd6d8e083fceb35e3ecf5acd3cf9a04cbde2eaa03e4f214a3e05c8953ca4e983bc981bf73d0bee1b3e1ac0643c713bba3b1806a3bc7d8bc83d315dfe3b8048913c42bfdabdc9df2c3d514750bdfca84a3c0000000000000000139169bd38583e3c00000000000000002c626dbdeaa71b3c00000000000000009af95abd3c3f0c3c000000000000000077a244bd7df6163c0000000000000000c27e35bdfd99073c000000000000000058f420bd60291e3c000000000000000029e1fbbc9f603f3c000000000000000022fecbbc31812f3c0000000000000000c17e0cbbc6c3aebb5876833cf039183cc46091bb37d8e7bab056fa3c16b28f3c47a189bbb360d33aa165023dadf9b73cff674abb2b15113b054d033dd633973c1d6382bb4024d23ad43fd33cc31b5f3caeb583bbf8f1973be63da13c722d063c4920a3bb1be9943b96ee363c50adbb39e04b9ebb9f994ebaa3e9be3b70d187bb6f12b7bb5ea42dba6a0da33b086d0fbc81f4a6bba5ba9b3ae147ae3bbba40c3cd7a68b3bdce6e63a2442de3a24809d3c836c3e3cd5adc9393a582b3a7716593c3633823cc47fdd3a8fb91cbb4111be3b4ab78f3c1fe8f23ac0a497ba8c185b3aa7a0a63c77bc283b4cb49cbb60d0abbbffb7ac3c2dcd1cbb0e448abb20b78ebbfda88e3cf6a83cbb298d44bbde953bbbd1ce283cf5d460bbd6288abaaf450fbb0977c1bd58f3c23cd09b1ebdf8b5003cc69416be0f86debc5db822bdd5cafc3b095b1fbe542284bd97d029bd1bbb103c265108bed78c96bdd28a37bdd3130f3c9db9ccbdc8139dbde36e31bd504a023c0bb469bda30089bddf5620bd8fd1b33b9d14d3bc307440bdc34cf2bc2f08b63bc1a82d3b5277c4bc9441a8bce58dc33a78c8933c236f2fbb871728bcdf83363bc0b3003d857043be05a36d3f3d9de03ebb9a163da8f644bebaff5f3f25bcee3ea5ba013d3a971dbe63a93f3ffef7ec3e9084e13cd312eabd9ff1133f5a83db3e4f48c03c15f099bde33bc93e2dadc23e6d12c13c53722cbdc1a5633e01b39c3ea70a8d3ca5f187bc0cfaa63dfb0f5c3eb897573cb21d25ba0912c3bc756af03de63b2c3c0915d43b4d86c2bde8a61e3da1cad3bd85fcae3c00000000000000006fe7eabd4859b93c00000000000000000f2eddbd1a16a43c00000000000000006fd4c9bd1ec5973c0000000000000000dae8b3bde89b843c00000000000000008ead95bd5f69803c00000000000000003c7e77bd904d663c00000000000000004b8736bdec97983c0000000000000000e1d511bd60be923c0000000000000000298014ba88d3e9bbe874723cd2f4423c3c87e7ba64b6a1bb9f14ba3c73389f3ced9e6cbb4f9c28ba71d9d63c20b4ce3cf35479bbac62ba3a7b04d53c4c0ab53cbf2d5ebb25a2953bd5a0983c9e065e3ca97d8cbb5099343b4f20743cc1fb1c3cf3a92ebbb52b583bb128283c130872398ad96dbbe16360380d2fa43b47a9bcbb6f1130bb6b65c5ba92e9ec3ae60c02bc994186bb9b000a3a86b80f3be698d93b5ee7f83b0a0cb6398840393a0ec1313ca835843c3d24a3ba82a681ba102f053cda12a63cb0255a3ac970b1b6f446083a97e28f3c7587d339d28615bb402267bb04efbc3c2438e5baae8c3cba36d4c4bb3134a83c08068fbbf3826dbbf39507bc6fe28f3c0afbb9bbc594ecbabc7e9fbb0f6b113c6aacabbbbff05d388c0c65bb571290bdab54253c72aa34bd5a38213ce6b0d0bd0dcc7abd3e8540bd7ac15f3ceedbddbd3ff6c0bd0a4154bda52e623cd7cdbbbdb835e1bdde2e57bd0f9d3b3c880386bdf028b7bd3d754dbda3323b3c02981cbde6b2adbdffc229bdbbb3173c82787dbc792e4abd72d1eebcf773e43b5a57303ba8f8c2bcad1991bc73c9193be9e7863c467fedb80cb107bc96665c3b786fb83c2a9319be8afc2e3f8b10313f0f56d13c24ab12beab9d203f4f8b373ff70fb13c0119ecbdc39a063fd4e62f3f3797ac3c5647a9bde405c83e3397203f21398d3cbd0258bd55f2853ee7bb013f7b2b8c3cc3620dbd4242133efcd0c93e212d723c94bb51bcc47b483de5da7c3e0a4a473ca10788bbe8da94bcb6adf83d3e21193c9250673b425a91bd2e0bce3c338c1dbebe0c023d00000000000000002a5e27be4745053d00000000000000009d4818be1b2cd43c0000000000000000e24008bef754cc3c0000000000000000cd62d1bdfd7a923c00000000000000009118c1bd3251a93c00000000000000002f2d8fbd703aa63c0000000000000000f60250bd1c77b33c0000000000000000e44c31bd4cafa73c0000000000000000f2ab1f39806e0fbc4e75483c0d2a5c3c2db793baa40de1bb81f2813cbeb2d53cc3799bbbdcc393ba1784a73c2e98e93cb8a595bb9a8a103b2973a43cac52c93c0d5647bbee46f03a55598f3c6c89aa3cfff6b0bb34ad843baa5c4b3c70f02e3ca71b0bbba9a7393b9f511a3c5525263b64fb2cbb37262f3aaea1893bfa0f8bbb0bb947bb67158abbcc848d3b945a0abc660c093bbc5983bbf40a07bb804d193b258c833ced01ccbb1544c73a641fb23a7169ad3c64357bbb39fa873a75609bba0159e03c523629bb0507ddbab696c9bbb209e53caf136abb74992f379f97dbbbd4b6e33cd4ebadbbd69fd33a947d34bcfd2bcb3c054df6bb213444bbfeb400bca63ab13c80882fbc72bc31ba7ca204bcfa95443c68560abc04995d3b13afbcbbf47d19bd6c259fbc3b0c37bd5449823c559156bdd481d2bdfa5830bd43626a3cd1d667bd288c11be799d50bd7c02813c01bf46bdb7fc14beda375dbd78696f3c9db41cbd9f0c07be09a444bdb39b1d3c44ebcbbc48c1cdbd9be818bdf125fa3b1a525fbcefa378bd1536d1bca3a9a23b543fb03ae740e1bc20a33ebc7b10b6b6ed5a493c2cfdbcba5eef13ba274bc23a991c753c50f6c9bd7ef7da3e9f4e703f69d37b3c9ae5c2bdd275c53e1d03733f4907803cd54990bd8f039b3e6f7b663fcbaa463c78a93ebd49af5f3e60eb483f6d453a3cc3f203bd5aea133eacf2233f155a4b3c9843adbc351db33d3cbae73e23352a3ca10f3fbcd3c4123dac15883e4757243cc22cb1bba1ef81bb4771de3d498f013c937d20bbc28915bda528b9baee7249be5a10283d00000000000000003d2952beb557373d000000000000000076083bbe0fa40d3d000000000000000095cd1fbe03c5de3c000000000000000083eb04bea960e23c000000000000000031eecdbded62c03c0000000000000000f35c93bd5639bd3c00000000000000007eeb51bdf834cd3c0000000000000000c21430bd97b0bf3c00000000000000005c1677badae51abc4146d43b48f14d3c423321bb46c1e0bb977b283c6cc0e73c00a79fbbda6928bbbf79733c3a6d063dc5746abb192ea8ba004d743cd97cf03cbae5a2bb6167233b39c3543c1c32c63cbf3a43bb4719863b0e42323c8c7e7b3c66a013bb53de063b4517e13bc043803b2a8076bac5e1a9ba834f853b58c48fbbdd6f26bab4c088bb9f02743b07870abcac09f13bc833bbbb92fe6639b135efba2ee3be3cd8973bbc5def153b3c19f5ba1a79003db48a09bcf71139b8dba4d5ba48470e3d9af6e3bbf4ca8239a011acbb3c3cf53cb4a1e2bb192a663a69e0ecbb7b40fe3cdee1f1bbecf35b39d4d220bc4959e83c60f83cbc3ecd1c3af2370cbc22fea73c5c8c2abc2d80af3a51c2cebb7fdb483ccf1b32bcd911113b699a92bb767095bb3ec050bd1a37e9bc1c916d3c7dac33bc4bc018bef82301bd754d7f3ca3f492bc6f5641be14812abd136a753c569585bc6a6342be242c2dbd5d02343c786e93bc9e4b1fbeedd51fbdf4fc183c80c97cbc7bd5fbbd2500f4bcd4efb03b32ed2bbced348ebdd49c75bc500d653a28ee75ba5741e8bca9ec86bb2da23cbb6d72d93bf7a9853ae5ec993b95b75cbaccaf843bd80c42bdcf1b513ec3a48f3f3347a73b20b428bd7d94233eb1c7923fce6c9e3b23b2e5bc3ccaeb3d710c883fb781e53be265adbc253ca43d2dbd683f89faba3bc8fc50bcba5d633d90bf333fb308ea3bc70036bc5829273d2089f83e2277f03ba82a09bcdd11e63c04f6853e55e9cd3b1bfe19bc68e16a3c11a49c3dd1a6123bb6f897bb53d197bb6de70fbda5aa5bbe6d4b373d0000000000000000b1c961be26f1323d0000000000000000cfe340be3b5a0c3d0000000000000000ab0e21be9949e43c000000000000000052c5f6bd2a84bc3c00000000000000006a5eb8bdae62ad3c00000000000000003bf272bd7777a33c0000000000000000cb4009bd9e92a23c0000000000000000f070eebce20abd3c00000000000000000896cdba88c003bc2c971f3b39bfa93c7fd6f4bad28e9abbfe0b113ba18d183d693192bb47e9deba905b263c32fa313decdbbcbba278143bdf212f3c251b273d967d86bb036d723b3242173c1fdbee3cd57a87bb2e546f3b30ce183c2f58a93cf3c808bb89b9bb3b459aa13b5b3eed3b52502236176ac23a76ad643b955adbba5838ebb903302bbba4bcd2b8612311bc9730643c820461bca7b034393e894c39c12cb93ce7a084bcc37dbf3ae69b90bb1549e83cd8f845bc6b4b973ac0d86fbb94c4fd3c16180cbc1705fa39b70a82bb07cee63c7cbbfabb602e72395bf8e1bb100be93c0e3a06bc94f4af3ac60cf4bbf88eaf3c2a2406bceb4df739dbd807bcf874883c081e08bc05c6063b2b44f1bbd2ac063ca7f617bc7cebe83a933cd8bb4b84943c2bf500be3299ddbae0a0533c7d66953c543d40bed0ebb1bb01de3d3cba29ca3b10af6bbe0b50c5bc4046543c4fc9afbaf1be63bedb1dd3bc1ad3063cde76c2bb063438be719acbbc60c5ba3be9502bbcded806be278198bcbaeabcbaa49b37bca92493bdfa8a16bc956000bb79240bbc258dc9bc281e28ba134cc2bb42a27c3b8d754e3c69f3723c7addd3bb4e7474bb5e7d36ba2e0715bc9ddaae3fff3a9aba662d9abbf95cbb3b61139c3f5414323af27de6b8cd467bbc5ddd923f0aae503a7c4a1e3beb4975bc4488753f552ea23aac468f3b969d0ebcba123a3f34ecae3b576b16ba8920b83bb727f53eafa4013b756a11bb0010983c2252733e7b30813ba86feabbca06eb3cd2f6513db54cfc3a24aa32bb0332bc3c3ec1efbdfdf66cbec38b3b3d0000000000000000b59c35be20d50f3d0000000000000000a92b1abee00ab03c0000000000000000e432f5bdbb448d3c000000000000000014fda8bdef7f483c00000000000000007b0050bd6b4a263c000000000000000011a1ccbc9727163c0000000000000000a5b106bac727bd3b0000000000000000014ea7bb5a0d623c0000000000000000000000000000000000000000000000005ff73fbbd88eadbb6de5483bcd10403dc5205fbb2ee548badd8ed73b14de313d12318bbbfc29793bcc101c3ccd6f1e3da9822bbb1571a63bf562d23bacb7fb3c4b1c19bbd985c23b7a4e9d3b6151913cfd33073a4939713b2165853b18dc093c70fcbf3ac72a813a7e16e1b90d7ba3b90000000000000000000000000000000000000000000000000000000000000000444bab3caa0368bcbae446bada36553b8286c53c03b902bcc64c05394a8868b8bb9acb3c74469bbb51f42fbaabc205bb2d19c63caeb887bb127f16ba1e222dbbd5929e3c9f0d15bb4908843a07fbd1bb70b17b3cf9d520bb79d86eba3596b8bbd5d7e73b28bd7ebbdd9f8338e0bec7bb0000000000000000000000000000000000000000000000000000000000000000371cf23cd25280be4e35df3b4fb4e33bac9a803c7ca773be1971ffbbdc0f773ba96e923b29945fbe3314b4bc7ed2c8ba1a3e0cbae77a37be2bf198bc926a4cbb787974bb49b7f7bd34935cbc1026d2bb076d1cbcbe3c82bda43f0ebca836dcbb3c2684bb9a9a44bc66febf3b870802bc000000000000000000000000000000000000000000000000000000000000803fb901e9bbf6dacc3c9f6f0bbe4cc4ae3f5d9f91bbef999e3c6233bbbd75c38f3ff084b7ba1c2c863c4bb0a1bdf89e713f63f2a5ba454d603c37f166bd6a40333f1cf2a4ba6188303c0de2dbbc692ae23e1c7edc399527b83bef1c9a3af96c593e73ff61baf373123b2c13cc3cb94b6dbc000000000000000000000000000000000000000000000000000000000000000032c2f8bdd8e9833c00000000000000004f697cbd910b313b00000000000000009b7510bd3fcd8c3a0000000000000000dbc868bcb30363ba0000000000000000250fb03bf47283bb0000000000000000d08fb43cf8dda0bb00000000000000009423b83cc657c1ba00000000000000000000000000000000000000000000000000000000000000000000000000000000f1345ebbefb629bc15c55b3d0ab9543cd8729fb8f62f1ebcd81f613db55e363c5cde813a408fb0bb068f463d33de353c470a0f3b6ec79fbb0c78213dfb6d2e3c4d76453b6530a4bbf198f33ce788bf3b55d5423b73b477bb24f3893ce1121b3b9fd16f3bddeaabbbcd6ddd3bdc9489ba0000000000000000000000000000000000000000000000000000000000000000d74608bbaa0131bb6cae1fbc5f874b3dbba8ebba50efc1ba46cf12bcf731283d3a7e6139a6c318bbc5fb23bc646af63cec2046bae1e781ba095c22bc5672d63cccba0e3b17f988bae5da01bc577b793c6085193b40fea1ba70fceabbd9f39b3ba3cc2b3b258fe639d3a5bbbbe658803a0000000000000000000000000000000000000000000000000000000000000000c8f081beccc2f4bb42c3793c1b563cbb7bea7abe39202bbcd411353c0f5965bb748168be3c4190bc9d53423c1de384bbe49b3ebe28f391bc15213b3c4e3bcebb29cc02be64938cbcedf61e3c98dcf1bb76b686bd45b615bcf9cde03bd301b2bb47d848bc07c596ba2a78b43b018fe1bb0000000000000000000000000000000000000000000000000000803f00000000be75a93ca12308be867eb03f8debd7bd3c7a603cf689c0bd77f2913f740172bdf1bb353c63399dbd497f733f913e3bbd0e2b0d3c4b576bbdb6b3353fa67a08bd1123883b0873f0bcac85e83ecd1aa9bc8677643adb9bf7ba6c3a5d3eab082cbce06a95bbf43ac53cdf8391bceb3155bc0000000000000000000000000000000000000000000000000000000000000000444a393c931689bb00000000000000003f2b103ce08b4dbb0000000000000000d461073c3b546bbb000000000000000061f5383c5ec815bb0000000000000000eff8433cacf423bb00000000000000009d411b3cec8b0cbb0000000000000000dc658e3c2cb26ebb000000000000000000000000000000000000000000000000924505ba4ba83bbc06f2073d7e137d3c9c43d93a3d8ba4bc2183743d5ff6233c5df0f43a9ba671bce9857c3d83951f3cee74483b619464bc524a703d6802233ced908f3b16202dbc5e2f3d3d89b4233b74799f3befaa0fbcb310063d6651003a9e8e573bb35da4bbc89fa23c6941b1bb0ba56e3b1a3f88bb0e004c3c60d947bc9d05ae3a920a4cbb825f873b0fb566bcdddd0cbc73e5f03a16e62cbc0740693d9a92ffbb9a3288ba18df55bcdf4e8a3d4ba0a1bb30ecdcb97e7f2abc1a94563dc69fa8bbb337003a58af27bc3112333d34f571ba232a94b8fb0717bc5cb0d83cb95eb73a2b433dba787a00bcd4eb383c2d5a963ba47b44b9753db3bb59484bba11a7e43b938d95ba52594bbb2f8e60bc497fe23b7d8b3eba80fe82bb935819bc6e7e5cbe4c65373ddeb6dcbbd02fc9ba4c3088bec2ca413d659f50bc4900433be42f8fbea7d6ef3c53c230bcefbbec3aa23c80be1b8e753c7efa1bbce0db813a26d442bef31b363cfffb2ebc88ef0d3a8541f7bdf1885a3bc28921bc4a9739ba43f666bd36c2ad3ba70c3abcd71b49382d5b70bb6db5163c606639bce7676cb95a22d03cc595953ca86af1bbcfc726ba73e4f43cb85642be305db03f19a39ebc3759c43cac081ebe590d993f193f0d3dfef1923c8a5601be48aa873f4b7c503da9824a3c30cdbdbd3968553f331e8f3db56fcb3bd2414fbd988e133fde13af3d2213563bfb0283bc36baa63e2d5db93db10ffcba325f6b3c1ea8c93db708b83dc3c911bcedb43c3d0ad797bd2df5a83d812b3fbc619a813d18f166be8eb92f3d36378c3a659598ba0000000000000000e412d0bb121d4f3a000000000000000014d4ffbb1e23523a00000000000000006a4d0fbc6ca4813a0000000000000000096ef8bb06c3893a00000000000000000d9219bc32872c3b0000000000000000987e15bce8e7173b000000000000000052f539bc1fd0613b000000000000000052cd89ba0c29983a0000000000000000ae699e3b57d17abcd4c9f93c9677733c18b9403bdf338ebc3a19513debd72e3c108b6a3b7d8f7fbc4b245b3d7d32263c1d14a03b1f4e5abc719e453d87ae723bf32b593be2bd16bcffa3173d2b32b53a9d18733ba2ffc6bb6ab3d33cb594a5bba01b323bda97c2bb1c67923c1bc92abc2abdca3a0723f6bac90f2f3cd4d295bc5094a93a2ebd20bb3e9f043c37249fbc79a68cbc9085533bf3410cbc0888593da6e431bc332ea83b4c11f6bba00b6a3d60a702bc5bfb1d3bbda0e3bbfa73423d0441aebbd391343b68e4cebba0dbf23c9d03c0b94c5d213ba23faebbc0a2993c3519a93b38d50d3a942980bb8077c33ae87c093c0ffa23bb9301feba735ce1bb1195483c934355bbf9b6beba57db63bc0ee0d13b8520643914b624ba7b5d80bc4d6c50be0aeeca3d56660dbdf89aea3bb0f484be52eb933d445619bdd11ed33b9afc80be2e8b2c3d404a12bdfa47113c4bf654bee7d7e93c433a0bbd05a3bf3b6a741abeb9c05e3c5e410cbd2d32e03b71fcaabd8078be3b0fb80cbdf5a5f63bad0a02bd7decfc3a490ff0bc1da1043cb7c0d43bf55af63b537ecfbc857df53bb368d23c534acc3c90b6c4bc4f1afd3b45d79a3c07bd1fbe47bc8c3f831e2e3ee18e8e3ca6e419be0829843fc2314f3ed622443c7c1aecbd37475b3ff1876c3ef052de3bc1f593bdcb3b213f76187a3ea1ed4d3ba54c1bbd16abcc3eee697a3efa0ad5b9efe14ebb683e2e3eb87b773ea52a93bba0c3ba3c6d2734bb61b0533eb91613bc6db53f3d6b5e12be1e3c2a3e024331bc54f5663dbee362be90f8ee3df191bebc610ca63b00000000000000004830eabc7ccca23b000000000000000034bbf2bc32187c3b0000000000000000ab04f4bc6f53c53b0000000000000000113802bd31d9c73b0000000000000000609d04bdf355f33b0000000000000000242206bdbfca023c000000000000000012d403bde3a61e3c00000000000000009609fbbcc37f103c00000000000000003126ad3bf3133fbc52fed33c7daf2f3ccd60b63b942693bcfe193a3ddccd533bdd5f663b16bf5bbcfbb6333d2a0aae3b97db753b3d7725bcb05c163dfe8717395b457b3bca4f02bcc3b3f13c791278bbc8e4023b10da8ebbffa6973c72c2f8bb7463833a58cfb4ba9f93533cf36f72bc3498ab390496fd39ff31173c1ab2b0bc1d96d23917d18cb9fbb5da3b19fdb6bc9aa9b1bc2a55fd3b64dda2bbe62b183d904b19bc212aa33bf36866bbc54b2d3dca8885bbd80ba53ba0c55dbb2722fc3c26c60c3b9bd25a3b88244cbbf59c903c9ffcf03b1616963aac6535bbaac8803b76b8413c738ab9bacd9f77ba5c2494bb4ad6813cc89515bb450481baef8647bc5e5e913cfa75b5bbad94aeba717089bc916c333ce5bd44bb9d2c8d3944de77bc821a43bef811013eaf396dbd6abb4e3c881a61be466ba43d038780bd10977b3caeb449bee97b173db2d47cbd6a0d7e3c72f218be086f5d3ceab97abdc2aa673c832ec4bde8e908bc73ab6dbde3d1873cc4bf38bd334369bcf87a56bd3f507c3c05c518bc2a9a3cbcccae37bd19265b3cb18db43ca76f06bb072816bd92d2613c53baec3cbe9e963c3097febcc00c593caa19243c078a01be787a5f3fb939c63e3c73243c6056edbd627a463f2304e13e459fa83bf03fa6bdc8a31a3fcc33f03e8757e03a9b7d3dbd69b8cf3e7a1aee3ea996c03ace8793bcf83d573ea4c3e73e4485e2ba8b7ca83b44af4a3d98cfcc3e6ce799bb0f61d33c46fc9bbd250ca83e1cc3cdbb99dd283d02e32cbe2810773edc1d02bc01db303dbd175abe356e223e837451bdded40d3c000000000000000083b877bd31da243c0000000000000000d9b389bd88d4503c00000000000000004e4984bd281e513c00000000000000009b4b89bd4d17533c0000000000000000adb684bd0910723c0000000000000000917285bd5c598d3c0000000000000000780a81bd374c983c0000000000000000eb3770bd5d78933c0000000000000000e93faa3bf2e749bc6b4ac93c1bdd803b5793bb3b3ab580bcfc06113d7079063b6ee6893b38123ebc571df53ce976d43bb8ed673bff571bbc83a2d83c5b7a1d3bdf45243bcea1cfbb6a9f9a3ceffab43ad7cf083b6a6966bb0e28483c5aa3e9bbe89bfeb99649f9ba02ae153cd5cd47bc1e62aabafcdf243bfdc9863ba5389dbcb19c8ab9ede2d536e076633bdb39c3bcbbcdb2bcb9b8223cefa319bb7739e43c12c806bcd93df23b2df03bbbfde4d73c57f91f38d4d0653bee9716396dbf713cc3cbce3ba207f73a86d72fba92c8953b3c47df3bb7e42eb922d3f6bac80f7c3af3e9863c193d23bbe1180c3a965247bca9b8893cf559acbb34f1313909c23abcbeb4963c342a0cbcdfd4a33a176c87bc6224673c81180dbc5afc763ad1ce7fbcdd7124be6507023e1adf9ebda34ca93c93cb26be11d2733d5ff8a4bd5a31b53cf35707bec073ec3bc8099ebdbaecc03c4d66b3bd88c9f3bce0339cbd20e3cf3cb6fb75bdb0e5dabc208e8ebd088fc23c89ed53bcde3433bd433583bd1d9fc13c1b74cf3bd411d7bce99c51bdf8afaf3cb7f2e23c05cc3fbc11141cbd25dfa33c48b6153d15a1223c176ef8bc73e3aa3c28c3693b471eb6bd29d51c3f8c5a253fd23f4b3bb19b98bd0ba7023fc6d0313f2572853a187f4fbd288bbe3e374e343f8a2385b912c2cdbc3650543ecddb303fe9a2bfb7865725bc316bc63d7f44183f067018bb303f4b3c49d00cbdd448083f82284dbb8cf9ac3c2d2cd4bd0f8fca3eb018e6bb3f8ff03c923622be6ea78d3edf67a3bb280e0a3d5c5b40be9a152a3e6018b9bd5abf7d3c0000000000000000bc5ac5bdb6e1923c00000000000000001ee4cbbd42d78a3c00000000000000009994cebdb8488e3c0000000000000000d468b1bd4c92813c000000000000000003c4bfbd0928a93c000000000000000000e3bbbd7097c13c0000000000000000ab5cb5bdb4dad73c000000000000000053a1a8bd576cd23c0000000000000000a04eda3b0f502bbc1b77933c4839e2b96b67a73bf36d1bbc894ca13c424e583b6262833b25ce02bc43d68e3cdae7e13b61b20b3b45a285bbc8eb563c6e41f73b971b093bde34cdba1ba91d3ce743673b72b48c3a5ae6893a91c7ca3b130a17bbdd7b10b9ddce1d3a6c40c93b15f32fbca6fec0ba6a31763bfee48d3b8ce989bc1638a939aa101b3bfb82923b8cf1adbc7e8c65bc208ffb3bf97a0ebbebc74d3c6994a43bb31f20b92f7bcc3991d11e3c55aa3b3c02cc61baa80b53bac8591b3b5f34903cacf53dbbbf9db73a3d45fdbb3ab2a73cf06cc8bb2122e835d40930bc5996bc3c12e51fbc913a913a76a566bc4686ba3ca1a228bc2e7bd23a4b1f76bc436ea33cf65656bc028b1e3b85868bbc892f513c6a2a2ebc41a1b73ac81784bce685d5bd9157b93db794b0bd35a7d63c554fb6bd6e2fcf3965c5a9bd2e71e83cf1b776bd4d6b6fbd2ad2a5bde757ec3cf1bbf5bcd88ea6bdb6d2a4bda389e73c74e3fcbb41f4bcbd468e8ebd035ce93ca79d263cbbeb9ebda43268bd872dcb3cec66ab3c4bb75abdcf2b2ebd4d20ab3c1e88eb3c44eaefbcec3cc7bcf51c943c2dc1f63ce6bb023bc1a6a8bc581ea13cdd5b853ac6ba5dbdde12ba3eed1d673f3e2ef439a69d3cbdce3e8e3e5a6a723f83c853ba9de6ccbcbde22a3e6a766f3f8ce405bbfcbd18bc6f1a893d125c5c3f8f721abbf310843b5fee80bc11cd413f9d2960bb89650d3cd81c80bdd6ac183f845b85bbddd6713cce55cdbd49c1d73e347466bb6e77843cd8a7eebddf2a823ebc8061bb04e9853cc7f501befe2d083e2e2200be7771ab3c0000000000000000a3050dbe91b5d23c0000000000000000157308be6e99c63c000000000000000000d1f9bdce60b93c00000000000000008393f8bd6c2bc93c0000000000000000f54cefbd5b8aef3c0000000000000000617adbbd0097fc3c0000000000000000c98ecdbd332e063d000000000000000079cdc4bdd057083d00000000000000007b3b9a3b508ee9bb1f5a013ca9ea50bbda67853bc96893bb7897d53b2478013c61d53c3ba9fd02bbedada43b02ec903c352f0c3b8f078cba3e45413b7c4e803c0fb16d3aa067403a3410823beb92443c09db5fba1067543ba96b393b447ec83b451622baedcd213b505d553b877568bb081d95ba644da13b0ab73c3bc8e33dbcf8659cba6834723b0a34a03a694764bc500a0c3bd6d22e3a74fe14394e12223b4bb8903cf563a4bb1fef693a41085ebb885cb43c6cc0e8bb2204b0b9395bcebb9186d63c859613bce464c4b9c0020abc828dcb3c81720abc0f55f339623b3dbc2de1cb3cbb4d3abc3e30253a57483cbc989dbd3c875462bcf1c0343a456737bc1743a43c380975bca98b553a911e40bce43c673c8a9458bcf39dee3ae84710bc8e3928bd4ca5bf3ccb7a8fbdfb9ed53c18fb95bc8988abbd0f8b8fbdfbb4e73cc3eb6cbb248906beae7091bdc478ec3c53e71d3c16461cbe322584bd6285d83c015c863c64380bbe6c3c60bd9045bc3c30a4a33c58deecbd37bd30bd2756ac3cf66eb53c7ffa99bdec37c4bc7511793c6b20b83ca5e423bde67e14bc6853343caadc903c755bddbb1077a0bbde603f3cf386b8ba2752d2bc7a671d3e003e8f3f63c84dbb1f1298bcdd0fb03dbe54953fec3f50bbcf3b08bc79f5eb3cc8f38c3f6e5e45bb9be0c6baa5f29dbcf9567c3fa94e42bb89850b3b416f36bda26a4e3fbb0fe4baacf50b3b7f2575bdbbc21b3f2e6d1cbb261b8b3b658e81bd6a75c53e87eab3bab0fc8d3a16cf64bd19c4413eda4507bb442968b9ffe451bda1db603da0621abe8458e73c0000000000000000d25c25be9c9cf53c0000000000000000e4cb17bee8bde23c000000000000000090a40cbe1907e93c0000000000000000523a03be442fec3c00000000000000003e52f1bdce85013d0000000000000000f54bd6bdb0920a3d000000000000000028e6bcbd18a60e3d0000000000000000ceadaabd13f7063d00000000000000008b02483b1b330dbbd0b389b989fb1f3ca2dc3a3b260645b6f8f7f4bbfe24d93cd637b93aa4a126b8f9a89fbba66d123deb04d13729a8ef3a8a9a8fbbfc90183d4a2b7f3a9af6a93aef61f6ba70c6ed3cf0f0613976c3223b8a6e53b9ae7f903cc7df6bbafb994a3b4ae6b83a2f4dd33b0d8c9cb90fca6c3b0bf41e3b888c5abbb062ea38313f603b00e1ad3a0ca026bc08f8523c7ed305bcaf9ab6ba8389a9bb6b02b93c07bd50bca919f13a81b653bcc789c43ccd811ebcc2ffaf3762e723bc5627cb3c230131bcc41eb1b9e17915bc716dbc3c53513cbc2724dc38e1261cbca570b43c428838bc1bba133a94e916bce9948d3c11832fbc815bdab85554dbbb7ad5393c006d21bc69c2843ac398bbbb2f5d063c941146bc853ac83ab864c9bbb9d7743c565cccbdaef920bdca3cd23ccfb3f73c30f527bec67505bd0d3daa3ce03a013d671e5bbed3d61ebd1584a23c3cd6013d661f5bbe3f510abd5e74853cee16f03c323140be9ab2ddbce257733c1d6bc43cb25f0dbeff5691bc819a083c060d723cb415adbd21fdfcbba0d58f3b152b983bbbf707bd144bec3b82592ebb802f1c3c2b44b53abbb4803c8adcaf398b7799bb4777b1ba7321c3bc9e9bb13f3a5e01bbed21d8baa273bdbc72f09f3ffb441abb8744913ae69c47bdd53f973f191d1abb5e1a123b9eee62bd77fe803fa9da0dbbdb6c9c3ae5ed5cbd62594a3f92dbdabaf93f8ebadf7a20bdafe50a3fd52fc6b96ade5cbb5b0fb7bc39dc983e5710553a1ee725bc973b703b6140ae3d6c869dba2f5205bcc9163b3c35c9afbda43f3ebe473d043d0000000000000000e00714be49dbd83c0000000000000000f40208be7030c23c00000000000000005e48f1bd5213c63c0000000000000000a51ccdbd7da7c13c0000000000000000eb29a8bd9354cd3c0000000000000000faf484bd18a2ca3c0000000000000000737022bdfdceb73c000000000000000021a455bd43f7db3c000000000000000000000000000000000000000000000000698a243bf52ef4b998c923bca9633c3d9be98e3af3a4a43a5a7a18bc482b433d66e92b3a1e513b3a009396bb89b3323d82897fb932ae2b3bbc2777bb76770b3d773a503a76e6103b87a740bb1d0ccb3cdccd753aa590293bf7b516bb7b034e3c974ea13abe72153b140148b99a11593a0000000000000000000000000000000000000000000000000000000000000000902d993c552a32bcdfabd6ba59a316bcd114993cfc3b17bc89e7dbba8b140fbc1c8ca63c9c9c10bcccd684bae25e11bcd527a73c3d3f0fbce346bab8355d09bcf211653c03e3cfbb1fbe5aba124be0bb87f6333ca8efaebbd91856394e91d6bb56877d3ba13e24bb34cc2d3ab6ccb3bb000000000000000000000000000000000000000000000000000000000000000065315d3d4ac183be75d495babbdb1d3c1c6e453d2c927dbe3aacabbbd5648b3b49051f3d6bea70be921e2bbcc2316b3b56f60e3dcdd545be6bf81cbc77946cb9d1cdc33cdc1c0cbe99a3d7bbd07e28bba66a3d3ceab398bd3ac3553a2901b3bb8b70993b01c3a8bce0d52e3c47d31bbc000000000000000000000000000000000000000000000000000000000000803fced9abbb3377733c8ea6fcbd343db03fd5b6feba3fc21b3c35f8b2bdfb50913f8ab4e3ba0b46023c7e2f9ebd7324743f016a21bb1f7bab3baa1070bd0b57353ffadd50ba3e8b923a3d4cf1bc80a4e63e341b94b92b3c2fbba6bb19ba4820543ec30e6cb9fd41e4bb377cf23c008adbbc0000000000000000000000000000000000000000000000000000000000000000fea0e1bd1027893c000000000000000088a97abde28f353c0000000000000000b66849bd4385323c000000000000000014c3f6bc5b702b3c000000000000000076fa67bc84411c3c000000000000000066f546399333f33b00000000000000009bf4003b9d87193c00000000000000000000000000000000000000000000000000000000000000000000000000000000db7918bb178041bb9e87e03c5d179f3ca65fa7baf894d8bbff7e1d3d3e7b673c268d2bb92d47c8bb24d6fe3c983c963ca8f689b8ed15f3bb4f6bfa3c232a763ca677a6395089ddbb9b3fcc3ca1a4573c30ccb73a1302d6bba3c39b3c44770e3c73b54c3a1c4dd3bbf4784f3c96286a3b0000000000000000000000000000000000000000000000000000000000000000c57b8d3b7f70a3bbf67c12bc25e91a3d4dc7d5392a833ebba94ec0bbe569123da09b74bbeddf0dbb1cdee2bbeaa5103d23f1babbd99e93ba24097bbbe108f43cbddbdcbb178499ba4ac68abbaf59c73c7e6f92bbb2c558bab2ea47bbdebd753c3df879bb03dc21354d3bcfbaedee3f3c000000000000000000000000000000000000000000000000000000000000000079736fbe50162abd895af63c6acbb0bb6f6a7fbeffa39ebc83e4d33c7c2497bb859d73be9d1593bcc022003dd58b07bce91a58bef816f1bbffe9f83c249e0abc71c528be78b4e93a3b83e63ca65507bccae8d9bd88abc63b9e2cc13c53050bbc13fb58bd27f4973c378bad3ce1911cbc0000000000000000000000000000000000000000000000000000803f00000000c061923be787babd58eeb13fc3c1d8bdd64dd9b9d5615bbd4873943f9a33aebdd9deb0bad39834bd249e773f82ccafbd2d4d72bbd49ad3bce9da3c3fe41cadbded483abb15ef3cbc1a72fe3edcefa2bd5a3eaabb6faff63b80c1803e0f618bbdcd33f6bbec8cba3c072aa03c1e7a8ebd000000000000000000000000000000000000000000000000000000000000000020a3d03aee714d3b0000000000000000eb4c333a491c2b3b0000000000000000b2cb813b3539973b00000000000000000d7dfc3b67d4853b00000000000000002e54463c6a53373b00000000000000007a4c643c14922c3b0000000000000000cae5c43c571bae3a0000000000000000000000000000000000000000000000009f8546bb248486bba639643c09f4033d594df7398b44bfbc9bb77a3db4928c3cd3bd46b946049dbc05f57c3d723c673c94c75e39440198bc7b00823da3e9ed3b0ef30d3aa52089bcf84b643da114573bac37d03a18d487bc7f25453d61eb97bb49e7f839bf2126bcc654083d5e0d20bc3e47783a36beddbbe647a63c66df8bbcdc428a3a43980cbc7ed2ba3c1f3fa9bcfc9986bc2db35e3b356f25bcd6856f3df91c89bcd07da23bad27d5bb627a933d848599bc3992c33bd465aebba2f75f3d7a2a95bc8dfac53b7fb862bb5534393d631593bc66a6c93b2bcb8bbb943a093d746858bccdd3b63b8fee23baf98da73c950900bcc2fb663be9ee97ba576cb73bca0698ba0966223bb2b6fb3a143351bcaf2c52ba48de433b1b5c2139754bfbbb5ebf70be23f40a3d879b7b3c74c9e1bbbac8afbe978d833d04568a3b5143aebb4b28afbed173873d745e573b5cdaf7bbdf29a1be0025923da7c4473b70adedbb7d8484be82f1923df239ceb61131d8bb9bb23fbe09b48d3d3a949bbbe7f0cabb8eebd5bd5e00883dc2215ebc572834bb428593bcc88e663d856684bc80a144bbe4137ebb00c1803d66c5b3bcef1934bab80dedba057ddbbd6969b13f85f061bde499f7bbc62385bdfe5fa13f8bfee6bc9275c9bb9b0419bd6d60893f9c2994bc868607bccf825abc383f573f40551cbc004a96bbb979ec3bb9c6153fccc8c53b820707bcc92be73cc136a73ee88da33c7bfcc6bbc106323d7eac9c3dc21b0a3d78feeebb1159843dc38912bef56d3e3de7c312bc5603853d9b7d7dbe31fbf23ce087953bc53f0e3b0000000000000000967d043b3bb9223b0000000000000000c8b4d13bcec4663b000000000000000002e2033c75a7663b0000000000000000810f203cb9effe3a000000000000000078f4263c36812a3b0000000000000000b5b43b3c2efbe03a00000000000000002b3b0c3c8b0e6a3b0000000000000000fdb99f3c1c6e52bb0000000000000000e593a1babd9545bc55c0c93c7ef3023d55e3d1b9421ca1bcff1e7c3dbbc4133c20f303ba25b68abc20e4743d4be64f3b219694399383a3bc3bd2833db13821bc0a92143a589b6ebc5e275f3d10197cbcb76a8439191b3dbccdc93c3dea77c1bc7268e339f30219bc20c2123d0c72edbcba80513acb878bbb7feeb33c23f804bd003d5fb8b27ed3bbd448c93c016423bdf2e041bd37c1953c4f3fcabb0235803d6a7427bd1beb883cec8b76bbf6d6673dc9881abd8175993cdd5326bbab89373d9e2104bdf5e37e3c13098ebabc7e0a3dfa74dbbc35b37f3caaf1cdbaef5a943cf67a9bbc99a25d3c3d2baeba5393783baadeefbbadcb1a3ca55ea0399e1982bbf3f5df3acbc4f73bf693cdb960a6a7bcc7da183c9c64913bf7faf23a2d27a8bc48c087bee74b223e71c55abced672cbcbf85adbe8a5b2d3e0501b0bc95701fbcf66ca0be04151f3efddeefbc034b0fbcc6bb8dbe34b91d3ea3c715bd5051babb0f1e58be358c0e3ef7a639bd5cff78bb875c0cbe1554f73d60585abdcd7a6fb9f4cb91bd81d0cd3de0dc7bbdaccbad3bfe479e3b8447a23d87ec8dbd4738e63b4fdade3c7d67973d281f95bd8b2c533c2b512ebca5415dbd59e7893f20589d3d69b132bc1211debc0b527e3f6f22a63df3ad45bcf53386bbe0ea4a3ff85cf93d9e9d1bbca64b7d3cc202123f4102123eaaadebbbe84d063d33efaf3e1486253e311991bb5ba93e3dbb02f13de9ce3b3e0e60c0bb1689573dd39f57bd03bc413e08ba5dbbc78d823d1adf6ebef324483e768c94bbe0a0823d3a3a97be65e02e3e21fe1d3cb0a4393b00000000000000007ba13d3cd027363b00000000000000008cce603c9d80823a0000000000000000fb34783c6ea898b90000000000000000b404653cdcf81bbb0000000000000000cb61703ce9376abb00000000000000002ce0f33b58049cbb0000000000000000cf8ab83be2c5afbb000000000000000083f5e7bb2232d0bb00000000000000000f5389ba3b212dbc326af83cceb0b93cbb18a9b89278abbc6b0f883d98f847bce2ab89babdd88abc7ecd853db74eacbc29e85a392bc57abc62956d3dfe4be9bc2e16de393f4b4ebcffa14d3d8d9a11bd9b41c039e957f0bb1bdd0e3dae771bbda96a84b921fd51bba209d13c45a822bd73ede6b8fedca2bae624833c5eac2cbdfe55e9b9c4113fbb7b72893cfa723cbd831989bd8af9f23c876b07bbabc22c3d7eef57bd11d7e63c410dc5b8345e1d3d9bc434bd1bdcd23ce196b53a1216bc3c09ad0cbd12afc33c1a3fbc390c63433ccae5b2bc83209f3c29b12a376f4d4c3bfbd414bc5c356d3c770affba535906bced37ec3ac0fd2b3c46daedbae4459bbce832553c0805b63b3a7404bad66fcdbc87ba8c3cdb350c3b8b59113a3646c5bc273383be433c7d3eae7959bd3322e1bb967898be6ad17f3e114d86bd089cf7bb79a783be6dbd5f3ebb1ca0bdb00d15bbc9fe4dbe85a33e3edc31b5bd380ba23a26800cbecbce1d3e6941cbbd9d8ac43b15d685bd36dfee3d88ecd9bd23286c3cb1150dbcfaa3ae3db292e1bdddee923c0c933d3decdb7b3d6e15e5bdae2fc93c099c4c3d0b826d3d28c3d8bd4afded3c876f3fbcf20c8cbc3457493fe1b0893e6f6b32bcdd3dce3b7f062b3f19d7963ed399febb4dfea53c2ae1f73ecc71af3ecce797bbcc8afe3c6f99983ed6d7be3e606779bb74fc1e3d53cde43d1355cb3e91ac0c3aa1a9293d5f1933bddf28cc3e20ffff3ae8713d3dd8cf2fbea2b5c33ee711153af1b0453d1dac8bbe00cfb33e1566f83a6738423d9fb595bebf628f3e50435c3cbf8f28bb00000000000000007cf26d3c6bb293ba00000000000000007dc4553c3ae285bb0000000000000000d576423c7041c1bb00000000000000002f9fca3bb998e6bb0000000000000000a12dfdba3e5d1ebc0000000000000000917560bc0e3f0cbc00000000000000005e16e0bcdff21ebc00000000000000009f4142bded46febb0000000000000000e6a094b93b3953bcbfdc1e3d9177b63a659d96ba4c078abce42e7b3db41ff0bc3c5f0db967f555bc6507573d4babe7bced543bb9cb1031bc4a81473d8b771fbdcf046bb793b40dbc31070a3d4caa10bd078399392f1887bb851fd73c959a28bd130d883ac523deb9a373723cb9751ebd7a9816b9e443003bbda45b3b40b819bdbe3783ba669a8636fe7eed3bcf402abd222e84bdf1130b3d930bb7ba5da4003d2b8d4cbde6b4023d96855c3be58d853c339e1cbd73dbe13cf2dedcb8faf4193c0642c0bcb843c63c750fe1b9571519bb70986abcbbcc863cc22cd6baa95cbeb90beaeb390fde5b3c81771cbbcb0c88bcab80573cf110b83bc2b768bbd20b8abc736da53cf7a6ed3a7d0630bb54a0d1bcec98d73c45fda5bbffc721b984d2b7bc053369be28b8943eb755cabdb23e66b9dc0769bef9bc893e17e0e1bdd5881a3ba01a38becd71523e1af0f7bdd1bb0f3cfdaffdbd47b5243e7cff05bed5ee5e3c4b5fa9bd556d003e311102bec3f9b73c03ca57bc50549a3d81c50cbe372ddb3cab7fbd3c0e15483d583506bebd390b3d9c3e8f3dd95c963c329601be59af243dea64913da24caf3c0878debd8d56273d248623bc5d4fed3badf9003ffe19043f888ec2bba14bb13c1b0ec03ea7440e3f6c3d58bb48efd53c13bd783ec458193fe35cf93842e4043de1a1aa3d6054203f41fb5cb88c32e23c3fb75c3c0b67123f2f978a3bff36073d6cdf0ebe30d2153fdc71d43acc50f73c96ec44be014e013f9af4973b4e5eee3c3dd982be5c8ae53e6d0c5b3be16ff63c1dbe87be6da1ac3ec3d04d3b3946e6bb000000000000000053a9823bb609b6bb00000000000000007af3d5bbf665ecbb0000000000000000ad6d30bc321a29bc00000000000000004dc301bda87817bc0000000000000000b72c14bd6fc941bc0000000000000000216473bd43c113bc000000000000000094dc99bd347f10bc00000000000000009bfec4bd3765deb90000000000000000e2a4c3b90d073ebc3d97223d2b1688bcd957d53950f04bbcfc71413d131309bd76d01b3999790dbc0b27163d85f1e8bcbb644f3ab56eddbb6892de3cc4acf0bcc03e683aa0749cbb551ca13cf0aff4bc2184753a322566b9df0ce23be4c8d7bc6033073a5716233accdb823bc644e1bcaa9a9f3922bb1d3b70fcf2bb892aafbc0597b3b9ebfdcc3a9748bfba4ca6e2bc523e42bd0db7033d675c2d3ba8092f3c9539fdbc1293ec3ce3d4f03acdce243bf46792bc630cc23c72511bb93f9549bbd2049ebb7bc87b3cabe2e9ba13acf1bb4e0ae03bdfa6393c81721cbbf2674ebc56ba893ce74a8e3b38ea4dbb13d06ebc27f9d23cc9653abbe14a0fbbda8690bcc5b8e13cde3fedbbc316cbba25c69bbc3b9ef63ca32f31bc451938baad0ea2bcf00d29bedad7853e86d208be28a94a3cd9ab0fbed99d4f3eee5315be42526d3ca376b9bdf669fa3db6a518be28b4a23c50833cbd210e893d587717be2ac7e63ce1b60ebc9a69d83cdd3917be274f093d22a6e53cca24e3bb7de20fbedc24243d33d0593d731ac6bcb67502be94763c3dba429a3d43690fbd7affe2bd4ed7463d9411913da66a92bc893db8bd355b3d3d08a6acbb45cd973ca18e853e5c7d4c3f8738febacf23b93c0dbf153efc525b3fef7b8e3a6801a53ca58d3e3d0b32613f4b4e843bbb8b983c6e6322bdcb845a3f7767ad3bb855a53c921cdfbd9df24b3f97058c3b97fb883c1ff91cbe0c13343f0593683b71c6843ca0913dbe7b4b163fe68f853b8e695e3cd1d849bea9d7e93ee0a4893ba9645d3c8bfe48bef43fa13e0466b2bcaf6939bc0000000000000000a784cdbc81591cbc0000000000000000cda916bd62b626bc0000000000000000e1fb48bdf68f3ebc0000000000000000a77784bdd9b730bc00000000000000007e5aaebd62d40abc0000000000000000aabfd8bd0c97b5bb0000000000000000456a01bea70952390000000000000000a0b30cbe7ba1053c00000000000000000449523ac42a04bc4b1ac93c7caa94bce775843771288dbb9591a93caa09a8bcf5c69139b0a83bbb74d06e3cde8e59bc8998d23a08ceecbadb6ac23b2e81d5bbe19fcf3a91ec533ad5f08d3a0107b1bbdbd8903a5160113b7965a0bb9aa0a9bb36beee3ad3825b3a1c53bebb6f46b6bb23c42b3a0c3e7a3b59d93bbcfea513bb363ba63a68620c3befae3ebc135e01bcf9cfa6bca9d0be3c76d8d63a321dc33939b8febaa089883cd6c664bab54bc0bb14e2be3badfc2b3ca42a12ba1bf0debb855a6d3cbe51a23b9ac749bbc30e13bc565ea63c1e3778ba0aad9bbb5e8127bce6ddd63cebf7e2bb23367ebb1d5a43bc8827d43c0ec224bc76d919bb6b0526bcecfbd93c20bd73bcdd5d48bbe8752abc6428c73cb3857dbc3e36bdbab29205bcb8c3a0bd0fdd1c3e65c713beb518bd3c28b827bd637b583db03d1dbe0ce8f03ceda0babc88d970bcff5e13be307b153db7da173c3ace8bbda03f0cbe906e233d13e2d63c0476b5bd4efbfbbda592313d6774313d05b6c8bde84ae0bd802b463d9758413d2e44aebd045db0bdf895433de957583d450c97bddb5684bd1b60433d91c45f3daf3d3ebd2acf4dbd61e3313d8f684dbad35b433c29ec943d19f98a3f4891253b1f7c2a3c030dbdbb7f16943f29eed03a6bf9243cc91f0dbd88818c3ff6e2873b6c82d13b3b40a4bdd1d0833f5c6f983bf7fae23bf881c6bd6924643f848d863b3048b63b08dde4bd3b1a3b3fd1ebe33a13d5663b8881e1bd49930a3f75ab0e3b5bff443b531fcbbdf4e2b93e9a44203a2d900c3a3318c5bd60b1513e4c3257bd7d5124bc0000000000000000267483bdbb2f2cbc0000000000000000d1a0a9bd3bb227bc000000000000000003cfc0bda51914bc0000000000000000c72ce7bd09cda9bb000000000000000078fb02be4ff9b1ba0000000000000000688216be3be4d63b0000000000000000737124befaf6363c000000000000000072a71ebee965993c0000000000000000e898823aaadd29bb0fed053cd71222bc8d18db3a9cb6e5b91cfb0abcd006b73c4eb0013be2cfdbb9087e11bc55f7e93ca2d1df3a3379a23a05dd2fbc9276f23c57d00d3b26ff8c3a6f693cbcdc20e13c8f681c3b1c0d143a734d45bcef9ec23ccde91a3bedc6e03aef982dbc3d5a703c0717dc3adfbbb7bac5e3e5bb0099dd3bab98f13a20ba8bb8653928bcbc5cbf3b5d7f2a3c06b5c63b54e580bacc6b87bbb4fb6d3c61f1ab380e49cbba04426abb5a17923c31763dbba1493ebb605ba8bb4867ae3c84a0d7bb89ba33bb6b6fb7bbc67ab43c8c2627bc086468bb6fe3bebb6354af3c057349bca9f125bbefc5a3bbc1149f3c8b4976bce8fa4bbbd8f7bfbb35963e3c95da5dbc7c3c50ba828365ba7810363cd19a70bcf4cc1bba717b21bb4f09dbbb2551a3bcf6e2f1bdc1ff053d964dc43cbb0017be2064c5bd9996083d4952d03c588748be7ef2b1bd3da10a3d644c053d939d57be3c069fbd6850173dc6740f3d77e54dbe9a9780bdb9671c3d4d4e093d85502fbe19e137bd7238153d2e97f33c9af2f9bd3990cbbc358a083d0871673c4d7177bde3a7a2bb6c26ea3c8b07ac3c12ae20bda37b953b4834c73c57b5953a2097533bd6a65ebd4c9eb13fb9db83ba5cc0f4b9ff8c5bbd2a14ac3f07ee643ad7a2253b0af47cbd768c9f3fc04d7c3ac644553a0a6681bd4e5f8a3fbdee123b114fccb9e37667bd4518603ff3c97039aa720fb9f2783dbd0175253f1a1b713a59fbc7b86b290cbdb5d7cd3eb9a983b630553bba346a1bbcb26f213e08f8f539ad5e54bb052603bccc28123c6e10e1bdd60577bb000000000000000031e8ccbdfce0e4bb0000000000000000e837e2bd61dd2dbb00000000000000006862f2bdd291cdba00000000000000008ff9febd74433e3a00000000000000008f8e08be0919fb3b00000000000000001df10abe5257553c00000000000000002ec208beff7a9a3c00000000000000001a8a0ebe0b87f13c0000000000000000000000000000000000000000000000002c672a3b56b239ba572816bcee58e63cff0a323b1a383ab95cba59bc23d92e3d484f493bdb723c3a26e84abc2da61c3db7a1413b002334b8e8574cbc6753183d26765a3bb1866239863855bcc970083d7bdb043b393380b90e5835bc9a81cc3cd735173b424891b9c695f1bb3976813c000000000000000000000000000000000000000000000000000000000000000037f3ae3cd7ea22bc9a001dbb8a32cdbb879c7e3c4bdb1cbc9ed1ffba060a82bb0a6c8f3cb5194cbc4e993dbb82bf96bb04b05b3c0e073fbce97d2ebb87cd4abb427f0e3c67ed2dbcc9d430bbd6de46bbbe90793bf38813bc6710dfb9e046c23583fd5fba128303bc380b19baa903a2ba0000000000000000000000000000000000000000000000000000000000000000d124303d1f9977beec9afabc82e8bf3c9bfa263de4fa86be842838bc5df9933cc693113dfae380bedb3211bcf959a03cb7530a3dd2a067bebfad093bb0278c3c90d0d73c6b8e39be9c92403cec9e613cc0a25b3c3457f2bdc6d8a83c1b1a063cc6c7a53bec5a77bdb3a6fb3cf944913b000000000000000000000000000000000000000000000000000000000000803f28fb103bf3681abb3d47c7bde5ccb23f1dc7973a503c92bbe89b65bd5c52963fc5d5993a36fd5dbb3c6937bdd6ef7b3f8b85033aa40094bb7e72fabc396d423fa28c1f3aa8b04dbbb79359bc35aa033fc6a072bafad233bb6ee61d3c2ff4863e81e03dba85ae62bb1ecdd53c467ec93c0000000000000000000000000000000000000000000000000000000000000000a9fdd6bd9481553b0000000000000000164ca6bdc6a67f3b00000000000000006540a9bd1fd3ad3b000000000000000074a3a2bd9d7a023c0000000000000000227796bda9292f3c0000000000000000c9da85bd5f885a3c0000000000000000737489bdce03a03c0000000000000000000000000000000000000000000000000000000000000000000000000000000055e3603b15feb13a09622a3c620606bbed7b383b488eb43a65e8173cdd6bcdb9934dfc3a1626f73acfab063cccc86e3a2966f53af102973ae20a013cc796923ac329d838c925d33ab0a8993bf524dc3aa523cc3afd935a3a47c2243b5666ce3af8d9d33a5f3ae7ba3131913a0b16c53a000000000000000000000000000000000000000000000000000000000000000008810ab9bbe996397a34243b9a5bf1bcb2438db909a8613883c3183baaccc5bcedf6e9b86d9507b98e92b23a7fb6a6bc6e4ccbb902f23dba0246be3a99ce83bc57c411b9169a543830d2013bddd843bcc8c1fdb9620ac0b97414063bc7740abc1b3481394658a2ba34d9373be67754bb00000000000000000000000000000000000000000000000000000000000000007a465abd2a5737bcef807a3ad2fa433a8af950bdc4632bbc3a9ef83a889b7739434c2ebdad8819bc8867ea3ae2f31a39294a04bdc7ed0bbc0879c03a905c0eb98fccb4bc612d02bc0fdfba3ade4c18b989fc31bc2c0a03bc9079393ad76e9e398bc1a13bf6fa12bc097284ba60dbac3a0000000000000000000000000000000000000000000000000000803f000000000729e2bb1211d6bc8b93873f038000bc99bfbcbbf2978abcc4f0623ff627d0b8643dadbb1d6966bc9917393fd487573b399985bb199875bc79df0f3fa46b743be27b37bb141f8ebcffb3d03ebc6f3a3bbe6f8cbaee66b2bc31d7823eb24ac239962d2fba36d3e8bc0400db3d298e19bb0000000000000000000000000000000000000000000000000000000000000000f69494bcd35a583b0000000000000000f95d58bc5743343b000000000000000058cb27bc993fe73a00000000000000005793b9bbbaf2793a000000000000000076fca4bb0732823a0000000000000000caff58bb94434c3a000000000000000087b091ba5e45043b0000000000000000000000000000000000000000000000000d29423b7ab803bb7cd1143c7d2c82ba6c2c923bb88ce0393401523c9ba336ba0e42673b82f1b53aab4f543c4317b53a7f99443ba2ccb63a8f2c3e3ca0433b3bab7fe73a8514493aff41133c0cd84e3bc8765d3badde0b3ae759e53bb3ee533b9494f53a3672d7b9353f8d3b28bc453b7e590f3b966caaba6dcc9b3a1342083bbc7b4a3ac5b705bbb7d4fd39f353ea3a164eefb986792ab9698e283b4591fdbc866e63395208213ae8d8c03b9eec16bd1bb0bfb9668bd6b95e8e833b878002bd7970c3376bdbefb929fd5d3bb25ddbbcb2facc38d0b38cb9406c283b2391a7bc5c988db98152eab98f14383b948889bc2130cbb922fc25ba5d9a4f3b539743bc36a727bafc9deeb99b2c8d3ba08bf5bb1bbf2cba0b14d3b872dd033b310375bb9410ddbc53dea5bb5f50aabb071a593a2a1a68bd73d853bc513b0dbbfd85ff3a4b6a6cbd391558bc1f7692b9450ce6395ef74ebd5e334fbc5fc21e3a1a9a98392c2a14bd12832fbcfee0603a1d55ef385f77d2bcbcde2abc25a0233a989b1e393b9731bc8a9b14bc44df71395ab2ae39c1c4823bd367fdbb09da8db918e2bc3876ee7f3cca3525bb72f476bafb978138059893bb61a058bdebd6873f5574fc3db99e63bbbafc6cbd5ade7d3f49c4ed3d06f396bb78502ebdb313563f8b49dc3d85e188bb845e14bde6bc2e3f46dfbf3daaa150bb6f7503bd23f7053fd2c89a3dbca6e3ba24a10fbd043cc23e57866b3d8e74963a3f3d17bd7198703ed9c6173d9e20b13b9c1627bdf473c73d80cd803c3a3b483b5f0608bd820b87bc17e8d2b9e96c09bd9c08b43b0000000000000000b3a412bd3a9ab03b0000000000000000da2de8bcaddb7b3b00000000000000001fe8b7bc6eb1233b0000000000000000022089bcaf47c03a0000000000000000389561bc3348a43a0000000000000000a80421bc36c9d93a000000000000000016bff7bbfefae83a0000000000000000928ab7bb7fd8813a0000000000000000c93a103b684530bbd2f4f43bc953ce3a1fb4763b1c37abbaa1f3333c8639343bdb1c283bfbf0e638a62f103cabd7993b587c253b8e3b02b986db323c58c9a13b43c6aa3aeba51bba7b9e063cb2c29f3b7057cc3a4f525cbac683e33b817fa63b0a049e3ac30295ba4e979b3b5de58b3b4f6ecb3a38c726bb456cfe3a08d84f3bd21c993aa12e40bbf047593a5d69453b3abee0b927c53bb8d8d6413b5eebe5bc29c1d9b9ebde91b9d7c9b53bfaf30dbd14029739f66406ba4925803b038cdbbc19e3d837eaa403ba2584793b365fcfbc35b6a639ceebc0b92dce263b35c595bc09a9d138fc7f0fbaa9644f3b97f782bc4b90f6b822c1b9b9232f413b580230bc896342ba0e2e803a95dc5d3bcb2b0bbc4a8a86b99cb9b8b94877103b48819ebbe0fb80bc3b3a6ab9d03e0bbcc1f6453a233b23bdd70a1abcb2b0e2bb282cc83a81342ebd07193abc9f2042bb9772653adf722bbdd6b956bca4c112bb85473339e02ce2bcfa8b18bc096f83bae40d6b3954d1a8bcfce414bca9fa4eba9de20b3a3b5703bca362a9bb6dee1fba2d7b42398860a13b118a4cbb50bddaba3c5efb38c928453cb17af23af6e868bad63d8a387ed70ebb30016fbd0d77653f8a338b3eefc8a4bab5468fbd6f21593ff315833e1ed70bbb8d4351bda144343f438c663e4fe621bb373d4bbd0827183f5433443e4770a5ba654421bd03e6e63e4b411a3eb0cd263a693032bd0835aa3e1f02ed3de638103b19831cbd525b543e651a9b3d6eafa93be97d30bd9c18b83d5dfd1c3da64b8b3b2c7bfcbc78170ebc66b98e3b0aa22abd8dae893b000000000000000010824abd4d4db43b0000000000000000f61d13bd0d0e5a3b0000000000000000c0a904bd5c26f63a0000000000000000e0c9b8bcdad2b13a0000000000000000deeea7bc4dfecb3a0000000000000000594678bc83d8d13a0000000000000000ab095fbcfc43d83a0000000000000000d0d70dbc765d8c3a0000000000000000b2cede3a5b7d45bbe4f7a73be603be3b4076023b3b4051bb3806113c0b45c63bf6001e3bddd12bba8d421e3cbda4e33b6c9e0b3bd63b2cba6f73123c71d7f03b6953843ab1a30bbaab4b063cd68c0d3c41e9c03afb70b5ba3ca8c73bbe1bdb3ba522bd3a9d5be3ba6c4f813b632fb93b1f0f623abb6504bbd8880d3a90008d3b49cfe239863c40bb70c2b23aad3c733b16984abaf38e2fb9facc003b9240cebc64eeb1b9c4ae7db91c9cb23b8711fabc177260b628e6a0b9a8728f3bd1afd5bcc10f1d3994187fb918f9663b59b9b3bcf081acba5cd93538ccf9733b745a8bbc290b113a9b27c6b9b0f94f3b632267bcd8af3937e84deeb9ff0e403b2c192ebcf4160aba59205aba90231e3befacf1bb9763993909de90b8db1cde3ab6b4a5bb940c46bc44d6ea3a123527bc3c605939b08204bd09d709bc962c1cbc07fb963a71f11fbd95ef64bc42f0bebbece6423ab9a915bda2bc65bc256a79bbc55b0a3ac8d4ecbc589261bcaa1e82bacdd8143a24819bbc8d2cfebbe3c5f5bada50513abb0003bc421d56bbf5cf05bbaafba239a461723aa5985b3bb6281cbb8c06a0b968f20e3c8bd5c73b98b47ebac8a683b9936788bab68a64bd80dd3b3f988bd83eaa16143a871290bd77f4313fcaefcc3e2d352eb9a92572bdfaea183ff8d7b23e6f732f39c0c254bd9899fb3e1bdf953e9667c43ac61238bdbd2ac33e386b6f3e11b9093baa7433bde9608d3e26b7323e4911663b708829bdcea4303e0711ec3d5843d33b1d8012bd46629a3d7c4f783de53b793b539ae2bc92b8c4bbf9c1f43b6ebf41bdf2e01f3b00000000000000009c196cbd96f27c3b0000000000000000df1c3ebd0bb80f3b0000000000000000e9a01bbdd1b5af3a0000000000000000d093e7bcdbdd6aba000000000000000092bec7bcda068db900000000000000004369a2bcba1acd3a0000000000000000f8df7bbcd81c4e3a000000000000000095092dbc56972c3a00000000000000001b8e9b3af73d27bbe1e2743bf6a0db3b22171e3bad21d5ba92d8c13b1b4e0b3c944cd63a9bc353baef5cd83b0bf3043cc77f133b625f3cba6b53e43b2cfc1d3c96eb3cbb4b98823b5cb86c38a20c313bd5c3b43af55dcdba86f39d3b1bb1013c2c0c8b3abdc378bac09a103b353baf3b26b9a83a866c19bbaf87db3a0f6a923bf9f7a239419426bb3072373a6150713b44d366ba21d41cb9d59f133b43dcb2bc9571f9b9c2b79d3888d0913b6e9ecbbcdbf3643a33088e3851e9603b429aa0bccafe823a0e1000b795a5653b682b95bce16c3cbbb28f70bb41cc89baf265e5bbf4b33c3a1a596839deed4b3b0adf3bbc471d2439ea206eba4e75313b997decbbfb0dad38f8caebb9081b153b8236e2bb064a5e39b6011eba0638923ac98da0bb7b2445bcfaf5173b236530bc3bb534b9960aedbc31d021bcfda62fbc7d71783afe9f05bde17b81bcd740edbbf5a5b43a12f80abdf6268cbc9329a7bb3ec1873abada86bc6110bbbbc609cf3a5b563fbbdf979ebc06dcf6bb427442bb87f2953a2b2215bcee69e1b9eb7d16bb44a7f83a139ac8b941b1c23b97121dbb55669d394146993b07be223c0cb498bad99c07bac491af39cb8056bdfda1133fcccc133f0190f53ab2fa82bd7b240a3fff050b3f85d79b3a067651bd0c1eeb3e9524ee3ea886db3a41354abd6ffac43e9cc8c93e079313bb1ffc1cbd24f9943eacc7993ef901503b49b124bd29095d3ed74e6d3e9048263b49480cbd3eb7073eaa80193ea131b53b435c09bdb13f693dbdbf9d3d966e7c3b9ca8c0bc4391f6bb46d90c3c33f553bdff4d6c3a0000000000000000f10a7abd1631e53a0000000000000000ccaf3cbdae6db03a0000000000000000df9726bd56deebb70000000000000000d814acbc195c933b000000000000000096cddabcd16900b700000000000000000c589dbcc4e3a339000000000000000040ff8ebcd3c8613a0000000000000000705139bc5c1827380000000000000000fc2d803aca7509bbdfa3ee3a77be043ceb1b593a5ee98b39db530f3b9e71383c0af2c43aa27e8fb8ad26ab3bae223e3c58f3ef3ac279d839461b833bd5243e3c82feae39cd783eb90c70723b26770c3c99ca313adc4322bab569753b39ef0b3c7c81da3a5b9a3d382b490a3bb52cc53b78a80f3a5b7101bb30b5043a891e883b4caa8f3994add6bafdcf80363b646b3bb6a79aba0fcd4c38e6bf2a3b500e92bc43600cbb8021e2b815e3ad3b6d689ebcdab589b96928743a8f8c883b578886bc2c6256bab8385d39143d813b72a256bc5373d03a32e6f5b979a6a63bd1a24ebcbc09813a92b906ba1dc4273b623d0bbcec24a739da8f93bae63c093b13bedfbb4109e937c05f38b92a0a2c3bb28ba0bb2704a0399e0358ba18449d3a8a3269bb396d7bbcccad84ba50853fbc22918638363705bd6a1393bc0af55fbc81af683ad37615bd4cb4ccbc82a013bc7908953a19080abd39c8c0bceec2d5bb6a61c73a5a40dabca1729dbc17e56dbbf5c6f8b9d89ba5bcac7b19bcb16486bb39e8833a3b7b4bbcf7326abac80a7fbb3defe739e7f590bbb7a9103ceddf54bba439023aa4c5843a2053563c8530a5bad35bdcb9ab760b3b266745bde461d83e00073c3fdbc09b3b3d1d74bdfa3ccb3e2677333fff13733bf96153bd19eeae3e2f3d1a3ff151703b958a3ebd5647903e08a1ff3e1321b13b461d1ebd937b5e3e6d3ec83ea4a1873b607410bd15b61e3e9c5b933e99d59b3bcdfeffbcc2e7bc3d700d3f3e8903cc3b8d6ce7bc295f0b3d9fbabc3de9778d3b03c19fbcb64a45bcee8ad93bf86a64bd7c4bf5b90000000000000000e1af8cbdc9a7ffb90000000000000000807b56bd405d83ba000000000000000059e029bdc19099ba0000000000000000136e00bdabcdfbba0000000000000000981adabc92beaab90000000000000000829fb0bca1d5bf390000000000000000f99d96bc86f6833a0000000000000000c91d39bc8d6314b90000000000000000c6d7a63a73c881badc278d38fcd2193c539c393bdb5038b9647b0f3baddc503ca55e453af4f0223a0547713b0d6a383c35477d3a3072453a3c127b3b4281483cc591243a1c19b938e6553c3bb3c31a3ce79ca73a95eb5d3a6b65e23a97a4fa3b47ac83387faf48ba55abb13a82a2b73bed227a3a0f864eba8e30e2b9f76c523b3c0db0399c44a2badd3f83ba51eb113b8fe50abbc0e1ac3967b2573bc7b549bc5528ddbaa13c0e3ad1c08b3bc52a5abcbc22a5b6da86a139673b6b3bd7911ebc44f3dd39a9fe4b3949ce723be01807bcc2268a3ad15f36b78220173b27e3c2bb1585693a7e799e3a8f5a743bc5d2c0bb1f1d263a313e90b9f212003b3c7f6bbb11648439e45db0ba3e15223bb7712bbbc34905388017afba1abbab3a656006bbc008abbcebeb0fbc209f50bcb8950339b2ec15bd7093ebbcfe6d6fbc7ca1503bde4c0abd6d8603bd13891ebc939afd3a582d0fbdf6a308bd6e7a05bc9370e73a74eec9bc347fabbc70d1b8bbd9e1bb3aa893b3bc03136bbc90fbc6bbbb47b43adef253bc862f58bb269c97bb1196983ab24df2bb6f22193c7de39dbbf5d7a43a0ea1d4ba1f347b3c89dd1bbbd6c0e4390ecf893b769e2bbdb7f88a3e877e653f3555f13b8d8354bd14dc803ea7255a3f450f913b6c8f20bdcc375e3ef1c7343f99d0953bfa4418bd5c0e373ee57d193fe58c633b7664e7bca03b0a3ea400ea3ebcadc03bcd83e4bcc458bf3d4061ae3e9fb2a03b3461b2bcf5ab583deba95d3e984fce3bd238a2bc25041c3ccb0acc3dfd26933ba6745abc23b695bc269eb8ba0c8d6ebd6fa706bb000000000000000093018abd125ec8b90000000000000000283633bdcb9a17bb000000000000000037aa1abd7e8245bb00000000000000000d94d0bc190523bb0000000000000000d781c0bccd83caba0000000000000000402e93bcc707d7b9000000000000000059708ebc4f1d633a0000000000000000015935bc1fb7923800000000000000000b286e3a8d3104396e5b7bba96322a3c1e88793aac3a023b57da0c3b6b0a5f3c2f1b2c3a535bd03a448c3a3bf8a5573caca9ea3ac03a9f3ab4f3353b5e5e403cee49b3398edb8d3a30b01c3bdbb3183c4b9e92391ad2373a2f06df3aa656ed3ba666293a144e323ade8c383a608d953b3d04abb96f0901bac3c271b80da6e13a46ccfc393d488cb9c579e9ba981b363a3627f1baf88e283a4763633b1592cdbbc24c97ba20fbda3a4428873b6aa366bb1644393894bf313a4a76603bf5b943bbd1d8953afe952e3a8db5453b669d25bbb7d8ba3a3011a53942ef2f3b727ff1ba966eb23a3ddb7eb91d491e3b2887a8badd9e7c3a238bb9b87a8c0b3b366231ba2ede83390b6e57395698813a364c933a8fb7ac3795fe85387cbc973ae09a3fbace23e6bc21e5babc75f84cbc7f33a9b915b023bd52da54bd5b077fbc2b39463bb5871bbd86995abdc4c544bce15b373b5bb409bd5ae33fbdd77d25bc89451d3b74f0d3bcc6d607bd1174febb2e85313b0526adbca038b9bc2a9601bc5e9e243b7cd46abc60ad0bbc75a0e9bb50d40b3b9eec03bc29a7c33bfe62e2bbd303fa3a009967bbe704873c24466cbb05accc39cc28ac3bf43107bdddc5fb3d99a2873ffe6fea3bfa7017bd2521e73d314e7e3f6099b13be84df7bc45e8ca3d9f98563fbde79c3beb09d3bc1de0a43df9cb2f3fafc5903bd1bba3bc0b1c703de6c6063f6976933bd2048dbcef2f0e3df563c43e8bffa03b4dcd55bcfc78233ca009753e4f17993b19d10bbcc83469bcb727d23d34c7953b5655d1bbb2e2dcbcc0614bbcc6dd54bd3ce498bb0000000000000000f7f366bd457156bb0000000000000000c15e0ebd9fae8fbb0000000000000000cb03cebcf9c98fbb0000000000000000f5958abcf6ec54bb0000000000000000737974bc34131abb0000000000000000d71a5fbcebb61eba00000000000000007d3f74bc46e2783a00000000000000004b0933bc982c2c38000000000000000000000000000000000000000000000000d9786e39778fb53a45eed4b9e5ad343ca4df663a5dd9073bfb1eff3ad153123c3df411ba02fce33a9d5afc3ae60f013cddaa523959d4a73a32939a3a4872c03b067ab839e8149d3aadee463a817c943b48865039dbf7963a449c09b8f4de133b40de36bacf2db33a79fba4ba305523390000000000000000000000000000000000000000000000000000000000000000968ad9ba25bb503b4d2f893be3f7813a4e499739f9341d3b8b46123bf99cf83aed529e3a4be06a3a4a751b3ba112ce3ac7f3b73ad34b1d3a12b2e13a72dc843adb9ec33aaae8a83a4814d73a5ee7aa3ab1e6a03accb83237d2d6963a5819d33a2902db39478b6d3906f4fc3a9639013b0000000000000000000000000000000000000000000000000000000000000000f00c07bd7c965ebd925d50bc5dd4083b5168e7bc0e0551bd672922bc4aa0243b406fc3bc3f192ebda8480abc1a94313bf6e49dbcb1ff05bd1c5af1bb762c3f3b92ee73bcc00db7bce5c8cfbb21ff253be66c28bcab5532bc4f51b8bb8a982e3b7b6bdabb9b23213be92fabbbd2750e3b000000000000000000000000000000000000000000000000000000000000803fc6f39e3b312d9cbcd13b3fbcecec873fe846853b6fab69bcf034c2bbbd01633fdb04723b7b6e3bbc3778c2bb800b393ffb63503b6a7913bced13e8bb9960103f4ecb553ba368d3bb3c685ebc03e5d03e3e6d463bfd7b55bb821da1bcf313833ee31b373b95b04dba08d3e4bc1a6dde3d000000000000000000000000000000000000000000000000000000000000000016eecabcee5dc3bb0000000000000000e07842bc5da898bb000000000000000002e2c1bb9c3f74bb0000000000000000567a6ebb922144bb0000000000000000eea542bbc29afdba00000000000000007e0c86bb02c5d9b90000000000000000446bdebb7c1b5539000000000000000000000000000000000000000000000000000000000000000000000000000000004109153b525cb2ba96d7203ca12fc9b80645143bd14840ba2c530a3cc110553adcbe6eba1ab3a4390dbeef3bb71f013ba6eeac3a7ba83cba202cc93b20d2173b75ddbd3a3f7dccba45c39e3b59cc293b41c6b03abcee12bb33ab5c3bac07a43abcd4393b907358bbf5371b3b1f98983b0000000000000000000000000000000000000000000000000000000000000000af3312bb768769b911de8ebaf146b8bc8d41cdbae4998fbadcf904baf27b99bc27ebeabafa2338ba8bb9afb60def75bc1a4cbdbaf25534baec4d59ba9ca145bca4ffbfba69cb40ba39a8a6b9a7dc1ebc17d507ba6d7a49ba432c8c394151eabb31c3b7bafc8f8037d5f8d6394552b5bb00000000000000000000000000000000000000000000000000000000000000005ce299bce2da80badfd445bbc3a17dbaa0ba9dbceb1099ba8938a2ba2f3cb6ba7bff70bc42767cba757aecba70a4aaba89d31bbcbaf29fbaa8a900bb819fcaba925a67bb84e589bab64f23bba63dc2ba27136c3b2abcd3b902846dbb776a88ba064a483cb1c61cba2b1391bbc0b163ba0000000000000000000000000000000000000000000000000000803f00000000805e09bcd7df47bce8d8763f1ec0803a4046f1bb41c423bc72b1513fbab6913bc5d4bfbb348e18bca46b2d3fc49bbf3bccbbbebb8adc36bc5cea083fb8d1be3b70fda4bb1bfc5ebce11dcb3e6ce9b93bcef97ebb7cb688bc90f1843eea6f5c3beaff35bb73a5bebcd171fc3d9c675f3b00000000000000000000000000000000000000000000000000000000000000003bb166bc4888233b000000000000000064b740bc97448e3a0000000000000000ee250ebc72c8323a00000000000000002afae1bb5a64e0b90000000000000000d5c8b8bb8e43c1b90000000000000000600fa3bbcbd5cab9000000000000000071baa2bbae8158ba0000000000000000000000000000000000000000000000008097c53a1696a0bbc9ea1a3cfb72313b14cbd43bacbf95bb59c2383c44e1f23a00523a3b96aa50bbb734393c6f4f733b8793393b0f6132bb68c6243c3aca9f3b1e805539f28363bb88520a3c5847c23b659b073b23ea71bb1d78d43b923fc13b2a25ff3a0d8d98bbd948903ba5f9bd3b8cb2353ba35fbbbb35f21a3bb25eb43b6656883ab584b9bbc5b0bc3ad367b33b2b3a1fbb365b51ba4544b8ba759acbbc9a6621bb756205bab4030b395a5effbc0c192bbb9fed57baf7b34bb90290d9bc06ddddbac1d161ba9bcb05bab378bbbc3cca10bb6715a0bac24df9ba5d0d8bbc913bc2bab3579ebae15b0d399b7880bc6bf496baf5f60eba7730033a833a4ebc75a168ba4f3c36bac74ed13abf1530bc64e4feb94bd38a39f40ba1395ad902bccca9cbbbe09fb23b5e0fcabb65819dba9e21a6bc59cd493b3243b2bb0d39b5ba2412a9bcaafff03a0dca74bbf623daba82008cbcbcf6bd3a72db51bb4aba6cbb3ac609bc31681f3bd09a87bb121f7cba656738bb4150063bc71782bbb6591ebb0bb8c33bcf3b3e3b37d898bb943702bb4475723c4bfa873b506cadbb0edd13bb64248e3c3858c03bd44ba5bbbe94c8ba295e01bcdbb5c6bceb60773fe0a6053e00f805bcb608f2bc9b0f613fa057f93d324c00bcd0b5c6bcfc5a3f3f20dfde3dfc5cf3bbfd1abcbc6a3c1e3fc10bc13d5381d0bb4daeaebcd013f83ed3439a3d97aba9bbb204d2bcdbb0b83eb4f1773d74824ebb54d8e4bcb897703e993f2f3d7e673eba381502bdff39e83dcfb2ce3ca9e04bbaea58ccbce3333f3a308df83b2d00b7bc6ab81e3b00000000000000008ed7cdbc1585333b0000000000000000c4fba3bcb6e78a3a00000000000000003fcf85bcf4d4b9ba0000000000000000884638bc0665b3ba000000000000000088993dbcb69bb6ba00000000000000001c071fbc3b458f39000000000000000033610abcddecd8ba00000000000000002227edbb8bc5d0ba000000000000000095bdb73a555ccfbbc88cf33b20eebf3bd399533b44e0d2bbf067293c55b2ed3b9b67ff3abc9a94bb732b1b3c566cf33bf841923a7c0ca2bb31221b3c3e72153c9d07713abbeea4bb78dce03bf60d023c8612d93a48c39fbb1729d33b098b1c3c2d23ae3a4004b7bb8baa813bb5d1023c1ae7223b1d11f3bb4132f73ae0ef0a3cd47ca13bf40569bb04e4073b9170f33b6a68fcba3b6695bab1ea3dba1c80bfbcffba40bbdfe2b3bad475823a58abfabc9e19faba492aa9ba758a2c39a80bc6bcf943ffba3cd1f7ba96c69c39db6ec0bcaa6f80ba4dbae8ba5e2781ba83a48cbc5e2b7bba262fc3ba8da107babe9687bc90a083baa241a2bafb5f8e39be6b5abc31934eba695b3dbab7dfbe3a200b5fbc10bb203913467fba925965bbd1f7d2bb89ec3ebb0e641a3cb936e5bbf2e50abb61b95cbcecdd013cec17fdbb922c19bb32126fbc6a20993b2696a7bbea7834bb1fbf5dbc28cda83b7df097bbda7b53bb2305c4bb2fefb73b18186bbbe90352bb69dd82ba7f33f43b744c8fbb186b52bb9571a13bb538033c358c92bb229a44bb1265563c08d22c3c938ebebb72fc47bba949703ce415323cf52e7dbb56694ebb58e8cdbbd43cefbc377c533f8223893e3025d5bbbf501cbd5c43413f48a47d3e3beeb7bb50aff7bc411a233f92d95c3ee64cbcbbc08b00bd7b25093f846f3d3e9712a1bb627ed2bcb26ed53e7369163eb93e8fbbde54fcbc93b3a03e4a04ef3d1c5dddba8203ebbcaba1503e41d2a33d5896633a0c3909bdd782cd3d0db3423d9e8f5fbbaa04aebcde525d3b6986493cb6c3d1bc712b0b3a0000000000000000925e02bde98c933a0000000000000000d913c1bceba0aeb900000000000000003cadb0bc5c10a4ba0000000000000000aa0977bc610213bb00000000000000005fcb77bc57fa29bb0000000000000000e1e241bc775a29bb000000000000000056c742bcb9161ebb00000000000000006dfa05bc90b44ebb0000000000000000326b633989efc1bb2a0bc83b76390b3c3def313bcb7ee7bb30bf013cfe1a2f3ccbf7643bcc9fc3bb6e540d3c728f3b3c81c8a83aa3ded4bbf9b9ef3b39b4383cba0f803a1f94b9bb54e2c63b3c36353c960ce73a76b4cfbb61ac923b7739323c299bfb3a19d6e0bb641b423b2e1c263cd44d1c3beccaf5bba918573ac387213caa2e193a08c2d5bbbd5f7c3985f70c3c1a5b0dbb45edb8ba525b81b9c5d8b0bc71b642bbe9d5efba195c703a8b5ae8bc5a72e7ba3a85b2ba77b5303aab44cebc6a75e0bae382fbba059699b91ffebbbc955d40ba4e8301bbe4403eba914997bcf46f12ba78aff3ba9d74bf38fa3c8dbc65ddebb98fd7b0ba2ccc2f3a781577bc0f4478b8b27193ba0557433aa79469bc646eeeb7ed18b139b7ba86b9ea8130bc60fd29bbd280423caa6cefbb9e0f4abb02454abcbdff213c4d0808bc152258bb67e973bce95fe53bdbaac3bbc5b156bbf7ef60bc9d38d13b7bf9acbbc63e6dbb40e4f2bb064dff3bad6280bb372b78bb79a22abb95fd1f3cef798ebb3a0883bb57b47b3b5b624a3cb69f95bbab7076bbc64e1b3c8539813c7a449bbb14017dbbac84273c0afa793caa6171bb6c067abb767ca4bbda9cfabc36432f3fb60cd03e6da994bbf72824bd2a35203fa4babf3e32f28cbb779b13bd8ebf093fff4aa73e7a6547bbffff05bd7042e43e33238d3e6fcd74bb1c73f6bcf8a6b33ef9c2623efaa912bbc49d03bd746a853eb6102f3e218712bacfe301bdb5472e3e6d6ef23de7e8bc3a6d5a01bd5aa9aa3dbf558b3df1dc253a55c9babc05f2363b06a5863c87f2e2bc5d3342bb000000000000000093b00ebd84d27cba0000000000000000aed1f7bc320b5dbb00000000000000000f94c5bc7b9534bb0000000000000000364496bcc15c6ebb00000000000000003f5f88bc1ffc83bb000000000000000027dc68bc51547fbb0000000000000000df4e4bbcd1cb87bb0000000000000000ee4010bc552286bb000000000000000001de533a4751cfbbfe87663b05502a3c2ae2173b9ba1ddbbe317a43bca8d543ca944ba3a6facb6bbf09daf3b67c0493cce28cf3a033c86bbd964993b9f98663c7216243a90a2bdbb5c2a423b7723213ceaaa513a9bb5c5bbffba383b9804483cc1b4cb3a7482dbbb89adc73a4816273cc93edd3a4704ebbb271036ba4c18203c6a8c853a4978fcbb18ea05bb4503f73ba4b541ba0b7cdebae5e941b912b4a4bc6c4f24bbbeef29bb81fa9f3a971cc9bcec8422ba116e15bb2be0383a99e6a8bc2aefeeb8713a04bbf02ec539d1b5a4bca08498b8c3c5b1b9fb0a57b9fc254ebc4af420b9e8db0abb2e415039a03a81bca972663a92e6b3baa751e539db3c64bceeb9393a1039bbbab7db293acbc85cbc5c6c433b4b86a2baa5eb7bb8707726bc416ea7bbf56c4a3ca819ccbb3a0d4abb546b5bbcd8bc213cfbff04bcf1621ebbc44a70bcdd5bc83be85696bb0d8a87bb7c796cbcd693ec3bef288cbb6e0b84bb6b9de4bb25a5f13b9f1444bbcc3f8bbbcec196bb1555473c4c1e88bbc4468fbb62ab8e3a81d76b3c15c14bbbe73d81bbfdc1a53bd55d9b3c884e6dbb67558fbb244fa23b56148e3cd93bfaba13d477bbf5166fbbacf0febc536f0b3f2e280c3f40ea85baabdc1ebd0253fd3edbd3ff3e0fdd34bb92ba06bdb548d83e8279dc3ef48123bb044109bdc68ab43e3a59bb3e7e55c6ba9e46b7bc357c8b3ed55e913e1fcf98ba3e03f7bca430533ebf27643e5c14023a8d39e2bcb0ee073ec5341b3ea389ce3a8bb1e6bc6b5b813d8737af3d9fcfb23a5f6da6bc383bb9ba09cc8b3c4437f0bc081129bb0000000000000000e44e10bde62ce9ba0000000000000000c59ee1bc02ba87bb0000000000000000f605c1bc71c899bb00000000000000008cc973bcc19aa9bb00000000000000003ccf87bcfa4facbb0000000000000000ad6c4cbcca16a1bb0000000000000000db1542bc8fcaa3bb0000000000000000987e03bc16fd99bb00000000000000002052b93a7727bdbb16fe763a85c3303c01b7313ba540bcbb103b3f3b5d0a723ccea51e3b1a11aabb7c31683bd48a6b3ccb3cf63a95a79cbb90ab603bfbbd683c52969c3a7753a5bbeb0d0d3b0338503ca795ed3a0999b3bba344f839b71d413c08893e3b1b1dc1bbac90f7b9498c313c7b711e3b31cbc5bbc7fb1abb65e8193cdff7a33a2d57b2bb3b9d10bbfeebfd3b490db0ba373ebcbadeea853a29b58bbc366e18bb06fe10bb1e022e3b28ceaabc92f898ba79ccf7bad3cb153bc3c099bc10de71b9cf5ce6ba5ad3fb3add1189bc8376133a388f12bbf45a403aa0276bbc5586273aea6412bbbd7dcd3a90d762bc38c405ba1e794ebb69b2ac3a1abc4fbcd57f823ac2a794ba2418de3a676a49bcd8499e3a98d5ebbacfc0263a434d17bc402a1ebc0b7c423c7436d8bb6cb068bb66ba93bcd7b3e13b6db601bcf5bd80bbb993a1bcf35c2f3b4ab1b6bb462e78bbdb038dbc6cee5e3b307194bbe0fb66bbb4f140bce96ae23be63952bbaa377cbb33bb0abc01a8363cc1a077bbabc626bbc1845fbb9f75853c9df33cbb3c0b59bbed201a3a9476af3c4d8952bb169f86bbfe2f213b7241a43cdff6b4ba519b8fbb5363dabae290efbcc3c0cf3e4d932f3fecd80bba27d01bbdb09ebc3e6343213f210477b9a7400dbdf4f4a13e59920b3fd9293138b39f01bd2504863e2e6ee93e30b7a7b91d6de2bcfaab513e3969b93e8432bf3a3224e6bc85f1183ed7058d3ebb852e3bae03d7bccfc2c03de4e83f3ed0de6e3be815cfbc939e263da6f6cf3dd69c063b4e3291bc034fadbb0974863c480101bd2f7d87bb0000000000000000f29113bd14079fbb00000000000000000e64e8bcb0c7b7bb00000000000000006ce1babc5d8ebebb000000000000000022bb88bc1af2bcbb000000000000000070ac5ebc1ebe9abb0000000000000000793262bc48dedfbb0000000000000000873b2fbc5a8da6bb000000000000000096bdd0bb80a2a4bb0000000000000000daeba83a268e90bb307f88b9b855463c48ed5b3bc56d8bbb42481b3a2bac793cc22ced3a36025bbba08ade3a31195e3cf23e0f3be0aa81bb4a3ef53aa9bf733c9c5e873af67369bb98e3ad39fdf7363c833ce83a71f98cbbd36b97ba37ce3b3c49018f3af8f189bb2a0ddabaa95d113c7431153b04e894bb8cad83bb947d013ca71eb53a36c688bbf1c484bb2a4ac73b3d85aeb91d1fb3bb38ede63a77f25dbcd20115bb3a8482baa23c893b5aaa86bc46e6edb91487b8ba01653e3bda0a57bcf86b4e3ad07a30bbd2662e3bbff26dbc88b9823af32fd1ba6167933a10b628bc4958983a20fbe0ba9be20d3b79fd34bc2bc6b53a0f00b2baf202d53a324f17bcb9f78a3aec07b2bab8af0f3b097123bca135bd3a3ecab3ba90838a3a652c05bce71467bc7896e53bec7490bb74e0ffbb3714c3bce45680b5de82fdbb75f236bb78fca9bc0e7546bb331aa4bbfc4833bbc8cab3bcf66c4cbb3a656ebb655c83bbf21058bca15f413b5cb22bbb66002ebbe85638bc70470b3c357852bba97b4bbb1223c9bbc1bb533c05472dbbff693abb3a0566bbcc77b13ccb8754bbbd9a4cbbfb8ba6ba41fda83c4ed68fba5d0661bbfb21b4397d1dd7bc2e58883e0f34533f16ad173ba8820cbdfdea763e4cf5413f4ca3c33a9a30e1bc5464523e1346243f40cee93a905fdfbc5ad62d3e681a0b3fd49ba53a6abbacbca8cd053e706dd93e76a63b3ba694bfbc6616be3d0cf4a53e3126483bc4e7a2bc744b633d71f35b3e4782a23bf4ada6bc25e88e3c0abde93d3fc3593b007c69bccfc833bc1792573c81a2d6bcf13519bc00000000000000006aee08bd6e97c2bb00000000000000002cefb2bc5ae5cabb0000000000000000b0ad97bc1758f3bb0000000000000000e16241bc2423c0bb000000000000000093ff3ebccf65cdbb00000000000000006bf911bc25419abb0000000000000000a2b20fbca8a49fbb00000000000000008b15b5bb98d89cbb0000000000000000fb42233b421520bb771814bb06e73c3c798b4d3b5ec11cbb18851ab9df98693cecb3083b82c7efba2cf1b039e6665c3ccada1b3b5a7be3ba722e4e393e5b4d3c8cccca3ad97b10bb1035a5bad34a333c7103e83a70aef3bafb61cbba3e21153cd27bb83a79dc1dbb34a84ebbe452e73bcc18e83ac98323bbf4fda7bb493aaa3b5754dc3a5c303dbb97cdb1bba17b743b979ee2ba05aea8b922305a3b3abd1cbcfe9108bba4dec2b957af8f3b38170cbc622d23b9f4ef34babf86683bc2500bbc47a6483af22d69ba3acb533b0359f9bbbb19da3af9a96bbabbe5ef3a63cfe4bb2c0ccd3a71b483ba96e12d3b773acdbba0cbcd3a7d1452bac74e2e3bb1efc0bb8d347a397b994c394f11123b1637bfbb5993c23ac3c26fba4940e13ad7efb9bbd64eaabc9cf385ba2fa1a5bb3a4a36bb7659ebbc01764bbc21c6e7bb9ee607bb17c6d4bc7e396ebcc52da5bb8665e7ba4f1db5bc279336bca6a380bbc957bcbab19087bc377467bba64c1cbb0160a9bae47552bc65c6f13aa4ec45bb9b67cdbad33f17bc795c273c77a43dbbac47b3ba1fadbdbb2f789c3c88a06bbba79a05bb5acb73bb9866aa3c46cdcab9491009bbc699153b8353b7bc47d5033e5d31773fe689723bbb83d3bcdc67ec3d4710613f80b13f3b165ebcbc87c4c83d8c23403fcf77493bc7e0a5bc1917a23dde341f3f6d6f1b3beeb98abc504a753d3c2dfa3e7b606d3b84bd82bc1236193d8257bb3e67cd8c3b385964bcb9d67d3c6c74763e5ec4b83b87dc4dbc852ec7bb6dc9f73d1d1f923beef222bc5f9c94bccefdd63b663ec0bc3bbee3bb00000000000000004129c7bc0888fcbb00000000000000007a9c76bccd8bf6bb000000000000000023b125bc2e32e0bb0000000000000000e377bfbbf8a9cbbb0000000000000000c7edafbbb080acbb000000000000000075e49dbbc54490bb0000000000000000de32bcbbf7db7ebb0000000000000000744759bb79387bbb000000000000000000000000000000000000000000000000ba5e0b3be7aef139e5998dba70793b3cbc540b3b0cd345395da9e3b9c6dc1d3cdf2ece3aba1b213646a820b851c4003c9d54c43a3da473b9f95616ba9951d63b69c3a33a48dd6fb9ebb5b5ba81f29b3bf77ad03a597696ba09ef0ebb49d06e3b2c81ae3a40745abaa8a595bbed62063b00000000000000000000000000000000000000000000000000000000000000006557933a07913839f7e1733b236066bb219a2e3aa42c0f398bfd593bb4f622bb23a6973af45081b9711d273b784319bb5efbc63ac91fe338ca7e073b69c016bb0858223b0d59503ae340f63a191e19bb0b9bc33aa9e945b912b3073be9da17bb2cded93a3a3ce6b9d874093b615021bb000000000000000000000000000000000000000000000000000000000000000049ddccbc13c094bc2a318abb486cb9baec38aebcfdc592bc043a4cbbb812d8b9272f89bca37571bc5a9430bbbb5c0db9bb2450bcd9db12bcb90b11bb95edcf38e4bd26bcc4715bbb551916bb00a69fba7a57c9bbe3ea743b4aa8f9babb0ef23816c9abbb279c443c063189ba575291b9000000000000000000000000000000000000000000000000000000000000803f3883653b272274bc5b9d81bbbe1c773f327c573b787a44bcfb238cbbf10a523fde58453bf17f27bc8eeb9bbbda622d3f79f82e3bcf9c0abc978ce6bb6f18093fd6843f3b05a5f7bb111f3abc7033cb3e6d24633b46add6bbb93072bc7e12853e9a4d923b526aaebba45fa9bcc602013e0000000000000000000000000000000000000000000000000000000000000000431c10bca9ac02bc0000000000000000885751bb168fc2bb00000000000000004d4439ba0e68a7bb0000000000000000cf271e3a572e8dbb00000000000000001844543ae4308ebb00000000000000005657c13914e224bb0000000000000000b75384b9f83d1cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000f6e1abbc8931bbb8e1d453bd2fb303be5b1cfba5028a8baf63fd63ad38eea3ab19b06ba7579653a34b6cf3828158e3b2163b639e11fcaba15aaaf3a9d10ee3a5cf1dbbac4bec4ba6c89b23a48ef003b94b34fba6ff4b2ba3638983ab6c5fd3a50b443ba83d3a0ba11d0c83acb32343b000000000000000000000000000000000000000000000000000000000000000076d299ba071a13bb439e43bbbfb020bb3ed4433a63acc43957701abbe24f4cbb69ea603a6c4eb7ba17ebdfba370d1bbb2c53cf3745033cbad62811bbd04917bb817fde380e8a60baa73a04bb46aa0cbbf9498b396f4933ba41edc7ba5525c3ba6ff78039d3c668bab728beba6b0f9bba0000000000000000000000000000000000000000000000000000000000000000191ecd3a0d02213b5ce8e8ba2935b4b915e7263a0895fa3a064097b9c19d18bb0a758cba0be10b3bbd47cdba921ed5ba25cd583a9e04d03a73eafeb9a09283ba756ac13a0431d63ac90607bacc685f3a5872053bd191ee3a8509d6b975697dba14b9573b00a0263b5957c9b97626abba0000000000000000000000000000000000000000000000000000803f00000000421080bb5f3038b9aff9623f8d41373a132034bb679d82bae61e423fe114f73a7ddf13bb5eb937bbd462223f029b113b115530bbb205c7ba6159013f0bc5e03a296a22bb7254e5bada25c23ed02cdb3a5fd00cbbae54e8ba1087813e5e81c33a9c4307bbf9ba02bb8973033e9acb003b000000000000000000000000000000000000000000000000000000000000000050c231bb28ea55b900000000000000009ff71bbba0bf07bb0000000000000000b7cd05bbe321b0ba00000000000000002b9a98ba49ec72ba0000000000000000f41c91ba21af84ba0000000000000000da5988baa93491ba00000000000000004584a9ba0f50bdba000000000000000000000000000000000000000000000000ce4eedba9f5541bba734733bd1ff063b615208bbba2d30bb0ba8513bb688823bb601e9ba619c15bbedef2c3b49ce6e3b245af8bae9ea82bb3203353b50bc663bc8acf0bab66c0bbb9e14123b3e076a3bf3e329bbd50ad1babc72c53a47205d3ba97500bbc29f25bb9692d73a2810703b381dcfbafd5f7fbb6d99083bf93b913bed26dfbadb4a57bb316ac239e6858f3bef0d9e3a92caebba79b559bbda8e93bb76faf937c4eb9cba847063bba424a2bbd1b0583998b393bad4f23dbba3ec86bb610af3397077a2ba334996bbf6da66bbaefedd3931c9b7ba69382fbb87a352bb0e240a3a938ed0bac89f18bbf63a8abb1e7c583ac094a4ba2b632bbb5b7341bb3d85c13aa80f22b9fa9803396d12c3bb93e3b2376208d03904aa96bad04744bb6d0eb83a52cd893b19a204bb387d2ebbb82f1e3b7f8c653bcd35aeba5819e4ba71d7bb3a3d8f573bd0af62ba7358d2ba8a41c93ab3d1553bb827b9b9e983eebabcfdda3ad9b4603b6e39b5b9c624f6bab2120c3b4fcb633b5abb01ba729e11bb51d33f3bcba3793b2a7498b96b75faba7d278b3b40229c3b695e5fbbd2cd82ba5072973b2e809a3b80de4eba0aae0cbb0f5b80bbc1c553bbf71f633f4f61033e154187bb92192fbbcb7e473fb999e63d9d475bbbbcd01ebb6cdf2a3f4d1dc73d05e150bb88c316bb95700e3fefc8a73dcac95bbb482b28bb82cde33ee9b8873dc4eb29bb60a467bbc12cab3e15a84e3da94d49bbf23f4ebbfddd643e19900e3de8f50abb488c9bbb0c7ce93d07a9a33c52c95fbbf2557cbbae378b3bc8c4163b7a34c0ba0bf926bb00000000000000003f0440bb7b43c4ba0000000000000000388f1fbb77f2d1ba00000000000000002c32efbae443e8ba000000000000000076d8e5bafd1efdba0000000000000000291bf8bae12c1bbb000000000000000078ecd1ba53b010bb0000000000000000e6a440bbe8cd9dba000000000000000021f004bb35fb1ebb0000000000000000c57a1bbbdf512cbb4fc9083bb7cc743bdff31bbb1a0421bb830c143b95d4983b96ae87ba1b9667bb784ed53af426863b93f41dbb54e94cbba00d1f3b0535a23b3d8df7ba23ed32bb1977df3a3a10823beeadecbaeeeb40bb1b01df3a0c1c9a3be48991ba451352bb1fe3d239662e993b0b7232bbad305abb4e40bf3a6c24a93b8dd4e1ba756c30bb59bc603a32186f3bfa10083aa74692ba2dd33dbbc3346dbb7d25e1395bee20baeb8747bb368e7fbb47101e3abdc2313a2ce309bbb362a0bbf7157e3a0429c7ba0d5d61bb7f3990bb97c5843a5e3f94ba9f1b44bb86a65ebb547ca83ad968aaba85b82abb88a07cbb546ccf3a4da698ba58913abb82c76ebb122d123b9576f7ba467156bbce9a60bbfe9ba53a2cba74ba154f1cbba90530bbb1d81a3b3233833b361144ba4ab0e4bac069083b1547963b22e076ba2dda20bbe2eab63a36557b3be7bd0dba93710ebb1bbff73a621a9c3bc56d82b999cf1fbbb6ceee3a9a62843b33e38238643f10bbd750263b8150a43b7d6ca4381c0121bbd12bd83a5148a63bf5dbcf39715919bb7cf9743bdf5dca3b28c647baa3453fbb60883e3bd1da903b6080cc3957bd02bb06dd5cbb3d1a40bb5166423ff3ed813e5cbb69bb199295bb08052b3f0d62653e7cc01dbb72736fbb1e85123feb79453ef10c81bbe04066bb6ffcf43ef81d263ee4065bbb122047bbcb7bc33ed8f3043e943674bb49a271bb2e4d933ef8b8ca3d907960bb37bc85bb9391453e15498a3d870b64bbda777cbb1cbdc93d9f65183da65729bb6fe34abb1def4e3b4c3c843b2c252cbbcebdefba0000000000000000a3d858bbf7d722bb00000000000000000b5423bbde8614bb0000000000000000087426bba67432bb0000000000000000ef98e5bad37d25bb0000000000000000ac6901bb2ab13fbb000000000000000015c5c3baf36439bb0000000000000000236f28bbb21257bb0000000000000000df7098badb5124bb0000000000000000ccc044bbb7d7f4ba4ff2283b2b9ac43b296f14bbe64279bba6f4e33a4f48aa3ba55d1bbbddf25fbb9ddd063bfc34b63b9f3a00bbe91665bbba3f033b15a2b73b787a09bb96b63cbbbd1c38b9b8f3a83b54e61fbbc9675dbb8688bc3a3478af3bb76408bbb3735bbb4c7e963a1b2da63bed71e9ba9a3e50bbf7a454b97311b23bb75606bbc92e5dbb58f73ab997faa53b5b3f083a9aa1baba243b84bb4447a3bb74c9663a5751f8ba7b9782bbffc1b2bb35a5a53a9178d3bad6cc66bb0cb59ebb5dbd903adf8c00bb94c25fbbd7609dbb2413d83a3244ceba1ef547bb438260bba2c2ea3a3ea3c3bab71a4ebb5c8687bbd940033b023addba32ff37bb90b37bbbb941083b039ba1ba6d122dbbc88bb4bbedb0103b48184ebaea7c33bb46ded9ba03b8493bc84c8f3bb74950ba17601dbbaee96f3b82a0b23b086b54bafb1441bb470fc33a9a32b43bbd3f55b93cc32abbdc9fce3a1902b83b43b8fdb92b855abb36165db808a9b33b9511093a4b4b24bb54a3113b0246c13bd824c3395bff36bbfe7e273b89a1c53b58d8c13904b027bb8992153b8e06e03b4b9c543a620d32bb267e6b3bf832ca3b7cc2933ad01b85bbb0c491bb52c91dbbcf57223fc2a9c23e5a78d1bb257b94bb35140f3f59bcab3e29fa83bb538482bb79c9f43e35e8933ee0fd7fbb1fde8bbbe97dcc3ea6eb773eec4a53bb41845bbb5da1a33eb415473e78b273bb044d83bb83ff753e4f05173ed6e256bb07ad88bbe3e2243ef715cd3d99ea3fbb9023c2bb9308a93d72625b3d7c794cbb51bb85bbc877063b2c4abd3b9a0144bbc2c024bb000000000000000057b269bb43194ebb00000000000000007bbb31bbda843dbb000000000000000088b649bb3a5f04bb00000000000000007a7be8baf4544ebb000000000000000046aafcba358e5ebb0000000000000000ec8bf7ba3f9a72bb00000000000000004c9dc5ba0f3074bb0000000000000000183b6bba3c9244bb0000000000000000f7bcdebad7ea3cbbc29cb23a64639f3b5ebf12bb87dc67bb03e8d13a4e7dc13bfbbdf1ba43a14ebb2d52a23a13b9a13b969220bbf36967bb4af0b23a75b6be3b9f11f8ba2a6720bb8955953a2580963b9f4222bb5f6d65bb251e773a39dcb13b3715eebad9f547bba257cb39589b8f3ba6f90abb6af463bb66f1c0393fbda43b1bf505bbc8542ebbc6e5953968958a3b16acab3a85644fbb538133bbe86f7bbb27b1c03a2010e9bac8546abb246e9dbbfb60bc3a0390b5bae160d5ba262f86bb199be13adda7d9bab0fb66bb8a8094bb72a6db3aebc890baf7ff0fbb6d1642bb1e87073b2fa9d6ba344750bb78c385bb3925fd3a4f58c4ba43ca20bba7d458bb011d0e3bf2abc3ba510e33bbf1f578bbbb85003b61b834bbc92703bbd0f13bbb8638db3a1d60ae3b820cf5b753d507bb44f6bd3a8da9c83bd65064b9ced231bb8e067b3a07a0a23b26bc0739f87a1abbc35d8a3ab645c13b89b8eb39fb2839bb46daa23a3599a33bc4093e3a57b900bbb302d43a2b71d33bf657723a1afb3cbb3bf7c93ae16fb83b7d775e3ade3b2ebbcadc023b930de13b157d923a64c92dbb595cfc3a0252c13b9f75903af86d0dbbad0b58bb98b962bb78c4013fd2e5013f97f183bbbb438abbf745e43e30c0e43ed58274bbab9964bbb365c33e7c10c43e32ed7dbb3a6d86bbfaa5a33e87aaa43ed7d397bbcc8f3cbb0670823e8e69833e663f68bbc41f88bb7712453e702d483e1ebe39bb063965bbf17a033e7e51063ef1df4fbb232287bbc3d9863d730b8e3dd0f925bbed094dbb9e332c3b4d10b83bb7d62bbbfa3925bb0000000000000000a36649bb68b84cbb00000000000000009b4313bbc83b39bb000000000000000026b110bbbf7d67bb0000000000000000b8eb93bac11e96bb00000000000000006d0bd1ba87ca6ebb0000000000000000bd3ca1bab96960bb000000000000000044b4a6ba1c1478bb0000000000000000829c70bad9414dbb0000000000000000743c67bb89eb3fbbd045863a8b1cb43bd37df5baf3e16bbbecb78c3a52ddce3b4695bfbaefac50bb6740063a0b1bb93b786fe9ba8e7d5dbbbc70163af494ba3b4362d6ba7a0748bb93801d3af07bec3b9b482bbb3e8a21bbfefec8b9c6abaa3ba482cbbafb6a55bbbecad6b84440a43b9d85f8ba1ec963bb20920dba3f21973b9b42bdba9c043bbb54cbf4b9f3de673b409d9639cd980abb086230bbb8e06dbb5c4fa53adbc529bab3a352bbf2cc98bbaefade3ac54ecbba5ece37bb5b698ebbe2f0043baf5cc9baf3eb3dbb4b5b8fbb27110e3ad94e34ba51ac54bbf5fa6bbb7b2f123b99fab7ba719a0bbb15913fbb637e1d3b97e6b7ba0d0c20bbb0a277bbe07f853baa5ff538c2c10dbb595c81bb99a23f3b0f5c14bb0555fbbac4f74fbbb78a9f3a857cc43b751d913aa75b36bb64a8323a3b75cf3b2aa899b9ed6a1abb1a352138b751b13bde89a4397c5234bbe0900c393d37b63bb5042e3a2cdf32bb458a243aefceba3b028c61badae1e8baba038c391832ce3b936b8a3ac3d233bb9a7c863a641cd83b093aa13aaa282abb878d6d3ac6c40e3c144f883a375340bb0048543ace6bf03be2ce0e3b175d54bb29e240bb476355bbd8edc23e287b223fba8270bbddba8dbb1882ab3ed5010f3ff51051bb30c587bbcafa923e9085f53eef5d58bbfe1589bbfd76753ed944cd3e4a5150bb604c61bb0b63443e6367a43e15a90dbb5f2fa2bb457a133e28f0783e9d8854bbc78283bb0fa9c53dd3b4273e1a7838bbb5e991bbfee3473d653ab23d6f0211bb09e25bbb49a1b43ae852d53b9c9265bbbcca52bb000000000000000079d186bbb6c230bb0000000000000000ee0f16bb521363bb000000000000000034cefebab82d65bb00000000000000006fc441bbded830bb0000000000000000a679b4ba7f4d73bb0000000000000000272e90ba97d473bb0000000000000000bd47afba97f588bb0000000000000000f12f9839c1e885bb00000000000000008cf4b5ba7cd919bb0d4f3039ce3f8e3bbb21e2b957a750bb605718ba6a2ecf3b1886faba0a8925bb539c9a394408aa3beed0c9bad06e35bb5c84e3b77d8da83bee4b2eba2a5b23bba96fafb9b4e9853bac92e2ba994243bb694ec5b9f636a13bf923c9bab09f24bba05748bae778833b331686399a5b47bb1f858cba96bc843b0d508cba445714bbb6d845ba4a8a5f3b8f9fa03a9d869bbadac0f0ba5a0547bb1061093bc4a8a6ba916f04bb056c93bb22a2283b9dede9ba639017bbe38562bb1bb20a3bff9a9dbaaf6414bb404974bb5bce073b362f56ba306812bb900f42bbcf64373bfbee04bb98c409bb111b72bb4b9d243b3daab8ba358de5ba521946bbf83a1d3bfd3afeba3e7ee3ba050863bb95070b3bd06451ba58d9bcba13e52abb24b204b963de913b135f2c39f09809bb6061d1ba02bbbe3bdf6e233aa5e523bb16111ebad4e7983bdd85ce3aa08f33bb640b66bab4bb9c3be18fdd399a4848bb8d04e4b980e88c3b355d893ad00604bba7eb29b9f82ebc3b2293b13a234736bba99f46b9f24eb63b48848a3aef9c28bb22e80bb8fb93d23b23e8a23a6fefddbaa7708a3920aab53ba05bbd3a1dd1fabaa44d18bbd53d40bb5db0813e9575423fe30a38bbdfe795bbd345633edc562b3ff29334bbadf253bbfcc5433ed2d3123f58bd2abb9f0f6bbb1e7f233ef97cf53ef63d19bbae644cbb3b5c023ea524c43eccc324bb102773bbf598c43dbc6c943eab0b04bb83de59bb077d823d855a473ec9220dbb9a697abb90d6023d6376cd3d2543daba77e139bbf718273aa632a73bb30815bbf8482bbb0000000000000000241b14bb6f315cbb0000000000000000698c1cbb54ae5ebb0000000000000000fcc2a7ba64e75cbb0000000000000000f9cf48bafcaa42bb00000000000000005e7332ba004a5cbb0000000000000000b69b82baf56875bb000000000000000041b28cba23e941bb000000000000000028c86fb980c840bb0000000000000000b2728cb909060bbbaf548cba1c4ea83b45fba9ba35fe89ba6e82c9bae5a5b03b50dd39bab2b204bbd0658cb9683d8d3b47175ab9d5648abb479d16ba11d3833bba8db1ba71be03bbca502eba698e753b944b5bba69c006bbdc3850bab27b6c3bef333cba02e510bb3806b0ba3f01493bd5996bba41e615bb0f32c5ba49c6533ba8963dbaf39447bbf04288b9e9cfde3adbec253ba7fec538a4c9f8ba690d46bb1288163b0ede0bbbfd257cb8efc089bbf0bae13a81c058ba9749b8ba13eb43bbbde6dc3a1737cd39e3d0b83994a645bb23d2083b688560ba4f50afba949024bbff04103b142e13ba02a997ba66431fbb0b700e3b10a073ba15f836ba4c092cbba400383bdda45eba6e2047ba6d2a31bbf550463b996b0b3945ce02bb0336a9bafd9208bb6940973ba13fc73a9b7832bb24b095ba7802873bf690873a3038a7bb4dd2ffba77343c3b66b3313a4b82eebaca3efdba1f53493be6b40b3a460c66ba15e8b0ba6163623bb2059d3a858f00bb750780ba6f4b803b1b55ae3ae0c8dbbac68c75bacc93983b5d79bb3a3a2bfabaf77682baaa2bbf3b95060a3b0f2210bbe1cd003a7a86ca3bfe5c3c3a01eafcb992b3edba78f555bb00fd003ea21a633fa05a35bbdce6cfbb719de53d5309483fd9a20bbb5ce44cbb05aac33dedff2a3fb921dcb8a37b5bbbb408a33d70ab0e3f213cd5baed2f3dbb8979823d274ae43e48d4d2ba83e935bb415c423d1ec2ab3e2a9c9dba0e1246bb32f4fd3c0433663eaa74a4baf0ce59bb079b6f3cac43ec3dcb0377b9dc3167bb5de8e439135bb03bef3623bb28cf64bb0000000000000000671854bab5b283bb0000000000000000081a63ba795f2cbb0000000000000000fee46dba85ef0bbb000000000000000050cd08b73e1140bb0000000000000000629d44388d2626bb0000000000000000e0cb9c37f66344bb000000000000000005092a3888cb68bb00000000000000007fa855ba9e1b6abb000000000000000000000000000000000000000000000000bacb1aba8035b7bae14f50bab5cd4b3bd716b1b933fb80ba702f11ba3f0e193b054ac7ba1bda73ba78031aba18751a3b09a4773adf418aba92b246ba9125023bcdb30cb903e8e8ba5dc9edbad9de263b8c33cd3803a759ba6fba55b9ec1d013bb27ddeb9e6c648bad2121cbb8dda583a0000000000000000000000000000000000000000000000000000000000000000bcc2c13abae9f9ba06e230ba6f7105bb3666a23aafb8d9b9cb4cceb9281adcba554bba3a7d3500bac46aedb98b29dbba94b7ab3ac7383aba4c4102babf4bccba122867b87885fbbad6818a3ade680dbbd963a03a3cc403b92e2228ba0c861bbb565e1e3b649dc8393d0e8339faf0b9b9000000000000000000000000000000000000000000000000000000000000000013d226bb52bfd33afd87513ae1dd3cbba7bd06bb354e793ab5d9163a5da383bae6efeeba52e7943a0d30223a815fa3ba916ccdba2daeb93a9a58253af2d6c0ba3cf207bad958933bc9ed9d3adac035ba6d408eb9a8a2443ba817aa3ac25664baab74e4ba5e618c3b3b831c3a120cbcb9000000000000000000000000000000000000000000000000000000000000803f6fee8cba43770bbbabfde1397bba623f227670ba1e68eebadb1a8c391810423f700e4abab249e8ba85ff9b3881da213f263533ba0fffe5ba258a60b92366013f11c2a8ba3d2922bb5f8a74390d99c23eeab2bdbab9a454ba936f95b94ccd813efc718eb90fc989ba9bde2bbbaf24023e000000000000000000000000000000000000000000000000000000000000000060395538548e7bbb0000000000000000b5123239684ceeba0000000000000000f8187a395b2515b600000000000000002c69a939e4133eb90000000000000000aa2ba6bae7e6d6ba00000000000000002475103ab979f9ba00000000000000006d79973a327bb4ba000000000000000000000000000000000000000000000000000000000000000000000000000000008cf486bbda64393cc69d923ce4000a3b826893ba6db3283c76777d3ca9ef373b11ee063ad923093c972f443c41a52b3bd59d8e3a3dea833b052e083c5441033b5893573a7bcc973b2700a73ba61c583bf1db77ba084b943b4f8e163bc906673ba4b592ba23d3593b4fa1a3ba9111843b00000000000000000000000000000000000000000000000000000000000000001e29753b69d207bb59f0f73b02c0e4bca693503b476972ba6bc0a63bc84ae7bce88f6b3bad7330ba8059683bc4bdf1bcb902503bec4de7b7a159583b9a83bfbc38f4353b982beab90c5ae73a345a8fbca8d6313b51aa6bba4872c83ad10620bcb469ac3adc3151bacb1193b9ff289cba0000000000000000000000000000000000000000000000000000000000000000d5a704be35fae2bc4d11f43bb5d5adb97f40f7bd5250f9bcd856b73b6ffe14ba7cd2cbbd916efbbccb8e293b16723abaec0ba2bd5e65ebbc69470e3b1c3343b9651c6bbde2d5d3bc11b0043b2c9599b9035e15bda965aebcb3b24c3bd847beb9b33e48bc8ff874bc28d1393b9c64d4390000000000000000000000000000000000000000000000000000803f0000000001a1e93b2aaa8abd7f4c9d3f94e231bdb6117a3bf7da29bd4184823fd7d48abc7bd2fd3aacb1edbc06ed523f1a75e3ba0879cc3a374ebdbcc2f0203f46986b3b36771c3b02fdbfbc65f3de3eebd02b3b94cd8d3b865cbbbc7e3d7e3e33eed3ba6f18ca3b48fad4bc57ca8e3df00925bc00000000000000000000000000000000000000000000000000000000000000007b27d8bb12f4003b0000000000000000b2e877bb177f163b00000000000000001b578cbb6a2a6a3a0000000000000000978437bb5c9714ba0000000000000000cf3631bac51505ba0000000000000000dcce7b3aa6a95cba000000000000000051e7a93b781a20bb0000000000000000000000000000000000000000000000005e6743bb4091903bf8c7543c5e7d56b8d201f6bb13a2583cc332ac3c2b7cd33be0074dbb10ae3c3c28ddac3c33b2f53bb12067ba9519283c9120833c9990ca3bacf29f3aa236d83b81d53e3c03a9cf3b422c0bba8560003cae1deb3bfe45d43b4131fcbad920ad3b0628963b72adca3b7b7570bbd027a13b62bf80ba2d11b13ba955deba150b7c39ca3e4cbb00e9da3af6aed63abc2490ba9016343ca3c9eebc74a0623bb64a14bbf6c3653c5499d2bc66c77a3b4b75a6ba365f3b3cfd640abd904a463be10392b9c932283c33240bbd89c54a3b4bc172b695caac3b6299e6bca6870e3bcfe89fb99c26a33b48ada3bc4be8183b1c3895b9983e533b85f61fbcd1e50a3ba6810fbb844fc5ba3dcb233ba635293ac3175bba56c41439c35e823b427298bde52c42bc6b0849bbf7f89a3a6dc80ebe4546ecbc5b9a9c3ad6b6e43a25fe0fbe587f1abdf351baba17028e3a0c91f5bd03ee1ebddc1111bb4182343b2ee1b7bd0c7715bd442639bb8a1ba33ab60b8bbdcda302bdd0f837bb8140f33a6b352ebd7705debc825200ba47fb593a888963bcdf8469bc671c303b2028c739e959433c1f299bbbd091103ac4c9a73a0671513c0cbef9bd58399d3f719caa3d29b1913c7e5005be1b7c963f6039a53de38a343cea6dc2bdd21d813f4059c03d7aa8d83b7adb94bd387a503f0ab8b93da2d7e73bff706fbde3c11b3fbbeea43d1a1ffa3baf1356bd26ebd53e1ae77a3d72b6253cf13f3cbd174f6b3e9e041e3d617f613c043210bd4ffb5a3da26c493c01eb433cdf1a0abd1c257cbdd3d106bc1cc000bda503dc3b00000000000000009cbde9bcdc0bba3b0000000000000000d6d2d6bc931b833b0000000000000000c91dbabce5391d3b000000000000000021858fbc0b5df63a0000000000000000675360bcd28c2f3a00000000000000006f0731bce000f93a00000000000000004962acbb5499443a00000000000000001882babb3388073b0000000000000000e6ef3ebac46b1c3bb319053c934c7e3bc19581bb184d0e3c5a10683c84d0bc3b996b18ba6399cf3b9fab613c7aefec3b089d233aebbde93b35aa483c408e143c1419e9395c66a93b3d820a3c8defd63baaaee5b97ab2893bd228b73bc80d013c65e0f5b9091bf03acaaf0d3bf123d03b39f246bb9da65e3bdf26d8ba1ccb9d3b54caecba082ee2b9779b13bbf02e2b3bbbb0aaba5291093aba283f3c1dfef8bcc2e4c03966323db824d06d3c44a806bd0fb02d3a1685e23953cf2a3c6d6f07bd322d043a217f683afa1e1f3cf740f8bc32ef9c3ac0ed3dbab0f7e03b4d7dc9bcf2d26f3a8720773acb79e33b57308fbc0ab928ba20f425b9b4c8933b4d5325bc01056439a8b044ba2583fd3aff2e38b90c2b8fb85406aeba3f3d4b3b0cf52a3aff5b40bd244792bbf43d66bc2b816e3b9cd1d2bd3fa3e0bcdc1542bc9dedae3bce53c3bd4a880ebdb96f54bc038c7b3b9c65ccbdcbc227bdbda93abc1e186b3b8dde94bddfc610bd8fd223bc2621953b37036ebd450f08bd6f3505bcdbe6293bd32e01bd503aa9bc22dbe7bba257713b347236bc387362bc53cf4ebb5fee413b7826fa3b20aab2baf3d58eba7cb62d3b15de503ccd36f8bdec27833f8cf2863e07db933c18f40dbe0ab2813fe8f1823e7095353cce5dc7bd90e2553f4bd3773ed231343c3109babd9742363f24b9593e13be253c4a0391bdb301073f4dcc2f3efdff373c601c87bdce7ebd3eac0b063ea13c413ce25259bd0f525a3e9317b13d0305783c4a8341bdd3a77a3d0c8c1c3d2d09563c10c611bd54ae18bd83606f3a951e61bd7e27073c00000000000000006d1b76bd100a163c00000000000000004a8a43bda44ff93b0000000000000000b3c62ebd5027b83b000000000000000019dafcbc7848563b00000000000000002d2af7bc7b818b3b00000000000000001cc3c2bc2b10553b0000000000000000404fa5bc8e03a93b0000000000000000a23481bc8837653b00000000000000000749c23a309555baa867ae3b33add13baf4d4dbadad49f3b0cba243c8350153c5a1c6737287ad13b70ba363c40b5333cd5398138f338b33b2a3b203c2810263c7e41823a31a8773b2459c63b94c71f3cc2650f3a6f77543becf6a13b8edc003c4b2e43ba04bc223b4990e93afdc7e23b1ef7ecba19bfc23aceadd2ba326c933b38cd4cba9f2edbb9394b13bbbbf63f3bac6f5dbbbebf463af735133c5d17ffbc610707bb3683083bb779463c50c900bd8c6e9fbafc77f73af0e8303c1022f2bc68199bba8ad9153bcdd1113c2f58d2bcea59e8babb3e2a3bda56133c609eb4bc4b3d1dbac43c983a9c8bcd3b3a4272bc6130ecb937a3e239aee9993b387800bcf394efb964651dbaa2405c3b9e3ca8ba0d2ee1ba991d753895dd543b5c950e391d8f03bd7617a3ba0d70bcbc0c80a83b4197a2bddf4ef4bc91d0bebcb07ef43ba912bbbdf85431bd6e1ea9bc7351b03b3f33adbdacac35bd2722a5bca0deab3b210989bdd71919bd833c93bc7d75a53b606650bd62cf03bd3a766ebcd751a03bba5302bd7037babc2f613cbc73019b3b2a4b3bbc35961dbcb1a6f3bb76219f3b87e5913bcc74453b7d1590bbd5af723b4d21273cb4fdd9bd12ab543fde4ae63e28ec883c7d3401be2529523f0f6ce23e59a44b3cd070d6bd05a6363f9fa2cd3ee9602e3c2a15b0bd764c143f6d67af3e8f471d3ccff699bd577ee23e104f8d3e71ac263c74ad82bdc2d49c3e8486503e498e403c001e68bdb5d7333ea441073ef90f713c65a942bda5ee693d39ac7c3d71d1263c07e814bd75bfbdbc499bdc3bc3c597bd762eee3b0000000000000000f5efaabd7d673c3c0000000000000000da468fbd88930a3c0000000000000000633e69bdd41cf03b0000000000000000ff1249bd7098703b0000000000000000a74b27bd5991af3b00000000000000002f2811bd70ef9d3b0000000000000000e23602bd8806f03b0000000000000000e168cbbc68779a3b00000000000000007f0b9a3a8c4e6bbaf8ef143b2434343cf0bb0eba5dd4a93b89c5ba3b6a7f3a3c508bc839d87e8d3b1a5fec3bf898583c1894af3a62a8983be70eeb3b1d4f5a3cd354043b49b5c53a40f4413b2abb1a3ccba5543a7a37413b3ae9423b8aad0f3ccbdd603af9337d3a2432493a4830b73b6a7d9cbaf8fd113a5b14d7398235543bcb3094b9789b19ba835b1dbbe336353b1c8fb1bb5877273b1fa30e3c319aecbc51ff5bbb1bd8273bad47353cfc13dbbc162a41bb42b51b3b3bc3e83b3e92bcbc59d415bb607e603bf9e9003cde57b3bc123325bb41cffa3aff7d903b40a58abcee9901bb1831123b5a01b53b80814cbc7e58aaba01b1c93a82f3873b6f96debb3fbc88baf4df25b70ed8853bc128e8bab51006bb3a4b813942b45f3b0d95e9b9b6d2ddbc59702dbbf59cf5bca4d7cb3bfa0880bdff6811bd25bafcbc6b160b3c9fad8ebde89945bd547be1bc5c5ec23b39d691bd05824ebdf7dbdbbc1255ba3bf5573bbdc765f9bced639fbc0db0883b85d839bd8deb07bd6932aabc120eb13b5e93d7bc04f091bc94836fbc654aa03b22b145bcb998b6bba04540bcea27bf3b868b34ba93bd0a3cc779d7bba4ce533bcace0e3c39dbbabd86ea233f38fc233f292e4f3cc5d4d6bdf3921e3f497a213f4a861d3c3d23abbd9075083fe9ff0d3fd7be1a3c86389cbd59f2e43e56f1f23e8e32913bf6c251bdb150a63ec5e8b33e2fea1a3cebd66abdf492733e5adc8c3e53c6f93b2bb83bbd6e810a3ed5362e3efe901a3c5f4b1dbd866e3a3d53f4a03d6bd10b3c5fc1f4bcbce7aabc2ffff93bc218babd6d39073c00000000000000008609d4bd1cef5f3c00000000000000005c44a0bddf28233c0000000000000000103d90bdae450b3c00000000000000006e0e36bdf433703b0000000000000000994f4fbdb526e33b0000000000000000c0b425bdd7e2dd3b00000000000000008cf518bde5a10b3c0000000000000000d0d9efbcf3b5c33b0000000000000000465e2c3a2098ee387e97c53a6324513c421ea6ba9675863b305eb43bbbe9833c752c84ba3781c13b8855063c0f7c893c67744bb9b9799f3b84dad73b2130843c370e81b8ec8f803bbb2e8f3bae7e453cbf03b9b9bff3713bc710793b14c9193c0aba85bacdc4583b00e74b3a99e8f83bdfad04bbdfd61b3b5df5a8b8d9fc373b5b5c89b9f4b621b8ec4f09bb755cf73a68ddd4bbfcb2283b80b8ac3b6c1d94bc217093bbaa26653bd70dd23b6fd476bce2dc2fbbbde25c3becd9c03b858569bc5f57ddba1d3d5b3b81aca73b2f2249bc5c48febae717333b24c4b33b2ade28bc4c2d3abadf4e373b8c516f3b5c99c6bb8b1f8eba896bc83a1b553f3bd7e02cbb062575baac5c9537dc54033b52798b3a486cd1ba2c7225399b3a173b60a6963a47cad3bc1b2727bcafe800bdd9d7dd3b18bd69bdb4385dbd192712bdd8222e3c2e228cbdabe68fbdb31c0dbdea41063cd1bf82bde5de85bda1cc00bd8282e03badc261bdefb752bd0fc5debcf069af3bc9b52fbd170d23bd1d50c6bcdfeebd3b182eebbc7467b2bcbc12a1bcf92fa93b576b5dbcb78d5abbfeee60bc467bd33b2fcea4ba261c4c3ca1790fbc19ac953b8477003ccc7396bd0cefe43ee34f553f66d44f3ce5ffaebd3d8ddc3e9956543f6285373ca84295bd9c64c23ec0783b3fe453103c13017cbd16f89f3e4e6f1a3fbb3e063c571f55bd2427773efee1f03eae62f93bfd7d3abdc0532a3eed3aad3e09a1013c9b2b14bddbc9ba3d1434543ece31043c3da4e8bc5822cc3c88a7b03d2d8acf3b24daacbcf2fbabbc531900baaf02dbbde1451a3c00000000000000007bbefabdf1a0733c00000000000000002852c8bd0d70463c0000000000000000ac6b9ebdcc6e1d3c000000000000000027e77bbd96b4e93b0000000000000000a93457bdb8ac003c0000000000000000a58241bd7125103c0000000000000000094430bdae372b3c0000000000000000e5ca08bd48c8f03b000000000000000004118dba9319e33a1767b338d596703c75a922bb70149c3b1a07ca3b21c19e3c668a7fbae3d07f3bc331bd3b7c06943c44eebfbaf7d7bc3b08eef53bd111873ce8d7b7ba368c813b1ace4b3b5829603c87178dba2297963baa21633b3a3e273c3bc7aeba4ba46c3bafc2943ac624ae3bbd29b6ba8b46d93ac5d8623a621cff3a425a8cbac6cddc39608f81b9ead581baad50a0bb64c0d83abf2a673b76cdebbbf2ea17bb73730a3ba6b74e3bd40633bb3352f2b9072c253b9365393b9ad395bb77d4b0b9e0b3343bc4e43d3b10457abb72d25ebaf5453f3b2330623b81e5f2ba7d86d9b9112c113ba4d8383b09b80abbdfb361394facc43a14d5cd3a5f2f26baf89bad39fa5ed1b9a56a9c3aaba1043ba0c0ffb9b25f40b9b3f1893ab2041b3b0200d7bc2a51fabcddb4febc087b133c326650bdfb5eabbd321617bd6bdf4e3ca9a761bde569a6bdc81805bde85ce53bb3726dbd93b4afbdc84a0ebdd6a2043cf35240bdb5457abddf8cedbc2ba8bc3bda7719bd164947bdd73bddbcad44d43b3b9dc7bcd403c3bcafd19cbc8c27983b1b984cbc025c91bb94d069bc9754c93b27dd98bacf4e4e3cc228f9bb40ac803b627b013cafdb5ebd9b08863ea96f833f9eba283c87a577bd824f7a3e50c5823fc13efe3bc20244bd648a623e76db583f1a9dee3b03de33bd547f3c3e67053b3f84a8a63b82200cbd85f50c3e98ac0c3f361ab23bc76ef3bc2957bd3d3e9ec93efeee883b5831b1bcf7e34d3d98fd6f3e66b97b3b86cb52bcde249c3b689ead3d748c413b55fe1bbc84bcc3bcdfb8a3bc0d01f8bdd294483c0000000000000000800f0abe35cf913c00000000000000005981b4bdf312113c0000000000000000ef74a1bd41a8193c00000000000000000ac569bd3213dc3b0000000000000000954456bd7789093c000000000000000098f323bdc1e0e83b0000000000000000748926bdd1fd3f3c0000000000000000bf4104bd01c0103c00000000000000004cb894ba3138bf3a31b30f3a37678d3c542f55bbac80e93ab4482f3c4f24c13c272f31bb59ac513b11f73b3cc815c13c0ab836bb1c20a93b0da3113c69b39d3ce53040ba9a868c3bc626dd3bec44603cd84914bb8cf8953b4113b73b8b953c3ca6bdcaba01e4e93aae5dca3bdbc9ba3bc1a2abba937f5f3a1ef7873b42cd4abadeb93dbaeeb36a3a58fd80ba643465b96dd109bbcb87393a10bb31ba19ab803ba04d853b4ebd18ba0a83bfba88ee1d3c4dae623b1e93b93a04d43cbaa422f03b1fba633b0af03c3bb564a039e0cb943b32c1423bceecc53af7c831b921830a3b01176b3bb0cbea3aaf44e9b8d457063bce27363b8f4d273aada88c3936c4f13a05d8983b4d53f0badec04ebafa5b2c3b5771a8ba1fad33ba533a33b9cd7a203bbbabe6bc935384bd18fae0bced7d0a3c37ea23bd7b9403be047ffebc2c61403cf5cf4ebd99b506be5a1214bdf3c2063c59fd48bdea00e5bd509612bd8304c63b3cf82bbd2245abbd74dc04bd6b28ac3bc74704bdd43285bd04e5efbcd9e2973b527fa7bc43081abdc492adbc898d9f3b50fce4bb73f12ebcfc1f31bced42793b5e6001bad0856c3cef99b3bbdb326c3b4c16df3b576001bdec06ab3d30219d3f8e1fe03bd689e6bc6b4f8f3daa00973fc158bd3b5193ddbc81a89a3d283b823f8668a13bd70eb0bc0ef2843d7c84523f6ba9623bfa4d8cbc85cd4e3d957a1e3f71cf383b4c7b2abc0153eb3c66f1db3ecb03003bb62ec3bb8babc73b6438793ee1b843ba8073463b43e73ebc5337893d76082d38c6d8283b5557f5bc89c04fbd4a77f9bd8f234c3c000000000000000002c7fcbdc2108c3c00000000000000007fa6aabd3f392e3c000000000000000022f76bbd2f27f13b0000000000000000dd3222bd0cebc23b0000000000000000ae5307bdb319d53b000000000000000011d6fbbc4c5ee43b000000000000000064fef0bc74da2a3c00000000000000002c79e6bc7c1f0b3c0000000000000000000000000000000000000000000000003e430fbb8896023bd32a043c97ee9d3c3668d0badf94403b55fc123c7d1a7b3c5d9db8ba7dd8753b87abda3bb16d363cb3b47fbaec2d923bc66e8f3bdff5033c8351eeb9b7553b3b0f41463b9f39ab3b1b1c66ba450c2c3b2be7653b8c30033b5c26bab9913dc2398e2b283bab0e03ba00000000000000000000000000000000000000000000000000000000000000005bbe813ba5be08ba4cc838bb1e0c513cae869c3ba68e913ad3221ebbfb1d1a3cdc8a573b435deb3a917e0bba5455bc3b1208653be480133bf1c00dba9777963bf96a143b63b6cd3a222710ba4606853b8543803bc026033ab2c64bba15de453b5eaf843b3a6b5fba5fea77baef90293b0000000000000000000000000000000000000000000000000000000000000000bed314bd935004bef26bc7bce5e1b13b51d014bd0ab9f7bda22bdbbc7c4d4f3be9e210bd5c7acbbdc60adcbc3d65fa3a7679f4bc908fa2bd9d8dc9bc5f9e223a4e4eb5bc8d8267bdbd9daebc70d8f23a4c574dbc5d0f17bd05ce8abc0923b03a71b99dbbf6f557bcb9ef26bc9ae3113b000000000000000000000000000000000000000000000000000000000000803f4325843b1250b5bb204753bdb82d9d3fc050393bb36679bb4f31f3bc41c4823f954e2e3b95f19cbbaac899bc1e90533f81c3dd3ae85a47bbd9c793bc4951213f5870003ad1fb25b845d5a0bc933fe03e08b0acbaf5d69c3bd64dbfbc3b937f3ec805e8bab22a283c244eedbcbfb58b3d0000000000000000000000000000000000000000000000000000000000000000c89c73bdead7bf3b00000000000000005be1f2bcf9299e3b0000000000000000027562bc2be7353b0000000000000000a2c5b7bb5b061c3b0000000000000000348385bba70ed03a00000000000000002fcbbebb3213533b0000000000000000004e26bc38073b3b000000000000000000000000000000000000000000000000000000000000000000000000000000005ea23dbb33542f3c6a32103c2df972bb1cfaa2bac8a2293ca9fef03b6c8f95bbb4516ebafa74e13b2d23963b8a3835ba2ef3613a6322723b0f2b3a3b804e9bba782d3738b1cbae3b0b59413aab79a6392461e8bab68abf3be13b63ba1525873a8518f4ba5aed993bd6afc8bad00dd03a000000000000000000000000000000000000000000000000000000000000000060c36d3b0a674039fbe2c53b621305bd73fe843b3d5d1ab9b3b3ad3bdbdf01bd2289823a20e8263a0885b23bebfcebbc5de2f93a50071e3abb8f5f3b6c54c4bc810c29b9a2cb123a7de17d3bcb8697bcb292013b464180b953a7223bb4b30ebc3afd223bfce713ba774d1d3a213664ba0000000000000000000000000000000000000000000000000000000000000000c97db6bda356b9bca680513b84f2debab86eafbd3115c3bc6b34803b7d3553ba8fa090bd0e4abbbc89f1123a7513ccb756fa63bd9deaadbcca5ddb3982148bba885f2cbd62a4a2bc4fb495b9cb9d1a3ab23cf1bc86cf9cbcb49fb93a44355639aee725bc423787bc882cfd3aa41254390000000000000000000000000000000000000000000000000000803f00000000630c583be9c24fbd832f943f8a2ee4bc677c123b0fe80bbd9861783f48740dbc04b2763abcddecbc01484a3f8305e8392515f43a2731e1bc8f501d3f3bfa4e3b8fb10dba9dc3f2bcb9f4e03e335a423bb69f343b2888f2bcc1ea873ec0dec8bac3fb843b7a500cbd4252c93d89e816bc000000000000000000000000000000000000000000000000000000000000000000feaebb35332f3b000000000000000013051abb7951663a00000000000000001e354abb1b07813a000000000000000006020bbba4e3223a0000000000000000616869ba7368feb60000000000000000f6f5073b614ea9b9000000000000000034d2243baed723ba000000000000000000000000000000000000000000000000bfd622bb5f3bc63b5fc48d3b9c99993a559bfbbb495e903c9debcc3ba8cf823be39383bbfe625b3cf9b2da3b3309a53bf232e7babd7e2a3c34d4a63b76589c3ba88b17bad9f7ed3b9c42f23ad507a63b91d036bb3cf2f73bc071dc381fdec53b125160bb3539033c3cfaf8ba509ad73b4729e7bb3a7b323c1ce9c4bb9fbc993bf65464bb6058473b7c6673bb962ea33be537fcbaba5aac3af5bc1c3cceb719bdd34a5c3ab69f4b3acfbe3a3caf940fbd36c145ba7f66c73abb6e273c7fbc1abd3bfda8bacf08e43ab5960f3c058710bdd60a41bb8697e33ad6ca013ce926f1bc8445afbac341973a149cef3ba36aa9bc5e9087baf9b5bc3adf707b3b9a2c31bc5f618b3aeec7a1ba4374ce3932ef9c3b8f4abbba07ebc8399b8df43ac069d13a1ba943bdb9e1bcbb8c3121bc20f75f3b13cccfbd4d819bbc296fccbba46d083b288fd2bdc5f6b8bc8e22f5bb4020f73a0f82b5bda7c7c1bc73a3fdbb33dc1d3b12ad8abdfceaa8bc8bf108bc7bc4293b152a5ebde25caebc4d43dfbbbf6d2c3be54612bde0358fbc2141bdbb9eb8dc3a0b1491bccf5f4dbc0dad01bb7c81463b68aba63bcd4947bb8f5362bbd3f1203bfcd3203c1ec3bfbd5b2d943ffe8cd03d24965d3c2432ccbd0dba8c3f9048cf3d22ca213c2457a2bdb021713f18a3d63d0e2bf53b326888bd6e51443f002fc83dcae6dd3b454f6fbd3bf0153fa241ab3d3a2a083c875269bd11f8d43ef446873da3dd1e3cb6d65abd9cc17b3e1cf32f3ddf543e3c80933cbd1b77a23d5a89983c5b452e3cdfe22fbd9f8506bde04dc4bafb2cf3bc1e26a03b000000000000000057d6e3bc01d0b23b000000000000000090decdbc6e57963b00000000000000001a4aacbc6b815f3b00000000000000004a958bbccdb9503b0000000000000000c11181bcfdc0133b00000000000000006b535ebceca34d3b000000000000000015c727bcf015f23a00000000000000004f3526bcdc87343b00000000000000008126f4ba896d813beecde6baf04c1d3c723fb2bb259a463c50cff839a704123c0b6db5bac3b0cf3bac09143a5b3b373c604b07bb5b9e133c41522ebaaa73353c8fa608bb200ab83bc52021bba6ae303c693237bb9b06f53b2f2391bb21a1393c110712bb5b48863bb66695bbf2591d3c2423b7bbae2c053c6144ebbbf84d0b3cc9fa80bb58ca873bc8c007bce75ddd3bdfc301bc675c513b83b9313ce4ee13bd1366ddbbe040653bac1d533c1c4c1ebdddfd11bc0524603b30d6283ca9f20fbd48ebfabb63ad773be8d71e3cabeb06bd670ee4bb45ae2e3b0e36123c8c18cfbc3250d7bb9fdc403b30e3e33beb0296bcc473c3bb6afe043ba172b43bd52e37bcb0599fbb1f86b13abef48d3a7fe6373a9dea91ba6c08803af9b23a3bb52e163bb4bb07bddc45183c5605b6bc97169f3b82519ebdfc27e3bbed42a9bc4f22bc3b95368dbdf1b030bc256c9cbc283d973b7722a0bd426386bc56629cbc564eb43be15469bdddb445bc9b3b8fbc21828c3baf5c4cbd482e4ebcd43f8cbc8b189e3bb30fe5bc2367a1bb608157bcfd6e923bc41083bc3cb30fbba1d24fbc8c41a73b31e896b94d8fc33b04a815bc223c743ba9a8503c1433cbbddbde783f292e8a3ee756803c34f3e8bdf2c0713f4d1d853e3b72293cd6afaabd3fb1463f8a5c783e916d4d3c2fb5acbd5c582b3f12995b3e5bea193c4b698dbd772e013f4ffa323e0d41453c7aee8cbd750fba3ed5480f3eec20263cfcae65bd5707603e02edc23d179b653c90765dbdc679a33dd2795b3d23b0423c57da2cbdc7c2aebc3a54763c730d4dbd6643083c0000000000000000b94e62bd600c2d3c0000000000000000fade36bdf1aee53b00000000000000005a8630bd3f12f63b0000000000000000959e0cbd1132b53b0000000000000000310908bd6330cf3b0000000000000000dc22e5bc37dd9f3b00000000000000001c52d1bc5e17ea3b00000000000000007afbc4bcd7048d3b00000000000000008baf573aca43663a5e03afbb36408e3cfbcb6dbb6e01273cac09a4bbf9a4823c1d6940bbed69083cfa335ebbd984873cadaf06bb0f25043c11e59abba8be8a3cf80efeba2356d03bcc48debbbeb3843c475f4fbb9586e03be869cebb9cb2783c01f56fbbb88bde3b0fc405bc1cd05c3c4b67c6bbc391cf3b372a13bc7375373c16704ebbd315423b68e7d4bbc0db153c45d964bc80eca63bc2400a3ca9100fbdd9765fbc888bbe3b693b3b3cd79212bdeeca4dbcadcd9a3b3f32373cdf6604bd800c45bcd00aa63bed1f133c953adfbce53a46bc0039983b6a151c3c9d97bdbc76b72fbcba7c803be9edd93b2de367bc55c918bc20e96c3b331ebd3bb851f3bbe50f03bc1b04243bf897963bbf168e39090ad4bb3740553a500da13b775a37bb0c93e5bc385ea23c0d7303bd5c2dc73b57ea80bd9e2d983ad83e0bbd0548153cb09993bd215c28bcf739fabc1141013c5be48abd572948bc8d23e5bca1bfcb3b282b6fbd023e0bbce7dcd9bc5c15db3b434d43bd9e21d7bb7ee7c2bc800ace3b58390abdab6802bb101daebc4c70cd3b5d1897bc44b7f13b070d9abc9a04ee3b982866bb1d90803c77a75cbc06edc03ba6d13a3c5a14bbbd3dac4a3f8076e23e39d9853cd5bddcbd500c443f6bfedc3e5ef65e3cc573bfbd10cc293f2eb0c73e6d0b453c6688a7bd1a7e0b3fa633ac3ea2824e3cccef97bd9f31d73e494b8e3ef95a413c8e8786bddd7c983e7d805a3e3a41403c010574bd142a363e2d92183e6b08603ce4dc50bd17db873d7628ab3d5474323c06b929bd45f66bbc4694d13c7aab8abd58360a3c0000000000000000fcd29cbdd3e0513c000000000000000055ff86bdd1b3353c000000000000000078c169bd9564233c000000000000000087884fbd79e00d3c00000000000000002e5f37bda673103c00000000000000004ced2fbd1e391d3c000000000000000095601dbdff3c173c00000000000000004744febcc5a2d33b0000000000000000ddff523aa38503b8b47d0cbc184dac3c96151cbbcb18f73b28920fbcffb1af3c9f21e4bac217ea3b4c6302bc2ed4b33cd31d9bbaa83dd93b8b6eebbb4690a83c0a62173a011ce63a514b05bc74ad8f3c61eee9bafa44d83becfe21bc7b8e8d3c794848bb6224af3b6a7d18bc7d44783c9deb6ebb9650d73ba82528bc0ef04c3cd70ae7ba850e3e3b5bc912bcc690383cbb708abc5fd9953b9556163c747df4bc5fbe8ebc8472ca3b499b203c29e7eabcd5b57ebc5a40be3bea89063c317fbdbcfd2379bcf91aad3bfac9063c51f9b3bc421f3cbc6569433b92c7cd3b537b8abc1e474cbc19f2983b2dfec33bdc1240bc7dc02abcbd804e3be7ec8f3b21e6b9bb1a491abcea4b393b5ee9083bef8e8f391a4defbb5134863a64f7293b57058ebae867cbbc871ec03c55381abd74f4f23b31b961bd11c73f3b66e923bd05a1273c8c4f7dbdd71508bcc57712bda1d8e83b27be82bd5b523ebce88310bd776a083cef4628bd88bd47bae516d5bc0236743b205b3cbd1de30abb7d76f8bcadd1ed3b1874f7bc4a1ccc3bcff8ccbca703d83bbf2dabbcd134663ce132bdbc65aaf63bbdf60ebcd18cb63ca94989bc3614bb3b5b1a263c2702a4bdc2eb1c3f0ac41d3fa803603c17c9babd021b153f5f37193fce8d313c76609dbdb53b003f4452073f0791433cfd8f96bd5b46d63e4e50eb3ee57bed3b474a5abd243b9e3edbefb23e3b843c3c717a71bd5c59683e69df913e91142c3c202245bdad1b073e3986413ecb2e3f3cae7c31bd1ac4413d6c22dd3dc17d263c5c7e09bd3d3c90bcc94c063d3fb8a5bdd8c52c3c00000000000000003819babd53ae663c00000000000000009ca795bd7f662a3c0000000000000000dc648cbda797383c0000000000000000c18140bd3cecc53b000000000000000033395dbdbd7f263c00000000000000009fbf3bbd12d60c3c0000000000000000b1da3abda861353c00000000000000004f6e19bdb45fe33b000000000000000069396bb97d4f4c3bf57a16bcd66dbe3c75a088bbc74c243c0de710bc5303cb3c5a0257bb7f51263c4542ddbb4986bd3cd2016dbb2839213c3c26edbb9b6cb13cbfd120bb2947003c5fa00abc2883a43ca77a44bb0971053c554401bc00dc823c1fc076bb940afb3baf630ebc7f706f3c0e7297bb1624fc3b17a50cbc0bf12e3c1c4e17bbd9dc5b3b1abd07bcb7ec363cbc7595bc72adb13b6311b33b1643b4bc9b8f9bbc0b0d053c6da3ec3bd53c86bc6ad78abc240cdc3be8a7ac3bc78170bcde1580bcf5fff23b619bc23bc4ad3cbc761a63bcb60da43bc5e6b13b676723bcf30245bc6b33963b5b275b3b3a5c99bb8d5e2cbc3610803b33bb243b6d3bb4b834de1cbc3d0f4f3bbea50b3a3cc1933b7bd415bc9fd9413b963bfa3aae401e3b540efabc2649a13c18a123bd0d2c143c40ed6dbd706819bc13d23dbda5d6393c239f84bdb5c2bdbc006029bd4bff263c4ea981bdf9f7b7bcf9f123bd4cf4063cd58f60bd5f4267bcba2012bd500b013c1a0739bd83abfcbb31e508bd696d103c5e660cbdffba313b6e94f7bcdd38fa3bd2adb2bcb8f3643cc503d6bc875f103c5b3c35bc88d2ca3c5aa18fbc2162d33b0d751e3cfa2f87bd0c6ee03e35524b3fa002523c263b9fbd5dc8d33eaaaa473f659d3a3c726d89bd69c0b73e7210313f88d91b3c59a571bdb752963e4ed9143f9e4f1d3c3bac57bd409b663e4e06ed3edc29113c5b0739bdc7c01d3e827eb13e885a0f3c08cb1ebdfd28ad3dcfa96c3eff3e0b3c66e6f9bc19a79b3c2a53fa3ddf30043c3f38c9bc3e5bc7bcf567f23c457cbcbd4c2b2a3c00000000000000000848d9bdbb6f7e3c0000000000000000f29eb5bd66aa593c0000000000000000e0a398bd35b7413c000000000000000070da80bd5df12a3c0000000000000000de666bbdd0232d3c0000000000000000ece753bdad0c3c3c0000000000000000831452bd694f4d3c0000000000000000465924bdbb3c003c0000000000000000398dddba6c3a983beafa02bc9c94ba3cdf729abb2ba8273c6d747dbb6650b93ca4521abbf5b1f33bdd41a2bba1c6aa3c690081bb3bfe163ceae888bbfdfbb13ca3b101bbdcc9e73b52cdbdbb9b62863c162ba0bb9508173c9e89c0bb02627d3cff6913bb21b0b73ba095d2bb49fe453ccab36ebba878ef3b57e1b7bbeb18023c819316bb5b8b803b95bac6bbf617e83b94c686bc9c99d33b6fd14b3b968414bc45c982bc33aade3bb4e3743ba90992bbc92e4abc004a933befaa653b0f13d7bb379853bc4a99b83b8e1b593bba2f30bb63b02dbc089b903bbe742f3bc00b13bbacd11dbcda379c3b345b1e3b85170e3b780df6bb01e52b3b1311c33a309cd23a77dae4bb236e3d3bd09883ba5449d03b44a8babba0cc8e3a1efbf2b94a69a23b186d0fbd6daf9c3a56e522bdc57a0d3cd56071bd64d30dbd97063bbdf265543c1bfd60bd3d570cbdb8cb17bdf56ffa3b187c79bdef7b2dbd763f24bdb6be0e3cbc2443bd836dc7bcfe150cbdeb62da3b4d3c34bd3e4b95bcb81710bdff00e23be2e7eebc34243fbb8563d6bc6593c83b37ee9ebc6dee1e3ca43bcabcc66ff03ba80022bc8981b93c2bf894bc7020dd3b971b1b3c22924bbd37fb883e63e3793f411f113cfa1d60bdc2357b3e7a8d743faf0e013c122437bd76625d3e6be24a3f3b98023c34a02abd6b75323e5352323fb530be3bdb8f08bddf1b043e98c1083f9978d83ba0b0fcbc78fba83dfb1ace3e14a8b33b2f01c6bca3c92f3d55a5823e493a933bfa6785bcd369c4bb8805f93d44618b3bbfee35bc11b306bda8ab613c9b3acdbd0a834a3c00000000000000002a0fe4bd43978c3c0000000000000000273a98bd9a7b293c000000000000000002ad93bd3822443c0000000000000000b9ce61bd2e4f153c00000000000000009c5a5cbd74763b3c0000000000000000ac7132bd80b8113c00000000000000009cbd3fbdb1725a3c0000000000000000731523bd556f193c0000000000000000dfae0abbc33cbd3b783283bb54e7973ca81389bbb595013c11ec8d3b2db7ab3cd1144abb1030c33b66d3893bc238a13c01462bbbadf7073c21b5a13aea848b3ce6844cbbc96bf63b714d0eb91e494f3ca80e1dbbc9eff73b95c44bbae4642b3ce1e118bba2c1a53b406622b96311e83b3c90eaba51a45c3b2877feb5c0c8413b2b59a0baf8c2473b1cb943bb20d01a3ba3b540bcd0da813b8a7a93398077dd3a4aa407bc65dfcb3b6534c1b9105feb3b37dae9bb961f9d3b6a25fa38ca69d03bfb56eabb3448bd3bbec5f2b935f5b23b7587c4bb3d8b873bd4f0e43984f28d3bbae786bba8bd483b473c93b981f28e3b45f43fbb35793f3bfd43afba54bed03b635be7bad5d7b63a2e6af4ba023bd93b75fd2abbd4be8b3a4f4405bbbcdfe03b576c27bda07ddfbce75a0cbde2f8073c7bea57bd0a02a3bdcf1c1ebdaba31f3c7eb564bdfe16a6bd881d1fbd47a2003cbb895abd047d8dbde39618bdcd04b63b1ec530bddb544abd39f406bde2fe993b997314bdd0a017bd14c201bdebbec73b9c2dcabc8e9aa1bce7b3e7bcf31cd83b999432bc16d934bb6d1eb4bcc91ce73b0655eebbe13a933cb56e6fbc7f5ba63bca81be3b2ba9f1bcd23bcd3dfd6a943f3836b23b2e3ae1bc649fb43db5d38d3f6698923b8b10c7bc3ef7a23db145743f6fbc873baa65aabcb543833dfd61483f08f4523b2f6a94bcf1ee303d8d691a3fdc1f2c3bafae4dbc13129d3cf288df3e32660e3b1452f3bb3e94a6bbeb30893ee6483f38272db43938aad6bc6134d83d7c33a13ad6193e3ad9442abd2acc43bc757cc3bda823333c0000000000000000b4afbebd037e523c00000000000000006a5688bd00511d3c0000000000000000a74749bd44a8033c000000000000000048aa18bdacd9cb3b00000000000000009d430ebdfd72eb3b00000000000000000e4a09bd2b07ec3b0000000000000000ff6514bdb34a2c3c0000000000000000268806bdd737f23b0000000000000000000000000000000000000000000000006b7431bb2337b83b9356b23b101c203cad27e0badbe1c93b2e0fb73b81f5043cd54e26bbd799d23b0e862d3bae608d3bd706b6ba4917a33b9ec1943aa577803bbcdecfba47a2a23b3a6a473ae8a91c3b86f3bcbae9cf873b0a75c53ada25a9ba38a2a5ba83b86c3b9335b43a8c4b47ba0000000000000000000000000000000000000000000000000000000000000000d83a38bbb3972c3bad4ee2ba6aee283cc54db8ba0e2a2e3be5f93cbb75ff243c512ad4b9a1e6bf3a39bf80ba6599023c9721d7ba043dcb3a7d5574bad014fa3b4d981fb9bf3ad13a9489aeba0d34d53b9e3b123bb550883a595ed9bac05ee83b39e5fa3a0aa7563a3653b1ba4882983b0000000000000000000000000000000000000000000000000000000000000000a42d32bd6c31aebdb6cec7bc836c9b3bd8ff22bd33dfaabdc9a4bebc83464a3b802319bd700d89bdba00b5bc54210d3bf35801bd9a355dbd142babbce358183bb26ec1bc984524bdf2c29fbc8dece23a388177bc58aee0bc6bb88abc3117c83a8d28f4bb74e027bcfbb74cbc4357f73a000000000000000000000000000000000000000000000000000000000000803f6cc10d3b253babbbb81b15bd5a7e943f354bb23a7a189ebbfc63c8bcc897783f156ea73a0bb973bb46afabbc855f4b3f0796783a9727e1bae6b0bdbc16af1d3f8bb295b8eb53c7386b37d8bc9282e23e9efe45bad319403b0ee904bd43128a3e71ff14bb2093073c4ce61ebd8a7bd13d00000000000000000000000000000000000000000000000000000000000000007a7a31bdc494653b0000000000000000459ba9bc4f9b393b0000000000000000a3ca39bc5925783b00000000000000001626b3bbcea19d3a0000000000000000eca7b8bb7c67113b0000000000000000db96eabb014c3b3b000000000000000097936abc0f178e3b0000000000000000000000000000000000000000000000000000000000000000000000000000000067bbd43a7fd883bb10c9ee3a622727ba2672ba3a5ed462bb054734b919bb583a3c542a3becc3aabb6538163b5f52e83a17feaf3af6a090bb566604bb831c5c3b61ca423adf5d0bbb48fb79ba5ab4593b63b7c7394ff62dbbac6bf3badd491a3ba01307ba75feedbac2dad4b9f0dc693b0000000000000000000000000000000000000000000000000000000000000000ce8282bba011f33a0da0823ba919eabc4a1d8bbb0a3a6d3ab919683b8724c6bc216696bb93d64f3ac800523b4856c4bc1bad9ebb1c02383ad506b43be9f2a2bcf467b3bbb9569a38080e5e3bd02799bc844e87bbcaab663aa4a6993b174056bc58138bbb6b3e9d3ad007973b17313cbc0000000000000000000000000000000000000000000000000000000000000000a9369dbc2f3b17bcadf6afbb25aaf13a542db4bc468fd8bb599fa5bb2bb7893ab76898bc5ab9b7bbabbc99bbac04063b6c0175bc134d4cbb8dec99bb95c4123ba85123bc23481fbb1a1da0bbc648303a79fcb7bb3d2d0ebb5a7e6ebb6e1f063b24e5c23abccde7ba5d8e6fbbda701d3b0000000000000000000000000000000000000000000000000000803f00000000ac15b33ae014cabc87f7803faf151fbc7ad8003b1d9b92bc52f5593f6eedd5ba02d1873a990b94bc6624353fca69783a92e61bba46788bbc03470f3ffb71343b0a484e3a2ac99cbc8f2dd53e5762363ba906a43a8248a9bcb8458b3efcb9d9399356243bca49e0bc515b0a3eeff926bb0000000000000000000000000000000000000000000000000000000000000000dccfc0bba177333b0000000000000000c8af53bb4cf1523b000000000000000084c5a1bb7b8f303b000000000000000044c5a0bbbfa3173b000000000000000039f9b4bb952da23a00000000000000009e9937bbb05af93a000000000000000006f1aabbd5ca053b000000000000000000000000000000000000000000000000b230343b85b507bc20a134ba3c5a343c9bb33f3a12b9c4bb796796bb157d253c91c5e03a691ea9bb785da9bb298c393cb12a153b39d3e5bb62bbacbb378c523c73a6663a04dea8bb03abc0bbd404503c814b523a6f539dbb3ae4cdbb53e3473c121b11ba73ec5fbba6bbcbbb6908423ca6f54fbb9d3217b99b0adabb216b353c0cf791b9a36e36bb8ac1b7bb7dbc4e3c3dba1ebc37990a3bfdb0e53b767510bdfb542fbc8b59543b09391b3c69fd1fbd48c314bc65d8cd3a1eba013c9c0916bdbda326bc3de4cc3a9faa0c3c24cb0abdd24119bcdcdd8a3aa104e63b03ededbc900428bcde77fc3ad07d0b3c4599d1bce4c303bcea99a43a3efa013c898ba9bc592efbbb4025cb3a0f38e33bb79571bc4a83cfbb92f2763aae6ccb3bc1ef47bc8bb83abb3b33aa3b122f84bc0bf4593b046daebc5c3dba3aadf87ebc99eb8c3b6aa7d1bc7e06f73a05e263bc00a2293bc2a8c9bcc6181f3bf73167bc049f4f3bc08194bc0ba4c23b81da54bcee8c543b56bd7dbcbfc8b43beb2d3bbc7f8c853b542614bc94daea3ba15e32bcd338483ba30fb2bb45490a3c021a25bc8b5d6a3b1ecf613b640a493c71891cbcb2de253b2109923bf06b41bd6e27813f2764fa3d00b5153c440153bdfce56c3f4349e73d18faeb3b2fdd2fbdc8324b3f0642d93db001cc3b32ea21bd5645283ff661c03ddeeaed3ba38115bd92fa033fe86ba23d5ac0d23bec851fbd4bfbc43e7a23823dea05e83b912821bd4dab803e30b9373ddf931c3c31c129bda19ff83df15fd33c5c8aed3b6d2515bdb152d53ba821163c2454b0bc42c3a73b0000000000000000d563abbcc41ed53b000000000000000042799cbc0515b73b0000000000000000ff4c97bcc1b2a93b0000000000000000c6a490bccaa4be3b0000000000000000c3ec89bcf62a893b0000000000000000d8dc87bceee99b3b0000000000000000cb6384bc69a59c3b0000000000000000dab181bc0ea7843b000000000000000071cc163bc35b1ebc567cd9bb8071a93cd283993a4a6408bc28ad20bcb0fcb23cda8a143be34808bc8e4e01bc2015a73ce3de653a1be9f9bb89db22bc609fb23c2468b13a9ee4efbb637c23bc7f76a73c7f672539802dd5bb73eb42bc400db83c0a76653ace4db1bb816122bce3d7993c4a6740bb0363dcbaa9ad4cbc43089e3c9efbb5ba8cc659bb08da26bc4be1933c751b60bcdb41483b64c7103ceec00cbd49db7bbceeee353b7495423ce3ed28bde76d52bcf41b853a1538133c0f0f0bbdd89d6bbc5540ca3a78673d3c11420cbd7c6447bc5e3845baa3f01d3c1f16e9bcc7745fbc6920033b34062c3c1d25debca9c015bc097e68ba6169f93b8392a4bc78a246bceb672f3bfbba0b3c480b81bc3232d9bbc7146a3931c3fd3ba4d053bc3a4129bbf4c39a3c5b60bfbcd70f6c3bf8138cbcd054893c790ce0bcb41bc43b0b189abc9d15613cfabaacbc75f2803b6b03b7bc61487e3cd544b9bc8abf943b72d99bbcb7b7873c112093bc62da4e3bf1708dbc5d749a3c47ccaabc40a5933bb37e2ebcafd7953c523776bc3628d93ac3ac06bc1beeaf3c79128abca126833ba72630bbcbecb43ceedc55bca288c93a208c073c505f5cbd6f065c3f5844893e4c82423c764c83bd600d4c3f8a7c7f3e3d7ef63b8e1e46bd4fe62a3f837f623e1f6e193cc00d4fbd5844123f79f1463eb45c013c68f034bdacd8e33e305f223e89e13a3c7de145bd4389ab3ed5d1033e0d58063cc34826bd759e5e3e4a87b93da2f93e3c55173cbd13f6dd3d2e036c3dbab7333c58ce17bd6c9fcd3b46d3ba3c783e0abd79f2e33b0000000000000000e5621ebdd9b21c3c00000000000000007f5bffbc305dbc3b00000000000000002fe106bd27a0063c0000000000000000255fe0bcddaed33b00000000000000005ed0fcbc3fa6fa3b00000000000000007de9c9bc0eb79e3b0000000000000000f66ae6bc7a5d033c0000000000000000c28fbebc1c395a3b0000000000000000fe1d803bb57b37bcf11529bc5802eb3c1d68173a4a0411bcd6277abc5b6bf63cc54c113b616719bc48146dbce8aeed3c7cb15c39030ff2bb73b57dbc8892ec3ce596a83a4327f9bb23bb7ebcf0e7e53c985383baffd4d9bb62ff88bcc2a8e33c331e9abaf98c57bb538f83bc5f5aca3c55623fbb067ed4ba450683bc51cac73c45a3c637b2dc6cbba63c59bc73cdb03c0eeb82bc010c943a9ec7143cba6d09bd021e9ebc5c068c3b98454d3c609c1ebd41fc8bbcddb6fa3a41aa383cb61a10bd433d7abc343e793a935f3c3c64d302bda82261bc393998383db6373cd381edbc09695dbc218f5cb9d09b313cd447c6bcfc4419bcdbe5f73a22bc283cc6a3abbceba83fbc347eb639ccd9023c9fdd78bc6df5cfbb1152a4b84e19013c5d0259bc03fa5dbb367eef3c9c27eebc8615553b484888bcfb88de3c7c8408bd1c9baa3bb152c5bc3ed9c13c882ffabc4f84a03b7843d5bca563c13c7acddcbc2e537d3b311eb8bca24cce3cb33fc9bc7f3d433bc762b1bc067ad03c1ed6bfbc1d195c3b2e0488bcf474e53c0c12b1bcbd10ed3a821a59bca1af013d6b93acbce5327e3b9049e6bb29d6f83c543670bcb913b03a65c0fd3b7b455dbd56c3353fd9c8d43ea708473c10ee81bdec1e283feadcc53ec102423c766b6bbd7311113fd2ffaf3ecf263f3c65375bbdf891f03ef33d973e7a9e313c46004bbda86dbe3e9a4c793e8b963e3c0f8a46bdc5d98d3ee9dc433ea375433c3ffb41bde71b393e4b4d0e3ef4dd5f3c07ee34bd86f8b43d251ab43d88511e3c70fb11bd1f20883b5e66073dce5f34bd6cd9f93b0000000000000000b5544fbd83ae373c000000000000000093f13abdc3c1323c0000000000000000e9f726bd315d093c000000000000000094431cbdbb63f63b0000000000000000b16816bd7316023c0000000000000000511914bd3454f03b0000000000000000a85113bdcc0c0a3c00000000000000009f6ee8bc1e24723b0000000000000000c491553b5ef522bcb0285dbc8726003d47cbeb39b0b2f6bb6a9aa4bc762b0c3df6eda03ad1bcd2bb1b3785bc3e5ff33c3d35893a06efcabba40297bc446f003dcdc6043b1560e4bb798671bc42c1d53c71d9853a9697e6bb47c895bc3d04e93c0a8d18ba7eb659bb6e8386bcd9edc83cf71c06bbc4b3d1bad25398bcb032c83c502458ba1dcd08bb39fe6cbcf5b7c13c76aa84bcc10190b9bd46153ce085f5bc668ea0bca227f03ad703463cec2001bd917a70bca8e012bac0210b3c99a3e6bc72d37cbcbb2a7239c3972e3c9a96e5bcd9912ebcca4a09bbfcedf63bf3d9b1bcf8014bbc425504bab274283cc271afbc5ebc16bca60bb9ba806fff3b02dd83bcfb0b02bc9f49ceb9dae6fe3bfc815bbc4ec0bfbbbd29c1bac83be43bc6c82dbce6acf5bbf89f093dd0d9fdbc6746e13a11a6a5bc7a14053db9760cbd1128ad3bbfd7babcb881d53c3c78e8bc670c133bb259e2bc6d9fe03c2297f0bc2f396a3b357a98bcc7e2d43c44d8a0bc9e473bba0f31c4bcc0b2f83c5a5eccbc8a17fd3a538f92bca74dfa3c8830a5bc4769923a403491bc8cf1163d1e2fb4bcb5811e3b868644bc51bb0a3db27d75bcdde7ceb99af0ff3b80c349bde5670f3fea0f103f13633f3c35ad68bd9e1e033f45c8053fb595283cc58b43bd99dedf3e3bfde73ed841463c3ff54cbd45f5bc3e0be2c93e2d96f13b3fd618bd1492913e31439e3eddc5343cf9ee32bd5c2e5c3e66f8803e8aff203c9c8a1abd256f0d3e8f00343e32474c3c901d20bd803b823ddbebe23d0213203c3ac803bd68a4c0bac5601d3d23134abd5a48083c0000000000000000b0f168bd39b72f3c0000000000000000fc203abd3627e33b000000000000000012733dbd85a2003c000000000000000064e807bd09ef503b0000000000000000bf7528bdcb49ea3b0000000000000000d2f00ebd61aca93b000000000000000070f21ebde36fd93b00000000000000003764f6bcb4972f3b0000000000000000fc596d3a9e0bcabb685583bcf0d0fb3c423cacbabf6744bbef61a7bcde030a3decea6aba4b7739bbaf92a5bce16cf93cb8caa2ba25b41dbb4253a0bc0dfdee3c8a75dfb9b08430bb5402a3bc7761e53c2bca25bb96863fba7a76aabc037fd83c6c8637bb6ca9af3a3db0a1bccaa3c73cacbd75bb07ea583b09189fbc26a0bd3c8a4a46bac69022bae0b178bc63dfa63c854a7dbc6e79983919630b3cc3bacebc32eaa9bc8d813e3bbc88233cc0afd6bc31a488bc28705e3a875a173caa8cc2bc03775ebc60ed3a393ec8053ccc5da9bcceb044bcb338cfba40e6093cea3998bca0472ebc62fdc139f266093c5e2c80bc617f1fbc4fd045bac5efcb3b32a141bcc34f1abc3c978e397b36ab3b0d5b09bc655c93bb4eb1c9ba5c22b33b39f301bcf5e660bca799093d27db00bdd461053b9eb3e6bcd0e3f83cef3121bdb850c23be5ab03bd3aa3c23c49d607bd8d25853bb16004bdaa54ba3ccb33ebbc7da44f3bf6acf7bcc189d33cefbdd4bc3ebff83a5835e8bc8bfbe73c9f69d0bc9fcc0f3bbed0d2bc4ac6013dab89babc3fea0c3b3259b5bcce03113d4d9fb5bcebcd1d3b9c677ebc15b10c3d55f96bbcac8830ba2f40fd3bfd7d32bd4057d33ea02b363f28d2523ce75552bdbacfc03eb8792a3f7ec4453cc7663ebd9a74a63e561c153f45c8413ca96b2cbd886b893e71c1fc3efce52f3c029921bd18fa573e0174cc3e420d473c3bb71ebdbd991c3e299a9e3e7ee8373c0a8713bda075c23d91bf5f3e454c333c52d400bdfa881d3d4e49043ed5a20a3ca626cfbc537e10bca942243d326858bd054ddf3b0000000000000000acb182bd89e5393c0000000000000000a2e95abdaba90a3c0000000000000000615948bd3d5f1a3c0000000000000000ec9730bded9ee43b000000000000000086c12abda746e83b0000000000000000afda21bd999bc83b0000000000000000b84426bde755103c000000000000000068b5fabcb46a193b0000000000000000a395eab909431cbb6de082bcd749dd3c5c9523bb889cff3a5fef9bbcd129ed3cd8598939da4960baf87481bce632bf3c82f1fcba2f98443a99f393bcd1b7ca3c765439bab5b46a3a228b89bcf35db93c47cf46bb466f213bd88096bc0009ad3c267381babc5cd13a2da877bca2de903c211282bb8f979f3b951885bcaa93943ca11335bb7790233bca1e62bc4cc57d3cb3676fbcba78b43aa9c7d73bf0618ebc4ed191bc7517213b1172cf3bcb198bbc9cfe2bbcd5f6d5b949eeaa3b057978bc840c47bc3fe7e7b65e6db43b4d7a62bc6e4604bc2de694ba4f12923b05482cbc07f808bc68754eba6a8bab3b9de90abc7c15a4bb5642d9ba0419633b7996c2bb203adbbb4c2518b96000453b855907bba80970bb1e5180ba66ac783bc6063ebb2a8cadbc625ede3cab97fbbc222e173b173f0bbdb3859c3cc39514bd45f7aa3be359f8bc6a405d3cf219d4bc7194a53ae12912bde9ab6c3cd017e6bc618ef73af588ffbc844e863c676fb0bc3cf1173a6534ffbc40b7aa3c72a8c8bcd9e9c43a1724bfbc94b0b53c5e2187bcb2c3093a878ac2bc21a5f43cf3dd9fbc6d522d3badea85bcec1cf23cda3e5ebcaaa387393d571c3cdcbf0bbd971c883eaba45c3fdefe213c6d3621bd0c3b773ef59d4d3fb8ae033ca72ffabc1607533ef4652d3f2dae343c207708bd49b72d3e238c163f608dea3b183addbc0da0043e890eee3e1b2a1b3c8291e3bc836aba3d8c65b83ee1d8d83b9c77bdbc26de5d3dec4e783e9b0a093cdf11b6bcae3b393cc49b0f3e7548dd3bf18194bc8ab18abc58a40c3dc53c5ebd220ee13b000000000000000032a077bd41ad293c0000000000000000c9f02ebd4642ad3b00000000000000002f4b36bdb49fd93b0000000000000000cfc20fbd3ffd6b3b0000000000000000546b20bd0431b13b00000000000000000337f7bc30c0523b00000000000000007c5816bd83b6d23b000000000000000052adeabc5364353b0000000000000000cf12e8bad6f04c3bc16679bc9d48a03cd99f55bb8fc0ec3b3f2864bc9a1e943cb5a12bbb1393b23b9a0462bc73e4843c6c6a13bb4130873b355461bc387a7f3ce32e28bb8264af3b9e7267bcda755a3ca4d71dbbe4429e3bc7d147bc41ac3c3c678a21bb82deae3ba7c552bc0d422c3caa0d58bb8a31c83b07f41dbc7786213ca83c13bbb877963bdedd31bc43ca113ca25b36bc93b6b33a31c0683b4e4e07bcd1604cbca163783bb49cd83a813f9bbb27c123bcc10ba63ae43e1c3b548aa9bb5792f4bb1526933998ce043b630ca0bb39b9a0bbecd962bad5a4193b31d715bbdc8983bbc86d20baa430d13a8b389eba5f4162bb9c47b0394cdfa83a27db893adb2999bb06644d3acd1c37ba69baa83b57f3aab947f107bafd4f713a96bf043ba557efbc752a653c3ad1d5bc3ff16c3a94801bbd2701edba2453febcd122933b080119bd69b9c4bb8199c5bc2e45b93a080712bd3def4ebb6c2eb4bc3623573ae20300bdc139fc3a2e698ebc977b90b9c77eebbcb6ad963b3dc488bc5027543a4119d6bc869e383c228085bcd5c1323afe97a9bc72058c3c68c77cbc685c3c3b86fe86bc5acab63c231722bc03e3d039f814be3bd315b0bc337df53d7691813f7b50d83b7e8ca8bc7d82d73d578b6e3f3bdaca3b88659abc3250bb3dd9c44c3fd9e1bf3b825c87bc4acc963d48a02a3f03886d3b41e784bcbaa35e3d22d5063f6737aa3b25996abc226d053da19ccc3e63618a3b0b9048bc2941343c4371893e176a0b3b089b0abc9bf75abc9523103ec3758f3b0e0e18bc975fd2bc2c49c13c309243bda846943b0000000000000000116349bdc77a0a3c0000000000000000b4ee10bd7e4a943b0000000000000000c43bf3bc72588b3b0000000000000000f5dfc5bc4a41193b000000000000000059e8c3bc54013d3b0000000000000000f2b8d6bc6611643b00000000000000007e68dfbcb3fda93b00000000000000007b06bdbcbcb7283a00000000000000000000000000000000000000000000000032150bbba2c7db3b84d311bc8e7db73b8cf9cebad5c4b93b9e7900bcd0e2723b33e71bbbb548d03b96450fbc4024733b889837ba9998783bc0cd01bc09471e3bde6621bbd37b9f3b26ace5bbc8a27b3abac7dcba67e9873b01f5b4bbefa21c3a04a9d6ba7a79c53b21c9afbb1d6cc33700000000000000000000000000000000000000000000000000000000000000008ef998bbf3e5863a4160e5b9c2b1e73a6c8c1ebbfb232e3a3e5470ba3d15c93a9f8c44bbfb77f6394d9d7c395db8283b34cdab3955cd76ba1c18e3b94976883a480681396fca4aba1d1a21b97e234a3bf9638b387a45c7b93f1a5abaaadca73b2ed2423a58e2f9b8532607bb6866b83b000000000000000000000000000000000000000000000000000000000000000006c301bda90283bc2c7e7ebc0e6dd9b77e14e0bc339393bcbd2f48bce7c108bacc12cdbc4b6477bc76161cbc2f003b3990e4b8bcbfb128bc504cedbb9f9bf9ba6e65a4bc0ecce4bbc1c3d9bbac5235ba8e6088bc070114bbd308d3bb56e6f9363ebf6fbc3e55803b3e57aebb28b663b8000000000000000000000000000000000000000000000000000000000000803fabfb493b4e59b3bb7fda72bcd1ff803f41aa153bb21a4abb57ff2ebc2d335a3f76f2953b181ba2bb8b882bbc4c98353f0f7d273b9e0f66bb54044abc8cc70f3f6ad8123b34cc41bbf0d081bc8452d63ef29aa238ce5a43bac55fa3bc81e78c3ed1f21e3a4f7030baef93d7bc85c60d3e0000000000000000000000000000000000000000000000000000000000000000260ba9bc701cd5390000000000000000c8ae3ebc017a493a00000000000000009de5ffbbe7a327ba00000000000000006596b0bbd5cec53800000000000000007973acbb2638dab90000000000000000a89ee4bbd18cba390000000000000000245725bcbe1b27ba00000000000000000000000000000000000000000000000000000000000000000000000000000000f25fc8bbba35993bab95273dea5eaa3bff9ca9bba73f123c2dc31c3d722d283c5dc020bb27240a3c0575003d35303a3cfbd11a3a35edb73ba3d9eb3c76fb2c3c73b26fb9b411d63bb9448a3c080fee3bd2ba353aef0e393bb6d7313c53eac83b66eeb23a919f9f39e778873bf59a663a0000000000000000000000000000000000000000000000000000000000000000dda359bb64c115bad5dc253a156a0b3c60dffabac89c06bb070723ba9244313bde89d3ba2348e2ba7f49dfba50fca5bb632e4fbacd5e7dbbba854dbbd9c9c7bbc4f73c384f5b7dba233099bbfc0190bb8455143a26bcb9ba6910bebb713d05bbdd518d3ab9ea85ba28c9dcbb676f963a000000000000000000000000000000000000000000000000000000000000000034a55bbe747697bbb8920c3cdf8bceba201d58be9bb780bcbd10f53bb909b53a468c40be82c0c3bc2320df3b6bed743800461dbe19b6ccbcd70ca63b68c2473b6057dcbd74269cbc1e81733b5af2283adafb7ebd1cd251bce462253be13a1339024c72bca76182bb84a912b97b1a9f3a0000000000000000000000000000000000000000000000000000803f00000000055f9f3cbbf5f1bd17b6ac3f7eb8d6bd88c0643c5fd6a0bd157d8f3fe2a06bbd054c3c3c9a5a7bbd0ef86c3f4b5503bd6a45143c5cad43bdcccc313fc81192bc5671fd3bd05adfbc920ae93e368008bcac36923bdd95f1bba3bd693e34560b3bb543803b1e962b3b9c426a3c473a6a3a0000000000000000000000000000000000000000000000000000000000000000a507633c021087bb0000000000000000a0b9da3b360a95bb00000000000000005f284c3ba2a68bbb0000000000000000d12b603bfc5aadbb0000000000000000ee39293be78975bb0000000000000000a95a973abd352fbb000000000000000002ca9d3b47726bbb0000000000000000000000000000000000000000000000008d8d06bc33cf5a3bf7cb9c3cf9a95a3bedbf1dbc5cf74b3b46d61c3dcc26243c3d46e0bb64c6df3b6c98293ded80623cb0e294bb2c06e93bc7691b3d2da45a3c03ea85bb7cc9083c36b5c83c27ce753c86f9e9b9408a5d3bcd16ac3c00d92b3c26e31bba9fc4893b44e03c3c3e93b93be59f9c380516293bc21bdd3a49473c3b29fac7badd4dcc3a8eaaa7bb64bfbc38cfbe3ebbc5eb6039778da23bf7d6f43b24b7c2bb40eab3baf2eae6badd88f03cc5ceaabbe975e9ba4ce18e39e2c8413c3a1704bbc1c460bb7b7352ba414ea23bf5051ebb19e18bba16b8f6ba5e656c3a6235933926c58abba565c0bb86c6123bfd5894b932d9a3ba8461e1bb37f9e139d5d3483abef9ffba5bc8fabb9c0704ba9ef8823a847c8ebafa44cfbbabd6b03bb56b03bea8fed93ba6d878ba68912db9f4a354bec47fc13b4c874cbb7fe1743ba9fd64bea66e8abc93b6293aaa8d303b6b7e52be5b38c7bc6e04b0bad1a1943b38c522bed573f3bc9815bf3a26941b3bd8eef0bd5eafa9bc3a7313bb98f3873b2a9f84bd54d665bc127c7abbee96443b6ead8dbcabfe64bbbe3394bb34ba463b3c63793c6196ae3bfa68a7bada5bb93af6361d3d3b434fbe34a9ac3f2072903c8927313d113546beb1f39e3f9749e93cadaaf93c74d01dbe507f8d3f5f744e3d90d4d53c8f40f5bd6621663f7cef783daf26a33c82fdb0bd9f5b2a3f4d60823d1162883c102e5fbd7c36db3e875d683d0008403c8dcac2bcd0734e3ea33d483de9c4f63a75865e3cc6461c3cac57253d8ec5c83b7c23aa3ba021f7bd5a76a63b0abe88bcbd66a63b0000000000000000b0a76dbcbcdcc83a0000000000000000cd69a5bc818f183b0000000000000000e88ca5bc39c9e03a0000000000000000a8879ebc226cdeb80000000000000000504b8bbcb399503900000000000000005a7e5cbc9c539a3a000000000000000042f84fbc5912843a000000000000000081f0a6bb0e52833a0000000000000000d8d0f9bbdf10893ba1c82a3c4d5ef63bb9711bbc8982c83bcfc4d73c36b2673cbe57e8bb83da093cc84fed3cea809f3c71cbd9bbe600113cdedbdc3c3a56a53c957c1abb0c06b83bd3d79e3c8cec873c4ef46fbbab5cc53b39f7813c392b613c9c880fbb6702913b705dd23b8b82183c11991fbb99844c3b4782fc3ad227403b0fa341bb2512fe3a71f362bb4144f8396acc8ebbaa05b8b80ae6b63b971ad13a07dbb1bbeccf77ba6ab9113b9d6e493c16ad45bb07a02bbb46a40f3b92ce7c3bb90970bbf552bebabdb20cb919df8b3bed153bbafaaf70bbc6dc0abb8701963906f39aba572c04bb9363a3bb2fb83b3b04029539957925bb2598c4bb8d801c3b2e187b3a54f900bb493df8bb2722893ba69f863a065e98baef72b0bbbea5b23b22b7b5bdc51d133cb4ec5dbc6eecb33bf1e52cbe600390bc29e3f6bb242c963b3a203abecd7e26bd6db9e4bb1de5ea3b55ff31befadc33bd88140bbc23d4a93bb46806bea92625bd12ac04bc1301e73bfbb5ccbd05d609bdf7570fbc1ac4cf3bcbb565bd404fa5bc729702bc65d2993b50e393bc2691a8bbdb07a7bbf2e33f3b2591c43be83f033c67fda5bb7043023b2de6283db5414cbe08cb8e3f52286c3ec8d73e3d1ae157bec7ac8d3f228a673eef00183db1952dbefb4e763f00ab6b3e2315043d1f310dbe97a3493f2877543e45c8c33c5ce5cbbda46b123fbcd7373e9bedb83c1bad8ebd9275be3ee8ba113ef80d8f3c25a727bd32be383e2c86c33d5b83283c3b9509bc3a73603c59335c3dcca5f83bff4702bad445aabdd3e9263c3e4c80bdc664603c0000000000000000517986bd73a26f3c0000000000000000813d7cbda4e3143c0000000000000000f01e56bd8d7e163c0000000000000000013039bd82fad43b0000000000000000e9cf24bd2b58c53b000000000000000079e9f0bc4f29b03b00000000000000007900babce7b9b03b0000000000000000332b82bcac5aa43b0000000000000000d75be5bb7e2c933be496cd3b7c24393c99b2e9bb0892b93b625d923ceec6993ce6fbc4bbde08003c8fe9b43c8f70ca3cbbff93bbefddde3bf5eab43c3c3cb63cc50138bba6fdfb3b4b4d5d3c5f6aa83c848626bb26b6cc3bab78333ca800833ca6c2feba9c82823b69d5bf3bca47133c97f758bb85d8883b83b4a9bac224a83b0127f1b966edfb38c1c090bb7fd31bb986449fbbc1b050ba1951093c70b10bbc6e3002bb46bd6fbb5a10773bcba6933bb50215bb6c9a38bb0e440d3bc3fb753bb74424b9e1938bbba2158d3a713882ba597a2a3b2a9875bb1ff218bbfe10a33ab65d6f3aee4160bb8b4b92bbdc618e3818cb4e3b631f56bb65eebfbbdb6a213b7ad9cf3ae41648bb84fa8cbbbd14263bcfd700badcc781bacd3fbfbb6c5ce83b3ef48abdea7a0bbb0d529bbccc11e83b4c5806be5eb82bbd8d3083bc6750183c71fa19be1f0d81bdbe8380bc9100253c86460dbef58c87bd18606fbcf4881d3cccdde7bdb51e78bdf6ee8dbc07b5123c3b42a6bdeefb3ebdf0814bbc951e023cd7f145bdb07cd2bcdd164abcd936b83bd6a37fbcd7d4d3bb79e10cbcd1915c3b6833653b7370313c94aa44bbabc2063b36a3093d912e38be77646b3f3383e93ecd7a303dff0445be6969653fcd72ec3e65290f3d236424bef1f8483fc15edc3e8f32f03c939600be6689213f1b25c13ee152d93c75d5c9bda611ef3efae19f3e69d4aa3ca23587bd778a983ef0216e3efbc0943c7c5229bd4efb123eccdd163e1131383c8f8a84bca2f0673c9403893debcf1b3c95cb31bc0fd584bd918d233bc007e3bd6852b93c0000000000000000c269efbd5702c63c00000000000000002433d4bdd6209e3c00000000000000005361b8bddcab7e3c000000000000000070329bbdabff5a3c000000000000000021ca7abd96ef433c0000000000000000dbd040bd2a25273c00000000000000009cb309bda46c2f3c00000000000000002ce4d7bc304e283c00000000000000003e5890bb44a3b93a2cfe8e3ba24a4b3ca5f285bb7d48583bf245573c0770b43c2aea99bb78419b3bb36f853ccdf1dd3cce5535bb56d99c3b43e5823c836bc83c49e1fcba79d8a33b723a133c5add9b3c672d1cbb6ede923b61ce0b3c11bf823ce1611ebb15a69b3bbbf5173b8c701a3c0aa8d3ba1168033b6248ec3691eb723bf2e17cba59dee839f30eb8ba801e93b9727784bbc4f117bafb22d23bdbf114bcfcb2bbba9c476dbb69255f3bd33c503a425917399ee246bbea4d473b08d97cbb234a0d3b647c5fbbf4ebe1ba09b6813b9501ab393016ddbab443903a1b8ceabb3f74883b4f7d8abbbeea1cbb595a943aa8d1e93ab31833bb116f13bb0a897dba0a56e73ada8925bb54be87bb03e7293bbdb1a23a837346bbb73e32bb81b31c3b468d4cbdcbb061bca09de1bc0c20343cf70fc6bd49ba86bd27f1b4bcf356603ce930debd4f40bdbde52ea4bc7d592c3c96a8debd97aebdbdf83fbbbcc28a443c6da29abd7b7e84bd6302acbc9f24053c5b3686bd4a4b73bdb9b6a4bc2bdd1d3c44d010bd4294fbbc874653bc22008c3b3b507abc66a7dcbb13730ebc3ad7653bf58f983a9b406c3ce512a3bb2774173b415eef3c4d8d15be0132303f8646323f12e5093d7efc1bbe53b6293fc34b313f46b6db3c7770f9bd637e133f9c8e223f57d5df3c8463dabdfb3fee3eb9200d3f33e1913cfc4a92bd2af5ab3e2408d53e60e39d3cad8f70bdd9af623e4cdaa13ecefd583c9afb13bd4666e13df8773a3ec53e373c108c92bc30266d3c6de2943db844003cbc9611bc28d350bd082113bc55c71bbe6b03f43c000000000000000082eb21be1b09ff3c0000000000000000c9e609be6937cf3c00000000000000007fe9f1bd9c02b43c0000000000000000cf32abbd0bac723c0000000000000000bacd98bddcf56d3c00000000000000006e506cbdc4898d3c00000000000000000e8c20bd89b5433c00000000000000002f1c03bd825b513c0000000000000000916940bb79d6523a05d1e43a3e0c7f3cd1b959bbb50bef3951f7183ca2d9e03c8e9b51bbc77e5d3b8d275c3cc7af033dd6b222bb4d1d5e3b15e6533c0b3df53cc14c19bb3ddaa73b95d5fe3b02a3db3c78c1ffba7927853bf658c03b18699c3cc6061ebb4f33853bddcd7e3bf904373c69ce1bbb31f3273b6e7ff7383a0e9a3ba3b5eebae3bf763a5b8c74bb2048f5ba567808bb31cf2ebb5bcb8f3b0406e7bba0734f3adcfcb5bb8d4c4f3acd3e143968ed333b5c169fbbe5d846baa7c1093bfe6e6e3bb00e95bba17dbeba73ae94ba3f929d3b9e1096bb361f4aba7642e3ba0a80803bfe6495bb83c305bbb84a8fba5154473b15fa53bba8de01bb9b3a27bb4fd52d3b5df075bb519441ba46d4ccba623b903a287120bb5fa6e0ba9c05533b94c80dbd413b03bd4248debcc138563c8aee79bdd722dabd455c99bcf9e7593c14969ebda16e07be6dbeb2bc58d8613cd5d295bde25400be85c4bcbcb42d573c42dd82bd4df0dbbd4ab4adbce4c83f3c312b44bdbd1d9abdab388abc1474093cac8500bdb7d02fbde73a42bccdeda23b8c6d46bc4caa33bc82c7e4bba16b653b129ee73acd37773ccea47ebb93e2c93ae3ecac3c59a3dabd3aaee93e6f1f6c3f4969dc3c56a1ddbdf871da3e56206d3f13f0c43c3f68bdbd92afbe3e8477573ff6c0aa3cd94296bdfeb7993e5b10343f358c8f3c0bcd69bd0c55643ecee30d3f84b8803c40732bbd0d60193e2359c23efa00573c9692e3bc97b2a13d223d5b3e16ce043cc2596bbceec0753cb8b08b3d67efcf3b9398fabb113907bd2a59bfbc04363bbef8020d3d0000000000000000cd7c49be3f88273d000000000000000030d72bbecc84013d00000000000000007fd40abed93bd13c0000000000000000f9b5e5bd25ebac3c00000000000000004ea5adbd29a79f3c0000000000000000ab407abd5012863c000000000000000059e927bdb5137a3c00000000000000005a6c0abd015b783c00000000000000001091e1b9707323ba5c271e3abb21803cf206d9ba855ffbb9a2b1d03be3c4013dec2a9bbafb839f3a23e01b3c78f3143d95a11ebb3251323bdb5b183c38e40b3d42b6d6ba34a57e3b0544003cf901c43ca915dfbacc155c3bc73cee3b5711ac3cf77fd8ba109a7f3be095283b5b981d3c4e680fbbf39d363b49ab9e3a3d023e3b790d65ba536b3a39f9a852b9d5e6bdba5176d4ba22a951bbeb7e2ebaa3315abb7e277c3bb082e2bbf533c2b823fa48b9e27db43b85f0d8bba39a15bb6308d73a21fb003c4514b9bb001b01bb2bf50b3afa31bb3bf33289bb1db392babd348cba09e3843b98c86bbbdb2817bbe28df7bab45dc93b11e499bb3c498eba19dc07bb9346543bd75859bbd3ced2b6daf6c4bab9564e3a307307bb96a20aba3b8e40b9c7432fbc0f8e78bd558086bc0c983e3c49e3e5bc134e17be85b53abc9cf2483c99273dbd8ad128bed4d196bcab89633c39a738bde31025be0a55a6bcd09a343c8c2526bd8f6bfcbd8f0ba8bc6d51163c8a560dbd24cfc2bd0dcb64bcd0e3ef3b2258abbcb9c04fbd372f31bc1b60823bb08736bcd18957bcaff28fbb5c2ac9b9d93d0939aab85e3c11312bba3fe6343a9d87743c7aeb77bd40ba693e4d3d8f3f9e62863c538471bdc2fa4d3e0d32903fd29f6e3cffaf4cbd8e533c3e8608803f032b633c6bf824bde106163e92b1573ffa723c3c5af505bdec8be73df680223f69b0333c50f6c7bc60dca03d61e6de3ee549093cabd886bc3f0a363d40456e3e95a2a03bc74e2dbcfa8aa73c0e1d5c3de0d13e3b409eccbb15c22cbc35d757bd3fcc4ebe7fa8243d00000000000000006b415abec62f2f3d000000000000000009ac2cbe29f1f93c0000000000000000190912be9da7e13c0000000000000000dbc6d3bd3892ae3c0000000000000000c9a6a8bdd26f973c0000000000000000651e61bd7177863c000000000000000070a6f3bcafb8623c00000000000000009463bbbc270b413c0000000000000000ccb20a3add4015bbb0242fba0444ad3c491ce73a4fa57cbbf6bff43991342c3db96ecb399039caba21a8a63bcf3b3a3d29fea2ba556cb03a9366f73b78131c3d7e6bbeba9f150c3a6835073c2493033dc6449bba34742e3b4cf4b53b5941b23c5c15c2ba1c6a4c3b4b49433bfb2d5b3c9a36f5ba0f05313b0492673a9511a13bbfea95ba7575ac3a4fd981baf03a93bbfaa6213baaeec2bbb794fab99d9448b96961993b516516bc4c52e5ba2e6195bbbf71ef3b8b37fabb3e3128bb898386b83fa72b3c9816e5bbfdb01abbd5220bb9228de43b0c417ebbb05ae6bac380c3bab7621e3cc927d0bbc38272b96c5b8fbb2782943b403247bb4f9e553ab389a3bbcada313bb66211bb5f93583b8b5297bbeac3bc3a0e66f5baef93ab3a285013bb9094033b86bbebbdd96ab2bb92c9173c387a3f3c3dda4abe5e36233cf4c6e53b2e8820bc95ac5fbe3bf1d8bb618a153c7d929bbc5ed349bef8ce84bc9b882a3c83599bbca8b823becd9365bc811cb03bbc6d89bc56f5ecbdac6d54bcf63bad3ba3ef5cbca4ab7ebd90c708bc64e4a73a7abe1bbc964a84bc24b625bbf899cfbabdf98e3ae901983c61f5243bdf9a06bb5f0d943b3d5071bc11788c3c25a4ac3ffe14b13bd8fe1dbc2c9f703c7e41a03f8e89c43bb9e445bce3eaa43cfd8e903f8ebfe63b8f651bbc4c51b93c706f6d3fc9b7d93b662c13bc25e3ad3c1bce323fe8f8953b0a389fbb07aaa83c7572ec3eaf32733bf97ab5bbb521b43c29e46b3ef6ad0d3b897c18bce6d9fd3c3b2efc3cacb379b9a2e10d36163ee0b783bed8bd9e1c52be38ca1a3d00000000000000009f4743be7a551f3d0000000000000000115a19beb9d8d83c00000000000000004192e6bdfcd39f3c0000000000000000efbba9bd3914843c0000000000000000fea862bdaa624f3c000000000000000047e2f8bc1efa223c000000000000000064b251bb9d6c973b0000000000000000eccf3cbc9bf9113c000000000000000000000000000000000000000000000000e400963a754c83bbcb539c3b63ed1e3df587e1380bedb6bac7cdca3bd73e1f3dc0da29ba802ab5b98685f73b60ff023d54a115b9c4edc43a58d1013ccc2eb73c0d0486ba3345543a24fb933b67ff8f3c15f4c7b9c127083ba3213c3b41c4313cae0b41ba9078c53a199a323a28d2383b0000000000000000000000000000000000000000000000000000000000000000a1e2013c7565dabb0a9236bb2baf853bf86e263c5f67b5bbd19d08bbfc1bec3a54893c3c4c4668bb82652bbb4c42013bdc9d4b3c307b89bbd8a9e8ba01320938db8e063c78c1c6ba2dbbd1b99e9c57ba08a9893b87173cba79beeeb7aa859dbbc9d7313b14b013baedad2e3b2d0e9abb0000000000000000000000000000000000000000000000000000000000000000e849843b65a45cbe576f2bbaaa31ac3b6cd292ba34b559be34d6f4bb6ef17c3b0a2819bc3f8042be13be95bceaba7b3b4ab72bbc56001dbebde29cbc3c5e503b420509bca492dcbd772484bccafe223b963d9cbb622284bde203f4bbab1c85ba1dfac4baac7c6cbc1c193ebb408e03bb000000000000000000000000000000000000000000000000000000000000803fc850c3baae858e3c9d3ce5bd9997ac3fa94290b9d87f453c293a97bd008b8f3f02ac213b8af7053c820566bd6ac36c3f7dc9953a3b4e153c422039bd2a60323fffff903a7ebeea3b47c6e4bcd3bbe83efbad583a6ab7a33be5b2ddbba1186b3eda54a2ba2b5f9f3b84a7bb3ac590413c0000000000000000000000000000000000000000000000000000000000000000d6bbe1bd32e3763c0000000000000000924685bd99c11b3c0000000000000000c21525bd71f9983b00000000000000001fa7b8bc8c07a53b000000000000000009e722bccd6cb53a0000000000000000b5efdbb99832f23a0000000000000000ef39943b30fded3a00000000000000000000000000000000000000000000000000000000000000000000000000000000260fb8bb85ec0a3c056ae63c6ba6d83b4acb8fbb00111d3c8100e33c487d303cc3a072bba67b1d3c4e25bb3c1b19313cf6adc0bab24bda3b90708e3c2f662c3cf0d8c4bac61ce83b74753c3c1f0d123c7ba278395fbd503bae74f23b707ce93bf3d9833ab68ac039e9c0963a53d6823b0000000000000000000000000000000000000000000000000000000000000000984f57395509d9badd2f13ba7fb3b43b968e05ba432bbeba91cb0abbe80da23bfa29703a6f0c0fbb78f174ba8aa4d5b9d950323a5d797cbafde921bbe32f2ebac424733a2947adbad62168bb614f3b3b4fbb1bb987098aba2b90b3bb3235ae3bf142e339450aa4b93deec8bbcada173c0000000000000000000000000000000000000000000000000000000000000000770d42be064ea6bc7af73c3cf1ffc9bad08a42beb40fcdbcb5b11b3cd938abb976802bbe0d1703bd7f90083c87e473b99fb40bbee7a701bdb4a6f03bc3113cba95cecebd3e13d8bcec8b9c3b53823639ca9281bd7d6c90bc0a31a83b0dfd2039d3baa4bc6c9c0abcc328683b583c24ba0000000000000000000000000000000000000000000000000000803f000000000e8e6f3cfe32d4bd4b49a83f443da5bd3eb12b3cf89096bd98648c3f4dab22bd1a8e0f3c20ab7ebd4cb6663f2402b0bcbf0d013c5f5a54bdd7652f3f7c8626bcf278c63bce6025bdaf12ed3efd1c9bbbbf50993b0854adbc2ca7783e34f40dbb2069ea3a16152fbc04ee113dd68902bc00000000000000000000000000000000000000000000000000000000000000000bf0083c0a6406bb0000000000000000d1297a3bd67920bb0000000000000000c9543c3b74b521bb000000000000000038cf4b3b37e329bb0000000000000000dc81933b6f1c67bb0000000000000000825eaa3b7bf06abb0000000000000000aea3e83bc3f540bb000000000000000000000000000000000000000000000000cedaefbbe931303c613bed3b4e8f2e3c799d28bc3b6b373c01cdc33c1849c23cb99ee7bb45a8203c2197e53c8bedc33c310ad7bbf31e463c07ebb73cf91ace3c5a75a5bb42b11e3c9b46813ca564c13c4e6538bbf144ca3ba0a35b3c319ca23ccbd2f2bad7bd7f3b4e19c03bf9b76b3cb7e694378bd3d23aeff948ba2595163c0b50cfba1198403b0c73febb1928ae3b1388d3bb1dccaf3a059010baf1c1073c0d543fbc5412933a464a8bbbfb9a113d789f1dbc3997103a4e2990bb8b33bd3cee2f04bc71d603395cdb8dbb4310903cd553eebb86a97d3a1ec9b7bb9731993c125ed4bb3924d4b86f6ce7bb9fea7e3ce871aabb3648043aca7cfbbbd696873c1534babb98f4703a88a725bc67a3833c589273bbd626473a5d7c09bca695873c505005be412b163ccde996bbed1a483b4e7563bef3319b3b45e3cdbbb58ba83bed8c67be99867cbc442d96bbf055a53b219a51becbc2cabc2d4e8cbb2298ad3b73352abe241bbebc57ecd1bb9add7a3bc747febd5a8095bc7198b9bb2b9e923bdaa09ebdd1f101bcd522fabb3864893b236feabcf1d5dd3b1451d9bbda4e3f3b76c7f83a83f3483c3dd498bb149d0b3b6447d73c6b8629beb957a83fc9dc113d3394da3c676c27be0de39d3f684b533d151ebb3c2b9307be0961893f4e979b3d0765933c8022d9bdd04a5e3fb224ae3d6e355c3c064ca5bd2f08243f351aaa3d783f423c961a61bdca36d33e1406963db026be3be7c4dcbc246a453e4ee2703d5f32e138380a1a3c13202abcbff3313d00bf293b2d2679b91176f5bd3c291d3c8ce096bc2a88063b0000000000000000c3bda3bc0afd0b3b00000000000000008f53babcd11d133b000000000000000078ceaabcff3599390000000000000000580899bc1549993a00000000000000006b218cbc84dfcd3a0000000000000000f3fc84bcc64ded3a00000000000000008cd244bc2a8bce3a0000000000000000967801bc6d6a013b000000000000000033fe11bca962653cc287c2bbbdc5ba3c62631fbce929653c889e1a3c47b2de3c663d17bc4a786d3c7def1a3cc3f5fb3c1962dcbb03e8593cf9ca333c015dff3c45a692bb8557203c3bf8b93bab7de23cc950a3bba65a1d3c4a9f2d3b1ef2ce3cfb8f52bbb691f43b00060abbd873943c48daddba1d358a3b98469dbb94023f3c0ee401bbe6c7343bdde60fbc0e030a3cf90275bc3be0713b4414073aa9652d3c6fad6ebc6ecf673bb30b65bb2235d63c473546bcdacf153b05fccbba3bdf893c7d574dbce7bb253b4874b3bb93beaf3c34a531bc8ba41e3b45c3b3bbbac98a3cf7141dbca92fe23a6a1f01bc5ae2ba3c243501bcd00f063bd73c10bc0b3c993cd002e8bb6027153bff782cbc340f9d3c8a49d3bb211ed43ac589fbbb566b973c2998debddd0ffc3c4a4bddbcce4b173c64d53fbe3fcee13bedffcdbc71b52c3ccdde39be96b768bc23b6d1bc197e3a3c2fec39be2708a5bc4054c1bc16e71f3c49d010bee47c9dbcbc06bdbca3d2223c81b1e9bd0b9175bcca80bcbcedf81c3c368a8cbdd1463cbb6987a3bc3555fd3b572809bd24ce483c84ba93bc6297d53b401523bc928bca3cf9f37cbc6312bf3b160dcb3cfad821be12618a3f41a1753ea6e6ea3c436e2cbea88f873f356c7b3e3d21b53c23ce08be2c42653f7eba7f3ee3879e3c28bce3bd401f3b3fc986713ec78e733c898aaabd39f7073f0e81523e146e4f3c6c4373bd4505ac3e57db323ebeca1f3c52361abda682233e0f20013e6e1f573b906106bbabf067bc3d0ea93de459e23a96969d3b6aa4d7bdb020123d31435cbddf11173c00000000000000007d6d72bd8ead0e3c0000000000000000d32e57bdb9cddd3b0000000000000000069051bd3937f33b00000000000000001a9037bd14c0a53b0000000000000000a75e31bd36e8d93b0000000000000000bae517bda556d43b0000000000000000d16f0bbd0198063c00000000000000004db4eabc94affa3b000000000000000097e8d6bbf3a3513c23ae48bc1ffff63cb8ec08bcf0875a3ce60bd13a1ce6063dfcd8f2bbadde443cd977dd3b249a123dd4e4b5bb2888263c5a91f63b6c1f093da07eb4bb2367313c26b6453b6ba4003debc314bb9c71903b3457043b3f4cd53ca5b651bb178bc53b5e55c0ba43a89d3ce5ae28bbeb487c3b4e40d3bbfaf66f3cf2bb30bbef019c3baee40abc2feb153c9dceadbce8cbd03b18b7f93a2f361a3bf9c3a0bca069d53b64217abb2cf6b63c581f87bcaa708d3b348a68bba2bab43c1d7b6fbc0bcf8d3b1277aabb57b2a23c0ee254bcc12b713b10f2bebb9912a83c09761dbc805b603b3892fbbb95b7a43c5adf1cbc5957233b761211bc22b0ab3c7a93e8bbfb68e03a302c14bc3e77aa3ca8a222bc847c3a3be2eaf3bb2edb803c9344c5bd4786283d398836bd58c9573ce71023be4c46cb3b08f82abde782763c16902dbe536c90bc76372dbd5559813c1aa31ebe5bb0c3bca6bf28bd7b5b813c5d7607be816aacbca54023bd8cd9703c2dd4c8bde6185cbcf20d16bd75ec523c562389bdb416f2ba3ef800bd30134e3c15bb0bbd02016a3c5bc7ebbc50e9343cc6ce81bc9a4b0b3dd6dda5bc8052e73b0807b33caef10cbebc76603f5230e73eccd5cc3ce10115bed507583f533aec3e78f0b13cc67bffbdfaba383f7285e43e306a903c96d8c6bd5f89113fb78ecd3e609d653c08b598bd4f78d13e356fb13e2fb04f3cd8f950bd84fb7f3e64e68c3e6b4c0b3c4313f5bce89bd23db7fa493e114b5d3b8163bcbbdbc2d0bcbefcf93d9bdb8c3b999503bb5ecdbabd2cf0503da164b2bd8e4d693c0000000000000000073dc8bddc58823c00000000000000005b88b9bd9d95763c00000000000000003ce6a7bda5dd3c3c00000000000000004bd09cbd243d603c00000000000000000d608dbd2ebf473c0000000000000000793e76bdf51d533c0000000000000000ffda62bd70756b3c0000000000000000c56e46bd1067633c0000000000000000e0ab98bb2dca433c4e4075bcaafd043d0705b7bb9c08173c8ac0beba5cf6103d689b9cbbf9bcf43b922b183bae6a173d18489fbbe5950e3c654c0b3bed79183d55bbe7ba422dd03b5a898ebb7099f23c085580bb4946d83bf4d04f391264d53c395ee7bac2dc593b7e7387bbfc4a9d3c78c1f7bae484843bdc04abbb9214443ce69cdcba463c643bd78519bc6493153cdce5b9bc3f80d93bdc0f1e392798803b7150a4bc1d79c33b90d318bbb9d28e3c7b0f8bbcb7a4b33bc67c3cbb1207863cf8e861bcb27ba03b4ec99dbb7d93a23cc12b6cbc2f4ca33bdde166bbe28a2c3cdecf22bc26ac2d3bfb64cebb2174a83c1b2111bc42b8843b7617a6bbf1ee7a3c221eddbbf2b4983a9540fdbbe2d57d3cc9a808bc2f98253bdf4daabb9d85633c537dafbd6a2b333d50866dbdfc39993c285b06be5e7197baca7368bd6e1da43cc3a506be6d5cd8bcb31260bd841f943cb46a06beefd615bd392f61bd418aa13c9e5dbdbdb53278bc223948bdd4a76e3c66fdb2bd91309abcaa2446bd52ab8e3c8b7d5ebde900823acf0d29bd7e165c3ce95e03bda7f2ac3cac4d0ebd4d30563c9f1984bc13311d3d3fa7e8bcb37f333c50ae853cc0e5e1bdbf11283f23f12b3fe89a9c3c1377e9bda3591d3fcc192e3fcf30833cf39bbdbd4ffc033fc0b3203f6f29683c44269abd8fe3cf3e0d53113f9ae5373ca8ba63bde8d0923e3c5ce13e25320e3ca8f221bd9c81293e35a9bb3e47fcd13bb270b7bc74b07d3d6ad17c3ed1b26f3b812611bb4d300ebd485f113e73f5503bcc2e373891cfb0bdd4525c3d1734f7bd01029e3c0000000000000000106103be2c06ac3c00000000000000001c18e4bd5f22953c0000000000000000d39edbbd54e4933c00000000000000007558a7bdcc12613c000000000000000029deb2bd8730923c00000000000000001b3396bd0755893c0000000000000000490d8cbdf3649e3c000000000000000013187cbd1a8d8e3c000000000000000020293bbb21e6ec3ba7fd2abc22b1fc3c0f9192bb55d5a73b597e2e3b6f12023d4e9f63bb943e9d3bd4d69b3ba8491a3d6b281fbb9723a13bc9739b3bc823073da27052bb0d5db83b7b5c873bd419ee3c63b5b4bad8f03d3b15b5363bd53cb33c129f1bbb781b853bb818e7b99819753cea98c2baa3bb403b499203bbd7efc03b003e06bbd663303bc582c3bb83c7813b0253bdbc21d1e23b2ac2e7ba363feb3bbcff5abc34709f3b198150bb860d9d3cf9e031bced087e3bdb14a3bbfb729d3cfd0a11bcd916443bea2992bb41b38a3cae6df6bbb7ae653beee2adbbaf818a3c66bc96bbfc6b043b0d15bbbb6f49683cc17c84bb189f8e3a5610adbb6514553cfa82ddba1f3eaab7a772a3bbbf8a1f3cf1aabbbb2ef0963a89e655bbf9a7143c0bd995bd150edb3ce98577bd6750ae3c4208d4bd9d710cbda02082bdfd42c03cde21dbbd12c389bdf51875bddfb0ba3cc530cabdc79789bd9d0e72bd3ca8aa3c6c99b1bdb4cf5dbd421763bd52959c3cd94885bdc29a10bd334f47bd18ae8e3cbe7431bd539266bce36524bdc6e9743c67b5b7bc09a6603c191d07bd85fd583cca714ebc07a2173d0268d9bc7d1e2c3c35a5613c0ba7a9bd3130e13e8d5d633f07bc6e3cd6f3a7bd2db9cb3e5305683f5548653c6b658ebd7d46a93efce4553fc467293c82924fbdb060803e1e05383f56860f3cb4241cbda8262c3e6f1b163f1a21fe3bd169bcbc36e2b83de321df3e8798923b2d6a38bcf669973cf073923e5371f63a640e553b98ef2abd6cfb143e84a49e3ac3add63b0d9fa0bd464e333dd08716be4ed2bf3c000000000000000052b125be78eeed3c000000000000000012f912be9be8c43c00000000000000009a7cffbd1cb7b23c000000000000000010eee4bd5b09b43c0000000000000000074fc8bd5ab6aa3c0000000000000000ae86b2bd5f41b43c00000000000000007bf3a3bd95e8be3c000000000000000023f389bd428e9e3c0000000000000000f50ccbbabbb2b23ad82d80bbffb1c93cdd07adbada6f66bacd05a03b49b6fa3cd9a8d0baa42f0b3a2ee8d73bc21d0b3dcdcbe0ba55555f3a0c32f33bcf4d033df82a87bab3a5b73a24f09a3b7c8bce3cc117d0ba2bd1843a50e5933bd7019c3c788428ba836ad2390f7de43a0e373f3c293590bafa99d03a944fbc3997de4d3b68ec2ebaadd27b3a990512bbfc4572bac15d3dbce8f13f3b5007ccba3ead263c9af49bbbe3832b3a52ed61bb9d327b3c1d2a83bb8fd7d8397ea26dbba89f683c7467bfb95d8ad8b9408379bb2bd0643cc5bb74ba05f70a3bdf877dbb994d313c9c701d3b0b2590ba779d1ebbee83253c4b7dca38ee9028b967b630bbb913f63b7909f43a142c09bb16d71cbbdfcc853b4a0dc8ba8f5b3dbaa1436ebab2373c3b06e24cbd044a13bc5aa95fbd68c3a93c58a181bd4a4bb5bdbfd859bddcf5c33c019092bd82e9cdbd598462bdb630ad3c256d85bdf942e1bd4bbb5dbdca4cb83c4d3663bd5685a3bdc1a455bd1e31863cf3d12abdda6e83bd8e6836bda023883cd091e7bcc5b5d5bc5f0d11bd50e8503c68d64ebc157c8e3abcd9bfbc2be5203cf28c45bb388ce83c5bf792bc3b7e0f3c18bc003cd98c47bdc8886a3e4e158c3fd005123c390b3cbdc0c5443e9bf28d3f6a50083cf19b15bdbbcc253ea683793f767fbf3ba95ed1bc0c31e43da6af593f4526b63bf68589bc91f68d3de346293f82f95d3be9412bbc3a9ae13c364bf83e1065df3a15f6acbab40f17bca72b983ebb942fb92b7efe3b7cb011bd90a5fb3d62d2f2baf085143c904d61bd6ca9993b2b6529be7f6fe33c0000000000000000d4a935be48ceee3c0000000000000000646210be502fca3c0000000000000000aae203be0039ae3c0000000000000000005dd6bd3e59b13c000000000000000015a1c3bd4d10b13c00000000000000008877a3bd05b0b13c00000000000000009b4f90bdb883c03c000000000000000043fb76bddc29ae3c0000000000000000ccdc1b382575f9ba0759473ba621983c5f66c63a7d0ecfbb72cdde3b4ee2013da24186399cc0a3bb414e1d3cbabc143db79bab39245d54bb1681313cf963fc3c702e3db81746f7ba2216113c7520c33c0f61aeb93adcabb925dfce3b4845973ca65c34ba2e7a4c3a6321323b2611203ccfe326ba89087e3ac6ca693620ea5c3b596244ba5f19a03a06f71aba07b89bbbc72203bbefce97ba3995c7babf2eef3b2649233cb0f2d7bbe41513bbe832bf3bc4ca133c8df597bb0f7bdaba7c7e013c860b143c02bc3fbb993922bbf9b1da3bcde8233cc30f43bb1168e2ba53dc863b1fa40d3cc47d7fbb37ba17bbdbbd2b3b4356f23bf77e79bb7278ce39b0aad3ba6947733b71bd55bbffa5f43a36f2bbbbfc1efc3aee6c0abb140d313a6e7a18bb54a6d5bc1fff97bd851f1bbd6a219c3c126b26bca33f2cbe299ee9bc2d60923cac6bcbbcc97e3abe86021abde0ee8f3c68a0e4bc4fe229be13bb26bdc374853cecadbdbcdbd205bedc0c28bde1c1763c52ec80bc73cac9bd5aa608bdb4834a3c5e5fd2bb298466bdaa18aebcf0f51d3cd3c9463a2c8164bc7cf7febb6ce4923b5e31b23b2c5c9e3c1ceea4bb6a35913b3494383b35ac6ebcf7fb003d98daa83f86db7e3b97ad47bc68d5853c1f0fa13f56b4453bbdf11abc848e5b3c2bac8f3f3c98313babebbebb1e10603b76b56e3fb27ddd3afbbf61b972fe1ebc0d38373f3a7c383b411d903a3c3e90bcc4dafd3e3f600ebae26fb33bce01a3bc1f428b3e719b79ba71e8c83b5f2923bcbff37e3de1afcdba3d491d3cae9b06bdf3c174bd0d1d2ebe4fa0d53c0000000000000000159826be0963dc3c00000000000000005c1a04be4017ae3c00000000000000009128d1bd97a6873c000000000000000045d4a4bd4874733c00000000000000001e3687bde5e1783c0000000000000000458a5dbdc19b663c00000000000000007f9b1dbd8a25843c00000000000000008a1140bd0408903c000000000000000000000000000000000000000000000000847cbb3a4295d2bb45bb443c7adeb63ca241ee3a7a49cdbbfd9a553c5261c33c72f5323a9b8386bb7a7d4a3cc28a963cadc1e839a9781fbbe195453cb0bf3f3c5b17623a48c03fbb406d0f3c20b5063c1c08fb397dc75cba10038e3b02cf9f3bdb705539b554c539d5b1023b986afbba00000000000000000000000000000000000000000000000000000000000000003a67603c24c3c9bb48e96eba71ec943b8ada713cee459ebb7c4402bbe3cd403b77ad863c6bc788bbe19e2bba4a96ee3a985f6d3c407022bbe88e31ba21b179b9b9b6733c572a65bbcc6f9fb9a6c9bcb92a92263c2d592fbb6fb6683a345fafbbaced013cf46150bb835ccf3a9bc4d4bb00000000000000000000000000000000000000000000000000000000000000006aed9cbba6583ebefa9d94bcc9411c3c0e922bbb7ecc42be0da8a6bc05b6f43bdae7ddbb6aa32bbecbc9ecbc7e11e33b52f7b5bb02520dbe8cbfdcbc43a9713b6446a0ba9737d4bd81a4b4bc8f08933b15aed73bba5a88bdb49a4cbce043033ba837363c326bc9bcd62a11bb666c7e39000000000000000000000000000000000000000000000000000000000000803fc66ed6bacbe1473ce896c7bd65a6a83f1e7a3b3a77ed153cdb2995bd47368d3f915b3db81d85173c736185bd1365693f2c630e39110e113ce20166bd136e323fc5677838c4d3033c8a3a39bd3531f23ee6ec15bab490063cb82ef9bc36d7803e7eefc8ba63ddf23bb836aabc826f2f3d000000000000000000000000000000000000000000000000000000000000000009a8babd07bd483c00000000000000001f0050bd8e7ccc3b0000000000000000691b07bde89db03b00000000000000002623b2bc0ac5ca3b0000000000000000dfd170bc1cd45a3b00000000000000002a5e1bbc3f75a93b0000000000000000c19a42bcb48acb3b00000000000000000000000000000000000000000000000000000000000000000000000000000000609074bbf698883c683518bc48c3643b52683ebbd50c8f3cca3e2cbc330baf3b206319bbdc8e6a3c46af5bbcd108de3b17dec6baae7a4e3c3a5474bc63e5df3be807a1ba042a413ca91f5ebc8ae4f93bc3326bbaf495213c0ea23ebc4568d73b7f6c1fba01e4d33b10ad1bbc6e86043c0000000000000000000000000000000000000000000000000000000000000000bedaa23b242db4ba4b6cb7bae7d68cbcaee19d3b825305bb0f5620bb48e946bc259cc23a82c933b9383ee1ba5f5049bc2958843afaaa30baa2aa1dbbf37024bc94af853a3d8e93ba3a6b1cbb361cb3bbe553ec3a0cfb7dba9f068bbbf149613bf2c2893a27b690ba962a67bb70080f3c000000000000000000000000000000000000000000000000000000000000000054129fbdc501fcbc3e0f143c77102bbbc56ab1bd1d75e8bc5bd7023c81a20dbb7d5d97bdd24ce0bc99e8cf3b2b7032bbcdba79bd1c9dd2bcae88df3bf9b8eaba645e50bdeb65afbc7e91f33b566e2abb352e24bd9d7c93bcbbdfba3b1ddda6ba9247bfbca7d67abc174c0a3c10571ebb0000000000000000000000000000000000000000000000000000803f00000000910bd83bb3bc7abd38ca943f2b9f4cbdd6e7553bde4135bd77a57b3f0d00f1bc1f366f3b92a528bd7932503f978bbabc6e27683b927613bd2bd4223f23899bbc50519d3abf0000bdb19feb3e745898bc9799a13ae5a5debce13c903e989596bc35d415baccdbd4bcbf82eb3d66a4d1bc000000000000000000000000000000000000000000000000000000000000000069190c3c64ce16bb000000000000000045830f3cbf601bbb0000000000000000261ff63be71436ba0000000000000000bd501e3c17c593bb000000000000000016e2203c5ac824bb0000000000000000b8d8083c1eb760bb00000000000000008a042b3c587a56bb0000000000000000000000000000000000000000000000006c10c0bbea29ad3c27d7e7bc2699e73ced49d3bb5b88f83cdd41f9bc65eb023d50ddb5bb6258d93c37b0e2bca423093d66f49abbc3f2d73c79daf9bc85eb083d086885bba139bb3caa30efbc604bfe3c399b63bb7e97a93cfb83d6bcb548e83c673422bbcad9683cfc99a4bc1780d93cea3beabad6284c3c945d91bc262ab43c864bfbba7d5d0b3cef9180bc4a549e3c1a7a63bc35ffa13b6faf2dbbf5c250bc082223bcfe72643b5877e8bba998703b039e59bc6d72853b9a26abbb75607bba05be6bbccbefa83b063fc4bbe39e2839ce9067bce663a23bc7e4acbb22f1873bdf635bbcf3129e3b4e2cd2bbebaf263cfedf45bc4f0d803b844bc1bb8323913c1d7327bc2bc72d3bb3fe00bc3766d53c0be435bcfc86763bff09c2bb87c2ae3c8d555fbddb3eb9bac9bd18bc2fc09c3a71b9f2bd2f579ebb062c07bce5c656bade6ffebd4bd01bbc5daa1cbc99271d3bcbe8e8bdb2d9c8bb5bc548bc2b33783abd37cbbde28536bbeade2bbc64820c3be685b4bd1af9a4ba19ff29bc49a4b03a1c6792bdd06c013b73710bbc6916d93a167959bd5aa5133c6f99c7bbbc4b0e3bcdc3e3bc86b6803c805202bc0cc23f3b5d702c3cb34fc6bd820b953fa6878f3da4a0ea3b0e42bbbd44438c3fb617943dae27c93bb68d99bd20d0713fae129f3dab37803b269b7fbd5943463f3157923dd823f23ace3c58bda44d183f184d813d603a063a841231bd7853d73e31c2513dc9781dbb609304bd5215773e8164193d5200a2bb2df583bc316c913daa20963c778d05bb682a9dbc010819bd0e415b3a384ad4bb8821d5ba0000000000000000d9ffbfbb40c00f3b00000000000000000c96dcbb7c25d0ba0000000000000000883bc3bac0ec32bb00000000000000008da0bebb76f828bb00000000000000003d327fbbd225cbba0000000000000000751fbabbcc93dbb9000000000000000056b5a1bb3927a3ba0000000000000000a9a5febbb51838b80000000000000000edd0b9bb9854ba3c47b22ebd76c2533d8807debbecb7f63c79923dbd73835f3def45b8bb1489cb3c33282cbd1868533d28579cbbdd2cdb3cf2ac25bd3dac413d842262bb40c8ac3c93751bbdfca43e3d75ff61bbd681a43c3e550bbd418b283d408538bbf0818a3c420af6bc803a123d41b7e0ba40a0523c97e0c3bcde50fa3cca8400bb89033f3c9ed9b0bcaf2ee83cae1907bd7b0f253c1d8783bb3c76f9ba3da814bd27ca643c1fa0e5bb1333133c68ee08bd8d75483c2b5a9bbb40096e3b689d01bd540a373ce7fe00bc3775333cce0607bd0baa2b3c55e6e2bb44e6573ce81aebbc43642a3c421ef4bb7126a43cdb43ddbc444d213cc59cfdbb3402a83c0483bfbc11d1123c2e3d13bcd2c2f43c0a05adbc8a16f23b0ddb01bc47f3d33c395e77bd82f80e3d881ff8bc89c2d93b6c2ce5bde68eeb3c8c6dfbbc28f29b3bbf2cd3bd9050b83cbd3504bdc21ba43bf292f5bd8a17c93c7abefcbc84e5e53b6494d0bd1e7ee73c534b03bdb6f7013ce56dc7bd8244f23c780c00bd59fa013c91d495bda29b0e3dd13c01bd67e9113c5bb285bd5b56233d694decbc3a8f053c884e35bd6b8a2a3deb98d9bcb7de0f3c71ff093ca3b1bbbd22f1773fba46723e4a28d43b57e1c1bd243b6d3fda36663e62e09c3b74bc97bdb8d7453fa31e5e3ed9313f3bf19481bdeaab263fb48d473e48f7823ad5fc4cbd0facfa3ec9c22b3e19e5bfbabdd11cbd2ac4ae3e9d8d0f3ee4d9b5ba6f91f5bc96d04a3e86f7da3d9970a5bb901229bc64e0463dee18943d97ca88bba1c400bc487d44bd8866193d323ad0bc686fb13a0000000000000000ddc5d5bc2cbf84b9000000000000000029a2babc26a86f3a0000000000000000ee69c0bcdb7c0eba0000000000000000181fb6bc8e3a03b90000000000000000eacfc0bc5d5320b9000000000000000030accabc63343b3a000000000000000014a9cbbc4fabfc3a00000000000000005e81e1bcc4aa933b000000000000000077d68abb4c0d983c3c7649bd40df8a3da66dafbb3661e23c55c055bda9e0893dfbaf9abbb11dd03cbe063bbd29ae7c3df6c983bbf1c9bc3c27902ebd35126c3d333d7abbbf02b63c4a4126bdd675593d7db132bb4d16913cb05b0abd2612383d6ca42bbbb2d9823c48efe8bc0ce91f3de46ebcbab3113c3cd803b4bc03b0fc3cfe8951bb24be3c3c3335bcbc2024003da26d4abdf126863cd68f6bbbc20a50ba42e353bda3eb983c2bc30cbc73b2683cbdff48bde0e48d3c1941f9bbe6d86a3c893f39bd87da8d3c0163e9bb8cc4893c7f5137bdd432913c8e2302bc23cc9c3c88391ebd41ae703cb6d300bc4293b93cc37b0fbd1695623c64d701bc858ad03cedcffbbce1c4523c4a7c08bc1208ec3cbf3adcbc5ce82b3c9e88b8bb72a6cd3c997a81bdf3af833db71a53bd0fff303c14a5e4bdd4a76b3d36f74fbdd8a6413c2bb3fbbdd2814d3d22f357bdf3d34d3c54faf4bdcbde453dd1a559bdf3ca3d3c1d27e8bd3e99543d54e65fbdba094f3cbf89cfbdcefc573dfab051bdb5a1603cc930b3bd5ec5623d80b444bd4810683c834994bd7cc37d3dca6e3dbd74d4613c18f957bd94ec823d732c2dbd21535e3ce291e73bf87ea1bd1556473fcac8d33e7d74bb3b3aa9a5bd1e703c3fe99acb3ea2e6533b5a3185bdded3203f297bbf3eba4c913a284559bdd7cd013f64fca93e8509beb961d221bd21a4c33e4276933e11f0bdba31caf0bc79f2823e030a713eaf7a66bb854f94bce331083ec516393e6f47bcbb10c58abbf711983c6337013eed2aa0bbc54888bbdde760bdb0ae8e3dc9e43ebd85d66f3b0000000000000000802945bd1d51bb3a00000000000000000bcb3dbd721eff3a0000000000000000b7942ebd7bd6173b0000000000000000e76531bde8fcb63a0000000000000000077c35bd3a54673b0000000000000000326647bd22eb9c3b0000000000000000d25442bd5fc5c43b0000000000000000b00746bdc70df23b00000000000000005b8059bb82298f3c58f44cbdf093983dcf3a87bb2397b93ce01248bdc9f3903de6015fbbab51993c32da29bdfb317a3d28eb44bb1c30aa3c091321bd71b96a3d762c04bbcff0713c492118bd4b58463d637740bb80fd853c674bf7bcc7bf2d3d2ce2f3bacf8a3d3caab1c1bc8bd20e3d8670d7baa105203c6fa9a0bc4624ef3cde009bba2314133c72899abcd5a9e13c644f6cbd8f7a953c6a496cbb11c48e3bd43b70bd70bfc03c28a7cdbb37e2803c7fb552bd91ac993cd283a6bbfa3c543c04fe51bd576e9c3ce2ca00bcb006a13cb9fa24bd1cff553c8fe4aebb4224453c885b2cbdae0f8f3cee93cdbb361ec43c3cd80bbd8563593c755dbcbbaa09af3c097b00bd7f3e613c5e2cb8bbd155e03ce0bee3bc73e3333cec32dbbb5460c23c7cf692bdd1cea53de35d86bd6f2e8b3cfaefe0bd61f0933d11a78fbd86f2623ce89adfbdbd8b773d55d086bd776c783c58e6f3bded087b3d759b8ebdd432933cc7f2b6bd81db7d3d3a9f74bd01e2743c06a8cfbdff30843de98488bd87d6963c9021a7bdb96b863d58e872bd368e8c3c705891bdf0bf913dc39978bd668d993c769b61bdddd5933d45214dbddee58d3cc577923b26e080bda7dc173f67e3183fd0158b3a78cd6dbd95ee0a3f301b143f4f98013b5f6240bdcde1e93e5121063f671bba39f9231abdf0efbb3e716ef13e949cec3ab503f2bcb67c8a3ee0e6c03efa7f73bb5b129bbce54b313eba08a63e387457bb4e4529bc682ea83d8b49753ea782efbb2be11f3b911227bc3dd02b3e819d95bbf661e93a9b7989bd1240b73d74f386bdd348bb3b0000000000000000411c8dbdf3a5af3b0000000000000000ba7283bd1910c63b0000000000000000f0e884bd7030cd3b000000000000000087236fbd0a4ff63b0000000000000000772083bde2a8e63b0000000000000000dcbe80bdd2c2123c0000000000000000cba487bd04bc413c000000000000000045ca83bdbeb13b3c0000000000000000e85a22bb7922853cf52d2fbdb5178a3d8a4141bbfb8d8f3cb26c12bdda6d773dc4031bbb62b0803c4b15e9bc8841593d2dfa00bb35a2613c67cfc9bc01d2393dd01dd4ba3ab56b3c9309bfbc808b1f3d83f86aba0a2c173c0af47dbc53ef003d37fc9fb900fde33b16b746bc8862c53ce85f13b85aaeb33b447effbbec568b3c9a6b8bbaa343d93be5203fbcf3cea43c22e763bdf11fa33ce7c3afbb58e90b3ca36d68bd2ac9c03cdf53dbbb6328983c1f614fbd4178a83c3a36cbbb1ef4923ca65039bd3aa1a63c6844cbbb383da03c85de29bdf5ac903c8abddabbde19a63cfbbc0fbd7481813cb1fdc6bbffb2af3cf7cdeebc0c5f633cde81d7bbf5c1b53c3395c9bc1d224c3cfb41c2bb07b1b43ca649b8bce20f0e3c50679fbbe9de9c3c85449bbda3faa73d10c49abd83c68e3c1e06dbbd29a0843dbfe2a2bdda1ca73c51fbe7bd5bea4c3d511e9fbd28d8a23cc1b7e3bdb450463da8d59bbdf825943ced08d5bd34225c3d1bea9abdb8b2ad3c69e2bfbd6ff15b3d535d91bd3c43a13c5497a2bd30e06e3dbb478bbd0b97ae3cf49682bdab76843d0fb480bdb7f1b03c6b4b49bd3c478b3de31759bddb7d9f3c75fc803ba13d34bd8cbbd03e7d23493fb127c73af4ec23bd8ad8b93e9b19453f8275133a4a6af8bc93fa9b3ed234333f66d08dbae218b3bce645713e48571b3f6fbec7ba172b5ebc1e66283e4b84013f9c022abb3a2efebbf0c0c13d80a8cd3ea16959bbe427c13920f0dd3c8f1f973e100cbabbd2de193c3dc01bbda8d0453e5ee388bb47a7f33b7fba95bd7167c03dfd5caabd8ad9133c0000000000000000c690b7bd0392dc3b00000000000000008fe5abbd0a17023c000000000000000075eaa0bd19b30b3c000000000000000075d19fbdd2af193c000000000000000084349bbd1784333c0000000000000000ab579fbd7be74c3c00000000000000000af7a4bd17e86f3c000000000000000074c492bdbd6d6b3c000000000000000044b084ba37a0103ccbe0c5bca8f9453d93cd9cbaa5be053c2e0369bc0568243ddd6b81ba4fb61b3c908675bc81d60b3d879246b950ebe63b23cdd0bb087bdb3c7b2a0bbae9cfc43bb14704bcffe1b93cc3b71cb93f6fa73bf171f2ba5f2e623caf6b53ba6d52493b80b7a2bba005543c0140b13a1b769ab9a41c963b7b9cfe3a78be3839e32e163a21a6a8bac27de73bfccd39bd1fc79d3c441a5ebb5cda2a3c93072fbda8feac3cdc318abbe5bc823c4c3215bdfb76893c40a299bbb0f85f3cc9a105bdaa5f8e3c2c9fa7bb21a7813c81fbf0bc5560633cb3ff89bb7c536e3c3cefbdbc0ef2553cfc9287bb7864803ce10395bc066f2c3cd08329bb5057803c925556bc0e8f1d3c7c2186bbb866623c410943bcd258d63bd93e1ebb6aff3d3cd5bb8cbd445d723dbb8995bd6481973c27b7bdbd6f02fb3ce73aa1bd8b31a43cbfe6b8bd1046d43c353397bdc748993c5281bfbdff10963cdc819abd599e9a3c99eea5bd9334e73ccd8d8ebd8f93983cec9598bd5c15f43c50228ebde147a63cac0b65bdc6de1f3dde477dbdccb5913c23c430bd9eaf353dadb96bbdff94a63cd9ec06bd8515523d383940bdd552943c405f33b98acecbbcc83d6e3e3a66793fe5576b39af09a6bcb00f483ec9be743f6c4d7b39a03b6fbc2eb0283e6d19533f46d440ba106e07bce3c8ee3dd15b3b3f7f9697ba386740bbfa76973da464163fea5c29bbb345943a3ca0eb3ceb7bec3e937530bbd7ae333bb60629bc6859a33ebf0b75bb38fe473c477f56bd8034443e26a380bb41e9423cb0fc91bd9714983d17e0c2bd2729213c00000000000000002468d2bd6f2e093c00000000000000009cb9b1bdc19a293c000000000000000007bbb0bda1b2313c000000000000000016b7a0bde09e423c000000000000000064aca4bd3684543c0000000000000000a4df9bbd69487d3c00000000000000004084a6bdde50883c0000000000000000d2f595bd7ecb863c0000000000000000a0ea73b9c11d5e3b6264a6bb1c3dae3cbb3a153a6ec5dbba33f8563c355f2f3c550d0d39401f9abaec93533cc671153cf905c73986e80a39bad4433cfc9a673b7bb3cc392ad5fbb8db443c3c804ef4b9fb98333ac5a1e4ba12f6713c05fc86bb81a6bb39ef3612bbac03473c4b8ccbbb27c95c3a518dbcbb0ef1653c05460ebc901c443aceb2f9bad10de83bf28ccfbbf613c2bc6151493c0b1c13bb04860a3c28787abcfb6b533c5802f8baa56de03b6c104bbc34e3323ce5b7bcbac4faf53be03121bc3c55203c3e01d1ba5aa7c83b80c3edbb0687073c1519deba1724033c227a6ebba6c7d23b2d7c9bba0970533ad47d37ba021ca23b91e181ba4689c03b69e8853af1c43d3b57ce593a235a71ba0d28723aa7e51a3b86609cbaf8d5b93b26786fbd22bc783cc0227ebd02e9833c72e076bd1b7c12bda4d97dbd83b9823cb9a981bdf33437bd11e77ebd80d36d3c811978bd71b811bd7f537abdf0626f3c31975dbd48a7bbbcca546dbdb2f96e3ca31836bdba3f88bc588d54bd0985713cf041f5bc32e1ecbb9a3b37bda6036c3c8c3f4abc2656b73bb46f1ebdf4058e3c104158bc8ce4cb3c68f3febc1e5c543c326ad0394ecbebbba9d38c3dfc3c953f792aab3a0a519fbbceee543d0d818e3feb0a4d3a14bc6fbb03a51f3dbdb77a3f7d55b3b96119ff3a23d5a93c4922523f8b8135bada62653beb2e3c3b75b9263fe1deb53a4dc4f33bfbb286bc36d2f83e603678b97cb37a3baccd01bdd409a33e194ba0bace610e3cfdd648bdec021d3e7116c4ba469b1f3c626f7cbd5b070e3dcc93cabd1cf62b3c0000000000000000bbfcc2bdecbb2d3c00000000000000000898a3bd24db373c0000000000000000e66793bd57ad373c000000000000000031fe84bd5b19353c00000000000000004de687bd99e74f3c000000000000000041a283bd7d914f3c0000000000000000289686bd769e6d3c0000000000000000c69583bd3aeb773c000000000000000000000000000000000000000000000000e21c8a3a5fb788bba5a9a53c38f03bbc8fea923a7c1563bba7beae3ce0fa86bc37b09b3a2df28ebbc12fa83cf6b693bc73828e3aec9efcbab9558e3c15a39abcf4a5583af1e534bb286b803c363995bc214db33a0f1799bb81fc7f3c31338abcb9146c3a597396bba31a723c8c5c91bc00000000000000000000000000000000000000000000000000000000000000000603883b0cb46b3b219d63b93ab5033bda6ff03b40e7023b90a9e8b953969a3a7a12e03bfd88053b4d5a0dba71dd003b05ebeb3b8157af3a84189cbac9a365baba49193c489f3a3a8b9a423a2e92343b3421353c71f993bafc3172b97c0809bbe26b473c32deadba0ca66f3a3fc100bb0000000000000000000000000000000000000000000000000000000000000000a98c10bd1fb889bd535807bdb732d63be147f5bc9c0898bdcec1e6bcc25ed03b571bf4bc9c8e7fbd8bcde1bc677b6e3be9cebdbcdb6d56bdcc33d9bced7aa13b15778dbc04e330bd796ac6bcb015a13b68caa5bb85a012bd352fa6bc4022b53b95d5353bb1afa8bc0c5263bceca1b43b000000000000000000000000000000000000000000000000000000000000803ff0bc413a718ded3b2e436dbde565953f817d9039eb33ef3b11bf30bddf397d3f082c2f3a5106c73b0a0134bd71f2513f59231d3b89bdd63bd6512dbd84d8253f8a2047bbf6e4c43b447a2abd55c7f23e0a3ded3acc29923bb5391ebded28973e21be7f3a68e96f3b03bb23bdd818043e00000000000000000000000000000000000000000000000000000000000000001f006cbd9669ef3b000000000000000084881bbdd891aa3b0000000000000000a54bfdbcf363d13b0000000000000000d148d1bcb8fda53b00000000000000005704d2bcc6e9c43b0000000000000000ce54ccbc2a23ed3b0000000000000000406302bd20dde43b00000000000000000000000000000000000000000000000000000000000000000000000000000000f1c12fbcf5f4083cf391393d4c34003c76a8f3bb7239123ce460373decb8133c0fb3a3bba14c403c704a103d3a54413cd200abba0c33233c0e3aeb3c7496323c406c52bb5a97193c7b26bd3c3bf7503b609f9eba498bcc3b41b33a3c6a88343b555634ba835b6d3b01ce843be495e6ba00000000000000000000000000000000000000000000000000000000000000006c3798bba4a09fba04190a3a482d003d39f0583920d2d4ba4176a9ba0602943cfb3d513b7cf880b80c583fbb00fae43b49355e3bd9843cb9ce9c06bc165f593ba707d43b007b07ba1630c6bba0860abba423813ba4e5043bd7b2f9bb092ab1bb64233b3b326ddb3a7271fdbb06ad79bb000000000000000000000000000000000000000000000000000000000000000042eb7ebe663aeb3a51ef413c6be022bb8b1c6cbe836e51bc70e2e93b33cf88b9826b5bbe9a8addbc588e633bfb6da6ba6d962fbe560addbc48cc833b24f372bab7deefbd28dfcebc02c8b73a2085a0babb5b73bdd5abb1bcc3c97eba263c89ba2acb0ebcf19014bc1aa5c5ba81d594ba0000000000000000000000000000000000000000000000000000803f0000000069b0c83cb7a007bec374ae3fe1dbf1bdb10d933ce40dacbd8436903ff3c881bd85a7833c50d389bd64e1723f71862bbd9995683caa462fbd55fe343f1217c8bc9faf423cf7d690bcc327e83e425df9bb6bdf143c8f53953b35c6643edce90f3c6a0fb13b6079b83c3b61a1bb284e0c3c000000000000000000000000000000000000000000000000000000000000000061b3893cf0fb1abc0000000000000000a38e1f3cf76b0ebc00000000000000000fe9b03b5270cebb00000000000000001f187d3b5247cabb00000000000000005559aa3b8e2ebbbb0000000000000000f269273b3f9b80bb0000000000000000c8cf183cdd81c1bb000000000000000000000000000000000000000000000000740639bc169f633bbc8ecd3cd2ab933bc0ae53bce825833b76cd313d70bed63b3f4310bcdcb9213c816c3a3da5704d3cdc65f0bb83c4463caad32a3d7f86423cada375bb85ba243c9446043dd95a1e3c76c1a4bb5c381a3c56fac73cb34be43b756f4ebba0f8003c0c826a3caa3f6b3a12ee3abbd03e773b1fcc113cea2021bba1d19ebbb4e137b84007313b39adeabb63d9f5bb8fac963af06a973bb15dfe3c8fb4b5bb1926413a101155ba0e401c3d71468eba19fa1c3a04818339b197ac3c08c7773b4764ab3abae23fbb2888643c1e0fae3b1a50b23a486babbb049ac03b1f6cc73bff35533b904bd5bbf2cd52bbd0c0013cffcd013bd16bf9bb37b0a4bb4988cc3b6219eb3975af12bc9e2bdbbbed972a3b62bec93a4008c3bbf5ea143b342322be121ac03c4b84dfbbcfcab5392da755bed312613cc73332bc7558503b196975be8ef25ebc70a3f6bb80532b3bbadc61be259cc2bc22ac12bc91bdde3a535b2fbeada2e4bc650648bc8d9b393b54c2e6bdf0e602bd286940bc341c003b72d066bdecfccabc84472cbca8fdfc3a6ef03fbc306f82bc6b1e17bc7d5c5b3b0692ae3cafae9e3a7f63d2bb50282e391c613a3d7bd866beef2fae3f85e0cebb7962213de1143dbece9b993f443b1a3d9b89093dc32e23bee4a08d3f14663a3d925ff73c8e13f9bd0a66663f5fd46b3dc969c23cdbe6a2bd4b42283fa05a8f3dffd6aa3c0a5726bd70ead23e37f6973df4d9823c843921bc296d3b3eee338d3dbe2b143c2a9c883cc2b6613cb382753de287093cf5eadc3cde0e16bed234bf3caed188bbcc55f3ba0000000000000000f6006cbc8dcd81ba0000000000000000a71095bc4a9452ba000000000000000011d688bcc78448bb00000000000000006bc083bcb8c694ba000000000000000028738bbcd5fa9cb900000000000000008c7e87bc4c3e6a3900000000000000004d4b82bcef142b3b00000000000000005c94a3bb7045003b000000000000000016fbd6bbaaff3bba6f2f9a3c8ae3063cf03605bcf462903be98d0a3d984c5d3c574412bc209e003c52ae223d7467933c2275c5bb05380f3c20b51b3d415e873cc6ec6ebbabf6003cb313dd3c829f593c1c96bbbb3b1bfb3baf85c03cea5cbf3b63d9b8bbc7dac83bfcc46f3c73c62d3b30aceabb0a52923bcc150a3ceddf94bbe97cd7bb206b863aa38c983b4daddebb85c70bbc96322c3b9409993b7e5a923ce23a8dbbb5aa163bdb524a3b9c75c33cf004313abb447b3aef88963b0731803c3e72673b8cd98d3ba6544eb891a50a3c82afe63be60f4a3b96d787bbc71f9d3b09ae2d3c0ffc2d3b1acc3fbb3da7b4bad78f023c60e17f3b7905c5bb539972bbe5093f3c29e7c6bac905c9bb7a2c94ba9c2af23a97a9de3a18903cbb2271823a52d9dcbde7d7eb3c1303d3bcb5eaba3b902c3dbea17f6fbb4014c2bc24a4f33bacf751bea567f2bc3eccbebc53d0fc3b69903abe617328bd13cdeebc39b5013c9a4a0fbe30a82bbdbc71d0bc6d4eff3ba56ebbbdd33a2cbd80becbbc1ef1fd3be3b42dbdb96b00bdcd9ab6bca24fb43b3cf7f2bb10328dbc01ba6abccc7fce3b67966a3c80121f3bbf19e8bbabc5983b4d7c1b3dd6ec57beb6c38e3f59df543e7aba2c3d022f5dbe60cd8c3f1d325e3ef6630d3db28536be4b5f783fe20d613edccefc3c76700bbed801463f8fe35c3e0717d63c507bc4bd3a030f3f6c92453e2e60b03cafd35ebd3a3dac3ef7c4353e58dda13c133cb0bc560a113edd430a3ef897863c559b46bad88911bcdf6cb03de0b8163cec02193c040ccdbd59b2213d362f4fbde32e1c3c0000000000000000e1be71bda1ba073c00000000000000002c2762bd3f4bdb3b0000000000000000da955bbd21a6023c0000000000000000adcc41bd34b1a13b0000000000000000eb813ebd1d63db3b0000000000000000dcd317bdc3270a3c0000000000000000d10a00bda24af83b000000000000000095edc0bca4ffed3b0000000000000000407405bbc8ef96bb45e4693c6e07453cd2afbfbb183b06b8c99be63c14d9a93c3e73a9bb8efb943b56cdf93c018ed23cff1e8dbb0183b23b9d34e43c10ccab3c8d727cbb0650ba3bc20cc13cd6b67f3c456d98bb0d64be3b4287923c77e70d3cff1fbebbda7d983b23e1563c090b653b12d7f9bb90308a3b028deb3b09e57dbbf3ae41bbb4b052bbe71bb63b99f70abc90b8f7bb1b9d053ba58eca3b6549c13b976588bbdbb1833bc171953b30fd823c0acb783b9cd5d63a018d7f3b351eeb3b4260dd3b27c5973b0b93ec3a00bf603b593b333c8070173bbf0e34ba23ff31bad0c9443c28cb813bd2cb46bbfb07debb8c1f373c6fbbd73a181c08bb2b0bd2bb196d303cd37c54bb756d01bbed6e8fbbd537a93b1b57853a2a8f95ba343058ba7823b7bd41069b3c1b831bbd8a6f463c5f6b14be7fbed7bc28a21bbd790d4b3c9ed41fbea9b573bddad420bd18d0603cd2e00bbe52808bbdf76c20bd05db5f3c0b64d4bd63a990bd54c61dbd121f613cb15e80bd86ef72bd109806bd3ae6473c6c1cfbbc80d823bdcd3ae4bc09a3303cc05a63bbac2d95bc11a284bc090d133c4478793cc644d33b665035bc6f2fe73b9ee4f23cbd1944beeb256d3fd924e03ef16d0e3d371446be2a6c613ff771e83ee4bbf53cdc2824beb2db443f5929e23e491aca3c1d39f6bda7c8193fc0c5ce3ee53cca3c79e7b0bdd0e1d93e1e3cb53e80beae3ca4d04fbd67b8803e78de8e3e0aed873c69d5cbbcc13ed33d4871453eef116f3c1e0ef9bbd12004bcaeb8d73d557d543caa4e84bb81beabbdcf01043dcb58d3bd74f6983c0000000000000000867cebbddd37b33c00000000000000004929debd54619d3c00000000000000001a01cebdf8028d3c0000000000000000e2cbb5bd108f773c0000000000000000dd839bbd80774a3c000000000000000085ec6dbde8245f3c0000000000000000d32a41bd3c8d863c00000000000000006dfa11bdf3305a3c0000000000000000aee11cba1e6fd7bbd2c2423cd71c8d3c06ae5cbb4e2f51bb1e78b13c26c4be3c3c582fbb8f4e26b971fbc03c12a6e03c935a3fbb432a493b21f6c03c1185c83c2e1748ba4745923bad0c8f3c06ee923c8aaa1cbb0d262e3bb41c7c3c1844553cc73bfdbabc74e23ab897253cab325d3b5258f1ba881b0e3a0ae2d93b78bdbebbc68356bbf6f58fba2d128a3b3cd312bccf1f1bbc264e923b705e833b4e15463bf5b3a039f961113be108bc3bc4a1ae3b1d74c23bd062413b085c813b3926543be0c73d3cf193803bc680ec3aad489bba732c473c7bb4643bb0b34bb955a39abb65af853c5f59a63a093c2c3ab91d14bc1fdc4c3c27ffd1ba05d9fcba05dba1bb62284a3cc1dd36bba93d27b9cb1dddbb4bd3513bd24933bb58698836a67128bbded775bd90b2de3aea7726bd198e643c4d77c6bd3d9175bd7e322bbda10f8a3c308dd7bd2377bcbd773535bd70d87e3c9f29c3bd25e6d6bdba023bbd0b9e8a3cbd048cbdd163a6bde6e932bdbed3553c959132bdcca49fbdddc71bbd9e295d3c3045b1bca8732abd33ffd3bc291d3b3c8306f7bad0b278bc121968bc4385033c05b7443c2db5a23bf9b839bb93c2cb3b2107ae3ca71e1dbe58972e3fa328323fd32fb13c7e6117be313a233f67fe343f35469b3c54ecf3bd3a440b3faca32a3f65089c3c9e0dbfbd7b84d83ebd23193fbce9523c3e1b80bd73f1953e66e8f33ebc97703ceb9d27bdd26f343ef1c7bc3ed7c5743cfb4bd1bc6e3c9d3de44a673edc6e393cd22a47bc6f941dbb99c6d93da270103c9b061fbbc52079bd4a3e873ce7b921beb9abea3c00000000000000002c2b29be4c44f63c0000000000000000bb4119becc46ce3c000000000000000077fa0abe99adae3c0000000000000000d196d4bd49287e3c0000000000000000e9b7c2bd86a6a03c000000000000000055c394bd8f909c3c0000000000000000730055bd96be933c0000000000000000c4fa2ebd9025953c0000000000000000e0ec1abbd6e90ebc04bb303c7ce9853c4b8706bb629ac9bb04be783cad84e03c14722fbb1a725bbb641c9d3cceed0c3d1fe1e4babd0f8e3a45109a3c99ebf83c399207bb3eca043b644e703c0fa4b63c81274cbb65eb483b6a36423c6b6a6e3c65ff29bb919a213be6b4173cd1cfb13bfef18cbb1410263bd676743bd2bf15bb5e6095ba3ea183bb53c0313b5b1dfdbb5c0245babc097d39ef854b3bf628ee3ac88c113c970cfdba8777603b1577563a9f3e763ce40943bbfea0503b8b2401bb7655963cb95b15b9d53ce63a0bb0a9bb0846b63c0717a9ba25aa343ab457b7bb3578b43c84aa9abbd118833a83a805bcde239b3ccdb2a2bbd009463831b814bcc974873ce00013bcf9d98c3a8945c7bbc2171f3cab29f8bb8f2dcb3a843a8fbb68e708bd5da9e1bc13aa2dbd5db38a3c6e034bbdf080d6bd661517bd4f328e3c3aee6cbd73e511befc7e35bd5861a83cbf264ebdc4e212bee56041bd07ed853c0ee42cbd823402be004f29bd188f7b3c5213fabc82ddbfbda6d302bd424f4a3c06658dbcb0e159bddb94bbbcfda2003cfa9e81ba8ff4babc05d7fabb7dcb823bf3f9413c8af9d03bdc241dbb0e8acd3bede34c3c35f3cebdd169da3ee030703ffb6c4f3c63f0c7bddd3fc93e8fb8703ffa853f3c14279ebd863ca63e9e83613faf5f333c4e226cbd6b497d3e014a433f0dc12b3c5a4d2fbd4457333e5fea1b3f4be32b3c330102bda509f13dcf2cdb3e0d1d2e3c3b33a0bc1629703dd85d7e3ecb5c223ca58a7abc322c5d3c3f20c73d58d5d03b21a5cabbd0b500bd3e70b9bb3b7347be8a2d1b3d0000000000000000f7f652be40392b3d00000000000000001db239be8318003d00000000000000002ea821befda9eb3c0000000000000000fc1d03be1cccb83c0000000000000000ba69cbbd3ca3b03c00000000000000001f0c96bdd0d7ae3c000000000000000058c949bd4121af3c000000000000000016fc2bbd62cfa83c0000000000000000d4f9d5b8b0f804bcca677f3b3ced8d3c41eb26ba6a31f2bbc8dd023cd379033d7c6defba38e971bba1e25a3cd40a1c3de0ab07bb953ac2366eea4b3c366e143de36767b905a8f3392a86313cd4e0d83c030152bac681303b7758213c06bc8c3cb74e91ba2ce81d3bc190893bda59093c579a7339663600b9118c433bc2a007bbaef16c3a70c2abbbd0f2b93ac955dcbba55c7c3b4a22c4bbc2c8fb3aecc075bba270833c0282fabb988fa83bd01e20bb2ec1b33ccc05d1bb4c5fa83aba1162bb981bcb3ca07fa1bbfc97523b4d51e2bb6885b93c589554bba8d3823a0f80fdbb9d50cb3c38d6b6bb007dc63a791824bc599ba13cafd607bc0728423b45a711bc5ed2913c452850bc98c7c63a47d8edbb0645043c3da7d9bb2ad8e33ad90d63bba033a5b92e1a70bdd237b8bca164843c7e4cfabbee321abe25d5e1bc2c5d8b3c170390bc830540be5f9910bd1c5b8d3cf48b9ebce69b40beb9db13bdd628783c0a6c95bcc79619beef6207bdbd051f3ce62d89bc7a84e9bdcfbdcebc532ed93b0b6a22bccde582bd7efd58bc3e56463b3d897dbb8106bebce91f80ba9a7c073b61e70b3cacadcf3b0861e03b6ce2e03a70886e3bb00f50bdb01e4f3e318f8f3fc0f0893b3eb541bd18ed2b3eecfa913f5c29273bb9bb10bd7ddd083e01dc853f4ab2623b43cdd2bcd80ed13d867e633f42e49f3b7599a7bc9c1da13df1052f3fc7e0823b4f4f8ebc09ff7a3dc59eee3ee808813b899d6abc4259313dfa2f7d3ebaf1e63b66af4ebc9fbfcd3cd9698c3d7afb8a3be24329bc68aae63afbe02dbd71c55bbe85a7373d00000000000000006b6b62bee9f82d3d000000000000000078a943be6c8b0a3d0000000000000000e6ce23be5450e63c0000000000000000c756fdbd560dcb3c00000000000000007e83bdbdd22eba3c00000000000000000b5e7dbd4c8aaf3c0000000000000000ca8514bdd765993c000000000000000018d5edbcbc10883c0000000000000000acf57fb9517b2fbc0693c63a4097be3c93e78339716db6bb63489db967272e3d797624ba797496bb4d86053cf6ba463d1d3358b91ddfbfba6c89133cf8f8323d06e8d739bb6a483b6bd2003c7ef2043d755b283ad7e4fd3a45bae33b2e46d13cf9c49a3acb99813a4d86b63b7c41343c20a11d3b145bb8390e59293b4919a3b9fbe1e73ad2ce18bbabeea5ba4b3112bc9d6d4d3ca45845bcc81f393a388b943a64b5943cf3446ebcda18553b890b95bb0bd7bf3c80d01abcd7304d3bd3a858bb0746e23c8baceebb1c49ba3ada239ebb17f3dd3c7882ccbb48c9cab87464d7bbbce6c33c8393c7bb1dc8ce3ad2df14bc53b79a3cc0dfecbb2ef9e93ae65101bcf6ab713ca293e6bb1ca1173b616deebbdc94063cafdc1cbc16c7d63ae365e9bbb666be3c70e207be9ed178b974ba653ca880a83c657143be36441bba7f183b3cf1d1c13be4166fbebfc693bc783d313c7af474bac93564befdd3b4bcbe65123cd0ccedbb2b9f38be22cbadbc06fa5a3bbab81cbc776306be7bad89bc266831baeb7121bc784a92bd61e029bccc1a48ba143606bcd826c0bce6641339ce6dc8bb7bbebc3b4ff47c3ca461823cd76fc3bbd41299bb32ee88bb2f18febb2afdae3fba2e62bb0a430ebc9c02583cd7569b3fd26fe8ba7b6389bbc1bec5ba91f3913f36e5e8ba11d41ebbae5b4d3b063d723f409195b9d7c609bb0a71d83b1484373f5306163b66929cbb27d0ac3cc74bf03e190aba3a5c7fbdbb0363ee3c9da16d3e7d17463bec3f1bbc4cc1103d560d433dc9e7363ace7e9cbb4086c53c227ff1bda9736bbe960f2f3d0000000000000000461f37beeb77093d000000000000000053f31ebe4edec43c0000000000000000dff7fbbd0072933c0000000000000000b6d1b5bd4bb86e3c000000000000000052425fbd17433a3c0000000000000000eb9cd2bc4c4b153c00000000000000003237a3ba7c00e43b00000000000000006109babb3be3473c000000000000000000000000000000000000000000000000849272ba50a4efbbce59543b9fbd413d60ddebbaa55725bbd88b123c37cf383d7fbabcbac625803a8e991c3c1879243df2bb88ba43e4073bbaabe13b0998fc3c7003c2b931a24e3b77de013c958bb23c8f410d3a2780063b4178733b49ee333cc3c50e3be266b6ba9456fc3af440dc390000000000000000000000000000000000000000000000000000000000000000eccd923cd71044bc111a043a3768803bc860ad3c3b15febb5b5f9e38ff0c0f3a2695bb3c6ff9b2bbc5018a39e53bbbba709daa3c18872ebb1f8f843a6f2186bba7af923c5b2b8abbd34ee63a6c6d00bc1a984f3c0a224fbb6475a3399e86cabba564023c78ac93bbc09ae43ae60c02bc00000000000000000000000000000000000000000000000000000000000000009bb3e93c467380be8ccf2e3c1c0e8a3b2f21573ce78473be1e6a6cbb5aef2d3b19dc9c3bb38564be995b73bcef53c4b95c49323bcd5f37be2c4c87bce98c80bb0d7895bbc183ffbd1d0445bcef07a3bb58b2c9bb3a9289bdd277d5bbb2c4a7bb6704f0bab6bc6bbc6a76d43b860d11bc000000000000000000000000000000000000000000000000000000000000803f01b90cbcb1f7ce3ccb6e05be2b34ae3fa01c85bbb7aa823cbf83aabdd3618f3fd70876bb63b67a3cf4cc8cbd2587703f42e031bbd59a463c23c73bbd33bc313f12b712bb7bcc283cd3f3abbc688ce23e08be0b38adb39f3b0d628b3b41a7583e3fe492ba9c9b623b0383ce3c4fb860bc0000000000000000000000000000000000000000000000000000000000000000ca84f8bd3265843c000000000000000038de84bda9bf953b0000000000000000743d33bd8f14173b0000000000000000b14e8ebc8d080db9000000000000000066b1b23a2aa788ba000000000000000010d67a3ce9d686bb0000000000000000a14cb53cc93f76ba0000000000000000000000000000000000000000000000000000000000000000000000000000000057b5f9bba85fa8ba6dfb373dfb054c3c48408bbb826771bb48813e3db2b0093c897f86bb6f50c4b91b30233d16512a3c45f259b82b85a9bac7c7fb3cde6f123c11503ab8a3c243bb95e1b23c9305b93b2a4c9939cfb212bb16f14d3c63a37f3b22569bb939dc8fbbb3c8763b04bf2e3b000000000000000000000000000000000000000000000000000000000000000005a9cabb19355bba51a306bb6fa91c3d05143fbbeb7712bbc55a68bbc98e0e3d041abdba313c9ebaef4c05bb52cdd53c3db3c8ba57e5b1ba2e3bbdbbd84cab3c8d49453a55ea85ba8f2982bb03cb833cf01a2eba2c63c2ba242d91bbaf15e73b4dd79f3924cbc2bac3fda4bbc67fd93b0000000000000000000000000000000000000000000000000000000000000000d44877bec287a0bb1907593c37ca95389e596fbe0949b7bbf0b81d3cf5be1c3b0cd55bbea83462bc5146183c21fca537696c32be5a116cbc91fc053cebbe173ae6adfcbdcb7d63bcf355ff3bfb78f0ba65a285bdcbb5e1bb12cfa83b5254cdb9c5e68dbca09fd8ba43191d3bbfbfc4ba0000000000000000000000000000000000000000000000000000803f00000000b1379b3cd916ffbd66ccaf3f6858dbbd3378383c6579adbd5af2903f47ec80bda0f0013cf8f48ebdf0bf713f357b47bdb1f2fb3b081644bd41b1343f9a5814bd3dae813b7b44dabcb21de93e4814b0bc62eefe3a99c8123a4a435f3eb86e2cbce96070ba9151a23c0064ebbbd77624bc0000000000000000000000000000000000000000000000000000000000000000c11a283c68aac4bb000000000000000014baee3bc2d7b4bb00000000000000006ccccb3b37a99cbb0000000000000000d32a063c5b1f9bbb00000000000000004d741c3c60439abb00000000000000007a5e0f3ca4b16abb00000000000000009c4c723c026f52bb00000000000000000000000000000000000000000000000038bcebbb46e16fbb0413c53c2d008e3c1b03adbb582d4ebcb37f543d9193203c49675cbb4a841ebc14de5a3d83be343c444162bba4310cbcdc6f4f3d87432c3cf0b930baa73c0abcd2f1263deccdf63b6ebf21bafe97fdbb8767f43ca4a33c3bde7e823a47fdfabb08f7973c365b13bab762f23a2bc719bc8817773ca958e5bb4a35e6ba87caf2bb6956cc3b993aa2bbaa8a70bcf323ae3a51180bbbedde373d3f3077bc73d06d3bec80edbb7fd9733d24ac4bbc4378143b2e353cbb37eb393d56613bbcf956023bad897ebba8391e3da3b704bcb240c03a725c8fbba0c2ca3c7681babb2742643976dc67bbee11723c1c9a51bb4c3398babd7786bb831b973bcae2a4ba438808bbfab8afbafe5bf9bb9bfacaba37a398bad00badbbff97c1395ed64dbe2d101c3d5922febb4a8d913b228e84be66943a3d69405cbc3243f03b17a78bbe93d1d23c283210bc1b55ea3b1c557cbe8c108d3c121212bc1a0bd43b4d3446bec6573c3cd4ee0abc86cc983b18f005be711a233cea2a21bc5c52e13b00d08dbd7238223ca07e18bcd8a2a03b298498bcf7e7893c396c22bc1984bb3ba12aa23bf38ebf3c04a2d9bb23bb363b15dc053d94173ebe3170af3fec304cbc7793eb3cd5b520be2ccd9a3f8594e63c5c8ea23cb53e02beba98893f220a2e3d1d9b7a3cf547bfbdd20e5a3f2713723dbf1a3d3cac4e63bd45311a3fb2448e3d861df53bbed9b0bc0152b43eca31973dbbde543b6886083c81af003ef770973df8273dbb134f2b3d950c6ebd4d5a923d6dd5b9ba135e4d3d62a94cbe0426043d226e36bb0408deb8000000000000000076111ebcd2e5c2b7000000000000000044ee3cbc788e36ba000000000000000048531abc565374b80000000000000000b5e508bc53d9523a000000000000000079d204bc520a213a00000000000000004238e8bbef5a523b00000000000000006abc09bc0a043a3b0000000000000000875e19b807c62e3b00000000000000003d1837bb289300bc6b688b3cd771a03ce78d17bb150b3abc2fb72f3de3f4653c56f2c6ba0f3d30bc8ef7353d8ca48b3c6e7ec1b9948c2dbcf08e2f3d07183a3cc94f93ba638621bc27330d3de2f7d43b91f4153abc6033bc183aeb3cc7b44dba7d97e23ad20e1bbc1df99b3cce6549bbf1f11ab9e1fe1fbc186d8b3c9e9a38bcc469dc386acb08bc7275583c49a450bc474fcbbca12cf13ba55669bbee9f1c3d1e24b4bc1e58f73b22fb6fbb1f44333d5838a5bcc8ca9f3b0f775cbbce91203d54896bbc9674a23b63f14cbbd76ae43c4b3851bc8ccf8a3b3af253bb6af0943c085be1bb6e1dcb3aaa335dbb3278ef3bc70ea5bbba2ef639ef948fbb23e0463b30f21d3aebf950bb12271abb5a6bd7bbabb7abbb78a337b9547860bb622108bcb3963bbed8d4a43d3f5410bd4351313c10817ebeb6e6783dfc7e06bd6906413cd9f27ebec630173d81a7eabc5860543c9a235fbe5ac4d13c6cefe8bc48c94f3c271428bee260943c2f2bd5bc655d3d3c09b2dfbdd9248e3c904edbbc48b7473c2c0d7bbdcb68873cda75b1bccb4b3a3c37c0c3bcea13e03c68f8abbc5cf4463ccf121f39cd1a263d5c3691bc852c2f3c1f24dc3ca0f81dbe0e048c3f76973c3e512ada3c6d611abe44e0853f9f6c4c3e08ef993c5a43f1bda071613f5e9b613ed9147b3ceb58a9bd85ab2b3f9aa2643ea5c2513c172f44bd6d3ee43e4a6f5d3e9a67193c46e980bc1129673e4021503e17bba53bce91173c1d94343d78ba323efb7a0a3b4a66143d79a8d7bd30450c3ec1d355b9b8e3393d781744be7ec9ba3d4e35f2bc0647f63b00000000000000006b2d0dbdee6de83b0000000000000000730f10bd579fa53b0000000000000000c98c0cbd2769a33b0000000000000000347b0abd641b053c00000000000000002b92f6bc2ab7d23b000000000000000006e5fabccd08ef3b000000000000000097acf1bcc1ff2d3c0000000000000000ff85cbbcee472d3c00000000000000000b0e073b2b6714bcc0ad5e3cf22fba3c44249d3a3e9247bcbe57133d57557c3c7711bd3a20dd54bc7deb1d3d55967c3ce07bce3a2fea43bc13e30e3d1afa393cad166f3b456d56bce3d8013df57fb93bc622003bc39e3dbcae6fcd3c776f05bb00503b3bb82434bc5cf09d3cb2c002bc1143323ac9e811bc54948b3c41a07abcff36323bd8b327bc62a0453ce80083bc4f390cbd242f403c23615dbbfc4cd73c4746c4bc8c502d3cdd5a90bbb7c4f73cabd5b6bc4c78243ca0a4bfba34f3d53cf42f71bc27a7e23b998206bb0c15813cd9ba31bc6564bf3b0a058bbb7c31113c43b09fbb8519ed3a9ebf2fba1b7c07bab678d3bac61611ba94ff39bb8ba0acbbefa5273b5eb953bbbc783abbad6435bc161672baead343b9e55285bb8b07dabbcb1f2ebe34c4cc3d274456bdf393803cc7835abe97157f3d67755cbda541963ce94a51be17dbf93cfebb40bd792e983c93112cbe6428743c3fea40bd34b0a33c16e902bef296cb3b9b9d3cbd9acea13cafeda2bd31f5d33bc8b526bd6b13a53cc5ab2ebd32307a3c283a15bd3eada53c1a8d76bcfc1aec3ca649f6bc5555933cdc75e5baf453443d7b06edbcff33913c5009933ca70602bea9345e3f496dce3efbe7ab3cedb7f8bd2ade4a3ff322e13eb436773cce28babd4ab6243f5b5de53ed3a94e3c8ac77ebdf7afec3eb9e6da3efc01133cce6403bdff2c8e3e42cdce3e0b8cf13b45081fbc6dfbe83de3cfb03ef9bbe13b29fe4a3c6cd0ccbc8f388d3ea1293b3b373f023d5e6603be72b54a3eb49ce73af440053d9c4b3bbe71e3f73dd7e77ebd60dd563c0000000000000000fed292bdeea8633c0000000000000000161e98bdfe3a5b3c00000000000000002cd58dbd6214433c000000000000000010f589bd5f9a5a3c000000000000000062bc7ebd38e85e3c000000000000000076d674bd0d6d713c0000000000000000b0c263bd2c10843c00000000000000004f8451bd6726783c000000000000000083e2ee3af2dd07bcc845523cd8d59e3c998b8a3bd2b653bc653df73cdc205a3c1627913b03d830bc4c5ddf3ce797953c03c87e3b861942bc9fb5e93cd2a2353c4032373b3a7e1ebc94319e3c344a013cdda3853b773c27bc783bb73c7aba97bbf1b77f3bc5db09bc8dd6773cfb6417bc2589743b809d00bc2ad55d3cc49d96bc0bc8233bcc0efbbb09e5333c57ecb6bce1fe06bd9d10783cc88e48bbfdef973c9b1dbabc7d46453c457980bbcc1c923c05c79fbc28d5273ccf3c9fbb4b36523c6f4824bc792f0a3c0af028bbdeee073c5d0a12bc4c47d63b7890f7ba96581d3bd5d72fba1d7d733b32a582bb6e6b36bb9029d93adc8d7cb98bdd48bbda1201bc782eeb3bf8afeabbb2e8efbab1a04cbc189e313bf485f6baa5a64dbbf05511bc88d016be5bc7c53d24198cbd2b28b43cef3727bef4cd353df74383bdb8b5c43c1d9918be9dd4cc3b662482bd8bd5d23c1deef5bd64b986bc4c1e81bdb38cdd3cce22bbbd43a50fbba2bc6dbdb3e6c83c9dc264bda3f62fbc653755bd6567db3c4160f4bc374a373c3f443abdd14dce3cca89bfbb0aefbf3cfaaf08bdb6bac93c64064d3b10184e3d0378fdbce4c4c43ce71b4e3c5f4bb8bd6c891c3f6f7f283f019d573c9bb9abbdcf2b093f8266303f2113213c6a6a74bd3da7d43ef1f52c3fde59d33bdd991abd08a08a3ef08d243fa3d8bd3b4512b7bcbc66253eacb6083f377c803bcd2df9ba6c5bf93cf642ef3e156c943bc7a5183c6eea4fbd22beab3eaabeb73ad271b53c4012f6bd073c673e80ead739bc7dcf3c0f1221becf4f043ee541cabd9a44963c000000000000000001fae2bdf277a63c0000000000000000bd8ad4bd1d70853c0000000000000000038bd5bd858e9e3c00000000000000001eafb0bd02a0843c0000000000000000ba84bfbd899f953c00000000000000009d99a6bdaf6fa13c00000000000000005378a1bdce8db53c0000000000000000f7df94bd247d9c3c0000000000000000e193693b104120bc2ff63d3c3c73363cecea913b2e0758bc6272b13c2ea2503ca5f5b43b969246bc9519ac3cc7ec6f3c735fa73b8ad92ebc9db4923c2249483c2f2b893b85ab2cbc66a69b3c386bc73b44a09d3b17ab17bcb462773c3b8a92ba17a28d3bfa2fd4bb3fd15b3c410755bceb212a3bdc6dbbbbceae393cb30e99bc8886013bfd18eabb663d313cd779acbc97bcd0bc0ec1493cb19aa1bb2ead273cc3fafabb88a0d33b17b909bb0895b63b58d06dbbfb49833b379734bba88b503b8c316f3bbbebfb3a5d8ac7ba5f9bf0ba2c3de13beb196eb9c5ce32bb050085bb6e3d093cc45160bb6ba8ebba988c18bcb8745b3cd959c4bbda820dbb512d1bbc3471763ccaee2cbc6ecabdba409e44bc947df33be77cbfbbc6b4d4bac0713ebc8177cabd14a48c3d464094bda987d93ccf33c2bda74489bcba5b88bd7bdae43cb385aabd548a5dbd40d87fbd9be6f83c26377bbd25a08abde64679bd3138e53c40e036bd86cf86bdd06b69bdd2affa3c6273d6bcafe33cbd59252dbdb4bcdb3c12524ebcd1d4a7bc897111bde267c13c0d26d939796f9c3b3047bbbc3c0abe3ca321fc3ba03f093d0898c2bc3dacb33c9a95073cb0d063bdd18fbb3e3bbe693f9204213cd8b655bd8c12993e7eda713f0ef2af3b9de20ebd1ee9573e70f0673f0254403bdaadaabc8914fe3d604d503fbda6863bf11d05bcdf4c363d6e40323f9346633b6eb65f3a5f6d11bca33e093fb8b69b3add30083cf7ea61bdbff4bd3e7b62003be12e473c8918b1bda3255a3eb40e8d3a9fc08f3c8d80e2bd6938d23d18090abe4e83bc3c000000000000000083fb18be2c4ad33c0000000000000000b9ef10beb988a13c0000000000000000dd8d04bef954b33c00000000000000007648febde0abb73c0000000000000000f961e8bd2889b63c0000000000000000e011d7bdeeffc63c000000000000000037c6bbbd9e20d13c00000000000000007c05adbdb0d0d33c0000000000000000c73fad3beb550dbca3b2033cc67ed53b7994963bd0800dbc7b522d3c09e55f3c464e9c3ba21aebbbc9171f3c71399f3c2920963bb786f3bb544d233cf69d983cb1d7ad3b2db8d0bb28ac283cc2dc313c6830883b7837bdbb47d2293c517dcc3a4e3f8b3ba5cba6bb0daf073cac029bbb21bf5c3ba53512bba25bce3b425871bc7051433b4bf657bbb5b4983bf7f793bc6f560cbc4c06a63b915bfebacf9805bbb19ff43b71b22cb9dd10e2ba6c41c3bb68dc193ce80ab6ba9f757db9fcb7c9bbe0f7823cc26283bb210195baebc5e9bb5bdd763c01da85bb17322ebbc297febbac20a13ce54b1ebc2f5c82bacb4507bca315943cca5235bcf8b0a6ba1f510bbc43d7923c832156bc4901edba0f7129bccb174b3cdde621bc36f3dbba59ed09bced4e2abd9f2eef3b09e367bd663fd43c6c1ce5bc942db4bd686660bd4092e63ce39dc4bc35ba00be20f451bd107de43c786972bcbeb60bbeb04348bdb128ec3c36811ebc1829e5bdf6a530bd2e65d63c44da72bba462b7bdd8d3ffbc5670c93c692a5c3a341f44bddb87a8bc705da73cb79ed33bf9326ebc59040dbc6dfa8d3c4770343c7635803c7901b6bb8d2c873c3478143be1c3dbbcbc881f3ebe60903f338e403b10e1aabc741ecd3dc95c943faa3a003b88786ebc32f3783dd9b9893ff213e93a1e69fcbb430a983cc84d723fc3587d3a617475bb9556ecbbae16433f9bcfbd3a515fa4ba99c0cdbc26dc0f3f1ae4a63a9ceeff3a30361bbd5e24b13e2984133b743d953a097c22bddab5253e1a71d63a76aaef3a72e747bdc4691a3dd72128be184de13c00000000000000009e6735bedb5ded3c0000000000000000c21825be8651cf3c00000000000000008dbd17be7525bb3c0000000000000000016a09beab0ec03c00000000000000009b21f5bdd4a8c83c0000000000000000c9c4d1bd3ed3ca3c0000000000000000e91db9bd375ecf3c00000000000000006a139abd0e23b83c0000000000000000a8f7873b6997c8bb775c923b14a8123cf417b93b16908ebbbf3ac1bb9f16013d4cef8e3b609090bbb7c69a394682103d2121913beb7d74bb2bec09baa59b0b3de62ba03b7d4965bb53c867b9e7a6d13c526d883bd3b305bb53d6a039a12a873c8c7a4c3bef7af9b832a7173aa026853b233f6c3b4b9f82398cc7d9377e1e36bb570b1a3b5ff7ca3a5f82beba6f1f31bc1a023d3cd0fd96bb033d37bb9fad9fbbdde5803cc3ab2cbcb8fed838c82824bcdb499a3c433810bcaa8253ba473afabb8fc5a23c3a1007bcaa12b4ba7075d7bb25aeae3c727620bc91ce4dba5e46bcbb3ad29b3cf04e2dbc701fe7bab5e692bb3c3c913cfdc71dbcae20fdba9034b9bb0f20313cda351fbcbca5e5ba985947bb1638493cc79a44bc589194ba4546bdbbf392003c8ab6ccbdd105f6bc58c2b83cf777c83cf21b32bedad769bc41b89e3c947e953c646d52be7fd8c2bcb74ca93cb0d88f3c36a64ebe4e51a6bc0e109e3c8cf56f3cf4202ebef63f88bc445e843c1ab92e3c08bbfdbd0f4f3abcc4ee603c42c8f43bef0f93bd416e67bb7e94123c8097b0baf899c4bce7960f3cb060423bd1991e3c0334d63b98a25d3c5246c43b76f90abb7c78c8bad77aa9bcd14bb13fe8d9fbba2eba0fbba908a9bcf9d8a03f41f518bb13a5c4b9cf8510bde543953fcc3c13bb4a89e039937412bd5e027c3fe4c555bb6ebec83acc7c0bbdb085433f8f9f71bac584c6ba658cbabc57db043f86eec438e8dd77ba655c33bcf0b08f3e556bd43a644aeabb17e6393c6b0f943df6fe90ba3cb95ebb6fffef3b0b78afbde61347bede89f53c00000000000000009e6827be7638cc3c0000000000000000f1f416bee9acb03c0000000000000000216103be811c943c0000000000000000dfe5debd3a95923c0000000000000000952bb4bda73a943c0000000000000000cb7e8dbd20f8913c0000000000000000931f29bdb07f6f3c0000000000000000c0ec56bdde99983c0000000000000000000000000000000000000000000000002892353b6aa14cbb918886bb7d87293d8663593b0cb820bbe002cfbb9fa43d3dbd415b3bae57f0ba1c6d8cbb2ae41e3d5e4af83a32a69a39b8af9bbbf993013d551d193b7482143adf4077bb47d2bd3c2d92653b2917e23a5640bfbbb437633c8c6c3d3b407e143b2070bfbbcf4c053b0000000000000000000000000000000000000000000000000000000000000000e3129a3ca29d30bcb217faba8c5da6bb5e8f893cfaf4ffbbf6a5d7baaf9667bb75a6a83c7f7001bc3804a1badd591cbbbc90963c7be9febb80f66cba1e146bbb2840893c6c14e9bbd58412ba90c246bbc5b42f3c9c4eb8bb208fc3baffe519bb94b8d63b408295bbebe315bb821b05bb00000000000000000000000000000000000000000000000000000000000000001dab313da4f57cbea864743b9dac1c3ca7281c3deac476be6171073b7951d23b47a2f73c2ced63bef722cfbb783b743b9fedde3c740a3dbee331a5bb41815b3be67fa83c5dc909be6d6a48bb0fb8d3390cb9383c63d397bd39c41a3b56bd13bbe3f41b3cee38c9bc5ac3193c67cd21bb000000000000000000000000000000000000000000000000000000000000803fe8a6c2bbec1b783cc700f5bdf013af3fbf6265bb3f69f03b701ea5bda998903f13379abba0d9013cd9c08ebd2893713f68204bbb3245963b890948bd1ee1333ff7295dbb00665a3b88b7e4bc3c1be73e6becc7ba4eaa93ba28811bbb9fee5a3e7361f3b91d126ebb1cf5bb3c33dd8ebc00000000000000000000000000000000000000000000000000000000000000009e9defbdc9096c3c0000000000000000eefa93bd354ec93b0000000000000000dc3e65bdd6e7fc3b0000000000000000108927bde5c4bb3b0000000000000000f310bebc03c19a3b0000000000000000643e03bc71d97c3b00000000000000003d7180bb4bb0043b0000000000000000000000000000000000000000000000000000000000000000000000000000000070dcc8bbb9061b3c665f893970edbb3c4ff84fbb7275813ba831283c158dcf3c452f27bba3f5983b4863973bbe99e63cf7a651bb246bae3b7d1630ba3d9de63c1f633abad35e4a3880af263b7484e03c995c7739b6dde4ba65f0133b9b5fb43c988325ba9b4827bb287e5ebb4d8ac43c0000000000000000000000000000000000000000000000000000000000000000ff9c083cf279a2bbc550f5bb38cccf3c52ce803ac64819bb5e91febbe4a0e23c6cbcd23a4f501fbb099208bc9076c93cf86e1a3a01eb8cbb2b3f01bc86d8c53c092cafba4cc8edba36fb04bc8108c63c87640fbb737dd0ba34b706bc020eb03c59b44fbbe40d38bb059cf9bbd0f6bc3c0000000000000000000000000000000000000000000000000000000000000000671540becf765cbd88df8e3cff9a3ebb28f252be4f6722bd8e36743c65c3b2ba0eda44be37a748bdba149b3cd4ff6abba7022ebe807d2cbde180a53cf2fef6ba922412be87251abd925bac3cd6a675bb2667cdbdcbe0c8bc2b388e3c859f50bbc89a8cbd1fe782bc8364b53ce34e52bb0000000000000000000000000000000000000000000000000000803f0000000027c5023c1005b2bd625dac3f7cd5b4bd98a9943bb19669bd5042903f032f73bda315883b893341bd3529713fbde06abdef90093b193a0abd0372393f3aea5fbd1cffc2b93b859cbcdb11003f20364dbd8e08a2bacd087bbb50d6893e1f7a2abd2acb81bb0bb5293ced787f3d9c0c6ebd000000000000000000000000000000000000000000000000000000000000000000681d3b8fa7c7b900000000000000007e6c9b3a88c0c0ba000000000000000041fe703b810786ba00000000000000009829a93b3d626aba0000000000000000486a873b098700ba0000000000000000a1c0053c1e01d3ba0000000000000000db87653cd1092dbb000000000000000000000000000000000000000000000000a31300bc68145b3ce35905bd6548793d1b39a5bb530d4c39548cea3b20817c3dc36594bbf00178ba9d0d563c19786c3da61f1cbb6fcb71bb7242873c3405573d9a3cf2ba6dadcdbbad1b973c7bc43d3dd50c95ba64b40abc2c1d9e3c2f35103d198a8739b38a34bcdc8c993c3312cc3c6367713a460361bc77d1c03ce93a013cdce680b973001cbc3371183c6c56403cb781b5bc02b6393b5d281abc2193433dfa300bbd3c82ef3bc1bb2fbc9f97823d74350cbd0f24d93bab882bbc1e58643db3ba0cbda6f0e43bd5083dbcdea0553dfdd008bd4fb3f83be9cc12bcac973b3d82a500bdc175f33b89e126bcf927263d9e00e5bc85bfed3bf0c702bc69d7003d241bc0bc9564fc3b6b88bfbb3077a83ca3caa2bc6547903b45ffe6bbc396d93c631d3ebe735b12bc1c1a893c889592bb94599abe7d75a43cba92193c24b7f7ba2ee39dbe671d773c4224463c81f646bb569e95bec09a943c8c18673c7b2f69bbdc6f83be4d66c63cf835273cdca434bb202d58be9869103defb6e83b95f934bbe10e20bef49c453d6e1af83a9f3010bb7882cdbd7317823d590b92bbd60202bb4067a4bd2454823db9462dba0f5b22bb821b9c3bff30d0bdc7d2ab3f8c31edbc86f1473b174ca1bd72339e3f341dbcbb76bdf13af22469bd0cee873f88bca33b9ed22f3ac9cd0bbd9b72583f42d0453c7ea836bb60db6dbc8abb1c3f159e773caa4200bbd2f9d83baebabf3ef210983cd6a4a3bbf5c4e03cd9cd103eec06ab3cad98febbc3e3613d381ba2bd00e8d73c844c2abccd30603d125832be2dac1ebc461e353b4a094cba000000000000000048e4db3a7f69bfba00000000000000007fee903b55d516ba00000000000000000fd3873a28450dba0000000000000000fd35823b211903bb0000000000000000a9f4c43bf21f91ba0000000000000000d48bdd3b974290ba000000000000000026aaba3b88036bba00000000000000005709643cfa30eaba00000000000000000f7c96bb4486c23bccc210bd54dcc13dd74458bbefea37bbfae227b997df9c3de29855bb7568e9bae47d0a3badd38e3d4322b5ba3fee0abcc94e923c1a0e5b3d6ec97fbaac0d12bc571e9c3c1c032a3d33668e3aa4055bbc6155c63c8895cd3c7dee033a7fea4ebca3d7c23c03cd653c6514543abc4179bc9f27fb3cb38415bc18f7953ad9aa81bc2f1bfe3c8a9206bc238d87bdbc176b3c1ec52ebc4d10743d2e3c8dbd3550893c13803fbce612823d9bfb86bde93f953c5c4c3ebc6cce6c3da9a381bda5508e3cae500ebcb4ac4a3da52274bdf4dd8d3c09da23bcc5c8303de4085abd3e12823c3f6615bc8202113d03ac42bd325c843cb7c5d1bb4549ed3cf82e19bd120d853c54148dbb0abd6f3c543718bdc9fa853c8bb383bbe223673c428e6abe61249a3d487d0e3c171ab2bbcec99ebed68ab63de392013cc109a6bb43639bbe864fa73db0585b3a54a1abbb5ec094bed1b0bf3dc1211abb14199cbb267a83be3c5ed23dde47c7bb1afb3fbbc8a055bec19ae53dbf765abc4daa17bbc90523be34eef03d072cc0bc1998bababce0e3bd3ef00a3e1a0405bd15f198398323b3bdf8e60c3edd6711bd51e0b03ad80d9bbbebc463bdeba7863fd02fe73dcb6cc0ba467d3bbd67a67c3f8cf8e33d9a9a48bbbe17cdbc5ddb503fdf570b3ef33eafbb7b566ebb7c4c1e3fbc8b0c3e1d299cbb3e11733c5f85d43ef0e0073e0b0ab5bbd483fd3c130a533e63f6073ec399f8bbba7f313d1e15ee3cc133f73da080e9bbf2b4823dec781abe84b2e23d9dcb0bbc3bdf823d9ae86dbe9470ae3d08c7b13b3a7d423a0000000000000000c7f5493bd34d9fba0000000000000000c7b09d3b2b3fdcba0000000000000000b23db63b08c860ba0000000000000000e5a8b23b4be0f9ba000000000000000078276a3b6d66c1ba0000000000000000f9f7a03b7c9ac4ba0000000000000000fadedf3b2ed813bb0000000000000000744f2b3b02ea1cbb00000000000000008ccc42bb26720aba3fd8c3bcadfed63de3e3e7ba0a1518bcc7915d3c1eaa8b3d23c885babaf53bbc1bb3c13c44865a3d3a205cbac48f40bcdddbeb3c57bb1a3dace73339c33f82bc501f133dd0e88b3cdbf41c3ad7c579bc14c2123d6156673bfccb453a687c87bc84ff1a3dd4dc85bc83ce273a36f281bcd595273d5a5a12bdec0b493a3bd08cbcbbb8133db2c7ebbc7afccebd67abeb3c6bbc01bc52d4463dea21cabd3545f33c9eed00bc2691583db9c2bdbdf552fe3ca321e3bbe0a8323d41b0adbdb1bef83c3b39fbbb4bf5173d3072a3bdceabf13c10a9b2bb6cb8e73c387e8bbd08dee53c90a385bb683fad3c7c2065bdf3c4e23ce36487bb0c54333ca8702fbd2ab9ca3c4d983eba58ca413b1c7738bde29ac73cf7481dba9af42f3b79d875be8be61b3e8f21b7bb7708edbb166399be493a2d3ee80d32bc62eedbbb3e8893bec452283e6dadb3bcbef1bebbd9b483beb668263ecee9efbc58dbb4bbbe4461be9f13313ed1f41ebddab840bbc8c42dbe4ced2d3ec9df4cbdda77e738d05403bec636363ed7e277bd61f8b23a5e55a6bd058f3a3e6cd491bd594f803b26c586bd2116383eb3568fbdbc33053c006da0bbbdced1bc3606463fa41d963eebb38cbb836384bced1f303f9e3da13e42ae8bbb4a9aadb938180a3f42f3a93e208939bb10f34c3c2470bf3ef8a3a63e724b8abb9a90d93cfc06513e32faa13e3e6692bba75a083ddda9513d972a963e9dc577bbf774463d4effb7bd4597863eb4fca1bb45bc5e3d16af50bef3486b3e5cb0c1bbd2785b3dfd8783be5422343e186ca83bf81555bb0000000000000000dce23dba967c05bb00000000000000004040873a352c7bbb0000000000000000801060ba29dc1dbb000000000000000097a8203bb901acbb0000000000000000006fdc38a390a8bb000000000000000060e94ebbcf9281bb00000000000000005e7e01bc420d6ebb00000000000000004d095bbc56098abb000000000000000038694eba8af4f7bb4f2394bb62c7af3d5c8f103a38a862bca4f9c93c2a72553d0cd4a737f92753bc9bd1ca3c61731e3da2a8a23a43b58dbcc095233d35d5463caba5f1b9a4ee2cbccba1be3cf4186e3c2363103b8b9790bcb333283d47b0c8bce60aac3aa74b77bc128a0e3d9abae9bc8196f43aab7b7dbc18e11b3d91ec4bbd41ad113b6fe277bc074c183d21cf42bd0bf0ebbdcb32163d101a8bbb8c891e3d6b8ee3bd0ef1223d4153c8bb8845123dcce4c6bd1d58173d92cb9fbb0c65ee3cc685b3bdf29c183d074e7ebb838cbb3ccbc8a1bddca00b3da96665bb8d26813cfc3383bd038e063deb5c10bb8dd9c93b9e3f52bd6674fc3c8d58ab39cde4d33a9b161cbd42ede73c17ed0ebaf41ff9bbb0690bbd8e93e93c50ac023bd0b0f9bb75536bbea3a7573e915d12bd927b18bb06f083be9911593e414226bd14b235bb0d7a6bbea867453e55f265bdbb40033a2e0058bef745453e934385bd207d063aeb9f27bef998383e63bd98bd4d3eec3b4c6303be6565403ea7abafbde9e6003c2606b5bd0aed383e6813c1bd9517233ca70b3ebd913b3e3ee38fd2bda1ad603c685b0abdeab0383e6713d4bdc2cd813c0885c3bbcd6fe0bbaddc023fdf53083f51f31dbb8fc18e3ac01ad63edff50d3f86ee58bb90b61d3c90a99e3e5b630c3fb3f5ffbaafb79a3c1500363ea262093f9ae96cbb17acc13ca70bbf3df16cef3e35e107bb35450b3dabac49bdadd4e73e86fc9cbbd5091b3d9a3100be10cbbf3ed34442bbabd82a3de86a5ebee55fa23e4aa4b8bb82ea2e3db19e7ebe751a773eda94b2bb7da7b1bb00000000000000000b2425bc6b7785bb0000000000000000750668bcd6d89fbb0000000000000000778b3dbcc4c5b4bb0000000000000000dfca9ebca2dca0bb0000000000000000e074aabcfe31cdbb0000000000000000cfb0eabc79dd48bb00000000000000005ad3fbbc57b2a1bb0000000000000000c02330bd90bc30bb0000000000000000c121ff3a402635bc488ec33b4a37513d7c749f3998995dbcbe8ffe3c4ae8603c46fbf13acf0a71bc1e7b0b3d6f84483b74e9143bdf955bbc9d55153dbd4963bccec2303b2ace7abc8e78213df3b3efbcd663203b06cd52bc66460a3dcfc920bde117053b097a55bc150d053d901d4ebd71ce303b10be4cbc1bedf83c11b076bda445673b1ba558bcbaa2ff3cb0c177bdcd92d2bd491e303dfc1796bb6913d93c6d68b5bd46b3243d4ab29fba4f589c3cf1519cbdf46d203debb13cbb25547f3c39937ebd5b72103dcb67acba6717c23b5af74fbdf4310c3d71a395bafd7cb0371af610bd48ebea3ce04ac8b7660453bb37f1b4bc4504d33cfa37b03a5535cfbbad6dffbb4f05b23c9c744a3b761c6dbcd58f1dbc39beb43c014c713ae5b351bcef4b3bbe19f2623ec6078fbda4e7323a20fe3ebe26d7493e732ea2bd6eb0573bd20626be5305263ea4ebb5bd3ac7af3ba18a07bec20d193e36bacbbdb1ea0d3cbc99d4bdee99163e73fadcbdc1232b3c6f7189bd37870b3e74c6e7bdf55d7e3c1bc119bd02d60a3eead2f2bdb897933c4aea9abbdba4093ebdb4f6bdbed2b73cc24ea938c6ad143ea17ef1bda095b43cead472bbb6b2fd3aaa1a923ebbc04b3f85b7beba0cafd53b0500553e05e9523ff209a6ba080d163c8c39023e1cef4e3f8158e1ba9a458f3cb5393a3d6a35403faaab8c39be0dbb3c237a05bd62382c3f77f8faba1bc4ba3c0ecfb2bd58b5123f0c8c30bb1343dc3c9f6e15be2851ed3e835645bb55e1e73cab6c3cbef914b63ec14307bb2ac8e13c941a4dbeb8d9803e6babe5bc455991bb000000000000000020001dbd99c7c7bb0000000000000000e1ac25bd08c193bb0000000000000000143734bd8b867abb00000000000000005c2442bd165d2dbb0000000000000000eedc5fbde5f93abb00000000000000005cce78bdb588adb900000000000000002af290bd2e13763a000000000000000044f396bdc5281c3b00000000000000009d1b9d3a9ced28bc6d93743c1f8c803c5b451f3bb2b947bc1535d33cba0b6abce353163b191340bc7d9cca3cb75657bc643a3e3b500b35bc1e30bf3cf623c5bccc72043bf4791bbcd615b03c01cb00bd4ee82c3b685025bcb685a63c8ee51ebd7ad2383b0eee1bbc0e39963c5ec72dbd64015a3b2eeef4bb1739473cb8303cbda6ec043bb2e406bc6aae693c9b0835bd53c888bd7613183d366130ba810f0c3c396d2ebd7177033dcba68eba28d8fb3bf6ac08bd2802ef3cdbaa9cba3edbd93ab94b9bbce6a9d03ca6a82bba302dd9ba5ab715bcea65b43c1bf1253a30dfabbbe1f3143b7c9f8e3cd390bb3ac1f104bcfa3c2b3cfd574d3c0ed7f63af38c30bc6280a03c6f4d083cea863d3a540854bc58208f3c14ef093ce4b70d3bb22531bcff2ed8bd4023183eab4eb8bd76af0f3c22c5b1bd0d09be3d924fdabd6a4c363c4ec097bde514663da891e5bdf269753cb40d44bdb079fc3c95c4ecbde844943c32defbbc2f7cf93c00e4fabdd6f8b63cfcf144bc20f4f83c52e0efbd28ffb43c4b8da93b1e1f1f3dfec7e4bdeb47da3cd107ca3ccf09363df225d8bdb314e23c3d77da3c7b31743db7c6c6bdae71e63c2652b2ba022e883bd31ce53d63b4883f168b83bab5fcb23a19fc473d61218e3faa58063a8aab003cbe36a53cc857833fb50735b843cc043c8cb4bbbc72cb6e3ffd0772ba2bed263c66d961bd62104c3fba89b4ba7afb413c6b80a3bd4999233f2d66a4bab9b6573cd680ccbd28bcf03e65ef3cbaea054c3cacedd9bd9d30a03e3a300fbbc5b82d3c9a0af2bd52a53b3e2e4f7bbd970795bb0000000000000000625e9bbde6fdd2ba0000000000000000c2d49bbd7c3dbfba00000000000000003236a0bd42aa2bba0000000000000000be13a8bd2922193a00000000000000003266b4bd40208c3b000000000000000051a3c5bdbd9fbe3b00000000000000001e81cebd65fc123c0000000000000000b553d0bde629413c0000000000000000ab88183be9b10bbca4a1803c3de68dbc9b4a193b32c2debb0b0d603b48da7b3bab4a403b2589ecbb2f5fb43b21c66a3bdf36423be3abccbb1016d63b2d4ed3ba80522c3bea64a5bb40618a3bb5447fbb36256e3bdd6bc1bb6f9b093bd8fbe2bb02ac343be58b89bb0beab73a049d44bc028f293b7ba356bb8c4259bbd62636bc84ce753bc03730bba67b21bbeb0ab4bc983514bc89399e3c8b6b85b821dc76b835b6293ca79adb3bfffb923aee353fbbc538503c9a63bd3bcb285139966868bbeb00a93c2fdd6a3b0038a1383699bdbb67c4b93c2150bd3aafd0413a4355f3bbb677e03cc0cb1abb8ed2a03a3f7de7bbf37ee43cce52b0bb8a42a73a5a1905bc2b8ddd3c058b1ebc7c53c13a8155e3bb35d0fc3c2be7dabb3827e53a17aa04bc8f14d2bc1e4f5d3c0785c8bdff448f3c98c2dd3ad3c9d8bd04d6a5bd8954993c0037393bcacd05be8ed6adbd6192b13c63f8fa3bfa9708be0370b4bd870fb73cf122793c51b2fdbdc8e3a4bda7bab53c2211b83c751ed4bd6f5e95bdf984cc3c7c17be3cb3c390bded946fbd359ec63c3e39d83cfcd51bbd69f51abde590ba3cea6e123d721090bcc45836bd1d06bd3c995b7eb95eb3303aff81d4bca088ad3fb5112cba738a233ab790ecbc6ea6a63fe766a7ba1141503bf5af24bd8eda973f0a1d79b98fb0353becb52ebd0f50823f918dfdb98229723b387f2fbdc416523f1c6e02bba238983bfaad3abdee9c1b3f708ccdba37282b3b520623bdea22c53e6b70f7baaac6e53a1744b6bc527e213e27830fbb85420a3a04e7febc8a5a2d3d2d76e6bd693b923b00000000000000009528d3bd47449e3b0000000000000000fc2acbbd39c79b3b00000000000000006de9c1bd316cbb3b0000000000000000f3adbcbddfaf053c0000000000000000bd44bebd6e66003c000000000000000072aec1bd1ad9433c000000000000000049d5b9bd8832693c0000000000000000d236debd3a4a983c000000000000000000000000000000000000000000000000c9e37f3b674fb0bb3ad6cc3bfe4edcbb278a5e3be2de81bb65701a3a0f18fa3bd8f5553b30273bbb7554993a57d6553bb67a573bd7841cbb5dd2e4b927eb263bffd6323b3b0a8ab853ae9dbb6e538e3b32ba2e3b43172abaad05ddbbd8f2c23b51a7663be08f0d398d87f4bbcfea583a00000000000000000000000000000000000000000000000000000000000000008f961c3d392201bc45add93960f9d8bb72451a3d9d7c37bc8359703a5011d7bbedee193d774e28bc4f55a53a0046ddbbea9f113d48bc1fbc6f9a943a9e2d08bc37350f3d70ae53bccca26c3a839701bce77ce33c2c7350bce28cf23a8bd7a8bb0e75e63ccc1570bc6169343a38ed9bbb00000000000000000000000000000000000000000000000000000000000000005d5e033d337143bec81546bde2b5903c579c103d64a25ebe6f4709bdcc227a3c5a960c3d18f652be2f5b0abd00316a3c9a200a3df3e53ebe8c6ee2bc40fc533c3ede083dae6e23be2cd9a8bca96a683ccbcbf43ceda0f1bd5ab25cbb3d232c3cd730f43c71afaabd2c56ff3b081f2b3c000000000000000000000000000000000000000000000000000000000000803f35d657ba988e303a93a7aebd126cad3f1d6e26ba3699aeb9f83768bdf4cc913fb0fb9bba4546e9baef3c3dbd4ce4743fe7d484baff5768baf3c70dbdabae3d3f92f1e0b9f6e003bbd731a2bcd5ce033f472801bb310e10bb5f0c7cbbe2578d3e68e8d3ba99a6b6bba48f523c2ccd853d00000000000000000000000000000000000000000000000000000000000000002821c1bd0086163c00000000000000001d918bbdee11043c00000000000000007e4986bd02e5193c00000000000000008fde70bd9e1b1b3c00000000000000001fb263bd811e1e3c0000000000000000c0f045bdbdfd2f3c0000000000000000f47675bd65b17e3c00000000000000000000000000000000000000000000000000000000000000000000000000000000d5b2313b36ed8438972e293cc38250badd4f1e3b3658d63ab757213c3356c4b9844fe33a77b49b3a14ca053c607d123aa159e73aaa75003b9780ec3b3d9f013ba5e4193ab4f01b3bb3fa893b522b443a3074c53a7cefb039c5ee1e3b74ad973ad45c3a3a674a3ababf5eb13931ba443a0000000000000000000000000000000000000000000000000000000000000000fcfc13b8c99a4b380964013bb85fd7bca3252eb9fa0bac3692341b3b1ccbabbc9bc7f038d009d338ff36e93a443d92bc1bdd293afb2c9aba3a6afc3ad3027bbc81c701baa6892abaa7ba4c3b01dd37bc59bb86b72803c4393ecf0c3b45b9f9bb9dcf99b9b32e16383daff33aa919a7bb0000000000000000000000000000000000000000000000000000000000000000bfdb56bde51c6abcd3c8ca3ad41e963a771f4abd15dd5ebc88bb073b3109fa3911e326bdf51f41bcd601013b42ef553a15d4f0bc4d692fbc91b4253adc11a7b95963a5bc11b51abcaa1c043b5e4cc83a3d7105bc5b9b02bc1fd1bc39a592653a02e3c43b61a5e5bb965d84ba14cfce390000000000000000000000000000000000000000000000000000803f000000005c1bbabbe1c6c3bc0b17873f877712bc491bbfbbe81280bc2efb613f57beb3ba910ea2bb431e48bc2142383f54d0bd3a2a8ca8bbb6a63abc6a330f3fa8841e3a283f59bbfa5066bc2842d03e85f985ba840c00ba4a0f8fbc09df823e82ea60bb23ce3a3a2672bfbc404ce03d04d0febb0000000000000000000000000000000000000000000000000000000000000000bee496bc07a09c3b0000000000000000d8645bbcbc74483b000000000000000019dc27bc6950263b000000000000000065ac04bc9643363b0000000000000000e8cfc0bbb2a0e23900000000000000002dec21bb46eb0a3b00000000000000007ff8c8ba9232b23a000000000000000000000000000000000000000000000000a249343be4e7ffba028d323c842099b86653843b34e121ba274f5e3c18d5a1b95ea0333b2b3b023a3b77633c6838b13a215e243b4e647d3aa8b6473cdff3213b570d9f3a8ff46639b29c1a3c069f3f3b3498033bf58f573a552b003cdb03723b9e4d133bde6e02baea94803bfe37f43aae4e0c3b75635cba01d9103b65186d3a0a8f983a08f9f1ba99cc903a0c89263a8437b1389a98a53a4cb61b3b67b2e9bcf1a9ecb9421216393935ad3b4c9a04bd41abcfb9fd637539ce28753bd466e3bccfaaceb9a673c3b92ea8583b72fdc2bc463e88b9f9bfd0b85c77153b03ce94bc89b60dba5e3bf5b9ebabb23a947e83bc261c10ba72fe0539e147383bf7213fbc3cec74ba284432baad1a893b949013bc52783cba6476b43922951a3914928abb5722d5bc371225bc8af3bebbafd4843a79e35cbd743090bc9bab1dbba017e53a689960bdbfb98cbc542723badf65af3ac4c041bdcc6b83bcd903b5b9b20d423a848c07bdc7de52bc07f5a4b8835d5b3a7138aebc9c1b33bcd89ecebae596f738117006bc789d2fbca4cffabaa274353aca88eb3bc562f7bbf8ab69baf057a93ae8c79d3cc64a32bb57794fbbf48e163995778fbb00db56bd0b69873fe2cdfb3dc69f7bbb7e6a65bdb28a7c3f7c30ed3d4caea6bbbdd425bd5c47553f4230d73d0a969abba23408bd69c52d3f3712bc3d2dd562bbb137e7bc5899053fe1a9933df9875bbace1fffbca43ac23e23c1583d44fc403aa5c705bd17036f3e9169f23cea78853b84d010bd3edeca3ddfc9373c7e9ed93a4d9ef1bcdba477bc34c3c4bb82cc08bdc55ebc3b0000000000000000012915bd36d5ca3b0000000000000000692aeabcad01843b0000000000000000e790c1bc1be5373b0000000000000000da488cbcc5691a3b00000000000000007de85bbcce24c03a0000000000000000c5c93ebc847be23a0000000000000000f529e4bb55234b3b00000000000000006ddf06bc72a2453b00000000000000006df1f83a66825abb3cbd073cbee9ea3a8afd513bdb200ebbadf9463c0f753b3b4dc7453bbfaf8cba9a21393c4d407a3bbdcce93a67dfa4b98ae43c3c3bd4933be615aa3a530539baf190123ced82a53b2577903a1c0982ba0895f43b9534983bcb78383af161b9ba2bdb9d3bcbe6593bb304e03a14f022bb9c2a033b7571303b24cf923a53f81dbbc6f0ca3adb103a3b7d129dbaef6200b935b3163b6decccbca8b83eba19f01d3a4003a03bf38dfcbcbd15e7ba8fe784bad74c9b3b339cc8bc37be20b9be18a5b9983b473bfd72b9bc9287e5ba8af6e238befb083b302683bc4d3dfab841bfd2381cf8213b65a66cbce86e69bae8263cba7b46ed3ad33a31bc233324ba64ae05b848631e3b116316bc979dacb90261acb87fab453ae17cbdbbec1559bc5cfd73bb961715bcdccd683ad87c15bd1ea35dbce0f201bc5131fb3af5451abde9d06ebc9c0b86bbd4d8f43ac7411abdf17585bc612960bbf8749e3a834ac2bc44bf2fbcfa6e77bb06d5673a33db85bc840520bcac882cbba446653a0c1171bbe2e790bbad8c4dbb98a2933978131b3cebd405bbcb5562bb9eb2093a55c4733c0a6c1a3b8cdf2ebb1baaf738986c42bb2be268bde689643f4b128b3ef22bf6bad5338bbdb20e583f5f2e823eb3d43fba5cbf51bd24c5333f1a47643edeab0ebb3b1a3ebd4ea7173f0cdb403eb9caaeba964b13bda1b4e63e6774163ec26fe739c0ca1ebdd969aa3e0359e23d04f7d43a5e060ebdb8f7563e3663903d1b09a33b87cf1abd57c6bf3d163d083d53a44b3b6d91dcbcb9faaebbb938413ab7b52abd4d5a843b00000000000000007e864bbd6f04ad3b00000000000000001d7514bd74b3793b0000000000000000e90707bde047323b00000000000000003435cdbce510ea3a0000000000000000dbf5b2bcc7200e3b0000000000000000bad38bbcdd123a3b00000000000000001c126ebcd5ff2a3b000000000000000033fd20bca77e8d3a0000000000000000f1b9a53a00ac30bbdf43ea3bc320ab3b7a78313b9e190dbb10b0263c4e4fa03b2acabe3a2e04d7ba40892f3cb5b4ea3b4a79ae3a122195ba1a80243cce2dee3bbbee933add7242ba81e00d3cc9c7d63beb195a3a18cd9dba33c6e43b093bd03bcdf6b73a196f07bb6daf993bcca8a53b12dfa43a06de37bbd756313b3d27813b7e7adc38a2833fbb2290c43acb73413bf3d24bbaa3d6a1ba021e0f3b72efc0bca29a1abbf78d363a09d6353b78efddbc5fe285ba75bbad3ad337603baa8bbdbc4ec6a8b9974ff6b9a90b513b4fe49dbc8982f3b962f0f0b914160c3b560a81bc884fafb9026ca8b92f96003bc1ef55bcc36deab9bc9112ba9352ed3a8fc12fbc94a158ba9fac17b61bb9fc3a36de0cbcdb7580baf0230b39e1d24f3a2bd9c2bbd3321cbcedfe6a3934fb36bcc1a95a3aed5cdfbc7df638bc20073abc3e3ce33a5a6f0fbd64ef8ebcd6260abcbb10973aee4c01bd614b85bc973eccbb9ae7863a97f5b9bc047344bcc04f9abb3af2063a691a6ebcb6f507bc789287bb00213e3af1157bbb6eea53bbb6e493bbac948c3949b6ea3b53914d3bc1f18dbb907326395d023a3c90d0e53bef944bbb9643f7b96953b4ba2a5b63bd7bd23a3f9b3ad83ee3a3513929f78abd9903313f4587cb3e03253bba7c7f6abd0bdd183f4ef3b13e8f3872b99f0049bd8b1efb3eadf5933ec177d2383d312ebd4142c33e898d6a3e2731b43a447823bd3d798e3ed6182e3e63a7453b409119bd5bd3333e2f15e33d3eff9a3bed1511bd1aaba43d789a603dd05b313bd6c1c8bc712d04bbbee3a53b14223ebd3b1a203b000000000000000050586bbd1f316e3b00000000000000006c3942bd4f5e163b000000000000000025a11ebd7e81cd3a0000000000000000358bfcbc6d3fa23a00000000000000000a40d9bc090cd43a0000000000000000a8d4b3bcfa12e53a00000000000000007f9a9abc181a063b0000000000000000fb1348bcee4c913a0000000000000000143f683a348b3ebbdc62a43bce12e73b7db0e53a7ea617bb75bee73b69dc113c0a8e9e3a69318dba8794033ce2ce123cc4cb143acc3d87babc8d043ce302183c63c01939070a13ba555ccd3bbfbff53ba3a5153a81d9c2ba02e7bf3bc059ed3becdda2b9568e43bb341d863b6064b23b77e8453a21e321bbb750123ba60b8b3bbadd4139710519bb03bd003bfe217f3bef4de1badda129397249cc3a1ba7a1bc97b3b4ba2aacd53940706b3b740cb7bcb354fbb9c3819cba40933d3b6d6a99bc3ee521b91246873a0f6f303b7a7183bc4afe0c3ad7a15d39193fa43a989e20bc443055b707a8c1b97e60f83af3fa34bc6191aab9d6ac1aba2307113b6d8c02bc69436aba158c08b90bf9d63a9bf7fabba8ecf5b97a60a6b93565d339764abdbb3e5302bc88ed68397db65cbccbe482b80b03c2bc11e44cbca5d463bc941fd43a1b24e0bcf4718dbc35f20fbcdf900a3abb05e7bc8b5793bce07100bc6795833a33c38bbc5e0124bca6cbc4bb7884593a5e4f69bc2623e1bb8632b1bb6b0e253a140e98bb2120e7396e2c96bb1871aa39c459503babc6f23b8e049bbbf06516382f1ef23b84e1363c53525bbbb8d650bab42014b9bf4f52bd3e43133fb542133f8e30e33a53c77fbd43d0093fd23f0a3f0dcd7f3af3144abd2e14eb3eada6ec3ef84d6d3a5fce3fbd6553c53ea3ffc73ebcb0703a55b5f9bc887f933eed30963e4e7f023b869b18bd118b603e7c5a693e6b3a7a3b73a3f8bce9130c3e5ce0153eb98b933bfc51fbbc7d397f3d7315973d693f4b3bdb88b0bcf29238bb589fd43b99cb52bdc9fc4a390000000000000000111179bd9251c23a0000000000000000c2d53abd1ded0dba00000000000000008a652abda64c77b90000000000000000e102cdbc555023b90000000000000000f784ebbc5955e83900000000000000009800b4bc53c3303a0000000000000000397ca8bc411bc53a0000000000000000ddbb66bcb3ce0f3900000000000000003772ee39708026bbe960383bfa940f3c7630f73a04b2b0bab4629f3b94aa3a3cb083ba3ab53269bae17ccb3b633c3f3c50a0433a1c4b51bab47ac83bac06333cc19a583a6aaf84ba8f81ad3b9578213c56adca3949a764ba8e4c933bf808053cef9df03a3d91cfbaccd33a3b3ce1b53bc355263a2dd7e9ba35cdfd3a3261873b267d5bbaa3e2beba9f07ad3a44ee773b6cded8ba5d278539459b073b7b5186bcdda614bb9c40263ae3858d3bffb297bc0b0d7bbad88df339e53c773b798e70bc5ffdb3b9073a77b9837e453b69564fbc30279ab84d9a7db92fa7243bc25f2abcbb648739c0a1bdb9d1ba1d3b2a8d0bbc0b1c4fbaff7a733a0b3eca3ad6b5fdbb7a9a3aba013ca0ba63cbf33ac3a8cebbc1130e3972689f3917ed8e3a6b5d99bb4ac130bc5cf012bb61ed6bbc929d2439293dd6bc0d769bbc6b4887bcd669fd3a87d2fbbc6fdbd3bc8abc44bc1b36013b452fe9bcaaf6c0bc68ec1bbc29ebc33a3adfb4bcd67085bcad8dfbbb3cb64f3a462c85bc316e0cbcb66de1bb77d8783ac6dd16bc8a742c3a743acebbfe969b399cf6adba96b9323c081aa9bba595083ab3c2703be7e6563cc1e090bb8140b0b9f339093bbdf040bd8d44d83e024a3b3f14c0863b628673bd4ca4ca3ed795313fa18c5b3b41714dbda94baf3e102f193fb805513b4a2030bd3fe3903e7c38fd3e4397253b474d15bd4a14623e85ecc53e1b5b773b017906bd47c0223edc9e913e5efc873b269af0bc1eddc63d9c7c3d3e520aad3b6901d4bc6dda253d7045b43db408143b5b968ebc67ded1bb45a1bf3b2cfc60bd67ac93ba0000000000000000604588bd28e8a8b900000000000000006c6859bdf0e168ba0000000000000000041d30bdca57a8ba0000000000000000ca3d0cbd790da7ba0000000000000000f50df3bc1cbdc1b90000000000000000e07cd1bc15aeeb390000000000000000d086b4bc21ebdf3a0000000000000000eb087ebc9341c4390000000000000000ae93a03a2b92bbba3d560b3aabfe223cafdacf3aad81f8b9b91b023b96235c3c47b8a1b90deee639ee8d813baf9c423cb114813ac96cecb82c9d883be7e1453c0f7e063a8895d5b96411593bcb2d1f3cd470283a2c2875b876264c3b374b0c3c4c28123ad203f3ba9bf3073b2e6ab63bf5132f3a9f8983bab310c1399b3c4a3bb6e2263ac7a987ba071e23b921da143bab3435bb1f86c3396e06383b941f41bc8f000fbb1322a63a86878c3b34fb47bc451227bab203a53a3628913b2acc1dbc60dd91b95df8cb3919a6483b6a1905bc86b8ad391b4196b8f62b263bdbeec8bbcc15253af734ea38fc8b103bc606c7bb0dbe92bab875a8b9a5d4043b953694bb1f9a57ba96599a39ca1ce63ad5929bbb6f2735ba392213381a6f683aaf7581bb6ae482bc27aa12bc47c37bbc8ad4093ad717f5bc9d94fabc8d7191bcdf10353b6541e8bc67e20ebdd7e745bc0b3b3a3ba36feebc4ef603bd4bc93bbccd5dff3a702aa8bca2e79fbc38f204bc938b8f3aaaf493bca37144bc664a09bccbbfa73ac3bd26bc32d891ba5d60d6bb825b64391737afbb26c4473c44efd9bb9143113aa55d81b95cb68c3cbdf879bbb53adab9ca836c3bf8512abd06dc8a3e2234643f9cc2c83bef9050bd4e42813e6b77583f5e50a43bc62c1dbdcb1d603e7825343f8682873be79114bd207a393e8946183f15315d3b0dc9d6bcdce60d3e2046e83e69af893b4126d7bc4ee6c83dc1daac3e5f8e9c3b4a2ea7bc2747703d6a46593eda4aba3be7409abc8fba853c3162cc3d21f4873b7a8550bc35da55bc294205ba3c9f66bd46842dbb000000000000000023e187bd329c13bb0000000000000000743e34bd7df44abb00000000000000002abf22bd26804ebb0000000000000000c493e6bc499f2cbb0000000000000000bfbcdfbc30e3c3ba0000000000000000d9f2b8bcf747e43a000000000000000075ddb8bc76cfad3a000000000000000034bd7bbc5d40fe390000000000000000a1637a3a5b7c31ba688970b9702f3b3c498afcb9077a843ab45a843a7b84653cdf46343bdeba7b3bbf2da03b5d23853c3bd03b39a32f113a8d0e133b9d2f3d3c26b339ba89c75b3a47e6153bfae11e3c8dc5fbb9e8dca63a342e0a3b9842df3bccead939afc61438a2f5c7395920bd3bffca463a1df72239fe62e6b935859a3a9b7bd83ae58fb5baef8594baff496e39f3a3ffba68eab23ae37a493b2ee2d5bb89932bbba50f5b3bf2848f3b01cb48bbf537853b6651a8ba3348cb395c43b2bb8a3ff539a5028b3a4c444a3b8530ffbab5f2af3a2dab74396b47193bb19d1ebbbfa4743a388ccd398a962b3bfc50a7baf201c4390adc6c394d41be3aece515bb1f2cadb956b36e3ad2d0d23a3ad7acba5d48043a9ac3e5b9b10bba39915a56bb76a3b4bc1ffdb5bca25784bc016b7f3a688911bd3d4d54bd637fa2bcd9eb693b4786e9bce26b47bd2e6d96bc6d071d3bebf4ebbc19f039bd42b658bccc974f3bbd67b6bcb0e8fbbca5a824bc764d1b3bd9cc9bbc970ca4bcfdcc18bc156f273b31345bbc5f1e82bb410c0cbc58cf033b732f02bc65d20f3c1270f8bb1e500a3b7c365fbb17b8a53c7e0d99bbef9b8eb6575da63b60cb0cbde871ff3dbc43873f2f27f63b464214bd27f1e73da29b7c3f5bff923b7a4f00bdadb2c83db915573f4f65b13b25ccc8bc4be9aa3d2b212e3fa43f8d3b44f99fbc283f803d1401063f99b0633b1fee79bc6d3d213ddbffc23e8f248a3b2d204dbc258e813c3a70733ead8fad3bce8910bc42ec01bc56c9d03d3352513b25e100bca715a0bc6d7736bc2d4852bd4b829cbb00000000000000004b055fbdbc3e82bb0000000000000000b1801bbdbe67a2bb00000000000000001fffdabcd70e85bb0000000000000000bdd9a4bc3a0565bb0000000000000000f6dc99bc0a1d02bb0000000000000000c02295bc56311dba00000000000000003ff5a1bc9080083b0000000000000000dd8880bccc9fbb380000000000000000000000000000000000000000000000009ffb343ab4419f3a691a25b95fb32b3c1a0f1bba53faf43963979fb865cb073ca8a9483a35ac943998b62c3a5f3efb3bf8286fb917e1e33adc72ec3940e4c33bcc3e6c399770cc394e38b739d8da863bff2b0b3a1ad9783a6b2bdfb8f76dfc3a7a42eebaef9fbe3a52fb02bb1f8355b90000000000000000000000000000000000000000000000000000000000000000c6e881b901fdfa3a3498293ba5b0bc3aeb7703b9642cd23ab7d22a3bcc4b023b6a9cc03af018863af5d5353ba8c6d5391f057b3ac92bdf3aa888353bd47d4a38942bae3ab2e3af39bc58a23a0ca98a39bbcc983ac624d1397a45a93ae47ef839c2e14c39f96bf939049d19394029813a00000000000000000000000000000000000000000000000000000000000000004ee1edbc233454bd3caf70bcc2302d3b696dcfbc44714dbd4ef344bca6775d3b69d7afbcf8ca28bdadf926bccc2c1d3b06955dbc8689fcbc5a1813bca1d5bb3a3fdc5dbc45b8a3bc48dedebb9551353ba87f24bc6c820dbc82b7cdbbc9d60f3be52fc3bb45e19d3bc889aebb85bef63a000000000000000000000000000000000000000000000000000000000000803f753ea53b3b059bbc11c218bc25eb863fd9589d3b23725fbc524996bb1da7613fe8538e3b25aa24bc43c721bbcb7f383ff060143b820c16bc177bd8bb17d60f3fd2f2443bcb41bfbbf08821bc125ad03e90794c3b6b5c48bbc8207cbcc5de823eeb93843bb84c05bb1204aebc6a5fde3d0000000000000000000000000000000000000000000000000000000000000000be20c4bcd93fdfbb0000000000000000d83750bc86eb99bb000000000000000092a304bc1bd592bb0000000000000000bbfd9ebb44b11cbb0000000000000000c557b8bb21b8dbba0000000000000000a400f4bbd79224ba0000000000000000378f38bc2982a63800000000000000000000000000000000000000000000000000000000000000000000000000000000a1c62a3b03fec2bae90f263cdd4b29b92a1a003b25a171ba4c66043cdb36ddb980bbb63afee14fba2903093c521be53aa683ca3a6afd1dbae957d43b0bb9c93acb2fa13a99fe86ba9265a63ba7e1b83af3c2a13a71620dbb40d9853b67b6853a5d289c3acb013cbbd447583b647d863a00000000000000000000000000000000000000000000000000000000000000005b500fbb3373e3391c2c22baece299bc97a101bb0e264e391821dbb95b326abcb4b71bbb65ea2cba9d329ebaeaa858bcbbc1b8ba40fc6839ca0aac397ca228bc13aed9ba984901b8b5b582b9a86204bc4d01dfba00cd8038cd6891b8aca0d8bb145908bb23c8013a41ea8eb8d717acbb0000000000000000000000000000000000000000000000000000000000000000019791bced88b7bb714c3cbb8426ad3916728ebcff13c8bb8d58fdba181d6ab8e99d68bc40e887bb9cd935bb0cdd31bac2af04bc780275bbe15f1ebb0e2512b908b322bbc9c956bbf6b340bb084ab7b9f985913b8a1032bbd73070bb8bfde9b770cf613c1b1ec2ba6f7ca7bbcc4b18380000000000000000000000000000000000000000000000000000803f00000000cee3efbbd30a3ebceadf753fc6ff5c38592fcabb6a351abca81f513f128ebf3abb34c2bb2e3108bcc6df2c3ff26e6a3b9d3c86bb35e513bc156d083f81f71a3b244f83bb0b7e2ebc92a8ca3e3ba2ab3a4d304dbbe09960bca97f843e35c613ba311503bb4e648dbc5c25013ef2ce17bb0000000000000000000000000000000000000000000000000000000000000000c28253bccbf3373b000000000000000034ed1fbca029de3a00000000000000006630d4bb3efd973a0000000000000000b2add0bb2b2f683a0000000000000000b8cbacbb28d70c3a000000000000000033e990bb2884243a000000000000000090a998bb8a5f463a0000000000000000000000000000000000000000000000003094dc3a4ad5a8bb23a7363cf6603a3b0d14863bddfd98bbaf69493c554d453b918e123bb55f72bb0d83543c5fd1983bc97e193b5bce46bb55ba3b3cece5893bd885f139e1500bbb477a143c4ded773b9511b23a9f7c59bbf940053cb3489d3b3133b33ac1a787bbd828bf3bd9a9803b4dbd343beff69fbbb649803b1dd23a3b4454ab3a415ccdbb2d53183b17d18a3bb4fe09bb2b5f98b995a1b2bad7dcb1bc35dc5cbbf9bfe939515a843a272bd9bc042524bb19dbf8394a1680b90edcbbbcdbf122bbe0233a3aa83e03ba082f9dbc4b16aabbe6b1deba4f73d3ba04e782bcede426bb73eb9db96af85cba9b3758bc21e91ebb2723cab9441a47bab4ce35bc947705bb8fccc939dc116d3aa72f23bc931bdfba6a0148b900b148ba4dc210bc3ef786bbe19209ba7fd2fabb8ec0993a570f80bcc2084abb5749d5bbb864f9382a508dbc2a2548bb1dcab8bb4886fdb9357e64bcbf405fbbe6e198bb6b9d21bb459eddbb2bab983a548e11bb12d45f3a4de495b956ed49badecacfbbb5508eba41860f3ca98c4b3abd53d0bb66459aba418c913cb14bf33ac4ebe4bbb07965ba5b62ac3cb4ad9a3b0e95e4bb967d82ba3a43ddbbdeb4d9bccc1f773f9f6b063ed80ac9bb9513e9bc267c5f3f556ff53dc736dabb6ff0b9bcc9fc3e3fc64bd93d1d88cabb2be4a5bc43af1d3fb77fb73d0ea7bbbb944190bca842f83e23fa903d7f64aabb5502aabc55ddb83e7d46603dc20234bb518ebebc38a3713e8142143df804d9babad0d5bcba0fec3d329e8e3c36366abacbc9a5bc623a5d3b90b6153bc446b6bc3a671d3b00000000000000007dcbc4bc82e3593b000000000000000020f0a4bc6449a43a0000000000000000c9fd82bc3ead80b900000000000000003c4553bc52f2a0b900000000000000009d844dbcfad2f239000000000000000028d827bc04fb43b500000000000000002d5c15bc22b7e0390000000000000000421c08bc0f8d2039000000000000000034dfa23add32ccbb3a6a1c3cf39baf3bdea8473b70a1d7bb662d4b3cb6c2e23bd65af03a0d3c75bbccb4333cc03feb3b2094da3af336a3bbb47a403cf4ee003c8c080139f36e6bbb15821a3c4967fc3b1adad53a994fb5bb8bacfe3bfd94f83bd686983a2f7db9bb362fbc3b5f4ed63bad63ed3a4bf2d9bb2f3d963b26cad73b3131843a9813b9bbe655653b11fdc03b895e69bb172aebb908f48cbac786abbc667b80bba1419bb80532123a41dfd8bcf8563cbb225718bad081b939ed84b2bca4a958bb98c80bba0a8976ba7e17a9bcd2b5ecba06a20cbb8f3f02bb0f8f70bc5aad28bb8d7b3cba31228ebafe1381bc48261bbbf1be6bba49137eb9b92f52bcb69e34bb21b1bb3a81e21bbadef15bbcb86b02bbca283bba1959d0baf1dc1bbc8143e238560eaf3b35e713bc0c56b8bac6ab16bc6ba10b3b43e321bca74981bafac133bc213d8839dfc6e6bb13b3dbbacf0119bc4157e23933c8f7bb635df4ba512917bb6b972c3b7b1cfebb372ddaba503b363b3ab4893b14a9eebb3b320cbb94770e3cf51bca3b764be6bb6b6c2fbbe0a3913c6f7e193c798e0fbce7201cbaabd0903c63b21c3cee44d9bbf23927bb0db7a4bbfc24f4bc74f1523fad16893eef8ba4bb18fa15bdab71403fe8cc7a3e466783bbf4daebbc6ab0223fd5a3593ed679a2bbbca7eabc51f8083fbdb4383e7b859cbbe46eb8bc6406d63e02a6123ee25552bb3152ddbcef05a13e7c0fe23d29511dbac0d8cabc70cb523eb8eb973d23847cb8e35cecbcb549d53d1290283d237d33ba85d4a8bc15a1c83b2a84f13ba9c9d2bcf60a823a0000000000000000b3f2febc23fdea3a0000000000000000ab48c1bcae78053a0000000000000000b21cb6bc38c309390000000000000000d84682bcf180b9b90000000000000000b63888bcb8e43bba0000000000000000019b5cbccb1667ba00000000000000005caa62bc83c653ba00000000000000004b0b29bc0ca79aba00000000000000006ebfa4395e6ad9bbee07fe3bc094ef3b8f6e2e3b4e91f9bb4fbc253ce38b303c780dde3adaebc1bb2e90393c8362273c1c0ac43af3d0c2bb02f0243cade4343cecc9363a6bc6b8bbb0690b3c6f482b3c1329853ab50fc7bbf9b0e03b442b1f3c70b7b43a3128dcbb51a5a23b89550b3cd25dce3a468cecbbd1de763b7c620e3c3bf8673a6c9cc3bbedc84d3b0ba6f63bd03d38bb48c43bb8b746f2ba38f490bc354887bbaa916eb9fa65283a286ed0bc096f74bb90f679baa2a2ddbadf9cb3bc97e84fbbf92967baa3b534b9d3fb9fbccc7925bb78cf9bbad1d281bad6cf87bc3c0032bb6b3fb9ba491114ba178681bc6df1feba34ac9abad7525dbaeffc6ebcf88c34bb004747ba522121babb2063bcae1ec1bae9e543ba4c8db8bae27429bc9a77d53ad7c9fb3b63f41bbc173f57bb88d2edbb782db73bafc43ebcd7e29aba0e531dbc52950a3b3f151cbc211818bbffd006bc0529413b09bc08bc143932bbb7da4ebb4d07a53be2aff8bb056f38bb001bf53a6390f43b770f01bc5fb73cbbd88c1e3c5a9d243cb98f00bcf51668bb57ff653c7c656d3c817b10bce9be52bb1f276c3c2969693ceb5bcdbb3ab148bb5e2d4abb7720f7bc34f92e3f7efacf3ee8894ebb670c22bd95db1f3f2b75be3ee32162bbdc180bbd7eb7093f0620a53e902b53bb169d00bd2764e43e09d58a3e0bc73bbb0127e3bc124db43ea6375e3eca70e9bacebfe6bca1b8863e2c32293e0b4d17bad312e5bc973f313ee856e43df93f483a2567e4bc1d58b33d53367e3d86211ebb96b1a4bc4452d03bb9c8203cec42e1bccc659eba0000000000000000c5f30dbda3508aba0000000000000000b825f1bc451052ba0000000000000000b344cebc9b92d3ba000000000000000062fda7bc826a13bb0000000000000000dcb49dbc934c04bb00000000000000009dc377bc4da210bb00000000000000002ad882bc03e1dbba0000000000000000676038bcc94c24bb00000000000000008be956392762d4bbaef5cd3b3313253cdde9e93a4ed2e3bb72def83b6d2e593cd540e03a2f9cb5bbef44df3b0998513cbd28963a61d4c8bb1071003c4cb2563cbae1b0b9493899bb1f9db73b9ce3233c7755913a0bcdcabb173bb43b52843b3c376fa03a70e9c7bb3af1683bfd32253c54c01c3b90ecd9bb1aad313bf0e31c3c18538739d478c7bba182ff3a62f11d3ce08b82bbed0174ba15e57bba4bf293bcb79a7bbb472d65ba8a49873a871ab2bc7de546bb0dace4baa5a76b3a9ce696bc157c22bbbb82a0bad9d273b9ed4390bc8ca4dbbadf82e1ba35e6b0baf10f46bc42b713bba19fe8bade4e5eba7d0076bc4a9735bb614bd5ba29a1dfb9213254bc2a0018bbff7692ba4a83e2bae2d156bc65e20eba0c7793ba8b20f2bad10033bc29b6b2b976751a3c63222cbc317de0bab23cfebb4249d63b7b7b3ebc86ba84bbb1a110bc3604683b1bdd14bcae5f6cbb1fcd09bc59187c3b916f0cbc913f58bb15c828bb64f1c53b49d5b6bb735a4fbba6f58db9d576223c649001bcfb0460bbff7eab3b1102693c411901bcdf1073bb5c5b1d3c1025963c3e9f02bc91d984bb71941d3c8198973cdcd3b1bb7b9479bbabbb43bb749ff6bc3c3f0b3fd1260b3fb1fccfbad7b518bd6cc7fc3e8f46fe3ee578e0ba4db801bd4081d83ec8bbda3e5721e5bae220fcbc466cb53e3ff5b83e3bb405bbae2eacbcc9548c3e5c898f3e539d80ba056bdebc7a03563efc13603ee447f037a243c5bc88930b3ed4f8163ecb9779399e51c8bc8e288c3d9653a53d80c217b9d5689cbc9b40543b1d3e713c786cf3bc9265bbba0000000000000000931e0fbd7af5b2ba00000000000000001aa8e4bc73dc35bb00000000000000000e2dd1bcea6944bb0000000000000000628185bcebd767bb0000000000000000213e9fbc22314abb00000000000000006c928bbc905642bb0000000000000000487a82bcfbbb52bb000000000000000086ff39bc88517bbb000000000000000009c09a3956f3bebb4b9e613b705b4a3c2c2e213b68c1d7bb4ef1a23b2efd7a3cb1a0bc3afc4ec1bbbaedc83bc2336e3c15aed13aef81afbbf90bbb3b495e6e3c1ee03c3a6ffda9bbec57983b468d4c3cb107a43af9d6bcbbaaef583b62ac473c0611e23aee69c0bb65a9f23ae6ce273cf3cabd3a3618ebbbc1aaa23a05ff233c3431fe3afcf3dfbb74e9f8b9c4cbf33beedb47bb84d390baa00a003a09d680bc72328abb31666cbaaed61a3b10aaa0bc8b5a60bbc9b380ba3a94aa3a057b7fbcc41b26bb83468dba03aa6c3a296880bc8dd60abb765ed4bad4858b3826b963bc2a40d5ba5396b9ba7859fc38276f61bcb0f3a7ba47b7a2ba31eda439fbb156bc6a6518bb2bdc95bab435f0b9ee2c4dbcee731eba4139bfba4f34b3ba2c1c44bc80078bbb30c1223cb52623bcf85a4dbb1b2f43bc0f3b9c3b04854fbc9e1c2cbb023f58bc75499c39fe282cbc5a5528bb64933dbccb66083baf8311bcead14abbf28ce1bbe164c43b08b1febb18a763bb6b6a70bb5aef2d3c1db4fcbbffba66bb8e75283aab947d3cc52ce0bb2e6a62bb5b21b33b3209b53c86bbfebbab4380bb698eaa3b0fd3a43cee3380bbda568abb8bef7fba4b47eabc5842cf3eb82c2f3f9e04363a24f416bd8ca5bc3e065f203fbc8705b9992505bd19d7a13ea1dd0a3f81a4d33836caefbceef0863e684ce73ec171293982b2d0bc98ca543ef1aeb73e6d7a823ac928cdbcf00f1d3e8cd98a3e31b4fa3ac32ac1bcc867ca3d023e3a3e4e3ff13a1e74b9bcf37e413d0befc83d57b03c3bd9836fbc8a4d0fba9d0b543cd5ccf3bc0e6085bb0000000000000000eda516bd64d663bb0000000000000000899ff7bc4c067abb000000000000000067d4cebc30358cbb0000000000000000ac1ca5bc3c3a86bb0000000000000000e8089bbcd2e481bb00000000000000006a0788bce4c85fbb0000000000000000e38486bc96c15cbb0000000000000000a51f33bc9c8f88bb0000000000000000d2d6ec3a570096bb5060523aa43a493c2a33f93a08a299bb5f961d3b5db9853c3020c03a9bac80bb96ed503b8736693ce07eb03ae60390bb952b463b4610723cf859cf3adcd970bbf69d173bfbd5463cca96003ab37d93bb32819f3a5f8d3e3cdad1973a180792bb48e1a539a211153c6c000b3b528d9dbb8bd6b2ba2bc6083c45b68b3ae3ec8dbbbdae9aba525ce73b908069bb569363ba1eb6e53a9b6351bc8c6183bba0f125b94608013b085b77bc052b0bbb918684ba5c740d3b00f247bc6c63eebab1072eba8fb0d93a695347bcade109ba25d417bbf613983a31181fbc7b04abba748292ba7ecdbb3a975235bcb317a9badfa6baba856eea395a5f22bce22ee0bacd1133bad4bc7d3a39173abc52b542babd039cba65620f39659317bcd3d31dbc70b2d63bac4126bc59e851bbc60b8abc941819ba2be753bc24131abba50279bc89fb64bb53d715bc44022abbf18f71bc10051ebbd70914bc512327bb0c3811bc7c8e4f3b043604bc4d41e8bae859ebbbecbf0f3c7cceeebbd31938bb43242abb6c945e3c34d9d2bbf6d971bbe2ed89398bf7b93c120ee6bb235851bb8e67193b6a46b53ce60e8fbb2c695ebbcac7963ae7dad3bc8062883ec2e8523f734ba73a83bb0abdd29e773ec41a413f119ef93aa791d1bc85a7533ef45e233f97e6e93a2b16cfbc6425303ea0040a3f218282b9d986acbc434b073eb846d83e02792d3b7decaabc3f8fc73db73da43ebe302a3b073791bc0ef0793dee01593e0aac723bedd299bc6ab9c33cddd6e33dddef0f3bd2f964bc78c2babbdcbb463cb5c9eabc1877a3bb000000000000000092df0dbdf827afbb00000000000000007e44c3bcc5e6b8bb00000000000000003d8cafbced4bb1bb0000000000000000f09c72bc5d98b3bb0000000000000000ef6185bced588bbb000000000000000008f566bc3eb028bb0000000000000000d46972bcf3154fbb00000000000000006d512bbcf3d668bb000000000000000093bc963a44895ebb567a81ba09a9533c28713c3b7d4322bbb51778ba5701723cfb56d53a5d2512bbe4cea63aab626d3c0f83e53abb3400bb81d6863a7bed553c3bc0ac3a8c3202bba2249a3a09775f3c204be13a566a20bbb78dc8b9e5d7183cb4fdea3ad0b53ebb0a3890ba9c9fea3bc1bdcb3a65503fbbf45449bbd5a5c13b4040b73a5ef65dbb3c9d85bbd95bb83b995c2ebbccefc9ba6140033b3e4616bcaacf4ebbd66f753aa576a53b44be0ebc1d12b4ba0884d03842ed3b3b1ad1f6bb05d2b0b99ce8d6b9c9e8313b2b4afbbbbb26223824f51a3a36aa9db762a1fbbb0c8ab6b94c491bbae570f23afff8e0bbbfdf28ba376584b95348f23ad4b2eabb92820bbb27835fb917b3d33a63e9fbbb8358a9b9b5d03dba8d32643a59b5fbbb9dda7cbc1b7d1dbadb861abccca445bbcb4dbebc735749bc24594abca0df86badcc3a6bcf57366bcf62424bc8d4aa7ba098a8fbc4d182dbc283d03bcdcf79aba5b3d3dbcb8949bbb8589ffbb6954faba168722bcd9f7303b3506d0bbb799b1ba9a3bdebb5c8e393c0a85c3bb5b5fd8ba86b96abb2140a83c7018d4bbb9aaadbadb981cbb9c3abf3c2caf3fbb977a12bb0280313b4cc1afbc6112043e1435773f5403783b4e99c8bc1e49ec3de210603f87234e3bac42aabc823dcc3d60813f3fb7b1473b4f3a92bcde1ba63df8361e3f09633d3b48ff81bc5644813d6277f83e8dbe6c3b1f4863bc8ca32b3d2a15ba3eb864353bf61659bceea6a83ce8d9753e88669a3b830f41bcbabd483a523df53ddaf35d3b974124bc0b435abcfce6e23bb798c0bc4d75d4bb00000000000000007165cfbccd50c3bb0000000000000000bc248fbcaaa6d1bb000000000000000025ca53bcda9ebabb000000000000000050d13dbcf01077bb000000000000000019ba25bcef408abb0000000000000000a8c02cbc97d873bb000000000000000090b846bc4e2313bb0000000000000000a09810bc26b643bb00000000000000000000000000000000000000000000000072edba3aa1bd86ba54cb4eba0a73353c5556a53a117b11ba03d4ff3896ce1b3c53629e3aa9561bba36e7613768c4053cf0657d3a12740fba0478c5b900e6c73bc1b1653ab8cab3ba2c802ab85f77be3bd63c2e3adb9eb0baa1941fbb28dc9c3b215f5f3a23e671bafade59bb54501a3b0000000000000000000000000000000000000000000000000000000000000000e242f5b9b4b63a3a5f5f4b3beda351bb7a7d5039e7650b3b7fb91e3b5e5e0ebbb4be243aeebfc43980dbf13a58c50dbbec88f639422c0fb9a738dc3ace650fbb30ee853abebb3539ca1eae3ad28449bb94179a3ae3e6d9b99a2f263b9ce953bbb84048b9ef8f6439adf4ac3adeac7fbb00000000000000000000000000000000000000000000000000000000000000009626a4bca44187bcd4d204bc90b6a8baf5358abca36991bc2640eabb1a075a3adc6762bc65d760bc2d61b5bb69c88db9827b30bca9bd05bce90788bb09dea7b91a45f1bbf446f9ba1cb083bb74090fb930a7d1bbfd70813ba62392bbab6bf2b9ae398cbb41b7563c481a15bbb7e818ba000000000000000000000000000000000000000000000000000000000000803f53d6603b0b7d5bbc97ac39bb1f21763fbd204a3b09a826bcb3cf09bbdf2e513fcd661f3b5df60abce18236bbe3d72c3fc5d71a3b085bf1bbacc29cbbd396083f1d29263b72a8dfbb4fd50dbc191ecb3e5c36893b123aa9bb52323bbc2537853ee7b1693b8f44a0bb26a879bcc200013e0000000000000000000000000000000000000000000000000000000000000000b1b926bc6133e5bb0000000000000000e9d1bbbb8142b9bb0000000000000000f51f46bba7739cbb000000000000000065d922bb1bf880bb0000000000000000dccb3dbbcb8342bb0000000000000000b2b630bb652d63ba000000000000000092c4a8bb254b0dbb00000000000000000000000000000000000000000000000000000000000000000000000000000000dc2a73ba385eb9b853809a3b5951953ae6e31fbac0f743ba0348363ba180903a0605b5ba3e9984ba9e813a3bdd4bea3a63964bbae3e49aba82f7d73afeaa253b0812f9b8e2102bbb5cc8123b453b9c3ad9acfbb8426bc7ba22e5bb3af775403bd6ba79babb91cfbac47a1a3bceb4093b0000000000000000000000000000000000000000000000000000000000000000eb4797bace0c26bafdd4aeba2b200fbbca727dba554481389215c2baf33e15bb29d8dc3750fb3aba3d4fe9bae0e52dbb74d1c239f695a1ba840ba7ba17710ebb07133abbd9248a3777f2d6b99c205cbb14ac71bab64a80bae7bdd0bacc6bf3ba2d3f27b9dbce11ba05edefbae7e4d8ba000000000000000000000000000000000000000000000000000000000000000013f73e3a06c8ad39ea2ed8ba1db050ba557a8d3a4fcdbd398acdc7ba8e4eceb9cce602ba88618d3ae2cb0bba19c0a1ba13e8883a01f567b8e3bba0bab26fb6baba918c3b839b2f3a84700dbb3cfcd13a3476903bc22d253b321eb5badc14a3ba84128b3b1e16f73a31414abab41ad3ba0000000000000000000000000000000000000000000000000000803f00000000218a68bb25c6a5b845e7623f759c513ab647f8ba6a0e83ba1a48423fd1ad4a3a93322ebb2413c1ba4306223feea4c73a854605bb728de2baeccc013fd8e20a3b905e4bbb1f5ea6ba5470c33e454f3b3ad24303bbdf0118bba48c813ec4094c39f98113bb778824bb748f033ea8188c3a0000000000000000000000000000000000000000000000000000000000000000074b12bb7f24ceb90000000000000000e21cf7ba6b0518390000000000000000057907bb8fc082ba0000000000000000df52cdba67bcb3ba000000000000000065ee003acb7ce9ba00000000000000000b8fe6bad0746eba00000000000000000f0d16bbe9d2a7ba000000000000000000000000000000000000000000000000c5f814bb4ae4c4b9313f7f3b214e3e3b4e6109bb553337bb1cc7b03ba016863b853f04ba00ee68bb0c93803b0b27453b168ad4bab82edbba9bc6843bcc3f723b701e9ebad847e4ba65dc403b39148b3b740203bb8a1f4bbbfe1b5d3b5d9e463b6866b9baa3c809bb1c8e523b91286f3bbd0cffbad9eb28bb81d5543b0b43813bb54868bad7b0a4ba23f7053b6543353bafbe95bae78ce939dbee0bbb84b378bb49d1f8b906442bbb2f3956bb1427a4bb2844233a734440ba26e46fbb0b9263bbf41972b97d0e9bbaafa48cbb448765bb3871db38966e9bba2c9802bb351c4dbb45c49eba1b3df3ba504f34bbde9177bbbbc807bbd0bcd3b9adc01cbb0ee033bbb2f09cb95081bbbab48c26bb724a32bbe719baba7be4c4ba98b9dbba87e757bb08ee553bdad7183b23290abb3d0008bb52e0753bb66c4c3b615dcebaaee356bb95d4173b06fa7d3b543106ba4911f6badc61373bc7e4323b4cf78ebab2ba14bb9f59153b91b1bf3a625c4dba5e83efba010b723b9a4b7f3bf05208bbfeb65dbb78b6993bde79573b54813dbbafee93ba4df9b83b89957a3b2422acba276b50bbf416943bcc49393bdc0509ba1fce50bbb2d908bb7db444bb351a633fa22c023e761e7fbb520481bb64f5473fb7cce73d51db18bb69f31fbb8d262b3fe167c93dd81b44bbbf9425bbc8c80e3f633ca73d89d22cbb4ed035bbabd6e33e73e2873d89325fbb076865bb59b9ab3e426f573dd66d49bb934b59bb342f663e2c2d143d71e54cbb288e73bbb205eb3d914c973c14ea81bb470685bbf785713ba897763b65f65bbb23a9e9ba0000000000000000efe948bbcb8e37bb000000000000000092b24fbb1b84b8ba0000000000000000c3964ebbc3b1ebba000000000000000064b5f3bae558eaba00000000000000001a3f7cbbc3834cbb0000000000000000311474bbdbc980ba0000000000000000534a5ebb38f294ba000000000000000082c423bbb5e09eba0000000000000000283a1ebb9a5a48bb4cc4713bc944bf3b4b0b86bbbcd04dbbedb99e3b79e5f33b8b4d1abbee383aba25f6623b85df853bfaf60fbb442725bb1fa1953b198db73b2256ffbae4172cbbf8c2513b734dc33b4ce4ffba5b9b06bbe68c233b3034f53bd42a01bbf45624bbf531473bdbf28f3bdcc735bb11745fbb26405e3bd5fcaf3bde2f60ba2bd24ebb97f8653bacfb983bd062acba5e777cbb51e311bbb3ca7cbb655fe236d9bb1cbb300c64bbdb18a0bbf0d0ecb90ed06cb8259400bbc32e87bbc2b801bb3ff0edbacb7e4fbb797587bb81a009ba428df3ba4ad057bb3cf471bbef259539741036bbc2e324bbfa9039bb7ee4a23885e1e0ba0d0c3fbbc67c46bb522dedb8dc9408bb9730e6babebf74bb01ba2039433d7bba7a3a83ba26437cbba839633be601b43b28dc2dbbf9c937bbcab7853bbb67a33b42ad65bb6c5962bb57f9313b75ae6b3b2b74d5ba5c3c2dbb31de783b31859e3ba99ac1ba623626bb47cb4e3b0d19b73ba677e1ba56e823bbe9944a3b786fac3b9b4939bb37c57abb7c3b953b2bf1903b841495baa47033bb2d06bd3bf67ab93bf640bdba541854bb9b70c13b1c45ae3b8bd995ba611e03bbe4c48abbaa8273bbbb34433ff3f5813eb5e986bb9eb68fbb759b2b3f6ca2663eeeeb12bb9d356ebb41a2123f85eb443ea22f71bb403969bbafecf53e6479263ef65f56bbf98d6cbbbf16c43e3c79043e151442bb3605a3bb9d50933e1255cb3dba075dbb066e5fbb88f0453e819a883d978881bb1bbd93bb878bcc3d0387143d6311caba98028cbb1edcb63bf1158d3bfb118cbbcffb60ba0000000000000000f9b7adbb7cf743bb000000000000000057d842bbb5351abb0000000000000000dd2848bb286719bb00000000000000000acf56bb37fb26bb000000000000000096638cbb806980bb00000000000000000eb91bbb2f822bbb0000000000000000912045bba98159bb00000000000000006b57e2baf0b41dbb00000000000000008ca1d3ba343137bb18d86e3be07fa03b873723bb18c902bb686bc83bfffbe33b423415bbc6c25dbbac9c6d3b38cab73bc50019bbc78c5cbb2913843b9e81cd3b11140fbbcc335fbb1d1a233b59e1d43bda3800bbeb036cbbbf36683bc401c43b473302bb84ae32bb37d3573b2dccc03bba6f10bbca4e7abb696a2f3bf168f83b8a8108bbb19441bb59030b3bb93be03bc00026bac7f370ba246e20bb764c84bbe525bbba13d820bbd30150bb28b7ffbb10fab6b95e3cf3b9abc84fbb3db69fbb50773b379f9a85bb263704bbd22498bb2426463a36afbbba33629ebb140f97bbc15190b951a43ebbdc0be5badd0d97bbced8d539daacf4bacb158abb4ee85bbb4b83deb9007b43bb09276dbb9cf98abb60b982b8ede01bbbda5735bb4f8c52bbe232723b8c42993b359b0bbbed747dbb5f679d3bec1ae13b146848bb8e0949bbd9a5333bbdee9a3bbec6febac5e456bb4d41593b1ef4b63bd205bebaf190acbb7c41903be46ec83be42021ba39c590bbf7a9873be837c33b8012e1ba1b4817bb3665983b3d32d13bd13335bbfb3240bbec559b3b30b80b3c8980f4bab7038dbb0c78813b5d99f83b1b779bbadf4256bbc8d956bbccdd88bb1d5d223f2203c33ed93d8cbb4644c1bb06f60f3f7fa3ac3e0c7084bbf561a6bb2d58f63e8bf3933e4f208cbb8a8a95bbba22cd3e1221783e5a3868bb55029ebbe69ca43e24ca473e1f4e81bb9571a5bbc576773ef6da163e98ed6ebbd61e8abbe263263e052dcd3d64c56bbbde73a5bb8600ab3da301603d41c545bbb26d71bbb94e833bb882df3beb4b86bb2665f1ba00000000000000005c71b0bbac8b7cbb000000000000000030bf7ebbc2a84dbb00000000000000002c9d67bb4a42b3bb0000000000000000dadd1cbb590f23bb0000000000000000bbb56fbb672f27bb0000000000000000933a96bbc09e54bb0000000000000000004f70bb015d90bb000000000000000066a320bbf2436abb0000000000000000a22ff8ba0d3055bba758693be533963b24db3ebb2e9423bbc1519f3bcc4ba03bd7300b38260fc7bb29729e3b3edff83bd277f4ba25304abbebee353bf28bbb3b8668c6ba78b11bbb1b8e1f3b61cea73b24080cbb5198abbbd6ac593b5a15b23bf371fbbadb5874bb6ae77939fa14e73b9163a8386b747ebbb25b973a98a3073c52cc1cbb93f51ebb9ece1b3b7b5c7d3b1fb4c8baad6bd0ba6dc3a3bab7a491bb4ec19abae9d62ebb7db4baba66a777bb0094343b1654a3bbe6fdc2bbd3a287bb7255693a5a1affba35f639bb032a92bbb1a29f399c6be7baef5f1dbb653d4bbb5bb79db80c0521bb97a7e4baa19000bb6990c03af1387bbb51a1c2ba17938ebb4b30f43a9338c8ba04ae6fba900d8ebbe385a2b99c3f22bb65b217bb5a2e15bba32d813b0800d33bf3c51eba694118bbf6228f3bae2f923bdd372fbb64126cbb36fa833b9b0ee63b92e236bb0007b5bb55d60e3bcb76a53ba22036bbfba251bbfe1c183bd921a33b2f3d35bae8de27bb0816803beeae003c96a7a4ba4ebe59bb4cc5a73ba18b043cb079ffbaba2b36bbe108323b800ff43b769ab7bad1f79abbb204863bf223b33bbf0f95ba393956bb24b36fbba94d94bb4e1c023f343c023f0aa650bbaad076bb099ce53e3c54e43ecd3898bbc48d60bb12d6c43e3049c53ededb51bb6a4e97bba9dea33ec448a53eebaf30bb53f557bb55d5823e7977833ed30f66bb5ac989bbc604473e0290473ec88e67bb61aa9cbbd2c1063ecd44083e99fc48bbc8b4a3bb9f9c863deeca8d3d2d0a08bbca5b99bbb3cc943bae22d13bbdf796bb8e022abb0000000000000000c7099fbb2e386bbb0000000000000000ae0b96bb8f9c72bb00000000000000009217a5bb460a6bbb0000000000000000249d11bba3cc9ebb0000000000000000ce5e4ebb0e846abb0000000000000000ad6cd9ba02c0e0bb0000000000000000dd405bbb3800a9bb000000000000000005352ebbfb4a81bb00000000000000000962e2ba0d2957bbf43ddf3ae3d1b73ba2739aba194b87bb1a30083bbc5f113c581bdbbad81f7fbaec06313bdc6ce03b0b8d22bbdc1902bb2e800a3bcf52e03b2d41b8baa4938bbba860313b517aea3bfa87fbbaa025d0ba58f1073baa30d63b3858e7ba28615fbb6ca2d23a62d6c83bb7e0afba6d6a92bbd141323bfe52f43b43c1ddba18abd8bae953a0ba400aa43b3a6b5fb99e6816bbd0b5b1ba157a88bb973f80b93bcd2cbb3faf65bb2e53b5bbf631ea3943c509bb878925bb944bc4bbad42323a60ea0dbb450013bb3dcaa4bb7b23d33a695c34bb20d666bb2f66a9bbdd87183a24ad24bb3c53ccba6eaa89bb5eaf0d3b5c613abbeed626bb923c81bb3add9e3abb49fcbac18648bbdf089cbb7fd27a3a879491bad55cdeba0ffb7bbb0592713bb106b43b065cceba44f251bbd7325d3bb336083c49b905bb750a68bb5d7bec3a814dc83b286071bad3f07bbbe01abc3aee40cc3bc0e75fba0ed778bb5a55233bf52fe83b5902d9ba6c1c74bbda5a193b265feb3bd46d19ba997872bb1a59263ba566e43bdb849dbacc425fbb8fa67f3be27a3e3caee8e4ba6b7bc2bb9a6e093bbedfd93bbf2e7639ea1543bbd8355ebbb2858dbbb8e5c23e586b223fb67670bbe42cc1bbdcaeac3edb280f3f7a6334bbd190cebbb395933e1b04f63e5d4016bb7f5aaabb2438763ea7b1cd3e1e5cc6bb367763bb0811463e8441a53e9cd5b7baad2e93bba10a153e1b4b793e128b3bbbc3f98fbb646dc73d1ba6293e5ed16cbb3dbfabbb325c523d3f8fb03d631eebba8b1f05bb30b11a3b0262c23bcbde6ebbd1154dbb0000000000000000996295bbd6da74bb00000000000000004d3a53bba9e386bb0000000000000000dbf172bbb5d284bb0000000000000000dfb062bb54677fbb00000000000000008e9729bbf5b48ebb0000000000000000e7ed4abb23da80bb00000000000000004228b4bb87b0cebb0000000000000000b5300cbb5afa56bb0000000000000000889817bb905108bb6e4016baf1fdd53bbd6c8fbab25f52bbd54dcb3a9222e83b7de5b3baec042bbb334aac3a90f3c53b82a3aeba099116bb86f9f33afc35ec3b497482babf7742bb1777113aa725ef3b419bccba63a232bbc387a83a70dcd93bf2377bbaf60f2dbbed97213a47f69f3ba901a439ce1a10bbe36d8d3a089fcf3b2cd5cbba841189ba837ef53a62158f3b41fa9c3a44aa88bb084913bb15ed33bb9541c439119027bbda4214bb813f8ebb61a53b3a16f708bb4dba0dbba69962bb975d29ba0606b6bae355bdbac8e551bb75bb0d3a3f58f3ba5227e5ba99bb6fbb84519c3a081163bb7fd5f6baff0860bba6e13d3a33a714bbb81307bb313e45bb7238a63ae09813bb942f12bbe23a9abb50025f3ab7463abbe6549fb97b3c73bb92eebbb9b2d2ce3b694b0dbb1afc9ebb84402e3aac3bca3b37fcbcba588665bb5315c139cfeba33bc3be41ba25024fbb24ed3d3ab737d03b514e00bb98c195bb38a0253943fbe73b0e1740bace233dbbc99f0cbac5cde93b262d02b9016b98bb5b4f953a0230c33be6dacbb99f114cbbd529b939c1dd0c3caff405b91e3058bb96e27d3a652e073c94da28b99c3fa1bb93e01ebbb3086fbba836813ed822433f16c52ebbf3c59abb5751653e47ab2b3f9da817bb2ae875bbd62e443e23e9123f7eafd5ba8e246abb2edb223e1763f73e3bd114bb0b4985bb15c9023eb993c43e7c8b0bbb24b17dbbfbd8c23d96ef943e201a0fbb895d60bbaf02843d2cc6463e956e26bb914aafbb64220a3d0264d03dbf1219bb0a5d74bb4e72413a27afef3bec432dbb23e7a2bb0000000000000000685671bbfa5a7dbb0000000000000000f0341cbbaa556abb0000000000000000d53d6bbb6d0362bb0000000000000000d66e0dbb0d8a59bb0000000000000000e6b270bb25bb66bb0000000000000000ce81efbaadf97bbb00000000000000004a74f9ba028083bb0000000000000000f7cac0babed6f2ba00000000000000005c80a9bac56e85ba1776c33af1f6983b342112ba7f975bbb65e7123a51ecc73b27c0abb8452261bb6c8f4d3ae36db93bda8330bacca6d5bab0b87a3a9bf80a3ce46c73bab524f3ba9761763aa46c773b0dc509bad83393bb5ac6ed394c70a63b5c43aaba864f4abb16c485ba4b6d803b1ac780bacdb40fbb5294cf37c001b23b17465bba0d5d74bac43759ba9cb37c3bb897b7b93aac44bad50299ba3749d5ba93fc353accc700bb029acbb950bc8bbb1c76443a4f24cfba6c3392b87d008fbb56e6853a86a6fdba810720ba258489bb0272c839e3a4d9ba0597f5ba30411dbb7f878b3a40b9f6ba4e397aba4bc046bbd2aa833ad53738bb8e62cebaae396bbb0a27b838825ee6ba2038f5b9510d1fbb60f5613a8f26c5bafa278439ce0940bbfe85acba79fc7b3b4a398439a515dcba07347dbae73e913b009986bad47f44bbbc3338ba7f607a3b829c4cba635c3abb562c22bbb5abc13b27e98dba330f34bb0bae5839c7c3513bfc7a31bafaa217bbf70ccc3899e5af3b8efc0e39c9d63ebb615a5b3b5ba4b23bd0226d3814496bbb8d84463a90e9013c054440bac9d73abb68dbb838ee53d23b077be63a55d11fbb9b7189ba523475bbd959013e5503633fdffa25badbae95bb2655e53d60bb473f290e1bbbba1d9abb9b33c53dbc4f2b3f043f25ba7d4297bba4efa93d1b010f3fb5d2debabfba25bb1682843d431fe43ef66dafba94dd6bbb7e87443d1a32ac3e40263fbb8bd665bb8fb4063d5175663ef9d61ebb2c1b40bbfe40833c396aee3d6ec8d0ba46b652bb453e96b9b46da33bcc17bcbadd5805bb00000000000000001a511dbb007d5cbb0000000000000000b9cbe7ba14f75bbb0000000000000000137604bb5b3158bb0000000000000000d8cac9bad31e32bb00000000000000006f5897ba109e41bb000000000000000024a78dba22e48abb00000000000000003fc407bb40a86fbb0000000000000000f2884ebb25e962bb000000000000000000000000000000000000000000000000454535b96b12d5ba1050e1b887c5853be02f4339a429a5ba400f31bae4862f3bc70b89ba7334c6baa4fb34bbff87983b0816bab96c99bdba7f7365ba9af7f63a98139b39c9129dba501d9db85eb6363b1c59c8b9e9feb6ba369f84ba8fd0193b58da5eb8fe57c8ba5dccb4bab4d70b3b00000000000000000000000000000000000000000000000000000000000000008932303aeeb294ba2a6685b9a66424bb168934393c699abaaf1509b98c1700bbc5e0483ad39232b91179b3bac7b5e23a351685394d84d2bac83c2b3afc60dbba336782399748c23bdd6be3b9afc9e6ba23346c3ae7468fbac4a2fcb80534d7baaf74c9b72252f2ba6124f038573ad3ba0000000000000000000000000000000000000000000000000000000000000000748feaba43560a3b32fa36ba931bfdbad2150abb3e85353b7df984ba3565e4babca978bb3b50543b34697bb9c8a434bb18a86bb957fc423b29eda43aad3543397d052dbaa41c2f3ba89de038bb7048bbfb488fbabc5e483bcfe28f39b5bc85ba895933bae36d923b3b2bef3a070021bb000000000000000000000000000000000000000000000000000000000000803f8aac21ba785235bb26e23b3abbfc623f0ed4f3b9c3400fbbf5b1e13a62ab423f4f8eb1398e85fbba96730bbbc178223fc2b999ba37ea01bbfc8d693a885f013f094611b98afb07bb6b1a17b996adc23ee8c393390a9900bb531b8dba9be2813e0c8bc837f61308bb6abed8ba0131033e0000000000000000000000000000000000000000000000000000000000000000528a81baa11519bb0000000000000000c3b289ba50270abb0000000000000000cd070cbb22a05dba0000000000000000e10e4ababf7807bb0000000000000000b8032fbb90dd52bb0000000000000000f122dab97453e5ba0000000000000000bcbf023a17753ebb0000000000000000000000000000000000000000000000000000000000000000000000000000000038743bbb5800183c38c78d3cefff233bde10a5baf3d4183c98237d3c46ed5c3b7c795d3a07d1a33bae702a3c4aa8363ba43aac3aae6e883b52ca003c96e7343b91f09f3a00434d3b9a4ead3b675b023b2b5ce3b9fd817e3b101fbc3a56be853b26a085ba2cdb553b497fceba43a2543b00000000000000000000000000000000000000000000000000000000000000000df2893b2990edba5558d83b91b2e1bc0e729e3bd03fc7bad604b63bc0d8dfbcac9c843b39720aba4375173bb6b2dcbc6214553b634e67b8194e4d3b5bbcc6bc46c5643b732909bac0e7bf3a42ca93bc886f413b232ab1ba78b8a63a5b4226bc71a6163bd68d76bad53cd736f61c3abb0000000000000000000000000000000000000000000000000000000000000000f43402bec049f7bc16810c3cb2d9d5ba40caf3bdcba902bd7b2cc83b983ccabac11ac7bda62002bd32a3613b4e2799ba7b379dbd62f1f0bc1eb73a3b57848039e05265bd09ded3bcc610143b04737db975fc0fbd7828a3bc87bd283b0af71eba11232cbc723a6cbc4604863b9afa27ba0000000000000000000000000000000000000000000000000000803f000000004e4fd53b49c283bdc3dc9c3f10e133bd4e95833b342022bd0e5b823f6d059bbc7df2393b3e98e0bc5a08533fd275a1bb8b100d3b4914a6bcce03213f7382caba007f123b8647a4bc2b89df3e7cf594ba59aa863b41a7a7bce9f87e3e8559d9bbc6d1b53b0c55bebcdb448f3d1da567bc00000000000000000000000000000000000000000000000000000000000000005a72cbbb44492b3b0000000000000000391768bb84a2da3a0000000000000000353c79bb2859383a0000000000000000eff6dcba2b98caba000000000000000059d7a838312b39ba00000000000000009959323bd56de7ba000000000000000084f9b53bf118c9ba00000000000000000000000000000000000000000000000036431dbb8ab7873b01eb4a3cf47665b9156cc7bbe12d413ceb76a73cab49f23b341ed1ba0ea4163ce8a3a73cdc62e33b4f4c6e3aabaa0a3c31fb843ce859ea3b266f843ae993a93b4737333cae2db53b164de239d320b23bd2c9ea3b74daca3b82ab29ba1a0fb53badec3a3b6a99c13b3eff72bb5fd2b23b207f19bb0390ae3b582fbfbae1eeda3991735abb7c29d83a88df4f3a5f0f09baabbf2c3ccf26f4bc6521563bda9318bb4304553c751ae1bca8fc703b73220dbae4a0343ccbc913bda246283bd44097b87cff003cbc8a0abd9395583b2d02a8b97cdcc83b27a5edbc58642e3b97331cba59a0a83beb79afbc4986383bc10434bab89d3c3b4a7649bc919aba3a90e7f2ba2a9504b91cffb6b9c8eea93afca995ba5107853a0115b83a492e91bd78726dbc01cd0abb1becdf3a13150abe590600bdbce83d3b3f143f3a8a310bbe103c1fbd3f8394b7cb68b7393329edbd32ae26bd77513cbb0cc9013be39eafbd61d014bd65fbfabab0bfd43abb4784bd018204bd123aa1ba2dcfb43ab07523bd2648cabce7a0a2ba9abea53ac3aa48bc714f46bc5639953abcc2bb3a2e535e3c2c4fa0bbb04fc03ad0985d3a93004f3cbb16f7bd74f29c3f4149ac3dd0cd8d3cd6d200beea12963ffd77a43d71841b3ce626b8bd2d13813f6842bb3d1df40f3caaaa8fbd2017503f76c9b13de457da3be27560bd2d031c3fe8ce963d8d9d0c3c6e074abd5931d73eeb1a5c3dfe58263cd3e536bd59256f3e883b003dd2c1593c5e850cbd9cb9643d88a2023cc5813a3c1ad40abd44dc6dbdcb635cbcf10a05bd1e24ce3b0000000000000000a668edbc17b4be3b0000000000000000336fdcbcc334a53b0000000000000000744aacbcf380393b000000000000000053f58bbc42f1b43a0000000000000000e06756bc99dfc83a00000000000000006e8b05bc115afd390000000000000000dc7367bb0a52cfb9000000000000000066cd52bbe0f79b3a0000000000000000a2a4173947d4ea3923122f3cd3412f3b460027bb8441cc3becad713c234ec53b4e8c3d3a7da9953bf1864f3cb66a063c70cea23af846a13bdca24a3cd224fb3baf33163b46c00e3b2973093c47edd13b0eb71e3a634d353b182dae3b3d3fde3b3dcacab952ff973af65c1f3b72d5a23b4efa06bbb3420f3bd336eeba5551913b2dc392baf51729ba6a9228bb47eb213bdf688cbac24463392849303c504e02bdfcb0b53aad1d1fb878106d3c404d0dbdbff45bb972f7f23938580f3cd16804bd8393ef3a4b3d7b3a080e133cacca02bd0dd62c3aaf1b653a69c5c93bccb1d5bcdeeab63a0f24f5390975cc3bd879a3bca3e7ae38809fb039df35b33ba94744bca57b803a32768fba38fc0c3b6aa54cbb424a4ab92dc91cba2600363b4d7a04ba175832bd1a9507bc724852bc1b8a3c3be608c8bdf66700bd3e0e37bc666e9e3b5ccbb7bdc4a01cbd49f32dbc8b90233b39dec1bdf9f02ebd135b3abcb701663b405b88bd30e816bd60df03bc4acc2d3beb575bbd6f9805bd48860abcf728393bf6ede7bcf56ca9bca251cfbb3d6c343b53c217bcb39a54bc118f4bbb741e0e3ba139143cc30f85ba8706c6ba0574113b4dd9483c3a9ff4bd5a07833fcb53863e4cc38c3cf2080bbe567e813f6db0813ecfc82b3c0da8bdbd728d553f5fa9733ec570313caec0b2bd929a363fe67b523eadbc163c08c089bde3b6073f7925293e2d702b3ca01882bd6fbebf3ec586fc3d9862253cd7a351bd35df5e3ec8669f3d93fc753c8c373dbdb870893d88c9013ddf44423ceee512bd985305bde0475bbbd6c35dbdb805fc3b0000000000000000c57674bdbee51f3c00000000000000003a7f3bbd71e9ea3b0000000000000000df732cbd3e8eb63b00000000000000008864fbbc111e343b0000000000000000f164f0bc802a913b0000000000000000b042bdbc83d8523b0000000000000000887090bc75aa973b000000000000000006d969bcb4d6503b0000000000000000fd8e9e3a218ed4bad7d9c23b68feb93bbc388839d8734d3b6329213ce318113cfe629b3abe0c613b3bd0433c6a051a3c03cebd3ab49a573b6e60253c22b02e3c4500e53a76fdb03aeb81cf3b8f95273c8fc54f3ad8d5183bcccf913bfef7e03b4d9bb9390cc4993a1f65d03a9f17c03b7d0c7aba4047673a6594d2bae998763b8b6f3ab83733b5baea8cc3baa6d0083ba78075bb9fae023b2e4d153c203e03bd492de1ba4383d53a03494d3c615e0bbd95a6f3b91a57233ba6f1223c790802bd4770d0baebb6fd3a39fe093c845ce1bc148ee6ba7dac963a941f0a3c4848bcbc70a20dba433eae3a13e6ba3bdf6d89bc767376ba2e59853a45339c3b232f34bc67037fbac742f4b81e5d803bcdee7abb11f2e3ba9d0f40bac7db713b99342cbb3ebed0bc0762b6bb7787b5bc18d7923b165a93bd9f9705bd7ee0b5bc2694cf3b902eadbdc41f41bdca27aabcd747b23bcf909ebd4a4c3abd2aa299bcd550bb3b19f880bda3501fbd5bea92bc3a71b23b146d40bdfb3803bd1c8e71bc4435ba3b3c1ee3bcacf3b2bcfe2e2ebcfe9f923bcd9117bce09d19bc7000e4bbe9cc7b3b9f6dcf3b178b863b08388ebbf37da03b678a193c2fd5d7bd3726543f37aee53edb0a803cb086fbbd7e64513fd5b8e03ec0ed433c6658d1bd2786373fd369ca3e7529313c9ea8adbdaa3c153fba4bab3e0029033cba7892bd21bce43eecdd883eb507263c7c3f7cbd051ca03e7e43483e6c42373c761a61bdbb893a3e5ca6fd3d49d8583ce83340bdc658833db9af603dff960e3c567314bd204f8dbc40f3013b52e195bddb35023c0000000000000000e838abbd6c29473c0000000000000000f26a8cbdacb70f3c000000000000000019c46dbd0cd5e03b0000000000000000ea4c46bd673dcf3b000000000000000042492dbded81a13b0000000000000000af6112bd1426c93b00000000000000000d32fabc9630e53b00000000000000005a39cabcd9b0813b0000000000000000bb1a2d3bd65b25bb377c8d3b86c60d3c23030c3a43d00f3ba1a7d93b945f3e3c3644ce3aa977f53a5e97fd3bd68b5c3c3ca9e13a28ef303b1feafb3b391c453c2107073be3f232baafc4573bc9e0283c0bd2e43a70624c3a24aa293b61ab0e3cf2d05a3806f4043b7f3f08b77ca3c73b8e7d25ba7a04343a757b3abaad0a3e3b7810a0391c822ebbe981d9b9c66d1d3bd436cebba8f6523b0d25c33b6e76ddbcef4a79bb800b643b74e9103c2bd3e1bcbc3344bb38df423ba2a4e03b63a5bebcd3645fbb6ff8683bc711ea3bf479bebcf8bcefbad733943bf9e6643b2f1091bc8fa81fbb059cf73a732aa73b17c164bcfe89ecba72ebc93a6290a23b77dc19bc3e060dbbfdd2183a6b40423b36395fbb250d11bbdc4ae33907425d3bdb02e6ba3a9bb0bc7e75bcbb3a8ef2bc1ce9bf3b337464bd3aaf1dbde47e00bd3acd0d3cd06785bdd20a4abd9cacd7bc7e40a83b567a86bde3c050bd8e6cd6bcbd90bf3be2a925bd758b11bdc6f7bcbcdbc6e43a44ea2cbd49e200bdc90ca5bc3548cf3bd815bcbc85e68bbcde5e72bcdefc9c3b2d421ebcb0179abb979e26bc2e3ba73bd5bd553b5260fd3b2eb504bcf30ca03b85041d3c68ecbabd2a51233fb0b6233f7bf7613c905bd1bd92a01e3fae59203f8226153c0137a6bdce1e093fb8440c3fdfc91d3cbba199bd973ce63e8735ef3e2549f43bd09e4bbdce37a93e9ee6b13e20b80b3cfd5464bdb3567b3ed610893eca980a3ca38838bd5e21113ec3c7263ed4b3303c998324bd6473543df3aa973d8203033cadb9fbbc073272bc21232d3bf49cb9bdb761103c000000000000000078a6cebdfa99483c00000000000000003537a3bdaa7b1a3c0000000000000000857390bd2af60f3c0000000000000000c0202fbdf6ea703a0000000000000000cfe352bda00afd3b0000000000000000bed729bd7ee9cd3b00000000000000001f4920bda7de013c00000000000000002b78f9bc4db1cd3b00000000000000006ca9843a5f4526ba13280d3b99924c3c7bfc0dbad5ce513b709da63b50db7a3c2ddb98b9aab1903ba601d73bbb068a3c52f0d4387ac88b3ba31ddc3bf8336b3cc9b2c7395bfb823bad728e3b1b8e443ccf1982396b1f4e3b7321463b6da61f3c72175bb8797d4f3b6bcc2639b8cdb03bfe329fba8f90b43a2d5c91390547163bbb4917ba2588a3395d18f3bac2081a3b07f2e4bb0f5d443b408aae3b77d59ebc165277bb8d9e463b76a0f03b1b0c90bc83c235bb0cb7683bf0efb53bb7ae7cbc66af1bbba32c543b8b84ba3babf967bcedbf82bbd3d8493b09f0943b05e543bc26c23ebb6dc12b3b1cd3973be37b1abc58089bbaac0bfa3aa2e2e43ad89e7bbb3084ddbac6955f3a6f14223b8e053cbac4151dbb13f04a3990ad1c3b51a4aab916d4a7bc16cc55bc896b08bda2e8fc3b7f9f4dbdbe6365bd7f9417bd21a8383c6c3180bd656290bd8f5c10bd1fc0123c0b4472bd895b86bdf33201bd7098fd3b96a84bbd61a24fbde6b6e7bc0353063c8d8523bd153718bdc9c7bfbcaa9fc33b6fc8debc272aa4bc3196a1bcfc36a83b0cf34cbcd1e737bb491f56bc39cec43b78a4b2baed84413c232d0fbc45c79e3b69ecfa3b6dc895bdf6f4e43e247b543fb9164b3c687babbd5d0edd3ebee0523f1166193ca67891bd1de3c33ed5f4393fc2a00b3c812c75bdbbd8a23eeb0f193f4e0dd53b78b253bd9fcc7b3e2461ee3edbc1f53b49d733bd481a313e7579a93e88e6e83be1bb0fbd0114ca3da68b4e3ee02cfb3bdbb0ebbc0d78033dce07aa3dac8cb03b565db1bc31ef7bbc42e81fbb6d59d8bdb01d323c00000000000000005799f6bdfa1a763c0000000000000000f206c9bd3a2b453c0000000000000000771da2bd836b1f3c0000000000000000e85c85bdebf6073c0000000000000000682565bd42900d3c0000000000000000ee824bbda1152d3c00000000000000004dda36bd6954353c0000000000000000cb650abd1741f03b0000000000000000bbe666baa6a1be395931e339f0aa693c141bf1baddd3913b1f06b53b6306993c5e4c90b9dd4c363b3915b23bd505923cfe8795ba208da43b5436b73bb1e08d3c08a2973976e7093b9472483b04af603c7069bebaf8058a3b7d013c3bdc531e3c899007baec6a273bafd76d3a9a92c23ba92d08bb3ae0073be8a5953a5a8b823a59130fba3a92783ab731ceb9ec4ceb388e2eb2bb3d59093b0e1a743b3cc105bc9542c0ba08aafb3a6169383b128d8cbbdb0106badd20e03aae66263ba33df5bb0ebd87ba2d51783b27c1613be18cb4bbb98716bb8844483b0d923e3b5edd73bb61e0c3b99286323bae911a3bec3465bb86cf04bb6f1a133be3bce73a6f03afbaf7a27139d6a8c1baaaf1f53a8e7cac3a02600bbb78d360b9be87193a57b9c63acb93b0bc491403bdbfe200bd1e901a3c46c743bd48a4aebd4dca17bd5ebb4c3cafc749bd99e4a3bdfe340fbd73770d3cde615dbd3dc2adbdd01d12bd9d2f093cfd6137bd16c472bd60dcefbc3ad4b03bfee013bd7f2042bd5642e1bc8262e53b663abcbc6054adbc1e449abcbd2bb43b3dbd53bc92dd94bbeae94ebca02eb73b809414bb77b7643cb32fdebb9551923ba4fbf93b69f35dbd7a05863e820d833f542b273c92f075bddadb7c3e5a4c823f627b053c73f042bdbd23683edd1f573f1dd1dc3b8fed2ebd33ee403e4f5f393fde90983bc38306bdc6c8133ec9a70a3fd533b83bbfcae9bc3b62cd3d8416c73e38a1783bb4e3bbbc0fb3623d66ba6b3eb802853b277367bc472f2c3c925aaa3d77a1463b7ade1dbc493c9fbc8f2eb3bc8f28f5bd8c994c3c00000000000000002b9308be138d8b3c000000000000000070c1b2bd64a6183c00000000000000004947a3bd3784273c0000000000000000eaf26bbd7aa9ee3b0000000000000000e7a85ebd8ee4123c0000000000000000fb5933bde867eb3b0000000000000000a1d82ebd73044f3c0000000000000000c2ac0abd1023213c0000000000000000d526b4ba0339f03ad0e3b53ab318843c93f63abb7162143b71ba193c830db33cb26e28bbabad803bc3351d3cbd96b43c8c7a03bbbfdab23b3d1bf13b01be953c37f97cbad172a63b847cb93b92f4503c6ca4c3ba418b823b67929f3b41e2133c5a66a2ba7cdd3f3b68168e3b63c59d3bafd8bcba96aeb23acb38643b599957ba06bb8abaa224433a1c96b83a539751bbfe02d0ba695ba23909297e399cd61b3b37e9c93b33fc17bb8d54eaba6cc6053c5e5c893b6d7fa93a3e789238cc24973bf588753b1235113b4b88fa38c04e3f3b3d49203b9f57263ba571f8b9792b413ab5886e3b7251353b29c033b8c686083bc8ab8c3b490043ba80ea553a5f31c43a53d28c3ba7d09aba586f7ebac5a0173b8c79ca3aac7edfba709986b9b5e0253b3e97dcbc746f84bd4036ecbca427143c742e1bbd88f401be968ffebc9ba0553cbdaf41bd5ac105bea7be12bd65a2113c01bc41bd8b07e1bd215313bd419ac73b9a471fbde6cea7bd087904bd7865bb3bf78704bdbb517cbd8cead5bc086ee83acb34aabce4f212bd54dfb6bca640cf3b23a4f6bb2fe51bbc347f23bccadd263b295222bbfea2723c3086aabb68b8713b93bed43b902702bde532ac3dd8f99c3f000cfd3bbc77eabcf009973d8d4d963fe24ab53b9327d7bca077a13d78bf813f49549e3b8629b9bc26a4923d7770513f355e683be72e8bbcaf61623dded81d3ff1cd533bfc9650bccb760c3db2f2da3e2588033a0af0cfbb5c4c383c23e7743eea52913976d8aa3a0debf7bb7d23843d65887e3a8495c23ac50ad9bc341e51bdcb5ff6bdd96b4b3c0000000000000000e799f9bd82e5813c0000000000000000dec9abbdce111a3c0000000000000000b27073bd5b07d53b0000000000000000325733bdcc3eb43b0000000000000000e11d1abda88bda3b0000000000000000bd0301bd49c0de3b00000000000000003eeefbbc8f93343c00000000000000008665f2bc94330e3c000000000000000000000000000000000000000000000000fa67ecbae10a303bda1cd93b63498c3cce679bbaafb3853be270013cd321613ce18cd6ba7785863bd412a13b7fcf443cbce36abaa04f973b00ad413b80c2003c80e938ba86895e3b61df833b1664733bceb4a1ba40ce453b12115c3b8211ad3a23f018ba86a1da3a8728303b2c89bcba00000000000000000000000000000000000000000000000000000000000000004fb4ba3bc01ddbb8d15648bbf5bb4c3cef2fc83b7cbcb43982a20ebb92180e3cad406d3b3746133b481124ba1dd8b63b15b83b3b9410863a51dc58ba38cb853b2e652a3b778cad3a38c624bae90c773b5a4f8b3be1e81b3abebcb7b92e21153b7c59763b516eafbaba9349ba7ee52b3b0000000000000000000000000000000000000000000000000000000000000000dcd415bdf5c000bedb4dcfbc36d68e3b85cd12bd2ebcefbd2d33e0bcdbd5803b4d220fbde201c6bdc0c0e7bc1259173ba218fdbce5e59bbdca70d3bcc7bff53a86cebfbcc79560bd92dbb1bc1d08573b906d71bccd1811bdd88582bcfe339d3a925bdebb138137bc741a0fbcf94af53a000000000000000000000000000000000000000000000000000000000000803ff6df5e3b6619d2bb4ad644bd8afa9c3fd7f1463bb6617fbb6310ddbcab3d823f73ba413b96899abb7bc386bc31dd523f8a54d63a6d3cacba44d664bc3b32213f0fe52f39e512483a158385bc7f8edf3e26fdc2b99d519f3bb3e8a5bc04be7f3e356002bb7e3b153c71aed9bc7fc3903d00000000000000000000000000000000000000000000000000000000000000009f2b7bbd54d1d43b0000000000000000df12fbbc65e68a3b0000000000000000229382bce952303b0000000000000000a60a28bcaa40193b00000000000000006857f0bb0766183b000000000000000059b918bc24183e3b000000000000000090d06dbc51bb853b00000000000000000000000000000000000000000000000000000000000000000000000000000000d330e9ba1259063cad2e0b3ce4b66bbb20993aba934efe3ba9ebf53b85f40cbb39bb86b80e9d673b906eb73b840348bbafe7633adf69683b39b6773b43e416bbc5a95e39a6814c3b2954e03a4500b6bad62db3ba57a49f3bef2472baf625f0b84c7f0abbca53ae3bc7e55cbb21f8573a00000000000000000000000000000000000000000000000000000000000000009828aa3b489584b90630b53bd12601bd3eef9f3ba69b0bbaceef8b3b0dcfe7bc54ce9b3b9228b5b9b171a03b17e1d9bc8677353be7f850393b4b693b6060cabcec407a3b50e710ba2a623e3b770b91bc0a42523ba02e54ba802e113bb31321bc858c963b87f8ceba7708cc3a9f4d48bb00000000000000000000000000000000000000000000000000000000000000003ffcb1bdd5dcdfbce4bbbd3b97ac08bb77d9adbd20f1dbbc561d6c3b82a98cbaffe289bde921d9bcbac5203b532caaba4b1159bda126cabcf35ca03a99dca5361b7021bd2196b3bc86a81c3b73050aba5564e3bc36e599bc6993283b7d8c1fb9122321bcf2c872bc1203213bfaf3b4b80000000000000000000000000000000000000000000000000000803f0000000046fd643be34846bdf269943f0499f3bc311f113b6c8a03bded8e783f967f53bc6fa8493a05e9cfbca0044b3f7ef2b7bb3beb9e3aaa44c8bcf3481d3f710a22bb66e7833aeaf7c0bcbbd7e03e95498abb6a0f103b92e6c5bc1395873e4ddb00bcb168683b3f5df3bc075bc83da64a7abc0000000000000000000000000000000000000000000000000000000000000000799eaebb3356d23a00000000000000001e3924bbea60963a0000000000000000c4e73dbb0ceebe3a00000000000000009292c3bafc11273a0000000000000000cec4103a87c21aba00000000000000008963053b1249b2b9000000000000000017e6303b59903cba00000000000000000000000000000000000000000000000021a781ba432dfa3a1d40e83b3491b339d6b8b2bb470c703c0edfbd3b6271ad3bbd33f3bacd81193cf8e4063c25e4903b267263b99236ee3b80cdbb3b1360ab3b8d0d51394db73c3b8f4b843bb5e46d3bcd6887baf7c2a83b49abd23aa7388b3b4fbc2ebbbf6fdb3bbc8a14bb79c2bb3be2b5c0bb2cb01e3c512ed8bbb6a1ae3b777a44bb8b0e673b3cd889bb17285d3bd21e9e394d18c438a910033c25fc16bd8c470e3bec72e8b9c87c203c9e010dbd82cbb13a407f023a20050a3c192d1bbd6dbacab807567e3a9360cb3b3a410bbd3b5dd9397eb56d3a0bbdf63bcdf9fcbce6a7ab39cff4873afd87af3b6e31b9bcc4944a3a3ab4d137f0548b3b6b5250bc9b16883ae756b0b9a430c03a35099338c2e2c539430e0bba9ef50e3bd3068fbaed3d32bd26395dbcc4ed06bc128b1e3bcccdc7bd8665cdbcb59964bb2668fb3aff6ac8bdca7ceebc5b13afbb2958a53a5716aabd404df1bc78479bbb474fda3a88347abd0ff3d4bc2678b0bb92f5d43a329e44bd34c8d1bc18aa97bba696d83a784704bd231998bc7e3e55bb6438ea3a2a5074bcca983abc5e4e9cb9b417543abcac073cd8a471bb1a30ceba8d5e023b406a303c6c5bc0bda078943feca4cc3d9ece5f3c3261c7bd373b8d3fea39c63de5ec123c4a959abd9c0a723fa069c93d1f3e0b3c443784bdef93453f15cfb43d4dedc83beda25abd82a2163fd3d9973d2d54013c56c454bd8d6ad63e7ddc663dd3cd043ccb7246bd2a9c7e3e8d87073d68dd253c0f5630bdc04baa3d8651163c71241b3cba3227bd67a9edbcc15419bca25ae9bc65d0b43b0000000000000000daffd7bc53c0a63b0000000000000000225abfbc4991923b0000000000000000d0709fbc0bd9453b0000000000000000a18186bc4dd8343b0000000000000000923a60bcdcc9003b00000000000000006ed644bccd80f33a00000000000000001eb303bcf62be93a00000000000000008b8609bc840b213b00000000000000004d36b9b97d16a43922c7d73a597dee3bad5f65bbadf6003c068a143b75c7173cbc4fb9b9a2c3253bddcc4f3b123f113cf4bd48baa3c2753b4c30313b158f1a3cb200aa384f9e953afa76b23a2a6f123c7adcafbac4816c3bc697f3ba8264103cfb9d9dbab4671d3aa6500bbb84b60c3c1d8fa1bb8486e53b433df0bbf9cffe3bd32f07bb252cd63aa3c8d5bb2f0bf63be40cdebb63554c3b6c17283cd90718bdb1aba3bb81714f3bb16c353c899f20bd3d3cb3bb05ca3f3b7f4b163c41c411bd0a58afbb106b3e3beb42213c3ae00ebd9716b9bbc79c1b3bbb94ee3bf487e1bcdfe9a3bb9d13313bc713dd3bd8eeaebcd4239fbb3404683ab2c7a13bf3ca6fbc6ff64dbbce3e443a274a703b418463bb16a79dbba040af3acba2713b5ef148bb941ad2bc64552a3a41f19ebc5132bc3bc2228dbd4ab574bc174999bc26fb8e3b943c77bd02d49ebc28bb92bcd229993bfb348cbda713c6bc74db89bcdc36963b5b9c47bd5e6a97bc5a9477bc3cd96d3b36f227bd7b648ebc488f61bcbd5e9c3b72c2b4bc4a790cbc56fd40bcd128a13b07d943bc022d7abb02e615bccf00973bb2349e3ba2e4a53b2eb108bca417713b5556483c7307c8bd13de783f6785883e9bb6793c215ce2bd904b723f074d823e5120383c883da8bdf3a1483f397a6f3e228a313caf15a4bd87492c3f0b66503eb753143ca2e485bd1a73023f1ae9273eb825313c27a784bdccbfbd3ef322013e69052a3cce6b5bbd80ee673e10ffaa3dd3c8423ce3f958bd62b5b13db8d2283dd997243c4ff927bd531c5abc826fc83ba5e948bd31dbd03b00000000000000007f0d54bd652d1a3c00000000000000005e3231bd73efd53b000000000000000072de22bd8ff6e33b000000000000000014f604bdcc57c53b0000000000000000386001bd05b2b73b00000000000000002545dcbc6716aa3b0000000000000000bc08c4bc419fc33b0000000000000000e963a2bce769963b0000000000000000ce55dc3a3ee088bb3ad777b98484803c9b35baba6e32873b4dce0fbb7e0d7c3c57ab11b6d1555b3b8d7711ba71f17f3c99a527bac02b3c3bfe64a1ba023c803c4f95603a48ef823ac50b30bb33b7713cb4e232bae0342b3b6ca4aebb14bb643c356cf2ba4bc3773b94e0c0bbda074d3cb5eb60bb48da8e3b5a2205bc6b8f283cc91ea8bac6c446b92af896bb6fd02c3c0be966bcf76c8b3b05020a3c9bcb14bd4c0c56bc4d08a73b9759313c62f517bdad4037bc1948963b791f1b3cfe480dbd84fc31bc96e68c3bcbc8193c8dbcefbc05c63bbca72f873bd613ed3ba47cd4bcbe601ebc1f9d773bd2dbd53b1c539ebcfda415bcb24f5a3b8793ae3b522e48bc4e2f02bc1426fd3aa8a06f3bb93e8fbbdd72e5bb4355d03a09a3853b2cedd3bbec7581bc36be1d3c9935f3bcf9ffc53bf1dc4ebd9e850abc1aa501bd3108123cb55e81bdb0ba97bcefadedbc921feb3b01916fbd9b5d9cbc17d7dabce69de03b0b6340bdfe8f69bc0050cfbc524fe33b817418bddaa130bc233cb9bc9f64c53b6a57d0bc3dee92bbfc7196bcdbe5c83bee4243bc374ba63b437c84bc9664dd3b0a28d93a612b753cd5f267bc0f00ba3b2a6f293c98e1b7bda45c4a3fd377e03e20287e3c9b41d6bdf012443f8849d93eca703f3c5555bcbde77e2a3f1276c33ed2cc343cb5b19fbd31d60c3fbdb2a63ee106363c3e9e8fbdb1b2da3e3a7d873e34f7353c76d780bdad2a9c3eb69b4d3e6f003b3cdccd6bbd1b57403eb8bb093e504f413c06c04abd0a799c3d60f8913d87bb2c3cd79326bd0095edbb0149933c13a282bdb278093c0000000000000000708e97bd927e433c0000000000000000d02283bd1bc8293c0000000000000000296462bd86c3173c0000000000000000cfad4abd09ce083c000000000000000060b432bd966d123c00000000000000005d7425bdad16f03b0000000000000000147c17bd122c103c00000000000000009d53febc7d15c13b0000000000000000de3ce23ac47931bbac0541bbda249c3ca69732ba07227d3b514beebb9693af3c68b7333a0fe1a23ac54003bbe403a63c38faacb92b200c3b0f347bbbe5839c3ca332a13a4abc02bb24bc92bbe8f4883c8ee9f8b9a7a9053ba7b1c0bb98908e3c3693a5ba93c0113b00e5ffbbf3b6683cfae170bbcc06ea3b754552bcf838803cc69d01ba40810e3a02d6f9bb7e2b533cbbd28dbc3b3ed33bb55ce33b718d03bdce1088bc11e1c43b833a0f3cc041f4bc683a75bc8065a43be11ce73b5e0fd5bc12c687bc3db2c43b380e003cb9a2c8bc77b250bcb68b823bfb2ac83bf448a7bca6bf57bc43ecb23b0e0aca3b8ca87fbc9b232bbc084c4b3bb5b4803bcff211bcd7bf3abc8cc9583ba64c9d3b639cf6bba3d617bc786d2c3b88a0263bc60c5dbb526575bc9886693cc8141bbda981d43b629e3dbd1c9ca7bbd12922bdeeee1e3c27c94bbd92d266bc54260cbd2a93013cb6d25bbd513885bc6a060ebdb1060f3c18c103bda46c8cbb3265dcbc9d549e3b322410bdf0d3c9bb2e90f6bc8949e83b7b86b5bc916c193aec50c6bc185d013ce70235bc8dbdf23bceb8aebc4e9e083c7262a3ba7a83aa3cb4ad8abcb5fdcd3bf3a3293ccdf9a1bdadc21c3fea0f1d3f617a523ca710b4bdb8e3153fe98f173fe7cc123c752294bdb328013f0585043f27ab353cb7448fbdc6b1d93e9aa3e53edee9ec3b6f1d4fbda6caa13efb32ae3e7877223c135f66bd640a723e83d68a3ee5ac003c821a3bbd13d8123e5b18363ef3cc373c1fd23dbd26bf723d89ebc93dca04093c29c108bde65e0bbcafb1ba3cab6ea1bd41ac1d3c000000000000000019a6afbd00b3593c0000000000000000cd5a94bd6b223a3c000000000000000041d58dbdf941383c000000000000000087f947bd1320c63b00000000000000009ea45cbddf24293c000000000000000042f246bd8304173c0000000000000000af663abd32741d3c000000000000000003e91cbddbadf13b00000000000000004e510d3ae87e4cba3d6dddbb5aa7bd3c73bcf0bafa4eb83b0846cebb39ebbe3ca34dacba5316d33beffab1bb8e08bb3ce37f82ba1769a33b9b54bfbbc484b33cb632a3b9d8386d3b45f8e7bb71b3a43ce8e58dba200a7e3b0e41dabbb456883c36341ebb0a41b93b62eb0bbccaa18e3c618355bb8393b93b03d900bc6495393c262c80bac85fea3a40e104bc470a4c3c44c499bc9200d03b4e8eca3b2a37bcbc69bc92bc9762e33bb8ccc83b32e9a1bc90238dbc32ebec3b7055a33bb0668cbc72d077bc9d42d53b5c05a43b18167dbc9a177abc124fc33b1d58aa3baa8e53bcad8659bc67e9ac3b7d91603b26af05bcd7b641bca52a763bd8993f3bfc7983bbaa6238bc77b9753b18b6e53a7070493acab321bc4cee4a3b1283f53a6937f3ba11adacbc3daa4f3c9e8727bdfa350d3c6b203dbd941286bcbce83abd2af64c3c077e64bd039cf6bc861929bd51092a3c54eb5abd68cdd4bcbd621fbdeeca153c1bd33bbd320c8cbc45b015bda9c60f3cdef41bbdc94a19bcca8006bd865d113cd2a6eabcb7ee15bb260ce5bc4b31043c47f48ebcf5d4653cac44c8bc9a6b0f3ca78601bc80c5ca3c7f2999bcd971c63b47c0173c323c85bd9e89df3ed4f04a3ff52b443cf08b97bd8027d43e5f1c463ff4a1343cdc5984bdef5cba3ea63e2f3f84a4093c320a64bd3d6d993eba6e123fbfa4093c76304fbdf3156f3e396ce83e8578003cebec32bda670283ef918ac3e2472013c42e91abd853dc23df169663efc2def3b361800bd5bc3003deb37e33d8e52013c7796d2bc044278bc8d3cba3cf963babd7bb4333c00000000000000008b5fd4bd2c1f773c0000000000000000ade2b3bdf3be4c3c00000000000000004e5597bd7bcd353c00000000000000000af384bd765c373c0000000000000000cb7b72bd2f63273c0000000000000000f91056bd89ff563c00000000000000007d8f51bd5073433c0000000000000000b24828bdee40183c0000000000000000a91d26bab477443b86dee1bbe996b13c448f3ebbec290a3cc525d5bbc503c13c2db7d3ba88d18a3b8d7894bbcb1fb53cc16117bb29acfd3bfb14aebb5f4fb43cd835b7ba4eedb53b7d50d7bbcfbe963c257f1cbbc9efe53bf3fbd2bb15ee843ce6699eba4289a43bc5a3e7bb6367483c84b632bbfb03a03b53ad9ebb3b17023c1cd604bb73e7a43b25fcb7bbbbd9053cf6428abcf5e0bd3b832e253bc5142abc77a16cbc5131cb3b1851583bd2eaeebb6f085fbca9989f3b0cb2833be9c10abcffd761bce39acb3bd4413b3bbcbb9cbb1eb23fbcafc3883be69a1b3bb43f8fbbee0340bcded8ad3b8156ec3a5a83d5baf69621bcaade783ba803003b358b31b8d07002bc6e50063b73fd073a730b283b3e4a00bc994a1b3b3b500f3a65920e3b8837e0bc1f6734bb070927bd41a01e3c7c0748bd53ce20bd6af137bd09b44b3c0da343bd3f4c18bd5fc822bde7ae063c2e575abd2f7830bd228a2abd6d6a183c5ae72dbdf7f5d2bcea6a15bdcbb5023ce7711fbd23ca92bc5bfc0cbd5ece0d3c09cad8bcbc6778ba3ab2e3bcf112e13b27cb8ebcb8873a3cc4f7c9bc0353163c499d06bc8ca0b93c206394bc7961da3babfbf93bf6f842bd6bd5873e8854793feee80e3c173659bd23817c3e6ba5733f7e85e13bc6d12fbd2055603ebaab4a3f70aeda3b19f924bd0234383ea6a1303f41d1a93be19904bd40e60b3ecb79073f6be7b83be21cefbc58d6bc3d04bec93e614a843ba5ffc1bca88d503d68ef7d3ef951a53bc2e28fbc785a633b8325e63d872f5d3bb4e25ebc175cbebceb45103c08a0c9bdb1e94f3c00000000000000007816debd76e0803c0000000000000000172a9dbd919f3f3c0000000000000000597397bd11af463c0000000000000000299170bda5f3283c0000000000000000c7fd66bdd52f343c0000000000000000001b3ebdf4000b3c0000000000000000032c45bd724b533c0000000000000000858825bd0785113c0000000000000000b7adfcba40efa53bc85293bb41fd973ce0ce65bb35cffa3b52a1573b785d963c17e41dbb31dfeb3be417b93ad51f9e3c05de12bb4cb2003c6dd790b9e824893c2b8cefba1025df3bf88151bb54c46a3cae4df7bad0faba3b946d31bbd45e4a3c9dea1abb2618b43b3ea095baa7b8eb3bc1fc12bbd578a13bd419bc394039ce3aaf97caba9d98483b7d6970bb934e893b69213fbc34bf9e3bb731dd3a57df5fba281ababba51f933b1cfde4b9ca09983b07bbd5bbaacc983ba2239a39f7d1533bd29cebbb0f2aad3b447c10381ba9113b0384ebbb2b428c3b25cfe539d04c2b3b6e97cbbbac178b3b86f941b84e54963bbbf646bb661d343b7c75bfb9e75c823bfce5aaba25538d3a51338aba6dbfb03be9576bbbdba5163ac08ba3bad243b53bb84712bdecf2f4bc0c5d13bde1c8093c18753dbd382fa8bd08731cbdfed4293c1e4750bd110ba8bdb46e20bd6d5d0b3cbba448bdd9608cbdeb0b1bbd0f17e13bd4a328bd9b4445bde5210cbdc7f7bf3b87d10ebd483310bd298105bd5c67de3b4888c6bc7355a3bc901dd4bcd44ad13bd4a850bc25a926bbb33799bc51bad23bf15cfebb7007963cbe9863bc2e96de3b968b9c3bf1b6e6bc3aa6ca3dbeac943f40f8bc3bccd1dcbc1ee0b73d31c38d3f1ceb913bf768c1bc6b04ad3d59b5733f15d46c3bfa2d9dbcb8848e3d35f7473f0652383bce8d88bc2fe04f3d6a7f193fa3241a3bff934ebc438fdb3c8decdd3e5224063b9a1b0abc8c0e923bbe5c863ea46afb39e8c14abbd40a8dbc2f12cb3da0f2e83acd3494babd760dbd180f80bc7f1ec2bddbb61e3c0000000000000000a30cc1bdd5e95b3c00000000000000000acd8cbd4077153c0000000000000000826e5ebd2bdb093c00000000000000008de62bbd31d4f13b00000000000000008f2728bd4329003c0000000000000000669918bd0c67033c0000000000000000baf91dbda9f01e3c0000000000000000441510bd4fc8eb3b000000000000000000000000000000000000000000000000d32abebac9a6b43be1b4393b9a3c333ccbab05bb42a2c73b4c4d4e3b1b0c023c04d70ebbba99d03b24ec98395321e03b11e9c4ba6da0b93b458dbbba8cb3a73b537d65bad0c8ab3b1a413839014b103bea7eccbafe6c883b36ce293a9bb7a9b8f01f12ba4a2c123bd8e4243a21cebdba00000000000000000000000000000000000000000000000000000000000000009a056fbafe3ef63a1c8818bbe4c60c3c80692ab9c3ec0e3b823fbdbac9df013cf707c5baed79143b5d53a3b91841c53bca98e1ba6d9d0c3bb6b497ba7cabc63b6fa237baa4df243b5c437fba93409d3b32f7523aa5e9383af7ab77ba4880b43bab3dc83a113bcf393850e1bab661b63b000000000000000000000000000000000000000000000000000000000000000068f227bd6aaeaebd9383d8bc700b913b8ea715bdd341a8bd6d3fccbc093e7b3bac630ebd356888bddcd6c8bc051e0c3b72d9f5bc39024fbd57dcbfbcc99e4a3b4a3fc5bc3f3a1dbdb50ea4bc9767b73af14480bccb9fd5bc2a6486bca1d13d3b8211f1bbf7de13bc0d7434bccbc81f3b000000000000000000000000000000000000000000000000000000000000803f67f7173b913180bb98a20dbd51c2943f6c89833a0df743bb24a9afbc1384783f0736e73aa03f8bbb90ed92bceb394b3f7e01353908f38bbad87f91bc4fdd1d3fb45d54ba3e148c3a78b0adbcd177e13e1ecc35ba0609503b890acfbc93c6883e57622fba03d7d33b07850ebd059fcc3d00000000000000000000000000000000000000000000000000000000000000006b8c39bd4eb28c3b0000000000000000f6b9c6bc5c6f573b0000000000000000534979bcc842333b0000000000000000afd24bbccaf9473b000000000000000059d92bbcaa571b3b0000000000000000bd5346bcf816663b000000000000000036bf8abc4ccf673b00000000000000000000000000000000000000000000000000000000000000000000000000000000d115a03afb48a9bbc559ec3b88fcdebbbdf0433ac3757cbb0ec4a93b146fa5bb2f58973acde8b2bb4688de3bb42b88bb386a973a9746b2bbc578a93b868368bbbddfa7399bdbadbb23048e3b0abc2ebbca770dba40fb23bbe03b293b6d61d5badead72baa4e5bcba5107443b05ce3dbb0000000000000000000000000000000000000000000000000000000000000000c81db13910161b3abc9d203bfd95e1bc219c313abdafef39ed123d3b0ee6bfbcbf050bbb9cb4903a1429133b7d48b4bcd35449ba369dcb39cf23213b5d819abc279e0fbb755b973a7ce8493b23298abcb69f74ba78981b3ab4e6263b73554ebc3a6b7439fe4960b8cfad603b34312ebc00000000000000000000000000000000000000000000000000000000000000006263a0bc675091bce7faa4ba085d0d3a65ccb8bc0ea179bcea77e0b90385c3388d1993bca5256abc02569bbaac98433a1ade34bc0ca62cbc7af612ba989dfe3922e8e0bbd31232bc5656723a5cd4f93ae6602bbbc5c01bbc2b945d3910300c3ac556c93b961323bcb705b03a7175953a0000000000000000000000000000000000000000000000000000803f000000005bbdf43a2ec1d4bc886e823f826873bca11ca13a44fd99bc55ef5c3f171efdbb9c2e363b11178abc429e363fe3fbbabb35b7ca38ebd287bc1528103f3f4848bb4199ef3a3ed692bc0c72d63e2267a1bbbbdaed3ab09ca1bcb0c38a3ebe3fc3bbab2dc03a7b7ec9bc11720a3e7af93ebc0000000000000000000000000000000000000000000000000000000000000000d2103abb2ab2bb3a00000000000000002abbf6baf0a83a3a00000000000000001089ffbaaed4923a00000000000000009fc1adba621faf3a00000000000000005d0cfeba016a9a390000000000000000f86a77ba61d5e7390000000000000000983661ba281e53b8000000000000000000000000000000000000000000000000ebcee73ade0348bc778e073c03bc7b3b035936bae261e6bbd1ca833bde93653bd0ce983af5f814bcd4a0b33b4ea8b73b2170843ac7d417bc5bb04d3bfe6bb63b7006b23a97c318bc004f923b5305d13b086a8fb90b8901bc09bb0c3ba07ced3b5c219bbab5a1a8bbdf4b043a29e0003ceb8d39bb09aa9ebab91a39bbab4bf53b756a96baa7e9b7bb74105739acf0073c0c0205bcf32c1f3b3c48c73b050211bd4b31d5bb39973c3b09bef03b7f5f1cbd1f1f0ebce39d403b3da2cd3b1d1415bd2840ffbb9deba53a0b40ca3ba45307bd316d2bbc6c15243bbc759b3bf6affabc9d9702bc2916ee3a1eafce3b9380d5bcd921ffbbebb5af3a5ab1d73b33c7b4bc7afddebbedc71b3b406d893b784764bc18a904bcde7c1a3b84d1b23b112055bcd328783ab658a6bb86484dbcf0b84c3b251ea9bc4fdd2fbc4c0d31bc62ae383b94a2b4bcfe4825bc386d22bc9e2e1c3b253aa9bc27990cbca4952cbcc296323b22511abcf94cc5bbfc6a1cbca630533b0d4508bcd58e9dbb5d850cbc1e7d333bd90377bbf7c502bb87c208bc3f445f3bd002143b62a021bae6fcdabb9f0c3d3b10dd393c6c22a73b5151debbdcfe4c3b9e94a93b0c1a50bd04d6823f0497ed3d2897093cc7165cbddd29713f59ebda3d0e85dc3bac1835bd283f4e3f9d94c93dca25c33b145f20bd48d52a3f6a33ae3da595db3b448c1cbd25b0063fcad98c3d8409c53b023a1bbd343bc83ed629563d8f9ab53b05b418bd724e833e002e0e3dcecbe73bddcd24bd1853003eb707643c695ed43bb48114bd2c573f3c1a622ebaa56796bc806d8b3b0000000000000000c99e91bcac1d473b0000000000000000c4a180bc4799883b000000000000000024da65bc8422863b000000000000000047ff4bbc1081443b0000000000000000640058bccb9a4f3b000000000000000080c15dbc5e97863b0000000000000000075744bc7154383b000000000000000077513ebc2f27433b000000000000000087cfe43afcf458bc01644f3bf930863c6b37523981c246bcf0332a3ad2228d3c1590ec3af4454ebcc50a133b1b11883cf731073a33c147bc94c2d839371aa33cce353e3a18f447bcaf140439dffd943c59c691b88bcf23bc376c20bb28cb9e3cd09c3c3a74e411bc708947bb8fcf943c513355bbd6f58fbbdd19d8bb9d739b3c6bd7aab9d2a6d7bba08072bbe3fe913cf14a83bce0bc853bc501f33b096f11bdb29e92bc3f5a903b628f0c3ce56328bd535f7fbcde75773b765af23b5f3a0cbd840994bc2e70a53ba54b0b3c921f0fbd64847ebcdca8453b77aef03be4fbf2bc50a789bce8057e3b9eecf53b1f6ce5bcb1fc62bc4543493bc67ec63bf195b3bc60a576bcd0758e3b8524d03b784b91bc953948bc96b9433bac3eb13b4e9a81bcc4a4743b7b3d1e3cb784b8bc253ea43b9c172dbc3649903b69f3cbbcd63dea3b911736bc075b7a3be6cfa9bc47d2943b48d388bc1de2933b8493babc3dbacb3b3d8107bcc897de3bf40b9abcd5d0913bfca200bca99d013c2dd6a0bc3d1bc63baacf5bbaadef2e3cb82687bc1b96973b1065b63a3a1b643cfcaa8bbcb671cf3b2ff9f23b31f4853c29cc6ebc7e4b8a3b5517043cb18968bdf0095e3fe006873e4c3d373cd9bf85bde6e54e3f5465783ed3cadc3bf4e847bd6eb12c3f80d25c3edaf7133ca10553bd7293143fdb1e3f3e1dc4013ccd1536bd272fe73ec830193e8ec0193cf01a42bd6559af3e6357f13df7ece23ba1b724bd7aa7633ec892a63dc6fa253cb55635bdec7de93d54c23e3dd26f153c17f217bd6c3a513c85855b3ccdb005bde9a1ba3b0000000000000000245b0fbdc9ed023c0000000000000000a492f6bc725ecb3b0000000000000000be0bf1bc2b57e43b00000000000000006df8d3bcdcdfab3b0000000000000000cf6eddbc83e6db3b00000000000000003bdfc5bc4ae9a63b0000000000000000bb05d4bc850bcc3b00000000000000005c83b1bc1609993b000000000000000080c5d93a6b8877bcc1304cba3864d43c46fe6b39ac8a52bc72148abb8afbe43c50073b3acdbd4abc644497bb77a9e23ced814239a38e3ebc625db4bb287ce83cc157413a613250bcc2b9e9bb7477db3cf90210ba052a0abc60a800bc399add3cfb6aabba5768f4bbc09501bc81dae33c21fc05bba8c6b5bbaf1a1fbc793fde3c245145bad7fbfabbdbf0e0bb8d44cf3cce10a9bc56688f3b07ad003cc0bf0bbd58b9c6bc5e1be23bb05f0e3cfb1b1fbdb642bdbcfc44b73b8c06083c2a7d12bd30ebc4bc2c5fd13bb7c5083cc1ef03bded22aebcac069f3b123f0b3c4d5bf8bc950fa4bc2783ca3bbc93dd3bd9c4c6bc15bfa6bcab819d3bd249e83b433cb9bc6932a3bcff95a93bac20be3bc5d591bc597f7cbc370f863bad77ba3b63b885bcc03f8c3bb43dad3c1a3ff2bc93b1953b4ab418bc9d55843cba0f09bd59b5083c1ba878bc0324583c49eefcbcb9f3ef3b9d1383bc56845a3c35cdebbc0db7dd3bb0d45fbca5a8863c35a3dbbcc168db3bb84b1abcb0348e3c4ededabc54b3c23b32bed6bba07eb53c7db6c9bc6163e63b0ec646bbc173d03cd1cec3bcb016f23ba01b363bd359dc3cbf7fafbc5c3eb03b8ab4043cc4fd66bdddff363ff37fd33e98dc3e3c6a8b84bdcdc1293f7312c43eaa0b323ccca96abd7adf123f4b0bad3e0724213c359358bd5df4f43e17cb933ece952b3c07bb43bd7519c23eadb0703e606c183c691540bde695903ec50d3a3ef4c3253c07783bbd9b27403eca13033e7f29263c5d1032bdf3e6c13dc5769c3dbbfe193cf84e11bdfbbf3a3cdb00ca3cd4f82ebdcb90c93b0000000000000000278e47bdb7702e3c0000000000000000503434bd31f8123c00000000000000009fc22abdf469e43b0000000000000000d51519bdc6ab103c000000000000000054ff16bd0dd1ee3b000000000000000078860fbd1b61033c000000000000000069d50ebd5745083c00000000000000008d78edbc29f88a3b000000000000000095d2933ae1b157bcefbeafbbbd1f043d701e8d3a192d46bcd99525bc68770e3d52ecae3aae261fbc300c11bcd493083da55b003a020f2cbcf6ec2abc090c113d265c083b979837bc9831f8bb9d97f43c7c1e99b8e80206bc88a147bc2944053d9db807ba59f3ebbb700140bcfb09013d56d7c0ba40c898bb36be50bc83e4fe3c5a7b6138dd2ad3bb5e5926bcd91bec3cfb6dcfbce61fa83b53a8e93bcb26f2bc932ee7bcd5cce03bc89b053c7c960bbd46a8cebceaadc43b3ba0d93b17a0e7bcb71cd5bc017cb53bb5ced33b0d61e9bca223a6bc255e3b3b743dc23b815cbabcceb4c7bc6ad2b73bc3c0f13b7c7cc2bc565fa9bcc15e7b3b92a59a3bc2b185bc383eb0bc76e5b33b80c9bd3bc9e677bcf4708bbc3032533be5d1a13b918960bc79ca8aba33cde73c58ee0fbd2d74b53bd65d36bc7810c73ce6d61dbd3414023ccd6f84bc11e7a53c791d0cbd20aedb3bb0a998bc9a37ad3cb3ce0dbd1221013c2f1c28bc7c3bb53c23f8d8bc27e86d3bea2481bc8050d63c4a7700bdeccddd3b578316bccc71e63c8b1bdfbc6593bd3b6b6c08bc872e0d3d96bfe0bcb80df13b02b73cbba3bd0a3d83ccc7bc8098823b33cbfa3b809949bd5d940f3f8a60103f9cfa2b3c669664bdfdd5033f26fb043fc25d073c4dc144bdcb80e23ef199e73ef782373c974348bddc9ebf3ebd16c83eb309db3b16ed18bd26c2933e44299c3ee1941a3c6aec2cbd8c8d623e72a47b3e1baf0e3cdd4d1bbdb09c113e10b52d3e8ca91b3cf8dc17bd8994903d7280d23d8ac2083cefc6fcbc2d9eb93b2a4d043d82794fbd1374023c000000000000000076e363bd63c5223c0000000000000000d4d145bd07690e3c0000000000000000794c43bd1d28113c000000000000000052ed14bd0c2bb43b0000000000000000d2cc31bd79761e3c0000000000000000a0471dbd9c7ef33b000000000000000054d621bd6c4e093c0000000000000000a07007bddafee03b000000000000000010a1c43ae1790bbc0e4531bc2831103d29f990ba4513adbb0bc26cbc554f1a3de2972eba9531adbb3a6f73bc1032183dcb8dc2b9ac2fc0bb91867ebc31ac153d341b77b96073d6bb70d659bcd4ac103dba0aa8ba947c6bbb9a1676bcb3320d3d1361f7ba0e98c3ba17d182bcc487073d24282fbb419c4dbaa6c084bc8967033dfba6e9b9d65348bb0fb25fbc4769ee3cf53ac8bc7d13b03b9e08af3b851cc6bcbb85f5bc4fb0093c1570cb3bc5cbcdbca700eabca63edf3be7f3b73b5902b9bc33a4e1bc85b1dc3b348caa3bb29a9ebc0b59c2bcc592a23b7d0daa3b030b94bc4b37cabc74d5b63bb2a9aa3b65997cbc249ebcbc4353b83be4807b3b92933abca6d8bdbc3473ce3b557a623b3e4c25bc33e889bcbe9a8b3bf8a1963b860721bc692e1abc6d3afc3cb1f919bd9b92b13b2258b0bc08edc33c27512fbd26591f3c4b5bd6bc13229e3c41d922bdd657163c70a0cbbcebc89e3cc23423bd998e123ccfa8c1bcc4f3c03c9d8a06bdd37ad33b96bfb1bcde1ed83c901508bdf8600b3ca2d299bc4fdcfd3c58b8ffbc72ca003c8e3a80bca76e153d9035f7bc46a0163caf8c04bc52971d3dd144d9bc2c91b33babace23bd29b2dbd4ea0d23e126d373f6f7d283c890348bd9dcdc03e42302b3f9be5153c045432bd44bea63ed99e153fe300183c823b26bdb8878b3e6a0ffd3e0ad8fe3bac331dbdc4f45a3e3c5dcb3ea6b00e3c8ef509bdef86203edf469c3eafce043c489a07bd8921cb3d5368593ec5b3ff3ba1d1f1bc5450313d80adfc3d8e05f43bec2ed0bc531d8cbb1fb0123df70669bd50d5113c0000000000000000537184bd4397463c000000000000000092b16abd0fab293c0000000000000000cd8350bdbb1b153c0000000000000000fe703bbdc5df003c000000000000000014193abd96e70d3c0000000000000000ddcd33bd6ece0d3c000000000000000039d332bd56f31f3c0000000000000000bcbc13bd69cad03b0000000000000000fa7673b908c583bbd1306ebc7a7c043db39addbaa19a0738d5118ebc66b1113df7ee30b96e3f88bacb575ebcbc05f63c8558d6ba34d193b9855b8dbc90350a3ddcaa0dba4b3c62ba7d687ebcca1efb3c78fa05bb8cafd23a1b3e8ebc4699003db16514baf90123ba1bb961bc2510e03cc6d550bb3b3f573b56658bbc626ae33c15b393ba239aa33a2e1e5ebcb306ce3cf9acc8bc8a60bf3b1642903b1ac57dbcba41f8bc62180b3cc151273ba88f62bc9e88abbc52e6a73b14d63e3b72956ebc8187cdbca6f7e23be47a6b3be6f63fbc7f97acbc6c37713b68833c3b3b2824bcf5c4bbbc4fe5bf3be18b083b7fa310bc2d6690bce2ed7a3bb5d2693bc4d6e8bb8d3ea6bc30cec53b4244af3affdc13bae4b07ebc1ac8843bbc1fd4391d9741bb95b18bbc5530ce3c3f2f16bd6bf5cb3b129bf7bcd201863cd8922fbd4c2a193c2ad7d7bc86b9323c45c406bd61e0ae3b46a004bd56cc523c56c817bd437bf53b4e28d7bc531d933c3ddffbbc5a0bc63bc255e3bcf20db73c698f08bdfb3afd3ba6eb9cbca273cd3c3471ccbc43c5aa3bfba6a9bc76f30a3db4c3edbc58530e3c697f5bbce1450c3d6c9db9bc73c6b03b6a23c13b4d4902bd318f863e996e5e3f6d73123cc8e712bd56ab723e5424503f655ccc3be457f5bc3f3c533e64fd2e3f0779e03b268aeebc13462e3e1697173fa9dab93b928ac7bc3d7e063e7a19ee3e1bf6d43b7a8bc3bc65e9bc3d123ab83e38f07d3b1a58b1bc2b796b3d6083743e4bdfa23b265a9dbc71fb703c8e430c3ebf28bb3bfda780bce84061bcd652033db7cb6abd3493013c0000000000000000a00983bda57c303c0000000000000000ae9f41bd6952df3b0000000000000000fa114cbd60c80d3c0000000000000000d5a427bd8b33e33b00000000000000008d1c35bd56a0073c0000000000000000400c11bd83f1b33b0000000000000000abf72cbdecce113c0000000000000000ca3d0dbd98f2b73b0000000000000000868281ba3a94393b98a98dbcf522d23c2f641fbbfbf5f53b9e8f67bcd2cfc83cf46796ba50dca43b9f6f6cbce128c63c71d3c1ba984d9c3bf3b373bccffcc53ce73ab8ba6d50883b0b9564bcf3a8ad3ce809dbba81ce783b5a926dbc1078b13cff09d5baf42ca43b95b361bc12a39a3cf50435bb76e9073ce74b49bc6653883c7b18c3ba5f858d3bcce555bc7fdc8f3c4150abbc6669b93b1f3ab73ae045debbc44ba8bc1fe9f63bfdaa043a3fad5abbe93e92bc2924b73b30c132b9b9cc20bbf7cc91bc08ffa33b40cc0c3a220a25bb7eea7cbc240d7c3b5e08083ad74b93ba7c6c6dbc717c943bf53f8938fa7d17388d846ebc0b977d3b659629ba6ddce63a67d369bc98a6a13be5afb6ba9f1f8c3ba3f84abc96c86c3bd881eb3820cb043baa7fe5bc517b6e3ca74a02bda6b9a93b871c11bd22dcc7bb17d618bdeec4123ca3d710bd2d410fbcc50a09bd29309d3b87880dbd8cdf7ebb1e81fabcb3afb73b0f80eabcf49d9b3beb15e9bc7036a23bf3c1e6bc9988173c269fdebc0212aa3b2cedc5bc2924663cbbd1bfbce929bb3b740ea6bc810eac3ca947bdbce76ff93b0e6885bcf1b9e73c3c7a90bcba318e3b86b17c3be19c9abc125aed3db3ff823ffb96663b78478dbc0cd7d13d74e9713ff8b22b3b4d3a6ebc6567b53d7fa34f3f3f7e633bc2ff63bc15fe943d52c22c3f3219213b659559bcba755a3de2c8073fcded663ba2b137bc6dcc083d5364cd3e3c15023b086318bc9dd23d3c76c0883e31570b3b0587e1bb3cd72abc871f0d3e9292f63a60b7ebbb3e2dc6bc61c3c33c773e57bd2c67a13b000000000000000013015abd643a0d3c0000000000000000d7e324bd0347e93b000000000000000071fd10bd4b82c73b000000000000000095f2f7bc83d5ba3b00000000000000006e32f4bcce0eaa3b000000000000000045a4f8bc2e97ab3b0000000000000000465008bd113ae93b000000000000000022f4edbc1a26723b00000000000000000000000000000000000000000000000001507ebae26afd3b599e42bcf554493cbfaaa1bae28dd53b91e714bcbb650d3cd70f8dba5c97b63b92781cbc69c9143c745e0fba730a9c3ba2e91dbcf010083cb698e4baf204a23bbf2909bc68040a3ce5b38fba9480c83bdac5ebbb2f96b83b048685baf196cd3bba520abc32a8be3b00000000000000000000000000000000000000000000000000000000000000008e5429bcc21e693bbe300ebb8047923b48dc00bc95fc793be1688aba19763b3b2733d7bb9cf71739daec93ba9d67323b43e2bbbb48eed13adf63fdbaa25f5c3b0edfb8bb363b9c3aa85d6d39abb18a3b82389fbb3ffc043b836facba9562a23b1d288ebbcd2bc53ab21803bb7f16e03b0000000000000000000000000000000000000000000000000000000000000000993604bde3d081bc845eb6bca114ba3a9be3e6bc34b8a5bcdf218fbc5d26083b4127d5bc637072bce79780bcff12a43a6f53c6bce9270abc2c4f65bcd5b5db3a12f4a2bc495665bbbf785abcb813c03a1fa98abc42440eba06f245bc8351373bcfa883bc5062093c51f02dbcf0413c3b000000000000000000000000000000000000000000000000000000000000803f6663953a7e0026bb5fcf94bc997a823fa1cd903a699ad8ba362338bc58265d3f6a0b223ae3dbf2ba147041bc9b16373f64bea33a8a8490baa45763bc7e95103f39522fba55d6d5b916dd79bce371d73e7b6730ba08b7873a8c779bbcf5d38c3e830f6bbaafd8d03a543fd2bcbb670c3e0000000000000000000000000000000000000000000000000000000000000000da15c7bcfa77f63a0000000000000000b3a27abc0e4dd53a00000000000000009b923ebc267a1e3b0000000000000000d1212cbc1fcfe13a0000000000000000e10631bcf378443a0000000000000000391341bcbb4ae73a000000000000000031b879bc4f10813a00000000000000000000000000000000000000000000000000000000000000000000000000000000511cd8bbe8b6e83b307b203d146ec33b1ab484bb24f9043c3111183de0b7083ccf83f7ba4043143c4e2cf23c3f3e343c98898aba02cb003c5e0fcd3c3d2bf43bc4b752b98659aa3ba5378d3c5817dd3bc0470e3a438b793bacad293ce5ae8c3b397fc3395ef9303be997903ab6873f3b00000000000000000000000000000000000000000000000000000000000000003d2234bb505d0bbbb353a93a7bb2a53b9abb04bb077a8ebade6d5bb9e90d0b36cbadaaba4cfe21bbe13e33ba5fc317bc6e1e36b9fd2b4ebbb3d11ebb53e302bcef75dd3af2e141bbc7bf3ebbe89ef0bbe6a35e3a50a0f7ba57699ebbf4964fbbccd7173a69adaabae66eb6bb2efa3bba000000000000000000000000000000000000000000000000000000000000000065d95bbe951285bbca070b3ceee771b9eed056bec2e333bc85c3f43b3d382eba7e463dbe8d08aabc9284b33be8f7c53aa7111cbedc50b3bc3d309c3b687c6b3b6557dbbd68bb90bcc42a993bcb4c433aa60780bd0ee913bc16db1838aed3113b447b63bc6ee5d3bb9d344eb96dede23a0000000000000000000000000000000000000000000000000000803f00000000e943a43cdef6edbdacf3ac3ff4f5dbbdf9564d3c083c97bd3f508f3fa83177bde63d393c6acb5fbda6356c3fb36f20bdfcab0f3cf19825bd68a5313f42e6b5bcd57cc63b7798babc5fbde93ed02759bc40808f3b3f98d3bb69196b3e09ebefbabb07433bb0a8783bcbd5823c156b513a000000000000000000000000000000000000000000000000000000000000000082976f3c3a0b97bb0000000000000000dfe3c93bb77742bb000000000000000046de523bcb5d23bb0000000000000000e106853bdc27b1bb0000000000000000b9cf2c3ba33c12bb000000000000000087b1633b90228abb00000000000000000f20903b4a145bbb000000000000000000000000000000000000000000000000977505bc465c8b3bdc0f9a3c735d3b3b001d1fbcf3f9bc3b85ac183daa3df83ba6e7d6bb4b86053c22c82a3d6314453c5511aabbe3cf0d3c3071133d5bfa6c3c34af28bb241f0b3c55cace3cfa7a5e3ca9357dba4021c63b483fa73c0eff2b3c7bb6b0ba41c3a73ba484333ca12ce73b9c170cba0978183b685e513b3407d03a04e4e8ba34831c3bca47a8bb4aa9a7b9616538bbc4b49bb98d33c93bef18573bf970c9bbe288ccb92fb7123a0728bf3caf15aebb8d6ac2babe60cf3abcf6dd3b4dd752bbf9883fbb5bb8d3394e4e283a17915abbd3f481ba129de1ba7a2065bbe41e0dbb201106bb0fcdafbb77d395ba75688dba6ce016bb4221c5bbecaf2639402e7c376f8883ba4e0df5bbed32973aa20ab93aedc1aaba4b3de1bb5493f93b0971ffbd922dab3b00b964ba6c998e3a72b352be8099f53b3cdf4bbba30d393b9cb362becc5f85bc8c7c993aac8f323b74c34fbe2c6dd4bc7331533bbe75173b56ae22be52d9d3bc4a1cae3ab71deb3abe39efbd9b4da8bccfd110bb53a3843bdd2a85bd811462bc649c06bbbea15c3b33b69dbcdeaef8bae67286bb6a9a2b3b170b603c6ffa953b3b5bedbae434693a0a0e1b3d36874ebedea8ac3fbac88d3c8ca8263d197a43be9e569f3f2af0d23c1ee1fc3c91a41bbe9f498e3f39aa2e3db18cce3c8439f0bd0f07683feb585d3d574caa3c18ecaebd82cf2b3f8ace5c3d6741933cea3f60bdf1b8de3e91254e3d22de4b3cb370cfbc7b55553e0609273d6006b33bee4f003c80a5683c1e5e153d7e85013c02f28bba5e43ecbd9487753b5ddd81bc98cf643b000000000000000031ee6bbc84791b3b000000000000000068a78cbc484d003b00000000000000008f75afbc4e3c1e3b000000000000000021728abc9584863a0000000000000000045670bc9872a9b900000000000000004c9a54bce8a3143a0000000000000000efd841bc31e6663a000000000000000022069bbb3f8d893a00000000000000002434e7bbfb828f3b5dfd1b3c5d05d73b5aad0fbc71c4d13ba23fd33c7f8b593ca438c3bb540a0a3c4b7fe73c394f993c0009b7bb2ce9193c4a06d73c8772913cdc4f14bbfeffb33bdac4a03cbf84703c70ba5cbbd96cfd3bee905f3c8cec5b3cc45e1bbbd7e8953b8d709e3b957e133c2a72fcba7be8503b0e1f073a7cc3a93ba72909bb4dc9103bd7d48fbb2137073b9e4b8ebbb239c8bad574043caaa065bb274d8ebb9506e5ba7e99a23b14819d3b30edd5ba9f0532bb74088d3bee1c3ebbfc906dbbb19418bb01fdeb3ac13d1dbb2fff71baa917d5ba95cde7b8bce4abbb381105b93dd336bba9862ebb675e8cba0fe030391f1906bbd70193bbf1a2be3ad23b4b39a682eaba9d26d6bbb291323b638b15ba7e9848ba68199cbb73ebba3b692da8bd9e53883b7c0916bced10a43b49ff26be1dbba9bc9e91b5bb2ed3883bc56434be8d6e31bd95127dbba499963bdc912cbee25131bd70b69abbd2d2bc3b411f04be7bbe25bd3016c1bbb7e4663b4cbccabdc50a06bd4cc8cdbb3c5ca13b344461bd5beca0bc065ccfbb97066c3bb20a9bbcbf61c9bb7cd09cbb12a7453b3265b63bbde50f3c5e1f4bbb7686ab3ad6801f3dd2ce48be69be8e3f3f0c6c3ee6653d3d008055be74058e3fb0bf633e413a103dc05729be36f5773fc474623ea27f013d63530bbeafc14b3f021b473e47ccc43c1c8cc9bd2217163f2451293ec2ffae3c9c1992bdaf12c53ebc84043e4882943cf2d939bd62b6453ee2dbab3dd03a463c6eac60bc62fec63cb12e3b3d150a213c52afe0bbf9d49cbd80d56e3b1fcc7ebd0c59563c00000000000000002c8885bd555e633c000000000000000010d46fbd1e8e293c0000000000000000fcd454bd71a30d3c0000000000000000c6df2abdcab9df3b0000000000000000b4b518bd9dbace3b0000000000000000ef6ed9bc76f5af3b00000000000000009ef0a7bce2da723b000000000000000086e063bceee5ac3b00000000000000004bdf97bbedd4af3ad4a8d53b9aed2d3c1cb0debbd19cef3b20c9903cd14f963c9bedb3bbcb61e23ba456ac3cf43fbd3c20031bbbc41bdd3bc656a73ce179b13c33df35bbf1d7063c8268813cf3c59a3c868dc0bada5ec33b84191b3c217d683cc69988ba3e10ac3b8697973bfc252c3ceaa1dcbaf3d5453ba974c6ba91d5873b1d3419bb8703f93a75e279bb9f6cef39046d8bbb53457dba89ab183ce87c61bcf4146fbb74c73abbc376cb3b5e840dbbf37c04bbac476ebb06396e3bcf483ebb81417ebac1cd2cbb2aae453ab0c89fbbd2d5cd39af9d75bbb8349239c0fba8bb5bbd58b8863a40bbac056abb076e3dbb77df653a908f56bb24a598bb5f6b8abafb52913a241708bbcb50b6bb31c3593bb77082b96492bdba38274cbb52a6953b8a316cbd776815bc29f58ebc839aeb3bb54bffbd100a40bdcdcc47bc7eb30d3ca1b014beb63c89bd6e2c30bcfa600b3c35ad07be39e08bbd14f145bc172afc3bbf1be7bd09fa7fbd505b49bcdaab0a3c555ea3bd428f39bd0cc01bbce82ad23b8e8041bd503cd7bc2ddd27bc5b0a9c3bb0558abcd510adbb3d85fdbb9c99223b6ee0353b0683223c5ae791bb33ffc03a3cc00a3dd7ad36be7fc56a3f1904ea3e250c253d604d42be3a9d663f9a2ee83e8bc30e3dd88622be586a4b3f4485d63e52e1f33cc16303be4231253fda11b93e1185ce3c7b58cdbd4504f83e13b3963e75acba3c746590bd6249a23e63d05a3e210f983c3d7c3ebd58d1223eeb1d083eaf1b653cfb27bebc48c9e13c32ab603d13e9463c778594bc3b425dbdd623b4bbe4dbdbbd83b0b13c0000000000000000bcb0e9bd7f37bc3c00000000000000004782d0bd6dff993c000000000000000047c4aebd62d8733c0000000000000000a21d92bd3bcf523c000000000000000080016bbd365e2d3c000000000000000004c42dbddac1223c000000000000000010d6ecbc47ed263c000000000000000034a5b3bc3802f93b0000000000000000127213bbe18aca39ec1cae3b7544393c81bea4bb87bd6f3b6d3a513cf123b43c8fa03ebb2e7ab13b727f843ca55fca3c3f5780bb151ae23beeb2623c6348de3ca48a3eb9ff9a763b0cf40e3cc4f57b3cb6ad08bb12c5cc3bc7ca033c5c60923cdb69e6ba91e96e3be4074a3bcdfd033c6cfe06bb99c7693bf4b3abbae91ea13b9a60c0ba9790bd3ab36691bbfbb4263a4ddd8ebb27bab9baf37afe3bebd463bc5f3fdcbacead7dbbba3eb03bf540b5bb1ceb2bbaa43059bb9a58d83a7f10c2bbd616503a7c8fa5bb80cc533b2a59acbb3d293c38e391a0bad964993a040413bcb90a843a222370bb899432babc627dbb98fe023b627954bb6f300bbb4f901bbb632ee9b9f0dd2cbb7b011fbb75cd1139ad98283ab4fe2abbe8dbd8ba06e40b3be47d2bbdeef3b1bc015fc0bc494e323c16f2b8bd331b95bd467d81bc9967303ca6a8cebddd65bebd8ae786bc915f203cdc93d4bd4a7fc6bdf73c93bc7e39483c6a3696bdc89683bdd099a3bca507fb3ba02a84bd412d7bbd76c469bc4f97093c92a91abdc4c5eabc141553bc8932c43bd11a5cbc8c17f3bbca14f4bb4c1a793bc0d1193bd304663c2e9068bb48280b3bafd7d03c074b13be961c303fb9ef303fe46a093d91121bbe2f792b3f93ee2f3f30c6dd3c3748febdfa0d153fdd301f3f2867c83c8a30d8bda649f73e74c5083f825e8c3cddc997bd352fb53e0e0fcd3e46569b3c866c81bd1e2b773e5f51983eda696f3c49591fbdc352fd3dd73f2f3e93c6323c9e15afbcb69edc3cb261753d18a6103cce4180bca1d81bbd89c16dbc7b5e17be9be3e43c000000000000000018ea20be0aec003d0000000000000000eb0804be6a6bba3c0000000000000000717eebbddaa6aa3c00000000000000005788a4bd8285693c00000000000000002f6b98bd92987f3c0000000000000000ca2359bd2a865c3c0000000000000000dc1a12bdca2d373c00000000000000007704f7bc81564c3c0000000000000000bf750cbba3f69d3adf0e0e3ba60c713c5dd15bbbf01a1cba8eb34b3c67e8c03c5b6e4cbbba83453b9674653c4bdc053d57b50fbb1357813b5899663c5642d43c3d4bdcba1b3f7a3b26b7283c4f01cb3c8cbe54bad5ec623ba5e6d93bb169843c4d31e1ba7b9d8e3b23f64a3bbd9a4e3c94071cbb4d97193b659d3f3a024b6d3bea505eba4199813a17b12cbbcfe8273ab34886bb615c46bbc092983b0dcb48bc499d453bd5fcc0bb5507343b7d5f56ba25c5e73ad91dcdbbbf1e1f3b553441bbdc57873b21e9a8bb7e386eba254746bbf354953b40bf84bb4b8b20ba92f72dbbbbbf833b56f57ebb5762f8bac9a54bbba458093aa80f60bbc60989babd2129bbcbd4413b29c16abb9a7164ba71b494ba8eb019b9cdebdeba54b387bae75c9a3a4d8dd1bc4e8520bda2c8bdbc43d5463ceb6371bd38aae1bd0f1875bcd9694e3cacb197bd45850abe73c48bbc1ad9553c10a796bd3830febd0a6f8fbc52243d3cd1c488bd58b6d7bd16e592bce4970c3c6d4242bde70e99bd98ac81bc1933003cd4a1f9bccf062bbd01f3f4bb8486633bccbf54bc6e8a22bc7e8ab5bb94b06c3af866653ab0464b3c1e117abb0192543aa01fb43c86e4d0bda97ee83ecccc6b3fd409cb3cb74de3bd63a6de3ebb866b3f36e4b93c4675c0bda6f7c43eb106543f5535ab3c9def9abd79aba23eecc82f3f9181973c225c80bd6d6e793efcf1083fe513723cd0a633bda211293e8976bb3e71f6523c10f304bd3066be3dafdf4c3ec566183c576c9dbc265ce13c1cbc6d3d453dd33b5d1755bcaa50c8bc890900bdd6cd37be89b0083d0000000000000000663547be9dde1d3d0000000000000000c45628be0455fd3c000000000000000061fe08be10afc93c000000000000000012cddabddf05b13c00000000000000001cb6a8bd01eb983c0000000000000000c0eb6ebd2755873c0000000000000000aa1b16bd9ed86a3c000000000000000090ffefbcb890643c0000000000000000e80396ba46c1fbba66b30b3a5fac803c4cbb05ba092aa5ba6fd2d93b0c6c033d43b0bebada4c123b1fed283c5358063da3a4e4b93450163b496f2a3cd768083d94fa10baada1513b8891033ce289c93cefa68cba29f71a3b0e16e03b6ca1a43c2d1f18b83d831f3baacf3e3b5d77293c9ea2b9ba74800b3bc700c43a0424573b2f3a7dba2a245fb9c1239cba53fe9aba5164c4b9b6797abbfddbad3a7f349fbbb891283b9cd0f6bb419ab4391d2423bb0b9fa43bdf17cdbb0fcd12bb1bef0e3ae802c33bc615c9bbe8d90fbb312d42bb2a1ba13ba1cb95bb2122a5ba4b6904bb02d5933baee8a1bba1d534baa5bb43bba4f1913bbf238cbb9c73f2ba045558bb072d0a3b152258bb526f223ad94c30bb61575ab96ecb08bb1493613aa11d90ba27e4f1bb948a87bd5da865bcb0432d3c5b34d9bccb671bbed762cfbb423e2f3cdbae3bbd17ea28be121553bcff253e3c1c1e3bbdb25e25bedaa38cbc6e88383cb7b32abd81adfdbd9ead8abce3cc023cb7cf0cbd1b2ec3bd4b7c28bc4cdacf3bcb45aabc6eb14bbd136e2fbcc6ab5f3b0ceb32bcfea171bc7376eaba9c94e8397391943a9e8b693c11b99a39711310baaf51613c513277bd608b6a3e42018f3f88a3843c203b6fbd1d64543e44878f3f06ce693c171654bd0818463e9e2a7d3f2d89613c75f32dbd9daa233ec6f2543fd9e0223c6c2605bd8370003e38011f3ff651203cda22d6bc8bccbd3d4ec6d83e8875073cfb5a9dbcc5cc5c3d8005653ed991a03b73df46bc4a4ae63cffcd3c3d1e62363b2088b8bb7f600abcfb1b72bd439849becc76193d0000000000000000dd3a57bee4262a3d00000000000000002a5e2abe159af83c0000000000000000fc4e11bec8f3db3c0000000000000000f23ed2bd3047aa3c000000000000000078e2a4bd39878e3c000000000000000047f55cbd62247d3c0000000000000000750dd9bcfac7303c000000000000000023969cbce999373c000000000000000004ada03a69a129bb28e19b3abe31b33cac3b873a052a8bbbc53f1f3b1303233d02a7f239f31d63ba0d87e73b66b03a3d1135b936e507fab985431b3cdb161d3da3c941b774b2ae3a195cf03b6795f93c017658ba736b8f3b05cf623b402abb3c7de8b7baf72e553b2bc03b3b38fd5c3c8fa49cbaf1b5153bf122703a6260a53bf3ea76ba6037103ba559c2b968aa8bbb4b0b883ad100cdbba6a579ba937229ba9b0fad3b448917bc30055aba8e6880bb6f9fd03bb11400bc61e823bbc031ccba1feff63bf008dabb6c5138bb0864113a8ebc003c2557b2bb10ec00bbf7dd38bb4e5ab73b2a3874bb777b83ba6f87b7bb3e54813ba19c5dbb5e649d3a9c938cbb4f22f83aeebdf2ba8c2ef33a0505b0bb5eb36a3ae7d6e8ba15c2f23accae2dbb3d7bba3a2de7f1bde87218bb35f4073cf987293c8a974cbe97525f3c0f9eaf3b9c0568bccccd60bebde653bb3ca80b3c621ea2bc6a654bbec78234bc5951163c61ddb1bcb2d821be2d1c5bbc248ce53b289187bc0c08e9bd238b31bca22f5e3b9a4173bcee1e81bd93c3c1bb6698e93abad106bc2b5587bc642f7dba88ed53bbe7ee5c3a9b80983c5d28203bba690fbb7cb6913ba27c6ebcb81c9a3c22a4ac3fe45ba03b73a823bcfa3a8b3c552fa03f4f0de63bc85055bc4ce6f63c06ea8f3fe515d73b8f4f41bc2272f63c80f56b3fe027ac3ba9720abc3c09f53c8629313fd8abb33b08f7d6bb2b07e73c828fe83e5714303b3c0df0bb0701ec3c54a4653ef4d7383b62b310bcd413093ded13d43cfb9f09ba2a3d9dba2e16c93a2137debd18dd50bec6e8193d0000000000000000afe042befe481a3d000000000000000047fd19be297bcc3c0000000000000000d3f2eabdbf489d3c0000000000000000ea10a9bda5f1763c0000000000000000a57165bdeb334f3c0000000000000000462dffbc6a11063c0000000000000000283287baadaca53b0000000000000000789618bc0a950b3c0000000000000000000000000000000000000000000000004b615f3adc0668bb096dc33be1621e3d209754b953e21fbbaf670e3c4f44183dd2670cb9e766443ae838013c75a2fb3c83c922ba04402d3b9ca2d83b42eec33c02853cbafbcc3eb8b996e93bad948d3c4266b4ba5c01173bddac573b47a8263c939797b99b39aa3af318163b57b21c3a0000000000000000000000000000000000000000000000000000000000000000dd86ee3b4659f8bb510548bbe8a1a53b751a1b3c965cb9bbda3740bbd7a2823b5cb22a3c1e1393bbfebf04bb1aaf0c3b70d11e3cfe384dbb0ca0c5baaa8f743a978af73bae946ebb99e21bbaeb6968394953b23beab804bbd5388d3aad6991bb348e423bbb63acba8597b73acbea97bb000000000000000000000000000000000000000000000000000000000000000031a4363a235d5cbe6d16e23a4c24ac3bedad96bb182457be4d5da9bb5f4d7b3bae3a69bcc3da3fbe1d7d84bcc22ba73b830160bc569f1cbe719a7abc45e1463bd20242bc4888e0bd2ada37bcf567333bb239c5bbfcbb7fbd69e401bce834e83916a459bab75386bc89d3a0babe35d7ba000000000000000000000000000000000000000000000000000000000000803f44995bba05067c3c886cdebda4a2ac3f29919638971c2d3ce4b78ebd2a258f3f0acf223a1a41de3b87ae4bbd23ac6c3fcedb813a046fbb3b145313bd8cfc313f40d90439a30ec43be94eb9bc4abbea3e463a55bad9bbd83b7ccbc2bbd48c683e709e38ba858c983b206ed73a25fd643c00000000000000000000000000000000000000000000000000000000000000007e11e7bd9db4843c0000000000000000bf1e89bda92f253c0000000000000000f57a37bd5c19a13b00000000000000004168e8bc00bf933b000000000000000063bb8dbc3ea8f13a0000000000000000aea4c2b93f9bc03a0000000000000000f125833b41f3d7b600000000000000000000000000000000000000000000000000000000000000000000000000000000c670d3bb1a983a3c1749c43c22f3003c1f64a3bb2a1b443c3a47bd3ccb033d3c64ba3fbbaea6473c292f8d3c562d483c4acb2fbb14f21e3c85256d3c4e96223cf632c7bafb0fed3bd337113c605d0e3ce36e80ba08c2a83baaeeb33b86c3d23bae94c7b9e76f433b0ed6eebae49ea23b00000000000000000000000000000000000000000000000000000000000000004e89b8b96d5528ba04da363b4fcbdbba6d743ebae6a9feba4d56533a7711b6ba99d5b8ba85643e39fb60c6b9f6f10dbc10d9023b6f3625bb8af184ba14e8b5bbe940093abc29a7b94238fbbad660d9ba2fc2053a98a899baefc646bb7a86323ba6d7b6b7452c0bba79079cbbfd4bee3b000000000000000000000000000000000000000000000000000000000000000054473dbe4e8b97bced29213ccb4e6bba2f753bbedca8b4bce07e063cdadedd39eade25be935aedbc8706063ca07af0ba934306befe19edbc972dad3b50318e3a0abec3bdf1d5bdbc8719c23b6c7e23ba05d97bbdf4506ebcecb25b3b87d6ef386ae2a2bc1f4fbabb1a531a3b125138390000000000000000000000000000000000000000000000000000803f000000006d75513c872dc7bd7cc7a73fc683a3bd7a85193c129c8abdd3d98b3faa6536bd0772f63bfd004cbd6699653ff767e0bc979bd63b1bd52cbdbd562e3fd49f8abc6291c23b00520fbd8443eb3eb7cc4abc4f27353b22668ebc7430763e7032ddbbbfd3293bf13e1cbcb207113da5db29bc00000000000000000000000000000000000000000000000000000000000000002586e33b4fd53cbb0000000000000000f73dc43b45e416bb0000000000000000e78b313b92ed0dbb0000000000000000858a8c3bceef18bb0000000000000000dfe26e3bb5416dbb000000000000000098839c3b2c462cbb0000000000000000e1a3f93b9da944bb0000000000000000000000000000000000000000000000004b5115bc81f6503c5a048e3bb09e3b3cc3c83fbc7914883ca2d89d3c95e4b13c7b7c0ebc7ec8773cf6f2bf3c3a13b53cec1a02bc4274733ca89d973ccee1bd3cc718bebb08e85b3c1578473cf9ccae3ccfada9bbe683313ce0f1fa3ba5de9c3c6ace4bbb2d53cc3b463f6a3bf3105e3c261e0bbb2ce3873baf6e42bb5755253c50275dbb5f2ca23b553718bc223cb63bbc72b0bbb2a1933a8fa8943bd27826bb2cae32bc4fa0a43aee1f9a39939aa43c425214bc66bf843a2190d43911ae0f3c086500bc60cddb39008124392972b43bea82bdbb22244939f4740dbb6ef3823b78a9eebbc33c503a48d686bb3c151b3c8d2fb1bb3f4ca33a1492c0bb3d26473caac5dcbba2ecd63a378f02bc435c7f3c3a883bbb57a5543a2de2b5bbdb546d3ce91feebdeed7a93ac4e631bb65a9bc3a3da354bea04d0e3bc6936ebb17b86d3b5f9c5abecbf684bc278d0bbb872a653bee5e43be0442cabca2030bbb9c88823b7d081ebe33faafbce5d997bb7a0c573b4650f2bd31f989bcc49576bbd90d603b2bc994bdc6ace3bb0854acbbb3f4443bb939f2bc2f7ade3b3e5fc3bba879073be038f23aeba74d3c8276a4bb4571c13a9164d03cccbc24be0d48a73fae81273df7a5e13c7d9823be3fd69d3f5f67483d3052af3cbf6702becaa9893f73f4873dbead923c0b61d0bda44e5f3f7642953dc642783c6aff9cbd7fde253f4ddc8c3dabea503cea5a6abd9841da3e21be6e3d345b1c3c191305bd12c2523eb335393d09b98a3b69bfdcba341a213bef480f3da34eae3bdb8415bcbd3ddbbd597b2c3a769ba4bcea11723b0000000000000000ceb0abbc35de453b00000000000000003bdfb0bc392b193b00000000000000001ccda9bc0d47003b0000000000000000e68f87bc094eec3a000000000000000060ad87bce0c8113b0000000000000000b1eb5dbc49dcab3a0000000000000000925e35bcdaa31e3b00000000000000000e5fa6bbaae1bd3a000000000000000086e212bcf759613c4cc7b4bbff01ab3cd05126bc2233893c980e903b443ce03ccede1ebc3494893c1df4e33bf40edf3ca8f609bc4d0d863cd64afd3b69e5e93c0ab7b8bba411443c78041c3bde1cd73c085faebba6862d3c7eb0523afc6cba3c0457babbf15e2f3c3514ddbb3f6a913c4c5492bbfada013cf23109bce1f3613c238780bb7761cc3be0f845bce3a30f3c5f6152bc9200363b07d68e3b507c36bbc5c058bc486f123b1a2ecf3aa3a90f3c1a182ebc94c9f93a3e64153bcf73383b28303dbce802263bb0653bba2d04c53b23e31bbca7f09a3a8e7f0dbb8a8fa33bd2c11cbc095b073b45c492bbf7c4443c71d5e7bb474bd53a8e2f88bbe10a3f3c5161f4bb96c1d23a591202bcd5b9853c41fce1bb8893163b5ac4c6bb6b6c793c9774babd900e923c25f4bcbc1f7f033c4a5c28be7b4074bb2f5d98bc593cff3b5d0828be1cf7bdbc440991bcd2840c3c44b828bedb1bdbbc480183bc1be3d13bd40602be96ddbfbcd4c38cbcc9efe83bdeb5d6bdd94c74bc946a86bc2ae1e03b96af7bbda0e3c7bb82d271bc86e1a53baf7405bd9e87313c63516ebc73b6ab3b57bf0cbc909ac53cc2e73bbc5ee64e3b4eacd23c73c71abe9cc1893fb8aa753e9332ed3c02082bbee1fe873f2bab733ea7e4c13cadbe07be843d683f5969733ed002b13cbcd8e4bd9e8d3f3f96af5b3e77e18d3ca9b7afbdbfe90c3f544b393e8f50803cb88187bd3cfbb83e5b82153ebd39443cae263cbdfbcf3c3e5fecd13dc153113c25e78cbc9bf1443c1373783d7b9af53b6ee930bc74fba5bdcc5d9c3cd3fc4ebd5646083c0000000000000000e01b6dbdf47d2b3c0000000000000000f1d963bdabe8093c0000000000000000d00341bd6067033c000000000000000006012bbd2636d43b00000000000000009e571dbdbfbdda3b0000000000000000933407bd35aee93b0000000000000000e5aae3bc649ff13b0000000000000000781bbfbc2364da3b00000000000000004bc9c9bbf1672e3c7c8f2bbcccd1c83cf5f421bc0d9c843c1c97cfba89b0f13c549803bc147a643c0bf4863bbb9a083da046cfbba8a6523c7db42d3ba825033d052dbfbbf6b94b3c1ae480bab536f83c90daa1bb274d363c47024fbbd35cc93c08e9a9bbcb0a133ca2c7cdbb789fa53ce88da2bb61c7133cc77623bca7b06b3c688c67bb321fc33b23ed4abc7d50543c8f7a8bbca8dc893bb5c79f3b326a35bc04157abc00918f3be13b2d3beeb3243b590974bcfcb7443b218dc43aa36e863b501c50bc75e10f3b8dd77dba91f29e3b7dec47bc053e743bc14df4ba8350eb3b07c22fbc4a591f3bbd3584bbb4bb1c3c77871fbcb5e90a3bff10a6bba47e513c2c7a28bc88414d3b4ba9bbbb4de2603cfed234bc92f33f3bf01384bbd542573c13ab8fbd1322af3c1f4c15bdca973f3c20d407be965901bcf8bc0ebdde263e3c5cd116be34f4eabc625006bd7c49523c3fc60bbe577b01bda1b608bd370c503c222ceebdce36f0bc114601bd3ad4333cf4a2b5bdf12b88bc0962e0bc1e67233cf67279bd8b6be5ba8141d3bcadfd153cacfe08bd00dc803c2c56a7bcdd00ec3b80e24abc133a023db4a0abbc04dcd53b03eaac3c444709bee45f5f3f2739e63e4585db3c821215bed683593f9d73e73edb34b73c4354fdbd10123d3f9033d93e7e719d3c521dccbd7efa173fd229be3ea8b2823c7b05a7bdf313e23ec8f19f3e4e31823c66857cbdf2fe913eac9d753ea2cf533cbdcd2cbdf94c0c3e7186263e6ccc033cc53da0bcde58153c4f8eb33dcdca083c80f399bc4d4182bd429ddc3ccf6ab1bd5f55543c00000000000000003a54c5bd7e91973c00000000000000003666afbdb3bd6e3c0000000000000000d0fb9dbd6ed6503c000000000000000021d88cbd5a365b3c00000000000000001f007fbdee5e473c000000000000000040af5ebdc63c503c0000000000000000d82041bd7357473c00000000000000009fc811bd99bc2c3c00000000000000005a26a9bbba37fa3bceaa3ebc387aef3c59d2e5bb8b16413c59c36ebb74db0b3df398a6bbd843133ccd1fc4b971c4083d9d5acabb86493f3c0746093a7dbf0a3ddb1716bb0349e13bf09dd1bbdbc2de3cc87a98bb0b2a163c883ba7bb18dad93c325133bb5b1bd33bf87ad5bb899d8f3c903878bbafcbcc3b9f591abccb71693c6ddf3cbb4c4ba83b15f232bcbe20243c0b30a4bcdd82c43b9ae7803b35dce1bbac7e8bbc6080923b237f3f3bec55843a14ce6abcb9b06b3b760f603aeab1cc3a145461bcd40da23b3fa554bac266c53b0f515dbcd01f8d3b61640db8f4b985ba7c742dbccdfd5b3ba2e04bbbcb24153cabcd03bccd40213b835680bb47a70f3c547017bc04a4163be5839dbba956423c3aa707bcce22303bf90e68bb83c4193c1c497dbdb79fbd3c5b6c46bdd5a15f3ceb6cd8bdca0aa4bc2ca442bd0b0b8a3c35ece0bdf4e81abd517233bd1032793c3441ebbd6b2b33bd569735bd2a68763c039f9ebd9c90a1bc3a5023bd6287243c9e6a9ebddb0ab1bc256e21bd32cc5e3cacb541bdb7d080bab94c01bdeceb223c7038ebbcc5389d3c181de7bc1573133cf89d3cbca13c083d9381bbbc96fcf93bf5308e3cbaddddbd8d36273fb73e2a3fd9d79f3c7b31e8bd3fbe1f3f88892a3f17b48d3c6dc4c0bdf602093ff60c1a3f2c1a833c5208a7bd0132df3e79ab083f1af2493c5ba472bd1d15a13ebfcbcf3e2795433c0ab34dbd498b523e176da63ecc47263cddb30dbd54b5c93d7547573eeb750c3c935e95bcde9721ba4667e03daf65ca3b56d150bcdb386abda191033dc7d7edbd75f2a23c000000000000000019a6fcbd7d0ea73c00000000000000009926dabd9c6a893c0000000000000000c39fcfbd92c5983c00000000000000006e889bbda4ad6a3c00000000000000000ae89fbddf88823c0000000000000000cf1288bda95c7d3c000000000000000048476fbd2f498b3c000000000000000037b053bd324e713c000000000000000025f234bb7505813b1d7205bcc00aee3c9ab98fbb4763c13b9fc1a339d9f9fc3c5b659dbbc620c73b4ebb5f3ba92c0e3d5cbb8dbb0f6df63bf38d5b3bbbcc023d8f846fbb2e38d13b98efc63a18c1e13c9ec026bb8f09b73bf74d65ba40beaf3c43786ebb39d2c23bac2b6abb4af1823c071d58bbfa958d3bbd8ca5bb22a3033c46d7ecba66c3493b2e8b09bc213bd23bdc5b9ebcaf38a73b53e1883a4743853afb0028bce1e8f23a53493aba3770a33b09d70cbc666fb13a81919abab778123cb2e10fbcdb82f13a659d79ba1037e63b8ec7c7bb2c7c883a928c1abbc48e003c4f09b3bb0673a43ac28079bbc47c043c2298b5bbb05b123a401944bb6b3b103c769984bb1c3f92b860472bbb5168f83b7f9ad0bb022ca53a0a6636bb0a5dee3bef235dbdfaee163c9b0d56bd42048f3c98f4a7bd6d5b55bdc97847bdd3de993c6eeebebd28a09bbdd9174bbd99dd9c3cc797b7bd67c096bd30b737bd0c95823cab1ba1bd739b63bd77383cbd0587863ca19274bdc22217bd2e2221bdbb2d5a3c3dcb2dbd1c5244bcc75202bdae65303cff7ba7bc4055443c69b1d4bc032a233c54b936bcf1c5113d262bb9bcd5a1013cdff36b3cc467adbda062e13e49ad613f20a78a3cad39acbd4648d43e5a80633fdfa8703c04c993bd2ae4b53e4cd84e3f588b453c0f646ebd736c913e0bba2e3f39762a3c9b1b41bddcba523e08b60b3f716c263c90f609bd79f1043eb7b1ca3e0318f03bb418b6bc26625a3dcb387d3e2353863b844222bccc8c1fbc2cfae43d2836b63b8a57b7bb7a4450bd2fb4a83c315a0fbe1d63b03c00000000000000008aef20be5d6ee33c000000000000000086ab0bbea235be3c00000000000000009442f0bd20aca53c0000000000000000a4c0d4bd3b1fad3c00000000000000006eb6b6bd6e64a33c0000000000000000c1279fbde34da83c0000000000000000dd0286bd8aa89b3c0000000000000000cbcc6ebd0309983c000000000000000098ca1ebb8187443b2ee857bb1a6ba63ccf1810bb25f4a63897e1cf3b007ede3cf8ef08bbb8670a3b6ea6d43bf86ef33c469d02bbcdeaf13ae5b1fa3bb5a4f23c6667edba899b403b1dd77c3b8093c03ce4600dbb6a78383b4635853bf0228f3c2a2b9bbac19a443be49ae5b98aa42f3cb9aedbbaede82f3b44a78fba62af873bf589c7ba6e18b53a428b54bb43181f3a754518bccc32a73a0ea92f3979b1223a08f4ecbace08ffbaa08365bacf26003c4221faba2548a2b9371ee5ba53d5ec3b813d01ba21f884baa6ac47bbc19c043ccfabddba123e393aca2f15bb9a33cb3b0499abb9de4971bafbd1e4ba2531b23babc8533a6cb498ba013b5abb5e71c43bea0e233ad0f6e9ba07c981bab380e53a7d5124bbd1f501ba4b9e43ba1090363b1af809bd5c90ccbc2c8930bdef8a873cd60456bd4bbdccbd532e2bbdc835a03cbec07cbd3d46dbbd2f0036bdcb54863cd50480bd2f8fe4bda7fe37bd0576883cf76254bd0857a4bdb1382bbd14f0553c66262bbd5f9e7abd88280abdb3b3473cce90d8bc73e4e1bc9d11f0bc812f1f3ce7d85cbc34a2303a13708fbcc362b93b8bec2fbbb94ceb3cc1f480bceedcd63b8d07113ca05c46bd92f46d3e39f78a3f4080213cd2a34bbd722a513e45498c3fe6080f3c910828bd176d3a3e8ef0733f9c5f113c36dd07bdcd76103e26c1513f2145df3bbf8fc2bcd8e1cb3d6014213f3b18cf3b14ada5bce151733d151de63e4606793b38cd11bc2dd0a33c4546883eaa27983a369057b9f6b64ebcdccbc43d47c4c43a5fa02eba1c1919bd04046dbcb7df22be2e98d93c000000000000000063c531bebd5fec3c0000000000000000f8000cbee7e5c13c00000000000000002bf7f6bd2c0bb03c0000000000000000b7b1cabd1f44a43c0000000000000000ba82b2bda3fc9c3c0000000000000000e06f90bd1d1a993c00000000000000005d396bbddec6a63c0000000000000000b3b24dbdbd73853c00000000000000009e590539d37f0bbb24b27a3b4c308c3cb2b7503a6240d7bbd5ef1c3ccae7e53ca63cc2b92e1e6cbb2ef33f3caa57043de21941ba03a313bb78f8463cd334e03c2c80a73772d5febafd42163cf543b53c9d1aa5b91b2a26ba12e7f83bc0bc723c5711a1ba3c99a83aa863303b1bd01e3c13b7a3b99c45253a4193d4393127033b747f43b83d79c839b0ec13b9f6248fbb5f50d939a9d029bb5ee893babf53c13b3a87313cdbdaffbba781bbba7077b23bd749113c12f6aabb85edb9ba9175c73b3663273c461096bbddfea0ba1c26bd3b7b65fa3bff3136bb28d196ba06718a3b90c4193c01a286bb5497aaba5939d43a8478983b574a25bb18cd1f3af6d38abaaf67943b4f7485bbe6824c3a23666dbbb43fcb3a853f0abb2da06a3963f8ecbab823b4bc4bd6a8bd7f8500bd9e197c3c26ed2dbc763631be51178fbcf8de683c8504e7bc92b739be8056e6bc4d23653c262bfdbcf90126be7c2807bd80fb573c0b4ae5bc2f6402be2bc603bde4b3363c2f9796bcb955c4bda75fcebca1e30e3c90f623bcaaef56bd168d7fbcf12aad3bf347a93938836cbc6f7f37bb7daac43af6099e3b7ee19b3cf92381bb634e4b3b2134593b88c989bc6a471a3dc125a83f00fe773bc4026fbc258fdc3c59ef9f3f96aa8a3bd37a57bce4b1f13c0b9c8d3f6acf2d3b06881ebc17abc23c4642693f1a8a223b0613e7bbea935a3c6395313f15e4183b6e474abb7d90683b4dedf23e91a6973a2e57f4b9e7d850bbbab4823e6e091f391cadae3acf187e3a6868413daab45cbafec7cc3bc032dabc688f8abdc02f2abe68d5d03c00000000000000009b8323bee30ed33c0000000000000000b70a03be599ba43c00000000000000003179cdbd452c8b3c00000000000000004592a0bd16d86a3c0000000000000000aeaf82bd8e896c3c0000000000000000487c49bd0e03613c0000000000000000f92b01bdd72c653c000000000000000007b41fbd1a3a6c3c0000000000000000000000000000000000000000000000007271b03acc2db9bb1da7603cef0da43ca0b6c33ae013a6bbeef7613c49f8af3c17d45e3adb3b4ebb1ea9653cb8f6733cf5189ab845771ebad95a363c925a273c56c0b4383deb00ba6f6f133c1320b83b7fb16639c83dbdbaf8eec93bfc94763bf9e6163acc74c9394d543b3baf2e0cbb00000000000000000000000000000000000000000000000000000000000000005f41553c5368b5bb9a44c6bae2bcc73bf382743c0b6badbbb39508bbfd67893b5e155b3c436261bbbf69d5badec54d3bb34c733c506440bbb51e91ba8ae2113be9b63f3c9f5d4bbb9c26bbb90ed914ba5455243c610d3dbb21cab13a6ddf3ebba680b93baeb3f9baa3f4133a7608b7bb000000000000000000000000000000000000000000000000000000000000000024a115bc5ac93bbe81db57bcefd3dc3bb4b002bc98643dbea03182bc998bb13b006f83bc92ea24be6525b9bc8ea3a53bd66242bc5e0d06be8eb5b9bc7702403bb9e3edbb098cc4bd706494bcc4417f3bd259c3390d7484bd486b10bc938d223ad6bb0a3cf819bbbc4ed9013a77b690ba000000000000000000000000000000000000000000000000000000000000803f451b80ba258d153cbab9bbbdc21fa83ffc08043a678fef3b952982bd489a8c3f3692ac3aae3ed33b77f34abd8a73673fb093a6b92b53b63b3c0231bd6acd2f3f6f931b3a90e1e43bb89310bd396bef3e66e7c0ba7cc4b13b694fb0bce9757c3ebe7f5ebaba43093c213a9dbc3af5213d00000000000000000000000000000000000000000000000000000000000000007148bcbdf319453c0000000000000000541f5ebdbfaefe3b00000000000000009c8811bda4beab3b0000000000000000565cd9bc428db53b000000000000000094cc9bbcce6b493b000000000000000060c632bce8fba03b000000000000000022d831bc3133943b00000000000000000000000000000000000000000000000000000000000000000000000000000000206aa0bbc3f7873cb29817bc7a7bad3b4e1185bbc4a98a3c05bd44bc82cd973b7b633abb6872533cae365abca0c99f3be3033dbb6d36663c083d6ebcd33f503bf72707bb80902a3c4b5367bca525a93b129311bb81ec353c9f7661bce2bbef3b3ad41dbb0192143c44b759bc667eb73b00000000000000000000000000000000000000000000000000000000000000005c8fef3b53ba53bb5122bd3a74559bbcb4d4fb3b6b9af8ba9d3c643aca6374bc4a2aba3b6eb0fcba32077238edf768bc72c5e13b1ddcdbba3b35d53a21b56bbc8840a03be373dcba9b03a7ba5d18d5bb121c923b84fc10bbc96973ba01e8b03a429f893bf7b00bbbb82edaba2cf5e13b00000000000000000000000000000000000000000000000000000000000000004485a6bd374807bd241dc13b9de93c3ab3edaebd8755dfbc95078a3b3dbc12bb02cb8ebda925f4bc2a65b83ba6ff72ba89bf5fbdc57ff5bc8357a43bc8e8ebba2d0238bdf415bdbce144913b0e65abba661d0fbd25f9aabc173cb73b34de07bafe5d86bc3d1680bc61b6063c235404bb0000000000000000000000000000000000000000000000000000803f00000000ab7cd43b463567bdd728953f1e4c39bde4195e3b12151dbd10c37b3f0be1dfbca224613b819d02bd6cd54e3f4460a9bc285d1039a276f2bc5233213f20fd80bc50a3103b0bd7c9bc0dd0e63e74e490bcab3110b8174ad4bcfdfd8a3e99de88bccb008a3930bec9bce937d93df5c5c4bc000000000000000000000000000000000000000000000000000000000000000090cbda3b5e384dbb0000000000000000a1609c3b99651bba00000000000000009454973b925125ba00000000000000006f8b8a3b348adeba00000000000000002d22c23bbfedd8ba000000000000000057e2aa3b9b69cdba00000000000000005b0eb13b9cadacba000000000000000000000000000000000000000000000000ae46f9bb41c2ab3cc336ddbc803cd63cc7151ebc8275093dc97316bda4a01c3dcbb7f7bb909cef3c3a3a0cbd8317193d73fbe3bb48c0e73c6ff219bd8042143d7d91b1bb0bcfc13c1e6a17bd4d640f3dcfd9b6bb5bddc73c696916bd4012103dda68bebbea74b23cba0b0fbd06a5183d2827b4bbfd4cae3cba3308bd5ce4083d0b30bbbb41ce913c107cf4bc63bfde3c257d10bcdeec4c3b489f6e3aefc881bce05f46bcb2a2763b617a37ba915686bbd25245bc361b7e3babaab0bafb7802bcc56348bc6af5683b71c8daba5945c7bbc3d055bc61a4553bb28851bbe739e2bad1a35ebcf8f78a3b629342bb1f13883b568886bc79418e3bec8787bb4a39423c5b1971bce9ed843bca0fbcbb6349bb3ce7c53bbc0412363bc9b187bbaa289d3c8e3856bdb88d0dbcaa0617bc60bea53a0ab9e8bd401af7bb68dd33bcfb79fd3a056cecbda89359bce1302dbcc337ce3a78bdd2bdb7ee56bc60d41cbce57dc73af921aebda2c213bc086a0fbcc582e83aa4da97bdda08c8bb964817bc874b1a3b5a9c76bda413afba4a91e8bbefcf043bc3843bbd738e243cea88dfbbc050353b68caa7bcaab62c3c5109a4bb8de8063bae01083c0dd0babd3600953f6db1963d3073fc3b0028b4bd8b7c8c3f2027983d6305c33bb6de8ebdbb70723f73349b3df1a5903b86646ebdea45463fdfdb8a3d4909683b80623bbd01c2173f7b30683d1b8b373afd4520bd5315d53e82a1353d77e7813adb99febc23ee753e0014de3c0287a1bad4cba4bca86a8f3d2d7a423c64c35dbaeb0dbcbc39f306bd4ddd32bc5ac826bca8a1003b00000000000000000eaa37bccda4363b0000000000000000c3be10bc1512df3a0000000000000000ad7d04bcf2ff09b9000000000000000073e4a3bb9e4c9a3a0000000000000000e0fad5bb1540ddb900000000000000007ddcd2bbc96803ba00000000000000001134d5bbebfef539000000000000000048e48dbbada5e9b80000000000000000cc51e7bb781fc03c266438bd4ed95c3d45d01bbcafc6013da7e862bdedd5803de4d8e5bbe1c9df3c9d7945bd1e70663da20fe4bbfd3def3c566b55bd1c066c3d4f5fc2bb1806d23c42fd4fbd64b6633d0ed7dbbbe81add3cac7f53bd32ee633d9f29cabbadf6c63c982841bd8ec7493de17ac3bb4e93b73c9d6b3bbd6a0e483d5528cabb8e35b63c37272abd761e3c3da1440bbd08a9303c2ea301bbed96debbddfa09bde0f93d3c58cababac45fbdb900fe0cbdfa913c3c155f5abbc42f83bb15ea06bd350c433cffdd81bb32e2943b650502bdfcd3353c78cc91bb884ec73bbe9705bd2e2f2f3c1dbca1bb3031623c43c4fabc375f2d3c6a49a2bbb86b5b3c908902bdf57a273c0d3ee8bb5f0ef63c17d5e2bcf99a1c3cc6dccdbba9b5bd3cca3c57bd829bba3c394bc5bcef7ea43b12dac8bda125763ce5faebbc799da93b9706b5bdae831a3ca32adabc354cc43b887cd2bdc66a123c07ffe2bcb1a0a63b3b82aebdfe626f3c6c93dabc740e8f3bf47ea6bd0cda943c145ed6bcf74bcd3b7a4369bd7363c53ceec4cbbc00fee33b17ff6cbd57610a3d7bb0b3bc7246c33b89c91abd88aa1c3d5b38acbc011fbc3b75780d3c6451acbdc6a9763f30ab753e7e37be3b5ae1afbd7bc36c3f643e663e16bdb03be58587bda670463f5474583ed451293bb7f177bd5d33283fbc523e3e103cad3a43fe41bd5acdfe3edeeb1c3e6e4ff138946c1dbdcb42b33ecc47fa3db13993b94137f7bc8682563e660ab03d1f3860bb745f8fbc87637f3d13ef493d7b65d0bab40170bcaa090ebd40bb963c9b95dcbc6f6cd33a0000000000000000498eeebc7ceb163b0000000000000000165ecabc9a74a03a000000000000000076e2c1bc5786193b0000000000000000c0a6aabc0a6aec3a0000000000000000eea9b1bc99e9ac3a00000000000000003562abbc81f1ed3a000000000000000015ddb3bc57be6c3b0000000000000000a47cb4bcc43f693b00000000000000008ceca8bb5bdca03c576959bdf7a2963de15806bcc79f003dac9683bd35e2a53dff70e6bb00fcec3cd99077bdbc059d3da815e5bb5460e83cb82b71bd6485963dda4fc3bba216da3c901174bd1767943d4110c0bb1c55dd3c0c6c68bd6bf38b3de88dc5bb7e63ce3c46025fbd9cb7853d2452cfbb9e3ad33cf28352bd37357d3d5738a5bb4e56a73c8e543cbdf41d603dffe84cbd5967823c96c62bbb3b10c7bbfeb85dbdb249993cbd5395bb9b53c53b44b052bd8e08953c1b0683bb34c3d03bd74b4cbdd72b8a3cb3fc9cbbcb650a3cb9534fbd5ae88f3c82eac4bbbf32713c69ce45bd30e58c3ce6eedabba3c4953c481e36bd78ec8a3c7382d4bb02afb73c5b5e3abd2abd823c3a2df6bbea07ee3cf36b22bd9c97593c90dbc8bbfff4b13cb3d049bddd203c3d4dca32bd485f093c7502bdbd39801b3d37e73ebd77cf1b3c3071d2bd3fc6f93c9f323cbd1a2e213c7a20d0bdf805033d8df939bd195f193c09a0c0bd028f1b3d056e39bd8586263cca58b2bd8f69293da2ae2dbda354253ccdd7a1bdcf92403df6583dbdd38a253cb60c84bd9f71633df3c81bbd1d323b3cbd3737bd6e216c3da08c14bd2986353c24babd3ba17d92bde29a463f6e3fd33e779da53b4b1499bd6efb3b3ffdf6ca3ee38c443b652879bd0d97223f4abdb93e96ed163bc8e34abd5a7c043fe23ba23ecf4a043a68fb22bdca57c93e41c3863e745a9abae821f0bca2958b3e2ab6543eb1912abbe499b2bc87f61f3e9c57183e4d7ba6bb5d8b3abcb441223d1db2c33df6851ebba0b45abc3aca08bd5072253d7ff136bd25868e3b0000000000000000051647bd43669f3b0000000000000000737b39bd3731633b0000000000000000e6222abddccd6c3b00000000000000006cc121bdd5b0873b000000000000000054061cbdc0cc3b3b000000000000000034d80fbdf963653b0000000000000000dfd821bda3dea23b000000000000000020aa10bd9606b93b0000000000000000c52d70bbc9d8863c7c4d5ebd2594ac3de4f9c6bb28eacb3c986a7cbd82ebb33db3e399bb6776b43cf24f64bd5115a43d89c0afbb650ed03c390875bd335ca63da79f7abbcda88b3c68e04dbdbcb78d3dbf67a6bbf1bec43c4c6361bdea56943d4f608fbb7764a43c931644bd79fc803d996fa7bb99c9ae3c85644dbdb6a5833d29d087bba2729a3c01bb34bd4b3a6f3d283c7dbdba8cac3c8c9067bb33349dba370f87bd1a99c03c384b94bb5049043c306275bd7326a93c451d94bb6ff2d03b6f887ebd0cb8b93cf89fb8bbc6974b3cd9ba5abd4d4c953ccb1262bb6687bf3b6ba86bbd3a6aae3c575ad1bb8d77993c0c3e55bd7824983c2656b6bba61a913c079d54bd1c4f9b3c1eaad0bbf281d13c6ca43bbd26928c3c3567bfbbb142af3c292e62bd253f783d2edd69bd7cb4293c099ab5bdcbf5563daa6676bd748e483c8376b6bd35452b3d002272bd8e275a3c59d1cbbda46e353db13e77bdab76593ca8da95bdfa6b4e3df0e65cbde43e3a3c5a98b2bdd062623d24c86cbd335d683c1d158fbddb70703dfb4f4ebdb7f4673c609086bdad7b8b3d3bce53bd810a7c3cbe864ebde9b2903d93473fbd4a2f663cc2bb993bf30f6abd35dc153f3014183f7cdb753b44255dbd704c0a3f46f0113f82662f3b4fee3bbd9705ee3e4f1a023fc7508d3a12b914bdfce8c23e602ae53eca0fb03a305ff4bc7b44923e51aeb33ee4c2b4ba4324adbc1b87463e48b6943e8ed6dabac47187bc2bd8d93d74a5523e709285bb2994c8bb65768b3cb67c063e048d45bbce15abbbc9b32ebd6464773d546a80bd7b69f33b00000000000000000c3b85bdc029ce3b0000000000000000abc86cbd3ffac03b0000000000000000c7ea69bd5b63b83b0000000000000000d75f4bbdea94f63b0000000000000000b8c256bd2896bc3b0000000000000000f4eb54bdd497e13b000000000000000035d14ebd11b9cf3b0000000000000000e1fa49bd268b0e3c0000000000000000ba3387bb0062833cf0fc45bdc1baa53d10eaa0bb0cf0ba3c9a3664bd4790b03dff2598bb7c24a73c64cc3dbd3b359d3dc18181bb2ddea13ccd3639bd7582933d722787bb0e5eab3cd1393fbd267b8e3d25d588bbebfc993cd4df29bd5d4e813d200b74bb9c148e3c55ef1bbd4ac3663d976677bb832b8b3c965d15bd5d75543d953757bb37e3573c7efa0bbd09f44d3d804286bdf180b83c680a16bb1e75353b438f8abda8f0d73c2de9a5bb13cc273c9f2184bdfb38d53c147e87bb90281b3ca44573bd1f98bc3cb9e0afbbf6cb683c67f170bd4096be3c436ec9bbddb17b3caeac5fbd3809b93cc4afafbb4490933c4fa550bdf1b2aa3c0f82bebb324f9e3cf90d45bdf406a43c12a9cdbb3ec7b93c14a232bdfeb37e3c7db1a7bb10e0a63cbb7477bd24c7813d126184bd0e686c3c981eb1bdb564233da6508dbdb9ae6a3c5988c2bdb05b073d08528cbd83ab643c82c6c2bd95f40f3dc9978cbdcc8f7f3c00dabbbd4d58343df26d8abd08ec823cefa6aabd7261473dade182bd0d36753ca3a592bdca66643d42ea74bde4c1833c099c78bd8b98853d07466abd16ea8e3c2b0e48bd87fd923d5ad04ebd87b38d3c84af3a3be2a027bd1980cf3e4ec0483f3170143b19851bbd6692be3e5c14423f885aac3a6a14e0bc3beea03e7d3b2f3f5377663a86bcc5bca821813ee251153fd131fcb801ce91bc1e58403e9016f33e987079ba2b0d3dbc845af23db218bb3eade808bb8a67bfbbca2b593de9c9823e774187bbb705eb3932e726bcc45f1c3eeae905bb0fab203ae02355bdbb67803dcce29ebd262d123c000000000000000010e7adbd757d103c00000000000000005aa49dbdeab70a3c000000000000000011bb92bd6579f73b00000000000000005fc086bddc2fef3b00000000000000000b3181bdfa3e093c000000000000000020547dbd8fd20a3c0000000000000000049c7dbd1d8e1c3c0000000000000000005d6fbd0ea02c3c00000000000000005f9928bb59c42d3c7df800bdf9db773d06dc4bbb770f663c687cd8bc094e6d3d623236bbfcd34e3c1e25e9bcf59f5d3d997b24bb7d76463c72a1c8bce3894d3d8c111abb434c3c3c32bbcbbc3232443ded4a08bb4ebf2f3cc0a5aabc51bc213d0d8bd0baa3d72d3cb222ccbc36a0223d5f2119bbfd490b3c6dc27dbcd4f5ed3c459ea4ba2771ec3b8f6c90bc1e03fc3c4f7b59bd0a66b13c9f3b3dbb0ef1c23ba6d169bde5eed33cf37c6cbbb6c6333c6cff4dbddb66b53cab4346bbe48f0f3cb58443bd33c8b43c09798dbbdb09643cbf413ebd14d3aa3cf98f70bb56ca493cc8272ebd07a9a23ceec15abb375b653c4d232dbd6df39d3c7de79dbb94c46c3cd57a09bdb3d1813c764c7fbb8c5b853c589b05bd8b7f823cdd0d65bbf335663c89a667bdfae5283d08c983bd559d653c127ba0bd3f62623ccb9486bd0a8f6b3c5af198bd3a60493cad9d87bd0e656d3c410ba9bd27c4093c02b889bda8b4663ccdb997bd9435ba3cae8182bd4bd1663cd26a88bde185d83ced0f76bdc3a0703c573e5ebd9385253d2b7767bdd6eb823c32d63bbdff17463d29f64cbdca987d3c147f12bddbed703d1af838bdbab85f3cb02f143b99b8c9bcbfa16f3e66a7783fce30b9399158babcc2df523ee248733feba6863a4fff9ebc869b363e6ed94e3fe367f039a90d56bca0560c3ee25f353f8c784db9c4cb03bc8cb5bf3d54920f3f4a082cbbe34aa6bb48e95a3d9677da3ecfaf90baf0a20abba9b86e3cffe0923ef08425bb011c9b3b6e5be9bc622b1e3e5b1024bb216f8d3bcea15bbdce8c443d6c89b4bd83bd113c0000000000000000166dc8bd9839053c0000000000000000d3c3a1bd1d04093c0000000000000000092a9abd9c360d3c000000000000000063118cbd61161d3c00000000000000009d4987bdcfae1a3c00000000000000000fb682bdea98103c00000000000000001b3983bd7a993e3c0000000000000000e7226fbde0072e3c0000000000000000bd657fba3ba0ae3b352d27bcaa73053d48678cbac4cbf53a7081be3ba0d49d3ce02b35bafe698b3b2a452f3b00c7aa3c1eca82ba71df953b60f51a3bbdfe853c9e8dbeb99d71873b3e02d8380279743c674944bab43b613b7effd63a8f972f3cb51311bade6aff3a8193263bb4aada3b3ee215bab7445cba656bdc3b12bcab3a5e31ecb9d724dc3a8c1370b849fdb73ba7510abd2dd3873ce67a0dbbaf5ec83ba7c9a1bc15e66b3c1e65ddba6301c23b334e9abcfbad743c65714abb1ca2c03b21e0a9bcdb4a6a3cc15f18bb75fdc73b0675abbc9f92583c9ccd04bb3efb8a3b76d38bbce3f6493c6fa730bb58d8cf3b5c624dbcf7d41b3cc2880cbbc70ed43ba01e06bc1a35f93b4dfebaba4294b53baec158bcbef8fa3baffbc5ba0e06e03bd6134dbdfd06323b472d66bdc961443c824e51bd68a757bda7784dbd0c72223c3aec6fbd101b5cbd761d73bd645f1b3c8fb967bd49802dbd13c656bde4322a3c37c948bd1a76c5bc1d5052bd4f70273c3adc33bdb8f149bcb13640bdd8422b3ca59c03bdbcf0d9ba889124bd7b49283c010289bce60d0a3c2a0402bde6992d3cf86382bc718bf43ce433fbbcceda493c4f80933afe3e0bbca09e8f3dd499953f1d06a03ad6d016bc6fa17c3d35018e3f73d7d53ada3485bb0003563d200c793fbc7f883a25c896bb38af223d89114e3ffacd08ba3c22cfbaeeea9b3c0a32213f7637903ab597613aa565513b2a80eb3e0f1425ba415f6b3a5bba80bc793c943e5ebd8fba68eb093b0106f6bc4340fe3d844519bbdebbaa3b41ee47bd8cda8b3cd37ebfbde802173c00000000000000000b24b8bdf0fe113c0000000000000000556c94bdaa630a3c000000000000000075f783bda3cbf53b00000000000000009ffa68bdbe75ef3b00000000000000003a405cbdf6adfa3b00000000000000007a3d58bdc6e8123c0000000000000000ebe750bd3e38233c000000000000000004d15cbd8eee363c00000000000000000000000000000000000000000000000063d5b939b119deba6142853ceb8401bc2aee8e387d14debaedbea03c0f227bbc64f4a139c31f74ba791a733c647e47bc8081ed39d487d4b96fec503c09c670bc9f7c8439336e4fba5687633c20d280bc7462fb39929248bbdb36713cc93786bc289f3d3a58c973bb1432673cf00596bc0000000000000000000000000000000000000000000000000000000000000000dc0c103b00edb23b2bea44bac57f093beec4dc3beebe353b5405e739c09a593a2031703b9094913b6a93cab9e7c3003b671f793b95038e3b64aaa5ba1afdc23aed2bb33b02f8293b4170bc398dbc97b9bc22f73b9148003b611cc13733a38fb933451e3cae5f0fba64ab0e39deb2b7ba0000000000000000000000000000000000000000000000000000000000000000e3d202bdac1298bd3500fcbc0d21683bef02e4bcdb4e9fbdd81acfbcdc50423bb963ecbc723782bd6728eebc6d29a63a8572c5bc4f2648bd4b6dd2bcc21b023baa0892bce67220bddabebcbc8464233b19a917bc5c30efbc77038ebc35da123ba8e7e1ba9ab354bce6b949bcf3a68e3b000000000000000000000000000000000000000000000000000000000000803f6aad6f3a71598d3b2fbe4ebd4496953f306285b8adb0283be5db0ebd0ef77c3f7a5597392e31353b7b2fffbc5680503fa728c23a9ea62e3bea30f0bc72d9223f719729ba99860b3b7540efbc8c38eb3e7eae933ab667da3aa184d9bce9138e3e0b5c7b3a38bf833b4a9a09bda9b4ea3d000000000000000000000000000000000000000000000000000000000000000093b05dbdfc5bbf3b0000000000000000e0f107bd31b4a63b0000000000000000a98adebc3faa903b000000000000000060f7bebccf95983b0000000000000000f451b9bc3e3f663b00000000000000005c7dadbc8c0a863b0000000000000000ac55ebbc4842943b00000000000000000000000000000000000000000000000000000000000000000000000000000000012656bc698a563c9f442d3db3671f3c345606bc3552633c9774313d64f7463c086300bcb467a63cffb8173d73492b3c476bb1bb593e8d3c6b45fa3c12cd3b3c94e188bbe1f5513c6b31c23c4787f23b52756abb6d6f473c2cb66e3c9395873bd672b2ba5c7ea63b99e8a33b4507e13a0000000000000000000000000000000000000000000000000000000000000000a02dd3baf857a4bb9d42f33937a4ed3c1c4100bb665e46bbeb1088bbc214733c7b19db3a6d666fbb74a2c4bbd5778b3b56526a3b3c7d0abb88702ebcf9e47a3b9d7c593a6a4d303ad77931bc4080cfbadb4b26b932341b3a10fd1bbcbb5970bb0625b939874e1b3b7c4030bc944d99380000000000000000000000000000000000000000000000000000000000000000251c80be769b7f3be1c2263cf9bd13bbf7ae70be1c9027bc7a2abd3b7c7d1bb8bb5b5abe2e0dcabc24a5cc3be3fe6bba04af32be7e42d5bc2a99683bcd91d0ba3164eebdc785bfbc42329e39e7d5dcba66c180bdeb19a8bcb177a938bf49b237d3722fbcbd5c14bc230403bb59a0ebba0000000000000000000000000000000000000000000000000000803f00000000a095c43c513f05be160bae3fbfcbeebd0468803c77229fbd0a3f903f7bab82bda512523cbc246fbd386e723f2fa239bdd76f353c179d13bd6ad1343f3a3be0bcf6a72f3cebc157bc8a27e83e274f05bc5b5d863bd64a233c0302653e4c2d013c61b0ae3b6a77b43c1fdf9cbb04d12a3c0000000000000000000000000000000000000000000000000000000000000000660b933c0ec303bc000000000000000077fa073c2f47a9bb0000000000000000668ab73bbc9299bb000000000000000083978b3b0b1eb6bb0000000000000000e9d5453b3d3a36bb0000000000000000705dc53a98c882bb000000000000000061c9bf3ba8dfc5bb000000000000000000000000000000000000000000000000b83e2dbc96fe0a3c9b3aa53c2c49d93b822c5cbcaaad193c7d9a2b3d5ec0d13bba850bbce239793c34523e3dffe2433c186212bc9c5d8d3c28f1313d632e483c851acfbb9b658f3ce11c0d3d855c123c8a3e7bbbd1aa543c62ffe73c7f6dfc3b6c9bc9bba7733c3c7ff5863c6fa9423b403761bbd536af3b36ca193cb4a802ba5985aebbfd46c43a680f073b92ee2abb0209c9bbd10721ba395fb93b9d4ec73c6fd0c5bb25a3f4b97b6683b9e290fc3c4dce17bbe3cc36bb13b254b82522753c256026b9c49304ba124993bb2696363cc5c3183a72fbbb3aeb7b01bcdb8f563b31072fba488c1b3b4b5832bcd42b15bbc354f83a18f3d83aaab71bbc734666bb44ad33b9a86d0f3bb41011bc084b95bbebe025bbba3a613bf38ebcbb02fe4a3b2db41ebe58159c3c585887bbc9efd539bf5852be653b0d3c428002bcd4f4023c4b1377be547c6fbcf26999bb05d0c13b75bf60be3b31d4bcc5b69fbb072daa3b5f352fbe0cf3e1bc706413bc7178b73bbdefedbd9f12febc6efaf3bb622a9a3b9cca67bd50fcc0bc916a09bcb62c913b631a54bc7aa597bc4fa6b0bb4cda943b1841a03c0240133b1f9628bb6e54ec3a7280323dfba767be3c12ae3f33fcb3bbcd571a3d34ba3cbeb1e0993f87a30f3d1fb3fd3cd5c521be66c98e3fa31b203d090cd13c1d1cfabda2a6683f823f4d3dfc8db63c099da8bd42bf2b3f50536c3d6db28f3c307523bdf7b3d73e0829853dfff3713c186a49bc0832453e34486f3d615aeb3b47d5813c4fcb9b3cf4c05a3daca7103cc9cd9d3c02f610be9a3aa13c35e9a5bba280c9ba000000000000000083e777bc020347bb00000000000000004a8987bcfa1ccfba00000000000000005457a6bc2a5c97ba00000000000000000d0695bc7aaac9b900000000000000001e5c99bcccedd6b90000000000000000a7c593bc6d3f493a0000000000000000838c98bc184b043b0000000000000000dd64e6bbd7f19aba0000000000000000425880bbcf96073be3aa853c6e58f53b09610ebc2ecbd13bde07183d65803b3ca1860cbcc0113a3c9cb1253d63c7843c8771f6bb82626d3c1778213d35436a3c705fcebb60434e3cae0bfe3c38a4413c192e0dbc2bef4c3cfe57d63ce220b33b1d8b01bccd8b2b3c9435853c1606473bbd49eebba413a03b8e55123ce2c4b3ba016fcbbb8656183a6d07ad3b45b2b9bb376b2ebc98308b3b8f0b003cdfeeac3be741ebbb392afc3a3409f93b4069463c15779dbbf541323bcc608a3b1c5bfa3be9ee06bad91a8b3add62b33aacd3623a9839a938f783863bceffb1bab6a69bba4f57083bbebcac3b325e80bb07f827bb700f9e3a723e263bb817b4bbc49210bb8a19b43ad9ed223bfb6adcbb3bf219ba862bc4b9e47f1f3b1f6b09bb2561883a27adc6bdc37b993c45ceb2bc3bb5293c5abb36be27743abcd1f79bbc5472413cfb004cbea3120cbd1b2b87bcb224653ce17439be04d336bd9b5fa3bc64566c3c880e10be6dea37bd377a9cbc75fa2c3c6962c0bda05e28bd94fa95bc0a33373cdcfb3abd6b46efbc4c2179bce287253c3d3503bc35148cbc806927bc36edf43bfc345b3cc1ed733b5a5cbcbb69d7ca3b5b791a3d777056beae4f8e3f7b8d543e222f2c3d6b5b60be579e8d3f26f8553e9b0c043dacbe38bebf947b3fb609523edf3df23c7bfd10be5c374c3ff308493ea31db83c4d93cfbdc6e5143f1e77333ee7c1b03c1d677ebd0d63b83e6e9b1e3e19d98d3cddf9f8bcf3d6243ea881e93d75e3783ceb9f01bc5040da3b1c0c943d1d05313cdfc4643b56adbcbd35e8fa3c302651bda338e73b00000000000000003b226dbdb3ebf23b0000000000000000adec68bdd2b8ca3b00000000000000004f4f58bd2f60ba3b00000000000000008a0347bddff3da3b0000000000000000b1d83abd6e8dba3b0000000000000000516119bd4fdef93b0000000000000000d89ff8bce0d8f13b0000000000000000407bb1bc4950a33b000000000000000063766f3a8c20bcbb54e7a43c7fa2213cf41597bb6cdf04bb23de0a3d90c17f3c581836bb8cab6a3bb7cb1d3db3aca73c509ba3bb178ccc3b4a7b0b3d5aad9d3c77faadbb35c8e83b233dee3c9c22713c39cabbbba9dad13b3fdcbe3c2afce93be0fdb0bba829a03b70b5913c13000e3b8441eebb62d9033bb99a033c482488bbac908cbb20c8d3ba9b5b8a3b468fd5bb142f68bce49dc13bac89143cf117bdbba97ce3bb39729b3bb2d3003ccf79953a5f008fbb5f583f3b2a28b53be13cc1ba49c0fe3836c6953befc5823b9db3aabb97f4f73915d1be3bd9ca4b3a7b5d72bb00bf263ba0ed683be1b459ba26da11bcd9cb6f3b94d6b53a99bc3abbc3b6fcbb5016403b49060e3b74fe84ba6b734fbb85ac0ebb37f0f63a0e631e3a06f779bac1ee9ebd90a6043c00fbe2bc53387f3ccc4306bebf1228bd7852e1bc9b0c8b3c0a1a1abec58a87bd4a80e3bc7d84993cba4d07be910d94bdcb06f9bcaad7973c2c51d8bda8558cbd0e2df3bc6cdf903c2cd688bdc2d159bddb3ae0bc71aa883cadf7f2bc03cf1bbdc1a6b0bce1af7a3c7e2969bb76a449bc220245bc9cee143caf35853c8bc8d33b92b1a4bb596a053cc266ee3c795b46be7f976d3fb8c0de3ed17a103d607e49be725a653f0b6be43ea5f5dd3c096428be913d4a3f9c89d83eabf1bc3c17ca03be8f7a223f84a6bf3e458ba73c343ec4bd9dceec3e03f3a23e5a838f3c87e879bd11ce933e48a97d3e8fae833c39250dbd08b2053e36f0293e3d03573c41de82bc61a9323c8e52af3db1784f3c8e7456bc015e8fbd7d20a03c00a2d8bd82458e3c000000000000000068d0e7bdb0fea33c0000000000000000458fdbbd19c7853c00000000000000001b5dc2bdc37c803c00000000000000001747a9bd0b20433c00000000000000003f3893bdb0234f3c0000000000000000f36167bdf5ae6c3c0000000000000000b2e030bd8174503c00000000000000000a7606bdd0622e3c0000000000000000802c473aeedd25bc6420973c8d8b7b3c568f31ba491c89bb9017ed3ca7cbac3cb65d01bbc42816bb9e93073dfe47c93cd2a826bb7e06073b6833033db641b83cba329dba04fd553bd18fc33c79bb503c0cbb2fbb71219f3b0b57b43c9a750a3c3c06a9bb0d66ae3bd54e403c5570073ba9826bbb3beb0d39a5f2183ce93c98bbd54945bb55132bbb6f720d3b001a04bc0fb32fbc6648c93b8be9e13bef3ef5bbe23dc5bb6a1f573b7401f63b2261cdbbb07247b93798a33be0a6c03bf26704bc5799713b26d5623bcdca0d3b7d93ddbb6314423bf519de3bbb87e739c62f17bc08bd9b3b0e01193b50b271ba4e7123bc9ac08c3b0e77833a11723aba47fb11bc02db423b0a4659baf03f8f373ab3cabbf357413b4d5818ba1dd7b6392e9169ba7fe93cbd15ed7cbc22180abda973853ca871aebdd4c799bd9a4cf2bc2e71af3c5f30cabd5f2ecdbda27107bdfae7a23c49f0bcbd805cdfbdd7f50fbdd056b73cbd5684bd18d9a9bd1a2d19bd5400903c5a1241bd79f994bd5a2cd3bc773d873c7d0396bc67f91abded6aacbceda0603c2882a53a431b58bc5a7253bccd9e3a3ceffc613c2ed0253cf6ee59bbeb07ba3b0b1cb33c45231ebe23ce2e3f1924313fa060c13c3fcf1ebe2448273f752d313f874eab3c05a701be34cf113f58e6243f4447803ca993d0bde596e93e63e7103f0f1e593c995197bd6056a93e379fe23e289c823c74895abda26e5a3e7b37aa3e3f5c493c387508bd79cdd23ddc41473e1777623c43dcb6bc84138d3c5fb8b03d8f4b3a3c977c38bc40583ebd754f513afe261fbea2c6cb3c00000000000000006a1a26bebcc4d83c0000000000000000c3a615be53a3bd3c000000000000000017a507be48c8a23c000000000000000047e8ccbd8767853c00000000000000008655b8bd4b289c3c0000000000000000754f83bdb4f5773c00000000000000002f2f43bd7dbd8f3c0000000000000000605a19bd48c87b3c00000000000000006e4fb8b83c5535bc4b1d803c90cb5f3cecbea93af19647bc38e0b83cdf31d03cbac852bbf7caa1bb5c2fe93c2032ea3c674620bb5f2d33b9da19b83c6ea1e03c31020ebb2a691c3a0123af3cb98c953c133653bb3891653b6d84803cd32e483c937e84bb3c777e3b2b6a2c3ce0a7a03b444186bbea89413aaee2a63bd79d91bb7483e2ba9d3c32bbc875c13a54820cbc338fa7bbdd8a433bdf93ef3ba98417bc0939ee3aab44803a55f1023c5a400dbc23a8b73b3e5bff3a2b69963bbcb1bbbb0ec6303cf893d83af098443b0f4017bcdfac443c9b34a23ae2ed2e3b61ac32bc509e333cb7fa4339f0013c3a84ca26bcd71b0b3c6c9318bb4314dc3ab8c516bc983f0d3c8eab77bb3e016e3a30e6adbb45b99b3bde1976bb6c441d3b64e9d5ba7a2290bcae792abdb27c09bd24e2b83c3c2c1ebd30b5f2bd2df4d6bcccd2af3c027e55bd0f721bbefbad02bdc324ce3cc2b146bdccd716beab830cbd6c5aaf3cee2029bd0aaf00be80bcfebc97d6a33c300adabc1193b9bd820fd6bc2f1c7e3c2bc551bcedd353bd0e1e71bc7e13283ca864363ac1b991bc79c86cbb5c96d63bb38a5f3c342a443cc56b673a5bb8ca3b2f066d3c0806d7bde8cadc3e6d186f3f912f763ce120d8bd7433d13e90b66d3f10f22e3c9183b2bd9af7b23e19875c3f5ecc333cf25e89bdcd08903e329f3a3fee7f363cddcd63bddd625b3eab52133f45a71b3cb6482cbdfdad163e38f9c93ea9d8283ca8df03bd8ddcb03d4755603e7bb3193c535cc0bcfc3d003d00b2963d4d5de53bbbf47bbc521bb4bc089fb5bc6e1c48bed4520c3d0000000000000000bc8350be167a1a3d00000000000000008c983abe255af63c0000000000000000d1e51bbefbd1cf3c0000000000000000454403befc0cbf3c0000000000000000d7f9c3bd23beb13c0000000000000000e95c8dbd0566b13c000000000000000035ee38bd1199943c0000000000000000caac14bd9c9e963c0000000000000000b057823a278845bcd392353c300c6c3c8295ed3984ba3fbc31897e3cd531fe3c753140bb28d6b7bb648e9f3cfec80f3dcad23ebbe092f1bafba89f3cdef7fc3c7ce024bbdaf40dba390c893cdd90bc3c006416bab6c3e53a4bd1573cd4b67b3c6c3f59bb715cd93a8932113c829f903b61d64bbb26931e3a1005223b34764ebb64d95eba76ec60bb2f39253ac0c018bc13b4cbb7ec3c0cbbd1729e3bf02018bc26c81a3cae90a8bb29428c3b72a10fbc4f96603cbc95a6bbe717b83b0ea901bcca7f8a3cd7a780bb173d323ae33efcbba622813c832d44bbc866a63a7e0127bc7158723c3e86b3bbc284a0b8f59124bc131c3d3cffbfd5bb871d013b29150abcd792223cd983f0bb26692b3bb9e1f2bbca3dc13b95f5c9bb1c47e93a72419fbb6ea7213c5dc48ebdbf3c72bc5ca4843cdbb7e3b8fc1c28beef8364bc0ce1963c51c56dbcbbe746be8448bdbc2455a83cb2bb83bca9b63fbe167dd7bc1de7ac3c2e5a79bc9d161bbeaa63bebc7bef693c83ec81bc6122e2bd3d7e7fbc2310123cf6b0e8bb16eb6ebdad5a15bcc37bfd3b940d8fb81d367bbce4512d3ad42ff53a3f2c563ce304443c4ff3073c9e4f073b353b6a3bb5db5abd3d54523ecb0b8f3f8736da3b053056bd885c393ef4a3903f1e7f883b0e1e35bde39e1e3ea81f843f951faa3b8a8d13bd727d023eda9b5d3f54fd853ba354ebbc531bd53d320f293f43aaa33b0a39d9bc4acdb03db59de13ed699c13b45b9c2bcc17d813dcaf7673e7c1bfb3b76609cbcdc5f153da0c2673d635d923b868c76bc7bc5fb3b13a74fbd9ac756bebfc3213d0000000000000000d12e5fbeaada293d00000000000000001c7a42bea9760a3d0000000000000000998d21be5714d53c000000000000000076b9f6bd4417d03c00000000000000004f54b7bd8d85bc3c00000000000000001aec66bd11f7a93c0000000000000000022306bd3b179d3c0000000000000000dc5bafbc6b39683c0000000000000000f4d10a3b99df56bc790bd43b43b5ac3cceea0b3be41838bcfc8af43b14cc163db6a3febac30accbb67df423c1a10313d4db739bbb5f69cba1f404c3cf5642b3dca2e3fbadab1af3a4ea43b3c3635f23cf1d499baab78813bc3a50d3cc485943c9b738bbaafed1d3bcf33d83b548b0e3cdd39fe393faede3ab88f723b6cc208bb70b31b3abc9ac0ba8146dfbaf5770bbc61c1283cfa493bbc88972f3aff505139641d6d3c58fd55bc18988d3bdbcbccbbabb1a13cdfac14bc2ae5303ae6f428bbaed4a93c7850d3bb5d18e63a3534a9bbd136973c25f7a7bbd8eae3b97af6cfbb3dcb963c6046c3bb996126ba09270abcbbcf663c3215d4bb016831397f2ecfbbaa46113c27bd98bbbaaf053b35fcc9bb24eed93b175dfdbbdc109d3a85e7a5bb3532c83c2ed60cbeb9b8ed3ba968513c1707d13c2e504abeb2e5213c1b3f1c3cbd8bf93b5ea16fbedec1e7bb6efb363cd62a343b1b6964becf935abca694043cf34a36bb106f37be9eb480bc6020b03b394edabb3f3001be47e52fbc9f4e073b5334ccbb3fb889bd66bbcbbba92a63bacf2992bb037895bc5f26f93a6542aebbbc260c3c41ed8c3c1109603c122cc4bb8b3661bbc0e4cabb17e394bb4b53ae3f2b3513bb48fa3fbcbfb4ac3c6b409b3fc9ce01ba7ccf0dbc7ffd603cdd53903f93fb52ba9f850fbce6ab703cc9c36f3f8a219439335dfebb9e23c13c5582333fdb1d5d3ba6cc27bceef70f3d4ebae93e811e753b64eb51bc1d84173dbe32633e9848933ba92683bc60a8293d9cf3273de3d7293be52e01bc3645bf3cc57ff9bda8b967bea50c303d00000000000000007f133abee0ad0c3d0000000000000000ca8022be7a45df3c0000000000000000a10501be8c86b33c0000000000000000b445b7bdab71943c00000000000000005acb66bd96c4833c00000000000000008f43e3bccdf1453c0000000000000000737aed3a7663d63b00000000000000004819233aca64453c00000000000000000000000000000000000000000000000062b44dbaebfcf2bb9cd6b73b60b3333d69c9bbb82b3465bbc49cf33bef212f3df20128bbc1abff3a5594223cd1d8173da142f5bae6a64c3b7437e43be22efc3c400a453955a6633b3f62ee3becdca63c4056b6b856d54d3bf6f1743baaea2e3ca1c9133bd1cb173bb6a4663ab52c16bb0000000000000000000000000000000000000000000000000000000000000000cd42923c954760bc748dddb97a5d863b301f913c1dcd08bcadd08fba21a33a3bc4caa23c1fd992bb3d6539bb2b852a3bc813913cd2a0b8bb22d5d9ba617332bb6ee3473c6efd48bba205cdba8b8bdeba2b36223ccc7b47bb41ac4dba40af9cbb3169e23b32a595bb669cefbab14702bc00000000000000000000000000000000000000000000000000000000000000009768c33c8a2081bedac3813c3f8c7d3bd271503cc22a72be2ef2b8b963daf43ac7948f3ac9ca64be087c58bc655aa3b92bd237baa22c39beec1542bcd8f3cdba504fb8bb1c47fabd043b13bcc05f91bbe1d296bb9a7987bdbf57f0bb54a8d5bb69dac5b95c3f48bcd959ad3ba20be0bb000000000000000000000000000000000000000000000000000000000000803f0a92c9bb6d36b73c9083f8bd9df2ad3fde9275bb94cb593ca11d9bbdc3108f3fff4b12bb0f6e153cab1970bd8252703fd4daa6ba4461333c594918bd856c323f36939dbab412a43bc4d67abcb98ce23ec956543aa8b8723a48d6083cfde4583ef3ab003b7fdcee3a7882b93c67bb2fbc00000000000000000000000000000000000000000000000000000000000000000eb0fdbd13cb933c0000000000000000290f8fbddd731c3c0000000000000000a05450bdc331043c0000000000000000c821e1bc767b943b0000000000000000948e1bbc9a85603b00000000000000007bf62e3c667f163b0000000000000000fc54a83c0bd683ba00000000000000000000000000000000000000000000000000000000000000000000000000000000894f33bc3442883b15c91c3de29e013c8683ccbba6d7663b8020183d2b55113ce258cdbb5ddda13bd2d9023df6081a3cbf76a7bb4b29893b7ba4c13c7a57293ca9e338bbdb35943b8e206e3c32c80b3c52b049bb3742503b1e61e43b0969c33b172937bbeb4d4c3bc2fc2dbbce50003c0000000000000000000000000000000000000000000000000000000000000000d1fd94bbb2c933bb2da9803ab92bec3cdbe999bbd9f327bbe49690baea88b83ceeeb3ebb43db58bbaa8592b9055e863c3030f0ba505262bbe0d606bb36674c3c87f90cbb031034bbb4f373bb774ffb3b5a260abbab8f48bb1d3d44bb2e416d3bb3daf9ba605860bbe1c2adbb815e4c3b00000000000000000000000000000000000000000000000000000000000000006e886bbef3fb3c3b3155283ca1f5023b2e5561bec00f89ba2e4a2e3c3f76313bdda24ebe347907bc0b3b2c3c5cf4393bfa4327bebecd21bc1c060e3cef71143bba47e7bd181400bc0ccd043ced099d3a0d9c7fbdbefe5ebbddd3a43b4a05b33aa8e960bc40dda9ba6d9d8c3bf18a4e390000000000000000000000000000000000000000000000000000803f000000009553943c9d4bfdbdcbd5ae3ffb39e9bd73ea553cef47a7bd2a75903fc0848ebdf4b2123c9f5f81bdabc86f3f57c757bdaf08053c11e832bdd6a0333f29d81bbd3800f63be8ecc0bc596de73e756bb2bc333c8f3b2d0cbbb82139623e48010abc536e873b28236e3cba2202bbb371a4bb00000000000000000000000000000000000000000000000000000000000000009885893c373d05bc00000000000000002be22d3cb19bccbb0000000000000000ef41003c5187b5bb0000000000000000dbb7193c7961a0bb0000000000000000711de63b93645fbb00000000000000003f6ee03bfd2943bb0000000000000000b7f4413c2d5a76bb00000000000000000000000000000000000000000000000005d079bc64260a3ced4b883c2697543cad3274bca9416f3b4d6f1e3d32dd073c10e557bc4c9fca3bbc432e3d1ddb0b3cb58434bc1d31cf3b4210143d6efa233c355ffbbbb976853bed4fe73cb82e2d3c79b1fabb208b943b3707973ca2f7d63b0bbeebbb91baa03bda3b153ccdd8253b29b0e8bb237fcc3bfee81c3b6ddf26bb2aae18bc3e5fb23bce5757badd4da9ba178546bcdd0bf03abfec6e3b8001ea3c606856bcb0bcb93aadf19b3a9d6a313de34424bcb5350b3afcbe083b2fc3fa3cc9c917bcab25083aa7a813b9d84cd73c6dea27bce812513aa7443fbb3565a03c993c06bcef244c3973d23bbb51703c3c4f1e66bbbf70bfb9ee2272bbee8ba73b114f8ebb7d30723906c95fbb721b59bb260969bb26ddd7ba5a39a2bba5bfb83b29d22fbe15ac053dd77a0cbcc7fddf3b92c46fbeb9dc233d8c3726bc6b5a383caa537ebe4d9ac53c36d1edbb71cf343cc7a068be7e4d9a3cd64dc9bb56132b3c4c9a38beef11603ca83199bbf0db293c2080fbbd76a95c3c74eb98bb14b3203c4efe86bdf7ef603c9f19cabb9f26f93b83c78cbc6286993c0bc4aebbd899e13bea3f0c3b15d3c13c39a76ebbe063883bf85c133d665c46be96f1ae3f745419bcf640073d2ff12ebe809b9c3feb74943c3cf0d63cf1bd0ebecc738b3f5566fc3cedeea83c0938d7bdd7cf603f6712243de096993cc0b391bdafed213f5943513d34b4513c78d514bd4f44c53ea6b16c3db734263ce6fbf7bb0542233ed83b5e3d2b318b3bd893c43c04c4d3bc1647643d0f9ec33bb861d93c9ced2abe64f0cc3c61b9d6bb1d98d6ba0000000000000000871d49bcf8cadbba0000000000000000394478bc95cd9fba0000000000000000f6cb6dbc80fb67ba00000000000000007a9d80bc27e7bcba0000000000000000736480bcc71b25ba00000000000000007ca371bc817a663a00000000000000009c218cbc74935f3a0000000000000000e98cb8bb33b22b3a0000000000000000a48c45bcaabaaf3bfa4d203cb1d6893c280483bcd7a10e3c5fffe33c8039523c6e586abca66fe63b8450f93c32a38a3c5c8445bc643dda3bf337003d2249233c697e22bc2341d53b6eadb33cf15d2e3c31182cbc6e43a73bb0ce923cbd1f4c3be6a416bc6d019c3bb60c413ca8ba74b910a223bcae37a43b7bba1e3c42390abc605bfcbb4946233bf892bc3b6728f0bb0cd0bebc171e0c3c9768b43bf221ac3cc44993bcbbefda3b5952363b7a64f43cbbf789bc45a2bb3b8e9c293bc981de3c6f895ebc3e5c893bc9b22e3b2f77a63cd51b5bbc6f45b33bce2619ba817f753c944909bca9768e3b30948dbad665323cf7ee02bc06a7713b9ded0bbb25aadc3b1de839bb5703fc3a363f0abb4d5b283b0cfef2bb4d988b3ba3c452bb6eadee3a1c2e12be540a743dff4705bd537c7a3c5a0159be59bc3b3d07fbdfbcc0538e3c092b63be8508c03c468ec9bcf3f2963cb5b44abed234a53cd995a9bc2e10943cae061fbe8117863cef42a1bc7e10893c58a0e2bd3c999e3c754aacbc7190813c2cbb84bd7736c13c85e087bc05996b3cfd6de6bc045f083db06b8fbc8e40583ce5bf24bc8b573c3df2c686bc0d8f423c1d51013dbcba2cbec2938c3f25b1473e1adc103d01bf32be3e13893f7f0c463ecf0ee93c701d10bea4326c3f7eb14f3e64d4bd3c9d7fdebd70d1393f7241483ecedc963c42ce99bdbc6f023f557a373e3e52883ccb0532bd28a3963e2560263e05a1563c343694bc7b32db3d6c92053e7332073ce941fe3bf77644bdb113c33d89d7e23b4bd1883c40090ebe98605f3dd3ba31bdb171d43b00000000000000005c6550bd6569e43b00000000000000000d864bbd2efcb13b0000000000000000a7c84ebd502fc63b00000000000000001afc35bd0d17893b00000000000000008b9130bd2d41ce3b0000000000000000b58225bdfa12b53b0000000000000000cea816bd3d1bc83b0000000000000000d194edbcdc228d3b000000000000000045ff3bbcb425823b40a9de3b71ddad3ce60756bc8387453b330dcf3ca6d75c3ca07d37bcdf838f3b10e0dd3c1d0b693ca4a633bc637e3f3bcaaece3c08f6313c16d40dbc44a78c3a6525cc3c3a1ee93b1a5009bc87066d3bd9ea913ca4861bbbd3dc0ebc4fd9503afbb4863c410201bc173d09bc6986043bc2b07a3c084775bca7c8f9bbf418a339b4191c3cf5fd67bc7bdefcbca786583c94eeae3b67303f3ccfe29cbc8504153c21188f3b77f3c43c73e599bc9c771b3c96be273b7b18a43c71446abc707d1a3c28c7613be3887b3ca85c43bc38af173c5e21f8b9bc055d3cf57cd9bb181bc33bc54a2fba4349f63bea92b8bbc724c03bf44082ba44c4ad3b8f6795ba72096f3b08cd1bbbfa5d943a10040cbc2bf7003cc36730ba8ddb6e3ba0cb02bea2648b3d64ed42bddc3ebd3c9dbc36bebe2d0c3d62a733bd5f60d43c548c39be214b7e3cbdef1cbd3827da3c5cf720be5094e33b4eac16bd53abd43c57df04be837fb73be4e20ebd55bdcf3c2744b1bd545f6c3cf06507bd851ecc3c81fb61bdbb79e83ce597e2bc5ba2b03c46e8dcbc16a9283d63ccdabc9bfea33cc37348bce76a7a3df229cebc29e68f3c8fbbd93c883d14becafc603fed70d63e34aee83cbaed16bead90553fc54dde3eea89bd3ca91cf4bd48a0343f1b06d73e0bc4873ca943b7bdf5820a3f9520c53edbef893c8ca788bdf332bd3e7ff4af3e4e024c3c88b220bd5ea34f3efd2d8f3e9f82153cdf0f7ebc73bd693d2b55543eb355033c4f51053b417b6fbd9223093e9e18c23b7ef3cc3b55c0fabd5da9883d01cda9bd680e6a3c00000000000000005974c5bd07db6e3c0000000000000000a324c2bd5ae14a3c0000000000000000fca8b6bd0843493c0000000000000000e095a9bdf41c2d3c00000000000000000f159ebd6bba233c00000000000000006a2691bda89c363c00000000000000001b5074bd1932373c000000000000000069d34ebdf144283c0000000000000000864beebb675c573a5409fd3b77af923c58441bbc9eb613b834e5873caf568f3c0a4d1ebc416c8e3aa7899b3c54ff953cd65ce5bb8fd888baff63c53c72ad2d3c5f006ebb58f51b3a2854403c2033253cac05dfbbbb50afbae5ea963c3eeaacba177adcbbe59fc73ad7dd6f3cb0860bbc2a4bbebb9cbd923a96e0443c75608fbc0501bebbd53e29bad39e653c77a093bc001005bd27e7873cb000633b2b87073ca901b5bcddda673c7d45633b56fa703cc2a991bca3d3553c62dd473bc9483e3c5e775abc274b523ce6ab513ae289363c6f5d70bc6536513c531d80ba3915db3b3a7bddbb8d302a3ca9f0f7ba84a0c93b101186bbf2a10d3ca70ee039c60b153ba53a24bb03fed73bb779c6bae4cf83b9c09695bbd472033ca9d22ebb65e5ea39f8dcd1bd4d8b803d9c1675bd53e6e53ca64c08be04c5763c99185ebdb3ecfb3c781205be70ca2fbc21714ebdb3dc003dbbe1f4bd974d99bcd4923fbd9bb4f63cb4b6b6bd1c02123b90e245bd5c6fe03c2e388cbddefc58b9c85726bd4d44ea3cdb252ebd8396d93c138c13bd1f87c53ce38aa4bc6d922d3dcde700bd4b83b23c0b2028bc3e217e3d42d7ffbc23f99b3cc085a03c50d4e6bd3d4f213f542f2b3f12c59f3c075fdebd5420153ff3232e3fbd3d873c9210b3bd960cf63e7aeb233f86d7683cf62f8ebd55d8b83eee45153fbb54273c0cd24cbde8737b3e796dee3e89a3253ce0b1ffbc356cfc3d6ee6c43e5c93d43bd47197bcd7acf13c0ce3833e1956aa3b993c76bbcc8459bd9f341d3e87a1983b4c7c5b3b9c73d4bd1833913d93d8ffbd3ca2a93c000000000000000060e50abed981b53c0000000000000000787204be18f69b3c0000000000000000b31effbdc943943c0000000000000000a46fcebd6a307c3c0000000000000000cdc9d7bd58af943c00000000000000008b08b4bdfd9a7b3c0000000000000000d1e99cbdb3f48f3c00000000000000008a3889bdc1678f3c000000000000000076d9e6bbdf030fbbb012fb3b00b04d3cad35d3bb631f36bb33d47a3ca3085e3c7075c9bb755093bae91e8d3cb03f8a3ce03ad0bb8b52aaba9ee8833ca37d443c0aa647bb54fd05bbe471923c202d813b84a870bbc860a6baf6217e3cdd7b35bbd4e3cdbb7c0db439e05d813cd27c6cbc564c74bb40eb023a564a913c03e9b0bc419a8bbb2291a9ba6156493c8052acbc7047bfbcad807c3cd772993b539ea33b32b0f2bbf79eef3b5d697f3b7e52013cf595b0bb33cdd33b6851943b4048923b3b340fbbef89fa3b13369f3b2fe0993ba3d9ea3acf97d33b271e8b39612c483b03486b3bb26aad3b1730053b65534dba51c48b3bceaf8d3b7b93173be66c2eb9de02f83b7bd81f3a396cf039576853bb6b1d133a9241ab3b1b310e3b3bae50bb5aeb89bdf5650c3d109d83bdb5a0003d3bd9a1bdf15013bda1e954bd2dd1083dd77a9ebdca1f85bdbbdf49bdbda6053d8c0289bd819b82bddc103dbd692a083dc42268bde22453bda48c33bdfaf2fa3c1a6c1fbdfeb7e1bc651722bd1a2cd33c0dd3c9bc84de1c3ba57003bd93ddc33c3c4554bc1d8ae83c07edb9bcb96d9c3cf25020baed034d3d494ed1bca845943c823a4a3c3ece9abdb354c73ebb8f6a3f504b533c76c799bd676ab23e92326d3fafb2313c747674bd71e28e3e47965c3f587e043c238944bd6334523e34b93f3ff51bc93b03220fbd836d053e679f1d3f9e06963b0752bcbc46258d3d80dae63e50e3aa3bf69a83bc000d3d3c76ee933ed65b2f3b9dd0dcbb7d2404bd9f64103ee0e1ac3a016d31bb215d90bd18963f3d5f4324bebca4ca3c00000000000000003d4537be1eb3f03c0000000000000000918b28be5408d33c0000000000000000ad3c1bbed695b33c000000000000000046f40bbec5c2b33c0000000000000000e792efbda720b63c0000000000000000a27ad1bd2484ab3c0000000000000000e24cb2bddf4fab3c0000000000000000662496bdc834a93c0000000000000000567f78bbf76eb0bb6df8043c4026033c13a28eba454fafbb16561c3c9c5a543c139138bb79725ebb74c73a3cd1d1853c99ad4dba029ba5bb16f0413c650f7b3cad8e11b8925b29bba0e13b3cdfd3ff3bbb2b5ab905dc2ebbad006a3ced3d4abb2591b2baa62f9eba2192703ce3031fbc5450ecbadee63438edd8643c892c97bc814538ba1d16dbba2a282e3c030fa9bc7166b3bb85ad943bab21813be3769e3a3150fb3b23c27e394c1d643beaa5aeb8bb86263ce1128e3928a9663b745605395c80343cceaff13950a30f3b10f7bd393195453cc2be4b3abceec63a662e0ebbf00c633ca2c39337e36b073b61152cbbac4a483cad54f8bae2fe953a415617bbbb7c5e3c7b0188bb7a342e3ba3c385bbbfae0a3cbc42c2b86353193934d543bb1527d1bc2b2a95bc88913fbdff33e83ce53aadbc6effd0bd764313bd7cd3e63cd840cebc6d6204be52cb13bd4868f23c2f4bb3bc512802bea644f9bc4546dc3cd0dc9fbcd91ccabd30b800bd8120c53c0ec47ebc43ea8dbd8dffc0bcb3a4aa3c277727bc27d3f8bc5b038abc375c813c923e6ebbb4861db9f50349bc0bd5423c72e7913ba488003ddca429bc05bf193cee58b73b38b41fbd8c1d343e1e47903f1ae09a3b745317bdae650e3e806e913f7399363bf9faf2bc0690de3d7ecc843fc105c93a648fc9bcfbee993d8e31633fbc977e3ac48f94bc23da4b3d74e0313fa0ea83b8361f6cbc3e0ee93c7364fb3efd52483901ff2cbc423a013c6528923e6522173a9cb915bc2ead89bbcf10df3dfe4f64ba23a472bbe707d0bc841bc1bb98573bbea525f73c000000000000000041f54cbe06d2023d0000000000000000d66039bec16ad83c000000000000000014d127be5b2dc93c000000000000000095a90dbec74ebc3c00000000000000009ff1f6bd8322b43c0000000000000000619dc7bd9cfcb73c0000000000000000e8e499bdf603b63c000000000000000044c27dbdb7f9a43c00000000000000009909a33ad04c94bb1a0ead3b0780043c5ffe263b4a01b4bb878b25bbd9d9ed3cd9b7433bc37cb0bb4270083b749efc3cf1c16a3b63b496bb6a667f3b92e3da3c8a69893b26a759bb79e8a23b29c3a23cafa22f3b629c6bbaa4399f3bd070313c337f073b4989dbb9b33b013c841af6baf1c6e63af9cde238c0fbe53ba9390dbc5b3d113bfddb8838094d023cffea8bbc62e43f3c1897a4bba095953add9844bb85fa623cd7b629bcaf796f3b8a63f2bb6038733c7ef9d0bb994ae43ae27075bb3b06863cf324aebbf1abc23a65d899bbf519703cd17e92bbef35cd38487594bb00e57f3ccd479abb99309c3947879abbaf4a593c37ad56bb2602b03a0f09a2bb8184393ca4bb80bbe6b78f3aa5ec5bbbe9ca4c3ca12d9bbb8a8d2dbad91ec3bb6dce303cc97ce0bdde6591bc5e1ea03c9a1fcf3c221035be1176873a9c51913c157a483cfb4f4bbe62bffebb5a11a23cd8b71b3c99ce40bee0da18bc1253903cb769b03b86131dbecaacf7bb408a753c738ef93a719be1bd6460cabb204b1a3c24f1a8ba7c5a6dbdf2b725bb5704a93bb673bcbb3fbe59bcaed0413bcfdedfba0c77fa3b887f443c4cb5a93bd69f74ba52fb19bb68f4efbb1dd953bc9621b03f386e68bad1c6debba802d6bbfc3c9f3f47ee52bb066f9fbbadca3abc90dd913f5f8b14bba45dbbbbe6a534bc8ad8723f64a7ddbaebfcbebb28d8a9bb5f38393f7da906bbceadb0bbd0a50e3b9896f73ea735e7ba8381bfbbbf180b3c9bfd803ee77c563992b823bc4b74bd3c9588523df7672dba0b9c97bb8e3a0e3ce40dcbbd32a753becf210a3d0000000000000000ecda3bbeadebf63c0000000000000000480a28be98c8bd3c0000000000000000a2c40cbe22eb9e3c000000000000000079c8e8bdba2f8a3c0000000000000000d762b5bd6847983c0000000000000000139d83bd01a68a3c00000000000000008b9807bdaeb17e3c0000000000000000556217bd40e29c3c000000000000000000000000000000000000000000000000c5ca983bc224eebb3fc0d0ba8725163df51cc23b7e93bdbb6f0551bb5aba293d9ea6923bdcfb79bb0c6bf9b94f7e0f3d41ce9e3bc02080bba2fdb5ba3a33e23cf0ae9a3b0b9976baaa1dbcbac7aaa13c013d863bd84a66bab49286bae709223c5cc0823be0daef3940c569b9dfe8c13a0000000000000000000000000000000000000000000000000000000000000000d5b4853c6d2b24bce90563b95ddd6eba8f9f653cc37301bc483798ba73cd4cbbd7418e3cbb75ddbb86f8bab9547f09bb7538833cfdc3a4bb3a8330b9c57b81bbe923453c21edffba3e8985baa5528ebb4763253cbfc22fbb2ebe3039934f6fbb9202d13b4f50f1ba7fbbb6ba801c9fbb0000000000000000000000000000000000000000000000000000000000000000a0ae003da00071be0199523c31fcce3b2301df3cc83869beada0533c90848e3b0a3ca63c5e195abee662cb3be461453b483b8f3c5cb330be8b12da3ae03c2a3a85fa563c3b9bfebdc1f8583b0ddd16bb8a06f63bac8e91bdb648813b1e399abb392de63b2e59dabc70830c3c48abfebb000000000000000000000000000000000000000000000000000000000000803f17f006bc59d6783c253aebbd0271ad3f9b40abbbaa671e3cde7599bd8fe78e3fff6fc3bb620e023ceb4780bde1f06d3fb76296bb385ed03bdd1932bd75f2303f028d6bbb561e6c3bc985cabc98cae43e01fd4cbb1e192d3a159b1bbbe3fc5a3e5b7cf3bab539af3ada1c4b3cac9ebfbb0000000000000000000000000000000000000000000000000000000000000000f36ef7bd8e775c3c000000000000000051f3a2bd15e9df3b0000000000000000905482bddd6e9b3b00000000000000006c1a3abd2c76c83b0000000000000000bf47eabcde40953b000000000000000028fe04bc3ed43d3b000000000000000072f98239aaddc83b000000000000000000000000000000000000000000000000000000000000000000000000000000005e122dbcacf6833c8ae9c3b917ff953c18c8ebbb8d6f3d3cb2309b3b05c3b93c9a4dc5bb98a7313c0b9678393bb6a83cfbecb8bb147f193cba1433bbcd43b23cecd99dbbaabef13b21c98abbe8b1b33c523981bb2b6d173bd044a6b9bc95933c85949fbb1fa45d3b3ddd05bc8328963c0000000000000000000000000000000000000000000000000000000000000000f3e9bb3bbbf9c6bb26a7f5ba22736c3c2788633a3dc095bb0f3f32bb4e417c3cfe80f83a47079bbb0021a6bb082d513c2a39d93af8f4a1bb404d57bb805d853cb8b3fb3937b29ebb4e49a9bb122e8e3c4570febadf784cbbd21ca2bb3834933cb60fd2b968cfbebbaf97abbbac42cd3c0000000000000000000000000000000000000000000000000000000000000000c2be27bee6911abd4fc02c3c34dbd93a05c42fbe6bd500bd9f9a0c3c26881b3b63b01dbebd351dbda4c3343c6b39f43a370005be283114bdca013c3c6a49cd3aadf8d2bd2b6f07bd49203d3c144c073bcd9a90bdcb2ab6bc98f82f3c75251c3ae1481bbd7087b3bc962c5e3c1965e83a0000000000000000000000000000000000000000000000000000803f000000009d642e3c6ad8b0bd7e5aa73faaaba7bde8e3e53b77a166bd39ee8b3f5d2c5dbdcc69ce3bf90d3cbd3105673f4d5526bd7ff1863bd48a1fbdac98313fddea17bd3a67303b2b91cfbc08cbf23e93e803bd6fb6f23a41c947bc3a59813e5385c6bc989cb9b98db782bb65cc613ded4b09bd0000000000000000000000000000000000000000000000000000000000000000c9b3a13bc3c085ba00000000000000005450603b9ba8a1ba000000000000000011202c3b404653ba000000000000000075dc373bd7450dba0000000000000000ed0e7e3baf95f0ba000000000000000076209b3bae3b3aba00000000000000003f22063cf17419bb000000000000000000000000000000000000000000000000c58f4cbc1136be3cef0a2ebd05cb733d0d7d41bc801a733cf00f1fbcf9068e3da25429bc55a14c3ca7e1c4bb7e9e7e3d9f8400bc7b093b3cb88907bca801813d0e7ef6bb8ed1023c9b2e09bc1e3b693d8f7ed1bb9eb0923bf3709dbbfbc1493d9f2fb8bbbeee203ac30622bb97cb293d6b0997bbc11667bb0ff2d83a2264053dc12bb1bbf6dc5e3bb3b788bc38490a3d4edee0bca6f81b3b3eccc8bb4932083da0102ebddb2e283c0edff6bb6943473dde7c20bd63af223c13b006bc000c2d3d4a351fbd8c69183ceee51dbc4b392b3d51d31ebdbda71a3cf54e16bc7337223dd2fb18bdfe3f343c81361ebc8f3a243d563212bd5dfc303cbec51fbca9761c3da3a30fbdb4ad473c20c11bbc6946123dc7c6edbce494bc3be1a01ebcdf19253d3a4a1abe17050fbcceba913b0adc853b63d880be97c15c3c5358603bee33c13b944d81bea72b873b12d9b43b5093903ba2ca70be4225e7baa115af3bc28ea03bc3a24ebe33acb13b2efd993b5a49a63b161d2ebe6851713c8cd3833b7a354a3b53d901be9453c63c2879823a07b9a33bdbdeb9bd513e273d541868bbccdf5e3bba8089bd2fbf0c3dff950b3b9f62ba3b2a0a2d3c4f18e2bd8a7ba63fd5d3e23ab665293c2a31cabde6389b3f99159c3cec240a3c5ab69abd81d5853fa27eec3c3a23a53b0ce55fbdb3f8563fa8290d3d32b4053becc50ebd46841d3f36300f3d590dd23a6d8f88bc849bc83ed930063d78ce2bba6b9fdd3a3a232f3e90cfeb3cc22d6abbd394e93ca1b404bd81ebe13cec96cabb9057d53c711803be5e7b0ebc998d17bb1eff9f3a00000000000000004eb044bbda75bbba00000000000000003b061cbb7a898fba0000000000000000c3d55abbf164d8ba0000000000000000864a14bb0231b0ba000000000000000095e721bb51300b390000000000000000069199b61f1a47bb0000000000000000b91a2dba17862fba0000000000000000ed06ac3be99455bb0000000000000000fb6610bca5c78d3ce1d078bd4250d63d47af1bbced7a653cd0f706bd684dca3d231c03bc1cb0533c40f2e7bc174ebb3ddbfad7bb6e23013cd7e993bca851ac3dffeda3bb41dab33b39508dbcec57993de44299bb26b1843a4b051bbc175d843d2c2686bba05e933a822c42bc842c623d073665bbb67e93bb878bb3393169233d9e292abbeb4040bb4a5238bc435f3a3d117a98bd994fa33cb50f20bc50c23e3d9a80a5bd593cc73c666d1ebca3794d3d09a89dbde791d03cf8db3cbc17f1413d5a9f9ebd754bd93cb3e03abcda943d3dc87296bd5f14d73c127f45bc597b343dabc293bddb2be83cd4d448bce4b02c3d1b0787bd18b7cf3c7a6b33bcb66b233d37cf82bd424ede3cb26c2dbc98d9163da79479bdf8bdcb3cb64017bcbc2c093dce9036be683a453d542e0ebb2e53ac3bea317bbe2726323de01a88ba0c37aa3b43937bbed411283d3b0c91bbcf6fcd3b210678be01ed3f3d8c4480bb15579c3bdb215cbe32de583d5d4d9abbb9e28a3bed8040be5c1c853d4bb713bc24a6b13b0d9019be3c85983dfd605bbc6f46ce3b6fc5fabd45a8bd3d5e7372bc9063c63b50ebd2bd4bb6d53d524894bc3027cd3bec5d573b242098bd84a9833f04ca293eef379a3b0b5294bd16497c3f9ff5283e53af443bf2bf57bd6e4f543f367b303ed6d78db94af709bd5647273fc12e273edb53b8ba3bcf85bc34efed3e0395153ee6dd67bbc2bae93a2cf78c3ee347023e52e0c4bb21af803cefbbd53dc769ce3d7569f9bb1c030e3d9b9281bd7fa09f3d951237bcc66d273d27221cbea201343df669e7bb99a640b800000000000000004f502bbc7d106eba000000000000000010db28bcfde93ebb000000000000000097ba1cbc748e8eba0000000000000000114e0dbc1c324fbb00000000000000007de2f5bb07a882bb0000000000000000766ae5bb0b3450bb0000000000000000199dbebbcdef69bb000000000000000080c25ebbe1b10cbb00000000000000008fc4c7bb8a2f2b3c28dc70bd24f3013e82b094bbfdfcc03b79b9d4bc3b30de3dfe8e95bb8f57cd3a34359abc6cb0c93d2df02bbb313912ba13d536bc2261af3dbcc4f8bab1c9e3ba7158a2bbf066933d36319dba5cc22cbb1daef1bafc00693d7e2ec8ba6cb3c8bbf893a43bb07a2d3de34a0cb97bcbe3bb76131c3c645ccb3ce7ebebbab84077bb1f0461bbcb7d1f3da1afdcbd9f3e153dbea70fbc10d81c3dee6cf4bd73753c3d8d8e2abc72913b3dae88e3bd0c3c363dbdca38bc42152e3d9729d9bd9e4f3c3d71e63bbccd21233d3035d5bd03d5413d1e9c4abc34bc0f3d216bc4bda2b0363d1d4b42bc75c6073d5a51b6bddd9f3f3d65633cbc1695e23ce989a9bd3f453d3d175233bcf71bd13c7e3f9fbd1413313d4f701fbc7d53d23c9a7e40bed723ca3d220b8ebc8013f13b3caa78be6af1ca3d77fb3abc659ea53b22af79be0c95c03dcab09abc375ac03b3e636ebeedb6c73d58feaebc9f48cb3b5c1c58be0f46de3dd485cabc6df3f33bb14837beb3cff43d0ffbdbbc43ccec3bd74d1cbeb2d7093e887311bd3ff9e43bb7bffdbd3eb81a3e8ab921bd77a7d53b4643e0bd2885203e73a320bd566e193cc2b844bbd01c3ebd07de463f12b6b73e9a7417bac52643bd5cfa383f479fbc3e7b9ed4ba3401eabcedf4183f6440b83ed4b69bbb11b74ebc5100e83ea604a93efd83bdbb065833391bf19a3ef8af973ee361debb69193e3c7aed1c3ee590813eb0f303bc96a8e23cc91d6e3cb7e34c3ecf0842bc5238223d9d57cfbd8f411b3ee5673cbcc79c2e3d60f72abe87bebf3d653c7fbcff71a7bb0000000000000000f9bcbabc164227bb00000000000000009c18afbcefb391bb0000000000000000f210b9bcf2c4acbb0000000000000000dde0aabc59ee9abb0000000000000000f34ab7bcb923babb000000000000000036b6a2bc84e1a4bb00000000000000008c21a7bce1fa8ebb0000000000000000f93b88bc3dc4efbb00000000000000009f894fbb59849c3b40cc31bdeb63013eca0223bbe8b282b906e89cbc60e2db3dfe13f8ba2c24b13a154a72bc6602bf3d655b3cba712a9cbbc2c48cb917d6953d3c4011bb4a901c3ab0df6fbceee59c3daee276b91a89d6bbd697323ccbc3313df62e7aba30aaa6bbf682a83b64fb103d4b5412ba91e905bc70d0913cc6f26c3ca63885baec44bbbb7f1b0a3ca72dc03cb88e05be7608593da24c24bc32d8093d5b3b07be658d6c3d7bc925bc5ed6043de757fbbd35b86f3ddfbb36bcd36bf33c4cf5f4bd80c0743db9b140bc1486da3c9ca2ddbd601d613d221c1bbca5dcc93cd299d4bdf7d3743d2dca3abc3c7c9f3c855fbfbdfef2653d27fb24bc5bf2a43cfb60b1bdf84d683d1f7d26bc90c3743cc613aabdfc81603d9dc70dbce4f27b3cfea03bbe32060f3e3402fdbcdff6c13bf32c5ebe9861063eec9509bd5495f93b514055be3ffef63db3fe2abd85bdf73b9d2d50be4b2b013e4ac428bd7b47e43b142e2dbe6eee093ec9ee52bd8af41e3cafd624beba94183efa205bbd69c71d3c0c4d07be28f3223ed31868bd33b91b3cc86ddebd0a5c343e35277ebdeb292c3ce73cc0bd0dbd3d3ecab081bda57a2c3c79c771bb06fde3bc2102093f1877143ff38286bbd160b6bc121df43e1578153f0c87afbbf66639bceec1c53e0c8c0c3f2961cebb636545b6cdd78d3e9302023f94230ebc22741d3c9271343e73ccd43ed7d5f4bb77e3a93c1c3d793da1e3bb3e2cc31dbce33ed03c8647c2bcdb3e8e3edb1337bcc9a8153d2aa7f8bd14d0553e6f293cbc1883223d2c0231beeb9e0b3e0bb401bd36b9a5bb0000000000000000c02319bde9b9a1bb0000000000000000affa10bd9f74d8bb00000000000000005b9e17bda927dcbb000000000000000020f200bdcfebe9bb0000000000000000848d13bd8b39d1bb000000000000000099531dbd4ad1acbb00000000000000005fe10cbd321ecabb0000000000000000a1e91abddb6ba0bb0000000000000000777e9db9f2c216bb47e4a1bcd99ec23df94091ba14529dbb2bd7043c03c0753d51ffeeb9062febbb700e6f3cf011493ddaf5bdb8757dc3bb188d8e3c9ec6153ddfea793a5ea9d4bbd7cda33ca615b63c9f6143baaf9eedbb65f5b93c9952093ce99331ba3eaeb2bba851b83c25a5c5bbd6fe94390e6f02bca829ce3c3dfdb7bc79a02a39e56ac1bb3958943c35abd4bad2d2fabd4e5e7d3de3cb16bcc5e1c63cef96efbde00d8b3d1d781dbc2f16bd3ce0d9d4bd0d8f833d18fe12bc316eaa3cdc5bc9bd28bf823df5e614bc4bb0893cbb77b9bdb392803d1af831bcea41553cd93ca3bdbb277d3d8375e1bb9cce183cfe988cbd5c6b6d3d79e9febbc32ae83b181c67bd693e6a3deefdf9bbb09f2e3bfeed7cbd02a9603d4c0e0dbc6d05f73b615d1fbe22ad173e87c067bd2298e33b91b72fbe08e9f33d74a86ebda4b2aa3bebb12bbe2687d33df44880bd7070d13b7ed11bbef61bdc3d3d778dbda34afb3ba72d0bbe8d04f23d98b997bdc9821d3ce2d4e4bdfa73053e96409bbd0ee5043c8da4b8bdf6dd143ec3eca8bdf7b61a3cabba85bd0e25243e83a3abbd21b7013c66517abd37e72e3ede71abbd9949593c8b6c75bb3c1d69bc3e08a63e2c8c533f46d233bbb00647bcd1988e3e199c563fd54b8fbb95219cbbb3a35c3e706d483f381ba5bb39e2b53b5f660a3e8fe5313f2c63dabb9a614b3c213e883d01e9163fd2e5efbba2d29b3c37eddf371d1ef13e51cffbbb2b87c63cd4ab82bd82c1b23e826619bceb8cf23cab16ecbd2491713e9c35eebb1ad6003de45b1abe84b5163e7fe672bd8abab7bb0000000000000000fdd28fbd5441aebb00000000000000008c538dbdc5977fbb00000000000000002d7e84bdf7f7c0bb00000000000000003e1c81bd9f5492bb0000000000000000b91983bdf72881bb00000000000000007f9f76bd91c31abb000000000000000016ad80bd8b1681ba000000000000000085856bbd129cf2ba000000000000000057319f399f199bbbc93ad93b7dc5203d3a20c93aa1e8debbf0adb03c8c565d3c71a2793a7fb4a9bb3f459d3cb684473c6523793a4c5eb4bb9cd5cc3cd9c15ebb4048b03a02649fbb51debc3c12951abc0d463b3a81bc82bb2f0fb43cca3fa7bc2decd03a0d736fbbaa6eb13ce9c9cfbcd8e2e439465315bb6bd9a03cc35f19bd82e202ba2e0920bbe953883c20c4c0bc3c00abbdf3e76d3de328bdbb4443453c31f88ebda8dc6a3d4396edbbf42d2b3c45c076bd74055e3de091f0bb9dcbea3bde0455bdecb65c3d09c8d2bbe9e24c3b4db239bd4ef3503d6d93d6bbae83453bedf814bdccad443df2abe9bb19b87739865ce2bc2d0b313de890cbbb0fa6d5bac41491bce686233d4b08c7bbf67e31bb0d85d1bcde15283d040076bbcf6f1cbb5e6cc4bd5e13cc3d2b4e8fbdd37dc23bb76fc3bdf3b74a3dafb3a0bdcbf8e43b7b48b5bd02fc003d99dfacbdeee0f03bdcbda4bdcda2163d1a2eb1bd7de8e63b4ee88abdc4d5443da168b5bd61030d3c1e0859bd54c47f3d9793b5bd684f1a3c0e9b26bdf024a63d3661b4bd59eb3d3ceae19fbc814ac73d3d49b0bd16bf313cdc8c88bcddb7e83d78c1a6bdcb094e3cdfd873bb6b09ecbbf2d6163eacde883f6c971fbba64fc8bbfccee13dbfe08a3f286229bb6beb1a3bbb4ca13da1cd7a3fade548bbd670a33b176e2a3d509f5a3f0e6b89bb674e223c37468a3b60a8333fa56f95bb58d2503c02e7d9bcf59b093f9aa2c1bbef958c3cd4665ebd5b8bbc3eddb6c7bb43fc903cd2189bbd53735c3ee85bd6bb9194973c0181ccbd9944d63d373fb2bd2b7824bb00000000000000004151d7bd987d25b8000000000000000060bcc5bdbd7b513a00000000000000005892bdbd98321f3b0000000000000000b63cb2bd355bab3a00000000000000005987adbd8444703b00000000000000001af1acbd9538a63b0000000000000000e591a8bdc5b7e03b0000000000000000306096bd3a6ead3b000000000000000070508c3aea90a2bbac24a33ce4c01dbc7945693a697b26bb6d4d493c6b78ccb8b712753ad8e4b5ba274a753ccab5d4ba246a103aed8fd0bae2a15b3c2fabe2bb6604b939efd90f3a6338633cd37648bc8ae303394c06b73a4fa0273c5ec58ebc96c60a3a88f23b398e30ca3b94209fbc982f7a361f98883bcd66a0b940f796bca4dd3fba9e2b0f3b40fc0c3c0f11f4bca3f5cfbc93571b3d836e2dbbaa88a03a9cda80ba0ee8b93c09f693bb67bc583a6a7a5abbc731c43c5c1b8ebb6a12fbbae7a1063b508eb63c75ab67bb68afe3bacf0e8c3b5b66a93cf56e70bb8d377abb9a72183c0299893c333672bbc42b92bbf5502f3ca5c4613cb4b981bb9188ebba84f8823c94d1af3bbbc670bbd4769abb67a2853c2702603c516a75bbf2778fbbae2ae9bc03be5fbbf13ca0bd84dc193ceb0076bc1407c9bd285885bde7130f3c522392bc1194d9bdc6b58ebdf47b3a3cd9a77cbcc207c4bda5ec95bde57b3b3cb16438bcb2c192bd6fb691bd76b54c3c8f06cdba7ecc41bdcc7488bd171c483c447c423bda2494bcee6170bd9358453c7b35363c0b2fee3bd84c35bd722b513cb4a7993ce8ec003d17f367bd8dc6543c5593abbae48028bb510b82b92effa93f46dbd0ba667ee8b934c5d5bb5bcda13f7ed893ba51205e3a926b4abc2f9a903f23ab5ebb9393813be7b491bc79fd723f90ef24bbddfc823baec0bcbc47a73e3fe5750ebb74409e3b6df8ddbc9cb0083fb5804ebbf6fc9a3b522afbbcdd5fa43e097267bbc1109e3bb553bbbcb2b0dc3d3cb9bdba2a89a63b8b791ebdf9662f3ca63c03be48f0a03b0000000000000000fdcbfdbd300c3a3c0000000000000000095cdfbd1d370c3c00000000000000008767c6bd293b003c0000000000000000183db5bd7feb1d3c00000000000000008be7a8bdc8ae293c00000000000000001ad59dbd67af4a3c00000000000000002ce48abd2e1c733c00000000000000007e4ca3bdc251753c00000000000000000000000000000000000000000000000030a5ba3a646f69ba5c4a833cbcbd71bca0498a3ae0e0f5b927d2223c14558fbbaca4e139dcc4c13ad1df363cd7153bbc752b363a4864d33a0ed4013cdf6e63bcd3708f38feed043bc422ae3be7fe3cbc7f56183ae42a583b9ed68239ca2f14bcdc9d28ba140eab3beb97d4badd9b6bbc00000000000000000000000000000000000000000000000000000000000000002e99003de90f88babe0deab9387bd5bb48ae043db6dcc6bb16f072b7ecb0acbb36d5053d6da79bbbf3f9e9394b74eabbb5c40a3ddbaeddbb4316beb8e839bebb8636fc3c89dfe1bbe812093ab7eed6bbec70dd3c8eb92cbcc9e05fb9c424c3bb73d7e83c9a6f2fbc4fd28c3a8122ddbb0000000000000000000000000000000000000000000000000000000000000000c14a8c3cca8928be53962bbd4f2c0d3c44ad923c2f1334becb1b00bdc285eb3bcffc7d3cf9a620be663513bd2945e63b4bd8a23c33040ebeab5204bdc20e033c5608a73c09bfe1bdb0c4e0bc3cefd33bbffac23ce594a1bd563573bc03fb013c00fdf13cbb204bbdd74526bc5054fd3b000000000000000000000000000000000000000000000000000000000000803f929280ba91af843b606da6bd985ca83f4a62bbba26fb0f3b828962bd14738c3fd6c6c5b9a4a59c3a326e39bd0328693fd1d2c3ba7105623aba2518bd6118333f04bf1cbadaabaeb9937de5bc8beef63edd1955ba56a53cbaacf658bc011f843e8427acbaf69c52bbd6299abb7bb0783d000000000000000000000000000000000000000000000000000000000000000032eac0bd7925403c0000000000000000ee8182bd9097393c00000000000000008e5967bdc41a2e3c0000000000000000700d4bbd1790213c0000000000000000cae22dbdedc5363c0000000000000000d52617bd26a11d3c0000000000000000bb772fbd0daf573c00000000000000000000000000000000000000000000000000000000000000000000000000000000ac7e1b3b3940a3b94bdc1d3cbf37b6baa1c3e13a48cb90398d57073ca4cb56b97bf6a33a9abf4a3a699cdd3b3cbe8c38034da23a2e1f5f3a3eb0b03b8337003a4b0a963a76bd203acf2a6e3b5f94113a5593703af0db59399917ed3adba7003a21ff933ab853e1b96c1fde3927292bb90000000000000000000000000000000000000000000000000000000000000000aaaeffb99f166db8921cb03a46aa9fbc577b7cb96bb8c0386f83b03ad97e86bcc24d0639895fef38f9aa923a699d5abcb514d1b8f5a798b801c0a63af32332bc8d5c8637998b843626014e3a157e12bc7bfc8bb9f1670c39cc6e9f3aacd0d7bb39f385b9828ffa3819cbaa3a9fc79ebb0000000000000000000000000000000000000000000000000000000000000000438d22bdf9987abcc689b439ad0b983a86eb1ebd8ee157bc433d9a3a441d823a67ab01bd37bb39bc5d8a923a555a7a3ae168bbbcac191bbcfe0b0a3ad8c3ad39810f6bbc40ed05bcc55412bac857353a4cb78dbbceb4e0bbe55f74ba2212493a96c2043cbd6bbfbbb3581abbc6334c3a0000000000000000000000000000000000000000000000000000803f000000000393f0bbcad19fbce7e5823f8050c8bbd73fb4bb164040bc55495c3f901c9cba1fe49bbbc9c00cbc7239343fe5f18738857a5dbbf4d607bc29100d3fe9e1f9b9665b20bb00521dbc2af2cd3e2da933bb30d23aba010047bc3534833e001ebbbb2a5c38b996cd87bc7182ea3d02c41fbc0000000000000000000000000000000000000000000000000000000000000000d62c8fbc78ae7f3b0000000000000000973751bc4a8f333b00000000000000006d3826bcb90d083b00000000000000004802e5bbcc6bd63a00000000000000002c74a1bb63aa013b0000000000000000047752bbf8c0ed3a0000000000000000d60312bbf48d103b0000000000000000000000000000000000000000000000004021d839648916bb8d53263cd40984b9b18a323bbc4109bb796b433c67b419ba9e1d043bede61fba24e3433c1d9dbb3aae2edf3a624d3fb8ed732b3c57bef83a616b6e3a20baffb8cbf0083c3b59093ba4c3983a4bf437b9ab84d43b9a37083b3636f93a1d2b27b90970893bb182a5390361b73a11aed3ba25a4df3a8728423a842b3d3a2236e0ba5ad8da3a8930ea39d73c3bbb50719c396fa537ba64a7b7bc7711c738ebb2203bad7a863bfdf2d7bc71d643baa6f70eb91e4f073b8291b2bc456d31ba338d5ab73761d03aeda894bc306dd4b9b41c0c389441893ab0f16abcab701abab3182db9315a9c3a9bd24dbc73faffba564d8638d0ac2339736318bcb3a30eba260f0a3a7c07b83a87e203bcb26a5aba8d0ab7392e8dd8b7d4209cbbc53289bce22a1fbc5c89afbb462bc43a3c7825bd04b292bc5f738cbb59f2283add9629bd78658abc63bf08bbd09fb13a21c710bdb24277bc0360ddba011c9a3a1338c5bcb21441bc62d1c4ba988c463a43726cbc0ca726bc3a5a21bbc3ec7a3a7a63deba3a57e8bb5b2239bbd1d72f3b6e64333c6c9ba4bb46c869bbdecb9b3ae8e09c3c812467ba23ae89bb2d46de39ff9300bcb5b926bd7e41833f8bba003ea1acd9bbcd2b3abd2d63733fc464eb3dc2a0bdbbfffd01bd40bc4d3f2218d43d00c5a4bbfaaad2bc7f93283fb610b33d405d7abb5fe5afbc3284023f9d858c3d346f1ebb8f1db8bc10e1be3eb625493da87fdaba868ecfbc49e2713e546eea3c741ff03a7b10dbbc997fd83db5ccf83b9366ff390046aebcb58cf7bb7dffe4bb8021f2bcdc9a873b0000000000000000988a09bd3096bf3b00000000000000004e95d4bcb429663b000000000000000020ceaebcc1a01f3b000000000000000046e482bcb715d43a0000000000000000de2959bc66d8043b0000000000000000e7452bbcf9e0e43a000000000000000036990cbccf13253b00000000000000009a23d3bbbca0d73a0000000000000000eb4a023bb3d369bbce570c3c1fb7be3aa8c1343ba5c503bb4d52353c92cd153b2e3bd93a3b72a2ba166a283ca9f1663ba3715f394eb842b95ac81c3c0d68963bbad74e3ac0d363ba8c9b063c8d94693b0648b43a950f28baa039f23b2c8f793b9ee42a3a68949aba5678963bdc843e3bc3ffdc3a69666cbb12d85e3b9845443b29b369395eed04bb1adf153be6a6023bac4bebba0b13bf3914adcfb9586fa2bc902605bb29d8f3391caa1c3bda72c1bc59cfaeba10ed93b9519fbb3a44ab9abcd9e70bba095e3e3a8de88eb9d7f889bc75b084ba6d1973b9e6294f3ab00550bc3fc208baba4eb2ba98f4863aa23046bca6ab97b904b71d3acc41c9395fbc16bc04caf0baf70bbbba7c06523a19e705bcc8745aba2359133a304dadb931cbb4bbc96fefbb8e1b98bb420c16bc6c31273a8bc9bebc54525cbc947311bc6226f73a79eeddbc8bb868bcb6c3c4bb52ae8a3a7b34e1bc013a60bc8eca9bbbd871bc3ac3ec82bc952b21bcfa5c85bb402ff8391c9512bc363000bc1d1984bbd18704baeb0a133a528f80bbc18781bb6ac5823a70f64e3c8bd0b0b7dc7cc8bb32b8f93aad02823cc9ac333b6ace85bbbcec6f39bfd092bb8ded3dbde26b5e3fb6c0893e23c64fbb4d2168bdd717503f1ee37e3eb85871bb4d5721bd71452e3f005d5d3e2b5552bb089f13bddd77123f60043b3e782f1abbc7aae4bcf27be13e1e16113e966d36bb5b9ef1bca7eda73e7519da3d8fa219b96c88d8bc1118563e390d8a3deeb6003b0667e8bc8601cb3d25d4fe3c9141583ac072a8bcb32a32b977886aba591113bd9b960e3b00000000000000005dbb30bd1541723b0000000000000000effe04bdb3e1083b00000000000000003d7fefbc9286f53a0000000000000000a654afbcd9379e3a0000000000000000da40a2bcf386873900000000000000004bb780bc7f68003b00000000000000008c867ebc44cd4c3b0000000000000000e02423bcc15b853a0000000000000000e3d9613818f94ebb3c2ce83b90b28b3b5f66733a64504bbb2616203c5d39bd3bbadb1f3a200b2cbba13f183cbd65d83b04a3813a071d93bae6331c3cad4bc83b74d8e0b9690a26bb893c063c723ef73b0a1735394b0cc9ba38e7d13b7443df3b3faed13951e0dfba0540ab3bb209883bde1bbe3ad7add7ba49ea8e3bb008743b9dae8a3a28e2b4ba1a116b3be5d8543ba88ee3ba748788b9c60f4cba209994bc7d2bf7ba5f772239b944583b8a99b5bc80809bbab92e013be48c633adac88dbccd3dc3baecd0feb9829f793af4157abca029113a3cb525ba124c11baa98e49bc6cd0a8ba52f9e4b98a8ffeb9c81d27bcc4767cba3ef967b97bb2bc38ceac1cbc7359f5bacb44e2b90e3881b99c7c16bccb82c9ba5fea09bbe19197ba571bc1bb9d4137bb5cc470bae25a3dbc235c0fb9d9848ebcb3ab29bce02c65bcec89b83aec78c7bc869a82bce8a62dbc01c6963aef58abbc6c5160bc2cc6efbb4a13463a645671bc69d525bc88e2d1bb2cae6ab9da59d7bb1324d4bbcd35c8bbaa48c5385efa863a2b478dba5e80b1bb9d69e9383279303c81a7953b3ddfb6bbfb2519bab21b603c4bfbf43b07d77abbfed27bbaf2e65abba91636bd838c363fe02cd43e046d85bbe8886bbd1d102b3f2d97c53e239b3abbf71a39bdbb04143ff5c1ac3ef6a7efbad03121bdc980f33e0fcb8e3ea36491ba8ae607bd92adbe3e69bc613e47c4303a6720f6bcca168d3e8efe263e3088173aa2baebbce45c353e048ed93d5364b73a4e4be7bcab42ae3d6f7b573d87004439e8bd9fbcc3a4153b9f1c773b70f321bdd00dd6380000000000000000a9d647bd323de13a0000000000000000940b25bd214539ba0000000000000000ce130bbd1c3e9c3900000000000000008793e5bc52963ab70000000000000000f8facbbccf53023a000000000000000072bcabbcf576803a0000000000000000d1e794bc4af4c13a0000000000000000d9fa45bc93761d3a0000000000000000feabb638f62435bbb13cb43b45dcd63b1a6b3c3a2c5150bbcc000c3cc010f33be3b9433a03beebbabac5f83b0e0b003c1c290f3afe87ccbafecdfb3bab16063c6ea93db9c8b4a6ba27bbad3b4ab0b63b7c37093970c3cfbaa12dcb3b335ad83b1878c8391a49c9ba4116933bf2c3a33b8450743aa20a6abb2da68d3b9437633bdf7a8eb7a59f10bbf6f9453b2dd4683b35c3e9ba6f450cbabfbc72b98caf84bc28843bbbd6c6d039d4d7b63afc5b9dbc9f0fd3ba97918cb92b86713a3b546dbc28ed74bae42245b9c56a323a429857bcdafd5dba8b5622bac8138b391af307bcd07842bacca608bae018aa39228822bca9dd93bafaffa5b985675cb8af5904bc898c01bbc2f165386a2ad5382842efbb90a2a3baf09285b90b5667ba99aebbbb48b83dbbcadb093a550b54bcec0f29ba229b57bcc46229bcc47f78bce4b17c3af7fb94bcac8062bc58062ebcc664e33923be96bca4bc67bc7ad115bca5bb053a3a111fbc54f5d9bb10a5b9bb15e6aab92ca7ffbb01c18abb49badbbbb1d191b8d040b6b947ff113b2a7cbabb52bc29b96eabe93b93ff003c92edcbbb138aa5b9ba31183c46a2333c3cbc8cbb22355cbaa742ddbaabee2cbdd906103fa816103ff4a402ba2ac755bdf908063fab9b053f9b055fba73b225bd518de43ec3ede43e88f982bab27f1bbd006ec03eafd2c03efe422abae3bdc9bc090e923e04a9923ed52b0239cf28f1bc9d5e5f3e307d613e941e1d3a9f71cabcefba0e3efaa7113e4621e53aa0fbc2bcb587893d2d4b953d9aa9ea39293f8dbc7e71243b95a3a53b71a32cbdcf6cd7ba000000000000000031e94dbd00713cba0000000000000000479a20bd5ab390ba0000000000000000765713bded9898ba000000000000000012f8b9bc820babba00000000000000005602d8bc50c541ba0000000000000000f04facbc2dbd02390000000000000000d439a8bc744f413a0000000000000000818866bcac2fedb90000000000000000259c05bb1a4aeaba630f523b63d6e23ba10afe39896cedba1225a73bd5901a3c1ab3ee39e0bdd0ba0673b93b1537303c70a9b43a2d73e6ba3334a83ba62b1a3c0cf1643abd4903bb9967ac3bc120033cbbcc8239ce2e86ba4ab19f3b9b48eb3b443940ba6a925dba61fa223b31b5d43b0029f7b92cded1ba511b3f3b489c8c3bd27a82395b0abeba232b283b9c87743bded9f9ba592bfdb9a96f323abda157bc6be703bb5b971639b2b71d3b0f0877bc47e3d9bacc60fe38bb3fd73ae84f4ebcb561d9ba1f0e0eb92b68413adf7119bc6067523a4f2bd63856d6fd3a10df1dbc8e258bbac2221aba85f5293a7d6c08bc77f2f4bad8cb4aba5149853a4a21eabb8343ccba521fca3a215b403a4e1fe8bb108f90baad22ffb9ede108b96d42adbb8bb48fbbba2749b987eb73bc3401a8ba6ee77fbcbe295bbcbde08ebc1b6d33398744a7bc3d2ba0bc9de059bccd748f3a05038fbcca6b95bc92583abcadad2f3aa25b4cbc0b963fbc3cae10bcad1fe339836f21bc94329fbbb3b703bcdb54083935eba8bbe9528b3b1ef8cbbb595c2fb97038053b27a3473c5e45d3bba691aeb9de53aa3bece86b3c420a85bb166798ba8378373ab9941fbdf880d43ebeb1363f86bcdf3a85374abd028dc53e09272b3fc5989f3a167229bd5404ab3e2f50133f8d7f683a158c12bdd7008e3e7297f33eed74103ab4a2f7bca7c35f3e6c69bf3e9598ae3ab510dabc47b0243e76798d3ea526083b07adc0bc674ecf3d2681383e1501423b4af2afbc4ab0423df512b53d043ac83ab58b71bcd02b59ba110dab3b570f38bded4b6fbb000000000000000089b863bd480a49bb000000000000000003ed35bd642034bb00000000000000009f291bbd346a42bb0000000000000000bdc704bdc08f02bb0000000000000000c690e1bcf07cb9ba00000000000000003148d2bcd0b637ba00000000000000008b32b7bccfcb513a0000000000000000af5d79bcf1131cba00000000000000001ef6483adec206bb19c98f3aad9f103cfb3fa93a69adfdbafa5c4b3b660a473cff269f3a8eab15bb2737643ba68a2d3cc16c7c3a2513e5b94f137e3b4cd7343c3327c6b8267c45ba38185d3b1153033c0e63093a42d143baa52b6e3be8e6fd3babfb123a644f81ba7197293bf484993b1148643a56bca7ba3ce29a3a9b24563bf3cab0380011a2ba08254a3a1a122d3bed3e4dbbf29de93a0afaa73a2f7935bcdff540bb686fa93a4f0f1c3bd4da44bc9bfe83ba21c15b3a103a6c3a7a06f3bbfbdd84b94d0839ba4af10f3ba74ce5bb654321baf14cbeb8c3276d3a2637c4bb12349cb9fba72ab87a87b03a9a8ec5bb08b613ba611bb737ceb1943aa9a7b3bb1881ceba8a9380b950a6be3ae904c4bb910d95bab1221a39ea30293a719ba1bb745317bc7c7abebb5add80bc71eb53bac0a0acbc34c1b6bc3ec599bc67edac3af311a1bc103acabc6b2c62bc0112b53a33d2a1bc856ac5bcdcaa46bc05c32f39076766bc9f936bbc4c6413bcac35ec39644e57bc188b02bca2180bbc83f60b3a0d9fcbbbeb09073bbd1ae5bb4e8f1e3a9d202bbb6b16603cab9fedbba86925b996099a3a7e728c3c310588bb78f52dba08ce163b51ff11bd13c3893e8e2f5e3f5b62a83b687434bd57c77e3e7f04503fc569583b1f3c0dbd14885c3eb7362e3fa7cbb33a18f4f1bcbedd383ed3b0123fabf5063b1371b6bccfc10e3e698fe13e52fa953a6b4baebcf68dcf3dc2d2a73ec5e6383b4b1690bc9886813d1149573ea0b2733bbd3d87bc8781ca3ce93dcd3d0a86143bedc23dbc65dbc6bbe973c23a28753dbd4efc98bb0000000000000000dc215ebd5ea08fbb00000000000000002e6b1dbd348186bb00000000000000007aaa0cbd2560abbb0000000000000000f519cfbc2e1646bb00000000000000000586cfbc04b0daba00000000000000003590b2bc02fb38ba00000000000000005af5c0bcc128efb70000000000000000987083bc1d4817b90000000000000000740e483a911ea0bafb068fbaf3b4263c3898933a759597376d0360393db04c3cbdf78c39976787b96003be3ac5d85c3c44a7743aa9a0b239686a083b584e2b3cbe67b93922a816b955f6023b84fe053c2a3f5b383cb1c9b9488dc53a54bad13be016e73956f894b9c902993a50ae773b241da83a1da4abba6fa95f3aab14973940ccd639a5532cbac6730fbbb1d1c03a32d139bb172c863a1799073b8ae7d6bb4555f3ba557d093bc4223d3b1e6d99bb943b6bbade37bc3ad2110e3b7af95bbba7203138d79a833a2664ee3943b52cbbbe00a3390b2c48399fa1bf3a6d1d33bb429c0b397277b73985dcb03a14e05cbb32ee9fb90c7f1b3ae116cb3ae96766bb837f10ba8883b83a80341a3a03812dbb0dd44dba6ea18839dd688c3ac36481bbc76b7dbcc40b88bc484a8abc347b91b879d1c5bc42e21dbd5e26a4bc4b0c183be905c1bc0bcb25bdcd7284bc67ce193bc380aabc25b60dbd40d05dbc2c52093b34db85bcf4aabebc259129bcd540973aa65c5fbc8b545abc46421abcff97a63a411f1fbce0ee8fba9a8e01bc6605ae3a4d59e6bb9e09553c3a9efbbb17bc3b3ae4e24fbbee47a13c74fb5bbb429f533938bd843ba507f4bcf41c003e0f3f833f8e9eaf3b6cb807bd5084ec3d19f9723fd23d813b36add8bced88d23d66c04d3fcfb66c3b3787b0bc1536af3d5886283fe0c72f3ba45188bcca77873d548d023fdf875a3bea5965bc56093a3dd937bf3e39d8513bf16337bc4009be3ce236723e76c33a3bbc8302bc0e171d3af7d6db3dfa26333bb007dfbb8baa4abcb5cfd9bbc0292abd3712dcbb00000000000000002e8b35bd9de4bebb000000000000000098a5f8bc9a81b4bb00000000000000009fbfc2bcb0d3a7bb0000000000000000f96698bc1fcc86bb0000000000000000c7e597bcf44033bb0000000000000000b76d9abcad20b1ba00000000000000001480a1bcd05ff23a0000000000000000b5d37dbc839ad0390000000000000000000000000000000000000000000000006d284b3a70b6d1b59c6396baff0a1c3c9585d53928e9d839d0fe4eb79b9bfb3bfba3a23924d786396639f639cac3d63bdb509c396d99a33918524a3a3771ae3bae4b0d3a31349439b7a10d3a9193673b9073b7385ca6a53920f1e8b84e64e03a863bbc3917ea4439c98f4cba1b39003900000000000000000000000000000000000000000000000000000000000000003e064cba5a0ad93ae505133b8b96e0b7763c17b994e9c63ad8cefb3ab0bb423a3d050c3a12328a3a227ee53abbdc683af79b003af81fa539022ab03afb032f380638243adf5dc939f43fa23a3c9216ba217ba83962992e3ab6089c3a21a167ba18f5d5b97366d93866eda13ad795efba00000000000000000000000000000000000000000000000000000000000000008250acbc9d7d22bd64d975bc4e86903a686a98bcabd21dbdfd4a4bbce2a1093bfd457bbcd62302bd318824bc868eee3affa44cbc314bbebca78406bc1b30c23a21ac2cbc2a3368bcdd96d3bb8ff2cc3a29c309bc20d890bb0053b3bbc993e23a91f5bfbb6e52033cb37796bbe2859c3a000000000000000000000000000000000000000000000000000000000000803fea6e8c3ba7948fbccfd5c6bb13e2823f2f6b583b77234fbc2922deba42185c3fafb2303b96721fbc53658cbaaa41343ff620143b3e34f6bbe02d22bb66000d3ffebd203b99b5b1bb0da2adbb8afbcd3e2ac3223b47754dbb805519bce82d833ea8af403bef4609bb85aa76bc388cea3d00000000000000000000000000000000000000000000000000000000000000007feba0bcfa90e9bb0000000000000000cad538bc842fb1bb0000000000000000280d00bce1af96bb0000000000000000dc2cd0bb05145fbb00000000000000002cc1e7bba58329bb0000000000000000980f12bc8fb98eba00000000000000007aac47bce80025b9000000000000000000000000000000000000000000000000000000000000000000000000000000008ff0073b83f4dabae6b4273cd3da76bad38ee13ac6b5aeb975aa113c9472c1b8bc7dba3ad3ffe5b99ae2063c11716fba9f9abd39cb3383bae84edb3b7ace42391b380a3b0e48dabad8adc23b3917163af428693a592d3dbb43491f3bf879c2ba3717713aa0a260bbd482733b153626390000000000000000000000000000000000000000000000000000000000000000e1f621bb5f6f993a554855bac33879bc4030e8bac08b473a02c8ad38bc394abc3b8c26baf97fe1393d8507bae87428bc66bde7ba7d977cb9a2d650baf75904bcd8bbd1ba8b4674b828d457baec8af8bb158193ba7be1923a4815aa3aeabcafbb948d45bb0fc71d3adb8301ba849984bb0000000000000000000000000000000000000000000000000000000000000000425277bc040219bcddb055bb7d82b83a030c83bc851208bcb7bc06bb8c100b3a7c7340bcd7fdc0bb772854bb854f453a9e64febbf87adabbeeea06bb173355391545bbba5db090bb2ba636bbcdd8f2b66cd6993bd119a9bb036367bb883e293a6227593ce4ebf9ba5335cdbbfbf12bba0000000000000000000000000000000000000000000000000000803f00000000ae34c3bb3d0e31bc0ddc743f6efc7dba559fa1bbfd6fe5bb7ebf4f3fae01193a3f0a91bb73ffcebba11e2c3fe9a7a7b8787356bbe75ccabb40f5073fffb4efb92caf5bbbb9160dbcfe80ca3ef88cadba0b8f9eba53f323bc8ad6843e0c3dabbbb25800bbdf784abc31e6013e3dd9abbb0000000000000000000000000000000000000000000000000000000000000000791544bc20d96d3b0000000000000000bb8210bc5e300f3b0000000000000000f3a8d8bbccf5eb3a000000000000000022a8b6bbfbf4d73a0000000000000000a7dba4bb8c5bb53a0000000000000000684289bbf5e8b93a0000000000000000fd7e85bb19e3013b000000000000000000000000000000000000000000000000255a8e3a70a09abbada8363c3d33c73addf4623b2e2aa0bb85555d3c4fcdda3a6cf6333b7c048bbb05ff683cd8c51c3bd043c43af8872fbb796a3f3cf9464d3b7780213a8efee2ba16de223cc268473bebc9763a02493abb00c00e3c4180393b44874b3adcb263bbe263e23b7d8b1b3b8ca3263be8a48fbbdd3b973b5508593a5c394f39aa4679bbdbeb9d3be1b0dd3a7cb547bbe5be1b3a5745f8ba7c7687bc703f59bb1d46a63a238ab3ba2c73adbc4b6f43bb0ce678392d02023a27918cbce44b2ebba31ec1396f6b28ba46c37fbc32c734bba85b3f3970a4d1baeacd3fbcc68143bbcb977d3a63e110bafa603abc5b533ebb036b4e3a99d29ebafa4321bceabe0ebb3610c239e2be86bae5de11bc67e939bbb6a05a3ad403fbba2859c9bbd27ec3ba82b877bb584afdbbdeb39839ff4354bc1d9f09bca245fcbb00cb923a83e578bc92fa08bc80e0c6bba53f463a954939bc7ebadcbbe0f7b6bb5d8ef9b88dbf8bbbf0c18cbbd202b6bb4c6f06ba7ecec93ac0444ebbfcb3d2bba2ab70b9ed491c3c7acc8ebabf6de9bb5febc8b9487e8f3cb1099f396701eebbd93b343ab427a73c4afd2f3b3265f3bb146bc4b94958d5bb7cd0bbbcd5fc743fc687043e29abbabb2705d6bc69a25e3f1475f13d1e15d3bb4439abbc5bd63d3f43c0d23d3d1fa3bb3ef08cbc52cc1c3f7774b13d55c99fbb25096fbc37aff63e94fe8b3dbbbc65bb06258abc7d53b83e912a4d3d4b6337bb315b96bcf69a723e0549003d083d9dbafb92a9bc90f9f13d4dd3483ccad119bb345983bcf0bba53b616f04bb530b9ebc1c3b163b00000000000000002e04babce58ffd3a0000000000000000d28b96bc49a4233b000000000000000099057dbc3b72c33a0000000000000000015d4cbc22ad913a0000000000000000d67d46bc480ccd3a0000000000000000eb3c2fbc039c9c3a00000000000000006ebe16bc88f0063b0000000000000000e16310bc9007973900000000000000008387b0b72827c6bb7295403cf36b7d3bf123093ba7e3cbbbf4865c3c467eb53b99558f3a56e78ebbe67a3e3c88b4b83b8e80953a1b6795bbb605493cfdced13b259993399f7184bbdacc1e3c68a6b33b9a8f873af5deabbbc6551e3c57c0a73b94754a393ceb8dbb426ef03b227dad3be6fbb23aceddb9bb52dad03b6a108e3bd702dd3967afa6bbb47ecc3ba8298c3b92c287bb1575fbb7215801bb4b367cbc7f3b8ebb9b2d333a47f4aab98b30abbcf8a35abb1ab59c3996c59ebad74788bc019879bbad2318b9b186b5baa1ca88bcedd318bb4c59baba414ff1ba5f0b53bc98ca8dbb1f1150badd3d01bb13a75abcb2731bbb22b3acb9dc91d0bae0e02bbcae3e84bba33d323a8310d5bac83e3abcf9024abb389bc7b8a80410bb9c690ebcec99893b83ce683a8e3f26bc45322fba663895bb175934bb970f38bc408f76b942dfe7bbc0be78bbbdad0dbce07ff0b94965b8bbf33c4bbb628412bcbd4c94ba7de405b995ceb7b935efecbb7e6391baad80a03bcc075f3ac56610bce5cab4b9d1ab293c50e6883b76dfe0bb63f808bb8b11993c21ffdd3b1f6224bc8fbda0ba4d998d3c7a5e003c1b27febbcc55ebba8702a5bbe14de9bc816d523fa4ae873e66af93bba7bd07bdb1d43e3f9e62773e6bba1dbbaca8cebca4aa213f47f1553e03ef8bbb1d2dcebc8157083f9e8b343e8ef65cbb0ff7a1bce255d53e2f4e0e3e4acd6fbbc81eb8bc7d25a13e1f83d73d646603bb4cf3a0bc1d3b543e49ab8f3d9e2997ba0d67bbbc8707da3d6ce8113d5682d7bac6188ebc2ce1133c960b813bac6bc5bc21e13c3a0000000000000000a824edbcaffbcc3a00000000000000001587b7bcecec333a0000000000000000913bb2bcda0da2390000000000000000050a83bc2a5203b8000000000000000061178abc0e37ce390000000000000000193d72bc04abfeb900000000000000009e1176bc1e19023a000000000000000079cf33bc954028ba000000000000000090f46b385352f8bb41bc1d3c80db023c8f6e023bd37adabb865d453caa0a1f3c68a7ad382d9ab3bb5b1e3f3cc9190d3cce955d3a5b5aa5bb83c9343cc5c3183c310cb2397a259ebbb181213cc08d0e3c6dc5ff397e8da6bb149e173c9da10a3c7308bf397e98bfbb6545f43b754ff43bad9f5b3a5e22cebbbd77c73b5c91db3bfc172ab8bf4795bb684dc03b253dcc3b1a81a6bb6d02153ac3e8edba94e77abc4b82d7bb910b113a9f6e12bbfd03a6bce3c19cbbb2a08439e6b838bacdf6a5bc6ced85bbc7e93ab86adf9ebab76185bcfebb6bbb744201ba2bf7efba113d63bcca0f64bb684995b97500f8baafd357bcb01c88bbf589e637f9d2f3bae21b54bce4928ebb8e268cb87a05ffba6b7649bc07ba4bbbdb836eb9b39636bbf31a11bcc14eac3b518bbe3b1db546bc7e6f9aba1c9deeba6550af3ad91559bc0fe91bba683d9abb204647ba80884ebc9bbf83ba9ccd80bb3443e3b939652cbcef11dbba8be30f3a36cf163bf5fd18bc9a0110bb7b33a23b09039f3bb7d429bcc8a56abb6eb22d3c9926053c1f0825bc73db12bb05ce813c54e4423c070128bc440416bb08eb803ce606433c85fff4bb33c38bbb35487cbbe1bee7bcbefb2d3fefcfcd3e67352ebb731c12bd47a71e3fce4dbc3e846f4cbbdf7101bd38e2083f9385a33efc4646bb6ecae1bc8566e33e0769883e5eec48bb81e6c3bc380fb43e777f593e60b71fbb518ec2bc0769873efbff233ea60adfba3651c0bc33a4343e3446dd3d8bf753ba38dbb9bc6187ba3d2d8b6b3d75fb04bbf40187bcab671a3ccb13073c76b6dcbc003c09bb0000000000000000343505bd5c100d3900000000000000009e12f1bce3e674ba0000000000000000457dc8bcfdc794ba0000000000000000201da8bc5130d7ba00000000000000000ac4a2bc36609bba0000000000000000fce997bccfd1a3ba000000000000000098a58ebc1f22a4ba000000000000000084db4fbcf76ce6ba00000000000000005f66c5ba0cb0b5bba9f6fc3be9d41d3c0a96b13ae4ffdebb1b741c3cb598423c523c8b3ae013a7bb5a2c173cfad4213c63939fb76837d4bb2e97243c5147333c0c9a35b9631182bb3cc8e33bca160f3c0ff1453955f0a7bb0beca33be6262f3c68b5053b21a3e3bbdec5c83bcc500c3ca96b683a2344c5bb206fa93b878e033c83dbb3ba5e0497bbf00f9d3b27d0ea3b4cbf8dbbf6a85eb90b34d9ba9d4d77bc4b7fabbb16097fb91b6b91b9fa9495bcc2ad69bbda1fe3babcdc62baf96673bc625995bb33847eba3ad51dbb536664bc789134bbcea39dba80c4f9bade5326bc1aae5bbb7b8127ba1c67daba246553bc5a0973bbb70c6dba3528e6ba63b933bc914290bb89cbdcb9610005bb497244bc5a3e40bb9c1c5fba51f683bb4b4111bcaeb6763bf0ffef3b4f7746bc48f321bb067adaba0fa5593b48d46ebceb64f5ba08787dbba856503af4b136bc97f3e0ba5c063fbb77dfd7398b9439bcdbc31ebbf7fd403af88e833bb14900bcc9e73dbbb3e73a3b795d023c73b323bc97f48fbb562c1e3c64d8363c8bb317bc269f44bb3d774b3c4ba9833c4cd123bc9a2b45bb5b724e3cb5277f3c4515ecbbf9ab4ebb657a2abb2cbae4bc59750a3f188a0a3f6b0fecbab6db0cbdcb46fb3ef0d9fb3ee5ac0bbb95bae2bc0412d73e8dead73ea4b0dbba5d93dbbc2b74b53ec5deb63edbf714bbd82b97bcc97c8c3e948c8d3e4998bbba851cbebcde1e593e50ef5b3ec8d98fba0c8ba3bcfd9f0c3e994a123e64cf17ba3f82adbced60943dcd569d3decc79dbaf47c7ebc1965ef3bdaba333c8192e0bca6191cbb0000000000000000484709bdd5f906bb0000000000000000af94e5bc155c0ebb0000000000000000819bd1bc6b8918bb000000000000000095358abca71636bb00000000000000006364a7bca74a00bb0000000000000000a4d68fbc206520bb000000000000000073e496bca7e7f6ba0000000000000000553359bcb0db2fbb0000000000000000fb64083a1adab0bbddaaa63bf286353c7b8ae63abc89c8bbbf02db3bb63b633c11e6b93ae1f8b3bb5943eb3b2bd9623c02ffa33a23e0a7bb2df5eb3b6361593c58387e380e9f9dbba74dcf3b986d3d3c98370a3a14beaebb056eb53b9a3b2e3cc6c73a3a016b94bb3c1fa73be651233c517e61b9df90e6bbc2217e3b75e10b3c67c9c9396b65acbb7323843bc960f13b5a8a93bb84aeaaba6aae37baea5c62bc6e90acbbfe9010b8037a223a692386bc72698fbb18fc1eb9165caa39aa3a70bc9b7170bb3f2798ba509c0a3a1b0f5bbc696560bbbb779eba83a591baa19942bc4e896dbbe48853ba6e9347ba7fd743bcfa3a67bbab1a01bab7d188ba8c4b49bc96bd86bb324be0b9835936ba42a93cbc63e727bb290189baa13e63ba641d26bc1f042b3af38a003c73e850bccb9533bb9a13a3bb7cc6133bb05081bc9162eaba4b89ecbbd0394fba867065bc830608bb2d76d1bbe4c6bfb8aff741bc93002abb32ce1abbb027883b156e2abc860940bb33d0fa39580c093c293327bc9ef42dbb85e0a43b7b67683cbf6d22bc0dda45bb411dd53bba959f3ce2d11ebc24444bbbc3b8193c94c8963c312ed5bbe06169bb450152ba2affd9bcbc3ece3e48f52d3fa05e7d39a9b507bd0f73bb3ee6961e3fc91f0db9db61f2bcea2ea23e4111093f197643b959cdd6bcd608873e048ce43e972c4bba6b81b5bcde8b563ed225b53e241948384271b3bc434c203e8d7a883eed98d0396a35b1bce0d1d43d7d17383e059faa3a106d9ebc07b4553d626ac13d66e52b3acff377bce0df283bcfca473cb690e6bc8ff580bb0000000000000000ba430ebd2fa54dbb00000000000000002ee8f2bc677254bb0000000000000000e061d0bc211a7bbb000000000000000063d6afbc36d562bb00000000000000005d52aabc68fa46bb0000000000000000f5f29ebc8d7f26bb000000000000000000869cbc7dca0abb0000000000000000657959bc18bb59bb000000000000000074c042ba4db790bb0f19253bc2e24c3cba80f13a1c74a4bbbf615e3bcdd6753c7242603afb099bbb87e99e3b09983e3c76bf0e3b1f7c8bbb80689f3b84d75d3cdcb34e3946be83bb79246b3b9b43343c010a883a10c58dbb8a8d5c3bf13e333cb6434039216b88bb6c31133b9e780b3c8e52c03ae82d9abb758bc43ab3e1053c0d6f1a3a37408ebb1c034d3a0a57be3b194249bb3248f0ba34754e3a5ea136bc96c6a9bb777b583aeabfe13a4ce55cbc0569a2bb46d113bad246543a811e35bc657167bb7d48ad3ab8e762b8e7b231bc22f12cbb2d4697ba3490ddb9a86915bc5f823ebb338b18ba1210b0b847eb26bce6263abb26a182babf0d41b935fd18bcb82572bbfb2c42393c4972b9e9b334bc8308ecba8de0bcbaad974b3a281718bcf8cd67bb012cc33b48e35cbc97ea1fbb73611dbc02f6c8bab23285bcb32acfba307c0cbc995576bba14347bc4af3edbafbc217bccfe11abb599144bc3df9deba833599bb9f811d3b999418bce4cf10bbc17d51bb3d35f93b0a0324bc499b16bb9b8f4b390134473c90290bbc7f0518bb913a513bfaeeab3cecca10bc373b8ebb94fd7a3b511bbf3c56d0a8bba69680bbd73d353a3e2ac4bc88fa873eb1c1513f22c1153bf258f4bc2ea2763e021e3f3fe1b08a3abc49c1bcf4ae543ea6d2213fd1fc903a73aababc5675313ed594083f5558193a201f8fbc93350b3e7309d63eddaeaa3abcaa98bc827acf3db44aa23eaf3cc63a1ff77bbcbcdb853da343563e1320033b5b9f86bc7a37f53cc463df3dee0e083a36844dbcc6f8d1ba714f213c2a27e4bc8fc797bb000000000000000088ec06bddd159ebb00000000000000000451bdbc40cb91bb00000000000000009ab4afbc517bbbbb0000000000000000f22f8dbc533386bb00000000000000003aa49bbca4bf75bb0000000000000000e0ea88bcfc4252bb0000000000000000db5a93bc8f4121bb000000000000000039e182bc0e87ebba00000000000000005d45943a13ed67bb822af8b8056b473c9ec6253b74231fbbaa61e9b8fc4b633c35ea9c3aed574abbddf2d73a7e5b5d3c05c9853aacb04cbb512ae53a67f3493c2b8a5d3a4db332bb29ffa23af0f8283c9c74643a94663ebba6eb853a4927153c31240eba7eaf40bb49c173b85bdbdf3bf262af3abdbe5bbb44129fbad7ccb93bbbc87f3aee7950bb493a65ba2614ae3bb8885ebb09c04e394c12e93aae580cbc099c8dbb6575e53af991c83a8046f6bb27f521bba81b6d3a9ae3053b2146ebbb9709f5ba574ec5b9930db53a5aace2bb6d296dbaa91540ba1f5ce539c700cfbbcdfde4ba800877399e63063a791ed9bbed9f04bb6abc89baaea8743a508fedbbd0784bbbda738b39f38a0a3ba55d09bc641d1bbb7b1e7c3a76e064b9865cfbbb04341abc434ca3b9dd2947bc7f9928bb9b3380bc0cf619bcca2684bc4d8a8aba25ec68bce0cc51bc938d59bc5a767bbaa72a49bc38d021bc49013bbc491347baf1c60cbc279f4dbbea430ebc546b0cbb45f4d6bb9d46293b1b6510bcd4e6c4ba82d08bbb7bac413ce0b8e1bb64901cbb9ba3e2bae6799d3c46c7fbbba36508b9a80b303aa5f7ae3cc9af9bbb568a3bbb60e41f3b07e3a1bca13b043e9610753fc092313b4056c1bce89ced3d02455e3f27ee333b9de899bc966ccf3d39cf3d3f06691c3bc9df86bc8fc8ab3df5141d3f9294f83abcd558bce2c6853d6216f73e29640f3bff2d4bbc18f63c3d99c0b83ef98a3b3b71e136bc3514d73c28b7743e7e3a8c3bd7df37bc4d1edc3b2222f23d8d4be63aaff712bcfc28ddbbb096cd3b7bc6b6bc2d82cdbb00000000000000008afccdbca966bdbb0000000000000000c12c95bc577fbbbb0000000000000000d3b675bc165da1bb0000000000000000329542bc9602a3bb000000000000000065545bbc7c0781bb000000000000000040cc55bccf3e88bb00000000000000005bd17fbc0da2d0ba0000000000000000518144bc6e1a4bbb000000000000000000000000000000000000000000000000c8d9d23a90e069ba276d0cbba955123cc8e48c3a967d203a051ca6b805a0123c1305b5b997e37cbae4c3b0b8886a053c3224be3a207f61baf1f278b64380cf3b8a64153b15ff1cbb665fd3baff29bb3b00dce23a461aa5bac48595ba2746623b40dad03a2966ddba998e09bbab8a593b00000000000000000000000000000000000000000000000000000000000000006d2696ba9531a63a9c811c3b38083abbe18f50ba0466603a0199e33a7ef313bbd1575a3a9e41503958accf3a74f312bbacc3dc3733c8593a37248a3a90ea03bb094f8fb7c19d7539038d183b982c7dbb647e83baef770c3a83f4453a1cc356bb91c6c6ba39a1363a467dc1396e4fa2bb000000000000000000000000000000000000000000000000000000000000000086517fbccb6566bc7b0d28bc46c023bbf55f49bc0f7e7cbcf62210bce14e1fb9f3e129bcb3da3ebc80c009bc43fad9b9645d05bcfeeee2bb9479c4bb117a02393c22f8bb7e3fbcba98f0abbbdde8b9b9bdf3a3bbcbb2863b6bcb97bb2c29fe381ede7fbb1028533c593c89bbdcebdeb9000000000000000000000000000000000000000000000000000000000000803fe87c623b6ef736bcb4ffb3bab08e743f8d87093bd0d312bc6a7797b95637503f0d0f183b9c4ef2bb73a638bafe322c3fc766a03a64f7b4bb94f4ecbacff0073f3af20a3b3db1d3bb77eaacbbdbb4ca3eeb680e3bc5008fbb38a2e7bbd895843e4e841b3b14e199bb678429bc5b06023e00000000000000000000000000000000000000000000000000000000000000008dde1cbc44f3b3bb0000000000000000639100bc0edb65bb0000000000000000dbc7b4bb138992bb0000000000000000ffa38fbbdc1532bb00000000000000004016aabbd43c47bb00000000000000003ffedfbb8ce6ecba0000000000000000443115bc9076e8ba000000000000000000000000000000000000000000000000000000000000000000000000000000001acef2b97faf9dbaacd3e03ba2f0813a6dbd2ebabce914bb5ae78c3b9a2ba63a835286b975a6d1ba84e4953b91484dba968bb7b975a044bb332c073b2e39be3a71472dba67adb1baef3c4f3b441efb3941531aba61e579ba0b1c513b68d8313a0292cbb9b265debaba3f4b3b1014fa3900000000000000000000000000000000000000000000000000000000000000000fe646bbc9ec86bab746d7ba75a3a5bbe8ed3abbf50cfeba0a0b6c370ee574bb09bd40ba09313db96e7260bacba843bbe05b74bab75b5bba0497c139fbfaf6ba28cfc4ba1ab186b9063e3eba4e7bf7ba964b87ba06af58392185dfba293ac4ba9793dbbace0937ba245a1bba01ba01bb00000000000000000000000000000000000000000000000000000000000000005f3a233bfd14d8b9d3d576bb7915b5ba1254083b0eb75a39a0d5bfbacbe8d13a80273c3bb0d5c4b805c358bb2dd8f4b92de85d3b1f4c253b407fb9ba7bd3a33ac79c4b3b46f895b85fb3deba33bfdbb9533d843b25d6643929b5d7ba75a324ba67eca63bef521a394a440dbbace5c9390000000000000000000000000000000000000000000000000000803f0000000007d036bba81c83bbaefa633f7efdf839f03ef3b9a5082ebbd0a9423f8529823afce6d9babede05bba778223f491c9dba5ea106bba28b75bb05fd013f587e413b4caa8bbaa44e00bb12e5c23ee69dd437dcb33ebbf56308bb2d51823e2ef011b928e5b3bac3ea42bb3827043e8827ffb900000000000000000000000000000000000000000000000000000000000000009b2630bb965c61ba000000000000000043f9c9badb5d4fb80000000000000000d05972bb3ecefeb80000000000000000165bf1ba06950bbb0000000000000000a4b90bbb3d7f26b90000000000000000af5af9baac7b4bba000000000000000060f725bb88f60b3a000000000000000000000000000000000000000000000000ea74f9bac6f61ebb7389b73bd539323be793a0bac55739bb4a9ad73be3951c3b184acbba7451fcba2c7ebf3b2ddb273bfcb5c0badcd3b6ba4ea0b73badac093b90c1adba0bdca0baa7a2c53badb3d23ab58fd1baed0209bbe0c2ab3b9167263b7ef4adbaf0cb1ebb53e6883b42db603b56c0babab16437bb39ffa73b34883c3b908dc8ba3d4306bbade29c3b88752e3b5268ebba3f8c48b9b7b516bb4f6a80bb581214bb7df4f33905a11fbbcf1a97bba589dbbac559ccbac2b01fbbacd07bbbf24440bb879014b9c98531bb24c155bb0e4e1cbb4686f7396304aeba5d2222bbb3cd13bb5a9110baf49932bb73f045bbb03329bb1467caba2434bbba251535bb98f6e7ba2f30aeba1c4015bb6fcb50bb72cfe0bada531fbbbb5509bba82e1cbb9a229b3bbab8b73a174733bbe4eb2dbb4173983bc0834e3a7f967dbb5eee9638cf8e783bde85863a94ac30bbfb1436bb63e5833b0d8ac939a35207bbd0d4c3baa56cac3b136cf0392b2e4abb602dddba31c2b13be486a33a92f933bbee9b8cbaadfeb93baae3443b02fd69bb1fc155bab751fd3b024b283bc2fa36bb0f53fcba6958f03bf7bf283b508c22bbdd0842bb331849bbb82f6fbb919b633f5e1f023e029547bb27dd85bbe258483fd8bde33d03d53bbb653e4cbb1a922b3f2f74c53d86e778bb72092bbb5ebf0f3f6eb2a33da2a477bbb9251ebb4b6fe53e75ae823d0d7c77bb3db765bbfc8aac3e6d09483d8e8116bbf19d6ebbb90f673e44f60a3df51a33bb77588dbb121eee3da9fd8e3c943b2dbb7d4352bb9735c43b28cdd13aa88673bb91fbf9b900000000000000007a1aa0bbf8635ab90000000000000000f14d68bb4d792dba0000000000000000f7c04fbb89931cb9000000000000000048e271bb3988b8ba000000000000000083a464bb88e277ba000000000000000061a18cbbf2d345ba0000000000000000d4aa57bb01efc6ba0000000000000000ed4132bbea424fba000000000000000008eaafbac4344dbb3226f13b29c1773b3541f9ba78c621bbded4fb3bb3ebba3b2f75e2ba9b7a49bb0612d13b53d28a3b69f59fbafb0131bb36cac03b85f27c3b482ffdba4ee719bb2f4ab43b1bb0843bb2651239bdfc7ebba01fc03b6d25913b0d21f2ba2beb1dbbad5d9e3b14aa7d3b31fafcba46c747bb7f08bf3b0e108f3b5a90cdbac70825bb6a78913bb6325c3b16e4edba40bb27ba24f921bbc4d98bbb99b446bb3a3512bbd3b372bbe7c681bb85fca8ba708904bbf3e72cbb231f8bbb1bd5a4bab41a9fbac2d50abbe64d91bb0bd200bb7ee29bbaf0991abb28196fbb127828bb6caa8bbba2701ebb4f62a0bbff63deba83fbc0bab36312bba81c4dbbbfbe0abbfdcaf3baf38d28bb3d5771bb1fe4fabaab36c3bacb1702bbbc5e46bb90d8a43b37324a3b50fa48bb3cf751bb49bcda3bef798c3b8e26a4bb87f754bb19c1a83bd29e443b772434bb9e4f37bbc8a29d3b97f6213b025b31bbeee70ebba2ecb03bea23533bffbc4bbb89cdfbbaf957053c0cb87f3b896582bbf80052bbbd0fc73b0628763b353426bb5e0f13bbfe75023c7cde9a3b37ed53bb0c3f26bbeb93d33b216c743b105936bb950503bb6e474fbb25be9fbb9597433f9316823e480aa3bb94fed9bb9b5d2c3f91aa663e5ae259bbde0b88bbff30133ffbd5443ee07538bbbea09ebb113df63e35a6243e2ff24dbb01ed7bbb8ec9c43e212a043ef0b853bbc191adbb74de953e07d0c83d57c13bbb846881bb4329473e0557873d316858bb82bea0bbbfb6cf3df7ca0f3de04222bb4f5272bbdf7dbc3b1832343b85fc89bb034652bb0000000000000000ec5dd1bba6a12cbb00000000000000002d836fbb401146bb0000000000000000a56483bb044d17bb0000000000000000e5df83bb3a6303bb0000000000000000fa34a0bb7e3a5dbb00000000000000006c9e5abb201e10bb0000000000000000b17e8dbb1a5f24bb000000000000000013ea59bbf15323bb0000000000000000970f28bbf8c72fbbbd21ce3b402a883b6cdf14bb064b71bbe1ccd03bea1dd03b5063ef3870ec5fbb7a5cbf3baa16b93b84da36bb48198fbb104ad33b11cace3bccf5c2baf18451bb6d96833b49b2c93b11f61fbb428197bad76abb3b98b3843b9b3800bba6d963bb7f00a03b8ed9b23b37c82abba9a576bbdaa6003c6bf6a33b2b3febbab3c025bbea72a93b1527883bb2f736bb67e9d1ba3dfb4bbb146581bb626f1abb81592dbb30505fbb0d7ab7bb2a0d06bb0f25e4baac2b2bbb7855a0bbf4bef5bab3a367bb7c5480bb8ad1c2bbd282ecba451b03bb82a85dbb2c2685bbc60d62bb34360ebbafc7a2bbbc870fbb7064f9bacff7c4bac74d2dbb442b8abb496c2dbbd82d32bbaeaa86bb7b7e92bb5b3cfbba4ec103bb854d4fbb83a540bb4c59ce3b67c9763b6a517fbbe7ab13bbf5a3b73b0af2ac3b48128dbbf6cb6dbbd6399e3bcb5c903bbc5b72bbcb0495bb0e40b73b86bfa63be3aa6bbb768045bb53dabc3b2e0eb33b45e348bb36ba9dbb390dc63b05db773bc77534bbb24d39bb9f0acb3bb153bc3be8774dbb182e3cbb9dbdfe3ba6eabd3bd9577fbb338977bb4ac8e43b47b2a03b19c53cbb545634bb256348bb9ab992bba415233fcff3c23edb1788bb3b4dcbbb8e790f3fb370ac3ee2055dbb0279b5bb7a22f63eb5ef933e2cb796bbe7f497bb7c04ce3e4251783e286669bb51d7a0bbcf2da53e0a8b473e2fff8abbe3fc9bbb8b427b3e6d10153e061051bb611fa8bbb075273efd13cc3db4e246bb3b33b6bb9028b03d3442553d9d2075bb69d678bba086dd3bd29f8c3b1f85b6bb6ecb01bb0000000000000000feaac2bb1e9c55bb0000000000000000b80aa9bb90fd97bb00000000000000000e1ba5bb67d94bbb000000000000000046408cbb367236bb00000000000000003eebc2bbdaa930bb00000000000000007eb68abb96544dbb0000000000000000448fa4bb14c603bb000000000000000022696cbb3ecb3cbb0000000000000000a7802fbbc56835bb75e3aa3b8b80b33baa08f4ba53fb94bbd2f7c23b5c6be43bc608e7ba97c2bdba38d0893b1859f43bc5c23dbb24596abb48a78d3b16ef043c258eb3ba7f2c29bb2f1a713b9404a53ba74e96bae6c6b4bb26b4cd3bc033fa3bfcc492ba7daaabbb9723b03b83eea93bd06aeeba679964bb5a5a993b35d3df3bf0469dba2ba447bbfb6b6b3b1e33a83b07bd04bb7d4215bbb86c11bb69dc83bbeb7a06bb639e38bb92335abb127cc4bb0d740ebb2b5443bace2deaba0e4f8fbb495f84bbc12961bb839447bba28ce5bba750b9ba199100bbbc6f0dbb9d0168bb499a0cbbba5d8bba6272f6ba2201d2bb0d78e0bac6c32cbb12a447bb6b7c81bbbfda3abb87be0ebb4a6b27bb81de83bb0df0b9ba969718bbde7f0bbbf2ce66bb95d2c83b123baa3baca65ebba31c5dbb6702ad3b114dcd3bfbd179bb80fb73bbce4f663bc9f3d33b3bff6cbb398c43bb19e9ba3bb45be33b569a79bb00cf65bba7d2683b87ce993b035c2ebb3bac31bbd12ad63bd2dbfb3bef766bbb440e66bba723cd3b2b5ebb3bbd9d42bbda6c69bba273cb3bb250023ca62401bbe3c646bb06d7a23b1359cc3b741e15bb07014bbb9cfe46bbeffaa1bbdf91023ffb17023f5e6916bb564ddfbbec77e53ef579e53efd5f6abb3390a3bb1c44c43ed84ec53e8de06fbb0d2eb2bbb25fa53e8db9a53e396524bb8aea84bb960c843e025f833e59e039bbc068f0bb8ada483e81b5493ea99d86bbac9233bb013a073e9c1c063e0b3660bbf73fa2bb1e9e8c3d4df68e3d08f1a1ba92fa85bbed6c9c3b2a4eb43ba5bca6bb967064bb0000000000000000a06bb4bb5dd86bbb00000000000000003d5ba0bbf92498bb000000000000000015cae8bb3586beba000000000000000023877dbb0a672cbb00000000000000001916a6bb05956abb00000000000000004aad84bbbd1d7abb0000000000000000aa60b3bba87c3dbb0000000000000000a0a45cbb06dc60bb00000000000000009c57b9bacf6354bbcd7e413bf237f03b51ffbbbabdba87bba6fb723b10f80a3c7781deba7c7f53bb20eb883b4956ec3ba8ae4d3a8926a4bb71128f3b65f31e3c920c29bb9e349ebbf75c913b9f10fc3b37d0ccbae86065bb910e823b037ef23bcb28ee38bf5067bb71ae593b2c4ad83b315bbebac5956ebbe13c763b2793153c1e7cacba6e2755bb620e243b0828de3b9ca490ba76341ebb5487fabac3568bbb4a7e35b87e7d64bb5f75a5ba4963b9bb4f49f1ba9d00fcba56f81cbb287d92bb5264b3ba51ff8fbb30e88fb8801902bc532ebfba795f10bb357615bb97aa7ebbcaca85baa0036cbb249a2abba0b78dbb6b84ddba466817bb838d3139ae5888bb3490f3ba579831bbcb8c08bbe8bb8fbbbb4f20ba6faa60bb5a03fcba58718bbb28f8383b65bbea3b6db52dbbe6de6cbbbe71403bb773f93b523a84bb6ca841bbe9b44b3bd847c63bdace6bbbdeda58bb8a76cf3a046c0d3ca4054bbb6c491ebb9243813bd959ed3bc14445bb239451bb1248893b3b1ffd3bed7b1bbb85bd29bbca07833b6d1ff53b0bbc43bb8a6c62bb04aca33b5517123c481846bb9a7a86bba2a6563b5a470f3c8cf2e5ba88773bbb4dd818bbf0d2a4bb1508c33e1b01233ffae2c7ba9359d3bb49ebab3eb3ab0f3fc8942fbb6807aabb4be0933e0f4ff63ea6a51bbb7601debba7a6773ef524cf3ea14f14bbaf459ebbf4ce463e9a91a53e049830bb0e24a8bba932163ebd277a3ec45818bbd8e4a1bbedccc93dff51283e157234bb7371adbbfd00543d23d2b43d497307bb01ef94bb06d14c3b4885fc3bf18c8fbb8c317abb000000000000000088d4c5bbc0226bbb000000000000000086cca5bb476d4ebb00000000000000007bb68fbb6cc597bb00000000000000003a7d8abbac53b8bb0000000000000000de7c7abbbeeb3fbb00000000000000006dcc8cbb5d1675bb000000000000000038109cbb56ed89bb0000000000000000875b49bb0b5162bb0000000000000000e3dcae39eeb491ba7283e53a8510c43b5daa92bab92970bb5389383b555c023c04388dba174229bb91091e3be23dd33b180315ba68aa07bb25342d3b13291d3c676fc8b9e99550bb362f143b5585d63be8efb1baddd03dbbfbeb513b492bcb3b031ecfb976c41dbb94e40e3b8b37cf3bdc7253bae74889bbce20dd3a7c46003cc7d29bba0c672abb9ef8fa3af354b73b8037b1baa3c3f1ba6743bd385f9680bb740eddbae32e13bb6a99dbba99a29ebba2dea6baafb811bb33cde6ba757a6abbde3adebaf2741dbb663d89ba5eb04abb358d85ba76b50fbb02d9a6bac40a7abb62fee1ba64101bbb005304bb256e6ebb3f2db0ba06540fbbce6c0abb8c2753bb386237bb78de50bbf95ebaba37da60bb7a02b7ba4d9fe9baa46b86ba0dde4abb9396b63a250ebf3bf34c41bb68504abb66bae13ad83add3b57017bbb12ce67bb16c1ce3a3b33ac3b77f230bbd9424fbb7308c33aa3f3063c17cff0bab01dbcbbf9e8d73ac4eeca3b279b1abbbefb4ebb42785f3bee9cda3b838145bb3b2950bb9a32273b0066f03b70e010bbefea61bbfd20823b4ac8273c0da3e8bacea383bb3acf293bbe46f33ba57a10bbd70757bb56c00abbe3468fbbf8c2813e2607433f1e5109bbf7a5b0bbf893653ed3052c3fc0480dbbbfd086bba67c443e8a13133fb0438eba5826b9bb2bcc243efdbef63e5ddceaba0ffb8abbe9a5033ee11cc53e1ca91dbb3b2e88bb121bc63de9e8943e9a5b29bbe1e472bb0cef853d5f31483e4e46e5baecccc5bb7edc0e3dddb7d23d4ac67fba40d76abba3d7123b9f91cf3b7b4e8cbbb1813abb0000000000000000c66ca3bb516f75bb0000000000000000e12f69bb14974bbb0000000000000000f151a4bbe190c0bb00000000000000002e085ebbce5b65bb00000000000000009f2484bbe2cc54bb00000000000000008afa62bb0f6b64bb00000000000000002a51b0bbe16a60bb0000000000000000abf65ebb5f5268bb0000000000000000a4ea1b39148812bb1f6f963a2352d03b4841ddb983cd2ebb6292a13a8578e93b89b495b9b76a4ebb39862437ebf7023c4b2a5fb9e13f11bbe31c893ac839d03b9500c539418825bb2ef71f39dd4a9e3b58dc33ba7bad85bb8b142e3938b1b93b50a0a6b96ba71ebb2dcf483a0e7eb13b788660ba66f558bb473639385e58b73b65ededba8b7b0fbbff8e883a5003b03ba3f47fbacc9016bb9eabf4b902b045bb9fd999ba0a3914bbf98e5fba096268bbc2b68aba21c3dfba3961e0b9214c87bb92b30eba53a2b2ba089579b9cf0b50bb363a8b3941c44fbb4e9423baa9cb63bb267da0b90c3602ba2bb4fdb9476b34bb3f3f20bab0f40ebb58afa3b9c0333fbbcd8efbb981d260ba2c1ebdbaba927ebb62e1a2b979bfe9babad452b86b1d35bbd9532e39fd52ba3bc76927bb151747bb760b87b960c1b03b623959bb5dfa53bbfa73003a07ab833b3e8b34bb4fc932bb217edfb900a69c3bd01127bbc6df23bb7bc13abad3b7c83beee9a1bab60179bbc5360bba964bbc3bfd8fc4ba16094dbbc39e4f3a117cd93b7135dbbaf56636bbfdd0063aa07a073c489cd2ba9c6415bb60e9ac3acb2cf63bc16da2baeff233bbe7273cbb5ec86fbbddfd013ef5ba633f7dd49cba1bdc8fbb4c01e53d1b3e483f53ae0bba53af36bb3634c23d86762b3f89ca14bbfbea79bb1414a43d74540f3fe8d182ba6ab17bbb3b72813d5697e53e640207b9e04853bbe3df403db07fac3eaed824ba85665dbbd306033dcaa0673e6fa45039858496bb9a037e3c17feed3ddda60dbb0d3447bbe9be5a3a9e98c63bdaa066bbdfe25abb00000000000000002ab27dbb739654bb00000000000000001a1d4cbb392f3dbb000000000000000027f63dbb2f3723bb0000000000000000fbdf01bb268402bb0000000000000000fc3717bb0d598ebb00000000000000002bca36bb841e44bb0000000000000000389a47bb89f155bb00000000000000001f7a2fbbc90a4ebb0000000000000000000000000000000000000000000000002f895dbaa14300bb289680b8f1be8f3bf29fd3b9ea66a0baaa338b370816873b0f0da9b936dda7badbc9adb95f28703b2c7e50bab4c5b5ba1e4cb6392223943be0041ab9ab4974ba88d082397d168c3b6d68d739c03937ba2a87aab8e85a593bf8c94c397b07b2ba5448abb9cddcd23b00000000000000000000000000000000000000000000000000000000000000002db641ba22cd67bab67ba439b34923bb40059bb92c7243baa8cc44b92fc2deba7160e9b92aad24baed1a5bb7544cf4baae5c31bb463d93bac58286ba2539d4bae56275ba62b56cba0c88fdb8efa0acba037af6bafd623eba6333caba6fafa0ba1097f53af484cbbab1823c381b18d8ba0000000000000000000000000000000000000000000000000000000000000000d492c3baa5c81d3bd34922bb4144ccba8fa7bebaab600a3bf7a2e7ba9127a5baa6ebbbba88230b3b4d32ceba95a08eba7badc93a13f0793bddec6fbbe31802ba711892b8e55e833b09dde8ba525a88ba2ee99bb8f698843bb8c019bbd8e41abaf9b9d33ad65fb83b15da4cbbdbef2dbb000000000000000000000000000000000000000000000000000000000000803f19ee0f3a97a03ebb0dee543a7079633fa3b749b81f4005bba619763931af423f33faae39e1b7fcbad2779b382842223fae02c4ba8b0ef8baf23d023af102023f4c3ce8b81f63e2bac9f2003a595ec33e9ffe92baf44caeba855cc4b93c59823e6e9d89ba70b6d7ba8f43adba0832063e0000000000000000000000000000000000000000000000000000000000000000b4a304bbe068f3ba000000000000000019a3a8ba1602ceba000000000000000044f6b3ba2ea1a4ba0000000000000000601b6bbb35b31abb00000000000000001d2a06bb6811d1ba0000000000000000f0f02ebb2c8471ba00000000000000005763faba02a557bb00000000000000000000000000000000000000000000000000000000000000000000000000000000fe0ddfba3fd2fb3b61508a3cbf477c3b9fa8ef3887f1de3b19d4633c13ed983b1b2d873a7919aa3bf3c42e3ce93c323b08add73a890a8a3bee9dda3b6ba19439058a2d3a41ec463bd8ef593bb230ad3b2ad3083a8878893bd4bcbe3a84984c3b1143d8ba411d8a3bb9751cbbaac8063b000000000000000000000000000000000000000000000000000000000000000069b06e3beaf6fcba32cdca3bd692e5bcfa28913bd180bfba76ba933b2817e7bc01eb833bc05fd7b93f425f3bfacfebbc7a06993b729e3aba6c18e23a6404ccbc588c613b13ab92bacb6a243bae039dbc0ecd553bc7cf8cbab497bc39e24950bc2ce2383bdf1a83ba0df39a3a135ea8bb00000000000000000000000000000000000000000000000000000000000000005480fbbd5b0905bde311173c87acb3ba7ae7ebbdbf5908bde6a2d13bc1d1f9b9a7b6c1bd328c05bddd7e803b583a81babefa93bda5caf4bcce50803b4c20fdb9b66359bd2b3ddfbc620f9a3973998a3a5f4f0abd982099bc7c264f3b3aa421ba8e7024bc61d931bceb5e2e3bf55a12ba0000000000000000000000000000000000000000000000000000803f000000003c6dab3b01b978bd71359c3faed332bd22659e3bc93110bd15f7813f744aaebce1682d3b7465bbbcf463523fb15e01bc1e9b113bcaf48bbc297b203fef9fb2bb3331543bb2bc83bc7c42df3eaea88ebb5fe18d3bb99e89bcf40c803ebece3abc52ddb13bc20cb4bc992b923d40e29cbc0000000000000000000000000000000000000000000000000000000000000000529bd1bbbbb33b3b0000000000000000c71699bb412b963a00000000000000007fbd89bb16baa93900000000000000000e004dbb9eda993a00000000000000009a61153b4c79b3ba00000000000000003f11283b77936dba0000000000000000f645e13b263b0fbb00000000000000000000000000000000000000000000000039ac82ba117eaa3a974e623cb83dba3a276389bb72491a3c289aa33ca35afb3b7bab06ba32dffd3b9c6da03c5f15063c1915d33ab0c7b83b327c813c4138e53b5b9e0f3b6dd4493be9f64b3c5f78ad3bad0f513ab6658c3baf6c023ca4ba9a3b512631baf7eb863bae7e503bbf869e3ba7593bbbf1a3a43b6f918dba958c933bda06c5baf8e61739a9ea8fbb8b91473b18749e3a9a3f7eba357f243c12dbfbbcbbb34a3bcbb025bb4c044d3c0015f2bc69a5813b3a31bfba6ada193c7eb410bd2828963baf3d83ba9fb8e43bd2260fbd0bd8573bea7107baed5db23bc3ebf8bccdf9573bdf9b00ba7529963b7349c6bc5bdb6f3bec008bba47ca763b543a79bccee7003b09ecf4baca964e3ae39681bbc140b63a4ac7b2bae395ee3a6468a83a747f88bd32d7a6bccf0213ba37079c3a656904bec68409bd252c973b0ec2e53950d604bee1e030bd05f1463b18ac78b9d143e0bda32b30bd044503bb846c003b5127a8bde52e1dbd4363513702fc343a478f78bd5b8f04bdbb0dabb8ec97a03ae75b17bd05b8c0bc25b8833866c1283a2eb130bcd33e3fbc6f18093b945e363ae32a433c8e8ca8bb664dc23a98f22a3ac7f23a3c7de4f0bd72399c3fe4c1b03d88ed8b3c11aef9bda08e953fb217a33d29da1f3cfb88b3bd5b8b803f6c80b33d30e2003c3db384bdf7514f3f8854a83d61e6eb3b960c53bd2b621c3febb3893df9e1093caa783dbd1256d83ebf97413d4204243c05b328bd38ca713e6dc9cf3c5786513cd0dc0abd170b793da6de103bef55273c38180bbd8cca53bd1e7f8ebc0e5902bdaabac53b0000000000000000732defbc071fb83b000000000000000009e6d2bcf85a953b0000000000000000aed6a5bcb0bb3c3b0000000000000000296589bc2e608d3a0000000000000000717756bcc90ebd3a0000000000000000b27b09bceab8553a0000000000000000e550c2bad473f9b900000000000000004653b2ba65e8023a000000000000000068ac313aa4e6e8ba0710353cbdd3363b4366eab91770593b40f9773c1cffb53b3af5c83af6a0283abda46b3c35b8bf3bc7bf3d3b53250e3b3119633cda57e43b0eb2363b53060dbaa7b8203c3bbf733bdfa5f63a15b2a43a150adb3b1ce6b13bd79ec53a39ccb539b4baf73a6fa6573b680b06bb1ef16f3a04cbb8baefb7013b246cc7b70b1dfcba01939f3995a7a33ab4fd9aba0391323ae19c203c305203bd293df53a5fe4e2b907b7533c8b7313bd3dd7113a27338d3ab7700f3cf6b80abd81ca193b7a5a48b7f349fa3b81170ebded11083b68d8913a73aec63bc461e1bc8694bd3a65bbb0b8b3c4ba3b6c4db8bc1a34b8383016a7b97f74753b39bd70bc0878563bfb5699ba7c5e813b3a11adbb8e1325ba1789b0ba67551c3b8d90febae87a1abd533150bcc83e44bc8aa4333bd0cfb7bd3ffa13bdc84f16bc5753793b0a32a9bd44d828bd2f6f2bbc3b222e3be024b3bd345c3bbd048815bcbeb4593b4a7680bd77d11bbdac8516bce180303bfc054abd0ee708bd58c9e3bb11ec763bd826c7bc65b1aebcc000acbbb7c9453b30a0e1bbd70940bc19b085bb6cd99f3a1fd22d3c734285bb3653653a8372263b8938493c626deebd366d823f85b6863eb5c1873c6db506bea9f0803fa2ac803e745c2a3ce394b6bde8cc543fa0d96f3e58a4403c32f0abbd559a363f81ef4c3ed8bc1b3ca54785bdbfcc083f8dde203e39c12b3c3d6678bd908fc13e0320ee3d3351263c815a45bd2d3f633eac33923d31cf593cd3dc3fbd7299943dfe86d13cac26313c1edf14bdd4d0e5bc072300bc296758bd08e8ef3b0000000000000000044772bdd471273c0000000000000000bd2a39bd178fc73b00000000000000009a0628bd2122ab3b00000000000000005d6a02bdbdd77a3b00000000000000003d40eabc6bce743b00000000000000006410afbc5a8c683b00000000000000003a9793bcd7b4ab3b000000000000000092e15abca187933b0000000000000000ec51433b92e3a8bbb13f0a3ca28eb13b0730e83a0867ae398baa413c3efffd3b2296003b55549d3a1da9543cecce143c6bc50c3b01f6003aa742303c57760a3c9857443b2e670d3aeeba0b3cbb8ff03bc8cb9a3aeae64e3ac30ebe3bf006af3ba4e0bb3a824d04b8c156363bcc1a983bfeeb5cbaa1538c391ec314ba825e123b575822b9fba673bb94c0bf3af860223a45ba83bbd1aa9a3a95730f3c358c09bd0f0293b8a66b5e3ab85a363c7a3e12bd6a3c3ebab7a6e03a8b85103cdac304bdbfee433974c1133b0637fa3b1167ebbcc43a10ba1ab2d83abb0dd33b71a4d5bc2a8a143ab20dca3a1612b23b40d9a6bc2438d139ec15d6397e749e3b37dc66bca91ad6b9098bdeb95338993b4f3adebb37d41abb925d333a940a8f3bfe0d89bb6b94adbce6b52abc11cdb6bcd264b73bd78d82bd23421cbd3d5aadbcbe30de3bbe2b9fbddae94bbd064b9dbc7523e53b019390bda94647bdd02197bc813f9a3b726a6abd4e4429bd556b8abcb219b83b3c5227bdf0a609bd15b661bc2790a33b042fcabcde06b8bc895d24bcbfa6943bfaa4c6bbef8b1dbc124caebbad108b3be3660e3cce40563b9f8a44bb0e95613bba62243cf906d4bd3993533fbf70e53ef112763ccffff2bd5bdd503f76aade3e614f4b3c4174c9bd3ddb363f2fe7c73e8b002d3c955ea6bd35fb153f048fa73edc191f3cd67e8bbdec17e73e3370853e6fee343cfef575bd6d63a23e66b73f3e709f2d3caa3759bdafb9413e7092ed3d8b2b5d3ce4c140bd72c2933dc7b7423d85210f3c81f013bdc7613bbca8215ebb1bb594bdecb0f93b000000000000000071d0a6bddff43c3c00000000000000008f218ebd988e073c000000000000000090c36bbd1edaf43b0000000000000000e18546bdaa8aba3b0000000000000000e4bf2cbd2b4ab33b0000000000000000bd8914bd8e15c23b0000000000000000054bf8bc1668e03b00000000000000001bfebcbc35bd593b0000000000000000917a013b2e3387bb5c71e23b7d9ded3b1ea4e83ab244d1b83d27f53b63663b3c9262e63a94302ab98f2b163ca3793d3c00003c3b92e5ddbaff2a1b3c360e3e3c5f595c3b1fa8bdbabbf79a3b7c37d83b3ad7013bf7148cbadd0b9e3bc716e43b8594253a89e164b994caac3a2a6f7f3be7bc1b38440d8a39e1dc88b9de8ef63a7ca60a39279efeba2b87ce39bb3bd938aee5c8bbcac4453bbea2e03bac7aefbc01d797bbf686503b06ce123c2a17eebcf79408bb47af203bd0b5d93b7efed8bcec8012bbbd5f4e3b7332ea3bb3cbc9bca84a5dbb4f3e363bce0a383b80f896bcb83ecfba2963ce3af68fab3b022c87bc13381abb16bdf83a4258873b6c6232bcff17a6ba60069f39e593883b891de8bb635625bb6b594c3a036e813b395c4fbbe13974bc7d2a1bbc217ef1bc01a2cf3b5fd047bd411429bd772cf9bcd683103c051a6bbd2c7e55bdb540e1bce2b6d43b358f70bdcb795fbd010edcbc3b5bd93b378614bdf64303bd0780a5bc4bca623b191819bd071607bd47339dbc7182c73b8a96aabc13d88dbcbcc264bc36a0903ba38deabb48b5afbb52261abcfa28b23b4af58a3ba9d4f93b6f90d5bb2b9e8d3b8b9b063cc315b4bd1b9d223f60d2223f7c5a463cfac4c9bde6e81d3f4dbe1e3fcc202b3c7cd1a2bda241093f9eba0a3f82481c3c97da93bdcb41e83ea221eb3e5a81b53b363f47bd662bab3ebc05ae3e65f0123cb5035cbd04b8803eb9c2843e95070c3cd35333bd54f8183eb7e8213e307d243c897725bda936713d4e608c3dc99dd83b7cc100bd3e1c0dbc2ecb45ba2b0ab3bd1ab9063c00000000000000007106c6bd33003d3c0000000000000000476da0bd4128103c00000000000000005af48ebdd69c0b3c0000000000000000c2763fbd89ec723b00000000000000004e9558bdad5dfe3b00000000000000002f4c28bdb947ce3b0000000000000000f72a24bda5020f3c0000000000000000ad9700bdefa8e03b0000000000000000e117e73ad7d860bbc8f86c3bfa98353c3b10313ab4db883a7898c83bad87643cd87992387810463b50f2ea3b6292793cf708623a896bd53a8aacf83b1229633c9452e13acd7d633ac8a1a93b5de02f3c235aa7398948f23add808a3b63e5003c5b5c6639ec7f863ac24b3f3b5c7bc63b65e710ba9b01243a3944123a1d66ed399975cfb974eababad8e905b968929d3a7ba9cfbbf2de773bbac3a13b2b03afbc1338c0bab071293b2029d43b6efe9cbcdfbadababf8b283b5555be3bdc098fbcc2151abbbdb75c3be6488c3bfb4885bc67c846bb37e86d3b235b973b9e2a78bc6136c8babfee193bb380693b240a30bcc7ab01bba0cb883a30b48b3b4409e6bbaf48cdb7142682b91443173baae754bbf23f53bb8c5cf639f94b793b788d06bbbdaa72bc887089bce9e20bbde98ad03b93bf35bd3b036fbd412d1abd16722e3cbfd668bd864d95bdbcba0bbd6e1e263cf02f58bdf20184bd4668febce83df53be8193ebdb30556bd2896e7bc0f64ea3b488f13bd09151cbdcfc3b6bc7875d13bd423c7bcc304b2bcefdc99bcf318dd3b38002fbc023b6abb502c40bc0e69c13bc3449d3ab34b3c3c7c94ddbb7492993baf140f3c1c2e93bdfa92e43e27c4533fe58f403cfc68a7bdce53dd3e0f44513fac60263c01a68ebd9241c53e3025383fdd6c0b3ce2796bbdbd41a43edaf4163f5c2ffe3b80aa4cbdec59813e7ff3e93ec973f43b8b1d2dbd312f373edf30a63e1403ca3b128111bd54eed73dea30483e52fbf33b1bd3ebbca2a6213da5719f3d4357c43bbf57b7bce5b525bce3a8d3bb69b6d2bd77ab2c3c00000000000000003fb6f3bd3f21713c00000000000000006ad0c6bde13d323c00000000000000001998a0bdf427153c000000000000000029d985bdae85f13b0000000000000000a8b96abdee50073c000000000000000046c24dbdbd9d1e3c000000000000000081443cbdab3d3b3c00000000000000007ed10ebd4c16eb3b000000000000000088aa8fb7e8cfc4ba2edbfd3a6da06e3cecc113bbc159da3b98a7973a668b983c580f7639c78de33a7379c93b162c883c0ab3e9396035683b4880cb3bed6a7a3c94cecb39918fe83a5f80963b75c4323c2d7b38baf852893b1960433bf3cb023cf52828b87d6fe93afc2ec83a69f75f3ba19aedbaf3fa103ba81b043b047cd139394958b99eda183aef74f238995edebab575c0bb84e62b3bf0c15e3b690204bc7ddca73a7c4b0cba33e08a3b84520fbca6d00cba7a243b3b2a40023b2a5902bc644271ba80535f3b7ad31d3b277deabb11014d3a61ee113b1ec3e23a37f3b4bb471955b94385083be90bfd3ad896afbbfd7c61ba61a2a63ab078f73afdcb61bbe6a72d394f206abab43a0f3b84b8d938218664ba3b1134b902d741b968180c3adcae98bcb2250cbdb1be0abd63c2283c864520bd1704b1bd5f5e1abd3da1663c37193abd6f01a4bd712412bd7fe9023ca05c4ebd36a5aebdf7e90fbd0cd20b3c2b0124bd7e1974bd0011fdbc3936d93b910311bdd7cc3dbddd79d5bc6989f23bfeb4b8bcfbd9b0bc745b8ebcee32af3bede04ebc42e36abb9a5b37bce11e9e3bc487e5bab6d2583c3aa6d4bb4e7c873b724dc63b70445cbd0f69863e84a2823f2925293c203474bd0856803e163c813f1cc5df3bdd533cbd34266a3e80e3553fd90ce23bf18d2bbd7eb1463e3185373fbc40983bf2c300bd138e193e07e6093f25bbd13b614befbcf380dc3dec31c43e4b98843bee5eb3bc3412823dacb6693e3609703b23ac7fbc4afc893cbc31a03dd9a8803bd6593abc9a176dbc1181bcbc7568eebd06ff4e3c0000000000000000747c04bed0b6873c00000000000000006995b3bd54fb183c00000000000000005638a4bd2a44253c0000000000000000f54b76bd932deb3b0000000000000000ee506abd83a6143c0000000000000000ad043fbd1f900a3c000000000000000042e933bd3e095e3c0000000000000000c3ad0fbd7fb6243c0000000000000000e3be80ba13a5d83ac735223a9ce47f3cb8d61abb9fa8343b830c163c4109aa3c486be8ba4660893bf267df3b7eeab03c7116a0baea31a13b9511e93bd9138c3c2052d2b9c023703b1d708d3b42ff453ce3b1cbb99f99793b3746bd3b9a09103c714bc1ba49d82b3b08ca963bb0af923b3f1c25bb122f2b3b193c743b456884babb4035ba3e2a033a443b503a7d4224bb13d3a3baedde12391f98863908464f3ac23ce03bdac027bb18348dba69edd13bca6fb13b7039f639091ccbb93b11543ba4b1653bf1532c3bf63d1abad58c9a3ab9bc5c3b482a053b738721394ceea03a17b31f3b74ede63aa3ea4139a89fc939ae1b6e3b37a136b9adef6e3a402f1eb9021e823ba0c1bebae9576839cda1133b4450d73995fef4ba484ee039e080db3a648dc2bc847f81bdf437f7bc977b203cedbf14bd468f02be7cf2fbbc9cbf4c3c139836bd1f3a02be941316bd4ab0113c550336bd16c9dbbd391b13bdf2ead83b1a271ebd0e6ea5bd8e1a05bd83ecc63b443005bd403b74bdd550d7bcb741943b2e25b8bca1b50ebdf4d79cbc60109e3b55041ebcee4d24bca9a7e5bb1292e93aeaaf2bbb43766f3cd8597ebbc58b7d3be915e23b33c004bd3bc9af3d46349c3feabfde3bcc87ecbce68f9d3db192953f2e99aa3bdfc5ccbc438faa3d3fa8803f97c69e3b5cd1b2bc6a929a3d9904503fbe8b513bb85385bc59e7783d310e1d3fd4bed63ade1643bcc0d4203d8ac0d93e8dcec73a56fcc4bb5969853c0b67753e8f184c39205796b921245bbb4dee823daeb9333a45a0563978c7b9bcb1fd51bde296f0bd9ed23f3c00000000000000003ebaf4bd61d57c3c00000000000000008f22abbd633d183c00000000000000006c037bbdd692ec3b000000000000000062f13ebd5cdab93b00000000000000008dec29bdd042f43b00000000000000002cdf17bdc1130c3c0000000000000000903803bd25342b3c00000000000000005cf9febcf2f0223c000000000000000000000000000000000000000000000000f1cdf7ba5542253b56329c3b0968923c1d19b9ba29b7a63b9d82ca3b1e10573c497bb1bafc438d3ba6c6ae3a961d713c02c3dab946d6ab3be7a7343b1ca4ef3b7d48f9ba30ab6f3bf383ef3a7ade843bf7838dbaa5a7873b9de3323b017ef23a457205bade58f13a0b9f2d3b464ffcba0000000000000000000000000000000000000000000000000000000000000000c885c73b9fc9aeba3e70cbbaca3f303c1551d83b032b8639371342bb8380003c69b54f3b05957438b999893aceb4193b9f75573be2be153b67327cba5ee76b3b75024a3b4efc133a293360bac19d803b358b6d3b8fa68db9b31c0eba4efdb93a9888833b5923d1bae44698ba9564303b0000000000000000000000000000000000000000000000000000000000000000398b0bbdaabafebde268dabc13fec43b29b30bbdcfbfeabdc375eabcedfd953b082a12bd66e7c1bd8173ebbcd139c93be551f3bc52e997bd3dcad3bc778b8f3ab2efc1bcc83b59bdb4aea6bc03e71a3ba3f780bc3aa60cbd883b6cbca9da0a3be83211bcd24732bccf1df9bbac3b1a3b000000000000000000000000000000000000000000000000000000000000803fbc75583bdb37c2bb1cbd3bbd337a9c3fa627603b3c5ca2bb5ce9c1bcdcee813f3c19e9395f51e9ba19e42ebcc5f8513f3b3bd03a652d2cbbb5052cbc598b203fdecd093b6dcf78b9034d44bc942ee03ef23015ba5321a33b708a7cbc3a747f3e1b4fa7ba8d19013c05e4bfbc9da7933d0000000000000000000000000000000000000000000000000000000000000000ce9473bd7a6ab93b00000000000000001a7506bd72237f3b0000000000000000b9a2a4bc85eefc390000000000000000d63049bca0f2313b00000000000000007cca4ebc9127f43a00000000000000007a6861bcae765e3b000000000000000071c092bca1799b3b000000000000000000000000000000000000000000000000000000000000000000000000000000002f658dba7decc33be5bd1d3cf012c5bae65c1039cd93a73bd163d93bebc72aba9aba093a1df5143bd808e43be75f17bb4db7bb3acb1296374ac3653b89811ebb930ff439f434b23a40483f3b1ef028bb09fc3dba5b386b3b5d688b3763f013ba9610f5ba45858c3beffe4abb37ee213a00000000000000000000000000000000000000000000000000000000000000009149d33bc4b4b3bafdb1943baa3feebcc252c03bf83f4dbaed31883bd9e8d9bc323f983b37b1a7b9ab1c563bc736d7bcf0ca913bb13cb7b99c9b493bddbcbbbc68c87e3ba299f93895da2e3bfa5e97bc67aa7c3b027d87ba66a8143b374437bc4b36733b5ccc9abad0bb0f3b41e4afbb0000000000000000000000000000000000000000000000000000000000000000b6bdb8bd653d00bdea34ae3bd5a9a2ba8e1facbd414ef5bc191a993b251976ba2d8f8abd4161ebbcda7c313b8f3098ba24be55bd9e7adabc72912c3bd8b5cbb9c8701dbdbebcbebc1763923bab0f51ba6a66e7bc275990bc4af8593b2b9e3aba655b25bc9bfa56bc0272893b5bd311380000000000000000000000000000000000000000000000000000803f000000000c8a853bd2d944bd222e953f4e2607bdac1d323b451fe8bc1807793f458684bc6f59eb3a63bfb2bcbd0d4b3f810f21bc2c859e3a50209cbca8931d3f670b12bc5c2acc3a5c7a9dbc9617e13e04ec24bc26df043be77e9fbc8f8a863ed77a54bcc633513b4138d1bc01a4c83d737faebc0000000000000000000000000000000000000000000000000000000000000000a8a87dbb2f36ec3a00000000000000003f9fd4bae087523a0000000000000000ff12e9baafdcad3a000000000000000055fffcb9bb4f44390000000000000000e15b6bbae929c839000000000000000065b8273b423f23ba00000000000000007d096c3b5eeee7ba00000000000000000000000000000000000000000000000023a02439b194c9baaefe2d3c5af52dbb462833bb1dba183ca9aaf83b426da53b997a00ba836d923b559c383c3b315c3ba69dbc3a5fdbc93a092c143c947e413bd28bb13a3caf2c3afa9df53bcc042d3acac6b8382861b53a7808883b88dd143bf7aeb6ba5671603b416f6839a40a463b5f2590bb60bbfd3ba028afbbeeff833bcbfbfeba67c78b3aac3bbdbabccf823ae942583b98211738cff4063c831a14bd586b8e3b15dde5ba98e0173cdce40bbd27f3863b1c15ffb99518063cd91e18bd19ac4b3b741b18ba276ff53ba9f511bd6f4d283be3956138ac34ba3bde2701bdf1456b3b0130eeb9d824d73bf1a4cbbc3ef9143b69ea13bae18da23b1b1c85bc91b1533b16fab9bab74e503b2aaf90bb129fd13a63fb2fba7885703bb84ca6bbf94423bd5294a5bcee57c7bb69d9a13ab86fc2bd9efaf6bcec441abb647d0f3ba7f7bfbd240612bdeda044bb1347423a2238a1bdf11910bdd46880bb4e26243bae456dbd4401ffbcc59139bbe75bc73a0ca036bd2ce3debc43a205bb16cfcb39bfdae7bc31e59cbc564c22ba7a87f33ae5ff4dbc82df3bbcc666da3a118800ba2deb3b3c98909dbb3efa4a3a851d8d3a41022a3c7ad5c1bd31fc943f2736c73d884e543cceb9c3bd99cd8d3f9cbebe3d9731173c4c2a95bd113a733f8d5ebd3d714bed3b42e371bd837c463f1485a73d7953013ccf914cbd2af4173f1d7c853d40a5c73bc0e23dbdbc72d83ec511393d06fdf43b295f34bd19c3803eb79abe3c14560a3c4b2821bd8b2ab03d9b73383a981b0c3ccc2520bdef64cfbce89a93bc4f3dcfbccec9903b00000000000000006ae5d3bc503c9c3b0000000000000000a22eb3bc0319823b0000000000000000a25d97bcd773383b000000000000000016967cbc50d3d43a0000000000000000f0584dbc53f9253b000000000000000038a34cbc4284ae3a0000000000000000673cdbbbf9db1e3b0000000000000000f154c9bbd458713a00000000000000003aeaef3a7201b5bb187c0b3ca19a2a3b32f681b85114063ab85b0c3c3a71913bd4bbce3a99162dbba7e9343c8eb3793b44cdef3a35513abb59d70e3c8798913bd5bdd63aabea7bbb6d84e93b614c983b345d7a3a674038bb72bf8d3be400303b2aecb73973de29bbcd96393bb1686c3bb6be0cbb6169d93a080a4ebb31728b3bbd1095ba1ff5b8b945d3d2ba34d9683ba0d176bb95f5d53a6b26133c57fd18bd35c076392b917c3a501a2f3c01c025bdb642e3ba52c5a13a3793e63b233c14bd1c28afba5a13d23ac001103ce5c012bd3879debae1170f3b2edde33bd203fabc3118a5ba7b9b693aacc5ea3b1748cdbc711e10bbdc025d3acf4eb53b6f0d96bcc42e81b9a19771b9769e8f3b96ee26bc28c71abb40e40aba763f843b06f9f6bb89a899bcb60405bc977d8abc20ba7e3b54d66ebde0caddbc744c84bcd1c3873b141d60bdcee3eebc6e3883bc365d783bd9bf72bd8c240abd66c352bc97465d3b548620bd6763dbbce99c58bcdd940e3b992d09bd56c1c6bc495b22bccad6693b5c4d70bcd89e65bc774313bc37bf453b764f94bb5c7114bcf4c292bb74b92c3b3fe3173c0996f33a217274bb5604843b2f88413c269dc6bde914793f643a873e3d317a3c620bdfbdf10a733f274e803e4871423c3c61a4bd8fdc493fa809693ee0f6323c82e49abd4fcd2d3f2c44463e304d103c4f7e7ebd0639043fabc61b3e3351203ccd3178bd31f0c03e5e64e83dbaaa0e3cfad84dbdde566e3e3d66933d7eb44c3c67b250bdd2f5c23df369e53ce181113cb7ca23bd132e00bc7d857fbb115d3cbdcc12dc3b0000000000000000261b4ebdf3c5153c0000000000000000f5ad29bd076bec3b0000000000000000b9741abdcf11d63b0000000000000000bf85edbcbe65ba3b0000000000000000440af0bcc102a93b00000000000000005c3acebcb7939b3b0000000000000000d90badbcbefb943b00000000000000003e0f9abc1690783b00000000000000004fed603bbb0e13bcdb8c003c18b60c3c6b12293a87c618bbb264933b5c7c223ce213be3a7f62d8ba7cb0da3b75681f3c229ae03a6ffc49bbce79b73bc99d0c3c611d1d3b6f859ebb4519533b2f56013c9a0e083ab4bf57bb9c117d3bedc8183c508b8bb904018ebad6baa4ba1894ce3b9f5be0baa0c4273a85b656bbbbfae63b43362a3986fd86bb1b5f5239b48dd23b8caf22bcd06d803b4e41fb3b92391abd8ec4ddbb0c97393b0d492d3c6d6d20bdb088dbbbbed28d3ba399203cbe7616bd732ec8bb8e7f803bb9acf83b029901bd2d8bf1bb98a0593ba785033ceaaef2bc3a5aafbb077c3a3b5f8efd3b4faababc74baa9bbf61bd53a8004b73be4558cbc0222a0bb15688d3a155fa33bec5a28bcedbcbabb9f639a3a8da3a83bd5d429bc6b70cebb30ec9739f747e5bcd0bbb53b88dd28bdb0afacbc949ae3bc4217e83b003659bd7b1af0bcbec3cfbcc11ab63b97ab44bd96c2eebcc6ccbdbc6cd0883bb53e15bd2f2bc3bc8579adbcd198a73b1251e4bc849196bc52be8bbce9ebbb3bc16883bca4e63bbcd5c676bc01ebbc3b9fdf84bb140618bb5a7e3dbc9359ba3b96f2203c89d2053c264e2fbc1bf08c3bd715303c4d4ab5bd02c54a3fbe4bdf3e3c9b723c1417cfbdf5dc443f6ae6d53ef693403c50a8b5bd89ce2c3f30f4bf3e837a2f3c75279abdf59d0e3f0773a13ec2d7293cabfa85bd911adf3e1b0e813ed8e1253ce1927bbd81f6a03e20273e3e11082e3c0c265ebd2213493e960ff73d6672373ce78f4abd2ea1b23db927693d5b640e3c813825bd2d24843b55ccc53b19e480bdafe4103c0000000000000000f6eb8dbdc292353c000000000000000031fc7ebdb439203c000000000000000071025dbd73d5183c0000000000000000eb8545bdcb4b0b3c0000000000000000d0fe32bdfbfedb3b00000000000000009c611cbddc11e83b0000000000000000efaf0fbda6f7f03b0000000000000000a0e5eabcf05fd63b0000000000000000a7113f3b058205bc0ce77b3bf6bf643c0b86163b5c0892bb0568d03abb7e683cca1d033b158852bb8bbb513bfba6783c1ec8253bce8591bb605d243b2fb7673c6bfb1a3bb17cc6bb96f3103ba402393c65b9c83aeed575bb8f68cdb812c13d3cd9c5303a22aa09bb939928babcbf183c5771b7b9a75102bbaf7e3fbbe257e13ba740083aa17c36bb8c8aacba077afe3b90a460bcb77f9c3bbdb9d33b2c9405bd6cd945bc0977973b315a063c216e05bdb86131bc1b508a3b267bdf3ba763f2bc2f6d49bcb145813be268f53bbaa5e1bc9e6937bcd381853b338e9c3b410db6bccd223abcf0eb723b1d13cb3b00fda2bc870effbbc581463b2a9cb53b6b7565bc5293f2bb9be4ca3a50a9973b4e491bbc72dd08bca71a3a3b13cb853b0e4c10bcdc31bcbbd37b943ba4940ebdcd1cda3b080ffcbcf7948dbcfdef18bd3664173c72e11abd7f05e2bcd96604bd5e9ff13bdba829bd885adebc54d401bdbc95063cae9eb9bcc8dc4bbc0accd0bc2017be3b5b46d3bcf05877bca11acfbcc8a5c63bdd8167bc2abf9abba7eaa1bcae4ab43b5d4cb3bb71a6ac3b8f928abceb3fda3ba78ab23bf72c763cf22f6bbc09d2bc3b7ce8193c0a5b9ebd425f1c3f25751c3ffcd5483c9a4badbd1bac153f8d5f163fb428173c9b2e90bd8ae0013fcd41033f5ab82c3c367b89bd4e6cdd3e0be0e03e9f29c63beb1148bd086da53e7d8ea93ec3cb133cc0c05cbd89097d3eb3ae843e3cb6ed3b3ade38bdf0ef1c3eb121293e8a5b053cd4b128bd06358d3d5862ab3d12a8043cfdaf0dbddf60123b831f5e3ccf749fbd4749163c0000000000000000e6ffabbd3f9b533c0000000000000000511d90bd4d5b1b3c0000000000000000a8fa87bd7784383c0000000000000000523445bdc352cb3b000000000000000010c85cbd85de2b3c0000000000000000e3cb39bdf4500b3c0000000000000000180f33bd6e5c1a3c00000000000000004a2013bd2e01ef3b00000000000000009b270e3be2e2a3bbb2db71ba432d8c3c00e57a3a3d7ae53a49969fbada9a8b3c436d9539217b01ba06eef63888b6913cb53f283aedc0233a65c7533ab59f8d3cccc6c63abd0886ba07d73abbf199763cca1027391f154d3a60d04ebba249523c49beddb9f347293a944fe3baf0d1113c5b1ed3babe0ad73a1a2b7fbb12e3f43b916484b9aa3dbcba97cb21bbe370053c9fce7ebca43ca93b2ac7b33bd083c7bc342e52bc8af5bd3b4e23b33b3ccdb1bc6e4b38bc9d3a8f3bf477bf3bf2359fbc083f41bc1033a53b7ba0be3b27a49bbc902442bc6b72993b938eb33bbb4887bc35861dbc9b2b863ba79f8c3b4ea944bc269a2dbccbfe243be99e633b857909bc6daae5bbe831c83a2ff4853b193d92bbdba316bc6788073b53c8503b48f5abbb0a2841bc1f5d543bc14224bd5352093cc6650ebd6864e4bc5d7e2ebd25272a3c5fda31bdb8171fbd179024bdc802243c1cb130bd01ca16bd2aaa13bdec99013cb0910ebd3097cbbc78ba08bd109b083cd5a1efbc0a6e8fbc8b43eabc9adff83b624bb4bc887d9fbbe72fbdbc24e4053c1e842ebc1275023c92e599bc3614ed3b9828b3b97d4f9b3c51cc85bc3150d23b039d063ce4f980bda5fcde3e65034b3f69cc2f3ca1fe92bde608d53e6fb4453f4a3c1f3c55897fbd4bb3bc3e98e32d3f79ea003cdf6f60bd41489d3e0a5d103fd99cf13b212046bd949b793e895be33e2393df3b5e1e2cbd768a333eb64da63e23eaf13b88c719bd21c1d93d25c3553e3883d03b9f5106bd37bb343d8bdec83d3a2fc03b1283dbbcc37dadbb7911543c3680b6bd80cc2e3c00000000000000007af4d0bd9b72723c0000000000000000f49ab2bd43d2573c0000000000000000b21198bdb7583f3c0000000000000000e00089bd729b2c3c0000000000000000234670bd1eb42a3c000000000000000095da5bbd789a323c000000000000000037414cbdee23373c00000000000000009e3a29bde23c083c000000000000000013d5a539fb8c623ae3595fba056b863c1d56edbab7ccaa3b4cb735bb57708b3c70a5b6b8475b9d3aa0deb7bae930923cd75ee5b901d8a33b74512ebb62f4923cea8956b860124a3b466662bb77ba743c1a01afba9746513b55e31bbb756f3f3c40a143b94e8cd53a9df835bbe8d6263c8edb13bbb7ad893b304c41bb6ab5833b2a6b6fba692dd03a018f1ebb7fcec53b0fdc44bcff3f883badb0953b4a4f67bcb644e3bb7d992f3b9e64723b2c8833bc62c52ebc57089b3b07dd693bbbd932bce1c01fbcd8559a3bd93f323bfce00bbc99bf37bcceef7e3b89c1053b69baeabba24b08bcf42b853b34b9723b03ba9abb3c3c07bcb2743b3b6ebed43a1bf175bb0e6790bb8315763a741edc3ab4f4373a02bdbebbc302ac3a640bef3ae1234cbabac9a5bc6bd935bcdfcd20bdf1cb193c6d601dbd0bce46bd39702fbd36293c3ce5441ebd2cd135bdc2a61fbdf0cd063c1eef34bdfd114dbda27720bd4980133c62bd17bd3eaa01bd426807bd5051f73b16c300bdcb96c5bc30d7fbbcd8a7f53b1485a8bcf78bd2bbd579cbbc74f3e33b141a66bca1e8673b836291bc1c74d63bc69285bb3d23923c2f7d6abcad68c43b2ec6b33b61183ebd2958873e07b8793f6084123cd3694dbdb4a87d3e9678733f9faddb3bb22d27bd451b643efb294a3f9c2fc93b50621abd68353f3ec0702f3f0050883bc705fabcb9ae133ee1f1053f0ce78e3bf6a8efbca466d13d1732c53ec67f903b8260bfbcaf1a7a3de8da753eeb5a7d3bf41b99bc6fe46f3c0375d63d8eb5603bb7167bbc213466bc8bef6c3ae70cc7bda1084d3c00000000000000008eefdcbd3c9d7c3c0000000000000000d07d9fbdb9f3313c00000000000000005ade99bd7783433c0000000000000000fc1c76bdb2ae1e3c0000000000000000b21974bd79842b3c0000000000000000fa914abde8da173c000000000000000066024abd8b4d433c0000000000000000539525bd19e11b3c00000000000000007e70c1babfa99f3b1b2e91bbc3927a3cdd161bbb3093ca3b343e533b3f987d3ca27a19ba4dfcd23b4ee2d53afdce853c05128fbab95baf3b79a387ba87b6793c096378ba3726ac3b46a706bb4148513c476e8bba9ba0b13bdba6dcba7767133cc5dde9ba4b3a893b780ba2b904b7a23b937ec8bab051673bb489e83a206f27ba5c7991ba9235263b54e81abb3bba243b81affdbb0f20393bebe18a3a041d5fbbb3e3c6393e1fab3a592b973ac05e01396a002cbb5a05713bddba33baf78666baf4cd80bba0e4733bb297983ace8f5a399418b6bba787803bfc5a313a37defb37f5ba43bb78942b3b35a94f39a3af7d3a101487ba604f973a8ab2d23a4b5c053bf63c303b726fb8babbe297ba11c4843b81ae2cbb7f3202b9a110f6b9dee38f3b1e47ecbcabb80ebdc76915bd223b083c6f1815bd62c4b7bd8d8f13bd51c81f3c712635bdafe6b2bddffe1dbdbed7ec3bfd572ebde85b96bda87b18bdefa0dc3b249a15bd2f4456bd49740abdb7f1e53be7a4febc93e91fbd671bebbc3d40b63b97d8b8bc470dbbbca341b0bc5a18ba3bb73d39bc6a4e03bc190651bca7eea63b5c2b08bca97e883cc0112ebce152ae3b4e0dc93bba3cdcbca71ec83dd41b953f77218f3b9f91d0bcc166b93dd3c28d3f739d933b95ceadbc209eb53d40c8733f96ed233baa8699bcf6e89a3d4d50473f9d7c303b30ae7dbcd3786e3d4ceb183fc358f43a55dd52bc8e43163d428ada3e19c08e3ac73922bce62c5d3cc107833e4449aa3a8d71a4bb817afdbbf239ba3d1eb5f53af0e397bb0dc3d7bc2891a8bcd78ec2bd2d002a3c0000000000000000a6c8c1bd380d5a3c0000000000000000a70491bd37971e3c0000000000000000669b67bde2700a3c0000000000000000e4d23ebdbf0fbf3b000000000000000008e82fbd1727f73b00000000000000002ddf25bdd81ef93b000000000000000014c91bbd79d5173c00000000000000003fa518bd220b033c000000000000000000000000000000000000000000000000a326daba8f98c93b4474d839b675223cd423debac69dac3bbbe08c3a5862ee3b5007c7ba857acf3bb49847ba47adfd3b8fbd6eba20e3b93b659b49bbbbf8b63b63e2c3baf747af3be454d9baf3e72e3bf5b7b2bad33b8e3bfcea2e3943f284ba600c98bad6385b3b514ce539539c02bb0000000000000000000000000000000000000000000000000000000000000000534c0f3b7234193a1db2b9ba768def3b4d563d3b95fbb03abead90ba8420cf3b53070ebbe785253b11a389ba45028d3b330098bab84afd3adbb875bacdad933be7ba18bad536da3a0396e8b907c7813b108e003b25d82b3a49da58ba91c69b3b214c4c3b003a52ba80bc24bad0d89f3b0000000000000000000000000000000000000000000000000000000000000000eb0c14bd527bb4bd70d2e1bcdb4f813b652106bd3e48abbde928c8bcd709513b2f6e05bdc87887bd57a8ccbc7b9be63ad6fcedbc793251bd81cbb9bc7a69143bc7a7bdbcccd91cbd934f9cbc720e253b0dd685bc7018ddbc23e960bc9f6d233b72c529bc09281dbcff9100bc1585113b000000000000000000000000000000000000000000000000000000000000803f349b153bbac286bb85d10bbd6a36953f50d8b63ad84115bbd55c95bcdabf783f1c06243acfefd3bacfd56cbcaf2a4b3f169f27b9a5944839678f5abc1ac31d3f7b063939d9fa15b96a9475bc2adce03e682982ba86ba083b79259ebc5699873eba758eba46058d3b27cadcbc2109c73d0000000000000000000000000000000000000000000000000000000000000000657c41bda2b1b13b0000000000000000cf47dabcf9224a3b0000000000000000113f9cbc2994743b0000000000000000023178bc94c8223b000000000000000077ed72bca9141b3b00000000000000006fa189bcee04133b000000000000000053c1b0bc8dcf823b00000000000000000000000000000000000000000000000000000000000000000000000000000000687f9e3a92b6babbf48b323ce56d2bbc6cfe863aba7d81bb7b10df3b6b611abc671f653a64f2c0bbbba0213c88b612bc38e9903ad74beabb19041e3c28ae03bc5bae193a4ab2a9bbf2ce013cd374eebb4d5562b9c1701cbb67f2983b6cd0e6bbad4eafb977c933bb8986993be145eabb0000000000000000000000000000000000000000000000000000000000000000c118943b62c6eeb8bf70fd3a4b60cdbc2be96f3bf315d4b94de2e03a8d0cadbc9a0a3d3b41e128b98890e83ae4c4a5bcf9672a3b1167b7b907c30c3bc7148ebc3f9df13ad8c81abaeefab63ae2c97ebc0d3c553ba255d8b99f63f83a8f8a41bc091e703b05e706ba7828113b67e726bc0000000000000000000000000000000000000000000000000000000000000000e64abdbce1f2c0bcec784f3a5c498cb97706d7bca5f49fbc7b8ba83af46cd0b99f9c95bc3865a3bc88dbe13a195c48b916a728bcbbdb90bc8004d93a79b2b4b8e4b9c4bbc4588fbcdbfbca3af0f981396d9e27bb25926ebcc4b9643b19b05b38f1c2de3b3f825ebc0c25753bf851a1b90000000000000000000000000000000000000000000000000000803f00000000065ceb3abd3dd7bc81e9833f4ae792bc6fbadd3aa70c8dbc17e95e3f960318bc0d81a43afd0080bcbb3c383f29320dbcd46c813aa2aa69bcf9d7103f30bc0abc91f6133b88c781bc7dc5d63ec15f38bc6b11e83a5a9888bca7c58a3e24c841bcaa97f93a5993b1bc375a063e718c87bc00000000000000000000000000000000000000000000000000000000000000001eb4c4baea9b203a00000000000000009df582b9c26df7390000000000000000114c0d397ff88339000000000000000034832c3919b7b8b800000000000000006184953aa7b30a390000000000000000e6ef853a65fdf5ba00000000000000008e54fd39521ba7b900000000000000000000000000000000000000000000000069c2e13a881d78bc2e53903cab90aabb7552a53a60071ebc1bad333c6a1caabb8030d93a20da3cbc00a3633c079d7abbd9a79b3a083649bcf902743c51759dbb2543e03a93784ebcca24673c04488cbbb566143acf3e2ebc5ed13e3c3c144ebbd9d0fc396c160fbc5ecb153ce21112bbd7ac9bba87cb9dbbd8488e3bc2dcdfbadb76533a096e2abcb208433cb77915bbb3b781bb5294cb3a36bfa23b0f170bbde628df39d875583a30c6a33b401a0fbdd95df0ba8943783af3909c3b08810abdfe770ebbb3de083a1c73a23b4c0103bd2dad5bbb5d619b3adb67913b184eeabce3050abb7fd9003aeca4913bcf16d1bcca6efdbac5af273abdae903b908dafbc9f993eb9cadaf836f371803bba537fbcc4a00fbb37d1803a9389853b8eec83bc9a14793ba49475bc4f9f06bcb308ff3a7936a1bc5b9d9dbc1d95c4bb626f2a3ad8eba9bc63e9a4bcffc6dabb3581963a4ccf73bc9eb6a3bcae27b2bbfac2cd3aaf73cbbb26cb7bbc2c08b8bb5dd86c3ab95020bbf2b87bbc1e2a80bb0fdf943ae382833b6a804abcc31548bb1ea08e3a18f50c3cd02115bc789c88ba2224533a71ecb83c2792c2bb28854cbb899fe03a8070b83b1a0656bd242f843f8e1fe33db7b4db3baed956bd8af8733f024cd03d5e60b33b66f82cbd5fea503f9ebdbe3de6d1ae3b2cf016bdae1f2d3fbd879f3d3c66a43b54f90bbdb325073f226d7e3d0f25b63b27370ebda9b7c93e49e7323d3c489f3bae4a0ebd81aa833effcec93c932cc53b85100fbdf794fd3d1036a13baf78b43b096e09bdbdc65c3ced5d43bc62787bbcdf4b2b3b00000000000000006e3e83bcee96373b0000000000000000cfb75abc558b203b00000000000000006cfc37bc5ead023b00000000000000004f3c1abc32f80b3b0000000000000000823722bcdabbe43a00000000000000006de21bbc68c8df3a0000000000000000b16e05bc1686ba3a0000000000000000bbb614bc9323d33a0000000000000000da8c3f3bc84295bca8326c3c4feba63b18abfc3ae00588bc1d64613cde5bc63b2d05313bdb5189bc811f773ce318933bf501143b52f98abccdd66a3cfc79b53b3ff4163bcf6391bc65b4653c58b98f3bac941e3bf3a26bbc4a92483c916ba43bade6aa3a3edc5ebc3c4c2a3c6b4ce13b2b4d873adaa023bcb5b8ed3b329ad53baec4503a799b43bcb2cc113c36c6c93b714d1ebc558dc53ac35cb33bb8a10cbda3e328bceb9e3c3bbce3cd3b01be1dbd6a8d34bc23d3b93a4704af3ba1020cbd60e11abca1b13d3b8026b33b26dc0ebde38b15bcaab7973a07fca53b9548f1bcaf1720bc1b27b03a34f2a23b65cce5bcb10918bc0141923a41749f3b0688bfbc8281f8bb4444e73a832e9a3b4832b0bcb958febba5368d3abf1f9f3bcb0997bc3c7d1c3c7b2e80ba6d9a96bcb764313bbce07ebb23421dbcb14a8fbcd590843b0d5b8dbb07b61fbc4a488dbcb39ea33b61abc9bb57a228bc34f684bc2740263bc155bc3a5822f5bb7f225dbcdb691f3bde9a753b1c20e6bb0aec59bc65f9ac3bc48a113c02feb6ba02b24bbc80b0803b8bae683c6d00c3b9855511bcaa41733b0de4993caa5fa03bb1ff17bc502e153b0348dd3bf12665bd6d4b5f3f7aa6843e756b0d3cef2081bd918f503f6b7f713e3ebfd63b9ce148bd1d662f3f248c573e8c9f013c42124dbd596f163f8a5c333ef364e03b28f02ebdf05aeb3ec4050e3ef51be33b8eeb3abd97f7b13eda70d73d5bacba3bcc211dbd2b85693e425f903dcfae003c5ef92bbd3b10f43d9dec0c3d9bc3d03b339b0ebd1806963c1e4bc33adf7febbc594abb3b00000000000000003a91f8bc226aa03b00000000000000008beaddbc4c4cb53b0000000000000000117dc7bcfda2933b00000000000000000da9acbc925e8c3b00000000000000006698b0bca84f763b00000000000000002a35abbc0e55823b0000000000000000d266a8bc05ba8a3b0000000000000000f2278bbcbf5e863b00000000000000009e0f3c3bd5589ebc0858563c9cd9793cceaf263bfc3b93bc73a62b3ca8c97a3c2cc6133b5f848dbc6a6a213ce46c763c0699003b260b87bc4baa223c9c3b773c3035113b30db9abce850183c5ef28a3c1d00d33a248079bce6b9013c8569773cf6c78a3a07e175bccc080c3c18b77e3c7c93c83905bb45bc953b963bad627e3cddc0f23a434462bcef09033cfc346e3ccc0d8dbc08f85f3b8c4cad3b652f09bd327e93bc3607843b40a8cc3b432b19bdc6dd90bcd965773b0527d73b33f40dbd441492bc620c663b784db83b431403bd75d090bcd1b24f3b84e3d73bb222f4bcfa628bbc3bf8483b472caf3b38d9dbbcd0a780bc5a9d3d3b9a70b93b7622bfbc36de82bc09ea4c3bf984a03b9b5ea8bc84316cbcec46483b4419903b0cea9dbca9674a3c88c2163ccd10d4bcb7d3843b345f36baa7e40a3be9c3e8bcc6dfc13ba969cabb5a36aebaa8fed2bccb6e9b3b8f80a6bbf95d6dba8cefc8bc5dc5bd3bc02e77ba1edcfc3a6e09bdbca98cae3be17ef43acbb78a3bbafaa0bc9f1eab3b5de8d13b8b00963b25739ebc0ebaa03b53dd263c35fa4d3ce02d9abc3ac3b93b7ff7833ca7bb723c165a8abc0ecf713bc300cd3bfe905bbd867e373fedd4d13e0628193cf04a7dbd2cfb2a3fb179c13e9c57073cc0d15fbd0a6b143f98efa93ec34e0e3c79144bbdf1eaf73eed738f3e8382f23bb0ea3abd766fc43e0b77663e91d4f53b315833bd98ae933e335e2f3e6e1a033c1a2931bd85fd453e637ced3dafc1fa3ba73325bdc1adcf3d624d7d3d145af63be88f0cbd0c5f993c9776583c9e8820bdfdd7b13b0000000000000000aa7d36bd4f76fa3b0000000000000000961f21bde5b5df3b0000000000000000994516bdfc44e03b000000000000000061210abd76d2cb3b0000000000000000d805fcbc0601c63b00000000000000007fcffbbcee19c13b00000000000000004b21ecbc62aadb3b0000000000000000c96dd0bc4338943b000000000000000085904f3b147295bc457ffc3bd7b1b83cb047303b163d86bc1f63b13bdb22c13c5414153badbb83bcaabfda3ba942c13cc8ed263b23e082bcd18b913b28c1c63c2c1e183bb30877bcad3eba3b4ab7b23c0006033b13466cbc41f25e3b2623ba3c8904c83abb7547bc5987113bae29a63c55cd9e3a870038bcf2539f3a5cd5b13c47e4e93a610748bc9f2e563b0c52ae3ca445c2bc71cb983be464a73b48bffabc78d2bdbc6b98833b2bfbc53b5bb302bd37c2b6bce43f823b3621913b771ff3bcd4dfc1bcf506953b5823c23bb3bde8bc5453a7bc89cd423baa10933b94dec2bcd343b5bcec11853be2a5b43b2718c2bcbf1f9cbc6ce26e3b20f28f3b442ba3bcb556a3bc3c03743b126b973b9d4393bc4d7890bc5bf0403b75af913b185687bca05ff63b8f05943c249200bdd69d993bc5d112bb5d683a3c38170dbd2b2df33b09c8dbbbbe72dd3b0c46ffbcc8b8d93b2f93f2bb0c9d033c3de400bd0d0bc63b7dcd00baa8c0493cb354d1bc1e678d3bf83eebba9d6b563c3ea5e2bc93b6b43b6bf3af3a3032843cd705c0bc4b48d73be74aa63bd4e3b33c90a3c2bc8b94c53b51f6133c1c87c33ce5d7a8bc524fa73b18c4d33bea9543bd7ab40f3f90c60f3fe3e4053c062055bddbdc033f6a4e043fd7b9bd3b355c3cbde4a7e43ec0d3e53eabfd0d3cce4735bd7219c13ea2a5c43ef3fbaf3b8f820fbdb0b2953e7df5983ef3b4ef3b136221bd38be673e8d4f703e611ac93b6ab00ebd7f88183e5b84243e1558e03b0cff0cbd93769f3dcf82b83daa34b53bcdb2f4bc8f574a3cfe38ba3cfbda3fbdc954d13b0000000000000000272555bd7e51023c0000000000000000266938bdab60dd3b000000000000000043f436bd6c12f83b0000000000000000e01210bd5309a93b0000000000000000d9e822bde086e33b00000000000000009f270ebd921be33b00000000000000009b4814bd6780e23b00000000000000007b2a03bd8b70bf3b000000000000000041a1e13aa0f54abcddca4db89a3eea3cfa72bf3a2eea19bc86eb35bb4fd8f03cdeef1d3baec705bc4cbf66bb666bf33cd4372439adfb07bcca043bbb9b19ed3c2520db3a261a25bc807e3cbb0a4eec3ccc006e3ad94809bc324475bb1d6de63ce9bfd2397affe9bb0dec8cbb9417d33c545323395d03c5bb69f6a4bb5f22cf3c9fc5b43a8a93febb0e4f18bbb6b3c13c8d23d1bce4e4933be2d08d3bb07cc0bc67ffdabc1339cf3b1ba9813be2acc0bcea8fd5bc6afbab3b07a4703ba2ccb9bc5e4cd2bc0a7da23b4803923bc2f9acbc81f7cbbc7f94963b095b4b3b11d899bc971dc4bc0ae8893b587d723b1c0688bc3d02b8bc127c903bf70a673b0e1d61bc0c3db5bc99358a3b099f4e3bc6903dbcfbbc9ebc6a9c7f3b74d1563b39b146bc7b85f3ba2e2eb83ce28913bd62c2c13b3a3c44bc14ee4f3c9df122bd97db063c76809abc9954093c81ac19bd4cd1e83b7f8590bcfabb173c408910bdd1bee13ba03652bcd522623c1d4a07bd9086e53ba7603dbcb3de8c3cfb80fdbccbbaf13bb4f001bcd8cfae3c7477eabc3aebe63b053f8fbbe1d8db3c7a8ae0bcccc9093c5be14d3a2214ee3cfa0abfbcbff1b43bc679b83bd54c1fbd452bd13ebcd4373fd69bdf3b5cb937bd5ca0bf3e5d6e2b3feae4c93b9d9021bdac91a83ea98f153fc90dd73bdb611dbd1b5d8c3eaef8fa3e42e5cc3b756707bdd34e5e3e8d52c83e5708b23bb73301bde8e0243ed467983ef655b53bf03af0bc39dcd63d19574f3e6474bc3b8bd2e2bcd2474e3d6659e63dc866983b332ac3bc61eb153bb053e23c15735fbdfd55dc3b00000000000000001a387dbd99b8253c0000000000000000cf105fbd1658163c00000000000000005fc64cbd3f141b3c0000000000000000cf5233bd5b69fb3b000000000000000028343abd6a91003c0000000000000000f5af2bbdf3fb013c0000000000000000021029bd38d2083c0000000000000000092e0cbda931be3b0000000000000000ec158a3a708bc5bbaa41debb4228e63c653f053a95da64bb32ab24bcad4afc3c8c6e3b3ad050b0bba208dabb0c8ce73c0c0b013a0b8d5bbb31c20bbcba99fd3cd56a053a4ace7fbbd91623bc9ac8f13c59142f39491a3bbb0f4d23bcc587dd3ce4af243a329e91bbd5ccc2bb5e28cc3c3be5a1b9a2b08639e96c29bc28b8c63cc0470aba73a142bbd15ad1bb6d0ac13cf82ac6bc84b6a53b2c413b3bb4c878bca3c9d8bcdd75c43bc2762d3b34eb78bc3e85bdbc28d0933b60b23d3b725360bc050adcbc788fd63beabb0f3bde0041bcd8c7b8bc10a6833b3586243b845227bca378b5bc86818e3bc0991d3bc5b80abc53aca5bc3bed8f3bea09293b952f07bcf234a6bc58a6933b395ca83ad5e985bb83bf98bcbc09703ba51e0c3b96cfcbbbef8449bc05f89a3c4b5111bdf1fac33b455fbbbc093cfa3b1b8f28bd6036023cfb42a4bcd049a13ba6600ebdf847ca3b4772cebc7b6cbc3beb4f14bd3c9fd73bf96fa6bc96b5523c01be08bdea24c43bfa94a6bcf7db813c501107bdeac4f53b054f42bc773ba33cc3adddbc71f9c53b6dc95abc308ee03ce44cdabc6e7aca3bd1d2c4bb1541fb3cce3fbcbc4f45d93b000b833b477ce4bc572f843eba935f3f40d8a23b223fffbc73e16e3ed616513feeea943bb6bcdcbcb02a533e17cb2f3f5024803bb883cbbc9a042e3e0db1173f3848683baa4da8bcae3b073e1253ee3edf49753bff5cafbcb1e7c73d6ea3b53e2b30173b714ba0bc4458793d89ac703e4950343b0f178fbcc0d2a83c6b5e023e8d7b893b114383bc505100bcfa9bd63c036864bd075bf13b00000000000000009a2982bd58fa1a3c000000000000000082fd45bd79d2ff3b0000000000000000d9c548bd3d98053c0000000000000000bbbb2abdca03e23b0000000000000000980833bd32510d3c000000000000000069e819bd8f6dc13b0000000000000000895027bdd2941d3c000000000000000002900dbd3ecfc13b00000000000000002b92beb9c3151f3b391a49bcd520d23c33b000b9434d8b3bd2b83ebc274fb83c20ceeab9a82b0c3bcf0a3dbcaf28c63ca85ad1b829c7043bbbf343bc2073c63c7e96cd370d98753a9b9031bc6d23c63c8fcc75b9e98ef93a9e1838bcf2ccaf3c9f4c2eba83b40a3b7e3226bca572943c7b7f2abaaa2c733b84f821bcdfab803ce2a521ba2561343be1312ebcedfd9c3c132aacbc94a19e3b18f9d93a5c6c02bc260395bc2a85ad3be99712399f1e80bb2c159cbc53519d3b7bc49c3a593685bbec4599bcb8f0803bfc893b3a91a039bbabe395bc075d753b4ab5d63999a739bbfe8196bc2a4e4b3b6796f6398997b0b94f4e7cbc5980473bbd65913928ef2bb71caa61bc34ec223b953b19b927fc0b3b44a86fbcbc1a3c3bf4a3d1b8a908a93ab543b6bc49551e3cb08c0cbdd2ec8d3b5b3df4bc1d7f52bcbd0610bd6233ce3bfedafbbcc08f60bcab390cbd8358993ba011efbcd8890bbccedc03bd1a1fa73b4da5d3bc6900b13a1b87f0bc2009a73b2825c1bcdc8f8d3b4ee8e7bc947acc3b3d559ebca7cc343c9df6c8bca660c13bfb2884bcfcd58f3c3eaeaebcbed9043c715955bcecc8e73c99dca1bc7a75a13b7ce9063b9c1472bc4596e03de81c843fcbe1183b040a71bc5f76ce3d6ed1733f6bfb0f3b810a57bcddd8b73d2dba513f9dbcea3aba123bbc5ab7963d17ab2d3f50e4e93ac81831bc7a4f683d90f4073ff722b53ae5c31fbcbc70133dae22cc3e2b1ec73a05930abc6f6a883c4bba853ef62f503ad82fb5bb3c6da4bbb9bc043ed679853a38d9d3bb13d4a7bc29cb933cef335cbde882cd3b0000000000000000c0be55bd0dfaf23b000000000000000018942ebd5f01ec3b0000000000000000044018bdffbae03b000000000000000040af05bd31d4b03b00000000000000007d5c04bd239fb73b0000000000000000ab9f03bdf969b13b0000000000000000fff908bd9ed3b83b000000000000000058c902bd7f49a23b0000000000000000000000000000000000000000000000005d21bdb9589ec13bcbef3bbc9a4d583c03c285ba4715b13be85f19bc0d182c3c08fdf0b9ae5e723ba7c72fbc0a88363c62518ab9dc87793bdd7e34bcb567413c617c0fba2ffb883b6de11abcad682e3c3b5e40ba4e9d913ba16e0ebc8a92fc3b269c53ba02b6af3bfcaa0fbc6929f93b0000000000000000000000000000000000000000000000000000000000000000ef0b30bc46a0323b946c23bad6dc093be0da05bc55db053b01774e38ed8c303b7c7907bcec7cc33adf52c1ba042a6e3b0b9804bc201fe23a97e8fdb8be1a3f3bb50df0bb6a44a33a2b371cbaf10d5f3b9b12aabb35d1b83a603f19bacc098d3b2d17c0bb5d7b9c3ae35845ba7ec3b23b00000000000000000000000000000000000000000000000000000000000000000056ebbc9f5bafbc2c93babcc99b053bc352cfbc7cc5c1bcaacfa2bc54dc123b310abcbc614684bce5209abc63323d3b7f92acbcee8311bc96598bbcca38f33a0de59ebcc55a91bba4587fbcac123a3b578175bc2f33a1b9e16050bc3b282f3bb56b78bcc48b123c405145bc74b23f3b000000000000000000000000000000000000000000000000000000000000803fb652263a130fc3badb4599bc281f843f3d20313a58fcd2383aa644bc8a5a5f3fbb1a563a7042393a39422abc4d8f383ff0ae00b88d873e391abc3dbc1b0c113f694187b9380ce63913b563bc9efad63e2bdd44b9332b1a3aadc988bc50678b3e117b5fbab348a93acce1b7bcc992073e00000000000000000000000000000000000000000000000000000000000000005400d6bc7167153b0000000000000000e27f89bc6a0e0e3b00000000000000001ed06bbcf0ef7b3a000000000000000064bd52bc9f14e03a000000000000000099555cbc3263e53a0000000000000000bc2d68bc845aa73a0000000000000000680197bc489dd33a00000000000000000000000000000000000000000000000000000000000000000000000000000000a234dbbb6211123c835d153dd489c93b05c285bb83a6223c4a92173d87d4083c38c013bb5ae0283c97e5f43c2c9f083c7fb4bcba85771b3c65a9b73c00db0d3c9fc870391cfcc93b886a873c19ecbc3b81cfe6371f2e8b3b2bf2273c57ff603b4ab765395c1d3c3b2affdd3a3f261c3b00000000000000000000000000000000000000000000000000000000000000004abc91bb6bca51b9d2a9063bcd9e293b99cacbbab02018bb4c1a043a0a8690bb51374cba233cb7baf24faab86ace42bc66842c3a7806d3ba37c24db995a04dbc0987073aafa58bbabfe096bb836210bc1366d1b99d15ffbaa1378fbb27f68ebb61c2213b62b0e4ba076aaabb266bfa390000000000000000000000000000000000000000000000000000000000000000b44558be145f52bb58cc0c3c74edadbad53d55bee4fb0bbc20f3c43b5e448e3a44863dbe252a91bc8479cc3bd4c547ba065819bebfd9a1bc6021633bc053483ad75ad8bdc77a6fbc9a8a863ba418a6b9250582bd20eafabbf8ada53ae480193b3b5181bc5f7da0bb7aebdebaac37053b0000000000000000000000000000000000000000000000000000803f00000000fe72983cf617e7bd8979ac3f09f4dabdeb0f553c22c190bd0d578f3f215183bd747c2b3cd89150bd117a6c3f82cc34bd976f063c89ec0ebdea53313fd4c0ecbcf5b5e53bcf9fa3bc008de93e77b58dbc4496b13be90798bb93bb6b3ed190a0bb0df78a3b23cdb43ab2ce823c7c9fd53a00000000000000000000000000000000000000000000000000000000000000001a1c583c31f571bb00000000000000001f13cc3b7e39eeba000000000000000094f36b3b34c71fbb0000000000000000393e903b4c2688bb0000000000000000c1ce023b62a004bb00000000000000007aabc73a45362ebb0000000000000000a6ea9a3ba2db88bb000000000000000000000000000000000000000000000000f0b3f9bb34d4983bfa15a03caef4d93a904223bcd286dd3bc9571d3decf1c23bf607cfbba6c01e3cc909223dc4bd2f3cab9999bba9dc2f3c9e04123d212f5c3cb71458bb822f0b3c0c2fdc3c508b393c590c0bbb86bbef3b22fa993cc5f82a3cb294b4ba7af8a43b3c87403c4c8cb73b76d9fbb8b036d83a2614243b6fe91e3b65fa0cbbc4e10c3b41f178bbb39dfd3979bb49bbb8aec8b84c9e093c89354cbb86b8b1bb2bc7d1b98366563b6cbf873ca9b29fbb0a47e1ba1e66443b879b923926f652bbb0efd8baca7c293b0711c1bb9f59c0ba883528bbfca51d3ae40906bcdfecc2ba40a91ebb3f722bbb00cf67bbf994f9392c96d2ba2bc1abbbe013dabaa1ccb9391307aeba0673fcbb90781c3bfe283c3afcbb84bac61ca9bb7c74ac3b676ef5bdb9087e3bf1f64bb921ed343a0ccc50bedf8dfb3bec0235bbfcc5033bf12b5fbec4b077bca29b493bda5b223b74494dbe8862c9bcd279723a8aa70f3b579d22be4f7dc4bc5837d63a3f9b493b8eb7edbdc4219dbcf7d2f8ba4bdb8d3b47a684bda61a66bcdc5030bb8a08f53a3cda96bce6a990bba60e84bba9d7433b1b9d6d3cd8618f3b516b0dbbe07d5b3af55b1b3d6d0c4dbed580ac3f66018d3c5cb2243d65b142be4c0ba03f01aaad3c5486f93cafd918be2ce48e3f226e153d7698c23c73b8eabda8b6693f3c6f383d6fa9a33c0275abbdec032e3f83ca383da7618a3cace963bd775de33e48a5233de2aa5a3cedd5e9bca13a5d3e141a113dc816e63b4385393bcfe1a23ccd6a083d06e5193c37a59fbb23c3e3bddaee083ac37e84bc0b60703b000000000000000095ed4dbcfe920a3b0000000000000000d64a92bcd3b57a3a000000000000000077fd83bc79c08f3a0000000000000000900d88bcfedb9f3a00000000000000009a8e49bcce7f0cba00000000000000001e512ebcdaaaa83a000000000000000008533abc3fcdf0390000000000000000734b08bba979303a0000000000000000cb4903bce609b33b2484343c8844ae3b1b1203bcd7ea0e3c943fca3c7dc25a3cf9e2b4bb4312083c075ff33c29cd833cbf92a0bbd0ba2e3c414ad63cf659933c5bcd3bbbd662e13b3d899f3cdfcc5d3c8de6baba1f3adb3bb01e6b3cd199473cf32f14bba877a53bafcfde3bf45ff73bfdf038bb82c3433b1c22c73a88b58b3b693501bb0b55e43a4c5f9cbb5619463a9a7f76bb573514ba97c53e3c5c053bbcdf6eb3bb96983cba3915db3b82e063bb309586ba8a928abb4cbef83b21271fbcaac42fbb0b200bbbeb28313bc65926bcc7c9ffb968e705bb8c1f403b1ccd20bccf677b396f3968bb857b2dbbd978abbbb70f4d3a47c435bbdc292abbcea974bbabf6403ab095cebaa33a9cbbec74db3a9c51843aeb57f6baa07282bb7df4bd3bbbba96bd64e604bba99de6bbadcd3d3b7d751fbed59dcfbc42b7fbba157c273b013a2dbe084b38bd7e8119bb4b127e3b68f128bef4df40bd4e5c5bba387c7c3b5c1700be68112dbd8e7779bbb705863bb9fbc6bd2be509bd62ba77bb0401573b1d3359bd7b99a3bc067584bb633b813b854498bcf688f4bb941a35bbaf4a063b5472ea3bdf7dd23b2fd55abb8f84563a8e22183dc25d49be96f68e3fa948693e260e3a3d629a54be40988e3f49535d3e718a083d612f29be4aaa793ff312573e1d8d023d4f060bbedce84e3fd97a3b3e169bc93c440cd6bdac021a3fe5571a3e0725bd3ceb7099bd6980cc3ece88eb3d61239c3cb0704bbda060503ecf2d933ddb725e3c5a91a7bce259123d34bc163d2f0a433ca85868bc87ae8bbdcdee9fba993d75bd344a4a3c0000000000000000cc917bbd689a553c0000000000000000077862bd8c7f2b3c0000000000000000ca2e4fbd2b6a143c0000000000000000daaf20bda6cbb33b00000000000000009f090abd2fa6d33b0000000000000000dc0ac1bceb74323b0000000000000000e52a8ebc9875773b0000000000000000cea919bc3a24663b0000000000000000588a8bbb682b463bb1cf0b3c980d113c74e4bfbba72f913b0073a53ca6798b3ccaf7b6bb1569033cb78fbf3c6f37a33c27aa58bb2841023cb944a43cb775a13c035a8bba136dad3bc567a63c18557d3c067138bb0bf3e73bcee5373ceb895b3c360811bbbba3993b88ffce3b19e5013c2f6906bb5f5d343b4b05433a4a40733bcdfefebac955dc3a484631bb69c2063af8faa7bb6338aeba4668293c848db3bca7c813bb1dfc14bb74dd123c3ab228bcfd1a5eba5d4659bb9483c73b98871ebc09db8eba1a5531bb57397e3bba1d48bc4950c73a8dc82cbb24f896397ca918bcec9d5e395aa0ffbaa51b8e3a770620bca5fb9438d48a15bb7c9d35bb68e403bbd4f26fb9dcf171ba51a25dbb54cf83b962d1c5380e02e3bad38b87baf788263a403d50bdca6b84bc967241bca687a93b7360edbd318862bd8fe10ebc7ca9e43b385610be37f08dbd419b16bcc155f53bcbb701be04d790bd471de8bb1dd3c23b1b51e2bd9a4680bdf91024bca2eec23b80cb9ebd12af3bbde6dd09bc3e0ca53bd9c43ebd5cced7bcf63fb0bbdaf7313bd5fd77bc6bfff1bb5111a3bb1de1893a38b1b33b86180f3cb4fb56bbbc21ec3a0070053dcb5633be98286b3f4da2e83e97fa253dcc8f42be466e683f9117e53e3a350e3d77e424be499b4e3fb743d03e329ff63cade903be6340293ff60ab03e5fabd13c0ff8d1bd10a3ff3ec4a58e3e43ffb83c9c7898bde4bbab3ef092463ef5599e3c648950bd64a7343e9af9ec3d43a6843c8fe9efbc2e511f3d725a323dbcf5403c27feb8bc263631bd76625ebcbae7d9bd328bae3c000000000000000058f0e1bddd8caf3c0000000000000000cc48c9bdd9e09e3c00000000000000001ab8a6bdf95a753c0000000000000000a44f8cbd21ff573c0000000000000000d3db4fbd70fc223c0000000000000000bb941ebded1c233c00000000000000002b95cbbc8eecfb3b0000000000000000a9fa93bcfc1be43b000000000000000036392bbb53750abad249cb3b2bf8373c3baeb1bb345d6d3be694713c6b04a43c00f9f9ba3da41f3b5d3a8c3ccd2cc33c9fc426bbbebcfc3bb1b4873c8008bd3ce54165b7c60f343bee88223c5cf8703c2dd888ba055f913b5c091d3cf7bd603c92d390bab9fd5c3ba9e4803b17180b3c903476ba3c44bc3a31edd939a3d4623b5f4e6cba3281423a682585baf1610bba79a659bb965e17bbf3f2063c9691a4bc656997ba54255abb879ffe3bcba342bc4eb6a33887d564bb05079e3b965b4cbc06c21b3b6d0d87bb6933663b80713cbcb8ebd73a313df3ba05c9153b36c26bbccbc5a43a9ce202bb2f5cb63a8efe04bc3be5653b9db39dbb9d0b7cbab7c180bb2924f6b8604848ba1023eebac9c4d7ba8b9225bad53b77ba2a23b9396264afba4e6c01bdfbebefbc85e793bca533153ce916a8bd0d92a6bde4b042bc2c7bfa3b3540c3bd92f8c1bdbb8e6bbca6860f3c3244cbbdcb22cabdef5951bc52a8e83b14978abdb9428cbd632484bcab41d53bed9b7cbd686676bd0f703cbc3819a13bbaaa0fbde5de03bd147a1fbcc9f4c43bfe145dbc92a4ddbbc919c0bb391e013a24d1c03bb1800f3cdbd60fbb261f7cba0c1ee63c7c3813be487e303fa908303f6ea5053d84d319beea902c3f38102e3f8ae5e33c1e1000bee155183ffb9c1a3f1587cd3c342eddbdaa09003f0c17043fc467953cbb499abdec84bd3e0222c33ed0239e3c379989bd654e853efe8e8d3e6b95803cfe9c3ebde5ee103ec9831e3e561d553cc6f8e9bc1480293da37d443d7be02f3c6087b2bc6cb2ebbc4269c8bcb57314bea131d63c0000000000000000be391abe5035f33c0000000000000000770f00be93b9ba3c00000000000000003b4ee0bd70bca63c00000000000000001f539bbd3c664b3c0000000000000000b8f58dbd48e8693c0000000000000000eed63dbd1dcd183c000000000000000006fcfabc49ae293c0000000000000000b2bcb3bc9d54213c0000000000000000653dceba279d46ba79e7933bb49b443c0dcd02bb1e385f3ad4163d3cdac1cc3c4c32f6bae3d86e3b139c793c0e12e73c4eb3b7ba3aff6d3b151a4a3cd349dc3c021e66ba22cf953b34c43a3c53ceb93c56d297babb6d993b34f2023cdbf6863cbaa6c0babee5443b30028a3b768d163c3ae52cbb38a56f3bdc2e383a1394093bc4c923baa80a9c39c846e8ba59c08cba21112abbcdecc3ba8f41a53b4b1876bc9d32733a2b30babb8de9863b45e51fbcd38d343b32a6c1bbd585343b983601bc0eb6823b9b17a1bb1ee5203aa29204bc12ff843b65fd8fbb5f44233ae2d8f7bb01664f3b7c08b0bb265b3539f2d6f0bbf776043b1a656ebb37c591ba01e8a2bb28965e3b11cf58bbd849ce3965c14cbb77021d3a050a06bbcd01a9babc7d2bba21b88ebcbe6e45bd5a2ca7bcd1c90d3c4d2253bd9649f1bdfa2306bc0ae8253cc53c8ebd7bfe0dbec8cd2fbc8e8b183cc3398dbd7a6303be1ee06bbc0521203ca05080bd50e6dfbded294fbcd5a8f13bfb0340bd4c709cbd7dad1ebc8951c33bcec1e7bc3a232dbd41cdc0bbcbbf123b131737bc56c646bcc1ad37bb455c11bab792863b2ddf463c6289e9ba80632c38a4e4af3cdc4fd4bd1cbee83e5e1f6b3fb74ed03cb389e2bdb268e23e06bb693fc5e7ab3cc388c1bd05f5ca3eb175503fcb769d3c17699fbdd9e3aa3e89432c3f8449903c28a488bd37af853e6ee4043ff70e723c76c447bd84133b3ed4fdb13e7624423cda1a0fbd6e39dc3d9c663e3eb0fc373c92fcd0bc986e213d62b8343daf1ff83b925b77bcf52b80bcbaa32cbdd3f434be5aed0a3d0000000000000000ad5043be2030193d00000000000000006e6423bed1bcef3c0000000000000000964607be89f7cb3c0000000000000000e109d4bd4453ad3c0000000000000000be6a9fbdc676883c00000000000000008b8f5cbd0e30843c000000000000000021e8f5bc03474c3c0000000000000000a258c5bc75c1463c00000000000000006f1a9bb9e3c90abb54f7613bdc137f3ccc9c5cba79e16eba0951033c9bf7ea3c32352aba908e8e3939af4b3c37a2083dbe21e0baa9806e3b5ab7503cfd6dfc3c7d8155bae5eb043b0ba5203c8cd9b73ce199aabaa509593bc13dda3b6d29993caa78d2ba4f37523b95cea23bbb0f153cb5ea1fba0542133aa54c183b12b1673bcdfce0ba53597f395cd22f37cb7f2cbb1e00e6b9114ba2bbf809e73a72460abc0fb9823b699eefbba9ceee3a130ee1bbaca7d23beb77d8bbc648bdba2af90fbb73b6ce3bac02e5bbb58da7b8e5479fbb79e6b63b43f05bbb11a23cbad011a0bb3f44c83bd2c4b8bbf3459f3945c09dbbcc528b3b1a9980bb8f28bf3a26b3c3bb8a1d373badfb51bb045f15ba63447dbb0529ef3a9d5d38bb715e253b11b4f0b8b09854bbe88398bd2dba09bc784b183c71d6b2bc95d520be8edf86b96e82013c1a3937bd88842dbe49d54dbc6ae81f3cb0e035bd796e27bec83016bc8d520e3cfea125bd3e7a02bea8b461bce3b8b63b8a6309bd3f1fc0bdd28b15bc0f9eb03b7c75b1bc81c44fbd3f4ce3bbd2b2ca3a66082bbce2aa64bc648a66bac189f0ba77c4c63a8daf4d3c820e6db92a8e0fbbfd2b653cfa5578bd9af86c3ea5d38e3f8b95783c53ad71bdaedf593e60ce8e3f47ab833c9c5f5dbd3211523e41457b3fb4fe643cf5e43bbdcc20313ef8cb503fa94a373c36300cbd93c80f3e29231c3f3296183ce380f3bcf4fcda3de077d03e81d4023ce01fadbc202a883d7211573eb463e03b3d5f7ebca8b1143dd261143d2f9c4c3b74e831bc43f794ba03f784bd0b3e47be31c5143d0000000000000000d1a255be90b82a3d0000000000000000ac8226be110df63c0000000000000000fdb90cbe2db1cb3c00000000000000007db2cdbd8d2ea53c00000000000000005fe19cbded2a873c00000000000000009b2545bd72d1663c0000000000000000bd18b3bc57fd1c3c0000000000000000833365bc9c783c3c00000000000000002a260e3adeea53bb8e26f03abbd1ab3cafe5843add4aa3bb99b6c23b8b74283d4d72853995382ebb4527093c8371323d3d9de8b9f2dc933a31b8253cf44c1c3d4d4c46bacec9b63a1f5b173c1920ed3ce9663cba2323123bcbcce63bf959b73c6bd141bac11f0d3bb7f0793b00ba523c0ff582ba07000e3b12c44e3a5ecf8e3ba21abebac2baae3a34af923719d474bb23e5b03ae769c3bba2e6f7b9e33977b9d4fc5a3bdc211cbce737f9ba4a6c6dbb7b25cf3b2132f2bb9fd8f4bac0d7f0393c36063c85ede3bbccd618bbcc61b7ba714ae93bdbce95bb5e8fd8ba15a533bb5cb8b63bbcb680bbf7b7d8b90cdc83bb0e80813b37c530bba789eab988136abb73ddb83ab0a1caba639e453bdb25dfbbc03bbe3aa06f0bbb9209a73aefbd22bbc2b2713b2f29f8bd02b0383aa777c73b6769d53b5b0751be1e949c3c1f8d663b38d662bc393e60bec90ab43a287fcf3b2ff8b4bca7a34fbe60d4a3bbdca4d53b09ccbcbc3e5a22befb6908bc5fee973bc4389fbc70e3eabd7188e0bbeea3ea3a43986fbc7da581bd552b87bba079f0b99c1bc0bb981e91bcc3871c3a20bc80bb745c013bb3958d3c98bc303b159726bbbd38803b003f7fbca9209a3c5363ac3f7bf4cd3bf14f2dbc7285b53ceb00a03fdd14bd3b809e7cbcd5480e3d7c158f3fea0db13b46834ebc8433243d6cd06a3fdff4b43bd0ee3dbc3b66223d4cdc2e3febad903b73d41abcccf4173db73ae43e7c0ba63b52fb13bcb63a0e3df4ea5e3eb836063b120a17bcadab153de462a03c890c163a3c45b8babda94c3bde82e7bd6c084ebe250c173d0000000000000000f84343bedfc91b3d0000000000000000d3811abebffed23c000000000000000013b8efbdc219a33c0000000000000000976ea9bd96dc743c0000000000000000606b67bd981a4e3c0000000000000000ed23f0bc55f5063c0000000000000000dec0603b59e3383b0000000000000000f7fd81bb077cc83b000000000000000000000000000000000000000000000000f229b03a687e1abbababb73b71a7183d553622390505e6b79b86173c4bd3133d56025936ec44773726a12c3cfae6f33c10345e3aa567b43a79aaea3b402fbf3c2fb679baeebe313b893dbf3bfbff8c3ca7a8a5ba5717d13a28ef7d3b77550e3ccce379bac85e043b3f432a3b6af44e3a00000000000000000000000000000000000000000000000000000000000000009dc3dc3b429bc4bb6d006cbbf2b38e3b9bc80d3c5c22b7bbc78151bba422513bdff30a3c70b475bb9233dbba89080c3b9eb9133cef8800bb52b848bb69d7c93aa91dfa3bf5ab5dbbf32889ba3d0e85ba43a7923b7cb88bba77eebe3a2f0b41bb1e5b893b17a6a3ba28b6b63a2ebb66bb0000000000000000000000000000000000000000000000000000000000000000caf23fba032b5cbe5dd29b3b1b65193ba4ea06bc0bee55bed32c55bbf93a793b904098bc9ce93dbed1f64dbc8b07553b4b2d8bbcd0fa1abe29ff5abc59fe133a79864cbccb44e0bda61132bc6ae9193b2918e3bb7a0780bdd73c91bb3520fbba5b8662bb369f75bc8427feba316c15bb000000000000000000000000000000000000000000000000000000000000803f17bba5ba7d19823cae76ddbdf2a7ac3f8ba163b92281343cfe5d85bdf7248f3f99fb353a5dd1d93b234338bd624c6c3ff6d7a93adb3ce03b2e1cf5bce7d7313f08f19f3a6877c83bc8da9fbceb4dea3e0c78ebbaf4fa8c3b721218bb0d5b673ec2fa94ba20d19e3be8fc123b0e5f683c00000000000000000000000000000000000000000000000000000000000000008e9ae6bd83fe813c0000000000000000f7078dbd6ad20d3c00000000000000002e8444bda35fd03b0000000000000000fd9a07bd4b29b63b00000000000000002efc94bc7078963a0000000000000000a22a42bb99c1df3a00000000000000002dd0403b6637523a00000000000000000000000000000000000000000000000000000000000000000000000000000000e44ddebbab115c3cd534b73c9070213c86bfa2bb726d6d3c687ca03cf2674b3c426a80bb7464533c8212853cafd93a3cd37a32bb1045413c5acf2a3c2f3b2c3cee0320bbf87f163c0c57ef3b9dfb073c5ea4f5ba437fc53ba3e5b73b0b64c73bb99d81ba55038e3b310d2dbb178a793b0000000000000000000000000000000000000000000000000000000000000000610271bb82638437dd55703b66aabbbbb7b925bbe657e1b9ce12eb3a7005e0bba16b5dbaa39e54baf2f7193b6f2e62bc5e40ad390663c3ba7fdca739462435bc112893b9e9416db99d196c391696f6bbf224deba06b89139d5c414bbb7cb5e3a47566bb9e3df77396ed163bb15d4b83b0000000000000000000000000000000000000000000000000000000000000000b4093ebe58fc80bc1d992e3c478b86ba0a7f3bbe4b838dbc8107003caff196b9e42f21bec5d0ccbc8961d53b8ab124ba30a002bef290bebc3d13c13b3491363ae4f6c1bdd1568fbc8c27933b9491f6b9a9ab7cbdadee03bc81af053b3a5bbf395a709ebc6197d9ba122a8c3a4032d9b80000000000000000000000000000000000000000000000000000803f00000000f0cf523c6f6ac4bd6a43a83fb8c2a9bdcfe2253c0de17ebd68488c3fe4a649bd1639d63b9a0a3dbdb1b4653f8eb602bd2c7cdb3b0b6913bd7d002e3fa8fab5bc94c0a53b7d09debcfbf6e93e5f278ebcbdc48f3bf76c79bc400f743ecba418bc3dd8663bb12030bc12db083de1e03cbc0000000000000000000000000000000000000000000000000000000000000000be7df53bb4371bbb00000000000000004177a13beae011bb0000000000000000bbdd3d3b393e8cba0000000000000000d9c3f13ad29d2dbb0000000000000000f1d62f3b1620baba0000000000000000009d853b4a3414bb0000000000000000d488cc3b5db522bb00000000000000000000000000000000000000000000000093d900bc0bf22d3ca04ffc3b70a7063cc1ce35bc3beb8b3c97369d3c00368b3c700c0cbc451a743c178ac73cc6f8943c5c67e1bb18a1783c946b923cc3159b3ca658b2bb52a3423caed0463cb18f903ca697a6bbb97b373cb2aa0d3cd478763c9c2b84bb0827fd3bec4b763b2c2d263cac6f71bbc9f7af3bae3d1cbb3550f63b5f6a6fbbd69cc13bd65716bce1026a3b88a640bb47f187b9c9f6093ccfb36bbc8dd309bc7d7e1f399a04c53bac2ede3bfe6dd3bbff2d6dba2e3fa53b0354b4bb5d7cb9bbb82744b943795a3bea56f8bbf07da7bb14cb7d393739273b415506bc46faaebb5159eb38c41adfb96f1c04bbb38b62bb4c330c3951fae7bab366253b12e99ebba574b83aa88da6bb94f9373c2ef4b9ba8aff16b88fec45bbd9c10c3c7a05dbbd22d383bbb0da66ba2c79db3aeca746bed02ae0baa91128b987b31a3bd3744bbe7adfa7bc7eaaae3abf4e3e3b719436beb3ccd5bca72ff03a200ddd3a3ca10dbefdd1cdbcc7aa8fb9c0e6c83a2130d8bd42c393bc86f6b038681ac43a329b83bd600800bcf6b60ebbdb6dc83a669fd2bc1bc0b63b4004a3bbf34b8d3a7c65e53baa14263c862812bb688cbe3ae7d8c93c7a5123be11dca73f70b3203db970d73c8ef524bea6c19e3f44a7243d8ad3ac3cef0801bea2e38a3fdbf2633d8284973c8d38cabd7ec8613fe36e6f3d9d5a7a3c6ecc9fbd1eb5283f8c31563d5f39623c35776ebd0199df3eab812c3d88103b3cee7f19bd62365d3ef8c7fd3c4ed3fa3ba8ce36bcdab76d3c9aa0d23cf7bd273c24fcaabc1aefc0bd9a70febb7c09a1bc2ce2643b00000000000000006bec9cbcb4c64a3b00000000000000006823a1bcc55c193b0000000000000000182096bcc0b2dd3a00000000000000004b3377bc6515213b00000000000000007ff846bc2296ae3a000000000000000002a52ebc012fd23a0000000000000000c30fe8bb6643f13a000000000000000057bf3ebb62697739000000000000000092b1cebb9300fc3b8d63983a05bb583cdc1014bc4a98793c058f243cc8d99d3c69e3e1bb1ed1533c44f93b3c9cdca23ce070d4bb6825483cba0a3a3ccc84b63c50739abb4a7b173cd41ede3b6a46973cb76ca8bbe3fe273c28d24a3be4af7d3cec468cbbf7630a3c62016abbc543613c61bbacbb0c9ff73ba647f5bb68d7093c9c206fbb147da13b1b711cbc615ae33b7a0a00bcf583843a011e1b3c3d1a91bccdb5dbbbd64c7bbaf770e23bd0ee46bce651b5bb49e4b3399c84e43b64dd8ebcdb31b8bb532f1dba048cbb3b69e33fbc30e5aebb3342563a3adb703b5e4f30bcc57855bbc6298cba6f0d893a80d7a0bbf5328abb5996f83995a0b1b9b2979fbac93985bb8f0152b94512b9baa2f0e63bd0c78fbbff972e3ac1f810bb6193c63b24be89bda49845386e8743bceada833b8f9710bed8bf9abcba912abceae7c23bba0011bee46d10bdbeee10bca5f9633bea3011be220b1cbdedfa00bcd572863b1c81dcbd27f501bd30fc14bc0558523b3700b2bdb075b4bc738d11bccccf943b27cc40bdcdf851bc6717d5bb154b243be39ba7bc51ca873be946f6bbdccb633b49bc123b973f7c3c1ba6c7bbe716ae3a2959c73caf631abe95e3893f8c6c743ebbe3fa3cc1172abed854893fa654693e1328c33c25e902be31476b3f02d9603e0d70a93cc4fbe9bd25d8443fdb2a443e33c3993c901ab5bd1617123f580f203ea3b0883c474192bd10f1c53e850af53d978c793ccf5d5fbdbdb1533ed1959b3d59c9423cd08407bd1dc5193dd9ae1d3d8e302e3c2f07c6bc6d8575bd36150f3a728e52bd536af53b00000000000000006ae465bd3018273c000000000000000063cc42bdf379003c0000000000000000350e37bddf8cfd3b0000000000000000646e11bd31ffc33b00000000000000008ca00bbdf784cc3b00000000000000009e91ddbc5f51a43b00000000000000000b79a2bc6b388f3b0000000000000000d2db8bbca199b03b0000000000000000dbd684bb1ad1733ba7045a3aadfa763cc536e1bb0e96313c44d1bd3b3b6f993c289dd2bbd5412c3c38362e3c412dbd3caaa7aabb7d10163c4c03fa3b9f26c13c137684bbb114fc3b0d99d73ba2da933c7b9b90bb15d2043c41e028b9a89e9f3cbfc998bbe5dee03be6f619bb63ca523c3677a7bb448be53ba223b4bbadff103c129839bb1f77a83ba8dfdcbbfa4c893bbf8607bc44e9513a38d71d3c78f3dcbcb610bdbbf6729bba0673f13b97e786bcd05bb9bbf52c84ba2618d53b02e883bcb27590bb7520b3ba3c34ae3b2d114cbc26f782bb926b01ba6dc12e3b32f52cbcb428c3bb34ff7437f433163b6ee4ebbb7ec87abb725d2cbad672ec3782f936bab3645abbdb5775bad11ae6ba0d8b7e3bb97285bb37b2a8b9fb7ef2b9aaec1fba339f30bdc902aabac44cd5bc923e023cd279d3bdd4d502bd6bf4b1bc0076ff3b41def6bdc8ac46bd5fe6a4bce9db013cd985e5bd26244fbd1570a4bcbed6043c8d13c0bd08872dbde44a9cbc028fde3bd90d8abde9f8f1bc8da284bc5596ba3b10e932bd71044bbc123a50bc61d5973b7301a3bcd8d5c33ba42f3fbcedbe8b3bbf7f3d3b23ec953c892014bca56c793b043fb13c51f009be1ea95f3f1851e43ee362d73ca29b15befe595c3f13c2e13ee6bebe3c887bfebd7926423f25f1cd3eb15aa23c038cd5bd17621e3fffe2b03edd389d3ca5dbb4bd38e8f13e2e338f3ef446853c2e1f8fbd7494a23ee8b34d3e50f07d3ce3cd5cbdc07e2d3e7410003e65645e3c7ea51abdb6b8283d520a613dc52f4c3c6e7f03bdb0f011bd1d053c3a348eabbd1a58653c0000000000000000bc0ababd6e28913c00000000000000007fe1a5bdba63693c0000000000000000966191bd2f59443c000000000000000020e179bd0ac73a3c0000000000000000fd9353bda52c2b3c0000000000000000292a3bbd7af52b3c0000000000000000892414bdce311c3c00000000000000005143e8bc7699073c0000000000000000e33e0ebb3ecc0b3a7b6a483a89977e3c4c4851bb521c713bd4ac7a3b6aabb53ca1875ebbd06d9a3bc15e013c6177bb3c017b6dbbce94793be85f0e3c5401bc3c67147bba4f56183bb59d7f3a29e4923cb34152bbf9959d3b7db2093b312e783cd9542dbbe2b57e3be79fd4ba7a1c3a3c64bf54bb6af48b3b6127c0bb0be6fd3b48d912bb5f71c03a8a2cb0bb2e57533bdc720abc49f928b95150ef3b309ab9bc8e46babb07598db89647bd3b796e85bc8e9195bb7b0b85bae6deb03b85076ebcad309cbb551bc038090b963bd7fa46bc050fd9bb75d7813a9207613bfb576cbc1d45e2ba549e70ba7877173b7ebccbbb343244bb4b8c7eba9917fc3a3dd0d7bbef5c57bb43a426ba3e41023a3fa6adba7e9425bbfd3a76ba91e95d3aa44339ba72eb08bdf64787bbfea014bd6577373c242b95bd1a883fbd306801bd3cb22b3cf4f2afbd626176bd23e706bd4d64383ce285b2bde62d85bd1460d3bc7d46033ccf1565bdffe317bd7eb2e5bca978023ccbc161bdedef10bd4db4c8bc032ce73b2c25f7bc7f926cbc07759abc562dd53b91ea3cbc248d993b17a674bc93e28e3b771b2c3bfb6ab03c376f44bc538d7f3b38e5943c9fb9dbbdf70f283fc781293ff46cad3cbf92edbd3b0a233f9261263fa7988e3cf0f3c5bdce020f3fd6e9143f194a913c59b2b3bd1e6cee3e2608003f546e573cbcd483bddfadaf3e5ae9bf3e34847d3cb0107fbdb773783e2823913e45e83a3c3fb737bd8cb5073e5b782d3eebce363cd5b207bd58c2103d564c973d8c2c203c2bd1e7bc1b36e1bcdbda7f39f43de3bd985b973c0000000000000000f1fff1bd5110a73c00000000000000009a59c9bdb29c883c0000000000000000408ac0bd50558d3c0000000000000000c36e8dbd6d42403c00000000000000008e7c89bd97b7753c000000000000000073c162bdbb1b4e3c00000000000000003f0439bd4ff75c3c00000000000000009c1226bd6c8d3b3c0000000000000000fc47bbba440bfabaa4ce8d3abe2d823cd4414abb0e93213beede0d3c69ca9e3c749d53bb6350513b0d0a1a3c07cec13cee001cbbc18d523bb789fe3bf5f6b53c4fa705bba9b64f3b7089d73be105943c5e4024bb1b565b3b821e873b49b4613cb23123bbe927423bda38043a3413283c6ffc1abbdc76433beeb5fbbafaa7133b711cf0ba700f923a76d98bbbc44f273b4dc4d7bba04175bac361b13b2ae47ebc4fc3caba24832fbbbadf8f3b15a20abc45ca223bb27f7abb65ef113b373506bcac3f873a83b016bbcfbc0a3b10a7bdbb8ce23a3a4186fdba63da133bf980d5bb3a0ea2b8ce2a27bbc375bc381d682bbb11d4073ac6cae9ba5e42b03830729cba7e38bf3ac6d51bbb293532b9f6f31cba90b956bba6dc85ba1ca0353ae1eb85ba785ad3bc70f5a4bc161e1bbd195a4b3c80ba6abd3c3e9dbdb75f07bd8cd24b3cd2658dbd5537c9bd3ee304bd7d9a4f3c77a488bd00d3b6bdcea302bd13af193c59d46dbd73c795bd499ff1bcbd91223c658338bd84204abdd571b9bc9854033c34b1dfbcb722d1bca93e8dbc0814923b1ffb17bc6160f4b9b13a41bcaa68453b331c323b6a69b63c118a40bcd5498f3b05905a3c4f2ca7bd1183e33e6a33613f3333823cf4d6afbd87e6d93ee1f65f3f9410843c2cc29bbd3a66c33ed47e483f9d825a3c59f582bd754e9f3e60be263fc9c2493c7c6362bd54dc743e2448023f5db64a3cafcf37bdf72e293efd39b63eb02e253c7db10dbd460ab83d3190533e4c72093ca5d0cdbcdc5cc33cea3e983dea87d83b779f9abcda16c0bccdf629bcf0720dbe7be2b53c0000000000000000200018be894ed83c000000000000000051e004bee64bb53c00000000000000009275debd5eadac3c00000000000000003d5bc0bd9ac9973c00000000000000005348a0bd964e8a3c00000000000000005a2886bd8e268c3c0000000000000000eb0a50bd5782883c000000000000000040fd2ebda93b5d3c0000000000000000798c5aba13c0bdbacd0b863bdef7633cbaa2a5ba2af616bb3bf9333c33069d3c481cedba9d68cf3a9640143c024abe3cda9b36ba060da7baacfc4b3c10e1af3c32ebaeba862aa03a8ab1f43b1f11883ce4ccc6ba3f84ba3ab45fd13b6ed8473cfa8196baf10fab3a98e81a3b2474013ca1f39cbad317783a335ed43a64596e39ad5b82ba8e8540baa89f87393f973ebb14ba9abaafbd21bbe33b6c3bbbcdf6bb081de03bbbbfeabb8c91e039499920bb19fb843b79e681bbb328b53a2e8f33bbc288b53b34d18fbb9c6958b9cebdb6b8334a803bd61f40bb7613ddb9e66d02bb2346bf3bc63473bb0af6c639fbbb0fbb315b343b9b3771bbf4bffa398e381fbb2fa6383b89ea66bb0efc7c3789d0c5ba304b3d3b5fd12fbbb782303aa1d934bb33628abc3b4043bd8e2100bdf30e443cfab30ebda409f6bd3c76cabcb21d563c6cf243bd5547fdbdf04bfabc4b503a3c82ce47bd2d26febde627ddbc53c9233c463a27bd59ccb9bd608de8bca25e1a3c1f1b05bdb8e494bdb9b5aebc3eb7db3b34ad92bccc8514bd6c366dbc0e52d43b2f2db2bba76deabbfb82c5bbf6cfe83a9e7b943b67d4873cd7b5d7bb09fa193bcdb6003c20e848bd6339713e979a8a3fc946483ce2ce56bd22005d3eee9d8a3fb827153c8b7931bdcc784d3ebb706f3fab2c133c0a331cbd696c283e25c44a3fc518033cb854fbbcfbb0013e6d41193f98d4e33b040dccbcc6e9b53da364d53e8278c73b26b49ebcada9433d2a936f3e88b57e3bad6034bc7fd54d3cc80a823d972bb23b7e8a1cbc669f74bcbd2421bdef7e1dbedcbacf3c0000000000000000fedd2cbedc9fee3c0000000000000000f19405beaaf1b43c0000000000000000980ef2bd01a1b53c0000000000000000a1afbbbdcd0d863c0000000000000000c649a0bd5f99943c0000000000000000d01e7dbd5a7f613c0000000000000000ba1b32bd3c866e3c0000000000000000a21e14bd9fdd513c0000000000000000051eeab8413f2cbbd6f0d63b3c3d353ce7fd623add62e2bb463b603c5282b93c23d658b9607599bbc90d6a3ce34cee3c62deceb96fee39bbf812633ceba4bd3c88e6b6b9a8cbe1bab2293d3ca8238a3c1a915e39591fe0bae0892a3cf7483b3cf205c8b9a54f66ba1849a53bbfa1023c7d1ab0b95e7680ba2a9a633b7d8d43bad9835db946099db9c150693a2df8c1bbd4e9d83b94cac9bb1b6fed382da5c13a96e7703c04d323bcc8878eb9d435143b13973a3cf52fe9bb213a123ada94073b9158533c76f5d6bbb12131ba3dfe4c3b23e5203c696794bba0fcd0383f88e2395f1f2b3c5014b0bbb6fd18ba583f8239bf4cb23bb06674bbb114313ae6fcdaba9a32bc3bf57579bb9227b83a56c0bdbba4533f3b74964dbbd8de383ae4c385ba0e3e46bc2d54c3bda75aa4bc2f6f343c8d8ed4bb1b303bbe9974b8bbf6761a3ccc6fb7bcd81e43be8a3f87bce8f4153c653de9bc1d2e2dbec852a4bc609a033c9b25d4bc4be405be822baebc33bfe93bf7958ebc9f87c7bdbfb06abc3230ac3b58ba1dbc45cf65bd96d9eebb104c0e3b2cee523bc95192bc5be44d3b35bc09bbe915bd3bbf83783c5651023ba97f68b8c580733bd2488ebce75d1b3d8a11a83f7d3d703bd80d8cbc5d4e073d1a5c9f3fc091653b89387fbca2cc2a3d47708c3fee567d3be49860bcfa4e253d7323653f0cc1243b53c722bc887b073d93de2c3fe76c803b196e14bc1a7fb63c6677e73e51d7f43af57faabbbeae783ca79d6d3e3941d83a9e4f44bb029d633ccd70e83c79097f371ef6b63a6d4683bcd4eeacbde0ab27be003fc63c0000000000000000d8c622be8e5bd43c0000000000000000e70501befb67a33c0000000000000000e36acabd5d9f873c0000000000000000e6f99abd94ea633c0000000000000000cbce75bd932b453c00000000000000001a242bbd0e323f3c00000000000000009c5b9cbc4867233c000000000000000044e6e3bc2a90363c000000000000000000000000000000000000000000000000d5f32c3a665975bb866b463c363ea63cce46263a2eaf4dbb953c593cc1db9a3c6ceca6b97c2a60ba49a03f3c7675803ceb11ae3a00aad6baeff31c3caa332b3c4d1a543a1935a9b8772d0c3cff5eea3b0517c139eececcbae573d43b8edf623bcbd6da396dce1e381477193b878db0ba0000000000000000000000000000000000000000000000000000000000000000d5b2503c00a9bfbb8b3affba61a8f33b6a4d723cd5babfbb1c17e3ba4a0fa43b8424533c64d050bbd4c6a3ba7dca953b5225413c8a3351bb83b447bb0f399a3bc676163cdc5630bb37d1eaba7d99923a6a03003ce92f1ebbdb35f7b9a06db2b993d09d3b8c3201bb1581b738402387ba000000000000000000000000000000000000000000000000000000000000000050bf59bc1fa03cbeec5d0bbc8b78943b11cf5ebc2ad93abe5a0a39bc0b20903bdf1ea5bc0b9c20be0c1e92bcc6a2643bddc67bbcc6db02be644d88bcf15c203bcb5667bc6a07c1bdda1343bc9db4d93aa6e44dbbe43579bd221061bb9044bfb8f977833b97b4aabc1a4b1a3b4cabb3ba000000000000000000000000000000000000000000000000000000000000803f087348ba7ea7093c1c4fb0bd5d3ba83fb811b3b9d4dae33b85af6abdfa688c3f531391b99042a03ba71928bde338663fb5427c3a72fcbe3b4eb212bdaf362e3f7fb7a5b9ae31c33b417ed0bcd2a4eb3e5fb79438b5e5913b4b7589bc4b4d743ecc3597baa177a23b923867bcfdea073d00000000000000000000000000000000000000000000000000000000000000007040bfbd16de483c0000000000000000a3386ebd658aef3b00000000000000002bb428bd3e20ae3b00000000000000007e68f5bcaa55973b0000000000000000eacbb9bcb160833b000000000000000019d946bceceb093b0000000000000000182a14bc386d683b00000000000000000000000000000000000000000000000000000000000000000000000000000000dd7f40bb2ea6613cfea89cbb51ce7b3b21ad07bbfa025a3c336ffabb1527f53bf40810bb909a2f3c802f18bc363e5e3b36b9c9bab683253cddeb41bca5726b3bce0ac4ba77120e3c360245bc685b723b4f1b1bbbdee42a3c888461bc5646db3b3db744bb70b0263caf246bbc3cfdde3b00000000000000000000000000000000000000000000000000000000000000001b8eae3b800cbeba56c8183b36a4aebcb523973b04a10cba010faa3a54ca8abcdc7a993b3072e7b9a877ea3aa5818dbc79f45b3bd92556ba2836583a13d16cbc53d83e3bbcc723b9ff28c03aee6824bc04c8023a942cf1b9011a07388f31f5ba66ab9b3a8447bab93ecc053a0d2e323b0000000000000000000000000000000000000000000000000000000000000000809fc4bd2efdd6bcda60143bb3857a39ec82c6bd9a20bdbc84b56cba076a8ebaaa0d99bd603ccbbc734f203afbdd0cba527c67bda19eb1bc2f1a1e3b2e2a2abaea172abdec5a9bbcd8ebb13aecfc84b9085d02bd817e43bc1bdf7f3b9a7823ba9b6a52bc058a08bcc94d583b1ae0acb90000000000000000000000000000000000000000000000000000803f0000000088adcd3b713a5fbda616983f893a3abda86e8d3b44e316bd886d7f3f7b66d5bcfd44243bcef2e4bc56b74f3fd72d9cbc3e544a3b927cbdbc246d1f3f4c5d73bc55b4833af901cabcb786df3e0c0d6cbc332f173bcf85a0bc487f813e0d0174bcf1a8f93aa31bc2bc6c22aa3d2402a7bc00000000000000000000000000000000000000000000000000000000000000009d83be3b9bff40ba0000000000000000f4d5c03b8249803a00000000000000002c00613bbdeb6dba0000000000000000a2dd1d3ba5a384b900000000000000001c73443bb2f56aba0000000000000000f51d173a942f51380000000000000000e767833aa90b63ba000000000000000000000000000000000000000000000000a37a47bb9ee3653c877979bca3f2973c94c0b6bbc2a1d93c5eccd6bcbc8f053d950f91bb6cd1b03c5643b5bc2d70e53cac024dbbcbd5a23c6fbcd0bcdb71d93ceded36bbb3978a3cfecfdfbcf5f9c53c792b78bb254f9e3c7013f6bc4180e13c86338abb48f6993c3cd0fabc7c6fdf3c45f0b1bb1d30b93c5a0012bdcab7f63caeec8fbb3b9a8c3c02b0e4bc80bba63c550996bbf06def39c46c5a3bb66dc1bccf9602bc5a31ae39881b5c3b160589bcb49be0bb8a5bd239f1eb383b2edba0bc1a53e0bb60d98c3a09c1ce3ac18e89bc859fd8bbb02b653a8ce1023b2b8359bc0d220ebc2a6c913a9098cb399f85ccbbe29010bcfed9803aa3c9883a07ca37bab99635bcecee723ab541c8b9eb08313c61bcebbb107b8f3aec9eafb95445f03b924a6dbd68c81ebcd2a11ebceb0be93ac69fecbda9e935bc31502ebc59e14e3b30dbe7bd5e6992bcb23a2bbcd0f23a3b21fac1bd679387bc79731dbcefb50f3be18c90bd44cc52bc225a11bc0c372a3b5d296fbd052904bc429808bc6d70cc3a551328bd4e1426bb7a05d5bb0539333bcbf6e7bc9210173c6ca2d3bb7635163bb56aaebb2ebffe3bc5a85ebbb28f3c3a93b7123c674bb3bd24c9963ff62a9f3d86ac183c0279b4bdac7c8f3fa2f5983ddcb2123cfebe8fbd4726773f178b9d3df45bdf3bf75d66bd553c483f9be78d3d16947d3b4e343abd9706173f59c1653d51c4b83beb0d24bd1368d13e65392a3da2268b3b894d15bd1edd6b3e6db2c33c79e1933b9d92edbc689e733dc774013c28b39f3b7b9afabcf1cd29bda2504fbc553143bc116b0b3b0000000000000000f69364bcb00a193b000000000000000083d038bcb9d4c83a00000000000000005f854cbc27caf23a000000000000000049971fbc7fd97d3a00000000000000007dfb31bcbc3c0f3b0000000000000000c10533bc2a91643a0000000000000000fea61abc28d5003b0000000000000000908401bcd1b1e73a0000000000000000e6daf6ba759f323c7af5ccbcab6d183d9fef84bb0286b03c12350dbd6f74313d339c4dbb00228f3cc02501bd3a181e3d360751bbb8c8a03c56b711bda931273da5d439bb77dc8a3cd62117bd8433193d3a926ebb6bdcaa3c491e29bdd867243da9d789bb56a79d3cd8b722bdedd8153d3de3b2bb4eccc43cdd6036bd4304243d6d0e6ebb6ff1933c99ef0fbd2c5e023d08d998bc3fab3b3bedef483b2d29a3bc3a2494bc7cb4553b3f5e473b1a3498bc9add98bc8a836b3be568033bee308dbcdc7399bc3df9703bb3da033bdcbf6fbc002894bcf80c5b3bec1dda3a1ca92abc2a519bbc4579523bbdc8463a5c23a2bb4fde93bc083b7b3b0d44243a875f433940459dbcd184303b354cbcb9c10c0f3cdc6d86bc09de073b1ef86c395525d43bcf4d2cbd022f243c5e32b9bc51cf8d3ba77da8bdfecfcdbaf101c4bc470d823b341e9cbd1eb9a2bbb6cec2bc15c68b3b53db9fbde8f69fbba071b4bcbf04793b569373bd628b3a3aa204a6bcaba6553b1c7f53bd9ef9a23b4eed9cbc6f6a983b4ae909bdaf5a363c06f68fbceeca573b04b7ebbc2d17ab3c068f7ebcf0f5923b826656bc3074c53c3dec57bc847b993ba8d9053c9f04a4bd9d52783f16cc7a3ecf83173c6f2eb3bd0054703f83bb6c3ece9d0d3c4ac38bbdbd9f4a3f1ee1593e041fec3bfae37ebdc6f8293f9dee3a3e4bd4ba3b1bfd4fbd45e6003f791e153e6a39b83b6b463ebd3bd3b53e981be53d36a9af3be91724bd6793593efdbf963d7f89923bf86c07bdbaa0923d22cf163d592d933b7799e7bcdf12cfbc3bcda23bf800ffbc917c863b0000000000000000ff010abd029fbe3b0000000000000000fad5e4bc1159883b00000000000000009807cdbc17d5763b0000000000000000516fc3bca28e833b0000000000000000d036c8bcc5ac4e3b0000000000000000ff82b4bce74c6b3b0000000000000000c505b2bc1c96683b000000000000000065719abc911b5c3b00000000000000005266c7b8a1b7dc3b810ac9bc0885403d853f48bb5e99903c15a326bd4d1c643d5cf9e9ba07c3713c7fb11ebdb4f35e3d310023bb380f843cd0fb22bde76e4f3de48928bb82b8863ca6aa2dbda6e2493de348b4ba1745813c990e38bdd57c483d3e2f85bb7f8a993cda6035bd45b23a3dde578cbb59eeb23cb57e41bdb7203c3d7c4384bb4a94783c1cb815bdb95a223dba58eebc5fb9bd3b500c413b3273b6bcd23dfcbc8c6ebc3bd89de43a8df17fbc60e1ebbcf9e4d43bf4a6f23a16ce66bc90a6eabc56c3b53b2bf2a73ad84c36bcdf09f1bc8bc8c13ba6f2703a638d09bc6522e4bcc701aa3b2bcfc1b9ded196bafd04cfbcdb53913bf8457b3abe962d3a1901d6bc765fa53b145624ba0e3c083cff91b5bcca625b3b09e4ed3a2ed6713a7d4c00bdcccbae3c24a40ebd8690943b2e4487bd5b193b3c821520bd8c13ea3b50e195bdee845b3bac1b1ebd5651a53b8ada8abdad99c33bcbda0ebd487cc13ba3bb6dbdd8ab473ccbdb09bd52ddcd3bd38846bd0f188e3ca50900bdb9eac73b9cd71abd1aefc73c0914e8bcf060c53b9fb2f9bc4c3d083d8ac8d6bc4bc4c43beb0062bcb966123d543bb9bcda71b13b622c003c821493bd6b1c473f8150d63eb9c0103c7fb59abdd8a73e3f5e02cd3ef156de3ba48e85bda858263fa8c1b83e6ba5ed3b7bda66bd4f76083f85119d3ecdf3d53b7d2647bda00dd33e6c277e3edae4a93bdacd32bdaa0c943e15713e3e54839e3b220c1cbdf2a7303e5ff9ff3d5b39893b37fc01bd1ff3843d3c94893dc6b6ae3b9f9ae9bc9d9b45bc7bde873c5ac542bd22bceb3b000000000000000029a852bd2020e53b00000000000000007c6538bda471ec3b000000000000000046ee2dbde857c73b0000000000000000749423bde971c73b0000000000000000790719bd4754c73b0000000000000000b65d18bdfc02b73b0000000000000000a46a08bd474fb43b0000000000000000d4e5febcc1a9a73b00000000000000008a5e133a461a153b8e67e6bc4ad8643de786daba9c7a393c7ad513bd7a53763d1e4562bab62f143cfb160bbdf6b7623d5994b5ba12c1443ce3f222bdc964623d92781739ef6b9b3b549503bd82f7463db67a0bbba5d75e3c645728bd47324f3d8d1b98baa3fb393c12be17bd70b53b3da8ce34bb96f5773c3b8531bd9d87403d59ee5cba07d72a3c07b913bd6ce8313d9e8e14bd1be2dc3b1ad2fc3ab21495bc7a0618bd6f11063cfcf5103b575a57bc6dd311bd5674ed3b5144753a14fd55bcaf1e0fbdf415043cc997a13a140714bc47c5fdbc22dec03befacff3aff5d26bc6e6a04bd7cd0d83ba57f9139e11d24bb2ba4fbbc804cbf3bdbe66e3a8adcffba05dcefbc5c8fc93bc5bc2fb9aba3b43b9b53d9bccd22963b8f22a2b76ba52a3b2888e3bcbe97f13c538536bdd409d63bf3e44fbd001b7f3c6c3b46bdf199d83bf4f05dbd1145343c307337bdd7a9ec3b7bab6cbd66a12e3cb1dd36bdfae2eb3b10a01abd448ca53cc5f921bd74b8ba3b049035bd35a1c63c472f23bd519efd3bb756fbbcf2e8013de3510dbd3408ec3bdedfd3bcdb9f2b3d7cd509bdbb95ec3bef6070bcd7bf373db5f1e8bcd3ccdd3b4a02e83b9dd260bd46a9163fbe8e193f54f0c73b7fb371bdafa90c3f6083113ff923e13b2dde45bd847cf43e2277ff3e7099c93babc738bd9cfdcc3e1661dc3e2350993b9a971dbd83949a3ebdfba93ebe92a83b6e3715bd9701613ed7b5843e5211763b755afabcbf2c073e340c2e3e265e673b46c2e2bcf8924c3d2990bc3da1fe823be17dc6bcdfb44fbc31dcba3c81207abd568d053c0000000000000000a78e80bd76291e3c0000000000000000ee7964bddb2ff63b00000000000000000cfd5bbd6067f73b0000000000000000d11d35bdd2e9f53b0000000000000000ad9142bd6974d53b00000000000000003a4931bd8211ce3b00000000000000009d8e2dbdd4c2033c0000000000000000e0721dbdcd80d03b0000000000000000225a91baf5b6c73b328ddbbc70f26e3d2a55aaba3ab7433c42b40bbd0f006f3dc7f4f0ba2e0e453c9e7003bdf56c613de5a79abae0ec373cda7e06bd7453593df5ce7ebae454453c8f2813bdcee04f3d5f9504bbb033453c9e260ebdc617423d114718bbd2b2483c1e0812bddda3353db81b07bb9021593cb6ba0abd268e203dc69ac8badffd0d3cdd15e5bc764e1e3d4a091bbd85c7023c68ae0f3b8cad4bbc75531bbd779b133c685a2bb9390befbb3a150ebd98ce053c09c89e3a864ed1bb1b7509bd531cfe3b904bf53890e28fbb372011bd76150d3c7dffa6b95e8e14bb985a02bda94ddc3b761e8d3acc075a39c69adfbc9edbdf3bb075133ae092893b453bd9bc167f9d3ba94497ba2579df3bd469cbbc8bfca83b1c0c5d3af8245e3bd0eafebc3c93d63c432f4dbd82ddeb3b5d8a5cbd27772a3bf89257bde3390c3c3bd573bd8de0d9bb49c351bd14b1053c73b169bd531d9639e2c94bbd17aae63bda1056bd1911253c98f23fbd04140f3c583c38bdb5389c3c8e4033bd60fb033ce4d310bd2d6fe23c064f28bd2c32d73bb57adebcef3c1c3d5be10bbd72c60b3c720a7bbc16c13c3dbec702bdd60be83bb84ac43b505f33bd5872d13e49044a3f7af1c43bf40a36bd0483c43e7240433f0f41ac3b136020bdac95ac3e4e9b2c3f30368a3ba7db0bbd82318e3e38f80f3f70047c3b17b7f7bceee95b3e0ad2e43ed5a13d3b819fd6bce14e193e9674a73ebe77373ba372c8bca619ae3d5850583e1bb2473bb5d2a0bc6748dc3c50ced73df3bc0c3b456990bc78069fbc0715cc3c7e509dbd74da1e3c0000000000000000b863acbd0e1d313c0000000000000000c7a396bd4d3e293c000000000000000017d581bd8448183c0000000000000000df7075bd4701f83b000000000000000080cd5cbd7688063c0000000000000000fa904bbdb14d1a3c000000000000000097cd44bd1ef60a3c00000000000000007fec35bd28eb033c0000000000000000846db0b916c61b3badf28cbc18c5343d5c82beba8aae093c217e95bc0840303d0ae1d7ba2f0ced3b4442a3bc7170313d5e4f83ba232e083c3dc9acbcdeac1f3db955c1bab757d63b3cd5aebcbb28203d0fcaa2ba3b1e023c30dbacbc8dfa043d68f0f6bac2390f3cfddfa8bca92efa3cdf8e04bb707be43bd0ff9abc49b9c63cca1a6bba561c893b743b81bcb2c9cb3cedb1f4bcdcc6f83b90dd5d3aa6d9b0bb91c8eabc141cf93be6fb46b920a93abbc9e5efbc787d063c89fc893a675a35bbb2d0d9bcd49bdb3b1f1ca2b9e6242dba20c4e3bcfd9ee13b07537d3a96d15139204abdbc7750ab3bc9f76bb9af67833bd30ac2bcd676b53b8bb1a2b9ca03cf3a327d8cbc9078793b81d243b74c63e33b152e9dbcefbe653b8b21c8b71422873bfdb9f8bcb73db43bd56743bdd6e1d53bffdd42bd007befbcfbf74bbdde35083c90c64cbd3cd6b5bce3754ebd22a9ca3b953452bd204dbcbceb533fbd916b023c75e034bd753fc7bbe55b37bdc0abd73b9d0d1dbd25851a3b234325bdab04033c0c30f7bc6fd9953cbbac13bd522aec3b6ab2a5bcb12cd43c0470ffbca6dfd93b6fcc58bcfef2143d6c38d3bcce66ea3b7ad5483b8926e6bc9e55743e11ce7a3f6498893bbae4e3bcbc175c3e4812743f25483a3b8b54c2bcda10453e8bd84e3ff196563baedeb1bcdccb223ec674303fffad053bb42b98bc807df73d0b31083f6748343bdf5ab0bc8f11a83d8464c53ef2d2413bf8767ebcc11f353df0d2763e25b89c3ad9f54cbc72fd893b453ed43dae6feb3ab0721abcc721bfbcfea8b93b6e05b0bd764c283c0000000000000000f7efbfbd0589353c00000000000000004b9e98bdefc32e3c00000000000000002d0e8fbdb54d133c0000000000000000675474bda637163c0000000000000000ef8d62bd1e1a013c000000000000000081394fbdfc1ff73b00000000000000000a853fbdfc8c173c00000000000000000ce52cbd6675033c0000000000000000b3cfb8ba5c29923b9a05a6bb7b34ca3c34c2a8ba01d0473bf878943b6c1a823c87139fba28238b3bd9a0dc3ae7e9943c9284a0bafd2d923bb53773ba5daa813c5c1726bade9a523bd4dc5dbba9e56f3cec7294bae7344f3b98b0efbad30f243c840961baea8a203bbb30d3ba5416cc3b9a0534ba613d663ad1c8e33a9f5d173a903978ba0c74dd3a1e99e3bae403a73b4a8f85bc739e983b8fe1f738173f0cba95b452bb769d373be9094f3709d1a639eab6e7bbea96513b4a8892b88c58463a081718bcae5c9d3bde807638e9339339bce11fbc8999743b57e550b85c82983ae517d3bb3e6f4f3b51e57439590c153be67b78bbbd8d063b2ebd99b87668343bc2a8a139eca333b90002d0b946ce2f3b2bbfcdbb15e9a53a3a2eae3912e7713b349204bd0aad03bdcd1427bd80d5cc3b7a820dbd7c24b2bdce9d15bd8e5fad3b5c1c2ebdcbcea6bd707e20bdca0ac13bfe6c21bdf6f883bd8d9a1fbdc88b723b787210bd06c721bd9d8a1abd6eebab3b617ee7bcea6bf5bcbb60febc35d2863b9816a3bcbc2f3ebce840cabcb53b843bbee7fdbbc55d1339019c77bc8337823bc1bbf8bb50d7b73c355987bc70468a3b9e46ee3aac4f3bbca084963d82d4973fd25afe3a643a32bc0f59883db28b903f74fbcd3ab43a0fbc0d03823dafd3793f4bf3da3a2c9d0dbcab3c5f3d1c764b3f03a29e3ab71e08bcc7ff243d61571b3f9486453a95e3d5bbe80fbb3c3128db3e8a439b3a0f73e2bb34eead3b5c5d7e3ea37c6c3abc9686bbb3c621bc963da33dae4efe387ef271bbb256f3bc1ce7babcefa9babd3ba01d3c00000000000000008252b8bd0b271f3c0000000000000000445892bd86170b3c0000000000000000ad2470bd7d4af93b0000000000000000c2e748bda424f63b000000000000000019023abdd76cd43b0000000000000000364929bdfb0ac23b00000000000000007aa11abd2e80f53b0000000000000000f67f1ebdd750f23b000000000000000000000000000000000000000000000000189a48bab9df073b3455283c373351bbfe3fc1b92fa0503ac732453c5b06c8bb36f907ba585e553b4492043c5c9cc0bb2b3a3e391c865e3a1026ca3ba2db18bcf0c6e7b8271a743ab76c063c65b223bcf6fd5039f829c6bab819223c24914bbce0c4a2b93412f7ba0fc5333c8ae569bc0000000000000000000000000000000000000000000000000000000000000000b7a9013cbde21339875201bacd76f33a67df133cb20589398b209bb982b7dc394ca1bb3bf30d3f3a3e24deb9b7708a3a650e843b96f2893a3a8221ba29a48f3afa4ea73b9e3a9ab96f27cfb9dc46123af3b4f43b1f0276ba0a5b10b9ba771e3be5df0d3cad3504bba445cd3923b60a3b0000000000000000000000000000000000000000000000000000000000000000ec48eabc8f45c0bd4324ccbcf5009d3a9c7fcebc9f18bfbd668ab0bc5b65813a78c1cebc7c3498bdca08cdbca920ed3984dcadbcc96d53bd73659bbc423d6f3a84ac6dbc756f23bd443f88bcd0d3a53ad31116bc4fbfeabcb8fc1fbc1b1c8d3a09d142bb19123abce7b5bbbb4943cd3a000000000000000000000000000000000000000000000000000000000000803f6eed82b86711ad3bb18d40bd7246983f5e45eeb868207a3bf659f1bc31d57f3fa3275d398b8692b94faeb6bc679e503f8ea0703844e9cb3ae48eadbcbbbe1f3f66e0113a8ed18539ef50afbcfe61e13e266082bac2c08fbafe9ba9bc385b823e669d1cba1069b9b82891d6bc69a1b13d0000000000000000000000000000000000000000000000000000000000000000f1e256bd5e39d43b0000000000000000ba8e0cbd0752803b0000000000000000783495bc1542653b00000000000000002654b1bc54bef73a00000000000000006a7293bc7769363b0000000000000000ba707ebca3c2e13a0000000000000000fd38b5bc342a203b0000000000000000000000000000000000000000000000000000000000000000000000000000000001e245bc7f7f6e3ca8ba1e3da0e6843ca706cebb4691763c9cda353df21b7d3cc17f41bbd6a89c3caeb3263d6ac0913c37cd06bb2722623cc347103dc490923c1ff940bb2ff8483c94c3d53c64d25f3c2aaf90ba3920f13bdaea843c8cb92f3c0f1c86ba8b77493b6c99873bd5b6113c000000000000000000000000000000000000000000000000000000000000000070b8abbb2451bebb885a6f3aad9cc33c39d432bb7c0abdbbaad57dbbc3e22e3cedb179bb83f34abb4c20cfbbaf24aabb14444ebb7314eabac1b615bc564e0dbbc1af43bb9f1ebebabe221fbc26ab88bb3ddc39bbc8998d3a3d752bbcfe9f8dbb4f8b5abb82dc363b169708bcbbc8d7390000000000000000000000000000000000000000000000000000000000000000a09481be9d59d43bf411d53bf55cb2b7042873bed4ec2abc3c6ccc3b73dd5fb9b8f75fbee286cdbc5b537c3b9dd718b919d034bee066c1bcedb3363b3f821ebadf4bf1bd9679ccbcb067c2b9c056603a1c7880bd419b97bccd7582bb7ebdf83a5d2f58bcb65223bc6b749abb764fe1390000000000000000000000000000000000000000000000000000803f000000003228af3c060200bea008ad3f7cd7e1bd4ba1573c48239cbd1c00903f09da78bd856b453c802d6bbd0432723fb70726bdd7a1233cc6b51bbd9531343f0a4cbabc45450c3c589263bccf01e83ee8114dbb162f8d3b6200e83bf6e1603eb0c73f3c95b88c3b69c2a23c7ce0bfbbe48ca63c0000000000000000000000000000000000000000000000000000000000000000134c9e3c934c0ebc00000000000000009713fe3b11097fbb00000000000000000b77813b35e609bb0000000000000000a145143bf12826ba0000000000000000359947ba66acd1390000000000000000b7c866bb07773a3a0000000000000000ed634d3a5b4344ba000000000000000000000000000000000000000000000000528508bc6da0183c7415453c5ea04c3cdd552fbc2403423c99b2163dcfcf733c7ce07ebb918c8e3cdb85333dfc9aae3cac207dbb25168b3c5ba4343d0014b73c2cdd6cbbb16e853c5a41123d934e943cf85f84b93247493c0f49e43cfac5743cc5332ebb0856183c0f57883c51c8463cb36a5abb9288a33b4ed3b43b4c96fb3b61ccabbb05d4d13a471fe4bba4ed743b2141cabb081d18bb5bdd193c0396b13ce23205bced9126bbe3047f3bb419f23c326592bb0710a3bb4234ef3ab7ec0d3ccd8710bb223655bb8b9f20bb8a18ba3b5db7daba32f01dbb8cb45cbbb8e97d39440a51bbb7cfb63a32490fbcae9a35bbf913f1ba9ef4c737dcbeebbbe50c29baf32024bbc4ba893aa771e6bbe2fbd03a162a4bbb15a5ee3ad17cc5bb7ea2373c1eaa1dbe7a3f953ca8d494baf5ddf63a0bb957bef303cb3b2cd2d1bb5076f33b6ef277be00bd99bc6a0fb9badb49cc3b912d66befd54f1bc1c851bbb2782583b195133beb5ce00bde4d3c7bb535d963b742cf0bd802afcbcfaa4d2bb38e4a33bc7697bbda447c7bceab2e6bbc44db03b827369bcb79173bce014a6bb239c9f3b5e3baa3c97a6c03b3118a5bb1d574e3b61222c3d62de60beef6dac3f0370103a6e30173d3e9439be1266993fdcbc1e3d56e5e93cc73020bed0d78e3f1aa3133d4f4fc83cbabffbbd7b966a3f0f15423d2f5faa3c17d1aebd317a2d3fd2a55b3d535b863c789641bd5128dc3e8e2b6e3dcc6e3b3c69a58dbcc2e64a3e6bb6613d8fa5bb3b0d02383c311ea93c30a2443dfef9f23b7ebf823ce4d610be5059a93cdd7474bbea7edcbb000000000000000039d55dbcf9e1b5bb0000000000000000edfb7fbc495f2bbb000000000000000027b58fbc44ba46b80000000000000000b9b4a4bcf20d8c3b0000000000000000bc6a99bc7f9ef63a0000000000000000dffd9cbc96ef2e3b00000000000000004da2a1bc9ada573b000000000000000053c7f8bb2641edb900000000000000008dba08ba63d5613be7dc2f3cba38463ca725a7bbe65a2e3c1832e23ca837a03c95a3efba7ea44b3ccf6d193d0b0fb63c0a0a0dbaf8d3633c52a51f3d63a5a53c2d24b7ba686d4a3c627eff3c0d3f9b3c035f5abbe97d193ca4b8d53cdc1b7d3cf7ec6dbb059ab83b2e0e8b3c2ec80f3c4889b8bb8e4a933b7ed9223b46167d3b3fc73abb33a08ab82d193dbb390500bb8aa821bc010dba3aa9393f3cdf9e9c3b94e9bfbbddd755bbc0601d3cd4ad283c535a93bbe2e2b8ba413c073c6c9c113ba92c3fbba97419bbd840553b49dd36bb96d141bb7e153dba073d533a7b238ebb018a49bb92c8163ab6aa80b9579a28bb234274bb9183023b0e4053bb9420283a66de45ba44739cb8967516bbbf2c873bf38796bbfc101b39bf388aba3683f33b68cec2bd47ca443c655243bc93e92d3cb23b35befdc790bc7fc00abc1f523b3c7cd94ebe239e1abd5f2edebbc4c41f3c5e943ebedbd435bd753738bc1e8a523ce7f913be3c9d38bd01c12abc1bf93c3cd6a1c6bdac2e23bdaadf32bcb536203cefac44bd444fd5bcbd651fbc08ff163cf4d4eabb0d5334bcc7dfb2bbc5ff143c6609823c181d1d3cc83775bb0a64e63b3fc9253d0dc550bebb478d3f41ac543e38981a3da99055be8dd98c3faf644f3eda5b023dc5e036be726b7d3fb12c463eb0e6eb3cc8a513be7693503f82b2333e111eba3cbf9ad5bde22d193f644a1f3e7b08983cddee8bbddbc4c23e963a073eaf5f803c2dc60ebd45ad323ebaa0c63da0be353c752a2dbcaa184e3c6459763d3596193cf5c88fba719bb1bdcf94843cf5e942bddbfb5b3a0000000000000000261654bda37c29390000000000000000a63e52bda605363b00000000000000002a1d39bdba72833b0000000000000000c68627bd19f6213b0000000000000000e28c20bd2e4db33b0000000000000000062ffbbce301803b0000000000000000558de3bcea97563b0000000000000000683791bc3d674c3b0000000000000000e24ba73beea492bb1e56743c277d4a3cdd1a1a3b9edc163bb289eb3c596da53c449fa93ab38ec33be48d143d1b22c73c89f87ebabd0d0b3c6e63103d945bb93c0914943af647e13b1444fc3cce24a53c5c191bbae7a8a33becc8c23c488a4a3c035f32bb7e06a43bfd078d3c5308c53b009f81bb7967293b020bcc3b7022d6b93d49a8bb5918cf39670db139583bcebbb8513ebc8799743b2b496c3c0d6628bc47a11fbcb3f3943a6b3f563c867f4fb921d6a3bbe57d4dba4e14313ceb57b1bb4ec7cbbb43c62abaf621103c44e12ebc15822bbb7373fcb9ae17a13b938ddebbf7a256bb1a10f3393ba0853bd89c05bc8b893abb54c4b9b948ddf13af2bbe9bb5db263bb93de33bba5571e3bd3169739ae4685badb56eabae987863b3c77823b4f1a84bd8991e0bb6f5277bca6e6413c293407bea4c549bd650b3bbcfb9e7e3c4f261cbec28295bd4d0034bc39d9743cd0730dbef1a49ebdf6a759bcc1a8843c88a0e9bd84fd8dbda9a981bcb6ff883cb6c492bd340757bd2c7e3fbcbe1d633cdbed08bd52390bbdfce511bc27e5483c302ec9ba4d3404bc475c85bb4b1a3c3cc895823c3976363c2d41be3a9645d83bbe12f43c18983fbe784a6b3f3541db3eb42f0b3d33f346bea431653f8d7fdb3ecf89db3c8ed92abe53df4d3f2e37cc3e417eb73c003108beba35293f7735b13ea2959b3c0411d7bd5951fd3e51ac903e683b823cb87694bd5d0ba23e492d593e4b56743cfa9936bd17f41b3e9a7a073ef03a313c12a3afbc2fb3ba3ce320743dd9b72c3c0b458ebcbc4981bd17a304bb999fc3bd872f093c0000000000000000c418d4bd9664383c0000000000000000bc7bc4bdc4b72d3c00000000000000001e37aebd3b50223c0000000000000000c91392bdcfc00f3c0000000000000000f0f67bbd0b72003c0000000000000000188635bd1b96fc3b0000000000000000e58705bdec8dcf3b0000000000000000c113c6bc83d99f3b0000000000000000c02f9e3b7c25fdbb0f14a43c43b2473caa47843b0bfc86bb1f5aef3c2146a53c0dd8613b96fc9fb9c6b2103de517e13c9445b43ab3b2a53a32ab143d3691d03cb9d6aa3a9fe7cb3ac16ce83ce4b28a3cc407a23a7bc0f03aeb20c73c2c22613c44df03bba8db8d3ac63a923c8869bc3b1f1cbcba2ea89639ee39f83b4e8f3dbb39ea40bba0b385bbf1c9823bc00bdcbbe0d140bc43af033bed7e6c3c56c84bbc991589bbc4e5393bd67c503c20e3e0bbb68484bbb60a943a1728013cb9ba21bcc917bebabdd2683abc8e063c70121bbca839d6ba45a5f1398f4ae83bfdf74cbc20a561ba4ef89a3a67e79a3bdca32ebcb09ce1ba8a930bbb2ce8713b81b5ccbb229ea6bae3a38fbbdca0913b05968bbbdd7990ba5cdb79bb932cd93b95e08b3a78721fbd7b26fcbc37fd91bc41709a3cc83ca9bdc6e1b3bdcfb186bcad85973cc5d2ccbd3f08e6bdc3728ebc573c9d3c6687c8bdb16deebd150791bc14aca53c9bfa91bd06a2aebdd3b3acbccaae8f3cf4d348bdcb4296bdbd5d67bcbf92863caea4a6bc096419bd79fa1dbccfc0403c1179193b6acaf9bbc8d508bbd8a22f3c0bb1a83ccf44293c1e55223b24b7013c5689b63c58fd17be6ba32d3fc2112e3ff5adbb3c84a41cbe2db8283fbbe32b3f74c2a43cb31c04beba04173fbaeb1c3f3ad78e3c0173e2bd42c5f93ea137073fc9d74a3c28a3a6bd8ed4ba3e9c44cd3e8098423c203783bd4d877d3ed516943e494d363c595b2cbd81c1033e8d79223e754c493c21a5dfbc1630053d8b9e593d9288fe3b545a92bcf54b1fbd6347c8bc979519befdfab43c00000000000000004d8c1bbebd0aa83c0000000000000000e0f20bbe6bb99f3c00000000000000005b3cf9bd7730973c00000000000000003b6bb7bd4eaa583c0000000000000000849fa2bd09765d3c00000000000000001e8f59bddf9f4d3c000000000000000039c50dbdacd1263c0000000000000000ec6bcbbc6febfa3b0000000000000000d28dae3bb24869bcb1a9b53c58e1253ca5aa613b850e22bcda00f73c7788c03c6748363bd44ac7bbe2e2023d6b88fe3c1ffce4b82fb493bb8c1a123dbe38de3c240c60b90f1333bb3035e93c72d5c93c044a8b3a2de9baba9f83c83cb9ca803cd7dd84bacefc0abb34d19e3cdf22953b52993abb9b4a2abb0e1d2e3cbfadcebab0dcedba991987bbfc16b93a7c4e1abc8b09f3bbef5e783be2c2403cb6206abc431491bab38836bba5c0253cf90b1fbc0490713b335723bb8bb70f3cc6b120bc975e883bec5b0cbb0de5c03bf96d4abcdfa5823bc98101bb27d7993b5de901bc7908e23a2216a3bb8c7b9d3bba0d44bc2381e2b92e509dbb9297983b4d7820bc93092c3a7588d6bb294dd33b3b6fa8bb2103f2bab80692bb1c96c83b5f61feba22db08bce96170bd2ebd79bc2b5ba53c13761dbdf42b0bbe79b2b9bb36c29a3c8bcb66bdabfd25bee89d38bcbf02a53ce05e6abdaeb81bbeec6086bc1415a83ce32b46bd8dc905beed1c54bc9cb18f3cac3b07bd566fb4bd89b73ebc08b7793c35347bbc4c743cbdaa203cbb9f23433c4f65283b849041bc157ac63b621ed33b9fd38b3c4890823c5b8f023c3ae5e53b05e8603ce84cc8bdc87bdb3eb1006c3f73d6593c3231cebdb480d43e8b4a683f2b603d3ccf67b8bda87bbe3e5f0c553f8155443c568b96bd6361a03e8a05313f21fa043c4c7d7cbdacb9793e87a2083f0fb2273c6bd547bdb5d5343ea3efb33ee6b1123c075512bd412ed83d021f3a3ed843f63b19ccdbbc01d62d3d321d3a3d0decdb3b94f384bc2ad66dbcdc4444bd844140be98f2e63c0000000000000000693645be74ef033d0000000000000000c6ba2ebebbe3dc3c0000000000000000e29d10be8531c63c000000000000000003d9eabd8578a03c0000000000000000ca63a8bdaf1fa13c000000000000000079655abd2b806e3c00000000000000007db6ffbc7c6b2d3c00000000000000004844b6bc19f3313c00000000000000007b98893b8fe387bc44549f3cc594263c00f61e3b69a45dbc084bd33c348cd43c1a24f839d6b423bcc1a9033d3b73073d7d5506b9fb67c7bb81f5eb3c9553083d34fe65ba79c05ebb2426d13ccba0cc3c0830cb39c96e67bbc388a03c2a4da33cb305e439163618bb3c16933c1cb0fa3bb47f0bb91ea660bbf6e9383c564f58bb5c386639029b94bbd6d8b93b133238bc3e3ac3badc7080bb8b93f93b18e433bc546fca3ba813c5bbfe56083c199129bc709e043c4bbed8bb72067f3b572f09bc7ff9003c54b499bb5949713b276939bc8c0ca03ba7346ebb49d2933b6c9b34bc79358e3bee02c4bb659d8b3b2e8a60bc4103d53a9f22e7bbabf2213b0a7c62bc96d91c3ba04907bc0d63be3bb4f519bcb187f5399ee400bc369ded3b09c5f9bb5d989a3cc89fb2bd5e3661baa366713c8fd688bb0f3a34be4fc29f3b9ace783c82f0a0bccf8251be40916dbb6619943c5087bcbc4daa48bec4e31abc1673803c9665c5bccdcf1cbefb89e5bb4ddf603c81478ebc2d91debd4b9880bb8226293cf5f109bc193d68bd24eb063b5153cc3bfd2d003b3d9e59bc8b84243c6f2d443bd28a7a3cf9287b3c189d4b3c72c50d3b94a7643b72a649bdfab3543e300d8d3fd982573bea064cbdbc0d463ec5eb8d3fec4b7f3b36c537bdb43e323e3199803f6ff5773bf63f1dbdc2fd1d3e97e9553f75266039f20505bd7a23063e1657203f8202803b623b04bdf87ae53df328cf3edb94c53bf260cdbce21fa53d7ab2473eaf4bec3b0736b7bc5cd2433d2656eb3c7051583bae5691bc3c9f493cb8f194bd12174dbe01a0153d000000000000000041b456be28cd153d0000000000000000aae53abead62f73c0000000000000000ed851abed572e13c0000000000000000b5a3e6bdf487ac3c00000000000000002e6aa3bd63c38d3c000000000000000044fd36bd5c4a703c0000000000000000b6129ebc1683283c0000000000000000919324bc722ce83b0000000000000000c9223c3a8bfd69bcd05c873c48ff623c3aefb33ab00b74bc30c9953c86361b3d9ad01dba8e9b1bbcaf28c53ce72d373db3818cbb60e2e1bbce0ed23c593c2d3d8f30cbba945137bb4b8ab23c3681083d50ba4138564085bbf9b2a53c422ccb3c7229b8ba2ad512bb67db8b3c34dc413c03534f3a90a737bbf265373c24930cbbab883138be76a0bbae41d43b826922bc77a28c3b69b11abc8775943bd755f8bad2b2143c9dd45cbcc6e3b43bb348e7bbcede3e3c9f500dbcb739fd397d114fbb9026663ca01e1ebc875ed63a59429cbb46b91b3cfd40d7bbe91b83bad1a8c0bbb4bdc63b4bdad3bb385e41bab8ad10bc75ea903b0d77c4bb27ff1b3b13c224bc4dfa663b1d69d3bb92fc8e3be1051ebcac8f253bd75719bcf4aa913b29760bbcfe40c43ca52a14beee3aa23c455d1c3c8960a13c9db356beb991c93cbe38cc3b63a80cbbbf5b79be9421bc3b34dd253c896e1ebc49bf6bbe2397863a053b1f3c7d747ebc242e39be841c4fbbb889e13bd4954ebc1c9601bed3c0763abf5e893bfec72abcdf9189bdbedbfd3a156ac93aee028cbb50526ebc6adea83b488ed2baa3ec3c3c78a1ab3c076d983c971a81bb4c02b3bbda3698bb84de3b3aec6cac3f91b143bbd71926bc885c003dcbe2993f3c5caeba7e681cbc5b72da3c373f8f3f1780d3baaafd3bbc41d0163dc0996b3f1274a23a4d913ebc31c12f3d6caf2f3f8b338e3bbfc87dbc6b254a3d19acdf3eb17c933b0d0967bce0ef4b3dc3cd503ee4dff53b636193bce1073d3dd2ead53c4b915e3be0c9f5bb4b64bf3ce05f0cbe1b1a60be06512a3d0000000000000000a13e39be8a7f153d000000000000000096ee22be4487ea3c0000000000000000bad701bec968c93c0000000000000000cf7ababd276a9e3c0000000000000000691f61bdca81753c000000000000000066aec0bc839c2f3c0000000000000000aea6043ca9b7e93a00000000000000006f83373ccbc4c63b0000000000000000000000000000000000000000000000003d3a5ebb4f3226bced976b3ca9c1313d4cbf44bb89eacabb48d4773c36a2403d3f58afbbb2f4feba9491953c2485313dacf389bb05e7a938f5ab793c4fe8063dfaec00bbeb25c6ba5ed6643ca32cd83cb4c417bbf076913a9889303caf90803c06af683a5b0abfbaf1461c3c297d153b0000000000000000000000000000000000000000000000000000000000000000c430633c795560bc5d9127bb3c700a3c469f6a3c0cb21ebcc8af6abb1c10b23b5fef613c137207bcf79186bbd83f993bb770513c666eb1bbf965c5bb262c713a9a2c283ce58cbbbb95f4cbba305840bb9114553b79e789bbb06cd2ba1c01b0bbae57f93a25f18fbb1eb37339363d1cbc00000000000000000000000000000000000000000000000000000000000000008057663c102182be7d8eca3cd7e2ba397770193ad2fd76be889de23b226ee13923073abcbca167bef20077bba77c0e3b71101bbc7c1c3abed1308bbb9c79f4baab1740bc45f5febd5f67e2bb92190abb0f711ebc81db8abdb41994b9bc7b5fbb701a79bb28b84cbc66f7dc3bf71d85bb000000000000000000000000000000000000000000000000000000000000803f983d1dbc8b7eb33ce522e8bd8a22ad3fd574a3bb0c7e6d3c2edb83bdc0428f3fc6263dbbd84f073c5df03bbda800703f32540ebb642fd73ba288d3bc6243323f7eb500b922261a3ba8c28fbb4364e23e4008e93ac7864fba6be86a3c4c76593e9f540f3bb8681b3a4666c33c13d120bc0000000000000000000000000000000000000000000000000000000000000000ff76ffbd7bbca53c000000000000000041fc99bde7dd5a3c00000000000000009a346fbdaa3e263c0000000000000000088a11bdc99f0b3c00000000000000008dd853bcdfcdbf3b00000000000000005841a73b1d25463b0000000000000000aca59c3c580828ba0000000000000000000000000000000000000000000000000000000000000000000000000000000075380dbc1723fe3beb1f043d7f21403cfe6230bbdae1c83b8a5e0b3da16d1e3c9051dfbac40c0b3c3ad0d63c610c433cf30018ba72e2023cec7c953cd2f52e3c0b6e543a899fe63b8b441e3c9f9c193c3e49c83951dbd13b14dd9f3ad3c1073cb19ac9baba3a003c008806bce0c9043c0000000000000000000000000000000000000000000000000000000000000000d79fe4bb684520bb3d2bf93a063ca43cdeb0ccbbaaeb17bbf6974dbb039b713c4d8962bb19418ebb6db366bb1a73fc3b14c0aaba479b93bbe6bf99bbae21ad3b0f6542bb173652bb867bf9bba545a33bf62f0b39bc309abb598fcfbb068b1c3b012ea7b92a1e93bb933beabbc277b13b0000000000000000000000000000000000000000000000000000000000000000049462be4c384a3ca9031d3cdf6a9d39aa8a55be72162b3cbe8ef73b73e1c13a1c4842be1c543c3ba21e113cbbcb403abaf81cbeb3ca8a3a2537ee3bfdad6e3a6176dcbd9162153a6082ff3bf40acebaf8be72bd66af533973e25a3b895a3cba3ce199bc010ea63aa48c783bb571adba0000000000000000000000000000000000000000000000000000803f000000007d60883c12eaf0bdf5c1ac3f61b7e5bd622b363c74b699bdd5558e3ff21291bdc3f60e3cc8ec6cbd00ae6b3f2e0464bd6936133c790b22bddb2a2e3f191016bd62a8bd3b6b369dbc92f5de3e1557afbc7fb6903bd361ebb9f51e533e3a9091bbe2118a3bf65a483c8a7955bc2a84a83b00000000000000000000000000000000000000000000000000000000000000000801923c68adfcbb00000000000000002615233cf6d0a7bb0000000000000000cddb2a3c3c7c8dbb00000000000000005fda143c224c8dbb00000000000000000115023cb8e6e3b900000000000000004780083c351d4cb9000000000000000092b01f3cd9eaabba0000000000000000000000000000000000000000000000002fa950bccb63693cac7e393c2dbd323c24442dbc3eb7263c4bad0c3d3268993b82ce0abcf6c2423ce20e0d3d6c11203cbd6efbbbb2cb5e3cf453ef3c0d4f413c145a85bb6173463c89e2a43c8f232c3c87f6b1bbe634573c06ea453ca2100b3c043e7abbbfa7433c57dcd93a201aea3b057aaabb329a433c66c4bebb37679d3b3d22febb64bc4a3c29ce07bc3b258d3b36bcb2bb9625b6397a20f73bb83b313c2616e2bb3f4b713ab5b5193b09a3d93ce68bb5bba95a76ba08252c3b94a9813ceb548dbbf9a1dcbae2bcb13a00c6363cbd2570bbbe8ec7bacc6733bb05b4053c909fd1ba7b7b0bbb6d3067bb063e993bd5e17839e573fabaf30587bbe1a27c3ac6450eba46d7a1ba81108ebbd79a37bb341d95baf1f9a1ba0c1282bbce86833b344519bed693cc3cf402d2bb5d600c3be25e50bed42b063d86bf27bcac53be3be46161be3d4d8b3cb01b4dbbad97753b3af94ebe3f865b3cc3fd57bb3ab64c3b664c24bee2ef1e3c9ac7e8ba45ccf13a0033e4bd6d25173c40c946bb7d70483a037671bd4365dd3b8e4f7dbb922c1eba8bc081bcc54b083cb34facbb315c78b9dacb393b1bdb953c0d1792bb2e352dbb72951d3dd5af44bef42fad3f24b61abb9c35133df8f12cbeb5539b3fad5a883c6496f13cf36d10be6d888b3f92f3ab3c1905cb3c9348e3bd1b54613fa8a1f63ccb49b23c4f54a0bd0bda243f66bd123d85f5a73c361645bda65ccc3efa57323d46b17f3c075ba3bc6bb3303ec01b383d7272273c0c35273c019331bc0dbf483d40113d3c117b3b3c3e931cbee951bd3cddaf21bcebdf11380000000000000000bfca4cbc6a6903ba00000000000000007b605fbc34cffa3800000000000000004d8766bc8b75d53900000000000000006bf350bc4ebc263b0000000000000000457a4dbcb009573b00000000000000008fa04fbc6b9b693b0000000000000000d43360bc190bc63b0000000000000000643aaebbd2228d3b00000000000000001ffb10bc5f9e4d3c1899203c4aaa353ce5f147bcdedd883c893fb33ccb1e263c80d442bce9e4913c93e0ca3c54fc6b3c65a418bcb9c3813ce258cc3c432d443c5a77e7bba181763cfce9733cb4d0393caf8ae2bbf9ed603ced364b3c513adb3ba0b00abc2b615f3ccd19ec3a9faab73bf58c1abca3da843c6a6528b94b9aceba35200cbceebb2a3c1b9b9aba2bd57bb9500139bc3c4fcc3ba5eb233c764383ba5b3eddbba7d8853b9a311b3c63f7e43bc347aebb0b111d3b4dab103cade9933b848786bbb3057f3a8042a93b7b72893b9c9340bbc181203be041553bf6bc25ba575ccbb9ddd676b967edd93a7cf44d3a5d70833a224f2fb9ec8e933a87bb0bba1ad2043b480d513a16398db9402b29bb96d340bb2a7e853b31c74e3bc32146bba986d5bd33ea093d542cb8bc8d13c43bb5ed30be4416843ca28c92bcb67acc3bdfeb3dbee9c9dc3b2fa47cbc7589b93be5cb2dbe53f2693b827b65bc0002af3b2d5906bee76c213be4cc5dbcf0135e3be270c2bd2557da3be4cf50bc68c7243be71a54bd62185e3c0b0271bcbd2cba3a67e89abcf922a23c6b4365bc45259fbab58cfc3a0ea9ee3c510d81bcad2314391c36163de8a42dbe98f38b3fd5084b3e994d283d2a2535be23f9893f75fd3f3e9a2b0f3d03d519be9d74713f2187383eed3ffd3cde20f9bdb29e423f4b9a283e88aee93cd8eebabdc39f0c3fc9e3153ed9abd43c9cff84bd52a1ae3e8702fd3d50acb03cd7f41fbd56bf183e03c0bd3df4759f3ca87f7bbc57660abc855d893db957833c69e2b8bbd0bbd2bd21d6f63c618545bd2e23f83b0000000000000000591f55bd0403003c0000000000000000ac564dbd6d62063c000000000000000008703bbd68efdb3b0000000000000000386821bd55a9c03b000000000000000068c71abd778d133c0000000000000000c176fabc2efdfe3b0000000000000000c3cce3bc8f20fa3b00000000000000009954adbc133dc13b00000000000000008851b6bb6903de3ba21c213c89020e3ce0712dbcf0bc553c29bbaf3cb0032a3c3fb219bcdb7b333c4e67e43cea2c373c38f2f0bbf6193d3c5dcbb83ce8583b3c5de3d9bbebb7443ca5b49f3cb61c1e3c0b53f0bbfbdf2c3ce305533c5504a23b6aa2dfbb5ca9353c5fce303c18919ebb0f6714bcbe784b3c2d0db33ba2eab5bb627cd1bbff37ca3b6d0e963b98ebecbbba0f50bc430f1d3c274e583c95ac55bc0841f2bb54bed53b4c543d3cb17296baa3ef97bba6ddc43bd121283cac8aaeba5f0a59bb49aa6b3b342a033c0ac5a5bb729a44bb2dfa603b6216bd3bbafe89bbc7b7a5bafd1db53b5f66843b7938aabb6b333db9e8ee5c3b15be853b8565ecbb65fc1d3bbadc813ba053f13a31ade4bb24c65cbb0a5caa3b103f7a3b1159eabbb6f5a1bd7cd1c43c62cb0abd9cc22e3cb94a07be8e15cfba13c5f1bc93f63a3c659812be073098bcde27cebc6f842a3c794601be21fa8bbc9ea3b5bce4551e3c2349d4bd18bd76bc28eeb5bcde73103c929b8fbd875815bb1a46b7bca25ea53b2e1917bd5634473c6ee4a9bcea118c3b0a1d3ebcba66d93c56beb9bc6f86da3ae14c8e3ba11a263dcd55c2bc2d53323b7081093d494b1bbeb5d4623fbd6cd83e31a4183de11f21be4f315b3fcc7ed23e1e8f083d6ce20abe1dae3f3f512ec53edec5f33cb2fce0bda714193f9533aa3ee1fadf3cb800b5bde6cadf3e3e058e3e8df3d13c49e580bd88228b3e3a37593e9214c53c813030bd6df1f33da589103e6a07b13c5075bbbc80812dbba83a9b3dabc4903cc4348bbc8c6999bd6c3abb3ce89bb7bd1dbe7b3c00000000000000008ffac1bd807e723c000000000000000099bebabd933e6e3c00000000000000004248a7bd813a5c3c00000000000000001b0f95bd04f5533c0000000000000000822480bdf9c34d3c0000000000000000794e4ebd2ef9243c0000000000000000f44b30bdfeb4333c000000000000000074fc06bd5283143c00000000000000009fbca5bbc466a33b5776173cf478293ce5abc3bb4246bf3b56f59a3c60224d3cea37c5bb7531b23b50d8ba3c0805773cb0ddb7bb84eaaf3bc3cfad3cd39a5a3c3a1948bbe62cb13b64725d3ce6280d3c1f1bcbbbc18be13b864b943c69adb93a0130b3bbd49ea43b16f1383cff4380bb1cb7bcbbd699c23badfc3a3cc40445bc7645c9bb31268f3bc1e5f33b33c906bca53c46bc0d9c333c4d383c3c6a804dbc84fffabba8c2173c5368433c9027b1bb5a7ebfbbf0e7cd3b13813f3ca5b20cbc5e5330bb4fe3a73b3daa103c07309dbb7b093fbb819ce23ba105003ca6c829bc8d85d2ba34158c3b94b1f03b2106f1bbba7da03a8ad48e3b5925913b0c3800bc3172513acb84a03b1408ab3b7c420cbcab1d5bbbd2b5e63bde52c13b1d8616bccdbf5bbdf483073c86582dbddd9b7c3cfadab1bd3e8407bdeabb0abd84226d3c6412bfbdfee547bdcf6400bd2faa683c357eb7bdd09949bdac0ce4bc5b07513cd97e7dbd5ccfcdbcb221f7bc44a5293ca03545bd0b978abce39dd9bc5222ff3b5e2cb8bca8e9c23b0cfbcabc73108a3baa43a3bb499fcd3ccbf9cabcd4e20e3b3a51443c3198223d59afdebc9df61f3bf4bfd53ca48bf6bd4135253f2efd293f4572e43c02cdf8bdc9711d3f9bef263f6bdfd43c0837d5bd2199083fb993173f76dbc43c25e1b6bd13d4dd3ed86b023ff9349e3ccd5c8cbd7827a03e7b21c93ec58cc13cf1d565bd93c84d3ed5f1943e5b1a993cde4b21bd174ec93d1a6a323ea0d28a3ca66bd1bc47bb2d3cddfe9d3d4695833cb7c697bcc18055bd2bafd03bf97605be4c31a53c0000000000000000f2cf09bebe9da33c00000000000000003deffabd7c15a83c0000000000000000cb60e8bd65ec853c0000000000000000c5e0b7bd3a3d763c0000000000000000867fa6bda940893c00000000000000002df984bdd37a733c000000000000000022f64abdee1d563c0000000000000000b7b424bd7001753c00000000000000009e4647bbc41e0cbba654633c372ac83b6f44d3bb0231063a6260973cce625f3c9393acbbc45167372c56ba3cfe7d763cb3b79cbbab3907ba8c929f3c0bd3723caa41b0bb64fc1e3b14c5a53c784ca03bd9ad91bbd6cd0f3bb613933ca036e0ba0556b8bb54e3763a7efd903c8ded34bc7cdff1bbadc4cb3b1bb95d3cda1191bce2a98bbba61cadb9b46c753cd9808dbc92d52cbcf3710b3c1dd91e3c30dd46bc8ef996bac2e9ba3abbde2b3c6c57d0bb65410c3b54c7c339bfcc213c5da2dbbbf65e153b1386fa3997380e3cdcc41bbc5231393bff04583a1194cf3b601de7bb9e708b3b280ab83a5b43fd3bd7d123bcdfb4913b73e7f03807d2d13b78e324bcae29b33b2bb0253b9282b93b7c8137bc4fe7a0b952bf223bc4f4bf3b1c6f33bcd0a2debcf40483bcd9d724bde0f68c3c22d932bd850fa5bd9c0bd2bc94649c3cd85f52bd0b66c0bdb632c8bc5d038e3c81e537bdde2eb1bd60a3bebc7d70713c970d1ebd98bb8dbdd6daa8bc2527563c5b1ac5bc9a6716bdf40baebc7a43113c70cf1ebc1ca4e4bb5eb89ebcfa36a43b6861a83b2b97833c8df88ebcb951283a6e9a763c21f00a3db75ba8bc89cc9a3bf039a53c7d03a9bdfc2dcf3e8464673fa244b03c167caebd7224c23ecc93643f16e99b3c6aae99bd344fa83e42c64d3fed7c8c3cd6b37dbd9f9e873e18d52b3f838c8d3c8eed55bd5ed04b3e1ef8053f67e5723c377d31bd15200b3ead6fb53e8d506a3c1aebffbc25ac953dda01483e680d803c92a9cdbc9af2b03c2b8c803d5de11f3c477b85bc921fd7bcc3648cbca0dd24be9087da3c0000000000000000a4ad31be22cfe43c0000000000000000cba21fbef62bc63c000000000000000091290bbeb747c13c000000000000000073c8eabd00f2a53c00000000000000004dbebcbd99c09f3c0000000000000000e11f90bde231973c000000000000000091254cbdf2476f3c00000000000000006d3e2abd1858653c0000000000000000a59ccdbaa17be7bbf422583c34ecb23b0c282cbb73c0a1bb74e2843c8102703c61b340bb93e082bbe5f4963c9e649d3ca61dd3baa4c887bb4f3c8c3cc5ce6f3c835d49bb971a47bb6f31943ca3f9dd3b5d9929bba7e726bbc8fc953c4980c8ba720b84bb19f3e0b81739813c77c838bc85839dbb0ee0c539f079833c678898bc62045ebb0ae356bbda2e813c8e93a0bc88f142bb6a14863a9a38f83badce14bcdbc08f3b4b46b9bb55130d3c4ae61dbc47bafe3b1173e1bb87f6f33b6c831cbc3cb4023c98adccbb5d49c73bfc712abc46aff23b744c96bb079ec93b159c1bbcfe5bf43b0eae7ebb6282a83b77aa34bc9154db3b1c0219bb3b10df3b10963ebc93fed13b810336bbe220ac3b7f5a39bc3a4f033b356b933ab27f9d3be0db22bcfeb3613b91494dbde250bcbcc965883c7370acbae01e02be0b3b1ebc7c95913c54ed12bc5e9613bee0a244bc91359b3c794efdbb365b07beb73523bc0f857d3c55dc00bcc8d2cabd914f40bca486473c1a8bbeba840d8dbdb14effbb64eae63b3694a63b92a6eebcb94b08bc4bf1743b58e6263c990e9b3b43edfabb45f4513a6ed88c3cdbadc63cca2636bccc5c7838894d2e3c36553ebd17b9403edc878d3fbc962e3cd2de36bdf4be253e06ad8c3f4abd1e3c873127bd666a133e6e3d7b3fc236153ce58f10bd3d0df53d1023503ff3f00f3cfcc2f2bcc9f1c03deaf71c3ff6f42c3c3b07d4bc6eaf963dd0c2cf3eeedef63bdcb0adbcb37e4b3d3f2e543e66f10d3c5e268dbcbb55f93ceee6213d0a2a163c63be83bc167b853b574b73bdd9c938beaadff33c0000000000000000b68844beb79cff3c0000000000000000151e2dbeafa7e53c0000000000000000749f14bee825c73c00000000000000002ea7ecbd80ddaa3c00000000000000004fd3bebd18c1b03c00000000000000007c4d83bdff258a3c0000000000000000690c23bd019c503c0000000000000000a8c2e6bcc18d5e3c0000000000000000d305a139ad6af3bb8b22323ccc96433c4e64703976820ebcc4db783b0f3e083d2b68893ac128febb43c3163cc53b053d136e3039d12ee6bb468b0e3cd734ef3cc45b91b7cd659dbbd6972a3ca1d3923cc953f3390dff8abb14d2353c4ce2de3bb7c9afbaa7932cbb293f323cd3a760bbcbfde1ba0c1c9eba3049383cf4474ebcec8f57bb527e87baf4903e3cd33792bcfef5993b597a2ebca1937d3b414792bb068d573ab3583abc072de13b6a5313bc68e0833b0abd27bc86f5ac3b50d2ccbb2e9bfc3ba8c93abcf4e99b3b44d805bca9e8c43bd3f10cbcd8507e3bb5bb0dbc5399d73b16fee3bb4ddc843bc0b911bc3b96a83b08098dbb6bb6143b27c3febb8193423bcac913bbada48e3b8e440dbc24e6943b100ba7bb9466283b7e4701bc98e9a13cd3d4f4bd0523193bdd375f3c8a30043d9dd831be7adeae3cd99b3a3c57198d3cb39742be5d7d543c2fdc4a3c633a853cfa5834bef2a5423c1215323ccdca493cde030cbe1ce10e3c0812ed3b498d133c266ebfbd39e0ee3bd2e80d3b6251073c92ea37bdf91b903bd33d7eba09afd03b72a892bade8e4c3b80ad92bb0c348a3c68407b3c3760e53b4fd78ebb69f41cbb205f36bce3fea0bb9754ad3f50cf89ba171d44bca6c74d3bc98d9b3fad0ac2ba93352ebc79c7b63b7d718c3fb6c0a1b9ba882ebcf28f193ccc46653f475b2cb939a12bbc0bb8873c3be6293f903e0e3ba95826bc8dbdc23c185bd93ec000403b8f2219bc8f37dd3cb7bc493eb4f3773bd80753bcd420143d79fac73bd212f53a79dfc6bb02a6883cd2be05bedcc44cbe8b210d3d000000000000000031d234bef7e1f13c00000000000000005b441ebe4c5dc83c000000000000000063e502be562ba53c00000000000000000ab3c6bd613c9a3c00000000000000005cf785bdb6c6873c00000000000000003ef821bd78f6583c000000000000000043d9a2bb2f58b03b0000000000000000f373bbbbba6d273c000000000000000000000000000000000000000000000000c7055c3b5d6f3abcf9cc863b0cbf243d1c50873b975c15bcd200d63a7faa273d15f0063b3d42cbbb2b89f33abdda0c3d02f6483ba0c8c8bbabbc323b2063d43ccd8e0a3b131a3bbb2600553bd4c9743c13f0053bc7b781baa3047d3aced8033cc546cf3a469f0fbb89358a3bb63089bb0000000000000000000000000000000000000000000000000000000000000000923fdb3ba1e881bc310d8839d461633b810de63b1ff55fbc75d491b96de6c6b97882013c811847bcf2b8353a74b2f8b945ac0c3ca89d2fbcab1f66bac99599baae02da3b38e50fbc9a7aa1ba828c39bb33205e3be46db5bbf58be2b9440d6fbb4310063b5c107dbbcb8e91baf139a1bb0000000000000000000000000000000000000000000000000000000000000000cb2fd33c9d165ebe92a7d13c04aaf13b3e6ebc3c151c51bee2d9b43c4026ce3b412a873c77243dbe08257c3c505ac53b571a513cf97a19bebf84753c2f16843a3126343cc6b9d5bdebb1453c84104e38af03e73be61c6ebdd073333cbcc90fbb871bf63bd40e83bcc91e4b3cc20bc4bb000000000000000000000000000000000000000000000000000000000000803f799628bc5d9c503ca918e6bde662ab3fd84306bca1ff1d3c780698bd49a68c3fd45805bc3642f33b7bca6cbdfea9673f5231acbbee4afc3b327c2cbd5f622b3f0aef99bbd605bd3bec48bebc44c8d83e977984bb468b973ba46f0fbbf993493eb0ae4cbba746a33bf65d2a3c1b099cbc0000000000000000000000000000000000000000000000000000000000000000247ef5bd1866833c00000000000000003636a1bd2388253c000000000000000007177fbd8027153c0000000000000000939031bde72f073c00000000000000005c55c3bcdbf1d13b0000000000000000c2c441bb6797423b0000000000000000778d353c64f82f3b00000000000000000000000000000000000000000000000000000000000000000000000000000000cdecbabbdaa60b3cfee3543cc901baba00dc5abbbb0f8f3b1ab76d3cdc42b1384ecb1abbd024b33bcec42a3c7d4fb6ba71c82ebb788ebb3b13f6c93bd16094baeec2f6ba287d0e3b2842973b0eeeddba11d5eaba56db153a622bfa3bbee76abbdfcc09bb3f2eff3a6edcb23aa551a1bb000000000000000000000000000000000000000000000000000000000000000044b4b73b2b7a30bb5ff5c33bbc9351babbe3383b0859cdba33198a3b8339fc3aef6a803b33f39dba27301b3b5b9150bb67f4823b0595deba809c043bd82537bbacc66c3b184f81ba0383ca3af8efd73a4c823c3b3c54c6b98ece933a15c9bb3b194ea13b32c9b9bad605563995e7f23b0000000000000000000000000000000000000000000000000000000000000000f9c721be9953f5bc3a48813c48d78dbaac9d1dbe677ccebc62fa583ce5a2a4ba273a02bee09ce1bc3011573c8700aebaf7d2c7bd2fa7d2bca148483c3c3c9cba30748dbd5942bebc8b2d403c4701d1ba1c4c2cbda7b284bce82f353cc56400bb801358bce13d80bc4b243f3ca64b92ba0000000000000000000000000000000000000000000000000000803f000000003e160f3cfb7ea2bd9179a73ffbc1aebd8ac5ad3b692b57bd5c608b3f394c56bd399aa63b101322bd0b3e623f90a530bd2e80943b31cdf9bcdc1d2a3f5ea204bdaa9a503bc10eb7bc4312e13e9ea4ddbc0d07fc3a987b4dbc31e45f3ed17f89bc2d4a233b84be01bc51e6ec3c3e03aebc0000000000000000000000000000000000000000000000000000000000000000eb532d3c157454bb00000000000000003589da3b1ead00bb00000000000000003bbab43b1b922dbb00000000000000001fc6aa3b99e0ffba0000000000000000370faf3ba4119dba0000000000000000654baf3b4c44c1ba0000000000000000309f073c76d545bb000000000000000000000000000000000000000000000000b9430dbcbf02983c45e9c2bc03aafb3c0f0810bc8a68743ceb601bbcc8db153df835efbb9332593caa142bbc49b8083d8631e1bbaf96643c6aef76bc7dd8123d9398adbb29f43b3c21df91bcd16b053dcd56e4bb3d823a3caaa494bca857fa3cdc2797bb8219003cf6d487bc6b5cd23c5d5eaebb4459e43b71a66fbcff8cca3c33af02bce82a643cdf3bffbc325bcd3c6cbc98bc67c2983b5863543b96208a3b00e0d5bc0c51e03bafda893b94fd6b3cbf42c3bcd1c7de3bbe912f3b781d043ce20bd0bc999cee3bc0bc813a49e6e43b7da8bfbc069eee3bb21e32ba97df2b3ccf4cbcbc5d01f03b07657b372fe0243cefc6b0bc05aaf63bb22336bb1ddf483cfe29babc36f7013cfb2753bbd1807b3cd58f90bca717b73b8e5d34bb6b96a23c281d06be0aaa273b457e763b263f763bf18653be39e57e3c73533c3b4495863b6af14abe5a63a03bf2ad5a3be607663bb23736becbab443bca872e3b16d2803b099413be0d3cad3b05d0a33a68297b3bab0ce3bd21f7233c7ca6703959515c3b3b4f9cbda5027e3ce22c5cb857414b3b090556bdf11fcc3cc937a1ba97e95d3b63e200bd0e54ba3c0e8a68ba9740823b508e7a3c05a9eebd895fa63fcddf9d3c7777633c6383e3bd7fce9c3f2db5ce3c55192f3c0800afbdacdd863f80db1a3da851283c9f2e89bdcb77583f1c6f273d9f980a3c4d635fbd89f81d3fb5c71d3d9ef9fc3b122e18bd950bca3edb980f3db6dad63b7b14b8bc6140353e3ea6eb3cb286c03bd21c8fbb36b189bc87f6d53cc75fb03bd73129bc4835debd82b46cbb27ba9abb68509a3a00000000000000006877dcbb53fc053b00000000000000005f19c3bb92d6bf3a0000000000000000595abdbb444e373a00000000000000005a52a2bb7578d83a0000000000000000c4bb8cbbb9c6e03a00000000000000003d8f87bb11b3db3a000000000000000064194dbb3851113b0000000000000000917c9cba766ebf3a000000000000000043e607bc7907aa3c563280bd7963a73d52b420bc410dc13cb4c84abd1e809b3dfbf81cbc5f71bf3c306b47bdedd8993d3e820fbcc580bf3c7fb651bdbd7d963d9db4ffbb6aa9a03c229f50bd58cf913d803ff0bbcff09a3c2ba053bdc66f893d168a08bcc61aa83c0e5454bdbf7a843d8a3610bcc75d9e3c2e184dbdb4ae743d707808bce1ff913c5d3c79bdcb438b3d6fec64bddb08823c2a03a7b9f57d243ce23967bdcd9d8e3c6148b2ba8625373cd8b55bbd2290913c057ad9ba7bb0253cd71a5fbd6606923cc70a16bb3a3a003c546d57bdcb738c3c81648abb2df6473c62c958bd40e7983ce29bb4bb8bc47a3c7c8c4fbdc9798e3cd3fca7bb1be8863ce0ba4bbd79898c3c1203c6bbfe9f983c042d4bbd1f278b3cf03bf0bbd7a4b73c191d0abeeb634b3d853395bcf0ff383ce8a73dbe945b1d3ddb556cbc35e11e3c6e3944be33e4053df71989bcefe31d3cbe5030be27250c3d846890bc4e091b3cfa1a1bbe9937223da0d381bc911c183c026300bef972413db06f92bc420c1a3cb405cebd0ca25a3db67c98bcb849173cf0eaa1bdc2a8863d508c9ebc4700203c876b8abdb6dc963d85b4b5bc0ec8373c482c2c3cbddbb3bdc3f3833f0ae95b3ea24c523c6630bfbd9031813fd0a44f3e2b69353c37959ebdb2205f3fbfea463e87ec273cad0d83bdb868313f68f5343e45fe0d3c74ea3dbd1162013ff2b6153e4b16d53baa4f1cbdaf35a33e6e8cf23df0cac43b9247dabc7ce2153ee2b1ac3d87a4a73bed3464bc0de2c7bb74da603d4c76733be29c8bbb7a8dc0bd711ec13c4bd2ddbca8f8df3b000000000000000096cfdabcf699ca3b00000000000000000acbc0bc8398aa3b00000000000000000f71bcbc1fa1d13b00000000000000005922b5bc8909aa3b00000000000000004a2fa4bca686b93b0000000000000000487585bc9bae9f3b000000000000000051cc7cbcb076ba3b000000000000000038565dbcf7b6983b000000000000000058c8fcbb9c43b93c3c40a6bd571fea3d941725bcf8c1d83cbd9d8cbd4e96db3d88e613bc669fcb3cf1328bbd65a6d43d480802bcc2b6c33c351d87bd4ba6cf3dbf141dbc2c55d43ca00691bd84a3c93de53b09bc7d10ba3c56d389bd6b1abe3d652f07bc06e7ba3c0c7788bdf416b73d6d7e0fbcae6ac53c778584bdddd5ab3d0c1808bcdf85a43c8c789dbde6cebc3dce0ea6bd813bcf3cf6fb71bbbefdd33bcf22aebdb9f8e63cde799dbbda4f2e3ccb18a5bdbf0dde3ca0b9adbb4d8a1e3ce8cda3bdae3ade3c9a81cabbe39a283c4267a0bda489e13c4507f0bbc95b423c0c969cbdb7aeda3ce8b7e4bbb618463c078e9abd7c03e13ce20a07bc14ec7d3ce8f196bdb667dc3cd14612bc8800893ccc3992bd3098c13c546c09bc6b32913c8fe306bed9aca33d58d617bd70087a3cd32935be0aa68c3dd0fc18bd7675853cdf3a35be6116783d04b81cbd454d7a3c0cb42bbe2136843d3f3a1dbd5fc47a3ca58519bed23c983d7d0323bd0d1f7f3ce12e02bebc3bab3dce9c20bd049a773c3525e0bd4a38c13d2f1f22bd9a98713cca35bfbdc0e0d93df52a23bde4ba7e3ca0ea9fbde3b5e43d885622bdfcbb753ce5ef003c82388dbddab34d3f0f61d83e44800b3c314d94bda307453f26c1d53ee5d0023cf74471bd2613293f921bc63eb624d93b2b6f44bdf658063fc50caa3ee81ea03bd18e1dbd1fb4c33e50848e3e3dddb03b7cabf0bc27a3713ee73c5b3e9c417e3b2622bbbc459fcf3dd29d183ec5f4183b9ead25bcae8e84bc07e9ba3dd367263bd88b10bcc2a0a4bd94f3243de76745bd77f1313c0000000000000000eec254bd3481343c0000000000000000f29d43bd3445303c0000000000000000e5ae36bd9c662b3c0000000000000000365b32bd7098273c0000000000000000c04b19bd43731c3c000000000000000009750fbd60961e3c0000000000000000a5b101bdc543153c00000000000000005a65e5bc92140f3c0000000000000000cba906bcb765ae3c6d21b0bdf88b093ec15400bc8571cb3c3ba9a3bdf680023e908c02bc7ea5c13cf22498bd87c4f33dd1b00abc42bfd03c40639cbde888f03dc20ecabb11c7a43c004b9cbd2bd4ea3dc5e0fdbb7327c83c88a49cbd9a38e13d577be8bb2271b63c89e391bdc5efcd3d8bf8dfbbc367b03cae7992bd2826c83d4ef0edbb0b7fa43ca7d693bdffaccc3d3f87c9bdaa57063de56abebbc278d33bc65dcabd1ed60b3d407503bcd73a133cce50bcbd385a023d4d64d1bb7688bf3be9aac3bd14f00c3d5f6514bc3398453c47eeb3bd12fffe3c20e7e9bb62bd503bfe62bbbd123b073da7f318bc33ad3e3cd9caabbd5497fa3c790707bc961c153c3ad9abbd6af2013ddc9141bcb07e6e3cb11ea8bdce30f93c787206bcc8a8523c9364f5bd68f0cb3d97d06cbd851f9e3c406617bedfdfab3ddbaa6cbdb8cf913c86c616bed57d963d0f0d6cbdb8ed973c679e17be1404a33d6ace6dbd988e9a3c4acbefbd82e2b83dff7d61bd866d8f3cfec1f0bd76d3cb3dd4146bbdcca4933c8512c7bd766ce63d0d1a62bd7b52943c1b6eb8bdfd18023e74ca65bd1358893c81119fbdb0d0063e5ee460bd5fd5963c13389f3b2c7851bd71d2123f9eed223ff1a2c03b88354bbdc7df083f7c4f1e3f0ff2913b2a6628bd1afae93e95ae0e3feb1d823bb1b80fbd9035bb3e27b2f63edba86d3b36f7d9bc81fb853e54fec03efc84e03a62dcb9bcd11d283e48399a3e1d63dc3a6b8598bcff618d3d393d4e3e63ffe83a417527bc00bb92bc522af43d8d66bbb9fe42cfbbca0894bd76f6553d1e018ebd4ca2583c0000000000000000bcdd8fbdd7e57a3c00000000000000004a6583bd2347603c00000000000000005e4476bdc58a4b3c0000000000000000693361bd037e453c0000000000000000057363bdaffc5b3c000000000000000018d149bdd8f6393c000000000000000060a93cbda59f4f3c00000000000000009b032bbd4f0f473c00000000000000007704bbbb8504853ca44780bd1e6bf63d3855debb9afda63ccdef5fbd2687d93dc58dc4bbe046a43cbc455bbd9dded43dd6b0b1bba5c09f3ce17659bd9a73cc3dd908a2bbdc299f3c00c353bd9253bd3d1dafbfbba507993c39d353bd619bb33d8c819ebbd54e9d3cfeb04dbde46bac3decf7acbbefcd9f3c038145bd8137963d41608cbb49d8553c349949bddf11ae3d4170c6bd8fde0d3d2e0cd8bb4b36cd3be17bbbbd10c90a3d84aa0abce8d71d3c01eab2bdf5ee093d07ac1fbcb8f6df3b3a9bb1bdda92093d3b1312bcaa67be3b039aaabd95db073dcf9727bc68fe003cfafaa4bd297d043d911e17bcb344c23bfdbea0bdac64003d425022bc60eda83b67a59bbd200afe3c7d072ebc9792e33bbf339bbd42c3f13cb822f9bb018cff3ba152ddbd664dbf3d33108dbdabf1a03c0d7a00be3823513d16da87bda115a73c3db501be5ea3313d5fbc85bd851d983cbcb9f7bd3f045f3db10a84bdd5ff8e3c6838e9bdd36b923d38688abd1d31983ceb4ac2bd0d93b23df10583bdbfe28d3c0148b1bd08e5d23dcbee7fbd9a19833cf9c68ebdcc79e93dfa986dbdf4547e3c922879bdfd1c013eaa447bbd06ac953c3f1d4f3bda2313bd15d9bc3e5f735d3f2c65273b75701dbd11edaf3eb1415b3f8a563d3b6b90fdbcdf7c953eb091443fd0dfb33a2ee1c9bc7583673eb66c253fafe0dd39765a9bbc0c30233ee492033fb9f3f83961236bbc95a9bb3d0d22c03e7ec162b95bde2dbc9684ec3c2fa2743ef951a1ba634db8bbbba7f6bc9111033e2e0af2ba619cbdbb736f89bdc03c323df3f1babde124883c000000000000000090eac8bdb5c6873c00000000000000000befb4bd1cde833c00000000000000007a71a6bd8ddd7c3c0000000000000000258496bdf0a4813c0000000000000000aad88abd56c6653c000000000000000090e579bdf2bb763c000000000000000080a264bd57b97c3c0000000000000000eaa050bd9a204a3c00000000000000006f160cbbc9c0f23bd699f7bca86ca43d21bc2dbb6661473cb846bdbcd00f8c3dce0224bb0332303c78fab7bc03a48a3dec6bc2bab2ab333cdf32b2bcbb7d7b3dd679fdba5cbe1f3caabab8bcb14c733dbade04bb59fa393cf238b8bc7689593dae89a9ba076c243c0931b9bcb1a2473d183cddbaa2fc343cd8a5afbc1981313d89ba0ebb9594c93b6f07b9bc9ee6493dcdff92bd5d77e23c7e60cabb8f467c3ba9397bbd3f03cf3c064512bc3f792b3b207274bd39d3cf3c13fdf4bb10884f3a010c6abd0f8acc3caa7311bce26d893706b268bdc9decd3c2fc4fabb33c0a839948761bda1fec93c4b4808bc21d94eba844950bd15e5b73c0d0409bc290137ba436f43bd2be8b33cdc4b0fbcfe7cc8baebd957bd16e5b13cb02ef7bb41f0923a4b7787bd5427313d71df83bdba7a8a3c449e98bd0a4f14bcb6cb7cbd7613823cc66c97bd188398bc539e84bdfe96783c923795bd45f8543a252082bd5a56633ca8bf87bd4188b63c23a981bd5ca36e3cb8ee6abdc4272c3dd3436fbd27dd403cbc5f36bd9c0d783d6f3967bd0f234c3c9e3612bd7fb8a23d55ef64bdd8d8363ce847fbbc44bfbe3d463258bd49f6553c2abcc9b838deb7bc39ac373e29ad8a3f541b053a8265afbcb4531f3ecb98893f6533253ad1f594bc03f2093e20e5733f4d2bbab9fbfb67bc41f5d53d69174a3fd764feb9fbd42cbcba38903d88ec1c3f30a591ba133d07bc1875193db9dedb3eb092adba92c2e1bb1c63b63bba87823ef66ed0ba770332bb37cbb3bc6837d13dd914b3ba64f48abaccad34bda4d0fd3bb979e3bdc7d0913c0000000000000000843bf7bd078ba73c00000000000000002498d3bd6bf2923c0000000000000000fae2babd5b21963c00000000000000007c7cacbd928e803c0000000000000000fa5b90bd10f67b3c000000000000000013b886bdb224843c0000000000000000d1796abd7334873c0000000000000000225544bd1fa85a3c0000000000000000be7f25bac4aa113be07a763b1fa1c83c026d35ba42ea733b7f1282bba7b4033d3aa239bab4dd983b220336bbbbb2fc3c341dc1b9619a993b754154bbfe68e63ca6f691b9cf23b93b0e2184bbf74dba3c082f27bad690ba3b564fccbb94f3ad3ca19547b8c7ccc53b4e9102bcf92ba13c111854bab019d43b525c26bc717c953c08345f39a4bc463b53c0203a8a01e63b1467c3bcdd4b413c8b1dd2bb92a214b9045648bc7299703b9c61b8bbe2e1f4baf80978bcf5b3d83bd91cb1bb884b1abbbfc182bc9da5053c15b3bbbb29e042bba09580bcd0260d3c75a7cebbb85e8fbb378a74bc6416f33b5fc3c1bb82f670bbd4288abc74200e3c36cfc9bbbb20bfbbe87f66bc9577c43b62d3a5bb3bc4d5bbb8f46fbcc6a5073cba97b3bb2b6295bbb9c5a2bc29a346bddb9e53bdb9364d3c0b6832bc3875f5bd6f2311bd03165b3cd2389cbc598ae5bdad682dbd7caa453cd9a9bcbcd0c8b7bd220937bd0a3f333c153699bc51ff65bd8d8d2fbda8e6063c139169bc0f5ff7bc617321bd8054123cc7a3d4bb1dd1be36f31a10bdeb78d73b5651dd39a4c19a3ca5ede1bc8d1e943ba237ee3bca2f1a3de9ab07bdbc66b73b6e19a1b962ec03bc78245d3c904aa93f675132b9c1560cbc3221fd3bdda2a03f5557bab946dcfcbb0ce34f3cceea8b3f8ec4e3b90436b7bb78d04c3c13da633fb4d7c9b9ae30b5bb5121133c47d72b3f228c26391f3583bb8c19313bc068e63ee6ddebb7361888bbc520a2ba4b826d3efd226fba112d1ebb6679673a61ea193d2f5bebba14a928bb9fc0a1bc47687bbd43f907bef3679a3c000000000000000018a704bec45c9f3c00000000000000005065dabd164c8d3c000000000000000068d5b7bdcd757d3c0000000000000000bf0897bd9c2d7d3c0000000000000000fdef85bdcfe16d3c00000000000000000c3051bdd411623c0000000000000000a61915bdaa78643c0000000000000000debf31bd14135c3c000000000000000000000000000000000000000000000000ecc760b91507c6ba50a7863cd3739db9f01fd4b90da90bba7ac32a3c6795363b06702abae731803acb9e323ca375acba37fa7bb95de920ba47b0343cf2eb93bb841ce13907104239a4ce183c1e41cfbba78b0bba2abd463abc41af3b4a298ebb1db7fdb90bf9993acc24f63b528319bc00000000000000000000000000000000000000000000000000000000000000003789863c9764c5bba2c03dbb0fd7b4ba0b2f733c5f91c3bbf22708bbe5be37bb19876c3c2aa895bb819c30bb14405bbb32b3823c11fdb3bbf95402bbbd4115bbc305373c3b7f4bbb44f425bba5a775bbbeac2d3cb62a8ebbd38534bb131d8bbb795f273ce96839bbe83535bb6285abbb00000000000000000000000000000000000000000000000000000000000000008f97973b6c6a25be6fc4a4bca1eac23bda50d83ba93322beedea74bcbc03ab3bd57e803b68cb05be1b7e92bc490b883b9f2f333bd611d1bdc66aa1bc1f4c943bc9f70e3c04e797bdbe0266bcc226e93a052d633cb25f44bd40b9fcbb12a1053b6dc2a23cb58eaabcb7dd02bc7a9ecbb9000000000000000000000000000000000000000000000000000000000000803f8feafcbadc91a03b10d19fbd4e01a73f6dd194baff83453bbb6f55bdc1468b3f837e64baab5f0c3b45bc23bd5fd8613f2fadc7ba01dd4e3bff8b04bd60ba283f432d5cbaa367d03aa9c0babca6c9e03e7900e8392f389d3952a85fbc62de603e3ea036ba5611cfb9ddd014bc613ed73c0000000000000000000000000000000000000000000000000000000000000000561eb1bd670e313c00000000000000007c356ebd4b5af43b0000000000000000791342bd0fc8cc3b000000000000000047a01dbdb541c53b0000000000000000d225f2bcd14c9e3b00000000000000005c27b0bcb537883b0000000000000000b0aa9fbca19ab33b00000000000000000000000000000000000000000000000000000000000000000000000000000000916d0f3b4a6c1aba906d1c3cb9f279ba68b9e53a9105afba9e8d063c9cd482b92f5abd3abdbc433a81b7de3b9d65163a65741c3a7a30143b763b9d3b3e7fa5397bf7b8396ea45e3ac4056e3b136ee839e850863aa1b0dc395c0fda3a512556bad6d1d33a86d7223a5e10f9b9ba2c2bba0000000000000000000000000000000000000000000000000000000000000000a91cda34d0cb4b3a523ea13a56e37cbc6b5c3439d31c353a11efa03a990c50bc8f9910394bba55398eba9a3a4a9d30bce70019ba58df2b391a468e3ad4b71abcdec275390c054d3a1a92a43ad23cf3bb331ea83af01c20bad44a963a9bbcd2bbf521f2b873cac1396230d93af5a288bb000000000000000000000000000000000000000000000000000000000000000033fe22bd94d4aabc06b4d93994fb143bd9661fbd5c9192bcf390a63a3eb1063bb7fb02bdb51f6ebc3fd4773ad473e23adcceb3bc163843bcab528439c6a39d3ac4b66cbc42ba15bcae1cdfb850819d3a1ab7a4bb394af0bb50be98ba0ec2ec3aa445113c234ec3bb6aff98ba4e889d3a0000000000000000000000000000000000000000000000000000803f000000007eb5f4bbc9409cbcf0e0823f019edebb32ae83bb2af22fbc02de5c3fa29062bb5d4689bb5610dcbb063c343fba6d31bb73ebcabaf194c4bb51690d3ff25328bb5a3d0fbb5b25c9bb3ef1cd3e48ebddbb15376bba5ae107bc8556833e20c136bcb72188ba6e0233bcdedfe83d5ba888bc0000000000000000000000000000000000000000000000000000000000000000a46090bce8678d3b0000000000000000ed033cbc1b9ace3a000000000000000060752abcb05a3c3b0000000000000000036404bc44b0093b0000000000000000e40eb9bb837e0f3b0000000000000000dfe60bbb1e7a4a3b0000000000000000e95858bb519a453b00000000000000000000000000000000000000000000000068f43838301b30bb16d9233c6f0928ba918a6c3bd5b412bb77a6493c38f573394ec4d83ad52201baac91483cc8acc83a311b8d3abbd303b975192e3caab7013b15d2453a8c7e4939d2db003cb1ec303ba6347a3af99f4a3a5f85f63bfaf9fe3984fe08ba7354afb82f81873b8a61563ae8a27b3a9de2abba705fc43ad46efcb93963153ae866a7ba15b89e3ae625afba60c26cba5d8496b948b89ab882048bbc9b3eaeb97f218c3a61eacd3a4a02acbcc34183b907adde392b8fdc3adb198cbc852aadb902b2143a0c7fb33a255b68bc485c00b9e80874387c3b693a850d44bc4415f0ba562eb83942e4b13a51da22bc299b37ba2d5d25b953d2783a0bfe0bbcb5ef14ba6c261d3a256b473ad2e000bce62914ba8146033927fea2b9a89799bb7bad86bca02a89bcc2d9cfbba4c4203bc77f20bdfe55cbbc29848cbbc1ff3d3b709c27bd9b10bcbcac5921bb1293023bea560fbd2e71a2bc074a74bb5a46803ab240c7bce03c85bcff9af3ba7c1bcb3a4c155bbc07fe5dbc7a8506bb6ff2bc3aafa0caba7c820fbc171537bbdedbaa3a8eb43a3c401fa8bbf0004abb0adcb53abfd39b3c1fda0cbbc9a660bb1c3a143a1556d0bb6ad52cbd2b8a833ff727003e423b83bb952536bd3994733f9a39ea3de2b9c4bba4f3f5bc70454e3fb10ccf3db5e5d4bb8dd9b6bc7eb9283f0994ab3d478467bb11af93bcb70f033fbdd0843d0f31fcbae99f8cbc3febbf3ef118333da53751bae57f93bc9a30733e224bae3cb438733ac809a7bcfefbda3d2ec29339d61a86b8620c86bc73b3ebbb51d062bcff52f7bc36668c3b0000000000000000bf530abde12cb23b00000000000000002e7ddcbc1974843b00000000000000005a26b1bca3950b3b0000000000000000345a8abc28f3323b00000000000000008fe669bc95c23e3b00000000000000000db43bbc1799493b0000000000000000298328bcb1ae883b0000000000000000decfc3bb5f2b3f3b000000000000000097ad363a541e2dbb6912153c78957f3aa214a13a71b429bb331b413c0ecc0f3b413e623ab9108cbab4622e3c46eb543b041a9d395ed873ba8a64313c0ce4723badc57d396dae95b9548d083cf71b423b3afa18399b53b8b99dccf13bd8f5363b166fe9394a6927bab28aa93b4d93d63a8536cf39f74120ba8713853b1072d93a91d2543aa1772cba5b24663b3c39b4b9e8fb04bb442ae5397f051bba5fbf81bcd377d4ba0bca823a0381933a59299ebc72728bbabc55cb390f3f633adecf6dbcbe9d9aba86785139b2ca633915e960bc8a75a4bab9afb838e00009397e681fbca9ab85ba722448395320ceb79fc51bbc8badb2ba4c90feb829530bb92a71fcbb627b44ba2d361c39004814baef85dcbbd4ca22bb5f0ad23992d103bb05b469bb88b2acbbf9ce1fbc93b92ebc7882af3a7076b5bcc4a2a1bc08c82ebc8960253bfca6cabc56f19fbc7fb9ecbb56ae063b12adcbbcbca49cbc4527cbbb1d5d003b31ef6fbc774a56bc4999aabbc86e783a866000bc18ca32bcb1cdabbbe849a23a7b75ed3a315eb6bb71e09abbb8e77f3a805e483c689325bbaab78dbbe97b1c3ba261903ca3a6243ba6a2bebb64a483bae8bc91bbb5fe3cbd43355e3f98af893e9ead8bbba7c85cbd3d13503f4bbc7d3e178779bb73d41abd009f2e3fa90b5b3e8c3e8bbb5d5a09bd5a23133f51c9363ed2ac27bbdda9c7bc7e2ce23ed2200d3ef007d3baba67ccbcf204a93eb57acd3d9d3a75ba04aeafbc86d9583e48077d3d94bd8f3ace73bebc1cc7d13dac88b93c5ee095bae31b8abc20255a3bf122c1bb382812bd2860133b000000000000000096dd32bd5d20763b000000000000000084e108bd0b1a393b0000000000000000b754fdbcaecf353b0000000000000000d95fbdbc25b5c33a00000000000000009388b5bcf10f273b000000000000000026328fbc3ceb263b0000000000000000d2ac8abc9fbe383b0000000000000000b4be4abc4df6253b00000000000000007db91f39337e25bb0e18023c808e633b4223303aa43136bb0fae2b3c336b9a3b09f6003a326ddeba412e313cb59db43b731abbb9119a90b909991d3c5a64a83bd9898038f1af89ba8c0e193ccada903bf58f6d3a21930cbb71aa053ca00c923bed6f89baf9ca7eba7e5dcd3b19b2533b6fee4c3a3093e0ba931f983b1eb70d3b8f48bbba278f9fba7f56823b30ecff3abc6223bbf7dfd139eb3217ba54306dbcfc8615bbe69c753a437b6e3a69d191bcaa5ff8ba4108133ab4af143a43436cbcd4afa9b8608ba13ab4d6993a4e0036bc0b19cfba9b6997398476a7b8145523bc8602a0ba5b550f3a0e3d083afe1a20bc5de9c8bacf3e57bafa20beb862eafdbb071605bb3396843836da14ba244fecbb5ececdbacaf2d1380e076fbaf4d383bba87807b9feccb4bb794c5abca8131b3a09355ebc219a86bc008e7bbce4d5073b8d3ea5bc94c0a4bc3e4b42bc8a91c93af7449bbc689d94bc349214bc8b68ae3abfa549bc9b5659bc107b02bc4ab6963ad145e9bbe8450cbc29b1e5bbbf7d9d3ab3ce333b0a9847bbcf48d6bb0451a73a4fa73e3c74ce253b1aa4d8bb9629273ad7d46a3cc5c6b03bd21aa8bb34c4feb8ce9e3abb113437bd17d4363fa652d43e132b15bb113162bdb3482b3f0919c53e28f137bb2aea37bd7efd133fca98aa3ef68617bb4d9119bd078cf43e304f8d3e46d9f2ba5b21f7bc4b5dc03e7e5d5e3e7f5991b9655ad8bcaa488e3e178e223e1a6816b99b55c9bc37ad393e68adce3d327d123a1c4ababcdfb2b73d9b1a3c3d2f55eeb70fd678bc4cf4ca3bc010dcbaa1e120bd96a63e3a000000000000000069294dbd61c6eb3a0000000000000000a8332ebdfb728b3a0000000000000000e08e14bda86e2c3a0000000000000000921efbbc9956463a00000000000000001420dbbce51006b900000000000000009ba5c3bca41d363a0000000000000000e675b0bc5a682e3b000000000000000091526dbc6fffb43a0000000000000000cb7118b9253d20bb38c4cd3b144db13b02f2a43a1b6297bad06ffe3b53010f3c797ce9b84a7eafba3e8c063c4cc1e63bb2b69eb981188cba6ae5093c4ab2fd3b0bccc7b9a3062cbad630cf3b2416b13b0bf602b8f91452bada82ef3b6382b53b8fff5c3a61b7cfba6c97ad3b031b763b50d981b97f00d0ba7b059f3b7b0e4a3b91e682b91ca8b1ba5333853b30102d3ba04043bb394d5eb988c797b966235fbce52652bb5a18d939884a9738ca5383bc7a122cbb622d923a9b6dd239daa638bc6d9ce0ba976c29388dece138ebca23bc5008b4baae5a5eb9a24e1fbaeb65ddbb5fe5e7ba3209ddba93ae4db99b82f0bb5950e4bacf10f737d77295baab5dd4bb4bd21cbb6c27b43aa4b0feb9d992d1bb56640fbb6e45bdb974749bbadfed90bb8271903a54074fbb3eff82bc59d3cab8cb0a20bc6df26fbc19a587bcc1338d3a34a767bc026594bc56336abcda47e03ad5b86dbc43f491bc6fd044bcb5f46c3a8d1beebb038015bc1408fbbbbe34ce37c1eea1bbe323dabb876b10bcb557493a7c34bd3a1dd26439e83de2bbd979c339fa33053cbe9fe13b1d97e3bb01b860b9d8b8303c0ed61f3c6a64acbb15d86dbabbb8b4ba28bf2dbdb130103fa6ff0f3f300783ba0a2652bd4dfe053f8382053ff66972ba75ea21bddcb5e53efa2ce43e0fa25fbabf2b12bdb7edc13e3dc3bf3e87eb80ba89a7b9bc9d5d933eb158913e1a0bdfb895b9d4bcf4ab633e735e5d3eeaf49a3ada37b1bcc15e133e6ff20c3ecb903c3a97baa8bc2f45953da1f1873dd5bb36b95dd96bbca462c93b74d3c03a0ad52dbd3a709cba000000000000000048a655bd420941ba000000000000000005062bbde0b40fb90000000000000000d5f91cbd323735bb00000000000000005eadccbcee524fba0000000000000000c27af3bc1d0cec390000000000000000f0ddcabcf8c97f3a000000000000000068dfc7bc55cea53a000000000000000095ec8abc0ff4d73900000000000000001e59a0b924f80ebbde93833bd4eaf23b7e1496390e480dbb1357bc3bf4451e3c5cebd0390243b1ba394ecf3bfd86233cebe554b9ffee77ba28ffd03b7a131a3c1af1403a91f08bbad8d6cb3b6be6033c8dc1a2b9649292ba27acb43b1776c33b0c7052b9742e99baa87ba23bb0d59d3be653c5390450a3ba45af843b99305f3b8992eb39e6e180ba4540653b9018503b57d636bb444c42ba5bc9e9b9284a44bcbab14bbb2b6eb33aa095743ad2355cbc7b4fffbab5ae443aea87873ac73f24bc627191ba94f728ba863aa8390d7c06bc4c0f04bbb46f08baf59e5e3aaf1df7bb6070bbbabb1b353a0380193916c5dabb26e809bb39de8f3882a337389c88ccbb28e233bb52c6c939a065b7382554c5bb543969bb1100c5ba7578c2b99812c4bbaa3f0cba451763bb24908dbc7c0b60399c6027bc7a3592bce1d6b0bc5446b33a98cb72bcde05c0bcd3288fbcda07bb3ae69566bccadca9bc2c6980bc3484fa3a056b2cbc0d2e60bc114444bc8b875c3a9613f0bb2a7ef5bb052e2cbcca87bc3a6538f6baef90013bc64e0bbc7425243a1482753bca0b2e3c241ffebb2c4bd5395bd2e03bf4c85b3c2e51a8bb7f21bcb9ec042239517122bdc28fd43e92cc363ff2f3d03a935042bd8227c63e21f12a3fe8abba3ad95a27bdff83ac3e483f133fdefc693a2bd208bdcddf8f3e7407f33e1d4a033ab21fe5bcce9a633ea134be3e7a438c3a2ed3c9bc3f65293e50608b3e96cca13ac9f1abbc3220de3dc163343e122cca3a05609abce6b05b3d1002ad3d5369f13949c86ebc2a2b833b68d3063beadc37bdeb688cbb0000000000000000bc2b67bdea711bbb0000000000000000534b40bd08302cbb0000000000000000c16e28bdf48ac6ba0000000000000000ebd90abdc5dee2ba0000000000000000dedc03bde567063a00000000000000009878efbc19570a3a00000000000000004b7fe2bce5c1df3a0000000000000000f98d98bc0c32733a00000000000000008129553bb83dc3ba5763253b2712fd3bfefec139a5d581ba35b41d3bf42b2d3c24059f397f1280ba5ced763b5a85293c5560a2bae05a23baa24a853b4ebd2e3c65885b3920964fba83938a3bc0edfc3bd1c40d3aa9f713ba3b66903b3745da3b8b8f93b71b8f4cbae1d8643b5bc6903b06bc0b3a6b6c95baf70a433b19e0343b88f11b39ff799eba477e173b76d7073b6f6a7ebbea889939a0e0143be0aa34bca81730bb999df23a99d8b63a05e226bc4275cabaa6319e3ab189ac3a31afcfbbf29a64ba5f8d6a3a7ecda33a87ffc0bb0e0f99baab43873965553f3a395a9cbbe030ebbaaf86b13a778c4a3a0a0aa7bbfe8fd3bae5f3c43975452438dc3499bbc0f71ebb6c97593a924b153ae2dab2bbcd2402bb949aa439ec8d7c38ebb991bba3d567bb120106bca61ca5bcac094f3ab06f50bcc1a5d7bc1e58c4bcf018223bf3206abcc5e0dabc18c593bc2848b73a89f77cbc1522d7bc886686bc5613b43ab4ed2bbc825780bca86f42bc388a153a588d17bce7a211bc6bf73bbc5cf6c83a72a09bbba696943a502e0abc3058443ab46c91ba1af9533c6181febbe7c22a3a9041303bf216853c2954a1bb7db001ba2c74313b90ad14bdb2f3883e8b715e3f2f2c763bfc4c32bdb9657f3e1e1c503fc6f71c3b2c8203bd0ce85e3ef00d2e3f6bf91b3bde1aefbc6b453c3ed963123f7ccfe23a8327aebc204a133ebfcee03e00a23f3aad12a4bc3a39dd3d2312a73e06f6ff3a242c82bcf7bd8d3daf3d553e4609213bd5d072bc6b8f023df4a9c83de396ba3a01ae2abca0c6abb93cd40abaf80e3ebd2a8867bb0000000000000000ae4861bd0e8b80bb0000000000000000b08f24bd419088bb0000000000000000dbdb19bd4d7682bb00000000000000002d8debbca23649bb0000000000000000ad0afcbc5a9484ba0000000000000000537edcbcaa978bb9000000000000000036cdeabc0a0dc53a00000000000000000dbda6bcb290443a00000000000000007bdbf139b86ac537e5b346bae08c1c3cceff2a3a516446bab8f9bdb9d61c503c5aeb0f3a567717b993c9e63a3478453c9ae732390031feb8dd61313bfc63193cd79ce339ebe6d1390fa5d93afa8ef83b86d6073a1faab0baa6a1473b5170cf3b1b1355394740a0b90ed1dd3a51d86a3b83d0643abfd5b7b91530a63a1b252f3b55d8083a3fdec6b9a35dc63ac39e9f3a4b4942bba2acaa3adb36e83a5ec0debb3bbbb3bae42b493bbb17be3a755855bbd6ef4eba59c1e73a80a4ac3af8a836bb4b1d6739880d493bcc8b833a67e618bb6454b3b8ec6e843aa473723ac9f404bb41b36b37c1142639fafb7c3a06fe25bb30976eba39cc793a392b4b3a41c465bb82bbe1ba444ab53a0e9aa73afa6488bbe753dbba44b87c3adb97223a90498fbb688020bcd18081bc4039acbc87f23b39a3f397bc648222bdd2a7ccbcf3dc513b96d58fbcd8992cbd330dadbcb977233b9d6481bc862818bdb20f8abc3b3f223aa71d63bc0750c9bccde75cbc790cd33a3c442fbc8d3066bc313136bc9930163b028f0cbc2ecfc8babc1115bc0e1fc33add7ac3bb33da363ced51f6bb2060be3aedfecdbaa7b49d3cb80694bb34898ab8f6cc363bd4e8f7bcfd3d003e6586833ff886943b653703bddd9af03dc53a733f79a9713b7946d4bcc5f3d73da4184e3f01d6413bb7dca7bcae9fb43df7b8283f6cbe123b2e9b7bbca9308e3d38ae023f23554c3bff0250bc9ebc503dedb9be3e6e33263b9ea528bcdc62f63c9c38713edb81353b5f910cbc9fdf103cfa0bd63d5d0c023bde23e5bbb957d9bb003b08bc44fa2bbd50d3d9bb0000000000000000eff83bbd4861c8bb00000000000000005d2a08bd583dc7bb0000000000000000ab88e6bc0047debb00000000000000008835bbbc321586bb0000000000000000debfbdbc12f712bb0000000000000000f58fccbc9d1b7eba00000000000000000196e4bc3f66943a00000000000000006d96b1bcc58fba3900000000000000000000000000000000000000000000000029089138456520ba850ed3bae9c6133c4eb98d39f191fcb8392dd2b84a66083c5d214539643e54b88dd0f5390f5dde3b288116392a83ebb51dad173b40c0a33be1eddf382f76f8381825663a10946b3b6da92c393d3ba53a3306ff3a9116d93acbe9a939be78bbb96e0a79b9ab82b939000000000000000000000000000000000000000000000000000000000000000079be383a285ed83a8d8a1f3bfca6613a160b463a9f16dd3a80e2193aed8d5e3956cd1b3ac989813aaf4c213a138ebc39aaad163a075093bae8fed6395cd4d1b98e67133a4beb8e3a09955e3a101f3dba1ab3bb3a5ec3ae3925799d3ac3a7d6ba7b1062ba6c98653a66597a3a266a1dbb0000000000000000000000000000000000000000000000000000000000000000393f87bc73b827bd5eb6a4bcc730913a28286fbc112c22bda36480bce316153b5c0b49bc922103bd07204abcba52043b73bc33bcadebc0bc822825bcb250d13a283112bc400e6bbc0f6f01bcade1a83aeb1603bcd272ccbb7cabcdbb83f5343b06c6d1bbe5dd033cb2e684bb6d28b23a000000000000000000000000000000000000000000000000000000000000803f41759f3bb43396bc4325c1bb901f833f25f9fe3a7e4c36bc99bd1fba7c835c3f90bc0a3b7aa518bcfef3a03aee1c343f7035ce3a7310e8bbdc78fd3887510d3fcb14003b317b9bbb7536b7baaed0cd3e63ccb43926fc54bbe7f75cbbc137823ed0300c3ba0f70fbb467b14bc4bbdea3d0000000000000000000000000000000000000000000000000000000000000000666ea0bc22a204bc000000000000000008e457bc1d77b5bb00000000000000001c991dbc7d7b96bb00000000000000004bae1cbc624385bb000000000000000031dc30bc4d7e40bb000000000000000087b95ebce2de02bb0000000000000000ac278ebc2305d1b900000000000000000000000000000000000000000000000000000000000000000000000000000000d5c8e63a5489d0ba1acd243cab4899ba7d04af3a64f1b1ba1bdb153cf3e281b98df805383c9f0e3a2eb1d13be6bcb7371986fa3907054cb9a636d23b5abf84b9fb97a5394cbb71b98165a33bccbb2bbac7fd063ade4763ba1d5d7c3b1ff8adba486a80b9d6ae8c3882c6443bbbee07bb00000000000000000000000000000000000000000000000000000000000000007f47afbadcb4ca3a6efb5bba742a34bce4ec1cbb37f7873a98cd12b9596302bc5aab41ba140ad33a1fdc43baa2560cbcb1c5a5ba9474103a22fa3bb92578c7bb6041a7ba3ec84a3a8a298fb8b955abbbc178a9ba0504203ae50a7738a24a94bb31f050bb597bed39133d163876c98ebb0000000000000000000000000000000000000000000000000000000000000000993674bc6ed36ebce7b658bbdb4c183b2fc67ebca54e4fbc29b60abba4ca8b3af2123fbcf9421fbc4a74feba302ecd3a91d0e3bb6141fabbf78f1dbb0f8c263a0cd509bbcac3cabbc0b932bbddf8643af791943bd4f394bb06a350bb43c0713ac3b2513c10db50bbe82d87bb030aa9b80000000000000000000000000000000000000000000000000000803f00000000c71bc4bbcbd823bc98ac743f8bac15bb6dba9ebb14d4dcbbe42f503f310c99ba53642bbbf34c43bbec492c3f573072bafa4c53bb77b577bbebfc073f45eb2dbbbbf62cbb6360a3bb7d2dca3e7090a6bb807a02bb4c2ad6bbeaba843ef065ffbb139aacba395a14bcda06003eccc72dbc0000000000000000000000000000000000000000000000000000000000000000526749bcf603593b0000000000000000799bfbbb07d8ce3a00000000000000004ee6fabbb10c243b000000000000000062cfc9bbf76ad93a00000000000000004406bbbbb43ef43a000000000000000001799bbb4314133b00000000000000002acc9cbb7134323b0000000000000000000000000000000000000000000000000f02c5b9aba194bb1b683b3c076ef439f6dbd83a0c755fbbc8256c3c8e81d0393cd4073a062847bb9b8a4d3cb5423a3a8c7c223830ed41bae570773c1b00d23b1d880aba03e8daba8982253c13dbae3a34368c3ad8117fba0a491d3c2bdf7d3aaa984338440d1abbbce0f03b651430b77e17283a96de1dbb16f19c3bb26addba6296d9ba985bf0ba14f9c43bd9a44b3887fc3bbb546fa63a75b4cabacd0841bc810570bb59800a3bf58950bafa2980bccf9e1ebbb303873a40107ebaef4067bcc4ffb3bb6776ba3aebbcc1ba30c32bbc633434bb96ad813a2de008bb1ebf18bcd95d41bb533d9139840f03bb80b702bcf2e541bb9450963a46a1d8ba7cccfebb136e0ebb023deb3a1d72c9bacad9e2bb7fc530bb3be4643a2e3588bbb7bbd0bbe8fd87ba7e573abcbc4ff6bbf72ac23ac5672fbc21b480bc8abc0cbc90f8313b42dd5cbcb31060bcebdedabb7bca153bd050d9bb525187bcc9de16bce767313a16bb56bb1d0802bc45cdbdbbd2e7393a2fd49b3ae9b9c5bbeffed9bb7a71703a6f322a3c895b68bbd4e6e4bbb124d23969aca43c67cce6ba83c00cbc8114d63a49dfb13c75c9e3b9042011bc8c32a1381995f8bb415ec6bc82e6753f97f2043e74eebebbf089c7bc69695e3fd860ed3d3549a8bbafe091bcc0bc3d3f8e8ccf3d6143b7bb50a256bc276a1b3fcee7a03dcd529bbb1a173ebc2b06f73ed686843db2ee93bbe6773dbcc643b93e95203b3de92136bba70e58bc30e0733e77d5d23ce8f8feba4dde6abc07daf13d55d3c33b5f483ebb5c3e30bcccf8ec3b59f8c9bb1b27afbc528b193b000000000000000045dcbcbc01c9773b000000000000000014bf9cbcf1b34d3b0000000000000000cad5a0bcc7f7c83a00000000000000001a0955bc5eb6ef3a000000000000000041bd52bcfd540d3b000000000000000078833fbc9d7b1a3b0000000000000000387a1ebcc0a7713b0000000000000000452025bca5abde3a0000000000000000d5d60ebac87a95bb34d8433c7a1c293b75bd423ae28aa8bbac47753cb49a6b3b0464a2bafdf231bb10de543c4db1873b8fcc9fb968444fbb68da653cf9a0a13b220a15ba39eb27bb8369343c885c5f3b61e6e9b940244abbef6e333ce313fe3a0477a3baf5cf3abbad7f0a3cf28d233b633cb8b94b2b7fbb4668083c0443cb3aee3f043abd11f8ba9a4dc73b2103143b4bf39bbbefcf983aa2ac28bb29be55bc734bb1bbe647ed3a18bae8baeb7d85bc9df08abbfe7a0b3bdf474dbb5ffa45bc20cba5bb58bb4a3a98711bbb68764abc125a81bbe6dacc39f8a623bbd51b18bc10599abb246b953a1d6921bbfe8e24bcf7cb9ebb53ae6c399ed33bbb639303bcd695bdbb3cda923a031a51bb977014bcf475a0bb74ce8fb954e91bbbc152ecbb4f94bb3bf35b8fbb9edd3ebc98e00d3a4791acbaea6c26bc7ad25ebccf03c73a6dcd8abb96b218bcd1ab2bbceb44eb39f2b933bb6b8b07bc37de36bcb8f8a839b215093b91a19cbb9ed40abccb4225b99c5df73b48e613bb2c9825bc49e9c5b88fd2433ca6ce363a343b20bc4de652ba080cab3cbd34693b33a23cbca0aa95b95e04a13c0c34b83b1448f2bbfbc1ba39314e9dbbd6d4e3bc100e523f4c12883e68b296bba31c05bd2e583f3fdf55763e22d96abb12cdbabc9bec213fd093533e7072a3bbc044b2bc5bda083fecd6313e9cca8abbc4f185bc8e01d63e53470a3e29fb76bb59b592bcaa9ea23ebc6bcf3d8dd742bb4fb47cbcc65a563ec698843d5e6835bbc7db92bc99f5df3d00c5f13cb6cc0dbb77db47bc45ef273caa2d08ba05bfc9bc99b0613a00000000000000005cd1f5bc08ee013b0000000000000000fd4ebebc3934b03a00000000000000004b83b6bcaf4e373a0000000000000000bea88dbcffd29439000000000000000063789bbc58d6833a000000000000000015c471bc89119a3a000000000000000001827ebcfb23d03a000000000000000030dd55bcfe35c1390000000000000000519d0fbaddf294bbd224363ccc32a63bbdb01b3ab672bbbb9fa2683c9393de3b8869823ad7e1bcbbb062643ccd96a43bc8bc33b9d77182bbb3c8563cee86ee3b1caffeb9392b4bbb33dc453cc133d03b9d3b0dba20076bbb9d13303c873aab3bc2fe46bab5ea9fbb8b66253c57cc923b09fc3cb86e1b81bb9b980e3c7fd1b33bb9d98cbaa43866bbdeb2cc3bb783633b0ad3b3bbd2cf0b3af8a227bbbabc4abcd07dcebb3833693a69bdcaba9d1684bc4b3587bbfdeab1b70d1ee8bad5386ebc0b11e9bb8e556f3a2f9d20bb91964abc0e3d9bbb7856c4b88b6590bbcf8223bc71b0acbb35cf643a42a024bb98f529bcd3f5b3bb68914d3a6466fcba4a172ebcf95bf0bbceb2c2b901304bbb40bf39bc3d3e99bbfa889f387e626ebbe7c2e4bb9504023c9d82d139e5775fbc049493bae9e52e3b20a0b1bba4cd87bc826fc03958b08c391b04f3bb595867bc2d579639b098c9b84034b8bb7a4a54bcb8f41fbae792883b349404bbd0e637bc0e7ab8ba0de7043cbb55af39e3e53bbc489b49baee56693c114d973bf1bb39bc27afb8bae35bac3ceda4083cf52a3cbc122c80ba49ac8c3cee51113c71280dbc56a3f2baf28272bba005e1bcc1e02d3f1a13ce3e9fbf61bb1ca40fbd47ea1e3f669cbb3e525e65bb393de9bcbfcf093fe6c1a13e030057bbad4bcdbc706ae43eef9a863ebcf65abb1676a9bc1169b53e1ede553ee94e38bbef5ba5bc66ca883e31521f3e7614b0bab380a2bc40b0383e2ac0d23d502d1bbb8e3896bcebc4c23d6ffc523decf749bbe52a56bcb4c2573c8b52803b79dbd6bcd3d89bba00000000000000000dd509bdc4389f3900000000000000001e57efbc55c7c6ba0000000000000000ca2fd8bcfff8ab3a0000000000000000c005b7bcd20f92ba0000000000000000afa9b3bc588371390000000000000000af51abbc9acaf63800000000000000007681a0bca1c3573a00000000000000005f2059bc4fbd68b900000000000000006e260fb98a9d7ebb9215173c2166fa3be0c552b98285a9bbfca03b3c9ef41a3ca6312fba05fd84bb7613333c0356163cc3d0aabaa5545fbbed24403cecef223c4afbc5ba93a651bb53cb013c035f043c077ce5ba926ea3bb94de2d3c7585033ccbf354ba0b7979bb50fc093c32dbbf3bef622dba21df81bbcf9c063c0e82a93b67eb89ba516b41bb8d60ea3baee9973be87eabbbf26e99ba76c675bb4be03dbc7965d4bb1d199a3a18aef5ba58e169bcd628afbbdb25e239e92d0ebb6ff03bbc828894bb501fb0b88b1547bbd11c30bc574f92bbb6ac87ba049c55bb2570ffbb270a9cbbfd0533ba6d1a5fbb88d41cbcc19ca8bb3a6fd6b8f2ae3fbbe4ae18bcbd20c6bb7ffedb3a415462bb582722bc07cc9bbb90b511ba4af463bb08fbe9bbc119f93b94676c3b116c6ebc8d2e3ebb740c683ba088ebba966692bc19b80fbaca19363a29487ebbe60e72bc1dc268ba0b48e83ae20d35bbce6c62bcdd9725bbec438d3bd3a11f3a89892bbcd51106bb8788bf3b204c333bfeff40bc645d2bbbc2ce303cde37043ce81834bcca7df7bab461803c1cd6503c872f42bc3a4123bb46e4773ce2cf4b3cc96413bca0852abbb50781bb628cd7bc25350a3f27290a3f159a0bbb9a3807bd2190fb3ecadbfa3edcae20bb3e8dd9bc90fbd73eedd4d63e5a6049bb6478c9bc53bbb63efcefb43e0742b8bae0e76dbc8d5e8d3ed0dd8b3e595545bb546b9fbc4b605c3e50a7573ea18900bba2258ebc1dbd123e51120e3e4d660ebb67d28fbc20119e3d5558933d260c2abbbb014cbc944a393ceef6ea3be1a3dbbcadb30fbb000000000000000036c70abd57ea06bb0000000000000000dc4ce5bc1eeeffba0000000000000000285ad9bc848f4ebb0000000000000000737999bc6132e8ba0000000000000000d4abbabcd1c91dbb0000000000000000ab4aa6bc2e6f8fba00000000000000003f01adbc14a883ba00000000000000001dbd78bcbd88a2ba00000000000000006a5599bacda790bb7891f83b913b113cbe3a263a966aa2bb388a173c64122b3c3f41fbb910d39bbbf8ef173c3270523c71369db9b02c8fbb8e37153c82cc373c501c68ba088576bbaf68113c29f5213c8d5dbeb9ade888bb1c59fb3b0f4d0d3cbfe6eb39c49bbcbaf5aae23b6f11fa3b87d128394e2297bb50f6e03bfae1db3bd8802eba4e6458bb7935ca3bf2f2c03bcc07c0bb81d050384f8b1bbb6be63abcc2ebd2bb3c49b13af6df29ba01825cbc13e1d3bb27694d392712cdbad89542bcb3b6a2bbda1cfb39837abfba0f712dbc01c7a0bba93b05ba5d4020bbb17b1bbc7af9babbffaade3ad9f40ebb526a28bccbf2c7bbdf4203b8cfe258bbd3a91ebc1062d1bb7552df39696820bb359829bc0b6c99bb70a622bbca6a42bb459c02bc510bb93bdcdb6e3b9e9882bc7695ecba86ebb73acc28e6ba612aa4bc0cbf2fba8e0899ba220d92bbdab594bce1f2c9bad8dd80bac6d578bbd5bc7dbc59a4a1badbd2183b1dfd743a511457bc26a50fbb0c96883b1edeab3b3e7251bccc1f08bb4224f43b6dfb2a3c6a983dbcfcac13bb4b39413c35098a3cf5f345bc27d318bbad613d3c1dde843c113809bc749f1dbbcaedb5ba2f6ad2bcdf97ce3ef2092e3f0bd4923903d80cbd3a68bc3e9a8c1e3f0c2bbdb985e9e6bc3741a33e6cbc083f5c2d54ba975cc7bc8a88883e27fbe23eac1401bb4d0ea5bc31e0593e76c8b33efeef363ac00fa1bcc9ca243ea8db863ecf0900bbb81c89bcfb6fdd3d020d333e333f49baffc78cbc206f6c3d697fba3de6d0fcba6f3a49bccc87073cf426143c9922e7bc707c7abb0000000000000000a64119bd5dd447bb0000000000000000b75e01bd777777bb000000000000000067ebe4bcf84e59bb0000000000000000f4eac3bcb52861bb0000000000000000908ec7bc5fb31abb000000000000000041bbcdbc3deefeba0000000000000000874ebfbcada6a1ba0000000000000000c5f883bcd386f7ba0000000000000000d1548539686e99bb2fdbab3b175c223ca763383a4a72b3bbe660c53bc63b643c35e43138c3e28fbbfa88c53b7fed453c8ec7e7391d3e84bb3403f03bc80c543c96b974b92a1849bb9c56be3b32db223c322b70ba41a9a8bb53edc53b900a1c3cdb3ee0b8d41962bb6d0f9a3bf2e4ea3be15f3e3afb817fbbdab9983b9cc7dd3b60130039566757bb7201843b8a01bc3b4fb6c4bbec0c72b9945d22ba39f92fbc6a3ad4bb65d0da3ad9fbffb844772dbcad748abbd7cd3f3ad7526eba4e4bfdbbf4ff95bbd4a22d38b1a79eba227619bc4af478bb200f10ba6d0eb3ba294ff6bb1cd39cbbf3558638a5f2c2ba9f9a07bc8e5b80bb738698baef1e3fbb98ca06bc0abcc0bb1e906e3a053bbbba4b5323bc99e79cbbcd863739647fd8bae1d107bcea441b3b5f2d223bcc2090bc482d28bb0da219bbd8ed91bb0799aabca02f30bae97558bb4b6fdbbb21ea84bcb07c7dba299095bb26b0a8bb427483bcc515e7ba526387ba9c106338b63441bc3c2df2ba15ee3e3a5312b43be5b84cbc6dea09bb43ff543bcbe1293cfc2e1fbcff13b4badbc0d33b01949c3cb28835bc1ce204bb474ff23b77989b3c00eb05bcd62a20bb0531293a403ecdbcddee873ecc3c523fc673c23a82a5e7bcf45b783e24f73e3fba000a3a2093adbc6a77563e4b71213fd61b863972b0b0bc82ea353ebd39083f28f6a9b9312381bcbbac0e3e6ff5d43e786785b9560286bccffcda3d9358a13e26842e3ac08264bc81dc8f3da1cf533e360b153afd4670bc7385143df818da3d37ee06bab6a736bc4192813b63430c3c9c3cefbcc6f985bb00000000000000009ba30abd29609dbb00000000000000000c73ccbccfe08fbb0000000000000000bafccdbca17da3bb0000000000000000e0c3a1bcc23085bb0000000000000000b054babc41fc7dbb0000000000000000c9dea2bcf5fbdbba00000000000000003a15bebc3352d7ba0000000000000000143f8cbce1d8fbba000000000000000015625dbac0711ebb3201043bb53c443c007f883a68496fbb8bdacc3a477f533c2be8183ad15d42bb1b1f2f3bb1f0543cc84d40bad27d0fbbb149693bb764333ce5c5d6b923103ebbe6763c3bfeba1c3c3de07c3b1ee41e3ae75db43b3fce2a3c4fd80eba49a748bb8b554c3b3655cc3bb2cc863abd435bbba2dfac3a4f92ab3be8db9239f33cf9ba949c1b3bb578bf3b521283bbd0151d3bebe8523a1c12d3bbf9af81bbf6830e3bacd91f3a6a5a03bc34f846bb2456c03abfc4ce39cb49cbbb5f136fbb78a80d3b6234aa36d874b7bb6f0931bbb7cacc3a0d33dab96444babb253c17bbb28284b9b6d14fbb33e0efbad04f83bbb5d3bb3a8cd3c0baa0ddddbb50808fbb1b0a7439a6361bb64ac407bc4a0fa7bbc6343c3aba529cba0c71debb971592bb94bb28bbf75b82bcf8f506bb550707bc78c953bc47fea6bc401db9b9f69d04bcab5469bc239a91bc738906ba276ddbbbd0b646bc3fcc67bc6702d4ba14f194bb83928dbbaf563fbcd5c992b70265b5391e158d3bedf025bc0319dabaf8ae62ba3bc1333cc2dd20bcef24e2392b33dd39dd82983c55bf0dbcc19fdeb9edfb613bf387b33c5a35b9bbd386d0bab9f51b3bd9bc95bcc351033e74a0743fa7332a3baa00b9bca6d3f03d9d125e3ff451153b908096bca361d43d88833d3fa2c5d13a5ef978bc524ab33d2c011d3fcf078f3acc3846bc1d658d3d9278f63e18e6bfb952afc8bbfe8a3c3df602b53e0b95f03a34c92cbcbe3e083d4123723ea55b083bcdc527bc219c5b3cde07f03d1186d6390fc31dbca2703cbbe3f78d3bcaf4b3bc656bcabb00000000000000003ff1cfbc5deec9bb00000000000000007b67a4bcc6c6bcbb0000000000000000f04299bc2175d8bb00000000000000005a6b7bbcc47a9fbb00000000000000001ab984bcb8f894bb00000000000000007c96a5bc597e32bb0000000000000000b6dcaabcc11db5ba00000000000000004c4a81bcb87e02bb000000000000000000000000000000000000000000000000362aa43a0cd3bebad4f865ba3d31223c6053133a4702b6ba4959e8389afd0e3cde74093a1c4dbababda71d3a8ae3043c18df6f38a89ab4bae1f8643a9be2d03be12883bada940abbaa0cd1bab7bcbf3b154fdb39937900b94f5e62b912b3893bf739303abb71edba65a4a9b9693f583b0000000000000000000000000000000000000000000000000000000000000000c0ef49babe2ba13ae9bbb43a5f7043bbd0297aba5d35dc3a5995343ad36d07bb051750b97a71563a8aa3f139007605bbd1f5d5b953331a3a7f01fc38b6fc19bbe83ed7baaed1ae39a5944039d4825fbb5d2a13bbb5c3b7397139533ad09487bbd3cc06bbc73eaa3aa56bf0394ef7a8bb0000000000000000000000000000000000000000000000000000000000000000879f12bc814a7cbcc90663bcf337b6ba015a08bc4f1683bc4ca44bbc5929b537b560eebb58e14cbc604225bc1502a2b9be85b2bb10f8e4bba414febbddf129ba55aa99bbadcc90bad3dff2bbc4814bba409182bb4735a03b21d2c5bb58d1bab98b213cbb553d563ce8828cbb5032f8b9000000000000000000000000000000000000000000000000000000000000803f6cec563b1e9b3dbc9ad4f6b96dfa743ff0941f3b70c911bc0a9e9d3af2f74f3f9713fc3a601ce7bb387aac3a6df12b3f8b88ca3ae76bbcbb3a5a173ab7f4073f0d73d93a656cabbb1c2a03ba36b1c93ef87aa0394cd732bb23945ebb0cd5843e6267083b67de95bb8780bbbb7282013e000000000000000000000000000000000000000000000000000000000000000031bd23bc28aaf1bb000000000000000075f702bcb6e1a1bb0000000000000000a6aad7bb46d69abb000000000000000085bcd9bb4d4383bb0000000000000000344be7bb074b68bb00000000000000002a4316bc1b8f28bb0000000000000000645558bcda9c1bbb00000000000000000000000000000000000000000000000000000000000000000000000000000000d99064ba360ef6b999fb863b996fba38320d3cbac91c0abaf75d903b51302a3adfce4ebaec53f4b9ed38733b83f5483788de9eba684138bac03b7d3bc8c6cab8011c24ba2584aeb9b3f8423be939c538bae521ba840882ba2ac1643b554b4339bb2369bad69431ba13b9633bade402ba000000000000000000000000000000000000000000000000000000000000000052eebcba37afefb94348f5bad053e5ba9f5646bbecd044b9baa984ba289af3bace439dbae0903dba7cfca3baab94cdba41f5afbaaefb16ba377cf8bad7b4f0ba7f1465ba83a46bb9b7a7adba060b97ba6b453bba634471baf80cdfbac829bfba747aceba67690239528faeba955c78ba00000000000000000000000000000000000000000000000000000000000000007454103bcc96b6bab35e03bb1a8912370da0d73aff727bba89da84bad4ae8138e8e10f3b377aa1ba2f20dbba4b7cb83850d6273b270a6eba1b0dccbac803a0b90cb4353bc8a155ba6ee47dbab4df66b9125c823b870ac2b86bc758bae9f569ba674da73bfe110bba3ed1e2ba3040ebb80000000000000000000000000000000000000000000000000000803f000000007accf6bada7cc8baf21d633f7934b03902b704bb7ad49dba0d91423f2f56013a7831d8ba723b84bad62e223faf6101392987eb3826eadbba75d4013fe78f5b399488b4ba00f2aabab0bdc23ebdf854ba87efd7ba4230f1ba145b823e816391b9f33d00bbeb78e1ba174c043e3b3ba1ba0000000000000000000000000000000000000000000000000000000000000000c79128bb88e5ba380000000000000000814685bbdf6dd8b8000000000000000000d6efba04a963b80000000000000000dd1eecbaa8c76db9000000000000000001fbaaba84c391b90000000000000000ed14aabac1bc36ba00000000000000006b4e0abb8b8c35390000000000000000000000000000000000000000000000008046e0ba6ef21dbb9448b53b5ff24a3b3a7de2bad0a5a8ba892bdf3bb246d13ab547beba34d712bb6e9be33b20c8e73a392d3aba4de377baf2e0bb3b45721e3a6ddbf9ba283734bacf51a53b17be5b3a7251f6ba11204eba218eb43ba466883a3a7310bb4dc945ba3bc47d3b3d76983a1aa84eba605112ba3478c53b0676283aad9807bb69288eba2c44983b8e822f3a3efe23bb8d9681ba573536bb41d671bbb16dfeba5f3427baa81a36bb25863fbbdf0923bba39e69ba5de32dbbde5974bb15a4e9ba613ffeb84ce450bbf9202ebb30e1f7ba80afecba6f3a5dbabfdf04bb1f7022bb28f341babc5430bb6951f9ba227193baa9f398b76cadceba669d98baf23247bb75921cbabc536fbb278299ba2dcc19bb9f938cb9f06d2ebbdb40c3bae953d93bd3e677ba92d857bbe5cf9cbaa9fa843b20f3af38b22843bb68f283ba3e509c3bae5f37396db352bb274f63ba771e903b4f9974ba9c9220bb88d65fb97123963b1b6e92375c9636bbfb2ae3ba8c21b83bab7d5839ec0741bb28a534ba41d2df3b5914793ae6f276bb0c5769ba8ce9073c345d5e3a5ce25cbb0f2be9b8a5a7e03ba2a5623a4e0927bb6a0553ba88c434bbe9048dbb1b50633ffe2c023e5b4c3abb0db969bb1fdb473f4edae53dc53630bb87f77bbba29f2b3fd987c53dddbbd4bacf7b32bb93240f3f0bcea23d30f949bb9f5e17bba0ebe43e850a833dbf463fbb4fdb2bbbc77aac3e8dbf433d6a3f7ebb6ffb48bbc2ef673eac62f73c143a77bb856814bb8829ef3d2bf4813cf0b9c8baff972fbb6e94b13ba4559d3922d65cbb515ebfba0000000000000000f06ab0bbc0e9bbba00000000000000008dbc7abb8b61a9ba0000000000000000638136bb5b298db90000000000000000e8ac43bb19d8fdb90000000000000000362a6cbb8c895fba0000000000000000399490bba8e787ba00000000000000002edf80bb1a14b2ba0000000000000000669f43bb20265cba000000000000000043da0cbbe3d9b4b90acccb3b1cf30e3b2b1304bb22c7c4ba2e18f33b21c72a3b2f0412bbe5efbaba249fb33b6bb3e73a549f0abb6cf49bbab6b6eb3bf1d7443bcd9c15bb76e29cba9a5ea73b7ad3403b9d059cba18f798baa427d63bf801063b1c631cbbef4e21ba4256b53b18eafa3a8779b3b981a1b5ba35abcb3b9bca0a3b52eef4baf275a7bacc4ab73bcfb2203b3bf248bb973402bab73646bb306d70bb137945bb303fa4ba8cfa6bbbf06365bba73134bbf3aac5ba9aa7ccbab03f42bb3b0e85bb644b2dba93db55bb18a837bba81d03bb3565b3b8fee05dbb6e9b19bba5b24abb2943b8ba5a7341bb4b6331bbd36a07bb99d9acbadbec5cbba61ec1ba4e4547bbc0c794ba7bd764bb7d7712bbe5d910bb2f4ec8bac2673dbbc679f2ba1647bb3b322f893a37e783bbb16a92ba04a6ce3bbfbfc43a171e90bbe16ad3bab9bcc83b5295283aa96468bbddfd5eba5bafc73b290fed3a8d4a9cbb659ac6bac8b5a93b96c41f3b7a9a2ebbd929d1babbe7e33b538bea3ab01682bbf3fbe6ba9fb7d23b3ad30d3b202632bb25b840ba4f96063c499f323b27d36bbbf258d3bae657fe3b3852253b8c9827bbf70af2bafb0467bbfcb549bbc0fc423f3a99813e525b77bb113c9fbb07dd2b3fb830653e246801bb8b4a76bb8557133fbb9a433ec0d559bbb6c181bb3388f63e6df6243e149067bb3aaf5bbb90a7c43edc4b043e6f315fbba5e379bbeff1943e3850c63d049984bb2f7f23bb3d50473e23df843dce447bbb445671bbb704d03d52380a3d000543bbe87d74bbe514df3bcd350e3bf84e9ebbab90bcba000000000000000095cfa9bbd8c4f3ba0000000000000000547688bbffdbbeba0000000000000000e25481bba40312bb00000000000000002a2a60bb6d5821bb0000000000000000767893bb65fcc3ba0000000000000000c59a4cbb294319bb000000000000000013648dbb002ee1ba0000000000000000186e43bb296604bb0000000000000000ab613abb20f422ba96c6fd3b9ed2343b34ad44bb625b09bb9a6af93bb9d07a3bd5a77abb46215bba76c0023cc1f0903a6a7212bb47bfe5ba536fd43b2349703bbc37ebba0218aebad2c5d33b9da84d3bf188e9bb3adc43ba50c7043c5fe9513b07b65eba96ec14bb0bc6b53b05b0733b2ae685bb778ac6ba1efde43be219493b46bca6baceac5ab9f4c6913b4c83ff3ae2146bbbb2d9f2ba2d98f1ba56631bbb9a8766bb1a21f0ba03dc32bb800f80bbe85d93bbffa38f3a3a61bbbb1f0ba9ba8df842bb32bce5bae40b66bbf1ff58bb3f0a45bbd3fcdeba5eea4fbb138424bbdc1b65bbac348ebaee68e8baa18908bb3cfd27bbe79432bbc45e07bbb29a56bb252661bb48d2fdbad7419dbbb12b17bb60d73bbbf1d605bb3520cbba6c3d45bb92cbfa3b985b333b63f593bbc1e934bb9e86e23b2838543b48bf9dbb56c204bb2887043c3eb20f3b79c3b5bb6649f2bada31b73b5b8d2e3b502788bba6aa1dbb8169cb3b79f9333b01ed78bb671702bb62b8d03b8765593bf70584bbb6c801bb3d61da3be62c933b687d3fbb829de1ba63e2173c8d9d853bd3e387bbff8011bb61cedd3bd751433b069cccba1b9803bb34f586bb9d2f6cbb2402233ff3d6c23e874351bbe3aeb8bb846c0f3ffa02ac3ebd58bfbb81950fbb26c7f63e4046933ed00468bb99489abbed8ece3ea7bf763eb70f5abbc13c74bb49dba43eedb0453e10b63bbb520059bb4ee3783e4e25153e867136bb79c396bba46d273ea44dca3db910a5bbbcb27abbaab2b23d4ba5503dc4a408bb618884bbcce4cc3bd612323b5642b0bb3ee0a4ba0000000000000000d236c0bbd9992bbb0000000000000000238ad2bb49942fba0000000000000000af199ebb8e1608bb0000000000000000c46799bb6a482bbb0000000000000000cdb49bbb7d6122bb0000000000000000208372bb12eed1ba0000000000000000a22d99bb632845bb00000000000000008dd10fbbb960cbba000000000000000017b2f3ba8b53c4ba4038b43b84de8b3b374e16bb1690f8baa5f3ce3b00a3af3baea1cbba9ff9ffbacd50cf3b78b49c3bc2e007bb0e0075ba428ed43b79209c3b28e7d8bad6c894baf4059b3b76f3643ba8411ebb23c6c0bacf4ec93b9f6eb23b3974d5ba55a164bbf0dcc03bf88f8c3bd83a01bb49ee07bb59bbb53b5102873b0ee508bb0140a7ba7b3da23bb90c693b7cff2ebbef0bb8bac4d338bb8a9c41bb193853bbec5609bb906162bbcd2164bb7cca3fbbbb8bb0bafbe14bbbf92b54bb02953bbb06ae16bbe32f45bb8bd88fbb08701abbf6c8c4ba3c0f2cbbb50b0fbbf55c74bbc103cbba73d159bbbd9530bb65a541bb6e94babaacb23bbb826492bb4d9f45bba17ae1ba56343dbb53cf4dbb9ffc2fbb888accbab69135bba6bd0bbbae18ad3b1d99883b36967bbb45b61bbbfa6eba3b3667923b4fa3a0bbfe8426bb5d1fb53b15c6873b895b81bb749409bb719fc03bb905853b157c86bb68d86bbb8aa6903bfdf3583b27c348bb904103bbdc8bcf3b9040af3be491a2bb252b24bb8b3ed33be17ba43bfe1b78bbde2926bbd015e93bb144b83b31ca7dbb646b26bb4ed4ca3b7f549e3bcd364cbba1051bbb6efe3dbb0b7b8ebbab1b023f2c12023fe43f4bbb6e8daabbde30e53e2a2ae53ecd9552bbd5d891bbc3a1c43e7373c43e088544bb53b9b4bb460fa53e3c92a43e936830bb7d6752bb6b54833ece0d833e388365bb11a280bb280c483e06ac473e28d257bbfbed6cbb31c3063e58e8053e176c52bbd80189bbb2a68d3d429e8b3d0c6f63bb0b7d4bbb3027b93b0011983ba92b97bb7fec45bb0000000000000000f06dbebb8bfc39bb0000000000000000a5a596bb1dbb30bb0000000000000000b07f96bb8dd963bb000000000000000045fc6abb87661dbb00000000000000000e1bc1bb61cd38bb0000000000000000687e8fbb3ec142bb0000000000000000891192bbebea3dbb00000000000000006e3870bbf82a39bb00000000000000001771ffba1f6d15bba8eb7a3bfe01c43bb6c503bbe60823bba37cae3bc069f23b76b254bbf7fc47bbb531843b83bfa43b8d5005bba27400bb1917a53b5c80a63b40f7dcbad6f4cabac8509a3b6b3ca83b4c45f3ba48e7f7bae7d09d3bf1239d3bcc7d9fba42f96abbb80a293b4db5e83b996504bb898104bb0700b43bade5a73b3f9d7239f58014bbdc52873b2b89aa3b140573bb4f9cb3bad152aeba2dd559bb959135bb7f0e11bb902448bbfc3070bbef136dbb5786b7baf3a218bbc19523bb3cf51abb2d8df4ba102930bb411148bbe0081dbb64c21cbbf64030bb7ec53abb82b855bb36ed08bbdc7243bb8d533bbbd39226bb3435c3ba080c82bb1e7c95bb54356abb206706bbb0394ebbec814bbb4fc16cbbc09538bbd9ae45bb1a7146bb318f673bb2c2983b954f9ebb79b3cbbac31a953bd14fd43be2a8a0bbea7786bb9a16393bf3b8823b74fca4bb5aacefba7f048b3b8293883b76c663bba25536bb44a68e3b0971a33be90566bbc33833bbb0b89b3bf453ac3bce1d8abbc6f832bbda66a13b898d083cf1fec4ba1cc596bb5324d03b7885e43be62b8bbbae4c33bb97c9a03bb909ec3bf2df84bbe0d97abbd203b4bac70e9dbb6ec8c23ee45d223f3a5340bb00a8b6bb3303ac3e23b00f3f5294ddbaa5bc6ebb6333943e3a85f53e58363abb085a98bbf763773efe31cd3ee2ae3abbbc6483bbf957463ede90a43ececc0ebb412985bbcf28163e6906783e781971bb5ec06abb366dca3d11b8293ed34a4bbb664289bbb849573db4b8ae3d00a860bb4a1881bbfd0a8d3bcdabec3bfa96a0bb2fb704bb0000000000000000caefacbb9d9d2bbb0000000000000000ba9eb6bb06c129bb0000000000000000c9fc83bb60aa4cbb0000000000000000cb7488bba29e60bb00000000000000001bfb42bb4d6541bb0000000000000000f8e233bbd772b4bb0000000000000000ab21a9bbbf2346bb000000000000000009dd3dbbb28877bb0000000000000000fd2ffdbacd52d3baa19a853b4356e03b7e24abba4dd018bb5f368d3bdb11d23b0fd2d1ba4057bcba7acc703baeb8b23bdb2785ba551d08bb5118843b08eac13bb22806bb19e8a2ba03a69f3b12db973b6d50eaba9ccd8cbad3e2923bc084b83bfed7a8bad6bcf6ba98512f3b5898c53bb315e4bad982e4bae1b68a3be00faf3b7e0066bae3a2f7baafd5473b9761b63bdeab4dbb45690abb7c8830bb814e25bbe92645bb989b05bb8bfd11bbdbd06abbd10ee1ba02b2c6ba49e344bbfad018bba0132abbb5230abbeee100bb202855bb934315bbcd378eba361a54bb172c11bbf29a27bb4dd00abb81222bbb53b226bb223125bb8a9a02bb44ea00bb2e1629bb4a4b35bb2b9c0cbbfaba2ebb5fd942bbb18554bbf132afbad5e2f0ba77213dbb7d9b663b123abc3bffb39abb39ad45bb37bf423bed4aac3bd7589ebbb0e834bba0f4203bb401883bda254ebba7a534bb9c32383b2102a33b92f885bbfd1a26bbd1e4833bd0058f3b0bc357bbbfce09bbe9bc813ba7eec43b24b483bb46d23dbba4ef4c3b0d0ee63bba3956bb466fc5ba6058923b1893f63b8c7d5ebb290e2dbb6a845b3b8a83023c6962cfba97e414bb1a7012bb1b6d6cbb7535823e3626433f664409bb9c93a1bba679653efeb72b3fe2703cbbb67362bb83aa443e22f4123fd3a5d0ba053b93bbc3f6243ef324f63e9c0b43bb588649bbb343033e3e89c43e3d3c3dbbb13fb2bb0feac83d58b1943e54b1f4ba60e264bb286c853d6642463e456912bbff6681bb4a08103d8f1fcf3dfb87e5ba95b56fbbdccd1e3b32f4ae3ba7cfafbb1a5663bb0000000000000000478eaabbc9ce73bb0000000000000000249850bb2de071bb0000000000000000aafd8fbb06c848bb00000000000000005cdb7ebbac7f4ebb00000000000000001c078dbbf14655bb0000000000000000a63c82bbe71c70bb0000000000000000a81096bb45fa63bb0000000000000000127126bbb96f45bb00000000000000003a451ebab0f3e8ba83020e3b7fe3a63bbf8fbab987cc19bb6295273b1e5fde3b516c02ba5feb99ba7116373b7818cd3b9aeffcb97539e0babc4d1f3b77a5b23b9841d0b91c6bacbadf35253b4576a53baac935bac07393ba5d3f113b7ea8a43bd61f63baa52eebba85484b3b64719d3b810582bae72246bbc4344b3b06ee8d3bffb678ba36f9dbba88ce3a3ba8d4853b971f1bbba7d42bba989eb5ba8d6937bb63bd69bb65cd0abbdbf7d5ba312567bbc71326bba39445ba555302bbc4f383bb3d31f4ba2a1980ba439f97ba96d22ebba48de1ba8555cfba63a8f5bad5b203bb298b05bb2617d6ba1583acba615c83bb88a33fbbb85250ba519ce5bae8f718bb472e09bb7c1bdfba836cedba5e3227bb8b0c26bbeebeeebad8bec8ba0b3123bb1e429d3afcef8a3b3e4a7ebbf3079bba49aa823a8edca03b5a0b6bbbacf262bb30f0b23a413c8b3baa2f8bbb931bfdba5e3f813aee97783b28886abb3d8c11bb615eb43a1154893bdb1d43bb956904bb3bf9a83ab9fba33b28004dbb67ea14bb74b62b3b8555c33b29d663bbb44af2bac8053d3be98ed03b489d2ebb4423f6bac341623be7d4083c981e48bbae3c43b9086b90ba07fe66bb34d7013e5942633f113b9dba9c858dbb1d0de53d133c483fc02ee3ba5e1535bb9240c63db40d2c3fa58883ba3a5863bb993ca53d280f0f3fe7933abae6d34bbbfd66843d59c7e43eca283dbbc24421bbb339473d595fac3e643fecbadb5944bbdf66093df012673e10dae8baa46c72bb91c3a13c5d9aeb3d6a6bcaba357e49bb813f363bc6c1a23bdc6e72bb68f7dcba000000000000000076fa53bb21ce74bb0000000000000000096d81bba3916abb0000000000000000b01c4cbb6ef73bbb0000000000000000a0c147bb85893ebb000000000000000086f768bb7e4b30bb00000000000000005cd88ebbdd3307bb00000000000000008d0b7bbbff2c1ebb0000000000000000ae7d83bbc0b526bb000000000000000000000000000000000000000000000000a5e08aba1cb9acba3cde1a3a21508f3bbde031ba39c50fba6942873a7885713ba50cf5b96a0d1ebab26c7f399513563bb48ebeb8efbf24ba5c3b633a7330633b133fbbb96a3d83ba77464a3a74ca4d3b9d929339a70008ba1665e73a7ca02b3b72aa01b9f75bc4bad6742e3a51c3543b00000000000000000000000000000000000000000000000000000000000000007794a3bafa8625ba12d2fbb800ca00bbf9c589ba37078bba9f4ea9bafe908cba565887baeb9895ba35593bbabf3b7dba32fea0bad33546bae389adb93831afbaf84792ba389032ba15ca29ba27b2c8babbea9cba2dda96ba3c641bbbffbedaba40e993baa65456ba89a90fba74bb05bb00000000000000000000000000000000000000000000000000000000000000005d4646baaf1b193bd2603ebb0456b6ba4d6c69b984e0d03af4ed3dbb562871baf73361bad747d23a4be120bb030cab39b0f982b801613a3b9cc91bbb895bb4baf62eb5b7e0f6443b16b7e0ba68ac8fba93cb163ab3f46f3b5257e4bae0ebb3ba142e413903409f3ba05dc1ba96b7abba000000000000000000000000000000000000000000000000000000000000803f9af94739bb1f18bbc3c132390613633f862883ba347fb6ba9941823afe82423ffa8809ba273ea9baf57cd138af1e223f15b6a4b92fb9d0ba68f6473a9f78013fc33eedb9f295e9ba302388393ed0c23e1ee70aba1c4b9aba617aff3a9c35823e4eb35ab99e2b0dbb013c14b95dfc033e00000000000000000000000000000000000000000000000000000000000000009874f4ba5474f2ba0000000000000000d027e2bac38dc6ba0000000000000000d5f4c5ba096befba000000000000000068a101bb9c3fb3ba000000000000000008aef3bade95d4ba000000000000000082dd21bb0d65c9ba00000000000000007ad51ebbf703e6ba000000000000000000000000000000000000000000000000000000000000000000000000000000006acb96ba82f8c43bc7068b3c103b853b35daa43a118cc73b3c82543cb37db43b0b26cb3a6ff57d3bf61d2f3cec6b423b24c2953abdbc573be98df23b3a492c3b826fd43a747a243bf629c03bd574843a3ef59c38107d803bd102b639e0e5453bf86346ba6376833b2e9113bb004d2e3b0000000000000000000000000000000000000000000000000000000000000000c16ec33be09433bbc07cbd3bdabfd9bcae854a3ba4d70cbaeb02493b4c29d9bc4c6ca73b31c797ba722c063b0f04e1bc7460543bc47531ba408ba93a7b82c4bc1848823b486b31ba865da63ac21ba0bc7d2e6a3b5bd4afbacba2943a7d4556bc16971a3bf4a677ba96ef443ac6b7dfbb0000000000000000000000000000000000000000000000000000000000000000c369fbbd37580abdd0dd0d3ce379c4ba33acebbd9a510fbd66fd0d3cf21b10bba297bebd3aa30bbddc4f9b3b87ccb1b724ec97bd9b88f4bc7fb0443b7eee13b958e455bd5682c7bc195a833b01bffdb91fa60bbd35b291bc3be7143bb34c1c3a4c8a2dbcda2e14bc8ef6253b9e0521ba0000000000000000000000000000000000000000000000000000803f00000000a31fcd3b7b1778bde7259c3fb61d37bd2738803b336a05bd15dd813fb151c1bcafe83a3b6476a2bca208523f7d5746bcf6d9a73b695771bc5167203fdb0e06bc93f8473bd2a84dbc346bdf3e271242bc51756e3ba44569bcd238803ec30777bc5fffb93b795b9bbc7c7e933d4644babc0000000000000000000000000000000000000000000000000000000000000000eb52d4bb55b1333b0000000000000000fdf88bbb4c44d63a00000000000000002a498bbb15fcae3a0000000000000000bc9846bace4589390000000000000000c5479439a171b438000000000000000033eba03b3400e1ba00000000000000003eea043c1a3917bb0000000000000000000000000000000000000000000000005b67383875e139ba02757a3ceb96d8b951a21ebbec37eb3bee55ab3c9841103c1dd51f39bab7c93b7507af3c7ad4143caca9163bdad4573bb6ff8b3ca9bbd33b286d543b187d533b74e5393c95f1943be22ded3a9c76353b55e6193c8103923bd0a3f73946167a3b1c86653b7ac1a93b888c38bbd92d8e3ba054b4baac3c8d3ba8b06ebac84d72b8125950bb33a18c3a4e72fb3ab1a092ba1fd1233c220ff1bc7f1e163ba7343dbb55e93a3c7e05fcbc4003813bacc2f4ba487e103c6b7615bd9d28923b1fc3cfba3fdfe63b0ada0fbd9a16a43bc17aefb9767ca73bdaa503bd0702713bb5ea94baaf908b3bdfe2d2bc6ffd323bb3709eba709f613b32f695bc2910e83a664203bb52f1523b14f3e9bb7769c03a703783ba50b0f23a6a0c18bb28b982bdf7e0c4bcf4c6e83a55af8f39e32a02beeeb414bd8480d03b12c2ec38b39003be186f43bd866d6b3b2de02a3afa4fdbbde5df38bdea17843aa0c9693ab1c1a4bdfe0621bd4c8b16ba3b3ac53a07ca7abd5b6f05bdc8a4573930cd543a4ac40bbddb8bc0bcb15b3c3ab7dc713a595623bc35e91fbc56f8043b3e42603819dd803c373048bb12abba3afe502739e330233ca1b0f0bdfb5a9c3f67c1ad3d8c328b3c4688f6bd8baa953f049e9e3d275b273c4c18aebdab01813fcb17ae3d0f78063cfd2980bdde3b503fe92c9b3d58eac13bdca040bd82c41c3fbef87b3daf2d043c90f92cbd97d1d93e0b632c3d1c49143c5cff19bd0838743e83229b3cca8c463cd05209bddc5d833dd52e51bb1f3b223c26ac01bdfe0755bd9c85bebc0cd102bdba39d03b000000000000000049d4ebbc2288bc3b0000000000000000329ad5bcca66863b0000000000000000fc74b5bc7aa9463b00000000000000004fd38cbc082acd3a00000000000000000b2058bc8c00d33a00000000000000002aa7e6bbb00344380000000000000000e32704ba1af9153a00000000000000009a310a3acfc7ff390000000000000000221cf33a887c80bbf9774f3ce91f423b1067143ac6dc063a4ae98a3c61deb63b6044103bbdcb1d3971df703c50c4a13bc13d1d3bc6b3343bd4dc873c1529f53b27516f3b43ea08bba0a9283c1d53413be35af23ab94f683a96a3e83b63c6973ba3e4b23a76ae6fba5f21823bd8501a3b99a71bba19c6a33ae8579cb9d157693af3ed2c39559019bbbafbc9b9377c633a39230eba561e063af8ae223c262c08bd85b0173b4108a7bad07f4e3cfb9215bd0178bb3ab4de783af4d1053c86000bbd82708e3b377c13bb2422ee3b4e3e19bdfeff333b38b9283a0d1ca53b7152e3bca0ab3b3b80c69639d7e3a63b8fcdc0bc56c2143a7704bcb75e34983b61808abcb80ff53a681a9cba7b67583b9b3c1abc867dff396d7fa6ba801f823b3b4baebbbaaa0dbdcb668fbc0aba32bc4af1243b0396afbd2da727bd9adfeabbe3308c3bc2839fbd0e0a35bdedd11abcafab4d3b6e9db2bdceac5bbddf69b2bb31d1943ba90e69bd972521bde805ffbb99c1213bab293bbde6b512bd49d8babb319c3d3b8be5b2bc15beb9bc2cc931bb7348483b0d478ebbea4b42bc243fd0388262fd3a65e64d3c9f9200bb941ab0393416e93a670b513c2eafedbd68b0823f430b863e97f7893c6b6b05be6f39813fd1b47e3ea0ad2a3c9624b6bdea3b553fe66b6b3e008d513c7b7ca3bdbeed373ff51d493e4b1a073cdd2b79bd5a57093fd4ee193e81c13d3c24fb6ebde372c33e51e3dd3dab91183c85153abdf90e683e4217803d77bd653ca09b38bd35fd9f3df06a923c27a7213c507010bdfa9ebabcedd267bcab2760bd22a00e3c0000000000000000b9526dbdd87a193c00000000000000001b413dbdea9ab03b0000000000000000253536bd91e2f63b00000000000000001cd800bd434a4b3b000000000000000048fbe8bc63f3873b0000000000000000e528b6bc36cb4b3b00000000000000001a338abc02443e3b00000000000000009f0c36bc7e1d553b0000000000000000a2d4383be4c4c3bb77872b3c38e8613b0dc12b3b8438fdbadb19553ca184de3b2973283be1f379ba1d52703c7407053cedfa323ba3be96bafe06463c2748f53b30345f3b6230adba5dfd0f3ca083c73b2802163ba37903ba14c7ef3b7f26883b174a283a972898b8f3e0863b5d43713bd961c639e0149eb9994daa3a7c100d3b7c9ccfb8e93244bbe2400639270b8e38c30e0ebb9869a83a9b6afa3b241f08bd2d52293a0c08173a46402e3cd8ba16bd504c113b1fa8713a73f20f3c1da009bd09c47b3ab0ea063bcd86ed3b9b0cf4bc9116e3387a5f013b9ca2ec3b3cd2e6bc3d78a43ad8d2c3396f5cd13b8911b6bc7de70cb93db0123aa83dab3b0df28ebcc330fc39535bcebaab89703b5e1733bcd563a5ba567139b9e96e933b33a9bebb319583bcda8c7abcb759a8bceba99d3be8d66ebd0e9533bd3e55a9bc3cc6f93b551b95bd321464bd09df98bc7e39d83bb63687bdaadc54bdb68b8bbccc8aa13b4fc75abd777f39bd3ea179bc76a4c23bc7f11cbd9ac912bda6b33bbce3acac3b5d6cb1bc097ec0bc0ea20fbcafa5883b8a789dbb458434bc76128bbb3ef0aa3b3a8a2c3c6f2be63aebe447bb55825d3b08e10f3c04e6d2bdf6e1533f34bee33ec182843c12fef4bdee72513f7224dd3e3582493c54d4c4bde1b1373f2b0dc53ec9a9193cd3eda0bd31c8163f9d43a43e6c24153c5ca088bd8858ea3ee517813e1c69123c2c446abd2cb2a53eab93373ecf72343c3e7753bd99f8483e098ad93d0fb6563c75ef36bdd9609f3d005b223de86e053c5e5410bd23c9eabbb38c0bbc6dad90bd2d7bf63b0000000000000000b87ca8bd9f103b3c0000000000000000f8148dbd36f00a3c0000000000000000f0066ebd18fdd53b0000000000000000c6c84dbd7011b83b0000000000000000abe22bbd6af5b23b0000000000000000606e12bd6fc9c93b000000000000000086e2f4bcb3a8da3b0000000000000000e758bbbc1b2aa13b00000000000000002b42273bd23c99bb2f2bea3b81ccd43b8efc443b86873bbbc5cb1d3c6756183c9809ef3a62dbc9ba40362f3cf3a41a3cb2e7823b18b8dfba0af51e3cb3e6173c0b71033b4ea31dbb8e65dd3b3460a73b34652a3b2d3e0abbf231b73b71889a3b27e5a63a551ae2ba49199b3b677f603bc139803a8a2c26bb5d31d53aa22b663943ff813a05a252bbeb2df23a24394bba25cfa6bbdcde763b1d30cd3bd224eebcc3fc7bbab01a8f3a991a0b3c11b8f5bcf6a083ba0422f03a3b8dca3bd584dcbc016ea639d441283bb5dfc53be558d4bc3ffb22bb6867473b50aa013b63fe9abc6b1e3fba724dc63a0088b13bd78a97bcc378aaba0ee98f3a0bf88b3b8b4158bc67ede9b9292a43b9ba1cae3b34f71ebc31e3c7bad4af193a33461e3bc01b99bbd39711bcb3dd7bbc2289f1bcda10b73b2b642cbd96e342bde6d1f7bcc8ac203c908c54bd785868bd86ced3bc8e95e13b21015dbd8f536dbd6606d4bc7ab9de3bd21403bdf11910bd3ed4a0bc697b753bb5ac09bdd7c613bd38c98dbc9d97b93b54bf89bca88fa3bc0e8d48bc7c0db53be54ba5bb1eede5bb0292f8bb5464983b2b6efc3bbfb3873bf2663cbba1c4493bfc6ef23badd9b2bd5595223f1e98223f3f61553c1049cabd8cab1e3ff61e1e3f91ad1d3c06fd9fbd404a0a3f0b44093ffbd91b3c6ca28ebd5918eb3e32d5e73e8222e23bd0b53ebdec66ad3e4d8faa3e16830e3cef7456bded75843eecba803e48c0043c8b092dbdb79a1f3ef7ae183e97c6183cbe0e20bdce3a893d1fbd753d308c053c3fc4fdbcb82436bb93b9f2bb5186b2bd1400053c00000000000000007591c8bd1d443b3c0000000000000000a77ca1bdb5bb103c0000000000000000cbe990bd35eb013c0000000000000000aff445bdcd1b8b3b0000000000000000de5f5abd048bf23b00000000000000004d4832bd5f05e13b0000000000000000e4b621bda8c7173c00000000000000004b3307bd67c0003c0000000000000000ca3e053bd6a870bb3a626e3b977f203c6868853aa7a7ec37ecfee23b6fb3483cdc598b3a37aac73ad45b143c0d735a3cfbf6513a3cb7db3938ff0d3cc01e363c64de143bbd90d93976bed43b03272c3cf82bb83a19de963a5f04863b0608de3b5b6c4cb9f508f0396243853ba46c463bbb0fbf381afb54baea8a1a3b1bded739f1f72fb75dfc17bb27f6933ae7c7c539ac329cbbc772053b58deab3b7287b1bc0f421cbabdc5023ba877bb3b83e6adbccd02a33ac1d5133b9320b73baca5abbc7054d83976a3d63a7221853b0df48abc440007bac92d4d3bd6cb913bebaa8bbc2c4686bae22d0b3b3e1b733b05155abc8b3cc9b915d4813a0cba723b7cb810bc59d59abafc1504baca6c1f3bfe7b78bbe2212fbb744ea138bd624c3bdc3068bba3a123bcfd41a2bc826208bda2910a3c10e21abd1e2884bdc6c412bd282a383c7a8650bd2f909ebd67dc05bd19281b3c209848bd9d3890bd8161fbbcc9ff183caed126bd4fec5ebd591ddfbc0d87e13ba4ba05bd114b2abdadc4b6bc0392013cc774bcbcf79ac2bc78ef75bc4c50c93b37b419bc6c7fa8bb308e05bc2eccad3bd5312f3b3e92193c3d9ea2bba04da43b4bfcff3b2e7093bd4419e53e9c23533f9d284c3c9e40a6bd0cccde3ee2a4503fcb172b3c08cd8abdec3cc73e9f2e373f7849153c87e066bd7629a73e3abb153f4efcdc3bc94948bd7bf7843e7e8be63e9358f23bfae025bd4bed3f3e09f7a23e124ee93bdfa310bd8ab8ea3d269f413e9872023c7c4bf7bc61ed433d5caf913dd5eca33b02a2bebc880a68bb506c3bbcefadd0bdd4a61d3c0000000000000000c902f3bdb608763c0000000000000000af37cabd1fd12f3c0000000000000000ab49a4bd253c213c0000000000000000d10c8bbd6ce6053c0000000000000000ccd770bdb92a193c0000000000000000e6d057bd9f6f1c3c000000000000000051283ebd75f8433c0000000000000000d85e14bd0626123c0000000000000000e6b4ff399c01d8b9c890343b16fc3f3c6b61d838a9020f3bd76c613b56038d3cd8ac5e3940b5093ba0a9963b1a4b773cbc3e8f3a236b343bbe05b83b12ca753c07f4a53a4bbe8f3aa1cc793b372c1a3c91ce6d3a2a831c3ab9b50c3c1c544e3b94d1e53883be9a3a6475353b1b44823b16d69cbab14eb63ad2153f3b069a89baba4492ba3522b0b85a70f83a5e9be2ba1c7018bbc3b8853a0d544f3b8d3642bc23dd1d3b3aa8e5b9fcc5263b30e023bc3efdc53978a1d73ac25d373b6cdf11bcaa5d243b1b3ddf3a54e0c03a0f7208bcad096bba3b932b3b3af0e03a6e640fbca68a3e3bde40b03aa099163bc133c3bb1a6facb9a0da72b92dfb053bdfb3a8bb32a9c33a973ee3ba0ac7e23abe6adfbafb7f4cba4efa95ba5f441c3b803c523a296f59bce21419bd1f7c07bd5c6c293c8df908bd4d4bb7bdc43619bdbf8a663c182e29bd3b30a8bde1d113bdd8fd263c1e6a39bdaf60b2bd77e60ebdab7f1c3c27d014bd4a397ebdffe3f0bce1b8f93bfb3310bda9453bbd5dc1bdbc7304a33b6cd5b3bc60a1bfbcd8ca88bceb29e23b93a851bc286aa0bb8d4fffbbac59913bafc064bbe4ca363ca4b398bb7e608a3b496ae63bad9e59bdbd31863e2a4d823f95d1363c0ede6cbd8059803e3fdf803fd46fd53b330f3abd01016f3eb3f2543f2676e33b2fa72bbd56234b3ef86a363f8295a63bc73af4bc8a86203e8368083f36a9833b2872e6bceaf8e93d5b8fbf3e7469a43b0bcdb6bcc2c4913d9435643e9500983b7d7f8bbcc6afc83c517f943d3d72403bd1fd4cbc40ec08bcffbae0bc49edecbd047c433c0000000000000000548c05be4c10813c0000000000000000edcab5bda3fd133c0000000000000000c12aaabd73b1153c0000000000000000b8467fbd6500f73b0000000000000000ab7170bd559c1a3c0000000000000000dff746bd03b3113c00000000000000009d103dbd3556593c0000000000000000c09811bd8cc4273c00000000000000006a0c77ba4772cf3a85cd1b3a9ae26e3c872c0dbb0855373bceda043cc71fa43c1708edba3c1f8a3b40b2e03bc395ae3cac6433ba8116a73b202ba23b7fc1863cea009aba7436813b7e52b23b118f443c564154baa570943b5b787a3b74a6043ca041baba44a0753b569b833b3e66463b6271edba599afe3a9371973bf51ecfbaaa5fa0ba926a9f3a5145cb3af49955bb91d2853a6f17c9bae9f0183a34178ab9ce7e143c29268dbb3a98713917c1853b456aeb3b9644acb9d94086b8899d6b3acd77b13bb7c3b43a4fb66cb9a93dcf389041933bad0f2d3b0ae77c3ac32ba7ba072f303ba725903aab375f39d45dc4ba123ba83b9084ecb9aa1e533a024835389bb29d3b5d8e3ebbc867163a0c13003be4e067ba6d0198ba494494b9d227dd3adc61aabc978489bd7513f5bcc0f0353c73d409bd75d903beda3c00bd3304623c29d429bdde1c04be975a16bdd3242b3c0bce2abd07dbdfbd46ee16bd12c8043c13bc1ebd5fe5a4bdf011edbc81527b3b686000bd2fb879bd4c2dd1bc87bccb3bf70bb7bcafcc12bd807a88bc5c9fa43b5aa13fbcf6142cbcf4a3acbba9a8ad3a040685bbf0677b3cbaef59ba6427533b55bade3b5f1402bdd22caf3d94609c3f9334c53b4ec2eabc01cca23d8d8e953f5c1ec53b4c2cd2bcccf2b13d9856803fdaf0a53be382aabcb059a33db9bc4f3fd532673b49ee84bc135a893d033d1c3fc982403bb9083cbcd35f433d61e2d83e544ad83ae8e102bc76b0bd3c080b713e2561213a7c900bbb85dbea3abc3a7c3df7bfb13aa66becb9603d94bcd3b25abdd89fefbd56412e3c00000000000000003a02f8bdfc97803c000000000000000037b2aebd82fe083c0000000000000000b7b183bd1113f93b0000000000000000fcdf54bd93bcd33b000000000000000084be39bde0d2dc3b000000000000000055ee27bd6d220a3c00000000000000009f840abda6434f3c0000000000000000190c0ebdcf43343c000000000000000000000000000000000000000000000000158f08bb9b6a933b6a8c573b805d863c4a9914bacfffa03b81555b3b7c2b5d3cc1b001baa996833b8766293b6c3f273c2b0288ba0e78923bff12c23af913e03b1c2dbeb8dde96d3b828f053ba31a7e3bfa98afba816e1a3bb139573be2794d3a987904baa739f03a36ee4b3b787d19bb0000000000000000000000000000000000000000000000000000000000000000d0910c3c1674f7bacb0008bbed28113c8747e63b182f92391d5322bb78cde73be12b8c3ba540933a86f413b91aca553ba5128b3b02268c3af29165b9d10d043bee71433b707dca3a3f7a273945170e3b9be88b3bc41c9cb9d7e492ba20a3823b57cd923b4141a7baa113c6ba273c3a3b0000000000000000000000000000000000000000000000000000000000000000cc2801bd49a0fabd3fcae4bcfa34c13be5e403bd4e51ecbd07a4e1bc6656963be7c003bd1e8fbebd01d4ebbc593f6e3b6df9eebc754595bd7796d7bcbe1a363b1e14c6bc8fac55bd4e3f9dbcf980b93ad0e390bc9eeb0cbdb68b51bc7a41ee396ccd34bc7a3726bc4bbbafbbec938b3a000000000000000000000000000000000000000000000000000000000000803f07d06b3b5806c9bb297f37bd79259c3f5ef42c3b5288a0bb7b43a8bcaadd813f268e55384d0314bbab781cbcf8aa513f41341439ee4f93b91ebed9bb0f94203f7cee08b9b66cebb866a508bcd50cdf3ee6639939f3615e3bfb4534bc5f19803edab6a7b827f7ca3b841f97bcc15e913d00000000000000000000000000000000000000000000000000000000000000001d2f78bd6303af3b000000000000000056a20dbddb9c733b0000000000000000ce52b2bc0f1fda3a0000000000000000637586bc0485a03a00000000000000000a947abcfffd253b00000000000000004dfd82bc04d4963b000000000000000039a6aabceb9ea13b00000000000000000000000000000000000000000000000000000000000000000000000000000000b9973c3ac30a0f3bcc8f1b3c2b5f7f3989e40a3aa6a2323bd88d153cd4978b3aa60cce3af90da8bad66ced3bfcdcf3ba57a7c03ac23d88ba80db933b679d0abb66079b3a344a6d3933f9fd3a3c8a11bb47f301baaebde43a45a587393ba988ba480b7eba64c2193bc2ba13bbbab7a93a00000000000000000000000000000000000000000000000000000000000000008878e33b201be1ba629b773bc148ddbca12fc53bd1cd08bb3000753b559bc0bcd342e23b3713b9ba9a67163b72c6ccbc67ff9c3b9e6a62ba8f9f293b565db7bce537b83beb3afbba3d78213b5dc79abcd460b13b422295ba0f77413bcd7f57bcdb7f6e3b7695a9bae343523bf1d408bc000000000000000000000000000000000000000000000000000000000000000043feb1bd432714bd12dedc3ba9a2c0bacbb8b6bdf90501bd0c72a63bf633a8b9bc0c84bdcb8706bd5ec1543be225f0b9de5449bdf77be1bc58f2a23bbb2a7fba766819bd09d6b1bcf8ab863b4960ffb9528cddbc119780bc5b2e5f3b1b9018b989511cbc0ee722bcd505b43b03c9d2ba0000000000000000000000000000000000000000000000000000803f0000000087a29c3be0163dbd2206953f69110ebd82a2473b851ad1bcb396793f65128ebcfcd5173b016c9bbcfab34b3fc67b83bc35ee303b53bd68bce84f1d3f24fd58bc7285db3afdc667bcf07de03eb41095bc2c5be23a3bd26bbc1c22873e90929fbcd0a4333ba0efa3bce708ca3d0b65edbc0000000000000000000000000000000000000000000000000000000000000000805f6fbbf3fed03a0000000000000000ab3121bbf1e7d03a0000000000000000317738baf640703a00000000000000003d80d5ba79a01b3a0000000000000000a3cd193ad0a79438000000000000000071144c3b99e417bb00000000000000004220863b66b7afb80000000000000000000000000000000000000000000000009dc93a3be363ffbbf763803cb0113ebbb7369a3a2c94c63a102a653c9efd753bd746173b7b7ff6bae163683cd6c9bc3b72ec3e3bebf771bbbaa36c3c2769b439365d4d3b0a85b3bbbee5483c5b99d7baf50fb53ae45956bb425d143c95094dbae404bb3a9e328cbac933933bb8e2443a8a2b01bb05f23d3b2312bebac0ca003bfb636ab9a62f29bbee791c3b2b3b20bb35f0743b27222cbad4a7f93bb25c11bd2c3dd43b050c0ebb8da0123c961d12bd5a8d8b3b578100ba946d053c4c6119bde355c73b7df2c1ba976fe83b9f5915bda9c8b23b1c1cb0b974ddd63b6d5209bd59f6a23bd7ef51bab15be83bda68e2bc7c908f3b0f8abbbaa2f7893ba889aabc6586673bac1fe3ba9e49a43b45f235bcbb6c2b3b682aa2ba2aa3aa3bd7e32bbc90f60ebd8927eabcb3a054bbb180893a8836b6bda3411cbdcf96853a6b39af395403b4bd3cb537bddfbeffb93cecaaba94cb96bdb9d92ebdeb2488390381be3aee4352bd9b9014bdd0a8c9b9ac38d439788022bdba75f7bc93cf6f3a1ba3b738bce2c2bc29d7b1bc4881a63a7d4f5e398f4c07bcd2a12cbc8f20633bd85820ba50b7803c477ad0bb1b37343b3147063a2e65283c0d3ec0bda5d1943f541bc73d13b5573ca062c2bd57e18d3fcb8fb83df4cf043c05bd90bd91e1743fe7ccaf3dba1e093cf31761bd76f5463fb9f3973d6a7eeb3bef2b39bdc88c183f4949673d5c5dcd3bbffa2bbde3acda3ed6f50e3d6b6d043c777d22bd3b38833e40a3503ca646133c7d9a19bd214fba3d843711bc833cef3b697b13bdd116a3bc105fddbca08fd5bc8535b03b0000000000000000edecc8bc93bf953b0000000000000000e623b6bc1935f63b000000000000000062cb92bc02fcca3a0000000000000000352f75bcb0bd1e3b00000000000000000af64fbc4e541f3b0000000000000000a72022bc44e62b3b000000000000000098c08fbbabae783a0000000000000000243871bb6fffb93a00000000000000002828813b42e83dbcdd1b853ccd930bbb3bb0643b9aaa0abc7d748b3cd6fa8bbab9dc833b63da20bca3648c3cb4eab1bad2d6793be80d17bcf65b853ca2c150ba19376a3b8eaa1ebc7b7b683c41b901bb324f6b3b08bc02bc098d2f3ca92603bbc608ed3a9295e5bb55230d3c8076f7baead36b394e6e8ebbc47e7e3b5b2413bb9eed973ab4efc2bbc158a63bbb7a03bbf3e73bb95377b238a068103cf9231cbdf949953b09fc8aba6860303cc2a52bbde6e8c33a383aad395cf80d3c86971fbddfd3543b5defbe3602f1073ca4a11dbd697af73a319e9139ac73ec3beaba07bd25f7563b4f8bfab9ee74f63b3ae400bd5246a43a0a082dba1f21d63ba2f7b9bc64d6643bce9ebdba53aada3b6c3a90bcc627923a4d03b4bacfafb73bfcb55fbc696c30bc533693bc4eed5cbcc9a7573b337a45bdede01cbd95213fbcc76b823b82e131bd6f491bbd0ca93dbcf695683b7bba4cbd55f630bd42801fbc8fdb303b378400bd45960ebded5304bced16113b3827cabcb6cffdbccb14b9bb0a8e153b8954f9bb85a8a2bc6268b1bb7c12463b234a6b3b50784ebcc72ae7b9a66f953a7e4c8d3c060c6ebb66a5a4baac11fd3a8aa6403ca1b2c4bd8154793f4cee863e13387e3c366bdebd1642733f40837b3eb501273c95bf9cbd0896493ff307633e22fe453c32479abde4292f3f0cf53d3ebf77123cd67470bd64c2053f1934123e26871f3ce3c566bd8e00c53ec105cf3d302b083cb16741bd0068763e0fed753d5af7393c56dc43bdafc6d43d3f6e703c46e80f3c6d8f20bd50f63a3aac4273bc252537bd27bdd93b0000000000000000b2de4dbd0b2c093c0000000000000000953522bdce25a93b0000000000000000dc3f1bbda386dc3b0000000000000000f3a1f7bc1024a23b000000000000000027d6e8bcbbb2a63b00000000000000009d10c4bc9b9c8a3b0000000000000000ee249cbc3fbd963b00000000000000004cf380bc4abc763b0000000000000000bbe5963b49ef6dbc57fe793c2bd4173bc6b9a93bab6f3ebc1d48793cbe9fa439e6ef913bc61f2cbc92ac7a3c86181d3bae69863b17c236bcf2d6753c53bd893ac4208f3b7a0342bce39d5d3cbd65a6380cbb3a3bae0b1cbcd3e92f3cbd5dfebaa3df343b8c3913bce1cd073cded4cbba0cd1863a3b66d3bb90f3cd3b444623bb5bb7e73a26a40abc1acd083c8598dcba7e2eb2bbbc942a3bd6ca123c5b2920bd358c6fba83d8d73a39532d3c1a3532bd90dcc8392642183a3c4d153ce7681cbdc1f32fb96476f03941b30c3cc59612bd1e3f88bac3fb9e3a47f5073cfc9308bd34ced5390a359839fd60153cdf3de1bcfd92983a903216b9a69cf13b40ddc7bca5f3943a92ddb8ba5f27f03b16d095bc799105bbc264f938bc65ce3bc94875bc353f1f3bff8425bc91bcc7bc0aa98c3b03d5e7bc3d5a12bdda7fc9bce4cda93b05831fbdc6802dbd5d61a7bc4982bc3b6a2514bdbbe928bdbadb9abc3582c93b4134d4bc6abf0dbd268187bcba8d953bcabe91bcd55bebbc9a6d4dbc38c3903bdefbaebb847ba4bc422515bc3b0b713bc1dcae3b4b211abce815a8bb6a154e3b97f9943c08747a3ad8fac8bb48d6803b4d9d183cd2feb6bd17da4a3ff5a8dd3e2feb663cd138c7bd644d453fecc0d63e99864a3c6328afbd54892d3f31acbb3ed249383c7f7396bdf093103f81a59c3e5d842f3c8c1984bd9885e33e9858773e16d71b3cbc816ebdd996a73e87a4323e17e4333c769a5fbd1cae543e8e67dc3d543f2c3c04f945bd55e4cb3d1c34333dc21f033c403827bd9ac24a3c294997bb25ed80bd4eab0e3c00000000000000004ec687bd678b2e3c0000000000000000ac0281bdd0792c3c00000000000000006ae05bbd6e66033c0000000000000000de9442bd281aef3b00000000000000002aae34bdd336043c0000000000000000d17d20bd2d1ade3b0000000000000000b21f07bd32a0f53b00000000000000007ddcd8bce396b83b00000000000000005db38d3b89c55bbc9a4d5e3c31d6ab3b2c9bb93b47403dbc11da513ccf41993b75ca783ba7482dbc59453e3c9879ca3b398a933b436b33bc026e433ca8ff873bb2a2533bbc872ebcb33c2a3c9a8a593b3e29433bbd6109bcce3b163c6254143b1d49fe3af8b2fcbbc914e93b2484423a9ae3953a9a58d9bb493ac93b065ab2ba131a233bb6af15bcc0ba013ce69bbdb876f51dbc57ab243bd573e93be0a010bd5dc8bbbb46d3253b531ff63b5b5a15bdb395b9bb70453a3be490e83bc76900bd0f4aabbbdc2e5a3b3663fe3b254a00bd0daee7bb9fa6333bda73a03b6ddfc8bc281393bb00830a3b500bd93bd198d1bc11bc6fbbe85e843a8083be3b345e96bc0b3bc3ba7d6f47ba4145da3ba97481bc5df79fbbbebb503ac5da863b689c54bce3a4953b7d62babb36aa0bbda644083c520989bcfd6bffbc72e201bd3904113cea60d5bc77df1fbd6500f3bc7d78d13bea71e8bc35de20bd8cabe1bc488fe03b102c51bc747cb1bc0f24babc7ecea33b2ca079bc920fc6bc5a35a9bc387cca3be7a68dbb2da646bc60c17cbcefc4a63bfcbd6c3be90992bb97822cbcbb80a33bc052593cd7ecb13b78fa1ebc46b3a63becd01c3cc2039dbd73651c3ffa9a1c3f5cd2553ccbc4aebd7651163fca40153fc970203c1acd8ebd5449033f83b4013fcacb2a3c080d87bdc9f0e03e1703dc3eb2cdcf3b486941bd7174a93ed4bca43e2448153cbdbc54bd1e67843edd097c3e0d64093c845835bd400f293e3b861c3e4595213c571532bd2ec8aa3d2fa48e3d53e8f43b546b0fbde65a5d3cc9b4323bd0e999bded820d3c0000000000000000482ab0bdeda63c3c00000000000000007e798fbda56c1f3c000000000000000011658abd06192d3c0000000000000000172e47bd57e6d73b0000000000000000902d5ebdb109173c00000000000000001c4d3abd93f10b3c0000000000000000ddf12fbd180f233c0000000000000000c04810bddae8fa3b00000000000000008a409b3ba02018bc2837da3b8785163ce794353bf3afd8bbc58dc73bf5a3f83bd09f303b908db0bb216e043c5916063c394afb3a6cbba4bb96b9ef3be26fed3b9b07503be08df3bb6707cb3bcd7fc33bb82cca3ade12b7bb087db13b7a82783be1c8c03ae1246ebb69fda23b6a39de3a9e3b933ab2a284bb2ff7503b87c9c4b9a2b0733a127d9dbb8a09a43bc26a423aacd716bcff59543b20af523b9c26dbbc6d6787bbcdb4e63ad311f13bf366d7bc926952bb67dee73a1288c43b0886cdbce2318abb48d9073baa4fb93bfa38b5bcdd13bebb28b63c3bb231c23b5dd2acbc6a186fbb40e7b03aa5b1cc3b65dc88bc8ab04cbb5902103a56fb853b49d06bbc9b3859bbfdedee381891ad3b5c7939bcb1cb85bb74fda8b82d5a853b5fe21bbca1630c39e3dabdbbf9e51abd0daf093c3d84afbcb4f31fbda29922bda609243c146b01bd410b4bbd759816bde85c193c5103efbc737b3cbd142e09bd95aa063cd6bac8bc052a0fbdedcbf1bc3187db3b6e479bbc71d4d4bcc304c0bc10e5e63b70fd45bc0bc46cbcf1189fbc450dd83b07957cbbde1c0bbba26cebbb7cc3293b497fe73b4629243c42a34cbc71f8cc3bec4a083cb2bd7cbd91ecde3eb4ee493f9d323c3c148a90bd1720d63ed185443f4a6d253cc78a77bdefeebf3efa2f2c3f66480f3cef145bbd9424a13e074d0e3f8e5f0e3caa7646bd2298813eac75de3e4b33d13b984b2bbd091c3f3ec885a03e0043ec3b9cc61cbd1e41f63d9b82493e4ac7e63b9cc210bdc6a76b3ddc0db23d3152bf3b9dffe4bc8b93c33bcf25c13b03d3b4bd9e442a3c00000000000000006798cebd1608703c0000000000000000e959b2bdae1c4d3c0000000000000000876c9bbd7408323c0000000000000000c9d989bd25dc373c00000000000000000f4b79bd5fa2283c0000000000000000697662bdee21303c000000000000000087785dbd8ad7553c00000000000000008bdb25bd207c1e3c0000000000000000cd0ee93ae41f67bb36d73c3bdaff223c8cc8fe397f06a2b949b56d3bbde0263cb816183b02833fbb5ab8603b6a09373cb054833a94f3e1bab7278b3b846e283c65bba03a503c25bbba5e253b04f3023c0459943a578c3db9c4fc3d3bd7019e3b82a41f3a5f0b36bbf0c9113b0271793bfc634dba9b1922ba351c613b24a5edba1cc7993963541bbbcbd6783b9a402abaa91ad6bbe482043b6a027d3b39f588bc495797ba8a662c3a9443963b5c0a77bcf9ffa3bbf28bf63acf01553bdf4d6bbc130243bbd0431e3b7c70803b1ea54abc2b93a4bb13301d3bda2d533b72962fbcb0ff56bb6d38bf3aeab6313be44a1fbc446535bb1d1f0a3a5b8f6d3b68bef9bb5abdad3a44a504bb1090303bb6423cbb4bd11fbbecae2bba2a5c3a3b4ae29ebb29960ebc6f9f99bc495019bd1a92103c55d4d5bcdcdd6ebd70da26bd864c2d3cb924e4bc06aa54bdce581abdbdb9113c4b870bbd1e036cbd85e215bd2e62083c4825d9bcea101ebdde3dfdbc95a8e53bb529cabca6c601bdca8ad6bcbdecc33bbae169bc148c63bc6cb89ebceac7c13b5c3e10bc9c0737bb055b36bc3c51973b66166eb95f3f3a3c90f50ebc38b5a23b81c8e83b46783abd832a873ec52a793f8dbe093c61f14cbd5442803e858f723f938dd23b253324bd3fc9683e43f8483fcb00cf3b06f019bdc073473e494a2d3f0074a03bcdc0fabcb9371d3e67cc033fc865b13be25ef0bc75b8ea3d458ac03ee60c9a3b5722cdbc826a953dbc486e3edc1ba23badadb0bca0f8e93cdcb0c13dc27d843bcb538ebc6be798bb498ae9bb5930c4bdf72d3c3c0000000000000000a0d6ddbd54d37e3c000000000000000096a3a0bd41392a3c0000000000000000ae559dbd5e593b3c0000000000000000dd5880bdc053193c00000000000000003a0074bdcc173a3c0000000000000000f1454fbd3d410f3c00000000000000008c854dbd12b04a3c00000000000000001a6128bddb4d1e3c0000000000000000e10256b90aaa113b203009bb19b63a3c280b85ba4f13873bbd647a3bff18243c7d175cbabda3763b6969273b8dae3e3ca3ae7eb92674743bcff9143a5b26303c764fe4391efc303b9f681fb9dcfa073c1b1cf5ba3cca5f3b87b0813ac909a03b875713ba94b7183b00ab013b8811d83acef2fdbae7063f3b6ec48a3b9e3fa3bb7bd0c3b9b266b33a42e7bf397038e4b910892cbbd025513a1335d33af8faacbbb9a5fb3b74610bbb2d085c3a6e5ce9bad69c8a3b9d0997383d88683ac505d3bab45d3d3a2211f33ab7656e3ad53027bb0d3ea6baf402223bff689c3afd831dbbbcf1603a9bf2233a5672083b1a9b9cbafef1243b457d98b968bf933afa5420b9926cd23b4cad7fbb49462d3aa498bb3ad791f6394099e3ba836d9d3a1b71f939ecdba7bc931a20bd84f116bd2261073ca70efbbc4283bebdd96f10bd688e183cc51213bd27dbbdbd4e751cbd956c033c015f12bdab629ebd34f514bdd547df3b54eafdbc2cd663bd147001bd0d25bd3b9c6ae0bc15d530bd8db5cbbcda7fb83b9557adbc8d3ddcbc671293bcc5053c3ba84f3fbcb5b345bcbd5b9bbbdd68433b4231b9bbad654a3c10fcd4bbceb9883bccf69c3b9fdfd9bc3fd8c83d56a9943f3750b23b248cd2bc3c25c03d3f7a8d3f26dd823be666bcbc7f54be3d0d35733fa75c573b7be89cbcb2dfa83da444463f5ec0023b201885bc73a7873dc78a173fb3922d3b480b58bc67723c3d832fd83eac7d013918882dbc9f2dc53cdb10803e6ac7e93ae5b9ecbbe7e7013b0d1dad3d64d3223ad0dec5bb99928fbcb602ccbc289abfbdf900293c0000000000000000dd1ec3bd8def563c0000000000000000e7b297bd6a27263c00000000000000008ccd74bde60a0a3c000000000000000039cd4cbda658d73b0000000000000000cebc42bd7e85df3b0000000000000000defd3bbdccf1383c000000000000000045931fbd9b501b3c0000000000000000d9e621bd952c0f3c0000000000000000000000000000000000000000000000007576bbba71c9d13b487d87ba3e7a073cb38336ba2262a53bd56e30ba0eccec3bec14fbbad89fac3b218d44bb0a29d93b194bb2ba47c5973b572288bbdc39913bd7aa9db88808613b164125bb0ab9cc3a0375adba2edb813ba8de8f399ad884bad0cbb8ba5d5e5e3b3255c4b9332424bb0000000000000000000000000000000000000000000000000000000000000000d8f1ce3b2eb831baabcb0ebbc766d43bb9fa983b0497a5396da280baf4a58f3be48d013b41678f3a4badbdb93fbf7b3b3545023aac40003b93028fb88f5b3e3b682aa03a1dab8d3acc21d0b93b395d3b1fc18c3b4acde4ba30c1f4b98fe57c3bc553853b06938cbad15db1b74b0b963b0000000000000000000000000000000000000000000000000000000000000000ba2501bd2d08b6bd4c40ecbc5068893b0ec6f5bcd66aaebd92b7d6bc3448823b9ffef7bc1e2989bde364d7bc4e57493b0ac7dbbc362950bd7245c1bcf54bb03ac33ab8bcd3ef17bd5c7696bc8f57383b64777fbcf32bd3bcb4592abc27e3373bb66553bc85221fbca01ab3bbaebcd43a000000000000000000000000000000000000000000000000000000000000803ff59a2e3b22d6a2bb798008bd9b1a953f65dcde3a33c611bb08d177bcba03793f4f739a3ad41402ba29e114bc39514b3f16a1053a53b586b9da7307bcb2281d3f9f6b58b950c575b9b18d14bcef14e03e4a19bebae5d11e3bfd377fbc206b843e8057e0b91ef52b3b61d9a5bc3d07c93d00000000000000000000000000000000000000000000000000000000000000007f3f49bd23808f3b00000000000000002935f4bc8219513b00000000000000006406b8bc5b30163b00000000000000009055a4bc7c49113b000000000000000072e9a7bc64132a3b0000000000000000af49aabcd837033b00000000000000007074dbbcf0ff653b000000000000000000000000000000000000000000000000000000000000000000000000000000009a234a3b0c4e26bc4d685a3c24ee44bc9a5b0a3b175cf8bbd531223caf57c1bb8ed2073b73f810bc05f7443c26e130bcdf4bf33ad06304bca640493c52fd31bcd287b63a0e3ed3bbc640373c6dcb22bc3ce6a73a8257a6bb8e30083cfc3df5bb8f45aa3a1eaad3bb1bd0043c35cf19bc0000000000000000000000000000000000000000000000000000000000000000aa69bb3bd788d7b9ca88953a805cc2bc34ed863bac2e4fb92673093bd9efa2bccd65873b6f8c90b95eb4223bc5409dbc7e84713b1f1e66b943c0083b412a99bc2ba0973b26aee0b97669263b5a5f85bcf0013c3bea8700ba60ba513b550e41bc18ef933b97e118ba20c24a3b61a648bc00000000000000000000000000000000000000000000000000000000000000009342aabcea25ecbc2b78fc3a162b98b91c2cc4bce1d8a5bcf6d2073bda871fba405386bc7119bfbca9a41c3bebd418ba8eaa08bc75c8acbc9812403b0d4600ba576f46bbb9489abcb0518a3b0beabfb9a6e5743a6cfe85bc6b219e3b419888ba879c173c7fdc6ebc412cac3b4a399cb90000000000000000000000000000000000000000000000000000803f0000000050ce503bfb36d8bce6d2833f42819cbc18452c3b9dbc84bce9155f3f4b8e7dbcb31ab33ad4f461bc283b383f42bf36bc95ab093bcae35fbcc528113fc0704dbc7997af3a05f954bcd7a0d63e57ac68bce851c43a4cb150bcc53d8a3ee31f8ebc2a12be3aaddd94bc0c28083e544ababc00000000000000000000000000000000000000000000000000000000000000005bb0b7ba8249483a0000000000000000609b14ba46c5423a0000000000000000ca7e6db841bbbb390000000000000000d8786437ae0e15380000000000000000c2d197b9bfec353a00000000000000006212b23a975830ba0000000000000000229a943a9814b3b90000000000000000000000000000000000000000000000006761ad3b2930a6bc06a5ce3c2d5859bc377ac33b9dab99bc26e0b33c8a1529bc16ffb13be7c796bc283ebb3cbccc34bc95f9953b0b349fbc30dac13cfc4940bcce52873b384797bc5155bd3cf9663cbc1dfe813b5e7e8abc7921a93cc8d333bc1a717d3b1c1280bcb17b903c049420bc07b86f3b04dd65bcc2016d3cc1df16bcf2fa403b62d96ebcdd14a13c8ec32fbc295fe83a9402c4b89dc9683b1c0408bd40a25a3b31945bb9e34dc13b3fa010bdfcd1003bf514d2b8bbcea53bbbee0abdfe3def3a0641a2b889dab43b2409ffbc092e2d3ae7742cb91eaaab3be4fef0bc8afcf13af75f3bb8e037be3b7555e0bc3023a93ae777b3b9f4ddbe3bbbe3c7bc3c8d863bf8a954ba4979d33bea4ea9bc4a04ac3a41f305ba0e36c53bd9efa1bc910b0f3c019abdbc1a2fc6bba2e8ad3aab6c56bcce31f2bc52b38fbba414fd39795570bcf993f4bc75228bbbf0d4923a329b05bcdcece9bc31355fbb0481b53961697d3a3428c8bc91482abbf5922f3a96e29e3b3ee2b9bc8a72fdb917bf503a8b012d3cbc5297bc51cea0b83822223abf79893c8b8974bc99d8173bacf3bab9d59feb3c2c4656bc1f0a5c3ab99d4f3adaf6d23b788d55bdda1b843fe3e2e33d54d9ea3b547554bd7df3733f4aa0ce3d2137c03ba6d62bbd9284513f9125b83db024c93bd06516bd0fac2d3f9693953df5d4ad3bbc5403bd972a083f47bf623dd43f963b248900bd7578cb3e6ab7113da3c9a03b8a4801bd9aa1853e97d6843c1312b63bfd7203bd4c05043efe398dbb001b953b0a4301bdb86b9a3c0289aabcf6b988bc10d2263b0000000000000000cbc379bc1f1f1f3b000000000000000029be55bcf9e6b53a000000000000000033753cbc5feb163b0000000000000000b4dd29bcf5f9043b000000000000000098fd2dbcea0abc39000000000000000052ce14bc0641dd3a000000000000000068a0edbb225a703a00000000000000006413dfbb97b91b3b00000000000000009c70bc3bff81bebc3b1be43c7b92d7bb7d73cc3b61a9cabcb772ed3c97db11bcaeb0aa3b8b69bebce651e33cd5a6bbbbb66dc23b3f8acabc8ca0ec3c434515bc1110a03bf7b4b7bcb9dbdf3c4217fbbbb95db53b855abdbce030df3cd6f812bc2eed973baa6da2bc8684c53cf20bd5bbbccb9b3b8698a5bce25ebf3cab4a1ebcdb128d3b057892bcd6cdb13c00aebdbbf1acb7bb6446653a3c76c13b3c4b12bd02bf89bb8f526f3ac907fc3b150322bdc20ec7bbe290273abd1ace3b557c10bded5f80bbed87073a0511f53bfad614bd520cabbb0c844c3a8b36bd3b057301bdab6671bbe361e0b8f258f13b060a04bd4f0792bb208aa239d32bd43b145fdcbc558597bae82fc2b90b8e023ca4ffdabc6b6d6bbb3df09338d4fecd3b011bb6bc95b6983c32bf4dbc2b3c77bc6c3a153b9993dc3bb81eb8bc0ce269bc72751b3b91fe8e3b1c9da2bc01746dbcd3132c3b2caab13b1ddcc1bc75063ebc1c321b3b107f433cc22695bcc8ee2cbc51e80c3bfbed7c3c8db399bc55dd0ebc975c263b918fa33c55dc26bc980b04bc0792f73a816fdd3c66d925bc6a839abb7aa8c33a6ab6ec3c6bd6a1bb362ca8bb6958fc3a8358c93bca0265bd8c645f3f62c6833edb7f273c991082bd68e4503fde086f3ed4d5e93b320448bd492a303fb04f523eabe7013c4ed947bd634f173fe4292e3e8f0fd23bf37b25bd7c57ec3e5437083e55c0f83b4ffa2dbd6b23b53ebee9c43d1abdc83b83011abd6aa2703e8dd6713d804f013c105f26bdc675023e68c0a83c0b15c73bf44709bde424cc3cd9c902bcb639dfbc19d3873b0000000000000000d614f7bc16b6933b0000000000000000d22ddcbceef5993b00000000000000008570cbbc06ba863b00000000000000005dadaebcc012683b00000000000000009904adbc6012843b00000000000000004dba9ebc59d95f3b0000000000000000a1d393bc7964783b0000000000000000e19b81bca0a0343b000000000000000037f4b03be157cabc8ab7db3c03969f3ad158d43b50d1dabc3467e63c3477dbbab8c7cb3b5d63d6bc3910e73cdef9d9bac154bb3b9a82cabce31ee03c748cdfbaca70b43b2305cdbc82a4e23cef6ec9ba1031b83b83cababc0da3d13c3c1431bb8bb0aa3ba3f2bdbc4301c53c93383ebb60d3c13b4d36afbc553cbf3c691d9cbb90c2983b69c5a3bcd6afbe3c5654a0ba0aef4cbc1e7ce33a1d7dc93b5e1b11bd648f26bc00e2b63ae8dd023c1f5f24bdc29e19bc09ae053b5deef33b25951abda07038bc0580c43ac7efe53be4c70ebde0a936bc7523e73a70dee13bab2709bdf6b6f3bb7af8833af95fe73b8deff8bc20d506bc33a0113a9cb3ef3bc158e2bce038d6bb88fe053a732cec3be9cddbbc39d2e7bb7681ae3ab8b1b13b17fcc0bcecb4b33c7d5abcbafd43c4bcd2bf843bd3094e3c879348bc2cc2c8bc6de7953b554efd3b1a4c87bc23edb4bc17cb693b776d083c714081bcb819a3bcb5b8683be3e65f3cea9b44bc78329cbc53f7793b1350823c4a102cbc636485bcd701653b18eaa63c8195d0bb34b467bc1aa9803bd9b9d13ca2f625bbf7835fbc68f45d3b5a5feb3cd77f003bfa7d51bc1e2a7c3b8b8de63bb2455dbd16b6373fa9fcd03e578e223c096b7fbd10932b3f6514c03efd34183c329961bde492153f8b58a73eafe9083c907d49bd5886fa3e2aed8b3e9668f93b07ec3cbdc263c83e15815e3e70a2ee3bd64b2fbd3ac0973e4bc5243e4ae7f93b16c12ebd15ac4e3e6dfad73d12ea003cc7ec25bd9722e53dbe34513d09eace3b76a40cbda363e23c5d1d303b877d1dbd8288b63b0000000000000000e66134bd3cc3d83b00000000000000004fee21bdbe5ebf3b0000000000000000126812bd2e28d53b0000000000000000c4f10abdd6e5b73b00000000000000004e6a01bd1d9a993b0000000000000000d28ef6bccf5eb53b0000000000000000d861e8bc36c9b53b0000000000000000a705c7bc74488b3b0000000000000000b1ad573bf4e3b6bcd532b03ccbf50e3c6b96b83be77bbbbcd080b23cc443d73baad7a03ba4d7b1bce9ccab3c46d4e03b4f2cac3bc5b6bdbc4242b23c23d0c73b76ff5e3b46719fbcd0cca43cb09ae13bbd3da33b6cefbabc92b5b13c5546a43b6076933bf59da3bcd7a39e3ca22b753ba47b623b5f0c9ebc8f7dab3c5a12333b02c1b43b73cb93bce829a13cc02d9d3bfe8b92bc13592b3b99a4be3b89c601bdc7f489bcbd15293ba590d13b0ebc0abda85683bc89ac1d3bf0f8b73b2cb8fcbc05f481bc9d421a3b0f0fd03b901cfebc277d81bcfb681b3b60f9913b39b3ccbcab297cbc7966093b3df9db3bb829dfbc7a165abc461ec43a042fb63bb349bcbcf3e448bccf96813aac61013c26e6c0bc401458bc914f023b0954903b10c4a9bc41d0923c3ff1ff3b52cdf8bc2fca9e3b3e17333ca59bfaba411703bdf098b13b6575e13b803eb7bb471aeebc552e9c3be9d0e63b15e0d7bb7178dfbc7d97ab3b9d92363cd4479437b3bfbfbc88c0833b2c73553cb6c689ba129cc2bc37a0a73b0c62853cbf963f3bccffa2bcdd5d8b3bf403b13c67a4c23b814896bc55d19e3bad1cba3c61e92b3c30388fbc3e0d8a3b9924e83bf2eb41bd0cb50f3f40880f3fdc98053c899754bd2c5d043fd1b9033fa749e83b9efb37bd1d29e63e0442e43e0cba013c0acc35bd914dc43e415cc13e609ca63b68190dbd98ae983e4bd8953e69c4e13b5f7c23bdd36b703e3d8d673e4b03cc3b24000cbdba80223eb40a193e59b4e23b3a8012bd6ef2b53d273ba03dd2238d3b14cafabc303bb53c720a543c131f40bd9420ca3b0000000000000000051656bd2b3ffe3b0000000000000000a65f3cbd3b3fcd3b0000000000000000cfe739bd05a5f23b0000000000000000518210bdc1a3a53b0000000000000000d35c24bd7cf4e93b0000000000000000c20010bd9e00c93b000000000000000008f30fbd6e7ae13b0000000000000000c3a7f6bc4ab2bc3b00000000000000006e9b673b442991bc8257603c8cee693c43608f3b30b489bc190c5a3c522c483ce28d823b664d8bbc381f4c3cd0b8483ce24aa63b9e268cbc28136f3ce77d3c3c8529493b39028ebc9921683c5024413cd7ce803bed1980bcbaf25d3c7ca31e3c26bd6c3b48a078bc5e93543ca4fb0c3c891d7a3b5c7f76bce068563c45d2e63b92e1553ba9ca68bc450b563c2518123cbc2da5bcae84273b7c8a9a3bafb2d4bc6c0196bc74d7133b89b3b73bdf77d9bce41999bc54062a3bc970953b3e7ad2bc84e991bc9e84063bfea09f3bc799c5bc185595bcf5e7d33ac435d23b58e2bcbc930684bc1fa8dc3ac41ca13b4249a5bc5cf569bc2cd5533afd13ad3bebca9cbc934653bc4d60043afbb4ae3b1a5b91bc08c56cbcebdcae3addf7903bf04c83bc3622163c206d513cda1e0dbde6cbb93bedfb013b1b2267b9b0b818bd0279d93b790739bb497781bbc03412bd58f8c93b27a909bb090e95bbe9e303bd0d7eac3b0208a13a0904ec395cc2f8bce392e13bde0a613b1f9a3f3b0682dabc741aaf3b8961ce3b21aff73bd105bdbcd98bb23b6d4b2a3c0e91453cad47aebc2988b23b2980643c03778a3cf158a3bc104ca33b43a3a33b469821bdff99d13e13b4373fdee2f63b2fe036bd9cbac13e2fb12a3fb9e4f33b295c23bddc17aa3e7ed5143f066dbe3b72e513bd26028f3e3fc3f73e59f6c83b64cf09bd36af663ef546c53e00afa23b524001bd5c5a2e3e3dc7933e23fbb93b3f4bfabcd5f1eb3dca32463ebf03c33be662efbc798a7f3d9e3cd13d1d5c673bf356cbbcf422553c2afc9c3c81275ebdbd4adf3b00000000000000000a6a7dbded95113c0000000000000000a5035ebdd72f073c0000000000000000c2fa4cbd50e4063c0000000000000000f08d40bd5f0d0a3c00000000000000008f0b35bd6e8eee3b000000000000000077e232bd86e5f83b00000000000000008b742abd119c093c0000000000000000eb2f0ebda8c4d23b000000000000000048da4b3b503126bc3570893bcd4a843c669f3e3b90321cbcaed8263b1dca823ca78b403ba30122bcebe23e3b121d893c86a92c3ba1f726bc81e4693b36d5823c50ea1e3b753722bc95a48c3bd54a7a3c3583543b61102ebc8b52923b93db5d3ccd96233b0b7b21bc49b9b33b1ba03f3cf2bc033b83f8fdbb36258b3b2177163c6ad5203bed4810bc781ad63b02a1273c4def95bc1ae50c3b14ac4c3be5ae91bc45c88abc87a0273b8970823bc25f93bc332c8ebc08561a3b5c85513b60eb84bcbcaa91bcb1aa0c3be22e6a3bfe3c7dbcd5ba8bbc7603003be23d423bc45161bcd0b87bbc8194933af14c1e3be1f648bc07d46cbc5b70ca3afd2f6f3bf6e045bc8dd545bc25403a3aed8f673b15bc18bc4af151bc229a0b3b0c484d3ba4091fbce30fcabac3ea2b3cc87d0cbd3b14b53bae9524bc3af73bbb91f21fbdfbddcb3ba00031bcf7a679bb678e0dbd44ebaa3b8cee37bc92daa8bbec7e0dbddc41c63b9f7aeabb6eea193b7574f0bc69599e3bc5e5eabb3d6c8e3bedb4e9bc4e319f3b3b6edfba7747213c5646c1bca248a83be81922baef56803cc2a3adbc148c863bcb09a53b0d37a53cf11595bc1108ab3bc3fd903be53be7bcfea2843eaaf65e3f47a2b13bfb35fcbc104e713e8c82503f0b229f3b6ba9d6bcd76d563ecebd2f3fe86d9a3b9e45cfbc2db5343ebe55163fe6c57d3bb10ab0bc73240f3e1a11ea3e8f4f963b8b7dafbcd196d73dbbddb13e0c47843bf5faa7bcd06e903d54ce6a3ea2ae863b8e829cbcc341053de296f43d8b92463bb5a38bbca9aaf939fccd983c6e0461bd32e8c43b00000000000000002ad580bdf855fe3b000000000000000046124dbd70f4dc3b0000000000000000dbe24ebd8019f03b000000000000000058152ebd7381cd3b00000000000000004ee136bdd104033c000000000000000067d121bd07dec83b0000000000000000b19a2ebd3ef9013c0000000000000000450611bdf1b2ad3b00000000000000003129c13a37d845bba0d7a5bbf6159a3ccdb19d3a982d19ba3236a3bb032f583c8a429c3a5df107bbf8dc82bba8a97c3c70b85b3a5c0e0bbb2d7fa0bb03f47d3cb424893acf233ebb7d668dbb9aca7e3cd6d5bb3af61ef7ba9a5382bb8bce453cc4a1853a2b6b42bb0ec81abb28b42b3c3bf9263a7113a7b9960e21bbefb1923b8073203a8a080fbbae8ef3bad78b383cb31485bc91a91a3bfbfdc43a5f680dbcea4729bcf4f4ab3a9f7f9e3a632ddbbb23d644bcf4991e3b049b953a8f0ce4bb4d6157bc2a31fd3a246ac53a64cdb5bb255d62bc3aa7003bec1a933a64fca4bbe41e45bc0e3ace3a86cd8d390b876fbbc66f13bc9284ea3940f0513a59bf19bb112bb4bbbdcb3ebaf02c7b3af88c8fbaa1d637bc367ac239da859b3a2b2b3cbb85d97ebce347963b79860ebd71348d3bfe77a2bcd93fa0bc7ffa0dbd6419a53b4a91a5bcd60fa4bc4d210abd96797f3bf727a2bc446a6fbc940401bd8562983b3f1b88bc4694a8bb5df7e5bc94c78f3b93cf81bcded245bafae3d1bc48ea8a3b194643bcc871983b11e8aabc0b4b8a3b33a51dbc4fcf213c2a6280bcb9ba8e3b23b7b8bbacfeb23c5f9984bc148a8b3bee40083bb6a97ebca257e33d830d843f1aa12c3b089579bc6423d33dea27733f50d32f3bbf0561bc6af3bf3d81bf503f389e2f3b089337bc1c2aa13d0ec42c3fbfe4113b04dd2cbc446f7c3d375d073f996ef83a7e6821bc0665323def03ca3e9882223b24cf19bc94b4c13c626f833e757ab43aac8b04bc8e60a33b883cff3dd3451e3b55a917bce0ce37bc2a4a643cdc2157bd40dcaf3b0000000000000000f6c053bd1ef3d63b0000000000000000741830bd7108b83b0000000000000000fcf71cbd4a31a93b0000000000000000c69310bd3cc69a3b0000000000000000056c13bda847a23b000000000000000072e711bd6fb8ab3b0000000000000000018013bd6183c13b0000000000000000131e0cbd3104b13b000000000000000000000000000000000000000000000000bfc955b9b490853bc50f35bcf4363e3c7303a939551d893b941b15bcaf9cf63bde54b2b8be660b3b72c50abc1ee3103cdc3119ba116e363b723e12bc49fb283c187da3b93faa2f3ba1f007bc85db053c0a71ccb9c5af8e3b9afa0fbce68dbc3b78e423baf029563b9679f7bb67ffc93b00000000000000000000000000000000000000000000000000000000000000002d3ac1bbafb9963a87ba22baad137d3ad75c8bbbd870993ae2dfb6b9ffb7153b7615c7bb6668163a182118babc74793a38facebbd5615a3a554f91b9a07e1c3b016a83bbdd52b439faeda7b98faa2a3bca4e43bbe409ccb96e9c1cbac7857b3b8bd21bbb0f1223b9dcc63a396c4b6b3b00000000000000000000000000000000000000000000000000000000000000006041bfbc7f6bb1bc78e5cdbc04dceb3a522bacbcc0b3d8bc364cadbcc5a2063b4c589fbc532c9cbc180ba4bc13e00e3b4ca293bc4f631cbc5a428abc7766cb3a7a1d85bc6f67c2bb35407dbcac30ff3a105783bcfe93afba03a73bbcc195033bb93045bc65bef73be35636bcf4fce93a000000000000000000000000000000000000000000000000000000000000803f617a1d3a1683a5ba4eae8dbc279b833fbe7bffb8e60b333a1c9225bc791f5f3f886e7c37cc8f5cba433908bc5967383f8030093afd1799398b5310bc3cf3103fa537e138c7164939a6eb15bc9575d63ef76067ba54e94f3a430160bcbbfb8a3e38ec1dbae584d239ea8888bc9efe063e0000000000000000000000000000000000000000000000000000000000000000198cd7bc8be30c3b0000000000000000a5a999bc6fa56939000000000000000036d984bcfa5bdf3a0000000000000000249773bc7d99ae3a0000000000000000fed488bcdf4bbe3a00000000000000007edf8cbccda1893a00000000000000008a47b0bc67fdff3a0000000000000000000000000000000000000000000000000000000000000000000000000000000091a0d3bb4ff2183c6007183d05ada33b58bb87bbfd291e3c8b95113de0eef13bf85514bbab17263c2435ee3c25b71e3c554314ba3e9a243c813cba3c7bb5003c1b019f373143f83b198b7e3c39e9a33b207915ba0989b43ba91f1b3ccce9933b80cee7383c68333b2a116d3a8717d63a0000000000000000000000000000000000000000000000000000000000000000d2c955bbdf18e5b92a05533b442265b9eeef69bbe42f89babeb4283be839d0bb585d23ba1fd3c6ba3ba0b83a516b65bca9d8fcb642a3e4bab75e5eba6ab36bbc7741cb3a0239a4babfee38bbac1536bc7e119335b8e992ba91d57dbbdac5c2bb8fae7c396fa44ebae42e9cbbff2e0839000000000000000000000000000000000000000000000000000000000000000079ec58be7e8a7eb941f1d33bb194bcbad39754be93dfb7bbbb29f23b92c48139e61441be66c76cbca7d5863b1820dd39c98b1abef3697fbc51c9673bec91143a1ac7dbbd780d49bc159a9c3a4560d33a894281bd5596fbbbdd70ce396711b83adb8d6cbc8e7d25bbfb68f6b9fbf0d03a0000000000000000000000000000000000000000000000000000803f000000003cec9d3c89d0e3bd5391ac3fff89e0bde06e473ce9d38abd87578f3f7d518cbd7660173ca9e939bdb5436d3f65f64abd50d9013ceb6501bd5ac9313fb8d60cbd2562e43bb95390bced7bec3ec4bec1bcde2ab93b39634cbb46ee6d3e6250ffbb474f983b1a16343b1a327b3ca751d5ba000000000000000000000000000000000000000000000000000000000000000092da6d3c187861bb00000000000000009dca0a3cbb683cbb00000000000000004eabb53bfd8169bb0000000000000000de5d953bea3415bb00000000000000006a4a513b3cc69fba00000000000000005bc0083baa0244bb0000000000000000ce825d3b194642bb000000000000000000000000000000000000000000000000fbdae5bbaf4db03baad8a13ceda6a43ad8bb1dbc9c54073cd01c1a3d2f53b13b728dd4bb691b2a3c9da8273daa86203c88b280bbd30c363c08bb123d1600433c5def4ebbc1ed0e3c6c35d53cf7542d3c1c1217bbea68053c79a9a13cb648093cd547acba0953a13b2997393c138aa63b3f5ec1badedd283b5b1d613bb8e4193b5c164fbb4df2053b64386cbba4f2773a36614cbb08ddd5b8d436263cff0f04bcb476a3bb08d00cba0d16a03bce6f1f3c595f51bb196fa8ba8343a43be811a9bb22b45dbb760dcebaf343703b88cb3abcf323d1b9299320bbf2480c3b1caa59bcec90a5ba6a859dba12cbe9ba931308bcd3cc0b3a3fe7faba96e96ebbe49c56bbfc54143ba80f00bb552ecabbbf9d653a24a643ba85825c3892d874bbbc69a33b4d76ebbd1d500b3aa14d953a1c15a6b8d0914cbeaf98003cb7e3d6bac53dc33a990d5dbe1a297ebceb60e83a32657a3a362d4abe67fabbbc7488353b0a2ec93ab84e1ebee0babfbcbb93063b0d4bb93adb1fecbd97f39bbc849c6bbaa2241d3b165b83bde42745bc3f6d25bb655f063be5eba0bc7cf3adbb7b9e84bb20c8143b54b57c3c8878833b9002e0ba121a2c39f3b8163d01d94cbee98aac3f5a97913c24f1253d7f7241be7351a03fa4f48c3ce88bf83cb80d18be93a78f3f0683ed3c5781cb3c37a4ebbd8a476b3f85c3113dfa84b23cc5dbaabd8692303feba10d3d4e29933ce47769bd0ed7e63e392b053dcf85613c998ff9bc26a7643ebe41e43cdac3083c4e486139f40fd13c7dbbf63c1c852a3cda5f16bc8efedabdb969bcba80d57dbcb7d3823b00000000000000008aaa45bca10f273b0000000000000000fa897abc1239033b0000000000000000c31e75bc3a38b03a0000000000000000960863bc3725f13a0000000000000000e2fd27bc26abd1b90000000000000000c6391cbcdc0a953a00000000000000007d5627bc6f8ba03a00000000000000005e4733b98cda1cb80000000000000000a0a1ddbb737b4b3b46d44a3c44299c3b2b62f0bb79a7e63b5da6df3c1c2a1e3cb0de96bba710133cbd30f23ce9a86f3cee504abb2bfe193c317be03cef3f7f3c2f49b1ba7d43ff3be571a73cb0014a3cd90ed0ba2dfdc23bf53a743ce458243cb5a41bbb1087d33b088fda3bea04eb3be8a99cba919f223bd4f9ea3a10e1583b327911bbb5b7273aba8f4ebb5018aeb9c06a6fbb765d36b9a548463ce9117dbc02d26abb814e0ebb88d0253c46ec28bc10cbe0ba9bc92ebbe843073c321790bc0f08b4ba942c3bbbe46cbb3bc5b286bcdb14e23954e822bbec9c4c3b6cab90bcb0d02a3991882ebb4f7a0f3a12e523bc0a99933aaba014bbce5df5baf568debb4a8c483a33cd13bbcf0095bbb383f4b91251173b3e1b03bb07cde2ba48155e3bf70789bd14a8febb4a4ea2bb98e00d3bc93a17beada3ddbc5a35eab9674ce03a5a9f28be5e4941bd8a5704b99d44333bbb0224beaa553ebd8de941baef644c3bc41bfbbdbb4728bdec2f55bb66588b3b89a2bdbdf43f0dbdb7ab0cbba0f10a3bf7d352bde397a4bc10654fbbe7723a3b16ef87bc1b6300bc647d64bb638cdc3a1ea11b3cbfaf893ba8e94fbb6d28df3a1dcb1c3d5cac49beddde8e3f0fb16a3e25a8393d1bb154bea9208f3f635e543e89b80a3dcf7127be14077c3faf354d3e191df83cf4e80cbe377b523f8a162c3e3da9bd3cbb7fcebd37101d3fb366093e3f93c33cbc279ebdaca3d33e201fcc3d41ffa93cd42a5ebda425623ead856a3d2f5c853cd04be4bc53e1393d5437db3c7bba583cfc0ba1bc127c6dbd962508bc063972bd7a97413c0000000000000000267f70bd09625d3c00000000000000007f535cbdaf102b3c0000000000000000f4683bbdcc890e3c0000000000000000e34113bdaa0dc93b000000000000000025d2ebbcb47bb13b000000000000000020aeaabc2d5c733b0000000000000000123758bc6070653b0000000000000000b73ee2bbd60d313b0000000000000000035dfcba431426ba74d01a3c03cc013c0cf1b4bb80a9d43b6361a73cd7cb7f3cfc6889bbb8cfdb3ba882d73c43969d3cac4e06bb7770ce3bf0fdbd3cb6b38e3c797597baf51e023c2dce883c71c0803c934415bb12f2c73b58865a3c53a9473cd9c2bdbacbfe863b4a6bf83b7286cf3be98364bb8d90693b4fa4053bc3755d3b1666b8bad9751e3a04e40c3abb66e1baf00c19bbca69e4badde7493c3997e6bcf3a212bb855c43bb8ab82d3c6d869abcdee878ba863278bb56aa043c853a93bce0a78fb8f3c857bbd0f59e3bc61fa1bc572d023aa1615bbb81728c3b4449a1bc4cd6ee3a480a2abbc82b043b569f52bc24cfd73abbd236bbdf14fdb96e1915bc1ee95b3adf521cbbf52006bbbd9609bb16ad31bac3ce8fba506204bbd3f949b680861bbd8440cabc9c2f35bcf4638e3b687ae0bd61c578bdabc643bbcef0983bdfec06be85799cbd3a13d3baa908943b1bebf9bd1a3198bd454999bbd953a13b2b7ed4bddf4586bdf4cb98bb3f75a63b847d99bd64b343bd49909dbba7905a3bf11c38bdce14f5bc77776abb05301e3b39747cbc1754c5bbd14948bbf2ac7d3a9ceee53b5ff9c23b8a0aafbaef211b3a5ca3053d69cf34be954b6b3fc687e83ee53d1e3d4d8940bef9746a3fa2dde03e0ffe0e3dd5be25bee444513f684fca3e7792f83cd54404bee58b2d3fa8eda73e510ad83c04a5d8bd8db4053f44b1833e4777b83c491ea4bd1cc7b33e307c353e51e5ad3c52b767bd24d8473eaadecc3d97d68e3cd5a60cbd673b5d3d99f3ee3cef3e7e3cbe06f2bc1b3e0dbd5ef1babc2562d4bd1329aa3c000000000000000095ece0bd1144bb3c00000000000000003fc7c1bd63b6963c00000000000000008a609fbdbe7a6d3c00000000000000000cc582bd41212e3c0000000000000000374946bdbd4b1b3c0000000000000000c0a10abd449df83b000000000000000049fba9bcb3afcb3b0000000000000000787a45bc4dcea53b0000000000000000ccdebcbaf2e4daba311ffa3bca80213cd6751abbcd44fe3af2dd8c3cef8c923c5f07f3ba8785573bd5bea63c2e0ba33cd8c3d5bab7fffd3b2670893cfb03bd3cd656003abcbb453bcf964d3c17cb423c95204a39e0e04e3b37974d3cf40e403c761a15bacefc253bbe9a993bfa25133cffcf5bba4a47553a6ab40d3b2e0cee3ae38600bb0a54ae3a6dca29bae62f00bbe441febac15329bb26722d3ce51bcfbcadb0d63978a77bbb1184003c9b8e94bc2f46223aa36183bb90afea3b5528b2bc44a1253b18442fbbed06b03ba1cd8fbc17bcb23acde608bb0872193b76699abc2a642a3aa97ffbba7290183bdd4d4ebc5c7fab3a88f519bbae1bc13a79b521bc6dd92f3a14841fbbb74548b902c0a8bb44421b3ade5d27bb8a33013bed6e40bb896bafbcab5b23bd31e182bc03f90c3c9dd792bd2e83b7bd6f2cd5bb9f04ca3bd9b8b4bd5c79ccbdc1fb12bcba1ff23b4092c1bddebddbbda5ba03bc2485a63bd18d84bdad588dbd1bce4fbc1caccb3b76c973bd55b582bd934cc9bb3957843bc584f3bcef8006bd4758d8bb5e02ce3a354a23bc57a330bc9cf1dbba89424f3a9fd6eb3bc7fe1d3cc2e201bbb291cc39c129cf3cd62213be2dda303f8414303f2121083d97221cbef2592e3f70e42b3f7b9ad43c9f94ffbd0c0a1c3fd483173f9a3fcd3c1a52e7bde162053f1402003f5083893c4b5ea0bd9caac53e40bbba3ee988a43caf9a92bda354903e725a833e17738b3c73e052bd9cab233effab083e6f146f3c79d710bd64386a3d8e0a003d617f5c3cd5d5e9bc244e8fbc4b7214bd692b13be04aacf3c0000000000000000827319be6b9bf63c0000000000000000085ffdbd06aab23c00000000000000007f72ddbd6447a13c00000000000000000f4797bde6026b3c000000000000000004e585bd73c46b3c0000000000000000d68130bd3e60373c00000000000000006cd8c3bc3be80c3c000000000000000062c58cbc2018113c0000000000000000bc8bdcba4c0188baa58ae63b1b94383c8ee005bb55411c395329543c805cb13c6519a2ba67b9583b5291923c5499e03c7b2a74b8eaa80e3bca1b863cb678cd3c0b2a453a2fec233bf701583c401cab3caff563b9bab53d3b77bc2e3cc64a663cd76a80b987602f3b9d0bb63bed610d3c586ceabaa21a373b81cce63a9cfd013bad6793ba01babcbaad8301b9fdf6f1babdc6ccba71a482bb7892063cd87da9bcc508573b61dfe4bbe49db13bfe7d71bc8313873b9520b2bb4eed673b27945cbc6595a33bd108b5bb16a6c53ae24170bc472aa93ba286a2bb44ae543b909941bc1d43803bfbac80bb0b0f383a647629bc2757473b38fc76bbc175d1398cbe18bc4ac8573bda8e6bbbba11ab3a48f1cbbbba3c953a977c20bbee0b083b735cbfba45c708bc1b1670bda25852bca1111a3c536833bdd1a2fdbdc0661abb9521023c4dbc86bd463116bec2f3adbbe74cdc3beb8384bd408c08bed5a101bc97c1bb3be63f78bdeb6de2bd318008bc2f16c63b0fe735bd4283a4bd732185bbae6d2a3bae43dabcfb3d39bda3324bbb76c9273af0e121bca76b33bcb37bfcba385cd4ba92cbc03b9d8a263cf2ae76b99bca98ba3028ad3caae1dbbd7fc9ea3ee8a36a3fa215d63cd51be3bd6e36e53e909b673f5fbdb83cd3e6c5bdb91ed23e668d4d3f1febaf3c027ea6bdc20ab33e7c36283fb4c08e3c47468ebda603903e1ce0fe3ef852883ca6855bbd25624e3ecfcca73e44f4653c9f2c2cbd9f93fd3dc78d2b3e0ddd3c3ce454f2bc73c85a3d1204e73c4b8df13beaebabbc8803dcbba3015bbdcc3133be1245fd3c00000000000000008c2543be313f193d0000000000000000fbcc20be886af33c0000000000000000d71602be5c3bcf3c0000000000000000b32bcebdea1f9f3c0000000000000000252697bd0f72823c0000000000000000e92644bdb90b6d3c00000000000000004f92bebcfaca363c0000000000000000c0059cbcab12413c00000000000000004bd61cba82af36bba331813b9413783c9ded863966d1a7ba31c7273ca5e0ee3c398887ba13f79b3aafdb573c3b41043da291603a2a2ae83a337e483cf8f1f73cb3204dba77b65f3b3f422b3c9aa8b63cce065dbae30f633bee710b3cf7e3823c19af61ba215a323bdb0da83bd95c0d3cc2ff76ba7fd0143ad46d5a3b7a619f3ab7062fbab6bdb1b988661bba1fc501bb38039a39f091a7bb1b84913b557755bc6711653b3ec7f1bba1d3bd3a01701cbc30edaf3ba244f5bbd26bf839e36df0bb96ffd53b7187c7bb55524339b1daffbbdc0ca13ba0099abb90c2d1b990dc09bc66bab93bfd5780bbb0662a3adcc914bcb6fc6f3ba8507abb00742a3a4f80e3bb67ea363b9a0546bb089ce23a1f00bdbb42fe803a335918bb6176b33a194f47bbaabc903b821aa8bdc8d85bbbb691e43bb64d99bc9e6029be80cec43b2c4aa33bdac924bd608e33be688a8cbb9c35073c3d2328bd8ece2dbed757bcbbe72eb53bf22424bdccdd01be4e2017bc0e18dc3bdba301bdbf6cc6bde568bbbb2c56a13aa000a4bcad1d58bdb7633abbdbfbbe39afa405bcf6d081bc9743e139b89bfcba0071bd3bf161233cb685f53a88b80abb3e4b4f3c036b74bd5ff26c3eef798e3f8233753c043a73bdd2dc603ebc568e3fe471763c2b0860bde78b5c3e1347783fd20e593ced9049bdb8d6403e160f4e3f8572313cb8fb1cbd34a5203ecfd0173f87d82e3c502c05bd92bcf63dc56ac93e9b340c3c21b7c8bc006ca33dbbac4a3e89a6df3bcbd1a2bcb4fa3f3d56ffcd3c9d23a33b8bd85bbc034f933bb50397bd67a647be07ff183d0000000000000000518953be12312b3d0000000000000000a86f27bec43af03c00000000000000000d9e0bbefecad43c0000000000000000aa41cabd1be29a3c00000000000000008e4094bdae768d3c000000000000000030e73abd93c7513c00000000000000003b0c7dbc7437e13b0000000000000000bb7eddbbc953f53b000000000000000049e3b83adc6b2abba984253be658a13cd0fe523a8baf77bb7bffc93b0e57263d2eb7823995392aba2c432d3c090c2e3d02b433b8c83b34b94b8f5a3c85da153dd6e6a2397919d13abde6233c7e86da3cb005cb395dd5e73a2c72fd3b346fb63cee80b9b9401b143bfabb993b4311413cd95a98ba0134d93a7c15363b1838243b005e19baadf83b3aa4d607ba49558ebb6e87ed3afe9cd2bbf9493eba0f2f22bb001b693be71e29bc04395db85cdcbfbb253bba3bb401dabbb3ace9ba935c44bb93f4fa3b1e8dd2bb1520e3bac80b36bbd701043ce9b2a4bbf22a8cbaf6115fbbf912b63be17e67bbb10e89baaa00b4bb6070983b452041bb35c5d53ac7d0e6bb6b235c3b6de316bb7d72103b625edcbb8b56dc3acac200bbe355dc3a871106bba02ac33b76b6febd00fc323b1f26b83b447a0e3cd34e54be5adcc23c6a610a3b11167ebcc81264be260acc3b5bb57a3b5a99b9bc96a94fbeac4523bbd3dac43b3fb0c2bca34223beeaecadbb6d73553bfb6f97bc58ebf1bdff094bbb27ed793a901f57bc8c1984bdf7a751bb34b128ba8373b6bbaf8389bcda49afb92ee26bbbfc905c3b5e1c873c70dc4d3b4d305fbbaff28b3b77d981bc544a903cc07fac3fbdbba23b9d8f50bcafa1d73c9e7a9f3f5128a93b3c8d7abc5ade2e3dc8788e3f0b23dd3b0d9f75bc2e66463da4e3683fa84c603b85f45abc6c3b4b3d2bf62c3f0123963bec753fbca49e3d3deda8e03ed718703b6e371ebcd8062c3d3b36573e2b781c3b9fbd33bc88e7283d62393e3cd0fe0839c0a555bba51caf3b8672efbdceba4dbe9702173d0000000000000000991543be6ad5183d0000000000000000b8b11bbe87cada3c000000000000000068c0ebbd982f983c0000000000000000b064aebdd36f613c0000000000000000814861bd34b1383c0000000000000000bbfcdabc3c73ce3b0000000000000000183a153c00b485390000000000000000f61c5fbadb6cb83b0000000000000000000000000000000000000000000000000552d53a454a82bb8e75fe3b8f001b3d4da9f33945fb073ae43a0d3c6d42133d5e5584b92c95b03a873a2a3cdfafeb3c016daabafd968f3b7518ff3be710bb3c455006ba9660173bc329f23bd4927b3ca8d735ba423f123bed26963ba18b1c3cf3e224ba0b32023bf49cba3ae3e8b03a0000000000000000000000000000000000000000000000000000000000000000a25aba3be898c8bb670a90bb14a5d03b1bf10f3c57b6bdbb113271bb1ff56c3b847c253c2d1c7dbbf9d18abb84a3743bafff0f3c3d4334bbbe8837bbd9fe9a3ae771d93bd3f916bb912e8fba20bb39bad2939b3b3a9acbba0121c1ba7ad12bbb3be93c3b00b2fdb89b3f663a3e4b4cbb000000000000000000000000000000000000000000000000000000000000000038e794bbaacd5cbeaa4c153cf45e8c3a20982fbc4bbe56be1e7f50b92d8e203b5f99a4bc474740beb09c12bc034cdb3a8374a0bc45361abe1a5532bc4289e03ad43687bc4493ddbdffae07bc93ba85380a2514bcdfd281bd28c07dbbf2f65eba789621bb305281bc955577badc5b3abb000000000000000000000000000000000000000000000000000000000000803f03d5a9ba0d7c873c2713d5bd9c9cac3fcdf3b2381004363c817879bd0e078f3fa2b8abb99095ee3b88bb23bd870c6c3f4748963af3b8c23beaafddbce29d313fa268a43ab615bc3b2adc63bc0787e93e8aa33eba8d07ac3ba577c0bae7a76a3e81586dba98e5a63b948d103bdb7e693c000000000000000000000000000000000000000000000000000000000000000048b1f0bd811b8c3c0000000000000000475c94bdb6bd193c00000000000000003f435abdac19ce3b0000000000000000f90013bd017e823b00000000000000000e32b1bc02d9dc3a0000000000000000faa4cfbb532e613a0000000000000000a71f3c3bc8a78aba0000000000000000000000000000000000000000000000000000000000000000000000000000000078d1d8bbd254803cd0e19d3cbdd1323c595489bb790f6a3c64fc9b3cecfe673c6ec351bbb9856a3c2344803cc587373ca0d014bbcc62383c35e82b3cc0fa2e3c328c01bbde38313ce5f0b53ba6a7eb3bdf8e2bbb13f1ff3b00ec2e3b1380fd3b801ae3ba2898ac3bbc9d1dbb1003573b0000000000000000000000000000000000000000000000000000000000000000ef4792bb7793ea392c6aaf3bbd5945bcc90266bbf8ac74b9e442213beda237bc1ed5cbba310541ba525d163b2ea9a0bcece61dbbe3aca63a62d70b3bc2d088bc73f791ba164af1b73bfa38ba652438bcf000e6ba14e321396737cfb8de1c2fbb7a981cbae5913b3a701302bb73dc2f3b000000000000000000000000000000000000000000000000000000000000000030873bbe8c1a4bbcac9c093cce676fb9b4633abe21b669bcf62ddd3b69716139170b21bea423a1bcbd0fbf3bb58e2c3a87ab02bedc379fbcd5d6c43b700386ba6a75c1bdc9fe20bc62d47e3bd9e704ba926278bd7259b9bbe6a0f0396749eb39c386aabcf9df5d3b3bafcbbae5c9563a0000000000000000000000000000000000000000000000000000803f00000000210e573c101bc0bd407fa83f7fbeb2bdcfe3143cd63669bd235a8c3f1eb364bd2dafef3b895f2ebd779e663ffa682dbd8c4bb93be9c9f7bc726f2e3feeeb00bd7dfbd43b1cb5c7bc4e9feb3e6ad6c6bcd13b6b3b908852bcc78a743ea00b61bc5bf78c3b54c23abce810143deea57cbc0000000000000000000000000000000000000000000000000000000000000000c72b133c5c2138bb00000000000000008f7fa43b183c49bb00000000000000007c4f933bcd7131bb000000000000000066f5723b900813bb000000000000000035a46f3bae36a8ba0000000000000000ea986c3b98f5b2ba000000000000000095d7d43bccf92fbb000000000000000000000000000000000000000000000000da80a9bbeba2e43b164e403c88cc973b0c271cbc12237a3c2dcfc63ce422563c1b2fccbbf148443c9ab6eb3c643a463c484dbabb97bc593cebbdbc3c30a8763c6df957bbdf42213ca5dd863c913f483ce1d992bb0b962a3c1097353c671a253c6f9612bbf8b9ac3b8b7ffd3b1370b43b36f185bb3ea6c53b0272cbb981534a3baed646bb69a5643b731ecabbce6e833a73d2afba0a667dba4181363cd3ddc9bcafc5eebbdfdf79b963d0233c27c405bc636a83bb280a8eba5dcb153c48f599bc665594bb38f3e4b9b3a7033cba7bb5bc251411bb1104b8bad323af3b1cc5abbc553bf3ba56942cbafdfd813bf89378bc01e878ba4aea37bab2911e3ad4bd09bc09e5cfba2830a1b9c8de0fbb64a5133b02dd7ab8cf319ab9e7daea3840d0c83a79e6bcbd30e959bcdbdd853b734a5eb958b33abef06501bcacf7933bb33db63ae8263ebe1a0dd1bc1ee28b3b1a426b3a14992bbe965ffcbced51bd3b485b95395c0a04beecd5dfbc24f9553b563aa73af0dec5bd8138a5bc7745d73aac031b3a3e2560bdc29638bc0866093914a7993a30468fbccef14c3b473c73bb3974aa3ac61f663cfc2de73be56dbbba3a1af639c873c93ce79225be96e6a73f86eb1c3d0946d93c45a823bedcb29f3f29f7013d00b9ac3c10b501be383b8c3f868f2b3d752a8f3cb34fc9bd7981653fa23a2a3da4ea873c62539fbd06962c3fbdc00c3d10307d3c10507abda435e83e3d38b53c49c9623c4ad32dbd3b7e6e3e290c733c02ba433cb6369ebcb041ea3c2cbd5b3cd7874d3c71fbf0bc165fa8bd16c792bcfa068ebcbb7a5b3b0000000000000000266c96bcbdff133b0000000000000000dc4c70bc33900f3b000000000000000032c366bc6c90c03a0000000000000000742438bcb1307c3a000000000000000008b803bcc266623a00000000000000001c0dbebb1dfc17b80000000000000000a9395abbded2243a00000000000000008458343b53fb28ba0000000000000000f6150cbb520333b9f4195a3ce9b6153b556da6bb2824cc3b7d68a43c5f40103c601f34bb6587ae3bfbbdb73c1a75353ca2c2d7ba520db33bf57fad3c5b68443c72a9e6ba7caa4f3bacde873ca5e70d3c503601bb0a286a3bb0e3513cf1c1e73bc35250bb3993a23be5d5a43be48c6a3b08864abb60594a3b06d9a93ae84a9a3ab2bcfdbae3727eb91ecd0dba50f952ba7af39db9ac81eeba6f81523cae140bbdd929d839fb7d1abbb84c593cc05ef4bc0282913ad19928bb54ef283c759809bdcdc18f3a3fe63cbbb70a193c29ddfcbc6a4b9439260ee0ba8f7d053c3567f1bc7761db3ae7f30bbb7327b43b9737abbc5cc1d03a6f1001bbf982aa3b22778fbcc247053b8bc620bb031e063bc7dd05bc08dc07bacc5367ba1c41473ad2ce92bb6e5038bdee19a5bced31a1bbf621f93abbf7e8bd280e17bd43cf0fb7313db23a7ef0f5bdfc9c59bdadbc423a9febbc3a9b0df6bd450e52bda41bf338966c0c3b4e74b4bdd17b36bda23b493a3a3fcf3a4d408bbdafbe11bd888b463a7fc2293a75d0ffbc5c2da9bc0938f3372bf95a3a9c7cc7bb889adabbae45b4ba4f5a873a9f6b853c14ebc33b8611843936d00139db8fcc3cfa4d1dbe6db88a3f63b4703e74d9f13c00c92cbe178e8a3f082f5d3e2de5d23c969e08be6139703f2ae44d3eb385b73c0f81f1bdba9b4a3f1c742b3e9d07a63cacdfc0bd5b4d193fb1bc023e8c2ea33ce5e3a6bdfae5d43e8640b73dee73923ce12f82bde9dd713e000d403dd1cb913cfa413fbde0c7853d8e53443cc30a7d3c231e1cbd42d714bdc421a1bc18114fbd7c56133c0000000000000000f52a55bd293b1d3c0000000000000000e45434bdca00e63b00000000000000008db621bddab5dd3b0000000000000000d9a3fabcf283903b00000000000000004277cbbcc2b69f3b0000000000000000b27e9bbce9e76d3b00000000000000006cac2abce17d613b00000000000000007604e6bb9ecf3c3b000000000000000082a9a53ab10610bc54c1913c9fb03f39141a1bbb7026a73aabd4a23c9171b63b2d1150ba993e9cb85a4ec23c6e442d3cc22243bad5a5133ae6cab13ce4710b3cff8b7cba97e339381add963ce8f7b23b1f5ca3b9b061eab99ac84e3c7650df3b27a21bbae2349738f87dea3b247e483b9b8027bb9eb0c13a7eb3323b37df06bbdb8a8bbab3cd1ebb3eb6563b7e2fa0bbdae3da3aeade1cbbc970543cfc742ebd4708783b8b139dbbf841503ce2351abd21487f3b99a47fbb624a373c8d2510bdce40943b1f3fa5bb104e133c1dca0fbd9091583b2a573fbbb506273cf027ffbc9081603bab7784bb8d8eb83b76fabebc67db073b05102cbbfb4da43b095a9dbcd73c643bf6c13cbb5e6b7f3b409763bc4be3293b5d933fbb16adaf3b02106bbcf8ca6dbcd111f1bc77ed55bc7ae29f3b0e6793bd8cff7ebd325fb8bbc919893b8d74bdbd607e9abd5b98a4bb176c7c3bee83abbd9fe191bdaabc8fbb9536973b148c88bd9e9c83bd0a6969bade1f873af40242bd800b41bd09b454bbfa25543b05ddb0bc3eb800bddda006b98e4345b999de973adbf52fbc18cda33ac62c363a18c8bf3c844891b7855c8339f0c2e339239db53c33680dbe7111613f58bde23ee4fde03c6b4919bed80e603f219fda3eb3f2c33cdacd06bea6b4483fc8cac23eaf0dbc3c2508e3bd8e85263f3b2fa03e45229a3ccdf1c3bd836c013f3e97773ec0e5ab3c97d0a8bd59c9b63ebd4c283e00e5973cbad78bbd274d533e42ffb93d27ef8e3c637e55bd54989f3d37beb33c91295c3cbb1032bd6c7715bcdf62d3bc6953a8bd6a9f5f3c0000000000000000022fb6bd4ea6803c0000000000000000002e9bbd2fd6513c0000000000000000f75e84bdc426353c0000000000000000c05b59bd78e6323c0000000000000000065f37bd51c0053c0000000000000000401408bdfc7e183c0000000000000000d427babce43bb13b0000000000000000164d8cbcbb0acb3b0000000000000000c1c4233b69a24abc309d9e3cbb9f21bad1c6be344857c0bb78efaa3cefbfb93bd047d33aa4f2b3bb8c21bd3c97f2fd3b7809303ad8ad9ebb32e9b53c71fde83bc5485a3b5876f2bb23f2853c93c2443bf31c4a3a099f68bb697d803c79e6373a98f2cb394f0977bbce79133c7ed7e6b9724697ba1ce218bb2cf6123cdc6cb5bb2b0a8f3a2db3c0bb71c8913b97e2c7bb7950473be1f981bb3b6f363cc8191ebd5694a13bce8095bba9da333c850b11bd2409cb3b1e9898bbc0b9113ce1c90bbd5033c73b4ef28ebb7a55163cd805f1bc3cee9d3bb75f3bbbe95ca83b6177f0bcb3e9b83b1f336ebb29c3cf3baa7dd1bcbec0973b0e2d5cbb56f4983bcc94a5bc7ad9483bb03461bb85adb03bf9a08bbcf9c7423b55b236bb6e48593bad1c52bc16753cbbec6718bd5717b4bc1321e13b0a082fbde6bca2bd70504fbc022bb63b54cd61bdd3eeb4bde49b82bcd046c53b4b8175bd9e53b9bd370d1fbc8eb89b3bb64e03bd2c5176bd6cb482bc5813a23b95fc05bd544b71bd53fd9bbb888c023bf49209bc03900abd996676bb1362fe3a5def953b08504ebcbfda7e3a967b87baec72c83c7bc9163b2c733fba9b539e3a71f5933cdcfee3bd4ac7293f0d1c283f2d26b23c0f30f0bd71f0263fe680233fb6689e3c3b18cdbdafc9133f19890e3f1d94903c892dc1bd55b6fe3e9793f03e08067f3c4f3290bd7876be3e8709b13ea0298f3cf19c90bd88b1903ee106793ea95a7c3c3a9b65bdc50b2f3eb4cb093e77f1713c087f4bbd17ca933d8b4b133d2d80613cefcf29bd0c71ff3a6017f2bcddd2ddbdb3fb933c0000000000000000b2cee6bd230da23c000000000000000076b4c3bd8fb7853c00000000000000003e90b2bd6f167d3c000000000000000001b680bd9a0b253c0000000000000000c1dd6bbdf90c513c0000000000000000034738bde7fc1b3c00000000000000004d350abdb750353c0000000000000000a464d5bcfee6053c0000000000000000a3b1e53ab22817bcc5f0673c6ab2883a2465863ac918cdbb205da73c1155c83bad32e439637db6bb86c7c23ca9c8173cf3f0cc3a64a791bbbf6bb33cd2b30c3c6544d23afc6e87bb02059c3c92d09c3b7692e3394a629cbbac868c3cda002d3b952bd63acc7193bbcddc4d3c67c594ba98641536c3e85abbca501c3c1c59ecbb9e4e953900b6a3bb05f8c33be589ffbbca9e9a3bb58182bb709b013c74dfe2bc3af64b3cb1f90dbc9ca6023cc5f7cfbc2014593cf601f2bbbdb5fe3b5fe2cabc678d3b3cc633cfbbd75bb03b8a66d1bc4f902f3c313ce4bbc5b0a13bb9ffa7bcd852193c2b2bacbbded0ae3ba8179abcf622fc3bc4afb7bb55687d3b5bae85bcdf4efd3bbf319fbb0a558a3b7f6072bca9c27c3bc3e474bb271c4e3b35153fbc4247dd3a0e9c4abd64ecb4bc1c30e33b34fad5bc7c39e2bde13468bc8702073ca02b31bd0e1602be1c564cbc08bcaf3bc7e234bded46eabd1a0a65bc9bcec23b99c614bd2057c6bd8fcd31bc184fac3b0655d2bc9a7c92bd37c2c0bb6520de3a84001cbccce63ebdb42c9eb96a03a3396af6e63b032f8fbc61b7853b11a7b9ba3aa99b3c0fd6433b539eff3a7ff485b9e147613c3944aabda852e53e84fb5f3f95d08e3c15debbbd20a3e03e2c835c3f48fc773cc7f7a5bd5dcdcd3edece423f386e843ce1128ebdd4d9af3efaa31e3f080a673c41c385bd3f2b8d3e9263f23e557a503c19e356bd713d4d3e87b8a23ef8a04d3cc3ea3fbd052a023ec5c62c3e367a333cb34f09bdad92693d4138173d0acc1d3c1382fabc1a257b3b327321bdcc5d0abecc88b63c0000000000000000a22b16bebf83cf3c00000000000000001543fcbd4217b23c0000000000000000951ed1bda58e8c3c0000000000000000d37eafbdcb318d3c00000000000000007a3c8cbd7f18743c0000000000000000709853bd9b34653c00000000000000000bfa11bd53c8393c0000000000000000127be2bc5f00263c0000000000000000ee01da3a2a06e8bbe28e783c5a7a0f3b2c9a533a6dc9e2bb90819a3c6b751b3cd2fe0a3a9fa7aabb501ca83c6b14603c4037833a15afb8bbb7ee9b3cf9ef363c23b78c3aa997a2bb95de923cd8f9d83b90d27e3a318720bbcca56d3ca898643b7212f339964f86bb7134483cf1cc53bbe090b1398f2799bbe6041e3c7d8ec7bb1815b6395e708bbbd526043cdcbb31bc6b7f1f3cbfb907bca66a573b962680bc1bca723c0b1a2cbc16739c3b61e060bc6c47563c35a6fcbba61e7b3bda5e5dbcf20e5c3c8eb604bcf68d783b935c28bc5dc53a3cfa27cbbb13ef103b7aca40bce0c52f3c6816cbbb4520ba3a2d4b2abc501c183c10a3bbbbfbb54c3b66af19bc2fa5f53bca7daabbabe41d3b04661abcf45bde3b94678bbb0e29123b171debbbd5a4fc3aaccd99bd279b80bceeb7113c839083bcb11914bed3fadabbd57fea3b85e3f7bc8be717be904559bc15b3d33bc2dc00bd1d4414be5a6c14bc2aefb63bd8aae4bc486ae4bd804a1fbc63fa7e3b0596a5bca8dcb4bdbe272fbb4794e23ad6bd07bca5874abd43494838d26953396c89ba3bf10ec0bc2447ef3b08e92ebbbdcb6e3cfe40503b50bdc53bd59837bbec7b253cf44d60bd2203763efe5f8a3f87332c3c83cb60bd2d71693e253b893fa69d1d3c533c3fbdfab55e3ee6436b3f369c133c96043bbd20f1413e24d2443f34f3133c429914bd38511e3ee1c3123f86ec143c18380cbd69c0f13d705dc53e57b2f73b626ee4bc5fdc9b3d87b9503ecae5ee3b8422b4bc79261a3d44d9123d47b7c03b71df8abcbb105d3b11a479bd16991dbe945dcd3c000000000000000047b028be1b98e13c00000000000000000d5e04be31dfae3c00000000000000004962e8bdec93a43c00000000000000001bfcb2bd5517813c0000000000000000b65e91bddc09753c0000000000000000624354bd3fea443c000000000000000070c9f3bc47832f3c0000000000000000e1a7c0bc186e203c0000000000000000dec0163a76f68fbbaa70123cca0af53b7bcba83a02d51bbc1f57a93ca184a03c6e7d853a6770afbbc392953c45dfc53cc6d3833ae7f0a3bbce6ca43cdcc1963c8c108c3a48918dbb62a18d3cba674c3cb10b0f3a0fe853bb1d84703c7911023c6bbd9b3a1b2a81bbc75e223c5d27943bbb8fa23ab6e884bb3c6bf63bbf016cbbdac0e4383ac2bdbaacb6953beb010dbca392383cdd0bffbb0c25a53a4c4b26bb7d1c843c52343dbcde3bb03a824e37bb713c683c1d960ebc7255ae39eaba07bb3420873c3ca30cbcedd270b90bf30bbb9e804b3c7176b7bbee215e3a7c403ebbf9b6453ce96ed8bb248903b8735752bbe387df3b9e9f65bb95563c3947a795bb966ac53ba4cc81bb0ca0c73abd5eefbb7031b43b134460bb20afb63a1ddc8bbbbe5b24bbd2b1e3bdc8cd24bceb30d83b297647ba1e9e4abe0f35213c903bbb3b85b697bc9e844fbe6e8a0cbb3ef5b73beea4c0bc36e538be8ce7f9bb586ab83bb4a9b5bc951611be7f3fddbb6c8e293bc3f282bc5a37dcbd7c5021bb42ace53a423bc2bb6fad84bda0bb8a3bb62509bb1c72f03b832bcdbcd9082c3ca3b791bbc37f183c29d4ce3b554a283c29ff80bb9ff0643bf84b96bc9fc9233d83f2a73f0ccf883b020997bcde1e263de9a89e3fbb6b9a3bfc0795bc5617613d00218b3fbae3913bffcb87bc75576d3d3bd4613fe0f44b3bb97f64bc9c98513d8474283f4e438d3bfdf454bc8df32e3ddcb2de3e5b2f5c3b9cab27bc4e4e013dfdc15c3e84732b3bc888e0bbfd60e13c581a343c4a51aa3a742398bbcd689bbbf490c7bd292c25be9a9cc93c0000000000000000fc3a24bed075c83c000000000000000082ff01bee1d69b3c0000000000000000450fc9bd29db6e3c000000000000000029759abde32f4d3c000000000000000076336bbd99c03e3c0000000000000000945b17bdcd771a3c00000000000000005b6a0ebcdb03bb3b00000000000000008f8699bc520a113c000000000000000000000000000000000000000000000000936990b698148abafb3f1e3c1610b13c13120dba91bd52ba02cd4b3c0000a93c9356ebb7980b2b39851a1f3cddfc853c8a0028bada38a83af428203c8093333cba260139c620a43a227d003cbaf6e43bf4aa1438f0c68fb98336e63b88498e3b8eaf2e39ffca6a39a4692c3ba1d997ba00000000000000000000000000000000000000000000000000000000000000003f334a3c3043d0bba0ec06bb4140fe3bb2e3673cc2c5b1bb9a488dba1224903bb2334c3c23518cbb9cd7c5baae29b23bcfe7453c0da15fbb27c8f5ba84868f3b82671f3c438e21bbbf95e0ba9c84153bc422c23b3617d7ba610deab7f7039ab9372f793b24c296ba300e03ba2655693a0000000000000000000000000000000000000000000000000000000000000000f8ff7cbc5b223cbe71fdadbb8a346a3b5ab895bc69c63bbe9e42f0bb8b6c453ba8c0babc249920be184c52bc9d8f423b6f46b5bca8d901be3b8d4fbcf47cf73a4ef18cbce566c0bd9de0d2bbbfef65b92af605bc327278bdb9c000ba820d8aba1f6faaba29249ebc08d3c33b54954cbb000000000000000000000000000000000000000000000000000000000000803fa2b7a0ba4305113cf669acbd182ca83fed7558ba912cd83bf5454abdac3a8c3f13a825baef63693b4a2614bd34a3653f826d0d3a5ef17d3b3da6ccbc99cb2d3f0c1ec439feef7d3bd97793bcac61ea3ee70a09ba5479af3b97451bbcd0e5713e263faeba3ac7b83b41893abcbc18023d00000000000000000000000000000000000000000000000000000000000000002a9fc3bde579503c000000000000000086627abda248f83b000000000000000054613dbd1866b73b00000000000000005c000ebd32598b3b000000000000000088e2e4bce7179c3b00000000000000008a396bbc6026ee3a00000000000000008ebc23bc75e31a3b00000000000000000000000000000000000000000000000000000000000000000000000000000000955fe63a402cac3b543716bb343f303c7c633a3abfd3043c23a9b3bbb2993e3c3022223bc1f3243b43bea4bbcd46013cb790c93ad78bfe3a8dbcfebb0c07d93ba4d3d03a83e8843bff0a1cbce393053c19e8ecb9395edf3b69b951bc9278233c971bb9b81753fb3b48ee63bc5f1f223c0000000000000000000000000000000000000000000000000000000000000000e1d9f83adaeeee38d62fa43a7c9fcdbc26bdb93add8eb1b9fcd18f3a0d31a8bc1a8f433badda9ab944e5a13988e3adbcfa28233bbc0383b939bfb83ac17d9abc2b84453a9e408138cf8f1a39c25e86bc547435baf7daa2398a4b953a6fc31abc1237debae5c1c5b8c409d5395febc1bb0000000000000000000000000000000000000000000000000000000000000000590cbfbd8daaedbcc165f8390b84dbb92dfac1bdc24accbca9acdc3a56428aba655196bdd51ed3bcc4a513bb66c7db39575358bd561cc3bc956f8eb865cec0b8053a27bd27f896bc046de638bfda0e39e5caeebc3dc40ebcf36f023a4fabeab9a9c224bcde7b69bb630bad3adb2aac390000000000000000000000000000000000000000000000000000803f0000000049b6b93bd74a56bd482c983f919d41bdfe52903b8b220bbdb501803f6dfceebc286b513b395bd1bcac83503f9fd4b1bc236b073b06aeaebcad0b203f4a0094bc4df6643b82169cbcfadde13e69a095bc51cb1b3be0d78fbc5642823e57c5a8bc8f48463b2a90b8bcffb4b33dd454d6bc0000000000000000000000000000000000000000000000000000000000000000563bcc3b5a0d1eba00000000000000002bc4583b0f18b13a000000000000000057bb193b5bc31bba00000000000000002419023bbfe367b80000000000000000e88acd3af36ce6b900000000000000004a72cf3a7634c2390000000000000000e9c7e93a4a115cba000000000000000000000000000000000000000000000000af37f73b75b590bc9ac4d13cee08e2bb5c53a73b6a868cbbbb0b7e3c77bcb83bd9f1d73be8e92dbc8c53a83c64754d3a4e19d13b899cf9bbe0e2483cf16a4a3b3c0adc3bb8b33fbcda267d3c5c7d68bb1b26a73b7ea30fbcfb63193c254285baf5d0903bf811c2bbded0e03ba5efdfb98da8da3ae14a28bacf81ccba8104773b4b0c843bc6fa05bcc06eb33b045d04bbcc18b33ba1f4d1ba8a67bc3ba1582dbd882e8d3b7f7a11bb6d6ea43b313d0fbdf64db63ba738f6ba5ddbbc3b5b6c21bdd3f7813b792fc6ba618ea03b918b2ebdb4d1b03b5ea2b6baf1438e3bb7031ebdde76a83b9673fdba22b1a03bcc09f8bc262c433b323ac8ba6b33993bda44d3bcb17cde3ae57ed4ba26f98e3b51cf63bccce0c03ac336faba825f913b660888bc2979f4bc32b90bbd267b8b39d9f7edb9397ab1bd416e13bd3f2e573a140d5d395e51acbd4af32ebda089e6b8065d2639ff467ebd07f135bd8abddc3a25304f39441629bd4b6e17bd4c17af3452e559380ff7ddbcf80bf5bc0b69a43a0e432db9b76341bcc297abbc89d2363be6709e387718f5b9e8fe0cbc7234e63a19f5de3936bbbc3c29c2e4bbf516993b28de943ad43c223ce0efbebdfaaa973f962c993d6a9a1a3ccff6bbbd8677903f66688a3d0363f93b029595bd28387a3f4f49843daf90df3b8c2c72bdf8034d3f095f5d3d1ecafa3b7bc74cbdddba1b3f900a2a3d6cedc53b6f003ebd479dda3e0893c53cc283c43bb15a2dbd82247f3ed4f9ad3b7494db3b421b1ebd12f6a33db2611cbcf01ee33bafb921bda161b7bccc56f7bcdaa239bc446ff63a000000000000000030f83bbc879ef73a0000000000000000b2ec0bbc4e077b3a000000000000000073e8bcbb4ada513900000000000000000d25e5bb0e9f0c3a00000000000000007e81eebba994a53a00000000000000001737a2bb57d7ae3800000000000000004dd651bb03980d3a000000000000000066b632bb72e857b90000000000000000a337323c319f05bdd2643e3d9c1994bc9415383cac27f9bc9867333d35179fbc3505303ce09fe7bc4e8c2d3dd537a6bc362d343cefdff8bc6498163d77608abc96aa2c3c090ef7bce193223df6b4b7bcba59133c3c5fcfbc71f4073dcebeaebc8d0d163c43ead0bc542a023d274aaebc646fd23be7a89cbcdfa5c43cf0d992bc971ed63ba269a4bc305ccf3c24e782bc8abdb43bd02706bb8382f23bf97f41bddef4163ca3ce39bb359e003c5eb34dbddf0e1c3c5d9624bb0cb5e73be5ab54bdfde2f23b765f0cbb6721d63baa7932bd63e0203c4ef31fbb469efc3bc26739bd8210153c8d5320bb5e46e83b7fd824bdad23113cca0a23bb3721eb3bdd7a15bd70110a3c93774cbbf18afc3bd731f8bc0accc13b065904bb3bb8e53b3a67d8bc084dc03b31c701bdbab38bbb53f4fd39a2fae4bc00374abd97828cba2c9ec7383a92b8bc18e24ebd57ec5dbbfc320f3af2b5a9bc37886ebdf93f40b920240939582585bb792840bdc397923919380ab98928463bf8fa28bd8762093bae3f2238f1e0983cea9400bda4530a3b60a96f39648fcc3c24b4adbc2905bf3b97fcb4b97fdc143d97b960bc50fa7f3ba1b81eb9b390173c94c3b4bd2eb67a3f8da4733ec10c2e3cd93ac1bd026b743f85b65d3ecfaf203c9a199cbd45c34e3f9c45473eb9411d3c1b1295bded12313ffea3273edd04f93b8d1078bd3212083f9eb7f83d19ed0c3c662c6bbd7fbbc53e6ba1a73d04f3d63b2d3f50bd051f783e8944343daea60b3c8f8445bd1535da3dcf915a3ba6c2f53b5ecc2dbd6c96bb3b85d2c6bc6d1ae8bcc32e213b00000000000000008ca8e4bc310b5f3b00000000000000008a57b1bc14eb043b00000000000000002052a4bc68e7fd3a0000000000000000051684bc2d56f93a00000000000000000dd17dbc54afc43a000000000000000079c86fbc2da4b93a00000000000000003c8024bc033bca3a000000000000000090530fbc0235bb3a00000000000000009a7c393c675127bd4fe36c3da003edbc7ca75b3c06f01fbd063b6b3d979103bdfe554a3cc8f220bd78a9693d7c6406bdfa034a3c17451bbdb1e4623d07b30cbd0581383cb42b14bd716f5a3d6b481abd187b363c6c470dbdfa19413d12970dbdaca51f3cf07d01bd39b32d3d451b0fbd98501e3c4859edbc626f1d3da69d0abd5e2a093c37e6edbcd972293d4a49f8bca10bf53ba30704bb65670e3c237151bd679b5d3c435b80bbca44003ce8ec5bbd8013633c3c7f72bb7e9e063c0f0d50bdaead733c4f976fbb63b0043cea4e4abd8c115b3c1ec95ebb755f063c87ed3ebd3055703cd01c61bb1ae1013c6eec32bd07cf5e3ceff98abb33b00d3ccfa61dbd686c7b3c39e895bb79cb033cb8600ebde8b0323c2cca64bb38d1043ceb340abddf07e13c479307bddb283bbc63b3843acc72c03a0c0f60bd74ae06bc7fb5033a797db0bbc7fe7dbde4fcd5bb0f3491b76eaa8bba76b370bd63dcadbb43f238b974b6243cdc8f60bd46aaccba7881113aedb29f3ca5423abd5a48fe3980b68eba54f2ea3c2d2114bd1b6b963b005e9639d3321d3d94b3e2bcb870ca3b223c09ba321f3e3d612893bce8e7923b9f5b59b9757e0c3ca13b9fbdcf384a3f1f7ad23eb013243ca31cafbd8a0f443fbfe5c43e9724133c39219bbd05d32c3f076fad3e91b7063cde8488bdc356103fa11d8f3e663f073cafc87bbd8444e43e118e5d3ecdcf063c24856abd6078a73e5e9f193e563e023c86065ebdd672583ee6f2af3d1e22f63bb3e848bdd0f3d93d9f61d83c11e0f93b79c230bd9162ca3c511c9fbc93ba2fbdb5119e3b0000000000000000b68d33bd4a94c03b00000000000000003de918bde2c0a83b0000000000000000d95906bd30ad8f3b00000000000000008e41ecbc29b2393b00000000000000005daad1bc50b03a3b00000000000000006dc5c0bc01324c3b00000000000000004e9a9abc0a5e2a3b0000000000000000a1067fbc74143b3b00000000000000006d1c303ca0f01dbd54e8693d1ed9e6bc2f1b493c2d2426bdf503783dd5b619bd0dfe2c3c02b813bdb555623d30b209bd87dc413c8bba19bde6ad6b3d9fcb24bd1f050b3c810e0fbdec0f423de9ba02bd1876373c61c910bdfa66593d108432bdd2c2183c144100bd3f13393d04d61bbdee4e193c52e904bd247e4e3db01a32bd8989053c9f3fe6bc23da2b3df31c0dbde345b33b99aa35bbf1cadb3b24c63abd6baf513c80ce75bbdc1ae13b8f7547bd6208313c546e4bbb412ee33b2b0831bdab91753cf95593bbe0cfca3bcbe638bd1af7053c4d860dbbd12d003cf6a91ebd0c808e3c091499bbe7fee03bc4a023bdc539783c90c37fbb44f6ef3bcf5d13bd0788893c65098dbb11f8f93b660c06bdeebb423c183079bb6788f83b508debbcc1ab033d114ef2bc95ae86bc546df73adae7963ca1bc5dbdd1413dbc5876a23a39f2173c4d4363bd5dfa43bcfbc1723aa6283f3c2ab877bd3c3c14bc5e47103b9567b03c6c1e1ebd05de3ebc62fa4b3a7e61cd3c75dc39bd865b76bb58a31e3a97a7003d3c33edbc03eda3bb812296398f3c1e3d5978d5bc9549b83beace34ba22b7323df01078bca1a2253bc91d2f3a10fff53bef4081bd17f4193fef49163f84e50d3c8d0987bd49d2113f83b10c3f5930023c1d677fbd9046003f3f74f53e0e640e3cceb766bdd284dd3e61d2cc3e540ddb3b4dda40bd7cd7a93e7f5f9b3e9f8ee63b2fee44bd961f843e970a623eb170da3bdaaf36bd55ce2e3eec89063ee2f4cc3b7c6f2ebd1accbc3d2bfc4f3d50dbb23bc3981ebdc001cb3c3fc552bc9d2866bd22ded33b0000000000000000fe1b67bd0448c93b0000000000000000a74c47bd5120ae3b0000000000000000df5d34bde9d7783b0000000000000000fee00ebd37d7823b0000000000000000c24910bdc91e763b00000000000000003bbad5bc410d673b00000000000000006ad3d2bc2d793f3b00000000000000008ea9c7bc73f36f3b00000000000000007c57003c0626f1bc0c25463da665e3bc6f00143ceab3fcbcde61603dd74624bdc404203c3b60fcbc577f5c3d675320bd2b6e083c974802bde0aa553d6dbf25bd9d9c133c50c0fcbc0e43503d0eb331bdc294043c681bf0bcf749403dd0be36bdafedef3bfed0e1bc8745423dbd743abdc9d2ef3b1d6cddbc39ad393dee2442bd6babb43b8985c5bc0e62253d01111abd7170fe3b76bf51bb44afc13b5fb21abdaaa0a33c6677bebb70aec03b4a571fbd2efa9e3cd098abbbd6b5b33b82cd19bd9a6fa23cc900a4bbb84bd63b09bf10bd29159c3c95049ebb631dbb3b481504bd7dc5a23c8b1eaabb5595cf3be823f8bccf30ab3c03bac0bb7c1bd13bced7e8bc62a1bf3cd0abd9bb6fb0d43bf274cdbc8d25863c1e6e9abb1c8cdf3bb2d2bdbc5562be3c4a1b04bd67479cbca1fc163b5d77423c384188bd561e78bc1ae4e13a3062b13b8e2f9abd9dbe6cbca77f063ba893cd3b12da8ebd427237bcc7ee3d3a5d8c433c487478bdbd0b0fbc51b84b3a4664933c4a5e43bd12ae86bb292ccd3980c6d13ccf8e23bd9b32103b52d15d39f47a083dcdcbecbc1a08fe3b63f641bacfec193d99a274bcc6bf863bc2269439934ac13bdf904bbd8db9d73e491f473f628ce63b93ea59bd5097cd3ed0bc3e3f5e3fbc3b779c46bdea15b93e2fb8263f46bed83b1f6434bd50659d3e6cc8083fe7dab53b3b252ebd59bc7f3ea0bbd33e8653b03bd21625bd616c3f3e6f06943ec4b8ad3b07ca1cbda32cfe3d9fa82f3eb7f49d3b9f2211bd8541893d06987f3d3fcf9a3b62ff01bd14b1883c85324cbc94f38fbd7affec3b0000000000000000c4d29abde8c70d3c0000000000000000d1a97fbd124cc33b000000000000000043205cbd110ec03b00000000000000003b6c44bd1ce5b83b0000000000000000a79725bd3d8b913b00000000000000009cbc10bdcc0f8d3b0000000000000000ddf0f5bc7958873b0000000000000000e514debced805c3b00000000000000001080a13b3a9d9dbc7d6e173ded41c8bc8559be3bc9cdaabc7a87323d11fc13bd0a76c23b6529a2bcebb41d3da34601bd204bb93bd543a3bc6f722c3d0a3013bd6826b23b02d3a4bc77081b3d868b19bdff9ba73b550993bcecd91f3d670329bdcb3eb03b1fb395bc2d32103df2bb21bdf39b963becd89fbcf95c203df1be36bd49f2923b2f3295bc71c40f3d27f713bdb210503c5a0b9ebb7136713b1c6dc1bc09cfb73c281db1bbf9b8903b4dced1bc3ccf923c64ac99bb00f24f3b2fa5bbbca7deaf3c4912c7bb2a4e743bbdaababc6612973c85ef83bb43dc7a3bb6bfaabcc9b3b73c51c8cbbbe27c8b3b41dbbabc2c7dac3cce2dc5bb95d0723bd6319bbcac42c43c9b3fecbbeaa48b3ba52185bc72a08e3cff33b4bb0815723bc06d68bcb453283c25752cbd1610a0bc0755553ba380ab3a8359a8bdd0b786bc3080ff3a8f7283bb2b6698bd117e93bc7005923a50aa72bb366fa3bd049b6ebc14113d3b58641f3acd4574bd489f3ebc3fa85d3a4d83013c98774abd091c7fbb2051823a1ed73e3cbc79ffbcb96255bbd7e88c3a4aeea63ce90bd4bcc6f30f3ccab483390502c23c983249bcdd0ffc3b6e16f638ae8a893b044902bd38d57c3e7801783f68dc8a3ba72807bd883d6b3e6534703f828a8d3b0655e6bc7108593ea3fe493f2fea8b3bba9febbc8b0b3c3e161c2a3fac38633b494ad9bcc1c9153ecd7c013f887c753b47a7bcbcdb22dc3d5e5eb43eff5c7a3b0be8c4bc689e933d3f9e5a3eab75663b0269b0bc547a123d3e4e8f3d28098b3bea509bbc37082c3b1caec2bc327ea4bd80d9093c0000000000000000532bb3bd97910a3c000000000000000065c588bd1cfb103c0000000000000000f99f77bd9e93ba3b0000000000000000922b4bbdacd1a33b0000000000000000386642bdcc0ca93b0000000000000000b0911abda246943b00000000000000009f2008bdc995773b0000000000000000070fdebc040e883b0000000000000000dc1ab23a7cf39abb498e8b3cb7d45bbc6c5a123bb1130abca146fb3c1b36bfbc063b063b25bd03bce7fce03c4fafaabc5ea20d3b6231eebb6046d03cccc8c1bcc3f81d3bfc27edbba66bc23c76bbcfbc47b7163b957d23bcde92d83cb83fe6bce71af13a96fd12bc32d9cc3cad40eabc366e063b989739bc21daf13c62f80dbd7418833a088af6bbdd69a63c43e9e0bc7d45613cdda690bbde18063b281425bc23e4df3cc659edbbb4a5123b476c28bc88b7ba3cec52b7bb681de43ae1e131bca43bac3cf19da0bb3315cd3a1be626bc30dda13c075da3bb8d07c33a3c0d13bc572fa53c138999bb5befec3a8fcce9bb98e4a03c17eebabb0c29e93ab2f0b4bb7911bc3c453be8bb3a14233bd588c7bb0dd2963c7dd9c1bbc0f5213b9fcb57bb7f9833bca8036bbda636bebc0770563b03e824bc2448eebd629d8fbca7c5733b03f295bc9025e6bd77d39dbc7d302c3ba8138abc6803c3bd082995bcc873083b59c966bce77d92bd31436cbc81c0eb3a4a5ddabb912379bd555a0dbc99259c3a91615fbb8c7d1ebd9cab00bbe0a9673a1c0cfc3bf0b0dbbc6415083c8eae423ae2e7e93b834779bbfa8de53b0bf52e39edc0d33a41af4dbc98339f3ddae4963f1ece013bd86d71bc1ebe973dab8d8f3f987e333b50ac43bcd7289b3d8536773f416e133bf04641bc27828d3d9f49483ff3b3ee3a48ef32bc7ef1693dde47173fcc0a1b3b090d63bc9f6c253df4cdd03e58e5fc3ae54835bc2c6ebc3cc66b6c3eb571bf3af8042bbc11ff063cbe89743d2d55793afa350dbc549057bc1d9524bd9b42b4bd291d0e3c000000000000000000cfb3bdf049173c0000000000000000d92b8fbda2d5fb3b00000000000000001e4263bdfe97cf3b00000000000000002c343abd7c58923b0000000000000000e6171cbdd9ec8d3b0000000000000000fa4510bd796a9a3b00000000000000002467e1bc8744853b00000000000000003cf2f8bcd3818c3b000000000000000000000000000000000000000000000000c608caba2122c23b8b56723b7e4585bb91fe31baca049d3bdadcbf3bae61debb291c9bba2b5cab3bd6e4eb3a8474fabb58b457bacc39853b02bbe93afbf51dbcaf576eba11f9813b3938223b76643fbc2105f839eba25f3aaa59dd3b862356bcf0be17ba1250923a6d68d03b114d65bc0000000000000000000000000000000000000000000000000000000000000000c032613cfd7b63bba32b1bba5376cd3adb8c643c028a36bbfc361bba491bcd3933b83e3c372aedbab25d4fb900a4223bd542203c535996bacd9cc8b907d41d3b4cc0213c6c8c07bbda07dcb9bde6323b2df52a3ca8e808bba59bcbba46bc283b5542323c947953bbe54adfb9bdfa9e3b000000000000000000000000000000000000000000000000000000000000000093dcd2bce5d2c4bdb37db3bc038e443bcf5dbabc6c8ec5bd6c0d9abc4d3d153bc5b8c5bc6a409cbdc08ca1bc270bfa3ac8bfadbcf3ca6dbd871f80bc0b9d3c3a12959ebce7aa2abd89e23bbc764ca13a4a954abc4474f9bc2f5a80bb2a83913aefc019bcf02e39bc80c2a43a7fa9203a000000000000000000000000000000000000000000000000000000000000803f7e31123a1cf6b23b456240bd5c1d983f241be4b9de22583b458cddbcfff97f3f2f5a6a3712aa7c3aa7e39ebc674c503f52e8ceb95754cc3afc568abcb5af1f3f3a30cd38cfe0e33afd6d6fbc708ce03ead2ab4b9ff8299b992ea6cbc0aa0803ee175efb97252cd39a9d8adbc007cad3d0000000000000000000000000000000000000000000000000000000000000000c0d561bd6dd7bf3b0000000000000000094210bdb0cf613b0000000000000000434cdebcb85ecb3a00000000000000007de6b6bcb0a5163b0000000000000000c254acbc0c6be03a0000000000000000e6e699bc955db0390000000000000000ee1ac4bc41661b3b00000000000000000000000000000000000000000000000000000000000000000000000000000000ed0f55bc13f16c3c48683f3d346c643ccb8109bcf4f7763c8d683d3d9659703c4e7ec5bb64c7853cbd50263d3e1e933ce6e352bb17564b3c852a0c3d7ba0893c1c3260bb7f51193c3794ca3c3a54653caa137cbbecbd9b3b23406b3c7c81443c4a1885bb7960753b22ee2c3bee7d083c00000000000000000000000000000000000000000000000000000000000000001d1828bc2cd7a8bb6d19293b7bc3a93c6a36d7bb44d0a7bbba7af6ba160e113cae5041bb0e59acbb1fae00bb8972b3bb8902bcba9481a0bb33e5a4bba89bdfbb07895abbf37ce2ba1447d9bb104e8abb7ff47fbaabee85ba872acdbb32330fbb7522c8baa64a91b92a0c17bcf6aca13b0000000000000000000000000000000000000000000000000000000000000000ce7882be9a903e3ca0bc0e3c641c80ba31d976be9c9957ba59e59c3b3fd82dbad2ac64bec59355bcbd21963b370960bbbed937be11d177bc8065183abd0409ba5303f8bd1ab94ebc758208bbd07fe3b9909781bdc87e43bc3b0ba3bb1b9e48ba92fe28bc9c938fbbb385e2bb81bc283b0000000000000000000000000000000000000000000000000000803f000000000c619e3ce20301be8e1aad3ff9c8e7bd1f8f523c63cca0bd4a548f3f279380bd7bd43a3c2c7878bd4c5d703fa94c35bde4ba2e3c0c7f28bd4f5a323f5c64c8bc48b81c3cbe368fbc7961e13ee68561bbedc9aa3b90df2e3b55c8593e603d513c761cab3bd3a9893c89861bbc48cbb33c00000000000000000000000000000000000000000000000000000000000000005deabf3c4aa1fabb0000000000000000b6a9493cf9e4fcba0000000000000000d5d2023cf7b5ceb8000000000000000060a2de3b7b33a03a00000000000000001f33cb3acc101e3b00000000000000006b1f03ba8f4a4a3b0000000000000000512580b8846a0c3b000000000000000000000000000000000000000000000000cad622bc8405ec3bd37c733ca76c793c760c62bccf49143cd19b193d018d883c1c0f09bc89336d3c9e35333d6089c43c5b6db3bb4cbd573ce2bc1f3d8966cd3cc473a1bb8cc02a3cf87afc3c3115b53cf96294bbef45133cefb7c23cc63e9a3c8e1ba5bbd563c63b2616213ca22c8e3c852d8dbb8aa3093b97ae31bbcb8b443c2e11f0bb529a26388bd429bcc97dae3b654651bceb8156ba07c1723c929b663c79355abcd3febeba38313a3c5047bb3c6f7c1ebc8f3065bba612453c2f2e453b7ce0ccbbf4f893bb9ea80c3c2fc947badf5896bb825272bb3048aa3b28f2a0bb357557bb3cf234bbb53febb93e6c40bb8f1a1abb99d225ba1864b8baf5057d3a91193fbbab498dba280773bb869ca53b7fcca5bba2cd303ad92392bb0286803c44ac14bec81eaf3caa9a1dbb7836953b16c953be386a913cacbee1bbce31e53b7cb177be9dca89bb637e41bbc032743b775f67be734060bc4cbb68bba688073b63ec34beca8c81bc58639bbb9c53353bf755fdbd5d896ebc1b51f0bb58b8853b2ed381bd58ad51bc7cc207bc688f1d3b974f4bbc5ac0c7bb5f4ae1bb7b1eb33b85b3c23c823c753c2cdde2bb6d3f823bbc20283db13b60be7f6fac3fde2bfd3a8361103d34d93bbeb295993fafe5063d717af63c09c626bebeeb8e3fc8bffe3ca028da3c65d107be6eb86b3fe1801f3da2d5c23cbd3ac0bd04d52e3fc404363d46499f3c2cfb74bd7ed1de3e979d573d161f7f3c974feabcbfa04d3e96a1543db4a1e33bfa791a3b73fccc3ca6dc3b3dbdfd203c26542b3ccaed0bbee47da73c33a886bb38a3b4bb00000000000000006de92abcc3f633bb000000000000000027fe3abcd8e668ba00000000000000008fc75ebc5d74e73a0000000000000000fc7c43bce3a8da3a0000000000000000fd4288bc6696933b000000000000000088c48cbca2edab3b0000000000000000fd1e96bc2b50e43b0000000000000000c644eebb79431f3b0000000000000000705d0bbad0158fbb64c31e3c9ff3a13c2cc782bb574f5a3b515dd83cc827d53c235795bbed8a103c570a093dcd64003d9c8a0abbd965ff3b287a003d4576fa3ce6f574bae6cd833b5d8abe3c324fe63c375057bbfd239c3bee7b833c1641c93cc8c892bbd616b83a7511953bc117943ccf18abbb061b353ad7b763bbb58a513c8ec2c6bbc2737fb96f5b27bcdcf4ba3b94c473bc1b77a13affa2a03c86fec9ba999f53bcc9642bbb7f6abd3c8f4732bbc52835bcd6f622bba84fa73c350607bc2f60e5bb9bb1a9bb68558e3ceeeb42bc23cdd9bbab7b65bb5cb9613cef8457bc349bb2bbc56b9fbaa0f41e3cf8aaf9bbdf4b98bbb1b181bb7a90c63b09a8a4ba0272b3bbf34b2bbba803263baec69f3b478dd8bbdf5d85ba11fa963b0bf1ea3bc94cafbd4bd37b3cbf1649bce8e2023cd09631bec29099bb36c511bcf05d223c6f1150bef97eb3bc2a4ccfbb6500bf3b7ab545be4a51dabce8e11ebcbe95c53b3d7517be9adac8bc571519bc1323c13b78e1dcbd9f1f9fbce3e050bc6cc6be3b9b8a5dbde28d0abc18f429bc3988e83bb2d53dbcbd81b53b75cb0fbc1b1bd83b4a21803c00478d3cc7d3a6bb4f3db63b86b1183d134f50be316c8d3ffccc543e1ded173d577157be09aa8d3f2cda463eae4d083d72873fbec160803fb9d1363efaf7f13c9f9a1dbeabd5543f5b27243ee87ad03cd4d3f0bd87ea1e3fe227093e3d4fc03ca079a9bddf2ece3e952be63dff66a13cfd1f4abd1f47463e969fa93d71ec793c5c73b0bc7e57d03ccd933b3d03f6373c44311fbc298999bdba441e3c2de048bd53702c3b0000000000000000c4f448bd88347f3b000000000000000045db39bd8a779a3b0000000000000000703826bd32e2e43b0000000000000000976a09bdf57ab83b0000000000000000efd5fbbca32ba63b0000000000000000fb82debc18cac03b0000000000000000a1e8b7bceb66e93b000000000000000048ef87bcd10da23b00000000000000007a6fab3b3fbb14bcca500c3c4c62a43cb376d13ad79515bba6a3ac3c51a8063db4ed863a7b2a163b55e0e93c90760d3d01b22c3b3073203b989fcc3c7800083d8c03693bcd62a53a0751a53c88ccf83cce96fdb8f8c6e1b9062a573cacddcf3c4e6992bab25f3bb9a217b63a15d7a33c04ec3ebb779207bb1ee9a9bb93d7353cc7aa00bb155e52ba070b17bce48c9e3b563217bca2b0263b6464ce3c0720a3bccc0c0ebc0147b3ba47a3bb3c8b8615bc76e4aebb5e8307bb71a3ca3c6f9a7abcd69049bb91af57bbf814aa3ca60592bc68b9ca3982978abbce4a7b3c195470bc449db6ba65f124bbc568673c269a52bce13c6bba0ffe6fbb8679223cb2e7aabb32db14bb05efbdbb3e4f013c44321b3b686d7abba1f033bb3bafc33bf281b83bdfa663bd3e542bbc9d4549bc1c672a3ca98705bed9b431bd6e2d07bc22c9373c6d3922bea0d172bd966c0cbc1cb11b3cba7717be28bf73bdc3ee27bc1143d53b3fbbfdbd55fc53bd9c3328bcaf71033cacedabbd884b12bd4fa446bc52c7fa3bb92330bd630e7dbc1c6b1bbcd433b23b0a7c1bbcbfee193b15bb11bbcb55cd3b6482483cb1d9b33c668a33bb7c9ebc3bb13bfa3c1df33ebe93736b3f165fdc3eef59f93c986f47be0b2b673f86ddd63e1b71de3c8a2231bea9f3523f378dc13e48efc53c5fd913be56292f3f9efba43e26eabe3ca361f2bdbd1b063f6747813e693fac3c9d67aebd0936af3eb3973e3efe29923c003860bdf7d1313e391be53daf6c713cfe27ffbc81a0283d4b3a2e3d94746c3c94b8bbbcaa4f4dbd189055bc130ecabdd3ac443c0000000000000000fd5cd0bdaaa4533c00000000000000003fd3b6bd680f453c00000000000000002e2497bd66ef4d3c0000000000000000c1e279bdaf19f83b00000000000000001f1f4ebde2fd2f3c000000000000000065bb14bd341b133c00000000000000009ce6d3bc45f0e83b00000000000000007d64aabce8ba6b3b00000000000000003732c23bde0044bc1be4413ca115953cfb35eb3b7fe723bc2ede933ced73f23c2feec53be4cbc3bb216fc43c8040133d638aaf3b05eb37bbad04be3ccea8133dfc23a23b1baf4cbb361c5d3c957ef13c40e98a3b1bdb85bb8273373cd97ce53c3d3a323b47a18abbf4c6153b40b4933c5d428ab9137396bbd3947fbb274b2e3c463fc3ba69669bbb99b2d8bbe763403bc7bcc0bb5fc1963b1c2eb93cc4919fbced57a3ba998392ba1db6be3c1e2172bc738e7f3a97de0fbbf6dcbc3ce3d699bc95ce813be1bb3bbbda07a63c54cfa7bcfa27073bbbae4abbd95a993ca958b0bc6c57ac39747b80bb8458853cb59c77bc03db143b61109dbbce0e563cb4c333bc38ddd4ba2029d7bb2e903c3c1ddd3fbb2b17adba26d3b2bb14e32d3c0a1dcd3a26e1f5bc1d151cbd181529bc5fb41d3c1f7caebd3c1eadbd987f00bc13945c3c1120d9bd3628d8bd5b6027bc567b3a3cee09e4bdd6e7cdbd4a3c27bc3914203c3a9fa6bda28996bdfaa854bc2103123cbac289bd58105dbd0c6506bc4db8003c89880abd1ec6adbc911707bcf2f6ad3b3e04d6bbda5d533b5efbbaba6294d23ba452583ca64aae3ca20e62397404ce3b47d79b3c7af519bed8b92d3f2c1b2e3f137cb03cf7cd1cbe4d3e2b3f4c49293f7973993cc3d109be2a841b3fad42193ff5509d3cf7f3fbbd6ad1043fd705003fa771643c90f8bbbdf7f2c83e5a22bf3e8bab8d3cba649fbd849d8e3e4fe6823e6af25d3c19e65abdf92a1c3e21f1093e6fec523c412f0fbd0df9483d7fdd0f3d7a39033cea24bcbcb151e8bcc75019bdf25919be08b6ab3c00000000000000005a691abe289daa3c0000000000000000565c07be0b30983c00000000000000000817e6bd8ceb7d3c0000000000000000c080a1bd5c032b3c0000000000000000e9a685bdf3453b3c0000000000000000fc6e31bd4ef1143c00000000000000004fd5d5bc03d7c23b0000000000000000305186bcf510ca3b00000000000000008429f63b42a96ebc29ee293c25d38c3c93f3793bb98d2ebcdc6f923c7887053dafb7b43be1dd9ebb149eba3ce929213dd6b88f3bd188fbbb1f79953c8ac7243db874ae3b8e5fc4bbd3ae873c44bc073dbd34bc3bdb81acbb49ec223c9acce43cea7a2b3bdc39b8bb1b31763bb398a83c95f7363b9831aabbc8e0fabaac18233c9b31e73a930fe4bba24aa6bbf468d9393300d8bac69ff03a85908b3c8efe83bc212e8d3b0e827fbb16c7a13c98a07fbc1cddaa3b1e9101bb57cc8a3cf72d8bbc3803d43b388260bb46dd963cb30093bcbaaed83b9a8dd6bba43c8b3cad4293bc3247ce3b6a2a8cbb6cec713c25cd93bc2b11bb39ca5ae7bb5b89683cc7532fbc02936dba395c11bcaf561f3c20f3c6bbe00f8c3602cbedbb699a403c566950bb095523bc186c85bd55e139bc6e11473cfa0c38bdf2e908be9332403968c0413c887992bde3771fbe800364bb9b4a0e3cd06693bd13a413bef4e3ecbb7d61d73b708a83bd97e3e9bd0f07bdbb4c8b063c38e14dbdf5b39abd25aee1bb5f55963bc39d04bda9fd0abd0dff3fbb9fc2663b2d541abcda97c7bab3fb6a3b39905a3b039e203c9da19f3c6c66873b05695f3ba4173c3c6ffac5bdf56cdc3ef13f6b3f4936353cb4a9d0bd00d9d93e332e663f523e353c82b5c8bd4911c93e2df54f3f6858363c21d0abbd3f33ad3e3a872b3f5487343c866e96bd71808c3e674a003fdf29273c423a81bdf473513edbb2a53eff821c3c71fb3ebd78a9033edd91203e9d1c133c41f701bd3bf9693d41c1d23ccdb7863b96adb1bc038838bbc78380bdcc8a3fbed07aef3c00000000000000009f7947bea854043d0000000000000000ebef29be3998e23c0000000000000000eafb09be863eca3c0000000000000000decdd2bd12699a3c0000000000000000f8c791bd81a8893c0000000000000000f4d62bbd2df45b3c0000000000000000de37b1bcd0f43e3c0000000000000000904f83bc5cd70d3c00000000000000007f65993b0c4e3cbcd0ac413c0b13473c04659f3b978101bcb7427b3c7421f33c149b163b1889bcbbe3209e3ca8ef243d14769d3b37f263bb906d903c5b1d263d0b03903b485480bb39487a3c03a4063d2b9da93bc0a041bb645c373c4b44dd3cdec6943b17ed68bb7984f33b1187913c2885433bb60b53bb30c31d3b3373d33bcdd94d3b10e4a5bb214bceb9d4df2ebbe9ce5c3b21793abb85e33c3cbed349bc9815573c423ee9bb19f4323c6fe748bc3ae23d3c9fe5bcbbaccc383c97cf0dbc97e95e3c0979b4bb107d103cd56033bce71a433cc562adbb8bab083cd0fa4ebc93540c3c1b9ddbbb9cc4253c38fd5cbca5cda83b223fd6bb99aa123c250c31bceabc2e3b577a12bc69710a3c6c7cd5bb18bd0fb8d186e7bb6a27f73b2991bcbaf841703cba32bfbdb546d53bb53f0b3c37d239bc84a738be118e413cd0f2e23b8a460dbd397e51be711ab53b9f10103ccd632fbd4b463fbe31d62bba7dfda63bd58920bd637516be943827bb4133773bf75219bd16d0cbbd26a90abb1ab53c3be1ddd3bc095442bd2d1c3a3ad23949bac73237bc117f18bc0debc43bfa3e143a8b57c53bf1ac893cafed123c911de539fe3125ba1c1c43bdbb3a553e8e3a8d3fceabf239946450bd3b524b3eec898d3f8723373acbda44bdff0f403ef1e97e3f241e233b200138bd986f2f3e6eae513f2bebc33af94a22bd0175163ec2751b3fdd089e3b69b51abdaa5b013e843bc63e9f33793bd2bff2bc657dbb3de8f9373eed314d3bf674c9bc0f425e3d1087913cd32a2a3be13e8fbcafed803c94c7adbd6e0c52be6c981a3d000000000000000087d957be38b41e3d0000000000000000671438be298bfb3c00000000000000000dee14be673ddc3c0000000000000000f7e4d2bd88f9a53c0000000000000000820b8bbd1694883c00000000000000002b860bbddbee4e3c0000000000000000662618bc7528fe3b0000000000000000d0242bbbe62dcb3b00000000000000006354053be884efbb4371423c5647433c31ef193bb3af07bcc13b443c20e6193d7c9c093b65c7a4bb1457a33cc4f8383d9afd3a3a18db3cbb076ba23c9ff0373dd083313bb48e0abbf431773c0d1b143dddef473bdb5afdba7fc8593c78b6f33c70fa353b852ff2bac7783c3c354d8a3c0206853bfc2f5dbbf80de03b1a2bb63bfe52ec3ae7982fbbd3f8863b8706a2bbec161b3c5a0604bcf980293b75f524bb5cfd263c8c5a41bc01b1d93b8fc4e3bbaa687c3ccede02bccfc9743b083295bbdf7c943c41110bbc698a613b066799bb8249523cc24bb8bb9570683b0fd001bc5e03293c5bce93bb7fa3793bd6921dbcf7a2023c6864ffbba4e4383b910deebbfff5593beee2e2bbed24aa3b171db9bb52098eb940adcfbbe8684b3b5d6383bbd1d1ab3cbe951cbe831bc63ca77bac3bb5d0173c0e6957beb3f9083debaeafba69467dbcad717bbe3293773ce1ca8d3a44a8dfbc989367be453eaf3b37ccadb74887e2bcd53333be3b30843b6621daba71d2e1bcb446f6bdbf72e4ba53837fbbcb2ac7bc33247ebd6cf45c3a09b23dbbb25377bc85cd6bbcfa91313ba9e05abb74a2a13b34009e3c1aa33c3c023593bbffec19bc3bb887bb332d103a4c3cac3f21a2f7bbd94b47bceab7183d3e90993fe4d55fbb92e56ebca1e01e3d26a38e3fa4393ebb419486bceef7343d53746b3fdc7548bae59d7bbc4ea5473d22472e3f8eb4f53a685d8fbc484a673db3e3dd3ecd20f03a84f27ebcb8e7513d0d7e4d3e77da0b3b058293bcde1f423d4ba7c53c203ee9ba7811c8bbce87a33c450f0dbe5a9f62be81202a3d00000000000000007eb237be766f153d000000000000000018a81ebe5ce5e13c0000000000000000e29df6bdcb13c73c0000000000000000cf64adbd5918873c00000000000000005a8b35bdff0c503c00000000000000004ac26cbc0834133c00000000000000006a53643c7bd4803a00000000000000001901883c7bfd963b000000000000000000000000000000000000000000000000ed1d01bbe7dea2bba640893c0982243d7d7dd7ba3d214cbb58cb883c91bd333d5bbbfdba7450df3a3f758e3c558b253dadfe1c3aa3531eba85e8613c6e3e123d29df883ac47ba9b922015f3c2571d73c48008a3acfe9a2ba5442363cd43b983ce6660d3b4fd4f7ba49a7243c3e87933b00000000000000000000000000000000000000000000000000000000000000007bba493c6ea942bcdce7abbbda3c013c69f9493c8c72d7bb6b5b6dbbcf64b53b6f1f833c0ffcb4bb79a182bba05b3f3bf6fe693c375ec1bb958592bb0d1309bad5301a3ca9c782bb7b52cbba860a6bbbd821b03b887596bb52d292ba9aef63bb26471c3bf26e2abb75f0cbb99628d3bb0000000000000000000000000000000000000000000000000000000000000000a574a03b359081be3299e13cce6a7dba8e8f21bcab1673be655c413c3b1166bb262cbfbc081c62be1c94323a5e0eb4bb5fb4afbc262534be4a06e5ba666796bb7d5db2bc248efabdb43f45bac333f1bb0af29ebc5ea486bded456cbbf4ca8dbbc7092fbcb39d6bbc964cce3a858d9bbb000000000000000000000000000000000000000000000000000000000000803f9c4b1ebc201ba83ccc53e2bda30ead3fd302a9bb38bf223c1c6b81bd8d08903f52670bbbae78783bcd672fbda06a723f4fd731bb19935b3b8d1dd9bcefea343f9fa590ba6d90b13a5e1cdcbb5393e83e72e4c13a804351bbddaa343c83b5623e13940bbb77a5dd3a5bb0903cbcfa0cbb000000000000000000000000000000000000000000000000000000000000000066eb01be66eab03c00000000000000001e9597bd1e454d3c0000000000000000bd8d6cbd0fff2e3c00000000000000009b590bbde39f153c0000000000000000c7f04fbcb73ce43b00000000000000005290023cf817643b0000000000000000a89bab3cb03f133b00000000000000000000000000000000000000000000000000000000000000000000000000000000850a60bcb97fdf3b5be4263d26eec33bc5af23bcd947c53baaed2a3d8a68843bf2171ebcf818fe3b6981133d2093b23b6817fcbb4294093cbee6cd3c24dba43b2535b4bb3d3adc3b3d276f3c424ad73b55d345bbdf59503bab66f03b23217f3bd79953bb2ff9433b5d8496bb5630d03b0000000000000000000000000000000000000000000000000000000000000000f6847cbc1f84c33b7f1c1f3c1394b83c0b1e5cbcf3af993bd29ac23bb190ac3ccd6221bc792e923b44f1b93b2e4a4f3c669239bceca19e3bd8bba63ab43d6d3c7cedf2bbb1b15e3b82f556ba315d3c3c72019ebb2f40403b5b9f80bb0e863d3ceca7cfbb0773463bf502aabbda994b3c0000000000000000000000000000000000000000000000000000000000000000916f5cbe17a8d03c8da18c3bb564adba6b2a52be0a78ab3cc832373bf4a790b9b5a53cbe7ffa723c3cef5c39ae1602bbef311abea94a573c736e613b4cf337bb6e49d7bdbae9123ce2cb1eba091442bbac9966bdf914df3be69834bb0d810fbb508d74bc8331f03b8abd84bafae11bbb0000000000000000000000000000000000000000000000000000803f0000000072266e3c6bd6f7bd45bcab3fb9ecebbdeead113c7814a6bdebe88c3f8e2d9abdd090d53b2c867ebda490673f711d72bd7dd6f33b00d93bbd56cf2b3f09de2fbd98cbc83b3c62e2bc3d23da3e0f6dc7bc715bae3ba5ecefbb20bf473ecc0159bbe9bab03b8bd1bb3befed9bbc7f88053c0000000000000000000000000000000000000000000000000000000000000000b61a723c3dd344bc00000000000000005ee6343c2a132fbc000000000000000021f8263c058c13bc0000000000000000e3f1e13b5c10eebb000000000000000055a3fe3b3be7abbb0000000000000000a976c63bfc2890bb0000000000000000abe7a93b19a59cbb000000000000000000000000000000000000000000000000f6f9fabba0fea13b66ad373c11bc3e3c5fea3bbcb8b7eb3ad36c063d2ee1b43bf10c04bc7d059a3bed1c093d4584363c6d8116bc332b063c104ae33c0fc0453c0ce0b4bb2ccea23be229963ca7244b3cc5fababb0cc3f93b160bc23b5193583c5a6f44bb99cec63b6d92c0bbd038653ceac22eba578f883b0e6674bc0eaa6f3c841146bbadc7a43bd58caabc93595c3c13e71cbcefe1de3ae4c59a3ce89e9ebb6ee41fbcb43b353b0e02823cdb7a6e3c1ca324bceac90b3b634c813c27a9dc3b5b1018bc06b8103b94dd583c0848ce3b0efeedbb62fee63a96e1093c362f8f3b5aadcfbb02e7093b62a8b83bfa502d3b72176fbbe754333ae906f7394a9c8b3ae5f528bb05c050b92da48cbb4d2a5339dcf597bb3db63f3acbc75cbb95f3523b7d39efbda35caf3c0a8852bbeebc623abe552fbe55f5fa3c89a3d9bba9e8703bdffe40bed454943cf4ed8dbb85c50d3be6d52fbe4c24593c92ab74bb31138e3af92f0abe1c3f393c2eca78bb006a76b93f88b8bd4ee4263ceae2c1bb23ae7bba75aa23bd3594c63b6c57b6bbc7fe83ba59ba983a8f3bc33b4abdd3bb7afcc0b99947993cdd56943c5141ddbb30c2aeba67a80b3d06574cbe076fad3fd76510bccf3f013d179f38be06e29b3f03e8963adcf5d83ca8cf21be53708c3f7fc8943b658db93c878708be05bf653fa160153cbe89b33c2c6ed3bdc3282a3ff4ca843c3f879f3cabbe96bd67c5d83ee652b43c84e78e3c99233fbdcd4b493e0164d23c8263663c9bd861bc5032003c71b10d3d35d08c3c34565cbc324804be81be693c2b7214bcadef29bb000000000000000074b82ebc52b420bb00000000000000005bd614bc01d23dbb00000000000000007cd418bcf3fb3fbb00000000000000001b7624bc3b7277ba0000000000000000fb8002bc102f903900000000000000005ab3c8bb78a6a1390000000000000000200f34bc25062c3b0000000000000000ed1890bba3a05d390000000000000000d64c803859ec99bb3de5da3b4759793c7f0c76bb1ad68e3b80f97a3c86808f3ccbe182bbf0d0c63b2124953c07f7a13c4f0188bbdba6f93b13bc693c39d29c3c35f764bb65c4003cfe9bbe3bf1e8ae3c18e7e7ba35dd043c0d6e8cbb7812a83c9b813cbb2200f93b187454bc022f913cb2e61ebb355d093c6c78a9bcb2e09c3c49212938fd8a3e3b521fa4bc9f4d6f3ca21ebebb2310dcb7a334a63c46d0d9bcb98d81bb47ad5bbb597baf3cc33396bc9f7062bb6a0222bba2f3a83cb0e893bcabc849bb898063bb01348e3c944b7bbc3a2918bb92d432bbde6d693c84c895bcbfe48bba48c929bb9177133c436a71bcb6e5123a61cd92bb89c6d23b0e3957bcfb68ee39153a91bb572f0f3bfe5640bc123fbfb9570f0cbb0f11513b465061bcb3e253bd1025503b989308bc4d2e9e3b6e08febd102dfbba2693bbbb16f9a13bf6b90ebec59e27bcdfc993bbd343593b63de02be3b6124bc3bc7aabb4807493be886c4bd03f528bc1cddcbbbf7cda73a54e07fbd3ee947bbdde6eabb26d3ce3ae458cebc8ca25b3b404601bc90c38a3afc1fdf3b7bd21f3c87cfedbb5b2539ba1e80da3cd7caa33c5fce0cbcd453bc3a2c850b3dcc2d3abe4cca8d3f5ec43d3e8fbf113def104abe343e8d3fcfe5233efc34f53c8be02fbe7f3b7b3f29cb113e0fdbf83cc6381bbefeb34f3fbf4ef63dcf3ddb3ca6c3fcbde2571c3f1874c83d4ea1d83cc92ccbbd7005cf3ee689973d9892d43cafa297bd3885533e6cb3503dcdaaad3c40e64fbd070a353d4421e03c20aba53c03d316bde28a6abd144ec93ae47533bd5f8e1a3c0000000000000000dc0332bddb37123c0000000000000000e4a823bd9bddf03b0000000000000000116d0cbd3041f63b00000000000000009715e7bca806ea3b0000000000000000a78cd1bc3ecbdb3b0000000000000000f57fa2bc7c37fc3b0000000000000000f5878abc972b023c00000000000000009df076bc5916dc3b0000000000000000e7c3123c087d48bc2237d43b8a4a4e3ca084313ba89b6239e2ac4a3cc78b9f3c5b170d3b7adf32397114853c77a5ae3c536771b92ade2e3b8a00333ccb25ab3c581a453bb0c0763ba6b19c3b4891a73c94692a3a10fa913b85fd55bb25f3913cb5ad2cba5fa4b33b80ed22bc4922873c666c9c3aaaf9db3b41c194bc3b1b503c9443003b667c1f3a1e2d81bc1dd5493c86382c3b9d4e54bb9c4bb23c24013dbd27ae8a3b1ef0d8bbdda5ad3cd0c305bdb5b0a63b0597dfbbe500a93c3fc602bda9eda93b7889c7bb1ff2a03c9fa801bd797bce3bf3bacbbb6398713c82b7e1bc6c50ad3b8d9ed6bb8de0473c1a33dbbcb058f63bf643f7bb91e60e3cc218c5bcb1b41b3cde6c01bc73e9aa3b10abbfbc23d3923ba2a4abbbebb4d33bd57fd5bc907e7bbc4390d4bcfe26e6bb3e17903b5f119bbdcd4032bd768bb3bb2cb4c63bbe1cb8bdb49d54bd9625bbbb82c97b3bf2ee9fbd274e40bd82159abbc4bf233b676c85bdc84421bdb95d70bb8c7e003b3f4f07bdc039c0bce84b12bcc4fbc33a2ceca2bba6a638bc0a96f1bbd7d3073bbe03933ce29bd13b486418bcc224b6b865b5163d3bcd723c04801fbca6c6b1b8d0fbe93c67ec26beb216683f829dce3e3b8f0b3d2fcb35be25dd633f836dc23ecc9ef13c931023be03404d3f75c2a93e6e0ce63cde970fbe5f222b3f4e2f893e3219d23c8d9afabd9fe6043f2af64f3e9b50da3c9fc0d0bd458ab43e456b0c3e51f4d43cc2eea4bd1635483e8342953dc3c3b23c17d276bd213b823d7959a63cb830ab3c642649bd9bd587bc9366dbbcc90da8bda979a03c0000000000000000d3a0a8bd928aa63c00000000000000007eb295bd26db993c0000000000000000c3d877bd71ae843c0000000000000000e93c52bd53e4703c0000000000000000ddfd22bd91e4733c0000000000000000049df0bcf8092e3c0000000000000000c813adbc5706553c0000000000000000129162bc016c143c000000000000000066b3523cd1e689bcb2f33f3c29b7183cd87f053caf3027bcaa3f4a3c5ff49d3ca992ef3b6c3fbebbf978513c85c0b73c8b24ba3b1655a4bb11e3643ca333ac3c853bee3bf803d0bb20b1113c79306a3c8530a63b516b1439f4600abb12708b3c9fbd873b7d232bbb7b3a84bbc161493c30828d3bcce4bab889033ebca72e223c73a7ca3bf1d1fcba5b913dbc60c1043c55d8163cf5a0bebb60aa833ca78634bde7804f3cf7b512bc2c348a3c1d4a1dbdb8a6533cd469eebb16dd8a3c349519bd649a4a3c92f614bc2a3f7b3c759205bda29c423cd398d3bb40fe4a3c52b118bdb8745a3cf63814bca2c9253c3f2cf0bcc7674f3ca33c14bc49ac063cb7eefdbcb914623cf6df25bc4166c93ba812fbbc2735003cd6cac8bb6ab9cb3b982800bd068a073cdf5551bd527c05bc494ce43b6396f5bcfc8db5bd89614fbb2917a23b97a32dbd7546c7bdd6d950bb0fa6733b8cbe3bbdc6e4b7bdbd4f15bb04b15a3b0cdcaabc785083bd7680ddbb2019283b950146bcc19c4abdf0e485bb399428b9da64343c3dcfccbcc7d3e0bb56e0703a99a1eb3c30f689bb9e65f5bb3bcc0fba2b51263deaa7453c42f50abcb68c9ab9062ab53c9ccf06be67f2293fc136253fce8bde3c29ed0cbe3bf5263f1e191d3f0e3cb93c2c6e00be26bc163f8366093fe7bcc73c41b3f5bd5076013f1bd8dd3e1250af3c8e70bfbd7e7fc63e8e91a13ed2e1ad3c57d0b6bd59ec933e3482513e233fb03c05ca93bd4792303e24d9c63d7895a13c8f7b69bdc370a13d222ac33b8fe58f3ca44249bd6604033c1c5359bdbe99f1bd7e08d23c00000000000000001a93f0bd951be63c00000000000000003771ccbda2fcc33c00000000000000005cb4afbdaef6bd3c0000000000000000f1c081bdef29913c00000000000000005f4654bd6915ab3c00000000000000002d690bbdc6998a3c00000000000000009754a7bc782e7d3c0000000000000000100874bc8808843c0000000000000000c2c4143ca56287bcf9c62c3c6002e23bf721f33ba9d12ebc34c75f3c5463963cf7999f3bcc9af2bba04c593ca826c03c34af853bfabcabbb221d3c3c88c0b23c2ba7703baf3c48bb3f25103cf480833caace803b511768bb2397b23bd49f303c4e903d3bb4ea54b9fd08c3bacc9acd3bde355a3b35169139933ca4bbfa934a3bea76a03b57ef83bb1b275bbb73e6833a8c7e5c3cf52cc9bbdf0e5c3cf09516bd5df4953cec2559bcdb34543ccb2804bd879cad3c99c95dbc18f14d3cdd1affbc1baf8b3cd0543bbc6728433cf9cbeabcc6c5903ced2239bc4451233cec3feabced1d923c51bb1dbc8603cb3b1290ddbc8c648d3c0bee21bc9ddcc93ba01fe2bc5e628e3c6c015dbcbd82253bd345d0bc9ff2483c343406bc3d6f923b9920debc0deecc3c3b0da1bdd894d7bb037acf3b6bee41baafa407bedd55ce3bf3c1653b04615dbcc1d113be2cb0143bcdfc913bf7dc49bc5e1305be8e0eb13ae88a1b3b153311bc79afd8bd58c8053bd4a658b853962d3bfe2890bdb41b8eba1288c7bab1a0853c881d20bdb5df35bb79a82cbb75f7e23cd4dc58bc510e133a597d7ebbb9d01f3d2b1d513be42932bbf6c7dcba0720973c82abb4bd8362d63e12f1623f471ea73ce38dccbd4dccd23e00585b3fb497ac3c6322bbbd6426c23e2a72403fe087943c1858a6bd8c1fa73e6a781a3f1e209f3c364f9fbd1ee68b3e0ccae13e3e209d3ccd8d87bd916e513ea72f8b3ed2d48f3c54ba63bd00d80d3e8620f53da8018e3c24194cbd426e9f3df2b461bb8f515c3c6a8e1dbd240cba3c688299bdd1f31abede3e053d00000000000000002b8f1cbe5314123d00000000000000008ece06bec1b9f93c000000000000000067f5d4bd38a7d93c00000000000000003fe1aabde88ad83c0000000000000000dca36ebd3f1ab93c0000000000000000c94117bdeb22a63c00000000000000004c0b96bc89d98a3c0000000000000000a69280bcd05e853c0000000000000000ce27b93b83e467bc6aac5e3c8b93ce3bc1d2873bc8e406bcc6b53f3c4f80a83c1a94143bd77af1bb81fb7a3cba1bb73c7d568e3a6a00b0bb195c653c5cb9a53c4df7043b7d3597bb99db613cb9c44f3c2bc68f39b5f3e5baeb4d053c7c79123c9a2cd4385efffdba156a043cf06cb9ba06b2853a9de1353aaada1c3b9af9a5bb1389c13a8cd7a3bb4d903c3b0c528fbbc331883c99a92dbcf9affc3be63ec2bc41beb33cfb3076bca927e03b7c51a6bc54eaaf3c6fa666bcf143043c150b98bccd0fb33c6dc756bc2262ed3b8b8b97bcf051a13c52272dbc016f8d3b01cc8bbc05859f3ced7836bc0d32aa3b95a997bc07dc9d3ce14544bce181693bb8588fbc609e9b3c2bb733bc9680773a760d91bc808d5e3c7f1016bce2517a3bff7e9dbcd62b043dee8ad3bd0afd753b08faa43b2ce79c3cb97232bec313533cab50503b235c3f3c8c7141be298c323cd1ba543b8d3f0a3c974a2fbe35a0053c4a114e3abfe1f93b2af20abee6bfbc3b54de4bb9df673e3cea0fc4bdc4370d3b0a0b0bbbe98e853c1ff65ebd2728343bcb7e59bb305bbb3c565dacbcb6b61439128f92bb6cc4063d8a60353aed1590bac2d90abb06f92d3c58fb4dbd4b8b4a3e74ff8b3fa0bd4b3cc54a57bd021b3c3e83d3893f421f423c8f2b56bd0381323ed795723f7c964d3c09ce45bd358d243edae0423f9fe43d3c534c2dbd67fb0d3e14f90d3fbce7553c4c132cbd5745f83d8af2ae3e506f4d3c3f800dbd2cc9bd3d0220183e1f8a413c212800bddc4c843df0912abcfc80283c30f8dcbc9112023df778d6bd3d092bbe3c010a3d0000000000000000461931bef0b21c3d00000000000000006b6515be9aa3fe3c00000000000000007acfecbdfb0ce53c00000000000000008c8baebdb9c4c43c0000000000000000068c6bbd1686b23c0000000000000000275b08bdac21a53c0000000000000000f223dbbbabb5793c00000000000000002a4bfc39554d3b3c0000000000000000fa34283ad378ffbb8c70553ceb132a3c4c12ac3a23331bbcc679043c8c18f73c4163073a1c4204bc647e383c991afc3c1726e9bae828d4bb8ae15e3c5763dd3cf4eb15bbd34b76bbc5cd4d3c2d948a3c2d3a86ba309f98bb67702c3c64b70f3ccec016bb6ffb56ba13991b3c4ca68bba2b9b96ba77ec2bbbbaec0b3cbe5820bc45a7a3baf5a10cbb770ee93bc52775bc6a1d7d3c455d61bc601ffc3ac159d9bb77e03d3c97a350bcc2a8b23bcf7b2abce069803c668b2ebccb87793b5c7fd2bbbf416b3c65251abc2d4c8a3b63a8b0bb6df9803c415717bc908b643b7be9d3bb9e5f793c057ae9bb6b55123b0271cfbbbae0673c3c25cfbb402ab63a9f6e03bc87776f3c2910f0bb0171cb3af10f13bc12f8653c817a0bbcda1148b9fc89d3bb2c77d33c0f111abe4519943c81b2423b13500b3de30d4fbe3f5a023d498219bbd479b03c433f60be8b2c953c2ae6c6b87e83853c0cfa4ebe0edc823c1dec06bb9432403c8fe222be98a3333cf7fe4ebb4b5b5b3c0e51e8bd8a6a9f3b0ce39bbb7f7f193ccd8177bdd7611a3b8fe7a7bbdaaa373cb71684bcffa863ba876ecdbb17d5a03c384f853b4d8bb33bb7aae1bb4002273b567616bc6f2a93bb7f28ad3f5361753b86f669bce578513c3a649b3f1bf4613ba22780bce2df9a3cc0428b3f2717b33bf52487bc69a8dc3cdb68613f0a75b53bcbe471bc7550103d4e2b243fd5fcc93be2e760bc2fd6293da982cb3e431fe83bd48e66bcc243323d39902f3e8a44fb3b316e65bc333a473d4eeb67bcd164b03b3299f9bb1e81c33c48bf1bbeaf0a42be83120d3d00000000000000007dd627be6531023d000000000000000004d909be61fed63c00000000000000000a6cd3bde77ead3c00000000000000001af591bdd135983c0000000000000000ce061bbd759f7c3c0000000000000000d92c43bc8d0f2a3c0000000000000000fd95983cc755a93b00000000000000002b18823ce3b8e83b000000000000000000000000000000000000000000000000f76c22bbac3401bc07604d3cc847093d109319bb5894ccbbce152a3c70cb073d65c78bbbd26398bbc314663c6a48cd3c6ad58dbbfa7353bb8d3b443c0d98913cb4444fbbd08454bbab88533cd5c5d93bd2c45bbb0640fdbaedd4203caef8b7391a355ebbd6e30cbbec07323cb5192ebc00000000000000000000000000000000000000000000000000000000000000008713c23be368ebbb8a7ceb3a57fb0e3c5d299b3be346a3bbfd28093b4122be3bde88053c631c81bba837143b14efe93b17fb053c43a90fbbc420a43a8e35e83b79a9fa3b0faa36bb8654b436d166883b86d6cf3bdc41a1ba44ad18badf9c2e3b8761e83b2527c7ba9ecaa1ba08f5253b000000000000000000000000000000000000000000000000000000000000000089bb753c460c63be24e4b83c4b61dfba3271523c14ea55bee4048f3c108323bb8aceb23b059d41be5400113ccafc3cbbd3f69a3b2af01ebec340b43b8a278dbba4ef513bbc7ddbbda138a03b73096ebb074f113b9c2270bdb549083a5292bbbbc1b2863b4365a9bceb48a13bd878d8bb000000000000000000000000000000000000000000000000000000000000803f4d90e8bb866f8c3c2755e9bd5399ac3fc4cf80bb72b1313c01bd96bd34778e3fe21387bbb27a233ccd2068bd73006b3f605ee6babaae0d3c250121bd941a2e3fd1622fbad581143c5d25c4bcd645de3e93bb8e3ab1dcfa3b1c3596bbd10f513e5fce86b967f2293c9d49853b329a79bc0000000000000000000000000000000000000000000000000000000000000000d226eabd1adb743c0000000000000000472b91bde4be113c000000000000000075165bbd0860093c0000000000000000626e11bd672af53b0000000000000000d47d7fbc8a2aac3b0000000000000000e17dc43b93c04f3b00000000000000004b978c3c717edc3a000000000000000000000000000000000000000000000000000000000000000000000000000000000d0dc1bb94d27a3cb3bb423ba6e7753c92afd0bbdf2f693cf05eb23b4973343caf6e95bb8425503c79df533a05e9403cb2479abb84ae563ce7883cbbb0cf333caa347dbb266b363cf48068bb8f09223c9d1185bbccc5173c1b867cbb69fbdc3baa827fbb3e08103cc659e9bbf85f083c000000000000000000000000000000000000000000000000000000000000000052458dbb0c6f463bd6dfce3bbd037abc9bf93cbb2de62d3b7c00a33bcd131bbc09762fbba02a313bd4258a3b989568bc583006bba04f4d3b58d48a3b5de75cbcaca81dbba3493d3b1e3b243bf6322ebc0b08b0bae175313b1fbd7b3a90dc96bb5627d4bac4f3133b71378c3a50fbe4ba000000000000000000000000000000000000000000000000000000000000000023c928beabab793b6b06cbb99bf685bb70cc25be3e26a03b98f6cbba9d5039bb861209be04318c3aa79b0ebb867767bb61b6d7bd88672a3b726232bb81b494bbfb989bbd68bab73ba2221dbb9b1750bba41d3dbd5cd4293cab787fbb8d3a67bbc7e8babc011f963cafef89bba2ae63bb0000000000000000000000000000000000000000000000000000803f00000000c8f1253c0195b0bda253a73f036b9dbd63e00b3cd98e7bbd2e788b3f3f8f4bbd0e1bce3bd3c745bd8642623f3ccb1bbd7e04b33b022020bdd0f4293fb80fefbc4584b03bcdbc02bdbe60e13e4dfeb0bcdbc5bf3be1e3a4bcd92e603e6b3328bce616a23b1046a5bcbb0ac83c6f0717bc000000000000000000000000000000000000000000000000000000000000000040f4af3b4b9105bb0000000000000000f1af823b5e45e1ba000000000000000039a9113b2a7203ba000000000000000071fd423be50705ba00000000000000005c1e913ababecab90000000000000000552f613a8e57f9b900000000000000006499173a099b7a39000000000000000000000000000000000000000000000000b4ae7b3c4d04e7bcc65e053db51e6aba85eddf3b26da82bcafe6163d919102bc224e283c162cacbc6a911a3d2a1be8bb404f353ca96c9fbc7947093de2160abc4725313c72ce9ebc27cdf13cab24f3bb526a2f3c4d82a5bc735bd83ce1ed1cbc6628363c6c0ab3bccb7cd83cfc6942bc2cb2003c70388bbccb6daa3c52cd62bc34213a3cd37ca4bc7683663c253466bbb3659e3b05966f3adbc8663c4b9c5dbd1a72eb3bba1c493ac6136f3ce0ef13bdec80043cbfa85d3abc89523c64bb2abdbfed0f3c069f373aaca94b3c71243dbd33de083ce837a23a57e82d3cfa392fbd1e31283c8ee3553ac626163c6add1fbdf3dd183cab6d8e3ac976103c783d13bdce472b3c2744ba3a2edfcf3b380ce7bcc15eb23b0b02da3a8871043cbe3e08bdb6d239bd09d2cabc936b723b55e205bcc95eeebda50c8ebcc22f293b057d10bccfd5e0bd3b71e1bcd4d1dd3a9a5516bcf16badbd1bd3eebc8d96c03a828010bcf9b466bdacc0dcbc50ac453993730fbcad76d2bc8dfbbebc88e5b3b80bed10bc38bf393be8037bbc234926b9a6c316bc63bff33c4771d9bb0407b2babeaa19bc90612c3d5eaf763bc2481ebb190906bc1e8f8b3c0fdb08beaf01aa3fe047703c6376a33c20ad07be0cf7a03f68f1043cd3c78a3c0f67e3bdedc08c3f065a823c1f1c733cd70cbfbd9285643fd9767a3c2860813ccf43a3bd48382c3f2d81513cf39a743c50638abdbf5be73ea40e0a3ce9f1623c471660bdf1fb6e3ea8e34b39100d803cde111cbd09ad153d1c5f733aa5c43f3cab4635bd5b9d7abd6a29adbc0db6eabb64604fba00000000000000000880d9bb9665fe37000000000000000032e6d5bbbf057d3900000000000000001a948cbbc6261639000000000000000005e56abb2582b1ba0000000000000000394b5abbc60bf0b90000000000000000b89d08bb82c02eb80000000000000000dcd413ba82ee22ba0000000000000000ce747ab90ced61ba000000000000000025c00b3de4659dbd961cb53d1b8a1dbdb297043ddb0f8dbdeff99b3d3740f0bc65e0073d027f89bd69929c3d5a2100bdf663053d554088bd355e933d0d08f9bc017dfa3cd7f981bd506b893d0cd6f3bcb6e3023dabb581bd849a833d1dd706bd5fa6ee3ca41f6fbd6a6c6a3d107ef8bc421cea3c75146abd73c1543dadf8f0bc67e1e53cb66a78bd3bd2783da47c01bd0b5a913c66cd5abb6849833ca1aa8bbd08e7973c565629bb89bc8c3cefc78abdd3fb9f3c3bb659bb8071713c3f3e8abd8449a83ca9d7ebba040f7b3c27118dbdd2769c3c7211bfbac8a27d3ca80689bd49b2b03c9a703fbbe2546d3ce99585bd3cfe9e3cefa458ba6a2a5e3c2c4179bdc08a973c278275badd224c3cf30d6fbde4727c3cf0dfdcba1b92663c826e6abddf15423dd03392bdaf8de33b1ed824bc77f700bb1002a8bdb502023cf7e445bc9fc646bcf70cabbd6c4af63ba37a44bc5ece003c66a3aabd2ba2eb3bf93955bc5c25e83cad669cbd83eba83be7b150bc90f54d3d7f9e8cbd4a9bd23b23ec57bcf1048d3d0bc15fbd14a4a73be9324cbc3680b13db7ef36bd9c5caf3b79f055bcda37cf3deb3318bd2498ae3b2a0d2dbca740823c5920e7bd4e3f8b3f732f373eb677943c204c01bea5fb893f3247203ec1538b3c83b2e0bd4fb1743ff4730d3e67d1853c1bd5c5bd31d6493fd1d5dd3dfecc803c369fb5bde82f1d3f20209a3d09b2653cdad6a0bd0bfadb3e15d9333d47af813c3a578fbdeeb0823e4c8af93b98057b3cd27c76bd66eed23d4d86a8bcafc6683c05b355bde4931c3cbf903ebdb406abbcd57cd4390000000000000000534ba0bcf92b093a0000000000000000910990bc7ccfad3a0000000000000000aad878bc4f4610b90000000000000000b4ea18bcfe23dcb80000000000000000196b01bc562ef4b90000000000000000c34eb2bb1f71c9ba0000000000000000f0f151bae6c510bb0000000000000000b31d273aa7d02fbb00000000000000008e862d3d4db0dabd9ed10a3e2c27a0bd2cb02f3d2168cabd8c08e43dec3a80bd10402a3d379bc4bd8377e83dff3d85bd759a293dbe79c3bd66a8e13d090381bd83422b3d8cf2bebd3b4bcf3df16980bde48a233db880b8bd2431cc3d399680bd16ca203d36beb3bd9f98bf3d938b7fbd6742183dcbf6a8bd61e8a93d9af76cbd4ad51d3d0c56b7bd31dacc3da83088bd9c94e13c38ecdbbb52d1a93c05f89bbd7bda053dc96c01bc3c609b3c79e597bdbafd0a3daf56dfbb6494943cc40298bd4adf063d4093dabba303993ca0da94bd0a8e0a3dfa46b7bb1e4a8c3cdf8792bdf254043dbfc0bebb750a8b3cba0d92bd17ee013d7e7ac1bbd30d8e3c75128dbd6ef8033d934589bb9074863c5e2a88bd0b60d93ce9f6acbbcab2943c100086bdd378c63dd962e8bd62de353ca0e232bc6749763dfa8306be3762623c12a755bce2e55f3dff520dbe4c39563cc8e761bc91948a3d133508be27ae4d3c48977bbc1967a33d365efcbd4726563c5a9275bce3d9ca3db82dddbd8efc6d3c66606dbcd411e93d3660bfbdda7a593ceb837abcb6b9023ef458a3bd267b673c6e7089bc200b0c3e1f9991bd8476493c5cc13cbc300f563ce87ec0bdc1d15e3ff79bbc3e2b8c803cbe7bcebd620a5c3f2a0bb13e15d66a3c4792bcbdf5aa443fc228983e3d6d753c5763b6bd5cbb243f51706e3e71366e3cb620a0bd332e033fc736293e6ff9723c75cc93bd9215bf3ea4e3c13d51c05d3c451e88bd3900733e6aa2f03ca076723c02d577bdb3a2fa3d4bebf0bca2713b3c76d95abd93ee3f3d35238dbd2fb50dbd823e163b0000000000000000b5f70fbd1435303b00000000000000008c63f5bc0fa4df3a00000000000000008c32aebc3d71dd3a0000000000000000b8b289bc8cbbc6ba0000000000000000e97061bc500b36ba0000000000000000c67df0bb72668bba0000000000000000116016bb671b1bbb0000000000000000ca7199ba621067bb0000000000000000e14f1f3d5002d8bd3a6d123ee56cc6bd873b2b3dc394dcbd06120b3e6e33b9bde361253df9b2cebd31dd033e505db2bd54cb2d3d9114d5bd1db1023e1f3bb8bd439c1b3d82e2c2bdb426fb3d725cb2bdfa07283d56dac9bda897ef3d61d1b7bd6bb01c3d2e4fbebd3e53e23d5d31aabd7bc21b3d7a16bcbd4d1adf3d66eeb1bdfa83173d4cafbbbd6cc6e43d919caebd76d00a3d3a4b20bc602d9c3c81dd87bd79e81b3d6fea20bcf15c9c3c98a383bde309193d4d361bbc4ba5913c14a588bd5322263d498814bc8144973ce0298abdcecd053da71ffabb694c963c5bd984bd0dcd233d24ab0cbc6138963c6da388bdc8a0133d3a1405bcf97e903cecfe7cbdfea91a3de32218bc501f9e3c81e483bd0093053dc079fcbb08218f3cc80378bd073cdd3d252f04be0d7e5b3cf1f020bc3a66ba3d04ca21be0d91623c479749bc72b1ab3d99231fbe66b05f3cb15a40bc8a13ba3dfcac20be7c6b803c76c661bc0ba6ce3dd98702bee4b53a3c1a0536bc6654eb3d309c05be5b878b3c41a976bc855cf93d20aedcbdaadb8d3cc9d03dbc9f6d0c3e2a40c4bde61e953cf96c62bc3c250f3e4da2adbd9bd3a23c80583abc44d3353cfd1890bdf545243ff6e8123f17b5633c6dbc9abd4bf11e3ffd1c093f4994333c8ab88abdac800e3f2ee4eb3e5e8f433cc20483bd0e76f83e4112bc3e13f6333c37146abdb2a6c03e8971873eb615283c205268bd7aab983eae51283e68263c3c4b4164bdda314d3e49c98e3d0cf9323cbf234dbd9625f43d3ca493bc9742353ce8673cbd4aac583daacf9dbd9f834abd5dc08e3b0000000000000000ab2f40bde73e993b0000000000000000f6c425bd0f297f3b000000000000000083c009bdb6f1403b00000000000000009fe8dcbc7d30f23a0000000000000000b1399bbc515db9b9000000000000000002b183bc71ed82b90000000000000000ec65cfbbadab20bb0000000000000000f7a8b0bb740a25bb00000000000000008031003d592fb5bdc143fe3d2321bebdba020f3d7790bfbd441eea3d64e2a2bd38b10f3dcf83b7bd9648e63dbf36a1bdc6b60c3dee4eb2bdf306e23d3055a7bd12e9103d76e7b4bd6a64d83d127da2bdfdfd0a3d01a4abbdd679d13d4808a6bdf00a083de5c1aabdbb07c73df46ca3bd13260d3df316a7bd1ea6b93de9089cbd8f50ff3cdc19a4bd5c8bd43d1e96bbbde6580b3dbc5130bc9f6d773c58ce40bd11f9273dd92b49bc2eac823cd17443bd4b61223ddbcf46bcb713813cf61745bd456b223d0e132ebc70b77f3c5c574dbd3acc1c3dd2602cbcda4b693c08544cbde6f41f3d9f8d2ebc2d34783c1e3c50bd2f231f3d281324bccc30783ca51b3cbd613d173daa6524bcc2c06a3cea094cbd5e8b0e3d25081fbc87b0823ce55f3cbdcbb4b33d28c50dbe829c523c030904bcc74ba03d4b413dbe64df7e3c2ab515bca3ca903d4b5642beec9c7d3c25f825bc69859d3d38e735be3dca753ca9d02abcecd3af3db7e724be60ed963cc87946bcb9a2c23d00740dbe8dc3a83c0f2249bc46b0d83d5bcdf5bd764b9f3cce8944bc962de93dd209d3bdd761cb3ce73367bcbcc9f83d51b0b5bd72d0c93c0dff4bbc5026223ce40e47bdc59ddb3e02d94b3f3ad3273cf45b61bd4707d63e0f83453f99a4153cf16052bd4883c53ea4362a3f2f850d3c073a3fbd062da93e4344073ffa34323cc29d38bd07668c3eb62ec53e09141a3c56572abd3233563e741f733eaf76193c6a272abdeef7173ebd7cce3d52be0c3c47180ebd2331ba3dd17681bc94ac013c14ec02bd8ca92e3d5380acbddbbb8abd8c4bfa3b0000000000000000b5e991bd8664053c0000000000000000d6cc68bd6265f33b000000000000000005033abd353d963b0000000000000000419514bd917e653b0000000000000000bb9cd8bc9729483b0000000000000000d0dd8fbcc21eee3a00000000000000007ace14bce888ea390000000000000000f6fc9ebb1fe22c3900000000000000009605a33c493378bd0340b53d718695bd1296b93c15077ebd2b4ea53d7c316dbd894fb23cf2d273bde16ca63df06572bd5654b93c79e37abd8a24a33d619b7abda5d6b23c0a116abdbc909b3dd96879bd81afbc3ca7c572bde7ba983d893a82bd808fb13c3df563bd710c903d9da380bdda8bac3ca59c63bd032e873d7f257abd6489a93c83aa61bdc2a8973d5c2796bdcfb4083d94834dbc44ec373c6f15c3bc64b10a3dc65756bcc95f163cc804bfbc5e9b103d33904fbc890a1b3c4519d0bc72610f3d885c3cbc955e243cf162d4bc699f023d350c2fbcdf55143cbe67d5bc5ca9083d240f3abca584163c8a1dd7bc22e2003d56b92cbcf2d92e3c66bde9bc68c3fa3c8dc51fbc8b1b1e3c9ca1debcec35f63c01682fbcfc092a3cf353e9bc8e3c633d0ffd11beb456663cafa7a0bbef03413d666a44bee3bb6e3ca82561bbd6c22c3da56c4cbe953f4f3c094597bb87263e3dd2433cbe5bd25f3cf079dabb26f94d3d4cb223beda4c7f3c921dd2bb6400703d7b8e08be1f518a3c3eeae6bb213f843d7a76ddbd5f4ea63cc33007bcfa0a9a3d6867b0bd7ba0b93cf50c20bcf224a63d3fa496bda9c4c93cb02a08bc9d65da3b5815fabcbb905d3e3305843fc2d8ba3b896fe2bcf1d44f3e6837813fe575bc3bbfe2d8bcf2e9463e3daa5f3ffa02c93b6eaacdbcb61d303e9422323f1f46b13ba5e9b9bc38dc113e2570023f2c47b83bb2b0a9bce61eeb3d8187a43e2fe4983b20b09abc314caa3d5606153ed5b0bf3bc3848abc0bf15a3d68cbffbb7961cb3b680187bccd0dcc3ce86dc3bdbfa4b6bd0d893b3c0000000000000000a117bfbd9ed8423c00000000000000000d359cbd3b94213c0000000000000000ce4b6bbd2029053c00000000000000006c4741bdd742eb3b0000000000000000dd6504bd26c3803b000000000000000030a9c1bc70f3953b0000000000000000cdf003bc0788393b000000000000000001b56dbb9f67ab3a00000000000000003bd5d23b9728b8bcc98a133d658b03bdd3022c3ce07a00bda59a263d018b7bbca8f3233ce23ce6bc679d1a3dc3d182bca297223c3cc9e8bc45a5243d18d4bbbcc583263ce61edcbc773d113d5d43c5bcbd942c3c456ae0bccd16113d2ffcd8bc47d21d3c6467cbbcaeb2fb3c58c4cebcfda6323c489bd5bc2ba3eb3cc43fc1bc4a39023ce550b7bc9c61fb3ce02b26bdb1d4b33cccfd30bc0e42443b18b0aeba0a449c3cd2d737bc6aad403bc8dd7abb6f07953cda050ebc81d8223b666439bb1a08aa3ca8c318bc0beb4c3b79a2a9bb4ac5973ce058f8bbd8290b3b3bf1b7bbe830963cbf90e4bb8057233b005dc6bbe4837a3c9471eabb81c5273bdfd5e0bbb5204a3c5506b9bb3a11333bda370fbc5a14a53c7ba10bbc55ce533beef1a2bbe3b8d43b51fe0abe7189ec3b51b2143b1a2fc03c9dfb5abe3f69663cc3ac463befc3603ce91253bed6eb2a3cdaf8373899fd383c00743bbe4c04e83b0ff90a3a33c4503c962b1abe7b1ef03b398457ba9bc9923cf33cf0bd37272e3c529572bbeb3bbf3c9079aabd47de553c92e53bbb59a0023d248861bd1d25853c5f97a1bbf11ade3c16d00cbd5b5fa73cfe3c8fbbd217f63a6576b3bbbd19a73c578ca63fc4370c3bf290f6bbcbc3cd3ce1cf9c3f4d46053b600403bc481f153d8c3b873f1bb4f93a435cc5bb269b173db17e583f04b1583bd5f3bcbb2b4c193dd0e01e3f73eeed3a3ab4bdbbd072073d68d9c93e3e9f2d3b79599bbb16b0de3c47c5333e62751a3b24d88bbbce3de13c000993bc85e1e03a66fe22bbac5344bb34a9ebbd40c5eebd71646f3c00000000000000004fb5debdc173413c00000000000000008f01abbd81d1203c000000000000000046ea85bd1637093c000000000000000099b042bdc287b23b0000000000000000d9960bbd5817dd3b00000000000000000da99fbc0f2b863b000000000000000079c0d3baf5ab273b0000000000000000e1f4d6bb8bda333b0000000000000000000000000000000000000000000000009bb669bb869f983b3d37ae37aef2383c00cfeabaf0de073bdd86df3a8e2e4c3cc1d5febad84a5a3ba1df85bab8220b3cb52214bb8efc613b7d9d1eba8d87dd3bab77d9bad860683bc5a48bbaa79e2e3bb09be2ba34cf433be77a51bb4bde8a3b0d961fbbf1fc963b4ce085bbe2a853ba00000000000000000000000000000000000000000000000000000000000000003f80df3ba019bcbbc56401bba6cf643ccc23c63ba36e92bb883dfaba62771c3c6948963bdd5941bb406d16bb9c5c263cd2e2853b542c31bbd52debbae3a9273c18f02f3bae952fbb50ce2ebb3342293cf530283afe727aba1c6ffbbac6dc033ce8e2e9b9688905bb540e09bb25b6243c0000000000000000000000000000000000000000000000000000000000000000aa10debcb84b23bea75606bb61139d3b91b49bbc6eef22bef5bbc6bac7748c3bb658c3bcd48705be0b3b6fbbfcd8443bdc4ab1bc5418d2bd310b70bb1e7a063b0055afbcd41493bd551c0bbade85fe3a049d45bc07562ebd2ec0ca3a290a4b3a1ff154bc5ddd5ebc6104f83b08ab4739000000000000000000000000000000000000000000000000000000000000803fefa129bbacd5273cd53fafbdcbe1a73f60efa2baeca20f3c62456bbd04b28b3f5fdee9ba6dccff3b476a32bd23ac623ff681a2ba98e8d63b457b17bd20fe293fdbbd86baa3d6cd3be22ddcbc9c61e23ea43336ba7291b83b3b08a3bcea26613e6b38a1bab99dfd3bd5fda4bc3fe4d83c0000000000000000000000000000000000000000000000000000000000000000fe6ba2bd7457183c0000000000000000d1b952bd3f948f3b00000000000000009d191cbd515c833b0000000000000000ab51f1bc9d067b3b00000000000000006323a6bcb6522c3b0000000000000000ad850cbc1bbedb39000000000000000031a1f6bb642dc43a00000000000000000000000000000000000000000000000000000000000000000000000000000000144e193bb0f0f9b9371b343cfd438138b937c33a59750c3a70991a3cc97ca33a1f1bc03a5443ac3a8120073ce074be3ad11fab3a3c14023b9042da3b402ea03a8bd9db38bf628e3aa4bc7e3bcaec58395fac9b3a5be48c3aefec123b64c09938521a423a85279d3950a104379cad03bb00000000000000000000000000000000000000000000000000000000000000009108a23ad82c203ab4f70c3b486c7cbc6975853a81199a38e123173b4a8f52bcf4c7513a835bc038aad11b3bf2f633bc94b9413a43a26f39c8be073b2f1617bc8d43083be48561b9c36e9f3aec440fbcdb17df3910dd02374d20033bad28e6bbac8e4c3ac38303397309d73a13da8bbb0000000000000000000000000000000000000000000000000000000000000000a8f654bd159fedbcc40e013bce0b1a3b9b6149bd2076c2bcab96203b989cf53a34f827bd463ea2bc5c23ea3a5223f73a6adff9bc325379bcaecac63a85a1a23a8d84a9bcfb7644bcda28833aa9a3993a6b8a0abc26f20cbcca7c8e3a7bd87b3a89c79d3b03bddebb7aca753a85068e3a0000000000000000000000000000000000000000000000000000803f00000000472ee0bb0d5dbebcbd0c873f7c262bbcaf4c9ebb21923ebcc7d2613fc49bbabb21bb89bba8d2d9bb795b383f7035a6bb70c23fbb43969bbb72940f3fa0ddedbb6dcd45bb060a83bb921fd03e620f37bc058750bab36fdbbb44cd823ea16c87bc969fa6390a9f2dbc060ce03d602ebbbc0000000000000000000000000000000000000000000000000000000000000000d7de9cbc412ba83b0000000000000000b8a96ebc1adc783b0000000000000000ae373fbc8ea0603b00000000000000007c840cbc24e63c3b0000000000000000dbbcc9bbe732293b0000000000000000c4b05bbb1671263b000000000000000045b13cbb63825a3b000000000000000000000000000000000000000000000000f262073bf0165abb2edd263c9629af39372c0c3b521bf9bab4cd6d3c254bdc3ac7f8143b0919833a82615b3c2b54f33ae6238f3a72075f3a48a44f3ce0ed3e3b1e961a3a7717193a68de1c3ccd4afa3ac77c183a75ba2d3b2ce3f63b5f67bf3a7ab34a3a9402083ae26d983beaefe839fdc130b9957587b9588d043b7b901fba796967b998504ab79510b43a5932bdba69f097ba4a49cf3ac00a7d3a52db8fbcf93a423a461deb391c8b703b6a51a9bc7d76cd3a0248823a5918ef3ad16b8fbcf1ad223ac677bd39d189163b82d76cbc91bc6bb90eed69b9ae10ce3ab3bc25bc834758385b628a399bc3683b2bd22fbca7e6dfb9f5d5903a197eb33a832d13bcf2b7e0b6727367394973153bb48f02bce6cc58bac7f1863985198eb94566b0bb2075bbbcb07ac7bc0193d6bb5c3e883bacdf50bd72640dbd2ab234bbabfa693b9e3359bdee4f04bd00166cbad8f80d3bc70b3abd2ea3e4bca30dd7ba268d253b00a504bd05e4b1bc9f5489b82e514f3b1333a9bc72328dbc6f1eb5ba8a5cf93ae984c7bb092f42bc65c6b8ba03b3ab3a9441073c9a6ae2bbd18c7eba05bdb63ab1db9e3c3aba19bbdf2923bb14c2013a214497bbeb3753bd966c873f371efc3dd42368bbbeb25dbd4e387d3f7ed0e73d255354bb99bd13bdab0a563fc65fca3d9c248ebb5608d3bc579c2e3f2335a73dc3ec6abbc60fa0bc7322063f2b89763d3894e9ba2f1c92bc11bdc33ed3491a3d1b158db98d9f8dbceceb743e6b0d6a3c0cd6123b6de69ebc9c0bd43ddb3e18bce6d38438beaa67bcb7d02ebc4fafacbc7eef0cbd7f9ca83b00000000000000009e341abd27f4e33b0000000000000000881300bd8576953b00000000000000009ca4d0bca7bf963b000000000000000089e1a6bcfcd3503b0000000000000000836c8abc0db5863b000000000000000020a84cbc8da0833b0000000000000000528f17bc20b4963b00000000000000000e38cabb3f177a3b000000000000000087ce8cb9d0ba08bba3fa203c48314e3a1eb3c63a72b9fbbaa3b8623c2ee9593bc254e73957f224ba4fe1453c1f8f763b97bee639d7cbd9383e7f523c9467853b667c403a0262cc3ae137173cb36a503b10d539b99c2fa539de500d3cc9a02a3bcf8f863a953173bab9a7d43b8bd2fb3a6dcffe39633c74ba2a14603bc99e11b96c19b53912917fba6978133be2fa3abafe96c0ba5b00513aa28324ba0ce98cbcd58d14393762583a314c303bdf9596bc64adb8b9ca77303a07c0f73a864e66bc63e126ba52ce2f3a93b8c03af04650bcc721b2b99d120c3aa8ebb43a0d1b27bcfec12eba0056b7395638603a9ce719bcf842dbb9d48cb03992c37739abbc04bc86b48eba3a896b39d7812c3a143beebbfcf3a8babea68438825be538102786bb6c0404bc25d285bc63d63bbc4f67373b4a61ffbcd0b5fdbcc7bf3fbc2b368c3b559406bd720de9bcccae03bc5eca603be32607bdc3f1e7bca86ae0bb5b31473b998eacbc81e9a3bc02cda3bbb8dd083bcb5555bca63e8bbc29d09dbb2b0f0a3be6dbc9ba65ea14bc54db6ebb9c5f0f3bdb193a3c5fdc91bb19db78bb018adf3aab728b3cafeddbb844a97cbbbd4d553ad3dc22bbb53269bd97a7643f16f98a3ec34fe1ba90c387bd2aee583fc32c813e73d811bbe6c837bdbfbf343fd5485e3e6b4d2cbbe09b20bd5ee8183f38a7373e57adc8baf6d2ebbc04f2e93ef7a10b3e9f2673bab2dfdabcf3e9ad3e6ed3c43d910e08babb7bafbca0a95d3e970f623da854ef3a3dedbabca5dace3d32526e3c0b90643a095b80bcf1230b3af8fb63bcf9a62cbd77808f3b0000000000000000076155bd88dac93b0000000000000000881121bdced1963b000000000000000076ef16bd73e4863b00000000000000008fbcdfbc35c55a3b00000000000000005fe9d7bc4ef0863b00000000000000009585b2bc90d0a13b0000000000000000f34b98bc658fb43b0000000000000000832d4dbcdd9e823b0000000000000000e5dc4e3afa821bbb19f7063c78050b3b2060093bc98715bbf5c8453c0323b53b10a6443ae9a525388c7a543cb3d5af3b42ca9539126994380c1b3d3c08a1c73b50f7abbab4a1ff39aa5f2b3cea0da93be873ca3aa5a4dc37a86c093ce77f803b30bc5fb8035085b8931bd63b9d111d3bcdbb76bad6bf12bb2a51a73ba0eabb3affa985b974be99ba423fa43b6e0f55b908c195ba50879b3a8382cd3aff2d6bbcdb116cba1761f33a9d0d8f39d31699bcf41fb9ba3547313acd9f1b3b991e68bc77b853ba74f1043afddfa93ab4142ebc73ac71ba5fbf243997bbba3a501e23bcd130b8bae02d4339ca92d139a11dfebb88db02bb5cf94bb73449c439d8c8d9bbc76e0bbb0eb5863955841c3a131eb8bbca72a0baf6f1eb3947306dbadefe86bbd1aba5ba5f4441bcf48785bcfbdfa63a56c78cbc6f4bdfbce41495bc784a5a3be792d3bc86b8ffbc674461bc13cf5c3b041cc9bc06b8e2bcc9a936bc92d33a3b66068abc3714abbc52ae11bc5bde1a3bb2cb1ebcd2977cbc86defdbb4b5e323be5f3063980d200bcb474d3bba4e8e93a354d2a3c46f84cb9ca83bcbb14ece63acb507c3c8dff333be55a80bbedd2893ac1b0c7ba9f335fbda5273b3ff2a1d73ec0a2b439005087bd93d8313fc97dca3e5dbe81b8c9ec5cbd8984193fb613af3e58be0abaf52230bd6e4ffe3eb5eb8f3e4872eabaef5209bda9f9c63e91db5f3ec5b997b96042efbc02c4923e4057203ea5bc6f3a2871d1bca0253e3ed036c33dd7691b3b2477b9bc384bba3d4de91e3d27e4f0386f357ebc6a83ae3bbce7e4bb1c9942bdfcf5ba3a000000000000000075f075bd05eba93b00000000000000005ac452bdc3e26e3b000000000000000023fa33bd74ad483b000000000000000097a216bdef722d3b0000000000000000b01c07bd96b8603b0000000000000000bbcdefbc34ff8b3b000000000000000017c0d1bce24dad3b000000000000000045c18bbc5178813b0000000000000000fb2602ba941cceba8fb6e43b93f0a33b15c2c83981aea9ba8c66103c0779e63b6ab499b98ca691bad2bd113c4f34f43b55cc57bae18b98baf908163c915c0e3cee75f3b9cf449e3a4f4ecf3bbb29b83b3805e3b92b727439972be23b07dec53baca876b9892e0bbaf81dbb3bfe703d3bac2ff2b89c2749baab8fa33bc404023b529ccdb9d0a4feb9a753823be381b63ab1574bbb515a0d3ae1f973b8cda35cbcdaae12bb7e32c33ac8b2d73a3b616bbccd1cb8ba090ca33a118c013ad52f2bbc03cc70ba00ee053a6e85ea3a2d5802bcc886b9ba2268ac3927fc823a2677c7bbfa3ea3bad80cd639a6e4fc39ef65b9bba88615ba7ee751baf74c3d39bdca9ebba19127bb5bbf113ab2661db8657a9abbb79d19bb0f846239be2256ba462c49bbb10b6e3aba9416bc24469fbcdfcde93a7e8945bcbd04c9bcf7c8b2bce82a723b02fb82bc2580e2bc64d787bcf15f453ba54192bc7ac6ebbc17fa6dbc6263463b36121ebc171789bc425419bc454cdf3a3a1ef8bbf4ea6fbce2d517bc3acb203b7e5417ba6cc58dbbf86cd5bb2736093b31abdf3b2504703b99f7e3bb5969c03ac178313c94c6033cba8caabbbebe99395e644b39fd3d53bdea70133f042e133f415bbb3a8b607abd6e910a3f04ae093f96e35db90b813ebdcf4aed3e993aea3ed1780aba05482ebd6baac93ef6e1c43ec0acbf38f8dad0bc8214983e1fa5933e0564e839f96be8bc76a46c3ed84b5d3ebe65363ab7d6b6bcfd97173e0f9f093edb88d53a9581abbc92fd993d8344783d58df143a3e6868bcef5bf03b651c83bb612b54bd75e4123a00000000000000009d1981bdbe9fd93a00000000000000004e474cbdc5807f3a000000000000000038c448bdb342ab3a000000000000000063290bbd31a5c63a000000000000000056d81dbde4ff373b0000000000000000525bf4bcedf46a3b0000000000000000752bf8bcf4c09a3b0000000000000000a875aebc3345463b0000000000000000c18000ba348be7ba0efa7e3b5876d43bf887a8b9e60604bbbe4ad83be608283c52163b39b5c8cfb9a093ee3b1b6d2e3cd20c83b9d68f4db94c61fd3b962f1f3c83d007ba9a223cb9804ef43b53bb063c30a7dcb9354802b795ffd73bba1bca3b9ec78c3a5d7e24ba414cd83b0b4b6c3b523bccb9cae738bbb8808d3b7ebf1f3b9dfa19b965a627bad3dd6a3b4724cb3a26e061bb983b2d3b6c4b7db96d0951bcc28e13bb447b1a3bada8203b1fac5ebcdbbce4ba0d90db3a8783e23a7a0910bcc1a7a3ba5aa2aa3ac8378b3a97d6e5bbf08054ba677c303ae2cbe839a0a4b8bb2060cbba6db6db396631103a6f72a3bb3a7121bb8c5ea83a6e9c9db992a7a9bb945673bb3aa3c53a9c7fc73a06b59ebba2e623bbbbe41238f85a953a5f0d63bbe2b0bf3af5b01bbc3251b8bc8cb6b63a925734bcf20ce8bcffe6d8bc5c2e953b121d8fbce23c0ebd1cc3b6bcb8277d3bcffa8bbc5b5fffbcf16995bcda9f543bfb0a56bc4e2fb5bcb4e866bc02bf3a3b9fe01cbcf6e467bc2b0d44bceaa6123b4d2952bb19908fbbfec225bc6720ad3a18cf5c3bb2df0e3c4cb40dbc15f0373bca15cf3b98c13d3c365aacbb801be139cf363a3bbdff45bd4110d93ed3173b3f66d0873b9a4a6bbd1494cb3ee018313fc5e0413b63e240bd2f7cb23e993a183fbfa4113bb2bd1ebd0635953e9f05fa3edb06c93a1216ffbc57db6c3e7974c23e8e08033b1984d9bc08a1303ee97f8d3ef518f43af4afb9bcccb1e93df430333ebddc013b47e4a0bc09276d3dbf44a03dacc03b3aa44b57bca35eaf3bfc2c3abb6fb863bd3675d0ba00000000000000007d9b90bd23c9d039000000000000000084006dbd105b2eba0000000000000000c30b4cbd918b21ba0000000000000000fb6b35bd764f103a00000000000000000dae24bd9f15b13a0000000000000000be2c1ebdafc6723b0000000000000000375e15bdd3e7623b00000000000000003b82c2bc03bb3f3b00000000000000000f0de339e0574dba0a4565b70e6f153ced8d223abf1601ba0fd4363b8ae2463cd12c2f3a18719eba4db5a63b47b23e3ce4edbeb9a4b360b8781aae3b20143c3c290a9fb8d48380b989cc943b1dcefa3bd315d6b898512d38dcc7aa3b41e5e63b20069bb970105bb92e338c3b1589993beab7adb86c9be9399a8d293ba5dcab3aefce8bba6ad6d8b9f7703d3b8b38b83ab14e87bba025e7390301b63aa6e817bc5eaf05bb51eb493ba15e113b70b30cbc8e30c8b9674abd3aa414e4393f9dc8bb1e292ebada4f003bc13b703a551690bbe480dfb8339d5e3ac69b2e3a11176abb98168fba8fb39e3aebb72e3a00d673bb2b8ab2ba1c67233a077c69392b835abb5db75dbb666fac3a1cbac339a2db3fbb89ce0ebb9b514f3a589894398e4a49bba5e14ebb0fa05cbca48ac5bc6ccc363b56d85bbc138417bd7097f8bcb28b993b339e89bce05a19bd0054b7bc9fe04a3b16f58abc1e3c1abd0e77adbc76f75c3bec6d4fbc5247c8bcbd696dbc7b0b0f3b6cb63cbc0d4e84bcbbf35bbc7215203b2244d9bbfce07bbb9ef91abccb681f3bdcd988bba624113ce03efcbbba471f3bc4de103b12027d3cff66afbb2b62893a96ba7c3b2a2c2cbd275a8b3ea58e643f1cdeb73bc2074ebdbb0e833ecc26583f7012613b299119bd1410653e0ed2333fa5f0653bd49507bde263433ef16e173ffa21153ba490c3bc027e183e011be63eedcf2d3b44dcb3bcf021e83d2beea93e350f1b3b4acd89bc3eeb953d3cfc543ef25a353b1e3969bc1e800b3dfb1cbe3d2287f93a82952abc1f7bd63a25ddc5bb7d6268bd76720ebb0000000000000000128a8dbd3448f1ba00000000000000004d224bbd3a48f1ba000000000000000081d442bd933030bb00000000000000001b6f15bd3de2d4ba0000000000000000259e22bd560cb1b8000000000000000009240fbd9c96f73a00000000000000004bdf18bda22b983b0000000000000000d005dbbc5c7a663b0000000000000000b43fc539aaac1cba626e32ba567a133cee9c6838ffa32039c4bec33827b7613cf01a56361bb81db93554fc3a22a25e3c06a6c9b93ca2f8380c68393b3d2d433c702a87ba52d3923a3913853b872b233c279953b94e1a0b3991f16e3bd707e03b667815bab161fcbae8ad393bcdf5aa3b9cb34bb9811fa8b8bb61ee3ac3ab883a6f5abd378ded7dba1590743a3bf1a23a86c641bb82661e3b8934b73aec25c2bb560801b8cc87373b3d89013b38de4ebb5b2c263ab0ad383b8ea8a33a944ac9bad9574c3a79b7213a66204c3a95938abae892bdb72ef1803ad79ede3ad8fde1baebefdb38104dbc3ab968e6392e89c3ba852e98bafdfe9d3a8d3cb63aa21d0ebb5645d8bab7afb43ab05f5b3acf59fcbac31305bb796c9e3abb067e39931d49bb1a7c0ebc1708cabcecc2e4bc5a3b0b3b958c91bc060f5cbd93de01bd7fd5d23bde7a92bcee7861bd0071dcbc7c8e863bff258cbc7d0d43bdb881b8bc6219783bb23a57bc61bafabc2f3d8fbc78521a3b77aa54bce39db7bc5ee563bc754c543b253b18bcd144bebb713032bc422a403bed1904bc5adb073c1d9af8bbe7ad583beb9e45bbf1b89f3c5bff8ebbf67ad83a6960af3b546409bd25e4fe3d131f873f9fa5d53bf06c16bd1f9cf03d1ce77b3fd635913b5c7deabc4593dc3d9300553f770b793b5633bfbce4cabd3d19d22d3f52900f3bb38892bc7789963dfec5053fc6be2a3b9cfa69bc32c9613d73bdc13e73c7523bbddd1ebce9eb073d39c36f3ef281463be1b306bc714a403c21efc93d944ef13a0604a0bbd14ba5bb89b881bc86e64ebd7d19b8bb0000000000000000a8a266bdfb2f6abb0000000000000000c3c92abd5375b4bb0000000000000000d7320fbd2a869ebb0000000000000000a06cfabc28b220bb0000000000000000049c01bd5e89ddba0000000000000000a58d01bd0ecfa1ba0000000000000000d4a915bd535e8d3b0000000000000000f0afe6bc8ad2d13a0000000000000000000000000000000000000000000000008ffea8383ea89a39b14667bab3502c3c38609738b51ff438c9f28c388a661d3c2112c0b94731043966f2153a26291a3c28dca8b93d4fdbb87f9e723a04c8cc3bdad537b94657a8391756b53a3dc5933b7e427d39d2aed9396e8a8e3aa580063b4e42bfb764c4d0b827b2413a2ed2e4390000000000000000000000000000000000000000000000000000000000000000a8b3c5395b452e3bb52cb73a46bf5d3ab69aab3a5fbf0d3b275e583a3fead13a600a173b8be1013b2cd25c3ac3c3a73a0d4c8f3a86b1913a35d15f3961cf733aa0f4853afdcb553a5374f0398e31793943ec2e3ab8cf1b39dc01063a61c283b779e30fbad740903a3789333a6a0085ba00000000000000000000000000000000000000000000000000000000000000000a0c75bc669155bd6814d1bc8dad573b9b5669bcc8a548bd851ea7bc822d483b9e3656bc281b23bd87cd82bcc251333b006136bcb6bdfabcbdf654bcaed2fd3a345529bc7239a7bc97c722bc98f51b3bd76119bcf3930bbcd58ddebb0668363b834d07bc4d6cb83b3d7c94bbc237143b000000000000000000000000000000000000000000000000000000000000803f0c169b3bea7e99bc4644c6bbebcf863f7384683b9d3760bc2eb85db98bbf613f11de3a3b48a527bc23fe2b3b460a383ff5b8063ba330e9bbef40343b3e600f3f8716e63a8292a8bb2b33673a2541d03e19c5e33a64a53cbbc6bf18bb3fbc823ede40043b7b63c1badf92ebbb0a7ede3d0000000000000000000000000000000000000000000000000000000000000000e7ecd4bc83fbecbb0000000000000000c26c88bc9fcbb7bb0000000000000000a51c54bc8dc9a4bb000000000000000026f358bcc23385bb00000000000000003a317cbc4f3131bb00000000000000000eb298bcbcdca9b90000000000000000ed89cabc4a76833a000000000000000000000000000000000000000000000000000000000000000000000000000000001580853a40c91db9e78e403c488dc5ba2ebcf33adabfb8b9a92b183cc90d32b9ac256db9e904ac39fa39073c4b628938bd0f8839bf966b3abc6ada3b23a81bba1bac68391850233a96edbd3b81566cba3f66ac39dae57239b04f6f3b813109bbfdd2bd3aa3cdcbbaffae6c3b64a924bb0000000000000000000000000000000000000000000000000000000000000000f36c22bba655473b45619eba90fc1cbc74a90fbaee4d6b3a92d2803a086af1bb39f456ba70035b3aaeb8efb91d5cc4bbd7117aba5b03aa3a19ae1db9e86e8abbbe024abaa0cf093ab36038b977ec85bbb8acb5bab653b53a35a589b9af2670bbf189d7ba62a93e3a73f45fbafd8b1dbb0000000000000000000000000000000000000000000000000000000000000000859e93bcdefb9abce01545bb7b43103b9dc192bce2d888bce2d303bbc774223be91866bc96275cbc52200cbb8445e83a2129f7bb707e26bcb2601dbb4932e43a7a7218bbc00602bcdeb61dbb4abda13ad1309c3bb477b1bb74b950bbe4041a3bd60c523c984a92bb72c9bebb7318573b0000000000000000000000000000000000000000000000000000803f0000000023f2e9bba1ff16bcb34f763f3b9b11bb3149c6bb318798bb8f32513fcc173bbbdf8fa5bbe7823fbbc5542d3f9fd157bb808982bbdb30f5bae87d083fd6e4a3bb240451bb585518bb13e8ca3e0310febb1fd11dbbf89f64bbeed0843e4e8b3dbc0c9b21bb5cd9a6bb5221003ead7a86bc0000000000000000000000000000000000000000000000000000000000000000f9c560bca7c1323b0000000000000000358e2ebc6b264a3b0000000000000000319316bc8628863b000000000000000057ebf0bb34e8163b00000000000000007646d3bbc432303b0000000000000000bb0cbbbb904d163b00000000000000009c4f46bb2a50ea3a000000000000000000000000000000000000000000000000811884ba6d7e93bb9d11803c953a84bafc8ae5b95b6e3dbbbef16a3c771fd8391ca5633900c799ba005a723ceda7a83ab5e5a43ad3bf99b97bbd573cd57e9f3a7bba01bbb6dc143a127e373c687a913ad25f73b98b4d8ab735db1d3cb51886b9f8641e39d1e68fb9760df93b05c5cabab020d8ba4ced61bafdd4b53b138765bb980952ba12d411ba99ba963b23d11cbbecaf82bb0b68eb3a0f8c09bb6cc615bcd6f12ebb7ad7103bb45d96baa15a49bc1bb220bb4c07dc3a7a3da0baaf3925bc47d823bb0c7eb63a04a8d9ba569a0bbcc70b5ebb924b293a369ba5bab34dc9bbe3ec2bbb3b6e6d3abb21d0ba7c48d5bb1cf045bb5e3d743a157dc8ba9345c5bb509c55bb2828c93a02bdc9bafcdcb6bbc1b22cbb2998903ae0c2c2ba3e1358bb172fc2ba175480bcb6c419bced774f3b94954fbc8a3bb5bc45e60fbccb2b803b3c8864bcdeeba5bc71eef7bb1fc0373b169a29bc52bc88bcfe54e1bb256d153b90234bbb1f3056bc6d7ce7bb242e993ab78e2c3b067717bc3d0dd3bbe49ec53ae690373cae4fb7bb6db0e5bbcadf763ae0f7a53c798446bb8f02f9bbdadbef3a265db63c90097ab84d3909bcc8bb8c3ad8ddd4bb54ffbfbce1aa773ff868043e9457d3bbb920cebc4e59603f993ded3dcf5cd5bb1fb889bc164a3f3f6503cb3d9ebbcebbebb04fbcb1241e3f24b5a53d41b5dbbbe25717bc6610f93ee8db7e3d70b690bb217f1dbc9f45ba3e1e80283d89aa75bbddf321bc2091753eaa30a83caddf19bbcbb636bc39b4f43da59a283991948abb2b4d10bc8bfdd03b4fd05abc870eb5bc716f733b000000000000000032afcdbceb57903b000000000000000037ccadbca24e4f3b0000000000000000a63198bca97f303b00000000000000007e6b68bc4c16093b000000000000000087b76ebc88ae413b0000000000000000c8f354bc069d603b0000000000000000be5147bc818a9c3b0000000000000000517810bc87bacf3a0000000000000000ed0290ba965158bb2cf64d3c28fab93a9aa18b3ab20a7fbb3b44813c66a8f53af1e6ebba1c119fba85a86b3c1f02583bfd92efba5400fabaee70703ce734373ba86e8eba85693ebab6a8443c10d6163b5d8084ba13366aba01e2403cfaf0ae3a57eb87ba004a87baf853163cc895123716461dbaf516c4ba19b6053c2aa2bcba08c12ebad54427bad8e1dd3bbf7cb9ba82a99bbb0262413a7ca241bb95831fbc635dbbbbca034a3be24f3abbb02351bc5bea6fbb046e6339fb023bbbb4110fbc25849fbb8b320f3bdc0bc6ba47a81fbcf3e785bb959d5b3ab04249bb74f0dbbbddf999bb89327f3aedcd58bbef22f1bb441a9dbbc08d993ab28345bb6b21d4bbca58a9bba245083b166269bbe9e8e1bb384596bb6a119e3afe5d73bbddec85bbac99ce3bdc3e1abcc0f94cbc8665b03ac30746bae5ac8bbce1b57dbc1744793b2fcb74bb7b2875bc5dae39bcc34f653a9d5c31bb14d773bc57dd4bbc208b303b071a373b104e12bc61b022bca6a4153a94da0e3c3c58dcbb3ef12ebca9e7443af15f5a3ce97c0dbb69b721bc8932a13a6444ba3c396c323adb8434bc6319833a2097b03c3820093b959915bc03cf82390804a9bb3053eabc84e6523fe93e883e1c86bcbb18890cbd9728413f020a773e96dfbebbe9a6bbbc368d233f067b533efc9ed6bb0d4bb3bc88150a3f2ae92e3e0187a4bb38f77dbc3885d83ea339083e7cea97bbdb4281bc8e85a43ee80ec63dcbf971bbaa255dbcd78a593ec1e7763d2c686dbb82ff69bc7f00e53d532fc13c906d78bbc09121bc24f8483cf22ac0bb92d7d3bc68f44d3a00000000000000004fd708bd07c5683b00000000000000001aefd3bc60062c390000000000000000140dd8bc3005343b0000000000000000be0ba5bc3176903a0000000000000000cf0bafbc237ff63a00000000000000006fa295bced43c63a0000000000000000bb6698bc679d643b0000000000000000da9359bc1444023b000000000000000087dccbba5e4858bb2311453ce270633b153c5eba22656bbb7a76803c2862c23bd51af2ba49116dbb7ec26a3cf3e1da3be3f4b0ba7fd506bb86da6f3c4d69b73baeeed1bac8b5b7bab7f85b3c0fc79b3b6d7fe8bac787edba4888443ced273e3be255c8ba5782edba4f872e3c4237f83a3c1707ba6ef5bfba6579213ca4ab1e3ae29cbebacaa256bae0510a3ccd35943ac2efc5bb7dc6ee39d41746bbe2d527bc69efb6bb23af213b583a2fbb61834cbc0ab1a1bb98dd153bf1ffecba60b537bc2287afbbe60a8e3a283348bbaf3c14bc91cbb2bb1937a73961c266bbcc31fcbb92a59ebb8a8606bad6e484bb9e7d03bce93dc4bb95de8b3a262581bb7924fdbb4dafc8bb0a79863a7f7757bb54c8debb83adcabbb694f539ce6283bb138c96bbd2e4213ca87b8abbd39e7bbcee1f1439c80eb33b48f54ebcf87aa2bcc94a423bc8236c3bd3726fbc279181bcf970223a6081ca3a760039bc0d3c74bcb059813ab81fbd3ba329d9bb781c5cbc3340b0b97db1253c3f4856bb560343bcafac2a3a3ed0803c9009cd3a16b84ebc103ebc36e830b23c7f1ead3bf22d4ebcbabf6bba56fba73c3688de3be64135bca56c7aba257486bb8b6df3bc3f0d2f3fe7fece3e14fe63bb5cc514bdd082203f2ff0bc3e7fe643bbe5d4fbbc6cee0a3fea97a23ef04b8ebb9439cbbc6b84e73e029a863e3d628fbb5bc5a3bc18e9b73ee2e7533ec68594bbe4db9abc60168b3eb8251c3ed39a5fbb285f89bcd6f73b3eabe4c93d222380bb196689bc681cca3d51233d3d5a6085bbdbf233bca9bc703c46cc88b9b6d3e7bc17c08aba000000000000000034c419bd67b031b900000000000000004fb30abd43d3e1b90000000000000000acd5f0bcc93bd6b800000000000000004c90d2bc979da7b900000000000000003d54c5bc1741b43a0000000000000000bc99c2bc2e30a03a00000000000000003a5fbbbc3fe6413b000000000000000095858fbccb56db390000000000000000350e10b880684fbb89d5313ccfcec83b9ebdedbafc589cbbe64d4a3c29a4f13b7c6599ba4de231bb4c6f4d3c1866043cd0c5caba162c1bbb503d533cfa57f33b986dedbaaed9b0bac21a253c73bbb83b688d83ba6b8e28bba5e63d3c0eb3b93b16197cbae8f8feba0535203caf68783b21d1e8baf3e299babf402b3c5fd8d83a452598bad9d691ba56cd003c1ec1043b8ddbcebb02e08637b0a962bb464e1ebcb9e2efbb8ae95e3bf18354bb0e2e50bc221eb1bb0a741fba38622fbb49a914bc3fe5dcbbddf3d63923aa53bb0fd90fbc9b2b93bbb8b49ab9374d5fbb588fbbbb8493cbbbff900f3a372a59bb40e80bbce621c9bb27ccff39e22053bb363ae9bb7e82fcbb144a183bc4488ebb10ae08bcd5f9bebb20289c38434e7bbb0343a9bb3022283c6d1dcbb9c0028cbc5c0883baf1e6bb3b158506bc41ddb1bc66f71d3a277f543bb36013bce76c8dbc306c3d3a25c26b3b0200e1bb48bb94bc731df9b80a7ec43b380123bb014441bce0c7a8ba713b203c2c8f163a27c869bc903b4fba0b33583cfaf0ae3be56d4bbc9d4371ba9fe19d3c63ce343ce96763bc00f0123a62448b3c28fd273c0d3827bc6c31febaae1143bbf4fee5bc790c0b3f269a0a3f0fae2cbba16812bda1c5fe3e3c1bfd3e7b7837bbfecdddbc608ada3e97c9d73ece895dbb4713cebcee0fb93e9dd5b43ef4f860bbfdff81bc5c8f8f3e33d38b3e78ec4fbb768093bc8b74603ed30f553e7c9d91bb62927dbc8ef7143e10040b3ec50f53bbc31983bc837da83dadc38c3d546b78bb6bb332bce06e603ca22f733b6d6aebbc225f43bb000000000000000032331abd62830abb00000000000000007e84fbbccdcbbdba0000000000000000e824f6bc6d11edba000000000000000069b3adbc455c05bb00000000000000005a85debc754897ba0000000000000000ef0cc3bc169faab90000000000000000b45cc2bc4d88c9390000000000000000595593bcff0a28ba0000000000000000a40610bbdc203ebba6d10d3cd41d063c589ed5b9fba090bb86aa2b3cdafa3b3c29d188ba0a8f5fbbab48313c533b343cfdf3e2ba9b3450bbc9412f3c8cac233cb131a9ba835f20bb004e283c01910b3cec57b8bab9c828bbdd87233c9c15e93b21aa07ba914ad7baa295033cf211cf3b34ddb039583e5bbb7409f63b2a62903bfd917cba0d40a8ba8f78f73bdb91533b7208d9bb56a58639226d80badfd017bc60d8f6bbd288713a5c45e1baec5d42bc3a35c7bb8f55c63a29a419bb78511bbc089b94bb3aeaab3a6c3241bb0cd00fbcf975c2bb490f983a13934ebbf43cf0bb3de8cebb730e133a2c1e4cbbba4f06bc82c2e8bb3829263ad2998cbbb14ff5bb9093debba21aae371e2284bb941619bcc1e4c2bbe449cc39d4ed52bbfe20c8bbc88b0c3c8bc38f3afdd19bbccad4ccbacf3aac3b32d3d1bb9f28cdbc801a3b3ace2c303b842524bc30ddb0bc5e2335398350213be41e01bc02e391bcc6f7573952eda03b468b34bbc1e584bc6d339fbac348f03b9ce1273b0cbe77bc68f971bad021393ceccaff3b174e70bc466a993922a4583c01dd753cf07958bca61718bb1386653cd0126d3c95232bbcfbf205bb1e80beba93cadebc62d4cf3e13b62e3f5fc344389ac60fbd9a73be3e38c71f3f65297bba4799efbc229ea53e823f093f643819bbbe78bfbcedfe8a3ec2dde33e463016bb90a6a3bcf9c65e3eb0feb33ec3e304bb175d9abc001e2a3eb76e863e4c5636bb534684bc8c36e63d564a303e943228bbb48f87bc91e2813dcb74b33d1c6e3cbbdfaf34bc74db403ccf02c93b1a0ef7bcf63a8fbb0000000000000000475924bd8e7b68bb0000000000000000442f0ebdd16e6ebb000000000000000097f302bddd4187bb0000000000000000d262e6bceae44fbb000000000000000086a7eabc6c8218bb00000000000000003bb6eabcf4d9d0ba0000000000000000ac18e2bcd1e4613a00000000000000009f37a3bcc4d66aba000000000000000013fd32bac33c52bb18acae3b4c7a1d3c543eb4b94d9a88bb7261df3b1a9a533cb2ae81ba9ad544bb0f0aed3bbb1a3f3c293429baa2513fbb453f033c7a97423c122b13baf95514bb413ef43bdcf2183c843bc4ba869c4ebb90c3173c191a033cbfd41cbab99c13bb1d03db3b45cacd3b2a33bab992123cbbf44cd73b2edf963b2d685eb81f25b1ba03d6c23b215d703be3d8bebb58ca7c3ad65497ba98210ebc7defd4bbcbcc2b3bd51c9bbaf23023bc76fe97bb36818b3a7e11fdba6a46f5bbe7f19abbe793883a0f44f6ba0e45f7bb831397bb2ade2c3939c40ebbb3c5d1bbca5489bbfb91fbb95418a9ba1e6304bcde13ccbbaa41a539109ff5ba9a1ce7bbff17debb6fb2383b702e3ebbd36217bc7205b9bbc4b0b939569e1cbbbe8bd9bb417ba93b4c482b38dfa4a3bcb127a6bae8cd103bbbbc13bc8e5ed4bcbf82d539a3b1bf38050933bcc7dfa8bc28cc57b96d4f59399ff215bcf677a4bcd229ebb9027df63a1d4929bba6f879bce909b4ba7316563bcafe2c3bb98d63bcad50d53a2e65be3bbfc6143c052a36bc882587badec50e3c99a9923cce4253bc384d3fba09461d3cc658913c392b1dbc87a9a9ba1da6583ac9a8ccbce3c2883e1368523f1a95e03adac5febccc3d7b3ec057403fd2fff33a702fc3bcd72c5a3eea0e233f240b49b91c01b5bc3f7c393eb4d3083ff2eb55ba6d9c86bcd80b133eaeeed53ee488c1bae1817abc5241e23d3cc9a03e545484b9e14058bc18d9993d0d9b523ed388063a111c6abc935d2a3dee1bd43de906e0bada3c27bc8d3f003c57bfbc3b5adfecbca9caafbb0000000000000000356d16bdd57cadbb000000000000000066e4ebbccdf49dbb000000000000000030a0edbcefdea7bb0000000000000000b04fc4bc7e4d88bb00000000000000002f28e7bc121118bb00000000000000000f51c7bca30022bb0000000000000000e04debbc85acf3b900000000000000009329aabc561b73ba00000000000000001a695a3ad64674bbc349063be252333c136b7d399ced58bbbc292d3b49d75d3c3c09e7b731ee2cbb58fb6f3b2cb7553cdbc955b94f4a28bbd8f88b3b08223f3c61aa70ba02abb2ba7c92a23bfb39213c51136bb9142b0abb5057933b6dba063c074850b961a612bb1dda853b66edc83bd7fe39bab8e8f7baf4758b3bf9a66e3bdbd4fb38d3c2c3ba0ec9933b75e96e3b18d4a1bb68dea23aa2d4be39e7b700bc182a87bb20d45a3ba6b80c396b1bddbb9af83dbb81e1073b0a130eba4948abbb8fa425bbb218bf3a809f69ba321ba9bb025283bbe46547b92bcbe1ba81ce81bbcbc161bb18bb4c3a69b29cbaa711bdbbbf2089bb3b89863ac52b86bad46be4bbc963a2bbea4a023b480edeb91bf7f4bbd802cbbb97cca43a6d92d2ba86fb0dbc095593397ad825bb4282aebc68d403bbc1bd58bb9f9085bc31c3d3bceb72643aa84f82bb939991bcaefbb6bc46346db9e47771bb825b65bc79ae98bcf68ba0b9f03ac8ba8ca4cebbfd0c64bc15d227b9d6f094ba0d221e3905bf56bc66ef52ba5c9ae93894e5133cf7b12ebce7aba3b92950383b7ecc903c53441ebc3ec2163a4c2a663b7cdc9b3c47de11bc60ab47bafc00493b37a3b7bce2cf043e4602773fffb4683bc85fc5bc6c0df63d79915f3f5e7d083b51c69dbcaca7d93df4ac3e3f30be983ac43d84bcf81fb93dc7801d3f1ba142392a985dbcd4df953d918cf73ee5669939f9993ebc3146623d5e74b83e2cf8283a689428bc1f2c163d8c57713e076a0bba090419bc20449c3c4446ea3d143c37ba7dae06bc503d353b8cf03a3b4e61cbbcf00fc2bb0000000000000000d88ae6bc44c8debb00000000000000001922bcbcbeace7bb0000000000000000a7b2a9bc38fcd2bb0000000000000000492097bc0c97a1bb0000000000000000cd39b0bc6e349bbb00000000000000004207c1bc5ed742bb0000000000000000d944d9bc410029ba000000000000000063d7a8bc9f87abba000000000000000000000000000000000000000000000000c653f339bada0bbbb1e8813a419c3c3c48fb84393324f4ba668c023ae751193c80c041b99f4ddeba81e18a3adc72083c81220cbaa7c5bbba5852bf3aa022d83b107920baacb6e7ba455d953a50e69d3b55c4b4395d00caba579f8f3ad6ed733b57142b3ac61622bb6921ed3abf34603b00000000000000000000000000000000000000000000000000000000000000008e20d1ba0460f93af13bb6b97890a0bbc709e2b9255ed83aa86514394ef60abbfc1cd6b94f5a633ac555a1b958ab0ebbf1a72dbaebe58a3a5c7bf0b9932727bb5e1975398019ad39b35fd3b9a2995bbb9596f1ba814f4e3adbeac8b7e20d89bbc87597bb3157053bf6d14b394186c0bb000000000000000000000000000000000000000000000000000000000000000024a7d3bbc0b19abcb3e19abc9eb55eba38fab3bb972495bc24ff7dbccc49c337b2199bbbe53067bc384c4fbce82c95b98d2581bb5f6804bc1dc91cbc4d9e02ba2fcd7ebbe97954ba026b06bcb6e6ad3a769e53bb908f953b7423c1bb99d6c4b8e560a5ba4e92693c05e392bbdc7756b9000000000000000000000000000000000000000000000000000000000000803f8839533b2b774cbc05e1c93ab2da763fad27053b3a741fbc4f35343b210f513f88cdd63a8ae0ffbb381e543bc9942c3f338c983a13afc5bb88373d3b7a56083f435ad9393c3eaabb496ef93a2e7fca3e83cb7e3ab4548bbb9281db3afc72843e5fa7073b04e999bba4404ebbf925013e0000000000000000000000000000000000000000000000000000000000000000249248bce912fbbb0000000000000000eae618bc3bc1bfbb000000000000000092ee09bc298fb6bb0000000000000000ca0616bcfdd29fbb0000000000000000bd8743bc66e48ebb0000000000000000e62063bc79ef5cbb0000000000000000c21d8cbcb7f71dbb0000000000000000000000000000000000000000000000000000000000000000000000000000000002004cbadf1d063a28c9673b141c83b9f7f193396631b03ac0c8643b03d3293894d4fcb92b16c13ac548073b12b35eba3c3854bac9be0b3a6c7c933bd521c63a009684bae5822f38c50db93a458c013b5f3131ba31f0663a2847333b302681b958b9fbb9ebfdbb3ac417353bddea9fba00000000000000000000000000000000000000000000000000000000000000002ef3bfbabc5aa038ce55cabad18a36baabe434bac3a6c9b974fa0ebb9ac5ce39b8fadeb932dc85b83d8694ba67fc0d3a8ad212bac16e88b977faeebada9f24ba11f3393abaa17bbacb11c7bac41f25bac8e745b927c2b9b90d5194bab4a4ed38a6f1e9bad66f0bbaef7935ba6d888f3a0000000000000000000000000000000000000000000000000000000000000000879ce43af98803bb21dd19bbd9179ab96bbf02b9b7f39cba99e192baf56e92393994243acb080dbb1be512b9210e6cb8aecbb13b2aa240bb17a637bbba946dba639b5f3b04b48ab98dda48bbb938ecb9aa7f5e3bd7b6c3b9c18408ba08f09db922e1a13b27bf3cbad93aeeba3f4ea7b90000000000000000000000000000000000000000000000000000803f00000000d17105bb3cfc4fba0865633f2b19a13997cd1abb6f26beba7a5a423f131c2c3ad113c8bae2ddf53948bb213f37cb02ba8cc114bbe8e05aba028e013fff7cd3b75ee9f3bad2d051ba8904c23e52cde5ba3f8676bb1612c4b9b30e823e78221bba20df53bb5a51d8baca65043e92fa9dba0000000000000000000000000000000000000000000000000000000000000000e7af3abb1cf9f6ba0000000000000000a025b3ba2010d4ba0000000000000000c696a7b94feb24b8000000000000000039d034bb764496ba00000000000000005c0154bbe73d3e3a000000000000000065645bba993a50ba0000000000000000f88406bba0affdb9000000000000000000000000000000000000000000000000d1a628bb56e68c3a005baa3bde5d9bbab2251dbb359f85382bf4b33b43af863938458fbaee91a03a3be6bb3bafea863a01b4bfba4fb2133a82649b3bee4e2e39ee86a7ba6312373a6099873bfd1984373ea4d7ba9a9d083ae55cbe3b4d413fba504dacba9f543f3acb0f893b0d4d32b9f631d6babeaa0d3ab1d3753b5b7b76baf101bbba77b5703a3e926f3bb82ddeb98569aeb965acb2389b82f3ba8821fdba165a0fbbb2fd0f3af217b8ba68f4aabab9377aba86562dba8e5bf6ba625119ba6e42e5ba020344ba73e11bbb28e950ba652cfdbad8616cba111ef7ba42a9e8b90af514bbf2b20cba4e1818bb665625baa3d9f6ba3c75e6b9955a0bbb44087db908afa1ba9b8067ba1d4329bb519d39b82de2fdba5f5291b8900311bbca90fa396521953bc8350abb83a902bb0ec5373ae0067a3bf4b5bcbab73751bb546cdbba3da8823b97301dba29744abbda0b1dbbfbb1573b781ca1baad891dbb2f9472ba5e785e3b3e1753ba74c315bb36c4f3397a7bc63b75cb473a9dfd9abb66a9b9ba2827b13be32ac7b80c2a17bbd33d2aba98cbce3b383e0bb99da258bba22111ba1da8c33bd29f6039565c11bb282d93ba59a61fbb6da2d0ba873a633f4750003e0d2781bb444033bb9ca9473fda39e43de5c446bbf5daabbadb5a2b3f1927c53da1393abbe59dc4ba16c50e3f8715a33df73d1fbb6c3275baca52e43e9863813d42dca2bbf10bb9ba46acac3e4a3e3f3d51c138bb7579abba7f69663eef9f003d0690e7ba848ac5ba05c2eb3d5ea8773c65f742bbeebc4eba53d59b3b6e6b28b95e8d20bbf7561ebb0000000000000000d3016abbd0ef98ba0000000000000000038160bb96953bbb0000000000000000463438bb317e91ba000000000000000015d937bb4d3792ba0000000000000000d96eb1bbfe56abba0000000000000000a21531bb271f8cba00000000000000008e2771bb98f606ba000000000000000038dd20bb81a1a6ba0000000000000000fbb6c8ba74092e374103a03b0838083aa790c2bafdb49ab9dc5bcd3bbdff2e3a3b88feba1d543e3ab1d8d43bd5d0f439b6eb07bb4723de39767fd03bf01db13ad681d2ba3a32143a13c39f3be8a1313a8fb315bb2ebb62ba76fbda3bec4acb3a5dc54bbb93b98e3a3ab2cf3bf8a43bba08c51cbb9fbf033b6db7953b1946273a5d9cf3baa269883a1fb9a13be634fe39eea840bb8dbe49ba4eaa42bbd6eeb0ba8470b3ba2ce581ba991122bb8e3704bba6032dbb4715edba628a38bbdc9192ba846736bb15f753b9717245bbff4577ba6ac721bb27a31aba08f028bbe38d14baa0ab39bbe4395fbadf9e95ba0821c1ba86bb5ebb6cf10bba51fe88bbd4a3edb9176035bbdefbebb98da274bb9d7e483a2091b4ba488f4fbb36ab46bbf71f403958989d3b9c47993795ad02bbec672fbbc756bc3bf7949eb9907d95bb9e1923b9feb0bb3bf172fab928e174bb18d5973a6babb33b8b9c2d39577879bbbc83fdbafb5c9a3b3d4c4d39dee548bb54740c39b8dfad3b6974c43a7c824dbbb808e8ba1010fc3b5ce1d73afe5a67bb01a833bb79a8113c4ca8fa3a700e53bbebe705b9dffde63b473d9e3a83f119bbedd88cb99ca6a0babc1a52bb85c6423f7587813ed6aa4dbbe3a96dbb3a162c3f5c75643e9d0a56bb9b5e3fbb91a6133f81cd423e72434abb94dd18bb0c06f63e5b26243e64aa49bbc009f4bafa58c43e4554023ec94f2cbb723102bb2c09943eeefcc23db406a3bb146fdebaa8dc473ea844843ddd038bbb938f6ebab6c4d03dd8bc083d5fbd69bbda6cb6bab8c4c63b5a1aa63a7b6714bbd4dc9cba000000000000000059b9a4bb8ea047bb0000000000000000fea373bba33a4aba0000000000000000678888bbb43b5ebb00000000000000004ed362bb7bc001bb0000000000000000b51a71bbab2122bb0000000000000000fab5f9ba709760bb00000000000000008a6c6abb87f0f3ba00000000000000005a6239bbf76401bb0000000000000000f729dcba8f262638ae154a3b3dc4d33ae3fc21bb7e9d94394217f63bb8b9923a9b6a03bb3825ce3944e1d63b4d890a3bb33543bba13391ba38e2133c52a73d3b1972e1ba0bd3e33985cbb63b1cb2da3aaa9000bb801f0b3ae83ac83bd5d6fc3a04dbadbba05cbbba942b933b65151e3be6c6fcba44b0093accedb53b1581953a270f06bb08de8b3ae91c953b5c6c983a314c26bbadc679bad44621bbad36a3ba3a4880bbc81358b820b679bb5521c8bae4f246bb8d2591ba15da4abb49869ebab94c2ebbb79e52bbed6085bbdef0963afc2b2cbb6f0436ba90043abb49bb45ba69b83cbbbc0dfdbabd9d79bbd27313ba2e7c67bb0934b0bad82851bb0991b03a826640bb0483baba839952bb6a8105babcd872bb00f709ba958655bb38ed63398a83e43bbc679c3a3daf84bb411f03bb79e5dd3b17e2143b73e1b1bb48ee3bbbfc7dbd3b296cb13a6abe86bb88b93bbb0ceb0b3c60c2f03a896196bb835ef5ba6f8bb53b1160af3a467b5dbbc49635bbd99ad63b2b0c083bef4671bba85223bb9dc1fb3ba8da9e3a6c0308bb62450ebb2fc1f33bd34a1f3b8d4169bbeb3301bb4478c63ba4eb0a3be5bb89bb8ff014bb22a233bbb374abbb1fd1223f7897c23ebbca87bb7f3d7ebbfb380f3ff6e3ab3e73f165bb00d044bb0cb4f53e8332933e67dc81bbe116d0bb3fd3ce3e9ad8773e261854bb6e4b19bb9b6ca43e6e9d443ee66a81bbe0831ebb63ec783ede7f143ead260cbb8d1c16bb554f263ec8eec43d26e580bb42511fbb7e6fae3d89cd4b3db6017abb71248fba0fc4b03b3fa9153b2dc90dbbf56c3abb00000000000000008008b3bbfbf035bb000000000000000096f491bb54a851bb00000000000000007908e4bac8d9e0ba000000000000000092a975bb90ad43bb0000000000000000bb0287bb77fb40bb0000000000000000107d98bb4cba97bb0000000000000000fc7088bbd25029bb0000000000000000f9b52cbb5ead57bb00000000000000001d588dbaf43fefb8fc9bad3b6d8c2d3b242242bbce2fd43952bdd23bbcd24d3b2e17fbbaec6e8d385c9aae3b3213243ba5a216badf9590b75198bc3bd9552d3b87e378ba0ab016394f8fa23b0807163b9f02e8ba16097c399891b63b3a4b1c3bc03701bba0f377390ca5a03b9a77033b869c04bb3634ec39e25dbc3bea20283b362363bb40ff303a8e49ab3b2175d13a8bf217bb240dcdba0fa607bbbf19acbaefec50bb66cb0fbbcbef7dbbf3277bba956a22bb6579a3ba762733bbb3a2a3ba974934bb3ff5d0badb2349bbec4b8eba36671ebb6d7bd4bab92e41bba44c6ebabdbe32bbfbc120bb18c051bba7355bba47c021bb7d43f7ba32b63ebb6ae32fba3ae273bb42958dbaa72459bb64c227ba873128bb03de1ebbfa4c85bb4779c5b92e21b13b8c86343bb71b68bb6641d5bad0a8c73baa7f303bb0e093bb414b53bb7b019e3b64e7003b0bd56cbb8e182bbbf8caaa3bc1510c3bd4087bbb9bc84dbb9660a23bd882103b118145bbff8929bbbdb6bb3b80c1323b1f5769bb308840bb045cb93b49753d3ba57f41bbd2221abb1df6eb3b24d1853bbffa8ebb5d0532bb583ed03b6807583b870f37bba9b13cbb328009bb188d4ebb4ee6013f6be3013f867d81bb3ec44fbb4b10e53e488fe43e6f7a3fbbc0903dbbe813c43ee698c33ee73156bbe55846bb0d60a43e44aba33e335758bb2ff719bbb561833ecfb3823ee98968bb858b24bb176d473e3269453e541a53bbf39c0cbb7e05063e3c38043e43907bbbd2991abbe8be8d3d5e66893dbca686bb9152ecbaab0bc03b6a85643b8b2872bb67c184bb0000000000000000194893bbfa836ebb0000000000000000749178bb07794bbb000000000000000006dc86bbf24d6abb000000000000000069df55bb57464abb0000000000000000c36b7ebb635050bb0000000000000000ceef62bb232136bb0000000000000000a573aabb261466bb0000000000000000332e51bbe8c349bb0000000000000000a7eec2ba0957beb8898b8b3be69d4e3b3586aeb9e7f60cbabdbdb33bb55e773b3b9f23bbf84ba0ba26a7d03ba7bb743bfb440dbb1c9bcdb70f18ba3bf5ae6e3b9066e1ba2e8d643794a0a23bd9ff483b0041ffbbce4bd8b901101eb9d15ebe3b4f9f14bbe1f27cb94fa7b63bc0a0263bbef737bbf246623ae4f4c23b52f0373bc82376bb8cd2d33ad541c53bfc0f6d38b29f1cbb2259aebad46dfeba1e4da2ba00c74bbb46f20cbb80ab41bb8e7600bb2fc389ba78dfc9ba484592ba1c2327bbd03437bb61e7b6bab9dc64bb41dbb2ba087a23bb95ee20bba6423fbb9fbf91baca67b3bbb9e33d3a073f61bbac87a5b8438e3fbb5ff41abb113649bbd3109abad2f554bbe91e14bba19883bbe13f01b9d5f212bb0614efbaae1d34bb19f84f3add258c3b23ba4d3b575b32bb20380dbbf862a53b69b94c3b41ca9dbb697336bb2aa2bd3b04aa553b779f93bb5640c1bb874ca83b43a8423b4e6387bbe5ef71bbdda29a3b66233f3b03d166bb7a8134bb3780da3bd6f2b33bc2c4debb1d4e7cbb018dc93bbb9e873b947e5ebb70b047bb2773eb3b6fbca33bf8c376bb10804cbbb022a23b188f783be6b32dbba83effba62d0dfba4f143bbb0db8c23ee827223f248f40bbf6f488bb97dcab3e62d90e3f561044bb9dc55cbb2943943e1581f63e4c7652bbd56653bb0dc4773e13e1cc3ea1b951bbd32c30bb7062463eaeb6a33e034086bbb0944abbe1ab173e1385793e03fe5ebbb4f633bb333dcc3d88cc253ebd9e91bbebd47cbbe30c5b3da573ab3d1d9e46bbc9e618ba00ec883ba829773b06a33fbbe87873bb000000000000000064909abb04a082bb0000000000000000b56b11bb089e88bb00000000000000009f9b8dbbe1698cbb00000000000000002e0974bbfe8f50bb00000000000000004e43e7bb770661bb0000000000000000d08284bbae375cbb000000000000000021708ebbeb6a79bb0000000000000000b1afa9bbb12816bb0000000000000000d6d265ba6cd717ba5b8d833b619a803b850d42bb511b2db9c5e8643baf1cb43b3f5c17bb907d063a39c3a33b68118d3b90f2d2ba67351739313a743b88298f3b616cb0baafea08baad7c7b3b74a73f3b955fdeba3e4a43b92c06993b104b613b875f25bb1ce53aba10ca9c3bbc9b193be9201dbb19f23eba530ca03b8cdf283ba53cd9ba24548f3ab84a683b9031fb3a94d823bbc1471cbbbc1654bb4a36e3babf1666bbcca6e5ba22327abb4b486dbb1b1132bbfd09b7ba438e41bbb61b0fba8a8385ba49e548bb907e2abb97bd8fba551f02bb0c65afbac8d112bb51dec6bae8f12cbb950c39bb46aa3ebbca5daebac73480bb9b23acb9debb41bb03beebba779ae1baf34e4cbb30c262bbad5cf8baea1827bb8e58b7babbee46bbee4613397d83853bf6cc7c3bbe5e84bbca104dbb4a1a3d3b3214953b872facbbe28a4bbbbc376e3b732a683b2a3d75bb776c2abbc5af483b9c40df3ac07629bbc09f8ebb807a5c3bd32c423ba90045bb10d91abb4608963be709833bc19a64bbe7612bbb4bfea43b494a753bed9345bb468304bb6523ad3b5085a83b135cc4ba88923fbbd890823b4da38a3b218e49bbbc4512bbaee736bbb47a56bbaa1b823e48de423f1b5080bbea40b7bb6f42663ec3b72b3f129162bbafcaecba86ab453e3ce9123f98b730bb701d3bbb4a54243ebefcf53e4dc70ebbcd1d2ebb5b29043ec0c3c33e37115fbb286349bbbf6fca3d63e1933e5a3049bbc6e139bb1d56883d0e01453ecb7d5fbb948d53bb2bad123dc859cb3db054a9babd7f3cbb10165c3ba628813b71ea6bbb0ea864bb0000000000000000fe74a6bbdad586bb0000000000000000447066bb62999bbb0000000000000000265d00bb6df88dbb0000000000000000ee244fbb8cab3bbb0000000000000000b14381bb97764bbb000000000000000048d188bbf6257fbb00000000000000005368a7bbd58d45bb0000000000000000162c6cbbaa521fbb000000000000000089d6b4bac6d633ba1b9e2f3b1b5e753b0317b6b79fc27aba16e53f3b21ec853bfc357fbae2f918ba28d9493bc5ca713b5442bdbae44d203ac80b8e3bc7abac3b5562b9ba39ff48ba9a0f363b5f34473b57a472ba75f88ab96b6d3b3b21d1433b288308bb09a3db398bde793bc6695a3b5588003ad52d04ba1bfd533bf28f2d3bfac01cbba557133821a0b93a5a6f573b503be0bae2cad9ba8c2df0ba4279c2ba03ff15bb26cbf8badf6450ba2b3f11bb5201efba1a6bc6ba01e1c8ba7e53ccba37042cbbad5f8db576700cbb45bc6fb9fe5acdbaf8e4b0ba978bcbbaaef9d8ba1c8a03bb313592ba4514d3ba729198bac56c3cbb8ce51fbbf02e19bb35d904ba0b0130bb04b1f0ba29790bbb8decb8ba79e9abba149cdfbaeffd4bbb9fd05ebaf2c6133b1d404c3b4f864fbb1c3928bba29e0a3b11ee223b982f8dbb98b34fbbab97093b99030d3bce066fbb39fb18bb6bd0633bda22fa3aaa697dbbe9be92bb6c4d0d3b80fe203be0622bbb74c4fcbadcb71f3b9807583b97cb48bb34501ebb89c95d3b19159d3b5cdc53bbd81468bb1834583b1a6cac3b4ee34ebbc5dc25b751c0e13a930ab83bda5dbaba7ff971bb6aa3cabaa51a33bb021e023e95f1623ffd7b08baa86271bb484ae53dde85473f96eb4bbb0d6c2abb101dc63d89062b3f4c2de9bac580b5bad0a9a43d070d0f3fe3458dba67a41fbb77ec843dbeede33e2623c0babf1c05bbd1034b3dc177ab3e78029abbe71a0cbbc0910c3d9b22663e1389fdbadb1624bb4cbc933cf9ede93df51e75ba7fb160bbaf6e5a3abca09d3bb3021ebb80144cbb00000000000000006b6f56bb27f8f9ba00000000000000003e8a33bbb91347bb0000000000000000831646bbacd467bb0000000000000000ad2628bb22012bbb0000000000000000f4614fbbc2cd40bb0000000000000000ecb641bbbc9a73bb0000000000000000069381bbb1e46dbb00000000000000007eeda1b989ae0fbb0000000000000000000000000000000000000000000000003f3037ba03a955ba8566e13a3295863b47e6c9baa2ae14b9cfd0cb3ada012d3b69f030ba72808636890fa139dddae93af3fe9aba5618813ac3ce3b3bf8dd223bb00ba1ba3c477eba99c1123a36fc973a2b6506bbc0b0a4b84381f63afa6f3a3aef77923ac050d4b9d1fad53a9474043b0000000000000000000000000000000000000000000000000000000000000000c91e08bbebab8aba591d94ba4a28c6baf75877ba82cacbba8160f3ba123321bab853053a39343fbaa4df83ba3286f0b9bc53b5bab92289bab5a507bb8d38c1b9dcd40cbae1355dba718e37bbb1ef223a5b80f0ba253ebbba7ed5d4b9179b0fba57539dbae4ce5cbad7c31bba817b7bba0000000000000000000000000000000000000000000000000000000000000000af68623aebbb0e3b99107fbbe5cb69baae697d3ac350a53a8fd51fbbe2f7acbac617eeb96493c739dfe331bafb22c5b8a7ed093bf766f83a2a0d20bb6c0cfaba0d518539b9a7a13a0a2ca3ba7acda8bab2bdc93ac692bf3a0c0e5db90889d839ff1ab93a9e3a803b4e2ab3bad5f744bb000000000000000000000000000000000000000000000000000000000000803fbbe411ba25d109bb2a2c813a2e28633f77279ebacf1741bb2d21973a2263423f588f613a2ac793bacd45b8b85f2f223f6d2ac8ba2a6a42bbad7b323b268d013f8aae6dba06ae4039e777b439a6e5c13eb9913cb9c2586cba9e3734bacd0d823ea0d633bbedd2b1ba58574d3a1f36033e00000000000000000000000000000000000000000000000000000000000000003d0121bb59455abb0000000000000000465ba9baad3b05bb0000000000000000301ad9ba4afe06bb00000000000000004d7504bb222123bb000000000000000006727aba2a77caba0000000000000000a5882fbb99ad0fbb0000000000000000028614bb0a7fe5ba00000000000000000000000000000000000000000000000000000000000000000000000000000000173020ba7df6703b19aa943cc25ed83b36b68439f1e6af3b9d606a3c8d15fc3b116dbc3ae31f763bd492353c16c2a33bf8fa043bac283a3b6f36bb3b5aec4f3ba104bf3a921f6b3b1f54943b661d073b8f79223a385c4c3b36f0a93abf3b233b5827bbb9154e573b878907bb8ceb1d3b00000000000000000000000000000000000000000000000000000000000000005af20e3b64f809bbeaf9c13b8d5bc7bcdaa46a3bdc80e8ba109e893b4814e0bc0bf9953b56536fba1777ef3ae841d8bc3461903b3ef7c0ba6272b93a382cc6bc04c1703bf87164ba8078ae3a7886aabc4095453b81e19dba10a5fb3a0efe7abca179003b77c770ba9e1a643a4da8fcbb0000000000000000000000000000000000000000000000000000000000000000863300be8cc412bd288e463cbe97f5baf1e2f2bd704314bda5de123c7623ceba79d7c2bd3a9b0ebd7189883b8b02beb9cdd798bded7afabc9756663bea6a15391b5061bdfb17c2bc0cec773be6dfa3b9299a0bbd081e6fbc5e33573bc3548db9b34324bc1295ebbb77c42c3bbacb63ba0000000000000000000000000000000000000000000000000000803f0000000025c2c53b5f577bbdae1f9d3fafa147bdfa9ab03bcb3701bdcf60823fd6a0d4bcf541673b93a192bc92d8523f907084bc115c6b3b387647bc0e1f213fe35a61bc631d393b45da17bcfcd6df3e852981bc8f27843ba4b430bcc3e37f3ee87ea2bc31e0a33bf7a67bbc23c38e3d98b7d6bc00000000000000000000000000000000000000000000000000000000000000009c5ecfbbba5b403b0000000000000000330582bb9e431a3b0000000000000000eecda3bb5ed6e03a0000000000000000d71ee0ba3cc1043a000000000000000004a8a43988802ab600000000000000005ab8993bda59f0ba0000000000000000c77e153ce17ff8ba00000000000000000000000000000000000000000000000083348a396797deba20fe7e3ce459f13a1d0ab4bae110ad3b4db1b33c34b1273c4063a13a4d579b3b8bceb33cc4371e3c4e3a623b421d123b8997933c3330fa3b9777253befb4f03ace96543ceee4a53be0d01a3b781b263bcec3133cd48bb13bd6448d39525b513b1e6c8d3b6076b13bf24202bb524d6b3b52155c3a8665453b05f5ccba20ba4b3a595cfabab9e523bac1385c3a9ade8fba9dbd123c89bae7bc3665273ba4125ebb0dce373cc71cfabc53b46a3bf07221bb3470073c7c6410bd760c833b634484ba7226b43b256312bdf2d1913b343553baaf58803b9a8bf7bc3a67913b38b5cfba5565913bc887debceca02a3bdfa4e0ba78d4643ba50399bc2230cf3ac495e5ba2b6f613b333b28bcf342df3a821f24bac4e07a3b9955b9bb0dc183bdd541d7bc25f3f43aad21253a0f9703be685220bdd90f0c3caa7259ba079c03be7dd345bd89fa993b747aa9390220dfbd837947bd95364d3b31c9b8b9a57fa5bd646b23bd87f42f3afddfa63945ab79bdb35006bd338eae3ae853703a73610fbdb906b4bce79faf3a7b638d3a269326bc33f412bce93e233bad4c0eb780a3863c6fb8c5ba1447ad3a7d9a5eb93953483cf626f5bdbae69c3faaadab3d6af58e3cd0c4fbbdb47e963fb5a5963d23502c3cba5eadbd5660813fb104a53d5e45003c58a67bbd8673513fffb0953d4f81ea3bf69131bdbc761d3f0315673d73ae053cf4bc1fbd2f3ddb3ec2eb123da4a3083c24640cbd2f27743efd8c4d3c31253f3cdc5700bd9fa2843da2e9d2bb8419093cbfbbf7bc758851bd24ddddbc2cacffbc2678d73b00000000000000009aeae0bc6b79b83b0000000000000000a636dcbc3962b93b0000000000000000f109a5bc1119843b0000000000000000e5758bbc2e5b5b3b00000000000000009dc141bce729c63a000000000000000028dddfbbc4ef593a000000000000000053bcd83aff3dacba00000000000000004732a23a19b0773a0000000000000000c766203be3384cbbbd30513cce3a0c3b586ac73a95f2a3bae356973cdf09c43bbdced03a99f72fbafdf2843c4b84b13bf63e4b3b71e236ba6dd48e3c6f51d83b09f5373b548cf0bae1c3543c78f4743b49352d3b1cae19ba78d5183c21ee3b3b61ccb63ac2d280ba6421bf3b2e77a13ace3b973a80f386b918b1cfb98e87aa3a076002ba10051abb2ae7903adc5a7f38c49cb5b8c3147fb95d080d3c4bae09bdef01663bb2920bbb83dd453c1dfe14bd45ec1a3ba5968eb9d8250a3c6dad07bddd929d3b29db47ba09a4043c997d11bd27dd443bebaa9cb9d754ac3b39a2eabc35be563bbf3710ba929cc93b37fcd2bc9282023ba3001fba76fd8d3b821694bca2aa4d3bfc60efbaaaa4333b567e31bce9b69ab8ab6fddbaf16c9f3bf79ae7bb23f501bda4daa8bcb11c26bc392a453bf92eadbd62783ebd1e2a9abb2070813bf047a2bdcf954cbdd84de3bba1287d3b232bacbd2ad165bdea82abbb80783c3b0e6276bdf78f2fbdc6f7b9bbd88a3d3bd0ec3ebd053f1abd061370bb7236573b9885b4bca450c1bc283b1cbb277f493b95fe8fbbe4663dbc5e4a9db86ce6613a2e3c5f3ca7a305bb56ad5b3afd70663b28085a3c9692f6bd8b22833f3253863e07d8923cd98808bec332823f63d07b3ed177263c7c55b7bda82a573fb4b5673e0627313c3654a3bdeeac393f4a1e3f3ea3d0103c41b771bd10950a3f3d87143ef686203c1cbb62bd6393c63e030fcd3ded1e143c17e02ebdbf576c3e1c0e6b3da46c593c3cbb2fbdd473a33dc7203b3c395f493cce940fbd881aaebc3efd9abc64df5cbd7223083c0000000000000000f32173bdcae61e3c0000000000000000bc3941bdea0cc33b00000000000000003c2e2abd3902da3b0000000000000000f13807bde3328d3b00000000000000009672e9bcecac833b0000000000000000dcd3b6bc6b29563b0000000000000000a9726cbc342a953b0000000000000000936e29bc4fac38b90000000000000000b610453b86d6e5bb7152383c4d49f73a6a99383bafcd59bb304d703c475dc73be8e2463b659708bbc7f0853c7022fc3b89345b3b6002f5bae194743c3044d63b6fe24f3b9aaa31bb8a4d2a3c5f77943bbf07283ba309cbbad431143c0568953b688dbd3a5db4c3bafb1bb13be693243b095f3439d4f10fbb8cc3443b15092f3aaf03653a5d9f2fbba47f003b6a54a8ba53ec9eb9c598983aedb3ec3b67b805bdbaf90b3b068be1b7d477313c6ad013bd35bf533baf33b83954da0c3c5a360dbd1090473b65228b39aaf5e43bd257fbbcaf0aa63a36f11b3b3e99ac3be139d7bc7bf3b03ab973503961dcbd3b2bf5bbbc0eae1f3b4cbb78ba31f9ba3baafe95bcb5532c3a1292a8ba020dad3b4e953fbc928270b92f28f6360bcb793b3af1e5bb935c40bc309ea7bcb19ea5bc2913a83b248066bd9ada4bbdfd5b95bc2917e53b2ac691bdd88c7bbd661885bcbd4cc33b304787bde1d86cbd1f3173bcdd97ac3b4a4e51bdda454abd794e65bc86a9bf3b4f001bbda4e01fbdd2c21bbcd83c893b04b3b1bcb211d3bcac1cb0bbaa20a73bcbd38abbc71442bc3339fababe50303b2ac83c3ca1f68bb8031ccabab4d7363b0bc1243c6e54d3bd1a10543f09d4e33e70b3823ce46bf7bd85e8523f17ecdc3e3e0e573ca80acbbd85e8393f9bd3c33eb724363cad89a1bdb2ad183f5677a23edc39253c5d9583bdd00ced3e708c7e3e6984183c5e4268bd381aa93e6133303e4f67353ca73a4cbd66834e3e49cccc3db96e473c55a037bda893a93d8777053de7d5fe3b3cfc0dbde45851bb86e879bc712b94bdad72013c000000000000000005a2a9bd2b8b3d3c0000000000000000b0bd91bd25061d3c0000000000000000a2df70bdb578f03b0000000000000000206e4fbd7f6f9c3b000000000000000044792fbdce9be93b0000000000000000f04816bd447acd3b000000000000000004d9ebbc8dc6f83b00000000000000008e93b3bc38f8d03b0000000000000000c9bc503b4d7bb7bb1a09303cb10b923be6df113b292d6bbb62f82e3c0cfbe13bba28433ba4dc1abb1daa4c3ca2c6173c65af583b28c984bb42584d3c840e063c6726053b146246bba4a5063c6f8a873b936f273bcb2938bb3ed00b3c83f6433bee139a3aaaa19abae55ea53b90c3de3a2599913aa6dd5dbb9cd81a3be8b7fa39402c4e3ad6fe47bbce48233b557ec1ba326c52bb9c90eb3a0eb1a03b205bf3bca1e60c3bc55f45396da9163c7ecff1bc1d73573ac369cb3a07b0cc3bfcb5dfbc55f8dc3aa685d53a3717d63bf095d3bcf480fdb99680e53a1efa2a3b700b9dbcfdd3ad3ac62cc33a82a3b43b840fa4bc12226d38dd24063a23c48c3bf42f68bc970892b97ecf56bacecea83ba1201abcdc50a7ba14f19939cb2f8c3b7d48e6bb90a900bce259a5bc90b6e8bcb548f23b619322bda8e25bbdf7e7e3bc652b203c617648bd59c681bd8bebcabc90d8f03b71c352bd2ab285bd4594c4bc01600d3c6f1ef8bc371d22bd3b3396bca2da973bfe7f06bddfc126bd75da83bc15cfe73bef9188bcfb2abbbc14a117bcee8b643bc4c9afbbae5d0cbcbd4bbfbbc612c83b31c70c3c1624393b10b5ecba1e735f3b2e29233cb6e2b9bde4b3233ff5f3223fc27f563c570fcebd76c11f3f088a1e3f48f6133c20719fbddd9b0b3fbdca083f3f9f213cccee90bd1f86ee3ec090e63ef80b953ba5ed39bdc04db03e9738a83e08240f3c57824bbd6b5e883ee6bd7b3ed6ccf43be4bb29bd8573263e3994113ecabf0e3c5e0f1ebd023a953d624a593dc045c63b1496ffbcd099f73ac71c4cbc5d8ab5bd171d153c0000000000000000080ad2bd7bbb523c00000000000000006e20a5bdd4fc153c0000000000000000667a99bda84aff3b0000000000000000ddbc49bd5e169b3b000000000000000071b662bdcfe1e83b0000000000000000a0a337bd474e0d3c0000000000000000bd4a21bd6694113c0000000000000000982305bd5473e43b00000000000000001823f63ae1698ebb5feac73b4f2fdc3b1a04d33ac9a90cbbec3d0b3cd211393c2066b53aee1511ba87e91b3c3db3433cdd03833a2e958ab8564e253cfb7f2a3cfa89163bf13f11bb3999fc3bc24b043c5edbb33a3d6b76ba023ade3b24f09c3b6cf8803a6b7e3dba0f7bc13b0dd9033b2254fdb9b6858dba6319883b3aba5dba94bc243ad1320cbbed072a3bc1eebeba15d001bb0ee69f3a36c99d3b66bdbabcb0f00f3bcabc783a31b5d23bb1adb4bce81a3d3b7551b53a3bffad3b9756a3bc3dbef13adb8af13a3e01a33b98d996bc1512c2397e43343bdfb1a33bcdb68cbc1f21a73abeb8843a63c78d3b1a805ebc00c0803ac3cdfe399807833b284f35bcd7464b3a32d9c9ba51dc873b93a2d4bb1015c1ba032b09babcb3473b7a0f5dbbe82f8ebb6100d3bc11f108bdd6ea1a3c359008bd91f191bda65010bdff5c453cd1723ebdc54cacbd259202bdc876263c84bc3ebd17a497bd0772f2bc68b30c3c5bc324bddd2178bd254fd8bcd29f003cb9f001bd373c38bd6ae791bc0c23da3b7038b6bc7ad1dabc136c44bc5719b73b15c31dbca9520cbc202db4bb3185a63b52ec353b4114e93b1f6e68bb96ee903b21ba073cb88796bd77f9e43ee9f4533f9748503c8b58a9bd6177e03e8271513f320e263ca6d98dbdbeadc93ec497363fce2a063c29526ebd9380ab3ea8d6143ffbb7ff3b7d5144bdb96e883e0757e53e4a91eb3bf4c52abd82a3473e17859f3e0715e63b995111bd1a7afa3d633a3a3e82c2fa3b3efcfabce961603d6bdb823d4e32a43b4e42c9bc97c6203b995787bcd8d9d5bd46b91e3c00000000000000005a8bf9bd15b87d3c0000000000000000446acdbda195373c00000000000000007806abbd175f353c000000000000000082d391bde4c30c3c0000000000000000e5fd7cbda5cb123c0000000000000000bec760bd5173353c000000000000000008f741bd82b64e3c0000000000000000cadc15bd0e86153c000000000000000064913a3a1859b7ba0794153bcf5e253cc8de71b748cabc3ac132cb3bcb787d3ccd5fa13a2b8050b8bc9ad93beb695f3c79b2673aa3dfb23a957cd73bb1e1683c6d8c5bb85d112c3a6d9ce93b8964133c904a6a3aeef0bc3ab167b73bfea2053cb6ab88b9cf55a439442b983bed39963a13c56dba96ef723a45344b3bdef899ba695412b9fa65bab737b79e3a316b4ebbb4398bba8127e33a26ba4e3b609656bc23efaa3b2e242dbb4a14873b3cc53cbce70a7b3b329ebf39eeac433b745436bc42098e3bd0b2c03a9e46223bd55123bc7ba7283b20a5333a007d3a3bdf4e0fbc1899083ba43f1a3a500fe13a036beebbe86a9b3ad64f29393ffc3f3bd5f8bdbbc16d013bb80824bb9efe083bd2012abb4222fe39395791ba886a8b3a40d66b3a814d05bc21912cbdfb8200bda0f91b3cb97f03bdd77ac5bd4c640ebd0aa96c3c4fe816bd0b5cb5bd73f50ebd22dc323c9a7730bd114fc0bd650d0cbdace41c3cdcda0bbd1a6a88bd4893dfbc74a6053c7e8902bd613a5bbd6124bdbc1142ed3b4f21aabcc13fd7bce2fb4bbcc28caa3b3e8252bc6e30ebbbac3294bb4a4d5c3bf56abdba49b5093c0ed57dba4e3d333b0ad8233ce3a75abdf221863ef7e9823f5f71283c145871bddd45813e9794813fa993e23b45213dbd7deb713e0844553fe7dafb3bdea828bde674513ea7ac363f3482a53ba18203bd82cb263e2378073fb146a73b6b75efbc4939fa3d557fbf3eb5a69f3b385fbcbc980b9e3dbfa45f3e81d3b33bde2397bcadcdff3cd2cb863d1ee5863b390586bc7d763bbb32d705bdd811f3bde155273c00000000000000003f5a09be89fd8a3c00000000000000002431bebdb0ea133c0000000000000000d0e1aebd15b0283c0000000000000000351e85bde0dde73b0000000000000000bb1082bdc3f4313c0000000000000000cb1152bd7fdc213c00000000000000005f153fbd921d733c00000000000000005e6a12bd83aa443c000000000000000029a62fbac48e0f3bffbd04bab4686f3caf900bbb0a675d3b3a27d83bcb3aa33cc9679dba3fcb513bf36cfd3b1530a33c4071a2b980c0903bcda8c53bf132843cbea79639860f263bebe9ad3beeb2303cd59c43babdde1d3ba81bb63b2370003cd4941ebaee93233b4e0bbc3b70d7583b0be4f3ba360d933af1ffad3b57896dba8a10afbaa207a93a7544003b53fa79bb8ae4303b4b9dffba8b0aa93ae29c6dbbcd9b383ce9e0c3bb6c217fb894173f3b38f91b3c4e14ddba5eb37c39c73e93399f7ed83b617e103a2e4360b984b6f0ba257db63bb18d833a532186b99cbbecbaf2a5753bc655a73a009df63a5a4ba1bafd44a23bc907a3ba58b6063ac622d0b9742b963b7be366bb3232163a9adade3a617c1a3a0adaf5ba8b90c23a40e46f3a60dd7cbc37568fbd89d301bd8bd83c3c7efbf4bcedcf08be96a1eebc7f1d683c20591fbdcbe109bed32c0fbd9ed4313cbf4924bd201fe9bddbc90fbd9ebd063cf32413bd7e77aebd1c23f2bc336edd3b857c00bd55757fbd18b5c0bcfef6a63bb461c3bce5f71cbd8e6856bc19956b3bd35655bc0a5130bc52751abb8773473aac3589bb84255f3c9284983af1bde13ae4fccf3b5182fbbcb0a2ab3d37a89c3f6c8ee73bc1f8ebbc18afa13db52b963fd7ddc63b189ed7bcd2f1b63dcef5803f380d8b3bb596b2bcee24ad3d9d1a503f97b0553bcdfc86bc0215953d12a81b3fb7429b3a57a655bc797b523dc209d73ea64fd03a3e7c11bcd1c7f63ce0ad6d3e7fc67f3ac7f759bb7105eb3b4ecd663d6253893ad9175bbb833767bc73716cbddfb2f1bde341483c0000000000000000e06700be913b893c0000000000000000fac7b7bd69251a3c0000000000000000d48f8cbdee51f13b00000000000000000a7e5fbd5ea1be3b0000000000000000392c42bdc2bc0b3c0000000000000000e59530bdab8f173c00000000000000009e8109bdfaab513c0000000000000000d2220ebdca393c3c0000000000000000000000000000000000000000000000009708eebaa9c77d3b0df91f3b7172913cef32d0ba7f45b63bfd0b2e3b8c885b3c15b60dbadc8e7c3b9d42ce3ae8ae323c95e289391d0f233b17542a3b2700063c1fb5bcba3f099a3bc4b9153bdb67603b73ce97ba157e703bc6f1593bb6444439daa2f5ba2ab8393b57711e3b598ff6ba0000000000000000000000000000000000000000000000000000000000000000e4c7183cc4ea21bb4936dfbafc9c003cfd05243c94c450baf431ecbacb81b33bad2fae3b317e913a8f3087ba14ae5a3b6670933bd713613ab84874bac5b51d3b3aa88d3bfa5e123a9458d2b94c3deb3a25e32c3b765bee39117de2b9999c0d3b1afe9a3b303413bbfdc624393ded5e3b0000000000000000000000000000000000000000000000000000000000000000a207f3bc4ac301be0621e6bc8753d63b9e1deebca688f5bd494feabc89b0b13b136bf7bc2bafc3bd5826efbc5a9c7c3b1aace7bc2b1399bd45eed4bc28054d3bbb74c5bcb82066bd9e789abc530b063bf42b9ebcf71408bdcaaf31bc4c93013b1ec24cbc92e829bcca8448bbe73a803a000000000000000000000000000000000000000000000000000000000000803fbc71643bb2f3b9bbc7c836bdf3d79c3fc068483ba26a89bb7b78a4bc9d79823f192a073b30c672bb7366d1bb407d523f5f87cc3a7f0904bbbe9002bbc7ef203fae9e6e3a986ca3b93edc20bbf75adf3ea09969baed22403b38c4eabbc31d7e3e4fee1bbaa4119f3b44157abc56f08b3d0000000000000000000000000000000000000000000000000000000000000000819e81bd5cc1a63b000000000000000086041dbdac66453b000000000000000071d4cabc4b200c3b0000000000000000b28ea4bc27f0a73a000000000000000028e694bce9a9db3a000000000000000062209abc67702e3b00000000000000004298c4bc1da0ae3b000000000000000000000000000000000000000000000000000000000000000000000000000000000906233b994fc4baddf82b3ccee9163b2cf1143bc54b29b93199143c9321703b67793b3b851425bb74bd033ceadef8b96bd4583b69a129bb2cf68c3b5a5cc0bae4dfd23a83a6aaba50cb623b0493ffba7bb5f039b9a0913a1c9588b8306a5e3a06dd203859f2d43aeb38aeba7319553a0000000000000000000000000000000000000000000000000000000000000000d20ace3b3c52b7ba91fa943bf1c0d2bc6817b93b0f4e05bb5686543ba61dc6bc4de3c93b286c50ba0934433b850bc9bc385cc03b9110debad850963a5d27bcbc4871c33b97b873ba55822b3b6447a4bcdeec413b6a336dbaa514773bfedd82bcdabe793b705730bab6b9473bf1f237bc00000000000000000000000000000000000000000000000000000000000000005c1facbd42bf25bdd2c40d3cc2e91abbaf4aabbd836a1bbdff51063cb01b97ba46be86bda50b0fbdaa04c13b52e309bbabd849bda5cdf4bc7f06a63bfc0b24391d6318bd4e3ac5bc69d0b73b9858c8ba1b99d9bcf29d78bca56cc33becf7c9ba19ee1abc5eed13bcf47f9a3baf8b03bb0000000000000000000000000000000000000000000000000000803f000000004f50423b7e9e3abd3770943fb16b10bd8d210d3be457c3bc1dd0783f3d6ebebcbee2f03a7b8c75bc991d4b3f9b6793bc780b0d3b1e242fbcf12c1d3f583d92bcb59dca3a925f1ebc95fce13ed5d0bbbc053bf63a39b12dbce0fe883e06b4d6bc0190673b0d028bbcc147d03df7260dbd0000000000000000000000000000000000000000000000000000000000000000c0786ebb16dfe53a0000000000000000607409bb9eb09c3a0000000000000000d8db0fbbba67a03a0000000000000000ae2368ba0aa2513a0000000000000000cdd8943a27b8b6b9000000000000000062fb8b3b4def83ba0000000000000000b890d13b54cf49ba0000000000000000000000000000000000000000000000008cb79c3baa193abcf61a913c354d69bbdb887d3bb5349abb766e8e3c88ad863ba232913b69c0e4bbc7999d3cac89153b90d3953be22fe2bb5ec18b3cf64e25ba731a673bfbd2f7bbf72e6c3c17d12abb06ec503b77bcbdbbd143373c137908bbaf3b343b3eae6dbb21f4ef3bb7e89fbafe960a3a75a1cdba685a0d3b5dc6d9399b36953a0d7266bb7ad9813b348467bbb4f4963bdf3bc9bac3b3f93b1c6211bd01e2003c5d6b63bbb687223c137018bd3fdade3bf90beaba79e8033c30701ebd312e033c28b110bba63ef33baa7418bdad4be03b8f7c8bba8346db3b37fc09bd5c5ae33bf282f8ba82c1ee3b45b2fabc9437ba3bae71c3bafce3cd3b0447d1bc20f58a3b2aebd6bab657d73b177292bc2b606f3b3c26d9ba5a5cb13b8b305ebcfb65f8bc9bdc11bd4f4c33bad7f3453aae19a7bdef9440bdfc3c813b9ed2c4b9e7e5a7bd1f894ebda1fb013b92e4f3b869c28dbd839545bd1521243b42ed5d38550443bd1c3928bdb77b0b3bdbc177ba42b718bde89f07bd877b273bfd57a8398315a4bcf183c3bcb692673b7b0486bac3027cbb6bc034bc9863a83bfe28ccbaec9b8f3c5610edbb4069903b6df737ba3f132e3c111ac1bd0e8c943faf84cb3d36c55a3c9684bfbd51bd8d3f2b98b53de5f51c3c07348abd3091733f84f4ab3d4c42f73bbf8e53bdc9a6473f3d358c3defbdcf3bf67f27bd7b3d193f383b4a3db5fee93bc07419bd25b5dc3e82a0dd3ca849e13b485014bd404c863ee907323bc37c1f3c5f4e17bd31efca3d73bd95bc7e8bd93bc39506bd1d3573bc98bf0ebd27e1dfbcbeb8ad3b0000000000000000dcacd6bc9e33b63b00000000000000006d5dc0bc95f19c3b0000000000000000abf19abc9cfc453b0000000000000000c2a479bc5252293b00000000000000003a3152bcda311b3b000000000000000050e001bcb8ed023b0000000000000000e393ffbadf81823900000000000000001462a0bab4d2c03a0000000000000000540dd93b21937ebcdab6a73c087daebbcd6dd43bda0980bcecf8aa3cf37c54bb8e66a73b53f63ebc0d15a73c469d6dbb1449bf3bd1e964bc614fa83c098085bb4474993ba1a847bc0062913c473aa9bbfb329b3b931642bc93e27f3ce7dad4bbfcaf2a3bfcd116bc8c90473c29d3a6bbc657263beaf407bc71dbe33b56b9a8bbedae0d3b2e2000bc66ff0d3ce530a9bb847d373b34d378ba54210a3c490a20bd9137fd3b08d826bbab43443cc74c34bd490da83bf8cea7bace3afd3be1601cbd6b7bd93bd49cdbba5022213cbd9d25bd2ca8a93ba1091739db0cf33bae7a0ebdb4bfe73beccb39bb3128113cd0ec0bbd2ced663b55da10ba32a4013c7ac8d5bcdcd1b53bf2997abb1e9a203c4fbbc4bc7ba06f3b9e7bbcba5106e93b55ea98bcc9985ebb4a31e4bcde993ebc297e5b3b612523bdebf847bd0eeb05bcd4ea643bd39a1fbd8e4743bdde9a08bcd122233bcb2832bd723a56bdaeabdbbb1ba1333b7f1dd4bc9e1d2dbd9ea6c8bb94d6e93a692e9dbc653817bd5a9113bba24c033b5ed33abbee82cfbc68e7b3bacab7c33a3599323cfed28fbc2452c73a2f0c7f3aa738b23c49cdddbb71a9e13afa25873962643d3c240ac8bd7d03793f6d9f873ec5ff743cf5d2ddbd33ac733f0d7f7b3e93a9303cfe909bbd57c54a3f5c5b5f3e04a7323ccdb493bd304f303fb99c373e84570d3cccc967bd3a22073f1a8d0a3edf001c3ccecd5ebdd264ca3e46b6bc3de49c093c62ab3bbdca787e3e24e84d3dce1a323c381543bd9043e93dfb99f13ad1a30e3cec5c21bd2eee073c8bf2c5bc6d823ebd5752e93b0000000000000000a01b55bd5508123c0000000000000000a93830bd51f6e13b000000000000000050941dbd0e77fe3b00000000000000009b8501bd93aba53b0000000000000000ac3be9bc436bc23b00000000000000000a76bebc5400883b00000000000000003e6b81bc35f6dc3b0000000000000000d3f363bc8c175d3b0000000000000000d26dbe3be7ed91bc24c0ac3ce688adbbff04dc3b5ab88ebc160fb33c4a1995bbd1b9cf3bf8618bbc18fdb83c9b095fbbc603c43bb74277bcd962a33cc29c9bbb03bfc33bdb3975bce6ce9c3c1940b2bbe1b7973beda252bc27918e3cb3a1dabbebc0823b1cde47bce145693ca2dbd5bbde2b693bca922dbccf81343cf9eb00bc8060063baaeb23bc7c74463c4d75bcbbd5bc60ba76c73e3a91a70c3c045626bd25ff933ba6e3b1bae44b483cc3c435bda85a953b581b3eba64582b3c0c7c28bdfd62923b6eec10ba16760f3cb9551dbda63f4e3bca6927ba138a083c300914bd893a823b950969badfec0d3c584403bd9b96a63b6a7a13bb66c30f3cb7b8e8bce954ae3b228811bbf0c7083c71d0c0bc0c92a93a953bb1bafdd7ef3b7ef994bce17f443c138aa5bcbc27bebc648dba3ba3d88bbc5e4743bdbe97a1bcd78fc13b24d3f2bc83305dbd17b297bcc66db33bbe8dd6bc6f8153bd125181bcbdb5a33bcebd91bc5a8937bd82ce64bcdf90ac3b99dc35bc1af417bd4d1013bc80828a3b8efcb738dc4bdebc7b9badbb5c99663bf711463c64e27bbce3a648ba227b913aca59ba3ccc88c1bbb99837bb378b683b6b5a263c590bb7bdcb894a3f4b8bdf3ef2987d3c8271d2bd1d7b463f31e1d33e32e34e3ce77ab1bd73412f3fe05ab93e6f0b433c755c97bd355e123fb348993e1387303c552b83bdc7a7e83e415c6e3ec8a2263c24e56abda072ac3ea941263ed5da2e3c2c8258bd78e6613eeba3c13dab893a3c33a54abd7c95e33d73a0fb3c943b0a3c7d7b26bd1de0b43ccf887abc11d082bdb2130b3c0000000000000000a39494bd6f7b363c0000000000000000fdf582bd6fb83e3c00000000000000008f4b65bdf1ee123c0000000000000000cf204bbda3020f3c00000000000000003a7f2ebd5145ec3b0000000000000000000b1dbd545f023c0000000000000000bc20fdbc9685f53b0000000000000000a84ed4bc13b5e43b00000000000000002bd1bd3ba16f90bcc29f973cabd21fbb9ed2cd3bc14c86bcf371963cc41752bb87fcce3b157a71bc976b953c5142ebba09a3c23ba7627fbc6dbd983ce1954cbbaf41633bad8956bc0bd3803c173659bbdc4fa13b5a8e67bc9415833c4f5fc4bbfa92453b3e9230bc9f295c3c4182c1bb26aa623b709a31bc4add313cb25ce1bb725f343bb6f622bc26a94d3c8756d1bbdc5a9dbbf604f83a66cfea3b449f17bd2b02073b853e04394980183c280c1dbd07cf803a0ed58839dfa0e13b07560bbddbf3b83ac2003f3a6ad90a3ca2df0bbd6bd636bb1ee8ce3abfa1a93b9c9bd8bc8ee9b93a8eb70e35c3fd023c5f3fecbc01deb63ab24f97bad31df13bf92cbfbca8c04e3b66711dbb1248083c7267b0bc0ca8fdb8fc7f98ba9810c83b3fb289bcb8a9773c1ea982bc35b102bd2fdf003cc307bebb9ffe2cbdec8500bdd97e0d3c4dad84bcd16b49bd708adfbc5b9eda3b554d95bc0c9e52bd745dcebc720ff83bf3bd9abb9bdbfebc0e62a5bc0c60b33b42c3c7bb740b0fbd8ee489bc668fdb3be2e1143bdd8db1bceecb2fbc4cc39b3b77dc363c261f36bcfd75cdbb7f18903bc60ba53c7d17feba313cb0bbeb5b8a3b4b67233ceab3a1bd7e4a1d3fd98f1c3f39d4613c0653b4bd2195173f0aff143f63591f3cf74a91bdafeb043f0e80003fa4962e3cef3589bdf1f3e63ec90fd83e1ca7ce3b43d243bd4951ae3eff46a13e9fe2183c6d825abd76e48a3e0160713e0a2f0b3cb2e138bd8f6f363e4001123ea6a7213c6cf039bda17ac53d27436c3d0dccde3b913115bd1d6fc33c404b02bcafc49ebdfd691b3c0000000000000000f93bb2bdfe754a3c0000000000000000c94f93bdb286283c00000000000000008e6c8cbd409a283c00000000000000006a494fbd123fe33b00000000000000005d4564bd8643143c0000000000000000d88b3cbdc708113c00000000000000001f9930bdbbcb1e3c000000000000000092ca0cbd0b5e0b3c0000000000000000ad93973b81fd5bbc241f673cd01d313b777ab03bea2742bc3584633ca499f138d53c873b774c2fbc7b31613cf6eba33aa7436e3b90ea2bbc3f32643cc7014c3a4c5f913b984d44bc4d025c3c75dc8fba4498353b100224bc92103a3cf4703cbb677ca13b0e3515bc535d373ce65fa4bb26d4d33a81c904bcfe16223cd8b5dbbb6d44293b247306bc12272c3c34cd8abb841baebb5de38c3a07e0be3b0878f1bc4793283bc3238aba9e0d003cf3dffebc35c9143bdcd95f385f66ec3b3c67e4bc7ea5cc3a41fb0ab90858e93b78c6d4bca07f1c3a956a763a576de23b4499cfbc1f22013bdc2684babfc1e63bff73a9bcdb51343bb8e0cbbaf2ac9b3b2dd497bc9a82573bbd0a3ebb246ac03b120175bc756b0dba0b8783ba8eacae3b99985fbcdce2103c8a6988bccd5314bde146143cb66333bc592352bd993b1abdac033f3cbd8c9dbc77997bbde2550ebd9f4a133c74b79dbc09df67bd0266fbbc5940163c2f987bbc47dd3dbd4869e2bcf8ef013c75293abcbfd510bd7a439cbc0583d33b3c07b5bb5f8bc3bc336a57bc8b3ab43b8d77443be26226bc7e5edfbba53b8d3bb3a2543cccaf2f3b1474d9bb2936813be26d063c46e783bd9d7fe03eb3644a3f5dbe433c3a2095bd57b8d93e9717443f042f273c236f82bd8da1c33e8bf02a3fbce3143c31e760bdd36ca63ea6670c3f08340c3c4cf84abd9201883ea656da3eb756fa3beb7c31bd4b3d4d3ee6c89b3ef422d63b6af422bdc7130a3e52123f3ea099283c4d8415bd6126913dfbb09d3d2629c23bf42afabcdb75913c7c57c3bb112cb7bd8a44303c00000000000000006d29d5bd8d54723c00000000000000006bc9b7bd27255a3c0000000000000000a4999fbdbf80393c0000000000000000dc618ebd2d49323c0000000000000000e2dd81bd1f473a3c0000000000000000b9ba6abd75f03b3c0000000000000000905052bdf6f1423c000000000000000058d924bdde07283c0000000000000000fc07263bae1de5bb5117d63bf3da743b9f45553b2396a9bb46f9003c523b5d3b9cfa4e3b8a17f6bb3524053c16bada3b6b36483b3e98a7bb6001043c6df53b3b70cf0b3bd043b4bbdcc1013c8e3ddd3aaefa293b9349a3bbacc5113cad467cbafe3ee73aeb61cabbbd63043c4aecf2ba8346583acaca5abbc9ffff3be364e3bb1cd4603a849087bb23fbe13bcecea4bb9a299fba3373f4392174a63bb903a0bc806c013cd48e34bb6bdb4c3bcec87ebc3adc063ac0b9093ada14883bd44489bc6d415f3b20a288b8a7a1893b90bf90bc6e20f038a64ed53a17567a3b266c66bc7a52123b9e125fba21778a3b423d56bc8035e7b78b44c1388708903bf98f52bcf64be53b9a909bbb6a12a23b4e6811bc55caa53949b734bb77ad833b8b78efbb896f5a3ae7e4ccbcdad51abd3489203c9b438dbcb95b89bd50b428bdf922353c09789bbc79b176bd944617bd1399123c3ca7cbbcb78088bdd0960ebd670a143cd33195bc4abb3fbdba39eabc1b24dc3bec3599bc0d4a22bd49d6b6bc7e7bdd3b3a5c10bccbe8a3bcb59781bc59dfab3b4cf1a1bb7af225bc11768fbbbd8a4b3be276863b86b0e23b45518dbb96a4ba3b069ff93b189a42bd1384883ed577783f054b0f3c4e1d59bd8815833e5526723f6682e43b1de72bbd1dd36f3e5ca9473fb4c4e63b0da521bd2622513ed67d2b3f7e80a43b5f3002bd4b7d283e19f8013f1f0ba13bf25802bdd5ea023eb8e2bc3e118abd3b4926cdbce455ac3dc5ef663e95aaa33b240ac7bcd15a2b3ddb78b13db299953b7953a3bca441c13b081c69bc7c97c4bdc1a6423c00000000000000001bdfe0bd519d793c0000000000000000a807a6bdfa1e303c00000000000000005af5a1bd8393393c0000000000000000fa0584bd5baa133c0000000000000000c4fc83bddda7393c00000000000000009f385bbd3a17153c0000000000000000a0a354bde6fe563c000000000000000032f22abd1343273c00000000000000006ef3923a15d8b6b9e11a1fb93ac6003c0c1304babdab143b6339833b9d03003c9170853a000b5f3afc682b3bb778173c20aca6396851613ab74a533b9501113c1ccea039257016bab19c253b0d15a23bd823463a4c0cc3b9a14e533b5465173b3030ae39ad8aae39a0b1a73b02a0f7ba4fc09eba3532703a164ab63b6fb8b1bbc316db39050a6cba73d9353bae264ebbf2c7c23a1753a1baa9bf063b012b0cbcfb93543ca264a9bb628d0f3bc4bc85bb65fb143c511efeba038eb73a0322a2bb9b82943b58720f39d7e4153bdd19babb91222e3b1f4b4f3a6f680b3b4996b5bb58c5853be9085eba0c02023bf95980bb0cc6d93b31de2dbbb6a0853a3bac1dbbfda70c3c9138c5bb07f2c33a674295398b01523b35094ebba3d3bc3afb308eba2ec651bc81322ebd75d615bd22010f3cc7bdc4bcb4e2c5bd454112bdc5b92a3c7d93e7bcb66ac5bdbc161cbd137e093c3a89eebca660a7bd46d417bd42cb0d3cfe46d2bc67c574bd818ef9bc4c3ad33b531ec6bc32c341bd311ebebc5870ba3be8549dbcbc0ffebcc5ea5bbc22758e3b5c1e51bcea0175bc80229dbafea1413bf82785bbe26e113c8cf1daba3ef91a3b2023a33b42bee2bcd0b7cd3dca0d943fd2e5ad3ba63ddebcb2cac73d22dc8c3f5e01893bd11ec3bc8e48cd3db788713f6926583b6470a8bc054cba3dd3fb443f4d466f3b70bb87bce0039b3d5139163f3c6f2a3b459f6dbc9cbc653d8397d63ebed6103b588841bccbb90c3d72337d3ec906123b64c70abc8ed41f3c505aad3d68a01b3b8bb311bc08c413bcb994ebbc63a3c0bd7c4f293c00000000000000002fc9c5bd93755b3c0000000000000000321b9abdf2451f3c000000000000000092bf81bde238e03b000000000000000055f55dbd6a2ae73b0000000000000000926359bde026033c00000000000000001d0649bdd43d073c0000000000000000b42937bd1a2e2b3c0000000000000000c3c829bd0d0a1d3c000000000000000000000000000000000000000000000000f3eb53ba6dbda13b438926bb02d4043cdaf780ba2c60b33b99d249bba407003cc89b073993f0473b415867bb3807c83b25097e3ad9a1763b11f44cbbdac31a3be442d1b9e5a50f3bb685dcbab94cd43a48e839ba7fe7493b464745baa1e3edb906dd8bba3eac6b3b309c6bb8f5fa43bb0000000000000000000000000000000000000000000000000000000000000000b2bd163c0d5e8dbaabba3cba1a8e913bc6cae23bc76822ba1814a7ba0198843bba51883b513ebc3acea18dba8e6e303b7e5d053b25f3d637b0c83eba5a9bfd3a5614523b3a03303a4df43a395195013ba4c37f3ba5a843baea0c01397c69563bdfe8b43b3fb58dbaade7313a9469133b0000000000000000000000000000000000000000000000000000000000000000f35fe3bc75fcb3bd347902bd7832933b5a8bddbce1d4aabd4329eebcfb2e963bb79cdcbcceb48abda636e3bc50833f3baf3ac6bc50ee53bd5c80babccc0e953ba595b5bca9ee22bdaafb90bc4510213ba14d9abc28a6dcbc8ec729bc0686e03aefc076bc11c300bcdd2993bb2e2e193a000000000000000000000000000000000000000000000000000000000000803f03c7c43ac92693bb25def5bc7b8e943f0b59fb3a6f896abb48ba42bca003783f8ea59c3a22fd2cbba15a3bbbf99e4a3fe5e138ba61ab42bb4b3a99ba6a211d3f2999d9380ab917b98c1e36bb0dcfe03e410d85baa5bcbd3ad107d7bbd53d873efe1c9bbae021313b4d476abc9f6ac93d0000000000000000000000000000000000000000000000000000000000000000f3dd49bd3c6a5e3b0000000000000000b00706bdce2f583b00000000000000009636d1bc3a91cb3a00000000000000007231babc01dba13a00000000000000001d27c9bc1dcdd83a000000000000000024abc3bced8a663b000000000000000011b7eebce7c48e3b00000000000000000000000000000000000000000000000000000000000000000000000000000000a692573b47270bbc3909433cdd8247bc87d5143b1a6102bca6d4113cb95921bc82ff053b823405bc0e2c1c3ce96520bc60c5c13adf62dcbb473c143c400024bcff19993a4a9ebbbbe425f23bbfd416bcf9c2fc3ad534b5bb9a15c33b7f8a04bcf23e173bea28a8bb541fc13b32ab09bc000000000000000000000000000000000000000000000000000000000000000095b5043cf91c65ba8a49613981baafbc3a7ed43b688f8eba6583cd3a955f91bc045aaf3b8e8b2bba7231fc3a032682bca755a63b0d5b47ba5f59bb3ac44671bcbbada03b916483bad0dae93ad75455bce073b13b751889bae7a03f3b4fea48bc9a2f8f3bcb313cbaf7cf043b189841bc00000000000000000000000000000000000000000000000000000000000000000bd97ebc588303bd9242563b8efed0bad47b99bc0a53e3bc80292f3b07826eba785e5bbcc389cabce97a023b68a972ba81e7f5bb52c3b4bc40c2293b1c4a0eba27986ebb9f29a2bcc96d733bfaacdfb96b82d039d76387bc0734a33bcdf8acba31d6073c73105dbcd69ac93b36a022ba0000000000000000000000000000000000000000000000000000803f0000000086ac293bdb94c3bc734b823f985495bc42e8233b446d6bbc47ab5c3fbc034dbced030a3b78c02ebc4d97363f4a1f3cbcd403bf3ac2d320bc2589103f5bb95bbc23308b3abf271abc9be2d63ef1aa81bcc689df39d80a35bc3eee8c3efdb1a1bc08fb0e3a9fd763bc3ca90c3e555fd5bc0000000000000000000000000000000000000000000000000000000000000000ed39b5ba0858c73800000000000000005f055dba2202583a0000000000000000b12ed7ba3cc006380000000000000000f9ffadbaedf0bd3800000000000000000dda03ba6309c2390000000000000000a5908e39736500ba0000000000000000409c853a785878ba00000000000000000000000000000000000000000000000036e3a73bbefba2bcd5d8cd3cb3fa72bc3828f73bbbccabbcf965c33cb97368bc42c4ba3b608794bc7d4ebc3cded555bce9969e3bc8eb91bc26c5b53c350e6ebc2427683b2cbd80bc5947b43c3f7868bc4b173f3bc2a078bcb2dba93c08d364bc67e1473bc2e853bca35c9d3c34945cbc2c8c963bc1e25abc0962843c555540bcdfb4513b91ac2cbcb147923c01d24abcfaf2ca3ae00c3fbad0265c3bf68c02bd3571cb3b1140f5ba1765e33b313c13bd5594713b738c50ba4f53bb3b366104bdb0e8613b0e15a2baf841673b9666f9bc8e64323ba89a69ba3955893b57c9d8bc6893783ba0428cba7488b53b9863d4bcf0bfa33bc8dbd8ba481bbf3b2612c7bcb37acf3bdbe61fbb1ac3e23b6c36c2bc1cdd653b68b958bae5c36d3b19648bbcebbf443c42b7ddbc9732f5bbd2f6253b530d96bbc6fe0fbd550c80bbb9a9d739da08e2bbd4b207bdf40ca2bb78a3863a340885bba93206bdb1361bbb80ef953a19c8963bb619e4bc59873cbb2a3e883ab72d063c4b64d6bc283384ba35cfce399c7b6e3cdf51bbbc11f6da3ad8a2f6393ff3a33cda7a9cbc4204503bad481bba56efe33cab9279bca85d873a07fa67391eedaa3b04c04cbddaa8823fbf4cee3d6dc6063cb7c150bd0cf6703f1470d13d1d38ad3bcdd61ebd6f7d4e3f4c4ab73d0fe6d93b04610abd903b2c3fc082943d3ff7a43be39fe9bc6079073ff9565c3d262cad3b16f7eabc8a81cc3eb7f7073d18afa53b1d33f3bc40a9883e0d2a3b3cdfa4c33b4921fabc142b0d3e51772fbc8e32393b8a30e0bc5565b93cad72bebc99ad99bc1cc37a3b000000000000000042018dbcde0c783b00000000000000002d4180bcc01c7d3b000000000000000011166dbc56c28c3b00000000000000009ac74abcc0c34c3b0000000000000000c8e940bc36662c3b0000000000000000da5b37bc1054ff3a0000000000000000cc31d6bb776e273b0000000000000000e21100bc3905063b000000000000000070a8bf3bb514babc7695f23cf35239bcd20a033c7ec3e9bca5590d3d8fcb84bc713c963ba9eca8bc1596ea3c671c51bcef63bf3b545bc8bcb907043db9b282bc9e9e453bdebaa5bc5ecdf03cdc536abcdc74a63bb23fa0bcfa19e43c371381bc8654463b857d8abcf7ebca3cb7fd42bcbe97ab3bef5aa4bc2206f33cb879babc627b7f3baebf6fbc2d80c33c67c835bcef8320bbe307abba56eb9a3bcb840cbd54ce4db9b78cabba185a013c516926bd0cc037bb863acd3956d1913b3f6402bdc60ab0b94cd53bba27dfe23bea3e13bdb3700ebb43d50cb947b5843b628cf3bc511c523a485eafba61ccd53bc41af7bc8d20b7baa2dfd6b969b2af3bdc69c8bc3081913b5c8eddba39caf53bf608eabcc47736ba70beacbaca41933bbcf6adbc512ec13c42e386bcd2088abc78df853b6bd0873c7867f5bc2b5a7fbcce17703bee63393cdd23cbbc0cf466bc7545603b0aa14f3c7314f8bc3b1b5bbc1d1b343b245c903ce829c4bcdd622ebc75c8313bc7fd983c021fcfbcf2d920bc8dd5533bb6e5b63cab928cbc4785e9bbb16d343bb6bd053de03c90bc6f4a6bba6353abbaeef2033d93c737bc743396bb71a52b3bf334123cb89761bd23f25d3f8d61863ed4d7233c95d681bd70504f3f5cdf703e6ad2c63b771534bd8b832d3f8d08523e13eb093c911041bde3dd163f6f442d3e378bf23bde741dbdd38eec3eb81e063e8e15f13b1ca423bd1e4cba3e09ebbc3d77798e3b101209bda53e733e3d436c3dd5350c3cb6ae26bd07670b3ec8a57d3cbb709f3bf2c804bd103ffa3c685851bcaf1e00bd7771e53b0000000000000000fa2d0dbdb176eb3b0000000000000000b2dfe4bc167bae3b0000000000000000f0e4ecbc8569bf3b000000000000000049a1c4bceac4963b0000000000000000702cc4bce132a53b0000000000000000fce2a9bcdbb6853b00000000000000000ae698bcb090f73b0000000000000000922d89bc48cbad3b00000000000000000f5a8d3b954ac9bc3bd6023d388c0fbcd58a0b3c2839ecbcf9ab133dda6e48bc64b2f23b2e3edebce09f0e3d71bf54bc632c973bb3a8cdbc6bd20a3d4ada36bc72d9b53b20abcbbcdc630a3d49df5bbce25b9b3b34abc2bc378a083dc6f357bc2653b93bb233bbbc5f42013d823b63bc9c04d73b8d7bb7bcf700fb3c8a8c60bc9f6f053b619389bc2553e63c94792fbc06b12bbce2e3c73a6ecaaa3b110210bd6161cbbb45071fbaa150153c14bd2cbd6ba9b6bb01d5d2b9f67c903b29bf1bbdeac2c6bb65e4b8b93fcaf33b110c10bdb4bde5bb190dfd38513aee3bf9770abdc0e758bba9a35bbaeb7bc63b5b6a04bd4c5582bbed9f79ba21bfee3bed75e9bc4d220ebb105716bb9b96053c104df1bcc8b999bb770b8737c0b2b73b1dddbcbc41d0ea3c4dae11bc03a5cdbcedd3c33bc35ebe3c8bfea7bc3385d1bcf7cbcc3bd93d983cae05ccbca4bcb6bc1334a73b12ab943c6424c9bc657da3bccf07b93bfc8eb93ce0fdb3bc82b09bbc9fb4b43bd67bd43c9f03b0bc3aeb87bc89df933b7235f73c6a1d89bccdf04fbcbb41963b112b0d3d4ed35bbc839820bc9efe923beb7f0e3d6b4ee9bb9b4a2bbc91c88f3b6252f03b4ccc5bbdf77a363f3c79d23e5efb383ca45281bd93ae2a3f7a6dc03e5034213ca5815fbdba49153f73e3a53ec9ae1a3c8f8247bd568bfb3eeaae8a3e569ffc3bfdd139bd49cdca3e64a05b3e3c4eea3b724432bdf4269c3e98c31e3ecba2f03b76b22cbd9fad593e9cbfca3dad29213c212f2cbd837afb3d0daa313d6242b63bb29b09bd89f00e3d5e7d4bbb8f2226bdf978e43b0000000000000000eb4b44bd33f1083c000000000000000003b629bdd69c063c0000000000000000015f24bdfa22183c0000000000000000dc1b17bd050f083c0000000000000000b1200bbd4c53003c0000000000000000ccd904bdbe02fa3b0000000000000000e991f7bcd056f53b0000000000000000f365cebc0c9bc53b00000000000000007438933b3f74bebcac49f53c3f0859bba1cace3bcbabdfbc83f9073de023dbbbc69ab43ba191c3bcf4f1fc3ce444e7bb13aaaa3be08ecebc1402053de17f02bcb9cf063bf7269fbcb2bee63c78bfb5bb5f48b73b7f83c3bc2825013d4f9511bce869833b0dcca6bcc0daee3cbb230dbc05ebad3b6d1ca9bce41cf53c223e2ebc2fb5593bcdf289bc41f0df3c6c3d06bcf5ec65bc4669073bffd4a73b569207bd4a814abccfd8a43a97a2e33b217d19bd329c41bc95fd8f3a25c0bd3b633b02bd044837bca6c46c3aa8d9db3bd84208bdbed140bc5d89fd3a2206903bdd82d2bc57e51fbc43668738df77e33bbb09fcbcace0fabbd6491cba3d72c73baa39d7bce7b5cbbb0e5968bab8dfe33b8d70dbbcea85f2bb48c2143a9c90893b9fb1b0bc0ffede3c984a14b9f1dcf7bc75f5de3b9e03c53c134734bcece105bd8ec2033ce025973c67e679bcc173edbc3a8fdf3b7d7d9b3ca07492bce330e6bc9abde23b891ba83c17fc13bcb843bbbc257ca53bc2adc73c17f950bc76e3babcf3a3063c706dd93c5eeb06bc75d29dbc1856bf3bc134003db44dcdbb28617bbcb0b8ba3b1f13003dd92195ba99fb64bcedb0b63bef3de73b9d8348bd61f80f3f08740f3f7236243ca3aa5fbdd8b3043f3587033fce9f023c3c9e41bd01fde73efc4fe23edc2f0c3c58a33cbd1230c73e96b7be3e9084a53bc9570fbd2ac79b3e1795933e21dcf03bb18424bd27bb7a3e7fbd613e81a0e93b3d1917bd61ff2c3e91d1123e0f0a093cd8fa1dbd3094d03d8b7d903d24529e3b055002bd5a6c003dadacc63b4dc146bd3840ed3b0000000000000000e4b462bdcd3a0c3c000000000000000056f542bd53df0b3c0000000000000000a40d42bd2dd51f3c0000000000000000fc8017bd9858da3b000000000000000003df2ebdf1bb083c00000000000000006ea51dbd751f103c0000000000000000429317bdc628193c0000000000000000d3e002bd9af8ee3b00000000000000001f837e3b9728a5bc391fc23ccdbc8c3a4a20d43b9e75c1bc51b1d43c377909bb6f7fb13b6f36bdbcba76d13c0a559eba63479b3bb472b4bcef89d53c615783bba98d943bbb51b4bc68afdc3c228273bb98348d3bc4a2a6bce469d23cecb2bbbb8b4f5e3b4bc8a5bc0228d53c4b43c7bb8375973bc936a1bc57b4d23ce361febbb0c36b3be54386bc2998c93c81cd99bb967a74bca72e2c3bb96e943b93f0e7bc290d57bc4ff8783ad58afb3b1e0907bd90fd63bcfb0f8d3a7910d33b38ddf6bc1b585ebc9787ee39cb10cc3b2af8e6bc3e7557bc5a4cb43a1adbd13b9efbdebc269a2bbc1a9053b8d258af3b5310cebc522d0dbc17e48aba09cce53bc2baccbcf9cee2bbe98af2ba1c27013c6249c0bcef4719bcc2bbfc3928e36c3b7ba497bca642a93cf1319d3bde4a11bdd9dbd63bb37b823c5c7310bc414822bd9c5f033c8b71483cba6073bc071113bdd434003c11ee503cc9735abc29b201bd50141d3cffbf823c710a37bcc1faf3bc9522f93b966a893c4e5817bc48efcfbcdb1bdb3b99e5a93c8d5a99bb87dfb7bc4845163c0306c43c72b468ba0cb896bcfbebc63b089bcf3c58f6c13bd1c18dbcc4e4cd3b0053da3ba06e27bd3025d33eb848363f62d41f3c17f944bde4f5c33e6947293f80be0e3c4a562dbd96c1ac3e2e3b123f2ebef33b883916bd5291923e4bd7f33ee7cdfa3bc91417bd7d1b713ecab2c13e8e89e03b3ed610bd19473a3e9d3f903ebe09f73b8f4402bdb6fa013e1ba73f3e5b35133c86c70bbd761b9c3d7083c23d5d76953bdfcfdebc5172c83c60f9553cd4405bbdb8faf83b00000000000000007f7a81bd34d12c3c0000000000000000bade68bd1747303c0000000000000000857850bd7802243c0000000000000000db8146bd4c41143c00000000000000007ab23ebd032b1d3c000000000000000075d938bdee77113c0000000000000000319631bd6fb7213c0000000000000000e18f0fbda66c023c0000000000000000e696803b5f2a70bcbdaa6f3ca4f1933b3dd8993b188e87bc644b793cb657523bc8d3653b62fd74bcfda96e3cbcc68f3ba7a93e3ba47892bccfe7b53c0428953bafda0a3ba4ff76bc5bd2823c25d8d13a2d0d7c3b993b84bc233b913cfdce0eba3ee01d3b463b56bc6770893cf690c0b91b21913b87db6dbc59998b3c27b628bb84691f3b72503dbc8605883c92d819bb87cc68bcbf36dd3a21ad6d3bcd5faebcae9367bc1625883aa6e3b33b2c65c2bc18cf50bcb814173b2f86853b4f66a1bc54f46bbc712bdf3a1140c93bb62ca9bcb3ca40bc07c8513ab6109a3b17cd91bc0ed539bc1462fd395746b23bf99196bc00c023bcc024803a9318833b574e7ebc24170abccce4e3bafd9fbd3b815487bc7d68e6bb0d1592b934c1513b0fbe5ebc954d153ca8e1863b7edd0dbd8dfae93b30dc7c3b31840bbc315c2abd7a96073c89df583b35480ebc1c6008bdfd8cdb3b28d8a23afd7f96bc58dc11bd2d97003c8ff1be3b2338d2bbbd26f0bc9ed4d63b5670ea3b34f5b0bb49a8e4bcb30dec3b9f3d203c109a003a34e1afbc7b1fb73bfc564c3cb7629a3ba1de9cbc23dbe63b5a1a753c8782043c431080bc17d0ad3ba901a63bd901fbbc4206873ec90b5d3f93a1dc3b928d10bd345d783e19654e3f0557a63b78e9e6bcc5805c3ed9e32b3fcab3f53b97cfe7bc87a93d3e84e6123f5510c13baa24c9bc2862193e6a1fe63e1c5df43ba866d6bcf12bf13dbca1ae3e8622903b8526bbbce5c7a53df580633e047ecb3b7a56c9bc85a1403d9f56eb3d904c933bc410acbc0ca74a3cf7a6433c60fd5dbd95d0f73b0000000000000000832782bda165363c0000000000000000e43741bd3b2bbb3b000000000000000041da51bdebe90a3c0000000000000000e60732bd533af63b0000000000000000418d41bd1e44123c0000000000000000a97320bd73f1d93b0000000000000000725239bd77c52c3c00000000000000003ec615bd232bea3b00000000000000009ade383b83b708bcd6d96c3b3d23143cf5422f3be5f9dcbbe44c243b6bcbce3bd7b6f13a91fa0abcab8e9f3b39dad23b3a2f203b81bf0ebca3f89b3b82c8b13bf511f03a33ff0dbc3e0eba3b44f6b23b1fc6093bdd530dbc339dc63bda919c3b89c21e3b7131f3bb9bfddf3b5e2c683aa4acc53ab80fcfbbcf35c33bca2997b940f8063b56f8e8bb5bf90a3c6341a13a3cb64fbc6c03143bef484d3bd23e53bcd9e613bcc8c8033a8946233be8a53abc938d1fbc42607d3a5f735c3bd4a430bc6fcf2dbcc504b53af900323b7e8026bc8aad39bc83d4cd3a1f5e253bede01bbce5081bbc7a1c053a78ea253bb5750dbc19ffcabb365f0cba00e7373be4d6efbb07266abb46e11ebb57e8473b7a6fc5bb3124c1bb4072f7b9d5cf753bb865ffbb97278abbf29fc43a54230dbd5640ad3bb0a12cbce6fe99bcd1b11dbdc315d13b91c92bbc86d9abbc24c816bd0989c83ba0ab0dbc203692bc270906bd41e6c63b2e7cbcbba3651fbcfd30eabc18edc63b4494b1bb4305bdbb762cd4bccf09db3b5c6e31bbe1b8dcbaed83a0bcefc5c73b8158d2ba913d993bb4e17bbca55bab3bcf76b73b0cd5673cc46f69bcb071a33b8d8c803b2bec97bc1d86f03d5b00823f1e274a3b501786bc4b7bdd3d9a2a703fbfae8c3b228385bca8c7cb3de0cc4d3ffc926f3b690b6ebc0258b23dc74c2a3fa1194f3b079057bcd444903d7087053fdf2b283b0fc155bc3f525b3d4629c83e45f3ce3a63444abc97900f3d0087823ecea7653baf7a3bbc11596d3c3c4e003ec791073b9dd24ebc974757baff50273cd41f47bd37ef9b3b0000000000000000799559bd9aff193c0000000000000000163d35bdd158f53b00000000000000003b4f23bd84b3c43b0000000000000000f1e215bdcbdf983b00000000000000008fa81bbdf3d9ab3b0000000000000000607f1dbddb71a33b0000000000000000f7aa22bd49a0f13b00000000000000007d9f10bdf881d33b000000000000000000000000000000000000000000000000fc8fb23af3727cb9372fecbb56c6f73b23c2363abca612ba3612b7bb3aa7bf3b837e623a9c9c06bb643d88bbdf1dc73bd70b89b8ba0f0abb933169bb3a61ca3b2d915bb77a43b9ba53238ebb6231673b66090c3abbacd7ba0ab225bb33f76b3bd633133a2666b2b98f6544bbd7ef923b0000000000000000000000000000000000000000000000000000000000000000f542a6bbbaeab63a6d55533960f2a8ba827c9cbb3dfad33a5e76073a91ec37ba5ae7c6bbe1f4a43afaa91a390db59dba382dccbbb785843a76f4be3a3e1db0ba98069fbb410f8e3ae2d0ad3a9401c7b92ed562bb08c955b76c0c4f3ad3aa0bba9bc386bb06399cba32f3dc3a9e4290ba0000000000000000000000000000000000000000000000000000000000000000fb438dbc0ca997bc1f93dabc9c0c203b334776bcdb56aebc4fccbdbc3fa9d13a80065fbc89eb83bc682dafbcfdaa243b2d5d42bca64522bcdfd29ebcfb42413b23fe29bc4865bfbb16e083bc91f6013b850423bc4e98f3bade2553bc860a323b2b0622bc4717e93be8031ebce9b3a63b000000000000000000000000000000000000000000000000000000000000803f5f62873a328340bbc77f60bcb4fd813fa74eb63ac4f1abbadde7cabbfc895c3fda9f763a7213bcba304465bba544363fac2b013b9f2d00bb991a4abbe328103fc512d23a68addfbacd285cbb8af0d53eadd36a3a724696b9744bbdbb66048c3eb84010b956049d3986b435bc6aff0a3e00000000000000000000000000000000000000000000000000000000000000006061cabc7da4943a0000000000000000c69e99bc3efa313b0000000000000000803f8abc172b933a000000000000000052508dbc91159f3a0000000000000000bfdf94bc06f283390000000000000000a042a6bc4e6de93a000000000000000015f8e3bc4d8be33a00000000000000000000000000000000000000000000000000000000000000000000000000000000bcbacbbbc22a293c280c1f3ddc29743bf6a85bbb6ec14a3c5db0123d281cca3b3be4f9ba71f5383ca47af53ca1d2323c8496d339eddb373cb103ba3c752ed53be20912b998d90a3c8ede893c3529ce3b3df3b1b8d3b2c33b225b1a3ce4a16d3b281d05ba99ba553b4f09363b7936043b0000000000000000000000000000000000000000000000000000000000000000d10e6bbb92260c3af9cb833bc9c94cbba31713bbc960b1babbe99e3a049e10bc2bdc8bba35a316bb2ca4cb36177d97bc53813ebade27c7b9faa5c737074b8fbcc6b42c3aba60ebba1b3340bb42e162bc4e7dd039cd814bbaa86ca2bb96dde6bbf6d51f3a552071ba42989dbbb991343a000000000000000000000000000000000000000000000000000000000000000000fc5cbefdf3593b965dd63b18ff25bbdf4d57be0e9ce6ba69d8793ba03e593ac6953fbe950e64bc83259d3b3caa383aa2481cbef1cd3ebc4f725f3b32416eb99aaadfbd470320bcea81a53aeaf0bf3a346881bdd6feb4bb9946bfba8535c83a93b590bc0288f836e7de10bbcf9ed33a0000000000000000000000000000000000000000000000000000803f00000000806f963cf768e3bd650fad3fa579e5bdf2c56b3cb06684bd764e8f3f87c293bd475c183c9c662ebd166f6d3fe71f57bd9197053c2fabebbc8261323ff0dc1cbda90ba23b683359bcd273ec3e666fdebc5a1b063c14d390ba6d9c6a3e19e910bc3a748a3ba29c2d3b59f37a3c56b5beba00000000000000000000000000000000000000000000000000000000000000007834843cc7347fbb00000000000000002223103c15c424bb000000000000000019adbd3b231e41bb00000000000000000c3a943bc1813abb0000000000000000eb548f3b0e11feba0000000000000000e5fe0d3bc7a507bb00000000000000002851693b7fed33bb000000000000000000000000000000000000000000000000ca8000bcd243bd3b4a01a03c29aa7d3accb322bc3049223cd0191b3d8cbd5a3b7632bebbb3e03b3c96f3293d24b40b3c4a0771bbe114393c22bb173db2cb293c2eaf6cbb91ad383cdd34d13c58e73a3c160411bb8f17183c7d08a33cd3fbfa3b31fb30ba248fac3bf901353c2014953b231ec3baed23423b6dba5b3bb147423bff5c4ebb27b8c93a2f2291bb1a8612b95b8865bb1493523a19004c3cefad3bbc4fa993bbeaf483b9ed2bed3bd4f9873bd67867bbb7516bba6edde03b08dc46bc189a10bb2ec7e4ba183b993b916087bc88dd2cba982e0abb0df25a3b3db885bc2fd15fbac26f1aba6d4c6cbadb5539bcb234c53a7f4308bb659190bb2e44d7bbd330833a9d5caeba6d44c3bb3de3633a993f9f3a4d9170baf3142ebbb082ad3b29cce3bdd47e0ebb8389003bb56838ba599348beba0f173c498821bb7a567c3a52535cbe794157bc5290183be5a1333aacc54bbe4e4ca4bc991d243b8c1ea83adceb1fbe9bafb5bcf7b8fe3806fe003b7816ebbdfa2090bcb32ad5b9493a6439704b83bd3ec639bc116d1fbb9747183b2fb594bca1d2ecbbf2e029bb3df8f93a7e16843c394b663bdcabd9ba2006db3922061e3dc0bc4fbecbc5ac3f25fc7d3c2657273dc04740be9438a03f4b3d693c1ecef13c5eaa16be6c74903f71b0b63cee7dd83c4204eabd58ad6d3f6a4bda3ca3cf953cb449a8bd17bf323f52e5b43c6deda73c1f9d6bbda2c7ea3e134ec13c54dc733c45ea06bda4bc6e3ee1e1a73c4375383c9c60d4bbba4f043d836dd33c07f83f3c83ad5dbc1c87d3bd127b82bb8a325fbcdebc543b000000000000000007e13cbcf5ce3a3b000000000000000036cb61bc6842c43a000000000000000019d57dbc4474133b00000000000000004a9211bc104ef139000000000000000016b626bc00f79a3a000000000000000067b404bc2b4021b80000000000000000705115bc76b9e83900000000000000006feeb838d71877ba00000000000000000e44b4bb8ab2163b3d446a3ce3167e3bf13ac3bbd2a6013c716cdf3c15920c3cd07e8cbbe599173c4834f33cec656e3c78270fbbd77d1c3c4690e93c357c5c3c1dd4adba8fb30d3c533aae3ca0b6443c84ac9cba8df7f43b25eb813c541d263cb4a9e4ba1d19d53bebd8ff3b3574ad3b687268bb52367e3bfb0e063b73a82e3ba4f832bbce73de3a0f0f08bb92b475b8b06445bb33b658ba0a94603c2ff2babc656f2dbbdfbdc5babb4a2f3c928384bcbe6c24ba3bd812bbf0ea263cd502b2bcc7d3a4ba770235bbbd7eed3b7153b6bce614dcb991dfe0bad22ab13b118ab4bc910af93a23a63abb186f813a55af75bc4365df3ae98e26bb74246aba57db22bc43ce0d3b815a17bb7d82cebac7bbaeba27f1d43ad20e81ba102300bbd6623b3b419d70bd0e9c4bbc0dff01bb17e57d3accdd12be46f501bd14fc9e3a97473f3a7c9324bea93a48bd5753803bf872f839400922be18d341bd5e4fac3a3423663bf2dbf6bd9c9f2dbd979b56ba34c5fe3a02e2c1bdeb0306bd6ab8a7baf824163bc9c84dbd5095a1bcb5f964ba1c2fa53a102787bc92f2f3bbb3f456bb13eef73aeb601a3ca3406c3b9c8318bbdca889393285233d45de4bbe000f8f3fc673693eab4f373d02e756be5e30903f05a0503e51c60f3deda72bbe28567e3f4db7413ed644003d973d10be6229563faa4a203ee21cc73c137ad6bd2291203f340df83dc3a0c73c1ed1a9bd5cfedc3e8710ad3de9dcb83c03a46ebd95886d3e846a3a3d96958d3cbbc704bd8659643ddaaa933c6113773c6e6cd6bcaf764cbd2ab973bc487974bdf4bd513c0000000000000000b4f96dbd8839523c0000000000000000732d5abdfbb1333c0000000000000000e70732bd3ae6ee3b0000000000000000902203bd06a6cd3b0000000000000000fc1ddebc7159953b00000000000000001c7596bce4a38c3b0000000000000000f9c325bc1815ff3a0000000000000000ef2d67bb1e95e23a000000000000000005a1ffbaf5d6e8ba102d403cfe7da33b75b48dbbb565953bbe43b53c5d426e3c687958bb84e3fd3bec3fd73ca65e8b3c681519bb8a9cf83bbdc1c33c7a6f843cd0e584ba5e5feb3b72e39a3c4f0c723c60a5d8bac792cb3b2625553c3c46223cdaaff9ba4c33a13ba909f93bcf1be23b4815f3ba28c6113b8cf7443bf128523aae9247bbb3b825baa9b4e3387e4cc0ba712118bbe59cf9ba41ec683ce68a00bd07f5afbaac112fbbd4584a3c6c60c9bc7b8796391e1e73bb7267223cf037cfbcb9699c3acaef49bb9b46103cd9a6d1bc666c8a3bf77c8abb48b2b33b814fc1bc3b22f93aefde30bb75d47b3b24018ebc2c074a3bcafe56bb6821363a001a2bbc511e163b726832bbc2b111b894a4b3bb3de39a3a473713bb7a9f963a25828038168cfcbcf4450abd94ebb5bb9d52773b654acfbd452088bd0f11d63a4459213b1f7c02be7aa9a4bd2228c43a14d9593b709bf4bd2a949bbd074b593932463a3ba4b8d1bd7a7b91bde483a4bacda8453b15c995bd640d43bdc9d91ebba0262c3b82352ebdf95cf4bc22e140bb6079f13a4d1e52bce0d50fbc190ae1baa6803e3a91bb1f3c6e2ca03b0fef54ba32e79b397940073d943a37be1a126c3ffff5e63ea76d2b3d06d444be99ce6b3f6f34dd3e0183113db5d927bebf73553ff37ac33e4190f63c10d409be06ce313ff7e89e3ee7b4e03ce459e4bd764e0b3fa439733e54f6c43c20c8aabdb84cbe3e9e79223e0e0dbd3c9e2c83bd816d573e92fda73df0c6a13c3b4a30bdbda68c3d0d2d843c6987763c7ee110bd624db7bc42e903bd8502d5bd21e7a83c00000000000000004b45e0bd29bdc03c00000000000000002003bebdc8b9913c000000000000000063a399bd0cd26a3c0000000000000000d07f7cbdb58a453c0000000000000000e7ee2fbd9e3c0e3c000000000000000097a2f2bc0b79ed3b0000000000000000d5a56dbc26cf843b0000000000000000cd9805bc1b71a93b00000000000000000915cfba4ce77dbbba99553cb12ebd3b99d9cdbab531e83ac6c08e3cebf48f3ca9cd91bae9315d3b19d3a53c66f49f3ce968933aa1c7813bcac59f3cbc88ab3c0a58ab3a0c93ff3a80175a3c68bd5d3cec13bcba9172af3be2cb4a3c90d14d3ccfdb11ba81263f3b7fabba3b1872b93b33f246ba8af1633a3a266f3b951d933a3ca4c7bae05555babeb490badeae02bbb4628338ef1d0bbbbbc0363c7e5af4bce2c289b9b44490bb4521423c808ee5bc2f51023b97af81bbbc83073c803fc7bc2cd0333b831588bb3338f73bbbcbd2bca4dd413b4df056bb6d2eac3bad4dc0bc284afe3a33fe0ebb68fe953b0c3691bc561a373b2ddd71bb9a3a913b8f2475bcd41c333ba80e6dbb74e57b3a6340e4bbceb2ff3ab37614bb1994283b8d6782bb8cf12bbc44c252bd89711ebcd0f0d83b4a4384bddb79c8bd5940433a0ca09f3b0376abbd52dde1bd4af1d0ba9541933b60ffbbbd82fbdbbdbe3728bb0329b93bfc767abd1f519abd926e21bc5cb0a03b23e972bd8ba288bd9a74d6ba9c34b53acdc2fabce1e808bd285d56bb4e62093b39a80abc2dbe26bc14a5d9ba6f3b7339d7a6033cf5d9c03b51d9db3a474ba4badf95ee3c3b5116be7185313f38c32f3fafd6033d5a1e1ebe2fa7303f96b32a3f41bbe23c754605be19821f3f40e6143fffaed43c2fe3ebbd8f540a3fab95f53ecafb8c3c0f63a6bd608cce3ea71cb33e27f9ad3cabb59dbd15ba9c3e18d4703e9eb8863cc4bb63bd12bd363e56cbf23dc7fe8d3c8deb2fbd49ef903db6a2903c997c553cdfaafbbcc144dabbed0446bdbb6414beac31d93c0000000000000000d1b219bed01af13c00000000000000001e8cfebd3632c43c000000000000000007c7dcbd4e05a43c000000000000000098ec94bd13085e3c00000000000000001a7d7dbd2520743c0000000000000000d5f21dbdb578143c0000000000000000aa0d9cbc5c40e93b00000000000000003ad350bc46fde63b000000000000000002f381b9b1a244bb58ccdf3bad8d3a3c580ca1ba3e687c39f5ad7f3cdb83b33cf97464ba80b5463b6e54973cd362e03c784d5f3966a5493b60d8873c5e87c23ca20c9339c0baa03b1021673c1bc2993ce49e3138ca3d653b39282d3c9114633c8ee367b92afc333b17d8cb3b63a20b3c629508bb5f31013b6d4f403bb35ec93aab8019bbc8f6b8baa535fb3a355a94bbd4b2e43893f698bb42cb183cc097d0bcc99c213b522dd3bb4028023cca39a8bcfc2a8d3b2162d8bb6e5eb53b1d849abc1a8baa3b2673b5bb49408a3b1de8a1bc69d8a63b450492bbde35533b884e8ebcb376713bd44360bb973c1e3b6a4d6dbc2132863b7e0c7fbb744cde3a64b940bc3c8a0c3b92387ebbceeaf43a6ae7e2bbbbc2463bffa31ebb84048d3bdda13ebb479ad0ba62bb8bbdea2e28bcfcefe73bc9ed1abdcd9d09be0d298a3b7e3abf3baeed76bd782f1cbe543b243bcde7a93ba2c67dbde5470cbec4b613bbb1afa73bf4416ebd65e0ebbd180f3fbb0ee1873bcc1332bd4796a3bdad66b4ba76ad313a0192d8bc589e3cbd02fd52ba7fb993b9cda101bce50e5cbc64ddc439789bdfba434ff83b2d7d003c08f3023b249cfbbaa8feac3c984dddbdc6c9eb3e2d6e6a3f9faad13c0aa2e6bd3cb9e93e7dca653f9bc1bb3c4069cebd29b5d93ebfc24a3fc125a23c4929afbd3b43bc3ee726243f5334a33c7cc199bdbda89b3e7c32f53e0360833c331172bdb750633eda369e3e836f7b3c16b140bd69fe113e00cd183e00e5493ceb400cbda3cd863d1173843cd723153ce5aad8bcfeb7853ba79d81bd6d3835be2555113d000000000000000049c640be1440173d00000000000000004ac023be1c45fa3c0000000000000000340b03beeacec53c0000000000000000a367c7bd773f9f3c000000000000000074b58dbdb4557c3c000000000000000050f833bd3473493c000000000000000034e394bc43c71b3c0000000000000000cc864ebcb976123c0000000000000000401b31b8233e8cbb8904e93bfe0e593ce1987cba171a07bbbe64403c9be9dc3c4158033956eef1397da86e3c42d9013dc4a8b6398c31c43a40586e3cff4cf43c280bd5395eea273bcbaa503c1016b33c909807ba3d33593b9f2f143c4264873c0dd9c8ba51ca343b29fbef3be259083c39479ebab569153a973c433b93e5d63a77c74eba8c7683ba023bbe398e1c42bbb1e3653aea9bcfbb48429a3ba29e68bceef3a33b8feb0bbc1f39783b925f40bc5898cf3bf7e1f7bbee9ae33a0b191ebc254ad43b781fc4bba2a88d3afe3138bc61389a3ba2a474bb2db69b3ac6d33ebc8d73b33bbae997bbaccdeb3a4ffe3dbc57de963b170c71bb9e9c323b624e1bbc243c593b3b9e69bb29c0593b2c78e7bb0da4f83a0848eaba9ae2153bbf3587bb926c293c2c25babd4c0b8a3b41aeab3b0b4b7abcd0262fbe7d8a463cb3fb613b369c1abdafa839be0e52423bf3a4af3bfc5226bd2b7d32be4524023b42ca923b020724bd732807be919749bb2e2e2b3b810402bde0a3ccbdb73f4539d6337a3aabd59bbc7cba62bd37a2223a66f0d2ba47aae5bb52987dbc2270e93ac32f49bb923bd33b91372c3cfb5b603b113d90bb58fe5c3ca32a7ebdf6646d3ed0998e3f6c887a3c9d0f80bde145673eebb58d3f483a5c3c22e26dbde0da673e1d87763f6281623c6d7550bd3c2b4e3eba1a4b3fbc920d3c5daf25bd10c42e3ee5e3143f92c1373c2d4c1abd463a0c3ea30fc23e733a0d3c2e49f0bc1d32bf3d08113d3e6289f93bf665bfbcd721633dc0c14f3c2c8da13bd31280bce2fa313cc00eaabd1cee49be7f341d3d000000000000000014e055bee02e2f3d0000000000000000d9182abec098f73c0000000000000000bc7d0bbe986ecb3c000000000000000053b1c7bdeb3c9f3c00000000000000002ccc8fbdf386783c0000000000000000a3e328bddda4353c0000000000000000f70618bcdc94ca3b0000000000000000c85724bbdbb3d43b0000000000000000f4d5653aadc052bb5b5f663bf2e1aa3c5e8bc83ace78a9bb544d123cad79233de2b73239598552ba26cb433c76c42c3d0dd6d2391a8d343a8dd8573c8d7b193d810fc639a6896b3a77e6353c008fda3c04565bb9b0613f3baf4a163c46e0b23c864b5dba3f86fd3af2dba73bfa8e4d3cbe24a3ba014e733a52304b3bd0520f3bc01c06bbb5a57e390e5b673988da77bb9488e53aaec7edbb9d568ab7ed01a0bb33fa7c3a22520cbc781544b9c7a8c7bb6c71b43b67faffbb16b74fbaee9b8ebb6c2cf13bb421ebbb175c72ba914b63bb7dff0b3c5773b0bbbeb24cba807d9bbb1825b13b50ee5cbb9e5aa4bab0edb7bb0e2c7f3b95206ebb3a5a1c3a4b9ff7bb8ff4563bbe8fd3ba408e443bf9adbebb8bfc973ab7b907bb37da513b5d0b37bb5f011a3cab4b07bee7f20f3c0f9d8c3bb80f013ca90658be7604033d1937c1ba1ed67fbc720169befeb84b3c2ef2133b49c3d8bc9d4d52be17b77b3be19f883bcbc9bcbce88926be5d5de6b83b123f3a291cb8bcd566f2bdd1b3773a453d00bb85d25bbccd4c84bd26bff8b9637c61ba2dbba6bbd05478bc885a26bb33db89bb315c803be65e853cbb44ab3b207964bb694aa93b91d66bbc30e2983c4f87ac3f51e39c3b98d64abc24fceb3c1a629f3feae0c63bd8c285bc1d66493d5ded8d3f26ffc23b7d5789bc351a743da579673f3a24ba3b22628cbc3762743d35ae2b3f34099a3bc7b345bc06e7643d5d17dd3ec49cb03b371241bcace5443df7d9503e8c393f3b3b1d52bccd87353dc51d013c7f7fe038e1685abb83f9fe3b74e0f9bd490d4fbe502a1b3d0000000000000000959f46be01f11c3d000000000000000011421dbe4a0ae63c00000000000000006be1f4bdec7b973c00000000000000004bb5b4bde7928d3c0000000000000000751667bd7d073a3c00000000000000005268dabcfbdade3b0000000000000000942d4f3c32fbd3ba00000000000000009b894c3b1f5e543b0000000000000000000000000000000000000000000000001b5250398a8720bb034a033c5fe21b3d8625f1395dd7ef39a42e203c4d331b3dabdb79bad7920c3b7808273ca521013dba19a6b98b705f3b0b38123c2240c23c055d1cbb385a3f3b2222fb3b65a18e3cd4a788ba5829563b2b8a843b3c651e3cb57758ba57defe3a3317e73ab3f20b3b0000000000000000000000000000000000000000000000000000000000000000c5c2a53b398fdabbeba15ebbaa03ee3b04e1023c1745c2bb081578bb078e853be15b053cff9a93bb5cf539bb0bc2b03a217bfb3b988452bbdea51abbf10f003bdc19b63b46fce6bacaf980b9321489ba8683573b046f78ba26a7ba3891f539bbc9500d3b903932baafe3493a53214bbb0000000000000000000000000000000000000000000000000000000000000000f0b4f3bb2aaf5cbe0949183c313df13abba164bc8b4a58bede8d983b6d45e53aba8badbc203a41be1040f7bb354b433bc2d7bdbc570c1cbe23c406bca676133ba11b98bca2e7ddbde764c4bbb0ee2439bdf116bceead7dbdd23317bb1e610dbb4e3b44bb37e378bcc025183a59150cbb000000000000000000000000000000000000000000000000000000000000803fe95804bb63e2823c0d47d3bd529cac3f880990ba50e42a3c45fe67bd7b538f3fe06e1b3915edb33b389b12bdeb6f6c3f4152123a70829d3b3125a7bc663e313f8c61713aac95893b5a771cbc9df9e83e4e3de1ba7752a53bab4aa03a3028693eb44a95baefff9e3b5a6d153bd5f7403c000000000000000000000000000000000000000000000000000000000000000098fdefbd139b8d3c00000000000000006615a1bdacb90e3c00000000000000002ce46bbdb8fbf93b0000000000000000266e24bd7153833b00000000000000003859cfbc850e033b0000000000000000dc4af1bb6a8b3fba0000000000000000c4a97c3b3721ccba000000000000000000000000000000000000000000000000000000000000000000000000000000006db0b4bb956d6d3c9e95a13c2b32543c279390bb671f853cb80da13c44d17d3c00abddbaaa3e6c3c2b7a6b3c5a64483c4648e0ba7adf583c667a2a3c82c85c3c384bf6ba647d413c86a4cb3b7904243c5b7c0cbbc1291e3c3b2e823b2a96d93b3167f3baa3bde73b1af21cbbee742f3b0000000000000000000000000000000000000000000000000000000000000000f6c7bfbb5d9e323a8a51dc3bb34a88bc1245f1bb866b223aaee68e3b754092bc58e4b3ba3d5051b8b177613be666c7bc3a065ebb2c01c939510c613b67eac2bcc7d626bb4810d9b5f6de043bafa783bc21961bbbc01d123addefb0b96e4514bc697cabb996a09b39ce6fc2ba8915173a0000000000000000000000000000000000000000000000000000000000000000d9ae39bef0302cbc964ff23bc40e58ba9ef83bbe2dbd0ebc7f77d23bc6f4923826d822bef9637ebcd4d68e3b334e67baf05107be418467bc9258893b2de654bae7bbcabddf9ec0bb4c54063b18536538767f82bda6dd53398c37afb914ce1e39d835c2bc0706073c5ce89ebbee28ff3a0000000000000000000000000000000000000000000000000000803f000000008992573cc028bbbdbb19a83f2f1ababd7234143cb5285bbdcaad8c3fb62f81bd9baede3ba29d18bd8e67673fa9de52bd90e3a53b01ffd4bcb6cc303fe38a2fbd2887b23b0dfba5bcb5e2ee3e470617bdd585ba3b9bfe34bcd61c7d3e08bac0bc3883b63b81dd48bce993263d65549bbc000000000000000000000000000000000000000000000000000000000000000014b8123c8d67c7ba0000000000000000ae59c33b4f5966ba0000000000000000ad6cb03b636590ba0000000000000000e202cf3b715792ba00000000000000006bd4a83baba78aba00000000000000000ae5bc3b4b61b0ba00000000000000003622013c72ea58bb0000000000000000000000000000000000000000000000009166d3baf2fc4b3a9bbc873c3ec1163b72fdf6bb44f5493c15ecd93c0809223ca72e71bb4e4b223cb7c2053da04d283c95f023bb059c1f3c1012dd3c3db5613cdde1c0ba516d053c3bf2a33c6c6d323ca49080bab93e053ce02a613cbd690c3cb65f04bb5b82963b1c2f273cd030603b268e71bbd05caa3bea42063a983cbe3a962bbcbabf3e003bf7dba4bbc29f92b841a97fba1b1f6abacf077e3ce4dd11bdacfbc6bb2ce3b5391d3c7a3c459baabc023659bb3ee155ba5571593c17ad03bdf59f79bb641f78ba6a8b403cbd160cbdab90d5ba712842b909c4143c6374fdbc7f007cbafbf920b9f09dc63b5279d1bc9d7e6d39aa8695bafcea993b4f2c65bcc922603ac7e82db899588b3ad2d270bbd7e4353afeec9aba3316443b406586bb3cc29fbd5c58bcbc9adee03bdd506fbaa0ac2ebe792d57bc0caded3bd86e69ba4b7d37be1b41f5bc8a9d1b3cf56453baf12725be0d7e08bd74b4003c0f9181ba07ac00be3712ffbc1b85cd3b39f1cabafcdabebda61badbc6012933b00d8a2ba1c0a5fbd11a728bc4b4d693ab31bd53982d680bc05d8073ae7f477bbc2df5239b5609c3c750dc23bb02facbad082b73aebbcd53cc98f27be3433a83f9b9b143dc9c9db3cc2fc24be616ea03f8c0cd83c3b7abb3cf37303be96ec8d3f6cefdb3c2de89e3cb3edd1bd89536a3ffb2fc33cf6e5953c4437a7bd0aaf313f5aea863c3191873ce1fe87bd6f03f53ead71023b61d68c3c62725ebddfa9833e3e9282bb2fc57e3c4bf906bd86c7513d00cd06babf287e3c835f26bdf02487bd6a3af4bc288e8dbc985e543b0000000000000000d39a82bc15932a3b0000000000000000007166bc5fbbdd3a00000000000000003d5332bc2e51423a0000000000000000d5cbffbb9c14fe3a000000000000000092fd90bbe06c64380000000000000000fc7ce7ba054350ba0000000000000000fca5053bf09263ba0000000000000000b751d63bb42f03bb0000000000000000ecf52b3b116c2bbcc5c1b23c505b27bbd529173a1d03f3bad8ded03c359cae3b29bdca3aff5446bbec46f73c938dd23bc209843a5be9b9ba0dd5e13cb828123c1e982b3bedcffabaff33b23c926cae3b7e0c333a1d6cb339b63e8b3c63e3993b9874873ad00147b9e1a8283c46139539af06b5ba35443d3a78cd523b3390f7b9198466ba8f6531bb9981ba3a15da6cbb1adbf13abeb132bb46d0973c60ae3ebd7e4a963ae87c65bb7c56a03ca4173fbd210e613bb84951bbb020833ce56b3fbde2272f3b90fe3dbb1984803cac153abd1a8b283b50332dbbb919643cb50c36bd655e6a3b737915bb948c323ce23412bd464a7e3b964a50bb0545123c935bf8bc5f8e3e3b4ce007bbd7d0da3be4ea93bc6645313b632a84bacf19f93bacdb81bcffc7aabcd9c21ebdc9b89a3b7fba6c3ab7a6bfbd711c6abdd577483c348688ba92d3d0bdbb168bbdb698223c11a5abbade10d9bdc1c386bdc128363c7b27a5ba3a6b9abd04f366bd7ff7143c1c12d2ba7e8e74bd1d6638bd917b133c1dd93dbbd98bb9bc10f8f2bcfac9b23b349debb847ceb13aa54258bcc218903b93ecc1ba82aee73c42f764bbbda4713b22d738bbc17dd23c8e4422be8a228b3fce946d3e6ac7f23c2cf030beac238c3fae5b523ebe92d43c7d710dbe3875743f88a63c3ee401c63cd3dbfebd7702523f46330e3e0c0dab3c2cffcebdd1df203fd848cd3d8578c03cc226babd1392e73e4e0e723d4464b33c2d159abd7e2b8a3eb1a1963c8d8eb13cb92f7dbd8890ca3d50e05fbc4935a53cc8565ebd181f22bc9aa02abda8014dbd3cce043c000000000000000084b74ebd2a72093c00000000000000002e822cbd1726eb3b0000000000000000c3f903bd8aeca53b00000000000000005e4fc4bc8ac3643b0000000000000000f21b8cbca129403b00000000000000009d1c18bcf7e1d23a000000000000000003d210bbbb6d99390000000000000000abb8ba399dfbb63a00000000000000000a13c93bb26999bcd3eaed3c6aed22bcb0df5f3b046a29bc601ae33c31c4223b68a9543bafbc18bcb4c20a3d5716883ba335853bfa84edbb4732f73c6c1bb83b337b913bd0bbfcbb4cf6e63cdc65b03aabc8443bfbedacbb2d119b3cd750033b9d24d43a3f81c3bb1f9b643cafb088b9153f763a04b06fbb1381fd3b6fe16bbbad6c423b05d9f8bbc896b63b747a06bca3c7e03bae8f8bbb77d4923cd18e65bd798f003c9540c5bbfc70a73c42cf5dbd3cc9fe3b1aedbcbbf53d983c954356bd7ab1b83bdf04b0bb0a99863ce8274ebdcc68143ca7f89dbb1d297b3c578943bd2339b23b2ea27ebbbd5d543c66a727bd1f89c23b69dd8dbb8750493c4f950abd2e619f3b588854bb41220e3c9123dabc0b8a733b7585d8ba6e40083c1af5bdbc3e695f3cdd196bbd5e8fb2bae8dbbb3a59e039bd6c4db6bdd766123c96e647b9a8a690bdeb89cabd0aae2f3c164638bad5a589bd0643c2bd3973323c9445aaba7a945bbd8a94a8bd76da0d3c6ef957ba60a00ebd07a980bd95d8133c0902efba928821bce2e136bd2101153c157d24bb3220583cfac9bdbcc419023cfa0254bbc7b60b3defd722bc8535013c15f83abbff57c63cd6b812be89d6623f4c11e13e1aede33c6ca51fbeb1e8633fff8bd33ea5e4cc3c71130cbe817c4e3f28ebb63e6c3fc23c50d0f4bd871b2f3f656a913e219eb93c7976d9bd9dd40b3f1e71553e2396b33cd332bfbdbb3fcd3e1574013e94abb03c4f85a4bd3fa3803edac2593d228bbf3c8b5c8cbd75e5eb3d26df3abcc00e943c895c76bd9319c73cf1b45bbdc8b2a6bddd565b3c0000000000000000c435b0bd6644723c0000000000000000cd6293bd6d60423c0000000000000000c93872bde87e353c0000000000000000a8bb40bd0bd7f93b0000000000000000113607bd7c3dc33b000000000000000029e5b7bc2dfbb43b000000000000000035a103bc954a523b0000000000000000f8cdacbb64981a3b00000000000000004323d03be013b4bc6d4ef63cf9bd35bcfddfc43bf83b88bc0b33013d3bce7cbb189aaf3beb3a69bc31beff3cb4c9543a9426a73bac765bbc1da4053dab67f93a41ccc33b1ce462bc562bd63c2b01a1bb0d82a73b379131bc0994c73c337456bb8888493be9950ebc1259973ce1f10bbcf8013c3b371e1abc13465a3c4cfd10bc9dc2893bc51430bcf3eb343c37e029bc0c0af53b627b90bb4585823c3ee451bdc6bd4f3c3df9fdbb6cf88a3c42404ebd744f283c15efc2bb07247d3cf2a741bdd0e9353caa00cfbb28377b3ca8043cbd9fcd0c3c2bf06dbb78072d3c24562dbd297d2c3c495cb1bbed6a653c11d022bd3354063c783672bba79d3f3ce47709bd285edc3bb0b284bb963a263c3018e9bcdce6c23bdc2537bb74a2173c996dbabccaefdf3cedf284bd740cb4bbd781633b19a55dbcc397e3bd5c52b73b6d095f3afee401bd8d46eabd5e2b593b7ce6fa3a34a224bd7b9af1bd90bff43be14c08baab9d8cbc8111a7bde28bb53a85b85db8d2ba8ebc3dbba3bd384e223c100702bb0a4e953a77da47bd398b0e3c80164bbb210f9f3c8ffeebbcf4ba443c13e895bb3782133d2f8846bc98171e3caf0088bb4ca29f3cb72cecbd80a72a3fddb2263f45c3b43c98bafcbd510d2a3fb3eb1f3f80d8a13c1440dbbda7ee193f0bf4083f4c50a43c75cdd3bd14d5083f584adf3e259c763c1dea9cbdf3decf3eb76ea13e8b92963cb1d9a9bd2060a63ea7cc513ef233863c0ec18bbd8ead573e1011cc3deaf78d3c176d80bd2b12e93d782f09bbdea27c3c32b55fbdf66c0c3d0a8b7bbd8a17dfbd95c4843c00000000000000000397e7bdd25fa33c0000000000000000d57bc0bd4280713c0000000000000000d07fa2bd785c4e3c000000000000000071ed70bd0da5223c00000000000000001af04bbd90f81c3c000000000000000010010ebd3418e23b000000000000000079078cbc23c3b63b0000000000000000ea2c50bc26bdac3b000000000000000026eae03bd99a94bcd6a7c83c617625bc4b219d3b8d1681bcfbb9f63c232fccba7806a13b5b7674bc47d7093d4444513b15809a3bd48049bc3bf6003d42784c3beef5a73b1e7549bc1497e33c741985b93ead703b20b92abc0647c43c8090a3badf887e3bd87c28bc9769a13ca58ec1bb265e153b966201bcfae0643ca5a30ebcaedc7c3b4d3f4dbc3547463c43544ebc5cbb413c747401bc416d293ccfdf1cbd44f0893cf54726bcf52d623c47521dbd79fa853c2eff13bc3ed8513c203019bd02d3733c070214bc24c0353c41c510bd6b71683cf9c2dbbbf5782a3c248505bdcf50393ce8e1c1bbee4c153c69e6f5bca45d353c4cd1c5bb145f093c1b22dbbce4a4133cee9aabbb76f0f73be99fbabc37ef033cf64088bbb589e53b833fa0bcf698d03ce48998bd244912bc97b4b43b6c6c62bb89700fbe156bf03b3f500b3b9eebb0bc19d61ebe42c7fb3b95258a394b65e7bc758f0fbe97fbe73b59c7c23a6f40b3bc4243fabda9b7233cf2cf0fbba2f25bbc651cbebd64f2313c7d7f3abb2f72cf3ab75080bdc21a713c94ee9bbbd36f8c3c124f0bbdb28e853c7aafd5bb0c38f43cee4344bc2a353c3ce20d98bbf8097e3cf59bb1bda3b2e63e384d5f3f3f5d8d3c0d04c5bdb8d7e73e4585593fbad6873c6654b1bde298d83e18bb3c3f794a813ce6409fbdc320bf3ec491173f80577a3cddb693bd343e9f3eb6d2e13eae05743c38b77fbd1715753e3083913eee35763c1c6569bd53b1273eb588083e0609783cf06349bdfccabb3d18aba53ba9233e3ca36f1ebd31b4fc3c7f028bbdf0cd08be7f7ba83c0000000000000000995115be3b7bbd3c0000000000000000c737f9bd9e71a73c0000000000000000f6efc9bd9f52823c0000000000000000c79da4bd2bf9683c0000000000000000f51475bd85e6333c00000000000000008ee522bd289b133c0000000000000000ff5da8bc1117e43b0000000000000000befc78bcd0a6da3b0000000000000000bbf8a03bd04569bcfa05b73cbacfd3bb86bc5d3bf35156bc2661d63c29a9bf3b9166183b908e2abc791ad03c1fd20a3cfd36673b615a30bc9634e63c58a8043c25e64c3b9a2f1bbcb847c73c0031833b1b604d3bb8930cbcf792b43cf068ec396962e43a918dd7bb088f893c035897bbe2a3053b33e6ecbb1d4b4e3c9afbd8bb90e1de3a2749c3bbf0da253c7e9553bc51e7693c4fcc21bc59f2e53b6617cbbc4c77933ca38a3dbccc80053c9b0bb1bccd09923ce0271ebc1718023cdadb9cbc44998a3cda3924bc076dd03b7991aabcb5ce653c915ce2bbea56c73b2ad99ebc3dda5a3c0343debbbaeac23b940c93bc69741a3cb390b7bb19e6ba3b7d9f89bc2777f83bb53784bb7b65bc3b76f380bcb8ef0a3c942d8dbb67938d3b28646cbc99dbae3c5f56c0bdb961a2baf8099f3b4faf26baab7b2cbe5f113f3c719d913aa46594bc84e32bbea5a85d3b7746073b91cbacbcbbcb2bbe19eaf83bf385333a20c495bc306005be0a02b63b3ff49dbaebdf44bcdebed9bd7acd383c0a0b53bb998246bb30e282bde067593c1da69cbb8f744b3cd0c30fbd35d18f3c3b7a08bcc704c53ce89106bc8958823c5095e1bb7fca133c0b1b53bdef54773e08d0893faae6393cb7df69bd3e00723efd04883f6da50d3c74b056bd0a3c713e7992673ffd852d3c9ddb4abd95af593ec56f3f3f8b47143c7dad2bbd3cfb363e325a0d3ff958023c03e922bd4b09153e8dc3b83e3f0f0d3cff820abd97e1ce3dba973a3eaa2e103c9ba0fbbc3e05833d2a68383cbfb2ec3bf9c0c7bc7dedb03c7b83acbdad9e1cbee072c23c000000000000000008f429bee812e53c000000000000000087dc04be3fa9a43c0000000000000000d828e3bd288e953c00000000000000006b16aebd74516f3c00000000000000005f7784bd6e2f513c000000000000000001bc3abd65322c3c000000000000000065668abc99feed3b00000000000000004ea736bcaab9cd3b0000000000000000bdb2493aa4819bbb99d84f3cf48c6c3b74c6083bebce39bc495cbd3c7b569e3cbf19f43ab560fbbbea88b93c2153bf3c8498c33982eec2bb7fadc23c16079c3cd605133a9fa0c9bb3da3a93cc6e6443cf9c8953aa462bfbb7e37993c3f200d3c27f8c73a09aa9abb1e685e3cc738633b6e3abf3af72ebbbb2673103ca5532abbd228343a5afb7bbb7f04e63b7af52ebca81f613c9cac1bbca371133b14dab9bbf5dc7e3c741f42bcf4e4563b5ba798bb550b733c94b121bcf1631d3b9ac4c5bbf6ad803c23ef15bc14b3333bab0babbb6ce6703c1855f2bb563c513bf448abbb6f93413ce758b9bbdcf6293bc83fd9bbf474fe3b3aa08ebb5a910c3b4c20ffbb4c88b33bc9dd21bbb91d073bdff903bc8f68b73b88862dbb83732c3bcd72acbb1f9d083b895ef5bd9fbfdfb8e63a803ba069103b3d4058be6c42c53cfce04f38ee7673bc31965dbe2f87523c5490813a68c8b5bcd02948bee760f13b11d0cc3a66839ebc7e681fbe4712aa3b55a8733862ef71bc5101f5bd0e361a3ca8464bbbe12284bb41d798bdbd10493ce5ad8bbb8bcf253cba43febcf6e3823cf9010fbc6c0d443cfccbb23a56e4873c0ab4f2bb3ec17b3baf3a95bcb46f273da4a0a73fc9998d3b17efb0bc9ef54b3dcdec9d3fa8e8973b775c98bc7db6853dcff9893feab6923b68b39ebc2ab5933dcf265f3f5b73063ba38285bcf59c853d6638263fcf83993b58127cbc5e646d3df17dd83ea7024e3b3ee64abc5b253f3d59d8503e9dc97a3b1bcb3bbc7feb133dd9a8e6baaa73b83a7e1fc3bb3b064f3b28bddebd238226be90fdca3c0000000000000000d3d723beb813d33c0000000000000000ba7903beb8f39b3c000000000000000042a7cdbd7fbe733c00000000000000004b989fbde340423c00000000000000004b6c61bdc9e3193c0000000000000000c5e200bdfbdcba3b0000000000000000c9aeea39c85f363b0000000000000000662529bc7f159e3b000000000000000000000000000000000000000000000000103e98ba8390393ab46f033ce932c73c50aee3bab0e58039b7bb493c1373be3cbd6bfbb998a5a93a47c9223c275f9e3c179dbbba6721333b30fd293c1c47563c5d1e2aba886fa03a8456093c996b173c7754b1bacbb38c3a531ad93b6043c23b625f85b9e6349b3a7a17803bee4fb0b900000000000000000000000000000000000000000000000000000000000000005ea83a3cdb6dddbb96a9feba2310053c1705513cf006bfbb41544bba4dcbd83b1e4d3c3c4e3983bb60a68abaecd6c83bbfcf3f3ccf795fbb8bf3acba8d3ea33b15a1093c95f437bb5b0872baed85623b889aa63bc3a4f5baf6bb0f3a7e000f3bf640253b502ef438359d29bac7f9c13a0000000000000000000000000000000000000000000000000000000000000000d8b292bc7a773fbe4e4071ba0c9b423be9dbb2bcf51e3fbeb7d7b4396c64cc3a159ce5bcfad725be062bf9bb96206e3a547bebbcf51608be4493a2bb472f6239f77cb3bc4b0bc8bd3ff102bb5a4cc8b9f52d59bca36a80bd2388863b563207bbbd27a9bb089fafbc3220fd3bf3dfa2bb000000000000000000000000000000000000000000000000000000000000803fb024d4b970dd083cac92a5bd1d15a83f3f2d33ba8062863bdd2633bd890e8c3fe9e9b6babafc7a3be335dabc2e07663fd56227ba097b523baa8d92bc50c52e3f0826e3ba44a6bb3bb1c541bcc2c6eb3efb3413bbf00c893bb830d8bbe643753e51b200bb778cd33b670c1cbc2200153d000000000000000000000000000000000000000000000000000000000000000040acc8bdbb75463c000000000000000055228bbd78dafd3b00000000000000005e2455bd1e86c13b0000000000000000cba633bd153fa43b0000000000000000394709bdb5b7883b0000000000000000cd8e94bcb510bb3a00000000000000006c6126bc9b19e73a000000000000000000000000000000000000000000000000000000000000000000000000000000008aa98f3b5c8c033b2dc5f8bb236d843c812b723b4c7eb93b7aea33bcdda7983ce320973b1078423b00ae50bc02237d3c25cf923bc1551d3a06a35dbccf55543c05b9213b09b9a13b90366bbc440d593c6055073b299cd23ba8a083bc12f56a3cad13cbb9720c1b3ccd478abccf45613c0000000000000000000000000000000000000000000000000000000000000000387755ba35da7c39fb0aa13be69d01bd6313dbba6bf21e3a1890d93ace2ae0bcf002dcb99d6b42397166f33a82c5e7bc0a98a6397cfc193967e81f3b1f7fd4bce8595eba12e29a3ab96f2a3b620bb9bc381233bbcf79523972012b3be6e88dbc0f1540bb7ed5653aa5e43c3b5c823bbc00000000000000000000000000000000000000000000000000000000000000005b0296bd1bbd0bbd9788373b883b56395939a3bd1d42eabcbca76eb908b870bab30a82bda53ee8bc106f973adb56d7b9d01347bdb423d0bca9121f3ad7257fb9f28a21bd4e0597bc3f2beb3897e62fbaf9adfdbc7a3ceebb59e8c3b9fb0de9398f4b73bc3f3311bbbd0572baf3de0d390000000000000000000000000000000000000000000000000000803f000000006c57ac3b59325bbd5c05963f1b5b51bd564e993bd15807bdd24f7d3f3b6016bd6c34973b473fddbc3bf4503f615c05bda2c0583b29d5bbbc15a9233fb59b03bd507d593b515eb4bc4f5eeb3ecd1bfcbcdadc513b1a75adbc7c27903eea55f5bcc674c83b28d5f6bca1dded3d1da90bbd0000000000000000000000000000000000000000000000000000000000000000c9033f3bbcb16eb90000000000000000dd338e3b79bcdd3a00000000000000003870433b0dd89f380000000000000000a094363bb09d27390000000000000000a4312f3b3dde62ba00000000000000001e98f33a63896c390000000000000000dc68523b178f12ba000000000000000000000000000000000000000000000000da5d893c282107bd7371063d661822bc24b6773cb45ea7bc47c1983c20adb73be99f6c3c44e4b6bc6bcfb23c471d5a3b76587c3cfa44bebc9f27933c7614843ae7f5633c1c0bbbbc61d6863c0e836eba1e6f533cdbf297bcecde393cd876fa3a879b163c06a561bcdf9a0e3c8c70013b0c310b3c8a4c1dbcd664fd3a86b5a93b4386043cd4e25ebc38c9f83b72a461ba9c089f3bce19e8b98323373ce41a6abd1c6c083bedbc72ba4bf32e3c0a3f54bdcdba993b753482ba62aa2b3c46335cbda3efa63bd2b833ba66761b3c37f15cbdc3bf8f3b518b93b9d3531c3c3a9a50bd4e7f503beaeb43ba94482e3c0d8442bd66a3243b5e5597b997b02e3c79af20bd29a50eba60de67b93baa2c3cc2f502bd9d8d383a61ad82b92b1f403c4f7700bd890f9d3bd6b753bdeb89e03bea69e9ba09c655bdc22c52bd7ce5ab3b0cdf01bb79995dbd27ad70bdafb4dd3b7e850bbb4f3824bdfa8d6bbd42d5b53bca40f9ba88a1c1bc07ea4cbd40afaf3bd1e207bbc12f6fbc6e852ebdae31dc3b5b97d1ba02c747bbd2b003bdce0ec23b8ecff8ba130e2a3c9c0d89bc5f16a83b4940cbba8c59023d37028ebcd302f53bf6cfe9ba3f65253c358dc0bd79c8953f0c6e8e3d1382093c4bd4b7bd828a8e3f2eaf783d84a5043c261197bd5427793f7083533dbcd5ec3b8cbc80bd59cd4e3fae45173de01b0e3c829363bdb6bb213fc6119a3c5930083c883e64bddce0ed3ef31dd2396159163c75d75abd7d76943e23088cbc50471b3cf43458bd6101013e1d0805bdefc9453cf4fa69bd62d9963ce63855bd6c750ebc18567c3900000000000000008a7304bc0681c83a0000000000000000c4cec3bb077ab3390000000000000000cbfdf5ba207071b90000000000000000fbca97ba4f5653ba00000000000000004770ed38507af0b900000000000000009927d93addc5b9ba00000000000000006cad523b116012ba00000000000000004f0bdb3bfc9a52ba00000000000000007892ab3c0ae85fbd17db813d54a005bd25dec43cc3ab5bbd7fb5773d622ae6bcfd48c03ca3645cbd4a196b3dbf0701bd8d1ebb3c6eec4ebdd9b35c3d7529d6bcde0eb03c7a2947bd12c2513d8f28e4bcfb8da33c4cc73bbdc986353dcc80b5bc20b69a3cf89e26bde235203d37e4c3bc45cb873cb92110bde5c5033d9a438bbcf357783c54fc11bd0053093d979293bc1770443c8cdb06bba2ef863c9f5484bd6b9e563c09142bbbc687673cb01590bdb4394a3c2e51ddba3111693cd59889bda4465a3c95430ebbfa3f673ccd4e8cbd3bfe533c9006e4bac7b56a3c1f6c85bd36cd483c5b2a2dbb7be47b3cfaa373bd69bc313ce11e0ebbc2ac6c3ca8b963bdeebaec3ba4339aba3fe9773cf3e052bdea6ce13b47cfb0baf57e6d3cf84332bd9ae7333df1e874bd733ba03b4b8a5cbba2b6653cc015a0bdf763373c83cb69bb0a3d903cf5ef9dbda4492c3c48dd85bbf41a203caf7daabd8c144e3cbb7981bbffc4b73c97e399bd5a004b3c895492bbd75ee33cac9c8cbd03503d3cad573bbb2628303d337d67bd2a45613ceb3667bba341473d996b37bd67c3783c79e183bb1440673dfb350dbd557c693cf3cd48bb8f5ff23b77b9b8bd97fa783f93656e3e571c0c3c4952c2bd2a12733fa0094d3ed23b103cc0e7a0bd0db14e3f6da8333e0960093c186f9cbdb9df353fa9b9083ebb2b033c1eeb89bdad2b103ff088bd3da214ef3b4be887bda49cda3e6e7e4a3da264063caa1c86bda7dd933ec6b94c3c4129303c4ebf82bdb0bb213e7de100bde732393ce7d970bd6c14453d77945dbdd029aebc2393153b0000000000000000c01fb0bc82dc8f3a00000000000000000eba7abca09e15ba0000000000000000e5a137bcbaebb6b80000000000000000e3f806bc65db45ba00000000000000008eea45bbb8d429bb0000000000000000d9a2e4b94b7effba000000000000000027ac783b6c8539bb0000000000000000ce868b3bfcef5fbb0000000000000000c2aeb73c495885bdf862aa3dc5824bbd1420dc3ca9fb8abde925ab3d7f3d51bde1d9da3c9fcc85bdae1ca23d242e45bd0f8fc43c30957bbd8697973dcd9d3abdfe1cc13c0ac373bd01138e3d6c5b3ebd20fbc63cc39b6cbd6b6a823de73429bd1e98b13cfc345bbdb97d703d272d1cbd7471a43cac994cbdc8ad5b3d804214bdc3748d3cd40b30bd0c04593db94a13bd298b763c088f5abbf9c3723c968a88bda7a8ac3c61c282bbb244823c679191bd69e0ae3c07507dbbc689593c0a6c8fbd97a19d3c22ab3ebbbf146e3cf6b988bde1089f3c2d6c35bbbd517f3c95b389bd70b9883c7e7110bb783f763cf29881bdc708853c20e948bb02187f3c851171bd6b44813c92d74dbbfd278c3c83aa66bdbf72633c49993cbba17f873c19e853bd5524823d526d79bd5bc86a3ba04c18bb94c0313d9fb0b9bd12412d3ca77499bb397c073dc8cfc5bd157d433c7953a5bb1c24113d3101c7bdb2f1713ca858babb0a7a353d6e08bbbd7b03813c05c3b9bbd47f503da879a9bdfa4c9f3c6752d4bbc9db5f3dbbf495bd1c70a63c685b9fbbdb79863dfe477ebd5641bc3cb3fbb7bbd2bf903d624a44bd1320983cdc5a66bb2eaee53b8a519fbd6899483f7933cf3e6249f23bbf96adbd3fd1433f24ecbc3e6c3a033c308e9dbd1e862f3f16b6a13e4551d93b89aa90bd3dcd153fc1d3803e9836053cf1cd89bd2dcaf43e75b63c3e70bff53b3ef487bd7f85bd3e8b73ed3d1341153c6e3381bd18bc833e71b3533d0f3a103cfd5481bde03a203e6b8e4abcb4e40f3c94bd6fbd516f863d1b1355bdc25c27bdcc4ae23a000000000000000069e318bdf5a11f3b000000000000000094f4f9bc46b7f63a000000000000000087a9c6bcb6ae7cb90000000000000000f86992bcd68fb8ba0000000000000000e6c213bcc7f009bb00000000000000009ae5e0bbaf8576bb0000000000000000102d8b3999cb89bb00000000000000006c837d3a416f88bb000000000000000039189d3c063b77bd0557ae3d786c68bdf75ec33c40a787bd5b90b83dae1484bdc6c3ae3c6e6078bd3fa4a43de2b466bdc7ccc23c985683bd895ea83daa6e78bd54a6903c7f7a5cbdd818913d9fd252bde053ae3cda106fbd4817973d520e69bd1f0e983cfec755bd0274863dfdd949bda95aa03cd26452bd182a853d517e4cbd80e0883cc28843bd465a743d721d3bbd4743973cc16b85bb9427563c5d116fbdb540bf3c6b5799bb2ed9483ce86980bd8479af3cf1b495bb33ed3d3c14526cbd4648d23c21d48bbbaf59583c2a6379bdd95a8b3cd0b95cbbad48413cf5c65cbd79e9c43cf4b088bbecf5723c812067bd0c70a13cfce962bbb1b1463c9ad452bd1b2fa03ce88c84bb56f26d3c126d52bdf3b48f3c753d85bb6db2583cddb33cbdb2377e3d52276dbd2834b4baa80716bb2406593d3dfdb0bd41bd243c58c5afbbf726303d791cb5bd4d13953b2ab264bb673a3f3df95dd0bd177a563cd517cdbb5e81483d471896bd339ffe3bb72273bb39e35c3da2deb0bd7abc8d3c7a04d7bbe2546e3df16d8cbd27a38e3c45a7c1bb106c8c3d90c787bdab4fd83c2015dcbb64ba913d84114dbda67bb13cf115bcbb404bdf3ba5717ebd240f183fd059163fa68dd33b4c9b82bdb2f5113f75580a3f1581d53bc18e69bde959023fd39eec3e144bc93b86376fbd4f4ce73e8ae5c13ee6a4cd3b73db50bdafbab53e6633913eaa73b53b1b5e5bbdac47963e1019443e6ce1053c38ff4ebd2f0d543ea51dd63d3027173c3a315ebd6097083ef606823c7a6a063cdec24abd55857d3d19c231bd9c8b64bd7fde813b00000000000000005ea166bd3e833a3b000000000000000051ec35bdcd38233b00000000000000007ce616bdbe44103a0000000000000000d6daf7bca3d3023b0000000000000000675fa4bceee0f3ba0000000000000000ef6e9cbc24946fba0000000000000000881cd8bb721e84bb0000000000000000409ccebb374e19bb0000000000000000eba07c3c89b34bbda42a963d79e858bdedf89c3c930961bdee33a93d538886bd210f9b3c51ae5bbd43eaa03da11479bd1a848f3c046051bdf3719c3d41cc76bdfa5d8c3c8b024fbdd342943d4e4279bd90818e3ca0754bbdd92d923df3806bbdf15e953c38e743bdb99c873d3c8162bd188b833ceffb3bbd83de793d338f56bd27c6693c43b527bd29816b3d1c7c39bde0ef953c1080a8bb72b70d3c128232bd2293fc3c3fbddebbfa51263c1a5e41bd31e9ed3c27fac0bb67981a3c2f343abd88e8de3c4720acbb6d5d263c4b0e41bdaa52e43ca88da8bbc8ea3c3cccd237bd700acd3c1a30b5bb4423173cc5c92ebd0750d23c341fa7bb2bfe1f3c58b42bbd0b22c63cbcf2a2bb3de52f3cb7b915bd4d20943ce66b89bbf2b03e3cfc5c12bdca55393dc6244fbd7db0ebbb698910bba9a91e3dc39ebebdcfad8d3ba3ec87bb3b62fc3ce349d3bde2b5a63b706f9cbb2d97003d75f6d6bd4744213cdda5acbb6634153dffd7c1bd10ee4c3c2fefdfbb8a2a253dc57bafbd1f578e3c9773a7bbe6613f3ddbdd9bbd8e3cc13cd92ffcbb4d2f5b3d759381bd23cdea3ce137efbb172e703de1163abdd71db53c8d90b1bbf7f8ad3b04193dbd77f8d33eef69463f7985583b401a40bdeec6ca3eeca93b3f1e1c993b40ce3bbdf52cbb3eac91223f7a127d3b2c4033bd34fca13e9901053f3489613bfc6d25bd0d1a893e23f0c93ee9ee983b4fd91bbd40de553e6c768a3e3b70623b03bc24bd8eea1c3ecd2a1b3eb8b2623bfd401dbd4980c53da006213d2770e03bf53823bdd3bf333d383a12bd921c91bd8cb3f53b000000000000000023ae92bda5e0913b0000000000000000e57376bd31ce343b00000000000000009a9b46bddd67d83a0000000000000000b20724bdc875803a000000000000000079fdfabcea6816ba0000000000000000efc6babc0d05e9ba0000000000000000371d5ebc7e2198bb0000000000000000afb139bcd78602bb000000000000000003382c3c460306bde1cd633d44753bbda07d393c5e4813bdf33b833dc04b69bdddd9443cd8300abdd5f5643d23f54bbdbc593a3c1f860cbdcbe0753dde2f5ebd2bc6253c643402bd8e53693dfef154bd1da0323c54f408bddf7f693da38654bd6e94223c41d204bdef9d503d950e42bd4e5c3f3c44d908bd2b5f5a3de40846bd5e58073c80b0e9bcd4ab3a3dfa3e2abd98feb73c9f33ccbb32e0bb3baa0ae0bcc855013df0dff5bb7644b13b46b3d9bc1651d33c7bcec8bbc380903b4ac7ddbcfe85ec3cc4d9c3bb86ef9d3b41c2d5bc831bd03c482299bbb6cd993ba600d8bc68e6d63c364693bb3e83e73b3d7bcfbc6452ba3ce57ba8bbb960e23bfa07ccbc7c9abf3c9215a5bbbdcccc3ba07fc0bc59269f3c88fd96bb32fce43b7297a3bc1960bd3c4c984fbd66daf2bb2eea39b90bac803c99c7c7bd56fbc2ba3f7985bbe23a333c4338b0bd03643abb619336bb90823f3c1ebed1bdc0188f3bf134a4bbf0495e3ccad8aebdf522b63be00d8cbbd277933c7170a7bd9347613ccc13d9bbf503ca3c953471bd7eef683cb7029fbbdf590b3d29906cbd522ce93c76200ebc1119253d7a0e1ebdbb3cc63c83c4c0bba059503b2d66e5bc9364753e807e763f7ba3463b2738dfbc0876653e65836c3f9502173b581fcfbce52d583ef1cb453f0e67683b6a0fcdbc3bce3f3e1449273fe0744b3b07e6b1bcb5531f3e92e3fe3e04d9c9398475bcbc5643fd3de7f1b23e770a483b8a0fb1bc1e89b03d346d583edb1d173b26d3b7bc0f975d3ddd327d3d6172003b86d3b8bce5b88e3c32ef0fbd7a71a7bd0186a03b00000000000000005da5aebde986023c00000000000000009bcb88bd0994c93b000000000000000021156cbdfbff803b000000000000000069a53fbde315873a0000000000000000f47115bd4ce3fbb80000000000000000d2c0ffbc57306eba0000000000000000d43196bc3da4abba00000000000000000e8155bc9a6919bb0000000000000000bec0533b886311bc8ed8d03c186de1bca30e753b09ac52bcfaa6253d4d911bbddbd47e3be7fd46bcd89e1a3d778208bdf815843bf0cf46bc1b90113d38d813bd4ff18c3bf4c970bc3cbe0f3deb3617bd5df5803ba2d15abc8194123d68cd17bdc4ae8f3ba9ee69bcd6ba0b3d94ba0bbdf1b05b3b3bc671bc3b160e3de27d07bddcd64f3b69f43ebc398fd83c19f5f3bc24faa03c1cf4c6bb061cc93ab7c608bcd188053d793a05bc96e44f3b37ad33bc621ce33c02bcd1bbe684fa3a8db637bc1076de3c0003bbbb7417143bc47d2abcf923c43c553e89bb5fb2fe3a5d6105bc9f73bc3c3fd49dbb5d911a3b87af1abc4107a93c6aaba3bba13c6b3bbf5b1bbc5e1a9e3c4cfa8ebb69bc1d3b305cdabb4e26893c1bf7a1bbe0d0363bc47a98bb22861abc0d044cbdc98788bc791deb391f7a0cbce3e6e8bd5b6294bbdbcdabba953a6dbced58ebbdd3a514bc11c0c0bab0de75bc5d36d3bdebadd3bbb98a07bbddec2abc090badbd05ce36bb215962bb57f1c1bb1bbb98bd94228f3b782b33bb01bf253a213975bd424f4b3c670773bbd9ef0e3c4f3b3dbddcf5c33c7615b4bbcb84363c602ba0bcdebd983c6d7c74bb7d2bf939a0fe2abc9ae6953dc151953ffeebc43a70d73fbc47929a3d61698c3ff0e4233b18e027bccbb49e3d35cf723facc61a3aa54c14bc1ae68f3dc0c6463fc172943a7435f4bb2b7f713d50a9173ffa05093a106608bc77f5353d7150d53eb876ba3944d713bcacd1eb3cc0f1763e3c75e13aa642fabbd28e403cbc4a903d20c04d394783e3bbd58c2bbca70804bdbbc2b9bd076d013c0000000000000000f0d8adbd320ae23b00000000000000005b6b8ebde4cbb83b00000000000000002bbf6fbdfcfa813b0000000000000000823745bd1cf6113b0000000000000000bec323bd3b72873a0000000000000000bab30cbdfd9e393a0000000000000000c9c6aebc26fff5ba00000000000000000fa4cbbc2c5579ba000000000000000000000000000000000000000000000000d88303bb77d2063c8812be3a8bfbecbb5d88f2ba885ee03b56c8a03beca040bc74656aba1266c23baede383b32343abc8a7392bab51dba3bec43633b9bc36dbc1b1d8fbafe0fa43b14ca3a3b25f24fbc89d115bba269943b781ecb3b4de555bc10c7baba496b483b4a9cbd3bb3fa45bc00000000000000000000000000000000000000000000000000000000000000003f4e783c08a486bb78dcefbae784aa3bcd55893c8e0832bb955f99ba33c38a3bb5d3523c1452d0ba72cc0bbb1148803bf216483cd0dfcdba03081fbbc2b1a03ba177323cd8ecc6ba1401debad66ec03b26c3203c09aa01bb44a5febaabc4aa3bb635063c4727aaba3311cdb900c7f53b00000000000000000000000000000000000000000000000000000000000000005f6bffbcb5f8a4bdd76cacbce78b9a3accf2e9bc021eafbddf7179bc1fac0cba3e58ebbcf13b90bd80b28abc9715efb945a6e4bcceaa69bdb6b547bc082d5ebadd18cebc0b1233bd39b411bc0ef526ba10dd94bcfdcb0ebd17e5a2b95a6408baf1157abc6e3090bc956cba3bf45d1cbb000000000000000000000000000000000000000000000000000000000000803fe4a5113adbdba13bafe838bd6582953f08d9b6387a32733bbdecd6bce73f7c3fe1fb403a3d2e8a3be98a9dbca1604f3fdc2aceb9ed37a63bf7ba82bc30ab213f84fa50396288003b0e8c7bbc141de83eff155fba13f7a73b8f3e8fbce5f08a3e3def0dbbe9e2ad3b0892bfbc33f3d93d0000000000000000000000000000000000000000000000000000000000000000f50f68bd8e13e03b0000000000000000ea7b23bdc8e4933b0000000000000000bd5b05bd4de7643b0000000000000000615ef4bcb2f12b3b000000000000000072dce2bcb88ac03a0000000000000000b0bdb8bc2c320d3a00000000000000007812d3bce4c1943a00000000000000000000000000000000000000000000000000000000000000000000000000000000c4ca4fbc7944913ce5d73c3d89c1493b670000bceaca873ccf02303d229eae3b8b92d2bbe51b9e3c0ada173df1c7e13b6ea9b9bbd1627d3cba8bf93c4ce0ff3bf857cbbb60175d3cc5569c3c78ff553b4e1477bb92450c3ce912273c95533e3bfdf7a7bb93ecca3b0c74a2b9c268bf390000000000000000000000000000000000000000000000000000000000000000c1cad6bb0590b7ba51e2493b518e593cc46fdbbaed761fbb8a8175ba5428e73acc63083b51b942bb78bfa5ba2d6a24bc638b933a498100bb9a6961bb4b7626bc4d1c993be26f13ba9ee7e1bb9f03d7bbee4b1b3be0cc353a03d9ebbb7e67c3bb0860243b70ec3c3a417618bc24cd873b000000000000000000000000000000000000000000000000000000000000000037987fbed66ab83c9c3e993bbf34ce39c24c71be284b2d3cfd0aeb3a8d08493a11a361be9bcfb839010cd63ae9e08a39b3f933be6b8529bb06b2caba6840f53aee03f7bd4bf83bbb325320bba05d34399c6081bd2daab4bbb0743bbbaf7e093be44a22bc802aecb8ec14b0bb54690f3b0000000000000000000000000000000000000000000000000000803f00000000670ead3ce27700be3ae4ad3fa984f4bdee56503c4c1d96bd9e638f3f93ad93bdc52d293c35025cbd6b9c703f95a163bd941a0b3c890d04bda983323f208f18bd9e2d023c45e954bcf935e23e3b244bbc759da13bf3c2d93b3b1c5b3ea954d13ba143973ba1017b3ccde51dbcbfc48a3c0000000000000000000000000000000000000000000000000000000000000000718db93c27cbf7bb000000000000000091c45c3c0a80e5ba000000000000000062a4233cc718acba00000000000000008f2cf53b738e30b8000000000000000085294a3b5e19553a00000000000000009831d039384301b90000000000000000cada613a21ec0e3a000000000000000000000000000000000000000000000000334f15bc296d163cb589a33c708eeb3bac9d3fbc43035a3c8dbd1b3dff8ac53bc3db0fbc2613933ca0f1333dd929373c2f91e2bb4ac78a3c7e47223db4383f3c5b853fbb0983853c9a27d93cd526153c2d60a5bbed16733cb5c59a3c2c53123c7258a1bbcea71b3c8d8ff93b8696b83b9b4191bba8e6063c29527ebbe741863ba4dc07bcb47d833b23ca1ebccf073db940a22bbc2b2617ba1114813c69e44d3bb2960bbc17c928ba74f6563c4ad7a23bd1682cbb27a685bb3e4f633c6c0520bc81b0c3ba1ed39abbe3fb153cbf205abce62a113b353717bba4224a3bb3706fbc6c123e3b5e4130bbab0ba339e2e52abc8ca65c3bd4be3dbb3e876abb9848aebb3887a23afd54013acb75d7bb36fb4ab9509523bb7fd4293aa33da4bb11d4583cab260abe0ca9b23ce40cd4ba5d4fe03a486648be4a07b93c5c8600bca021c33bf8376dbec118673bb1ba97bbda7b6c3b5bae5bbe535474ba1ee997bbc55c853b22ad30be523dc2bb0088b2bb08d5323b1365f6bd34090cbc9afdb7bbcb07443b63b277bd2c8b03bc66a6c3bbf770293b0be54dbcbe689ebbe1c9a7bb80df0f3be46aa73cdd67303cc3df97bbd6c85a3bdbaa333d008467be9dd8ad3fc64153bbca43113de6043abe68579b3f0c4bb73cfd36f33ca5e626be717a903f893e813c364cd53cbae704bebe5d6e3ffaf58b3c0f40bc3c5d0dc4bd29d9333f2fffd23c37529b3ca2c782bd5ef5e73e2658033dabfa8c3c1d9806bdb1fc603e062f113d8555453c7867abbb28c0233d1b82143d14807c3c03136dbb1b26fcbdeb359a3c068af0bb36361bbb0000000000000000c22749bcef5900b80000000000000000094923bc97ff8e390000000000000000f9c22cbce903543b0000000000000000961825bc7391143b0000000000000000b68e47bcfcee533b000000000000000027c241bce75f723b00000000000000002abb80bc12849d3b000000000000000044ddfebb5e440439000000000000000035b0813a1021e8bac18c683cab17443ca8b04ebb0cf5243c1df4da3cbe02853c74e026bb20474d3c400f0b3d15a39e3c9235beb984a7683c4887e33caf9f963cabc57db9bb5c693cd0b9973c28e7883c4c1bbabb88c0393c6bd05d3c9acd473c2b3284bb88241f3c3771c63a3643fc3b5119e4bbe456e43b5c5ac1bbe116b33b94108fbbb6031b3bac4b2cbc7f593e3b07aa57bcb4589f397c27ae3c17b19abc0e5de7bb346a33bb4b8fae3c82b6adbc659991bb8c67bcbb25f4b93c8f9bd5bc3d2f7fbad88bb1bb1e06923c9c81e3bc4333f33af9b390bb45763e3c20c9d2bc5d85703bbdbdc6bbffd0103ccb1679bcd7a7fa3a6fc87cbb24efb53b806930bca538d73af10833bbd805283a0a8dc53ab7ee02bbfef7eebac20c593b4e567e3b29f191bd9e01253c42be41bc5c81f63bafd01ebe08ebd6bbfa8a29bc93de233cc5de40be38db91bc6af9ecbb2f67f33b261139be649c93bc2c4023bcb1d6d93baee311be3aeab7bc4a28fabb0b70ba3b7119d4bdfaa085bc9e5e20bc74a4833bfb0356bd7824c8bb18850fbc147ea33b7dd079bc28092a3953efc4bb6cce713bca89863c0549193cee0961bb1dfd2d3be7cf2b3d3f0056be2bf78e3f0d55513ebb6a2e3dbba55fbee92c903f7b973b3e4ebd113d101e43be1b56833faeaa1e3e101c0b3d914225beed275c3f227f073e601ce53cb24f02be9e59273fb1d7db3d156ee93cfbe4bebdf689df3ecb80ae3d7790d23cdb4982bdb4ba653e2897793d89eaa73cd61a0fbd7d09633de4b50c3d5fd38e3ca8c6c6bca29d52bd61f29d3bca1c5bbda9b1a83b00000000000000005d9459bddefdc03b000000000000000032b839bdd746ec3b0000000000000000e51f20bdc79bc33b000000000000000086bb00bd279cae3b0000000000000000288befbcc7f5053c00000000000000004c8dd2bc8fecd13b0000000000000000f5e2a2bc2481a63b00000000000000009b5787bcf53f693b0000000000000000eec3153ce238c1bba63c4e3ca788783ca274993ba047ee39d28ab83c2b80c23c8705003ba3cbd23bef69c43c8df7c53cab3b933b41d6003c882baf3c88d6c63cdb859f3b8b74d83b025b6c3cb55ea63c11ecd13adae50d3ce5d2bb3b30ef803c17a5bbbaea6eb43bd09588ba15545c3c76af6cbbc2f9663bd41f02bcf299e73b32c533bb4a76253951fb26bcaf84403bc62e15bcf5c506b9bf4abc3cf7941fbd998fc6bb3db453bb5555cc3c20b3fcbc953ed53a03e6e6bbdd28ce3c3d0509bd1670173ba0d0b7bb4857b83c489e1ebdd885a23b82180cbcf032983c3fe504bd1d68c73ba3a4f8bb1d74643cb2f2dabc8ef5283b0c3b01bcdc142e3c7e688abcab824c3b6dbf0dbc2be5003c1d59bebb6826a3bac0e9b2bb4a17063ce61d08b9052815bd8329a2bc086727bc6239cf3bf37be9bd469c33bd4d7a1cbcf133333c293511becb7766bdf8afe7bb570d103c07210abea1ef5bbd862027bccd82f33b3fb3efbd238e37bd6ce639bc18590d3c0a37a7bda5c6f7bcfa2024bc6495dd3b461e2dbd89415abc13a011bcded7c33bc98e3abc6bd2153b919ef1bb3085ac3b970f4a3cf8ce5e3c075d6ebb74658b3b6e820e3d7a2b43be6df16d3fdc81db3e2eec1c3d0c2550beac5a6d3f3933d13e48c50a3db2063cbe3dca5a3f76bdb63ef8fded3c2f761ebe4b26393fc7dd913ef0a3da3cdc0904be1d0d123fdd505e3e67f8d43cd677c7bdfca0c63eb72d1d3ea54ac13c2e688bbdb4f7593e5356ad3d146bb03ce5ac42bded38963dcb95e23c15c3a63ccc921ebd6e88afbcebdfb7bcf018d6bdf58b633c00000000000000006ff0ddbd8cc88a3c000000000000000036c3bcbd61ea643c0000000000000000560a97bd17ca653c0000000000000000b8476cbda5644f3c0000000000000000019a42bd11f2223c0000000000000000417e0abdd340053c0000000000000000d209d7bc4122273c0000000000000000cd7483bcefb7c43b0000000000000000dacf0b3ceb3034bc881f433c7e93903ce1d4093c50dd92bbf157943c2424f73c072fcd3b6fff2d3a6696ab3c2b78053d29c8163c64e04d3adcc79e3ca9a2f63c9dabd93bc27f103b8e952c3c91b6c63ccf10883b3349cb3b2e2f803a68f5af3ce4ee053b15c11a3be71e21baf0b77d3c294c8fbad04e5e3b91c632bc0f202e3c161b3f38f6f800ba51292ebcf400e53b4f6ba5bb6736a6ba99a0b53c6f9710bd0842d4b92676a0bbd2b1ae3c746408bd40ca6f3b6166afbb027fb63c80df14bdfea36e3b95d803bcae97993cb57514bdb811e43b0a9592bb7c1b883ccc5d09bd1d58e03bf74f1dbc6e59883c18faf1bc8a927b3b1e200dbc9888573cd6fea0bcdd23833bd8e30fbc78df523cfa9848bc19ee00bb005cd0bbf85a0d3c662e8abb2e9e48bc52c74bbd72f71fbc7872203cd73c8bbd28ffb8bdc19e96bb61fb133cb4bac2bd52d6d4bd4036c0bb9b83e93bfc8ccabdfb17c2bd580ed5bb7b58033cffb896bdc70891bd423221bcdf231f3b709781bddf3445bded1c12bc4a32af3b9b6402bd99be98bccd2a1fbc7e5c833bb18e04bc1a813a3ac3ebc5bb53b3113bea123c3c1eaa8c3c7f7056bbf906563b44ffd23ce3841ebeec80303ffba02e3f0674d73c0ca021bed026303f9e3b273f07bbbb3c030c12be4590223fd6e3123f3d49c23cd84103be40690e3f30e7ec3ec12f873cb8f0cebd354edd3e761fac3ee779a43cf548b4bd5e42a53ef76a5e3e06818e3cfd2087bd9912433e3276d53d82998c3ceadb3ebde84ca83d698f803c240c7d3c8fff19bd6a230c3bca3246bdda9b20beb137ca3c00000000000000007d8c20be2374c83c0000000000000000da1c07be5590bb3c0000000000000000f6ccd9bd221b9c3c000000000000000093f19abddc05773c00000000000000003f0c6cbd69a4583c0000000000000000d17e10bdd05c513c00000000000000000646b4bc58e6233c0000000000000000b9e36abcce54ec3b000000000000000030de1d3cced555bc504a323c9711b93c82520b3c405e98bbd9604b3c5551073d7951093cd8b340bb2759943ceaf7223dd98fe73bad64353a49a52f3c9196133ddb11ed3bafd84b3b9fba073c6fa0f43c5610c93bd93b853b6d0b1c3baa4edd3c675cca3b195cee399b76f5ba18b48e3c2eec3d39c616493b9d30debb053b213c240e513b62a40bb9241e19bcf59dda3b193f4fbb900984bb872d943c3c96fabc3219603b07f6e3bb3cb5923cd21008bd55150c3cdd2333bcf6e9943cc60cf4bcf1cd2f3c63c821bc34cb893c6013fcbc04c0263c1c3a30bc684b803c55fa01bda4a0f83b3fc33fbc79375c3c487bd1bc0159d83b266b4ebcc1e05a3cda79bfbce315973be53737bc93df1d3cb6f336bc5a2bcc37340e1abc7812203ce02308bc756e833b9ec999bd53ed03bce1e9323cda9a02bd79e309be8f80463bec26243cf11f6fbdad771fbeb227a0ba6c69183cafed81bd448b0abea612a0bbfb39013c046977bdc87fdebd579f95bbe077ec3b3cc245bd6fee8cbda02cc5bbff11223bd68d08bd7ce3e6bc3c2d97bb895f873b8e2951bc3babc7baf75a14bbd990bc3ab2540f3c0fef7b3cd36b053a9d88f03a6091613c4943cabd6abfde3e1db46c3fe0718a3c7f14ddbdfcabe13e29e5643fdbaf893cfa1dd1bda2d3d43e51074b3ff25d823c80cfbbbde76dbb3ea2ba233f5af64d3c9dcaa6bdf5dc9f3e336bed3e60fd3d3cb6e388bddec5753e61f2933eaa764a3c2e0f56bd39e0223e75b7083e9718423cd13e24bdefc2ab3d108a273c4fca283c07a5f9bc31ad9a3cdb5c8ebd14d345bee0d9003d00000000000000002ea44dbed63c1c3d00000000000000007d5d2cbe1714f33c0000000000000000939809bef00fd23c0000000000000000c814c4bd82aea63c00000000000000008f4a82bd4c4d9e3c000000000000000052b522bd51bf6f3c0000000000000000a7eb94bc0956403c0000000000000000d3a77cbceb912f3c00000000000000006529e53b5ec815bcd9aee73b239a9a3cbed48c3bc885aabb23c7143c65901c3d25c7983bd2565cbbc41a463c140c253db9f4c13bcf1c773a28dc243c92001b3d4211cb3b8cd3b23a0803023cab0ef83c4d98a83befd6853b9e9b863aaccfbf3cf68b5a3b20362f3b34c6b2b90a25863c20cd353b98d7633bb58ce5bb9ea2263c0e73043b0a3c91bae66c08bcbefd7e3b82c4703bd470ddbb2fd0363cc673b5bc2635223c87cd4cbc8a14623cbc31aabc6733853c467c58bc7f6a2e3ca4bf9abc693a823c1bdd43bc32dd2d3c0553b3bc0f8c7e3c52662dbc4592183cb5b2b0bc3dc36e3cab1166bc782bfb3b0f85a7bcbffc113cb56542bcba2d073ce62f86bccc71d63b728060bcce42f13b781744bc1496cf3a896312bc515ac53bdd65a7bbfc249d3c8086cbbda3f1e43bcc1aeb3bfaab14bcc21b37be2aa53a3c7381083c57b6febc2b784cbea8f1063c1687d03be7c015bd95bd39be6698193be77e7a3b303423bd526d0fbe3e40b7ba6ec40b3b723d15bd6f90b9bd2f63f3baa207453a65a6c5bcfbd82ebddd118dba7c461abba1967ebce7dd8ebbabd54cb8438f1d39a5bc873bc3268f3c441cea3ace9145baed18bd3b55124fbdacce563ec15e8e3fb488683be5f654bdc7b3533e13778d3ff43db63b44cc4fbd47344f3e0f817c3f8486953be96247bda5fa433e23904c3ffe2a6f3b03f428bdb9912d3e8205163fd16bf33be9ae23bd1033173e3d9cba3ec7e3a53b0bd106bdcb15e23d0241253ea922bf3b4f8fdabc2ca1923d9bdabf3bdf66b73b186e9dbc6ac3e23c5fb2b6bd99945abe7fb5253d0000000000000000ca6660be8153343d00000000000000001f433dbe4a76143d0000000000000000fc0a14bef612fc3c0000000000000000daabd2bdbb5fce3c000000000000000039e083bd1d33a13c0000000000000000197804bd160c8d3c0000000000000000a9042ebcf1884f3c0000000000000000f6a01bbac6ac083c0000000000000000536c85b84e4edebb28d7c93b2ee2b43c18d8343b779036bb161b393bc4e42f3d1851ec3aa450f638dd5b2a3cc451393d686ee13a56bce73a6370263c2c812d3dc3b24f3b53238f3be102cc3bbbfb093dba55893bf8668e3bdda54f3b3f0ce83cbb2f7e3b7d73f03a10ba143bf951803c777b5a3b335f8c3b511bd5baf05ff13b289a283b8537dfb90d4f5bbb3b5b0b3b56f72a3c39fd38bcb6baaa3b337f4ebb8f313a3c272686bcdd28b73b0e8e2dbc41bc963c774a60bc521fa43b218901bc4e77a13ca23448bc2bc3d83a9369f8bb51b8953ca60847bc0e92d23a6fde1abc3c15613c41575dbc7cc0163b27b31ebc2d24353c066924bc30df563a68de00bcda6ea43b926a08bc759c213bd9860bbc78b4a6ba17fff1bb96e5ab3ae98e8abbe13b993cdca61ebe6dcfc33c9128853b3809343c1c6652be6a01033d043ee4ba5e7b54bc804c73be5240743cc70f753a886dbdbcff0d5fbe6b9f1f3ce5b1f7baeb3edbbcc5062ebe1056b53b10205ebbb9addcbc0e3ee7bdc92d7439714878bb2f8dc7bc1ff25abd41bbcdba9da236bbaf5c89bcdfa0ecbbeab841bb04774bbb41fee639b2bebe3c9e47dd3b3d7e6cbbac0ec8bbbeec34bb6c635ebb11e2ad3f36c0bcbb385f28bc2d04133d55fc993f5a995fbb81fc5cbcfefd1b3d656a8e3f93f92cbb9aff5fbc51b4443d56fe683fd9bf5bbbcd0566bc3f53623d71442b3fe2a90abb1e6568bc28ba773d8dc9d73e75fb553a32dd69bcc60b663d2ef5443ebb9363bac5e74abcc972483da4ef853c057804bb6b5bcbba00dfa43c857d10be973868be82aa363d00000000000000003a183ebe7841273d000000000000000082f721bea36c023d00000000000000008f01f8bdf159e73c0000000000000000f2dca7bd4475a93c00000000000000007ada32bd2cab8f3c00000000000000004bbb67bcc398313c0000000000000000ce71683c00c1573b00000000000000000aed973c92059d3b0000000000000000000000000000000000000000000000005c5116bb6cd115bb965e173cea3e2e3d07f14d3add8ac83a3301ee3b60c22e3dcd34053afc543a3be993353cf6dd1a3d8d456aba1888c33bfde7d63bba78f33c0c00d83a8d65463b54c3c53b62d8b93c3f68023be6aa593bc6265f3bc3b2513c8905953a7e1c3b3b6b0c093b1a76593b00000000000000000000000000000000000000000000000000000000000000002b2f443c13463cbc977146bb10b9203c82cb823ce99335bcd2c191bb48cdbd3b38cb8d3cb26b10bc91a996bb18ed613bbbee833c54ac08bc95c364bb576a393a2ddc603cc029e9bbc8e483bbd183b5ba293c043c3b65c7bb9f3c89bb151519bb8a70873b106260bbad10f3bada7281bb00000000000000000000000000000000000000000000000000000000000000009506363b6aef7dbeb957e73c946310bb67fb15bc52316dbe5a96873c84f492bbc2cdb3bc51965abe5e32c13bcea3b3bb8213b7bc32b730be3592b83a0cd7abbb86d0b8bca347e9bdb9bdc73a57f5c2bb95c292bcd7956bbd09398cbabd44b2bbe8132abc0cebe0bbbd118a3a63a5bdbb000000000000000000000000000000000000000000000000000000000000803fa68d34bc0001b03c466becbd5703ae3fb1e005bcfc6b443ccad188bd2516903f2887c8bb51ae023c39da48bd135b723f73ddc0bbb565e63b44bfebbc87c0343f3771c8bbec4ff13b87b956bcb773e63ef693a3bba7629d3b65bf3b3bd8fe5f3e0494a4bbfbefee3b430f0b3c10c5c8bb0000000000000000000000000000000000000000000000000000000000000000da9902be3708bc3c0000000000000000d12ca2bdc8b3843c00000000000000009fe173bd2019513c0000000000000000ae6f12bd5faa293c000000000000000024276fbccd53e03b0000000000000000a8691f3cfdbc593b000000000000000080e5ad3c931f9f3a000000000000000000000000000000000000000000000000000000000000000000000000000000005ef547bcaa57973c09b3113d775880bb2c472abc33d0813c0bd91e3d78b6b6bbccea04bcacc17c3cdaad073d2191f5bab7ec16bc440b833c6c15d23c96293dbb8ad5e5bb5e72533ca097933c59a225bb567a98bb8961173cbe0b223c3c7e50bb4c96a4bbf3cd193c868b0ebb69f6d9ba0000000000000000000000000000000000000000000000000000000000000000fff8c5bb5421993bdc751c3c0aae403c628aa9bba689983b1f44e13ba7731a3cfa15a5bb8412953b7455b43b61fca43bf74541bb7a4e763be2364d3b4f7dab3b608f2ebb4dc98e3b90b356391be2a13b0aebd2b953c5673b480997bb6bbee43bc23e57babd927e3b7202e7bbfa9c1f3c00000000000000000000000000000000000000000000000000000000000000006f5b70bef300063d26c610bbdf4689ba680163be6269ee3c9f372cbb7897653a5aa951bea1879e3c94829cba7fddd6393dc12cbe8600923c7c0c0fbbf6e692ba34a3f6bd820e623c75d32bbbfebf253ab9978bbd66c1ff3b1112fbbacfc28f394649bbbc116ddf3bbf3327bbc37ea8b80000000000000000000000000000000000000000000000000000803f000000008047623c0313f5bdc85aad3f8166e6bd2c3d133c2b569fbdc6d68e3f188a9abdb5d5073c481e83bd4ba96d3fe67d7dbdc26b093c2f4f3cbd26ef303fdbc634bdb848093cb83ef1bc2066e43ed07bdcbc7c41073c83b249bc70d05c3ecddf70bba75e253c0a2d0ebb3959c4bbfe96353c0000000000000000000000000000000000000000000000000000000000000000a95b5f3c4972afbb000000000000000049e4f73b56bfa7bb00000000000000007e33e53bc887b2bb00000000000000005014a93b7dcf2dbb0000000000000000b4e0453b495693bb00000000000000007c545eb81fdbe9ba0000000000000000446cdeb9e02111bb0000000000000000000000000000000000000000000000004b243abb67e93f3c1c6b183cb330ad3b4b8e0cbc39c1303c9a14043d5f1c5bbb0da3e5bb38356d3c9839013d12de763a0ab1ffbb25227d3c0c85f23c6ab2e03aaa60d9bb880a793c7cdfa13c11b59a3bad08d0bbff68713ca08d283c948f673bebe7c1bbdfca623c7050dbba1ba8bd3ba8f7c2bb464d3e3c73141cbc8b03b33b157a88bb51b8543ccecf8cbcde57a33b5e4559bb0151a3babd8bbd3cc5d3cdbcd0448cbaf1f067ba4a90a23cff8998bb223f5cbaf61dd2bab91bad3c072e33bc8d4df1b94f8804bb6acda53c2f313abcc73491ba5ebf1bba2f64663c912f11bccb96e23a62778bb95189273ce6e1c1bb8a83043b140f0abb1e32cf3b53a984bbac36503bb057a8ba4ee9abba6fd0533b93a3c53a37baa6b93d4ba5ba78d04a3bb7addbbdf737463c623f88bb30dec33a2e5730be2f18c23c060b14bc32c9973b970b47be26ff603c4dedcebbf6383d3bd94b3bbed1691a3ca49e74bbb59f2c3b7c9f17be1855a23b094367bb688b1f3b6becd5bd21da883b56b298bbdb7fe03972cf5ebd852aa73936f201bb933c953a533134bc89f2faba36722dbb9aa03739ce7e523c02710c3c602b44bbebc3abb96c51003de0e44cbe84c5af3fed8051bc4dbff03cc87836be27049f3f3d1489bb4c6ad73cf63a25bec066913f349b4dbc2b9bb53c743c0cbe2bfc713ff87c3fbc8f5eb93c95a8ebbd95f0383f7416babb231db83c017cbbbde85df73e81f284badba6b53cc6ed89bd7aeb813e4de5913b66bda13c4f9c1cbd1298563ddac6983c534eae3ce15420bdb73bc2bdf557bb3b77a014bc1b520f3b0000000000000000924113bc5753093b00000000000000004791f2bb1680c23a0000000000000000049cf3bb90ec453a00000000000000006584f4bb7c7808350000000000000000023fe0bb86897c3a0000000000000000da4d06bcf118363a00000000000000007ec756bc8a58793b0000000000000000b905cfbb5ab4df39000000000000000062820d3cc05afcbb73fd3d3c76aa093c85716a3b60a4b73bdec3843c9bcc343cb4b6f93ad19be43b7b87ab3cb82f4a3c4e8ee03ad97f2b3c924c823c124e513cad48a93a8df8163cac3a223c0fbb593c0a029cba97d0563cddb996baaa495b3cfea328bb5e98443ce2c21bbc9faa5f3cd76a85bb6d31663cd58090bcc448533c01f2f6bac2b30e3c1c2194bc1b55243c25ac973a6393d4bb145bdb3c24f150bde536e639f48307bc9b0aef3c85a637bdacbc5a3a1756e7bbabf1fe3c88b42ebdb985053bfea3ebbbe79cd83ce5881ebde088df3a6381e7bb5bbacc3cf27016bdc0ff473be584ebbb9204a33c51c7e8bceac5783bc50fbabbe7ae783c69edb8bcf0528f3bb586eebb712a493c15e88bbcf713cc3a381787bb4a9a3b3c17c382bca3c27ebc51ddc8bcf5603fbb5f5a373b40a9c9bd4231c3bc2cb7fbbaeea6803b1284fbbd19ffd7bc5af617bad4a1443bb513fbbd7b12b4bc1f2258bb60e0583b5ca7bcbd9205b3bcd058c3ba34090c3bf0e385bd030a65bc7d5c6cbbced5383ba67acbbc9ca328bc830557bb0b25663ab137b23b7d9f53bb48a45fbb80a9b83ab50f043d7924bb3bcf5a8dbb8f572ab96cf7fb3cc2d736be74a88f3f6f6b333e98f3063d0d1948beef30913fd5b10c3e341fe23c165536be435f843f6601db3d0a51e13c64ca24be7265623fdaaf9a3dd661cc3c50bb0dbe3b70313f1d25443d67aae43c93befcbd8014fc3eb63ed53ce202dd3cbccecabd86c3923eed02bc3beb7adb3c6953a8bde987e73db6bc28bc57d5ad3c747085bdd5e094b93c71ebbc5ca925bdee5b313c0000000000000000773d18bd2002363c000000000000000021c4fbbcc5f1013c0000000000000000913ccfbc26f3d63b0000000000000000b1178ebc7ac3b03b0000000000000000ece281bc358d8f3b0000000000000000fd0647bc50c38e3b0000000000000000fdeb05bc2dd3533b00000000000000000832bebb634d243b00000000000000007ca2833c8f7fc9bc60aea33cba6bdf3b5a4c573c971f31bc53c8993ce05ba03caa3e093ca38ec5bb001ea73cfda3933cf7dd1f3c401757bb9807753c7f399a3c1a97e13beb505a3a04ec023c58aca13c9a30c63b0bacec3a52cbf5ba0e84923c425b743bf752853b931d2abc9656863c5b30dbb902411c3ca892a5bc4c31733c3d96c43ba5ea063a74c991bc5a116f3cab90ab3a8e4309bc2830043dc6ec8cbd77d3003bbe203fbc1dcbf93c335e75bdbb1c6f3b4d7247bca7b4063d31a45fbdf2f3683b734133bcc4cdfc3c6b2a5fbd32625a3b802c2dbcb06ce93c72544cbddd97673b83142abcd6f5c93ce81e2ebd2d1c983ba3d318bc943ac83c4dd31bbd009c883b291b19bcf4cb8b3c206a00bde1d3853b227efbbbd6b7943ca89303bd8a371a3dc8df90bd5738913b4ffd8f3b45d10dbdd5039fbd981aa83b2e0e923b352b7cbd4cf9a0bd7dbaae3bb298923bdbfa6dbd57e88cbdb877833bac49e53ad7b844bdf36068bd1994ed3a3f36583b65ebc2bc2a691fbdd56b9cb89c0ee13a1d21963bb72beebc2d923c3a588440ba74d0ee3c92f817bc6ebdcdba97bef7b8cc124e3d6e4e00bb5d6982bbb03397b9e5e8d03c1daf1fbe6183693f88f6c53e304beb3c6bae31be610a6c3f6ea9b13e6490d13c6bfd25be30715b3fc6e08f3e7783c93c523618bed6cf3e3fc9f84f3e1311c53c49c20bbedf021c3f3782053e2b61c73c9b7bf9bd7fe3e63e88ba8d3d7f7acb3c39ecdabd80d2943eae22403cddd3c23c3979b3bd6fc8113e63e00cbd36a2bc3ce28ca1bddd36563d42aa92bd16dc97bdaa6d803c0000000000000000fc7197bd66f9913c0000000000000000185a79bd902b553c000000000000000048793dbd22405b3c0000000000000000fe610bbdbca6163c000000000000000082a9bdbc195ad73b00000000000000002f6f54bc0b40aa3b0000000000000000c076ecbbad3cae3b0000000000000000153e9eba60ad413b000000000000000023f7a23caef402bdd1d8bf3cf1353a3ca5747c3c1e62c1bc68d3ae3cc8f3c53cdbd2623cdea88ebc2bb3b13c3cb4ca3c4554453ca7236bbce91b823c60ebda3c0aa3643c017884bcd84f5f3c643b983ceacb1f3ce528b6bb0c5ebeb92558b63cf3dd043ca38accbb4cd490bb03e4863cf296eb3b26a583bb46535dbcea897d3c36bbe63b3390b3bbbabc68bcd2464f3c09e08d3bb65232bcfc49db3c87eb85bd36815f3b9a4454bc2cd1eb3ccb6f7abdf7cc9e3b993f5dbc29dde93cc48f70bdd4f18f3b8a6c63bc9372f23c50225ebdb2e4783b76d81bbcd77bd23c843f57bdd9f77f3b485a47bce734cc3c607645bdff07cd3b62a23ebc9a08b83ce5ea2dbd89f9733b6f0e2fbc10d1a63c33241ebd49141e3ba19e12bcf3649a3c7b9910bd142b803d8045d7bdae69fb3b6f476f3b4ec7973cc5260dbe32f07f3cd355bd3af755b3bb899008be8457453cc68c253bd05061bc4d24f5bd03ef5d3cd938ea3a5ca1323b5cc9c0bd823bb73b203b32b951589e3b770c90bd5c81c73b5b7673b936aee03c123d27bd84d4af3ad13a2cba7c67343d5242a6bce843bf3ac72633bb4a2b753d8e91d0bba7ba92ba4e6928bb5d119b3c0193f8bd394f2a3f7d34213f2e65ba3cdeba08be9fce2c3f2b85143f392fa83c3f1effbdbc74213f581ff73ed7f9a33c252cfdbd5ca9133fe4ffb83ece42803ce49ecdbd1c91ed3e15f67a3e2f4cab3cfc0ad9bd20f4c13ed2b4f93da7fe943c2125babda781833eabf6e63cceca9f3cbf08a7bd32791f3ed61963bd40528e3c3a3d8fbd6ef3953d50b2ddbd38f7e6bd2d1ac63c0000000000000000359adabdc657c23c00000000000000008624b0bd28b79f3c0000000000000000ace48ebd29e2863c0000000000000000cd1142bdf556463c0000000000000000d3baf3bc3f9c3c3c00000000000000007f0c8bbc350c003c00000000000000005d8885ba44f7db3b0000000000000000995b993b8814d63b000000000000000010e17e3c45b303bd245ac93ceb962b3c799f5e3c5c29bebc5bf0a93c9c56e23c6fbb4d3c67c4a6bc5ba0ab3cb485073d37932b3c80265fbc1d5a5b3c8557f33c0efd223c58526abc4749443c433de23ca5950b3c46f017bcf5032f3bbc05bc3c7496cb3b7784bcbbc68f77bb01ac883cec82af3b5c8f61bbd54e33bc9849833c1f1cf13ba1e000bc20ee07bc71c4263c02a8e63b1f8f48bc0cc4983c075b4bbd6917e63bda3e88bca689b93cb1dd55bd90abfa3b62c880bc53dbb73c92bb39bdcfb3fb3b8b5369bcb2f6b93cd0023cbd0df0b93bf43b63bc8291b53c3b852ebddc60893beee744bc965fab3ce21325bd038ea23b078f3bbcd7dda13ca9bd16bd5e938c3ba37a54bc13439a3ce16e11bdfd59383bcc5a04bc3128823cb54a06bdf60c8b3d48e604bed5dd5c3cfa78683bdcb6273d692c37be107dba3cb3c33f3b8231963cb15c3cbe8c67993c4580343bc3255c3c873424beee96613c3878133a2e55513cc39906be9fc9613caff8c3b81cf3a73ceb3fb4bdd44ad03b1616b1ba674bea3cc3155dbde355923be55204bb08c5353de5c6d7bc01ab103b3c9029bb4081773d9c9734bc0dba8b3b53248ebbec48713c2d24a7bde164d43eec29603fa043893caba3bcbd2c65da3e9abe543f90cc863ca824bfbdae8cd43eb094333ffd09673c9ad1afbd12e3c13e77e9093f1f99603c4b92aabdade9ac3eca12bc3e6201573c459f9ebdbb048d3ed2454b3e3c6f643c56338fbd30bd543e2f855d3de9e4633ca23787bd85710c3e1db984bdd414483c94375bbd8869953df19204bec62514be4843e33c0000000000000000816916be0dad093d00000000000000009698efbda244c43c0000000000000000a6b3b4bdea4fb23c00000000000000006ebe80bdb933913c000000000000000064f216bdcd0a633c00000000000000009c5c8bbcbc183d3c00000000000000009b01c83b016c083c0000000000000000743dcd3b8386823b00000000000000004e801d3c6131c1bc788fad3c310a583c6fff0a3c8987a2bc589d8d3c2cf50b3d8545c63be48d81bcf906943cd53f0a3dec69da3bbd4670bc8dbd723c0dd6113db05b893be06e3ebcc2c3633cacc9cb3c034e813b528205bc449fb33bc4f8a93c795b6f3be842dfbb2efd263b3984413c19f4313bcf0271bbb42d95bbc06b1c3cd3129f3b763c05bce7e1babb9da0c43b7be6f53be0fc5fbc9750513cf6350dbd0345093cc93f92bc78ec5f3c3c0e00bd5407043c104283bcc433603cbf1fdbbc80c2d63b9fd370bca8ac6d3c55acdbbcad5ed83bd91d4bbcc7015e3c821bd1bc03b49d3bdd5449bc8259623cfe9ed2bc7d0e9a3beb2a34bcb0025e3c92c6c3bce44c7a3bcc272fbc41192b3cb551b6bc4317173be0f10dbc5c82253c8493b5bc1ba47e3d089916be2de2b93cbdb6543bf2d5343d07235cbe1f1dfa3c0b911e3bb85bf53cdc7765be7490ea3cbc34d43a68a5c63c1fec4ebe64b4b53c56a0923a45d9a93c13ec1fbea5ac863c84a38bba0a95a93cae51e2bdbfc13f3c09a085baabf5d63ce1bd85bd33d71d3c75d286bb27da0a3d22e5cfbc353e5f3b8a4546bba5f3363d4eb1f0bb01f3533b12187cbb1041053c39d42abd9761443ed5da8b3f8cedf93be80b3dbdd030453e749d883f01b2fe3b23f247bdf71c4c3eb9a76a3f4ed6043cc54945bdb8d1433e63ab383ff15eba3b31f232bd78d2343e25ef003fe3bff03b054134bd869b263e2373953e67afe43b1f982cbdec1a073e1bd1cd3d0bdffc3b4e921ebd0ee2ca3d62555abd0a8fc33b7dd601bd0518753db0e013be103b2abef0b4083d0000000000000000221e2fbe7e870f3d0000000000000000b08d0cbe7100dc3c0000000000000000a32cd5bdadc6b73c000000000000000028b792bdfd9a923c0000000000000000b0b12abd37776f3c00000000000000004bb25cbc97852e3c00000000000000001819243c9728bb3b00000000000000004c6ca33c9395803b0000000000000000533cd73811642bbcb910723ce7909f3c9765153bd95059bc3837293cd0302f3d327f343aabcd1ebc56fa3e3cb6c5373d4df7fb399f6d0bbce6c83b3c7f941b3d26412d3a71aa01bcada21b3c93adff3cde1119b997f2aabb5a31dc3b4024a43c3e5e06baae0965bbe502673bbf921a3cb046353a90ea9bbb5a891ab9f3683c3b34ba7fbafb0384bba4bec13a7bc451bbbfcf0a3c76ee64bc35cab93b3305d4bb3e6bc13a4efa57bcab95123c8a8e43bcaae3663b85713dbce570fb3b757206bc1f10aa3b4d362fbc8a44143c1d8612bc81e7633b4e8508bc6cdd023c549e05bc62d9e83a0616c9bb91e7033ce6a61bbc45266c3b6d2cc5bb4872df3bccc019bcd3321f3bd568a9bb8669c93b77f319bc0513383bd6c1f2bbcb5f663ba89abcbb7d9e003da36d33be99cafe3c2287a1391d762a3d295572be6f58403d1cdf1dbb5207cb3cd7107fbedce80b3df6999bbac3b0a23c105167be6752f13cae7336bb4a38893ccc7637be59c9a63c11390bbb35f18b3ce1fbfabd369e803c3f0d96bb0e0a613cf3ce81bdde78c03b63a067bb9cbe9e3c474282bc4044d33912473bbb74b4c23ca32fc33b5601cb3bb64c99bb0785febaedeabfbb15f816bc8873ae3f544b1fbafa1f35bc771a9d3cb0f99b3ff3eff8b7612759bc7faafa3c248b8a3ffbfebbba0ab162bc3cd8313d431d5e3f845936ba44bc6bbc16bb503dece91f3f20789438c04671bc4313673dbe7bc23eb679693919d664bcdd32723d6bdd1c3e7a5e233ad1d383bc24a5613d9fdc02bdd4a230386137e7bb8fbae13c16ec30bed03d43be01460e3d0000000000000000c1d129bef3eef33c0000000000000000305209be2efeb63c00000000000000007587ccbdbdc98e3c0000000000000000715389bddd96623c0000000000000000570b0dbd2512153c000000000000000022b696bbd882823b000000000000000015dad73c2308b2ba000000000000000058f7ee3c6d23cb3a0000000000000000000000000000000000000000000000005df18cbbce0317bbaef8ed3b2afe203dae1586bb20f612bb45a5f43bf0141a3dcc3e8ebbd050b8babdbc243c05b2053d24d386bbf3f1cf3916261c3cf067c43c434b6dbb610723ba5c8c033ce665713ca3ff2bbb209b95b83025dd3bd80dce3b06ad7dbb8fbaad393649bf3b008469bb0000000000000000000000000000000000000000000000000000000000000000b94a153b292e05bccbf016ba93bf543c1390043b9d09a5bb0e264e3b056d103cb03f6a3b50398dbbad3a433a69c5213c6e9d923a46f183bb0619983ae8e2033caee4ad3a4aa0b3ba38982d3a4abab23b6edba7ba1dba423998a3a1b97d476e3b493ac1bab5dc1ab84f49bb39ded4323b0000000000000000000000000000000000000000000000000000000000000000cdc44e3b47836cbe4f82003dc92056bb7efc1d3beb8361be39d7ce3c9fe146bbebe4d8bb08454cbea0688e3c18a063bb036ee7bb46be25bec52f6c3c88c117bbb0e297bbaf81e6bd57032e3cc12c7dbbf8cf4cbb673b75bd1b8ed33b5b5b8bbb09e3863a1df92cbcd01adf3b6ce596bb000000000000000000000000000000000000000000000000000000000000803f432cf8bb7583843c76fce1bdb532ae3fd81d01bc21e1223cc1088bbd14878f3fe9648fbb3f56223c32fe54bdcc0f6e3f2b31a8bbe11e163cd16e1abd4d9c313ff4eaa5bb3415273c7cf8b1bc3e45e43e0a9c80bbee6e273cafba18bcb85f5c3e4773aabb1988403cd99173bbd3dc0fbc0000000000000000000000000000000000000000000000000000000000000000a947f8bd575d893c0000000000000000cb839fbd3e62183c000000000000000066c87dbd7a12f83b0000000000000000c6992abdc49eb13b0000000000000000d416afbcf8f7573b0000000000000000e538b93af6caf63900000000000000006ad6883c84778dba000000000000000000000000000000000000000000000000000000000000000000000000000000009d29acbac277fe3c63b719bc7fd7683c03b5debbd621023d800e9cbaf983e73b2dc1a5bb0f10ff3c9176d1bb73b60e3c9b51e3bb278b013dcdfbf9bbb234dd3bc8c7f7bb1e11f43c20ac0fbc465c583bbfe324bc0fbad23cd697aabb5c7ea9babcf526bc2affe53cae094bbc9d533bbb0000000000000000000000000000000000000000000000000000000000000000112d60bbfca83a3b472bf93b841023bdb3cd11bb2690153b35bbf33b71faf8bc6a0ebabab98ad33a818fe23b3cbe12bd0590d2ba302b313bc29bf83bd7feffbcb51be338ecd3d73aeabcd33b4e77cabcecc6af3a497b103b5a83de3b830169bcc977433b5ec8fc3a658cd83bff9034bc000000000000000000000000000000000000000000000000000000000000000069262cbe167e603c8b5e75bb870c87babca236be38ff6e3c64961ebbfe51bdba4dc725befbac423c559770bba024573887510ebe1d62743cdb180fbb0e2edebaa21aeabd560a963c1d6d8fbb5db504bae7c5a3bd1d21a03c377c5bbb0cbeb2ba249b4ebdcd49de3c82599fbbcb3482ba0000000000000000000000000000000000000000000000000000803f00000000a185683c997fc1bda7a7a73f91f4a4bd0cc06e3c8efd86bd1c978c3f21a36abd9b7c333c2e7368bd94b8683ff0dd31bd9957623cd0a555bd6ce0323fb81811bd4143653cc8383ebda54ef63e055ccdbc6a78563c629616bd2ee0833ef7f282bcd3ec813c430b2ebdf2c96e3d3b42edbb0000000000000000000000000000000000000000000000000000000000000000f19b8d3bae212eba00000000000000006bba283bfbc0003a0000000000000000b5491f3a29e51cb800000000000000006e0332ba4df65db90000000000000000e64e93b9df9dc6380000000000000000a06773ba11da8639000000000000000027f522bba63bd9b90000000000000000000000000000000000000000000000009edb0e3d4b7c9bbc19c71ebcb4a2813cd0d5a13c1ec8a13a6f6ecb38e2af083c2472b83c1439b8bae5ba603a6a3a353c143aa63c03ae793ba57da1bba7a34e3c2c38933c3fc7033c9eae2abcfc342f3c9366863cc9ff1c3c274270bcec12e63b18ee5d3c6b40303c785f83bcccba8c3be4ded53bf464793c0f5689bcce5e3dbb20d1503cc1ef8e3c52f3e2bca262bd3b9d9b8dbbce230f3ad721433cfbe6a5bda91e3dbb6d47003a6738503cfdb583bd2b6b4dbb9e95203a29f64c3c599390bdb63185bb0e5cc339f4024c3c992d91bdf38bd4ba37e5fd3915f0533ca7ca8fbdf1c244ba319f1339d67c3a3caeae81bdf94d1739262edab6e150453c5f826bbd0d4a1f3b7446dd39191f4b3c37f833bd6fa5703a1b2e67ba4f70473c29b358bdea1d57bbed5d00bd5f840a3bcca159bb384ecfbd1f1769bc7c9bab3af8486ebbc344debda797a9bcef71583adc0956bb7d5bc7bd89a7adbcbb85fd3a4d4a62bba7bb9abd6aea82bca1de92ba09205ebb32614abd1e2a28bcd2fd8fba27125ebb41a9afbc6449f7ba8935c7ba131127bb7763d93b8a83e33b64112abb82521abb5e24dd3c843f8d3cd1cc9fbbbeeae5bad989cf3bb55f05be93a8a93f82f0453954273c3c81ae02be848fa13f7411f5bb7a18463cc301e7bd59fc8f3fb83c1abc0eb8543c48a7d1bd5b0d723f34f567bcd2f5513cfef0bfbda3953d3f7e1c9abc683d7e3c2c81b4bd5c90073f840ac3bca854833cb4a3a4bdb7f1a13e1763e0bcb0898e3c86c794bdd610df3da641bebc2d1d8e3c5e12a9bda9bfae3b7f3920bd93178fbaae272bba000000000000000097dcccba7de5d73900000000000000009c102339ed975cba00000000000000000d8b923a650581b900000000000000002545063bae15c7b900000000000000007b1e843b1e6988ba00000000000000005e37523b3e22bcba00000000000000000e47b43b7b9631bb00000000000000000f79a93b9b1dc9ba0000000000000000c586653db243a4bdd9820b3de1b9b539d451603de86480bdd3fb273c97428c3c895f5a3d066966bd47c2073c18a0923ca51d513d2a5241bdbda68abb6e07953cde424c3da3dd33bd6e3327bcf66ba13cbda2393d4c88fabcfb2ba6bcd1859e3c7dc1283d977dcfbc4eefbabce1e37a3cc2291b3d244c64bc0d9018bdceeb6f3c3fbd213deff1a0bc3998c1bca80b473c5dbd0dbbd5d407bb2aee333cbae991bda47aafbb834a00bbb5371e3cf25fa5bdc0988fbb62cffbba7b19273c94c4adbd2378a6bb4b66c5ba021a2b3cc562afbddba68dbb92b8d0babb59423ce5c6b3bd6f6491bb36eeb2ba552e3b3cf05eb5bda2f73abb0b17d0baae72583cbe14b3bd62624cba713a73bb18d2573cdbd0aebd478784bb33d53c3afec1693c441aa8bd1c04d03df778c3bdde57333cc64e9bbb674a4b3d004ec5bd4b43383c7af886bb3473063db201c5bdba1f173cc081aabbec5dfc3cb184a8bdf4f08f3bf67d55bb33d7423dbebb97bd99f6cf3bb8fe9ebbd961723dfb0a77bde805733bbe1aa1bbfe5da03db7f23bbd2579ab3aa8f449bb5407c33def49cdbcdad582ba30d13dbba48fe33d796f9cbcc7382ebb874968bb84f47dbbdc5cc1bd4600893f71f61a3ef3af473ae0fee2bdf9138b3fdd1fe83dd710ee3a7558d3bd565a793f3573b63ddd0c053bb5f6c8bd264e5a3f77c3463d43c8373b81f5bfbdcf94323fc6d9633c2339e03bb431bbbd0c0b083fb79c73bc3bd3083cc836b7bd2e13bb3e704742bd0a7b1c3c69b1b1bd983e553e01cb92bd2baed33b1dc09dbde9ecc83decfcc1bd147a05bcc53f91ba00000000000000001a48c8bbfb5196ba0000000000000000ec6c80ba96e051ba0000000000000000823ffe3a06bb57bb00000000000000005fced43b367a49bb00000000000000007dc8063cd8d912bb00000000000000000530403c95a491bb00000000000000000cb4713c164b62bb0000000000000000244ea13c462bb4bb00000000000000004dbb7d3d3239f2bd009fb63d0396c9bce1ee883d6859e2bde25c4b3dab46803bc175823d9a75cabd3bcf2d3d1e831c3c73e9813dc0a2bebd44f4ed3c3610723c7906803db0b0b1bd0940a43ce13e7c3cd94c753dc5a598bdce7f993bcc4f863cdcfc6c3d5fea86bdf38be5bbe8d6923cc406643dd4ef62bdeb1cb3bc611c9e3c4561623d2f9370bd0dad64baa817363c69d36e3ada3dacbb2e983e3c8e8b73bdbd12a3baec5cc6bb628c1a3ce3a482bd7b154bbbbd00aabb09e4273cb8af8abdbed19abbd1807dbb0f972c3c5ac997bd8c9c95bb6534a0bb2c8b3d3c141099bd47adb2bb4a345abb4f8d4a3c9125a4bd5572b9bb75af18bbac44473c92dba6bd734fa2bbae3264bb2e9d3b3c6ce9a8bd301faabb729644bb67147a3cccd6abbd65ba183eece41cbe5f9bbc3c089fb7bb4297f93d683d2fbeb95dc13c4372afbbdf87d13d57202cbec345b23ce3a2d7bbcde5e13d996122be8428943c9cf9a8bb3474ef3d9aca12be8ff1703ce313aebba091033e2e82ebbd6f08313c9314a5bbb295113e0464c5bd90e02c3c8efd9fbb454a1e3ef9d296bd3035823b3d913bbbcfb9293e5d207ebdbcd6f83ba7c091bbeb0bfcbb566b83bd8e9f553ff898a83e560ccabba5229dbd2ea7583f3bda923efff1b4bba99e97bd3243493f8f0e653e5d0a84bbdf1990bd6e35313f0f46203e89f501bb769f91bda0e6163f564aa23de59f87bb4dbc8cbd1b5ff03e9ee3423caf999ababbc68fbd5ef7b13ec7a255bd9a8e583a7ef090bd4a27713ec3f9d7bd15cc64bacd0588bd39a3173e556c17bef3ce8abc73ea0fbb000000000000000011e878bc30b390ba0000000000000000e144ecbb58eea2ba00000000000000007dcd523a7a0b86bb00000000000000000040143c8ce094bb00000000000000002460633c028ab3bb00000000000000003864983cadbde2bb000000000000000069fce63c5ecc0dbc000000000000000070c1ec3c11f30abc0000000000000000c49d5e3dfd0802be0a05f13dd97d49bd6548743df39a04beef0dc23d84d4a2bcefc66f3dd818f2bd9981ab3d123e88bc6ebd783d4ecaeabd52f1843dda4d88bb7405653d3b3ed6bdb6a18d3da1659cbc648a743d94a5ccbd9178173dd352e03b2edf673d50f6b7bdedbcff3cda7e113bd091693d1026a8bd8641573c832a383c14915e3de474a4bdf85fbd3cd536313996e8133cc6ca02bc7c48223c7a5a10bd31da833b816501bc4570303c5da019bd86c8573b52a6ecbb6472403c5efc3cbd3a2e1ab9be32eebb19a53a3c6c8045bde0ff553b3940dbbbd053513c34dc60bd7da197bbd105b4bbca554f3c41df64bd2da351bb9a20c6bb22f4653cc3b37ebdb32dd4bb64b99fbbadef433c1e7582bd490a6abb56529cbbb4416e3c229f81bdc1a4133e11c338be9080043dfbb8ddbb90b80d3e9c5c5ebef2700b3d86dfd3bb8c08013e67f854be841bf23c8fa0f1bbf036043e827b53be1e86f23cc98cd5bba1e40a3ed8ff2cbec3edbd3c77c8bcbbae1c1a3e789e29befa4ab73c2e90ccbbd67f233e34400abeaaff9d3c463eb7bb3fb7333e9979e6bdd564843c04ebaebb7fc6363e079dc3bd14289a3c1ba3c1bb41b1efbbea4018bdee7f173f57970a3f585a13bcd5a92abd7869173f987bf63e1a48d8bb0dfc28bdb38d0d3f47ccca3ef872f2bb08e128bd5adb023f55c9933e10ec04bc1d3c1bbdef08d53e32c1433e8b33ccbb3ca92ebdca5abc3e32a39b3da47ba1bb6c6a37bd99ae8e3e0d3d74bcf2eaabbb2c3337bd2dbf563e2face1bd304a64bb976638bd62780d3e3eae28be4c79fbbca0645abb0000000000000000b6dbd9bc1465c0ba0000000000000000a4847cbccb0a59bb00000000000000007aa0dfbb549ea7bb0000000000000000c7508a3b50fda2bb0000000000000000437c693c1d01e8bb0000000000000000b2beb43c137707bc0000000000000000aa1a023da92b02bc0000000000000000aa5a093da42b18bc0000000000000000ab731d3d841de0bd3abaef3de6b67bbd2547423df08becbd6c33cb3daee7d8bcbe26423dd504e0bd3de3b13da9998abc432f3e3ddd10d3bd40cc9c3d6bac31bc62db443da6cccdbdb6ce7d3d3469b1bbe1b83f3d5082bdbd7da3473d1533ac3ab2bc433d0841b4bd8d4f1f3deeacf63a632b3f3d8ff9a4bd4c46a83ca08df73bd0dc353dc2519ebd70e3123d9dcc02bcc0496a3c06f728bc8ccd343c0c898dbc3eed383cb94d37bc67820e3c9f02a4bc748b073c260a39bc4e5a1e3c0923bbbc341f833b4b6c21bc310d103cdd12e8bcc01d033b321206bc9511483c9b2feebcdd04853a7dc913bcbd93253cddf20fbd225132bbedced9bb28e6213ce8101cbd2750a6bbd605f2bb47b2373c38d629bd2a9c81ba9273bebb65db243c743726bdf655d63de0c43abe44761d3db54ad5bb2702d93dfc4878be068d343d834fc8bb9bd3cb3db81a7cbeea231f3d3192b9bbe8a0d63db5ad6fbed1b51b3d390dd4bbbc9ce83d24425bbeb657133d1ae7f8bb29edf63dfc863ebe2567fa3c421ab9bb98a90b3e3b721dbec6e8e83c8d20c0bb733a183ee63301bee51ddc3cd63fb2bbad991d3ea2dcdabd30c8be3c2928babbf956d2bb2dea91bc0880bd3eff7b473f61b6dfbbb4bbc8bc871dc23e33053a3fa1470bbcd092bebce101bc3e05781b3fe5acc1bb08f9b3bc3433aa3ec308ed3e9e1317bcc2b7bcbcbc12993e1058a03e0a5ad7bb5d58d2bc0f4b823ee6f22a3e0767fdbb30afc0bca8e54b3ecface83ce5a1f0bb2459d8bc1b351e3e03dbbdbd0492c2bbabd6a8bcc752c43de20a24beec7052bd61ed90380000000000000000f72247bd4f1349b90000000000000000e4b609bd9c05c93900000000000000001f2b91bc6105a9ba000000000000000061209cbbc5b7abbb0000000000000000db48fd3b8c5e9cbb0000000000000000c672a03c2f12bcbb0000000000000000191a083df40af3bb00000000000000009381153db4831cbc00000000000000006970b03cb38999bdee34d03da5b673bdc1d1dd3c8d18a3bdd89cb83d3ddaf3bc3394da3cdfde9abd12b4af3d5009dfbc953be63c0f6b9bbdb8e19c3d652e84bc6032e03ca02c93bdf3598e3de1e686bc7889e83cc3648ebd63ab763d261128bc1c1fe53ce41a88bd76de533d26e643bce9f2f03c883083bd5309183dc03326bb83f4d33c099072bd0d2b383d78d875bcb27faa3c166445bccaca033c02f695bb7763833c1d7460bcfa23dd3b65356ebb00be8c3c13e85fbce99bf53bb6b6e4bb92f6353cf71337bc3784143cc53404bc3ab91a3c7fdd38bc6a19e63b361f39bcc95b743b527f1ebcc85c263c4bca51bc08a1ab3b132d1bbc0811133cedbd8ebc5012f8ba5d2606bcded5063c51a785bc48f0843af3def1bb13fb173cd26395bcb051553db22b35be1d62343d14dad1bb05436b3d086f7cbef8dd4f3d9bb5dbbb72854b3da0867ebed78a363dfd42d8bbbf55663df8007abe8e29313d07f1d1bb7560803d98605fbec0b4343d4cd7c3bb6a9a943d989e40be86f21b3dc509d1bb4cf3a63daa901cbe05e01b3d5204c7bb4b8bc53deac5fbbdc82c173dfabdd2bb13c1d93d1cb6d6bd50ca0e3da8cfcebbd74190bb58f804bcd31c323edea2833f158a93bbceb23fbc8e262f3e66a07c3ff8cab3bb9b9af5bb09c8323ef90f553f0708d3bbbc8526bc1b4a283e39eb283f7a5ea2bb6865fabbd872153e2f76f13edddedebbb5e9e0bb6e47043ee6518f3e0ffec6bb954813bc9e28d63d3f98e33d72f7e0bb0e7e18bc7ff0a53dab5871bd0c288dbbeffe18bc38ce463d634e16bed1689dbd200b603b0000000000000000bc539cbd5d2cae3b000000000000000097cd58bdeff10d3b000000000000000015bc11bd8c5f25ba000000000000000093bda8bcfbf7d6ba0000000000000000d0f1b53a33431abb0000000000000000750f5b3c17acbabb00000000000000007a70f33cc38ca3bb0000000000000000b8ed193d264810bc0000000000000000b54fa63b7ed1f7bceccf703ddb892cbdbd51523cf6492ebd8065863d2dfef7bbf497403c4ca722bd50586e3d42a5e1ba1a663f3cb4a221bdce0e703dfdf985bb340a493c7e511fbdcfcf593d9e3c5fbb6a0d4d3c7a7022bdb873403d3d6d4eba35815b3c2b0916bdde58223d3eafc5ba2793683c38651abdd224023d429d753b4d8b0e3c16aff9bc7145073d41b88ebc9516d33ce96776bcba98b23bf37da03b24d67b3cb7d272bc009ec13b30a5e73a42ba543cee6653bc59f0db3be2ab303be576413c011045bcce83d23b8319123bdb13103cb2cd29bc4899d93b08a2173b9b0aa33bb23a1dbc5d67cd3b2e86e43a3d43de3aba1d0dbce85abc3be1414dba578f62bbff1ff8bbc7c0a23bf0932abb7619963b7cbc09bcdd879b3b3777953a36bec0ba12c219becb52023d1f2c8fbb3cdda23c6a357fbee01a493d6e9096bb601d333cdd6c81be2836263dedee9fbb10a2243c8e4571be1029243d7e2d90bb45df503c5b5c52be17ef143d1b04e2bbec97ae3cb1d92ebee7bc183dddc7aebbf75ce83c453401be67100f3d6e35b1bbc8503f3d8c2bbabd79a1143dcb03aabb26d2183da69f88bdc1551b3d9641bbbb44d237bbf91288baab38c63bba61a63fbc1cc5bba8b168ba9cbea63c4cd79a3f0047cabb670502b93ac8003d55f4853fd4eac4bb3d47573a5eb6123de4be563f939ccebb500c1338f3a0173dd1461e3f57e0c8bbf610613a8b0b0c3dff04c93ee86eb9bb8a76233ab288fa3c202f343eb58ca7bbf2859cb9c4def53c2559fabc24ff87bbc5cb8e3becb490bb858afebd6409e3bde9532e3c0000000000000000fb79cabdaa28123c000000000000000065829abd2a47c43b0000000000000000071f5dbd7bafe03a00000000000000006ca408bd3e2c423b000000000000000096be8fbc162598ba000000000000000004c3fa3a6bfa34bb0000000000000000138acd3c1c488dbb0000000000000000e1d3b73cfdb8bcbb0000000000000000000000000000000000000000000000001739a9bbc418783b7a98a13c43f3653b61024dbb2375203af652b53c3782123c023c5ebbbfebb939ba9eaa3c865b8d3b89a936bbf66d3bbaa587b13c8b4ea53a93ba44bb5be385ba6ec9b13c342d90bacb150abb707557bb77cc943ca87e023bf28071bb688608bb1da2943cb61ee2bb0000000000000000000000000000000000000000000000000000000000000000a64d633c575f1bbcf764f53a7b443a3ccebb353cae3d05bc7882233b0c06fd3bca2c2b3cd19fd3bba70c1a3b4e651e3c3ec31e3c2879d9bbc58aaf3aaf151c3c199cf93b60d4a7bb7701173b61fe233c8fbb183b1008a6bb7d44113bea550d3cf9705a3bf4b1a9bb3f4ee73a4e314d3c00000000000000000000000000000000000000000000000000000000000000001a560dbdae632abeaaec633c1d21d6ba38f5e5bc71d631beb977723cc4a714bbb70203bd7d3520bea8935b3cfe4750bb69c5fcbcc65808bec133583ca74d1abb4e2decbc6470d0bdb21e833cfb09a5bb569b82bce0a290bdb58f843c869e14bb32fc86bc298b12bd8e93bd3cd6c497bb000000000000000000000000000000000000000000000000000000000000803f72d480bb5c75e73b4eeba5bd4662a73f8254a1bb0e09e63bd11e52bdfa9c8b3f277586bb944fb13bd3d435bd4bf5663fe99a85bb632e0f3c5c9a23bd82da303fca189cbb1268db3b1c86fabc732ff13ecfddbabb82f3093c13cab6bc74727e3e96c8aabbc82c1a3cdd1405bd0515613d000000000000000000000000000000000000000000000000000000000000000064c2aabdf934ea3b0000000000000000c47865bd03ef973b0000000000000000b47b34bddc7c1c3b0000000000000000270a0abdb331423a0000000000000000ed5bbdbce9451f3b0000000000000000552c23bc0dda14bb000000000000000056318fbbae3bcfba000000000000000000000000000000000000000000000000000000000000000000000000000000003640103b9158d9ba47a4323c048db33a471de63aa69936ba9b751f3ca2cb1f3b6a44b93a5a219239f0ed0a3ce202223b38e0073a64b6e63a8e10cf3b6e3ec53a93fc2a3a475d003bcce9943b76b81a3a0986053a9182b23a3be72a3b3ed55d3986629439790a4c3a9a3b353a0c8186ba00000000000000000000000000000000000000000000000000000000000000009581343b642186366ad10f3b69064bbc8698423b7d65beb90859393b897d29bcf689073a4dfb82b858d3423bb05711bc88ef913ad245a0b862351e3bc32200bc21b3583adf6727ba350f203bd3cce6bba6932b3acc1436b9c30b1a3be90be8bbd0845439b9a20bb8a31e0e3bd741bebb000000000000000000000000000000000000000000000000000000000000000010b45abd10e306bd1ec2ee3a3c26233b695d51bdbf58debcb274003bc1041e3b3f802fbdf44db8bc15cfae3a3b6cf13a830506bd3da693bc9fc20b3bdaa3023b61acbabce4bc62bc61ab623b70e2853ae2733bbc914213bcba250e3b1491a33ac6c1153ba7c5b9bb4a130c3b8a63673a0000000000000000000000000000000000000000000000000000803f000000009c0ef3bb62c7bbbc92bb873f45df3cbcd89bbebbe5332cbc5849633faf92e5bb1c07a0bba25d8dbb8b57393fe348e2bb4b9d2abb170117bb3835103fba7328bc0ce801bb12b312bb7441d13e9e6e7cbc3b6216bae3f948bb0954833ea226aabc55f719b9ea04bebbd253df3d9b7aecbc00000000000000000000000000000000000000000000000000000000000000004aa2a2bce87ea33b0000000000000000e1217abcb6ee723b00000000000000001daa39bc31f7353b0000000000000000a52816bc41ac4d3b00000000000000005b0febbbeae3113b00000000000000008cf479bb41bd3c3b0000000000000000076ba6ba34b04b3b0000000000000000000000000000000000000000000000002bf649b9e6d5b7badd05293c176f77ba7369263b4bcc0dbb3c8e503ce7d54f3b6834863ab2b5d1395d15613cee2e2d3b2176c63ac746da3aaa054a3cad06543b2f08f63930cdcb3aa0661a3ce0e40b3bf95b253a3ccfdf3a685ffb3bc646d83a514cba39e08d2f3a16b0893b2fb6983aeed28ab945644c3abfbd283b37e306bb832157ba78756339363cbb3a849f44bb146a023aae0c343acc1a113a4a4257bcad9ec53a0cc6f7392156533badeb88bc0a3ca73ab792ae3a4704113be9935cbcf5859cb901414b3a9a74ac3a64e454bc94b21e3aa7484139401e093bfe4114bc8e46393a493ffdb8e9881e3b828611bc427d3abaa787533a80605b3aa88a15bc5999163ae5209439be190d3b95daecbb8845d2b7ea322d3826de503aea6a6fbb838eb6bcae43e9bcf5e0c1bb83b45b3b4d2053bdc31128bda29b54bbfb778b3b18ec5ebd02db1abde3e9efbac5b75a3b221e41bdbed604bdc8546fba3e886c3bd1140abd0d12cbbcaa9f8dba3a82343ba68ec0bc9a85a4bc111ca8b93542163bb28923bc32476bbcd4cf883a0cb5173b508cb33ba621e8bbe5ea813ad724a63a3051873ce2282bbb937714b9e630823a1c6698bb7d5357bdbea4873fb891fb3dc1523dbb804b60bde0c47e3fc9d1e53dc1a78cbb25e80ebd2a5e573fb813c73d0f6763bb3314c1bc41db2f3f01fb9d3d433f3ebb83e381bc271e073f65bd683d8f2de5ba4c4c64bc1d51c53ea4ab043d913c6fb80b2246bcad43773e4187e63bb983ad3a8d3470bcb9a0d43df5cf7fbcbc6e6db8f89736bce60040bcc386ddbc439c0abd77b9b93b0000000000000000354815bdb435ec3b0000000000000000345dfdbc89b5b53b0000000000000000bd9dd6bc47f4ae3b00000000000000003955a9bc825f8c3b00000000000000005e6e91bcbd1c963b0000000000000000a6d54bbc6ce5b33b00000000000000002fff14bc1a4fa33b00000000000000007cb6bdbbf2ef8a3b0000000000000000256dfe39e68601bb4cd61b3c9d99da3819b0b03a026841ba3e52543c1264273b6e94523a809a5339cfd5403cbda7703bc83d33baf59c97b946ac383cbed8873b519a7339e982853a8b591f3c0b2c323be75b55b961df5e3a96760d3ce44b143ba923fa38a61b9c3aac9cc73b42c9a33ae6439fba34c1c5b896297d3ba2b39ab9a3551bb9f71222ba764e003b7c69afba9dff5fbaa81c333a830ea639ef7355bcbd9a9739d0b5f33a12d3ec3a2d1b81bc9174bc393d56cc393692e33a63462dbc8214133a18c1613a3ea00b3b32490fbcc083c638d041b439863e993a9c35dcbbaad7cc371b19db397c0f9a3addb8e6bbf1f1c2b92fa49f39892d873a7586b1bbc0d49eba92722d39381e3839650fc5bb0a7eddba95672fbaa7b06bba76d278bbfa43febbd683aebc286c40bc0251553b7686f3bca1e41abdb53641bc112eb13b675706bd47940abd0f7309bc9c998b3b06f40abdbda00abd74dbd8bb3bb7663b0834b4bc4736c4bc056ba4bb41062a3b63047dbca8e9aabc200789bb8e67493b979c9abb38434bbcf50043bbd421023b7bd5093cb09ae7bb06618bbacab62e3b4a9e633c668f13bbfc2a7b399518f63a083103bbbd1b70bdceca653fecc88a3e47d7b0ba917c89bddc105a3f358d803e8990f5ba023235bd6fc8353fc4f05c3ed4c611bbbb411abd68381a3f4a4d353e3351f5ba1744cebc465aeb3eba8e083ec93181baad43bcbc15d4af3ee8adba3daf19e9b8781495bc6c805f3e7475503d6413f93a46658cbc8adad03da53df33b3185063b0e8b40bcbb1cb43a8606a3bc92cc2dbd2c20923b0000000000000000279854bd2002cc3b00000000000000003b2e25bd2bc4983b00000000000000005d911bbdb86fa43b000000000000000090e3edbc6acd6a3b0000000000000000bd70e8bcee3d9f3b0000000000000000bf57b7bcbade963b00000000000000001262a7bc8afbed3b0000000000000000a53a64bc42deb03b00000000000000003514bbb96f30bcba79610b3cc35f0e3bb2a373b93adbb7bacb41383c964b9c3bc683223a3c7382b97f813f3c09d3b93be86cac392474393aa8da353cba50b43b696633ba240a703a5ee1233c3f44963bccc7c539071f87393966073c6452553bea146cb9006e143af1e6d63bdc66f43a87523cb9758580b956fca13bb6ad193aa8e19cb98898a33828657c3b02008939a73ebdba380785b81ea24aba733746bc82a68fb87a4a853a6d6ed9392d0362bc9e1dce374ced903a279fbb38795e1dbc617a9a384cf4893a9a11863a4ffff7bb23c4e3b997e41d3a3c702c3aef3ebdbb1fd3f6b94482383ad311e53ae1a9bdbbc42771ba9ee7eb393cc3183a36bb98bb2cbdb1ba85186d3a00f6c2b9f6518dbbaf5bc9baeac2b839af6077ba498908bb68681d3965ed83bc8c7f8cbc4c5d303b14a689bc592203bdfa0e9bbc5e84a13b893cd1bca1e815bd3ccd76bcde138b3b8341cabc22af09bd48bf47bc73ba833b1e7c93bc8e6ad6bcf43f1ebcdcc8513b8ec71fbcf30aa3bc11a1f5bb48ba583be8b20dbbee6a3ebc1631b7bb510a383bbcbb013c8fc86ebb0c5e8dbb46232b3b08d64e3cc6b2d93a23c872bb95f19c3a1725d5baf0ff68bd8c4c3c3ffb7fd83ebdd760baa9cf8bbddaf8323f2c89ca3eefd10c39ba7857bd70fb1a3f1364ae3e356753ba3acf29bd4a57003f6e168f3e0c213ebaf5e201bdb13fc93e98ea5c3ec8fe4dba4538debc539a943e9f4c1c3e3ad187398ef6b3bc9855413e44eab83d5287ec3ada1790bc1c46bf3da185043d5ca52a3a8e5034bccf31e93bb2614fbc49f147bd38720e3b0000000000000000623a7dbdbc799a3b0000000000000000d93257bd60cc743b0000000000000000f2143bbd677d633b0000000000000000fe2f21bd333d553b0000000000000000800413bd29ed883b0000000000000000581502bd82f3a23b0000000000000000a5dde4bca6d9c53b00000000000000002f0297bc53b3843b0000000000000000f29dbb399327b0b7b9b2b53bd440363b7402253adf5a0139de54f73b11caaf3b9fec85b9621461b9e6ae103c98ebe33b0b4095b92b0e1c3af0d91a3c7f98e13bb16b1dba3315583ad163f03bcf93983bd5e101babe1f593af01e013c385b993bba3de8b840196439987dce3b17ae3a3b0c97bb38e027a5ba2854903b7f51813abd7f2139a07f7eba586f5c3b516508391f7e6ebb83f2a33a69a35f3ae80448bc0eb027bb90460c3befc5dc3a2ac150bc1c626aba9518bc3a69bf4c3afd9df6bb736c4bba1a089c3a9e4f3c3a6ca0c1bb0ffd69ba70b0e8b68f410338ad8f50bb99ef97baab0f1839c6377a39b76975bbdc61d4bafd372c3aaa57ac39fff84cbb52b11bbbbb7cee396db5cfb7ccb828bb29e220bb77085a391ecb4bb9558191ba881c7d3b1e154cbc0421a9bc454f1e3bddd811bcedafeebc6d85c2bcbfcf973bcfd883bcb2ba07bd7ef199bc7f877b3b56a492bc6b0009bddaa389bc84837f3b88b51dbc40fb9ebc62692bbc95cc123b881e0bbc100196bc330f30bcf941393bd59ae6ba195003bcb91af4bba0fd1c3b579bc63bd3fe6fba1b77c9bb2d51103b22792b3cc796873b02d69fbbd7d2903a4dd4da3addbd58bd6dfe133f2ca4133fdef23c3b6f547fbda0ae0b3fdb3e0a3f1959833ae4553cbde9c8ef3e9bdfea3e52599139f59026bd44a8cb3eca73c43e32799fb9cb48c6bccc8c993ee1b4923e5431eb39f517d9bc32b1703e4d645b3e41492c3a22b5a2bcbaf31b3e4f11063ee922943a104290bc24eda23d3068663d99e34238901c3fbc5c63213c6ec8fabbddb356bd8612bf390000000000000000e0c884bd50a00b3b0000000000000000fba656bd7bc8aa3a00000000000000007cab4dbde3f9cf3a0000000000000000ad8e09bd6c05423a00000000000000009a8d29bd3a68913b00000000000000006ff40bbdfe546b3b0000000000000000bd270abd984ba23b0000000000000000dcf4c1bcc911693b0000000000000000e4a9d9b9891a76ba183e893b31abac3b68ad3ab9cf5a2bba3c60c53b6525123c7e2956b924cc33387d6ee03b47e81d3c3f9284bac4b1d23a66d5073cf2871b3c7078f8b96f8bcb3929c6ef3b16fcef3b48af89b9792cc1393b4ad83bbb0ebc3b4307d4b950719939d2f7bf3b1b167c3b0c32f1baa888a5b8ac109e3b5b63023b1e607738d8ef1cb96bca803b58d3b23af4313ebb4714a53ac9c3a33971462bbc05f2d7ba1cfb2d3bc3178f3a97d52fbcc5bf56bab340f93ad6f45e3a2a8fd6bb9c5591b77031063bca17063a2774a2bbc16651baf318923a9b04b239db5e47bb95acb4bacc72853ae343b2399a5030bba3d6c9ba108e5e3afbd94039bc3210bb387b20bb68e0c73aca42bf384bd905bb55250cbb4d8151b95a6615b99cff82ba3b58453b75ac4bbc77b7ccbcba2d033b80b006bccaef0fbdaa11f6bcbac7a43bc9406cbc773223bdf23dcebce5ed983b0d0382bcb15111bdc16ea2bc8c8d563b9e8847bcc666e2bc3a2e86bc5d57613b709c19bc64939bbc51394fbcf9e2713b72fc96bb349af7bb21ab19bc19b9583b2ddaa83a0ac8453bb3f3e8bb5fc96e3b0e83bf3bbada113cf6cf96bbad76853a79aa223b771144bd02f3d83e23c73b3fc773853b1a166fbd28bdcd3e93f9313f41ff353b8c953fbd6442b43eccd9183fdd25d93af1371cbd9758973e9b89fa3e44beb13a5fd0f2bc62a0713e273ec23e597e913a697ccbbc66b4353ef0718c3e6f02a13a4ceba5bc15acf13d021c2f3e489e003b904d88bc09fa7c3d8024993dfe9f243a854632bc4839123c2a49cdbb5b0662bd84c9e3ba00000000000000008e1e90bdc334dcb80000000000000000a19976bd5c1612b90000000000000000bbf55abd4b8553ba0000000000000000fed13ebd44f4203a000000000000000030af35bd1886f23a0000000000000000a4282bbdcc9f033b0000000000000000299021bdf3dcea3b00000000000000001709dcbc104c8b3b000000000000000014fe043aed2acab83fe5fe3aef6ef73b1d25133aa2edba39e8fc4c3ba4e63f3c665bc2b68b7a6038b3998b3bbb73293c16d2e4b963d2893866fca43bb02c303c59090dba9ba0c23975d1a23ba4b8013cf37147b8821ee3398c03b13b19badb3bed3994b957444bb977bb923bd5848e3b6fbb59b8d0265eb96d0a873b1757b93a4f3e77b9b2f8dfb968874d3b78686f3a81c415bbe070603a159e6339e70522bc4d7892b907051e3b9cdc773a774b0abc432dad3880e4003bc002693aad8583bb982da338a2d0f23ad5ee9e39143638bbc2f1d8b92b0d6b3a5d599b39c61bf7ba5cc912ba4392863a5b106c3a0724a3ba88db95ba2625733a76662f390590d2ba35fa1ebb5151a73af320793a078eecba084919bbb8af6c3aa28394b9cd32abbae6461c3a8f3589bcb925e1bc34f5683b7b4b0abc96202ebd0a9909bdc3a6e43bc17d4ebc634f2bbd84bed7bcfa33913b59fc67bcaf722dbdcc99c5bcf351883b1ef42fbc5aa6e4bc9a4b8dbc1927433b41012bbc76eda8bca16a73bc4564783b36aed5bb50d607bca63124bcf9f4583bc47a89bb4a35ca3b2abb00bcbd47703b1899bb3a61d24b3c14eba4bb35bef83ac61b653b8b9d29bde6b78b3e280a663f821ea83b643a4ebd3c78833e3981593f4d87743bf27215bdfb75683eeb28343f6ce7443bbdcd04bd3e0a473e4d10183ff17ffb3acd19b9bcedc31c3eaf97e63e01ee2e3accd7b7bc1069f33d387ea93ead49023bee3f82bca9d29f3d0454533e47333c3ae50e5abc8d14263d049ab63d55ee933ac42018bcb8dcad3b913518bcdfb370bd940359bb00000000000000000fcb91bdcde30bbb00000000000000002db456bdfe3f03bb0000000000000000eab14fbd21171dbb0000000000000000022327bdf206baba0000000000000000ff9235bda016383a00000000000000003b7f21bdeb86073b000000000000000033022fbd9ff6b13b000000000000000037d1fbbcf677833b000000000000000082f42c39b75b82b964548abadb74173c7298b0b6daf26239968f08ba18c9523c716c97ba403b893a8b14123b61da653c0160bbb936ae24390d3d3b3b6c99403c3ee31dba51f79839dc35663b11c4123c57dae4b9a6fec83905ef833bdad7f13be4fd2eba0cf1eeb885a6593be3a9893b8635bb385cbc21b9f79a303b50e89c3a4ecabeb8f3fd1eba9df1013aec52253ad899fcba7ddc2b3bf923913abd71b3bb74e16e3a13df873bdf67cf3a944439bb034a0a3a1dfc503ba82b3cb96e71cdbafd64ce3ac632193b38a0713991f068b9256d8d3a663fc63a3d947f3914acc938bca3503a99fdb23aa212b7ba2f32f6380b427ab9cfdacc3a870baa39c00d77b9de2ab8ba4fff1b3ac43119b9f54ea7ba5319e9bac841f238a13ddb39ea5aa2ba1c5a96bb58ade1bcd7ddfcbc403e453b9ea55bbcf43c6bbd4c3e13bdc462d13baf1c60bcdc476fbd82e402bd3d47aa3bd07069bc966852bdac57d3bca9a2813bf62041bc239e15bd30a09ebca2915e3b5f1242bc896ed3bcc6aa7dbc21dd803bce1c2fbc0d6033bcb1d632bce6f2603b47e608bcd08d823be595d7bb10f8993b4e5d30bb34957a3cbc8d65bb2ac3313b5c3eb43b69620fbd11dafc3d0bd2873f7252e43b23b219bd9546f13dafcd7d3fbb58773b53b8efbc481ee13df09d563f189b5e3bef89b9bc5c3ec43d66cf2e3f28f1063be09087bc72519f3daeeb053fede71a3be0445fbc30a8753d165cc23e8f75153bc9d728bcaceb1e3dcfc56f3e217d153b454f06bc7ceb863c0d75c63d50efe13aba83c0bb0750da39541c8abc737f59bd025a97bb0000000000000000943172bd577975bb0000000000000000e1b633bd89e69cbb0000000000000000ad271dbd4b18a5bb000000000000000057f608bdb56a7ebb0000000000000000dd1215bd61e1e9ba0000000000000000ef251ebdfc61153b00000000000000002d9f2abd277ba83b00000000000000003a0907bdb9aa6b3b000000000000000000000000000000000000000000000000d88d9cb979038cb71f31daba97dc2e3c2c3719b977a275396e1c21babe1d1c3c1845043a55fcf6b9f0330f3a4839043c5a4712bac008a7b826d6d53a8711cf3ba70b5fb988381739df12fc3a1681a53b0c465ab902350b39b6d2dd3ae6ac253ba3f1a8b80f18dfb9fecf993ad2da8c3a0000000000000000000000000000000000000000000000000000000000000000c67eb63a45df4f3bed6e183a1f4e0a3a2b03173b2b8f103b682bdf39a723fa3a72c7d53a3117033b787b7c3ad6918f3a94e6bc3abb40b53a9948c9386ebba13a7305af3a54e6973aca0fa13941b0973ae601b439fb7bdb3a93a4743a381f843ac15b07babc93bb3aaac7653ab8f5ef3900000000000000000000000000000000000000000000000000000000000000003cf941bc959c5cbdccceecbc7ec04d3ba5b23cbc8fb654bd1e0dc1bc6f2f473b78d111bc04f830bdf8749fbc6a351e3b26321ebc205905bdc79174bcebf7113bf81213bc4c33c2bcd3ff50bcf5302b3b8ece0fbcbd7a2dbcf9b2f1bb643b4a3ba2a407bccd55583b09e280bbff8a533b000000000000000000000000000000000000000000000000000000000000803fc8bc903b338295bc815adabb058e873f7f1d413b452059bc3659be3a50f6623ff1c2523b49a528bcb9c7953b3e0d393f943ece3a9865f1bb9aafb33bfe0b103fe2fbf63ab5ce9cbbdcbe9b3b653ad03ec0f90e3a3a4c71bb80ac13399119833e88049a3a48de24bbbeaa3fbbcd02dd3d00000000000000000000000000000000000000000000000000000000000000006a33debcd2a5eebb0000000000000000d16495bcc000c3bb000000000000000049877bbc67e5b3bb0000000000000000859c81bc455d8dbb0000000000000000929394bcbb0b38bb0000000000000000b249b8bc02831dbb0000000000000000cb48edbc4b14dbb700000000000000000000000000000000000000000000000000000000000000000000000000000000751d043a5405f2b8e38c213cc4368aba8b4894393797ea393f15123cb8650338e2f00eb73a8d603a296f053c9eb1c439248ac8b8616eb73acb6edc3bff5707b9cd2f5f3844906c3b86a49b3bec970bbb4f8218b9c592c73a44bc5d3babfa34bbc682e6b87eccdb3aa5d1183baf369cbb0000000000000000000000000000000000000000000000000000000000000000f81bcf39f7eb013b1aca9cba86ef8bbbd3d893b7787aa53a6df855badd737abbf7fd5b397333ad3a76b2a3b9d096cebac03c51b983d8663ad97263b89d5621bbfe883d39536eab3a98e725b9a38605bbe34b3fba8bb4793af7cca5b85b7ff1ba799a9ebae586a63a1826adb9d600a2ba0000000000000000000000000000000000000000000000000000000000000000f0ab85bc1ce2ccbc075e66bbbd087f3b17839dbce1fbaabc03ec1bbb17fb933b8d8f75bc159186bc04230dbb12cf0c3b622216bcc37d4abc1827e4babb35fa3ae5457dbbde6e24bcc55388ba10ff0f3bdf584b3bac59ddbb80f7e3ba4933e73a6314433c71859bbb174522bb91b9f63a0000000000000000000000000000000000000000000000000000803f00000000ad5608bc58d90ebced23773fd1ca84bb0ab5d8bb903c51bb42fa513fc79280bbd7d1b3bbcad944baf1fe2d3f1f6aaebb6e3989bbf050513a442b093f494b03bc3ea47abb4d98b73a5d8fcb3e15e144bc010833bb65db393a7066853e5bd181bc4d3229bbf9b590b7bb26013e5f5bacbc0000000000000000000000000000000000000000000000000000000000000000701780bc043b673b000000000000000074194dbc6b743a3b0000000000000000dd5732bc9645033b00000000000000003f0f10bcdc9e1f3b00000000000000004cfbe1bbfaf65f3b00000000000000006e63cbbbbf72563b000000000000000007b4b2bbdd668d3b00000000000000000000000000000000000000000000000027909dba48d9e4b95d3b4a3cc659cfbace4003ba1f651ebbcb727e3cf5ad99bad2db48bacb0e9437517f693cd656363a8aa5dbb91b10a23a9194513c90a89d39bc0462baccfe013bcca31b3cc7cd91bac55832ba03510e3b86b91b3cb897aabab9e654badcc0033b089ef73b7e1d56bbebd818ba443d843a3cb7ab3bcc05aabb2dfd00ba87e4283b3ba5693b31e7b6bb08952ebb1e8dd13a3daf64bb7fecc6bb76988aba73e52f3ba4af23bbc9d0c1bb998d40bb1c902f3b848f02bbf7ea9cbb3041f0ba5930cb3af3fae0baa16788bb1b6b1cbbc328be3aba39dfbac18543bb60aa16bb8295e53938d4a2ba380235bb7f9b2cbb6f6bb53af8dbd0baf4a327bb00d739bb7a9fcc3a7826f2bac0254cbbe36340bb1cf5cb3ad40112bbfd9d5138ef4f4eb92e33acbc6f3d1bbc0084573b258859bc10b9f3bc546409bcb5ad9d3b9f1c6bbc1ec5d2bcc16ddebb52a7933badc13bbc3428b2bc01dedebb77db4e3bcdd491bb5f4b73bc55c9d1bbdd6d193b4528e93a939148bc6103bbbb6079273b3ae4293cda3207bc3468b5bbff79113bf9dd963c7df0aabb418bbbbb532d233b3bc4b73cb1076abb03bebcbb6bcadc3ad3f9f0bbee72c7bc0108783fed61043e51ed01bc4b3acbbc3b5e613fcbede93dd51d00bc793774bc46cd403f4db2c83d5dc7eabb423422bc32381f3f0213a03d1a9ccabb2bc1c4bb31e0fa3e0bc2703d91449fbbce398fbb9fddbb3ea7cb153d9c3d8abbcd7cc3bb96ef773e3866733c435280bbbb24a0bbafedf63d82d6debb053d8bbb05e840bb99f3ce3bd7719bbcad7ebfbcf9d7083b0000000000000000f428e7bcf8df8f3b00000000000000001fadbcbc18c9dc3a00000000000000001c27aabc956f343b000000000000000030ae91bc5d58833b0000000000000000e44785bce123633b00000000000000003b936abcd1348c3b00000000000000001a2251bc6c5bba3b00000000000000003e3422bc76a68f3b0000000000000000c117b9ba6c7e0cbbeb0d433c50fdd9b9a828f6ba5af85ebb01af753c2ad6f73ada1139ba57a63fba1f965e3c085e003b0e64d5baf518a939a1136f3c119ad03aeec2cebae2228d3ac6d6403c3d393a3ab1bbb2baf86186398a2a4b3c60a194385a8678badfae143bc702083c35fd15bb4174a9baaa2c8f3a44aa043cde8c86bba43777bad0ccba3a7264ca3be8d485bb084090bb7a57c23a85aa73bb8e3fd4bb23f187bbe659633b0b7789bb9e03d0bb0c1b5ebbf6bf533a966613bb707eb8bb6e437bbbdf4df13a3aba5abbbfa591bb7e466dbbcbcda43a579c4bbb14fc4abb6365ccbb23ff323b957151bb20d03abb66243dbb3c56013b39d79abb665b0dbb9115aabb8aad0b3bf28a70bb49704abba8098bbb09e7983a8e6158bb7f619cba513eeb3bd3d475bc9c3165bc57001a3b44be2eb82530cabc4e167fbc72056e3b9ee95dbbb72faabcb5ea4fbc2bf33d3b314620bbd3f8a6bc644d4cbc3ce6343b93131e3b4b8d5bbc8bdd21bca61cc53a5406e83b307a45bc62fa27bc1d3a543b6afc423cf0c7c3bbc9991abc50243e3ae6c4b23c66cd3abba33722bc5b0d5e3bac09aa3cfa6f87ba762801bc3b8f9d3ab2c0b9bb797df7bc7220543f79eb883e4c0de9bbd53e0ebd67ba423fe9ce763e3278ecbbf9a5b7bcfd67243f4ee1513e3688dcbb8ea598bc54560b3f0a042d3e1332c1bb77ea48bc225ada3e8931053e345fc9bb5e4231bc87cca53e83c1ba3d946293bb844304bc36af5d3edc52603d4f7cafbb513110bcdc91ea3dd409893cbece9bbbdf1bb6bbb1a0633c4c4242bc83b3e3bc06de4c3a000000000000000054030dbd0e3ee63a00000000000000002c0dd8bc3779a53a000000000000000015c0e8bc3088d83a0000000000000000061db6bca6b9713a0000000000000000c6c6bbbc656a063b0000000000000000e529a6bc215d113b0000000000000000036ea8bcd82b933b000000000000000014a66dbce2477b3b0000000000000000420754bbe6c797ba5b404c3c5f769a3a5ff807bb60defdba4ed2763c99ff583b551217bbf6ce77ba7e77713c65e3833ba83c0cbb11d6b7b9eb08603cba013d3beb97f2ba2e84713a84cf583c88fe2f3b6fd1b3ba83cc4738432f4e3cc71a973a73fbf4ba67f9983a9dc1303cb43530bad761a8ba1af0993aba59203c7f0c19bb5fb4a1ba2883d83a6b49fd3bbd5516bbae68bbbb3c77bb3a99386bbb384cdabb1a7ab8bb997c263bad587bbbdc85febbd76fa8bb53ec093bb6f279bb3797bcbbb0e1bdbbd35e383a421c7ebb9d5c99bbf000aebb1cf4273b53f97bbbd3b95abb31fabfbba36b863a969944bbb09f8bbbd1f3c4bbcbcabf3a50a385bb70f95bbbcb3dcbbbd9acf93a39aa87bb1c004cbbe383adbb3d03483af9c776bb6a719aba31c1453ca0a427bc2a0b90bc9ecc773af19ce13bab9e96bc5d41aabc9fd72e3bb22e1d3b1bcba1bc81f495bc1de5153bb3d9123b5fb690bcfcd789bc0edb2e3b8f8ccf3be47350bc98f66abc4bb9a2399b0b163cd0dfcabb1be65bbca6f1863a5c8e803cd85844bb02424cbcec5dcf3aee92ae3c5489a13a419245bcd0ceaf3a3317a33c772d2f3b1f171fbc85191eb889098bbbc329fabcebff2f3f8f51cf3e4e6b9bbbfab315bdc97f213f49c7bc3edc5ab1bb5d5eebbc89d70b3f2ae9a13e667ebabb24a1abbc2743ea3e3f3b863e6e36bebb4d4b8fbcfea7ba3ea562513e3035dabbefb27bbc66eb8c3eeb891a3e5c64afbb391849bcc140403e6962bf3d010babbb645a2fbc38b1d13d8d2e253d7c83a8bb5213e1bb40de8b3cbd8bb9bb72f8f9bc60a5b8ba000000000000000083511fbd34dafbb9000000000000000092e30fbde0efffb90000000000000000026a06bd2f02d5390000000000000000ac8be2bc4a8496ba0000000000000000f5a7e8bc85a2fe390000000000000000da5ed9bc754b163b00000000000000001206d1bce3ed613b0000000000000000b5f493bcb98f0a3b00000000000000002c8c4fbbba2ba0bae071353c2e0a493b67bda1ba011d37bbddaa433c65a8a53bb80614bbd9c6b9ba51b64c3c68c8c33bc817fdbaa1387cb916b5603cea75d03bfc49bcba534824ba0ac71a3c4f129e3b500819bb75331e3af4f0433cc0604c3b8850d6ba5227643abe3e2b3c0a88a93ae311d1ba47f6513929bf1b3c4d3eaeba3bb8d4ba2dfe7c390b3e0f3c544b2abad1b8cebb0b37a93aa2aaa8bbf4abe3bba9ecd5bba362053bb33446bb562e14bc9f2cb3bb43269f3abda37abb82bab4bbb224afbb3a8f3c3a10898cbb000690bb2c08c5bb654fadb8407254bb113de4bafe57c8bb954f94b9107598bb4eab79bb4247c9bb4680963afe4f7fbbca3965bbdececbbb73bfc339308c90bb25fa84bbc885d3bb041d053a520c90bb02ba68bacfe2573c0cef8abb0245a5bc9f15edba360f333c549944bc7bd0c4bc0197ab3a34edbe3b0dd86bbc1c27a3bc9073c13939f6cd3bbd3f5abc776f9cbcebaf6e37d4ced23b0bb6aebbbc0b4bbc8125e9b95dc13b3ca16b93bbcfce7abc3c50d539fd69623c4b8f623a7b6954bcc8a5c239d6a89f3c47f4943b4e3545bcd5c492b99e76943c3b23d73b19fb29bc2d67fcb9b60232bb4d4df2bc99ec0b3fe89b0b3f2c6119bb3db513bdbf3a003fffa6fc3e5de980bb1566dcbc6194dc3e7429d83e4dec9dbb29a8c3bc5b7abb3ecadeb43ec1ff88bbb56b5dbc3d64913e3dfb8a3eaaf2b0bb258284bc6f4d663efa34523e7f2993bb4d224abc25e61b3e1a18073e3d94a6bb0f1443bccb5ab23dbbcd823d68e0a9bb4d570fbc36c7943c53fa29ba2281f1bc77a350bb00000000000000009be81fbd8d193fbb00000000000000000c0208bd2a934dbb00000000000000002dd409bd424f53bb000000000000000048f8ccbc993608bb00000000000000001ea2f9bc411784ba000000000000000047dbdebc8c2f8f3900000000000000002b73debcef741b3b00000000000000003d08a8bc47c4883a0000000000000000827bc4ba3d8af5baa6ae073cb17bc23b8b0f00bbeaa228bb636e2f3c2615083cff6ef9ba8a5ad7ba63be383c8be50e3c2cf421bbf8d25f3a35d7443cbb5ae23b6b9014bbe296aeb95a7d383c0011db3bbe1c3fbaac4d47ba8e142c3c0d9f963b1ba0cbba68c8efb8087a2c3c34dd413b29e898ba5ff98d39de16233ca8c88f3afd02aabaa736fb3ab5ff103c9b16403a367ed0bb078c443a1d5a41bb1ca6f0bb911cdfbbd58e223b242b5bbbe6a508bcc0fdc2bb5abdcb3abd9a80bbb8d4d1bb6bda93bb6e03073b58792abb416db0bba001c9bbfafdab39daed8cbbbc6394bb4a88cbbb1dcb9c3a9cf054bbe97aadbb6b03debb66849b3a9a4688bba86fa0bbede7f8bb30dc013b737687bb1b2b9dbbe791d2bbf404c039fd3a7ebba19775bb2883483c4a7a42bb55efb5bc72ed3aba2a26223cddeb4bbc72f7e4bc7b8d6c3ad011d33bb32977bc3390ccbc9203d63ae035d23bc68161bc1491b7bc9682753adc97ef3b4babf0bbfcac93bc3b8286b92e412b3ccfaa31bb2bba87bcef44b4380e34463c61b3913bee416fbcf690003969e07d3c94be253cdb5d64bc99e13d3afdf27b3cad00303c9ae12cbc60a618ba7bd18aba3853eebcd597d03e867e2f3f2a6c60ba949611bdf408c03e6146203f211300bb21d6efbce09ea73e81ac093f858560bb04f6c6bc56a48d3e88b3e33ea3c27fbbb83b9ebc835b643eece9b33e3faf43bb705a8fbc48f7303eceeb843e1ed376bba7d66cbc2d95f43db4022e3e61d787bbf7874fbca2b28c3dd824a93d5e8091bb92eb15bc7e828b3cffac153be3fa01bdbec2a3bb0000000000000000da5c27bdefbda6bb0000000000000000e2a617bdb254abbb00000000000000009a0710bd81846fbb000000000000000021ba00bda26a72bb00000000000000007fde04bd951718bb00000000000000009b9603bd94970eba0000000000000000422d04bd3ab8633a0000000000000000b89fbdbcafaba6390000000000000000889095ba6b9c0bbb3515b93b50d1013c653bbbba730929bb24c7f23bbc29323ca42369ba1e5a2abb8d200b3cd7b5273c853d59b936516fba6a5a023cb9772a3c0b4fd6ba349c6eba7f48093ce744f83bf4b3ccbaab8c77ba7e45193c47d5db3b3b8f04bb20ba743aeb9cff3b6f9b6b3b9c228b3aa9dbc8ba98c1033c0c254f3b12d128ba552f00396f99f13bf156763a3b68c7bb2b1ba33a30bf01bb2a00fdbb5a76bbbb36c6513b508a2bbb8e62ffbbb3a071bb82b39d39f81803bbbb08b8bbdaa994bb1ae0cb3af5f560bb869dc9bb848e95bb880a7d39ff644dbb261479bbfad3b0bbf9879f3a7ec969bbf3ec96bb0a17cfbbf1ee8c3a0d1e5bbb83a49abb3f21febbe021b73a956a70bb4381d3bb786dcfbb7270b83a36b827bbb20b80bbfe571d3cb00c4abbc47cc3bc27c165badf4f013cc2b75ebcdd1ef7bc6f97043a6288713bdbcc83bccce1bebc1575193a342f7e3b68f151bc882bbabc8ef1ea371e319f3b60b5cebb83ed8cbc92933eba8d01c83b5949a4ba3f8f89bc5f10103974beec3b75f6de3bb00d45bc6d553c3a693b283cecf25b3c666a43bc5decde3aebda323c39f86d3c724228bc6e6b793873d1a43abeefdcbca38d893e61b3533f85f9753aebbc04bdb40d7e3e5052413fa4310c3a2431c7bcaaf85c3e8c41233f9238dbba0848adbca5133d3e1e36093f0a8403bb467380bc9eaf173e5cd7d53e8ba41dbb362a80bc5846f03d1899a03e1ce520bbeae945bc6279a53d1456503e1a3828bb1c6255bc6144453d7685cc3d273b36bbafa00bbc327d563cb95c313bf4c1fabcbfccc2bb000000000000000060901dbd5089debb0000000000000000b535f7bc803cc5bb0000000000000000c52f01bdb27bcfbb0000000000000000dfb9ddbc464da1bb00000000000000007b3802bd73388bbb0000000000000000fa85f6bc73e4c0ba0000000000000000b85005bdec70c43a00000000000000000f59cdbc91d6e63900000000000000008b2342baca3c2cbb43ab0e3b8ef6283ce2523aba3cf62bbb54463f3bf871483c4dae5cbaf4e107bb29c3353bda444c3cf12212bb57dac7ba986ebc3be1bb373cc5879db8c85622bb67f5c33b62a10b3c3de37bba0799bdba1dc6ce3bdeb4ec3ba822c4ba1915a4baa98d9a3be0b0af3b4b2721387086e2b956cbe23b18fd813b9ea4d3b9632004ba58fed53b986cc33a7c9496bb890f013be020a4ba7ebcd4bbaeb16cbbd52a7d3b1a92a2ba52a6b8bbf3ed7dbb2fb7e33af8bef7ba32d67dbb287a6cbbd9c5823a899976bb14b958bbdf3445bb6a4f003b7a083fbb547490bbb24969bbdeb5c63ac8e716bb8ce98bbb2788c7bbfa4cfd3a563940bb00909fbb9c3fc5bb81fe253b485c95baf861dcbb4355b7bbff65f23a68ab05bbaf659fbb246fa53b24c0f7bb7158ccbcce0e4ebb678a303bb45b9fbc3085fabc98e7333a0afcf23a4af9a8bcb4b5d2bc2086313abcf9953a10c686bc6d01bebc3267b2ba2d10d53afe8d17bc427b8cbc58ce99ba79dddf3aa3df2cbbb41772bc19a2ddb97b1d8e3ade3bdb3b31ed41bc2bc1183a57d5483b698d6d3cbe4e2abc9faed63a8f47a13b317e913cd63ff6bba142bcba5bb1323be871bebc85be053e3afe773f08584d3be437d0bc7f67f93d4ab0603f54188a3a50bea5bc6c0add3d605f3f3f9614e338b8cd86bc7403c23d1a491e3feee987ba3c6a5cbcdf809f3d7361f83eceaf8bba1c803cbca7da793df9b5b83e152c6db9885619bc4eec2c3d8e67713eaa3d0ebb660a00bcf2c6cc3c560eea3d912ef1ba60aef1bbaa0c0f3c846e0d39f7e8cabc8b2505bc0000000000000000fbeef0bc68e609bc0000000000000000a93dc8bc0a1505bc00000000000000006062cabcf16befbb000000000000000086beb7bc6b7de6bb00000000000000006c36d3bc38e5babb0000000000000000f1afe9bc7eea6bbb00000000000000001ca704bdcd4b6eba00000000000000005a5cd0bcb15430ba0000000000000000000000000000000000000000000000006dd6b2b9ec8f0ebbd9211a39a158233c2fedb8b9fd6efdba549b773ae601103c9a149fba650e02bb6cdad53a5d97ff3b361781ba564bb3bacbe3273b47cdd13bef25e93983675db91d82243b27d59f3bbeb53db91730c1baf39f373b95766f3bd716fab9e06ab7babe5a593bc6ba173b000000000000000000000000000000000000000000000000000000000000000071489eba09e33a3b5a7d21babb733cbbbcc18db94645273bd18a3dba6a51dabaea6f93b9f075003b3fcdf0baa99d1bbb37b864babfc6603a6e3ea6ba320601bba5b7bcba4b75863afcdadbba94d147bb28e581bacc9e5c3ade3d4eba464b7fbb1d7068bb6adabf3ae6f92fbabdcf9bbb000000000000000000000000000000000000000000000000000000000000000082db1ebac18f9abc439fbbbce7749bba55cbdeba4342a0bcfe5a99bc159c33ba95fbf7bafe367cbcace176bc209b2eba208dcebadf3117bc51c83ebcd05eb7b9d2d3c0bacfe681bb61b31bbcd52513ba6d51d6ba06cc4d3bc6a6d7bb5b03813a4658bcb905d54b3cc2f3a3bb7fd1123a000000000000000000000000000000000000000000000000000000000000803fc0fa3c3b4b3a6ebc7bd88d3abaf6763f6b63cd3a409f32bcee3c9d3bd7cf513f55efc73aae091fbcd286bd3bda2f2d3f4277a239be5eddbb6f3ec93bdeed083f8252d4b90835bfbbbf0fc63b3f38cb3e8d4686394d8398bb4b09973b22bc843e35f753b9780ea3bb833f6c3bd626003e0000000000000000000000000000000000000000000000000000000000000000446354bc3ecb11bc00000000000000004c932dbc6b31f7bb0000000000000000009a26bc1bb1e8bb00000000000000000b3a40bc391fcabb00000000000000005d6475bc7769b5bb0000000000000000b1a98dbcf66b50bb000000000000000022e6b2bcd4c641bb0000000000000000000000000000000000000000000000000000000000000000000000000000000029610cbab60e8a3a66a82b3bec832fba0c518338bb6f2ab83f8e203bb2875cba273d4338595eb13ab0eeb63a1c4b48bab534aaba8447ca3afb52fb3aa9d40bbbab78853a0d008d3a5579e43a456f99ba55c1e8b90f1cc73aa1c0f439c112a8ba2e78d9b809d8153b12a1e93a86d9acba00000000000000000000000000000000000000000000000000000000000000007ac685ba5e7900ba0c74acba8e2c8e39c60061ba5ec50439b634a0ba53d47e3a55c3bfb996b7c9bada0b42ba24c4073ae8444ebafb0b88bad811a538ca16893ac1c4b7ba6592403ad0dc75386e94c1392f6541baf2a104395935423a232ec93a17862bba21c390bae09212bacfe2eb3a00000000000000000000000000000000000000000000000000000000000000009b58a43ac73119bba2cad4bad3823aba7f385c3ac2eff8baedd9b4baf5b772b95004a93a1be6aaba4e1e6dbabd2baabaf0afb43ab640aeba8aca92bae31a01ba45e4f23a397fc1ba39c9d8ba70de7d3a8df5383bbf75c4ba9e129dba73fa1b3aa1e4673b73ef51bafb837bba9dfc093a0000000000000000000000000000000000000000000000000000803f000000009ac4fbba36b8b3b9948d623f45e18d39d04cf5bad22fdd390455423fa69ec439a94cefba9001833978de213f0e9f9b399bab29bb46475d3a006a013f6e5488b95aa730baa03907b9c32dc23e0e693fba57ee1cbbf2d7fb399e3d823e7b6700bb50b6c0ba6cca643a7b99033ec69bceba0000000000000000000000000000000000000000000000000000000000000000832ff6ba9b1d3fba0000000000000000eff4ccbafd855eba0000000000000000e34bc0bae3d10cb70000000000000000025fc5ba63775bba000000000000000005e602bbc4d1533a0000000000000000fc7ee8ba4eceb8b90000000000000000d1cbd3bae75487b80000000000000000000000000000000000000000000000001fe220ba061eaf3af31f823b9a513dba381e60ba1291ce3ab2f98c3b33f931ba44d53dba6523263b7a3b6c3b863d2abafaed46ba8b02293b2d1da73b3877a0ba181006ba8e99f53aa959603bf81729ba517e3bba9789013ba43c633b7acd44ba6efe4a3889c2cc3ab4a6703bb5d73fbaaaadcdb95f901c3b63c64b3bd365c3baa215ccb9463bba3ac6ab053b3f268dbaaf9904bb0af783b9c07dcebafed59739dc6700bbf52000ba34710dbbfaaf65394f18aabac2a240ba95e6f7ba0482983ab600fabade1986b9bbe2bcba7b34893a31a5d9ba22ee4abab863c6bab1921a3a7d0468bb96bee3b93194e1bab625873ab716e0ba5e485aba254127bb7d6274baad3d08bb8a0d9abae5c1b3ba9884cc3acd1503bbcb695bba1e8b6dba00106c3abe99823b727bbbba0cd33abbe7a4ccba217f603b14db10bb54ef3ebb2ec197ba044c1a3b113513bb52041ebbf681c5bafd1a7e3b153919bba42038bba93d5dba35b14b3b4e4698ba85980abbfab771ba602b883b398475baaa9800bb14c10ebb904fa83b572533b9edb9f1bacd4a4bba2b3fb93b0f5c45baae290fbb165b56bac448943bee9215ba46081ebbb86514ba38578abbe8f3e0baa1fc623f4f84013eeeed44bbeaf4c5ba3460473f1cd2e33d40d03fbb98a620bb44482b3f2d75c23d50142bbb7cd42fb993d70e3f9037a13d3bcc25bb606cecb9a0fbe33ecca2813d153227bb3fb18236adadab3e5f8a423d8f8d6bbb5018f3bac405673e3655003dc1ea41bb772c88b9141aeb3dc4e8713c697de2baea1d46b97505793b99dc16baa8d65cbb0823c0ba0000000000000000284158bb3f4bb4ba0000000000000000f62828bb8da525bb000000000000000091355bbb91e0c8ba00000000000000004b7e2fbb304fa3ba00000000000000001f812dbb22634fbb0000000000000000ff0d13bbc4c383ba0000000000000000acc946bb21159fba000000000000000050cf13bb3cf339ba0000000000000000f01317bb94f1a83ac4bb7a3b12652e3a5c8f6db9c870223b43afc53b10ee5dbab0d421bb3149d83afbda883b50148c38b2e65cba2971e13ae0e99c3bae20163928468bbad3bd0d3b2c06833b0a6702ba308eb1ba5ecfec3a6b69873b65d402ba7c033dba7ac4d63a57864b3b1f9e21bab49096ba08d8fc3adf426a3be59886bad7a446b8c653a73a5375873bbe51bbb9f78614bbb9eda4bad0a184ba7567bb398c3956bb30e28bba681a56bb361b8b3a8a410cbb86d297bae2f954bb6c63323a5b1c25bba6ff9bba900a17bb5f47c63937102abb46f914ba29ae0dbbe781a43ac5d129bb8b9760ba44371ebb953d503accc9fdbaabeabeba2665d3ba2dd6643afc5031bbbafb94ba28c916bb647e883a4837ccba19bcb2ba257ea2bb930a773a2b0b923b0692ec3955ed48bbb65aebbacca9bb3bdf27a137995f98bb2f731dbb29577b3b90e443baced94fbbfd08dcba86dd863bb13344ba78a153bb235d04bb7729963b71dc4eba161137bb8397a9ba431fa23b7624b3b95c913fbb715bebbaafb8943bb7393fb9822319bbf2d381bad5c5c23b7475063bb03b4abbf88de9baaabb903ba93e373aa0e812bbf8b163ba4ba14bbbe36568bb6e81423f291d823e65fb7abb023b57bb406b2b3fa71c653e6a3377bb509e7cbaba81123f4c22433e097f58bb71c4c5ba8230f53e550e233e43c52dbba5974eba9b36c43e72d7013ec0b44fbb4a9864ba4309943e1a82c33d4c0826bbd7f206bafbb8453e99a5813d6df061bbfa0a7ebaf249cc3d96d8013d798bf6bac2e7d1b99dd8873b52e789baeadd32bb6bd505bb0000000000000000b8189bbbcf8549bb0000000000000000ecd547bb8dd90cbb0000000000000000eeea60bb50f11ebb0000000000000000de43abbb432bedba0000000000000000911a5ebb51d912bb0000000000000000a89c32bbbbd0cfba00000000000000002f2868bb3f9209bb00000000000000007cff1ebb57ad9dba0000000000000000c280bbba526c993a2e409b3b88c30d3af3c6c5baf566a23a4e1bad3bc03b463a8196ecbaeb27fe3aeff3ac3bd6a5fb391a7ae5ba04cd7b3a7964c73b8f510e3aa135d6ba17f82e3a1ec7b03bcaefb53921ce90bad906d53a62948a3bdfee43bac136f1ba1dfd143b23ae9e3b139b17b94c9507bb693f293b46379e3b53012bba2d1a7cba8b2deb3a9f516e3b490a45ba826b31bbc78213bb265d17bb709b24b929d635bbe500b0ba78b72cbb0d8bbbb9972b4bbbe83b9aba312134bb4e05a93a47ae4abba717e2ba8fa432bbc73f29b83fc73abb8b52d3bac51b2dbb842539baddda14bb37bf00bb87ca16bb8e5f013ad51734bb0ca5e8bae92216bbbc0c903a4a2a7ebbc20ba4b92a068dba8dbddf3a72c01fbbec6be2ba3f2f17bb74a6823a7440b03ba3b3c53967d970bb64d41ebbee93ae3b2e4944b7988a85bbd75331bbe110ab3bbd4380b947de8cbb6a823bbba6b9d03b8cb61b397dda80bba7fe39bba35cc03b4495bb398d3855bb5a3911bb3f87a93b8f176bb918f728bb39ab1cbbd851d23b2b39453a465f63bb4db422bbd20fec3b5530673a7a9681bb6a295dbb3e8ebe3b9923333a969537bb19f701bb225e2ebb3f7d2dbb1e3c223fc378c23ebab650bb8b9148bb40b80e3fe90aab3e620f4bbb02bf40bb4fb0f53eb6be923e596a5ebbcb2025bb8cb6cd3ec373753ed71d51bb713b1cbbbba2a43e4136443edb9256bb4120bcba76c8773e11a9123e7bca84bb6418aaba8369273e37bfc43d9dccefba4e8e78b9be66af3dec66483d0a2b41bbb53c70ba360db23b2e5abc3ae8cd64bbe38330bb0000000000000000835b84bbe91d3fbb0000000000000000aab886bb671261bb0000000000000000547782bbc2b756bb0000000000000000f5c75fbbf4b196bb000000000000000055ba30bb515817bb0000000000000000987a6bbb4d5c4dbb0000000000000000611289bb4f7966bb00000000000000003e5c3ebbff8ef7ba00000000000000007b7641bad0e74d3a15c0a13bd918813a19b7a3ba8705153b7e87d33b978ac83a6a9809bb310295b8d949b43bb992a73adc7b82ba7d0e053b0cb3cf3b663facb933f7f6ba3b092a3b6b5ea63b0b15003bd74d11bb631d103b6e64ca3bf7fa2c3abedf9db9faed083b102dab3bea6ef6b9b82e35bbda656c3b83ebd33b9c1d123aaf1bc7ba5e55f53a6c5e873bf35b01ba09ea14bbca0b1cbb5306f0ba3d1bc0ba2c8892bb485645b7144a25bb062d0c39974477bb591f4bbb011c3dbbe54e80ba7d8c5fbb1a09aeba3c8203bbe513ef39c00365bbfa2cd3baa46413bbf743d7b9242a44bb7347bfba99224ebb002f6cba33013dbb12c08fba4763b9ba0f89593ad5b785bb808fc6baf98b65bb5100c0bac5e242bb501319bb3d3cceba70813c3a5d46b73b70b2a43ad58451bb10d332bbb95ff83b89d152ba523284bb7254a4bb16b7653b6e5a8e3a58a344bbb91b68bb044ed83b6680b33a387f9ebba0334bbb5357ab3b5c78fe3a5a3057bb7cb764bb0b9ee43b41abe93ad36f6fbb27d94fbb3dcfd33b4030093a467b5ebbff240cbb8c50083c974e1b3b954a6dbb60f2a5bb6dd7be3bf69a4c3addf259bbba10dbba1395fdba475c75bbf9d5013f4ca8013f6c5f50bb3bc53fbbea5de53eaee3e43e8f5032bb2a1096ba4987c33e4691c33ecde399bb7a58ffba35c7a43e20a3a33e724449bb3a4207bb349a833e0ea2823e43cc73bb5e003dbb1a8a483e0f34453ef6aa06bbf3e552bace05073e3f5e023ecd9885bb30c539bbcfd68e3dd374883d93dff5ba362998ba382bbb3b8bc10d3bc5cb4ebb660917bb0000000000000000269db9bba4d48fbb00000000000000000ffe45bb3a5f07bb00000000000000004baa9ebb909a78bb0000000000000000b1e865bbd33c80bb0000000000000000b7d87fbb9468a7bb0000000000000000155187bb066e1fbb00000000000000002f8c84bbeb4b63bb0000000000000000f2d982bb0fcbe3ba000000000000000054a812ba2c4c673a63b0933b0311d73adf09c4ba5131a93ad4edc43b0cbd3c3be79a71bae807953a2a8ca93bd9ddd73a82990dbb7c20243aa6d8b53b814c583bb83088ba78c8ed3a3953bb3b8063053b5cadd6ba5b5afc3ac66d903bac4f0a3a2130c2ba197dc43a0063a43ba8fd0a3909219fba6fd0ca3a56fbd03b494dfa391790a1baee28cb3ae9378e3bd636393a944330bb34dec8ba5556f6ba63a634bad3e270bb08316bbb0d8230bb47e11cba1dd35fbbfef6eeba090200bb0196c5b956f948bba13bd7ba29085fbb868a62ba469a5cbb1a5eb9ba3db481bbdedeca394a1c59bbbe1ceaba4fe91fbbe724ad39b6343cbb50dba2ba410d31bb78fa6f38c3974cbb322818bb14c518bb5258b73943d02ebb3eb39eba1e0a12bbba71b739ae0a9d3b655ef13ad16a79bbf9ec30bbe4f2cc3b9edf103b61c7b2bb937fb3bb6e6cac3bf8a7b63a081a91bbd01b50bb8e59993b99ce3e3bf0fe8cbbb2f155bb26ebbe3bf29c073bb57e8abb348e39bb5326d73b0debc33a264f85bbdfc034bb3522c13bb183b23a8ead6abb4335f9ba41d0bc3bb3f41d3b6b1c64bb1bbb26bb11e5b53be1871d3b45d145bbd1b4e8ba368700bb40dd39bb35bac23e3203223f280460bb634f60bb6ee5ab3ec5c30e3fb72a20bb738b37bb41b4933ef2a3f43ecaf10abb2b47a3ba09b8763e27e7cb3e47c532bb923ae3ba4401473ef28aa33e51075cbb6d2bf7baa980173e8416753edc7539bb32e7ffbade75cc3d09d9243ef03841bb9536d1ba0649573d2e24a73d00282ebb7481bfba1cb8a83b10214b3bbfa352bb47e34dbb00000000000000002c38a6bb2b9f7cbb0000000000000000fb377ebb0e9f79bb0000000000000000d43382bb8c686dbb000000000000000068e58cbb943658bb0000000000000000f1178fbb46e354bb00000000000000007f458ebb3bb832bb00000000000000001da28abbf65b3bbb0000000000000000b2bf69bb9b342ebb0000000000000000e8f848ba258f8d3a57ea4f3b229e0e3b8ffec0ba87dcd4395285c73ba24d143b4d148eba678b073ac2eb653bd719ec3ad27561bab873803a9a2b8c3b1e49003ba0934fbacc834a3a9b1d983b527bcb3a9c3b9cba5713983acce8883bdff0b63ad62055ba80ee933a154d813be4d6be3a3451fbba4f08123b91b7a93bc1a6813968e4feb9fa769e398c17663be5dfcf3a0bd9aaba78e2d0baec59c4bad959e5b97ffb3ebb0ce20fbb530515bb17ac80babe5007bbd38bcfba5190e4ba8cd916bafa8f30bba656f9ba2c6a08bbdc0eeab9abc138bb3bf8e3ba8d8704bb078f13ba62413bbb36b7cebae1ee12bb398bf0b71493cfbac31d49bb6863fdba1657ca389cee62bb1531a3ba6b7f4abbb84786ba9adc3cbb593be1ba88f300bb3ae5733af5a3493bc356e63a73953abb2b1453bb4190cd3b3ed7d83a17e897bbf9774fbbf346593b285c993a94a358bb69161abbd614873bc6adba3a02437fbb32b529bb08528d3b7274e13a7d8d52bbe9012cbb12388c3b495e093ba2426abb8cd02abb61a58c3b61242e3bda3603bbcc6c5cbb1bf7c63be7c68d3bb15a79bb986c36bb843d8e3b72f5563bdf0f57bba7cd0cbbb3e8babaa51e1ebb7058813e453d423f86971abb8ecb50bbd919653e9be32a3fd7caf0ba33430cbb0954443e8c25123f572f18bbc3790cbb227f253e6079f43e3d7516bb2ea7f1baa77e043e047dc33e815b2bbbd0f4e8ba7ed3ca3df721933e4bf419bbcb66c6baa7d1883dff59443e9f6165bb84f232bba0a5173d4678ca3d7f7317bb536587ba21e5693b8607633b2ef720bb7f3c00bb0000000000000000621171bbe1977abb00000000000000003eb32dbb461b3fbb0000000000000000e00964bbf2f057bb0000000000000000b14e46bbf75c47bb0000000000000000548a6cbb5a2750bb0000000000000000353d23bbef23e0ba0000000000000000b5d49dbb4eed6bbb00000000000000000a9a86bba7d03dbb0000000000000000ef036eba0278bb396c1f413b5c43de3ac16286ba4e33883907fd4b3b965d0d3b926d1bbb37b2623aa6dc983b34afd6399bb357ba221d083a08e7693b0bdd0b3bf23283ba3202e139e780503b33b8c43a5006c7bad269d4b95d3f913b762ff43a3198ffb9b90c9939f7fa313bb27ef53a765f6eba5626163adbc7773b3c97b73af9d176baf680e73993aa6b3b76c0ae3a5b6211bbb310bdbabdf0dcbab8265abaea551dbb8df0b5ba475dd1baec8898ba014e56bbdb8af5b897439bbace0a12ba440b05bb13ae13bbf1a4cfbaeb7fd2b9a51c11bb9963e3ba86b2b0bac36ae3b9b15502bbb3051ebb2f5bf4ba877b8aba9b670abbf305a7bad06074ba349e1aba56762cbbc0d6fdbae815dabaef3102bacb8505bbb5b2beba744b14bbab2a1abaf17d593b317cdb3a3cc675bb0e6322bb3032533b0d779a3aa6b695bbdcbd23bb9c7c793bff53383a48e6a6bbc2cadbba8eda5c3b5634983a0c8461bb5c8e31bb5a8a473b776ea53a24954ebb756b10bb9276243b7df22d3b208e30bb873c83bbe63f453b6166603b27611bbb47042bbb4b09843bc6786f3bf9db30bb49d121bb8a1b803bcf516b3bfe7804bbc834ceba08217abab69cfeba24b0023ea7c2623f8764dcbaed2f3ebb1f05e63d8159473f104254bbf7a8daba4c69c83d36f92a3f352ba6ba5aabd9ba85cba73d7d6b0e3fbef1c8bacc9dd5ba89dd863d6876e33e3ea30abb270014bb57124b3d5a74ab3e90f05ebb7e9cd1ba4ed90b3de893653ec95b06bb2f06eebae7189b3cbdf5e73d747c1dbbf25203bbb30a603b0794543b6cc02fbb727b44bb0000000000000000f9603fbbc8185bbb0000000000000000ba407fbb9fe311bb000000000000000046e71cbb827258bb0000000000000000ba1a33bb8be53ebb0000000000000000b8d632bbeb7540bb0000000000000000f3d037bbeb3c53bb000000000000000047a873bb3a7952bb0000000000000000eacd48bbbb130bbb000000000000000000000000000000000000000000000000910d17bb18606b38ab37153b1dbd383b930067baade588ba38250d3b95fcff3ae5b5a2baef4725b971c8d33a5ec1873ab7fa05ba25632237895af83a2c97e23ae6c803bbfafee0382fbc003ba6894d3a219a68baad105b39e13c773aed48ba3a4c624cba2dbbe338b0d2073bdb21953a0000000000000000000000000000000000000000000000000000000000000000a5d63dbb9ae7e4ba1ea62dbb17b14bba5f28e638e478aeba83f19aba5664a3bafe9b13bb657659ba0a26d2ba9cd483bac83d88b9efe24eba043b50ba039bf3b92b3492ba162956ba002ae8b9e6e68cb98037b2ba9126a5baa2319abaf8da09ba88b6aebaadf65fba33d189baca5aedb90000000000000000000000000000000000000000000000000000000000000000e011e93a0e7aab3ae190a0bb6c0782bba624d2b878f04b3a0bac49bb901bb2baf6ddae3a208e3d380f6748bb2d41d4ba7932c43a034f8a3a6e3f8ebaecf31abb64e7e73a2938b63a2eb8f8ba483ea2ba9acaf03a326c273b1c6e98ba91a8a7bac297063bfe3f353be119bcba8c63abba000000000000000000000000000000000000000000000000000000000000803fbf590fbabc43dfba8566a93a7ecd623f30115abad51bdbba3bdc7f39ce4d423f63c7ff396b77b1ba1795a63a4dbb213f546283ba8f8685ba4bded43a8253013fb2f7a9b91ca939ba1147033bd02cc23ed82aa8ba925e86ba57f5e93afdcb803e0e5599baa795a3ba207bbf3a8d93023e0000000000000000000000000000000000000000000000000000000000000000400451baf2f814bb0000000000000000c00c9fbac3a7acba0000000000000000510bd5ba8f55bbba0000000000000000ce1c48baa15f3bbb00000000000000003d22e7babfde80bb0000000000000000bf74faba42af04bb000000000000000058801bbb23ef00bb00000000000000000000000000000000000000000000000000000000000000000000000000000000c071f0b91c417f3b6f3f953cc3f1053c1196073aae1a993bef3a6a3c2c0d283c4dcb253a61dc603b9845393ceca90e3b6af69f3a656e513bd9e9fe3b36e7a93bd803ce3a74ab313b6d1f8f3b9c572a3b43dc49b91aa58a3b7fd9d53ab1225b3be8bb1cba1e58483b2c42d8baf21e973a0000000000000000000000000000000000000000000000000000000000000000166b2f3bb57115bbb522b53b3348cabcd193423be58b3ebbb245803bd961cfbc8c5f7a3b51770eba5c98563be4e6ccbc12995f3b018a9cba3d4f0a3b1703d2bcdb6b8f3bed578bba940f30394af6a7bc703c1e3bfc8372ba5f64913ad73776bcb457133b99214dba67fc033b0eea06bc00000000000000000000000000000000000000000000000000000000000000008fc902be4fc418bd53a24f3cff3536bbad1ef6bd1ed715bd36340d3c474a29baa4dac8bdcd160ebdd363ab3bd36ea739d1ff9ebd7de4f4bc8df7b03ba793a7387ccf60bd598ab6bce2ff213b20a4d6b914b813bdb5b762bc7e741f3b17dc6abab68629bcd0ab93bb967c433b0cbe39ba0000000000000000000000000000000000000000000000000000803f000000001f73f63b8ae277bd55519d3fe2b550bd3e41863b59fdf9bc14bb823f4970edbc9d9e1e3bbce961bcebf7523fd64990bc086c703b32f9d4bbe9f5203f154f89bcc42e6f3be1eab7bbec9cdf3e20f3abbcac1c7c3b4139d7bb40947d3ebc8db6bc30ea2b3b17014bbcb0b08b3db1c8f8bc00000000000000000000000000000000000000000000000000000000000000006b5db4bbfd37613b00000000000000001d9288bbe31d1a3b0000000000000000a51ecebb29b4203b00000000000000001ee378bb8d8e1cb80000000000000000eba1e73a5995dab800000000000000003c38a93b9212a0ba0000000000000000024c1f3c26ad29bb000000000000000000000000000000000000000000000000cee5d43a3a5047bb6427833c0fe1193b03aac8386b0d893b81b2b73cf0ea3a3ccb98a43acf398a3b70d6b63c3adf233c21294a3b99ea903b3254973ca6ba263cbc4a213b417c363ba8b8593c0ac48b3bce990b3bcc82453b5b1d223c86f89e3b0f7fe539fb52413b61acc83b06ee753bd1dc91ba5cba7b3ba145abb9346b533bda96c1babc57e3387d7dcbba36e614ba46def43a4e0204bbc1a9073ce917e4bc8e6fb839bc8242bb59831e3c98ddecbc3f898c3b78cd2fbb2d2cf23bb63e0fbd4826e23bea0a26bbaf6eb63b4d2b21bdfe5b7e3ba78a44baf4dc573b5684f9bcd025883b1068b9ba3e0b8e3bca40e2bc43da443bc127cebab838913bc68fa9bc0b47073ac95252ba4c3f3d3b0fcd33bcc41e193be8e89fba91bf783b2591b7bb838184bd4938f8bce7f2933bf0bc4dba15be03beb31022bd83ce133ce7bac1395c0805be9a9d50bd02d5ec3b7ce015baae0de0bd448f4ebd6790533adc0295b8a23aa9bdcf342dbdee90583bb2e7793a486b7dbd25c503bd1108223ba3a787394ebb17bd1c95a4bc348df23ae930ae3a011823bc45edc5bb1b47043b2bfec8ba3f037d3c1d463ebaa422c53a83ea6ab8b26c513c5ce6f9bd93a69d3f3faba73dbd868f3cbc3101beff24973fb6a58f3dfd852e3c462dabbd8706823fdc139b3d2305fd3b256366bd5c7c523f46f9883d95f5a33bfa9827bdda8c1e3f0b734d3db1e7d93bf98e0ebdf6bfdb3e14d8f03ce93afc3b1ac100bd54ad773ea63d093c4332383c67ebf1bc9c4b863df83422bc66a70d3c0ae9e6bc010954bded65f3bc348d00bdebc4043c00000000000000000ddddebcb2cf893b0000000000000000eabddebce48bba3b00000000000000000cd79abcbae26f3b0000000000000000599288bc1432123b0000000000000000e76e51bc6d2d013b00000000000000004e65c7bbb20b4cba0000000000000000c8c9313b224de8b80000000000000000341d3f3bb1f43ab80000000000000000b7d5b23a4afcb0bbe7e2653c1c85e63a2153f53a2c01a4babe5d993ced08da3b33782f3b37e20ebb2baf8f3ca805be3b5422333b8075bab94fc6873cb2c9dd3b245d483b1fe2debac0d6493cdd966a3bebc50c3b9ce9083a5491133c2566693bf8d5bb3a4fb109b92031aa3bddbb493ab3913db9c1a08638c1b80c3b4d89993a5cc853b98bed02bbd3fa46baf61e28ba7fbe763ae6e163b98d4f1c3c30f7ffbca3688e3b4c4d2bbbcca43f3cedfc16bde169733b5e7f51ba4f3cfe3b1aed06bda231ad3bdeb9b8bafcafe63bf24a09bd25f05f3bac0800ba3d59a53bb95ae9bc1179923bfbf754ba0d6a8f3bde50d9bca60e1a3ba5629dba1d7b9e3b1e6a9abcd3441a3b452cafba00b5b03bac1b5abcedb10f3ad06fa9ba23a1403b7732c9bb5068f7bc0372cdbc03b208bca565563bc1f6abbd46c24cbda59b5cbb7d49573bec6ba0bd02025dbdebbcdabb0101783be294adbdcea36bbdf98c80bb277c683b9f3c71bd95fc34bd129785bb532c523be5223ebd15d91abd8ece48bbd4c9523bd7eebdbc4af7bfbc73afaabaaf44293b0376a4bbc35047bc1ff3df3a321d783a78d8773cb0782bba6d5bbe3ac1f85a3a956a4f3cf44df8bdd865833fe868853ede37943c449a09becab3823f3ece793e861a2e3c49e9b4bda78e583f05d6633ed9602f3c40dfa0bd59a33a3f6fed3a3e4b920c3c588c6abd72990b3fccec0c3e2df8223cef7250bd20b7c83ecb9dc23dc30f043cfac523bde65a6f3efb89503dd153463c89d92abdc6b0ad3d5f389d3bfd68113c35a805bd20e1b0bc0681b1bc1a135dbd939ef33b0000000000000000ce4c75bd98ff2b3c0000000000000000203241bd993cd63b0000000000000000538531bd2ea3db3b0000000000000000261406bddc68673b00000000000000007dcbe7bcaa47533b00000000000000005c37b3bcc813763b0000000000000000aa4262bc7f015a3b0000000000000000ac091abcdc289d3b000000000000000038604e3b4db7d0bb5f41473c99f9ff3aac27523b36958abbf30d803c4cc9b83b8c10673b875b5dbba3ab8d3c9ea0fd3b8a07123bb133c8bafb4b6e3c0662db3ba1ae703bbe1ccbbaa676443c9a2c823b872d3d3b1ba42bbb9fc0173c83ac433bb031773a587c20ba8fd9b03b98cd213bfb31f13a0d4827bb05b0453b791c35bae61c843a2f3d54bb5b590d3b783972ba4fe7a037c8d3503a9064ec3b578501bdeb8f833bc8a81bba47c62c3c85fb10bd84eb993b42f4d5b845e6033ce71c09bdf58e8a3bc9f4b5b847bcea3b16d1f8bc16b24c3b3bd5b43a4fe19c3b5421e2bcb361563bbc07be39f240bd3b3314bdbc08fa503b9bebe8ba57a09f3b454692bc9247c23af12ac1ba4620943be4ad4abc96df9d39701c61b9055f783b60cce0bb473339bc9731d1bceb5c9cbc4cefa43b3f255fbd65e265bd9c3788bc527ede3b35dd8ebd5d3988bd33e273bc5c2eb83b6f1984bd1f8e81bddceb5fbc6c32b43bed7151bd05c758bda8a040bc9cfeaa3bf9bd19bd199927bd6e2010bcff7b8b3bc3d6b0bcb0cbe1bce07273bb8eae8c3b115984bbcd2638bc9bc7a237c2a12c3b87ea353ccb3a95baabb62ab98b51203b365c203c1c3cdbbda678553fa687e43e6aad7d3c278ffbbd065a543f572ddc3ea0de583c7bf8c8bd40443b3f09cbc13ec99b2b3cd02ba0bddf1d1a3fb0739f3eaf7e143c4e0a7ebd7bd6f03ef73b763e39f1123c52625bbd5003ac3e2f7d293eb1b8223c4e1b43bd99c3523e4b53bc3d47a63a3cff2930bd82bdb13d8996cf3cdd6aea3b113106bd046ba8b942fea9bc532d95bd786e103c000000000000000044f3acbdf41f4c3c0000000000000000c39893bded6f1a3c00000000000000001f6975bd83a10a3c00000000000000007bf752bdcbf7ce3b0000000000000000ab8631bdba2fd93b0000000000000000f0a914bd10aedc3b0000000000000000a74febbc2884f63b0000000000000000b6adb4bc3e34cc3b000000000000000063302a3be75ab3bb40bb0a3cccec6e3b9ae85f3b23793fbb2d1d263c8bc0f13b3bf20e3b61b3d6bae31c523c743afe3b5a804e3b60a10dbbbd7c493cea73ea3b5f3ab03ab6c7bbba18d61b3cdce8133b768c123b162b86baba14123cbd600c3b1a38953a5796e6bae93ea93bd5ae1a3b2f53233ad9ec0bbbcc4d873b4ac5c5ba8f749539780b51bb0ebb803b517a53bb19871fbb1ee3103b9093b13bfd84ecbc2826323b6777c13949a2ed3b4f4803bdd9093f3b9e8a1b3abdc1ab3b68c9dcbc5bee4d3ba6e72d3b0384b33b8517d4bc31d4053b400b7f3a7dbf373b4fb2a4bcc706e53ae358683acdf17e3b9636a9bcd9a4603aeea3863948aa7c3b351d67bc84170b3bbddaaeba7dcb8e3bcbfe25bc7c2898b9fd86a83868dd9e3b8ccbd6bb86333db9c966ccbcf7b9debcbc12e43b05160cbdf83a76bd887bdebc9838283ccb8944bd1b1f8ebd7de7c5bcea06053c0f6c49bd27578ebd627fbcbc7a83003c88fafabca59734bd8ff289bcaf029b3b2b2704bdbe6135bdc78a62bc06d6eb3b898693bc6732c7bcf4ba05bc95a5b73b499ab7bbc76a1fbc43ed28bba6b3643bf9dcec3b9192283b243116ba45313b3b6c3c0a3c35eab9bd48c6233f8a10233fc9d5533c3d5fcdbda0b0203f4c471e3fbfa4293c0fb49ebd492a0d3f19ad083f028e033c30b28ebd39ecf13e207ce43eb135963b762332bdf1b2b33ebaa9a63ec43d0f3c56b34dbdc9228c3eb200743ef52f003c548124bda5aa2c3e17f70b3ef61a083c27e919bd7cfea03d0771393dd275e03bf852fdbc0ecfd93b11cba5bcbeb0b8bd824b073c0000000000000000165ed5bd4955593c00000000000000006724aabd0c78293c0000000000000000f8e399bd827f023c00000000000000003dd956bde5088e3b0000000000000000263868bdf375183c0000000000000000d96d44bd3a64eb3b000000000000000032fd24bd050d383c00000000000000005315febc3449043c0000000000000000bdc60c3bcab79bbb1cc4d63bc4fac83bd7a4db3a80bc83ba3002083c5157173cededb03a8d4103ba2f032d3cac983d3c4b24293bc7e29bba2690193c0431193caa49053b653f8fba51960b3c5bb8d73bd62fe03a6f7a9eba82d4003c7df58b3bd8b87b3a6cd313bafda3e13b8081073a81774fbaa686b4b991c48b3b299ed8ba9cc6023a73aeedba75c32d3bdcfa11bb5b338aba5647993a49c69a3bb879c1bc2ed6a03bc93c8b38237fe03bb179c1bce0e9953b7ed8e439f6c9b63bd4acafbcb7eaa73b4160903ae788663b677e9bbc0d0e043b9f902f3bf14f6f3b6a4d93bc8c0d713bcc094c3a8d66773b716863bc4b44083b5f0d1abacfdf803b8e4639bcc615b03a449101bb3d438a3b2e33e9bb121892ba245267ba0457333b978683bb8a50d6b9c3baffbc437b02bddaf3143c9495f2bcbe8a9fbd3fc305bd67e2423c8b002fbdfdf8b6bd16d402bda2d1423c9a5b2fbd9477a3bd752cdebcfee2ff3b88f31bbd37c086bde93cc0bc0e25ee3bfd8cffbce6f344bd969587bc4adec83bd570b2bcf50df8bc035910bc3035a63bf9432ebc324f0dbc37321cbbbd4f8f3bd54a193bba24bf3baa688fbaf62f9b3bec29043c0d8c97bd1d33e63e9438543fe21a4e3cf112acbdcb09e33e7988513f0a18273cafa28ebd0b6ccc3e90a3363fa01d0b3c18a168bdffcaad3eb42b143f993ee03b2c8e43bd299c8c3ed357e23ebb3ae73b56982bbd4fb8503e1a1f9d3e9fa5ea3bfba012bddf79053e7b96333e223bf83bbc9cfebced6b7c3d5e056a3d70f5843b6d73c5bc6930ee3b5538c0bc267ed7bdc2b2213c00000000000000006813ffbd71317d3c0000000000000000150ad4bdeba1403c0000000000000000cd7baebd35fe293c0000000000000000091d95bdefc60f3c0000000000000000799582bdde0c1b3c0000000000000000d75c63bd86e0353c00000000000000008ab543bdc4eb593c0000000000000000a3dc16bda7fd253c00000000000000005c72e6381c9f84bafc20843bc20f0b3c435b153ae2d2683ac7cbad3b78ed6d3c6442c63a7499c4b9081ee83b832b593cbb4ac1390edad93a927a0b3ce63f453c6531afb9dc29ed3a31aebf3b7f21093c4971ed3a5ef6e539c764023c9c2e563bb2c222babaa4e1380318813bc7dcbd3b3f5800ba49dab8b7e227a93ba45c18bb82b23eba40cabebadbe3563be27426bb9001a33ae27f84b76fbd423bf76d59bc84a1033c70b35bbb86369b3b7ecc59bcceadb93b80f880b918c6483bc45045bca82caf3ba4a4ad3afae65d3b323a4fbc6ed98e3b999d4a3acc1b5f3b1b4523bc4e228f3bb9b994b94d13da3a235926bc94e5c839b38b2ab9f8c4663b7f7cccbb6623293b20e225bbd5802d3bf45d38bb7c66203a3e0702bb37ef2f3bafd35fbadf31aebb808841bde3e104bd66d84c3c7955d9bcf460cfbde1520bbd4f076d3c0c630cbda76fc1bd49520bbdac19283c043421bdf0cec8bd029b06bdc83e323cfe4c0abd045a8ebd7adbd6bc101ae63bf1c0fbbc47f064bd076fa0bc033f023c62f3acbc65b2f6bc3bb53fbc8005aa3b74e759bce3d71dbce05099ba188a253b66a295ba5943fc3b4127843afd602d3bbe03ea3b2dad5ebd5af1853ef321833f661a2f3ce5c475bde6ae823e2b94813ff77bf53b36c23cbddc19753ebdc3553f506ef43b9d262dbd7742573ec8c7353fa2e59d3beca901bdc31a2f3ecda5063f2233c73bf687f0bc6767053e7345bd3e63de863bd108bfbc2a53ac3d863a593ef306993ba8caa4bc7a371b3ddc967a3debc46c3bc43278bcd8197539775415bd36b1f2bd35c4453c0000000000000000e7d40cbeddda923c0000000000000000cc67c2bd641d253c0000000000000000c18cb8bd739c293c000000000000000093288abd39a6fd3b00000000000000009ca685bdaec5273c00000000000000000b3157bdb3c3243c0000000000000000c84142bd9e0f7a3c000000000000000022ee13bd68b0483c0000000000000000c9bee4b84757713ab7e698392cdf593ca41517bb47a48d3b2b56ad3b4937b03c15f235ba973c4e3b3613f13bfa2ea03c1f099939df2f7c3beea7c33bef32813ca44f5d3adc5b363bfb38c53b2b9d263cfe1da4ba102d123be8dfce3b3668e63b21e7d3b9c23e143b4ebfe33bf000633b99f9beba9736c43a69dcb73b5683dfba95b882ba0b3f6b3916454b3b918d62bbf9d78d3b033358bb8b75d83a32b872bb57eb4d3c8dffd6bbb7f25e3a5e46533ac074323c49a714bb76688b3a8283f0ba2603253c315b79ba9ddd953906bc38bbb8f0bf3bc3f9c13ab0bef239a52a85bb3243e63bdefb3d390ccb3f3b3d4d7bbbb079893b02fc90ba0b34923a302685ba8ebba13b20d07ebbba2f8fb87196cb3ac09fca3921cc0cbbde7da63a07660c3b6a7538bc686997bd92eef1bcf7083a3c243fe2bcb3530ebec35ee3bcb9ad6f3cecd910bdae260ebe58500bbd87d0383c77c51cbd4327f0bdf49b0abd2a61173c76b10dbd1f31b4bd6933f5bc1d0ede3b191cfdbc2f3386bd9e98abbc961d6f3bec8cc9bcce3d24bdffde2cbcfff5653b15b46cbc7a0641bca52e983a4f088bbae56ac1bb9342543ccaed4a3b7578cb3a7f28d93b5d5f03bdc280a83d773a9d3f40a2cd3bf315e7bcca7ba23d3b98963f4031b43b9771cfbc0519b93d4214813f6c3c863bb339aabc0302b93d65834f3fc378393bb05386bce0f2a13d1dcc1b3f9441423a75d151bce7ff783d8b0ad33e58b00a3baeec33bc8e36173d69be6a3e72c4313bff14a5bbf990423ca7ac563dc31c473a9927aebb65c918bc56e87bbdde85f9bdb815523c000000000000000018f404be4c1b8f3c00000000000000008239bebd5e9e1b3c0000000000000000748692bd750af03b000000000000000048dc67bd15b2f53b0000000000000000fc404bbd4f59113c000000000000000070ac39bd187e1d3c000000000000000002890abddd54723c00000000000000002adb11bd480d423c000000000000000000000000000000000000000000000000520160ba48e7793b5493e83ae1fe8a3c8bf899ba9fa7863b1406353b085c763c254690bae91b763b2828eb3ac8573d3c222849b871b8953b948cd33a6ef8063c82165e3a37feb6b8f8d2773be565bb3b869b8dbab1615c3b175b153b24f4eb3a36c5a4ba0012c23af8216f3b726539ba0000000000000000000000000000000000000000000000000000000000000000c24d313c9d2d98bba130c8ba8a3cba3b2bca213ce6e039ba758394baa512923beb49ce3badea7d3a4a72a4ba73a72e3ba1c1b73bd6988c3a5b94c8baa1d3013a7397fb3ad691b63a91c698ba6530983bdfc7893b63dbdcb90a8c10ba8b143f3beb2d5e3b4eccb3ba2ef32639f9ec3d3b00000000000000000000000000000000000000000000000000000000000000007dfae1bc776e02be0464e6bca1940b3c0e9debbccdecf5bd075ef4bca7f5b83b3551e7bc2ff3c9bdf992f7bcb49f5b3b7a50ecbc63e89cbd39dfcebcc9b8303b8e2eccbc675965bde66778bced1af33a23b9a2bcf07e17bdb6cf28bc6edfd43a944a63bcb4812ebce3babfba550d9fb9000000000000000000000000000000000000000000000000000000000000803f7364403b78579fbb275838bd8b6e9d3fc2ed2d3bbee143bbd6658dbca27c823f6cf1373ba6e88ebbfac66ebbb54b533fcfdaf03a448462ba4e1dda3ae5e8203f69a5b13ae01743bb8ef34a3b1597df3e9a87dbb900e4083b78c03bbb83517d3ee1fd85ba2bb0883bdb5334bcec588a3d00000000000000000000000000000000000000000000000000000000000000007cc888bdfc92d23b000000000000000092a526bdb6667b3b000000000000000073d9e6bc1f14243b0000000000000000020dbdbcafd9013a00000000000000001da4d0bce0e4a63a0000000000000000d7c8afbc55e9973b0000000000000000291bd0bcad179c3b00000000000000000000000000000000000000000000000000000000000000000000000000000000d326383b882d43bb33c2243c0a99a73bd830003b0f91cdba891e053cba0cba3bde19253bdd58f1ba58d2dc3b23a60f3b31ccba3a6cd609bb9e25993b2601d03af380003af747ed38b2dae33a11787c3a1e9f9a3a63ae003a0b9429ba473e1f3bda31f6396d4fe03aadd0d0ba60abc23a00000000000000000000000000000000000000000000000000000000000000001005cf3b03a209bb00f26d3be5a7c8bcba86b03bf608edba9e40803b3860babc887ac53bb3cba8ba13520e3bae23bdbc4f40cf3bf9b1f2ba9d19ed3a4642a9bc5a49913b1366a5ba94fe213ba5ec9bbc68808c3b7b0a78ba5bfb2d3bec558abc1c4e1b3bfe109bba8806573b428859bc0000000000000000000000000000000000000000000000000000000000000000b306a9bd81bd35bda7a11d3cd4111abbe2eca8bdf6271bbd51e4193c7a4a10bbf2eb8bbd188517bd85f7c83b183a03bb2f8059bd0ec8ffbc6e95ac3b498a53baf57e22bd2a14bebc9dd0b83b66468cbae6e1d2bc25e363bc7af8b23b26fa31bbef7e27bc2584d2bbfc79c33bca96a2ba0000000000000000000000000000000000000000000000000000803f000000003ac06a3b4ae12bbd642f943f633c17bd5caa393b1c81acbc846f783f3c8acfbc63f0ca3acbba32bc060f4b3fd184bcbc5904c13abe12bbbbb6d31d3fc052c3bc4731023be23394bbedade23ee101dfbc7d77103bec6ccfbb74c2893e5b8905bde2363d3b2fee5cbc9bf1d43d66ec24bd0000000000000000000000000000000000000000000000000000000000000000e6b293bb4e16073b000000000000000017f848bb5c5fcc3a0000000000000000cbfb3fbb942ff23a0000000000000000955562ba34b05a3a0000000000000000325999391e421a3a00000000000000005ff96a3b05d31a370000000000000000cacaf23b8d66bdba000000000000000000000000000000000000000000000000168aa63b074347bc4ed8913cec2f7bbb99b8bd3bdea705bca014a13c7f03a63bfc8ba23b84df06bc251a9d3c7423463bd138983b29fffdbb153b813c87a01c3bf936803baccfcebb38b1533c7f7f99ba49475f3b04c3b8bbe9982a3c946d6fba24ec2b3b8d2d4bbb1e62dc3bf225abb90e29a93ad53200bbe3122b3b6a482d3a3e085b3a9a2234bb3a63543b8ab63ebb11afa73b32e20abb3d79f33b7c860cbd5f63e83bac7673bb13e1243c05b51dbd62e2043c18ba4fbb8a76f03bc3c11abd47ab013c008038bbcb55e03b721814bd5e5bf53b135102bbe2dea73b848f06bda4b8ee3b84c6f2baa99fd63b5ed502bdee24be3b9df41ebb73ebc33bb4f1e3bc75e45b3ba888e7b92c20e03b5662aebc45d9263b585a05bbd8c4b33bfe466ebc269cd9bc1ca12abdd977013b518c163aee409ebd95e856bdb096ea3b6c5d95bac7caa0bdba9d68bdba42a53b1774cab713e188bdd34456bdb55e853bcf07e8b9018b46bd2e6036bd483e753beed9e9b9fd2713bda4c311bdcee6a83bc12edabafbaa9abc96adcfbc9dc2bb3b0958a0ba120a33bb52b52abcbdfad33b94b39bbbfdf08d3c89e5d4bbb474d83bfedbf0b973a5243cfde6c1bd256d943f2858ce3df876583c17b4bdbd3c758d3f75a6b13dc9c3153cd94384bdc094733f5523a13df3f9eb3b39e342bd4dee473fccf9813dd49cc53bba0116bd5e5f1a3ff2722e3dc598de3bbc7009bd5397df3e5933963cfc15ff3bf7e404bd2c98893eee83cabb8fba233c8b2112bdb23bda3df568e3bca73adc3b19e002bddcc63dbc42d329bd356aecbc0118b43b00000000000000003b73dabc74d2b63b00000000000000003647c3bc22dc9e3b00000000000000006d0da5bc39cd913b00000000000000002f7189bc84f0853b00000000000000008e584dbcce6b333b0000000000000000bb9cefbb6cc1223b00000000000000006ce004b9286ee13a000000000000000081b2eeb90faa983a00000000000000004771c63bf2d884bc7be6ac3ca23ae6bb1f3ee53b443d82bca5e6bb3c33de93bb6d70913beb734ebcd623a73c6d4f84bba1d6be3b17e044bc417ba63cd228a4bb7422663b230d41bc809f933c48ebbebbce7b7e3b1e8321bcde6e743c16afbabbe7d4203b0fb203bc4bd0373c088dbebb2c63423b2eabfabbde65ad3ba27ba4bb5287303b88e7e4bb80b4f03b89e0aebb28099b3b4b27ccba8b5f0b3c44ea1fbde39b1f3c771789bb1585493cae6637bd5f2dc53bd6bce5bac336f93b7d7615bdc8053a3cf32271bb5573fb3b0a3d26bda798f03b4f620ebb38e4f53b75320bbd7ca7093c28775abb954d053c57630abd5e61ac3b5e0eecbab281d93b170edcbc8f15e53b1e2057bb717fed3b90fad0bc9dbe903b1d251cbbb048db3b00298ebc9e84e03a8df00dbdb45017bcbaf25a3badbe0ebda2c46fbd581690bbf5d94a3bb7610bbdd1355dbdac8be9bbcf56553bbfb228bdac3f79bde1cd9cbb1c2d883b7a58ccbca64742bde77d08bb2ae3d13afda290bcce7f2fbd996c04b8bda90f3b0e9b2bbbc56beabcd7105d3a4a83bd3a823a853c0fa7a4bc64c1c53b6b1310bb3bf7a63ce0e418bc29ce833b2ca39439d493423cab13cabdc063793f766d883e7f0d823c9860dfbd5194743f61347a3eccfe193c004599bde7df4a3faa725d3e31d7423c30878fbd1f2e323f9e49313e7719063c866d5bbdf3e6083f3381023e88801f3c4c6f55bdb6b8cd3e449aa73d441d003cfada28bdcb1b833ec15d2a3dfb9a693c3a2346bdb31cfb3d0819e6bb9c46fe3b45e21cbd45d5653c7ef606bd8cc547bde6a6f63b0000000000000000f03d5dbd4bd11f3c0000000000000000bb4236bd9547eb3b0000000000000000be6a26bd7b11dc3b0000000000000000ea2c0abd16e4cf3b00000000000000005e7df2bc4ceed03b0000000000000000dd93c2bca673a63b0000000000000000703085bc1198e03b0000000000000000450b39bc01da6b3b0000000000000000e966b53b621c90bcbd31b63c0feb0fbc4614073cb864a1bc3345c63c3302ebbbd70fcf3b043a82bc6e13b73cd249cebbd1cb963bfbc486bc4223b13c570eb0bbde02c03ba86063bc51209a3cd46502bcd6cf613b18e850bcc7538a3c3697e9bbf0a0523b516c34bcc3d5703c9bf60bbcaaa3403ba2fa1ebc53a62f3c5fa8edbbc0d5cc3a854dfabbe6bf2e3cd1ca03bc747ced3adb20b3b9ca85f53b488d22bdc8da043c33c64bbbfca03d3cf7b239bde023153c78bf29bb78d81c3c3c7329bd0ef9ee3b9a3314bb9db6213c80eb14bd7384f13b48b2b7bad815ea3bb20610bdda2fe73bee9b22bb7394073c7d01febcbb90d43bf9df6abb998c133c5cf5f3bc7299e63be7366dbbe3f8183c3307d4bca84d473b4a640cbb0c51b33b8f3395bc0d73953ce655f3bc1bc7afbc7abed93b42002bbc99e86cbd90528ebc6202d03bf3d9c0bc981a83bda92f67bc87feb73ba0d3c2bccb967abd4f624fbcea43b83bdb7f71bc324059bdd80230bc4e66af3b88d601bcb10d33bd276ec5bb799d573b0076563b606806bd901e1238fb6e743b2b2b593cf75aa9bc15932b3b28fdd13985b2c63c64531abca4fd063a368d153b63ea323cf3f2b9bd130d4b3f1d39e03e525f733c6143d7bdc9d1473fc563d33eef83553cd239b1bda1f4303f8bfeb53e5710353c6c1a96bdbe6c143faaf3953e27fb2d3c70c07ebd0f83ed3e3258653ebfda1a3c653962bd79a7b13e8a691c3e25872f3cd11e56bdf2106d3e1b7daa3d8b6b443c383349bd9ec5fb3db17d9e3c693ef33baf2b1fbdb441f43c5b56c9bc457986bd7b450a3c0000000000000000fe1c98bd6da8523c000000000000000017ea87bd2a3e273c0000000000000000edf46fbd93b8163c0000000000000000090655bd063c103c0000000000000000eaf437bdbbb80f3c0000000000000000646d20bda452023c0000000000000000b93afbbcb484103c0000000000000000df41c7bcdf45003c000000000000000091f2bc3b83948fbcbcf9a23c9f16f0bb975bd93bc6418fbcc721ab3c5e18e8bb19689e3bbc507abc59fda23ccad2a2bbd424b93b65737cbc178dac3c2df4e7bb1d4a033bd97a51bce2fd853ce451dbbb90e39f3bdea458bc599c8b3c879f15bc60905d3b652728bca1a5683c91d206bc129a4a3b75f92bbcb26a433cb79d12bc5723103b98edd8bb9e763f3c2d1303bc8a9d2ebaaf41ad3acca6d63bf09e14bd6d34d13b5cfdfababfc4233cd68324bd4e92ad3b714e7cba79dcef3b89c10dbd8a08de3b4bada6badcee083c737b11bd8ed75a398345a63a99239e3b9b07cbbcadb5e03bc30c1ebbc609fd3b29a1fdbc7d5d9a3b0f96efba4a20e23ba25ccabc174e973b70ee69bb5786053c1d41b8bcc3e3f23a37c1d2ba6350b63b4a7f81bc48f8b53cbd75cdbcfdf0eebcfe3dfa3bdb04573bea205fbddb72edbc01f71a3c549e0ebc024777bd29f2c8bc2201003c9feb3cbc6a6c82bd4871b8bc718e003cf7f43db80d8a23bda6748dbce807ba3ba69d48bbe3232ebd247d4cbc5ff0c13b364c973b3b1bf1bcf895e5bb7e0a813b58fa633c551e95bcab100fbafe9e533bce20a93ce270d7bb0f00f0ba15b87f3b5d9b1f3cd839a4bd50fa1d3f1f1e1c3fd21d673c14f9b7bd3715193fd6b7143f3a36343c499394bd7533073fe395ff3eb2992c3c69828abdcda3eb3e0b88d53e40cbbf3b1dbb3ebdc2c3b33e74929d3ed7641b3c86715cbdd90a923e3305673e5189083c61093abdc009443e4e10073ebf07263c0bf43abd5b4cde3d14053c3dff89db3be23c17bdc15c0d3db41599bc97a8a2bd0bb41d3c0000000000000000e8f2b9bd2ce5643c00000000000000006a259cbd8a162e3c00000000000000000a1895bd3dde513c00000000000000002e915fbdf312f93b0000000000000000564d73bd1b9c3a3c0000000000000000fbc346bd7c7b253c0000000000000000cb9930bd1ed92d3c000000000000000059bd0bbd1690153c0000000000000000fd8a8d3b0c9c5abcb6e37e3c615799bb389ad53b6eab67bc477e7a3cb18291bb5d0ba23bdd4c54bc932d863c540278bb9302913b4a8344bcef9c7a3c9f8d87bbd60e9a3b294647bcf90d803c6bb8b6bbc660553b989e34bcbf39653cdfd1e5bb9fb4293bc7d516bcb4b6563c0bceefbbf082d13aaa5b06bc34ac363c3e101bbce628e03aa38df9bb4fba2d3cfcc4ebbb7726ea3964388fb950aabc3bbde5ffbc8e7cd63b15331fbb845a0b3c5bb408bdb512193ca33424bb7b66fb3bfea0f5bc2c20ba3ba1c4aebadce7ef3bd2c7e0bcd6cbb93b679266bad2b1da3b80a0d4bc534fde3b0cf408bbdf84dd3bbec8bbbc76ddbe3bf1d247bbcad7053c0d2bb4bc0a5df83bc601b8bbcd820a3c909b96bcceb31c3bc09d07bbad65b73b17005bbc72549f3c0492d0bcb9ac10bdcc10213c48c5df3a98a37cbd501c11bdca0a4d3c5b931dbcac2593bd5b4a05bd65f2233ca18441bcfb838abde02fe3bcabc1233caa3615bc073968bd0c4ebfbc4c810a3c2552d7bb129338bd48488fbcf7cdee3b916687ba19a201bd15cc0dbcd9cdad3b76f6be3b203982bccda211bbda10783bbc66803c102b83bba49311bb9ed0703ba597153c800689bd150ce23e61644a3f63b9443ce8b69abdf5f1db3ec072433f50ec283c8c6285bd91d1c73ef64c293fa8311c3c717069bd3092ac3ee7d00a3f95c5053cb5854fbda45e8e3ecef8d53e1140083c98d532bd4b455b3e3209983efc66093ccd532cbd587a1a3e525e343e6673053cac4820bd4a42ae3d3e41843d0690cf3bea1e00bde349e43c037374bc5de7b9bd80f0403c000000000000000065fbd8bd85b46a3c00000000000000009dbfbbbd6fb0563c000000000000000061dca2bd4ca9393c000000000000000053d794bd11c9353c00000000000000008d4885bde39c3b3c0000000000000000519c74bd99f2463c000000000000000085854fbda18c673c0000000000000000422b25bd08322f3c000000000000000099236d3b778905bcb54f163c268795b8797a173bd2d0c3bb08c8e33bded3113b69b0573b7b8002bcf157223c65488ab9f564693b2d330abc068d2e3c0c501f3acebf083b7abaeabb18b31b3c74b896bac9d5883b08a402bc171c303cfe8b80bb533afe3a1bd0d5bb1f86273ccbdba2bb5a30b63ad22ea6bb449a153c1a17fcbbde486a3a642990bb9cd6053c2933d2bbb8b6163bc30f6aba7de08f3b1d2eaebc3bed2f3c9650afbb4b38013c6461b7bc6f5daf3b7ff5edb98103973baa799bbc6826023c17b1f0ba7a21a03b60249abc3d437b3b8f0184b9b0c5a13b17ed85bc58c0d13b0aaa3fbbc490963badff7fbc24af773b7283eabaf31a853ba6375ebcaa74f23ba862afbb3a6db43bf6d43ebc0b026e3b30e062bbcde98d3bff760fbc3986043c1e6a02bd1c6e19bd2c7c3c3c14e5b8bb06c99dbdb93513bd2742393c081f2bbc579e8abdc5b813bd72a71e3cd8fa81bcf86b9bbd938e09bd344a2c3cafbb32bcdf1564bd27cfd5bcb520f33bc8745cbc017946bddeb595bc6a37e73b7874b6bbad90dcbc360b45bcd0039a3b0fdf48bbee036fbcfafdf6b8b4a9273b8cced93b8ab26f39f95d98b8ff95373b1ebaf93b462548bd15c7893e00ea783fe40e143c485864bd6116863ea9c5703fd580dc3b3dbe33bd210d783ef2a0463f57faf23bb5de2abd784a5c3e5f222a3fe169b43bee9d0cbd3ed4333ea2a4003f25baaf3bc67307bd3d93103ee281b93ec81ed03bb754e5bc6304c53de8705f3e7bf7d23be9aadcbcff7e5d3d911da23d3941973bbe5ab6bc2f9f793c2cb9b2bc31f0c8bd2650383c0000000000000000f95cebbda2c68b3c0000000000000000a61fa7bd4db3223c00000000000000001f13aabdf3c93c3c000000000000000075048dbde8be263c000000000000000070248bbdbcfd3d3c000000000000000093ec60bdf12c363c0000000000000000478f60bde7355c3c0000000000000000dd3d2cbd51db4a3c0000000000000000cd08083b5e3c01bbdab40c3a0b9b953b04ff893a19f53c3a95c0813b30b9dc3b3992e63a3f7e89ba5b519a3b6ad3ed3bd5adfa3a651c09bb705f8b3b0366b83bdd4ff53ae4ca3bbb298fa13b1faa123b0bccc53a210036bba9c7ba3be992d2b8fe9b6239492283ba50a0c63b79e029bb6fa42eba210152b9c8a6c13bf643a4bb6d1eaf39f9d4b0ba357db43bd857a3bbd54bb43b350c19bbf10b123b0b8620bcab80853c4d91e0bbc219bc3ace5bb7bb5a9c503ca99456bb8f74d13a3d91e7bbfa1a133c60efedbae401253b15f4f6bbcbccdb3bd76e32bab8f7013bfae7eabb8efbeb3bdf859dba446a153ba96fcfbbc0320f3cc0b864bb50654d3ba460a0bb692c193c2337ccbb6ece323b6b8d0ebb8cf3813bda9569bb3dab4f3bbb7291bbac91b3bb702e41bd14f818bdf9951f3c769c98bc1810ccbd48b116bde05c323c9b06bdbc2984cfbd08d41cbda07b253ceeddbdbcb0c9b1bda1c512bd81fd1a3c9a84a9bc30b588bd26c4edbc83e0ed3b5b56a9bc5b0159bd7c48adbcadcfb63beb238ebcee9f0abd35273dbcb09a873b15cc4ebc9aa082bcd42f2d3b5a61f93902c27dbb94e8c93b1171ea3a7526e13a5a2fb33b571cf2bc8701d23d97d4933f05ecbf3b58a7e3bce60ecf3db7768c3f465a923bd387cdbc5b9ad83d0bb5703f948b793b8333b2bc1ed4ca3dcbc4433f8a6a453b96fb98bcc98eaf3dde7d153f585c3f3bebb487bc5888883de966d43ed6f4dc3a03d159bc49e8383dc46a7a3ebf402b3ba49c2cbcd3419c3cda63a53d97632e3bf2e530bcc83e433798040abdce7dbdbdcc59183c0000000000000000313acbbd4dcc713c00000000000000006bd6a1bd74200f3c000000000000000004dc88bd7c1e003c00000000000000008e5a70bd3000e93b0000000000000000de636abdbc250d3c0000000000000000fbd15dbda21e1e3c00000000000000003e8a41bd6efb463c0000000000000000df6731bd529a343c000000000000000000000000000000000000000000000000727f3cb8a7917a3bfae9b7bbb47e193c72f4103967b85a3bc9ab41bbb8e2dd3b69ce65361bd3603a3cae2cbb59cdad3b1e30523aa9ee3b39ee3d5cba87cb0b3b347dacb990e6c03a44be7338e095083a7c1617b9aafaaf3a10467bb8269857ba550511ba2f941a3b3e94d53aa1b914bb0000000000000000000000000000000000000000000000000000000000000000a6a1273ce2521abb262f72b9de68633bb1ed163cf977b1ba3c7046ba86fde73ac31abc3b32c8bc3a47f0b639a3c1e43a3e60a73b26c01139092f02b9d628933ad774af3bcb1107baca25083aec07e439cda0a83b9241c3ba19b92d3a613c653a838aa93b9fcf04bb2a3f8d39e144123b0000000000000000000000000000000000000000000000000000000000000000f257b7bcfb11b1bd568308bd9046b83b42e7babcec7cb0bd5e64f6bcbb75ad3bc461b8bc84ba8dbd1864ecbc2bab5e3b7d09b8bcf84b5bbd1faccebc6cda633ba7baacbcdb3024bdf0d097bce952563b78779cbc3e1be5bc59450fbc6bd5023bea9387bc31d725bcff1cf5ba3885943a000000000000000000000000000000000000000000000000000000000000803f039eb33a4e97cbbbc0cbdabc63f3933f9d1cbd3a919e6fbb0f57fbbb82d5773f1432613a53057bbbb3887b3a831f4a3fd87f6e39b0903dbb98a0983bf6d01c3fa33be739ccb088ba76aea53b3556e13ecf83aab9ccb555baec19aeb8ba88873e40abc6b9039cc73ae6930bbc5e97cb3d0000000000000000000000000000000000000000000000000000000000000000c81c4fbd8642743b000000000000000091e510bd746e523b00000000000000003b45f0bc1b77313a0000000000000000ed9edfbcdaf3143b0000000000000000e5b6f3bc94df0a3b00000000000000009122f1bc59a5493b0000000000000000b2940dbd4c7d923b000000000000000000000000000000000000000000000000000000000000000000000000000000007a86e239d16097bb9cbebe3b81fc0dbca1cf5b3a898ee4ba66f1533bbeb1e0bbdd6d2dba7eb52eba2be1343b825d00bc6df95ebaf224c1b9a87e263b1eb002bcfc187cba61ff1039473ad83abe99d8bb4ab518ba82a0a6383d0d26baaa20c2bb6b639e3809072d3a4567233aacaba6bb0000000000000000000000000000000000000000000000000000000000000000b3bcdd3bf523b3baf207a238325980bc431bc33b682fefbaec63a7ba5aee4bbce5ce993bd914b4ba601faeba3e9119bc0c0b903bdc84bfba2cee84ba30ff07bcf786903b793a8fba4e7a44bafed9ebbb6294a83bd3f5bbba33af3f39e3d6e4bb707b883b591183ba5306cab83117cabb000000000000000000000000000000000000000000000000000000000000000058c27dbce2b500bd8e96bd3a55a238ba3c089abce498dfbc892f963a6d1905ba8b0e79bca66ecabc73e0263ad7d03fb9295624bce7cdb6bc0db8a23aefe829b9434ae1bb4f079cbcbf992b3b76494cbaabed1bbb627188bccb95383bf16c79ba4d24843b1a5b5dbc9694a93b0a9f23bb0000000000000000000000000000000000000000000000000000803f000000004f0a773adadeabbc62c6803f663270bcb8a11d3a5a5b34bc58055b3f3f1339bc1fecbeb98265c4bb1b98343f5d0b31bcf24e8ab9e6a9b2bb61c40f3fb47b57bcface03ba8f6692bb430ad63e8e0382bc297ec4b74c46cebb17f08c3e30569dbcd8e47bba3ac202bc2f480d3ea7efd2bc0000000000000000000000000000000000000000000000000000000000000000a377c5bbb904323b0000000000000000bf5e76bb4c09263b0000000000000000d4c684bb92c22e3b000000000000000083db86bb8c79293b0000000000000000f6255dbbcb83ba3a00000000000000005ccc99ba5ad8c33a000000000000000006e44cbad3a2843a0000000000000000000000000000000000000000000000005013de3806522cbcd2709a3c95a171bc36746c3b538d5ebc6db3923ca24f5bbc50be833a919a1ebc8dbd823c941f50bc7b686bbab03ae2bb1cf8703c0f3164bc770d97ba893cafbbe998573cfab750bcd1bd90ba429d9dbbda95423cc6de62bcb579c9b90f6e82bbd4a3393c229f40bca10226ba28b286bb2b28183cae8633bcbbf87cba7148a3b986a42e3c93b928bcc7e12c3b98639abacf0858390d88cbbc99eed83b059d3dbb95686d3bd4b0fbbcfd66983b962ef8baa714c73a40d7cbbc04e0923bd87f01bb996b6a377f80acbc56e5823b668fbdb900b724babfd390bc8258b33bf7a01dbb3c6be439df6e8dbc006da03bb5cdfabaa0bb453afcef83bc6a072a3c29718ebbe45a413b1e8d7fbcbf08523b319f40bbd069c03ad3bf27bc42aa583c8067e9bc52d4ffbbdf763f3b24e101bb2a6c1bbd4bd1bebbff36ce3aefacafbbc91714bde3bc9cbb29470f3bf01579bbe7e30ebde21f96bbb9a1873a0550083b4e3aeebc1342a7bb4ae2be3a54a29d3b5c37e3bc97d513bb02bdc33a03e0353cf6d5c3bc868eb03a8f2b6a37d92d8a3c34efa4bcfe93183b54a7a93a4e87c53c519888bcf160063b290c093b5b5e3a3bf54d3dbd1f56813f65c5f53dfec1ef3bbafd3dbda2086e3fa9d4d63d3646a23bc1960dbd6d744c3f99feba3d87a57a3b0f07dcbcb4342a3f865c953dbc8d3c3bd23db8bcc1a5063f02385d3d86f3423b57b8b7bc1105cc3e8967023dcb98213bc75dbcbc272f893eeb90243c6b909c3b705dd3bcf85b103e62894fbc1a912a3ab858b2bc7f96b93c8c7dd1bcb10fa3bc9ddcbb3b00000000000000006bc1abbcf204cc3b00000000000000009fa4a0bc33fbc73b0000000000000000aba088bc78f6cf3b00000000000000001ba776bc4b89943b00000000000000009dbd5dbc21079c3b0000000000000000302556bc56138b3b0000000000000000f19814bc5e2cdf3a0000000000000000b13309bcd218953b00000000000000009336253b52e166bcf39cdb3cdee07dbcf7d1203b3da093bc2f96e63c4ad693bcee8988ba07d630bc3e1abe3c78e87abc4c3cbb39a2044dbcd3bcd63cc97696bc44cab8ba54e707bcefd9ad3c4d228bbc6c6fb2ba521f03bce57cb93c674593bc7fdecebaa9b69bbb53c8903cf58e77bce7e8c4b961f1ebbbb7a88f3c3d0b80bcece579bab8b480bb837f793cb1414fbc1a6d1aba48c04bb956d2053bc08af7bcf20db33a781a18bb67ad8d3b03ce11bdfbcad5b99e123039938c453a2c42cbbc612bdd3a7ccddcbaba79df3a9263e1bc5226ca39f637bdbaf38a5bb965dcadbcdf3fc13a435ce3bab6a4893a3652adbc89a49c3a1ae94cbae44e983972ce85bcc653863bd32439bbc6471a3baf8ba2bc5777ba3a2c31cbbaf4b7d538f08b6abc8689db3c76efafbc34fc89bc04b0bd3ba0e9a13c612307bd88ab8bbc61b8cc3bfc1e513c0bf6efbc960477bc1fe1a23bbaa2573cd7db10bdef2a6cbc69afd43b63ff8a3c9fffe9bc538620bc470d9b3b3a799f3caa76ebbc533c13bc28a0a23b06aeab3c2bc7b7bc3e18dbbba9f94f3bc768f03ca50db4bc9c8c28bbc1ce1c3bb49ee83c24d37abc070d59bb99b2333b97aecf3ba20658bd365b5c3f1737883e69cb1c3c6b1f74bde2524d3fe7a4733e76ff9f3ba51325bddfc42c3f374e523ea402c13b89ed2bbd97f5153ff77e2c3e248d7f3b711c06bdaf1aec3e3d98043e3d3e9c3b829710bd0a59b83e5d46b63d4af92d3b020be6bc4f4a763e39015c3dc980c03b70f410bd23df0f3ed09f503c0eb3013b2b03d8bc3266093d4d7289bcda2908bd4bd5d23b0000000000000000efe11abdbc5c243c0000000000000000a885f7bcaf88bf3b00000000000000005f2304bd13c50f3c000000000000000093fdd9bc1821fb3b0000000000000000a663dfbc5e9b0a3c0000000000000000d185a8bc7d35af3b0000000000000000af0fb5bcfda6fc3b00000000000000005da793bc34b6df3b00000000000000005f5651b9587b86bc0bccfc3cb7f776bc54c9413b1b9aa8bc50b1083dd85e9dbcda180d3a991d89bc7803fc3c9c289bbcaab58e3a9b0e85bc427ef53c642c9fbc38b977ba003350bcc76ee33cf12997bc8626f2b9ddb03abc57e5d43c2f809dbcc368fbb99fa525bc4c55cc3c518490bc507a403a17182bbc9c72bd3c00b193bcce31a5ba7db5bebb7680b73c6b6070bcde1bfabb604c8e3a7924cc3aaa11fabc0cf676bb9d1dc13875f7a83b267119bd84a118bb477992bafd36303b3fb903bd2bb2a9ba9963b4baf2b0343bf101fcbc8dee60bb57bf6d3a8246a63a74efd3bcf7d3adbaaf53f9ba1909bd3a3b67c7bcbdcc3a3a2abbecbaba67083b72d9bebc03b6293b9c867fbb44a6143b75aeb6bc16ba9bba5afd67ba00f82cb97d467abcdec3033de5146abcdee9c2bc1eb6f93bfa4bf33c8677e0bc454cd4bc51500d3c12c6bf3cbe5802bd7b75bcbcbaf2093c8bf0ba3c929afcbc6e3bafbce9e0023cd084cd3c4682ebbc27e598bc23c8f43b15bcd63cdaced9bc3c2171bca806e63b1122fa3ca0b2c1bcc69e4dbc7e6dc73bf10f0f3db1b8b0bc3ec115bce212d23b4168123d90cc68bcc25109bcbe94b53bd801da3bb31a54bde300363f4f19d33ed2042f3cce4c7cbd7b252a3f3182c03ef6060a3cae9b53bdfbfb143f2585a53e92d6fc3be7113cbd3059fc3e5476893e0749c63baa4829bda039cc3e2238573e9822b83b0e7f20bdad1f9e3e8f011c3e880bcd3b117b1cbd19095f3e6461c13dd4cedc3baff81fbdc829053e0bf7183d1946533ba2d7f4bcbfdd1e3d7c930dbcd8862cbd2fcf003c000000000000000015204ebdf787453c0000000000000000ea8738bd574b273c000000000000000034882cbdd21b243c00000000000000001d0f1fbda0c51f3c0000000000000000ccd616bd05e02a3c0000000000000000abe30fbdbd9d2b3c000000000000000051f8fabc2f68253c0000000000000000e129d8bcc38bfc3b000000000000000002b6193ac62c81bc9fc1f33c47a355bc9823273b8bb09dbcbd86043d777383bc9e677738f2b26cbc3b63f03c691e7cbc4cc69abab27c6ebcdbadfd3c941090bc0632dbbabdea1ebca777ce3cb53c5fbcc769c3bade0724bc7656e33c0d8e96bc1e2185ba05b429bc800cd03c524386bced8bacb86bd924bc6b51cb3cda1689bc370efbba7e0fa7bb19d9b63cef2a6bbc58ce17bc86d04e3bec351b3b5cd5febc5244eebb3be3303a3c76573ba7ac0abddad9f2bbd3f11e3b3a79223b76b1edbcd7b7ccbbbe18933abb1e9e3a00b5dcbc051502bc68dc063b1266a5ba0893a0bcf218b7bb93488c3a1a31b23a9efdcabcbde437bba25f20ba2ceda53a8e23abbcb0ccbcba120e03bb06ea063bb5bfabbc0c8404bb5a1898b9a94a98baf5606ebc7558053d48fc04bc839ff5bc3320123c02cbfd3c94469dbcf1a403bde0f92a3c5cacca3c17cfc1bc1b85e6bc35baeb3b2b74d53c5d5de1bc852ddcbcfd8c1f3c69eec93c443692bc55ecb4bc37cbf73b6e8ced3c146bb7bc940aa3bc47a7143ce776f23c3a7c99bc14af82bc28c6d43baef80b3ddcef80bc2c3e64bc6a7b0c3cd274083d29ae2cbc358627bccef1c93bdbe4dd3b53c748bd7fcf0f3f86820f3f354bfe3b31e15abd533d053f6baa023f2e8cf93bea163cbd1043e93e2ec5e03ee268cd3b6a7a2dbde3ddc83e7fddbb3e1a54343b3d6901bd61069e3e412b913e8ef8d53bc4091dbdcaf67f3ed36e5b3e245ab23b28de0dbd1d03363e17be0b3e2691c23bec3314bd1341e03d58b2843d38a6113b4c43e7bcd5091f3d1e2db1baf5b147bd4d97f73b0000000000000000ad4163bd71b8383c0000000000000000b14544bd579e283c0000000000000000aaca43bd677f303c0000000000000000e07e15bdc284f33b0000000000000000d11330bd9b1b2c3c0000000000000000ea301dbdb96f2c3c000000000000000031231cbdbabd423c0000000000000000ea3cfcbcb0ff0e3c00000000000000008e0d99b9aa227dbc3977ea3c09972ebc0791823bafdaa7bcf928f73c968960bcfc03b93a3ddd8dbc310ae93cded263bcf7e4743a90c485bcbdcce63c4c5763bc30cd6d3939d56abc4092df3cda256dbccf94383ac43573bc505bda3c73ee7bbc0b78113a4aeb4ebccdd0ce3c753371bc7221373a91633ebc895dc83caf5583bc024961b9d458e0bb5c39b93c1db752bc13bb3dbc9c9d6d3bfcd83a3b58c5eebc5dca0cbc17bc9b3a0d61d63b104208bdf50505bc41df893ae25e733bda53f5bcb59a01bcc6c7ba3af8ad7f3b6b83d3bc26b2f0bb5a44b03a69462a3b89c1c6bcc6a3a6bb3f3729ba15a04c3b44afc2bc279f94bb012820baba096e3ba4abb0bc1e4782ba967048bb85656d3bc9fdaabcf8874ebb7e5100390a59843ace0176bca07feb3ce738a7bb1ce304bd395efb3b13f3dc3c513b8ebc8db51cbd4ca2443c5128bb3c3364bfbceac80fbd82632e3c2cf0ac3ccc31c4bc836800bd6e89173cc615c73c76d7afbcee9ee4bc44841e3c0174d03c4c81a3bc2214c5bc93dd213c899ade3c211a7bbc4252a7bcaf021a3cc420f83ce7014ebc8dbd6dbc5991063c5fe2f33c190ecebb375055bc21ced83bce25213c333432bd6981d43e7a7a353f92380c3ccd8f43bdf8c3c53e81ea273fc83d223cb22536bd99b7af3ec9c9103f5fb20e3c1a1424bd7f7f963eae93f03e2f51dd3b675b16bde3ed783e0cf8bd3ec17f123c779814bd7706453e2cff8c3e7bd2ff3ba92b0ebd19060e3e1b96383ef0a6fa3bfeff0ebd9780b33d67b8b23d49766c3bccffddbc5112063de91f753b422550bd193ce83b0000000000000000eeaf82bde9ca4b3c0000000000000000dbb467bd988f3d3c00000000000000000d8655bd7c7c473c00000000000000000be547bd36552e3c0000000000000000e11a43bd5c4f313c000000000000000048f73fbd8f48403c0000000000000000acb536bd6a844a3c000000000000000028350cbd7f03183c00000000000000000adffe3a62fb58bc5868a23c0a09c0bbbb586a3b3c3b8fbcaa23b43c9c870bbc7053833a640554bc9ba7a23ce240d9bbe42d0a3b73fe6abc4392ac3cd23627bcd4c973395e5447bc4e07a93c5b3018bca79f813a325039bc1e73ad3c943738bc3bf43c3a61cd2fbc59559c3c40b612bc8a19693a757640bc9294a43c1c4842bccd6d0d3a891204bcadeb963cdc9026bcd68e12bc8f8e273bf693373b542eb3bc001dffbb29065f3a858faf3b8532d2bcb03411bc58344b3b7081123b654ca9bce54704bcbace1d3bf68c953b57fababc7292f8bb262f183bb622623b640897bc23c4c5bb92ad853989ae4c3b4f1a9abc5fe0a5bba6c0963a8d09033b11cc6fbc0aa5f4ba20f716bbde72853b01eb86bc46fe79bb829a02bbd4cd043b570661bc1ace943ce0fa36bbd96d08bdd28d013c4a12833c39118abc8ffb23bdc5b6283c277e5c3ce4348ebcc34306bd30d3eb3b9765843c9c0bcdbc732a0bbd83e91e3c1af5833c6c0d85bc7d70dfbc1a1cdd3b75458c3cbce889bcfa1fd8bcee0f153c47ea8d3c2b491abc0e2aa0bcee97d53b5abbad3ce5d2efbbf0537ebc49ccfb3b3a49b33c5e3d31bb5ea548bc94c7253c379bde3bb2ac00bdcb09893ed16b5b3f9fa30c3ce62c18bd79e87d3e29614b3f6832de3ba1aaebbc08db613eff082a3f6e8cd13ba9f0ffbc822e473ed894113f100c943bd6c2d7bc2f2f223e3716e23ef360d43bae43e3bccf8b033e3ccfaa3e3f5bb43bf827c5bcd890b93df18d5d3e0528f93b6675dfbc98686f3ddfa1dd3d4d46903bb7edb8bc07e0b83cb46aa73bfd3d53bdb62dec3b000000000000000004637ebd3c20433c00000000000000001fc73cbd0a58d53b0000000000000000a2c54fbdb2a51b3c0000000000000000b8142fbd7204023c000000000000000010e541bdc922333c00000000000000002e0822bd80f2e93b0000000000000000a2c23cbdc869413c0000000000000000fd2f15bd6b0a033c00000000000000007677443b013129bc72ef213ca52dc4b9386d8d3b1a402fbc2375203cec6354bb5af7133bdcff31bc9d7e353c80ff85bbc9a8f43a75ad28bc622d423c67bf9cbbb01ccd392ea915bcf72b463c2904afbb6b5ee03a253024bc67fd503cef6cb6bb733fa63aea4110bc0d10523c571ccabb7687e93a982a04bc1569463cc40206bc9302fd3a0f29dfbb311d4f3cf2e0acbbb8850ebce1f1513b06c5423b1a6685bc7eebbcbb0068603a6320493b56f377bc7145c0bbcb3a923a5e62693b13d06fbc9fc5c8bbbcdc1b3b0514533b63e854bcb7c7bdbbb3cd1d3bc8e2083b0e3e3cbc51c2bfbb7170323ad6cd543bf29540bce18e7ebbf6fd04baafc7073bc32633bc5d27e8b9848732bb08c37b3b9bb01cbc5749cfbac741cbb989cc4a3bde7923bcdca1993bb88a68bbc9ea0fbdd8e3da3b3928723a64b3b5bc4cb41ebd868d233c2784de3a9939d3bc03a914bd7ddc083c3e121e3bda85c8bc879605bdc8d2d43b2321a33b691f90bcc64ee1bc4924d23b4aa8b13bc8a86ebc03f7bebc015c083cb15acd3bc87218bc12dba4bc81c2003c5debfc3b0dce78bb0db566bcce04e53b6ceb3d3cf389873b6dc639bc42cbc83bb0969b3bdba1b3bccff5f73d3828813f8b0e963b8007a5bc5d15e93d62b96c3fb1d7af3b2ecb9dbc38adda3d00bd4a3fd0ecb43b429c99bc3e3bc23d8a4c283f5a138e3b399287bc6f45a33d6299033f013ba23b47de84bce519823d3f7dc43e7bd8863ba6527cbc036b3b3daa9f803e1eb9b03b06e375bc6e11d43c10a4fa3d01aa0e3b17ff82bcf80d173c2db8b83b16923ebd8221553b0000000000000000d92652bd301c023c00000000000000000f5031bd2891013c00000000000000002bbc21bd9a81dd3b0000000000000000845114bdef88993b000000000000000052db22bde9a7c53b0000000000000000c06b22bd36fcdb3b0000000000000000022e29bd98a7153c00000000000000007e210ebd0aa0cd3b000000000000000000000000000000000000000000000000b792013bbfe6aabbc00201baf3cf3a3b69f5ad3af0b087bb7c25de391a254f3a265a823a3ccaa7bbffbd023b12f858b89876af3afadfadbb44d0733b450216b9b7d2253af75ea9bba82f473b0316f1b9e979693a384d9cbbfd6a473b80a038bb374b233ab2f492bb0e548f3b61b4e0ba0000000000000000000000000000000000000000000000000000000000000000749098bb057b073b627bf63a0d14babb034f73bb53ece13a7c85c53abb7c91bb757488bb37a4073bfddad03a645196bb1c3dd5bbf975df3a6347093b2219a1bbf5d088bba9d0a13a27fc0c3b9c1580bb0f7945bae081223aef4e0c3b3b3b6ebb0b78b6bafe78bfb957394d3b9c9c14bb00000000000000000000000000000000000000000000000000000000000000003f6c02bcdb5c97bcadc2dfbc03bf383b7edce0bbb805aebca960c5bcf6d75d3baf85acbbb69093bcda65b2bc4e522b3bfed364bbd7a256bc9512a4bc87009f3bef0a5abbf38518bc278787bc9e5d5f3b1a2962bb03fcf5bbf56b61bc65a65a3b9c5405bb3f74043b2a812bbcea22813b000000000000000000000000000000000000000000000000000000000000803ff662533b77f3b8bb7e2806bc0e21803f57191c3b620c7bbb388263ba471f5a3f92b3263be9ff95bb9fb3223b4786343f18bb353b696ca7bb51825d3bb6170f3fc3352a3b265b92bbdc924b3bc7d7d43e37341d3b8c6587bbda80293af4658c3e9a76b33a5369b5bb2c76f6ba158c093e0000000000000000000000000000000000000000000000000000000000000000a968bfbce111a53a0000000000000000ec559bbcfc38f43a0000000000000000592f8ebcad573c3a0000000000000000590c95bcef0c8f3a0000000000000000d9a09abcc6123c3a00000000000000002fb2afbc06b2013b0000000000000000408cd7bc879d053b00000000000000000000000000000000000000000000000000000000000000000000000000000000b90ab5bb015e2e3ca681203d69fd853b7ce047bbd438523c0d34163d7dc2f03ba95096baae65523ce540013dd18ffd3b1926553ad7f2383cdac1b33c291f193ce79787b92e33153cc54f923cbbdca63b9da5b4b8709ae93ba5b31c3ca1738a3bb6c970b912cf6c3bca7f093b59e3ae3a0000000000000000000000000000000000000000000000000000000000000000e42e96bb77537339c3cc383b34caa3bb14d225bb1a115fba142eaf3ade384dbccccca4bacb05c0bacfea9fb8ebd0a4bc4ad6bdbad1bb2abbb62212bb047698bc88b1113bb5aae3bae9b923bb09827dbcbe83d939c195c6ba4a19a5bbf02de0bb140b5d3a62062ebafc4fbdbb83a5e4b90000000000000000000000000000000000000000000000000000000000000000f7eb5ebeb3e0e63bcb52ac3b8bfca2bac19f5abe26890a3bd23d683b9f97363983e741bec62ad9bbf647713b6fa6a4ba89991cbe872413bc5aba243be3920f3bbe13e4bdd0d8d0bb19d59abaaf61da3a39cc86bd465b39bb91b7dabaf167bc3a462883bcdbb4dab8e2ee24bb59fbcb3a0000000000000000000000000000000000000000000000000000803f000000003ecba43c19bfddbd9d06ad3feb34eebd927e503c9ada78bdcf9a8f3f55f79cbda2a7223cd9cc1fbd08576d3fb63076bdce10fc3b526cbebcffa9323f78d53bbdcf50f33ba0e22dbc7a69ea3eda9af2bc9fbabf3bd8d5283a83d66b3ea71140bcae82db3b4273e83af3be743ca159ddba0000000000000000000000000000000000000000000000000000000000000000790e8d3c33f987bb0000000000000000c20b2a3c8b528ebb00000000000000009b95c13b4b2b303900000000000000006964b03b343549bb000000000000000041da933b80b91bbb0000000000000000a2cf403b28acd2ba00000000000000004602523b75f742bb0000000000000000000000000000000000000000000000000922debbb0839a3b7c2ea13c9672383af16d21bc18a8373c2aae193d3fee533a09519ebb0dc3503c68b6273dfda9e23b3a5a78bbd7d15b3cc485123d5da1283cedc8c7bad5b1453c051cda3c6a3f043c4fd291ba7461233c02a1993c4f4e023c6045b6bae8edb83bc494463c5213553b7de2abbab62c4e3b84b8553b9175023bcba030bb8e998a3ac65b64bbd9e39239f28e2dbbb2a8033a6ebb4a3c4af957bcd9987abbf3f90138c5cf1b3c66c05fbab92753bb8073f5baf5f7f13b1c227bbc90520abb7d74b7babf37b83bd08fb3bcaa10843ac74b33bb6902df3aa6e9abbc83601c39305826bbaa900639d01779bcee373c3bc84dedba3a023dbb59d104bc17c11f3b69b104bbc488cfbb4ad7703ab419773aa2c22dba876c5cbbdfebc13b2f8ce0bd3283b9ba78c42d3ae46716ba8b6b44bef17f373cc5ae2ebb4b40643a21885cbe542b13bc3f222f3b26d98e3a54b649beeef38fbc3ab10f3bedb1db375ae01fbea25695bc0c332e39d665e03a47b0eebd1cc75cbc548936b962e9ad3aa1ef80bd52fd33bc92d84fbb1e94a33a4b1f97bcdf18e4bb653729bb87d51c3b6fca753c315b383b9f37ddba9caf9a39e671233dcb0c52be72e2ac3fa9ee853c2616263d4c1041bed255a03f54a51c3c80f6fe3cd62918be08de903fd1ca7f3cf1d4d23c86e3e8bdc8316f3ffa918a3c1f53bb3c7550a9bdf992333f833c753c5a83943cb58c70bd1002f03ef079373c9a4c883cb77812bd2402733e5ad7563ce8914a3cae9e17bcd4b2153d1535bf3cbcf85f3c342d8fbcace1cebd5683a9bb19c457bc8522683b0000000000000000fa4024bcdf86d43a00000000000000008bb564bc7db22b3b000000000000000048dd46bc8b1e033b0000000000000000dd9124bc79ed213a00000000000000005951f5bbb17e933a00000000000000002fc9e4bbc432423a000000000000000008c118bc55f5103800000000000000002d4e7e3a1ad48fba0000000000000000305990bb50ca0e3b05085b3cfcd54d3bdb58e1bb795f253c15d3d63c5dc0023c788c9abb0a782f3cca4ffa3cfccd6c3ccd13dbbaf455423c1c11e23c2dcd5f3c2a0f85b9abfe2e3c4642a53cc65e413c6f0e4ebb4ac31f3cacf78c3c0634c53b0abad7b8fba7d63b9fa9e93ba70bcd3bf56182bb86abbd3b6827003bbb55bb3a5a359cbb9d57143b533138bbc3f360ba42a734bb97afa3399cfb6b3c139bc1bc5f022bbb06cce9baeded723c6d09c4bc069994bae72347bb91f1343c8aaee3bc7be371ba3dc37cbb8eda093cf30df0bc0bcf6d3a58470ebb9270a83b3ac4e7bc8240863bf0a189bbe8cf053bcdaf89bc4cbbda3a66a157bb6abba5ba3dca4dbcf8c5793b5b7977bb2bfb47bbd677e5ba66ca073b4842f8bab7f2ad392320333b97455fbdf1f988bc3cb3bfb92823a2397a920ebe52ba08bdbb209e3b6ec3283a643f24bea0e945bdd8e29d3bba06c23a713e22be0f8339bde80e8d3b48b6c33afe64f5bdae362bbd1834a93972edbf3a753dc8bd7d0be5bc24c53dbb52a26a3bea8d51bd3483adbc9606723a661ddf3afd6c93bc3dc5d0bb26703cbb05c4ff3ae0e1203cf840a13bea11c9badc46633aed29283df5134ebe929d8f3fc9af673e51b13b3d476f58be618a903f7f4e4d3ed63d193d6b2e2fbeb4dc803fb3e1363e0e180b3dc23512bee9065a3fe1be0e3ea25fc93ca5bad5bddff2233fafe1dc3db29deb3cebbfb3bd8ad1e33e1cd5943db36dbe3c56977fbd01de783e9165123da180ac3cb56a18bdaef0853d76cb1b3c40cb8a3cc61001bdffaf3abd2b739ebcd69e76bd6b664c3c000000000000000088fa6dbdde4a3d3c0000000000000000c8a44ebdb799193c0000000000000000d9042ebd2b31093c00000000000000005c00febc39add73b00000000000000005f6dc2bcf5d26c3b0000000000000000a04f83bcd1f5393b0000000000000000cc35f5bb2717913a00000000000000007dd7e8ba795f913a000000000000000092cae3bafc3e11bb0fbf493ce098843b18a286bb6113d13b5aa8a93ccd41643c941f6cbb69a8233c8b50d33c58dd943c83ba20ba07830c3c3bf3c23c1c5c783c84d1d8bad0551a3ce200953cba36623cbfa06ab967f1dc3b2ec44a3cac64543c7bca0abb2c10c73b660cc83b2f73d03bdb6cc0ba4b2e683b5333213b84ac283a459a5bbbdac2b73aa7f10bbbbcaadebacbe747baaad00bbb2d1b7a3c427a1abddece5fb98ff183bb262a6d3c71bef0bca75c85ba75ef69bb76b34d3cb2f203bd61ac593b4283a7bb3bb1023cd52300bd6a4ef33a2c2f7abb3b4ae23b710ce1bc907ef13a353a75bbd406713b4651adbc3e4b6b3be44d8bbb44a1b33af58950bc8960873b0c8d55bb647414bacc58ddbbb111003b83d157bb491ecc3af87481ba4501adbccab924bd3d04d0ba1d586a3b232fc3bd6d9790bddaac863be1b6593a9f3c00be7a81a9bd3c28d43b786a453b6ebcf5bd05e39bbd7f81773a416f863b49a6d1bd26fd87bd0cbc273bb937453bd3ab9abdacba42bd102862bad57ef63ae9e92fbd1ec2d8bc87275eb9b17fd03a5c3766bce48314bc405e2bbb81f1243a085e113cb430e03b1ec7bb39a89606ba0f100e3d103d39be45986c3f58d0e73eb43f303d6fa849bef6116e3fe7d7d93eb52a1e3de64d2ebed1f0583f090dbe3ecbe2003df1800dbeb151363f40bf973ea781ef3c5205f0bde8d90f3ff8fe5f3e2241da3cbcb4b7bd6f0bc93e237c103e75efc63c07758dbde6dd663eb5e6893d0329b13ca4ca4ebd3b08a73d5e0f9d3b269f913c29161cbd7e308abc6dac2cbd15f3dcbdfd13a53c00000000000000008e9bdfbd575dd83c00000000000000003b82c0bd2950963c00000000000000005c8e95bd7a83653c0000000000000000982f74bddd942c3c00000000000000006e0729bdfda4163c00000000000000003c68dfbcea75f53b0000000000000000822e21bc2f34393b00000000000000002024a7bbb536743b000000000000000066dbb8ba05c569bb3ed9293cdbafd23b91051dba8910823ad7c28d3c51ec8b3cd1b584ba3e677d3b6e47aa3c8e0da83c2c850cbbb335d43b879da13ccbe1a83cbc94083bfd39353b763f5f3c402e363cd348a7baa38faa3b59424c3cd3f03c3cf66d70ba8bf39f3b08ef043c2487953ba87f42bbf237673bda82243a5d662b3a64f81bbb8dccd6b9df69383a38cf51bb154209b9d1c030bbb71a803ca4de10bdc800373a26b9a3bb6973473cc2cff8bc5f08093b64eda7bb4b9f383c603a03bd8ccb783b701e78bbe1e5253cf16af7bcdc6d6a3bd89f4dbbb649983b2085e0bc683dd13bc526bbbba697ec3b38b3bcbc44c88a3bf1156dbb9ae72e3bffc38cbcb9447e3bb81154bba349dd3a331004bc6725ce3a290e2abba46f013b348437bb7d5a81bb4a2c72bd03606bbb21b1843be29471bd9826d3bd3b0ecb3b25a47d3b675fa4bd00d6eabd37af303bb4ff2e3b0fb6b3bd14c8e1bd7faa9e3b28cad43afac577bd37d39bbd6914c8bbf8e9853b867f6ebdfed988bd0547c33a4d1cc13a314701bddad00dbd43bdd0ba6af30f39d17410bc7f3a21bcb742be38603781bae76c133c20ea103c31d5153a913367ba36afe83ce8a81bbebc84323ff5fa2f3fed7e0a3d44c922be5c35333f74b0283ff2c0e73c972809bea523233f9a03123f9fc4e23c3fe1f8bd66f20e3f034dee3e4c9f943c63d6abbd6d4cd83e3181a93e6a39bd3ca488aebd3eb2a53ebcf05d3e2648a43ce5507fbd15ad483e24cfd03d0088a13c863b41bdfe09ae3d83b3543be12f6f3cb9171fbd5ca03d3bec0672bdf55717be6ea4f63c000000000000000032bd1bbeb92fef3c000000000000000071f8fcbd798dce3c0000000000000000b9badbbdc5a2a63c00000000000000006f4a90bd1d1e693c0000000000000000d4d56bbda55d513c000000000000000008d40cbd98761a3c000000000000000085c468bc7b50cb3b0000000000000000d088c0bb532fcb3b000000000000000061f9aab9c8a37bbbb2f2d73b146e223cf90680b91230a63940b7873c20bbb73cf6cb68b936fb203b19b08d3c161aed3c15159cb9f00e9a3b5ac6913c3c42c63c7886353a10fa9d3b22ee703ccf5ba33c9b1c5aba9adea63b7c5e393c6ad2523cb83846ba4c59353bf2e4c73ba444033ca5a30cbb658e163bba4a393bb0bc993a869801bb9ee283ba6ce1e438fe6a12bbc6ec913a2be89dbb63d91d3c398ad9bc80ef243be1c0e7bb8b74193c4578dabc72fc7b3bf954fabb7594d43bfd74bfbc4778833b4eefd6bba8aac33b2d28c9bc587fb73b047cb5bbef15783bb845acbcea6d9f3b79e2a9bb0dd3843b03349fbc7a2e583bab5982bb2cf8843b8b0a7dbc0bd7903b942db2bb4123333bd0fa05bccaf5253b559b46bb3034653bd4a37cbb4b7d003cdf019dbdc3f22cbbb560e43b906702bd909a11be8b34473c61fc4e3b45736fbdab5f21be8113123c32c9bd3be06579bd7e3811be0acc743b2859993b30136cbd9156efbd59ba3b3be4721c3b62b936bd3fffa3bd3c4ff53a8080933ab4dddabcc72a37bd6b8f103b4de655ba27141dbc8a5b51bc39cf193b0528d8ba4954d73b06acf03b3aa5333b435f45bb6667b53c9946ddbdccf4eb3e3dda6a3fd28edb3c3d71eabda9faec3e4917653fa4bdc13c94c5d8bd851fe13ead7d483fdd4ab83c4290b7bdaea7c43efe4b203f0012a53cda4c9fbd52cca33e0ba3ed3e69e0953cd24984bd85d1773e5fe1943e8b9f7b3c8c9f53bd034e223e97cd093e60e84a3cd1c420bdac5ca03d6a1c1c3b185e373ca968f9bce0fc673cabc297bdb4bd38befe4b063d0000000000000000dac444be7dbb223d0000000000000000e68525bedaa9f83c0000000000000000921301be0c25be3c00000000000000001625c8bd624ba43c0000000000000000f0c186bd1479783c0000000000000000aecd22bdca51293c0000000000000000781543bc1b55d63b0000000000000000b8ac08bc37de1b3c0000000000000000aa519a3a8439a2bbd07cd63b927a643cae8b42b9ae9c02bb0546383c14c2ee3c6ce05fba484cc73a02bf6e3cefc4083daa1cf539d436b03a9a56693c423e003d4d9f09b9c30fb73b869b2e3cc4e0b33cbb8e713989c3593b8a6c163c0966903c0baab7ba99143e3bdd83e33b62f4053ce83ba6ba464b403b58162d3b1976963ac0ef0abb499bb6b9c61b27ba9bb421bba2c2d03af81bcdbbca27833bcfd387bca1da5c3b90d517bc930bb43ba8ac81bc3e90af3b0fdd0abc13675f3b022870bc7610b53b7538e6bb4ea0303b27966fbc45c2b73b0f37b2bb646cf73ad5e592bc70e6973b1c0d93bb5257bc3aa2c851bc5a72a23b1abd8bbb8cce243b4d793abcaede393b83e26fbbda37163bd5fa11bc1001413b35a64fbbba86543b214b94bb4acc853c1560c9bdd650f43b07f0963b430b3ebc2da035be93dd9f3cd976023b78070fbdd0723fbe5b6e103c7f08b93b640127bdb09b34be37710e3cd4826e3b897016bd7df907be30ba313a7eef373bb11508bdb6d2cebd7993a83b20b90aba340da4bc4eb05abdd939123b4d93b8baad92ffbbf3bd64bc09f7b53a5c8622bbf95bcd3b4246303c1f9f653b58608dbbe8535f3c76b57bbd411f6d3e4ad18e3f90ed833c1d2686bdb00f6f3ebe2b8d3f11977a3c2e1b74bd9ac3703e9432753f48846e3cede965bdc8985d3ec667483f79fa343cc1df30bdf6d73c3ed2af113f17484e3c5b5128bd56df1c3e6cdeba3ef26e323c2d890bbdaaded93de5d22f3e6c15243c43b9e2bc0c77843d8782953ba1a2bb3b771a8cbc576a823cdbd2bdbd08784bbe1ab91f3d000000000000000097cc58beb9212f3d000000000000000078d72bbe21db003d000000000000000051f80dbe6e41c33c0000000000000000e6cbcabd10779f3c0000000000000000eb028ebd75a36c3c0000000000000000a9131ebdc353243c00000000000000007154a1bb73c67f3b0000000000000000233f753b0230733b00000000000000009c3dcf39eb116bbbd936813bfc17ab3cbb4f383a686084bbff1b173cfe43293dbd5fab3a1a7ee7ba8627633c1eaf313de3bd16b98f47563afdd2743cdc231b3dc4f89e3ac6e4893a9389493c1e2ce33cd028d4380ff9f03a44e51a3c7e50b03cea709aba7da9853b4d38ad3b3529483c24fdb5ba6aa4283b91305e3ac1f55b3bc539f8ba2837e6b8b373353a643d86bb6d89e83ae1f8e6bb5e699c3afa4597bb59ccbdbadff20dbcf702553aa95007bce85f923bd16803bcf20b54bab6d3ccbba249b73be231e6bbebccd8b983e0babb6772e03bded7babbee61abba7fbbe5bb07f6a73bfa2581bb2d60f3397b1f12bcd07c403bed392fbb53ef903a86e521bc21fa663bda20debac071493b6dc708bc5582633a992ceaba001f163b34500bbb483b3a3ce2760abee78d633c5f4bd43a8ae4f13b81f95abe3f141b3d254361bb044188bc95726bbe5b0e9d3cb16b9c3ab11cd3bc2b0a55be4d9e383c7e4b4c3a534bd6bcd62027bebb92843b4d8cc63afc96a9bcbce5efbd278a693b99c4cfba6de06abc64f582bda0e0343bdf7b43bb766c3cbbce886dbc99ca50bbbc127bbbf6c5933b88e0923cfa578d3baa928fbb5ebb7b3b393b68bcf8ce973ce483ac3f5fb8ad3b7a1d52bcbe390b3d6ae39e3fc010cd3bcc2f96bc84676a3dff988d3f8e0a993bea8090bc1be88b3d8de0653f32f4ca3bd03d84bc95988f3dc7d6293fe167ab3bd4c880bcf15f833da8d0d93e3fbfa03b134665bced416d3dcdb3483e3c8d533b6a9a4ebc156e403d199b593ba33f9a3a3792cebbc1ad2b3ca62504be586a50beedf41e3d000000000000000043f747be2941233d0000000000000000e2b720be14a0db3c000000000000000013aef9bd6716b73c00000000000000009930b4bd706c6a3c0000000000000000a92d65bd5b4f2d3c0000000000000000b76ac5bc35afa83b00000000000000004a8c873c463435bb00000000000000004846143c5a50083b000000000000000000000000000000000000000000000000d9dc4f384ca8beba5fa7f13b7c65273d8654a8b77e5501ba957c283c14c9203d89c25ebaf4d9863b037f253c34ab003da67500bbc5047b3b3d6a1d3c4c32cd3c5ec03cb86bd16f3b21dae93b8a3b8c3c128881bae182323bf8baa93b4744283c6e80d1ba97c6113b97bde23a544d993a00000000000000000000000000000000000000000000000000000000000000000171523b9ab7dcbb39e54ebbf82ecc3b6536bc3b32f7b6bb3e385cbb89cc893b1ce4013c14df8fbb181f88bb6c3e333a8285d83ba3dc07bb787605bbc61cb1b9c58cef3bc19985bb663f36bbaf3a59ba2de15b3b98e5fab996fc7fba79e43dbb7db42f3b8bc4b8b9c2bc0b3aad8f11bb0000000000000000000000000000000000000000000000000000000000000000f3dcf3bbd0255fbe0a1a6a3cd515543a134a85bc27a659bea621103c6c5663391ca4cabc189040bea4141ebbd539183b4c07c6bcb91d1cbe8eab89bbf4e80db8f94ea9bcdb5edebdec5c64bb3d5985b9bd1143bca2827ebdd8b88eba89860abbba546dbb9d455cbc51314539c4272cbb000000000000000000000000000000000000000000000000000000000000803f6cd126bb78878a3cd32cd0bd65aaac3f794206b905860d3c523a59bd9e238f3f28cada3a5d79d33b58b901bd60ec6c3fb1a7ee398aefda3b4cca88bc112c313fa22d68b64874883b77138dbb4e59e83e62cdb33956b8903bed05633b348e693e0e2ec8ba0de5b53ba8de8c3b93d1303c0000000000000000000000000000000000000000000000000000000000000000f6fef5bdedb3893c000000000000000028fda4bd29cf363c0000000000000000f58380bd74c3973b000000000000000018b33cbda0cfb73b000000000000000095b4f0bca99e323b00000000000000005e251bbc4ad612ba00000000000000001927493b8e0f1fbb00000000000000000000000000000000000000000000000000000000000000000000000000000000040dbbbb19886a3cc4abb13cbb0d4f3c7f2499bb2dbe8b3c2e2fba3cd065553cc2973bbb8dad813c9b09853cbb136a3c8352debadea3503c6b4a623c62a53f3cdf4473bbe8bd683c839fed3b61a22f3c79270cbb31d7333cf209b93bdad67f3b913e1bbb4479dc3badb7acba1e81303b00000000000000000000000000000000000000000000000000000000000000000c4bebbbbb075a3acec3093c8b029ebc8ab5d8bb3a47f539f4fbdb3b7969b4bc52d4abbb637073b991d0723bee19e9bc6150b9bbdccddf38fd6a773b6cd9ddbc05cd2fbb1bf9cdb95979663b8696aebc5a49ecba5e7c4bb9ee0f3fba579537bc8e12cab9c2231c3a889f56bac7b570ba0000000000000000000000000000000000000000000000000000000000000000819e3ebe37eb31bbac73ab3be8cf033ab5aa43be6b79a2ba61e0853b6fb6583ad12c2bbeb9d2f7bbd17b9a3b2f0d553af2a90ebe51f02dbb2f27623b235eae3a618fd7bd6be802bae20710ba7d318f3af0af8dbdf804053c09d138bb0ff8113b6672e3bc0d8b4c3c88dcc9bb1634a83a0000000000000000000000000000000000000000000000000000803f00000000f4b2563c22fdb6bd8eeba83fcf7fcdbd5e26f63b531754bd6f8b8d3f890995bd58640b3c6ae505bdc4c7693f653884bd51e6d43b76c2b0bc1709333f1c3675bdd01cca3b40ab7ebcc0aaf33e87ab3fbdab10f53b69b332bcfaca813e47e3fcbca671f63ba5ba4cbcb0723a3d7260b2bc000000000000000000000000000000000000000000000000000000000000000051c0243cbbff10bb00000000000000007ab5f23beb06e5ba0000000000000000f5bbc83b9007e7ba00000000000000006f52ea3b9f812fbb000000000000000014bce53b652db7ba0000000000000000e2d5973b5f0ff3ba0000000000000000e29fd33b6b79c3ba000000000000000000000000000000000000000000000000591369b919740fba75f2803cb0f0863beb7ca7bb76cc333ce789f13c8734f93b2df647bb6060223c5ee50b3dfce22c3c7ebe08bbcddf3d3c69eae83c422b523c24478bba5839213cd84da83c4bbb413c1190f7baa26c273c5b607e3cbeab083c18a529bb650aee3b4c15083c7dd69a3b2df74bbbde7bc23b0e501d3a9234b23ae9d42bbb88c0183bb69cc0bb997bda3af0914abb58741b3a30ab9a3cf46128bdb842dabb27f1933845f4933ca2f006bd2218b0bba36d1aba1a95863c17232abd3303afbb519346ba0edc6b3c386b39bd9a3d23bb7b09bcba9f1b363ca50b24bd97c541bbadb073bac9351f3c2c2f0bbd06b492b913e1cbba3c2f043c03bab4bc85150d3a91dc82baa61e1c3bc83ee7bba7cf26bac2e5ad385c44c33b53a4bfbbe61e91bd83ffeebced07243c477112bbe3ce27bee9cc3bbc6d81f43bfa975bba87d937be8d97cfbc150a153c44cd6db9a28527be3af4e0bca52e033ca8a98f3915be07be9e04c7bc2cc1c43b64f9a33981ccc8bdf15b76bccf2f893ba01fae39d6c66cbd91e0c2bb9b567cb95162bf3abd748abc58d6293b75af8bbb0593f73acce2843ca384fb3ba4aa3cbbe2f08f399237db3c00de2ebe6320a93f99a6053d8191e73caaae24be881fa13fae1e763cdc16bc3cd0df02bed00b903f15bd0e3c71d8ad3cc7c9d1bd159d6f3f8cde073a7b749d3ca0a3a7bdf072383f15b71dbc437ba43cc5778ebde7cdff3e91fca2bc2e94923c991e68bd9b9f8e3e3b1fbfbc0f4aa43c94ac2dbd22688d3daf2a54bc893d9b3ceb9e47bd49db5bbda35a1abd791d80bc2e02143b0000000000000000a7f051bc299c1c3b0000000000000000d63b1cbcc86d923800000000000000007583ccbbbd1280b9000000000000000015e568bb4f5fe2b9000000000000000027ba483a872da6ba000000000000000075514c3bb0bf04bb00000000000000008bdf9d3bcaa606bb0000000000000000df931e3c177a0dbb0000000000000000e7b2a63b81ff58bc60b6a73c8a6608bb49aec83a06712dbbc64ad23cabd1183c2e416a3b61fc8dbb28b1f03c4ef5303c0d7f103bd26a803a7e94de3c085f4a3c8fcbda3a4b2957bafa79b63c3b391e3ce1199f3ac69eed3a48366d3c0d13183cf6b0063a8f32313b2a05df3b3cdcb93b7ef079bab64ce33a819e653a5f9f1e3b8e4ed0b9158b59ba48e044bba293af3966e01b3b58833ebbba11b63cdbef6bbda9d7bfba8c5f30bb30b1c73cc51171bd9828a5b94b191bbb3389a23cbb4973bdffe7acba342074bb13989c3c467270bd791121baa5c42abb8eef933c1cd55cbddd1b52ba8ec5c8baf4ee7a3ca3183cbd1e547d3adc152ebbcdec453cf22c1ebd452e683a8881f0ba9ca12b3cfdf9c9bccb61383a67d727ba4167193ccc6092bcbdbe4bbbcbf554bd681c1c3ce9fe7fba39c8a7bdcc9188bd59128d3c665b15bbd566bdbd40eb9cbdc17d8b3c62665fbb71a7dabde0d88abdf412843c02580abab120a0bd68f365bd1c65463cb7fc97bac2377cbd64ea2cbdb521213ce17d23bbb1f1c6bcde2eedbc090f033c54b974ba0044a23916aa27bc6ac9633bb176bbba17e2dc3c19e527bb46c8383b69bde9ba2cffe13c991628be2cfa8b3fefe9683ec005013d31ac36be39a18e3fe0de3f3e7cfad63c93620ebed82f793f424b253e8877d53c4a8103be68c05a3f6463df3d603fcb3ca6c7ddbdeaa02a3f9e02873d0f9acc3c75ddc9bd1911fb3eaacabd3c52c0ca3cc0aca8bda2d79a3e889637bc0dd5d63c612997bd16a2033ed58a25bddbccb23ceeb386bd86333d3c9d4b72bd363e41bd29ece83b0000000000000000e50640bd9c3ee93b000000000000000087ba15bd609ed53b00000000000000003352e2bcb309533b000000000000000083ec88bcf3c0ac3a0000000000000000251112bc27b4c93a00000000000000004f5b0cbbe0e28bba0000000000000000ef58f83bb528cbba0000000000000000811f223c1b71e8ba0000000000000000ed3b083c0566bbbc0f17f03ce0210bbc17b8cf3badc761bc84fbec3c1a27e63ba797a53b808b26bc5a7e043d30871c3c0876bd3bc65221bc8ce4ed3cbae1353c3e51a43bee5808bcc271cf3c9e1a063cd6f3303bf6cda3bb4dffa43c9f5fc83b1bcf073b067f5fbbcaf5223cb96f713b373776399efd26bb3b378d3bb37059b977a5073bc131cabb58eb293bbc103abb10d2df3bbde38bbb27b6a83cf50a86bdec29713b0625a5bbeb93d03c25f189bdfd454c3b2689babbac6abb3cf75f86bded18043b3b7f96bbf6daa83ca8d47bbdeb416e3b4a469ebba9eb9d3c544973bdb98ac73ac71359bb8545863c0c7152bd0901493b8bd541bb27a7843cb97e32bd56eded3a210717bbe47c5b3c676b06bd280fb93a835d8aba4c823b3c54f4e4bc9d990d3d1f6ea1bd9c003b3c968afbba1f38e7bc8f94dfbd7041a53c5f6a35bb419271bdce49e6bd5823af3c65af81bab48173bd4533d4bd1efda83c778457bbeccb45bd4107babdb4f5963cc7ee27bb0a5d04bd51fa86bd0b1c803cb38719bb9ea331bcc9b336bd0de3503c8fbe9bbb0f1c533c4824b9bc2b5e243cdd8b4cbb3d810e3d094737bcc9f41b3c2ddb8ebbe4edc43cfdfc14be8256643f1b00df3e85c1e23c195a23be72c6673fdca9cb3e80d6d43c652c13be3e41563ff9d8a83e48fabe3ca38fffbd6d6d383f73687d3ea58dc73c64bce4bd329f163f5bd72a3ee57fd03c2b26ccbddf64e13ef8c7ad3d3e13c73c8b20babd8b9e943e8bbf7f3c0197d33c3a24a5bd75c21b3e55b93abdc178ba3c65d691bd8c00543d2f81a5bdf79ea5bd6154513c000000000000000018e9a8bd159a533c000000000000000027138abd3e88133c00000000000000006bbb50bd7823ff3b0000000000000000173617bd165fa73b000000000000000058d5b6bc092e283b0000000000000000240015bc553c4f3b00000000000000001e76b73ba86fe1ba00000000000000007e15f43b96ef8a3800000000000000003091273cca9ed2bce241f23ce32c2abc0b0c053c48549fbc1ac4fa3c8c812e3bdb16de3b527888bc38c6083de6deb93bbf6eda3b28e96bbc7100f43c052c173cbb90e53ba89669bc8d8ad53c6ada13ba5cc7de3b601032bcb99ab03cdd978d3bded0843b698de7bbe99b603cf3cd5bba149e583bdaacccbb74b9ed3b119fcabacf90543b5370fcbb99f1fe3b6866e7bb9c61253cae3fcabbc3b19a3cf8507abdba1e223cb7fb01bce2a09e3cb2f77dbd683b003c9675e0bb88b9913c99ba68bd8bc2fc3bfb94bbbb02e5953c695475bda199e63b622f86bbccc65e3cb68357bdbe88bb3b403f9ebb52a3783c450457bd63d5813b74ff65bbd47a583c512f2bbdfab54b3b9fd32fbb61a3503c669f18bd0e258f3b64c552bbe74b263cbbfaf9bcb141453d5362b7bdd357d73b6c4b093ae169033c78170ebed570ad3cefe602bb621da3bcd3ae0cbea83f993c805e5fbad56ef3bc6d5d0dbe300bb53cb6df83bb0a7a24bc6de1c4bd8bb5453c03d5f3ba33cc64bcaabdb7bd040f9d3c10ed94bbd4f0323b13fa62bd2c91843cab8468bbe712b53c693601bdeaf6803cc0cecfbb67f4183d0a9883bc5e4a5f3c5890b7bb8c36903c5e2ef1bd816c2c3fc5e0263fa56dc13c93da01be82e02d3fe8151d3f580fa83c02a6e7bd3e2b213f735b033f87b7b83c5a4adabdd467113ff814d03e52c07d3c74dfa8bdff2be23e4abb913e240ebe3c035ab8bd28dfbd3e2515293e2c6a983c5ade9ebd9d79813e1c606d3d6e3cb13cbe3f95bd7d6b183eb56a20bdf1ec9c3c125f81bde9597d3df42cb8bd5ff6e4bdfec98c3c0000000000000000aaa6e5bdb6f28a3c0000000000000000a23fb8bd2f15533c0000000000000000fb539bbda99d2c3c0000000000000000ccec5fbd6051153c000000000000000046d018bdeb19a23b000000000000000025daacbcfe62483b0000000000000000824016bbad679c3a0000000000000000252f5e3aa1155d3b0000000000000000ba4aeb3bb24dbfbc8459e43cb07d2ebc67ffe33b6d259bbc6cbd003da3289b3b47b8e63be88b85bc129af23cfbff443cca64bb3b255163bc1f53fb3cbd2d253c6811ae3bffea65bce1a5e13c87b3e63b8ac25e3b3cac1fbc7a34b43c5219ab3b4d42893b5e0508bcc224843ca772fa3a1032213b014109bc5410253ca9513bbb7a73353bb2b003bcacdaf23bbcd7bebba65e4c3c00b9ecbbf2fc743cb9a940bddb5b523cca3f21bcd736863c0dea47bdc374433c373810bc536c6f3c18663abda6741a3ce9bbe5bb3938673c02193ebda4e8253c664aefbb22c95e3cbf0e2bbd54dcc63b96de8ebbb87f5d3c1ab921bde49dbd3bb0729fbb1dbc373cb2740ebd7cbd2f3b36a829bb342c2e3cd00ef0bcb5a5423b85bf08bba1cb233c25f7c6bc8260463dc6cccdbd8c6cb83bc3f1863a249c603c994d2abe33d9d03cc83864bbadcd1abc6cd134be8717b73c453136bbc22e7bbceab124be9900c73c8e8889bb97ee89bc3d5c0cbe2d8fb73c82dd92bb585421bc66fad0bd3a62ad3c061bdabb8164e63abe7e8ebdd57bb73cc521f9bb6c929e3c912710bd16d0a23cf27d0bbc7144053d8e8b71bc8d09773c563adbbb9016703c7984b4bd211be63e64cc5f3fb0888e3cf939c5bdcb6bed3e2afd563feb797c3ce5a1b7bd58fde33e08ab383ff35a813ce504a5bd9fb7cd3ec08d103fa33f843cb15d9bbd578ab23eec15d03e7fd1813ce6208fbd59968e3ea5db7b3e19d7873c6a2383bde76b4f3e27cfc53dcac3913c27316cbdd0af013ea97efebc879b5b3c360350bd50b1693d901ec8bd568c0cbe91d8a33c0000000000000000275916be2b01c13c00000000000000007e79f6bdf0089b3c00000000000000001e7ac2bd84335b3c00000000000000002d6a94bdc0e0343c0000000000000000975748bd4267173c000000000000000072e9dbbc08b5c23b00000000000000001d3e23bb5d36d53a0000000000000000742e10baf81c293b00000000000000006e82b53bd24086bcc9e2bc3cb9d083bb8d8a953b747f73bc745bd43cd5153e3c322a763b0ac244bc37ebe33c0f84393c8765823b8d2f52bce49dea3cd4426d3c755f863bbc6e2ebc39cbc63c78aa183c8722533bef7e2cbcaf6fae3c8a84093ccce2023b08d6f0bb89b27e3cd4ebed38581c0a3baefec2bb226e183c07d5b9baf3ce153bdca9e8bb9e6acc3bfeebe4bb9b69553cfecc13bc62eb0d3c2554f0bcb284493c632227bcf402283c794ff2bc0b707b3cca102dbc1e0b1e3cc74af8bce368423cbd0c0cbc12ee0f3ce625d7bce76e153c6585d0bb48c4023cc21adebc8258e63b0065abbbbe27083c87c5c4bc5e03d23bbfc380bbb2df0f3cbfc4b9bcbd3d823b50fa3fbb2ae5d73b072c9fbc54b2813b9c222ebbbfb4c93b104b89bc75c80d3d03fdebbdd2ae603c022bfdb94ea15e3c3d7845bee344f83ceb855ebbe48dd7bb83da3dbe83c8a23cbde382baf96180bc14d93ebe41e6c53cf9186dbb077d50bcad7f15be1033a23c805354bb764205bc5858f2bd06bcc33cba5accbbfeab1239327291bdcd4da93c2ce1fabb08cd483cc5bd12bd31719f3c063b0fbca938d13cecfc30bc69279b3c399200bc4cc1133cf73159bd6038763ec86a8a3fde14293cb2f067bd89e87a3e7a57873f44f2283c800f54bdb90f803e4d0f643faef3263cc89550bddae7713e30be3a3fc18d0e3c562033bd65b0523e1422073f1663293c9c3534bd5b9f333e58f8a93e7997f83bcdfd1cbd29e3033ed768213ea1772b3c0b5912bdd60db53d61269ebc034b0f3c9876febc98532a3d9ad5dbbd8a0720be072acb3c0000000000000000c6502abe16f5cc3c00000000000000005e0907beb7db9a3c0000000000000000fc69e0bd5edf843c00000000000000009d0da5bd379c203c0000000000000000395c6dbd7c9a103c0000000000000000285816bd9634d43b0000000000000000658dca399171d4b800000000000000008d4c993b940d95390000000000000000d699bb3a0c77d7bb2cf3403c2596ba3b50190c3bac072abc5e62b33ca6e9d73c31a20f3b6e8cdcbbb9dab13c8f81eb3ca52dc03aacbbd7bb676fb83cc37fc63c2db8fb39a059babbea50b13c964e8d3c9642833a01218cbb43ed8c3cec2d563cad829b3a4750a1bb2a2e4a3c0677013c0aadc73a79c48dbbbd5ae33bf822d039ed77173a0f2a4bbb10b98c3b6092cfbb8b50423cd0940dbcf54e4c3b3607f7bb4bc9093c667522bc88e17c3b50070abc2053263cce4013bc2057dc3a747b1ebcf274363cc265f7bb8148493b400306bc95ea113c18a8d5bb97035a3b59320bbc4a9be73b86d786bbd483443bd1ea20bc933b593b7bb40ebb3f894a3be60417bc6e69fb3a6cd9acb94deded3af27e12bc13faf73ac49395bad3cfff3a037b99bbdc56373ca42608be33133d3c0a03d8b92b61b83bf74d66be1d6d213d4b0e94bbdce64bbcd8496cbec803d23cf5c917bbeee29fbc19de55be8eacb53c3ce142bb2331a3bc2ee52bbeee5b9e3cd10d6cbb52e081bca17104be7dd5a23c162fcebb72f3a5bb0654a2bdf8d69a3c4a21e2bb578e123cc6bdfbbc86ad863cfa1216bcf5d14c3c935bdb3afabb8c3c803a0abc6d03553b80a285bc1d311b3d9615a83fe06c853bf208a2bc9af65b3df1a09d3fd42dbb3b15fa9fbc44b69c3d2a6f893f5daa6c3b658c9bbc652aaf3dca825d3fd41f7c3b11088dbccf06a93dadc4233fa6b78a3b284486bcd7e2983dd674d33e2678763bcc026cbc48187c3da2ba423e4e24903b7dfb5fbc89753f3d3b6756bc9511533bc7eb1fbc887c3b3c57d5fbbdcb1829be03d7c43c00000000000000002b1427be6c77ca3c00000000000000002b1106be5b81973c0000000000000000ba76d6bd10fa573c00000000000000000faca6bdf388413c0000000000000000218a5cbd1ec0e63b00000000000000001f5ce3bc4d8e5a3b00000000000000007a9e2f3cb6d04dbb0000000000000000820a1e3b2c8f383a0000000000000000000000000000000000000000000000002931f3ba41ab0b3b2757ee3b056fe63c8faaafba4e841ab8655a4c3c271de43c60baf3ba3dde0b3b9fec273c21a4b23c053b9cbaf41f2e3b2bdb263c30918d3c3b1dc4ba746d293aeb62213c5090493c2e15a2bae2b32c3b9216ee3b9f02d83b29c0fdbacdfeb93a1bf7473b77625e3a00000000000000000000000000000000000000000000000000000000000000003228013c5374b8bb4f5510bb02f0063caaf0043c7e86a8bb9c1fccbaceb7c93b4541283cbe4396bb5e2087baa006923b83aa173c9d108dbb421923bb338a9b3ba6a4c33bd9c829bb14bf8abac43b893bc971993b21fdf0baee2fabba1b7c233b49606e3accb6163af00b05399a9c2e3b0000000000000000000000000000000000000000000000000000000000000000a3629dbc4cbc43bec37cfd3bd35f2bba66b6ccbccc4c45be2ca0223ca03f2bba702afabc18022cbe51e6c53acec6a137c1a106bda7f70ebe0a320f3ba7ab76b9f0b6cbbc8470d5bded02bd3b3fa7c8bad6348fbc7df785bdb1d2ac3b3d30f5ba669be5bbc48ab1bc8374313c7117a8bb000000000000000000000000000000000000000000000000000000000000803f5de9f9b93def093c0830a3bd7d2ea83f590567ba61c9f03bc91824bde67c8c3f16964ab981f9823b1894aebcd1f6663f73269d38518bad3b3f210abcad6d2f3f62401cba61a3973bc504adbb075bed3e1249b5bae521bf3b66bf51bbaf5d793e7a7e1bbb7ff8fb3bfc2bd7bb74570f3d00000000000000000000000000000000000000000000000000000000000000002bacd3bd4138513c00000000000000007be199bd3efc073c0000000000000000d78a81bd6bd0d73b0000000000000000a81557bd454fad3b0000000000000000d92129bdd7624a3b000000000000000090da9fbcea19ab3a0000000000000000f5f742bce9cfdbb4000000000000000000000000000000000000000000000000000000000000000000000000000000006305813bb0f6a23bd88454bcfb7fb13c8b42783be2b3013c7c927dbca2c4b43c5b28143b1166be3b1f4e8ebc0810b03ca347283b35daed3b98c198bcc0719a3c1610cd39e8d72b3c6de6a4bc09dd943cc9374db650942e3c276a8abccf36853cfd458bba9a864a3c850e8fbc11866e3c0000000000000000000000000000000000000000000000000000000000000000e83676bba4ad7a3ab455b63b391313bde2c786bbe6e386390870843b25b600bd0dabadbb974bed3a20408d3b7ad4edbce9fe3dbb2dda3c3ada03063bc840dcbcb40e4fbbb4335ab971bfa23b8ae3ccbcde62a0bb0085b13a573abc3b8188abbcd7ee8dbbd020153a5c78ad3b157a7abc0000000000000000000000000000000000000000000000000000000000000000220d86bd8c0f0fbd8b0f343b4fa13ab9c05a99bda7d4dbbcdea27d3a94f5ff391eae80bd326bebbc113a323b209446ba16e655bdd421c3bcc4799e37a7180c3924533cbdea0e71bc8e9bddbaece9ef3a48ee17bd426305bbfe912dbb3d94b83917dcc4bc338ca33b67c298bbc85bbf3a0000000000000000000000000000000000000000000000000000803f00000000c8e5de3b850d68bde0c3953f9a0780bd862ac53b92cb19bd756a7e3f328449bdfaf4d73b0457f8bc1d34533fc8633dbd8ecee43b42d5debc81a6263f8c8c3ebdb9cf983b7fd1bebc2c52f33ebb5931bd95acc43bed35cabcef61983eb34b24bdfd53e03ba8b500bda82e093eb9702fbd00000000000000000000000000000000000000000000000000000000000000003656cb3b92c51aba000000000000000062adca3bb5d6e3390000000000000000571db13b3bb1ac3a000000000000000096c8ef3b2c8cc2b90000000000000000fba2d13b01e461ba00000000000000002db3923bc080603900000000000000009f24dd3b331ed6b8000000000000000000000000000000000000000000000000cf01793c69f7d4bc5a169d3c545b2bbbe06a7d3c17828ebc83be303c37e95a3ce7a7493cbcb255bcd6b5f03bd0fe783c55e1533c2a4645bc4edc3c3bdbc4703cb79e213c066216bc994522ba499f513cbc3af83b2cc262bb910aaebb058a803cef4fd13ba64441badf95d4bbaf196d3c645a933b7a4f0c3bb7681abc24a1753c6660133bd611a53ad7abdbbb6843073c41d0753b4c2041ba3ab1653c7e5684bd1da819bb6356feb6c8677b3c136684bd9ff787ba983bc938f6a96c3cc54783bd1e9a22b8121c6339e942473ce9607abdab8286ba0a94133805ab723c25c172bd0fd326bbc908c33981f67a3c4e9867bdd8b638bb7232cfb8b2546e3c7bec48bd2fd5a3bbfabcd939e618913c082e30bd145e38bb0a52533a278a7a3c52bd0bbdd7aeac3cdd6d7dbdefb4113c460700bbfdcf02bd17b47bbda519043c0983abbacacf31bddfe482bd8c10d43bb979afba329412bd5c017abd2d74d43b081f08bb301cb2bc4b9956bd0a28d23be15771ba79d38abc5d2532bd53d7b73ba20a7eba68a5e1bb9cb2e5bc2639263b50c42c39829a9a3b4d602abcc43c10ba1785be396ad2cf3c84ef47bc5dd0533b1ab3acb9ca1d1f3cfd39c9bd48af953fd88a873d69820f3c5d96c1bdd0f18e3fb10b443d3115113c539aa4bd83ed7b3f58220f3d5d40143ca8f58ebd6663533f3a278a3c1cb3343c79d686bd7060283f4de980bb0822413c34cb86bd8160fd3e39ebbebc8c023e3c08ff81bddc34a63e2ecb21bdff21533cadf68abd4151243e94284fbd2b38673ced1085bd35132a3d7b4286bd1133e0bbac8bd6b900000000000000005286a4bbdb58ca3a00000000000000004ba128bbaabd08b900000000000000006165cd3a147d4cba00000000000000009e77583bffeb83ba00000000000000007117bb3b1f7f66ba0000000000000000157ad03b7397abba0000000000000000e565e83b21d6dc3800000000000000008cc9503cc99d4abb0000000000000000a3eaaa3c4f0e41bd9d73483d7952babc8418b93ccc403cbd3f34253db57a5bbc41c59e3c138125bd6b9d0e3df7376dbc9d7e9c3cb8c50dbd587eda3cd1af6bbb5192823cc4b2f4bc0c49ab3ca376d5bb9a1b693cc45ec8bc0a15563ca6ed4e3a7d7e353c47549ebc7a3f2c3cbaa752bb0563343c72f56bbc19b2c93a3f11d73b01fcfb3b1a6643bcbc90a43b2b6ab13ae4340b3c874db6ba11f08b3c5fd398bd916a203ce363d4ba9534ac3c179aa5bdfc8d0c3cc30ca6bac16b8a3ccc409abd344bbe3bd48d6eba240c9a3ccdc89ebd6b42c83be78d18ba9815973cbf1b96bdbb7d543ba808e5b97432a13cf95d92bda87b4b3bd6faf23824baa63c275382bd0edcafbaf0783f3ad9e7a93cdd6d7abdbca86dba6a44273ac766963cef884bbd1179833dbe8899bd908f363c2d9f59bbc8891e3d18aac7bd8208893ca8df9dbbf76b023d681fbabd8ce3713c384192bbd769b43caa6bc5bd02dd933cfa9485bb1e61043d08d7acbd79ea823caf5095bb75c5033d069d96bdb145793ca2534ebb7a382e3d98a070bd244b7b3c173a71bb0b05413dfa5235bd6f3c4e3c585838bb1651553de7dc04bdffed473ceade3dbb017a143c15a3bcbdca46793fd0786b3e935ac63ba856cebd1572753f28c1433ea0bf123c33a6acbd587f533f9cf5213e92c1173c01f0afbd69af3c3fcaf2e03dd2fd3c3c9832a1bdaacc183fc30d883da6a2423ca3fda3bd9480ef3e0ea2a03c90f1543c0f809dbd2c88a53e935f49bc0793813cef0da9bde64e4d3e87a276bde3ca823c117899bd0a12a53d76149cbda12cb6bcfb7c7e3a0000000000000000d09a98bccf7273390000000000000000b74c53bcb686d8b80000000000000000d038e6bb0cd6faba000000000000000072e304bbc49048ba000000000000000019ec943bb15f79bb0000000000000000f753d53b11a17abb00000000000000005cc76e3c28cf90bb0000000000000000ed045b3ca33457bb000000000000000016e5b13c409971bd3528893d876a28bd73f3d23cae5e78bd5c717d3dd4280dbd8fcfc43c31855fbdb4185d3dc192e6bc61ebb93c299149bdab3d3b3d1852bebc6e02a63c13643ebdaeeb1f3d9d269ebc16139c3cc9b71ebd6d94fd3c78b56bbc4b7e823cad7004bd43a2be3ceb4a1abc485f713c31bfe2bc7b8a823cc26187bbaa9d2f3c0feeb6bcdea4933c906719bc300b813c277034bb6573943c493899bd4b15853cfde35fbb2b83953c0f7aa5bde534783c74c025bbd10c973c3ec6a2bd28d74c3ce01806bbad46853c6df09dbd30933e3c4455edbadace9d3ce6ac9cbd4d280b3c10174abaf0e59d3cd57e92bdec7ddd3b1d4840ba0e30a33c41a58dbd2b8f3b3be78584b68fdcb33c04ad89bd6ce89c3bb1d468b9fd499a3c912965bddafcb33d26f3a3bd0a37233cf2b2adbbc096933d91fee7bddd0ba63cbbf19fbbefa0693d97b9f0bd2a12aa3c5e73cabb07805d3dfd62ebbdbcfeaa3c0635bbbb3c6c6d3dfe2bdbbdf7aeaf3c4342cdbb5b8c713d75bec1bd23e2b03c9a39c4bba97b823d05e7a5bd4937b13cb8e1adbb1fe78e3dbaa886bd3798b93cf4a1a0bba815933db78b53bd34a0a73cf558c4bb01f7cb3b6e4ba6bd5d67493f7e8ecf3ef762ce3b2f73b3bdc000453f2f0db73ea542e13b816ea9bdc3bd333f6f95983eb87b1c3cc3899fbd6dc41c3f8282683ef6e6153c375d9ebdeb87033fb8bf1e3e0d96133c99a69dbd528fd03e6cafb03dac7d3e3c9c90a1bda4c99a3ee03b8e3c1500633c4946a4bd1ab04c3e1c8b39bd777c683c8b9f98bd98f3d13d61b2a3bd288d2bbd43f66e3b00000000000000000bfc14bdc39191ba0000000000000000dd98f0bcede38fb900000000000000007d5b9abc4e58f7ba000000000000000023cb53bcc91df7ba0000000000000000932d7fbbc3915fbb0000000000000000eae8733b509c99bb000000000000000093413d3cc308d4bb000000000000000065bc1f3c622180bb00000000000000005ee1a63cc28b7abdc68e9d3df98455bd200ec33ca27e7ebd5e34943d0d3646bdf8e9ac3c9c7d69bd22ab813d187729bd2c41b93c95ef64bdda86753df7531abd124a843c9a5d38bd7ad7493d899a11bde3bc993c2db845bd22ad363d86cde8bc4cf77a3cd83216bdaa71163d00c4babc54de7d3c89dc09bd676ae63cf3f886bc7bb1473c8904f0bc59f6d23c680587bca9c6963cbe7d6fbbf1a6713cfbdb86bd9470bb3ca74193bb6e806b3ca22d8abdd1b9933c876254bb83ea5f3c895486bddc7fa43c7b4b1dbb5933873c6d598fbdb855693c3bfe31bb659d663ce4a478bdbfb9743cc17f14bb13ae913cafe685bd88921f3c3a2dc3baabb9953c272f82bdddfbfa3bb60fa3ba384e963c59367bbd1392fc3b9ae286bad8328e3c8aa35bbd4abaac3d87c29bbdc706fa3bdc16a4bbae2ca03d0410ebbd909a963c1ea1dbbb75d5833d6d95ecbd811f893c1efdcbbb02fa873dd47800bee6dbc33c611a16bcdd82843d4f02bcbd5b03523c178d8cbb8c428a3d9519d8bdd4e4de3c3d98f3bbf08d8d3de92eadbd649cbd3c5cfdcbbb8df4993d518b97bd6a55e23ceaffbdbb31ae9c3d2b496abd601ecf3ceee8d3bb7f80ad3b605d83bd5777183f8076173f9d728e3bfd5e88bdc01c133f4f8d093f8b04a33b766080bdcbef063ff741e73eb23cba3b5d0986bdd4e0f23ea1beb83e7b99043c15d268bd1439c33ea7a3873e91b9d43b94cc81bd77e4a83eecc5283ec780ea3b7c7679bd35187b3eb402993dada91d3c2bc886bd97b2323eaa5289bcc8633e3ca80784bd2d8ec53d4f8c94bd29f37ebd4f11953b0000000000000000ede065bda2f3ae3a00000000000000005ed035bd29edd53a000000000000000032d30dbdc3afc8ba00000000000000009ea7ecbce9707b39000000000000000002e365bccca2b1bb0000000000000000e5c1cdbb4d5b63bb0000000000000000479da63bd9cdf8bb00000000000000002012943b94b7b4bb00000000000000009cb58f3c8e9f52bd1feb8f3d320c4fbd593ea53ce19963bdebcf8f3d47165dbda7de9e3c6bcf54bd37e9853da24144bd21bc9b3ce2b74abd00156e3ddf692fbd976f8d3c87a73fbd473b5f3dff9325bd417e8c3ca17f2dbd09483a3df86e02bd4063873c934820bd1cfc253d9c34d8bce2e3643c6b2807bd7ace003d46a1a4bc0a68403c61d1e8bcdc0aea3cddb1a8bcf7a9b23cef18b9bb9ca32a3c69984dbd8eece53ce241b8bbc1fc303cc4ce51bd8194d93c0bc4a7bbcd93343cb0f252bdced3bf3c95a196bbbdcd233c1e6e4fbd5b0aad3c73aa5dbba29d493cbe4d57bdb4a29a3c37fe3ebb8a5d3d3c9a0050bdf989503cd509abba4da9443ca69149bd2eaa263ca91014bac4a0653c5db846bd4c8f1b3c4dd901bbb21a6b3c91e937bd1acf863d784a8bbd268d913a38705ebb63d47d3d5fe1ebbd0e6a853c5dc204bc4b625b3d6a2f03befff6943c6a9505bcb45f543d03fdfdbdf8ad983c7514f5bbdbe2643d3c06f2bdd659c23cf4b50fbc33eb683d32b1dabd9390c63c514f04bc6b37743d6b87bebda049f33c77e015bcae73873d68929ebd9533063d16bb16bcebdd8c3d8f355ebd5226d93c6831ddbbc6a0253ba77335bdadf7d13e768f473f1132953a909c3abd681dcb3ed3673b3f3bb2cc3af69e39bd8760be3e2d71203fedfe063b87f12ebdb6d8aa3ee5da003f7c74403be90c2cbd1ed0933ef81cc13e50126f3b77af30bd45fa743eaecd7f3efc7a893beeb537bd584b3d3e3b85013ed5a5cd3b607641bd112a073ed063523c6f89cb3bcfdb49bd2a28983d355b82bdd2fea1bddbf3ce3b00000000000000004a2f9ebdffbd693b000000000000000009f781bd24732c3b00000000000000009b2c4fbda692d33a000000000000000086de1cbd32759dba00000000000000008424dfbc6eba7fbb0000000000000000ea3473bc95728bbb000000000000000053dbb6ba7e69f3bb00000000000000003ebddbba1eb599bb0000000000000000fe734d3ce0b117bd3d76643d6ae635bd630f653cb6e91fbdde146e3d901346bd95ad643c4f411bbd6a2c573d29ba30bda734623c70d918bda17e5b3d58b42abd0f5f4d3ca9e60ebdf003413d31361abd691b4b3c278305bd3009313d5e4d06bda497283ca9c1f4bc65571c3d2fb0f2bca0e9273c32ebd2bc9931fd3c2c51a9bc3308163c7a8dbbbc7088e03c45159fbc11c4ba3c8332ccbb9c07973bc508ecbc6976fa3c2213d8bbf468843bca47e1bcdc4dca3cd5a1acbbd3e6943b7e87f7bcc355d43c85e2a1bb175b8c3b6877f4bce4efab3c3df176bbbfdda73bae41edbc6615963c7f2b67bb47f4c93b8d7affbcbb0b7f3c904a5bbbd602053cb826f4bca6b51a3c54c45cba43250c3c7c94f1bc19e2203c613cfdba562af83b16bee3bcc0c3143d756d82bdf9efefb98b1b54bb0293fd3cf26eedbd97cd4d3cf59103bc284ce13c1686dabdf01be73b2112c0bb5df6d43cf93bffbd3dc4793c34f601bc1f3ff83c7f58ddbd02bc8b3cd4b2e5bbe8fc033de2c6d2bd1b9ec53cb824fbbb5adc193dd2989ebd6b06b33c2059c5bb53be2e3d538291bd7b980d3d978f18bc001b423d8c6f42bd0872e43ccbaae9bbf3b638395d71c4bce0446f3e7e0a783f5c2e6139ebb7c2bcd5b7613e0e1a6d3f32c1653abf14c7bc56a15c3e0b4d453f5eeba13afc83c1bccbce483ef911263fd70c80ba096aa8bcf4282c3ed81df93ef26d8d39c6e3b7bc4963113e6c77ad3e3a91b43af283cdbc7d25da3db4ca483e0dc33a3a9b75cebc63059a3dd0bc303dbb9e3f3b34f9dcbc8e5a253d45345abdf1e3b6bd18cdf03b0000000000000000b548c0bd1201c63b00000000000000000b7b94bd14e78e3b00000000000000005a4580bdf9d6223b0000000000000000d6574bbdfb9bb3b8000000000000000066ee19bd4cf5b5ba0000000000000000c40be2bc069210bb0000000000000000fd2717bc4b4fbcbb0000000000000000af27d2bb2586a8bb00000000000000001dbf863bee355abc2338013d5a0502bde4e4893bd6da55bcc6bc0f3d3d7904bd2a429b3b31a681bc1f63123d0db2fcbcc2b7c13bdbb781bc2aba0f3d9f61f8bc23729b3bf47985bc381d033d29a0f2bc8e0db43bec866bbc6f4bf83cb8b5d7bca33cac3b703b73bc3feee43c79f9a9bc00e6503bd2e033bcb678ad3cbc1465bc50fe6f3ba03e41bcf559aa3c4ae283bc9828b23cd44bb9bb39a3d23ab39c1ebca7c4ff3cb692e2bb28b9ccb989469bbbbd02dd3cab8cb6bbd39a5cba380fbcbbd637d13cfcfd91bb952522ba2e8c0dbc92daad3c88267dbb8fcf963a55de09bc08019e3c0a0e80bb239bbcbae20813bcb894623cf98de0ba5d83773aa6c8f4bbd7de193c0be683ba38be2b3a7df0afbbc582083cb7a0e5ba3cf14d3b846408bc29cf93bb9ce75ebdc96c2ebc7f601ebb3d98d1bba432f7bd1a90fd3b7e61f2bbd1fc0ebc4a5e00be44e5543b870ebabb98b50bbcacd3f0bd3f70ca3b0491ebbb89b28bbb51bccebd3e3a083ca43fb6bb6cec95ba8903bcbd9fd97b3c2635b9bbeecfac3b985e9cbd8d79ac3cae62febba3bc2e3cf30a70bd286ef73c609d00bc21ba993cf63105bd6be2c93cd569cabb361404389becb5bb88be873d5653953f029fa23aa4e903bcb33c8e3d616c8c3ffef2e73a82f3c8bb443c993d0841723f883ca4b9984783bbbfbe963d6578463fb356fbb9c42c77bbacb7823df053183fa62fcc3a311c9fbbe3b7543d0bd0d63e94f0ed3943abbabb4b1b163df76a773e10b29cb98e7c96bb6bdb9b3c63b48f3df9f90e3a85edf7bb22fc07ba62fd1ebdfc87c8bd4e7b123c000000000000000066f7babd1607db3b0000000000000000f8ee9cbd03a0b43b0000000000000000e6ad85bd6839673b0000000000000000b0c45dbd8c0e843a0000000000000000093b3abd631d1c3a00000000000000002aa5fdbc904ba7ba00000000000000005fe47dbc7e07b8bb000000000000000044468dbca7a750bb0000000000000000000000000000000000000000000000006928bbbace4d8d3bb0ae883b941230bcd786acba061c753b847dd53b2cf544bc092629b90868db3ad3a0ee3bc3b864bcfa3d36ba59b0913aeefae33ba55a7dbcc953aaba984d3e3a22de0b3cd1015dbc18fb58bad168163ac941033cfffa34bc8f16b2bace4f133a98db0f3cd83f23bc0000000000000000000000000000000000000000000000000000000000000000ef068b3c173058bb120e65bb64b9313cc076903c1f2235bb0fcd85bbb2f6073ce1aa6a3c766613bbcea88cbbd587043c26fe6e3c733921bb967156bbe278013ca45d333c52ebc2baa62001394975c83ba1941c3cfec4b9ba8b3b49bbaa17e63b2997d03ba0cc09baf65100bb5b48093c0000000000000000000000000000000000000000000000000000000000000000e95003bd9c1e9fbdbc0185bc298edcba4959f1bc8bd7b0bd18ff28bcb32461bbb1cde0bc754a9bbda27b3cbc8691cabae6aac9bcebd583bd460300bc740226bbce45bfbcbfe95bbdf92c34bb83e7edba0f2e9ebc66b42dbdcb36793bf09060bbe57b64bc354ddbbc52571d3cd2a380bb000000000000000000000000000000000000000000000000000000000000803fc5ccd03952e7c33b675b4ebdbf2d953f6fc76d3ac0dfd63b2704f6bce5507c3f07c99639794bd83b866cb4bcd5ab503fb33b4abaf512043cdd6ba2bc18e2233f240da3bb2bea1a3c477192bcbe6bec3e77a2babac6670d3c70ca8fbcb3a4903e3193d0ba4a7a183ccbe5c5bcd16dee3d00000000000000000000000000000000000000000000000000000000000000003a0881bdd36ece3b00000000000000007a7342bd5fb1963b0000000000000000ef1c2cbd9bae7a3b0000000000000000b9161ebdf1085f3b000000000000000015f307bd221f983800000000000000007d19e0bce23d9f3a0000000000000000a2abcebc9470ac3800000000000000000000000000000000000000000000000000000000000000000000000000000000dc0836bc88728b3ccd50423d04b6103b0797eabbf374a23c8e59353de5c4753b6b5023bbc076b63c632a203d1c75fe3bc32217bb19848e3c6792003d125a8c3b9f1779bb98928c3cc12c9a3c02bc603bcc2e0abb0dfb2e3c3e673a3c26e6273a521078bbc5c5af3b6d89123ba4a93dbb0000000000000000000000000000000000000000000000000000000000000000a5e77dbba65b9fbaf7fbaa3b1f880c3cc13ffdbab59bcfba3df1c7ba67679bba589c1a3ae0f843bbd3343dbb4b3377bc2c71423ba06103baef0194bb99f64abc9ea4903a1bf77b39e159dcbbeae61abc05f7f53a811683392fd200bc9704e6bbb91df8b9d7fa473b14361dbcc806e03b0000000000000000000000000000000000000000000000000000000000000000254c7fbe1dc8ce3c3c1ca73aa4a537ba865471be10b96c3ca0b7983a8b00e8bad36f60be51aa3b3b6372a33a97cda2ba130a36beb16a2a3a5cc53ebb37f3c839b112f3bd98f4ecba68c0d4b934fb88bac3417bbd4c069abb00b583bbe9fdbc3a7c1331bcae3786baf00c57bb3544b03a0000000000000000000000000000000000000000000000000000803f00000000be059f3cdd34f8bdf851ae3f987f00bea0a81a3c640a89bdb1a78f3ff9daa7bd9d93f63bbf6940bd1417713fa2688bbd738d5a3b0856c9bcb521333fce7236bdcafff43ab41296bb54ade23e23febcbcf8e0c03a3b572d3cbd32593e0eec9d3a65bae73a771a893cfdc34fbc10d89d3c000000000000000000000000000000000000000000000000000000000000000037a1bd3c21d5c5bb00000000000000007763823c102acfba0000000000000000ea56213c7a1cc63900000000000000003cfb1d3c5486623400000000000000001b14c23ba286af3800000000000000005111dc3a43877eb700000000000000003ae8d6394500adba000000000000000000000000000000000000000000000000e9243ebcc151353c5f1fc03c9828373a1fc768bc25568c3cf7b0243d7c8ed6bac85613bc4831c13c5dd63b3dec65e83b262bffbb6322da3c8b04223dc5cfd03b04cccebbe87ac83c1c53fc3cf81ce13bd0bfbbbb0c92aa3c0254b03ca0e8bc3bd49f03bcbad2933c12d4103cc7b49f3a59380bbc69455c3c8b7992b88a84b4bab69e3bbc0099fd3b7979dbbb833f78bbbd9cc6bb1f57ceba2a68793cbd2ea5bb6ae829bbf140d4badb60633ce8818bbb74ffd5baed6078bba6da613c7409a3bc1d823c3b0fadaabb7210073c7127acbc9652c23aae2871bb574c3d3bcc78a6bcd36a193bc59727bbfb668eba77815abc95f73c3b43c6f2ba96233ebba332dabbfb33ff39a93cdb3a7f33acbbfb2ec2ba259c0bbbd2e6643a5ecc94bb77d1553c311702beba98873c14f72d3b5a7768b987a03cbefe88903c801aaebbc9ac463b9f1669beb061d53ad72f50ba1e55db3aeb4d5bbe6cb531bb4cf036bbcec42a3bd4c82fbe739806bc0bce41bb7fc7fc3a4aa9f9bd04f141bc42588bbb3f4f143be49980bd069119bc778c10bb4fbfb93af72270bc6d32d6bb3b05b3baf50b053bf9c0a33c9022ad3b7252d7badd2fda3aada1403d244c67bebc77ae3fea7df8bb7660183d4e143abe218a9b3f7ae0543c699bec3c595b22be46c0913f51955f3967ceb53c6a3403be05c5723fc698903ac236a73ce6aebebdf26b373f813ad23bcd3b873c671679bdf2fdee3ec9718f3c33b3593c05e90bbdcdca6c3ee3beb13cdda12a3cd969c4bbd9f93a3dc48ee93c6463803cfc161dbc94aef3bd19e5943c441e67bba3ee84bb0000000000000000a9dd08bcf4e94eb90000000000000000c5bcbebb1de9683a00000000000000000d47a4bbf4d28c3a00000000000000009a21d6bbd1765d3b000000000000000071c2e4bb4ecd953b0000000000000000d11011bc69ac353b0000000000000000d9c957bc16ac903b0000000000000000b6e6aebbcbee743a00000000000000007bb870bb013da33b56688b3c611b253b0bb3e8bb29fc813c0b22f13c9faa1e3cfb269cbb671ba93c88990c3dccb24a3cb9836dbbc121cb3c7fd2053d52f8463cc0f719bbbcf4ac3c0631d53cc51d173c1c1fe7bb793fb63c1dae743ce580063c47410fbc03259d3c834fed3b6b30943bdcb54dbc69cc8a3cbfef58bb3354573afb58ffbbfe4fc73b1e81bbbb6fcfffbabc7d78bbfc1131bb4379903c869ceebc3b4c61bab00dbbbbc7cea03c6d6802bd8b4e973ac35001bcea57933c60640fbd0e2d803bb43dfbbbbd786a3c701c1bbd4a85423bd8a6b1bb2dae1a3cd9220fbda3a37d3b553995bbbe22dc3b6ad2b7bca4f1443ba4ad78bb8bd0623bf2636cbc7c652f3bc60ea0bbb226123bb6284fbb20c3143a0dcedcb9628aae3aa027883b1c4454bd00d896bb6bd325bbb14e1e3b52a813be5b4486bc36aed1baa065ad3bcc5f38becdfab6bcc991b4ba8fcb8e3bdabc34be01c8b8bc5e9781bb9f7a5c3b59af13be883bb0bc86c7a6bbd3669c3bdcf8d8bd861b8ebcfff4b2bb161a523b41af63bd269e44bc463390bb18dd373b404085bc60504dbb7c7b1fbbc7f6353b2c35203c94b0fc3b62b227bbeb27cb3a626f3d3dfbd459be763d8f3f674c4b3eaa483a3d34af61be115b913f219b2d3ea24a183d4c3a43be49a6853f7137063eaa23f93c7f7026be15b7623f146fcf3ddf46e53cc7f303bebefd2d3f0deca23d134bdf3c614ac9bd0166ee3ef95f733d3f59b33c140587bd6ea27c3ebd4b233d6315ab3c35772dbdd1238f3d4722973c349a8f3cfb1ef1bc97c323bdae9d8abb851644bd5823d43b000000000000000014c245bded15db3b00000000000000004b2f1ebd2cbc023c0000000000000000aca6f1bc2218023c00000000000000003559ccbc0ff6f43b00000000000000005affbebc304e123c0000000000000000786d84bc1a3ac73b0000000000000000808884bc54e2cd3b000000000000000087ba21bcd0d6943b0000000000000000975ecf3a18b9abbbd413873ce8dc123c776423bb13c9113c44a5e03c4be56e3cdb7460ba06387c3c917afd3c448b963cd1fff5ba12008e3c044dde3c465a983ca4f6c7ba1818ab3c92d3aa3cbbcf7c3c686252bbd036a03c8525523c779d2b3ca17ac7bb7222813c71bd6b3becadd83bef5415bcf2ba723c03b3f9ba151b1b3b3a850fbc189c133cd827cdbbcee0b73a5add4abb757187bbcf31b13cda7d2dbd45e3ad385cebffbb0f7ab43c188a26bd5b661d3b5fd20bbca971a63cfb7a3fbd3bafb23bdae302bc225e9a3c6ff842bd00eaa13b35a3eabb18b38a3c865829bd961c9c3b027800bcf24e293c0efdfdbcb351ad3b155aebbbac9f123cc486c4bcf58b113b871fbebb55fbc13bb6c606bcef9a493ae01a65bb438e793b35172ebb7545afbcff380fbd51ab073bcfa4983ba372c9bd452e5fbd8e6cab3a4090d33b413b09becd9084bd66b4ef3a57616c3b69d405be1c0d74bd28f578bbe16eb43bb7bef0bd7e023fbd6e026dbb22b1573b2b35a9bd973709bdfa5d8ebbeff05c3b245932bdd3da8abc80fad4bb0b5b983b638467bcae0893bb130d54bbc0223e3b19c7183c10b6353cc32579ba60c7a337d4441c3dced247be91856e3f014cd93eead42d3de85f52be14c36f3f0bc7c73e97df093dc5c13abe7cc45f3f9df4a73e6d7dff3c85f420bedf95403f6e377f3edd2dce3cfa1509be5aca1a3f5579353ebf71bc3c38b2d5bdad6ed73e7f7ce63dbdccbe3c81579dbdd70f7b3e09d6623de098b53caa9264bd48afc23da0df053cc892b43cb26235bdaea5f9bbe3d514bd5878cfbd218c853c0000000000000000c8dccabd97ae943c0000000000000000b6eea7bd75f8983c0000000000000000a9ee74bda671713c0000000000000000ba753abd26a65e3c0000000000000000449205bde4b24c3c0000000000000000873ccbbcc7523e3c0000000000000000fd9e5ebc1b73213c00000000000000004e91e5bb583e983b0000000000000000c715333b6d0414bc7b1a803c8f5b6e3cf254223b567c21b9a64ebc3ca531b53c176a203b0749df3bf075d23c9517d73ccbc27c3b4b233a3c908dac3c7029e13cd6187b3b5b42173c5aee883c13ae8e3cf1b7c03a6a56663cbcf8193c3927883c74b31ebbcb762e3cc44f843b8dec193ce85793bb13c22d3cb358cebb93549b3b191298bb4922b73beea1c6bbed23c03a736881ba430f93bb0d018f3c02b52fbd559b00b9b774e8bb2267ac3cf70c35bd6b41953bfb3615bca686933caf3941bd3a7d483bd5611ebce0fe8b3cdc0c3fbd629f8c3bdd2ed3bb51e3733c17813abd3848873b858b08bc55c0493cc1fa1abdce265c3b5f4317bc2151303c518adbbcd082143b7055dcbbf427f73b065b71bc8ba8e5ba31b3a2bbc07df93bef4007bc278d6b3b50d686bd7b036b3b487dd43bc5505abd454dd3bd9dd6fe3bbcd3003c58e1aabd9fd7e3bde662a23b9633b83b4750bcbd7e97cfbd503f2a3bea4ee33bd62196bd3c2a98bd522981ba29b3753b868682bde39b41bdd8c4a3bb833d763ba61f0abd669aa1bc15f88abb4ca2543b4baf17bc22019b3a9068ddba5930043b0867463cf483363c3a45483b876ff63a454ee83c9baa1ebe08db303fd0c82c3fb6e5f83c671626be33ba323fa73c223f1589d13cb56514beb460283f09490b3f8cb5b43ce5f509be47f3163f1845d73e3e65943ce586d4bd7415f03ee63f973e18cdac3c81d1c6bd79deb83e8ee9323e09a18c3c9e6a92bd1dfa623edf03923da9fb973ca7655dbda3edd93d5cb023bc22658a3c23dc3bbdcc1aa53cdad785bdcf1e1abe7ecdc73c000000000000000033c514be376ad53c0000000000000000a529f9bde2abcb3c00000000000000005984bebda2a0a93c0000000000000000ad0586bd2573913c0000000000000000c6f638bd4546973c00000000000000001552ccbc14e1543c000000000000000024bd3ebcd874233c000000000000000016d9c0bb02211f3c000000000000000077e47a3be8d820bc8bca553cc1ec5f3cb840943a40bd72bb3d00953cc933fb3ce6b85a3beb0c813aed5d9d3c3b55063d536aa23b411e073c15ad933c4bb2f63c1d4c243b7224ff3b0288593c9355d53c0599523bd0722a3cd349c93be2e09c3cd6153a3a6d98433c5150b13a3d73533c8ba595bb87df1e3c929e6bbba371f13bd9a524bad67c203b558300bcdb4d753bb7128bbabc5e8abb9c3e5a3c909212bd319eca3b55fa37bcf9fb893ca7431dbd2c32e63ba2ca55bc03ad713cbefa18bd095e323c3da440bc0fcd3e3c2b3527bd63d1f33b95c015bc546c5f3c13721dbdce3eb43b3a1b3ebca441373c507b0abd05169a3bab7e17bcfa6d0a3c7241cfbcdf025e3b64a33cbcf6391c3c068393bcaeadcd3aa7240fbc17e7ed3b13ac1cbc63a0c53c3d4ebebd54f0fc3b00e5073c27d9a8bc3c0f19beb6ab733c751b103c1f833cbd74a225be54653d3c2635033c3e8b66bdc31811be277de23a44f9d23bbf3b71bdb273dcbd8c9d153a9b286a3b54e33abd0d0f86bd25f390ba8197373b6e3d02bd4e91dabcc4ad69bb4eedc03aa9e438bc531816bb2c37f4b908d31fba8e96f73bbab9833c82f2283b8f1b403a60949d3c238ecebde200de3ef9eb6b3f4b72913c1ddbe2bd2f19e63ec94c613f7eae9f3c6d6edcbd22e6df3e345a433f3e90803c7344c4bded49cb3e95491a3f3240773c648ab6bdf958b13e2e34d93efe0f5e3ca8f798bd71f68b3e61907e3e81e04a3c50cc79bd25ad413eada4c93db6a06e3c32b33fbd4e9fd53de6566ebc2b1d2a3cfa3416bd1f8c133dc491babd1ddd42becd36073d000000000000000012c347beb71e213d0000000000000000bef223be7a9e0f3d0000000000000000de82f8bd4e11013d0000000000000000a15ab3bd25f6d53c0000000000000000cb2864bd1486c13c00000000000000008692e1bce757923c00000000000000008ebe10bcfab3743c0000000000000000ef90a0ba971d2a3c00000000000000003a291a3a030626bc1b65063c7a8f943c1f5c103b18aa72bbf5ba3e3c2a89073d8c5e963aced2503a8794713c490f243d4db31c3ba7e2b13b5ae75a3c7cd4153dac45583bb8b7f83be6b6233c178de63c0e88593bec7d333c19777a3bd23dc13c7e1acc3a436def3b3e27193b7031663cb5cce6ba937e223cf0ec9dbb6cb8f13b9f001bba45e36d3b733eecbb52f2a43b9454633b2c9f18bc1eb8293c042ec5bcc58f163cfa3867bc3a2b253c3690cfbc7375353cbb9b63bcf561fc3bdaceadbcbe8e4c3cdab653bc14fefa3be25addbc590c0a3cbb403abc1972c53b0051d0bcd21cfa3bf0ea4ebc48b5bc3bfa7ecdbc03f99b3b1af931bc2445cd3bf2b9aebc9ff31b3bc02725bcc6a1bf3bb23064bc073b383aab81f0bb09eb913be3361fbc6cfd013d277bdebdd8209b3ce00bc23bd1479f3bd18a40be4d26b43c8186f03b2432b3bc55f154bec4e08a3c7430be3b882f02bd654c3cbef251083cddfba63bd5ff0dbd55b40dbe3478483ba20c3e3b985a0dbdd3b6b5bdd2bf2d3a4e7d9db94f2dd2bcc43624bd4f4241ba9969c636191745bc4e9162bb9afcc039287e26bb930eb43b142d8c3c4b15403be57d42bbf054e03b0ae948bd29e4543e42b98d3ff7a5273cabf768bd20d75a3e63558c3ff04def3b716a62bd84575b3ed3f3773fc747e13b1c914fbd42ec533eec89453f026dd13bf59742bd535a443e67570e3fd957f93baff739bd2e76303ec00caa3e1cf4063c12be18bd4a95093e947e0a3e97af173c963b07bd2ffeb23d010768bc7cfda13b9e4dbdbc2601223dc648d9bd753d56beea75253d000000000000000030245abebfd1363d0000000000000000c42238bec150203d0000000000000000ccf30dbe76cf073d0000000000000000e743c4bd87dff43c00000000000000009f4766bda116c73c0000000000000000529ad1bc28f0913c0000000000000000f472b9b960c4623c00000000000000003b95203c46b4073c0000000000000000bbe10d3a128901bcc1a2a93b6e7ece3c95d3a339ff1484bb9475c73b3620313dc74e86ba68340d3b3802473cf30b3c3ddc20a93aa255823be28e163c60de2e3d6e60543ae7eeb73ba418243c3ca4063d57ebea3ac299fe3b18ccb53b858bc73c54fe0e3bfadbfa3ba2a516ba9eb7723cd0e9f9395657f03b55b11ebb41a7aa3b62dd0fb9161be33af38fa0bb9262d33a86f1cb3b46de43bcd4852d3bf6fd90bbbf50b53ba3567bbc1709a13b93982ebc4b9a3a3ccdb946bc9b3b293be2e429bcd860433cad0b24bc8903ef3aa7373abc83af1f3c23041abc2268483b278c5ebccbde003cfa500abcef9bef39cc426bbc7b998b3bf811fcbbd464563a80d439bcf9fd0d3b3af8b2bbea44433bfe8e21bc4706bfbacd42babbee8493398576adbba360bd3c083d23bef2a8fb3cda3c903b674d5f3cb86257be8bc91b3da86a54b9485224bc94e276be3215ad3c50519d3a68398dbcecce61beec3c703c3fe94bba92a1bdbcbc4a2fbe73eae93b7106ccbae4c9c3bc985ae4bd216ccb393267f6bacf2eafbc2a1b4abd890787bae98282bbd8485bbc63638cbbf640c8bbd83c25bb9a07313b195ad63c7009a43b97c080bb96fa81bbb74b9cbb001e92bb85f8ad3f965c70bb1ef756bcfe4d273db784993f636256381e7474bced693d3d32598d3fe0fd0bbbb33e86bc73f5723d9178653fd8a309bad5f476bce631893ded75273f7d13753a8e157bbc97e9923dd042cf3ebb233f38f2da68bcf89f8b3dc956343eb4b80f3b37aa79bca20a6a3d6b7afe3bddf58b3a9fb492bb1beec83c9a941bbeceda65be3a1c393d000000000000000053593cbe0e042a3d0000000000000000570b22be1713163d0000000000000000f3d4f9bd5efaf73c0000000000000000b4c3a6bd9a64c33c0000000000000000311631bd863fb13c0000000000000000a7f948bcb4705c3c0000000000000000ea15923c0758633b00000000000000007d8dbe3c53798b3b000000000000000000000000000000000000000000000000660958bb15700dbb05cbcb3b0549393dd6d4edbab92ba73a361b243ce98d2d3daf1373b67b494d3b1b8b313c2354193d4bb158ba3041d03bcc90de3b4a86e73c90b3d93ad18ab33b2df1b63b430f9c3c4706d2397a05a23bc50a493bf7844e3cf2a6cd398b50553b9fb34dba502a3e3b00000000000000000000000000000000000000000000000000000000000000004cb5173c153a3abc7c116abb0d3a4b3c0323113c38e003bce1a5f6ba5f05b43b545e363ca4e7b5bbd1858abb42c2b13b98d8063c7ddd98bbb8bb77bb15f61c3bbbd7d53bf3a457bb4738acbbeda929ba4a0caa3b129858bb2da84fbb6b1f11bbb3c13c39c175ddba9fc405bbb68301bb0000000000000000000000000000000000000000000000000000000000000000cdd0f13a102d7dbe21c6ef3c9323e2ba03751fbc50f16dbedf5b913c51d495bb8ae3b4bcb96d5abedd07ae3b50b23dbbc75dbabcb6c92ebea7845e3b032da2bb41dfa4bca0c2ebbdcdae0f38e128f1bb535f90bcf66c67bdd7bdf6bb55cbecba69cbf0bbb98192bb65d2dabae31a90bb000000000000000000000000000000000000000000000000000000000000803fca6e0ebcc73a9a3c63b0ecbd4a60ae3fb62becbb99c13b3c46867dbd2814903f5ca4f6bba9350d3c2ae537bd0219723ff134a4bb8066933b7c02d1bc5d48343f54c68abb6a00093ce82619bcaa2ae73e7c818fbbe250a63b645aae3b86a2603e40109ebb86a01a3c6a0cf13be31811bc000000000000000000000000000000000000000000000000000000000000000024cb04be91add93c0000000000000000f624a6bd59d39d3c0000000000000000b54487bde7e18c3c00000000000000008da02bbd746c803c0000000000000000e9fb98bce3d43b3c00000000000000007d3da83b8192ac3b0000000000000000c284a33c4b34e23a000000000000000000000000000000000000000000000000000000000000000000000000000000009d5840bcce86a53cec152f3db4ebb5bbdbb017bc1774913c7ddc453dcb62c6bbe12908bc7df3a13c92442f3db4180bbbcbda12bc4de1a43c912a0d3d890bbdbabf10fabbbf2c7e3c4664df3c89db5bbb782eefbbe7fb603cb7157b3cd24668bba798e8bb9d26183cbfc8933bec6dc0bb00000000000000000000000000000000000000000000000000000000000000009e5639bb19e8a83ba3c5403c40c5f7b94039ebba9c30b53bd331cf3bbc97adbaf39a0ebb71b7a13b1ac0a83b1dd4babb745a90b9ebf99e3b91a12d3b600bc2bb1e4794b97365ac3b27c52e3af6ea3abbd96c383a91dd693be2789bbbb0ac6f3b57fa2c3b4ecd6d3b7743c1bb7d00413c00000000000000000000000000000000000000000000000000000000000000007cc47bbeb0e42c3de6cc73bbddfd87bbaf3577be8437153dd5b637bbbe885cbb331467be9f5df03cbe3d1cbb59a284bb0c1d42bed295ca3cd8fbd9babf229dbb41f709be6825953c116f9539a41c9abb5061a0bd65631f3c89f8653ad71a62bbfd29d6bc1b15e43b24bcc939385220bb0000000000000000000000000000000000000000000000000000803f0000000001226f3cae29e8bd31cdae3f9cb6eabd2bdd2a3cf4f48cbdfd58903f8d7c9dbd4502193c258169bd8785723f4a578cbd823f1d3ca5c927bd25f2343f72bb40bdaee5183ce754d5bc21c5e83e95f1ddbc98dd133cc41b40bca08c5e3ef3e33e3a56b9283c73dadabb2d208bbc395ab03c000000000000000000000000000000000000000000000000000000000000000041c2413c23dfc8bb0000000000000000ea61d03b8c02b4bb0000000000000000fdbcc23b748f9abb0000000000000000bade6d3b065b87bb0000000000000000efc2bd3a3f6449bb0000000000000000d44606bb229229bb0000000000000000cfcf66bbfc2369bb000000000000000000000000000000000000000000000000a9c76fbb5e81383c225a183c8759903b36f329bcf544613c087d0b3de88e81bba25002bc0146803c79601c3d4a67083bfdcc13bc1e85a83ce7f2103d04d8683b38f405bc0d1c993cd34cf73cf588423b5f8e49bce4159b3c424c903cd8559c3b014751bcee47a23c0ed1d33becf8763b575a69bced35893c28f129bb34f1c53aca5848bc98876d3c21dd3abcee18dfb91b9201bc2bd4af3b159fc53cddeb10bd7fe5cabb2421cf3b6aecb43c81e2a0bc0272f1bbb80dc63b4f2cbc3c347fdfbc2dc1debbb6bfbe3bacc19a3c1cffc3bca518a1bba222973bab9c7b3c4315a6bcb21c9abb5b25ac3bc41d583c04a12ebcaedc9abb45e99b3b9ef9f23b5aa214bb186d87bbe5d89e3b6e832a3b1b6ef13ba9a54abbe564783bd95a3b3b3ceb743ca151cbbdd038c33bd9bf4dbb959067bb9ef62ebe615cae3c565601bca290d0ba617b51bea1f95e3c54c0a2bb418d8ebb77504fbe7929603ca70f6ebb069688bb8bd82dbe2ea2343c1aa68cbb605a82bb3159ffbdd2eff43b149269bb23af7ebbebe893bdcfff973b08a8e1ba95658dbb5bfdc5bc186e3bbbbc40783a6ec891bb23ebcb3be7bf2e3c085433bb34ee4cbbedaaf13c47603ebef4e5b03f2d0ebbbc75bdd73cc91121bec54da03f68f19cbca352c03c491f12be5457953f636f0ebd1e13bd3c7a9a00be68d57c3fcda70bbd6585c73c91c8ddbd8a8b443f3e2601bdb3f0cb3cf374babd7f6f063f9943b4bcf9bad53c549e95bd5d69933ea85048bc8357b63c0cf945bd683ba13dbf440a3c922fd73cc09961bd4339a4bd6b8d983b308229bb596ddcba000000000000000065b715bb5bcfc3ba0000000000000000976267ba608079ba0000000000000000781130bae57bdcba00000000000000000d82c3ba7e7d4db80000000000000000100d69ba3bbc16bb000000000000000077219abacfed53ba0000000000000000a571c0bbeabaef390000000000000000cc841ebb153ed8ba0000000000000000cbe2013c87833ebcf886be3bc341293c68219d3a1fda6f3b9586883ced6b7b3ce1b2d3b9093be13bd218b63cf98b6e3c00f94bbb9fd84b3c7bbca03c1c23953c199a93bb5fad673c822e5c3c0a53833c76f302bce667923c2dd2a73b6ecf813c070e31bcf8a09b3c0469bebb7481433cbfac76bc4ac0a23c039958bc3eac3c3ccb9e42bcb767603cdf9a98bc2c8fc43bb12c52bc704e8f3b47d2dd3c348f7bbd48d350bc646b943b2b28f63cc5c072bdcd4734bc059b5c3b9f0ef33c650d60bd180d4dbcee24823b090fe73c7d584cbdecab3cbcbea88c3b7eabe63c0be434bdcbda2abc38f7743b921fbb3c3baa07bd49b321bc7bb55d3bebc1a23c97c5adbcd5510fbca2c9863bd354833cc340b9bbc2de06bc40c94a3b9a58853c2ab468bba521103c623b31bd52cfe73ae92cd2bac590acbd7d5a11bd253076bb90caa1b9930cfebddffbe7bc7a1f19bbfb99e2ba85e307be8a0ba7bcd9f49abbab1002bbf165e8bd18056abccac3a1bb98bb2abba5d5b4bd14afafbb89baf2bb33e76bbbb1b33bbd86ad12ba5e26e2bb617134bbf93378bc629db53b735404bce5d897bb9fb4893c84042b3c9576ffbbbcfbfeba6d80e43cbe8f20be56df8f3f9bbc1d3e0187ff3c82ac2bbe8fce933f7af3c83df9b2db3c28d21fbefeb6893f33d76c3d12c0dd3c558c15be9166723fdf55903cb6bde43ce93008be8cab443fd53b17bc7680ea3c8c03f5bdf796103fbff4debc6588fd3c393ddebdb7d9b53e1b0e2abda8d9013db3e0c0bd69692c3e2e5033bd71b3e13cc562a0bd1282353d56ee4dbd38a9d1bc1c6c5e3b0000000000000000af06a3bcea42473b00000000000000008ac441bcfb7b5c3a0000000000000000b2f9f0bbc0c9f33a0000000000000000a3e517bb8cce033a00000000000000003ee6fa394bee1b3b00000000000000003d61b43bf87e853a0000000000000000c209693b3278263b00000000000000008f08a23bc6a15c3a0000000000000000d1135b3c55c4d9bcd6a2163c09358b3cf3560d3c21bf63bc1ace503c45c1df3c2fcadb3b862ac1bb7e0e7d3c7c7ded3cf719953bbfec41bb4537573c4dfedd3cc122d93ad814243b315cd13bc37edf3cc46b0abb130de03ba5c5f2ba9540c23c9d63f1bb0d82343c3ce526bc19cbb43cc3d42ebc05d0723c7a0ea4bc3d298c3c8febfebb8c81433c3ce2acbcc8c5543c35fd62bc09f67c3bfb74d33c78229bbd87898dbc62f7633bf6bce13c0af48dbdb72f85bcec57e63ae7ede93c000387bdabf682bc0afe393b2e36f23c234d80bdd15f83bc061d563b2ae1e73c2cce69bdc45f51bc9eb5573ad901dc3cabf43bbd3c8e7abc17061b3b47fbd43ca32113bd4a616ebce217473b460fb73c57aebabc60c440bcd958993a2df3b03c6314afbc5a64953d63ffd5bdee261a3c681119bb78b214bc8a34d0bd41f7df3b3076d3ba95e356bd71f7babd1e24693b0e6700bb3d4382bd00668cbd4c6681ba88ecd9ba4d067dbd135b4cbd74a2aebbca2932bb782734bdf1c301bd951eecbb40224bbbf11678bcef4379bc37552abcdaa888ba9d7eae3bc8e57db97a3034bc94084abb1d52133ddc36053c687d29bcf99a8cbb13b0df3cb15b02becc36683f5e69b73e38bfe73c6ffd10bef671703fe65c963e9501da3c48ed0cbe6abe663f77f7563e11dac93ca42b00be0c82503fa434f43d1b20df3cfd80f9bda293323f15e1323df421dd3cc6adecbd40610a3fa8365fbce099e63cfaced3bd1c51c03e31e57dbdab6ae53c7c9ac2bd9eb6663ed4d7bfbd34ece63c334fb8bd3f1de83defcdf0bd155e5dbd432f023c0000000000000000672e44bd4aa91a3c0000000000000000a76e05bd3c12033c0000000000000000a34c93bcbef5db3b0000000000000000d8c4dbbb2f60943b000000000000000088f53a3be990c03b0000000000000000da732a3cc2225e3b0000000000000000f2ea7e3c937b3e3b0000000000000000715e933cee144a3b0000000000000000d872873c95f819bd14cc9a3cb38d973cb51a733c4e0dddbc5cd9863c85fe133d9b7f393cc134b9bcfa6f833c582f153dfbd4223cfe7f52bc11591a3c5929243dfd6e153c439858bcf631113c0945e33cd2fb1d3b2c8b82bb22f65abb612d003d871fa13961589d3affce1fbc0e0ebb3ce1fb3fbbf3e3cb3b4c909ebc942c983c380a13bbba54463b9e33b0bc0e7c733c4e625bbca3e5bc3aef05a53cb9ad8dbde90993bcfe4e5b3916bac03c57ce91bdc36f7abc293ac4babe94d13c45d085bd61949bbcf8f2683a3a3ad73c6fd581bd5e415cbca9ad063a0edbc53c06ee6dbd380b90bc3213b9b90fc8d93ca82e4ebd78c486bcd265843a737ec43c99bc31bdffa468bcf87767b9d788b53ca0c710bdf7ca82bcf663f5bab3efc43c56aafdbc429acc3d69151cbe644fa33c6d0d46bbbfe1423dbfaf2ebe3d0aad3cae3afbba88683d3c9c2921bec9c0663c800876b9d27f57bc320404be02231b3c25b300bb4cc5b439948cc9bdc8046c3bb6da6cbb233f05bceec978bd8ca9d5bacf36f3bad047443ce8820bbd3126d6bb61ce33bba425ed3c5690e6bbd4d44bbc7984feba2b93453dc75f503b536e02bc5e2d12bb8a69b53c6e05bebd27b2263f8fdd1a3f88ccb63c065fcdbd830e2f3fbded063fe11bac3c44ecc9bdf11f2b3fd37fd13ec449ac3c523eccbdc93f233fa8d3893e500f9a3c1498b2bda478083f3e98223ed402bd3c1c62b8bd6470ee3e2570e33c3376bd3cdc63adbdc4a9af3e90ee5cbdfff8c73c0b8ca7bddf6d6e3eda4902be1223c13ced4b94bd57510f3e43e928bef33bb4bd0c89503c0000000000000000dcd09cbd11b8573c0000000000000000b1cf68bd8d26343c00000000000000002f6f19bd5bb7103c0000000000000000897a9abc5c810c3c000000000000000026c2efb99bbcda3b0000000000000000e38b4c3cd36db73b0000000000000000dbd6cc3c1e139c3b000000000000000005a6003d485e463b00000000000000006d12523c942d17bdd09db73c63c19a3c2108553c7098edbc7b2a863c91b5373df39c1f3c962bbfbc5a137e3c2236443de2cc013c859c9bbc51d5453c3e2a363deaccf03b072e64bc8044dc3b87c3273da9c0863b89e11fbcb62b97b9dd90033daea23d3a10f853bb26dafdbb4191dc3c81320abbb4ff6f3aa79d6abc69e9bc3c7ecc04bb144a1bbbf8d47abca152863c81d836bc8a9511bbeebb7b3c412859bd5ce987bcf216fbbac3dd8a3c11195dbd3f1e7bbcde692cbb3367893cfddf4bbd656384bcdc1063ba30da9e3c989e45bd26228bbc45af08bb6068a33c918441bd59d571bcba8ca7ba63c8953caaa123bddf1e8bbc81d6d9b91694923cded613bd70d48abcf183c3bae5f4943c5455f4bc4c4568bce96bc2ba84598d3c31d1cdbcc0acc93de2f436bed4d9cf3c346abeba280f883da9c666be0201063db3489bbaf68f013dbd215abe652dd73c22cc56bb604dad3c1ece34be5753883cf8873cbbbd4e2b3cf12b0cbed7f61f3c67a8e9ba26a6013c2e6fb1bdb764c03aa63634bbf62e983ce93d3abd28f1c4bb92174aba7618f03cf04e79bcc3252cbc1d6550bb3203533d028a34bb24cdf8bbd95f11bbb247883cec6f67bd6d98cd3eee9b5b3f8edc9e3cbe2587bdfee2dc3e1fba483fbd44913c4af38bbd4431e33e9272223fdc9b783ce30b86bd2f53d93e6268e83e337c8d3c52b482bd2b77cb3ea7598b3e8a1f823c929980bdb5f9b13e6828db3d2802973c1b7575bd11148e3e763cfcbcdb89983cad8f6dbdd18c513e2d1f0dbe43598c3c82dc51bd9f06053ee3df44bec75af3bde356a23c0000000000000000c565e9bd3f41a73c0000000000000000bb7cb2bd172e883c00000000000000008d4c5ebd4601523c0000000000000000efefeabca8aa1c3c000000000000000066ebb7bb741df63b0000000000000000e815833c9380b23b00000000000000000082103dae62b93b000000000000000085520e3d9c68113b0000000000000000f194ed3b10e9f2bc5744a03c5c51c03cae46e93b4c78c0bcec15823c202d4b3d5aefda3b026eb7bc00e38b3cbbf3563dde9cbc3bcd0e99bcad28363c68d5613dc60f7e3b687b7ebc0f5c113c4506263d1649093b5b8b33bc38aa2e3bfc70153d7b21743adc63febbf9dcd3b9b05acd3c5702e1bacfea8cbbadbf02bcddaca43c4c3a36ba792e38bb35ab35bc746d753c7c1b1dbc78075abb199c0e3cedf500bde73963bc085c7dbbd9f10d3c3cc507bdc3512dbcd007b1bbc292233cb976e5bc45a758bc464a4ebbc8b9243c3f8de8bc634b48bc559396bab5573d3c2498e0bcd67d4dbcd4300fbb94d91b3ccdb0bdbc56a25ebc1e4cb6ba1ad42d3ce190b2bc54266ebc7e8556badb451b3c193194bcdfb44fbc66cf74baa611223cfda692bceaaca93d429041befdd51f3d70537ebbfdf2763d656e83be6a04353d4408a2bbc8e5203d300b85be92e6183d4fc586bb664ef93cc8ff67bea46ee13c59d060bb47149b3cc5ff2ebe49048a3cbdee93bb21c0813cdb29e9bda503eb3bfa0c8fbb44b5903c895f82bd2495383b0f5b97bb72a3d93c9991b6bc9b00bcbb547d73bbeb742c3dccbe7abbad93c0bb2bce9cbbdf3b3c3c21dfdbbca5bc363e40d48a3fb72a423c6d96fcbc3ab6483efdee843f7eb1293c778d0abd56475b3e0de75f3f8b65223cf47d02bdbaa25e3e5867293fd120223c2aaaf1bcb47b593e42e6e03edc40413ce2e404bd7bee4f3ed7845e3eefa02c3c77f9febc7608333e03c90f3d9669553c3df3ecbcb50f0f3e22abe9bdc5de263cd1aedbbc2547c43dd26649bee1a919be9702ce3c00000000000000004cd615be90d2db3c00000000000000003280dfbdd3d1993c0000000000000000ccfc9bbde06b6d3c0000000000000000fd3636bdc22a3d3c0000000000000000e8f14ebcccea263c0000000000000000feae543c4468d23b0000000000000000f4a1153d8e4b1a3b000000000000000047f3463d0158743a000000000000000092de56bad4a02abc3018893c6992e23c81cb303b5cfc85bc58c43c3c8dbc6d3d3fd7c43abf3d57bc86f73d3cc7217b3d02f0653a1f0c3ebc9ce54a3cb231653ddeb69c3a8cdb30bc841f143c7560403d286e613a37c10abce82e973baf63163d8c2f44b9f0f0babbe595fd39c325bd3c297d30ba565f5dbb9eb776bb1174703cf8deecba39b180bb406230bbe0a1113c8f1886bb2bcbfcbb2152083b6480fdbb39f765bcc1f3b6bb520db23b6a8256bc7f0f27bcae3c8abbf368943b29500fbc701011bca3fd6bbbaf84cf3bb37617bc31d614bcdb2cc7ba7549993be47012bc83cb15bc2ddc99ba89f99f3ba7d214bcabee17bc4858b1b98f20913b9c1f1abc4b521abc0c575239dc17633b2cb810bc459b2abcbe472dbbdc151c3b300259bbb7930c3dd80353be70e9363d602d8fbbc062403d517f88be90e3703d168f11bccf1cd63cb2048fbe53a1353d1d1cc9bbdc92903ccb8b81be8ae7173d1cf2dcbb7628583cc68b4abef041d03c7264ddbb0531493c7a100bbecd2c5f3cbcf4b2bbe9744b3ca39790bd2bd4923b873788bb62cd853cd3868abcfdccdabbc71c7dbb1b89c73cb165d63b606885b8755790bb144f863b854339bb68ef4ebc14c6ae3fbed6863b74ade9bb9957c63c30539a3f98c2813b858133bc23622a3d5355883fcb06833b9ecc16bcffdb623d6158583f938d0a3b3b18bebbe2d7823dfdb7183f6150883bef111dbcc6d0953dc36bb03ecb53903bf392d4bb254b983d42d2f23d2ee5bc3bff5540bc0871963d3e2f82bd134b593b10701ab974df163d9b9254be0f5439bed2f0fd3c0000000000000000f76d1abe93a6e63c000000000000000082f5f9bd17759e3c00000000000000003f93b2bdb3b4603c000000000000000089b45abdabcb1c3c00000000000000008bab96bcf2e8cc3b0000000000000000cee5113cc3a60b3b00000000000000006c762a3df1dbf7ba00000000000000000edd4d3d7cfebaba000000000000000000000000000000000000000000000000e62481bbe4a231bbdea8303cdca3483d34c858bbb7df8dba8ce50f3c776e4e3d4eca55bb2a043bba286f1d3cebab2d3d3d2612bba46245baaa4d223cfb210a3ddfb543bb95fa75ba57920b3c4afdb83c910126ba8b7a1fba40ec943b64c9723c3b9dc6ba253d45baafd48b3bd23e7c3b000000000000000000000000000000000000000000000000000000000000000066a25bbbf9b5aabbd38b2f3aa45c3e3c0d4a33bb25f53abbe68f8239c1e3123cfe0d173a1019d4bad39da93905be203c3d38bc38e0ef2f3acfb569ba0e2af63b138de939894d8fb9136768ba7067e63b9e3cd5ba2cc59f3afbf532bb438c803b78c484bbdc619a3a7e7a46bbe3375a3b0000000000000000000000000000000000000000000000000000000000000000877d6fbb64e57abe9b27233d1020f8bbde8cc1bbf32d74be53d8073d5a55e8bb402c63bc21d35ebe7115d33c4605eabbab445dbc6a7637beb273a43c893cf4bb438454bcd9d7febd84855f3c5fe8debbc269f3bb4fb486bd982ada3bee25c6bb0c67baba414f7cbc020ab73b17a7c5bb000000000000000000000000000000000000000000000000000000000000803fec2d74bb25c61b3c44c9d6bd4e4aaf3f56f51ebbc718a43bf2e383bd73cf903f181f69bb20d2b13b62fb4cbddbeb703f4c76dabac4aced3bc1de1cbd7d54343fb75028bbfeb2173c81b5c1bc5e71e63e8df056ba123ffb3ba1bd2ebc3c095e3e147db4ba7c25633cce8d2abc0fad3dbc0000000000000000000000000000000000000000000000000000000000000000aea5fabd1db8973c000000000000000064c4a7bdc3ab353c0000000000000000a9538abd92b0f53b0000000000000000c9053ebd80d3943b000000000000000043bfbebc21c2473b0000000000000000c2509d38c14a99ba0000000000000000418cac3c268460bb000000000000000000000000000000000000000000000000000000000000000000000000000000004e17cebb604a113d28be77bb2828c43bdc4411bcb09b0b3dd3302c3c60e0363a7b3915bcd0d9103ddd52663b229c063b45c121bc67a90e3d4dc4bf3b75a659b9d25b36bc7900003d2161fa3baebc4abb0d7440bcc063cd3c95baf43b1fe4c0bbca7154bcf35fc53c0a608e3b621519bc0000000000000000000000000000000000000000000000000000000000000000215caabb162d503b34d18f3cb8e93cbd92298cbb7b27433b13a25e3c2b04fbbc91d645bbea59253b13077b3c0e650dbd22e0c0ba3643053b5b1e4d3cb2b3dbbcbf63d8baf76f3c3b1670683ce7ed81bccd6805ba7f6ccd3a06a1303cf2952cbb4264d9b95e89373b56c61b3cc3c4243c00000000000000000000000000000000000000000000000000000000000000001bca42bef5c0f43ce4bbc8bb1a574d3a4d4a63bef9840c3d6ceaadbb5ad23c3a4c5d51be8fa6fe3cc487a1bb35414539583441be5c25023dfeb1b1bb0097883a07a225bed13bea3c500474bbb1d830ba7932f1bd3f09e13cb57a72bb168e863a8b25afbd87f3fa3c61066cbb3457203a0000000000000000000000000000000000000000000000000000803f00000000da5f233cf662c3bdcdb0ac3f28e3acbd969d233c0bef8bbd2bf4913f7bb455bde1d70d3c6f0581bd6aef733f2c7a39bd6735473c825a7bbdac333d3fd5d0f3bcc77b1a3ce7bf68bd3657043fa69591bcfb044a3c85c150bd60a58e3ec567aeba84708c3caa4872bd35b8853d07d64e3c0000000000000000000000000000000000000000000000000000000000000000a4d2dabacb1240380000000000000000032453bb6bacf8b80000000000000000c11499bba4772b3a00000000000000008c5ac0bb7633d5390000000000000000b09ab2bbcd0c2e3a0000000000000000a7f4a7bb124689b80000000000000000d823d5bbd91599390000000000000000000000000000000000000000000000009444ab3c4b0a22bcdc9f94bc5d1b803c7c200c3ce424023c304c893ba29a743bdbdf013c5bb53d3c3091253b65afd83bdb55c93bff03943ce76ec9ba76eb133c89dd593b3755ab3c62888dbb5fe5e73bf790133a4591d23cb7cf08bc2bc7943b6d7927bb104ecf3c5d9533bc957d153bdd9be9bbd6c6cd3c15d529bc842e2fbbdcf6bdbb265df23cae08a0bc7b1d7538bc3716bce732033b3fb39b3cb4e6d1bda914d5bb51cccd3ab770ad3c1078aebdb85edabb8bd7b63a06f7a93c2abdafbda697f2bb7211243b570bb43ca765b2bdfc63f9bbd0a70e3bcc34c63c6f02a7bd9475c7bbedad0a3b5b79bd3c21eb94bd4221babb41c22e3b9204ba3c30d865bdcb8e8abb646cd03aedfac13c2fa51bbdb1ab76bbd2281b3bf1acd43c71d928bdca115c3c29ced5bc591a33bb5663c43a042bd2bdd2448b3ae7c0b5bac199933989c801be4e6480bab6d636bb27a5af39798107bea152af3be8396cbb9d9e0839d8def7bd3a9c293cf17b7cbbc677b23ae2d3d2bd56159c3c094ca2bbf90f2b3a33c092bd81f2b63c587391bbe908743a8cfc20bddcb1c73c85aa8ebbc333f43ac3a8a9bca082093d55d2eabb5f72193b1af4453bd24adcbd313bad3f7611e0bc74e20a3ba1d1cabd510ea63f8026fbbc9757b83be841c8bd44ff963f437f11bd21bbc03be046bfbd7c9f813f6cf21bbde194df3b8a60bebd4447513f39f730bd1fd0363ce541c3bdde891b3f560b2cbdddb8563c2d89c5bd5ce0c53e99091cbd051d5f3c1923c2bd95e8273e9a30c7bc0f59903c06d4e9bdc12d3a3d79b3f8bcf343173ba79951390000000000000000505e74b9ed27fab70000000000000000c9ca1d398f510d3a0000000000000000c994c3baf320c53a0000000000000000336bcbb9e0d1e4b9000000000000000057bc7cbab5ec9a3a0000000000000000c9ede9ba3a0f3e3a00000000000000002c0f05bac4a22bba000000000000000091edbabac9966cba000000000000000091191b3d7c4b87bdb458123cb7138f3c47080a3dc2a732bdba756abc361de73cee35f73cf30502bd8e1886bc59e9e53cdde7d93c531299bc6cbed8bcc51fe53c6086cb3c5a5f36bc16be06bd7ceae73cfe70963ccfc0053b70b51fbdb6bdc93c0f26753cd120243c604b2bbdfffaba3c65bb1f3cc207a33c9f5a3bbd0f016e3ca6ca3c3ccc8c853ce2c53abd170c883c634a39bc2a6342bae80b0d3c921bc1bd8cd747bcf24b2ababb95333caeb8e2bdfb6e4dbcc00c983865ec873cd507f3bdcb2233bc12c321ba410f983c3d8ff8bd171030bc31f057b87d9ba33cbd08fabd67cf2abc673d8bb9b237c73ce072f2bdbfea21bc38e79c3713ebe33c9d7ce6bdc139f9bbf450fe39ee89eb3c8166d8bdb143f7bbfe01243a54d8f33c6c8dc4bdf7661c3e4c24d2bd3f5f1a3c2de0803a5b5bc73de475b7bdceacc33b7bdb9f3a4f456f3dc40a9abda2657c3b7537f03ae576183daf545dbd5dc19fbacb303e3b2ccd033d3e0812bdb2fd81bb925f343bdcedf63c379b77bc3702c9bb47356a3be71c153d6588933a871f11bc8a1b823bfae2233d5bbdca3c185e29bc9b37923bd188703d9267e53c79d149bcbbac5f3bfbc6dcbb622c61bd94b7883f496cda3d01b613bbe08892bd250d8d3f5aa34b3d0cb720bb293a92bde80c833f4c12a23ce720eeba52a998bd404f6d3f9afd9dbc538a563ad1b2a5bd1c354b3fbd3848bd6274283b29f3b3bdd272233f4ad49abd269e973b082cccbd2396f13e6805c7bd3ec5063c5f70d4bd3a6ca23e4818d5bd1a67d93b4ae7d8bda770403ea01defbd2b54453b275229b90000000000000000fc4a2b3b27a8a63a0000000000000000874ea13bf563883900000000000000008bf6b23b9c5b09b800000000000000000870a83b478e723a0000000000000000778b013c9144aa39000000000000000082b1f73b82641d3a00000000000000006837003cfa6cbbba00000000000000000a8b073c1ed0a539000000000000000083ec2a3d1269d4bde1d83d3d17ac343c0576293d0616b6bd900e063c970a123d6fae1d3d0e1894bdaa0c36bb3e721c3daea6143d654f71bdeb69b1bc9b4d2e3dc78f0d3db1ee4dbd03c208bd2121373d68b8fb3ce0fa05bd18223abdcd68283d1b83de3c6cc2abbc038953bd321d133d9713c43c0b3d0bbc57227fbda2ad0e3dbf8ac23c98a521bc8e2271bd8832103d6ab735bc379fc6baef9c0c3b60e794bd43e977bc124810baccd7893b00e8b0bdd33162bc03f2f3ba8a67b73b440ac9bd62c980bc654c57b901c9fe3b0803d3bde39578bc32b387baf7be4a3ce1abe9bd5d1478bc1f5fed37ec097f3cf1ecf3bdae5763bceedc05baa4429a3c83a9f7bded574fbcd81086ba4ce9b63c1018f7bd8bd95ebcdc2ba239fc8dc73c9198eabd18b5693ec4ba3cbe2179c63c6d2c77ba381b503e3a583fbe574da43ca25407ba65d02d3e0f3928bed3a6563c035d1b3a37d6223e4db70abe7e5b133c3eef08b9d13a183ea285ddbdc8a75c3b2c08223bc3ce0f3e226992bdcdd9c7ba570c3f3bf5da083e389f24bd9dfabbbb451c893bbe550a3e27f0bdbb5d6b3abc1636a33bc7060b3e9a9ff03897d871bcb8b3d73b6937eabbd8bac2bcc3e7493f523a8f3e396abcbb83f00abdb3a2523f887b513e1e578bbbb64a06bda7484d3f15de023e42c79dbb46291fbd0ca03d3f6b1d4a3d4df497bb069c36bd8f222c3f1360d6bcc56424bbd2af57bdcd56123fc245abbd0a62fcba647a78bde809ee3e3c9e0cbe47045c39db1d94bdb8ddb63eaaf538bee7cf7a3a4c3aa1bdeeda843e60554abec17cc73bd15c8abb00000000000000008581bd3b7878efba0000000000000000b494293c2d19f9b9000000000000000020a1643c4d0719b9000000000000000075ad863c7f969dba00000000000000003407963c6ef8baba00000000000000002867b03c6df90abb0000000000000000e458b63c37c6e9ba0000000000000000a961ba3c49a64bbb00000000000000000b85183dafdbecbd6dcda33d9fa6cfbbc174213dfbffe0bd17db3b3d1cc9e43ce6be1c3d1d37c7bd7d17f53cd4ebec3c77391a3d35d6b2bdd4d1783b1ba0343daef6103d34f29dbd1400e93b76c7f93c41e50c3d4dba7cbdc3aff6bc3bfb433de476063d409f53bd767313bdcee8283d897ef43c280119bd7ae456bd3c142b3d4604f73c12d605bd1b4f4dbdf5d0273d7caaf2bb297a01bbfd8306bbb2cf24bde22e4dbcd95881bbecb574bb6e443dbd72385bbcf7780ebb6b1d84bacba07cbd0ac785bcbf3fd7ba29572d3b9e9896bdfaa84cbcf4fc20bba17d8f3ba687a2bdf6be8cbcf4b0c0baf7b0053c638abebd0b047dbcfa248dba00e3203c837ec7bdab078abc70c21f3a09ad5d3cd14dd6bd4c8c7bbcab303bbad53f703c877fd3bd1e815f3e89e466beb6471b3d5b1877bb8a6e643ead0285be02c8043d076ee0ba16d74f3e4ed96cbe2701e53cee19c9baa09c4e3e2ec258be179ba43c5e41a9b9e5d73f3ee5b529bedd35753c868cd73966f5443ede6d06be1979c63bec041c3b593a3f3eca60b9bdc3cbf03a33132f3b66313c3e803139bd1069e8bb4b1c723b27bd373eed7709bd3911b5bb7eab5b3b445eb2bba52f3fbadb16073f0b45023f3cb1a3bb257370bbcf940b3fe37fd33ea20397bbcffde0bb6f370b3f347e9d3ea4eba3bb9f1016bcf819093f9aec383e19b0adbb106775bcac50ed3e95e9c13d82da06bcac068dbc8763e53e617b36bde4af8dbbca61dcbcdda4c03e86e5fcbd2dfba3bb9bea10bd627ca63e57255bbec0f73abbc11f3abd9b157a3e0a947cbe06bea0bb1848acbb000000000000000099200d3c228e5abb0000000000000000d6c5403c4fab9ebb0000000000000000fed8a23c2c7e09bb00000000000000007b63c13cdaf78fbb000000000000000057aafc3cbb188ebb00000000000000009f25083d76ba8fbb000000000000000019b31c3dcb2e91bb00000000000000003626173d48938cbb00000000000000006676d53ce6ffcabd80a4c23d354aa6bc8044f33cbc4cd2bd0473863d0fcf893c3400f93c27ffbabd360a3b3d0b94e73c15adea3ca2e6aabdd1a7ef3ca08a103dc71feb3c1d6ea1bd670e2b3c63252d3dbf4fe73cc9868abd91b4dabb45662c3db1b2d53c55335fbd79ebacbcb18f2f3d46e5d13c206e35bdbc0921bd73f13e3d9f05d63ca02d31bd77a50dbd3f3c273d277a4cbb40328bbb46f36abbde2125bc850012bc3af78fbb3f5ca1bb1dca89bcaed62cbc207187bb1dd0adbbae17eabc359e54bc81a64ebba46695ba06a31abd3f9d67bcc24f67bbcf1529b99a483abd61d284bccb6d04bbfc72f93929eb58bd81fe94bcba66afbac04b893ba94687bd4d9888bc8246e9ba51d5af3b6e9a93bd73dd89bcf70af7bac72c033c0a1e93bdcbeb213edb1b73be7621423d5b3eb6bba6e4393eb0019cbe1029573d23f1b9bb4594313ed5e293be08742a3dc7638fbbeef5313e4b4585beb3250c3d525b4bbb5d2a3a3e9a146abedc9de13cba49a2ba93d7373e3a6f33be0e6ea33cd95752ba4b843a3e5fdf06be1c30493c5e65833adf6c3d3ed294adbd541b333b9f98213bb1093a3ec4fc82bddabe7f397be55f3be18d7ebbc6e0143c0604973e660e443fd04b1cbb620a8a3b0d959e3e48012f3fd1974fbb3ea9ea3b6489a63e6658093fd41ca8bbe53ddb3be327a43e54b2bf3e7fb299bbb57ec13b6bfa9f3ebfa1563e27b88ebb705459390b22953e528b633d519ea4bb762dbaba0685863ef41aafbdde8a81bb2bef01bc35196d3ed31b4dbe5f638dbb1ed085bcff4d393e90d581be0ee1afbcdbcbc2bb000000000000000051d53dbc19c2b9bb000000000000000000dd153b9f5795bb00000000000000009e3d6c3c1b39b1bb0000000000000000c6eae33ce251cdbb00000000000000004487093d743d99bb000000000000000039803b3da5d6f0bb00000000000000002e06543db3bac5bb000000000000000096b9583db1ddcebb00000000000000009d2d723c3ea08bbd7669b93d5c2208bdf2268d3cfc018fbd8c92903dab92893b1b60843cd06087bd67bf813d400a1e3cd3a38a3cf17980bd1f343b3d9b59b43c9603853c4ad774bd9d3b113d793cd93c36db913c946658bd667a8a3ceae8023d3e628b3c280e45bd37cee93b1780f83cabe8813c3a361dbd722d73bc84de203d126b863cd19c18bd26516dbc3843163dfbddcd3bc62ed1bb48f26ebb2dffed3b8409f0bad90bcdbba5cd8dbb5e937d3ba97d63bbe90da5bba2e72ebbefa36fbb1f5ddfbb0837afbb050476bb2d01dcbb1e220dbcae5059bb45b2e5bab03245bc7cc246bc4b0d67bb0d9c53bba34fa3bc61065cbcb6c300bbaf6258b93761d7bc8aff7fbcc68d01bb0eb99939d80a0dbda09282bc4b67bbba0523133b871416bd928da83d5bd569be40ef743dfdf826bcab94c43dd7bd9fbe37c67c3dd49522bc2ce1c53d35909ebe0afb693d9ed80abceee4d73d1a3c96be03c5443d08b3cdbb4e79e63d66cd83be930d243d8dfabebb26fff93de2be58be24cb043d63ce5bbb3349033eaff929be9d72e13c6cf580bb568b103e4368ecbdf73a723c9afc8eb9ebae113e2538b4bd5196483cfbe59fb97e68d6ba118cba3b2abbe23d57a7853fddd1a0ba1a907c3beb02e63d4b807b3f768944bb1cd1253c9181053e42fb4f3fa9dfd6bab0f3ef3b5d3e083eb69e1d3f7eb057bb86bf313c6e51033e4441d23eff9e99ba507b0b3c5328053e1179543e9dca5fbbdb92f93b9bc8f23d4997003d5a1c50bbe10d063c08bae53d6c7b17bee91059bb3001313b0f26b73de18d70beb80a51bdfe0b41bb0000000000000000fce92bbd0aed0fbb0000000000000000e3cca2bc99c0b7bb000000000000000003ba8cba3ca3c1bb0000000000000000a5d78b3c5f5b01bc00000000000000003780ff3c1d49f0bb000000000000000052a5373da8460cbc0000000000000000c341803da64d28bc0000000000000000af197d3dd15806bc00000000000000003d4a463b0074c6bcf989753d627301bdab36e63b0b5e0fbdf7bb733dd8e1153c93ecd03bc0c109bd7f82553d11c8913c25cedb3bf09d09bd83a0473d5ad0a53c20a0e03be60d07bdb141263d7d61ae3c0675e03b295803bdd869fe3ca760cb3cf05eca3b5c71debcd56caa3c2b67b63cd377dc3b5359bfbcaf38783bc441eb3c1459b33b9238adbc14fa233cb4307e3c93a5603ceb31febb9b082dbb2867893c0216cb385e8dc3bb00bd8bbab540f83b82e981bab807bfbb4e63e7ba46b3213c4f7731bb594b8abba357eeba32b9083c7e4db5bb32b153bbcd51b5ba5d76da3b670807bc337e2bbbb69688babfe5aa3b800f27bcff860abb73c817bad713aaba33f26fbc031849ba4c2d59394b16b9bbcb5e31bc8fcbdcbac22d22bb181e1b39b26edfbb9e0940be46ae483d35da38bc310ed63c3f589cbeab81833de9ce3dbc5868b03c261b9fbe04a55c3dc65d12bc0026d53c0fe797be90a8543d9d8b17bc55640c3d660385befb64303da56307bca62f373d17565ebe04871c3d99e9dabbeea2633da07124be0ad5003d71ec99bb8a7d903dd66ad2bd2859a33cff7315bbaa9e863d19cba9bd0f44dd3ce956b1bbc3de86ba947ecf3a8e85dabc9b3eab3fd9e6dbbac62a6c3bb7298fbbdf909d3f0d1128bb14a3c53b359d873b1f5a873f3317f9ba9a04de3bb8001b3c7887583f6fdccbba31bc113c19226b3c0ea51c3fe34625bb43ac013c498b6f3c3d48c03ea0509dbac48c1d3c701a8e3c1f5a143ed7f182ba53d8be3b385ad33c1183a0bd4a6710bbf7cd633c5b18a6bbfe7033bec984c8bdad1f6a3b0000000000000000db5a96bdfeeb173b0000000000000000936256bd61ff99ba00000000000000005cf002bd93fa84bb00000000000000005c2e1abc703b88bb0000000000000000eda11c3c0e42d1bb0000000000000000a214e33cbcea0ebc00000000000000007c45643d20ff2ebc00000000000000002ab3573d2d423bbc0000000000000000000000000000000000000000000000002a2b98bb57cee83b1ca3c13c374b463a332221bb2744973a58dfce3cfce73a3c0d8d42bbb83ea13a8cc0cd3cbdcca03b8c2555bb422ddc395655d23c866f923bcb4308bbdaf1cbba0866d03cf4ea7f3bc8f8aabae91335bbdabaa23c0a40a33bf3fbf6ba4ce12cbbace2a73cf5543eba000000000000000000000000000000000000000000000000000000000000000007ba163c4b62a8bbeb9b9cba2fe4843cc4cd923b630e54bbe5d9c3b8b564543cceb3aa3b888e48bb954c9aba4543883c08f6633bafed12bb189cc1ba57fd8e3c4a2c3a3a7fbe94ba783bf3bab94b8e3c78b84ebb01c20eba27ee26bb45618a3c7ab171bb8c5e0bba954737bb753f9b3c0000000000000000000000000000000000000000000000000000000000000000059252bd10603ebe896acc3c15c70fbca31b1cbd518c55be9aefd63c170ff8bb5d3e2cbde2ff44beadc0aa3c43ade1bb22841dbd43bf31bee29bc23c962103bcaf70febcc71414be2b8dc03ce1f602bc6b039abc7cafd5bde26aa43cd78dbdbb470a43bc009a8dbd006abb3c3722e9bb000000000000000000000000000000000000000000000000000000000000803f1c331ebb82976c3b287eb4bd44d3ab3f9406cebac1ec143b39747cbdde2a903f46d8c8baf4199a3b6c9c6bbd5e4f6f3fbde105bbc65be33b6c1e6abd3eb4393f0016bcba9161073cb5754fbdfb31003f3572a1ba38b7073ce1ce3cbdea488a3efed347bb9956883c0d0d68bda3a7803d00000000000000000000000000000000000000000000000000000000000000002c11b1bd3d5ed23b0000000000000000f1c55bbde378193b0000000000000000d50728bd36dec43a0000000000000000b937ffbc9d0a80b90000000000000000ecc99ebc324397ba0000000000000000b9e1caba4bc38bbb00000000000000005c213c3c3f04bebb00000000000000000000000000000000000000000000000000000000000000000000000000000000e056cb3a62e027ba7aee133cc165f93a02d5cd3a29044c3a28580a3cf0ef333bfec3513a1449f63a630dfc3b4dff323b69f26e39105ffa3aed02c73b5b2f123b9080843a91ef063b07f7953b4668a83a084b1d3a7861be3a7e7b2a3bfdc5df384ba0df386e7aa13ad47f683a96649bba0000000000000000000000000000000000000000000000000000000000000000cf21223b575d9a39a764c53a437a22bc4c4b133ba29c423804762b3bdb3306bc82b7743a3699f5b938ef333bb7970bbce143013be12e283933e6923b8571c6bbd84c6e3a232e1ab9942dcc3af997bdbbea0e423a7ed0aeb9b4422f3bb6b5d3bbb0130e3a8a8b09baaf170b3b195bbdbb00000000000000000000000000000000000000000000000000000000000000002a9464bde1691bbdbb05133b9fd4433bb1f15bbd1a4e01bde4b2213bfcc2233b0ac33fbdb7cfd2bc3c15843a11c75d3b8e0b10bd8375a0bcf4bb3d3b1389263b7a03dabc46797abc2b293e3be3cad83a30797ebcd19d27bc1b72613bd687d43abf3114bb34feb2bb69fe8b3b0cbbf8390000000000000000000000000000000000000000000000000000803f000000002bb2b4bba1debabcec75883f6c3058bc3ffcabbb4b2a1dbc4c93643f97df15bc34033fbb336483bbfb823a3f28090dbc3c0909bb841d903a9a47113ff9279ebccd8915bb3c4b343a748cd23e2a6e95bc8fb8e9b9e43a3e3a5bac833e5356d0bcd441b2b90eb0fdba8157de3db6730ebd000000000000000000000000000000000000000000000000000000000000000055b496bcf64aa93b00000000000000009db76fbc2683793b00000000000000005cc739bcd3b38b3b00000000000000009e9510bca6e3843b0000000000000000fbf3e8bb4f5e403b00000000000000005c9f74bb58374f3b0000000000000000065c14ba2cb0563b000000000000000000000000000000000000000000000000b8659d3ab290caba5d570d3c40af10ba8389023b495174ba47554a3ca645453b6afa923a13212b3a3e014c3c38a2723bbd32fa39be3e913a7dce303c42bf4a3b092c8439a654d03a763a0d3c64c1263b48ff7c39e676f63aaea4ea3b40ccd23a797123ba0dab3d3bd38a983b2b36e639454833393935bd396652183b75d541bae0414a385a69c0381cd7813a6fe013bb1ea1c23ad389b338a35a81b8814d2bbc8e253f3b87cb723a8cc0203b0fea5cbc0864243b04b4143af555093bc48124bc7286083b9d61473a46183e3b475309bcbe2cca3a532bd2b8f1e51d3b6782debbe4a58b3aafc7bab79af4383bad72e1bbf0542d3b9f4c51baf6bd023b6972fcbb54b84339f21184380f9d073bda98dabb2cd7c6b9eb7104b9a1901a3a7bb454bb77bec1bca6350abd2b10b4bb6415733b3c4d5dbd61c63cbdf58f3fbbf29d8e3bb28968bd871233bd4c4d11bbad47783bf2944fbd18c61abdf0938dba027b5f3bece418bd7de0eabca7bf0eba4f19353b5596e7bc6ac7bebc4281913ad5b1383bc8e758bcae0660bc1e06393b857aac3a66274bb9538700bcfe54863bcfe7d03a8185413c71fd4fbb051c163bb08b2c3af2937fbbe12e62bd62ba883f4092f93d271b06bb26e363bdf073803f4722e13d543367bb3d7d0abd9736593fe1e8c23dfcf256bb1b56b0bc0822313f93269b3dfda538bb69c353bcd532083fe4ec5a3d6452c2badf701cbc75d9c63e80a3e03ca8bcd6bae459f0bb2c07783e939bf03acb1eb839229920bc453bd63dc8dcb5bc5d4450ba428de0bb0f5a4cbccacc09bd954308bd67aabe3b0000000000000000531619bd994bf63b0000000000000000647affbcdf55b63b0000000000000000262ddcbcac7c973b00000000000000004d3bafbce0aa893b0000000000000000280595bce35c993b0000000000000000d2bc87bca9d9863b000000000000000098993abc140ac73b0000000000000000ce9dabbbc4608f3b000000000000000035c1b139cc0f9cbaf771063c9233e3b8080c363a354e6dba45963c3c6f37223b1c152a3a7a342d3a59572a3c13c2623beb00db397252973acb61333c6125793bf339ce397ca5bb3aa3bd073c3d88173b498d45397438f53a0458023c1387fc3a2a47f5b703bfbc3afa95b93ba381563aa7f9c2bad1a97c3a1acb813bf1db35ba0c0074bab5455a397327153b627da1ba7356abb92e8eb53a16c463b9897123bccee2a63a3868c73a1748b13a71253cbc7b5fb43a59b2673aac3ed33ab3aff3bb790db63ae3fb733a9d40f03ae656c0bba835943928ca3f3ac0b8b23a4bd780bba7dbd139712f97395f25ea3a1a7c88bb5d9558b90b82c639dfe6c33a206468bbf50a44b99ae408ba748de43a375863bba17225baee04cfb9d56a833a5475b1ba9161f2bb8763d3bcce9a43bcdb08793b23f5f8bc90b330bd3a174bbc3415b53b6e400bbdc03122bd159717bcb172973bcfb314bdaf2522bdceb1f0bb139c933b2cfbc9bce6baecbc95c2adbb8c9b833bf99d9dbc2d50cebc63f859bbfeb6693b7f7e0dbcb7477cbc7b4743ba244e463bcf97753b2a840ebc9d1a853a283a473b9c40323c70783ebb0163cd382704e83aaabbcbba65e473bdf392663f98d28a3ed2a5e5b9abe48bbd1ff65b3fd07c803ed48fb4bae6cf31bd0e2a373f20865b3e63c6f7baed1213bd62af1b3f42cd323ed9d7bbba022db7bc4964ed3e97d6043e6410a0ba3c6e9ebcaf6eb13e354fb03ddaeeaeb91e7869bc827f623e5a5a3a3d5531693ad1d550bc3de8d63da7c6a43a03d9ab39f9bc00bc115bbb3aad9dc9bcfac52bbdd001873b000000000000000005d155bd3e0cd03b0000000000000000790228bda5109b3b0000000000000000f7e61fbd6d519c3b0000000000000000e8c4f4bcbe98653b0000000000000000cb94f0bc205ba53b0000000000000000d714cbbcfe4db63b0000000000000000719dabbcb35cc33b000000000000000056944dbc9283783b00000000000000009337bc3932d0a2b81c62e93bb20b903accd7c1393523ae38902d223c266f643b14c72fb83836263a17972c3c7cf99a3b26836bb822608f3a2466223c06dba73b1864bc37b4cd983aae99113cc4f27a3bd1cc09398010e33a2499073c24de6f3b8ad603bad6ce833a37ebc63bea56cd3ac154feb92fdfc539892c893b4cb244b97f7e5eb991522f3a0711393b414784ba132471bacab7e03ab90502b930b335bcbf06303a087e0f3b04b2b53a34cf3cbce62dd8395e29e43a207f743ac7add1bbbe167b39cce8813adc85b13a03928bbb0a19cb39d2cc283ab07e9d3a61c328bb8cced239357abe3a578ad63ac7d0dbba82ed40ba3e43ea396d81583a0b2502bb7a0fb5bab162da394cc6d039c4fed4bae6ede2ba1a2d8db94d2815b989d9d337563f873a6a03a6bc111ca0bc1c496e3b8d4883bc7d821cbdf7d8b1bc129fbf3bde45d5bc311c31bd5ff986bc605eaa3b00f6d4bc3f9d22bde91f58bc8ac2993b5b91a1bcc2a801bdda6120bc6411863bb7b27bbc2ebcd2bc77b5c6bbf9389e3b5b86b7bb77b681bc9f548dbb6490643bd5335d3bd7cb00bc31e17ababc42973b2b28143c8d87b7ba7b7989b91962483bc86e5eb9260368bdde223d3f3b1ad93e52b3a13a173f8abddc4b343fb42acb3eb78e78b3702d57bda89d1c3f246dae3e19cfdfb962d723bdd6d3013f4e918e3eb08027bac2e6f0bcc993cb3e5c715a3e90eafb394a2bbbbc685c973eb096173e26473fb8ddb492bc603f453ea4a8ae3d7db0f939d3d171bcaaf7c43d7ce3d33c9da30cba429a11bc4c050a3c7be792bc69514cbd2ca14d3b0000000000000000097780bde38ba93b00000000000000008f4f5dbd08ba823b00000000000000009bee42bd5c93763b00000000000000001d3926bdd637693b000000000000000051501ebd5409633b0000000000000000dea00abd787daf3b00000000000000002750f6bc4e4eda3b0000000000000000b230a3bc88ff973b000000000000000048e670ba3ecf303af1ada23bafda443bdaa5af32582e8939baf3f73b2c9b983b3e12a8b8c6e0703a3051053cd8c4b63bd990cfb9ed3ca63a649d113cc5aec43b1171a3b90da4983ab5d8d93b435b713bb0244cba3298ab3acc7cf83b02bf7a3bc674e5b92636533a45d8c03bdd93103b552342b944990c3a584f9b3b7ce27f3a9d8a41ba4526bcb89d5a9d3b9949a03a3e49b8bacea60a3a7fff1d3ac0ab25bcdabb2dbaa819113be0aa6b3a8cd813bc5eeaa2b86788b13af187363aa27e9cbbd7ec23397febd73a8771803a613b31bb1aa09eb908c0a139d664143ac8351cba339d0fbaee9aceb882d04e3aad2d4cba1fb877bad6670f3a4657ef39fab694b952ffacbad65f58ba2cdcad3942d28238ddc4e4bae193ad393b9451ba3e58b539445d8c3b0d8f84bc5778b6bc6300803baeefffbbb04311bde443d8bc3abfa63bdc7478bc388a1dbd0f75a7bc0f7d923bd9fd91bcaaa721bdc8f394bc0104923bd36b2bbcd46bc5bcace733bc3f70323b1fa12ebc8203c4bce9d725bc916c853b04e47fbb15e752bcc965cebb6a00693b40cd273bb26b9bbb83b184bbd407803b825bdc3bb75b923abb5e3ebb49b4d63ad6a5093b4a1555bd787c143f2ef3133f36d4093bb4ec7dbdfb880c3f25cc0a3fe89b8a3a9ef239bdaabef13ea8a6eb3ea50c193a3f4920bdab2ece3e1789c43ecf3595b9ae21b7bcb7689b3eaa2c923e3ac2cb390626c2bc0673753e8f8f583e21678739c2e988bc18ad1f3e0611023ecbee603ad98369bcc85aa93def654d3dc41011ba48c0fdbb02c2303c58fe5dbc1f0457bdb25087380000000000000000dbad87bdd734203b0000000000000000c7935cbd1072cb3a0000000000000000869357bdabb2f03a000000000000000066da12bd8e29923a0000000000000000d4e033bd99e3593b0000000000000000a0e217bda3df803b0000000000000000fb2b14bdca07c43b0000000000000000f36ad1bc25c5833b0000000000000000bf0357b7a41c3d39e1d3813b63887f3bfd51a1b8ec61313a73bda53bdba5ea3b3fc459b950bd923a6230ca3bbf380c3c18cdd439d8ab0d39e19efb3b90780b3c3438eab97c8e973a98bae13b8fc3cf3b1459bfb9870eda3aad65db3b8674b03bf79cb7b93ad13b3a217cbf3b0aec653b4041383aced010b99212a13bb5f05c39441ce5b7f3f40b3aa8a6823be6eb12ba287414bb8189f23a8abc2ab9a48014bca1a10dba40f9413b341c773a409309bc58d4e7390020283b1782283ac8ef8fbbbeaf0ab995b1e83aa38c3cb90caf8cbae92576b9231cab3aa177073ae44b0fbac5e479b9ee28ae3a5409a939a204f439eb8c5aba49de4e3ae238cf394210f3395edd31bb8323b53a292add3a2d5e0e3abf1d40bbc466933acaa0c4391ee4d73a1c02af3b52e182bc6130dabc1ffa513ba51db5bbaf871fbd8e8c06bd5addcb3b9afe4fbcd34c3bbdba53e4bc4a79b33be6d05ebcc0fa2abd40f8bebc15db923bc78444bc7f8109bdae5890bcf3f8863bda6f27bc8964ccbc50f75bbce20b953be9efd1bb6d9c5dbc873214bccf8f903bc1ec4abae26204bb0d58e0bb2099963bf0838c3bfaa8aa3b8bbd99bb77a4373bbf1d123bc92c46bda071d93eee1e3d3f82348b3b0a3c6fbdb8edce3eeb58333f67be433b25083dbd3d1cb63ec0a3193f408c8e3a9e0319bdc625993ed4e8fb3e0476983a36d5e3bc321b763ebff2c13e9b049b3a6dc3bbbc61e73a3ec5af8b3e60cdac3a394b93bc4680fc3da8cf2b3e4183e8367d7b80bc1481873dc109903d742d54bacca923bc7e2f423c543e2abc24f46abd1c1d1fba0000000000000000eae096bd038c9b3a000000000000000052c780bd28009439000000000000000005ce67bd673827ba0000000000000000439d4bbdfc19833a0000000000000000ad1147bd8e78153b0000000000000000e62f3ebd4ebf883b0000000000000000c7012fbdf3fad93b0000000000000000d43df1bc06309f3b0000000000000000a5cd06ba0233813a9383d73a00c7d33bb1a6d639a4be2a3a2bcd363b681b133ce235a4b94a8d2f3af8a9603be094173c5fa303b9291f673a36d29b3b27c61e3c2b44e9b90d14833ab322a03b8370e53b25a300ba7b3a0e3a0f4fac3bb977c93bbc2d17baefbc9c3901cd993baf51873b1e9d0abaafd2b7b9a73e893b7c5d173b28414db9655644b9d3374a3bb2fe473a1b6f0abb7276193b6f266b3a2a94f5bbdaa4fab913cd813b45810e38c8b3babb206b623a72c9203b288a593a23c210bbd145283a7e6a173ba90691392edd4ebab157723983e4dc3adde5d53ac9e7aa39c3f984b9b57ea73a6df9b1386fff133a267302baa3f04e3a2876033821a18c3a794abcba7d74973a7b1b453998595f3a72d109bbd2fe253a329245b98eef8e3a3187033b7a7ca9bc0cdefbbcfd58603bcc43b7bb88dd38bd2f401bbd0b37ca3bebbb24bc643d40bdc0d3efbced2fa33b1f8545bc945644bdd478ddbc967b9a3b22551fbc6a3f08bd9d919bbc646c803b1bd427bce47eddbc753985bc7fe78f3bcf90e9bb04d361bccb9423bc83d78b3b2e0daebb33ff29baf123cebb0bba9c3b635626b9151bfd3b7da15cbb972c333bf9d0a93bd83e2bbd32a58b3e2aad663f2e7aab3bdf974ebd0ec8843ea2c05a3fa0eb7e3b118317bdbcb76b3efc73353f6579373b0e1cffbc47d34a3e9ed5183f03ee6f3a43e6b5bca5e3203ea76ee73e1e3ee03a92b3a1bcb136fe3d07bca93e922cab3acc686abcf97faa3da21e523e36c4063b73db4bbcf5103c3d6f5eaf3d7c95733acee300bc3108113c0bd74fbc299279bddd87e7ba0000000000000000c8cf98bdcb997bba0000000000000000af7761bd6783dbba0000000000000000e9765cbd145107bb00000000000000002d5434bd01ada6ba0000000000000000987a47bd0412083a00000000000000003b6932bdd95e2e3b00000000000000002cde43bdbe9fc93b0000000000000000b5a209bd38e59f3b00000000000000009bb5a7b8f30e9f399954a6ba6f28fd3b08093ab913e6e63962d584ba800f3d3c2eb69c3afac6e33a2c4b053b157f523c06b439babed29039e6be283b6b8b2d3cabb205ba7245aa39f659643b1b240d3c7e23e4b936d5443833db863b85e3db3bebf7e9b9bfa462b8f666733b9711973b93fc45ba047f86baa6ff2d3bdaa8e13a917bf1b8e67607ba3655233b09a281390c2051baf58c593b5f262b3a2702b6bb1d1f113ba36a8f3b4c45e33aae001dbb14d0b23a99f1643bf66392ba459601bbe24d0e3be58a263b6d65f7b893af883a05b7e53a4b80003bb3a5c4b836f9d93a913e9d3a4c1cf33af1642b39912bf13a682dbe39160acc3a51bfed37e933de3ab82562ba3c76c83ab6c080b850b3cf3ae26ff9bab25f4a3ae4537a38df945c3a84db93ba4014f6bc12fd0bbd820d643bfdfe16bc940678bd619b22bd7253dd3b918a1dbcdcf282bd275611bdd912bd3b455937bcb73065bd06b4f0bc47298d3bb69b20bc47c728bde308b2bc1b2a6a3b6bf031bc138100bd09328abcf5e38b3b2c912ebccc3b89bce32f36bcaf38943b8f641ebcf69bd9babb84bbbbe824ad3bb1676fbb9959323c3f111abb5f7d5a3bc765bb3ba2a407bd4af7fa3d81ca883f59efba3bb55f12bd3e0bf33d66897f3f7ddcb23b0e78f5bcea52e43d6b50583f5ecd433b1262b0bc17feca3dc8fe2f3fef82063b12d983bc828ba83dffa0063fc2cdb73abff053bc989b853db8c4c23efbc3d23ae7aa25bcf612373d2bab6f3ea9b7013b75b704bc0c52bd3cd756c23d8e2d9e3ad321c1bb9683973bf5a3a3bc87f561bd465a79bb0000000000000000912c7abd7d4838bb0000000000000000dbf143bd78db77bb0000000000000000a6d228bd300a94bb00000000000000001c6318bd1b3877bb00000000000000001ce725bd51a9d1ba00000000000000008d4833bd99e4a13a000000000000000022f240bdafa8bc3b0000000000000000dd221abd0e55933b000000000000000000000000000000000000000000000000b554ffb94da2073928e00dbb95c51c3c5500d9b9fbfaa23960b943ba85880e3c2e7f3eba279afc39477eb03a150a003c4381f93864125d3a01c9463b5c47d73aca2da4ba0cc7a23a69b2403b5427843bb0e36eb9aa248ab99ec70c3b7d14613b15c9dcb8c10514ba6fad043b8a6edc3a0000000000000000000000000000000000000000000000000000000000000000924afe3a1346573ba7287538bf9609393b501d3b135f2c3bfdeb3ab99a6dcc3a350d283b7f2d103b9e1696b992cc0d3b15e52f3b5238ad3affe3823accdc423b57e1e0393467e93a19d67cba19bc4b3bb926dd3a0e517b3a926fc8b8a8b9eb3a5942f4b9b6c69b3a759819b83fcdbb3a0000000000000000000000000000000000000000000000000000000000000000910f06bc312a66bdfa7c07bdc5e94c3b5f9e06bc6e805cbd5c84dcbc5912343bd70117bc2df638bdb95bb2bcd0c5273bdf3054bc17a00dbde3fb8abc79d5ff3a6276f0bb2015cebc59234cbcef94413bffca0fbcc6356fbc6a28fdbbc1b8193b03020ebc0e50c0babad380bb719d6c3b000000000000000000000000000000000000000000000000000000000000803fd9c78e3b36ea8cbc3f83e0bbfeab883f377d363bbfb248bc87b4213bb177643fcad0f53ad2c51cbcba28f43b6b693a3f99e24dbb9684bcbb8ff5203ca810113fc2f7a7390e64c2bb971cfd3b4169d13e27a2523a55e464bb4eddcd3b174c833e3be86d3a7bb01ebb26b62f3b4921dd3d0000000000000000000000000000000000000000000000000000000000000000d57ce8bcf7ccd3bb0000000000000000e992a0bc23aac4bb0000000000000000a1a897bc5b5cdcbb0000000000000000ed2e95bc3ba395bb00000000000000007e2cadbc7958a0bb00000000000000000d6bd8bc600217bb000000000000000080ec0abd235e893a00000000000000000000000000000000000000000000000000000000000000000000000000000000feb9153966f7e3b9400b0c3c21b4dab9969f3f3a0f03a63a019f083c43106939310b3e39d1c7f83a2dd5ef3b494f0c389a008bbad47e233b7432c13be0804cba2a46d439c2d9183bea34873b131af5ba72e036397cf64a3b1ee4803b4333e5bad9ed18b80636243bba70d63a00a9a6bb000000000000000000000000000000000000000000000000000000000000000052e0a63acd40063bfe2fdaba4ff00cba9d9a9f3a577cab3a97af2c39fa19d537eca1143ab24caa3a8d9c453968d99a382a80cb3943a40e3a18f7743a20675139a757fb3a07bb843a5d38953a03fbbeb8b99784b9b9ab093aa651813a6f13a6b82c69dbb9cbfd223a2c093d3a21c952b900000000000000000000000000000000000000000000000000000000000000005754a8bcf3f7ffbc5a3e52bb4b11963b59aeadbc3420d5bc433d13bbdd62633b25c58ebc3c78aabcfd2beaba78fc583b71b743bcab7a7fbccc1c99ba3829263bb890e1bb929749bc652cf5b9f809273b669ae2bad9ad14bc9a1495397170243b2fb1fc3b5c61c3bb0e4a933a9c3a163b0000000000000000000000000000000000000000000000000000803f000000005e7f13bc0fe505bca08b793f582ba6bb3ed702bc6d9407ba3cf4533fef1cbcbb6bebc8bbbbbb323bb9eb2e3fd09304bca5459bbbf8fea23b11110a3fd38c37bc5ad27abbb71cd03bc000cd3ef7a287bcb9de4dbba43bd63b7a01863e5a1cafbcd36f2fbb3927d13b41ab003e94f4eebc0000000000000000000000000000000000000000000000000000000000000000796993bc0f61503b000000000000000008e175bcaa15323b0000000000000000f6fa58bc07f0223b0000000000000000176031bc48be1f3b00000000000000001f8c19bcbd3c343b0000000000000000c003febb52a9793b00000000000000000a8bb4bb73ecab3b000000000000000000000000000000000000000000000000672a58ba53ec5dbac5cc223ca67039bb86af71ba4fc542bae7c14d3c2cc618baba7433babef4833a7ec9483c369d7fb8f301dcba79c7453b7d8e433c179f383af4eab7ba63d05a3bc6181e3c394cf2b993d99eb96a90573b3897013c78932bbb6a6b17bb74506c3bdd01c53b8fce8fbb36c0b9b9b089543b5e1b803bc780d2bb600932ba24ce563b1048383b5f3afbbb3a49b5baae75203ba3bd81bbb70ac4bae154e0363c644d3b88a842bb1b7c10bb902f323a32468b3b0e1c00bbd2da90b9d112d0b8731a133bc49b9cba5f7641ba3d8befba65ed283bd430d1b9f8ca9f3a06ffa6baa853893a4a9004baaf6cb0391c51cdbacda40b3bda8e71ba6314c8389eb5c6baed9d693a83456aba0a656bb9e81910bbad8b073bf73794ba5832de3aa4c8d8bab804e8bc50fc21bc17e5893babca71bcf07b1abd14b01dbcd5cec13be9db8dbc36240cbd73b80fbc44a69f3bfaad7ebc429cf0bcb7e5c2bb847f493b22af00bcef88aabcb518c4bb9bef533b761c24bb318d8fbcd7ba86bbb447673b73e3a13b73e445bc458a31bbec6b333b9c57593c86ec08bc96f0f1bac098523b3c8f8d3c41fc9cbbd5d81ebb3b66173b8f640bbcfb58d4bc8f437a3f3996043e687211bc60c4ccbc5a61643f7df7e93d36040dbc4e9356bc2ceb423f809bc33d68c823bc4569bfbb4596213f6582973d19fdccbb9c3394ba0803fe3e2d725d3dd820d4bb5d869f3a6700be3e397cf43cc36083bb338b3a3b1cfa793e3148d13b904b9cbb9bf6383bfef3f83de1b88abc41c493bbc17d573bd72cd53ba3fdeabc5f5cd4bcf47b033b0000000000000000bcb5f8bc31d56f3b0000000000000000166eddbca281093b0000000000000000c434cdbcaf6f023b0000000000000000d0c9acbc95ae263b0000000000000000bf3999bcaba6813b000000000000000057ab82bce4f1a63b0000000000000000d8525bbcecffe23b000000000000000036dc27bcf550be3b00000000000000000b3407bb39ed19ba071d263c8453f2bafca2febaf7c12dba30cd563c189f3fba0062aeba26279a3aaaff453c64d44a3a85e4d9ba3845113b78df543ce460b139393ab5ba0800873bcf4c1b3cca93aabab9f69cba4ae45b3b2f35233cddaa16bb2e0740ba2050b13b9724f83bb830a8bb63dcbfba52d91e3b45ccee3b5002e9bbce5a2bba43f0403bdfab883b681dc1bb1d8943bb33ad093b9fe095bb91b222bbe6de2fbb81524f3bf4fa89bb1b0e05bb939905bbb6e9043b6d6c4ebb8da4ef382f161ebb57d51c3b69b261bb4126823a84163cbbd1f3cd3ab04a3dba4a848e3ad97724bbee1e263bf1df1bbb301c9b3aedde31bbbbf58d3a4ad0f1bae25aa63a07ad3cbbb82c073bab9346bb83ed47b9980354bbbbd7ad3ab447e9ba6d9ffa3ab4a8f43ba92aadbc10176dbcc9ed4e3baae8d0b943f005bd081b8ebc23f0a53b99fe93bbda66e9bc8dce62bcd2c7753b98b181bb3c2cf3bc192d54bc0800783ba72d19b9dee2a2bc5f9024bc1b42363bfa18913b1f358ebc0cba0fbce2891a3b34e4313c90052ebcf2b805bcda4f4c3bca1c923c661d0bbcbc32b7bbe32c773b45dc8b3c5a018dbbb33bb1bb2a480d3be7bcd2bb0b2c00bddc77553f1130893ecb4bedbb91560ebdb604453f7516783ecf7ce8bbee7fafbcf6a9263f6c92513ec8c003bc269d84bc01960d3f2d65293e87cadabb38fa13bcb463dd3eb55d013e6ab8e6bb64c7babbdf26a93ef309b03ddde9dabb595d05bbcaae603e9a8a443de294d8bb055a0cbae4d9f03d8193c83b3765a1bb59babb396c006e3c5c2c9fbc277cf1bc298493390000000000000000fdab1dbd685aa33a0000000000000000d84501bdbe00343a00000000000000005d3401bdd9e2ba3a00000000000000000a2ed0bc4838ba3a0000000000000000f166d9bc3361e43a00000000000000001fe4b3bc94aa943b00000000000000006669bbbcc55cdb3b000000000000000098bf73bc8d539a3b0000000000000000df5931bb534a8e3a959d353c12f575ba44bf0cbb9f1e9eb949af523cc68a773a0e4e07bb0d0c963ab064593c7906d23abe0be1ba3815f33ad4cf4b3c0998a73a0c7fb5ba908a353b273e3e3ccb17ae3960c8a7bacb8c473b95aa2c3c405492ba5494b7ba2376303bd4e22b3c746174bbd5c6c5baf4b8313be5c3bc3b1cbbcebbf7fd76bab8658d3b660e993bdd826fbbb9b0a2bbe1ddd23ac1dc9fbbfed406bb44b493bb8792533b8d2298bb90a23bbb459486bb1fc72a3be71f93bbb34f30ba40f17dbb8981ff3aefbe86bb2b6b413aaa048abbed00aa3a7d5360bb163cd03a11b98bbb41b7f03a384769bba951a33ae40db7bb2998703afa2b67bb22841e3a4fe4bbbb07f1133b1c7982bbb302153b387e9cbbaaae8a38040033bb2adcbd3a9fb83e3c6a5862bc4ba89dbc507fd73a86f2013c440fdabcd776bdbcc2d3803b64f01f3b7cb4e6bcb6fba6bcf8525f3b4d43253b75deccbcda6890bcc8004b3bc203ac3b0d5e9fbc14e972bcb11a293b5d7d053cd4b179bcf0c850bce23f3b3bb35e5d3c3f7a0fbc88411ebc81fb8b3b3d76993c1a58afbb12752fbc0651953b802b8d3c260f5abb193805bceb1f6b3bf4cfb0bb33a3ffbc0456313f5b73d13e4faeb8bb08901bbd62b2233f152dbe3eeef5d4bbcd8beabc86f80d3f7a76a23eb863ebbbdaa9a9bc59e6ed3eec45853ee7a4e4bbd1b568bce057be3e7add4e3ee44ddcbb98a823bc80ca903e9173133e69a4d3bb1673e7bbfdce443ecad5ae3d1431bebb979574bbc8b0dc3db675fe3cd3c0bdbbf50127bbf9e3a33c2bb244bc016a04bd29640cbb0000000000000000b6b52cbdb1899aba0000000000000000ac6c1fbd07a694ba00000000000000000b6214bdeb6330ba0000000000000000fdc706bd2aa164b90000000000000000776403bd2870d33a0000000000000000f7e1fdbc0cdc163b0000000000000000fe9ae8bc028e933b0000000000000000d8869cbc81f95f3b0000000000000000579c1ebb322ca3b90b82073cfbe1c23a76fda6ba8ddabbb974f2363c20c32b3b0df7f4baf0db6a3a348a343c7acb543b807dceba74f6e53abfc7433c72204f3b9a44a3ba299c133b5072193c9ea0c83a8546caba49003a3be6e3303c8696123a83927cba74ee403b0946193c45cb8cba6ebb31ba8feb533b2e7c123c4cc14bbb4e1985b751d58c3bf9ebd93b0be25fbb4b97bcbbd76f733af55c90bb898c99bb5e7abdbbfe02383b0be16fbb7a9988bbf931abbb4ba8303b4d9d8bbb6f8f80ba0dfba3bb75feac3a8d1695bba26e8d369e9694bb6d55f2387c7f5dbb5b278b3a5e5abbbb13eef33ab2f379bbdac8aa3a56c4a9bbe67c0a3af41c63bba891a93adc03dcbb5128243b55786abb2969a23a1cd7afbbb82efc39522f2abbec7f4a3a4e2e873c601127bcb227b7bc2a43a3396d6b4a3c4726acbc7222debc96271c3b5574fd3b4406b4bc2fbcbbbca23ba03a9f5eea3b832cafbc5a31aebcafb8cf3a1f47ef3b5eee4abc25d369bc5ec9023a365f263cc12147bc52d080bcbaf7053b29874c3cf2efb7bb2aed45bc942f733a22b2843c4788cbbad9bd44bcae46773b0869733c7efb77ba319f12bcab521e3b97904dbba71203bde2db0c3fb2b20c3f013f2fbb096d17bde293013f5480ff3e0ac597bbc1f0dabc6618e03ef477d93eeff2c0bbf3d1b6bce4f9be3ed6eab43e3cf8aebbd7384ebcdc93943e2df58a3e23fac8bb6d3e4fbc32286d3e7bbd4e3e8247c3bb102708bcf01b223e8637023e61f0cabbe478d0bbdc15bc3d9c38643d652db8bb37f05cbb40eeb73c274befbbc87f06bdeb9088bb00000000000000009b432cbd5db784bb0000000000000000620d17bd820182bb0000000000000000c9d619bd7f2a4dbb0000000000000000a69ae0bcc6b627bb00000000000000003dbe0fbd37da58ba00000000000000005bd500bdf171ab3a000000000000000055f407bd6bec263b00000000000000005589b6bc49783e3b0000000000000000953c1fbbf59f323acbab053cf731893bfb1e0bbbd259c33937ab233c9509b13bacea98ba6b31d5b9d85f3d3c90febe3b138f0ebb8044643ac26a2f3c8ee7b63b47a7dbba210ebe3af47a2d3c992f843b8ed0c7bae310043b55a32c3cb3a8163bebb59aba981f0b3bada6263c7ca2fe39fe9820bb5ca4233b0f5f1d3cbbc2d0ba4e4e1ebbf21ae93aba530a3c5ae245bbac4be0bbc646e53adc048bbbddd3d1bb142ac2bb96083b3b0ddbbdbb8b2c6dbb1209a2bba47d583b0f5653bb1fe959bbd6f398bbb5921e3b0baa90bbe39880ba280bb5bb7c5e753a361f83bbb6eef238a8e8c6bbe70bef3a5ffa73bb993358393813c7bb2ddd063bc27772bbda4f2639b0addcbb5668013b3b4460bbc5e9043a80b1a8bbfc7b983acdf340bbd5b0e6397d94823c5ab6dfbb8a1ad4bc270816b9b688753c8cfe9cbced3205bd4bbcd43a01700f3c3d34bfbc0260ecbc2f61cd3ad882073ce79fa8bc0944cbbcefa9ab3a9f880f3c6ca172bcb732acbc11d8413a1ecb1d3cd5091fbca53791bc3874143b1efa383c377255bb23f86abce11f253b4254673ca732373b828c53bc5fcc483baae7673c7f4c7f3b197731bc9727f73a03eedb3869c9f5bc2d5dd13ec1f1303feaf4d3b992021abd0072c33e2d54223fad1bd1bac431fdbc583eab3e314e0b3f7e928cbb20cdc0bcf8e9903ee56ae53e728da5bb03af90bcd6576c3e472fb43ef12fadbb7f526dbc542a383e8674843ed4b2aebbfca933bc4d54023e63a2293e9b8cb1bb255508bc072c9c3d92389d3d0497a6bb0699bebb5475b53cd7a88abb2c650bbd93dcbebb00000000000000002b7e3cbdc684c3bb0000000000000000e1ed27bd5a67c7bb00000000000000001a961ebdcc21aabb0000000000000000a01f16bd878d94bb0000000000000000a63a1bbdbbeb29bb000000000000000048151dbd79513339000000000000000005b31bbd94732e3b000000000000000081b5d6bc8ee62a3b0000000000000000eee6cfba64182cba057aa83b41dab03bf8a56dba2b2b0bbb548be93b1a200b3cd1cb24bb6f36c8ba44c3c03b8846d63bbb3ad4ba5af548384ec9053c6eb3fc3be482cbba6477113bcd89fb3b7a96ac3bcd05b1bae4d5823a06371e3c9369913b39d1bcb955e79f3a0e870a3c09f40a3bbde118bac27aa03af45c103c466011b92d3b02b9de36bd3a82b8d93bbc79a7ba7f16c3bbe679f63aefc243bbfbf7b7bb90dca3bb289d803bcae999bb184fd2bbf72539bbd421f73a66b696bba77c93b9b88990bb7f7bf83afe3777bb9eaac3ba9aa885bb44248a3a4f1665bbaff66bba1693a9bbfd75c93a33837bbb9d3ae4b9fa82afbb472bc93af5bd53bbca452bba8782dfbb2cb52b3b8f794cbb05ea7fba3127d2bb81332e3bcd2c18bb8bac9db772aa633cba2defbb705be6bc809f87b9dfdf5c3c8fd99ebc120a10bda690e93ac3142a3c3b86b1bc75f6debc4dfe54b84c20043c4698a2bcc5a4debc4476083a561bde3b2a574bbcd4b3a3bc936ef7399d7a013c25e701bc5d139abcdee0c93a376a003cd6316dbaf6cc61bcfc6afa3aa7eb223c9b1bdf3bcf2451bcc2a14f3b363b1c3cecef263ce5241fbcd1af553b4f15a63a6cfeebbce6578a3e9177553fec22e83a2ef308bdbd3f803e58c7433fde7910bb97ebc7bc0dea613e45c7243f00d910bb62f9b4bc4df9433ea45d0a3f7f3357bb200980bc592f1e3e46d1d63e5ca683bb4cc463bcadb2003ebe70a03e878b7bbb57b228bc94feb43de15f4e3e283f8dbbd90a13bcf2866a3d821ac43da12270bb8e07bebbf10d9b3c0346f2ba708c03bd05a6e2bb00000000000000000cee26bd92f612bc0000000000000000903e0fbd6ea803bc000000000000000018ed13bd4849fabb0000000000000000c7a003bd5933bdbb0000000000000000bad91bbd36a48dbb0000000000000000bafc10bd263e05bb00000000000000008a7027bdc7e3de3a00000000000000004fa1f7bc24b8983a0000000000000000e7644437ae422fbbdb5d1d3b994afd3b59feb0ba847bd6bafcd12b3b0760233cd8a049ba002637bbd83c883b0039223c94e5c1ba0e8749ba05b9ab3b2dfa143c1a070dbbc2b19839a286983b1166f83b456995b99bcd113aa68bc03b33a1cb3baea66cba3fb0dab7e4f6f43b5456133bc759d1b9fc35eab853bee63b4cbfc03a44b18fb9eebd2f3a8c09d33bc7d57539f550aebbac9b903b7b7123bb10e39abb2cc753bb93df9f3ba5e30abb0aa095bb76ed3ebb00e77f3bce732dbb433211bb35da0bbbffd7283b62a352bba3c2bbbab7d284bb64badb3abae278bb8f481bbaef6008bb78bb2b3b190420bb287405baa6d883bbafe3063b8278d2ba40a9e6ba3ff2adbbbc102f3b3a0e07bb4af60bbb605dbfbb5441e73a211bf7badd83afbaf57a343c6fa023bc0147fbbc04891ebbca7e0f3c7dffc6bc53e215bd30fbc83953fad63bc603e2bcff5702bde702313a24f5ac3bfef6b6bcab89dbbc87fd9bb9a57da13b6edb66bce3f8b1bcac8287399e99463b2a0a23bc712f90bcb06a0c3b544d803b2ad0063a1e9d55bcd774223b25c0843b0914113ca30229bcb051843b832bc83b69d8663c1df3ffbbcb2e1b3bfd0b2a3ba9c4d4bc13f8063edf667a3ff4663a3bc200e1bcaae9fd3d877f633fa0fa183a8b9fb1bc7320e83dbaa5413f42c656ba9d3b91bcaaabcc3da2d51f3f15c62abb05a74fbc96c7ab3d4176fa3e4b380bbb97c82ebc1ae88b3d49e7b93e3de769bb06591cbc4785553d8f636e3e5fda23bbcaa501bc2abc0f3deea8e13dc94648bb4565cabbd2fa803c4f3b2dbbd8efdbbce2f51ebc0000000000000000e9d502bd3a7224bc0000000000000000292ee5bc647016bc00000000000000007bafe2bcd75123bc000000000000000034fedabc83f61bbc0000000000000000187303bd1b7addbb00000000000000008d1112bd5ad668bb0000000000000000aa3e26bd5c268a38000000000000000056d805bdc9cc5d390000000000000000000000000000000000000000000000005ff27aba8068e8ba68123fb918700e3c9886c3ba8e7621bba34fb73a6f8f053c23f59dbab644a2ba5c7d033bdc6de23bebeb16ba206080ba245f5d3b5b94b83b461c33bac63922ba16df7f3bcb409f3b693703ba57e61fba5887943bd3a7163b1d95aab982cf44ba7274a43b5aea113b0000000000000000000000000000000000000000000000000000000000000000bac96dba934d4d3bcfcae9ba288131bb4a19adb7bb65c83a71b319bbdd0deeb9b68979b98a43fd3a5c0112bb7c9d8dbadb5538ba497a9f3a348300bbb7b692ba01e1b2ba7c80703a6f1704bbdb1881bab7e529bb8f39323b4530e8ba7b3db9bace9758bbd6f1ba3aeafb9aba915214bb00000000000000000000000000000000000000000000000000000000000000007ad1893b5a93b2bc899be4bc5269d5ba75bb433bcb88b4bc72f7bbbcf186d0ba8122083be54f96bc66af99bc86f4abba7860be3a80ce45bcb1ee67bc4fc860ba54563a3a6c9fe3bb371b3cbc537812badc14ca38484120394a4f12bc977f383a0bdf223a925e083ce226bebb6c780b3b000000000000000000000000000000000000000000000000000000000000803f0cb30c3bdb6d85bc9680173b3e93793f2925293ac1dd56bcb3b7fd3b2bbc533f0d0610baa1d122bca40c1d3c9f922e3f536a8bbaca85f6bbf0d12c3c80cd093f61c7cfbadf92cebb1b2e493c446acc3e7427e3bae736a1bb9a4d3d3c836e853e24f5dbbaeeeb9abb137b363c28adfe3d0000000000000000000000000000000000000000000000000000000000000000268865bc739028bc000000000000000059e744bc44d91bbc0000000000000000f3b84dbc95f50cbc00000000000000001da56cbcef12f5bb00000000000000004c8798bcc1fcdabb0000000000000000e35dc3bcc746a5bb0000000000000000f5d4e9bc78313fbb0000000000000000000000000000000000000000000000000000000000000000000000000000000056d84cb9756cbb3a07dee03a93ed88ba50d1d9382c7aec3a9299d73a04c75eba1164c1ba2768bd3aa2d2a73aab4d8aba2ee4a0bad2762a3b46937a3b319ed6ba876b64399c18c93abbcd373ad46656ba267446bad137273be9a36fba265100bb18e2bdba4c2a1d3b61d10e3bbf2957bb0000000000000000000000000000000000000000000000000000000000000000a078aaba4ad7f138dec648bb48df893aad8b7ebabb8da2ba3ef94bba9917cf3ad79a11babbbbc93708b713bbef66bc3a7048b9ba1fcb49ba13caa1baf76ef33ab966abb99cdad7bac3dccfb98db1a13a5fa304ba0372243a8b99afba5b26fe3a8769ccb8101bc93a1ae2c53a97ca133b0000000000000000000000000000000000000000000000000000000000000000e416443a302640bbc23705bbd0bc343afc38263a6d4534bb87afd9bac4a926babce9f439821f1cbbad3d8eba2e0656b803fa5a3a4d621ebb06c611bb34695bba3b2e303a31b5bfba68ec4eba64f2dd3956b1d5b8216a07bba42c97ba863e3d3ab4a06b3be7b157bb34bca2b9c37d823a0000000000000000000000000000000000000000000000000000803f00000000970a30b9d639f3b78192623f71f57439f8d5eeba778a013a844e423fddcaf538b5a7b4ba39f9893affe1213f9967d3b6255b26bb86f5e13ae5ae013f7169c4ba808bb4bad70e923a160ac23e5f4281badd6143ba93807e3b23ad803e9a8320bb466132b94ba0c43a9ac5033eafba91bb0000000000000000000000000000000000000000000000000000000000000000e27e0fbb42f6b3ba00000000000000006b59fcbaf43072ba00000000000000004d48eabaf2f216ba0000000000000000739e32bb21b9beba00000000000000007a00bdba7c9487b90000000000000000f74104bb6248203b00000000000000009b9c61bb0356ab39000000000000000000000000000000000000000000000000156db6ba1ac2133b16e6333bef9397baba5f90b9be13063b873d443bcfa4a1ba9984a739dfeb143b6e8e2e3be066b9bab830ceb92f24da3a81e10e3b3645aaba0a7e80b8e6b0193b66ca283b1e2169ba0791813ab1cd513b31aa2a3bb407aaba08eb38b90daa253b5e7f153b510d19bbac8a563aed055e3bdea1613a549f2ebbd420e738d081013bc5d4893a8593d7ba02fce1bae15c30ba437420bb6ff4e53a260afcbaee837fbaa121b5ba9668a93a2b7506bb927c98bac61427bbb228ec3aa2f9e8ba283e5ebaac3fa8badc44893af93deeba791385baf1eb73ba7023dc3a0535f3ba1c9d68badd09bdbaa611393b45c516bbb7b74aba11be8dba2e9ffb3ad7a717bb5aa2d5ba14d890b9ab914a3b33a7b9ba819094b99e7a1fbaeda90c3b63414e3b162a0ebbea7940bbcaaf41bb7f4e2e3b556551bb444857bbd16db2ba37da083bc59351bbb52a4cbb32b3dbba152edf3a1aaa43bbbf5035bbd71bbdbac930233b41efd7ba1d4415bb34d2b5bad823563b55dd6abbcb2720bbf40dbfbadd0b803bfd378fba8a682cbb141ca1ba5891a53b95a516bb201e20bbd7678abae8915c3bbc1d9abab9aec2ba6dbd09baa03e62bb48c90eba47d8623f7fbd013ef7132bbb10a77bba9553473f71dbe33d80a669bb046a7639fa7a2b3f0792c23de9af2bbbf71a3db90cfa0e3fbf7ba13da1b71bbb494d133a60f1e33e1767813d5a1d24bbcaaf49b95fd2ab3e302f383d6dac16bbbdb6343a6540663e3580fc3c9dc905bb6343fd3a7983ec3dedd8553cfe4ef3ba25f4763acbf56b3bd8dacfbaaeb826bb4b08f5ba00000000000000002a7e5dbb41c402bb0000000000000000332054bb523afdba0000000000000000ef7b4ebb1bdd00bb0000000000000000d6d22abb7d0ef4ba0000000000000000312e3dbb2909eaba0000000000000000fb226cbb4af81d3800000000000000009cb26dbb696dceba0000000000000000d12512bbdb547bba00000000000000008258c338648de03a068e313bb2db82ba9b1616ba755bfa3ad977a43b143df8b9ce8ed3b99fac0e3bf9ab4f3b18ba9fba7b059eba1fa7553b6a347b3b177960ba1590743aa8dc1a3b10e6243b8dd59eba50e3dcb5b41c363b85903f3bb185c3ba65c2c239b6f0233b7bc0153b0c69d0ba34e5ef38029f343b11e8193b587d05bb1bf984b978b0d83aebb2af3a807ed3bafc890fbb50c602394a8172baed74933a079568bb50ca213a6995dcbad0a2933aeac905bb114eb8ba09269fba93d8ae3a1fbc34bb86a2cfbada8e13bbbe4a313b29021abbb80eb4bab3ec95ba3b15dc3a932827bb3f1ba3ba350dafbab0f2113bb6cc13bb0b8c66ba069f70ba8dd2123bada11fbbfb548eba4f2d8dba3250373b3acce3ba4e4625b987d82a3ab87fd13aa9e1723b7c8db9ba40f54abbf25667bba7767e3bf8f7a2ba3fb653bbb0093dbbbae05a3bd02d10bb884f59bb81e8dcbab4a78b3b3a03f6babd0b71bb1bb120bb98f95f3b20c5b8ba16f934bb38b4f2ba16628a3b1b03c6ba7f2e4fbbd6b9ebba7a44823b8ec89bba8b2e2cbb9aa7c1ba9086a53b0de586baf67d32bbcdd4cdba2c55633bf43e5eba778df8ba0ad74fba0b9f68bba2d9c3ba885c423f9271813e5e263bbb727801bbbe1a2b3f6432633e7ee611bb387486ba30ab123f05c6423e92e766bb3591c0badbd9f53e1a3e233efda718bb9abf69b74fe4c33e3294013e092737bb1c47dc39d136943efb3cc23dfaac17bbe281143ae46d463ece80803dc2a53fbbaf49433aff01cd3d2d75fc3ca6e450babd755f393ae0793bc2b255bad71248bb28ba16bb0000000000000000d4e14ebb353b71bb0000000000000000fb3c55bbeda705bb00000000000000001c896bbbf41a38bb0000000000000000156742bb118100bb0000000000000000782d72bb67f216bb0000000000000000520551bb4097ebba00000000000000009ae863bb4860e8ba0000000000000000bb3024bbf1559fba0000000000000000979adfb913b3e23aef93623b8c7626ba6c4757ba7a36063bbef6883bdf17d0b9001d55ba02071b3b4e207d3bdc6138bacfef7eb981b02c3bd8ac743ba5143abab795a2b905092e3b41e0673b9b385bba7bcc0dbb22ff4a3b07466e3b06cf03bab4108b39d8e34d3b7d7b4b3be64da7baf71bc038a99f423b2fcf313b1094f4ba6cb99c3aa1f4453b7770243bf39773ba0a0539bb5de7c4ba0a6dbfba6f99613a97e846bbbaddffba814512bbbce85b3a1c3050bb9e286ab9e816efba89b2ad3a8a6f49bb6c8f04bbeaabdfbacd8bf63a1f2a3ebba88cc9ba56d7dabaceccdd3a7c4222bba5b54fbba8a2dcba90e51e3b34bc40bb462ae3ba6d3245bb2d592d3b94c84abb6f0fb8bad913b1ba776c303b7c04debaa1e8c7ba2f77b63929e3823a5d11983ba332c6b9442073bbbd3222bbe2a6a93bd9298bbaa4f290bba1f210bbec59a03b8f45c8ba9b6991bb771239bb0010953b158ababa9ce68abbacf033bb10c99c3bac5157ba8de86abb590627bb0e54ae3b3fca4fb9868b3dbbc50481bba6fea93bffe0f4b9a8ec56bb19b018bb2689b83bcb5a32ba40c957bb37d610bb852b9b3b2a062239d3ffedbab5b342bb295616bb96040dbb0823223f3776c23e4b8b58bb9fea34bb73cb0e3f411aab3e187f2abb025bf8ba1680f53ead95923ee1c044bb00aba0ba883acd3e00ae743e4a0b34bb7b0f39ba1987a43ec17c433e213a59bb22d986b9a296783ed808133ecf3e34bb0403c639efa0273e9661c33df8414fbb761291395c91ae3d0655433d13ac40bbee1fdc3a115c733bd402653ab60550bb153242bb0000000000000000580b82bb1ac944bb000000000000000088b482bbe9464dbb000000000000000052d783bbe7b050bb00000000000000004a826cbb75293fbb000000000000000078c34ebb16450dbb0000000000000000280c77bb89bd2bbb0000000000000000ee0684bb07261ebb0000000000000000ff8e1bbb5702a1ba000000000000000060758fbaf66ca13abc604b3b0d5a7db98f016438faa83c3bb21f693b3c03c4b9467eb0babf29413bf13a413b70dbb1baaee162b99839213b08e9793b1086eeb98181dfb910d4f83a5e0a333bfa3452ba69b0d2b856432e3bf79a613bb0f94eba96cc1fba0a54e83a4bf57e3b37827aba7c63e6b9714c833b21cf683bd1c194ba70a7bc375ad50e3b6e647e3ba251b23978b33dbbc4ebe6babaec07bbb15d92b829f455bb5fd088b939f4aaba3e2ba13abb31edba5bca20bbd97a32bbcb7d0f3be93157bbae6597ba77b1c2ba5037b83aea255dbb834c09bbf425dbba8add943a31b651bb56f8f2ba66d9d8bac873fa3ab85008bb76372cbb11b720bb66db7a3a37fb47bbd2c020bb3464feba9729e03aeaed58bb0645bdba98989fba7eaff23ada65913beca59f38f44e72bb1d6e87bac946953bfe391bba2cc4a3bb50306abb20a4803b1de2c6ba47e059bb5d4e23bb457e9d3ba6bc39ba84578bbbb0af5ebb4908773be7d02ebaf5e8d8ba85b1debab986a43bc4544fb929c86abb751044bba0c6b93b73dd78b8bfd630bb96891dbbc09ccc3b8198b939e50052bb2bc01fbbcf22843b5b8be43ae7529bbacaab2fbbbbea95bb036088ba7f9e013f838c013f516023bbf97218bb06eae43eae99e33ea23383bb348334ba5f8ec43ee0bec23e90be26bb92cbacbaf25ea43e85faa23e415370ba26038eba7926833e57c4813eda3141bb18d823ba56b9473ec199433e9a71f9ba55ddc7bac0c5073e30db023edd367bbb94e00aba0c0d8c3d52a4843d4d3326bbaa2e32b8a9e8a53b7ddd353b821253bbeced30bb0000000000000000a1108cbbc5cc7ebb00000000000000009a372abbfcce0fbb00000000000000009d877dbbf56567bb00000000000000004cef5cbbf7ddb2ba0000000000000000409f7cbbd7053fbb00000000000000003c3d38bbaae316bb0000000000000000409b81bbb2a628bb000000000000000029147abb766521bb00000000000000004219dbb72e34033b8c3f803befbe82b9cd775dba6298ff3a27ea863b3fb9bf393e91eab9d6260e3b492b873babff173ad92a0239cdb22b3b4934823b72a267b7f8c8abb915ff233b004f743b2c8c93b92741bbb95ae8183becca733ba456a2b98f2429ba2e1b1e3b8607663b7b1520ba8329d3b8df01253bf402573b192ca1ba8791d5376f11213b8f8a2f3bced229ba54e450bba1c931bbcae484ba601f2c3a649351bb9a5328bb1ee2e4ba1753ca398dc748bb5f4988ba8991e6ba15cc7a3a4babf2babca35bbb328747bbe5c9d53af22f52bbfeeb08bbd8aaccba788cba3ad66d57bb5e91f4bae793d5babc50d33acaf634bbaf1c33bb61ced4baac3ccd3a19be02bb3f2a25bb8976cebac092fb3ab11627bbf8dee7ba7c01b9ba6748f63a1b4aa63b5da360366e968cbb62a76abb9a8fba3b61e6063a71cda0bb0b5959bbb17aab3b94215d39bb7dd0bb25515bbb6f07aa3bcd7fc5b8d54b9cbb0b2f1cbb6a7b9d3b84a375b7508287bb265356bb15cba93b9b1fb339ae6581bb57ba35bbdba0ae3b046f153a159c64bb7b5904bba668af3b3ec6363ac98e86bbc1f9bbba6671903b4112833a9d132fbb9c1900bb44bf56bbe82cf5ba18bac13edd22223fac551fbb12f938bb9cc4ab3e26940e3fc95a2cbbbecc03bb35d7933e378cf43e9a8784bba24c89ba22e3773e7cd1cb3e27fe29bb12ef92ba0d1d473ebffea23ee3333cbb859788ba2c69173e35f6743e00eb3dbb8bae87bad2ffcd3d118e233e78db47bbf02100bad7095b3d4f51a53de0a42dbbc4013fb902f0a73bf8f7fd3af55660bb262864bb000000000000000094cf7dbba0a067bb0000000000000000dcc057bbb153afbb0000000000000000cfdbbdbb868f11bb0000000000000000921080bb707262bb0000000000000000782484bb4a294dbb0000000000000000a06c8fbb6b082abb00000000000000004a97a0bba066d1ba0000000000000000ca3e59bbe7130ebb00000000000000006dfa0fba2b9f633ac2a1193bb28d9838868b46ba048ac23a95b8773b8b09803aaa8855ba7592b23a60e6563b08c3443a8bd32eba267ce63ac5066f3b2280113a7420d9b9d4c3e43a85e7473b1a2034399453f5b9929c243becc28e3bc1003abac7e04bba981ee03a90a44d3b38856639499e91ba664ada3a2c094a3b3d63a9b9d7a58db87c6ff93a33ac2e3b055ddf380367c6ba11a1ceba468794ba080ebcb9649b57bb04211ebbeab3ceba3af4c9b76d8935bb0b8f31bbc08cdcba42639e397f124dbb7082faba7b97dfbad992433a161d1ebb9addbababb1bd1bafa00523aa11f72bb146213bb4a19e4baa3e7ba3a520a1fbbf93b9fba4a24daba5c5d163a539656bb9aedc3baac1777baf14c253a6c0addba79b214bb30d0a2ba43b29f3a20d95d3b75d8053a929b26bb97050cbb9ff49e3bb20c373ab7cda5bbe99d6bbb9f6b8a3becd58039aade85bb6b8838bbef9a973b1e008739f8db96bb20835abba016773bb2d1cb394ab55dbb41d028bb1db8af3b7fa814b9189327bb64f34dbbb834823be3c3a23a688941bbf11bfeba1ff3983b07f3e33a9afc5bbb89de20bb74e77a3bcb3de43a12e2eeba2ebf41bb6867abba108a19bb657c813ed717423f00f7f8bab8de2cbbb77f653ef5fb2a3fdbcf04bb13be00bb1339453e9654123f38471bbbc3a7f0bae23b263e4199f43ec27f14bbd1dda9ba7dfc043e29edc23e1fd631bbdac38aba7232cd3dfc50923eba001abb70b1abba22c8893da0e6433e40fd12bb48e90dbbf56e1d3d8081c63d65b615bbc0791eba09338d3bf3011a3ba94a47bb0ac5f0ba00000000000000001cec5dbb4d5178bb000000000000000066733abb3c893ebb00000000000000006d9c60bb789b72bb00000000000000000b903dbbe4fc3ebb0000000000000000332534bba0a982bb0000000000000000df4168bb8c0b1ebb0000000000000000ddcd8dbb9a2041bb0000000000000000af6234bb0f05b6ba00000000000000002c9e40ba6784083a10b8193b92a0973a0c93ce3919a13b3812b9773b5c5bf03aab6793ba32d4e63a1326233b844d0f3a1c8ecdb95848e73a9e0d6b3be1bac2b82761c2b996b3c33a93df353b0dd48f392e5e34ba42db9c3a3ce48b3bdf3bde3ac14e0aba5164683b73e04c3bedce3c3ad432c9b9d93ce03a4f17483b81011939daf010b97f99f23a610a4d3b28ea353a4ef0eebac64623bb7a30b2ba059ad2b90f288abb594b0fbb83b08eb97c279bba488528bbccec25ba34040bbbf7a2203a421824bb0b34efba9b4fc0ba5c372f3a19291ebb9577f1bae01cb7ba92b23b3ad0bf38bb02bedfbad795ecba4a419e39367c60bbaba7baba44a4d1baffbf0f3a27762bbb443ba8baefefcaba26f8593a113c5dbb88c5b7bab8828bba3e4f853a78be4f3b5d78913aee0071bb70d7f8ba884a9f3b66f7973a3c4dd0bbf5f596bb4c98893bfab73eb94e229abbb35150bbcce4893b5611513aba1196bbd08838bb6a45693ba6bda839fd0865bbbecd24bb941aa43b49511b3bb5746fbbf70629bbfb33793b5171eb3a622b85bb7fc934bba124853b3bb80c3b583f33bbcde1dfba363a7f3b92b32d3bd1e3b1ba930743bb40979abaf21707bb6f15023e42a8623f49e272b8c9314fbb8d44e93db884473f1fdc0fbb216db6ba6bf1c83d14b72a3f9de003bb4f03b5baafafa93d13870e3f463703bb86938dba0378883dd55ce33e94a00bbbdcebb7ba95664f3dbc8bab3eda6816bbe492023a6eac103d186f643e24271cbb03d9a7ba2651a33cabb0e63de21007bbf0ee45baee93803bc74d3c3b49c8fcbaf94a28bb0000000000000000ea3305bb6127a4bb00000000000000005c962fbb7a4459bb0000000000000000c2215abb9ca75abb00000000000000002be230bbd3c84fbb00000000000000000a047abba2824fbb0000000000000000ac383cbbdc7778bb0000000000000000dac884bb60ac3abb0000000000000000850620bbbd0b58bb000000000000000000000000000000000000000000000000f3a91abb968c07bb37fa193b13b9413bf6bca2ba3e22b9b95ed5183a10282e3b06f1e0b9e23ecf396346bc3a9466383aacb8a8394a2a1a3b5e1e413b9220953ae64d1cba5bff703acccd013be2fa0c3a8bdabeb97ed37b3a4aa7123bad7e6d396305bcb970e3773a9bf2063b8f99b4380000000000000000000000000000000000000000000000000000000000000000871e2abb836e2cbb1ee033bb88b13bbae1843e3993140dbb8e7bdcba31ab82ba5cdca4ba776c1dba107f43ba55e4d6b805392ebb331049b9a23414bb1139c5ba1072a0ba41cfc7badd51b1ba4c0e9839eb0cbebad522dbbad7a390ba5f7a86398d0228bae05b57ba58728dba935b4c39000000000000000000000000000000000000000000000000000000000000000066024a3b412c173bb77d88bb81b270bb8d95b237ca99e33a2584aaba6a722ebb3371e33aa0a836b8a48635bbbf32f1ba54904b3b6e91933aebd9c9bafdf54abb94f4153bbfe9483a0838f3ba15c190bac094263b8c9b813a521eecba098388badb4d1f3bcaa1ed3ad8ce09bb1b0816ba000000000000000000000000000000000000000000000000000000000000803faf0b14bb8f05c5badee1403a7a3f633fdcfdcdb8e1cfdcbac3543f372b96423f99971fba1f056aba2a95c73a0fb6213f4cec06bb375086b9158f663b838e013f1eaed1ba465171ba6423223be518c23e5331b0ba6fa8c7bac1c1223b67b0813edfb7afbac0707dba8e3b1c3b4644023e00000000000000000000000000000000000000000000000000000000000000004601aeba21e0ccba00000000000000006791b13af9a381bb0000000000000000aa7d9cbaff721bbb0000000000000000455a81baba0964bb00000000000000000e4fdfba79d9faba0000000000000000b1eb1dbb49280dbb0000000000000000f5b644bb940441bb000000000000000000000000000000000000000000000000000000000000000000000000000000006e022e390cf96e3baefd913cdeab233cce99be3a94ce743bdbc77c3cd618263c20d9d53a1438533ba740353c4365e13b6b8a0d3b5e502f3bf531eb3b7661cb3bf6ee5b3a219b413ba075c73b5069283b2409293a3a41823b4082093be849a03b134d4ebae55d583b8f5738bac039ea3a0000000000000000000000000000000000000000000000000000000000000000b4e3ec3a9d9720bb081b783b3a23b9bc456d4e3be090e7ba5b8ef83a5c37d0bc24cd833b765ea9ba6fa7173a7ed7cfbc3d507f3bf463e4ba7acb193a4d67cabc13453f3bbcbf36ba68e4833abf5cb3bca658ee3a341d38ba10fbca3a55bb8dbce460e0b999030c390614cd3a355815bc00000000000000000000000000000000000000000000000000000000000000002ce404be03271bbd9e0c553c807837bbfdc7f9bd15da1bbdbea3253c496119bbcfb2cdbde64817bdd335d73b5cdb04babbcda4bd8c7efcbcc46aa53bafe83aba38f76dbd7027b9bc5a92983bdf32f238249f1cbd1f0f44bc16bf413b83cab4ba782c4dbcd9ee5bba06a2173b13186eba0000000000000000000000000000000000000000000000000000803f00000000b559ff3b7e857fbd3eee9d3f19275dbd87f6c33b43b9f5bccf55833f623c03bd35e09b3b307238bcc2d7533faa26b6bcc796853b9b9dbdbb6714223f2742abbc5208623b9357b1ba60c7df3eb5acc3bc4d06793b91f444bb84d27d3eca7bd1bc709d363b869e20bcfa288a3d485e02bd00000000000000000000000000000000000000000000000000000000000000000dad8ebbc820403b00000000000000009cde9bbbb20a333b0000000000000000e51898bbb2dcb63a0000000000000000666338bb1f64e33a0000000000000000aa027e393a4b55ba0000000000000000a897a43b788b9fba0000000000000000f6ce1c3c89c802bb000000000000000000000000000000000000000000000000245fa539b87308bb8d4d7f3c0a16463be2bb3eb8e4fb703b9f29c13cca69503c49ff033bed76b03bf696b03cefbf473cd89d8c3ab13d893b9354983c5d972c3cf144f03a3c6d723b126e543cea23e03b145daa3a2280813b6fa11c3c918cc93b77b6293ab4c2823b1ea5a03b6697803b40b304bbc20f8d3be97e093bfe87333bda805ebae719eab81413fbba6fa628ba59d69c3a6838cbba225d023c72e7d4bca4dcf138d7b156bb04bf263c7e93f4bc6bbf693b74d657bbb69de53bcebf0fbd9024763bb03228bb361baa3be3270bbdd6b08e3be52b23bae895493bd3e6f5bc1c9c713bdbddccba2376783b3b21d6bccd820e3b8cbca0ba1203723b3d49aabca33b3e3abe3054ba6c2fa23b26175dbc8c059d37f883acb996b04c3bc5fa97bb6ae685bddff7f9bc09e39a3bf221a2b985d004be736627bdfe712a3c23ba91ba415d08be14b455bd2235f23bb0c62fb74fc9e8bd843f4cbd5098803bd5accc3a7726afbd538c2ebde3662e3b6eaa253af80486bd675c02bd2f002f3b803d133aeaf71bbd06f698bcfe49df3a74e1483aecbc2fbcae31f9bbead2043b3321d1ba37e0713c381fca3ac9b4683bcbc0b7b929d55c3cef9a00bebd0b9e3f9d05a43da1aa973ca29201bedac6973f9be1873dc31d333cd7eeacbd9dbc823fe675923d27470f3c05d864bdd641533f14a7823de96cc03bf6d616bddbe21e3f137b3d3d1c7bb73b5a21fbbc02e4dc3e3445cc3c02bec83b052ae7bcabf2783e2d5c643b10462a3ccbc7cfbc671e7f3db4b930bcda42c63bcfb8d0bc710153bd984101bd3278f6bc3044cf3b0000000000000000270cdbbcd553ce3b0000000000000000b428d9bcc3bdc23b000000000000000058c5b7bc2eb7773b00000000000000001e008bbc9f33253b0000000000000000e4d043bc94258c3a0000000000000000c265cdbb698c6d3a00000000000000005832823b7ed454ba0000000000000000dbeb4e3b1fd58eba0000000000000000188c0d3bcf219dbb939c6c3c6feca33acc84f03a485f76bae47a923cf8a4023cec594f3bb8d46bbb2f179d3c0cf1d63b1c0e583bf1696438dc588b3c20fb073cb8590a3b2b5b4dbac4d7493cd0c8a83b7d26223b1380543ad2561a3c2696943b2834653a9d82273a13339e3b27c6043bd62b29bad2deb0b9da05113bf35da73ab65f5c32e1adedb9c4f1b9b932faf8bac52ea13aea03b9b9697b083c5c2dedbc749a8e3b03c44ebb96383a3ce6770ebd726eb23bea5060b95edbb83bb02e06bd4c51bd3b6db8f1ba42efc63b2fea06bde2be893b3b6239ba9370833b5ebcdcbc8e37943b85cf5eba6bc0893bbc24d9bc1caf3f3b8aef6cba2f97983b427990bc6e3dfd3aea54c0baf090853b5c555ebc839ebb3a058b92bac4e5793bef33bfbb8eb0fcbc23a6e1bcc311d8bb5a9b313b5edfaebda5c75cbd9d79feba534c7d3b7d11a5bdf0b16ebd32bc91bbbda5a33ac0c0b3bd826c79bd37617bbb8192873bae8b7fbd5c8b3dbdab9f69bb805d1b3bbadd4cbd2afe20bdae7e3bbbe4b14d3b3ba9d2bc1e11c0bc77ddddb903c1f13ad436aabbcaf214bce16b893a31079a3a64cb433c407b97babc333f3be8f54cb81fd3533c9ff1fdbd03fa833face3843eb8109b3c4b250ebe5a9f833ff847773ea7b12f3cd76cadbdb41b5b3f15f65f3e42b9323c2fda9ebd52293c3f461c383e5b00083ca29a56bd0ff50c3fe467093ed341163c898a44bd69a9ca3ecd0db63d7aa5f63bce9d17bd8153713e7eb8383d4acf473c79041dbd4377af3d8f513e3a481e013c0feaffbc28afa1bcaa59dcbc81de5cbd25fbfb3b000000000000000089b076bd8a0e2e3c0000000000000000c6993bbdf388a63b00000000000000007e9434bd8808f73b0000000000000000768608bd24988d3b0000000000000000b606ecbc9eb8923b0000000000000000781ab6bc9ea18e3b000000000000000044755ebcd1553c3b00000000000000004b41f1bb0ade793b000000000000000001af133b168ac2bbb554443c34e6bc3aeaca3e3bc84249bb25bc6e3c85f0f83b523b2f3ba6912fba3880803c2f5b043cabc3243b700b95bae905733c771fe43b343af03a0b36fdb988c4453c5816a93b9fde023bcc172bb989c0083ccdb8053ba51a943a499d3bba95a2093ca7b3243bd39299396b850bba9d93243b16ab44389872203abf8e6dbb8ca63f3bbac2a6ba0bcfec3ac01ca2b6f0dad33b2c0df9bc73220b3b77ced0b984be223cdcfb11bde518e73b5d3ff8bae2a3f13ba99803bdcef8953ba2a512b94fd4c33b4c55f2bcb15b7c3b421a533aa556983b039fd8bcd881a43b310176bad957a93ba3aab9bc1b61213b693ac4baf0ec993b68c09dbcd26b023b44e00ebbe057a63b7b8c41bc7a64483a750b8aba882d923b6c310cbc92fe18bc83f9f0bca73895bc4b33ab3b5d1b5bbdf3367abdadf66fbcb670f53b638390bd1ccb92bd098959bccc80d63b502b86bd521d86bd25b854bc73f8a53b5db559bda5cf68bd4a3838bc2c92ce3bf0b425bdb7ef28bdd713cbbb02b87a3b512ebfbc5a2df3bc8b8c2cbb0fc8873b86edc0bbc36b4bbcb616193b5f8ecd3a8d181f3c599503ba10b2043bb5c65e3bcfd21d3c5260ddbddde7553fbe33e53e1adc8c3cd992ffbd74e8553fcd0edc3ed15f523cf8b3cbbdd8ce3c3fbcacc03e82f9253c827e9bbd87ec1b3f145f9e3e0c20fa3b578975bd5efef33e2ac1703e71380e3c86b04ebd5431af3edb8c243e0cdd163cefab3abdfa38563e1444af3de8e92a3c5eb824bd084ab83d35a69f3c8042c03bd73cfbbc1260133a1ad1d0bc1c0396bd8c570a3c00000000000000003172afbdc44c4e3c000000000000000041e095bdea72273c00000000000000004a087bbdac2f0d3c0000000000000000544c59bd88bcd43b0000000000000000b54238bdcc37fe3b000000000000000099ed18bd7697f53b0000000000000000a995e0bcbe29033c00000000000000001bd1b5bcc2c59e3b000000000000000030431e3bc57ebcbb1e10043cd8e7493bb8b3193b40952abb4137363cf289b43be131033bd555bbba70db2d3c7400593c3f812b3bf87bd4bae1cb3f3cda9bda3b4ca9a03a0fd2c5bac73e013c2e93333b1782053b3f0abbbaf976153cff4a753b959e0c3ae3efa1b9473adc3bb3ab803af2f5d6394e7cdebadcfe503bf69ad7b9e77201ba880ffdbac604173b188e91ba0096173a443ee43a9504af3b01b6debc7c9fac3b6992d53661effe3b0751f4bc180c273b62430b3a315dbe3bb5f5d6bcecbe9d3bf804213b14ffaa3b0a6fd1bca169093ba4dca33aae7c3f3b688f95bce6515f3baa90d03aefc7883b5cf8a2bc51d31a3b1ef376ba4c339d3b0c876ebcaffdb03aa0dd9eba97e0a13bf1e922bcb7298639042589ba5743693ba539a7bb90511f3a8b3802bd9215dfbc2160003cef8607bdb43589bd8ecacabc36301e3c586543bd19c59abd6d2fc9bc45fa0d3c55844cbd2bea97bdf050abbc0c23f23b3c91f2bcfa9548bd4e3e7abccc77993b93bc0abda72042bda2fc50bc449dcb3b247db0bc7ca7edbc7f11b0bbd801a63bdc42e3bbfe5e47bc54f8c6b863e3743b3f6edb3bc54616397e820139d3196c3bd175093c0e05bebd065d243f9c00243f515d5b3c567fd1bd6a38223fa8bc1e3f0d4f223c26cba3bdb18a0e3f591b083f8a561b3ccbbe8dbd27c5f53e2fd9e23ebfb29d3b71c12fbd85c8b63e1344a43e7576e93b054843bd0fe28e3e426b6f3e96bbb83b8c1521bd749d373e6041083e073e083c14c916bd208da83d15b31d3dc658b43b8c92e7bca857133c4f2acbbcddecbdbd6a82153c0000000000000000a814d8bd2b504d3c00000000000000000305b0bd681f433c0000000000000000e7a99dbd67d3083c000000000000000031b85bbd33b9983b0000000000000000a5dd6ebd9906fc3b0000000000000000e7af44bd8147083c00000000000000001b6f23bd1dcd253c00000000000000001849f6bcbaf6173c0000000000000000c5f5bb3adc6759bb961ccf3b08c68f3bb4b4cc3ac447aabaadadf63b9d111f3cb40b0a3ba3c25bbad07d283cff972f3c6f02c13a66b65e3809f12c3cfa162e3cd617673a2d7700ba55ae073c6117e73b6d861b3b913b92ba43e0ec3be0afa43bf62896383ea899b74b4fc13b8e86363b65f8ebb9cf9680ba74ea8d3b3ee497b91e6db439a261eeba9d9d253b60e30dbb0cb4a539dcd4533a7a55be3bf6ecbebc9b8de73bf23050ba2497ce3b21afc4bc7c62023cdea57dba9901973bb08cb1bc5264c53b58fca5398660803b1503a6bc56879d3bb550b23a3fb3843b55b58bbcd50e883b2e7648394e95053b7aaa71bc4c4a393b2a07bcba03ef723b8e8a23bcf9f8a93a115523bb707b5f3b0f82cfbbfb9262b80ac42dbac1843f3b96e26abbde55083b837712bd5ee0ffbcd5ad213cd5f2d9bc3b92aabd758d04bde57d593c34052abd890dc7bd61bef0bc01e63c3c12842dbd1918b2bd24c5ddbc0f6e183c78cc17bda3b28fbd8fa2b4bc2e33093ccea302bd3e2e56bd7f3a7bbcf3a1dd3b36c2bbbc49fc06bdd0e2d2bba798bb3bc97f36bc5ed040bce4d1b1392e1d733bd1560e3b225f7e3b8259c03a46be443b50d0f13bcfa998bd2f7fe63ef88a553f0388563c3b07aebd4db0e33e6d59523fb7d42d3c47388ebda62ad03e4315373f9968063cd63e6bbd96cbb03e44f2133fa5b3cc3b69ea40bded35903ec84ae03efa84ea3bc1a824bdcea5563e423a9a3e35b8ce3b549111bd73de0b3e24f52d3eea35fe3ba37102bd690d883d0717533d9c19933b96fac9bc244d253c5b0be3bc69e8dabdce1c2d3c0000000000000000845603be118a7c3c0000000000000000493ed7bd3908413c00000000000000006933b6bd1c64303c0000000000000000353199bd81d40e3c000000000000000036be85bd3083253c000000000000000048486cbd1d0a403c000000000000000050e645bd48d3633c00000000000000002ea616bd7c50303c000000000000000016f7983a4540eabae360463b517ee63ba7915539e4408d3a2a3acb3be410723c4415843a23795b3aa11bbf3b9190593cf0dda33ad1bf4d3ac6b8043c5a76573c893eab392c9a9a3af086ce3be1140f3c22fe68394d37d33ab39ece3b8bbdd63b004a503aa4392bbbfc95293c16412c3a8dd597bae70b693ac75a893b94b2b4b9bf1020bacf02c2ba1d70363bd842eaba163e5b3b61b880ba335f343b8bc766bc630d243c37e59dbb02f0ae3b608d64bcf383fe3bcb9103ba81182c3b853b4fbc3c660a3c2fe83cbaa600423b051656bc4f547d3bfff9ac3ae6cd203bc1d237bcdb19a43b401b4ebaf694213b11a204bcad97493bdea486ba3af9633bc17af3bbfa9a233be9e056bbfe080f3b89b314bbe44b2ab96ae00dbb71893b3bf910b0ba352c233a780b53bd5833f4bc6afa4e3cae2fd3bc4becdebd9c5a09bd3a30823ce71ffcbce4cdcbbd050709bd484d2d3c2f591bbdb641d3bdc50d03bd7b68363c8e8302bde1729bbd22bcbfbc681adb3bc26c01bd6d5674bd7a5489bc434fe83ba2b4bdbc73c00bbd87f210bcf628b03b7d2467bc6df735bce5c4cb3a4117c23a63601fbbdd24e03bba7f5a3baf03263b58e8023cee7d61bda3ad853e7c9f833f2845373c09a774bd57b4823e0e72823f3ac6e03b02043ebdbd87793e851e563f6bf9de3ba55e2abd0c2b5d3e8dfc353f4e02b63bed1d03bd4e98343e60f3053fd251873b06f7eebcb4110b3efe40bb3ea672db3b936de8bc9622bf3d3f69523e15a9ab3b4d81adbc72922f3d80d1683d0005873b0f9f88bcfa1fa83bbd152dbd45a1fabd9c7f443c0000000000000000524d12be102aa03c0000000000000000ab20cabda404243c0000000000000000e445bdbde71c293c0000000000000000115a91bd4723063c00000000000000006ab08bbdd61e2a3c00000000000000005ca461bda089263c0000000000000000fb7143bd78e1823c000000000000000012c115bd1be85d3c00000000000000006526a1ba4d7eb33a0832083a1de5663c54947dba7468953b5bf7583b1c2ea73ca90855ba8b756c3b9b09e73bd8f6a73cb7dd11bac28a5a3b4164d93b14be843c4f2d28391adffe3ad078d03bc1fd2f3caccde4b9a6bfba3ad410cd3b81911b3ce94388baf4451c3b1882c83bd11e773b35c8c8ba541e30397f11d43b6e9e93b97f4e94ba813894b92b84253b313a37bbac52ad3ba0e08cbbe9d41e3bf62fa6bb0f7c7a3cf15e07bc3a7ee536495ccdbaa7bc543c807671bbffc1033a105280bbb63f2d3c8b75f7b9849f4d3a51d981bb549e063c81339438adfd233a3b1797bb6449943b797b413a0badba3a5c0a32bb05fbdf3bc28837bbc5a9e93a19af08bb7c8b443b760d65bba41c963ab171343b2735e13952aa09bbdfdcd53a46cc0a3b0edc10bc7cd79fbd15efedbc3c9c443c1e21c7bcc27211bee0f8d5bc4085823c686a10bdf39e11be571a0fbd0a20413c0c3212bd790ffbbd024a0bbd8527233c789f06bd7aa6bebd1ee4e2bce8f2e23b168cffbc09bb8cbda69ca6bc8134d43b3a0dc6bcd82d30bde47d08bc1fdcfc3ad1ab80bc772850bc3dec3c3b9faa86bab837a5bb2564313cf888cd3bda1767b9cb23f13b1aa501bd80b1a43d12989d3f0ae6d33b4d3bdfbc36daa43d6c21973ff6a3c73bec8bc9bc4b18c23d8f69813fe07f9b3b69b6abbcf502c13d87f94f3ff48a343b4e6287bc275ead3d16681b3f15850f3b21e86bbc8899843dace2d43e24e8c23a44422dbcbcbe313d62d5663e3e25c13a62f6f4bb8cc7803cf1c34b3d5771d93a65b3f7bb2aada4bb07f485bd85f300be96d0803c000000000000000031bf07bec81a803c0000000000000000b3b8c7bd214b4c3c00000000000000003bab99bd0608ee3b0000000000000000c85975bd67cfcf3b0000000000000000251b60bddbe4f43b00000000000000002ab23fbde58e3c3c0000000000000000056610bdcc896f3c000000000000000075b70dbdcfd7513c000000000000000000000000000000000000000000000000b463fdbaf257553b2c90d33a5e9ba13ce6379d3955d94f3b47d9213b52d0833cda2883389060093b94fa213b7f863e3cc1cf22ba7a584f3bb6c4093bf22e113cd2f46c3a40f8de3abd40483bed38bb3b6b1ab4b9a245d43a7928843b4f2c363bcf1f97ba2643ac3a2a47863bdd9414ba0000000000000000000000000000000000000000000000000000000000000000a100373ceba095bbe5347fb7de31a83bf5a32e3cfb567aba0ea83dba63606b3b6ddcf83bd00c73b9b39443bac079df39500fc43b9a0bd43a25d04cbaead9993a16029f3bead188b82c7205baef6f0e3a25686a3ba75ad8b9c7fe9bb88815b13a69ef3f3bcd13b8ba4577e5b95f665e3b00000000000000000000000000000000000000000000000000000000000000006090d0bcb50f07be7c11eabc8ffbfa3bdacfe0bc645100be3989f0bc4e7dcc3b38d0ddbcd908cfbdbae7f4bc78cc8b3b2656dbbc3b07a8bdaaf0d5bc68530e3bceb5c7bc0ed26dbdeae592bc05060d3bdfe3aabc2c3418bd977309bcb6ee873a318e7abc5cd944bce16ff439b82f5bba000000000000000000000000000000000000000000000000000000000000803f4489283b5df092bbed5d3fbd18279e3ff3cb0c3b956b4fbbbef38ebc634b833f3bf4523b93af80bbd607b23a2778533f5407943a3d462bbbf8eed33bbb99213f39eceb39055e20ba9df2e63b8b21de3e4ba696b985b86f3aa9550a3b8b207c3ece69ca3629860e3b03bed8bbb903873d0000000000000000000000000000000000000000000000000000000000000000398a93bd6047133c0000000000000000be8d33bda123273b0000000000000000ed77f6bcfa50b03a00000000000000008fd2d0bca428e23a00000000000000003386ccbc5ce3a43a00000000000000002ff7c7bc7b4b813b000000000000000017addbbc3477cd3b000000000000000000000000000000000000000000000000000000000000000000000000000000006d2b043baf7834bbd87f223c00ea0c3c8971343bea1c8abab21c003c1ff4223c0b213d3adadcaaba8a53b93bfc2bcf3baf4e8bb6cd2dab39de3a303babee783b8c88913ac078b63925d5b73a3001603b1e866cbaf3667d3b1ba9b3b9dd56973b81884f3ac970a73af42792ba6c30d73a0000000000000000000000000000000000000000000000000000000000000000038e943bf0a31abb2eca4a3b6a21aebcb5618e3bf0d52dbb9dad163bc157a0bcfda3b13b5ae30abbcd79993a7ccca3bce3f9c93b2b67b9baecf7d13aabfc96bc95a4913b4232aabad9a5ea3a6ad492bc995ef33af755e7b95198833a6b8a83bcac27073b828adeb9c419403b9c117fbc0000000000000000000000000000000000000000000000000000000000000000426db6bdc8be39bdc56a413c91e331bb1fbbb3bdc0ef2cbd63f2273c7040e2ba28f795bdba4a1bbd4cf3f93b5723c8badbf471bde4d500bdf9bdd73b7cf645bb873c38bddfb2babc103dd33b9a33e1bad3ece6bc578c20bcf5579e3bfa4082bb85ea4abc61963fbb52afb63bbdfe26bb0000000000000000000000000000000000000000000000000000803f000000006a56493bf2a82dbd6508953fc54526bdd917873bc3658ebc03bb793f0985f5bce354e93ade919cbb5bcd4b3fc796dabc9facf43adb03dc3a48011e3f4032e5bc43dd5d3a133c283b0d1ee33eb70208bd08dd163b6aff68b9fe54873e0df423bdc7d4383bfc0af9bbb09fcf3df8643bbd0000000000000000000000000000000000000000000000000000000000000000422fb4bb038f133b00000000000000008e5146bb198dce3a000000000000000059e195bbc3da023b000000000000000061c266bb6bc34a3b0000000000000000e4bec238174afb3900000000000000009605963b9083573b0000000000000000847f233cdeb213bb000000000000000000000000000000000000000000000000aeda8e3b79de00bc6f9f6e3ca47c0d3b48fda73b6eb7f5bb7b3b9f3cf3ba103c85399c3b17c4e6bbe404933c29dbed3b5b2d543b277692bbaf75763c550ac33b5e38043b51fc34bb5863333c8530463b73e2e33a8da2dfbac1800d3ca904b939f818cd3a7d553abad911c03b9a6af63ae4443139ffbc2e3a67c5373bd04abe3a2e591a3a040a1aba5c24c83a41c5e8ba4622613bd3441abb755d8b3b19910dbd07c0b93bf0d277bb3f26253cb2b017bdee5dde3b001d68bb9537953b0e5c0fbd6830f63becee5abbe32a9a3b152405bd38ece63bedec48bbf73a323b566beebc554bda3b9ab918bb78c7883bdb3feebc24537d3b03ede7ba45ba993b2191dcbcc333bf3a87a13cbaf60cc13ba87db0bc2855063b82c38eba62d4653bfcb452bc0d7cd7bcdeb042bd17084b3b51b6823a282ba4bd3f7f6bbd63c4283c5b3d08bba3e0aebd370474bdcafbde3bb3f2d6b94ad799bdc59067bdd015ed3b29161cba484163bda3043cbdb831d83b391c49badd562ebdb4da0cbdef3ce93b04fbd5bad933cbbc0987b8bcd00cd13b81b4bdbaa523a6bbbd0500bc23efe63bb88062bbab40593c75bf33bb8496b53b9a0833bb65154d3c6d73c5bdcb50953f6b93c83d9eb26f3c086fc1bdfb9f8e3fe10cac3d493b153c804880bdfa8e753fde8b993d3653e93bd53833bdf7d1493f8b55653d6903a43be625f4bc6f941b3ff918103d4270b93b42fad9bcc98fe13e01c50f3c649fc93b0482d4bcee8c8a3e886f66bcd9b3153c4fd700bd9fc9db3d53440ebdff76b73bf567e5bc740471bcdbd042bd6c6eedbc17a5cc3b00000000000000007272e3bc7173bc3b0000000000000000e1c6d5bc90c3d03b0000000000000000a8e2b9bc555f9f3b00000000000000008aa696bcc809913b00000000000000000b924bbc63995b3b0000000000000000ec9cd4bb604df83a0000000000000000faf5193b9acdb2390000000000000000daa6293b2d8a0a3b000000000000000027a4903b307c55bcf80a963cce81b7bbeb25be3baaed5abc7acfa33ca37f42b9d760423be6620ebc01128f3ce42b6639d6f3643b4e061cbc916e8d3cb4c390b931cd033bb109c7bbb52f4a3c73e426bb18221d3b528ba5bb8c4a463c14f37eba3f47a63a45ad48bb2153f83b6c61a0bb762e8d3ad1868abbbaacde3b6db618bb360c6c39384fd2bad37a493b0a8b76bbfc399e3be09de6ba30b1033cd32013bd8293273c1be39bbb37a8313cba242bbd9016003c91303cbb54d0c03bc35c06bd181a283cca2c84bbae6eea3b818a10bdb4b1053c83952abb3c17bc3b1046f8bced44d13bf7e44fbba4eda93b776efbbc7615f93b8c5af7bab911883b32aabdbcf1f98d3b52a552bbd413fc3bcb17d0bc4e85323bae4306bb545b923b3c5974bcfcd3303b2fa428bd843ffabb5862583bc24210bda71e89bdea3906bb28ce163b7bff19bdd23b7dbd8534d5bb55fc873b97ef3cbdf48788bd8d65b0b8580f2b3bf0b5f2bc25da56bd9ebd4ebab757e03a20c1c5bcfc9435bdd7be3e3b53defa3a9a3616bcb24103bd750dab3b77681fbbae18d63bff9794bc9a59fc3bfc279aba5127933c64c204bc9c8dad3b8675bfbac1d74c3cee80d0bd18777a3fb02a893e18358b3cae52e4bdd482763f367a793e3447223cf3bc95bdf0a94d3f60ee583e6e022a3cc8ed89bd6fad343f39392a3e8279113cd7944ebd8c240b3fb305f63d6e52193cbdd341bd206cd13e599f933d34bf033c2f601bbd0d4c883e9393ef3c67ea433cede031bd32e4023ed67386bc5718e93b2d2808bdcbd46c3cffb825bd39e151bd8e4c113c0000000000000000928f69bd981f3f3c0000000000000000d48445bd0b06023c0000000000000000e81e36bdd01e133c00000000000000006c9f0ebd17f3e83b0000000000000000447201bd8a71ec3b0000000000000000e484b9bca1a2e83b0000000000000000b2436abceffa9e3b0000000000000000a8e718bc206bbc3b000000000000000032fc763ba73a5ebc16ff953cdba213bca574b63bad4274bc6017a13c5dc881bbbe47993b8cad4bbcf741943c02692ebbbff93f3bc8eb20bc41229a3ce63c80bb07643f3bb3fc02bce60e663c08167fbb0c45113bf029f0bbee3c403c5c1c73bbe1e6ed3a577bbfbb9e29343c234d8cbb33098b3a68ac99bb3162eb3bd4e7a4bb2236893adae58fbb974add3b894892bb204ca63bc5c197ba6648ca3b8fd513bd77d6073c1afb78bb6b822d3ce9c128bdceff343c73cf73bb86b4093c2e791cbd4062233c223a81bb8305f83b51d411bd2ee9043cdae410bb6108883bae1602bd4c39fe3bdc865bbb7ac4c53bf2dfebbcebd6d13b9ab177bb0082d43b55a2debc4730b63b581d8fbb3c9ddc3bc18abdbc8df7863bff6532bb0fc22e3be49060bcd448ad3cbbf317bd13af9ebcda78d63baf160abc3f3c8bbd94ab57bc0dbbf13bb51cd0bc289a99bd479a4ebc89b1c03bb6b6dabcdf408ebddb2b04bc289bb93b88b594bc169d79bd5fc2febb5d68a83ba46b55bc417453bd9d9f25bb6da26f3b7d5112bbcd8413bd08b91d3b7f64303b5ae8093c2642acbc0cb7d83b596394381c07a83c14973dbc8e82713b8043b73a4dc62f3c0a6cbcbdfb684c3f97cae03eece1903c0cc5e7bd6d264a3fa36fd33ef3f45f3c1089b3bdf5fa333fa24cb63e39e8343c66f192bdf7b3173f217a933ea0bb2e3c93fe6cbdf944f33eac605d3ec742203cb94457bdab2eb73eeb9a133e032b273c373746bd98dc763e8f82943d8bbc373cd9623fbd347e043ef05fd33b6451e43bf61311bdb1ca0a3d0c7610bd46f78bbd804c283c00000000000000000a18a3bdeb165f3c000000000000000091e990bdee48543c0000000000000000ee1f82bd6238333c0000000000000000bf7163bd4025363c000000000000000085df41bd65a52b3c0000000000000000793c25bd4026253c0000000000000000e3d3f8bc50b5233c000000000000000066b0bdbcc59a0a3c0000000000000000bbf25a3beac155bc121b873cd60e00bc2685bb3b39d274bc62049b3cc0d2e7bb09c1603ba61f37bc4531853c61a391bbdc70513bea8234bc8453843c057abfbbb64a873a315be0bb74b7453ccb3de1bbef331a3bfc540dbc7b285d3c221dd4bb3584953a46dbbbbb573f2e3cee47cebb080b803aeef9b4bbd56e093cda0ad9bb5f4b053ae9575fbb6feefa3bd177f1bb17e36f3b79b7ab383518a83b7b810dbd641c213c241450bb0d691d3cdfd220bdd905133c17631fbba7a7c73b852900bdd23e0d3cdedd9aba7235c33b9e7b00bdd6f7763b30e809391b67343bb90dafbc3b390d3cff7f23bbd8f7ac3b3e50dcbcd45dac3b549939bb3624a73b82b2acbc2765c23bdff48abbcd19bc3b9757a4bc6f1d533bd6af27bbbf7e793b9c1c63bc4118ea3c47620fbd2513eabccc290d3cb149d93ba70d8abd0f21ddbc6fff353c64e9c4bb4ea590bda4c1b7bc3c64093cbe1054bcf7f595bdd0879bbcd4010a3c4d5004bb63ee46bde5b371bce03bc43bb0b1afbb736250bd60902ebc7f5cd63b42f38a3aed730fbde80517bbbb3a853b620b1b3c82e3afbc34f5683b89c50a3be8ee913caad52bbc1561253b1a5d353b664f343caee2abbdf7171f3f73d71d3f390a5a3ca2d8bdbd6a661b3f31a2153fa5031f3cbd2896bd408c093fb709fe3e6939383ccebe8bbd6703f23ec333d33ebb0a9a3b87f538bd5bd8b83e6b9c9a3e1fee1d3c89a750bdf4d1983ebc405e3efee8f93b16d32fbd79534e3eda21f83d17052e3c888531bdb169f23dea05063d8324d43b3cf20dbd77df213dd64aefbc0cf9a8bd6afe213c00000000000000005eb5c4bdf603723c0000000000000000616fa2bd85363f3c0000000000000000746c9fbdd1d1503c0000000000000000bff564bdc2dd033c0000000000000000a2ab7fbdf25e4b3c0000000000000000d8a148bdc416303c0000000000000000277b31bd1549533c0000000000000000d3b708bde870383c0000000000000000458e423b1c1137bc9f7d773cf7a5f3bba0f6a43b64834cbca65b593cde1878bb5f18a03b4d3339bc9b004b3c46d99aba8ab7413bf9cc0fbc3398463c5deee8badd276f3b692f22bc30c3463c4ed511bbc4b5de3add8ae1bbeb7b433c7bb296bb5623a03a0ee6a9bb526b253c17a6c2bb2799753a423ac8bb149b0d3ca07bacbbfaa62139c96a61bbc4e7ff3bab6dc6bb63a2263b08844339faebb43bb5d7e5bca3a4443ce0ef90bbba0d113c2fc80bbda8ae453c47f943bbb6d7df3b7572f2bc8ba62b3c997e4cbba3a4cf3b99c8d9bcd6bb023c66f00dbb23139a3b87b0ccbcb234fc3bc1375bbbc5abfc3b0d5fbebc916eeb3b66ff76bbd609c43b3b74acbc5105cf3bed3fc0bb4fd50a3c0b0d92bc8cb3193bac2c36bbc249703b3ae134bcda84c73cb5410ebdcb140abd6446283cfecc0b3ca39e98bd43ad0abdec40523cf1ccc6bbad64aebd7072febcc25c333cf39e1fbc8dc4a1bde517c8bc6027123c9129fcbbaecc8abd3bc29cbc0c34223c43acf2bbb7f45dbd396a3bbcf3fcd13b570a72bbcb011abdcfef9dbb55b1a73b7b32453b6917a7bcad1b7f3b97f90a3b7d17573c3d14e6bb8ec2973acb0b5b3b8433113c2cb590bdc55fe33e6f674b3fb864643cc5bca3bdc30fe13ed537443f0f302c3c73cc8cbda2eacd3ef8bb293f48292d3cb28371bd1a00b43ee4dc093fcdd5053cc47e4fbdca4e963ecb6cd23ebe9a083c80f741bdb4f06a3ed990923e6a710e3cf99a2abdb184273ee956293ed2caf43bde6420bd6c11c73ddbdb5b3d6560b73b95b7fcbcbed30d3d1643d0bc118ebebd37c43c3c000000000000000039abe5bd26f88e3c0000000000000000dbf5c8bd5c66723c0000000000000000b3afafbdb9535b3c000000000000000099cca1bd944a353c000000000000000017b78fbd07f56b3c0000000000000000f2cb7fbd0edf5d3c00000000000000007d4f55bd6a6a813c0000000000000000140027bd3bd54f3c0000000000000000a887753be10605bca1baff3bb24906bb0999883bcd12f3bb59dce83b32efd63afa35da39ae39b6bb07bf323c37f299b995e3783b577c06bc6442133c9bca883a69b3e03abee6cfbb2d5d173c3dce0bbb317ef03ada4dbdbb4e011d3ced6afbbae0ba3c3a842e83bb5cc20f3c2f4f39bbbfb3863a70a67cbb7fbff83b8fe7a1bb7bd21a3a2b7218bb12f9cc3be87badbbd3f9c83b798304bb2354913bee73b5bc7d7f803c7893debbe850d43b1544c2bcf6640d3c93d8f0baf447b73bdf91a5bc5dd82f3ca14c33bb9451853b51279cbc925f033c5ce92abbbdf3843b7c4b87bc3fa0073c9dd24fbb76b4aa3bf6f383bc1e749f3b31c13bbbc1b2763b2e8c51bc6298da3be5d5c6bb7484b53b7c0b56bc44a16c3b340874bb3d23773b92e506bc1b0a883ca7d02cbd60a113bdc9fd4a3c82d4563a5c90b4bda53c18bd12b8503c62b6c0bade3da5bdc49d08bdf1a32c3c084341bc5972b2bdd78effbccb3a3c3c89ea1abcb4ed85bdb9ecbbbceea4163ca70245bcf3826cbd750e78bce76ff63bf3f9d2bb41740ebd615702bc69bdb03b06b799bb2b8d94bcfefd853badf2db3a0af29d3b003f38bbbc5f8c3bde891f3b58ac0d3cda5155bda8518b3e87d6793fa9c0333c5fcc6fbd775e883ec858723fa37de63ba44035bd84637d3ed337463f074a023c90bf35bdbf9e693ea1a9293f239dc13bd13110bddedf413e03cdfe3e2f60d73b152e12bd07cd1f3e01a0b53e5708f53b514aeebc2d02de3df1fd563e6517e83b7588eebcdbfd893d10558b3d459ca53be69dbfbcc12fcd3c237201bd80b9d0bde0254f3c0000000000000000d262f3bda86d923c0000000000000000e664b2bddc41303c00000000000000002be5b3bd3550463c0000000000000000e88496bdc07d143c000000000000000031ec96bde28f573c0000000000000000927c75bdfdc53a3c000000000000000090f666bd42c37f3c0000000000000000a38d2ebd529b553c0000000000000000d0f4213babd030bb86a38f3a16239c3b9a07e13ae152b6b99142023b000b123c18c23e3ba29558bba5fd3d3b1ee70b3cbec31b3b8e1d2dbb489e8f3ba47bb83bd29a053b6abf82bbcfadc43b0641263b3bf7d03a04ad4cbb2a8dcf3b894dab3a6ce902b92d311ebbc583ea3b4da16aba11e0a03985e821ba045cd13bd6c1b3ba172ae438cc0171bb8178bf3b45398bbb09ff023cf7ef5abbe2a3fa3a619e45bcaa569a3c33d913bcac95533b7f2d0dbc3c9c813c8e72a2bb10c3e53a96d714bcecde583cf9a043bbb585243b532007bc7ea1223c895201bb4f7a163b00530fbcadbd113c68f537bb0ebc533b666906bc5b42073cdf8f8fbbb15e623b988bbbbb8487fc3ba23ad4bbb5771a3b3f177ebb17082c3b774369bbeb3b4b3ba71b663a7dc5013b375264bd406019bda8b0283c7d6f45bc5c54dfbdf36b11bd0df2543cef0184bcdc69e1bd5e581dbd6beb3c3cf39a97bc5800c7bd04ad0cbd01771e3cfb258fbcf5619dbd3ee9debc630e0f3c3f50a0bce52077bd3cc793bcfe44cb3b5b518abc682628bda39bc7bbe88f833b32ab6fbc4b9f95bc55e6ff3b385d2dbab9766abb67cf313b19c5b73b593d5f3a3b37e73ba40900bd91c5d13daad6943fe218bf3b9ca2f3bcef68d53d280a8d3f450dae3b2050dbbc6798e73d5f5c713fac39973b8b00cebc3af8de3d29f1433f11a0853bc7fab1bc2d21c83d7021153fcb2e513b4c5f8ebcaed0a33d3871d23e9aa6173b01e47cbc413b6d3d81c4743e54df893b5f735bbca0cfe93c3548943d9d921b3b7b436bbc517cbc3bc9a927bdd7d6c3bda6172f3c0000000000000000a4c6d6bd8430813c0000000000000000c24aadbd82442b3c00000000000000002e3f94bd1e090b3c0000000000000000159f85bdcded013c000000000000000058c780bd96861c3c0000000000000000aa5770bd3cf73b3c0000000000000000475552bdeb65563c0000000000000000fd6632bdb2e0433c0000000000000000000000000000000000000000000000007ddf123864d30e3b256070bbe6d51f3c1ca2cdba3c54b93b1551d5bb4e46323c51162e3a8d37c1ba72a991badb6d993b645a2a3a1c66b8ba60e55eba9dc95a3be044203a91e68eba0ad0043b9501093b60278f3ae4a9923a4d1c7e3a21320d3780b727bad218ca399d29343bca12efb900000000000000000000000000000000000000000000000000000000000000005bcc3f3c744f47bb90da3db53f810a3b50cb243c9f8359ba0b91563b85fe68ba7848cf3b7fd9f539d99c8b39961b2dbae6e2cb3ba86f923a30ff583a02c0b1ba61588a3beb2108ba2af0973a4a13e4ba5b36b83be2f945ba7ff7373aba89c2b98aab6d3b3df204bb5648b03a6a0a393a0000000000000000000000000000000000000000000000000000000000000000b4838ebc3236bbbd6ba70fbd248ccd3b28aca6bcb593c1bd867eebbccf563e3bacd08fbcc2a898bd8e2bf4bc9a86ad3bea5589bcfe3e7bbdff86cdbca3e14f3bad929bbc8bbe3dbd22b18bbcc734a03b713799bce368fdbc348f03bcf75c8d3abea88ebc041d41bcd490033a4b035239000000000000000000000000000000000000000000000000000000000000803fad9c293b38a8eebb3f5bd4bc20ab943f0812d0baf4bbefbb049191b8dc19793fa171f73ac982b8bbe3e2003c7da44a3f0d46103a357f97bbf67f693c2ffd1c3f7a20143a0a6f57bba4235c3c13b1e03e5bae223a086358bb582bf03b1f72863e2989aa38ee2908b9aa245c3a09dfc43d00000000000000000000000000000000000000000000000000000000000000005cbb60bd23a3973b000000000000000061341dbdf48b8a3b0000000000000000f3280bbdae10903a0000000000000000f76a06bdc4423c3a00000000000000005b150fbdcc20b73a00000000000000007d1a0ebd03e81c3b0000000000000000c61720bd8d7cf03b000000000000000000000000000000000000000000000000000000000000000000000000000000002b2092bb68fc94bad8507bbb99ca98bbccb7e1ba27ab143bbfc838bb1ef9a5bbf94c0abbd2b8dc3aec6057bbef9bb7bb07f237bb03207e3b48c583bbc9ebaabb2ecfb1ba0ef5703b778358ba3322b2bbeb839dba6627023ba49487bb41f82fbbf806aeba2c87803b441c7bbbb6c10bbb000000000000000000000000000000000000000000000000000000000000000051c40e3c94cc38bbe2d1abbae23095bb6104ac3b253c0fbb6e0779bb2767a8bb9b559e3b96c520bb5e9e6dbbbb9a26bb5bb7963beb03fcba0d8084bb32f03dba4e386a3b522b6ebab0b32abb750b00bba88f993b4fe401bbc27c13bb092a25b9589a543b1738d3ba122a21bb51907b3a00000000000000000000000000000000000000000000000000000000000000005e11b0bc8e8601bd628d2a3b30ac67399c84a9bc90e3ecbc5112823a6913ec3955878cbc3548d8bc4ba823396d8dc63a2a6774bc7962b3bcee89b83a4974403a98d243bcdf7ea3bce25c113b077f40b815730fbc22557bbc49d48c3be4edd3bae7683cbbe47a51bcf48fc23bb44fc3ba0000000000000000000000000000000000000000000000000000803f00000000935da9b9d59c69bcc370803f3ba738bcefc6b6ba6549e0bb1878593f251734bc19212bbb74b973baaf56343fb79148bcbb4a54bb0aed793ae5630f3fa72b71bc0e2b5dbb20f0db3ad3b6d53ecba696bc302946bbdc61713a62648c3e17d9b6bc497255bbe5f8b1baed810c3ec685e6bc000000000000000000000000000000000000000000000000000000000000000045885cbcd162743b0000000000000000f00ec7bbb1b49a3b00000000000000005bf5efbb277e9e3b00000000000000001da4bbbb2d9b803b0000000000000000e091bcbb4ca2563b00000000000000006e9581bbf382f93a0000000000000000b0f607bbd25d113b000000000000000000000000000000000000000000000000f67a61bbdf0668b84ee61a3c558562bc941e77ba0bfca0bb6845263c535038bc54f849bb1da3213a38b5b83b873d25bcaced96bbabc5833b90428f3b50944bbcf80f98bb2f12ac3bc4a6023ba05234bc540ca2bb7cb2b43b69f49f3a6ee025bced5b84bb6959bc3b707b053a07a012bc195f47bb4516ae3b61b5093a3e45d2bb054d49bb5294c93b457d5f39b22ce1bba429533b7e6c78bae9b199bb7d7077bcbf99be3bd3005fbb6cbee8ba4df19dbca399e63ba1fc41bbd3f24fbb5af37bbcb8ec953bc65e05bb3ba19fbb949108bca93c9d3b030cedbaa9ddb6bb74148ebb3fe2da3be32c55bbfbd7a0bb4f7fa5bb32edb93be33f50bb7c1ba6bbf82244bbb39eb23b03f372bbb64b8ebb89bcb9bbe8b7903ba6a40ebbd8ca9ebb87b88f3a7c6b353c8532f7bcfa5a09bc263c8e3b5543a03904dc29bde3e0d9bb622b6b3b762214bc44d325bd9657bfbb98704b3b490b11bc4ba715bda7319abb3a10653be853b1bb6b3e00bd679d55bbd160443be6083cbb8168f6bcd2e656ba9e71353bf1e8263bf4eccbbc6a7a9e3ac3dceb3a1c7ade3b8a4796bc9f499e3bc1e94cba1b0d4a3cb9e27dbcf43b5c3bbcb1b5393f4d6d3a090024bdb1c17f3f63d8f93d4707a63b914c2abd941e6b3fe21cda3def6e1d3a1d59e4bc4d2f4c3f55cbb63d9c3ab1b96ecfa8bc9f2d293f9287923d8df623bb578459bcfa24063f2d37513d59b91bbb916c55bc009ccb3e4878ea3c7eb60bbb63015bbce76b883e847acf3b1effbfb9312882bc9085103efbe87dbce5d3a4bb80e340bc0ed2af3c625ee7bc2df0b3bcb718c73b0000000000000000beaeb0bc24d0123c0000000000000000056daebcf15ff63b000000000000000062379abcdce0c73b0000000000000000a9f28ebcc692e53b0000000000000000243183bc085fce3b0000000000000000cc2d69bc35bdd93b0000000000000000befa31bcceb3c93b0000000000000000d0ae17bc2c43a73b00000000000000001bf69bbb583959bb0207953c75bf7dbc854386bbf16565bb6bf9623cb73f98bc552f9abb7c96a83a33a8473c646c80bc8927f4bbbc8c133b12cb393ce8fe99bc49aabdbbb0eb753b2ce71e3ce9847fbcf20fcfbb4fd6be3b83c3f43b85517abc7cd9b1bb9316e83bff8cc13b5e4a50bcd9d6cdbbffa4da3be5de9f3b394f4cbc309185bb351eea3b12766d3b39592dbca6448639ece32038d2656bbb76d9abbc6f65943b785634bbbe1220bb429ab7bcaaaaf63a1f284a39fc74b6bbc04a5cbc9b20933b05aeacbaab968abbfa9560bc5f160e3bce3accbab7b7aebb934a08bc3bbc4d3ba6f7d7baa9ddc1bb2625fabb076c703b36a8abba2386b8bba95a55bb418dad3bbf9a67bb219a84bb938cc2bbfab3453b0c5dffba835eb6bb2af7fbb93196e33ca187cfbc18ff7bbc84a3043ce3e1923c5be01cbdb3cb58bc9b0b073cc58c363c48780bbd08f060bc47adc73b6d4d183cbbe323bde0e146bc74c1003cfb082d3ca0f603bd97b71ebc8c03d13b7e53553c22ce08bd63d1a8bb73c8b03b899e523c527ae2bc3d71b9bb370a9f3bee95a03c3adbc8bc0b18e9ba4046603bc48c9c3c047b8dbc2a3a4d370e69543bc5af843bbb5746bdb8fe5a3f2f57873eb9e9c23b0a8158bd2b864b3f6bcc773ee98b7e39b5ba14bd5f2d2c3f926a503efe8f703acbe80dbd4add153fc2d0293eff1f0bbbe4dacfbced0aec3e82bc023e284986baba73d1bc07c1b83ec8a4ad3da82720bbecaba0bcb554783e9487513d40056b381907d0bcbd34113eea16e03bb4e479bbb68e8ebc40a2063dd7eba9bca0b402bdd2beb63b0000000000000000e87827bd26b4463c00000000000000007ecbfebc7300f43b0000000000000000e2d50bbd00e6273c00000000000000005d82e2bc94bb133c0000000000000000763eefbc03a21e3c00000000000000000e32bbbce9c8033c0000000000000000c2e9b4bc3c60323c0000000000000000091086bc8a81f53b0000000000000000be299ebb674821bb67f4a43c65bd8ebc2803a1bb78b27dbbfb54aa3cea74adbc819dccbbad7be3ba2330913c99d3acbcf020bebb0faa553a3e8e7a3ce900a5bc6466fdbbd3d1623b908a643c51b1bcbc9e1ecebbf0576f3be2a1413c53739abc1776e6bb96a2bd3b0096163c3b028fbc2b4ca2bb6ecbbf3b0a8f063c84d081bc8ecbb0bb8b10d43b06c0d23bbe075abc4ce046bb5681193b9421dcbb2bbeaabc5440583aef0892b92403debab426d4bca724883a7d3b00bad24259bb8852a9bc9c44b13a00e944bad5e9a4bb121082bcd139063b7cfebd39551ad0bbdb5444bcd2e5683bd9b30ebb50f0a7bb6af535bc627af63a2d0d2cbb1ae8c2bb9a85ffbbe05b863b2c4b6cbb5473abbb6951d8bb54671d3bfb4ebdbab0e9d7bb9d5297ba20f7063d791d98bcfc0cb7bc6176063cdd01f73cb2c70abdee08c6bc15c8343c2809bc3c048c1ebdee51afbc0b12313c39b4a73c59741cbd6ad38cbc5cb71d3cb28dad3c792510bd22e077bcd788183c29c6b03c3d140abd9da44fbc3a11123cf4aabe3c2a4ef0bc803bfbbb6ab3fb3bd9c8d33cd0bdd3bc6a9d8fbbf68acf3b0a90c13ca17195bc598f83bb5793bb3b5f293d3b14d245bd12d8343fe5b9d23e81f6f83ba5e165bd7753293fdebcbf3ede6fb13be86842bdf22e153f2b89a43e2de54c3b3f5821bdf8c8fc3e562e873e76a7983ab46e0abdd58ecd3eafba523e1af54e3a2cc106bd3c59a03e856d163e7e2aa53985d1efbc4843633ea3a9b23d4b3b42ba937bedbc0cad073e7423003d0e2d63bb88f6aabc2dc92d3d6aed6abcd67123bd8691c93b0000000000000000b2cd4bbd2f16453c00000000000000002a843abda776463c00000000000000007c8128bd6f8c333c0000000000000000a36e26bdcc09273c00000000000000009e9619bda716403c0000000000000000542a0cbd60004a3c000000000000000042f9fdbce2ef493c00000000000000002fbbc3bcc044113c00000000000000002cb8aabb5e4a85bbf801b63c6d5788bc9365a8bbda3aabbb76bfb93c708fa9bc4612dcbb5f6d3ebabe2a953cd50a93bc9c8cf3bbd362d6b730f8933c4707acbcc36aa4bb2c95613b14fe713c86346ebce37ddebb01f9803b4e92673cc14b9fbccc68e8bbd3728b3b6101373c06a98abcb174c7bb087bc23b91f1463c2e1e94bc849cb4bb73b7ea3bc6ad103c23ce69bc5ff49bbbbc76603bf35c45bb8c9db5bc739b1dbb799bea3aa2687cba4e2ecfbc93e785ba22dd363a6f6237bb3cc194bcdb78c8ba4797c63a0ae79bbb8a5788bcf02570bbec6f203b977399bbe84f32bc7d367539a4d933392a36b4bbf6292dbca0fe6cb81b50233aa51692bbdf1e05bc531ade3a91891dbbfb97a0bbd37309bc81fba03a165289ba3e92cebb0fe409bba68e103d10ca61bc6eafd9bc98b6133c2f3e0e3d328ce4bc8535f5bcdb53473c145bd73c4b1e01bd7998ccbc1548333c426cd93cb5010dbd385dc7bca9ec4b3c22eac43cc33ad9bc202f94bcb1c1dd3b6f3dd63ce952f9bccfda88bc2b652f3c50c0cb3c85c2c9bccbf942bc38e8fd3b211af03c5d7fc7bcbb01f4bbec91183c7c5ad53c72da85bc1878dbbb2ba1f93bd5d97d3b365736bd089d0f3fd6c00e3f41d5053cbbd74ebd385b053fc32a023fcf5da13b8f1530bdf947ea3e9bb3de3e7bdb643b6d2121bda9d5ca3e549ab93e95f021ba48a4ecbc1645a03eac1a8e3e9452683a455504bd0785833eb790543eedfd2d3b2bddf9bc938c3b3eb9a0063e9e0f303a7181edbc7c6aec3d04d5623d713a4dbb7a54afbc0c37273d507af5bb562239bd527cae3b00000000000000009bbe5dbd19af283c0000000000000000c1d942bde748e13b0000000000000000e23e41bd6036183c0000000000000000d99e11bd5dadd23b00000000000000007a0e2fbdefc52b3c0000000000000000eb5318bd2685113c00000000000000005c201abd358d3a3c000000000000000054ffebbc94031d3c00000000000000008fd286bb0fde8cbb89ecb43cfa0684bc19605dbb4a35dbbb02e9b03cbf589dbca031aabb7c0a98bb32e8a43c9dbf9cbc7ea79fbb2f8f77bb15b79b3c43ba9abc1cd79fbb9046833a27158b3c4702a6bc5c87dcbb7ef9f039a810803c9c9d9ebc604ea3bb2e1e043b7a90643ceb5493bcfa05aabbd7181e3bba25413c682185bc126090bb1fd8b03bc665203c4f6f4ebcb84ea3bb0da6603bdfb5aeba9a48b5bc10842ebb4be2e13adbc7473a8b87d4bc641513bbb5f10f3bf02fbab92cc9b8bc066df4ba663ec43a16bfe9ba01aa90bc8bd86abb1aec1b3bda1cb6bb8e716bbcafd54a380b8817b916c94fbb33fa4abccd58903ac0cb48bae4f21bbbe8a234bca281f93ad5db48bb21b839bb432315bc03e00339f0327eb9b3e794bb56e969bb1b4a073dbbc737bc3bcdf3bc4f22163cc393043da9ded5bc1b030fbd4acf633c08b9e53cedf605bdea6105bdecec4a3cae05ca3ce0d008bd2c46eabc088c4e3c8e9ed63cfd98f9bcf1dfc2bc6df6393c9733d13cbfefecbcd93ba7bcdb013c3c3397d63c2521d3bc00de7ebc322f1a3ca275dd3c1d5eadbc501235bc1dc5253cb793cc3ce9ca53bcdfa2e5bbcc91fe3b3d86af3bfe9c22bde86ed43e4f85343fc9ec123cac0a44bd8400c73e133f263f3f36f33b88672bbd250fb23e546a0f3fb61ba13be4101bbd41789a3e23cced3ef8eab93b7deb08bd8d52803ecfb5ba3e5fe9503bf20d03bd5c804c3e9248893e6fe60a3b180bfdbc4581173e5188303ec2c1583b740bf5bc4f0ac33d030aa33d8a298aba8474adbc7b92183decce1bbb954444bdfdcaa93b0000000000000000bb9975bd84ef243c0000000000000000382962bd18d4243c0000000000000000902e52bd4c7d193c0000000000000000077a43bd7627253c0000000000000000055143bdc4d4303c000000000000000079833bbdb7204c3c0000000000000000f6122fbd0b185a3c000000000000000048c3febc61f01a3c0000000000000000be271cbbdf73cabb31b98c3c783e3bbc22b91bbae4261abcda6b983c07777abc3c756abbdddf86bb0abb623cdde155bc733247bbc33989bb2f5f8a3c0bca86bceb0878bb677448bb17b2743c94466abcddd178bb9657e5ba12cf6e3c3f2a7bbc660a81bbc25fb43acfa0483c247854bc9d3a49bb18d6b83a9c85463c738c61bc866d37bb12145d3b69af123c806d3cbcb84c9bbbc4c3793ba6a0773ada7ea1bcb6ea54bb2f350f3bcadb063b34a1b9bcea3b70bbcde95d3b68fcb1389abc6fbc45d5afba9f5bfd3aef0ba4ba182196bceb61efbadb6f163bd72fe1bafeb53dbc2acf19ba8694c1b8df0399b9627d4cbc0e284abaee5b1f3a8115fdba85bc08bcf1fcfc3a886818bbe51087ba746544bc20b99a394ae403bbde900ebbb4cbb4bb0f4bc73cdb4f02bc45aa00bded0a143c7ffdcf3c23ebd3bcedb819bd2a684a3c7c2f9d3c7492cabc9aa7febce1aa0e3c0d04a53c889801bdfb2b04bd4d314b3cc4b8a83c95a1ccbcf1edcdbcae0a113c611eb03c9eedd6bc6d91bebc0fa3443c84c29e3ca66f96bc6ad880bc90360a3c4b88ad3cf68786bc3ca542bc75df0f3cb0ca9e3ce8a52abc13f80dbc8715113c3133c33baf7b02bd84f3893eeaaf593f0a84ff3bc72f1bbda9c2813e1867493f0e558a3bd9e9f7bca5fa673eddbb283f1541ec3b888efabcd8964f3e5ba20f3f0b67553bfe74d2bc52b8293e7cffde3e6bd0903b17eae2bc15f00d3ec0a4a73e9639273b9b7bbabcd449cb3d0489573e1a32393b4a72cdbc046a8e3d514bcb3d9a62933a9dbca7bc7a41f23c18152c3a784741bd7d1c673b0000000000000000944373bd243d223c0000000000000000976336bde4bda43b000000000000000082f54abda7c8ed3b0000000000000000661d2dbdf931d43b000000000000000085be44bd4778203c000000000000000091e71ebd42f3ee3b00000000000000004cbe35bd44a0493c0000000000000000fd490dbd7483383c00000000000000006eb287b8aaf3e0bb55b1383cb9a7e8bbc634e53aed26f2bb50e6213c6e3c12bc1bb0adbaac43c6bb6d6b343c9d7231bc4e38c8bacdf1a3bb212a363cca3e31bcb2c401bb93f770bb963d373c6d5341bc1c5d2abbbf0b6fbb533e313c674337bc1a3b1fba8107aebb32de3d3cb3014abc7a078dbbcd21fa3992a6fa3b72ae0cbc5f0338ba429b1a3901e7173c247802bc0fcb9ebb83b7643b08281b3baa3584bc5cfb5fbab5b2203a947b333b4df78fbcc94d0cbbc59f2c3be17e0c3bd40b64bc3fb63cbbc460403b4cd7a43a5c9551bc2a560abb5410413b2242b6b89b3b33bc92c713bb1268883a20f0fd3a554223bc64aa21ba1e333e3a3f5d933a813e19bc9ecf123bd3c64cbb9893a6ba76c3d8bb01557bb8c4dfe2b99d0cfe3a0cc4c9bbacde5e3c1ad00fbcf6a401bd830adc3b3813203c99efdcbcaf921dbd35d5493cf38e3d3ce75c06bd15410fbda291203c0a8e3f3cb76001bdaac201bd35d8253c3a23523cb151d5bc6d52d6bc8eecf33b5de6493c6e63c0bce296bcbc9afa2b3c01bd423c1feb96bc74cb95bc2f12063c4ae20a3c26984cbc447230bc3de6063c68566d3ccea07dbb4ba811bcc088f23b70e5bb3b6d17b6bc95c9003ef5ff7f3fe882033c2032c1bcfa23f03d03596b3f24dbb33b2f90aabcf9dae83dcfd9483f96d4b43b595ca1bc9a25d33d6f34263f611c923b567d8dbcb3c8b23dde47023fb72ddf3b540997bc5e45963d90ddc13efa53bf3ba5ee95bc9956673d511f7d3ee88a133cda7199bc4742213ddcebec3d7644253bc7da86bc86e2903cb5b3b33afff92abd7ab7363b00000000000000009de64fbd3a66f83b00000000000000006a902bbdb60dbd3b00000000000000003bde1dbd9c518b3b0000000000000000d5dd11bdedd6863b0000000000000000dd0e21bd05c3b83b00000000000000000a9124bd5249073c0000000000000000f24b27bddb061d3c0000000000000000a8a00bbd8b3bcf3b000000000000000000000000000000000000000000000000f3e6d53aac71babb1434433bf61872bb0a8c3eba939e81bb14a85b3bbb0389bbb9dd863a76276abb4e7c893ba68e77bbbe05efb90eb587bbdd8fae3bed2bafbb8d89e1ba74659abb10adbd3b8590a5bb4dfa8c381e5610bbd311bf3b8d09bbbbb0989c3a8326ccbbefaa783b6d7448bb00000000000000000000000000000000000000000000000000000000000000001c0f20bb49dc333b99498b3a411f0cbc005320bbce562a3be59c7d3b7a0cefbb6877c8bab0218a3a1e8b923a17e5f3bba2ab2ebb4d9b223b448aa13a6a3acdbbc84212bb1eeeff3a3dfc033ba4b888bb89e5e4b9307f8a39aa95ab3a7a77bebba7ea79b82f9b0b38f8517c3b094820bb0000000000000000000000000000000000000000000000000000000000000000d7f42fb85ef5b1bcfcbfecbcda42893b4eacb03af404c8bc627dc8bcecb7813b6eb4813bc70ac6bca917c1bc5151ae3b62d2773b06b693bc02fca6bc5daa923b15718e3bb3bf71bc19608bbc875e933b55024d3b776836bc8a1b51bc0697a53b68719b39b83090bbcb0818bca0c0a03b000000000000000000000000000000000000000000000000000000000000803faa55903be6c306bc506e8bbbb0cf7f3f8404a93b334ceebb6d97483be64c593f20ca6e3ba26602bc89cd073cc8e4333f8a7a563bac2212bcf1bc2d3c3ac60e3f3290923b0a1e05bc0c6d233c2391d43ec0f7763b5441ffbb011b183c6f7b8a3e6b65a43a1006e5bb386c193cb1360c3e0000000000000000000000000000000000000000000000000000000000000000d4d9bebcf8e1d6390000000000000000a36e9bbc8c54803a00000000000000000bda97bc332914b800000000000000001c8d9abc53753bb9000000000000000029e1afbcdd8df1b80000000000000000a9b4b9bc503bee3a0000000000000000477211bd4906383b00000000000000000000000000000000000000000000000000000000000000000000000000000000abbfaebb559e303cbc9b1f3dad310e3b89e86dbbac66553cef9e1e3de1e4a33b283914bb6b79453c7d9c033d7a05df3b5f68183a04d6453cb02bd03c743ee73bf81a2638b94a1f3c9217883ce6f5a03b72e71639d9e8db3b29de2b3c7d8b153b923fbbb90a07373bcbaff33a01461e3b0000000000000000000000000000000000000000000000000000000000000000d82586bbceca91b914a2993bf1faeebbae766ebb1a8796ba3464d43ab2af73bcfd70b9baa822a4ba691a883a07e7b6bc5e6ebfba9fa609bbaf7f41bbeb0ebcbce10a483a7f13ebbae21de7ba1bf49bbc941589b9ca5368ba4e77a4bbd75826bcb21ef039dae92bba5dcc9dbb042cc0ba0000000000000000000000000000000000000000000000000000000000000000f2975ebe6fd9463cc069943b312383ba1e215bbe15a1f83bb3e9653b1a9b303a208644be410e85bbb867973b662f413a887b20be402476bbb086fc3aff79ea3a0c49e5bd4c4be9bafccd44ba5344d53a734a87bdd242c9baf93f2dba62e7d93a6d157cbc7f7d15b98c0b35bb7307073b0000000000000000000000000000000000000000000000000000803f000000009db6993c2aa9dcbd1fe1ac3f4167f5bd41ea573c15c267bdcb988f3ff6afadbd8b820d3c9cc10cbd03c06d3f41a784bdaef0143cf4928cbc8b85323fd46f59bda145f43bf2ddabbbd8c2ea3eadb915bdc5aae63b2156573b461a6d3e72ec7cbc579ec83ba556893b5184443c7918ffb9000000000000000000000000000000000000000000000000000000000000000047e8903ca71496bb00000000000000008650493cfab78ebb0000000000000000faf0d03bd26d58bb00000000000000007830b73bf93f97bb000000000000000024ba9a3bccf2dcba0000000000000000aa8e513b4d5c31bb00000000000000003d77f63a8bdc41bb0000000000000000000000000000000000000000000000007962c1bb73b68d3bb3409a3caba45cb89ba728bc7725353c5c011d3d95402e39e7ccc0bb0ba3603ce64c2c3d2071c33b2f245bbba2f76f3cef25193d9699ef3b8c3621bbac82503ce0abdc3cf7ea203c1ef411bb2b5f2e3c5fe3b03cdd6ab03b6924c7baffbe083cf9f6433c4851803bf940cfba0867673b67d5f43a476a193be82662bb3f90483be7dc7fbbdf4b5537cb3725bb32b81bb9ca27593c9cc563bcb98f96bbfa5f9139e6a8263cda0861bb2edf4cbb9954fcba6989173ca87ba8bcf11dd5baf1c449bb3b099a3b952fbebcae728bba825f48bb0bef4c3b077dc5bc15137f3a2ee032bbd586b7399de788bc8b840e3b6ee564bb1c1670bbfe9d2abc8837153b51640ebb90f1dbbb8242933a2f29ad3a75548fba7b094cbb1d68b83bcd92debd175618b79fd3063b8f44c4b9079c42bea7dc673cfd6d88bb9599023be53d5cbecc46bbbba6061f3b34d09a3ac2824dbea87a32bcf72f2c3bd9ff043ba6cf23be877d50bcc7f741b9091d0f3bc56cefbd173347bc7922f0b9bac3d33abc228abdabe501bcdd1f26bb98dc4f3b14f3a3bc77bcdcbbe1fb27bb6fd4203b90cf643c3588513b493915bb1d0f9a3a09211f3da96254be840fad3fe164683c0f222e3daa3441bed06fa03fe6e8e33bb8dd013dc41b16be6354913f793f0d3cea49e13c8064e5bd6d90703ffcd2b63b6a63bc3cc590a2bda38b353f40a2ca3b3757a13ced4665bd775af13e3a65b93bf903973cd4c608bd5b3f773e2757f53b44c46e3c75654bbc59b02d3d41baad3c773d793c6a549cbce1f7cabd20128fbbf6b962bc0938833b00000000000000004d1f13bc4dbdb93a00000000000000004ba547bc4d46663a00000000000000003c5d4abcff73013b00000000000000004a2b02bc33b1a03a00000000000000007047e7bb293ed1390000000000000000fca1edbb8f8b4f390000000000000000156d20bc58ad3b3a0000000000000000db0073ba52f5bf3900000000000000005924afbb284cb13ab103703ca1892b3bdb53f7bb9d7a2b3c967bcd3ca6cd093cab2893bbeaf3443ce6eafa3c7dab5b3c3f9aa6bbf1fc663cc188e83c44424a3c6c77a9ba79881f3c7faba73c7cde173cf0ed41bb5bc3483c388d803cb3400d3c237c30bb39c1fe3ba4dced3b6f37a13b77d25fbb66e8d43be539043bd021913afc5b41bba5f5ea3adce775bb3478a4b98b7f38bb3e3a2739a3ff8d3c248bdcbc6f702ebb2622faba5026813c6e52d5bc6ca7d1bab08961bbe164543c33ca02bdea176fb9a83e5bbb6005273cd08103bdf9fdfc3aafe82ebb717d963bf19cdbbcb42b2e3b69ae95bbca4e2b3b88abadbc86f6403b506b6bbb3963723989b654bc6a38fd3a8e6632bba6d052bb328d24bbf9544d3b6bd808bbc43be6bacf5d8a3b92184cbd835b93bc44c146ba9cc76339ec1b0dbe89f0fdbc8cd8913b6e3a283a08f022be9deb3cbd50d9c33b3d469c3a6ad924be1bd125bd538e373b6ae3153bd02300be97e715bd18105d3a98c7923a3ac4cebd723bd3bc42d419ba4735443bfce364bd4d2680bcfc6b15ba6455ef3a38759fbc619eb1bb2b900abb3b01d93a5b95013c8692953bc31747bb5587543ad3282d3dd30d53beebb18f3f023b683e40e0453d5cd15bbe7027913f3800463e80f11b3d0ed52ebe4fbf813f502e2c3e4aec0e3da4ee13be15ff5c3f6646023e60a0e13c0d44dabd102b273f585ec13d2515ed3ca448b1bd3635e93e29eb6d3d73ffc93c560780bdf1a2813e95cad03cf94eb63cde4e28bddc17963d11618b3b63588f3c6ebd05bd01502abddbc3aebcd6a979bdc4fc5c3c0000000000000000898570bd6df1503c0000000000000000bbca48bd0bc3223c00000000000000004eab23bdd648ee3b000000000000000082adfabc2559ea3b0000000000000000830dbbbcc2187a3b0000000000000000df0268bc0d82553b0000000000000000d66bdcbbfd26a03a0000000000000000ae8634ba52c8113a00000000000000006e4f64bb44004c3a3b12163c9563d63b35a5a3bb1decf93b1513a03c9043653c5cf592bb57232a3cbc7ed23c59e5953ce08850bbb587263c7cb6b43c0fa0993cdd16c9bae9c02e3c09a99b3c0ad4613c358253bb270b1d3ce80a463c4d7c2c3c2425deba76d0ff3beaabd53b07d2a23b3d755bbb19a39b3bdb44863ac637e63aa21641bb88a6083bd94800bb6c93ceba219734bbf7312bbb90338d3c3ba81fbd329e43b94da96ebb98ca883c7bb509bd5b513fbaa29492bbc89d573c03b90ebd25a7973854288cbb9e693b3c65790abd0b4c293b50769abb1d7cf73ba27902bd44d75e3b798a73bbe4f1a13b53c3c1bce021473b877868bbb1898e39f41480bc89058e3b847391bbe0909a399f61acbb6c16293b278f34bb891482b9c35cbbb9e42d94bc9f9036bdb3878d3aad1e7e3be7f9bebd9caa94bdc26e013ce42d253a37effebd420da6bd1b180a3c3244153badbdf7bd56e098bd7329a33b00eae53a7e04d9bd9ea782bd13674d3bae5b493bc2329ebdd70333bdb2f8ce3a6b0d5c39284642bd0f34c4bc4d60c6bae913ce3a363b93bc15b7c6bbe7ab15bb7ee5ae3a8735d63b099bbc3b9e00bab973899db93551173d71a840be91de6d3fb4e9e73ebc26343d1e6d4dbe5adb6f3fa7b1d73e86441f3d2c7231bed83d5c3f5849b73e61a0033d471b11be67533a3f52e58e3eea54003dccabf0bdadfe133f15c44e3ed177da3c9721b9bdf3d4cf3ec699003ed99ed63c482590bdbed8733ed28a5d3de5b4c63c0f095dbd1aefba3d811c5bbb11199c3cc3732fbdb97909bcd6ad3fbd47a8dfbd7a7bae3c0000000000000000be4ddfbdbc2eba3c000000000000000006afbebd98e6933c00000000000000009e8391bd2d01783c0000000000000000ba4b67bdbe01323c0000000000000000d5281fbd15620c3c0000000000000000e634b1bc5b09bd3b00000000000000003c11f2bbabc9193b0000000000000000c8c098ba655a1b3b0000000000000000b5beebbad892c2ba5843213ce58f1e3cb56b23bb77383c3b75a8893ce7b5973cb54c14bb7f7e863b3df9ac3ce52bab3c1999d3ba97d7083c0bbca13c6132b83cb8070fba80cfa33b538d503ca3f6533ccb50dbba84c6083c9aa33e3c20055b3c57f203bb2283d93bccefad3bd6eab13b32bd49bbb4735a3b8327b33a913fae3a86ce23bba2c4d93a51b0b5ba46416abba982daba75a660bb895d783c7fa217bdcba3f8b805c99fbb9a36733c476410bd6c27cc3acc41b1bb7fd74c3c191f0abdf749f03af6c2a8bbb612273c48130fbdf9d8823b9c2080bbb033cd3bbf35f4bc4684213b981aa6bb4437c53bf2bccfbc26bb7f3b90ada2bbb7ea443bcc7c89bcb7a87f3bfdad77bb2df0613bac1a11bcd98b423bd61e4bbbd449dd3a28344abb7f2b8bbae59a84bd3c3cb838a276ab3b49d65bbdce93ddbd70443d3cbcd0133bb36fa6bdbddbeabd30dbd63b4f20843b35dab8bd9c7ce2bde076eb3b3bc96c3b874680bd266e9cbd6f8e83ba2451513bf79b83bded5a80bd15cb343b9e22523ba46114bde005f4bc5b90f0b84a17c83ab64753bcce9100bc313fabb848b4aabae590d03bc36c123ccc5c1239ff7434baef4ded3c736d1dbe3e00333fc782303f43ac173d137728bee6fc343f5d35283f9dd9f13c030d0cbe3b0a263fd78c0f3f54bef03cee70febd6a6a133ff29ee53e79e6a63cfef1b0bdcc1ce03eb03fa33eebcfc23c78a7b0bd8411af3efd194c3e88bdb53c592d84bd1e87563ec3fdb23df49d903cf58551bd1f5ac23d7686c1bbb31a8a3cde4f26bd5adceb3bd98c84bddf181bbebffeef3c0000000000000000269420be99c1053d0000000000000000e50a01be4c6ac13c0000000000000000e515d6bdf14fa63c0000000000000000cb8c95bd5962523c0000000000000000cf8f62bd5e03433c00000000000000003dc802bd5d490e3c0000000000000000fd3a15bc387f733b00000000000000001a4624bb94acc53b0000000000000000e716f9b9750453bb84e2c93ba319303c456503bbeb0ca63a49da623cc973ce3cc9a3cfba6a99b03ba6c98f3c71f2ea3cba2e0cbb4383b73b403c803c2b08d53c0fabbeb940c6aa3b8e5b7c3c8cf7a43cd857bfba8dd6d93bb606213cabfd6d3cd82ec1bad1f1ac3b3528cf3bffa6fd3b13de00bb66a7903ba88c5bba2ecc3a3b664621bb6c54123bb03d87bac9e22bbb9089373a502597bbc2ab2d3c03fbfabc139f5939f4ecdbbb4eba303c0a1de4bc0d57713b02f602bc68b30a3c0294ddbc04711d3b0fc1b5bb7ae1ea3b6f13e1bcef1f9e3b70fec4bbb963af3b96a9cbbce71ba33bcf5aacbb5f9aac3b57eca3bcd4bd2e3be2b581bb21e72f3ba98b87bc923b543b0462adbbaa5c373b538103bc3840703b721366bb2de0893a29d007bbfe82663cfac3a6bd2b2bb83a53b69e3be067f2bc645517beb2388c3c49b6033bd7286abd14b622beb68c5d3cbda05b3b8fd779bdb51112bee39c213c194d303b7ea077bdef4beebd398adb3beec7763b739f3fbda0799fbd631e403ba19056b906d0febc9a332bbdecc02e3b288509ba267557bc976611bc20ed7c3940560aba0946913b6225173ce042603a530cebbac4c6bf3cfa57e3bd1ceeeb3e3f666b3fcb70e63cc84bf4bd1d13f03e0f94643f60e6c83c399fdabd6fe3e53efe4d463f507dbe3cafcfbcbd8d8bcc3e54711d3f4956a73caa47a3bd3000ad3e863ee53ead989a3cabf78cbd48eb833e3e0d8c3ec1de9c3c268b63bdfe39313eaf73f43d18ec803c179f35bdad6ab93d489510bcbd6b573ce0a208bd81a7863cbe8fa2bd17153dbed118113d00000000000000009c6147bec364253d00000000000000005ace27be1972033d0000000000000000c21604be4ff0ca3c00000000000000000e7ac7bdb88b903c000000000000000015cf7ebdd61e733c0000000000000000b6b70bbdd0f2173c0000000000000000dc71c4bbc2449f3b0000000000000000b15d19bb7b90d23b0000000000000000cb31c4b9654326bb9d1a743b6fb9803cae561bba4511ddb97acc393c38a5003d0b22f9bafa814d3b7867653c8627133dfe7679ba3d466f3b833a7f3c0be7043de8b482bae1d48e3b7483453cbbfcb13c7210a3bae935873b1bb23d3cc353913c2248a2baec82863bc323ae3b15ce233c5bf80fbbbf23623b8218be3a2d77c43a72066aba3d9fa23972d08aba087e29bbf9f0b7ba32c6d8bb2c09d43b988b96bcf6780c3ad8a507bc8ad3973bc1369dbc054f393b249402bce41e8d3be85388bc9252703b6dd7ecbb8546833bd05989bccc1eb23b5f6fbcbb406b3a3b833e89bc28958a3b44099abbe706353b4b3976bceeff583bf2bd96bba6a1ef3aacd13ebca8d38a3b33a873bb19e6f23ac9d9f9bb07fcb43a5f101abb26f7823a593e39bbe388a53c1ad1cebd4a62513ca50b3f3b67fc1ebcdead39be2ff7d63cc6e21a3a17670ebdaeec42beb0c9833c8f703f3bd0742fbdf92136bed3dc573c66f8473b2bcb22bd66f807beb683a13be547b33adb8216bd491cc7bd55d6b43b524f9eba6f8fc8bc286e52bd9dac6f3baa40b7bac0f502bc577f50bc65d3bc3a9ecf52bb522a413be3d0513c533dd13ae51f62bb48dc5e3c25c981bdfaa16e3e69028f3fe15b923c5b4985bd35f6703e39ef8c3f54936f3cef057dbdccdd793e8108743f3e12793cfb3d6bbd8ec76a3e81b9453f67f9443c086b3fbde6154c3ee8f90e3fa040513ccd8431bd26a1293e4178b43e29fc383c4b6714bd1ea0f23d5695243e21bb323cb72cfbbcb878933d41cf37bb0990f33ba273a5bc101fa83cd323c5bd270c51bed9962b3d00000000000000000ef65cbe8557343d000000000000000018fd30be66f1013d0000000000000000070d0fbecf6dcc3c000000000000000040f7cabd7e019b3c00000000000000005c6b8bbde25c723c0000000000000000437314bda685163c000000000000000053f53c391c6f7d3a0000000000000000468d0e3cd708233b00000000000000001a32a93961cb34bbe822643bd4acb53cbf611139976f61bbf426023c189a343d20c7a0b981101fba33a9613c7e9b3a3de4be42ba491acc3a799b6b3cb852233d8d8219bade96063bee253e3cf66ffa3c3b6ccaba24d4543b481f083c3a9cb53cfe4883ba96d88d3b3272a83ba979583cc14eacba882b043b8a83b83abe163b3b290117bbbebb203b24b9a3ba99f666bbbb4113ba5bc6e1bbf221a63ab6b0c8bbc97094bb8159f4bbe8e37b3ad45df8bb66730b3a6d0ae9bb26e8c839a551ecbbfa40823bb969f7bb5a6eb1ba8ddff3bbdd7a8f3b451085bb93b1533ad22c07bc4b99533b1a4a62bb176cad3a8c2a29bc887c303b605130bb5b3f6f3a8a1920bc69dd123bf36575badef4383bf2a100bc7e07bb3aec23f2baa5a22e3b4b5d2ebb5e74563cf48c0ebecfba983c4c50a63a856af63b42295cbe99e3353d1e97c5bb957195bc6a216dbe7bd3c93c328f2cb823a0e6bce42f54be7bb0843cccd2083b51a9e8bce04228be2912123cd4bc8537f7dfb3bcaf11efbdfa7bd03be7890bbb1ca78abc4aaa7cbd2fe6073bb96fe1ba2d05bdbbc4f83abca2789cbb2a603ebb1262433bfe8aa03c0228b63a0eb86cbb4dc4853be1af6fbc1775893c3fe2ac3f2b11a03bc8f461bcde061a3dce689e3fc654d83b80679ebc9f23853d2b118d3f3c11f73be66d98bc2ceb9d3d3b4a643fc702a73b22e69cbc79e9a13de9fc273f7d65a73b8c4376bc386e9a3d8bf0d43e9a12be3b01be70bc2835823d97a6423ed53b6a3b41e86ebc0bcf543dd9ba1abba4369f39c149e3bbbba34c3c367606bed88554be513a213d0000000000000000b3754abee4b4233d00000000000000000d7125be33b5e53c0000000000000000425f01be3929a03c00000000000000000e8cbbbd8aee693c0000000000000000002c64bdbb311d3c000000000000000062acb4bc4de5353b00000000000000008bb9a83c629bb8bb0000000000000000f8496f3ce51c5c3a000000000000000000000000000000000000000000000000e590323859b7ddbadfc60b3c1f26263df2b51fbbc847d73a0489343cce5f253d51cfad385124173b0250243c41da0b3d89e013baf0b6fa3abe7f3a3c359ecb3ca02f9cbabe1e453b0e72203c05bd9d3ca23b8cbaba181f3b9558ab3b63ae213c3ed5ceb9cfa3cd3a8b75033b5e900d3b0000000000000000000000000000000000000000000000000000000000000000eda7d53a9e84bebb378a7bbbbed9c13b6d27613b539b9ebb1df721bbcb3b943be37ca33b8f0a7dbbf3a82fbba6d3273ad685c03b92436bbb603696bbdc6da43ab1395b3b98d5e6ba400849bbc5659aba0aa7353b95ee1fba97701fb9602b1abb3a9e903aa7e954380aaa233817662dbb0000000000000000000000000000000000000000000000000000000000000000151101bc118d5fbeea8a923cd88437ba566991bc758d59be8d36503c145da2b9f823d3bc9d6a42be3299e93a7ad2933af822d2bce8b81cbe0efab0ba3081b039cbd4b5bcffa3ddbd2d6cefb92cd73539f7335ebc738878bd2ee44cba841af1ba76e37cbb3ba54fbcbebc9dbac78812bb000000000000000000000000000000000000000000000000000000000000803f687df4baad06913c9906d0bd1edbac3f881a30ba35211e3ca8754dbd10428f3f1a4abeb9defacc3b64eccbbcb4856c3fc0dd843b8287b53b12490fbcc816313f7033083a179b963b8b4823ba488ee83e7c5b53bade1f9f3b52640c3c0ac3673e6537bdbaa912b33b7883bc3b68c33d3c000000000000000000000000000000000000000000000000000000000000000027b2fcbde816903c00000000000000007e9eb0bd87da353c000000000000000081d58bbdb34bd93b00000000000000008b2a4dbda3d0973b000000000000000058ae0ebd57d24e3b00000000000000004dd43abc203e9fba0000000000000000de4e833bcfac09bb000000000000000000000000000000000000000000000000000000000000000000000000000000007feaa0bb4488683ce93fd93cbc76f93be3af7bbb4808853c8edaf63c5d58f53b8f1b0cbb6082653ca982bc3c3e681f3c0a3d00bbcc5d7f3cbcd5883cea00293cfc64d5baf189593cdce2413cc1e7c53ba133fcbad5c6183ca65f123c78fafd3aca5501bb8222c23ba6ab5f3a2044263a0000000000000000000000000000000000000000000000000000000000000000bfcce4bb9a0bea3aac94083c2b73acbc4b47dbbb8108af39b495bd3b7ddec4bc8056bcbb593c253a2317453b11d7e0bc2fd093bbbf99ab3951cd103b1d34ebbc554b44bbec12bdb85d9e903a414cc9bc503be8bae813253a9995ce3854034bbc960c9eb990a38c388f7235ba037903bb0000000000000000000000000000000000000000000000000000000000000000a28748beb3fb043c4e49ff3ac7b7793956ae4fbe4f7f513c766ab53a0368013bb3d239be9adf913b3ccdf43a0e9cdf3ad4041abe64b3c63bac7b843a0461fc399ec6eabd71d63d3c8e532bbb4122113b511294bd5028513cb2218cbb6386e93a48d2eebc3c6f7c3ccb8cf4bb86d9503b0000000000000000000000000000000000000000000000000000803f00000000b32e643c2730b8bdc526aa3f6128e4bdbfad193c9cd842bd2ceb8e3f38a1b7bdc3bb253ccfbae3bc6dab6c3fcdc8a6bd893a023cab165bbc9841343f2e2594bd06bb023c3898f2bb8c2ff73e59777dbdab1af63bf3a48abbe3cc813ec3dd1abd956f0a3cf4330cbcff912a3d92ddb9bc0000000000000000000000000000000000000000000000000000000000000000340f653cc2a611bb00000000000000003c502e3c545b4bbb0000000000000000dc9c183cb48c5fbb0000000000000000c360fd3be370a6ba00000000000000000a37103cf7060bbb000000000000000032e0be3bd254a7ba0000000000000000bd929c3b2e65dbba0000000000000000000000000000000000000000000000007507f5ba5bfa383b7ed05b3c2f6da33b15f7b6bba2586e3ca5edf43ca9588d3b79a18fbbf76a623c179d153dd082e53bfade18bb9795813c3423013d4959303c16c964bbbb597b3cdd66bb3c6103183c3da069bbc6e6603cf4ff8d3cb5cad73b6f748cbbec58303c3619163c2dce7d3ba7c08ebbaa19d33b2f7086394409c33a4bbd75bbda473e3b48b6ecbb04d01b3b3d1b88bbfb851d3a8f46bd3c14ec36bd07d5f1bb4092ac3a739eaa3c5d3a25bdbdb1ecbbd0a411b7b83a9f3c125e41bd8e96cdbb7dd63bbab6ae723c38894abd7172a6bbf6f66aba2d40503cfb4332bd92eb3dbb3a8caaba4129493c242714bd3e1771ba982ca7ba363ff03b90ffadbcf4687d3ae35adcbac4148b3bc78f8bbb30632b3ae1ec60bace07933b7f8b683998ac8fbde34ed9bcbf62133c27a3dfba92d22abe04e40bba31ad993b4c8461b9338e43beb05343bc96b1053c7e86bf39046937be1fc05ebc8839c73b0a96763a501816be1a0418bc43586a3be5142d3be48ee7bd6bbfb9ba35b6993aaf890c3be5998cbdf50c9b3bfb8d40bb344e053b4616bbbc7ed7eb3b611bdabbece2843b9b3f4a3c2a38393cdc60ebbb3aa90f3b381de13c59bf36beab36aa3f92c4cb3cdc7ff63c0db929bef4eaa23fc7e4f9ba992dc53c3f0504bef27d923fffc65dbcab5dbb3cdd5ed3bdc39a753f94e6d1bc0dfeb03c19aca5bda6a23d3feb580fbd7149ad3c52bf8ebd3e43053f20b130bd1c22b73c365c6ebd8949963eb82b22bd7ba5c53cef8c4bbda12aa43d4b11a3bc63a7ac3c28ca53bd399859bde7751fbd3ab34ebc4551093b0000000000000000b063e8bb20189d39000000000000000088c1d1bb38adcab900000000000000000c56a6b9c42a9aba0000000000000000404e003b18a55fbb000000000000000029b19d3bf6164cbb0000000000000000eee5b93b7f25f8ba0000000000000000ec29953bea963fbb000000000000000063da453c670b32bb000000000000000039f90b3bc951dbbbcec1633c69725c3b398f96b8109f963b66cda43c514c503cb4690ab83d4b803badd5c93cfa04763c888785ba7ae1ec3b771cca3cb085893c2ba44437b4a3f03b49f3953c3df7493c6600e3baef67223ce48f403cb45d463c85b67abb6d421b3ceef6513b9a9bec3b29bf99bbaf430a3c913e28bb3c68933bf2f230bb57fb873b95e9d5bb4d3eb53a5cff1abb21fa64b9f05fda3c515383bdb1b78bbbb754b8bad4fce93c42698bbd5bed71bb751714bbcad6c33c17c282bdea368ebbf26950bb291fc03c092781bdf53c36bb121fdcba821c8d3cb03d67bda78834bb830501bb5afd853cfcab46bd051487ba30cc71ba757f663ce01e15bdc0bb013a330bd6ba9175383cc824b3bc310704ba667e0bba2a98003cab8a4dbc70cf943b300071bdd27b673cb8942cbb76afa5bdeda48abdaeb4a33c470973bb1239d2bd78dd91bdfe3e903cfc345abac8daf4bd49336dbd6d506a3ca0b1e7386e73bfbdb92d3cbdd05d3b3c89bd90ba6d4ea1bdfab2e7bcb43aea3b6790ce37a66123bdd5de88bc0abecb3bdfc2a6bac3ad61bc882ca63a7efc13bbcb79243a4b8b873c3861f03b23cc2fbaa4a7b93991b1e63cf3ed30be6d4e8d3f050a653e4022073d957b3dbe9ee0903ff9aa313eb779e73ca64d18be2eb9803f3d000b3ef594e63ca2fe0abef493633f8c6f9c3d9600e03c074be5bd94fb323fbf23133d0109f03c15edd2bd7009063f9d9416bc9b4eea3c9d2ab9bd938aa73eefa51abd49c6fa3c2920aabd8114193e35866abd637bdb3c5c6d94bd2707b43cb74b90bdf01f43bde851e43b000000000000000081aa2ebd3fe1cf3b00000000000000000e67fdbc646f0d3b0000000000000000e9c4a7bc0cbfde3a0000000000000000dea251bcb8912b3a0000000000000000cb7aedba232865ba0000000000000000ec44843b6d450cbb000000000000000076b0563ccb4767bb00000000000000009bff773c730d7dbb000000000000000077efcc3b0a9478bcc4f08b3c5248f53a9161523bcadf96bb2f53a13c70c17d3cd9ca503bcdfeb0ba6b31c43cb8549c3ce9d49e3a7bff743bf663b83c11ad993cf5dcb33a09c7333b865ea13c3c8a813c7e7b2ebb2e73ef3bd63f1c3c8cce543c38a5f4ba6bcdeb3bbb31a43b99400b3c811e69bbee89d23b94be77bb77efb43b8d1c04bb54320c3b4d11a0bb50fb943a1283123bda3852bb0b4dd03cc66195bd76100ebb113d5ebb7c52ec3cf2e39bbdc0cb89bbcca454bb8963ca3c3a6395bd230057bb1bd20ebbb1e6ba3c8fd48abdfcac1bbb043658bbf8a8b23c78ff84bdee691abae4fa2dbb93d8a43c894e58bd3bdc8abadb4d28bbb8018c3ce0092ebd88b41db903bddcba93d8663c5baff2bce571903909778eba312a403c922ab2bce1903e3d2af8bcbdd01f913c2c1828bb2a8abfbc34fbedbd1915ea3c3033a6bbdc2881bda879e7bdf86ddb3c2b0f23bb636996bd6937cabd40b9bc3cab8890bb56d88bbdfda6a6bd5476ab3cc8a02fbbf6c14cbd25615dbd86b6683cd47d3dbbf73de7bc7048f5bcc871163c8e568dba641b7fbbc43bd4bbabb3813b3a6815bb1e60b53c243962393b25983b038631bbaaf3c83cda2b1fbe09a3663f0b61df3e10a9f63ca22d2dbeb93d6d3f5961c43e91dffa3ca7f91bbe1ce75e3f71a79a3eb7b6e43c6e3a0abee325433fa0645a3efda8da3cec22fdbd495e233fd0e7ff3dc03ae13cee55dfbd57bcf63e963a413d9e19ee3c9575cfbd7464a63ef6eba4bc8427fa3c7bb8bdbde25c373e034899bd448ed03cdc01a5bdcb7d883da495d0bd23e1a9bd1540423c00000000000000002836a5bd6be4503c00000000000000008ade7ebd9d92ee3b0000000000000000c41335bdcedf9a3b000000000000000040dee9bcdd4d403b0000000000000000e98a67bc4a50c33a0000000000000000aefe673aecee52bb0000000000000000aa6f783cc86a52bb0000000000000000157e8c3c96fc3abb0000000000000000d90b053c27c89cbc50de9a3c4f90d13875d9b13bf93533bc131f9e3c383b763c3efd6e3b34afd5bbc6bebb3c317b8a3cec1a5a3bcf839fbbe513bb3c936ea03cb818433b569b9ebb85038d3c0cbe053c2fb34439d3c4f93a23b1553c584f5a3c1a4bd2bae789383b4826d53ba182bb3b17bc2fbb9c459f3b98b687bad24f8e3b9fe4e7ba5da6c13a0a3524bb5799b7399f0b963bc4ec8bbb729dad3c70bf8bbd176ed03aefe9b1bbc8e9cd3c1a1d91bd8c33b23a263f97bb8df4b63c99c08abdca95043a215cacbbde6fb73ca47186bd76e52a3b633952bbef31733cfbdc5cbd15ee1ebac3a564bbabe1a93c789761bd04eb563a07c22ebb126f853ce0662cbd83f28c38513911bb486f6e3c3ed40dbd09da59ba8a5996ba396b4b3c8d54cdbcaeea833d76bddfbdd105913c73f7deba0611583c2c101cbe6dea093d98cfa2bbd5139cbc5c3d15be7d1be23ce2706dbb07631bbd17b70cbe01a4f63c693373bb18a5a6bc645ac6bdc88e8b3c70641dbb169701bd6299a2bd2204b03c033e8bbb3e0835bc55802cbdba176e3cbdf57abb377a863b80f687bcd8ad2a3cee1281bbe3fec13c503ce1baf872fd3b8e1f9dbba10aab3c491501be47692d3f9081283f6a34b63cc86e0abed918333f587d1b3fafb9aa3c897af7bd94ef283fddbdfd3e72e5bf3cbc96f2bd60321c3f3ad0be3e56cf9e3ca40ab8bdb522f63e1ed8813efcc6c23c38a0cdbd498ad43ea9f0fc3de00cb33c4a0eb4bdb030933ec8efac3ca84fd23c6b2cadbd4e7c383e133b90bd1149b33c08dd96bdec68a73d9798ecbdf7c0efbd9eb38a3c00000000000000000d38edbd75eb853c0000000000000000d5cbbbbd8769523c0000000000000000dbc395bd79000f3c00000000000000008e4853bdfdbbd63b0000000000000000536ce8bcf7bb3d3b00000000000000005f3939bc85f7c13a00000000000000006ae13d3c6b1d37bb000000000000000080da693c33264e3a0000000000000000a82dad3b2aa183bc0cd18a3c1b418c3a9202ae3b1ea538bc04279b3c5c65a03cc61d8e3ba90a09bc03a1b53c50cec83c53dbda3a93f3a7bb42dfae3cf40dbc3cd8e8243bf6d6e3bab858943ca66f9d3c6951a43a84db88bafde7603c79cb803cc80709bad6d6ef3a2938ec3b702b1d3cb3e4e0baf718373b98bc843a7d7d973bcb1228ba3f1169397b4e42bb19d114ba8d00d03bb125bbbb3273913c1b7a61bd552a8e3bfc93f4bb80e09f3cd3706bbd6b61953ad978e3bb479d913cab745ebd90d52c3baa06b3bb8d97963cd07551bd7b3d933ad1a7aabb4623883cd7a14fbdb815a43923d97dbb6c257b3ce4a031bd19d61eb8f31708bb4a0f593c39ae14bd08e3a637d03118bb1f13463c0dd1dfbc0205683a39ca98bacda7293c1997b5bce97a813d4a63f6bd4af98f3c7229dbba9cd9c33cf2b73cbe05fb203d4fabdbbb3e6ed2bb3a0541be7567143ddb2e79bb65f4b0bcea6d2abe87e9ff3cce1caebbefb8c6bcb3ac0bbe26ade93c377f97bb9afababcf6c9c5bd7575c93c49f8bfbbd86930bc23676fbd1687a23cb8c8cebbd2f8433b5f2bacbca4c65c3c5adbc9bb1d66bf3c72b527bb6f583d3c0c77e4bb857f713c098bbabd7444e83e5e43623f4ea7913c86b9ccbd895af33e2145573f4479993c51ddc0bdf5c7ef3eea8a343fd3b37d3c576bb2bdc9a5df3eb2a20a3fcffa8d3c1b79abbd1c83c63e8741c03e463c943c606d9fbd05a9a33e22dd553e81229d3ce1e695bd1e2f743e7184773deaa39f3c3a978cbd23f61e3e52f77cbd2a938b3c07de72bd73b39a3dca08f9bd6b6615bee151b13c00000000000000006c921dbeef55c23c00000000000000005161f9bd9f71813c00000000000000005e01c4bd79834c3c0000000000000000ba4a8dbd510d153c0000000000000000a79d2cbd1be49d3b0000000000000000769666bca395b5ba0000000000000000fa39433cb1ce3dbb000000000000000084f9673c440ea7ba0000000000000000acb8b03b8ecd56bc7e0b6a3c8928a13bcf01693b68020bbcf194873cc3b2d13c778b223b2489cbbb0c2b983c22ecd33c15b6333b9246bbbb47e7a93c6a3de33ce40e8d3a6c2f66bb03798f3ce971993ce8a5803a2723f7ba9a1f6e3c0ac9823cc777e9399e623fb9d1be173caaa50c3ca3594bba1ac54b3a7d13b03af264783b006003bb0272613a8f5efeb901a06eba12c7d73b2f32debbd3de243c74390dbd1e840b3bc66aedbbb29c473c0cc017bdb537ba3b4ecaebbb9502393c8a9712bd85f92b3b6b8bd9bb18a7373c8c510abdfffc7a3b92a5a8bbd620243ca72206bde3cec93a8e3f91bb76971e3c237bf4bc6966453a9c3a24bb6e1f163c5cb1d1bc9f242f3a4a069eba4816f73b948998bcb77bd5b874d385ba48f2e23b905b65bccdf8443d906e06be4840db3cce5786bb3dc0b43c615457beb38d3c3d681f06bc957ef0bab75151be66cd063dc7fb8fbba28f79bc0eae4abed5dd163dbb7eabbb56bb88bc3e7d1bbe5976e43c75e2aebb351e8dbc3e3aebbdf583de3c0628c0bba00806bc233889bd5eabae3c783cd2bb6535643b72ecbebc076d5e3c0c9eecbb1fc8913c0a498aba9f084f3cb96ccfbb6feb123c360a5cbd949b723e0f818b3f61da1f3c2ace67bd89df7e3e4ccb873f12a01d3cae0c5bbdcd5c883ed9d9633ff7bb1c3cd76e5ebdf52c853edc01373f23621e3c9d3f41bd176e713e22af013fad0c3c3ce2b44abdb1a6543e0bcb9c3e2f10353c395c38bde8d2213e52ce033e67ee4a3cf51535bd152ee53dbc443bbd02702f3c29f719bdc33f643dcb1805be971a28be69ecc93c0000000000000000259a33be0a41d83c0000000000000000fa990bbe79058e3c0000000000000000b9d5e9bdf8f15a3c00000000000000006850a7bd0bc51d3c00000000000000008f7e59bd18eba43b00000000000000004e32dcbc09fff83a0000000000000000ba38703c1da6bfbb0000000000000000d558a63c88076dbb0000000000000000bcc2883a27a4a5bb66de063c9aa5663c3768563ad88fb1bbef50833c01941c3d535b783a3d99b0bb67b59d3cc414263dd1cea5b8637632bb92ee9c3cdbca0f3d8e66863a4aa222bb3ddc933c363fd63cbf6d1cb9c59795bac9ee553cad3ab63c17f4f638122140ba95d6173cd34c4f3c56ff98ba8807853af2e1d73a35d44c3bc02d00ba75c5b7397f62a9ba9f0e42bbe633a93ba555d6bbb7638b3b5ed045bc537b1dbb4389dbbb48705f3b8ef748bc4aa8d4b9b531c5bbeaf17c3b55e94cbca9f2883bb9f0d4bb67497f3b04205dbc0047133ba1f894bbb0ea7a3bb8f964bc3654d23af8cf4fbb38c6a23b014157bcf0df3bbad44a80ba83bb0a3b6acd2dbccebed939382fdc39ffe3463b0c0106bc9b89033a2a88f2b7fcca273b812fa4bbac78a33cdf0016bec249b23c60d778bbd2c0123c264474bedca4673d496c1ebce7192fbcec4f7abeb76d293d47edbcbb9e8eb2bc050e61bec6b8073d345b99bbd2acb2bcfc9034befa63e93c0a78acbb2e17a5bc65e105be872fd03ccf69b4bb558d23bc3bc69bbd0a41933cbbdcb3bbeced2e3bcd43a9bce31a153c9242c7bbe6190f3c24132e3c61db333c5a75f6bb3d37013b605b65bccc79003daf5ba93f2ab58b3b1b2c85bcba0b5b3d6a4a9e3f14767d3bd1309abc3475ae3dba44893fb5cd863b633399bc9139cf3d71b65c3f53b7903ba78b95bc0e97cf3d5bd6213faac01b3b7ee08ebc1afcc03d3feccc3e8004a93bf06987bc0868a33d43cb323ede51923b49e986bcc6896b3dcf42dcbc0fa6603bd4e75bbce6bbb93ce9350ebea0ae31be23acd83c00000000000000005dd330bec95ec83c000000000000000089cb10be19ad903c00000000000000005af5e7bd9b59513c00000000000000006e15b1bdaa13123c0000000000000000728068bd2fe1743b0000000000000000f5eab8bc0ea460ba0000000000000000b602b73c552119bc00000000000000004edf723c46bd48bb0000000000000000000000000000000000000000000000003468e3ba7592f43a65daee3b6a6b093d0e62a0ba15a9fb39e7da213c7021103dc623cbb90550b33a1d6d3a3c8b4dde3c8721d2ba5b05ee3a9d49433c2b3bb33c3283abba08ddbf3a87d11a3c80cc813ce68a25ba11e5013bbcdfc33b6954313c1145f0b99e404a3a2731583b02b0263b0000000000000000000000000000000000000000000000000000000000000000a9fa1c3b177b93bb854deeba3190023cf41c203b67b87abb42ebd4ba18ada43b6c6cda3b6ab296bbfcc7fabaae449c3bee8eb33bfe3e1dbb9a0fedba9d40813b4539763bbaf823bbf4c8cdb6cfad0e3a9debec3adfba05bae59f59ba8a44c13ab608cc393bf8f5395737b1bab2df253b0000000000000000000000000000000000000000000000000000000000000000b1a0a9bcd1664cbe403a893c35e710bb1718cebc22c04dbe44ea933cd84011bbf89e08bd5c2237be94470d3cf55b44ba027806bd57f217be2a39253c4b7d1dbbd5a0e3bc380de2bd5e06263cc98bb0ba77279dbc6fa789bd820c203cb7ac6fbbe20c0cbccdaca6bcab43043cf44469bb000000000000000000000000000000000000000000000000000000000000803f50df22bb31ad583c6952a6bde891a93fcec903bb4c44103ccdf414bd115f8d3fdf41a5ba64b9c13b4b7964bc98f6683f8f6e8dbae8dab33b2b8e97b94f6f303f696693ba6958e73b09629b3b11f9ee3ef187ffba237dea3b4d79833be48d773e4a8c47bbaab90b3c7c8d21bb0c97fd3c00000000000000000000000000000000000000000000000000000000000000000f84e7bdfeef543c0000000000000000632ab0bde03f0f3c0000000000000000243c99bd587dcf3b0000000000000000671484bd8a55b23b00000000000000005d6c4bbd232abd3a00000000000000004eefd4bcb77dbf3900000000000000003c9614bca05c18bb00000000000000000000000000000000000000000000000000000000000000000000000000000000fac9503aa249d23b57a827bc05f2bd3cff346ab9dc6acf3b26a722bc1c18bb3c97e1d7ba1366163c84f43cbcf07ea43c0528a3ba8fb4083c760e5fbca8f09d3c4331aebaef19ec3b3b602ebcd6a8823cc5b363ba779be33ba9b9bdbb051f373c99d5353877aed63b20fdd7bb89aa183c00000000000000000000000000000000000000000000000000000000000000002df4dfbb3b03be3ab331cc3bf5d4d7bcd045dbbb5f54cd3ac53ea53bdd0fa4bc4e0b9fbb2ed4e43a56b4fd3a85358dbc64beb9bb211a8b3ac4521a3a0ca856bc015d81bbfc90af3a07b8053b00cb30bc10b49dbbb76c6f3a8fe7d63acb3436bcdd198bbba6211b3a74ed943a10c0b0bb00000000000000000000000000000000000000000000000000000000000000002ecd9fbd9ae407bd0e956e3be3868fb83639bebd3818b5bc50fe003bd7645b390416aebdc570afbc7a87bc3a992eabbaf54b9ebdf65977bcb333d33aed12543ac57a8abd15b0d9bbed1772ba38c00cba801558bda7356c3ba9c024bb4796ef3a639318bd4177463c62f1b3bbacdb1d3b0000000000000000000000000000000000000000000000000000803f00000000bbe1e33b562d73bdebd4963ff6ff91bd8c9cd83bb32a16bd3038803f523880bde2a4ef3ba40acabc38c4543ff05d78bd8465d43b841eaabc7171283f709377bd94909c3b833a6cbc89a1f63e7d3370bd5753033ca1089bbc344f993eaafe4ebd1955e73b6cf9bbbc6f39053ef21a4abd00000000000000000000000000000000000000000000000000000000000000008c424b3c113060380000000000000000f1d15a3ccbff25ba00000000000000002897383ccf7188b900000000000000004044573c355601bb0000000000000000ba502a3ce4801bb70000000000000000d17e173c456395ba00000000000000005e27233c70f760ba000000000000000000000000000000000000000000000000380e9a3b3f17c0bb9689983b1bfdc33b1ba4cd3b951a89bbb3712d3b038fb03c23c8873b826b5c3a0264db3a06b4b33c4aad463aa3fd6c3be09d41bbfc9ab43c566142ba6472c93bedb1f3bbc09e9b3cba5b97b9ed5f023c1445d7bbe3fd933c0632bbba500f1f3c445c0dbc2dc88a3c75af84ba7d280c3c0764ccbbf23e363cc8422bbb9f051e3c2a3721bc56de0a3c1550ceb9009bcc3927a3903ccc6a7bbdbf29ebbb36ce8f3aa325a43cb5d080bd71f6c8bbaf86923a28db873c586c6abd99bcaebb859b493ac5e27a3cba584fbdaa035abb342d603a580b643cfafe34bdf2b9a6bbb3e1823a7c77393c4e9126bdf7abc0bb25c9803af631473ccde309bd8277b9bb4c205a3a37004c3c6c7cedbc986fbabbea77e43abfc2033cab7079bcd761713c1e9885bda93a543c51573ebbc60833bd480879bd0198393ca55602baa5eb85bd816774bdd0d32f3cf8637eba975685bda32f56bd93251e3c120deeb8a75359bd9b3e2fbdd363e13b5c2f96ba701c48bd9b37f2bcb156b63b4dc417b840e615bd243977bc3f1de83ac3eb4c3ac4e78ebcff93523b55d37abbc3a4123b9200cc3ac315003b72d2f13acb1c3839a66f703c081de1bd1921973f8aa0853d819e873c871fdfbd8068913f8a690b3d63ec723cd2f6b9bdf504813f142b8d3c9dfb7b3cfa819fbd0830593f25e61bbb0c7c873c5fa78ebde6042d3fb8579fbc32aa973c4e048cbd13a6023f1d0f22bd396e953c3b3187bd2821ad3ea8685cbd0422bd3cffcb8cbdfbeb2a3e713979bdad00853c6b387dbdadb7113d44018fbd4d2c04bc31d313b900000000000000003be304bab6b09eba0000000000000000f954933a37c703bb00000000000000003e4bc33b60c660bb00000000000000003e550a3ceccf30bb00000000000000002e792f3cf7475cbb00000000000000008b1f503cbe554ebb000000000000000040db4c3c3150b9ba0000000000000000bf42893c88fa6bbb0000000000000000d540163c77a8a4bce0b0a83c178c0abcd922273cd4807dbc12001e3c7450bb3b78d7853b1d7a31bcf3b5ea3b4997a53b5057b83be701bcbb228553391846503c0082c73ac8891eba5ca764bbeef2363ce697d5397bd26b3be5580bbc54d1863c6faa32bb168ef23b4b2917bc11ed183c8d3627bb281b103c4d7a6abc9417743c504348bbd3c92a3c2be031bca447103c9c77cb3ba4df97bad9caae3c058f9ebdaaea3c3bcd754fba498dd73c49feb1bd67626b3beabb87b9b052a43c8dff8cbd39af3f3abc518cb99e7db73cb99093bdfebada37af97cb39e6f28f3c3a8172bd047c16bb9c0e7a3986659a3cdd5767bd640d9aba4913913a3b1c993c906642bd4007bdbbb38ccd3af58ca23c8c292dbde2af6abb9a2e963acf124c3c0702edbccecc883d9665a6bda8ed7e3c4da5a5bbae710a3d7872d0bd905bbe3c70aea2bba206923c419dbcbde52ba03c2cb7bbbbc23486bbe804b6bdc6b8a83c24bc99bbeba440384a9396bde3768b3c17b889bb14592dbb82187dbda7236b3cdcb00cbb78fa093c5b4e2fbdfc1c613ccd5f85bbc17d443c1136b7bc34c7fd3bc1248bba1c65af3ce51972bc6ee1033c4f069dba5dc6803cb50ddfbd02857c3fcb48723e6d4c8a3c76f9f7bde6d77b3fc1343d3e03ec913ce119ccbd9cb8583f79b1193ebb329a3c064dd6bdb8da463fe526bc3d5ad29f3c8e1cbfbd92611f3fe1104e3d94d2ba3ccd24c1bd9a87fe3ed43fde3a698f903c0d47aabddea8af3ea1bcdabc7a67d63cb122c5bdd8025c3e24a097bd7400b83c998ea3bd90a8af3dea25a9bda602febc64f53e3b000000000000000050e4b7bc97d103bb000000000000000011d895bce0b265ba0000000000000000c54806bcdb4924bb0000000000000000484ac7ba77bf73bb00000000000000002b0ec53b41f290bb00000000000000006aa8f03b2a5282bb0000000000000000b2379b3cae1cbabb0000000000000000add5833c6da8c3bb00000000000000008205313cafd7e6bc28c1ff3c7dbaafbc6685453ca465dcbc6a7aac3c296dd8bb4c18323ce8d1a0bcbae4483c8dc3b43ae3c8983bf41c56bc0fbdf13b72499e3b0b5dd73b6ce418bc19e3b6bacfda083c91ee553b0b495bbb03f322bbfb54113c740a2039bb4a383b047b14bcbb11593cbcde713987c6a03b15e04ebcd58c613c06df73bb01e01b3c9ed831bc313fd73b4c38353cffc92bbbb331ae3cb801acbdc8ff3d3c3c890cbbf9a0de3c8ca7b9bded9cee3b3ebe01bbd11ec03c7ec6a9bdda3ea93b08e2e6ba66b1d33cf91a9ebde0ee963bf22a12394056b03c2e2f98bdb642233b3038a3b85f63b13c340a87bd964ec8baaa91983518f6a43cd0376dbd70a17fbbfb3d8d3aa3f0b03c54b856bd841128bbc76c5a3a87dd593c2d1016bd5497c83dfbd8bfbde79f7a3c170bacbbad0f9f3d2b2000bec195d33c945c10bc1381483d293dfebd0422d53c6432dfbbed6f183db32beabde94fd63ce71daabb18481c3ddbaed4bd02d6cc3c8e9e08bc0ebde13c971ca9bde3b8b63c238dcfbb6fb1e53c056e86bd6e9dab3c3aec78bbf149093daf1931bdba738f3c4e6c33bbea89193d95f0f5bcbc5c863c46c169bb0632763ceaf3cdbda1f24c3fad0ad43ed0f2793ca85be2bddb214c3f42a1b73ef660883c033adabd9d383d3f1097943e3e6e883c6851cabdbc6d263fd08a5a3e4486ac3c3a7fc9bda6fb0d3f254a0b3e0fc4aa3c36ebc5bd9329e53eece5863d689bc33c4d3dc6bd1f87ac3e422610bb31fbcf3c416ecbbdfa41693e8ef280bdb7e2b03c9f8ba7bdab42e93d6d01b9bdad0560bdb0b1b43b0000000000000000b07c46bdeab5013b000000000000000020c71bbd8ef1b3b800000000000000003611d7bc9d625cbb0000000000000000218e8dbca84505bb00000000000000000de9c3bb1d9793bb0000000000000000436f3f3b1e37d9bb000000000000000085c6613c3b0e19bc0000000000000000cfe4593c27dfc6bb000000000000000039573b3c901f06bd92a01f3dbde0f3bce160783c2e8509bd8051e73c656a93bc45be1c3cd8e8c9bce56caf3c576638bcefdd1f3cd872acbc8c78653ca1eaaebba3b81f3b735a45bcb22d393cc1861dbc27dd8d3b94d422bce3f8c53a6a433a3b7791b83ae649f0ba91b938bb5c2c853b98ff8b3a0b95033b8a6413bce3df0c3cf787cdbaa241aa3bcf5e03bca4a88f3b061d813cf54d8ebb3faea33ca0429fbdab59893cfa3b78bba05cb23c9812abbd64ba553ca87d38bbf453a83cd9c798bd0246453cb5600dbb6f20a93c803a9bbd1cea043cec6d37bb4138723c4ec86cbd75f1b73b30216dba657dbd3c7d9387bd2353013be9f1fa38ae089c3c3d9f66bdedfd8dba027b9339b307a53c029862bde57a68ba2d75183a0d1d703c43db20bd6f19d43d7e25bebdacbf383c4def98bb87a2c13db72507beb662cd3c51961bbc142d8f3d98d804be3bebc53ce4ebf7bba95b7e3d5c4c08bef973ee3cd1ef25bc99e7623d0faac5bddfbf873c239281bbc779453dabd9d0bd7e27fb3c5ef103bc7df6353df43f99bd2f0bc53c0dc0c8bb0b69393d384963bd3798ca3c8fc4b0bb80fc393da84720bdf302bd3c47c5abbb6ee9453cd0cfa7bd3e1d1d3f19d2193f31cd3e3c266bb8bdc70b1b3fa8c60a3f72a1543ca7edb2bde442103f3a87e43ee45b8b3cc156b8bd85f9043fd463b23e9559723c96a79cbd8a8fd53e11a3803ea97a8f3cb075b6bd6ffdc13ecb7b133ee227963cda22abbd99ee913e8e1b623d8ffeba3ca177b6bd1478573ed0c71cbd2149a23cbfcfa2bdd03df13df21eb7bd8a1ea0bd9f3a0e3c00000000000000008fdd96bd6ad7853b00000000000000002e4971bd7cf3073b0000000000000000c45647bdff54993a000000000000000055b111bd4848493b0000000000000000abe0b9bc39a7adbb000000000000000026d029bcd2c492bb0000000000000000bf05c83b522c0fbc000000000000000001dda53b0c8de4bb0000000000000000259c3d3c70500abdabf8213d3857f8bcaa54733ccb240abde75af43c33f8adbc6d254a3c7f14e3bc1399be3c9f3146bcb5da2d3c77d2cdbc0ed4963cea1809bc3d56063c41d08bbc22f22d3cd7fbb5bb195fbe3be8265dbc895ee23b1dfb4a3a9d21a13b405000bc01ff3b3a4708943bda36193b509905bbe0ecb5bb44af0d3c0799bd397b5681b934d979bb18ad3a3b3e588a3cdebe8abbf3f27b3ca90282bdb54da83c56efadbb9b808f3ce3888dbd64c7903c3a2277bb21e58c3c09e286bd06c86f3ce9db35bbb3328e3cc01981bd67c6493cd21120bb0e0eaf3c9b9d81bdd2120b3c1ca89ebab5bc943c731d6cbd472f503bec5acdb907ae923cf93959bd86eb48baa8c1b23aec649f3ce4fe4bbdbe7aa13a8ed09d39fabb6a3cb7411dbdab7bbb3d7044b2bd2328ca3b1fb5b1bbea94ae3d85790ebe48c4c93cd5952cbc6ee08d3de50718be85b4c93c6b692bbc1d547b3d80740fbe4855e03c3fec23bc41b25e3de81f04be6922f33c2ba61fbc48d2493d125cdabdebe9e73c6cb914bce209333dc611b2bd398cf93cce7d07bc8150363d37cb80bd5ad2ef3c410903bc09e2413dcc2a26bd9642b23c3b0fe6bbd646003c1fe67cbded0cda3e816a493f002aee3b8a8284bde166d83efec73c3f4b3c093c9f2e87bd872cd13ec1611f3f247e123c6fcb88bdd481c03e2e5afc3eccf40e3cfb528ebdfe98ae3eea1cb93e46d03f3c622f8bbd6c13933ea973693e47f65c3c493490bd22fa6e3e7453d43df9da5e3cac8c90bd88f2303e36742fbc17b7743c834a86bd869ad43d4fc2a2bd03f1c1bd0bb6413c00000000000000005db9c8bd1317113c0000000000000000e41aa5bd22d2b63b0000000000000000add187bd8a45203b0000000000000000900756bdd9e5e1b80000000000000000d5fb1abd145a15bb0000000000000000ec43a8bcee7595bb00000000000000001ad40bbb107b12bc00000000000000002c15e239bf859abb0000000000000000c833343ca27adfbc55ba033d8434d6bc38b43a3c072dd7bcf635dd3c0aa68ebce082313c26afd7bc73f8dd3caec78dbc2472333c2ea4babcb7389d3c1ce718bcc41df53b3aad9bbc81628b3c8b84efbb6cbff73bd2465fbcda0e0f3c0a1abfbaf67eac3b002c1cbc6289053c163f5cbb7e0f4d3be1cf84bb9d5338ba183fe23b183e503a64cc8139c116f9ba6ee9523b82639c3c9159adbb721e173ca17532bd2671b53c50a994bb9a5b293cd4d431bd9d5d973cb87c99bb6a21253c10a937bd975c8b3c96d36cbb38952a3c64ff31bdab1b4d3cfbf51abbbdc62b3cd6dd2dbdfbde193c3a1eccba629c4d3ca02530bdb2c5bb3b87614aba842e363cbe2221bd65d289ba6f71843a4e48603c376415bd1d5b34baf9df1f3a5437403cf794f3bc676d823d6bd9afbdde46bd3b13e8cebb6fcd6b3d7df511befa0ea03c973038bc98264a3db8a806be1c7c683c865104bc1ef6333d693316be601cc23ce43521bc014f303d7967ffbd730ab23c17530abc8f21193df513e8bd5e75ed3c9f0e19bcbf1a143d47dfa7bd813acd3c0b4a04bc72030a3dbc9980bdbe59fa3c2808e3bb21cf0c3de84d16bde0b2cf3cffa4e0bbe959553bc50d0dbdd0297a3e3c067a3f8021cc3a64a917bd887f753ea1016f3fadfe893b614921bdb2f2773eb796443f4339373b1afc21bd9c746d3e0d0f243fbab1cd3b897b28bde991553e5e39f33e382fa13b262d30bd48a63e3e6f19a33e0485003c0d7733bdbf39183ed360363efee1043caf6b3cbd3a19ee3dc85ea83c0d69043c7e2037bdd89f903d4e9498bd2b59d8bdf8495f3c0000000000000000d652e1bdb29b133c00000000000000006e85b5bd8bed333c00000000000000002cf9a1bd954e993b0000000000000000caf777bd4c49523b000000000000000053293ebd3bfc99ba0000000000000000c2760abda8a61dba0000000000000000211503bca4841dbc0000000000000000d76804bbb6e5bfbb00000000000000006bf7e33be38a79bc0695a83cc71688bcf881ae3bf5e91abc59e56a3c5afad7bbfd8ee93b2d4b42bc1425833cc401c4bbfac9df3ba0cc56bcd1437a3c21e785bb4f18ed3b52fa57bcd921653c165ecbbb55c1b23b7a8c15bc76472e3c4c6756ba2cb80e3bb1a3b3bba81af63ba6b0893bdc27033b608df338d9a709ba810ffc3b5d935f3a12e22dbb6be6833be11d6d3a4d35813c9b168abbddd1d63a030294bc863fbe3c70799bbbe5cc333a0d2663bc02c59d3ca2e480bb79b28c3aa19d98bc5abd943ce11988bb0e61413be553a4bc2973633caa08bbba8b67c93a80f395bc1faf3c3c2fb1bbba90d68c3bf0e2a1bc7c7bb03b980fa9baef35a53b9eb185bcc87125bbb881f23aa074823b3c5666bce57bd73941775e3a365bf53b26bf81bc85caa83c22699dbd1e7bb5bb798089bb0723613c088811beb08e5a3c9e493dbc269f663c64491bbe48655b3c2e1011bce8304e3c861a14be7436543ca60e04bcc81b523c21bafdbd7757873c01cd1dbc41bb453cbd45dfbdbb24ae3cf83019bc73b2073c204facbda010bc3ca438c5bbf149213c6e0156bda866e33c112be3bbb5a19b3cdf67fabc8155ca3c7c64e7bb9ae342b858191dbc310a903d5060963f881a59b9803612bcd796983d137d8d3f7404853a59f149bcb98eb83d7a2b733f8c8ae7b9c1d950bcca4dc23d27c0463f35cf0b3a26456fbc5912bb3df798163f005b84bade5164bcf70fa53d1d11d23ec45c4a3aa66172bc34d18a3d592a693ed89f57babb894bbc7cfa3a3d9761583d61a60d3b1c2699bcc773d73c226679bda3e4dcbdaf68673c0000000000000000be86e2bdc5d4313c0000000000000000d4f1c0bdfc72083c0000000000000000cde1a5bd91e9eb3b000000000000000070f888bd47799f3b0000000000000000a5f064bda207243b0000000000000000fd791bbd8b27e9ba0000000000000000cc3163bc282701bc0000000000000000626d73bc70cf7dbb00000000000000000000000000000000000000000000000082e80b3b3b8edeba3f766c3b76ba31bb46e2153bc89e05bbe611633b06a37fbab2d58a3b3fd8c0bbcc949d3b52f768bbbcbf723b5a69d0bb98eedf3bec9ccbbbe0464f3bbfa6d7bb9803ab3bdaa654bbd03c313b470b71bb0b67b03b6d24d4b8899b363aa49512bbbd0e613bf655943a00000000000000000000000000000000000000000000000000000000000000008032583c88a13bbbfff48cbb771eab3b6f9c693cec6916bb41b47bbb710c723bbb024d3cf163f7bab11680bb81580c3ba5a6443cfaaad9ba1d72febaa4f800baa81bfd3b83e780bae31b1dbb769582b9f8cda93b086a5e38ded814ba696ab43af5ccb83a3e98e339c1fc3d3ae6b2dd390000000000000000000000000000000000000000000000000000000000000000821c8bbc2ff7c0bd07bb33bc33d211bba43f7ebca0cdd2bd425fa8bb57c38fbba1a14dbcfba8c6bdbe8bb7bbb42f63bb9c74eebbfbf7adbdd7b48ebac3166dbbf7f206bcfe1292bdf1a1373bdf4949bb4c3c1abce1806bbd87a60d3c477693bb4b77b5bba25213bd9ebe583c212f75bb000000000000000000000000000000000000000000000000000000000000803f419fedba9478303c513555bd410c963fb87311bb67bc173c323ed9bc369f7d3fa46e36bb03c6033ca3ac4ebc138c513f54285fbb5986cf3b3726f2bbfe0c243f66d20ebb3cdad03b0fd52dbb4cdeec3e7199c2bb0f3ad83bb600c1bbe054903e76f2aabb212fd33b503123bccc8adf3d00000000000000000000000000000000000000000000000000000000000000008e8195bdb2aa0b3c00000000000000000d2570bd7f98d33b000000000000000003ab66bd4094f13b0000000000000000329150bd9b46b43b000000000000000040a43ebdea5d843b000000000000000070a109bd9388c53a0000000000000000fbe1eebc767e0f3a00000000000000000000000000000000000000000000000000000000000000000000000000000000494229bcfb3d913ceb84423dec87143b2dacafbbedfaa53ca99a313d247bb13b59e60fba8ba0c13c28451a3d1ae50a3cf0de5c38d3e5b03cbd9df33c23cbe63b647c25b984349d3c9928903c46319b3b79507fbae8cb4d3c7729283c43ef393b082c41bb09bed63b47e0b1ba3e80cfba0000000000000000000000000000000000000000000000000000000000000000869232bbf57060bb158cd53b3e3f703b0073ae3a9bcf8abbf46cb3bae7c2d0bb2d34473be1f0cabb541006bb561393bcd95c683b250262bbad368ebbe2c089bcfc21483bee0d6dbb4f5afebb87f761bcf263383bebeb38baca50e8bb5a6d97bb6c0b3ebad9fb263b48e5eebb2024b93b00000000000000000000000000000000000000000000000000000000000000009cc480be1993ef3c7d89183a521c3abbcfbe71be655a7d3c207c03ba3f6810bbde4663bec0e3b83bb250bdb8e9e47ebab92338be82fad43a873638bb3430f6ba45e5f5bd0ee5f2ba13b256bb708f833aae0584bd372fb6bb763072bb50faecb9ca712abc661fa2bab3658dbbb5d5d83a0000000000000000000000000000000000000000000000000000803f000000001938943cbe47f3bd70c9ae3f804e08be7437ed3bfefe7dbd2f16903f0bd2b4bd288f603b4c2928bd13e6713f04ac9bbd1e5232ba137887bc3a90333f637d5cbd801bdeb9e505073b1dd6e33e0295ecbc4c8192bb70678c3c456e583ed3fc6dbaf147dabadee0b13c195881bc297db73c0000000000000000000000000000000000000000000000000000000000000000350ccf3c780ac1bb0000000000000000effc903c675ee1ba0000000000000000a530463cdecdb23a0000000000000000d777393cc0c8983a00000000000000004d55fa3b4d77a33a00000000000000005838be3acb9c0e3b0000000000000000e7bebaba2bb7d6ba000000000000000000000000000000000000000000000000872957bcc62b5a3c9a6cbc3cd142ee38ed6055bc11fda13c55641b3d450fdebad2a60bbc707de83cd8bb2f3d16f10e3cfa3eaabb72f8f03c3015183d7f55413c0fc458bb1ddfe13cdfd2dd3cfc82033c1eef3cbba6d7c83c874f8b3c657f033c8af5a6bba54d983c2598ce3b07f2763b85c1debbb9b8773cba9942bbb934bc3a6f3d34bce400f03bd38f0cbc4d6067bb2d2de4bb93c430bb3ac0833cf0de1bbc4ad2d7ba0a60a2bb3698443cf8e015bc6eeefaba8e8608bc76b4373c11ddcbbcbae5df3accdcf1bb8dd9fe3b0805e4bc7bd51a3b588cb6bb0eff483be81bcbbc8a8a093b2d09b0bb21ab12badeeb86bc8fb0ab3abc253fbb76a58cbb5b99f4bb786d8c3ac98328bbd00de2bb39601c3b518c3ebb6369e139af1366bbc312703c60cefdbdd5318a3c64fa67ba9bbcb0b8f9793abe97598d3c0b145ebb83c72a3b2e516bbecb51bc3bf8df15bbe120193b21d25fbe2888a1b9c87c8dbbadd8943a2f4c35be281d48bbe3bec6bb96ff2a3b13affebd534d1fbcdd767bbb86a3b23ab7858bbd68dfc7bb2709c6bb91c3793b8d49aebc6fa47cbb2d0e83bbe39b963bec31793c5c00fc3b49013dbbfdce2e3be7de423d7ae568bec166ae3f2e8fe2bb7dbb143ddd2b34bec38c9b3f7c3d013c185dd33c70301dbe5114933fdd985dbcf35a973c4766fabd195c753f10d85dbc2bb3613c5af8b3bd20e8393f66aa07bc75ce1f3c59d266bd54d7f43e9174ac3b68ba243c6f65ecbcde9c723e0f79753c1451d63b8c1096bb9c26573df803b53c87246e3c949af6bb17aaf1bdd4ca9e3cd28017bac3d0b2ba0000000000000000c5e3c5bbef080bba0000000000000000c4b10ebb312e723b000000000000000076d8d5ba1430c13b0000000000000000a48e1fbbe69dab3b000000000000000060b49cbbf0ad033c00000000000000005576ebbbd3a3b33b0000000000000000521931bc1c08af3b0000000000000000cd39d3bbb5b16eba00000000000000000f76ffbb7c1bce3bfea4623c71a8643b327137bc9c44b63cc857e83c1fc0e33b4c3dcbbb4959d73cc9fcf93ccd0d6b3c7ae398bb40f4fc3cc6a9f43c9e883b3ce553abbba523ee3c54a0a83c81c8643c8b98b4bbadcade3ce9ff453c5bcc113c868f18bcd8aecb3c2a72b13b198f8b3b1af23dbcbdf2a33c8443b1bbf7a33ebacd4536bcdb3d3e3c1e5024bc70e3e2b9a5a6d5bb862130bb1281893cd67501bd227c2bbb633dd0bb7a6b993cf3ae1abd01a1fbba65ec07bc1d86923c28ac2dbdf420873a6e3d1bbc12ae4f3cc05737bdc314533bba15ffbb26a1133ca1a211bd012c913a2ceae5bbe4b7a93bfbe7d5bc398b3b3bc010c1bbbf89a53ac30973bcd1bd4c3aa4a518bbef310abb85e309b9aee8c0ba83206ebaae80463a6911053c254539bd822817bccc4146ba8d42213b67520fbe5a9a84bc35d0a7ba9d75733b1de639bedeb6a5bc643f74bac1cd633b496838be31859ebc05cd67bb1c8a583b298f1abe3ea595bc73bce6bb3bc23b3bdc3ce8bdc7d043bc835ccfbb997d8a3bdbb37fbdacaefabb2f19d5bb5ada493be61abfbcb20c133b3771b8bb8e78523bc554d13becca153c06e51bbb6fc8133ba4f8433d848359bed0f68e3f5e87503e75873a3d06de5ebeaa18923faf02243e84880a3d5d2b44bef8a4873f4fcdef3d477de83c537a24beb536683f7a18a43de97cc83cf6d8ffbd9040333fa49b663def05b03cee0ac3bd98d8f73e371f233de4c8953cf7837abd065f843e1059c13ccecf9c3cabc71bbd88409c3dee042a3c0c08863c317bf7bca3f216bdc1311dbce67b3ebdcaaced3b00000000000000001eae2bbd63ac163c00000000000000005c06fcbcc472073c00000000000000005d54b4bc5191303c0000000000000000fc338ebc51112f3c000000000000000038a589bc32b3353c0000000000000000af1f37bceec11f3c000000000000000003f126bc7774dc3b0000000000000000c66e05bc8641953b0000000000000000f48fdfba8b563c3bd396563c526af63b6cc69dbbfa1a3f3cf0feba3c91ec7d3c6ad7c3bab6f09d3cdacaf33ca7fe933c60b8acba256ac93c94b6cb3c01899c3c559656ba6a75bf3c0cf4903cd2b55b3cf0a583bb0177cf3c67972c3cc97d2b3c30aad3bb6ab0b63c7e85d53aa116cf3b1afc19bc1dee913c68269cbbbadbcf3a229c1abcb5a0323cd8ff04bc7a6e1bbb2633e4bbb88492bb71b5953cd53055bde1b1cbbb1ebfbabb1f418f3c596b3abd33fab7ba5ab700bc8be57f3c88f556bda59204ba2a1404bc9d2f793c40665ebdcf02123b99bf03bc237e2c3cafcb40bd2d4e023b1cf4f6bbb4a4cd3bfb1d14bd0250153a4056cebb7861cd3bc142bfbc59d824baba8ec2bbf34df33a04ab1cbca577d8ba0add48bb2003333bc448e3ba5ed753bc716f29bd45db8b3bca28903b3793bbbd235872bd7333cf3b983d923b6b2708be2b7180bdb401093ae3bd5c3b37040abea2ea56bd925fa2ba2e662b3b84aff8bd362c1fbd0905c2bb80c4a13bb6f3b4bdc604c4bc34cee0bb0712853b02ea5abdcd1233bc5c02c0bbdff8543b48958dbcf625503bda3b4abb256e323b96af973b37ba843cdc070d3a9861a93ac7a61f3d276545bee27f6f3f9b64db3e95bd353dff1f53be875f723ffebcc23e793f0e3db0703abe4593643f81529d3ec649f03ccc7f22be9f92473f4877603ea61ed23cd44708be813a223f0a4c173ed751c73cebf8d3bddd1ee53e5070b23d419fa83cf90e9cbd2974883ef23c043d7c2bad3c387354bdab65da3df28916bc9271ba3cf0bc38bdec971c3b731d3fbd00bec6bd6da5833c00000000000000003622babdf74f933c0000000000000000339f8ebde8429f3c00000000000000007ea54fbd302d933c0000000000000000073b0fbd6e99803c00000000000000002bbccdbc20e5713c000000000000000047a465bc45ab5a3c00000000000000002764febbfe9a1b3c00000000000000009e58f1baedc3e23b0000000000000000d4b733ba6ddda6bbcf72393c396b403cb6d7b5382932ae3bef52a53cb87ca83ce8ef96b9779c593c47edb93c3e4ccf3cd374673a75c4963cf532a63cbb73c73cbb21c53ada84823c83db6e3cd4cf853ccb8c03ba19be9f3c3165e93bd406813c43399cbb680f923ceeb64f3bf015ed3b7c3feebb9c15903c1a814dbb5e82db3a8a3912bc53511e3c627a0fbce3ae6c38f4b403bc93e44ebbaf9e523c0a813abd58431dbb2c0bf7bba693813c5c0e4cbd5d2e10bbaea002bcd7295d3c77a051bdd70c1cb99bb1eabbd404553c760758bd57b17e39270fafbb5321343c2bf949bdb4ff5c3a0a4901bcd181273c14c428bda587a2ba1791cebbe78ce53b2daaf0bc9b2b8bbab1f7c5bb7f04533b3d5c84bce5b584ba2b5995bbef119a3b3ed789bb276e823cdce89abd7a56243c0e48e13b0ea844bd70bedcbdaa6e483cda22e03b6f7eaebdaee0e4bd69a5d83bd5e5013c754bc8bd4c30c0bd4242253ba0b1853bc9a4a1bd4da889bd87fe69bb14a8f63a700b94bd009826bd7150c3bb07c0783b2fbc27bd3f596abcd082d2bb48d7963b5eab8ebc5bbaad3b994293bb4058243b0734453b562d863cc6d7a1baef11883b1867063dc19d1ebe020f313f8aa92e3fe622003de41d27be3c2f353ffec1203f2ef0dd3c27bf18bea8f22d3f36d2063fa2f7c53cf52a0dbe33f31d3f82f4c83eb0598c3cc045dbbddd63003ffd16873e56b5a13ce883c9bd6039c83e7ee4153ecb8b973cc63595bd0a0a773e9b414d3d84fba53cb82757bd67e2f23db1e0b0bc7e43933cd4d132bd8d02c83ca3d39ebd0db418be0ad7d13c0000000000000000905213bed332e43c0000000000000000d116e7bd8d99d63c00000000000000006117b0bd0fc0cf3c0000000000000000045158bd9e26ac3c00000000000000008df60cbd6ebcb03c0000000000000000dde395bcf8a9923c00000000000000003cc680bb38c3563c00000000000000003d18233b70e40b3c0000000000000000b0168e3a3636cebb93ae1b3cae3f743ce07a7db9344c313bd41e7a3c2a8be53c2069843a14a6013c0e06923c5223053de881953a07d2743ca74e8d3cbddee53cae0a0d3b7151703cde0c5b3c6408cc3ce4126a3a8b46863c4f89c53bb8e08f3c70d41ebbba4d923c63d8393bbd54293c37cecebbcdaa823c2b369cbb78563a3ba57ba7bb3c561d3ca79710bcd0fce53acb5359bb6e6299bb0b70223c602920bd9c0cd0ba3ed70ebc8fad4e3c67492bbd5df541b8daffedbb3203283ce1a432bdcf520c3b49ea10bce63d033c49cf43bd87c4693a509effbbd766073c7a8b2ebd72dd023bda3712bc9070173c80e11ebdea2bcb3ac0dd2dbc7d58a23b60adf7bcb64f0a396783cdbbf4918e3b658ca4bc379435bbe53bcdbbc57f8c3bfe3611bc3286f03ced68cebd7eca513c0ebfeb3bdab49cbc518f1fbe3f74ac3c29fd053c316f4abd1ba024be6c9a6c3c975edd3bc6fe79bd29a70cbed9e8a03b8d05c43ba85482bde830d1bde4fe623bd1265a3b6a3e61bd0d3c6bbdf34483bb7cb33a3b194017bd9842b4bcd48a93bbf7f9213b764871bce1ab883bc67290bad7c225badbe9913b57c89c3c7b02013b256abc3aaf17a73c2d48d1bda747de3e05af6c3fad24c23c6e83edbd63a0ed3e4af85f3f3194943cb68bddbd42afe93ef6af3f3f1152a03c7931ccbdab5bd73e1731143f5aab823ce6bfbbbd688ebf3e9bf0c93e7859503c43819dbda6ab9b3e6910633ebfff663c7a2780bdf0a8563e775a9b3d020e823c1cba40bd78eff03dc7c900bdd2865b3c85ae21bd45432a3db9fed1bd6c1941bedd9e0a3d0000000000000000ed0942be0e901d3d000000000000000051c61cbea493073d0000000000000000d2b6e9bd38f9023d00000000000000003c899ebd39f3d53c000000000000000026223abd8f8cc73c0000000000000000ba7c9abc116ea03c0000000000000000933a6a3aee40613c0000000000000000f032a53b2886453c0000000000000000b03cb83a2126efbb541bc83ba2e9813c3b4601ba86d81638c754313cbbc70c3d07283b3a6272a83bd4098e3c37d9133d3e0ba83a0e53ff3bcdf45d3caa20113dcc4b3e3bd4bc313ce9711b3c9105df3c734cc63a0a63573ce5770f3c206ea23c9f319eb8c8494f3c7243033b8e152d3c685913bb035c483c2a36edba087b7e3b231828bb76bd093c1d6eccbb5fbe143a948b68bb311299bb2d3cd03b6403e9bcc4c7123bab9811bc81ebc23b3f4aebbc3365933bd58311bc1fdb8b3bbbc4edbceaa1773b36a001bcceb5e73b2a1e04bd9df77d3b5e02e9bb772f243b1fadfcbce960803a117003bc44d6093bc4d4f0bcb15ab5b96eecccbb27eda63bf9d2d2bc6605febadb19e1bbf78c433b130e9cbcbe2cd4bae19cccbb36c70c3b337021bc413c153d278ef1bdfb0ad83ca144bb3be15b9f3b367346bee283e93c2619383b30fcb9bca80457be6083b03caee2ca3b0a0f0bbdbfc83bbea8574b3cf132653b42361ebd10140abe7be9943b7dada83916091ebd7efaa9bd1226733aee8adb3aebdfe8bc763e0dbd1fe4e6b9029dfeba0c797bbc97ad3f3ba6f583ba24352bbb75d7233bada6ad3c01d6743b4e62fcbaaedb343c0abd4cbd8e77563eea818e3f7871353c75bd6bbdf3f6643efdac8b3f97bb233cc9ae73bda0cd6c3e8c3e753fa32e1f3ce9f566bd91c46a3e87cd413f81e70b3cdfb04ebd54815b3e301b093f7df1233cc27d46bde098453e306a9f3e76f61d3c6c9326bdabba1a3e010bf03d25901a3c5c2b00bd4f9cc53d37f1d6bc5ec80f3c3337d7bc2d0a363d9fe3edbd5b3654be5635233d00000000000000005afd56be25723a3d0000000000000000cf6934be19d71f3d00000000000000006ec708be4ba10f3d00000000000000005003b9bd59b1f23c00000000000000000cca51bd8c34d13c0000000000000000d47f80bcced99c3c0000000000000000a615d13b7b835a3c00000000000000009f78873cbbb3ff3b0000000000000000e024e2ba0f7ac9bb3ce2ab3ba6a5c53c0c3c31bac98836bb46eecb3b300f2c3d9e2392baba25113b5bf2383c62d8473d39c316ba8932bd3b5710473c26b2323d550d143b01cabf3b68c5243cb1020d3da363ce3a7a40183cb447c93b9b73c33c99fc88b895a91f3cb663463bab3e6e3cabe411bb6dc6123c6ad59ab929b3943bad85d5ba4014a63bf73b93bb0f7407bb466b063b13240bbcf8cac13ae14ad8bbe601823af34c1dbc9f79323bae0744bccf138d3b835701bc83fc9e3a11852bbc4e749a3be673c9bba9e9043a1d3a58bcee4b823bfeb792bb1bcebdba9cda75bc50017a3a89838cbb603262374d0b80bc76e7fb39f95092bb19d61eba800171bcc7bfc5ba789ef6ba1e6c023bc9e743bc7bd47abb8f1f35bbc205273a0bf3f5bb4513d63c6c1b29be25ae103d40331a3b4446623c2adf59bee9c62f3d9f1b9abba89426bc757e7abe60aac13cf17e003bcad0aebc437861be3749933cead8fabab7a2d9bc16862cbe7b95ea3bb8951ebbccfad8bc890bdcbda0e9f236f41d3cbb8d0bc2bc56f443bdfb2e2fbbcbb53fbb855e66bc256836bb827cafbb462890bb51966b3b2079ea3c1bb3743b5d96a9bb7cf0a83aa78ba7bbab59a3bb8f3fae3f335074baff6888bccd6f443d3b1a993fee1d92ba3c3d8cbcd1265f3d6def8c3f505ef7ba720a9fbc077f923dd6a4633fb465e23a76739dbc55a3a93d3900263f7c25973adac9a0bc6d0bad3d93b0cb3ec22a053b97467abc1a14a13d96f92c3e9638983b47dd7ebc7635813de05f853b5e2b973a0003aebb7486d73c42641fbeb02e64be0dfe393d00000000000000008d023abed1db2c3d0000000000000000239e21be8477163d0000000000000000fa3efabdcc86043d00000000000000004c95a7bd6441d83c00000000000000001c2a24bd3f6eae3c0000000000000000f5cf55bc3d8c7f3c0000000000000000fdc59c3cb00c843b0000000000000000aceaf73c5514593b0000000000000000000000000000000000000000000000002a645cbba2c427bbf32afd3b4738493dd10026bb6ac1173bb028093c55fc3f3d087c98ba6705c03b47af2b3ce840203df970463aae77aa3bc907093c7762f73cd068233ae2f4d23b25f1a43b07a6b73cf9773c3a02c2b63be268453bed0f413cdc1a013b84b78c3b1024b4b92fbf5a3b0000000000000000000000000000000000000000000000000000000000000000412f9a3b2a4108bc458da6ba2aef343c69858a3b867c8bbbe5440abb8923cd3b4ce1093c377972bb3a228cbb5831653bb03aa53beffc5bbbeeed38bb91a4e739595d3e3b72cb9a38ea737ebb006af3ba53febe3a16f71dbaa3de64bbd16644bb9a9202bb78299cbaaf682bbb9f2c89bb00000000000000000000000000000000000000000000000000000000000000002dcc08bb325b7fbeeca6003d1400d3ba693080bc858c6cbe400d9c3c103847bb166feebc2a2159be0b29cb3ba91742bba5bcd1bc5ddb2bbeb7e9643b15069bbb1f9cc9bcdb34e2bd9e7d02ba1c1693bbf1d38bbc215859bdf8a3dcbb0e359ebb58d1dbbb06aa30bb4c8b02bbc428a9bb000000000000000000000000000000000000000000000000000000000000803fb5ae10bcd2d9923c8961e4bd7e64ae3fd80dc2bb22d8bf3b7b1563bd7169903fa372c9bbcf95af3beeba0ebd52e0723fa3cfcdbb3047c03ba6fd95bc0c79343f399292bbb97c853b36afdaba8e90e83e67aa74bb32daaf3b5f6ff53b04b1613e69f56ebb83861e3cdf9a213c76e70bbc0000000000000000000000000000000000000000000000000000000000000000c6c106be875ed63c0000000000000000c16bb4bdd8ac9f3c0000000000000000f13694bd68fe8e3c000000000000000052f748bdd26a823c0000000000000000fa72e0bc4eb9223c0000000000000000b64f86398bb0083c0000000000000000c394a03c9af8fd3a00000000000000000000000000000000000000000000000000000000000000000000000000000000ecc93dbc6849a23c11e33f3df3ac30bcd7e90abc9c5c913cad75513d4b4821bccdf900bc22a3a63c97172f3ddb5588bb1b6e0abc83bca23ce678173dabe984bb5060c1bb1c866d3cb898dd3c33991dbb5b8ba0bb13310f3ca7bc753c17b291ba1dd485bbc4f68a3b089b673b9a3cf3ba000000000000000000000000000000000000000000000000000000000000000078ee0dba3ab2b23bfd774b3c86e22ebb6242e839eb35793b91debe3b5d768abbee2d0dbaed03963ba3e34a3b100ff8bb1de22c3a1377a03b1684103bd73fffbb9013c23a7b4c703bed8732bb9cd037bb1ef8fc3a99bd8f3b70d3cebb0616a23bcaa6b93a25c8963b2f0416bcbb1a593c0000000000000000000000000000000000000000000000000000000000000000c37583be40f46b3d510025bccffa7dbb9afb81be23df4e3d98df11bc3d7e23bb863674beed8e2a3d653bd4bb8d0483bb666a4ebeaee21f3d792709bc2b143dbb818c16be5513e43c09aae7bb72701abb7bc4a5bd32aa5e3c6f99a2bbc4211dbbd519cbbc6b17ea3b6c4290bb576e9cba0000000000000000000000000000000000000000000000000000803f00000000e63c683c6900debdf155af3f1e31f8bd3915203c73a880bdd332913fde2baebd3e4e423cedbb4fbd6b69733f738b95bd6879273c99b213bd2dd8353fc47663bd6ff2353cd9d0a1bc6451e83e086feabc7e1a3f3cc84dd0bbfcfe553e5bb5c83ac21a4a3c31a853bb380ad2bc05d6f43c0000000000000000000000000000000000000000000000000000000000000000129c433c6d8671bb0000000000000000bb0ff33bb18415bb00000000000000004e3ba23b31e847bb00000000000000008702043b9149eeba0000000000000000f0099139e82616bb0000000000000000cdf87ebb98201cbb0000000000000000f9c7debb039a4ebb000000000000000000000000000000000000000000000000b53bf0bbada97e3cb9740e3ccc640dbae9cb40bca7abb03ca2e8e83c072d0fbc413922bcffd1d23c3793113d94d996bb5b5d24bcc572d63c622b183d0bf35cbb05f42cbc090ee23cbb0ae43c38d023ba613139bcdb75c43c14f18b3cc6b29f3a7ad53fbc0528b63c0aa9b63b92f7013b53da2abcb72a5c3c0d420ebb5036353b7e8652bc60ea293c060a14bc15823a3a4cb6b6bbf92aea3b44cbdc3c8d023dbd15f9ebba2c40013c19b5c53c1d3518bd54daeebad91cec3bef7bb53c986522bd919cdcba984ee33bb4f19d3cf51e10bd1b18cdba5adcdb3b7c9d543cb664e3bc97271aba29f2c63bddfd233cdc5f83bc3ef609ba1293c93b51b79c3b6367bcbb0b31a9ba6ed9eb3bc19813bbbca41e3ce7b1deba39b7cd3b2be7033aaadfa43c2960babde0134a3cc4cd0bbc378755bb97d725be2e10fa3c0f5666bcb216ffba5f2459be8346073df5575ebc654062bbcee25fbe9fa5133dd01968bc7c9e6fbb89ee42be7e88003dfcfb51bca36c4bbbaad812be3f11d93c564c48bcc6c01abbf8eababd357ea13c144a38bc04081bbb1ea223bdd225063c6219ebbbedc41abbe321b0bbd34c413c71bbf3bbf9a8f2bab540fc3cb52536be53c6b03fea56d0bc2af5cc3cbe7910be9dd29f3f1c39d6bcd7cdba3cb3e205beddc2963f101253bd5ab4be3cfae9edbdf405813f85216bbdad74db3ce6d4cebd959c4a3f2a1b51bdd996e23c1c55b2bda57c0b3f584a23bd8a8be13c1c4f8cbdae0d9b3e84b0b3bc6a11d53c69e440bd6947b83d9ad5593bb292fd3c710267bd7ce8a7bd9dd1593cba68593b9e4e27bb0000000000000000c4cfa8b9e258e6ba000000000000000036a9123b367f0eba0000000000000000aceb0c3b145bbab900000000000000001890a43a6bbe66ba0000000000000000ae1b2ebacd2b74ba000000000000000031f274bbb69090b900000000000000004f26fbbb51eb8eb90000000000000000bb1eedbbbc9ec7ba00000000000000004f14273bc7ed12ba43fe1abad353083cc53765bb0ffe9d3c9ee6d03b6a801b3c6b1dabbbfcaec63c80fb723c6d43043c915efabbbe66f63cc33c853c9ef8b13b1551febb60ebe53c6aca463c4c54b43b63ea3cbcbed6f93c6c259c3b09aac33b3f226bbc1643e63cde333abb1979753bf0917fbc04c8ce3c844633bcd7b5783be5115fbc59d7883c144179bc27b9313b7b4433bcc5de0f3cbdf9f03c79dc9ebdf24915bcf2ba033c1e2afa3c8cfd9fbd1138f3bbfa3d013c33c6f33c629a99bd77e0aebbb18ff63b2c7ceb3c46478dbdd8af7fbb6c90c93b20f5da3cfb436bbd291e4ebb9894fd3ba10da83c1b9d28bd9edb5fbbabd1d73bf151963c66a3c4bcdb5266bb1a59013cd34d353c4655c2bb3a1b49bba67bc73bf4463f3cb907be39b8fdef3c6b3138bdf4c6fcba2b51c9bac36f9abd7545b9bc48b306bceb1086ba7b2506be8c51aebbd8bd37bcbdbd44bb10b11cbe64001b3c6b496ebc550f3dbb172211be6b81823c4bd476bcd3551cbbc55effbd613dca3c48af97bcd4e831bb750facbd6971d23cf1756fbcf98e0bbba7244dbd59bad33c77bf6ebc041b08bb14646dbc86d2d73c559780bc6c284aba5344ec3c193615be0d088f3f0fdb173ef4b5f43cd11c1fbed2a6943f28d9a73df9dee73cd58413be2fb98c3ff1b7df3cf296e53c8afc09be08217c3f25eba8bcb909ed3c0af003be7740503fe4fc43bdf0ee043d1cf1f3bd60071d3ffcce73bd71a10d3d6769e2bd22ccc83e94b482bd1531183d90bdc2bd04fd483ece8d65bdf5150d3da87ab4bda4be7f3d60fb64bd05d69abc80d0f4b900000000000000008ef678bcd3b1f53900000000000000000e64eebbcc4dc43a0000000000000000b382f339ad00b6b900000000000000008d4e1e3b62d885390000000000000000d27f513b96aa043a0000000000000000cdf8923b308404bb000000000000000042c2db39d1c6e3b9000000000000000007513f3ba2457a3a0000000000000000c3dc263c9c4c7cbc632f88bad68ba13cc297433bb6f7933bdef47e3a63b2c33c9babed3a38fa673cb238c53baa59ad3cda25d3bae519a83c48a1a03b5ee9863cf4ada4bbe30dd83c73d1883a0181573c564cf4bb4667f43cee589abb2be0333c792842bcd924ed3c202c45bc77080e3ca56975bcc3d2ee3ca27f97bc5e60a83b89f432bcb00eab3c9497babcb6e58e3bde1e76bc43a3053ce3a8e73cc8a9bfbdc7647fbc2e10343ccd86013de3a6bcbd9eb13ebc7160143c8842f63cf010b9bd093f19bc91c0eb3b85c3fa3cb6e1afbd7e2c03bc12260b3c7937f53ce6a49dbdfb89c5bbcd97f83bb5cfce3c3b3779bd84e3c1bbd143dc3bc450cb3c75f430bdc2a596bb6860fe3b67029e3c0e82e1bc7c89d0bb9135b93bd67a9d3c47b09fbc2658ce3d261be8bdcd26473c7ac71fbbcee4f83b8443c8bd1f865b3b7379e7baeb3d5dbd67f387bdff3db3bb11c91dbb0adaa1bd26a211bd776938bc24bd91bae09bc2bd74f728bce94f82bc4df913bb9112aebdfe87213c15d79bbc1d9d30bb1c7d7bbd2455b63c9130b0bca982ccba0a7222bd20610a3dd672adbccb86b6b93180f7bbb27a073d6ead8ebc8a38a9b91dbcba3c3edfeebd6603663f2f34b63eddf5de3caf5608bee992723f8b7d8a3ef923ca3c0d6a00bed7aa6e3f9c56283e0344c93cf63cf6bd434a5c3fdb64833dd445dd3c6158f5bdbddc423fcc8887bca007f33cb281eabdc9511a3f1a2282bd2333fd3caddfe3bdaeb6dc3ee6fdcdbdbf1f133d2f30d3bd0b4a883e01b1f6bd6b60113d94b2cbbd2099113e635807bea0ad31bda211cbb800000000000000003e2013bdc958ef3a00000000000000000283a6bceca5413b000000000000000083e9c1bb7203d33a000000000000000094a58b3b23aab03a0000000000000000fd5a163c61aa673a00000000000000002017743ca3b02b3a000000000000000082a8873c41e4c4ba00000000000000003c948a3c68159aba0000000000000000cb344e3c6988b8bcd598af3b5d5fbe3c22cbff3b9693d6bbe3bfca3ad0b21d3dbf1de23b5dc6143a52df6a3b9ed60c3d27b46a3b33aa263ca79d46bad0bcf93c77b64c3b5b81273c9f59c2babda8ac3ce8ca4fbbe81ec03c0fa11bbc21fa843c1ac3c2bba27fcb3c32a97dbceba22a3cb5771dbc63fdcc3c34a0adbc03fefb3b822915bc4d41ad3c30c7d2bcd776d43b69b28bbc5dae113c5fe6b43cfe6db4bda0119abc1b13023c5b72ca3cb94bb8bd249384bca609083c844fcf3c8811b2bd91ed68bc0e7a053cc423cf3cf27dabbd48302cbce447d43b1e6cc43c4a7d9cbd24ed01bc2726d13bf334d23c69198bbdfd8af4bb1876d73b63ecb53c84ed65bd149be2bb856fe33b1215b03cd83620bdcd4ec6bb0a48a53bad41a63c68aa01bdaf080c3ec0072bbe3befd13c24ecb7bb22e58b3d11bc31beddada93cad022ebbbee38f3c2b7e12be1d873e3c74b86ebb947fc9bcd97cc3bdecc087ba38e985bba8abc1bc982a82bd08e7a8bb53d442bb600241bd09ed6cbc23858bbcce8302bb4862fabc8893143ccfd99ebcd8102abbda3896bc8524f33c3edbb7bc9b8da7baf37b413b77551f3d36ceb4bc9e290dba4179993c67c6aabd97b8233f67041b3ff9b7ab3c18ecbebdb3c7303f2747013f04679a3ccd57bcbd357e323fc5b1bb3e0394a73c1a01c5bd853d303fa35e513e5dd2973ca462b2bd8d84183ff27dbf3df9b3ad3c590dc0bd2f43093f837523bde393d03c3a76b9bdf663ce3e4a60dbbd36f2e93cd60ebcbda051913e854327be3752e83c9002aebd56e8313e159542bea19e9fbda9d3b33b0000000000000000cacc82bdf939913b000000000000000098dd29bdecc05d3b000000000000000067558bbc208f803b0000000000000000e4449ebbc392473b0000000000000000aa42823c9ff9873a0000000000000000f5e6b83cc16c5d3a000000000000000013f1023d8bac15bb0000000000000000969d063d7bb4a1ba00000000000000001315383c35cbcabcaeda293cbec1e13ce08e183c0ac541bc5a61a63b4bc5483d0c2dd03bde2587bbddd9553bf9c9473d7cd6853bcf5b573b24dc25bb59322b3db9b60d3b49992c3ccbb68dbbb597043dc7bab6bacf50893c879713bc49a3bd3c47c788bb799db73c3ad88bbce90b883c4ae5f5bb37a0c73c6e71b7bcf7db393c64cdaebb64b2993c9e30ccbc62001c3cae4986bc92afd03b511a753c6b1e89bdad61b7bcaa11dc3b2fe9853c2ea592bd20e097bc159fe83b6cd9883c19e48abd556572bcf52ad43b8b238f3c1e3b89bdcaf249bc1f6aae3b6c1e8e3cb0d681bd391718bc8c35b73b24b9853cb25068bd72d623bc7e6bdb3be49b8f3ca3f74abdf98601bc4445bc3b511c733c3cb619bd2bfc16bcec42853b27cd803cae9802bdcce20a3eba9a4dbe9f3c103d81a090bbac17b93dd4336dbe9738293dae2fcabbed82393d35a754be886bd63c878abbbbd4869c3cb0b020be5754393cec3c84bbcbf88fbb832acfbdff60323ad6f491bb14ea8dbc8b7047bd15073ebc4eb559bb7a807ebc42d50abc975087bc108c34bb629517bc99ebca3c512ebdbc6aba9dbac160423ce3ba093d02799ebcaddac9b99cd25c3c1deb40bd00e5c43e82b85d3faa3b643c7cd16fbd29dadf3e0a12443febd2793c3d0a80bd35d5ec3e9a23193f8d4e6e3cb4b67bbdeec0eb3e33b2cd3e82ea6e3c54907fbd78abe63e80e9513ed273763cec507ebdce09ce3e1c7a453dae42853c4d7180bdd53caa3eda59a9bdfc0da73c196281bd31b77f3ecd8c33bed00c9c3cf4077abda3cb293ed92c63be5cc2e8bd613c113c0000000000000000d9f4d3bdc4b51c3c0000000000000000f6ca8dbd8a92e73b00000000000000009f3921bd35c9873b00000000000000009eba38bc1367433b0000000000000000ed1b263cbc69fe3a0000000000000000e901ed3cce3fbaba00000000000000000cb1323df06671bb00000000000000000ed7313d74bb29bb0000000000000000d35ee43bf662aabcf0ee723c79b0fd3ca9807f3b613c41bccc3b0a3c4e57673dddbd8f3b1c980fbc0e98213c31f96b3d17256a3bad1582bb8625683b1ddc5a3dc445363a6873163bc02128b602aa213d732b2abae8cf213c7d1415bcd70f033d09111cbbb014563c7b512bbc583aa23c4fb289bbaa99833cb0748cbc3442613ca7bd75bbb3fe623c99e2a0bcbec8123c2c8199bc3408963b8b1af33b2c3c20bdf304b0bcd2e19a3bedd01d3c74b029bdef1098bc580b833bcdf7273c9b8b28bd8cd47fbc2255333be4ce223c952e28bde92847bc2fc0993bfe2d193c66591ebd9bc42cbc0a1d6a3b30e2113c51b018bd205e2dbc79a8743be13bfd3b52f100bd7a0d13bc0992b83b43a4043c5703e0bcbf3c0fbcc401873bc7130f3c6d0fc7bc4b05d63de67955bed637563dc50a08bcf390a13d1a838abe2951643da35a14bccb3e4f3dde6587bede10443d7bc91cbc4cb2ff3c950f5ebef26fed3c9657eabbb02c843c48b020be407e7a3cc9cccabb7e858c3b01a3b4bded10b1b927b687bb6ac987ba9b2110bd9eb80ebcf82e47bb3f938e3a8658033c6d538fbc81bb5abbf753873cae05e43ccb0297bc71ca90ba05c8ca3b8c4ab6bcc25a2c3e12b38b3f5445103cf943ddbc7a264a3ec579833f9889003c0f7af6bca483693efae4593fc93b063c3efbfcbc8e9b7a3e121b1f3f0ddf093c1aadf2bc492b7b3e0c46c93e15911c3cc0fe03bd3cca753ed9b12d3ed66d1b3c8aae00bd427b573edf9ebdbba6043f3c94e205bd143f323ef3741abeab783a3c2d7801bd192af83d7ade66be971513be436c883c000000000000000084720ebe139d883c00000000000000004246cfbd0272313c00000000000000001d7b80bd03bbfb3b00000000000000006892e4bcb2e8323b00000000000000007f7b893a3ec6af3a00000000000000009843d93c789907bb00000000000000003185523d2358c7bb000000000000000091706f3d347500bc0000000000000000f44d86b9ebfb16bc0cff933c54de0d3d8e2932ba357914bcda65523c5a84803daa4b13b983a7f7bb98803e3c3edc863dc04e15bab17cbebbd993273cab7b7c3dc6e3d4b9e1ecb0ba4da1ab3b57f84b3d338338bb8101573b02cc493a4333133d01a425bb19dbc53bb27ea1bbaf76b13c81d74ebbe755193cc20222bc1959533c780f81bb7774163c22642dbcf3d9c83b47856abc4c8198ba1c3f253bfd2e1dbcc2b6c2bc1518fb3acc7fc33b60bd85bc19838cbc4326d63a9f0fa33b17e763bc12d869bcfc29153bc6486a3bcf6b3bbcf57d4dbcc952643b52a1213bcafa50bca9ef15bce0ce473b5a7f1c3bebb651bc89b102bc6ad2943b35d9cc3ae22e4abc7c7c0abc312bb93b9c0f683a924256bc8b5e04bc0f70f63a18276838453c04bca2303e3dd50b66be5c847f3dc77035bc5ed4523d4aa68cbe86fc903da9827cbc5c56033dee0494be09c45d3d0a5135bc795aa33cbb1784be9de1283ddc3830bc7da7413ce1d648bee52ed33c871c1ebca214ee3b254302bed04e253ce67906bc51ce7b3b8cf86cbd816338bb4a10e0bba464f03b66a593bbf9cc7fbc5cdd40bb6e805f3c340ed03c44ea27bcbff7a7bbc1e6ec3ab50d193abfb0afbc9fbfaf3f6a6f133b5985f3bbaad8f33c74e3983f4e999f3a987ecbbb985a413d5177873ff0d8e13a11fdefbb13fd853d6c21553ffb1de33a8c29dabb4a40a13dc54f133f78d9343b041bf5bb5b96b63db044a53e19e2633bad6a08bc72f5b63d2538c73db9c8c33b4e5b30bc3a12a93d87379ebd5508643baea406bb9c2a313d97cb6abe431b3bbeae17dc3c000000000000000060c815be26f3b43c0000000000000000973ef5bd7c2e793c0000000000000000a982a7bd7ef1173c0000000000000000bbc93bbd05bba53b0000000000000000de9f20bce993233b0000000000000000d8279c3c72d2a3ba00000000000000005595513d44cf18bc0000000000000000c1da863d87f113bc000000000000000000000000000000000000000000000000150cafbb078447bb1809853c251c643db4be98bbe13255bb8397623ca5d4673db0fa61bb92f19bba7b194f3c12734c3d36569bbb6ab500b96d524e3c21112c3dffc16cbbbaaa94394df6003cac40eb3c0fc25dbbee37f73a8ff5683bbc709b3c3a1563bbecd41c3b238bef3a9726f53b0000000000000000000000000000000000000000000000000000000000000000f80629bca346a0bbb2fa7cb8ad8d6b3c5cb402bc124228bb5923063bca943b3c727a8ebbdf33aababd251dbbea403d3cc0205fbbea27baba8a6f0cbb5ed1343c6db459bb0109863a276f1ebbdfe0233c9f2288bb964ec33a980e61bbcb46f33b3ea1a0bb8ae2b83ac67db1bb793fe83b0000000000000000000000000000000000000000000000000000000000000000a47204bc787782be2c57523d052b2bbcab07f8bbbf3a7dbea4182d3d2f851cbcc2f867bcac086abe15e5033dcadf1dbcde538abce3ee41be4279d03c23d32cbc2df14ebc629f04befef9923c0e311dbcf26adebb71538cbdfe809e3b5220febbc62c8aba687e54bcd3cea939f082c4bb000000000000000000000000000000000000000000000000000000000000803fb50c57bb4749303c2cd0d5bd11f9af3f899382bbf87be63b3d3a7dbd7389913f45ca60bba200123cb3174abdba3c733f1acd84bb66c5323cbd7016bd585e363fec526bbb10ea443c12e7dcbc8cdde83e30ad4fbb9230353c606c78bc28e55f3e140b2fbb734d893c2b708bbc55bc76bc00000000000000000000000000000000000000000000000000000000000000004fd604beb458a03c00000000000000000fc5b5bdf335293c000000000000000001929abda8dc1d3c0000000000000000a32657bd03270d3c0000000000000000b2e8dbbcad84163b0000000000000000b8aca23aeb3a2c3a00000000000000002e5ce33c01599fbb000000000000000000000000000000000000000000000000000000000000000000000000000000008ad621bce366c33c0338c33cbfcdf0bb72dd18bc0df58a3ce4b1233d415f52bcb0981dbc29cd5c3c262a1a3d87fa25bc107b33bcbc11693c0c73133d31da3abc3e6d22bc4896103c23ab073ddcf12dbc82d9e7bbfe16333bf4a7ce3c501819bc76bb00bc5e6f18bba1d3923c44f3edbb00000000000000000000000000000000000000000000000000000000000000004d85cfbaa1f6433be0c3bb3c4dd80bbd6738c1b7c5ed2e3be64d8c3c8aa841bc09bc8cb934a25f3b400f8a3cafd05bbbb6e1b7babd15543b40797b3c9ea6913b53fabbb966246f3b8021493c523f863c34d6b4ba58535c3b3cb7e63b0375c13ce178dcba2692673bd2ab843bf76a1b3d0000000000000000000000000000000000000000000000000000000000000000013c74be187d323d356ab4bb163de3ba03f586bebb952a3d14c342bb719413bbe5ba81be3e93123d18938fbb65c536bbc26e6dbecca4053d1e2122b8d2b83cbba3fc3ebe3266d23c911becbae3261abb8445ffbd94a5703cfbb4db39e59cbdba69a78abd1415ed3bbd3998389ca856ba0000000000000000000000000000000000000000000000000000803f000000003e94883b0a37d1bd7bd6b23f0c81bdbd0653b53b2baeaabd8ebd963ffc7655bd0f11de3b7fbdabbd6aea7c3fa78823bd04fa2b3cde43afbd7663433f6532bfbc8dba5c3c3d7ca3bdd368053f99e0fdbb72596a3c16968cbd8a7d893efed0493c1b97aa3cb74692bdf7f4f93c1079ea3c000000000000000000000000000000000000000000000000000000000000000078a184bb64f78b3a0000000000000000d8faf4bb79a8ca3a0000000000000000b4bfb5bbbb58d13a0000000000000000e5ac2fbcad8dd03a0000000000000000e0fbedbb343df53900000000000000006e4cbdbb8fd52cb900000000000000000220b8bbe5924cba0000000000000000000000000000000000000000000000003ec9933b8e85653c578f6fbc37b40f3ccb64f739faa9923c159d993c6c6a0dbc7f4f2dbbb3d8a23c5677cb3c9899f6bb2c1ac4bb28b0ca3c0bc7cc3c098af2bb492712bc1c61bd3c4278d23c745a1dbcfe8225bc5a72a23c81cfc33cef5824bc77cc4fbc6338993c7ecc7d3c597805bcc22e45bc6765453cf1d1063c938bd5bbc5f370bc9ab6183c519bc33baacd0dbc58f528bb0399523a8c020c3da483fdbdd22f79baf4b62b3bc4b8023d75b4d1bd78fc95bad5df283b9fb6073dab98b7bdc70440ba38ec3c3b3687103df811a4bd543795b97fe7433bf6a3103d1b6476bdeac2a7baeb495d3b21950f3d4c812bbd28e9bbbac91f583b2fecfe3cd187b1bc1f5204bbb2697d3b1faee63c4688a2ba21118eba3dcb503b9729cc3cc440503c386f5ebc8398a2bb9fc7debb22dc75b9906713be7b8ad63c066a6dbba9b580bb50c144be9205cf3c463da6bb8c5776bb9c5c59be71fcff3c787545bb8fca82bb80e94ebee6be0d3dedc39dbb86b369bb3c2536bef206043d8317d9ba5abd69bb485e04be75eee53c9d115dbb5bbf64bb5f088ebd9abe833c69b33a3a015f7bbb02eb42bdd0aebe3c28c025bb7f1f70ba0a28c1bb4ae6d2bda59db13fe48a67bdd97efabbaea8bdbd4473ac3f97ed5cbdabc923bbaf79d7bddd329f3f672469bd5156d2b9ae6cecbdc3d98a3f9fdc57bda0317d3b1e6701bedb19613f830c53bd25d9db3b9fea0abef29c273fcd5823bd349b7d3cf0290cbe48cfd23ebea6e7bc369f9d3c8f2e0ebe1ee62a3e7bd897bbfd70e03cfd8e10be2b8d8f3cf9be26bcd255a33ba9ac7a3a00000000000000005889ecbada5e143b0000000000000000968dd2b989f21f3b0000000000000000b12faebb80cd993a00000000000000007dddebba0abcc93a00000000000000007c359ebbe7e6723a0000000000000000c0276cbb1d1ef73a00000000000000007b7786bb2e679e390000000000000000b60f44bb1c69bfb900000000000000006200b53cb9846cbc1c46c1bc016bbd3cc1da873cba5e003b01accdbc3139a73c4dd11f3ca4084f3c760f9bbcf9b2883c4a5ab03b1721933cce3330bc579ef63b570ac4b70b78c23c540c2dbc0458633bb7cbaebb3cf2d83c4259e1bb6a63b2bae0611dbc346ae73ca90d00bcb7975bbbf83279bc710ce03c37a173bb91161fbc958368bc4c64bf3c39310abca386eebb12bf05bcaa41403a8541bc3cb0151bbe42d779bb7c3d17b9ce96e23cb6b824be410840bb1d98813a185b093d50271bbea275fabaa4ef9d3a534d183d062a11be62248bbae973b33aec30273dc5ed00be576a4f3ad6e1a43a5c483a3d42dfddbd7dc18b39e1c6bc3abd653d3d868eb0bd65ccc83a4ce5043b2f48453d94ed78bde2cb0bbaab68093b8907323d9a4b3bbd78c5223ea79da1bd1bab933aa13478b67f22803dc3ed29bd921e00bcfed4d63936db02bc5af4b8bc8009bfbb2a0631bbc52284bdcbf0063c0edb0dbcdcc22ebb52a9adbdce9dcc3c77bbf5bb854a51bb4ab3cebdb678213df0b00fbcd77980bbc784b4bdd70d453dff9d0cbcc2b350bb8c82a9bd9b166e3deef003bc7ad960bbbe074ebdfea1543db61213bcf2af3bbb775438bc9baa42bd28e48a3ff8de903d853127bc8c775ebd3653933fb03d05bc42e305bcdf7f96bd1d758c3f9af914bd1ab1dfbb4b40b4bdffb6833f52269cbdcc0c64bb7b3adebd3fc6643f40a3c3bd096350b9371303be35493d3fbfc9d5bd5b7ad23b29b215be0f4a0d3fbc64dcbdec3f2e3c8ea525beaba5c03e1702cbbdd392943cd37c25beeb8f5f3e04a0c6bdf8116c3c7e864bba0000000000000000b120313c0848bb3a0000000000000000f5d9043c2a9b523a00000000000000001644a93b6954543b0000000000000000a9a1003bad22293b0000000000000000322763b939233e3b0000000000000000dcc821baeab92f3b000000000000000036f36ebb79f4083b0000000000000000958c5f3a5c495c3b0000000000000000a991ff3cfda234bdf6a8a4bcb378113d8885d63c65ebcbbc77fd21bd0cce3a3d7098a83c87fa21bc447a13bd051c1c3d10d5823c41c0c0b96f0810bd6cf6df3cb6ce433c0b6b103cbec113bde8b6b83c38628e3bd1ef9d3cde12f5bc3fd0413c942fbbbae0c8d93cb485edbccd4e903bf109abbb2f0ad43cf305b1bcc78395bb1d2a1fbc6e89e73c194cd6bc0807aaba2a2424bcf99897b9c839243c90840ebe4aab20bc8b561ab9ca3c733c8daa1cbe7a0d15bc9ee676b97d58b53c9b3623bebb346dbb53ceafb9ba82ce3cc5cd1ebe3b7948bb5129fbb9cd81003de3751ebec2bdcbba7a50923ad2bb1c3d64eb10bedba032b880104d3a313b313d3e5403be797e133bd766373a3f91413da5bedfbd7dc41b3aa92991391235413d034bb5bd79758c3e05a729be5a7b483cca2bb43a3a205d3e169a0ebebb84663adaee983ab6990a3e9a82bfbd94a40dbbabc86a3af5fe9d3d363a4abda82510bc82a003bbdb7d1f3d198738bc29343fbcd7b4bcba515f9cba8e69cd3cbe584cbc0d416abb690dd1bca7634c3db8096bbce5c650bb921e1fbd1f409c3d867d89bcd37c38bb7190a8bc3cb7903dfd987dbc7b7b8cba85b708bcc94f50bc64cd493f1a15803edce425bc62376cbceb54583f2d7b0e3e02d138bc71f2e4bc34165f3fda76373d44691dbce65021bdf447593ff88812bd684b1cbcd8056dbda0c34b3fad97e7bd0355e4bb520aacbd02b6333f675c17be6f9388bb9336cebd35b0173ff10635be0d8b93ba4bb803be4c31f23e203e49bee050d83b3ffb0bbe0e98a83e2f9948be3049b23cdf00eebb0000000000000000b610c93cea5906bb0000000000000000506ba53c2412cc3800000000000000008213a43c12d9f83a00000000000000001861973cdeeb5c3b00000000000000008e20363c2dd37b3b000000000000000083fe353cdb70713b0000000000000000943f1e3c80ce253b0000000000000000a8df2e3c178f1d3b000000000000000039bf0f3d3e307dbd78618bbabfc7123d2088003df61f42bd5e9003bdff266f3d80ccdf3c22e10abde79b0cbd43a34e3d99e6c33c7e02a2bc21e937bdce1a4a3d20aa8c3cbf2a27bc8d2226bdc8c4133d7eab663c2429813b8e6741bd0478e43c03d7e73bf5f33e3c0e3c24bdda04883c1809653bacacab3c768521bdca3bb13b9f02daba0ea6c23c8ccf2bbd6bba1a3cdaaa3bbcaec95b3a5cb4e9ba7fe1d2bd16a075bcd28585baeaf2703936f8e9bd370537bcbdc7a2b9acc7c33b471202be83e01fbcfbce33baf4c3333c290f0cbeb9ef03bcc51b8fb9bef3a33cc34808be2b6aa1bbc608d039e338cb3c4c2012bef5eaf3ba49028938f340fc3c9c3307be61d11f3a1378c839cc52163d3cdd03be71f181ba9d6324b9dca9223d6f22debdb4ba993e36886abe6e0fe13c9686afbaff94913ed3d769beba175f3c02ff683bdd8e623ee80738be858ef43b6a38633a3e0d373ec96003bef81779bb3a68e03a4a8e0c3e937fb3bd4f86913989e89d384d4ab33d0f3e87bc706270bc03ca17bbf15e5d3d39b29d3c260e7fbc3552eababb0aa73c720e8e3d89bca7bc25940ebb539faa3ce0398e3d0f56aabcfc8cedb9cb06e1bb5281ff3b008c013fba36fd3e27a999bb0d9a353cbf3a0b3f736cb93ecd5ac0bb25a3773b945f153f583c703e8c650cbc46d3b8ba71671c3ff238a23dea7d0fbcfcc4debcd241103f58a2853c7f7e31bc5fe1e2bc1ccc143f74a70cbe1d3bd0bb986f5ebdc9be023f256643be458d05bc2d9190bd4c3fea3e4fde83bea786c0ba7df4c1bdec89b23ea3af87beb2be603ceb6b3fbc0000000000000000bd0deb3ced410abc00000000000000002928e43c2085c9bb00000000000000005bb60a3d9d3e69bb0000000000000000e9b4ec3c299e78bb000000000000000084d7f63c471c3f3b0000000000000000c1afe73c605382b900000000000000000681c53ca3fe083b0000000000000000d48fe93cfd17eb3a0000000000000000a204e93c92a181bd817a993c8d32db3c0605de3ccd144cbd9b2863bc3ea5803de58cc53c25c81dbda3e7c9bc38887b3dca6ab43c631ff2bc43a60abd51a9663d13d0a43c8fb88ebc90f821bd1d974c3d3f0a843c8ee2f5bb1bb22dbdd37e143d9d3d4e3c49da243b33c02fbdb7fce23c2dd1da3b39a96b3c351b38bd10478b3c75eb853b018e853c174d43bd5c16983cc97240bcac439839aca610bc5f426abdbe4d9bbc78de8b3955b312bc4c888dbd8f6183bcc0d6ce397a6751bb3a36adbd110b58bc5af61fb9213b7739c0b6c2bd609330bc4fef2dba6d93a03b44d1dbbdf117fabbd6a99b396a221d3c8968e3bddf33a6bb33ddd8b9f193793c9ffce6bdae41efbae26e003a5c8cc23cebe5ecbd7c4da1bb8c0a8b39566adc3cfbf6d5bde361813ecee084be788d323dd3951dbbbfc1863e0b789abe5a6e1b3d406eba38d5446d3ec48f85be598abe3c4d437e3a06c74c3e258551be6ce4423c2dc6523a3642293ef5f110be4fc7243a3b44bb3a4552053e389c93bdb72d07bc5cff87b9206dbf3d24ec64bc18c364bce9c223b9e5bb873d933d223d1bc4b9bc2519b3ba6a2b823d9809433d68e3a4bc1fd91c3aeaee95bab5758a3c2ba7853ef8ba473f496c4f3a2bc69b3ce8008f3ed182283f3a474fbbd455a83c1d29a83e76a9f43e38048dbb6904973c4d81b73e477b983ea9a508bcec17813c7fd7c73e990ade3d0dc7d5bb4e67553b2e13c73e3c273bbd6be718bcb21c0bbcdc05c23e0b712dbea0562abc9df9bcbc25a6b53ef4bf89be4603c2bbbc8b3fbd8796933e152c98be52e641bc4b8f59bc000000000000000023d66c3cce6656bc0000000000000000daddcc3c717c3dbc000000000000000002d9113da37b0dbc0000000000000000e8ba2f3de662cdbb00000000000000008bec313df71865bb000000000000000094a42f3d398988ba000000000000000013d93d3dbf3abab90000000000000000b943393d0db8d5ba00000000000000008c0c8a3cda9a3bbdbb130a3d7dbaa23c626a893c65481dbd4d59d73b12c8613d5bcd833c831d12bd1ba8733ad6956a3dd6b47e3c0122e1bc901a4cbc59fd7d3d3fa7623c665cc5bc2c859bbc9f2d543dfac9583caab371bc8a91dcbc49ef3c3dfe67323cb238c1bbcfa1fbbcdfa50e3d7324143ce76c33ba1b7509bd208bbd3c8b9fc23b98affd3be99723bd4c8cd53cb82925bcee1f9d3a526a22bc8af17cbc67b896bc961d38ba5b4018bc4689e4bc74e78cbcde108a3a8b2cf6bba67012bdcb0d86bc8b485ab9512abbbb0c9235bdadba58bcba24253abd0995bb924d46bdf80146bccfa2e539e7f1a738dba178bdfcb81dbc3676933923dc503b731d87bd0483a1bbc473413a1a95c13b154c8fbdd8d505bc5bd4923acd7d313c3c3b90bdfb60253efd088cbe76177c3d0300e8bb8671343e0406afbe24cc693dea2ed7ba34322a3e07efa3beec143d3de12620bb7c07263efc0892be5da5f63c1ace8f39f06d193ee57d5cbedd4f8f3c946b20b82cfd053e0cf614beae5eaf3b2112d33a1c8fe03d81c09dbdd3d41cbb6dff96b86c83b33d92b396ba00879ebc2652a13a4ec69a3d2036b23cc8248dbccec0c23a93de093b7ee53d3cf53c913d7473893f472c233b84728c3cd71e9a3d722a7d3f19437e3abba6993c8f82e63d0191493f6afea3396801ae3ca044063e7613123f98acd9b9ead8a73cdfea1b3e438eae3e726f48bbfa4a903c9136343e1da7f53d72ca1ebb3337333cf4443c3e7de961bd7ed69abbe839023cc8cb463e43bb6fbeff789fbb721207bc9657303e163697beca4c24bdb27d82bc0000000000000000cfd9a9bca6e76dbc00000000000000004891483b1b967fbc00000000000000003efec53c5acd57bc00000000000000003633173ddde236bc0000000000000000aa4c453d8b4f23bc0000000000000000c8a5593d7519ddbb0000000000000000c3d0813dafcab9bb0000000000000000939e823d1386b4bb000000000000000068412d3b43167ebc47c70b3d8cfdf93b34cd563b938b7fbcb09d933cbe0b673d70009b3b07998ebc5d4c703cc99b713dbb628c3b473e83bc7ebcf53b4cba733d6182993b40ee63bc3516f63adf4f603dcd8a9a3b88ea2bbc2ed7b5bb57f2423dae4e5c3b776fc6bb133224bcf167023dab7c1d3bafe06f39352186bce576ab3cce26ac3bb4c3f8ba639ca0bc7a60a23c39e488bb32cfb3ba7491e1bb38354f3cbc3fb0bc3337b13ad077b4bb905ace3a840699bc47a02b3913d4cabbe2ad34395a6096bcdb851c3a1937cfbb5dbc70ba52328bbcc3a7303a643ecdbb014bd6bb200881bca9ee533a45a6b5bbdc8937bc353e3ebc5f92b23af97b36bb233094bc7faf02bc324faa3a39ec43bbc0b59ebc820c22bcae8c0e3ba7e343bb8e4bcfbc9cdb083d52c070be95c4763d8c3525bcdc2d863d157ab2beb586923dd508bebbc0b3913d2931b2be13d7633df1bf38bb600e9a3dffdda4bed1393d3dab11aebaf68da03de94c89bee457043d129aea3845a9a03df58f4abe39a1ad3c02fa2e3a7db6923dfec1e9bd4701063c6ad59b3a05e0763d2503d3bc4ab532bccad5403b043b8d3d3429fdbb5166d5bb2ec6c13a73841b3baa6d743bc95f4fbd4f8bb03fa0f3943b5ceef23a92f709bd8ea9a13fd822383b04f8063caa36d2bc6309893f5af3683bdc2f183c2a6f6bbc9c33573f0d1e1e3b93ba3f3c5fa804bb8e1f163f024d423b55226a3cb3150d3c203aa83e5b22a83a71d6613c4115e93c9eafa63d63c50e3b8441283ca079313d295c14be3a79f9bab95e9d3c38c6f23c23e680be88bcd1bdd4e783bb000000000000000043de69bd089e46bc000000000000000051cb06bd00bd4abc00000000000000006d4da1bb5faa4cbc00000000000000000c6e7e3ca34f46bc00000000000000009b95003dc2c32cbc00000000000000009e883d3dfe8f33bc0000000000000000038f853d1a420cbc0000000000000000ec9c8b3da6de35bc00000000000000000000000000000000000000000000000086f3c8bbd65b8f3b9939ab3cc6e0b73cfe5da6bb96bfd83a7d53803cee97043db0cb94bb3d330dbb26cb943c1130f23cd57929bb5c1090bb91ab8b3cf24ce23c85c70ebb373691bb38d5593cfed4bc3cc28d1dbb221e2fbbbcfc003ccaf3953cc83119395d20a0bb2d04d73b1af9183c0000000000000000000000000000000000000000000000000000000000000000dc8c4dbbd12e29bb86ca82bb0e4de03caf45d9bbce09b2b9371a42bb858db83c83a9ccbbeb4bb5ba78fa9abbcbdcd23c6a78e6bba0049e38de45f0bbf354e43ce0ede8bbda8c1b3a905ae5bbd10fbc3cbb1b06bc3ff3fe39ea2decbb51bab43c182adabb83145c3a8ef515bc2b09903c00000000000000000000000000000000000000000000000000000000000000003cc428bd7b8e6cbe46f9213d5c15ddbb9e3fb0bcf04b80be62871c3df645aebb096080bcb1b676bed19c053d80925cbb241cc5bb578d5abecfe6f33c988885bb4bc2ac3b6f472fbeebcdc53c0ce805bb8f792b3c48fde3bd2c24823c7c31203abd9bb43c40bb72bdf8ab453c68e6e6b9000000000000000000000000000000000000000000000000000000000000803f7ea2273b29f2b93a9e34dcbde19eb13fed48fc3a124f473b3b5bb1bd3119953f5a402d3b65bae13b80c9b9bdafb0773fa91d503b8259483c46ffb9bddd153e3f66e1063bfc01573cf738b0bd3ee7ff3e21e1063b3c16783c2e1f9abdff48823e00f5ac3a7d4ac93c414d9abd26f5c13c00000000000000000000000000000000000000000000000000000000000000004ce7b7bd645d493a00000000000000003ee851bd83f474bb0000000000000000843a16bd6503b0bb00000000000000006672babcf7a89bbb0000000000000000ea55ffbb279bddbb0000000000000000d103363c11e00ebc000000000000000066cdcc3c694c1bbc00000000000000000000000000000000000000000000000000000000000000000000000000000000fa2ecf3af6b943ba6423ed3bb58b423bbfe18f3ac9601d3a6289ef3b96b8613be3c8243aaa19a33a28efc93b71da463beb50313a6106d93acbb7a83bb47d2f3b57a37239857e1f3bdccc403bc47f2b3b34c3d838e368023bc405333b2c1f723a436112baa26b8a3a867a503b1652f9b900000000000000000000000000000000000000000000000000000000000000008545653b05e3c639edfc843a5e4cf8bb18ac503b4e13c8396cd80c3b42fdd5bb5d90333b5001a6b850cb3f3bf988c1bbab8c2c3b147648baa2ea303b8d1ab0bbd9f8093b302c5639d235663b5eb3a7bb055a673abaad79b74e0c333b61c8c7bb1d10e13935084fba0c741d3b4001c2bb00000000000000000000000000000000000000000000000000000000000000000bf66dbdba832cbdacb0003b3b7e123bbc8368bd316d11bd935a0d3b2507213b5e094bbda697f3bc97760a3b1a4d193b5c3c21bdf77ec9bc8d4f4d3bc406993a2a2a00bd02418dbce0d7923b11f2663a3c6da9bc693730bc0b25a03b842ca63a81f510bccff7a9bb2919d73bcb58093a0000000000000000000000000000000000000000000000000000803f00000000103187bbc450bdbc747f893f30b274bcabe932bbbccc0fbc9c28663fc3a330bc584505bbdf5d79baab8b3b3f4a6b3dbcb2bed0bafe685d3b1ad6113ff4377cbc5a5609baf594bd3b85bbd33e7d27b3bca4315abac0e38c3ba555843eee08f1bcb11793ba0156dc3a2146dd3d662c22bd00000000000000000000000000000000000000000000000000000000000000009e7787bc13379d3b00000000000000009c8563bce18b6f3b00000000000000005d8048bce93f4a3b00000000000000005e631ebc1284603b00000000000000005bade8bb09c1e13a000000000000000009cb9dbb67ab173b00000000000000003be5b7ba0ac52a3b00000000000000000000000000000000000000000000000014c4723adc9869ba0ffcd23bf62b90b99dcdb93aa93115baec5f293ca734853b221e443a542c303ad2932a3c5e89913bb1d0c1397cecd03a0ab21a3cc36e8c3b0dbf58399801f03a034f003cf181573b949b3ab96e640e3be21bd53b86e7143bc3fae4b99cbd063bdc15a43b9955c43ac9d8f0391e29093ab988373beb13e638b2423dba27d416392f28763aa805a4bac7100a3b44784c3aaa340cb8b888febb17e38a3b2f57733a0ee4fe3a677426bc898b643bcbb1163a1d47173b9825e3bb51ac4a3b1a24823934be2f3bf3f2bbbbe41f213b0b270739226b4e3b63649abbffef023b42dbf8b88c97523b52b8adbb2528c43a753d0cba2e2a3f3b2543bfbbefee93390f55bc390fa3113be629b9bb5cd7483815de16ba446aad3a970d1dbbcf83cdbc50321cbd4917b1bb710b383b22c164bd170551bde80f3dbba459823b6a8b75bdb8ef46bd9a2f15bb2848633b05e460bdf27e2ebdd1208dbae054653b55ce2cbda9ec04bd7d1f53391b85463b453c0dbda205d8bc26d01e3bf5ef333b13b3b0bc678e91bcc412913bd00d213bbfa8f1bb07e40abcc52bcb3bf169383a2362b33bef5639bb4cc9a73b1c74313a31fbd9bae46070bd47008a3f98cef53d4478c8b9d97665bd0d41813f989bdc3d0530f5baa40206bdcf1e5b3fb0f9bd3d8ab7f4baa1d39ebc14f1323fcf78943d9cb1b9badd301abc1d52093f9e964b3d5cd5b3bacb60b4bbb7a2c83efc3fb93c46c075ba2ea366bbd4887a3ead2c7cbb26d5beb9af57b9bb0e98d73d4ffce9bc5447a7baff685cbb65195abcabe21dbd79ab01bdb64cea3b00000000000000003ebb0fbd4bf8f63b00000000000000007309f5bc8548b03b00000000000000008ec7d8bc73cf943b0000000000000000522eb2bcba937a3b00000000000000000ad69dbc2196873b000000000000000087866dbceca18b3b000000000000000060de1ebc3679993b0000000000000000d555a7bb511c853b000000000000000066ccbc3989c380b8a282d23bd94b0bba6952753a5527213a4e570c3c34e4b63a35c02e388740943adb220e3c364f763be31b453ad35c053b25421a3cbe7e803b7cfa17b9e7e1fa3a903cf23bad282c3b950bbbb9297d123b5c83e53b596d213b0357cab9881cd13a234ea33bf625a03aac0c25ba3c726c3a4d1b5a3bb4cb49b8cd5ae6b9d794003abb7ec93a4a7391bafcf6913a5cc5a33a470328b9070bf8bbdbe16e3ba20c693a24dfc13ac91af9bb5e382c3b9653773ad85bd63af47b90bbecf4463b2c8e973a057fd53a96683ebb0ca6ec3af3c5233a653df13aa49ccabae967e53a9078b8393195273b908ff3bab3e0883a3dc25538f201fb3ab258bfba1bcf90398e74afb93fcbd33af3eae6ba66d8deb8a33e8a38c3d83e3a72e8b6b9097e03bc3bc1f6bc42df47bc11fe783bb66d05bd741e4bbd6e0a48bc88fe913b950412bd28f33bbd881c19bc73c18d3bd41826bdf97a3cbd27e1f7bb2fd38f3b3653ecbcfdc808bdac4691bbb3616c3b2b5cccbcb434f2bcbf3d00bbdacc693b7edd70bc539a9bbc8e94373ab1e3443b258a5bbb9ac33cbc72f95b3be71d393b1003b13bfc188abb3927393b5c37dd3a5b0ca039f60b7bbd7514683f947e8a3e0e6e3cb9f08a8bbdd6165e3f4b39803e9d0308381bfe2cbd7b41383f6b945a3e2f8648ba03bb08bde63c1d3f51be2f3efee47ebac58da0bcd26eef3e2eec013e0d1621ba36817cbc2a9ab33e3e2aa73d22dd3bba50602dbca69e643ec2f9253d53a45cb944370dbcf4efd83dbb73aabb8bf472ba44a0a5bbde6a9f3a9758f3bc70df27bdc70c933b00000000000000005f0350bdaa10ec3b000000000000000060bc23bdbcd7a03b0000000000000000b0a121bd36859b3b000000000000000058bdf8bcfa0f753b00000000000000005f2dfcbc00ce9b3b00000000000000003048cabcdee8963b000000000000000045dbafbc7f37c83b0000000000000000b6a754bc7563983b000000000000000003a418b9e82a5f3a5e0cb33b2cc6d3b90ae9a2381f717d3ae88df93b7e7f133bb958e53960e9ad391cd5f93b097e593b23eab7ba2991023b0e4a063c9a3f823b155b0a387ce1f93a1a2bfa3b0128623bb49618ba63ac083bdaebd63b039c3e3b7d560dbabd66d33a30f2a73bf0dcb83a035802b9d2afd339caa9763ba8061b3aaab552b9ea3acc39963a113b7a2e0cba7c340fb9c4cbc23a29b490b90918e2bb2950c33a3883163bace45f3a2b37edbbe2b4613bdcb6403b6108e33a5a8a1cbb407eb73a04c3013bb647003be59889ba729eae3aff24803a049fe73ab500173ad4c0b63a63a3793a0590e13af3c9263aa4611c3a47f0043aa6bbd93a0d846e3a376887b93d6ae2394fd3bf3aacfc693ad28dc5b9d372e1b74e91cf395b16d73a4297933abd11ccbcee0e99bc50fc623beca787bc329636bde173adbc007ec53ba454d7bca30e4bbdc30991bc863ca13b9c96e7bc5d613bbda58e64bcbe2ac33b7e7dbdbcd39319bd2f3b1cbc04e63a3b8b5c98bc6092f8bce79fbebbf710963bb52d34bc48deacbc830e16bb31b78b3b00ba02bbfde03ebc3c977a3a44538d3b5b29963bf6ef7bbb8f23853a7c131c3b8d556a3a15176cbdbcea3d3f3e52d93e0f0e1d3b7c618cbdfede353f227dcb3e8ff5b43ab6f84ebd3b121e3f82eead3e5f78423ac1731bbd8799033f41da8d3ef9a12c399e07d6bc79eecd3ededd573e2cb52f3968fba0bc4427993e048a143e60ff97b8c63167bcfa81483e2421a43dd2d0123a5b0b31bc89fdc93d4645a33c42da25bad5dbb7bbea3f183c28d4babc341a45bd3727443b00000000000000002d3e7cbd0d5cae3b000000000000000058845dbda804873b000000000000000043b945bda35b693b000000000000000080c52cbda9507f3b0000000000000000941122bda7818a3b0000000000000000365c12bdec0da73b0000000000000000cade01bde8a2d83b0000000000000000f9b1a7bcf479a23b00000000000000005a298439b433c43a10528b3b0d080a3aa743ce37e25be83ab86dc13baa184e3bc8843db9641ee93ac929de3bba9d453b0bc196386289063b8727e23bd761d43b676e6ab91a84cd3aca2ca23babec8a3b93e0cab963a0fa3a91d9ca3b94b3483b43d56cb99631b43a56b6a43bfc430d3bf65b86ba68372f3af6c6843ba2474d3ac5c92ebacfd7e23914dd283b30aa71b974c76aba0472fc3a3d3283b99c39eebbc5db853a5c66423b6bc2723aed13ccbb399e5a385622913a4117463abec50ebb93cad13a74ecbc3a3e9daa3abda31039c75ef93a474283393bbf623acc14ad3a6c9d073b8e169a39b06bc93ad60b283b8c885c396ef1c539f372b23a05c52b3b6fd71cba8a3e0f3a7619073a97fa2f3b7e3904ba84d98ab70d983239cd5d973b687ab63b1586aabc359ec4bc3f784e3bd6c9e9bb984d29bd3466e7bc25bdbf3b0ff777bc29bd33bd8517b3bcb44dac3b98509cbc8a913cbdc8f59fbc09bc953bb1e849bc9154f1bc78d444bc01ae4e3b641463bc8c5dfcbc47582fbc7cb8bd3b5d9bffbb09119abccd90a5bb11fa873b7b1b1fbb914e2bbcb5180cbb5c15933beb993f3b6b6619bbecea06ba5d03443b241bf63a400f59bd56f9143f7e9c143fa673603be99a7bbda68a0d3f3c8f0b3f8354d53a764733bde8bef33eb154ec3ee02abb3afca817bd0950d03ef593c43e5e906039f2cc99bcc2f79c3ed382913e3f2f433a89a8a9bc0893793eb608563ec5d1723a4e845dbc5d76233e3b14fd3d2e376b3a6be337bcc897af3de513373db6b8eeb8a8e6d7bbd620583cfab190bc0e235bbd2212d43a000000000000000001d688bd6387583b000000000000000062c75dbd32202b3b000000000000000092415dbdc462093b000000000000000013c919bd2268903a00000000000000007a413ebdc5f9383b0000000000000000d3d021bd278d833b0000000000000000e0761ebdc851ce3b0000000000000000f8d4dabc6d4ca53b000000000000000025b023b9f32ad03a4d3a313bc6a1fe3a88560cb81bdca23a53917a3b07bfa63b894f02ba3cacfd3afe43a43bfe9ad43b3f2106bab743f43a5ae8b43b5690cb3b3429fcb908c4033b65dbc53b2858b43b22a710bad609c53a1dcab73ba2e8973b91d246bade70a3399121be3b8b8a4f3b0ec539ba184eb339f43e833b6cf5e83a7f3205ba0bb5b0399ddb343bcafbe13896459fba4f62ec3ac3ebfa3923fdecbb2a24683a7b9e363bc3a3cd39dd05d0bbd27ce63a66034b3baf559f3a1097f3bad8bbf13aaee70b3b6739713a518e793a23e4833aa500b73a94fd6c3a787f2d3b54db603a4ab5973a3b20ab3a0212643bba5c1c3a3ac2d93990d7d639ee4d4c3b82d9d4b98342263a5a45593a4823683bfe0488ba1ba58b390aa2bb395f73543b2fceef3b67da9bbc8f35eabcf4f4563b9a475cbb6bab34bd4e5811bd20e3d73bbdfc3abcc1fe52bd7e22f9bc08a0bb3bb21267bcf38747bd7900ccbcfcecad3b6bbd51bc349823bdc3df9abcc3028f3b7cf148bc69a902bd6cc359bc9c3ba83b22ea0dbc909da9bcb81203bcc00ea23b60ad96bb733f15bc7c6769bbb849a33b454a563a3684e0b949579bba688b6d3befd3503b3c8143bd15e0d93e67b63d3f264e9a3bf19268bdfa4bd03ed82b343f20776e3b54d635bd8dc2b73e84861a3f56aa1c3b1dea0cbd5e919b3e64adfc3e7c0dc33a457fd0bcfab67a3ed631c23e4bf2ac3abda5a8bcb8573f3ef8ff8a3e3793843a8c3a82bc335a023e666e293ee815af3a72894dbcb535903d9e2d873dd20dfc39f0b8edbb50f8673c26976bbc7e0a6ebde152523a00000000000000003c0699bdecd32f3b00000000000000005b5c84bd7ccd873a00000000000000009b206dbddc879d3a0000000000000000646e55bdbe048c3a000000000000000010f552bd0920253b0000000000000000d7494bbdbb968b3b0000000000000000ae2141bd2ff4dc3b00000000000000002cee01bd44aea23b000000000000000079709db9147ca53a69fc353a6ac07f3b7c4e3fb9680ab73ae226b23ace7cf53bd32736ba4a83943a52242e3bb994eb3ba46371bad5efac3ab23a863b8aeb083c1570e939cb3e103b5c48a83b2207b83bf46bb9bafe64ca392be6a73b44c7cb3bce9337baa456293a7ae48b3b347f823b33841eba3e509d3967ac3d3bd3c3d33a7cd8dfb9dff7a3b99a09273b28d4523a714a6aba688b773b7a54433af030dcbb3cb3c63a7071793b13fdbd3a0df7a5bb7a26083b8f13373bb0306c3a5cd660ba99101b3bf59d203b2673273a0e94a03a1e3c1d3b50e0613a116d9c39cd7f183bc04fb43a8fe8f43a0a89df39bbbf5b3bf669653a43ac4d3a7c7a2c3ab112843b1f25abba78f4b73aca75053adfcb8f3bb1483fbad95b133a8dd0c1b7e27c4a3bd4e8b63baf7ac2bc5d4a04bde6b6823be1473bbba9e04dbdc2d226bd06d7e43b290109bc7be952bda20303bdf9e1a93b716034bc5cee5cbd2f56f2bc7978a33b02ca20bcbc4b21bd1b89acbc10eea93bfcf43cbc354d0cbd01b988bcfeb7b33b23970abc3315abbcd47b1dbcbf72a13b4bc806bc536ee4bbe70cb0bb96aad43bdaeaebba4544203b4ffd41bb01e9803b5799963b35b826bdd40b8b3e3b02683f4e4cba3bf55e42bd21ec843e7d855c3f9af2713b09040abd41d36e3ec294363f6bf75f3b75e5edbce30c4e3eeec1193f6a28d23aecfaa2bc839f243e1be7e73e049e0c3b8b6f90bcef2e043ea69fa93e7100bc3aa71551bcc0e8b33d2ab8503e3f3c033b8a3638bc89714c3d4340a83de66e563acd11f5bbdcd9463cf6ef7bbc5afc7bbd11a7a23700000000000000007ae39bbde558473a0000000000000000a08a62bd448486ba0000000000000000420f68bd5af999ba00000000000000007dbd40bd5c48acba0000000000000000e8cf57bd3448993a000000000000000021c641bd1a162f3b0000000000000000ae1652bdba82ed3b00000000000000008f0216bd4de9b53b000000000000000003f085b986f58f3a6cbfd3ba97eab23b0bf19bb92ad4983a859fb3ba69791e3c6033e9b9982a853abdd43a3ad7dd213ceb3ab4b925737a3a15c1133be6721a3cfa3af9babe2a933aa7d7453bc3baf63bd3a5ecb94bc04b3a9d987f3be98edb3b98d731bad3c21eb88838743b97a8a13b6cd586ba16ae91ba4724383b8dc15d3b4c32fdb94b4456baaf7c0e3b854f9f3a548afdb8676f3b3bbd8d243af239b0bb11e14c3b5d8ead3bf03a5a3a824542bb3d056b3b39b7983bab2cd23828b5b0b8e11a5c3b0582413bc7f89039b7d9203b26db1b3b39411e3be28246393fde503b2cf3173b8342fb3a09db5e39587f8d3b3bdfba3ab04eb93abf84f3b8500b8e3b721c2e3a9826883a18d720babd28783b510554bae22b083a334b04ba5cfd923bf6c0053bcb4e03bd07fe15bdef63713b0aa4c5bb0ab085bd6b6932bde7cae73b2b00fcbb9bbf8bbde7641fbda8aea83bb33f13bccd7d7cbd0ca504bd35428b3b678913bcdabd41bd2221c5bc6255763b9f552bbc05c11dbdbcc398bc95a0943b4c3132bc0991c8bc1a453abc4d8bac3b08a02abc9e0b15bc386289bbc5bbc03b7eb69abbc592973be698d5b92078933b275dad3b4439febce9d7f73d319c893fcef8c33b539406bd50e4f13df126813f9323633b01e9cbbc705ee73df44a5a3f8352443b8928a2bcdedcd03d0c3e313f4495f43a1ef06fbcde21b03d1c57073fe342b33a6f5c4bbc9a4c8f3d0dadc33ec348a03ab45122bc8d5a4d3df3ec6f3e8a59eb3a1e0e0dbcc28be63c26b1bf3df15d863a7e0bcfbbf5240c3cb338c3bc823367bd8ae505bb0000000000000000f77b84bdc46e88ba0000000000000000b04b4cbd2e0b81bb00000000000000007e3932bddfcb80bb0000000000000000e45c23bd33cf63bb00000000000000009c7a38bd8889f6ba0000000000000000e36145bd01d6753a0000000000000000da8252bd36dcb03b0000000000000000a82330bd3189a43b000000000000000000000000000000000000000000000000ffe3503a1b1d3b39cce412bb45bff93b81ff3fba12e72a3a48fc2dbad9b0003ca384f439766e01b9013c4f3a3a75e33b3b8190bac4868a3a6ac00b39048cda3bf15cc8b9352bdc394e4d193be729a03b0058d8b9ce3687b938a8123b49a46d3bc6950dbaa61d13bab5b6043ba2de263b0000000000000000000000000000000000000000000000000000000000000000dc7e8b3bf5d41c3b88b382b9eb5d46ba3f1b503be1ca303b65d010390518d73a7d89013b5d41a63a8ac40b3a1b750e3b6f441a3bc83762398360b9bab825773b7a4e0a3b7a1dea3a6c7c503982dd7e3b0419b53a6a8eb33a09bb03b93698633b2df23d3a470f883a766d13badcc4713b00000000000000000000000000000000000000000000000000000000000000005c579ebb29ba6fbd419f16bd3ce47d3b8048a6bb6dc068bdac75f8bca96c283b9c9bd3bb32054cbd1618d8bc5d5b0b3b649fc5bb24011ebdb9a7a1bce6f50f3b6a24ebbb9d66fdbcd9ab74bc523b193b3ecd09bcbdd6a7bc2d981bbcdf8e543b247a09bc1ee600bc4aa07ebb83ea813b000000000000000000000000000000000000000000000000000000000000803f4f196b3bbbef81bc052cbabbe79b893f0b451a3b5db035bc9d95623b4a11663f14a7283acb3115bc1128093cce863b3f4923cc3a156abfbbdd55443c8884113f8049073a48f1a7bb06d64a3c5deed23ed3972e3a8b4986bb164a2e3cfff9833e961a543a767e59bbe5b5f53ba714dd3d00000000000000000000000000000000000000000000000000000000000000007121f5bcaee6b4bb00000000000000008184aebc0ee2aabb0000000000000000d53797bcbf589ebb0000000000000000e7fca7bcbc6c98bb0000000000000000352fcebc9cc380bb0000000000000000f0bef5bc0cb1d8ba000000000000000051201cbde8c7c83900000000000000000000000000000000000000000000000000000000000000000000000000000000bfcf2739b96cf1b94b31db3b3743113a1ac8b738c767293ae875c73ba5168e3a4bb1eb399127053b7c92c23bb98a763a583c883a5561db3aece47f3b7885b5b9d712273a1e13343b5f2b623bcfa937bac527553902a6343b353e0f3b121909bb45a3e6b9d7871b3b2ad60d3a88a58ebb0000000000000000000000000000000000000000000000000000000000000000931a633b5b82123b7769bcbab67d733b89913d3b6793ff3ada311b39df53523b1037153bddb7a33a8d58643a76e64d3b7d85be3a7d8fac3aa7850d3b60245c3b365ea43abea8123a609a393b309ff23a573f7a3aec6db0396bd31b3b36ab673a2eb9183a3b067039dab6073bbbfa2a390000000000000000000000000000000000000000000000000000000000000000fb61d0bc1a6424bd0fc251bb0e52933b7559d1bc535206bd644018bb3ad1863b4e55b7bcba48debc2c87a2baff62753b998397bcb32bb1bc86284cb84f636e3b50ea57bc811782bc3c95013b78e8413b35a5edbb7aff2fbcb0ff6f3b00fc313b2bb1c5b98444dbbbdc16c13b1903163b0000000000000000000000000000000000000000000000000000803f00000000d9d718bcb28104bc94d87d3fc09ce5bb12eaeabbc8ce753a30af563f1cca04bcae53cdbbe177cc3b1268313f51d03bbc635f9abb10692a3c0e1f0c3f43b68dbc6f6f69bbce6e4e3cf205cf3ee7c6bfbc6a7047bbfab1613c93bd863ee9fdf8bc65c328bbf445723cda21fe3d5c0825bd000000000000000000000000000000000000000000000000000000000000000040f1a8bc6c24343b0000000000000000bb2791bcd3091c3b00000000000000004b6882bc1440063b0000000000000000da2966bc2eb8113b00000000000000006b023abc615e4e3b0000000000000000eb350dbcc0aa723b0000000000000000a29cb9bbdb5aad3b00000000000000000000000000000000000000000000000051a0d9ba765e2439dc94073c944033bb4a955aba229c0fbab361193c60f004ba2611b139f4374b3add7a153c62393d3a13b41dbaa404213b11b4093c0a1d43b9e37cc8b9e2d1543b1cf5e33ba54786bade2f10b90023853b4925b63b0f3011bb07475e3a1bfb753beff07e3b511087bb24dc19b9253f2f3b39c3e23ad306b9bbac2312b90e17663b76339c3a6c11eabb9fc6523ac0fbe83ae70485bb4bc73c3b7eb7323bacd95f3b7ad132bbb641683b6e846e3a6745003b8d1682b9c18d9a3bcf74f73ac9624f3b5e731eb938a1b63b2264753a53afc93aeffd473ab31ea33b75d7d139433db73af2f1b93a9e5e823b02843eb9aba8173bf461a53aa79c323b58dcc8b8e837d939f9cc113b8c031e3abbe9f6396645a23a9a0e87b95d02533bc57ababb080b19bde32a32bcb044863b214f98bc4ff747bdb3f81fbce07dc83b7e24bcbc359536bdf851c1bbc20e8d3bf675abbc92cd1cbd5256dabbc873983b87d975bc4d2aedbcc1b96dbbbe4f8a3bb2352ebcc229c3bce6b3b6ba9c1e843bb98f88bb1cec8cbcfe409f3a5a3a663bb573603b66b231bc1dc7883b2d11633ba5a01a3c39b2c0bbd610273ba713ee3a3e6906bc7307ebbceea07d3f7cff033e76de14bc19d1d6bcf2fb683f3190e73d3c5d09bc40e82fbc3609473f7167be3dd06105bcb9f81ebb00c3243fb959903d52bee0bbb7c6873b1d4f013f59dd413de97dd0bb0634193c3e37c13e61dcac3c549fb5bbe470433c4fae7d3e321da6bb6983a7bbadf3483cff04f83de564f9bc824859bbf49f2c3cafc5e03abe4c2abda4e8dabc4877773b0000000000000000c7d309bda648733b00000000000000006dfceabc32ef593b0000000000000000a002e9bca536043b00000000000000005f8ec1bc20d31c3b000000000000000039e6b2bc76806a3b000000000000000011c395bce642a93b0000000000000000a2d665bc1e34f43b0000000000000000f34602bca43cc43b0000000000000000b3ebb3ba33b1ae39c229ec3b1ded78bba556bfba550a4f3a50e33c3cd625c8b9ed9abfba2827e93af67f0f3cc0773cba42d131ba559e593b88d41b3cf9ddf1b9502146bafb88673b9478e43b4359ebbae3057bbab5a08a3b2e94d53bcb6b41bb25941cba20af623bee988f3b9cc242bb8656e9ba1d398d3b6a3b523bb787c9bbf8e974b9cfe1473bf853bd3a0217c2bb261ac5ba521d3c3b94327fbb89f9ff3a513a53b9fe8f683b817454bb74f12b3b4c251abae3d5523b5c6a1bbbb33dac3bafe3b8ba78d2433b431ba5baee83be3bdd912fba90e4c23ad1232cbac5c2d53bc82189ba10cd043b794c533a11f2bb3b607f4fbab4128c3a054d5c38a2e69f3ba6fed6ba3eacaf3ab7b03fbae4fd9f3b620fcbba2b069f3a92a8d33805e6843b28a1ec3b21daf0bc0e067dbcd9626e3b3aeb05bb5e1b36bdfaad98bc1751b83b4636f0bbc89c1dbd4bb377bc5714bf3bed5f0dbc7aed1cbd8e8e50bc3999ae3bf0c9aebbc2d5e6bcfb4c11bca40d813b0b2eb1ba6c5cd3bc285ed8bbe640953b80a58a3a892e86bc9b452fbb921d913b0863fe3bc72756bcc4bd89baba9d943bea35193c684901bc7f8df2b8808d563b4a1db7bb50c50ebdede8583f8b72893e7e5de0bb5a8f14bd3555493f3b51793ef739ecbbd4ffa6bcc6ec293fd926513e83d005bcba3149bce3e8103fdd8c263ed3e8e5bb0a7b74bb674de23e1904f93deff0cebb933f823af8e2ad3e297b9e3d8896b9bb8459a43b7112663e5f951b3dce47d1bb4192173c451cf53d35cfc5bbc50d98bb8370f93b8bed6d3c31dcf6bc335203bd266d443700000000000000004d272dbdde0d983a0000000000000000067111bdfb008c390000000000000000012a14bd2564c63a00000000000000002af6f1bc14159e3a0000000000000000610bfebc55ff373b00000000000000001070dbbc6ffca23b00000000000000006582c6bc4f5de93b00000000000000000d7381bc978cc63b0000000000000000448b0dbb9f4d513aad81e93ba4d93dbbbe10e3bae645c43a0a8d1a3cefc6deba812f01bb1291013bfcce1d3cb81401bac3e10abb216efb3a4db30c3c1caf923a01f24fba9558893be6e9073cbf3aa4ba417447bac5bb813ba0d5db3b03ea5bbbd2a71fba2977863b35c8c83b6f1788bbc83ebe398b13903b155da13b2bb7b5bb542d17b99f7f4b3b60fb0f3bfc6494bb02d738bb74552f3a704695bb79f3ee3ac9c40dbbac977d3bad3c89bba1be373b8fc7d9bae9a15d3bfec413bb7d66b33bf9514ebb00ee023b408c00bbbe9ef03b50e8bbbac2bd1b3be34be5bad8a4f53b6eb84cbb1791a13a3348aebaf8ceea3b527927bbbecc073baaec89ba810bdf3b81af31bb91710b3a0261b5ba9306e63bdecec8ba2f94823acc87e0b99f83ad3b88205c3cdeb3babc65efa8bccab24b3b90b6053cb28c1abd6ca6d5bcf2c69c3bc7dfaf3a6d0e22bd5d9cb8bc8c49933be3ba32395fe017bd3c3b9cbceec0573b04ac243ac26af3bc922470bcd589653b1543093bb2d2d2bcb47329bc48d5b63beb35b73b4e6497bcc7e703bc4501a23bd8f3fe3b008151bcf787a4bb4723ba3b5c491b3cc3b40abccc941ebb3788a73b79aaadbbbaf60cbd0653333f8af2d23eacf7b0bbf2a725bd6817273f005ec03e3f17f0bb0845dabc7f4f113fd970a33e3f86dabb8dab94bc319af43e19a5843edaf1eabb7f6520bc766fc33e24534b3e49bce9bb8b007abb5913953e02400e3ef1a4d7bbfc6a923a92214d3eea819e3d9281dfbb8645a83b03b2e53dd4bda63cb5a5aebb613d983b7908ad3c4248bdbc1be30ebddb97d1ba0000000000000000a4583fbd60b2d0ba0000000000000000d34f33bd4071d3ba0000000000000000191125bd188f90ba0000000000000000a8491bbde0f36eba0000000000000000021616bd542d163b0000000000000000cb5811bdc3935d3b00000000000000006fa005bd3bf6d03b000000000000000085bfbcbc4fd4db3b00000000000000003c7bb8ba0f7b003be6ae0f3c777a28b8281febba999e023bd6e50b3c97c027bafa67c8babd6f163ba740083caf46ce3944f4fbbaa6fd363b752d033cd9d11f3a0ae39aba6be3373b56b2c93ba95d323aec83e6ba3ab1af3bc02ef73b0e04c7ba767f28badbf2723bde65d53b24ff37bb6293ddb92995833b2967b23bd3e596bbf470633867b0753b8c9a863b689d8fbbec14a7bb32db493b23a05ebba8abffb94a777ebb886f783bcb7a94bb3bef923a1bcd63bb6801243b6e266abbce90883b732596baad04483bb726c8bab151bc3ba21668bb9ba8de3902481fbbe2cbf03b682768bbb7e10f3b2b5681ba4ab6dc3ba1586cbb5451f13a6429babad852df3b52b17abb55c9f63ae00f93baa9d9e23bc50e41bb93573b3ae39620bbe4490c3c85e5903c7d1baabc15e3cfbca2f7c13ab2f5703cb99efabca2c0febc4b6f613b02bb053c5c5200bd91aed4bcea942e3bb5b5b23bb6c602bdc8acc5bc907d513b1c49983b88629fbcaaa67fbc0fadcb3a9305c13be9d4b9bcf94979bcd3109a3be4a6e93b8fa773bc6ebe2cbc2c138b3bfb251f3c1bbb2abce08b02bc47a9bd3bce7d233cc14dafbbbaa5e7bb02054b3b211308bb9d430abd6e600e3fcb000e3f149172bb37811fbd1a24043f3db5013f97d6a1bb43e2dcbc66c0e43e55c2db3e9185d4bbdb26aebc9695c43ec401b63e8990c8bb1b320fbce528983e02238b3ec43cd0bb9e9c10bc0868763eeb424a3e2752c5bb68652abb15dc293ed415f73d372000bc286def393e89ca3d97183c3db583d9bb2135863bf642bf3c1ac77abc151911bdc5b1c2bb000000000000000089c43ebd143685bb0000000000000000ad4e28bdd52c86bb0000000000000000056b30bd927686bb000000000000000050d204bdea9f48bb000000000000000099de2bbda8a2ecb90000000000000000ae9e18bd1d9ec13a000000000000000065b21cbd4eb39c3b00000000000000005e7cdcbc552a553b0000000000000000da3bb6b969a7653a6aeea83b47644cbaddb1cfba752f063b09d7fe3b01c12e3b6d7402bbdf6d023b21d3fa3bbf932b3b059819baa521013b2233f43bab426e3b7337a6ba0ce04f3bcd4c003cffeaa43a52c16db9bd117e3b707ed33b303087ba36b836ba4daf443bc2dff33bc215a8ba5fcb08ba3394533b4e14d53ba07844bb146037b948f52f3b0842b83b5bb43dbba62b8bbb96bf3f3ba50a7bbb405d44bbb792a1bbdca78a3b963471bb45ff78b943a563bb41a4423be0757ebb8c122b3b3187f3ba245e403b65892fbb73af833baa2555bb2d4efd3a87947abb97acbf3b8d4a74bb88cd1b3b7e07e2ba61a6ee3bf31080bb28e1113b599c04bb16bbdd3b2a4295bb35b61b3bee37e7ba316bda3b0afc75bb0cf4a63ae37770ba14cab83b31b19c3c2ccd63bccbfee8bc749fff3a46768d3cbc41e2bc22b51ebd12d9283b1a7d4e3c82d005bd780c0abd2df8313b423e173c29d400bd6047f0bc27e6163b6448043c8262d3bc7c1cbcbc735f333bfcb2073c4541b4bce9a1a5bc8d5f943b1922ef3bfda36bbcba6180bc6cc1a43bcbf40e3cd33e01bcc2ee2cbc7614d03bb784033cd75272bb6740d4bb4897963b8126aabad4090cbd45b1d33ee537333f26179dba245c21bd30a7c53e65c2243f32f44fbb74a2f8bc7224af3e18390d3f77c37cbb102ec0bc02b3953ed880e83eec80c2bb47827abc900a763ede1bb53edffbd0bb7b3421bc3229433e5efc833ed781c6bb4a3dc7bb899c0c3e334e243ec90abfbb86af43bb8e92ae3d84848c3d092190bb0637fcb97c7adc3c70ca39bc89fb16bdfe0bcfbb0000000000000000e7974bbda103e3bb000000000000000014be3cbdd8abd3bb0000000000000000e4d639bd77f9cfbb00000000000000000c0b31bd79b098bb00000000000000000d773bbde2b8f8ba0000000000000000ceb637bdf4310d39000000000000000014863cbd327e893b000000000000000032ef02bd0b08813b0000000000000000c7bd9fbacfca493a38b8643b8da2083b7971d1ba7fd2843a8abda03b6f335f3ba98f9eb94808563abc4bac3b0dda8e3b09f500bbc3887c3abed1b93bc9d9a63b3f58a0ba88860d3bf241d43b172d283b0c334cbafd0d453be4aecc3bd2b9163b0bc344baf3a0f53a82f4dd3bc564a939297ad2bab7512a3b8171b93b3ef609bb6d87ad39ff6d033bcffea03b03160bbbd2929ebb0458413b3aeb2dbb3fce79bb27c286bb4449ad3bbfbf64bbb16106bbc5c823bbea3b5f3bc2b887bb547c643ace6e36bb0e00183b1c6682bb0428423b4e135fbbf6df533bb9233ebb9bdb903ba6b15bbb49eb283b362320bb46efc13b81f45bbb6921153b8ec920bbf553a73b606081bb63964a3be7d441bb0d9c8d3bc95586bb2412063b82e746bab4d5af3b7894953c10f64abcc76906bd5b874c3a39549b3c2cfbdfbc26b130bd4d99183b77b7463c8ddeeebcb4da0abd73f5fa3a9d9b2f3c17e9ffbc607303bd922be83a76160d3c24bab3bcb73fc2bc223bab3a3653cd3b5b61a7bc70e8a8bc04296b3baaf1cc3b917c39bca16267bc265ba23bc6fade3b4ae2b5bb883b31bcf6c6e83b840f953bd8fb443ab051f1bbf1cea23b17a7a73ad56bfcbc46e18a3e246b583f0c902b3a66b814bd3f11833ef0ca473f836623bb3c76d4bc3546683e7250273fc1036fbbb177a6bc2e7d4c3e04790c3f253489bbfd0e69bcb473273e3d41d93ed6cfd0bbb4cd39bcb6d5093e5f17a13e6a319ebbe519efbb2fb5c93d53054c3ec3bf9abbc252a4bb39fe8b3d9db0b43df19b89bbf90816bb7859db3cbd0105bc38ce0fbd5d74e4bb00000000000000001ab140bd65f111bc00000000000000005ea41fbdb5d900bc000000000000000027932cbd0f2709bc0000000000000000de081ebd81a4eabb00000000000000000e803cbde5b89fbb0000000000000000aeba33bda43e9eba0000000000000000ee4555bde161553b0000000000000000378218bd10f35e3b00000000000000001cdcb1b81640663a34a50c3a0cf1ae3b6833c4baaa9025ba615d4b3a1d53e13ba12bc5bae1618db84da9403b7b1ee93b2005abbaea29103a85ea8f3b0051cb3b9163adba4718953a1027ad3bfde4a03bfaf180baa19bd13a5f57cd3b0530843b5324a0baf431ed39d752ba3b632c433bd0d849baaae4c3391fbec23bf2e83a3a9844f63ae540dd3a2df49e3b0daa3fbad9dc45bbfeeb2e3b750042bb7e04a9bb14d8dfbad82bbe3ba1b135bb7a5c95ba5138f3ba0625af3b28a664bb80fa953974a3b1ba3bec733bccfc5bbb456ef33a4471debadde3173b525445bbe6355b3bf5f313bb8366203b1d7649bb1ebf8f3b42c91dbb253dcc3a84b826bb81cb863bdbb66dbbf656543bcfebe3bad52d823befa364bbe796713a0ceed6bafe3c8b3b0928843cb16878bc398e19bdd07789bae66a893c356003bd646236bd15d7d63aa8bd4b3c8e3d0bbd01a720bd5b323f398609273c919ffdbc5dd507bdd0a5fb39be5ff93ba884c1bc1e5dcdbc9772603adfb1bf3ba73196bc6e93a9bc318a293bc6194e3b061042bc065369bc36f3a03b8b0b0d3b490c0bbbbeae1dbcf2c8e63b9904533b3ece813b05ebbfbb9eb9c93ba2f1213b37d0d3bc48f5043ea6a67e3fefa3283b5940f1bcce43003ec085683f8b5fb3b9c217bebc2e79f13d909c453f73fe12bb17be95bcc8ecda3dffab223f36ac69bba78058bcd1a5bc3da8c3fd3ef4c892bb1f622cbccff9a23d7c31bb3eaa487dbb3edf01bce541823d57df6e3e6ad770bb1b51c2bb39933f3daa68d93db86d9cbb802c82bb694bd13c44a70bbc640ce9bce60610bc000000000000000035d815bdfa2731bc0000000000000000da6d05bd53ef3ebc000000000000000043fc08bdd4183cbc0000000000000000c5c60bbdfc001fbc0000000000000000d07c26bd5f7affbb0000000000000000f04740bd60af7ebb00000000000000000ff94fbdb619223a0000000000000000ad3427bd940dfd3a0000000000000000000000000000000000000000000000009e32c4390aa688ba4ea9beb935cadf3bbbcab2ba43181cba31f5193af8d9c73bb884bbba69563739ea41003b459ea43bcd30afba9b9909ba8a07643bb84c913b159888bab7d6b2399659763bd07f583b05291dbac93b1f3807e2893badca3c3b2334c5ba3e26c239ba16a53b7f8adc3a00000000000000000000000000000000000000000000000000000000000000006b3ff8b962fe833b087121bbf2381cbbfae86839e1ce393b7fe527bb5093f3b8b8eda0b9afcf113bfacc2fbbf5969d3a768402ba3deead3a905c25bb304a3d3bdf1d91ba7a033e3b982612bbee67303bca2899ba31bc0d3b9df8dcbaabfd2a3b344e1dbbc30a0d3b60d86cba3caf2a3b0000000000000000000000000000000000000000000000000000000000000000f1722d3cc823d7bcf6e210bd7742e8bae8e8fd3bbda2dabc2d56edbc9abca4bafe1ad63b1451c1bc9a5dc8bc89d47eba5975ab3b1a8d96bc40959abc53ce19bae3a74b3be17c64bc689e77bc4961043a16669c3abb59f8bb190128bcc587113bcd90d339a15d82b8b99edabbd5bb8d3b000000000000000000000000000000000000000000000000000000000000803f1705ed3ad3cd93bcb1242b3bced17d3f939873b9dbeb5fbc06b9213c38aa563ffd10debac38232bc56a2683c870e313f24591fbb4e3b11bc5f5a923c5bb10b3f110254bb8abad3bb8bf4a03c0423ce3ea28241bbce2aa3bb87a5a53cd2a1853e871c5bbb667386bb5e68b13cfef7fa3d00000000000000000000000000000000000000000000000000000000000000008af482bc97b93bbc000000000000000017ec6abc83ca2ebc0000000000000000a9ef86bcde922fbc0000000000000000705f9ebc038e1bbc0000000000000000f017cdbc0be706bc000000000000000046bbf4bcaa33c2bb00000000000000003f411cbdd1746abb00000000000000000000000000000000000000000000000000000000000000000000000000000000310528bafad6f9384d18b73a6c44b1bad5ba613aa6e5ca3a5d86303aa18ab3baed59663ab824d93adfed093ade9da6ba04a1673a68cea63abff5ad38d28fa9bafe4e973a5536d23a76642e39cfa5cdba3a83923ad505e23ad6df84399bed49bbf6836e3a195dae3a832e04bae5def8ba000000000000000000000000000000000000000000000000000000000000000078e587ba3f9410bab2e6eaba4739583ae34e91baf6f14fba1625c7b7fc9f143bcebb93ba8edd82b9a5a646b9cd57253b2618f9b9155b1c3726c0a739c386063b294a84ba10a6ecb9d3e02d3a75fa1f3bcf5b07bb8dec90ba5f28793aaf4b2d3b2f1ef7b91d2f88b6d728543acdec153b0000000000000000000000000000000000000000000000000000000000000000cd169cba2ec3c1bbf24b12bb9bfe2eba5bb9d3b85a2d6fbb5fc40bbbd81869ba7b68ce38789556bb385003bb93578dba13861eb9249c34bb989197ba43a036b957fe81398d102cbbf657a8bacf9cc2b983f1663aa6aae5ba553021bba9c9e3391e83413aef460fbb80e72eba461691b80000000000000000000000000000000000000000000000000000803f00000000a7e356bb15fd943ae331633f6eb9713a8101ccba978eb23a2d83423f30f9a537af48e3bac3ddd33ad230223f06a94cb9f2afa4baccad033b3079013f33ec8dba162da6bad911313b9a9bc23ea59aefba602856babc2e553be910823ec9ae11bb4eed81ba9a0b523bebc8023e072672bb0000000000000000000000000000000000000000000000000000000000000000474a27bb99d39cba000000000000000011992ebbf456a3ba0000000000000000f2e11abba0a5a2ba0000000000000000505309bb25a627ba0000000000000000b5c321bb45c85bba0000000000000000da38f2bac50009bb0000000000000000579812bb16b2a7b90000000000000000000000000000000000000000000000001f5ada3973dbda3a6f29b43a4e9208bbfdfa643afce88b3ba446ca3a369728bb308b473a25b40e3be4f8bc3a066d0dbb3669e33acefe663bd3841f3bc9d52ebbceb7223a1853703b1d3a2c3bcdd63dbbd7c2cc3a77652b3baf6b143a1fac0fbb1894303b1289763b8fa857ba1ad284bb84d3353bfbcb003b037bb2b91ef651bb5a6a853a1d30683b22a0afb97f6c1abb59290abbc93029ba69d963baee00023b67ce2abb3cc2a2b94f0229ba4e07a13b31620fbbd003343a8f4013ba65783f3b2fa71dbbc2f68c39a9a5093a8d5a873bc170a1bb191145b907b11abace6a8b3b1dffa3ba3a736db954611f3a2280663b0d60bbba763a31ba75404eb9d625a03b4b1003bbebe352b9194b183ba50c343b3ce69aba3752b9b9407c563a609a303b4b87103bb11b6ebb377459bb9420c0387805093b9063a5bbde4c8abb0fb415bb1a89b03a948f96bb890a76bb576dfab7a517173b2a64a3bb412079bb156beabad7d2243b70c150bb99529fbb0fae02bb5925b23aee6f80bbe95e06bbd09ccdb9db04603ad70124bbac10d5ba97cd20ba2cd0e53adf8f5abb7c1047b919ef483aeef7d63a457d0ebb0c76aeba233302ba03e10abb826aa4ba9dee623fc99c013e61d190bbe3a5a0b92155483fddd4e33de7ec34bb76e0183b9b542b3ff39dc23d9071ecba0a85133b9e3f0f3f53949f3d2fba3abb02b79a3aedf4e43ef04b823d67580cbba9bf3b3b4524ac3e145b363da89428bb0fd1253beed7673e33b1e23c55b101bbba4e5d3be9e6e93d03543c3c9dcdacbade5a353b4be9543bb21d54bb9f9251bb2aed10bb0000000000000000692d90bb2d1c3abb00000000000000000bf183bb3df92bbb0000000000000000db2e98bb713b2fbb0000000000000000d7879abb839777bb000000000000000050d081bbe89f9dba0000000000000000154850bb23608cba0000000000000000ba3b83bbf7dd083a0000000000000000a8862abbc52258ba00000000000000007a4f543acb48193b43d1073b696cdfba74fa0f3aebf1333b5c16263b083a0ebb10fee43ada3efa3a21cad83ab59bdeba4f68bd3a8e87693b5ee8bb3ab9cd12bbf113193b01aeae3b643c9e3aaeb78ebbd6620d3bd8ff713bf7b1e63a1b415bbb2adada3ac0e5483b111b9a3af9cae6ba81d4033bc885603bf4338e3ab81230bbabb1e93a48168c3bfb9e8d397e891dbb414c2abb2d4fc9ba5ea97db92ca9203b724d46bbe345b2ba4638a0ba3371383b9a0f08bbfabb18baab102c39302e033b37523cbbd9e7e3babf5509bb0ae9853b982a26bba01b22baa8d639bb27ed873b546491bbd70d3eb95cbb213a284e8b3bea7957bb1560d3b9b6f84b3a7eef833be94ee8ba7f6adeba320f863a2f09913b1723f5bad2560bba89f115ba22d3b33bbfb2773ba33020bb4d6370bb150518bba43c843bacd27abb18f09abbfe5b28bb7e4e1f3bc47c69bbd8a36fbbebd0d3baae2d523b5b6183bb315286bb420c09bb2154953b031b51bb95bc67bbf42408bbac265c3b35e018bbaf3672bbf7e165bb5cda3f3b734b08bba00373bb5c9b06ba972c6c3ba9398dbb28ed0bbb7b8338ba9836273bb8b8ffba051aefba9a0f7eba722d65bb0233a2baefbd423f29bd813e8f234abbcf34d6baa1a22b3f4554643efbf702bb7a3a0a3a50ca123f88b6423e52f391bb43828f3adb76f63eb4b0223eccd024bb6b13193b7ce2c53e6cd7003e6c4682bb74691a3b80fa943ec6e6c03d552663bb3540323bbf7e473e94207d3d4733eaba179a5a3b8b25cf3dda73df3c06022abbcf14913ad009403b69f201bb802d55bb5b5f2cbb00000000000000001b2e94bb267751bb0000000000000000031283bb399f19bb0000000000000000140e9abbe6fe28bb000000000000000094a783bbd86d30bb0000000000000000040a6dbbb9a096bb00000000000000004a17adbb1e343ebb0000000000000000b14983bbbc099eba00000000000000001f3c42bba4f7a0ba0000000000000000f092dab90157f63a9493053bf31fcbba1d4a6e397d69443bb698403b230502bb5d917a3a4a6b5d3bacc3353b1d6feeba24a3c5384b54973b82a9e93a90b026bbb0db873ab486493ba67cf13a503001bbe15c9b3a65ba533bb460d43ad47e1bbb48f8b33aac0f4e3b35c5a63af9ab28bb7eb83f3b1d09983b9c99093a890a5ebb14f8a63ad298103bfe3b86396ab816bb9c6b25bb569723babcabebba7cc0a53ad3aa69bb9c53eeba593cadba538f273ba16d54bbdc31d0ba26b581bad5874f3bde57f4ba29daa6b92bc8d3baa6a5973b498644bb01aff0ba6434fbb9aac65d3bea4649bbb345d3bac4116cb936bf833bb3872dbb750b91bab9fa59b83b72833b371b43bb6e91afba5b92b0b96e6cb83bfaa0f1ba7ce294b9eb03a539e0bf4b3b80f9853b31a0cfba07ba7abb1a920abb8d8bac3bbf702abbed78adbbea734abb8626943b8d3b5bbbb3b1a4bbb0d434bbfddeb23bceb980bb3fa6a9bb99c84fbb2bfc663b099d28bb3d5b75bb4a5225bb92b0773b3a4238bb2f3880bb476b0abbce316f3b99bb22bba0555bbb84bd09bb9d429f3b4dd53bbbb2e364bbf5abdcbab097233bd280e7baffb30dbba6eb69ba4a4897baf68350ba61a4223fcb76c23eff5743bbcb550dbb07250f3fd75cab3ea7e748bb1eb469ba9864f63e87e4923e871076bb16568bba37bcce3e4703743e1a842bbb5ce1183a07c6a43e4dcf423ea57a34bbd3cca63a02127a3ea59f113e9de73cbb7077e33a0598283e0088c03d59a55ebb9df9fc3a32b5b23d8a743a3d788dedba5169e43addeea53b099796ba374357bbb74034bb00000000000000008d8294bbd0a474bb0000000000000000f6f497bb79b657bb00000000000000007daeb2bbc4c574bb000000000000000037da86bb2f133abb0000000000000000590da5bb260435bb0000000000000000888a9fbb828f15bb0000000000000000af1ab4bbf47c21bb0000000000000000b56e61bb1fc9b8ba0000000000000000a38f98372c3d133be1411a3bc01884babd85093aecc74b3ba8ff473b06f100bb91021d3aa3dc483b539b5b3bbd508bba98a4f538cd7a4b3b31ac313b478ec7ba6138293a05a6393b0b14f93a0108d9baaf88553a65b4403bbc82ac3afea2a4ba02f0843a41fc5f3bfe71cf3a0ad427bb0e5cdf3ae24c623b3467b53a9b6231bba50f923a557c263ba035753a3c0ce9bac51f37bbbb5246bb75d683ba04c8cd3a50cb82bbf401cdba0c9d9fba03aa133b15175fbbd07f75bb7e01afba5c0e213b63bb5ebb6fa5a2ba08ff9c3943762c3bd6c142bbf2acc6baf54236baa549383bc64b41bb3b4fd7bad67b47baa9096b3b25c05fbb9b5accba21f30639105a8a3ba1174ebbdd9892ba44a0b7b859378b3b883607bb9d67ccba275900396027543b05ae9e3b398c0fba763a84bb95e50fbbdb0bc53bd245efba0e21c6bb503c6bbbd5b0a33bd7a2dfba58599ebb4f425fbb254e993bb1220fbb34a8a2bb60ec40bbb508773b9932cdba402772bbb48125bbb4be803b932d41bbcf825fbb7df713bbf8bb873b62aefcbac31679bbaee613bb41f18f3b2b72dabafcfb6ebb21d904bbbdba4a3bc02284baccc91cbb544678ba637178bb1e6121bb28db013fa0c1013f0e2246bb2f5531bb4856e53e8684e43e05fd39bbd494cbbae00fc53ed7bac33e4bd3e5ba7c44bcbabb0ca53e5f31a33e5be91dbbfddb8b38f5e4833e13e9813eb4204dbb63da073ad423493e0f89423eb09522bbc320a93a5167083eb791013e6c3a3dbb6f10db3a9dbf903d47fe803dc67400bbaa42b43a3ec8bc3bec1c6db8a35143bb225339bb0000000000000000ee7496bbf56a86bb0000000000000000104a74bb850d6abb000000000000000049b092bb49ae69bb0000000000000000a24169bb13cb35bb00000000000000006c93bfbb5f0a20bb0000000000000000caf8a6bba2033ebb00000000000000003beaa9bbba282cbb000000000000000048085dbbfc88c3ba000000000000000086e91e381cdc003b113a233bc7d548ba194541b9ca04833b118c8d3b6781d6bad3118139d92d3c3b0d3f3a3b9e91a8ba8459193a6e764e3bfe99393b9249a8ba1359463ac411433b5837123bcea5c5badb2e0d3a1b0e973b0795c63af06d39bbda3ac63915da713bf005133b573618bb84a1b13a960e5e3be529e83aad7614bbd404383a0ce2053bea46093a5ea755bad99939bb3f08b3ba411fa8bad396563a6ace90bb56a76fbb438500bb256ad13ae39f7bbbecaf72baa6ccacba06500e3b681165bb81e148bb88069dba891e2d3b2aa35dbb1297d2ba1d0b5dba4ea53b3bb50038bb134230bb5813b1bad446363b5e1c80bb8756a6baa7448aba4bfd793b706966bb14c591ba0c99a5b91d5b803b18b814bb61e531bb441672b98b33363bfb2d9b3b197c13b77f6c88bb99bd23bb690ff23be64eb9ba4bffdebb971082bb1261b23b996adbba1365bebbe22a6abb87beab3b5397dcba9846b0bbaba449bbafc4933b4bdcb9babf488fbbc2a437bb5818c63bc9c81abb2f3b70bb3698eebaec089f3b736fa7ba00388ebbefda3abb8ffb943bb76c87baefe777bbdf4118bb9928353b1b3dbcba3999f3ba9d54aeba8b99f0ba2a6f2bbb72abc23ead19223f127f3dbb97b567bb0997ac3e72480f3f4fad26bbe33f00bb9379943e48e2f43e7f7339bb2f12b6ba2171793e9b38cc3ecc472dbb07fbebb9b81f483e61cca23e2e0670bb439c36ba4c731a3eb5e4733ec29e4bbbb4ad9739dba4d13ddb2e233ef46a42bb728e873a794a613ddf5ea33d39fc0ebb140b393aca67b23b32402939ebe330bb7f2739bb0000000000000000f7d49bbbf5e099bb0000000000000000e1018fbbeb3685bb0000000000000000262e94bbc48c7cbb0000000000000000858486bb6bc65ebb00000000000000006528cbbb9ff620bb0000000000000000243bbabb23da61bb00000000000000007720b2bb83f037bb0000000000000000a77b35bbe7ffbfba0000000000000000046c0c3b4d3e173b23175c3b65d18fba8dac60bb36dc3e3bca41573bdec1d238cdcb2f3a8728353b53654a3bb592ceb703c4813a5c81aa3b0a165c3b05cba9b9150b3639ac85323bdc194a3b26dea8ba7310423ac91d453b8f2c3d3bc9d48aba8f548a389ae7043b94753d3ba91657bac2da363b44a4483be241043b068c01bb22eb523a00552b3b8dd60d3b362e62ba62b460bbb81dc6ba243b96ba85ed5b3a8b3e7abbb2ad8abb6cd646bb8dd6d33a27f081bbf41816bbc83231bb8046e23aad61a0bbd27ae7baeba720bb3fb21e3b2031babb6beeddba70f2d7baa1db043b2c495ebbc14fc4ba21ea4dba4fb5363bd1a834bb987f0cbb6c1074babe73153bbe2666bb7e46a2ba6e565ebaea1d593b870184bb07c2faba1f2fedb91034333b1a445d3b91b938ba6fe3aabb87b84fbb6dc8d33b213b12b93ba3c1bb166bcbbaa383ab3bf99e0fbafc77d3bbefaf7dbbcc11ba3bf36a63ba8edce0bb7b248fbb6142df3b9ef8cdba20a7d0bbfa478ebbcae5a43be5a430bbe2ef93bb9e2b2cbbb87c4e3b6b3eec389ec453bb283214bbc509953ba02fd1b9afcd78bb505f0ebbf7ba773bb1d7093a2c9701bb7a2037bbf894e4bab79b24bb7a0a823e4998423f42d206bb68eb2abbb9b1663ee1822b3f7d3fbfbab504cabac7a6463ef3be123f209155bb26d97eba1b31283e6347f53e3a0249bbf4dd91ba55bd083e7dacc33eafe737bb3997adb96f1ed03d5923933e8b3b2abb41328bb9f8768c3d048d423e2c2647bbcf92843871471f3d6623c53d845d13bbf32f8b39b05cbe3ba2a9f83a359fbdbaef1870bb00000000000000009e5a57bb2d9dd8bb000000000000000048942dbb8b389cbb0000000000000000b5f06ebb37c7aabb000000000000000020cf87bbf55a63bb000000000000000048d997bb16fe59bb0000000000000000977680bb2aaf2abb0000000000000000fd71bdbb50a342bb0000000000000000c33166bb1c4d55bb000000000000000064159bb99a7aad3aee3f043ba5125339ead8ccb9bd7ff43a06c7053bee5b40b94701253a80bba83a1fe0843bf670f1b9278aa6b8b0620d3bad0d273be2b085b94c6e5839fa11623ba40c5c3b9a87a5ba9e6a1dba132b613bd897463bdeac0dbbcd5f533901ca1c3b59b20e3b38fa8bba3bbc123a3055973b85b4d7394abb37bb18fce939d9437e3b32cdcb3aa1a697ba350c30bbeb7cb0babae89eba91ea7838818649bb8ec856bb4738ebba9c00a5398c7f5dbb8c7641ba0bcc43bbdf9673b9e12348bbd3f300bbdb25f6ba845b983a7f3e58bbea07caba94668a3a4bf23b3b1fce8abb02dbe3ba52b110bbf48f4f3b80d93abbb3838aba7a6984ba0496113b288b1bbbf27e00bb47aa8bba987c203bea941cbb07dd3ababd973fbac665053b212b853b85750c3a97b090bb76cd26bbfcaaa43bdf5135bac8a6c9bb229869bbd1b6c83b3d43b1ba4259c8bb21b871bb675b983b09db6cbaea54a9bb89e952bbd463a33bfae8d0ba1b689dbb020354bb9da8a73b1a1dba38edffb5bb672768bbde32793bf1fbb5b9d59778bbe7be18bb9124c93b0978093ad357a1bb0b2256ba3bd93f3b67d7db39016620bb0ca69bba6c35b7bac38925bb5e23023ec0ea623fb84e32bbfd6b5cbb1aeee63dc01f483fd110d6ba911cc7ba7b13c83db3732b3f80bd07bbd6fa1ebbe2d8aa3d07b70e3f7a7b4ebb0efd403af9fd8c3db53ae43e363769bbade3f1ba64bc5d3df086ab3efb273abb6d6e23ba7cd8183d2514643ed24e43bb51022eba9056b43c8134ea3da8fd13bbce50c8b93e47ad3b3043be3aeaefe5badda744bb00000000000000006bb83ebb907c17bb0000000000000000799c4abb04c78fbb0000000000000000646642bbb2ec7fbb000000000000000089b87cbb1d878abb0000000000000000341a69bba5b19fbb00000000000000006c179dbbfe6c5dbb0000000000000000e146e7bb1c0e8cbb0000000000000000ab8e8abb6ddbf2ba0000000000000000000000000000000000000000000000005d099cb93cbd933a98e9e83ae409153acc57cf39c5dadc3aeebc133b89bd6f3a6b6694385f55c03a0a8ff23a3c15d6b7f1bbf6b839a99a3a8d6abe3a90f65eb9d2008b393af1df3af427ec3ab15939ba0b445e398893cd3a5cacf33a586a45b97851713a979d253b07e4183b466a68380000000000000000000000000000000000000000000000000000000000000000ac6c0abb3dcd84ba2fec99ba5883a1b8f06545bbd75a49bb076601ba4e3e2d3a2b530ebbb16798bae81a90ba7eef453a25c4d8baeeeb55ba111c61baf493303a59991bbb000536ba431a61baaa2bb63a2544cbbac32e37bb76aa5fba20eda93a77485cba12dbc3ba0a3d01ba269b0c3b00000000000000000000000000000000000000000000000000000000000000001f71623b13539cb8d9988dbb2c2d37bb7c11643b848742b87d63aabbdb0669bb3bf94e3bdfe52aba902375bbf7d424bb5750273b8cd624ba01463cbb5eb8e5ba22a8443b5f880cbaad464fbb46650bbb696e373b9eac8f393b2715bb7c9853ba4ce2603bfaca943ae69ec7ba845edeba000000000000000000000000000000000000000000000000000000000000803f4c25aaba88a807bbba0ae83af5f8623f55ab2cbab07c90ba6f04343ba38c423f50abbcbaf6feafba0a2f463bf106223f7b969dba46fc82bad136403bf65f013f07b3b7bafb1d4fba190b863ba068c23eac4adcba428949bac6c67f3b45a7813e958bdaba4b59a6b9ad0ba23b0be8023e00000000000000000000000000000000000000000000000000000000000000009c4468ba564f4ebb00000000000000007aadf7b96c9219bb0000000000000000ed60bcba224945bb00000000000000002e5df1ba2ab823bb000000000000000065c023bba86042bb0000000000000000743643bb863913bb00000000000000007ab856bb0cbc64bb0000000000000000000000000000000000000000000000000000000000000000000000000000000058189438840e733bff91963cad0a3f3ca003eb3a67049a3bb08c7b3c5901453c65a9ca3aa7e4303b64d83d3ca88d063cf68e113bddee563be61c013cc126e53bfa6f0d3a84908d3bac31d53bfe8b7d3beb02f73921599e3b70b3a23ab589143bf1849aba0fd86c3be9489a3abf61a93a00000000000000000000000000000000000000000000000000000000000000000f3f163a6f6f18bbf73b6e3b5b25babc04972e3bca8403bbbb37b33a3417cdbc442d803b602894ba291964ba6317d7bc7b99423bc33bdcba4cb046ba8a90c8bcbaa0423b703414baa01e713adc5eb4bca8590e3b66a1e4b9a83ab03a04de84bccec7b7b8ead14eb9a82d163bbe9c28bc0000000000000000000000000000000000000000000000000000000000000000a95608be06df1cbd8c02593c6f932bbbc05600be25c41bbd01d4203ce08bedba42bfd5bd8b1118bd5eb2be3b6acb45ba292fabbdacd1fdbc3461be3b63f5bb3abdda7cbd339ab2bcd415a53b538547ba030025bd9f5702bcd1ba583a8ac7bbb8cd6b77bc71112338dd02583b20a19dba0000000000000000000000000000000000000000000000000000803f00000000ebb60e3cc90283bd21d69e3feeea6cbd643ed83b6b3befbc27c1833f1d1712bd07e4da3bf2c91abcfdde543fe67dc4bcb52d4b3bad998b3a03d5213f8877bebcb7441c3be4722b3b41f4df3e859ddabc81a8203b971a44ba14df7b3ebeabdcbc0fd3a83a6349c9bb49d5853d935c08bd00000000000000000000000000000000000000000000000000000000000000004b8c48bb351d403b0000000000000000b97559bbf7c21f3b0000000000000000d1fb9abbe0fbd33a000000000000000060467fbb613f88b90000000000000000eba9fb3961c4f6b9000000000000000003bdc13b736132bb00000000000000006a50223ca3833abb000000000000000000000000000000000000000000000000cc6e8d392f66acba20626f3c4dbc993b6ccedeb96cdf9d3b656dc43c40d3583c9c4c4f3a3c11a83ba370c13cabaa583c602f163be32f9f3b0c8b9c3c5b8b443cc091023bb82b823b228d683cf7f4043cc7dad63a39cf9a3bd2672e3c76c7ca3b84de3bba2437943b39cbf73b3f52993b80d61dba52933a3b7004593b0285e93a953fdfbabd6e813902e3a2b9758ee4ba27a4f139368bddba77aaea3b3570c1bcff165bba014e60bb7e121f3c7cc3f5bc291f1c3bb3ef4dbba17bad3b82c308bdcdc87b3bfa141abb35d3733be8ae07bd6f6b963b29da95ba8814f73afec9eebc659b4c3b80c6f6ba6979023b5777d9bcaee7073bf628ccbaf4637b3bbb5c9fbc0dcc59b7c42994396f73453be53d3abc0b0a53ba48f49db95f0b843bcc9847bbde968abd926dffbc8ca5a83bdaab8db9211b07beeb0022bd6ddf353c8413afbaec040cbe091c54bdfda4073caca944ba6aa9f1bdce7053bd9fa7993b22afc73a2f1ebfbd2d712abd5b963d3b25af3bb9e4378dbd1771f6bcc1f9053b941fc23a1b1530bdf4e191bc84a5303b28b5cf39eb746dbc1da356bb306690baaa4195ba68ab3c3ce5bc943b30126f3ba16821ba5061693ca65705be5f039f3f6e249d3d8a1ea53c4f0905be374f983f8e9a7b3d4dab4c3c9cb5aebda4d1833faf53873d70aef83b62ed5cbdcbf9543fb2426f3d017cb93bb6c602bdeff21f3fbda1333d7d67ca3b9e80d6bc98dcdc3e1b10b53cdeca9f3b0c35c1bc5993783e11fbc239462c193ce77fcabcd478883d40bd35bcb0d9af3b71f7bdbc1e9762bd739f0cbdaa83ebbc6465cd3b0000000000000000d393cabcdd68c33b000000000000000038e0c5bc7aa1b83b00000000000000000e7bb1bc9ec4613b0000000000000000d6948cbc2e37333b0000000000000000267a56bc191af43a000000000000000069d7cabb75a8f93900000000000000003e364e3b1dbad4380000000000000000778a9a3be13542ba00000000000000001bb6db3ae00736bba71a553cc457253b4932d33a764e8938c25d923cdc4b143c0632473a1a86103b5a4e853c5f73173c40e9153b8d57843a8f4a823c183f1b3c4b520d3bf447e53ae1e33c3c3468e33bd47ec23a9f7e0c3b2f2d153c7311b73b883a0b3a3b91e23a4126b43b8a47003b5108b8ba5251293a03214b3b4de4023b6acfab399a2827baeaa09d38375b5cbafbfcc53981d782baa9eceb3b5413e1bcb5ed873bdab234bb7c5a283cc0060ebde89b913bb4a99eba8c83c73b94cdfcbc4809d13b3a92f0ba82fc7c3b09d6f3bc481e8c3b25c694ba0ad0253b2e6acbbcee6c813b0f2a97ba4d0a863b448cc3bca06e1a3b5d5710ba1242583bc1a589bc5b86713a532ae4ba148e943b747f2ebc644cd739c46e04ba3fda763bc7b79dbb9dc000bdb430f5bc130eadbb4db0223b7340b2bda5025ebd2a40a7baa65c473b8f00b1bd149278bd6a519ebbbaec543b56c2bcbda0ff79bd2a782abb13e3613bf61089bd7e2a4bbd38ec14bb144b553bd9fd5dbd370422bd6ae60cbae52b393b5257fbbc6bd2babcfbb7943a8d4e0a3b901e1bbc8ed42abcf0312f3bfc83273aa997083c1cc3ac3ab2922d3b3368d7398178693c564b03beeb95843f71e8833ef9e5ac3c568411beb5af843fce7e733e8d2e493ca30eb8bd81d35c3f86455e3e1cc8453c1fb29bbdb59e3d3f21e8323e612beb3b1f8855bdb1b90d3fa82f053eab7efe3b20b237bd8ec7cc3e0cd5ac3d54dfd53b41bd07bdc202723ec821283d23da1a3c53940fbd6f60b03d2e3136bb87ddb33b3c64dfbc4f30a7bc3bc1efbce93f58bd5230093c0000000000000000984875bd7b6d2d3c000000000000000017fd46bd9c5cf93b0000000000000000c9d531bda0e7c03b0000000000000000060b0ebdd4ba923b00000000000000004daaeabce67e873b0000000000000000ab7fb3bc86e6543b0000000000000000ce1c46bcafbb803b00000000000000006c8ddfbb4c7c463b0000000000000000d3180b3a2d1e0abb74b91d3c29237b3aa8d10b3b7368f7ba0422663ca779023cd6f6f63a718c033aea79723caf790d3cbbe5813a9239013b3486843c08ddf73bbd41d43aacd2cd3958d8233c7b5dd83bf9402e3a744fea3aa16f0f3cb053983b11c8b43a439ab63ad87cba3b95846f3b3abbc039f6bfe2b93a3f1b3b445a5c3af00aa6b9c77cbeba36a10c3b39d0d1ba7cb1493b1e1201bad388c23b6527e1bc8a48ac3ba7daeabae3470e3c4ffb07bdac1fff3b77a316bb95c4cf3b9918f7bc4349be3bf1635bba5336e23b4aeff6bc3b21823b9592903a19a3603bea2acebc105eb43ba44cc2ba48b39c3bdb0aaebcbdfb2f3b1645adba83d96b3bb3bf90bca93e933a317ed3ba642e8d3b10b92dbced08d439b1dbc3ba68e46d3b50fc86bb1b2d3bbcafd605bdafe78cbc73f5b53b652665bd045283bd7df36abcbda5fb3b336296bd222c9abd555b3fbce6e1dc3b69ad91bdaba28ebdcb103cbc8e65bc3b968c68bd652e72bdecdc20bcc9bb9c3b8ce936bd02d338bd20aac8bb8805bf3b9859dfbcb68af6bc4c7544ba99843a3b69e520bc81b13ebc40d95a3b98c6223bd06adb3b27e07c3a0e02223b32c62a3b971a353c9e67e5bdfe46573fa81ee63e34ab8d3cd2e001beb744573f68eedb3e79e93f3cfa64cabd6cc23e3f8505c13e6d85123c9e6c9abd39901d3fe2c39c3e22f6fa3b311b64bd6fb8f63e59026e3eb10ffe3b163045bd31abb03edd2d1f3e5c23033c2bcb30bdb5955b3e0930a73d0247113c10fa1bbd69caba3da47e763c18829b3b3b8de9bc2a268a39d2c6edbce1c096bd54230b3c000000000000000046f4b2bd60004f3c00000000000000000d9798bdd919313c0000000000000000da7c7fbdd4c8fc3b0000000000000000b3aa5cbd2cbc003c00000000000000004f9337bd43ded13b0000000000000000dd1c19bd1cf6d43b0000000000000000304ae2bc8a07ea3b000000000000000073d8afbc4510c33b0000000000000000b8f14a3a8b2758bb638a003c31ce563b77b2143b81a205bbbc1f253cc4d5f33be53ede3af1a3803973363f3c4003193c0c43fb3ab16dd9baaa97323ca6d7113c702f813a38efec37e36ff73b0929523b43d8a53af9ead33778ad043cac89843b19c3ac39ffb027ba9c12bd3ba0df3c3b87e163b9564f5d38973a4e3bc3cf023abe781b39563a8bba2df5d23af9e5d9ba0501d43a7dc27f3ac23ba93b7c17d9bce46acb3b81191eba82b4fe3b8782efbce7b8dd3b88521cba126f513bc368ccbc9995fe3bf1db823a8f40883b4a56bfbc0842613bc5bf963a732ae53a2c0988bc3fec963b1526cd396069613b5f0994bc9d6e0a3bc4879ab9a9c4883b732547bcb9ecc33ac70503bb3a81573b5c0f0bbce2b1a9b948377ebae1cb633bec995fbbab39173af75a0cbdf3a1d3bc46cb023ca4410fbddca195bd34d2cabc79df233c0b1f46bd8500a1bd672dbcbc69fb0b3cbf4e55bdc99ea4bdcd3aabbc0fd7063c545507bde86f52bd05c974bca743953b6ff71bbd3b7a4ebd7b2735bcc8abd33b2783b7bcd6c8f2bc14d95dbb289c8d3bf0d02abcf9d255bcf64ee33ab69b733b2dba743b378d65b96ab7703b22055e3b0554123c8f0cc1bdff06253ffd51243f6c27643cb61ed5bddd51233f4760203fa6932a3c6001a0bd705b103f5544083f60eb1c3c52bc89bd3254f93e76e8e13e329e853b5eb724bdd4edb83ec83ba33e8080d53b881138bd9d7e923e351d6a3e7a65ba3be69e16bd0f6d373e5eb6fb3ddf37043ca19f12bd5769ad3dcb8a0b3d447ba83bf951debcdbe9213ca956f3bc81f0c0bd26000e3c00000000000000000aeddebd63b4663c0000000000000000f4deb0bdff1c1a3c000000000000000069eba1bd96e10b3c0000000000000000e0bf5dbdcdb46c3b0000000000000000b4e572bda498ff3b000000000000000058e841bde76a003c00000000000000007d0b21bd6057223c000000000000000053e9eebc6e300e3c0000000000000000125bd43aed8828bb3356a13bbea8993bf2418c3a5b680d3a8397e03b9a1d283cdaead33a916c323a8e8e173cf1f44f3cf6ed473afde66a3b1174153ce8814a3c6edb9c3a7dff1cbad5a2133c559aeb3b3e39f6b938a9953bcaa9cd3b553cb73b5774aa39aba82139e8b3cd3bb1724a3b03d90bbaf8aa02b9cbd7893beee5773ad5089cb9526101bb0e59743b02953abadbe1043be7d4a2380f02903b5ffbbbbc421f0d3c4e36f9ba536acc3b60dfcbbc288f133cbfe164ba34eaaa3bdf80aabcb109a93bc62efbb824366e3b9bd8b6bcd3dbe83bb8bfbb3ab0705d3bc21a86bc2957cc3b97a7c4ba78c3803b299774bc39f5083b1a2da5bac21b683ba4ce26bc2214d03a396c57bb61066e3bd990b0bb43ad03bb8c284aba07a4463b02ff02bbca2fa13b4c442ebdce50f3bcf6592f3cb319d3bc7de2b4bd973901bdcc81613c89fe32bdf9accebdb38ff3bc22f33c3c272731bd448ebcbdfd62cfbc2840353c9ec824bd002b9bbd78a1afbc598b033c8a410cbdb55e66bd554e50bc8a92e03ba150d1bc226516bda33572bb5fb2c53ba5775ebce43061bc4cfa163beb27763bb5a78139e159023be8507b3b5de4763bbc500b3c25ac98bd8ba5e63ec2a5563ff73b5b3cd761adbda842e53ed837533f04e1253cdef38cbd123fd23e1914373fa474d43b1d1c5bbdc837b43e99d9133febf0e03b32e13dbda639933e8a8fdf3e0f1ace3be7e123bd00725d3ecf8c983e7c57a63b6d430fbd6f22103e2f0c2a3ecf2eef3b063902bd7dae903d5ac53e3d08cf823bdc3dc7bc006a493cf11309bd7636e3bd643b2d3c0000000000000000d62906be35218d3c00000000000000005471dcbd603c4c3c000000000000000036c5b7bdd8821c3c00000000000000000fc29dbdf9ee043c0000000000000000e87a87bda1c6213c00000000000000001f396fbdc8f6473c00000000000000008e8a41bd8043683c0000000000000000eb9116bd79dc303c00000000000000006a7805392f7643b963d1f23ab67e013caf8a6eb937912c3bd4d6ac3bda79703c76221ab8cc47853a31b3d33b6f185d3c42775037c0bab33a3fb5e63b90ba643c41b00b3a1b9dcf3aff79eb3b14bcfe3bed54953afc231c3aa9a5e03be21df13b7b424eba5ef69e3ae258a63b351c9f3b60f794babb7f073b5e6c743be9b6473a864075b9641da5bac18b223b3ad5c0ba811e9e3b61f40cbb87a4703b45c77abc33b63b3c0ab3aabb6a65b73bde4787bcc4cb143c45397eba40a63f3b9e6c5bbc3689233c5d8398ba9b00763bb3b541bc63d2033c2e9201ba52afc93a236326bcdea7a93bfb9aa9b9ef94f43a310920bca9511f3b1cdfc6ba1957c23a505291bb1d61b53a6cbb65bbf2c8233b101647bb4a63313a187b44bb050a093b859d463a9be1e63a9a1862bd0e30f3bc9654543c950ebcbc489de7bda93bf9bc6ac07c3c3a43fbbc8616d7bd406e08bda284343cf7c01cbd4ab3debd4a7afcbc39194d3cac8207bdfe0ca3bd94d8d0bc6292f73b349e06bde2b983bd771173bc25f2d53b0f0dc4bcb1e310bd9bdafdbb1408a53b7ac186bc9eba5abcf10f773bf46e013b87f04cbb26028d3b7e8cda3b4c84b53aa30cfb3b56975fbd5cff843e004f843f0039323cc46e73bd1463833e6bf2823f3392e63b70783abd14c77c3e927f573fd173d03b24262bbd3973613e99f6353f7497813bbb50f5bcc1bb3a3ec86f063f77d8c63b8eb6f4bc0471133e6763b93eed159a3bf4bdccbc2e7ec43d24ee513e52a0b23bec63b6bc313e3e3d42fb5b3db241743bdf3794bcfd53fa3b27233cbd8bff01be3bd66f3c0000000000000000faf817be177ea63c0000000000000000daf2d0bd1f493a3c00000000000000009d54c3bdd1e01a3c0000000000000000370d94bd3dec173c0000000000000000f6088ebd81f0303c0000000000000000679667bd05cf273c0000000000000000fd6247bd6299863c0000000000000000c65f0ebdc666603c00000000000000003d71ddb8fb2e4b3bdb57f5ba84e0593c218472baeab12b3a6dfed83b2f66be3c3255aab7db9b923b0ce3d23b8cf6b93cf67f013a1b83383b4f29d83b13698e3c77300aba67b95f3b6f02c33b8aee4a3ce17aaf393f8bf63a7c2ae23b66231f3c432c97b98325053b71bfe13b415fdd3b6b57aabaddde7f39bb58ad3b6d50173bdeb3633909f6d7badbb5383bb47dc4ba3650d93b30e39abbd812013be872f6bb52fb7a3c072423bcc4c9753a4c9e89ba608b5e3ca23698bbd08cfa392819b4bb09933a3cef7417ba08e3e0b8d74ec2bb36df0f3c33c11dba6692933a06c3aebb5004e33b874f94ba4bd25a3a9da879bbdeff9d3b968752bb88f9553964cd72ba2827c03ace2d6bbb397308389fa3473b7c939abaa1d7bfbadff9453a467d453b36bdd5bbb4bfa5bd3255debc2689493c4a58c8bc715716be1a8fc5bc72a1823c97920dbdedc017be2a7e08bdebe75b3c1c4f12bd0e5f01bebf2d09bdb188153c9c5605bdb1ddc9bd1d73d7bc2e30f13ba15201bdaaf196bd194d90bcfaecc23bcdb5dbbccaaa3dbdedc7f5bbfe25913be87e82bc228158bc570b8f3b1502ddba8b29b4bb89c1133c0fe00e3c9ee9debac8dbd63b17a4f0bcdc099e3d00cb9e3fe39dae3ba6aac2bcf0319a3d98b2973f519fab3b5a4dc2bc3637c53d6313823f6a7b9a3b64b09fbccb8ec83d79a9503f34fe393b799d86bcb23db53d08581b3f7e06353b482c85bc34b0923d859ad33e01a22d3b295650bce0d5413dfd34643eabbc3b3be2881ebc6dae993c89cc443d46290f3b374119bc867e0cbb95b28cbd758105be16ec753c000000000000000044cd0fbe7355a73c00000000000000009098d1bd4cd63c3c0000000000000000c639a0bd1912ff3b0000000000000000a37981bd8a94cc3b00000000000000006f4167bd21e6f93b0000000000000000c81d48bd4cdf373c0000000000000000ac990abda3e06f3c0000000000000000f9580fbd875b6a3c000000000000000000000000000000000000000000000000db0f78ba30ee8b3b1fd08b3a01e59a3cf30acabac95b4a3b3bee243b2b62843c4273393a1d7e4f3be18c4e3ba705353c8d3267396617153bdf30313b25cc213c2762273975e8cb3aec5d8a3b7b7bb03bef8840bab0596c396fa7af3b79c9933bfb600cb9bb25173a6131893b79e2823a0000000000000000000000000000000000000000000000000000000000000000ecc8443cff2295bbc88a52b982900d3b8491443c167ffebaa3b801baeddbf73a80e50d3cc5d35db8a613043a654edbbae632d23bc9d5b23a82f323ba2d9fcfba5e5ba53b1a9398397d3895b7df1a323918772d3be95503ba80b73e3a45d3ee3a6651cc3a56d882bab4187bb9b060583b00000000000000000000000000000000000000000000000000000000000000000a23bebc664c09be17c5edbc638f093cd7b4d7bc424e00beb2fdfabcc63bd33b96a6debce77ad8bd81aafebcf9e3b03b07a1d6bc084cabbd6783d4bc79ff653bcf7acbbcfc1880bda40786bcb4e8a53af9a1b3bce3bc22bd690de7bb405ebc397bbf70bc073e6fbc1536133b897091ba000000000000000000000000000000000000000000000000000000000000803f9a033a3b914665bbea7d40bd86b89e3f0abc933bcf1b54bb8e2783bc04c3833faad01f3af01a17bb57cb4c3b9c90543f4c54713ae33fa3b994e6303c8965213f0ad3353a17f1d6ba05c0493c28d1de3e68242438c2aabdbadf74d93bf40d7a3e862f6db98a5daf38c63a3abbeeb9833d0000000000000000000000000000000000000000000000000000000000000000774d96bd2473083c000000000000000064fe3ebd9ddb823b000000000000000026e405bdbed4803a0000000000000000aeffe8bc3cad67390000000000000000d365e5bce19a0e3b0000000000000000d8a2c7bcbc94663b0000000000000000ceb3e6bc4ea8c23b00000000000000000000000000000000000000000000000000000000000000000000000000000000e0c7073bb18d3ebb1687453c38a1513c5817d03ad13647bb7b7a483cdb45373ca2fa203acc5851ba4bcae53b6528253c3db11a3ac68602baebaaa83ba7bafa3b3f98923a6b088b3971dd5b3b94399b3b0cd82f3878b5273b36324a3be487753b6641dab94d75623b15bc0e3b68c38e390000000000000000000000000000000000000000000000000000000000000000f91f0f3b5acf1abb3ed8c53ae5dc93bc35234e3b09af2cbbc68ef83a524d95bc6d62873b05ac1ebb318f4e3914d18abcf84f623bf428dfbaa19712ba2da482bcd96b3a3b30dc9eba7d1d793a806092bcd153743a805960ba66a5453a8efb90bc4d5860baf1f2843a1935053b5b9b82bc0000000000000000000000000000000000000000000000000000000000000000307ccabd30dc3dbdf825543c886047bb3b41cbbdc1ce29bd4b1d353c2b3d22bbe3c1abbd04371abd966f083c646d35bae3b98fbdfd2501bd185b073c464fe4ba56cb57bd44849abc23bef23be2dec2ba4df416bd273cfbbb99dce63b27120abbe4ad86bc8ae8b03abf21ce3b894463bb0000000000000000000000000000000000000000000000000000803f000000007877a43b63c82fbd3f6e963f4e1a3bbdd17e773b961d7dbcb7627c3f68161abd81f99e3a6f9bf23ac54b4d3f9cc106bd44963239943e253c9cf51e3f01ee14bd941e3eba53c6383ccfc3e23e88d127bd66b6113a14a7083c29cd873e5e3239bd04137a3ace61373a5fdac13d338950bd000000000000000000000000000000000000000000000000000000000000000097a1bebb77ac413b0000000000000000ac1e7abb3c86803b0000000000000000844cebbb1b29273b0000000000000000198a5cbba9ac623b0000000000000000ca691abb1fa8ed390000000000000000c724a53bda7582ba0000000000000000d458353cf8a40ebb0000000000000000000000000000000000000000000000004bc72f3b0286b1bbb422583c02c5253ba884203bd116abbbbc57a43c09915e3c31a7223bcb6956bb073d9b3cfc2e653cf8d6cb3a312443ba2054713c27a3323cac48dcb94cd8203a36ab273c3867e33b595afc37f710083bfef60d3c66afd33bf4219bb94a754b3bfd68d33b0573553b274161b9a85a393babfd663bf15f983a85b589ba9f1d003b785db2399db607bb6959583b7c1cf0ba987f373b3b01d5bc9e4b053b50326dbb0ae40c3c48ddffbc3fa2873b27a66dbba2d5793b1c4bf6bc07c1d53b93f398bbc323fc3a9632e6bc3bfca03bf83363bbcb8fe33a49d8c1bc3e883e3b66ba33bb2feb953ae1f2c8bc46e6b23a8aa62cba6677643b039fc4bcfd084abac3fd283ab80f813b0eb3a3bc8d978d39ad6e0eba941ffa3a184c29bc151916bd2fad44bdd8dda23b000c2aba21c2bdbd5bf068bd98a34d3c885a41bb9771ccbdc8a27dbd2e3c223cd803c9ba067ababdd8c06ebd7749213c6a7788bae41d90bd87e333bd0bf6e53be06bea39fe2e63bd5e2a09bd165c123cfb0434ba21760fbde0938bbc1c1aef3b4aa019bb07752fbccfb0b5ba4492c73bd77687bb0d1c143c9d0d523b83b3bd3b8267dabac844493c5b8bd3bd01cc963faa91c83d9c998c3cda6acabd6496903f61c89d3d8d1b113c654480bdeee9793f8ef1883d9a00b83bbc4718bdc9054d3f6a9b443de481523b9c6bb0bcf5341d3f6df5e03ca3f43d3b8e7584bc42c2e23e5ebe4bbab38d4d3b227d7cbca295893e330bc6bc4f36d23b8055c5bce088d23d2d3626bdbf45393b3e339ebce55cb3bc41d958bd0eacfbbc1c56ef3b00000000000000001820ddbc56caea3b0000000000000000ea9ddebcba9fdc3b00000000000000008ba1adbc0203b73b000000000000000029d4a3bc2edea23b0000000000000000e94b54bc9fb4643b00000000000000001d11afbb50b1063b0000000000000000986d813bbaec55380000000000000000ca9cb63bfb0dadb900000000000000009daa193bc550efbb25de543c1060e6bae8dc0e3bf2aac9bbb017813cbf54ea3b6382353ab6eb8abbf56a4d3cb1eda23be726493a17bf65bb5fda673cee69e43b54e40c3a20cf6cba72281c3c4d21443be29c38ba8934b83924b3083c88af5b3b6608b9b92bb14e3acc00c43bcebfcf39e729fcbaee23ce3a2d63693b61c516b9d534aeb9f3de923a9646de3ae1647abade94913b7c8d43bb18e9dd3ba54e02bdd508073cffe396bb89a7f83b34a313bd63caf83b30b05cbb1fb9653bd665cebc6954f93b91508ebb74e3483b41c8e0bcba0ece3be7b632bbe1f58e3af0e4b4bc66e7b83b21bc74bbbaa9103b9009c0bc53b0473bcea623bba904823af26e8cbca633d63a11c2f6ba21d9a13b3ed39ebcebce103a1f1dbcba87d3343b123d2bbc2ba251ba950540bd22927fbba5d7843bde4436bdc83491bd794b0db8532ef83a6e3748bdb48e8abd229c11bbd6d66c3b1e5477bd405c8ebdba61e83aa82f3f3b0c4038bde2ea5ebd570e343b0cc4163b659f1ebd5cc535bd6f00bb3b1a73053b5ea8aabc4fe5eabcbc30cf3bb7e7be3a43fa93bb4ac351bc02610d3c50a940bb74992e3cd4ff85bb6c72ea3ba3f8d7ba64ae6b3c1b2fddbdc88c7d3f2e31893e1900973c3da8eebdb3bb7a3fba25773e2a7d153c54e292bd6b41513fa724543eee3c243cf34084bdd915383f47af213ea7f2cd3bf89d2dbde6830d3ffe66e23d9d48d23b5a201cbd1320d53e2210773d497ba93bb6efe8bcd4ca863e14fdb23c58f41a3c38180fbda576013ebfcbe3bca4735f3bc240e1bc2181383c28db44bd4f405abd47cd173c0000000000000000c4c87abd1d4e563c000000000000000001884cbdae971c3c0000000000000000ccb03fbd9f88293c0000000000000000fcb418bd789cfc3b0000000000000000012c04bd1571013c0000000000000000e6fdc3bc51c0d03b000000000000000035353bbcc3c0d13b000000000000000079edc0bb7688a23b000000000000000070c0783a5bcbd5bb34363a3c401498bbd7ba3d3b5d3210bcf8c7533c2e96e83a1554fc3a3711cdbb33794e3c7eb0b93b4c355b3a54acb5bbc378343c7e69d23bb63295ba63608fbb86bc173cb9f7133bb92744b84a3eaeba5ed5f43b2842f23a06f84bbae58f73b98158b23b1559113b0eb1b1ba484b443a3e64803b13f11dbaddb81bba54e8923a32d4923a923836bbcf0dc13bd2ae88babdcf463b47e1fabc8b39373c0c88b0bb0dd8023c092114bd7be0263c8627adbb123dcd3b676102bdca1b313cb9adabbb3c1d7b3bedc9c4bc8ac50e3ccda860bbf21a4a3b8aa5bcbc99aad03b0cc546bb7c8e3c3b2360a3bc6df48c3bf21c55bb1e381b3ba5489ebc962f383bfff05abb37e8603bd81385bc66a7bc3a2ea633bb98792f39c2060abc58079c3cf9bf40bdd7b190bc9b43d63b052d66bc8b469dbdffae3bbc9f06df3be29610bd49f7aabdd6741abc1864f53b723b1dbd036c9fbdf5fa04bcd7bdf93b53d1f3bcc2d688bde9bf03bba86f953be315d8bcb08a51bdd945af3a1bed5a3b594b87bc2b9c0fbd01aeb43be5fa963a71f023bb423693bc593e153c45569eb98e7b223c4cabf2bbd042ce3ba341ca3a0196433ca755cbbd682d4f3f7c67e33e84c8923cb8d6e4bd0e7b4d3f6075d43e502d463c75e8b4bdfb84383fda1bb43e011e1e3cd03790bd0a0b1c3fe643903e2f5b063c490961bdd0b3fb3e63e0503e6444e33bc1b338bd3db3bc3e24f7053e3a710d3c34d528bdfe417f3ed13d6f3d21ea133c36aa21bdf7bf063e3782b4bb8ff1763b3d13e4bc1cb4043d1c4d41bdd49e93bd1759383c00000000000000001dc1adbdf4bd843c0000000000000000581e9bbd371d663c0000000000000000a1d988bd3e24433c0000000000000000745f73bdd057463c000000000000000093ed48bd71d4393c0000000000000000284b28bdb7143c3c00000000000000001025efbc4ca6283c000000000000000022359abc24b6123c0000000000000000133fe63a33fbc2bb37d80c3ca274a5bb6324eb3a5f4501bc31ca113c2e61df39293a053bf117e3bbcf4a223cb2d2103befe728b9cab276bb1321223cb085183b6c1c84ba56d384ba6d3aec3b991ec5babb42c2ba517111bb867d033cdba8e339e4e5b9b9d9d086ba2448b13b29eb99b8e242f2ba9cd2ad39c8018e3ba7f065ba49654dba6a2af6b9925ed23a6c7606bbcc16ad3b113df6ba9bde6c3bcbb0f9bcdb7c403c859492bb208eec3ba4850cbd3fb3263c8e9351bbd0be323b4975cabc7b59303c199e82bb81600e3ba53cbbbca136993bf08d12ba3dd085bad80951bce7ebe03b76fb5dbbeed4e13a8f3c8bbc75387a3be6082fbb8c422a3b62386cbc3ff5563b54949abb4da9543b7e1362bc3c80eb3ae18215bbac29f039528d9fbb36a9f33cacc135bd77e6dabc6dce343c7d05ae3b9ddfa2bde50fccbcd18b4c3cf46960bc1304a9bd99ca9dbc18cf1f3c8339a0bc2ab6adbde2ec85bc55c92a3c94c13abc166770bd463136bc61a8ef3b258598bc8e3b6ebdc86f7cbb7485e23bd16513bc5b2618bd8efaf43ac0bd873b487d65bbe459a9bcdc51fb3b381aea3abc3f1d3c0e4f1bbce2e1bb3b9ec1203ba4cb3c3c1b83b3bd6a67203f31561f3fa4b3773cee58c6bd7efe1e3fad1c173fdf18333c0fd99cbdeb0c0e3f1129ff3e66fe323c351b8bbd2c0ffb3e0812d13ec5ed5e3bc6c42abde212bf3e1c89973e7715073c726f46bdb9319f3ef07a503edc79a53b30de1cbd6d5c583ed894db3d6268083c43c21ebd2a3c003e0b4f983cd22f953be73ff5bc769c233d1dcd1fbd0c5baebd47232b3c00000000000000002c31d1bdf6e1823c0000000000000000fa2eafbd22004d3c000000000000000078eea6bd7eb3583c0000000000000000926d6fbd9d68f43b0000000000000000d0ae83bd7034593c00000000000000009a1e4ebde6b5313c000000000000000003fd30bd361d6b3c0000000000000000b06f02bde83a313c00000000000000004f26723a0ebec4bbc8b8db3b5b4291bbd02b233b39abcfbbf09eac3bc0c25c3b997ee83a47ffb4bb0caed03bd73db03b1593223ae0b089bb2c86d73b88768c3be30e76badce592bbc322043c4fae5e3bae436eb930f565bbc5dad93b2a24033b22943cbaeb95aeba2940e23b120c9f3a95b668bafcb1cbba77da883b0b038ab98d0f3abaf96c8d390ffe483b76d603bbb13fd73bdb29b2ba2e808c3b1c51d5bca67f673ce205cabb04aae43bd856f4bc2294653c514ea9bb20caba3bcc95d1bcd96a3d3c269257bba77e893b0baeafbc0b0d113c12a622bb23f4883b5d9e81bc3661013cb53b89bbdd87683b5ff18abc0ff3a03b04c89abb6218483bff566bbcb1f25a3b5d60acbbb921913bcd9944bcf34ed73a860668bb5e27a73af91d9cbb5f31f33c90523bbddb5b07bdb4a6473cc3c1133c68a8b3bdc00303bd204c683cbbb003bca53fcabdaa83e5bca3864c3c3c1174bcf607bbbd223abcbc4d0e2a3c2d3394bc2e8d9dbd798485bc0d32213c21a580bc5e477abdadf7dbbbff4fe63b786e61bce32327bdc40e4f3af387c03bc810d7bbab50a6bc1fbffb3b4a75ed3a34ba903b1f21d3bbb25bc13bdc3a403ba6fb183c75bf94bdc45ee63e832b4e3f8dcd6c3c2233aabd00dbe43ed434463f206c3c3cc08190bd44bad43e7ea82a3f85f6153c4b4d72bd800dbb3e8dac093f15dbee3bdea049bd212e9e3ed3accf3e72e0033c9abb35bd4a8c793e6a7f8d3ec99c0a3cc78520bdd286343ea6691b3e8ffb0b3ccdbf1bbd3230d93d3553203d0d306d3bad79dfbc2bf2283d8d031fbd2f4ec9bd76743e3c0000000000000000c396f4bd6d1f9c3c0000000000000000fe82d6bda1fa803c0000000000000000d141bebd67927c3c0000000000000000a980acbd03bd5c3c0000000000000000ce2f99bd78ba7a3c00000000000000008d0e8abdafd0813c0000000000000000a7a05abd02048b3c0000000000000000869721bdc14a673c00000000000000003245073b77f983bbfa5a683bb5e8063ba804153ba3a17bbb27caa33a614a0a3cee9792bacb4a1bbbb22a7e3b0491bc3b65e9813a116e49bb8b18983beaa7f23b2c90283a6ff421bbe2dea03b32ba723bed02a238229435bb9e1ecb3bc5d2823b758060baf523dbba039cb23b804f9e3a6b7af3b9ae0ababa952ea93bd1a4303b88ac1bb810ba42ba4c466a3b909a82ba05c7103cbb5f68bba7ef8a3bffabb4bce532883c5f080fbc6cc6c83b3c2ebdbca2594e3ce89f80bbb3258f3be3f887bc7b41593cd5229cbb934c783bd81c8abc2692193c977f49bb50b2253b87665cbc0035063c1c5d8fbb48047d3b42224ebca9b0aa3bc1e17cbbfee3283bd20bfebbc89b263ac08990bb890c883be1f1ffbbc193753af6ec77bbef0c923a873063bb93fbaf3ce1575dbdbd3c0abd593f473c52dbab3bbecdcfbd06cf11bdb510823cd2eaa0bb74d1bfbd17f402bd2c934b3c4e824dbcdd5ecfbdc364ebbcaa12563c121147bc01fc9dbd6233a8bc187b193c81b98fbc19d085bd4e1732bcde52083cf8804abcb08823bd136385bb2453c23b8f6f5abc55ec9fbc37a42a3ca7368139b9d85fbb99ee8dbace8bfd3b02f9753ac0500e3c681963bdc1858b3e51647c3f83ef3e3cbae179bd05ea8b3e5df6743fac61fa3b4efe46bd25e8853ec714493f2671063cd86e3cbd195a773e73652a3f89f6bb3b4a9813bd056c513ef63dfd3e2e3be03be71212bd19d42f3ee64db13efd18a53be08fecbc3d2efa3dfb2a4d3e5c79f93b498c00bd3cf89f3df2d25c3d319eaf3b760db8bcf60ef93c7d6d33bdb6ead9bd12116e3c00000000000000009fab03be3869a23c0000000000000000de63c3bd75bb353c0000000000000000f857c5bdc2cf633c0000000000000000632da3bdc992363c000000000000000045b2a1bdd6106f3c0000000000000000336c83bd8f464f3c00000000000000006b9c68bd7e128c3c00000000000000006c142abd447a7b3c0000000000000000da0ed63a525ba6badc152cbb55c0e73bd939883996b7bf3a1b62f8ba9b03863c80e8e73a953cf3b9958dc3b973cf733ceb5d073b0cb073bb671b113b4175423c0d815839c0f028bbb908823beacae43b06d4ca3adfe43ebbc51cb43b1655023c7d623b3a0442c7ba61bccc3b33d1a73b79bda638a9bc93ba6b73c53bfc74a63ac57233ba8cdc8eb97d6b893b85716cb923f0203c733ca6bb85e2713b8cc654bc1134a33c11863dbc4968823be2f32dbc1ef38e3c8237ddbbe8450f3b8bf720bce0756a3cc1df93bb7e9f153be5110cbca691333c9c1232bbdc5d223b8f1511bcf196033c671548bb0f2c0bb9467da4bb975bb73b3f6087bb79a43b3b2f70c7bb0596383bd0058cbb55265c3bd50281bb278c1139f88e37bb2178ce3a8c67d6b9ef03003c613987bda56715bd9a36403c56b402bc042afcbdbb9105bd23e0713ca61b66bcce6900be384916bd0e085b3c7dcf89bca8a3e2bd537e05bdbcfb413c8ee58bbc9c8fb4bdb113ccbcace2273c75d3babcf87891bda9aa6bbce34af23bb4c3b8bcc7883abdcb84d3ba8eb6553bc34a9ebc82a387bca69b143c8d6a14bb5ac313bcc9ad683b3dc1293c708894ba7bd9e83babcd03bd8456cd3dd99c963fc213e63b0535f9bcd5cdd93d56aa8e3fa5cac53bb7b9eabc1373f63d6602743fa1a1b13b5eb8d1bc4e0ff73d3228453f6513af3b48fcbfbce9c4e23d8b1f153f6a11c63b3348c1bc7933c53deb31d03e89aa853b143b9abcfdf9903df6316c3ef871943b259b90bcf086203d4d38803d42688d3b6f127cbc0fe5843c4c6855bd0c1bd4bdf12d5f3c0000000000000000975debbd92e69a3c00000000000000006124c0bdd994483c0000000000000000b9b2a5bda101223c0000000000000000433e93bd118b023c000000000000000031338fbd8e81263c0000000000000000729183bdca9e593c00000000000000004db050bd7a197a3c0000000000000000dcec38bd8a646a3c0000000000000000000000000000000000000000000000003805a03a1ba29b3a00ddc1bb312e693ca7619a3a7f950cb921d649bba841463ce292cf3a4482bfba2efb80ba18f40a3cb4cb943ac064b2bae708f1373d29b73b41533e39e269c2ba52eae73a02de8f3bd46062b9e77745baf405663b6598443b663c25b907c38bba7fc2863b4a87353b0000000000000000000000000000000000000000000000000000000000000000f54b5a3c0e708dbbf126443a0d66c8ba25d8423cac9c33bba3206f38a7cf5fba6c8c213c6ebd4dba98277aba8d2849bb3f28ec3b7b75dcb98ae8893a0e79a8baf078933b39f0c3b973acc73af399fabac73b9c3b133fd7ba7dea2b3bb32a49ba8dc48f3a279fe1bab196b23a309cc73a0000000000000000000000000000000000000000000000000000000000000000e13e3dbcf221d4bdf9c413bdcf34ff3b53446cbce379cebdeaa302bd4186f53baf6967bcad55b2bdcefd01bdc07dd33b0c706abc3f2e90bd98cac6bcfe3aaf3b87ef90bc5cf45bbdeb4c85bc2b9d973b773ba0bc10ef16bde4aeb5bbc889053b635793bc86f56dbcdb8c893b1634503a000000000000000000000000000000000000000000000000000000000000803f4d97443b8ac1e7bb68a3cabc034f963fbf9e183b5fdcc3bb0ec39539a9157b3fdd416b3beffbdebbfd0f8d3c9e9c4c3f1e2b5839510df0bb50b7bf3cd3bb1d3f0cdd6d3a84cfafbb16a8c43c3e0ce03ea3c73dba927e7dbbff1f9a3cf7a9853e1283d53a5b519fbb7068253c9857b63d000000000000000000000000000000000000000000000000000000000000000089b577bd829bbb3b00000000000000003d113bbdcce5643b0000000000000000054c21bd20eb543a0000000000000000678520bd006f1d3a0000000000000000038823bd9a7ae33a0000000000000000c21427bdf638893b00000000000000002dea2ebd6ae0b83b000000000000000000000000000000000000000000000000000000000000000000000000000000001894c5bad7a59d3994c4c1bb3df875ba77e061ba3b60073ad0c0d1bbe970c738709080bacbe1e23af62f00bcff1600baec11bcba545ff23a2387f2bbe5a3cebabb0019b9b3e5103b8357f5bb31eff3b870014eb8f211af3a6ec9d8bb3a669f3a9cbab03a571cc73a0fd6b1bb503b003b0000000000000000000000000000000000000000000000000000000000000000a5d4cc3b6daa43bb7492c4bbf3b02a3a0f34933bf33f47bbf9248ebb3448b03a33809b3b5c0932bb9ca89fbbe0ec983ba41a6f3b047618bbe0ab67bb5119b03b24e5843bc4220abb79675fbb6daabd3b37e13d3b765d03bbe22a26bbcd70813bf2310c3bbbc5feba9f3950bb7a1e823b000000000000000000000000000000000000000000000000000000000000000067f0cdbcfeb10dbd98d44b3a0ad69b3aab5befbc82c9f8bc14bcc83ad312f53a3be1ddbc41c0e9bcf1dd133b08f4b63a3777bcbc52d7c0bce50f993a9e072e3b66deaabc7bf1a2bc0f617d3bf843153ab2dc8fbca9095ebc36b7a33b13e493ba4eb73ebcedc336bc84ade33b3f8cbeba0000000000000000000000000000000000000000000000000000803f00000000ecc374bb9d916bbcfeba803fba9679bc34d685bbdb2a8bba93e45a3fc14665bc937ad7bb0d72a33b5394353f06ba82bc8a24edbb55bbfc3beedf0f3fdec594bcdcd6f3bb51c52c3c1ed0d63ee92abcbc10f3cabbc2f5163c1a008d3edf21d4bce296c4bb4cb1f33b5a3c0a3e7edf06bd0000000000000000000000000000000000000000000000000000000000000000fda025bca6c0ce3b0000000000000000d5160abc25d5df3b00000000000000005ca201bcc965b63b0000000000000000c8cb09bc4d69c83b00000000000000008132ecbba769963b0000000000000000cbd58fbbf013823b0000000000000000779b4fbbd49a573b00000000000000000000000000000000000000000000000075caa1bba798953b39a2ecb821880abce136e0bafabc133a2c3afab9c494b5bbcd8d63bbeb6f8c3be62898bb64125dbb97f584bbd7af923bdaa7d6bb2be89bbb0fd821bb57b2be3b59d9d6bbc599c7bb66900ebb9dda863b9a83cebb389962bbe63a81bbadc5d33b60bbcbbb5da222bbdd2118bb14759e3b6ba897bba2f89d3af14453ba0ea8af3b5a6a9fbbf15ce0ba9c389e3b4174d3bac2bc06bc7665c0bbffc5fc3b53109bbb5471d1bb1ddb3abca530fa3b8e6277bbad62fbbb19de98ba4040013cce5176bbe5610cbc299f4a3b2a32e03b32954dbbd9f111bc0dbcca3b61b9b23bdc6364bb723ce9bb6a6be73bb0dbab3b4e0e67bb991efcbb02b0cd3b6a091f3b35374ebb9327d7bb4e13a03b98e2343b6a7107bb78d7a1bbd8e2ef3bc402c03b906b09bd9d8cefbb84eab13bebeb2ebc711036bd050c20bb81aa853bfea8aabce53834bd65655fbb38c36d3bb740acbc8f7426bd028589baa5cb753b90408dbcf1ef0cbdca3e4c3a9513393b8a5887bc761af5bc60c0223bd201193b96c53fbcd275c8bc209d923bb5d4ae3aa415c1bb34d68cbc788bfd3b13cb8cba78df423a228a4fbcd5cadf3b139e7ebaa7068cba49bd22bd096d803f2ac6fc3d937c273ac23516bde8756d3f55d2d53db2191bbb6eb9c1bc93674d3fe0d8b03debbacabbbede47bc43e02a3f3907883d499d11bc3c364dbbda93073f1134393d574f23bc2dc847baf00ecd3e1fcaa93c89fbfabbb602b3ba32d4893e9292a1ba6fa0fbbb9bc876bbcf8b0d3e8f0db6bc40cc18bcae9d64bab36e8d3cc9f90abd1713b9bc67a7b63b00000000000000002dcdbfbc2012263c0000000000000000f967bcbc846b203c00000000000000002dc5b4bc8a900c3c0000000000000000d8689abc0b41023c000000000000000049138dbc45c1023c0000000000000000592b6cbc7827ee3b0000000000000000293431bcdb33d73b0000000000000000636b04bca295da3b000000000000000055fdb6bb5ccac23ba1d15b3b3b1543bcd2b9ffbb0624d03bbe0f943a300a4dbcd3a1b0bb6fa5ea3b685d9fba23152dbc849ec2bbf7c8fd3b140e77bb75d525bc5289b1bb5b96073cdc2fa6bb282520bc697f9cbbc17c1d3ca1f7d8bbe7c309bc0e9c83bb5b1c273c4512aabbd93cdcbb96f980bb2025223cadf7f8bb1186babb050b39bb264d183cf916a3bb208699bb86e51a3bede981b957090cbcb6aa22bc256bf83b2a2e2cbb11b30ebc9563fcbbed8d9d3b901c42ba522d20bc42fb0dba10e8003c010838bb539822bc1796a33a2a18aa3ba986ecba99ad28bc0050dd3b2da2ca3b88ff6dbb4b4a2abc64efea3bfb19943b0dd9cbbacac803bc05f70b3c1f239c3bbcd975bbdb6a16bcf53bfd3b66b0b23a5aacdeba34b118bcacdf183c5e22b03c2e38f6bceaa633bca773de3b4ced393cb33634bd200859bca6f3033cf1ce163bd37323bde7cf1dbcceaddd3b51f623bb906336bd35b701bc791be73b67c000bbfeeb19bde295e8bb5ed4bf3b444316bbc8cd13bde53cd5ba1f0dcb3b895afcb9d86ed9bc324b0dba40ad6a3b46ecf83ab18fc7bcc903963b6599143bf27eb63b12726fbc2999a53bf095993aa1b60d3bd24043bd6e755b3fcaab883e5e86ff3a62314dbd3e464d3f740b743ef4a562bb3152f0bc34172e3f4ae24d3e2a8f9abb99e0dbbc2089173f1eb3253e1522cabb94cb8cbc3e45f03e7b45f53ded7208bcdac768bc22f5ba3e116ba13d28b70cbca20f15bc076e7b3e81962c3d266ff7bbbb672ebc05e8103eccfb98ba36de11bcc8b0ebbb2f7df33c42a2e9bc321d06bdb881c33b0000000000000000438b21bd2155353c0000000000000000af4704bdc016ca3b0000000000000000eae010bd0ed22a3c00000000000000004aa3efbc7b8b223c0000000000000000421cefbcd63a2e3c00000000000000002ee9c1bc2a60063c0000000000000000a949a0bc0555313c0000000000000000608d55bc2d51143c000000000000000015890abc7df10c3c349ad63b73517cbc418fcfbb8902dc3b5826893b2efd86bc586e05bc37e2093cf794a93aeaa883bcc19bd8bb6207223c948ea0ba3efc6dbc592cd4bb4eb62a3c83cf3ebb751a5bbcb8e1d9bb85904a3c82e198bb3d3c3cbcba95afbb7a10353c5de0a7bbde9622bcf6cb92bb9bbc323c8de9bcbbe0abfdbb83ab1dbb96032b3c6cccabbb2a79f5bb9ce5233a0062843a214e1ebc1eeb47bc7935b33b8006d4ba6ff900bc1d7452bca188cd3beaf31dbbfba527bc5aebbfbb0a34d13b432bf1ba534b3ebcee878839b2e1ac3b7e13c1baec3b42bc56e0a83b57f1c63b661546bb1b2d37bc2549f83b26cac53bbe6f8cbb142739bc4630043ce7f8b53b329ea8bba03931bc4b3b133cad8cc03b291a5cbbd32517bc1365313cc901043dfd2ad4bc96e897bcad2f123c422acd3cd85e30bd9fafa5bcb52a483c10c36d3ca33441bd88348ebc86f2453c19712c3c1a8f41bdbee364bcca122a3cc8d7113c25cc2bbd52ee2bbc45ee1a3cb595e03bcd5820bdf42cbbbb7e100e3cbda6fe3b7f6b0bbd073b0ebb8374fd3b5bfe133c0056dcbc0344d73a0042c23b9cd12c3c719e9dbc41d31c397a0dbf3bf05a133b68f443bda251363f65b9d33e79a78e3b8e1661bd308a2b3f162cc03eb7c1cb39121034bd6780173ff842a43e322553bb4a8010bd9ad1003f934c843e5a75cdbb29d6d2bca935d13eb93a4c3e636bccbb317cb8bc1730a43e325f0d3e9b24debb19859ebcb2b1693ed3d3a03d17a6febb71108bbc3d960a3e6026b03c357324bc36cd1ebc750e243d364db6bc999326bdfd5fb63b0000000000000000e89554bdbd23373c000000000000000000f341bd6805393c0000000000000000791832bd775b2b3c0000000000000000db2124bd5db8273c0000000000000000045119bdf4bd423c000000000000000095700fbd43b5463c00000000000000006c39f3bcd55d563c000000000000000036dda6bc24c5fc3b00000000000000008312f7bbdfacf63b4ac2123c501784bc152605bc15eef03ba66ec03bfe7fa1bc54e2dbbb56a9f83bb07e5b3b4aa187bce9eef4bbd23f2d3c430bca3a9e2986bceab2adbbab5a2c3c6c7f99b966406ebc4cfef1bb36bb443c263d19bb07fe65bc3e95a1bb12d4373cbdce4bbbdb1639bca396a6bb7c303c3cbcac90bb1b341bbcf7402ebbef03293c384d73bb9fc80cbc03749b3a9227273b901801bc879b53bc2376703bdc2f873a4df003bccdcf5abcb5f8883b105b0d393c5114bcc375b4bbb124883b6a0fcd3915d12cbc1cef96baf8c6fd3ad49bd13a43cb1abc4fda873b41f7a93bbc34bfba552638bc48ce843b5e585e3bb226b8ba6de11ebcc71ff93b235d9e3b25f953bb221517bcf06b093cb1fce73aadd2fcba756314bc7a4c213c7c0e103dcf79afbce4f8c2bc07c3153c9e2f043df66017bdea22d6bc6e104b3ce8d7bc3c258d24bda7dca7bc74a8313c1bad953c405c38bd336e9bbc19e43a3c5dda823cf61805bd918374bc6054073c273d793c7d921ebd75bb37bc6153323ce60d553caa3ef9bce733cbbbba19fe3b1ab6553c945ed9bce5420abb9b15013cc6aa4e3cb8ce98bc1ad6d4b94721e43b571c843b1e1a34bded4c103fe54f0f3f0d8d6b3ba4944dbddc35073fd28f023f98a1c7385b171fbd4bc8ed3e70a2dd3e71c519bbe58c11bdbb94d03eab8bb73ed7b2c1bb0fd3b1bcb606a43eabb58c3e35f1a6bbe79bc5bcbff9883e03a24d3e173c0abcf09ca1bcdfa5413e3c34fb3de319c9bb8821a0bcc235f83d3dc13f3d68090fbcc2f24bbcfdda2f3d16eb85bc841d39bd99991b3b000000000000000082e65ebd9e0e023c000000000000000043e846bdcf80f53b000000000000000065164bbd6d0f173c0000000000000000697618bd2c548a3b0000000000000000fdfc35bdb303223c000000000000000045c319bd31b8213c0000000000000000ebb412bde52e4e3c0000000000000000b375dfbc92d51f3c00000000000000009a5bcdbb8c16ba3b618d223c449e78bca56bd9bba7f8ad3bee51c73b4e778ebc04e0eebbd0aade3b55bb5c3bdd0286bcc6a0e7bb64edf03b59dead3abe8282bcc270eabbb3c92e3c67dd683a5c2b83bc27daf4bb35cd293c3e0404ba737769bcc3e1acbb5a64263cb16412bb500238bc313f97bbbfa1193c439a42bb912a13bc7edc76bbfcfb143c3dbda7ba8855e2bb042dfdbab5d5d83a6393cabbd9a16fbcfe4d8b3b305b783a769db1bb665f80bcc4909a3bbddcec37025bdfbb6ff025bc7b1f783bf247573adce914bc5ac9a5bb85549e3b3aa0d0b6f4a51dbc43f805ba4c70c73bb19bf8baae8314bc1b15183b17e89f3b156331bbc51213bc1f586a3b930b8f3b79928abb4c0505bc4e1eb53ba59e193b2bfde0baf17f11bcca2eff3bb60d0d3d4bf194bc98b1e3bcdd9f5b3c91380b3d84fb18bd87b3ffbc1b4c5e3ca696db3c280a38bd835be7bc412b673cc9a2af3c112c38bd78d3c1bc1a82453ca0d09b3ce70928bd2802a3bcbc23533cba53903c477721bd84f054bc77922b3c5627783c397b07bded9019bcb8d8323c9acf613cf790d9bc365492bb6d40043c1bac4a3ce43a7dbcb0997fbb7d7b003cb6cb943bfe4b24bd45ced53e9f21353fe1c3d93b96cc41bd6716ca3ef0e0263f01cf893b56ac28bd9db3b63e70f50f3f6d244f3950860fbdbcc79f3e78ddec3e8cb0e1ba6827f1bc9c4c863e01aab83ee5cd67ba5e3cd7bcde4e583e3565863ec75c6dbb8846c3bc3452223e8ac4273ea0443abb9eaababca45bd33d932b8d3d44c2a9bb78f768bc7155283dc81128bc6b7e43bd9d7a933a000000000000000078087abdc2c1033c0000000000000000f3896fbd671f033c0000000000000000470b5bbdf7c90b3c0000000000000000c7764bbd26a2e33b0000000000000000ac474abdc22d363c00000000000000004d4d3dbd05c8373c000000000000000094b32ebd8074803c0000000000000000330002bd8364243c0000000000000000ae13a8bb190ec53a9d4c0b3c3a4546bc8971babb63fa473b82d0ae3becc078bc6fd5acbb7b39b23b3733863b0af15bbc2771c6bb08f7c63b38630d3b50e880bcc0b8b2bbdf38f93b44620d3b7f9965bc65a6a3bb13f1e93b0ba2f4b9be6a47bc3ed395bbc7b8ef3b9494f43adaf824bc596580bbc991cb3b192596ba6b33f8bb12ea15bba8dff73becc56cba42378fbb7763da393e39353bb59835bb062b80bc21857e3b4a6d8c3a1ac8baba651a7cbc69d9e13ac9233e3b9fda67bb327c1dbc7374f23b6d6318baa2c0cebb0600d1bb4e52963b67caef3884ceccbbfca443bbeba99a3bf61a3cbad868f9bbb0a9f9b9cfac343befb945b9bd06bdbb6bc70c3bfece723b24e68bbb74ccc3bb445d673b7a303f3ba5d41dbb3366c7bb4e74c03b59f1ef3c4fc588bc7bdceebc6f40193c449fe83cd3b714bd3b9f11bd5d4b653cfa88b33ca92711bd5058ecbc075d1c3c64f3b13c6d3430bd8933f0bc23e5733cc1a9a43cf6dc13bd3876b5bcde7e183c6fea8e3ce28114bdf10c98bcedd4433c7721513c7707dbbc2f1341bc2a290e3cb0b0383ced7dbcbcc8c0c2bbd068283c4a413c3cd6726fbcbe4861bbb613ff3bd143ad3b82a108bd57c78b3ea6025b3f09d0e13bf3a21abd826a843ee84e4a3f9b55de3adebceebc43d86e3e660f293f7f6f4b3b1c5af5bc43f6583ed5580f3fb93d393bd438d0bca06d363eeb79de3e8357fb393108c8bce5bb193e6e05a53ec75847ba2bb09fbc8d58dd3d927a523ec31fb8b9507aadbcd8219d3d6113bb3d474516bb46a280bccb09123d01aa10bc94a143bdb881113b0000000000000000a63178bd9714d03b0000000000000000aaeb3cbdd2d70f3b000000000000000080d752bd1ce9633b00000000000000008a5d3dbd5622bf3b000000000000000051d24cbd0e14013c0000000000000000987c28bdc6bcc03b00000000000000004f6835bda17e563c00000000000000001e4f0ebd0ee11f3c0000000000000000747320bb7f949dbabcb2b53be6e212bcbf58febac26667b97ed0113b0a292bbc389d9abbeb99cd3ad97ddc3a2d2c27bc1b7a9cbb02569f3a589a063a35bc16bc28c694bb9c555d3b801ee03aa73e29bc8ac8a5bb1d9f7e3b37e3d93a29471ebce09853bb91bdc13be2198a3944500cbc7dd151bb2acdaf3a43f0273bba35a2bb5b2e22bb44dca73beacecd396c5aa1bb16e1a53909b8323b8ad84cb95fa75fbc2770a63b1f82033955e44c399c995abc8afea53b4d2eb63a0f9d98bab6801cbc51e8723bd09c903a1a0312bb9cc6aebb68520c3b0161f73a270d62bbed5784bb35e2803b7d1bbab9a4781dbbcc1c14bbf9ce893b095c0bbbf87e4cbb358c05bb435d873bfc7372bb973f0ebbb3a7123a1b8b503bf6c037bb4d5931bb1812033b3382a93c6a6491bcc5c003bddb07053c64908f3c2cd31abda2fe11bd4d754d3c39c38b3cb08038bd40e307bd9b90283c85f9743cb3c62abdda7bffbc6b97493c55a1783c838d19bd4f2fccbca993393c224d563c58fc0dbdeb269ebcdd8b2b3cdd4f2a3c738deebc97e655bc47c42e3cd14a733b5fd09bbc5921d6bbcdb70b3c40451a3c014e24bc5f1d6ebb1ac9ef3b6510b93bddd0c1bcde7c023ed0b6803fff5f073c5438cebc50cafc3dbd266b3fe6b0c13b00e1bbbc2d55f83dc8104a3f3deda13b0f8fa9bc20e1e53d29bc263f6eba393b2e499bbc8904cb3d7381023f2cc9653b366999bcad02b03d9140c13e0c272c3b3caa96bc75bf8d3d5c81773e7497283b3f0884bc23f43b3d2c8ce73da20d533ad10362bc58c1d63c9276dcbb43a52ebdd818abb80000000000000000c0a148bd2f8fa43b0000000000000000b5f03abd5c40583b000000000000000077732fbd1188fe3a000000000000000095a126bd09b3c43a000000000000000094f82ebdfeb18f3b0000000000000000004f36bd5c6bd43b000000000000000022dc31bdb5851c3c00000000000000006e740fbd2437053c0000000000000000000000000000000000000000000000005b11a0b9637808bb34e97a3a43a0d2bbd3e5e7baf7a1b7ba4b1e50389363c9bb550f0fbb9d46ce394555bf3a36f9fcbb9416efba0e7e6a39640b233b89bef4bb22d247bb1ee09b3a75ac193ba222dcbb10a41fbb2ac6853994fab13ac0dea1bbdd42f7baee190d3b1d42fa3a318460bb00000000000000000000000000000000000000000000000000000000000000003d630b3b2a68003bd45be53acc980ebccb242a3bb9d0b33a9cc407ba1aead4bb4e4eae3aab851b3bb86e63ba68f69abbd2ecc03af44aba3a8c85a0ba6a1c55bbc39fa53aa800ab3a03eb0dbbb68a42bbaf4b593b6e9a4cba413933b98d8113bb987a033b7633beba3a47a437f65e0fbb0000000000000000000000000000000000000000000000000000000000000000f25d033cfd6fe9bc88dcfabc4b29c53bba99e63b3ea806bdc975d3bcf18bc43beea6133ceb9af9bcc60fc3bc5627b63ba6bc0b3c2f81d4bcf44ea7bccb35bf3bf51f053c9839bebca1e684bc5272bd3b2e9aaa3bd5ce99bc75af39bca018bd3bb3ccbd3b85e855bcfe10f6bb13e3dc3b000000000000000000000000000000000000000000000000000000000000803fee459c3bf41434bcd153b7baa988803fc06e9e3ba1fb0ebc76ba093cdc775a3fdeaa5e3b6d8c2bbcbd70793ceec4343f337a133b77841cbc40b1963c45490f3f2f2d603be6b30fbc1ff9a03c207ad43ec91c513baaf417bcda90913c7e238a3e6105713b83b82dbc7ec5903c213c043e00000000000000000000000000000000000000000000000000000000000000006517cdbcf2491ebb00000000000000007ee0b2bcde6796ba00000000000000006fecb0bc356c29bb00000000000000009deab3bc46e127bb000000000000000001b8cebc708abcba0000000000000000680cd4bc280e4bba00000000000000004b0f05bd5bc83d3b000000000000000000000000000000000000000000000000000000000000000000000000000000003e7897bb8e4c303ccf40263da33e513ad9369abb8a056d3ca664213d6d55fc3aed5eb8ba63346c3cffb5023dc709bb3b3f0c52b7f737523c295ed63cf6c6b83bf4f01dba66d33c3cc208873c2b675f3b4be76db98119dc3ba4ee2e3cb32e283baae498b9ff30113bcaf73c3b69a88e3a0000000000000000000000000000000000000000000000000000000000000000b18f6abb8ece75ba18eca33bf14905bcf37435bb13eaf6baedc0333b20ef95bc15b198b909da03bb30090aba0e11c9bce1d83cba9e6e0dbb67bf09bb62f9cbbcd67f933a830720bbad5d8cbb53dfa3bc2a26123afe43bdbab22d76bb54b738bc92bc9b3992ac06ba674badbb5480d6ba0000000000000000000000000000000000000000000000000000000000000000cd5660bef045823c3649f03a8a70013994fe59be641c393c5ade413bfc10b23ad80a46be435a0539e12fbb3a56248a3a3c6720be386a36bb3c9ad33a153ecb3af695e6bd5cdf0eba6ddf67bac97f1d3b8a3284bdf41dc4ba3afa16bb98a2da3a99c87dbcb59b82baf1821abbb2ec033b0000000000000000000000000000000000000000000000000000803f000000002490963cfb0cd9bd2310ad3f7a23febda1b25c3cf3fd59bdd0bd8f3f2903b6bd19db233c4f1af2bcff8b6d3f360096bd68ca153c1f612fbc6a91323f2bf065bddf28123c47c7e63a9b6eea3ed8b024bd86fdc43b02f4073c25a76b3e1d0888bc6ebace3b52a9e83b2ffa4a3c544ea23a0000000000000000000000000000000000000000000000000000000000000000dc509a3c0f9d90bb00000000000000001893423c6a9686bb0000000000000000d36f0f3ce57fc7ba0000000000000000f36dd83b3e4041bb0000000000000000d134da3be152fbba00000000000000000829023b5c40b7ba00000000000000008beea2381f548aba0000000000000000000000000000000000000000000000004db5f9bb4546e83beb069f3cf62ca0bad19a2fbcd5c9563c26931b3d13743fbb4f89c3bbfb03723cf7b72e3dc2e4623b010c96bb9cac843c4ed81a3d4250003c7f7b6fbb1481783c6caae03ce4e2c03b23432cbb6bb14d3c0ae4b03c679d8e3b3055cebae96f0b3cb06f303cfecb363b2b2dffba30d1913bc9f8223b9b7b013b1b43deba44ea9a395e0367bb91823fba083d28bb10cf253a304a663c7c7180bc216e5ebb3e180fb95b26383c4322d8bbf6f022bb915918bb408e183c9e41babc51dc1fbba9fe22bb1daebb3b3d55d8bcf9bb0a3aa4113fbbf173453b76edd5bca550543a8bbe73bb9bdcd1ba383891bcbf3f353b61cc3fbbc4f590bba7222ebc890c7b3bc5a95ebba261e5bbe1652b3ab5051b3b504ad0bae9487fbb7f07e53b56b3ddbd4c64c93a49370b3ace6845ba5a7842beedc0983cb8f295bb97a41b3b855e5dbeec8e91ba1385e03959d4ed3a52a94ebe058e18bcdd45003b2f7c0d3bdbbb26be33111fbcb87f163ac5cd193bcdf1f2bd558928bc754a72bafe86583bd3c989bd584dedbb7a500fbb852d383b6034a6bc362706bc66bd4cbb32b2483b3d22663c3508173b1b363dbb566e7e3ae92a2b3d1c9358be941dad3fcf775c3c63122e3df45a40be961ea03f9341913bb286043d7d9915be2e0e923f39a6b9391df9dc3c80c2dcbd7bdc713f2f7788bae5b9bc3c2afb99bdef8b363f8bd52bbb5f09b03cccf552bdf67af33eb7186a3a1b679a3c86f5fbbc84fa793e16b1973bc97c833c8e2334bc87dd3a3d23c2ad3c071b6a3cff929abc037ac9bd3e7ba6bae4f768bca7de933b0000000000000000a05214bc456645370000000000000000961c3fbc1262143b0000000000000000626923bc0f4a98390000000000000000e2a9f6bbc70add390000000000000000342504bc3971673a00000000000000005466fabb11f9233a0000000000000000e6a437bce8cb0b3b0000000000000000675945bad7ae97b60000000000000000a015b1bb450dba3bdb82253c4b53553b8eeef3bba38b333c58fdd93cd478083c635cc8bb8070783c86edfb3c7140553c368e9ebba0de863c3346ec3c6c55533cb4d727bb3e614e3cf2cab13cd106133caeac77bbc6156a3c25197b3cd71a053cea1946bb1338263c6ef9ef3b2789bf3b90266fbb7361ce3bbe6f023b49d6ad3ae1892ebb28da553b94b58abb552240b9956b23bbf82e70ba7e80843c6354e4bc642d48bb13d8e3ba63028a3cc1fee3bc6facd5ba7d107abbda2e553cc08c07bda1f925b902ee66bbaa6e263c65d105bd6d2e1b3b765758bb8961983b0aa2e1bc99f53e3b8c7d7fbb8358153b4a2da7bcbbeb1c3bcf3c7fbb084bdab9334c53bcd7bb993b264c89bb020673bb9831c3b91c10143b588e10bb347831bbc332e73be93948bdbf4391bc8011a9bae464f63afefc0dbe31def7bc434b753b21902d3a90d627bea7942abd5d81da3b9098063abeea2abe8c071cbd37b3333b105ac33ad80006be214b06bd3954343a8e001d3b8d92d6bd9cdcbabca30ac6ba8d9a163bdcc077bd26a469bc600afeba7754033b56fcc5bcbd887abb352467bbf988053b71b5823b01d8d73b556882bbd6ddcf3ae604303dd8bc56be21a38f3fabdc683e7543493df7d55dbec2da913fcbf8403e03f1203d3c612fbefe89823f198e253ea79d0f3d92ed11bec0cb5e3fa917ee3dff0ef13cdf9fd7bd52db293f5d3caa3dd486ee3c90bcabbd16d0ec3e33dd4c3d28c7d13cdae473bdad95833e90629f3cc0b3b83c8c0b24bdbf9b9d3da7f05c3a7ebe983c94aa0abdbf5f22bd6bd4a1bc278077bd9ade5d3c0000000000000000da1f6dbd3f4f633c00000000000000008eb94abd72b41c3c00000000000000006eae1dbdce80153c000000000000000067e3f4bc43a38b3b0000000000000000c78fafbcb431a63b0000000000000000195851bcaa37893b000000000000000054e3d3bb1fe3c73a0000000000000000b516d4ba12efac3a0000000000000000383631bb8dbbd1390c75fa3b9d7ede3be3c4c5bb258a303c2ea3973cdd51803c50aaa6bb4d0c533c15ebc63ce7be8f3c4c955fbb6dfc5e3c1b7ac23c7c15883c058087bb91b97e3cb3068f3cf598663c6dfe58bb627c493cae75453c754b193c7c122bbba5221c3ce6b5af3ba08bc63b720391bbc6f8ec3b9a82123aefefc23a48afefbaacb1463be82c95bbdfd130ba579044bb674006bb657b853ce6cd19bdbcd513bbb72386bb82be8d3cbf450ebd3105cfba9a8331bb05a8793cef621cbd51ff353af303b2bb6461133c498309bd1bd9043b5b48b1bb09a0113c696300bd4766633b26d6a4bbf88a723b75d0ccbc6c5ea53b2ebaa2bb53883f3a9e1f48bc92595b3bf37989bbb3de5cba6c416abbe911443b228a21bb499136ba5fc4a13a28a58fbc28583cbd6166153bd51f413b1122c1bd03498ebdba342d3cca4f023aaa2c03bea4f3a3bdc786013cd952c73a19b103bec4068bbd4a42c43b380b1a3b5d7ae7bd450672bd2d65953b14b2283b7889abbd88a623bd518babb925be483b8b055ebd6d07aabcb1430fbb7025bd3ae665b4bc8b7681bb0b8e2dbb91d5b43a9ce64b3b156a0e3c9a0fa3ba39c520babd651d3de7b544be28e46d3f5a24e93e81fe3b3d77fd50bed7f2703f594bd43e7b84223d4e6332be44d35e3fcaf7b23e5e660b3d791311be51683d3fde3e873ebbeafd3c34cff1bd6df7163f98e5413e0f3de83cc146b7bd4151d53e74f7e93d88c7da3c3c8b93bde1717d3ef69f3c3d76edc73ce1d255bdeacbc23da06ecbbbe253943c8d5531bdf06510bc64be44bd509ae5bda86dbf3c0000000000000000c14be6bde20bc33c00000000000000005fb7bdbdbe969c3c0000000000000000afe592bdb707703c0000000000000000c5a563bd9fee473c00000000000000006a3b19bd6f7b0e3c000000000000000099e8b6bc4963e63b0000000000000000b0a4f3bb1d73403b00000000000000000a15643ada62603b00000000000000001e79dbba9d4b7439cee6043c0caa173cab1d81bb3ce4d63b79d9783c4c95ab3c27cc80bb562e143c33289d3c9509be3c2d2f5fbbc80a543c2223a33c3942b73c31b603bbefa1083caf935c3c73135f3c05ca5dbb533f3a3cd5373a3c67723b3c8d6c73bb6464243cf19db03b566bc23b352c3bbb156bba3bb12b41b954a61b3b0f7749bbab6e253b923bb8ba36cd53bbffbe20bb8d45cfba2585743c594c1abdb27616bb53fe95bb3cf7623c85bf0ebd86731239c15ba3bbe0ee513c26620dbdf820933a3763a9bbf9e11f3c88d211bdaeae793b621672bb3979af3be026ecbc131d083b334438bb446ade3b7cfcc8bc57c17a3b44bfa2bbb2173e3b5ba381bc5997853bbfcc83bba90555b9c399c7bb4f5b723bab128cbba49b053b04b75539eac3023bea178cbdc744183bc045633b77836fbd3445e1bdcc98603cbd8ed23a2e23aebd8e30ebbd8c59183c2f5b3c3bd9c2cabd0645dcbd9a49ff3bf3a3103baec18fbd8c789ebd2d1e30ba3efa6e3b2a3390bd781e6bbdc135813b2fe1ed3781752dbd6528edbc6613cdba262d8f3a30e08bbc8c0aa4bb38b519bb01d87e38e5dc9d3a6ecd4a3c17d6a2bacae602bbdbb1013d698322be4232333f7e1d313f0c2e193d86fc29bee1dd363f9608273f87d5fb3c50a30fbea054293f90d80d3f453af63c145900bedef7163f7cebde3e7224ad3c5417b1bdc02ce73e144a9d3e3f47c73ce017afbd465db63e153d3d3ebcd1ac3c7ae184bdaf7e5f3e81f99d3dd861ae3ccc6a54bdee05cc3dc77049bc818c843c463329bdd08f233ce64c88bd52d41dbe63a0f73c00000000000000004d7120bef852053d00000000000000007bdf03be3468d03c0000000000000000fa81dabd08eac23c0000000000000000742391bda0ce443c0000000000000000bf985abdf3a0533c00000000000000006617f2bcdcb9293c00000000000000007be9e7bb95be8b3b0000000000000000cbc6cab91e53c33b00000000000000007a4999bad12ada3adc80403bdeea3d3c72c338bba982a13b4c02453c5af9e53c2f93cfba467cda3bb73c8e3c21c0f93c9c6c26bbb192203c456b803cfc42db3c0bd8dcba0fe71b3cb1b5663c55ccb03cef2d37bb567a2c3c68da1c3cb3e7753c7f5e58bbbb26003cb3dfa83b27bd1d3c1c570cbbaadad13b40b689ba3285223bc1091ebb22484c3b0c755bbb595f85ba798b22bac75289bb65cf223c9c59fcbcf7db9fbaf658dcbb0b72283c4bfdebbc0af6fa39b33feabb6848e13bb7afe0bce591863bc18de1bb7714e43b3c4dddbcd1f0153b1e51a9bb5360c53b62eacbbce2c18a3b43d8bdbb3e7f4f3bf3609dbc7578523bfb74aabb13c33b3bc73276bc2f08973b92edbcbb3970d7390bceacbbfe66e53a3da31bbbedf0103bc2fb4cba417d803ca10bb0bd5f4fd13b89b9eb3afafb01bdcddb16be3a70ab3c1d2ad53ab64d7cbdfcee22beecf88e3cfe04363b42e08bbdd25710befad4343c1d1b1c3bbe0b8cbd547be6bdc4d9093c3bcb333b831064bd9d1a98bd20ff263b1dd4f63a130b17bd2e531ebd6058953a30c88139bcb696bc735e98bb25504fbb4218deb9e8f57c399481593c0cc840ba18a870ba1f4ebe3c4cf5e8bd6b24eb3e915a6c3f8214f63c0b21f9bddfc8f23e438b633fb7afd23c2d97debdf329ec3e00db433fb77abf3c9c5ec1bdac20d33e5e8b1a3fca3db03c9992a8bd3d21b43e5b72de3e22fbb13c808190bd58fa8b3e6d37863ee907a13c224e64bdd7973b3e9036de3da5a48c3c6be733bde8d9be3d9dac3fbc789f4f3c78c00dbda127a23ce123a9bd2c2440be7df81f3d00000000000000004acf4dbea6a92a3d0000000000000000739127be8c5cff3c000000000000000070e604bee15ed63c0000000000000000d060c4bda50f933c000000000000000036d27abd5562583c0000000000000000b48effbce009143c0000000000000000d0bf30bb0366743b0000000000000000968ef63a0bb18c3b0000000000000000194454ba64b14fba9f9f413b5299853c924519bb4264223bd1360d3c58fa083dacaababa074c8b3b669f6f3cd17b123da6f21cbbc3dddb3b07b7783ca8570d3daf943dbb4bfde03b1533473c8d23be3ca7a81bbbcfa1f53bbad7113c52a5903c4d2919bbeae4dd3b7c11a83bb35d263c79304cbb9d64a63beb1ffb3ab0dbcc3ae5a89eba4dbbcf3af3e3d5ba080b30bb8125c2ba2c74b5bbb77acb3b6bc3a6bc31e90dbbe712efbb0f9cc23b9c4f98bcc4b8113bab3700bcb5199d3b773f98bc08d5173b9e42ddbb465f4f3bee8b93bcb4e09f3b1c06a9bbe87d133b865b84bc00eb3f3bded98abb8d597c3bd02288bcfdf1553bbf8a82bb2706033b6ab83dbc1f99853b5cc379bbfcf73b3b653ef0bb2732f03a639939bbf7eb293a94d693ba8a3ca43c18e6d4bd5acc7e3c5baffa3ac2cd38bc489e3abe03e7003d7d7103bb41981cbd414a44be1ea9a13c6b86bc3a8b5a45bddcb034bee0b5773c0b33c93a037d36bd088907be0fe1fe3baa03883adbd225bd9438c2bd652dc73b45d0d4baa8c8f7bc60f241bdc9230c3bc288dfba8f386abc023b17bc058a0dbb36542ebb2ebb9b3abbe8883c0feef2b9a9f841bb3b47703ca1d882bdb9746d3e931c8f3fb4388e3cc8f088bdd19c763e32998c3f968b793cfb0882bd83af813ea13c733f7c1d7c3cda116bbd675b753ea439433f0a81693c6a973ebd9f75563e0a540c3f23e04b3c3cbc37bd0f41373e4113af3e2958463c3aa914bdfe8e013ed35e1c3eac4f1a3c2561f9bc2f259d3d5f24e9bb1c7af43bccb5b8bc6eefab3ce71acabd2ea254be385f313d000000000000000062e360be042b3b3d0000000000000000183137be0f060b3d000000000000000035e611be4f47d63c0000000000000000a372d1bd8119983c0000000000000000ea0687bdc6d36d3c00000000000000008d640cbdbe480d3c0000000000000000bf30403b726ca83a0000000000000000f6245b3c377ffd3a0000000000000000bff93539b591e4badd60a33a2739c53cd6b60db93213f0ba0841033c4d5f3d3d8f0d87ba9671a23ad9a75d3cf1b03f3d7b0c02bb300e523b3265783cf95e273d7f2872ba7cb97c3b9ed6533cdf69003da07822bb1ffabd3be431213c9b8bbf3c138b34ba3ad96c3b6b6da83b6288483c8b4a1abb0e95873b0849693a4bd1593bd42433bbacb85d3bf07930bba1c563bbae6a23bb6006d0bb52d5f83ab163ddbbace807bc256bc3bbef930b38f6fbefbb0f87fdba7dd5f2bb0dd204ba3aece2bb6792923a4242adbb787fe939e25df9bbd1eed03affe393bbc3cefdb860cd12bc65be313b2fde4bbb340b003a4bd825bc4138053b0c831cbbd9d0ae3a743d14bc90953d3bf6cf92ba18730c3be2cfe1bbc5df9d3a7938a4ba920b873be9cd3abbe7d6803c943c10be43afb33cb97006ba3373883b85e55cbe44084a3dd9e204bcc99aabbcfeeb6dbee222ee3cc5a0073a35bc08bd3ee957becdaea23cc17801ba3f9e07bd918e26be745c2e3c61a423b9d529e8bc3d85efbd8663e63ba8ba8bbafc5ca8bc061f74bd858788b991b707ba44220ebc5a4e2abcd6ddf2bb60e0d4baea9cc13ae781b73cc5548bba1dfb5bbb55b7823b3a8f79bcd8f7833c93c1ac3f39caba3b2eb17abccb00293d4de39d3f554cfb3b3758a0bc70b78e3dc68e8c3f1ab0c63bde88a4bcdfecb03d2ba6633f1068d73bac8792bce028b53d9e47263fc158013cf43791bcb502ab3dd0c6d13e063d8f3be4526cbcaa2c923d4aef3d3ed90d963b21ce5abc45b6583dc6f13cba402d253a84ac0ebc9269743c12ba07beb65756bea31d273d000000000000000019024ebe5e03253d0000000000000000993329be9f59e63c00000000000000008cc705be09e3b13c00000000000000002f0ec0bd923b853c0000000000000000699667bd88bf053c00000000000000005016abbca960423b0000000000000000de79be3cd725f9bb0000000000000000d031983ccb0ddeba000000000000000000000000000000000000000000000000ff5c1dba3880b2b89862143c2fa32e3dc9f990ba9987973a986c3a3c559b293dbe71ddba90c1723b5329693c127c0c3d6f038bbae63a303b77112e3cb0dcd93cd9e696baa988583bd0da163cbb44973c08ad0fbbc95a5b3b698edd3be091333cd4be51ba092acf3ace38fe3a2307fc3a00000000000000000000000000000000000000000000000000000000000000007e25abba954ba3bb422594bbf682b73baef1033b8cae67bbf01f59bb6988923bed6acb3ba4e49abbeeb030bb0ca82a3a585a9b3bc6111bbb59f4d2ba4b0505ba12816b3b50a6a0ba2bdeabbad33cdfbae45f223b9f6323b98f15b8393c632cbbf1369b39311baa3a25c60a3ae62015bb0000000000000000000000000000000000000000000000000000000000000000282d1ebc63ac61be49c4aa3c18f0cebaca7db5bcdeeb5abeda10703cc39dc3baa3bff9bca65a43bea3f3c23a51d5313b0e8de3bc35181fbe607eb7b9c78c133a5024cabc7ea6debd8dbbe5bade45e039653080bc27e279bd576499bae0db1abb19d8c3bb5cb738bc803939bbee84d1ba000000000000000000000000000000000000000000000000000000000000803f6a8631bbcce7953cb2bbcdbdefe2ac3f60fe46bacad32b3cc0183abd585a8f3f1f67063a37bdc33b8ef2a7bc69b36b3fd88f94baacc0b43bb108e1ba4790303fb3c91ebb0293c63bfd59043c6e05e83ecbb765b97a2a9a3b42b9313c96ba643e435c34bb85ccd13b200e093cffe9283c0000000000000000000000000000000000000000000000000000000000000000812203be6be29d3c0000000000000000296ebbbd31c4453c000000000000000095bd96bd6b5ff03b0000000000000000fa2c5fbdfd79813b0000000000000000432e18bd7522473b0000000000000000ee5e55bc89d614b9000000000000000060299a3b9b6452bb000000000000000000000000000000000000000000000000000000000000000000000000000000006fa292bbb600523c6985133d49539abafa1a3ebbc9077a3c41f11b3d1ad73b3a7eb5b5bab1fd623cacee073d4c95df3ac75952b96ee7433c669ce73cd828013b936fb6bad82e3f3cff88a13ccc9e2b3a321219ba0fe7f13b6780523c63ae9dbaff849ab803114c3b8695883b025ffbba000000000000000000000000000000000000000000000000000000000000000075e194bb7ab0a63a8be8f83bfa09abbca329a6bba29c7139434b903b051dd9bcb28570bb71e89e399835ef3afadff9bce47249bbe642f637dedc60ba1234e3bcbf9052ba7c6e5abae04771ba51f5c5bca1f05d3913a129ba3d4ef3ba4e095bbc2faacd3ae514abb9640b2cbbc57a56bb00000000000000000000000000000000000000000000000000000000000000003fbf54be9fc0ab3c3b280cbbcb88d13a42475abe95c2c63c235a16bbb034293b7f7747be289b983ceaa2d0ba378f183b843229be6fdf953caeba86bbe5e84d3ba03bf8bdee40953cea7081bb0e3f4c3b38959bbdbe3c893c8ce9cebb230e853b5f46c8bcc0b54b3c9313e5bb45315e3b0000000000000000000000000000000000000000000000000000803f000000000aca823ca52bbabd01a4ab3fdd6202bec4b0293cee5b2abd6ee78f3f414cd7bdc390123c37e689bc70336e3f5bd9cdbde83bf43b7de6d938b1a4353ff09ab2bd161c023cc8a5ad3b696bf53e2a6493bd88b1123c7aad9f3ba61a803e5b0a2dbde138323c322d19bb4baafa3c24828cbc00000000000000000000000000000000000000000000000000000000000000006101a13c144d84bb00000000000000005ae3733c742391bb000000000000000033015b3c0d4f6abb0000000000000000d590303ca4002ebb0000000000000000511b0b3cecfa54bb0000000000000000fa4d903bab5f39bb0000000000000000b23bd53afd1605bb000000000000000000000000000000000000000000000000fc2ca2bb18480e3cbe763e3c054c813b79b4eebb9c0e933c01bf043d107612bb8e7dc3bb13719a3c1e9f273d4331a13801638bbbcd1f963ca52c163d803a543b3b717abbcd298d3cb83ff63ccc9a463b0e6987bb8b137e3cd3cca83c27e9fd3a452792bb29963f3c41ac4b3ce0cd3b39fb3ba3bb531ebb3b5795d43ac8c8a43a1b0c45bb667cd13a0140a6bb21548239bd96bfbbc2fcdd3a4a02b93c45f32ebdc735cebbe8d7d63ad990c63c0a4b2fbd02deb1bbfe086fb9247e963c60dc40bdb17fb7bb2316e3b986ba533cb30839bdaa0f58bb267783bab39f343c952029bd043378ba3c6102bbf8ebf03ba945f5bc5206003ae74bf8bad941913b0f488bbc17034c3b753d44bb62b6033bd30fff3af2d1993a433cf5b9e8cf0839aa47ed3b5d1ea0bdca8186bc2b3bbd3b1e834cbaec0332bed6386c3cc9dfd0ba7f82083b161456be9750093c437d10381aea2e3bb7304abe0007c33b62dd8a3a112e5d3b8c9e2abe7fc7d43b262b48baf2674b3b5b7003bedc81423c47da9abbc8ca823bafe4a2bd93b2463ca4fbc5bb77be8b3b038ff2bc7b35ee3b09a00dbc382ea83b342c033ccc464e3c74c113bc1b83623bc501053d79a842be479dab3f4a05863c206d003db33a2fbe7103a43f0bef83bcbed3dd3c2cae07beab08953fdcb110bd5e2bcf3c7960d1bdfece793f821a45bd42b3bf3cda879fbd0883413fe58867bd32babd3c050083bd8fe4063fd8556bbd7e66c53c4d055dbd1cfa963e84ba3bbdbf86d93cff934abde3e5a93d210e85bce2e4bb3ced5a44bd300c83bd0106efbce00d19bcdc2f7f3a0000000000000000f96f3fbb7bde87ba00000000000000007179a9381ac0f6ba0000000000000000aeb93b3bcf5e69bb0000000000000000da62b13b4c9743bb0000000000000000968cf93b274731bb00000000000000009905b13b48c91cbb0000000000000000a131413a1391b5ba0000000000000000ea61083c872a18bb00000000000000001b113dba9404433b8c25aa3b43af063cd736babb26e9773c3eff873cb2336b3c760eadbb68be7c3c0be5c43c27e76a3c3354a9bb54988f3ca3a2d43c65da5a3cd6aba3bb2a9c843c425ea03c0af21b3c59c9cebb80e8893c5635713ca3fceb3b6cb59cbb72a06c3c5dd6ab3b53a5813bf94dcabb377d253c55ba96ba121c253b43fc99bb6b9aa53b1a13eabbde93c13acca09ebbd453a4b9ccdee73c7e3983bdff4210bc837de4391ac6f63cedbc88bd74a0f2bb577315badaccca3c28777abda4e8e3bb43a8adba07a6b73c648470bde4a82dbb2f5a03bbb47b833c913645bd874b27bb3a701abba9217a3c5d811bbd6d7363bad624f0ba6bed053cff63d5bca303b93ac62b1abb9f72ab3b9467fdbb7223473aae91b6bafee5993b95fbe93a26df11bb6bbb5bbd427f4b3c02264dba04fcc6bd291654bd9a95603caa84acba846104be865350bd2c9b6e3c8016bdb9ed5319be577c09bda73b203c38e1603a3a31fdbd2208cbbcaf1e983b99fde63a690fdabdbf5202bc997acc3a73a62d3b47b686bdc94c4f3bbc3a81bad93e233b26a102bde7f3543c92da0bbc9aac793bfc3d353b27c36c3c2419ccbb7489d13a1375073d859740be2ded8e3f7850633ee4c71b3db0e348be6f2d933ff70c213e3e72023d2e8a21bec6c8843ff2b9e33de39e073d9ca012be4a776b3f39d5393dc093eb3c0b1fe8bd5f96393fe389033c8314fc3c120ed8bde2e40a3fe37203bd2576013deb18b3bdaa61ac3e90f45dbd9bfe123d2f07aabda4b1193e132481bd10fde63c8c5b93bd33bb7e3c79d984bdbbf144bdfefdd63b000000000000000093241bbd3165b53b00000000000000003fceebbc8135233b00000000000000004bf66cbcb5f7583800000000000000001545d0bbcf1132ba0000000000000000ad9a2f3bdabe2cbb000000000000000078ec033c0b0373bb0000000000000000a0f4743c5e6f91bb000000000000000088fd633cf7c315bb0000000000000000cf6a8fb99b68283ac9e19d3af5d0353cc97621bbcf47163c61b50e3c2c6dd03cb4df88bb0904753cb8358d3c215ec63c70e494bbbbb8753c0af29c3c7efa9d3c151ac1bb476b8d3c0353893c831c913c9aa0ccbb086e863ccbac2a3c20c6403cffbfe5bb5fa57c3c9b63843b0cded93bc668f2bb214b4c3ce18038bb1fb2343b131d87bbba62c93beb09dfbb49a52ab9b07691bb1b9f66baab2adc3c0f2093bd7da63bbcb9d11bbad6f5033ddcb79dbda5d91dbcea9abcbafb5ede3cfd188dbde03ccbbb7a9bebbae43cc33c19ba83bdae1de4bb52ae0cbb324eb53c2eac68bd5b7776bbfbd515bb03da843c08cf28bd8ff3b0b998ca21bb6364593c8878f0bc5d4bbb3a7f770abb1e5a1b3cdea666bc906c623a2f53dcbaa6e0cf3bb100a8bb15152f3deda4b9bde424953c8ff31cbb3c761cbd1197dabd0c59ea3c65be39bb56b8bbbdd347c1bd4c1fc23ca1c60ebbb2b4d5bd4f669abde2f38e3c9b407cba36b2d1bd16096cbdd3c9873c179869b96d5baebd7aede4bcfae0cf3b02aba23a086878bd85eec9bb12008b396f82383acb10e3bc12bf3f3c9a86c1bb3a13ad3a10b8503abb72843c581d5dbbef6c163a790af73c34ab2ebe8d1a6a3f93cce03e784f0d3dc44e3abe2f97733f3fd3be3e67540a3da2e42abe2a36683f6b6c8e3ecf22f53c210a13bea0654d3fc18b3a3e2c17043d5d0506bee7cf2c3fdafdbd3d4857013dd773ecbd52f4023fd9858c3c5f3e093d40abd8bdec41b13e4f1531bd9a190e3dd720c5bdcc0a3d3ec0edadbd4da2d93c0a29a3bdace17f3d470dd5bd2165b5bd2e896d3c00000000000000003fc0a9bd368d263c000000000000000081d778bde1d9f03b000000000000000044b924bd40c9873b000000000000000058bdcabcf60da03a0000000000000000cf28cdbb09d9f1ba000000000000000001afb43bd95a01bb0000000000000000678bb03cda32bdbb0000000000000000e02cb03cbd237dbb000000000000000059f4283b866f8abbd8ca133be9445b3c309056372f41653b6dd0c03baf06f53c201705bb6d41e83b59d0533ca501dc3cbf7b84bbf860533c939e6c3c3d50e03c47dec2baa008d33ba9be2a3cbbef793c844bbdbb2f52753cb4c0153cb4907b3c56bdbabbc514503ce62d253bfe30033cab16b7bb307d453cce6484bbde60733b95b3c4bb8736133c104e03bc5a7599392f1b18bb6d271cbbd612c63c0bf38ebd098cfabbee0e54bbdbfae33cc55697bda334adbbec8271bba1adc03c070684bd65d505bc1c3422bb277cc93cdd6683bd9d219eba309311bbbb08673c4ac741bdc59d85bbf0e526bbc51ba03c2c8a40bde1c1ccbaa6f315bb30ae573c7d8aefbc5e3f073a606d10bb17071b3c5e4d92bc1fe613ba9447acba6b04013c324d0ebcbd37803d735feabdbf93b23cd56434bb395a463b95da1bbe8ad0183de20ec0bb2c532abd0f430bbe3ddce73c80dc33bb0c978dbdd06ef7bd02f4f83c795757bbea6d4bbd0712a9bd9430713c262486bad77187bd14525dbdd697753cc4e4fbba26f52fbdb655a7bc3779c13ba480c9b91d81c5bc5359dc3ba3ece6ba5a9eb6b91fa6be3955e8903caa7d4b3a211ebebac70fbb3c8d2b0cbe62fe2f3f2f262b3fb023e73cef3017be1af4383f23291b3f78a4ce3cfb8f07beb9b2313f850ff53e7aa6dd3c2d7f04beb3ac273f77dbaf3ecb8ab23c58bfc9bd3563053fbcd8663ef8fed43c9d5cddbdbe8de83e885fb23d2a70d43c716ac0bda2b1a03ec8c8d6bb9c6afd3c5ff1bbbdd18d443e43c2b6bd7b35c53c557099bd7824a93d9bf500be0ed102bef034a13c000000000000000083b800be72e89a3c00000000000000008799c4bd3f60583c000000000000000019d492bd3b06003c0000000000000000b52e55bd2b52e23b00000000000000007e79b6bc95d25f3a0000000000000000f63446bb4be0e1ba00000000000000004471af3c2c3fddbb0000000000000000ac67b33c503012bb000000000000000088d83f3b15bab3bbb829d83ad158833cfceb19bb0c42823bc52a683b84510e3d2954aaba0a29d13b127c303c3ca61a3deb4830bbca55083c27b1443cea17083d946355bb95aa273c73d3303c635ee23c58cd88bbd1193c3cbd060e3cbe969b3cbf83c2bb30fa463cfd02023b25ea3d3cf8b7ccbb04811f3c11e7cebaf3f8653bc3e972bb9f03f83bde43b9bb0b0017bae24828bbbb206dbbe9c6963c03d770bd8d27fcbb243080bb6af8c63caadd77bdc58a13bc1d5c81bba9bfa83ce38164bdcf1be3bb89ce48bb20e79d3c9e8a54bd61cec3bbcaab3bbb5df1923cafaf40bd62af8abb139d22bbe819803c2e2a1fbd4a3b27bb0094cbba5da35e3cd14edabcfaa659b96d64b8bada2c0e3c60fc7bbc74c09d382a0f89ba81babe3b181ff0bbb9d28a3d23c005bef979d03c5abd62bb3cf5893c95ae3ebe92ef3f3d37e804bc25c8bebc272d3dbec4db2e3db689a7bb548030bdee6d1ebe7a0e0c3dabe89ebba1ba5fbd7516f9bd3696eb3c42a199bb63d74fbdfc3999bd1dec923c4efe58bb35d928bdc77206bd2294173c66ca50bb6146b2bceaf8763b07e5aab8d0110abb27e011bb6f648b3c541e943a08746cbb0e2b8f3c6836c9bda6eae93e2bb0653f04079e3cb199ddbdb483fa3eaf31583fcb679d3cd5e9d2bdf6baff3e3a39323f3b30a43c4d4ccbbdf673f23e8f8e053f0d0ba63c0ed7c2bd1503dd3e5724b13e946fa33c7c9cb2bd43ebb63e5c79343ed50db23c565fadbd47a58a3e1ce5013de197d13c3e319abdf6c22e3e103da9bd75579a3c53a984bdc407ad3d0cea0abebc6823bec32bd53c00000000000000004c4f29be9966d53c0000000000000000fc6c07be11f28a3c00000000000000003043cebdae644c3c0000000000000000404d8fbd7f4f023c0000000000000000e3a20fbd8da5403b000000000000000080b2b1bba91219bb00000000000000001314c23c8e5afdbb0000000000000000aa92c23cf45858bb000000000000000064ce9c3a06ee1dbba7ea78bada20ac3c779371bafad95a3becfc903b790d2b3df74293396322423bae87123cf91e2c3de3f942bb40fdc93bddfe363c5e8d243d75f139bb0bc5c43b8e00303ce5b8ee3c0a316cbb46dc0e3cc20b003c4982bd3ce7857bbb5686053c51c59f3be0943a3cdacf98bbf5271b3cac9955bb0ce69d3b289d57bb03869d3bf85da3bb699a6cba7ab67ebb9c1695bb696d543cd9c524bdd40f2dbc00e459bb61bd693c9fb526bd2f34c1bbb68eb1bbdb5e3d3c5c6316bd54c1e0bba7ed3dbbb76e633c438a15bdcc6a99bb75eb70bb7e1e433c32c203bd2dc39fbb52b609bbc9293e3c6ce1e5bc4736e3bab2fbc8ba2c83223c6a60b4bcaeb7543a398600bbd5c2d03b290b29bcb6b196b7d6fd23ba2e97a03bb39682bbd1e25f3da51e10be310b113d0417c1bbfc9d8f3c100c5cbe2055653d43e22fbc47a24abc994057bef11a2e3d8ba1afbb3150eabc29ad44beb92b253d758ffcbbaef506bd22d612bee00fe83c82c223bbe80218bdbe5ccbbd4d04c03c33f18dbbc7bfedbcd40d49bd3961713c88718abba9d186bc61efafba0ae3a7bab48227bad77bac39e1d4a03c3058513a0b9885bb62d11f3c99da5ebd8d696e3eaa418d3f7065333c6e8f71bdb1a2843e9b8f883f06a3463c75a47bbd5fca933ead54643f74ad323cec0574bd24fe933e5159333f84a93b3c18346abd2c4a8a3e0bb3f83e0a4d443c9cdb68bd60c1773e54768f3e050b413c791354bde94c3f3e29fcd03d0902673cba1553bda580043e104982bd253b4a3c257933bd4c73803de5af12be2af637be369bf33c00000000000000009f8043be11c0e73c0000000000000000a71f1cbeea8daa3c00000000000000001653f9bdb937863c0000000000000000d62bafbd2d5c0f3c0000000000000000f6344abde86beb3a00000000000000002165a1bc11739eba0000000000000000f1c7d73c512a3dbc00000000000000000a4f0d3d2c77f9bb0000000000000000c28df239690aabb9051787b9b9ded63c202108bb16774c3a5dcc153c937e4d3d79fec8ba98c6dc3ae940573c60ab4f3d427fc8ba8373103b3df85f3cba5b3d3d13c6d1ba4114563b4bd2553ce3f8103dc0ce08bbebb8603bae4a273c7df9d93ca1d7dcba239c823b9e0eb03ba83c7a3cd4b01cbb42d7873b9df8f3bad5484e3b66c50bbb30b0863b01be84bb8b5852bbd98595bbb4b973bb03cd613b0e9f74bcf7aa81bc27eb11bb7653b53b9ea96dbca68042bc55c34abbe8ceae3b03d785bc94fff4bb59d44dbb6eb3993bcc1771bcd0c6afbb47650dbbd8a9b13b0cd886bcbd949bbbab4eb3bae9f69f3b2f9b58bc8c8447bb5c8bec37ad6b393b913713bcf7736f3adfd18b3af233a33aeae081bb472c483a82ba013ad8d4e93a325e29baf007d33cc8a820bea8fc043d5e66edbb25e1a43b37ce75be6a258c3d6b5862bc4c9d88bc77647ebe5c4b5f3d998e07bc3d46f3bc9f6362be0e68303d2361ecbb5027f9bc09fd34be20e90b3d82b0b6bb97faecbc2671fdbdf50bd53cce14b8bbce1bb3bcdba982bd866f4d3c35fb74bb757fcebb9954f5bb3fe627bbebef28bbca07993a7703c63c7a08f0b90bfe7fbb08261d3bf16836bc048cc13cee1eab3fb42b433bca1c5dbc5182623da64c9e3f9524593b4db790bc73e0c43d48cb893f04d48d3b8ed4aabcaeadf23dca0d5c3fcfe07f3bbc68aabce1f4ff3d6c801f3f7fd4943b2de3a3bc0c9beb3dbfe3c43e13e9b23bab35a7bc1c30c83d4431223e7583a33baaf790bceae7863d91d111bd3a99713b8f9880bc9a33e63c7bc41abe66dd3ebe3b57f23c000000000000000031243dbe6970e23c000000000000000000ed1fbeddc1a23c0000000000000000a29e01be61097c3c0000000000000000a8f6c1bd924a173c000000000000000054206ebd862c823b0000000000000000ac8892bc235763bb00000000000000004102053dd02f5fbc00000000000000005bddea3c488f05bc0000000000000000000000000000000000000000000000001eacb8ba68d7e13af8d0ca3baee0293dae73c1ba7079c83ade852a3c7eb6323d900b84ba1b56133b28ae203ca690123da99d03bbdcc43f3b83ee263cb7e0fa3c764c98ba6040df3a73bb173cfe84ac3ce2c707ba3372ba3a9f97d33b7a62333ca98653ba93248c3a12644f3bb443523b0000000000000000000000000000000000000000000000000000000000000000994e9bbbf43436bbc4ef5cbb7056dd3b651d57bb941e50bb402421bbe4b48d3bbb1180b9f32130bb2c9bc3b96c2769b97d9e32bafa06e0ba4681f639dd4e5ebb7d9683bad8b2a5b9cfde93396585eab94ef518397d49963afc4100bb19f2c939ac2b3539a4b1623acbe499b6d27adb3a0000000000000000000000000000000000000000000000000000000000000000bf1ca2bc1f3957be162de43c1142b6bb18eddebcb1f758beba95de3c605d83bbab0e00bdba4042be8047963cebf1c8ba9b9607bd73e720be8a287e3c11252dbbf19fe8bc025ae8bd24b8663c49ca24bbf97a9abcb79886bd8029273c3d119fbb057625bc67a781bc13fe7b3b4d7e2abb000000000000000000000000000000000000000000000000000000000000803fe611edbaee608a3c02d2aebd257bab3fcf550dba65832e3ce47b01bd0b818e3f248ebfbaf7e8f93bdb218bbb7f646a3f7cee49bbb032323c0387223c1747313f0d2d24bbfb15ac3bb743a43cdf82ec3e19942bba7723c83bb4ce6d3c21f5703e519991bbf3e9103c1f52b73be903b33c000000000000000000000000000000000000000000000000000000000000000026b502bedf847d3c00000000000000004861cdbd31d0263c0000000000000000aac0b6bd6177d53b000000000000000006619cbd1079dd3b0000000000000000c8886ebd492d313b0000000000000000d226e4bc1ff7a3b900000000000000000970b7bbde0093bb00000000000000000000000000000000000000000000000000000000000000000000000000000000540d813a37fe27bacb0fcf3bb2c3863c94ad1a3b8a5e74bb52aa473c43596c3c9f0dc83a0ab3bbbbddd9083c511c653c7e7a233bf322c5bbccf9133c2e423f3cc858323b0fdba3bb1f7c193ce968e23b924b463be1c8b3bb7c83453cc945163b37d2543b028665bb7e90223ca5fa3ebb00000000000000000000000000000000000000000000000000000000000000000941d0bb034c023b7894fe39ad8310bcd4faeebb65d5c53a61ea41bb051ca4bb3798a6bbf84cba3a5e62cdbbfaa38b3b0599afbb9adfae3a5e1711bc785eca3b66d681bb03d9e83aedab15bc91788d3b655541bbfc70493a3045d5bb7013433a9c53a2ba734e1c3a2d02bcbb697cf63a0000000000000000000000000000000000000000000000000000000000000000ecace8bdb16d9fbcc6053539664ea43a3ee901be83b51abc744e8cb9c1112b3bd922f7bd2725f9bbc038153a0f99483a9bcddebded1b1ebb78d32a3a5f06e33a86e7bdbd369d9c3bda7475b960fd213aec3391bdea66523c5ad991bb96fd0f3b76f035bdebf4973c32c8c0bb4e89103b0000000000000000000000000000000000000000000000000000803f000000002dcd533c418b83bdabae993f96aeb0bd6672513cf4ea0cbd6c6f823fccb7a6bd4d4d243c4cc497bc333d583f058fa1bd6e901b3ce987e3bb55382a3fd6b99ebd855fea3bcd8b8739dd5ef53e22f193bd794ffe3badc915bb225a953e92f370bd1328ae3b799878bb5140e03d55504abd0000000000000000000000000000000000000000000000000000000000000000c066b73c9992c7bb0000000000000000deeab13c706fbcbb000000000000000088e09d3cf4adb2bb000000000000000023648d3cd1f3b9bb0000000000000000fe708b3c9463b6bb0000000000000000e2453f3c8b7ee9ba0000000000000000b8a7413c6b269eba000000000000000000000000000000000000000000000000dc5119bb9156ef3b140d5fbb474e473c5d535e3a5ecc1a3b1e90163c0de2a23ca110473a52850b3b46a1443c5e2ea63c48fc87397b14213b0cb8263c0d629a3ced537bb8c9404b3abc69043c6543713c8b01903a62b438396dd7223c8d80333c2ec96d3a615abc3ad57b243cac20a93b79954c3acc3374b84999233c542a46bbe3b73e3a2882953a3f1f043b3925ceba2b5788bb4e868d3a2e74463c87e739bde4c929bcdf8eeb3a786a8f3c55cd49bd85c12cbc2358163bcff4df3bc85709bd44180bbc4c97e23ac0b0b43918b6a9bce254eabb5393b23a70c57dbbf3052fbc4fd2dabba0851f3aa690bebbcb34b5bbf7f0a7bb5d3fa13a0356a5bb40a193bbd66402bb89616d392f793abb8caa98ba36a9d7bae5be853a202bb4bb3679c13bf5d037bc35585fbdaa81273c4e28b1ba8fbba6bdf92732bdff46db3b45e03b3b8067e3bdac8b22bdffdef23b3bd2f03a9f3df0bd4df9febca7aaa23b5400df3a0fefd9bd9c3d9bbc15529d3b2a00d73a0597c2bdadaebabb00a67e3a6d416b3b6d5f96bdecf6963b11cc3eb92143023b754c2dbd58588f3cc23192bb15ae323bc31e86bc0f688a3ce92250bbaab0ad3a50f5cf3c68b201be37b6993ff379753df302da3c9adefcbdcd3c953fced3a13cdd2cdc3c82efccbddbac843f5321d3baf75cdc3cf6f1a5bda1c75f3fec74b4bc9106c63c96a388bdb08b313f3e4b30bd9192c93c59c276bd448d043ffda56bbd2e4bd63cb93870bdc1f9ab3e1f7789bd5192e63c6d997bbd711d1a3e853183bd6e9b863cac0a34bd20284a3ce5ed86bda3f3c9bb5d2b1dbb00000000000000006f3af53becd2d5bb0000000000000000041e093cf080eabb00000000000000009368423cfb04d9bb0000000000000000b5ae5b3c850fe3bb00000000000000001b9c623ceec4c6bb0000000000000000097f803ce404a9bb0000000000000000d7945f3c8f53caba00000000000000005724833cdd8a92bb0000000000000000ee6a7abb58f6d43b6607e2bbf12c223cda2305b9a8a0c23bbcc8febb558cc33c6e9da4bbaa69f93b75110ebcee40ae3c8b401abbcee9b43b0a5e6abbeaa6cb3ca55848bbc37cb63b5a7884bbb160973cf9fc3fbbcb35df3b68c410bb6548913c822e5ebbc389be3b3f3a3cbbd03b3b3cbd7aa0ba2923733b66bf73ba1907df3b9e6326bb1501cc3b03a02ebb4cd1393bc65297ba281fd3b71686bc3c91368ebd8298dfbbfa3a813aeff5c93c2f8995bd5fbea6bb1cb6973a092a563c0f012abd8944fabbdd42cc3a8c74323ca6421bbd8a5ceabbb19b833a461a1b3be99da5bc98f2f9bb97e2f03a3fb2923a68397bbcc6acafbbfbcdb03aa8541ebb38aa58bb3435a8bb740ef23a72400dba95fbe3baf8b172bb477b823a4cd690bb40c0af3b9320503d53ac99bd8893653cab3a4abb027174bbb979b3bd31a19d3ca5b743bbcd2be3bc83589ebdb7f3853c80875cbb75057dbd332d87bd07d3703c4ae3ebba108671bd680941bd488a553cfc4f48ba385285bdf51cfabc2928243c3ca872b91a9d46bdf28a8dbcfca5093c3582dab9c58719bd615dad3b9021fb390a54113a14b45ebc7daa0f3c0cae9d3a0a9f473af004d43cbc2604be3b02813fc4b5723ec90af13c3afb12bedcbd823f213c353ead6cde3cb0a7f2bd06ab623f9faa093e95ed063db0e7f2bd97994f3fa979913d9fd7053d8341d2bd5eb5273ffe33d53c3dd90c3dd0c8cdbdda72053f635ba6bc9855e33c30ecaabdfb4fb63ee61035bdd731143db9aac1bd89725a3eed2fa4bd2d77d03cc0ad95bd506d943d3fe1b1bd191a1bbdc7a51b3b0000000000000000a5f3d2bc100366bb00000000000000001b219ebc976914bb00000000000000003702f1bbd914dfbb0000000000000000df00a5ba31d8b6bb00000000000000002857e83b290710bc0000000000000000c828063c399ef9bb0000000000000000cb5c9c3c95d9f4bb0000000000000000fb65983cd479cdbb00000000000000002d6f27bb5ef1913b6fe30abc39f1b43b55206fba8283a73bba2082bc96f9d13c541a0ebbc2ddf13b4af970bcd65ff03c82757abb5bb1043ce95847bc531fde3c48279abb15e00b3c703267bcfacde23c49e1afbb0876303c62c037bc35dab43c22b577bb5de91b3cba5c05bc179c903c7e8b93bbc2c6083cfb25d3bb6c6a403cc2ac7cbb795c1f3c8f541abce38bfd3b32321a3bd2a6f5ba4cfba13cb8c699bd636a69bb089a813abc91df3c2f5faabd013cbfbbabe5c8397936a93c4c3b84bde4e3b5bb8af9983a264a703cbf1b4abd5e7ed6bbaa97cf3a56c9283c3e2e0fbd8ac1ffbb5507c83a4250d53b1211cbbc9a3a07bcbebc1b3be97a573b0aa878bcadb3eebbb75e0f3b14bcdd3a82a2d2bb4b8eadbbc211e43a430599bb5887d83b16f6b83dfe52c2bd95fd763cf98d87bb66bd583ddf86f3bda6a2c93c696efebbd779fa3b9a5de6bdb9c8c33cdfb092bb7e528bbcb07dc4bdd07caf3cefca9abbfe2be3bc7eed9dbd9fbf983c617d90bb31ea1abdccba57bd1602853c572ed1bad0f91cbd29b4eebc7a394f3ca7ffb0ba3ac7f8bc63cc99bb9636d53b71758a3699f267bc8037263b2136d93b8efbdbba8cf1cf3c9a14f2bda7b3513f3dabd73eed27ee3c5a8d0cbe3571563f188fb63e2767fd3c89e805be1ceb493f2d7a8c3e2da9003d3345f9bd71c8333f6006443e78d10c3d7952f3bd57b3193f3217e43dd1de113d969ae6bd8ebdf83eb3a51e3d166e153da7d8dfbdb0f4ba3e8dc4e5bcc7361c3d54ebd9bd9b63743e08b4a3bd2e3ec63caa1da1bd7e28e63d2de2cfbda3c48abdf139253c000000000000000074aa76bd26ce353b00000000000000002d102dbd43961dbb0000000000000000529fedbc232688bb00000000000000004ba096bc3e6bc8bb0000000000000000548edfbbf6430fbc0000000000000000a9f8dc3b2a322cbc0000000000000000b0898d3cfd3628bc00000000000000006777733c2294dcbb0000000000000000ae99c7baca26043a3948aabb5f4d8b3beef47eb98996723a08f090bc025eb73c5e0c62bbe6b5f83bcb788fbc2285c33cef936ebb1b9be33b8f9a91bcb3e3e23c7322ddbb96062f3cbd4d89bc51407e3cb7939ebb1dfa213c54a382bcb249cf3cd105bbbb4960163cfc9751bcc30d903cc6d097bb7a5b303ce41144bc057c7a3c9881b0bb4257313c81862fbc306a153c1a4a873b11ebe9bad005b43ca3a5a0bd0fcb813a8ec89eba1e50df3ca014a7bd2886fcba4bed82b9d72c9c3c0ca080bd54f076bb786eecb97eaa973c4a566cbd40038eba1d26a4b9578ec23b16b5fbbc67e8f1bb7fc6023bb253313ce85806bdbb64cabbcb680439cf6aaf3b5df593bc156afabb1983263bb4218b3b6dee38bcf7bfb9bbff798e3aff67cebaf13bbc3a42ceda3d7ecad3bdcd27423c428cb3bb9682ac3d34250fbe9765de3c98b11abc24b92c3da3e302be4350b73c5683d0bb973f993c3160f8bdfe3ce33ca7a2ddbb1b90453c0c61b2bd43a7883c39ae87bbadc759bc736b95bd5e40b63c5f85c9bbd02b82bc49fb32bdb161663cd70c26ba354fb0bc6f4773bc347e3b3c93590fbb27000abc4b7781bbff69263c5ffbf1bac438a93cbaa7cebd2b47213f74a31c3f7bf3bd3cda32eebd8375243f841e0c3fef35be3c82fbdcbd67fb1b3fe8fae03eadc4ed3c4a4de9bd13ae123f6663a83e8e61c53c4340bebde9d0ed3e64656a3efa58053d7af1e2bd60eadb3e073fe43d5312f63cbc6dccbdcb70a53e9539bb3cbcc70f3d516cd5bd8393713e98e281bd3258c63cb3a8a7bd1376013e37c0d7bd9e97c0bd8d8b873c000000000000000060f6babd9c69153c0000000000000000c52790bd7cdfc03b000000000000000020fc6bbda263aa3a0000000000000000015c2fbd99d5893b00000000000000009cabbebcb4dfa7bb0000000000000000ba7f02bc15f5c6bb0000000000000000a4bd383c428548bc00000000000000009500323ca0d1e9bb00000000000000006b6c3c3a0fbe2dbb9be958bb50bb7d3983df103b4ba8a5391b398fbcb7a2c23cf028cab83190943bfcd0a6bcb403f93cfc95d4ba6e28c13bee6999bcf07eed3c464f39bb075de93bfab9a0bc023ef03c359986bbd0d8123c871683bc82a6e03caa3791bb693b3d3cb61376bc4dcbbb3c2a79a0bbdf2e283c22f340bc6c05923c540760bb4d391f3c0de442bc612d363c9d2bf93b102d54bb02a8a73c0d2395bd6c7ef13a8d74e6bace38d43c90dba2bddbf8fbb9db4041bae5a3ab3c5d1d8ebd51e038bbbab3993846b8943cec656dbdfb21a0bb75794ab986da833cceb048bd3378c4bb7ca75d3ac3855d3c600916bd1b3413bca012c13a1805383c9f3ee7bc8ffe26bc4053523b3912153c033c86bc5ea5cbbb312ac23a17ad21393d647bbb2bbdd83dcf10dabdb192323c8b47babba72db73d38941dbe6257d93c6b702cbc3b2b723dac9d20be8eace03cca421dbc4a5c153d65310fbe3d85db3cbd4403bc6188a63c7645f4bdf48adb3c3580d0bba35fed3aa5d9b6bd95c5bb3c1ab3adbba4aa22bc0a0d68bdb9a3a43ce69a1fbbbc747abc66a5b6bcc34d713c834520bbfc196bbbdcccf4bb93fb3c3c81af41bbae90633c1a0298bd4fa3e03ea3884d3f76ff4b3c87d5a8bd058ce63e584e3f3f50a9993c5fbbb4bd0e48e73e678a1e3f2e7baf3c9315b6bdad07db3ec974f43ee9afca3c91f3bebdcc30c93e4b3cac3ed206cb3cae04c0bdf5b3ae3eb76b4a3e3c1fde3cf98ac2bddea78f3ed9c98a3d74a6ee3c5c65c0bdf31f553eea452bbdcc6db63cebcd99bd7805fa3d72bdd2bde75fe7bd2164a13c00000000000000008e31f0bd90e36f3c000000000000000079e2c7bd7b101a3c000000000000000035df9fbdf999a43b000000000000000062b673bd03959e3a0000000000000000e6bd1ebd80f75fbb0000000000000000b04e8bbcafb80ebc0000000000000000a923963b5c0b52bc0000000000000000cf1da83bcac1d2bb00000000000000001b20243b11e6a8bb5f7b2ebbb7d7cb3bde69333b2ca166ba053977bc49a1d43cb382783aee3bbb3a3db24ebc8631a13c9bb2bb39321e533b9c2089bcc304053d02c8c8ba7607963bc89987bcc46bcd3ca7e1c3ba5d6fe13b7c2572bccb3fe13cd07983bba98fea3b543a5bbc9252a33c192e2abb2b8f153c69722cbc3509913c6bfc7dbb1b8c143c0ab51fbc787b3c3c627cde3b931e42bb9235883cc22c64bdd268553bfb60d1ba6a428f3cf04473bd9c66923bbd7a0abbdb61743cd23055bd7df1a9ba9f06b1b920e7893cb0b254bdd93f44bae28614393521703c6ea22dbd26d2c5bbbb839a3a5e4b5e3c06ff17bd9dfb9dbb0d8b713aa417243c66b0bfbc7e4c18bc6776413b8ec21e3c8ffea5bc30f3f8bb28d9223b71c8963b09b7f4bb4c96a93d500edcbdb08a273cbcbdf8bba9e6943d543729bedeb0d83c724b44bcb273603dc92e1bbe5e2eaa3cedbf19bc8381183dc64623be99a6d83c5ea719bc236ce83cb3c003be4269be3c6fbe05bc8c93193c2828d2bd7212ca3c48f5c5bb9673ac3b515788bd50ac963c8c6fa5bb82ff2cbc5f60dbbca984813c3ec030bbb5339fbbcf51b8bb4f30593cfc2363bb98c9b23b01202fbd1f64803ea0b77e3f897be33b15cb42bd4c88843e6967723f1205353cdd5c54bd7a2d8a3e363a463fdb68443ca7a471bd24f28c3ebb3e223f44804a3c871379bd649c823ea4a0eb3e20108c3cebe288bd4425743e009d953ed351823cfb2681bd3ee1423ecf98183e91f39f3cc0e78bbd99001f3eda5c41bc31a98a3c5a2a71bdf15cc33da1bfcbbda665fcbd1c05b13c00000000000000001e4809bee4b2873c00000000000000005fd9e0bd55a98a3c0000000000000000bb67c2bd76dd0e3c0000000000000000669395bd39eb9b3b0000000000000000405c59bd27cdc8ba0000000000000000612c08bd71b887ba00000000000000002fe235bb8c6146bc0000000000000000e9bdb53b290a10bc00000000000000003d3a4f3be69890bb2968e1ba4440f73bbd15823b7d78e039320128bc530a003d7bdaf93afa73b53ad26245bcfa99063d773e1b3b09aed43ae0905cbcdeef023d1962683a2153063b92993dbcedafe13c38ffd6390edafe3a2ef325bc3c5fd73c73b839ba4801c43b5fa906bc6e8db23cf2849eba60479d3b9c20bdbbb529813cd9922cbbd3a0f83be827c9bb25221b3c1be1d63bfa3622bb0e70203cf00807bdbed74b3bd77443bacab4e63b8642f9bc6fc7c13ad0ba9dba5450203c39180abdcb141b3a28f0bfbac51c153c53bf06bd52a34d3a6ffefbb91c301d3c3165f9bc1e977abb26af5c39bd7c213cd257d6bcba26b5bb71a98f3a5d3f043c27a7b1bcadc419bca0e0693bde1b023c44fd47bcaffeffbbbc8d243ba526dc3be1c91bbc92743e3d1bd5d1bd24bcc63a9892c1bb11b7013d82c92fbe0c70c13cb5c860bc8574f53cba1f39be3b85ac3c749b21bc0603c13c03042abe8402ac3c412400bc0866a83cbf8d10be911ca43c7dfc03bcb1dbf23bc19ee8bdb2b9b83c710dbcbbd32e91ba89599abd5b26a33cc3ba77bb3bcd20bcf408f1bc44ba953c492f55bb2a1f76bb6a329cbbcdd2483cf22e3fbb2e538bb9d23046bc2fc78f3de255983fec9e79bb301c07bc86ccb03dddca8f3feb9aae39075086bc84f2e13d18db753fa270ea3a4931b0bc1e60003e097c453f2e645a3b08b6d0bcf1ca023eca59143fbd986e3b5611edbc1d70f73de730c83e93c7c13b5bcafabcb08fd43d66744f3e7bd4703b8c28f5bc07549f3d26aec53ca6b70a3c7fc60dbd10a35d3d42a1b7bd680a00be6be4a93c00000000000000005f8a06be4c9f9a3c000000000000000021afeabd7bcf793c0000000000000000cd6ecabdbc2f4a3c0000000000000000ed19a8bd5b760d3c000000000000000061ef83bd93252a3b000000000000000044ef21bd31d08abb00000000000000004e9d16bcb91d46bc000000000000000021f8a3bb5299bbbb0000000000000000000000000000000000000000000000002509363b601278baa853e3bb13187e3c067ef73aaba87e3a093123bc3ab4ab3c95c63a3bc4bd37bb73cad5bb78a9623cdd70333b9a8f43bb98b7fabbbb31743c0e459e3aaa384eba6dd0b7bbc70c663cecdaed3a09660539b729dbbb78f67a3c4c6974b93310033a09e31abb99fd123c00000000000000000000000000000000000000000000000000000000000000003894b83b0f39b5ba890c1e3a8dbb0cbc0472c53b6411a5ba7109033b9fca1abc0dbbcd3b130267ba28be613b291d74bcdc5e5c3b838280ba7252bf3b542274bc08894d3a836d4c372bcecf3b84f07dbc515c37bb295f613ae84b8e3b896638bc8bdf6cbbb4338a3a92f9cb3b175f12bc00000000000000000000000000000000000000000000000000000000000000000bdabd3b1bf1f9bde9131fbbdb169dbb1ebfc23b1ac307be844d3d3b2396bdbb38a7193c0aecfbbde978e93aee519abb782f103c5e75e0bd4d96e73b118950bbeedae93b81c7babdb0f2103cbd7205bb2285a53ad74484bd2738413c5d0a16bbbca907bbaa7707bdf501423c164bc6ba000000000000000000000000000000000000000000000000000000000000803f4d59adbbf802793c883e5ebd7260983fb6c995bbd7a1273c5f7899bc776b803f35d70abb266f873b0fa3133b4161533f62b02bbb63e71dbaad64773c252e243f2c5626bb742511bb466bac3c5592e93e0db262bb39ab8939c7378b3c58a28a3e23cc0ebb88d287bbe2d8643c4495b43d000000000000000000000000000000000000000000000000000000000000000056ccb4bd45ff663c00000000000000004a2b99bd3ad6343c00000000000000006c9390bdae652c3c00000000000000001f1789bd0281eb3b0000000000000000675963bdf0f64f3b000000000000000038252abd4455e5b9000000000000000080c8ecbc03dcf2ba00000000000000000000000000000000000000000000000000000000000000000000000000000000d1e651bc6220a23c9384413df88b333bc6ef89bbea1db93cebb62b3d57f1a53b6099553a6806aa3cc1d9183d8985fa3b15f0953a8651ad3c55b9de3c2b3ee13bca5b083bdc168c3ced7b7d3c9016ce3ba3d7ee3aa1b0323c8154df3b703d443b20f761baaf91bf3b1a846bbba2578f3a0000000000000000000000000000000000000000000000000000000000000000364c15bb296b6bbb5899d73bf082fa3a7e491c3bb7b2b1bb66d4b23a1fd96ebc69bfbd3ba6bf90bb42cf80bacb7bc4bc9526f83bb602d0bb4e3c0fbb9828ccbc72c49a3b151c80bb397f92bb35e697bc6620c43b08df24ba1de2ebbb8c4423bc6a3b183bd87deab8cf7201bc3ac10e3b000000000000000000000000000000000000000000000000000000000000000071b080be69ebfb3c5662afb9914186bbe55971be4bcc943cd92c18bbb1080fbbcf9364be3305ae3b6cb508bb79111bbb674f35be5bb3f83ade18b5bb0e2908ba0528f4bd8fcf50bb778c7dbbf80515bae7167ebd3d7bf1bb1076a6bbc24289ba114907bc11af91bb382082bbc52e413a0000000000000000000000000000000000000000000000000000803f000000001ae2a33c45daf2bd1be5ae3fcb050fbe316bc83b666f64bdf743903fa8e1c2bdab867c3b417b0bbdfa61733f514eaabdaa01553a4ec814bc00fa333f64fd7cbd4ce570bb095f1c3c7d30e43edea806bd9abbd3ba590aac3c2c815d3ec14a66bba39d903a4e86b43c6fb952bcfed4a63c0000000000000000000000000000000000000000000000000000000000000000cf2ff33c0cb88ebb00000000000000002e15a53cc1ba283a00000000000000007ccb823c0200e93a0000000000000000a478793cb568573b0000000000000000535c1d3cf38e803b00000000000000006d80053b40b65c3b0000000000000000fa48d9bacd31343a000000000000000000000000000000000000000000000000515b52bc4032753c5d38963c9d64253bf6504bbc5878c33c2a58fb3c8f4d3b3b82d9ecbb4335ee3c67b71d3da6b2233c31c651bb3ca6f43c1206083dc0126c3c2e5fc7ba4b36e03ce3c0d83c71a5063c58d120b9fa52cd3c64da2e3c1a531b3cb82667bb5db9963c3473733b0653ea3b4cd374bb20c94a3c0fd78dbb2157103bb3d8e6bb6b96af3b40b513bcdd55c4ba5bf4c6bbc83966bb2bd9733cfa831abc8e4a4cbb11b46ebbebb33a3c8b0e4fbc1424ceb91d4cf7bb40a5343c4377efbce9de213b4d3412bc0119fd3bf09d02bdc3e5933b9cdbc5bb8946583bf7c602bd5cdee83b0856ecbbcbcc8abac6f8b7bc81888b3b4e36b3bbe4220bbbc68f3fbca7e63f3b96a2bcbacfb702bcad39993911e52c3ac913a1bac5a3d7bb53e76b3c80e4fbbda5ef843c883b64ba9b3f6abac22738be11987a3cca53cfbb10c9063a3cd26cbe4412ce3bcfbaa5bbf13c1a3a688964be4fd26739d8f6dcbb091b483ad77338be0ababbbb967567bba23f96ba629503becaa127bcec5ed2bbbb1a1c3a49688fbd929f29bc751a9ebb2b09d13a7a6fb9bc2c3a01bc22f04abb8ed5933a977c7b3c0fa0a73aa65395bb78c6403b22ae483d420c6bbe4292ae3f2747ebbbddf3113dda7e31be4fbc9b3fcd02f23ba130cf3cfa0616bee68d933f62869dbc9ffa913c2853eabd714a773fda70b4bc93755d3cf22ca2bd48403c3fc7fe91bc3da5233c3bf33fbd8be4f83e93d048bb1db40e3c0c40c5bce0fa793edc2eeb3b9763da3b1a4a5c39b99f693d463aa33c435b813c06a4fcbbb7c6e6bd3b02a83cae84933af3f3efba0000000000000000417cd1b9f2f8fa3a00000000000000006b2d5d3bd993973b00000000000000007391bd3bb818e33b0000000000000000c739de3b919baa3b00000000000000005727aa3a2f56fe3b00000000000000000d470abb25e4da3b0000000000000000fc90d2bbf39ec63b0000000000000000ae7785bb9aa4d2390000000000000000af8596bba1d30c3c6614053cf0e0a13b04b116bc620bc83c657ca43c07a1463c20728fbb4114ea3c07c9d53cc737873cbe1d2bbb5200053d0cecb43c4293793c86aee2ba2f7bdf3c18c67d3c36cb5c3c338d63bbac2ce73ceb770c3ca2c03a3cece796bbe68ea63c3aa0b7b81215a83b291f07bcf9f1743c091ff8bb591e373b6314f9bb4845233c42e224bcc8332739293f12bccb5a40bbd55f7f3c2891f5bc174aa3bb211eb1bb91eb903c8a1a1cbd2b964bbb8dd3febb5eea8a3ce78a3dbd7552263bac9d1cbcdb516f3c872948bdb7e5373b25dd03bcdd60253c77532cbdd207b03b34a7fcbb94457f3b3fb4e3bcbe5da63b7e91eabb06a047b8ca7370bc6c1e2f3b06c375bbab7e2fbbed32b1ba321e27ba4a43bbba2be66fbbee9feb3b3ddb39bd682e1bbc9db932baf8984e3b3e5210bef7e69dbc1e042cbbffbe2b3be31f3ebe642b99bc48b4afbb07ff1b3b61163fbe0efd9dbc872bcdbb53ce2f3bff8e1fbe0f4084bc4a9500bc454f4a3b6ec6f5bda81981bc590a1cbcec5f1c3b26a68abd0c80febbb626f8bb1fd74d3bd9e2cdbc33a6e2ba3679afbb0b9d173bb97d003bca01e03b432f4dbbff72b03aedd73c3da8d85cbe163d8f3fa134533e7473353df2455dbe8aae923f683f233ebd5e093d34cc3fbe8110893fa1c3de3d7a3dce3cd53720be0a006c3fdbb9913d195cbc3c8fa1f5bd28b5373fe36a2f3dc1b2963cf580bbbdfb05fe3edd5ef53ca2b2a53c65b16fbdc8df893e00234e3c827aa83c270511bdb530ab3d8c43bd3b124e993c8332dbbc3af808bd803a0cbca94239bd2740a83b0000000000000000866915bd167a123c0000000000000000f62bafbc907b283c0000000000000000783467bc8189283c00000000000000001fd808bc9b75233c00000000000000008680debbdfcf603c0000000000000000b9a04cbbf0a2053c0000000000000000a463cbbbd75eec3b0000000000000000ee0234bb49bea23b0000000000000000e282ffbaef86a63b2e1de83b7ab45c3c628562bb0d008a3c8736823c4adb933ccd5803bbb38bba3cb602b33cfc1dad3ce536dc3a59f0dc3c0b74823cce749e3cc848973abb56dc3ceed3413cfe9f7f3c72415fbae00ac83c8b06843bc43a4b3c6f969ebbab46a83c167a42bbdac5d53b6472d7bba107813c9326f8bb545d0f3a9ab818bcad8c123c652029bc70d682ba071a2fbcc40e90bbc285973c3c043dbd44e90bbc8f2df5bb5decae3c8a5546bde6c521bb95f90dbc4463a23cba1067bdb3e4443a7f710bbc53fb833cf30a6bbd10de643b3cb22abc63ed683c4dcf46bdb70b413b2c280cbc04c81f3c2b6724bd8182793b7a41c7bb8733ba3b8abac3bc6b54243b276ddcbb0890df3aacb303bcf6932f3991fd88bbe203823a62eb433bfd897dbc0a8832bdadf59c3be7bb993be159bfbdcbcc77bd8b3c903be7d3b43b248a0ebe394778bd259ae9b9c58e9b3bbf6e15be61544bbd9538cabb627d463b653208bed0ee1abd27af0cbc1e1d833b48e9cebdf756b9bc052c0dbcf483743b3dab7bbda78b3cbcf0db12bcb6680a3b42bfddbcd32cb23a2b96a1bbcf375a3b2e042c3b238c443c76c49bbbc29b8a3bf9d11e3dfda04bbe130c703f8e94dc3ea382263d115c53be3bbe733f1b3ec43e9f57023d14ce3cbe1a15693f4b79983ed1d2ca3c96d91fbe2d7a4d3f7035543e9df5b63cd4b108bebf5c273f91c0053eb7ef983cf817c8bdcfd8ee3ede13993d3e7ea13cac2596bdef8a8d3ea962d43cd1f69d3c5ef848bd4b47e63d686250bc9dc7a93c7a1a2cbdb824dcba6bbb30bd351bcabd8eb7903c0000000000000000d7b8b9bd3a799d3c0000000000000000ba2187bdf8bc943c0000000000000000ceba2bbd3fdf893c0000000000000000ae98c3bc57748c3c00000000000000001ded86bc8d5e813c00000000000000001958e4bbe50c433c0000000000000000656590ba31b8243c0000000000000000b3526e3bc39bc53b0000000000000000d0e62d3b0d82ffb9b5538a3b5963703c741cf03977960f3c8aa96f3cc1c7ce3c8308943a2b2e8f3ca2f36f3c3f48d43c37ae293b1b8aad3c09357e3cc1d1d83c5f16183b1aaaa03c3ea60d3c17c7953ce3b48c39c7f1c33caa941a3b23f35c3cc8b60eba9f81933c509579bbeddceb3b0bbf9bbb4ad45c3c9d48e4bbfdf5643a9220b9bb7c3e273ca3d83dbca19a29bbcc1a2ebc99bf3bbbfe0e863c168f44bda25d0abc11dcc3bb1e438d3c6cde47bd3f4661bb222505bcd7867d3cfc9554bddb865dbafd981cbcc196883c12dc6abdf0fbb0ba2e90f0bb45e83a3ccf3a58bd2f29473bfed02abc9f5d2c3c8c632ebd14e97e3a9576febb8228ab3b845aefbcce6316ba3940d3bb521b3d3b698c60bc854f78392bd0b0bbab9c7b3a3df449bb85417b3c87029ebdc243253cbb6baf3b12f956bdecb5ddbdcf41443c86d8b03b05e0bfbd3517e2bd2de2ca3b68b3b33b52d8e5bd4cdabbbd46ccd83970519c3b6054b7bdc6527dbd89f479bbe3ec3b3bf41eabbd0d3718bdd0a0febba698283b8ee950bd418d3fbcc8de05bcd6d3803bb9a9bfbc0743cc3b8faeb0bb8880e33a42f885bac664933c98c03ebb00a32c3bde92e73c32d620bee8c2303f6e39303fd0e5f33c28bf28be3b9e373f2094203f4eb7cb3cffc61bbee577333f287c053fa2dda73c744b0dbe5ec1243fbdd3c13e4e5c613c3dd6d4bda2ff053f724a7c3ef47b8e3ced8ac4bdb653d23ebf54033e035b8d3c08638dbd9a33833e45e21c3d0d4d9c3c107450bdcf89fe3d0de4ecbc91dca73cb8a723bd2327cd3cb0f19abdb07a1abee4ebcb3c0000000000000000608811be5e13ed3c0000000000000000eb14e3bd3a43d33c00000000000000005b4d9dbd68adcd3c0000000000000000ad9f3fbd3569ac3c000000000000000080dec8bc71dab13c00000000000000007aa401bc0dd5693c00000000000000007548a43bcefe493c0000000000000000faff233c2697fc3b00000000000000007fb61c3bc9696fbb5a3ea53bf2ba8b3c5660043b029c8f3bce673c3c52baeb3cd39fac3a13c8373c440d7b3ca72e063d6df68d3be8cd713ccc65193c131ef23c790e8b3b2c3b923c18f5f43b1c11b63c086fb13ad7679c3c6d7a783b2bbd713ce56a0f3a42688c3cc75d61bb4e19063cfe3c63bb9ecd463c44f4a2bbccd5213aabbe75bb985ef03ba2be2cbc6e3fd23af4a807bc77356cbb81fa423c4f2b1fbd2a8cafbb9725e3bb021f723c1c1232bde00c0dbb1f730fbc04b0613c2f7432bd39b4693aafa204bc47f6553cf88844bd09eefe3a4e70fabb94604a3c19364ebdb5d7ab3a39befebbcfea263c11d326bdcf45753af7b2f1bb7ec7e33b996500bdc62d0e39acb3d8bb7fbe9f3b21598fbc0cec11bb3d7182bbd1fc153b775cf3bb4568023de044d6bdd111713cc017153c59c0acbc75f71fbe0b16c43c7264ba3b9a6569bd773724bec8b2643ccab8f43b0f4d91bdbebc09bee6911d3b6d33c83beb3b96bd57cec7bdfe1def3a831c0f3b60fc86bdf40161bdb7bce2bbcc25273bb15c3bbdda7da2bcaf1b06bc0143193b4d1dbfbca682e03bdf26a9bb097be639eae296bac03fa33c852b32bbcb3e463afb90923c7d8cd6bd48c8de3e234b6f3f2e8e9d3cfb6aecbd8131f13e2e6a603fdc129b3c1d99e5bd1a4bf13e3ca03e3f3303583ca215d4bd4704e53eed57113f3d59593c5760bdbd5a13cd3efa2cc23e1e88433c88de9fbd432ba63ea404543eaf8f503c20347dbddc4c673eccd0893d8afd7b3cb8593bbde070fb3d331d07bd60fe453c623508bd1010273db5a1cebdf4d546beb981053d0000000000000000cd2445be4cef263d0000000000000000e91c1dbe93530f3d00000000000000003b24dfbda0cdef3c000000000000000081978fbdb26dc63c0000000000000000eae606bd4b0fb33c0000000000000000be0d0cbc493e8c3c000000000000000035180d3c70d62b3c00000000000000006c87733c512e083c00000000000000000aa22b3bf076c4bb1cfb923ba2938d3cdf7d9a3a07eaefb8837e233c8add073da6ce353bcdec853beb59613c160e1f3d4221603bba51283c86ec333c1692063d5a067d3b7657263c51d9133c712aca3cdae7543b195e4f3c42a87e3b01df9d3c0337333b69c0283c691aadb9df970d3c35fc1d3ae3c2243ceb1e4fbbc933d939cbc0f7ba75ccd43b1b45f9bb3ba90fbb3151d7bbe7eaa7bb6969043c8128dabc994a05bbbcd425bc3dce233cacecdcbce88a533922cf16bcbdc00b3cede7f5bc97c4053b4143d7bbff660c3c6de805bd403c153be5bc06bc6a70fb3b1de401bd9bdd8eba81e4b1bbd28ee93b5c1100bddd0860398738c5bbeb05983bd443d6bc18d3f3badd40b2bb9b54583b6a0486bcf5aec8ba2aa037bb7573ca3aadbefebb436a123ddaabf1bde600e73c70ef823b204d5a3adf0147be48d8003df7c3b63bfcb5eebc303b57be1702ce3c3a65ab3b250438bdd19b38be4523533c9df4313bc04440bd4f240bbeec93d13b8b2e243a76a03fbddd95a4bdc1740e390be5b739f2f404bdcead02bda0079dbb210ae7ba617d9fbcb28a803bda7b26bbba923cba99860e3a8cf6bf3c937049bb28e9f8b9d648083cd3d853bd8bad533ea0dd8e3f5ead063ce1f174bdcaf9683e291e8c3f4bd7db3b49457dbd12847d3e23df743f2355913bd23476bd5a057f3e54f13f3f355f983bd2885abdb2976e3edca7063f4ffd9d3bbba350bd0de3583ec4ef9a3e00c1d03b65de26bd40ed243e3843e13d9482f23be9defebc9530cd3d1b20e3bc49ae0f3c644ebcbc7efa253db3e3e5bd1cd358be9df92a3d00000000000000007d865dbea9b2393d00000000000000007eb238bef604213d000000000000000001fd06be9d9a0e3d00000000000000006854b2bdc28df63c000000000000000005ac40bd56fdc13c0000000000000000f4c917bcfdc2853c00000000000000001a74573cf142003c00000000000000005b6cca3c2bc7423b0000000000000000b55aaebad4d3b5bb39ab613b6eb8cf3c63f7adba821391bb81b60d3ccd33303d7d9300ba3cc36f3a32ce513c2170433d88c69d3a9909923b17bd4f3c60fd2a3df9ed5f3bf3bfaf3b8a284d3c9513f03ca94d2a3b3e2df93b7498dc3b318ca53c029dfc3ae346043c96663f3ba2c61a3cfc0e573acbcdde3bb6c67c3ac55ea5b9f7922436ab977e3b069f99bb0e1bb8bbd8509cba43fc02bc06bc803b0f2698bbc87354bb078620bcacbeaf3b98ad29bc235c403bbdbdf4bb862ca33bcd8118bce4a07c3bbfd4c8bb21a48b3b4b1b65bc654f603bc76063bbc87e723b021082bca942793bd4d7b0bb7199e43af65474bcc911f33a69a91dbbc357533b13f18abc430dffb99caa3dba88c10b3b1b8058bc9d9f37bb55911cbbac2e8c3812b0c2bb343ecf3c9f2727be8475233d7f88213b7b0e0d3cf69f58be760d393dedb22cbb6e5aa3bc9b2078bee1b1de3c64caf0b99375fcbc7ded60bec75c9f3cd20617bac0020cbdebd929bef6fdf73b86271fbb1d2c0dbdc202dbbd6e398eb84c5376bbd276d6bc356d3ebd0684bcbb30e868bb74a284bcea5bd8bab15206bc5eeb8abbc159703b268afc3c0893403a712d8bbb386855bb48c2b5bb99f8f9bb094cae3fb0654fbb35418cbc7ece523d39c0983f7a4f26bb9645a1bc34ce863d37de8c3fbb972fbb6a81bebc358fb13d0641633f2cb96bbb21f8b9bc5c6dc73d50d5233fafe6edba9c52acbcf288c63d4b1ecb3e0faf1739393d91bcfbecb63d4394283ef21be73aab9975bc9794853d61b5553b0021c63afe5060bb28b4b33ccf321cbed0356abec6d0383d0000000000000000dbf13dbeedb32b3d0000000000000000f7da28be39ae173d0000000000000000c1b202becf4bfe3c00000000000000001f23a9bde015ca3c0000000000000000420633bd901cae3c0000000000000000322504bc2e58393c0000000000000000dd22b93c11c7153b000000000000000024ae0c3d636b07ba000000000000000000000000000000000000000000000000fc4207bb9db2c9bb0f7f303c8887433d5d5aacba0f039eb968f35d3c20bc2d3d51a32bba5c0d1c3beea5693cbaf7183d52efd8b90e9f813bb9c8243ced9be73c1875553ae31ac23bb102123cb09b953cacf3ee3a6327ab3b198f9c3b7af10d3ccee48a3a46de593bbfa8d33ab0aeb1b90000000000000000000000000000000000000000000000000000000000000000b3fe4e3b5c84ffbbf2683539ec6f453cbca8a83bd9acdcbbdde5c8b9d39fb33bc592ed3bbab51fbba2bcc239de447d3b5656bb3b32b465bb1dc6d739e2cebdbade2f773b7eb01bbb25493ababa9035bbe147d73a752f173a48d8c9b9cc8fb8bb61a5b3ba3e79e23ae748bdb992c68dbb0000000000000000000000000000000000000000000000000000000000000000d95ed8bba0d27dbe1d15143d56e310bb7f74a0bc55606dbe164aba3cc15d3fbb321c06bd2a355cbe659d243c7aaea3bb05a8f8bccaad2dbe04e5db3bfa53b1bb98dcdabc164ae8bd56fc7fb9aeffcbbb79ba9cbc6fea64bd2a1ba4bb6c1abbbbfc7ccfbb0a1838bbc6aa45bb9d07c1bb000000000000000000000000000000000000000000000000000000000000803f4c291dbc6e00993c0d02e5bd0e00af3f8088f7bb6694843b443544bd3e4f903fa4110bbc95d8873a1a98e0bc1a94733f8b39edbb79a2503b0bbff3bb0346353fd5a5e9bbee7dde3af7291d3c4b25e73e670bb6bbbda5013be2ab8c3cbaf4623e7b48b3bb7aa11b3c56ee363cda81abbb000000000000000000000000000000000000000000000000000000000000000093b810be2858dd3c00000000000000003f57c5bda1f7ae3c00000000000000004383a5bd5b9ca33c00000000000000000b7d77bda4fe973c00000000000000001065f5bc6b1e5a3c000000000000000017d250bbb783dd3b00000000000000007897983cda9fff3800000000000000000000000000000000000000000000000000000000000000000000000000000000cda44bbc9f25c63ce9b2463ddd6a92bcc30affbbbe15a33c7e405c3dc02394bcec72b4bb362eaa3ce8f9433d3d2a4bbc9a90abbb72c3963c40c7243d90623abc99776bbb21b0603cbd5cd73c4b8f02bc59a9d9ba704de63b82e45a3c740007bba652f6bab6d0b23a5fc4363ade4cc5390000000000000000000000000000000000000000000000000000000000000000aa71f33a35bf1d3bef52783c22fc39bceb9a733b7f78113b22700f3c343879bc7d447d3b90420a3bdbcfa13b80ffaebcf9449f3b4f378d3a7810063b1643a7bc6177943bd123cd3a5c5fb6bace7680bc656a473b5bdeeb3a667792bb2a76f2bb31e4023b9ba6613bc9f8d6bbbe3ed43b0000000000000000000000000000000000000000000000000000000000000000a1ba83bee1c0873dfae27ebcf3334aba4d8280be69e0713d8f1762bc626abdbaf7b176be4f08513d9cbc46bce75a9fba0c0e49bef456313dc2f14abcdf97333a4b990abe8033e23ccfe22ebca229113ae50a92bdad3d2b3ca128f5bbc39aaa3a16d231bcd320feb9f76bdebbb900013b0000000000000000000000000000000000000000000000000000803f00000000f00d663caca7ddbd3908b03f4c4e0cbe4fd1113c18f770bd2468913f3c97d0bdaca6263c32102fbdd1cd743fa666c1bd9248263c695badbc7879353f719292bd951d3a3c3d5611bc3229e63ed7881abdf5b8263c80c53e3b5e33593e72d48dbb41b5573c1a2e633bed2cccbcc90b013d0000000000000000000000000000000000000000000000000000000000000000e90f983c79f8e1ba000000000000000046783a3c1f6da1b900000000000000003391073c394d7db90000000000000000e2a0b23ba2236dba00000000000000007c5bfd3adda8d3b90000000000000000d78a3fbb1bfa12ba0000000000000000e7c812bc0f9b65ba000000000000000000000000000000000000000000000000bae435bc2f05c73cd42d983b334da2baa9356ebc5379023de27fae3c426b09bc3ca051bc25090b3db7d8123d6e8116bc090d3ebc1e13083d9cbe243de83944bc912b2fbc22aee93c3461053da66b15bcf5442fbc37a6c83cef7ebb3ca5cbdfbb7e061dbc921c913c09a8273ca4f074bb4ca107bce1d23b3c65b5edb91790c238107e02bc0d215a3b7572c4bbe490243acd60c3bb6f7ca43b62c2fc3c19e347bd212b0abb6e22813ba483e23c297f3fbdcbff1f3a093e513bf714e23c435f5abd725fd33abe23313b4145b33cc27942bdcba57f3b64919d3ac84c8d3c858c18bd61dca43bb05e5f3a8c8c2f3cd0becabcbb059a3baf2de53a2cd5c13b77b547bc5748633be593953a4fddadba8dda863b3cb62d3b097db83a5d1e4bbb6700a43c66e1bcbd403b913cf22b35bc8034f2381fc01fbe0d2f0e3d89c78abce4bfc13a8ce45fbeb42a353de2b697bcf862e9376eb569be9108453d711f8ebcff16ac3618674bbe6e672d3d661d8cbc6641413accf01abe015f0e3d80257fbc69dee73a4949bfbde646c43c3e6665bc7ce08e3a983025bd9c30103c205418bc4d493d3b7512633b2016c73b7110e9bb5c85183b51dbe23cfb3940be030ab03f9540e8bc0a089d3c7e3d0fbe449a9d3fa8bcf5bc8e64873cc4ce03be6a69973f98c892bd5b17a43cd260eebd5869823f011fa6bdbec9c63c67d9d4bddfec4d3feda5a0bd3181e23c5a4db0bdec0f0e3f205b74bdbe3bef3c5bed8abdf5229e3e2ff015bdeecff93ccc0e52bd6aacd13d3a8d9dbbb2ba083dc7ff71bdee07b1bdbe14833c703ad03b0a505eba0000000000000000c4e4a03bb946553a0000000000000000d395353ce4d7973a000000000000000023004d3c98b13a3900000000000000002968323c262400ba0000000000000000aa9dcb3bcefde8b700000000000000005196383b594ff1390000000000000000d172bbbb4aa74a3a0000000000000000537f0fbcb507aab900000000000000001e3244bbb2f3503cb05552bc4c03533c9d6103bc8607053d738304ba950d113cb1c326bc188b193d9eb8593ced7c073b432c18bc0f461e3da1b5943c29a106bbd00a39bccf950f3d3b248b3cbc5681bb6caf60bca7180a3ddb97443cdccbc3bb5aee61bc441ee33c9df9583bd6efb8bbbe1356bcfb86a93c73438abbec563abbfab450bc70a74c3c3ad900bcf90908bb014576bcb6ffe33bf8510c3dec04a3bd758628bc2c70bb3b460f0e3dde4caebd0182cabbcd55883b84d7113d4e1caebd327c84ba2193733b5b81043daf359ebd4901aa3a57801c3b613aea3c1cc682bd9c841f3b8adb743a54bac93c3a9d34bd1990cc3b6ec6ca3965a2843c4a72d3bc8644b33bae700f395573113ca5d2b5bbc664653b14ccd13871c8003c8de2d23b16b7f53c84fe22bdf138e7bae2c3043aab12a9bd166f3cbc649838bc70d5323b0a3d13bef5c51e3c69947fbc9d74ed3a774332be395bf03c1836acbc14db6e3a32c929beea48133d2eb8a8bc9589b33a1bfd13be9629293d41f2aabcec7c2c3b74d4c9bd0337123d892499bc7cb6173b12746dbd1454fe3c5ab181bc7bda183be6d7afbce6b9c13c4bc84abc4075893b601fa93c69651fbec6a88d3f937c213e1312c23c35ec27bed48a943f8c809a3d1d72a73ce61c19be8de78d3f615af93b04aba43cd1b10fbe29ad803fe5c148bd50dfcf3c040d0abe411a563f57a0a1bd367b003d6c0a04be168d213ff6f9b5bd29bb1f3d54a2e9bd1192cd3e4b0fabbd367d2c3d3d18d4bdac364b3e42ca84bdc43f293d5cf5c0bdc89f553d0b8f51bd45ed82bc45ccd03a0000000000000000a53adcbbee18e33a00000000000000003728b03b0602f93a0000000000000000280b6d3c1798563a0000000000000000af8a953c4027823a00000000000000002c72873cf4ed103b00000000000000001ec6863c3f8820bb0000000000000000359e133c2f4867ba0000000000000000c225823b74038cba0000000000000000e82a683bae7aae3b117698bc38c2ee3c06b41fba6385b33c9e452abcdb05ea3ce9f564bb4cbef43c7816bbba5a2d983c2f54a8bbb7d60c3d5240773bbe992e3c51acedbb64f6183de8c2c23b1588b93ab0c033bcdadc153d803de63ad0d4a6bac8b65cbceb07043da9f882bb444f35bb5db580bca624e23c34e3f8bb649bd3bb967453bcb7089b3ccfe64ebcb0c494bbd6b9b7bce9c5f73b6c1c073dd58bc7bd2bc6a7bc05f6fb3b81e8063d0ab6c5bde73e78bc3cfcdf3bdcbe093d686fc4bdddbde9bb11c7963b97e2083dad97bdbd807340bb53cc803b8a81003d0d19a5bd0f92583a27dcd73a96dade3c1f8c7abdbebf5b3bbacfc33a2f7fbb3c372a29bd557c903b272f1b3a0c95953c1363abbcca919d3b17ac96ba4dee713c8b3c0ebc5992c73d674edbbdd5334c3c953f9fba8972b1bb4236a1bd8894423bd7c15c3aff7093bd83e22cbd393a09bc1e4eda3acdc8dbbd13cd1ebcf47f8cbc7e1d823a81b202beca05af3c43a9b7bcc9a8783a1bdeefbd78290b3d377dbebc29593d3b78d5b7bd45872f3d9fbcc6bc591d383bf6ba78bd75a33d3dfa41a0bcacedcc3aaf13debca253303d0d5d8cbc24929a3b68727a3c674103be7978643f80f5bf3e38d2913cf83a0ebe4811733f09f2893eabdc893cd3620dbe285b733fb22a133e2993723c892201be820d633ffef6103d92569c3cd2a702bea7864a3f750855bd4ec9dd3c021c03bee69c213f0269c0bd0eff013d4b50fdbd0c1fe63ea152ffbd2448213d9af9efbd11468b3e8eb303bed9a2213dcfe1e2bd1247033e72a3febd1cbf3abda822473b0000000000000000510c02bd3979843b000000000000000033bce3bb76a34f3b000000000000000086fc1d3c148f003b00000000000000005b66b23cb0a7f53a00000000000000000a17e63ca1a4c1ba0000000000000000f890fb3ccdf8fdba000000000000000057e0e33c196f22bb0000000000000000e9c6bb3c91ad9ebb000000000000000052fefe3b65d287bbda428cbc71131f3d6c009a3b31c10d3cef4243bce989353d01df023b39fc8f3cef69b4bbaa02143db2be8db91d16d73c70d16cbb6947ba3cb5280ebb2520c33c293924ba78df453cef3ecdbb0849043d6ef056bb35c1593bb6ca2fbc44f1f33c75d5f3bbb92baeba6cb84ebc4a3ceb3c44b045bc6fbe9bbba16440bcdf27b83c5a6a7bbc387eb9bb8ffddabcfd4bf73bf1e5d23c0466babd886edebcbac2ed3bedafdd3cf6a7bcbd7d94aebca368d83b343edf3ca163b8bd5c185dbc51e6e13b1527ed3c3038b9bd8d9819bcd89d613b7937dd3c9aa0a0bd14ad03bbdfa00d3bc2dcdf3c05598ebdcb42b93a0b4afd3abbc1cb3c7c4c4dbd7c45293bdb54fa3939eeac3c9e9b06bdf3cd8a3bbd502ebbac61853c5cb084bcaa9d0a3e55a028be5e5b033da0b841bb216e593d71ec20bec0e2cd3cc879acbaa9c325bc7408f0bd5fe0243c1b2aa3b9208b5fbd647176bd99fcd3bb66a0beba7d6782bda752e7bc512f1ebc87464539b8c8abbd1119923ce5b8c2bc026cfb3ae48589bdd4f50b3d2271babcf4d6873a21624dbd67ef553d2ea9d1bc3360313bd9edd6bcb5b45d3d3b58a4bc974d3e3b616d163c2bc2b6bd8e8e223f5b09223fa6ea2a3cff2ccabdea4e333f322e033f1fdb3f3c6003d3bd22443a3f51f1b33ec42c2f3cded6d4bd8b27393f80de303e2bd3413c4380c4bd63ee243f1f43543dbeba813c848ad4bd705a123fce3490bd9ca0b53c3022d3bd16e8da3ea57903beff04f83c9d8dd8bd44a8963e598530be60fe063db909d0bd549e2b3e4e9d3ebe8f5bb7bd2de9063c0000000000000000696588bd73fea23b0000000000000000579612bd0d209b3b0000000000000000ba077bbb59a36e3b00000000000000009b07373cb8c23f3b000000000000000085a20f3deabe34ba0000000000000000d4a5273d74e487bb0000000000000000b9e6373d4a4783bb0000000000000000e2f62f3da5c89abb0000000000000000a8dd043c882825bc2a992cbc38f8223d02e9d83b18457c3a6d621ebc8219653d4423813b70e0153c6ed09cbb9ab54b3d41ba363b5362663c624cb2bba27c193d392c7a397c1eac3c7e5aa8bbfa03c13c078f2fbbe2a5c73c2a40b0bb83e1223c86519ebb3a3dd83cc9a920bc858c2b3bb356f7bbca9ad23cd5bc72bccd2d6cbb1560cfbba4ec9c3cc40260bce4eecbbbb69ed0bcc385e73b72d8843c43848cbd495805bd8b5fff3b4941a83cebbc98bdc382e7bc12c8ff3b9392a53c1efc92bde04ca6bc4c37fc3b88d5aa3c00aa90bd0a5162bc5c6fc53b06c4a23c8bd889bd331305bc813c863b3b0c993cb8b371bdb55428bb4194603b08e69d3cff0441bd569f1bb9979abf3af9f8823c73280abd80000b3b354568bab3d86d3cc426b6bc98cb0e3ec79746befd34363d3bced9bb5287a03d31285dbe94bc443d39efb2bb6ba7cc3cb4163abe12d1e43ced3561bb9dfedbbb35f402be16fa193c26503cbb58a81bbdf29b85bd8efab1bb6c3b53ba0f3f44bd644f75bc2fdf8bbcf5ef4b3ac0573dbd1167ad3cef00c9bccf83393a75fd10bda609413da537d2bc88d1093bdf259abc31e6603dc660adbc9295603b2945893b03ef44bd53d6bf3ed317653f593f393bc57872bdcef8e23e86ab463f0db16a3bf43486bd2470f93e1b6b173f00c0983b8e638cbd35fcfd3e0a62c33e5fc2c53b8bbe8abdba0dfa3ea4d1363eca89183c8d8f8ebd5601df3e828fd33ca0e82c3c106095bd5bc4b63ea1cfc7bd2498973c09c89fbd4713863ef2e635be2448b83c47d79dbd5986293e19155dbe09b106be8ffe5f3c00000000000000008b1ee7bd739d3e3c00000000000000006c3091bdf8a2193c0000000000000000f044f9bc32569b3b00000000000000005f2f0e3bdc5e2f3b000000000000000073cebe3c0fc0043b0000000000000000fdc1423df21b7ebb00000000000000009c99733d832a05bc0000000000000000efaf643d244512bc000000000000000019ecda3b49e52fbc682432bb9fc12a3dbbf0c23b5d17a2bbdf9219bb281e803d9a4aa93b5af4b1388735213a34797d3d65cb963b7c58b33b78167bbac682543d68a0443b6e82073c3fd418bbece2163d9659a83ad0085a3cdf83c4bbd175ac3c57eafcba060e8c3cabbfd7bb8759eb3be9ea54bb9a02923cd3522dbc030e34b8714d55bbb5267a3c09697bbc7c99afbbb0c2debc2ab3a53bdc670e3c181825bd3ca204bd0e0dc83be2e5133ca7ef26bd49b2f2bcb515d63bb0842d3ccc8129bde0bacdbc1507e93b5916223c743232bd387da8bc3c40eb3b54a5183cf7c526bdda1d59bc016ccd3b8d9d163c6e9d1cbd000dd1bb34e28d3be00e1d3c942c06bdf22515bb911d073b59350d3c9a5ed8bc8b84833a8b0234bac2f5213c2aa192bc8997de3d3e454fbe61237c3dffb330bc4841913d4d2183bef3ff873de1a91abcd7fa073ded6a7dbe8cd0563d03cafdbbfea2433cf97c47be705e013ddd12c5bb811ccabbe7bf04be074e623c74068dbbd20d96bc33c871bddc1b8dbba0475abb0715c5bcd1acedbb3ba684bc92805bba95f997bcf51e073d48b1bfbceeb2313a6ac3c1bb65ca4a3d959fbabc3970183bc130b5ba0e6c91bcde80243eb50d8e3ff73580bad6f5c6bc9e574f3e44a0843fb5f4bbba9d78e9bcfd3f7e3e7b275a3f46dbf3ba8d25eebccf248a3ee8631d3ffc99b3bac4cbfebc9c3e8d3ef226c23ee744c63a6edb0abd5d83893e2f321c3eb339803bb5d90dbd8c456d3ecce176bc618ae53bf31d19bd34553c3e6d7a19be03c5103ca4f928bd10d5fc3dadad5fbe8aae25be036fa23c0000000000000000bfb51dbe60c3893c0000000000000000483ce5bd16f2373c0000000000000000217a80bdf95ec13b00000000000000007f24ccbcc2429f3b0000000000000000065d383c5a1b053b000000000000000008851d3db48b78bb00000000000000003bf9803ddab21ebc00000000000000005bdd933dd09240bc00000000000000002b1b143b388d04bcac49ac3b7d9a2c3dedf4543b8e6f12bc64c2d73be14c843d4b97163b6e62a2bb6258f63b23568a3d79dc1f3b389efcba7f4dd13b56bb803db70e293b5a3ba0ba755faa3babb13d3d7211223b6df8983afb25de3affe6f63c0c8262b70f59b63b2a12c4ba6d9f4b3c322690bafc0bfe3bd5d5a8bb0dee723af78ebd3a6605d83bcbba25bc509fa9bbb8acaebc7510b639d2c787395e5261bb69b209bda325ad3b4568493b616243bc2334efbc6b0cd33bd9836e3b80ea40bce70dd5bc841cf63b27d69b3a76e332bcc68bafbc8bd2f53bffc3db3ace2056bc3e7a82bcfdd6ef3b3654633ade1e54bc1cee00bc7031d83b5167cd3ac2e448bc2c05acbb7c97c53b7b6f3c3b659f48bcc236f6ba58235039601715b94c74e2bb73ff473da1565dbe5198933dea1a70bc3c8c263d48f584beb8eaa03d8dc787bc16b3ab3c0e948ebe9b82813d510a51bc03bcdd3bfcd77bbeeec9463d3a5848bcc113b3ba604e39be6f91ea3ced8911bc2b94d5bb5a6cdcbd59e9123ce4d8e6bb4b62f7bbbe0125bd2c7ae0bbb2b1acbb825297bb74e3353cddfea1bcd4c2c4ba1458ab3b547b433d02359ebcb114e2b92ff88abb8976943bf6d1ebbc7d6db03f5d2c41bbabf763bbc9481b3d66f9973f7875bebbf19fb0b943a66b3d7d9c873fc407abbb000d9fba9345a83dabf8543fa1b14abbe4d557ba21e9c83d18ac123ffb7875bb0842d3ba657bd63dc32ca43ed5cb2cbbb5758bbb62acd13dcdd3c23d8339d1b93f8708bc2074b13dd85a7fbdd911d3ba649486b9afb1323dd68d67be7c7c48be3656e73c000000000000000046501dbe104ba33c00000000000000002e0d05be9ba7813c0000000000000000518cbabd4ea2383c00000000000000009fd042bd30b0b43b0000000000000000dd5e1dbccb19243b0000000000000000746fb63c6b0c97ba0000000000000000fd87543dd6410dbc00000000000000000e329e3d2da56cbc000000000000000000000000000000000000000000000000f9b2edba8ac9a0bbeb747d3cff41673d2f9126b93b468bbb5f456b3cfb78713db4002eb803539cbb680d7a3c223d5c3d156fb93a610e9ebb12b66e3cce622d3dc862b43a90c68ebb376c233c4673ec3ca284153b88709cbba90ddb3b30f9863c95f30c3bdbc805bb40f82c3a4612253b0000000000000000000000000000000000000000000000000000000000000000cf5c9abc88c913ba868a88bbfb79993c161ca1bc6668143bea7e32bbd0bf533cae4282bccad85a3be8aa88bbb125563c6c3c70bc91eba53b10bcc1bb944e3e3cce1342bc01e9c73bf701a8bb04451f3cf31410bcbaf1a13b8d2fbbbba173f53b55aec9bbb1108f3b0bdcb2bbaa47c83b00000000000000000000000000000000000000000000000000000000000000003af189bc409783bee997803d4bb74abc6b2189bcba2b80bec5925c3d49ae4dbce2fc9bbc2f7972be50d0293d6ca82ebc2287a8bc80eb45beb4460d3da06b3abc4f006abcfc4705be844f9f3ce50d32bc321eefbb30ab87bd5e22bb3babeaeabbe472043a2a858bbbfba978bbbbf9bbbb000000000000000000000000000000000000000000000000000000000000803f1710b4bb55527c3cc02dd8bd0080b03f359dd5bba67a4e3c89e568bdcb80923ff300cdbb4848873c8cc037bdd473763f6d4de9bb28429e3c185cf0bcbdb0383fe4faf2bbaf15ab3c9dc0a3bcb6cfec3ed7e7d3bb8112a23ca2df52bc2a5e653e5a14fcbbcb12c43c384492bc03ec6abc000000000000000000000000000000000000000000000000000000000000000034c510be95f7973c00000000000000005ae8d2bd16ae5e3c00000000000000001cf3b7bd490e393c0000000000000000d6b489bdb50b173c0000000000000000871b0dbd68d2b73b0000000000000000311964bb1f13043a0000000000000000d025eb3c94b8adbb0000000000000000000000000000000000000000000000000000000000000000000000000000000058220abc0fc2183c88635a3d94eeafbc886e8bbbe4ac51bbfd40883d9f0fbebc58c381bb47272bbcd1aa833d2612acbcb20b39bb98746ebc2b8e6a3dbc27a1bc8c45c5ba516f84bc7acd323ddf6b61bcbcb15aba42fa25bcfb7cb03caad3bfbb2f87a2bab6ec0bbc0a254e3b329d9dba00000000000000000000000000000000000000000000000000000000000000004951e0b9325a383b7a96c03c7f3a5abc00d4b1b9ed13173b0382573c63335d3cc67353b82bf0823b26f9ae3bdfbf103d3131d7b7b6314e3b79b2e4381ec73c3df4bfb5b946e8f63a33dd2fbb26b54c3d47080bbbc195213b942397bb845e183d170c02bb043d373b4935f5bb3139063d0000000000000000000000000000000000000000000000000000000000000000fdfe88bee8a4443dde9728bbe667d0ba4a538fbe511e1e3d6ec2bd3a2b8805bb404e89bef425013dba2a333bab047fbb160d6bbede85d13cc6fb3a3b1fae71bb68f82abebab5503cc2da933b64ddb3baf04ab0bd5ee33437aa05573bf7dd38ba9c445dbccdc708bc0112fb3a0ea3c0b90000000000000000000000000000000000000000000000000000803f00000000d4353f3b8982eebd9c48b63fb9b1d9bdb576a03bb6f7ccbd9c3b993f84c064bd1387853cd1bde1bdc3c07e3fcac315bd35fac63c569fd8bd9d32403f70a09fbc70fbc33c10e6c3bde50afb3e3591963b2871e63c68f6a2bdfb2e6b3e6b1cae3c7959f53ce1f06fbd1423b0bca0d4123d0000000000000000000000000000000000000000000000000000000000000000ccd913bc4e309a3b0000000000000000373e6abcc1e3953b000000000000000074ed83bc0fee303b0000000000000000695687bcf9f68c3b0000000000000000c6e873bccd6c823a000000000000000087ef2cbca5f5fdb9000000000000000094e7d9bbd81317ba000000000000000000000000000000000000000000000000ba74e8bb36d9f83cfb77aebb2a71bc395c8b06bc20f1eb3c3d6ced3c954380bc5b5716bc3b65ae3c46b73b3d87df9abc3de117bcae582a3ce81c643daf04a9bcf2fb3cbca340a23b5a01603d7cf29fbc029a3fbc89f5a5b9a1ad373d608188bc2c4540bcbabf92bb05bde73cdfb42abce54830bc055569bb465cef3b80b4aaba8af2d0bb4521d6bbf0f3fb3a3b9d71bb52e20ebb2ad62a3be01a4b3df645fdbd7faa1d3a02b3363b87bc343d31e5d6bd9c581c3aa458193bdaf5263d35e38fbd87f0e43960a3f43ad55e123d75e306bd08bd793a51662f3bd234033d9b930cbbe58741bacb64213bb13bd83c7894a43c132cc8ba53c2263b3286a03cbe111e3df3b92fbbc556213b1d5f783c4390263d0fcd9dbac748573bb107683a9082323d4ee070bd904c483c77cb08bcdf2494b9e6de2ebe0065093d60c744bbcf885cbb238378be02b1163d91d274babdc952bb6c8887be814c203dbbb9153a85a52dbb571d7ebe265d0a3d50a0a73ae6f274bbc56c4dbef929d73cfc15c73a8a1c03bb2acb09bec4b3883cd5913d3b9ed5eaba85c456bd9cba21badbe1d23a4ac2a5baac7910bc4f05e6b9e495a03af705fdb9e38645bc0024f0bde406b53fab6a92bd40fa73bc749bccbd8f3cae3f13457dbdd836ccbb4d4507beb641a43f12ae82bdf842403b6c7925be1fd08f3f557673bdeaed3b3c6f443bbee1a3673f3b6b37bd671dc73c9e4247beead2263f565fd7bcc7a4013d051843beef0ac63e94a3f6bb0aa2233d345537bed9b9073e12ef5f3c8488453d540613be50285ebddf5d823c416f393c95a3073b0000000000000000bd6abfbb62f4813b0000000000000000050900bc96a77f3b00000000000000005e955fbc235c9b3b0000000000000000fef36abc4602683b000000000000000030ef7abcc596383b0000000000000000d4eb60bcb2ace03a00000000000000006b4ce4bb5856be390000000000000000b90ff8bbf9c2b5ba00000000000000005b85613a747af03c642623bd99faa43c204729bbbf2a053dee285ebc106ec13b4b4720bc7a4e063dc9c4113ca85593bbec7817bcb7d9da3cc593ec3cf99b74bc9f3f5ebcc352a23cb924163d490698bc682885bc5456423ca5fc203db66faabcf7e582bc2496d63b08580b3d24eb9cbcdbce8abce16e253b8048d33c4b8183bc5b934dbc83067cbb4b6e863c7ee352bcbf366bbbd2fe8d3ae4834a3d7f8337be089f3839b314d03a1dc7513dbae829bed0170e3a37a2323b5880543db7a506beeb338e3a25e1443b2314513da651d8bd0c460c3b8b7c1b3b9ccf4c3d0d177abd20254e3bb8b74a3becdd403d27a3d2bc2de0cf3afe947c3bdffe1b3def4fa63b620a273a31f6623b3139093d8724f03c715d283beb7f263bba2d983c85f1263d72b8f03dbb1323bdd73213bc9bbc063bea8d9dbc73df9e3a969656bc07a569baf0c7ebbdce47a93c1ba70cbceed53bbba3693cbe32d52f3df0c5cebbf6dc37bb7a9056bed6824a3d4d378abb45537ebbc6a750befb77553d514e4abb4dcca7bbd4382ebe13fe453d074023bb7762a4bb363e01be6032153da6d2ca3a678474bbeb6f94bd8274f03c2cdf8aba41cb6abb9a27b4bc9d4253bd09178d3f7ff0593d5740a0bc8bff8fbdd46d993f167510bda4f15abce35fd9bd3933953f4b0585bd3f672abcf2160abe0b568e3f9cb4ccbd2ab02fb9a9df34bec557783f73bfd0bd3d00003cdd3d55be9aa0493ff1ebc4bdc8c6c13cacfd66be2e7d103fa0a2abbda99c0b3dcf8475be5b5bb13ec40852bde217373d8a1a57be1fa81f3e4a703cbd4cefd23cb1006abb0000000000000000e195963cf1435e3b0000000000000000a9e2133c30d45e3b0000000000000000822d9139424d6e3b0000000000000000f54de0bbfd2ea13b00000000000000000c213cbcc8e7a63b000000000000000053d354bc04b8b43b0000000000000000a1de86bc187df63a00000000000000003d4a3dbc640a1e3b000000000000000095d8ed3bd9678d3c32c381bdf462353dff84943b42aec33c46a83abd0a59043d018f25ba395cfd3ce7c8b2bc3351543cc2029abb73bcfb3c57e2f8ba3ed052bb3ad022bc3eebe23c552d963c988172bca42d71bc2183bc3c617ed63c6aa5a0bcb9237dbc9142913c0dc8e63cf3afbabc507696bc57d71f3c4f22ec3cbfc2cfbc535886bce3bbc23bb017c23c8c01b7bcced408bc396cca3a6a782a3d575640be9046a6bb05b1c33a902a2f3da7fe3cbe02fd8fbadc8c403a393b3e3d44fb2bbe46c4423b5ad4093b7a80433de19f13befe0d973bab9d163b3632543de205ecbd6e0a803b8d8d463b49a9553db66297bddd3f7f3b9812753b0a694a3d41dd28bd808bac3b5e65133b7dc93f3de9470abc8436443b15676c3b1755f33c64eab43c0c2f793e169fedbd9f7711b9a714693bc5ea083eed2d92bd555339bc2936293b409e3b3caf6898bcd1c52dbc4a998a3aef5595bd7152ae3cd49e26bc4b3356bbf3b80fbeb682553d756e3bbca5996fbbafc02dbe19b8823dda8c00bcdeefa2bbcb712bbea6e1953d18aaf1bb2a66b7bbe9541abe3fa9923d406e9ebba8c999bbc2acedbdb9ff823d5eca96bbd08b83bbaae798bc9a2580bc74644f3f17f4783eb027a5bc9412c3bc7507663fcc07d23df4aa94bc660c51bd7b24763f18abd5ba9ada6abc04799dbd3302753f56aea2bd61e84ebc45e0efbdde2f6c3f549011be796694bb71ba24befb714f3f8a361cbedd81983b798549be564a283f4e9d20be5a8c8e3c961a68be6397f93e75dc0ebe15fb023d21045bbe8c89983e0d3102be6e52083d465e5ebc0000000000000000cb1e303d771dcebb00000000000000007be7e23c7a6821bb0000000000000000f084933cfa64c53a0000000000000000561c573c3e19803b0000000000000000a6c5023ac544a03b0000000000000000ad5483bb526aae3b00000000000000008a833ebce31ca13b00000000000000005c31ccbb61ae6b3b0000000000000000fb3f7d3cf22ae139dba18cbd618d743d3f9c4e3c2e9e2c3ca59785bd81f8703d0744b83b3768a23ce3bf37bd02eb193d956f1e3b8304d03cea66bcbc68ff803c6fcdaebb10f1e53c83ac92bc89f4013c295bf1bb884ae83c6bc21e3c32a86ebc46514bbcbb91ca3c09996e3caa829bbc0aca72bc2bab9e3c4360d93c7849eebce0db8ebce04d763cfa46b13c728ce0bca82d52bc974caf3a558dc63c682929be2fc33cbc880f963a322acd3cdf362bbe6155cbbb1fe0ae3a8045063d222e22becde10ebaab370a3bae96133ddcaa1dbe20a111ba1806023bb572293d47a3f9bde675c93bdcc0383b64b33e3de7afe7bd8921803b9f8f733b71853b3dbfc196bdcab5ee3bff95513bea0d433de09939bd3b44f93bdc05393b97fc203d2c590abc07109d3e870338beb698573c501c4c3baeac6d3e7d3e1cbef0a459bbf4bec83b6004003ef271bdbdf92a9bbbc2c8503af1b1c93c4de5d5bcee145bbc9dd491b8d7bbb9bcc6e6863a8c820fbc80d19eba42efdcbd584a733d5d4461bcfcfeb4bb311704bea9dc993dd5c538bc827a7cbbc07d17be7f94bd3d6a392bbc86ccbdbb0cfafebd3bc1b83d70c242bcd0a0aebbfcbc67bc98728a3c2923033f3176fe3ee75b5cbcfa748f3cab62153ff1dcaa3e14ec69bc0df51dbca2352b3fc3c8363e45bc88bc707ec4bcc0283c3f6887663cb4642cbcd95d8bbd028c323fd70c36bddd8c80bc74f2b4bd1b83393f09792ebec1efecbb982905be5c3a1f3f4e5243be5c3aa5bab3dd2dbec939083fcd9058be80977e3ca7f13dbe7f97be3e09cc50be5f76a93c15ffaabc00000000000000009406493dd77283bc0000000000000000507b293d945808bc00000000000000000219243df70550bb00000000000000002ea6d63c6a422bbb000000000000000048e0ae3c102a503b0000000000000000ff84533c68f6e73a00000000000000001b2aab3a29fba53b0000000000000000cff3c03b1938903b0000000000000000baaa953c17e17fbc3b8c52bd5a0c863d7619733cc1e940bb739d7cbd849b9f3d6c903f3cb582ca3bedb853bd81a7783d3febe63bce02843cf12331bd9c44253d85af8d3b7132a63cbb0eb8bce9278f3ce66e11bbbba2c63ca7f002bc17b41dba6cc0b5bb8ff0d83c21bfe33a051c6dbcd92535bcbb67ce3cf602493c23cdccbc37e659bc60d6a53cee805d3cf942c8bc0c568abcfa857f3ae1d1f93b769de8bd4c59a5bc53f0543a5cf7223cb0a8f3bd432b60bcee4dde3a0357873cb8be03be84bee9bba5361a3b4b05a83c049a02beb34189ba419fae3a4a2fdb3c7243ffbd4c99433b9d992b3be799f63cdddad9bd2783ce3b16684a3be1ef093d929fb3bdb52a013cd47d4f3b4bb5233de36c85bd5938ec3bff78813bc037173d7a7500bd80fa953e897670be849a023d66094a3b608f833efc1176be97a6a13cd4d2ea3b8c1d3a3e59b334bed4b17d3b389bbf3b322ee43d609ed2bd8a62bfbb936e013bceddff3c92b115bdbc1734bcc964443ae0e2f4bc0af6973cf03750bc96f62dbb9de19dbde51d873d1e8b84bc88126fbbc386dbbd8176c63d0efd90bc7939a0bbc39bd5bd1c0ec63d68fa8bbca6549fbb1c45f7bb9934fe3c399f803efefa4c3f76c5e0bbeaa00c3d8afc963e5637253fc19f2bbcbbb8c33ca9fdc43e682fdd3ef74631bc4da8633c5136e43eba89633ed2f770bcd80db9bb8ab1013ff9551b3ded2a47bc6c74f9bc2602043fb45fbdbd1bb720bcde9578bd202f003ff02746be183e25bc7178c6bd4331ea3e9c9780beb44d683a46f702bee82db53e9a2b84be7d4f57bcc199ccbc000000000000000011a3043d5f52e1bc000000000000000013c43a3de267a0bc0000000000000000b8ca483db3fd49bc000000000000000083bc413deba6eabb00000000000000008b2f0f3d0a0f01bb00000000000000007b42033dd26562b900000000000000009252d73cd93d383b00000000000000008e38c73c4dc8003b0000000000000000ebad5e3c119e95bc4e1ee4bc24dd823d46ce533c18711fbcd5af25bd383eb33d5b352e3c3637acbaeb022dbd315ca33dab0a153c4b2a443b379b28bd9ec9823d9bd4cb3ba1801d3c9cba10bd5d532a3d5483343b504b773c977faabc0160923ca74209bbddfe943c888b2bbc90f9fb3a9a2037bb2828933c68472b3b3ebc9bbc742b18bc9b7aa63cf13f663b6cf3b1bc144bb8bc55c7243b0951d4baa58855bdf67de2bccec7353bfad112bb445f7abd557ababc3509293bf9781b3ba17095bd4b5972bc3f6d103a5a39e43b1605a4bddde5fdbb8504003b64591f3c7944a7bdd634b3b91d16a33aecf05a3ccf189ebd8f4c983a3bdf053b1a31973cab9689bdd9340d3cf4a03c3b56c4a33c724565bdacaefc3b40fc053bd572d83cd3ed1dbdab8b563ef7c886be0d9f623d854ef2ba92834c3e51989ebecfbc2d3d56b59d3b37dc2c3ed0e48cbeadd7fe3c6d2c6b3b531d0e3e33ed4fbe43dd253c0607b73b66e7c13d04f3fbbdd8a9e2ba4150183be69b213d2c9e2dbd17a441bc10ab073ae784bdbba368683c73fd58bc62219ab9b74e3ebd8768a03d5a73b8bc6ddb86bb79a681bd7f35cb3dc795bdbc53900fbbec94abbaf88eda3c9da4623db36e8c3f3102063af7faf93ccedb923daf1c7d3f067586bbe40d063d9193083e9beb433f569ab1bb793bf33cd132363e5d31023fa275e2bb8499c43cbe43643e9718893ec3f604bc4b8a423ccb8b863e9dce4b3d4e7912bc594d11bcd84a8f3ee1bacdbd73aa39bc4c99cfbc1a7e923e42827ebe7ee5d9bb98ee6fbd2d3e823ed70095be51a146bd46e0d4bc0000000000000000ff078dbbc24c01bd0000000000000000e939a53c8fa4e3bc0000000000000000792f3a3d880fb1bc00000000000000009dd3553d2ce07ebc00000000000000004394583daaec08bc000000000000000005f2473dcc62c7bb000000000000000009cc3d3d9714253a00000000000000006050443d540c7eb9000000000000000086d2ba3b007057bc88618a3b74cc513d0439233b220b53bbec1c3cbcacf1b33d0d6bc13b7bf4a0bb6fa5a6bcda90b03da820bf3bc21d38bbb380cdbc1e23a33db3a2cc3b897d19bb7ba4c3bc7dbe733dd0039a3bdff3403be9e9aebc44b7153d104e3e3b0ca3823b239750bc36265d3cfb175dba2baaed3b3ffc8dbb575c3abca8ec98ba21c23d3c1388a7bbda7256bcfc6596bc673d953a61a704bc8f9ff63bf4360ebd566d893ba5e477bbe71171bb4d62debcc998da3a280eaebba6397abce58cbfbc8007f43a5d51bfbb0001a9bc228f7cbc89c97e3ad39889bb889bcebcd8430cbc90bccc3a5bdb77bb8e92e2bc0707bbbad3bd0e3bbee833385c6fbdbc7b30c83b6776083be89871ba82e465bc42ea9e3b9212173b6d4f0b3cc939d6bc909d8c3dc00e86be6172823d0876f4bb07fe9f3d38c8adbe435e893d2fd9c13abb08cd3d2332a8be037f353ddf7d9e3bbc7ccc3d5f4192be473eff3ced6e9a3b373cb93d175056be5acd753c0497a93b7648853d93c4f5bd3a21e13afd044d3b17eb1d3da55516bdc0e307bc446f01398cb0023caebd303d5fd593bc4ac2b1ba7786f5bbc46a9f3d57c0a9bcb19fb0ba19ca5f3bcdc7333c2fd592bdbf2bb53fe0cb653b5e1dd73b675037bd2137a33f993fb03a1abeac3c4dad1cbdc34f883f2992223bab26de3c0f14b9bc9778503f6c229eb84d72e93ce168ed3a8f1f093fa45ff8ba2ebef23c6df0fc3cbe90873e7b82d5ba97a3913c1be2653d1923e13cd36104ba4bae5c3cb7088d3d100828be826318bc1bc0e03b5b6fb63d2b7292be68cff2bd38695cbc0000000000000000d28d50bd8861f1bc0000000000000000c2007fbc75a3e0bc000000000000000071ea5a3ccca3d8bc00000000000000002c79103d2b0dacbc0000000000000000022f473df5bb85bc0000000000000000505b533d8e8a22bc000000000000000002da643d57389ebb0000000000000000253b733d65eac7bb000000000000000000000000000000000000000000000000bdf780b8ae5383bb5f5b333c77f8633dd1e8c93af5ff8bbbcf73e0baf4a5893d9cc6923bbc85dbbb7e8f25bcfa8f813d03a1ba3ba1cdfbbbec7154bc75ac633dabddd43b302002bc584153bc6cef273de0e1833bb9b068bb7c271cbcf6aeb33c99a99d3bad0ea2ba526816bc3be6c93b0000000000000000000000000000000000000000000000000000000000000000d37799bc2cac053a279d1fbc0ba7133d8a25b4bc039b913ab73c2ebc2a66cc3c065390bc3b7f413a8c9059bcb37b993cfd0c80bc8da4203a4d8f5abc2da1393c7c313bbc4f7ccc3a757142bc8827e53bfbc0c6bbdf70213adddf43bce69dcd3bbdc001bb76a2aa3ad01d0ebc28102cba000000000000000000000000000000000000000000000000000000000000000096d3a2bc898e8bbe21524a3d7060a8bb5442733c703d91be306e323d2989e939c9203b3dc5d087bec18e053d7b36353acaad643d8a9e66be964ad23c7310033b8047773d986a26bed5cf843cab14a23ae6e5363d38d8acbd42438e3b1a4b013b4c12103d974065bc6bb672bbab01d539000000000000000000000000000000000000000000000000000000000000803f78cb873be325ae3b689c03beba67b63feddaa53bc09f6e3c516cf3bd0768983f77d9633b1e8bd43cfd8706be1b74793f960aff3a9ccd143db82dfcbd6ad03a3f5f28bf3a61dd1a3d271becbdc190f03e495776baa92a2a3d1d79c2bd283e5b3e31489cbb1b2d413d88a191bd3187d2bc000000000000000000000000000000000000000000000000000000000000000019a1cabdea73bdbb000000000000000018d14cbd942f7bbc00000000000000002db3fabc68d468bc000000000000000006b349bc6e6f88bc00000000000000008565d33b3f956abc00000000000000005967c03c33002abc00000000000000003c190b3d80141abc00000000000000000000000000000000000000000000000000000000000000000000000000000000583c5339ccb6c139967dbb3b305b593b0598d83ac0de2cbaac78a23b6dea213be40db3390646923af60d983b75ee803b4e18fb39c547953a2e608c3b4bd35d3b0e1baa381a7ac53a8772763bf0ca3f3b731f273a3b5a1d3b1baf3a3bfd2a143ba92221ba258f7d3ab1a62e3b457c3f3a00000000000000000000000000000000000000000000000000000000000000001648aa3b9c34a1387a1c39399139dbbb2950273be4d1dbb9c212393b77e8a6bb4cbc603bbe2953b881051f3bd9b4a8bb4be63f3b41a9d9b98193473b6a5ba9bbd8b4213bfee3c339942f513b5720c4bb6a9c05ba11a1deba50f2713bf163a9bb06cbf53aa6de5fbaeaeb1b3b2d2fc1bb0000000000000000000000000000000000000000000000000000000000000000272979bdbf7433bde7e69a3a0b14b63a312875bd248016bd6a83a93a9bf2e93a852656bd463903bdb007d33aaf22c33a1b4434bd4721ccbc89a1413bbd86be3a5d9815bdede898bcf2fb8d3b61d1a43a0871e0bc91e71fbc546ab73bc979893a79fb80bc015b9fbb4d05f73bba42afb90000000000000000000000000000000000000000000000000000803f0000000024513fbaaa65c1bc025c8a3f08628dbc89fd57bb0835e8bb4b90673f8b7b31bc40a31db8095cba3a5a823c3fe02851bc7f2df53976f6c53b07a7123f045089bc2c7a91b83f37f53bdf88d43e1e1cc6bc9411a7ba95b9023c8dd4853e104d02bdc28ac4ba7b13843b6bd9df3d54432cbd0000000000000000000000000000000000000000000000000000000000000000cc9c5bbc808ca83b0000000000000000b8ba1fbcfa6d253b0000000000000000e1a930bc1a061b3b00000000000000000cdf15bcdd3c153b0000000000000000725b02bc00e1de3a00000000000000004de0aebb34d1a83a00000000000000000dd91cbbf63a3c3b000000000000000000000000000000000000000000000000f3e45dba54239f38c3f7743b04dd57b8f4259d3a8181033a480df63bd82d983baf838a3a5be2d53974f10d3c2a98bd3b0a9845390bc6de3a0600e33b37789d3b878174b95010ee3ada0cc33beb31773b19f4a1b5329e033bc9b9ba3bf7de703bbf0e14ba5172ff3aa893ad3b6f54c93af248dab96517a13adfc5873bdacae03ab96f20bae285243913a4ff3a88c3d6b9095e563bdb306c3a1436d9b85a98b2bbb38bab3bd75d633aa2898a3a3db708bc5eb8bb3b105e91b78631313b9dceb9bb635f913b6bb7c639d2e2223b54a88fbba6bb6d3b7b5f2939e015513b712581bb7a6d393b7a6383397f3d633b094e91bb093d1d3bbd0e0038f6773f3b1bf290bbc8d21d3aaa533dba05241e3b823892bb6b23deb9ef3c30bacefaa03a19cefcba0d16d2bc940b25bd67be97bb85bb2b3b44476ebd75365fbd792a32bb9d7d573bda8583bd770f55bd295258bbcb3cfa3af62671bdacb53dbdea21aaba0fec413b656943bd93da12bd10abf53927bb153b457628bdc466ebbc2452643b6674463a7e98f8bc055496bcc621c43bdf9b033be45381bc0a4a15bc0375023cf7a7463a4199dcba508b1ebb7b7bf13b0975c539fac7993932146abd4d068a3f3faaf23de94b213b450968bd3337823fda3bd63d00bc3d3ac53f03bd06d05c3fbc96ba3d2baa7439473e87bcf6b5333ffa8c903d21937f39b9c9d8bb592a0a3f48a9413db33d6ab905aa05bb4e06ca3eb390a53c0f1593ba75e842b9acdf7a3e936d02bcaf1f97bafbd82dbbcefcda3dd60f00bd50fed2ba787773babcc15abc67fb2bbde563d6bcaa28b03b00000000000000001833f8bc8a0fd13b0000000000000000080ad2bccd02b53b0000000000000000d23dc5bcf2ee843b0000000000000000fb37a7bcf899383b0000000000000000f66099bca6e74d3b0000000000000000db8a6ebcd7ae3b3b0000000000000000907822bc3690493b000000000000000070baa6bb5d6b313b0000000000000000d6ae1e3acc1f773a1b47783b49ef25ba97d7173a962f9d3a9606ca3b43a9ed3aa7203f399375e13a3a7ac03bda6b433b55c23d3af2dfa63afc3bcc3b3ce7ae3b7d33d239fd7e0d3b57f5af3b4a1f343b6913bf390b5b1f3bf85bb73b561b563b2aa806ba5ff2a33a3bb6833bf7aa233b8af5ef39a7ce98b99fcf7d3bbcf4f4396192e03afaba88ba7287d83a7992a93910770b3b135a963ae78ec1395633b0bbae02923b14a6d33a7d87cc3aa265b6bbd3f77c3bbbda883a8136ec3aa5271cbb9ea31d3b7749a33a82955c3bc2a840bb5b27483bae76973937fdda3a76854b3a3de43b3b57c88f395fb92c3bfe064eba9348f43a75ddffb923002c3b34805a391848f9399134da391a00b13acd2386ba6cb923386631243a4ff1083be756a139ba900cbc6dc00abdff443dbcc7b16d3bd3f70abd10cd5ebd38744dbcd5b89e3b0a4120bd8ac849bdfe851ebca37c7a3bf1dd2cbd3a2947bd2253f3bbbffe843bf06b07bd8c1518bd6b4a7cbb3785493bb5ce03bd1cf204bd5310e0ba48d2793b6fe4adbc0272b3bc78ab243b3e16373b130326bc1d8249bc27608c3bcc29123bc93f90ba6b5b8cbb22d0963b78a2213b3cae113b05da7ebd34e2683f2710893e0bfb773bc4508cbd6c655f3fbed47d3e8803043b05a726bd76d1393f0408593e76e01d3b8bc6ffbc13061e3f69dd2d3eb8e3f439d86c7fbcdd84f03e6d84003ee6bbc839a1ec43bc3bd9b43efe03a13d46c159395399e9bb518f673eac761c3dd3a947ba779ac4bb259bdc3d761d1fbc4e2cb4ba5f1737bb2779bd39c71309bd4a4f18bd6d8fa13b0000000000000000eebb3fbd1448d73b00000000000000001c591abda2529e3b0000000000000000d13816bda6f5923b000000000000000045cfedbc89eb5e3b0000000000000000580bedbc6df2363b0000000000000000bd1dc8bcada07b3b00000000000000000be6b6bc1102e53b00000000000000006dc844bc195fc13b000000000000000029520f399436e53ad39a333b8e12d0baafba56babd6a0d3ba4519d3be9d88f3a94317bb9199def3a7a77ab3b0936473bf063af39d77d4b3bcee4ce3b61da3b3bf87f2e3a6415ad3aea2a9a3b1ed3483b8b935cba5e8bff3aa12c993b2af33c3bbcf78a39a3e8bd3a8de6903b580a2b3bd4bd9ebaaca9a73a201a623ba88bcf3a1597c7ba0942913a3cc5183a2c1a22baa07f843a72add13a426eb939d938a1bb51e7683bf4690c3be706153a52ed8cbb394a7f3b5fa20e3bef320a3b36b8f9b91013a73bc323653a459fbd3a727d203b8483403b295d893a0d6e5f3b3ea8e73a66b4383bcf25353aac4c1f3b38d72e3b71fe143baac2e239a31e2b3b93081c3bf03f8f3a28a5a7b98101c63a7230123b02e0c33a4b8d6cba82e2f4375db0fa3ac304d239af6ee3bcbf2495bcf33e6d3b187291bce34546bd1977adbcd8d2b63bf4a1f3bcf6775ebd0a638fbc456e9d3b407dfcbcb48853bd902265bcfd4c823badebe6bc7f002fbd67f91abc4cde873be66ec5bc5c7210bd893899bbeeef8a3beb8f91bcce9cd1bcfa1253ba3400823be76b0cbc78d46ebcf910543b13d7803b16a5d0ba198e9dbb4bb02f3b52c7063b39911e3b3e636cbd2f723e3ff8f6d83e73789f3bbc9d87bd05bd363fa4d9ca3e8502533b28af46bd8af71e3f2a12ae3e05bbf13aa0dd09bdc8d7033f4a118e3ea3e9933ad45eb3bccce8cf3ef7b1553e3f4db73abf7c86bcce839a3e81cd123eb52a533a2a6031bcdcd0483e51159e3d719a1b3a5946febb3353cb3d2eb5813c99b8c539564630bbf1121f3cc886dbbc0dbe3bbd1fa3833b000000000000000019c86ebd7bcdc63b0000000000000000afca51bdbcec653b00000000000000004db93fbd3ca9743b00000000000000004c222abd52cb663b0000000000000000d7e01fbd87b37d3b00000000000000007e0d14bd43a2833b00000000000000008a1f00bd9bf7b43b000000000000000078199dbcfbda633b0000000000000000c871b1394ab7423b1665733a910b28baac850f3932c4473b55c5243b4257e33a210d803add68f43a203c803b07121f3be60c04ba924a1e3be40a953b932e743b61bff338a34e023be9b7663bcb1b1c3be24ffbb8415e173b323f933b4d20503be6c50abad109bc3a7381673b23160c3b5c6682b926aa423a9fc2483b850ee33a2dbae1b84fb6103afec4e93ad6a5d6391e98543a6df43b3b8876dc39403fa0bb19ec423bc510603bd64bed3a325e78bb7d85223b678c3a3b09ebd93a3bbad939ab27483b8e1fa73a5a230e3b191e273b8859f03af519533a0a4be93a48fe6d3b02a72d3bd9819a3a5045093b6709963b2b79e03a9d299d39e101f43aab75913b7f15573a4a9d0c3952c1fa3ae417a23b6235d2397b5e8b39d027933ad87f843be5dcb63ba724cbbc53e3cdbc6412303b3193f7bb556e3ebd42aff1bcaa0a913bfde186bc302b48bdca45bbbc7ceb813b9bccafbcbdc551bd8957a2bc27f18f3be96774bc3bd409bd6e2f41bc8e5a3b3b7ca396bc6f3016bdd26b1abc7bf0993b550d51bc8255c6bc09dd80bb29dc893b4f2302bc920983bcdf005737bd77923bb2e68eba9438bcbb8727f83ae0f2523b3d07373b213253bdff0a153f93d5143fcc629d3bb56672bddee50d3ffbaa0b3f0d40563b943b27bd25c5f43e8283ec3e0d21343be88c08bd77abd13ef197c43eedbdd63a047c90bc23119e3e2f4b913e6e98f03a52568ebcf57e7c3e3e83543e0265b73a3ccf33bcb34f253ee561f83dfebdff3a2af611bc380eb33dd54a2d3db996623a01308ebbebbd5b3c3ef0a5bcb81953bde9d9e33a000000000000000048fd83bdea7d7a3b0000000000000000144658bd5cad623b0000000000000000f09658bd3628413b00000000000000001ef316bd758fea3a000000000000000013513ebdc5ab513b000000000000000005a524bdc80d5d3b0000000000000000d31123bdf6c5bd3b00000000000000007055ddbc518e903b00000000000000009f8b803a3286653bbc033939a289a7b67c93273ae7a21b3b59a2dd3a67fc023bcc001bbaa01e153b7ee3383b1634943b93af4bba1e34243b0773783b08a2973b9ce2f5b91225fa3ac0074d3b0b0ba23b25598dba9733813a2fc1a33bbe1bac3b20bb37bab716a63adf02743b3f145b3bd86289ba5e66dfb7343c3e3b3e05233be24101ba52b23038dc1afb3a74d19a3a5c5d033abb69833a3c817b394cf5a2bba1a8463b39543c3b0ec1213bfb71a2bb2c94063be799473b6c0fe13ad2247d39ef28683b00a30e3b7637e73a278c4a3b83e95c3b44b9063bfcf5e23a2acd8c3b82ec1d3b6227943a22e0b93ab64d9d3b005b173b27e25a3a6f15b83a281ec33b8e73c03a660a363a76ab0d3a132db63b5409853922adde39b375a93927f79b3b4d5c053c13cebcbc9828e8bc46c1933b63a478bb5d8b45bdf62013bd48a4c03b58873bbcf7e865bd2490fdbc03c9ad3b0f9a76bc2d425ebdc3d8d1bc97979b3b113382bce0113bbdf58c98bcfdc1993bb63868bcef0922bd7fec60bc3add8a3b088e50bcf465e8bca521e6bb852ab33be8be0ebce05b87bc3be2d9ba510bb43b87a31dbb579fa3bb500a633902c0623ba5f64a3b8c1136bd7394d93ec0293e3f37f9c53bbbb25dbd37d9d03ecf95343f608e8d3b43c525bd3062b83e293b1b3fbf03563bff50f9bc6ba49c3e1fd9fc3e5f70293b45bab6bc2e567c3eabb1c23e7057803ba14c94bcd9b7433ea46e8a3e54d9173b17415cbc7488053e77d1273e8778f03a37262fbc1204933d4f18833ddd9bc73ad4f4b5bb22b7743c19fe89bcebed69bd2a232d3b0000000000000000e70a98bd8aa3a83b000000000000000051f981bd3dd93c3b000000000000000004b76bbd7a9e013b00000000000000008f2354bdd22c383a0000000000000000d43e5bbd2f30fc3a0000000000000000dc0a52bd818d7f3b0000000000000000afd345bd722dcf3b0000000000000000564e07bd9c87983b00000000000000003d7c69ba8437313ad9f561ba6e231d3bbec29fbaf5611c3b5c320b3af9bd8f3ba24b86ba239a253b3efea83a86239a3b684eabb9ba54fb3aada20e3b7c17cd3bb829123808f4153be2c1043b8c69933b22bd86b9fe1a413bf241443b1d67993ba59320bab3e9023a4998463b6b9a8e3bdc7941bab9feadb9cbcb3d3b3a195c3b0e97f3baf843cab9019edc3a4f17bd3adf529e3aa30c693bb45b45b90c55babbff9da33ba47ac23ba2bd6139f34286bb93875f3bdfa4253b44912d3a937100ba38ae773b7885463b2b22ae3a5e044c3b8cfd1b3b0aa1dc3a41f8f63a31e1a53bda730c3bd1c4713a27d4dbb9dd6d893bec8d253b8072a93acddd5a3ac3f0c13b661ea939a4149339da82b1b7dbcede3b491f473953246639d037bd39c135b83bd375c93bcb86c1bca1a103bd2992893beea81fbbcb5e5bbd8ca231bd2d50913b8b79f9bb924565bdac8608bddf3ca53bc6de30bc1e0673bdf646ffbcd25b9e3b910332bc141c3bbd8601b4bc056b6c3bf73039bc90c72dbd2eba82bc1993c13b2b9c32bcdfbee7bcb26017bc3107a63b9ce21abc43eb82bca6a016bb4636d23b564179bb425a75bb8b7cf739162d9b3b5b53853b98a71abd6cf0893e7b8f683f86d1b73b2a8930bdc6f1843e99eb5d3fbde9923b954cefbcdf606e3e9c31373fe1353e3b0d58d0bca4a94f3ef4631a3fe9048a3a10e285bc4cb3273e0c36e93efa0b923a560378bcd961063e2f84a93ea20d093be25e39bcc8c4b93d7bec503e88d1103b532430bce53a5c3d31e7a33d5ff8e43a460403bc05c2623cfb468ebce40080bd454be3b9000000000000000022749abd0b4e223b0000000000000000a81d6abd4d0bab3a0000000000000000cfa568bd044dcb390000000000000000f6ed45bd673a1aba00000000000000007e405abdd9d4063b000000000000000076b04abdaee21c3b000000000000000091bb5dbda6fdcd3b000000000000000027711dbd4c43b53b0000000000000000b8b656b930501b3b91e6cabacada2a3b6f631cbaee5e043b72cad1ba853bcf3bf5c2f73981e61a3be2a4773ab52d033cdb9735baf030d63a8c4ca13a664fe13b61772fbae1c09a3a9fe9123b6643c93b270753baad944c3afa494a3b843ec33bd821c8b97b3e4dbadcea193b60e4dd3bee2870badbc48fbad12d373bfd8a8e3bfa8a1f38c811c4b999aec039251c1a3b06687a3a40d95c3b405a633ab6d4acbbeafaa23b7357983bed0da03a209346bbbcd1b83b809c843b2a63ce39f7541a3ab491903b57e33a3bfc34463a3378643bedde793bf5e21d3bc43e91394c87a03bcc36653b4d17143beef6a339bca5c73b18ce2c3bfee7da3a507bca392cf7c13bc295e13adda7713a8b329bba11f3ba3bee998f385d862c3ad20964b97dbcac3bd9087e3b54d70bbd313a1fbd86b4773b9ab983bbd0ee89bdba8e39bd5fb4e83b41b5d3bbf5c792bd0c5828bd30d57e3b03a404bca60d88bd8d070ebd83f0783b9b3c0bbc25155abdb9d7d3bc42e36c3bdbef2dbc70543cbdd2bf9fbca58d9c3bf9fb45bced2609bd31f03abce8d6b53be08d33bc6b258fbcc5e042bb4b4dc93b6eeaa8bb24b01cbb9a2d503a18db983b63c59c3b1092debcbaa0f33d32518a3f7ca0bf3b3815e4bcd2dcee3dff67813f03ff5e3bd305a5bcc6c1e73db7ee5a3f734a3e3b78fe81bc4542d43dac2c323f7bf70d3b9a0241bcb570b53d9a00083fc8560d3b82702bbc6e00963d6266c43e6623093b27e326bc5901583db7e9713effbf043b26581dbc1fc6fc3cc98dbf3d2dc39b386053c7bb22e4163c6eb3babc28146dbdfc1b903900000000000000008f7584bd1ed9b13a0000000000000000904e4bbd9cd2ccba0000000000000000728535bd862416bb0000000000000000f05427bdf61713bb0000000000000000cb6c3dbdeb59bdba00000000000000004b6f4fbd365121ba000000000000000055ea5bbd405db33b00000000000000003c2732bd81e08b3b000000000000000000000000000000000000000000000000af7102baa242653a66d40bbb63c9a43be4246bba5383d2baf68498ba71d7a63b3add1fbaaf2d633a77ce9e395d0e9b3b50f505bae7298e3a2e71d63ae3f5503b9def25ba79eb203a1096df3a10538f3b249a1cb93eb9c0bae9351f3ba6b78b3bb5e375bada9680ba123a033bcfc6833b000000000000000000000000000000000000000000000000000000000000000093579c3b2570573b1c365f39f24f68ba81644b3b8c39663ba724ae3aeb51803abe9d4a3bf7ab023ba62f2638c65c583b9006dc3a7e410b3b3ecbb8398361913b24b2433b3ca5223aa3429eb9e91dac3bd337263a2753153b696837390504be3b2a68c73aba202c3a8f6bb1baab14983b00000000000000000000000000000000000000000000000000000000000000005a6410bb417675bd9a951fbd344b083b41b886bb0fc773bd06dd06bdb8ba8c3ab4968abb320558bdfb8de0bc73aa963ad96bdebb557933bd2ce3b0bc18bad13a89ecd1bb40f815bdeef481bce2389c3a8ae5f9bb73badbbccd5622bcc421493bfeb40ebc1fce83bcbebb59bb6121893b000000000000000000000000000000000000000000000000000000000000803fc1a02b3bec0f38bc49ae01bc54378a3f13bc503bba1f02bc94e1783b3773673f7e169b3afa50c0bb1bc9363c97573c3fe25a8b3ace5990bb7f4d4d3cba50123f9190763a27f076bb4e8b7a3cfddcd33e11ee7b3a194f63bbe813613c56b1843ef4ba033b8ca15abb0a77283ca2a1dc3d0000000000000000000000000000000000000000000000000000000000000000e151f6bcfba743bb00000000000000001031b3bc658e16bb000000000000000046289fbc607c84bb0000000000000000a001aebcb79077bb0000000000000000b382d5bc06d44fbb0000000000000000238801bd8e9a18bb0000000000000000456924bde823f13900000000000000000000000000000000000000000000000000000000000000000000000000000000110a89b982c7dcba3aaf093bc646c63a585775381ead1eba48282a3b8baa293b98de013aa231193a3d7b253be1ab2d3bb1a414b930fee03afa5f1a3bb37e013b4233193aa0b0b93a3da8f03a753fa73aab393ab929b29e3a9d1a2e3a04dde03ac751ddb953199a3ab6e5343ac4266eba0000000000000000000000000000000000000000000000000000000000000000c26bb63b7f87173b03760eba5965f73b820f9e3b126fc23a5acaa73adcddde3be387893b595c843a31951c3becb3b93b283e123b5044dd397a5c8f3b95245f3b1d225c3bee3d08baa372843b9f633c3b56b0473ba54a523ad5777d3b8cb1573a0bb58c3aad73eeb8a3ae643bcc6688ba000000000000000000000000000000000000000000000000000000000000000004b9fbbc4b9144bd01ff63bb17a5453bdf1404bd7e3424bdc82714bb07ca263b8f45f1bcf2b206bd2e3f90baae40373b9170c8bcd3d6cebc54a8993afb39ac3a1c3fb7bcf7f79fbc16a2583b33e63f3b808891bc254453bc0dd6bd3b8760b03a48e748bca93cc8bb8e6c2a3c88bacd3a0000000000000000000000000000000000000000000000000000803f000000005738c6bb3313f5bb5fc0803f0eb816bc07af8dbb186c743bfe005a3fa9f634bc2d965bbb1e8a2e3ce58c333f776b70bccc96b8bae873693cc9630d3f0611a5bc7698eaba9ddc9b3c15cfd03eb83bf1bc93cd53bbee61aa3cf8ff863e126c1cbd4560cbba2fc9b33ca36bfa3dc5284cbd0000000000000000000000000000000000000000000000000000000000000000617d9dbc9d071f3b00000000000000007e1a90bcbde5b43a00000000000000001ace89bc94a80d3a00000000000000007ead71bc3a6f683a0000000000000000f2d959bc3db3303a0000000000000000392024bc0291a93a0000000000000000ad0bc6bbc200333b000000000000000000000000000000000000000000000000222590ba238955ba0d3fe33a23fa57bbd1c6fb39dffacc390f32673b23343939c3f8acbac3a321ba31a24e3b1253223b78e552baecb3573a06921b3b8f76733a19ca13b84e2dc63a4de4133b73b6753993d043b790190c3b8ab01d3b35fd5839872928ba42d0103bf7e40f3b90a12dbae70db03806c0263a958fe73a3718beba0dbe09bac4694a3a472658ba45ea45bbb0eba13b5adf0b3b297f34bb36faf13bb327b53b3c10423bde0655bb6abb0a3ca3e8c73b5e35503bc82dcc3aa051163cc759903b3739123b38292c3bd2a02a3c00b1a03b9a60133befd8443b012efe3b7b6f463b2b02a03a1e746f3b9a29c03bd884123bf5860e3ae80b643b772c693b0c85b43abd6d56b8e286ee3a0fa1363960d72b3a9f2595b8d77a013bc8e0823a7b02fbbb059f37bd10871abcc195493b39b4cebcc6c870bdf067f6bb3365843be9ebffbca3c159bdde170ebc394e9d3b3580f8bca1b145bdbd6ec9bb535c623b4906cfbcef3b16bd851b41bbe717993bed93bdbc83a7f2bca434e83aedae7b3b328a92bc3deaa6bc7bc9c33bc1f2533b190127bc9a2f59bc9b11253c9b33433bb8bd77bbdbb6d1bb6616193c5276053b798aa7bb0ddbf9bc30c5803fff6f023e617398bbe8c9d7bca4166e3f6000e13d8be2b4bba64622bc85294b3f6bbeb93d836281bbbc37573b4b00283f3eff8a3dccb177bb86d1313c9d4e033f5ad2293d7b455ebb2e978d3c30cac33e0ac0503c0f5c59bbdab0aa3ce004803e3df778bcf6a981bbf35fab3c503bf93d4da929bd6c0533bbba92923cfc19a73a01aa48bdd31cd1bc78790e3b0000000000000000287202bd4c4c553b00000000000000004209fcbcc878673a0000000000000000d28af3bcf8d9ea3a0000000000000000b3b7d1bcbcc118390000000000000000faa1c3bcb1aacd3a00000000000000007c44a1bc6f89263b0000000000000000e58065bc5372923b0000000000000000ef2306bcebb1943b000000000000000095db84ba5d7b4e3aa713293b46ef94bb1b3fbbba34fbad39fcf5633b1c0545bb7e5609ba3235da3a101b673b459e1dbab2c41cba84b1d63a2a215c3b3e65e2b989399e36892e173b6658103b819686bafc67bbb99a1d253ba8ab053b5bfea2ba01cf07ba3240cc3a99a1a03ad5d1b6bab3f42bbaeebcf93a9030d639ea2a2fbbfcc697b95413903abbf236ba8ab052bb515c783ad6a02c3b9ebe16bbbc84d03b11196a3bf5c7813b9b94f2baaa5c1e3caeaf7a3b8fdcf23a090281b8a49e263c608c713b24773b3b49d7733a167d413c7105083b8e63e33a5313053b3848273c401b103b57a3033bfb5e303b97fa1d3c2dd1e63a134bbc3a7d6c0c3b5ee5c83b1ebdbc3a5495b4b9c188013bd3ebb93b0089c8398cc0393a773ec83a4808803b2c459b3bca5616bd2a837bbc55463a3bf5c9e0bb07a561bd59f297bcb92f963b35214abcef5448bd423080bc0456963bc9798fbc13d449bdcdfb47bc3668823b7a4368bc02ae14bd6c31fbbbd6b8433ba3d977bc49d20abd4a1774bbe0318a3bd49e33bc44aac3bc0b88523a23648e3b0cb6e8bb1fa68dbcd3d8bf3b96049f3b6df2ecbaaca11abc58ceb03b9f42503bd1a64bbbd98f12bd5e185b3f5d108a3ed1a86ebbe15917bd81f24c3f41e6783e3d3177bb8c0b90bcde822c3f8730503e51239dbb055d07bc01ca133fb902253e4daa7fbb5ea40c3b33d0e53ef1f2ef3dafeb90bbc12a203c5455b03e75b38f3df2818abb90825d3cfc8b683e21e5f93c861e8bbb9c1b8e3cda8af63d946992bc2c8050bbe0f9653cf7c5543c952522bd0d41f9bc7359843a00000000000000001ca127bd7242f13a0000000000000000ae7513bdd07209ba0000000000000000694818bdb947dab8000000000000000070e2fbbc17f1d7b90000000000000000273d07bdca9f8d3a00000000000000000f3fe3bc04672a3b0000000000000000da76cdbce9cda63b0000000000000000f66777bc07f4a03b0000000000000000ae183dba4ff20a3b5ee5213b34c7bbbb20f490baa63c163bc1db493bb7d694bb917d88baa4431c3b77c9473b975f27bba9c1c3ba9ade4f3becd3723b679a0bbb1f2b6539ac23823b7d68923bea960abcfe7691b9dcbc3b3bfbed143b121036bb23a0ccba9208453bbdf7b53aa57d13bb2b06a3b9fbe2073bff9b65b8ed6651bb39a8b0b9bdbc943a6db9c3ba21d203bb22d7b8baf8de813b67d20ebbe445a43bb6038f3aade1893bbf7014bbfd000f3ccd3b023b03926b3bb3f548bab5863c3c2ad7af3a8085843bfe84fcb90d04533cea0a223b9786c33a8e62f23a6aaf523c4522193bd892ee3a9033e43a8ae33b3cbf3fcc3ae802183b8f85923bb4e4143cec1b3a3ad80ad93ac1e3d23abd48123ccaa7a2b96172403a12fba53a3312d23b6afd4e3c922ef4bc62b3b0bc7d5f0b3b1cc8c13bdfe145bd9661ddbc3b36803bd9c244bb6fac4ebd07c3c1bce512683bc845d7bba43a45bde298a4bcb577283b313dccbb063f1abd6f9c5bbc2813e03b10bc02bc09c812bd58e807bc9751b73bab8cc9bb8ab4dbbca4fd42bbe3590e3b992585bb51e3a3bca4e4803a4b4ebd3b83e47d3a85c844bccaff663bf0907f3bedf49db9770012bda5ef343ffccad33e997326bb06dc21bd6cd2293f11b7c13e684d7cbbe0c4cdbc6113143f1035a43ec8b09fbb03f755bcf35df93e91fc843eff8c73bb590a59bbec08c83ec0c4473e3f5484bbc004693b51be983e428c053eac80edbac96c203c59a8523e25768a3ded8c8bbb06714b3c1359e93db8511e3c05c533bbcc10333c0e92aa3c74eeffbcef2a09bd30c785ba00000000000000001a413cbdf10df0b90000000000000000bf8b34bdb9e6c0ba000000000000000017e32bbd7a867fba0000000000000000cac126bd4545fcb90000000000000000b26622bd7eb847ba0000000000000000cc671abd29f63f3b000000000000000043bc0ebd1f01a03b00000000000000000d9dbdbc96fc933b0000000000000000b424fab94c37633b242a453bcf6fadbb1cdcde38f51c513b305b363bd6849ebb9e63813af22a553bea1c3c3b2a5228bb4f27943777e47c3b7c49963af91163bb379516b8c2b4393b77a1d23ada1405bbf8fbf437418b573b9c30163b1f7bc9ba051282b930a0653bd1bb5a3a0a4985bb6ff57db92cb9083bde3a3b3a5e243abb0aa177394841f63aec8ff7b97ab147bb813114bb9481263b05c2e9ba7e276e3b64c75dba8afd8a3b887204bb1a0bdb3b3233fbb9cdb5833beb4655baa5541f3c9e77253a4ae45e3b94e98f392aaa483c0c80a5b954a4df3a2401183a4169273c6d072a3aae881f3b211bbf3a056c583c26865d3aac1bf73a18dbd53a18043b3ce75441b9ee43df3a3bb5a53a0f772f3cf7c9d2b9e0e4a63ace96b53a1710053c59ee943cbc3bc5bc9ea0dcbcd40ec23a6756703cb26b26bd37b20abd10d34b3b2891d53b4cca2bbd8b83e6bc467b303bccf4083b521632bd2c91cdbce325543bcd2aefb3466df7bc605d81bce63fe83a8bcae5ba714309bd84e75ebc3b38993b045f26bb2df1cebce6a7f9bbe471a63b66ffb9ba556ca4bc694b45bbb161d43b9e6a0b38eb4049bc81265fba50339f3bdfe79aba9a740bbd437b0f3ffe1f0f3fa44ccbba817d1abda605063fd619033f8e23b6baf2a0cebcd612e93e728ddd3eb34a9abb0d6f7ebcbf33c93e0958b73e8c7d84ba7f63b0bbeaa99b3e5ffa893e00b7b5bb0de12aba72057f3ebe3b453e5dbd8ebb8879703b50882f3e47a9e83d9c4376bbc657003c59dad23da544183d70941dbbbe4b043ccb74db3cf49cc2bc841110bd0df18bbb0000000000000000cbf540bd2a7539bb0000000000000000b86e2fbd98f47bbb000000000000000060653abdaeeb69bb000000000000000088ae0dbd65133cbb0000000000000000a92f40bd6d7c35bb0000000000000000e9d32abd81e7943a000000000000000064f82cbdff697b3b00000000000000008c80f4bc110e853b00000000000000007a1076ba57285c3bad52093bfbfe8fbb7f6774ba3af8633be34a043b6fc96dbb6410e8ba3618123bda754a3ad502ac39f171f8b90681593bc2cd203bb699a3ba6c5e4c3ab02c483b5d26273b09c2a9baa7563337ae936a3b168e873a95720ebb05b89ab85bf91e3b91030c3bad9c9cba8b5eb1b92178063b8c0caf3afb3506bb84bd82b84aa7813a8c36c6b9bda563babb7650bb97044c3bb785d7ba4182983a2a34d2ba2239a53bbd6ecebad4d7953bd3ca003bc469163bc20382b94f9ce53b69a33a39cb4b513be2b162b8d06f303c9e1154ba28af253b19f30936e4d3353cb415683a53ef5f3b81cf573ae7b23d3c4d84afb7406a293bdc64373a04fa4c3c164bcab9c8ed1e3b52651a3a1561413c9f13a239f9bc8e3993e8503a3df00d3c0985aa3c302ba0bc6bfb03bddbcbaf3a6773a43c5b5d1dbde32d2cbd0fd64f3b79983c3ce98038bdde0b1fbd21b3e63ab7e6fe3b944630bd795200bd62784d3bdb28923ba2fd19bd1f89cabced523e3b785aed3aca2608bdb88e90bc7323bb3bbff3d2b954a2e0bc591144bcfc5fc73b593447ba0295a4bc4e09c7bb44c0f83b3192313805623ebc0e3153bb68a0e13b9c21f137252805bd5b82d43e16dc343fd8a015b9fd9918bda1c3c83e9760273f9012b7ba2dbcd7bc5bc7b23e27570f3fc5457cbbbbe48fbc96e5993ec2dbea3ef81205bc070f2ebc7b0a7d3e16eeb53e32945bbbc0b085bb2b40493e5cee823eeb4668bb57d342b6f1b9143e10b01f3e647d5abb65e7563bdf8bbb3daac0793d0cbe1cbb45d0913b63c4f43c4aed92bcb5a415bd218260bb0000000000000000a81e4fbd14bc83bb0000000000000000cae64abd592e97bb0000000000000000493e45bd8c6eaabb0000000000000000fac643bd0b0d9dbb0000000000000000cc2454bdee5067bb0000000000000000753555bd14972ab900000000000000000c5953bd9353773b0000000000000000cf6314bdd616673b00000000000000002bfb1fba97f4343b8e63473ae57641bb1331a7bae4453a3b4021af3931fde1ba8a6a83b95a4e1f3b6f44203b65c93c3a0b101eba61033d3b66abc53afbc554b6005389b97506363b1e0beb3a5d0ffab9479b13baa634233bcffe173bc5a99838294b9ab94e72e23ac8720e3b6aa5c1387625f2b91bcc913a3d1dea3a367ad2b92d19b738ae5f1d3a1b40583a426093ba351f6cbb3f4e9e3b67fd7fba63a168ba0de592baa2d4c23baef4ddba0f950b3b98f2873a4ed56d3b9c9bd8ba863aa83b4d9d39b9e3278d3b4be850ba1698123cddd30aba3edd413b8b4e8bb971fe253c1f4daeb93bb4813b1db4d9b95709473cef2c88b9c66b093bdbd0f637992b343ce01cc7b8f0fe3b3ba57828b9ca5f3e3c483b1fba8037e13af3bbf83958620f3c2d90b23ca62794bcd85e18bd6df49a3a9deaba3cc6451abd483247bd3b7f383b7eef813c9eb420bd5a811fbdfa29973acb09423ca11d2dbdc01817bd6d06e23acb54ed3bc3d007bdbbf8d5bc2909073b5b49683bc1c709bdf261b5bca499973bbb659c3a836ac7bc448a5cbc2a3cb53b0896a6ba93399abc0fd4fbbb108b063ceb6fb9b93ae61abc4cc05ebb3da2d43ba45adc3a6957eebc52da8a3ea1075b3fc72d923a0af508bd898d843e9b444b3f55b0adbae473b7bcee7e6c3edecc293f4a2f16bb4e3191bcb02b543ed4b30e3f032345bb90c923bccf562e3e99c3da3e8d1972bbfca9dcbbd6b6143e03ffa03e5aba21bbb8bd1ebb31b9d93da9e3493ebd403ebb3de470ba8cac9c3d1f49aa3d9b22f0ba74f77c3a30efff3c04bb6ebc0d3616bdf6eb93bb0000000000000000601149bd2c18c3bb0000000000000000351f23bdb8adf1bb0000000000000000fe5e3dbd9d1300bc0000000000000000ea642cbd5024c6bb0000000000000000681f59bd409698bb00000000000000003aa24abd625eb9ba000000000000000006a66ebd30b6423b000000000000000015b72bbd958b803b0000000000000000694642ba15b6053bff8ed5b90d8971ba7e0215bb9d421f3b3b7016bbc723ab3a68d71ebac87ef83a70d726ba25684639c74c44baa8d9003b7698523a6da2f73a8cd416ba58190c3b29adcb3aa9baa53a94f1bbbaaa43323b0b29273b86dbe93862a696bae6869539cdf4063bdb969c3af0f513bb6f5e19b8c1e21c3b12f423390d0019394fa4ee39b84de13a726fb0370b0e38bba18a873b82948cba6af01fbbb1035f3a22bdeb3bd7ea2bba53402d3a5d96953a0a48b53bc3cf98baf34f843b9372453a0ab5893b9cd4ccba505adf3b4696f93947c45e3b43f4a3ba46c70e3c4c06383a899a4a3b58f984ba6dec223c31bede3a9777973bab760f397866403c3fb6b2bae61e513b8deb96ba2fc6363cafe8fbb90eff063bc2971439d8d70a3cffcdb23c64f698bcfbfd2abdb0c64db97173a93c5eee23bd384853bdbfc1133b1c8b8b3c4eae32bd09833bbd99542a3a2663543c3ed129bd16941ebd176abd3937760f3c09890fbdbc66f1bc8085903a89deaf3bb33b09bdb70abebcba38613ba7da6239a203d2bce2f781bc0fd7a93bd01f72ba20b369bcb7e5f1bbb5f51c3cd49c93ba33faffbb40535ebbbe4cda3bfe8c183bb5abc9bcb679043e4ab0803f0640123b6d83d1bc60f1003eb88d6c3f997b3bba93b4a2bc5c05fa3db526493fc9501dbb2f0375bcbeabe73de02b253f8e2445bbc10523bcb650cc3dab61003fc0c43abb8753e9bb581db93dbe0dbd3e404382bbf59782bb6477993de2286e3e58530dbb4d027fbb4033643de8becc3d4fecd9ba1980cebafdaa003de33c61bc7466f9bc4ff8c3bb0000000000000000d88520bd1efcf9bb0000000000000000f46d11bd76821bbc000000000000000074f814bd3dd822bc0000000000000000130e1cbda6dc11bc0000000000000000c81546bdb83aefbb0000000000000000c9ba5cbd25b195bb0000000000000000016f79bd339d8d3a0000000000000000932942bd4a69153b00000000000000000000000000000000000000000000000055da19ba34af6a3a510cc4bab620f33a39dc60baa18a6d3a01c751bab4771b3b777623ba7b76993a1fabe4396542e03a3c04a3395373013a9be077387a10ff3a7effbeb93c648e3a34c2e83a91b8b73a8ef404ba9560513abae6133bf775cf3accbe10b84613c3398422213b1314de3a0000000000000000000000000000000000000000000000000000000000000000a1d0eb3831468f3bbc03e5baf1086aba88b197b940bc833b3784d8baacbe083bf5162e3a6975223ba76cb9bad38e8f3bfd6347ba77da293bbe5317bb9125e43b5285ae392bdc0e3b63f569ba4d2fae3b27c391394d4c1e3b095f99ba6facf73b8ff73fb86c610f3b6ab815bae45b043c0000000000000000000000000000000000000000000000000000000000000000a9548c3c602a00bd5ded2bbdf57f14bbad545f3c07c705bdf1d60ebd7d5acbbaccb52b3cc3aafbbc50d9f2bc23e5d4bade1d053cf7cad4bc3db4cabcb53f38b997ca893ba49cbebc78cd92bc623c513ab35d933a714996bcbd4f43bc6ad23d3ba333b0ba15fd4abcf832ddbb465aa53b000000000000000000000000000000000000000000000000000000000000803f7e9f7d3a36df82bc06bf553b1ad0803f7a25a0baf2763bbc4f104d3c9dee593fe5920abb2bd711bc1e909d3c6458333fafacf5ba5c40f1bb29edba3ccfd30c3f484633bb83f590bb5380df3cbdeacf3edccc1bbb21bc71bb8cc7ed3cd619863e732efebafed93ebba648fd3c6688f63d0000000000000000000000000000000000000000000000000000000000000000f1f989bc5b5812bc0000000000000000a12780bcc7590dbc0000000000000000f99995bc5de323bc0000000000000000f611b4bc5ba00abc0000000000000000a1c0edbce69c0abc00000000000000001a4614bdb85dcfbb0000000000000000629039bd6b5169bb00000000000000000000000000000000000000000000000000000000000000000000000000000000d890ba3ad4b4a13ad1081fbabe810dbb4114653ace5e5e3a02803dba3af6d9ba6745bd3a31caa13af42633ba983befbab072bc3a0b3f593ac67193bab897eebac725d53a93df503a9ea790ba65b0cabaad4fb53a84740c3aef739ebaab43bfbaea9ab63ad6a6193a3f2cc9ba3f5ccfba0000000000000000000000000000000000000000000000000000000000000000e3c083bad2213ebaa660f93908f87b3b59a388b9442ba5b95bf0453ae23b693b26cd6aba730747bab682da3aa85d7e3b1ac5a1ba41cacbbab828f03a44a7573b272b31ba14d88eb90fdf033b4e1b4d3bb63c8bb9b9d4e5387d94ff3afb322a3b8473ccb9e2976bb9dfdb143b8f8a293b000000000000000000000000000000000000000000000000000000000000000089db72b9df06bdbb064f3abb74c098ba4f1a8eba8c49aebbc2f40cbb740827ba3d7398ba4f0aa4bb77a814bbe6376aba9692aaba632d86bb0478f5baf3e4573a922cd6ba9cd26fbbe6c48eba963a0bba4ba5c0baf1784bbba31b25baadb51f371222d9ba605743bb42eea3b7ac0404b90000000000000000000000000000000000000000000000000000803f00000000cc5302bb1f2cb13a7aae633f0704393a436be4baf0a5163b551d433fc0e474b99fe1e9baf585723b85cd223f5b7156ba689a16ba7c4a803b4bf2013f0c9eefbae24549ba1d9b9e3bd72ec33ec20f57bb48da13ba4f9a9d3bc514823ed01c90bb8bdd52b9c6edb73b2dee023e3270c7bb0000000000000000000000000000000000000000000000000000000000000000021463bbd57105bb000000000000000001b25dbb0314f7ba00000000000000003ac86dbba8abf6ba000000000000000018be57bbad65e8ba0000000000000000669e54bb9794b2ba000000000000000047904cbb471b84ba0000000000000000624e45bbd23e26ba00000000000000000000000000000000000000000000000048dc293a9651a83a47a91b393ea329bb86bd643a290f9f3a9a1e98bae6fc03bbcc259b3a7087b83ac00362ba03c34abbf90ef73a093ff33a436740ba564d31bb8ec5f43a6c6eb63a5f1561ba9ff70cbb37ab0b3bbd4dc93a7aa3a0baba7c1bbb49f02a3b1faa2a3bfbe704bbc2962fbb07cdf13a58e3623a1c1ee1ba78fe11bbf154aa3ad7b0133aa3e3bbbae364e9ba8faf8dbafe0af3b838528b39b0212f3b991d5bba5b7fa33957da01ba58a9873b8a99ffbaf6256fbad106223baee3d73b2092cebacb5f54ba0531b13abeaba63b84aa9cba72c501ba80e8db3a47bc893b98989abadbd71abacb76123b970d943bd941a7ba3a6ee7b9f9f03f3b134e9a3b693d08ba4e5d85b854b51e3b1019743b4c0594b963a515b902c3013b9b18373b348c0e3bbbbb9fbbd1215cbbc663afbaab83353a169900bcbc7461bbb87185badd4759b8b032eabb7b3a90bb4e3b3ab987e615b99407d2bbb58d68bbc695bebad38af6b97fbea2bb353017bbcd9597baf7ef79ba2360a7bba5ea08bb2a8264ba5bafe2ba5c0aa0bb99bad0ba49e24eba1aba90ba392380bbdb7420ba53f0ddb813db61ba30793fbb502861b9de468eb878b608bb71cfcfba8e8e633f6c9d023e3e12c7baddd9bf3a8efa483fccb6e33dffa82ebb26b4c43a3f952c3f3fc2c13da5320cbb4502553b01b30f3fe679a03d32cdc8ba7c6c723b3438e53e233a7a3df638b2bae65cac3b16ecac3e9af1323d93bd2bbafa08c13bd8c6673e93b8d33c22ca62baf617c83ba7d5ea3d7b35153c449605ba0dc1a73bf30d553bd7fab8bb67e479bb6c7329bb00000000000000001772babb601d81bb0000000000000000cbaeafbb26d254bb0000000000000000691fa5bb5d332fbb00000000000000000d2b88bb395e0dbb00000000000000005f9fa0bbbc7f00bb000000000000000079e69cbb30eaacba0000000000000000162589bb97db87ba0000000000000000e9f348bb7b832aba00000000000000004b895d3a82c8ff3a711ab039843f26bb2267d83ae97e3b3be211153aa13e2fbb6640063a97ccc43a4a921bba702741bb7578163b0cc1233bae85fdb9fe9756bb4d23f13a16d8ef3a8cf844ba2d2825bbb548243bbde90b3b41e38ebabb8b47bb8fc1ec3a5b4ed83ac1d590ba649226bb813b073bcd61af3a938aeaba98f43fbbd675b03abce8433a0eccc5ba1a3c05bb12a8fcba7b8ff3b99caa5eb94543553b84015fbbfc3a66b93b4c76b9cf3ea43b18c0d2ba5aafd6bad6085f3aab50b83b341a19bb159642baea00863aa584b83b22e3faba6bd058ba2414a33a9d2f933ba1c0efba948d21bb3277f53a4d42b53bba31d1ba8754483935c8dd3ac1008e3b6c2ea7baa64a48b90f8a143b44b29c3b2c3a1bba699ff537031ae13aa5204e3bed864b3b81cc80bbea157ebb91ccd8ba2c417e3bfc24fabb7301d8bb013856bb4769af3ae5d1c5bb78f38cbbe21ac5ba09fbe33adce6cfbbd77999bbbd760bbbf689743a2d8691bb381746bb02f4e0babc2e2f3a7efdb2bbaf514cbb3933aaba7876b839ddc585bbaa5402bb37048eba4cb003b8d66596bbeb68e5badeca18ba1b194eb9175242bb56d453bae7608db9e82cefba7454e5baa515433fc2ee813ef10a47bb0e96abba367d2c3fbaad653ecd9f00bb13c345ba17f6133f17af423eca7421bb0ec5003b7ad7f73e3361223e1854e1bad848243b4f39c53e374f003e616203bbca72933b3fea953e8633bd3d7fedc0ba0d598e3bf326483e8898743dc821b4ba135bbd3bb4d8cf3de309d63c276472bae8bf8e3b9a33913b6d9b8ebb923a67bbff5e21bb0000000000000000a1db9dbb4cbb31bb0000000000000000b163a9bbd64546bb00000000000000006babbebb56e153bb0000000000000000d29a8cbb56ac1fbb0000000000000000a338bcbb82c623bb000000000000000015e798bbe0f0e3ba00000000000000006d21b2bb0cc2d9ba00000000000000001c6766bb00b172ba00000000000000004b383b3ae3b71f3b6be04b3aa26015bb1d45bb3aa6e95a3b411f003a99396dbbc207853ab640ea3a0750293afa5646bb0bfdea3a2fb4453be253b2b904447fbb9391023bf85b293bbebef3b9cd3e48bbe82b003b16a26c3b49d56ebacb067bbb74170c3baf0e163b047361ba004d3abbc52f0d3b7400013bcdc9bcba9c064fbbf39fd53ac70d8d3a962ab5ba5c5611bb2a4916bb0f668cba83521eba4793443b4a9554bbbaa3b4bade5104bac1c79c3bf9be3fbb8d541dbba3a107bad3738d3b85a341bb1fae3abaacde3c3af5e3bb3b38932ebb137bb9ba7f35773a08c6aa3b24dbcbbaadb1dbb9f61b893a87bbbd3b398cdcba9abf04bbe92bd73a8d58b43be45ae4ba603007baf5d4e63a51e8ae3b76ee78ba3a7d1cb99dc6b63a892a6d3b27b9903bfafd3abb93688dbb058c0dbbbceea73b36afabbb8133cfbb875346bbfb34943bac9fa3bb08f6b0bb2c5026bb283d493b562acebbeb48bdbb56ac28bbae9d103bd01a9dbba9608abbb78a17bb4b6bc13af6ebc3bb131395bbb8d518bba069c83a450991bb96152fbbb2a32fbbb85e713a834b98bbb16724bb3dc142baeed4ba3933a546bb1989c0ba640400bac50b0dbba9f122bb27a3223f0621c33ee0593dbb58da0abb2df50f3f3a0cac3eb02a4bbb685298ba4828f83e3e95933efe982fbbf676963a2db2cf3e05af743ed16a11bbc651023b4e01a63e7d5f423eb56037bbea04483b15dd7d3e757d113e67ec02bb4905843b1a462a3e9884bd3d3b6ffdba23db9e3bbab0b23d2726323d112ba4ba662b783b94b7bc3b44eb4bbbc48a5dbbd31f3cbb0000000000000000e007b1bb186585bb0000000000000000e778a0bbf7ff68bb0000000000000000caa6d0bb62db84bb0000000000000000376aa9bb207a4abb0000000000000000e7b4d5bbfb017dbb00000000000000009bf9b8bb51e784bb0000000000000000b459cbbb8637fdba00000000000000009a6b84bb1c65a3ba0000000000000000aae7473ac5df223b02728f3a347303bb656cb03a2fed5f3bc2fa883ae00d4bbbf9d2e83aee2f553baddb373a8a4f99bb47514e3a3d0a813ba41a973a70f961bb5371cf3a96be173b3c8528b980eb21bbe52b383b2e657e3b73fd17ba5e1371bbb4a0183b382c1f3b278a32baf9d74ebb6938123baec30a3b17629dba1a8258bb13b4c93ab797be3ab8ed8dbad42e1bbb933d2dbb1d42c8ba55dc1fbab6ea2e3b344165bb08e6b4baf1627fba043f863b11153abbd8233cbb5ddbe4385aa7993b578d53bb1b9709bb170fd9b97707903b43c024bb35099cba0d610b3a56188c3becc446bb96d39cbab825c83a339a983bdfd91abb0cca7cba8284cf3a18c6b43b1a2910bbe27244bab234cb3af32bb63bd814a5ba479ef7b902dc843a0a94833bc37da23ba8740abbe1009bbb62ab18bb460fc93ba40677bbf966dabb2e0e50bb28059d3bd56b81bb0092b7bbd7f594bbd114b33b3b6a9ebb0a3cc9bb384131bb7af92a3bd56166bbd4b580bba4540abbcc5a213b998db0bba553a6bbfe1bedbad9d0163b671987bb59ec6fbb1ca6cabaff73d73a6e3e8fbb86ce52bb710e87ba1aba873af13b4dbb3aa40fbbb9dfd4b9ce1507bbae2134bba83b023f2407023ffe8137bb47c737bbc684e63e1c6be53e092028bbc4df69ba8847c63ec73ec43e3c4b3abb80e130ba19a7a73e69f8a33e0721ffbaddb0823ad0b3843edac6813e9bba18bba43e373b19224b3ed9ef413e6dbdffba5c0e453bbd4a0a3e6085003eac8a08bb31ae7c3b0c13943d2878793dacecc6ba1897503b15ccdc3b0c6ad6ba68355dbb387843bb0000000000000000b0339fbb275185bb00000000000000001d5a96bb2e186ebb00000000000000009e2db8bb594f74bb0000000000000000ad678dbbaf4f38bb00000000000000004c5eecbb657357bb0000000000000000243ac7bb50ca3ebb00000000000000005fe1ddbb5fee23bb0000000000000000be9d9fbbd007c8ba0000000000000000452c323a1f22283b6efca83a76c016bb275da13af917623be6519b3ac0c948bb8236d63a2e71643b2545633adb9340bbaf719a3a0f9c523b785f3339397c69bb5ef9ff3a6d1e493b4ee00539e56f3dbb13f40e3bf628583b90d8583ad8dc13bbe83b3b3b786cff3ab5929bba4a3c65bb9813153be6e6263b2d3362bab80051bb8a8ebd3ae69bca3a53a740ba20a80ebb180045bb1cc0d1ba8b5a2eba339c053bcc9680bb79b404bb3d8664ba5d536d3b210d6fbb78fafcba6c4e7ab909af8d3bbdb47dbbc5e8d2baa3679a3ad1aea03b43183bbb1c9a00bbabe6a6395d759f3b8b7b5ebb1746c7ba4f33043a44e1ba3bced036bbfc92c1b99ce3cc3a3026dc3b91fa1cbb704841baed05913aabb2c13b4c22c4badab701ba2268913a079d863b712eb93bc399a1baa1f4acbb025123bb7c26e63b979d46bb48dbf3bb9c0971bb6301c03bcb5d72bb89c9dcbbb9ef61bb4bdca03b11d39bbb67ede7bb1f1558bb1e81833bd7947cbbcf4dabbbdee323bbdf21853b70319bbbee42b9bbf99842bb2c0c0e3b435797bbca9a94bbb00eefba8b59213b13e084bb1e0876bb34ae89bad3fd9d3a839334bb234c19bb3e6547ba0311efba221245bb3254c33e30a2223f318d2cbbc41658bbda73ad3e5c860f3f161217bb4eeec9bacc9b953ed7bdf53e987e34bb91ab2d3a39817d3e17bbcc3e69e51dbbeee1cc390aab4a3e2515a33e2a0c42bb6821a43a826b1c3e7cdd743e78f10bbbc98a393bb34ed83deb27213e748625bb51c13c3b5e4b6b3d3444a03d2ebbcfba27c52a3bab42e23badc779ba4b0244bb19353dbb0000000000000000b15b97bb60f58abb000000000000000092ac9abb98ee89bb0000000000000000ceeac8bb852a9bbb0000000000000000a6a6aebb2fb371bb00000000000000002c66e1bb6e7a78bb000000000000000041fbf1bb93d45fbb0000000000000000dc5ef2bbd0212dbb0000000000000000846aa9bbffa1e6ba00000000000000001116fa39c4161f3bcaa8a53a7ce6cfba2ffd4f3a23965f3bc6dec43abc4e25bb03266d3a94103c3bed766b3a65591cbbd1b1be3a41d35a3bc2032f3ac8bb3fbb4169d23a765c2d3bb4448a396a6a1fbbd030f03a48744a3b85793538bae84ebb7082483a685c5e3b4a4cca392a401fbba075143bfaf5303b3fd90ebab80a4bbb93a5c13a4418dd3a9ebe00ba200804bb8ce43bbbe850beba02a28eba01b2b23a061883bb3fc004bb8dc998bab1ed383b884e59bbb67fe1ba831346ba221b473b845474bbb030f3bad771dcb9eed98e3bcb8a3dbbaf0cafba82e4c338f51f7e3bfa7462bb88aad0bafbd06739e680ae3ba52138bbbb1f0bbb76326eb97b1bbf3b4e6945bbdba020ba3d7c983a3088bd3b8f82cfba697860ba4fcd263ac34e803bd7b8b83b641fdeb9828eafbbf30c32bb8bbef03b45bb06bbe8bdfabb678f78bbe8f4b13b138b32bb97a0cebbbb6d53bb16aebf3b185572bb6938e4bb3d1555bb477e813b01ac3bbb42c29cbbb5d12dbbb5838f3b172a82bb7afeb6bb638232bb669a833b052f35bbca3f81bb295af7ba4273393b91bc75bbada38fbb35c9d8bae904da3aa10812bb7a1821bb3b6743ba3099ddba3dba4bbb753b823e3e20433f9d2d24bb146368bbe512683e692b2c3facb30dbb4deff2babbe1473e4a04133ff45030bb365a9eba4c682a3e5af4f53e737601bb118f5cb90538083e536fc33e815832bbf1781d3a5182d63d4c2a933e31bd31bb9409f339f29b953dc4ed433ee49301bb8b701a3b93a22b3de6a0c23ddf2ce3ba1da8d03a74cee43b8af7d538945e0fbb757741bb000000000000000021c96ebb12a18fbb00000000000000002bec6cbbc2a479bb0000000000000000936aa3bbd4cb95bb000000000000000074348cbb256f62bb0000000000000000fca3d5bb66a189bb00000000000000001aa4bcbbb8f442bb000000000000000044d900bccea456bb00000000000000002796aabb8b51f5ba000000000000000060a26a39af40103b05ead33a9caaa5ba4f342f3a38d53d3b7b8eb73a27070abb2438cf3aa589643b13ea943a39790bbb20ce963ab9294c3b2616823af3a21cbb4ee2a73ab232303bc7481b3ab2190dbb1f20d23a97c5443b7088a539529e28bbd72b583b64d0183bac75a5b8404f3cbb6aa66a3a31fef33a23af2fbabcaeb4bad9a6f23ae6f3b63a394773ba834acabab34948bb2290bbba31757cba8056693a41af72bb9e24eeba32d58cbaac1dfc3ac88b71bb65b911bbb7e8bfba333db13a78ad68bbf2bdf4baf0844abae50b583b62974bbb0fa2aeba0e0ba9b94e3d653b2c1c4cbb589bb9ba4a091bb9edf5923b2fe04bbba26683b921c2d43a30ea8b3bdf69b0bae1df59bacb77e7b941598b3b330cbfba7ab155b91fa40e3ad397653b5ec0b93b752d01b88859bdbb959e46bb351cdc3bf6b3b4ba968ffbbbbd5179bb19e0ce3b130212bbdf79debba70482bb572cbb3b80ec3dbb9e33dcbbf6f267bbdfd2903b6fb618bb50adb0bb84ba3bbb0a2b933b2dd056bbdac8adbbf27e27bbf62b693b9ef555bb5137ddbbea7305bb70c02a3bd18468bbd8c697bbc5ea103944d0a73a2d2331bbfec820bb07f00fba56b6cfba224d51bb4ad5023e5b9f633f03fb01bb897959bb8428ea3d356b483f8fec04bbe0ff49bbe61bce3de9c52b3f882d25bbe5d5dfba1cb8af3d8b360f3f262916bb4ec837bad5808e3d075be43e15362ebb104313b96391653d2d8aab3e777b48bbc20334b8fe002d3d2c3a643e597ab2ba4da40c3be4d5d83cc04ee33d2fe2dcba7066963aca60f93b6515ee3add5fc4babbd34bbb0000000000000000349d10bb290288bb0000000000000000a19b22bb39f588bb0000000000000000e67169bbc19892bb000000000000000063607bbb1d7580bb0000000000000000d194b5bb37b287bb0000000000000000febbdcbbbc3484bb00000000000000009df004bcf12784bb0000000000000000779ec2bb92fef9ba0000000000000000000000000000000000000000000000009bede0398eba123bf679aa3a3cffa0bafa0b1c3a658b043bf5622b3adaa0c4ba666a4c3a1980163b9b6e6a3a28aed3bac7524f3ad2e3163bd3f6513a6e44a1ba864e943ad2fa1d3b8e5f0139669403bbcd3ac63a4e6d003bc6ab093988b2f7ba65e0ac3a35900d3beed2a53923aef5ba0000000000000000000000000000000000000000000000000000000000000000ac3734bb9b9bbabaaccf94ba9c91803a4eba2bbb2877b6ba941a4eba3f9abd3ac4eb2abb68dda2bab59049ba2bec0a3b7c98d6bacb5f09bb357ff6b9b3f51e3b952d24bb291626baa8b32ab99bfb513b84a0ffba489bf538744686b9b84a4a3bdb5d02bbce38c4ba2648e438c758713b0000000000000000000000000000000000000000000000000000000000000000f6dcae3b4ddd6aba9582c8bb4df05cbb976b8f3bdaffdebac4f5adbb53434fbb0e8d8e3bbee9f4ba188ba7bbc9133ebb1fec773becfed5ba0b7571bb16536bbb89527c3bc50b31bb974691bbc03e15bb6a54383bc7e400bbebc563bbe53da8ba2d2a383b8374e3badd7c43bb377284ba000000000000000000000000000000000000000000000000000000000000803ffc63b9bab2e92fbb267b343b34d5633fadead9ba5473f1ba1934693b7b75433f186600bbc746afbab724993b7293223f3581fcba8e2150ba5baaaa3b2edb013f94dd05bbbe8ecfb933c9da3b342cc33e3ac102bb41f3a0b8695dcf3be0d9813e45770dbbd1609a39ab30e83b1655023e0000000000000000000000000000000000000000000000000000000000000000e5c312ba91ac57bb0000000000000000efec93ba18b058bb0000000000000000a7bee3ba2aa364bb0000000000000000df5806bbfb4e30bb0000000000000000d04384bb55696fbb00000000000000002da099bb6a7d4abb00000000000000007d3cb0bbd9a339bb00000000000000000000000000000000000000000000000000000000000000000000000000000000a78b0c3a6adc7c3bd4019d3c9a7d4e3c4ab2843acc32b53b2196833caf60533cac93f73afbd1863ba1b94d3c2cac163c4afa9c3ab277823be7fc0b3cbe8ff93b4b2fda392c06a73b6246d83bf4d4943bdaaf963af52d7b3bbf5cbc3b37af2b3b296b97ba000c683ba697273b6547173a0000000000000000000000000000000000000000000000000000000000000000c898e739e1e037bb721a1a3b6e78b6bc82dc2c3b188720bba4eca839a735d6bcd7109f3b7a3609bbd5eda6ba86dadbbc3109633bd3c11bba9ce6cebabd52c6bc9966573b4d1d34ba17fdabb931f2afbce933dc3a5fd98fbaaad68a39b35491bc018777ba9b69003967ff373ba19d1ebc0000000000000000000000000000000000000000000000000000000000000000c48c0bbe32451abd5340403ce6c110bb669d03be184f1dbd4600143c9961a1bad71bdebde4bf1bbdbb44d13bbda536ba1101b3bd81a8fcbcdf5e993b5c26fbb8aad388bdb411abbc6386813b4aee42ba54b137bdf8e71abc905c283bcd114938bf2b96bcf462453b1d8b2d3b817a62ba0000000000000000000000000000000000000000000000000000803f0000000034b51f3cd96d87bdcb779f3fb0d67bbdcba8043c8affe5bcda60843f9bb41abd19adbe3b1effe7bb733d553ff151d5bcd84f8b3bdd3b863b850e223fa8dbd1bc96c0553b08eef43bb393df3effa7d8bc080baf3a5c5f583baee07c3e3696dcbc7fbdc03acb56ccbba121833dcb330fbd0000000000000000000000000000000000000000000000000000000000000000a0417c3a413af93a00000000000000005b1916bb7dc1113b0000000000000000d7f650bbea77f639000000000000000046695ebb7b5d123a0000000000000000513150bae1df47390000000000000000dace553b08fbd4ba00000000000000004ff51a3c25a032bb00000000000000000000000000000000000000000000000060d6b13932eff1b976315f3ce6cda93b5d849aba98cfe13b7b7dc43cf289663cd6f4cf3ad9aad63b1ccfba3cf7d5813cf1b9cd3a7871d03be2e39a3c7b5c5d3ce8b4e93a324bcf3b20d5653c0d652c3c0ca4a33ad528b03b122d393c8ec3f33be14c1a3796239f3b6e67033cfd60943bd493e6ba4dcf463b5d68543b14c6143a8d61baba3fc5273a6164a0b96cf6c5ba06e34339f3d9c2bab85dc23b6e0bb3bc1dbd3ebb92ae47bbed1e0e3ccbd4eabc5d0c093b17c862bbb1bd4e3b669b06bd763b733b088b1ebbc349943a46b500bdad146f3b471b08bb267d4d3a50c5f7bce556413bcab3bdba1367d53aedf1d2bc2210573a085f61ba0910413b8cd499bc38c4adb9efbd553a7218743b48140bbc32d7aeb9f3a4d7b9f7f43a3b8bb49bba02da8bbd374afabc325f993b564b7937b5a80abee8a616bd85fd333ca27dcebad0210fbe919958bd9cc4ef3b8c72da39ba78fcbddd0d55bdc783a63b1068be37ce7ac3bd8bd52cbdb8d82f3b37def63a27a397bd9fdafcbc0069283b54eda23a7dfa3cbd801f82bc8054183b52011d3a09927cbcb8d7c4ba2918d2b89b2ab7bac899ee3bae74e03bd3f3ad3a2bac01bad978853c909b08be9a2b9f3fab78973d0070b13c50c409be512a993f503d633dbdf8653cddd7adbd5b16843f1059823dfaaf153c67dd51bdd5b1553fb296633da918b23b83d3edbc9619203f81a8293d9c55af3b785fb4bc0684dd3e53fea13cad14883beb4f9fbc0847783ee7fa7aba593dcf3b8923bbbc782d873d71b042bc93038c3b350ca8bcc68362bd059f08bda5bed1bc80679c3b0000000000000000308db1bcdc73bc3b0000000000000000e2a9b3bc90de723b0000000000000000bd56a6bc0edf913b0000000000000000751293bc26e2b93a0000000000000000532b46bc4f59aa3a0000000000000000891fcbbb32024d3900000000000000008bc9033be9cb13ba0000000000000000e6ed9c3b93d1dc390000000000000000ea0ca4b83380ae3a0fa41b3c2400893b4828563af343513ad75d903c0b963b3c0749ac3a2a6fda3a26c9853ca4662d3c5c6ac73aa891983b910e703c38ad483c8265b83981da5f3b943d333c4897f93b9621a13a1557873b00d8273c15fbce3b31f779b9eb0a1e3b0ba8c93bba12773bf376bcb9a825cc3aa531663b87eca23ac646c2ba76e993b9142fea3a6b8db7babba7483a082673ba6dd8c53b1e11c8bc862b403b61963abbb7e20b3c899901bda796ac3ba4b3d8ba26e65b3b7711ddbcec03ba3b2f2613bb508a7a3bc8adfbbcf04b9e3b22fe50ba5775093b5b97c4bcc94c8b3b9e901cbb6064203bcb15b8bc8ec0073bddf57fba6b00393b571e80bc7f87713ae24f94baa639743b3ee114bc3ff267baa726c5b94900bf3bbdf186bb5a200cbd1f68fabc1a12bebb1f42243bc0bdb8bddcce62bddec47fba0596673b8011b7bd54d680bd31605ebb12770f3b5f8fc4bd1faf7fbde6f10ebb8831733bf4ca93bde62d4abd5ca631bb8f2e3a3bcd9b76bde62520bd420b68b96484723b8b9213bd8acec3bc7357003b3372f23a94fb5dbcc7e9f4bb5f11153b6465003aea80a33b09fa293b66583e3b0dc25d3a13cb6f3c123d06be8c02853f822d833e945cb53c4b3d14bee32f853fa32b723ed0cb563cbdafb5bd19ae5d3fb8655b3effe53d3c93bc96bd7f6d3e3f9ec7313ee625fb3b618c3dbd07900e3f992c033e1b98e93bdebc25bd9a24cd3e9b5ca73d201bb23b3a1eeabcbbf2713e5f8f1f3de0befe3baf7205bd77b5af3dbe2a51bb92ee843bb2b7cfbc3dcdb6bc0f4af7bc851c4bbdc172e63b000000000000000047cc71bd4e7c213c00000000000000001ff641bd9205f53b0000000000000000c57333bd4e66a23b000000000000000002f109bd33e5723b0000000000000000ca5df5bc8648863b0000000000000000a71cbcbc7d445d3b0000000000000000b85253bceed4623b0000000000000000330cd5bbd05e393b0000000000000000ec40943ab3b7c8bac5c4e93b6468e13af7b0b23a09cc8a3af2f64b3cb8a51f3c1d8f9a3a4aac223ba6fb713ce4684f3cbc258e3ad60c483bad1f543c271e203c8459593a9940543b23be363cca19063c273e58b80f96313b81c6fe3b247bf33be90d1c39cd843b3b53fcca3b8388753bc6d2f2b97b4e093a7c7b503bac74fb3a3836e1b91abc9cb913ba393a8b8b3cbafff6ca3aae8ed539fa5a803b7375d1bc7ad2af3b6f610abb7c4fff3b80d605bd97c0de3b3d2cfcbafb839e3b29b0f5bc42f3d73b8368adbae172833b94eed5bcf906b73bd40a3f3913be353b0cf4cebc606d843bbe4828ba7f89123be595a1bcc545163b8c7fdbbaa961963be9ae62bcb737df395b83e1ba628e853bbd860fbc001a48b9f1606aba6c27213b3df713bb87312dbc068205bd639083bc7a50b73bf9c36cbd923587bdffc75dbcd45ee23b2d5ea1bda4869fbdf7d44fbca1a4e73bb39898bdf08e91bda75c36bcc467e73b74f57cbdc3d37fbd799618bc21e7a73ba89450bd85da3dbd43db87bb13cda53b51580abd666ee3bc5e667438d6289f3b53c769bc3e5f3cbcdc7a6a3b7b1c1d3bab7f403bfde9443a140aa03bd35a013bf10b3b3c92bde4bd8685573f6cefe43e980e9a3c0eba03be29d5583f4020db3e2d7e633cede0c9bd8443403f5c91bf3e9f5c2b3ce2f895bd3e791e3f5ca49b3e0a9a113c511765bda72ef93e2d896b3e01c21b3cc25a34bddce8b13ed4a31c3e72359b3b055823bdb82d5c3e9899a53d455f043ca55f11bdc702bb3d76c44c3cdb087b3bb17ccebc5c8afeb9f26f00bd993098bd4a2d083c0000000000000000712db1bddf215b3c0000000000000000c98497bde1b9173c00000000000000008d8079bd63f4cb3b0000000000000000f99163bd2cb7f33b00000000000000003e2e37bd41d3a03b000000000000000065e224bded2a9b3b000000000000000044d6e0bc32eef83b0000000000000000ea5695bcc837933b00000000000000002b1f953a1e83adbab729d43b99f9513b1a6b0a3b81047339f237003c28c90d3c6b2a793a159d063bf47d233c2595293cb12ea139ca67193b30e4193c365f463c8e3b3d3ae91dc73a550ace3b0d5da03bc4f04eb8ddbe223bdf58f63b6441cb3bd9d2be392f33af3af5ceb73bc6816e3b5b718d372db63139f19a6a3b7915dc3adba43eb8556c89baa00e073b2aaf47ba58cc2b3b95b7a5b9f0c5a73bd01cd4bc391ff83b5565c0ba70e9bf3b9495e6bc73a7003c9f11a3b9d4f1753b37cdc1bcd8d9013c861cceb8db23673bc1c4bebc8ccc933b716e5d3aa7579b3ac7d877bced04a63b91a0c3b91450433b8f3188bce6a3253bd2947aba3fc82a3b190a38bcb581743af3f817bb3d79453ba227e7bb62ecf6b917beeeba415d2b3bd213f4baf09a49bad2e919bd018bd2bcf3bc043c7b7f17bd10ee96bded50c3bc5cd3353ceda750bd0694aabd40a9b3bc2440f33b4fa56abd6829a9bd37b6afbc7943073c972616bd667e5fbd58197cbcfa6fa43bc7472abd11e45abdb95023bc73c8de3b09d6dabc852c01bd8a8b36bbd67d903b800d50bc8fb462bc68fdf33aa1f0a33ba0eb203a4a7ab1b846cb763bf996903b05be193cc760c2bdde87253f373b253fe2b4573c3893d4bd121d243f0dd71f3f67ab253cffb49cbd3a77113f98af083fd1e5183c1b0d86bdf866fb3edd9be13edc8e933be4be19bd8467ba3ef445a23ec7a8da3b469a2dbda0ac933e69ab673eab92cb3b7f850dbd2b8e373e1e1af73dd8ccc43b380e05bd120aaf3d370d023d186ba63b6453d3bc45a51a3c2095ffbc57ecc1bd3d5f1f3c0000000000000000556cdfbdc372553c0000000000000000a1feb0bd182b183c000000000000000055caa1bd51a2053c000000000000000021985dbd7d7d3e3b0000000000000000880772bd610ff03b00000000000000002f9c40bd4ef4f23b000000000000000029f120bdfc62283c0000000000000000aa2cedbc72b4f33b00000000000000007e6f2f3a99b036bae824793bd37c8c3b675493b8ddfb953a1817e33b57962f3c598bbe3a6226393b5e242a3cf398463cf596d2b9170b183b677f063c22fb333c898184b92b38263b07de063c80960a3cfd80b339b86f443b5be3cd3bc374013c52a5ddb9b30cfc3ac061c53b1c8ebb3b79f76ebaaf89513a17fd833bf55d343b8be57ab9a3417cbadb7920ba06460e3a9f93703ba261aeb876727e3b679fafbcee242b3c807528bbb0d5e43ba487c1bc685a3c3c70f61cbb80f2173b7b3fb1bce56e1e3c53731fba16448f3bbeb78bbcbdec033c9d366c39dbed523bf2b58abc3eeeb53b3a4597ba5c0f343bc7485cbc543f4b3b13710bbb719d453be17410bc7f0a793a16fd5cbb84f75c3b6b2f88bbb30301ba374198bab222593b97d861ba5070653b4cc52abd9a04f1bca9421e3ce218dabc19a6bdbd657300bd5c395a3c62f83cbd8d28d3bd4073e5bc9536363cdbdf39bd7a97c6bd2405babcd1480c3c842f30bd2317a2bd615ea2bcc969f43bfc5119bd23f173bd7a063dbc9164d63b085cecbc507b20bdddeb5dbbcd09b93b1ec27ebcd48083bcfc1aa43b599c4a3b9abfb4b84cc96e3ad86bb93bbc7a283b7298fe3b511498bd9bf4e53e83f7563ffa87483c6816aabd2702e63e3025543fc7d8613c7b198bbd1bcfd13ef177383f5fdacc3b18d057bdf52eb63e585e143fc9a0c03b550f34bd29ea953e3851df3eaab8d63bbeac1fbdb43a603e7390973e281cc03b717109bdeebb143ef804263ef7a3d43bea2f02bd0316903d7dec353dab66833be653bebca5b65d3cd28713bd5618e4bd75d2333c0000000000000000b43309be07ec953c0000000000000000e470ebbd424e7d3c0000000000000000b9a3bdbde3c9153c0000000000000000a554a1bd6397163c0000000000000000a71489bdbc0f173c00000000000000009eb26dbd215b3c3c000000000000000050c53fbdcaac533c0000000000000000764510bd26722b3c0000000000000000802799b97b32af39786d953a631aec3bed5371b9c07a4a3bf6d78c3b0d9b863c99d335ba777f343b9d51bb3beb466d3c0a0c1c3a4d00503b50fcf73bb070783c7e0f65b9914e253b771bd03bf480273ce5aded383501163bd604073c148e1c3cc16a8bba3950873ad5e2d63b514cb13be0d6a0ba09be513afdad3f3bebcc583b367ab5395c12ae38fc46c53aeda5433ac5cac83bf07334bb41b4973bd6be7ebc6afa503cfa03bdbb7864ad3b0ce48ebc79ec323c6075dabae808343b131f5cbccd00393c394d9eba4a5e2e3b47f565bc4ab1e43b0759a039aa7dc83a670635bc814cbc3b3e6e01bb109c003b783a24bcf4053d3b523901bb1a7d0d3b3ee486bbe0295a39052737bb1114013bf8b034ba92cdfcbac17202bb43e1a8b8c622d5ba8da5463b24906bbd10d7e1bcaa044d3c896ec4bc6a80ecbde518fbbc2976853ce61601bd7508debd8ec309bd21e6373ca29b27bd4696e6bd0ccdfcbc8733373c0cd50dbd74c6abbdb6eeb9bc5f9cef3b493a0fbdc3968cbde12f64bce018083c6732d3bc548a29bdc545a6bb8241b33b61f680bc3d1283bcdc8acf3bf39d3d3903d91abb49a35e3bc6edf93b926c8e3a0ce2fb3beb2f5cbd1c95843eb0e4843ffe64273ce41969bd8eba823e7c7d833f1b3cdc3b858c2bbdda017f3e0dce573f570ac63b91681ebd01b8643e4f9f363fcfbe9d3b7032edbc92d83d3e55f6053fac27b83b4bdeecbc774d173e0f0ab93e91a4a83b8a6fcfbc70d5c93d13d1503eb844d43b3f05cfbc9a2a4f3d1dc4493de847a93b8d418fbc53ace83b80673cbd3bc805be0ba27a3c00000000000000005f9f1bbeaf38ac3c00000000000000006247d2bd21d82d3c00000000000000006664c8bde5332e3c0000000000000000ae5298bde54bfa3b000000000000000045d092bd144a213c0000000000000000d25366bd2bd20f3c0000000000000000222041bd73448b3c00000000000000006d090bbdd831613c0000000000000000405b31bac4e6d13a57aed0393ef34a3c108f0dbbc0c4873b4ba5b83b19bcc73c05047fba82f9943b317bd63bda8ab83c2aa586b91c4c803bf3abe03be1f2953cfd3ca3ba5e3a4e3bb8e9e23b78c35e3ccde0d9b9e6ce0e3ba7afd83bd5953f3c18181ebad054d53a37cdde3bd043043c660701ba527dbeb9bcb4bd3b0776d63ad1c35aba85bf6dba7870f03a3fb4c2b781b0f33bbaa9a4bb048d313b237607bc4f19773c352333bc43f91f3b8b1fabbbe935793c28fd9fbb89bfb93a568df1bb081d553c1d62d5bae7f4393a9042ecbbe77a1c3cf9d2f4b984f10d3b84e6aabb67cffc3b946ec4ba9da97137228c94bb8f71723babc521bb5eba233ad6e1d7b912e8953a475c47bb4f430c3ac338373b0206e5ba641010bb066d6e3a1ea8973b209e87bbaa58aabd57aedbbce243523c8bf1c7bc903917bef78cbbbca301883cde060bbd25b119be794907bd601d543c074e13bd062b05be4bf106bdc958253c55210cbd48b4cfbd742cdebc0638f53b75c405bdaf38a0bdfb778ebc7a50d43bbabfcdbc0ab649bd4a5c96bb47c6303be8016ebc728e6ebcbc01bb3b90e740bbf0a8b1bb01afdc3b7d15203c1b545eb991b99d3ba205e1bc6bad993d10f09e3fa1d5bf3b478cbbbc0be6983dc417983fba6f9f3b5c97adbcd3d1c43d125b823f7f507e3b733193bc3d45cc3dc415513f7850643b46378ebcc58bc03d7b4f1b3f5ed3813b38f489bc9e3c9d3d64c1d33e5a345b3bd23881bc8333523dff21623e272f6a3bfb275fbce3f5ac3cac4b3d3d8acc4f3bacc53bbc7a5f99ba46128dbd961a08bec0f5823c0000000000000000263c14be9562b83c00000000000000002779d8bd870f453c00000000000000005308a6bd10f7ed3b0000000000000000461283bd5e8eb93b0000000000000000bb2f6cbdc105dd3b00000000000000002ff745bdefb5283c000000000000000046b501bdf0c26b3c0000000000000000b6340abdfa6a503c0000000000000000000000000000000000000000000000008822a0ba0d466a3bde5f383b54269f3c8cc716ba9145713b644b6f3bf896843c990305ba85c12f3bab45693b5dff4a3cdd9558b9900a863bd4814c3b17e9203c7c261dba10c8283b6bce993b3549eb3bf75800ba0eb69a3ae2579c3bf731b43b9abd96baa259213aaad26f3b14ff6d3b000000000000000000000000000000000000000000000000000000000000000068d75b3c6635a1bb4a9969b9641bc4b8e9b65d3c6ea647bbce3caa39641090ba5d181b3cf662173a8043abb9755de1ba4bbbff3bb5be293a538eb0ba85f21fbb0824b53bd8f07db7d62c6339a46bf5b8674e2d3ba768acb806b26a395c98923a3aade939bdb7edbaa205ffb99c23873b0000000000000000000000000000000000000000000000000000000000000000966ebcbc3dd60bbe1c6cf9bc5ec0f63bad23d8bc75d802be728500bd5a99f43b98c4d9bcbc21dcbdc57403bda550613b5994d4bc0395b2bddd3bdebc0eb4403b893fc9bc216586bdcb1c91bc3901ae3a1d40a6bc0a6432bd2c8bd0bbd6938439340f67bcaccb90bc058d3d3b90374eb8000000000000000000000000000000000000000000000000000000000000803f8167263ba7696a3a36cd4abdec949f3fed2db33a9ed1e4390cc06dbc3112843fd6fdc33af1d677baaf44a33b80bd543ff8822f3aceb134b93ebb753cd694213fc60aac3ad22280bb616f823c3f7ede3ecdd70f3acc2865bb322a1e3c11567a3e1e90983a18e235bba0d29ab8f514823d0000000000000000000000000000000000000000000000000000000000000000b7fe9bbd0117223c0000000000000000bef349bd5d4e953b0000000000000000f3320ebd5a64ba3a00000000000000006ad8f2bc84a29d3a00000000000000002f81e1bc8b810d3b000000000000000026b2d9bc5e535c3b0000000000000000a15eedbc7bd2dd3b000000000000000000000000000000000000000000000000000000000000000000000000000000004deb573ad1dc03bb4242813ce108703cef5edb3a1ac788ba78a26f3c5314783c5b271d3a763678ba7c6c223ce5af483c7bd887b9d0b6a03792ea053c5479183cb4fa95ba8b7ef73aa629e53b7aead83b59cdb43a0ad4423bc002d53b8838863b85a41cba226a603b4406a83b25b341ba0000000000000000000000000000000000000000000000000000000000000000f7a8a3ba798b72baed899439c9d58fbcdc15b03af33864bbd50746ba26a999bc75b8383bfdf82ebbda431cbaf9ae8abcba264f3b959e07bb422726ba44aa90bcb9be433a0301aabaa75c99b62ad39abc6d2fabba3c508cb8e512ce38b56a97bc908de8baedf49a3a5928e43a1b5b85bc0000000000000000000000000000000000000000000000000000000000000000550be3bddfe737bdefa05a3c360595bb5377e3bdc65327bd40e64d3c931a30bbc7b1c6bd522b1bbdb617123ca7da21ba5148a5bdad5cedbcb74a1a3c2a8cfdbaeef783bd9b838bbc232f023c16041bbabeeb2ebd041194bbce1df33b565f01bb9a00aabc767fc23b29ceb73b24663bbb0000000000000000000000000000000000000000000000000000803f0000000020caee3bb4972fbdffa4983fdbee5bbd65f0b53bfd1a33bc97777f3fdc3b36bd0c6f943a724d2a3c488c4f3f71f224bd0375c039cc38a63c4aee1f3f6efa30bd9e5845ba7584c53c8082e23e0ef040bd939212bb6946883c6879853ebaf74ebd580636bb75311a3cf2d1b23d52f55abd00000000000000000000000000000000000000000000000000000000000000001b081dbbd3538f3b000000000000000056502dbb0d29563b0000000000000000ccf3ebbb2632763b000000000000000082a7a3bbfd3f1d3b0000000000000000120690bae403653900000000000000002347643bac15c6ba0000000000000000a26c383ce37951bb000000000000000000000000000000000000000000000000a20f993a9f6c37bb62263a3ce9fdbd3b244d2d3b34bcb9babf83b73c500c7e3c2ea6bb39b3b7feb97c11b43c7d748b3cd6b7d339efab263a53e3913cfd26853c76511abaeb4f1e3b4f12513cf591363c9d59aeb771e0833b3271323c6de7013cdd6e20baba869e3bf693103c79d0673b583958b96fa5823b1331ba3ba7b103bb798178ba23023e3b809eb33af60b13bb32867d3aeb609aba6ff4753a97869cbc810302bbf7be18bb3486613bc181eebcd88fc13a809652bb43aa663ac764d1bc87401d3bf9a298bb3d3633bae3dec0bc3c952f3b5ff54cbbdfcab8baca4aaebc64a2813aa30b25bb656a873a8228b9bc012c22b7270b8bba8eb3d939b596aabc27168cbadb2e8d3ab061f13a819d81bcb537d4ba20a91f3a3713d13a610ff1bbd13f37bd282244bd65dbd53b01ecd8ba3677d5bd532a5bbd2fbe563ced8e84bbf297efbd4de678bd3a48353c1d2128bb951adabd724563bdeabd1f3c9275c2397032afbd3a0031bddd320a3c4c422d39e88890bd8934ecbc2372203c7b6b823866893dbdfee157bc8fbd023c1040d2ba93208abc94564c3b891e883be82d0cbb2ba7803bda65033c378cb43b655917bb64ed6e3c3758e1bdf78c983f534fbd3d0df8a43c03f7d5bd7284923fdb85893d1db93b3c5e4976bd12e27d3f6501633dd117a53b235df4bcae6d4f3fb90a1b3d0169153aa5ca0bbc0aa81e3f94298b3c5c3823bb16fdbdbada2ee33e109c17bcfba11dba7e1976bb33c0883ed819fbbc0fd9cd3a680175bc50a3c23d67cb29bdba73c3ba13114cbcf31cf4bc774660bd370ce3bccc5c013c0000000000000000b7f7bcbcda51013c00000000000000006b90c1bc8795033c000000000000000020c5b7bc303be63b0000000000000000a09e95bc6babb83b000000000000000012fc4cbcfa9d2e3b0000000000000000678cabbb6fc9f43a0000000000000000d910923be19214bb00000000000000008172073c9cbc4cba00000000000000008594f938232c81ba428d1b3c5d11ec3a53a4963a17772dbb120e5b3c2718553c6f8cbdb9d617c4ba62813d3c44a52c3cb6f98eb90dd598b9b6e8503c9b95633c3b36baba7c84b13a9847123ca1a4e03b2a7de6ba19851d3b87dd263cba75f33bf052e3babeb7773b7c72a43bc60f703b47dd84ba9b4a633b06b45e3bcf80053bc3b883ba2aca223bfae0d839bcf175ba79fb2c3bb2c741bbc596133ab5e6b5bc2fcf7c3bfa927ebbf80b953b1e4bf0bc5c5de73b887f79bbc2baab3a88119ebc5093a73bb46f8abb075827b800aaa5bca3ded23b103d80bb460393ba732783bcb250653bd1b986bb35008a39d5108fbc5ac3173ba5c11ebbffc6bc39f2ad52bcf0f631bb492cd3380a64c93a95ee3ebcd776b7b9687d98ba935b643995bc9fbb207829bc5d6843bd78d996bb5db1da3b9e2b75bd4fab94bdf9b1683b88b9893a886a87bdd4618ebd6bfe7839014e0a3b2848a0bd57a590bd392c893bae9d563b610d80bd7c845fbdda58e83b042f4c3b3e2465bd8f5725bd7f1de63b688f573b091b0fbdb5bdccbc7c75053c031a913a0e6d81bc32e3d9bbb0e7293cb91952bb64c4303bfbb2e73a65c7db3b64a25eba5d41813cc3d3e8bd9905803ff3d4873ea94caf3cc00afdbd3723803f1194703e71c4203c184292bd6f1b563f981e4d3e13d3073cdc9d6dbdfa283c3f1d8c183e5014533b42ef03bd395b0f3f55d3cb3d21e9db3ab532d9bc98b7d73edd5f463d2bf00a37762d8bbc59b3873e6cd63c3ca3ce303b716bcabc9325f83d768409bdaa9313b93f8f96bc663e923b4e7e53bd6e684ebd8565053c00000000000000007e3e74bdb9cc743c000000000000000003f94cbd12022d3c00000000000000005e7e3dbdd09c383c0000000000000000f92d21bd7b179a3b0000000000000000a17004bdadc8cd3b0000000000000000d279c9bcd002bd3b0000000000000000ec5138bc18ebb73b00000000000000001fa39abbdef8833b0000000000000000fd107e39be4017bbd2c8b03bcc62bd397e65af3ad8118abb26bb0a3ca8390a3c25b432ba21d2deb92c8b203c07f94b3c8bb330ba468413bba33d263cc5a5553ce339e4bac922cd39b052f13bd633143cb005d5bad284213bbbbcc93b9c0cfa3b769503bb5988f13ad65ccb3bed50cf3b2e800abb169e1f3bce317b3bc19d413bd94a9eba0082e83a5c97c83ad47f58ba4277c73b24f8a8ba3e4748b909cfb4bcb88c283cc700c1bb7c63853b6766e3bc83ba193c9e9fb9bb7550b73a6ed5b6bcc8a2103c0f36bbbb66e1db3a3d3693bc1b51f03b226b7abb1236dbb906ef61bcd87a9b3b77ad95bb88596739b3e669bca72b523a339111bb6bc9703a72f341bc99ca9538ec0a72bba333db3a243715bcaee105ba57f3c3babb3d01bad1bc4dbb86564f3cb80357bdad9e80bc3b11c23bdcbcd3bc228aa8bd0cdc14bc9a4ff43b5a5a53bd2509b6bd4b31e7bb9305f63b3e8766bd426da7bd3bd172bbd018de3bee494dbd4fff8cbd0ebfa5ba9321d93be53a36bda3d64cbd2710953b868b993bf30304bd558704bdaac3023c48affa3a07357ebcba506cbc90ca273cff446e3a840b5fba918ef6baaefa0c3c1a50a9393b6b5c3c0c43d4bdbf96513fe2a3e43e3af99c3c7beceebd73b0513f230cd43e798f4e3c6e35b5bdedc23c3fd2b5b23efd2e1d3c9b9e87bdf701203f7f3e8c3e9fd09d3b8e3d3cbdef73003f67094b3e0604783b1c3013bd0d89c03e0525f73d9612453b9315f3bcec8b803e47293f3d36665c3bafa6f8bc1620043e50ae6cbc6d68ddb99ef89cbcede9df3c7c6052bd6fcc94bd0a68333c000000000000000047b3b1bdb8fc853c0000000000000000d6409fbdf392813c0000000000000000d0eb8fbda4d55c3c0000000000000000916378bdf072413c0000000000000000f4454bbd7713323c0000000000000000885c26bd9327283c000000000000000080a9ddbc70d1203c000000000000000018e886bcca5bee3b0000000000000000928e79bac605b5ba4222373b178258baf03a8539911e51bbf071913b5b8b043c4180deb9860dafbaaff4983b9d521e3c2fe5e7ba2b40f5b93ace9d3bf2092c3c0cc901bb2dac89384dee533bdf0f853b903f24bb216ea43ae1b28c3b6536fc3b597097ba1677e53a38ba7d3b34cdb13bcdb1c6ba9510ca3af6cd353b6efc603b5e98b2ba6982be3ab0c1833a83c04139ef1bda3b5d3402bba063b53a1370b8bc5a302a3c82308fbb5ec76b3bcdfccebc98a9373c3fb29bbb5e2c0f3a1c3392bc2f153c3c9c0699bb3a113e3ac50769bc351eb13b1423b4bac82690b90f5904bc743cd33b441e70bb8c3426b9ccb724bcc8033a3b26547dbbd6eb4939f8b3e8bb6045b839c4bd68bbd4f2db39ce43dfbb95a35b3ac0b865bb333cbeb9b54b07ba5df4cb3c8b2d52bdfe89c8bc050e2c3c6219c7bbf35cb2bdd27ab8bcf3e1493cd62dd7bcc787b9bd3b668abcc968253c13e217bd9e80b9bd0ba15abc2ea0313c0846c6bc58bd7cbd6e0013bc0f4f013ca13813bd32b573bd09f387ba06eeed3bdb43d4bca99916bd7852aa3bf6548f3b8e5a7bbceab38abc845b1f3c7dece63abf7f37bb7d7f9fbbac64143cacce203b6b10343c091eb8bd7654223fcf15213f0f307c3cfca0c9bd8de3213f9d69183f276d393c70ad97bda9c2113fead3ff3e34bb073c10ee7dbd0a3c013fd3ffce3eb3fb9e3a436310bd4682c53eeae5943eaf67843b533822bdd143a53e23f3463ed3bc273b1cbaffbc59635f3e27b4c43d3b98983bd6a5f7bc04c0ff3d6526003c7bb9ca3a2fffb4bc7f4d1b3d1bdc4ebdd16bb7bd3d9f343c00000000000000003127dabda9048c3c00000000000000009887b8bdcedf5b3c00000000000000000c25b0bdd5675d3c0000000000000000941381bd3f4bd33b000000000000000015aa89bdecef4b3c000000000000000029e45cbd81da413c0000000000000000bbd92bbddb6f573c00000000000000001694eabcdf043d3c0000000000000000ddf20139e6d92e39aeb5343a4228073afd12a43961493cbb01dcfe396190283c2cd0083a75f73bbb795ab3395304693c29170eba60e60db916036b3bb483483cb06123bbaccb94ba53cd443b98d91f3c62dfb2bab3f280babfeeaf3b7ea5183c64e4a3ba9a93413a2fa3a43b423ef03bb7cfdeba403d913a2f54673b6f61a13b8a742abbf2b1df3a6cfa973a4909d93aea22e63bb466c1ba12f6963aca11babc3963713c00af00bc19cebe3b4645c1bc5bac733cb4e3d2bba2fc583bec0d93bce0ac3f3cb695acbb47abd23a389760bc52b3333cb0eb9abb05a34a3afbdb15bcfa88e33ba2dda4bb7fd8253b209fefbbe227523bb36098bb52ba503ac4a9dfbb72135338aee088bbb796e939810a9abb554a9cba8df82bbbf8e4143ab306413a7736e33c14ae5dbdb6b0fcbc3f333e3c02898c3aba22cbbde902e7bc9bc37a3c08a483bcd300debda4eedebc062e6e3c1346e0bc5bb6cdbd8ae1a1bc7392593c434aedbcfbc8abbd62a76cbc127a423cc1de00bd783d86bdb70f5fbb11eafc3b94b8e4bc60d42fbd2817af3b9aa1943bfb6e99bc7c6497bc0178393c419c5d3a3ac5b6bbbf6f75bbde57103c1029523b03af263c699399bd34abe63e239d503f17686c3cfd2eacbd0473e93eeece483fd5fd303c4fd18dbd3813da3e646d2c3ff3f8e63b2ddb67bdd4fdc13e91aa093f29b8c23bda6641bd6b06a53ed0fecc3e93f8b93bc2b324bde479833e6b87883e782a9f3bfe4013bd67423e3ec74d103ea3e4f03bb9af0cbd79eee13d528ede3c6fce353b7075b5bcf610223d65bc44bdb687d2bdd77f5a3c00000000000000007fcc01be3748b53c000000000000000075bae7bd1d448d3c0000000000000000fdb9c8bdaeef6c3c00000000000000006126b0bd9388473c000000000000000036a69ebdaf1c693c00000000000000002da28bbd5681883c0000000000000000a80e52bdc792833c0000000000000000b46e13bd12eb403c00000000000000007c25c0396fef6bb905ac19bb0e18ad3bbde2533a80d50bba4f7e2abb11c5883cf99481ba7784c938de9e9b37b1143c3cd059ebb83f6abeba51bb2c3bbb94773c657a37b7c6e8fdba05c0203b1ff92b3c5952bcbaa598913a81887b3bfdb63f3c2d31c1ba893605396713343b55a8e53b1d9f1dba9ef920b92795ae3b1d05c23ba40fcfb9e61d5f39e6f8bd3aa4af2b3b1f0f1b3c7c3e9cbba7e5683ba409a4bc34a5873c079f2abc43ecb13b3792acbc41a45c3c4f80a1bb3266163b410646bc0098623c2867c8bb8125013b43c148bcb361203c16018abbdb03c83aa70a1ebc458be23bdb5aafbb0621c639b350d9bb800c573b5abe6bbb1025ea3af27b44bbd8ddcaba2e7983bbfb08e839378819bbefe0bebab94653bb281903394ad0cc3a5ab7b43cd1507bbd127700bda9b6673c8e72f13a4a5ce6bd0f7707bd3a76893caa9e24bc306cd8bd64bef4bc5b69553c352fb5bc2748e6bd8454dabc4991613c61f8afbc41daaebd244d91bc17d92b3c5133f1bcc15b93bd778ddabbc673133c2bbfa9bcd77f37bd7bda9f3a120ca83bb38cb7bc0a2390bc1fce383c793e23ba89f30bbc27988c382581373c70924cb96a561f3cdee35ebd170d8b3ee4487f3f5783353cfb7f74bdcefd8c3e1048783f1937fd3ba9723dbd21c2893eb8064b3fa74d063cf17832bdc5ea813ea55d2b3ffe3bcc3b1270fdbc6342643e195ffb3e179aaa3b2ffc12bdb2d03c3e2cd8ad3e3be4893bf2c1ecbc6f99073e6d9b443e0d22f13b91e903bdf924ac3d6dcf2f3d0248433b3ed0b4bc1b30083d622e56bd1a64e9bddd44863c00000000000000009b860dbe762ec33c000000000000000044b8d1bd6c39623c00000000000000007511d4bdc473853c00000000000000003784adbda402363c00000000000000005105acbd861e713c000000000000000095708bbd8ee9523c000000000000000000c463bdd999963c0000000000000000aac420bd2584843c0000000000000000ee3cf7395b96653a2fb486bb8494293c12f65e3a2e42803a927ca6ba664bc93c5f58cc39ec4d6539b829a7ba9209b53cb36ee139d16a28ba19877f3979bf963caf2e99b980ed33ba4a19043bf7ee5a3c007ea3b9255762ba0aff8d3b082f583c1f6ed1b8cdef62bad063ea3b7705273cef6e46b94bdb18ba542dbb3bcfb3be3b090a48ba017a96b9ddfc683b4a871a3b5f911b3ca4d1c2bb5d0a6c3b20997dbc16be903cc12f5fbcd825533bd51f55bc34df883c177005bccbdf083b281226bcdba4813c555902bcecd5dc3afbf602bc00102e3cd7ae54bb21b8143ada919bbbe673f43bdd9397bb9ba6633a6f5f89bb3cc0753b64e680bbde052f3a064200bb38abf0ba925f41bbe609b23acaa1c93863d16abb21f9c7ba5f7b093a964dc63a7fcd3f3c7cdb98bd30030cbd6d4d523c21e338bc46020abef0d4efbc0fb68d3c115389bcb7920cbea9460abd2b8d643c4e34acbcacb5f9bd9be4eabca798863c6294b9bc393ecbbd5da6bebc89d32f3c8d28e4bc02d3a0bd773a29bca94a043c328fe7bcca0450bddf16d3393883693b381fbcbc230985bcfd213f3c43ef4bbb46f838bc5bf1813b28884b3cac43bbba35bce93bd368fcbcd43ec43dd731983f6fb4043c503fdbbc9982dc3da29c903f802fcc3b060ed8bc7daf003e2089763f7c25b73b62ccc5bcfa5a053e55bd463fcf2a603bcdccbdbc30fffb3de466153fb53e8e3b8eecbcbc919dde3dfaf3cd3ea0bf9e3b9912b5bc09fcaa3d25eb633e6aedb93bcd9fb4bc7c00393de66f613de8d0993b4de098bcfb0dab3ccbaf7fbde746e2bda067823c00000000000000003dd902be5ecec03c00000000000000000e24d3bd46ae803c00000000000000007f1dbebdad67163c00000000000000005ccb9dbd482c0a3c00000000000000004ce099bd4a33343c00000000000000009b1289bd82a9473c0000000000000000257a47bdc6937b3c000000000000000010e42dbd6091673c000000000000000000000000000000000000000000000000ecd14b3aa557543a1d45adbbc36e903ce213323a256e3aba440c20bb08a6843c95b7c7399f783aba5646f0baeacc2f3cb06f9f39799994ba9da35b382c26113c519b95b860464bbae34f133bfcbf023cddb27f39ad484dbac95d663b3f18ef3bd1e146b8ee0690ba938fa63b5f67a93b000000000000000000000000000000000000000000000000000000000000000089045b3c6935b7bb4671c33a104b9ebb6087793c10a5a6bbba5f003baef430bab3482b3c86794ebaae0ba8392298e8ba88b2193c89d180ba29cbcb39c54dfab94f17cf3bdd797dba2e8a3bb9e720f43767c9af3a03b6c7bae8cd423a7cbd3339e6f88fba5db442ba51b28a36e96c303b000000000000000000000000000000000000000000000000000000000000000027bb1dbc768ae8bd8d2610bdc7190a3c5ae86bbc1c10e7bd210f03bde424133c7e1368bc2c9fc6bd95e401bd47a6e13bf3e781bc252ea5bdfddbcabc2eeccf3b0ea19cbcdca681bd567070bc0ad49d3b4e3ab5bc388b27bd677174bbf58e573b1244a6bc95ac91bcc5efba3b20630938000000000000000000000000000000000000000000000000000000000000803f617d5c3b333195bb3633d9bca83d983fcf46273b11d1c8bbfe8d903b22787e3ff2390d3b59c200bc3d70cc3c5a6c4e3fc53ca83a4b7002bc2ced0c3d047b1e3f77b43b3b32cb08bc09c1163d8e86df3ed22cde3a82dd0cbc24c5ec3cfb07833e5a3c3c3bd9ba24bca082943c1a9ea93d0000000000000000000000000000000000000000000000000000000000000000b4ee8abdea93153c0000000000000000af995dbd97e7903b0000000000000000c3f83cbd6d709d3a0000000000000000fd7236bd0ebf96ba0000000000000000f6a140bd05d7fa390000000000000000ff8538bda5198b3b000000000000000062133cbd5fa8d23b000000000000000000000000000000000000000000000000000000000000000000000000000000008765b33af96becbbaddebabbefa9db3bd245db3a8c9d0ebc60139abbc91eea3b1ea2d63a36f30ebc99ddbebb73baec3b97b81c3be3b7fdbb492a71bba2bdab3b30123b3a19bae8bbfa186cbb3eaeae3b32b590395cf7b9bb49769ab90a3faa3bf1414e39e01f8dbb73f5b73a8397863b00000000000000000000000000000000000000000000000000000000000000008f4ca73b64983fbbe860c4bb28ec0c3c19dab83b5fb975bb82c6fbba5063143c743b553bed861abbdc7c933842bf233c2fc56d3bded49bba7827ce3ac38e183cf797a73a01d70dbb31e1863b0ddbfa3b578cf2395b95e7ba2477833b51e3233b390882ba869224bab049833ba8e91fba0000000000000000000000000000000000000000000000000000000000000000505c22bd4a8816bd2cf1773bd50d4d393fd438bd890102bd3eda603b889ff33a4d932fbdc673e9bced8abb3b2efa353a75d526bd7c93b8bc47f8a23bf1bd2c39f4be0fbd72ae91bcd3f5d83b19d45a3a9d24efbcaf7d2fbc10d1ef3bcc4146baf8e7b3bc46398abb45f2f43b591c24bb0000000000000000000000000000000000000000000000000000803f000000006f37b4bbcfca3dbcd9d1823fe698a7bc8e9019bcdf689e3b4c785e3fe021b4bc9f9636bcb8aa793c9930383fe46bc4bc363247bcde59b03c45f7113f9cededbc12b048bcd83fc33c2431d83e4ef401bd80e54bbcb304c43c6dee8c3ee1b315bd44643dbc91edad3cb41f043e244d26bd0000000000000000000000000000000000000000000000000000000000000000739a40bca671ef3b0000000000000000361a29bca916bc3b000000000000000088c83abcb0d6c43b0000000000000000c53126bce6508c3b00000000000000002dde0dbc994fad3b0000000000000000f238b4bb81e1943b0000000000000000822aceba35814c3b000000000000000000000000000000000000000000000000b96a32ba62d0763be57df7bb8f308eba23cadab8d85355bb2570d3bb13a9d33bdaa47f39dcc7a8bb5a34edbb2671ff3b64d4d9b7d754d0bb4ab6e4bba377ee3b6522f43adcd7c9bbaebfecbb7537b23bcbf58d39e118ccbb097ea9bbc0eddc3b460155397b9d9bbb424e35bbfeaacd3b39d286b97d9f06bb58e3513af71b743bafcf5a3a223a52bb92fb413ac08bd13a2cf3d23b945512bb894a49bc4200a83b56f7d93b86a897bb8f5530bc56b1dd3b6255be3bc62689bbd527f9bb07c5493c3ee9de3b1c2395bb6d86c8bbeb12763c30fb9a3b76de66bb205330bb0960793c89575a3bc0125cbb773b28bb28d5583ce911c23a9a0f27bb2ba8c3b95251193cf68a32b9f20ff1ba5b4ed0ba901c903b8738c1ba59665aba88e89539733e8f3ba814a1bb6d3f21bde9560fbbd203513b8bfdf4bc9b544abdfa83f13977742c3b0acc28bdfe8841bdd17e0c3bedd72f3bf00538bde30a2fbd063c623be8764f3b94c022bde3740fbd700f8a3b14ad1f3bcbcb1ebd399ee7bc9e63f13b122ab73a476403bdaeaca4bc61e3123c7e565aba8c8ab3bc891411bc1d90133c72440cbb827635bc6c9e8ebb667d053ce599a3ba030220bb7c3530bd3d5d823f1549fa3d48073cbbfca91dbd6790723fee01cd3df43e1dbc6fa481bce9a9513f6a79a13d1c1969bcc872a0ba99882f3f62bd603d1ce688bc659d1a3c4b480a3fb4af093d1ec594bc5f2c813c9df7d03ee72a083c012b8ebc2785883c583e8a3ec6e65fbcc71f82bc9db84d3c56ca083eaa4909bd26785ebcc69d4a3cfd99d33ba4a029bdeb09c3bca484bb3b0000000000000000d774d7bc6ed0403c00000000000000008358d4bccf673e3c0000000000000000d49ec1bca766163c0000000000000000b6c9a1bcdf22153c0000000000000000437897bc729c0f3c0000000000000000c11059bc540df73b00000000000000001ea1fabb757bc43b0000000000000000dec276bbcb80a73b000000000000000075601dbb20dea53b62cee7bbb8c885bb2a4373ba157e033bb69223bc39d45f3a987cc3b996c4153ab0ad38bc75e2c63a8f9b3a3a51a7dabae9fd46bc2ff66d3b4844ce3a58941dbba03527bca3302e3b7378a03ac02f43bb5c24f8bbc5d29d3bfec5b73a52cc70ba765ac0bbb10a583bf440113a1a4b18bba9f27ebbbc374e3be041843a49b59bba96a72abb50d0503b74a9bc3b1370c6ba644f67bca929553b56430b3c5a348cbb160469bc12c9063c47b8df3be5c831bb224010bc26856f3c404b043c35568cbb22492dbca661a13cbb6aaf3b143e1dbb7f1803bc9ad7a43c5707b03b995a8fbbbb82c6bbcdeea33c47eb6d3b80c313bb4aff59bbc223893c019b763add424ebbea5d91bb37c5603c1ee970385948cfba9a2638bb3e25273c0bcb583cd68419bdf15916bc437ec83b4807afbb0cee57bd5756d3bb66bfef3bf9547cbcc84b43bd0eeedabba27efd3b14fed9bc19a752bd69fb69ba81dad93b7b7cc9bceadb21bd0e3119ba5e0f993bd92af6bc9ee017bd5ed7a53bacf0923b7f2eafbc8ab7d4bca4f8533be76a753be08c99bca48d80bcff2a183c2fab643afd621abc659018bc5aebef3bc9b6c1b978d788b903bc52bd9d0e5f3fc0ac8a3e27837fba504959bdccfb523fd980733e304e43bc47a3d7bcb489323f19744b3e123c4dbc0283a2bc64df1c3f17a51b3e854888bccf31c9bb5b87f73ebd79e03dad0f90bcca984ab8c5e7c13e6a6e813dcbfe83bc7fb5893bf66c803e5aa6033d565c91bc5cadae3badde0e3e56a090bc51396cbcf87bc93b80e5d43c754a19bd501316bde344b13b0000000000000000ee5c33bd68ae393c000000000000000010f617bd9595d83b000000000000000062c81cbd9032303c0000000000000000f262fdbccb160f3c000000000000000029e2fbbc705d2e3c00000000000000009591c7bc9a61d53b0000000000000000896c90bcd044293c0000000000000000485339bc32d8093c0000000000000000f70a63bbfed8203c1966f7bb3def09bc0a89ccba335a0c3c15375bbcfc3084bb8ae6aebaf817573b7b9e60bc253031baf08a5bba8a31093b2cb465bce17eb039bccb993a34e59b384bbc40bc61f1813a0092b23ab9f22ebabbc840bc742b193ba9b45d3a7ba189ba43df20bcf98a833b2ced083aa555acba7be4dabb03e59d3b7ad4e13a857560baf11aa2bb0b67b83a1d40b63b18cc2cba3ffa6fbc75c70e3bf7b8233cc5c170bbb6bd83bcbeca0d3ce92f213ca0cd57bb1a2d72bc6bb97d3cdc7d0f3cee6878bb118951bca49db43ca17ce73bb9083cbb3ef537bc3c2ebf3cbf64c73bd73d73bb7ea916bce733c43c9f818d3ba19483bb16e7e7bb4b3ab23c4e5b2a3ba5e38cbbcc93c0bb44e5963cddf2e13a45931ebbf0a60abb03f9683c5d4bce3c0ad00abd3e5f81bcccc30c3cdca72d3c95905ebd912e6ebc14d63d3c7a238ebb52fb6bbd432726bcc951103ce5a947bc7a0862bd542dd7bbfcbb1c3c8bcd89bcd00d4bbdd2c533bba3e7053c0ee39fbc9a8e2bbdf5f9523a49a8e53b9a069abc164802bd25e0963b43669c3be30979bc8b32babc2a5c033c014b433be703f5bbb00751bcf611be3bae14303b3ecb92b9e84952bde514393fd899d63e3300a9ba22d06cbdcd1f303f6e26c13ea19cd6bbcc002ebdbedf1c3fef8ca23e431f3abcd816efbcafcd063f6229813ee0f27cbc7ed28cbcce90db3ea772423e89429bbc93da2cbcb223ac3efc6bff3dd52390bcad848ebbb3a5733ebdbb813d18b78fbcd10d91ba87740d3e5553e13ba87880bc77f8913b0313153db6e407bd21d437bd60fb6b3b00000000000000005e5b65bd5fb1163c0000000000000000444f56bd5328213c0000000000000000788947bd5ce51d3c0000000000000000620638bd02f01c3c0000000000000000589925bdb5f3323c000000000000000088c20cbdbf763c3c0000000000000000bf99e5bc129b533c00000000000000001ddb93bc83ce163c00000000000000006b8875bb5914393cef6cdbbb311c15bc92cc69bbb75a1a3cb32a59bcb924ddbb9a2d0abb77c6013c547444bc2250a5bb490297b9d08f963b5b2d78bc3daaedba6fa33d3b7f21873b72dd47bc26ee87bbe79d073a14ee023bd5ff54bcc61e1e3a4d7b663aa75b813a04b22cbc3e40e83af652db394ea128399e4807bc3b406e3bd2fbfa3a237614ba6797cdbb08fa0b3b389ba63bb176513ac5a462bc3f060a39bd701e3c3fea1abb35b57dbc4084b13b8145173c698dabba98dd74bc0b0e5b3c000e0e3cc73819bbd79374bc4484a73c228ab53b2957cc37178a2bbc9584ac3cfa05e93b774360bbf7f348bc1578cb3cda15833bb08342bb1ba5efbbc8e2c03c0a79263ba3ad5fbb9a68eabb1ccdae3ca3b0213b37b529bb57e983bbf14c843c4115003d90a807bd888eafbcd0ac183c2d41bd3c872855bdd9f9a7bc734f503c7b75123c39db5fbdb2ce8dbc8224233cc2d643ba2a406bbdb1d84ebcffb1343cec6709bb461e28bd79b317bcb266f03b11d11ebc476c3abdd97348bbb6121d3c07953bbcbae704bd9103313a9533dd3b5db142bcf909bfbc867fa03b769f9e3b8775efbbace16bbcf6c29c3befc4893bf16dc239ac5844bd6cba123f68c6113f0da7913a19305cbd01ab0b3fd042043f011185bb660526bd8abff83ef97cde3e1a031bbc622307bdfeb4dc3eefd0b53ed92f51bc0e6d8cbc11a2ad3e5710893e563d55bc644d92bcdf0c933ea63c413e2ad379bcc0e90dbc31b34f3e5cf0dc3d4b2784bcbc85b0bb386d033e19c0fa3c600855bcc4c4c63a9eaa313d88c7f0bc30b64cbdacf86b390000000000000000200f7dbd6c62e53b00000000000000008cde5cbd36a2aa3b0000000000000000b6c460bd2d88013c000000000000000075d62abd8d73463b0000000000000000b90f48bd198b223c00000000000000002bf722bdb730233c0000000000000000db3b0dbd31e5453c0000000000000000e1dcc5bc8827223c00000000000000008c20a3bb0cd23c3c0c7adabbbd900fbca58727bb0291183cbd6264bce1c1e5bb841651bb5063f43bfbcb80bce3857ebbad170fbb9c54da3b8fc37bbc6dbaabba163e573922b79c3b30567abca40b98baba26dfbaa2ac133b602b42bc52b2cc3af9ae1e38ed50c13accfb2abcc9ca353bfe4a1fba99479b38acc7f8bb79849a3b66aa483a6e70383a06e0abbb03e7033badbbb63b54bf9d3a296c29bce6606abb9ef8193c5cbc9fba3c0b59bc5055493a4213303c123110bbb9ff61bc92e42b3ce00c263c887c2fbb37594abcbfef853c612e043c888705bbaef64dbc2732b33cd235f43b859e53bb2b1332bcacebbf3c77a5b13be30389bbe7dc0ebc0236bc3c2bb8713b0d2c9fbbbb0dd8bb04eaaa3c6f54153a37ae2abb824b84bb6424883cf7500b3d0a94f0bc7f94bfbce968043c843efa3cfed658bd99e6dcbc1aa3673c87fd873c2eb175bd50a7babcd2f2573cf7ed0b3cf73d78bdadd98fbc6aee513c2b49c53aae095abd93df5ebc29343d3c7ade83bbe66648bdc3e3bfbb121e2c3cf92c03bc947e1bbd6e3da3bafea20f3c63fa27bc9772d8bc38b3823bb284d93ba3b2cdbb7f136bbc09f6643b63a5b23b5af6ee3ae43a2dbd5ef5d83e8783373f63783d3b625352bd5d7ad13e97bc293f5e7e0cba2aaa31bd00b9c03ea3a3103f816e9ebb2b1211bd32f5aa3ee9b1ec3e503a19bc80c1e0bc55c4913e5c80b53e549c22bcb799b9bc18be6f3e30e07f3ef7213fbce7fc90bcc616343e42ea193eb5df3abcf26c4bbc431aeb3d1a8a583d43ea41bcbfdb80bbccaf383d4448d0bc2a6857bd59d481ba00000000000000007eda8bbdce95bd3b0000000000000000920484bd0c94bd3b0000000000000000e4a47bbd17c0cf3b0000000000000000504f66bd1b28ea3b0000000000000000fd7261bde708073c0000000000000000c5394abd4e923a3c0000000000000000651030bdb67a6b3c00000000000000001279ebbc22503e3c000000000000000097cf5dbbebce083c09c9d8bbf82df3bb369e6bbb07ac193cf12365bc20fba6bb60d95cbac261f53bcfcc45bc35bbc6bb41c209bb4cb7d43b24577dbc54d042bbd81d47ba4ee7a33bca7e4dbc567a29bbad2192ba0c70653bb9b952bc27b84a3ae4d9623a0e4e823b491034bc31e13b3b57b14bba1a30843a24ecccbb12368d3b2f2a1d3a8039f2390cafb6bb6453353b3968d03bd95d2cba9268f8bbb257dfbb5c9e293c6f30d8ba152221bcb7ae1dbb2e47053c61f719b9e7792fbcbe45af3b7652303c463ae8ba2b8c3bbca64f4d3c4a0af93becb5a2ba1c9736bc15ca883cc667fe3b89314dbbd0d32abc12ed9e3c9068b53b02f432bb8275f8bbe49a993c3ed6433b092c92bb13dd12bc7956913c80028a3aebe43fbbb37986bbc5f6713c0f41f83cec0beebc7b1cddbcb78c2f3cd924f13cc9335dbd3f8bffbcf595633ce9f58c3c0a3051bdd200d7bcec94253c388b4c3ce8c27dbd8635bbbc619a543cc988df3b701a4abd9f0e85bce2d4273cf0606db76c734abd61132fbc503f353ca628c6badd620cbddb22b2bb86f20c3c2f9b07bcc590d1bc78a7be3ad80fea3b9e67c6bb31104abc603b923b26a5b53b00e3983bcd3314bd799f8d3e2d2e5e3fe719cd3b17492fbd34918a3e861d4e3fbab84c39415703bdcea87d3eb61a2b3fdefcf2ba625308bd44aa6f3ebf97103fda07aebbf747c6bced9c4a3e4acedd3ebb69cbbbf374c1bc3103313eaf47a13eb4b6f4bbf9427cbc4340003eb191483e05c402bc46367fbcd913bc3d5eb59c3df53ac4bbbaa2f3bbf0fc2a3d4a59bdbcac5e57bdd9e4023a000000000000000062cf8abd63829d3b000000000000000008f357bd9e27f13a000000000000000063087abd45e06c3b000000000000000085c952bd35d42e3b0000000000000000d2c966bdbde4f23b00000000000000009a8047bd21a7da3b00000000000000007c3e3cbddc2f4b3c000000000000000061a302bde9f5373c0000000000000000b2d930bb5dd8da3bc2b2c5bbe5d4c6bba6784fbbea11a53bc52244bc240825bb469b1fbb35f4c03b603068bc920d31bb2ce905bb7c71b33bb7a05dbcad9c51bbefa6caba5c77a73b4b2552bc281bf0babcc8c1bab6d6823bb3be37bc280b963ad699babaddc8d33a147204bc9fb9423bed32baba179baeb911a696bbe6a6d53beff59dba1de1913a744743bb82278a3b1302983b7ef6aa3a270681bbe7711ebc25e9433c504b43bbb0bf75bbb54ac0bb1e66353cf60cbdbae1a9f8bb2f700c3b02ae2e3c17ab73baa25d0fbc8069f93b64d8fb3bd8e797b9479420bcfd6d3f3c739a063cb50221bb03070bbcbdaa673ca39bbd3b834f6bbb982df5bb5dbb733c1e11603b5181a2bbbc97b2bbd6ca4f3c9d78bf3acc0e3bbb18d252bb3ceb423c3036db3c6cf9edbc8ed3fabca780f73b9289b03ccd0664bde0dd08bdb9885f3c8c67933c2ee37dbdace2fabc8f51433c663c713c39677ebd2d16d9bcaf81463cca9f263cf80d59bd9387a0bc38b0223cfceb5e3b29c44bbdf81664bcda112f3c49a506bb9cbc1dbdf5ffe4bb0d33163c7dd3f2bb602dcfbc16d04f3a6e2dec3b65b79cbb44f835bc7d61173bfebaa73be8bbe13b839dd5bc80d6033e1c81823f6da9013ce1dee7bc0613063e329c6f3f2d11943b7da9dcbc9b45093e04914c3fc833c03ac7a5cdbc840a053eb0ae283fc6e58536ee3fb5bc3529f23d99f0023f848a82baade2afbc8007dc3dcefbbf3e260908bb6d939bbcfd64b43da58d6f3e026ba238dea38bbc4ef4823d8238c83dbc8b6cbb342222bc3630123deb709cbc366e3bbd3b879bba00000000000000003dbb68bd8ac8553b0000000000000000fc0256bdc750333a0000000000000000410a52bd51368f390000000000000000d01e46bd3f69acb90000000000000000ec2154bd22d8413b0000000000000000c9f34cbde252ce3b0000000000000000bdb440bd78ba333c00000000000000001fb318bd2dd8113c000000000000000000000000000000000000000000000000682ccabaa0b84d3b16d20abc6bdc5ebb3bec99bac42f503b07ff35bcb66123bbf68a7fba9e76a33bf00312bc083da4bbe9d191bac31b743bc1330bbc62e480bbd13e7eba7bfc6c3b486dfebbd7f201bb0dc58abadc0dbe3a8b10b6bb155ca23ae659a6ba5395853afee43fbb1bd2263b0000000000000000000000000000000000000000000000000000000000000000d054d23bc664583a3b5d0abb0ae9aabbb9a1f03b0a9e8939eb5583bbcec5f538aeb5d63b1d707739d2f3e3bbfb483e3b375cc13bf4a5a03a428fb6bb940be63b48ecac3be7b75cb9d3f4b8bbda930c3c7bb08d3b744eaaba20a386bb546e093c2ef4493bcf7d11bb13cf7bbb0e02093c0000000000000000000000000000000000000000000000000000000000000000cd537f3c62412ebdf650f8bcba77c33b2d035c3c604c46bdc799d2bc4565e03bc5f4433c663835bdedc3b8bcec36da3b79382f3c60cd27bd6c15acbc28a9dc3bdb06ca3b853917bd5ede6cbcc2bbd33b96bac73aca53f2bc053607bcbbb1d23b3f77faba9fc8a8bc0d1486bbff41d03b000000000000000000000000000000000000000000000000000000000000803f2a3dc03b4bb46dbcb3495c3b1b4b823fade4673b95726ebc3630913cf5af5d3fcb133f3b781760bc550edb3cb2e6363f4ab9113a6a5362bc70330b3d0c73103f81e0ab3986ae5dbc9323133d712ad53ec836af3a616055bc607e0d3d234e893e2d44d83aa03d53bcb0b0043d1852fa3d0000000000000000000000000000000000000000000000000000000000000000e244f1bc36c34dbb00000000000000003a81edbce1c827bb00000000000000005214f4bc7c7d9dbb0000000000000000a21bfabc37989abb0000000000000000d1db06bd8b933abb0000000000000000f3ae0fbda03373b9000000000000000014371bbdff2b203b0000000000000000000000000000000000000000000000000000000000000000000000000000000075e6a4bb536f413c271f2a3da8aad1ba174180bb18c4743c9044233d91a80c3be1a5533a48f56b3c4fef043dbcc6c13bc132053ab11b653c4cf9d13ccc97643b48975d390e21283cba218c3c31576a3b378b99382cbdcb3b27d34e3c9639293accd8d439ac0f183bd277f63aa06ebe3900000000000000000000000000000000000000000000000000000000000000008a5d5bbba5a5bab9e1589c3b938d35bcf2e93dbb05c0b7ba2b37063bae47aabc1c8995ba940b22bbf62804bb8dc2f8bc89c14c3a809200bbbd59cebaef16f9bc816d323a12670abb81c69bbb1df1bdbcca11ca3a9882f9ba3be4a2bb3a0d45bc3186913a07f5b8bab60c93bb929390bb000000000000000000000000000000000000000000000000000000000000000085d85fbef4d2983c3fcca6b82a5c263afc8a5abee592593c18f9173b8ecb863ad9da44beb018923aaaa6343b26febd3a861c20be5d7ec1b92bc7a93ac2766f3a3c80dfbdce2909bb2bb8d4b8a5c7133bd83384bdaa569cba5c5068ba2c29a33aeaba58bcaba1a5ba121314bb018a493b0000000000000000000000000000000000000000000000000000803f00000000c67e9e3c1c1fd6bd8015ad3f5f4001beada44b3cc73c4abd0d958f3f3f44bdbdff021b3cb738afbc2b126e3fa5809dbd35ff083c8fde83bb0012323f0fed74bdd678dc3bc6e5173c927ce93e9ef130bde759e53b94b8593c3acb683ef2d083bc1f34983b7d4a223c65e8403cc202b53a000000000000000000000000000000000000000000000000000000000000000021b6a23c2081a2bb000000000000000056394c3c93d371bb0000000000000000b962ff3baaef37bb000000000000000062dcd63bd238c7ba000000000000000033c28e3b26bccbba00000000000000005341ad3a84d8a8b800000000000000005c7697b95327ffba000000000000000000000000000000000000000000000000559ce0bb90a2e33b782e9c3ca962c3ba20d41bbc3e64603cc14c1e3d069ea2bb4417f2bbef2e8d3cd3662f3d56e1563baa2292bbe721933cd6951d3d87e9993b954e20bb9d74853c9713e43ce26fab3b95cc43bbfab95e3c8ba6a93c241e7e3ba03dd5ba57a7163cedcb373cd510283b3e167dbab9398b3b467b0b3b34513e3b5b24bcbaf62351bafc4369bb7dcbc9badd441dbb656486b99da9493c4a0a51bcac314cbbbd2b29ba03ae313cb2fe0cbcf50437bba3a93ebb0b020d3cbedbbfbc5d73b3badb488ebb25d3a23bfc4ef1bcafe7133a29083cbb6684a53a1634dfbcc567083b9a3185bb75b457ba0a20a9bce93e563b9ea76dbb1bb5bbbb0c5842bc5e632b3b79ee2fbb13e1e6bb417abdb94376643baf1f27bb6af686bbcc46103cd0e1debde0568b3ba8abe6bac630a33a2f2a41bedc6fac3c660f9cbb10b53c3b10a05dbe4246413b6c8795b91349223b102b4fbe324d96bb8874133bc598323bf21924beac3c11bcaeecfdb91d3e253bc334f5bd899fddbb225dd0ba8516553b55098abd4270edbb18cad7baec1a1a3b202b99bca6b131bc03255fbae7c5e43a8f85613cc277ee3a296727bb5935e43a09e1323d23815bbe70d9ac3f143d723c7678303d93883fbe31d59f3fba765f3b4224043d5b6310be8ce2913f0ca59cbb5f56e03c68b4d2bd0cac713f1708cbbbb016af3c62a48abdbc30363fade6f6bb8c88a33c095432bd6302f33e4c572cbb3cb4973cafcdbebcedbf793ea8807b3bdb9e7d3c4bae14bc989c3d3d5980b43ce45b573c511f8fbc25ddcabd0d524e3a808f66bca5814b3b000000000000000080d840bcad04dc3a000000000000000060dc40bc3fca603a00000000000000007c9436bcdd5c8a3a000000000000000028c201bc8175ed390000000000000000ff6bfbbb822aa4390000000000000000e40020bcdb88e83a0000000000000000915b40bcd195323b000000000000000096c908bb830e133a000000000000000085b9cfbb3a20f33bc680073c8e69243bded400bcd685623c6a21cf3c0b0cfd3b7825e2bb42218e3c36d7003dd1e8303c568bb2bbc2e2963c5cb5e83ce1623f3cb7552fbbca66803c2fddb13c8f0a113c55d186bb98a0753c69627c3c5d0b083c48f944bb307a2c3cb0c3013cd4b2203b7d4a4bbb3e93cd3b31dca93a06e2f63a24a41fbb2f92073a80bd36bbb4d34fba4fb746bb251992b94c0c873c075bdabca75e65bb0a53d4ba81ef6e3c40b2dfbc3f8acbba55e770bb187a563cfad005bd25e547ba65278bbba7840c3cffc007bdc1086b3a0a3745bb962b6e3b3496f7bccb4a113b4fd38dbb7e51933a1451b1bcdbe6893be2e389bb4367b9baca7222bcf077693bc24186bba908a3bb51d870b7d006353ba38321bbdf5f37bb7625e33b16774abd49ee84bc9a7696b8e0439f3abd6e0fbe510fcfbc55e2233bf0edb73a2bdf2dbe2b581cbdd4afd83b7eb0ff3adcb22cbeda700ebde1968e3b61dd513b2a8909be32d6fdbc845a913a8f42053bc11dd9bdf375aebc0e7aa1ba2fc8673b45a37ebddcd541bc7601bcb97f08963af136cebc65c06dbb46054fbb6d97483b8cd1c83b17e1a43b39604abb531c603a057e3b3df2245abecacd8f3fb56a673e87864e3d548d5fbe0de9913fa6a63f3e96931e3d28472fbe7e6e833fc32c1f3eff9b133dec8110be5719603fb830e03d4e42e93cea0ecabd5f7d2a3f2b239e3db29de23c50649fbd98e3ee3e097c363df33dc23c4cac64bd87d0833e435d853c9151ba3ce40d16bd8d919d3d110c073bf32e8f3c74ae01bd07b923bd2b6899bc0bd47cbd35875f3c00000000000000007dd379bd308d683c0000000000000000d7c44dbdfbc6103c000000000000000080f01fbd1381ef3b0000000000000000abcaedbc5bb5b23b00000000000000002274b8bc5d59843b000000000000000017f747bc5065533b0000000000000000a0b006bc0409b23a0000000000000000af4cf7baf55ca93a0000000000000000895290bbdeeeaf3b421ae13b851bda3b7589dabb99ab5d3c90728f3cfac1823cbee9c2bb6f068e3ceea5c23cbd948c3c87cebebba979963ca992be3c5623813cd60a90bb2c708c3cf9ab8f3c37ec603c55ebdebaeb20623c89f05b3c07cb0f3ca5bc83bbe3e62e3c61c4dd3b1891df3b0e8c81bb4621f43bafc9d4b8f779263af9aa01bb450e1b3b29117abb27438bba5cff21bb863f1bbbd0ad733ce7120ebd69bb89bb7faf4fbb0db6893c8bf30bbd92acfbbad35b8dbb65c74b3c654212bd32ae7d3a5529aebb20b1173c760913bdc1781c3bc863aabba4eee63bb87101bda4f8753b15a4b3bbdbe89a3abfc4b9bcd153303b962b8abb9cea113a65d541bc09ffa43beec188bb69493abb5c839ebaf0ff4b3b4ba522bb0af2a6b98239a33b1fdbb2bcfdf93bbde447513b2af3ff3a7459cbbdb05889bd59ab2b3cc61da33a131d09bea08791bdfe3e133c7ab5a73a31df09be529c87bded11ec3bca1db43aaf6bf3bd75ae5dbda08c883bf8cd323b9885b8bd4f0713bdd70305ba47ab0e3bb5f76bbd2fb3a7bc999eba39a368d33adebcc3bcb639d2baefe68cbb91d7143a6d16dc39cbc31c3c6d9606bb37d493b9182e293d71bf4abe224e6e3fdb5fea3edaa1473d8a1455be757f723fa806d33e9bf5253d5cec33be8513603f3773ae3ed25d123dd75e0dbe63533f3f01ae843ed003f23c59abe6bd290f193f280d393e324ce73c3a11b1bd0402d73e752add3dae3bd33cd7fd85bd47fa7d3e1b2f323d45cfb63c92f046bddb4bc13dbda4e6bb8f578f3c1ba626bdd13929bc592d45bd22c3ebbdaf81ce3c00000000000000002e2de9bd7735c93c0000000000000000a7aac2bd8c90a63c000000000000000048ac94bd7df3713c0000000000000000a0666cbd72ff473c000000000000000064b711bd64680c3c00000000000000001a8cc7bcec46cc3b00000000000000004d7bcfbb443d5d3b00000000000000009dce1e3b5d9aab3a0000000000000000767097bba532a73bc4ba523b2c03443cf6f598bbcf4f133cd5026b3cee84b23cf5058fbb3cc1493ca6be9b3c0e27ba3c694e94bb327f843c01179a3c6012b73c3c693abb4cb8503c8ac33a3ca1a3673c7d509dbbb6865f3cdf971c3ce3834b3c67425dbb4e1e343c8d7b863bed9ada3b33d4deba68bcb43bce58c039981e003bb590c8ba83e4b939924544bba9d89bbab008fbba948414bb58f17b3c304816bd243d34bbf4e6b3bbe1af643c165d06bda0c87939699cb4bbdc2b2d3cfabf03bd5f12b53a00dcc4bb30fafc3bcc9f05bd0809503bb0aa57bbb990a53b31d4e2bc840d363b235297bb031aa33bbd86b9bc4ad3963b09e2b9bb3460c2392a4b49bc9bbf713b70ef35bb8f2830ba8a486ebb98037d3b8bf9b3bbc69e293a03af523b067ecb3a646589bd88c2643b1693403bcd1d82bd3f25dabd35b26c3c9c4b123bb206bcbd8731e6bd5c853b3cd7d13a3b6054dabdf8fad1bd8c8f0e3c73253d3be53a9ebd588095bda05ddeb9baa1593b67e098bd68705ebddb94dc3ab196233baff140bd3e10d0bcae1718bacf6a403a849cb0bc8ead35bb504da3bb4f6dfdb8193770ba369c393c2dd644ba968c8e39258c063d410d23be2fc1333feba6303fcb5d1e3d35c32dbee17c373fdb73273f33a4093daa1e10be5a322b3fa9340c3f1577fe3c636100be9307193f6207dc3e620db03c126dabbd5c24eb3e50da983e3589db3c5cfcadbdf059b93ea7a7353ee824b23c133b7dbd6826613e7242943dca1daf3cdad649bda1edcb3d03a645bc96b3563cfbbb15bd7a2ab53be18686bd3e0721bee4f4053d0000000000000000be2229beadad0c3d00000000000000003f9306be4e1cd43c000000000000000030d3ddbdf71cac3c0000000000000000702d96bd53454d3c00000000000000009e1c56bd39bb523c0000000000000000dfe0e4bcb56dc63b0000000000000000f9abb7bb754c793b00000000000000009f62a53acab9563b0000000000000000e0983abb42dd763b5e3fe03a33825c3ccdee49bba699fd3be5e5263c7e1ef03cacb37cbb9b373b3ca563793c46cf013db6bdacbb223a643c6b16893cfab2d93c949750bbc0255a3c79e1563c2601b53c591f63bbb69c573cae192c3c4550743cbf2e66bb8115323cea1b853be6c9133c527873bb3941da3b770d5fb850ba923aced9a4bac2ae263b220574bbbc41ebbab59917bba59a97bbba64193c775ceabc103248bb2c41d2bb556b263c8232e3bccfb088ba4c57e0bb3bfce83bec1adabc8a54023b8f17d5bb6b8def3bb7bdcebcc806f33a5cf29fbbd6f49c3bfef2d1bc799b243b8a5889bb1f517e3b187ea6bc659e723b5a19aebb460bb33a2e164cbc2357743b60b686bb4115e3b943f368bb0464fe3adc002dbb8bad6bb7b535e63ab282563c8599afbda429d43b37e8a03b73ad1abd775e15be250bca3c22359f39b9a089bd05f51fbe5a4fa53cb88be23a625aa1bd6de708be97c7523caace393bd11399bd70a5dfbdbd1c103cbe4eda3acea681bd6a028ebd4646933b49bc1ab945c92ebd1ca811bd1a1f61b9f580eb3a026fabbcc96e5dbbe687f9baff5af0babc15ccba130e823cb38304bb414f8fbae841d93cd7f1efbd5e0fec3e1c0b6d3f439cef3c1843fbbdced3f43ee17a633f3450da3c8a85e1bd9779ef3ec95d433fa934c23c6684c1bd9550d73eae7f183f1231b33c7181a4bd2cb2b93e63b6d93e1635a03cbbc188bd31628f3e1c6f823e77158f3c990059bdaf53403ef6c5d63d297d923c07c22dbd1505c03da40352bc76d33b3c325b05bda3a2923c09eaa8bde68145bed9a11a3d00000000000000001e3f53be3ccc373d0000000000000000e3b32fbe0e7f093d00000000000000004a1507bebd0bc83c000000000000000039f8c7bdf4e4a23c0000000000000000c7e881bd88554f3c0000000000000000bf7ef4bcc91ff43b000000000000000042e3b3ba3602023b0000000000000000500d933bb8d97e3b00000000000000002033e5b9bff3aa3ac36a6aba5a55973cc0ab04bb2fdf643b9967123caa8d103dd11451bb5dad023ce3ea633c8026163dcf3a79bbdf02203cd345753cc5130c3ddafe07bba3d61a3c55f04d3c6f94bf3c475a84bbbe4e183c5082083c234b993cb8287ebbc8171b3c8e4cba3b01c3113cb1a2f4ba472aac3bd37d213acd050e3b1022edba6a9b003beb845bbb673bbebad73a82bbc59e97bbe963c63b281da2bc575a97bbc34addbb8ae0973b883595bc1afa403a762afdbbea2a8d3b832e7ebc4ddd8f39fd43c8bba5ba4c3b6c7989bc7f503e3b52cd89bb9516253beb148cbca817063b60d085bbf2163e3bdc2f77bc8913213b845e87bbf32a193b9aeb26bc7cad343ba31024bbc2ac5d3a6cb5aebb42d6fc3a708714bbccd5a93a62b32d3a21bc9d3c5a4fd6bd460ea63c2b6ac9b9066166bcbba638be6aa5053d8f4fb8ba4f7f3abdcd9a40be4512ba3ce07da23aed8863bda93731be35fe933ca14ddf3afbf355bd36b504bebf1a063c697c563ae8ec3dbdbcf3b9bd9207ce3b561f1dbab8d30bbda6c135bdc8320d3bfcbbc3ba74b593bcde91a4bb958567bb59ddcfba2536e3bae9928c3c58711dbba6bb62bba8127a3c988384bdb9866c3e9f7c8f3f5fc0993ca19a8cbd5f287a3e70448c3f79de833c446584bdec0a843e8f45723f16ee853c2d036ebd977e7e3e2ae5413f1b0f583c1c9644bd8824623e3fe90a3ffc16713caa2b36bd59693e3eee29ac3e893b4c3cbb0d13bdc5ef053e936e173e3b84133cd70be7bcaa92a13d1bd920bcc312fa3b3990b3bc6acbb23c99c8cabd353959beaaf1353d000000000000000069d165be05313f3d0000000000000000d0723cbea5630f3d000000000000000065b416be1668db3c0000000000000000bc0fd6bdc4459d3c0000000000000000d4278bbd97b05b3c000000000000000004a309bd439f103c00000000000000003f1bb03b00c882ba0000000000000000189d8b3c24420739000000000000000054f4d0b947e880bab4ec6339f9f1de3cefc210ba3d7ed0b8ba1aee3b08da3b3d4fc9dcba43c8283b7cd6593c356d463dd52e0bbb29bcad3b0829803c0676283d453c07bbd539ce3ba6d5513cd372fd3cee9d0fbbeb0dd13bedcf2d3c5573b83cff82d8ba7348a43b7aaebb3bb4bb423cd29302bb8204b83b7473d63962a4233b885ed2ba41f4be3a49b92dbb7d0683bb372dc4bb9e66a7bb992a103a1a6c9ebbdfdb20bc49aebfbb14d606bad3359bbb4a8454bb26fff4bb558d46b932bdb8bb32f9d83a6260d5bbbc7604bb8c23febb2bd90d3b080394bb6d24173a8d7e1dbcbe7eaf3aac3b6fbbfa847db990670cbcf7210c3b2912efba8b69b439279e06bccafe423b2132afbab812e83a19d002bc3acba13a0b52d9baba18d83a31b5aeb99e15613ce8ae0fbe24dccd3c74aeaeba854273b9abfd58be54f34f3dd19d07bc97c4d8bc8eff69be056ef53cff18843a5e5d1ebd03cc53beecc9a73ca7b4253a87621abd64c523befd23303c3c13403a00200ebdb4f1e1bd32d0cc3b69e873b85328c7bca70368bd0c1b1cba47c3b2b9afda36bcd9e8ffbb754721bcc0f30739b4a38b3ad0c8cb3c93bc58bbb87cc0ba9d7bb93bbb8d85bcda0b843c8d95ac3f127ca93b898e86bc0503343dc5839d3f2e6ad73bb2f2a1bcee35993d0f288c3f3130143ca7bfa5bcaa10bd3d4bec613fa13dd73bddde93bc0a78c63d0d36253fae27c83b9b2a8bbcb8cebb3d92e3ce3edc8ed53baf0165bc25ab993d4b5c3a3e7abc7a3b2e5a3abc519b5e3d2ebc803951f5ce3a0ddeefbbe3fb383c5a7c05beb2085abe442d2d3d0000000000000000297952be34372e3d0000000000000000af6a2fbe1e44e63c0000000000000000037809be0d78b13c0000000000000000444fc9bd160a7c3c0000000000000000f3086dbd6bf60d3c0000000000000000a82cb7bc6fa2ed3a0000000000000000e041c13c68990fbc00000000000000002024a13c624c4bbb000000000000000000000000000000000000000000000000f3529cba26590aba94b2243ca94c353dc5a3e6ba1a26673b92c54c3c0ede2c3d30f101bb0a739e3b36bd523c0dbe0f3d46229fba9f37a53bf482773c8f7bc73c46fb0ebb3949aa3b31760a3cae38993c547a04bb9c838a3b5c1bc03bf84a323cbb6787bab4c0243bf1c6f33a316dee3a0000000000000000000000000000000000000000000000000000000000000000369b4fbb368698bb8e2c93bb37aa033cacc4deb93603a8bbe8141ebbec5cff3ae173093b30c328bbb8c55ebbf7a3f83a34c8953bc77978bb100608bb7f773ebb7ea8483ba317e3b884db7fba40003dbba720963aa2c759ba3af4d9b9ba326fbbc5d1723a369b853a89ab3639e16347bb000000000000000000000000000000000000000000000000000000000000000051376dbc2d625fbecadfb53ca971c4baf9aad6bcb90b59be2d4c9c3ca6b582baa6250fbdbcb540be67130c3b701f4a3bc12d13bd60131bbe6a6cb5b9464d143b9d50e4bcfaa1dbbded1787399a9cc5ba4f098abca34373bd05a943bb31876bb9029edfbbfa5b20bc3ab847bb43d20cbb000000000000000000000000000000000000000000000000000000000000803f70d915bb178a8f3c8be7c9bd3b02ad3f8aedbbba5b2e2b3cec8b2dbdb8ef8e3fdb41c439af2ecc3bd3d944bc37956b3fc53c77baff39c43b64f59e3b8950303f06339639f24a9c3b37ec613c3eafe53e59c286b9ad118b3bec7e823c157a643e9588bfbaaccbc43b5992243c08d50d3c0000000000000000000000000000000000000000000000000000000000000000f73207be5333a33c000000000000000054b7c5bdc83c5a3c0000000000000000cc659dbd26ceda3b00000000000000005f9072bdd442c43b0000000000000000ddc427bd6f48803b0000000000000000bdb04fbcf12412ba0000000000000000b7feab3b0a8776bb0000000000000000000000000000000000000000000000000000000000000000000000000000000033d45cbb4271643c1020263d4b6306bc38180fbbb3fe843cd06b2d3d75e0dfbb25b100ba33af8d3c54aa163d614749bbf00a013a8df8583c1acdfe3c486e4fbb0c924e3a8813353c5f63b63c209c35bb92d33c3a1c59fd3bba864d3c1aa331bb23ee353a0e8f193b7a1f373b1503bfb9000000000000000000000000000000000000000000000000000000000000000015463bbbebf6493a48eef63bc7d9ddbc264618bb8477bdb9c2afb03bbe0117bd23980dbb9e826dba17fd923aa0f423bd45654eba23e1e0ba285553ba3fdd25bdd656023ab143beba715300bbc61506bda671113b07dcc4ba78aaf0ba63f4b4bca905aa3a9bd890baa33141bbc498bebb0000000000000000000000000000000000000000000000000000000000000000be7659bebd69053df8b0bcbb27df203bdd645abe6f7d123d9340ddbbe3ac483bc4c049be60f0d13cd0d668bbab31343bdf8224be7d40c23c8abfa0bb523d763b800fedbdb9e2a53c6fd1abbb742f4a3ba5bd89bdcd11723c8392cfbb709c5e3b2b3d89bc8521ab3bdc8971bbc965323b0000000000000000000000000000000000000000000000000000803f0000000035958b3c7815b8bd4fb6ac3f7bc710beb931023caf49e8bcd7eb8f3f6572f8bd546ea03bc23f2e3bd2ce6d3f4cf9ecbd7e333a3b7c56d03caada323fa3ced0bdc7fc743b9cc5f33c9adaed3e8365a5bdfee8833b7c10c53c9a5b733e305e33bdcb9ae43b56b8ff3baf9f963c0f4021bc0000000000000000000000000000000000000000000000000000000000000000f54ed33cf7b6bdbb0000000000000000278db63c08009dbb00000000000000000034a43c3ae399bb00000000000000000f1e923c3a398abb00000000000000000b725a3c17d35bbb0000000000000000c9b39a3b995f03bb0000000000000000c5be07bb74fe33b80000000000000000000000000000000000000000000000006f40c2bbf45d3d3c5cf2553ca9fe7fbad07316bc24a3bd3ced56093de9763abcc061c7bb24a8bf3c60682e3db11804bccedcb0bb2f02b63c579f293dafa59abb085e84bb1484a63c154f053d2497d9bad8555abb41fb913c6fb3b83c8f0820bbd4d35abb976a333c74ac563c5ba98cba1b7f29bbd384213b4b27243b91fd343b6e7209bbc5e1a3ba805c63bbf05e113ad7c16cbb99d4dd3a834c983c2ed710bd246a5abaae1b99b9ad50b73c545534bd21ca09bb4deecbb90f32893c2c544fbd2eafe5ba3eb5f2ba010b4a3c4e4b4abdc961c6ba0cff49ba9bae123c02c538bdd68bc33a019d4cbbab81ae3bf98d0ebd8627e13ae06f20bbf992073b342686bcf9897f3bc42783bb73edd5ba0b316a3b5172ee3a7ad924ba44eb8fba240a343c5902b4bdc806d6bb7f5e663ad24c9439b43635be8576fc3c9e0a24bc8711a33b71235abed672c63c4752b4bb6d1f7b3b877552bef63db43c256f9bbb2a0e753be97b2fbedac08b3c5f567fbb8412bd3adb4c03bee2718e3c0591b4bbc1518f3b6f6aa0bddf915c3c5711c8bb86bc4c3b385fd5bce9d6ca3a6d6c03bcf3c6a83b5ff13c3c26f58c3b1dabc1bb5d10ff3a0cd11f3d99484fbeaf58ac3f7936803ccbe9113df9e232beb7c1a33fe1c7d6bcd74bd93c252501be5238953f6ed153bdd90cbb3cd15bb5bdee257a3f0a728bbd2ab2923c944a68bd57a5403f64c394bd5c8e943cf38028bd5406043fa58687bd37959f3c51140dbd401e903e6f2144bdd048c53c15c311bd24d3943d26380ebcd9c1973ce3be1bbd881aa2bd92d46cbcbf1317bcecf9b13a0000000000000000edf68fb972ceadba0000000000000000e85ea73b28bf47bb000000000000000060fb133c30f680bb00000000000000002634303c6ac30cbb0000000000000000fa110c3ce4cf66bb00000000000000008415d33b7127c9ba0000000000000000106a56bb64ad163a0000000000000000dad0703b331630ba0000000000000000291faebb2306393c61dcc33aa79fe43b7f100cbc3935b13c9ce2943cdf04d53b23e9f3bb891bbe3c7b35e03c3addf13bf3e2d9bb1ee5c03cf0e1f53cc8ab8b3b3743cdbb3e24b43c03e3bc3cb913453bcfb8abbb0682973c1a13a23c94b6883af0d4acbb7256663c8a83233c0dff12ba1c731ebb3f15db3b0189223b71545db7f3ef71bbd45eea3a3f427fbb7bd08639c779bdbb5c5ea73a6046bb3c016155bd3babbebb2184d2b8787be53cdc477bbde561aabbc9648dbacc74a53ce9a96bbd9fbd35bbca3e1dbb113a8f3ca3c560bd75e68dba95b801bbff1d5c3cac6a36bdfc849e3a72ef2fbb7fa00f3c3d6a0abd2d14063becd039bb21277b3bbe0395bc3af03f3b32f811bb57cacbb9883496ba1173163b751e12bb414bae391e811b3c323483bc56592abd7eab1b3ccb8c5bba13f2ebbd8bf700bde1c20c3c4113ae38a1651fbecfa2dfbc1d94e83b95dd883a2f582fbe7f3620bcd1e0c639b2a5373ba56415be0526bcbb4bc99339ae97453bbdaef9bd7d3c043c003bc8bb0e09233bf6849cbdd25d4c3ce856b3bb456b2c3bfdc41abda5054b3c7d4711bccfdc623ba4e3ecb6697c563c07290bbca96e4a3b6e5d293d04d24fbe21868f3f6932673edf86323d87c454be1304953fc751173efc330c3d508d23be3389873fcbe8be3dd58c073d7de20dbeba36703f11d8b13c9606d23c9d77cdbd97753b3f488817bc1989ea3c5209b4bd50b70a3f43d83dbd80eddc3c99ca8dbd2556a73eebb372bd3a33f33cb11888bd0fd9093e813f54bdc230c03c32bd6ebdc47089bbcb4b56bdc14e5dbd5fbf103c00000000000000004c9f2abd18a9ef3b0000000000000000b298dcbce08e173b0000000000000000993e19bcc811fe3900000000000000006cef40bb2d93d4ba0000000000000000ebbec23beee2bfba0000000000000000d4ce0d3cff920bbb00000000000000001c43453c17a877bb00000000000000000ec9563cd29e3fbb0000000000000000fbdb0bbbad98f23bed3440bb7c6a653c57b8e8bb9454983c0ebb203c486ba13cbc8205bc5c66b53c021dab3cead47f3c7100f1bbd41fb63c5efec33cbe52403c43d9f2bb272bad3cf825b33c73de2f3c64d3d8bb59369a3cba19813c701f783b4ae3c6bbaaeb693c8d25063c2269163b590dcfbb4b491a3c3aa5423ad6508c39c36246bbc157683bc43b95bbbb88e6ba849abbbb464a6cbae114b43c2ed979bdd8fa1cbcee4ecf38dce6da3ca42a85bd3acbf5bb6c0cc2ba4b73cd3c7d0b7dbd5b5f8ebb96cd0abb2375a73cb1e55dbd19816abbb20406bb6e4b8a3c88be43bd82ed933916a560bb7c15453cabbc08bd05b2d13a7dbc36bbd4cb103cdd0ba6bcf3f8753b9b7438bbac8a923b93c613bb7d55483bd85e04bbadcdb339aeade03b6695c63cae93a6bd9644913c3f092fbbc76985bd135caebdbd7bc23ca98784bb2b49f6bdd4fc88bddbab8e3cff32b2badd3e0bbe040c3dbd24d2213c2dba44b9838007be6c3fedbc0505da3b658c52ba0c9ddcbdc61e14bcbd958b3a0f61f93a404099bd4203f13b376aa9bb6a86813a11ea21bde436a03c1cef2dbc10c6fe3a1457ddbb7ad2ac3c06cffebb98475c3ac465143d88e43bbe424f6c3f517be53ea7352e3d822b4abea015783ff01fbd3e079e183de60133becd1a6e3f26f9853e5e24043d423e15becf7e533fb8b8213e94c6f43c636503bed005323fb428883d69a5f23c9f0bd8bdbcd9043f35d7a03af74be43c156db9bdd48aad3e77ba48bdf91df83cf070a7bd58602c3ec4cf9fbd1dbebe3ca1af84bd14af203df93dc0bd452bcfbd5a74a13c00000000000000006c4cbbbd133c863c0000000000000000567b83bdc10b2b3c000000000000000089a221bdcfec8a3b00000000000000004b3ab1bc641a5d3b0000000000000000b93da6bbc11466ba0000000000000000b62c083c2d8cabba000000000000000001c29a3cac64b2bb00000000000000002ff9ac3c4cad5fbb0000000000000000a8d307bbaf059b3b0404adbbbe639e3c0f859ebb7f857c3c45d3a13bfe80e13c093cafbbf2227e3cffba703c0851cd3c9255e6bb0707aa3c5047983c9444b23c217ea4bbab136d3cea9b3f3cbe4f623cd6a4cabb09d8953c86dc5f3cf576143c7501d4bb611e663ce32ff23b2a763c3b33c9b6bbfe172b3c27b1aa38db38523810c891bb92d3a33b032b38bbd0145dbb6606d2bb20c7f1ba0ca2ab3c6a3673bdf8fc3ebc847a85ba0780bf3c2cc87dbd39e5f9bbaa5b1dbb0d32953c0b3f5ebd3bd102bcd97cdfba2348a43cf0515bbdb31ef1babbcf04bb2901333c111a19bd60ed4ebb2deae0baa0c55a3cbca00dbd75898e3aded924bb441d013c91b092bcbc8c023bdb1322bb67a0923b5df099bb02902a3bbf65a6ba39d4223b59ae823bed72343d8e41ddbdf835b33c9498abba7777f6bcc33405be6aab193d5271cdbbd29799bd4f1fefbd830dde3c91f843bbe12ddabdb38cbabd3fc0c13c247370bbc0a4acbdc85c7fbd19d9453cc2992939c316c6bdd138dcbcc52ac73bc67637ba685189bd1fc2dcb776c8d0bac668a63942b523bd5213933c0e8608bcd596e83a30c341bccfdbe13c842404bc597e96b9f51bf13c67671cbe9c52323ff9a72f3f41af0d3df4e225be83103e3fe8651b3f7195fb3cf76c13be8b71393f031ef13eeeecfa3cb1a00ebe022c303fb477a43e6699b33c6982c5bda4980c3f797f4e3ef003da3cd6d6debd7c22f33e1103823d72aac53c0321b1bd2d63a23e7750a6bcc905de3c3e74a3bd7f4b383efb1fb3bdf205a23c317983bd527f803d1b36f2bdc2a914be4d24de3c00000000000000004ed811bed63ad23c0000000000000000b993dbbdf4ea983c000000000000000006a09cbda927583c000000000000000068f75cbdfe23f63b00000000000000005165a0bc141a163b0000000000000000eb7d57b9ab2b01bb0000000000000000345dbb3cbe69d2bb0000000000000000e79bdd3c21bf96bb0000000000000000e4c81ebb8b4eb93bcca4fcbb2f5fb13c1860a0bb17665e3cc5c4113bc0ff143d24859abb7619723cbe56503c67a50f3d5834e6bb323b8a3c03b3713cb009e83c7007bebb45ea8d3cbf31833cfd35ac3c6565cebb7f77863ca83c443c7328523c8e87d6bbec51773c9f0ae83be7dc543bf4e88cbb8359273c4b0ef53914bc60bac6387fbb3fcdb53b5b86a9bbbece03bb066cc1bba93218bb0470893c4ed751bd0bc84fbc34621abb933da03cd3d354bdd4e73ebc96eeefbab2d58c3c856246bd0cdd09bc945f45bb4679833c8b342dbdd69bbbbb403388ba2eba6c3c7b721dbdff9b40bb1f4539bb2a4b3e3ce55eeabc40b5fd3aec4e50bb28a1283c608d9dbcb6a53c3b4fc9d7ba4b10963bf78cc1bbd81a973a91089dba2c8a5f3b7179f63a2244613ddc59ffbd2287dd3caa0fa4bbf91815bc0b1e2fbe13f84e3d7c3b23bc3bef64bd394526be11f72a3d3b2ce5bb005d9dbd50af04be823ffa3c421e5dbbca1cb2bd5af8bebd63f9b53c16499abb4ca7a2bdd81642bd1a930a3c55f0fab98f1b7bbda55c51bca7fc313ac3797ab9504116bd8d7b893c3f8105bce94a65b9f14c2abc97e2de3cd917c8bb96768cbaa306b73cec31ddbdebb7eb3eae0e693f107fce3c6e3df1bdec01013fad9b593f5dfdb93c8fa2e8bd6456063fc5e1303f9db9b93c1ce4dcbd20ac013f9301013f9e1bb63c1c56cfbddca1ed3ede71a43e7f43b73c57a2babd84f8c23eddc01b3e15a9a93c7334a6bdf5758e3ea96c933ca95aa83c218f8bbd52b8273efd11a8bdcf9c863ce7fc65bd886b8b3d790508bea70935becf33093d0000000000000000218840bed16e113d0000000000000000ace318be89b3d73c00000000000000003156e0bd7a15883c00000000000000003cc692bd7335313c0000000000000000d31f0bbddc65563b00000000000000003210bfba20ac5cbb00000000000000009f50e53c221428bc0000000000000000eb35e53c5acd87bb000000000000000056819db84ded8e3b9e379dbbcc62d13c270c83bbd2f9123cce0d443baf502b3d74bb6fbb958a273c87c82a3c8bb12a3d9aa6a8bb9c22553cd72b743ce44d153d5a47c0bbbaf0443c405b473c7148df3c78419bbbd1bd443cb42b503c69327e3c63d2b7bb796f443c2851c93b0048003c2d0e97bbc23d143c18b3ebba3e6fe73a97c14bbb5eb6a03bb6a286bbfc459cbbfa881cbc15f10ebb203a2c3cd91313bdd20c82bc5fb9b9bad29e313c82bd07bd807a36bc9a4746bb427c363cbddb00bd34e426bc891f2cbb6125373c5093f8bc47bfb5bb9fb616bbb1ba2c3cb221cfbc420f47bb220ce0ba5c0a143c5ce9babc999238ba531298ba9e4de73b760366bc9f6a293b723758ba06f7753bd83e6cbbcd1c593b658628bac9c2ea3a38c1263b23ca373d51050cbe584c233d1f2f0abc3cf069bb31804dbefd6c793d29fd5bbcca3d16bd67c848bed3d9433dbbee03bccc2975bd7c172fbe737a293d13cfd2bb843d77bd0edafabdd9adc73c880486bbc3667dbdb4ab9abd61c8863ca0147abbf93445bdc43ef3bc43faa43b36d802bb297cecbcbb83393c0b032cbc35f006ba41efd9bbbcb9fa3c74cd18bcc78ef1ba5c50483ce9ea71bda8766e3e28d58e3fb08d7d3c7e1e88bd31ba893ee326893f58e5613c25368bbdb8b49e3e24e2633f502f663c22478bbd7a0ca33e51e1303fe4be593cf74b84bd7a62993e26b9ef3e3da4553c7efa77bd02fa883e04b2833e4bb9693c87ca61bd7ed44e3ede04b13d43c2493c0cc839bd4d6f023eb9af86bd977e313cc57f19bdbc28503d0b8a0ebe047a4bbee2581d3d000000000000000099c457beb7f31d3d0000000000000000ed3434bef017fd3c00000000000000006af20dbe7061ac3c00000000000000005a28c2bda91e753c000000000000000076204fbda4e89b3b000000000000000074ee91bc36ccc0b900000000000000003b40033dd8aa47bc000000000000000015a2243d7fdb21bc000000000000000095ac9bbab739c23a28c03cba3d18f33c82281cbbf5dd873ba46f303c224a4a3d7a336fbb00b2b33beb138d3ce4624c3d72ab54bba8f8dc3bf5558d3ccde2383d3b046bbb3369033c317d7b3c0a150a3dda095cbb4ad6f23b6bde593cfa61b93c8b1e73bb1237dd3b277fec3b286e323c969319bbf947a33b0cc870babed8fb398e7ed9ba47e3513bbeb5aebb91d9a3bb08ea3bbc54b48dba0ab33c3bbb8953bc6e08c1bc1b980c3bafcff83a91da0bbce24682bcece7dcba0e41453b30de39bc6cad3cbc653f40bbe3dc953b865d60bcd20f1dbc3ffcd139dfe5843bfcd65ebcecf8c8bb40054fb9e441b53bde3150bc899973babd6bf6b971c6873b6fa00abc1ac7893b33e5fab8bfc8c13a95e132bbed0c393b6ec0ae3913bda33a62dff83ac177b43c5b1f20be7a6a213dd0981dbc742a46bcc31668be76239e3dca409fbc50631bbd437d70be2112703d8d3528bc30f34bbddfd854bea66e3c3dc1f8e5bbdd455bbd42ea23bef00a113d6bfbd6bbdfdc3fbdaf3cd7bd18dfb83cc0a9a0bbb77909bd5dba4abd6bfaee3bd5b02abb489146bc219ac23a392168bc622e0f3b0bb53eba1c00023dd03e07bcd34c08bb70ac693b4be93dbc44d8943c3d48ac3f70de8b3bd9a278bc68af773d7b809e3f290cc13b3c4fc3bc8ae7e73de0a6893f21cdd33baa53dabcd1a8133ec3fc593feb4cbd3b203aebbcfc921e3e627d1c3f35f4b43bda02dcbc7776113e6b7cbd3ecf37a43b6affbfbc7acfe83da71a183ec6fb0e3b66405bbcc011893d886408bd72474a3ba5676ebcedb5c03c4fa31bbec25d4ebe9879163d00000000000000009bd453be05bb163d0000000000000000b62335befff3e03c00000000000000008e4c13be5ea8b13c00000000000000004fecdfbdd914713c0000000000000000a61e89bd902bef3b00000000000000000915a6bcf6c903bb000000000000000094f3173d662586bc00000000000000003444113d9e9628bc000000000000000000000000000000000000000000000000e6c684ba36a1be3a3b0a283c3cb5313d21112abb9913193bfc8b693c0f4d383db10411bb3167723b882f7c3c3ba9103dd4f4b5bab4c2443bd4e2763c407bf73caa0b02bb9cf74f3b4c8e353c728d9f3c5647c9ba4ec4403bfb36fe3b081d353c84c8a6ba4e46193b94841a3be0ddb33a0000000000000000000000000000000000000000000000000000000000000000478c3bbc43c09abaeeea86bbb008d33b7d3e16bc3ebfefba8595dcba60e4783bb48fa3bbb47cdcba658489ba8bd1583a8ed103bbc0342abbc8ea6d3a015922bb40c41bbb035164386c59e4b9c072fcba9308c1ba3c09813a0b7fad39184f0f39f8b221baa831d93ad0ece539437725390000000000000000000000000000000000000000000000000000000000000000e023d2bc20f958be58a0193d3e0f04bc7a871bbd0d7359be1bbd143df028c7bb650630bd0d0e40be0e9fc53c4ee217bb24b431bd39391ebeb879a13c5f9b28bb6e7418bdbe40dfbd871a7c3c128329bb294cd4bc861e76bdc82c053cafed39bbd3b131bc8e2125bc95ed9a3ac99271ba000000000000000000000000000000000000000000000000000000000000803fc8c716bb9ba99a3c4bf5acbddc73ac3ff3a23fba8c6e173c3a35a3bc55318f3f7d2732ba1588653bef8c773c76af6a3fa91ce7ba91da773a0a35163d05fb2f3f9283cfb7e073d2b904312a3d436ce83ebf331dbb5994b53a2c00fe3c7b236a3e479b5abb94d4d23be3ec593cf04c663c000000000000000000000000000000000000000000000000000000000000000058b510bea02ba93c00000000000000007a79f3bd0b818d3c00000000000000005ad8debdf8514b3c00000000000000009e5dbdbda020333c000000000000000041118abdbd40cd3b0000000000000000b6b207bd2ae1503a0000000000000000970d46bba629d3bb00000000000000000000000000000000000000000000000000000000000000000000000000000000d97f873b63bf60bcf47f153dfed569bb85d8683b7f1e79bc0bbe313d32d5bdbbb3629a3bf85e95bcb9ce243d7507a2bb8c32a13b95578abc1ce9193db99cb1bbce32823b3d7e3fbcec1ef93c6097fdbbea6e2d3b284661bbfe97a13cf41bd5bbe8dad23a4586b73a6ce12b3c3eb7e5bb00000000000000000000000000000000000000000000000000000000000000000e5bb7badf214b3ac534acbbf3cb1c3b2c3e27bbe72b5f3a1c4db6bb2528533b7eb04dba2816553ae001f7bb16a4d13bc314c4ba406e373a965debbbdf2ae139bff532ba7c630f3adfa8bdbbf5af0abc282af93a239cb0b9cc7f61bb6a0061bc599ecd3990f6d0366ba13d387962a1bc0000000000000000000000000000000000000000000000000000000000000000e5891abe87b45f3b644652bb0eb5323b33f926bec3e0573cc46e68bb61b7773ba0861dbecc74503cfef00dbb07290a3b419c08becc306a3cc64544bae868c53a0a90d6bdc167953c78bd5fba96e0143b4cc28bbdec21913c900d36bb4a31c03aeebbd7bcd7ee543c84dcd9b9bc7dcc3a0000000000000000000000000000000000000000000000000000803f0000000098d98f3c4b4786bd74699d3ff6e1e0bdc2ba253cf739b0bc611b853f14d9dabd7d854a3bfd99cd3b2ed05a3f1180d5bd028960bbbde5e73c2ddf293fab7accbd4674a3bba49f1d3de324ee3e141eb0bddd3170bb5e9f0c3d7b358a3e6a5784bd881db5bb3f79ee3c1de1973d01ef27bd0000000000000000000000000000000000000000000000000000000000000000a5f9f53c7f6732bc00000000000000000fa2f63ccda33cbc00000000000000003860da3cda6e35bc0000000000000000a1e8ba3c45e015bc0000000000000000ac789a3c9cec02bc0000000000000000c52f273c9871a0bb0000000000000000cfe0d93bbe27aaba0000000000000000000000000000000000000000000000002bd671ba698a093bfc90fc3bf5a9aa3b43e0643927f3e8b9064e183d1ee2ecbb887c613bb10816bc9ede413d93a7dcbb4a9e723b6ef352bc6555473d104cffbb73218a3b83185abc3f72313d791205bc53db8d3b1d471fbcf0f2183d6ef823bc19e2543b528a91bb6eadda3c274f33bcc800803b2bdb9bbad4e8143ced3400bc4d4e893a87cc083ab486983b5a49fabbe8f4cfba43e4c839de9bafbafe328cbca166c4ba3f1388b828fffe3b7b31efbc9a06ddba4f20c4395670dfbb75aeedbb5b5cecbabe6f0d3a5e0f47bc15e5223b6a263ebab48344384d2069bcdf5fcd3b85c50c38ec39c73832835dbc09f7203b2fbf49393b9d5bb87e0b25bc132561bbd025463bcbb99eba82600abc350f8fbb337c1c3bf1f475b950cc93bb669d0ebbaebf49bda2c30cbd7187543bd3bf94b9146e04be390d4ebc7123963a5ca69b3b24882dbe838758bb672214bb5c57633b63b52fbe8e80a63b39c5a1bab962693b268d1bbed30c243cb36d96bafa474c3b014cfebdda236f3cb059efb905ff193bd960acbda455913cb1f3d8b8c5f20e3b0d1304bdf7f87f3c115616bbd2e3ea3ae8261ebb86d7613c5f8906bb6323623a9f8d173d875716be3d729d3f6aef513dd5ae1b3d16530dbe9b64993f23188cb9d66c0f3d8ea0d2bd7334893f14f50fbd4640e73c72ec8dbdc5ea663f7dec74bd63029d3c3d2527bd13fa343f64d995bd3a636a3c776ed2bc5e58033fdc55a3bde91d553ca5afa5bc3655a03ed67595bd54e7903cd1e6f1bce5adf63d81ec5fbdfe03b53abb9f3fbc24d6f6bc825c47bdf23a94bb9759f1ba0000000000000000925f803c4b4f3cbc000000000000000046e0a23cdf651cbc00000000000000007ac9ad3c3deb48bc0000000000000000c444a93c8d3b2cbc0000000000000000acc19f3cebbb1bbc00000000000000006dbf7d3cbf18b4bb000000000000000035fa063cc6eb17bb0000000000000000bf422a3c77ea3dbb000000000000000064bf9abba413243c839fe5bb2c7b4e3c109410bb3e41db3af2585d3c559b603cb8143cbaaad8cdbbaf3ab03c2e6f143c3fa7ab3a316537bc761c1c3d0ed2203b31791b3bf18461bcad78053d5d3099b94d276c3bdedc4abc9ade0a3d7cfea3bb6ead2d3b605501bc41b9bf3c719b96bb29113c3b5fead2bbd61c933cf66920bc9d666e3bc65e4abb78c6e23bb46af9bbb6ed73bbf9f3b739114ec53b5a1017bdab05cbbba4b8fd39d2ec093cf1b305bd9d4597bbe700633aee66cfbbed34f038c32e88bb3d087f3a90d82abc1a42fe3b118548bbe320f839a89279bc1d069b3ccf500ebbd49b5d3aae9188bcba128e3c8be54cbaf466cd39cbf672bcace17f3cc9f7c33a398b25395de343bc37b24a3c4c82dc3acd292139f2cd3abc115b3e3c756e4b3c61b57dbd2994273c2b9bc2ba923b8dbd70e360bde73c263c4dca283a4181d6bdba5f31bd33b40a3ce6502fba71a814be36bdb7bc3b4aa63b980a853a017505be7bc528bc87da9d3bd6aa8a3a9170febdce3dcf3b932eee3ab0e3cb3ad87ab4bd90643e3c711f1b3a17c1753a40515fbd3d17ae3c5648f3baec30a83a1c8996bc140b933cdd4108bb9a8cc8380718283d2fed1dbedf98843f72b8723ef4c83c3d07512fbe01f7883fc198203ea2651d3d3c3306be4e7b713fe9eed03d66d7293de41900bec8ab5c3fd5a0df3c79fbfb3c014dbbbd6d14303fd92128bc6e6f003de3d3a8bd97a4093f678b61bd66f29f3c0fde5cbd769ab33ecd898ebdd911ce3c86e476bd03d73c3e77eda8bde323433cad8f1dbdc607113d0bb898bdc99426bdddd7853b0000000000000000c168c9bc40289bbb0000000000000000cfb85fbcac0e76bb0000000000000000325ce93adc6820bc0000000000000000e7a0aa3b81cf0abc00000000000000004afc6e3c55f42fbc0000000000000000dc2c6f3c65011ebc0000000000000000d0c3983cd8ef05bc00000000000000007157843c1ed9a0bb00000000000000009aeeefbb5112643c2179a1bc7182a73c5b6d30bbf7a2973b39a171bbf338da3cde43e5ba274f33bb9da6543c93fbab3c220373baf0fd01bcf0c7ce3ce4b4353c822b1238e02865bc47b0f33c7975043cf4bdc43ade6536bc2db4fd3cf766e2baf8cd473bc2b125bcc12ed43cf2f391bbc0cefa3a7e39e4bb7425b43c6e813fbc7988e13a6a226dbbbdbc383c00ae2abc42eaa6bbcc54cd3941a3f03b10b72cbdc51725bcc9e6cb3acb2d153c83712cbdcdc305bca36f973a97d805ba21555cbcd45fbebbe62b633a07d9eebb74cbb43bd5d69bbbd3c9003aa1c062bcd237af3cd291e4ba33726d3a18ce7bbc7a5db53cfcce0bbbc4fea0392fdb87bcba3fae3cc5c506ba5357d139aee976bcdd78a63cfc55963a31b68639102a60bc043c9e3c462f5d3d2c67b6bda1df743c5e1885bb1dbc4ebcf786c0bd14cd993cb16270bbdab59dbd530f97bd5879613c6a8dddbad8aadfbd94804cbdb60e2b3c006fc9384240fbbd0c36f0bcd0f4f03b0df437b934d3eebd39eaefbb435a853bb18887b996c9c2bdd9381f3c6cb8103b2f45e73af04e8ebd3bacd43ccba572b9f080333b1d3e14bdc892df3ca8135c3a80fccb383bbe133d1a5a12be85b7583f84fbdb3e78c3393d659e27be5805633fe489b03eb8dc383d175b20be72e8593f8c5d763e62a7363d021914be09fd443fceb2113ed14d313d6b9203bed383293f181b753d8f3d203d9d3ee1bd175a063f3f35f8bb36b90e3d46efc4bd4dd6c13ec97779bdcdeeff3c6780a2bd1e4c653e125bbcbd6b482b3cf6603bbd7173a73dbc6ed5bd5b2ca0bdaa48733c0000000000000000d79487bd7d1fbd3b0000000000000000027e29bd84dfcfba0000000000000000d28eb5bc7c80e3bb0000000000000000a7c31dbc32f508bc000000000000000064544c3b9bf52cbc00000000000000001a32503c215a3ebc0000000000000000b8cd913cf5af58bc0000000000000000af81883c40751fbc00000000000000001717ebbb5f10823c1d12eabcc2d3db3c906591bb4bf70a3c2c6ea7bc8023233db1c206bb2ee92e3b431e95bbcd08f33c92fa41bb3f64b1bb34d5333c8cbfd43ca2165f390df205bcff77003cfacc663cc7cef33938ba1abcaa15b73cb2f80f3cfd5ec13a64ee10bc30ddbe3ce15942bbd0970d3b9b7703bcced6aa3cc0bf09bcdfa2333b1e5fc2bbe9bc563c757a0bbcb5f4b8bb497afe3976c4de3b14e949bde0c93fbc3ea9bf3a51f0463ca1af39bd659b25bc4713cf3a81ba54ba62488fbc47b821bcf9258e3a04e0a0bba3f1873a62808fbb468819394fb986bcf895cf3c74c5f1bbef439b3ae1cf79bc3189bb3c2726c4ba413458383cc555bcfd03ce3ca7b733ba2957833a6c786ebc8c22ba3c3ef3fcb87300883a13b867bc131cbe3c21c4a63d42c5dabd4003643c742ab8bb50f4d93cdb8500bef568c93c12ed00bc626a00bd6baed5bd6ce3953cb38b80bb60669dbdc3c2a9bdd26f843c182426bbcbc392bde9ab5dbdca132f3c1c96bcba10bed9bdc0a8abbc371c2d3cd16c5f3a30f8b9bd5d38a73a19eb7d3bbe57123a082595bd4362be3c44e5c6b9b586b33a878c31bd747dd63cf28e64bad3349dbab836023da1c6f6bd216c263feb53203f18cc193d433c0fbe6415303fc8480c3f0f7e1d3d3d2a0bbec1fb2b3f286dd53eef18443d725611be98e0263f1b4c913eb711f53c6d52dbbd2991063fcee03c3e1fc2303d6f00fdbd21d4f93e5c48643d94be063d6b21cdbd1e23b63e0e6998bcc496053d6855b9bd42ea703ef56eb4bd23cc7b3c28a35dbd7b49db3dbed3f0bdab0cdebdea6bc03c000000000000000077e7dabde0d28f3c0000000000000000fd419fbdd8e0213c0000000000000000688b5cbd4db0913a000000000000000029f11bbd188f473b0000000000000000325894bc3cbe3dbc0000000000000000041b2eb9cc2a15bc00000000000000009e32893ca0156dbc0000000000000000806ca63c240105bc0000000000000000308ed7bb0d57843c2b4df4bc37cdf73c8d8366bbfee61d3c2ee5dabc9b17463d8e7dc6bacb879f3bb31260bcc9552d3d368c18bba86b123bfc57aaba4ea70c3d05ddacba531f98bbcd5e0b3c0524d53c0793ccba32ceadbbcb6b973c205e2d3c267fb5393703e9bb7f19b93cc404903a9786e53a3955bdbb9287a93c1d631ebcd499703a75608dbb49695f3cced1f5bbf697e2bb7f09cf3914e0483c6d015fbdaad36dbc297a203b78086d3c2c1652bd57af41bc66c6f93a0a49be3b4ee7ecbc65cd3cbcc886f83a69171bb7f88743bc16fc29bc42c6b93ad4a3b5bbdd2ac23bdfd0cbbbe8e1a53a4df3b5bb6c10753c522882bbc39d643a726f08bcab82983c4417d5b9ffe4b03a948f2cbcfdf5ab3c7a2ce5ba15b7793a059f38bc7797bc3c7d07ba3de661ebbd3076783c0863d0bb4b0c3c3dbc661abe4abee63c707a2bbc8bf503bc1d630ebe3579d33c4d0f10bc9db232bd7e0ee6bd158fb03c7b48a1bbee0194bdc912a3bd3d2c8f3ca64c27bb9feeb3bd7ee725bd7779183c16ea98b94274b5bdbbb70bbc9289b23b32de6d3ab16793bd0cf1bc3cbebcbd39b17b623adc9e3ebd44c5db3cb2169039c54655b9ece1c83ca162b8bd10ede63e4dde523ffb52e93cc1eddabd55d6f93e383e413f4a98fe3ceec9e9bd2edd013f5b3e1b3f691a143d1818f1bd4279fe3e9fa3e33edd61203d963bfbbd5203f13e5aff913ec6d5193d930df1bd5980d13e3d28123e970f143d7845debde2a4a73ea47db53c334e0b3dec5cc0bd90b7633e6e4098bd04738a3c19b57bbd264ced3d6b43fdbd6e3f06be1867ea3c00000000000000006bfd0ebe1adad23c0000000000000000fcfddfbdceda883c000000000000000005b6acbd5474013c00000000000000000f396abd21be373a00000000000000007bbbdfbca4b1d5bb0000000000000000aefed9bbad1b35bc0000000000000000432b503c3cf983bc0000000000000000045b913c185d14bc000000000000000011754bbbb59f423cd1f6e5bc7dac0a3dff7004bb92bd213cc863d8bc5178593d50895abb984e083c6d62b8bca3604a3d61220cbb1a35523b2e6f25bccd03383d2d63f2ba493cfb39962b21bb8b14f83c6fd7c5babb43fdba2831243cd43ea63c7a09c5ba48f64abbba14463c1402113c2fe9e43986444bbb1a138c3cddb1ebbbeba7b3b9e7c572bbda35453c3ad10ebc23cf27bcc884e83aef20623c352555bdd44e7cbc9c66403bef5b6d3c655442bd371c78bcf3e9173bb68cbc3b31ffcfbc8d3954bcad93053bb7fbbd3b367192bcf95126bc8394783a37857ab9342f22bb85db07bc3611d53a6b1334baee84803bd52faebb8951813abc229cbbd32f683c7157f0b95cf5723a39228bbb651b673c469cefb91cffe93a631d8fbb9ad5903c65c6a33dc98cf7bdf6d79f3c264608bc74703a3dca8c2fbee631013d09c760bc75cd653cc5a022bef7dee23cb42b0bbc3e56abbc66a613beef48c73c5e8befbb193723bde44ad1bd8b53983c884432bbb9ca84bdd7b887bdfb536b3c3198f7baf7567cbd5f71f2bcb6f3143c6f4222ba8a1584bd8d14913c2d0fe0b85048043b5eb52abd3dd1063de37c0dbb67e89cba32b61e3c14d249bd1c47813e5d22823fb2c43e3c9c2879bd0a82913ea562763fafa4b23c14fa99bd13eda13e1157473fbedcba3c67b2adbd261eac3e25881c3fb060d03c413bb5bd1bdca43e3e87d83ed794eb3cdb73bfbd07079c3e75c77b3e1314d13c379aabbdd0f6773edc59ce3d95dbe23c6c0ba8bd3a82393e51f542bdce128c3c15db68bd2f96c43d8639fcbd9a7012bef8c1f73c00000000000000009f9324bedde6033d0000000000000000541206be3276cb3c00000000000000000079d9bd419c7d3c00000000000000009dbca2bd40350b3c0000000000000000235e49bdd79f20bb0000000000000000c26fe0bc258094bb0000000000000000393c1d3c89d08fbc0000000000000000d8cc8d3c2f9e38bc0000000000000000c60480bafa7d063cf93ab4bcc46f0f3dc87793398edadc3b0064a0bc4c2f773d5e10cd39300bba3b6a2a8abc3fa36a3dc9bc1cb9effe683b7eb65abcb4e7553daf9c6aba26321d3b35ffedbb40e6293d9e4caab9332925399a70333b7133e63c25f9e0b9a67500b945561f3c58233e3cbacc79ba6030a73a6d98383c1c2e9dbbeeda0939f5a968badb43293c6af006bc498d33bc0ba11e3b195d453c7e4a28bdcba7aabc52a0c83bc058153c0679fabccd5785bc119d563be07c063cfadae4bcccc862bc3856a83af131a63b8aa69bbcfcc241bcda6ed43a7bf5983b55f446bcaba033bcc6e9e53a08d32f3b4420a8bbaf8ca1bb49e38439fbe21f3bc1139e3a5464ae38ccde3c3a8213663be8c7363b97a13cbadf3d653ae650ecba1304173cb7986d3d1f2002bef0ef4e3ce61514bc1024b53cecca3fbea09e133de8318ebc9879043c026942be3d11ea3c1cb93fbcfd9df6bb4ffe2dbeb657d63c82cc06bcb082b5bcf0600abea75bb83cd998bdbb97d820bd84edbcbd3e69a93c9c0a4dbb78f247bd49cc35bdf283473c709f17b8ad9338bdd907083c2aaf913aad5a033b5d960abdbbc1ee3c0c6d62ba7bf7aa3a6aab6aba6bab17bc6516813d98ff9b3f27fca6ba565424bc85f4c13d48fa913f42da4e3b1b35eabc009b113ec704773f58f0393c15c62bbd0392303e7b6b433f04b0523c4cc54abdb6c03c3ef6670e3f0ce6863c562f67bde2e1383ee887b53e96d9593cb3a660bde2981e3eeaf0283e3b27423c3bf943bdf4cdd43dc813b7bb2e844e3cc73e2cbd728b8c3d91b6f6bd548113be64c5053d0000000000000000c82621bef6cb053d0000000000000000e38f0dbed09ae43c00000000000000003cc7f4bd0f94ba3c0000000000000000b965c2bdd7c6603c00000000000000009a1091bdd80f823b00000000000000006e2b1dbd9726bebb00000000000000008bc1df39172883bc0000000000000000abb61b3c4d7a40bc000000000000000000000000000000000000000000000000bfa3e93abf38843bfa1990bc62ac263dda8a403a3e0e793b2a3f9dbc112d393da38ce3399b6c803bdd4aa5bcbaee2b3d78f10dba766a343bf7b085bcb470113d6a098439e6371f3af1b4debb61e5d43c102e07ba7ad0853a6e8e54ba17368b3ce03f9a394db3c4396a1b943b4b0f833b0000000000000000000000000000000000000000000000000000000000000000a5481cbc5add213b3133b23b163895bc070507bcc08da33a3249973ba00a6bbc0aa101bc80ce723a0cc1b83b90d56fbcc308d8bb14f4bd38370a573bddaf23bc2c99cebbfdd60d3a6b158a3b9bb4bebbb001abbb2ac7833a21c3963bc0ec97bbda9212bb933dc238a246593b338986ba0000000000000000000000000000000000000000000000000000000000000000377f7c3c02401cbefc93343c89d306bceddf053cb8e622bed6d08c3c91c909bc97bbe43bdc2316be4a394d3c56d578bb6951a2bad20ffebdfe0e563c7e1a44bb78a135bc9954c3bd278d4e3c70ba6cba3b62b3bc4aa264bd64752b3c31bd77ba72b9cbbca2627fbcd27bcb3bb30fbf3a000000000000000000000000000000000000000000000000000000000000803f8cb9fcbb5b368c3c251e55bdb6019c3fc71339ba0703b53bb8f672bbcccb823f32c3183b83e434bc3ea5063d46f4553f800de93be5779dbc9f26623de84d233f0a85df3b5061bfbc8ccd7f3d232de33e8c3ac03b6d6fb5bce8d46d3d9d767d3ef7f9d03b6761bbbc2ec3443dbb31733d00000000000000000000000000000000000000000000000000000000000000001caee3bd3330be3c00000000000000006cbfcfbd67fba83c00000000000000004a96c0bddfa2823c00000000000000009785aebd3425713c0000000000000000713c90bdc3e9023c0000000000000000d09e41bd626ba83a00000000000000003fb6d2bcdb2b99bb00000000000000000000000000000000000000000000000000000000000000000000000000000000f71045bc8257a73c2d673f3d86e5263b3b5468bb057cab3c707c2a3dc26aa83b17b537ba05cdb63c02e40d3d4bab133c903ddd3af7f99d3cf929de3c328dd93b4dd6163bb094823c0c2d733c6479d53b37ded23a2a392d3c42bbe83b3495983bad6c803a5188b33ba26649bb5b96503b000000000000000000000000000000000000000000000000000000000000000070cf11bbcada98bbc580f73bd6f65bbb95c9763acbababbb82fb3a3b3ce0aebc24d4ad3bfb95bebbe765053ba0dc0ebdf1e3d33b5c2ecdbb78f5f6ba6a5709bdb775a73bb66567bbbc8632bba11cedbcba85903b70933cbb957c9ebb4bf091bc3a2ab63ab24b90ba84f0fabbcec865bb000000000000000000000000000000000000000000000000000000000000000097e07ebe85020b3d636c2bbb314c6bbbfb106ebe7d93a23cc9a04fbbf6d4a0ba26745dbe961e053ce6b522bb54c06fbb39aa32be5a65103bcbc8c4bb418f203ad7cdefbd81df5fbbce16a8bbfc886b3952d972bd65140ebc0bfebfbb85945e39c3d9eebbef850fbc7a32b5bbb4de863a0000000000000000000000000000000000000000000000000000803f00000000a650ae3cfca7f4bdf628af3f109412be684e133c77f052bdd7f68f3ff53bcbbd0088753b6d67bebc5f1d723f9c3bb3bd5a122c3b305c1c3b713e333f1be979bd51f80e3ae922a53c0bc5e23eb36dfdbc00b6f9ba4e7eea3c9cc5593eedc4d6ba1fba4c3bab12c43cb7e922bc1d98d33c00000000000000000000000000000000000000000000000000000000000000002b2e013dba2f57bb000000000000000037b2ac3c0ffad53a0000000000000000974f973c9e21823b0000000000000000f838813c76e61c3b0000000000000000eb871f3c11bd5b3b00000000000000008216643b3185a23b0000000000000000153c64ba5e63683a0000000000000000000000000000000000000000000000003d5767bcdf32773cb3cf833cedf02d3b53476abc85afaf3c1349033dd4ca133bf7f60dbca890e33c7a3b213d9483253cbfc796bb85e6ee3ce0dd0d3d19c0413c37f97ebae212ca3c6a71c73cd82a203c160b89bae3dfbd3c2f88623c94dd303cc30ee2ba47d7873c28579b3b3543e43bc54f8aba1d060b3c8b0ef9ba361b963bf16881bb4107873b158d0abc76cd86babf9d63bb92b18dbb3c3b823c27a7cfbb6da500bb106042bb9da9573c191a5ebc0633963ac84705bc2b966f3cde9a12bd9b2a933b92a81bbcef1d323c608528bd107ed43bbdacd9bbf11aa93ba02a24bde387b53b908cefbbc2b11539f11e07bdad1bad3b9dd9a6bbd2da55ba292fa9bcfbbe6c3bcecb46bb2e28eebb54beafbbbc726ab8094620bb48c8debbdc3c533c9c4af7bd6d1c753ce1b9c2ba19f6a6ba74e835be31a9683c5f67e1bb305dbe3a73e96bbe8395a23b3d6696bb777c1fbad16062be63f733badac2fcbb6ceb633a255d36bec0be77bbf47cfdbb43350cba885307bebd0f16bc7e9906bc4b28f43a2ae58bbd456449bcdc36c5bb28ec1d391b7fc9bcab4239bc8cf58dbb7cbe623b1e368e3c3682e8bab10f50bb5fa3f13a54f14c3d081772be59b0ae3f727302bc7ac4123d9f1b2fbe46be9b3fa4b5e23b7e54be3cf15f13beb605943f6a5fb0bc54189a3ca73ddabd88df773f307ccdbc9eb6773c520f8bbd39783c3f25e8b5bcdfdd3e3cc1041abdb5def93e5c7fc6bb428a173cec2a85bccb76793ec07ce93b2570103c6533bf3ab0a6713d9552b03c353d823cbfd64cbcc3bce1bdadc5b93c0107453b59b336ba000000000000000070f087397856013b00000000000000009039013c044e933b00000000000000006c1b0f3c2c080d3c00000000000000003ae9073c9489f03b0000000000000000a82db03b5901073c0000000000000000ce5ec639575d003c00000000000000003d0e9ebb9787a43b000000000000000043760abbb6b20c3b000000000000000021c71fbc4246183cc9eae13b35f0033cfc0a19bc72dab33c7c20903c172b5e3cdeddd8bb7cf4e33cd9f3c83c41fb873c7db86ebb3785eb3cfde7c93cb29e813c747beebab111c03c7fc5833c4c2c5d3cec0ebabab4d6bc3c56ad0f3cafc6403ca8c544bbed458d3cd2994f3b0813c83b343c95bbc31f433c9a2c77bb4b22013b4affa8bbe4279f3b7cf1c7bbe78e95b8e82595bb831d51bb45d7893cd047c0bc5c4753bb7b07e1bbd893b13c933f17bd66aa583af3f21abce89ca93c1f8151bdf51b993be0283abc3510973c591558bdbda3a73b906515bccbbe393c37d543bdaad4eb3b364622bc4ca3f13b9a8416bd1d28b63b9b8503bc1960973a899eb1bce5df893b789adfbbfabd7dbb0e10bfbbbd689339abaca4bad7ff43bbd488d43bc88341bd19c047bcb63945bb14e7b83a05d712be9d3095bc1f3c01bb50c4e93a833b40be0c08a0bc610a92bb6651e539f06f43bec756a1bcede5debb3063333ba5ab23be92228abcbbe404bc4c0aea3ad73efbbde45d6fbc012d17bc758d513b1c968bbd70bf3ebc17970ebc7927963bddcae3bc07be9dbbdf62e5bb5fb1ad3bfa3100ba7c0ff73acd6985bb82ee8c3bd2b8393d21a45fbe81418f3f16aa553ec186293dfdd262be1cb9933ff6e0233e3715023dd1e53cbec2238a3f17e7d53d683fc63c5b2c1bbe97656d3fabb5843d0f9cac3c3666dfbd390d393f101b1d3d5fe0933cc330a7bd02d9fe3e31c8bc3cb1b08d3cee6e4bbd8bdf873e39e4683c755a953cb0e3f7bcedaea53df676ea3b90c6983c1e77e2bcf9e013bd07ebb4bbee1035bd5f5ec63b00000000000000003a5513bd523d2e3c0000000000000000ad4995bc2ce3313c000000000000000001e02abc4d31473c0000000000000000cf4e66bb364c3c3c0000000000000000396d19bb01b2473c0000000000000000848d79b9d2641a3c00000000000000001d173cba41f5e03b000000000000000055e083ba91373e3b0000000000000000b7f2a8bbe4d1533b33d5793b9283723c4cf811bc8eb8903ce281783c28f69b3cf192aebb34ded23c1a569e3caaa9b83c359451bbea58d53c35e6863cac05af3cb0b7fdba1243d93c55ef513c0782933c291ba2bace7fbc3cc673d13b53c8573cb6063abb3d558e3cfb7f293a206bf73b105177bb72b14f3c0da1aebbb1e9973bebc985bb15fde83b9a34febb880615394361edbb922bc0bbd688b03c48381dbdabe97bbbfad4ffbb63b5bd3c908126bdab47e137963117bce8a0c23c08e560bd52514e3b36f837bc53a8b23cc22578bd32c4573bc0c113bc0fa88b3c5e535cbdf8d5f33be3cb29bce174183c0c442dbd8ed7a23b6e1000bceaefe63b401fddbc123a093b7992c4bb559fe43a17b845bc52302f3ac44b89bba425fbbafcd793b85a1d87bcb1553abdbbbaed3b6dcc353b6041d2bd40a77abddcbc9e3b0af36c3ba31219be11e577bd2da83f3be654893a6ce71bbe332143bdb1f99ebba92b243b5e4712be328a12bdcd14f2bb4e32453bab0edfbd0bcfc9bc4d380cbc25324f3be6c289bdb3dc3abcbfaf1cbcdf49773b4c39ffbcb0464dba5634f5bbf83f6a3bf8e5e3ba0cee173c78e9bfbbb546893bf286143ded0151be5e50703f181fe13edaad1e3ddbb658be4195753f7484c53e4917e83cf7943dbe94466c3f4afe953e11f9b23cf06b1cbe653e503fb0414b3e6838a63cc02b02be65ed293f6004f53dfb218e3c298fbbbd5803f13ea589883dcd99863c8f6086bdf0978c3e0f6cb13c1dc8973c3c9230bdf9d5dc3ddb033cbc83ed933c4ca520bd4dbde6bbf5eb1dbd9d3ad0bd4a5a923c0000000000000000011cbabd5e36ad3c0000000000000000452182bdcb9da83c000000000000000092071dbdfb56a03c000000000000000055e8b0bcbfdf913c00000000000000008cf31ebc0ea0763c0000000000000000816120bb90e7433c000000000000000054431d3b399f213c00000000000000007f31eb3bd47dbf3b000000000000000000b9afba17f4033b32efe23a1c29733c8602a2bb78a1103cbbc52a3c8c15d13c2c9628bbec7e7e3c3dfb8c3c42c0d43c917918bb2b90b43c8339633cc2bac13c28edd239dc0c8c3c223e0c3cd9658b3ca0bee1ba6899ab3c282cbb3af458783ce3a985ba61cf643c75dc87ba9a5afb3b101d7bbb0fe1293ca85ba8bb41e8ec3a9ac316bba3fb4e3be67404bc52117fba2635a4bbc7a4e7bbe048903c0b991ebde52562bb226bd4bbab06ba3c792e2cbde6a3df3a983622bceadaa23cc4d54fbda067353ba62243bc40b7b13c442d69bddb23863be88d0dbc3f177d3c9ad656bda5b79f3b40fb1cbccebb7c3c081941bd3218833bc4370dbc0b18ea3bab10f1bc1208343bbf05febbd93a203b6e417abc17de5739f4c483bbe0f5a23abc1b3ebb3240173c5b3aa2bd3e42683c2093623be3d573bddc29dcbd7065753cc954523b4255d8bd1232e1bdf6830d3c1341513b93e1f7bdb57bb1bd93e2263a19b2983bd455cfbd0bb377bd148417bb3437193bcf54c1bdcfee06bd00b11dbca653503b69586bbd8acf62bc96d616bc9e8c873ba74fe4bce7dd303b3d68cbbb3f055e3b2793b5ba422e803c305c3abbc9a6353b0e72ea3c4a1526be2976313f6265313f1cdbf53c1c1b2fbef1103a3f5c8c213fb2e8b23c44161ebe2937373fe95e043faac39c3c462e10be72dd293f2dccbb3e1358523cbcfbd4bd06390a3f29126f3e93b7533c2dfdbfbd7efad73ee30ef33d5243653cd8c486bd689a843e93340a3dbd02973c94eb43bd37aaf43d8940ddbcb706853c097311bd61c0713cad4994bd03891dbe881beb3c0000000000000000549816be2421003d0000000000000000b210e4bd9949e43c0000000000000000540093bd6a8ad93c0000000000000000aab72bbdc623a03c0000000000000000382193bc598e963c000000000000000074b10ebbb8db703c0000000000000000282c033cff7f0e3c00000000000000007298453c306dae3b00000000000000008d7db1ba81e605bbaee7263bdbdd923ceecb58bb31fcad3b1858093cbabcfd3ccd04cababdf41f3cbea2643c6035083d451f8eba279a613cf817513c83c6e23c3c6480bab3f7863c4ddbf43b4763b53c9ca6b23a62d37f3c836eb73ad1cc853c76cf35b964ab523c58c8543ae43d023c01459dba303c2f3c3042a9bb3a0e903a227517bb3889593b3fa8e0bb4d4a0ebb7947bfbb1e4ba6bbc7605f3c7396eabc76d5f2ba7c372dbcbb55963c7f320fbd5cd5a73aee113abc5734943cbfbe19bd8d09563bed6028bc1fa39a3c9d2330bdd3bb903b4eca0abcd48a793c8f1a32bd0d939a3b0b5906bc2deb4d3c8f3a28bdbb43c83bbaa340bc2d43103c3a93f6bc89b7c93a12bcc3bb118a393bd6a18abc8d85823a9108c5bba52a2d3aa1ce8dbb89b4d13c8a6fd4bd686c923ce7f7ca3ba44ffabce8cc1dbead87e73c2f94823b56b393bde4f622bed1b59a3cae516a3bd172b0bd3df606be1daf1b3ceeae243b0741b7bd3a69bdbd5df8aeb9a08e383b5df098bdfc3158bd81ae98bb29c2e0b9807359bd3264c5bced62f0bb8c0b283ba4e0ddbcc4c2513b50cd99bbaea1433a9a1704bbcf0e9c3c0ae303bb3bc6683ba5f0693c0f9ad9bd3ed1dd3e6970703fe376823c8e4cf1bd72a0f43e7ac6603f81d04e3c08faeabd1c26fa3e12da3d3f38b32c3c7455d3bdbe84ec3e24e50e3f8928183c4552bfbdd562d83ec82abc3e4f2d123cd0baa0bd749cac3e94c9493e466b1b3cc11172bd516c6c3e945b803d52154b3c34ef2abd313cf23dcd0dfabcdd165a3c967004bd08d9fd3c66ddc6bdeea349bea95a183d00000000000000008f2449bec0cc263d000000000000000033a91dbe8e88163d00000000000000001517e2bdb8a1023d0000000000000000247e89bda0d7cd3c0000000000000000111803bdcb77be3c0000000000000000384f7bbb394c813c00000000000000001127553cd0380e3c0000000000000000bd1b8f3ce31b963b0000000000000000f46097baad15d4bb4bd0713be1219d3cb7ff00bbed7055b9a3aa113c446f0d3d5f7f92bbf251ac3bd8187c3c90d11b3d5b3fd8bade92203c811d593c5e910c3d2a7f053a8b5c373ce8cc113c68ccda3c46ad54ba82c3503cd4209a3bbe99903c4cf448b9c8e7143c4090033baa8cf83b06ada4b99edbde3b69e124bbec2e093b8c1bbaba3a3d723bb1e0babbbf2559bb98a4b9bb5f7de0bbf50e1b3c594ca2bc2f0011bafc8027bc19774a3c463a9dbc7aa0ec3a42591fbc5663573cb5c8b3bc6246403b51c01fbcc9fd583ccbe8f4bceddee53af42107bcc2a9353c8632f8bc5b9ea93b497d30bc3acb1e3ce447f8bcef81263b1a21e3bb83a8113c9902cfbc2183123b0703e3bbd03cb13b9ba58bbcc54cd1bab67d39bb36706ab97df4d9bb745c093d22abf0bda47d023deaaba33a822016bcafce44be6d58123dc94eea3adbf532bdb66d54beab9cf83cee4c423a09436ebd7b7e34bee62d7d3cd2fd073b7d687ebd9f9a06be061f0e3c117aaab9ce9d69bdc718a2bdfdfac3b969f5c03980df23bdb873fcbc61f9a5bb6e76acba1df1acbcdfc4bd3ae80eb7bb20dbbbba32572dbaf9b1b33ceec104bb4f70dd392306bc3bcf1153bd251f543e0b278f3fb310a73b9b2c81bd5cec6f3ea4288c3f4549583b1a5580bd4ed5833eefb3733f5987003b05287cbd8d2a893ebeb63d3fb749243b677a62bd0bfc803e19c2033f605c523bc28d47bd573d663e2c78953ee178933b9f842dbd02cd2e3e5b61d13d013ea93b4937f2bc1e77ca3d1afcddbc43c5fb3bad34a4bc4f980b3df56adbbd8cd65abe45d9323d0000000000000000f1dd62be62b6483d0000000000000000c8e13bbea867313d0000000000000000d43f0abeb7fa133d0000000000000000e3bfb5bd8930f03c00000000000000007b932dbd66e1bb3c0000000000000000ad66bdbbc970703c00000000000000005d57833c2fd80c3c0000000000000000ab07d63c1288fc3a00000000000000000b3b82bade70d0bb3fa9193bddf9da3c944532bbc5a399bb46e8113c84202a3d576b46bb3be495b6886e5e3c7365393dfaa82ebb4952983b9f02833c57481c3d4a37fcba0cd6ce3bcfcc3b3c3458ee3c7ab5a4ba4cea073c4b93d23b30d59d3c2877dfbafbc2093cf58fc13a0c2b253cf1f7efb9ef7aa03b253b70ba52f8713a11128a3a39b3463af66ab5bb0ff0a5bb01dc49bba8fefbbb60317e3b64b7503a1eb875bb33fa36bc75e3e23b43f788bbb2c42d3b2b39fdbb3d1bbc3b9d2d83bb14588c3b02be20bc3dcc103ce6882cbc830d8f3ba763e0bb4a62ee3b467265bc755db23b7d5be0bb8e48ef3b356f85bcc350483baf79b0bb4533f03b3cc27fbcd2b1f13a01e33bbb41d0a03b35633bbc1675c5ba841b14bb53143d393cad91bb0055b13c59f023be55c2313d7237633991cb523baa9454be1c564d3d6f4d70bbc3aae6bc3cfb75be8ab8043d9e8a2ebb3fd026bd38755dbec07bc33cb25c5cbaab6730bd013b26be5418363c562ed7ba2b3828bd2887d8bde7f424ba5f4525bb25faf0bc0ba644bdc1f0c4bb17e02cbbfc0393bc3764b0bb8e8ef9bba67e11bb593eab3b2a49063d0c2106bb6a4c39bb4600bdbbb0e9d1bbaed656bc50c0ae3f6ac686bb4fb296bcecb9583d62b8983f1a804dbb6de8b1bc0e05993d226e8c3f2e41a3bbb7bcddbceeefd13dca21613fe98181bb7168c2bc782be53d1f4f213fa4b724bb7aecd8bc3bbfe73d4322c73ee161a2bacf5eadbc098dc83d3aef233eebe5aab8291f8abc22e78c3d2757a43b026ffb382d911dbbac308f3c44dd17be4b2b6dbe6e513d3d00000000000000000d6144beb316303d000000000000000040a02fbe912f223d0000000000000000a50109be575a0c3d0000000000000000d63db8bd22a3d23c000000000000000060cd3abd284aa43c0000000000000000f891e5bb859f583c0000000000000000054ca73c735e6e3a0000000000000000db18123d5cf984bb0000000000000000000000000000000000000000000000005ab685bbb40b9fbb03a4583cdc0c413d6bec19bb1090c3397360833c193c313d40b5deba14f7ad3a51547e3c8cf7083dc64a8fba687ea43b2683583c8435e03c89ebd0b9f4ffc03bcdf60d3cf4e6903c5973ae38bc94773b80118b3b1c94073cddb2943adc1eb63aa3dd033b3140c9ba0000000000000000000000000000000000000000000000000000000000000000d048e1b950d0f4bb333670babf747f3c80231c3bab7acbbb7fb8273bde3eb93b579ed83bb470c9bb083e383b7b4ba03b99a68b3b4671a4bba7c7e73aa104ddba326a503bcc2354bbe02c3d3bc3387ebb420e343b67d654bb08ce353b65eb96bbbfb2a53a95dbd9ba467a423a10968fbb00000000000000000000000000000000000000000000000000000000000000006ce446bce64b7abe79c7283dea7785bb2303efbc035c6bbe14dcd43c6b3d91bb12d61bbd3d8e57be7bb14d3c81e19ebb82dc20bd7c4b2fbe2462243ce1f7dcbbe96b06bd15a3e3bde44ef1393fe3babb6738b6bc7a5a63bdb20a9cbb25c8b4bb704fa4bbd5e5adbbe2a562bbd523a3bb000000000000000000000000000000000000000000000000000000000000803f85c808bc4ec9873cc445e3bd7982ae3f24ab15bcea5f483bd4a725bd3832903f4335e8bb0f13c7bad5ff86bcd933723f6a64c3bbc7050dbb55c7243c41ee333f9bb5dabbbdd0fcba4e28c13cf7d0e33e1a96c9bba67a00381de9f53ceca65e3e93f282bb2df0973b42b3903c677bc5bb0000000000000000000000000000000000000000000000000000000000000000ced316be7ee2f13c00000000000000000650d5bd62b2c53c000000000000000096fbb9bd6f78bc3c0000000000000000430689bd96f8a73c0000000000000000bf1b11bdae8f6e3c0000000000000000da0aafbbe489ef3b00000000000000001046983c9fb84bb9000000000000000000000000000000000000000000000000000000000000000000000000000000007d4e62bcd89dd93cbb7e4d3dfe63b7bc30aba4bb5794cc3c1f4d4a3d96b59ebc80c536bbb60fd23c73eb3c3dca6f84bc835fa93acd2caf3cd533223dba4860bc13a9283bda7a923cc91cc23c2a1b07bc2863863bcf43223c92ee413ca85f31bb48ace43a3c232d3bcc1ad0b831c4b33a000000000000000000000000000000000000000000000000000000000000000046338439563b063b9fce853ce9d5d8bc6aa60d3bf3abfe3983c6c03b8f101dbd6c5dcb3aae0c0f3a79ad7d3b6fc04cbd242c183a9ae18b39daa84fbb1adb41bdb5cb0a3a353df63a23cb38bb42ff26bdbb3c05ba69b4213ba9c90dbc1bb4c4bc5eda55bbd11b5b3b9947efbbd945aaba0000000000000000000000000000000000000000000000000000000000000000bab57dbed0a49b3d08cdacbcc0b7013b585f70be39068e3d5f29c2bc7638843ba4ac62be2cb86e3d840ca9bc25d95a3be18a38be63104c3dd64a9bbc6035743b9b46eabdc3b5eb3c5beb8dbc5be9603bb8ed78bd3c17403cb52f44bcce12853b7cd7e6bb0b2d75bbf939ebbb646b823b0000000000000000000000000000000000000000000000000000803f00000000e1e0573c9cb0cdbd17bcaf3feb821fbe66d7ca3b45ba00bd4442903f38b200be6d305a3b9f78b5ba4372713fff01ebbd41c1f03a77d4c03c25e9303f7a31b6bd40d6573b342b153d06d5db3e03064bbd04f1ad3b4a3f0f3daa934d3eb95af9bb4e20373c271a833c7d5fc6bc52490e3d0000000000000000000000000000000000000000000000000000000000000000f3bff23cff7f75bb00000000000000003504c13cb7da23ba0000000000000000a7a5a93c6761c13a0000000000000000ccd07f3c0f74183b00000000000000007a51133c3d705d3b0000000000000000aff420bbe1724b3b00000000000000006e5f35bce4959e3b0000000000000000000000000000000000000000000000004f4d77bca712be3c1e58003c174a82bbc17f8cbc56cf103d2267b73c4f484fbce69530bcd7071c3d7ef7273d535a8abcd56ef4bbb4fe0f3d714c343d365e82bcdc21aabb84ecf83c8705173d0f9b64bc4a5a32bb6aadc43cf835e43c53f827bc6cccefba5182913cd5fd813cb26fa9bbec7902bb2026133c44049a3b02654ebad2d651bbbbae00b50bbd2fbb30c9d73976166dbb3327483bc46eeb3cdb6520bdaf16b6b9725b4f3b3b47df3c323e5bbd04aee7badb15713b1cc0ca3c6b158cbd56318fb90abeff3ac05c8d3c782b83bd3d9106ba022e173b7dec3b3c703967bdab210cbbcf2c713bbfe16d3b35d521bd7cf105bb1fab063b4963c1b9e611cebca6d720bba5b9243b71d0eabbfa90c939bc26a3bb9b46a83be9a8b5bb4b11ab3c18ccc5bde531a63cc44604bcdb21c4ba22d11cbef658243d9fe99abc6b9e823a315f5fbe331e6b3de3b6b4bc96bdc03a405d63be969f7a3d7dcdd9bcdc03443bfc9542be4fea5f3d05d0d2bc04e37b3baa2410be18a5313d80e5c6bc3361ad3b3d4bb0bd0fa0d73c0233a0bc217fd53b73e519bd50bb243c119d66bcf80fc63b0e33fa3b0a17fb3a78580dbcb2ee9f3bf3740c3db67859beb16baf3f688ea7bcf2749e3cc2aa0ebe81759c3f093ceabcb0ad523c1c86eebd9ff0963f9308abbd95e3623c1818babdc4a1803f0af2c9bd6a178c3c16e986bdcf53483fdba4bcbdc1bda63c514741bd328d083fd7378fbde412b63c8f3502bd21c3923e0d840bbdeb0bd53cf300debc5e71b83db1a34c3b1cbff93c737733bd908cc1bdb8f6f33ca852fe3bdb0754bb00000000000000005cd30e3cb8553c3a000000000000000025ffa53cf35c16380000000000000000867fc93cbed4f03a0000000000000000dba0aa3cdc856e3b0000000000000000c7507c3c03a14e3b00000000000000000128bc3b2d1a6d3b0000000000000000b541d4bb6115eb3b0000000000000000376d66bc75d59d3b0000000000000000b3fc28bcee22a13cc14910bcb2f30c3c10025ebca8d6103d64cab33b5dcc133bf68e30bc51c4283d3e69ad3c833391bb5ce707bc7ecc223d2bc6eb3c1b781fbcabca0cbc7554133d8d61ea3c719939bc5fecf2bba949f73c3db4c13c237e52bc107dd3bb4f5cbc3c4eb2603c220628bc028000bc9c826c3c0cc7ad3bc374e7bbd834bbbbd3859b3bc20bb8ba8510a8bbf115fcbb1593273b6465003d6c2c88bd14af8fbb5ffe5f3bb56d0c3de0e9a2bd708921bb9f90143b6c7a0c3d777ebebd92191dbad713053b76e0f03c2513b5bd5893f0399f8da63a09d0a93c7b5a8cbd5d1d34ba4c911e3b74727e3cf13951bd83cfabba036f0e3bfe55ea3b0110e6bc8dfc48bbc047933b231e4637749f63bb580e67bb518e653bda4023bba190723cdd26bc3b052815bd6fd4043c76239dbbe46ccabd70d49cbbc05fcfbb37ef2bbba01320bea3f2ac3c712981bc886fa7ba70d23bbe7c21303d8ec0cebc1dc3013bf43e30be0aa14a3d0280eabc648f863b592d12be55c6573da86bf4bcffd4cb3bc715c0bd8ad42b3d1442dbbc3e01f63b929d46bdb156013dee85b5bcec09d03b717840bc9fb9a93c69c76abc2db9ef3bd84ae63c299742beeb4a8e3fc61f3e3ebf2ad43c5cc33ebeec4b953fb249b83d5a7e963c94301fbe6f938e3f554bf03b1f79673caa2104be47237f3f735b4cbdb34aa53c35a0e5bd7521513fac3eaebd949ed03c4df0cbbd0c70193f489ab8bda7e0fb3cea8fa2bd2b31b93e1e0496bd0eb3173d64038bbd9ca6193e14fc2dbd28de183d43f78cbd7f9c3b3c85afcabc06c1ecbc3b7fbd3a0000000000000000ccd5fdbb0b1955ba0000000000000000ad00193cd83a273a000000000000000066daa63ca8148b3a0000000000000000dc03e93cdceaa839000000000000000046badd3c9e41463a0000000000000000a17aae3cf101b13a0000000000000000d52d143cdf50733b00000000000000005654bdb9e1df123b000000000000000056e7acbb132b663c2c6583bcd306b53c9c610cbc4bb6f63ceaed00bbe12a8b3cc59dfcbbb35c163d3d82323c9003c13b7c13c7bbf285223da73b813c1c6762bab42bcdbbf2ca143d49feab3cdd52e3bb43ecd2bbf4360b3d197c843c44e621bcc49d07bce4fed43c57382b3cbe9e2fbcede005bc493e923c7106b53b692b33bcac4008bc042a163c745289b7110d0dbc42225abc98c6563b5babfa3c5ea0a4bddd981bbc09216d3bf61c0e3d8d48b4bdfb2e9ebb1c8e4d3b3ccb063d80a9c8bd1b756fbb28bc183b8104f43cc0d8c9bddad380b9db5d9c3ad321e43c80c7b2bd8d9fdab997c8343b6a61963c9a347dbd809c10ba493d123b5c9d383cafd914bd1e1a6dba57dee63a1b1e903b049d4dbc31403dbb97e0733b816359385e5bfc3b74916c3db8a4c5bd8c54f43ce2012abca12834bdda1b87bd14ad803c8bab1dbc144cd1bd2095dcbc37e86ebb94b0b9bb75ee02be50c4ef3b9d407abc2796f2ba82fe10becef7113d4d2adebc4d2e0d3b90d600be89bc3d3d0cd9f2bc09024a3b64d9b9bde1bb4b3d48e0fabc3f91d63b7aa160bd998c3e3dc588eebcdeb5023ca7879dbcbf3f1d3d6c19a7bc6935ed3b3a98b63ca1042fbe2b406a3fc1c6d13ec297b83c56e237bea3df793f648f963e9fc08e3c0c9823becc9a793fb0411d3e6ea25a3c7dcc09be16e0653fe4d0233d4f01583cc347f7bd32b0483fed7c4abdec3dad3cc5d5dfbdd4161b3f2af1afbdc710ea3c7614c4bda3dace3e6551d4bdc9c71f3d1ee9b0bda7d0583ee2e9c4bd2e251a3dc1a29fbd79e77e3dcfcca9bd6ded92bd78fdd13b0000000000000000b7ae46bdef96a23b0000000000000000021845bcf1035e3b0000000000000000244f343c531f013b00000000000000005505fd3c610eb1ba000000000000000009dd113d7bf5b9ba00000000000000003878183d7f6715bb0000000000000000ceaaf73c2e0621ba0000000000000000c0ecb83c42ce32bb0000000000000000d8b43939e388283cb6439dbc6141063ddc7e54bb7a68ad3c1ad601bcce7a023def3d73bb77afe23c27c4da3be250af3c51f94cbb274f053d24392f3cd87b1c3cfe73bcba1ceae73ce07b343c1323353b62f796bb10a7033dcb3a5b3c94f3e1bb5fadbdbb2a71d53c954c0c3c492410bcba59eabbbb50923c95d8943b341f4dbcbdccdbbb78db2d3c671696ba805350bcd94f72bc601dec39a0a3d63c972dabbd4cbc5bbc7b723e3bdeb1e93c5a4cabbd088738bc1da83d3bf5c8e63c3346b2bd698c97bbe5c5d83aa07be63cb7d0bfbd69d131bb234d943ac522b43ca401a6bdfdbc553ab48ae53a78e1ad3cc51f8fbd66000b3abffb133acfd85b3c1ffc36bd2b60d13a09c0473a4373ff3bc8a6a3bcb135a438795fb73a477d043b32f02a3b91c9c33db45b1abeb7be503df8f871bcff66603b33f309be33662f3d5cf474bcd3c369bd22b2bbbda10ca93c831723bca2b5bbbd55161ebde942cdbac452c2bb6451c3bdbd114ebb46da41bc9ff966bbc80acebd9432003d088bdfbc1f591539b935a0bd58b0363d62b8eabc6b516a3bbdd14ebd5f33543d53e1f8bc0edbb63bf936b8bc68bd543d354ed4bc4473e93badae5f3c85f603be88ef283fa7212b3f139e6e3cd71712bea3723d3fcb440a3f7319663c584811be96cb453f5ae1ba3e5ba3203c58d803be49c8413fbb98373e3b811a3cdeaddabd4e552b3f0323403d049e453c3cbfcdbdba9d0f3f865562bdc224ab3cf00ab9bd44adc93e3108d9bd2f92f13c7acfa4bddd7f6d3ec54d04be78be0a3d243d9ebdac77c53d84b809bec8e7fabd3eb16a3c00000000000000001711c9bda49d273c00000000000000004c3559bdd295c63b0000000000000000bc8b06bcba98f73a000000000000000071e7653c926ed13a00000000000000007d63203dbc60d0ba0000000000000000cea8413d5b74bdbb000000000000000025e9413d28519fbb00000000000000001f51323d710bdabb00000000000000002b1d753ae1bca03bc14495bc5129133d04b57eba1326703cd9a1c7bb92e32e3d2196bdba87f8a23ce559713b0c4a133d201831ba892cbd3c7f49ed3b78c5cc3cb0e4d3b97e13dc3cc503fc3bb3bb273c16f6acba45f8d03c965b0b3cc759b339cb272cbb8956bb3c0beaa93b2f0bb8bbf194bcbb4ef0903cb7cc2e3bf2fd3cbc8f8380bbc597253c8d316ebb961036bc9f7b6abc14adc83a1240a13c7fdf84bdaa668fbc31f4bc3ab08caa3c606a87bd1bae4dbcf140c73a5276c13c953991bdec4907bcfaac943ac7daa83ce4cb93bd65536abb4b042d3b4acda33c432195bdd3cc603a442c8d3addbc943c531c82bdb24fc43af0830e3a34795b3ce2a040bddc61f13aa2367e3adca7ff3ba809bcbc5cbb013b0ef2ef381376743b8f8ce3bb3070d13db55b39be0967813d378fa1bc1d36dc3ce7bb45beba588e3d3397bbbc8526e3bcb42422becca83c3da47097bc83716dbde152d5bd5fa6a83c2f924cbc95cc92bd41fe2abde4d117bb32c208bc44c88dbd113df0ba280d86bce2a87bbbd2df79bda7cfe73cc4e1d4bc00aeb4393cb22bbd1075453d5226efbc23825d3b214388bc4ed2543d20dbc9bcd3dc893b25a0ae3bea99a8bd128ecc3eaafa6c3f6332013cd76acdbd7d0bfa3e9ca14c3f06b2b63b2ab8d8bdf3cb0a3f7e201b3f6074df3b9109d1bd643f0d3f7880c73e1fb9a93bb522bcbd7245073f18313b3e4db5953bdbeaa2bd0366e53ed4de153d477f163c374c8dbd5cf3ae3ee13296bdc784993cdda380bd44915c3ebb7f0cbe82deb03c606867bdb2b9d03d444229be32f12cbe9fe8cd3c0000000000000000517919be1154a63c000000000000000018a1cbbd5d76603c0000000000000000bb9a46bd67860b3c00000000000000006ab885bb3576333b0000000000000000d1c3bf3cf71287ba00000000000000008a144c3d41f8bfbb0000000000000000edf8813d6a2237bc0000000000000000234f6c3d1f7533bc000000000000000099a88a3a83e54b39819b19bc6f9d183dd10d19ba8754183c834566bb16e8503dbb7866badc9d413c9730fe3bab43453d6fee03ba119e883c30640d3cdb74173db607ea3a9751893c5355f53bcad7c83c1bc89c3a8777983c0e4fac3ba110123c46d705baca03873c13cf5f3b98b134bb13138dba9f02733c8814abbaf831e7bb7c956dbbede5243c076e98bbcdc831bc819790bc2a748e3af5431f3c355115bd05679bbce75af53adf43623c7e3e2fbdd8978abc94eccd3a2423653c984932bd99ed48bcf4a8173b5a83683ce9384abd23f3e7bbb00d7e3ac84c303cdd0845bdb168cbba087e223b90341d3c3b1a3dbde3eb2b3b1482ae3af04b0c3c903f11bd98705a3bcfd9dc3945b09f3b2bbed3bc6262363bf0c58b3859f1563b0b5df5bb1b83a33dcd193ebe2b23a03de446c7bce431003d9c8571be59a9b23d9ca5e9bc72a34fbcdb3365bee58c943de81dbfbccb880bbde01d2fbe8522433d30d999bc03f935bdbef6d7bd6288b03c627f57bc8cdf30bd8cb233bde3a90bbbb54b1cbc6c7b16bdec0e8d3aca0c71bcece949bb98c7c9bc8346063d2711d0bccf8f96b89b84e6bb2670453d80dfd0bc36dc813baf96903a736621bdd47c393e896c8f3f784aee38bc695fbd259a783e1f33863f863002ba980a7abd03889a3ee4205c3fb3f3e1ba176c7fbddd2eab3e6b771e3f477a4db934256fbdf164aa3e2b0ac03eec038e3a7c855bbd58d79c3e66f5203e3c49053b106b2ebd7d96783e083230bb2f9ac33b3b6209bd9457253ef101ecbd6e5c413c2b8f09bd7e6da53de5c932be20a243bea64ef63c0000000000000000de7641be4957e93c0000000000000000245d17beae2eb63c000000000000000081d1b7bd21773e3c0000000000000000a1ad28bdd02edd3b00000000000000006440c83b3d57c53a0000000000000000846f213dd7540ebc0000000000000000f65e853df2a74fbc00000000000000004b7b993d5f8690bc000000000000000011f6ec39f804eab99f10f239e2ce113d237fceb915c23d39a748c73baa8f533dc726093a8c2e0c3b498a6a3c073d683dd9d3a73a0206d93bb5e57f3c72274a3df6ed263b32c3e93bbaba533cea850f3db7d91c3b7cda1d3cd7df173c487aa53c5693cb3a9fa02c3c4b4e303b2b30ca3b6793473aa6600d3cc1652cba20f983bbf6a9e03a576cb53bb9bce9bb869a1fbcd96e66bc8f5412bbd393933a12cc8fbb6b18c7bce406343bf031ad3bd0993ebc1422a1bc832a963a55e5b63b47897fbc16e961bc693b3d3a5395b83b2e2fa1bcc6c00abcf76a023b1deda93bc941b8bc144387bbbe2b3d3ba8d59c3b670cc2bc4330043bed0cad3a6060843bf197c7bc9a19d03b9c04793afb1df03a237986bc052dac3b1bd294ba56474cba4a4ef0bbe4df0b3d31254fbe02b3a73d4febc4bc2069623cd06171be8f2cbf3d6d39f6bc8a6f49bc66f685be270dad3d809dd2bc25f9e8bcdb8968be2eee833db2b3bbbc864407bd005227be20fa243d5b4694bc52c1ecbce322c4bd21c6863c914a70bcd0959abc610006bd6ac389bbcc0505bc281dfbbb7f1eba3ba04d99bcc8801bbb4177f33b69a63f3de34db0bce87497bacf2195bbf65321bb37d6c8bcea00b03f66b13cbbb72fc3bc4fad833d73d0963f15a7a6bb1155c1bc570fcb3dfcac873f6f85aebb2c8eecbc29060d3e6c09533fd325cfbbbc2de5bc2e86203ed0a2113f4fdcc5bb868cd2bca4751f3ec0e5a13ea0ad80bb4e4a92bc2a61063e0600c63d15930fbbd00626bc77e7b03d35f925bd11d0b7ba7861453a01e4d03c64e146beaa4e5bbee6ed133d000000000000000086b336be5663f83c0000000000000000f4b529beb152cd3c00000000000000000e9ff6bddcaa943c0000000000000000b6c999bd52db313c0000000000000000759dc9bc1d1a973b0000000000000000f27a863c558838bb0000000000000000486a473d27a150bc0000000000000000c327a33d6c7f9fbc0000000000000000000000000000000000000000000000005faa5bbb3f0534ba4ad9813c57ff573d531592baed6da1398f6a9d3c00b3533dbdce2f38cf18a9b9ef13a23c0a783c3dda5e183b9e4c2c3bff4a863c873a173dffcb543bbcaf273ba6d3313cc81dcc3cca10cc3ab7b90e3b978bf33b8846353cc3b58f3b0580723b759c06bb40400a3a0000000000000000000000000000000000000000000000000000000000000000efb295bc2211ccba6ec83cbb6f889c3c77f589bc29add83a135a8fba30e4393c1e4128bc2fe0803afb29f9ba1ffda63bc4282cbc0ed0473b526521baf71aacb91d628dbb10fc203b2a1020ba172b9abb9f2b19baaa41293bbbd72f3ad9d8b1bbfe254e3b3562a73804c92abba90c9dbb00000000000000000000000000000000000000000000000000000000000000009393edbc808f80be31af9d3d5712a9bc452b0bbdd67778be4c1c8e3d0961b6bc94471dbda0616abed29e723de808a2bc04d407bd4dec3cbe7934403da5a19cbce300c4bc6b1ef9bd1847ef3cbce983bc808667bc648f80bddbac113c434f2ebc526c143be0f28ebb3a32b2bb0cabd1bb000000000000000000000000000000000000000000000000000000000000803fbfc8debb144d2a3c66a4cabd6b8cb03f7868c6bb500bd7b978f6efbcfed6913f7396f2bb140013baed3b86bbb7b7753ff27920bc136b00ba22219e3cc6e6353f445a15bc6d23ab385086e83c34a0e53e216e13bcc39abc3bd9a3d83c58345c3e9fa518bc733e763c65fafa3a975d6bbc0000000000000000000000000000000000000000000000000000000000000000b68425beb8aad33c0000000000000000379e04beda94ad3c0000000000000000d79900be0512a23c0000000000000000aed4c1bd41d48a3c0000000000000000380272bdcef80e3c00000000000000008bf659bc1238083a00000000000000002976ee3c1b4d03bc00000000000000000000000000000000000000000000000000000000000000000000000000000000ea4e02bc9cd04b3cf7427c3de15a14bd1d448b394546b4bbc836933d95791dbdcd258c3b36db9cbcdb14973dbe8e0bbde504f63b887da9bcbc17823d87cbf4bc05dd0c3c5b6d8bbc4ced253df7b492bcec2cbc3b7b1e4ebc45409b3c46ecb8bb8b225b3ba4aacbbb3ad3fb3a6244ea3a00000000000000000000000000000000000000000000000000000000000000002c32013c9bfbaa3aeed6a53c203001bdd3a80e3c86d2913a1c06b23aa8dd93ba3cbb063c37432a3aa2a478bc9565ba3c22a5863b3b7abb3a36beabbc3b0acc3cc4f6343b7fc00a3bdaf7b5bcfec6b23c4792abba983ba83ac4d68fbca23ca33cd3b281bb25f0333b6f585ebc4114623c0000000000000000000000000000000000000000000000000000000000000000557d7abe0c45773dd32d28bc1576edbaa7ab7fbe78cc813dbc8ff3bb2b9e50bba95173be67b5523dbd5d62bba66d66bb65d945be9c632b3d987cb5396b0634bb95de02be3e35dc3c1cc4723a9a055cbb133c84bd434a273c4cd5163babdf7db91b6eb1bacb1790bbf35b9c3ac999a6390000000000000000000000000000000000000000000000000000803f00000000046e0d3c1e8ac0bde2a3b23fcc0f15be3cd88a3c657e7bbdf5dc943f13a5e7bda58df53c050e64bd2ffe743febc2d2bd2cd5133de18c12bde952363fb294a0bdb55c083d5b82d2bcae6ce93eaf8e47bdb40b0e3d66a0dfbcb3c5603e11a690bc7477093dd80dd0bcc92a64bc27853a3c000000000000000000000000000000000000000000000000000000000000000048c5453ce204d63b0000000000000000f9f88eba16de0f3c0000000000000000c8d356bb2930ff3b0000000000000000eea708bcff1d073c00000000000000005ac134bcbddfb63b0000000000000000a2e03abcb2de413b00000000000000000be9e6bb581b5c3a000000000000000000000000000000000000000000000000d3585dbc6b5d0d3d9d885bba913779bbf5380ebc1773193d73ca833c6d1c8dbc4cea29bc3f9fc13c93a65d3d329212bdb221c8bb97d9793a9df5943d75c228bd874f11bb24444fbcc765943d51a01bbd69a2ab3a04e69cbcc73a6f3db403f5bce957a13aca889cbc4ed41f3de8d595bc1f5f133a82c78cbcddd3983cdabba8bb28851e3bedd21ebc23680c3a4eeac83aa048103b3ef18c392c25453d59c0cbbd490fb93b59670f3a3d622f3d9b73debd602f1b3c23cb0b3ad183063d47c38abd724b1f3c4fd29d3aee1b883c6f4b70bc8221073c3897c23af69c893aee5e9e3cea82b73bf348003bdd3d32bcc136253d76ca053bbde3223be76260bcacf64e3df7f50fbb02d00b3b4f8b68bcd38f6b3d31ba4dbb9209303b480170bcc32d123d691484bd163e993bb3eae5bb4e74003af4b40cbe9893073d85f6f6bbc540e1ba018b69befd06703d114d1bbc3dd923bba7d580be60ac853dfab70fbca9b87fbb9b9b6dbe3c98793d5295a9bb2bbd86bbeb4536bed3aa4a3d68812fbbae4e96bb48e7ecbd02e5f93c3fb43739c44f57bbd8715dbd102f423cb914ac395eef12ba6bcd073c62c834bbf10e8739b3b21a3a32c69c3b259b1bbeb0b7af3f411102bdbd5c61bab76fe4bd9e1aa53fd12744bd2e0ccf3bf579eabdfb9e9c3f541ac2bdc248c93cfd6209bedbb7873fd432d9bdb52b2c3dea3116bea3a8573fce6dd2bd2684673dcc0d13beb102183f928eb7bdc6ba7b3d12ac11be5b0aaf3e81cd5fbd30df8a3dea5717be026dfb3de810a2bc1434583df120cabd2f3a91bd03183e3b25b63f3c448dcbba00000000000000003ce5aabad50cbb3b0000000000000000fe7da43ba880c63b0000000000000000a5a2293b40d3073c0000000000000000ae5182bb00730f3c0000000000000000a4fc86bb44fbfb3b000000000000000094300abc6668a13b0000000000000000bd83d2bb0ac0f73a0000000000000000173ddcbbb5e58b39000000000000000054385dbc1d6b303db02121bdeb4fad3cb60512bcc2d91c3d812624bca140ad3bcc8b22bcda8c073d63e99b3c3df368bc475615bc3109b03cd3fe3d3dc7d900bd43a1e0bb87e209ba9518813d0de41ebd2adaa9bb5d0136bc1abe843db10925bd83f0f7b929b98cbc64f24a3d0463f3bcb27d32bab1ac97bc3bd8083db6e29cbc458ccb3a2fcb7fbce7da643cb06009bcffad8bbb49e4f5399a2d703d3f9214be6ac2413a46259939ecd2503d035407be7465ce3b6f780db9038c263d3a0eccbd18f7193ce01c973a9dd10d3dcc0292bd4143333c13f00d3ae2d2963ce2c62ebc3ffd203ce2291d3bba6de33b64a0ba3c59e2b93bd830073b8622f7bb65423e3da4652d3bf7e72a3b108d4dbc00337d3d74627eb9f44c073b56089bbc8208693d9b118f3d1afa44bd3dde9aba0fe31e3b190055bd39fe39bc2816cbbb973f41ba74f60fbe7e1ec03c9bec07bce61094ba699f4dbe4e3d5d3d6ce034bc2c7e66bb99e560be08b6893d0aed1cbc291890bb62e04cbef8d5863dce55f5bbcef4c4bbe1331cbe8e146c3dc94ac5bb809174bb3454c4bd3a4d1f3d14594cbb938179bb2dc31abd96ac953cc78c3eb9a911f1bad319f9bb6814ebbd87ef8b3f6a42133ee57d42bbf2e702beaeab953f1100383d0fddc83b0b6e04be7b6b8f3f399cc1bc94ae213c362008be696a853f2a4dafbd94f2fc3ced0a2abe27bc643f0bacf5bd1838483d39bb3ebec9cd313f2a56ffbd82d6873de0fb41be8db7ee3efa46e2bd1ed19e3dbefa44be68e17d3e178b9dbd043c8c3d7f421cbef530833de64b36bd368dad3b5d2112bc0000000000000000cd20b03b4691e03900000000000000000521183c765660390000000000000000523d373c2b448d3b00000000000000009b04033ce069dd3b00000000000000009a4fa83bf9e8163c0000000000000000e646bf3aaed7f83b0000000000000000cee795bb996bea3b0000000000000000b374a3bb53cb8e3b00000000000000003a2b45bcc8453c3d4f7e8dbdba404f3d329006bcdec51a3d37c408bd0853f93c397ae3bb3e84183dbb00f2bbba559e3bbde4fdbb8972013dbcd7713c427236bce5ebfebb08d5a23c78c7233dc736fabc406be4bb970f2e3bc325553dc33a19bdd95ebfbb456f21bc9af85f3d301b22bd00a315bb9e0887bc6c69373d2a9e03bde5b6ef3af97a91bcd01ef23c82b3a2bcb07e82bc5eee073b6b1a6e3dd5fe24bef5dc07bcd034283a24e95f3da3a016be072da63ab699f6b90a823c3dd99804bed51bc83b50cf34bae5541a3d97e5d4bdf80d1c3cd1007a3aeab2063dcc5090bde9f94f3c6b9f6839ad01983cc14951bc6401343cc15d783aa3f8a53b62b7e63c211e013c6b02bb3aa786fcbb5909643daa6a923b444de83a7230a7bc1d91823dc7f11e3eaf6ee4bd54c5273c5971ba3bcc8c143da5f292bd4c7d653a9f057d3bf34e7abda47698bc5670c6bb4247473838c9f5bd9ece9c3c0f6b1dbcaa745bba849730bed463673da1b75cbc2fe51dbb70bd3cbe04e5933db25b6ebc1e6274bb38452bbe15bb9b3d347642bc58ff65bb77d802be36cf853d124211bc2fd475bb57a88fbdc023263dd7ee64bb5e3683bb21bc49bcc67aa9bdca68583fd565b83e879b22bcc634d0bd1a376f3fdf8c673eb0a8bbba0f55e5bd5d54773f12e1bb3d89eca83b1ae0e5bd99d46b3f430849bcc2e33c3c599b05bef82d5a3fc20cccbd103b003d5ffd2abe3e44363fa72a0dbeb78a593d843846be156f083f68f819be9863943d006651be97abae3e07e109be40c48e3de6852abe3a21193e8f84d0bda67460bc35e5a5bc0000000000000000cd84783b691d4ebc0000000000000000c4f2dd3b1d54daba000000000000000036c1373c8411833900000000000000003857973c1a6ffc3a00000000000000005765943cbb86943b00000000000000007bc24e3c6b11d43b0000000000000000c564d83b0e95e73b00000000000000002fecc33a737ede3b000000000000000053dfb3bbc743223dc99facbdfbc7953d2abc4abbf9ae163db32870bd32dc713dfb5df8bb4fa4113d3f27e1bcdb44f83c9ee685bbc80b093d1905f6bb28b0be3b968205bcc85aab3c95d1853c990637bcc9de09bc2f9f973cea16083d8215f6bc80b9c4bb056429bae4f0403df9bf19bd527fc0bb5afb2cbcc5cf443d6a1c1ebdbabc8fbad74284bc7b07193d8cd003bd9f4cc7bc5751283b993b493de43724be2bc1acbc67c5cb3af141433d497c1bbe49d614bcd0dba23a2f7a3a3dc90305be3523923a52d7edb908a6253db20ef8bd4f4aa63bac578dbafdede43cdab488bdb597303c52b7333ae890f13ccd3b70bd00ac3e3c077ada39be3b513c9565613b7880373c7531e83a9d8b943b68b11b3daaad0c3c44cbbc3a5a486bbcb106783d335b573ea8662dbe7987eb3cf9d21a3b1426e03db7c00fbe01af953ceeb8dc3bf018143ca3019cbd4d924d3bf0d6813b1b0469bdcd9ca7bcbb3094bb22050939a746dabd94d5753c9e69fcbb3381913ac55913bedcb76b3d5ff381bcf7fd16bb8e1a1dbe2fd4973db23d83bc1b6e29bb92570ebe4728a33d252864bc6fc098bb9b5fc7bdf862873d7a502cbcb4538dbbb6947cbc4f0333bd4ac7153f3cae1d3f2af367bc801a68bd7d3a2c3ff574ee3eee931abc85259cbdeb3a3d3f7bcf8e3e4638a1bbb338abbd6ce9423ff0b2d63d1d0ef03bdcadd3bd4b02333f9c9cb73a1c14153ca4a6e7bd11d0253f2cf8e0bdb519fc3cc6211ebe202b053f7eff1cbe3978483d15533ebe6889c23e639e2dbe71c37b3dc8922abe571f553e41d71dbe5a905fbd3c7fa5bc0000000000000000194c95bccf5ec3bc00000000000000000dd394ba199e7dbc00000000000000004229233c4c38b5bb0000000000000000e2247c3c2d6ca4bb0000000000000000b42bdc3c271ea1390000000000000000eb07dd3c51ba113b00000000000000002d31a63c319db23b0000000000000000fc38913c54c8ca3b0000000000000000b2c827ba520ce63c8c38a7bd17dfaf3da5c762ba474ae93c4bc086bda9fcab3d55ef74bb3c710c3d27053bbda5306b3de2e957bbdfadfe3c4492d3bc57b9f73c91c854bbe2ecee3c9e84d9bb02add23bd78e3abbf115bd3cf054e13b852118bcc442e1bb7886803c7772d23c7513e7bcf1d3edbbb296293aa4881f3d14a91dbd45e23dbb000b43bc8ac71b3df5fc0abd087e0abdde85913be0fe033df0cf06becf7506bd178c573b887f0d3dfacbffbd0063a6bc4c83933a2e4f1d3dbf4afcbd009f0bbcdba885382388103d36afe9bdacee35394c8a7ab944fa023d1ed9cfbdb380e23bcdca38ba2619bc3cee7f90bdacb5453c3e9390b96af7ab3c6d5e17bd5826753c9ba208b942bc473c27eb423c6baa2b3cd0ad31398b91c8bbf4a53c3db8cb603ed68755be355a3c3d664bafb9071d0c3e282f52be347a233d59bcab3bcd81763d2ae119be15a7b63ca624c63b3c40883bb0d9acbd4cb9b83b7422943b206045bdc258c0bc8f738cbb7743b53ae625a3bd79318c3c299046bc511da8b9e14ee2bd00c16f3d25a89abc65bfceba2e4ef8bd97d1a83d6208b9bcf74109bbb975d0bd57059a3d47a17bbc6d790bbb1bec72bc0f46d4bbed61aa3eb205613f314969bc4d4891bccf50d43efc043e3f15f677bcdbf800bdfffdfc3e4850073f9daa4cbca6732cbd87f8073f94d09c3ef4facbbb33a462bd1bd30b3fd5a1e83d1c70be38f5c689bd8b64fd3efc1a6dbc8eb3dd3bab9eb2bd9e0ddb3e4560efbdd06ac63ceefc02be65caac3e0ef035bec5a3313da7bd0fbedfeb623e5f2440be0f8ac9bd68748cbc0000000000000000af4081bda88eecbc00000000000000003f81dbbc09d5ccbc000000000000000043b169bab94b87bc0000000000000000d18d2d3c42e8e7bb00000000000000004e7bac3ca2858dbb00000000000000004f14013d996048ba0000000000000000d70b1a3dc7e9903a00000000000000005037f73c101d213b0000000000000000bcea5b3b9829033ca75e4ebdc169a83d23ba093bd24c6f3c6b334bbda550c53dd0ac40b96fc3c53c134e3ebd16ddaf3d91b35aba7af8d23c4c1d13bd69916d3d8c932dbb2e4dc43c27f9b8bcd3e9053de6fed7ba347aa73c77a01fbc3ab2213c68f507bb2780743c7215883b54c525bcdd5a73bb9465273c835a833c909aecbc0c5f43bb5bf423bbc674d33c179810bddf2024bd9747d13be43a503c3b058abd09b63abd66d2fd3be621923c5dda9cbddb8a14bd94198c3b0f33c93ccfb8bebdb36bb3bc9cc7c93aa863e03c2c20c2bd2bfe30bcae512a3a2dc4da3c7587acbd3d5b5e3966402fbaa783b03c31d68bbd9423f73b75feb3baf51f763c654431bdf3556f3cd64d51ba7f43303c8dce9dbc6969743cb45c68395fe7a63a543fbc3c04a4203eef5365beaa72813df1daa7bb3bc9e83dcf9a87bed68d863d522e42baed96a03d44656cbe4b4a3f3ddddf7e3b82f8243ddf9827be16f4cb3c8f54df3b902d633ba688b6bd817c043c8344773bfe93d6bce38ce0bca689adbb919aaf3a26b34fbd6c1aac3c4fca59bc5ad2fb3a9cde84bd6bb48a3d3a98c9bcb5fb2eba874a93bd1d66ab3d822fc8bcdae109bb09f0d4bbdeefd63bed0a023e47a28f3f7e6936bc3face63b42de363e01e8833fae4574bc7bf7423b5962813e920c4e3ff2c98cbc878086ba1809973eee9f0e3f97725fbc8ca262bcc618a53e6fd49e3e600b11bc17ebcdbc0376a13e67fde03d8d50f7ba406522bde63e903eb8c813bd19c9fc3a86823cbd1069623e994723beb8c48a3c69efa3bd77f5243ea3ad55bed9c803bed81832bc00000000000000000ba0d6bd3108cebc0000000000000000241387bd0804d9bc00000000000000008e63d1bc92aecdbc00000000000000004bf3abbafbe887bc0000000000000000c5c9463c2846d3bb00000000000000008054e53c752bf8bb0000000000000000a8463a3dadda4cbb000000000000000054ab403d738ea2ba0000000000000000c14f903b41b418bcb87ee9bb3e628b3d55a042b65709743b68600abcc447aa3de726fb3a57390d3c1ef5e6bc5fd3c33d642f3b3ba1035d3c8ada0ebd7e59af3d1608b73abfdc833c1154fabcf47e733d602f16385211693c53cc9ebc8ce1fe3c40c8b73a5b9d233c67b751bc3ed21f3c98caf53a1713d13b4d7f0abc7b1c08bce70801bb4d2a703befb32b3cc9c3f0bc87fb1dbd4bb9ec3b9e376dbbd3d641ba0a4046bd2ad7103c1cce093b382c1abc512e39bd9c88e13b3502093ce86e26bd9abb13bd93f6563b6880333ce56262bd489db0bc01859a3a62517f3ca9897cbd588722bca6c0d339a618713c31375cbdb4a02f3b1a72e1ba74180c3cd7f913bddcef0e3cb3d198baa4f556b9894590bc0e765a3c14588d393fe3d03b6f19dfbbfd4c503d97196cbef8948e3dd62153bcec35cd3cc1918bbe1396a83d6387b6bb1000493d009492be5c908b3dca4daebaefb2493d4cb175be6ed3473d507b803bb81d183dfd9f2abeece5ca3c8122ed3baace8c3c056eb8bda9b6143c91bc743b54e8c53b3ec5cabc1a90acbb244f703a5c60b43b96dfd03c0cca94bc8cc0053b642ccabcab979c3dcfe9bebca24bb3b90ced8639fb821b3c80cd15bdfb29b23f8d44bfb96af6173aa3c8cc3c1beb9e3f214a09bc98ea9b3cde03583dfc89873ff9665cbc79aec73c780db73d6e924d3fcc8d87bcd585c93ca8bae53d72b6093f682c7fbc495e873c8d2ff63dab06913e83ce3bbcff18453ce29edc3d21f28a3dc86ef2bb7c54713c84086a3d8ff5a0bdb0a865bb518dfabb47c46a3da5ae5fbef7542dbe7a3cba3b000000000000000012cafebd80c19cbc0000000000000000bd9ac4bded11b6bc0000000000000000a61a80bd2b26cebc00000000000000007d6ac7bc9541d0bc00000000000000000a661abb8f6478bc00000000000000002a997f3c686cf1bb00000000000000003bd6103d0cbbc2bb000000000000000042cd543d869113bc000000000000000000000000000000000000000000000000b4b8173b8c8529bc0673093cbb4e923d3b25353b0db941ba253485bc9583a93d2792803b289cae3b954012bdeb1ab13d3980443b0ef9323c735a29bdbe60963d6d861c3b182b483c37e90dbd6f074a3db85ee03a78fc0b3ce942a8bca729b63cb065c13a7935e73b5a734dbcad7a093b000000000000000000000000000000000000000000000000000000000000000020d71bbde6e6cd3bf1d70fbcbc39ee3c28501ebda2bdb03b54f290bbf0be9a3ae1020abdf5518d3bbb7c913aca2bd6bc5ab0e6bca228a33a476bc83bec832abd4e329abcbd5c083b1468223c38013abd5794c9bbee2a0d3a64c8173c17e71abd4e87db3ae1b338ba2f56ff3b39a3ecbc0000000000000000000000000000000000000000000000000000000000000000de1dc2bce4e383be71367f3dfaf014bc9737823cdedf84be1a817c3df154a6bbcce7533d39537cbe9b20403dafb6ceba7b896e3d6c3b4ebe79c31d3da62c873bedc5533dafc806be0a7ab03cb1f98f3b5b301f3dbd9a83bd5eb3d13b3cff5a3bfd07d13c2999963705cc96bbd356fc3a000000000000000000000000000000000000000000000000000000000000803f9c23e3390646533c3ff5d3bd18b5b23f971174bb7089d93c6ccc90bdd3dc933fab232dbc36422b3d449c82bdb5ee723f3d138bbce5624c3d845e3fbdf822343f7a349fbcc1754b3d3754ddbcf237e43eeba8a2bcdb874b3deeb603bd76f3533e05d9a7bcbc8e443d322bf6bc60ed90bc00000000000000000000000000000000000000000000000000000000000000006f6c0cbe0edc7f3b0000000000000000b109d3bd081ed7bb00000000000000004b6cb4bd850814bc0000000000000000ae3d8dbdd4fe68bc0000000000000000c2fa19bd61477fbc00000000000000005bd310bcd52d48bc0000000000000000d2a96b3c243c1dbc00000000000000000000000000000000000000000000000000000000000000000000000000000000382d7939544ef039203c0b3bda64973b8e852e3ab0fd8c38d337443b36c49c3bd55875ba17e2993abbe5d33a6d0ea33bff2ef63898d6013aee47243b61c98d3b7261e33903c8b63a12f3753b0ba9833b7740883aa1ad273a0b26783ba425523b164a06ba98b12f3a4e9c843b3dc3323b00000000000000000000000000000000000000000000000000000000000000001e37a73b27bcdfba48c213bad3f1b9bb762c843bc25794395232a23a0e9dcabb0c15693b157793b8c76f273b7c8ff7bbf23c533b97560d3a74892d3ba1d0c4bbac81473b909235bb724c4d3bdbf2fbbb5e89a23ac07028b91c33f03af5b7eebbf4d43639f6ab81b9b9a4073b6c71d4bb000000000000000000000000000000000000000000000000000000000000000058b076bd12e636bdd9e8743ab41a913ae24875bdcb641dbd3aa17cb7f312b338bc625dbd9fce05bdc487c439909aa739f3493fbdbddbd2bc5e3e9c3a8307e939009223bdbe3a97bcbdcc623b1c348a3a2ae804bde3483fbc3d64a83b9836303ae7beb8bc4c858fbb9747f53b5ea4d8390000000000000000000000000000000000000000000000000000803f00000000b2c03c3bc407aebc30888a3f359c86bc2447293be6c7c6bb5e8a673fd82d42bc784a493ba26b6f3b38ac3c3f695542bc26f6f83aebadf53bcebc123f1e6d85bc4b7f143b1061283c81a8d53ef18ab8bc13e9b2b94ab3023caff1853e9f79ffbc7975b3bab251943b5e0ae33d4d722bbd00000000000000000000000000000000000000000000000000000000000000005f43cbbb11785c3b0000000000000000497bd4bbe3daf03a0000000000000000821ce3bbf8faf13a000000000000000097a4eebbbac5313a00000000000000000af6d4bbc31d713a00000000000000007bc6b6bb498cfe370000000000000000c7a754bb40e5113900000000000000000000000000000000000000000000000029f08e3ab4c5c43980d4f4385e2db239871ab73a45a0813a3b17803bf29fe13b643a023a81547d3a3f3d963b98e4b63bb1a168b9913d8d3a688aa73bab86bb3ba43782b9e501a03ae42fb93b314d6c3b5f7305b9389aaa3ad334993b7fb1953b2ac241ba1873223b208d8d3bf246a13bc4bf04b9132c543a1bc7923b6a2a433bbd7cceb9828a3bb97ed61c3b4568b73adbe5703b640a7b3ab71fa0b7c5c8b1bbe8a7b43bdd03713acb6089baab0025bcf205ab3bf897533a321be23ab41daabbecbe9c3bd7bb6a3a22ac073b42be9ebb0f230e3bbe47d53a7ee21b3b18206abb3a354d3b6548c33900e83d3b65b8a8bb491f5c3bccc52dba47c5163bcfa4bebb9289ae3ad0b692ba3014123b4e2c80bbccc6273ad5ed76baf7388a3a6eacbcba85bfd8bc28cf26bdd9da8cbbf333d13a9a1872bda3a762bda51e60bb865bee3aa1f284bd543359bd89735fbb3914a73a7f617fbd0d3c40bdaac524bbb90c7c3a899b50bd6ba214bdd4f4893ab049133a808940bd8e80f3bca7d9153b6f99bf3abfd914bdb429a2bca4abab3b2743433a8a74babcde3310bcfd6f083c629f48b811c102bc4a09acbad5ba033c635501baa1c94c3b3bb267bdaff4893f22d7ed3d9d83b03bc66d5cbd6929823f994ad23d33eb8a3b6855edbc8a615c3fe3adb73d06ff6b3b743063bc5d3f343fdd0f913d8a0a043be0bf4abb94090a3f87c33b3dbc23e03a664f0f377d48ca3e450ea83c2ad9cb3a5d60123aee937d3e4af6d9bb4f3ddebaad180bbb34f7dc3db90a00bd56ee12bbf02ab7bad32956bc0f282bbdfdc6a0bc3c77903b0000000000000000ce45babcd1aaab3b00000000000000003bbf9fbcb3fe7c3b000000000000000090d89abc00c8253b00000000000000001d5790bc8f83ae3a0000000000000000dd6487bc61bdbb3a00000000000000009fbe69bc8566703a00000000000000006d1b22bcda9e103b00000000000000004064afbb3287e33a00000000000000006d71043a85de3d3bb3956039eede77ba1346b1395ca4453b2310013ba461fe3aa86a85b9b604c53ab118503b899b423b86435f3a2bb5633b843c99ba3d90e83b3335c5b9624aa33a61c9603ba480613b94c99db9090cb33a46a8883bbb028a3b1c3928bac3fe683a29d5773bb4d1723be40531bae8824f39a444633b80cb353bd9f34bbaa2c1dbb8d77b003be69c9b3acf04453b9f87a73a49fde1390618aabb76d6a43bca6dd93a93bc863a881daabb22068d3b111fb53ad11f413bbe8707bbef83dc3b7c082ebbb9cb9a3b0ba8c0bbc70a623b7c89453a82f9313b85ad98b87b45713bd02d8b39af2a3c3b88442abaf199293b3ea06eb582b4113b4cf5b8b901cbe23a4dc18cb9e3d9ff3a29678d386c8d393a3928fab9f1de883ae39c883a688631bc37bb09bdba612fbcf31d1c3b6cb712bd21015dbdf6064bbcd1435b3b698826bd3dc749bd436622bc91a7013b5c7038bd7e9864bd4f76d2bbbd34703bcf151bbd67481cbd957795bb4196c13a2fb018bd04f10cbd4c88f2b99625573a3b68dcbcdb1cbcbc06b3043b5c68043bcd3f97bc87a867bc1a11ca3b95a3033bc028bfbb560892bb63c9c83b2e80d93a9dc68e3b732676bddb7c683fdf8e883ede72e03b68c985bd42ed5e3f390b7b3ef2ed943b755518bdbd2d393f6ccf573e2e1feb3bcffd02bd07eb1e3fb382283e5c36703b80215ebcf6baf03e2637003ea6f9413b097816bc9ee5b43e5342a23d1041cc3a6cc1b1bba2f6663eb1c81b3d03fff3b782dc96bbb9d1db3dc01013bcebbc64bae48938bb7be72f3995e207bdecae01bdb3e5973b0000000000000000c9bd20bd626ad63b0000000000000000e841ffbcc44a8a3b00000000000000007911edbcda3f9b3b0000000000000000b521cfbc1877143b00000000000000003abddcbc276a423b0000000000000000d464bbbc9d53243b0000000000000000be5fa9bc005f503b00000000000000003d724dbc2f62273b00000000000000002225eb390190153beef10939294532bbab34de397b8b243bc967bf3aa3fb41b817796339f6feee3a4920123b8662ff3a91d123395743293b767e7e3bbc646c3b63066db98a79e63aeb5b343bc10c683bc0a0abb94f53a13a82f35b3b29fb713b62df46ba4c8f203ab6db513b7624663b848f14ba185e6b3955e0463b467d623bf6c1cfb72c1da53995e41b38d8a508398a9e063b0bfade3a3cec8f3a987587bbcb7c973bca851c3bee38003b676582bb754a8f3be6a2b13acb20b4390758d8b982f6413b38006f3b4e7fcd3a9ae91d3bf73a823ba16ba93a35773d3baad6123be6d47c3b4cc4273ad04a2b3bb860033bd8105e3bf7d09c3938c3243b92cc233b5fe0bf3a1d9802bae5aef83a30cd363b8e35123b9b9f96ba1f9edcb9b2535c3b3293b4bae81ae8bc26268abc0e0d323bc012a6bccfaa4ebd3e61a9bc77cd8b3b3a7004bd635d64bd125b91bc76c9813ba67913bdfe1853bd4f4f57bc60e5823aa07002bd72a338bdb9e31ebc022b353b76a2f1bcca6c1abd7bbb9abb22fd5a3b0cd7bfbc4c76e2bcb30904ba2297603bf52174bcbead8cbcd1a08f3b2730153b32939cbb2c45cabbee0f503b7909603b91c0893bd1e75dbd37b33d3fda8cd73e1971e93bcb977fbd914c363fb2e4c93ee3471a3cc90b34bd56491e3f9aa8ad3e877f8d3b1d77f0bc9898033fa38a8c3e2414993b86cb9cbc3b47cf3e0004563e26b9643bb89061bc6c709a3eae39123eb316f93a45540fbc32bb4a3ed6d39e3df155c73ab4fad7bb6fbbc83d84c88b3cc2ad933a9c4227bb7c10123cc444d4bc1c9925bdcf89993b0000000000000000868854bd6242dc3b0000000000000000399538bd6b30cf3b00000000000000009fd924bda46e913b0000000000000000a5f518bdd278413b0000000000000000631316bd2b53423b000000000000000048230cbd16193b3b0000000000000000f962f6bce689913b000000000000000019cf9cbcd658623b00000000000000001fd3353aed18433b7b9294389d683cbba83c04b9d89c303b7c0bb739cea687ba0aee52387198263b43b0a43a96e1993a000d1ab979ee083b29a9043b41171f3b816308b92c95c53a5636ba3aa9f1e33a8ebb67b95920d63af2f8293b9c385e3b973508ba0a26573ad9530d3ba8c5453b0f95e6b9aca50339995ff63a71813b3b043303bacee16bb9bcc7713ad11cdc3ab6378f3acba40a3b2a84b13a09df8cbb71056d3b40a5563b72dc283bce1254bb397e7a3b869eee3ab9cf1e3b9efb2c3acb0b883b126fb33a7c2d283b3234323b436a403bf2ae3a3a45252a3b360e663b2a77833b8d5a7f3a5e97303baf24923b4555443ba1daa9399ecae63a5047873b74e3243bf6071d39f227b03a1f1f973bfb67b93a3b5ee43850b15f3afe97893bd23d723b40facabc0be4b7bcd3c7563b701922bc04703ebdd148e2bc0b628c3b5e559abc51da4ebdadd7b6bc16f0373bbb02c6bce2ed5cbd9364a2bc1f224f3b96a18fbc8f0f13bd73803cbc8f78033b296db8bc68cb24bde50a1cbcd31d543b25828abcce05e4bc08a85bbb826b5c3b9eb447bc58849ebc1893a43a466c8a3b7b9d97bb852c07bc0d0d3e3bfbc7513b6f66843b826b43bd5c71143ff336143f337ad23b35815abd50550d3f1b1c0b3fd676b13ba7e711bd6ffaf33e3fdbeb3ea4eead3bd5eae8bcca39d13edd30c43e9767633be1a769bc73b89d3ef70f913e7295833be43c68bc52007c3e6558543e9195483b70f814bc04cb243e79e1f83d97e90e3b7d82f9bba3abb13d11fe2a3d5a23803a304e8dbb461c493cd09faabc929e44bdbd639a3b00000000000000004abe72bdf256d23b0000000000000000b91c43bd9b44923b000000000000000023ce44bd2eba8c3b0000000000000000a8e90abddce7013b0000000000000000518734bd9b263d3b0000000000000000fc4b1cbd3b4f493b00000000000000002e891dbd72b38c3b00000000000000007ef9d5bcab196c3b0000000000000000208a7fba1b1a783b9cbdb2baae275dbb0e9b4eb7f2d3593bdde1bbb9eb89abb9a4fd48ba534b3e3b194e533a92d9c43ad1daadb9d7f81c3b65cbd13a1afb383bdd9014baa7a0da3a0ae8d73a7671553b96353ab97929dc3ace31853acd4c9a3baac6d0ba5934a93ae1b7533b8049653b1d7950ba92e715b8ef107ab76013753bb6b37ab9efdba2b9e98eb13abd1b023b7576043bbe54523bb59d0d3b484a93bb0c9c843bd998173ba724293bc34f6ebb227b903b3d6d4d3b62fb163b16c1443af823963b577a183b59d9223be782503b78447f3b8779323b7dee143bc321a13b8e8e893b0f9d863a69a31b3a07bdc93b35be383b3b23d3393339253b79cdd13ba924303b3e5c3d3ac91d453a43cfc13b520eb13a52bf05b9347b153ae2f29f3b8bf7db3b2316b6bc406bebbcf7b3253b11a6a7bb2f494abd5a5a10bd9472b43b2b4061bc09ae6ebdb91900bd88d5803b9ab090bc6d2e6cbda796d1bc5e18673b53b592bc50014ebd94319fbc4fe5283b23b99bbcaef62cbdc50349bc5bfc863b8f2674bc6f8d02bd38e3e4bbbb2bb83bcd6b3bbceb43b0bc17be8eb999c4a43bd01184bb064c0ebc56fb023b467f673bffff943b7c9b22bda468d83e6e403d3fcacfe33ba5c043bdaf0dcf3eb564343f0db1a93bc5200abd7a67b73e6cb11a3f198da93b0ec1cdbc50259c3e8615fd3e4cee8e3b45d490bc61927c3e322bc23e5fb2933bd3a77cbc692b413ed47d8a3ec0ac613b00ab43bcc81c063eeefd253ea19a453bf50824bcbec6923d8d52833dda74dc3ab6e8b8bbeca0623c3ed78bbc9aef62bd0e035b3b000000000000000050ea8dbd9057d93b0000000000000000f4fc70bd9c829c3b000000000000000073725cbdb9687d3b0000000000000000185949bdb58e233b000000000000000091074ebd5188623b0000000000000000918b4fbd60d1bd3a0000000000000000295b40bd1af7ab3b00000000000000001dcd03bd9e357b3b0000000000000000241292399fb93e3b1f685ebaafc4baba4eedf4b9daf22c3bcffd9fbac19d783af077c7b9d365223b8b39d5394940153ba9d881b90078243ad5c1963a53f96e3b8484b8b94066d93a5132bb3aef6c6e3bbe9248b9b9031b3bb2d9983bd27abc391fbb3cba216e95b83a86f53a4ab9a43be72371ba1a84abb9184a023bca2a913bf9b22cba79992ebac156973a7a64293bd50ab63a68d7823b671ec33a7fd0b4bb51bc9b3bcca8833bd0f1f93ace7885bbb7ec9f3b645e303bf4ace23af159dc39beafaa3b7c0f553bf116053b261bd43acd52f63a26acd13a12aeb63a851f9f3b5830dd3b90f90e3b589a0a3bd126f83b12a36c3bec4b243ad104e7396ac6b63bd52a3b3b706f2c3a624c7a3839cbd53b2b0aaa3a9b0473b8173414b96712a03ba597b23b3ec5d4bc29da04bd6273763bc7873dbbf0dc64bdfa832bbdbcaeb93b88a712bc38b66abd6aa507bd4dde633bbf4f46bcb26180bdcfd107bdadca4f3b038041bc35f446bd9473b1bcf8ae213b5b754ebcd14553bd443f9abc4739bd3b40724ebc8cd707bdf7760cbcf97e7c3b964934bc7adabcbc08e9e0bae56dad3b58759abb284408bc70150f3b9fad893b80b2803b6d8002bd28df883eb84c683f2fc0c23bf23d10bd293c833ed6785d3f8e8e953b091bc2bcf2946c3ea1b9363ffceda13b149697bcd00a4f3e70611a3fabce713b5cd146bc98d2263e9091e83ee670a93b34e320bca861023e5389ab3ebaa4553b18f51dbc74cab83d7034513e9bbc593b0f4230bcf51e593d5b76a83dc5600a3b6e77ecbbebc6523cdcdc8fbc679174bd776e913b000000000000000055f495bde158d43b000000000000000022ee5bbd179c743b0000000000000000e0405bbd3f9a333b0000000000000000752636bd7c0ca83a0000000000000000a7d766bd3a5c883b0000000000000000f92340bd00be153b00000000000000000d7c5abd8954a33b000000000000000085d61abd9d228e3b00000000000000000634a0b8b36f1d3bb768dcba4c018fb9825a72ba2985f73ae0f8eaba8b4b633bbfc5aab9bb870b3b39129f38f1609e3bb08913ba41d1f63a49f6ce391858923bda6426bb2438293b183a6eb90eba9c3bcc3377ba46d0bd39c166ef3aa2b2bf3b0420d1b88f14a43afb18f83a9097b03b2e68d5ba4669b5bae140c53a0460a63b5a062aba6be901bac200a63a0f355f3bf0750e3bb08e4f3b158baf3a7323a4bb1317da3b7a57a43bb7c7a33ae5c77abb69409a3b5c26833ba835ed3a3b61883ad497ad3b327e4a3b08f87c3a8a4e613b1824a03bdf0a083bedba9d3acdeac33b568e9d3b12c0e43ae3337e39e131bf3b588e683bb672273b0a88fab95dc1c53bb1d9663bbcce5c3a163fab37a860ba3b53be843a786c5fb8921a4cba90bdab3b43666f3bdb8b0dbded511abd28c84f3b82fe8ebb5d968cbdd7383abd9f47b03b010fe9bbf6c897bd4fb326bd547c6b3b1e3b0ebcd3f28dbda32711bd0c50063b31f40bbcb28367bdfff0d3bc3e97453b67bc40bc578a53bdfd19a4bc0ea1443b6eca45bceb6623bdf06f41bc3602833bb9be17bcdc96d0bc1c65a3baffcc9b3b7213abbbdeb411bca202fc3a3406993bfcbe603b1330a7bce9ecee3d73038a3f4379a53b2e94a2bc8aafea3d9b8f813f93f44c3be53065bcf33ae53d90455b3f6d385b3bc5161fbce634d43d8c34323f4d87873bdebefbbbd6b7b23dc836083f494b2b3be793f5bb4bb6973d1d16c53e4d703d3b354804bc8fa75b3dffa2713e2d1a0a3b97a027bc084efd3c389bc43dc3300d3b58e9efbb15592b3c581cbcbcf4c767bdb9cf5c3b000000000000000041a382bd9b3e983b0000000000000000968445bd86d2753a00000000000000003d3e2cbdc48825390000000000000000dabc22bd2818ecba00000000000000008a8436bd353564ba0000000000000000aff74abd8d52053a00000000000000006ed856bd1594a73b00000000000000006c0b32bd75c1523b00000000000000000000000000000000000000000000000005a33cbaa9f6973ab88603bbc6821d3b331083ba62446d3af56307ba87ef413b827d28ba885224baec1f1739419e3f3b4b17ebb9bf7b453a3b61bd39e10f3c3beb79b3baf2dd2ab9c8e74e3ad681543bb5062ebad1a8bcb8f4b5dc3a9ff28f3b323983baa5f073baf0fe393bdeab793b0000000000000000000000000000000000000000000000000000000000000000e64b813b2f4f613b9397b9390794edba484e8c3b7f814b3bd5ccd139ee89943a6df5793baed6143b533f2f37af62ad3a14ed533ba8b6df3a26909d39b96e833bcf66473bfa89d53aeff7943a8b98b43b1286583b52484bb97ee2aab97cc49e3b585b473bcdf7c93a5776a1bad6f49b3b00000000000000000000000000000000000000000000000000000000000000007c5912bb80fa77bdcf8221bd09618f3af31e72bbd43078bdd34809bd6996dd39fbc98dbb4a2c60bdbb79eabc082880b9212dc6bb1d2f40bd6997babc4ad588b9180ec8bb5ab52cbd989088bc2ac7e6393b93fdbbdbce03bd2a3d2dbc5cb51d3bd01607bce8f2adbcd68fa2bb5d8b423b000000000000000000000000000000000000000000000000000000000000803f6d10163b716a9fbb30c904bc3b6a8a3fd285073bb6c00bbb0b259b3b166e673f3209353b8cca10bbf2051a3caae53c3f58350c3b352e2eba4941783c1372123f9aee193baa3834bbce438c3cd11fd43eb1d9da3a228f34bb04b7713c9451853ebfd8303bee4aacbbd4a5183ce4eadf3d00000000000000000000000000000000000000000000000000000000000000001c69f0bc62a8183a000000000000000019a7a4bc4bcf86ba00000000000000006570a4bc924911bb000000000000000030e59ebc3c8d37bb0000000000000000529cc8bc5df6fcba0000000000000000f12e00bd4390e8ba000000000000000094662fbd109c88ba000000000000000000000000000000000000000000000000000000000000000000000000000000000f29a9b9db0343bb86b162bb9b1c1b3bc444913787717bbb3e3034bb73359e3b403980ba42b11dbb4ea5d1ba4ed0623bb22dd1b9e49be2ba421303ba2064743bfc6e0fb9402676ba9f8b393b7efe8b3b94bfbdb9613763bab3aca039b1e0993b985252bac77d94ba41c10a3b164f763b00000000000000000000000000000000000000000000000000000000000000009dcfd33b98fe0d3be4479cb99a48ef3b79c4ca3bac54f93a1a90453a2c50cd3b3812c83bcbf80d3be192383bfd287d3b85d5843b1700093a0cc7693b1f89123bd777b23b667dcd3a1c129b3be80263ba2489393b51936d38b54a853be0ea57bb46b9c43a0259eeb8e659143b834873bb0000000000000000000000000000000000000000000000000000000000000000c99b05bde38046bdfbdbaebb45f986baf92713bd757c25bd43af8cbb770e99b9ccba0abd70860fbdf8e72ebbe15fa0ba8a91f8bc1c31dbbcebcee6ba03e8f5b931adf4bca479a2bc5d190e3be5aababa7ffbcfbc5b614dbc428d863b4575633ae041b3bc5b7ebfbbf0171f3ce34c7a3a0000000000000000000000000000000000000000000000000000803f000000008c663a3adac09bbbceda803f663d01bc4c9e8e3a1bfe063c966e5a3fedfb23bc805b273bfd8f6c3c58de333f5b3156bc574e2d3b9706983cae8e0d3f78ae9cbca79e6d3b97b8ac3ce2edd03ecf62eebc757f853a8cf5b23ce0e9873ef44317bd7f137d39c957bc3cb980fb3d70264abd0000000000000000000000000000000000000000000000000000000000000000abe327bcf94f7539000000000000000035694bbc72bd14bb000000000000000072bf54bc8d1838bb0000000000000000400954bcd14a43bb0000000000000000fa045cbc40f08dbb0000000000000000724b41bc546f2ebb0000000000000000e075fcbbe7ad26bb0000000000000000000000000000000000000000000000001f52c9b9b8c375baf74095bbad3336bbca2078ba469a02bb0f5342bb1a1bf43ad34699ba48f918bbd6b5fcbab1cb4e3b6b93c2ba2f571fbae6210cbbe39e5e3b2845c8b9a885d5ba8688bfba9b26543b61b700bb8844a4ba5f57e4ba613c2d3b3870a1bade34b0ba25cf7a3a933d893ba5ae7fba49999cbac0a3e83a6b51733b2a8ba6ba175ed2bad89acb38bc41cb3a5f8d9d3ba74a0a3b3ffc90ba973e063ceac3ff3b881b673b11ea0cbabebe123c837df73bd3271b3b2eda603a9406fa3b312bdc3ba36c223be7043a3bc459f43b1c77aa3b5918db3a55c4753b3614b63b17fcb33b3039b03af977883bb5b4573b7a1c7c3bc31d303ab62e593b5a22713a6bd5203b1d13f937f513ff3a130cb6baa173163bb7a09f391baf353bf7e0ebbacd0a29bce08639bd4a220cbc193078b82814e9bc036f72bdc3a01ebca12fdd3962b311bd894167bd67391fbc10f525ba394515bdb19647bda7b801bc51c62dbac1e504bd912e19bdc9598bbb31dfa3382b5106bd9757fcbc7e9e033a6a82973aa769efbc74a7afbc91bdaa3bab339a3a501bbabc82cf3ebcf8be233c09f2db3a6dfb5fbc56a29fbb739e1c3c9f2c383a3c11dc398673e1bc3586803f28f0013eeb970c3b36c8b1bc9cee6c3febd2e03df4433a3bb83b56bbb5e64a3fbc5ab93d27b4423b8d9c023c95af273f9bf1893d6d24223be496763c26f6023f5d0a313d33cc123bf7ddb03c6ddfc33e8b2e643cd30d973a5e42c23c2fbc7f3ee96f6bbca925a7bacc57ba3c04a1f53d549628bd50b1c4ba91798f3c8a01abba5c9c4abd978873bcd141fd3a00000000000000009667a2bca240da3a00000000000000007506a3bc1b41c93700000000000000005205b1bcf61519bb00000000000000006105a9bc998641bb0000000000000000171aabbc774241bb0000000000000000456c99bca10847bb00000000000000009b3366bc0c90b2ba0000000000000000f139d9bbfc4d783a0000000000000000ccb966359dda323a0b785ebb9b85aabbf64b49ba650396b983eb84bb7bfb59bb66c4113a776fd8ba583026bbce7c24ba2b9fdb38c744a6b981a32fbb76a18f3ac3a139b99e218eba9dcc21bb8c65093aef338db927b693ba4444cfba1782fd3abd98fab99acaacba454787bad01b173bd2fc67baa2c4b8ba207f21ba33e9213b90de1abaf65da7ba70c96fba7e6f8a3ad9a5353bdfcd2a3b033aedb95a23f23b1556b13b5cb9773b0801c939489f323c1ef6af3b81ac233b2664b53a365e1c3c9cb4933bb283583b40be1e3bd0b3293c1ae9843b653ad43a52b0803b7557113c8d83a33b7a5be23a6014833b33c7f33b0c6d7a3bfcdf9e3a716e373be718913bbae7503ba3a16f3a91ca0f3bdea1393b378dbd3ae1983c3a21b1a43abb49033b56ef9b3abe9b1abdd9cf5dbce17f043a14893abc5edb63bd57c991bcf758a539b1b48bbc23084ebd56e170bcb4d284384076d2bc78bb57bdf1e16fbc3880f4399ac8b0bce1fc19bda33604bc3df37bb763c8cfbc88cb12bd45f487bb433bd93a0002acbc59b8d0bc3cc3523a4aefe43a6f1e9dbc2e2e93bca2a1be3b36ec2f3b626032bc1b4b0abc156dc83b022f383b4592cb3a0cfe01bd82a35a3f29ec883ea7072e3be24cf3bc93174c3f87ca743e41b7083bed743abcdc202c3f26c9503ef200163b342df5ba8c37133f9d91253e8d7b233b607aff3b0ca0e43e62b1f03dc65cfb3a1f15743cc068af3e14fe903df96cb73a262c823cfae7673e3503f83c7b3110baa8959c3c9a6bf03dfbc18abc809f5bbab3f4723ca94b253cf39222bd8a83aabcfeee0b3b0000000000000000fd95e9bc2678d93a0000000000000000167bccbc3f95bfba0000000000000000c513e8bcc26fa5ba00000000000000007295cbbcb3d22fbb00000000000000001521efbc28a22cbb00000000000000006355cebc9eb1deba0000000000000000234ebcbc719580b9000000000000000002066dbcbaad5c3a00000000000000005326b6b8c1e0013b212545bb3bd0ebbb19581abafe87ae3a22767cbb66dfc4bb270e2eba4971a43970ad84bb123c76bba9253dbaaae1dbb8d93a77bb9d0feeba3d5b03bafaf6413abd0405bb7544c9ba110e05bad7aa90ba9c6b33bb2f22ea39b19b05ba280d77bab42a84bb6189113b53a509bb646dbeba6be90dbbae70c23a599968ba695ffbba4c2918bbac370c3b094b003a5e2e133b99790e3ae4aada3bdedf6b3b17b5813b559a903a31862c3ca3c5853b32e6533bf21f173b8ac8463c36bf943b2b60433bfb84533b215f4a3cf547643b5caf483b7f23703b94e1343cd04a8f3bfffb133bdadc753be935213c5aa44a3b137ba43a62186c3b4919093c3ef5663b57c3cc3ab689313bd30ace3b4b71e53ae70e8239ec89c13aa52b823b893f113ca4b1fabc37499fbcda4e25398953243aa5314dbd1d83d0bcb319003aab5d13bc460f57bd9d0ebcbc2cbb5ab93b6b68bc5bb84bbd17d09cbcc60d57387cda81bcfce02dbda03c6bbc3f84e2b8ba5391bc2c271bbda45611bc9dbeec3aa0f88dbc696bf5bc109e14bb397ad53a383e74bc21c4b1bc0035183b9bd2793bb3b614bc72ca45bc82867f3b60b74f3b129fd63a7566f4bcb465343f1973d23e0cbc383bee0300bdad33293fa54cc03e76e32b3b54e786bc5f7b133f3334a33e7923333b8813b2bbdb2cf83ef521843e43be2b3b7ab5693ba1dbc53e92c1473e9397183bed631c3c999f973e5cbb063e6e082a3befad6d3cce904f3e7a138c3d5892c13a62437c3c98b8e13d24ac1d3c83ad5b38cea75c3cf0908d3c5cfc02bd2bd6cbbc83eaab3a0000000000000000176110bd7599c43a000000000000000062ee0bbd52cb38b9000000000000000062d10dbdbc65f1ba0000000000000000257809bd04e547bb0000000000000000ecc411bd4f731bbb0000000000000000812a0ebdc3b692ba0000000000000000022b02bd5d509339000000000000000011fdacbc90cb833a0000000000000000b40b8b39fa035c3b21f70bbbe93e07bc5e2dd3b92b38273bb6e676bba7cafdbbf92545b90782b13a374980bbf87da3bb6d0482b9cc9d443a94d08abb01f571bb558fa439f690b83940bc59bb14a515bbe17edfb7a9dabeb9ea3763bb1a0664baec001b384e5e4dba0dbd44bb4e098538642515ba32b5cdbab15949bb4574123a84cb30ba61c8d2ba0aba2cbb0fb4a4394f4850bad1302a3b5f96953a64bcb03b36fdd83acc747e3b7281e13ae54b163c6dba1d3bfae2453b9eef223b3eb5323c40f6523bdfdd413b40fb633b91d3513cbcc6f23ab50ec73a35f4573bd46c283cf2656d3bb2cf253b119a813b9b3d423cbd6c553bb3a2e83ad476583bfe641f3ccd6e973b4e55cf3a2a611e3b1ce9073ce4dc0f3b193e943a59fbd73a1d6cc13b2df8703c92cdd2bc49efcebc34eef737b95e1b3cae4131bdd31203bd1b885f39d50e4b3a7ff436bd5c5de0bcb09f38ba7de3a6bb4f1845bd3ac8cebc59ede7b9282ec8bb619008bd080e80bcbf3fecb9ec9236bc8fd31fbd851964bc5438cf3a54e337bc2002f4bcbda7dfbb1999283b9dd63dbccef6c8bce746aab8bd11853b7916e3bbd0de67bc774f993a5f95863bbae6d63a34a8e1bcc7e90e3fe08f0e3f835e1e3b7a45e5bce48e053f198a023f04d9fe3acbbc77bcfc21e83ed809dd3eb70f183bc619e7bbc48dc83ed6d9b63ee44d053bd448bf3a2b399b3ed5e1893e880e2a3bda08ca3b182a7d3e5cea453e07830d3b95ef123c62e32d3e7fa7e83d929b013b1d10353cd013cc3d4512153d1387893a80081a3c26ebbb3c8f67c8bc95a8e8bcce4c433a00000000000000006be01abd87d0653a0000000000000000287c0cbd1891ffb9000000000000000020981cbdcb201bbb000000000000000048a0f3bce22230bb0000000000000000519327bd895632bb00000000000000006f1b1cbdd12ae9ba0000000000000000624423bda64449380000000000000000bbf2e2bc7b20bd3a0000000000000000b3cf5ab89353a33b5b851abbd4ef0ebc8abaaa3870cc603bdf56adbb2a731cbca7ae97397493613bcc718cbb6811e8bba36982b9beb7a53a1a1182bbf6d47abb48c1a339bdf95c3a46a372bb91f432bb35ea19b820e7c139b9e266bb6aa491ba5c657f382f7718ba4e805dbbc29ef039832427ba5843b5ba82f751bb4a7bc03a8104dfb9f58d9cba8cd531bb4929473a76a4f7ba34fc283ba708a93af1cb543ba35dca3ac3b0b53b7778023bf552eb3b1ab8bc3ac81d8d3ba9f5423beb46333c3d3d3d3b7873823b523e483bf211413c57da233be69a363b928b573b916f6b3cb27d633b4a32423b6ada5c3b41fd513c99f37b3bb85f153b46b8373b8874403c4b62763b9278133bbd5df13aabaf273ccb1d163bb513bf3aabdece3ab3dae33bb9e68f3cd114b8bcd818f1bc87bf35b9dc8f813c17a823bd1b3720bdf837a63a65d80c3c81963abd304621bd708106ba07c5da3a1b5342bde14bffbc47e501ba0be230bbde222ebdc070c3bc92b7c5b76db2cdbbcfc324bde49496bca0bfe43a296907bc18bc0bbd142d34bcf7fd653bfb4713bc3710ddbcc3b38fbbde02ba3b7b6cbabbb68f7bbca29913ba7f23903b3daad53aad20cabca64ad33eabad343fc12b273bdc07d0bc45fbc63e7b77263f7dafb73a55067fbc48a1b13e7ee00e3f5a1a093b9140fcbbe02e993e9116ea3e69f8dd3affbe99ba57c37b3e16bcb43e52c6183bded93e3b6590493e444f823e0bf5233b0228bb3bade7123ed7361f3e6f83093b52b3dd3b559bb63d9a8a763de77feb3a864fcb3b646fda3cd40c99bc7d58f3bc0d86273a00000000000000004aad30bdf146efb900000000000000000fb02abde3aef7ba000000000000000068c527bdd43329bb0000000000000000571827bdfaa25ebb00000000000000008b5a3cbd45394bbb0000000000000000df7145bddd6cfaba0000000000000000857947bd8bf2593a000000000000000077ac0abd049aea3a0000000000000000604503ba1cb25b3b2db806bbe029fabb36fa29ba321c323b84b482bbf33bf8bbf27904ba2985e33a68f262bb505292bb5d0eb2b9a733d43afe067ebb8bb382bb8e10c139ec4d833a348f69bb28b035bb21857ebad7e09fb940de8dbbb43b23b90287fbb98787b8b92f9d52bb7bb6d8395437ddb9fec385bac62141bbe21f0d3be26815ba6ddeb1ba70f72ebbe3c8c03adc72a3ba12a95c3b3084903a05c1d43acc1e913a7d0cb33bc8c2da3a5deeca3b0b5b213bb38a3c3be0390d3be8b2fa3b00a7153b06d6863beb84323bd6fe323c27c2f93a3fd23e3bffbe433bacc3373c9002933b5c22563b78b67d3b50234c3c07554e3b829b633be7b1b73a86f72c3cf267823bcf24163b1a94c33a1064363caf962a3bd673dc3af16e613af224f93bf8e1a23c2d58a5bca98511bd53a9b739ef6d9d3cc3f922bdae933ebd742fcc39eac7343ca66b2cbdd5b91abd2428a9b90f06ef3b59bd40bd758b17bd209aaeba87ec143be20a1dbd0c2bd4bc9f1346ba1e6134bb674426bd863fb0bc48c04a3a757b9cbb378204bdd77a59bc03c9373ba960e2bb4b70e3bcfb29d0bb7e96c43ba29ca6bb499b80bc6ea0a3bad8bbb23b5baecb3a7bc6a5bc8ff8893e74a85a3ffbc0143b2285a9bc19df823e20824a3fc1d6c63a55c03dbc9ae86c3eb845293f38e4973a0749dcbbafb4533eb4430e3fea819f3a89bea8ba45b62d3e78e9d93eb8972c3b186a093b5033143e827da03e5a58583b352e113bc2c6d73d0650493efb861f3b7659463be618993d72bca93d6ec3123b6c04233b977ceb3ca95481bc06ad04bdee57653a0000000000000000e9912dbdafcba9380000000000000000291811bd7360afba0000000000000000a6d524bd670d7cbb0000000000000000967717bd54988dbb0000000000000000b83f43bd0c8b58bb00000000000000006d363fbd3ba2a0ba00000000000000001ba461bdfdb9d439000000000000000034ef24bdf11f0c3b000000000000000063fc18ba1660463b2c2a20bb9a37dfbb96a895ba736efd3a46288cbb2a46b4bbfeaa57ba4e9ecb3a95da8dbbff2a92bb2b37acb730c4d13ada8e88bb3c9b5bbb74042c390b656f3a831e72bb5ee711bb505d8eb94aa9363a3f1a37bb3b29cc383112adba0b7ac83891f449bbdeacd23a33e772baeaaf93baa9efdeba3f7a543b326284b8da8e58ba7c97eebab068f43a9dd9baba7b328a3bdd6d4b3a6f0f84b9a1052c3b1cf1dc3b60f6a43afca5fb3aa91c213b2c44a83bd823f13a6be0cf3bff7f303b4651923bfc31173be9281c3c566b193bffb6803bc20a1b3b9ba6303cbfc8a33b9f4818bab6dde53a4dcb493c6f45833b3cde753bd7bbfc3a605a4c3cb42a873b56ea593b6909a1b8e2db223c0c2e313b1484073b4350163ac1eb053cdd93ab3c80efabbce20428bd401526ba36bfa33c3efa2bbda30151bdf7ba24b963a57a3cb49d41bdd0d13cbda8091dbb80e8283ca2b040bdb7c122bd683f17bbb5eca43b84c029bd4d56f6bce2f1dfba1e3e803a28d527bd53a6c6bc91730b3bd3cd32bb09d610bdbf8c81bc7500213bf32cc0bb2f19e3bcfc83eebbe29bce3b123e8abb169386bc568d10bbc4cbbe3be8f8063a4c8874bc90a6023eccd0803f174ff83af3d15abc552b013e01256c3fa1fd4b3a285b00bc7ee1fb3db812493f8d2acc39c52671bb1477eb3d2246253f26381c3ac9332aba7156cf3d6e98003f14d4a13ae32b233a3e81ba3de6a8bc3e6820d53ac4571c3a38c8983d56616f3e01990b3b9c381abaabea663d78ddd03dccbe163bbcfdce39dc2afa3cd4ee72bc2d41e4bc0abaf6b80000000000000000dec00ebdeb0095ba00000000000000008651fbbc6d2b62bb00000000000000001de104bd24e1b8bb000000000000000088cb0cbdfac4c9bb0000000000000000c59f33bd4c80c1bb0000000000000000fe254fbdf9c795bb0000000000000000fc186bbdfa9594ba0000000000000000d4743fbd1ea31a3a00000000000000000000000000000000000000000000000021d98fba396dee3a1dad4cbb09d293bb1fb907390f76223a588dadbb966631bb794f87ba5500353bdaa94bbbcc096cbb92a56039cd5c823ae1271dbb18a5fdba95b427384e4c263aa99625bb15ae40baab5c1b3ad730a93aa6ca12bbeaabe539dc1519395e6f02ba32a8bfbaefc5173b00000000000000000000000000000000000000000000000000000000000000009bb4183a10b67a3b0d0d603a6b7de23a00bfe23a36dd973b2fa6ee3a3f6cb53b94a1e839a96b783b64c60c3a1aedcb3bc9abab3a9dea013b50ed023b88a40a3ceeec0c3bb613623bdff0a43a9e631a3c304e1a3b00122c3be68ad43a10f2263c4cd7303bd29c163b055f243a69ce113c0000000000000000000000000000000000000000000000000000000000000000dd518e3c5c9f07bd2e562ebd185362bba61c633cfd8313bde4241bbdf2cf79bbf5f3113c93580fbd3cbf00bd79c49bbbdd28c13bb03c02bdf452cbbc100957bbe127083b42e0f9bce39da2bc959082ba60c10fb9e43fe3bcb5bf67bc0cb4973ae20853bb92e5b8bc44f2eabb5ca8763b000000000000000000000000000000000000000000000000000000000000803f53a9d0b945a6bcbb5a3a9e3bb2f0803f617299b88b6f82bb1c3a813c14575a3f68bfcfba17d9bbbaa2dcae3ca1f2333fbbb35f37b693513a8186d83cff230d3f9e0ab937547bc83a92b3f83c2359d03e61a5e0b99335e43a6232063dc908863e0a52083b7590fb378453053d3f99f63d0000000000000000000000000000000000000000000000000000000000000000dbca6fbcf23d41bb000000000000000033c062bc1f8b9dbb0000000000000000c0ea67bc49329abb00000000000000004c6ca2bcf553d9bb000000000000000059a7e1bc0b42e8bb00000000000000005b3912bd8f49d5bb0000000000000000cedb37bd7bc994bb00000000000000000000000000000000000000000000000000000000000000000000000000000000296b4abac5f5c1381daad9ba6cf7e1bafa7d4f3a91b51ab91b52d5bafb96daba7ca5633ab79be7b9b00ed7baa4c9c1ba575bcd39746c92ba76001bbba40fc7b992b1383a303792b9ab8dc5ba30448fba22098939aaec7dbaacf3bebaf09f5dba45586239d18149bad4aa8ebab281ecb90000000000000000000000000000000000000000000000000000000000000000064752ba969b81ba1b27fb3ae19a7c3b866481ba61548eba1974ee3a702d4a3b5a5d26bad45282ba1b040e3bab59343b791c003bf1dcc7b935ac073b7890f83ab18f8bb9bd785cbad16d1a3b95c6f13a745960b9edb130b995c7053be409483b08caec38356d14ba1dfd213b2675833a00000000000000000000000000000000000000000000000000000000000000001df36dbaa9d0afbb7f7434bbfb93edba9d21f5babe61abbb2b8a37bb031efdba975519bb07eea0bb58bb1bbbc614d7ba3c1140bb85ab9fbbfe7073bad3b5b73a25322ebbc70169bb5958c3ba19b48fba2cb740bb14e254bb808857ba46f229ba542647bb8b0f38bb783081393cb3cfb70000000000000000000000000000000000000000000000000000803f00000000baf0debad16f333b12b1633f3391a1b909101839437d5b3b2a0c433f522a3b3a2f99a7398444893b2588223f217d99b90db5663a7df7933ba5d1013f6b0001bb0c0e893a9ebbad3b56eac23e776f27bb9aa08c3ac46aac3bfabd823e13c891bbc387bd3a4ef9c13bbd2f023e8c1ec1bb000000000000000000000000000000000000000000000000000000000000000024aaedbaa672f3ba00000000000000006f531dbb73530abb0000000000000000ecc32bbb8e1704bb00000000000000005b8869bbdcb348bb000000000000000082cb4fbbd5d906bb000000000000000057e056bb8d8f07bb0000000000000000392956bb1ccde7ba000000000000000000000000000000000000000000000000feafbb3ac3e8563a9d8f88ba0206f2ba926d443bbf4f513882720bbbd68333bb28589f3a3e2b8ab700cb09bb20391ebb2069993a4b6cb8b907741dbbfae11cbb7b61843a9470a5b9183401bb530afbba21549f3ae57908baa9890fbbdfc4ffba1c63a33af99641ba8c60d5ba7ff79eba3c9cfd3ae418a2ba9cbbf5bae5502abad382b238e9c56eba1b7894ba05a107ba37bbc9b9589bcfbae90ac63a0f60833b6afd86ba96630bba4faaa83a5445863b31e0abba48f061baa3a90c3b1eff893b272d97ba016887bad757343b320e883b519483ba6fe22dba3217293ba805553bbe7187ba416cd4b90987453b292a3e3b9bcc96b90bf5b7b9fa024a3b90eb233bc53db5b9aa9dcd3925f8f63add6e8c3ad0fe4139b0d686381247cc3abbe13d3aa5ab2eba73fa90bb203e24bb08c54fbb0016d8b9c7c5e6bb890983bbfb9314bbdbde95ba2a57d4bbed7870bb3c5915bbacecf8ba3f92d5bbd09a66bb24840bbbec2207bbb6a3aebbac9f2fbbae19d4ba96482dbb1f14afbb8eaf1dbbbd2ccbba24e823bbd4f681bb422491ba74f53abac26561bbd8b477bb961a61b9d1cb04ba4f8811bb5c8f17bb3bc8553995f901b8be043fb6c0bf183ab699633fd31d013eebb987ba85c29d3a365b483f4585e53d77aff0b82ba74c3b90dd2b3febb9c33d3ef5ad3908e39a3b5a850f3f583da13d2131083a11a9a03b3924e53ec7e57b3d929da73aa015cf3b8889ac3eb6b5343d0fd3edb931a1d93b1d37663edb09dc3c2d9a223ae819c93bb44fe73d5d770f3c55f6983ae6bda53bdb1cf43a0385b6bb2cc855bbccbe98ba0000000000000000552f45bb002029bb0000000000000000600a4cbbfa3f2bbb000000000000000021e67abbf8df37bb00000000000000002c3377bb3d5b44bb0000000000000000f1d992bbb8b73bbb000000000000000034cd8ebb6a371bbb0000000000000000316a92bb70c20ebb0000000000000000df4f40bbacb1bfba0000000000000000774a803a95672c3a8879c2ba01e53abbfa31f53a9bcf763a00760dbbdc2579bba86ca93a7f02c539d01b01bb9ad137bbb0c8d33aeb0a42b8f6f02fbba6a856bbc1198f3ad2d68eb66fa5eabaef2b0fbb2680973a5fee023a86ac16bb81c413bb87656c3a1a543bba419508bb2cf9ceba8a63503af55572baf52e13bbccf5b8ba05f50e395c736cbaec6bc7baee8355ba1e94ecba1ec3ec389a35823aa922623bf20815bbe0febcbaf0b1223bd434b13b849befbad61d8bbab78afa3a9a178c3b23534bb8451a36b803182a3b21ee9c3b5096b7bacdb77bba823d2a3b018f793be44da9ba2ca248bad2df483bbbe4853bdc4f40ba2b77f4b898e72a3be80f313b301bf6b9fd4879b9f4b5343b07b81e3b35339938676c613857d1df3aa8e89a3af747fe3a3b7090bbecca6ebb05ab16bbb6a2f03a5c0cd8bb33b4a8bbea6254bbae7896396747bcbb22f285bb905127bbcf8355bacb9ce9bbbb8e98bbffa743bbf89f66ba0356a6bb2a2a4fbb3e1708bb43a0f0ba5587bdbb16fa53bba95a01bb0e61feba0af58abb8a01f5ba82ce7cba7b1f1bbb87528ebb70ccabbad9cf44baa3fbecba6c0831bb204906baac08d1b87f4728ba68d54fbad019433f0517823ec23ae8bac88a983ae86e2c3f669d653ef14f8bb9ac26033bb473133fc65d433e3675a2b9cb076e3bde6df73e714e223eac9ff139f9528a3b4a3ec53e0864003eced23c3ae748c63b9d78953e7dffbc3d40ff463adba9b13ba702473eeed7733dafcc903ae0d7d23bf741cc3dc222d63cab9b713a58bf973bd7e9423b9d0393bb265207bb8dac03bb00000000000000003f6d54bb96e53bbb00000000000000006b3a50bbb52028bb00000000000000008ac699bb866e59bb0000000000000000bc617ebb602d30bb00000000000000000cdea2bb971b4fbb0000000000000000aa7390bbe8b722bb00000000000000008beaa3bbba0c1fbb0000000000000000b4705bbb4050c2ba0000000000000000180e983a191a933a0fbf85baaa513bbb64f2c23ae5779f3a00f9febaa35782bbec11db3a41f65a3a665c03bbd24263bb217ce53a15b43c3a359a17bbf33b58bbc6a4cd3a2ce8e239bbd00bbb77d939bb3644cb3afd1f25b9269227bb185138bb1736ab3aa5c29cb9af6f14bb84e20fbb6185793a09d93bba7c6616bb367ee6ba1de91a3bda2343ba380de3bad7f4e5baa5e1fbba3b97d1b9c78a803a74d35a3b33642ebb56e580ba1783d93a79cba43b571919bbbba9c4ba7a20073b0d73a53b3a881bbb705bd0b92e06193b2291ae3b60bc03bb3e8b86ba9abd323ba8c5983b0e38f4ba1ee78bbafd79543ba828943b32d3c1ba3aa302ba5a6e4b3ba668753b4c3b21ba803f16ba67e1323b2a58483be14b7bbaaaf32c3a066b703b7500e53a41e7423bd5ca5cbb643683bb290a0fbb096c4b3b4357b9bbdd10bdbb3dcf54bbb673de3ad04bbabbc5dfa6bbd2a23bbb8bacec39bcc4d7bb5b04a8bb6bc750bbaf7d3d39ec5eb0bbff8489bba12326bb88964aba453dbabb66cf76bbcb2010bb83e3b2ba85f39abbf13433bb00c4cbba4712dcbaf6e493bb0d1af5baff1355baf913bbba39ce3fbba9e8d9ba4aea88ba4d0e43ba469d8cbac292223f92f1c23ebd845aba159fd2b8e6c70f3fbcecab3e4f122eba6a9bc63af925f73efc0a933e9dead5b9ccef4e3b582ccf3e06a3743e55e467383740743ba4caa53ee068423e0eb9f9398668a43be41e7b3ead48103eb431103aa567b13b77bd283e55cabc3dd84b7b3ae2d3c03bf9a9ae3db7e1303d2b4d043ad5b5c43bff84803b2a6461bbc56b07bb3863eeba0000000000000000ba5365bbbcac3cbb00000000000000001c7764bb07cb36bb0000000000000000209292bb8afa54bb00000000000000006ba78bbb93bc3cbb0000000000000000ec07adbb71f64ebb0000000000000000707ca7bbcaa931bb00000000000000009d9ab7bb98a120bb000000000000000062397bbb2a2012bb0000000000000000b4b6953a4f61c53adfb56eba6c0841bb0caee83a0e64e73a7c64b3bac70474bb8f24a63afd23593ad67feeba234069bb5428a43a41811c3ac9c7a8bae9542bbbcbec8f3a35224239061d07bb0b95c7ba83e91b3a4921e0b970211cbb4cafc7bab98d333b455b4aba129f92babc99ddba3d03843a29d7e1b96f6e23bbb7070fbbee5a3b3aac5fb8b95cf7e2ba6a88adbaaa0c1cbbf83589bad22c6c3a610d523b667c43bbdce3cebad429be3a703a993be6b02ebbb87b193a2742953a722d8a3bb7e52dbb07c2c6ba0bd02c3b9d61b03b9f7944bb3878fcb8a3b2f63aef22723b353a0ebb6e07b8b94200423b36038d3b370a83ba2c5124bb5cec0e3b97b9613b232699bad3b412ba14ce2c3b64ed733b19840cbac6dc4fba16a0fd3a39821e3b5cb0773b45a925bbd7e290bbd9ab1cbbb155863bd9f18ebbb993bfbb69f353bb60940c3bff29a3bbc0dcb4bb0c0a4fbb019adb3a633bbcbb07a6b6bb993250bb5453093a339192bbfd0a86bb45ef31baf2058b3a8289bbbbd8fe74bbfe9f26bb0b3c85ba6f7462bb9de21abbc85589ba0a4074baea3197bb2e942ebb48e199ba78d864ba350c46bb5aeeb6ba7c64fcb9e55d7fba1badc8baf216023f27ff013f0f7e95badb8e33bafb18e63e5b0de53e0c2cd539ca138c39c498c63ee2aec33e528be3ba29d4123b5faea63e7d6aa33ed850feb929b78a3bc265843ec37e813e5758adb8c9408a3b4d9a4b3ec883413ebfbe88b76b10813b1053083e16a3fe3de5363d3af553a83b13a5903d08fa773d06eb3a3a755b7e3b8a88a53b99ab17bbaa4fffba3729d3ba0000000000000000713b41bb14bf1ebb0000000000000000bd8d63bb43c631bb0000000000000000918a8dbb8d0944bb000000000000000039347ebb696338bb0000000000000000782ce0bb17d406bb000000000000000083ffc5bb3fd8ebba0000000000000000ecccc0bb2d0227bb0000000000000000eeda8bbbaea4bbba0000000000000000917d873ac355c63a586b50ba655a67bb3a8ae33aa338053bd7308bba3bfb7bbb2c4fdf3af390f43a985bfbba92c977bb988ce63a51c1b03acd4df7ba491f6dbb2cc2e93a11db953a5489daba1ae942bb7acff83aaa37433a38e628bb067563bb02e7d73a09449f393a8221bb641a32bb3af2b43a40730838930a1abb846b1dbbb8c4533aa6be3bb9131ad9bac932d1ba0a7b4dbbbda9baba8b721b3ae28b233b9ae459bb1f2df5bab192a13ad1eb8e3b26d360bbf2d6d6ba9656d63a040ba33ba3b13ebb22d8abba5115063b23ebad3bf4621dbb4227d2ba80e3173b7e78a43bea4b35bbb385a4b9f364363b488daf3bd9a5ffbabb3a87badc99323b90fd9a3ba072b4babda826ba915e2e3bd9aa8f3b900e53baf84d21baf4e0eb3a53d7313b7872c33bb19a07bbc10ab1bb5d854abbd6e4a43b844570bbd085dabb2a5161bb538d753bf2438dbb583bd2bba3556ebbf333413bf4f4a7bb7a20c7bba10d5ebb6976fa3a300c98bb337ae1bb8c2b31bb82c89f3ab544abbb2e059fbb6ae648bb0ad3953998359cbbe71c82bb13ea01bb54118bb9ce5699bbe4de56bbea60afbae9bde4b94d3848bb7736feba95032fbabdffa3ba778fdfbae801c33e77eb223ff41db8baa4d08dbacc15ad3eaa4e0f3fa29492ba7cd82b3af353953e786ef53e23bd72ba6fb3d33a4ddc7b3e4699cc3ea67ad7b93db3233bd88d4a3e87dea23e83322eb9145b713b67701b3eff18743e6730e73858fa873b73ced33dfe73213e05eacf39b1369b3b8caf653d0bc89e3df72bd439875c593b7833bc3bc193a9baabe7fcba9af4d8ba00000000000000001a8e2fbb9eb81abb0000000000000000538541bba9ee27bb0000000000000000964181bb309f46bb0000000000000000127088bb6af93cbb000000000000000087cebcbb263d66bb000000000000000023b2c0bb06fa4cbb00000000000000003be1d4bb332534bb00000000000000002d5098bb4ae5eeba0000000000000000d11eb33a226cf93a09af0fba45c43fbbda0ce83ab9881b3b3a6e75ba94b376bbd366d63ac5c6e03a6305a4bae88f44bb64f6e43a8f44143b26ece5ba2fe37abb965cb93ac33b843acce9dbba614446bbf2dae63aa224813ac2b31cbb3b5562bb372de13a9e25143a2f6e01bbe10328bb40c90e3bb420873a5a6758bb363c53bbb2a5733a749ebfb8ae1ce1ba8ed2caba47cd3bbba4c92eb850b6173a5757233b1f9361bba7a30ebb4480883a7a96873b5ada18bb2ff1c8ba0605833a27f97c3b46824ebb3e2608bb1368e13a4352b23b403432bb3f8e41baf6d4f83a50ac963b3ec7ffb9e473aeba680f0f3b6c07a93b5d9defba469604baddbb143b09538d3bdcee00bbbf68c9b9c46c3d3b4c24a93bf7d203ba2d147eb96bf4ee3a1716493bd21e983bbce5afbad3b5a9bb0c8b31bbed6dbc3b79dd4bbbf6d5e9bb6e4e69bb33f47b3b99036bbb87dfb9bbd14130bb9331863b4985e2bb22f5dcbb8c2e77bb7b1e1b3b983587bba6d4a4bbdab143bb4debca3a7fceabbb02d8b5bb5fd13dbb1f91663af15589bbe1b57ebb1de8f7ba9748843a108bb5bba1648dbbe7b8e5ba3afc98b9af1349bb4a8208bbc169d3b9017fa7bad3cfceba0839823ee603433f9008cdbaabda9cba2918683e80f42b3fbcdfc7bacebaa3b8e2fb473e44e4123f028899badb2cae3aaec12a3e3ae8f53ec63a36ba6b3ff43af809093e5a6cc33ea6733fbab7f6373be2bfd93daf9b923e5613eab79488463bf4e4913d5597423ea3115539e6238c3b0f1a293d5ecdc23dfa4f48390cb8483bab65ce3b9f092dba199b93ba2caac6ba000000000000000090280cbbbb0d17bb00000000000000004d8910bbe5aa1dbb0000000000000000ceb367bbed8c3fbb00000000000000000ef469bbc16736bb00000000000000002628b9bb9af277bb0000000000000000b258abbb9b8137bb0000000000000000eb7002bc4fa670bb0000000000000000e2beaabb38a3f4ba00000000000000006602983abbaf043bc0c720b9803636bbe02c933a2032c53a3ac0c9babeb433bb665eb0b80fea0e3b3c362ebb28ea2fbb605df13a7dd5f83a5a2abebaa01c66bb89dbad3a8798953adbc2f7ba18296fbbba41fc3aaa79a83a2416fbba1ac559bb436ed33a5efc4c3a445509bbbdc23cbb9448853a140a5eb9901d85ba202f68bb6eb6db3abac499ba73fe7cba9b8c8dbad9243dbbca5c7fbae4a58e392ec20e3b0e2544bb0c6fe2ba400d093a26de403bb07e12bb825d5fba9923a63ab9f4053b5b2e4ebb54b8fdba8b3bca3a603a983b7ee99bba3967cdb99e44cb3a8f34913b5ccd29bb923b9cbaa284053b1de9a53b9eef0dbbffe12bbad109123b70ac9b3bd82e753a637026ba9be6003bb48c893b3ec418bacd31e4ba238f1e3b23d67c3bae3ea33bfa1387ba838cb3bbfce433bbdaf8ed3b1882c1bab067d5bbe650a7bb74bcaf3bc8429dbbdbf9b6bb6dc253bb1b79883b70f586bbb224d4bb40dd6bbbf6c4353bf43d8bbb0d1bbabb65b266bb724b1a3b675794bb47c9aebb7e763ebbd2a8b33ab2888cbbd34d8ebb232f12bbdcc01f391e84a3bbdf6f31bb606d53baceb19aba0e678dbbe1d1ecba461ca0b9250bb9bae760c9baa01b033e8a77633fc10a01bb24c2daba21a1ea3d54b7483fdec68fba7bc7a538b4d8ce3ddda42b3f76e0a9ba35bc593a7154b13dbc0a0f3f42f04bbadf2fc83ae9ac903ded0de43ec76c1eba37271a3b0430673d4738ab3ef8ab81b998e4313bb321253d8882633ec58517b93653403b18a5c73c2cdfe13d27785e3a57774e3b140bea3b6c181b3a5c9dffb90bbbc6ba0000000000000000d8fb983847a8b0ba00000000000000004f396cba366d77bb00000000000000005eac19bbe5043abb0000000000000000db1cb5baacf647bb000000000000000010ca94bb3b355ebb0000000000000000cc38b1bbd2d24ebb0000000000000000c418f2bb0dfa01bb00000000000000009e06dbbbdb9758bb00000000000000000000000000000000000000000000000069a7b93a3d9e063baefdbfb82b628fbb0ecca53aba52d93a159027ba0d7325bbaec8b93ab02bbe3aac9b8fba62e831bb9ead993a6229953a637e9cba25a913bb5017b23add1b873a3c71b8bafa4b1fbb1204b53ad6c73a3a152dd7ba8aea0fbbd311e03a89906a3a1ae799bae38f57bb0000000000000000000000000000000000000000000000000000000000000000ee6d26bb8cd571bacc05d5395315243b713231bb621166bacf47f339c8f72f3bff1020bbb494aebaf356713acd8a583bf31e01bbb15a4cba067c2b3aaf3c573b2f52f3ba0c8e49ba49cead3a0b3e763be829d7ba32f2e9b91ebfd53a08337c3b87d118bbca5956ba0ed00c3ba646883b000000000000000000000000000000000000000000000000000000000000000057aea43b8e3ecbbabebb02bc8de82ebb262a7e3bbd2321bb7da1aabb889951bb4ebb593b0ec742bbdba2a2bb98ac39bbf9652a3b957834bbd94e85bbf18910bb6ca80b3b098c59bbb21e7fbb40fc12bbd234b93ab5d14fbb02e85dbb5cabd5ba11e9a73a17e797bb484189bb3913a7b9000000000000000000000000000000000000000000000000000000000000803fb41db8ba77a35ebaaded683b13ca633f1ed3b8ba5a2d06baaee68a3bf8f1423f49488aba1a38303ad256bb3b2c70223f80f3cdba8be4c539fa26bd3b5fc6013fdc29d7b9cfedc33aa5eede3bd099c23ed19cb9b97f01003b37c9e83bd58c813ecebf94390a0f2b3bcaf9f83bbef2013e00000000000000000000000000000000000000000000000000000000000000000c6c1b395049b8ba0000000000000000382685b9576ef2ba00000000000000009c6187bab37013bb0000000000000000977bdeba7e7d07bb000000000000000018a03abbbb162abb00000000000000006e697abb9e5933bb0000000000000000815c91bb443b00bb0000000000000000000000000000000000000000000000000000000000000000000000000000000031345a39fea8c53b89b5903ccbcb7f3c1b12013b4c25d43b347a8e3c9519533c6a58bb3aca8a9e3b82db383c0b343d3c5bf4a23a76d2b73b26541e3c90950f3c1dd682385851b73b9f9b013ca01cbc3b27149d3927498d3b600ccd3bae348c3ba6011bbaa1e9493bd0e9803b362657390000000000000000000000000000000000000000000000000000000000000000f8ffa5ba3e950abbf2bbba3a7d05c5bc08d9053b1ebe1fbbd2e2d9baed1be8bc3d5b8e3b429cc0ba0c4d07bbccd8e2bcb5b3693b72a1a3ba51102ebb6effddbc6d132b3b92e949babea8163ab1d7c2bca92caf3af24584baaf5e54b8217688bce7958dbaaccaf23985810a3b9bb908bc000000000000000000000000000000000000000000000000000000000000000023930bbea2a21bbd34f0303c812520bb95c803be85aa1cbda8ebff3b5cb77dbafe53e0bd11bc1bbd4801823b464d3439ec5eb9bdc94202bd01f84d3bf1bd193910a78fbd97bbb0bce715913b575ea239648844bdbfc80fbcbc16d13aba6c2db90111bbbce95a703ba616183b054745ba0000000000000000000000000000000000000000000000000000803f00000000aceb3d3ce29488bdc4c09f3f631a81bdd724283c57fce4bc5156843f3b831dbdfb8de63ba97183bb207c553fec4fd0bca0c5bc3b0744de3bbf4b223f3e5ec5bcd84b313b7ca2183c5911e03e42a5d2bc49d6b73a2968923b3c3c7e3eeeeddcbc134f90b7816b89bb5f99873d069704bd0000000000000000000000000000000000000000000000000000000000000000b94f413b34e7f23a0000000000000000cadfafb95ff73c390000000000000000fed19bbb494579380000000000000000ca366ebbd07431ba000000000000000092b124bbe2ab9aba00000000000000004b46d33a42bc42ba00000000000000007bbada3bcdd00abb0000000000000000000000000000000000000000000000004157aab9fcce173b380a3a3cb932ba3bf3e413ba5927003ceb94c33c7d86693c2214ae39265f063ce15db53cbab8893c455d0a3bd600073caef4993c25c2713c9251fa3ae13ce63b2ffe603c4233333cf840283aa92ec43b8d98443ca251083c8f5832b95714ba3b3ec20f3c1677913b015a0abb1431213b051d8e3b449cb4b65bc19dbab6328db9598bc83acd922abb9204b7ba9dd495babe3eaa3bef58a2bc7da13bbb84856cbb300dcb3b38a2ebbce4260f3b688265bbfd732f3b19f604bd6d2f893b4c1053bb771330baefc708bdb7f9883b135304bb414c8aba3c56ecbcbfaf2e3b12eed6baeb2ed93afc8dcbbc34a58fb98555f23939740d3b24af84bc5d7bdf38990f45b9c5d16f3ba359b9bb9b2e79ba064cad37e0cf543b9dc3ad3a8a348dbd8338eebc0d13a13bfe721ab922e609be4e4c17bde5902a3c51de4b39b7ec0fbef00b54bdff4bc93b99c9a339604100be336753bd137e803bfc7b943a1695c9bd875e2fbd36d3f93af6bf8a3a25f19ebde925f1bc9cdc1a3b4493923a02c853bde86573bc13514d3b93b838bac18496bc6a88dd38fbb227bad39129ba49ce603bdbd6103c3056ef3ad7fedfb96706843cb3280abe4a339f3f3c89933d63f8c03cd8160bbe2d18993fde1f5e3d3c1b683caf29acbddd25843fbdb47b3d21ae2a3c248b4abd97bc553f2fe5623d8eb5d43b5b3bd7bc6ce31f3f15f6283dfef73a3b03ab9abc2d28de3eb0fba93c0aae683b852e93bc845d783e9a76aab92062ae3b8bf1b2bcdfd7883d612a38bc5709003b7e50a3bcc4d565bd97d206bd8316b9bc9e63863b0000000000000000779fa7bc83c8603b0000000000000000cebba5bcc4aa743b000000000000000037b89abcf1800a3b0000000000000000439b86bceaa1073b000000000000000004415dbc4c07543a0000000000000000bbd4ebbbf396063a0000000000000000aecb503ae5fe9a390000000000000000f878543ba1ae81390000000000000000c2025b3905cb30390b9b093cb87aa03b1b594a39bc8ba13b6676823c87bb473cd0c1ca3a0fda9a3b692d6d3c3e0f463c3fb3e0398ddab33b6d2c833c08e55e3c4c5a473a137b993be22b393c68b20d3cfb825e3a4f62a13bd6272c3ce3a9fa3ba907b4b8a954313bf182f23b8d89803bfc0367bab227d33a3ec1473b8dd0c93a1e20d2ba9f5b4bb9f2a2943aa0027aba60e2fc39ea73b5bafccec13b254cb6bcf57a4a3b63f915bb519fdf3b8309fdbcde79b13b8b6232bbc6d9dd3ad0e9e1bcd446b33b6c27b5ba51652f3b028df9bc6a7faf3b0dee46ba4a69a33aa174c7bc8508443bb6e4cfbaedf8f83ae192b2bc52a9273b8f7d07bb56a08c3a912764bca41e333969e4e4b91fd7983bf1a2e6bbc39386b7d3c26fb986ee5a3b2ca9cf39859f10bdeb96e6bceddf9cbbaf10563b7570bfbd81a25fbdd0de3abb430ae63a5689bfbdb8e47ebde6469ebb07ff753bbb76cebd1fe681bd3ab38cbbdf3d633b8e1c9ebd438a4abd44894ebb8c3dfd3a0e4385bd21fc1dbdb8c849bae87d633bc9d427bdd143bcbc80baa93af29c603bf8bd93bc8d17c2bb35fd063bdd01fd39cf6d0f3b3bfc9b3b77a61c3b02691eb9dcf9893ce72508bec133853f6cf5813e3733b83cc65914be5192853fb4f46e3ed2a9623c7dddb0bd03be5d3fcc235c3e1ff73e3c9ac892bda8343f3f41ec2f3eee55083c363b30bddc820e3fa3a4033e3ad5e03b3ee71abd5fd4cc3e10c7a93d18aab13b5d23dfbc26ed733e0da0213dc315ef3be8b500bd1c41b03d4e134fbb3b197a3b9c3ec6bcfb1bc1bc59fef1bc411548bdddf3c83b0000000000000000c48b5ebd52282d3c0000000000000000e23134bd5714a33b0000000000000000faf729bd05f6b53b0000000000000000c64007bda4900f3b0000000000000000b8dbf6bce95c6d3b0000000000000000dae0bdbc239a003b0000000000000000bb255fbc961a6d3b0000000000000000e6cbf2bb1759513b0000000000000000d5dcb8b9bca5193b1cadab3b055c473b7e23e43a34f7133b116d323cfb95303c22322d3a2540a53beceb4f3c63075c3cf4c6423a9540a03bf0184d3cffc4493c72b2553a3726903b62191b3cdc8e203ca2e6b2b8f8fa8d3bb6b1163cfea0013c8c330bba3db74d3be30fe73bb9bbaf3b6d5080ba670ad23af9cb5e3b01d2243bdecff9b936b6193ae2199cb4ab450339828c2c3b6519f0b904308b3b550bcfbc69e7c33bfa9f09bb3172d13b71cdfdbc4742f33bf4b018bbf2fc393b7dd3edbc2e70e13bee7e6aba4ccb103bbd72d7bc916bda3b9bf8b939fdfafd394450bdbcee069c3bdf297dbafe22fc3ae4da98bc44ae513bc6e4d6ba3867433bd06046bca0554dba2ed813bb36147e3b3b4dc3bb674b133a13455aba9d84263b749575ba1a7367bc76d606bdf0e87abcab87a83b54597dbdec9084bde25e6dbce720f03b2d5ba8bdb0a49cbdd1c750bc8e47d83b9e929fbd0a3b93bda0363abc5ac7ab3ba0e389bda8d379bde3f92fbc4567823b0ef15fbdc9fe3ebd2d3697bbe44d993b3c781ebdc6a3f0bc53e7e3b9eebe793bdc198fbcbb5225bcb085733b2452433bb7a40439f761223a64c97d3b1df8243be881393c2c0ce7bd0e14583f2a3fe53e878da03cf77e02be0bb9583fc7c9db3e05fc7b3cfa11c3bde02f403f5fdcbf3e8a40393c3fe390bd49b61e3fb69e9b3e7676233cc7b050bd87ddf83e38be6b3ef516ff3b3d8b2cbdbf70b23e34371d3e409ed63b4e7517bdf06d5a3e7c16a43d0603d73b91800bbd3e22b73de882663c088c263b20cfbcbce65771bbebdcf9bc540093bd6a46f13b0000000000000000ff05aebdc3822f3c00000000000000002bd993bd436a083c000000000000000060a77bbdc759c23b00000000000000000a4c57bd2944933b000000000000000073373cbd9b21903b000000000000000004031dbd1c66a83b0000000000000000c3bae1bc5235e23b00000000000000005d8497bc40042a3b00000000000000006601893a717b1bb932cd973b0b662d3b0c805c3a0640143b40590d3c32fe183c3f26bb39ee2a803b31f11b3cf69f393cbeb6c23afa4f463bd1b9253ceda1413cc4e5843912b7133b2b21ca3ba5bfd03bf97f67391c0f563bab76e63bf931073c73438bb997fb033b95b3a33b68e6a03bb1b73b3916f3773af1ce323b71d52a3b5c8225ba96b471ba4ae7b73acc90e0397dd64f3bf291813af7ee903bd259bbbc6e22063cfeb3c9bace07ba3bc2f1dcbcbdf8183cd22c39ba90ad673b0bd3c6bccd16103cbe4dc6b981c3f93acfe1bcbc86a1a93b4574693a1ed2603abad477bc6cbfdf3b078894baeb25063b244582bcd1493e3b6beda0ba3f37f33aa5411abc8553aa3910d8acba1b20f63a83d997bb82f3333a268c1dbb3e81383b13e1bfb80d152dbbbc8c15bdbf4ccabc8b8ae33b15d128bd870099bde516cebc67eb143c559a63bd419ba9bd3f42babc8977d73b168c7dbdf3a2adbd67599cbceaeffb3b82872bbd6e3c68bd48197ebc5e206b3b749d3ebd661164bdc79628bc595fd03b0213f8bce41505bda9e117bbec1c8f3b70e381bcc8fb5abc98b1743bc2c8283bb7cd0fbab57b9bbaa9e6ab3bf768563b60fa0c3cfc01bfbd127f253fb2e7243f3bcf5f3cf1d4d1bd0d77243f611c203f6095303c48fd97bd44a6113f0db9083fac8e0d3c1ceb7cbde25dfc3e413ee23e66c7bc3b95a909bd3466ba3e91c3a23e1dc5c53bd9ac24bd9d5c943e2817683e0540c33b224207bd594a373e02c0fb3d1a51be3bdb0207bd62daab3de007033d4fba823b798cd1bc07cdd83b223301bde8f6bcbd332f0e3c00000000000000005f48dcbda9f87d3c0000000000000000cad2afbd5b92163c000000000000000024fba0bdd7addb3b0000000000000000151259bd64bf263b0000000000000000ce0473bd37e7ed3b00000000000000009b5241bd3389c33b000000000000000060cf22bd3f24203c00000000000000003ea4eabc8e60ff3b00000000000000005cb4c938c5a6583aca82033ba29f473b393a793addf02e3b24dbd53bf5de333cceffa6393cf8493b04980e3c3480723c1b6feeb9db728f3b52bb083ca6074e3cd6d300ba1bcd753b1501143cfc20153ce2aa33b9028e3f3b34afe83b8eb9133c53cf74ba04921e3b4a6fb33bec59eb3b432367baad38623a98e0753b64f2673b197604b92e162cba5662f2380dd5803ac11ead3b7c9f44ba95cd5f3b10bdabbcdd50353c26aa2bbbd0d6a73ba8b3c5bc4ca24d3cd6dc09bb804e5e3b8264abbc45761e3c709662bae9d5173b6b6197bcfa27053c190be83a067b103b6a5d87bc3225cb3b3af586baa7dd033b5f8549bcb43e373bf357ecbaabd0043b562befbb9c7b3a3a58bb41bb66a92d3b4ded3cbb35835bba066899ba64ba143bb75f953ab16e093babb22abdd470e0bc6c1e0c3c275a01bda244b9bdbedefbbc9899583ca8d747bd22c3d5bda682f1bc37c82e3c866350bd10dfc2bd9d1dcbbcfebe1b3cf49c43bd9d88a3bdc62daabc28c5cf3b363527bd3c357cbd355b36bc4d82c93b941dffbc531028bdd863a1ba3cfda43b899c87bc1cfa8fbc17f1a53beb16623b391ee1ba80421738b947d63b4eec293bda241a3c333c97bd18bae63e908f573f21474b3c5aa4a5bd24eee53e988e543f997a243c38d580bd6835d33efa17383f0cb6133c1bd24dbdb9d7b53ec93e143fc83cc53b113222bd3261953e9e80df3ea6dbd93ba5ca12bd253a613eaef1973e658eed3b50c308bd279b123e4ad5273e517ada3baf2001bd36698e3d44283c3d89887c3b3168babc133e1a3cb2670ebd92cde7bd14ad493c00000000000000008b520abea9478e3c00000000000000008c61e3bd23b5413c00000000000000006958bbbd8d3b123c000000000000000026a89fbd8372f03b0000000000000000e7bd88bda05df73b0000000000000000dc0d74bda6071c3c0000000000000000f6d542bdb579523c00000000000000009d090dbd83aa1a3c0000000000000000c71ca8b9a1d8813a21fefb3afab0ce3b09106fbae8bf633b2b87bd3b599c863c4c2669b756c7263befb8f53b2fff6e3c5b882039a9757e3b70210b3c7e0a803cc1c174382cc04b3b706cc73b5fbb3e3cc8969eba08a2803bde98e83bfee51a3c44d3cd388117f93a0670ac3be629f03bec4ac2bab70ade38604e553b9451853b37cb84ba3d439e38c9a2a83a0b45d93a7910de3b6a5a1ebbf025a63ba05484bc3e58583c6c5fd0bba116a73b656c8abc3c72443c987bf3baba2a3c3bc25f71bc18d83b3c58e183ba2866ce3a9a8c70bc9a2a083c02de04bafce6e83afab92ebcd7b4f73bbe01debaa7c3873aa87b14bc842f3c3bdac8afbae789c63a60129abb5696e0394a9f83bb862f313bca526639d5c1d4bac2d129bba5c77339ded7523b73966c3a703667bd7c73ddbc62c1473ccad3dabc85eceabd76acefbc3e27703cda6c12bd5d3be4bd7c290abd27a33a3c2a0932bd3cbce7bd9dcaf5bcb730223cd0f817bd73e9b0bd9e74bcbc235ad73be0ea12bd0cd090bd194251bc3a6ec73ba820d5bc13c536bd9c0696bb7f91973b366673bc454a8fbcc737d33be69cc03a3dc543bbca64563a59ea213c43c6c33a4fdccb3b1aad4fbd9739833e5107853f7ada193c843056bd40ec813e1e83833f7dacca3bd50f24bdc2227f3ef63f593f1d4bbf3bf6ee0cbd185d653ec68c363fb903ac3b0749d9bc22e13e3e080e063f87bfb93b64d9e0bc5fbb163ee775b93e45b4503bf12bc3bcdf87cb3da7d0513e2908cd3b163bd8bc2ac13f3d48505a3d7ac9a23be9d29fbcd7b0c23b66b641bdb23307be6270813c0000000000000000d3e51dbe5a15b53c000000000000000078c3d6bd8c4d2d3c0000000000000000ffcbc6bdfa0b213c00000000000000005c0697bd31fdd13b000000000000000013b790bd30d01d3c000000000000000063a268bd674b093c0000000000000000f57e41bdbf9a743c0000000000000000385f09bdd4fa423c0000000000000000597115bac1b8bc3a11b7913ab52e383c28aa26bba23eaa3b976fc73bd3b4c33c6d5da7ba6801893b834d1d3c1914b73c5aa58cb91ec3633bfd27043ce709943c301934baa7515e3bc279013c8328693c0da95ab86dbb733b4faaf43b9b204d3c36039cbafebacc3a8d7ac03b84a81b3ccae238ba66c7433a379b903bcbd68e3b74b010ba5d8e55ba5867213a7db9983a3abe093c0a53c2bb0cd9383b92dd18bc0b9e783cc0c92fbcb246583bf0a9f0bb7d60863c9842adbb6dba133beff11fbc75da5e3cfe0fe7ba3e65b23a4e9b03bcaa4c293c3058dbb830af8c38d885e5bb330beb3be51ba3ba6915083927fe8bbb40e82f3b74810ebb02b26e3af7c78eba4156a4ba47fd25bba6b95436162b013b675e14bb4afaf8bae9f1fe3997057b3b544594bb5878a8bd7b57cdbc53e5463caec9cebcea6315be8662c0bc2d648f3c12cb16bdf3e718be62bf06bde027493c8cd41cbd422605be868107bdb621193c2a1711bd5251d3bd505ee2bc1485d73bf91e09bdc4b2a5bdd7ab87bcacd8b23baca1c9bc4b4e53bdab4047bbaad8563bafc55dbca47d94bc81caf53b178903bb8c372cbb51f5913b09e0363c99cc59ba15bd9b3b64a0c6bc4e10943d35349f3f72498e3b2d17a1bc30db933d402e983fc2095e3b93b386bcf8f9c43da852823f48593f3b3efc7fbc5400cc3d9306513f6479513b99f160bc0acac23d533d1b3f94ed473b0a9882bc1c959d3d4099d33eef3d803b3d8689bc39a7533d0061643ed76ca83b81a46bbcdb22af3cbd614a3d9ae8823b6bb45cbc253dc5ba65638bbd4b880abe5368933c00000000000000009d7b16bed1cfb43c0000000000000000a3f1d9bd2c803e3c00000000000000009f36a4bdfaa9ec3b0000000000000000911582bdd41b9f3b0000000000000000719b69bd3be1cd3b00000000000000001cd846bd5e330e3c0000000000000000266c05bdff10643c0000000000000000391208bdfebf4b3c000000000000000000000000000000000000000000000000dc24a5ba6af36f3b920e883be8699c3c24c838b9fa94823bb6d27c3b615a873cb6bbf7ba0b1d523b9267dd3b4b48413cb4dded38079e4a3b579a973bbdf5293cf8d4dabaf0593a3b0aa17d3b6019103c9d322ebaeba7c93a3b2b9f3bc65dee3b8fab89ba980a283968883e3b1919943b000000000000000000000000000000000000000000000000000000000000000040db593cbc9caabb11b1c239979309bb80f6583c4bcaacbaf9b656ba71e539bb6a69353c151ea039d18bf3b896bd4bbb9589df3bd069b03abed242baa74936bbc4f2c33b19a6d039e1849cb992068cba81603e3b1c3c5eba114f1cb939f0703a6e0b28384cb98eba7eb18537be638b3b00000000000000000000000000000000000000000000000000000000000000002ea2bfbc2f4d0bbef0d2f4bcad45fe3b2968e3bcebba03be2f8803bd51ec993b2599fdbcb001dfbd5bb30bbde1c54b3b9030dfbc9abbb7bd1bbedfbca7f1113b0c33cbbc61ee8dbd052c91bc6070b43a08449dbc2fc844bd8fa7cabbe675ccb8af3739bce1d0adbc7c63853b33f384ba000000000000000000000000000000000000000000000000000000000000803f4fd8a13a226e6b3bb1a14ebd54989f3f645bdd3a9d0f5a3b36b26abc0338843fe542df3a498a193b7201eb3b2935553fef6ffc3a9e5c4c39a44f8b3c79bc213f4bc21e3b96370fbb30fc8f3c6d14df3e37aa1d3b269a91bbfb53303c762d7c3e93c88a3acdaec1bb5caa283a0cba833d0000000000000000000000000000000000000000000000000000000000000000ef3da1bdd3552f3c0000000000000000fe074ebd4c33d63b00000000000000009a2f0cbd15cde43a0000000000000000177fecbc6cbf7e390000000000000000a7aae1bc5214a3370000000000000000deb9d1bc28d5233b00000000000000009cfbe5bc54c7af3b000000000000000000000000000000000000000000000000000000000000000000000000000000004ed095b860950d3b7e9a833c539c763ccaf6e13a45b2983a0fc9893c04c3843cfe203f3ad1d8b73a009d3b3cf990543c9dae0f3ac7b7d83a3a541e3ce156423cf4fece3af6ca203b64fc263c3ab1173c9765e439271d793b61b8143c049f613b2124233aa06e903b0bb5bc3bc6de89b900000000000000000000000000000000000000000000000000000000000000004c079eba74e8f9ba9e34d9bac548a6bc2915bc39c5cb3abb631e41bb8c85cabc04c1613ba4e56abb61600bbb0b33c4bc1bc75b3b3a545ebb3641fabaa2d0cabc5af612baa33403bb7bff0dbb0f2ac5bc958e04bb6492cdb96acefab9ba10acbc666a74bb22eff13a9656a1397caa7cbc00000000000000000000000000000000000000000000000000000000000000002182eabd405f38bd8112453caf2c66bb2fbee8bdab1229bd11051f3cb4a3c6baf6f5cdbd852f1cbd2d4d013cf0445fbac157b3bd56bae4bcc261da3b28ef5d3a64ed93bdb3a589bcb0d2043cc6157a39db6c4cbd115377bb4ac7c63bc3d6f139a412d6bc2b170b3c9abdd73b4b471cbb0000000000000000000000000000000000000000000000000000803f00000000f8e6203c393425bd4e05993fb7fb63bd59fefb3ba9bf6abb2d3f7f3f5a9937bdf896723bfe83963c4d09503f9b1028bdede0513b21d4023d20671f3fe9c52fbd89a53e39c449083d921be23e873844bdfbb923bb8ce8ce3c74f4853e68dc4bbde17b88bbc226333c4d94b03d86195dbd0000000000000000000000000000000000000000000000000000000000000000cd0f3e3adb19863b0000000000000000197327bb0d0a7e3b00000000000000005d6aecbb5d59743b00000000000000008fa916bce2eb0f3b0000000000000000eb1ac0bb54ce10ba0000000000000000a717303aa8c6b4ba00000000000000002ecffa3b957179bb0000000000000000000000000000000000000000000000008dc0853abde4193ac4060f3ce3c8c23b25ad603ba959453bff07b03cef19833c1e0ba33aca31903b697aac3cb43a943c7d868d3a21cc6b3b8eccae3ce0bc8b3c366fdf390d818b3bf3727d3c18454c3c15a91438e5fcb13bf1db603ce535143c1e9a563ac352b83bd72c2e3c1da5933bda06063978e5773bb1cce43b673e44bb8990fbb9d6f30a3bd5ee933aeaf611bb670bc43972f9a0bad1a00abb784683bc268963bb634523bb6ccc94baab59f3bca9831e3a46e78dbb53c131bb23ffecbc9078193b85a9a5bb009499bb8ea3f1bc2b41353b3c2d65bbc29f58bbd538d4bc71843838d1f0f3ba1bd10fbb9f0acbbca5e38cbaeaeaacba84af42baf675afbcd0d29eba111c5b3a7259053b6ca743bc190ff7ba61d5923a2f59f43a26e175bb3a1e49bda9c93abd50a3b23bed84c0b9563bdbbdc5b152bd2255493c2c4046bb6bd8f8bde12e70bdff1c273ce95996baf222ebbdcad463bd6752033cbaebef39e102bfbd0ef22dbd00c1ef3b9ed6033aeeb7a1bd360edebc1cc81a3cb41eceb91ba761bd59ef28bcf719053ce05aa3ba9558b9bcf89fa53b6396633b408df3ba0c829bbac3753e3cc848893b103f25bb55566c3c42b8e0bd57ad983f4c67bc3dc5d5a83c5a70d1bd5fc0923f8cde833d1ddd403ce96050bdd6687d3f25a1643db23ad73b5e4c8dbccef34e3f6736193deae8bb3a8cee743bdd0b1e3fbf46883c2b86c4ba7e6a0d3c006be23e456718bcbbcb75bba53cdd3ba4e3863e8a19f8bc484e5cbb640b02bc4e11c03d5ae625bd9ee5b9bbce870cbce81e0abda80a59bdeb15babce756d43b0000000000000000851fa9bcf80c033c00000000000000005de2afbcf83df23b000000000000000055dfb2bc33c3eb3b00000000000000005a06a4bc46c8853b0000000000000000b9c986bc4c1e6a3b00000000000000006609fdbb6677d03a000000000000000067b7403b7915c0b9000000000000000077dac73b8c0832390000000000000000d9e7b33ad1b54738912bb73ba7c08d3b5a4b813a1b37283a30f4613cf1fc673c0dc088b940a6aa3a5309393ce151563cf37f2e3a1882283b53b4693cee2f813c362419ba3e34d53ac03d2a3c277e373c1baa883ad181813bd9242c3c9dc91f3ca07c0dbae8e7433b86f7dd3ba10db93b91c482395f39d83ad47ec63b84320b3bc5cb21bae925573bba4d56ba623404bb6f4c2d3b24c190ba90860cbb27b388bc0c806e3bab9aa9bba49c17397428cfbcf668c83bbf9965bb286423bb2cf48cbc4fe9b63b8957a5bbe5ab3dbb4b9fbcbc27b0943b7d2662bb6b33cdba6c0e95bcdb06763b80a188bbae7303bbc90da0bc41178b3acd890cbbf7c978bab59251bc2f8c14bbc93c2dba6033683a8d2024bc597c73ba3af553b9c1c81b3924ebcbba162a85bc39d73abdc25a5dbb12dac63a54828dbd39ad90bd63ec083bb532523b26579abd65a88fbdbe7d8bba0f246d3bc0b9b9bd63228cbd9820503b4c40723bda2f99bd341253bd865a7d3bc9e03c3b70ed89bd54a222bdb5e6e93bd58e2b3b0b0234bdf7cbbfbcce3ff03bee56f13a9833c8bc56485fbbead01a3c3e67bbba3e1f46bb5b1c0f3c660ab23bc83330bad047763ce2b0e8bde859803f1f46883ed736ad3c8ce3f1bda71d803fc26b703e905e1e3c91a179bd0c79553f910c4f3eff50f53b349437bdaf1b3c3f139f183e58a94a3b278b8fbcd5500f3f67b9d03da416f5b9ac8947bc6980d53ed650503d53e10cbbaca9a6bbc6c6843e4a98513c7a12aebab9fd88bcb672ef3d660109bd1ea393bb41b45abc777c00bbc57e4ebd02cc41bd95eb123c0000000000000000fc9468bd6eb75a3c0000000000000000304044bd88f4f23b00000000000000005cb23cbdbde1143c0000000000000000b4fe1ebd9fb6a93b000000000000000093fb0bbd29f4c63b00000000000000002d7fd8bcd024a23b0000000000000000201468bc5061983b00000000000000005d338bbbc84f123b00000000000000005460f4b836e16a3aded2113b579aed3af66d983a6ee2073afb63e23b8607493cc356fb384c7f953addb72a3c52fd843cc8b015b96b5aaa3a6d53333ce759723cd883aaba96f5143b74630b3cd059553cd0b055baa346103b7a950e3ce45b2d3c75da47bae134593ba44bfb3bdfcdf83bb0b68b389cc4533bbdbe5c3b58906d3b039633ba238b423a64d83c3bb28b803970d0c13b3e69d9ba87b281bac3c980bc42ba0c3c9eafb4bb918e5e398433c1bced02113ce319bcbb426ca3ba05c8a9bcbf45043cf5ceacbb254108bba3ad95bccbf5d23b6fac47bbf220a9baa8ee74bc3860933b503f89bb0cece3ba898261bc99c0963a586257bb979afbb9887158bcb3e593baa5cc11bbb8076fba30b9dbbb511864ba774908bbf6f74abae21093ba03d87e3b91844fbdfd1e67bc0f9dc43b5e5822bd3471a4bdc9932bbc3ecb023c5e8685bd153ab2bded74f3bbf9e9e63bcf238fbdd20ea3bd7cd394bb8495e23b669b86bdb5c888bd15c2b8ba854acb3bf52e67bd4f6049bde860693baaa3943b21bd32bdfcdff5bc67a0fb3b5cfa4f3bee75c4bc56f928bc2725233c7de10d3a6664ccbbccdcd738e285193c52daa33ae66e2a3c2f35cebd00fd513f1508e53edda0923c2698e2bdaabf523f0066d53ed3de4b3c6eb39fbd244e3d3f545db33eca8dee3b010255bd5cd21f3f99778c3eb3215b3b77b600bd461d003f974e4a3ebad2d53aa96eb3bc1b22bf3e8794f43decb76db9bec893bc89a77a3e34e2453d775882ba9762a4bc4ddaf83d5e1c56bceb9e04bb067d50bc5c21833cf5cf4dbd004c8bbde9bb0d3c000000000000000010caaebdac9b833c0000000000000000faae99bd82ec553c0000000000000000e8bd87bda9ec263c0000000000000000b38079bdb636023c0000000000000000b39453bd6d6b043c000000000000000076c32bbd7ac6093c00000000000000007125eebccc6c0d3c0000000000000000ebb296bc229bd23b00000000000000005ed474bab9380b3a4b267239bd06e93aa10f88ba8f083d39e1e4503b7d0d2f3c4ab4f0b902b8973afda3953b2e204a3cd505a8ba29316c3a50a6b43b2492833c8da2bdba2de7613a65b72c3b8b3a053c93b047bae933d53a4f31c53b13e13f3c7f8c14ba214d993a02d6c13ba023fb3b1d53f839a704d23af0423d3baef4bd3b94a03ebad621553a44d6733a6e260c3b9e5bfe3b78eddebaa82dbd391b6686bc8dbc413c577aabbb852e993a9f3cacbc5d6d463c9bdca6bbae2b82b90fac78bc331b2d3cae0a86bb8c6cc2ba460c65bc89abf03b7e69c1bab446c3ba07f9dfbbaf7dd63b0a076dbb7c1bccba2b3321bc9881e73a5d8b52bb460cc9b98278f5bb586410b9f6957ebbd788daba112dc0bbd396e0ba4361e3ba7aaea1bad82f3fb9d8606a3c7e7350bd902ad0bc0de7193c304495bc1362adbda41bc8bccdfa493c85302abd5ce9babdcd5d8dbc23f5253c790758bdec21b9bd690077bcee3f273c92661cbd48ca82bdc78c21bc3d72c33bfce646bd35a673bd230a89ba2f7ae63bd3d814bd01420fbdd9e4683bb11fb93bffb0b6bcc10184bc7e5c253c22942d3bf2e2dfbb01de34bb770c283c0f92013bbbd1143c9019b0bd22c2223f4c93213f332d723c9ec4bebd71cd223f857f183f714e103c7c3382bd0889123f987b003fdb0fc43b155a48bdf7db013f1bcecf3e54d81a3bcf6fbebcf3adc53e4530953e202ecc3a88e2d8bcd62da43e2849473e7663623a31f0a5bccd4e5a3e3ff1c53d9387a63ad012adbc7511ef3d6d99273c1b896dba65a679bc7ec6e93ce64b48bdfc2aadbd9a93243c0000000000000000fae4d2bd87f17e3c0000000000000000c0c0b2bdff5f293c00000000000000006eefadbdaa2a323c0000000000000000b0537fbde669813b0000000000000000a6158bbdd6dc153c000000000000000095c55cbdba39113c00000000000000002b5130bd665d403c00000000000000008705ecbc4ead213c0000000000000000fdc5cc39c5d29e3a80c2efba4869ef3ab9c3cf377f56cb397d11683ad94a633c3fde42b9a266ab39d5197e3bf576893cfd59ccbab7c5163b9dccc73b1b55803c19fcf4ba08f9933ad30fb03b4fe84f3c9c38a8ba1bfbfc3a5dd2cb3b0d16573cbdf948ba5c4dd43a4558d03b8e5b283c21b944ba133d863ac32ea93b8834e13b7c9c8eba4645a93ab72bd33a5606023b5492fb3b6aede3ba9122d8b8a73e92bcdb6c583c0472eabb09103d3bc4bbb2bcb6e4683c35a1c4bbc49e92397c8e84bca9fe493c3522c0bb4e691b3987a051bc6f9c2f3c450e81bbdc0082ba013917bcadc0c13b6d1d9bbb3173a9393d031abc7d52363bc96e92bb53d3b1bac8a9cabbe1f8fdba7b5b89bb7f0b50baf3c65abb528e81ba23e642bb4da484ba3380693a472a9e3cc4a355bd35b3f5bc85e02d3cc4583abc9bdcc8bd9adce3bc2a28813cdd8208bd2418dcbd2fa6ddbcd1bf563cdfb331bd475fd2bdd3229abcc983463cc49333bdd54cb1bda1743ebcb6d31c3c402e2fbd1b1e87bdb3c442bbb3d5003c39d115bda71936bd7635a33bbcf6a03b690dc4bc8f139ebc2b904d3c6574293b2f2901bcf43854bb32d41e3ce0ce263bff2b0b3cc8f08cbd9c13e83e30d1503f4c31593cd63f9bbd53ddea3e7cbf493fe302153c55496dbd0103dd3e71692c3f9249fb3b34a138bdcc90c43e14e5093f100a803bbccb07bd30bca63e52b8cd3ec4eb293b7b53ebbcf9a6833ef1cc883e9401353bd452e1bc851f3a3eba2c113e95516c3bab84e0bcdd3ed43d9e55ee3c6617e53a30ea9cbca093003d1bb542bddf17ccbd94fc413c0000000000000000047f02be5f30a33c000000000000000039c0e1bd02c4763c0000000000000000c264c8bd2ccb4a3c00000000000000003778b5bdebc8243c000000000000000044489fbde831393c0000000000000000530c8cbd80c8613c00000000000000009cbb5dbd454d773c0000000000000000638611bd43f2513c0000000000000000f49d17baaf4758b982ee1a3bb003a83bc5fa6bb8d4929e3a75e04b3abcdd8e3cb9354cba5172e739fa10c13ab4b7693cae82b4ba66c2cb39d4d6903bd2a79a3ce2e264bae470aa399c7a8d3be253593cbf538eba8926063bb57bae3b3f80703cce8499bae7ac4d3a75b8853b64e0213c003b3cb97d71e33ac0e28a3b5321e23b059504baa52bfe396727af3a465e543b0476023ce6bfacbb8566543ba9ea88bc0742853cd0c125bcef24863bc2b9a0bc61984a3c323797bb79f5023bc0d23cbc4d286f3c35f3dabb1bf44dba6f6238bcb070263c9bd680bbd9bf7f3ac580ecbbabf4e53b67caa8bba10f85bab0a5b3bb1b454a3b626f51bb454726391a6a30bb01740abb188158bbb3cfa8ba8713c7bae3a33bbb08b22bbbf38cc7b91718493ad323423c1af17cbd2462ebbca45c733cd4f828bc72bee4bd092605bdf0df8b3c9a61a8bcbfacd8bda039fbbc534f573c16010dbd4f9fe9bd1056d2bc1d8b6d3cede809bdbea0b3bdb3cf90bc2d041e3c83271ebd7aa998bdb2faccbb1b3a123ce940e9bc73dc40bd6a04263aded2b43b3020bebcf3e7a2bc8f974d3c93fbcc38b0fe02bcc1dd9b3951894a3ca0a213b8b6a10e3c68a252bd35298b3ee509803fa33b263c855e58bd1a018f3eac64793ffeddae3b7bd015bd31618b3e390b4b3fff67bb3b77de06bd4cfe833ee1e22b3f5edb6f3bcee5c8bc8c9c633ef743fb3e2c46533ba2c1e1bc55dd3f3e42bcad3ee51f473b46d4adbc2459073eb31c453ee6b8c83b9a94edbc591ea43db4fb3b3d2d494c3b6746aebc44c6ce3c64c94dbd91ebe9bd717e8c3c000000000000000007e80fbe9bcdbc3c000000000000000017becfbd850b4a3c0000000000000000995bd3bd709d1c3c0000000000000000524cafbde689fe3b000000000000000054a4adbd67743b3c0000000000000000d91d8abd58ee1f3c00000000000000003d946dbde5108c3c0000000000000000ba3a1dbdea2a793c0000000000000000c3b15d3a4000913a798803bbb6e31d3ceecaa4b712a6193b94ee873a2664cf3cbcdb18ba10a2e03ab42e7b3bb9cac03cb405ccb992f5963a234f523b9b65a93c74bd76baf4ed213a9249963bdd957d3cd3dc07ba94c2f73a8bf4ce3b3a0c7f3cf3b97f39eea0263a288adc3b87974b3cdc88a0399b1385395cfc9d3bce80e43b266401ba230a103afc58243ba3a82f3babc7183c197ababb19c30f3bd83b81bc0100803c1e9f59bc12d55b3b4b6680bc19a8933c9b7010bcfa54073b9e9f48bc73fb823c96a1d8bb2cbac53ae0c71ebc47d4403c97825fbb375f18ba4f9c9ebb0d69db3b29b6a9bb3af4babae61179bbbed2283b13dd8bbb5c0a7cba200716bb1cb083bbd6f0e5ba59b194397c1622b90e8d8fbb4a6f56bae11a32ba6f31423b3db7f83b30a794bd93440abd93094d3c9b138fbca34206befd11e9bc1b15933cda23dabc73cb0dbea8960bbdfb906d3c00d3fcbcb580ffbd61f1fcbc91ac5a3c0f1404bd3c8acfbdef34babc24682e3cf4ff0bbd9794a6bdb07528bcfbd91b3c874701bd7e1864bdbd1f303bf010903b9c29a7bca77496bc247c533cd77e57bbdbd816bc005b943a0720663ca03fcaba423ac83b662bcebc420cc23d2247983fdcb9d93b67fbb2bc7f4dd93d90ae903f0f2d9a3be4119bbcc3ed053e0abd763f911c843bbde98fbc7d2a0d3e773d463f891a743bd63889bc2952063e9bac143fe543963b083a9bbc4af5e83db98ecd3e0153823b6501b4bc1874af3d68a3643e07efb13bab28ccbc42b9373db383673d922d8d3b5658a2bcd2b68e3cf5567abd0b5ce2bd15c7863c000000000000000070d205be3570c13c00000000000000007f6fd7bd7a8d5b3c000000000000000001a5b6bd71b4063c00000000000000002b40a1bd982c9e3b0000000000000000e5db9cbd5425fe3b00000000000000000cb88abdfa48343c0000000000000000ef004cbdc228823c00000000000000000d2e2ebd1027663c000000000000000000000000000000000000000000000000f663a5ba618a1e3b0ae31cb9270c8a3c0c79183748337ab9fe6a343800b0883cb602c8bab587be3aeed98e3aef30523ce19320ba3a473fbae56cd53a4e3e2c3cf37e72b99a27e8ba8a0ffd3a71dd3a3c6a3e16ba47f7103a535dac3b527d113cc425b1b9e68d1f3a24948f3b351ece3b00000000000000000000000000000000000000000000000000000000000000005db5693cf42cd8bb384c163bacf8debb7d29663c0e309cbb15fcab3ab37cabbbe5494f3c434595ba2aee2d3a4b9a7abbe967293c7b5255baf956d23a57e093ba2011013cd0c9a7ba3516f8381d575cb909bf443be4aae5badf4d01b9fc71573ae4cfbcbacecc7ebacd6e67ba555b043b00000000000000000000000000000000000000000000000000000000000000002cc478bc375defbd2d2f16bd9a9e293cc534a4bc5332e7bd43440dbdf439203c9443bebc26cecfbd9d5704bd801db63b5e0abebc226fb0bd2059d9bcde3fc03bbd13c5bc293a8ebd2b1287bcbdfeaa3b4ad1bcbc103342bd41f58dbbabea293b7d0a99bcec1ac1bc71cee83bd94f853a000000000000000000000000000000000000000000000000000000000000803f55417b3b0489a5b9244cc9bc0711993fa296ec3a0232b539c06d363c37357e3f55be053b98c50f3abf32073df3944e3ffcb3373a8610b2bb6e49353d3a4d1f3f677bfd3a53baccbb4043363dedcadf3e2668c93a507d2abc6e43103de86d833e1efd683b496956bcb463b93c132da93d000000000000000000000000000000000000000000000000000000000000000085198ebd2c17143c000000000000000069075fbdd6d48e3b0000000000000000da543fbd7addacba00000000000000000a563bbd323b7abb00000000000000004e2540bd17d315bb0000000000000000e0323bbdc6f60a3b0000000000000000853c43bdecbba83b00000000000000000000000000000000000000000000000000000000000000000000000000000000fcee52babda446bcff41adba29801b3c297b6abb30905ebc1fd6d13a68422f3c9eab1bbbf2a163bca45797b99cdf273cd06c68bbbc2b6ebccf20c33a6870243c52ce91bba32d27bcfaff4d3b0608153c99438bbb7032edbb2e9d893b2a2ff13beb4f27bb2f048ebba5a8f23bde6c823b0000000000000000000000000000000000000000000000000000000000000000ec84b13b480135bb814ded3a895dae3b2eb8bd3b0ae25cbb1097e33b9ffa3c3bdfdfa93b3e0602bb70e6383cf62be839f1c9803b4e9b29bb137b483ce66507ba980c463b768011bb27045a3ccaa598bb38e2c339d9f9cdba22292c3c1a1906bc0b09afbad15a8cbaafe3f73b798c2abc0000000000000000000000000000000000000000000000000000000000000000e8cd3dbda68217bd0e1d703a05e9db3a881356bdf60802bdc9b6ef3a08ba043b2d6350bd679bedbcc128373bb954243a415e3ebd1162bebc4b338c3bb26e283b59e12dbd1b388ebca3baae3b1676ad3a76930fbdd1ce22bc6325d43b8fbfa0b99843c7bc816b19bb7d9d123c6d5fadba0000000000000000000000000000000000000000000000000000803f00000000d44500bc2e2dc0ba01ae823f16047dbc64a5e6bb2f09933cf6125e3f2849a1bc94f411bc24e6e33c054e383f3b2db6bcc6b3f6bbdbb00e3d7f91113fd363dbbcae63c6bb252f153dbd35d73e182804bde5d3d3bb0b01083dd2548b3e2a301cbd5ce6b9bb9a4ee43c53e9fc3dbb5729bd0000000000000000000000000000000000000000000000000000000000000000cbcc5cbc9976833b0000000000000000122c65bced2d713b0000000000000000459d80bca3af0b3b00000000000000003f438cbcb4aead3a0000000000000000825a6abc1df49a3a000000000000000077d811bc6f41613b0000000000000000ac54fdbbbee54f3b0000000000000000000000000000000000000000000000003cda193b553cb3bb1f97c4bb3bfb503bc57cba39848c2fbcb1d49abaee96413cafb212ba8aa074bc644855bad602523c366d5bbbaab072bcf489143b3574733cfc345cbbb6585fbcfdc3623929ab313cab284abb4d5937bcc2ca3a3b433a5b3c6aaa5abbedce12bcd56fcc3bbde61f3c2ab43abb44b150bb364be93b17cdc43b58b4f5baf5cfaaba7fe1be3b4b3b4e3bf0c0993b8d9b95baf640debbdbf1073c7aee003c9b3b8ebbbc165fbbbd76e83b3de4d73b428f8dbb2c7f4d3b3708093cbd11dc3b7fe389bbf938e33b0d10be3b7391a83be5ee41bb23932d3c6d7ea13ba02bb63ae3956bbbe75d173c779ae7b88dfe9c3a390545bb57e5313c52ac8fbb4a9520bb33e7e5bae26cb43bc604e5bbac1e00bb8312f0b912149d3bc2d6b5bbbad085bcc12716bdf6e684bbdc002b3b8c482dbd2b2e3fbd593e3eb9bc9db13a566a63bd66713fbd6b47d139f1b5893bcf466cbd70642cbd0036f93a2af24b3b16064fbd94b708bd7335313b1b82853b51c94cbdc8c6dbbcbdd5f03bfa23723b64e027bdbd348abccb0e083cd5de943add3edebc223efcbbfc740e3c487d00b9492462bc435992ba2234fb3b993ab6baa33effbb017a11bd4377823f7264023ea44efabb4548d3bc9b49723fbfb8d23d21d045bc0aa5f9b9aa10523fda52a63da93b57bc40f4953cdbaf2e3f6e9d6b3d30805cbc361ae13cfd63093f96bf093d434a5bbc0e76073dcb05ce3e6af40c3c25b650bca0d1033df0ac863e58ff6bbcaa827bbceae9c63c0014fe3d1cc609bd06c70abc53f2993c2062e4b9775c24bd4c65b0bc52f3313b0000000000000000da6ddbbc9ab6df3b00000000000000007c73dabcedb09d3b00000000000000001ebbdcbcc661353b00000000000000003df4d1bc14e4373b0000000000000000b780c7bc7326293b00000000000000009d889abc0311853b00000000000000008d9d13bcb579923b00000000000000000479a6bbce5b873b000000000000000091f5cc3a2aa309bbd5ffefbb6906f93af071cc3adf3011bccf0709bc0ab0033ca8e1583a072929bc2416e2bb58f6f03bf59b6bbaef8a72bc40a69ebb5f8e3f3ca854a0b873f177bcaf7c73bbc0291d3c140a47bbb5e957bca87413b9b347473c6a0c3fbaee2307bc0bdf473acce2df3b71cb75bbc3a6bcbb8cf9983b1bf3023c65093abb5a0f1dbb8eea853b702b323b7d8bb53b928879ba3cbd1fbc91e4183cd3b8153c8a0871bbab30c6bbc90d613c884ff93bed8be2baebb38e3a6004663c3544203c387e97bb20343c3b022a843cac80e03b893927bb2309163c2550403cdb41a83b08b977bb1ecc0d3c48c9163c31b3263b3931d5baad46003cb6c6b43b40de83ba5d0419bb43900e3c9fef16bae78063ba10dbdfbac077ac3b9a0c87ba6d4fbe3a85e00bbd131f1fbcc738783beed4b0bcc8d857bdff6513bcc50a013c9634f9bcad7b3cbd2441e2bb798c953bd86a38bd49524ebd021d23bb9d1cd83b958f27bdd3301abda18e49b9e23e7b3b0cb732bd9b0f0cbd6e1e833bfec4a13b5ba702bdc0abb0bca4ab4a3b8ed85a3b8ac1d9bc68704bbce3c40b3c8587023bb21246bc3cf19ebbc879ec3b67fe943a62d1cbbb09bc33bda0bd5e3f5fc68b3ec10c0bbcbb1925bdc879533f696f763e9cbc34bcdef240bcf98f323fa14e4c3e53737cbca055d4b991f61c3fde101d3e69b36ebc4f565b3c0ddcf63ee415e03d477176bc4406a83c2890be3e75d9833df25752bc1019a53cef18773e7cdefb3cb0126ebc1bc7a03c7900063e1e026abcba7631bc80bb5c3c18b1663caf8415bd854f02bd9423373a0000000000000000c9c72abdb76c333b0000000000000000020011bd738f93b80000000000000000b28322bd95d5c93a00000000000000002e900ebdf73b703a000000000000000018520dbd04323a3b0000000000000000d62dcfbc20ee8d3a00000000000000001620b3bc5131c23b000000000000000029b338bcd43aaf3b0000000000000000b8806b3b79f09bba835e31bc34fb03bb9fdfd83aa910f0bb02de45bc3637ad3b017ba53a594d40bc8e613cbc44a8093c9748273a346154bcc54406bc6447133cd86b6cba094f5fbcbd43febb7057293c3ee4c3bac95862bc48274fbb5bc73d3c998f22bb630b34bcb3a28fb9017b2e3cc8a70abb8078f6bb717d803ab0e4013cc9ca58ba2ae7a0bb8a8d0f3bcc02ad3b3640e23bd533c83802fe0abc6551413c2a8c293ce95c23bb9edafbbb06cf873cefc53b3c1c7d35bb0e334cbb690daa3cf20e263ca6553cbb1a9e903a53cda43cffee113caa3026bb04bfb43bb58ea53c9fc2d33bdd5165bbe20ada3b9b507b3cf67fae3b067a88bb64c2fa3be0ed373c92cc9f3a60c65abbc486b53ba45ac43be0a8acb8326006bbe22fb23b175b323b62733d3cf1000cbd718c7bbc182aba3b3eaeddbbb3b759bde55f6fbc0d70023c8658c5bc9dd06bbd49573bbcfbba003c300508bd03ca62bdb2f0dfbbd84df33bb21a0dbdd72441bd57318ebb87a3d83bebf812bdf93e28bd3ec9603a6f12d43b0f2d0bbd0826edbc5c5e8a3b3282a53bafe4cabc89df98bc1cb6023ce8cf703b8f7467bcd4ddd8bb01e8cb3b0ddd123bbe70c9bb238032bd0147393fcc35d73e6beb0dbcbfb334bd8ea8303fb9a6c23ed2e953bccbf2ccbc6f9d1d3f9a55a33ef2776fbcc40d22bcfefe063fdbdb823ebb5e8abcaa2e8b3bd982da3e0cf4413e00598abcc2da333ce60fa93e5779003ec28a88bc66e6863cb9106b3e80f2803d1b2172bcdd05793c4fe3013e7996b53be53a35bc0c15773c50bdc23c512f07bdac1f1dbdf2f94fbb0000000000000000e1cb51bde387733a0000000000000000d1304fbdfdd9d9b90000000000000000648549bdf19ff5390000000000000000773038bdb0396aba0000000000000000b4e92cbd7da80b3a000000000000000099151cbd7976833b000000000000000063dae9bc1e5ede3b0000000000000000ff4c97bcb1d3b73b00000000000000008ae2f13ae0a2103bad4041bc5ecd84bb7077ff3a6d0285bbfc7b7cbc37d2133b5f99023b185608bc6e2861bc0c7a903b8b95af3ae97548bcc2b44bbca7e7053c2c4e0f3b03c321bc351130bcc0c2533b17e0afb84b0e4ebca629fcbbd1a01e3c7ff32ebae0c226bc61d666bb93e70e3c7e07e2bac3b208bc25065eb8b113173c41ca45bbebb7a2bb3daac43a4be5a53b967aba3b9122063bbaab1bbc8d2a093c6e703f3ce0dd9dba4986f7bb8701883ca2682b3cc50033badda944bb40d3ac3c38e83d3c305a0fbb16f9b13953b2c93c0974e73b57cb24382256933b6526b43c0eea0f3c12165cbb533ba83b989eb03ca9d38b3ba69820bb2c2fcc3bd8af813c8743eb3a17ab55bb66e7b53b7e89343c3222da3a52452abbdc9cbf3b6322b63b641f9b3ca17b04bd8b7699bc46df8f3b8a2b993b58ef57bd03a2acbc5139123c492426bc63455fbd677c8cbcb2cfe83bbf95b3bc33e26ebd369251bcb49c0d3cd48e9bbc848c28bd10ec28bc11b3e53b08e0f3bc322834bd95f185bbcff8083c4bb1d7bce56af9bcc579473ab9d4bd3bf7e5c0bc3aee9fbc3b5bba3b58e3a83bdece56bcff8c26bc34eed83bf463383b0d0accbb9cdc26bdce16133f2cd8113f43e505bc582d2abd48c50c3f9601053f097238bcda03c5bc6414fa3eaf58df3e0ebc78bc38e35cbc39d5dd3ee585b63ea77f59bcd255353a9b49ad3e1349893e4cac7ebc7b4b823bcb6f913ee31b403e55026cbc99e71c3c0682493ee802dd3d400d70bc515b463ccc04f03db064f63cd92324bcd5384a3c7f23043dd718f7bcca392ebd1c1788bb0000000000000000339d67bd5ebc3ebb0000000000000000dd5051bdf5ea72bb00000000000000001a2462bdfa935bbb00000000000000004c712fbd5972c7bb0000000000000000cff84cbd37b2213a00000000000000006db329bd7b01bd3a0000000000000000311217bd03c2c03b000000000000000026b9c2bc201ed43b0000000000000000c055623ab63d653bcde44abc7ac565bbbe91203b435b75bb946893bcde873a3bb774003b14c5debb18a588bc820ca03b58aa373afaef26bcdb9377bcb6af033ca093b13a8cda36bc4a495cbcca5dfa3bdf5d8b391fba45bc8e1803bc4cba2d3c2ce9b3ba2f4f2bbcd29196bbb06f333cb5c966ba2d6f02bc973510ba301c223c0bf99aba559cb7bbcdaeb83ae725af3b9254d73b7202953a514e0cbc0ea0f33bd8ce433c0dcf99bad183cdbb90454f3ca5ab653c3f95f1ba088081bba5ddac3c505b4f3c0b8a11bb686e1bba4b4ad23c51ef2b3cc1eb97ba4efbb03af922d13c278a0b3cee9468bb8ff8323bf2d3ba3c1408dc3bf91659bb7d80933b37fba63c020c0b3b126073bbb3c6643b39185f3c3d9fdf3ad5c71bbb2edc563b0a12003c3141bb3c96a7febcf29dc0bc22b5c63bbb8e423c7a4360bd9254dabc3239303cc31580bbbf4780bdb4e1c4bc603e323c850667bccc007bbda4b992bc26cd1c3cc9f699bc611f5fbdb30052bcd6b6103c1a54d2bc378e3fbda329d5bb531d0d3c7866d6bc074b16bdf76809ba98d3d23bb7e8b9bc2dcab3bc8fe3863b2b3ec93b712758bc7d3828bc440a8a3bd7bf5e3b6a3385bbc31017bd6052da3e33ed373fd859a0bb9c7f1dbd6aecd33e5f512a3f8e6327bcd0c5e4bc7decc33e6813113f868146bc80048bbc9010ae3e17f1eb3ee3e068bcb408fdbb5380923e96edb43e30017dbce16816bb26b46f3eef2f7f3eea976abc135e353b17d5303e9e84173e4fe054bc0166a83b4f73d73d6c99533d8bc4f3bbd268f33b29d90b3dbc7edcbc5efe39bdceb9adbb00000000000000004a7c7ebd2d0c6fbb0000000000000000d8ea75bdaeadb9bb0000000000000000476870bdc23e9bbb0000000000000000afef60bde96894bb00000000000000005d705dbd646891ba000000000000000089ad4fbd0cf6243b0000000000000000c70f2ebd98b5e23b0000000000000000a47cefbc5ccde63b0000000000000000650bfa3a70da063b989c37bc779212bb8a07c83a61d442bbfe7b82bc629c423b7a5c183b521741bbecaf78bc9aabe33a1d4c5a3b547f15bc4d548cbca1f6d13be75e023ba97908bcbe795fbc4bc3003c04520a3aa04827bccf822bbc52802c3c9bda5f3a2265e8bbd518d9bba908fe3b0d42acbac6ade3bb8ddc45b974a22b3c045c43b9b8f38fbb28f8473a9f6ff53bdd7ede3b877f353a1d42bebb2547923b2e10563cde2ca4bab85fbabbe88f213cd647213cb6d0363a58b119bb9474813cce2f603c42bd8dba441e18bb89f2bb3ca4d72d3c7597eebaddec7e3ad7e5b53cb59b233cb0d92abb5897e13a5876cc3c0022c83bb07e0ebbab763c3b2a85923cdeadff3a3e8d86bb48deea3a6eea6e3c903cc939f4944bbb7159563a80a3f13bee42a93c1c22f6bc6cded1bc2f35e53bd87c6a3c8f706cbda576ffbc24a3293c2fc81d3b8f475bbd9fc4d1bcc16fe43ba5d3e1bbc2f783bd1218c3bca2b7263c37444abcbafd5dbd8b9e90bc0eda0f3ca0d8a1bc0f0355bd78f226bcee02123c70138dbc10ef12bd4421b2bb6813dc3b3196adbc2ea7c4bc8aed163bc335f43b7ee762bc7a8020bc62e1b13b3871833b168636ba26e5febc4f768e3e179b5d3ffcdc5dbbb1e306bdd0aa8c3eb34c4e3f9135d1bba65ba5bceb3e823e5dad2a3f4a2c2dbc25cf90bcaf91773e396a103fd5d82ebc7c1e09bcda2d513e7b82dd3e042c51bc73eecebb6cb7363e0ad79f3ea63723bca95c8abacd2aff3d2257463e8c7f23bce3b3c7b96146b43d0bc0963d976fb4bb8d0f583b51e1023d3938bcbc0a183abd06d18bbb0000000000000000314980bd3faf89bb0000000000000000adec45bd6352f1bb00000000000000007d286ebd1145febb0000000000000000f19b55bd1fa9f9bb0000000000000000e2ee69bdc6ea1dbb0000000000000000106439bdff8edeba0000000000000000406c42bda600cd3b0000000000000000e17e01bd9d510a3c000000000000000026cb8cbad7219b3b7ff130bc1b2417bb0af07eb880cee33870c38cbc5a96cd3b50d1b23a31419dbb63cb91bc4673b83b0c1efa3aa368bfbb8ae583bc9ceff13bf2280a3bfd65e9bb7ca07bbcf73fbd3b0e7876b7d9e6f6bb108939bcbc901f3c83289e397204febb46f4babb069f203c11e622b818c2c1bba346adb85e682d3cf3ddeebad0934bbbd2733f3b4959cc3bdca5d73b22bc903ac12783bb9165dcb9a49b643c4da227bb22b337bb207eb33bfa7e6f3ce99a69ba3c3668bb0f88733cdb455a3cf81e7dba9b9829bb3823963c295f493c10be70ba317ec6b97c87b83c504f243c71ea27bb07f28bba5151af3c2844ec3bda546dbb01484f3a00439e3c83c22f3b95bb86bb68e554ba8b7c543c545f3c3ab8292ebbc87d0c3b6b82f33ba9c9a63c9f4007bdf762fcbceb78bd3bd7eb403c25af7bbdd52202bd8b74233c0b92713bd43e8bbd4cb101bd37ff153c999f67bb14cf89bd4622dbbcb0fe113c47c0dbbbbf726fbda0afa7bc119b063c91d04dbc89d05dbde9525fbcb9c60d3c211c90bc41902bbd2cd3c5bbc4a1183c897e95bc9f18c9bc810cd63a48c3d63b69734cbc052e33bca0ab8d3b5324923bf6fa2d393373bbbc3714063ec647823fbe74a53a3b16bdbcbe3b0f3e46ba6f3fd0bd95bb0b9f94bcebcf143efcc74c3fe39fc9bbb5934abc0522113e362b283f7ca71bbc39f913bc3c30043e0745023fb77109bca42b1cbc5f7aed3d62bbbe3e241cf5bbd32df3bbd82ac03d72986c3ea1d1bcbb027ccbbba33e823d59bbc13de13676bbbe7eebb9e5e2003d9b23bdbc314c23bd4bd8a6bb0000000000000000650a56bdb50e81bb0000000000000000e7804bbdbf9d0ebc00000000000000005f964abd83391bbc0000000000000000a49242bdde781cbc0000000000000000602355bdfd09bfbb00000000000000001a0856bd9df8f8ba000000000000000012c841bdfb839d3b00000000000000006eb215bd6257c43b00000000000000000000000000000000000000000000000018c26e3a5daed5b7dca66dbc3b1afc390448d93a0f545abbe5d654bc3eaeb83ac50c1c3b9edf8cbbd81d60bcbae1f638a9712d3b1cca99bb305064bcb692023b74b0283b7f5ab7bbbc6f27bc4b735e3b933d923a4ddab3bb0ee4c4bb829cb83b9d21c639c25891bbd10d1cbba2b0ea3b0000000000000000000000000000000000000000000000000000000000000000ff97173cdf449a3afb4683bb44449f3b2472283c5a4b7e3a17672abb39d3383c74f2293c866c9d3aa531bbba34d87c3c0ab8053c00ce243b0e8a39baa4a3943c042f053c35de9b3958c22d3a95d1943ca54dc53bb93aa1ba3b55603ac51e7f3cec57633bd39e03bb66cafc391b924d3c000000000000000000000000000000000000000000000000000000000000000009a4343c2e7743bd37a708bd5950883b0deea73bcc595bbd646ae4bc438b893b44010b3b4b3e57bd1bc2d1bca3a0983bdfb291bab15142bd3d16a1bc9f5c093b2774c3bb461a31bd527d75bc6e40ad3b36eb1fbc57990abddf3b13bc411ea93bfc3841bc8d34c1bc958922bb30a7b33b000000000000000000000000000000000000000000000000000000000000803f0315a039b16a43bcf9304c3c0e85823f7bc0e5ba14981ebcf8aaf23c05795d3f9da7b2bbe77605bc6348253d980b373f7243cebb91d7c9bbc5493a3db626103f6627b9bbeefda2bb5c64413dd4d4d33eb5d0aabb231fc4bbb03a2a3d5aa5883e9cc376bbddb087bb14ab173d3c5ff13d0000000000000000000000000000000000000000000000000000000000000000ffbecebc01a6f7bb000000000000000028d7ddbc39790abc0000000000000000ed95e2bc5ffc44bc00000000000000006dbdf6bcff0034bc0000000000000000d84f0cbdfd5420bc000000000000000002fd11bdd285cdbb00000000000000008c441fbd08f7ffba000000000000000000000000000000000000000000000000000000000000000000000000000000004e98a0bbfd422c3cc9a02f3d5ecc2ebbec1a4dbbaa9e793cc341253d88d5f73aedcb933a743b513c36c90a3db78f983b71e3d3b9d88e5d3c98afd23c3fc9793b9fb2cdb9ad431a3c2e9c9f3caa23f43a8a9f763aaff4b83b4ce1393c1f03f439816a873914570b3bcb82303bcd1813b90000000000000000000000000000000000000000000000000000000000000000490e78bb9f35aeba9dc8b43bef9d50bc4a2f77bb16178cba67e6193bc7edd0bc58caf6ba46af37bb5b427fb9aedd06bda68d073abcd90bbb13364fbb852b08bd288041b9dadd00bb8b665cbbbcded5bc9606793b670813bbfe60acbb761a6fbc44c5b03a8d6683ba1bdb91bb9f589ebb00000000000000000000000000000000000000000000000000000000000000007b305fbe350ca73c4b8ec53a6d0bb83adcb154bea1ea693c9277a63a7824a43a496f40be67a72eba420b6b3b89e9793a364619be575902bbaf97273bb1cbfd3a1ef2dbbddb0d42bae2390b3a6a13003bcadc74bdef0d85bbf57606ba6c0c5bb921dd42bc90cbd7ba99d106bbb673dd3a0000000000000000000000000000000000000000000000000000803f00000000dd529f3cd919d7bd134aad3f502c04be86fd4d3ce58c45bd5d868f3f6d41c6bd77e30f3c8a657fbce8696c3f61179bbd5a41283c54c1ef3a6d6a313fd7b882bd79bde03b9b80623c729fe83e3aca32bd1fbce63bfecf963ce7ca673e0cfc86bcb830d73bd5db1f3c6d49373c8978c13a0000000000000000000000000000000000000000000000000000000000000000428d9c3c7ba6abbb0000000000000000dea64c3ca9e17cbb00000000000000008ea2cb3b9489feba0000000000000000ebf6db3b08e3e1ba00000000000000004fb26f3b350129bb0000000000000000ac99183bd0e4fdb9000000000000000018ac27ba632838b9000000000000000000000000000000000000000000000000f0fef1bb6e0d053c403d933cacb324bba3a10ebc3829493ca36f223d515bb7bb2339c1bbd4618d3c2ce52b3d557b033ba4104bbb3c01973c21e21b3dc0eca83b4e5730bb953f883ce346e03c09aab33b12feb4ba9059663c6463a73c032b803b61b617ba1ad7073cf6c73b3c079c1a3b24b344ba06d44e3ba77e1a3bdba6e53a0d6287bac600cbbae4b551bbc93617ba2cb73abb343abd37cd764e3c747d39bc70105cbb52d608b9792d1c3c49bef9bb1f0553bbc3d545bba19cff3b15f2c7bc79c12cbb7ebb49bbf63a733be16601bd19596e3a0ea74dbb03bff63a85f3fbbca09c973ae10f7dbba5c80ebbab3ebdbccbab393b56ea93bbef7595bb18dd4cbc29b0853b698663bb9097f5bbffcbddba2e54283b09f912bb4b6488bb418e033c8fb1e2bd9131ff3b6c2ee3ba6c210b3bb55f3ebe3843aa3c5c019dbb9689313b41a15cbe96c7513bed92c23ad15d603b38ec4abe8b308dbb2328093bdbb5243b355a22be0e7bfcbb383b6f3ac6946e38a9f6ebbd53920bbc1ae3313989645e3bd16b85bdaad8d8bba6b81ebb9150753b4af488bc70b127bca4f70cba3bdedb3adf6a843cf9a108b91640d2ba48aca13a9e312c3dcc3c5bbe4fc9ac3f9257733ca13f333d608141be43879f3f92ca823bd286003d06e00dbeca9d913f9a0b97bb5c86d73c257cc8bd18a0703f09540cbc11edaa3cff1d7cbd8d1d353ff7bb05bcc0d3973c84cc13bd3712f03e601a63bb6ce1833cacd09ebc2f57753ecd08773b930c713cda3874bbd453303d699bb73c1b11493c49d07cbc5fe8ccbd312a063b6cf184bcb34d4b3b0000000000000000137054bc9fef1f3b00000000000000001fd166bccf387e3a0000000000000000965330bc7fe2813a00000000000000005ab81cbc31a8153b0000000000000000e2b8e4bb064769b90000000000000000ae5b1cbcd5162b3b0000000000000000f52d3ebc47842f3b0000000000000000917d35bb480ab93a0000000000000000cc4cd0bb51a8d13b32df223c9f143c3b8a3115bccf91733c0becd03c69a2c13bcb4dc6bbbfae8d3c208b013d8ccf353c8fec9bbb784c953ce5d4f23c41f72f3ca6a503bb9921783cdf23b03c22a60b3c31c02abb8a68573cd191833cc425e33bf11018bb2183143cb8dc0b3c8d8a673b6bcb0cbb8894b43bbe462e3b8c4bd53a7c9c5cbbaf98c83ae4c569bbe97adbba8d3c48bb8da3e2b9e76d803cf5f5b5bcdb691abb295d39bb065b713c88b1bfbc97eb2bbb2fe79abbe9c93c3cd9ba06bd7252cabab5b983bb18d3053c58a10cbd46064b3ae2e47abb2be2143bc0a5f2bcc00b0b3b115f95bb5a103c3a2d85b6bca0ca393b63ea88bb875b1abbd4aa3dbce9ea3f3b56e081bb87d9b7bb691c5d3a869b953b6db656bbe8c831bb1940073c6a2e5bbd6e7b69bcca9835ba2fa9ec3a3b0814be55fbb8bcaeb3313be8d20f3bff1e2ebe17fb0abd4bcbb43bca8d483b50ad2cbe338100bd004c863b74165e3b2ef808be3d77f0bcab360d3b706a503b7d4dd6bde242a6bcb16318b970ae383bd89c78bded7c3ebce24dedb7a3bd193b324ebbbc1d82a4bbf21d2cbb322e273ba9d5c23bd731923bf66617bb983d8b3ae091393d2e425dbe077b8f3f6bfb693e51394e3dca6760bef9e7913f40593f3e5bf51d3d6e452cbec738833f78491d3e791b083db56508bef9ad5e3f1aaade3df5afdf3ca6c1bcbd9835293f701d9e3d2266cd3cdfdf8ebd64b1eb3ee0cf353d1c4dba3cd7fc41bd1d62803e08eb8f3cc6cda73ca644f9bc210f913d27689b3b9992723c389cdcbcc0da3bbd150a70bcd4fa82bdb87c713c0000000000000000997c81bd88e8603c000000000000000028f25abd852d2f3c00000000000000007f4e29bd02c9013c0000000000000000d1c9ffbce91ca83b0000000000000000f0dbc1bc2623a73b00000000000000007c3066bc14ad583b000000000000000081100dbce545273b0000000000000000720238bbac1c8a3a0000000000000000f6fb79bb9999da3bec799b3b735ee33bae5bf2bb7084733cbe7d963cbcec693c5abcc7bb2deb893ccc69ca3caeda863cf27478bb9ec88c3ca101c33c8306743cef7946bb98ad833cebb2983c4dfa5a3c885259bb93316a3c18d3583c3b6a0a3ceb4a49bb5f18153c6942e83b440f853bb72ba2ba6244ab3be96c983a880d893aec0fcfba883dacba2085f8ba167321ba14716bbb959e6eba9105683c1f18fabc7d0b60bbd0ba75bbd230773c674602bdde82e7ba115d9cbb392a3e3c1dfc06bd7b21c5b9304b88bbbc621d3c64de0dbdb1a20c3bbc219abb31bb933bee27f8bc2fb3423ba7327cbb1947223bb06bb6bc9af3813b44ba9dbbbf593f390dd73fbc1afa943b28cf90bb217787bb8a8202bb51c82d3b6cc51cbbe90b86ba60f0013c6d8ed4bcd8c629bdde5a5f3bc5eb143b80efd5bdc08d7bbd4822143cbc5f113bd1170ebedafc8fbdfe6f3a3c8bf0393be4f70abeb1a57ebd5acdc33bfa44153b8dbbf6bd30ec55bd5c16913bab0a1c3b5ab1b9bd52410abd9b7b893ade94ca3accca65bda79694bc56165bbafcbf073b822bc0bc780630bbc0b332bb2aad7a3a0fc4c63af301153c81c0ceba8b4b14bab16a283da82a4dbe94e76e3f5082ea3e4868443dc6ac54becc5a723ff5a6d33e16e2233d95bc31be9a05603f6a4daf3ec0f4053dd19f0abe4bf93e3ffb91843ed8bbfb3c6815ddbd6e99173f300e3a3eaec4d43c6db1a1bd8bfbd43eaa02db3d27adb13c0c9f65bdec55793ef632383d6fe9af3c51d72bbdf070b33daf3586bb4c26763c5ed112bdd8368dbcbe4631bde7fdf1bd6c92c03c00000000000000006a81f2bdfa1ed93c0000000000000000a2c3c7bd2e659c3c0000000000000000e5e79cbd7ce06f3c00000000000000007d286ebd89c1533c0000000000000000b8b71dbd93d9f93b0000000000000000a68cc0bc8bb1b83b00000000000000003a36e5bbdbf03d3b0000000000000000281d8039659d543b000000000000000091c316bba5d2563b76074a3b33d4323c7ce3bebb85eb493c40fe623c784ea83cd65780bba6f8513c02de9f3cdc41c23c9ab79abb57ee833c6421a03ca44aa93cca0e0ebb6f43523cd0fa373c81355d3cb44c55bb5449633c2162463c64c32e3c02970fbb6c5c183cbe97a43b888fde3b68d333bb5343993b9fd3a43a8873c83a6dc289bb7857553bc1755ebb07f61ebb4b1c07bb5e9a41bb908c5e3c4c91edbcecdb41bb0e4692bb6d76473c12b9fabc255d95baeb44a8bb3453193cc1a5ecbc1a6d70bad81fcabbc844083c6436f7bcb0857d3b8e2b0ebbf5246c3b36a1e0bc61041e3bf390a8bb0e03393b9d72bfbcb707213b3f1e58bbf6a78ab994242cbce87c793b180989bba8c36dbac541e2bace6d6d3bd6bb69bbd2e3b0b928909f3b3eb5debb0c2581bd05678a3b7cc79c3bdefc8fbd7ab4cfbdc7998e3c27fd0a3afbc8cdbd88c9d9bd36d2373cacdb283b8cb9e2bdd2c2c8bd4090443c16b2a23bd2a2a6bd65708dbda03e923ae596bb39d430a1bdfdf04ebd82a4873b51333f3bb19e44bdc4ddd5bc978de5397274113a0775b7bc707089bac97449bb87cdb3381a70633a73c6443cc3a6e6badab55d392ad0053db1b028be55b4333f3eac313f3cc61e3d35832ebe59d2373f9f2b273f2cb1013d262210be77572b3fcec00c3f043df43c8a3bfbbdf6fe183fd77eda3ec9fba63c3ae69fbda276ea3e0b76983ea9d9c03c6ebd9ebd03beb73e5240373e5ef6a83cee4965bd66725d3e3779953d3569913cf46f27bdba4dbd3d8d500dbcadb96e3cf2d414bda30a943aadaa83bda27a25be4178083d0000000000000000cbb62dbed63a143d000000000000000089d60abe76cdcb3c0000000000000000fcebe2bd1423af3c00000000000000004cf39cbd38e26b3c0000000000000000ffe366bdfa1f423c0000000000000000c758e3bc870df03b0000000000000000b333d7bbbb7a653b0000000000000000c9c1c63af8a0a23b00000000000000008183f3bab7e51a3b3961ca3aa4ad663cc8aa68bb864eff3b617f213c06faea3c70de98bbbf16313c84f4843c9227023db17676bb08a0523c34c9873cc87dda3c5dd861bb939b6b3cc4bd5c3c7cb2b83cfaf082bb6b0d393c4cd2273c34786d3ccee564bb18db0b3c9f4dcf3b8616e13b06070ebb91fa993b157ddd3acec7093bc862eebaaba7213bd73963bbd23594ba4ccf41bbdc913abb7a7e283cf2c1d3bcf13b52bbe691f9bbab89093c6e35adbc5638c3baca48edbb7f70003c551cbabc6330e03a46bdc0bb6ff4c93be0ebcdbce01e51ba541ab2bb183d973b5854b7bc16224c3b3dad8ebbd9fa563b87b98abc9de1533b22c7a0bb51e9153bb9cd3bbcf604103b832968bbd9224bb903274abbf0750d3b715020bb124e45bada7e213b2893e93b36f7a5bd603ed63ba129193ba51538bdb26d0ebec3d4c73cde1bc43a96d599bd4f5918be8938a23ceffd263b219ca9bd373804be17183f3ca05a3e3babe2a3bd5902d3bd5a66313cc0f2313b4f8387bd959086bde66a103b0b825e39675e31bd3f7f04bd7d2f043b1b8e0c393d9fafbcf66027bb7c0f2fbb4a6474ba1e1f99ba9ab0673c49ddfababbc008bb98c9c53c2881f2bd8329ed3eedc06c3f41c9fe3c91d800be0f32f53ea3e2633f4deed53c467ee1bdbc9fef3e2c72423f5b32c33cac03bebdcd11d93e7749183f198aa03c10a7a0bd8ea3b93e8558d93eb362953c787f7abde38e8d3ec05d823e2d4e7f3ce63746bd89573b3e008fd63d3afb663cace115bd157bb53d45973dbcf0c8303c2788ddbc7818373c79ffa1bdba3948be7dff223d000000000000000082f059be3b9d3d3d0000000000000000776234be04f8113d0000000000000000008a0cbe52b1d83c000000000000000004bfd1bd419b983c0000000000000000fef082bd0e8d753c0000000000000000b7ff01bd21030b3c00000000000000007e290cbbc555623b0000000000000000bc07c63b417a273b0000000000000000241696ba18a8f23a025cff381607a03c36957cbb6e1cbd3bd896f73b03d00d3dc90e23bbad4ef03bfa5d7b3c6c6d143d372435bbcfe6193c1fb4813c59fd073d07f8edba6a792e3c67de3b3c3fa8b73cc22a3bbb93320e3c0bdb2e3c93758f3cd65b1cbba223033cb4bbc13bd84c183ce2b012bb9eafb33b8797dd3a54a6383bd00e21ba01f5893aa86c89bb3ecdd5bac21a9dbbd649c1bb6be3bf3b7a6082bcf627a6bb8da9babb5a2b8f3bf43d59bc09fb2e390ae303bc7e8a633b74cf62bce48210ba87f1d9bb8da1433bd9647dbc79e7303b428766bba8e8ad3afb058ebcdc9b083990dda4bbc42a223b15c96abc41b0c03a047e80bb6a33d73a5ea132bc07ccc43a01f01abb5465703a4182b0bb48b4703a5c8106bbb62ae8b9e03c443b6504513cedb8cdbde462ac3c97e2ff3a2d5bb5bc3ad832bec00d0a3d9df01fbb0e4f5bbd938a3abe8f17b83ca37b433b4ea880bdc8352abed85d943c1c6d113b982a71bd738ef9bd8358013c2a4e1d3bf2cf4ebd2df9b0bd7057fb3b39c3e03acd8615bda37b2cbda986e73ac600ec38c0e2a3bc257084bbf5cb7abb5a6f4aba27c545ba4ff99d3cfd61d8ba77961ebb39e3813cd4918abd56ff6f3ea2278f3f71ef903c3a6d91bd4fe57b3ebf538c3fce9c853ca43883bda9e8853e8f14723f4964803ce9ea64bd4cab803eb398413f43385d3c11c733bd9e11633efb270a3fe0864d3c3a7e28bd7b883f3ee447ab3efab5323c5174ffbc8641063eef38163e80be153c7abcc8bc4c109b3dccba00bc3194b33b8cc796bc9d95763c8d9fc1bd20b35cbe2143393d0000000000000000b5b76abe678a443d000000000000000008be40be20790d3d00000000000000002b8a1abe999ee23c000000000000000087a3dbbdf699983c00000000000000001f3e91bdc6385e3c00000000000000009c7706bd0890de3b00000000000000007ee9a23b67ad3eba0000000000000000b2da7a3c7f968a3a00000000000000004505293aadeab0bae2c6fd392726d53c270905baffe51cbafdd6093cf8643d3dabd508bbba97683b42676b3c508c403dbf79b7ba30b0ab3bdd197a3cf3b7253d9a66d0ba23eae63b27d1743c745dea3ce5c71bbb0199ea3bf3cb1d3cd4feb23cec73eeba82e7c43b2de1b23bea333c3c628003bbd17a9d3b6dc4cb3a4f3bac3a44c1bcbaefc6b23ab51547bb0d4755bbd02fb9bb35369bbb11d43ab89c9770bb75862dbc6164c4bb61a898ba58f442bb975fa0bbabf8cabb9c106dba258f7fbbb561ae39b036d0bbc7dfa7baf51caebbb562e63a48555cbb71e4843900e917bc0fb8e53ad2ff3bbbeb45343a2cee17bc819c483a898cf3ba37c5783a988204bc1d53403b03bdc9b858e49c3a2599ddbb9f70443a660f61ba6a32d83a101d203aff9d373cbfcc0bbe704ac23c8f53ccba8a09bbbb976353beca574e3d8e2ff4bb7a980abd68c563be9d03053de83b0eba9fd53abd4ceb4abe398da63c0cdb843a6b5f38bd787c1cbe0a454a3c57f58eba5f941bbd21ccdabda03faf3bcb66fab9232ddbbc9add55bd42601e3808a618ba47e956bc4127b6bbebf824bcf3f4b1ba94d0d53979eccf3cfbfc67bbb9d331bb2e15953b8c7488bc5446803cfc9aac3f2302c23b675191bc6d843f3d4f249d3f8153d13b531bb1bca55aa33d9ffe8b3f05cede3ba533b2bce35ec83d2977613fdb2cb33b7f3492bc48c0d13d3746243f0dcab63b5e7886bcd949c13d4880cf3e6ba7b83b104250bcf1ac9d3dc254363e00e9093b95d7edbb9655543dd6e0b53a51cfb63aee54e5bb07ca233ca0ce04be9f965bbe93de2f3d00000000000000002dee55be8170303d0000000000000000456234be0b94f63c0000000000000000394c0fbe186eb73c0000000000000000f265cebda960803c0000000000000000229180bd358e283c000000000000000043c0adbc4879123b00000000000000006473ba3cb8d1e4bb0000000000000000c786a13c6d5eb2ba0000000000000000000000000000000000000000000000005b3cb5b829368eba21a0233cfcc7333d6103cfba0e35e63a21e0653ceaaa263d15de00bb9ed2953bc735713c04db003d8248cebaf301973b5379483ca329d93c73bba8bafdbe9b3b6bf22d3cb2b29c3c851418bbca768d3bd236ca3b3707213c41d15cba6e68bf3ab0adfe3a88e6ce3a000000000000000000000000000000000000000000000000000000000000000044c472bbbb1bb1bb2ab482bb1f33fe3b1381333a8fa0b8bba318cfbaa3753a3b6ebd473b77454ebb7cd59cba189d0cbbb008413ba2a1f8baffe617bb43f42abb538a7eb9f50240bae098a6b9b64492bbb9bf923ab190133acdc1143a6af595bb4a8d6cba2f53093be2ff993ab56355bb00000000000000000000000000000000000000000000000000000000000000007c487dbc8fb65dbe62d4bf3c20e867bab5caeabc84cb53be5f557b3c2a05c43aa47418bd911a3cbed33fd43b1e61a13a16f717bd61f917bec4899cb8cf72533a8aacf6bc0937d6bd4bc26a3a4578393ab1e49cbc626d69bdca19e4bad0fdebba18b5f9bbc6d8f9bb039830bb7afafcba000000000000000000000000000000000000000000000000000000000000803ffc4036bb23987f3c556fc6bd03e8ac3f919800bbc81b233c704626bd49ad8e3f3d03b63a5989de3bb6ed0cbc58686a3f3b49c8b94002ab3b674a2f3c0d2f2f3f5200d039415f8b3b4f6a9c3c5d01e43e720c5fba8260ae3b1a65a33cf490613e345db3baba18be3b44e33d3ccc44ec3b000000000000000000000000000000000000000000000000000000000000000069150abefefea23c0000000000000000143dcabd8c023b3c0000000000000000aec3a3bd8316eb3b000000000000000095ee7ebd0cf6b13b0000000000000000606b27bd58e0f73a0000000000000000a7a35fbc883412390000000000000000c692b33b547d83bb000000000000000000000000000000000000000000000000000000000000000000000000000000008a6747bbe6db963c51471c3d85582fbcb198d7bae55dbc3c0d8d173d422c16bcfe30673aaa89b03c6d82063d8f4ba4bb7185dc3a46bd9d3c740bd33c74e18ebb0e571f3bdc237d3ca020963c04a884bb552f023be9b51e3c6fd40f3c75b50cbb4187573a96e3503b9d78163a3e1f883800000000000000000000000000000000000000000000000000000000000000000a4259bb2c53ce3a01dfdd3b396114bd0b7762bba362173a9836983bb22d60bd618b80ba53d2a5ba55b79238999a77bdec42803ae5a501bb10d697ba55af79bda02eb53aa6e09abaa57e18bbb2ce4bbd7aed283b86c7fabaa04f27bbd12708bd63162e3b527ea8baf00f2cbb588837bc0000000000000000000000000000000000000000000000000000000000000000844b4ebe5bab103d4d8fabbba246c03aae424abed2cd223da97fa1bbcb32973abd3c36be2c2cd33cc0c13abbc24cfa3af5f510be3818bb3c3db98dbbaa9ac43add86ccbdcb259c3cdf249bbb0d0cf03ab6685abda6d3483c492ccabbaaef303b5d2de8bbfeaad73a2aaaadbb40b7043b0000000000000000000000000000000000000000000000000000803f00000000fc1c8d3c0447aebd0aadac3fa8e11bbe9798ec3b1b5c31bc061e8f3f85ea0cbe524d403b7c14f63c38916a3f0b5701be2ebe32bbcf75613d1b392f3ff990e9bd637bfbba117f733dc231e63ebd6eb9bd44e517b84357403d9829673e6dd04bbdddb7283beb5ea73cd78f413c4ee554bc0000000000000000000000000000000000000000000000000000000000000000c2ace93c0f02bebb00000000000000008932c83cd73e8abb00000000000000004883b43cc3ff8ebb0000000000000000aeb2aa3c4b6b26bb00000000000000001fcb893cbbb288bb0000000000000000e3fa063cb9b9a9ba00000000000000002c811f3bb5518a380000000000000000000000000000000000000000000000000e3ababbe3cc323c528c7e3caf9bc1bbffd907bccf05c23cc655033daad56dbcc922ccbb288dee3c11b81c3d94ce2ebc5f0634bb4454e33c38d2123d540cd2bbdf2a1ebb4d1bc83c60a2df3c3d4891bb32560bbbffcaa83cd238933c87d25abb5683f0b9d659423ccf7b2c3c06e2beba0d669fba3c0d563b36fefc3a4b0de73a489784ba3dc647bb5e6280bbf086273a76c4eeba606fd43a9d92563ca0c0cebce527a238826701bab25b973cb6a237bde9f3b1b9e5588bbaa2106a3cf4cb73bd9f88d0bacbeda9ba59820a3c9cf884bd8587363ac3170dbb5ff4ce3b01fa70bd1514c73a710e43bbe212353b94f94abd14cb5c3bd5232abbac157cba1c38e4bca7397c3bb19564bb51712ebbc51293bb0463293be74caabab7d988ba3aac263c5609bfbd0487f138c47c343aa390eab8189130be411e193d055938bc0e45a43b1b954fbe3a8de93cdb3d92bbc3a2153bbddf42be0129ca3cbc4884bb95cbbd3a15421cbe0c85a73c01e080bbfdfa053ba2b0e2bd37ba943c1134cbbbd38f483bfb6880bd40401f3c57e8ccbb6910093b7e6d88bc0efe53bb6f919dbbc9944a3b57358c3c159782ba0ae180bb5a1bd33a411f2e3d061859be184eac3f9c1d8f3ce4a41d3d604b34befa7fa33f041c01bda8aeca3cad10e4bd2d6a943f746a7cbde4398a3c181075bdb807763fe8599fbd5bf5293c50feabbc28b93a3f376baabd886c243c1b317abbb922fc3e9cce97bd51f4293cb0631cbaff73853e36424ebd2852893c4ba34abc68b96d3d32f28ebb0120393c9cb7e1bc4ffbb1bd2b70ffbbdbbd5abc4cda333b000000000000000083dfe9ba6f9394b90000000000000000a0d9953b262713bb000000000000000054af1c3c87a1bfba0000000000000000ab204e3cc37477bb00000000000000008f68523c35dfd6ba000000000000000007ce063c4ef7a2ba0000000000000000db242abb66f8bb3a0000000000000000b90e513b4a4f5fba0000000000000000ffb197bb215e1a3c0448b93b783f063b622a0dbc9d8ebd3c9846b73c1b09d9ba155cbbbbf3dfbe3cdb7ef73c40c2c639b355b1bbdd62e53c04f2f33c499bf5ba34c836bbcf0fb13cf3c7ba3cc6a33cbab88611bbacd3973c81ce963c21759aba27ea00bbdb764f3cd175193c5c6518bb33cc1dbb46a8b03b4b3d853a877dab38b8b79cba84e5d2baa0364abb2b736db92bc58cbb7fd3433a47e16e3cbbd407bdc1fd73bbc37ed639fa37a83c5afe4ebdcaf17ebbfc4d87ba2cf7523c153a5ebdd22a2ebbca6ce8ba89f6643cd0e27dbd9f761d3a58ee23bb0febb13b31c651bd1b3da93af7f431bba8a3b53b2ad22cbda7a8f03a64164abbaa64b43a9ebdd7bcace45e3be27237bb99c130bb595980bbeb386c3b9abf07bb6d9f60ba3256153c3cab0dbda181e8bc2cb1083c7f9d54badf4d05bea14f88bc8951113c2d5cc9ba291225be798a81bcfc42ff3b6c5864ba722c2fbec40832ba43c4c93b22af193836960dbee4269eb92a64603a37be2c3ab5a2e3bdd812013c34c215bbc4cfd63a2bb588bd0f5d273c678a62bbfdac463be2cccebc4a01e93b6b11cabb2310303b40cdec3b0823b43b58e5babb91cfa83aa3083f3de5d85cbe99f48f3f74ef6c3e61c6463df55a5dbee389953fad901b3e97f60c3d09fb17be21b2863f904bc03deb8fee3c48b3ebbd989f6c3f82c5ae3c66e6a63c41578ebd1e9d363fc6b047bc7cc5903c85e148bda54f033fa1c435bd5679873c42ae0fbd3e39993e679c5ebd6ffda33cddd214bd0176da3d747033bd872e7c3cebc41fbd6bafcebc221922bd28e281bda959463c00000000000000002c305ebd0fe5353c0000000000000000453619bdfa1a0f3c000000000000000004119abce1672b3b0000000000000000fc7903bc478db43a0000000000000000d67b093b9767a3ba0000000000000000d3b2e03b7447bbba0000000000000000df901f3c51662bbb0000000000000000e389423c13534abb0000000000000000a10470bb8036043cb7be053bc5b5f23b9909f8bbd0e9a23cecac953c1bc40a3c51cddfbbf167ce3c13f9d33c2505093c606fd2bb10aad33c0761d83c56469a3bd3de96bb2d8cc63cc972c03cf18a7f3b1ae7b6bb92e3a63ca0d0723ccb5f053b57052dbbdcb55e3cf4fa053cc765443afda03fbbf368e23bd667f33a8f457bba73f726ba0cb6bcba19066fbba3d8abb82def9abb0d64b9b83387563c9f2d22bd957ed7bbfe6d6bb9751fa13c43484ebd4010d7bbde071eba0195803cbdf264bd0bdd63bb0dcc0abb426f663c972f61bd140d39bba70bdbbaf33e313ccc2458bd8540b83ad33e19bbece9e13ba1d51fbdc531ad3ad6c60ebb7147253bd84bc2bc3419473bfa6409bb717188b9aaa5d1bbbfe2e73a0a81b0badee4ccb9a687c73b7eb32cbbaf1b87bd65b0873c989214bb8f22c0bd368585bd31f9d33cc573cebb86200fbe27ee4cbd9ae9943cb96d55bbe41016be0a1903bd2a95353c16e387ba34330bbe8ce897bcf96a113ca280c0ba2f94d5bdc0a625bb036b8e3a16ffb2ba6d4c8abd1456d73bed8f6abb8813c03ac44ff0bc25fc443cbefcf0bbcd33e93a360ade3aaf0a783c1faad6bbf813b93ab2ed313d04bc4cbe6e756e3fd258eb3e88df3d3db1f353be2aeb7a3f1f8dc13e5cec1f3d7e332fbe7cd76f3f3d91873ecd29e63c316605bef257523f0a70233e03c8cf3c5585ccbd4bf72d3fd5f28a3dbdf7a63c9a2595bd324bfe3ef7915b3b6d379a3c6bad65bd2df89d3e8f2628bd08daaa3cb6f249bd7242093e19b581bd9d0c643c7a1631bd5762223cb7d5a0bd7546ecbda0a1cd3c00000000000000009672e7bd1e65c83c000000000000000005f0a7bdd8f78a3c0000000000000000b6d65ebd3f2e313c000000000000000040d804bd86c1dc3b00000000000000005c964bbc01721c3b00000000000000007677673bf7cdf4ba0000000000000000d53b903cc5bfc6bb00000000000000004d07a53c05c392bb0000000000000000b27e2bbbcc78d03b60d7c139b3a0493c1aa1c2bbbcc57a3c29e16e3c783f8b3c08e5e8bba92fa93c9060a63c6f3a863c1313cfbbdababf3ca6f0c13ce88e563c7a9692bbc1a0833cd6be803cccae153c6b889abb0c55a23c2db4813c7f415d3b23b823bb2a70503c637eee3b80ec643aa78844bbee79d43b48b5243a408f59ba6cc6b7baadfeda3ad14179bbe4a63bbb04ffa8bbaaea95ba189b633c4a4f22bd911a0abc817591ba2a0b853c593e37bd76f4eabb7edddcbaf15c6b3ce64833bd67eeb6bb0bf3f0ba68286f3cf82a49bd0cb84bba558f1fbb745fdb3b70bf10bd17b94bba7c541abbaa230a3c055418bd26dacb3a365a4fbba0db583bd4e9bbbcd818373bf22ceeba39c7513adf97b9bbebd8093b1a2b6bba55179bba39efb93b4637863c5241b7bd41d0b13c423436bbc34782bd2479d9bd40ff1a3d47c81fbcd2d2d9bd1d4abfbd68aaf03c41bdb0bbcd3203be0f5f8dbd4dcbb53cd9a0a2bba65acabdf63c4fbd3ab1423c857a97ba0040ccbd491193bc9eeff43b01531cbb199981bd8025b039568964baa6429c3a33fff9bc7f325e3c3739d0bb9964903955ac10bba03da13c482bb0bbde445aba36b20e3d61d12abec1db343fa065313f9a8f213d811d33bef967413fcf341e3f04a7f93c6c8114beecc43c3feca3f33ee5d0e93cf65a03bef548313f86b0a53eceed8a3c5bb4a3bd835b0b3f3ee4513e0c97b03c420eabbd3b7ee93ea9588c3df3d7863c103f69bd1155953ec43438bcb8f0953ce17d53bd6c61143e4b9b8dbd263e633c673631bdfba0e83c1ae8cbbd060925bee576093d00000000000000005a412cbee22d1a3d00000000000000006c2705be1818d83c00000000000000002d39c2bdd0409d3c0000000000000000e88483bdad80443c000000000000000050ba00bdfe58d13b00000000000000008c3ca9bb7e76e6b90000000000000000f325973ce94bbdbb00000000000000000528c53c6fdf85bb0000000000000000c65408bb2321a03bc7a0abbaae11773c277fbcbbef866b3c9f4f3b3c57cacc3c020fc1bb75968d3c8f19b73cc3cdc13c90a1d4bb371ca63c26e0b13c0f8e933c6185dcbb51f9a43c92a3a23ca753583cf9d1cbbbcf49973c46d1603c8154cf3b9bfd84bb428e523c5134043cf8f04f3b702b4ebb90ccf33b6a24873a2d53c1babc1a34bae2b9c43ac54991bbb5d3efba1390a1bb399df7bad0a6233c170e0cbd73ce39bcf66104bbf46b5b3c1ea00fbd113a12bc80de2dbb2306403cd8c411bd2d41d3bb7a7445bb90193c3c79c513bdec14a3bbb2b6cbba9499383c3b0218bd24f996b96cc802bbbca3183c76e2e9bcb75fb8b89dc6acba228aa63b3d8a9bbcb0de1b3b2428ebbacf9e2c3b0f60a7bb2e78c73a2a7303b9b67b80ba9c1f4e3bab9ecb3c0faed9bd872fe03c9d50a3bb7d503abd0d8412be80374a3dbec92abce92abbbd1d8a0abe8ec6293d5b4108bcbd1bdabd5272d5bd03c3003d1ce694bb9d48dabdc2d692bd4843c23c185ebfbbe45bb8bdc77e0cbd82f6073cb7a931bb59487fbd3521f9bba900243b684410bb5e84f4bc1fec4f3cd16bddbb1a95573a57374fbb3794ba3cf3cca0bb65a11fbbeb68d93c13bef7bdd656f13ec50e6c3f1fc6f23c47ff05bec08d053f32695b3f6c92d43c3525f5bd04fa0a3fcd05323ff51bad3cd223d4bd8241053f362a013f9268a33c22afbbbd779af13ea517a43eab468a3c37049abdc17fc03efbb7213e92bd7b3c9e9f71bddeac853e7452c63c3804683c617f3bbdb229093e096986bd12d5313c7ab115bde48b123d99aee9bdd78d49beb8462a3d00000000000000008b7e5abe74173a3d0000000000000000411035be8e8d183d00000000000000009bad08be7b96d63c00000000000000000473bebd3fd9933c000000000000000060cb45bd55df1f3c0000000000000000e69a36bcb541fcb9000000000000000049e9b53c248710bc00000000000000000d93d73c4f0caabb00000000000000007feef4baa4b2813bdcc8a839e29ba03c14e2a6bbd554223cf8225a3c2b0dfd3c29ffacbb82984b3c9a04a53c4415fd3c1694c1bb2f0b7b3c0cefbe3c92c0cd3c71e47ebb0ce54b3cafeb9c3cdea28e3c0e22bebb358c773cb2e7683c62a54a3c5c3c78bbdcdd2b3c05200d3c13c06e3b71173fbb0dd0b93b4eb4bb3abd565e37e1c8e0b99b6ad039eef98cbbffcd4bbbfa1328bca7d99dba6262eb3b3762c1bc90406abcf5b660bae09d053c9af699bc821625bc11174bbb8a84043ce9f7bbbc50d001bcbff95bbb71b40f3c0561c8bcbe9e82bb851ad6ba1767f93bbf90b9bc8c6466bb06aac2ba3467e43b2794aebc56dff3b896bbc5ba335eab3b40a36ebc8c6e2b3ba578beb9f4b9043b67789dbb13333a3b37ecdbb9cad17fb93bf6803b023db63c56e4f0bd2336203dc6db10bcd1dc1abd09c531beaef8783df09280bc7fa393bd771a2dbeedc7433ddeb00bbca12cbbbdf3e711bea1e62c3d95b709bc48ecabbdfec3cfbd3727c73c8a219abb495c9fbdcd8270bdc1208b3cae32abbba18b5cbda3eab4bc60eac53b2df805bbfa4ed4bcc45a043cb78603bc86e352ba5875acbaf2b8c93c5f210dbc7196aaba3eec853c56c68dbd9579773ea3268f3f3a67933c5c5ea0bd351f923ec1ca893fbceb723cfadc94bd71eda93e8223643f4a22763c1d6f92bd1215af3e5edb2f3fc54b513c46337fbd532ea23e6cbdee3e578c4d3c7e8e66bd90ca8d3eecb0833ecda1183c406532bd0a354b3ee563b93dc3b31a3cc5a001bd0cb1df3da3924abdcdf4f73bbf80d1bcb3aaea3c999cf7bdf1b95bbe28b83c3d0000000000000000267075be6f53513d00000000000000006c284cbe2feb213d0000000000000000ccf328be9b70043d00000000000000003424e9bda729a53c0000000000000000197a8dbdeb92333c00000000000000002980f0bc4773583b00000000000000004971c33c125c27bc0000000000000000a9c9193d1b9c22bc00000000000000005d52013890b2f33950213b3b4eaac73c1ec84fbb88207c3b41f5a03cd030183de572a3bbb9ad0f3cbefac63cb6d31e3d7e1c98bb6024293c104fd43c0c6c043dd985acbb2346323c4790b43c4228c43c129c8abb19a8243c9777973c0fa5523c66f463bbb5c5003ca584123cf5a8d73bb72a02bbe035843baa78623afb68dbbaa83a11371ea4ef39fd0e8bbb8bb58ebbb30b3abc1bbc0938c76d953a7873fdbb2318aebce0dfd63a9c079d38adcef239d66471bc29f0d6bacbbf4a3bd6efc1bbbfc826bc940b3cbb26349f3b2b702dbc7e41d8bbe64dbcbaaf4dc63b5d6355bc8be683bb7e9919b9f448a13b3e3032bc9c3f4038ee517bba10258a3b0ca61ebce3a9a03ba3345eba0ef41c3b35051cbbc682ba3ac570aa3a3d3734ba123d353bd8f1113c15ae10bea7231c3d50902fbcd83f15bdeb4a4ebe5f16a03d3fe7abbc9e408abd057052bee14f703d8bbc41bc6f87a6bd606a35be35323f3d559af2bb45339fbd496808be7ca50a3dd1c2f6bbeb6e8abdf1e9abbdb100b73c58b0cdbb514537bde09215bd2057e63b79bb33bb46c283bc3029753b19bd55bc1010033b9a96303bc06fea3caa5d03bc77c201bb6ee7a83bcaa188bc9b0eb83c8103ac3f5d1c9b3bd4f2bdbc2d29943d1d6c9e3fa162bc3b0f4400bdf2dd0c3e63a3883f362a973b549204bdb590313eb12c583ff682a03b506605bd46e23a3efbfe183fcf78933b9cbdedbc7974283eb0c5b93e1bb1203b9e10a5bc5fc9ff3dee9e133e9ec067b9fbc602bc7c03823d2b5bcebc6915233bd72718bc4fff3e3cb73110be4b9758beb126333d00000000000000005b176cbe69ce403d000000000000000021ee4dbe03c71a3d00000000000000009b112fbe18b3f63c0000000000000000c44504be8ecac03c0000000000000000383aaabd141e5e3c00000000000000005170f9bc8051d43a00000000000000009f50013d63636ebc00000000000000004d530b3df4691bbc00000000000000000000000000000000000000000000000075e9f8baecc9333b111e813c08581e3d582331bb76216b3b8283b53c84cb133da0c64dbbfe3de23b2f91a13c4087f33cb8f124bb45c1b33ba6f1a53cb075c03c7c1a61bbc921e33b42d46e3c4976853cceb2f8bab1c68e3bbacb2f3ce2d8c63bdef67bb9df46f43a2af6473b0e2c083a0000000000000000000000000000000000000000000000000000000000000000e00545bc1314b6ba9eff30bbe3b5fd3bdad911bc22a02ebb241693ba92528d3b48d87fbb61534cbbcb00a23abff2a5ba38eb61bb2cf1d1ba0a3e503be3a053bb062b00bbc5beafbad1552a3b6b1b86bb1acfb0ba970e9d3af7741c3bf97477bb1184353980802d3a4cff993a74e22fbb000000000000000000000000000000000000000000000000000000000000000005ba23bd94704dbeec4e1d3d6fe100bc234a6fbdd06845be1d741c3d695bb4bbf83685bdffb32dbe2a54d73c458d57bb4f7884bd76b30abe7db3a83ca46500bb04295bbde2e2bcbd50196b3c42e2fcbabec913bde5a740bd471d033c462e62bb6ebb66bc51c1a5bb3a1ec739eed69bba000000000000000000000000000000000000000000000000000000000000803fe4f72ebb513d7e3c684e9dbd197bac3f4fecdcba64e88f3bbad622ba79618e3f093b2fba91b1ddbac4ea333d8333673f417a3cbbf8cabebb96618c3de77f2c3f6c8a96baa678f0bb35b48e3d7f97e03ef11119bb31e885b95a45573d8a045f3e653e76bb1183773b0ac3b93c111a243c000000000000000000000000000000000000000000000000000000000000000012751ebea68bd93c0000000000000000c6b10abe309ea63c0000000000000000d875f8bdaf30863c000000000000000042d4dabd63526a3c00000000000000001824a3bdc0ab0b3c000000000000000059e029bd5571363b000000000000000021fccdbbc0df8cbb0000000000000000000000000000000000000000000000000000000000000000000000000000000086503cba85cd813a10d9163d56c41ebc05de0ebb4de1af3be7f9233dfcef33bc7336bdbba422fd3beb86093db6a1fabb1e82b5bba7b1323c7ba5ee3c9787f4bb025f9fbb7a64543c4e25a23cc9ddb3bbd69025bbd5576d3c0f130a3c9eda94bbd0e45cba69f0463c3a4b0ebba42e7fba000000000000000000000000000000000000000000000000000000000000000005713439b67a813adf77083b69daa6bce85cd4b98498043abd2cd83b62b221bd8b36d0b93665dc39be9f5c3c54b13cbd83909abadeb3343a11a4733ccb0d64bd9452d2b87b09bdb7fef26d3cbf186dbd0e3024ba2ee713b984a81f3cbccc59bd7e21a6b99f9af9b9c31ae83b8f6127bd000000000000000000000000000000000000000000000000000000000000000003411abe3769f93b4256f5ba67e18eb700c91fbeec71923c011999bacfea483a7ae70ebe99348b3c1b5396b9ac602839b81ef3bd541f953c86759e3af0b1c1b84b14b2bd85dd993cc969a7ba9acc373aaaa93ebde099813c9b196fba37bb433bebaab4bb408ee93b4c5f32baf9d0373b0000000000000000000000000000000000000000000000000000803f0000000097fcf33b37b535bdcec99d3f578fedbdad9acebb95719e3c9989843f8201f8bdd1689cbc56d2783d08cd573f03e8f4bd5419eebc3461ba3d416b243f3dcce8bd8c39eebcbc4cc43dea61e33ef002cdbd8cc3ccbc4461a93d0bdc7d3e0e479abddb2aa2bca283693df7986a3dbb5443bd0000000000000000000000000000000000000000000000000000000000000000790ce53cda7df5bb000000000000000081d8f13cd7e521bc00000000000000002216ce3ca82a17bc00000000000000002537b53cb1230abc00000000000000002e08b73c335709bc0000000000000000d5e6863c599b22bc0000000000000000d6cb6f3c5b84ebbb0000000000000000000000000000000000000000000000001909533b5af188bbc7569c3c9a41adbbb5b3383a9bbe0c3cd0cd1d3d47aa86bc30f290bae612393c23bf323d641c77bcc13839bb6fcf5c3ce35b293dc7546cbc470b41bbd6e95b3c6b750a3d789d43bc153103bbff2f853cddeec63c66df41bcadea82ba2d40843cb86c253ce3e6eebb957f333a2da5313cb1899bbb7b5ef1b96467543a4467bc3bc04713bc08d8cdb9158dc33afd77ba387abe5dbc63b7693bdc300f3bca6b0839c1af67bb6ee5eabc4cc4cb3a6b1acf39492daab9c47015bdc9a399b9a4ec883abb31053bbe0c2cbd9304e939fb6ba2391251c03bb0ad3fbd0a1a063aa7228c3974e1df3b204a56bdc3d2923a9d1772ba88e3083c59be4abd9b00463aca62aaba9cd29e3b479dfbbc10cd5a3a4fb031bacd90593b028986bcb83990bd0acdccbc485ad03b7d3f19bb12d811be81eb723a0f03073b64d7393a02052fbefa40123c53deeab9f5cd283ade3a29be4ca35e3c865a853a652934391ef60dbe35a9833c5feae33a029605b8285dd3bdd69ba43c4003b939383ee43a2b906cbdedea823c2e724539133c1e3b8d1b01bc66aa033cdd2ea0ba45e26e3bf6939e3cb508eb3b1a5263b9a84ee53abfb3103d0dc916be05499d3ffbc4843d0cbe203d7d6401beb293993f089c58bb311c573c4c5772bd4778883ff7fe2ebd826ea6bbec2206bb16b3603ff1bb91bd5c18aebc55ce183dd3852d3f9236aabd09d8e5bc2c6c663d917bf43e7617c1bd6338ddbc8dc1593d59588d3e9099a5bd1b359dbcfb99d33c83acad3d502358bd93ee96bc52d38f3c0d1871bdfd6c2abd156797bcdda1a43b0000000000000000123be13b7d6db1bb0000000000000000a54a773c7d9303bc00000000000000006177ad3c2e0e06bc0000000000000000136ba13c9d7d10bc0000000000000000908abc3cac733dbc00000000000000007208a93c49082cbc0000000000000000d316613cdf8a14bc00000000000000002de4513c05c7f6bb0000000000000000a36f833b8b2781bbddfe3c3c6486f4b9c52eb23adfdb06bbe9d2103d0f4affbb9a6c08ba90c797bb52181b3d067d92bb401292ba6ea4313b3109353d8fa11ebc106783bbd0e1393bf0640d3db4d800bc8e1619bb657c363c23f4dd3cb3bf26bc339924bb2023113cc4cf8d3ce464d7bbf7a80dbab219233cf8aa5f383b1e7dbb9627c5ba2248f43bc9f291bb06625abb2b09213a1d847ab9b8a991bcaf4f843b49e2383a15b4e1392e5906bc13dd24bcd42d9dba3a243e3a20e0fbbb7437d0b95a049c3a616b4539abd5a1bb1b518abc004709bac4b8d4393356583a1f2a8dbcda023a3ae37f00b95c6b903b1b8c06bdb5ee02bb0339963ae0168c3b2776e2bc06ff633ad91f02ba7ec4b23bde19e3bcc9d80d3b366d56bacbc0823b0fe628bc8f2ce8bcf8093abde6811e3c26be7dbb7f23e4bd909815bd0341573c08ffa7bbfc3b0abe7ddfe8bc59762f3c870d94bbbf7522be2fc0d6bb51ab853b8e2641bb931609beef6e8fba218beb3b540d11bbebcee6bda8ae4c3c7c6c713b9c45f7b91ef994bdf912653cffcd283b950d2f3a6794cdbccab3843ced71ac3964d7af3afa8b873bab06383cae11e2bac930dc3a746a3a3d11e726beec8b853ff62a813e3a41423ddea12dbef05c8a3fa5592c3ea645a43c1d38c6bdebf06f3ffd5adc3de75d513c007c8ebd6c77593f1f57c83c4a13a7bb044fb0bc228b293f669c70bc62097fbc9843113b4cb4ff3e2bdc70bd109cb0bc4392ae3c730e9e3ed4e68cbd07d397bc5dc9433c4af1083e201b99bd23f894bc0b17ba3b68e2b1bb5faa84bdeee16bbd6876873c0000000000000000899939bdba11323c0000000000000000c09d00bd0d56123c00000000000000007d7f1fbc5992903a0000000000000000a6fc97bbdb52a5ba000000000000000013be143c2e82dcbb00000000000000003ce9193c5b38f5bb000000000000000072b1933cc48431bc0000000000000000e148943c1eac17bc00000000000000008e56603bd532b5bbc1c58b3b2e4bf63b291b6c3bfa3717bced59f33ce0fe313b3d70063bc136ccbb10ce263d03a0f6ba4e735bb7ac079bbb5365393d6b8e09bcd850ccba862783bace692c3de87affbbe38d19bb04c2943b0753003df2bf36bcec359aba64aff83b3a53a73c7b8916bcef07f539be120f3c9397d33b5f9903bc8fbd8a373e11a23bef12f2ba3371e0bb3b303aba965e0c3a2e089fbc6722de3bb9801fbb3690503a199e72bc28034c3b267c1bba7d8b9b3ae06e6abcb55b9c3bff7bf63956f23c3a3d3d31bcc052ae3b0dc9f7b948091c3ab93bd5bb4beb23bbef76c63a2521d1b9c2fe60ba86bd4abcba91db3ac9a004b9b6d9cc3ae903a7bcb8a6303b5d5308ba701d903ad0f5a2bc9692af3a6dc47838f3129a39964c46bc4d67593a2f2290bd0fef553c2fb5f9bb30f8a2bdd5368dbd5277963c331013bc2d9a06be562649bd8025663c2c4116bc3edf1abeb4d3e5bc9689283cc300c4bb56be12be284749bc96b1123c0770abbb7c0cf4bd928d833bef9bcc3ba7f2ecba5b05aebdfda26d3c62d6613b16fcedbaf9b71bbd736ca03c1d869bba32c4ef39748adbbb5150ab3cf952323ac32648b87ee0293dab551fbe43a95c3f1489e43e679e4c3dc7492fbea33d683f6aa6ba3e156e183d49010ebe76285d3f421f803e666fcc3cd1c3d3bda5d5453ffc45133e986d013c359c8abd8c6a253f5015673d4d8124bb417c17bde52cfc3e31c607bc062524bc0da882bca9a9a83e3aab60bd79be70bc1db346bb74bb253e973ca4bd05eba9bc2c43163c9533e13c0173babd0e73c4bd2bf6ee3c0000000000000000ba14c3bd4e66f23c0000000000000000d44d89bd1a1dab3c000000000000000039cd2cbdba4e433c0000000000000000daf2c8bcbfeae63b0000000000000000219ffbbb5172a9ba00000000000000007aaaa83b6bc8c6bb000000000000000094cd803cf69929bc00000000000000002fbea23c036308bc0000000000000000508c693b8975c1bbdbc319ba59835c3c9f40963b7e0b4bbceb5cc13c59984d3c833a323b073c48bcfd2e0e3df28db73b9f71803aa85a28bc63bf343dc327d536839f7339929148bc8d87f43cf9e6b03adbd813bb2b11683a9c59163db8c508bca53c0ebb2f4c863bb6a8b93cbaa00dbca95e87baae5aef3bc14f163c054d11bc446eddb9af71c33b5ce0153ba2c906bcf4da7abb1eb1b6b8c13892bcc0dd043b5d0fa2bb5de2e13ac4187ebcf6d1ba3bee2c63bbc7548b3a34406fbc33458b3cb16b47bbbb8ebb3a60b988bcf9078f3c7a665abaf3a1ef38cb0b11bc9c91b73c48646db9734c1b3ae95adabbc49b073bbd60efb8d31be439637805b91d3ebdbb10fde93a1c9123379e3ea03936f34cbc3a1b053bb38fe9387416c83ae76907bc5762a13c6cb4afbd73a5693c6557b5bb54545abd1bbac5bdfd1ec53cc3f661bcc378d4bd118d9fbd7052a73c54751abc9bcb0abe281665bd7e0b943cc85715bcbd85e3bd8b9116bde19c3f3c73ff89bbbc17f9bd917b25bc8c61193c22d09abb0c4cb5bd5195013c34f6a93b94b5abba5b8446bd727ab13cb56a1e3813001b3a939289bcd909c43c197e1aba548994ba3c931d3df6410bbe548a2b3f56de243f09623a3d8fea1bbe196a373fc491103ff6d10a3df98c06be72d3323f9994da3e3c12ff3c8851f4bdc8d62a3fb86f923e494cc23b707d85bdc388063f17d63a3e9ca1153c496189bd6546f03ed073613d923331bbd1e214bd14a5a33e0ed087bc12ffe9bb5ff99bbc4ee7353eda3c9dbd735280bcccb983b9f735433dee9dd1bdaac700bece78103d0000000000000000d7290ebed4bb303d0000000000000000c36dd9bd4b37fd3c0000000000000000c2e4a2bdc5c1c13c0000000000000000678c5cbda6475c3c0000000000000000be76e9bc8265b93b0000000000000000950b09bcab2b0bbb00000000000000001410433ce32336bc000000000000000060af913c36b2e5bb0000000000000000d87e2a3b4eb46abb2ae945bb7d8e893ccf03813bb31d29bcbbd58a3cca2ba73cef6e423b78735dbc1b0b0c3d5b544b3c0193443b1c023fbca11a1e3ded35e63bc1a2e439ec6e33bc69dc2a3d9df30e38d61e3e3a898080bb3289153da959f7bbabe895ba50f5fc3af02fdc3cd71825bcd6a84cbaf55dcd3b13c0423c8a5441bc27d12ab85df98a3bd41a8a3b5df41fbc62da91bbf7b8a93a7da33ebca8389fbb68080bbc5d03183b07f235bc4f119139e3c3a6bb3d6ad73a4a385dbcaa9e863cc9e798bb696fa23ad7335abc943f9d3c49ca31bbaee6893ae94664bc070ac13cdda8a63a0886c0b8e72d0dbcaed80e3ca0cbf33a364d57397c1b6fbb015d5e3b1d99423b9a80643977569bbac92a97bbe8291c3be86e9938ec849eb9fb6980bb6139073d2898cabd03b8683cc0160cbcf5ef07bd47bbf9bd131bee3c644278bca662b9bdb88edcbd3c4dd83cb66a6dbca618edbd749ca9bd4d7bae3c071b20bc424a03be29b053bd65738e3c699712bcfdc7f7bd4f449cbc0bc0103ce6f29abb0eb4c2bdc659823bf6ffaf3bedb455bbe99062bddf53b83cd68649392b0ca6bac722b3bc8703e93c0189e5ba96d913bac23d023d7e13e0bdd8f5f13e8dc1563ff6a1213d1ba601be1059053f4c7a453ff58e0f3dbccffbbd1bd20b3fc0a41c3f5dcef93cb574e8bda8ab073fe5e5e23ef218c03c895bcfbdd94efb3ee5418f3e5e3e9f3c696aaabda559d33e55400b3ed2e4103c52b37abdd8a19a3e5fd1c33ccf7fc73a17a11ebd15a9323e758581bde66527bc26b922bcfdf36f3d3509ddbd3a8915be30752c3d0000000000000000d0c82fbe62de573d0000000000000000a0d812be8187373d0000000000000000d531e3bda1b0073d00000000000000003707a7bde77bca3c00000000000000007c3942bd52672d3c000000000000000050fcafbc57e4813a0000000000000000f091c13baa3805bc000000000000000004f36d3c36c0d2bb0000000000000000c5fc0d3b98d916bb923d2cbba74c9c3c07548a3b698b1cbc849c883cc5d7cf3cfea0413bf7fc41bcd54db23c3beac53c282b373b3b6460bc45c8103db9f0673cfc31953ab5a353bc126d0a3d2d9fea3b0de08bb92d5db8bbe840133d7a3188bbb307b5ba16a7edba570dca3cded8a1bb8acaf9b94cad753bee9c383cc9430dbc2959b2ba9c06d23bda29fc3ab14131bcb1bce9bb4d77e33ace7698bbf36e5ebcf8353fbc5f1e4b3bfea3bebb8c3526bb6544fabbf774f23a30d73ebc737c763ce3ffe6bb7159b43af28e4abc1b5fa63ca7c53fbb43cda7391a9029bc20e6d43c8f2a27bad9bc303a50a800bcd079983c7772dbb9c8651839ff7175bb34013d3c696e883b97e29bb9ca725cbacb05d938a01e703bae30e7b859cb193a1a1d61bb54f2ea3cef17cbbdc88b8b3c68d926bc651eecbcec0310beec95013ddcff86bcdc9177bd2be604beeb9bd13c44f05abcc229cebd938ddfbd87fedd3cdcb549bcb3dcd3bd73cd94bd849c843c0551dcbb8f5be2bd950c1fbd7290863c7e4aefbbaecfa8bdf7616bbc719e1a3c194967bb3d2f53bdd8ca9e3c221ffbba92e77fba2082a8bce0c0013d212089bbb3e3d6b91c27ba3c69bd8dbdd0638b3e36e5823fd72edb3cf2eab1bdfbdfa43ebd49783f4528df3cb79fb2bdaa74b83eaff9453f0909e53c7930c5bd9ac8c43e37a81a3f6057b63cb6eaaebd83e0b73ec14ed13ee76db23cdf41b0bd2e03a83e7e11713e1e472e3c1c846cbdfc09783e1d3bc73de090263cdd9d42bdf3411a3e694026bdc67ea6ba8dfc9ebc64b1543d110ce0bd4b2621be6685393d0000000000000000044044be73e66e3d00000000000000006ca11ebe7f543b3d0000000000000000b6bf0ebeafa52f3d0000000000000000dcd0cfbdb560de3c0000000000000000ad6b96bd9470903c000000000000000019db30bdc1b21a3c00000000000000004615883910801abc00000000000000001f61783cb7b9efbb00000000000000004196103bf9390bb9ce07a9bb9232c33ce6b3833ba2eb02bcc3709a3c06ff0d3da85b863b14f352bc356ae73c3264e43c97cc343bfb2b64bc7dc2043debf8c63cd787173b3d9655bc829e0d3df30d633ca07dd53aa1dc2bbc3a56123da22c883bbb1cbbb8ef7e33bb4d20e03c2170d6bbc1a283ba1025953bfe04113c70ca28bcc175b9ba3bf1953bfd628b3badca29bcda380cbc670b353ba01649baebae95bc5c9e95bc8ebfc33b50e5eaba9d3aabbb2e2d43bc5f56273bb14ff9bb389f3b3c55fe18bce261da3ad24e09bcb6e6973c0b88d8bb49ce993a80b622bcf8d9be3c33c261bbe9f0433a6805e6bba019b03cadba963a83c4c537149285bb7bb04c3c5235c03b38f84bba3081183a290a1e3b8614313bf67add39a723af3a6170a7b848c6d43c3906e7bdf685373c5d2422bcc9440cbd63be22be3e18103d5dee9dbc30fd86bd67bb21be36be003dcdae6cbc2d60acbd49760cbec8b3e03c0e1e4ebc5f32bebdf439cfbd8107b83c08e617bcaf73cabde3fa7abdd7b58b3cac30f3bba5aaa8bd0fe9a8bcb915243c08a98cbb6a583bbdc4919c3c04fa6aba540ecbba2070a7bc311f003d486129bb12c053ba7028353c7cb6dfbc4437a53d3c049c3fb6423c3cd5c003bdf80c013ed571923f97c7983c696066bd09c5463e359c743f4b48b13c23ef84bd87846c3e0ef53f3feb99ac3cd46091bdcddb773e2030093f03e5ab3c88239abd4a846f3e290bac3e0564903cfcea80bda1583a3ea28e193e7cee423c954e34bd01bbd53dfcf5d3bba102813bfb63c8bc4d93353d9771e8bd1af219be5c7b253d00000000000000008d993ebe1e3a6d3d000000000000000091c22abe63644e3d0000000000000000ac8e17be0ae1383d000000000000000082a7f9bde4b5133d00000000000000001aacbfbdc19fcf3c000000000000000000bf5fbd1890363c0000000000000000ef5b66bc3fa4d2bb0000000000000000eed9943b2e08a4bb00000000000000000000000000000000000000000000000083b1163b0d72a0bb914b703ba945f93cf328313b80e72abc40534f3cfa25053d66ff763ba40c5ebc02b9583cc87fdd3c4ad80b3bd1c05dbcbbec863cd919ac3c51c1933ab9b00abcb23e9a3ca4dd463c03151c3af82b9dbba36ca03c7d2b123ba3e207b972fd41ba844f523c01f87bbb000000000000000000000000000000000000000000000000000000000000000097b206bcd9aa093b43ea7c3a889441bb39610abc0e6c643a00ee56bb510a1d3cc164b7bb05680339fecfd3bb6cd7943c78cc76bb9f19ceb90b00e6bbe977bd3c431946bb30f978b8e403d5bb823ea83c57ddacbaeeb94a398e5763bb46638b3c32cf54b9a2fb203894f8bdba7118e93b0000000000000000000000000000000000000000000000000000000000000000e3d475bc5f0a14beb834443c229015bcf3ed1fbdf02a13bed622853c1b8bf3bbf9b449bdf59d05bec6aa653cfb1ea2bb8c9b6fbd9042d7bd9438663cca8993bb8a5285bd841595bd2ef0443cd8af31bb0a7373bd119e13bd42d0143cbb5707bbb5c42ebde7702ebb2c87b73bee5e16b9000000000000000000000000000000000000000000000000000000000000803f6680213bb77f44bbb188c8bcb6e99b3ffb02273c4ae59abc3bfb2b3d8da1813f1b343d3cabf60ebdd4c2b33d50eb513ff9a6773ce21c2fbd9a72e93d128e1e3fbed5713cca2238bde26bf43d7760d73e68b7743cc5812ebd6568d13da94d683e1a03323c158f0cbdf5cb8f3dcdfa383d00000000000000000000000000000000000000000000000000000000000000001219fbbd3a6b003d00000000000000008f42f2bd4991f73c00000000000000009881e4bdde9ed63c00000000000000000d46d4bdb786bf3c000000000000000030d0b1bdea148e3c00000000000000004efc7abd4cc22a3c00000000000000000ec308bdbff3063b00000000000000000000000000000000000000000000000000000000000000000000000000000000ce363fbcf5209f3c360c3d3dc12a153b480fb7bb66f2a73c3a112a3d35e6de3bcac74bbad148a73cfd7c013db6e1463c849f143b2864843c7b2bcc3c49ac233c334e583b129f593ce9e4683ca3d6123caf375f3b900a013c343dd13bb953013cda28c73a21676b3b39e565bb21dc813b0000000000000000000000000000000000000000000000000000000000000000698beaba4cb083bb532a0d3cf76df8bb3a28ce3a4c2cc6bb59a0c33bdc2306bdf0f4803b4b52b8bb86bdc43a98333bbdc381c43be3cecbbb3e4a09bb47db3abd0acb5d3b9db7bcbb9e5d2bbbb64e26bd2d9a503b1e6ba1bb041dfcbb37d4d5bcc8657d3904d8efba7265ebbb4fabc5bb0000000000000000000000000000000000000000000000000000000000000000fffe7abe8c260c3df84a2abb755a50bbbca366befa59ac3c4ca75ebb7aa811bbb3f755be70cadb3b3f8d88bb4f94e0bad3e72cbe8cc3bd3b046fbfbbd16d19bb0451e0bd7cff26bb41b4cebb473dba37e97173bd1abfffbb6e42b2bbd975933af7b3d5bb5e8cf0bba57ca3bbba931f3b0000000000000000000000000000000000000000000000000000803f0000000003f8aa3c556bf0bda46daf3f7e1518bea9c93e3c819f31bdb4f98f3fb954dcbd8395193c4d311abc3a92713f970abdbd7539073c1e7a873c1a3e323f3dcf8abdb004a23bbb890c3daa36e03e52a117bdffe1d83b466b133d9ffd583ee0a159bac087843b29c7e83c3fec0dbc1d29c83c00000000000000000000000000000000000000000000000000000000000000002350ff3c935d76bb0000000000000000af5eb93c7102433900000000000000005f25ae3c59e6d53a0000000000000000ae2d803cb80b663b0000000000000000e8a04c3c61c7943b0000000000000000432f473b0331333b0000000000000000cbe959b996ed4e3a000000000000000000000000000000000000000000000000797856bca799693c2846923c47ba6a3bcd717dbc6d94aa3c9797f53c11a8953bb00fedbba993d03cba19173dda7e5f3c04ff2ebb9dd0c43c6b78043de835843c967776b7bcdea93cff67bc3cd2516d3c207fec3abceb853c4540853c745b513cdc4f303b16c82d3c911e123b1fda2f3c5b8476bad9f70c3c734341bba71fcc3bfd898eba9ed8433ba3500ebcf8fb72ba13cd4abb425263bb29677a3c2173caba1c7831ba071eafbbaf0b863c8c725ebcd8fe533a15ca1dbc41768b3c193a27bdbe93d53b06503cbc133d1e3c939d3fbdc7059f3b185304bc94e5e53b1a8449bda614a13b3bef17bc9573903acbce26bd774b933b9748e8bb7ab874bb8948c9bca4974b3b8b6ea6bb0f6dc9bb41993cbc721b2abb8ce38cbabd6f0fbcce98473cf478fabd553a803c406807bb3739f6baf82d37be79c6763ccfe6c6bbf6961c3aa20369bea4c7b13b66173dbbe98b4fba123560bea76ea0b9698feabb3feda6baff6734bee6c559bb2ea6dfbbce8f75ba220d03be204017bc7843aebbcdd5b93a1c3987bd2dd02ebc1d71ddbba4a4373b9f22c0bc3f6721bc5c890bbb61412e3b3dd7843cf6519cb9a14adfbad592a33b37b7443dcb5c77beabbbae3fb7fbb9bb27de0d3d180530beab7a9b3f2fd3163cab0ed03c55880ebee8fd933f50a7d1bc7b87b03cbe1ac2bd07c2763ff9a4dfbc4f749a3c924f5fbdbf4d3a3ffe62c6bc640d833c67a9d8bc61eaf53e2f5e04bc6347293cf24259bb1301733eafd2083c077bd43b85aff13b8eda633d50afab3cc7d62a3c0e3607bc7612e4bd450cb63cbec1393b61d806bb0000000000000000e5bb9d3a403f1c3b000000000000000086059e3b50b5cf3b0000000000000000037c223cbe8b063c00000000000000009b46193cf53eb73b000000000000000070ae873b3c02ea3b00000000000000003e886c374b1dec3b0000000000000000d3e8bebbdb39943b0000000000000000eefb7cbba55d4bba0000000000000000ad3dedbbddaae33b9cefd33b5675053cdc0c27bc0d8da73c930da03c4818703c1d39d8bbac8bc33c2b22db3ce1c79e3c70e85abb17eac53cb226b73c463da53cb8aa103a824ba53c06e9823c65218b3cbb82eaba2ee9963c7b052f3cef4d873c8d9c043a20a53b3c3062cc39d1852b3cafbc8eba6415193c23edaebb8e40c83b495815bbc5057f3b33dfd4bb957948baf6f2c2bbbc6027bb97f8983c8e7b85bc4125cf383c08f7bb9ee1bd3c44c500bd2d3bc33a5b8837bc658ac73c80fb50bd86f4683b012435bcff3ea93cae7f61bd6d7ac63ba4a821bc7608353cb37853bd0406b33bb5772dbcb4db293ca8f22dbd446bae3bc9deffbb141cd73ad35bd5bc618f333b986abebb696d95bb151aeebb2759153b20bb5dbbdaadb9bb4f05d03b7be25dbd53fe0cbc09f9acbaeb48de3ab9d71bbea1db85bcaa98ddba51ef3b3a26f446be1bd391bc14a505bb68cf5bba464445be31c38fbc92c9abbb0a350b3b9b2426be626367bcae87acbbf7f4ccba9237fdbdf5115fbc6c1606bc87de053bc4e48bbd095f17bc8de6f9bbadaefb3a3618dcbc20a09ebb1d7181bb9715573bc103453bf010553bafc052ba532b173be43b333d61436abed5298f3f6a48623e4401313de69866be4fca933f7539283e5fa9053d8e4f3bbe17d4893f89cedb3d2740cc3c747b10be1be76b3fc363863d49bcb53c2442c3bdd85d363fb079133df376923c053e83bde224f73ea309ce3ccc38883c192618bd8e6d833e6123813c52c34e3cbf6aafbc6b18913dc58e163ccf93323ce734a3bcf74737bdf912c0bb942647bd5c5d0f3c000000000000000093d41abd2d172d3c00000000000000005788a4bcbcaa473c0000000000000000117432bcbae2253c0000000000000000d93594bbbc882f3c000000000000000044ebc2baeb38253c00000000000000000daf1eba8e39123c00000000000000001102bdbaf3df803b0000000000000000fba915ba0a7b8a3a0000000000000000c3ba73bbec16a73bf67d283b32ef733c51b4f9bb8bcd823c4899833ca3e3ab3c00e690bb98dab03cf2c1993c2e63cc3c1dfa5e3ad182ab3caef28a3ccdd0c33ce0a0d739e6839f3c2912613ce9699c3c579d91b9d1408d3c453bfd3bfef5963cedac923990ee633ccc9998b9d4873f3c1b3466b9a34c183c1b41afbb6cb8b03b4d2500bb8a1a753b5b77aebbfa8adab95ae391bb03c88fbb7f71a53c2e9af8bcf3d4f5ba1f0613bca124bd3c3c3e10bd80d92b3b45b427bcc7e9d43c2e9d5dbdf9e7c23b323e4ebcc28ba93cdf7674bd9294083c07eb48bceacb8e3ca32a5dbd1587f53b081747bc82ba3c3cdee840bd08628b3b234b1bbcbf589a3b1a1c02bded4d9f3ba39b0cbc4f7af4b98a275abc0ed25a39c0d68fbb6666f4baa850843b753be1bc0bd827bdc6aec83b98a426ba9937edbd502b68bded33c33b8d78cf3a3e8121bebc3460bd09700d3b47c3a8baa09226be6c7d39bdf6dcd2bb0955f939035218be88cdfebc2843f0bb25fe883a999ce5bdbbabb4bcbeab0ebc6527553b66d288bd920f4abcf93bcebb15901b3b793ae6bcb1dbe5ba3db956bb6429543bb32a833aa7a40b3cb9a079bae82eb03b4f10143d43bd59be98cd703ffe56e53e89991e3dbd755dbe0ad6763fde20c93e621ff03cdd693abecc066c3ffa4b973edf97b93ca76816be64f64f3f501a4e3e7017b73cc9cef0bdfb80283f0aa4f93dee6e943cdab4a3bd8e46eb3e42a1893d5a85653c0f2b4dbd7c23853eab62d83ce3da7c3cda7210bd1246bf3de0adedbb5f564e3c850811bd8971b4bccba917bde658cebdaedca13c00000000000000006784bfbd055dc63c00000000000000003e4b84bd72b4ac3c0000000000000000b93214bd1b27a63c0000000000000000b683a7bc149d643c0000000000000000ce593cbca86d5c3c0000000000000000bbdf1dbbd199193c0000000000000000330ab83a40c7d73b0000000000000000fd96b13b061e803a000000000000000048e800bbda109c3a60aba93a4f07973c4e5775bb39420b3c5793333c1df6d33c55b5d5ba14b2733c1da08d3c90abe53c4f6667b90c57943cc866473ca542e23c7605ff3a8411853c597fee3b45d9ab3c1b0c2d3b0fd66a3cbd1db73bd94d7f3c9f6d7f3b07d8213c399e00bb9eed3e3cad0362baea750b3cf151b4bb9132a03b930e6dbaf722903b183bb9bb4adf09bb8fba74bbd903fbbb809da03c4042eebc494ec9ba98fa16bc8f20b03c84bf04bdae302d3bbb3948bc71cfbb3c29e733bdea88e03b3d325dbc63fab43cdd4659bd0ac2963b5c4415bcc06e823cb5dc60bd88c7b73be9d933bc58ad823ced953ebdb474b53b79442abcefc2c53ba04f07bd2879803bad2f0dbc0781023ba56773bc7b27e53a6c79ebbb9bf4e8ba635be3bafb9675bbcd1092bd9046683c8fcc763a77fba1bd2b3bccbded298a3c1a20c23a8fb0f9bdf26fcebd8c66253c417a113b0d790bbe64eca6bd4bf3763b4cd58abafa08e3bd96de66bd1d2ab2b98310ceb907b1cdbd892100bd370ea5bb4237f439154075bd642e56bc03b5cfbb175fc13adeb8e1bc0bb42e3b6767a2bb6b56313b01a43dbbcff9723c1ab531ba67a0bd3b9dfae03cecac30be27db313f79a0343f7e88df3c034034bea2143b3f9ee0233f2d5ab83c1d6c22bef4a7373fe307053f1d14a03c7b6d0cbe46f0293fc4cbbd3eaf40633c99c2c4bdf193093fe129723e8b324d3cd638afbd1c55d43e2c16f23d3a5d533c0c7e63bd0d137d3ee3c81f3d1678413cef4d23bd75bbd53d48c2b3bc5a22503c59e40cbd4fa299b9572684bd558023be681c083d00000000000000009c231abe11fe123d00000000000000000c4aecbd4babf43c0000000000000000bf239fbdc6b9f03c0000000000000000f1f344bdf1f5a73c0000000000000000d7468dbcc0a3843c00000000000000009dc53abbd7a43c3c00000000000000001e6af63bcef9fd3b000000000000000075b1523cf7f2173b000000000000000052f674bbbaa7b0399ea49ab9ba43903c043f63bb4ff38f3b7cbd183c31d0003d69a28cbbc9b5113c63b6733cdb260c3d9fb61dbb1f1d553ce81c633c68e2ee3cd9ddd83afb30403c4bae133c25babe3cecbd7e39598e473cfc27903b5bbc983c8893f33ae9abf33b21523e3ac1433b3ca32f9338c5afdf3b183d94bbbfb14d3be10291ba3e96833b065afbbbb4ee96b997c271bb07a8e4bb0593833c50c9bbbc46919eba823a33bc384ea03ce757c7bc6763823ba7e236bc5af2c33ce9980dbd6a53b63bc8423cbcbda4b43cc25723bde53f8c3b8a4c2ebcbfbeac3cc60437bd7d929c3bd18037bcc6cc893cd96a2abde2f3bb3b86f927bc50aa4b3cb2c001bd347c463b2c1c0dbcff93ac3b23677fbc7d3ae53a3c2cc3bbb58f6f39969883bb5c347b3c8b65c3bd6e95a53c019d6f3bb6dd41bd03f414be2a16ef3c7ffdb03a96ffb8bdc70e19bec804983c117c7ebab9f4d5bd34c900be29611e3c5534013a0190cfbd1ae8aebd64299f3bb91ee2ba1be8abbd28cd4cbdb70284bba02da0b920b262bda65bb0bc77c3b8bb366703b74c4addbc9227833b91e640bb9e7edd39e9bf0439dcf0a83c699591ba59101d3ba5e9733ca993e5bd1a86de3eba53733fea71903c34db00bec5a9f53e4383623f5638623cddc0efbdd0effc3efdc53e3f8f0d373c091bd3bd9e15f13e15980f3f18ea103c140ab8bdd4bed73eda79bb3e2b81153c781298bdfb56ab3ef99a493e1884f53b90b258bd0ea9613ebee2853da79ee43b457c1bbdc794d83db742dbbcd94e1f3cc558e9bc82a1603c71dcb9bdb9c24ebe3c39273d0000000000000000b7f24cbea79f353d0000000000000000675e23beb054263d00000000000000005195e9bde4f5063d000000000000000034c98fbd586ecc3c0000000000000000728ffbbc6e44a33c000000000000000057eb97bb947b553c0000000000000000122a513c889ed43b000000000000000040c6823ca9b21b3b0000000000000000c2fea3ba0328a5bb2fa07bb9ba22a43c909465bb291172bac4b2253cd23a0f3db15ba2bb7c82713bd344843c2c21193df6b619bb4e98ac3b88a46e3cd98e023d6a9ab7b94d51013c27491e3c4f89d33cb72617ba9593f03b46bcd23ba8789a3c729c063b9dd1d23b7865003a69f5313cad2f7a3a3e35973b4f904fbb6b0c603b34b6043a09caa93a95a28cbba67460bb29225ebb04d3d5bbd602373cb9563dbc7c9f1bbacd022fbca6a2583c16ae4bbc15fc533b544131bcb569893c867884bc2917c83bc3542bbca8c3833c4616c7bcddaea63bd0cf02bcc057733c25def3bce052a53b2fac1bbc2ba3713c6bfaf6bca7a1833b5f1f18bc8948073c8766cebcff92573ba2cbe9bb666eb43bab5a78bc56910f3a0267a2bbddfec83a274b96bb3671bc3c0643dcbd1734ea3ce0f03038f3ceafbcdab93cbe104a113d15b5ce3a452778bd7cdc49beb50b013dea701bbbb97c98bdb78a2cbee846873c14ffeaba252b95bd582ffcbd666c1e3c5e8679bbe9a886bd13c597bdaf974e3aeece3fbb4e883bbd04ccecbc7a1f96bbad7600bbf54bc6bc0ef55f3baffa9abb3742b4b7b3c4fe3a1d56b33cf7e489b816978539b176803bb24b6cbdf72c533eff1e903f1422a83b2e4b86bd49f5733e7f648c3f2608223b430186bdd38e873e74ff733f5277ff3aa08f80bd923d8f3efaec3c3fd664803b683660bd8103873e2e78023fee69a13b296b51bd6d2a6d3eb9c0923e3aa4863b822b21bd16b72e3e491ed43de410953b73f8eabc0dc1bf3dafd6c6bc549d943b41d9a6bcd002af3c9278d0bd37415ebe03b2463d00000000000000009a6964be5849503d000000000000000026a942be37ba363d00000000000000007b0c0dbe9684193d0000000000000000ee9dc2bd6748e73c000000000000000067ad2dbde868aa3c000000000000000041e9d7bb3a13473c00000000000000007207753ce711713b00000000000000005911db3ccabfc3ba0000000000000000fe4023bb592fa6bb4167bd3a0dccd23cc8eb65bb06d8c5bb2973173c08f8243dc75190bb3345ecb7ab76823ca868323d829c0cbb834ed53a5a9f793c57661c3d1bd2fbba8baa943bd6924e3c2178d63c5d601e3a6ffd8b3ba0fb043cc0d5a13cb9a782b93ab0603bf82e293b815e373c8c94dc3a41b5e53a6a7accb9b374cc3aeb5f843a360ea9b99c5fc1bb1533a8bb4abbd1bae1be0cbc2067653be05d9b3b8d5b67bb4bfd37bcce31da3b2ddc193bb6aa373b542c24bcfaad233c036920bae340b03b041918bc126e403ccf810bbcf1c3833ba886b2bbef153c3cf7ac82bcd65ca03b2e6de1bb0a57223cf53a8abcd856a43bc8f8a1bbeb58263c0cac94bc8ec2363b84b987bbf418b33b003029bc95f989ba372f74bbd1ac693adf9a8cbba2459b3cfc291cbef5222c3ddc5002bb1683b0bbfd894dbe5bbd493d710db6bb44d224bd5ce66cbe4017083d718738bb919f60bdc5bc54be95f9cb3cd527debb1bf163bde9bb1fbe95a4453cca0da1bb87c945bdd333d3bd46a05f3b7fabbcbba05f0cbd0c8140bd75f199bbba2adbbb1f0897bce98683bb73dc00bcab8f0abb8bdbf13b9f60023dbce0c4ba7737d8baea1ccabb223db1bbb18271bc32b2ae3f1c743bbbf470a9bcb2a8723d667d983fe14ab8bb3b74cdbc71e5ab3db57a8b3faf4f45bb6a42e2bc26e8ec3d797e5f3fc73bf5baf00ed3bc9319033e4a66203f6b2d87ba5068e2bceabc003e7c2cc23e82084b3a5353adbc947cd73d63b11f3e954e233a451797bca1b08a3dd7eba93bc8c3063b7b58cebbdf504b3c151313be10846dbea6124b3d0000000000000000cf5846be65df3e3d0000000000000000273d33be10f9263d000000000000000027e10cbea5d1113d000000000000000029c5bcbd4d7eca3c0000000000000000ca3844bd1e779b3c0000000000000000287cf6bb38d63e3c0000000000000000819daf3cbaf711ba0000000000000000da88133dfd7e85bb0000000000000000000000000000000000000000000000002c3698bba456b3bb0d1f7b3cd634303ddcd587bbadba23bb2831943c76fe173d62999cbb0029143bb69a883c41a4fb3c170e20bb406b223b4a55693c0d4eca3cfd962c3a4b76873a2a0e333c4e0c673c1035c53a634dac3ab0058e3b333de13b42f3ef3a80ed38ba38b7e6ba19ea603a000000000000000000000000000000000000000000000000000000000000000045b699b9bef808bc86f312baa1e59d3c3365343bbba7b7bba43ea33b1bfd083c23ec703b0fbe53bbb5cba03b70317d3bb3e1b13b48ec8ebb529aa23ba96f84ba69f7ea3aeb9a12bbdf64d83bedf30fbc67ddd23a4e58c3ba8595883b149604bc674a9339ef16e4ba1e1e143b069a97bb0000000000000000000000000000000000000000000000000000000000000000a1b179bc135c75be3306273d67e2bcba8e5002bd06ab65bebfe9e83cf2b5f1bb34c940bd2dbe53be1a26573cba3a8ebb175a37bd818929be2de2103c9214d2bbaca81dbd3f4bdbbd177a523bc1c105bcba84c5bc6c4f58bd6ac770bb30b4debb62a68fbb696382bb86c98abb3d1d9bbb000000000000000000000000000000000000000000000000000000000000803fe8732abc57df863ce344e7bd1dc3ae3fa0f6eebb99eb5a3bb7430cbd864e8f3f5123c5bbf040b9ba5e95b0ba2bdb6f3fe129bdbb8279cebad5d3c63cf90e313f513e5abba70594bb7484203dce4bde3eda9d58bbde19d3baa632293da878553eedb522bb5df0803be1d1b13ccd7cf8bb0000000000000000000000000000000000000000000000000000000000000000e8461dbe93bfec3c00000000000000008d66dfbd4b95ca3c0000000000000000d2fac1bdc6c6c03c00000000000000002b5a8ebd7542873c0000000000000000a0e220bd43b57d3c0000000000000000a6f5bebb3724e13b00000000000000007bc8963ca16576ba0000000000000000000000000000000000000000000000000000000000000000000000000000000089463bbc015d163db944063dccfc9dbcf19c6fbb39b8163df84df63cbf4088bc8613d63accb3163dc42ec33c5a610ebc2190bc3b4390fa3c3158893c054f0ebccf38dd3b7ba2ba3ca93ffa3be8588cbb28eced3b38b04a3c3f2b1c3b6dae12bbb17eab3b774b0a3b9fa3a8bae074cd390000000000000000000000000000000000000000000000000000000000000000815b573b7a7f15b9d2ce8b3c92b438bdbb09853bed9d6cba10e4413cb1ed97bd16df893b041019bb16cce73b5b86bbbd80a7813b83b91abba250c739ab24b5bd400e003b30509bbab5af32bb182c94bde266313b765121b8deabe2bb313337bd1fc3143aa57358391e61dfbbe6471dbc00000000000000000000000000000000000000000000000000000000000000005c4d5fbe2e38983d4410bcbc50b8633a136a47bebb1e8b3de96ec0bca13f833a02122dbe11f45c3d289abfbc5c2d2d3b86e204bea672323de86aacbc9c1b373b51caa1bd3aebc33c30d36cbc71db363bcf081abd37fbd63b71e817bca43a083b67c039bb230bfebb5437dbbafda2af390000000000000000000000000000000000000000000000000000803f00000000e7502b3c4888bebd940db03f02d245bea1d5e4bbf9b4063ce7908e3fc59430bef65788bc41887c3d6d9b693f09832ebe950289bcc05ec73db7a9283fda5a0cbe8db984bc0e61cd3d125dcb3e2b10b4bddfa1a2bbf00aa13d7aca393e0530ffbc8be28a3bce39013d7b26a1bcb463b13c0000000000000000000000000000000000000000000000000000000000000000b86e553d7db701bc0000000000000000d036523d9ba9dcbb0000000000000000f21a633d04880abc000000000000000005c5453dd1a989bb000000000000000026970d3de5bf8fbb0000000000000000561a803c888dfbba0000000000000000c58d9ebb2d1b273b00000000000000000000000000000000000000000000000017e166bc5e9fb33c172a423cda65d0bb710e84bc37e01b3d3003943cd25a4ebc7f7221bca58f3a3d4188de3cfc2c5ebc7dd56abbb324343d269dcb3cc03e5fbc8b4d393b1f52153d35cb8a3cee011cbc6a8e8c3b47aff23c333d183ca6c7c3bb5a4fa03b55599e3c8445a73a5b3245bba893513b71fb233cdf0d93bb513f2639c11b73b963a875b93581bbbbfc5161ba280416bb1030f23ac8e49b3c9843b0bc82320a3bca76fb3a7ac5cf3c98f75fbd7cab6a3b599145b90da6ce3c5681abbdfd2f883bb1ea2abae3da943cacf3bdbd603bc63b008b06bba987213cd7a9b9bd39f3883bfda25dba78d4913b808c97bdc413393b09217dba1fbc50bbc2923abdeafed63a337180b85694cdbb69e782bc1195663a4f2ddf392d2eabbb91ea903c0080d7bd0d74b23cea297cbbbc6c37bbdd9e14be6f09253d53a687bcebb328ba01c147be055d673dcdacabbc9a5289ba03453abe506c6a3deb70cabc4ff6e63942cc11be994a3e3dfb87c3bc9c5d373a5dd6ccbd0f58013d716b9abc1b12a53a8bd553bdeb805b3cb8b749bcba7e183bcd46a3bccf17f63a883faebb80d5053b1da03a3c1a6c9cbb91b64b3939178f3af3754d3da97277beced1af3f7d1b32bc6e6ece3c361317be32999c3f2a580ebdec57f13ba9b4ccbd5fab953f4631ddbd9353d338b2c334bd9c85793f3e8f0abe7dc9bdbb5b20ea3ad9223d3fb4e406be37167fbb8768c53cc746f83e8a9acbbd52a55d3a5f3fcd3ce7ba763eadb84ebd024c1d3cf1e9073c6b56873d63f5c6bb8e519a3c9a81fdbcef22c4bdbd15d33c35f7a73ade2216bb0000000000000000d6f95b3cfd5028bb00000000000000008e45173d7371a8bb00000000000000009a504d3d2833b3bb0000000000000000b8eb4d3d32ceb6bb000000000000000019162e3dcbdbc0bb000000000000000029cbd13cf6c947bb00000000000000003c48743ba1bc99b90000000000000000085118bca88ba13a0000000000000000e1ec2ebcd8aa833c48209d3bb2fd063adcf74cbcd3dd193d9b4c4b3ceaba23bb957f39bcae3d3d3d3174a63cff20ebbb87b4b6bbc8343e3d9bfba63c98e125bc15bd65ba3202243db2dd853cf70111bcb71b813a8361073dda8e143ce8ddf9bbe59f0f3bf45cae3c558d0e3b6cbebabb9d0c013bc7ad423cad065cbb9c4a86bb15105ebaba6c353b8cd89abb0ab83ebb9505c5bb186f723b1975983c9d67febc2fd14fbb9c2b4b3bda63d73cb6ec80bd1969883a17096e3a5de5023daf41bbbdfb9d7c3b21dfa5ba5693cd3c485acbbdd6ab8c3ba1d598ba626c883c229db8bdc905903b2bbad3bad312303ce18796bd033a6a3bf85b3fba65638b3b91a047bd03f14d3b1bde87ba280254bb16b984bcad160c3a7ddc5c3acd639ebbd616303c8b880fbd4830a2bc7acb323c9266efbb1f91f9bdf6570e3c9e044dbbe983b6bbdac823be60bfed3c81604dbc77e98dbbba7728beb04c283d65b2a9bcd08fa338094d0ebef2b32b3d7cdbbbbca640203ac2a9d1bd36f2103de0fdb6bc66951b3b6fdb6ebdf941bc3cc8ff8bbc71383e3bc187b1bc7cc7393cb80830bc9981833bf514e63a0bd54e3b6346a1bb25da583bf5b8493d6e886dbed44b903fca49613e05f0223d152b5dbef1e1963f3235d83d4083a63c19aa21becbdd8e3f5b28cf3b8f54163c1dfbdabdeb75793f5f4886bd02579c3b1cd180bd9f0e453f99d4d3bde62d323b01fc07bd7e37093fa27fd2bde06ed73bf71595bcdb7e983e7c88a0bd7f5e603cd1f0aabc45dcc83dfa1c22bd7b46983cbc4618bdbbd8f9bc48d078bc7e0967bd995c193c00000000000000004d9ecabc95d1b03b000000000000000089b8ef3b0cd646ba00000000000000008f4c073d2f595dbb00000000000000008952383d5971b0bb00000000000000001b73403d9193d9bb00000000000000008e01213d7762e5bb0000000000000000c898aa3c12e5a0bb0000000000000000fc501a3c46b180bb0000000000000000a13d07bc58ec583c4e876d3ba9df0e3c30812dbc0a07fa3c2d755b3c1f9ea93b428224bc30822f3d507d873caf05e23a2464a2bb21052b3ddd74933c0d5102bb42466dba8ae7223d5f904d3cfa8295bbd63f93ba30c7023d583ef33bd3c786bbcd50af3a19ecc63c6e18fb3a7330d9bb15fc113b629b403cd9fd65bb89c8a9bb9dabe239799f2f3ba895debb153f75bb17a537bcc6827d3b222fa13cb6d71ebdaef5d8bbe7c84f3bae34cf3c59c773bd3caa6abb2e4e183bf8aafb3c8779b0bdeb8d2a3acac23eb9fadde93ca1eaccbd18e8183bc95a34babd9baf3c7e35bfbdbe00643bf9f265bac25f763caa0b93bd770b5b3b7f46533a5ce2d03b51f64fbd71c8193b71eb41b9821d0aba9b4e93bc5870a63a73314f3a4dd787bbffdbe83bd077efbbfd4073bd9d20de3c3dd946bc2728c4bde9780abdf9b18d3ce4bc40bc3acd09bee88caabb1351e9b935ef01bc70350bbeff31733cda1259bc0d1d6fbb6c9303be340b093db813b8bcc08377391fb2cabd8351023dc1d4a1bc6d1df4b9a38f70bd2401e73c8272aabc15f41b3b3536ccbc95a29e3ca7106bbc151e563b04767b3bc318313c1a7b0cbcf49d733bb939353d29a062becf87713f0629e93e0d91293ded6162becd01813feecaa83e064ed13cbcee3dbeb8e57f3f69462e3ef99e493ca14509be5348653f5ea3433d9378ac3b1e96c6bd70fa403fbaa94abdd4c6453b3ea183bd7d770a3fd9fea2bdf25b0a3c281426bd8dd7a53e21c0b5bd39bb5f3c08771abdb42c093e8ade93bd9886903c6f0329bd896c0cbc08035abdcde0eebd9527c03c0000000000000000a8d2b7bdebd2903c000000000000000011770cbd7a68063c000000000000000095d4273ba5a4113b00000000000000003d520e3d12f571bb0000000000000000eb31373d92ce07bc00000000000000007245423d5cf51ebc00000000000000007a311c3dbadf17bc00000000000000009011e43c7a9005bc00000000000000002b56a5bbc279083c3aa1843bd44b953c3a9f22bc3636ce3c75ee8b3c7ccc653c924327bc88a90b3d4871be3c824c253c6854ddbbd5a0243d34ae893c34a4403b64f96abb7f9d043d90c3553caf250c3b7f8548b93ffb023d0d0c0d3cd07890bb26761ab92e3caf3c51452f3b4318b7bb490dcf3aa639443cc8786cbbff23bbbb9454b93a6241753bc480d4bbe0bdbfbbcf1b76bc8ddd7d3b6319873c689128bd59e04fbc24e6793ba17dc13c955f4ebd71cff5bb08d7393b417feb3c2d238cbdf3580bbbadde3d3afa47ee3c25f8aebda4eb7539a8eb7b39a226b13cb586a3bd5a583c3b1cde04ba0f4d9b3c396b97bdda48a33b1e7795ba1d45143ceeba3ebd591b5a3bcb6c25b91d08013bfa12adbc4188453b8bccb8b9c4b99ebbaf73883b533d953cc260d1bd08d13f3d79d791bcb1a595bdc07ba9bdba921c3d02a78ebc33d9f5bd514c52bd201fb23cc02283bcc159febd11b96fbc62556a3919330dbc3ea1d9bd9caeec3b0cd322bc49929dbbc0fbbcbd05b8cd3c0778a5bc082e32baee1568bd9b47db3c9bc5a3bc2985433a183abbbcde39c83c44778bbc153d4b3b9362363b9ac3a33c07954dbc9884443b52c40e3df21533be0af1303f5623383f757c0c3d289743beee14493f3200143f197dbd3ca45535bed5bb523f6301c83e344e773ca9b31abe9f014a3fb7a6433ef14dd23b7df0d5bd61672a3f33706c3d4caa4a3b1073a8bd291e063f50812cbd43ec9b3b3dca5bbda5fba63e109da8bd0b2d1f3c21cc2bbdcf3b1a3e9919bfbded2c783cf91e24bd4bf2623c7a1dbebd2fbd36be7dc8133d0000000000000000d58b1dbe12220d3d00000000000000009868cbbdfe50b93c0000000000000000e13b04bd00d41d3c000000000000000099da953a4a83af3a000000000000000000fc1c3d72c5bbbb000000000000000086934d3d687f34bc0000000000000000dd3a4f3decb66dbc000000000000000074f23c3de0745bbc0000000000000000726faabb30b5a33ba437673bc3cfb53c634f02bc8a768a3c681a983cbe78c13c151925bc9336d73c3e53e03cdf708d3c45c914bc82ecf73cc5f9c43c56da313c1648bcbb1bad093d2836743c08855f3b2ed131bbc6dde53cbd2d0e3c7a2f9e3ac6ff32ba1db4a33ce9e17c3ba83c6ebb357bdb395eac4a3ca16b48bbc6af96bbce7e803a408f183bf45ed1bb2e9a94bb4cc87cbc6f62133ba15c393cdb24f4bc77e483bca6cfff3a537c9b3c62d016bd218e30bc282c173b4a44c13cd8b346bda53b8abb77218a3a1c3ce43ca54278bd675cf939f75b23bae7facb3ca1e78cbdab052f3bee852bbadd71a63c56727dbde9178a3b6bf14c3920f6423cfe9f2fbdd5ab683bd02ae7b9de87ac3ba1e6abbc7ff5af3a63db5938e0c622bb0fa6be3a3481e93c39dbfebd5ba1613da87995bcecee5bbdd39606be228c813d5be1cabce10ed7bd166fcdbdd0a12c3d3291acbcb157f0bdeb3279bd398fa23c522e7fbc7d16d4bd45f594bc1d16dab9bc7e1ebc2f529fbdd3aa5e3b075441bc4f79a8bb35005ebdf737993ce4169bbcd6b8acba6c8fb0bc3035c23c776da1bcc44c2f3b16b7bb3b4cacbc3c12be55bc66c63f3b6169b43c5759f3bdaf1dde3e5697763fc672ba3c1f7110be373e093f83cc563f7b9e9d3c076716be9b011b3f6d68213f0bec3f3c6f9b09be8a671c3fb280d03ecc54d23b177ae6bd3844103f51b9413e2d7a113b55e5a7bd9ab1e43e735b493da2eb463b8ea06fbd6c819a3e9dac43bdbd2dd53be10b23bda445173e0a79c4bd50d8213c4b1204bd921faf3c9d40f2bd2f4c63befeaf373d000000000000000025a35cbe762a413d0000000000000000f89c23be1a88143d00000000000000008bb1c2bda907c63c0000000000000000cb47f8bccfd42d3c00000000000000000232343cc655afba0000000000000000f401333dbfe918bc000000000000000046c16f3d3e4c8dbc000000000000000096456b3de2f08cbc0000000000000000e3b601bbf8a3e439b186b93bb2dab33c9561e1bbcfcc193c4e42b63c3058f83c0e2b2bbc4c4e8e3c897c023d7ac6e83c940213bcdb4ec13ca059f43c8db2943c874dcdbb3653c53c742ab23c634e383c06758ebb94b0c43ce853363c9644903b1ea24fba634a8a3c2801b83b8375caba848ed7b9b4c11c3c3e24e2ba262382bb8776bfb883172b3b16abcebb823e97bb1a6191bc8685083b5ad3c53b23ae91bc60b28bbc3af1e13af8bc393c976097bc92497ebc0e95433b7138963c3cf7c2bcb31f15bc1606963ac264a33c5b471abd9fbb5bbbddc7c83a6fef9e3c9b8030bd6a61f83ab406813a2c37a63c78f040bde6ff643be8c038b92b2a3d3c894519bddc0f6d3bd8f7a7396a46e53bade891bcbdbc0d3bd258153900c508bb7d93f53913def33c7bfb09be8112893d261bb9bcd47e25bd76f930be9741a03da74af1bcc999babd2f1d23be29cd883d63e2e1bc0e78d5bd5f3de4bd669e233d22f3a1bcd680c6bda9ef81bd14d59d3c62fd81bc8e0098bd0ad7aabce9b20fbb9e4233bc92c433bd14704a3bc99955bc5e9e1bbb0f929dbcc53ea03ceb7296bc0db3963a26e20b3c931dbe3c1c307bbc5dd3543b111a233c4db967bd48974d3e4aa0923f6035403cda07a8bd5f98923ebe0e893fc9030a3c1a52c7bd04ecbc3eeb0a603f4a11033cfaa3cabdb128d13ed2931e3f294d063b97bab2bd8efdcb3e5754c13ee57ca1ba64aa94bd37f5af3e5d06273e1f6ab23a5abf44bd73c3743eafa1763c888097b85519fcbcee0e013ed6a79fbd2778be3bec8b94bce0f59c3cb49000befc4270be27d84f3d0000000000000000852d80be84d4653d0000000000000000d0e557bed879473d000000000000000095e413bed17c0e3d00000000000000002552adbdd39ead3c0000000000000000d89c98bcc814cf3b000000000000000073bbc83cac12e6bb000000000000000018e3633dfc6f91bc0000000000000000772f873d3533b2bc000000000000000085ad5dbb196616bbb092143c4c7ee43cee7ccebb7ad4813ad7c5cb3c4ce50b3d16011fbcc2230e3c0712153d5b160e3da48322bc3525633cdbea163dc2cbd73c2f2a1dbcb69a993cab11e93c935b913c27bfe5bb7d86943c37f0983c5218053cb85062bb70b05c3c6c6acf3b7a40353be6c143ba252dd03b98d7393a786ed9ba30f9183b4a14193b2f8e1dbc07fd93bb0cc869bcdfbe20bbfb3381baf8bacd3aa51eafbc00de9b3a46aac03b4c26103bb3277fbc6d0dcb3a750c3a3cf86129bb5c1f25bc9dcc203a72206e3cc9c934bc6174aebb95c2a03ab0cd8c3c8e83b3bc32ea173ae21e943ae5ed8e3c5e78cdbcbf51983bdbf3f939d2b4513c4fd0d0bcc6d59d3b7bc26a39ae75cf3b65dc58bce43a353b38f0c339429f89ba75704cbbfe1c1b3c7e6927beef4f923dab64b4bc49450fbda72541be0182b13d5df4f7bc303ea5bd665e4dbe84e09c3d21f9f3bc9eddc9bd6ec524be6581703d5ca3d5bc5a78bfbd206ddabda20c0a3d15d3a4bc8d8a92bd9aa86dbd73903d3c07b866bc70251cbd8c1a95bc9aa7d4bb5b1deebb124b42bcefa0243b116350bcb742c1ba247c883c170aec3cef9889bceedb763ae18d06bb084610ba440bbebc17dfb03fdaaece3a72a3fabc6052b73dc15f983f45ed5f3a46a64bbd503b243e4db4873f8b0866baea736fbdbc34603ede69503f2f2705bbb1066dbdcf74783e7c770c3fbfb541bb370c53bd39e2623e55859b3eefe389bb7d1d05bd98e0253ed937c73d955e24bbc62389bc840fab3ddeabc3bc7193ac37c0d184ba8ef71bbb3f831fbe434378be5708513d0000000000000000ee2766beb850523d0000000000000000418b62be4747593d00000000000000008f5537beb654333d00000000000000003a16fabd43ab053d00000000000000008ca871bd8caa8c3c000000000000000003147a3a635c9c3a000000000000000013311b3ded3c6ebc00000000000000008b71953d5d92c1bc000000000000000000000000000000000000000000000000ebcedfbb3b4240ba941af13cbd26263db989e9bb96090a3b613e163d51410c3d93cb1ebcf56be03b59041c3d5732e83c029dbebbfae3073c1c2c003dc7879f3cb63bb4bb115b2a3ce5febb3c79fc343c0e0370bb219e143ccd03413c444c4f3b06e95d3a6d455e3bd5d172badfb145390000000000000000000000000000000000000000000000000000000000000000264281bc0a1a21bb06667ebb4e60b73c4a547fbc3b922e3aa0ed2d3b1b90793c6c1824bc8bb6b23a3ade143c5930ba3b629aeebb09a60f3b7ad61c3c0358a4b9a47729bbdaf20c3b708a1e3c296a0abc68cbf739e819bd3ab0952e3c8a5b46bc580cd43a3b48753a703fb53b1fca18bc000000000000000000000000000000000000000000000000000000000000000094a556bdd75666be9c5b963dd57eafbcfdb69dbdd4354fbe5d5b8d3d8559b7bc85a8b7bdf71236be6bf5583d7947aebc70c3afbd221608be6ac52c3d79aea3bcb55989bd7fdb9fbdeebbb73c462886bcc8de1ebd2f5411bdf095913b47bc24bc3b1676bb5a4bdd3a618ae9bbbccc6bbb000000000000000000000000000000000000000000000000000000000000803fd8739abb52135d3c51eabfbd0c47b13f4dec89bb557256bcafca753cc2eb903f09b3abbb9d09a8bc49ed8e3d7a846f3fb3e8e5bb139cf5bcf85ad33d14512e3f97bbc9bbeb3ccdbc3522e63d473fd43eb957eabb7e525abc0fd9ad3d5e50443e9dc60abcb482193beb11e53cba3e8ebc0000000000000000000000000000000000000000000000000000000000000000b35245bec13f273d0000000000000000afaf31be0298193d0000000000000000875c2ebedc7b293d00000000000000004b0f12be27370f3d000000000000000097bfb7bd40bec83c0000000000000000f2ff03bdae95243c00000000000000003951a23c14f2b7bb000000000000000000000000000000000000000000000000000000000000000000000000000000005d0628bc1de9483d93cb843b173808bc804e1cbc8dc3683d634f08bc46b49439c48107bc95bb613de2d14cbcd2b9a23b26d42abb2d5d393dfbc470bc2d71e33bf96a213b3431ea3c7f7b3dbc5c6de73bfcf6d63b6ee4223cfb5a6ebbb0248e3b7bfd9e3b8a4287bbba7d7e3a64a986390000000000000000000000000000000000000000000000000000000000000000c7a8d239c7c5e7b8206fed3ccee5d1bdff132dbbfce22abacf03233d1c7017be56d875bbc8912ebaadc92e3dbfc129bef989a8bb40fd35397f710e3d482424be47e2aabb35f7043a1345bd3c322806be1a8f4abb3d1e403a7b29b03b3f098ebd2e4747baeb34c83a38b21dbcd602ceba000000000000000000000000000000000000000000000000000000000000000040001dbecf555f3d6eabe4bcdcab683cfb55e1bd1d43433d2298d9bc0fb5873c242c9ebd05d9f23cdc0397bc466a653c67ee15bd48957a3c5b2544bcd45b3b3cd3ab96bb9df7243b1818d3bb8453063cb1fc073c648af5bb4fbc883aeb273e3b9f57133c67c5d4bbea14933ac3f449ba0000000000000000000000000000000000000000000000000000803f000000008521103b3df482bd51b8b03f582d65be8f2a1fbdea38943d54198c3f312b5bbe475f8ebd2942293ef4a4573f314040be758caebd7bf4633e697d133f87c91ebe1de2abbde10d6b3e0607a63eb16fcdbd54255bbd5cd5273e9f13fb3d9b6630bd859e08bcd25d5d3d4f8c1bbd0adb933b00000000000000000000000000000000000000000000000000000000000000009c9ca33dba31e6bc00000000000000009325b13dd4c211bd00000000000000003ea39f3d065210bd0000000000000000c4c1893d3e7600bd00000000000000000a84343dad40aabc00000000000000006872893c23d122bc00000000000000006d3c6fbb28b9c83a0000000000000000000000000000000000000000000000000298c4bb67a9b03ccd1d013c4bac11bc7886fcbb42fd343dc0f21bbbd420b4bb99ad88bb11f54b3d250931bb20ac13bb01f180bbd23e553d04e711bc7a740f3b4e24233a65382e3d622f45bcc322d53b722d8c3bfd31ed3c43334abcda9e0c3ca649b93b832c4f3cef76efbb8867bb3b1e8dca3a30fec4b95a3d203b6c47823a11735d3b7e0d2ebc0ce13a3bbd6391b9c3cf1d3bc18a70395c860d3cda0a02bd8fc3803ad63379baded2133da47be1bdaf1d9ebaa1ea48ba747b0a3d8d320dbef0a154bbd789e0b9f09c103db2281cbe12789dbb9d387f3951e2043d9bb51dbee00ccabbb0c50a3afcd5bd3c99c300beef547abbd7b8143ad82e3a3c30ca9cbdbb001cbb9051f43a4aab613ae3cc13bcca50c4b9db23053b7ae117bcab56fa3c9450c2bd26137c3c783ad4bb2604c43afbccddbda276153daf7da0bc1afa263c5934ffbde56f363d259bd3bcb654763cd0d7c4bdec00123d9a2eb9bc8ee37f3cd4334abddec69f3cdd7687bcaa595e3c4e1237bca915893b7b530cbc6c6c343cd5fe283c2516f3bb490b15bbce29b43b0566853a4c84dcbbeedeef3ae8cf7ab92f2d4c3ce81cf5bb16fe023b209006bb163e833d5bcb7ebea0ccb23f732c87bcbae1913c2c480fbeba26a53f197fa7bd61ddfcbb28ac48bd2f08963f54f424be23980fbd1d75373d7a316e3f6c5d38be51756bbdf23df33d9a0c2b3f5c3530be2a3b89bda878173e4061cf3ea33f07beb1fd4fbd2e52ff3d28602c3e4f7e93bd44762dbcc585f73c18b0a33cc38a7dbc8a7ed73baf31bfbc5502d6bd2beb4f3c5d65c6ba0328a13a00000000000000006541d03ca6bb0ebc0000000000000000bc048d3dc12ce7bc0000000000000000bdd0aa3d9de01abd000000000000000028bda83d69381fbd00000000000000008478823d813105bd00000000000000001c2d1c3dd7899ebc0000000000000000c9e0e03bce4493bb0000000000000000a450d5bb02e8133b0000000000000000635525387d51813b530d823ce5fc4ebc8b8101bc49730d3dba05b53bc645c5bb77400ebc34b82d3d92f8ae3bdc4c84bbded38dbb64f2393dc4c83fbb9f199ab9443792bbae5c2a3d2babfbbb5dfb553b1746bf3990c3093d9e214ebcb604f93b9e94183b0658a63cdee158bcea031c3c923aaf3b2e94513b994ebabbd566b13be418653bcf0fd6bbb42194ba8262223b02ad883ba4148e3ad89308bc61c2adba42b1393a871d1eb9c92db03c64b491bdfc9afa3949bdf2ba847c033dd355d4bd38bcc3ba0a0344baed690f3d8fc108be3d806ebb1c6478b9cf5d0b3d014b06be0dd797bb7d2f47bae5b4f33c84de01be53c3c1bbb6541a3a3759a43cca87b6bdd65b7ebb308dbc3aeed5b83b9e2612bd573707bbfac5073abe7e57bb9384ad3bd15185bde01900bc28aed73b59b0f1bb6820eebd8177843ce944acbb2cef1e3a318703bed636da3c16b681bc1e46173c015ddbbd136f0c3dce3da9bc411a553c156193bd0b2bda3c88b78ebca6435f3c2e66c7bc0de22a3c09145dbca6cb6a3cd950c73b0c2eb2bae9a4acbb5127223c0489a63cf9671fbc7dd5253ab4f7613b2011bf3c7f342ebce063373bd447c23aa5f9963df35682be752b953f9ec5573e5ab1623d2c8c6cbe605d9d3facd88c3d3feaae3c5a3112be65d88f3ff53014bddd54f2bb4dc26ebda0fe773fc381f8bde793d6bc4d054a3c6ea13c3fa2401fbeeb903cbdf4738b3df703f93e9ebb19be9fed40bdeb11a93d739c793e9e21ddbdb277f3bc0d9d5a3d0248373d7ce451bd9b4b6fbcf7cf813c3a9596bd23d575bcae0787bdcc60b43c0000000000000000ee2cd4bcd29a103c0000000000000000b870af3cdb9424bc0000000000000000314a733d49ffeabc00000000000000003da19a3d450b19bd0000000000000000b37d9d3d2ba923bd0000000000000000d5d2693dca9405bd0000000000000000a3f5ee3c73ed94bc0000000000000000b33a133cb578e7bb00000000000000007ca9713b4cd912bc285de33c852277bc6f0aa3bbcccd9c3c850dc73ca11480bc091007bce8fa173d36190d3c6cf1c0bbec34aabb9f5f163d4f92783b90fe06bbbc9037bb7b54223d79faa2bbb2f00d3b793decba6bab033d295b33bc3558ee3b884b5b3b9d42ac3c93f04cbc0425fe3bd0ac933b0a58e33b82791cbccb02df3b1541c23bdc90fbbaa37822bc2db6fc3bb2c54f3bbe353b3b78e09ebcca91a13c76af8b3b0b89593aac061c3bd7e5a8bc5c81583acbfa12395678bb3cd8a49fbd84baeeb94d82d2b90446fe3c9aa4dbbd1f9c65bb8034b5380b4c093d7cb600be4cea97bb52d1a7b90fbbea3c8834e6bda29c90bb555907b9cb0cb63c83c7bbbd738da4bb92949b3a58a7163cba3247bd3bb151bb3c77c739b1c3ad391e8b95bcaea36bbd15011fbdffcbc03c40a99dbcbedb0dbe0b910ababd7b023cb0cc24bcab4f0bbe13cf773cbff3ccbb4e30d53962a5e1bd9cfca23c0a8865bce824dd3b31cea6bd81cbd73c1e889bbc2930533cda411bbd9f75813c579d73bc08535e3c6a28413a6cb27c3bcdb11bbcb7d1493c4dbec33c619ed4bbfe8352bb811c0c3c9eea303ddafc60bc14f4ff3a8a7e723beefc9b3d4f1e78be6661763f6288e73e8bec963d659384be3499883fa44e933e2e4d3e3d280550be109f863f2a93e03da6aa603cd523f8bd1b716c3faca881bc6227f2bbb24d63bd9985433fc344e5bd055bcabc8312993b860c073f30640ebe3ba913bd90c5303d6c3a943e6f99ffbd49e1f9bc121b413d6239a73d6b18abbd81ba04bddfe2533dc37893bd427f39bd57870dbe38bf4e3d0000000000000000173bbdbda657003d0000000000000000cd50e4bcd478083c00000000000000006a70943c54aa0fbc00000000000000001f2d753d3b82f0bc00000000000000000fa5963d791d1fbd0000000000000000755c8b3d39e223bd0000000000000000b92d483d0d9c00bd00000000000000004008d43c051c95bc000000000000000021c3a53b2e8968bce463f93c1ca743bc552d08bb2d92f63ba3291e3dd41fadbc7290d2bb2e2eb13ce454ee3c5a7d7cbc1f1c00bc0046113dd13efc3b89899fbbfd21f6bba711ee3c71a6ec3b3ddc3dbbcacaf838d130f03ca77b04bc9ce9683b07a4033af61db53c8a4f42bc2df7de3b6c6c9a3bd9a6073c843848bc0617163ccce8ec3bba67c7398eb54ebc012cd83b18c3d03aae9b823b74dca8bc8be5c73c8f806d3bfa573c3b2e5430bcd538593ce204883b94318f3a98126c3a9e0796bc8828f63a53ac64ba14a5a53cbde498bd6cf52b3a78f37bba7935ae3c57b291bd3f4542bb416835bae0a3da3c54eccfbd63b377bb700b14babf1fb33cced5a8bd57ef97bb75416cb981bd5c3cbceb61bd9dac65bb4ca89db8ea329d3b9cb703bd30902bbd734a89bda984253d3100f9bc3e371abe5f3fcfbc0253ed3c618ec2bc67e72abe0e91853a8b7e833b733f1dbcdea705be3e1f633c6984f9bb1e4c8b3a37b2d1bd9c6c6c3c36771fbcb04ea73b4dba53bd33d2983c0ae86ebc316b4d3c2d002dbc9308023ca78e3ebca58d5b3cf477d43ccb6cc2bb3989b5bbed102e3cea474d3dbf0231bc00e710ba200a043c03fb813d50024dbedb74373f5120353f4145943d8a7572beb0875a3ff2b70b3fec28833d2bc166be8f23673fb6109f3e953d263d206234be5dbe5c3f921ae53d44a87f3cdde8dcbdfdf5333f3f418939a65de0bb290444bd13040b3f5312d2bd3d63acbc38a1823be114a23e624df1bd6f65e8bc7a350c3dd895cd3d6eaacbbdb94511bda617693d93b053bd67459abde5d152bea903963d0000000000000000f76832be1803763d000000000000000001c1b8bd30e3023d0000000000000000dd21c0bc6ca4e03b000000000000000096338d3c1acd38bc00000000000000006d57733d501104bd0000000000000000714f8b3d652e26bd0000000000000000d7ba7a3d79571dbd0000000000000000f4912f3d5efef0bc00000000000000005fa4c23b74ad7cbc8093023d47ba2abc1b38983a3ed680bb4a5c503d46fbc0bc5c13b2bb145d553cad9d3c3dcbefc2bc27eddcbb616ab83c2b69e83ccd106abc0b78eabb8d64f33c9e46f53b41d087bb9a3d53bba7e4c53c1887913a50a08c3a632f0e3aef01963c69d303bcf743bd3b9e15133bffd7293c00c153bcf6e2143ccc2a7e3b55e5b33ba33487bc94791e3cd8cc05397487aa3b7b0f8abc1a7c9b3c0c06423b89d6ab3bd81e92bc6d450b3d0c7ec53b3cd7123b37bf00bcc113733cee3ba23b6be771b9a88c4a3bc41791bc52ea613ab1603339c221b43c864686bd2042b4ba7a281aba9e9cbb3c699795bdb80a59bb62004bba9c569c3c350f89bd8f8c80bbde7dc1b9cd6e3b3c4f573ebd9f9b85bb9467ad3969d8f63b3fa716bd17e3f2bcb676b3bd3d92503da7e419bd364d18be7ec875bd5e304e3d44bd1abd9da843bed869b9bceb9bd13c4ac8c2bcdded2bbea6f7763ab4e5f63aefd0febb6db9e7bd705a473c6027e5bb79b726b9b14b85bd1d13223c39c824bc793bea3b9c4bc1bc67e12a3c6aa853bc217f4a3c83c6963c07b2d9398ca123bcebd3533cdde5473d56e4babb299e54bbeb9e133c4b96293de3fb06be5862ec3e7211743f91f0773d2f393ebe26531a3f6e164f3fc494853d9e4055be805c353fbe3c0e3f2bb6583df98443bed6b2393fcc83993eba79063d36bc18be2661283feac7cc3d6be80c3cba9aa9bd2817003f08e784bc8d4aecbbcc15f1bcc53ea13e24b2b3bd902b94bc5cb57f3cfe75eb3dedc1d5bda66ff5bc9e9d483d09541bbddd74c7bd026a81be77dfb13d000000000000000051f979beff29ad3d00000000000000006ad42abe35c5743d00000000000000005f50a8bdab73f83c00000000000000001af0a5bcd32be93b000000000000000052c9b93cc65b60bc00000000000000003046613d4c2204bd000000000000000012f2883d86d330bd0000000000000000f73d5a3df3781abd0000000000000000edc68b3bf09b3dbc37d9f73ca7eda4bbdde0123a6de7cebbc7de6f3dde89b8bc563787ba80a4dfba5d017e3d06f3cabc8f3eb8bbfd554e3c925e473d561ec5bcc2f8f1bb8bb0873cb3bae73c65c161bc222cb1bb2aa1ad3c3c41ca3b099550ba095700bb7e74723cb895dcba31c4413b3bbc313b22edcd3b030f16bc9514f93b90898f3bdb633c3bc8ae96bcf4a2243cbab2d1bbccb9f93b8d3b49bc15909b3c23b194baf2b8053ce1b08dbcba81383d64a53a3b440bb83b914b7fbc12fd263dacccec3ba77e023b9ff0cbbb4ae6963cf4be313b8d013f3a3dc82c3b1b8815bb181ae43947e5f9b9f598883cc7182dbd49460fbb03911fba208a893c614b3abd83ff2abbfc4696ba2b7e043ce7f309bd9fd083bbe1e433372276bb3bbc0efcbcd02aebbcc059cfbdad21823d9d3729bded0017be66febdbdfb8d8d3d89f144bd48b346bef77d82bd8173443d4ea81abdc13749be831ac1bc4254a13c549eb2bca08b1ebe6574e63ae2c65f3b6474f0bb0fd2adbd58ecd03b7a2d0cbc587cda3a66ae1cbde4a0103ca2462dbc1a6c073c521f4a3c9fcfd53aaf7239bcb515463c1037583dbf0567bbea22c5bbf4d82c3c8b18aa3c458d88bd94b1613e1150943f11a61e3de082f2bd117eb13e3bcd873ff6b4523db1f221be4340f43e33524e3f81755d3d074032be3dec0c3f2d6c053f61bc3b3d086623be7a6e083f65cc8a3ea0b7d63c9071edbdf50ce03ef393a93df13f5b3b303f59bda6ba913e3d5ccbbc65d526bcc614853bd423d43dded9b9bd5e369cbc225d1b3d216115bd8c60dfbd305d88bee2a2ad3d0000000000000000c7ea94be5ed6c93d00000000000000008d236ebee77bb03d0000000000000000924e19be0b3a703d000000000000000070139dbd7f6fe53c0000000000000000fb6674bc63d4ab3b0000000000000000ce4ac03c9ff97fbc0000000000000000e70e723d4e8814bd0000000000000000a5db7f3d5bc522bd00000000000000004faf093bd2e5f7bbf7b8f53c9182af3b3c5a0138485af5bbe8ac823d9a6397bce03b4abb691025bb462b923d885ccabcd5c983bb43a2d33ad0e4853d4c13e5bcb93de1bba8ff373c4113383d3504b9bc2f6ad1bb1c06713cf8f3a83ce03124bcbbe188bbb9ca473c050e833a85ca353baf4f003b9ed004392e1feabb9f62fc3be167813b52258e3b24a19dbcdd640c3cfec24abc02ce023cd67ad9bb7964393cd0f3f3bb829b3f3c18cb8abcbe935d3dcedd033b67bce93b8f5683bc72d35e3d360bbc3bc9af923bf87574bca90c443d3c0b013c24bea93a0b65dcbbef64eb3cf7ac8b3b7feb093a910d3d3b8052043b4864ebb99d6dd1b9c952413c4725bdbcc61321bbafe06ebaa968dc3bfc2991bcc2703fbbea531939ca79483b9cfacabc1476e9bcd1a30bbe4d5f883d41f621bdeea319beff81f2bd5c0cac3deb4153bd04754abe31feccbdb7ad833db9d642bd5a3a54be329667bd3719263db50012bdcbc03ebeca4264bcd504713c101da8bc8c7effbd29b4b73be8f7bfba67abfdbbd72238bd8e81a03b3f1416bcc7191d3bc8be573cd7623abb62d710bc6ec90a3c70d9453d8524223cd9064fbcd1a13c3c5e83d13a3e74a7ba22034abcdccfb23f299e943c2a2359bd9949003e7a1c9f3f4ee70b3dadfecebd2176843e9862833f7e083b3d4a090abefb1cb73e24b83b3f495a403d459015be65e5ca3ec094e73e3b8b1a3dedfafebdc08ab43ef1135c3e77617c3c6d598ebd2a096b3ec8e81d3d2785e8bb094b313b043d763dba343bbd8d7f1ebc4c60bd3c4a60f8bc590f12bef43285be41b2943d0000000000000000a12390be4864b13d000000000000000094f888be5af8c93d00000000000000002b9254bee987ad3d0000000000000000472f0fbe67b5713d00000000000000009bb78cbd55dced3c0000000000000000db7f0cbc70ce4d3b00000000000000002a0b0c3da98e9abc000000000000000088e97f3dbdda1bbd00000000000000000000000000000000000000000000000098649c3aa15224bc31634e3dc4a6d13bc1ca033aaa764cbc6311873d55b435bc4bac5eba6b5d41bca228823d8ca97abc915b29bbd11003bc17fa663d1b079fbcf9fe8dbbd6ea223ab80e1f3d72f694bc979b34bb3115903bfc74583ca473f8bb833c16bb5a05dd3bd13291bba2ca083a0000000000000000000000000000000000000000000000000000000000000000b80b5ebcd450f63bc27517bc7774073d6afcc7bb6f67f43bf7296bbcafe2573ddde32c3a726e8f3b152287bcd2906a3dc336543b2fc3583b1e3e6bbcbfb6533d57fcd03bf8ad9e3af85709bcd619203d17d16b3bc6990d3a16e55dbb9bff853cb9e8c1b9694af139bdda893b06e808bc0000000000000000000000000000000000000000000000000000000000000000b160cfbd74422ebe6638943dd82b21bd1d6e20beaa99fdbdf40d813da81c25bdf0b42cbe2fcbc7bd92f8363d54cb0bbd71532dbeda3a46bd287cdb3c0bf6d5bc768c12bedc8810bcccc8f83b78a674bcea589fbd74f9de3b372b45bbf44bb6bb255202bccebd493caddc01bcf315553b000000000000000000000000000000000000000000000000000000000000803f74b773ba939c2e3c52d496bddae2b23fa546743c9fe81bbd8e468c3de89b8f3f55d9d73ca81199bd16ea253ee8f25f3f0add163dc7ccd1bd52ed653e8e281b3fe54b1d3dda1ee3bdd645713e4bffb23e97e0d93c2fb29dbd9bad313e3ae70b3eb744203cf09cebbc8e23813dcb0d10bd000000000000000000000000000000000000000000000000000000000000000083fc6fbe1f118d3d0000000000000000718669bef423ab3d0000000000000000043d55be5686b33d0000000000000000a5392dbe4f63973d00000000000000001d76e4bd952c4d3d0000000000000000f9ce41bd1f7db73c000000000000000031ab9c3b6bd1b4bb00000000000000000000000000000000000000000000000000000000000000000000000000000000913c843a61658f382c3c39ba868f943b44cbedb80bd332bacc5ca73a0b44b23b9ec1b03929dc6f39662caa3a992da53b081e89b7d24e5d399420163b378b8d3bd77e29ba29adacb98dac2f3b7e57823ba9e40d394db80c3a1eb4863bed448d3ba3328138e9a9093ab5f19c3b11dc6f3b000000000000000000000000000000000000000000000000000000000000000085215d3b93ae993a8e1fd8b9804404bc055f773b48075db8d52b1338ac9909bc1e4a683b030f113aa99dd339f75e0bbc02372c3b8fb9c8b7616fe63aa56401bcd3473c3b34ee003b1a45ab3a24180cbcb219af3ab120dcb9b561c53ad235fbbb8ccb4d3a09e115bafc1db63af5abd4bb0000000000000000000000000000000000000000000000000000000000000000d48176bd346632bd2c67d2b90795e5ba87fd71bd517c16bdeef2ddba336886baa81761bd337502bd42c702bb782d95ba8a3343bdb25bd1bc1d5489badf7a63bac6f72fbd752394bc29313139146c98bad38a11bdb23e45bc0fa23a3ba652b9b99e29dbbc81b98ebbc59db13b3b6058b70000000000000000000000000000000000000000000000000000803f000000000e9dad3bdde6b2bccb098a3f54048cbcef6ba63b914a96bbb8e3663fa49e23bcbbefa73b91bd5d3b71553c3f54321ebc1e18853b8312fe3bf8a1123f1bc85bbc1e0a763b33b41f3c27d9d53e67d6a9bc9761453a7d9dde3bea83863e72d2e5bcf53dcaba978e413bf2d0e63dfa6f1fbd00000000000000000000000000000000000000000000000000000000000000009d30b93aa18a243b0000000000000000e6c40cbacd86833a0000000000000000eac82bbb237a543a000000000000000022dd87bbc0043a3900000000000000001893b7bbc6fa28ba0000000000000000045e9fbb658f87ba0000000000000000d25b83bb7d74bdba0000000000000000000000000000000000000000000000000877a33a750f263aa2db13bb957f503a132b823a6abfbe3aa57cc23ad73fbc3be6ca1c3bac70373858c7da3a24d5e23b2af9af392d01813a60834b3b3092a33b1c2f33b9795202b82761123bde94983b8b938139d61d663a13fb903bab28c93b7ecc33b97cfc8c3a6e919b3b5502ab3ba7f735b9a0b4503ac38fa93b5cee773b3fb1c6b9c9c001393d1f533ba138083b51e0803be037793a874928ba41d7e3bba6e8b33b2614993a6074fbb87d3a28bcc3889b3bcc87863af24476b8fefe0cbc18bd823bf4b79c38adf8ca3a6f1516bc419c8d3b6865003acb91773a7ed8bebb97315a3bb30fb0b970c3113b9b1ee3bb99eb2f3b18d02738cd7ace3a6884c5bba3de3a3ab4fcfa399c44c63a591f6abba64ec639abaf2abaa1a03d3ab1c674ba9797dbbc2fc51bbdbe0991bbe0821b3ae25c70bd7a0b57bd9c0399bbf702553a6e5583bd38d951bda5ec94bbd02332ba698a81bd9bed39bd15ab73bbf6d66637b97a5fbdb1860fbdec30ffba475eabb7b9854ebd1edaefbc1d58fc38ed9bedb6b09e26bdee56a0bc1f32533b6b16153a020fe6bc4a6f09bc8bd5c93b48edc939ea5e43bc6aec13ba401bcf3b6fb6073aaf00b03b8f115fbdc860893f848aeb3d0fde0e3cecc456bd5587813f8fcad13dc741f13b424edabc454e5b3fb97eb93d3a50e13bdf724bbcfc6d333fe461943d34cec73b26b430bb9c5a093ffe80513d6083693be589bdb941ccc93e5b8ec33c313dac3a20cd0aba58087e3e94744abbc03fb5bac0e57cbb40a3de3d7b36e8bc6eab0cbbfd4453bb1a8051bcf91f1fbd51a646bc19f9543b0000000000000000e55a66bc795d813b0000000000000000b1113dbc04a8313b0000000000000000236e44bc904f1a3b0000000000000000fb4735bc03c09b3a0000000000000000fe7f50bcbd4b9239000000000000000058ef48bc46597eb90000000000000000c5dd22bcbfcaab390000000000000000c034bbbb01eb09390000000000000000f8da673ae8c0d33a442cdcba8caa88bab208503a75da013bed7665b9f203023bed3601bab7c6273b8e3ab4b9405e5a3bb299f5b9995f293a5ca1d03a05058b3b3cb101bb2c625cb9692fe73a56e8fb3a675240b9f413553ab1bb453b9dcea73ba5e3c3b7dfb8243a519a4d3baaec923bf64fefb913859d38dfbe693b4e736e3b4a3d97b9a5da03babfcb033bdf5c023be05f4d3b10dfc53a79661b3a86acbdbbb993a43b28b7cf3aa803b83ae1feddbbe7b69f3b3f63a53a5b7a3d3a8ae0b0bbee84973bb5bb2e3ad1782b3bbef837bb6362703b1a5cb13933ae773ba2c7baba228b793b5f7a213a0d370c3b66f03dbba88d413ba71fa838f1f9fb3ad1f0d8ba8fe90d3be66893b9661e993a956cfcb98db3893aebda94b8dc6ae939da2a3e3a959d42bcfd70febced9b1abc593adb3adea815bdd16451bd36ce49bcc19cbc3ad7a832bdc44e40bd78441dbc2fc34c3a59fd47bdb21144bd0c081abc60fec7b94e641fbd852e17bdf99ca9bb777c0d3a99cb28bd69360cbd775725bb2191433aa2bffbbcc2bdbbbcdfa54d3a064a603aad5bbbbc628461bc062c9d3bb616b73acba918bc3b7c83bb2804aa3bfa1aa03a4f7dc93bf2c467bda818673f0444873e19c5203ce68b7abda3565d3f6d43793ee483d93bab3609bd4c07383f71bd573e5929e63b99bbc5bc5b131d3fa4412f3eb774d53bf86671bcc2aeef3efc2a013eafce983b463d12bc56b5b33ee385a73db0c83f3b116ec6bb8411663e4a87283dc30c183a61f4c7bb272ada3db66fb9bb83a45cba81638ebb890401baa8adf8bce060cabc992c8b3b0000000000000000e83ef6bcb509b93b00000000000000000187c8bc06699a3b0000000000000000768fbfbc76e71d3b00000000000000001f8ab3bc67208f3b000000000000000027d6b8bc2bb8b33a0000000000000000be78a5bcc3c6903a0000000000000000f64a9dbc747bcb3a0000000000000000834b3cbcac1bb73a000000000000000068c2253aceaf1b3b55e4ccba22cd2fbb35378739f09c133b8f25d0bacd3780ba7f1baab9a3a1cf3a835d2bb805ef1c3bbfe7853ac80ffe3af65f81bbafbabe3b9a8d84b92f2d813a23afcd3a05d4633b3c0adfb90a1e3d3a2c1d0a3ba68d8a3beea136b9ba62233ac8a9953a2178973bb2c52eba36abbab8f82c1d3bafef803bb73af7b9b184e1b96a39863a06d1163beeba2a3bec4fbb3a7fc78d3af716a1bb1c538c3b54a33b3b8327ed3a3337b4bbc53fb23b602bab3a522afe3a010b2abb598d793bdc8d273b947de63a284362ba75628f3b0a26663ab15c0a3b72ff6bb9717b833bd6c63a3ad8fd093b99d7993950425a3b51a04839bf871d3b620abf3a7c50393be62416b707d6ab3a9cbe033be3ecf63a37c5a739bca7163a0f04133b038b57bb3b4fdcbcb0a079bc9d67f43a8814b9bc115246bdb214a3bc87c4563bc2df0cbd3b9e59bd80c08dbcd2d2dc3acd650dbdc2e664bdbf4d40bcac24a83af48c0ebd107133bddc1c26bcff32853af52207bdbf7d1bbdd29dcdbba069a73a13e2dcbcfe34e5bc518a9eba4252043be12a9abc4eb48fbc2d9e483be97e293b9cb2f8bb4707dabb5fa0873b72b4263b7a4cb93b5f9c4ebddcc23c3f400dd63ecdd3193cb6336abd2cfe343f7c63c83e15e80f3ce8e91fbdc01b1d3f3b50ac3e63261c3cb26fc9bc3341033f87968d3ecdc6d53bfe0d89bcf728cd3e82dd563ec598b53b4a5c48bcae02993e6245143e613c443bb11a1bbcf030473e529aa53d44fb263b42c3e7bb67a2c73dc0e9a23c74f0873a25e884bbd72bdf3bc4b8c2bc4b410dbdfe51b43b0000000000000000dca932bdc6740f3c0000000000000000b75313bdf08aa73b0000000000000000968722bd10e5f93b0000000000000000c20ffabcd3993e3b00000000000000004750f5bc14640b3b0000000000000000f93df3bcfeda1e3b0000000000000000bff1dfbcdb07993a00000000000000008abe8fbca607613a0000000000000000df609b3a8649723b8ed6e9bab2067fbb9e0f9f3a5832753bf4dcc2badc916ebb3dcf95b9d0cde43a34b3f9b9d92c1ab922e8dab9f650b03a1d6fd33918adc13af55483b9b3f8223a9bb09039bc5fca3ae8a69cb785a1973ae0b0b73a9ca6503bce8b39baefdf553942a8a03ac7f59d3b9105b9b9b0a2ac3782eecb3adfa9703b568ddab9b4cbaab931f5823a2c18083b37fed03a9a86de3aa4b2453b8c1eadbb243e943b64ab283bdebd7d3b0e0c96bb8457783bbaecc53a3a62063b494c9fbaaacb953b8f7fee3a0f58223bae24ae39f6fb4a3b21fe213a02c60f3b6a45c53a036b993bdad4f73919d6183b2efc183bd43d4d3b9bd8b9397fc4a93ac5082a3b3b71433b648c0bb9b55dda3a355f023b9dda033b504ca5383e3f473a30af4e3b9e4bac3abf4fbfbc181ca8bcb172113be4bd48bc442c35bd59d6dbbce9d0533bd6dfaebc7ff448bdacecaebcb4c2a43a8c11e0bcb8e657bdc2ae9dbc156b8a3ac929a5bc981613bd7a113cbcf3f8263abe8acebcee1c27bda4f821bcd853a43a22d7a1bc84ddeebc61c526bb79b5023baae375bc24c5a6bc4cc66b3a59364f3b3abcd5bb555c11bceb57403bb4f7283b8407a23bcb802fbd0081133f834b133ff360073ceb3846bd78470c3f78ec093f6826ed3b689af8bcdc23f23ec812eb3eeae6ef3b4535c0bc83fece3ec693c33ea76db53bc18338bc345f9c3e514b913ee378c93bbcc63ebc2892783e3ee5553e9ee6933bff6605bc8146223e56a9fc3ddd5b0d3bc329fdbb130dac3d7535373d8a9bc13a680bbbbb5f7f1a3cf80f9cbc75122fbdbb26c93b00000000000000001a3f52bd4829e83b000000000000000057cf26bd366fc93b0000000000000000084326bd2932a63b00000000000000002170ebbc8cf5293b0000000000000000df411bbd23d9233b0000000000000000ed810dbdab68043b0000000000000000507b0ebd2356483b00000000000000009524c4bcc94f1d3b00000000000000002c4a203a4fd3533b1e8e4cba590c85bbbc35c5393e2f4e3b497698bab6e302bb19a2423affe2ba3af469b7ba9e277f3a57ec9bb9fb67c03afa9e8e375cd5e33a9c053f38f89c983a31448339731a083b31b24fbb938942bb52a8823b7a27dc3b9442d7388e9e253ad006c93ae6b08c3b34246dba71dccbb99589b53a0575933b7c40cfb92f4db2b9749d2d3a4c2d293bcb4de43a34f72e3be8b7673aafcc94bb903e943b18cf5b3bd3aad23a1a4386bbcb37b53bf123563b0a20cc3ae60cf2baa09aa03bb4e6193b3147163b52d87d3ac3a68f3b1688083b467d0b3b177d153beb4c5ebab879253b3e025e3b908bdb3ba094913bbc441a3a14cb8b3a62a0793be92b723bd818203a43b52e3a999d8a3b22960c3b5eb48b39d03da5394b4f613b88c6193b69babebc3776cdbc69ed463be00c10bcdffa48bdc1a705bd06cc783beb558ebcbcfb65bde86ef9bcd17c713a02d9a9bc56276abd9255cabc6395d13a2956aabc540249bdc9fc9bbc2c24913a3b8ed5bc226d2ebdc21c2cbcccdc7c3bab7a93bc899e11bd39cfe6bbf3da2e3b2b2159bc52bbc1bc89f7adb961dd7a3ba8c6afbba52529bc1d58233b09a0483b0fc5733b9bb00abd7dd6d63e95433c3f29bed33b34a91cbd5c0fcd3e550a333f5b81fc3bc78bd2bcba31b53e41c0193fee10093cf22b9fbcec449a3e3229fc3e737dcf3b1e1a54bc07bc783eb9d9c13e59c3f03ba6fa96bc44d13f3e36768c3edb8a983bf1f622bc0383013e0eca293eec5d6f3bc3cc24bc47e08b3d9193873db0cd043b2ce6d5bb11ef333cbf747fbcc49351bd1af1ce3b0000000000000000314983bda4fd173c00000000000000006aaf58bd9762053c0000000000000000121642bd38cbab3b00000000000000006be32fbdafab663b0000000000000000ebfc4cbd48dba53b000000000000000092f634bd8e943f3b0000000000000000bf4832bdb90a683b000000000000000020e1f0bc7a48403b000000000000000005fc2c39973a333bf14cbbbac83f56bbfea7b3b9fb163a3b15f4cdba8f5bbdba78abf4b93d8d043b9a6c0fba89dbc6392b9b4937fc31c43ad51e70b865110b3bbe4f5bbaa0a7533a3810e4b94ac03c3a879253ba42eb0e3b823e353a29a77b3b47a00abad7925839b245b03a045c963b8c436bbae0ffdeb9959dae3ab706ae3b6cde25ba5faa09baf41ccb39eb78643b84a6183b8177373b115ef13ab014adbb64a7ab3bc513783b21a1103b6c95a1bb4b69a33bb66a203b3ef1d53ab31540baf908b23b07e9273b8d85fb3aeaeb4a3a6ca09c3b25dd103b5c07353a5f6a8a3b745ea43b0629d83a0d3edf3acc858e3bb269823bdc96073b920c0f3aac8d7e3b47d86b3be6ffad391ab5a8b7b01a963b1864143b457f0b39065a13ba577d6f3b4b075d3b85e7cbbc9575f4bcd559553b1506b8bbf2ae5fbdfa6322bdb507793b04313ebc156f69bdf5d701bddb7eed3a86357ebc825680bdb5dcf6bcf5e0d23a60d973bcd1c64ebdaf21a9bc40d9d03ae3888dbccbc94ebd31e98fbcb469043bd82660bc3dd013bd7ab513bc8daa243bfb7c37bc769edbbcf58ce0ba34a9853b4cfb93bbe7c633bc3a10353b8c90683b386c693bf81fccbce09c873eb4f8663ff703c63bb9ded7bc61bd813e4b295c3fba72b23b7af184bc01256a3e4ad5353f8148bd3be18646bca5394c3e43ab193fb78cc93b32c4b8bb9302233e5d54e83e59c1be3b44f201bc3441043ef6a8a93e4f3e963b306ef8bbb163b33db9c2523e9de7773b77982cbcde584b3db5aaad3dfdf6093b92c701bca9b91d3cd67a82bccc6566bda672d23b000000000000000026d58bbdeb98103c0000000000000000ca4846bd64c8c13b00000000000000009fed45bd29dc9e3b0000000000000000040125bd5d024d3b0000000000000000ad2541bd09420d3b0000000000000000d29c2fbd33d62c3b0000000000000000358449bd075c7a3b00000000000000007c7a0dbd1a514a3b0000000000000000248b66b90c571e3bb69eb9bab06e45bb84fe2fba0523f93a8a0c96ba65cc903a967286b9f72b983a17a479badd99f83a38d9dbb945bb9b3a9f54ff370abe2c3b450e07b801432eb8f2ff44bad8fc753b16b1e7b9390d64ba50d2c63a2246a83bfe782aba2c831e3af0cb0c3ba431cc3bff1962ba94e931baa055ba3af9f3d33bb011e1b91ceac2b9bf71503ae2978d3b92702e3b98924e3b3d5caa3a9c73a8bbf9a3e93bbeeca13bdc009b3a6244a2bbfabdc23b424c6d3b155e933a373e88ba5b8eb33b5df99c3b9d33ad3a166ede3a560bb33b00d6f33a02ed98b89c24133ba5b1c13b001045399101493a57d87f3bb451a73b64f0103bc8b1d3b9d379753bc645733bcd711b3a22cd8bba4cf2873b00d8103b2ed2663996cd77ba3a906d3b2d0dc93ad4ec09bdf59610bdbf261c3b5b96dcbb37268abdf5c631bd2b25773b784d19bccc3395bd27fc20bd4cbc923a81b23abc2d0c8ebd7b4113bd0a0092ba1e2a34bc2b3c6ebd69c0d0bc3bf253b7e32e54bc2c9d5ebd4924a2bcd4dd3b3a62de53bca81135bd58e73abc6e7d123b6a7c20bc29d9f3bc5ead18bb8c22963bcf5d8fbbda1650bc9d44203ba9e47b3b4879253b258b51bc0766ec3d3938893f847a813bda433bbc1a2de73dcc09813fa1d38a3bab8dadbbc53be33d261c5a3fbe378d3bd67237bb607ad03db771313fad5c953bd7895bbb9667b33dabc8073f10c3953b2a8771bbb925923d9d40c53e78235f3bdc22dbbb6bb6503d51e4723ec7ab403b951722bc2defe83ce181c73d52b0fe3a952503bc6695f93b6c13adbc0f275dbdc83fbe3b000000000000000047e878bd2a6aee3b000000000000000040dc33bdd772a23b00000000000000006d891abd98c6533b0000000000000000ff2f0abd5d8f013a0000000000000000527924bd23219e3a0000000000000000e17d3abd4053ac3a00000000000000006c644cbd57284e3b0000000000000000117926bd6c58123b0000000000000000000000000000000000000000000000009c6025ba8d69893a0768cdba9215f1b985452cba824d1d3aadb58cba7f5d293a859deab9749c053a8b4596baa4c3123bcb0a13bab8231d3a36b49ab9fbb4bb3a8e4155b950091b39c6fb9e39a4a5213bf8c39db9a2526fb81b193c3aa9217f3bf08301bae644b838e5e2bd3adbea9f3b0000000000000000000000000000000000000000000000000000000000000000875c6c3ba830543bcb140f3affc808bbdaec803b8815223b87a41c3ac1a4573926c63a3be501c83ac9fe2b395aade13a8212393ba70af23acf5b8b3aa565643b1635613be6a2d03ae60f4b3a9f4c6d3b59b74a3b228b9a3af2fb69b99b3f783b1c3a5e3b29ca873a432203ba51c98b3b000000000000000000000000000000000000000000000000000000000000000055148abbf70d74bd43091cbd0c9553b9313cb7bb431774bda5c204bd69865dba07b8e8bbf19363bdbe07eabc7d92d7ba0953efbbe95c48bd473abdbcda2972ba20a408bc5f7d32bd1a2f91bcd7bb55382c9104bc7d6a12bd4ec23bbcb6ce8e3a0e7708bc1fbcd8bc29d58dbb88fd993a000000000000000000000000000000000000000000000000000000000000803f8e15dd3acf2d263be3b100bc43f8893f70f30e3b46507a3bb950a33b6cba663f05bc173ba443673be8db363cdcbe3c3fef7d3e3bdcf84c3b4eac743c0341123f1be1413bfdcea53a9f27803ce8a2d43e812f253b5901a2babee85b3c6ff0853e4928303b25a883bb8279093cb92ae63d00000000000000000000000000000000000000000000000000000000000000000022e0bcff7e593b0000000000000000d0d88fbc2daafa3a0000000000000000734468bcb92abeb800000000000000008a1a8cbcf62c26ba00000000000000007659b4bcbf92b8ba0000000000000000e631e7bc602bd0ba00000000000000006dd51fbda843cbb900000000000000000000000000000000000000000000000000000000000000000000000000000000721cacbab40992bbdbc3d5bb5b9c023ba9a1c1ba6a9882bb078297bb7be94d3b5294dcb9a89593bb1edf7ebbfc23963bda66dfbadbbc76bb270411bb732c413b066120bb5a4036bbcce428b92b98a53b75b9b1ba914227bbe17dc03a541fa53bd931c6b9795550bb1189053ba5bdcc3b0000000000000000000000000000000000000000000000000000000000000000fa90a23bb1cb143be9ebd9b9db95363b7e738f3b0806f53a5c1c3c3a3103883a5819aa3b4702853a88dcb93a7d570cba686a8d3b35639c3a709c043bfde5f1ba2883583bc9dab73ad4032f3a40c748bbcc78343bc2c39c3ac238803a87179ebbec13343b7b65633a3ab454ba2ccf9ebb0000000000000000000000000000000000000000000000000000000000000000ac88fabc0f142abd8ea001bc06b48abb33a706bdcdb914bd53470bbc874b87bb80cb05bdb29401bdff580abc7bbd96bb310cf2bc081accbc3145d1bb328e08bbbb70eebc78d8a0bc1befaabb49f616bbd32fdebc492263bc7ab3ebb90a83a5bace35bbbc7a5f0cbcc525873b188650390000000000000000000000000000000000000000000000000000803f00000000c4c3c13b3f5e8cba89717e3f283e42bb12d2e53b3dea173c75c5573f186e50bb2d84133ca68a893cec07323fef32cfbb0358e43bc0df923c1d350c3fe92439bc38b79c3b88f2a93c9d45d03e85519dbc475e743b97ac9e3c8e59873ec7a2e7bcfb90263b383e963c5c29fd3dca3322bd00000000000000000000000000000000000000000000000000000000000000005949e93a0ca412ba00000000000000000d41debac715f5ba0000000000000000575c9ebbefbd5cbb000000000000000033a0e2bb951a93bb0000000000000000bfa30dbc2fdaacbb00000000000000006a9e17bc4f40c1bb000000000000000052d01bbce66db7bb000000000000000000000000000000000000000000000000da6fa2b90a4bf2bafcf2efbb94101ebb715348ba84c34cbb32d9e0bb95f2b23ab8c3eebae14b89bb166fc0bb3109183b45ff00bbd26b8ebbc89b9abb4851583ba67be5ba86897cbba4c24cbb3872773ba166b8badac564bb256a5dba8a64853b7c3fd1baace75bbb5a56273a36cbca3be92697ba208212bbdc09243bb6dccc3bae5682bac24315bba8cde53ad2be953b260e6e3bca7b093b83298fb9ad87973b3c4ccd3ba33f5d3b93e4aab902716b3bceb9b63b84bf3f3bc951803a122c5e3b7f3faa3b82b00d3bd2e3f73a8448e43a2e08883b87401b3b083f143bf7f751396fba753b46ef313b3c83043bdf18d5bae41e8b3b47c6cc3ad54b973a13c66cbbaccd2e3b0a75363a1ab7663952db87bba1d1103b2dc1153a34955bbaf4a157bbf1a637bcfcdf19bd3f4b04bc77bf2cbb5cc2e5bc9dcc4fbd957b3abcfeb86abb498a0dbd506044bd81794abc721894bbd4b313bdfa722fbdfce137bc7d2796bbb12705bd66d008bded592cbc760878bb06410cbdbff8eabcd5c99cbb71cc7abbd31001bd2b32acbc5ddb82ba6ac6abba36f4d5bcf18742bc8acb613b2ee34f39373e81bc59ee94bb689bbc3be129733a00129d3bccefafbc77787d3f0188023eafdf013cfe3571bc70a7683fa3d8e63d7d340e3ce2f29a3a9bfa463f411dc43d4a15133c3c77313c77a7243f8ec0983d7014053c9fce853c49e3003f8492543de07be73bb10ea43c6010c03ec01bc73c5a3f9c3b9877a53c4c2d7c3eb8ef3fbb2b08e83a94558e3c040ff33d2eafedbc7db63bbaaaaf403c821ce0babaaa22bd1d2a22bb11d1e73a00000000000000006b9e9dbb9e77853a0000000000000000bd1dd7bbf94c75ba00000000000000001f8e1abc20d43dbb0000000000000000dd3b3cbc833b88bb0000000000000000cb4067bc68bdabbb0000000000000000d32173bc2737cdbb000000000000000041cf56bcd690a8bb00000000000000005b9908bc493a7cbb000000000000000097fe223937089cb9725dc2bbaa719dbb6a0553baa6a10cbb4d4c00bc46e057bbea898aba774d36bb2cffc7bb676f92ba8919eaba5b8368bbb743c0bb6de9dc396692d2bac7f972bb1393a0bb2a5a3b3a6585e5ba3f6c81bbd46d42bb706a673b5c9dc6ba72c465bbf025edba0e055e3b7f28c6ba421d58bb6337aeb9f35d9f3bf184a4badf2523bb9d596d395368633bf658103bfc61073b4d803b3a34c9913b640e8c3b4662463b5a0a943a336ac63bb0b0773bb58be63a8f94023b7ab0a13b26a3a03b1f6a1a3b69ca1c3bfa639a3b3c6d4b3b59e0103b58fe293b335e673b4421963b7e77d73a2e69183b25eeaa3a41c79e3bdcbbc03a87c5d43a20a084b8e5b86b3bee99a33aa9b65339a929c5ba9cca173bb3ff8a3a89b240bafacfc6ba434cb4ba247dfebcebaf37bc0aded5bab76d66bcdf4640bd07cc86bc0e1056bb79a8a3bcac5b2dbde6957abc16c97cbb2731dcbc899a38bdce1676bc03608bbb195fc5bc512f0cbdb86c38bcd19a1bbb8ccbe5bc42ab05bd54ed04bc6c3829bbdf80c1bc89d7c1bc089d84bb4a2e24b9bc0bb3bc3a8f84bced43ba3a6b1d383a163c53bcdd82f1bb5496683b0b28bd3ac4eca23ba42fc9bcc572573f2fbe873e940f093c0fa1a7bc3de4473fc691753e07e9053c20a598bb71fc283fa7f0503e22f0183c2c5a823b3249103fd4f1283e9c8bef3b3fbe1f3c479ae03e7c26fb3d36c6f83b63dc743c8593ab3e7fb1a13dec83ba3b8d61653cb74a623e7967213d28483d3bcca6713cdaa1e63d959dc2bb64ecd439b03d193cba8ad03b8edf00bde2751abc9800423b0000000000000000c70852bc5d311d3b000000000000000040044abcbe8ffa390000000000000000cbf87cbc014abcba00000000000000003cb081bcbddc73bb000000000000000046c2a1bc625795bb00000000000000003bd199bc43a09abb0000000000000000b8519bbc370f8cbb000000000000000093f444bc25041ebb0000000000000000e592a1b9cce4b5381ab3cfbb056cbcbb3f6433ba895397ba2d3ec9bb68e1ddbbb68044badbf4febaee3be5bbef6305bb73c9b3ba52b431bb583ef7bb368776ba6c6a113af36e93ba1afb8cbb4d0cc13af7e1f5ba426c7dbbb04c9abb3a94b33a9586b9ba30096abb7fe04cbbd3bd373b29d5d0bad06a65bb24ad07bb1c93803be47ca2ba2cb537bb09a2c3badf5b353bb6ae61baea89073b5da8403b84096e3baf46f03a6f07623bcdfe213b20ffbd3bfe9d983b2c2fa83b7a86e23ab11db63bb19e5d3b12000c3be866703bfb98e43b420556bb8f61323b121c923b076eb3ba7f0c8d3b32610e3b39d8233b18d2723b8768853bf251d33a66d8113b87ca173b67148e3bd265e93aa089183a1cec6a3a1c09443b866f953aafb931b9630b77391f01803b7f66d9bc41b072bc4f0a14ba6f1898bb5b912cbdcaefb6bc298151bbf22a72bc62ab3fbdfcbebcbc3f16bdbb8b10a0bcd86032bd3cfa95bcf3a099bbf23dd1bc76e115bd3c355cbc50d702bb2a7cb0bc49db0ebdf4f73abcd96115bb8566a9bc02c1e5bc0c77d1bbd62622ba769094bcc59ca6bc4016b1ba520d7b3af30433bc7d142dbc43abbf3a5f15c83a6474b83b8a35babcfe3b323fc6d2cf3ee025013c7137a3bc6a54253ff1acbd3eee2a123c63dee1bb8fc4103f4ea0a23ec39a133c91c7c33aaaedf23e9d01853e2a88453c1dfb4f3cafa5c23e7a0c4e3e7accfe3b98b53b3cdc4d933edab10c3e82c4e53bfb96593c1c7a473efe6d9d3dc777903b2803453c6876d33d0c9c963c8aaa133b87a4033cbb2b483cb72acabc5e637fbc941b903b0000000000000000256e91bcee46593b00000000000000002c06a7bcd15c6b390000000000000000e6e9a8bcde02a2ba0000000000000000fbaaa0bcb112b4380000000000000000e36dcdbc243455bb00000000000000008411d5bc7a1a5bbb0000000000000000f693d1bca96841bb0000000000000000f1d68bbca522b4ba00000000000000005fa8cc39d334dd3ac92d95bb0cf907bcf808c0b92bfc7c38bf94dcbbe15709bcd4e18dba48eea5ba0bc7d6bb3a1bb7bb4390a9badcb912bbee63e1bb3fce82bb9da54fba559500bbd6baa6bbb4f315bb53c29ebac1475abb498ab1bb6ffc84b9c6bebabae68857bb38a685bb82e99a3abddeb3ba5b8767bbb2fa5dbb355a3b3b9dc790ba1b3222bbd9541dbb2e24133bf0962eba65a0d73abca32d3bd006743ba50b483ad1ed333b75466f3b0625ba3b807bbf3ae874f83ab3c9813b4baf0c3cd039303b7061243beddd8a3b4c65e73b7babe03a38ed993aa86c643bbd04b63ba2687c3bbb29113baee36b3b7fb3ad3bd6da7f3b0ed8213b4db2113b8be7af3b3424923bca02083bf8fca63a6bd1113b68f8703b3673d13909ada838623d833a96b00e3cb382afbcb5c2a2bc17e3a7ba2a9d2f3b228d15bdfb84dcbc951f10bbd832a9bb618220bd04e3c7bc504263bb47e72fbce35730bde6cdc1bc2b7582bb004621bc5cc4f6bc788c7cbc045362bb313882bc001514bd407672bcc9c90bbb609478bc489de6bc4d8e13bc3c199fb95bd769bc6ddbb7bc0d0e76bb5222b03a6a6f11bc42ea4dbcfdbeefb75733103bd8e98f3bd4ef93bc3bfb0c3f64a20c3fa241db3bd8a379bc8eb3023fa563003f6245df3b1cb9a6bba052e33e5b95da3e528c0d3cd992ef3ab78ec33ed59ab53eacafdd3b0357c73b3f90973efe198a3e9816093c0af6203c18e9733e8983493edecfdc3b506e203c03f1243e637af23d7ceab63b14a51a3c0d7db93dddd3313d5a3a5a3b6b5cc83b0503823c8b2b9cbc6ca099bcbf69823b00000000000000009e2bc6bcc6ac953b00000000000000003737b0bc9dae1b3b0000000000000000033fcbbc6b2aab39000000000000000015bca3bc5191ccba00000000000000003518f2bce48430bb00000000000000000de2f0bc97cd45bb00000000000000001a9ffcbcfd1603bb0000000000000000520fb5bcc3fe29ba000000000000000090ae43396c64013b678e88bb30bf10bcd066e1b93c024d3a8e0cdabbf8a11bbcc10004ba556d11bbb788cdbb8895d7bb48c307ba3363c9bab919e0bb80a19fbbdf8719bbb23e1dbb3312debbc2368bbbc3042eba650f2dbb836bb8bbc9c831ba8dd194ba2d554dbb1747a4bbaeb6853a144fa7ba2b674abba3e083bbc412373ba44ef4ba9dbe60bbf0a76abb08709c3afda489baad62193b7797473b21123b3b693ecf3964987c3bd056893be783a33b6183f73af5e6673b4c6d963b5835e43b11160d3bca73443b2155a23bca6ef13bd3d9c13a06fbcd3ab22f653aa3b86e3bada1733bd2ee0f3ba9c48b3b0efdda3bbc998a3baa271e3b2854333b3160a63b66a4903b21e8753bffd6593a9c59653bceba873b48246c399d62993a198f3b3b48643e3c4fa299bc2ebbc8bc3ec391baff7cfe3b64b812bd824f0abd5a8c14bb891f95baed9b31bd544c08bd211d51bbe8d89cbb166f30bd5fc4e7bce5ca8cbb24382bbc81c928bd82cec5bc121ddd3afe373abc26f81bbd108f95bc86631cbb73cf2fbcfa79ffbc2d5f47bc3fb3ddb9f7f041bc325fd2bcb09dbfbbeedaca3a9e92d1bb1b425fbc9366dab92341433b2b48693bc61b64bc450ed13e2dc8313fe678b93bb27040bca6b0c33ee1a8233fe59ae23bff2927bbb7caad3e3e7a0c3f4cb0003cc70a433b9a26953ed586e73e90fd423b24e3353cc652783e7419b13e4d05ea3bf152f03bc6e3403e5ff6823eecf1043c4786f23b57cd083ed480223e4265013cbd8ce83bbfbe9f3d3a3d863d3c739d3b83f6623b0a749e3cb1a182bcf757babc773f913b000000000000000004eaefbc8e97ad3b00000000000000005efde9bc6e8d793b00000000000000005e8be3bc715a333a0000000000000000b3c500bd08774a3b000000000000000058e70abde02e16bb0000000000000000289317bdc8d01ebb00000000000000006f261dbd1f13ccba000000000000000009f9d9bc6e28c639000000000000000075677eb76a99183b40e46bbbe76c14bcb1b758bab5a9843a8ed9d0bb3e1b20bc4dbf65bac9f7fcb98500c5bba11de1bbdfe13ebaae76c6bac91ae3bb37a7c0bbf7b9b6b9b7c5a0bab3babcbbc43071bba53481ba3a8935bbe3ecc4bb89e1a1ba65605ababe0222bb8c9d9bbb16ee573afe117aba22c329bb0f6680bb0cbe4e3bf5087abaa007ffba6e743dbb2c5c383b77cd95ba3e44613bbf17423b77f5b43a8cf09a3a8671663b9f4c823b81625f3ba65eac3a937e593b5c48773bf6a7bb3b4c55ff3a20764f3bb0589b3b1645e73be0c7043b72ce1f3b340f8c3ba339e13bd01e753b0d085d3b5830653b1ce2df3b2c63893b02da153b1c09103b70bfaa3b4911a73b23b5203bb2126d3a2eec883bf128833b7e4bf43a6fa358b9bd4b153bbf515a3cd08090bc885fedbc30f223ba26cf353cfc2011bdcc5620bd6b14f5ba56aa683b24871cbda06106bd8a7a5fbb6df424b9e04f34bdc5cd06bda2ba96bb56d25fbb9bbc14bda2d6c2bcd09b52bbb69302bc19cc24bdc85ab0bc81f506bb96310bbc21e301bd526c5cbc415f643955b21abcb71ee4bc74d8efbb238e173be9e5c5bb39be7ebc0384d2bab637383bc416273b9b5017bc15dd883ea256573ff7478e3b3d65b7bb7844813edf59463f2183a43b0a82903a8e05683ed08c263fd710d73bb050be3bea484e3e033b0c3fff5fcd3b840bfa3be9ac283eca6ad83ecda8013c5cd6103cd3960c3e2717a03e2734e03b5651ed3bf42dc73d62944a3ef9e6d83b27819b3bffc6823d602fb13d1439933b2e7d023bcfe7a33c43e849bcbed3cbbc70dc993b000000000000000022b5fcbcd320b83b00000000000000007ef5cabc83f4403b000000000000000049a6e6bc69da3d3a00000000000000009b04dbbcfddca2ba00000000000000008ed814bd6be01ebb00000000000000009c7613bd460c0bbb0000000000000000743f35bd1c70b2ba00000000000000009c6406bdf07501390000000000000000006d22ba8719073bdbba5ebb213117bc18254abab38bbc3aa29090bbf8aef9bb1807b5baf1b978bac9d9d1bb4d4fe4bbed5819ba695084ba142fd4bb1f4ebbbb4df763ba723ad5bad426cfbbbd1687bb14781dbab2bbfebab3e6b9bb6737b7ba91050fbaca40fdbaa3d89ebbb34fa23a5df154baed7a12bb200c69bbbab37b3b342dbeb9d1ecbebad00b3abbf1503d3bc760a3baa21e7e3b049b2c3be5ed5e3afe00c5b8dccad23b71dd723b8e5b1a3ba54cec3add7c8d3b5311853bcb82aa3b64770b3bddee673b0472943ba6afe43b970a043bbc3d223b951a853bb429f73b68f46f3be40a593b64f3693b16bfe93b4ffd9c3b70256d3baf2c123b4892c73bec2fba3becde4f3be32d8839d14c883bf454883bff5d0a3b329fb8379323363b57356c3cc8319cbc4b960bbd95c5b7ba6397483c711119bdae7b36bd2d3b9cbb9c74e93b5b0c33bdd9d824bd83eca2bba22e393b6efc35bdc3f311bdbc35b4bb969ba0baf55d20bd01d1e2bce3c596bb90d99bbb272726bdcbbac0bc7cda31bb0476e6bbf15b14bdf30086bc926cceb931a9fdbbb6f4efbc25b508bce9a6373be6deb0bb97b490bc94902dbb9447563b67296b3aacef38bb60ec033ec37a7d3fd9c8353b3152b23a71e7ff3db7b9673f045e6f3b77e6d73b2696f93daa96453ff4ea5d3b136a173c7976e63d47d3223fcb9ebb3b3b73203c41acc73d533cfd3eb110d83bdc30193c6778ad3dea20bb3e4786e23b8a10e53bc354893d41dd6e3e4c58ca3b49cf4b3b449e403dd35fd63de6c6a63bce4cb63ab99ab13cb4ea42bc1cc4b4bc4c87993b00000000000000002beee0bcd4bcb63b0000000000000000bb1fafbc6dc8013b0000000000000000f18ab6bcc489d1b90000000000000000ff70c2bc772619bb000000000000000028cb05bde60578bb0000000000000000ee0724bd3f8788bb0000000000000000f1cb41bd836316bb0000000000000000fef41ebd0994a0ba000000000000000000000000000000000000000000000000d29fddba3a3cefb97773adbbc03408bc1f17f4b9c3079db96931a0bb3294c9bb315cb3ba5db28eb978f0d7bbb37196bbc8fe06ba6c68c3bad6a4abbb66471fbb36f65eb9ba95a6bacf0d99bb4170eeba926f2839bc6534bb4b7968bbe5f9e439a79754b985e38cba243b5cbbaae21a3b0000000000000000000000000000000000000000000000000000000000000000b51c1dbae7fc443b4f4e803b110cdc3aebcddc39d588303b6c5f5d3b37d1883b3b97f939c687ee3aaae98e3b108ad93bc4af983a4ca5e43a5581613ba186d43b5be6ed3afdfbbf3a39c4313b7162c43b75ba5f3b55d83b3b349a113b8e10b93b236a853b831f2b3b309d903afad48c3b00000000000000000000000000000000000000000000000000000000000000005947443c7e68f4bc21a918bd8cc363bbbb32e23b61a80abde1d503bdced5a7bb57e1173b04e905bd342ee4bcb036aebb9994db39ca15febc4c92c1bc6eac8abb35f51fbb0cebffbca8759dbc43f069bbb96580bbb279e6bcb0745fbc0ace39bb7d25b4bb3f84d0bcabf311bc84ae673a000000000000000000000000000000000000000000000000000000000000803f7c6ccfb91a20bc3bcc2a103c7d777e3fb1ede43aaff90a3cc7ea883c0689573f95196a3b0ed5043c6939bc3c335f313f71eb763b2078183cbb2bcb3c4ac60b3f6c1f8f3b7e2a0e3cca1bdf3ccefece3e18b4a73b8336dd3ba8bbde3cdb7a863ee457b63bb495953b2959d53ce0cafa3d00000000000000000000000000000000000000000000000000000000000000001e350ebc80d6c33a00000000000000004fc202bcea3e003a00000000000000002df80cbc35a93fba0000000000000000c71058bc365d56bb0000000000000000e606a5bcbc1388bb0000000000000000d4eadcbc1336cebb00000000000000003aef16bde9ce99bb00000000000000000000000000000000000000000000000000000000000000000000000000000000e6e57f3affda5b39ad2d24bbe6346ebbc57b863800d966ba1850d8ba826bd2bab4579a381d4b98ba628ffbba7b75d5ba11ee93399b335eba3e0695ba96dc7cba9e807fb80d20a1ba34d7abba7c3296baeeea8bb9aeed8dba1c75a8ba1c8a8bba74d18db94c1299ba036d97bae62019ba0000000000000000000000000000000000000000000000000000000000000000d3e623bb3f9dfcba6ff50a3bd9942c3b839894baf43a5bba00a6f43a8de0e83a26fd93ba07e581ba6693043b2f74b23aa29b23bbe6da28bad400073b9a146b3a3a9861ba20ad13b9f94e013b23c6f939170a2aba8ca904b97486c53a5e5fa039953868b915794839bfe6993a40cb86b9000000000000000000000000000000000000000000000000000000000000000019202cba8bf5a7bb8ca79dbb13a901bb4783f7bacd3580bb9da82bbb1a280fbb61621bbbb04682bbe26e31bb42f00dbb467a07bb722643bb857905bb3abe65bb97b920bb999c4fbb310611bb0587ecbaf66a18bbc44936bb17eadeba5975b3bac2371bbb367917bb84c482ba770c7bba0000000000000000000000000000000000000000000000000000803f0000000082e1be3ab36d4a3b8bc6633fd03f383b9774dd3a44546e3bb18a423f8972d63ac90f0f3b3b24953b5c2c223fafc5833a0881263be5e8973bf78e013f84c7a939e0d31f3bcdcba43b3b6dc23e55a86eba2b040d3b4328963b1e97813e66cb00bb06ad0e3b2f21853bb556013e862157bb0000000000000000000000000000000000000000000000000000000000000000348fa43ad147d5ba000000000000000017ec81b9a7c7b1ba000000000000000009ba6ebad1e4eaba0000000000000000d1bf77baa3f9beba00000000000000003a6cfaba589f08bb0000000000000000314f10bb4be913bb00000000000000000ae51cbbdaa80ebb00000000000000000000000000000000000000000000000045f236396a501bba2dcadcbafbcb0cbb06029639c5fb82bad67018bb70522bbbf0b759395e0c9fba948714bb62201bbbd5038d36de0fc6bae13218bb24e115bb55480c3a02c877ba65f1e3ba981bedbafe1db6b881fac0ba98450cbb0b96fcba8fe82ab99baeb4baf80fd0bafdf6aeba9be1ef3967de2bbab28e15bab04d00bb7c83abba26eff9bada305039bbfa213ae69ac6ba00764239b053ae3af4f6093b354dd8badd3e92ba99df0a3b11b12a3bce3ae3bab49e76ba196c1f3b29221e3bf38ddebacfc66bba7e54353b3e7a073b2d48acbaecacceba323a533bc41d0b3b65debeba891723ba45fd283b5c67983a0e2972bad88ac7b96482083b9bec1c3a130ab9ba13ecc2b935791c3bf62e423a33b675bace9299baa4e701b828c79abaea7fe4b8ce3670bb6e2c2ebb35141abb9ac78bbaf26ba7bbffd070bbcba841bb3044dbba99499fbb459568bb78403fbb443515bb3947a5bb15846dbb8ae63dbbe649efba4e6d7cbbf84f3abb993912bb67d12cbb641e8abb882a46bbfcb324bb09bb1dbb1ca558bb830f0bbbca07e3baf78bf6ba37970abbd6df25bb4c4815bb260839ba30c032bae849caba1fa71a3a6579483a4bb4563a9be2623f626f023e4775ba3ab672223b3d34483fbd9de63d8329023b51a9793b34312b3f3357c53db867253bfdeca73b30d90e3f3ad0a33d1fb3e03a49d0823bc168e43ee815823df1993e3b44e5bf3b9672ab3ea0233d3d4d0e2b3b3257ab3b696f643ecef8ef3c67a7ad3a4722bb3b87dfe63da8b3503ca9c5283b2f8f8b3bd2c6f7373a8c8ebb4648b83996b757ba00000000000000007e70ceb304b4b2ba00000000000000002211f4b9b0e4d7ba0000000000000000e503a7bafa930dbb00000000000000004d86c5baf41106bb0000000000000000111c1fbba7c02ebb00000000000000000c502dbb831c24bb00000000000000004dab16bb78f979bb0000000000000000dee999ba51de2fbb00000000000000009be8f139ff59a3b9798ecabaa9de15bb94caab39ab2b77ba5c4526bbc3f555bb4a4cc339c65b3bba478cf5ba4cef31bba939e1397e887eba0b840fbbcb1525bb7ee12639194da3bab24815bb1d061dbbaa42df396087b2ba3a7718bbe1ab0fbb75a424b80a0d95ba347ecdba91deb3baa64d2ab922fabbbadd4be5bace80a7ba32db94b9cd1184baf1c193ba67b942bac783abbaac5f09ba5847be3ab834053bc99f1abbce3046babbab243b4b79413be84f11bb7559c2ba3c791a3bdbaf283b2c8801bb3ba746bb060a3f3b28d7373bb74fe8ba54ac77baccc8243bbbadf73ab30cd9ba14bf97ba7f0c423b400eee3a50a286ba43f2bbb934c4003bc7296c3aa00857bab4f22ab77d17f33a1953003a3263a9b9a4c35f39f139843a19acc7384b46383a497c4dbb51ea2fbb6ac003bb28d0e439ea7aa4bb3dc285bbe32f5ebbc01805ba8c3f86bbda786ebb72ae4dbb27f88aba7dab97bbde8f77bb1fe141bb1335b8bae10184bbc37c52bbed802abb12d908bbc95d98bb0d1762bbcc6d35bb3e1df0bab98959bb7f7b12bb9153e5baee9d12bbf9995ebb4851febab2dac4ba061cc4ba38d901bbf6f681ba391e3cbab4004a3a2418a239e776423f8f93813e4e459e3a16d4ea3ac4a32b3f6b21653eb273db3adb4a453bdad1123fbabb433e507c1d3b75ad943b44ccf53e1949233ebc4c163badbe8f3bbc33c43efa75013ee2d84d3b8daac03bcd2b943e0b6ac03dca2a153bdf24923b7fec443e9d2f7b3d8755293b565da43b0747c83d6b7ee83c56dbdf3a7a41503b064de63a6bdb31bbaf4da8b8db735fba0000000000000000f3accbb9b71179ba000000000000000028fc07bacd59a7ba000000000000000007108eba490ae9ba0000000000000000272fe3ba556b00bb000000000000000013ac37bbdbea31bb00000000000000005e5f2ebb5dc617bb0000000000000000043d63bbbb0a2dbb000000000000000081fd1dbb7875ddba0000000000000000aee5ff395cdc2ab9c27ce4bad14029bb95542b3a5648bfb93c5411bba7ea5abbf416223a181320ba5de713bb92c147bb3971113a49cc81baf8fe2abb02b150bb5b6dfb398d1f3fbaf99b05bb887511bb8e38bebad04931bbea236abba0b258bbba3b7a3945dc8dba14e50fbb0cc106bbc3132cb8d0c395baf5a507bb4277b7ba919c9a3ab092a3ba59e9b9bacfba633a4fcefaba2fb544ba21e6e23aa2901d3bf0b837bbe483abba629d1c3b4a2c5e3bff9d24bb926cadba80ad303b7e534c3b5a9928bbf15fe9baccd1473bb7f8543b827669bb792c42ba8499373bbe40273b65bb20bbb5527dbadc4b5b3a1acd1c3b86c3daba0d1c2dba337b2d3b5550df3a669382bad3c337ba2526093bfd50513ad66f2aba3aaaa1b910273f3a0252bc380280b13a59cd2cbb275741bbe2e309bb6f9aa73a107a85bb0ddf91bbf28d58bbd2974439e83a8cbbffb38abb549f54bb5e63f5b9a7d09bbbcacc8ebbb73967bb3c043bba46847ebbd21c5fbba28826bb4db784ba36fabcbb4fc49bbb808870bba841babaf10273bb657437bb61940ebbb8ecfcba9f936dbbbcab19bbea50d4badb01c3baf73b13bb175995baecc290ba715f263afeea9c392423223f3a62c23e585d863af0fccc3a95130f3f226cab3e098ad03af7063e3b7ca8f53e3fba923e3939023b90bc8e3b72c4cd3e35a6743e946e063b14308e3bca6ba43ebfe5423e0859003b4c189f3b85587a3e25a4113e78f32c3b74efa13bce4b263e739cbf3d021a263bf5829d3b1333aa3de9ae393d8b11ae3a7d3c303b8149843bd4620ebbe4a974b91d40e2b9000000000000000056fdccb90b387eba0000000000000000a86053bac730a5ba00000000000000002481cabace0b00bb000000000000000033d9dcbaa09fedba0000000000000000b5af11bb2fcbcdba00000000000000004dc840bb2c6617bb0000000000000000867a71bbea3c21bb0000000000000000752b3cbb8dcb01bb000000000000000053a6533a78c19b39ded4a5ba377727bb9c2c513aeabbddb82f5f00bb9b305abb9129403a6be4e3b92ea808bbf2bf43bbbd3b183a888917ba434d0fbbd79a36bba938043aa23022bab90bfebaee811fbb739da138bd99c2ba9ebc46bb6085c7bae6219c39f6c181bab6b70cbb2bd609bbf9b052b7d60c9aba4a2401bb2e62c5ba2966d9b9505b72ba3923cdba34a809ba8cdd07bb3c2f7bba60d2d93a11dc263b2e454abbd2f4b1ba91d61c3bec63563b1f9931bbec669bba6872273bd23d513bbff817bb51e001bbdf5c2e3b7690553bbf461fbb0dc511ba3eaa213b77c5223b1d97c8ba7057e1ba372f303bec841a3b6cdeefba9f8840baf5f61e3b1e82013b0e1583ba57b690b98164103beb2bbe3a9bbd5b37c86d02bb7a24a43ac00b4e3abe710a3b8c28fabad65549bbd3cf11bb2c3ef03abf035ebbbcf294bbd9b159bb8b2d5c3a2ecf6fbb2fcc8cbb36c651bb5534883934d68abbfea690bbbae64fbb9caa2fb9579856bb4e2163bbff5f40bbb15c93ba85082dbb34ca2ebb333f0cbb11e97cba5fb961bb42b847bb5bf419bbce48b7ba856f59bb57c726bb8917d8bacd0098ba4a2208bb24c693ba80432fba9816b9b8b2f792370eb6013ff88f013f82fa473a4ae5c13a27eae43e1b23e43e1cd19f3a5aa72c3b31b4c43e1c5ac33e90659d3a59ed5f3b1ceea43e5fe9a23e39e3ce3a67946b3bda9b833ee9b4813e0fe1113b3731983b2106483e6736423ecb6b153bdd64903b3e45063eead9003edc82183b1a1f913b98c68a3d73437d3d100af73a4d53433b0cd6533ba4779dba0ac57ab9b91e9bb80000000000000000ab0626ba4eae3fba0000000000000000e4244ebaf53d96ba00000000000000000c39bebad85eceba0000000000000000de31c8ba22a9d9ba0000000000000000feec50bbf01c40bb00000000000000008ba144bb92640cbb0000000000000000234170bbb5db12bb0000000000000000d2423dbbc439b7ba000000000000000022f0c23928df52381f3ba3ba1dbb25bb01a3743ab39df0b8c6e8f2ba3fc754bb8d2a623a33c37637a8c509bb248063bb988e0e3b6be6d9ba58c20abbe1845fbb2ae92f3a204e3cba256022bb133e48bbf5b70f3aa5cb47baec5824bbb33246bb5cdfd33988a06eba50a91bbb23f919bb3059fb3811e290baa8950fbb2760dcba38944b37aaf33aba4427abbafd5691ba946df2ba6de035ba8f468d3a27abe33a578a38bbe243b5ba735e1d3b585c5a3b39045cbb0015fbbab725363b3b186a3b3373a3bbaeef3cbbe5f2a13baeeda93b30623fbb3f7296ba8dc53c3b519a493b61532dbb113083ba4bc54d3befd04b3b858feaba300635ba8645303b92531e3ba3699fbac78117bad765203bc52ff73a51ee84babe8545bacd58d03a8a5c993a11c6073b7126e6bab16068bb317202bbffa0283b3c8559bb62cca5bbb0da59bbde4fd23abf906bbb6f08a7bb7fa45ebb7239073b615c69bb817da6bbee995fbb6abb0539975080bb052e92bb9a1459bb0eba40b99bcb8dbb178591bbe42355bb033534ba972b7bbb5da56abb960223bbfb719cbaf1b66dbbd1b147bbaa0eecba812045ba19fa07bb36cfe8ba31408eba5cd4e53ae4b9ee3acf54c23ec7d5213f2502213a4b92c73ad64dac3e51b90e3f02d7823af9502e3b4559943eb992f43e2805803b5e5a7a3b4b45793eccb5cc3eef98e63ac4ec843bf127483e3d90a23e6d7b0e3b046d9f3b57bf183e68fc733ec6681a3bbf08903bfdcfcd3dc9bb213ed763233bb12a943b7457583d342ba03d989fe03ad7c4423b9cd66c3b04f2dcb964f636bad24b1eba000000000000000099bc1ebad4eeb7b90000000000000000049775ba4e9595ba0000000000000000f7f502ba0be586ba000000000000000083a702bbd2e4f7ba0000000000000000bd7244bbf1c21cbb0000000000000000f9ed66bb90a01cbb0000000000000000fa9190bba8291fbb0000000000000000adec46bb9d71bbba0000000000000000b9ab813a8d552f3a35d076ba38fc0abbae50933a9d47ec39883605bbbf9a62bb4489463a3a106db85f8902bb667447bb7ac19d3a21c493377fd613bb93744dbb404f3c3aad5abeb9752414bb3a6234bbb284353a81251fba284d26bb737d57bbb83bfb39bf074fbad0c110bb816409bbf433ed39c50a96ba127023bbc833e7bacda6ca38f5842dbab727c3bafd5c89ba844201bb568b1abb7a0ebd3a3b36153b8d2e51bb16793bbbe3711b3b714e643bc39380ba99c4daba6b3f183b93314b3b7dd69bbb43ae2cbba26f533bb0d6843bdb9b18bb558085ba1b47353bfb0f4b3bfc3c39bb4b87b4bac22b503bd4bf573b244de5ba3f5c4bba807a253bd84e193b51cac3ba5816fcb98603363b743a063b303d21ba31846db9a371d23a461da53a857c2c3b774b91ba27c664bbcc3ce6baf69e3c3bb4b437bb427ab7bb380758bb9207db3a03a043bb22419abbac4050bbac69d23a4b9c7abba617aabb6829a9bb92db1a3ae59763bb110c88bb27c636bb048b9438f37c7cbb0d669fbb516b61bbd5afd9b9f6c55dbbbdad61bb735515bbcab48abaed087dbb0d2668bb9b06f5ba83cc3cbaf67c08bb9f4fedbab7b56cbad7907ab99ab4c639e2dc813eba6e423f6de3033965ddd63a11e2663e27c82b3f1c4b0f3a6633163b0c8b463e4a60123f6a05a43ad0747c3bd1f7283ec3f5f43e65dcac3a6052653b487f073eb7e8c23ec56e0a3b5245943b1516d03d6159923e67db093bf72d823bebf48c3df248423ed18d303b7aec963b04d41b3da193c13d2b34d93ab585313bbb18713b2e9770b97d9c47b95ac33639000000000000000043eed7b9bc1bd6b90000000000000000a84918bad6fc51ba000000000000000090bf83ba133f8eba0000000000000000666cdabab8b2c3ba0000000000000000ddc92cbb33d525bb00000000000000005c5d50bba3c109bb000000000000000086439abbcd9e23bb00000000000000003d665ebb5499c7ba0000000000000000fb99ea3af0f4d33ad99209bbc66260bb84a771b77a62b93ab24133bb51e388bb77ea8c3acd1730393e30fcba03f343bb58ad9c3a458bccb72e3c1abb1fe256bb3491493910e39aba02da29bb68613fbb6a9e783a767c04bad3eb25bba4003cbb3e4d203a521557ba638b1ebbd5c025bb27e67d39f28872ba90ed19bbf04a0bbb05510f39697c1ebac519bdbac3ca89ba1ae775bace22d4ba14921a3b766a9b3a86f682bb113012bb4d95443bda65853b0be13cbbd99b2dbb5af1253bf1275c3b51d84abb4e74c5baff7d3c3bb5297a3bce5b19bb866e17bad858633bb9c41a3b74be24bbcea38aba2c2b413ba905633bb21200bbae93f1b922f02a3beb96323bdae3cdbaa16901ba0ba21a3bb639153bb22b37ba97d10aba52a8d03ab195be3aa9d4773bb2b30ab9332ca5bbf0d252bb3b91803b1db8c5ba58a9d5bbb06387bba193113b1f2c49bb3491a5bbbaa052bb314edd3a7e876abbe1f6acbb22df6cbbbb2a3a39cc6880bbd58f97bbab9644bb6905c5391de580bb6b2896bb50db4ebb1bf81bb9b3486dbb5d2a76bb5cf51fbb12363cbae25768bbaa3160bb3770feba0ac732bad55213bbee4203bba1047aba1292a8bafe29f13a22e1013ea723633f868fbbba0d4d243bd804ec3db1bc473fc3ffd2390bfe2e3bd150cc3d30ea2a3f1fb3583a47b7663bf0e3ae3dd5870e3ff6a4c93a313b853b61828b3d74f9e33e5255cf3a8e7b8a3ba38f5e3dccaaaa3e4537f73abf8b803bf68a1b3daee5623eb7340a3b42f1813b33e6b23cb454e23dd2d0e13a83f4393b1799873b2132b4b856f73cbaa2949d3a000000000000000019f0a43ab4068fba0000000000000000a6a6c43841a50cba0000000000000000358ddbb933d2a8ba00000000000000000689e4bac74beeba0000000000000000fb581abb57b60ebb0000000000000000930b54bbe07f11bb0000000000000000f0c792bb67071fbb0000000000000000ad0875bb6ccedaba000000000000000000000000000000000000000000000000e5a4763af05b0b3aaf95a6ba599628bb0b1c883a31f4b7394942d3ba405743bb408d553aac7886b959dd08bb02d954bb3d03733a831538b9b36fc2bacea827bb2822573a23c8b6b9d8f500bba13218bb0079243aed0801baa97b01bb908711bbb6201b3afebb47ba490a20bbc6d225bb00000000000000000000000000000000000000000000000000000000000000002fe628bbe631c6bae475d33a41582b3bb5ea46bbbf70cdb814330c3b84d7403bdccfb7bac1aa1cbb6c1f143b3fc4423b71fb28bbc49ad9ba24a40c3be412313b030d05bbc9541bba74bf183b570f373bb8dfeeba70f1f5b905c90f3bbca4203b2c950cbb308eadb8915f2b3ba6d31e3b0000000000000000000000000000000000000000000000000000000000000000e6b62f3bcb61ecbaa8d78abbf69832bb44d2033b17752bbbf8de99bb90c554bb02ddb63a4f1247bb0dcd9bbbdd98c0ba38d7803a9ba122bb3a3879bba59137bb0e12e339162244bb4aed69bb900e32bb26650839527b42bbbc575abb914c14bb7160bbb95dea4fbbc4c85abb44b720bb000000000000000000000000000000000000000000000000000000000000803fb6c6dbb9188ec13a2a946b3bb8f4623fa4b6253982b21a3bbcc29a3b0284423fd21bf039a8f2373b9509b03b1716223f4cf3613a1d403d3b3854a93bc072013fd5267e3a25b74e3bf741be3b5231c23ed9d2a73a96cd463b417bae3b8348813e9329253be9d3763b6127b83b654b013e0000000000000000000000000000000000000000000000000000000000000000fdc4963adf4157390000000000000000cdfd293a54e600ba00000000000000009abc3c392e9793ba00000000000000009e76c4b9cc0799ba000000000000000000b0b7ba8363d0ba0000000000000000d2b91bbb1a8af9ba0000000000000000821f6abb36cb22bb000000000000000000000000000000000000000000000000000000000000000000000000000000008b17b03964fdf53bcceb863c86ef7a3c7b08ac3a594f073c4d2f803cc966753ccd9ff53a29e8cc3b0df1493c8dad423c78e1df3af62c9e3bc45d323c1f2f0e3c095acc3a1e77b43b5c520f3cdc65d93b6cc0d439d4c7603b08c5063c6ca67e3b2c191bba5d98203b8bbda43b4f08553a00000000000000000000000000000000000000000000000000000000000000007371c0ba5c4301bb24aea9b92500cebcaccafe3a9ed118bb422b37bb225af6bce7e8843bd6e98fbad8de92bbcd79f4bce4df2e3bb71412ba6cb94cbb9f7cebbcc7552b3ba4abaab7cfbc14bbb68ccabc2b2d5bba572b7fbabf98913a9b4886bc6099c9b96988bf38180aca3a728de3bb0000000000000000000000000000000000000000000000000000000000000000334d09bedc8618bd64fa0e3c6e9793bac98b02be60f822bd69e6c03b78f316ba908ee0bde62224bd8382303b4697c9b9faeebbbd9ad101bd2a9f2a3bc6ca033996de92bd5ae1adbc79b2bc3a9fccbcb982b44dbdbae119bc4f46673b66caa33a5793ccbcfcc9333bb59fec3a75db0bba0000000000000000000000000000000000000000000000000000803f000000000346513ca96e85bd6e559f3f8f907fbd956e343cfa46d7bc5d34843ff6051cbd7af51a3c4cb019bb4fe6543fabacc0bc5e09ce3bf4bdf43b6f06223fb54a9abc21d9963b608e183c0affdf3e1960c5bcfdd186baf412f03b4c6a803eb36bd3bc496c773836f5b2bbd1a38b3d6a2b00bd000000000000000000000000000000000000000000000000000000000000000039b0af3b85b211390000000000000000d3d6053bc3f8f139000000000000000065e31abb623e42ba0000000000000000deb208bbbb94edb90000000000000000d49f81bbb8e789ba00000000000000003585af398eb411bb000000000000000075e2993be347b8ba000000000000000000000000000000000000000000000000156019baedd14d3b9e18273c6786dc3bd5ad83ba2165193cbcefb53c598d693cced1b53ae5e8323cc848b03c43aa883cd6e4123b4ca2193c932e953cb1737b3c0fa4003b8489133c9512623cd4e63d3c384aba3afbccfb3b9a393d3c5d690b3cf6f8aeb8e023b43bff51243c94e68a3ba606fbba7383133bbe13a13b06d335b91fdb99ba4e3faeba0a28133b15aa3ebbc0adefba824fbbba9473883b09b49fbc4945ecba125083bb056ac43b5b57e2bc2a0aef3a9f0d63bb05ef463a1bc90ebd9d36633b19510ebb3e10e7bac42210bda6c7b53b1d040fbb533637bb19d7fbbcda5c0f3bb80507bb998417ba8ae9c7bc2deab13ab35dceb9b8daa63a795a82bcb62146baa027b1b9436e573bbd6456bbf10387ba6b525a38613c603b3c415c3b77a58cbde4fbe9bc21cd533ba6be0b3ba10008bed82117bdd689043c52434a3a5af20fbeda2e54bd06929d3b3ac5cf3a88caffbdcc2654bddcce0e3bd148a03a275ecdbd15282fbd86f62c3932e4ae3a75a5a3bd1932f3bcf151f03a4b25d73a501a60bd1f486ebc9d4ab43a925a4a3918eeb1bc2d96653aafaf8fb995dc5739c068463a2f53263cfa9afa3a329635b907d1903cd8bd09bebd009f3f59c3923dc2b5b73cb4d30abe6b9d983f21e35e3d77dd7d3c1ee5a9bd2eb5833fabc3813d6daf373c003d45bdefb2543f86286f3dbc0a0a3c4591c5bca1291f3f7dbb353da6efaa3bdc4ca0bc5c06dd3eda4abc3cd8cf6e3b8b3091bc2c68783e19464b3ba41aa33b0e30afbcf5aa8b3dadcc29bc49e9a23a4cd8adbc76675ebdc49001bd1d78a0bc9873f03a0000000000000000e9e494bca029323b0000000000000000da9298bc27079e3a00000000000000009cff88bc7e9b053a00000000000000009f518abcb4cb07ba00000000000000001ac258bc115a763a0000000000000000b45412bc06a34e3a0000000000000000531907baefbdb23a0000000000000000b18bd13aa6e63e3a0000000000000000c57ffb39aa02203ba8f8ee3bc31aac3b142892399459ca3b0cae6d3c582b523c3fd88c3a5d01d23be2876c3c1162513c054c0a3b9318fe3be144713c63c9703cde53893a7ee0a93b31e2363c3eaf1c3c74f9c73a046ba23ba934303caedef83b45abb3397033283b9a2be03b013dac3bc2d39cba898cb43aa3b3913ba789923a9b5f86386576a3babebe9a3a51fa9cbad3857fb9f54784babb57a33b6faab6bcd4c1fe3ae9f404bb3170c43b548300bd63f2ad3b90dbdfbaef16a639ac6aeabc7bc7a53b6a6e02bb41812939c58fffbcfc0c953bdf553aba91abecba3277babc64c67a3b078e94373e8db23a8127bbbc0477053b951bf8baed33823aa96237bca931da38fb628f39de2e523bc07b92bb8ac2d8b9c59989ba367a2f3bbcc97b3b29d213bdfc3eddbce277afbbf5573b3b219abfbd71515bbdca927fbb46f0813b8c65c2bd129e7ebda499e0bb142e333b0e3dd2bdf1d780bd1775a8bba901663b6fa9a3bd514f48bd4f679fbb37fd123b37738abddcd91ebdcfcd04bb3faaee3a2b8a31bdcf20b9bc2321973ac523393bf55db4bc30aea6bbae61503b387f07bb6072cbb93a0fc63bb8c71f3b09e0a83a97197b3cefd305be3eb4843f24c6823ebbd8b93cd0d111be4ce0843f44c5713ef635773c0a94a8bdd9905c3f58f05e3edf04553ce3de8cbda2e93d3fc985343e28321d3c84a628bd85ae0d3f955f073e2b33e23b3cec10bd8c0acb3eb743b33d13689c3b5384e5bc312e723e823b2a3dbfd4df3b8bc2f8bc9a30ad3dcb5cd8388bab193b0968bcbc85f4ccbc31cae9bc62b43fbd9cc9aa3b0000000000000000461158bd3042f03b0000000000000000303929bdec44853b0000000000000000c27f22bd8afc743b0000000000000000de3e02bd46b41e3b0000000000000000ebeceabccfb3f03a00000000000000000e62c5bc38fc663a0000000000000000a1237bbcfe48a83b0000000000000000ffed1dbc1c08763b00000000000000007538473a6cafef3a724db13b934a5d3bc910b53a7de19e3b0178293c227a303cf5a69d3a2f55dc3b71404d3caa25693c99e7d13ab05ecb3b34a54d3c24794e3c91d8ec3ad07bb83b12da253c9219313c19ac113a5b109b3b678b093cc035133c5828eab9b6b5933bb7aee93b8a1bcd3b880e91b932a4a83acc5a6f3ba6df343b4ec4ccb982258bba94ce5b3a161d0d3ab844f73a742dc4b818f6803bbb23c2bc65add33b2ec812bbd319b13b1ea5fcbc2bb2f73b0c36d5ba7c8e2c3b5eececbc146b043c94b383ba3503bdb9abc8e5bc2327d13be9c9aa39ec88d8393e6cc6bcc5979e3b5498b3ba880e5c3a13dd95bc1e13df3acf598aba5344e83abb2b4bbc28f4e5390bbc15bbc831363be41988bbc3f304bad247aeba652e143bdf3e703a756f8dbcde520abdf41170bcff65a23be67485bd66b182bde2996ebc8e3bc83b7f15adbdb7659cbd765968bc4929b63b822da8bdc7f091bd2d324bbc82d17e3b870593bd2f237ebd551b32bce0917d3bb3be6bbdabe93ebdabccb4bb073d953b387f28bd17a0f5bc7c2fd5b95a5f7a3bcfda9fbc42b92fbc14e4793b3443593b1609c6ba75cc0c3b9a2a5a3bb3a2493b165a283cf0e2e0bd7f7d573fec2ae63eaff1993c17b2ffbde318583f583bdc3e6d706d3c42f8bdbd50153f3f10b1c03efa19533c745585bdf9671d3f0dd99c3e75d6193c014a4abd4539f73e1e44703e96d3003c4fb220bd052db03ee222213e0e8ed83bd48c10bd84e8573e465aaa3dcc0dd43bdaab08bda4ecb13d91648f3ca8fe2d3b0e0ec4bcf2eab4bb2104ebbc858c8dbd6fa3e33b00000000000000006263a8bd3602333c0000000000000000c4c08bbd0c58fe3b0000000000000000bca371bd1f32ac3b00000000000000007f0853bd26663e3b000000000000000012c438bd45328a3b000000000000000081d51ebd13e09b3b0000000000000000d9d2f0bc3870bf3b000000000000000097979fbc5e92983b0000000000000000f88285392a67c539e3cf3d3b2848733bf607963a0621923b0c13f43be4421e3ce282843ade3d8a3bed262c3c06d1533cf829113a71e5b13b1649273cfa73453c53764a3abcbf3e3b9a22bb3be8c4e23b0f22723a0eb7833b7825f63bb2db0c3c6285fd39fa2b083b6280c53b7de9a93b5b386bb931ae563a21a1ed3ab592763ba2081e39e8bd06380bbe223a8bbd793a21f08d3bf995493af5aa983bd43ca9bc474a023c3b43ceba81e28c3b4b69e5bc8f43013c0c5b88b94a459e3aa746cebcafe00f3c78afe639d9818b3ab076c2bc5a8dba3ba292863a05e58cba2ff67fbc080fc13b3d22ddb86957bd393b5f85bce403373b28c9b2b90875f53a3cbc1fbc5ef2913aeab03abb9384233bfe0075bbd536fab955eabeba2fe3313bde756a3a83ffc0bb82e010bd06c8c3bcaa9aa43ba53737bd06bd93bd55bbccbc32a1153cc01c78bdd26da8bd9bf9b9bc3626c33bd19085bdac2aaabd0dabafbcafe6cc3bb27537bd40b968bdeeae85bca2450a3be8b547bd7e2a60bd2a8823bc66829f3b563406bdf77a0abdffee11bbce51793bd95e93bcee746fbcf49e4b3b97a69c3bc778d0ba911c44b9d514d83b66293b3bd1c8143c6835bcbd1944253f7203253fd5f06c3c7d29cabdeb47243fe911203fbd09443c10848fbd2400113fa65d093f750a1b3c32d266bd30aef93e3dade33eab89dd3ba638f9bcfdfdb83ec8fda33eeefee13ba5951abd524b913e88726b3ebf60a23bc65e01bde647333edc5a033e72f6bb3b2067fdbc1e19a53dd80c0f3d35922d3bb5a2d4bc0689403b42e0ecbc81a6b9bd93ef183c0000000000000000fb71d7bd9c834e3c0000000000000000f0f9a9bda4d7053c000000000000000003eb99bd31ead23b0000000000000000167c4fbd5a28113b0000000000000000332e6cbd0084933b0000000000000000eee241bdb332933b0000000000000000ddff25bdccf8123c00000000000000006b17f2bc6a06b33b000000000000000086872d39755992392679943b1be1c23bbaa9d639d174863b40b0b43b1dc53b3c8c5f31b98d43ce3b21641d3cc1a2663cef6b183ae6e6a83b927c123c2ddc643c716d403aeffba93b3d5d093ca962363c8774d8b9bde6723bafa3e23bd863133cf50f92b923bc3c3b4c9ab33b522a093c8f67c0b9799e843a09213c3b78869d3ba1927bba7ecb04ba5040ef39a6cd663a56053c3bf9e4c6ba9bd57c3bf81fa3bc1ed23a3ce2b013bb13c5ac3b3968c9bca6ef453c8c2baeba3faa5c3b551fbfbc0e3d2f3c687585b9cbbc6839d7d4a0bcb0b2203cb16c8e39a6c61cba1c3992bcf8afe13bbd0182ba464f0e3be0c753bc52c4593bca230fbbe363a53a091200bc849f81b948c42bbb81d7f63aafda0cbb3f27853ae7fa0abbc82e0f3b8be1a73ae2e73cbb4bd927bdd962f2bc9686453c0a7f10bdf07ab5bd4b29f7bcedf4363c614456bd8d7fd4bd10d2f2bcefd4183c7d805ebd0999c5bd3abbd1bcb28ce23b659a51bd254fa9bd2882a7bcab47c03b8bd429bddca681bd4eae3dbcfc7fb33b87c500bd71fc2ebdfef898ba0f9cae3b8d9781bca92e9bbca651c13b2d0c503be161cdbaec34d4baae5adb3b35d6313be614d63bd34a8fbd5219e63e9c41573f64f43d3cd4a99ebd8264e53e0a68543f22571b3cb70571bd705bd23e5c4c383f69d90e3c8d5239bdde8cb43ed1ac143f0ae0f13bba4314bd2e7b943e5e63e13e3325e13b08b406bd07385d3e1aa9993e8210c03b03bd04bdb7bb0e3e52cc2b3eae06d63b2340fcbc6c2a853d90eb4b3d4ece813b8121bfbc84d2d13b01da03bd5e12e1bd0c84283c0000000000000000c9e407beafc28e3c0000000000000000227adebdf7ac433c0000000000000000b68db4bde57c093c0000000000000000b4e498bd1382af3b0000000000000000f87783bd45a3b73b000000000000000052216dbdf3e8f13b0000000000000000fd2741bdf8773c3c0000000000000000ef7c0abde3f4063c00000000000000005479aa394ff9c83a9cd2dd3a9b99bd3bf9b212ba2ffa9a3bf3afd03b50f3813cae8f1fba222e853b6ce7ef3b5c05703cb7ec393a86979e3ba0d1113c4883813c376809ba973d993be100de3b33fa433cfb55c6b9679c583b3cf0f13bbf5d453c002236ba7463573ba642933bda6c043cab1a5bba4cef503a07f81d3b658fac3b6dac40b921e984bab8881639811e0f3b6245e63bd77d24bbd2ed7d3b3bc873bc242b4f3ce41abfbbec8b943b28eb93bcec6a503cb8cfcfba7721183b87fc82bc317b483c00a0b8ba1afcc33a5e6886bc51f3093c0373f3b9f9f1773a6cef32bc1b74c63b050a53ba8ed10e3af47a1bbc6a4e633bcb22fcba331f033a1d8c8dbb9a2cfa38bcbe56bb50abff3a8ef16cba0804e5ba44583dbb5781933a88552e3b0e5764bbda8b5cbdf67ed3bc11be343c9c1df6bcc018e3bdb219fdbc315f703c1be31ebd3bc1dcbdedb607bdd5a3f73b958841bdc1eee5bd6b6dfbbccae0133c15af27bdc708b1bdff0fbfbca84bbb3b1a591bbdcd9493bdcc4861bc0bd1ad3b706ad3bc387e3fbd8e379cbbb5ba9b3b969565bc34f5aabc7866f13b86e7993a69d06dba1d72b8394b981e3cf270183b22a59f3baed042bdc1a2833e04bf843f95f3063ce19c4cbd647d813e5970833fff1ede3b5e640bbda75f7e3e88d7573f6824ae3b4294f8bc7c1e643ef68b363f2ff3a33b1623c1bc0ae93c3e152e063f585cc33bc0fcd8bca76c133e6624bb3e5ade9e3b9eeababcf701c43d2560543e0bbedc3b6c49cebc3923373d7a6c683df9c1913b24aba1bcb906213b750532bd5afc05be2a007e3c0000000000000000779a1bbeefd9b03c00000000000000004726cfbdfd323d3c000000000000000018f2c0bdd875153c0000000000000000353d90bd535ba53b0000000000000000decd89bd8835fa3b0000000000000000aa6f62bd5b9ccc3b000000000000000038223ebd5e20643c000000000000000074530abda8a9413c0000000000000000229871ba1fa5f93a3962063b1648293c086429bb0ff28d3bfa0c123cd10cbe3c3f8aa7ba4a04b73bb832203c9571ac3c3b3a95b94c9c9b3bf7cb223c1c01983cbbf612ba663f8f3b2bd5053cfa126a3c16b135b9b2d5593b2012083ca2b6523c288d69badd90f33a5d67b33b82972d3c21c19fba1a59303aa075583b602db43bc0fa04ba5105dab963808fb90b22c63a5d49fc3b0c6fb2bb63de6d3b7b9e16bcb810763cc96f24bc12fc8e3b7a480fbc65508e3cc920afbbb03f803afe4127bca68a693c97c88bba363282b85bea2cbc38c6333cdf4634b8bc09b4b8913f1abc3648053cf9b6dfba38516cbae1e99bbba9e0573ba36bf3ba650e573a3a35d4ba6021c9ba2e1142bb90a0463ad8200c3bb51728bba82f03bb1bf9053a5a99803b4acfe3bb1dcca1bdc671cbbc92b63a3cf211e6bc1d2e12beb0e5c4bc3863873c29371fbd5da616be99890cbd8d42393c8e362bbd584405beeb590dbdfb3a013c666d16bda5f6d2bd16a0ddbcdadc743b6cf30abda9fba9bdc8628bbc4756b83bb9a4c2bc49015ebde11c75bbad431d3baf1d2abc2758adbc812f0a3c530fd2ba3e8bd839bd94fa3ae84b433c3333af39763d163bfde5adbce437933d0ac39e3fb7252b3b14a38ebc1211923da1f0973f9330483b44306dbc9532c33d7c3c823fd11f693b56a040bcf65bce3d8dc5503f0f8e663b136817bc6c24bf3dc0f61a3f55b08f3b574f73bcb3569b3d7ddfd43e70a68a3bec1986bc74ad4c3d4803683e56c0ba3bc39f7cbc9710a23cf4ba563dd972843b5b2a69bcd1e9b2bbc6e883bdd8c909be9b739a3c000000000000000033a515be202fad3c0000000000000000126fd5bd8d5c463c00000000000000004eb79ebd9cfbcc3b0000000000000000b72974bde95c913b00000000000000004a2163bd4e75aa3b000000000000000079bb3fbd56c0ff3b0000000000000000d6dd07bdb0b5673c00000000000000005d6409bd024c2d3c00000000000000000000000000000000000000000000000030d28eba2990653b67a89d3bdca18d3ca5da42ba8992803bafdfe53b20019b3cae39d5b94b79733bf84ebe3bbced413c5f2e81ba824d933b96a59b3bb024243cc82745badc061e3b78b2a33b919d133cc0e13dbaf214093bdda5943bab3c053c5dc055ba4416563a1ddd383bdefaac3b00000000000000000000000000000000000000000000000000000000000000009db1603c925da1bb538bc1394b886dbba2e9333ccdc4e7ba9d6318b9a9d4aebbebbb353c11d1353a79c9bab9885593bbfed1fc3bc532e23a49456434cd9480bb461cce3bc499bc3990ae03b795bbeaba1bf3363b53dab1ba3cdd1fba5a6c9f39c755ed38b88ba3baca29bbb91b10293b0000000000000000000000000000000000000000000000000000000000000000de31c8bc08e507be1d40fbbcfdcfe53b4cddf9bc244803be82720abd5403f53bb517febc79d8debd99c70dbdb663823aa2c9edbc7787b8bd12d7e6bc5b384d3af380d0bce9d692bde80598bcf44bc138fa3997bc71d74cbd2f1ce9bb1f22043b0c2518bcac87cbbcd9d98b3bb4c6b2b9000000000000000000000000000000000000000000000000000000000000803ffba1c7394660dd3b09ed4cbd602f9f3f0652c43a71d9043c86f485bcbfb1833f6866d03a22df933b2806103cc2b9543f8728a63adf7a203a6983803c1571213f7f85fd3ac7184dbade8c973c18bdde3e288ffc3a13cb9ebbc1b12c3cfb657d3e881e213b1b32ddbb46b697baf74c8b3d0000000000000000000000000000000000000000000000000000000000000000d5c09cbd322a2f3c00000000000000002d1c46bd4744a43b00000000000000006adbfebc782a183b00000000000000001b86debc93604b3a00000000000000003d79cfbc0498c7380000000000000000c4dcd3bce84c123b0000000000000000ca18e8bc7ed28a3b0000000000000000000000000000000000000000000000000000000000000000000000000000000067d83d3bc276943b61c44e3cd4e4833c74500a3bc1beab3bbba5733cc1c9813cc0114e3b7997b23b1dde3f3c63955f3c8f2cc53981ff763bbfeb363c049e473c1e63233b0d99663b3ac0203ca1f3113c98dd033bb811783b2cea1f3c683b923ba3a4843a1a92243b8385ea3bd66aee3900000000000000000000000000000000000000000000000000000000000000006dfebcba554323bb687dd8bb15e7d9bcdfad0e3b1cd785bb8a87ddbb682403bd9fc74b3b585f2fbbe6750fbcbfbf0abdef083f3b972e45bbb7757bbbe4310cbd0e73323bf4ad16bb5e47c2bb5091e8bcca93f9ba598fafba45f14cbb0fa9b2bcac4416bb6d94a2b9e8cc2c3a893372bc0000000000000000000000000000000000000000000000000000000000000000e2a0dcbd332c45bd67372a3cf3b345bae539dbbdd60e34bd95f5d73bd7bb593ac36ac6bd2f6f2bbd7cd7693ba293893a8aecaebd0d4c03bd8101843b0770173bd4d88ebd3943acbc51fc813b06b6ab3a46cb51bd5371cfbbb6f7c83b45aff53a04ace5bc555aad3bb060c43be46cc8390000000000000000000000000000000000000000000000000000803f000000004ba3393c49af04bdcf9f973f6b6336bd51e94a3cf12e6b3b694a7c3f2f600fbdde452d3c2deac33c76354d3f89def4bc1ff9103c3c2d103deb391f3fc9980fbd4958ad3bc381083d539ee03ecf9321bdf3000a3a37b0bd3c77e8853e89a238bdea4d22bbf1fef23bd935bc3db68e52bd00000000000000000000000000000000000000000000000000000000000000003e2ce0ba1d910b3b000000000000000081639dbba5073b3a0000000000000000a1bc15bc9994c3b90000000000000000280a35bc403a56ba000000000000000037c418bc62ed1ebb0000000000000000dca7cbbb4a81f8ba0000000000000000f4b2ea3a42fa2abb000000000000000000000000000000000000000000000000d3cc893a2121373bd51fc23bd51dd03bf31a493b8398043c84b7953cdcb17b3c949c523b336d0c3c07629e3c3dce913c30033b3b9a56053c6864923cdb2e8e3cafb8683b494dd93bb8fb6f3c49e15f3c43f5fb3a488b083cac48733c1eb30d3c54d5d73a3880d93b3497313c9ec3ad3b2ffd503a35da823b1f7dc73bcbc7e9ba5efe113a7f7ce039e5f24e3a34dcde381e541b36a954caba5e2edfba2d658abc51ba29bbf02b9abbd89a76bbe84a05bd4914603a014ba3bbe027f7bbf90915bd3b0b273bb3d5afbbbc0c06bc7c3b16bd35884f3b13e362bb90cd03bce8a409bdce8c26baeacc46bba962c4bbe99df8bc6e2ebeba3d7cefba23c522bb9ed9bfbc5e3733bb41570e3a51e1813ad2e422bc302384bb44009f3af77de73a979cfe39462e44bd77f02cbd1d73173be02d063bc3b4d4bd4e5b54bd74d4283c2f82183bec98efbd731474bdabacce3b9ee13e3b5999e3bde3d962bdfc6fae3be5d9613b5686bebdc19836bdcd24633b32b83b3b65f0a2bd9e6ae8bc78a0013c3540303b7f1167bddc905bbcdf4e043c935e6d3aae74d5bc7a73993be7948d3b70f8f7b91f1488bbc8fc213cd9ea013c85d535bb58022a3ca563cabd51da963fbe2fc53d70aa933cfaaab7bd56ab903f787d943da6755c3cc02e1ebde12e793fefaa873dbec82a3caeeee7bbd6424b3f9efd493df5b9c73bcef7433c74f81a3f7625ee3c44715a3b6d87713c9208de3ee30c823ad4aeda38040d023c0420853e2749adbcc7c443bbe11ed2bbd9aac23d27661bbdb16bc4bb16a643bc278207bd794a49bdcdf49dbca357883b0000000000000000c796b4bc8c5eab3b0000000000000000c639babc76936f3b00000000000000000714c0bcb08c103b00000000000000003e76bdbc5a2b343a0000000000000000acb6b0bc623eb43a000000000000000079c260bcf4f9b63a000000000000000079f4f3bab578be3a00000000000000004009463a4567083b0000000000000000921ff63af8d6103b7c80283b0206a63bef2f123b3120823bc6c5433c3c1a623cc78fcd3a67eb963b586e2c3c2a66613c767cd03af7b3d43b61ef6d3cbc67873c22c5843a3c5cb03b19ae203c66124f3cf9c8f03ac9c4923b6a0d583ce2582f3c2e99453ab2d8653ba3f8053c4effe03b93bdde3a8092f63ae4fd943bc9be2f3b4b32443aa5f2c7394a48f93a8e4ef5bafedc3c3bda9cd7ba2a9d22bb2deb84bcd569653b5d10a4bba4c025bb1e94eebc44e3ba3b7c293bbbaa1c99bb6f7dd6bc0131ad3b5385a1bbe5b5dfbbfe4e00bd7937a63b56ab78bb2da7aabb39afd0bc39414d3bcf6586bb6466a7bb8df6cebc8dde243adbe10ebbe54a42bb73177cbc5e72d9ba5af143ba1f8f67ba95961abcac2314bbaa1894b95828f139caec0b3a5d54a7bc86b321bd93accebbf7d7693b64858fbdc3f488bda5ef56bb3efcea3b241a9bbd11a688bdedfecdbb2666883b893ebdbddcec89bdbb098bba3459b23bae7299bd106857bd8abc33ba218fa43b35278fbdd0fb26bd16278b3bc9639d3b6fb740bddd1dc4bcf0298c3b5f878a3b7ccedabca89fddbae6890c3cd89a16bb0a1885bba026c43bf25fb63b3301b93afe7b353cb5c0d5bd435c7e3f4fba893eff66923c1d03d2bd432f7c3f08a1773e9fb9393c601839bdcb3b513f97e5573e82fe2e3c14a2f4bcca52373f8287253e19eee03bb8badbbbaa580b3fdac9ea3d5eb19c3b145683bbd4bdcf3e1faf813d96aac63ae187babaae72803e7842c53cc1ad4fbabba53fbcd9c8e03d1c4fc7bcdc5080bbabf76abc61afd8bbd93e36bdfae329bd3a34a23b000000000000000033e252bd8ec8f03b0000000000000000a2d72dbdbdf7533b0000000000000000dcbb36bd5a37673b0000000000000000a7341ebde0da0bb900000000000000002fb813bd43ada53a000000000000000070cbf6bc6a0a113a000000000000000097e7afbcbbceff3b0000000000000000cc5606bcf945883b0000000000000000ff324db82f95bab9dac4e83b4890ea392cb25d3a948d7b3b6503003c22255a3ca3940f3a06dcc03b151e323c3cfe863caf7fb13aba1d933b6241263ca9808b3c1e9882b7c0ab9c3bb2a8373c8bff573ce766ab3af025943b42a81e3c4426423c2e1af73930f7963b7cf30b3c51ee023c6f8bb63a45ee303b515b783bc4808a3b0bf8c239f9a04539a00bd73a45377c3a1d92e63a93947dba21fb74b9fd367dbc0ae6f83b026d9cbb38d0aeba9843dcbc917fd83b5ec197bbd48882bbbec6e2bcff4b073c735994bb461ea1bba991d9bc46e1f33b93814fbbb8cfb6bb6b71c0bcc263593be39877bb673f91bb84e3aebc377ff33adf5a7abbdd396ebb789080bc3a4e9bbab0902cbb4dd412bbac7ae9bb91b2a1ba41f5f2bac2232bbae1e88abada22d9bb9b873bbd6ef557bc37e2e73baef93fbd9d9999bd856065bc1f011e3c4ed390bd1433a7bd5c4b4dbc85881b3c6d9896bd40ae9dbd294e18bcffe2fc3beb198bbdb50088bd8fa1d7bb0296e33b116575bd038d47bd37096d38a2c9e83ba4c13bbd9b08febceb2ea73b9c25b93b6ccccabc2fa837bc6286ea3b82ef723bf18bb6bbd1f5a93ac2910d3cf391213b1b15e03babaab7bdcd2c503f6089e53e28e3713cfc35bfbd4cc14f3fc252d73e2afe4f3cdae576bdcb71393fb30fb73edbac203c68580cbdf1ac1b3f78c1913e2dc7de3b219870bc51e4f73e7358553e372ba13bc55a2dbc096fb73efe00083eb9620a3be8b43abc7d9a6e3ec464783db42fc0391e7685bc864be73de85565bbecdd24bbb69757bc912f023c064932bdec1f7abd24e0033c000000000000000014a99cbd4d18f93b0000000000000000bda38ebdcc08e63b0000000000000000c0ba84bd98688b3b000000000000000081786abd8817b93a000000000000000086ca56bd8de1493b0000000000000000d0af3bbd6ef48e3b000000000000000013400bbd22f5023c0000000000000000f476a6bc217c903b0000000000000000d0d9693802d58b3a24a135b95182253bc28fcb3a57e0373b95d3893bbea8213c56d298b9e8524d3b5c7bfd3bb4295e3ca8884cba49b09c3b7cc2183c0b41753c252e4bbabb41da3a7699803b430f0e3cdab1253aed71983b76100b3c7d0c423c5671213a64b1623bbe62b83ba652073ce91727ba6c43183b7175823b25d2a93b2e43533a8ce9033b9708343a01810d3b1118dc3b84af61ba46d007b674f482bcab602e3cd1ad80bb944697ba3e83d9bc23d4243ca07047bb7a74efba352db6bcbd512b3ce3f463bb3ba848bb46b8b9bc6d58eb3b1d4945ba625e21bb9f6c6bbca46bd03b5cba5dbbbd528fbb0c3498bcb68c003bafa23fbbef2d5bbbb3ff45bc2b6be1b9a8d563bbaa6e543a7aaa0bbc7c61c1ba3eddf2ba7c9b10bbe4e594baea0f8d3b62b033bdb3d1cdbc1d93013c03c6e0bcee4e9fbd922dd3bcdd073a3c17144bbda01daebd33c7afbc58c3073c4cef7cbd7b4fb0bdfbe18bbc8a40193c871935bdf34678bdf27959bc182c9f3bde7657bdfaa170bda8e69fbbf374113ca7471abd062a13bde26b323b02e4c63b0bdab3bcacdd88bc9b460f3ced3a903b3acfd1bbe2410bbb3b8a153cf550453b63ffaa3b632d98bd391a223f1fed203f6f0f3b3c7d619abdf8f7203f0209183fa890173c13e03cbdf8f90f3f102c013f36e2053c25bbfcbc8c25fd3e00a5d23e66feb43bcc300abc40fbbe3e8643983ec2ad8f3b7f2557bc7cd59c3eb725533e56a4323b615e39bcaf434c3ec8a7dc3d6b1b4a3bd66a9fbcb562d63d0170ab3c0dffe1ba05997abc8ed18f3c514829bd083199bdaec6c83b0000000000000000a139bbbde155143c0000000000000000a8a0a1bd9b5ba83b000000000000000040529dbdcd3c273b000000000000000028fd61bdfb790bbb00000000000000004a4788bd10d9d53a0000000000000000fbee5fbd44b16e3b0000000000000000d89e3abdfc0c0c3c00000000000000003dccfbbca924083c000000000000000085e346b90fa6b43ae36def3992aa1c3bd62928393e4ad33a331bac3bccd54e3c9fb79eb9f67c8a3b29b8f23b04bc823c103dc1b9942a973b2c06073ce31a7e3c400aa6baa5f8873bc77af93b318b623cdb145439a3ce893b91f3f73b5bda6a3caba81cb919f98c3b5cf3cc3b24582a3cb570563a22873f3bd8a55a3baee4d23b093faeb9f343be3addff0ab95704433b12b1bf3ba441b7ba9df6943a5b3985bc88f2433c2027b9bbed9ec33af048c8bc621a603c545aa7bbe88e26ba68cdb7bcd2f8363c8cf594bbcc95f1ba1795a8bc6de4283c15112dbb944418bbfa9c92bc66a1b23b2a7590bba3d048bba56e7ebce689203b29f48dbba7a237bb5d183fbc1e68bfba232a65bb0be823bbc5f4b7bb30d0d5ba01150dbbd3e933ba26b3a7b96e69fb3b68e739bd841df1bc60972e3ca9e8c6bc41a5b3bd01be01bdc06d773ce5823abd9c47cfbd263bf9bc5b6b5f3c38ea4ebdd5c3c1bd072fbfbcd79b393c15754dbd5c47a6bd69a290bcf6e9253c562e3dbd3bc387bd7050debb1086133c380215bd15e737bd3ca8103b1613093ce759adbc6153aabcc3ed273c3c61913b1de0aabb817374bb0180253c57c45a3bcbc3a23bd9c773bd0565e73e57494f3f2252173ce39278bddd51e93edf81483f3921093c0f6828bdcd03da3ee6152c3f7445de3b3eaddbbcb60fbf3e55360a3fd27ec03b5aee7fbc907aa03e936dce3ed2f9af3bf06d78bcb858793e6e938d3ed5c3883b3e7a90bc2fd52b3e9bec1c3e603b893bac27b2bcee68b73d32b8243d8c3fabb934808bbca43ca83c46b11dbdd090b8bd65fc043c0000000000000000c80eeebd995e553c000000000000000001ddcbbd6c68013c0000000000000000e6d1b4bd3847933b0000000000000000ed4da4bd608ca73a0000000000000000321597bda683863b0000000000000000135a8dbd7637ef3b0000000000000000ea4f64bd04983d3c0000000000000000a2da18bd52071d3c0000000000000000bc06b5b91ab5bc3af39a843aabcc9d3b4310ffba9472e73bced0603bfb0f733c43b179ba8256233bb2e9be3b98615b3c678e89ba590e773b1d53113c2458923c83a187baef32443b390ed03b38295d3ca63c89bad60e9d3b5b81f83b54bc723cc09566bad1dc1f3b9d89ac3b59dc263c84ac5c397d4e2e3baf75773b06ffce3b07f5263afb74b739714962badcf0823b6484053cd33c86bbc7b7213b50828abc2dac5e3cf4ba02bc07c72b3b3dc5babc01834b3c31cd65bb9985a13ab6fc85bc1d08553ce3c091bb43f7dcbaa1cd90bcff30253c0a5579bb2a8278ba54095ebccf1be13be9a58abb0647e3ba16cd42bcb6bf683b624f52bb46a7b9ba1427c3bb5b7fe6ba8b2a5cbb737275ba329cb1bba90f2fbb6dd617bb57afb0ba706af03a6013a43b485c52bdcb93fdbcf6dc5c3c8f4db5bcae55cebd5edf11bda6b6943c033904bd28d7c7bd861a0abd79e4313cd5ec3dbd8da2dbbd2342f2bc3563533c3e9f26bd8cacacbda11fadbcb30c163ce4242ebdbe7498bd4b2d1cbc6e331d3c4c92f5bc2b9942bd9c2820bb883fd53be4269cbc2aeebebcfa0a313ca397533b547b2fbbc41f98ba8772263c0891a73a15ae903bac8c2fbd07f48b3e96577d3f555bdc3bddc826bdae438f3ee271763fa54db33bb688b5bc80e78a3ebccc483ff56f9c3bb93883bc9342823eeb752a3ff30a953b475c1abc45af5b3eb1d1fb3e3269943bee5272bc541e373ef191b03ed118563bca904abc985ef73d50814c3e2186af3b83c8bcbcc2478b3d18f66e3d2101293bc737a8bcecb26f3ca6c134bd4965d5bda861423c00000000000000008e5e02beceef773c0000000000000000737db4bd9e0ca13b0000000000000000f03dbfbd2c02733b0000000000000000dd1e9bbdd898863a0000000000000000772aa3bd78b5923b000000000000000060cf83bdfed9613b0000000000000000678972bdf4a95e3c00000000000000002e5120bda316763c0000000000000000a6a81eba8df71e3bf2db933a961eda3be8822fbaf0eb883bfdf2ef3bcf53a83c34851bba8709663be808243c0ffead3c139a32ba0272793b3fd40f3cfcc89a3c60156bba98bc503b6a26fa3bdd377c3c8a9680ba3ab58c3b3ae9113c70b36f3cc0caf3b9f8075f3b581fdd3b8c2a4e3c3f469db9ced1163b58bb813bf93eca3beccefbb9c722b53a5556133a7792113bee07083ce39da4bbec09493b525076bcaf7e763c284e3fbc08bb733b9a4da5bc9a87823cc8a302bc00fa343a99fd91bc6c7d7f3c4339a7bb0f833d38da3c7bbc955c523c98255cbb46d6fab9053740bcb060fb3b380ca0bb2eacb9baf7042ebca02e1d3b300a8abbfb0690bab18cdbbb06422dbb071946bb1df9ffb73767bbbaad8543bb91b3c0ba4ed458bad3acda3a611dbbb92dd086bd8f8a0abd74c14f3cebc1d8bc75f3f5bdd35e06bd0a90a03cc3ce1dbd53fb02be5ab71ebd0695843c411d28bd86abf2bde95e0dbd6d733a3cc68025bd0f34c7bd0659d7bc3d1f283ca3ec1bbd9a8ea4bd3ea95dbc978c183c83b2fcbc8a0f64bd73ee76ba86ad033cb1d98abc1569bcbce2f7443c7e8c413a7f9d4ebbc6aa1fbba0345c3c8e78633ad41c2a3bd856b2bcb5bccf3d32b2963f3412933b9f687ebc6cdce23d8c308f3f8bd5623ba4bb0abc5182083efa6e743f754c773b3df097bb8e8d0d3ed55c443f3ddb2e3b332686bab3f4033eefca133f80d6573b15ba03bc1257e03d83d3cd3e93d2803b966a61bcfb1ca23deef16a3e5d1d8c3b7645a7bc5dc51c3dcc028a3d68c18f3b1f8d99bc27a00b3c7bb556bd8741d0bd1d715f3c000000000000000073e6f6bdb071823c000000000000000015e8c0bd20cbc73b0000000000000000ff18a0bd1764c13a0000000000000000c7268ebdca002abb0000000000000000dca58dbd902ca03a000000000000000042cc86bd1671a13b000000000000000068fd5abdf6af613c00000000000000006f0d34bdf8bf433c0000000000000000000000000000000000000000000000006f96adbad433333b7276753bb2da633c808329ba6678043b4e76ae3bc49f773c7992c2ba065cd53a418a883bdf8a443cb2314eb9b9fdce3a379d8c3bf6bd443cf1994ebaf7ad033b77cc7e3b9d26393ce2f71dba8c22343b46caa63b7153133c39bdb6b9ae29283b5e9c203ba840f73b00000000000000000000000000000000000000000000000000000000000000000fee583cbd17a5bbfdd80a3bd3a625bcbbb6593cb83230bb4ed5073b1e4d22bcda73563c5e3b98ba38c89d3a5655fdbb3b1cf93bd93f27bad18029bbfc6399bb08f6cb3b560bd9398a52413ac3b88dbb0d3d5f3bd421fcba71de6fbadbf458bb0ee237ba5f79e3ba291cefb94240adba0000000000000000000000000000000000000000000000000000000000000000c9c8b0bc45a5dbbd75481fbd5cca173c2ecff7bc5520debd0ca111bdafc3db3beb37f0bc25c4c6bd41900dbdc933973b4df9f9bcdd9bacbd31fce6bcc9b7d23bed06f4bca5ea8bbdb6ee90bcad0c363bb87dc2bc6d534bbd0b27bcbb905f653b136268bca01adfbcf679913b3fa4543b000000000000000000000000000000000000000000000000000000000000803f4470013b9610d13b58b484bceaee963f72e5663af992273cb4e89f3ce1a57b3faa6b333b7e3b1a3c28fa173dd9394c3f59050e3bcd47a33b2373443dc6ea1c3f59894e3b1fbc4e3ba4a93a3d85a2de3e68e2173b4f613cbb4d91063d1271843e1bd6743b096b29bc49da8e3c8ffab03d000000000000000000000000000000000000000000000000000000000000000042b878bd4db2c23b0000000000000000f4a439bd8e709f3900000000000000006ca31dbd39efb0bb0000000000000000724b1fbddfc1f0bb0000000000000000fdaf2dbd273fa6bb0000000000000000747d2fbd7adf0ebb00000000000000004c593fbd996e463b00000000000000000000000000000000000000000000000000000000000000000000000000000000f0fd88bb4fbb03bc35d3383aa0a7083c78e79ebb1d4edfbb1f8e8e3acfbe2a3cde2adbbb987f1dbc326a5b3bfa1b263cd804e5bb8294e6bbfd062e3baeb5313c630fdebb8dcc8abb0877833bc1df1a3c555e8cbb1b63e6ba5982cb3b823cfe3b86b232bb610983395026d53bd466b93b000000000000000000000000000000000000000000000000000000000000000071cde03b2c0518bb200a853b811b05bc94ff113c43a30dbb888dbe3b7ea63cbcefc5eb3bb191d3bad712eb3bc89b5abc99dfbc3b9de11dbba6e6d93b75e162bc6df6a53b23f2d9bac71ae13bb39884bc6e6b363aaf1e0abb8709bc3a340183bcdccbe3b977d6fbbacbb4903953207ebc0000000000000000000000000000000000000000000000000000000000000000c60432bdb4cf14bd6554a3bbf563393bdcc847bd78f80abdfdc68fbb930e1a3bae9242bd9887febc19e462bb85e7223bfbcf2dbd4462d4bcf1c8d0baf9db7a3b58f320bd1f89b7bcea5af43842bb723bcbe200bd6b8461bc9a72633b980a773b6284b9bc8c0dd9bb6237cb3b1382273b0000000000000000000000000000000000000000000000000000803f00000000e99394b7b5ae103cb205813f205761bb2108ae3bb269ca3c9a8f5b3f1fc6b4bba522e53b17680b3d99e6353ffd8418bc6f05223c269b173db5a30f3f03147cbcd2a12a3cbca0153da256d43eb661adbc2d63083ce094f83cf5d3883e923edebc8fa8c83bd91eae3ccf87fa3d40930cbd000000000000000000000000000000000000000000000000000000000000000039e33abc75c04ebb00000000000000002df368bca98ce3bb0000000000000000b6cf91bc056ff2bb000000000000000007fba3bc600013bc0000000000000000611a9dbc699b02bc0000000000000000479389bc3b277ebb0000000000000000a9ec5bbc64319fba000000000000000000000000000000000000000000000000184d8b3afebcd1bb194c4abb4906373b938364bb5e3bcbbb9904433bc9472e3c314dc7bb28ef0abce0a1823b9b14523cb34aedbba61707bc8460993b54f55b3cd07804bc124212bcd521a03b13f9463c2329ddbbd7b595bbbb2ebb3be646523c149fa0bbe1f924bb4567fe3b6449253c51d6f6bac730913adfddf63bf923b83b6e8f9cb96e37b13a6b319d3b44dd163bd07eb63b7e9eb2b9eb7a81ba934483ba6ada063ca3a384bb67cf4a3aac6303bcf0ce123ceb9d79bb5dcea73b424842bc3d090d3cae3c77bbe0dee33bd62765bc0f4df23b912745bb6e3df13b9a014ebc7b54c63b242089bbcfda8e3beed88fbcaaa9493bea2788bbf06f413b309589bc08c5c9bab10527bbc39125baccdf70bcfec2f5ba27f5abba826554bbb67f0abc29e882bc0e2cffbc369911bcc99ddc3a918c2bbdbf2e35bde8bee8bbd9cc953baa5c58bd3b3f39bdda13dcbb23e48e3bf1cb5ebd40f82bbd5812afbba329a23b70de4bbd1e950bbd71b722bb31ddb63b02a538bd8924f0bc4607e139e631953b165918bdd3a2a4bc8bb16a3b61bdaa3b2f8bbcbc341e0abcad5ce03ba0405b3b0f841abcdb2cccba1427d83bc15b1b3bb104f7bb274ab7bc41c6803fb7110a3ecdbf01bb370526bc3bbe6d3f7d89eb3d07d2053b93d35f3c464e4d3fc4abc23d09576f3b8cc4ea3c51552a3f4149953d5860cb3b063d103d837b053f38d4513d3901bd3bc931113d59d6c73e8903c73caf18d13b472afa3c2e8f813e6e3dfab9df96b63a92669b3c02bff13d3640b5bc2694d13a8712123c0f49d1bba40d05bd265171bccf6f39bb0000000000000000e498adbc798869bb0000000000000000ca3ec8bcc489d4bb0000000000000000e412e0bceb9a08bc00000000000000006ce8e8bc58f527bc00000000000000008555ebbc19adeebb0000000000000000f806cebc7d0b90bb0000000000000000570f93bccc049e39000000000000000047eb3bbc2a94cf3a000000000000000019c6d8b994db92bbdccc56bb1f6fee3ad3de26bb8d4707bcad31c9ba0c3c043c749aa5bb05b30fbc07a0eaba153ee03b8028e3bb7b7d1fbc0b45eb3a0181483cc7aad1bb1692d7bb487f70bb321e2a3c2d3fe9bb6650e9bbd7de9b3bc0ee533ce4df98bb8ef969bb9ba9323bf044ef3b69433dbb9edba2b9113dc03b14f3e03bac648eba9dce613a1e6ba33bea15823bdb9cb03be89fa2b9ef3aa6b96ed7fc3a3e38253cbfa415bb2d65373b35a635bbc56c073cefa928b99d0dd93b8eaa5fbbd8df2b3cff4146bb8695fd3bfd5dfebb34b0143c37f8d2ba974d263c1203f2bb1213dd3bafbe71bbad8fd63b875c38bcc5ff7f3baa37cabad52caf3b9d8c1ebc3857973ad5f26fbb0362543a422b5cbc7baadaba696decbab4ecafba938bccbb99aeb5bb38d6e6bc961741bccbbd063b0aa5e2bcb6f33cbded2a6ebc42669f3b489e08bd6eb72bbdf9a65abcf9651c3b90a03bbd6c3f40bdd66a2dbc7edaaa3b400b1dbd54d908bd6ee024bcd59cac3b499f29bdc5560bbd77bd3abb9616ce3bfd48e3bcd51ac3bc1b2be8ba6c8a8d3b532fafbc6b3165bcb72ea03b2041c23bf7280cbc24c09bbb1b95c43ba842413b4310e8bb01f3ebbc44cd5b3f2b8f8c3ea02672bb36a691bc2cca4e3f48cf7e3e6e80d8bad8c67a3b365c2e3f44f0563e563d1cba88ed993c9130173f0f602b3ef128f53aa1abc23cafc1ec3e54c8fe3d9d46503b5cb9f23c2401b53e09e5a33db9e7753b391fb83cf6c9693e2d66383d36bce23ae429963c8195ef3d383946bb58daf6b9f71bff3bc9d6b73bb296dfbc1587a5bc178e8ebb000000000000000050f3fbbc2a19ecbb0000000000000000dd9be5bcc8ee01bc0000000000000000d10f0dbd7e6832bc0000000000000000bd95efbc935087bc00000000000000005ccf10bd50a51dbc00000000000000007c1be1bce995bebb0000000000000000591fddbcafbcceba000000000000000083d389bcc910fc3a00000000000000006a756cba16409fbbc721acbb78d1ed3a20c941bbecf316bc8c9698bb6111ba3bf1ada3bbb2552cbc3f6437bbbb77143c32bad7bb5f5840bc6afec3ba14d33b3c27c11abc88a707bc08f0153ba881fa3b5a0bf0bb2f8510bccd68423b2309643c0302b8bb04bcacbb1ede853b08ff2b3c60558dbb9940fbba2c23a63b9328073c7afae4badd4a84ba043a523b04d1a23b67fdc439430e1f3bbc80523a3a8aa63bbe8a393c30f75dba82e08c3ba7dd583b598e3b3c49bf90ba7397ed3bb5f801baa470303c7445acba54a01a3ce30b2bbabc4c233c2ed2e1ba220feb3b3996b33adbe8003c40b064bb4882163cea58e8bbb02fbe3ba48d4ebb1524b13b682ff9bb7b38b83ae9f450bb8836d83aa7cd07bce6bf3d391917ebba1d23e137bccea1bb3af82a3b4321d8bc4bad84bcbbb46a3bfccd81bc79ca39bd9b27acbccad4a23b1fc0ffbc9fc64dbd200e98bc4a42953b97aa1bbd5c5d4bbd89107fbc21b7c03b064a09bd247d49bd229787bcac831f3cf79e17bd9ce81bbd240fc3bbf07ac63b5ebdfebc5784e8bc675e09bbf59ad23b8ae7adbc309084bc58e2423bccefb63bb94625bc8ca7c5bb855c903b1be5673becb602bcbac7e0bc4751363f468cd63efd9dffbb89d4a8bcfa7f2c3f26bdc43eea5c73bbd8d40dbb0289183fb757a73eb70202bb55654f3c4b30013fa5e5873ef8fc653a706bb73c5c90ce3e83bd523efbf5733ab3d8d13c9a039f3e0caf0d3e0b990e3b1255c23cf9bc563e7a689f3de9cf8f3a808a8a3c408ee03db832a33c3a1a953a99b8193c897e503cd778bfbcbd22d0bceb17e5bb0000000000000000781e1abda4f429bc000000000000000098e81abd97ae43bc0000000000000000dde424bd5c446ebc000000000000000037b512bd638038bc0000000000000000fbc126bda0df4dbc000000000000000036421bbd91bd07bc0000000000000000153603bdae0f28bb0000000000000000dd05acbcbf28b3b70000000000000000bac395b9c7748fbbc001e3bbcfa3d8baec326dbbccd908bc477cdebb3955883b6ca98abb510629bce804d2bbb455c83b44dad0bb592f55bcca1b4abb4493163c9253b6bb2fca22bcfaab98bb725b8f3be0d6e3bbd7030ebcb390e3b96b05493c2b78cbbbed78b7bb432d213bc921ff3b24d381bba8e039bbde5f7c3b7d66ff3bda351fbb7f5c88ba11126b3b6f4faf3bf89dd63bb964933a6ad1813ace0bcf3bf34b2a3cd03f843a9b56bb3b7bacaf3b1f752e3ce83f093ad423083cefe6b33bec74413c6eac27b8dfec2c3c1d5d7c3b1fddfe3bc729e73a8140313c2e50603b9bc9163cc174d6ba7d9e133ca263cfbaef48e43b49bc1bbba86ad93b6f094dbb07f05c3bd7aa3fbbb130193bb26599bb88586f3ac5cd20bb129b553ad46e8ebbb856d23bf3b4c9bccb57afbc7c45103bcb8d0bbc64d530bd38d7d2bccbd5613bc31ca4bc5d8841bd3d99b8bc98d44d3b940efbbc69d44cbd9dd2a8bc9f088d3b2dfac1bc87c718bdaa7d69bcede4913a368803bd8c0e28bd36ae32bc2eb0c43b4b83cebcd1b6e1bc5960c8bbd079ac3bdcfaa0bc395196bce560f439f035ce3b4d6a20bcf708e3bbf0d8483bd54d9c3b78800ebcadcbcdbcb261113f0967103f227aefbbc7dd92bc406d093f5162043fdd54c8bb60737bbabb74f23e2fa2e03efb107abb5cab313c1133d43e73b3b93eff0218b9baab903c8c68a43e14ed8c3e462836baaefbb03cb248863e59ea4b3ef9c6a53ab7e8a53c8309353ebe8af43d3a36b23af8c2813c8617c63d5421323d4bb7bc3a18561d3c9886893cf81ca6bc7bbee4bc6d06fdbb0000000000000000901e1fbd056e3abc0000000000000000db9217bdfb1164bc000000000000000083362ebd047573bc00000000000000006a2407bdbd9971bc00000000000000008fb832bd66ba6ebc00000000000000003ce61cbd9ca324bc000000000000000065e115bd9234a0bb00000000000000000a58cbbc7c3b8bba00000000000000009c1da139a72566bb503fd8bb5fdfa3baf0a312bb48c707bcdeacf1bb4bfd993b227898bbf3a62ebc7291e4bb219bf73bea7ad6bba44c39bc42feafbbf509193c3c83c3bb2af121bc5646c5bb48fde13ba1b8cbbb3e730bbc6ae497bac61e353ca6e8a2bb79c7c4bbfec1ad39fb1c373ce1788fbb270c30bb46a36f3b16a31b3c5e9d17bb46614dba19a05c3b7fbaa73b6b70c63b058b373b7745a33ae483c53b8d3b353cd756873a9aca9b3b7815c43b3eae4f3c68c0633a624b053c8218de3b425d4b3c387d063ae5443a3c2824d93b8582853c11daa4bae30c1f3c8c328b3b9f271c3c6c3de4babab8213cc508b73a422ced3be4eb46bbd3ced73bac1c20bae081603babf282bb4d49733bb1ef46bb4063ae3a9b8912bb0295773a0a1a51bbd391073c960dbdbcdbdcc7bc3ec214baac0bb0bbf83b3bbd5aa7fcbced4d923b2cfe91bc77825cbd2380ecbcada07e3bbf00d3bc721b5fbd950bccbc57dc943b7598d8bcc9e344bdb1cca0bc824b263b69d6ecbc9c6a31bd5fcb5ebc0519ca3be467e2bcd29606bd2bcafbbb0527003c9ed5a2bc938ea2bc40b4a4badd18013c1d5320bc536ff8bbf0bd053b2327a73b06ab02bc80edb4bcd0f8d83e40ce353f12f6e3bb491c90bccff8d03eec5b283f3d15d5bbd61b08bb7680bd3e693a103f916cb3bb5c1f183c4ac6a53e6358ed3e76e0edbbe48d543c4fff883e7667b73efdce0cbacba09b3ceea9583e8b2c843e41454fbad4be933cdcb6193ef211233ec6fb0839e5d4683cbae8ac3d0516813d85e0d33ae6ac083cd17e953cdb608fbc15aefcbc52d201bc0000000000000000b35536bd2d3740bc00000000000000000f6030bdb86079bc0000000000000000b00338bddd088cbc00000000000000006ffc2ebd794c84bc0000000000000000c0d53dbd86d974bc00000000000000005d6c3abde39831bc00000000000000009c432abdaae99abb0000000000000000da76e5bc9f099cba00000000000000003f9ce9b7cab527bb8cbab4bb35589439011f43bbb546fdbb96bbfcbb1121c93b0d144ebbbd81f3bb4757e1bb6622473b46ad9cbbad2832bcf06ee1bb6979163c9dcda0bba26c21bc8facbdbb802bec3b8900b8bb3fc418bc7242ccba40de3f3c88b18fbb7751c3bb3aa937bac189023c534f92bba1195ebbf539903b914c253c109b07bb3657aa38a753583b038cb43b169bc03b1c969d3a7b1bc7397ab2833bfc56443c6a750d3a0a0fcf3b3000d53ba059193c6f711e3b0a55fb3b241f0a3cf3775b3c7803203a5ed7243cefd8023cb8e4223c98e9773a3b2f383c5d19bb3b9a3a2e3cb3b5f5ba5b4e0b3cc587943bc5dfc93b62c78fbaa1dc093c16ae9f3a5c684f3b9ec676bbfad57b3be8bbb8baae4243397a502cbbb293113a64d623bb2f29fc3b400ecfbcf381d1bcc56f1d3b5fb5a5bbeb5d48bdd2f511bdcff2b03bccee51bca09b3ebda77eebbcbf84ce3a71e9adbccb7e6bbd3f27efbcf2a0863badb09fbce79f40bd8a18b3bc74de603b6214ccbccff23ebd1c6888bc324ed33be552a8bc3c1a00bde7602cbc17d6ab3b58c9a0bc617fb1bcac8329bb914fff3bf5271bbc925ae7bb39e81c3bac73bf3b671cb3bb6ca995bcd5cf8e3ef7335b3f4813e3bb7fa345bc7e028d3e32f84b3fb82887bbcbdbdaba88b17d3ebbab293f9936c6bbe614073cc9d46c3ec76c0f3feb11cbba33b4653ce38a423e76c8db3e1e6b05bbbe3f8c3cf396233e6eb1a13e027064bacc52793ce827e03dc44d4b3eaa9466ba0f933d3cb66d883d8511a93d87b1273a6a35bc3b3ec58b3c9b7c88bc464001bd1254e0bb0000000000000000c01b37bde6d84ebc00000000000000007a7d0bbdd0ea70bc0000000000000000a0ba2bbd61f692bc000000000000000001481dbda53f8bbc0000000000000000a84a3fbdc8f788bc000000000000000040eb20bde23e36bc0000000000000000543236bd7395a5bb0000000000000000dae4fabc439315390000000000000000aa7052b803562fbbea39c0bb8535a538c6b7e9bae4b9cbbbd7bdecbb330ffa3bc44048bbd3d214bc8ef602bc4df3f23ba3f2a5bb1eb828bcb025e1bbccbf153cbf2b8dbb6c3223bc4dbde4bb724e013c0764acbb62ea0bbcc27a34bbc34e363c1db782bbeddcaabb557a5a3a55b0363c8ed703bb8674d5ba02d4743b3bbe0e3c9d798bba70d9393a82b48a3bed09ba3bca44e93b69a3b73a902aa93a4c25a63bb77b433c21c5f3394b088b3bf0d2a13b400b7c3c4469fbb90a32fd3bf2eef53b1d606b3ce457fb39fe4c2c3cfe4b063c2835453ccdd0c13936723b3ca0ad143ce98d443c979fb7ba43721b3c2ec8c43bb354053ce77c46bbd010003c51ae733bc336653b228385bb6e79123b11581ebb44fc393ac9ef33bbb4f1783ad0dbffbab0deb43b0895e0bcbbacf8bc49ed53390a94c3bbd60357bdbecb13bd7c068a3b18b85dbc973878bd4f6c12bd6400553b03139dbc5f5d7ebdb4c301bd92fa733bdf50a3bc11aa56bd86b5d1bc614d483b1760c1bc0de549bd46b89fbc371f953b410cc2bc2d0b21bd538a3dbc1e7bf63b18ff8abc0e7cb2bc46a36abb8472053c5b2c31bcd1fe11bc1bdec83aa57ed63b5bc4a1bb42264fbc7e660e3e659e803fe09a93bb0249e4bb9b7c123efbc86b3f58eac3bb2dbc503b64c4143eadb4493f46dd9abb5efc263c4c510e3e107c263fe65cd0bb6d92723ccd59f83db302013f0f9d4ebb8c5c753c4855d63d5397bd3e14d816bbe42e4f3c2ff2a23d7109703e03c62cbacbeb053ccc603d3d9e29d03d1519bc3a1024a83b5ea7813c02d393bc565fd9bcf4a8e8bb000000000000000013500fbd04053ebc0000000000000000df8902bdb16e85bc00000000000000002ca609bd9a4299bc0000000000000000139608bde6089abc0000000000000000230426bdfe3790bc0000000000000000234435bd5bf76dbc000000000000000006cb2dbdcdb3bfbb00000000000000003afb0cbd0f0ac4ba000000000000000000000000000000000000000000000000f9b25aba4267bfbb6ad60cbc71e3e13ace3601bb2919ffbbcdc909bcbf47423ba9c381bbdee5e7bb783b12bc14e6543b087f34bb53330fbc0e4b23bc3af7723be45a10bb186df0bb2bc9aebb2753a33b978c52bb3dfcc3bb698c4dbb078afe3bf0f716bb63302cbbfee8af3a91c0b73b0000000000000000000000000000000000000000000000000000000000000000ae060b3c708a203bb2f2a63bbe90f33b7f680e3cb8686d3be24adc3b493a163c224e1d3c3d3b213b369f1c3c70d6323ca171243cd949043b72e22e3c9df52a3c0195083cd220003b4a3dfa3b7b10023c97e4ed3ba65756ba3114e73be24bb73b7c708e3b664995ba271f9c3b76fae13a0000000000000000000000000000000000000000000000000000000000000000201b4fbbbc0c3ebd247305bdb0b9d1b99c8916bc644c48bd8677f7bc843890b938c556bc2dcd4cbdacb9e0bc1adbbbb8ffd254bc4d033bbdc2dabcbc7374233af56788bcf48c21bdbf8296bcc70cc5b9c0738cbc5c2505bd24c438bcedba263b0d2872bc5cf5aebc48acbdbb729aa23b000000000000000000000000000000000000000000000000000000000000803f2860a2bbca2270baabbfb33c1a0d813f47a493bbbd18b63b620b0f3db3cc5a3f81919abb4f7e293cad46313d1828353f399a8dbbcdcf443cb97f393dd3b80e3fc8590fbbda2f603c2351323dcf35d23e602415bb0b91403cab00133deb60873e45022a3af34e173ccc4ad63c2510f43d00000000000000000000000000000000000000000000000000000000000000008c8e62bc59e926bc0000000000000000b51c63bcd05159bc00000000000000008f308abc6d368abc0000000000000000996ba7bc4d908fbc0000000000000000697ccfbc52d77ebc0000000000000000f457f2bcc6b85cbc0000000000000000fa0d0bbdaa9c26bc00000000000000000000000000000000000000000000000000000000000000000000000000000000aa9491bb25c6423c21fb283ddbd3ceba961be6b93866683cb8dd1b3dff593b3b2dc714ba016d7c3c8896ff3c0241b03bbd287ab968f8693cb63fc13ce89ea63b068eff3a380c373cc02e943c5407d63ab783c839ae3ef33b82181c3c72f9a43a83b0473af1fed43acc69213b04081aba0000000000000000000000000000000000000000000000000000000000000000a8018ebbf582b4ba2b188d3b84fa6abc29c230bbedb1f0bacbc5b1b9eda2dabcdd5a93ba39660fbb0f706cbbd36d16bd507170ba4e179fba0e4d74bbb95512bd2f69de3adc1854bbfa0a9bbb9ed9e0bc5b9d0c3bf9b5ecbaa166b3bb96f493bcaafb013be0cc91babd9b8dbb019099bb00000000000000000000000000000000000000000000000000000000000000002ca859be7d06923c3e6f433bd22fcd3a4beb4ebebb1a273c20130c3bf0d1c33a4e3b38befaa91dbbd0001c3bc421983a7d8e12be33857ebb9465643bb468c1394401d7bd29e910bb482742bae4724f3b876267bdf6c47bbbf9e42fbae089323a8a8c23bc8d13d5ba48f9e9ba5b6e3c3a0000000000000000000000000000000000000000000000000000803f00000000043a9d3c74acd6bd7234ad3f76d703bec1466c3c706c4abd1f348f3fc675c2bd663b473c010e6cbca8d06b3f25b39bbd8090193c5d13b83b178b2f3f7c2a74bd8a1ce63bb292793c7b19e63e713230bd6f64043cb907983c7f3c663e61e684bcc7e8c33b7c25323c7a7b0f3c69576c3a0000000000000000000000000000000000000000000000000000000000000000c6bd8b3c5991a8bb0000000000000000d347263cb76c96bb00000000000000003099eb3b7a4440bb00000000000000002954a03bb20a69bb00000000000000007b09ac3b5b050fbb00000000000000009a8dd03a0b0212ba0000000000000000e5ec4f391483cab900000000000000000000000000000000000000000000000061bbdcbb901aba3b0f57aa3cebd454bb7f021abc0c074b3c2b261c3d172099bbeb4f00bcee98963c3d34313d7e4f053b1ff935bb699f9a3c11eb183d40ef9b3b15b128baf4d0733c25cce33ca94ca13b0c1f05bbb1ce533c4d81a93c1f2aa53be74757ba48b1043c8807313c1b180b3b4e748aba4ab3863bb8e2e83a651a163b0eaa4bba6e1ee9ba451e75bbb658daba57c014bbfafbf8390d3d343c9f85fdbb6c177dbbef6a0cbacd772a3cd4dfc2bb7dc07fbbeffc10bbd0e3143cf905d9bc02570ebb77024fbb74f03c3b67f50cbda9c2353ab2986abb12eb0abad52503bd0f01d9398f7220bb960d4cbbe9cac1bc29ff4a3b26d964bb90d89bbb300d78bc38125f3b07c239bbe678f0bb7b7d88bba804503bb584f7ba78b969bbb964073cf430e5bdf9ecd73b69a73bba69fd1d39dacf3fbeaa2fb13cd38c85bbe7e96f3be44559beac33933a309c5f3b33cdbc3a18c345be7a9cf1bbdd258b3b94bbd83ac1641dbe925d1bbc974be23a32502c3ba51ee4bd531d1abc1d0cdab828f94a3a6b5a79bd0a61fcbb2b3567ba7922d83aff675cbc615441bcf05285ba217afe3a27cb903ce189083a406294ba5d393e3a36fa2c3d706d5cbe8571ac3f11dd863cc15e2e3d535e42be3cc69f3f04bb293b9214f93c39de0abef0f7903ffb42d7ba7f55e43c82d7c3bda83a6f3ff39cacbb09cead3c966068bd4938333fecf861bb6470a23cbeeb05bd530fed3ed4f8a2ba509a803cb80564bc36566e3ea1dadd3b554e753c7bd49f3a4fb91e3d4c22c53c2985373c23d766bc4fbdd1bd329c263b9c2e8dbcbbe4893b0000000000000000273868bc91b9983a00000000000000006ffe80bcb151a43a0000000000000000bb455cbc50f8133a00000000000000007b8743bcda0dccb900000000000000003e6e10bcbab4a73a000000000000000051d50abc9fdb303a0000000000000000bc4e25bce22dc03a000000000000000081303dbb36824e3a000000000000000034caddbba9d6d73b736e243c08b7ca3a17c1ddbb22b84d3c9b55e13c8951ab3bb0aa95bb709a8b3c5b7cf33c1f96373c5b8557bbd42a973c995ae83c36462f3cfaab17bb959c793ce594a73cc415103c7efe4dba29075c3ccdf7803cadcbd53b7c60daba01841c3c9e25f93b2801803b717b00bb19dd913be339c13aa4f65a3ae26ce5baf431b33a0c133cbb59a6bbba5cf01ebbdbc1dbba8c04773cd6b088bc8ec931bb8d0beeba84c3493ca5a3b0bc6a761fbb63b383bbf9c4163ca1cc05bd603b35ba7b0351bb0ee69f3be6b40abd7fda753a2a0c22bb9386d63af46302bd6917323bd7da7abb4cf3a8ba62b6c5bced19473bc1d553bb23e379bba6dd51bcc9f9843b243b4fbb2705aebb406ae0ba9ab0533b04a80bbbb3d55cbb63c0d83b0bf96bbdbea131bca3777238ed45543b1cb216be0111b0bca8e5843bc09de43915a42bbed8f411bdcccdf23b3e012d3b7d132abe928305bdc4aca63b59639e3a219c04be5fe8f7bcd122663b36659639a672d0bdd9d8b4bcab099a3af98c1a3b69e26fbd981e38bc5f66c8b9a24c1f3a5da3a0bccf7fbcbb75ab8db9a4ea573afb65003cb5ab6f3b674434bb5da06639028c333de2b05fbe66918f3f809a6b3e9e3f533d96dd60bea19d913ff249433ecc621f3d7a8729be4339823f8a8d243ed8a90d3d23d904be66a85c3fb921ee3dd774dd3c42c6abbd08b8253fe743ad3da702d23c020c82bd50f7e53eb4334f3d2ad3b93c35c728bdd86b793e7d6fbb3c29959a3cff7dc6bcf3f1803d3363043c2ab8603c91d7b2bc427445bd754a7dbcc5ed8bbdec7a723c0000000000000000690689bdc2457e3c0000000000000000b24767bdd0fa0c3c0000000000000000ab653bbdc7160b3c000000000000000029a109bdec029f3b0000000000000000e66acabcaa394d3b0000000000000000dd3989bcb1d3723b00000000000000005fa725bc02a1e63a0000000000000000f62d3c3815bb8c3a0000000000000000e84a84bbc893af3b7bf0d93bad3bd53b93fdd9bbed905c3c9cd09e3c4aab5e3c429bb6bbcc278b3cee50d23ce037883cad8541bb62c1873c8034c13ccd08863ce51814bb329c833c44db983cb6594a3c82a0d7ba69734a3c9922623cc4730c3cc5f4f8ba2bd3183cba7be23b6b8d953b3c701fbbe362963b1b35993a057bb53af459aabaea8a50380b0956bb631793ba982baabaa2b832bb4675623c6a88e5bc5ee77fbb805963bb1eb65c3cc212d4bcfe8dd4ba05b8aabbc1cd283c1afe00bd670a9ab9c4539dbbdc8ebf3b310108bdda682d3a0f5349bb56b3473bb2e602bd3ce85f3b9f1298bb00b73fb9fd57a7bcdfab633b589387bb2d6cf5ba4b8572bcf758683b2fc862bbc31b72bb403a0abbf540443b2a135ebb92cd16bb7192d73bb80608bd776718bdc0453b3b5135f33abb34ddbd37a678bd41fe2f3ce375133b6a0b12be115387bdd94c323ce7c90c3beaa00bbe542c80bd1894c73b9303253b70c4efbd455252bde30db43b47e6c63a5751b8bd15d009bd806ed2b817b4933ac92858bdbc8e9fbc9bd7c139348ac73abd78a7bc48d663bb179d0cbb33fa6f39494a403bf8ed1a3c539d05bb2a94bb395f3c2a3d3b824abe5d336e3f8070eb3e60d0403d6a9555be6f66713f10a4d63eec641f3d04872bbe3a2b5e3fae0bb23e7221083d25fc04beb4f23b3fcec1893ed1d7f03c3aa2cdbd92e3143f353f413e8122cc3c59f390bdaec7ce3e6379ea3d0610bc3cf20f49bd06ce6c3e99b1563d8929a63c76c10bbd987fa23dbb7720b9626a533ce7f6f6bc5ed5c3bc3e3a23bdb211f2bd66e5c63c00000000000000002742fabd9912d53c00000000000000004e1cd5bdd4509e3c0000000000000000a099a1bd0751763c0000000000000000c4b87abd7f202a3c000000000000000072e822bd883a173c0000000000000000b473c9bccb4e9a3b00000000000000000f0207bc5b41573b0000000000000000f5857f39e2bb573b0000000000000000b87a69bb340fa23b90f1623bbdb71d3cfedc9cbb51402b3c755a713c5a5fa13c598553bb1ec15a3c4bc39c3c2b82b13c703087bb0a36823c134ca23cd9a99e3cffb0beba1394453c5e504f3c0f97673c5ff82cbb4b13483c47b2423c170f283c8a8063bad85bf43b57b1ba3bc33bba3b7e7106bba561823bc35ef73a0d52c33a4ac7babadf00a63aadea34bb618db5ba00ed43bb20124fbbc8ef3b3ce5c0c4bc67b19dbaa22da1bbda0c373c07c3dcbce8b89c39869bb2bbad25ec3b4af1e5bc9a23813a3ba496bbd245d63b6cb1fabcd473393bba822cbbe7d8a23a9955e1bc7bdb443b3218a3bbc0201c3a68c5a5bc0ea3573b718c44bb12a2d1ba558a3cbcecb5323b90c26ebb063518ba33ff76bb5e273f3b92985ebbe2bed2ba0da7bd3bc21363bc0aca6dbd527c7e3b434da13be65f9bbdf5fcc3bd3e3c703cf81acd3ad4b1d2bdcaacd2bdb94e2f3c1c102c3bf592e3bdea40c3bd224d3f3c32d6a83abce5a9bd888d8cbd313f7b3a98d8263b3d68a0bd095149bd2b03953b074be73a6b6c3fbd8a1dc1bc71545ab9062114ba17bfaabc10c24abb29f8acbae6b2aeb92a13cc3a63a6393c5f2153ba6fb05dba36540a3d4b082abe71af333f9a64323ff96a1e3dd6d22dbefc7d373f0821283f39b9023db3820bbee2e2293ff7160e3ffab6eb3ce51fecbdd652163f34a9df3eb522b23c8d3a92bd3a31e43ecff59c3ecbc5c13cf7908fbdd96eb13eb8fc3f3e8911973cdb743cbd29e0503ed6cfa43d6396843c9ce912bd4c3dac3d167861bb4358583cf7dcfbbc0c00b3bb237574bd8ccc27be4dca023d0000000000000000e1ae30becbf0123d00000000000000008b610ebe923ccd3c00000000000000006379efbd951fb03c000000000000000096829cbd7ffd2f3c0000000000000000b20579bdcb0e4e3c0000000000000000940ff8bca927da3b00000000000000009bf8f8bb0b06753b00000000000000005137803a172e823b00000000000000009c9205bbc18c733b29836d3a1efe623cde9c69bb2d6e033cc34e2c3c5ab8df3c966981bb325a463c4f27893cda99f53c479a28bbdb05513c2ce9943cedadcc3c05f82dbbface623c0678523c254faa3c854ddfba7dbe3e3c52011a3ce40d6e3c3756f5ba9fe9183cd2d4b53bd187063c589eeebac36f8b3bd2d618b8672d183bc62682b96acbb83a015e4cbb9905dbbabf09c3ba98359abbb5a0263c5cc3b1bc76ea60bb4768cebbb0ebe13b92049cbc6af050b90eb1e7bb7201d73b0f96b4bc68ca553aab3fa9bb02a5673bdc42c2bcb9b21d3b900284bb6cf1373b8f1abebce647c93afd8d63bb48d88c3ab6cf94bced17a93a8a0647bb159092baa7ee59bc8675303bafa520bb53cb0fbbbcce2cbbca0bf73a063430bb09921eba0e7e153b5b696aba2a869bbdcd4df63b8c7a823b35d84abd29470abeea53c13cf366103b17bca7bdb1cd12be49f3963c83e46a3b6191b1bd3d6bffbd48aa493c92d5133b1751a2bdb970d0bd6946e83b4337103b79db84bd366584bd1ad57c3b8c938839fee42fbd60f508bd4a17363bfe4b0bb94ac99ebcf91c14bb17c915bb0edff8bab7b6c9b989cd603c96091aba55088bba0114cc3ccf30f9bd2753ed3e45506d3ff1befe3c135b01be4c8ff53e7334643f63c8da3c8381ddbd90dced3eb944443f41cbbf3c03f8b6bd6f83d53ed5c1193fb390af3c0f7f95bd1cdbb43e5da7dd3ef458963c362068bd65b4883e74b9853eb419903c0e622bbd78ba333e7406e73dc1b9603c9b6e00bda237a43dc8149abb5e701a3c3d11c7bc5e09933bb0449abd5ef24bbe4ba7253d0000000000000000b2b75abea8cc2e3d00000000000000007ed938be8e90073d00000000000000008bea0dbeac49c83c00000000000000006de5d4bd4e82923c000000000000000016c385bdc9664d3c00000000000000009ec20ebde674ef3b00000000000000001d438abb4163633b000000000000000032608b3b310f013b00000000000000005a422fba46ab0b3aea4b313ab908953cbd5100bb753a573b5a2c1a3c3c5d093d8fcc46bb29e8053c9561803c21bf113d31720ebbb63c1b3c7038763c6af9023d64fc1bbb224b113cac6c4d3c216cb43c0a85faba285a0e3c01ff3c3c3a1c913ca88617bbb3a0e43b0cf1a63ba0510d3c95b01abb0958a03b4482623ab9a21a3b7a85afba5126f839be6f3cbb353c3dba40e57ebbdccca8bb94129e3beecc4fbc014c2bbb00aafdbb9e8c903bab8541bc01341eb95697f4bbbeb8203b0e0d61bc60362f3b234ad9bb72c04b3b0cb67dbccb240a3b63937abbea018f3a63118bbcc1bd0b3b7ce47abb60f3cd3aa34f6cbc0bc12c3b79ca45bb1864303a984f23bcd0d8da3a5f0627bb031fab3657e198bb1483643a9d878aba949d8c39d785a03a7a620c3c3311c3bda946a03cd29ed339316fe2bc0ba72bbeee33f83c6fa53abab8946dbd3cd634becd1aa43c77cf693b9b4787bdf23b23be812b7e3c5ec1c93a2d4b74bd457ff2bdb3bbfc3b2a38703a919b57bd2770afbdbc39b93be09c45ba21df12bd7f3c24bd6200f63a17fdc4ba120599bcd14794bba67a1fbb7f13efba0a483d3a6abe933cf3af4ebb236759bbdeda813ce3a48dbdd7986f3e73248f3f1679943c85a98ebd84b07a3e44a88c3fa42b883c1dc37ebd3a62853eee7c723f27af703c2ea459bde50f7e3ebca4423f841d6b3c93302abdfe8c5f3e4b210b3f58e4433c6e0416bdd187393e2ddcad3e23853e3c4d2bd8bc8e1efd3ddf361c3e55f20c3c42c0aabcfe9e8f3de8aa5bbb78fe9e3b915078bc797f3f3c1f66bcbd95325dbe8fde343d00000000000000004b5f6ebe626d473d0000000000000000d34c42be8a5f083d0000000000000000f7b31dbe4be5d53c0000000000000000ff2eddbd8384983c0000000000000000e39594bdfc39603c00000000000000004fe112bdeca5f83b00000000000000002824693b19dfbdb90000000000000000af407d3ce137ec3a0000000000000000c795a8b9b4d767baa073be3926f4d63c7d002dba5ed3b3bac6d6043cc411343daa57c3ba6dd38b3b72a3673c4935383d208906bb4742963b6f03963c0f78183da31c06bb0375fa3b0d60583cb719e33ca624edba5fd7f63be375253cea3aaa3c7b6c20bb2d5bce3b05139f3bc5083e3c522c6abaa543603ba025c03a79f7b33a30af50ba8ea55f3ab98923bb87602bbb0a3cb3bb231faabb3113053aa2e6ffba9c6423bc8a39e3bb6bd451ba03b829ba82cc5abb4008d2bbc88e92b93fce83bb5a8dc63a7155e8bb6278edba2e19debbb40e873af38150bb58ceae39a74319bca35ef53ae71669bb30e658ba02ab25bcce699739526914ba657a963ac80824bcca9c1c3b3baecfb90003f339841dacbb74733aba39b4c7b90916f439aba8153ae782fa3b696708beebf8c43c0d148eba534b06bc4fd64cbefec2443dacda82bb381a18bd5de45abe803be93cb1960cba6f9449bde6b943be73b5933c2425343b063143bdb30315be17471b3c036e1f3a54d424bd6511cfbdc9e3a23b84952fba3b79d8bce9fa4fbddc63173a5611edba857f73bc5e2658bb03011dbcb942c1bad3472a3a0127c53cb99af9baf35925bbfd22b13b285498bc9e0d8f3c5c84ac3ffd45df3bb242acbc2a4b413dc9509d3f5b79ea3ba517abbc1ef49e3d25dc8b3fb88fea3b920297bc82e5c63ddb4d613faff5f13bfe2378bc9535cd3d32f4233f6549ce3b8add4cbc3057bf3d1537ce3ef717c93b89f134bc94ac983db8bd3a3ef53f4d3b95a1c1bba620543dbe1d533845668a3a05539ebb8447fc3b779300bee79b5dbe51102f3d0000000000000000c2145abefeb7293d0000000000000000e72135be4e67f53c00000000000000007d100fbee3d3a83c0000000000000000d223cebddc14693c0000000000000000d3bb7cbd53241e3c000000000000000078b0cbbc727a3c3b0000000000000000b516bc3c8307cdbb000000000000000069f1903c1c8f49ba000000000000000000000000000000000000000000000000ad6d43ba249761393e44143c3165313d7ce75bb8a68a163b08616c3c0a601d3d0ffa59bb92acc23bebcb563ccf63023d90e5caba3d89b23b770e5e3c5145c73cca5eccba4bd3993b83ba283cf208873c02d98eb9cbc72b3b7ac7d23b2843243c9cd6aaba2f02173b4216fe3a6bfad83a00000000000000000000000000000000000000000000000000000000000000001f7e04bb9063cabbf8c490bb74afc73ba2cc8d3a12e5b1bb42937cbbdf93a03a4829883bcdb37abbf8d8b2b88500f6ba320b843b6a5792ba2a850fbbcecd99bbb6c6d03adf18deb950ddb5ba12138abbee6ea23ace98e9b983b696ba7ef787bb16e580ba508c9d3a3d655a3a60296bbb0000000000000000000000000000000000000000000000000000000000000000916f87bc2b9059beb111a63c72972a3a13b404bd55204dbeb9fe593c18b1293bcd2523bda70a35be698d7a3aedba1a3b35b027bdcf5c11be0d3c1abbcb30243a52acfbbc74accbbd69623bbacbffa439c4ebaabc42f859bd906684bb5b825ebacfc704bc054bdabbb56d15bb69a7e5ba000000000000000000000000000000000000000000000000000000000000803f17eaebba175d8a3c1efdc7bdbbf9ac3fec709fb9db381d3ce7f014bd90a28e3fb391153a049dca3b3466bfbbc17f693fcf52a43a519dbf3b89505d3ca4fb2e3ff537ac3ad1fcc03b1175a23c70c8e13e031ea2381ef1e03bb770bb3ce102603ed0eab5ba22b8e23b64ba3c3cb560de3b0000000000000000000000000000000000000000000000000000000000000000eff709be6b8f9b3c0000000000000000cae6ccbde6ae263c00000000000000009f9aa3bd81b4063c0000000000000000111f7bbdf6ee6b3b0000000000000000034125bd790daa3a0000000000000000d38665bc2a9d7a3a00000000000000008660603b95651cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000c37aabba9addae3c1bdf013db4b7f6bb4319ff3ae4a1c63ceb28ff3c96ccd0bb81f6873b0394cb3c6c36e23c6af589bbed90943bc3e9ad3ce152aa3cc740b2ba486bb03bb28a843c44df5e3c1e1b1ebbe1324d3b4d86323c90baf83b3b3b4bbbafec0a3b58c21f3bba8d863afdb7e9ba000000000000000000000000000000000000000000000000000000000000000072bbbabb2f42c53a9a98363b205d30bd79968bbb74911fba571501bbab7b7fbd41f15ebb0e1a8439327ef6bb91198fbdeeee20bb68e49db942922abcaff889bd5d3b43b9ea5d77ba5a1629bcdd1864bdd532443a5a536539c021e7bb9b1315bd8b46363b0e1760ba82d797bb514639bc0000000000000000000000000000000000000000000000000000000000000000d6c83fbea922ec3c2944e73aefa2edb948de38bead0ef23cfa8b403b72cb0b3af96826be8caba73cd8a09a3b69280abba5a202be4643963c26840d3ba99aadba1b2ab8bdf442943ce23883ba9d8e11395f2841bd4ae6463c7f7979bb46381dba32befabb4c50bd3b3f33b8bbbf62da3a0000000000000000000000000000000000000000000000000000803f00000000ce8d8d3c352ca1bd4df4ab3f3a1c1abe20e1313ce73443ba8f4d8e3f14bb0cbe0764063cbb05333d5f64673fe54200be3ee8103c7075873d1b532c3fb5a3e9bd2d71c33b84268c3d7e79e33e8114c3bd8357c03b18ab5a3d1099643e0c206dbd0978993b409cb93c11de853c692ac0bc000000000000000000000000000000000000000000000000000000000000000028b1a63cb94e3bbb00000000000000001515833c650b40bb00000000000000001902373c5d8ab9ba0000000000000000bf2a2a3cb68b5fba0000000000000000f33c2e3cb8a391ba000000000000000028d90e3ce66a32b800000000000000002ae6dc3bb752b4ba0000000000000000000000000000000000000000000000008e14adbbfdc82f3c60af7f3cc28cadbb4b1fcabb6b02b23cbe4c023d893569bca6f008bb62e1f83cdb69093dd5e20cbc353c7e3acd24f23ce523f63ce05eb9bb8de9403b1e8ecb3c381fb23c092e94bb9367053ba571aa3c92af7c3c277984bbfd2ccf3ae892543c57d0df3b5ae90bbb8a99dfba090dbe3b656a853ac4771339d9307ebae1f449bb364c72bbdaf435b86c5e49bb40e8bb3a8da62b3c23df9bbc5df65dbb073b023bc903533c60ea23bded2197bb2890063a9353d83bc71d87bdc2c65cbb398b89ba159f463862c895bdf10dedb9f2ea1cba2c9d66bb108a8cbd4987883a8a0108bbd46dacbbfea862bd4528323b1180febad813c6bb905506bdf78e7b3b31b22ebbbc3894bba00b1bbc382b523be1dcc1ba0e04cabae6012d3c69dec2bd21bf5fb8c5ea713bdc2d1cba6f252dbe962b083d3a4ba5396ea85eba632242be7043c53cba56653bb38f6aba531331beef98983c2f27a43b280e3dbaec3609be640c773c80c0113bcbebe8ba30a8c4bd8d0b793c7bf305bb65dc983a5ef563bddce12d3cb58495bbe5e4ba3a19fc35bc2bd945bb39bdc1bb38bc603b7735893ce69cb5b8d67fadbbe6b2083b807e1e3d3f2755be1d82ab3f0d22b23c087f233d9ee435be6472a33fb1ce0abd89dcc93c650dc4bd3178923faa0668bdcf998f3c16d70bbdcd18703f5e968fbdaa184d3cfa608d3b34ac343ffefe9ebd2934423cefcbac3c5a98f13e566f96bdc47a463cb3c0903c0bfd7b3efaeb50bd44607f3ca16c5a3b69f1453d44d1c1bb57780d3c21da9dbc34fbb5bd19493ebc6e108fbc91af713b00000000000000003c6729bc63afe03a000000000000000072f600bcaebaec3a000000000000000058ea99bb8f91f33a0000000000000000d9166b39aa4fe23a00000000000000005e34bd3be35fb6ba0000000000000000fceb043c3b9ba7ba0000000000000000371c123bf8cea7ba000000000000000013ee093c62e311bb00000000000000007a1ab0bbbc01163c5bd4183c494cf7bad11dd6bbfea9b63ccdcbc03cafc402bb4a2621bb12f9cb3ca3c4eb3cc19f863a5edcd2ba04ceeb3cba05db3c0d0f27ba3946293a8422b73c6c34a43c47ad863a4adb483a4e0ea13c4f767a3c14901fba1762843a6df6563c6e5bd43bf7e200bb63cc43ba4ee6a93b86b3263a61aa5db8ee7635baf86317bbb5bc08bbf4d904ba35d06cbb38e1aa3ab32f553c3ffac7bce6ddc2bbadb6813ad4d96f3c20a538bd9c90bfbbdfd39dbafd13eb3be38276bd1586a7bb51fbfa388e369f3bee0b89bdb32839bb72bed9b9e93a0339b44e76bd631664ba9e3ce2ba78f13dbb692e52bd3d2c183b41fa95bae90d83bbbfc503bd4eb4163b2523d8ba6d54a7bbfe2814bcd164513b581305bb112a04bb86e00e3ccdda3dbde095c3bce9e2163ce9a4f1ba5be708be943c82bc70d8753cf2485ebb77f31dbe6c45abbc7485863c8e4619bb00bd21be51b2dabb29db523cbf705ebb19d600be0f71b2bbae23053c90e41abb5eb7c4bd3813593b3937673b1b2d15ba67d257bd46f9bc3b2dc183ba9dd19eba129f99bc4f99833b05938bbbfd91c03a506c2c3cb44a523b03b5bbbb92a1033ba6ab2a3dcd5e5dbe2eb48f3f2f39743e4cbc3e3d646655be766a943fc5aa263efc9cf33ce51100be17af833f0d23e63d603cd83cfc25b0bd7765643f727d263dd8de923cd65c12bd66fb2c3f1da4073c3405993c6496a7bc09c3f63ebc5901bd3533713cb3d613bc60ae8a3e316331bde50f923c9d9982bccffbb23d313c1abd1fe0323cbaa1d8bc589b19bd4b720cbdfac88cbde82e713c00000000000000001b648cbd4421653c0000000000000000eafb5fbdec302a3c00000000000000009ac71abd844de13b00000000000000007d40dcbceec5ab3b0000000000000000f4834abc965c5f3b0000000000000000bae8c1babde0da3a0000000000000000aae9093c586ae3ba0000000000000000abf7593cf92f60bb00000000000000002bfc71bbeaf8df3ba8c2c63b9daeb13b74b1d1bbe7aea33c359aae3ca037993baa6a8dbb1dd7d23c3435db3ca184af3b52d83ebb4d5fde3c2c0ac13cee22a13bfdbebbbaccaeca3c973ab33c32042d3bce1191ba908ba83ceba5553c71b6c13ae50c043acc58503c1768ee3bab1bd8b8821791ba1a88bd3bd02d833af72f7dba28c859ba7d309fbaf1fa85bb543f83b9b1f984bb8b7e63bab209443c271bf2bcef18ddbbac8708badd72803c2d2e38bd8e21eabb6112a0baa88c463c26c26bbd16358ebbc60ef6ba318ae53bacfa7cbde5f171bb835493ba9655333b6bb471bde73b85ba7121d2ba0da1803a6ed13fbd692d143a7ee5e0baa1e82bbb968eefbc2745543ba67801bb0d2d66bb4e9010bcae47d63aff2171ba2947d3bab8d5fe3b3b01b8bcb1a358bda414723cf7a6a1ba2d8ad7bdefea62bd57ded73c6106b3bb1cfb10beb32241bd49fec73c531686bb004910be90b00bbd334ca33c10f68dbb8e94fcbd90aac2bc3ac8863c8c566ebb4900bcbd382afebb90b7d93ba4c911bb663569bd7fba4a3ae743243b71d0a0ba0015a9bcfb1dd73bee046fbb583706ba664bc13b4894223c20d4a3bb7635533a1b63153d8e0749bef1856e3f8d34ee3ef7352f3db3c74dbea855793f66cdc73e45c6063d3d0918be9bf5693f31e8923e6bf2cf3c76e1d0bdebb74a3fc6e73c3e9487b33cbd7382bdaba8233f68e1c93de189933c371c1fbd2580e93ecbd6db3c5f98903c4db2e1bcdb278d3e33c4bdbc79b5913ce900e0bccb0fdc3d7fd445bd89bc463cae6f02bd6d5a18bcfcec8bbd2ea8f8bd005fc83c0000000000000000e46002be3996dc3c0000000000000000bf49d5bdb965aa3c0000000000000000e80d9fbd3846753c0000000000000000fcaa71bd8200573c0000000000000000b9d8ffbc43e4fe3b0000000000000000ab0420bc892a5d3b000000000000000041d0213c1cbfc4ba0000000000000000f675973ca87242bb0000000000000000231768bbb836d13b8b49b53bf4ba033ccfe39ebb924e7c3c2f59a33c8fe2273c4cd885bb19fab73c96b2c63c2cf6253cd71b53bb79b7cb3c843ad33c91ca163c301fa1ba92fa913cb279873cb3e0053c561f06bbb790a63c18f9673c2894473b65074aba1aea603c8855d73b4599dcb95eab91ba15d2a63b24bde73a15a5aebaa202f9ba5dbf713afc2d93bb6b4f98ba16ce76bbaf91d3babbee363c3ed5e9bc002e01bcb5e4adba912d4e3ca19d1fbd49f2b6bb0c093abb819f143c48c245bd9e32d2bb02e3ffba70cb053cf43c60bd1a9011bb3c8ae1ba5ae9583a8f3b3abd106616bbf47a51bacf98743bf45f38bd99aa99391cd71fba407baeba104ae6bc1a53163b631d85bad6fe0bbb17ef0dbc3c51cc3aa3bdf5b90be816bab56ea43beed6cfbb7cf396bd10e78b3caacc5aba97e9a9bdb58fb7bd5d04153d5fc7d9bb2640eebdb588a7bd5b58ed3cdeab5ebb134702be8d188abdbb1ee13c9fbf87bb1c94c2bd074050bd799e763cae798bbae2c7b7bdb35dafbc5192593cbe3f95bb1b725abd2d1d7cbb6a6db43bbc7a43bb5c9ea9bc44eda63bc390ccba512414bb997a8c3bb0df603c3f7a84bb8a75dcba4252f53cd78a29be33ca353f613a323fa53b133da0002dbe1bce413f0faa203febc9d23c8fe6f9bd62aa383faf15fd3ee639b33c8081c7bdd0ce293fe8eab33eae2b7c3c67023ebddf8f023f39ee6c3e4516813cf79343bde91bd53e9cf6c83d2f01833c363defbc316d823ecafc4c3c5824863c721af7bc5d0fe93d0e0f4ebd5a571d3ce2bd01bd79bea53b242daabd28d925bedebe023d0000000000000000644d3abe2f2f133d00000000000000003acd16be5c5ad53c00000000000000007abdf8bdd22fc03c00000000000000004e65aabdcc42423c0000000000000000588f61bdfa8c4e3c0000000000000000ded4c6bcd43da33b0000000000000000ff70d93b2b1c8b3900000000000000006aa38a3c3cf1c83a0000000000000000e55a32bbb20b8a3beb2eb73b499a143c438fa1bb99056e3c87ea8b3c5e60933c66bba3bbbb73a03cd145d63ce98c8b3c89d299bb6074b73ca4bdcd3cf490563cab8935bbb68dab3c40faa63c4d4a253c0ebf3abb2ca78e3c63fe773c148fa53bf1959dba54984e3c17bfed3beb83c83a414998ba5d93a63bac22c43a4c3c3fba2fa8eab8a1f398b9109097bb9e6d9cba5fb78dbb10870ebb12e40d3c295dbebc58401cbcdcf424bb7461343c14c3fabc2195fdbb1eb17bbb25a71f3ca1761ebd5c14cabbcb990bbbae151d3cc46134bdde6897bbf4c7d3ba329faa3b8f3131bd3eb3d1ba9b0411bbf541313b22ee08bdefd933b9f17d82bac995183a52d2c3bca89e0f3b846913bac5e7c3badc6fe1bb2e6a073bdbb5a8ba4c07e1ba9f249c3b8168b23a5f21b3bdb3e8ab3ca7f577ba634886bdc742fdbd1c28363d730ee8bbc4fdd7bd8f07f3bd9f43273d4c54b4bb6da2e6bdaa84c3bd29f5073d4bd9a1bb8bd6d6bd33bd8bbdcb5ad93c4d98a8bb9d10acbd9c4719bda0ab8a3c219290bb441960bd0dd937bcd011f03becfa8dbbea41babcac1ec03be84cfdbac3583cbb1739673beb56813cb1cc1fbb6df11dbba161ce3ca4faffbdb1eff53e3d1f6b3f1ee7d93cc2b903be9c51063fa4315d3fa8afad3c8e5fd3bd7d2b093f84e0343f0c26883cace8a4bdf6ac013fd0bb053f98fb683c09257dbd7995e23ed466b13e94005e3c0a1432bd40a7b03eebc93b3e2ce5503c17970abddb766a3ecdb8513d7309513ce9abdfbca7ebda3dea3e35bd5f2d1d3cf9ece1bc4ff3663c6f44c3bd812948be1e51183d0000000000000000ad4d68befaeb3a3d0000000000000000e2b945be6789113d0000000000000000ce961dbe0e7fda3c00000000000000001e69f1bd1a3dad3c00000000000000003c8895bd870d633c00000000000000006d7105bdb856f73b0000000000000000767e0a3c60e3dcba0000000000000000ee43843cc9f4053a00000000000000005e450abbc7551e3bf06ca83b48a7653c34bfaabb5eaa3f3cd0de923c8c55b43ce5aba4bb1fb16d3c91b0d63c505cb63c968697bbf966933c3cacd53c7086933ca6b48dbb9bef983c0025a23c0ba2493c13b043bb7740883ca6ba7c3c7882003c9d67d5ba79b52f3ced19063c24c67a3bd64952ba7cdc8f3b03c22c3be7a53dbaf29373b97ad566ba591481bb84b0daba9021debbee4f1dbbd7bac53bb0895cbc46e323bcde3d45bb9d79fb3ba93f98bc3f55f6bb187893bbc4e3193c1d3feabc34adc9bb23ce77bb690ae33b01ff06bdd2da56bba10c0abb29afca3bbb6d08bd430256bb540d4bba006c9a3b641df6bc84c4d7bac85a05ba4cac843a2fd09bbc7590cd3ac3d551342f2298ba3466dcbb8822b03a6d18683afac1cabab61ab63bcd484a3bc3a0c9bdcaa4ea3c3d8566bb4e875ebdefec1abe8d83583d209b26bcae4eb1bda15717bec781273dbfb94cbb852ccfbdaae300be87b3223d09c2babbcc78b7bda0fcb6bdf103d03c534d72bb5aec9dbd696264bdfacfa73c5b52b6bb17af47bdff15c1bc9639383ca1919cbb627eb3bc54d61c3b9af8a5ba6a5c50bbbf02a13bdc608b3c5eca8abb873d8abbc1ee7d3c50029bbd8235803e7d428e3f3e0c833cfc5f9cbd6320963eaabd893fb0f2263c71247abd37b2aa3ea121643f1b03363c91e75bbde56bae3e29b9313fba08173c8a491abde2b79c3ea5eef33e8c32193c3f7d0abd2311853e1f3b8d3ed8b5113cbb36c7bca02a363e9a45dc3db87f073c420e90bc8960b93df1b1febc3247c73b068d9bbc82b13f3ca28fd3bd38095abe3156333d0000000000000000946380bed73d4c3d00000000000000000dcf53be94890f3d00000000000000000b6e37be4ecef63c0000000000000000580606bedaeea53c0000000000000000e85eb8bdd80c823c0000000000000000688c3fbdf15c113c00000000000000007e5e183ced5990bb00000000000000009d5bdf3c866644bb0000000000000000395fe3babfb6433b3692af3b1dc4963cdc4c41bbc22bc63bb5d1a73c88cbf13cea6fa6bbc1ff413cce04f43c6576e03cd33d82bb8e33783c7de3e73cc137c33c3338a6bb0c1a6c3ceb4dc33ccf31933c1c673bbb4d374e3c85e6903c2a16273c335601bb319c0d3cbbbf3d3ceeab703b390d53ba408c363b777f163baeb7f3b8ca888f39a7da42ba2c8e87bb0c502fbb47e2edbbe62602bb6f44d33ab701a4bb2e7b84bc004302bb8983a73a69c4a5ba5fe224bc3c2772bbee0c953ba3d03ebc89d30dbc6f6b6cbbb89fab3b2f8fa5bc4e12c8bbc3b4ebba9f5b043cccf6c0bce69b5ebb704a99bae017823b707ea1bc8e1e4bbbbb3d503a7671403ba5166cbcc3de333bb9937c3a5c69a7b759eaa8bb4c43573a2131783a130d0cba342e533bae11daba1fd800befdbef73c48f6bfbb968b46bd759f37beca458a3d11854fbce36aa9bd26cf39be92c04f3de426e1bb742cbdbd58361fbeeb89323d521989bb035aaebd4a5eedbd2354013d2b1295bb7f4991bd87ba93bdf9c6bb3c92f7b9bb64903fbd525508bd0512403cfd407dbb1e1a81bcbc289e3900e7c3bb1b3569bbd648c93b727db23cf059a0bbd2ed2bbba9c5c93be772b8bc92ed003deed8aa3fcbf9933b2ad5c0bce762993d68b39e3f43df8b3b889ad3bc9043153e5207883f40b7213bebe2a6bccdb23a3e9fce553f7ab1293ae61896bcc09a413ea954183fcdf5f33af96c80bcdbe32a3eeb14ba3e1b2c063bcb6b16bc3f1cf93d56581a3ec5907f3a33d9263a1e07753d54f17ebc0bbdeb3a3b10f4bb73570f3b597f01be9ceb58be3a0b293d0000000000000000a22577be2d843a3d0000000000000000b64756be7bf40e3d0000000000000000b9e938be3278dc3c0000000000000000fe1811be6872ad3c0000000000000000583fc9bd6c1b6f3c0000000000000000a10b33bd39c7ab3b0000000000000000e8209f3c048f02bc0000000000000000fafbc53c594272bb0000000000000000000000000000000000000000000000008fc117bb383e973b7314a53cd291fb3c10ea5dbb2eeb133c71ebcf3c6effe43c514684bb48402f3c390ace3c62f9b93ca6f1bcba0540303ca817aa3c94e98d3ccf6034bb8876273cfe7b8c3cb804323c22810dbb2054ef3bb2a7333c3de08a3b9e47ddb98ad8273bafb43a3b07c36c380000000000000000000000000000000000000000000000000000000000000000d513fabb1ae08dbb2da279ba22d94c3bd0c9d7bb11feabbba28a063b4b55afbbd049f9baaea393bb8e1a833bc88560bc469202bb802d25bb91df033b33d067bc336930bb2f0d62ba13f07a3b0d0b6cbc8124c7ba749d0b3ab4e9fa3a9aff0abcb34d1aba0707913a8908033bfdb290bb00000000000000000000000000000000000000000000000000000000000000000c004abdba843dbee1e7013d65b6fbba8d8d91bdb0e12fbe1150fd3ceffc973afd879dbd14851abe2d07a03cad07193be8e898bd78b4efbdbc80833cbb58cc3aaf5079bd75b6a6bdfb60803c60aca3ba798822bd002628bd8392173c068c4ebba0a467bcf0259cbb72da583bec2b3fbb000000000000000000000000000000000000000000000000000000000000803f4dc82fbba8c66d3c5fb084bd302cab3f68db77bb56de0f3c8450733c27a58c3fc8f235bb05e4da3b576a803d1c62633ff57171bba046d83bbdf4a73d46ad283f4d2040bb0290c43bd508a23dec02dc3e5f4f37bb226cc43b1100733d47ca583e77f664bb1dcea23b8a0bcf3ca1722d3c00000000000000000000000000000000000000000000000000000000000000009f361ebefd8db33c000000000000000085d80abe2614653c0000000000000000d7a5f8bd70cd073c0000000000000000ebbedabdb84dd33b0000000000000000a639aabde4a6a33b0000000000000000a20244bd74d8723b0000000000000000030852bca3ef2cba00000000000000000000000000000000000000000000000000000000000000000000000000000000450e16bb4385863c6f4fc33c618cd5bb78d707bb0e62c33c1e01c73c6e7105bc7bbe28bbfeead13c9690b13c5c79dcbb3a430aba1946c03c35cd993c6ed7e9bbcb726d3a2748bb3c1841233cc0eee5bbc60f7d3bfbf6793c4c05923bd496d0bb9407843b4110163c549127bb92c84fbb0000000000000000000000000000000000000000000000000000000000000000461509bb9fd8f33aeffcde3b2ad450bd2aad1ebb6e32be3a2e29a03b670998bd6f0a1abbfc49893a5576483b8f12aabd213fe4bac532803ae544eeb93869acbded593ab904a39639287f99bb080e9cbd1891903ad1f62a3a37b3a2bb94db6ebd5dd5563a15d1b9386c3fd0bb36cb07bd000000000000000000000000000000000000000000000000000000000000000053fe03bed800b4bb11e74b3c0d3de6bbb3e501be5538a53bc407443c5548d0bb8bf1f2bd7110043c86c6303c7266b1bb1f5dc5bd7912393ce2e31d3cbefd99bb71c190bde33c913c7dd9ac3b12f24cbb01911abd83b6873ce340d73a00973fbb7200d9bb7e90793c4968e1ba60db9b380000000000000000000000000000000000000000000000000000803f00000000fc227cbba76b9ebbc3c7993fc1ccadbdbac3c1bbea936c3d72b2803f3561c4bd4e13bbbb3d8fc73d573b513f8188ccbde1c7b2bbfb9eee3d98661f3f04dad0bd497e15bbee48e43d6eaadc3e006fcebdf276dfba15e3ae3dfadf773e6895aabd52656db8a6e7453de83d773df3bd84bd0000000000000000000000000000000000000000000000000000000000000000191004bc198a253c00000000000000004b3a0abc4429423c0000000000000000ad3f19bc65312f3c0000000000000000b783f9bbcaf40d3c000000000000000001fef8394611d43b000000000000000018c8073c50a72f3b0000000000000000af536b3c8cf377bb000000000000000000000000000000000000000000000000f0184a39a6edf03a19ff5a3c554df2ba6fd3293a5739ab3cd6fdd23c110156bc862f6b39fcbfe73ce684dd3ce0cc52bc049c4bbafcb9023dea86c23cf32445bca3261439272ef03cba4b9f3c151331bcbd44863b0ca2da3c9a6a383cb12d27bc1477703b9a38a03c7fd8e03a123ebcbb06bc603b5fd0e03b52c8b3bb98676139d64d493b471d5037cd92d0bb30a097b94aae4eba77906b3a68cc3f3af45f21bcb9ebbbba64552e3b02deee3a792d58bd04696cba3367f03a5c937b3b25479cbd4eb1bfbae9df093bad8c6a3b0b1eb3bd570170bac094403a6781ae3a3e07b3bddbb80e3ad7b1ad3aae7819bb8747a6bd6df6aa392e42403aaec31cbb89a180bdd145223bf5fd34baffdf8d39a786eabcd093993a75857f381d77bdba441ebcbb3d348ebd6275d9bcb4ab283cbe5b87bb4bf402bebb8eaabbb7d1863ce7c90ebc334815bedb13cdba12f0873c9a5c11bc81e508be46c3aa3b74bb683c22100abc2a4ee3bdcd642b3c8025383c7dc0b9bbd6fda4bd661a8f3cd1e4de3b2c35c4bbf9992fbd28f5ae3cdbb7f539afcf11bbd8c186bb176c533ce51199bbb82210ba4bef8b3cd06a283cc05284bb84b5113a0f71b13be577e0bd8f83993f2ce7be3db5d21f3cca9a9fbda2d3953f6250e03cf0c1f7bb91bcf23bc7e7813f5acdc3bbecb282bca6e3813d00d6533fd1a116bded3d92bc6b8dc33dccfc203f55d36abd864395bcc5cacc3d376be03e81419cbd1ca560bcb08da33d9ef97d3e4bd6a3bd9dde37bc74d6163d16c3923d48be7abda2aed1bbea0fa13b41d177bd557d45bd264110bdd2722b3c0000000000000000179c02bd8360793c00000000000000000b29ecbc6b95863c00000000000000005f4ed1bc818e903c00000000000000001c0293bc218b593c0000000000000000eea7f8bb1d71313c00000000000000004ec0ae3b2b8f2e3b000000000000000099ca843cf69986bb00000000000000007e338c3ca8dea2bb000000000000000033f8e03ae79dbbba1577613cf62ab9ba68f19dbaf5df4c3c14c7ca3c851093bb70c983bb3b08783c29cce53c717fd9bab0173bbb06c1d43ce06ee53c1b8e0abc462e31bbbdb3ac3cebaaab3cf4399ebb58de3e3a833fc03c343b773ce6cb16bc3e9d0d3b4328883cff31c83bed05acbb4ee9023b790f173c89c11ebb50d818bb9504323bf5f24638b56ca8bb20e69abad2921bbae0c3173a2953b9bb80bc4eba72e394bb9bf1e53a11782d3b59030fbd99cca5bb7a8ebd3a3a7ae63bb9cf3ebd1c192bbb6ae5503a94e8d23b74e691bdc57b34bb441f8d3a6682053c483e87bd935699b9f1e7443aa4c7133b9a8095bdcc08f8ba5be7ac3a60fb6ab90b055dbd810bc23a96eda03835a2a93a2d620bbdc764f73a7183cb39525ab8b67e10f0bb93be2cbd93171bbd4304283c953d68bb270cdcbd1b9e18bdcad3af3cbdcfccbbb5c4f5bdd8bf06bd0f8b9a3c2214abbb5bb307beaec67fbce58f9d3ca645ebbb9e5cdbbda28dcdbbe8cb6d3c4c46a5bb03c1abbdf8e5cf3bf745393c07ffbebbc36d4fbdd7083f3c2195063c784483bb699e26bc85cf593cf06c21bb6c71f9ba8b1d513c78e2323c05f05dbbb90901bbd529443c2f2d02be40c7823f587d8c3eeffd583c8a83e2bd2b4d853f7505543e42f91cbce1d7a0bc164c613f5d921c3e8a7780bc37ea9b3cd74a483f6831983d2a6f98bc709d543d86a3183f98aefb3ce8cba4bc56388d3df659e13e538bd7bc6f8869bc61f9773d728a863e5ce238bd756f37bcaece043d8dafc83d20d486bd5ee70abc457bbc3b0b20dbbcd10568bd304888bd03a16f3c0000000000000000e265a3bdc3a3be3c00000000000000002c4a89bd4472913c000000000000000034be6fbd07adb93c000000000000000086af3cbdb67a7f3c000000000000000043aff2bc45f2803c0000000000000000ffde8fbc68d52a3c00000000000000009c30d73b01925b3b000000000000000025f3503cf3ee7c3a000000000000000024f0333b3821d7bb6bf33a3c404d803b6b24a0baf3159c3b5c2fe53c63322338011c36bb270b883c2e53013ddcca86bb399f8fbb124aa43c1f39fc3c6c4ec2bb09a26dbba9deb83c9f13d73c73bcacbb432478ba0873b73c44f7833cc33706bc52a78b3a3d1d933cc47b243c0a59fdbb8ec9303b55ae263c30bee4ba556b95bbd714423bc484853b3bdadcbbc4beeaba636427bb15a8a5b91acba1bb95a94c3b5cd58bbbf8018339569c383a8924acbc92954dbbb4f530b97e979c3bde452cbd2eb48bbbb84a843a498f1c3cd58360bd8a5782bb80d21d3a16e8da3b01d27dbd737940ba0cbb5f3a4479d03b507481bd79626539d93ffb3900885b3b83fc5dbdfb7e903a3ece853af7c28fb926cd0abde3d1ae3a77d6be394b64efba36fa44bc34f9cfbcef7760bd46fb0c3cdd42b03afd10bcbd196a73bd268cb43c2074a1bb0d2700bed2394ebd0f85c13c0d2dacbbfbd802bec50a0abd1ef2b83c18beccbb520bebbd96e6aebcd96aa23cd484bcbb1b99b4bd00ab09bb3c80733cd8aedebba2c45fbd39bbbd3ba1c3073c1af3a3bb4f9e8dbc5aca853c7baa343bd34a9fbb057ae43bd9a9803ca46d41bbb24713bb88671b3cd84cfbbd74a3593f7bd8ec3ee0e0363c456ce8bd7729613f74eacb3e927088bbe22866bd211d503fda64983e82c96bbc0cd1f6bbe62a333fd1cf4d3e5912adbcc2bbfa3c4cf9103fa4cbe73de880aebca388383d6d8fd63e10d31a3d692e95bc7865383d24de863ed30da3bcb16b55bcb5f8f53cf253e73dc54a6fbddbbb14bc8e10323c968005bc673290bd4fb7c1bdddbf753c0000000000000000c684f3bdc9b2e43c0000000000000000bfe4d6bdf8f0e33c00000000000000001f65b9bd3a68db3c00000000000000000b4c96bdd8c2c83c0000000000000000f0fe58bda621ae3c0000000000000000f354f1bc8365893c00000000000000009ac2d0bb187fe73b000000000000000013b5c53bcddbe03b000000000000000010b0163b4d4bf9bb3556393cb469c53b4e0bf2bac0374a3bc37cd53c59c8a43b2202a6bb5791093caffcf33ca6da743b07dd9abbb6bb783cfa9d0c3d2410c33974c1dfbb84ec1b3c6c8ab53cd41f403b802a40bb81f2a53c8e96b63c9e30c7bb6efa18ba1a40853c70580b3ced31b8bb4401493a684a353c829a313a12f0aabb7c6e0e3b67d3af3ba5cdbcbb31d39fbbee4736bbf60a6eba1ed2f3bbe43dd13bdcc1d1bbea20fdb9d06cc53ae1d13bbc956dd3bb620555b76f6dea3bd918cebc942fe0bb05dd31b966ee013c5f1422bd671d7bbb859ea8b8a245323c5e8f0bbd32e729bbc33c67392de7063c0aef5abdf30c8ab967ec323aae16a63b75a03dbd2611833a1d6f5c3adca6dd3ace6e03bdfd860e3bfab2ae39a59a82ba188c6ebcbc978bbc219682bddeaf9d3b22766a3b216ca1bd599fa3bd29e0b53c65cc7ebad7a5e1bd60ef8bbdf5e1b13c151adfbadfcb00be2ab064bd5464ca3c5c6248bb490fc1bd26b420bdb2b2893c575e8dbad71cc1bdccd173bc5213943cca7cbfbbe3636bbd2e802c3be9e3263c10aea9bb07bfb2bc10c3593c6c35703b5046a6bbbe53983b2cc0973c618942395a7163bb570b1a3cee63e2bdd8832b3f9ef6253f26472c3ca2dfdbbd7e3b343f0fdb153faa16c9bbc52368bdca03293f4223ec3e4c8079bc3ff5abbc1fb41a3fc830ac3e29b28abc629ba03c3093ea3e6bb66a3e238bb8bcfc01e73c338ec63ee8dadd3dceb28fbc88c1063d19c87d3e653cdb3c3a7f4ebc92e4c53ca679ef3dafb937bd3fe405bc57df2f3c9815ba3ba7b09dbd638ee3bd149f833c0000000000000000df0017be33f0f23c000000000000000019eb01bea583d23c0000000000000000c0a3f3bd81e9ea3c000000000000000085cbb1bd59fe633c000000000000000029789dbde460d13c0000000000000000865e42bd73d0953c0000000000000000874091bc78364e3c0000000000000000c0e7d7baa3a51e3c000000000000000035c7123b37f407bc7b70113c310b1a3c67e26cba15a94fb99874df3cc987273c0a3281bbeb31bf3b4a8e103d82fae23b0393afbb9a403f3cb9640f3dbdcce83a0ef5abbbaf8c7b3c31cb013d5d2a9b392f136bbb1bbb8f3c676db43c38e998bb05abcaba8c46943c4202433c7ed9d0bb8d8bc43aa57c2f3cadf6a73941eeb3bb227adb39085cf93bf400a3bbf38caabb54ba61bbbfef54ba62a6b1bbb6e3f03baac00bbc25396bba080234ba4e19bbbbc4b503bcaaa984bac7bcc93bc9e685bc94e3d2bb520711b9b2db1c3c8abce9bcdf93cbbb6e3693b9d3561f3c9ffd14bdf6a106bb31a244390171093c4e7b2bbd533986ba59832a3a8083e63b849c25bd88b2053b4afc6c3a5b31733bc515febcf931dc3a5d2a5c3a33a60aba2b7776bc70d517bc21ee8ebdfd0a093bcd1c823b1f2f96bd72d0c7bd498aab3c1c68bb3aff84e0bd630dbcbd3d68cd3ca4d44d38b384f4bdbec794bd48fdd33c8ab631bb5970e9bd6f3258bdd59ac53cb19129bbb02dc1bdb845ccbc5d938f3c32d1afbbcc7e84bd11d364bb923a5c3cb7e6c1bba508d3bc77eb673c9aa07a3b0381dabbc170e93af84b9b3cd9da70ba6e1f7cbbf1831f3c12b9c3bdea4ff83e41dc543f30e64c3cfcbdc4bd48c6063fea67473f9b0e3cbbec417dbd5990063ff97b223f660545bc8b7501bdb5bafa3e1020f43ecf4c91bc4b439dbb1ebcda3e9653a63e5ba690bc863d003c9f98ad3e591c3e3e90e086bc4381813cf07e6d3e7688863de79b43bcab514f3c44d7e43dcaecd7bc5136bbbb1ed0ff3b5ce4693c86e5a5bd383900be1348913c000000000000000068e62cbec7fcff3c0000000000000000d81a20beb5aaed3c0000000000000000bb600fbe04d8ee3c00000000000000007d92f4bd42f8db3c0000000000000000ef4dbebd252bde3c0000000000000000d6e483bdc4d8bd3c00000000000000004cc2e0bc20307e3c00000000000000001351b3bb6083533c0000000000000000ee86e03a28b0cbbbb14b473c5b301a3cb1868b395e110bbb0b64e93c5270483c01485fbb58cb593abd4ffd3c9251543c458e92bb85bdfc3b3f36173d1ac4df3bb765cebbb024113c0ec4ea3c8f179e3bbe1b8bbbc668783c3f73ca3c5cb841bbacdf6abb992f4e3c6c9f743c86fb3dbb70264fbb3d06533c1ce4143aac6c8fbb7a52a13af7e9b73b737eddbb501da4bbd305b9bbf712233831bc8bbb3c3e2b3bceb11ebc2ccf5dbaa587bb3877ad62bb228200bcd538c2ba6866cf3bba0efebb6ab2f4bb568fd2baacfe0f3c509e91bcd488bdbba3c934bab8b5413c5738a9bc6b8b78bbe213c23857342f3c63ebfebcfc8c2ebb27e2ce392c9f023cedb8efbcb8a81c3b12b13c3a79eccd3be8b5b8bcbc251c3b6417a03a17af943a687639bc9e901cbc273c99bd6cdc9e3bf4a5563b5d9c8bbdf0cae9bd59c2bb3c0ebbcc3adf65bdbd249cd7bdb89c9e3c0db2443b84d2eebd9380bebd3ea1d53c3ebeca396978d5bdc2b284bd437ea53c3220b4b747fac4bd49ab1abd5ac2b83c87b697bb327282bdc35878bc71e4603c11df41bb38bcdcbcebd7263cdfca8f3ba3a7f2bb960a8c3b3b05b13ce2a8443a52c4c8bb7ba3433c956c95bd20b4973e2e05813f14eb403c0b1a9abd4806b03e0821773f7340b5bb1af72ebde2eab93e3392453f1889febb87c202bdffc9bb3e7ef91d3f79c680bcb54e3bbc8cdba53edaa5dd3e9cc37dbc9d7598bb99328f3e28e2883e079e63bc7c1e383c7732413ed4d2063e44ad0ebc4de0093bd19fcb3df35400bce49795bbb55d483a5537363caef4a9bded5d09bebaa5a43c0000000000000000b21f3abe14c9013d0000000000000000e28718becc68a63c000000000000000059bf1cbecf10da3c0000000000000000f923fbbdaf9fa53c0000000000000000c172e0bd86f3d53c000000000000000024899abdebb39a3c0000000000000000930315bd33c3893c0000000000000000f305f9bbfbd04b3c0000000000000000d4f6543b10b2d1bbf36df33bfd2a6a3c68f70c3ac237deba8348063d076b753c891f17bba26e9b3a84cc1f3d584b553cd2209dbb2009843b886b263d01402b3c6a39b6bbf1f20a3c23850d3d1b2eca3b886eacbb6599543c150fe23c85aca338d8593cbbd82c653c5c2f7b3c47248ebb1f7de9ba6fc51f3c081dd93a80a1b5bbbb1a86b9ec42c33bb04ba2bbbfd48ebb3dedb8bbd00b17bad05ca5bb42f18a3b1de94fbcbffa7bb96dd37b392e03ecba5a612fbc2cf502bbcf83a23b50132ebb923e22bcc7cfcaba162afd3b0761e3bb6f9800bc4d538fba60d6313cdafd64bc94409dbb0f122dba8dd4243cc057a4bc6eee18bbd65d073a807e1e3c456bbdbc2f45363b56f7153a2ea2fc3b24d98dbc09acea3af4b1bf3a17ac4f3b232633bc4e0b1dbc61eeb9bd3ee42ab99995793ba36790bd08f004bef3f8c93c84d0013b6eb6d0bdbf9c05beb230d93c54239d3b4504e9bde05de5bd05a9d33c197e4f3be106dfbd3480adbd6824c93cbe5eff3a5815c4bdf1885bbdd267b83c06e901bb84a38bbd7b79a4bca654963ceb90a1bbeb49d2bc80b3173c37fe5b3bcf0bd1bbfcf5913aed25b83c34213c3ac53fcebb89c5483ccf103ebd629dea3deaef983fd9292b3cfecf30bd82ec233e7fea8f3f832cf03902d615bdaa59613e933a713f5375ecbbe279dbbcd7d57b3e0b723d3f97ac35bc251781bc90e4743eda67093f91fc59bceb8428bcf3e8573e8a25b23efb122cbc3702ecbb59f31e3eda3b2c3e63d4dcbbd981f7bb90ec963deb114e3c290630bb5ccce1baaed31b3cf365b7bdc304fdbd76ac8c3c00000000000000004d0c2fbecf43fb3c0000000000000000829e23be856ba53c0000000000000000f15d1abe2398ac3c0000000000000000f76b08be2ef0963c0000000000000000da6dedbd2e0ab83c00000000000000002c9fb0bd2ed8a93c000000000000000028481ebdd301843c0000000000000000016391bc0421653c00000000000000000000000000000000000000000000000046603c3ac65abfbb853a9e3cd038a63cc90422bb1a76b1bb1b70f33c65bd973c11aca8bb213604bb4fade33c29608b3c2569b5bb72762ab99ec9e53c8890433cb9129dbb0cbc433b2be9c83c0295f43bc5f99abba2dfee3b7dc3853c8eb7be3a702628bb49f30e3cc910fc3b24bd54bb0000000000000000000000000000000000000000000000000000000000000000f955c2bbea47e8baa98f58b73343e03b3997dbbbc1e901bb557db13b8385ca3b3c1e8fbb220b3bbb6e1a223c797a683b20436ebb47e60abbacaa223c39e333b990528fbbf1c3a0ba3ece493c7e55dcbbd2821bbb1a41c0b9ddee1b3c40c640bc076962ba9cbaf2390574af3b7b8d37bc0000000000000000000000000000000000000000000000000000000000000000123b54bddc1c00bea53a2d3b76f9aa3b80c99dbd74a1f8bdd97f213c98d4b63b844baebd97dbe1bdcc3c203cfb95c63b8015b4bd6207b3bd33ad4c3c0739913b0f71a1bd5dc182bd962e793c187e2e3b87f670bd566302bd969e4a3c0551b6b9e1ef09bdcd858dbb1fc7113c481c0abb000000000000000000000000000000000000000000000000000000000000803f90aaa53b596d8ebc3a27a13c20cf983f71d513bb7d6471bcba68a23d059c7d3f437014bcac2e26bc4e81f23db2824c3f01b11ebc2814f8bbce6b093e43651a3fa78f53bc8aaa0ebb32c3013e4480d33e018b24bc94c509bb488fc83dc1056a3e6776b1bb23383038f58a583d95a55b3d0000000000000000000000000000000000000000000000000000000000000000667ecfbd785cb03b000000000000000004f0d4bd2de4863b00000000000000002695d3bd79e406ba000000000000000007c3cfbd9cc09bb900000000000000000eb8c3bd4e2c623b0000000000000000266198bddaeeeb3b0000000000000000f8ba54bd9eb31e3c0000000000000000000000000000000000000000000000000000000000000000000000000000000005b735bc6f83843c1711363d085fea3a24745fbbb32d853cfb8d1f3d1f1e0b3ce7007cbac911963c811cf23c6340623c5d719a3bbcc94d3cbd48c13c7a3a3d3c88ebb13bfcb1ea3bae1e563ca339353c57077b3bd2b8633b772aa63b5580103cfcb3f13ace40fdb82c3dcfba2834a03b00000000000000000000000000000000000000000000000000000000000000003319bdbac39795bb8022133c0e3100bc67d62a3a18ef93bb7a9a633bba940ebd7a42cf3a5cffbebb7627da3aa08b4dbdd8b5bb3a922a8ebb25bc72bbefa94dbd4ab3a93ae8eca7bb8060debb3e2b31bd1014aa3a6abb1bbb8ea6dbbbf372f0bc65deddbae9e173badac100bc5008d0bb00000000000000000000000000000000000000000000000000000000000000003efa72bee673043db8a70dbb166449bb2bbe60be8ceea23cd319afbb2dde93bada9850be63ca033c1e2daebb388210b8b67c26be988ea73b8b8a16bc697f393a461adbbd53d51bbaf2e5c6bbb67eb13a33295cbd3288d5bbf461f4bb65133c3ba5d0d6bb8118c6bb76858dbbafee3b3b0000000000000000000000000000000000000000000000000000803f000000002990b73c3de6f4bdf782af3f739b1bbeeb3f7a3cc2c024bd52e58f3f8441dfbdaa0b5a3c98af04bc9487703ffd3cc0bd6f13493c4e1f983ce4ba313fd6018bbda2424b3cbc4f163d08b5df3ee9a813bd4a5be83bc289253dcf3b573e42616cbbddb48d3b4142e53c97aff5bb2b99b43c0000000000000000000000000000000000000000000000000000000000000000c210ef3c09a131bb000000000000000016e2a83c411fe33a00000000000000007b4a8d3cdd88263b0000000000000000361d833c45de3c3b000000000000000052d3083c9276263b0000000000000000e25c463b038e303b0000000000000000b1d3fabafb4063ba000000000000000000000000000000000000000000000000ab1040bc3b85593ce751833cdb4c033931554dbc8245813c573d013de9dc6d3b8d33b9bba479bb3c1c08143d5faa3e3c4a22e13936eda43c4a88083d844f773cd408383b345c993cbe47af3c0894603c72cfb03bb03e513c3c1d7c3c0514783ce45b803b1650183c53074a3b7bc0443c9408133bc4d2a93b990f4fbb8f81eb3beac2b5ba5a5e4c3a2e0812bcdbd3bb39d52d35bb888a3cbb910c6a3cb272303b156f29bb40e12dbbe681723cace522bc630bdbb8e42d17bc8cb5703cf73e2ebdbb51833ab92d24bc6224143c8eb654bdb83e973b7ca8efbb682d483bc8515dbdb4e2a73abe41e6bbc74037bbfe1d3fbd32078a3a92fcbebbd52b8cbb3cd3f5bcccb305b91f2c66bb510fe4bbb6e84abcd537c6ba30072dba0996f1bb4ac85c3c81e0f8bd7e868e3c66b59439931203bbfdd43abea90a873c88f8bcbbb620863ac16466beda040a3c3f2281bb8bb9ce3926165abe33a6c73a0045e1bb51d0b43ade562dbe77b5dabae6ba2bbc0b07443bab5bfcbd3717d6bbbf2e2cbcb0d8ac3b8a547ebdc29829bc19ba0fbc01659c3becc19ebc634f0ebcb9a564bb0ba8ba3b3d71903c385002bad4f8cabaf18e663b27b6423dde6f7abee59eae3f209d9ebbc85c193dbad833be54f19b3fb2b4183cdbd3ee3c7ba509be8704933f12b3b9bccaf5d23c4629b3bd2818743f29f9d2bc867dae3c804241bdd76a383fec09afbc6b91993ce1f06cbcc5b5f03ec9589cbbfddf4e3cd763593b65776a3ec85e323c5761a23bfa4d4f3c4ca0523d6fd4b93c70aede3ba3eb47bb8637e7bd1678963c1ebc84ba076df2390000000000000000d89f813970255c3b000000000000000097b5443ba7b4e33b0000000000000000ef22883b136e243c0000000000000000a741443bf8c8de3b00000000000000008f83133b91c1cb3b0000000000000000f70fe8ba1eab833b00000000000000006bb216bcc774433b0000000000000000c3126bbb2cc4faba00000000000000009a3bf7bbe63dd73bf6759a3b9ced9f3b146e1fbcc6b6923c972cab3c2601523c3c79a2bb0f55bc3c4b7bd53c3a848c3ca4bab2b992e5ac3ce4a2c83c7240943cfb48883b9f99723c8f929f3c7a127b3c141b133b1215813c62ea183c615c823cf4b1533b2dfae03b6177683bae8b0d3cc452033b774bea3bbcfe91bbfcf6803bdee2ee39515d373a3d9704bcc25ea03a1fbb80bb14c93dbb6558933c0f4029bca9fbb4baf3eceabb3cc9bd3c9dfcd5bca593423aa7b62cbc0481ae3cab0848bdccd06d3b5e6922bc7ce6813c672665bdd25f673b3a7606bc592a253c86395fbd9742183b046036bc9698c33bb06c3bbd33bd163bf33db3bbb91380bafb03e5bc80c8233bde65abbb9171adbb685a12bc7c5cd7b9e03c2ebbfeb5a9bb3454f33ba0e47ebdb6ab28bbb908833aa7dd8e3a331322be263767bc45ab87ba2bc3db3adaa147be7a9e82bce03c72bbc657753b964046be96d684bc0c3fd0bb981d093b653e23be192371bcf89b08bc625e663b00f2f4bd4d5c4fbc6010f3bbb332b43b927982bdbea00ebc1f59f1bb46e99f3bc022c6bcc9e662bb987788bbb9a28e3b541bc63bb133303b232647b9df528d3b06383c3dcf0470be3f918f3fecbd633e5d85313dacf865beae19933fb377303e4d63113d07e836beecb9883f9c0be73d7514f33c5d7509be3cfa673f9a0d993d5155da3c507bb4bd54c0323fdd72343ddc9dad3c89df5bbd537ef03e7df0043d4899813cf433dabc99f0773ed8eaad3c88e7413cf87b52bc76146e3d97747e3c511ad23b829e6fbc617459bdc28808bb0f9c4cbdb93a453c0000000000000000cfe22ebd638a4c3c000000000000000073f0d6bc268c563c0000000000000000ba7e88bcd30d3c3c000000000000000025801bbc5b181d3c0000000000000000d2290ebc72ed0e3c00000000000000004ee3cbbb052cbb3b0000000000000000dba9f2bb95de783b00000000000000008efaa0bb022e48390000000000000000dff82dbb02d7423b0f89363baa6a413c63a6ecbbce9e423cd1ee853cbbd9903c53e0f8ba7418903cdd05af3cdf79b93c50532d3ba4e98b3c644f9f3c0edfae3cf6972d3b98de903ced1a533c8f5a9c3c924cb33b2c55313cec7f173cb661773cadfba93bd34b3a3c10df64ba4856243cc1ec063b38318e3b26727dbbc0eda43b282dd53a45b2003a0a34c4bbc57709bb00b9d2bb11a3acbbd994a43cdb1ea8bc339ae0379b5e0cbcf964c83cd68cebbc0019a73971d226bc942fc43cbf2343bd4c77363b9ad33abc64a4a03c41546abdc8fe7c3b5ecb1bbc265e5d3c9b6364bd3995633b3ec41abc4604063c995a3cbd4a6c873be52b24bc22a12d3bf54f02bdb6cf7a3aee95bcbb767840bb982728bc373b983a16d45dbb0c7015bbe8c19f3b631725bd6a0400bdd32ddb3bc598853b0cb1febdd6d04fbd96e8c03b32ef193b5b6b29be2cf45ebd79cc613b6239003bdf6229be939e32bdac997fbbf7a6ad3b8a8615be49910bbd32bcd2bb5cec243b304adebd89ddacbc7d531cbc05f8c43b5a8882bd7def3ebc9caf05bcef36c43b39bfd7bca3432439003986bb2efb723b3fc8823b441a233cb6bdf4ba625e473b90751c3d90065ebe59c4703fc56de83e2dd0243d1eb75ebe04c7753f0356cd3eee9e063d02023abe65e86a3f29839d3e9441e13c7e8810be547f4c3f3b4d5a3e9ec3cb3c6dbfd8bde37f233fec2f0c3e2d10a33c4baa8ebda163e23ed088a63df36e783c5e8d27bd533b793e9e490f3dc6ed423cf295d6bc5a24a43db2e782b90988173cbfd0f6bce98d0abd8d9706bd30b6d7bd1ee7b33c000000000000000068b8cbbdd71adf3c0000000000000000181298bda96bc93c0000000000000000512340bd7992a93c00000000000000009bfdf1bc1baa8a3c0000000000000000b99696bc51be3f3c0000000000000000716df3bb2125083c000000000000000000b90cbb40bebb3b0000000000000000b361863b943e633a00000000000000009c3770bb5f8f203a7654d43ad656763ca0845ebb3391f33b1cba653c4da4b53c1f9600bbade94a3cf19b9f3c5b59d23c5a2db6b9b1e18f3c38387b3cd1e8bb3c66f88e3b88835f3cf3e60b3c55c6923c58109b3bd49f373c2008003c66616f3c705e7e3b2545f63b7579893ace73073c6c45ec3a1e5eac3b84c785bbb650913b5e6803b791a3103bb9cbe3bb4e4482bad5ee47bb61dcf4bbd077963cfa9ea6bc77241ebb36eb0dbc8925b33c53afdcbcc966bc3a30432abc4bc5ad3cb75228bd97eb4a3b91991fbcddf9b03c4d3555bd6885593b123ef8bb3873633caa0958bd5571753b779922bce7c05b3c534a48bdb21e443bf738d5bb62f3943bbf7201bd7e69dd3a9dc5f3bbdcd5123bbd2463bc83138dbac66d92bbf619cfba0903813b2e3484bce67479bd0555503c677ba83b8728bbbda38cbabd3dab813c9664823bd23608bee869c5bd831e4e3cf4b8413ba8ac0ebe654fa2bd7e4f2d3bc1020f3b19d8edbd75b45ebd0b8499ba7e57433b9ce3c8bd26a000bd2c78bfbb7a59513bb51067bd465c50bccd7407bce604733b66bec6bc15ad143b8a9382bb6b10683b8532af3a74ee683c9aec8138d205963bfab4ef3cfcab35be4ad5323f6260353f667cf23c474f35be4ff93a3fbb52253ffa4ccc3c4be81bbed1d3363f778e073f4daaaf3cb6ec03bed92d273f8daac33e4cdc733cd665b3bdea8f053f1480813e78918d3cefbc95bdab50ca3ef4c9073ec217463c50683abdc6ac693e929b423d31eb1d3caac6fcbc795ab43d10d34abca570dd3ba2eae9bcd0af7bbcf9a76fbda26f25be16c80d3d0000000000000000d03b21be176b183d0000000000000000767000beaff5083d00000000000000003e53b2bd0d01e53c000000000000000043716cbdaca8b33c00000000000000005ae8dabccd067a3c0000000000000000480806bc15352e3c00000000000000008ded273b6f6a923b000000000000000046c1193ca92e743a000000000000000003c1b8baa58f5dbb0656553913c6843c5aacb7bbc65d343bf61c453c9370ed3c166828bb4db5093c81bb923ce50ef43c3394fa3921b4243cf6798f3c5f81d53c3db4c83a6b54583c9f82463ce8b8b43ca8a04f3bea14273cf218f23b552a853c45b8753b16f19c3bb05f773ba217003c02286c3be403a83b2ec734bb023c053b61f11a39cdad84ba47c7cfbb61d6b8ba97fe84bbcca9d2bba356763c23cc63bcd55129bad1e429bcd332923ceab68bbc565a1a3b42552dbce2b2a23cd6f0eebc50248e3b55031fbc07af983c7e3321bdda8b783b366210bc3412803cc48030bd8dda313b53fd1fbc591e553c495724bd11b6843b690d03bc204ef73bfd57ecbcbff7303bef25fabb4637323b19a078bc17192eba3d78b5bb9f005a3aa54d713a6d11103bf0aaa8bdcdb8883c556fb23bb1d377bd55950bbe162fda3cb10a823b061ccfbd70cf10be08f1893cfc1a853bd472e4bd048af5bd93860f3c64ed993b8415d9bd3fd3aebdbd092d3b4fc9283a115db0bdf3e147bda54067bb135a633b37d965bd8c959bbc8ac0c4bbef2bec3a3b89c8bcb381683b74fd94bbbb4d333b40b02d3bb0889b3c3cd2c93a0b6d473b1639763c97ecf1bdf96de13e33a1733f9ab79f3ca62bffbd64f8f53ece69633f81db7f3cd135efbdfe68fd3e8822403f6703663c231fc9bdaf14ee3ea15f113f2ce65a3c31cfa8bde833d23ea0f5c13e91e61b3c047288bdfec0a43e29d6543e4167283ceb1d41bdc28f543e04bf973dc1f3fb3b174a0abd2c3bba3dac8b8dbc65f6af3b99f7d9bcd3234f3a2253a8bd75b150be1287303d0000000000000000bec652beb77b433d0000000000000000fa162cbe9ffa283d00000000000000005938fdbd8c38053d00000000000000003c54a1bdfb5bd43c00000000000000000ae620bd1290943c0000000000000000cab72abcd771243c0000000000000000bcd3073c150d943b0000000000000000b9dc453c0430023b00000000000000002db325bbd08ef0bb73bd113ac3ff9a3c7ddfb5bb7e035dbaa8bf1c3c033b073d697396bb7a7c6a3b1a7f953c5660133d5cc727bb562eeb3b02ec8c3ca4ccfd3ca551a4b9226eda3b0699423c20e1bc3c5b3b383b1db4bf3b6fa5093c0008843ce06f0a3bbe50c23b5aa9573b3baff13b82e8af3aaf1a1b3bdac902bb895b643b4007c83ab01d54b8adb180bbb9d847bb603997bba110e2bbd4cb413c52e9dfbbf9662bba98e123bcf50d693c016c0abc4f660d3be87534bc28a37d3cf64d5fbc05378c3b70c117bc39c2833c97d9d2bcc31d973b2431f2bbda54643cd727f7bc0888113b2f22f8bb040f653c431f03bd98375a3bf89207bc5a1d133c5ef9d1bc431b9f3a59a5babb5682a53b996f5fbc70daf3b97d4467bb919ae93a218f2dbb2fcf873c0603c8bdd434e23c3b2e773b1314fdbcabf733bea380103db85ada3aaca48dbd479341bedfaede3c58bf563b68ada6bdeb8e27beba90813ca654193b6b48a4bd48f8f1bd55860e3ca51946ba133f8abd791e96bdfa419838df2cc3b919973bbd56fee7bc87e844bba4abe839711eb2bc95529b3aae0e4abb43a8dcba16371a3b99d9a93c3c68d3b90bb77fb9cd4fe73b8cdd70bd79d0533ee52b903f70e3da3bbcf088bd68bf773e85db8c3f71f6bc3b2f9383bdabf2893e1631743f4abccd3bd07577bddfc28f3e2a9a3d3f8ddfc43b5e3d50bdc613873e1a65033f99dfee3bf4a03dbdc9566a3ee195973ef647773baab90abdcfd9273e6dabdb3d5fc0df3b7fa2dbbcc3cdaa3de10d89bce98c253be1569abcdb26343c0257c0bd8e0362be2cd7423d000000000000000028086dbe4f185b3d00000000000000004e1d4abeed313c3d0000000000000000c12b16bec6db143d0000000000000000957fcebd0f52e73c000000000000000097994ebddaf9a93c000000000000000076662cbcfa28253c0000000000000000be21423c135eac3b00000000000000007096c13cd70bbbba0000000000000000965281bbd362cfbb3298093b4387c63ccefb90bb0f4fbebb30d4473cbb39163d24e0a4bb1f5adebad1eca83cc4e5203d2b2385bb5c614b3baf719c3c40ad083dce18cdb998b9a43b4eea883cedf1b83c2113d23ab0bf3b3bb9051b3c95779c3c34f3b93ad0c1343b70aba93b8d030d3c6ae43d3bb8c7d93a37acbdb900bfb33a8c16803958e231bada1799bb9e58afbb09da67bb7d3107bc5534883b97fcfb3bbd0140bb129a32bc9422ef3b4a0a723b00153b3b90af05bc5b8d233c79bc0ebb1fdc843b4b75d5bbe4ad2c3c66121ebc5830513b856f4ebbdc04103c95d587bc95ce013b75bb60bbb3af323cd4acadbcc64e553b22786ebbea9dce3bcff08ebc5d414b3a7c78e7bae62e8d3b699030bca6d369bac0a083bba379883aeb0214bba422973c1aa414be3353223d34fec13a2b5229bc883047be35013a3d495f2dbbdb0b42bd385466bee090063d52f8fbbacee571bd21774cbeb36fa43cbc5cfebaf1ee7abdd21d1abed118373cf91663bbd7c157bd1b25c6bd181ce53ae60e84bbf78a11bd0ddb32bd5f6a8ebb266246bbf0c590bc970696bb7cb0b6bb3c793dbb330edc3b4db4f53c23f98439933bcfba64ae9cbba2cdacbbf5a785bc02efae3fef198abb7caf93bcd3196d3d9c99983fbbe890baef39bbbcfd04b63dec7a8b3f071e1cbbe141c3bc5b84f23d212a5e3f0b581eba15a4b3bc45ae073e795f1f3fa23f84ba1856b9bc8f57053e59c0c03edded553b4602a8bc7414d83d28ce1e3e36c7d93a8cfb9dbc92da873d5ccaa23b2365fb3a97accebb0ceddf3bd9430bbe814d73bead38493d0000000000000000f96149bef8853f3d0000000000000000a06138bed3ae203d0000000000000000562310be3cb50a3d00000000000000009192c8bde3f0cb3c00000000000000006e5f4ebd7883833c000000000000000030ab2dbc7da8043c00000000000000007cf89f3c94acc9ba0000000000000000e802083d20dd75bb0000000000000000000000000000000000000000000000002bbaeebb1ac428bb5632823cf1072a3d0c56b7bb7d5e63bad4e0a13c3ac7123db6865bbbbb4e763b5b179c3c88ece43cadda67bb1f55a33bb4307b3c25e3ac3ce6112a39e8ab6b3a7c5c5a3ced4b443cd1253e3b6dc55b3bf1f2753b71aac93bb6a4bf3ad6b899ba07e2f23a6ece34ba000000000000000000000000000000000000000000000000000000000000000095fd5539bd11f5bb2a03363a0b918b3c855246ba0ddfa8bbbac00d3b746e273c10b08f3bc1bf91ba70e8b73bd844643a0274403b9b7323bb8353bd3b85719bbb0f01813a3c7604bb910e633b368100bca79a3b3a9e28403824241f3b3c4837bc9ad784ba235e87ba2dd6373bff4603bc00000000000000000000000000000000000000000000000000000000000000008ec86ebc1bb872befd03183ded9686bac33c11bdb33160be720adb3c98be19bb563d4ebd86364bbee1e4213cda6d31bbfd7b48bd4d5321beac06e83be7e6a8bba05021bdf478cebd6f2ede3a0e92a6bbc767d3bc420e50bd525235bb5b36d0bb7900eebb9b81a7ba167842bbf99883bb000000000000000000000000000000000000000000000000000000000000803f972d03bcb9349e3c68d1e4bde7c2ae3f1cef0bbc3f4eca3bb2d6eabc729b8e3f0c1bd5bb1bc82b3b9da1033cd5096d3f3e8abbbb59dc553a59660a3def912e3f18191ebb28dec1b90beb453dfa56d93eea243fbb209cfd39e4de423ddc1d503ef747ba39c7b4693ba254d23c96f51fbc0000000000000000000000000000000000000000000000000000000000000000d0da1ebe916ff23c00000000000000009d12e6bd9200c43c000000000000000050b9c6bdf5eb993c0000000000000000e3f892bd59309e3c0000000000000000b59221bd4e2d5d3c0000000000000000bb6000bc55a78e3b0000000000000000d0338c3cc9d882ba00000000000000000000000000000000000000000000000000000000000000000000000000000000c24a0cbc0f35153df407de3c1e866fbc3c9c373b79561a3d47a5b43ca32f49bc2f810a3c60eb153dd1267f3c6ae5c5bb2a0d5f3c69cede3cb5313c3c24f9a5bb5963413c4179993c007dee3b8f9c3abb590a2d3c2cda163c94820f3b61d501bbb1afa43b7f10ab39a9a17dba9825abb900000000000000000000000000000000000000000000000000000000000000005845ad39367a88b96e1c893caad956bd5b41533b8a0ee0ba7305b73ba01db6bddf71293a63ebb8bad44e46bbb1fad8bdad75453bd890c3bae3ce4fbccaeecebdad79233b36a902ba4dae90bc64579dbd2b29ba3a12f22bb9499979bc442c41bd97f0de3a6cf473b9259e25bcde2317bc000000000000000000000000000000000000000000000000000000000000000036dd4cbe1962923d24e77cbcb89680bb6d1128be0010843d260da2bcda5621bbd03a0ebe6781553d6d6f9fbc86e55dbabb80c5bd28691e3d9d2d9cbc6676f737232267bd413fb53c0a6b82bc235d8a3a6395c7bc5515ab3b5447ffbbb96cb93ab53d9d3aa3d9dcbb98ff98baecdd1db80000000000000000000000000000000000000000000000000000803f00000000514e433c15d9bdbd100fb13f15545ebe16c905bc0a7cdb3c4e708e3febb153bebb8086bcead7be3dc530673fd0d551bedd5c8fbc09ff053e85d7233fefa730bec99654bcce4c093e19ccc33e1c7cf4bdd07ed4bbaba5d43dc237293e25f943bdadc7b73b0f14253dc0cf97bc71733e3c0000000000000000000000000000000000000000000000000000000000000000c02e4e3d0c08b1bb00000000000000003851573da06c3fbb00000000000000008738743d31bb5dbb0000000000000000b9f7623dcc637ebb0000000000000000a052363de6ca89bb00000000000000005e3bb83cbb3b15bb00000000000000007881173b399f9dba000000000000000000000000000000000000000000000000b39f2abcd8439a3c5774333c1c4fd0bbf42550bc6ce7123d614f8f3c0dff7bbcd7279dbbf2e0383deafeb83ca4bd47bca95a363b51bb2e3d495c963ca78f3dbc3865043c2a740d3de7a1393ced3be2bb6b55343ca9f4cc3c6c40d53b42f867bb6504083c2f1f613cd29c243bc70f48bbea4a823b74cfc63bda9b8dba58d9b0b9f1eac7391f1141bbd4bc74bb2552b039d84015bbf191223a3007923cbba23ebc17290f3ba483223b4c61c83ccf8056bdac59313b1de1ab39cc4fa23cf635bbbdf547443b7f8bceb92c34403c5e3ad8bd4b1b8d3bcec21fbaf69834394fbad2bd2ba8353b516275ba3a8fd8bb75d4aabd9547543b97701438598924bce00d46bdeea9033b231d22ba447323bc088472bcb14fb33acbb08038008093bb78ef883c2ac9e5bdcf61d73cec90e13af189bfbbaf2d18be7693453dc6f72abc9be6cdbbc71b35be06d9623d81e783bce8ddb7bb204e1cbe983d5a3db2b49bbcdec90fbbd6c9e3bdb49e293d4f17b1bc1b1742baf8ba91bddf33c53c265c81bc3878a4b6d84a06bdc4c9093c86c338bc56a8573a5abe33bc4a58deba068e89bb47fa203b8228553c02e2e3bbe746f4ba98dde63ab9bd553d531e83be92ccb03f19a33fbc02b0db3cf88720be41799e3f976551bdc784053c0f6bb0bd3243953f1c8803be49ceb5bb8b9e63bc181e753fa4bb21be9f7113bca246403daf35353f42761ebeaac325bc822c893d02fde63e7d4ae8bda36961bb9657733d7ae1583e25b770bdf6ed533ba26c003d02d23b3dd912e2bb48df5a3cbe36a7bce025ccbdfd21c43c4438a9bb584f0fb80000000000000000d092283cfc978f390000000000000000fef5003dbf488c3a0000000000000000c4bf3a3d3097e9ba0000000000000000ed154f3d3cfd06bb0000000000000000d604293df0a9ecba0000000000000000e8efda3c00af96ba0000000000000000b9d9313bfcb443390000000000000000e2f36fbbf80192ba00000000000000000f6217bc33756e3c2981bc3b9a085ebb43863bbc7a8b1c3db048463cff1df0bb7c9f07bc5632483d5c7c953cf5cb1fbc36a01b39dbf63c3df31c823cab6724bcfa46a53b6f111b3d49fd3d3ce85f03bcdbf5fa3b9a2dec3cd92bef3bc0c8f4bb46218d3b23a8903c8850043bfe25a8bb1d1d283b8b64f03bdc6195baa64035bb2bc76fbae7b0ae3a554f7ebb626bc7ba170e5abbf4d6083bafea853c418585bc7ed0e1ba8b2cf13a464cd53c44b96cbdb709013b64a58e398707e23cf21bbfbdb2663c3b7963f638c394a43c492fdcbd9174233b02bb963a8b6fda3bfdd0cbbd85969c3b7207b4b883cfafb95e37a5bd74e78f3bdfe02239866f65bb13b242bd600a583bd64409ba3d9dd7bb4bc56dbc4294b83a14a34239484059bb84bb533c735e72bde21661bb4893183c84c4d3bb1bd70bbeab889f3c0975e43a2393e1bbbdf923be186a043dab05eabb5701c3bb1d1d19bede12263d852272bcebef87bbd7aee8bdd7b30d3ddaca91bc1b138bba513999bd7f26e43c93759fbc5c31773ae29221bd1bfa853cbd1e6dbc08525d3ad98b19bc68b12b3b278eebbbc163253b6a83d63b622e37bb512781bb49af533bb7a15a3d7f667fbea3e2913fde11693e5d51223d672262bee9fa973fd4ddde3d2402953c678918be3dd08e3fcc4c613b9c7d9e3bd7efa3bd7b28753f018f97bdfb0b22bbb2cda2bca39e3a3fe29ad4bd9ac8a7bb0a85693c6e68fb3e72b3d9bdb1e091b86a1ead3caf6e813e468195bd5583da3b10f1d13b6bb4853dbf36fdbca2e4493c9cf1bfbce96e4bbd48d7ccbb630d89bd3d1f473c0000000000000000a7242bbd3916363c00000000000000008a9015bcaccae13b00000000000000007dd2a33c27044c3b00000000000000004287033d9862b73a000000000000000056c21b3de8a013bb00000000000000006da3023d126541bb00000000000000000be3823cc39b50bb00000000000000009806d53b70c1feba000000000000000032b512bca424623c27a4d13b5e4aa43aa40f46bc4b9e0e3de0348a3c64f9b6bb6c3d1dbc6df3443d27e18a3cd5f3a2bb8b09a0bbb9a63f3d1e3c913ca7c901bced91ee39641f2a3decd73a3c7548f8bbc2f02a3be455023dfe2bec3bf9869abb15a01f3b85f9ad3cb6700d3b2aa6e1bbde5ee6b96cc0343cc23de1ba4b5697bbb69fc6ba31c6cdb94633ffbab9fc37bbed3cefbb322b303bb0fc863c9f5fa5bc1a5688bbd88cc53a12e4c63c929d50bd60a5bfba4827a63a6098ee3cbdd1afbdfa05a63a8d17a83900c3cd3cd829cfbd28e4413bee96f23a942e813cc86ecfbd9ced263b01a6df3af8f2fd3bd331a0bd26216d3ba74bf6b8f727ad3a271949bda86e893b7688f63849ec12bb7ce887bc7535fb3a97021a3a84b31fbb09be333cea403dbddbba0bbd891fb83c8eda15bc0c36fcbd97455abc53e28f3cc6cb20bc55f419beb749973b3409963b571f12bcb9130cbed345803c26e4fcbbc42b82bb0ca9e4bdd683e63ce3dc85bc682349bbf8e7a3bd3421ae3c217694bccc5027ba63e820bde0c5713ce34878bca5bc823bed8342bc78ecf53b292749bc56ce853bb97d193c3578123bee22e8bbfa2e8d3b17ac453da64775be51d0753f4565ee3e2b00343d8d326cbe5012833fc442ac3e85f3bd3cae4137be9342813f8d41363e05b61e3c55f4edbdf788633faf06523d8d812d3bd11f83bd00b0393f1d7737bd4dd09ebb9247bcbcac54ff3e932f93bd444c7fba29aeb6ba521c8c3eccff92bdfd38ed3b6764d4bb89acb73d907e52bd35f5343ce98ee3bcd2a413bde9561abd7d9006befd9bed3c000000000000000078afe8bd70a0e03c0000000000000000307380bd41b0a53c0000000000000000861b91bc7d87403c000000000000000078585b3c1b3e8e3b0000000000000000f208f83c00a0f63a0000000000000000a4bf023d7abf5ebb0000000000000000244fe83c097ae9bb0000000000000000f616ae3cc612f5bb00000000000000008a89d0bb30ae1e3c3495053ccc4ab13b67894abcc9b5fa3cadac9b3c6d36833a4d8423bc4926313d7d6bad3c4f658abac0defcbbc361413df2fb903c31e7a1bbbb2c8fbab39e163d8f0e4a3cfd8698bb4099413a4df5043d1926043c9fa6e4bb10379d3ac861a03c47a14b3bffb8babb17a496b997ac213cedf89aba78199abba283b6ba92efae3af84a9cbbad115dbb78a30dbcf4f59c3a13e2583c849ba9bc2ccde0bbc3c8e43a9965c93c938b3bbddfa07abb1b32a23a5424d33c112995bdf80399b9daa0023b4b1edf3c1900bbbdce15693a47b6423ba554703ce5d1afbd5009833be310a63aa42c543c38999dbdca65763becc2e23aa141503b34f13abd17cb913b19de95b9069c91b8a90a8bbc8585433b0d44303abe1f04bb3d743a3cdf17d0bc05a789bde482173d88f94bbc386cdebd98a456bd25b20a3d74af70bcb76211beb80a06bdc78db63ca1ac5dbc225e0bbedcb68ebb49403e3b8c760cbc19f7d9bd429cb63ba569a3bb3577c6bbe1ad9fbd2494883cc47d81bc139b43bad6eb22bde630503cd9b27cbc8d06413a99cd3fbc17e61c3c05886bbc0df5a53baf1d3d3c1acbbb3bbb1425bcb429803bd18c243d48c54abebcde363f6ed23a3f0949103d14ea4cbe47fc4e3fd2a1163fed20bb3c8d4e2fbe4da7563f0528ce3e32623a3ceb410bbebf044c3fc3ff4e3e8fee9f3af45593bd2150253fc14b993d4ab190bae7644abd320ffb3ee216e9bc43ba69bafc8598bcb6bd8d3e75fb70bd1410833b43d462bca97fd73d2f2b88bd10c91f3c5107e9bc8620c7bc023b85bd601c4abec50d343d00000000000000006ffc39be9eaa343d0000000000000000315906be701d113d0000000000000000345c89bd4031b03c0000000000000000410ce2bc91b15c3c000000000000000097ba7a3c21c24b3b00000000000000000614f93cbc3f49bb0000000000000000f8fd123d1c6512bc00000000000000009f66143d19ad35bc0000000000000000002602bc30dcc43bd25f1a3c49700b3c7d7d47bcd09ecf3c3c08b03c9114e33bf8526ebc8bad193d7b82f83c27dd9d3ad37727bc3c812e3d5710c43c322b4dbbc140ecbb0c672b3da059803c65809dbb32d96cbb8d8e083d0e780c3c50e7bebbe75fc2ba2078b13ca8ec7d3bc9b6d7bb428dd8ba295d243c606b4dba2631cebbb0dd4dba633d1b3add2d32bb69e8a4bb880a0abcad73dc39ea513c3cf1d663bc0d533bbc2f80513a68d2a63cbe4001bde6d7b6bbe8a0153bdf7ad93c758c56bdd463f4ba7387ef3a0242ee3cbe4391bd5862d739bc16513bdb7ed03ce4e2a3bdf03e3e3bf2d21e3b98b2873ca7cf87bd6f295b3b03509b3a143e383cc60539bdc1b9883b0d2ab83a9ad1553b3e8483bc357a123be584663a8903aaba5e90ec3bc80d34bc6ad4b5bdac03303d89bd48bc4894bdbd6bc7c3bd478c5c3da1498dbcd6140bbe0d7f95bdc7a01a3d1d998abc81ce0bbe1dcf24bd1552923c2a3e37bccf3fe9bd1d2136bcf640923a1e7307bc2c7f9fbd3621353bb3d31cbc5ec436bb779235bdfc29293cdab179bc1752183be7fb4abcf854383c171f6ebc6960713b8016533c01f5f23b2bd335bc17f98f3b1d65dc3c27630cbeb759e93e6537783ff401ce3cb7281dbedcec0f3f9cf4583fe0638b3c95ae16be94ee213f5182233f7c40dc3b5da2fdbd8653223f7648d13e2219c33aa0acc0bd3fee123f2dce4a3e9e7b91bbc36d72bdcce4de3e7c3e7b3ded1f5abb804806bd2c3f8a3e316de9bc6dac113b59009ebc573ae23d18438abd9051f03bcfd0c1bc987f5cbc3c38b3bd2a4575beef78513d0000000000000000e51a7dbe30bd763d0000000000000000780847be0590483d0000000000000000849800bee7610d3d0000000000000000fdc97cbdb051ad3c0000000000000000f93850bc36f0eb3b0000000000000000a7a6bb3c03381bbb00000000000000005626273d0f3d49bc0000000000000000bfef373d76f941bc000000000000000036759abbd9b6e93ab47be43bf7125e3c04463fbce1e1943c778acb3cc150633c7e1e74bcbec0043d66e90a3d67180b3c36246dbc43231f3dba1c053d3285e239d9b11cbc5fd11c3db5ff9f3ca83d04bb11f1d0bbcc61033db99a5b3c60d3b7bb7f6284bb07e5ac3c890bca3bfd16b2bb84762abb44b3293c080a9c3adf72dcbb662817bbdf572a3a2d2f4cbb4fdb8cbba0694bbcbd3e12bab3e1c73bcf15f2bb1e2c46bce5fd543ab0636e3cae2e77bc148b29bcb22a813adff9c23c4be205bd050682bb6f1e013b67e3d73c8ebd54bd2892d1ba3c90893ba6f7b83cdd4b75bd9aa3093bea1a0b3bf1d8ad3cc43170bdffd9473b739b093b20544e3c6c4822bdab99943b6f70263a5e3ed73b3a3491bc165de13a6674b03a94745c397dfeef3bbfd9f5b92f14d4bd2cb95e3df74f77bcc2139dbd025a09be0061833d6484aabc380502be8e2bf3bd0ddb673d77069cbcd95b08bee52ba1bd3d480a3d087a89bc9295e3bd56ae2ebd0071763c05b253bc3000a6bd77f57cbcbc8d4fba0506c8bb2ea52ebd1ac19ab8845535bc8919a8ba3d1a70bc6a60253c67ff76bcfff76e3b96d63d3ce5bd2e3c6d1840bcb0768c3b96533f3c77f58fbd30d65e3e5f01933f3faf4a3c9674b9bdd40e9f3e87cf893f093edc3bbe3ccdbdeea0cf3ef3715f3f62f7673bf931c2bdd376e73ee8781c3ffffbb9ba7adb98bd01e1da3e6aacbf3e646484bb5a6c6ebd7153b73e54fe273e041b4ebb66e609bdfb296f3ef26bba3c0ef46aba530090bccf5cd93d18fb65bd397e863b5ac77bbcb621eabb06f3c5bdf85480bed4076c3d00000000000000006a1a8ebecd36873d00000000000000007f7679be2891753d0000000000000000ec3c36bea162413d000000000000000077b1e7bd59a5033d0000000000000000b32a32bdeca17d3c000000000000000036e4003cef90953a00000000000000008fbd1c3d56ab44bc0000000000000000539e553d59b48abc0000000000000000aa47b8bb5609b6ba02b0363cb8b8b63c46c326bc2eda153c3121e13c1820ad3ca7796abc0a5db63c1fbe203d551e843ccee968bca83b053d1d020d3d15e72b3cd8144abc1cd8073dcb92e93ce01c713a120903bc9c97e13cb06c993cf9c347bb2affafbb294e9a3cf333033c7ed11ebba8ec41bb85a4093c93c94c3b97d4aabb8a040b3ae428c1ba67abaebb0f5689bb500f4abc808e43bbf032a539f82cdf3bf82688bcfccc4ebab0cb143c1a399a3ada5f35bc5730183a9c00933cb7ed3fbce09fe8bb5ebd8e3a3a60b53c89baebbc243533bba7ee203b0423bf3c83f92abd7a02ac3a6099523b08f4ac3c516c2ebdaa60113b86b09f3aebed823c125708bdab738d3bef11ca3ab9d9f53b4a3576bc7ae0af3ac5ff053a50df103bd45c223b162133bbb42e11bec5c4723d31b483bcf43a7abd490e25be5af99c3d34d3bbbcd4e6e8bda04825bec3bf863de283acbcc42901bea9ebfabd4d5c453dba339cbcdcabe7bd3ca79cbd60c6ec3c274373bcce5ca8bdb02a22bd1bff023c43be29bc444933bdcf1c5bbc9d5f9dbbf68547bb8f0379bc436d0f3a04fc46bc0631b53ad04f923ca60d9b3c74be46bcbd56303b6757e8b8dcb6c8bb41babebc9b53b13f8127983ad7330ebde54bd83d9356993f3e8b70ba1bb463bd56244c3ed8ac863f486211bb978c7dbd3caf8a3e71514b3fbf7e00bc70d356bd3923963ea07f063f449f01bc7d1531bdebdc843effc7923eea9ffebbe9aed5bcef6a393e891eb83d0d1d8fbb13e331bca4e1af3d60ec9dbc29aea3ba200b4cbbb2e55bbce03507be48e882be8d33683d000000000000000006a480be47a27e3d0000000000000000b8ce7dbe148f6e3d0000000000000000812153be80cf573d0000000000000000fa6d17bee7531d3d00000000000000000ed79bbd47ebbb3c0000000000000000faaf45bc90b57b3b0000000000000000223b003d3d0e3cbc0000000000000000c930703d3d32a6bc000000000000000000000000000000000000000000000000d0d90bbc3144cf3b9eb2fc3c9d36f53c8a3b56bc2dc7933c24611c3dc39da23c8b7e63bcdc74d03c2a6e1b3d016a403cc33c28bcf29adc3ca9edf83c401b8f3ba8f611bcd815c83c4d34a93caa7ccab9c06168bb4696763c52e51e3c694121bb4e63da39a8939c3bf5719db910e129bb0000000000000000000000000000000000000000000000000000000000000000080e54bc036974bb9d949f3a7131913c968e59bcaa96f339487a173c62f08f3b1e39f3bb181ee03a00628a3c436c61bc121d96bb1038753b58c1923cc0b9c7bc3f3373bb3d2d693b31578e3cf837e7bcc0399b3a0018093bdbf23b3c8867cfbcd7d11f3ada88aa3a7c4df03b07cf5fbc0000000000000000000000000000000000000000000000000000000000000000962d85bdc2c751be36988b3d4eb683bc9127d3bda19b2cbe767d783d213988bc1364f2bdb2d80ebea470393d79ed84bc73e3dabd87c4c5bdd344033d0fc683bcff34a3bddbb258bd6b288b3c4b5c31bc27fe36bd79fab4bc02a3143b22d4ffbbacc0b5bb23bf8b3be982fabbb4a3d0ba000000000000000000000000000000000000000000000000000000000000803f78d594bb9d19173c1665b3bd789db13f45639fbbd4ea97bc8d585c3dc6458f3f751a0bbc1e42dbbcd823063ef8f7663f3f6131bc7178e6bc07122d3e8dc9233fcc3d53bc43d2bbbc0890293e302ec13e3f9527bc56e8febb2a71fa3d2b83293edf101bbc6013843b6e6a2d3dad1fc1bc0000000000000000000000000000000000000000000000000000000000000000cd3556be87d62b3d00000000000000009c0a49be19ea2b3d00000000000000004f2a3ebed416263d000000000000000026c21dbef0df183d00000000000000007eb9cbbd026ace3c0000000000000000758719bda7e1373c00000000000000005a138c3cd6fd97bb0000000000000000000000000000000000000000000000000000000000000000000000000000000028487a399c554c3d294d1bbcc7196bbb0232243ce86c453d276a88bc253ac43af836833cc60d193dd5f15ebc5e7daa3b077db13ceb77bf3c990930bc72c3bc3b2ae2b63cc1c3f53bd656a5bbfe0db13b0bce6b3c99f02bbbc06c163baf5dcf3a893db33bd81dedbb94cb593b60fcfcb900000000000000000000000000000000000000000000000000000000000000009e4750ba1b1a0f3a5b64d33c217f06be8adc2cbb5e16973a53229d3c47103dbe17ecc0bb3c3aba3acd68083c855b45be9ab5bdbb5c1a713a312031bc8f4229be87c2cfbbd99ede3a001fd5bc9766e8bd4b005bbb771c893a06f0d7bc3cd050bd6b35a2ba2db9b83adec78ebc06ef0c3c0000000000000000000000000000000000000000000000000000000000000000e6bcf2bda0245e3d167fc7bc50e6e13b406062bdbfbd293d76e0cebc2f88163cb13b94bc646f9d3c588c8fbc714c123c992a3c3ca79a3fba011923bc82e2043c36d3cf3cd61cffbbb0af8cbb4884df3b0c46a73c97b14ebcaf2d123ba89f2c3b79c8f63bcf8fd4bb23ec133b6f0fdd370000000000000000000000000000000000000000000000000000803f00000000e1672bbaa5ce70bd923cb53f364a91bea38524bd4ce6f83d09c28d3f73a992be976283bd3bf07d3e84954f3fac4281be20ff8cbd745b9f3ef83b033faf5748bed18b6abdb1169b3ed928813e411dfcbda813f6bc3844593e2607783d47522ebd5c59103b1281913d329a8dbd2ffc843c00000000000000000000000000000000000000000000000000000000000000006c39a83d4e2877bc000000000000000070d3ce3d6bc9bebc00000000000000001ff7c13dec99d2bc00000000000000003cb9b33d1f14d4bc000000000000000015737a3d9735c4bc00000000000000007556cd3c19cb58bc0000000000000000ffa5b5bb1e84c6ba000000000000000000000000000000000000000000000000c73f98bbc5ffc73cff890e3b360602bca8ab653aa1ce353df4b446bc364627bb75f2003ccddf493d716776bcccc92b3bfcdf813c3599223d6a5970bcddafaf3b4624973c2059bc3c25c60dbc82cbcb3b4d53933cb5620f3ca4c421bb71cbb33b06d2533cb5b168ba91add43adfa13f3bc2272f3ba61315bb8e809e3b60a491bae7e613bbee40f9bb3ac6883b917ca7baa94a593ae8a5923a56ae123cd0d6a2bc20bab7b93cf917b810e3c53c21e2eabd33f464bb3d5f2b3a3500c13c69f431be7a84a9bb5ef2bb3a1ee23e3c23eb40be62bdf9bbbbe0d83a8268eb3842952bbeeff4d4bb0c71ed3a08446cbc4531f2bd786a91bb5162ca3a135e98bced0362bd32cc61ba32e76a3a06760ebc1ff562bb302cc2389463823afc11bfbb9e11193d38e5e8bd94f5003d1f22d3bb5805b5bad816ccbdd3924a3d187bbbbc4e32113ca22d9abdf6a9283d3cd4c9bc3fd6163cfbf6edbcdadd993ce56d9abcd298113c0b96213c844f95baa93c20bc4f32183c050de73c6d9883bca0b964bbebb8d43b13b2c13c125d90bcdb72233b4004453b0f41473b62b81fbc62ef643b0edd7cbace58ed3a5e1eaebb8149ef3ae369d6b97dcc6d3d0fd78abe8311b63f4476c2bcaa36103d231931be57e5ad3fea7e21bed33e27bc2d1291bcf25c993f8cc474be7c483dbdf6c10b3e45a0663f1f3076be317c8ebd12c4733ebd13163fb6fe4fbe037186bd9162853e9457993e2d7007befce631bde6f74d3e706e9a3db3583ebd6b4947bc5a27a63da0dd19bd8d35713c6d3d2b3c3f07a3bc5cbff8bd8e99083d02a15ebcfce6ee3b000000000000000004ac3f3d1f4951bc00000000000000004c5ca13d86ca92bc0000000000000000415cc23dcbddc8bc0000000000000000dc31b83d0f1df2bc000000000000000016028a3d5fadcabc0000000000000000313bf83c65d979bc00000000000000000b0b90bb5e343239000000000000000076753fbc1b5d803a0000000000000000418138bbd465813c24568a3b18c919bcedac56bb186c313da620bcbbdde3d0bbbb3dbbbaf2d45a3dca012cbce25e3dbbc420183c4df5343dda5859bcd8ba983bdd944a3c0ffdfd3c35b925bcd43da83b642d623c42d3873c618ad1bb5cc2c23bf30f433c8fde383b906ee8bad603a03b02dfae3bbbbb8fbb769e593b4678e639b8b8abb9dce120bc59bca33b54d46db90622703bbde179392b405abbdc500b3cdad8eb3a52100fb96a76a93cc58ca5bd5682953ad73746ba4ddadc3cb88f0fbe70ca8dbba30c0c3a2edda03c5cb932be9dc8a1bb7ef4923aacac263cd1f922be3bbec8bb8808e23a81181dbbc14501beddc4acbb28ebca3a6d0f28bc067d95bdcb1857bbf0c8953a785a47bc471e1abc581ba8b9ab00113aa2c7d8bb5c88f53c321fcabdfdfdb23c1e6444baaa7b8fbbfbe704bedb653a3d49f067bc7bdc763a7f04e0bd782d2d3d2e3f9bbc2c14903ba90955bd3e59bc3cecb794bceab9f83b30a66cbccf99d73b7e8643bc3e9ac93b70cc9a3ce4ad0abc83d4bfbb1615d53b61b9d83cfb7d70bc49886aba3e888e3b85cb6b3c95d340bcfe055e3b589c1e3b2ab1003c7db111bc73d7183b8b25c9382329903d9d1f90be3066983f5c8e613e2d52553d0f217cbe2336a43f48940d3dc043583ce1cbeebd4f99953f0614c1bdbb3290bc9a3e2b3c88c4763f575f3ebee85448bda2a9033e2af72a3f89f637be914167bdc46e3c3e51c0c53e1e6d18be542637bd32d92f3ec6de113efddfa5bd0a42a9bc07f2c73dd8d904bd979bdabbc00641bbfd1e723ce891e4bda5c8aa3c9ce4adbd035ab63c00000000000000000e4d09bd6213563c000000000000000030fe843c372ae03a0000000000000000bc1b863d98fc75bc00000000000000001920943df6419abc0000000000000000909a8d3d0dffcabc00000000000000006c18393d08bf9ebc000000000000000012f61a3c2a2a28bc0000000000000000812439bb40f36ebb0000000000000000896089bbe3074d3c750e413cfeee37bc56c5c0bb51882c3d0aca0e3b9ab750bce3e15ebb3f50643df3fb26bc8b3347bb12b3503b4775423de9d72fbc2ef0c13a6fc1123c65941a3da68b74bcec51c53b176a483c9eb2913c8114debbfc5bbe3b82621f3ce037c73b53a54fbb16a5923b1394ad3b6503aebbd964773b70b5d23ac868da3af5763fbce463673b1dcd053a22ac453b784496396c370bbc06b0eb3c9d279e3bc6cd15b9fa39413c1f4b3bbd5aa3083b5c0329ba7b86ca3c4c9eeebdddedebbafd2b9139c009c63cdca41bbea63e94bb4695423a03a1873c543c22becccab2bb1086f73a9162b63bef5d01bea3cdb5bb47dae13a138d8bbb76af9cbd53694abb5c98853ae5a116bc63a878bc908e05bb04d6863a3b3021bc4c88c03c8ca3dabd686a783bc72e313c729b22bc2a8a24bef1092b3d61f990bb32d6dabb74dc09be98fd373d474290bc69ad7d3a7f28a1bd93a2d53c9cd489bcc5ac953b0f53f7bc5545843c039f84bc3c14ff3b0047123c529f51bb940108bcf3c3b23bf8d7cc3cb2415abc191586ba13e6993bc7e79e3cbe2779bc9b1e273bc1eb173b5fe9a83c675c4fbc29a4ac3b5c2ec63a49748c3d97478bbe92b27e3fd133f13e82587d3d0e058abe3ea18f3f57158c3e8772083d255441bec29e8e3f1402733daa443c3b369a9abd436d753ffaf6a5bd1c26b9bcfc6ac03c81cc3d3f2d7128be370832bdcf57e73daeebe43ee19413befb3834bdf0770e3ef0d5373ef021b9bdd4ead0bc2008c53d7dba79bc41bbc9bcd0721dbc5c0f2a3d3939ffbd07228e3b39f323bedf522d3d00000000000000009010f5bda95c1a3d00000000000000008abe22bddfb88a3c00000000000000002320a93cd732edb900000000000000004e97783d4f5e7abc000000000000000095447f3df23aa7bc0000000000000000afe53c3dc461a4bc00000000000000006e81b83cfcb876bc000000000000000092e9f63badf748bc0000000000000000a05e5cbb52deda3b53fb983cd4534bbcf615e3bbb9521c3d84282a3c921f8ebc84520ebc8dd7623d2171afba3f9e0fbc1c7916bb37ab603ded6c3cbc01a8183ae4639dba7e35313d99d714bc634c4a3a038ae93b4f14da3cfa2d1ebce15bdc3bddb1f63befef1a3c8e0b94bbcb9e8e3b96267d3bbbbf32bb6d51bb3ac502f33accb67e3b654d50bcdc6f223b071a053b0243ef3a5744633ade2a47bc574d1b3d9bb3023cec9e91b9b90f8c3b87ae57bc022e9d3b743a8fba20699c3c76db97bd75443238690ab139147cd33c128703be70cfaab9395691b82bbfbb3c132d00be3537a5bb3eaf7c3ab48e673c77c301beb00c71bbf751743a06d1563baf359ebdb6aa19bbbc77c6386f50dfbbdbd6a0bc46b480bb6ce1c83adcae47bce030953cb78dd3bd29e951bcc0a8a73c0ece6bbc60273abefb81023dc0fdc23b0c3378bc0f0133be3791313d648b18bc923cd9bb667ceabdfc86153d171a87bc269a7fba87968dbd3b1aa43c6cad44bcb0bd5d3af57a0abcb5fe8b3b6e294bbce2f7d93bcf63863c3847efbbfd8b9dbb564b973b36bea93cc3926bbc6fe0453b7bd8573b26e0f93c78f28cbc9d2f943b477b623b1bef7a3d69c96dbec14c403f10393b3f1857763d0e0080be0d24673f4a0d0b3f270b293db2da5abe994a793f86a38c3ef6a19d3cee1410be56a26c3fc84e293de1aa7bbc9e2edfbc31e2323ff90a10bdba99d7bccc5c093d8874023f2e9c0abe96fb14bddb92bf3d566f653e1befc3bd7586d2bca858b53dc3e7ed3b71c224bde1344cbcba02633decf2f8bd8a9978bc0a8e67be0cc26a3d00000000000000007ff157be13b8813d00000000000000000a2ff5bd0cdd303d00000000000000003412f5bca017943c000000000000000052a8af39b1ba013c00000000000000007f975d3d527e82bc0000000000000000838c3f3dccfb97bc00000000000000004fd7e93c44739dbc00000000000000004e5da73c6fff92bc0000000000000000f20820bb3caa623b5baea83c7abe45bca25910bce12b073da7c0b43cc095adbc598d30bca0745d3d9c770b3cc3e584bc512209bcc12e6a3d29f886bbbd42d3bb24478cba2ef93f3dca7034bc5d7e45396e07003bfea4f53c682feabb1fc7813b2a26643b35b3563c59479cbbb4d3843b8372523bc8da0dbb5f6def39d9f6313bfdf5a53b37a854bc5c2fdf3a12efec3ac778253b3078bc3a031378bccd3d2c3df962e33b773ee0395ca90e3912ed2f3cb064fd3bf2ea46bafe0f3f3c4fd31bbdf053a13b09cc3cbab802ac3c600bb2bd75ba063b810686ba5c8fc33c1b59f5bdb0596dbb0055843ab77aa03cc5e0e1bd05d136bb56e5203a4fc00c3c43f498bda4c977bb0b4ba43a1557bcba0ec0b7bc625048bb95acc83ad7d826bc8ce4413c415abcbd09e808bde083e63c467799bcc62d45be6a03dd3b8bb0bd3c6e0cb7bc2ba255bedd391c3db03c893a409d65bcb60922be90af1f3d767f59bc49dda3bbf10db8bd5f07ff3c04c48bbce75b5c39183903bdc189393cc8cf62bc90e0a73b2e7dba3bbc7b26bbf669e6bbd86e9b3b5509ab3c938f42bc2d32443ad75d6f3b3fb7073df2d659bc4ded3f3b2602233b7c5e423d3d1b2cbe2116fb3ed2667a3fa7454d3d0c7051bea3fb263f2170523f5d90393dc19854bed99b4a3f1f05043f4f32ef3c80af2ebe9b5f4f3fa7906d3ee1ae553c107fe2bdd2103a3f2fbdae3c8a7608bcea78fabcd387043ff3b49abd12e7b0bc3859103d6902893e18b3bbbdfad1acbcad66833d2aeb0d3d09185fbdff0778bcd18d633dd72bd9bd3c911cbd2bae88be18f2873d00000000000000008c0693beda92a93d000000000000000097ee4dbed327863d0000000000000000451ecfbda090223d00000000000000001e54c1bc726f813c000000000000000076f9bb3c218b91bb00000000000000000a51263dfc9d85bc00000000000000005a750b3d7d0daabc00000000000000006857e23c743ea2bc0000000000000000018edebab99c2b3ba0b3bd3cebd550bcbd68ecbb7ce6e13c768bed3c64c3abbcdb573dbcf8b7383dc212c63c1a2ab2bcdd5d54bca2996e3d9380b23b0ad54ebcd6ebf7bbcaa74b3d11f78fbb10c18bbb106c69bac6de113df0831dbcd061ff3a75326639176f943c90cda9bb0778753b5421083b135dbdb91aa28d3af50c233b870e3f3bcb724dbc380bf73979444b3b3528543a8bb7ec3a0a1b2bbca4d7093d79aeac3b69866f3ad3d3b0bb1611e43c9359113c73a688b814f2d03bfb2506bce707eb3bf06491ba0d21983c6c085abdf88e8c3bbc1e78ba024fc23ce2fdaabd9d660c3b422511ba95cfbd3cadacc7bd0728e0ba0fd95a391d2c6d3c78a88ebdee6036bb39b47c39ccfaf3b7df1fa0bc33021bbb89e33c3ac2aae2bb5e3c413c33879cbdac154ebd14e2193d09cdabbc7c3d44beace8b3bc22641b3d2f77debc0e4365be88171e3cd7ab953cd2f0b1bc375047be8e02123da10b91bbcc4645bcc29504be7436033df4b74ebc10f89bbb0bfa71bdc3b5b13c156085bc71f79a39926349bcc187a33bfc7c27bc46cb6c3b21ea453c647c03bc599302bb67d6963b32930e3d374052bc39950b3b7d64313bb5f0c63c0205b5bd3bc46c3ee195973f2d0a0f3d740a0bbe0458c63ec898893ff2771f3dccac2fbe54b8103f2221443fb4a80b3df40a34be666c2a3fb89bde3ee31e853c0a6206be59d31f3fcbe53c3e4964ac3b39fda2bd3981013f90a88c3b04f332bcefbfb1bb8a1c913ea9667dbddac271bcabb1123dea007b3dcaa07fbdc0f62cbc7db53e3d4e40bdbd9a3854bdbc7590bec5b88e3d00000000000000001aa4aabe57bdba3d0000000000000000d72088beec8ca63d0000000000000000a10b2fbe2e7e793d0000000000000000367bb1bd2d50193d00000000000000001c6d88bc0dfc423c0000000000000000f23eb23cb738d2bb0000000000000000aa310f3dcc429fbc0000000000000000c7f10d3d7934b7bc0000000000000000e2a223397afac2baab3be13c153f9cbb28d20cbc758dc03c438e203dd6b4bebcd17c42bcc97f273d489e0f3d9e97cebcba0c56bcbcfc5d3dd5cf8f3c97909bbcb1fc3abc7ae55e3d39f3143a447026bc47d1bdbb6ee8263d4836cabb8f6ad2ba737dc4ba7c98aa3ccdcf01bc6ea69e3bec2e8aba8f6b64ba216d013b670f653b2f8d583bdf620bbc7bd070bb2496853b37126bbbe6c8be3a2ebc03bcf1a1d73c0447373ba6d06d3b34a85cbb73ea023d313f0e3cc51466b84eca07bab44bb43c05ed243c62d185bac0f3333cc7ecb2bc5723143ced3acebafe7c993c52705abd2f5bb43ba0d2c3bad4abc23ca5d39abd0572adb8b56d40ba3b968e3ce4b979bd8b9711bb69bba0397da8a33bdc347abc0d2f31bb2f81b93a303e8cbb95918b3bc5fc71bde0a4c9bdb453393dcf55a7bcb78638be936165bdd33d6a3db7ab0dbd52a378be74c541bcfaac013dc872dbbc575366bef1e1c33cc088cf3b28829cbc279d2cbed479283d7f8c44bc9d0934bc6763c0bdc4fd033d88d69cbcd2e819bb135fd1bc2d28513cba266dbcb266203be3f7343c4aa809bca4ef70bbb6f8863bc774243d2d4303bce9d114bb30624e3b0bfcad3bc83d4fbc90afa3bce2feb53ff5fb3a3c16dd5dbd6d10083e1031a33f5c91f33c0e1d00be934cb13e112e7e3f48590a3d1b4f1dbe7fa2fb3e5b24253ffa06ec3cc1591abef62a093f41f6a83efdc95c3c080ddebd3310eb3e5608d73d8e71923a659137bd2030933e5e8ff6bc2104afbbbee0fe3b0256973dd2af6cbd9b7e24bc0d9d153d29e18dbdb9eacfbdee798cbe71f6743d00000000000000001fe9acbef311ba3d000000000000000082ee9bbe9277b53d000000000000000003786cbebbb49f3d0000000000000000c76312be9eff6b3d0000000000000000c7207cbd4d0bf43c0000000000000000c2584c3ae1988f3b0000000000000000e324063db22c95bc0000000000000000a9cc353d9bfeacbc000000000000000000000000000000000000000000000000c69320bbf2dbf73bcdc4443d2d2613bc3d3132bcfd62db3c86183c3d9062a6bcd3a751bc3742133dd953073da96ba4bc1b286bbc605c323d2d88913c08b68ebccbdd42bcfdc4293d765e263bafaa08bcb82ecdbba402e43c2e7393bb77c20bbb708a8f391f69f13b0cf9babb7fcd903a0000000000000000000000000000000000000000000000000000000000000000ae0e96bb4ece883ab9de1cbccf771e3d38e4273b0f30613ac00972bb83890f3d93c8b63b8531d33992da343bb64d7c3c88c7073c5fc80bba3e6f703c4f1b7ebc4d02bf3bafc112ba9be6943c4fa91bbdad87863b437c0db99bfb9a3c71be34bd6cfa1039a7acc7394dc9133c523ee1bc00000000000000000000000000000000000000000000000000000000000000008f2f17be12fff8bda585653d9101aebc34c357be63435ebdbd4e313d1151bebcee325ebe016986bc9d01ba3c9a058fbcdd073dbe49a78c3cf04e2f3b12bc49bcd1d601bef9bfe73c0091f9bbe71e04bcf07666bd3025b43c39f165bc36edf0bab49cdb3b28b7013c81f21abcc2c22b3b000000000000000000000000000000000000000000000000000000000000803ffe8fa23b7dfacbbbf0b05cbd5aa3b53fd232a93c5dd293bd46201f3e69968c3f4e89e03ce2a1eebdcec69b3e01fa4b3f3f6ccd3cdd8a04beaba7c03eda1fff3e67128f3c3582d8bdecb0b83eb033753e4bc8663b63627fbde6aa813ecb19623d4411b3bb81d6b2bb376eb63dc7b88fbd000000000000000000000000000000000000000000000000000000000000000039c086be8cc1613d0000000000000000f62685be3808873d0000000000000000c99168be3c2b853d0000000000000000f69335bec739703d0000000000000000651fdfbd304c2d3d0000000000000000157d1fbdadd79f3c0000000000000000a7e5523c78693bbb0000000000000000000000000000000000000000000000000000000000000000000000000000000031167d3a190508ba6eb3e9bab360973b7fcee8392d28edb9bd0501b9d630a33b380cf6b9b4ec54ba24cc0c3775f3883b759b93b91dc0dab9b502c93acbd08c3b25953db9db8fbd388040353b0950923bed1fc638230a0c3af318803bc334903b57128b3915f6493ab989a63b465b8e3b00000000000000000000000000000000000000000000000000000000000000001379473b711f2d3a1f8202bbdbad39bce97e1b3b26836f39b8438fba384f2dbc9d39713bb71d3f3ac54420ba89612dbcfe12f43a601fa2b9c7d7063ad6cd21bc9ccbe03ae4100bb9cbd4e63993e425bc1ba8cd3a099b683887dcec392a220ebcd29196b8cadb4eba4bc7b2398d78d0bb000000000000000000000000000000000000000000000000000000000000000000d76abd24331fbdacb438bb122400bb085468bda00310bd632d64bb4d3118bb4bb95abd80b7efbc36a581bb796233bba9eb40bdcb3dc1bccc3d41bbf5ea01bbcf0d30bd91f09bbc31b7c1ba8602b2ba571c16bd13f94abc72e7b839990345ba2802eabc74ec4cbbe8ec353b946ac6b50000000000000000000000000000000000000000000000000000803f000000001b60e23b41749dbcf80e893fe41763bc8641e53b5e077fbb827e653f8abd06bcf029f23bde90513b08673b3f4089c0bbf5a7ae3b71a2ec3b4feb113ff05114bc10276a3b358de83be6f3d43ea9297abce22bac3a9979953b2ce6863e089fbcbcc106b0ba8d80083af3c3e63d79160ebd0000000000000000000000000000000000000000000000000000000000000000e030ed3b99edc13a000000000000000016ebb83b5733b13a000000000000000012c81f3b83c1183a0000000000000000fdfabbb97333d2390000000000000000ea202dbb63d750b90000000000000000b72272bb158398ba0000000000000000cb54b3bbb6b7d3ba000000000000000000000000000000000000000000000000df63b83ab1879d3a40346cbbf45a773a39f0c53ad788ea3a7edc21ba693bb73bc2b0fb397920093ab01b0c392014af3b3a1a40bab9c1c93a660c6c3aeab0b33bcaa68cba7c289e3a5a89be3a3a45943bfe8c8eb7299b0b3a2ad1703b704fc23b74812238d935573a4100983b67b8af3b60f792ba457fb13ab1afbb3baf57903bf3739d3923c4bc39f953613b8b6d2f3b11cf503bd5ac813aca3652baaafd11bcd515aa3b70f5b83ae89f84ba496e58bc1348a23b4160243acdb44dbaf0be3ebc0a655c3bbb5fc13a240c443acae243bc2bd4063b1a02613ab688af3a64872cbcc3de4c3b54dfc639e566593a293616bc5f7a253b17a41639d3a75c3a8765edbb718da93aa2a1db37da824a3a8e1f78bb1ac64b3a5625d8b632d28ab850f231ba96cad8bcaf0809bdfdfa97bb80ede7b8d33b6bbd027b43bd5bc0bdbb424478ba87ba83bd95ba3dbd74c2ecbbc2b505ba6a0283bd71852ebd1ef8e1bbb7f69cba3dbf59bdaa7f0cbdfe157fbb9b3d99ba34e552bdb699e3bc87641dbb0a208aba7c4f2dbde9ae99bc1f7ee0398de006baf9c2f9bc894b0cbc84865d3b27bb2139030c55bc794639bab2af853bde53213ab34de93b38b64fbda92d883f82b7ea3db9352c3c358f4abd3f5e803f48e5d23d8e4b1e3cc5ffcdbcb3c5593f0d00bf3da4b0153cf1603ebc7010323feea1993d60adf13bdf16acbb86c5083f9125633d084f9e3b84eff9ba168ac83eef5ef03cb096f63afea730bb19e07c3efc704b3b24bfb939580bf5bb172ae13dd596b6bce1ec44bbc3d1ecbb324758bc414c0dbdaa1eb2bbe2bd223b00000000000000002d75cabb34fd3b3b0000000000000000d6087cbbbc490d3b0000000000000000d8fb8dbb80ef213b00000000000000008678c6bb88d3e53a0000000000000000067515bc6e96bc390000000000000000feac22bcd06203ba0000000000000000f8a518bc92a8e6b900000000000000008495d5bbe9996eba00000000000000008e93a83a1525fa3a840f43bb72b155bad932893afc4dff3a033f16bb07bbdd3a2a4cdb3a5884653a780422baf75b303b611919395a5f1c3aafce013ac330853b24e12d37af7b4a39db3a473a8aed5b3b2736c9b9ca3f263aa99c2b3bf6fca03b186a4ebab1da663abf6d643b4d379c3b1ea780b6d929d339593d2a3bd1d6923b6b9702bafdc816b99964183b94d4383bc4443d3b10bae33a48dcdc39fb9ef2bbddc68e3b043f043b4be1d139882e21bc8d77783be6a34b3ab93995391d2feebbbe5a8a3bb569a03a10df243a4b21e2bb4c453c3b7d2fc039d7c9a03a3b8ca4bb08c5683b977f213acb50973abb7b9ebbe1523c3b9a318239b12d7a3a5ad756bb81c2173bae647c3849ed203ac1a11bbab271a13a99a1d6b9fff9a139e780933a6bd557bcafd5e3bc2eba10bc2141583ad9f719bde5033dbdb71d45bc8ecbe639724d2fbd0d4532bd32fe2cbcba8228baddaa4dbdd1213abda32220bcdc8ca4ba76cd28bd91f00ebd4f41dcbbf72537ba136b2ebd9fab04bdc60891bb893131b9243a07bd3893bbbc3a7c9bba405b083a7203c9bc9bab56bc02242c3bcba6933aeafc2abc8c4057bb9f3a783b0f71733ad341ef3b5f0456bd242e653f7541863e0ba53b3c8ee867bd4c165b3f834a783e1fe61d3cea06ffbc3c2e363f59eb573e60041d3c4a82bbbc1e4d1b3fc395303e6623f83b648443bca8fbec3ecf14053ecac3d33bf91921bca3ddb13e6289b13d8dbf903bf7e007bcb527633e7db63a3dd2ab913aaf2213bc30dbd23df39a233a4bd047ba4e5fe7bb2445d0ba5008d6bc67dc94bc6ff9793b00000000000000004f89b0bc16c3b13b00000000000000000fe383bc5a45923b0000000000000000b51b7fbc57207a3b0000000000000000180966bcac0e2d3b0000000000000000ec7b9cbc6b95e03a0000000000000000c1008cbcc0bf8e3a0000000000000000d80c87bc99e008ba0000000000000000f8462fbc3c95e73900000000000000003db8763a0c420b3b08f429bb3b5238bbdc180e3a3418233bd22e12bbe21a7bba2996d6b8df8b963af4869bba555f963a33590aba3368e1398a1e08ba8cdaf03a33f276b94d63243ae38e193aa753313bc13627baad9785392b1bee3af759843ba7d7a6b89656123a24a88b3a24a6963b4f8f1dba00c68cb9d28e173be275b63b1f59a0b9ebdee6b9afd1ba3ac91f203b59ae0a3bbac9073b4458d93aa292d4bbcdd1893b3fe5183b4086b63a47ac00bcfaad843bfcfcaf3ad77d893a2466b1bb62ec633be92a713a94c5023a99f6afbb10ff643bdf1b863a3f39db3a622340bbb401803b9eb0203a1ac2923abf9d20bb4bdf673b1be2353a5c4d923a5bf876ba5b58273b9a4baab9b402883909257e390252a53a638c433a4386113a19cdc93aa7a1b7bb528bc3bcd77b58bc479cd23aa025c8bc2ddd31bd907c91bcdbb7c03a091114bd7b9d49bdb2c485bc0549263923851dbdf91c41bd9c9654bc6d57b6390c9214bd1a2a29bd8a6d2bbc775eb5b996dc0cbde81313bdf5b2e2bb63d7f0398457e9bcbc74dcbc8ac126bbc931a63aaa09a8bc3c1b8fbca160893aa806d73a18ca0cbcaed0ccbb79df323b0df89d3a2e30e13be35e3dbdf54e3b3f6f9cd43e25112d3c0c8b53bd2df6323f6be7c63ed240253cde910ebd31671b3f8cc2ab3ea7a1263cf4ddc1bc493e013fbd5d8d3e0f7b093ce11f7bbcca6bca3ebed1583ececdd93b4bb246bc7dc2963ee00a183e68d99d3b85651ebc32cd443eabb1aa3dfb572b3bd6fc27bc82b1c03da871cb3c71c6263a08e7ddbb7398863b6102a7bcab47ebbc02e8b03b000000000000000092d10fbd459ff33b00000000000000001318e8bc9124d63b00000000000000007e87d0bc0f83b33b0000000000000000e9bec5bc32a37b3b00000000000000000258cebc947c383b0000000000000000d85cd9bcf24b063b0000000000000000e914c7bcc8f5ee3a0000000000000000db3c83bc3b5f6e3a0000000000000000bb0307b94d68653b33fc8ababce951bb18053c3a0ca8423b4d269bbaee0576bb39e2d339d710ebb89a49bfba6e7e94b9ca9650393396a13a28b61dba11eca23aea148db9bb18c4399a2204ba7758943afce4dcb910a8543a536aa23aab9d793b67c1b7badc66043adbdfed3a8eae893b18be72b90e614d39e16ceb3a19ef7d3bbb6129b9154bbbb8dfb49a3a5159463b44af1f3ae7d5243a31f6623a0db3c2bb1c7f833bfb0f173b080b253b1c4708bca5176c3b03c9ba3a79abfa3a4a657fbb0cc9743bd30bc33a073b073b056b41bb39e9163b7fa0413a92bccb3ab98555baa7fc8e3b348f34b94a84a03ab1b805bad5ea2f3b08bc99ba89888d3a4c646d395fee413bde0232392b60153a4439d63a0e65eb3a604e9eb904d87b39919a163beda68dba15d1a6bc42b98ebc789cfc3a688e8cbcb1802dbdaadbbbbcf8b9a63a12fac3bc362a39bdb5979fbc970f75396474f4bc8c134dbd13d494bc5f8f2ab9ab31b4bc418f0cbd007c37bcffb851b9e0c0e2bcec5020bdf0af1dbc348627ba7c7dacbcff02e5bc4affb6bb5634ca390dd082bcf049a6bc57ba34397b7d123b800be0bbdfc50abcd2eb143b05c5f03a050f9a3b150119bda183123f9349123f5b081c3c7b1a25bd4bcc0a3f3f29093f81ee143c681bcebc91a0ef3e02cde93e5f39183c1f13a1bcbc55cc3e38fec23eb571db3bb3eb19bc8c729a3eb278913eb731e53bc92036bc64b3733e93d6573ecbe3a03be97c0fbcda1b1e3effe2013ea61a693ba2401abccefda23dba44473dc7faf13a107bdcbbae74dd3b3ab980bcd33e1abdbcec8b3b0000000000000000531837bda2a1043c0000000000000000874e0bbd6d6eec3b00000000000000009ddf0abd6d55ca3b00000000000000003e62c0bc0e286c3b00000000000000003b5c02bda114803b00000000000000008c34ecbc94f42f3b0000000000000000a022f9bcd896143b000000000000000040b6aabc0174f23a0000000000000000f166233a88af203b0a0ff5ba03d496bb0b15c83959ed1c3b5c7218bb3e8c52bbb3fc38385deef33a8eae97ba9def08bab2ccb5b957db623a58fc30ba507a413a14ba68b9ea4e4f3a4b0502392fab043be3d9b5bac50dbfb90af55e39a1a03c3b66a694b906d767399a26b33a2fab873beda2f9b999878ab9742bbb3a32439b3b537bcfb93b735cb97f8d4b3a83f5453ba844163b993b183bce7aed3ada63c2bbf927853b1f31403b29db183b3e86d1bbfb78923be8022b3b167e043b8b0eacbb7f618f3b9b53f93a73c5e63af43b10bb5ae28b3bb1f7f4390d99b03a38bb3cba3ff7693b64b63e3a6a02c93af8785b3ab608b73ba223163af2a6823a805e643a3bd96d3be80182391c501ab73b0ae43a2f33153bf1152d395eb086b9bb030a3b3381dd39c0b1a5bce3b1b4bc5fda0e3b6d193ebc5ed335bd51f6f1bce7fe073b4236a2bc1ab361bd3128e6bcf4bc463afbbec2bc30bb5dbdbef1b8bc1979573910b3bcbca73646bde30191bc109ca83983edb6bc262733bd545b4abca0c0cd3af403a2bcd81012bdeafff9bb9866363b2a8066bc5549c6bc4f6073ba94d41a3bce2cb3bb34682bbc165a173b644e0e3b0acb9f3b9c05ecbcbaf0d43e38003b3f66fbfe3b80df00bd17ccca3ec599313fabdc0c3ca99bb2bc0261b33ecfcc183ff01d003c44ef6bbcfcec973e7dbafa3eec02f43ba1dd23bca9e1733e6f6bc13e59cce33bc79918bcf8ef393e07d08b3e437cbd3bdcba1dbcb2a1f83d52cf2b3e0cd6773ba73b2ebcd6b9813d17888e3dddc4f63a8db201bc523ee53b51b658bc8dc83bbd1b43ed3b0000000000000000695a67bd369e293c0000000000000000610838bd7644143c00000000000000003cc023bdedace53b0000000000000000bb7d14bd5e6faa3b0000000000000000a4ac1abdcca68d3b0000000000000000e7fc1fbdc7c4853b0000000000000000c2f319bd60f0333b00000000000000006185d5bcfa230a3b0000000000000000566aac3964c41a3b097ab5bab8fd8cbbe63a93b83f181e3ba72aadbaaa5337bb663c80baa92f853a043bcab97857e8b995402ebafd35613aca25f1b925f45a3ad505bfb934144539c89f02ba5bf6a23a5ccbbbb977bedb39eeae863a25dc7a3b08f3d2b99dcabd39151eab3afe59883b58321aba006ec5b88faab53af284aa3b2406aaba2839acb8aaa5593afd01743b5c1f253b4338383b0e68d23a7c96c2bb297ead3b08cb7e3baaaa023b264605bc5c5d8c3b3c63063b8d89f83a0b1618bb3a15a03bc279273b9095d93ab00ce5ba09376d3be652f33a1478b63a16f145395e1da03b7ae7e63a549f843a7dc80b3a8d3e833b95b73b3a4308de39f311a03aa42d793bd7e4b839a24576b874e0113b7c171c3b64abc23924f27eb9067c073ba4e351b98f98bebcd61cd9bc123e243bb54c20bc3c5f52bd3e8711bd2874183b1ad46fbc50de5dbdf315eebcbff572393b669bbc79c077bd8d5be2bc300062b9141689bc3c0b48bd602ea3bc2a9523b9379299bc29d349bd0cb484bc69ae183a14f671bcba5015bd5d6512bca2dec43a743e38bc021ce4bc77c1d4ba11e2393b97d186bb8fb93ebc4f28293bc9ef2b3b42165f3b07c999bc26d1863e6b08653f29fecb3badd798bc8a53803eca085a3f17f0d43b4a5522bca9ae673ed39b343f0d41d63b0f96d9bb1b82483ee8ab183f80adc13b0a9786bbe066203eea3be73eacf2c43b7d92cbbb46d4fc3d8e00aa3ee4999c3b61d6dfbb63bba93de5db533e3a7c773b97d42ebc9e5b363d26b0b23d7818fc3a8d010abcc90eb03bbc635ebc28f957bdacddfa3b0000000000000000eb707fbdf081313c0000000000000000d45d30bdcc42ea3b000000000000000015bf2abdcfbce43b0000000000000000fdfe0abd6165963b0000000000000000532e24bdec82643b0000000000000000e1ac18bde8311d3b0000000000000000df7d31bdfacf4b3b00000000000000001f25fcbc00590a3b0000000000000000b564bcb9f342553bff785ebafa4f90bb145f2cb9e979f83a5f70cbba6a0dbaba02710bba0ca65a3a72de56b9735af9396d350aba681ebf396368d5b984bd813acf9f0bba48f72b39f3bd1439d2ca0e3b589ce4bad8e1093afd98a73acf648f3b1323a8b924860c3a920af9383a47c03b6cc141badb9bbfb941c6e03a2b0e023c806fe2b94970383890c22d3a8645923bf037463bc769653b3c6bc93a0460aabbf108cb3bea89843b0fd5253ab799d2bbb464b63bc4b7583b287ccf39c3e654bbe058983bd45b313b57c4673ae7bd82ba22f7903b1ae0223a8bc7453a9f18183ab06ea33b4042073bcd8444ba7469c43a10b7993bf212c13a55a6b4b9106cae3aff44833b193ef9390e0c7dba3ec4cb3a49e2183b7359b43932b914ba028ce23abf5f0ebbf5e403bd46ef01bd9879fa3a9d6119bc0a4b83bde5a222bd1ff1093bba0a60bca8508fbd0a9c15bd2626a1b922247ebcfca787bd4a3904bd5a8b61ba04f069bc66276dbd9228cbbc39d029ba2d3289bc30e45ebdb19ba1bc5cf2b539869d57bca7ab35bd388041bcceb3d43a36741bbcbc0502bd00a835bbe7be4e3b693861bb01d56cbcfc170f3b1250283b5baf923a303fb5bb17aee93da7a9883f2643553b8ccb89bbc8b6e33dc316803f81e1883ba45ebe3ab4e2df3df569583f160aa43b1bb5283bfc76cc3d6e4d303f3f7dab3b2bb60e3b38ddac3d5014073f9fabbc3bc5601bbafac58b3d10eac43ec451823bbb3796bbf8353f3d6411743ea265553bcabd1bbc7635c33ca7c8cb3d8985f33a4d1205bc4f5e533b54c99bbc545a58bd3e66db3b00000000000000007df266bd08b6193c000000000000000005df1dbdb36df03b0000000000000000072e03bd7b33b13b00000000000000002be6e9bc3bd1673b0000000000000000b6900bbd1083003b0000000000000000ac4120bdeab38a3a000000000000000021fc35bd34cf113b00000000000000002da314bdf057a03a000000000000000000000000000000000000000000000000726885b94552593a112f0abadcb5f9baf57ad8b9e775f8380e8660ba320d52bab5620dba705e43b9b4397bba46468f39335248b9ad460eba87f7fbb9bd98603a29c15fbaec86913a7ee78b3a9b8cc33a191525b90a528839ec52633a5408803b03bd80b9eaf562b785de933ae0d39f3b000000000000000000000000000000000000000000000000000000000000000031c06e3b5e65363b8dff253aab6e91bb7df7473ba739fb3a8d6f6e39becd8fbaa9d82e3b3ce1cc3a170c1c3adc04c33820b7263be3789c3a65b44f3a894b7f3a0b9d003b9d77973abcd40b391535423ad2624d3b71854c3a9ce27db860b6ae3abf784d3b55088f3a16f810ba03a6913a00000000000000000000000000000000000000000000000000000000000000002967f5bb1b5d6abdf46c0fbddfbdb0ba6af712bc7a936dbdd874f9bc19fd06bb857a1cbcb1785ebdfe15d9bc6d6716bb226c1bbc7ebb44bdf949b3bcfd8405bb26240dbc195835bd2bb194bcba8ac1b9c80f16bc455416bd3a423abc78e8c0375647eebbefc4efbc9c0dacbb55b1b53a000000000000000000000000000000000000000000000000000000000000803f7aa9f13acd9e163c7390e9bbc542893f0691223b23ab143c8d14a83b0880653f81237a3bd59e0a3ce66e3e3c9b2b3b3f9bc7793bb3eddc3b174a5d3c1994113fa4c3653bd7645b3bc2e9503cc3e8d43ef78d443b9c73b539ed702b3cc718863e4673323b85166dbb2842c23b52e0e73d0000000000000000000000000000000000000000000000000000000000000000b49cdabc8079c33b0000000000000000aafb6dbcbb378e3b0000000000000000c4743fbcd0f34d3b0000000000000000448853bc4a879e3a00000000000000003fbd95bcc5486c3a000000000000000010adc4bcca4783ba000000000000000063a807bdc802a8ba00000000000000000000000000000000000000000000000000000000000000000000000000000000c8eababa085a9abb8a9aefbbea4e8839e1f005bbb79693bb11b5a9bb7422a73a36765abb2e4f8cbb6d1174bba132823afb24fdba0c0a85bb295c38bb1f3ab63a4658f8bafd005fbbf2114cba9f4b473be0528abae37825bbc32da73a5de7213b65a351baafab13bb14d5263bf60fab3b000000000000000000000000000000000000000000000000000000000000000007910c3b63cdd63a901785ba26eec1baab33013b354dd93a82d31fba3d7948bb0760743ab940ff39cbf63e3a559cb2bb0829403aeefb96395404183a640a9ebb12a5f23a75bfa43a8390cdb904a1cdbbcea0173b974dcb3ab557ddb90a64d6bb33771e3beb9fa33acab3adba5d44e9bb0000000000000000000000000000000000000000000000000000000000000000f189e0bc7bd706bd51a414bc737db3bb21e0f3bc9abdeebc936f21bcf4b8bebbc57eefbc2b92d4bca8d222bc1eddc0bbc8a6dbbc2badadbc09bc10bcf384abbbdebbddbccc2697bc64f6f3bb0ab28fbb3e8ecabcbd4c5ebc1d92a1bbff3f3cbb8759b4bc8b380cbcfb3e03bbd89bbfba0000000000000000000000000000000000000000000000000000803f00000000fdc30e3c0595cf3a9bc47a3f2112173b9a9b183c3d533b3c7e39553fbd72273ba4c92c3c461d733c7620303f10e77b3acfd6213cb8cc873c99db0a3f464262bbc69cfb3bce11873cda48ce3e72382abc6720a63b97086f3cf7a0863ebdf890bc300f153beb103f3c6251fe3d6e19dfbc00000000000000000000000000000000000000000000000000000000000000005041303c6d1e973a0000000000000000916cc83b5a0a0fba00000000000000004535473b7001aaba0000000000000000c1fe31baa2d13abb000000000000000055ac87bb1c4691bb0000000000000000f508ccbbe97cb3bb0000000000000000c3c800bc5ef6e3bb000000000000000000000000000000000000000000000000d61ae2b9393715bbdb510fbce1eb01bbb92e58bab32253bb4e6be9bb722c8239a9230fbb68ff92bbc4d3cabba0ce433a1417a7ba4594c5bb910588bbc1701e3b5b6f09bb6eb498bbb08a55bb29070b3b275f0abbdda67fbb01d8b8ba457c6f3b0343bbba48995bbb323c763a5750b33b658627bb698d27bbcdc0293a1f79b53b81b0f2b95a59ddbaa777193bfaf28e3b3cdb023be78c7b3a2dbcd6b937ba9c399ea3773bf95bdc3ab0ec9bb90ea43abb7f6a113bb8f61b3b619aedb9596426bbf58c503b9125cf3a914aaf3a4c919cbb7bd10e3b8bd0b13ac4207f39a40587bb6f9c383bc7ebe73a8b4814b942c2c5bb4b77633bb7644e3a84b165ba6d75dbbbc01f323b9a7db13aa9b7f0ba6bddcdbb3914073ba289873a56efdbba3c587ebb1c0a35bc7a13e6bc6743e7bbb2f635bbd907d0bcedd51fbd72df36bcaebd96bb561e04bd541c1ebd14f859bc10f3d8bb5a4809bdaa590fbd69f56ebc17cdf4bb6843f7bcc2bfe4bc6bb832bcbe35b2bb35e503bd2fa9d3bc8d1520bc7a619dbbd093efbccfd39dbc11f6c6bb8e6f44bb4d04b9bc686b46bc2ca800ba76b9c0ba6f9369bcf5ad93bbb1423d3afff75b395388eb3bb5d885bc7c78793fd2ef033e7b9c393cdfe216bcf400643f349bef3de971493ca878723b5b09433fcc4ccf3d0007493c9b8a2e3c2af9213f7c4da93d6def2c3cccb1673c3cd3fc3e5799753d18e21d3c8da2863c8ca2bd3e0c940f3d9dbed03b8b916c3c6ca1773e77551d3c4c888e3be63d293c4475ec3da6a06ebcc29a7fb9fadfb43bb1643abb0e24ebbcb142ba3b42c2463b0000000000000000e5e1a03b039b8c3a000000000000000047a5883b2f2c1c3a0000000000000000aaaf973aa89b02bb0000000000000000c3584cbb6aed3abb0000000000000000df9bedbbaff890bb0000000000000000aeaa1dbc3674c9bb00000000000000002ee732bcecea9fbb00000000000000001592f7bb3a0ea8bb0000000000000000839b7f38cdb281ba3bc9c4bba99283bb074a9dba004c28bb0467ffbb7e2c52bb195a6dba92ed2fbb9aa8aebba0916bbaab731abb91af9fbb642bccbbf8a5433a472607bbf1f58ebb9ee08abb86178b3837ec11bbb1fd93bbbbff40bb7d49243b51c8c8ba17c354bb145756baa8ea623b6c319aba253656bb35663f3a0696a43b9b2760ba4a4915bb96055a3a62ef6e3bad993b3a0385463bb0f6133ac944b039a201d73ada87133b38e36b3a8b51d6398921e53acfb5c73ab2b9213a36e291bae7203c3b4e21803a01e5a13adec6a2bad87b953afe98793a5eb8a63a09bdcdba5d1c2a3b6d94053ba63f0b3a6f466bbb5676293b852e703a727703ba2ff471bb97465c3b8be2d53a025c96bab11186bb4485163b81b28f3a777c9abad7a31ebb251b8cbbd8e2c2bcbee516bcadb927bb123384bc6af417bd5cf876bc6b12a1bb5ea2afbcf28810bdb33561bcc9809ebbf939debc7ade17bdb9f581bc1fa8ddbb457cbdbc4555e3bca9b544bcee9aaabbb1efdcbc81bce7bcda3937bc367797bbf781b6bcabaaa7bc2a17e2bb6bb84cbb3989a8bc405974bc55e556bb7a62abba97133bbcc20acebb48597c396749d739ede7e23bc6cb9bbc4c78543fdbed863e32693b3cd41a71bc570d443f6298753e51842e3c05ea01bb11a2253ff217523e9090563c09d1c33bb4f90c3f8d912d3ee0f22b3c82411a3c6a56db3e283b043e6759283c1f1a4a3ca83da73e5c40b43d6dcbe93bd7fa243c1ed35b3ef355473d9c3b863b15f00f3c29a8dc3dc2a9a73b3842b33a1ff1873b02ee463b63b2b9bc95f105bb9550683b00000000000000001fe4e3ba0049743b000000000000000078cc52bb34aa5b3b000000000000000002fe94bb344ccd39000000000000000015dfcfbbad6b9dba000000000000000060993abc7abc61bb0000000000000000ea4048bc2e3d76bb0000000000000000209e6dbc940da3bb0000000000000000f58b20bc3a4b50bb000000000000000095f5a93955190fbac089bbbbe15bb5bb3c8f61ba935305bbb418f3bbcb9db0bb258b25bb36a128bb4b1cbfbbc20b96bba7f011bb91ae8cbb215fc3bb18b0fbbaf80e03bb9a9991bb146eabbbbac959bac54dbebaa1a074bb10bc93bb59a8533a18230abbec238bbbbdee1cbb63d3473b2aa81837df6e40bb0abe5d393b0bcabad462803a9952dabaf3ba823a96206fbb33e403b9f8a0ae3a37b5023b28bc1d3af067493a0e030c3b1ca9173b53c3783a48e5abb8cd0f2e3b6e3ee93ae4c3d23971c1ae3a400ec33ae450073b24f47639eab8a23ada76403abfbd183bd10becb9d962063b155bda3a7b39b6b99c7ec2ba65ae623be473ff3aec30cf39fbb538bb3af8a63bdb10113ac15b60bb4d0e91ba99a2573bec06633a232091bbabe13b392d17283a573b9fbc993540bc0c54e8ba52560dbcdada08bdccc096bc995981bb124b76bc21da1abdd68893bc4909d8bb8055a6bc2ff914bdda2893bc048fbebb1791a4bcbe7f00bd2a6e76bc6101b2bbad51b4bc4429fbbc9a395ebc631157bb4941aabc5ae5c6bc434414bc76de46bb0a8474bc385e89bcec3baebbe193a03961e4f4bb5767f4bb1428acba7a54993a0d88d33b6b4783bcae5e2f3fdea7cd3e1aa3313c6c2553bcf040223f0fdbbb3e9ab3433c78581fbbfaf80c3ff38ea13ecde34d3cac36983b7068ec3efc44853e955c413ce3e3113c7f88bb3e1dae4e3ea6b42f3c0b3a2b3ca88a8e3e77b2133e7e84103c7a83233c8bef3e3ef3a7ad3d9143563b3b268b3bf865c23d15dff73cf9dd8bb9662d82b90174a93b40f373bcb23ef0bb456b9a3b0000000000000000d73a18bc44a8ba3b0000000000000000f903e3bb9f005d3b0000000000000000d94121bcc24f0d3b000000000000000051e237bcdf90b13800000000000000009d8b74bc3e2c96ba000000000000000063a194bcddf84fbb0000000000000000b2d598bca58a10bb00000000000000009ddd45bc14c882ba00000000000000000dbe5b3aeef39b39cdf9e3bb3a4bc7bb55ee98bab0a516bbd9ade8bb9836f0bb480cb7bad92441bb1fb6d6bbd89baabbe11a03bb069f8bbb7c8ddcbbc49e72bb4f2cb8baee7c74bbe813a5bb723922bbaa2cf9bac91e88bbe5869bbb9a3a9bb89292cbbaff9c75bbf8f34fbb4efaaa3a4acafcbad8e08bbb038a03bbee014b3b66640dba43dcdcba977fe2badad2883bc3cadab9a996863a4435443b9cd3fa3ad2fa0dbabae4f43a77f4663b21e2c83a98f93db953e8d53a9d55453bf8f8e73a0b0a053a76f4b23a73de423bd666a33ac5e50239071a34399b48223be628603a4d820b3b58ecd33a07a0dc3a3d71f7b9f9c9233bcaddd33aa986433a9110abbab998693be790093b339b41b8bd26ddba2b852e3bb763ac3ac6160bbb8f084ebb517c3a3b61b68fbc46b889bc5df595b89fe94cbbc463f2bcefa5b2bcccb344bb89691ebc1de904bdefd1aabcb348a1bb9e1f6dbc2fd412bda522aabcb211bbbb182344bc45eccfbc83ff65bc006896bbbb8e8ebc173afabc2ce672bca0738ebbb9a67bbc8570c4bcde3623bca0af2cbb28c262bcf4269cbc4f22bebb578b82baf2161abcb62833bccb7411bbe76baa38f2a0c33b03e64abcf9920b3fff310b3fe1f7193c95cb04bcec37003fcd23fd3e1c35263caa4f5b3a19a3de3e5d60d83e6a743e3c2d89cc3ba325be3e1385b43ec7c2193cd5e8033c887c933e334d8a3eaf08353ce22b263cc863693e8ac24c3e15aa0c3cf9980b3c186e1c3e0230fe3d5073d83b0522d13b2f45a83d768a4e3d7bf2ab3bab68153bfc87393c77bb7cbc825759bc6ab1ab3b0000000000000000e60473bcb0ebe73b0000000000000000d0b240bc230ea43b000000000000000035c862bcc51b5a3b000000000000000054b13abc711d4f3a0000000000000000b3cb9cbcd55c56ba0000000000000000eb8ca6bcf27504bb00000000000000008bcbb8bce692fbba000000000000000045c383bc2caebeb90000000000000000c8d9df3a3f77013bef40d2baf1ccb7bb4004703a6a6422b6a7b07cbb18afe6bb7068efbab98d44bb656ee4bb7046d6bb620975b9b9e586bb9f0ceabb65bf5fbb2915ebba85fd85bb742ac9bb2d1543bb0e0bfbba835389bbd9efa0bbbc5ad0b9a60be4ba459773bbfde18bbb8897353b595e9fba216445bb6ded24bb0a203a3b3a7f1d3ac5bb10bb1476bfba709d0a3b376892bbebe8a03a7bfc9bbab15b59bb9bed3fbb74770e3b0c13663a2a660fbb098a0f3817e7133bfdbe7d3b5cdde63a67e7a0b956d1193ba361573b1739a93a5ebf563a7eeaa03a77393e3ba1b3b33a9a59183b82aaf83a7264e23a7259dd367c83383bbb79e83a80c5163a3bbd513ae82c803b92350e3bd18dc8b971b1e3ba66843f3b4741bf3a2b3b7bba8c33a6babec8073c29e33cbc91dc7cbc39cf66bb05741c3b6afadebc203acabcbb2ca5bb5b81d1bbe28912bd0578d9bc735b9fbbee4a33bc826319bd1be7bbbc1b51cdbbcea846bc92e107bd0571a2bc76dca6bbcbaf6abcbb7e06bd42358cbc0f1988bbfae66abc7e8becbcd16b4ebc1e9f42bbfeac43bcfe4eb2bc4190dfbb2d36f3b9fa26d8bb9d363dbcedd303bb2cb8703a5932ea3b5c6b5bbb9e14cd3e593c2e3f10310c3c60a5b4390e17bf3e89fc1f3f21a1213c9fba953b04bfa93e25370a3f4314383c25bd103cb4c7903e986ee43e2ce42f3c3c472c3cca056a3e1047b23efda9323cb61d2c3cdc24363e2b08833e5d60153c866f063c995dfc3d358c253ef796e83ba659a03b24068b3de711903dc9387e3be398a93a230e2d3c101d2ebc796554bcc30a593b000000000000000081ae91bcd492ae3b0000000000000000de268dbc3787d33b0000000000000000c43492bcd0a5663b00000000000000009d7a93bce1d1ed3a0000000000000000f7bdbcbcd281feb80000000000000000db25dbbcaacaa93900000000000000006d7fecbcc8facaba0000000000000000cc6caabc9bed4cba00000000000000006e802dba17663539009b7dbb9f8501bcf44b97ba8b209dba82e1d2bb042e13bc0601c3bac3781fbb5cd1bdbbd766d0bb97bacfbaa32e63bb7f17d8bb15ceaabb1f22adba200659bb4e4cbfbb246860bbdad3d9bab41f7cbb8550afbbe7089dba01ea19babe8615bbd7e059bbb2bac23a4ad0afba735634bb642b46bb9361433bc1c969bac820ebba51b7abbae584383ba5cf98ba34d0403ba89d2f3b66afa139d39365b84627693b4119833bc0e6393ac6c78db81b8b023b125e663b1328e13a2d32473a7f67063be9917a3b717a003b166f073a21d74b3a0cad613bef8ae33a44752c3b2c882c3b6a16113b27e1c7397c31663bdcbaf53af7610b3b19771e3abe5d8f3b8ebe2a3bbf010eb94649b4ba1772553b6f11d23a48824dba97a4d5ba740bd03bd8ad70bc4829b7bc376e86bad3591c3b6d4ffcbc473303bdd1275abb50bf4ebb7d4d08bd5ab7dfbc5cc699bb845fefbbd3a41dbdc35ae3bc9183c6bb4fe308bce33b01bd36f3a6bc07a5a4bb08ef42bc12af10bda7e19fbcfffe8abb9b1c3cbc69b3ebbc33eb45bc8b6401bb2cc227bcf8c6c6bcca3ffabbe66774b9bb51c0bb222152bcbcb8f6ba4ed39e3aa98f4f3b6b78e8baca86873e2700543f1525d33bcb83773b96e57e3e0ad9423ffcc0fe3b4913073cbef9623edf16243f2a401f3c1a8e4c3c6c52473ebb080a3f30451d3c156d423c467a203efc61d53e4b522e3c8383453c1384023eca149f3e5a70023c2874fa3bc8f1b23d49b94a3ede1c023c450c923bc6dd573d557ab73d5d51913b7c41343a6bdf3d3c284c19bcaeed9abceee5e33b00000000000000000336babcd9320c3c0000000000000000985c85bc53e8c43b00000000000000003cd194bc63b98a3b0000000000000000df7b8abc8328de3a000000000000000039b4ccbc55b76fb800000000000000005c1cdbbcc89dfdba000000000000000001b209bd5ea6d1ba00000000000000001beecebc646c47ba0000000000000000a4a33ab9ce180b3aadea5abb49460abc998559ba5e341fbb66a5a1bb840500bc8030abba73ac33bb2748d1bbdf66e2bb6130cfbacfc575bbdf4dd4bb250bb5bbf815c9ba0bbc3abb067baebbcf652dbbc91db0baaf3b72bb4dc1b3bb66d15aba95ec77ba24db42bb21968abb85d0933ab873c7b92e4503bbb3cc2ebba8476a3b14e1feb91d14c7bab71af9ba798d443b63a3aabaf7833b3b13b7363b5cc7ae39ed7d403a1569a23b17394e3bd855bfba616ace39faad473b71de743bbf61e23a8d06193aea15193b4d9e7e3bac3f0d3b3e50c53a17c7083be78d413b466b053b0cf2353b84cd373b4301053bcfc74b3a27086a3b5613413b0349b93a2c2665b909b99d3b1242383bd992a7ba49edaaba5044653b876d533bee67f8b9ec3be4bad153d63b18f38cbc639fddbc827504bbacb7583b3bab06bd9a4e17bd7e186fbb4417d3ba2d471ebd955708bd06eac1bba4bca3bb734324bddc39f9bc498ae1bbe35af4bb5a1811bdc270cabcd90cd5bbb5fb1fbc1f3c16bdd3d1b0bc5155a2bb63a525bcc1f904bdade27fbc9dcd3ebbf78b11bca4e7d6bcd4930fbc846d6cb85c28babbeccc7abcde0c4dbbe035753a9c93e23ad3bba63b3a08053ec17e793ff20cbe3b4c044d3ccc8a023e265f633f63b4cf3b8c34753cc904f43dbbe1413f553e093ca572883c2ccfdd3d8b24203f89740f3ce766713c2ac0b93dfaa0f93e7d8e173c6ae2583cdf029c3d311ab93e4dc0173cefe3243cdf2b6a3ddb3b6e3e1f2fd33bb8185b3b73fd0c3d17ccda3dd93eb03b6976833aedbc443c9a9422bcbe278cbc5d78e43b00000000000000002fa3b2bc8dacd43b00000000000000005fc757bc404dc63b000000000000000088915abcde205b3b0000000000000000dc836ebc5af5603a0000000000000000a1b4b6bccdbe92ba0000000000000000579bebbcd09b25bb00000000000000002c5310bdfc201dbb00000000000000007482f5bcd54614bb000000000000000000000000000000000000000000000000d6c84fbaa0c899ba0754a1bb7b9802bce9d988ba4fa12bbbf5e8b1bb9e74cdbbf3b154ba5f7448bb9c72b0bba198a1bb06c8d3baa1966dbb5985c0bbf58a81bb83ff34bbf65fd5ba1c2bb5bb7c72f2ba7deb0fba225421bbccf76bbb01e1063a00e4adb9cea005bb995945bb4de50e3b00000000000000000000000000000000000000000000000000000000000000003433c6baf72cec3a0638673b294e0e3b64ef68ba3600db3a10ab5d3bb9721f3b66276bbafb5f6f3acc44623b4a4b383b84e42cba7f1e273a8e20843bb0646d3bdab4c2399c133f3a69a1653bc3b8183b83a72a3b2c77153bd4c4c53a495fcc392d4c633b22cc103bf357603a148a76ba0000000000000000000000000000000000000000000000000000000000000000a029603bc902e3bc095bf5bccc3eb3bbf36a4238f202fcbc3df1dbbce795d2bbd02a14bb33d5f9bc1e76c5bc8e9dd4bb9ef1aabb1abeebbcfc53a7bcbe7fcabb4487b1bb9879eabca6de8dbcd817cebbfe5feebbea06d3bc0ddb54bc8f1098bbd403f3bb9b2ababcdb5110bcc939a1ba000000000000000000000000000000000000000000000000000000000000803f3bee2a3bbea76d3c3d3b1e3c5f867a3ffb2f963bf7327d3c247f893c62a1543f4c3ecc3b96837f3c3de6a93cfb902f3fc0edf13be3ae6e3c9e89b33c20870a3f715e043cbf035a3c1362b93c406fcd3e41c9e83b4c98183c69eb9e3c7542853efc91e93be14ace3bd2d7893cd5a0fa3d00000000000000000000000000000000000000000000000000000000000000008f6ea3bb1f86cc3b000000000000000014cd3abbf318843b0000000000000000f0fa61bbdbd10e3b000000000000000014b0b7bb6f7a08ba0000000000000000efa14bbcc417e4ba000000000000000059c79fbcd85d59bb0000000000000000b50be5bcebaa88bb000000000000000000000000000000000000000000000000000000000000000000000000000000002e62feb9dd2cb7bad4c6f7babb83fdba2cba25ba6eb7cfba20eb09bbc35906bb71151dbac6deb1baa82de4ba9b2fd7ba9c6610ba8e9ea9bac5d0dcba6a36dbba52035cbaabf8d3baff43efba3751edba7c400dba67a6a2ba09e0aabaafc796bafbedb2ba7789f1ba0c84c4ba72c58dba000000000000000000000000000000000000000000000000000000000000000034e0b5bab96280ba8d7cc23a2ac17b3a4453f1baa67da3ba9e6bda3ae6ee533ab5e8c5ba1d7ba9ba3f63d33a78fb013ab84dbabaf05510bad684b13a16528139e612cbba90dc50ba6e7db63ac96c1ab8db7385ba39f966390a337e3abbeda8b9d7f33fbad960d939b1cfe1b82961ebba000000000000000000000000000000000000000000000000000000000000000062a3e7baf67f5ebb991023bb7a1d0abbdefd0dbbad8362bbe86335bb41c621bba34912bb7bce48bbf32226bb78d20dbbb99100bb52e929bba53214bb00c403bb507014bb709a3ebba24f25bb2d8416bb66ce0fbbbe3a18bbf44afbbac3ebd7baaa2646bb0cd034bbaef800bbbd23ccba0000000000000000000000000000000000000000000000000000803f000000006b79103b26b3363b43d2623ff6d81e3b737e493b902a873b0279423fbb081c3b264b493b213b913b76ed213f9fb8f93a99c93d3b443c883bcf50013f16d78f3a94c85c3baf6e983b8235c23ea01ebb39cca43b3b7c62873b4356813e6afd2dbaab3b5c3b7b33943bf67e023e362449bb0000000000000000000000000000000000000000000000000000000000000000a2bfe63aed2715b80000000000000000fe079a3ac7f5e5b9000000000000000014250f3a592327ba00000000000000008a6dabb8508978ba0000000000000000f1d650ba9952cfba000000000000000031c993baa4f8c7ba000000000000000049df25bbf43423bb0000000000000000000000000000000000000000000000005eae01ba6aaea2ba5091e4baa456f3ba5cedf3b9dba2e4ba229d2bbbc8b33cbb73d502ba1904d5ba401910bb342b17bbe29ab3b93ec657bbbf366bbbf8db60bb9f7e7abafa2b06bb515526bb08872cbb594881ba8e270cbbc48823bbd33926bb7c2561bad8b3d9ba6deefdbae2b6dfba54329bb77d0656ba008521ba6f60d8b870440bba30968fbacba64dba8c9711bacb9093ba08118bb99f2ae83ae554dd3a5e731ebbf8a2bcba6c83043b4847be3af034ecbadf370cbb68ee053b1a5fa43ae4a244bbd37a59babefa173bfa13a43a5740a2b9b51df7b901a5dc3a0e39b039ebd4eab9b4b0153a8fd0de3a55ed2d381065e1baa33dccba3eb0b53ad8155bb959168639c9a900ba5816ad3a50c400bbe8f60aba526f7e3a38ea6639c3e51cba3d6185bae61d49bb933d0dbb04f2e4ba085ccdbaf7e589bbc60d5ebb901643bba6daf9ba67d77fbb8b364cbb22a228bb5f8bffba662764bb772799bbd33f86bbfee31bbba9ca6fbbb29859bb9fcb80bab8d12fbb93af74bb4eb95cbbc7994abbcb1a1dbb41e849bba06625bba2cb10bbc4a16abb9d0878bbc10289ba0ffc2cbaf0f7bdba4ac9c5ba763580ba3b1f80baa2d1e53ac065bb3a27c2623f37fc013efa0f473b52e0513b817c473f896ae73d8a435d3b26168b3b77f82a3f48c9c63d9cdf923b2c0ec43b23cb0e3f976ba63d14276c3b77aea03b0085e33efe13833da5d5833b6359b53ba800ab3efdd0423daa11723b926fa23bfdf1633e54d2fb3c73a55c3bdb50933bdb7ee53d7b1a483c0fdcd73a3219123b77e4ef3978cb14bbc25ca13a5f3205b90000000000000000cebff43a93559a3800000000000000008511bd3ae5d357b9000000000000000097d8863ab7245fb90000000000000000c2cbb0b9fccdb2ba0000000000000000042d8bbad1dbecba000000000000000045eecebac928ecba0000000000000000bc175abbe67459bb0000000000000000d634d3ba46d9caba0000000000000000cf7c8d379d0249ba9d66c9ba930102bbf830bcb918e7b1bac45514bb4b7432bb8f0133ba982cc2ba997efeba317a00bbd47db8bac9cc2dbb8f775ebbd3cf72bbd7780abaedf7c8ba66d306bbe30b0dbb3b3a38ba7df4f8ba964e1bbbf74619bba284e0b995deadba555cd6bab74aeebaaac909398c6b22bb4ec615bbd677e6baa8cf3c390e6b92b80b61eaba7fe69eba8d7eb6bad2e8d4b93e64a73a5e74a63a413e15bb61dc9cba28b2093b43c2e53ad811e3ba719a25bb4c8aad3a6fb8563aac55e2ba02687bb7c3a6613b6020193bfbc90abb30e5b3baa324f03a3c374d3ad9a606bbecd192ba5a68f93a8ba40e3afa1ce8ba8ff888bacc98f33a80231e3aeb02b4bad4becd3aafaec63a4f63e339f44944ba5a3f3cbacc90233ac34da338d3263938748e1abbd85e0dbb44f3ddba7f1a2aba1feb77bb789c5dbb59ea33bb2627b9bace965dbb8b4a3cbbdfcb1abb6a442fbb4196a2bb10e296bbc3238bbbe696c9ba489e4abbab823dbbfb0128bbd8ca0abbddb66bbb5abc59bbbb213abba157b6ba7f9124bb797b19bbf19c0dbbd0f343bbdc0b67bbce3a32bb852313bbbb0f04ba0dcb0dbabcb6e6baf85ad0ba9fd6b43ab4b92f3a1938423ff67d813ef440303b80bd273b37402b3fdcd1643e6215783bb19c223b9a42123fee30433e1ac99d3b600ac53bb0cdf53e23e7243e0a5f523bc9cd903b5582c33e0d2e023e38c67e3b89d1b03b8467933e120fc33dadd8803bf1bd9f3b37b2443e95da803d0ad45b3bcc7a913b1b44c73d2f28ea3ca5f7d73ae510133b302cb33ae3a0abba1182893a450a90390000000000000000de82ca3ade8c7d39000000000000000019672a3a97bea8b900000000000000008199f2b9002ed5ba0000000000000000154397b8831374ba00000000000000002a5368ba4073d0ba0000000000000000c5c87bbab7e8adba0000000000000000bc9152bb916038bb0000000000000000ca1086ba6f0a0fba00000000000000001441c2b39d0b30ba2dcfbdba302cffba8afc6538a1c173badee505bb084d43bbfadc16b99f8fbebac1ed1fbba53c32bb51b6efb916e9ddba145d2cbb688c42bbb2cbfcb9889ac6ba400913bb844d2bbb409e1eba774fdfbac8901abb5a1916bb002161ba57deebbaa84311bb89a00abb45940cba20a8b3ba7b3ecbba125fa0baa9c2d5b968f480bacca675ba88ed3dba860ce0ba77104ebae882c33adca3c13a85f21ebba7a2a5babefe0a3b4212e43a45102abb0600a9bab327253bbbb5f03a067b3bbb5fd5fdba9fe1253bceeed83acd382cbbc1b640ba3abc053b09559a3a30790bbb9891b5ba0a57023b8115673a88a004bba9215eb872bed03a0183c63915ce6dba5819c9ba447e973a642af338a1d923ba05ae6c3ac9fbea39fb0b30b9ebfe1e3a0014f5ba0b9f10bb80c3e5badf906db847d64fbb6ca258bb423725bb8e2532ba2b4c65bb81da6dbb40dd43bb6a23a3ba48ec7cbbbf7d7ebb78f057bb3166a3ba813a53bbc87a53bb234b39bb985ad7baa11b68bb818d5cbb200938bbedcfe0bae9a04dbb0ac339bb237220bb2009cebae89e25bb9df002bb93e9c2ba84b28fba7f5dcfba802492baa17675bae086a53a654a413acecc213f210bc23edd52183b11e7133bc0a70e3f1ef8aa3ec67e443b0c756f3b5618f53e13b8923e57306c3b340e9f3bf6ebcc3ea5ee743e96fa573b6b0c953b53b3a33eaa30433ee362723b2483a83b44d3763e8957123e0b2e5f3b23bb933ba6ee243ef760c13d6679403bded37a3ba71da73d256e3d3d76cbd73a04ff053b63e5b63aaa97a8bad745283a543fa9390000000000000000bc73423a6c2ffc380000000000000000730f4c3a1157da370000000000000000509ab3390adefeb900000000000000001c188bb92ed264ba0000000000000000b1558dbaca04afba000000000000000013b5ddba815fd8ba0000000000000000409309bb3284caba00000000000000006539f0bae6a7a3ba00000000000000009bc0d9386b32e0b9486da6ba446eefba9c854db84d0d64ba7321ffbad5542abb129087b9272cb1ba4a5f34bb99d355bb897703ba7c41cfba74f424bb735543bb1312dcb8aaac77bafdaedbba3f4c80bbfdcc31ba0531efba93b626bb489026bbd07406bac19ba8bae3fe00bb047308bb6ed921baa17ab4ba84c6dcba35e8b9ba2bc4c5b9c5166eba18c57dba76da23ba9c39ecbaa50479ba5c9fce3aaab5c03a0a6d21bb5b0eb6ba34f4123b4130f83a93615bbb48e596ba5062303b1a16ff3a07fc46bb0357b6bae2712b3b9c33f43a1225e5baf83c31bbd352073b9274ac3a23061abb578083ba6c450a3b17058d3a0df805bb611e8bba27a6f93ab0de6f3a97379fbab47ab5b902b7993a6e6c763946ec0cbac78300ba2a59183a829dc63742976b3a0c0ab9ba965414bb645ed7ba2abdeb391a9a2cbba8eb67bb9e1825bb6ebc6ab9a15d5dbb236184bb4b8a5dbbe6d83bba5c736abb3dc07fbb207e50bbd88213ba785318bb46d31fbb789205bb116bb8ba35ed65bb4f126abb66043dbb71259ebacea833bb70ec38bb0e681dbb8383aeba37c31fbb0e460abb1db0dbbae9a36fba7185c1ba6d12a1ba049c75bac603883a16fd5c3a6967013f3759013f19dd003bf665173bbb18e43e0296e33e7df3373b6db17b3b764dc43e5247c33e158c593bd56c9a3bd36aa43e60f5a23e4ad73a3b884f793b62db823eabab813e11486a3b0773a43bf4b3463e9000433e2071623bd5f88e3b091e053ec48d013e3856353b9310653b4d1d873db98f7f3d786cdb3ad577083bf0bdea3a52d542bad8e2ca39b82b083a000000000000000071f0f4398ae2f43900000000000000009b30123ae16b85390000000000000000a9fc863911dc83b9000000000000000055c2aeb8c121b4b90000000000000000d7bfa3bad530a1ba0000000000000000a2f2c4ba2240a6ba0000000000000000115410bba7eeb7ba0000000000000000d845f3baaf5e8dba000000000000000045b92539f8b0a5b965649fbac29df8bafbda9038b9d65bba3e6c0bbb95c63cbb937782b9030d9dbad0db1ebb7d7e4dbb344019baa824cfbaf0d62dbb362750bb2eb9f8b90dd6bcbab81119bb492f2bbbf57af5b9d4f9e0badb692cbb55a02bbb5e2c21ba4543eaba1cdf19bb101d18bb9f105aba814bb7ba9e14d9ba6f1ea7bae997ffb96cc580ba930392ba771819bab3d8ecba480f1dbac1edc13a2365bf3aa71831bbeaee2fbb0da81d3bff410d3b8f7e39bb2774bfbaf0542d3bc43e0e3bb2e440bbe28addbad0a8303bccc6073b90e729bb94c6a1ba633e173b2cfbcd3ab9ed22bb1a3187bab04a1d3b912eb73ab2ba03bb81c678ba00b7f63a33a4673aa739bfba9e9940bacce6b23aa74fdc39d32c78b9098685bae66b313af14d273955178f3acfd5aebaa7142ebb923cd2ba5402583aa79232bb4dae85bb83a82ebb83e52639421d4ebbfc0485bb6a4337bb9a82e0b9c4fa6ebb03908cbbecd258bb26b743ba85ae52bbd1f26dbbdaa73fbbd05c9fba376768bbefae7bbb3f9644bb02a4b5ba035259bb984553bb6f2323bb2cbababaf84524bb781b1fbb744001bb5e7c58ba6040c2ba42dcacba9fc72dbab32c493a8810843a2e2bc23e79be213f9aa0003bdc23383b06baab3e196b0e3f4d35293bf7be833bf2e8933e543cf43e386e4b3b29159d3b5524783e619dcb3e89894a3b1c84953b1eb5463e1f68a23e0267703b491ca83beadc163e31c1733e618d623b5397933b75d2ca3d5fff213e03b8393b231d703b6d85503d20e0a03d35e4f13a00840c3b6d8e0c3b156fb9b94fe250397872413a00000000000000003c2afd3998ae3b3a0000000000000000b03e103aa48ad9390000000000000000d6238839a45589b800000000000000004f1dffb9421e26ba00000000000000006077adba234e9aba00000000000000005c4bfaba8a34a5ba00000000000000005a7632bbf2ca98ba00000000000000004ce30dbbc32970ba0000000000000000ac8abd394959ceb9e36cc4ba596318bb0fdef939cd9b27ba60f716bb61b956bb44e763ba3310dbba23a92ebb98d94cbb2508b1b95b07cdbabf3f3bbbd6e450bb042e5cb9ce84adbab8581bbb96112abb3a49a6ba479b24bb6b6e69bb600b6bbb6a7da939dec43aba6a6d1fbbed301fbb10833dba53bee1bac44411bb27f4f5bab051e6b96a5d84ba0ff1a0ba1f0870ba0ca61fbb3154a9ba2ca8f23aa052d93a743f59bbc7d1fcba4c624a3bb5822f3b237745bb257ed3ba78869e3ad137493bf9fb48bb8755c7ba2711363bcfe9133ba02127bb0a3a26ba2dd3123b9f71d33a85fb5abbcdbef3baf75b663b822e2f3bfae205bba9ba6bba62a8383b3284f03a8b4fe0bab22577383b66d63abb73263aa9d652bada41513a6c56333a47aa53398c96963aef65c1baebf55abb923305bbd8a2b53afe5b26bb0dd997bb83a03fbb528ec2b98ed65cbb4e6090bbc4a346bbe3803ab9bae36fbb388996bb3c6a56bb282ff8b9c66343bb5b5c69bbdc6832bba3bff6baa93294bb998ba3bbbce478bba4d13ab9335608bb224e52bb48141ebb1861b5baa30c43bbf01144bb21df08bb99e86dbacb5dddba3c93d5badd0076bac3f9863ae3efe93a77bd813e2c30423f54c1253bca527f3bb6c5663ebc132b3fc712253b216c8b3bb8cc463eea6c123fd26f3f3b7353a53bcc93273e885bf43eba1f353b2a478e3b90ed053e449ec23ebdc6943b4fb7cb3b0cf3cf3dd2cf923e96481b3b17a7533b60b3873d2e19433ee8e9553b976d853b543f123d26bec13d0909fc3a1123143bbf0b173bffaa8bb9449c4438c18c273a0000000000000000c110673a88388c3a000000000000000092e994b96e089fb9000000000000000010ea8139df7d633800000000000000008cd0b7b9f4d0edb90000000000000000f45767b9f73969380000000000000000c9b17cbae0b8b5b90000000000000000924452bbb846d6ba0000000000000000fea826bbb7968eba000000000000000094aac33975d539b9ade1acba35320bbb41eecc3955523aba4b3121bb5a6058bb30e77a397e6075ba677222bb99254ebb2241e4b840d8afbaed8637bb6d8554bb7bb768b9f380b0ba86ce26bb211436bbd48bc1b91d88debac5f038bbd6ea75bb18aa01ba2ac0d8bac4f02cbb8c8828bb965139b990a893ba529be1ba903d85baab4670b9f86981bae8f0b6bacc2993ba78be0cbb66bb44baab3ed23a1846df3a89e75bbbb7b110bb892c413bd7933a3b1a9745bbe4563cbb0dc7463b152a2b3b54e250bba00bdfba0f09393b04341c3b9b232fbbbb85a5ba81c61b3b5c67f63aa55f58bb0a369dba20d2343bccb5ed3a62c315bb8c790aba18ca083b02f6a53a188727bbf39ab0ba582bf03a8267883a90a966ba733ea1b9591d943a5c21103afc8eb93ac6e7aeba876554bba055f4baabe1ce3ad29626bbae7e9ebb22394cbb2ff0603a4f6742bbe53c92bb12d244bbbe364539779b6bbb9d0697bbc4605dbb946f87b9c8e04abbed7175bbcfa735bbc6fb45bac92769bbe55c87bb4f7955bb0fdd88bae3f859bbe85868bb08a430bb461e91ba388823bb40cd16bb98aa55bb21f570ba3825eaba622ae7ba9b5d99ba6823e039b7e2fd3ad8ae023e0c9c623f5e6659b76a01893b1561eb3dbd71473fdfc20c3bd10e933bf76ecc3da8d22a3f312b283bb04ba33bf9c7ad3dd1590e3fde16263bef34923bc5db8b3d0d09e33e32e6693b652cc23b64f05c3d8a73aa3ecd6f593b20a0953bda09163d168b623ee101563b1874873b257ea53c2543e23d2840ca3af7f6393b1a44383bfc87b2b8106b223a794f823a0000000000000000c0e5b73aca929e3a0000000000000000c6fbb03a5aed713a0000000000000000b4355a3ad4f05a3900000000000000006bbcdf38ee9494b900000000000000003a0074bae134bab90000000000000000320a00bb9aeeb1ba0000000000000000e7ae37bb6352a1ba0000000000000000c7f72fbbd81aa6ba0000000000000000000000000000000000000000000000004faadd3988e90337afa276bb97e35dbba32ee6388b8d5bba0a5019bbc0653ebb1a406839cf005dba70f40abb522b2ebb27016cb938067cbac8b2fabafd2613bbbb173ab9525daaba34e611bbb7511bbb51fa6cb9121da1ba028311bb0e3211bbb54d32bace3d62baef8ddfba0917d2ba0000000000000000000000000000000000000000000000000000000000000000cdd55bbb146fe4ba23e6563bf4404e3bab8f32bb384cefbac1b1173b3df60d3b8d4038bb6d64dabaaea1263beaef0e3b4a5e13bbca3e97bae52a063b2332d53a7e9e01bb4ba216baf8f8033b347ab73aac2ee8ba619e07baa112fc3ac978a73a4d91bcba92338eb9a720a43af4edf83900000000000000000000000000000000000000000000000000000000000000005031f63a64b3efbaba9172bbed1e4cbb2bd52c3ad84f2dbb2cf37fbb8bf939bbc908e3396eff2ebbacd16cbbef6a39bb8ff79cb8a8a21dbbd55542bb309a1cbb86ee33baa66f3abbdb575cbbc1e21bbb08493cba3bfe2dbb25b73fbb03f30bbbadf410ba258c0bbbd7b716bb84e7dbba000000000000000000000000000000000000000000000000000000000000803fd524f73a8aba943b05ffa23b6f18633ffc85ce3a253a743b80b2943be256423ff9360a3bc1d3883bf8baa93b98ec213f3b02083b4fe66c3bca28923b0135013f1d6d203b2e1a833b73979e3b30d7c13ea4ed303b248a7d3bb75b973bb830813e4286293b83f34c3b209f603bb863013e0000000000000000000000000000000000000000000000000000000000000000c9f4163b3230be3a0000000000000000442ab93acc1b113a0000000000000000d480a83a17c4ae39000000000000000097a5eb3902cb8fb900000000000000005407c1b957ed5aba00000000000000005a239fba2c4488ba00000000000000002b2238bb32b27fba0000000000000000000000000000000000000000000000000000000000000000000000000000000007e46a394380113c41017d3c5207593c49ca3b3bdeaf083ce561813c5d016a3c39c3153b5da8f73bcd8a493ce304403c0b4e463bcf2ec03b9e152d3cb3b2003ce9ef023b29c6943b83571c3c8ce8cc3be28c6d399fb88d3bed77f63b8774613b367ddd37482ced3a632ac53b35467c39000000000000000000000000000000000000000000000000000000000000000030ce973938bf17bbb81a77bacfe8dfbc218e283bbb960fbbc87d71bbd61407bd04fa843b1a8b3cb9831dcabb6a6508bd8860af3bccd4c5bae577adbb3a81f0bc6a211f3be3253eba341273bb782fbfbc66b6be3a3a978fba2dd546ba755380bce8d7cbb97a9d07baea1f3b3a7acf81bb00000000000000000000000000000000000000000000000000000000000000002bd704be987b1cbd68bcf13bf9b84cb9c40ffebdbb4624bdf2675d3bc4c175b8c756dfbd86ef28bd8a5c02baa1423139fac8bbbd440403bdefe077398a8d5039f7f893bdd729b3bc58c3c73ad61e3e3905fe53bd17581cbcc8e7963ad521d83a8b35e7bc452b5f3ba0eecb3aa27393390000000000000000000000000000000000000000000000000000803f00000000514a673c128e81bdcb869e3f2e5671bd34d5393cd709cebcb8a7833ff03c0dbdbf7a323cc47864bbb331543f95318fbcd9aae73b0e35013c2d6f213f7b4182bc77a8923b6030cc3b58dedf3ede6e90bcab82223b5e08083b2183803e347ab8bcbe55a1ba6da4f8bb1e19913d66f3f0bc00000000000000000000000000000000000000000000000000000000000000000f19e13bea08e7ba00000000000000002cc9553b3b289fba0000000000000000bf224ebacb24a2ba000000000000000075c26abb626f1dbb0000000000000000c49da7bb9027cbba00000000000000002a7accbae334bdba0000000000000000dec5113b9732acb90000000000000000000000000000000000000000000000006ae590ba1e079a3b28d4093c5af3d03b3f5595baad9b1c3cb0dfb83c0825623c42a2c83a11d2383c5fa7a53c5bba8b3cd7993b3b8283303c7ce3953c50a87a3c02b4c73a23201d3cae37723c1b7a423c119a213b55b7da3bb807563c7066183c89cc1f397856a83b5192303cab7aa23b7220e4ba76cdb13a5554a03b171bdab82bf3c7bae3324eba5872df3ab72494baf821acba9d63d1bac907953b9643a0bc727acbbabeb98ebbcfbec43bee2be8bcf5b5063b06bb55bb4872c8b976180fbd9e7f933bb4fd3cbb093e62bbde7b14bdbdd0793b898d8aba9f1839bba18e03bd430a323bde38bdba5fe7beba2ce8ccbced198238bfd644ba4da0223a7f6663bc19dc0b39d70a1abaa93d7f3b4eb90fbb122ec5ba1cf56ab96e9f243b934eba3b4c178cbd9f75d2bca663fc3a240bf33a31d605be936717bd76d4cf3b85705e3bd23e0ebe565553bd5c8b133bba81143b8d1fffbd456356bda8ed9439df88c23a268dcdbdb01834bdcc2e85ba46b3af3a22b8a8bd22b3fbbc6477ac3ae470bd3ab6fd66bdf46e74bc1523d93ac92f463ae598bcbca2708f3a0ace6239543b6eba5229ccba83501e3cd8799f3a2466383ab3d9843c14b607be92589e3fab00953d0d36b03c95b808be5aee973fbc82683df5a6803c8e12a5bd8bb1823f99068c3d50bf463cc9f03dbdbf30533f2909833dc18a143c6830cbbc33721e3f59154d3d75f9cf3bf702a1bccba3dc3e37e7e53c8934753b066399bc7244783e0dd9dc3be33bb93bea38b5bcb55a8e3d817815bc8f1af43a7594b7bc788c5bbd8830f2bc941a95bc93e6c23a0000000000000000a41498bc7a14583a000000000000000035d485bcdcc51aba0000000000000000bb7f87bc417d5d380000000000000000ebd172bcffe9d0b900000000000000005bad82bc6b27623900000000000000007d4b32bcd8b0aa3a00000000000000001666debaee542e3b000000000000000034e191ba8ba6033b00000000000000009a84053acbdf3f3b13d5cc3bc2869e3bd41f2db9666aee3bb48c643cdbc8513cdcf4913a7ec0123c02a54c3cda845b3cba6b073b3d3b093c98dd723c7987653c75e90e3b0da9db3ba4b6263c39e0313c8f42fe3a0697bf3b7e8a233c7cb81d3ccf330a3a752d4a3b53efec3bd1a6d03bace376ba6e5a873ae1e0ab3b042ee63a2c414fba9222c1baadbb673aee3f9cbae50de83a3e27f4ba41169f3b6c20aebc2433cf3acfdb0ebb61a7b03bde16fabcd8b2a73bbdd478baf81192b9fa44fabc967ebd3b7e53acbac03936ba289a00bd6ce8ac3b585ababafedb1bbb8426dabc9ec94f3bf1aeaabaccb70d39ee75abbcdd60f33a1fc9a3bacb6cbe3a6a8b46bc22e5fcb9b50c8fba7a28133b2419ccba25a32ebaeb2155ba7f22793b3d778e3bf2ba16bde4b9cfbc8bc5f2bb35f99a3b2482c1bd4bae54bd0999b5bb69dfa43b8056c3bdf5b676bd871a13bc469a173b5edad4bd9a387fbd6fd9e3bbc5b8323b781ca4bdc89748bddc9fdbbba4d7173b638792bdb26a1fbd96ca0fbb6a2d133b21343dbd80b2c2bc8afb1139e2cc3e3b37a0c3bc56c1c4bba701ed3a0d4fff3a16149cba09abc13b4b02653bea05ce3a594b7f3cec7803bef73f843fb314833e29b4b63c126810bebd56843fc06f733e8d09703cd964a1bd13b65a3fa608633ee617663cb48188bd1c243c3f5bc5393e1ba8263c01d824bdac5b0c3f08e00e3ed868f53bafab12bdb1aec93e7eb9bd3de7de9d3b88d8ddbc03876f3e45ec463db5bad73b69edfdbce4afa93d8fbf883b6f71563b8bfec8bc644ccabc8a9acebc5d1339bd88455c3b000000000000000038504ebda4dcc03b0000000000000000fab81dbda996373b0000000000000000157e15bd743ffe3a00000000000000007f31febcdc8cfa390000000000000000c7ccefbc2389cf3a000000000000000097e7cfbc0c960d3a0000000000000000d6418cbc20718d3b000000000000000067e731bc544c503b000000000000000065808239316a0a3b7ea2913b75593d3b8a5ab23a9175d63b53a82a3cf0042d3c0964203b1804e73bde324d3c50be7d3ce2ae023b5473c73b5a6d523ccae16e3cdcde0e3b6582c63b4ebc423c3165003cda218e3a91b0a33bf8c1143c42cb123c8919bb39771a683b0d2cea3bb4acb63bb0c0d939ad32e13af55fa03abb12283b436925ba12a9a5b91421533ae54a823a9a2a013b419cc7b854097b3b2c82b9bcb527c83b23e0c8bafda3813bc7ba00bddceae43ba6afe0baef09a939e23300bdc3ece93b748e5abac5df99ba15b8e6bc51dec93ba557ee3aa2ed8aba5893ccbccd45b63b2e919cba6bdf18ba82b196bced1d3e3b7580c1ba12939c3a1fa437bc3540003bafea18bbb9f9193be61f39bb93bda3ba0b8f55ba57773c3b20a7b93a89119fbc84c9ebbcd4b284bc50079a3bd9c58abd43dc75bd347b8bbc8a4dce3beb72b2bd413a9bbd007878bc8252a63bba6facbde86c91bd986a6cbc5888843ba7d893bd7f2f79bdbcc53dbc36a13e3b9cb073bd3d3f3fbdc2f6e4bb5361613b40522ebd6a7cf6bc2af1f1ba1c9b9e3b1da694bcfbd413bcc9de323b80f6303b249ee8badf9cfb3acf827e3b9959393bcec8283c5fc8ddbd89de563f81bee53e66c9983c92fcf9bd2f12573f4e88dc3e4be9883c3c2ab8bdb63e3e3f5d96c23e7b5a483c01e181bdb6811c3fc2bc9f3e9049133c69d13fbd9e64f33e253d763e836a0d3c35ef1bbd0d45ad3e7ab1273effebc63bd17a0fbdeb75523e664cb63d0012d53b690214bd0847a93db58eb33c782fd93ada53c4bc535b1fbc031fdcbc949688bd32e1d53b00000000000000006f889fbd8c46123c0000000000000000a72086bd2a11913b0000000000000000bae764bd9139813b0000000000000000646049bdf3fe1c3b0000000000000000b51a33bd124a283b0000000000000000dfa41cbd98a0603b00000000000000002fba04bd91e5c43b00000000000000006390a3bc6a5a7c3b00000000000000008f7c8e3ab82b0d3b7f8d523bd15f663bd12caf3ac35fa03b673e043c13f91b3c767be03ab20bc83bdfbe2b3ca9a3433c3434003b3897d63b11622d3c0b624f3cd6e0a83aab2c563b0aebc23b2c89053c6b3a003bdca7943bec7a013ca8e31e3c066c2f3a647d3d3b2286b53b3546dc3b0100c2396b3a25398676843b6d612a3b2b5354bae075b2b9dfc3cf395be5913a45e86c3b00f98eb963e0553bce82b2bc3d3e053c82f1b4ba62ee6b3bb5b6e7bc2e56123c312d1939aacd3239eec6d6bcd5c11b3cd1d8d139b8ee83ba6837d2bc5e06ce3b94603b3a0784dbba94b889bc53c0b13bd5c9fe396d61c8b8d51d8bbcb07b3c3b794788babd82263a77ae13bcfd05a7392e99c7ba3be9d83a7c3e0fbb7a09083999440fbb02ba433b763be53a9c8529bcaa9904bd1d31b6bcb0a6c13ba4634bbd16188cbd7989d2bcb752103c63e182bd1b89a4bd0f4cc7bcb408a23ba66f8ebd1b78a7bd8daab8bcea1a8c3ba35843bd765e67bd351294bc03a6ab3a6bd354bd964462bd498331bc7efc993bd1c40abd4be60cbd537f3ebb1fae663b194c97bc5b507fbccd676b3bd06e813b6fb6d5ba6f382ebaff93ba3bd760833be97eff3ba68ab5bda202253f61d6243ffcb8703c0c66c6bd184a243f61c81f3fa5d5383c657988bd180a103ffef4093f2d97313c8b755abd1b55f73e1da6e43e1be2dc3bb7a8e6bc93ceb63e44bea53ed963ee3b64bd18bd5c098f3e198e713e92fdca3bd273fabcea582e3e1e57063ed18eb23bcc2ffbbca9f9993d32f0273d974c493b69e0ccbcf5cb97ba8edfd4bc7641b5bd6f9c003c00000000000000005604d3bd88b7393c0000000000000000bb52a2bdecdce23b0000000000000000071191bd119ec63b0000000000000000c11940bd4443b03a0000000000000000cc0c62bd2b8d273b00000000000000004b903cbd81fc7c3b000000000000000067f223bda536ec3b0000000000000000d6d7efbcc534aa3b00000000000000008b232e3a7d20ca3a6aa13c3b16ac4b3bbc602b393e38b43bcfeb033ca1dc1c3c81feaa3a1f27c83bcc6e273c5b37723cf6caaa3ad218b73bc36a2e3c52b0533c6a54433ab28dcc3be9b0f23be77a413c7e40553a948c913be2b9e43ba1c13f3ce30414396e5d423b48daa73b0576173c0ddb09ba6a00d83aaf0e183ba63e973bffbdb8b99b5889b9762023baae8a193b4e2c883ba899e539ee62743be1c89abcbdf9263c9cabaebaa208723b28ddc9bc452b413cda133aba27bcd83ac745bfbcb273243ca30c98b95bd7b8b72d9eabbca4880b3c74499e3a0c1097bab56697bc9e32b33bdb4cf2b990d0ff3978be5ebc691f373b3c72cfba3b40c53aad2214bcdb9c203a9cc932bb8d78033b0c7cfdbad8b20fba729206bbc8dad43ad6bc043bcb7ed1bb79131bbde588d7bcaa2df23b597623bd1b40adbd65d301bdab64223c73c96dbd31cacdbdcc00fabc9237e43b657d6dbddfc9bebdd09fe1bc6e28f53bd1bb55bdcc6ba4bd9864b0bc40f4623bc56c34bdc4be82bd5a0e4bbc101e863bdb6100bd2c6c33bdada870bb6746b23b686176bce991a2bc5342a43b0a8d7a3bd33d2bba29d929bbb928dc3b40cf913b2b65c93b1fc08bbd8ecbe63e5801573f49893e3c728f98bdc586e43e6722543fedad223c73e45dbdb6dcd03e2743383facfc063cff882cbdf6ddb23eece8143f21e5ea3b1b3a09bd10de903ebc16e23eb3a9de3b5b1a00bd0f4a573ee7829b3e1b3cf73be404fabcad130b3e2d4e2f3e1ca4e53bd783fcbc7499733dc79f603d29026b3bb961c0bcb386053be500e8bc52e0dcbdbc00233c00000000000000001bc702bea20d9a3c00000000000000003098d3bd0cae343c0000000000000000e533acbd2e2bf73b0000000000000000c07b8cbd364aaa3b0000000000000000c08e7fbda8bfc93b0000000000000000cd8964bde8b2ce3b0000000000000000c1ae3dbd4f6c223c000000000000000028fa09bd1a7ce13b00000000000000002b9af1b966d9f13a60b8383bcc00ce3b841ea9ba1abfa93b12f4f63be245823c5d32bd39950f943b9d5a013c0689633cc38a4a3a4d19e23b719f2a3c0c307b3c5d1c71392dd4a43babfefc3b47f3443c09ebb4396ab0803b042eee3bd8ed3e3cc45a89b918f9193b8002983b64830d3c4a4ad1b683f5993ae72cf33a3831c23bda4a03bbd4b8f0394b8c153a912592b81e9bc93b173e41bbaec8943b149476bc613a423c3cfe93bb89689e3b1d7998bc57dd413cde1db5bab60dd43a0f8288bc6add3c3cc31de538472a46ba85cd95bcf81a0a3caca193381f7244baaea851bc49e7e83b27e2b1ba036a1cb7e91322bc6036613be677c9ba68999a39a1149ebbc78ea1b93a6b51bb4021ba3a25271b39d2a711bb17649abadc800b3b3599db3a9393babb613d4ebdb2e2d4bcdf763c3c6de90bbd17ccdbbd2f02febce1b4553c02422dbd3931d7bd390c09bde4c7e13b1ab350bd40d1e2bda2ff01bd5567ea3b0eb227bd6934b1bd81fec3bc956d8c3b729b1ebde0fa94bdebf96bbc7f9eac3b72fad1bc80ba40bd06f9b5bba6b2803bfc2155bcc64ebabcb63cbf3b8c5c443b58ac373b7acb5eba92a3493cafe1823acbd6453b99dd3bbd125a833ecd3f843fa630eb3bad373ebda31e813ef318833f15fda33be2c2febc07d67c3eb20e573f0a36043c3cd1dabc577d603e1e79363f5df1bf3bab7da3bc4d64363e189e063f4d53dc3bc647cabcccf30e3edf4abc3ea7dcae3b4261b1bcd9e2b83dc017583edb93db3bd96ec9bc11a7223d67da7b3d5ae09a3b8ba7a3bcb71e03bb024f24bdf3af04beaab6753c0000000000000000d00918be9b08a43c0000000000000000a016c4bd815d363c0000000000000000bc28b8bd7c44073c0000000000000000687586bd6e81943b0000000000000000a64183bd8be0c23b00000000000000009d7854bdf47cac3b000000000000000034133dbd999d573c000000000000000062aa05bd74f8f83b000000000000000017afb0ba25b60a3ba815133b6170153ccb160ebb14777e3bac38243c34ddb03c6eb85ebaf1a5a53b84b33e3c6272b23c83344fbae8b0ba3b057b343cc4979b3c697b02b94dd58a3baa630c3c7a85783c48336fb9a703863bfba2003ccecb633ceaada6ba7c9d3a3b4936b93bea4e3c3c9951b8ba609f7b3960b5233bf894bc3b180ac0b71a1aa3ba802d73ba046a473b4939003cc77da1bb5d887c3b31750ebc5b4c673c165517bc3f397e3bf7c205bccc27833ccb2083bb2915843a663142bc9459573cc0f47eba2802a739716037bce141333c620a9436729b1aba7d7a14bcd848f63bb550dcba346e35ba56b7c4bb88a6643ba28b08bb085f8d3a889521bb61e3daba331634bb393b213a26ff033bd9512bbb69b105bbfa6b0e3a3622813b66361abcfd6299bd967cd1bc6c64403c02acf4bc37010dbe66e8c8bc54b6813c0c262cbdf04f13be988311bdc545243ce21039bd93fa01bed4340ebdf246c73b505123bdc545d3bd548ce6bcd0fa6e3b81570abdbeaeaabd608f8ebc532ea13bc566bcbc498964bd9730a8bb2094403b2ac7fbbb37debfbcdc5f063cba392f3933cd0e3b3d5c0aba8479423cc029073a5333a53a2f3aa3bcb767963d46479e3f1641cd3aa8818dbc3700923dcf40973f2c0b203b1da72dbc93acc03df8aa813fe196323bbde917bc693bc93d7417503f74fe2d3b80660dbcac44bb3d321d1b3f0cf3883ba4b852bc07f8923d9b6ad53ecb98ac3b846f81bc47c23a3da8b66b3e770db63b229569bc89be893c1fdc6e3d100a8e3bdf9161bcf5f003bc766c7dbd6b9e07beef378c3c0000000000000000e20e12bed06aa23c00000000000000001584ccbd57632f3c0000000000000000069d92bde342b73b0000000000000000256865bd4678613b0000000000000000077250bdd55f6c3b0000000000000000ce0837bd0b80d43b000000000000000030c50abdfd4a493c00000000000000004a1607bddf3b2e3c000000000000000000000000000000000000000000000000f976adbaa183703b6209e43bad96863c1953acb9d8bc8c3bda690b3cb219843ccf33d5353dc3863b7691c93b6aab3e3c7d11c53ae989843b882fa53b42283b3c92118aba0d23793be81fa83be949063c5a9a16ba22742c3b6fc7893b923cf53b99776eba6940303a0f41063b34cecd3b0000000000000000000000000000000000000000000000000000000000000000c517563c89d17abb4808173a71597abb30c7533cfc5aa0ba022f89ba3e66bebbd6c1473cbc72663a62dffabae008b4bbdddc043c160d783af66e36bb10b6d4bb9ad8c93b3cea083b1fd669baea99d1ba3301643bbd932bba4b4440ba27af1fb98d30033971e5a4baaccafd3992551f3b00000000000000000000000000000000000000000000000000000000000000002438e2bcaf2e05be18c802bd45fdcc3b4ae70abd1acb00be951e0cbd43cf4b3b4e5d08bd0e04dfbdd2d610bd384b103a8d18ebbc1a3fbabd2113efbc5d7f85ba2ba4d2bc426e91bd102caebc2f9f72ba827a97bce0b953bd9872f7bbfcb7133abe1be9bb17e7dbbcd235653bc8d3a338000000000000000000000000000000000000000000000000000000000000803f060f99b913ab093c4d8b48bdc4a09e3ffbaf493a54bd0e3c1caa57bc707c833fe67a7c3bf05bd13bf5c20e3c4db9533fce65793b5126923b9188733c2a2a213faa263b3b77aaa3399a2c703cf666df3e9792023b21ef82bbc6590a3c4ae87f3ed37b5b3b1ce5e5bb77c988bb8b27913d00000000000000000000000000000000000000000000000000000000000000000eeb96bdcaea3a3c000000000000000099dd32bdf880d53b0000000000000000c87fdcbce90f0a3b00000000000000002ff9b8bc4890833a00000000000000002224b3bc250caa3900000000000000002f67b4bca1ea443a0000000000000000942de5bc7b98503b00000000000000000000000000000000000000000000000000000000000000000000000000000000e448683b88abf03bd8d43f3c3744523c06c7823b5694003c205a583c5f42703cf3cb653beb29dc3b01d9403c8043533cd16f453b974cbf3b895d303cbfdb343c1afb383be327c73ba1cb1b3cd33c0e3c5ca92d3b34a4a43b70e10d3ca2e0993b4640a63ad282493b5d37963b17d5fa3a00000000000000000000000000000000000000000000000000000000000000001a30d83a1af87ebb03a808bc969507bd2001c93a711474bb488b35bcd8301dbdb3ac723b406f0fbb123f47bc48521dbde414753bb3450abb2efb46bc8d9915bd0a6fb63adc430dbb7a7f28bca0c400bdf8bd64bab058f0ba8481c7bb3702bcbc4e7f09bb199721ba163f98ba998435bc0000000000000000000000000000000000000000000000000000000000000000eda1cfbd12383fbd82d48c3b2d12293b6fd3d1bd8dcc34bdf4b2063b41f3a03b3ac6c2bdb9f42cbdf624b2b91637163bb6c5a3bd1bfc10bd1a232ab9fa99203b43eb8bbdc696c1bc7274183bb5aa653b6ae44bbd3d4824bcaf6a9d3b5638363b7399ebbc8638703b08e6b43b52d2ba3a0000000000000000000000000000000000000000000000000000803f0000000014d6613c9b59cabcebaf953fccfd0abd0866823c417cd53b5d157a3f5bc1c8bc73a88b3caffccf3ceb3b4b3f6a558fbc2e6f833c9886023d01bc1c3fc8d6aabc248d393cdb66f83c2c29df3e95abf1bc027ac23b3956923ca248863e8c2414bd57ad84ba0d73ea3af68cbe3d34863bbd0000000000000000000000000000000000000000000000000000000000000000231a053a21dbbbba00000000000000008f92b3bb3c5148bb0000000000000000c5b711bcfca6a5bb000000000000000011be4dbc58f0a4bb0000000000000000395e4bbcc5409ebb0000000000000000319c14bc5a7d28bb000000000000000008df62bb1ac331bb000000000000000000000000000000000000000000000000a27a013b491d763bf2b5953bd4c4b43b7d165e3be81d1a3cd136833c3d35663ccbc3a73b7a74413c9d8c8e3c75d9843c2708973bf7da2e3cf5d1913cde38813c0d4a913b0e47f83b575e643cd75b573c4088813bb2710c3ce9f75a3cb01a1b3cb6383f3b0e4fcb3be3df2d3ca701c43ba4ae283aca8e183bcf67c43bc72712b9909433395d3969b9c8a91a3b628978ba7e900b393889d4ba889b04bb989ca5bc055da3b9a5e0ccbb6d5aacbb8de011bd1592193b85afc0bb05c741bc34c530bde4fa3b3b83a2c1bb6dc45fbce4c032bdd8e06f3b556d71bbc88649bc43a41abdb60aa03af2776ebb35cb23bc83b008bd53d400bb5aab1ebbe804aebb618ab6bc57563dbbb4862fbab192613a2a16eabb11076dbbb9f8c63972f83a3b546f023b27e03dbdc2011cbd2ed4b6b89ac87a3b9021cbbddbea51bdbbe7cf3b6f4deb3bb7d0e5bd5f6f71bdef2f123bfdc3c83b5a40d7bdc4b46abd3156273bac44d83ba54eb7bd0e7c37bd95cacdb89b919c3ba16e9dbdd578ffbcaaf7853bd86ba13bb2d963bd28fe5abc1b82c73bb0f3863bc92ad9bc44ebdb3abc98b53bff065f3a17a7c4bba894263c156dd03b670a113a17bd0e3c6b3bb3bd8be1943fea50d53de6da863c8447a3bdaab58e3fdbbea93db7a0923cc9e1f4bc09e0743fa7f8a23df35a8a3c53bff5bad76f473f9c61813d04227c3c63754a3c04cd173f607f363d8c83253c2ce3433cd677d93e1c9f713c4a958c3bdafc9d3bc7e3813e59583cbcdd3eb43a8c343ebc422fc03d238b01bdbc88d8bbefc07ebccb3503bdb61533bd637989bc4193a03a0000000000000000a1c9b4bcf8b2ae3900000000000000004f09b0bc9cb50cbb0000000000000000a9e4bfbc9d703ebb0000000000000000fd3cbfbcc3a2a1bb00000000000000003bc6bbbc16bb2fbb00000000000000001cb3aabcbed5daba00000000000000004c23cabbbcb25f3b00000000000000007325b6bb12612a3b0000000000000000ba2ce03ab426463b19387e3b38ed663bd9bf643b79f8f83b5b23333c8b0e4d3c08162f3bbc32dc3b2462243ce2b0503c694e8c3bf528183c7eaa623c38fd723ca4764c3b909bcb3bd78c393c83f4393cbb676f3b7afff73b49003a3c8d6f2b3c272bef3ae08a943bf7f2f23b7508cd3bbdbdfc3ab6e3213b2224a53b2fd80a3b1bee023701b434b9005fa13933b48dbac8ae033bc378e0ba6f20acba27c59bbcdf715c3b65c48fbb1c77a2bb8a310cbd97ccb13b1a5b0fbbe2e513bc8a8c02bd80fbb53b287a89bbbe0f42bc27361bbd9d2d8d3b229b0abb5c1b2bbccbdf02bd4e89143b0a946cbb9f7e12bc77f1edbc0cacec3a22fb19bb40a4c0bb5ec696bca49ffdba74358aba78f077ba8e9f02bce96f12bb08f6e7b8f49b143b70d3243b9ee4bdbc994e0ebd32d5f5bb01fab43b416393bdd8bc7dbdbce6d6bbeb50033c29d39dbd71707fbd076a24bc8142943bd903babd47cd85bdd4e6c2bb0a0be43b555c99bd018150bd34dca0bb6511a93b23ab8bbdebfd26bd0004f839e0fae43be2903bbddce5c9bcf2932b3b9dff913b8d90cfbc544ab6bbd5c1a53bf61e633b3f5e6ebb3b8eb43bb81fdf3b526a463a51b9ee3b7dbebabd5f537b3f08ef8a3eb3eb903c8e56b8bd6fc7783f19e27e3e4587703c229710bde2624d3fd3e3613e3084853cafdaaebce11f333f9fcd323ed184723cba5c88ba9c56073f9cfb023e9dc2253c7ffb7dbb44bac93e7e149e3dc683e83b499655bb66cf773ec4ce103d13024a3a15287dbc3e51ce3d1ad24dbcbd4046bb49a295bc8a9534bc9df918bd5e1817bdbb29fa3a0000000000000000a3533cbd57a81d3b0000000000000000b36d15bdb2d9cbba00000000000000003c6024bda2915dbb0000000000000000232810bd5042abbb0000000000000000426a19bdbd926dbb0000000000000000c5f3febcd58bbfba00000000000000001135b8bcc778323b0000000000000000e4b04bbc0f98a43b00000000000000007ef8b73acca5183b86adbe3ab68b233b9ae52a3b5c96a93b6ac6163ca79a273ca85b433b7ea8fa3b49ce443c5175723cca895c3b1611043c3615493c24ea633c6f73073bdd3af83b25b2213c9b116b3cf3b9313b74a3d53b0c42193c0383383c00072b3bbd57993b6e8e093ce952f83b1d87d43ac2a80d3b46be813b4d9f6f3bec270cba8b6c8f3a476ba43adfec103ad7a0703b592456badca05fbad77b9ebc759fca3bb74b65bbd69a69bbf3d701bd7201003cafeb87bb621f06bc30370ebdd1ebd93b3d8958bb1cbe2cbcc97f06bddbc3e03b031b3ebbf97b1ebc4d3a00bd09ce4d3bd14049bbf8ea01bca069c6bcf86c583a78b859bb95c5c1bb6b9f9abc0d28e3bab74b17bb06280abb1cb4d7bb1eed87baec69f8baa42fcb3a7fe03aba32652bbc01c913bdea2390bc7bdcbd3bde0d54bd602a86bdf98d96bc2517293c1be995bdc6119dbdedfd88bc43f60f3cd1e19cbd084793bd348652bc1016023c2fc58dbd602182bd0d7030bc3648df3b7c8576bd95613fbd02669cbb5801063cf34c31bdcb72f9bc867e363b235ce63b8e36b7bc131d56bc23e0fa3bd2a7c43bbb32a5bbad09f43adbfcda3bef31643beb83b23bcdcca0bd2a224e3f5b89e53ea59e6b3c9858a5bdd9864c3ffa24d93ecce9843c329b3fbd174d353f3ebcba3e7fa7793cc17dc9bce1ab173fa4bc963e7eda693c31b210bc8e76ef3e268e623e4f4a1c3cc67706bc4c0eb03eb75e143e123ee33ba14033bcbacd603ead92943dbfbaa33aaa8c8dbcb4cccf3da815d83b7a6f0ebb4fd092bc899ebe3afeed0ebd26f053bd6771393b0000000000000000e09e8bbddd0d8d3b000000000000000008b474bdfbb168b90000000000000000e11a63bd527716bb0000000000000000573e52bd4a9090bb0000000000000000a14746bdd4292ebb000000000000000053513abd15029cb900000000000000008b0613bdb60d553b0000000000000000f84ec2bc2bc89f3b0000000000000000f094353a0dd90c3b9e09143b302f233ad92fc03a76b7a23ba040f23bd6b8223c3813163b045ad83bb44cf93b2573513c2e7ffe3a8afee03bb7da363c2b426a3c89831e3abfbc8d3bc388a83b36540a3cc376183bf574ce3b5c3a133ccb1c3f3c1914713a0da68f3b5820d03b29bdfb3bd903be3a4b641a3b93da5b3b77fe913bf1b69939248d4b3a9743133a8992fc3ac923a73b24da83b93fd166b7852693bce75b0f3cb8254bbbb1d541bb33a0f4bc74d10c3c0bc00abb63e4d2bb2cbaf1bca9c11b3c6eed12bbdb770fbc1965ffbc1f42d03bced3403a2e4ee5bb6aeab0bcf2ceb63b98261dbb4c1506bca911c5bc6350173b839c25bb5f2fa5bbf15881bce2bf1bba3c6034bb68d7e8ba166af3bb9384efba09adc3ba256a80ba99881fb6cc044bbbb2b715bd7c75d0bc81bc003caa7d1abdce4690bd8048e5bc4689313c788163bd9809a0bdad91d1bcd3b70b3c20f583bd721fa6bdf155b4bc107b083cd81141bdc0606cbdebeb8abc1424523b772a58bd51f466bd8cd80fbc9ecc073c48eb13bd8a6211bdba1d06ba7aced83bc29caabc182f8abc2a89b93bff9adc3b6cea85bbd60addba8ec2fb3b3cc99c3b3746683b17b783bdcee3203f0ccd1f3f1729273c4a7281bd0e521f3fc19b183f3de94d3c791209bd6c340d3f1605023f17515f3c5f889dbcc893f53e1bf5d53e9f1d413caa202bbafc4eb83e46dc9b3ea28a383ca1c9edbb726b943e38735d3e7740f53b855921bc28083d3e4087f13d52469c3b581296bc685fbb3d986d003da4cfc2baf15795bcc447053ccb9f06bd4c2187bdce5a5d3b0000000000000000217ba9bd79af7f3b0000000000000000b2f18abd303c57370000000000000000174389bddf7061bb0000000000000000fae941bd1ac4d8bb000000000000000070ac76bd5b3b8ebb0000000000000000278255bd3c0327ba0000000000000000bb1b3cbd71d4a23b000000000000000017d8fcbc8f589a3b0000000000000000a8dcde396175cf3a4cccd53ac09d1a3b69db893a949ee53b11f0bc3b1f0c333c0cccba3a1e60ce3bcda1253c43146d3cac7c8b39239be73bf6941f3ce3fb6c3cc64bb93ababecf3bbebc1b3c5d4f5d3c8d1ad03a2779cc3b80d4113ca13c443c9d309f3aad96bd3bf483e53ba0a00d3c57dc713a04d23d3b81fe323b625eb03bf9d0b0398589a03a89ba5a390e90013b6938a93bf822a0baff10a83a3a1393bcea3c2b3c942063bb13404aba57a8f3bc6c85313cfd7e49bbbed58ebbbf1befbc84002d3c7f434ebb39e787bbbb13e0bc85cf203c9a2117bb467003bcdca3ccbc76dd8a3be59a39bbdfc2dabb004dacbc61343b3b586d6cbbf09f95bb2d187abc35d805babdda64bbe506d7baed76c7bbd4a1faba02b801bb68033fbaa20380b984208aba606a1abd8857f2bc67b6113cf26b09bd647ba2bd3b340cbd8d774e3c1c5c54bd416cbdbda84f03bde6a8363c7d025fbd1452b4bdac74e0bcb7a8233c37e25cbd00859fbd75e2afbce733003c5dd542bd6e357dbdb0a820bc06ab1e3ca9b814bdb5582cbda127f8bac3d2143ce0d895bc786ea6bc2060e33bd8f2e33b0d1f52bbd11643bb08600d3c28c7a23b77cb3b3bb82a51bd97d5e63e75344d3f000b0d3c1abe4abdfef8e73ec00e473f9173373c8745e8bcba6ed53ec0472b3fa9a7303cb37484bc910ab93ed19a0a3f931a393c2442c5bb7dff983e2e30d23ef2ff1c3c5ecb06bc15ef683ede50913e69affe3bd9604abc0ace1b3e1aea253e09a1853b128da3bcc54d9a3d58094f3d1ec68e3a761c91bcb695113c40de01bdb679a0bd3d5fb23b00000000000000007eb7cebdb722063c00000000000000005967b0bd7d64e13a0000000000000000f1559cbd3d9e00bb0000000000000000f33d8cbdcbf398bb0000000000000000082989bdd29c22bb0000000000000000813081bd706629b900000000000000001c0060bdc7fee73b0000000000000000e30316bd1f42cc3b00000000000000006a2c583a5687013ba38a1b3b3911713bf71c6a391019c73b96e5de3b8cef523c68377638a36ba23b8b52f83b82df4b3cdce6d03a8247fc3b674c433c37b76c3c6adf423aadf3b23b0808023cdbe14c3c7c275d3a3b9abf3baf92123c0426583c060eef3888ae983b1abeb13bd898093c8e2788386edb453b27d1293b676db83b7c2c26b986ecd239087a0cbaf33f063b3234bb3b3959e7ba5581903a63cc86bc378c403c202ad0bb5e8c2f3ab550c9bcac88313c297ddaba2fd430bb5f45adbcc7584b3c79e559bb4723bcbbd07bdcbc5378103ccc86d2ba2e60acbbaa1ea6bc95b6d43bc76d63bb2aaca9bb652094bcb8d3523b54c511bbae5367bb3eae40bcbdbe88ba172e4dbbd041adba8bf699bb6e001cbb58390abb3ff8dc39e2651e3b51cf21bbb9b932bd1a36f4bc872f2e3c493e01bd26bdbabd61371cbd4d2f8e3c9b7c21bdd571b9bd926112bd4e7afe3bd41d57bd1d98cebd391203bd49ea2e3c4f1e36bdea1fa3bd901ac5bc15d2d93b9ff42fbd55cc8fbd71f85abcb7ee1b3c46eaecbc5a753bbda9b49fbb2888cf3b16487fbc4f2dc0bce176ef3b41acc43ba3fa10bafa4c34bbf7a92d3cc8ad873b688c1a3b1d011abdeb288d3eb0767a3f93a5d33b88cc03bd0da18f3e3f27743f0b27ed3b46463cbcfa0d893e8be6463fb186243cedc2babb569a7d3e08d4293fde75203c681bbf3a9fee503e6a65fb3ecbbc113c977aa0bb5ba5283e163db23e7071063cf09601bcdd99dc3d0f47533ef018c33ba642a2bc26cf5f3d666d873d31dad03a023fa1bcc104973bd69d0fbd343fbebd1f7f033c00000000000000004705e7bda7c8183c000000000000000092ee96bdfd05ea390000000000000000b1e4a0bde3ec32bb00000000000000007d1583bd4e7eabbb0000000000000000853a8ebde38b5cbb0000000000000000299d70bd9a6100ba00000000000000007e0b6dbda8cc113c00000000000000008b9d20bd13ce203c0000000000000000382eadbaa881763bb3ed353bc9e5a93bd73f80b96848d23ba45f1f3ceaae8a3c8403b03a2088b33bb7c8493ca2a8983c55d2b1390d6ad93b2f0e3e3cce04913c41c3c039b8afce3b0dcb143c843a713cd382f8395042cf3b1a4d243cca844d3c24da28397f919c3be888c73b10cb503c80a007babc1d393ba7861c3bb239bf3b33ac0aba68415f3a7a11f5b9979a383baa31e23baee480bb193fbb3b114e86bcd393533c22a413bce016153a6bc5a0bc0a6b6f3c7eddcfbb434a8abb7961b2bcb86a563cf9fc72bb2a5793bb5422aabcd38a3c3c512110bb7b61a2bb6b2095bcf70bf63bb0565cbb89a68dbb3a3e7ebcb408273ba6e287bb97a120bb749826bc8aeb03bbf4e762bb6db3deb7a6aafebacd9234bb8ed1f5bacab8383a1066e93a69370ebc4f9a72bdbf0d07bd5a9e493c440b09bd322ce0bdec7410bd30d9963c64313dbd37e2f4bd922724bd9d965e3cc7f343bd2494e2bd072916bdd2a5253cfe8433bdadb9bcbdb152efbcf2b9ea3b7ba421bda76d9cbdff2c8bbc5d65103c3199ebbcea0660bd8a435ebbf5130c3c1c7047bc13b4ccbc1db1193c59359f3be95a6039f85d5abba7c0333ce409623b96b27cba26158ebc41addc3d8258953fd5ad563b5d1847bc7771e73d35968d3f3836ea3b5c09053beaae093e8c1e713f9ce6e13b23bdd33bbb850a3edf2b423f3882f03b4161f23b8f98fa3dd762123f8d66ba3bf386dc3a98d5cb3d54b0cd3e37c5c53b707ee4bbcc108b3d13e16e3e95d1963bb47c85bc2bace93c525a983da6fc1c3b6fac8ebcba498aba9c9e3abd917ebfbde43e243c0000000000000000e70ddbbdc06f133c000000000000000011449fbd1dbb3f3a0000000000000000da9c83bdb45399bb00000000000000000f8266bdc2b5f8bb0000000000000000362d72bde2c0b0bb0000000000000000a09575bdfd00a3ba000000000000000094a456bdf6f01e3c00000000000000009a6c2fbd70f1083c000000000000000000000000000000000000000000000000437d1fb8f6d8843bc3efd03b468b473c8a1a5ab93153963b584aff3b94065f3cf27b53393ee9733b4294da3b50024b3c38a18cb8bf6b763b4919b73bdf9d273cf605e7b84db7743b550ac63b7a22293ce3f8d33999bd513b2ac5b33b5679fa3b73b886bac96c233b4e203f3bbf01d23b0000000000000000000000000000000000000000000000000000000000000000521e3d3c2e4973bb60589c39a70563bc6fa74a3c8db706bbe454d4ba8ec866bca87d373cc9d610396fc15cbb10c65bbca751133c8679053af1c2febacf3b30bcb854e53b290c07ba28054abb69ea2bbc5cb4513bed41eeba165d55bb5d79d0bbd34ffa39dedafcba0e54c1399e3bdeba00000000000000000000000000000000000000000000000000000000000000009788e4bcfe37cdbd46b227bdbe94003c0cd512bda1efcfbdee4f1cbdfb6ca73be8ea13bdc44bc0bd936318bdc2b4c13a27560cbd4cc0a3bd1ba1f9bca82bbb3a65cbffbc342889bde2a7a9bcf90e493b7279bcbcb2b446bd062b0cbc796ea93b8c4a44bc3631e5bc771b3d3b3340863b000000000000000000000000000000000000000000000000000000000000803f899d423b12a8253cb9660ebcd261953f706f8a3b4f75773cf8a2a43c0efe783faa08cd3b2a518d3cf1261e3df04b4a3f6025d03b5f1d803ccbb32d3dae2d1b3f7bbbf83bd0fc373c2f8c223db93add3eeaa1a03bb6b56b3b5fd6d43cfd9f843e40e9a63b5a28fdbb894fe43b48fcbc3d0000000000000000000000000000000000000000000000000000000000000000fb284fbd621b803b0000000000000000fd800ebd633125bb000000000000000024ffdcbc985dd2bb0000000000000000dd80d9bc830d18bc0000000000000000c82304bdbe332fbc000000000000000015e514bdac85b2bb0000000000000000427537bd40af88ba00000000000000000000000000000000000000000000000000000000000000000000000000000000e7cc39bbd3e359bb6022673bdbdee83ba4286ebb72663dbbe4e4953b1630223cb09a9cbb80c467bbbacd673b40dc273c1799cbbb4218d7bac239a33bd6fc103ce7669dbb2816b5bafa27cd3bfe751d3c6b3931baa4a8ad3ae963b13b092cf53b1c0f8439cd2f063b8bd2c73b1a7fa53b0000000000000000000000000000000000000000000000000000000000000000dacee43bbf208fba428beeba8be396bceacc013c645ca3ba42fe81bb2922b3bc3cff043c6d568bba11f31abb997cbcbc1f06eb3b4cef73ba713148bb44a6b1bcafa9c23be40edaba5fab85bb7eb1c3bcd1ad703b386f1fbb9532babbd27eb1bcfd70d53817c714bb4b5ce8bb23cc8abc00000000000000000000000000000000000000000000000000000000000000005cd138bd076213bd8b8207bc18270eb8640a48bd50a50fbd37c711bcfb74503a575946bd0a0509bd7a911ebc8d2ad13abea92fbdf511efbc9d16efbbf5fd0d3a7a1c22bdd529c5bc42f590bb84ae263b53caffbc3e3282bc85da80ba65d1543be470aebcb29409bc36e96d3b02788d3b0000000000000000000000000000000000000000000000000000803f00000000a064203c1af6723c29af803f48b5853b643b803c14f5ee3ca3b25a3fdedb233bf4adaa3c3e67173d760f353f9eff21baeeddba3ccb3e153dec500e3f5fd39bbb28ffb03ca93d103daa30d33ed37060bc89af8f3cba55d23c7ac4873ef8d4a3bc2201333c1af45f3cb24ff63d5664edbc000000000000000000000000000000000000000000000000000000000000000097a7cbbb51a9e0bb0000000000000000075b2fbce81c2dbc0000000000000000871271bc7b9060bc0000000000000000011287bc9fda4cbc00000000000000002cdb9dbc7ab45dbc00000000000000008c6a8abc640424bc00000000000000008b5486bc0561d7bb000000000000000000000000000000000000000000000000173da6ba6d8d5bbbb61478396a347d3bb02aecbad116ccba414ac73b4bf42c3c711487bb08b165bb5807ff3bc7a7623cd09d96bbb1091fbbce1d123cc04c483c744099bbbab313bb5bede33bc82c4b3cf87157bb4500133ad5d8193c7728383ccb3efdba5974fe3abdcc093c12a10f3c1440a73a6d51543b57c3cb3b8489a53bb845933a7309ff3a49f2513b536d273b1cd66f3b7e68a939527cbeb9a17d08bcc0f70a3cc7615cbb3d021abb93bda0bc0e54083ceb2934bb9c588dbbb7d1b8bcca9e123cd0e231bbc68488bb9a73dcbc35e2d03b0fce7bba561e5fbbd386d5bc5e54da3bfa5c5dbbfdb7c6bbaf3ed9bc498a413b89333bbb8addebbbc67fbbbc54d5a0babb9531bb37afd1bb97cd85bc24309ebaf7ea0abb2b1da5bb8730ccbba8579fbca4d1ecbc2d7e23bc0738afbad7bf3cbdcf632fbd07a33fbc58a5393b6d8d59bd390b37bd0f085ebcafa9f23a541265bd81222abd58dc31bc0122373b26684cbde3bb11bdac5218bc714d223b9e6d3abdccbef2bcabb0babb5a0a723bfd9410bd9918abbc0251c9b92d9fa33b65caaabc7b2d1ebcbf36853b035ac83b3db0f2bb2ae8efba1cf8913b6d42a23b25feeeba527677bc6405803f0fdf0b3e59c2e63bfefbefb9639f6c3fe0bbf93d7840833c8da4ba3c081a4b3f40a1d63d50819e3c0ce20c3d86f0273f00d0ab3d1391b53c8d73133d17b4033fe1d0743d6164a73c4765113d89edc33e3e35083d2e418b3c780ad63c679a7c3e4f94053cb03d173c2cac403cbb2be73dd4427abc4f35193b1baa9439a9f911bcfe72e3bc6566c2bbefbd18bb0000000000000000cb6958bcfa0a18bc00000000000000001ed193bc0fb54cbc0000000000000000dbcbb6bcf5a285bc00000000000000004ee5b9bc85d288bc000000000000000076f8d6bc54c27bbc0000000000000000a46fcebc7e9346bc0000000000000000c3eca4bce247b8bb000000000000000014d05abc599711bb0000000000000000885d4cba598758bb17b002390263523b39964cbb94477ebbe8c49b3b24e0013c5a60a4bb69b188bb9dca103bc0c2ff3bad40a6bbfa4761bb7931c93b19e64a3c015cb5bbc6bf61bb69c3943b0318203c583b8abb177781ba4bf6f63b4caf423c099736bbf66fc2b96cc3aa3b30a2f33b1a135b38c44f083ba68cce3b6867c13b1c57163a5e4cc73a0751673b2b13173bffdf7e3b196dea3984f9993a2d936cbbc799103ca44edebaab2a03b92faf82bc860ae43b5d1fce3a105f753ad30d78bc88eb2c3c969ebcba89b6caba94d2b1bc0c36043c56df6cbae01cd7ba0fc39abc7a7dfb3b6b1e26bb480f89bbf6c0b7bcbbb7833b4e43b7ba88d49abbd13784bc9bcd473ab0872ebbabb6c7bbe5a071bc2183c6ba12ffd4ba9f4898bb09eccfbbfd2336bc96f2c9bc657953bcc65d8fb8d91f0bbdb97c2ebd03cf97bc2f70f03a505616bdf46f23bdbab188bc3a4ceebaf05f48bd9be23dbdfee187bc37e8733ab0da25bdf1cd15bd131550bcab514f3a22022bbd00630cbd3e7410bc3dfa633b273fe9bc22a6b7bc0af68abb75cf663bfecda8bc540257bc41ed003b5a08ba3b0926dfbb21ad18bb67fd823b1bb98d3b77ad49bbfaefa5bcc3b65a3f919a8c3ec785a53b160616bc5f654d3f9989803e3d343d3c7b83563c88092c3fee465b3ecb8d8e3c4695d43c56f0143f2584333ede94963c2e2ff33c6c3de73e0572073ea6fe9d3cae98fb3ca0f0af3e5937b63d42ef803c15adae3cb781633e3f2d463df2a2213c2e4a443cc7efde3d0885a53bd36e1c3ba02d783ab2930e3ac524b4bc645061bccfe3abbb0000000000000000ced89fbc41ff2ebc0000000000000000af449cbc8b2a49bc0000000000000000b0d1d7bceea290bc0000000000000000eb59ccbc6e728abc0000000000000000552dfdbc9edf8fbc0000000000000000404ad2bc643966bc000000000000000042a0d5bc754c07bc0000000000000000a69b77bcb8911bbb0000000000000000b948f8ba8b027bbb5b6817bb8678173a79b790bb207a4dbb8fcf0fbadec4ed3bfd39a4bb0a8d9cbbb6412d3beb0e1c3cca4fccbb2dccb3bb92705b3b77475c3c2abec5bb77c16fbb30376c3b4df7283c5ee79dbb6883caba452dc63b2ca1393cf9ee41bb32d61eb9e6f6d03bd269273c459a47ba70260a3bacfc953bf026e83b34499439da76dc3a07b7683bef7b4f3be2d1913b67ec8e3a5848023bf29d28bb92871c3c1d599639712c253b6d2239bcbfaf2a3cb8fd5c39a867853a7cdb60bc64e82d3cbedb9fba3be5fb3aa4de8fbc013b283c4b486f396d77abb9107288bc480d043cc870d7ba17481ebbfc3798bc1ef1b53b8e0e25bb0b4f7dbb36be8bbc7a55253baf2e2fbb08c8bbbb64b54dbc9e8904ba68d3bebadea78dbb2ff3cfbbae7887bba3b4b2bcbe3d89bcc346b7ba295fbebc942328bdc2ebc4bc51ef04b8481017bd2b6842bdca55bcbc9f4657baf8532dbd9ff049bdb9c59dbc5b7c0e3b561220bd56532cbd0cb891bc0f4410ba9ebb1bbdb05714bdd9d93fbc7cb0e53a27e3ffbc087ae1bcdc73d0bb06439e3b3e529bbcfa8486bc144e46ba334aac3b2e5cfbbbba0e93bbb0962e3bd62b933bf08478bbcfd198bc0e53353ffdebd53e52095a3b501704bc78412b3fa797c43e8eeb233c0db4323cd0f9153f089ea83e2343743c4928be3ca4a7fd3ec5428a3ef7f08b3c8558e93c2768c93eba64553e730b8e3cf5cfe83ce4c6983e5911163e49ce813ca69ebe3c81884b3eb4f4ad3d432b1f3c7b204b3c8882cb3db76de33cc019923bb828483bc7d2b53b85149abc748b80bccc3599bb0000000000000000b6f0d1bce2953cbc00000000000000003a27d6bc012276bc00000000000000002378f9bc928aa7bc000000000000000020ccf4bcf0a49bbc000000000000000065ee0abdccbb96bc000000000000000050940dbdb59982bc0000000000000000ae4cf4bcdd5825bc0000000000000000e9c7a7bc805186bb0000000000000000d21872ba89b26bbb06100bbbdf621ababdd68ebb4441a2bb752453ba87f2be3b35b6abbbe1d9b2bb23d6c63942ef013cb165c9bb2a55b7bbb24a323bb9e9363c3424f4bb9cfcc4bb4a3133badb20863b49c59bbb208b67bb16e7b73b17f93b3c8eba58bb62f79dba44a0a03bfc37fd3b83b3e9ba5f97823aa797a83b53a8e53b139173ba8504ba3ab33e563bfce07a3b6593933b7860193bc6da393bba7c8ebade34183c1f98c93a713a633ba185dfbbee021e3cacf7bb3a8e808a3b85f139bc811b2a3c45dfa33ae8e5613ab57543bc53e12e3cdf9aac398a291b3c841024bcd387233c1e7a7cba16dba6ba623379bca7e0ad3b0057a9baee6302bbb04a5fbc95491b3ba7191fbb4a6784bb505839bc68fe273a1a5ff9ba22216fbbc25cc8bb6daecbba8afb9dbc1e41a9bc2acb1dbb7a5997bcc55123bd3fa2e3bcf160cfbafaaeefbc7ff038bd8cd8d3bce2b50cbb423f14bd553448bd502fcabc03283abb294ae9bcb81815bdd6daa9bc59eb973ad2900bbdd80422bd25a489bc959ce43a82d1ddbcc383dfbcf8590bbc1c36813b785599bc518a87bca92607bb124ebd3b1a0cfcbbaa99abbbac98cc3a4b91973b0dca78bbddd274bc221e103f894d0f3fa8dba33a27e8c0bbda78083f67ae043fc18ff63bf3fc3e3c4496ef3ef74ee23e055b553c8967b43c92f5ce3e9613bc3eda5b523cd68ac73cf9b69f3e30938e3e8b36803c2115e63c0e437f3e87fd513e9be25e3c3fedbc3c63072a3e123cfe3dbf47213cb8136b3c4cf8b03d8669443dbcc9a53bed358f3b48d90a3c4e7581bcc7bf98bcc312d0bb00000000000000000d0ee8bc223e42bc0000000000000000f492debc4b2b77bc0000000000000000de1ffdbcd5619cbc0000000000000000e4d7ccbc76c897bc000000000000000082ca16bd7e1aa9bc00000000000000009c1c0dbde82883bc0000000000000000afe50bbde32731bc0000000000000000cd35bdbcea24acbb00000000000000005c4d95baf51a5ebb16b94abb8dbfb939df9f98bb2c08c3bb5a12893ac11adb3b9774b5bbdc94b5bba6abef39f9ff183cf636c7bb2858b6bb737ea43a2a52313c30bfd8bb1584afbb0b721d3b7643183c8a90a5bbf7a749bb341f183bcc18763cb1f86dbb7f27e4b9b109ba3b86e3103c5176d4b9acea39394716913b0037f13b0dd7333ae8b4343a4348823b9c019f3b0d17753b3235323bcba9683b7268b23731351d3c023b923a83e3933b7c2bbdbbd124413c8ff1d13a22b8c13bf61418bc7ea6443c6854883a2e0c963bdb932cbc3664233ce19f2f3be615463bfef234bcaae3273c217f4dbba428b63a971550bcf99ce93bd771c1bac0d2cbbacc7452bcb94c973b59e35fbb47b68fbb3ee61cbc18fa2a392af92cbb257478bb8e4eb6bb924ec3b7925ea3bcd58fbcbc919516bb20398cbc37ca32bd58e403bd45569bba73aaeebc97a951bd694901bdca4a1bbbce650abd0d3d53bd43c7ebbcacd6d9ba039406bdcd413bbd672fc1bce35535bbce0d07bd59442ebd8544acbc23b59f3b181fe6bc086f00bdf82938bcb304783b061f92bc7e799bbc3c6f85bb96ddc23b0d0201bc8febc3bb3c40233a4d9bce3bf91a92bb133a56bc9893d73e75b4343f0eab633a46004cbb748dce3e57a8273f9520cd3baad14f3cdb65ba3e3f47103f29772a3ceb57b73c57dca03e231bed3e6d815c3c367ee03c924b833e8f39b83ef4205f3c1ad7e63cc18e4d3e77ef853e918a583cf934b23c5b630c3e70de263ed361323cbdd53b3c3468953d1c14893d0b43a73b0a5b853b0c8c123cf4dd68bcff22b6bc279ab0bb0000000000000000e289fcbc8e552fbc000000000000000064d602bd434389bc0000000000000000ac5405bd535fa2bc00000000000000006b7605bd554ba9bc0000000000000000d8b41cbdf95ab4bc0000000000000000f1ee20bdc33490bc00000000000000006bda1ebda56327bc0000000000000000b7b4d5bc42f2c3bb00000000000000009ab2b2ba0a2911bb9d7bf6ba1e24e83a967180bbb91f83bb0b9815bb7713f63b29ee93bbe209c8bb58b2cebaefefc93b4fd6c9bb11a6bebb1aa7393ada80303cb687bbbb4045aabba81dc839d333103ca39eadbbcfbf4dbb23817d3b502d443c68843dbbf3cd2abb3b980f3b2f80fe3b7285e4bac6bea73a5e9fa13b8ef7043c9efe38b9c0d7f03a87f35f3b61786b3bcd62983b1046bc3a4bce323b3f0d6fba898e293ca07dc93a1c639d3bf9e29bbb11f5153c993d3a3b429fd53b059a71bb5e244d3ce95cc33a1153ae3bc7a606bcc878213ce0f89a3a28e4a03b88a9f6bbce952a3caf2557bae870063b44e737bc72f0c53b5327c5b9d46da53a06b900bc967cf43abe3a1ebb69d92cbb411b16bcfc4610397fa703bb1fd254bb5e40a4bb3e9396b9c07dadbc2deac7bc1cacb7babf5e84bcf72a3abdeedb11bd5d1fcdbac09ab9bc2fec3cbd980201bd354280bb3eff00bd2c4462bd4e6205bd610021bb4ccbe9bc6f4938bd19eccfbc991621bb5f9104bd805c37bd7d02adbc5147c43a4860bcbc24a8f1bcbef457bc243f173baf7198bc6c58a1bc4fa797bbb6d3ee3b2de5e8bbcfaaaebbe9d1a53ac08bc03bc7966abba9b123bc1f5d8e3e0bb1593f3f284cb7222a7c3aaaea8b3e74b04a3f1f27be3be71c5f3cc0c27b3ebdc1283f9992123c5ca7c13c940f663ee4e90e3f30df353c78c0d53c50c13a3ebdd4db3e2698563c084ede3c3ddd183e6b6aa23ebaa33c3c21619f3c0f5cca3dc0734d3eb42b1a3cc07d553c8fc1653dfa50b03dd4f1af3b39aed53a6a39013ca69368bc047ec4bc0301aabb00000000000000000e8104bd2a3b34bc0000000000000000dd16b8bc5c4968bc000000000000000022aaf7bc700ca1bc000000000000000082ffe5bca3d89dbc00000000000000009ddb1abd7f35afbc00000000000000009e1907bdfd448cbc0000000000000000663324bd611d3fbc000000000000000034fae8bcd30295bb0000000000000000f0e0adbac2c82ebbb28351bbed4b983a7ed35abbd1f758bbe893ca39076b183c8f41a5bba0d5a4bb122db0b83278263cafdfc1bbbc9cb8bb76114e3aa0f63b3c1585bcbb9d38a1bb2784e9b99b66253c2f436abb7d6c52bb08ab3c3b625a3a3cfa0979bb99b3a2ba8b95773bfba8373cc2b902bac0387a3ba94da13beaddfe3b618ce0398351eb3aff834f3b5317873bf64a8a3b99ab153bc8b5583ba7aee0395a732d3c88356b3abc60843b50ec90bb8cf4503ce633993aabc5c33bbd85a8bb52285a3c865fa73a6e26b63ba2eedcbb5433423c424de63a3938c13b6c9fb0bbab85373c761392ba17ff3e3b114315bcf861003c748105bb360d063b3d411fbc5b6e623bf85766bbd6b453bbbf0f18bc6eb9e939041b16bb17a518bba90d9ebb6f459dba3789d3bcf634e7bcfe0321bb105092bc986255bdc77817bdccc8aaba8801d5bc52c96fbd709718bd3fb66fbb6082fabc920072bd391d0ebd4c2b5cbbb51ef1bcbce94dbd1a11f5bc0ed270bbaba3fabc6f0f42bd723dbabcaebad939b278ddbc8f0311bd2de777bc5e605b3bb61c90bc7189b4bc025b92bbf774c23b8aa007bc6073d0bbac494c3ab183cf3b12437cbbe1988cbbef730f3e8fe67f3f0ab4c53737f2c63bc531143e50e46a3fde85823be766993c6c77143e1aaf483f29cafc3b95e5d13c96cb0a3ecc65253f32b02e3c1d9edc3c1933f03d9a62003f9d7c293ca7fae93ce962c43d3e07bc3ed6da133cbb40ad3c2fd08b3d938f6d3efe57ff3b4981253c0475163daff6ce3d8bc59d3b7705793b8343ca3b863188bcb3aa99bc005f85bb00000000000000005a49cfbc80232dbc00000000000000009d16aebc728182bc000000000000000037e0bebc21f1a1bc00000000000000007b17c8bcc237aabc000000000000000038b5f9bcfe3cafbc0000000000000000434211bd9f0497bc000000000000000065511fbd0e2535bc0000000000000000db9900bdb3c3d1bb000000000000000000000000000000000000000000000000a4bc60bbf12696bb33e26fbb13a17c3bd4b08abb0f14aebb3687d0bac851ae3b0a4d97bbe4c6d6bbe9d84ebbb2c0d03b7d927ebbb283bfbbc79a3bbbf299a43bd1b7abbb9d9e9cbb5ddb8db94357e33b1f25a7ba3dfd04bbc1f9dd3a794ff03bdc92bdba37edb1ba3cea733b4a90ee3b0000000000000000000000000000000000000000000000000000000000000000c616033ce826353bff3be43bb33464b87ea61e3cd518503bb5afdd3bd24581bac1bc093c66c6883beab9da3be33164bab6731a3c69d60b3bdc73dd3b39d832bb4367093cb7a2213bdeafcb3bd7a593bbc75bd23b0480e5b9d762f83a7b70bebbade7463b913667badee7613a1aa6a8bb0000000000000000000000000000000000000000000000000000000000000000228c63bc79b636bd43e109bd0b04b1bbf743aabc79b44abd9a2303bd04c4b6bbf6a3b0bcada64cbd87e4f7bc4134f3bb6039bcbc31e436bd4802cebc2ea59dbb6506bbbcd9ef22bd939db9bc93437abbd772a8bcabeafdbc113b73bcad9e023a231a80bc2aa4b1bc686b09bcf4f3953b000000000000000000000000000000000000000000000000000000000000803ff6e4c43ae258363ccab8cc3c92c5803fd1a9223b49dc9c3cf387153dfd285a3f223bbe3bb626ce3c2c2e323d7526343f0345f23b6ee2cd3ca8562c3d5e710d3ff9b91c3c616cd43ce2fb223dac14d13e9e79133ce1d3ac3c5da6f23c28db853ea58fff3bcc55673cbfb99a3c2e76f23d0000000000000000000000000000000000000000000000000000000000000000f8a6d1bb827902bc0000000000000000c205e9bbc66f48bc00000000000000008e58fabb4d5576bc0000000000000000d6c850bca77d73bc0000000000000000862696bcf1a998bc00000000000000008cbdc2bc375b86bc0000000000000000d03800bd8bef6dbc000000000000000000000000000000000000000000000000000000000000000000000000000000005cb7a4bbcfe6353cfb96223d985dad388eb2a6ba1df7603ceeb6193d61cb873bc697573a42f96a3c8440f43ccf91d63b4a71a03aee64593cc856c03ccc4db83b8cca803ad4ef2c3c77b2843c23284a3b5ab5d63a3637ce3b47eb153cd380d33a30801e3adafc773a1523253b24acc3ba0000000000000000000000000000000000000000000000000000000000000000493b8ebb9e7db3ba7b9f813ba8b369bc222098bb1480cbbac1772738c682dfbc6eec1aba1bbce0ba591ca8bb9d9e13bd8cb831ba1fd0d0ba02b0e9bbf31b0bbd6a29273ac268b5ba16faf7bbaaa7d9bcf745a13ae14295ba53f7dfbbe0928bbc71c6283be4c7bbbafb91aebbf14d70bb0000000000000000000000000000000000000000000000000000000000000000f5e454be36ff543cbedc973bc7d5713a10e64abefd27b13b8b8eb33be10e9e3ac24f33be362df2bb9cd8883bed4f3aba212211be974adebb0d9a303b8d2ca5391814cdbdf3078fbb2f11803a8465c13a467b60bd6b7f73bbb185f4b98a7742ba862018bc3c5d2fbba01fd5b99271a0390000000000000000000000000000000000000000000000000000803f000000009953a23c3cc4d9bdc4fbac3f525101beceb9603c8db849bd590d8f3fb9f6b9bdb201623cfc5c8fbc81046b3f4a6f8fbd649f623cfba00b3b58cb2f3f94ca6ebd3688413c00ca353cac0de53ee70f1cbd1ad2173cb4ea883cf842643e7f655cbc4c78ea3b5b4f253c0ead2c3c49c09a390000000000000000000000000000000000000000000000000000000000000000f7427f3cf785bdbb0000000000000000ce5ce53b9aa77fbb0000000000000000cd6cc93b2dff8bbb00000000000000002efab93b3b696abb0000000000000000eab2803a99b0f3ba0000000000000000c903b83ae0ce76ba0000000000000000e822ef3adff5fcb9000000000000000000000000000000000000000000000000c1fff1bb09adb23be99ea13c75cceabab5890bbcf7db333c5a9f1f3d995187bba0aa94bb97ac833c66c7253d987f7e3b63775ebb781e983c056e153db706ec3b34eeccb9e185793c7709c53ce77ee13b1291d63a79b42d3cd018a03c0f3d8d3b8e883eba3804f33b6555353cce48123b77c58db810a1553bd985f53a4578223b9367a5bad181ceba936027bb6f74d8ba341231bb8b3e27bad808413cf6eecdbb605fafbba73823b9492e123c806465bb1fe681bb1b3f36bbcfd8933bb652c7bc2ffd66bba11e25bb3282ef3a1fa806bd1de0f239067041bbe8fe1fbb18f609bd0f67b83ad97b28bb89edbabb95e9c7bc754a0d3bc3df0abb8b48cfbb1c4771bc5ec1523b49a82cbb13d604bc5dbe96bbe2e8323bac9de6ba2d2d3cbb3803e73b38aae3bdca1dba3b58b6293a555be83a4c0d40bea1d6a13c36538eba9ac6613bb83354be436646bb332da03be81a373b126243bedc9e2dbc3988b53b3661c23af87d14be4d157abc7147513bf9dc433acc66dbbd346c42bcc421683a7c60243a78076ebd122a28bcb365243acabd723a071255bcebf147bcb146fbb90372623ab3e29b3c1cec06ba83e11eba4cda5a390373233dafdd5cbe8292ac3f932d7b3c2fc9323dd0a343be3f9c9f3fef48c23b64b6013d4e300cbe8365903fcd12673b0398dd3c1b2ebdbd67c86c3f0c22833bbaafbb3c0ca75dbdf8a6303f9dec8c3bb195a53c1a4901bdcf50e93e0d1bc83b66dc923cafca36bcdb53683eef51263c73f76a3cd8cf6a3b53c90b3d857dd93cdea2253cd3db2cbc231bd6bd741c3a3b469893bc8fc4433b00000000000000001d4b9fbc8476063b00000000000000003c559abca2b3133a00000000000000006a7092bcd24ade390000000000000000704c69bc34841d3a00000000000000009f5426bc47a616b90000000000000000a9160ebca0abdc380000000000000000db1829bcf4721e3b0000000000000000408cdbba3e0f513900000000000000000cbaf2bb7db8e03bc408383ca8b3f638ab19eebbd4a1473c5e37e13c3db1d23bcf419dbbdda3873c29e2fa3caab3403c51f220bb40778d3c8884e53c9a1a283c2b4256ba64c1553ccd72b63c710d013ce97a04bbb252483c0c977c3cb939fc3b07772aba07ba093cd6a6113c0ee2223bb518e3bad5de883b792fe13a7775253a2548a4ba985f3dbad03f32bb74a0c5ba63df00bb24beb9bae6a8683c53705cbc08716cbb6ba251bbb9c32b3c65dc88bce6c43dbba9c44cbb91a4fc3be338ffbcb0ea9539e9ef8ebb2d93d33a6a9504bd97edb33ae29948bbd8ea48b7051ef4bcb021dc3ac9b24fbb2ede5dbbaf02babcd364613b225f60bb060a94bbd8b34dbc32064d3b7a5628bb2be4b1bbf75124bb6bd67b3b55e51cbb757940bbf642b73be73c80bdc6480bbc163561b9dc2d233b14fd15beb7e2bebcd1c1c03b9e63203bf8612bbec65422bdae02063cd5317e3b2e0a26bea6cd0ebd304daa3bf3a9863a610902bebdd001bd4d215b3b4f0ee73ac4f5c9bde871bebcbfad533a4c486e3b802767bd186558bc589c98382c50ebb7131181bc6401debbd56580bad4b6ba3a00f00e3c8397893b005ab6ba9db023ba9f85303ddb9e5dbe11058f3f42f26d3ed80b4a3dea1b61bef71c913f22014a3e34461d3d369d26beee01813f23782e3e4e2e133d378501be8855593f41a2023eeaacd53cc948a4bd2003233fb64bc03d8719d23c59fc6cbdf27ddf3ebec7773d129aaf3c81ef14bd4aac6e3e7cc3fb3cea9d8f3c7c5d9ebcdebf643d4ab53c3c656e553c78a794bc618358bd540852bc21608dbd7c477e3c00000000000000004bd88fbd30845c3c0000000000000000401477bd515bf73b0000000000000000054543bd02c1083c0000000000000000569d17bdb8c6773b00000000000000003c2ae3bc5e5c093b0000000000000000d3e88ebcbd16863b0000000000000000e18f1abc79fbd33a00000000000000007b82dcbaec4a143b000000000000000089fe75bb7b938b3b7ec8c73b851eea3b589edcbb50bd3d3cc0afa93c6dab5f3c72517dbb03537b3c36d2d63c85348f3cd47838bbe89f7e3c384dbb3cbd918e3c9e0408bb2ba5833c33f58b3c5ae4513cbf4c7ebaf39f443c4673733c53f50f3cc346fab9b349063c2b1da63b838be43b54053bbab940253b6aa0353b28e43dba5fcdf5ba890fb8b724bf08bb972703b9b38d14bb40dbccba0a774b3c834fb4bcb28883bbf66979bb4a864e3c0fabb1bc214073ba2dbcbbbb25b5e63bc834edbc675260ba94dd4ebbf0c18d3b453fffbc275aed3a7abd78bb5227403afc36eebc37e6e83a313d4fbb804e1ebb88aab1bcf4880c3b414d20bbd9a7babb788f3ebc040a733b14153dbbedc77ebb7e25f8ba5cd4733a3b02d8ba79ce21bb469fe03b008415bd99ca0dbd3f13c73a1d403e3bca91e6bde31770bd1d9e2d3c236c3d3b931710be6a2e8ebd2ac61c3cbe81703be8b409be52df83bd9fb3003cad7cc03a4056ecbd4d3059bd65be893b2b32fa3a0a77afbd6d3b18bd32c1ef3a6b8eb53a7acf50bd3e65a3bcf7b3963991c26f393fe3a6bc46100ebba6db27bbcd955039f129853bd333d83bcd9cffb87c2cdcb83cc31a3d5b784bbef2706e3fa844eb3e73d43f3dbfff54be9c28703fca3dd93e52dd1f3dfc482abe44ba5b3fcb2ab83e349a013dd30ffdbdecf1373ff951903ea693003d4ed3c4bdf057113fa9dd4f3e9d8ad23c114587bd55bcc63ec75d033eb452c83c4de935bd6237603e7952753d2489993ce396edbc4766903d1506f23be2af493c47bedbbcfbd6e6bce3c31abda0a0f1bddf26bf3c0000000000000000aacf00be3deecc3c000000000000000089b9d8bd90158f3c00000000000000006c2aa9bd47025f3c0000000000000000d83c87bd34271d3c0000000000000000a45531bd3145dc3b00000000000000005295debc6574b33b0000000000000000348c15bc80022d3b0000000000000000a2d487b94e8d373b0000000000000000009374bb8e8b623bafadc03b6370ff3b6ee471bb2fcc243c4f63693c1985a93ca58a47bb614d463ca361993ce018b73c3a9a5fbbe522843c60cfa03cbf02a43cd171dab5f68d383c79544e3c2f12593c9975b4badc36493ca63b263cfcf4563c4e1a87ba1be1ff3bfe1bb13b196bd63ba2c560ba9051163b2592b43af1223b3ba1f8dfbab7c7b33ae9518abbe05414ba94a3883af613a2bb373a533cc429bdbc20ee8bbb8fe96fbbf5e8063c1afbb3bc8de7803aca64bbbb9dd7e53bf23fdbbc88f3fc3a323998bbb3ff543bc1a0efbc9618433ba54a1ebbf8c1a2badd9ee8bc6864a93a39123dbbf32809bb56cca9bc20772c3b98b944bbddb314bbc6564bbc000de03a329531bb122a7bbb0a9816bb6e090b3b508633bbf83500bb57a3933b92af9ebc38285cbdd438283b98dfb53b706da3bd858ebdbddc7f573c380f5d3b730bd5bd5931d2bd54300f3ca7b8913b3464e5bd397fc0bdd5ff063c39fe283bd544a5bd603f8dbde74506baf6fd373b14e799bdc5d153bd2fe84b3bcfcaa13a1abb34bddcdad4bca9fe4c3a58a323bad21794bc95d9bfbb0ab9993974f719bab099ad3bd33a2d3ccde57abab9a085ba5db9fc3cda4928becdc5333f48dd323f54d21f3db8192dbe403d363fc251293fc163f63ca06f09be9f96273f8d6d103fbc7af73c1edee4bd7619133fbf67e53e32caa13c72de85bd42cfdd3e689ba23e2b15c83ca2db80bd2dd7a83ec2f64d3ed0ff8b3c5eaa27bd70c8443e7379ba3d6864893c11bafcbc5d99993d6d8f4a3bd104583c3f8cd8bc98826dbc760e62bdb5bb28bec073fe3c0000000000000000382c31beb1480b3d0000000000000000ebdf0ebefeccc23c0000000000000000b4aff1bdfa48a33c0000000000000000ceec9cbd08e42f3c0000000000000000082f7fbd2165393c0000000000000000bf0805bd03350a3c0000000000000000b7e320bcc2d9643b00000000000000007651afbad4b5b73b0000000000000000bbcd20bb2fea473b0a6d453b1fbc5f3cd71d7fbb8120e33b81145b3c3d04ca3cea056dbbf9d8383c91d6933c2936f33ce46320bb2cef3c3ce1238e3c2a82ca3c7033afba39933a3cf16f713c66b4a23cb4ddecba23ff2b3c838a303cb175603c0934beba8f50033c397f9a3be63c0b3c533dcdba4c028f3b99ad933ae807163b8b4fc8ba8921b138df4234bb98c859baed60c3ba6b2c88bbfc470a3c3af692bcc96f83b9fecd14bc1eb8f73bf4f38abcbef78dba4a3ed1bb77e15a3b8f6da5bc44e0353b97c6c9bb45ae283bb2bdbfbcd5333b3b188d82bb5919523a0acfacbcbfff263b48d692bb08325fba318698bcb4c5e03a9d4833bb65c634bbdd742cbcb8c2953a17b70cbbea7ae2ba883284bb13d69f3a7c7301bb88038ab9a679253b62ffe3bb3c1293bd8bf8883b02cf793b308759bd7bad04be6159a83c0effa23b65efa9bd1b0b0fbe1fa1893cccb4753b7592afbd7717ffbd9192263c24c74f3b034aa3bdb2bcc7bdac66bf3bb427263a05d07cbd601986bd10d17b3bffc6ca3abbb128bd31dd0abd456f0c3b2188f0ba90b88fbc34c09fbbf7bc5aba3a4fa6ba860d1f3be74e463c0409d23a911726bb31d4c13c1b27f6bdcf03ee3e62156d3f9487f33ce12e00be8823f23e02b5653fbdcdd83c7279d4bde26ce93e2824463f45c9b83ccc32a8bd7e83ce3ea1291d3f18b8bb3cd18487bd01baab3e5b7ae33ee050983cc43650bd079e823ed2248b3ed4de8d3c74a212bd305c233efeecfc3dd3a55c3c88a9cebca81b933dd2f3573b99affe3b3bf4adbc9ff7abbac4298fbd83004abea1b0213d0000000000000000b1095ebea0ff2a3d0000000000000000936a3abe3bae013d0000000000000000e54f0fbe9911c03c0000000000000000edcfdbbd132a913c0000000000000000b2708cbde745463c0000000000000000ef9316bdbd731b3c0000000000000000ec34e0bb5f7d6b3b0000000000000000af9a0e3aad35a03b0000000000000000b7d4d1ba127613397386193a13f6893c7ac105bb9f4b723b8a21103c2fe3073d7f6032bb68d1f73b7d0b843c8fe80b3d050de9baa24e1c3cfeda7d3c06a0fb3cb5b007bb0343253ce1c13f3c39c7b03c2b1d59ba76d2f23b62c8313ce6108a3c1e721dbb65f4e33b0630953b5a41163cddb162baa20a7f3bd169143a312b4f3b1aae9abaa19a4939ae4a38bbf607d1bad3363ebbcbebc5bbf661a53b88e518bc2a4582bb95e7c7bb75d2623b9a7417bc941dd73ae4cf00bc1eb3263bf80163bc28d05d3bf566c6bbda2fdc3928f67cbc3fb3263b26b275bb23f5cb3984b990bc9c7efd3a97982abb1b44dfba72165dbc7fa52e3b192829bbdde260baa5b620bc844b9938c02795baa8b9b9ba78b987bb9c60953a7631c3b9fee0f9386118103b703bc33b394fbabd99008f3c4ae1663be34a03bd2db725be872edd3c422b3e3a176b6cbd5fd831bedc64813c748cb03b4b738abd89911dbe4b1c363c544f243b53086fbdc3a9eebdd226463b63b44c3b1cf757bd9b91a9bd8557943b35314539ccaf03bd6b2b2fbd7ef3923a736daeba592a87bc5d1ec6bb1854c5ba6f5837bbc4368d386d908d3c4c3920bb27834dbbda3e6e3cd2e190bd6e736f3e51338f3fab45913ce4e890bd5ca5793e8bcd8c3f2e35803ca63a72bd3285813e8ad9733ff6277f3c6e9145bd818e743e233b443ff148553cc0da0dbd2350543edda90c3f58fb573cd51d02bdbb562d3e665fb33e86055a3c7966c6bc8183ee3da1b0243ec697143c004c88bc5512783d67d64d3bd0f4a13bc2af69bca948153ccb07b0bddca25dbec2f42e3d0000000000000000ce9e6dbe09043f3d00000000000000009e5f41be1509013d000000000000000037b81dbebaecd13c00000000000000005f5ddabd8e91893c0000000000000000491f98bd3dbf403c00000000000000000a1620bd7880183c00000000000000007ee04b3a3187e93a0000000000000000b416403cf410333b00000000000000004e37303a7e6d0cbbf570b2b90a4bce3cb29fa5ba939e94baa8e6013c9e41353dc36fabba26356c3b96d9623c778d2f3d90d163bbaa2de33bf4068a3c4293163d5a803a38c8c7c43bedea6c3c3b3cd83ce860c4ba7e3deb3b2323293c98eda53c955681ba6316ad3b6378c43b1dec3b3ce80ba8bac03e4c3bcb8bf93afb011e3b3586d2baf149b03aac7b0fbb12803ebb842582bbf579b1bbd82f2b3a8ecfbfbaba760dbc4b4c02bc4d09bbba6087aeb8b7852cba37b9f2bb9bd5c7babb4d8dbb0f61c73afaaec0bb36529f397f4320bc32e8413bb14d73bb371e2cbbcfc933bcae91ba3a7e5846bb0a40dabac3c42bbcbe03593a753200bbb2669cba25f514bc215f9b3af33c35b9f9818c392014e9bbb7636bba2251ddb99aaab13ab6394a383bc8fd3b721304bec87ca43cdfb08e3aa82910bc7ea74abe96cf343dca050dbb628d16bd811a56bedba7c33cc16e2b3bef2947bdd2773ebeac365d3cfb462e3b1b6b45bd69d80fbe01d5c23baf38893a21431ebd9d36cebd8cd4743bdf6dc8b9e1f2debc8ebf4dbdd2ced739c31983baa1f274bcc0ba52bb686e0abcdf40a7baf3007a3a3c34bb3c6292c9b9aaab3ebb7e87b03bb71ea7bcb800943c6e3cac3ffc9fc43beaf795bc6593293ddc2c9e3fdcf2083cd07aa3bc2f3d973d49098c3fb48e003c25e483bc6e00ba3d111b623f3102fc3bcd4246bcf9e8c73df09b243f60d8e93b2b2513bc4198b23d5da8d03ed0eec03b76fbdbbb6b688e3dff713d3eb1d8343b43ff49bb12eb4f3d866b663b9727ef3a699089bb934cd93b2673fdbdfaff5bbe5396253d0000000000000000f51b5bbe610f283d0000000000000000080634be41e3d93c0000000000000000baad0cbe14b79f3c00000000000000004dcecfbdf213673c00000000000000004e477cbd8436113c00000000000000006fd3c5bc4d895f3b0000000000000000764d9d3ced8fb1bb00000000000000001ff6803c7b994a3a000000000000000000000000000000000000000000000000eb308db9bc92b4b91fa3333c7a93253d819c55ba54c3b03a82bb793cbd42173d57064dba2d3aad3b24f4553c3d95f63cbb6ac3ba737ec03bc7ed4f3c7122b73c217f6eba9377833bf66f3e3c6d93823c019a9aba409f723b2c4dc53b575e193c8e7864b968aaa73ac6c5063b0414c53a00000000000000000000000000000000000000000000000000000000000000008d7fb5b9ff9ec5bbb50134bbc08bd53ba6fb683b0fd2bebbd5b632bbd6bc513a8be8b83bda2d82bb61c509bb9d2c8cbbe07ea73bd8ef17bb79ac10baeec6a4bb81552a3bf4cc95ba82fd4cbb083abfbb9b768d3aa2df713a9d902aba7c0eaebb8d84b1b9b1b10e3aa2c5ae39586961bb0000000000000000000000000000000000000000000000000000000000000000f2549abc412e54be7099873cf909cb3aaf8405bd565e48bebe42173c52fc003b72a723bd6ca230be12ae26bba80a003b871f1fbd35780dbef96f9cbb78ee863a535106bdeb68c5bd1d4142bbf6b7ca3a0553a3bc3df556bd89ec61bba88e57bbac4304bcab26fcbbd1771abb2a83feba000000000000000000000000000000000000000000000000000000000000803f5fe03cbbbffd753c3282c8bdd1bfac3f893922b9cf97223c1a8720bd705d8e3fa4d4f539b9e91e3c901b04bcd853693f026bee39f4da103c0fcb373c2b3e2d3ffceb573b8a4fe63b8228913cc0e2e13e47dba83ac319043cff56aa3c25ed5e3ee7dc41b788b4de3b7168363ca373043c0000000000000000000000000000000000000000000000000000000000000000cd8508befd9b8d3c00000000000000005108c3bd309a243c0000000000000000a58097bd7b2db63b0000000000000000322b68bd7c0d1e3b0000000000000000d0b118bd92d9113a0000000000000000e46658bc837fde3a0000000000000000eb2d8e3bf1cb68ba0000000000000000000000000000000000000000000000000000000000000000000000000000000006b3543943acaa3cec89eb3c2da594bb0020953bf9d6c23c76dfdf3c141942bb5f67fc3bac5dca3c16ffbf3c992542ba8858033c3074a03c78779e3c14b4efbae84cf73b0ccb703cb6ec4a3c79e9a0bacf2db63bbb171e3cef67c83b494542bbc24cdc3a855a5e3bfaea943a076f06bb00000000000000000000000000000000000000000000000000000000000000005495e6bb24b9f13988b83eba3ee231bded21e4bbe50589b90bfb10bc1d7c7ebdccd995bb4aa35c3956d48dbce21291bd43a951bbbdf827baa0ec98bcf2b184bdaed4d7ba06c04cbaeec498bc347f51bdb6c7c83a8c0265bafed751bcb1d208bd5de4113bdc83cfb9fc8bbebbe5d11fbc0000000000000000000000000000000000000000000000000000000000000000b08435bebc8d683cc12f4d3ce79975ba32392bbec846873c27f75e3c500679ba8e091abee1880f3ce594483cfc1727bb2454f2bd0865223cd35e1f3cc5e4d2ba15d1acbdb116343c3c6faa3b6e6569b9b06f3ebdaddf4a3cd673e3bad7fd0abaa9ec2ebcc5e1023c0ed6b2bb9f77ff380000000000000000000000000000000000000000000000000000803f00000000314d943c108d98bdcbbaaa3f3bc60cbedf8e933c548705bb69da8c3fc4a2f9bdf862a83c3341323d44d5643f6d48debdd233ac3c9097803dcb262a3f238dcfbdc5f49d3ca253803d1c13e23e68cfb0bdb31e833cb193403d2467683e02cb6bbdb528123c87ec9c3cfd4abf3c7787eebc0000000000000000000000000000000000000000000000000000000000000000cbaf183c1aac58bb0000000000000000c85a7db7285165bb00000000000000001002cebbaeba25bb00000000000000003445d7bb9625deb90000000000000000e65f04bb66abc9ba000000000000000091d8443ba8f398390000000000000000e9990a3c9d12c33900000000000000000000000000000000000000000000000082b681bb055f0c3c9bdc783cdfe788bbef999dbbd7aead3c337be63c0e8d09bca4c8c63aaddcdd3c5d91f93c09539dbb77c1aa3bb3a9e43c7254de3c90db0bbbb6e0cb3b2f2dbf3c655d9d3c43d677ba2c06df3b44a1903cbfb5633cb7f106bbd2465b3b8fa4463c2ae80b3c46f833bb62a4c93ac54a953bbb4b9c3a08345539b46486ba2aab1abb84433fbb814618babfd482bbe8ce873a8759323c957793bcefe9f0bb8ae2f93a178f253c41a615bd3d1afabb35a7ab3980821cb993eb82bdffe6e8bb8d3440ba517415bc778a92bdb11e8fbba75d54b993305cbcbbfb84bdf23721bb4de428b9480367bc892459bd9bc465b92c99e4b8efa74dbc2e26f7bcc7c9413b31fafbba5e9b0ebc149234bc6f20293b98a044ba6fc88dba2be42d3ca975bfbd00f68dbbabc9023cab6eb9b9467727bebbd8bc3c1f942e3c8efc17bb3ef336be1c01353c7e8e693c7c8a58bab27e25be3525cb3b64d8813c0eaaefba7f9e02bec658e43bbb63303c432f03bbb114babdeee2273c8e8b8d3b189294ba408356bdb58f0a3c88782ebaab5854b93f6736bc155506bbac37b3bba4352b3b68fa623cc2f7633b4ec8debbbee3b33a729bf83cd2ee4cbeb962aa3f5ae3f43cbab1163db80232bed055a23fd573ccbc588ed73c2846b0bd6be48f3fe7bc0cbd19e7c63c9aeee4bc00bc6a3fe54840bdbe62b63c7eff3c3c2cdf2e3f231c56bd38e8ac3c5427bf3ca2f7ea3eef106dbd916caa3c9b85a03c5872733e4c7639bd140f9c3c1013153c7cad3d3d25a200bcf36f053c539f88bc733db4bdeee680bc306baebc177c393b00000000000000009614b8bc75fe3d3b00000000000000009e68e7bcf4f65c3b0000000000000000285ec3bc3efdff3a0000000000000000fc95b3bc8981063b0000000000000000ae6322bc7350273b0000000000000000afc367b70ec2b63900000000000000006db6903be74426bb000000000000000025bd4a3c21879aba00000000000000006e1e95bb8e7ff43b48271d3cb92d52b9d90082bbb61b9f3c9b1ab83cb0583f3ab2b0e33ad78bc93cd8e2cf3c6c866b3b67b5783bcf59cf3c409ed43c37e98a3ac84eb33b9b4daf3cb624903c28732d3b97749c3b3909923c43e25e3cda934b3a353c803b071f2a3cd8a6d93b33f705b99e4f1b3a968dcb3b564c9139998c3eb97595b2ba2e8bcfbace75dcbacbbc22ba6c048dbbb133cc39caf8583cfd1da4bcd454ecbbbb4345392d30133c64af23bd24a5febb1a96c7ba5f7ea2ba2d9077bdada7ccbb5164a6ba4460a8bbfce388bd2b5799bb21129bba6cec48bceeec75bd45ba0ebb742da1ba27ce3cbc2b1b4abdc03db1bab32e20baab492ebca7edf0bc39d7c53ac18f34ba580b0cbc9d710dbc85921f3b4759feb92595abba70de0f3ce45c51bdd0a6abbcb06d253c85f6d2b93ad908beb2589fbcd3f1983c23721bbbceb915be7618edbc5621b23c896eea39e6ef17beaf228cbcfbdb9f3cfedba9ba7c14ecbddb2474bc881d783c0bf44abaf106b4bd58ed52bb7af7f23b3ffb4bba4fd64fbd38ead23af1349d3bc2dd73ba3cfb8fbc3f2c983b12c55ebbd1e818b94599103c8173763ba356babb97d954399c440e3d2b6355be43d48e3feb37773e0a5f2f3d43db4abeee8a923f9219373eba89003d160fd9bdf5ae7e3fdb53123ec569f63ca0f28cbd56745b3fbc7a993d9f4fdb3c2249a9bc56f8243f0978203d63bfd03c68bee3bbb4efe63e404d86bbc3ccba3c448b90bba29c823eca1dc6bc72d5aa3c180726bc0e0f9b3dd516ecbc8a1e2e3cdafababc84132abd60a8fdbc822391bda231483c0000000000000000e9b3a2bd6c06693c000000000000000016fb8ebd8b54cb3b0000000000000000676170bdacc6cc3b00000000000000004ea23ebd79b4863b00000000000000009b2df5bcd5d4943b000000000000000039da89bc9f9b6d3b0000000000000000ae60253b983c1c3a0000000000000000a1723c3cac5914b90000000000000000c02b8cbb09d0f53b5f4ad93bc640833b02014dbb4b179a3c9002a93c9264af3b609216baea0cc13c3835d53cbdffdb3b8a449f3a2f0ada3ceb3fac3c8a05e63b27fe8f3bd785b23c5f77a13ce144993b81ab4b3b69c5883cfe41533cbe021c3b8c0a0e3b2e50523c7bbbcd3b2bb0103aba12283ae81c713b12def13a6ced08baaf1192baa2a09dba013529bb56932dba0c0d80bbe20d8eba990f513c9098d5bc4971f2bb230d05bb695c373c7cbf33bd2d5f05bcd71702bb64f78f3b01e36bbdff9cc3bb5d9e01bb4ed63fbb84457dbdaef59abbdb110ebb68fae3bbc6ba75bd74835dbb2e0d0fba50e213bcca9735bddb2d0ab9bf837eba8b440bbceaf5ecbcc31ba63a695e16ba3051edbbe753f7bb8803963af6cbcc383add63391559f13b8b480abdf34d38bd0e073c3cce45163b48bbd8bdca8660bd53dfdd3c0cc8afbafd1d0bbec58a57bd7fb0df3cf1080fbac1cf06be66972abdf1d4bb3c7925f8baa66ee5bdb6f6f9bc2555a23cda78cbba302eacbda30b85bcf086713c7f9417bb798e50bdbabc55bbda6bd33b21384cbbc2078fbc1a706c3bd56b92bacffd0ebbe978d23bd1c3ff3b3a3c33bb49da95ba693ef03cb76740be74286d3fe15af03ee7e71a3d2f293fbe37dc743fcf5ed03e50e5f73c427401be31c4613fdfeda13ed9ddef3c54cc9dbd2ff33f3f0bbe653e9b53d43ce3b527bd310b183ff4830c3e6472cf3c1e4abdbc0abbd73eac147d3de256bc3c161a7bbc17b77b3e6ee9763b5afaaa3c68a597bc70cdb43dbfdc02bd611f313c7229edbcd1aab2bc808f5fbd1621edbdc53f963c000000000000000056430cbe1681bd3c00000000000000002cb5efbdcac37e3c0000000000000000203acbbdfbc4593c0000000000000000b78fa1bd039e243c00000000000000000d415cbd47a40b3c00000000000000005797e3bc75ebbe3b0000000000000000163018bb1aaf883b0000000000000000132a373ce099dd3a000000000000000044d956bb080eb63bdb9e153caf753f3ba91c52bb18df803c18e5983c9c0a2e3c399fa9ba11c1b73c83c5b93cee611e3c3968d43a0b62b83c8995d33cbde1173ca943573ba2cf883c69966f3c1619fc3bad456e3b89f78e3c27fa643c8f6f783b469e343b9db0203cc1b1dc3ba64e9b3a1ccc6f37f19cb83ba554a03ab7e928b7039753bab2d404ba89e35ebb2f8f96baeaa5efb7163f7abbd5953f3cfdb6c8bc1af8dfbb944357bb9029343c4c4d24bded80a6bbd87d8ebb12b4573bf65d50bd294bddbbc02f53bb06f29bb851ac6fbdce9e30bb69ecc9ba6984fbbbc3f648bdff3682bbd1cc8bba83fd02bc515832bdae9eb5b94bcfd1bafe9de4bb92d0d8bcc8fb293ac0f90b39e04291bb877a1fbcc62f3f3a9c858d39d83d62ba5866dc3bbb2699bc0c927bbd1c33463c9d661c3b564dadbde524abbdc514f33ca0ec8f39f294e8bdc4d9a5bd646ce23ca725063b5933f6bde20390bd71c4e03cf3398b3a8acab4bd78c64ebdc5f7763c4099bc3ab74ba5bd0dc5ebbcbb98863c80812dbbfe803fbd106228bc398c023cbae4a9ba581292bcb344063b004a693a3c2b74bba044a53b233c1b3cd2280cba969153bb707cc03ccccf23bec9ab353f748e313f3e08f93c24cf1dbe2a603d3f410e233f8af4cb3c3e9bd1bd01b2313fbc9e043f1466bf3cd49a93bdc49a1f3f98cac43eb8e8a63c1253babc06d5f03e3eb6853e43b4ba3cd4ecebbca82ac03e63c30b3e5c7e9b3c439389bcbb46653e93f3293dfa16913ccb00a7bc9232c03d8ae5e3bc5469283c5794ebbc4b56f7bb0a488ebdf26920be89acd83c0000000000000000294a3abe41eef03c0000000000000000a8d41dbefabb9b3c000000000000000071ab09bed2548f3c00000000000000009769c0bd1951b93b000000000000000089ce9cbdebd35c3c000000000000000034ff26bdcd1bed3b00000000000000006672ffbb72d89d3b0000000000000000a26d0f3cd926d63b000000000000000064796dbbab1eb63b67c2983b9e34083c015b65bb6bc4623cc8c39b3cdaaf613c8392a9ba6feba03cae18cc3cff746a3ca336b9b87013b23c67aac73cff9e443c8a62b33ae73da93c1fe6983c175b303c7990e83996328d3c48ec553c7de3ae3b98b4aa3a3935343c16ddff3b62be163b2dd25a3a9eb9833bc1f1ca3aeb826c3a15c6f8b9651b87bac3e947bb6192a63809af26bb7a9765bb31f8323c6288a9bc524cd2bba4e7acbb11700e3c986efdbca29ddebbf65ba6bb907aae3bb4b335bd5da299bb03a180bb1eb2f5385f6e4abde973a6bbe0a471bb90a325bb5cf749bd8b5e07bb51ca10bb92da94bbf8911bbd532621bbc827f8b713bcb7bb9fa2c0bcf5308d388a771aba2777d6bb2e41ecbb7b06ca39e865ac39232ba8ba32ebd93bd27b1cbc27c798bd8d8d4c3cf081793b878694bd411fe2bd332c133d2ea8983a34b8d3bd1840e5bd341d0f3db21f3c3b344ed9bd6c84bfbd179de83c5e21153a7c94c3bdff4d90bdacc7d03c56e1353ae3b497bd3e9927bde567953c94e60ebb7fd344bdb03398bc56b93c3ca00686bbc58493bcdb1c50ba25cd613b6a588bbbe420bb3b24f33c3c13f902bb9b1064bb24fa923c6947f8bde69df63ef5f0693f6e1fbb3caa2befbd37c4033fae1a5f3f4a90a53cd3f5a9bd8dab033f728d383f8e8d8f3cb9765cbd24d8f03ea3540c3fc20d913caa3e0dbdcdd2cd3eb0d4c13ee577923ca2e4b5bc8e8b9c3ead705d3ec77c973cda3ca1bc0ce8483eccc4a73da6cf8a3ce86991bc30e3ae3d7d71a2bc78a11c3cd28ad8bc253682b91ffda1bdb1fe3fbeeec6033d0000000000000000a81769becb9e173d0000000000000000ab0a48be1f27d53c0000000000000000540223be39ce903c0000000000000000cb2d05bedfd97b3c00000000000000008767bbbd7eaa463c0000000000000000286852bd4eda403c0000000000000000237f1cbcc3d8c23b0000000000000000a9a1b93b76c8e03b0000000000000000f0301bbbfadb453b1efab63b1cbe2c3c338d4dbb03b12d3cc90c953cf0a39d3c2bd3edba86af8c3c9c4dc43c66299f3cfb5a1fba97f09a3c466fc83cffb78d3c37bc083b0cce843c27109e3c5b95353cf8d86c3afcf2783c168f793cccdc033cfb78343a7da2333c94c2f63be84e823b6ac82a3a77b07c3bb1cf223bfc119c394729f6b970808aba137e7cbb143d61ba84f284bb940471bb4044d43b913240bccc93ffbb13d2a5bb3f89ed3bad93a9bc15aba3bbffeadebbd7a22c3b83d20bbda5bdcabb92b29dbbc190c53a4db123bd7e7f66bb9fe267bbf7256fbb6eb320bd627a8ebb2e4777ba04654abbd9890cbd2426c5bafb9ab4ba7b5893bbc84db2bcf2b13c398abb8c395ab383bb3506f5bb1558883aa49c833a339861b95a99aa3bfebfafbbb8bcadbd531ca73cea75053b07a86fbd1ab10dbed41a2c3d510eccba034fb1bd84d30bbeb0fdf73ced62be3b77fbc6bd79bcf3bdb910043db9022f3b0ad1abbdfa9fafbda656ba3c4a4ee63a4a688ebd59ce70bd8076b03c6f9c4cbbfb8a2fbd4af6e2bc6f335e3cbcb75ebb6d5688bc29c074bbf5d3833bfc78a2bbf5ebba3b0d24523c2d4ef1ba6b87a4bb38b14e3c39759cbd585e823eb4a18d3f5168613ca0b08ebd16a8923e6a0d8a3fd42c373ce1a037bd20b6a33e461c643f6013413c8dca01bd38afa23e50c8343ff9403c3c9a2351bc12358e3ec591fc3e46ca683c7c456abc3a5f6c3e9b349a3e823c523cfa150bbcd11f1a3ec18c093efd73293cd89217bc99f6933d492d33bc790fc23bfb5282bc5e42123bd3aab4bdf10155befa78163d00000000000000003ca37dbe49662a3d0000000000000000a95b4abe1c81b83c000000000000000006c039bec4b4a13c00000000000000009f890bbea7574c3c00000000000000000d4ad1bdca5e583c000000000000000004f680bd9046193c00000000000000009f0ae7bb6be32d3b000000000000000061bc733c34b0903b0000000000000000316b01bb5b00cd3a404cf13bfe73703cd28d3abbb6e8f23bad749e3cef9bd43cffe02bbbf8785f3c5028d93c6f3ed03c7fb9cdba6932883c6666da3c7d4ca83c99cb53ba6837833cd3ebb03c2db5783c2eee93b933d9633cef7b803c4da7273cb17b203a96e5083cf7e31d3c25e2a43bdf1265392315303b31e5553b7f5dd23abb699a394544f4bab3d819bbf57828bbebc291bb639c92bb8d10773bfd45d7bafbab3dbc5636afbb9a47db3ae27ac2bbd92ef7bb9eafeabbd2711c3beb7ea9bcdff4b1bbd811c3bba71c8b3a0353f1bccbc894bbd0ab73bb13a7e1b94a1e02bdf2f864bbb2bb22bb66e9abba2434debcd6723abb1ad8a839dd9843bb47b593bc595d0e3a3385463aeae2ebbabcccf5bbd6450639454bd23a7a2bf6b65cbc883bb67a1bbc4192ebbd08c3ab3c0ba8253bd4f03dbd1e6b2bbe6293623d6d735ebb2af2a3bd10582dbe71f0243df6dd863b09c4b6bd60ed14be36cb073d8161823bb2f6a1bd89cadabd59c6c33c499e353b555583bdd24195bd90feb13c11f90abb0faa25bd454a13bd1e296d3c0d53a3bb92f380bcb61789bbfc9f1ebb26bd96bb4e82de3b01ba873c5685e5b92034adbbba9e763bfc85ecbcc940203d3ce4a93ff15cae3b504aa3bc5389923d13419e3f10b62d3b88cf55bc7d51113e0473873f4b30453bf2a896bb49162f3e1dd3553f552aae3b7c6d903b5bd92e3e9605193f40d2a53bbfd9753b9b94163e98f2bf3ed425bd3be839853be2e7d73db3812a3e39c6803b79d5b03bea515e3da611ceba2d17163b60c6fcbb282068bb34cee4bd561a51be241d0b3d00000000000000003ed074be0d851a3d0000000000000000a72d4fbead4cac3c00000000000000003a0b30bed068783c000000000000000093730dbe84041e3c0000000000000000ae75d2bdfb7f403c00000000000000001ce064bd2c99e73b00000000000000007948cd3bd811b33800000000000000006ee92f3cbb1b9d3b000000000000000000000000000000000000000000000000a05defba821bc33b38eaa03cb347d83c4327bfba9c154e3c86c0be3c22a6c63c0589dcb97fda5b3cb824c03ca142a43caea11a3a29bf4a3c5e29a53c75446b3caac939bac92c4b3c83dd7b3ce9fa203c16ea113a1c3bf93b4202183c7a1fb53bcd1d8b39f5c1193b7e90403b2b13863700000000000000000000000000000000000000000000000000000000000000009ce16abbc1d9ebbb7f681b3a2bb653bb95cb84bb2f71d9bb98021eba21f960bc1ff2daba27afa9bb62d099ba32bcbcbc2c5401bab53777bb40b9fabafe95ccbccfe3d0bac3a9eeba12180abb68dcaebc0b7b0bbba7f283b90fa756bb759a5bbcdef13dba93cf953a8011a4ba49158dbb0000000000000000000000000000000000000000000000000000000000000000514f4ebdff3230be72899d3c8ce8ec3b222890bd331923be924fac3cd71c0a3cc6799dbda8ac0ebecc93553cdb4bfa3be6cc8fbd3eb6dcbdedb5343c13b38b3b3bff6abd4c129ebdb55b543c34db2a3bde3a15bd524e28bd21050a3c02295dbabd6b2ebc80def8bb936cc53bf4f98ebb000000000000000000000000000000000000000000000000000000000000803f9054acbb3ee37f3caeba70bdc9bca93f4c4510bb88c4883caf74643c68608b3fa176c0ba9c17b73c56b27a3d00fa5f3ff0e16a38a45eb73c7574a03d3618263f9b935b3b067e963c2b55983d6b78da3efe60e33a8e908c3c52e4543db8615c3e8b69aa37527b173c59cd973c86d7923c0000000000000000000000000000000000000000000000000000000000000000ebbe13be95624b3c0000000000000000e26800be3efc2a3b0000000000000000e942e0bd53ba6abb00000000000000003d37c8bd065c4fbb0000000000000000cd8ea5bdde1385bb0000000000000000407944bd4bd7233a00000000000000001d02a8bc5490f83a000000000000000000000000000000000000000000000000000000000000000000000000000000004805af3be71d9b3c9465813c30628bbb6ec5223c0278ce3ce82f813cc2dddebb13d32f3c660cca3c8e34623c4b91a2bba873483c73ecb63c7768333cb2f9adbb3029523c436d983cd5c8a33b8576bdbbe76e2e3c72d5403c826d903a03eba0bb5ff8fa3b2c6b873b578236bb6c852fbb00000000000000000000000000000000000000000000000000000000000000004d56afbb31541c3a81d1e7bb20ee85bd0921acbb61aff3b95a43b7bc887fadbd9516afbb4b95d4b85e50edbc160db3bd311d7abb080c89b98d500bbd0f7fa9bd933451bb3764f439b4cb0ebd81a08cbdf80a18bae779143a25f2ddbcb8113dbd39c7f0385b259c3a39ab89bcd9c6a7bc00000000000000000000000000000000000000000000000000000000000000000655e1bd671183bc1510b93c820191bade49debda3d29fbbb567cc3cde4c30ba9997c9bda3d027bb1f58b63c9ad3b8b95bdf9fbd27ec563b807a983c15cf50ba53d96abd5b323b3c1a14863c48cb0dbba5afffbc46db693c8d210a3c93f86ebbb7c6c0bbdf34683c1c3cf03ae3ed85bb0000000000000000000000000000000000000000000000000000803f0000000034c19e3b19e2a63c139e963f2e025bbd8969b43c2b8d933d5a837b3f8a3c82bda0ed083db218d13db4f04b3f58a593bda12e243dfa22da3d27c61a3f6ae6a2bdb114283da517bf3d0cbcd63e8ddeafbd10670a3d477a823d0d5d743ec90ba0bd2039b83c7d71a23cfc43863defa08abd0000000000000000000000000000000000000000000000000000000000000000460106bdf7b6393b00000000000000004bcf27bd0bfa963b00000000000000007b3c39bd95589b3b0000000000000000462328bd1190873b0000000000000000e75c0bbd298af83b00000000000000005e2493bc69ec0c3c0000000000000000e60f8dba2fd6043c000000000000000000000000000000000000000000000000c2c9a2388a1ad03bf1b1353c7aabdbbaea4fed3b1e62b83c0b767e3cc2700dbc9e043d3c48b0df3c38087e3c5a651cbc51c4643c10eefa3cfe87533c3dca24bc5dbe7f3c4e21d53c21bc133ccbcb08bcd0cd763c4c8ca13c2c8d753b023b1dbc6aef4d3c8efb383c426e3fb7f162b4bb3c3dbf3b672b2f3a725dabba56a20ebaacf1e13a6f8a67bb17ba52bb597d9037e3944dbb4ea32a3ac25cd53b1f96e1bce716d6bb3576bf3a43b28bbbd5788bbd53cfe8bb53698e3a2f2e8dbcdcefb7bd6621bfbbfc821f3a3641e7bc743bc3bdc8629fbb12f38ab9e5550fbd3e1cb9bd7a5b9dba9f9d413a25ef0bbd0fe896bda8c5cfba086bac3a6541d2bc51a745bd25682f3b31ed30b9d63627bc265f81bc45901b3ba82cc639ab2890ba096bb73b944282bd8472ebbc215d473c10b2893a2234dfbd5ec867bcc946ee3ca4fc3abb018af2bde9511abc84adf73c75d809badf4be2bd70ec8bbad0b9ef3ca395d3ba90b5b0bda71e903be932c63cd683cbb9b4b46fbd37d5673cf4e2933cf32f9bbbd20f02bd18148c3c3d9a143c2df281bb26a289bb01ab2a3cda8227bbfa2ba6bbb74b5a3c7c4c2a3cc169cfbb77e161bb616b3abcb49d94bd20a4963f99baea3d1265c83aaa2514bd21be903ff2fc753dd4391c3c545d2b3d4936793f6382003d5ac6aa3c5fc9ae3de9c7493fb3a534ba24f2f23ccf17d13d0e93183f7308f3bc8e42003d59fcb83de78dd23e5f2d61bdfc91da3c024f7b3d503f6e3e019e88bdb400843c9bfc813cc1648b3d1cd268bd0c5f8f3b948d8dbc343a6bbd1d7a45bd3fc216bda329893a00000000000000008a3869bde426003c0000000000000000482c86bd2207e43b0000000000000000811287bdb26ce83b0000000000000000f4a472bdcbab0c3c00000000000000001e0b44bdaee0533c0000000000000000a4a9dfbce6e2453c0000000000000000013a13ba27e8313c00000000000000009001233c45c50b3c0000000000000000e88b393ae3f3703b15f2223c1a54b2b9450f913b12f78c3c0dd1933ca9a897bbd2d9b43b6776b73c95b09c3c87fb1abb2b302b3c7de6e43cd822873ca2e0e9bb9bfd113cf7caba3c6555413c14b77ebb1f4f5f3c5698a53cbfe4e73ba32fd7bb309b2e3ce805583cb00df03a5e2896bb12e6cb3b92e58d3b4e2a19bb0f5759ba7020bc3a496858bb6bdd8fbb7e94483a59b15bbbcd994fb8e21dda3b3ceeaabc76c6bfbbb525b8b996188839a7f575bd9a1ee7bb2b788ebae94336bc5cc597bd30dcccbb1d3303ba016ea6bcd5fbb5bd64ef77bb2c127aba9f44b9bca4a3a1bda63453bb3492ed3813ecebbc104d92bdbf153cbbc2e4223a63d8cbbc29fe4abd3ba18e3ac7979a37b6993cbc52c5aebc9a53f13a6bb6a4395c5048394d59223b174325bd628304bd0c3bf73bbcf38d3be160c3bd41160fbd7b76c03cd2c4603baec2d0bd2aca05bd26c5b53c5e8cc93b1ac9dbbd011996bcb8eae33c4712303b231babbd8fe834bc221ba83c9b80a93aebf680bd5633223b6eeea03c5cc304bb24ab11bd4c70d73b64bf633c7d2b9bba4bc0ebbb01a0133cea270d3b762294bb5165573cc6ed013ce63746bbbe0f89bbb41423bc541bb8bdb50d803ff604923e43ed103939e969bd018b803f5829703e0e74b93b21c9da3c15aa563f6b743d3e81b3453cfdd6723d491a3b3fce4ae73da334aa3c4be99d3dc7ac0c3fc3db823db40eb93c4d26a03da390cb3e2d7ca93b6d61d43ce2c35c3d21686e3ef419a1bcd69c8a3c027e673c0406ab3da1bd49bdab1f4e3bb3cc77bcef7c07bd1c543fbd52fd67bdced48cb90000000000000000438db1bda7d28b3b00000000000000008a56a5bda43c83bb00000000000000006d76b6bda0a4943b00000000000000001e0b9abd74468d3b0000000000000000eeab87bdeb75373c00000000000000005b9c3cbdffab133c0000000000000000f39a89bc3435693c00000000000000000f1a883ac79c453c00000000000000003a216239122b923acb022d3cfaf7c43a25c6813b8b566d3c7255953c8e4eaf384e8cb73b9b15b93cca55b03c9ea93bbb386d0f3cf7fccf3ca42b8f3cb49c83bbd4612c3c47c2cc3c3427833cbf20b4bb9bae373c01f29f3c6ac7d63b3914b7bb234f293c59ce593ceaaa1e3b5f1390bb3b15d83b2278693b14dd2dbb9219d4bafa1c063bf14a16bb48b7f7badcaecaba87a62abb574a4cbae0c2da3be40394bc9a2cf6bb6365d5baf6c30b3b45e55dbd57e106bca41fdcba0f1f8ebbfc1d98bd8411f4bb82d49fba23a87dbcd5a9a5bd7404e8bb99ca9abac179b6bca1f4a6bd675a85bb027beab9b2bdb4bc1d3d8cbd22af12bb2bc832394a0ea2bc22884cbd3b009c39e84b123af4423fbced63b3bcb9e1913a973d693ab1474abb53c261ba38d900bd400732bd8dff393bedb2f23bd516adbdb20851bd00689c3c99f2263cb0e1dabd0e8934bde3d4d23ca18f133c887dd4bd0ca404bd9929e13c9495d73ba0d1b6bdff26adbc0d9fd53c455fc43bae7b82bdca2f8dbb1158b13c9ce99a3a284a14bd7fbb9d3bb425723c331829bb6d0402bc9e93113cc431a23b2db69bbbff94523cc459123c557bf2b97ab593bb629b59bc468faabd3c28563f2329ef3e0b6d80bb1be36cbd1651593fadb8d43e31ee21bb209b8a3b18de433f558ba63e3f02be3b41383e3d2348253f674e703e8751583cd2bf913ddb6b023ff036193e146a7d3c186a863deef5bb3e7dd38d3d1c3c933c20984a3deb86633e951df23b8c64553c5c38823c9dc9ac3d6f330fbd6a47d93bb9682abc03cbadbc8eaa66bd174c96bdd1907cbb0000000000000000a00ddfbd71a0ccba0000000000000000e14fe4bd739819bb0000000000000000ba22ddbd07590bba0000000000000000a1d3cbbd9130b03a0000000000000000ea7faebdac221b3c0000000000000000a32c7fbd04f96f3c000000000000000031d704bda778953c00000000000000008b3f0ebc0986803c0000000000000000f848c2ba3ca4893acb9b153cd4f0a83b1736ac3a82c3563c3a8aa73c174bfd3ace750b3b2932a23cee1cb53c6716c73a923aa83b969bcf3cdb6dc53cfd8a61bb5e6b7c3b6176903c3ecc813c0d3df23a68c2143c37dfa33c98803d3c403fd1bb8f18043c1a935f3c2bdd573b83db93bb5fadba3b7201ad3b078af9bad52705bb5ae05d3bb122c6ba4272a0bbc4e6baba34258abb6a6d4fba1206fa3b426138bc5272f8bb78d926bb4e09ad3b99133abd638701bc2a1114bb4b075dba4a497ebdd03212bc8f7c06bbf77908bcd92e9abdf892bfbb9fd696bad62447bc71f97ebd6df799bb841ea9ba970876bcb6d592bd22b638bb7bf0d93847e184bc9fd944bd2356203acdb9beb8d2cc25bc8542bebc7e38473a84446f3a670b82bba4651dbbcfb5e6bc9e5446bd5be110bb35d32d3c03469fbd594487bd9eb36f3ce6a56d3c8ff9cbbd4ca870bd10baa53ce794443c1849dcbdf85845bd5212dc3c585e3e3cbc8ba0bd536d0fbdf100823c5a370a3cb93684bd199678bc1de5c43c0894913b596f1fbd2775f3b9c219843c8ab2533997cb25bc06f30b3c01eca53b7d9b7ebbbf9b273cf953443cbbc9a23a749693bb7ca965bcaf009dbd0359293fb51c253fb23105bc162055bdf4b12d3f2365183f2b95aebbbf72c33b015b1f3f1bd5f53ea4c3f9baa476283d7b390d3f75b9ba3e84da203cfbdc7b3de670d33e742b823ea9f7133c2a927e3d3b20a93e542a103ef07a573ceb01403da15c4e3e035a5b3d0121343c6aa7983cc78caa3ded1b96bca2359b3be4c0f3bbf9f445bce09e70bd6008aebd3a1dc7bb0000000000000000c6f7ffbd5b4e93bb0000000000000000a84afbbd054a06bc00000000000000009e1efdbdbeadeabb00000000000000001819c3bd246043bc00000000000000007b7dd1bd9912b93b0000000000000000710f9abd22a4353c0000000000000000851b35bd6a87a23c00000000000000004c648cbc593c9c3c0000000000000000f9cac6bab4edb23ae39c253cc12ba03b5e0a9839180d543c33faa53cf30aae3b4addd63ae20ca83c9286cc3ca521433b8d0e883b89e7bf3c4ddfb53cf771643a987dab3b058ac23cf11fa03c4e3465bac995f63b736aa83c294f3a3c951e5ebbf6cbd23b37fb823c67148e3b04597abbe039a63bd0b5a63b285ef7ba60e0e3baab302d3bad7d1fbaeabf86bb957109bbd6c17cbb3703c3bacd09073cd62639bc8ae20bbc7fe23dbb1edfd53b4d7125bd807125bccf002bbb7cf34e3b985f72bd419d0fbcbad330bb0f6197bbf0cc88bdedc609bcc19523bb8a4120bc2bc08fbd5731d0bb38b890ba67474fbca9cb7bbdea8a77bb2d6d6bb77fae32bca33f43bdc74a37baed86553adc3b06bca358b3bcf008b239565e863a9d3583bb4a55c0baa480c6bc02cc5ebd8f00aebb0e5f4f3c98769abdec17a0bdff9a4e3c4ba5873cf259cebda29799bd94f9aa3cb864843c90c9d1bd21307dbd7171c63c9a525d3c9306bebd71ee34bd9e24cd3cea29433ca9ad8fbd4871bebc2422ba3c1af6d73beb532fbd6ebf85bbff6c893ce7030a3a985b3fbca18cdc3b6b83fa3bd2e58dbbe1d8173ca6f0473cf7d2083bf9759abbeeef3fbcb3bb86bd2c0af83ec93e523f25bbd5bb2bd13cbd139a033f57df463fd09e20bc6af7073b2f0efe3ed146243f4e4aaabb02bb153d9b2ae43ebc31fd3e419f6bb918c7653d034fbe3e89b9b23ee34e793b27b5623d336b903e02a85a3e633f013c59822d3db111373ed300c53d8874173c9a677a3cf9ab943d272715ba0b6daa3b9a4acdbb9d622bbcfe0279bd420fc0bd2447d5bb00000000000000002dd10fbef330b0bb0000000000000000fbd010be6fa33bbc00000000000000009fc00bbe592b1bbc0000000000000000c2ea00be542d09bc0000000000000000976ce5bda751183b00000000000000008f69b7bdd6f2523c0000000000000000c07858bd32c3a33c00000000000000005502babc120ba93c00000000000000008d2cfdb92ed6dc3ae63c123c9df8c73bfbdb03ba1d5b473c5c1cb33ce23fee3bd0754ebbf4458f3cb771cb3c1ad6d13bcc1a873a3962c53c42f9d13c1a7a7b3b324a063b59a89f3c4159953c1526fc3ad4569b3b429fa83c3403673cf88f34bbf04eb43b67a06b3cc84ce23beed90bbb6b2b6d3b8078983bc707303a916dfebac751ec3ae3fbbfba389fa5bb335b7dba28669cbbc265c7ba68a4b73bc4ec0cbc88bd15bcfcb16abb416df73bd92804bde5b3e3bbce638cbbbd17ed3b47e639bdca6f33bc3aba41bb5d50183b883279bd2bece3bbea1714bbaf9269bb0f1869bd9a8abebbbc05dbbacc2ee3bb69a368bd2b0d9fbb545f22bab0a216bc99902dbdc606cfb99d3dc139243492bb03fea6bc00dfa93abfd2453a09d4bbbaf38a0bb994fcbfbcbe786bbd4b3d8bbb9e25533c8c3a96bde1c6bdbdea79383c6e889b3c3fd7b9bd21feacbd81fc333c37dc943c3cd7d5bdfeaa9cbd5081b43ca66d903cf57fb1bd3c475abd67d39c3ce963493c554794bd853e02bdc0dbc23cc15de13bf62938bdefe573bc69608b3cf420a73b5c2e62bc4810353b85b0143cd7d59ebb8aea353cea94443cf711a139d6e4a6bbf1fab4bb997c62bda0059c3e4bb87d3f840ce2bb2b8a0fbde439ae3e659b733f994c1fbc9bbd3f3c530eb03ed03f433f1c152abc13d6093d5070ac3eedbd1e3fbae648bb0fb5473d5f17903e14c4e23e6a1ba9ba22954c3d1c466a3e7d7b923ead52be3bf6862d3d1a5d133e0167193efa459c3b8109743ca9f3793ddbe8933c48d1703b6e1cdebb17e93dbcdd707cbd7f09d1bdad940cbb0000000000000000cdd217be0767e7bb00000000000000007481fabd860fa7bc0000000000000000153811beede781bc00000000000000003a19f5bd17d070bc00000000000000000100f8bdcf0ed5ba00000000000000002461b6bd8f188f3a0000000000000000be7373bd55e3a63c00000000000000007ea3bcbcfb7bb23c0000000000000000ba3db4ba943cf43aad2d1e3c376a063cbf3f2aba7ca75d3c34e1cd3cd354fe3b5c6125ba8ca49b3c169cee3c34bd053cf28c153aabf1be3ccbb1e33ced7e953be898ec3a2ea1bd3c4748bb3cd9e72e3b5cbf613beb6ca63c5307803cbc1a01bbc32a2d3b7de3723c1fef063c04c96abbe786c33aa313b53b738484ba30c888ba4386a83a4c55fb375ff09bbb8e8cf9baf1dd9dbbb267a5ba4d14e63b5f1890bbf50628bcfb5982bb63b0e83bf724e3bc4ef83bbc4c9082bb176df83b581232bd464f1dbc6a298ebb011a1d3b93ad54bdb23c19bcb3642abb1c0306bb447d5dbdc68ae0bb378917bbb73b18bbf1e551bd526a4fbb8af89aba4b13e2ba232423bd5c288839b867e739680fa2397e7889bc031d983aec97683a50ca9fbab7d4bcba1d17eabc719796bda34a1fbc1983543c0ee39cbd8cc5d9bd88875d3caf58a73c8ea5cebd4129dabd83af8e3cf965af3c3ed6d8bdbd29bcbd9d50ae3cc591a03c2716c2bd8bc48abdb764bc3cdfc3793c4b1d9abd2f7a2cbd2515c33ca5693b3ca2183ebdc4858abc1375983c41b6463b6c6f45bc5852d23adbd8053cf5aebcbb465f243ca081643c19e2593bf04abcbb26f3d6bb8cdc16bd86d1093efaef953f55ddc1bbaeb387bc687b2e3e66158d3fc51a51bcb7cd613cda44603e318c6c3f732840bcaea71b3db4bd683e05413b3ff03412bc853e513da0aa583ed792083fb68fdcbb43644c3d45eb2f3e7f0eb43e81f15dbb8363163d8979e83d0f3e393e05ad3538d476653cc3fb2e3d553e013de39f553b3ce35dbb52f364bcfa5199bd9dc0b7bdf5a2a3bb00000000000000007b8b0bbe177013bc000000000000000089ff05beffecb5bc0000000000000000b3ce04be186bc2bc00000000000000000d42fdbdfca0babc0000000000000000fc38f2bd8fb62bbc0000000000000000854ac9bd08489d3b0000000000000000f32770bd1fdca13c0000000000000000ad4504bdf562a93c000000000000000000000000000000000000000000000000f72f41bb9d23043c035fa03c27e5643cb34141bbe077593c4405cd3c322f543c88b42bbbee127e3ce700c63c32f8413c8bfaa3ba0409723c3624ab3ca1660b3cb3ed0bb9d92b6e3ca809993cb6e38f3b47dc073bf9814c3c018c293cbc3f5bba97d6423abaeb0f3cb0470a3b24a58dba0000000000000000000000000000000000000000000000000000000000000000b76e9ebba18976bb5e26033cebdb6fbc7636c9bb2ad694bbe9bf083c89cee5bcf08cebbb44a33ebbb553c43b648a11bd1df3acbb82f265bbba85953b5dc826bd4090acbb550c06bb58478e3aa3cd20bd7e367bbb48fe83ba4edf85babb1503bdca3408bbfa9b0eba2b27bbba63549cbc0000000000000000000000000000000000000000000000000000000000000000f4b689bd3068dcbd10b8e0bbf0157c3c7844aebd051fd2bd254a353baea18d3c6cd6b9bd4234bfbd6fb2903b7045883ce74dabbd7f1a94bdbddc103ca777693c435f8fbd523252bd90974b3c35ff233c627c43bd900cd0bc5e7f5e3cc7e1cc3b8abb9dbcda6e93bbeac7273c8ec7003b000000000000000000000000000000000000000000000000000000000000803f9d64e3bb69b8f83a6e81323dc9c0953f7e6625bc4e24bc3c9508b93d5063783fa7f71dbc88d8233df114f33da5ec483f0d8ceebb7abd493d4189f73dbe3d173f4641adbb95014b3d21d2d43d8adccf3e0e5863bb6da4223de61a913d2d336b3e3182ef3a569eb73c70d1d73c5e4e763d00000000000000000000000000000000000000000000000000000000000000009ee88fbde5239bbc00000000000000005d429ebd5509e8bc0000000000000000d224a6bd314a07bd0000000000000000d3a7aebdb1bdfabc000000000000000069b5b0bdbd9ec3bc0000000000000000d1bb9fbd75452abc00000000000000009eb87ebd13e1433b00000000000000000000000000000000000000000000000000000000000000000000000000000000785221bc96f28b3c95752a3da296273b5c59d6b8da9a643cf219203d125ebf3b8f02823bb63e7d3c1ab6f63c06b72a3cdf09bd3bddf1413ce61db53cf2e2303cd036013c7443ef3bf27f4f3c7808013c97dea33b66cf5f3b4307cd3bedb1c93bd0705b3b501d0a398bba3ebb808a4e3b0000000000000000000000000000000000000000000000000000000000000000de2b6abb2e69efba1e53d33b621beabb997cdcba26fe5cbb076706ba867707bd6459f83a86e384bb3a6d8abbe6924abdad91d53a35eeffba3826e0bbac564bbd6f76893a6542f1bafb5734bc13f231bd0feb983aa99a72ba26b70bbc6404e8bc79b757b9fba812ba917116bc96d1fdbb00000000000000000000000000000000000000000000000000000000000000007cd46ebe2165fd3cf843473ad0ba6abbb42b5bbe10e9873ccbf569bb3cc2a73af9b348be3fe7c53bea11cbbb96f7413b864921be2fef9039519a04bcf3f5f53a3a00cebd49748ebb1779fabb3746483b43cd4fbd4bcf0fbc75e8e9bb2997703b4f2b89bb22f8e1bbcfa2d3bb5d1c8b3b0000000000000000000000000000000000000000000000000000803f00000000a1f4c43cc61dfcbd5f7aaf3f708f1bbe66438c3c873b3ebd4a03903fec3ddcbd9fdc743cb33561bcc7de703f9f06bebd6aba8a3ce34a603cf99d313f265d88bd8bdb3d3c96f5043d71a7df3e399c0cbd22c50a3ca89f0d3dfd98593eb43dd5ba1a26bb3bbc19e23cdfc8adbbddea9c3c0000000000000000000000000000000000000000000000000000000000000000c509db3c758a16bb0000000000000000fc9c603ce5f18d3b0000000000000000a123333c9942403b000000000000000038bd533c8886623b000000000000000041b0cf3b23c8693b0000000000000000b985633a2328a23a0000000000000000095cd13a2989cdb90000000000000000000000000000000000000000000000001afd32bcba7a323ca214833c0541a2396cec49bc79ed7f3c4a45023d9f32e93a1513acbbe593a33cff801c3d90de433cf458483b8a41a23ca373093d06a2503c28d5c93b663a733c7c47cd3caa843a3c43cfcb3b18e1203c75ee873cb619403cfa98fd3bdc25c93b0999bc3b679a083cdd9da93b9901f03a389c16bbac23c53bad6531b9d049a539f5d513bc086ec8ba6b446cbba7acd3bac26f5d3cbfe3e63be1801abbeade85bbaf5a503ca5fff8bb49f100bb1ac3e6bb5384503cc7b71fbdd2a095ba621cd7bb472c8b3bb6354abd9ca0b73aa44086bbd5224dbb18244fbdc44e9eb813766bbb1ba582bb038633bd08b31c39862158bb777608bc1f51f2bcd6ae6b39bfe4f2ba677cf5bbd8604ebc333d073ab4c28ab93ff5f8bb1f634e3c6f20febd7f49a73c3157183a760331bb1a543bbea8f2923c787db6bb2d9f213b3ee364be8750903b17e45cbbf1cb543b3fec55be0e016cba1647ebbb2d73913b1ea328bee9ecc7bb8c7123bcea08a03b3323eebdd7312bbcb6a229bc8696b33b624b75bddd191bbca8e316bcc0b39e3b071e84bc497931bcf0dc8cbbb477973bc5d69d3c17cc28bad7d9efbac15de23af164443d422e7cbe7fb1ae3f31abc0bb03eb293dbf8f34be2b649b3f43e5463cb1ba0b3daf660dbec558923f861887bcf30af13c4784b5bd55f3713f03ec83bcd1c3d53cd96941bdaaa1353f6f9b3dbccd4a9f3c7ab96abcda6deb3e74b2823bd3a7823c1f86b43bc5e8623e643a8b3c47b3923bc9667f3c65c13a3d4ebde73c2023b03be3c4a7bada41ecbd30979a3c763e94bb5a97253b000000000000000017c6bfbb6728b83b0000000000000000c4b681bb09e8f73b0000000000000000b4723bbbd9860a3c00000000000000000e555dbb4b79e43b0000000000000000d65c76bbfe6fc53b000000000000000007ec8cbb8627993b0000000000000000b46333bcc2c7ca3a000000000000000055a90abba0fa01bb0000000000000000a80f14bc1d15903bf3b9f43bfbb7403bae24ebbb533d743cab51b93c280a193c90bd36bbe06fb23cd163e33caf43803c1ebc9f3b60db9c3ce9b6c83cd6be843cf7f0eb3b8e3f873c667f903c1cb46a3c7059033cac3d4a3c63d8493c33db463c0bb5033c97df013c0f4a5e3be927e23b0bf3623bb660a13b82b430bbd5fa103b6b19333bd80c403ac1fdf7bb70a4bbba85c691bb3ee6eaba893b883cb737a5bbec1aefba1d9ed8bb75278b3c7ea2b4bcad2095ba9618eabb2c80793c548b2fbd10fdbc393f0bc6bb7e9f0b3ce4185dbd7b40e23a873ef6bbab21043bbacc57bd6fd44f3b643c97bb379ed1ba3fc82ebd70559b3ad564a5bb6550c5bb1dccecbc1a52793ae27b31bb4482bbbbc79e19bc9c7a8a3a60f5e0ba5149b1bbc799dc3bd4528ebd596c0f3b2998e8b8fe61033b3e1126becb7336bcedae97b9a634823b3a8449be69d395bc08f420bb53d06d3bd99a41be9cc0a0bc6c58c4bb90b68d3b1a621dbe19a9aabc0d4707bc540bda3bb36ceabd06e791bc080e38bcaeefb03b3f4b77bda41839bcd00ee9bb03fcce3b42dba3bc13dda7bbff6aa7bbd4729a3badab063c5754203be45cc2ba46b6863a8d42463dd3926dbea4138f3ff04d653e7328473d1b6063bec465923f67cd343e64df263d68f634be0f10873f5ff9033ee0d70c3d0a5a04be565a643f675ab73db9a8f13c6d35a5bd9df72d3f70ff7e3d6846c73c44cd43bd42ede73e0265463dfdc2983c3f8caabca160693ef1b3063d1fd3333c935a18bc1eb6593de96a9b3c7fd1b93b57a429bc862b74bde46913baf34357bdc15a583c000000000000000050ba50bd1285893c000000000000000099c118bd4df16e3c0000000000000000b110e4bc83e3853c00000000000000007a189cbc82691c3c0000000000000000f52c83bcc4732b3c0000000000000000497722bccf66a53b0000000000000000691a07bca58a1c3b00000000000000000742efba72bbfe3800000000000000008ed51fbb349d483b8eb3453bc041123c984ec8bbc610403c335e9a3c60e27d3c0a08e2bae6a1953cdefec73c60849f3c45377d3b93ec953c91efac3cdce5a03c729ee83b5fd3723ce7fa933c1c997a3c1714163c9243443c9e160e3c6982393cfd4be73b2a8e063c50f1313b8312f73b6ff4de3b4d869a3b5b0382bb84dad53a66b3563b5eeb2a3ae75bedbb38f6f2ba7edfb3bb7fbf9ebbe5598f3c7cdb90bc94bb97bb5126bbbb11d2a43c55c2c2bc948f463a45530cbc8f1e9b3cc82c33bd38da07386414ccbb9ad34e3c8e795abd398e183bde2794bb29d1023c522c56bd8ecc5c3b3fcec8bbae97273b57d737bd55776c3a24d655bbf29834bbdd63f7bc38ca1d3b313e98bb22a0a0bb18ec5abc9ab575babd9507bb95068abb2519cf3b5d2552bd1ccab0bca8d98c3bf2039b3b369605be44f038bd0472c93b2b5aab3b52932ebe736a5abd5105a03a8d19b53ba5d728be719a49bd249d90bbe6cdf93bcf1e15be2e7710bde26210bcec1ec33b227cd1bddb00d7bcdd6033bc8359c83b9f4474bd1f4077bca60cf5bbee54b13b7301adbcaad001bb4fd6c2bbc984463b0103d03bfa71013cde6cecb90392ec3a5c11263dadfb5fbe9e56713f5600e93ea6e6383d2c085dbe841c743f2518d03eb4f6133dd68e37be9798673ffcd8a53e8605013d161208be0937473f056b713ee6a3e13c784fcabddd531e3fde7c213e8798aa3c5dcd82bd6194d83e504ac93d6f898e3ccd7602bd7381683e192f473d9988443cb483a4bc2fd3873d60371f3c0972103c52c4b7bc2a122ebdd1fdd9bc9340e2bd7181c73c00000000000000006acee0bd09d2e93c0000000000000000406cafbd81bccf3c00000000000000006d3d79bda00d9c3c00000000000000004b093abdd179933c0000000000000000de30debc7950643c0000000000000000f54973bcbf00cc3b000000000000000088da5dbb23883d3b00000000000000008cc62c3be16a493a0000000000000000326799bb0788a3ba47708d3b5ac5433c1fa936bbc8f4f63b7b88773c38689c3c836a50bb4f735a3c1e3fb83c0933c33c9328723bad1c9a3c66f0a03c0770a53cffdbc23b9d2c3e3c19753e3c3c45723ce755023c53683a3ce7dd1b3cc01c593ce7390b3ca641be3bd37c323b9795d53b7bc9d23b790f533b52ad08bbe9bffd3a0c00f53a6aae013a55aae7bbadd301bb6f72bfbb78eda1bb13199e3c18d876bc224aa0ba495907bc6b9d873c0371b3bc19ea453a0580fdbb9f00933c0fa516bd76071d3bc637b3bbff944f3c6d7240bdb951fa3a707f76bb821bf63b0a644cbd5993f73a8dc68dbbbe357d3bc4c82bbd93e0b53a2328a4bb9476083a1fd8f6bca314a2b84dd041bb64a2adba64dd78bc2144303a22935abbf099e0bac7f5403b1862ddbcaf7e4abd59fe383c9942a93b3de2cabdf7b8afbd19604d3cde29f83b7a930abeb7b1c4bd12dc0d3c2d43f23b0fa913bea143a5bd71ae043b56df713b8878e4bd66f671bd7360a0bb20d5bc3b975fc5bdab781fbd4f0bfcbb7caf943beb8758bd0c238cbc9a6fd3bb9f67573b5c1daebcdf9c98ba3efba3bb449ad93afa5c703b4b92483cd35716b9d743e53a9293033df0e033bebd12323f9e0e363f960a113d379531be961c393f550f273f3619fe3cf00e19bec7fd323f7d3d0b3f155ddf3cb146fcbdd7df213f8897d03ea0ebaf3ce1a7a0bd53fefe3e718b8c3efa2b973ced2d86bd1ea7be3e86cf203e1078863c2e3f19bd86c0573e1181863d63ec313c9fd0c6bc6a1b9e3deb7704bb61a9013c5b97cfbc0a56cabc695053bdbf3a2cbedf13163d0000000000000000fb3929bef4071e3d00000000000000001d620cbeb775043d00000000000000009f5ed1bde95fef3c0000000000000000767e86bd7da2a13c00000000000000007a2726bde10a913c000000000000000068348ebc4e65133c0000000000000000205379ba40bd8a3b00000000000000002676ce3bb0a0073b000000000000000031d203bbfc4d98bbeacd353bcc99773ca6b591bb73c4413bcb3d6a3c96dac83ced5900bb58c8333ccb03ac3c9815ed3c77078d3a61b3583c8805953ccef5c43c63459d3b2dc5623c6db4773c62ff9b3c2753d33b1a632d3c6fddf23b6b73683cf153ea3b6275e43bb79f2b3bf997083c27caac3b86708c3bc86724bb75a60b3abce96f3b3762313a2f1cd6bbb9bbaeba578577bb99fec1bb74b65f3c791d4cbc47fcfc39000723bc57d76d3c15dc8cbcbb4be33a379213bcba65533cfbe4dbbc25c5503be366e6bb867a483c579320bd86b47a3bfdccabbba07de23bf64529bd0e92443bcd35b2bb641ed43b38c117bd53bbbc3a261ab5bb6d1b333ab095e7bcac241c3b0375babb7d78bfba4b2e50bc91a687ba0d2f95bbe68b1ebae9fa88bae6fcefbb8f5c98bd64e4533ccc89213ceac985bd2f0c03bed355b63ce326d53b27b1dbbd0e4b0dbe24de883c511bb03be118e5bda68ff3bda31dca3b95e2f23b486cd5bdb725b7bd4b1b9b3ac8d7383b519dabbdfa915abdf397b8bb17765e3bd8f75bbd6c3eb2bce932fcbb136f853b2663afbc27f01abaa70250bb6037503a8b2d743b9262783ca4cf5d3add85b63a197ea83c7299f1bde482e13ec779733f6722d53c419bf9bdc94df33e64ee643f581da93cbaa7dcbd4e55f63ed181433fc306863c24cab1bd2416e63eb7c2153f44187a3cceda8cbd66fec73eac9ecc3e8a4b393ca5ce55bd92a0993ea8b36b3e6866423ce52b16bd34dc423e7469b43d43d3073c76f4d1bc7d47a43dfc40f4bbe017993b57c7a6bc03c4e8bb4be195bd3df955be9960273d0000000000000000d90b5cbe4c784e3d0000000000000000a3e837beb358283d00000000000000001a240bbed01e113d0000000000000000ceefbfbd15e9db3c0000000000000000d49e4cbd94e7933c000000000000000021c984bcede0463c0000000000000000dcbf7b3b3035a73b00000000000000002d981e3c16097a3b00000000000000003c974bbbbd95acbb3c12f839129b8a3cc283b0bb15f1c43a78dc513c7942ea3c52049ebbaea1be3b45cda53cafd0063d103f5dba9cdc303c107fa03c5d2de23c043a943b53fa0b3ca1047b3c8ff3a43cd3d5ac3b40b1fe3bb170313c28aa4f3c897f9c3b00079d3b8689a93b8588003c5e18973b6324843bb1273fba29af003bf6543f3b2d8449baeddeb2bb31aef2ba89fba8bb057de5bbe424263cfda8dbbb49e67339f6a71dbcfe3c323c702ff5bb4157363b966511bc880d203c89e74dbcba45693b8e36adbb295df13ba8cec8bc1dbd3b3b63164abb1cb06a3b292ef1bcefac6c3b614991bba8a7a33b148eecbc5bc6633a4f044ebbf032fb3afc13b3bc8cbc27b979cb8abb85c8ba39e5196cbc18d286388ada7bbbe0a0303850ee34baeb672b3ca0abb7bd97d2d63cc616933b267e1abd583828be07f1ed3c2d10dd3b738397bd6c863abe44e6c73cd66ed13b24e0acbd333b21be65ba4b3c34148b3ba11ca3bd4dc9f0bd7e38af3baaef2c3bd3f48cbd721997bdf3caa1ba5ac5223bc12434bd031603bdb63c85bb51da5338162bb2bcdc246abaf64a3ebb3d501a3aa11a623b84b28b3c25a76cb96ec871ba333b163c72fa70bd523e563eb444903f1405143c3afb7bbd0a0e723eb5008d3f555a013c73686cbd5b50863e1773753f3f2ed03b584247bdbf5e893efd24403f9b22033c1f9e1dbda7027d3e1f3b073f936ba23b12ef12bd58615c3ef1fc9c3e41d4ea3bfc32debcfe7c1a3e9bacf53d6e1ea43bcacba1bc6d1c9c3ddbd004bc4047553b3b2692bcda97ce3bd192b2bd063268be43d1493d000000000000000056da71bec51d543d000000000000000094384fbeb2142e3d0000000000000000fefe21bec06f0e3d00000000000000001c67dfbde1dad63c0000000000000000b6786ebd510f963c0000000000000000ecae93bcf7de0b3c000000000000000054a6f13bd02c533b00000000000000000725a33cfdf78a3a00000000000000001c3888bb7f22dcbb16e88c3ba0f8b13ca28ea7bb7f5b44bb73e03c3cef540b3dc19cddbbd3884c3be28bbb3ce024163deb8b38bbbc34d83b0f62bb3c345df63c29a1b7bafebb133ca93d803c324bb83ccbfbe639fa510f3c54585b3c4723783c2e0f7f3b2abe553bef47bb3b378ff33b0c635b3ba8ea393b0bcfc73a851b9a3a946f143a0c6ffbb91614ccbbb77755bb987c59bb670006bc8a54783bb863043ce33847bb3a032bbc878f853bf7ca683b10a1473b784df8bb0626ae3b3ccb33bb91ea983b6f3494bb695e943bb3612dbc8a56733b422aaaba2bdc9e3b15f093bc6346c73a4362babab6cc223bd2ee9dbc2845223b39481cbb2d5ad63ae63389bcabe71b3a840ad0bae3e4b63ac49245bc266af2baf80e43bb59d1423a8f0919bb07717e3cda250dbe14d2133dccaa4f3b759251bcc59c40bed2fb343d4b04a23805bb45bddaff5ebebe3ceb3c4c5c3a3bf53682bd2f3745be62d99b3c07df473aa18579bdb8b115be7b080a3ccdbad7ba1d5d64bd33f5c3bd01dfc739148d033947d415bdc24630bdc7cb81bb8617bdba4ae095bcb24bd7bb73bfb4bb6da484ba2a27d63bec14db3cd73dc13aae3180bb291f16bb4a5becbb90e27ebc9abcae3f770c843ad09282bc1373603d3e01993f35851fbbcc4c84bc8005a93d9ebb8b3f6b2bb2b93e3989bc9747eb3d11325f3fca3647393d6160bc027e023ed00e203f20c7fc3ae85f92bc2e24003ea87ec33e16762a3b8e595ebc1243d03ddbdd243eeda2243b778359bc2b33803d237e103c5219e83a8313d4bbf166dd3b628a06be17be75be32f84d3d000000000000000052cf50be6e763e3d0000000000000000e16e3dbe489e133d0000000000000000d86917befac4fd3c0000000000000000f6f6d2bd3961bf3c00000000000000003a4b68bd153e843c0000000000000000ffc774bc6a50bc3b0000000000000000ef8e8d3c44a425bb0000000000000000daf8f33cf0f346b9000000000000000000000000000000000000000000000000b64c04bc1040f4badf6d933cb4d71f3df0e5b6bb72df6d3bdae0a23c37bf093dfb55aabaa6a4ff3b960da93ca699e03cfb5154bbb710f33be6bc953cdd679d3ceafcd7b9ea94a03bff444d3c75ea523cbc33173b0a38a53bbcdcd33b6d64d63b7974ed3af0748a3987e867ba476027b90000000000000000000000000000000000000000000000000000000000000000388f0b3b94240ebcdaaadab72289733cc2fdfc3af0af56bb46e5a23a8b1dda3b02e16b3b34e5013aa410ebb968e58dbbd41f9c3b84f09dbaf409e7baae5d09bc8626503b5f580c3baaacb038e8bf09bcba6779b945bf013a9e48e3badb4d44bc06677fba47d3b2b8d104abba21e3c1bb0000000000000000000000000000000000000000000000000000000000000000ad264ebcb8e56dbee018113dd247e03ac82e17bd058c57bef9c3ae3c7698dcba28b559bd891c47be0b200a3ce1780dba15394cbd1e3519be2d1c663bb8712dbb7c0d30bd2bf0cabd09b310bb521ecabbf936eebccee348bd6dc365bb68db63bb44abe5bb3aab4fba42496bbbb7c485bb000000000000000000000000000000000000000000000000000000000000803f655215bc609aaf3c0789e8bd6babae3f0c520bbc7e5a413c46f3f5bc05368e3f4d81ecbb619e343cc1511a3c101a6c3f314f55bbb79f093cd4d70e3d80c62c3f64407ebbbb2d0b3cd3f74a3d05c7d73eb47fc8b91ba9cf3befeb493db45c4b3ea356f23a5917403b2a29e93c7c783fbc0000000000000000000000000000000000000000000000000000000000000000d0aa23befde5e43c0000000000000000a076e6bd4825a93c0000000000000000f6d8c3bd9c5a983c00000000000000002a9b92bd59ed7d3c0000000000000000fa1a1cbdb6393f3c0000000000000000858aeabb88569f3b00000000000000007a55893c7fd1fcb900000000000000000000000000000000000000000000000000000000000000000000000000000000207c63bb91f3f33cdef9f23cf3886bbcc151103c37beef3c79d0e03c790f84bc4d0d863cd7c2dc3c0fd5a03c80df11bcd3d5a13cdd79a53c4b2d703c206e02bce635953c53e32f3c5f9e0a3c7d9b7bbbce3a513c4051823b57a3cc3b86405ebbfa33af3b316528bb91c9ea3aa2d778ba0000000000000000000000000000000000000000000000000000000000000000c19294ba4b7321bb095a113c3f3e53bdb728193abf3299ba18cfd2bbf8c1aebd6772d1bab097463b1149c2bc9d9bcebdfba01eb93556e43a68bc09bdc880c1bd4b8db0391a5d0f3a40130ebd749391bd82d204ba6fd0403b6422e8bcdc4631bd7def06baa027d43aa63882bcc9140dbc0000000000000000000000000000000000000000000000000000000000000000d93748be0298783d446840bb795fe1ba2e2028be225f753d7a911cbcd53cc7b8652206beb2b6393d2b2b2dbc9d70f3ba9926bcbddd86143d172530bc74fc4ab949a059bdfd9cb93cdef026bc47fd843ae36fb8bce5fd8e3b5808b2bbc173503a6edd633bf80299bb7a9f51bbe8a4023b0000000000000000000000000000000000000000000000000000803f00000000f984763c69bdbdbdf437b23fcb065dbe90f4913a8fa4de3c9f7b903fb02d57be20417b377cc0ca3d5676683f987954be10e8c13b3e11053e3580253f641939be443b043c23ec053ec063c73e812f02be3d47363c0451cf3d599d303e7da562bda308543c7707363dbbbcb9bc7102903b00000000000000000000000000000000000000000000000000000000000000007697df3c19b2b1ba00000000000000000c81e33ccd33373b00000000000000003fc3f23ce8bd993b0000000000000000cdd7023d2901093b0000000000000000aa7dea3c4d84ed3a000000000000000061bc883c0b71e5b900000000000000004df5783b8b984fba000000000000000000000000000000000000000000000000fa0e30bc385d563c76f77e3ce946e5bb76fa08bc5270de3c1d43bc3c490461bc18a5583b783f193daf71d93c5ade49bcd082423cb6960c3d8ad1b73c316b3ebc928f873cd1e1d03ca3a5783c5fb7e4bb25618c3c9d1b8b3c36a2403c54a8d3bba62e3f3ce26d033cae8fbf3b02e432bb2f100c3ca8c3093a3adc633b6b09f1b817055bb9db8a62bb4beb31bb135405baadd751baf86724bb46f5983cd75eadbb0634453a9c1426b9a423843cb6a02abd912801bac6678fba78b6943be564b0bd2c63c7ba7219b43aa8460abc0182cfbd2ec08d3866f48b3a1326b6bc364bc3bd137d7a3abf74f83a71edd8bc0ef89cbd85ff5cba592f9f3aed66b5bca64137bd8b91d9b9b0330e3a5a7896bc96057ebc396c19ba96ccf63a84d87fbb1c5e7b3cc0aeecbd9579b43c2e65ea3bd658adbbd7161fbe3e98313d60ac5cbbea187fbb369f35beeef93b3d40b559bb822743bbf03e15becc1b303d713413bcacb1ecb90e87d2bde951063d10161fbcb81a14ba2a5085bd6e47963c8ce422bc40f85a3a138eedbc86d0ac3bf6fcd3bb4a1d443bb0fbe4bb5bdcd6bbfbcd1ab8ce20aa3a880a5b3ca5c9c9bb5e7d1aba08e3943ae9474a3d344a82be5b34b03f3ef62ebc19c0073de5f624becd5fa03f7c6778bd18bd563c6ed09abdc3d7953f2ca802bec6fc013c82a94fb99126743ffc8d1fbec81c4f3b7f8c873dce45323feda519bebfaf413b7967aa3d4b32e13eff71e1bdf4ca0b3cb09f8f3dc0c74c3e979667bd36f5133cd7502a3df02c143dbba1b0ba06d33b3c8b145bbc3c42d5bd1424ad3cab7159bc0fab5f3b0000000000000000ffd6a6ba41ff853b0000000000000000dc1bf53b9b8fee3b0000000000000000430c9e3c5399903b000000000000000059bec53c1f37303b000000000000000098f3bd3c5205543b0000000000000000d21d873cab08ccb70000000000000000880b48bb583a063b0000000000000000096f053b43f75abb0000000000000000461b32bc0e7f213cf3fa093c6a04efba10e113bcb4caf83c8d429d3caa92c6bbafac1eba029d1b3d337cbe3c7a7903bc7a1f123c2dc8153d6591ae3c08cc07bc75546c3c6e5fe23c0f78573c5e47f9bb4afd673cca98ac3c02ba1e3c78a6a7bbf8132f3c10be163cbba3b03b59908cbb738cf93b4b2efb3a83be6039894389ba6c6b31b92f1cf4ba03fc46bbe1788fb9e837acbad7dedebab79d903c0e39a9bb56129cbaa338cfba3e43963c90873ebd0801a8bab75994bae0d3373c9410a4bdbe63373a3d7e8c39e13a70bb9f8bc5bdd722b538b2ab0a3b520978bc4dcab8bdf5529bb8613d203bd3b9a9bc59bc96bd6889e63aa44c8d3ae6bb9cbc9bf82cbdb1bd2b3a28cf0c399a057dbc960850bc3e5ee239190fbf395b2254bb22a6543cabac8bbdf41271ba7f9d413c0e33cabbea1a15bef657723c212a043ca69badbb3c5a2bbe4432b43ce4fad03b3ab5a0bb1e9a14be2866cd3c20f837bbd7bc8ebbcdfadabdbf47c53cc18bc7bb21a95ebad4b191bd1bd98c3ce2d0f8bbce029cba7f300bbde2a2e73b730fb4bb06b601ba0151dabb751c84ba89a978bbf763283bb936163c040b49bbbee7e3bab3bc013bb2a2553d730e80beca90913fd1ab653ecfa8293d9a7d57be945a973f21bbeb3da5d5c33caf6b08be7fca8d3f2267a43c1af7613c0f156dbd960f703f9c0b68bdf1ad053c3260413c32a0333fe793b1bd18e2b53b89cb163d0935f03eb0bbb7bd2502173cf8262b3dc20c703e35bf79bd945a143c2795c43c65ba4c3d04b7d5bce69a063cc67553bc2c1e71bd173793bb70ff8fbd19ed563c000000000000000076f872bda8ff723c000000000000000075801cbdb320583c0000000000000000a6d03bbca1902c3c0000000000000000a2a0c5393459ec3b00000000000000000c90663c04e4883b00000000000000005155813c66231f3a00000000000000000c79383cf8beafba0000000000000000dacbef3b8cde9abb0000000000000000d33809bc7a4d073c730c033c4265673b9ff333bcdb29ed3c42c29a3cdd3fd1ba560d14bb28261c3d47f5b83c03058dbb3454943b29931d3d6a229a3c11fd8ebb63c4203c3c9b033d46266d3c8fa2d4bbe1a5523c9011b03c14150f3c03b0bdbb4874433ca8bc263ccf1e953bfbf498bb34d5c13b6a59383bae5fa7b928f5a9badc07583a940213bb36498ebb96b018bbe81143bb402983bb0378863c91cd1ebc7dad06bbf07b66bb1f149f3c04691dbd1127c3bac8a648ba0b2d693c28fe9abdb2ac19bb6df7a73a04dc8e3b4d16b9bd05987e397a30fd3a01ce01bc967fb5bdff610039cd35f23acec36cbcd8e68fbdd19c4f3af10af03aca5686bca5912bbd48216c3a0cc0093add8a3fbc5a4243bc041d593a8a11b739812984bb3fe76a3c530f65bdee2ee0bc5b1ca83c6bc9b6bb69f006beaf567cbc0382a63c53f0f2bb923b1fbe1b75b8bba1ca613ccbb3d9bb6ef50dbe04ed663b37b7913bee638ebb5c85dfbdde97633c238e34bbda2267bb1ec891bd61cf2a3c1c499abb2d330dba8d4f14bd63f9c93be1d5debba535153a97cf10bc92019e3a06e295bbfc26a63a0a8e113c9e778d3a2bd809bb6b7bd53ad8ae3d3d542072be47db733f7429ee3e3e89293d00ee5cbea1a1813f822caf3eb786c43ca91f1ebe4ad17d3f67954c3ef1075d3cf3beaebd1c325d3ff56b993dc0e3c93b5cf0debcbbb9303f4d0f8bbcaaeb633be2de5f3cb99ded3ea62048bd967e863b3222bd3c510c7a3ee5c655bd5825073c7ec5453c8eb7913da5751bbde581203cb674a2bcde723bbdb16a06bd68d606be59ded23c0000000000000000b491febd2144e73c0000000000000000f5bfb8bd80fdc63c000000000000000066eb49bd248d863c00000000000000006f94aabc8285413c0000000000000000bcc545b94811d13b00000000000000003fb6783c9de9e83a0000000000000000a048853caf6680bb00000000000000004c8cae3ce734e8bb0000000000000000efed09bc5648d93bf9b9013c5e0ba03bb96716bcc6ced63c616ba33c6cca3f3b14e498bb71a01f3d9fc0c33c2caec3b968f9f03a78cc263d2ff9ac3ca65182bb6f95003cf2cf053d3672413c38eb84bb44fc053c2bb6de3c62d9183c44d7c4bba7d50a3c1512573cf091613be4a226bb5c60d03b09fb993b9b588cbaf34569bbe157123b82f03cbb196e9bbb6bbee3baf27501bb297eadbbea178a3c3cfee3bb51ee2bbb5acc6fbb94a58f3c740607bdeecb64bb6be28bbac854683c945283bd73cad4b78bf0123ac2eff13b9750a9bde99095ba1d7e6e3b3053d0bbecc3a2bd19c9ec3a4a40133b149a11bccd388bbd868c323900960b3be4ec48bca49d25bdbe4bce3a0907a83a3f9239bc6ebf55bc660e073ba1512abae72238bb0ef8443cc2781fbd1fd55abdbe22ee3c3d75e0bbd4ececbdf2ea55bd242f083d2b192ebc4e4416beab401fbd3247da3c796519bc82b00dbebc089cbccf2b493ca72a06bcf992cbbd6b4102bcbffbde3b4f82d7bb74f697bd2b28af3b856b8abb33616fbb84400cbd5c315a3a19a298bb73cb3bba09d90fbc42139c3bb1efadbb4630a8b98ba8273c80cc493b7b03aabb78b8f83a37d5173d26c549be17cf353ff686383f961f043d78313ebec0784b3f08e7183fb7ae923ca30e0ebe0570503f7566d83ea064fd3b85e6c1bd12c3423f2a4b733e4746603b45dbc7bc2ae1183f875be83d5fd8ffb9762f20bc8102e73e8c4d0f3be6c8313bbf99443ca086783e3bbc0fbd0692953b54d2143c156ba93d794852bde58f0c3cbb19a7bc022d05bd62fa5fbdadda43be5195203d0000000000000000bac446be35ad363d00000000000000002be91ebe20301b3d00000000000000000523ccbdcd60ec3c0000000000000000664d88bd0a009f3c0000000000000000aa697abc43c9333c00000000000000001c8b103cdece073b0000000000000000bf71c13cb473b2bb00000000000000005144013db5f106bc00000000000000000fb10abc8b15963b877e073ca749253c4ec121bcad08b73c224caa3c64e20e3cf153d7bbd6b20d3d568bdd3cc4f44e3b52ced4bae9c62b3dfbd3b23c79a228397dce593b0343153d1e1b893c493c78bb4009b73b3b98d93c518c1b3c91aa86bbb7e7bd3bb3737b3ce1668d3b49fe92bbb462b43ba56f9c3bf2a8a8ba76ca6ebb3c50f83ab4e73ebb8b24a9bbe62623bb96c0abbb521f55bb4b92563cc10a74bb749d9dbb9efba1bb69a5713c46c1a3bc74346ebb03c3e8ba708d533cf39a3cbd5ed32abbc7135a3aba18013ce7748cbde0db81ba5d846c3ba629bf3ab1a497bd40bc2d39a4975e3bd07981bbdb3c76bd1d7fa13a48c4f53a37a0e3bb1c921ebd8e3b073ba3e5a23a39ce03bca3c85cbc1c6d7d3a43da8ab838c554bb7869453c8c44d1bcffde98bd6c2c0a3d984ef0bb374fcebdaba2b9bd6bad423db80a4abc0c6e11be7d5f9abdc944203df57744bcded80bbe524747bd8b56c53c366419bc6f9de0bda3aac9bcf91c533c44f618bca3cd9abde7bf2ebc755ab63a61af82bb545a28bda33c0b3a86bf87bb0185ebba4b0420bc91e93d3bc594a5bb20f892b78fe9303cc760123c4eebb1bbf3e3a93a54e8cf3c09580dbe526ee93ee2a6763fd6e6b63c83aa0dbe363f0c3f605f5a3f8cc2613c3f7af4bd45a01d3f3eff273f02a68a3bcfb4a2bdf4241b3fad30db3e4bbe17ba89d736bdb592093fa2fe693e6ce113bb555787bcd7b9cd3eb051ad3df40f04bb5448153b69a6753e260b21bc93ce5e3b2716233b4968bb3d0f5657bda904ab3b09815dbc58aeacbc5f939dbd70746ebeb30e3d3d00000000000000002fce81beef4f6f3d0000000000000000fc3958be2998493d00000000000000001afb1abe79f0133d0000000000000000ca8ec4bda9e1d53c0000000000000000ae9c17bdefc3433c0000000000000000d950863b0dde1a3b0000000000000000226ed93c132beebb0000000000000000ee29133d0d822abc00000000000000006425c2bbb646023b8d4da73b7a4b603c671f1bbc52048f3cdd7cab3c15a3873c7a2f05bcfa29043d022dfd3c833e2e3c805a73bb47d6193d3f67d23cb66c603bbfd58bb835d7143d3da9853c6bb488372b66283b9111e53c26bb503c31a656bb90cb9f3bbeaf763c0673893bcdf137bbe5f3903bc1aab33b8fc515baef06f4ba88a4173b4a0e0dbbecffb6bb71bd30bb0887bebbec92c4bb83c2c63bfc40853b365d05bccbc59ebb0924323ce065f0bb3abe11bc342004bbfaf3533c23bf03bdcef373bbec17d63ac6811a3ca46e4bbd6d0310bb40b5143b618e1f3b6af96fbd46ae9eb90399913b00569139cce560bde64d2aba7085683b7d0a83bb843b0dbdc54aa73abbfa5f3a5b3d94bb2ef369bcd46d913ad776dc389508ebbaec1fd63b1b7d35bc1a7db5bdd8522c3d05d517bcab6eacbd64a102be6ecf6a3dbd2b5abc359c05be8983efbd9a3a533d552025bc3c3207beffc3aabd4c9f0f3dee6152bc75b1dabd9b4e4ebd63e7a33c7b7e08bc4cd89dbdf44ad1bc3294e33b7b7d02bc5ee923bd5e3a00bc537e96bad2de41bb63973dbce25c5f3b9fabddbb7ca984393f21413c8764173c6b0ab2bbf0288f39101a653c1a7d96bdd4465b3e0bcc923f610a073c499aa4bd1f859d3e128e893f29ac3a3bcd639dbdced9ca3e245e603f43985ebb109065bd81fadd3e14781f3f69bccdbbcdabdcbcb70dce3e4faec53eec40cfbb137385bcc82cab3e82ae383e8c4d3ebb2c6e01bbf368563e5d4e173dd5bb0ebaa1dc8a3bfc39bb3dc42c44bdf37f423ba711edbbd34141bc464fb0bda0c67dbeb4465e3d00000000000000008d3e8fbe38037e3d0000000000000000d53581be89e75c3d000000000000000062e647bef84c3c3d0000000000000000bc060abec988003d00000000000000004fff83bd80e4953c0000000000000000a31120bc6d66753b00000000000000004268cb3c2793f9bb00000000000000003383313d954950bc0000000000000000a83c64bbd6ef3abb7136043cd40ab83c9485e9bb72992c3c8f7dab3c3ad8ba3ca97120bcb1a4df3c93e8003d05cf943c7f49c4bb9297193d4edce93c7c70133c184d3abbcc61123db18fae3c2a840a3be1e08539ed91e03c44b47e3c027a99ba1dab573b5cf3803c243ad53b600fc5ba23d5673b71a3ae3b4e92f63a2f753bbbc3d9113b282290bb2560ccbbc62067bbd2840abc7465e9bbb2fe053bde1e713c81f140bc10caa0bbd09f9d3b8552eb3b009509bc73991dbb909a153c6afe47bcdcc9e9bb2730d93a6a7a073c84c612bdac053fbb14e1803b156abb3b96c23dbdcb8b9fbaefdb9b3b7af3373bd7fe2fbde4525a3a58bf153b9f0770ba7c14fbbc8ac683b97a04833b39c5a1bab49482bcccf84c3aef43ad39825894ba1cd5db3b444f11bc2bd705beec27453ddc810fbc954384bd83831fbe2ac48f3d4a1a8bbc52b3f6bd6e9c1bbe00a3693dea0b5dbc593504be444df0bd6188373d7a615cbcf110e0bdfb5d9bbdd7fde53cee4e40bcccc4a4bd10fd38bd48104b3ca0a814bcba5a36bde3f996bc08f8ef3864a423bb90dd7abce44c14b9f6b39fbb7ff31bbb02dc8d3c65fa833c0db3d4bb438d16b916cb4f3aa1e16bbcf9f7b0bcfe39b13f7a20f5ba9ec7d6bcab36c43dd4939a3f61609dbbac3118bd3dbd4d3e6921863f88cf12bcc598fdbc8f418a3e4fbb493fa4dc59bc668f66bcd550933eb110053fedd64abc05066ebb1d987e3e6a31923e28df20bc0a3d5f3b583f303e8464b83d812bcbbb2d59063ce703ab3d6bccc4bccb48a939fabc463a7e3b57bc88d2fcbdb27f81be3b59513d0000000000000000da7185beca73733d00000000000000004bb580be6de6573d00000000000000002d8058be4ba4403d0000000000000000f2ca22bee3c1113d0000000000000000fcc1b4bd23f2bc3c000000000000000048f1a7bce1a0af3b00000000000000006a58d93c59ec29bc0000000000000000fdc4403df45558bc0000000000000000000000000000000000000000000000001616d2bb920a313c16b4d43cdcaa003d4e77cebbe8bec13c3989f63ca3ff873c9dbc94bb3768073d5165f03c42041b3c6deebcba1dbf0b3d02c1b73c4510503b4e6839baa525d63c7830803ce6a7cabae935283b35a08d3c8898f03b7bec0abbdc980e3b89a6333b37c0713a276262bb00000000000000000000000000000000000000000000000000000000000000005bb522bc32c905bccd141e3aa22c893c6752f9bb9711faba71b89c3b0383a0bb4c2f38bb8853063a2a9a6a3bb91ac3bc61d486bb881c663b0a2e403b6bfb12bda7277eba08429c3bef12dc39d0771abd2d25c5ba60bf843bec78a5ba4dc0f3bc0ba2b3b916d03e3b856fb9b806773cbc00000000000000000000000000000000000000000000000000000000000000004e0d98bd650a49bebfe26f3dbe0af0bb6ff5dbbdb5a923be83ea573dfb9b16bcaaecf6bdd53603be6d00153d3f1e2abc4115d8bddaabbdbd7af8e93ca1f324bc4ef799bd313e57bd2994843cfd481fbcef8d29bd6608c4bc4e5ab33bf120e7bbb4a5cdbba888083ab8153dbb58d956bb000000000000000000000000000000000000000000000000000000000000803fe735c4bbbe5d1c3c8a30a1bd1a72b13fdc2428bcaa4597bbd523833dc9ff8d3f94cf84bcf1b29ab9c82c163eff01613fb07285bc6e19393c9b13353e8b611e3f970b8ebcf73a873cec0c2e3e6a9eb93e35f764bcfffda93cf5d0fa3d673c1b3eb8a4e7bb77c5953cf35b333d021ddcbc0000000000000000000000000000000000000000000000000000000000000000015f55be988a123d0000000000000000554e47bef722033d0000000000000000a6653abec979f83c0000000000000000fd0d1bbe3a6ddc3c0000000000000000c753d2bd1d91a23c000000000000000019de26bd58571d3c000000000000000009693f3c1460f0ba0000000000000000000000000000000000000000000000000000000000000000000000000000000045526a3c6273113d17d5c2bbe9583cbc1430fe3c9d50c33c78de48bc33b5a6bb8a3c283d06ee273cfd0a48bc84dc4e3a3c2f223d342dcbba632d05bcbcc6823b8880073d4dddf5bb733a5fbb204d483b0d709c3ceaf521bc1ba5983ae6eaea3a6db4973bcb77e4bbf5cf353b0e8530ba000000000000000000000000000000000000000000000000000000000000000051cb493bc7b5a93a408d1c3cd5d706bee942943bdc091c3a8575c9bcd0671dbebd474b3b3b0b6b3890f35fbdf48a0fbe071c193a9c81f9b9782798bd4dfad1bd9b32c339080ed939508099bd76795dbde38f343ad598a2ba1e3459bdc5ef71bc17a88abac736753afb8dbfbc38519b3c000000000000000000000000000000000000000000000000000000000000000068a0e2bda828813d79710bbca3fc11bccc8559bd9fb87a3dd825a8bcb71403bc17bd97bc7b0e293d7165bfbcc0af83bb74db683b8f3fc13cca91acbc43f5233912b56f3c8008ff3bf9b884bce78f3b3ac4a9263ca73d44bb54d204bc6cbc6d3b64467f3a4382cebb1ef83b3a86af233b0000000000000000000000000000000000000000000000000000803f00000000271f46bcd8a386bc5542b23f5e827ebe8c7ecabc2661253e78f18a3f6a8694be0fbab6bc36118d3ebaae4a3f1a8a94beb0e16abbd3219c3e6034023f522983be5a87943c0108843efab9853e0e0b41be0500f43cb0cb263ef0269c3dc65cbbbd58fb0d3d9bc3043d499c57bd9ad388bb0000000000000000000000000000000000000000000000000000000000000000b95b093a4d5eab3c000000000000000030a4e53cfea7c43c0000000000000000ae805a3d3a64843c00000000000000002fd4933d755ed03b0000000000000000eb11923d6b1557bb000000000000000085424e3d4c5019bc00000000000000006b368d3c495b2bbc000000000000000000000000000000000000000000000000dabda5bb413fd63ce5f5483aa8c135bcdda40a3cdf79163d81df19bce6171fbc8a4ed43ca115023d2be158bc2054afbb6d7e193d50b88d3c6aed58bc4164633a1385213dbe2cdb39609ae3bbfdf7573b886f013d85cdeebbf12508bb9905883bb541a63cd3811dbc74c0a33a03121d3bd5609e3b2bf198bb7186183bad2eccb89556a8bbd64289bbc25b223b360442ba4d78513a339fd53ab150b43c4e1422bd5bc0853b0910a93ac03f683c412ae0bd9145793bbe84c239a75ec4bbda3a2cbe9ecce73a052c57b96e6c18bdaf9022be284ad1388dd5adb9b71a73bd8e4eecbdcd868eba46669bba03a375bdf0c58bbd51ffefbacc2325ba143743bd0733aabc6aa323bbb0625c3a2657adbc9a9abe3b6d0c47ba779d0b3a474d0c3b85ccf43c9ec5d7bd2d82d13cac3c163c2f9aebbb5429cfbd61db7f3d812963bcde2bdbbb019082bd27276e3d7485aebc4c0ba3bb3768abbce572223dc9a4bdbc0fa90fbb00c1d53b2eb5a83c338cb0bc04dbce3901a6723cae4f093bcd1473bc60cfa53b5804293c4a17a3bbd302bbbbd12b913bbe9d023a9db1c5bb7351fb3abcbd363b23e0bc393a19d7bbc859233b98d9103be5d3053dca337abe8aecb23faf20ae3c412ac33c8ced16be9b78ac3ff72010be82e6d1bc123a813d61b5933f4bac66bebc4525bdd554613e2762583f780985be903314bd6b37943e53850b3f8d727fbe45d496bcf898873ec9ec903efd753dbe11dbef3bce3b323e32fa9c3d1784b4bde4e6913c01da7f3d9ebde8bc5a523abbebb3a63cac703dbd4c21d5bddb6df23c93c05dbd67b07c3c000000000000000033128fbc04bcae3c000000000000000047a0cd3b2bc2c63c00000000000000008ac0423d4c5d6e3c00000000000000002784913de2389e3b0000000000000000a3939d3d3a8df5bb00000000000000001ff9513d32d740bc000000000000000072cc233ce71df6bb00000000000000009fe8023bfb7511bc0000000000000000205fdcbb4c2fb13c86d5be3ad82adbbb433e693b1329253d3d3fd2bb285f32bc9e029a3ca67a213d45832ebcefc9e4bb9504023d7800c53cc3a757bc0650d5ba79860d3da51c1a3c223b21bc9e2a273b6467ff3cdf034abb4eff7dbbb272883b914ba33cd085e6bb6b220cba37f81a3b72abec3ba673d2bb327fe23a66d04e3a45327bbbef5692bb909c603b070a98b8f3d999bad0f2c03a309f923c6d8092bcc7c12d3ba912003b8234953c229ccdbd59d2953bed48d3b93731873b1c9322be88bf813aae9dac3af024bbbca3cb24be5f64c538c1529839c88c39bdff0903bef0938db937de10baed8251bd53a5a9bd3fc025badea301badbd435bdf00bf7bc250ff3ba899c89394dd0c4bc4d79883b415918bb408c703a65251ebb1810e73cb340a9bd99a6f93bb93e5e3cc002f4bbf9f7e5bd51b62c3dd8a9783bd0c340bc313fa9bd53ca413d64d9ccbbd1f12cbcf2e30cbd53011d3d252e8bbc245aa8bb94e588bb9470b53c75e082bc3f371abb63e25a3c28defa3b9c0281bcfa5d6f3a7ead533c107a23bb44611abc9231593b9a43c93b3adeb5bb0a35cfba9ad17c3b2490ccba0b91dbbbfa81d33a0a665b3b88c8453d13e388bedc7e963fd3ac803eb3c7003d61834bbe16e99f3f015fa73d15e470bcfad807bcc7708c3f9dfd3abd27e218bd68910b3eb2cb5f3f86232bbe8f020dbd2020653e68e7153f18033abe58cddcbcbf6e6d3e2856aa3e85b42fbe0b09ac39a72a273ec2b1ee3dcee3d1bda2e9663c4c5d883dbba3a2bc04c0dabc73b88a3c08d0ccbcdabfa5bd4f4d363c4680dbbd8325bd3c00000000000000006c6ad6bd6df7173d0000000000000000c34c8fbdc31c163d000000000000000000bbc4bbc075e13c0000000000000000eb08cb3ca0d9813c0000000000000000c6585c3dbd4f123b0000000000000000e0d53c3dfc239cbb0000000000000000071bcc3c640d46bc000000000000000083142d3c7b842bbc0000000000000000b7a90cbccf33bd3cfabb223b9b30c6bb7308a8ba29d0333dc9e73bbb94ad4ebcdeed483cdaac3d3dadd645bccb9401bc6bc4ce3ccf22003dff3c64bc389827bb84dafc3cf942793cbb2f3abc27a5bb3af162dc3c969f1d3b6826c7bb5f5a673b074ca53c01b4ddbb774c85baa021503bfb90f73bf87cd0bb836a0e3b3c14de38fa4d39bb728bddbbcf707e3b41263dbada023fbbb3c1a93a5f65833c2fae32bcd33daf3a42e8093bc2f2b43c3fa1b2bd5b634f3b23b05b3a8da3383c139919beadae2a3bcf628139dfe723bcd6c526beecf1bc3aa100a4391b97fcbcf5740ebebf5dd139bf5b8aba89c52abd1ba7b5bd02dacbba267be1b906c81dbdc5a124bdaeebe0ba108d3c3a8a05c0bca1a37e3bed5a87bab201043a37fcb8bb4353f33cab7cafbd463b21bc12adbf3cc2fbfabb692afebd9f7ddc3c6e9a923c57e081bc686ac0bd6309263d5dc3973a35684cbc615d3ebd31b2133dfca42dbcc892f6bbccd006bcfed5cf3c273989bcece6a3bbf91f243c2e841f3cbc0471bcaa23c838d3d96f3c49b36ebaed961cbce1107d3b470c843bab4f9ebb17024ebbe8227c3bad75843b5302cbbb3c46e5b9b998563b70b1383db27384bea1e67c3fef11003fa5780a3d18dc5abe66908a3f4706a93e47e8e9bb82db8bbdc6a8843f4ddaf73d62ab07bd58009d3d43ee593f05a61cbd51973fbda3ab383e34dd1d3ff28108beb25310bd9a2a503e073ab83eea0d11be53d55abc1687243ef6d80c3eb658cdbd73d10f3c3c118f3dc72218bce2671bbd27b88c3cf78d97bc779baebd09940abcc3712fbe47e6003d00000000000000000bf941be98a25b3d0000000000000000aa760abee93a4a3d0000000000000000d74681bd2f79163d0000000000000000d48b3dbc698df03c0000000000000000464fe43c9004243c00000000000000007cff263dbef593bb00000000000000005a1ef43c4db53ebc00000000000000000af6b33c85db4bbc000000000000000049c015bc5bc8ac3c29fcd23b3596ddbbc76c65bbe6fa353d9d4e74ba6a3330bc99ffe13b6c2c4c3d243ed8bbaeac41bc6e6cab3cf9b0203d0f6158bcfc8f8abb815cb53c7586c33c283624bce9a10abb81ded43c6a09ed3bc73608bcb76f2b3b6277933cd5010abb664e5cbb058d443b1989f23b3439dfbbd658293b3442fa39d6bcbdba2cef03bc1678023b8f880f3b3918cabb2093303bc423583c1ff235ba9ff1de381acde43a07e6a53c17178ebd20b6443b7953713ac13f953c667f0cbeeaba553be94b243a70d5de384e2223be4062c53ab50b66b783428fbcd0c90bbeb8bc903af3dd3db8384feebc80d0dcbd5e5ca1b9a14bdfb9b0d702bdf1103ebd880688bab181eeb8da7eb1bc1c800d3aa90a18bb37bf9e398cf21abc542bff3c381dadbd61e0bcbc6b53ef3cbd78dbbbaba004becb3aad3bb2c5f33ccbbd8dbc0802edbd4166f53c0aac613c065781bc576786bd3a20093d0a3e6dbbc29c52bcb709efbc842fbc3cdb4e5cbbd1cd04bc0804053c66936e3cc10e7abcc0213dbbeee85a3c7344523a8d8528bca085d63a3241be3b6ceb74bbee5a51bbdcf6353b2c4fda3bd039fcbbbac0fbbabc26943ba0143a3daa456fbe46b8423fa7d13d3f20450c3dfdf853be79b3613fc6a1163f82e6d1bbc244b7bd5d4a663f96b3af3e2eb10cbdc837183d40e84b3fbc39e93db8482fbdff420c3e6d39123f43b0673c203531bd67382f3e4516c73eca6fd2bdb547adbcfd3b183eaded1e3ef3a5b6bd098b753909669a3d94957f3a554642bd5fac893c0843dfbb76efb1bd7cb0c0bcc60e5fbe681b133d0000000000000000e5b186be0a77823d00000000000000009a7d54be53c5763d00000000000000007e1e09bed666623d00000000000000006721a3bd6aaf153d0000000000000000c8f59ebbf7bbb13c0000000000000000d40be03ca0fb213b00000000000000005378003d38ec3cbc00000000000000004a43023dbe2b70bc0000000000000000a36d0cbc64a88f3cf0cb2e3c9088aebb85a4dcbb8c22363de1cc9f3b0bfb4cbcfbae803aa04e653d842c40bb691a62bc36654c3cb6d1393d60031bbc77440cbc2a16a93c7e4c003dc4fd4fbc7b65fcbac65aad3c7cfa433c6d32dcbbbb36aa3ab9da823c8309083bafaeaebb794b593b7340fb3b02cac9bb12b11c3b50dda53a2f4799ba756d04bcee6b123b57d1213aa2dc74bb402dce39955f2f3cd9700d3c5ddb17bbbfbb193bd5a2a13c72de50bd658ee53a7383da3ad978bb3c9f59f4bd9eed4a3b06efde3a3ac8353ca21a19be3033413b96e2603adb22c9bba72f16bee5c51f3b518385ba9cd083bc6639e3bdc2881ab8067658391981bbbc6fc066bdede1ddba66209039fe8b92bc45ead8bba33697bab0a5c039649705bc12dfe93cea26a1bdbef52ebd6180053dc7f410bc44a110be6c9b5abc6cf52d3dfeeb98bcaef50bbe81d9883c9dbedc3cc5759abc56f1b0bd9413d33c58e0f83b342d81bcb1e419bded5be13cf641abbb94f04bbc0ade9eb9979f303c5b3b33bca3ab7fbb9092663c36fba63af2d526bc803129b972d6053c488169bb49a0babb2dd0813b72f01c3cfebdd2bb21b022bbf7e95b3b28bc1b3d5a5140be8cee043f87fc773fe2daf63c5b6134be26a7263fd4d6573f012c0bbb0fbed0bd35b83d3f4f5a123f49d7dfbce591a8bb1baf353fe28d963e0a0540bd4ed0b53d97e5153f7e23a83d79e42fbd3d56043e5d49c93ee5d915bd4bc7e6bc29a5043edd95353e9e8999bdb768c4bbc4289a3db6e9733c94fd5bbde5ff3d3cf516273b85cba6bdf9cb26bdbdc778beea9f233d000000000000000049e5a2be8ee68e3d000000000000000070a88dbe2f7d8d3d00000000000000001b8748be8424803d00000000000000001453f4bde950523d000000000000000036841ebdfd26db3c000000000000000026d2533c5349d33b00000000000000001505003d591531bc0000000000000000e8080c3dead34ebc000000000000000015a0e4bba4c0603c319e3c3ce1528dbb40e20cbc4b0c273dabd2483c71ff4bbc595b6cbbb100683dbdaa973b1f1e78bc6ef2d53b07e6563d15cdcbbbdc943cbc8315523c55431b3d01461bbcf0c7a4bb176a863ccedeb73cdb842dbcf67eb938d7b76b3cacf0ba3b8634b8bb0c65143ba3f2d93bdebb5cbb4eb4ac395dea703a6db9ad38131a0bbc77f7483be707383a6025c9bb5a198c3aad86513bcb899c3c7b485abb75bfe03a00dc823cfd62f1bc3d2e94b97fbcb83aed5cc53c43d9bdbd2401533b83b0cc3a76568b3ca3f009be193ef13a61fd793a4c0fc93bccc20cbe84fb163b4fdd4539e24fcabb0ec2eabd7156183add36b638b7307dbc36aa82bda2bb08ba29469e38c1ed65bc6d604abcffb79bba97207139f87c03bc0b89c63ca7ca90bd04f159bd33671e3d20b410bc3ed913be071b24bd1414593d6c87a3bcaa291fbe318a09bc499e2a3d64ed96bc849ce2bd31499c3c1d97943cca3297bcd53576bde19ea73cf7f88e3bce2f46bcf5e088bc1f9f863c84d8ebbbaa5d02bcfa50bf3bbf35c13bafde01bc9d9c1dbb38d0213c222d54bbf815aabb2517243b3b831d3c2599b2bb4e765bbb5b9e763bd9aef63c014bf7bddf31873ea0ff943f6cdcb83c399402be4cb9d03e4f98893f5459f6ba21d5b8bde74c0d3fb4514a3fd87cc3bcda4dd4bce2f9183f10dcf43eeeb02bbdf3b6633d2d17033f25f96e3e53b52fbdbb11c23d1ce9c43e973a3c3d094ff3bc021bdc3d773f3e3ec4ae00bd296324bc1ed08d3d3d46f23c72d65ebd5b66ec3be3f2203c30308ebdcbdc5abd73c883be1d5a363d0000000000000000afcab0be83bc903d00000000000000001cc09fbed61b863d00000000000000006a6081becb1c8d3d000000000000000057a32cbe2be8553d0000000000000000980daebdc5a7213d0000000000000000360ba0bc238e753c00000000000000001f6cd93c801319bc00000000000000003cdc283d232e7dbc0000000000000000af53a5bbb941053c7a12a03c71de013a7ee3f4bb9858163d1e449a3c63c864bcdf44e0bb057f6c3d4cd52a3cb9728fbc5d26653bbd40693d8fa5cabadaa268bcc0662b3c4409303d7b040dbc1b4a13bc75ae463c43a2dd3c2a9824bc58a12dbb1866563cf73d0c3c12afadbb4d31aa3aa255b73b6cb49bbae0e42f39ab02f03ac8ed133ba08036bcbeeb353abc1cf03a490710bc49b247b9aea3a7bad374023d74b961bb2992143a54c1143cb8c41dbc422e58b9428b8c3a9c7eac3c76b38fbd7d85593bc967893ab0939e3c6232edbdfe9fcc3b861dde39ef633f3c0ef107be273e863bc5b9073910e1983bb02cedbd451a043bd6b866b906d5debb4fae8ebdca2b0cb9f1203ab92b1408bc93b087bca88654ba1805af398c041cbce6acb53c9a2394bdac16c1bde967263d706da6bbdc6614be08ab86bdcc018a3d9d26adbc472532be509adabceee7583d0647acbcc1c80cbe20d7c83bd1d6f33c7844a4bcb05e9dbd1d58b63ced671d3ceb8995bc1e68e6bcb0ff993c37316dbb2d9630bc878ffb3ad9faf33b99f71cbceb0661bb4477d33ba78854bba97bdebb8387133b22f1af3c403b8abb847abbbbed70433b91ddaa3c8eed7fbd3af9d73c89efb13ffb375b3c853d85bd0ede273ec894a13f028beb3a688ca7bd5b27c03e83ef7d3ffb119bbc321122bdd799f33e21a9273f1ded1cbd775fbc3c5582ed3e8d47b63edbb432bd90aa893d1b06b73edfaf0b3efb8a0cbd06c7b33d2e7f463e8367d2bb167688bcfb197b3d296b393d8acd59bd2258823b1c35b63c03aa98bd8510bcbdc14b71be2069023d0000000000000000fb53b0be1f8e8a3d00000000000000005598acbe7826883d0000000000000000308894be63b98f3d0000000000000000d10c61be809b853d0000000000000000cf7c04be9e2b443d0000000000000000c3550dbd55d1a93c000000000000000042dde93c9f3b12bc0000000000000000111e373d26eb39bc00000000000000000000000000000000000000000000000053fce9bb1e65fd3ce5d9fb3cee45eabb4b3d01bc4df2553dda349d3cf0748ebca5e67fbbcb34673dea09ed3bba5681bcbaf3493b60243e3d90949abad5b138bce2ab003c8fa5063d40b6cbbb1b950cbc2820133c9a595a3cd57aa1bb30b616bbc488d53b243b2cbb5fca0ebbf979353a00000000000000000000000000000000000000000000000000000000000000000d710ebc5e8fa3ba162bc63bb7f2093c913581bb781a473aae41a93c00da5cbdd9ce76b819c8793abbacca3c60d5c3bdcba42d3bb942903906c7a73c9aa3edbd7611873bb8abb4395cba473c6007e2bd8c406f3beb3a3939ec045a3bfdef91bda46e9c3a0248d8390ba303bcdb61a9bc000000000000000000000000000000000000000000000000000000000000000090671cbe0c9cdcbd4b63663d58d288bb8eac2abe7df453bde2b0683d33c73fbc6f1815be8fa985bc36b5193dce4056bc0088cabdbbc9b93b0afaac3ca9194dbcc57b51bd29df903caa820d3cbf1145bca9d31fbcbdbff73b6e29c0baa85ef3bb7622923caf482b3b74a7e7bbd473dbba000000000000000000000000000000000000000000000000000000000000803feedc483cfa5b3ebdc6bc803cc381b13f52dcabbb48413ebde2765a3ef460893f0243c0bc73bcb7bccfbca93ea29f463f8f6c25bdebacb93c181bb33e226dfb3e979944bd03bb813d4c4e953e4bd37f3e776f27bda9549f3d6f6b303efe428f3d9feb9cbc14ff8c3d28fed03c10965cbd00000000000000000000000000000000000000000000000000000000000000009d2f75be5390903c0000000000000000ad1d88be44dcf23c0000000000000000c8ab81be75760f3d00000000000000008db261be42782b3d000000000000000031ea22be9493203d000000000000000049bb94bd4f4ed33c0000000000000000382242bb3bad023c000000000000000000000000000000000000000000000000000000000000000000000000000000008ae0573a0b06b3b9b8693fbb84c0743bc5c4fe39f21fddb9a2b851ba044d813b1245a93781a57eba669226bad3ca543b9a910aba3757b7ba137bba3a207f673bb5a0d4b83a0b27b89171143ba266693bc9d8a1b8ce6d853a5bd9983bdbd8333b80ef82b76afa5a3af12eaa3be08a773b0000000000000000000000000000000000000000000000000000000000000000c0020f3bba38463a2ec01fbb2c606dbcd807cf3a2cbad939fa48d0ba36d864bc78f1703ad6e776b9a4b5a3badf8854bc5b30a33a997464b6f477abbac5694fbce54a6a3a7d9ef7383806e7b9ec5935bc18e6f73ada2f29ba04b5abb899f228bce9165c3a5849b13909f43ebab9a6d5bb00000000000000000000000000000000000000000000000000000000000000004b0262bdde460cbdc4bd87bbb9bf0bbb418163bdcb8bfabc2c8aa5bb53d92cbb01ed55bd89e3debcf7e7b0bbf01381ba943d42bd9c85b1bc061788bb258be3ba2e002ebddc8d92bc87d274bbbe26eaba84d219bdbc5f3bbc2d4eb5ba20bce0b9827aefbc1058c1bb6be9d4b947c192b90000000000000000000000000000000000000000000000000000803f000000002af7093c771d96bce955883fb72338bccb05033c43328dbbde7e643f9e6d7dbbc9aef03be0ca983bb58f3a3f643532bbf1bfb43ba20b983bdf93113f49b57cbb6ce5903b6045ac3b4559d43e3e1225bc70a8393abd60923a5523873e637e96bc8e9a8abaa79474bb3aa1eb3d0cc4dbbc0000000000000000000000000000000000000000000000000000000000000000bbef433cdd54983a00000000000000001c78163caa0d963a000000000000000026e4003c4727a43a000000000000000057ec6e3b7890ddb80000000000000000c40a7bb9e161003900000000000000002ef5f2ba3e978eb800000000000000004ef18abb17f4f0ba000000000000000000000000000000000000000000000000b082d53a8eb5073b5645a1bb80c37b3a7d61d43aa53a1c3b118eb6ba387aa23bfc27723ab380843a593a31ba5266a33bc989633a0daf223aef8c6139b503993b45259fbaba933c3a7910bd3ad7cd8c3bba972037313b1e3a476f633b5aa1a43bd861bc3a855d9e3a5d6b843bfe91a73bc5ea1a3ace9a083ac0f9bf3b73e2943b8f3e2fb8e053f1393429883b4bd52b3bc029183b0d53ff3a9410daba682930bc3078813bafedc33a11a5a8bac6698abc18564e3b6fe1963a3d7cd9ba661f79bccbfa303b4e49153a43886aba3da368bc8cca043b3a8fa7398a3be4bad7563dbcfd071d3b0476323a44fe4eb8c26c36bc2883f53a4fad043a5d4d9639aa7e04bc3c41bf3ad17b7fb85c9a2c3bfcf696bb40694e3ab3a01db9c81f06b9d5fa65b9a9e9debc31f1f1bc9ecca4bb567554bab1be66bd92422dbd9068e9bb73b0a2baa6cb80bd2f412abd584200bc458916bbebc57ebd5d741cbd7244ffbb9bf931bb2cfb59bd5c3cfcbc1a29c7bb97be06bbdf4c51bdf3a0d6bccc5795bb845aafba66bc2dbd6f3a95bc97ca23bb565f30bb384b02bd97180ebc11d0103b75c53839a0f276bc00f109ba91a8013b993e243a7448ff3b9da54bbd3599873fa7a4ec3df729423cbad340bd37877e3f791cd63dc53a383cc897c5bc01bb573f5968c43dfa11293c814a47bc6d5c303fda2ca43d29560a3c0571a3bbdcb2073f643a763df7f6b83b7e508cbb8e15c73ee63f113dcb2f213bf17abfbba1f57a3ec5f32f3c05b1c9baaf243dbcf674dc3d2c207fbc719716bb15c826bc96db4cbcf23ae8bc7b76d0b85118ad3a00000000000000000bf215ba5447233b00000000000000009be70e3bce332e3b000000000000000089f7223afbf71c3b00000000000000000b02f1bad9b00d3b00000000000000002f75bebbab7b6a3a0000000000000000a5f903bc6d58c5b8000000000000000092ab14bc861441ba00000000000000007701dabb714a85ba0000000000000000f034d73b99d0c939cafc82bb3b3565baebb9c43990640c3b55e74fbb6de4c83a87822c3a058f913a3d6cc0ba60830e3bde758fb9a1051139b7f7d73941b3873b815430b9b7931839b723103a58c9353b7f892db9bd64f73928373d3bdd568a3be3014e3a10041f3bae46ccba1d9faf3b750117b90fb7fc39d564933b4052883b62752b3948ecc53901a9323b2dec263b68ac173b418d7d3ad2f63cba816829bca3a5713b2f18a93a0e2f69361e6e5bbcbf0d413b35ea603a32ae3939e86d2ebc138dfc3abf82953a1a821aba40e52fbc15cc083bd89e89398b104639a4def9bbc60d333b5d29ca39a355223a4af7e9bbd6351c3be77530ba63375abbf59cdfbbe06c053bcf661b38d3743039e0e2bcba3ef9b03ae7846db58222d83980c0b73a097668bc3902c1bc842a04bc1fbdd739f6a71cbd6d8c24bd0ff835bc2be74eb9422031bd58721fbd67ed23bcea7d63badc2f4cbd036c2dbd5c7a0fbc1fcb26bb997d29bd6c5c02bd7656ecbbd344c9baea5930bd764cf7bc6ff6c5bb538675bad655f7bc24939bbcc358f3ba6c0b7d39429ad6bcda8251bc36cd7138931e033a1f613bbc686257bb510f0e3b9a25793a1615043c25414dbd62e9633fbea3853e5718513ccd9459bd1828593f0e03783e75da2e3cfc82f0bc039c343f56e6583e7355303c96edb7bc63261a3fa69a323ed42c0b3ce15147bc1c89ea3e8974083ebd94da3b47c538bc56abaf3e4e96bc3d1de2fd3b8cc854bc392d633ecec23f3d96877a3a709b4bbcad3ed13d500ae13baeb2fdb9a0fd20bcc72c48bbb8fbb0bc43e56abc24b2573b0000000000000000d5ed7bbcfd3bb03b000000000000000075982ebc79aa9a3b00000000000000001ce111bc7bcf983b00000000000000000f2311bc8b50403b000000000000000093b358bcdb6afc3a00000000000000003a1b3bbcacfb203b0000000000000000efe975bcdbbd4d390000000000000000ef9526bce1d62a380000000000000000e013303a01abe43a82a737bb5f2826bbff804f3a39b0d73a1e2653bb4c908ebac813d7b856e7313b28fb17bbe1eb5e3a427045b9afaca539530666ba81d1d03a536a23b9b768e8397e0c8a39c4041f3b917cd4b9f2959239bdbc093b6c5d593bd4d097badbb40cba1ffb703b46dea23b48ec45b8f19aa23972ed453b2e238a3ba958bb37e3e72a38742ede3adfb5253b68f7073bee19a93a80b1f43aaec305bc38c65b3b1a38fd3afd32d03a64af32bcd12a823b9bb2cd39c7ac1e3acd2611bc11de413b0fb6523a719e1c3a46c5fbbb1a36323baa9bc639c054e5394297c6bb8bd5423b06b3493af0a2f0398817a4bb48c0f93a4d23f3b9af0faa3acc14feba4fa5333b5a9002b8636648391ac2ebb934dde83a85b00d39dbbe7e392ecac23ae728f0bb1062a3bca8573fbcc435a63a05cfdabcae941dbd5b8483bc1cee4b3ac86519bdbfbf33bde83c84bc06b2f3babda81fbdcad833bd28b457bcab97b2ba9b251abdaacb1cbd72f72cbc754295badb6211bd898809bd6f42f4bbda186cbac1fffcbc4eb1dbbcd76772bb63c42f3a1744afbc2b1f88bcd185bcb911de573a332018bc0edcbfbb62bfe63acb73b93a97c9d13bcb8a34bdee583a3f5ecad33ec8792d3c3bfe46bda391313fb71dc63e12133e3c43a402bdd1ca193f71a0ab3ec5a6323c44f9b7bc762fff3e78ac8d3eb0f4193c5c7f6ebc65dac73ef97c5b3e75c8eb3bbb8e56bc7749943e92051c3ef4bbb53b06cf4fbcd60e3f3e68ebb83da2b6243bd96151bcff9eb93d59def83c02d8093a596d17bc34b7e33ad1ba85bc642ec8bca77bb23b000000000000000027c4e9bc922eff3b0000000000000000465fb4bc55fefa3b00000000000000002c479fbc7035f63b0000000000000000f91795bc04e2973b00000000000000008423a3bcfa53543b0000000000000000aa8ca3bcd173223b0000000000000000cc92abbcc1dec63a00000000000000001fa56dbc0f86133a00000000000000002de7ff392247ed3ab70533bbe4697dbb89cda33a5dc94a3bb3465dbb503ab9ba611846b95335643a91ffebbaa77e70ba3e6520ba5874563a21562dbad7d9533a3cc905baa7435bb927f710ba8a0d583adc2127bad664573933e2ac3a4ed1553b01215e3a174cb4b88879ac3a2ade613b7632b1baacabd8396b43203b6f578c3b1036b3b8c63af7389ce5d73accff383bccbf063b04a7cb3afe20c63a8accf5bb152a4d3be1d1ca3a4d67b33aafbd17bc0635373bed03823ad22d653ac10bdbbbe175643bc555893a5eb7b13a854fb9bb0c87f33a8734bd389a73693a22fe4cbb363d613bea700739c6692b3a58b85ebbeda8373beb7598390157d33a489319bbfaebd93a09dc053a2421c439be06cd38bc22073b30ce593947d7eb3958ffa43a66ca8abb3b1e94bcf02c77bc507dd63a62009bbc74ac18bd79f6b2bcb925413a93c0d8bc21d42abd436990bcfc638c3a759f03bd30f83cbd6f9987bc411a65ba53eebfbc09b203bda0ca2abc797758bad37feebc606318bd594620bcbe94bdb69039b8bc33bbdcbc0f49afbb256a953990858abc70caa0bcf8bc6bbae1b6903a5d6df5bbb46808bce59fe53af325ab3a8b92d03bbbae0dbd5582113f1056113f825f203c42d215bdb764093fb744083f83bb1d3c1ea6b5bcdcc2ec3e3977e83e27bc2b3cb8ba90bc356fc93ebef8c23e1422f13b88740dbcba85983e1002923ed3d1f53b57863fbcccaa6e3ef4cf593ea83b983bda2e23bc6476193e0ccb043edb986a3b1c823cbc7b2d9a3dbdae593d3274a43a59190fbc351f6b3b836b4bbc2f840cbd4787de3b0000000000000000eb8521bd5da1183c0000000000000000ace4e8bc0e38fb3b00000000000000000ee6e0bcc894e43b0000000000000000c2cc99bc6141943b00000000000000005dc2d7bce214913b00000000000000002aa8c6bc1d9c133b00000000000000002092d2bcfcfcfc3a0000000000000000028095bc34286e3a0000000000000000e862a33a275d0d3bf9ef07bb4d7b80bba0158f3764f8073bc4d804bbddad5ebba3730b3abe099439ad3ddeba4767fcba6ec4adb9dfa18d3adc69d9b9d6702039067ad1b955523439a4cd9738ddc8ae3ae40125bae2ef533937da933a86ed503b80aa98b9d28d24396c16db3abafe913b8e9353b99e681a3a29ec053bf44f983b3cac003956e5913951ea963a5c08533b2319f83add101c3be034fb3a0aafd9bbaee16a3b767e2b3b3902e23a4ae20cbc2e9b873b3030f13a38a6e637a8cafdbbe8f9713bdfce9f3a7085383ae53796bb39c0483bac8b8c3a963e143a74b757bb5ed7653b60f48c3a1d5d363a6fc41bbb60c16d3b7d09f6391b457139ab6bd7ba13fd693b4fad263a73cd483862d80a39c9f10d3bd57897398031ca390b2fb03a61ae50bb706695bcdd349ebc0265d43a012981bcc76e27bd0e47d5bc88d5853a5a09bcbc999f50bd1f6bbfbc6e2c8c39cd26e0bc235552bd81aaa6bc3d3844ba6cccd2bc31eb3bbda1cf84bc263844baf803cabc038a2cbdf87948bc5a53c8384003a9bcc7ee0bbdebc0eabb1e7c1d3af84568bcdc9ec2bc95188dba59c1eb3a5581b3bb67d228bca153153b5754f53aa47ba03b57c2ccbcc0a7d33e8fc8393f7318093c7d63d8bc8899c83eb033303fa1d0fc3be2098bbc3844b13e9ef1173ff909123c25f837bc496e953e49d7f93e8c6d083ca58b02bc57c06e3e0f1ec13ed960e53b080a14bcbb03343e413d8c3eabb6bc3b935923bc6f5cee3d24652e3e3133853b8bb65abc9a33703d0c16933d9c061e3b4b2e2dbcd985813ba16742bcf58d2fbde635ef3b0000000000000000a26451bd844d343c0000000000000000d7011fbd1b0c2d3c000000000000000099700bbd6056093c0000000000000000e061f4bc8b3cce3b00000000000000008b1302bdab49933b0000000000000000b64603bdf5a1453b000000000000000079c608bde6ec243b00000000000000006af4c3bc0dcaaa3a00000000000000007e61fe39fd760d3b6df885bac8be8fbbb50e87b9e086103bea1339baf65247bb15df033bdeef18bb0d2c46bbe43038bbe21f42ba79e0093a5df76939d7e4dd398e9ad9b94c97a238e0d2d0b7be49833a2729aebae2f9b73aa7cb253a2ea35d3b33a511ba4e809239ec76d23a98ad8c3be58f2dba5c62b2399f34cb3ad7fbb03b1cf003b99810e639e55e803a3716833b12842c3b3ed2223bc2b5ac3a58e7dbbb8d109f3b616d3f3bef6d893a2ac106bc14aa313b4ecb8c3b5d9e913a952011bb37c4833b0b3cc63ac01a9839b1a987bb0b1f373b2a26843aa54e94394da516bbdbb8813b62f7bd3a3f4b923ab8742abbaa67653bf5a8403aeec375b9243b71ba8c34553b3c95033a7f59edb9bf93093996aa0a3b72b86539d1258bb9818a523af98985bbf1c6b0bc9008bcbc86efc73a0bd46fbc3cbf43bd222c01bd905e9a3a044282bcd3c557bda430b1bc044d20bbc019babca1d26bbd73aacfbc1f3284ba00e09ebcf0963fbd96d293bcb06f80ba0131acbc72b844bd60ac79bc6b9987b9895b81bc222112bde8d809bc3a3cff39ee2540bca67ee5bc736a06bb867ef83ad86771bb928a45bc26b30b3bc8a2063bf12d393bbbb573bcbb06863ef6d8633f9db2b73b4aff54bcfbae7d3ef969583fb6f4083c946d26bccd21673e7296323fc28ee03beb572ebbf055443e11b4173f4c30d53b848ab9ba75351c3ebe39e63ee24de93bcb56acbb67f0f13df2d7a93e48c1993b342ad0bba4899f3d7ccb543ea81e613b899e2bbcfefe1e3d9900b83d2e39c93a522716bcefa2ab3a03493fbcefcf4cbd697f043c0000000000000000cb7a6bbdc8dc3e3c0000000000000000dd7923bd0753143c0000000000000000d31f11bdd5f6083c0000000000000000effbe5bceb49b53b000000000000000063cb0bbda9dfb93b0000000000000000356c00bd6e72253b0000000000000000781518bd709d223b0000000000000000ce91dcbc07dc9d3a00000000000000001b12073914e3083bce06f7b93273a2bb318c35b8f967d03adff5023a4bdad2ba5bba253afea7543ab8ede139a1040eba5860b4ba24060439295c04393272d739c9231cba48a8a7b951fc84394198c63ad1c401ba24d0afb815a6ab3a3233893baa0bb5b9672733399b0ed03a0853b63b2d9e92b927401c3ace67173be77ad13bc3d4aeb9f5acaa38e96afd39b00aab3b7d08373b2a60403b3fb6623a1c49b7bb99e1c33be42c783b8fe3a7397c55f0bb9ae4a73b980b4b3bd137cdba8a269bbb72ae8d3b67fb313b5cc11bb9e99555bbb4746a3b0c7bb93afa6b493979a573bbb304983b0de0fd39623943b93350dbba628f8d3b7d38c73a196534ba79fb96ba62b0733bdf816d3ad01748ba914ab2b9e9e34a3b6fb6b0b650f765baeba2993ad674cdbb5a55fcbc66dde5bc6504803a492a81bcc15b7cbd378314bd62288c3973f294bc449687bd5da104bd0a4308bb63db9dbc4f8f86bd375ef0bce417dcba320b8fbc83d967bde3c8b9bcdd64adbabc208cbc87be5bbd712398bc09c301ba087568bc37f135bd15e53bbc6d3e893936b016bc502505bdfe3842bb2dcc133bfd9d6bbbe4526fbcac5a373b8b03c53a8a03d63a9dc2b4bab469ec3d8b7c873f99dd403b62e2ae3ad534e23d348c7e3ff394983bb257d23b07afdd3d85a9563f2302ba3ba138d83bd913c73dea3b2f3fc68fc33b0dc9a23b8c9fa63d7c78063f8fc6ad3b39d37d3a6cf2813dc714c43e8499843ba48270bb55822a3d3245743e4f00293b641912bc4932933c8e77cf3d3105673a42eef6bbca655dba88a395bcc8d94abd9cb8063c0000000000000000ea4058bd3ea4423c000000000000000018600fbde482013c00000000000000001505dabc6f7dea3b00000000000000008f59bdbc907ea83b00000000000000003707e5bcf159463b00000000000000001d6d05bd80e8973a000000000000000015d81bbd79b9da3a0000000000000000b32304bdf058fcb8000000000000000000000000000000000000000000000000c7c0ccb9151c9639693e94b9ea8856bb5f45d038d0ef9bbafd34aeba0b5d06bbf38dbeb97c36eeb9e7cb40ba2c3b76ba2938c3b9e9072abaf5b8b1b9ae2aca39e8a64eb95fb2dcb90cd1d0b80290fe3aae0b41b9b73a92385e92443add7e743b8a4844b8d86edf393a95b93aeebea93b0000000000000000000000000000000000000000000000000000000000000000db7b2d3b3ab82e3bb30f2839d34a6ebbee52633b9b27943ae589233a16a566bb624ff43aa876993a03560c38d0dba1ba402a023bbef7633aa5df253ad8c429ba851b0f3bfdad313a300f6ab8654b74ba26993e3b15bb593a6baf0fba9b2381ba2041473bb6d81c3a3e0d13ba12746aba0000000000000000000000000000000000000000000000000000000000000000659f40bc7ce861bd7b5501bdcd5b11bbde003cbc523769bd87fadabc3d1141bb119650bc5a1058bd33e3c9bc72e048bb6ba743bc102040bd5d25a2bc0d4266bbbb2943bc05fd31bd97a189bcb548cdba0bb523bc410318bd6c303bbcd61d05ba1d7bf2bbe234f5bcc7a6bcbb0156f339000000000000000000000000000000000000000000000000000000000000803f9c43ed3ae2d65c3c313ed5bb802f883f710e143bb689623c2024823baf6f643f2d428c3b9b6b383c89112e3ca1453a3f5e9cac3b5ae7183c124f4a3c883b113f1696913bc697a63b16152c3c08aad33ee23f593b292f843a30e2ea3b3509863ed6631d3bb00a4abb64ed843a8e93e93d00000000000000000000000000000000000000000000000000000000000000000a25babc07bcee3b0000000000000000b09c30bc3c5fb03b000000000000000054d003bc67c4963b00000000000000000da421bc0cb2073b000000000000000065ea5bbcfec6973a000000000000000045cd9bbc56bcb0b90000000000000000580ce8bcc7f0a8ba00000000000000000000000000000000000000000000000000000000000000000000000000000000cc95d9ba725582bbc424d9bb90b06dbac08202bb11ff7fbb1ff694bb6c1f0cb943c9fcba2fdf82bb68f682bb794bd5b971280cbbf2f36ebb857a28bbf29952b8596502bbfbc655bb2e202a39d1ca493ad48afe393ed327bb706a7139fa715f3bee3429baeb96b3bac9cb1e3b7c056d3b00000000000000000000000000000000000000000000000000000000000000005a5b80b90c6aa83a3ad309bbe686c0bbfb74d1b928eb3f3a5927e9ba8cfbd3bb34673ebaad73bf39aefc9abaf477e6bb42911aba380f173a0f868aba9859ecbba7d52db91c3b2e3a863208bbf4550abcb808d03a9aca8c3abf8ce0ba71851dbce08aa93a7a538b3a5f070ebb07f6e8bb00000000000000000000000000000000000000000000000000000000000000001365d6bcc412d7bc98ce12bc9ccdb8bb093ee4bc1e18c4bc0cc326bccf4cc6bb1a7de4bc1419b5bc471531bcb0fdc8bb7c1ccebc211199bceb6121bc3e5db8bbeee1c3bcad008ebc93b61ebc9205b1bb364ebcbc088a5abc5a1901bcea5b36bb9144a1bcbc8f14bc522eb5bb31082bbb0000000000000000000000000000000000000000000000000000803f00000000b165293c1487023b4205793f0ff6ca3b2ca3343c497f1f3c6139533faa88d43ba53b3a3c035f623c64af2e3f2df2b53b8fdd223c8390643c83de093ff40b043b421e0b3ce4406d3c537ecc3e4ef022bbcc9eba3bc0250e3c78c3853e77092dbc7e7d273bff70da3bfe0efe3d47ee96bc0000000000000000000000000000000000000000000000000000000000000000380b803c0234273b0000000000000000fda1463c9088ff3a000000000000000068b8093ce35c863a0000000000000000cd5e933b16afc1b9000000000000000051961f38d68825bb0000000000000000d20b38bb10097cbb0000000000000000a543b0bb2788a8bb00000000000000000000000000000000000000000000000075e182b79068feba4237c5bb853e0bbb26d37fba399243bb7d83d0bb3217b3b9a5a20bbbae347fbb90bfaebbcc61c3ba5d8d3bbbeb8595bb26d78abb2de7033a6615e4bab3ff6bbb61022dbb59bc2e3a8f7ed9babd6d56bbaf8e92baf6e3093b46023ebb7a2b25bbdfc7233a431e4a3b3fdfdab9ec54b5ba33eb2d3beccb8f3b87fa5ab995f385ba5985263b649c693b3cc3fc39b0c89f3a0fe886bac9ac6cbbb0807b3ac012053b827e06bba38cd4bbdd502f3a53aa003bd305ccba7245e9bb5f27dd3610eea43adb66d8baa2b002bcab72bd39bda60bba9d7026bb0727e6bb79c66e3aa2cad43aa0f0e2bab06511bc8f58623aa77f1b3b7c09fdba36f805bc1be6113b378fcb3a241521bb63a4ddbb485fce3a6e4f883a1dda0ebbcec882bb64bc41bc269baebc3646cabb7f9c4abbada3d2bcb06bfdbc557630bceca5b5bbb6de00bd1ed000bd72e253bc1925debb1a9b05bdc952f2bc95e85dbc37b3e4bb2540f2bc8dd8bdbc370959bc446abcbbfdbff6bcc21bbabcf3c13bbc4649c0bb4be0dbbc7db391bc21eef9bb38ac4fbbaa9cadbc726a32bc636fb0bb507b1dbbeb6847bc99f68ebb9c42f8ba5800fbb9ca58033c51e260bc491f773fed1a043e05f14c3cc4c8fdbb71ea603fc1ccf03d2dd3643c8e64843bf9c7403f1cf3d53dd9d1633c60e1253cc9a61f3fa460b13dcddb483c5e584b3cf9c0f93e0200883d0a97253c90eb473c6cb5ba3ef1cd2e3d3e21e03bcc091f3c70ab713e6e22983ce171223b3049933bb6c2e73dc000bebb5515e3b95434c339e30d84bb2822a9bc178c203c06e1593b00000000000000004925493c444b633b0000000000000000e757383cd32b513b0000000000000000a607fa3b784feb3a0000000000000000a9d7773b4079a0ba00000000000000008de2a6ba827aeaba0000000000000000326faabb6db681bb00000000000000001083f2bb303ea5bb00000000000000000e12cabb4a3990bb00000000000000008a3dc339ffe887ba42ada3bb97d84ebb618ac4ba597059bbd687e1bb41a33bbbc7d33dbaa8b087bb1754bcbb13fdf5ba12b895bad20144bb3168afbbcef6a9ba704420bb9b777ebbba5443bb7de0adb9f7fd04bb9b9083bb4dea04bb4aa3aa3af6d863bade5425bbd231f8b9cf87123b9d142dba2bb4efba49aeb83a32176a3beaec15b9193c81ba1497c53ab92e2e3b878620373567593a031fe239931241bba59984388750203bbe6ab2ba368e87bb744009ba6182c73955dbb239112b8ebb18a209babaab813a9878b8baf81fd9bbac400e39a971d83903d17db9afd0aabbcf3a753ac4d7b23af2dea0bab8fde9bbc2088b3a3ee4193ac20e1abb6232a5bbf59a083bd419b33a067507bb78b5a8bbf4c3cc3ac5ab813acc1fddbab7b835bb3720c6bbfb4591bcfdf2f1bbc64607bbbef58bbccdb3f7bc58bf5abc44d5b1bb551faabc5bd9eabc2ec660bc393acabbc9cae1bcd057fdbca1b758bcf003e9bb9297b9bc9443c2bc746e43bcb5bdb9bbf863d3bcd2dac5bc75a245bc62b3b5bbdef2b6bc1a258fbca3120dbcf2697fbb5cd395bce92c52bc10feb9bb4d3b11bb06521abc070eaabb00fcd0ba215787b9dfc0003cff4b81bcbc5e523fef32863ef6ba593c60c23cbc41a0413ff15e753e4046383c76ad1439f699233f96f1533ebdb7753cda5ed83ba2ff0a3f3c05303e6bc1363cf96f023c4df5d73e362d083e4f3d323c24ff113c5274a33e4b39c13d3ee5d33b62d9ab3b8a28573eeae2663d6e44803b938c503beadbd23d07d8653c482b123ad1f6e2b92a76053a08e084bcf292e43a48dc803b000000000000000023b19f3bfb49c23b00000000000000009da98c3bd99aa73b000000000000000071261e3b4d55343b00000000000000001c10d4b77749743a0000000000000000d41997bb1b2c13ba00000000000000009a27d3bb49a3b7ba0000000000000000b83825bca1ea68bb0000000000000000c6f8f7bb5d2b34bb000000000000000029f5c738f52e44baeef592bb04d78cbbe52757ba08bf17bb6e56cbbb425b96bb7eb107bb65c07bbbd60dc5bbf45049bbaa7f21bb0d1292bb0824acbb4ad106bb635018bb0e3194bbdfea93bbf6bbacba9c8104bb56f77dbb040e3bbb05dd113a1759b0ba9f6656bb4dbeadba7ff5003bfb23c9ba87932cbbae1e05b9c24b483b29b5a7b9ba5c1fba8ef3263a8d441f3bafd008ba7aff843a48feb13afca710bb032cbcb9e6abab3a73597c3a5d8674bb33980dba3d65983a30e2b6396f4c85bbec3cf1b94f4f963a35ecae39ada294bbc8eee2b9c78a333a6d4119395c0393bb1137573a5de98b3aae1921babcb6b4bbcedfdf3a636f963ad1e891ba9342b3bb41ef1d3b86c9f83a53d902bb0df68ebba450dd3aa59c463a4ad162bae39c2abb48b21dbb4bbd6ebcbe5518bc9ffabcba60a946bce64cdbbc17bf7cbc9e6381bb2edf9abc5ce7f8bccf6387bc3dc3b8bbb0dcb2bcdce7f7bcedf285bc7ab6cabbe624aabc3956d9bcfcdd68bc3ae2bbbb1994b4bc7976d0bc6a6553bc8481aabbc95ea3bc3e03abbc40ce1dbc3ba16fbbd0c87fbc545c6fbc2e17c5bb472d03bb8c2200bc3456d9bb53f6fdba1bfec6b9a300e13b986051bcea812d3f890acc3ebfd8423c1f0c1ebc440f203f0981ba3e0110603cc7a6be35e5c30a3f503ca13e6fc7663cd056ab3b1126e83e15cd853eff1e4a3cf3d5ff3b6f95b73e4027513e6f42373c2417013cefa08a3e73a2173eddd50e3c796ec33b47dd373e02a0b93d8c24a33b3c49273bd073b83db0600f3da7fd053b43470bbb6582303b93f763bc22cd7bbbad67a33b00000000000000006f1755bbf1f8e73b00000000000000004637acba7cc6c83b0000000000000000173611bb1c2b9c3b0000000000000000fa668dbbc027213b0000000000000000c1430abcf2081a3a0000000000000000416a3cbcae61b8ba0000000000000000c31d5cbc65a70bbb0000000000000000a58012bcdafcd9ba0000000000000000f8c5adb90dc922ba9a9191bb430597bb01aba6babe8b1abb7718cabbbdb89dbb4b48ffb99f1d89bb5bd690bb1bd25bbbd74033bb3dc396bbd135b0bbb02f5abbeef9aabae85c51bb0ba65fbb2be35fbbd2c04bbb6f6cb1bb87e39fbbc959d139e0483fbb66c621bbd368a7ba39c6f33a465387ba218f26bb465d84ba9eb42d3bbc5728bade34c1bad4e26b381f43363be531dcb9d372793a503b383b2ede04bb4fe241ba56fc9db95be41d3b78d12fbbc9b589b839650eb9ccfd443a211332bbf32e48baacdb483abb9523395a207fbbbda407baeeb5d7ba4d5012bafd6a07bb50d1583af065753a173d0e3af05282bbd4e7f63689b5ab3a8aa38d3a7bebc2bb26c1f93a6f0b993a9293d0bad9b56fbb9de4e63a7302823a14efc8ba8ce40fbba238a1ba22cb56bc4c0644bcfda9f6ba30be07bc6374c2bce66f8ebc720677bb93ec5dbc48f4e2bc3f6992bc4d62b5bb474692bc2672fdbcb67c96bcbd48cebb7daf6fbc2f80a8bc961960bca2fc86bb72f6a2bccab3d3bc0c515fbc7fad9abb762178bc069fb3bce9e91bbc06b156bba45451bc3a8473bc9490e6bb6466f0bac925e0bb071fe3bb6c5932bb2d75f7b8bc0dd03b59b917bc1bec093f4bb3093f24812d3cdc0d90bbb4d1fc3e6a60fa3e3c203d3c8726683b30e9da3e59aed63e407e683c717dd93b42bdba3e1a79b43e7c65303cf2290a3c0c6c903e72a78a3e55b3493ccd32183c16e2613ee8854f3e062b243c56a7bb3bb905153e678d023ed57dbb3bc8d1113bee55983d031e613db893163b21644ebadf63873b43cf28bc79050dbcaab1d03b0000000000000000fbea08bc60650e3c00000000000000005414c7bb543ed73b0000000000000000a100e9bb4404a73b0000000000000000899a9cbbaafaeb3a00000000000000001da736bcbd40163b0000000000000000b5535dbc604d53b900000000000000005aad84bc1cc237ba0000000000000000c2c84cbc934d1dba00000000000000001c6a86bac9118ebabe9656bb1a24ccbb653986ba93d1f6ba9190b9bb4e33dcbb6e5507bbb6cd63bb0705b9bb2553a9bbf4ae1bbbcedf8abbc180acbb223575bb19950bbb1d8a8bbb60e899bbaf1322bbe71301bb058282bbc9646abb4e6ee3b9d8d850bb706440bbb78511bb667dc53aba7879ba00b004bbffc97fba882d2d3b3d872bba1d0b94ba2b68a6b87ee9193b3768e7bacaa1333b21eb1f3b94de72ba07ea55bae3dd0f3b39f3033b050735bbf90276ba3f0fcb3af0fee83a41d644bbd040a6b969a4d9b84c70ab3ac6583cbbd1ef73b9be04353a399c443acdb859bba83b753a5635a13a2524f1b7dc978abb5f740b3b1953f13a74f919ba6e7391bb2ac53a3b1a35fe3aeb2ea7ba569c92bbdeb0163bbf14ba3aa2ecbeba6d2941bb239b853afcbe59bcdfc65fbc51130cbb6044c2bb41aecdbc2fdcb2bc67ce62bb2fee3ebc2141fcbc7c92b3bc6206b1bbb14570bcd9e002bddd04a9bc2bb9b9bb80b172bc1ed7ebbc8a1f8dbcab42b5bb9bf784bc7006ebbcdd7180bc5a37acbb54d572bca66cc7bc920f3fbc313977bb822340bc0f8497bc6d69e3bb9f4bdeba092ebcbb952c15bcfac903bba01e5339cefbb03b34c85abb7d1ecc3e33c42d3f08c1193c50afa63af51abd3ed6db1e3fe58f413cd69cfe3b6253a63ec7b9083fa1794a3cf019313cee3a8d3e7cc3e23eab28423c4a2b373c6c92623e589bb13e113b3a3c74111e3cf3ab2d3e381a833e707c183ced7edb3bac37eb3d5ae4273e6c90d63b4d87183bffcd733d0f48973dee2e433b46a844ba003b9d3b525cfcbb3aa34ebcc5f8003c000000000000000027696ebc01431b3c00000000000000007dd42cbc2d3b0d3c0000000000000000a0c525bc194edc3b00000000000000000b8e27bc3976823b0000000000000000140176bcb48d053b00000000000000007dff96bc36925c390000000000000000589eb1bc856084ba0000000000000000d2877ebc82ef76ba00000000000000003b964539c7cd4c39388d17bbda569dbbe43caaba07100ebbe6c7a9bb0ef0e0bb9862e4ba4b1153bbf516a1bbb90e9abbd8bc0ebb21e998bb66e6b7bb5e6688bb3ba608bbe8e691bbe3bb93bbe83449bbb47573badffaaebbd27baabb80d825b91f888eb9dead6abbd2a33bbb598c723a6958eababdbf1fbb81acc3bad793393b558b96bab47c96ba8a87efb9eb611d3bbdb7bebafeb3e43ad8a5023bca1fc1ba782432ba83491e3b60480b3b38352abb5d0f01ba0ce2963adfb98f3a8a2a29bbd67fd3b90cc0ae3a5f3ace3a3b852dbb4365ecb9bcb5043a132b763a09d136bb1eb6c23aefa70a3b7c3557ba05a861bbd76ee73a4890853afdf85c39b1a35abb8199763b273cda3ac9ff1cbb1af48ebb2ea34c3b7ebb933ac78d30bbe7fd35bb8e0d613a2ea368bc9e1a9abc245f10bbe84da0bb3f9fdabc6514d3bc868371bbc7ee15bcc359f1bc650ebabc8f8fa9bb000c49bc11b00abd8ff2bfbca410cdbb241942bc33f4e2bc0cd88ebc4055a6bb05aa62bcdf07fbbc04398cbca3e39fbb08e352bcc803ccbc1ea14dbc41c183bb11351fbc0c13afbc873f07bc9be538ba771b8abbc31834bcf1cf30bbdbbf8f3a02eb733bb5b3023b8fa3863ea63e523f8745f83b4ea10a3cb8de7a3e6d4c403fbd9c273ce3672a3c95fb5e3eb57c223f28633b3ca2e0773c29fc403e678f083fd022273cd5c6583c08f9193eb0e6d33e11fd2a3c2edb353caab1f13daf9b9e3eec070e3c6cc8f43bd499a43df4194c3e45dde33b02123e3bf867323db8ebbb3d6e4a503b09ee89ba6f0aa03b3508e7bbd7e384bcf64dfe3b0000000000000000668e8dbcef3f273c0000000000000000cf4319bcd60bf53b0000000000000000b2cc2fbcba2de73b0000000000000000f20229bc9bae8c3b000000000000000095d192bc995c403b0000000000000000c5c18fbc7106aa3a000000000000000038fdcebc03400dba0000000000000000f54b9cbca779e2b900000000000000004ae6dfb97d9b2eba91b948bbfdefd6bb9076acba8d791dbbdb5496bb2f94d7bb9c33d8ba70ea61bbb0b2a1bbd1e5debb67790ebbf73f9dbb729cb5bbc48d8cbbafa594ba2ed978bb3c3091bbf9f682bbf4c9b4badda486bb3fc08dbb4af01abaaab5b7ba000e49bb0ffd20bb4496fa3a65ab4eb80744abbaabd23aba2a70813b95fda937c7a61eba260fceb9d0b5593b027737ba004d8f3ad73de33ab57ea8bacd2f0cb980884b3b183cdf3af2b00ebbcc3b6439c3a70e3bcf02d73a097d7dbb0edae2b9b731bd3a0bbdc53ae35c11bba1a41e3a4cc736b9c1e3f4b88bfae2bab626d43a2f55f13aa228643940a176bbfd6f3c3bacd3203b5233d6b92d279dbb65bc493bd0cc223b5a82b8ba2c1ba7bbd99d553bea1f013ba9aac7bafae889bb402e2d39108b80bc3168afbcbc4bf2ba52b699bb1d24f7bc2b78ecbcc6929fbbf21c09bcdec010bd6a4be5bcca9fd7bb7a9b30bc078814bdb48bd4bce126e9bbbcc546bc1d25fbbcfd0cb0bc19e4b2bb9b5354bce5c406bdb58b9cbc213bc4bb0ced48bc1ffbedbc3d7f6cbc085d8fbb156f19bc1bfbb6bc410205bce5d735bb725cadbb852f50bc82f241bbe314b038ed253a3b71511e3cf0f7043ee126773fd5dbbf3be7fd843cbdd5fe3dd759603f904f0c3c0665a03c0dfdee3d5c56403f6ee4273cfb13a23cc468d43d05751e3f113b303cba858c3c26c1af3d2d63f73e82612d3c070e713cc0ab8d3d3193b73e8a51103ce9c1223ca95a463db5cb6c3ed647cf3b434e6e3b6122d53ce5cada3d96c35e3b9ef915baf4b68a3baeda0fbc692b6bbc43e7043c0000000000000000ecaf5bbc9d2a1e3c00000000000000007333fabb73c10a3c0000000000000000b336e4bb0b82d33b000000000000000010e3f0bb79cf173b000000000000000048106dbc73dbc23a00000000000000008a9baabcf39e85ba0000000000000000c071dabcee4f03bb0000000000000000b468bfbceee80cbb0000000000000000000000000000000000000000000000004f2d95ba4dfa2abb8cac6dbbe571dfbbcc5ab9ba01a765bb0b609ebb5613a5bbc3ee8abadfce6abb1a5ed7bb0b7589bb1a08d1ba60fb7bbb359f99bb31285abb5cdea0bab10e7abb357791bb4541ccba375136bae93f32bb582438bbaacfec39cb8267ba110efbba46fbb4baaafd0e3b00000000000000000000000000000000000000000000000000000000000000003a2ef6ba6101ae3a3355f43a401c4cbada19caba5a29333a0b04ec3a497d81b9c816bbba7f75ed3946ab023aca58f8ba9ee897ba3296a7b8902ab23a6f6697ba02e92239eb5b5d3ade8a683a30640fbb764dba3aa9549f3ac853a6b789fd59bb709a2b3bcba30a3b8975ab395d1fa2bb000000000000000000000000000000000000000000000000000000000000000093e673bba29ad7bc94b3d0bc86c8c0bb97beb5bb672ce9bc1947babc771ad0bb29d6dbbbd622f8bc4746a9bc77c0d6bbe9b206bc3b54d8bc013992bc502ac5bb817218bcddacd5bc11b582bc665fb7bb316818bc954ec0bc1cca4bbc882b8dbbcb830dbca2d5a7bca46912bce49629bb000000000000000000000000000000000000000000000000000000000000803feae2a13b77249f3c00c52a3c8264783f0291dc3bbb0d9d3cf268803c65fb523f59adf83b79b3a23c2a9c9f3c19922e3ff9550d3c97fb853c14db943cec72093f3dca103c7905653c01638b3c3fd0cb3ef206f83b46be263c26c45d3c4dd2843e1870bc3b6847e83bf3802b3c6d40f93d0000000000000000000000000000000000000000000000000000000000000000dc0006bb7324f63b0000000000000000d22c353acb67d23b0000000000000000a12e903a2e0aaf3b00000000000000009c3b05bbd28c1c3b00000000000000002e34e4bbedc7223a000000000000000034ab55bc44b3c9ba000000000000000085c8adbc91ba69bb0000000000000000000000000000000000000000000000000000000000000000000000000000000097bda7ba099a0dbb0da52ebb9d8be9ba2b567cba983aefba1ef228bbb7462ebb12c192ba73a3f4ba18a90bbbb8400ebbd8f79cba8659fdbac5bd02bb5ca501bbfc3c94baf00af8ba85c1feba9ee3fdba12d98cba7607e7baec6adeba59e5bdbaef9162ba44b0bdbaf27ba3badf0289ba000000000000000000000000000000000000000000000000000000000000000048c1cdbaf82a6dbaccd6573adf2c31388e1907bb54ac86ba796a3f3b4e6944373d050abb5772e9ba06297f3afb4747b9d189d2ba75653dbafb2b203a65f323ba6673c5bafc6971b9f7e0083a980954ba05a396bae65b5db98382383930da82ba58253bbace5642b94f3bfcb865d49eba000000000000000000000000000000000000000000000000000000000000000081651cbbb90b67bbd5e833bbc372d6ba2a6e28bb7e734dbb815f29bb614824bb4bb119bb458c3bbbdc7b26bb6e4e2abb930822bb587637bb95fc22bbc8150cbb462d29bbda213abb071c2cbb09870fbb411d1cbb578b20bbbfab10bbe60ff5bae7f10cbb6f6a09bbc14aecba7a3dc0ba0000000000000000000000000000000000000000000000000000803f000000004ec5683b808c673b9c16633f480a533bd99b823be2568f3b3493423fb6c84e3b989a8d3bbb7a9e3bfc07223fb2433c3b69d0813b2ba1943b3166013f3884f33a0007813b6e1e953b252fc23ee11ea33a9ca25a3b8def783b5d46813e2e18dc3827a1243bc49c3a3bf0fa003e0d228aba00000000000000000000000000000000000000000000000000000000000000002cb1853b165f673a000000000000000039a5293b08b9593a0000000000000000f583f93a5328e1390000000000000000909c663a26ad0ab90000000000000000838db3393bf218ba0000000000000000287cb2b9ea5e83ba0000000000000000bb1486bac112acba000000000000000000000000000000000000000000000000a08f5fbab613c7ba3338edba76d6fbbabafd94ba1e1810bb38fb33bb7c3644bb394dbdba0aaf20bb01213dbbb25d37bb9bb8f9baf9903abbbdc150bb7f84a2bad7faafba0e770cbb631419bb398b1dbbcd7ccdba6d3d29bb5e3e2cbb24ab29bb239eb4ba38c80dbb2deb06bbdc68f0bad4b889ba57bbb7badb50a6bac7f288baebbb06bae38161baf8c22fba153715bab313bdba26d100bafc153f3a9d2eda39a14e22bbc410b5bad0e0e23a7953433a942018bb446a82bae43f9c3a4240653783914fbac333d2bacf82c23a57ec63baa3ff05bbe9b99dbaf9c94d3a2e5d0eba41400fbbe3a799ba390f533a1f2257ba3b9cc5ba3a8bc7b938eca7399f528bba116912baa66bf7b95a1b07b8165694baec8a7db946fb10b9cb610839b1c42dbb15fb8dbad76b22bb3599ecba9757d5bad1d8ebba1e5b6abb456137bb925829bbda4e31bb68b07ebb51e455bb73e136bb13385ebba04a8ebb0a327bbb042c58bbef3f23bb6d8450bb64ce3bbb359b22bbaea342bb034968bb467c54bb78813ebb0c0b2bbb008c40bb8a702abb60bc12bbdd5b8abb489a1cbbf95ffdbaa92fbfba27aba0ba3fdbb2ba88918bba849067ba81d51c3b5898cd3a62c4623facaa023ea4c34b3be985283b60c3473f5d8ae93d464b9b3b8f5ba03b501a2b3ffc38c83d9bc2af3b950ec13b31b90e3f9862a63dedbf963b3f8ca43b0288e33ee602853de4eba23bf716b73b3b07ab3e9753473dea4e803b0896923b459d633e1b6f013d8701433b5f345d3b43ede33d2e3f703c8685133be168a53808aca3baebc1b3ba8cd72e3b79927f3a000000000000000012987b3b0d53d63a00000000000000000ee33d3b1ee07a3a0000000000000000bba02b3b454750390000000000000000d37c8c3a9edbb93800000000000000007c7ff539da74e2b90000000000000000f61adbb9f4407fba00000000000000007a1792ba1113afba0000000000000000650186ba938771ba000000000000000096b43cba2b4843baebaa80baea4bc0ba63759bbab947f8ba8b088bbb246f25bbe0178dbabb9af6ba45b917bbb90621bb754fbbbab48827bbe2da46bb596b4cbb030c70ba0d2a0abb5f1226bb15482dbb292fedba87e35fba87cfa5ba8e2f5abb634e9aba2bbbe3ba987dedbaffe3debaa2af8abaab35d8ba40abccba3db2a6ba7d2d09ba26e15eba3b9f2cba5e00ebb9086792ba1877cebaadd4e23884f9bd3a3a79fbba148536ba97dbbb3aa769053a11ddf7ba6c598aba04b7973a2dfc5139647a35bb294be9ba0a8cac3aa7a50db8f94b1cbb7ababfba2da8c83a8f567d39113937ba96eca9ba3d00663910788bbafa71c8ba5df533ba6947f839deec24ba50e97cbae06bf0b90b88ed37cb4385bae449213a558088b953c592b935e25dbaa787debae9d4c5baa722afba79667fba91b9acbae76f56bbc98738bb39f416bb4fa1ddba40894bbb8b1732bb3e161abbc0a222bb239081bb28876fbbc66f4abbabb2daba113237bb87bf3bbbdda323bb5b3e3cbba1d8deba846860bb0c3c49bb37dafaba4a7b24bba09417bb1d2bf9ba54db0abb094a25bb202c10bb3b44ecbaa477a1ba186eaeba412088ba4fa362ba870eed3ac18c173af931423f8228813ed04c743b16a24b3b2f402b3fd91a653eacf8783bd99f7b3bcb77123f4424443ed9ccab3be0cfb33b5b53f53e3497243eced2ab3b3d50b43b8fc6c33e677f033e129d913b68839d3b23e4923e4964c33d48bf5b3b3bea6d3b63b5433ecba7813dd9494a3b8bb3503b1fe1c43dcba4fa3ca056b93afff9b23ac1521a3a1c06b3ba9aa9443bb223f13a0000000000000000878a433bd3a1d33a0000000000000000fb7b0c3ba1e0713a0000000000000000813a043b5731403a00000000000000005471c13a03c00f3a0000000000000000b211b9b868a6f9b900000000000000006f3ea2b9e15503ba00000000000000008f4ca6baa11a9dba0000000000000000bd019dba395090ba0000000000000000506df4b9e02376ba8f28b2bab0a8d1baeaefd0ba6ff6beb980f224bb4ace35bbb5c8a1ba8d5613bb8e892cbbc9fbbbba647b20bbb188d5bab62788bb3dc01bbb324eb9baf63a1ebbfedd3bbb1a2747bbd895dbba881213bb189b17bb67e608bb957eb2ba6fbf16bbcde125bbe6f313bb957e86ba9bb0c7ba58b9c2ba2288a8baa81cc3bad9fcf3ba3a9edbbaeb13afba5233a7ba39d7b1b9d1cb903a7455373aac2a19bb69a873ba53b1403a234d8ab8d5360cbb51741dbbb48cc23aca558839e0e21cbb2e90c6bad6215f3a15a711baad567fba384c1eba643f8c3a91aca1b8b5bd01bb3d192bbb7f6f8a3a877497b9c62f4fb9fbdfe336a932033ad6ee36ba79f480ba256dc2b918db3e39d72740ba565b75ba90fd2fbbff627d3a77960a3a800dfbb7df88d1ba26ffe0ba2b1d9bba62bfb5baff0b64bbc6dd5dbb850922bbdac7d6ba594761bbcfea11bb562d19bb442855ba312831bba30c38bbf57817bb55b1f1ba19af5abb506258bbfe3045bbde340abb4bec51bb54dc49bbba301fbb494618bba25f4fbbb1cb48bb5d4525bb8098e2ba89d818bbbca307bb9485d5babdeb3f3897b40ebbb50b81b7778cac39c992e93a140a953a24d2213f3911c23e66948b3bdbec023bcc790e3ff6caaa3ef21f8c3be7278d3b4b21f53eaae9923e1044973bbf4da13b9e8fcc3e3bcb743ec1c4913be9179e3bb386a33eb0aa433e87e3973b30f2a63b9a3d763e07e4123e923a803b3ac48c3b6b60243ec76ac23df25c483b41714d3bb890a53db65a3f3dd963353bdc9a2f3b6fdc0f3b676b9c396751c03a590c923a0000000000000000c44cd23a4b337d3a0000000000000000b84c043bcb3b8e3a0000000000000000b613443b29c831b80000000000000000333e6f3a2fdd953900000000000000009f139e394d72c2b80000000000000000349140bab87e7bba0000000000000000c5bbb2ba29587dba00000000000000005aa70db9ee61e9ba00000000000000009147d7b82547deba55ddcfba7258d0baa749c2b9c743a6babafc01bbaf2418bb170a04bb187b3bbb28ce59bb55f457bb91005bbaac05d8bab8bf85bb461085bb3dad10bbbce480ba3b66b0ba3acbd2ba6616c0bad39f24bb6ad638bb5cfc3cbb3e309dbabf0008bbcdc421bb01b116bb388394baf19ecfba0959c6ba8ab895bad32e73b969b30eb9fc2e60ba6475c4ba08cdd7ba2d766dba3832613ab317f139789b12bb8020ceba575ace39df9ccf3a9f5430bb988b59baca3b113bb7d8b83a38a370bb68c8bdba1e49f43a59f2463a4887d4bad0822cbb0e12fb38f0da5bba722827bb0c6e5dba95d2933a770608b9cbaf03bb3eef98bae400843a3741b1b842ff30baaf39ea37dbbc7fb9319b82ba8ae6b7ba40ca63b9bb9dea37bba75fb972f470b98e34d0ba30ec03bb4d45b6ba350b0a390bd30ebbc1fd2ebb1fc3f2bad07f10bba3c486bbc5af85bbd57a4cbbf7d791bad68f3ebbf9b042bbea6384bb229216bb8048dbbad218f5ba603dbfbaa4a100bb5ce662bb51f764bb516a3abb8587dabac05634bb3f0935bbff8e18bbed43f9bab40b21bb30a60cbba512c9bac47492b9a39f75bab7be10bab7156bbabaffee3a89ecde3a506c013f3a58013f74a4193b70bf1a3b32c8e43ea23be43eef458a3b49e09d3b9485c43e01cbc33ee4b3993ba696b13b3953a43e8847a33eabe4323b39ecab3be155823e4666823ed8339a3b3bbaab3b1743463e6e92433ef8f48f3be023953baab5043e15ff013e7bc9ff3aea390c3bf163843da2117f3d9cab023b2c28e03a5eafd53a9dda9ab977c12c3a84e5903900000000000000005ccb183b35a00c3b000000000000000054f3213bd27e113b0000000000000000d4aee83a53adc43a00000000000000005aa1e03a3d370aba0000000000000000d5ea0539666982380000000000000000177dfcb9320190b90000000000000000663dfbba6bbaa5ba00000000000000000ab492bacfbe14ba0000000000000000101160baa712a6ba697ae8ba2d3801bbec0188ba7fd0f2ba18072dbbc50237bb29b6a5ba4f6204bb184e39bb9d1e41bb8d6bc8ba775b11bbf5e43ebb5b5547bb6ae0a3ba184d17bb2ca73bbb0a263fbb4c54b2ba84df0fbbc5df24bb48d311bb9912d2bac97d19bb16e528bbc71d08bbeae383bac99dd0ba9014f5ba79e7d0bae84658ba19d78fba9c798bbaa6b64cbaa930f5ba5e376cba90fb1e3af2684139215426bb9bc79cba7124e73af92e7f3af0302dbb05b8b2baa7baf03a223e753a59123cbb746dc3baef04ee3ae868233a3ceb95ba73b0f9b91e74b43a13528b3969e20bbba38b12ba2d217a3adea832b93243dcbae532df3874132a3ab4c2b0b90b7cbaba81f879ba63e97e3a28d28db743dec6b9d4a6bbb9e29950b836cd13ba63f28bb92ec6edbaa0f530bbac51cfbaed5b8db9464e34bb39ce75bb6f5d14bbe31550ba121055bb369774bb144827bb78feb4ba011569bbc23783bb7a2d3fbbcb41c4ba6a1955bbdc2171bb4df040bb487200bba66e65bbf57867bbc10d2dbb9ee200bbff5d50bbf2c651bbad2719bbaa88b0bab49b1cbb11271ebbdef4efba73da87ba514bbbba47c0abba6ccb4fba9204323bf5614a3bb9ddc23ef599213f28d1463bd678733b31afab3ea6800e3f65c8733b18dda33bfdeb933e7e83f43e5405923b712cb63b19d3773e59c6cb3eab10883bc95aa43bb24d463e7292a23ed7d9863b2555a23b0ddd153e47f3733e93fa7b3b09558d3b1714c93d4724223ee62e193b438f8a3b7a7e503d88bba23db5fee93a976dcf3a199ab03a56c9b3b9c038ffb617915d3a00000000000000008acda43abdc2fd3a00000000000000004d3fd93a4e6fe23a000000000000000091abb43a08659d3a0000000000000000a7891a3add15233a000000000000000004652bb9244216390000000000000000523388ba07c201ba0000000000000000c17cb5ba5164c93a000000000000000030e0ecbabcd159ba0000000000000000852734ba5a899abae16373ba7010b0ba891d55ba6f92e9ba14a62cbb66d844bba6f978bad374eaba02d020bb196b29bb7637abbaab19deba401746bbbb0843bbb206ddba1c031fbb6b8437bb533a36bb78adb6bae8a51dbb72d53ebbe0d431bba1d496bad638edbac2f904bb1605f4ba377594ba1190dcba938ffaba2d7fd6babf2e02ba2a9249badd876dba1d231dbaa017baba392937ba90a5933a1445443afe823abba720c0ba9551043b31669e3a8d1f2cbb21a4d0ba1ee5d43ac980603a26af64bb950ba8bae8c0d63aefc13a3a79a224bb3e90a3ba8497043a313f99b90f8722bb8b0b8fbaf4b6c23aac7e6d39fe8cdfba16b917baa1f73c3aca32e0b8c522b2ba1e6ec1b91700d43928d7e4b90dfd0bb91f0e12b9257620b9eb87fbb960fe7e391c11d9baebd93ebbd5df52ba0b981b3831fb38bb1a0985bb45441cbbba7b03ba59f034bb689363bb232319bb1e9298ba62da68bbefe581bb8f6e2bbb7111e9ba3d2f67bbe6326fbb451f32bb8e71ddbad40c6dbb2b9576bba54843bbd120c3bae57431bbb23334bb2c8e0cbb72cfe3ba6a012dbb52b536bba6fc00bbd41486ba9a29b9baf3e5a6bad2c22dba8820a83a6e58143b2fb2813eb03d423f63a8433b486d943b9a53663eab1d2b3fe83e553bac86963bb3e8453ef741123fa343833b0590b63bc0e9263e816cf43e7106973b43477b3b469a063eb746c23ea3f59b3baad5b93bbb85cc3df367923e5b26643b7d257f3b2036883dab3d423e8a11653b518c643bfe720d3d47fcc13dbe5ea63a11a9ab3a5722a13a1af0cfb941d0153a3140af3a000000000000000000f9c03a461a153b0000000000000000f8d9b53a6e70d33a0000000000000000d448ba3aa063c53a0000000000000000470929368ffe0a3b000000000000000072691ab649dfab390000000000000000dd1156ba0a52b1b9000000000000000026cf10bbd4142bba0000000000000000dff009bb353548ba00000000000000002e6692baa530be38df651dba221e43bb490e4bba34c6ebba9e7433bbd91a4ebb513388bab5e90cbbe4c64bbbb3525abbdff588baaff5ffba6fd835bb73b733bb16adb1ba5e9715bbf58d3ebb19813dbb568dedbaf5384ebbbc70f3ba4d02eeba5d5a8eba4de107bbed3629bb42831ebb6fb299ba859dd8ba0a4ff6ba7618b0bad04428bad5e583badac58fbac63835ba55bb3dbb1f320339565ed039429f053b9e9447bbcf1bddbae4d90c3b2133ad3a2f8446bb6ab390ba1b7d063b553b983a796890bb4eea38bb2269143bdb129c3ab87425bb72e996baffcfcd3af2f2263a098ee5ba76d26bba2d58d23afee59539a0e504bb868541ba168f903a5493ff37236b7cba9cd9bcb9190d7db7741343bac4f851b9004906bacc186739b568c0b9aab9ecb95f6825bb1bf878bbde10eeb990982ab7654d47bb50758cbba0a028bbeb09f6b9424561bb00a78abb9aa338bb5c7d35bad76361bb107080bba07892bb2f398fba688a59bb168e66bb56f52cbb93eff3ba60e985bb0a908ebb290b68bbfb6cddbaa4a254bb860154bbad6b23bb9371ffba51ea3dbb125c2dbb9884efba1dfa9cba162bdcba559ccbbad2f586ba2b3f093b0993803bbad4013e21fb623fd2ba3e3b701cab3b212feb3d557d473f1dcb6d3bf80dbf3b9071cc3da0eb2a3fb145933bd4f5d33bd935ae3d237d0e3f430c863bcd1ab23bf3ba8b3d6221e33ed606803b0b1fc43b9ee6583d7d7daa3ef21a893ba8cb9a3be060133dcfae623e12558f3b7b8c983bdd11963cf970e03d03a6123b9c7f063bec15e83a1396afb914b3093bdd143e3b0000000000000000775a093bbc881d3b00000000000000000e0b0b3b1993043b00000000000000004f560f3bdf9f093b0000000000000000f3a3953a02088e3a0000000000000000c0b032398a9e58390000000000000000713d5bba7dc07cb9000000000000000034632bbb36839aba000000000000000009e912bbe5d860ba000000000000000000000000000000000000000000000000cc2f3dba24bcb2ba767a19bb6fca30bbbaf551baab4cd5baddb127bbf94735bb50de90ba5fcd02bbbbf538bbbf0737bb4b7761ba0032e9ba8d7322bb31d126bb314583baf759feba48a32bbb125727bbe8b79abaf3c407bb5cf627bb91b61abbdd378cbaf697ecbace0dafba7ddf9cba0000000000000000000000000000000000000000000000000000000000000000ec3222bb5358c2ba9d6fe93a4c97ac3a81ad2ebb5945beba1977ef3ac9819b3aaaaf27bbaa65c8ba9a96da3a643a723a567d0fbbbb6281ba8036c53acbd63c3aaa7b1dbbf6e4a0bab55dad3a4dd5e1390a07ffbad283b33a48b6453a9bbd31b9139480ba9f7439ba2f4d0c3a6156b4b9000000000000000000000000000000000000000000000000000000000000000048924539c4602abb968f6abbe57e19bb724996b9d9ec3abb691665bb82d91fbb7a3f34ba35f74cbba86e64bb09b524bbf1844ebab6ba37bbbfd742bb829613bb186d9dba76b640bb1a8044bb4c691fbb50a3e3ba24084abb306843bb501919bbe366dbba5a5735bb5a1beabaf5ccaaba000000000000000000000000000000000000000000000000000000000000803f8277123b99a5993bbe408d3bda08633f9fad393bb569a53b36f09e3bd078423f8e4e633bf7edad3bba26af3bdb02223fdfce543b287a993b6b759b3b4659013fa8af6e3ba96e9a3b92e39b3bf1f3c13e9904633ba12c853b32a0803b63fe803ef317453b5394523b0391423bcc7c003e0000000000000000000000000000000000000000000000000000000000000000ca021e3b4933143b000000000000000082561a3bd2b8f63a0000000000000000a1cd063b7ff3ba3a0000000000000000c58db23afe766d3a00000000000000001b5d353aa7c8cf390000000000000000e8652fba6f0be7b900000000000000006969eaba6e8a81ba00000000000000000000000000000000000000000000000000000000000000000000000000000000ed47113a9a770b3ce553863c8608483c5038db3acd3a1f3c6c05823c399c623c1ef4413b16c4063c8dab513cd56e343cc9cc2e3bce52e53b715b403c97d5103c716e003b303bb73bad89163ce7d0df3b711b783a09558a3bde860a3c0dc1583baa1a74bacf41263b9712ab3bb6ae1d3a0000000000000000000000000000000000000000000000000000000000000000a1093d3a4cba10bb97ad06bb6058e4bc35643b3bd681fcba49ad99bb19f509bd1883693bec854cb9b799c0bbd7b50ebd4ddc6f3b6013e0396395c4bb91b902bdb578563be3ba9fba34998cbb802ecbbccde9093a317067396d10daba112979bc443bb6b942d669bae6cf8b3a2a1d57bb000000000000000000000000000000000000000000000000000000000000000094b002bee9eb1abdfec4b33bccfa00399525fdbd474927bd46ebc43adda07639b4cddebd9ccd27bd4d93edba52cf6eba800abbbde9e10dbd214e1ebbff7359ba0df194bd886ac6bc4d1b29ba1850a53a5b4d56bdf65c3dbcd641933a473609b72461e4bc2af04f3b7bd44a3a44f1f53a0000000000000000000000000000000000000000000000000000803f000000006a166e3c4c027cbd27079e3fe3aa65bd1c524e3ca857d7bce322833ff15becbc951d263c8384a3bba91d543fffa34dbc8d63183c1a09893b7d72213f80132cbc0e9da13bdc417b3b19aedf3ef87947bcbc97263b14562dba1ae5803e888993bc56bb1abaaa4539bc395e943deca5dbbc00000000000000000000000000000000000000000000000000000000000000006784eb3b6cb6e1ba000000000000000057ad893ba1fcd5ba0000000000000000893fb73a462282ba00000000000000008c9cb1bac3c521bb0000000000000000bf5099bb75f198ba0000000000000000dee7fbba65fef9b90000000000000000ec45bdb882ae4dba0000000000000000000000000000000000000000000000002da5c1ba8729a33bbddf093cd081b43bc88112bb064f3e3cf2f59c3ce14f763ca3be873ad3ec4e3ce4cba53c45208b3c2ae9323b5741373c4289903cc3aa743cf4b1343b1340163c285c683c3620443c4d29df3ae500f83bf8fd543cdfc10c3c7a866e381808903b36b02c3c39b6aa3bbe6bebba0d08bb3970fecc3b5751d93882e9b4baad06cdba19280f3b73d606bb75c79dba6178dfbaef92b93beb23abbcadda27371915a2bb07f9e03b1ffce7bca5b4023bb1163abb7b420dba49b511bd13a4c03bb17a56bbd96752bbc66e17bd94058c3bbc735fba624779bb805a05bddc9d473b07b2debad8f4b8ba2742c2bc64139a3a5434c4baf51e993a6a3045bcf4276eb9ee65ecb93b232c3b94732c396c990fbab5f13bbad106423b709bf23b1dcf8abd367ec2bcab14113a4594663b6ba203bed0171dbd7a549d3b48b9853becb80cbe935956bdbe52a4b95c7d2f3b8819fdbd886b58bdafb419bba92a283b002fcdbd810d35bdb94b37bb9f7f943aa444a7bd98d402bd11d7d6b9f1c4ca3a5e236abd68bd84bc5898803a18d7aa3aba78d0bc70232c39c4c8183a800303baa85720bbf924203cd8f6b53a6bfbb13a0f57813cb4e804be3d9b9d3f2cff993df7d3a63c710e08be806f973f798a763dc66c733cdbfca3bdf306823fd785983dfa894a3c2e663fbd79a8513f3ba6903d0b9b053cea01d8bc225c1d3f9d3c6b3d985acb3bfd75b4bc6308db3e56630f3dcb76933b58a7b7bc1540773e08e74c3cd084e13bd310bdbce406903df268dcbb82d30f3b85aac3bcce685bbda4bedcbcc3a78dbc5511ceb80000000000000000c02898bc39d6fcb90000000000000000dcbe7abcafe653ba0000000000000000729283bc968179ba0000000000000000d67569bcf37f81ba0000000000000000b1977abce121483a000000000000000075a645bc4aa0593a0000000000000000436e6fbb10a1853b0000000000000000aa3543bb04359b3a00000000000000004164a6383a01953b6102ac3b96f4923ba43e39b9a09e113c263d663c1c643f3c5a44e33a493e0d3c81a7563c981f573c981a393bf7ba1a3c027a6f3cfa9a623c45a4c53a8fdfdc3bd1ac3f3c33072a3c0004003b59a3d03b0bed3b3cf5c1133c62da9a3ab35d573b9d60003caf7ea83bca95a2b978cba6382f1fb33be0fe023b809891ba4da98dba36dd643a8ec35aba195e783a27fb5dbaba91ae3b5e0eb4bcae843b3b84741abb0934ac3b6fdc00bdaf49ac3b716330ba4d6c82ba915205bdbd60cb3b1f557bbac76acabac7710abd543d933bdaf2a1b9c6b423bbbb3fd5bc0f266b3b2f7a9db93c3ccbba912fafbc21b9223bcb5351ba6118e0397b6544bc121705baa23c9eba6849213b351155ba4d74f1b96a14a9bacce6663b9fbacd3b88891ebd0c08b4bc91f90abc2daa873b4e48c2bdc4614bbde3fd04bc37c4b23b162cc6bdaa6471bda26a3bbc3909223b3a1bd4bddd5c7cbd531f18bcdaf0023b737ea7bd1f4749bdaeb004bc4c38a93ae6b694bd02a223bdb71a8dbb8abe153bdfdb3ebdfd7ec5bc95ecd0ba9972023b54d3c3bc5822c2bb2563063b1aecf63a9d6750bb5c64b73ba927353b0b78fd3a16fb603c257401be7cc7833fc57d833e1bfdae3c3b220dbedb80833f4103773e36ee813c8d1e9fbdfaa0593f17ee673e5ab1573c531d89bd2fa73a3f2447413e87982a3c15e823bd1fc50a3fb98c143e1056103c02a419bd4200c83e8db9cf3dd3a09c3bc6f7e9bc8d916a3e5eb95c3d9154e23bd01406bd088da53d61e9093c782b653b7048cdbc93e7dabc764bb3bc8eb832bd86a7653b0000000000000000198948bd581d893b0000000000000000dac30dbd5e98133b0000000000000000d99a09bdda7b813a0000000000000000c7eee1bc977a583a00000000000000004dadf3bcf09c933a00000000000000002a28c3bc723bf53a0000000000000000f5299fbc3dc4903b000000000000000080a63cbc380d713b00000000000000009a76af3a8e33373bf4c24a3bc2e4733b999a1d3a6132ed3bfd83243ca1fd3d3c392dda3aec86103c312c573c1240693cd12adb3ab26d103cdb23533c7c5b613c80865c3baeeecd3b47562a3c11b9423cda060e3a924ab53bb85d173cad60113c1ec7423adf893d3bf345043ccb12eb3b7b5874b91d5aac39dce2703b7f83463bad734bb91f18b6ba723a9a3abfa869393c2f3f3ba08303b9170d643b9d4bc2bcb826a63b8d8dbbba6e79973bbe4901bd7422013c6a5d56ba46a36a3ae23600bd4d8bb73b9c57d1393fda9fbae3f1f2bcff1cd93bbd9ab53ae44f3abb9394d6bc9f569b3ba11157bab524253a3fcd90bcbe40f83a84a351bab9e6743a68b816bcfcc20a3a5a8abeba9e48243b74f6b9ba46ab3eb948addcbab61a4f3b72718c3b0afdbfbce869d2bccf9d88bc2b4a893bc12b8ebd81ec71bd49c691bc43afca3b2bd3b7bda22895bd79f395bc4221973b7eefafbdd6a78fbd022085bc5387583bd34d99bdca827bbdc8116ebc7b85db3a944079bda1e140bdc78701bc71f08b3bdb4d32bdbbe3fcbccfe04cbba87b7d3bdcf8afbcea7433bcc440ed3a1391523bdb6c2dbb162b6d3b965f7a3beaf8603be371233c2c5cd6bd4fb4563feebde63e8456903c9695f5bd80db553f0c8dde3e5743733c0fddb3bd22663c3f8b94c43e3094383cfe8380bd2b2e1b3f7d21a33e34ce203cce393dbd0e8ef03ec65c7c3e9e95ed3b755c20bd7e38aa3ef5362e3e258ad93bde6b1cbd286c4d3efe2bc63dcb19cb3b373c08bd841ea33d53b1df3c3bdee73a86a7e2bcdf3156bcd16bbbbc06f884bd3472913b0000000000000000a0ef9ebd737d253c0000000000000000e6ee7dbdc4db9f3b0000000000000000126455bd5e765e3b0000000000000000956e37bdcfe0ca3a0000000000000000111529bd9c8f203b0000000000000000478916bd45b10f3b0000000000000000c81efabc3ce8bd3b0000000000000000868db7bc0b83623b0000000000000000b361813a10192b3bfba1433bbc4f663b7e11d13ac196ef3bcd4ffd3b33141e3cec479b3a496cd33bdbb3333cf701533c4768273b3593f23b877b333c9734503c409e763a9edf813bee33cd3b63fff83b4944e83a2f16c13b198a0e3c2742193c0d24283acf8f3c3b6490b53be6bfc53bea7a31ba6695e53a9251193bae95553bebdd89bac74154ba4ca05a3ad5fc893a0167623b0358083a52f1713bdd65b6bcf3a2ee3b906d14bad1990c3bf387e8bc80d0fc3b1a9f3d3a41d0063aa66ce3bc1592203c3b06af39e791eeba8989e4bcc304a73b6370ec3aa4a406bb966795bc017fcb3bd0eed239d3472cbb735d8dbc34f33d3b962a47ba76eb863af88f12bc03d2ef3adef014bb7924423b7708efbaab3a6cba66fb85bacb0f543bccaa1f3ba5e86cbc3812e7bc724dbebc3d12a03bb3ee58bd980389bdc442ddbc2f130b3c8ad488bdc9aaa0bd7e22d4bc927b653ba41e92bd77faa4bd4779bebcfb30733b92494bbd214c66bd486397bc1e7f293a559059bdf71362bd053e53bc934b233b42210cbd19d40ebd358178bbef1b803be2468dbc186d8dbc4900353bbac3933b72e786bad2ea54b9d12ea73b7b577c3b538bee3b043eb0bda2a8243fad7a243f280d523ca302bfbd1c36233f43b6203ff55c3f3ca2c085bd56390f3fb4b80a3fe51e2a3c50fa53bd5a06f43e091ce73eee70f13bfa1be4bcee70b43ed126a83e61e8073ccfcd10bd1d138b3ea9c9783ecbb4c03bf39a04bdef80283e71620b3e75d4c03bad2102bd569f8d3d3ee33b3d5a363d3ba01bd3bc0458a8bbfbcdb4bc79a2aebdd946fe3b0000000000000000f7a4c9bd794c173c0000000000000000d50a99bd5999033c0000000000000000869c87bd3e61743b00000000000000001b1432bd52d8bd3a000000000000000039b552bd826e623b00000000000000006b5233bd98ab533b0000000000000000ca9122bdac76d33b00000000000000006feaefbc191c813b0000000000000000287a8a3a32ee223bea2be53aa2eb813b894d3c3a4d02a93bc3b1023c7d95443cf29d393a27ef0a3c80541f3c7228833c571cb53acdd8f83bd3a8373c9e7a573c55f9133b68f1a63b78b31d3cf4224e3cff0c403a42cfb83b3863e73b89671b3c18238b38eb0c893b07af943b2fb1183cc6cd96390ae930b922562a3bda6bbb3ba45274ba16a34aba89288338f249a53a6b687d3bbc49a3b888c74a3b470ba2bcd1e51c3c881fa3baf868863b7ad8c8bcbcff223c4b0e833907d0313a4eafcbbc6ac91b3c4927863abd6f2aba2ac1b9bcd741083c6e3e823a47e7ecbac6dda0bc06d1db3bbefacb396b7787b904ac60bc00d5253bbdb6b3bac5c84d3a11b0e1bbfddabf38ca002dbb95e7d03ab85f7aba221c6b390f15d8bad406793bc29f173b63410dbc7d670abd091ce1bc782bd43b2f6733bd26b3a8bd0e5600bd09541f3cf90e7abd34f3c7bd7bf400bdf5beae3b23757abdcbc8bdbdb56ee9bc8f69a03b520f5fbd17c7a4bd21d3bcbcf841263bd8d837bd5a5980bd91a95bbc66f3693b592903bd100033bd2feb79bbbbb7573b59cf6abc7334a3bc3cef6a3ba5588c3b9a3693395a7127bb35a2bc3b9ba6713bf827c93be76186bd8779e63e9782563fcd6a283c2e8f93bd4a83e33efe96533f1e8d1e3c056a5bbd18a2ce3ee217393f9e96023c5b8227bdf845b03ef8ff153fe157023cbe2205bd466a8e3e6b0ee43e0adce73b29e6fdbc04a94f3ebbc49d3e0de7be3b190dfebc9557033ee7d6363eb806cd3bcb57f4bc34135f3d16db6c3de0605a3bc9bac9bc1a819cbbf606c6bc6c09d8bdb994353c00000000000000007ba300be19d3813c0000000000000000450fccbd9e5c3c3c000000000000000093c1a1bd2381ee3b0000000000000000bfdc82bde7fd913b0000000000000000447e72bdff40b83b0000000000000000814557bda576c63b00000000000000001f2635bdaab3133c000000000000000052e406bd26feb83b0000000000000000a9a70aba3aef1d3ba7634d3ba07ba63ba9adadba8b90ae3bf3c3073ca847703c93cff6394b5eab3bca76183cf455683c95a627370541c03bd776303c9fbd813cf6634c3ab252a83b4e1b0a3cbd81403cda5025b951b7833b8fef003cc220423c28230f3955b23b3bd5c59d3bd9e8073c942db0ba2482ae3ac56ef13a8237b63b98f23aba813e7db97c69aaba44c93f3bd2e6c63be699fcbaf908903b870869bc395a393cafa37dbb39f4a73b9a3f89bc44583a3c03a8b7380dd170b9eac98dbcbb633f3c2ae1e0b8990fc33a991590bc153ef53b9872993ae06799baef1363bc22a6ce3bdcc58ab94638fe3965841bbc516c653ba29628ba5764c438e65aa4bb8c6f11bae3901abb821b0b3bc3334eb97f8ab3ba791449bb4aebcb3acd425b3b543e26bc7e453abd48d7d3bcf562203c22361ebdf78ed3bdc19203bd1e294d3c72813ebd3e0ed2bd5c550fbdabcb983b421d59bd2a1edfbde2d005bd7898b73b117037bd2f15adbd56baccbc2e6b273be95a1fbdc0f896bd73ab85bcef2d8f3bc559cfbc1b1141bd80aedfbbe5f6473ba26a39bca009c2bc6205a83b0706573bf6a2dc3a0b3d0fbbf0781f3c4814593b68d73b3b33bf36bd5650833e6abe833f0216b63b1e3a3ebd217b813ed6f7823f3c70c13bc9cce8bcea41793ec700573fe41dae3b614fdebc32855d3e71df363f234ead3b00379abc6b62333e6508073f2419da3bf576cebc9bf8093ea41bbe3edf61a03b7045b7bc0834ad3d1ace5a3e2f4cdc3b18dcbebccc8c0e3dd514893dd8d76c3b7a6d93bc8fdec6bbd22612bd870801be885c6a3c0000000000000000f1b714be0b789c3c0000000000000000def6b7bd4b1c333c0000000000000000cf8cacbdc3d0e93b0000000000000000b43d79bd10d79c3b0000000000000000b5b36ebd522da93b0000000000000000eed242bda0596a3b0000000000000000524937bd4393323c000000000000000075ab05bd2e0e103c0000000000000000cb9891baed801b3bd0177e3b6641f83b0a5c09bbd337653b2ec92e3c1dd0a53c5477c5ba0fb7bb3baf645a3cda62ab3cf15e04387d87d23b571f363cf91a9a3c3673bcb96fa2a43b6b82203c606b713c81ece6b9ec20963b29b7023c4bff643c518c54ba40fb293b4bd8bd3b9203303cc339b4bae49dce39d193c63aef78d63b5cf58aba7bbd0fbad7d29eba4b02023b1d20023cd92c95bbfc32893b07fa0bbce3db5b3cccd9f5bbcca8443b2ee6ddbb859a7c3c75b953bb798f563a143a3abc778e5f3ccb00d7b9f4ddadbaa3bd47bc3e60283c58e77f3a8a8a5dba5cf31bbc2dd3f03b384574ba2f2e7938446cedbb87fc553b002ee7bac89abf3952fd27bbf0b38fba9ae429bb5aa2983aad0be03a7e6e36bb3970daba11b8fa3a78b2513b514651bc544795bdcd5ec6bc0725273c756d02bd044207bedc55dfbc3ae3783c790536bdf74a10beaa7018bd7d4a093ce1a33ebd0c7701beb69414bd2db79c3b239328bdff8fd1bde7e2f5bc5976253b234d0abdeed2a9bd9dcd9dbc4f4d743b878bb2bc507c6bbdff90b4bb51846c3b7e10b9bb6810ccbcc2a4eb3b5be5073a8bd5983b62a3b8ba79183c3cc1d5df3a40984f3a466b9abceb479a3da7a79d3f14a16039151880bc497e8e3d8df3963fbcaa463b0bf729bcb2aebd3d0530813fac284c3b10a802bc6b07c43dcb614f3fd1525b3bade9f6bbb5a0b23db5181b3f575d793b8cad32bc6395883df733d63e8e1fa13bca746ebcf990293d089d6e3e955cc43b559458bcb085473c7c7c7c3d3d5c593b23fb51bc738e41bc831d6cbd5e9004be6eb6833c00000000000000008b0110be0e4c9c3c0000000000000000d904c0bd430d2d3c00000000000000001c4687bd37c6d23b0000000000000000cc1449bd23b35d3b0000000000000000407a39bdf8a2573b0000000000000000b86e2cbd6742b13b0000000000000000a50f05bdfb663e3c0000000000000000be6c06bdf6e00b3c0000000000000000000000000000000000000000000000006585c8ba3fab433bd0720d3cb0a5823c8a0945bab2cd893b0ceb1c3c5977743c58463c3a4439823b3f410f3c55c75e3c2391c2398fd6b73b97859a3b3ae3373c5abb98b9dbe7833b466bb83bd1721a3c45ae2cba21e5183b276c873b1dfe0d3c5de189bacc99b23a777b653afc84cb3b00000000000000000000000000000000000000000000000000000000000000002f784b3cfd6d46bb38adf13a91da6dbbe612563cfeb01aba121a67badba3d2bb2651223ced871f3bd6d40bbb1c9f02bc7b76063c0919003b0eda5fbbcd82b5bbf570e23bd8691439e37411bb0b227ebb6f95603be4b228ba19ee0538401077baee3ebb390852aeba2600b4b94082f63a0000000000000000000000000000000000000000000000000000000000000000f80bf4bcb74e04be3e9cfebc4823893b73dd11bd90c5fabd2b2811bd1bf8c63a257814bddeb2dcbd59c717bdf3374abbf34104bd6ae9b9bdd0f9f8bcae48d7ba094fd2bccf9c95bd7f9bafbc69d2ffb9dcdd83bca1c553bd1a0b19bc8c129c38840196bb8c41ecbc98a38b3bedee113a000000000000000000000000000000000000000000000000000000000000803f71ecbcba06b31b3ca42046bdab229e3f3255683a2f7c253c3bf167bcb5f5823fd99b1f3bde680e3c98b1d73be2f8533fd178863b3cedac3b80e6703c568f203f7f44863b82cc46395466383c0475df3e6971163b5ec064bbcaeb8d3bee2d803e3b57543be8c4b4bbfd5af9bb0ce5933d0000000000000000000000000000000000000000000000000000000000000000adb78dbdc47c3d3c0000000000000000aa4920bda97cde3b000000000000000094e2b4bc6b35603b000000000000000030c185bc6f27c7370000000000000000a5378ebc6dacd8b900000000000000003b0e9cbc91bc4b3a00000000000000003efbdcbc68f6f43a000000000000000000000000000000000000000000000000000000000000000000000000000000007101883b404f003c6920313c9d404a3c20b6ad3b2db8173c6204523ceea64b3c4a76ac3be8d0f73b4cc0363cb1f34c3c7acd9f3ba9caf93b2734333c66d3103c8f6e943ba141b43b2273153c00f7f63bf9eb213b19ccaa3b7b5f013c8abb9b3b5aa4973ad7be323b6b58ac3ba053e23a000000000000000000000000000000000000000000000000000000000000000081bdfd3a0ae473bbd8f022bc6a7713bdb69b763b970549bb302275bc526725bde34f8a3bdfa503bb34e088bc7cb428bd05da8a3b6198b6ba6b1083bccd3f1ebd6d821d3bfd1ed1ba191948bc09e101bd31a0b839812612bbd5eadcbbab5db1bc7993beba7e74c2baf6cb8fba9c1923bc00000000000000000000000000000000000000000000000000000000000000006728c9bd6ddb3bbd0f4e5f3a5feb6b3bc530cbbd635139bd275890ba76ac4c3b65f4babd15032cbd08c803bc67b2833b678ba2bde83411bd85646cbb3b16d83a225385bd07fcd3bc71feb0ba31b3813b089c42bd5eee52bc2bdf1a3bf7596e3bb9c5e0bc6bea653a4f25923bb5736c3b0000000000000000000000000000000000000000000000000000803f000000005e927e3cf4a8c1bc66e9943f9f56d4bcebbb913c26dcbc3b0894783fdc1f58bc2a79b03c4f76b83c691c4a3f0bbfe1bbfeff993cf5afdf3c65841b3fd77a24bc23c4623c4180ba3c10bedc3e44b199bcf581ee3bbe06303ca05a853edec3e1bc6175fe383892a5bb9cb1bc3de02c1ebd00000000000000000000000000000000000000000000000000000000000000006254143bb32e24bb0000000000000000f11c06bb9aa3aabb00000000000000009aa0afbbb4fdbbbb000000000000000068e326bc5dc3d2bb000000000000000024b148bc4171b3bb000000000000000078b227bcdb9789bb0000000000000000755f05bceac120bb0000000000000000000000000000000000000000000000007464063b45336b3b4501943bbe628e3b41358d3b8bc7343c0d1d743c3634463c56d9b33b2ccd4c3c590f873ccb31753ca477cc3ba1cd393c1104893c14f8693ca408a83ba1041a3c94155c3c4fdd3f3c97cb8b3b1c63103c8f90553ca3f81b3cce7f533b5b9ba93b0617233c6a4bb03b87e8a2b8c60cf23ade5db23b6de9373ab89dc4b91f9889babf580d3b501bd5baeacb193ae2d9f7baff0055ba251cb7bcd837bcb78e86c2bb665ad1bbab8c1bbd3a945c3b76a9debb5bcb5cbc1e8238bdfd68803bfabfa4bbd9b78fbc22c536bd7cd7463b84583dbb1d0a7cbc777524bd0f94863a60e979bbb4e141bc200c08bdb88883bab78a39bb14efb8bb7b95abbce6d907bbaa72c1babb681f3b8232b1bb116e05bbc1a113ba9141913b5fcd793b12d044bd06c607bd58e39fba9202a33b0945c6bd329745bd104b2a3b64b61e3ca899e0bd2ee569bddb5815bb4cdf183c6460d6bd867d5cbd88404cbb6bbdce3b7bcaafbd0ff636bd10d368bb865db13b917595bd5ff605bdf8056e3a2712de3b4f0e55bdf80b8bbcb4828c3b83ffcb3bc79ed3bc93303fbaea56a23b99883a3b924c7dbbbf3d083ccae09f3b0722063bf6cffb3bad8fa9bdd16b943f4155da3d5a9e823c4a069bbd4e8c8d3f22e3b73da276a03c09b5efbcd277723f4547b83deef9ac3ce59e6fbb1503453f61339c3d4112963c54bc193c8c0e153ffa61683dda0e533c3b23bc3b7ed9d53ec5cedc3c6d29dc3b4d5a6bbbdb237f3ef74700ba3483243bd80c89bce03fbb3d9aa7bbbc770f97bb3d52b7bc30d10ebde9d41bbdee0680bc5b3898ba0000000000000000aa81afbcf0944ebb000000000000000073c297bcee39bebb000000000000000037389bbc1e18cfbb00000000000000000f59a2bcc098f1bb00000000000000004acab6bcbdf5d4bb0000000000000000f512a2bca28772bb0000000000000000c0c52bbc9a1d233b0000000000000000dd93e4bbdba4203b000000000000000002d3ef3a660a863b80f96c3bbeac813bbbc6843bef9bcd3b2445363c6bbf373c93bd813bf816043c52902f3c015e473cd695b53ba5ea273ca158753c3a99643cf599983bc6f7ff3b522f183c073f233c38977c3b1199f83b44794b3ca6850b3cfe9b393be256843bf475013cf196c73b761da83aef918c3ab2b19a3bb0f80a3be3c184b9b2f395ba53c2a73a49420dbaceff0a3b9b4df0bafd56d1bafc06b8bcbe3a823b90668cbb9d189ebba2dd0cbdbdd8943bb0bbaabaf4d441bc4dd415bd5905b43b2c124bbbd2b160bc2e9e2dbd4fd2b23b6981d1baa3985dbc1e4b0bbd74e0123b01112fbb2dea31bcfe5ef1bc847fcf3a40580ebb3a00e8bb3c2b98bc11905eba8c6f08bb41423e3ab286cfbba61fceba67e98cbab48b643b7eec7c3b96aed8bc9729efbc13e51fbccbedb63b1f0f99bd3ea167bdc7952dbce63e203c042a9ebd478370bd2da865bc20f26e3b0a29b7bdd45d81bd7aec38bc1addc73b1c9d92bd1f014bbdbf5f22bcc4518d3b234187bd96ee23bd0e4a2dbb70d1f33bb88033bda0a6cbbc8b7120badde0a63b75bdbebcba97e0bb3c06983bcd3db03b4b5146bba5b2853ba11c893b41637a3bfdd0f03b7181b1bd898e7a3f058d8b3e6ab0963c7e55b2bd0499763fdddd823e34fa8d3ce9e703bde8d84a3fd18e6a3e99e5a03c3c7fa8bc58e92f3f83393e3ef4398c3cf14ca4bbf707053f27640f3e50255c3cc13af2bb9339c33e8f35b73df313003ccb26e3bb1c3d6e3e7895393dc457273bb4b8b2bc164cc43dd63658bb3a9b1fbba572b6bc564348bce37effbca41f0dbd9382013a0000000000000000a67b29bdc42e43ba00000000000000003a12f5bc81593bbb000000000000000039110abd2922c6bb0000000000000000a989ecbc66d8f5bb0000000000000000e29809bd428de8bb0000000000000000458ceabc2d1f95bb000000000000000097e2cebc7ee90c380000000000000000708b60bc7c63563b0000000000000000b10ef13abbaa373b874b033bb721003b7c4a733b9630013cfda5143c31721e3cc230b93bc8d1043c43ec4e3c4d4b5f3c3f158f3b552d153ce7f9463c6a65543cd13e863b3958053cae843f3c2477493ce69f5c3b2adde53b6a0d1f3ced62243c2eb8173b464fa93b1e8df53bb5b0cf3bf826863ab1c3083b668b813b8cbf7a3be562c939a511bab9f52c5a3ad86bf4394283fa3a0c57003aee725dba3473b1bc10fdbb3bda8e22bb0be0cebb744b11bd7867d23bfec32cbba23042bc31a01bbdca51cf3b103925bb40db57bc4bd519bd15bfd43bf1e79fba553467bc916e0bbde929073b1a730dbb57671bbc52fbdabcba98d33acd621bbb8fb7d1bbbc2d89bc0c0fdbba1ebd15bbc08937ba34bfd3bb0d319aba9dbfb0ba95f6d33a3414fa3a4faf71bc1e2bf0bc664b8fbc43f4903bd1dd63bdfc1c78bd4e08acbcef43123c6d339bbd566c93bd9bd09abc9a4de73b21019cbd5f0f8bbd7b5f8abcecfadd3b43698cbdd28c76bd0d137cbc7b9e943bd46069bde6c33cbd8fa8bfbb3ee3073c89e527bd4ea4f3bc074d82ba0cd3f13bb5c2b3bce8854cbc1437823be52ef33b8a554dbbb3b37a3a3220bc3bfee0983ba27bb13b7b5492bd5fa24c3f9842e53efd01663cd39b95bdb1f14a3f5cfed93e96c6983c41672abd9e8b323f6582be3e979e973c030fa3bc149f143f64109b3eb89b963c4f5e1bbca967e73e42f56d3e49225e3c9d9935bc4ae2a93ed54e1e3e0e2b123c63dc82bc21d3543e96d7ab3d3d70853b2de7bebccd29bb3de332953c68762bbbed3fb6bc255786bb9d85e7bc517f3dbd0d0af93a0000000000000000e67971bd4ccfb03a0000000000000000bc214fbd80a464bb000000000000000058fc3bbdc8d8a1bb00000000000000007b122ebdcea5ddbb00000000000000009a9d39bdce90dfbb0000000000000000f6602fbdd21581bb000000000000000009c40ebddce8f33a00000000000000004aafc2bc64b6bb3a00000000000000002cc4ba3a59a8063b2de99d3a03c03e3be81e3c3bf80fbe3bc57f043ccbbd033c7d0e513b7b63023c282e1d3cab89463c78ed873be0dd163cdbcc383cc6b55c3c7ab0153b004f963bc417ca3bc2a8053cab014e3bfa7ee13b6df5153c034f353c6251f33a06489b3b6002c13bb6fde53bdbaa333ac206183b43632c3b6e2d7e3b4eb8c2b99d3c93b81d08ed396ff3943afcc8723b3585323a563e65ba98999fbc16d3073c822eafba64c997bb052505bdee32da3be2e720bada3f1bbcb5590bbdff0e0a3c1fe03dbacb0e55bc1c930ebdebe1c73b80a1843a7aca31bc4a0ecfbc7808b33becbdceba09dc24bcb6cec8bc6c86be3a98b703bbe824c7bb04ad7dbc58b14e3ae8832fbb720adfb931b9bebbb9c6c2ba4904d9ba83ee013b6fc5b53a83320dbca9e4ffbc9b53cbbcd1589e3b42db2fbdb12f82bd7e88f1bc1f09ed3b35f270bda3d897bd0b3ddbbcc904b83ba28987bd2c789bbd6f9ecbbcba2b973bce0b47bda6655fbddacea4bc53af733ab39657bd205a5cbd3e1250bc9aa6e43b04b10dbd97ff09bdb59357bb9923ee3b128c95bcb50287bcb41b403b5489f63b54fff1ba9e4ea8399b67d53b647fa83b19b9823ba3d773bd511d203f768f1f3f99f7503cf93b67bd0a561d3f150c193f6dda7c3cc0ace5bc11ae0a3fd9d2023f9d82933c84ac7dbc471eef3eec3dd93e316f793c94b18b394d77b23eff109f3ec00a5b3cd01b17bc94538d3efff6663e74a60f3cb4bf4fbc9da22f3e522b023e570e8f3b1486b4bcd44ea43d3760233dcac5b1ba65e0b0bc187160ba9ca0d2bcd99a79bd6059813b00000000000000009e4695bd2c4b2e3b0000000000000000043268bd245c8cba0000000000000000182668bd5661b2bb0000000000000000e91c1cbd66bed3bb0000000000000000041158bd722dfdbb00000000000000006e3f40bde7f693bb0000000000000000565835bd06e3c639000000000000000041f505bd0545373b00000000000000004d3ca53a8efb233b8b86e43a2777143b0109243b8247e03b0feee43b1f76213c10d64d3b602a1d3c1a0a2b3c4c3e533c71e74e3b58a8043c5a841c3c0691803cd7506e3bc364fd3b8d7b263c333d423cbfcf4e3b4fb7c73b4248053c96dd2a3c22469f3a9483aa3b8b3ccc3bc987073cce00ed397f97623b1cb4cf3aa9c4ad3b728d8c393f41b839aa97acb86cd2883a71b19a3b38101ebaadf32a3abade9bbc41500f3cac662bbbe92982bb72d6f5bc4bfa1f3c952702bb353f04bcce9306bdd0e6ff3bed86deba817b2cbc0fb4fdbc9bb2013c661ce7b92e6637bc39bee8bc1267933b019316bb8fa406bc8d26b2bc046b343b979b36bb393aabbb28c769bc5cc4b8baa8c416bb112178ba1b6cb5bbdfc99dba3bb4d6ba2626b73a1fb7d33a34bfeebb346603bd4b5af0bc6cd8e13bc5fe1dbdeb5e95bdf37a0dbdd8733e3cb02e67bd9fa6b1bd735d09bd56b9093c14d571bd7af1acbd1c23ecbc7abbf53bad375dbdac1395bd3fbdc6bcb9f9ac3b731c3bbdbff26ebd1aaf55bc04a2153cd54d04bd137129bd7a8983bb62050c3c7e9f84bce7dfaabc25e5ac3b746a003c3da88cbac405fdbacac2d83b8fa4c13b44730f3bb3933abd10bfe63e50794c3f9b6b143c7e4533bd25ede43eafaa463f47a9543ce9ccb3bcb4cad03e83a72b3fd7596c3c09011ebc3c9eb43e9e7e0b3fbacf723c2d471fbb133d913ea28ad43e5fc7373c94e511bc53265a3eed29943ed5901f3c3ed362bc393a0d3eaaea2b3e3c2c883b61f5b0bc7c12833dd9976e3d80234abafb2ea9bc7dc8ae3ae1a6d9bccf5296bd0cd9983b00000000000000008ae2babd81569c3b000000000000000014ae97bda22e65ba00000000000000005ff285bd2a7758bb000000000000000024bf6cbd5a64d6bb000000000000000091d36ebdb93debbb0000000000000000ee0c6abd78ef71bb0000000000000000b4704cbdcd99443b00000000000000007ea211bde8ae3a3b0000000000000000605ca93921a54d3bd40d253bbfc3653b92ef113bd590c33b732ffb3ba293483c26c7293ae419f43be0640e3cc6063e3ce8b04a3b3359ef3bbbde433c798d713c9962173b7ec4d43bbafa0c3cc1ae2c3ce312de3ae0afcf3b996b063c0cf3523c7156993ab2e3913bf410c03baf17073c702f15b93cd6f73a2fa0f33a57abbd3bed05b5bad423353ab91aa2b9c1980d3b89a5913b297390ba2bbe303b9c3e89bcc1542a3c7cc78bbb74b1f8ba3ce8d5bc75631b3cd00359bad382babbc075c9bc9565303c3e15daba60bd16bc575fe8bc6a90043c3d2189b99e7022bcf530acbc7259d63b1ff139bbceafcabbcf5ba2bceb8b463bd4edceba24a0afbb643c47bce17ff9b964b74cbbab141d3a896c4fbb627f2ebb68fffbba2cb7333b38c7a03a3ce1f8bb82f51fbd52baebbc693b203ce9ee16bdb349aebde1bc1cbd662a5d3cdac237bdf893afbd3c181abd4c0bc43ba6915bbd9ad1c0bd47d90ebd3950d93b8f173dbd36a898bd2e8dd7bce02b583bf73b2fbd3e8b87bd8e748ebc56b4033c1720ecbc84b732bd90af0dbc4031c23b311752bcfa94b5bc8f70913b6fe7e73b64d2413a356d1cbb74110e3ca086ba3b808bf5383da60dbde0fd8b3e6e69793f882c043cd737eabcd2fa8d3e23b0733febbe393cfd04ebbb5927863e51b6463f5e775b3c5df646ba47bc723e4f2f293f822b6f3c699bea3ad79b443e7a70fb3e41e93a3cbc132bbb7ee9193eda16b43e5bfe0d3c5307d9bbaa75c43da80e573e38ecb93b818aa4bc4599323d7e54933df09eee3af4a8a0bcb56d3ebbe804f4bc39c6b2bd448bd13b0000000000000000f9b7d4bdb46be73b000000000000000062d481bdee6dc4390000000000000000a22b87bdef336fbb0000000000000000745150bd0e3ed4bb000000000000000055af6fbdd8e2cebb000000000000000096c44abd9b3688bb0000000000000000bac764bddbdebf3b0000000000000000743b16bdec5bc43b00000000000000008f004ab560bf1b3bd5f43a3bf324b33b2e3c883996b1e33bfbda283c17b17b3c32fb9b3a2776fa3bf58b4d3c3ffa873c2f750c3bd2d6113c5baf453c2ef7823c62037c3a1c34f73b8577283ce059653cdda2ae3a7967ec3bcc13053cabcc4b3cf8224239aceca43b2862c63b5a3c203cb90487ba5b4b193b0d110a3bbe47b83b9e8061baa67bea39feffb7baf290cc3ae92ea43ba3112cbb0b06313b1fd454bcd73d3f3cd45cf5bbc1df1fba36aea2bcecaa593c46ee86bb9451b0bbf1f4bebc12cc423c427d1cbb96ae0bbc4425c4bc4515283c45c2eaba59bc0cbc0253b1bccedfc83b11ff24bb8428e0bb6c8384bcd5e5523bf6f162bb3dac5ebb0ef81abcb6ea96bab16251bb2dfd573abcaa86bac9f4a3badbe714bbe7ef193b30224a3bd34650bcbe195ebddc5606bd131f343c0a0918bdce1ad4bd18e013bd1365893c08e843bd29e8e8bd314f29bdcc8b1e3cb86d50bd9e4ed8bd7c0c1ebdedcde43b8d4c37bd02ccb2bd9d2702bd66b9a53be2551bbd003495bdd7429ebc93c90b3c1f66d9bc52f454bd1053dcbb4e99113ccc8a28bc982ecabcad80b73b6ba5d93b87f91a3b23e35abb01d31e3cae1da73b665ce1b98ed881bcf302e03d2746943f46a7383b7a0710bcb17de43d75d28c3f5557eb3b6d50ae3b5905053eb66e6f3f078c2a3c2e5b343c1f64033e7d34413f3fef373cb000343cc9c2e83da765113f7c471a3c73ec6d3b997cb13d39becd3ed3d3fd3be9629cbbe256623d6b27703e8409a23b785763bca8f8983cb2c6a23d5513fe3afcb790bce19606bccfcb2ebd94d3abbddf60d93b0000000000000000b38dc6bd6b3eba3b0000000000000000f38a86bdc699bdb900000000000000009e7551bdcc50b6bb0000000000000000a8d32fbde20207bc0000000000000000d2a346bd5da916bc00000000000000004b4150bd1a7b8fbb00000000000000008b4241bdcdb9b93b0000000000000000d19628bd53a3b23b0000000000000000000000000000000000000000000000002c3f7e399481c03b9543ce3bc6e3523c013dd33a517ac23bbeb30e3c703a563c442cac3a6f00923bf974043cb85b423ce5f1f13ac29dc83b55a0c43bf684143c7f81a83a7a98a73b23c9ba3bbe532c3c4b9d1e399171603b25c18d3b2e820d3c88fedbb90ade1a3b6144163be43bbc3b0000000000000000000000000000000000000000000000000000000000000000a986173c77a504bb0b32bdbac27572bcfb25323ce2beb5ba61d1b4bbdcc188bc6837133cd416f73acf66b9bb789c8fbcc13a243c25637e3a35d2e4bb8e5d80bcf47ddd3b3c270f3a1ce4dfbb23ec37bcc27f483b502aacba88c91fbbd0faeabb4fb7823a68d603bb3cc90fbae87e0cbb0000000000000000000000000000000000000000000000000000000000000000f7e608bd1ee1c7bdee9728bd9715c63b517c23bd96dec8bd147d1fbdc36b1c3b5bc91ebd0872b8bd7cfa18bd175f2fbba1ae18bd1786a2bd6dd200bd18cd2cbbea7101bd1ff284bd3239c7bce7196638988dacbc03cb45bd7ec320bc5cc4523bb45528bcdef9d7bca55f2a3728eca63b000000000000000000000000000000000000000000000000000000000000803ff6645f3bf1e9603c1098dcbb40cf943f896ee53bfe239b3c08919d3cb297773f3c8d243c0175b43c2a3c0d3d7a1e493f50d6383c538ba23cedac193d83ba1a3fe3b1123c5230683cff51fc3c1dafdb3e93e4d93b0982813b50828a3cc8e5843e3a15943ba5f3a0bb4845b3b9ceb5bb3d0000000000000000000000000000000000000000000000000000000000000000184d2fbd26cc593b00000000000000004709cebc77f1b5ba0000000000000000a8db89bc2817d0bb00000000000000005c028cbc5b5fedbb0000000000000000131fbebcbec522bc00000000000000008577fcbc4b09bfbb0000000000000000fe8a1fbd94816abb0000000000000000000000000000000000000000000000000000000000000000000000000000000095062e3a6cd1593acaa2aa3b6d40da3bef295e3997c9243bbf5adb3be7ae123c459f2ab9ead9203ae307eb3b2c7d163c968a8eb9fcbb5a396057cf3bbc4e123ce2c98f3a9e11cb3abc3fc83b6841013ca183d13a28d0513b6a81c73b2df9cc3b03170b3b3417153b0158b93bfe3b763b00000000000000000000000000000000000000000000000000000000000000008b25c03b4e0e30ba80ac4cbc7a8fdbbc4b9aec3b15167aba390c77bc9667febcb453e93be34c3fba4fc87dbc17a300bdfeb6e03b0d4380393ba882bc808de6bc6817ab3b0c2b48b9192f75bc6670dcbcffce573b7db716bb1fb564bcb8ecbdbc7e16993a488e03bb2e5919bc20ec7abc0000000000000000000000000000000000000000000000000000000000000000c61244bdaf0213bd3a6447bce4b30dbb1ba850bd564312bd96135cbc9bae3bbb009b4dbde3e50dbd81df4ebcfffc4ebb1f1f36bd7e84f5bc9d194dbc80b829bb88cd1dbd622bc4bca93015bc092dbdba761cf9bcf24187bc9a841dbbdd02153bca8ea1bc3fd111bca9e4db3a72f6743b0000000000000000000000000000000000000000000000000000803f00000000f305973c370b903c3325813f3582323c91f2d93cc0fef43c4a755b3ff6f9143cd632fa3ca484133d88f1343f919be53bd238f53c69a90f3dc45d0e3fa0304e394fbcdc3c5b17f73c2c7bd13e1f28f8bb0c16a13cbe8fa23cd8a6863e766985bc8cc8223c272bb93b2b3af03d7b07c9bc00000000000000000000000000000000000000000000000000000000000000000825653b1baeb4bb0000000000000000be666dbb4d850fbc00000000000000006804eebb2f1c50bc0000000000000000831a41bcbe4b77bc00000000000000008fe076bc77eb72bc0000000000000000ca4c89bcddd157bc00000000000000001ed282bc1f5c3bbc000000000000000000000000000000000000000000000000cc849b3a2e8ab1ba153b923a8b50353b4e378b3b3a05563bb31f023cb750123cec5c583b861c3d3b1e8f103ceed7293c2bc0fd3a024d903bb6ee253ca29e3f3c6f3a053a3f195b3bdc79073c94d7283c112a133bcb71ae3b091a223cbeba283cb8d7403b8946a43bd57b043cc162e63b6e4d743bcd166b3b6f359f3bee9a273b71f1e73a48dacb3ae9501b3b84e1a039b228943bb41badb9b7dfabbbb89c77bc82c6cf3b313f25bb6c9e61bc5b9ef6bc8862113ced5bf6ba76cb8cbcd26c0ebd1ab5063ccba3edba40ca9dbc84b916bd18afed3bee959abac47790bc1dca04bdbe4cb93bd90436bb9d3d9fbc118c05bd9c933e3b8cb82ebba2ec80bc4f2dd1bcaceb44bae7ab27bb23c52cbc353b72bc6b04bfba501992ba1d5899bb3bee8fbb168ababc3b30d3bca1fe43bc5151febaa23847bd836d28bd0ae06abcb17292b953c869bd7cea34bd8d2189bc9aa445bb51656dbdbbdb2ebd677a83bcd28539bbbd7c4abd6abb12bde7c963bc2ea632bb29b13abd0795f8bc68350dbc9499523a6a170cbd7b83abbc812155bbf1694e3b4bf894bca6f20bbc11e4683bd013cd3ba213acbb47e581babeb4cb3bfd35973bcb86693b2b2832bcb08f803f249a0d3e35bb873cfe7b253bc5a26d3f6f4a013ec626dd3ca5bbc33ce35c4b3fc5f3e43d5dd7fd3c1fa50a3d1af0273f7bfcb93d88fd013d256b093dc788023f8c518b3dd356f83ce7aaee3c3d49c13ec7a6233dec01b43cd733943cc4df763eac70673c48e9fc3b44f60f3bba55dc3dae8b4bbc7d0ac9ba6048e7bb853955bc8d64d3bc470d9039b12903ba0000000000000000e3a6babb2927e9bb0000000000000000e2c200bcb4db3cbc000000000000000079ec52bcf1877dbc0000000000000000fa2277bc8ffa83bc0000000000000000dec7aebc0fad92bc0000000000000000c109b7bcf17878bc0000000000000000e0a4a1bc7d7611bc00000000000000001a6757bc7867b6bb0000000000000000f9e59c3afbc8a438107bcd3a5241183b8012d13ad632443ab07eca3bae85eb3bcebd49ba823abc393f92a53b1b96c53b1518483a1620293b82a6073c90d5513cf9c8bab8348e173b6f47ca3b1b27053ca62e073bff916d3b967d0e3c72852b3ce58c833a32b3773ac08ab83b1175be3b6218163b506c5b3be69eaa3b033d6c3b31c4dd3a19b7d23a3c9c173b89282c3a3b5f3f3bb9150fb89bfa67bb1e4948bcae96ed3bc3662fbaff7a3fbc9c9cdfbcc0cbce3b2ed89c3a4dda2cbc9e6eccbcb8b9113cd2a19eba32258dbc046a08bd93c0e03b05c1073ac7b877bc2ecce4bc5573bf3b9984d5baa58492bcfc17f5bc2df0693b3bba45ba730130bca8bdaabc87a87a3a97f00abbe5bb23bc1eb473bc09aabcba17eeadba5e7870bbb33c8ebbf00062bca343b4bcfe8e54bcc6b8beba005c19bdef5020bd4c95aabcea4227bba7bf23bdad3f1ebd37049dbceabe94bbb6c455bdac8e3bbdcb6da9bcb55485bb18d22cbd9c5f12bdc81385bc6c398bbbb2762cbda40507bd20e84ebc52454ab93e37ddbcee1babbc2e7ad0bb6fa34a3ae3da92bc7fd642bc72413c3a3a49a13b2d1a68bb421162badedf853ba0d0993b32b51c3bec718abcaa0f5b3f220e8d3ed4d57f3c99f046bb15be4d3fce30833e4452b33c9030803c088f2b3faa3b603ed666fa3c923be43c0821143f3de13a3ea2f0e93c8987e63cf0b8e43e11ac0d3e636de73c1d3ed83c36e0ac3ea0b9c33d53cd9c3cc2c7623c5f4f5d3ec9305f3d394b2b3c92c42c3b778dd13d634c1d3cdc2231b9ab82e7bb678e94bb45e2a5bc066adcbb7f7fd4ba0000000000000000aba72fbcbccae4bb000000000000000019f824bc3b8413bc00000000000000005d5c86bc11137ebc00000000000000005be78bbc86e67ebc00000000000000008bcfc8bcc01897bc0000000000000000fc6cb7bcf7b26bbc0000000000000000096accbc603d40bc0000000000000000d36e86bca859aabb0000000000000000d5e507b8735f50bada0e573a794a233af75fd43946f4873a8908bf3b23a6bc3b4ea7923a4490a93ae105cd3b00ca213c12c70b3a716d5f3b3925163ce6db193c0051b0b906f4ee3a920de93b66a7223ca3546d3a9ce2413bad99fd3b52111e3cfd01fa3ac9d1893b6094fa3bdb0c083c3aafe73afed2443b87009b3b5b53923ba440b43ab6c3d63ae091123b9cefd83a7414353b28bdf73a9fbb04bb4e7526bcf38cef3be66e2d3aa1251ebc7358b5bce40a163cca11cc39625e4fbc110ae8bcf1230e3c5671a338f04082bce9f4f8bce9aa143ca5a9e139d8fa76bc3530e7bcaa56e73b96c5ccba431382bc5791debc9418613b85e7aaba2fc66fbca870babcf794fb395bc1eeba837e1cbc56505fbcb0f5c5b9e88fb9ba6620a0bb62959dbb29f011bc0fa4a0bca6b784bc92428dbbdacefcbc937722bda71acbbc7538abbb1d0933bd0da141bdcf45d5bc027db9bbc7553cbdba5b3abdedddc5bcd39eb6bbca1b2fbdd8c728bd1ad8aabc34ebbdbbadb91ebd0b720ebd5fff63bc70b7cabae068f8bc7d93d4bc99d407bc0b999b3aa9228cbca03b5bbc32f078baaa24b13b20808abb974229bbf9b5353bbee1943b3cbb1f3b73fa65bc1e95353fa226d63e7340663cab6d3fbbff862b3f8f46c73ecf8eb93c019b6b3c9c1f163ff870ac3ec0dcf43c48fedd3c17b0fa3e37ad8d3e98aaf83cfb9aef3c3b53c63ed1d05a3e269ee23cc740cd3cdfd2943ec6861b3e9884b03c3b8a893c05ef423ed939b83d3bfb293c000b8f3b802bbb3dd058fc3cdabac43aecc7a5bbddb9d2b9ed178bbc5fb22bbcfee78fba00000000000000006aff81bc0633ccbb000000000000000082bd88bc32b33bbc0000000000000000bde5a0bc137187bc0000000000000000db42aebc92648fbc0000000000000000d438ddbc5d859bbc0000000000000000036ff3bc3b0c93bc0000000000000000ec14ebbc185253bc0000000000000000dd1ba1bcbd69e5bb0000000000000000335498ba524d5eba1b1ac939e6cfb93a9d920bba3f70cb38337f603b1c7abf3b9dcf1bb973eedcb99748633ba12c0d3c4af72cbbd5125c3a82a1f43bc937373c4c59f8badda907baedbc4d3b94a4db3b65ff79ba39cd4a3b370dfb3bcd1e263c1617893a79df313b777ab83b101ce33bfa1d003b2942133b4d979f3b13f9ca3b73e99b3adf6ebd3ae1d7153bfe3f073b3edc633b4edec33aedfdadba145f0ebc5dcaeb3b2146fd3a29fad1bb4c6599bc7ae9113c7844fa39b9db2dbc4c2bb2bc597c223c34df863aaba542bced0dd6bcbfaedf3bdd1bfe3a87ce23bcb763a4bc8499e43be2440d39b9806bbccc92cbbca9f5943b8aa0c5ba1dc444bc69899cbc02b6163b9ba306bb1dce2fbc853e41bcfd41c1b998c3afba421dbdbb2296a4bb86e0e1bb446f9dbc2de6a1bc99088fbb6aadd2bc51761fbdf111ebbceb12c7bbec380fbd608c32bd3e03eebcc190d7bb543733bda4a04cbd3a17e0bc0623efbb87dd03bdcf7512bdfe0daebc0898ecbbc8f116bda81c1abd45e896bca45428bb86f5dabc60a7d2bc788626bcacd68b3ae32b82bc2a5077bcda209fbbcf28513b352e92bb04105bbb6030183b91baa33bd5bcb53af7451bbc809c103f46e50f3ffafb533c61d4e53abf8c083f5664053fbafbac3c09f88e3cc4b6ed3ed23ae43e7e1ef03c0598dd3ce722cd3ee5bdbe3e8ca0cf3c7aaadb3c1b379d3e1395903e6c0adb3ccca9d33c0087763ec004553e90eda43c883d8a3c78e1203e8bed023e284e3f3c2476ae3b39fb9d3d1fed4f3d35fc4f3b07e747bbac28433b6e1e76bce4ca62bcce7a8aba000000000000000062d399bca08fbebb00000000000000006b4083bc0b291bbc00000000000000004a8cb1bc60606cbc0000000000000000dade8abc14776bbc000000000000000009f4ebbcdf0da2bc0000000000000000e84aedbc12e68cbc00000000000000006701f8bc6ed553bc000000000000000014b0bbbcacfafabb000000000000000069f8e0b9b3f686ba6c148339389d9e3a7ca40cba71ee083a74225b3ba661d53b1efa81ba0d46c43af543983bcd6c223cdabf9cb9ced2f93aed9cd33bea8c313cac4471ba1ae09e3a8e8ebe3b9e04293c7bf27f3a80db5d3bc8b8f63b9f2d253c992a9e3ab5724b3b5c68d43bc801123c13abd13a1240463b38229f3bead0813b2e1cbf3ada249b3a9cf9083ba164ed3acb6c5b3b5d52da3a10f66aba5c2ef7bbcc59ef3bfe40e03a76bebabb234890bc14e8223ce371003b664b16bc8b41bcbc7ae6203c0f17243a29aa3bbce731cdbc9114013c1489163be6ba59bc5d6cbbbcdc35ed3b9ba482bad74245bc620fc9bc3f06b63b6fe5bdbae5a05dbc6fb799bc6c37f93ad37cfebabd2c0abc32d452bc6adea33a5a59e9ba8d929abb47cd7abb45facdbb472d9cbc1290b2bcef2598bbff76c6bc8bdd25bd82d602bdf73bcebb7eb513bdb8264ebd3c4b0ebd439a0bbca00424bd22e651bd1974fabcf22bf1bbaf731dbdc8ad3cbdfd9ad8bcb8acdabbfb2c14bdc84622bd19e39ebc481516bb2d50e2bc8201fabc03255bbc848fa43a220f85bc6ce87cbce91676bbd832b53bf10b6abba3f581bbb17b733a97ce983b92a8b63a2269e1bbf1ddd73ec156353fb512443ca090b93bd690cd3e5762283fc2fdac3cd7b7ad3c35eab83e994b113fd35dd03cf60aea3cc0279e3e0863ef3ea5c9e43c0fa2fd3ca0987f3e8a15ba3ebb04bb3c9fdae63c88f2433ea49b873e6bf7af3cfe61963ca782033eaaf82a3e46bb553c5a3ea03bd8d87c3d9ad68e3da9ce3e3b454552bb08f7f63a4f054fbc7fa78abc9da124ba000000000000000096d0babccc87b1bb00000000000000002769a5bcbef52abc00000000000000002a9bb8bc9aa87ebc0000000000000000212ab8bc138695bc0000000000000000322afdbcd802afbc000000000000000072d409bd31c69ebc000000000000000088fc0bbd027b6bbc0000000000000000ae3cc7bcace10cbc0000000000000000e2c287b93db4f438ec37463a50d4273bece3c2b9bf64803a10be4d3bce61fc3b359abbbabc1189b610a9fe3a5147d03b3b6c2aba93bf0f3b674bd83bb8d82b3cd6e0eabae5eaec3acc22523bc28f163cc60f29b9adac803b3e3ffa3b3175343c36823b396e34e43abc4e873b39efd93b89d6bc3ae3236d3bbf109a3baa6ca63bd55e9e3ab61c0f3bbc52f73aac75f73abfcf5a3b67aeb23a46a700b962d0e8bb9fb8063c1dd2d73adc36a8bb088888bca7b6ee3bdeaa323b53abb3bb53707fbc02ee283c1939ee3a7ecf25bcec9ebfbcf940113c4de5a23a67c01bbc06dca5bcd7b1f13b25b880b954c84cbcad1db6bc446f993b03978b382c7307bc506572bc3b70b63a86e801bba66b0cbc5f2b37bc7162f9b9ae2bc8bad37d84bb11115bbb4189f0bbf16da9bc5fe1c2bc606772bb66dacebce78437bd595211bd4245e1bb60b7e5bc0dc83abd5b4503bdd6220bbc599b1fbd0ee961bd94f60abdf27d1bbcfddd0abd72bf31bd282ee5bc068407bc5a2010bd52a533bd0d96c2bcd89f1bbb213ac3bc0bfbe8bc64256ebcc89589baab6a83bc9ed68cbc1c8cb4bb461ad03b808375bb586831bb1c6ed13a7969b93b155d143ac4787fbbefcc8e3e6ab25a3f6975323c9eca233c85a68b3ea5d04b3fca44913c4569a83c49067a3e13cf283f36ddca3c81f5023d3198603e25a40f3f6223ca3cc370f93ce89f333ee766dd3e60d6d23ca344ed3c54200f3eca2ba33ec524983cbde1913cddd2b83d962b4e3e6a11493c1d9eea3ba952383d5547b13d8912143b031c59bb9c7c81b984ba61bca43ca6bc4dd374ba0000000000000000539bc4bcaf7db3bb00000000000000006a3966bc3815f3bb0000000000000000ff93a7bc5add70bc0000000000000000c05b92bc6c1182bc0000000000000000fbd5f0bc242aa3bc00000000000000009764debcd5527bbc0000000000000000128f16bd566d6dbc00000000000000000a68dabc7815edbb0000000000000000138d9eb9de64a4397c4a85ba329eeb3aac1dee3787f91c3b1395a83b9fba163c977dd7b979c9c33a74b29b3b08d63c3c8f51303ab8adf43a7fffc53b0d06443c179232babaf6d23a787ba63bf244233cf29e0b3a08235e3b0a5adb3b35ea2f3c778a8d3adbb4913bd7d1dd3b0a96043c42ce003bfaa2743b57a4933be67ab83b86a1a23a0f2e173bc4c7053bd20e193bb7445e3b9586083b6b9d2339d4b8a1bbc00a113c44b72d3a3dcd98bb99eb77bc40f62d3c86d5c53ad977eabb98459ebcba78363c68f2933a19900dbcee00b7bc90a41f3cf861ed3a77f916bc60b2a0bc5790153ce47e36bab3c634bc0625a8bcf97dad3b4eb09aba7b3640bcccaf83bc2131e93aa2af2bbbed4bf1bb3b5724bc5d8a7c372ef305bb7cd18abb25e26abb85d614bcfed0cfbc268fe1bc24cba4bb125ae4bc2f7456bdc27f1bbd758bb0bb1ea30fbd490674bd8c3d20bdf1a71cbca60221bd1ab575bdfe0a18bdc9f120bce1710ebda7f04dbd081605bda42908bcbe020cbdc0063dbda141cebcb8c585bbb517dbbcc9aa0bbdb87985bcc757553a669781bc9f3494bc64eaa9bb808ec73b0d9da1bb125084bb0fe8ab3ac6b9ce3bc35fe2395ca1ed3a4877113eda6e803f7543183c16ab793c56d1143ed9946c3f1368953c635ce83c5b3f133e3278493f1905bc3ced380e3dacfd073eb4ff253f3965c83c39a10b3de0e5e03d164b003f4b60c83cffbdfd3c2237b53d7162bc3e7d1fa33cb4fcaf3c3d946e3d55686c3e5112383cebde003c46ded33cbcdccb3d7f7d8f3b14928abadbd240bb9d4194bcd11e7ebc4c490c3a0000000000000000383e8ebca1b4aabb0000000000000000e55444bc2ac61ebc0000000000000000e40a63bc70b557bc0000000000000000dd7073bc758b83bc00000000000000004bf1bebcb8cc9fbc00000000000000007fc7f0bcc01b98bc0000000000000000f6b711bd54466abc00000000000000001a9ef5bc794517bc0000000000000000000000000000000000000000000000009c8e57baa15b5bb9032e933a301baa3b29d594bac4774d39715d1f3b8332e23bc10829ba2cc800ba5cee003b92e0eb3baf4834bb8ac9ffbabba2223b99dcf13bfe3582b9cd14b33a434c5e3b4a940d3c55acf8b86079d93a71a45c3b71c7d73b23769e3aae592d3b10fd693b2277ac3b00000000000000000000000000000000000000000000000000000000000000008124d73b5f68283bc2add3ba6cb51abc070d023ce29d213bcc6083bb44cb60bcfc11043cf9098b3b9ca497bb3c1987bc4f2aee3b2bee323b191db7bbc5e072bc18cef23bf535583a967de6bb86bf7cbc081bb83baca288392b92cfbb46114fbc1499283b258245baf14abcbb933d18bc0000000000000000000000000000000000000000000000000000000000000000da53bebc34a741bdc43c0bbd943e22bc09d9e3bc30de4fbdd57208bd50bc26bc942e00bd50854fbd13fe07bd698448bc716fedbc0ea536bd69d9e7bcd6911ebc41ede5bc065626bd65b3ccbc6465e1bbbcf6b5bc0927f7bc71e77fbc5e3b50bb762f80bccb609dbce2ca06bc56110b3b000000000000000000000000000000000000000000000000000000000000803ffe48223c5fbaac3c8b02dd3c9610813ff533883c332fec3cf492153de4975a3f9751ab3cbd8f093d9a192b3dec6b343f1056c33cebd8083d05e7223de4970d3fd945b33c4669f33c88ed0b3dc544d03e4b3f913c346db23cb03fbd3cd339843efb47503ca3c6403caaae1a3cc0c9eb3d0000000000000000000000000000000000000000000000000000000000000000013c123aff0dedba000000000000000063ea623a152ec3bb0000000000000000333d043a4c4a12bc0000000000000000a40b8dbb46e346bc000000000000000014973dbc965e7cbc0000000000000000b2119bbc0a5079bc00000000000000007044e0bc35fd78bc0000000000000000000000000000000000000000000000000000000000000000000000000000000010a9aebb9f8a3e3c46f31a3d7595143b524c2dba01f44c3ce5b9143de32e9e3b231638ba1fc97f3c5bedf23cbfa9e23b11124b3a00053f3c4be6ad3c04d8d83b0cacae3ad600193c2c298a3c9b43073b9146ba3ade35ad3bdb70173cb1551a3b227471396d9acc3a944b513b0adf0cbb000000000000000000000000000000000000000000000000000000000000000089ca9cbb366f04bb0be7a23b40bc65bcd6d26dbb5a55fcba67d4eebaa0f7c5bc50799abab3a2ecbacc0384bb386310bddf9a11ba0f7cc8baa5dda7bb85cd08bd9eb1e23aae36c5bac0b6edbb0b12d8bcd8912a398cafefb96608debbc2357abc4714553b3bd8b3ba06f398bbcedd8dbb0000000000000000000000000000000000000000000000000000000000000000613852be3c13103c944cd43bb29e063bcb0147be9beb313adafaae3bfab3b13a692f31be5d2c4abc0a67ad3b825d153b5f130bbedd8e1cbc29f0683b256e063a7e67c8bde038efbbdb67dc38420f7239be8f5dbdc195a5bb5e8f10b900d11e3a67ee2cbcd6c1d2ba601db6b93e6633ba0000000000000000000000000000000000000000000000000000803f0000000082189a3c8e21dcbd0cffac3fc22b00be0199843c7b6b5cbdb2728e3f30c2aabd75b3823cb0c7bbbcbc5e6a3f61f283bd8133443c889d14bb3a4f2e3fc40949bd9055573cd2620e3cb442e33e530305bd2de3373c87256e3c1a0d613e6d3e28bc940adb3b6db3293c9384243ccb5d1f3a00000000000000000000000000000000000000000000000000000000000000008a355e3cbd5ac4bb00000000000000002a02cf3bd6fea0bb0000000000000000b01b793b53de86bb00000000000000001057903ae65e51bb000000000000000048f13c3be5a0d6ba00000000000000009082743ad7538aba000000000000000020aedd3a0285413a000000000000000000000000000000000000000000000000aa23fbbb6dcbb63b0b87a23ca092a7ba38e211bcccd41e3c20fa1a3d6bdcf7bacdddadbb1ec3773c23a3223d421fb63bd206e3ba9d627e3c66ee0a3d33590d3cfc241b3ad152633c7a19d83c1203dc3be6c8263a658e423c702f933cdc81dd3b6feed1ba2526ff3baf4a3d3c8cb5793a04ebdc3aadc0313b1c6af63a9ca7de3a4779a0bac47409bbc630faba986927bbf1864fbbd91294b952333d3c2d2293bb227facbbb812adbadf15fd3b0206873a12475dbb8a2135bbecf5943b59e6b2bcae9525bb732d60bba22696393828efbc04b7013ad5f045bb587281bb8911fcbc71959a3911fb5cbb9e10d9bbba4bc4bca58e8e3bb7e651bbe833cbbbd82067bc5658373b2016f3bae6870fbcfa44cebb38c52f3b282ca5ba640b87bb65e7ee3bc0a4e6bd089ba53bb116d33a653ff83a6efc3dbebe7d7d3c17b1b43a74844e3bfb6d4fbe504b18bc2ba4e63b54ee003ba7693bbe2edc82bc6217bf3b0b4ca73a23b914bea89e96bc81f5ef3a835a2b3b9bdfd3bd18d085bc68b2243ba73a203b03ae66bd2ac72ebc50d691ba7962b23ada1035bc98ef35bcd13f9cba4627923a8ab7903c16b0dd3a06e68aba98478c36639b243deed05bbe0e3aac3f8eb4913cec622c3d84ec45beda609f3f26d8103c2520023d56a60ebe7c8f8f3f0f713a3cbdd8d63c1dc9c0bd05a26a3fb61f493c3db0bb3cdbcf64bdb7e22e3f1cfc853cb92ea83c530102bd3044e63ea7bb5e3ca3468e3c0c0c42bc1ac0623ec8da713ca9d6673c21dce53b8958f53c27f7ec3c0bb8153cce05f5bb17bed6bdf3fb983a610da5bc4e505c3b0000000000000000c5d1b0bce301213b0000000000000000398ea9bc841538ba0000000000000000c37ba2bce62a613a0000000000000000134689bcdee7efb8000000000000000079161ebc84f953bb00000000000000005dc7fabbdb36fe390000000000000000da181ebc1def3a3a0000000000000000563a1f3944016b3a00000000000000009c88e6bb88e2bd3b4517413c7bdb9e3a4d2f00bc1e04333ca599e03c6fce023cfca96cbbfa72693c7987f33c4bc7553c0591b3ba00c07a3c9306e33caba5443cb709933800ff553ccec09e3c3b04213ca2007b391e70363cb4ad813cab20eb3b6fea593a2562aa3bc26e0d3c9fb47e3bebbdfbb91257533b1dbccd3a412f693a7edc9eba987fc339f42308bb739f14bb55a12bbb3b41c6baab5f543c7fb025bc9d1f27bb2e2365bb8b352f3c60d162bc48e06ebbf9dc4ebbc590bf3b47dcdebc6b3c14ba599168bbe354a23ad04fe8bc4216df3a319a11bb179006bb3971f2bc5eede13af2c634bb7e89a7bbaddab4bcee09f63ad86d38bb76d093bbbba844bce7295c3bbca005bb58b6cbbbeaf834bb20de3b3b7b8bebba9d9872bb0b3ed43b237184bd685800bc3bade8b93062563b4ccf17bed72dc7bc2e7ca03bc1be4c3b57b526be18492cbddedd033cc60a0b3ba12723becae520bd395b7e3b5a79783be74cf9bd907a13bdb409073b7b15803a8788bfbd5ba1d9bc5e19653a1c89df3a52a254bdec2070bc7fb66239329a433a3b8481bce7cccfbbf9d4b9bac52ca73878f1163c0c9f993b11df31bb33dc5f3aa9de233dbb415ebe15588f3ff6cb6b3e4e09473d8b2060beb78c903f000d4f3e27fd153dcac125be46d97f3f2867373e893c093dc1ee00be7702563f4c54113e2c37da3c58c0a1bd718b1f3fb02dde3dcb6cd53c61e76bbd25cfd83ec90a963d72fbb03c627c0fbde31b653e267d1b3d78767f3c7f4a7ebc6baa4d3dd7a0903c984c483c2f8e73bc7dfb69bd6fea4bbc709d8bbd1a2b613c0000000000000000680194bd3774643c0000000000000000e7f57dbde5c21d3c00000000000000001c9250bd7584bc3b0000000000000000d02b1dbd5aff8b3b000000000000000030b5f0bc5268533b000000000000000073b49cbcda31713b0000000000000000b32529bcacbd113b0000000000000000681bdfba1e0d0a3b00000000000000004ae3a3bbb4ca8b3b3f9ee03bcca3c93bc38abbbbc7a7313c3196af3c164b5c3cb4d16fbbb296583c08afd93c70e28e3cfe5dfcb96804663c8913b73c6a188d3c325aabba94ce6a3c855b943c4d73583cb30791b9d10a253cd70c683cd2011e3cfeeba7ba7cbde13b5399003c2cb1953b407358380fc6403b91847a3a2894313bad28cbba7807d5396a861dbb3afa09bb3493cfba22b4f9ba6e114f3c316a9bbc6cb453bb1c2e99bbf439323cc82c9bbcbfa992ba90da8ebb2b34db3ba3e2cebcd6c58eb95cd98abbcb559c3aad94efbc6a15233b78ff8cbb9ca112395deeedbc9063253b84a945bb2c005fbb20e5a1bc3295153b670ae5ba007a8dbb4e9325bc58f70b3b142b1dbb9e5cb7bbe1e539bba0ba423b845a3cbb2e43d0ba7724ce3b01812fbde32eefbc553b23b97fec773be320eabde3eb6bbd0b4b163c5fea7e3b6daa0ebe393690bd68020c3c73b2543bccf805be73f586bd5eb5b13bc4c3f33a506be3bd2d446abdab756b3b7d334e3bfab5a7bdade51cbd0fb6ab3993cbff3945dc4ebde8aab2bc7dd03aba762de639281385bc9476d8bb519d66baf17484b840e4ad3bc0680d3c0eb0afbad20fbf392be71f3df8884abee0616e3fb277ec3e24003a3d211355bea8c16e3fa479dc3eac871a3de27028be8a62583f0f85be3e586a063d3fb6fbbdcc20343f4624983e2b49f23c799fbbbd5a2f0c3f0a31613edfffcb3c92c380bdda67be3e56a5123e940cb93c278f2cbdc84a543e6af7933d1739993c4722c7bce895753dcc596b3ccb343e3c1a8dc4bc553d0dbdb77f05bdd15ff7bddd8bbf3c0000000000000000b94202bee32ccc3c000000000000000011bcd9bd939b893c00000000000000009b95aebd8a0f6d3c000000000000000039778abdff6b2b3c0000000000000000ccad3cbd58f3013c000000000000000027ece3bcc086c93b000000000000000096a42cbc08534a3b0000000000000000c6a885bb539d9a3b0000000000000000533c82bb53c28b3ba440b63b2bcf0d3c910791bb5f6e0e3c094f753c895bad3c84c10abb2431333c6766a43cbc2aa93c457022bb585c603c2b4d9e3ceaa0a43c4aebb43a60f8213cbc1e4f3c77bc643c735c05baa950373c4050283c528d363c4301b8b9a135da3b7490c33bb61ac23b3270cdba85129d3ba91afd39aeb1b13a4d5452ba1d2cedb9aad21cbba2ec6dbac4f852baee3575bb42f94e3c19f394bcde95d3ba0a79c8bbe7abe43b81bd93bcabeeee3a4d9aa5bbd3e4ab3b8158cebc8685233b09eba7bba122363b4cd1c8bcbd1d413b446221bb0f6825bbbed1d8bc67a8613b052044bb50fa46bb1e71a2bcc0530a3bd15b71bb6c565cbbecac38bc583db43a0a8a03bb70981cbbcced4bbba0020a3b088f49bbb9650bbbeaa6673b36d4d6bc7a4145bd0077e2b7b34bd93b3c9ba3bd3ffebfbd9d3b473c9ab6913b48b7d3bdff7bcdbda8df9b3bca3c923beafadebda0d8c4bde082c73b3899a23bef7fa1bda9438ebd9f3303bbb612f33ae25592bd7ab75ebdc203f03ad60d1e3afab922bd5178e0bc7b20ef3a69ed4b3a50bd8abc6cd491bb64a6633844faefba1925893b7fbf203cac463e3a55a1a8b9a407e43cfa0e28be9f3d333f2965323f79b5203d50fb2ebe5295343f184e2b3f2374e73c2b1f05beb3ae243fca29133fe782ea3cd023e0bd3e610e3fbe3bed3ece89ab3c096a84bd5f83d53e5b1daa3ea56bc13c91e375bd3970a03e658d5e3eb20b973c072621bddc88363e88e5cf3da741813c624be0bc84ad873dcfb3373c7d02303c1d92b9bc35089fbcff3042bd011426bec174fa3c0000000000000000e50c33be2f99063d000000000000000049230fbe0b55b93c0000000000000000ef8bf2bda48a973c0000000000000000d3589dbd56bc293c000000000000000036257ebd73082c3c0000000000000000fe8111bd64ae053c00000000000000003e2c55bcbf38bd3b0000000000000000dff34cbb7692bf3b000000000000000030c053bb4059583bbe01113be7025d3c229447bbf54cc43b87c5533cbe0dc43c689b1bbb9b58213c18f0983cedd8e63c20c9bebaad683e3cd14f893c553bca3c825dfcb9d9f13a3c49ee6b3ce4949a3cf78f8dba4faf273c318c2a3cc051743c2086283a2dfbf03b59cc953bff62053c85549bb8bd02563b88aab639911c903ba80869ba42246d3a8eee59bb6480cebafd6a2aba454aa5bbda4c113cabea8abc437ea6ba24efdbbb4d1cdc3bd0eb6bbcda87c43a5604fdbb60262f3b3cbe93bce4fd203b713fa0bb518e753ac5a6b0bc739f183b430568bbb9864fba7567a7bc842ed93aa0b161bb33e42ebbe1de8bbc8268eb3a32d40cbb8eff6dbb3bc539bca92e82b81af5f3baa99183bbaaa676bb7939bc3ae41f9cbaec53fcb9a5c7733be09912bc5ad48abd951de33a4e0bee3b5e8765bd9d20febd80ae783ce1caca3b9ffba6bdc68a0dbee768443cfa1ecb3bb189aabd6e44fbbd03237c3b59868c3b80ab9cbd714ccbbd38448f3b0015713b20086fbd61e689bd174e9e3accbf983abdf71cbd4b130ebd3b64993a18c6efba2cf670bc81600fbc864c10b9719152badb2e3d3b6e334a3c8a76ad3af4c924bbaa4fbf3c051ff7bd8aefed3ed9d86c3f88f7ec3cac0400be55cbef3e7fc2663f2f4ac43c4279cfbdd73ce33ed04d483ffafeb93c33e7a2bdfa26c73ecd851f3ff280a43cad047fbd382ba43e23f4ea3e246f923c724a3cbd25ba713eaf9e933ebd6d893c72b109bd300f183e9600093eb94c563c56b4b1bc59b27f3dcf4f4d3cdfb6043ca5ada4bcc417d6bbacac88bdefdf48be118c133d000000000000000088dd5cbef31e293d000000000000000073bc36be93a8e93c00000000000000002bcb0dbe56d4bc3c0000000000000000ed5cdebd83c1893c000000000000000021a890bd5895603c000000000000000056931fbd23d2163c000000000000000056550bbc0fa59f3b000000000000000010f25ebb33fda43b0000000000000000dd99a1baf1cc0a3a43b234b63103853c9abf33bb13e44d3b20a5273cd783053dba4542bbc209d93b249e823cb35c023d24b7b2ba3ebb033cee2e843c5ca7f63c26e68cbaab95213c03e24d3cdd3f9e3c2bce73ba3785013c49a32c3c9860903c52403ebacb58a73babeb9c3bcbad233c014a29ba0019043b4705243be021083b914741bad499d6b865b90dbbfb73f7b9c38028bb8435b4bb930caa3b2d6b18bc897fabba3a1001bc62c2343b565902bcbcca313bc963e6bb9fa85b3bb86458bcd1e9323b1f69cbbb9bcc673866b678bc093fad3b5e0f3ebb4e95d8b9eb3a91bc3728003b695c75bb70ab2abbc21a5fbc63e87139a00301bb25ab94baac7828bc187e353af5ac79bab5c59eba351887bb1cca76ba262483ba44e0d4394265bd3ac8744a3bb4ceaebd93616b3c9e017c3bf3aa02bdb78523befbd6b13c1750423b9cfc70bd52c428be97e53b3cf59f8c3b9dea83bdfa1b1cbe846c063c6405833b50016cbdb045eabd9f3d86ba50e4013bc11f4abd89c0a9bd98781d3b3b2f503a427ef4bcd7a231bd8544083b315cbdba7ac985bc2dd98ebb23991dbb762e1cbb91720b3ac9996b3cb8915bb984980dbbb40e6a3ca21192bdf2d9703eeb078f3fae34943c433992bdf6e2733e25778d3f4895813c579b6cbd2f207b3e76ca733f691a723c43473dbd597e673e3f87463fdd14523cbbdc07bde18e473e9d270f3fdcfe7b3c50a2f5bcd84e203ebcbbb73e4822333c761ba2bc7a3fd33ded6c2d3e420f003c539568bc7e3a6a3d8439cd3babf5a23b66f93ebc8e489b3b2409a2bd5b205cbe301a283d00000000000000002e9a6ebe6932413d00000000000000002ac93bbe092cf73c000000000000000026631abe4f4dbe3c0000000000000000d91bd4bd2bc27b3c000000000000000090e895bdb0324f3c00000000000000001e8b1dbd7582233c0000000000000000b94c45bbd6915c3b0000000000000000f1f1003c50d3973b0000000000000000fc8b2bba87761cbb7ececf3855fdca3cd04ab5baeab497ba60baee3b04242b3d142547ba87def93aacb7813cacec263dbb8ed6ba8446b83b00a9823cd1ac0d3d204976baeb81c13b43276d3c7ec1d93c8fdc38baba18be3b5f7d383c5a9e973cd4a4adbada6fbd3b3db59e3b7c4f393c0b0f17baf43b403b835f333bd2bf383b1b95f0b9c870fd39c24c72bb57ea14bb31ed4cbbc7b1c4bb7b65263b3e5625baea8cc0bb1b741abc3bf91ebad39cb3b9659b3e3affbbeabb9b1833ba310ea1bb6d9a8c3b140eebbb9b1564bb160498bb3104ef3a39e353bb4d528dbab77f48bc5c3a203bae53f0badc470ebb94622fbc0ce7173a17ea4bba0ef97dbacefa17bc7f45333a2cbc2dba0daf94b91c21dcbbfeb46eba00875fb99c43303ac7ebb3395496c23bf0a300bece68893c5f79643bbbf2ecbb06b445be086c203d248a953ae4cb15bd1b9651be085c933cc9576c3b8bbb46bdb07038beb3c0053cc106a53b007439bdcf6e0ebec4565b3b5436ed39b6581cbdadc7c8bd0ea5b83a52c1abba3f42cabceb0e4cbdacd800ba6c9ee8ba1a6378bc67a2a8bbda28f5bb1020e7ba15963a3b6900b43c3452203a56c82abb8fe38e3bcec0b5bcf550973c78f7ab3f3047f13bccbba1bcb3da1f3d0cfd9d3f2bedae3b834a98bcdc1c8c3dbb7b8c3f3713363c39df9abc2c3ead3d0c33623f302ccb3b4502ebbb13b9af3df11c253fd7dcdf3b3e6bf1bb421fa43d0ce6d23e8cc5e13b5ef0a9bb562f833df2f4403ee2953a3b585b68ba406e403dadf3f63b8b4d913a26ec77bbb4ea933bd9def5bdbce35abe1837253d0000000000000000ff9f58be3af4193d0000000000000000711e30be48b7d43c000000000000000059b208be617d8c3c0000000000000000b5b0c1bd0ebf593c0000000000000000c76670bd8f79173c00000000000000005f77c2bcbab85f3b00000000000000009f53923cdd7f34bb0000000000000000b27e4b3c498c903a000000000000000000000000000000000000000000000000ae2724bae30b60ba0b3a173cd279203dad820fbb958b2a3bff56653cee63113d65fd90b966eba43b37a56b3c5678e73cdf08b2bad63be03b70a02f3c46abb93c6a040bbae5c1883bd3b50e3cc27e8c3c5397c3b9f8c2733bd9fdb33b82ee113c540498ba14fa263bcc20d23a84c5f83a0000000000000000000000000000000000000000000000000000000000000000b2891e3b3303e2bbaefa42ba336b803b7446583b424ec3bbb10da7bacbe7643a334ad83b374a29bb0cb803bae9bdcbbba33ecf3b407310bb943bb7ba3699fabb9c63133bfa5e0fba00ab41bb1b0ec9bb9998c53af9118cb98f05a1b8895cb9bbf13f19ba7667e7397435743aec4490bb00000000000000000000000000000000000000000000000000000000000000000ad86bbc7a2152be6cbf4d3c19f1543b171ffcbc3ea342be545e913b9ccf3f3bf02c21bd2f0d2dbe4ef4fdbbef47203b9ea916bd059f08be35c417bc2cee263a8afce4bc9832c4bd4374c1bbd2de60ba455d99bc30e053bd182284bbbcac13bb1668fcbb680209bcc87bcbb9d3c228bb000000000000000000000000000000000000000000000000000000000000803f4ad982bb27f17f3c2942cebda1cfac3f0e0cb5b9b5562a3c274034bde70b8e3f4d75aaba056b523c73313ebcb253683f79dd133bf23c273c8886bb3b76cb2c3f93671c3b816e1a3ca5ba623ccfb1e03efde4bf3a5fef0d3cd56a903c217b5d3e794f223a0704e33bd9264d3cfcdef73b00000000000000000000000000000000000000000000000000000000000000006cf306be7c18873c00000000000000003550b4bd3dc8d63b00000000000000005c8f89bda6483c3b0000000000000000a28846bd2b102a3b0000000000000000d92802bd46513a3a0000000000000000946f06bc98d8333800000000000000000bde053bb6e752390000000000000000000000000000000000000000000000000000000000000000000000000000000085de3c3ad7fc943c8382db3ceefe023a1287a73b5787ab3cba93c83c111e043bbef0093c6520a73cb7c6b83cfae46b3bed8d1c3cead78b3cebb6873c1015143b2cd0f43be584563cb829513c2edb6fb82534923bd0f4fd3b551e033c3a549bba2b64ec3ad7d62b3b2319033bf9eeefba0000000000000000000000000000000000000000000000000000000000000000afccfbbbafa9a3ba8c33adbab94d21bd6aeb09bc3a6e14bb91f455bcca4e60bd2b67d2bbd8f400bbe433b7bcd32f83bdcedf96bbdbc6d8baed69c3bc853574bdbd5c33bba68a86ba9c3bafbc2a3237bd60cb78ba22266fbadf637bbc4e7ae4bc49a2dd39ebcc92393e0c04bc765be9bb0000000000000000000000000000000000000000000000000000000000000000d0ef2ebe86c4cf3a51d78c3c837d0c3b6a6c22be59178d3a71b39f3c630b6e3bad2110be8c7295bbd838833c3a3a1d3b2348e3bd2c2dbaba5b12463c9e9e423b9688a8bd9469983baad0fb3bfc53013a717d40bd1f71d03b4737f93a553c553a50434bbc4565e13bb27a2dbbb3a908b90000000000000000000000000000000000000000000000000000803f000000009419913c46e39ebd0cb1a93fb12af9bdb739bc3cb3b916bc1d908b3f55cacdbd9198e83c4b89053d53ff613fa8b5acbdc2fcf43c4a7a3a3d66f5283faa389fbdc2bfe43c9d022f3d0e1be13e87d28cbd38f4c33cfd6e093df16c6b3e0ce843bddd0a6c3c7e433a3c61fee43c4996ebbc000000000000000000000000000000000000000000000000000000000000000065f54f3ac662f3bb00000000000000003ed93bbc9fc30bbc0000000000000000625383bc64a50cbc0000000000000000925d82bc66d1dfbb0000000000000000e4f72dbc78f172bb0000000000000000f67205bbda5dbfba0000000000000000fbda033ccb8f11ba0000000000000000000000000000000000000000000000008d82a1bba22f043ccaa1643c9682adbab2b1a1bbd4bb933cb5a9e03c346452bbe1bd573b4c54bf3c0c1cea3ca44d9d3af509d23bacbdc33cd3f5cf3cf0a8203b758a083cddfe9b3c204e993cd40d4b3b8878c13b2306893c39d95f3c6f1d7b3a310d923bac5b243c6c49fa3b756da4393d18043be5dd8a3b5837ff3a4ad872ba43915cba0d56c8ba589d17bb9ed07aba0f8c9bbbea311e3a18fb463c5aaa6cbcee2b13bc3f86ebb83c6a073ca297e1bccc9500bc1d4b25bb481bd4bb5fcb5cbdb207eebba02a37bb67ac6bbc628f7fbd638da7bb25cd02bbc947a7bca33869bde61c69bb04c2e0ba3a0b9dbc37803abd15cd96bae91c9dbab91583bc172ed8bce457f63ae6072bba658848bce61302bc8b0bd83ada3d44382a6761bac666113c2fddc1bd879df1bbde2d2a3c8b9d613af41f26bedb7b403c5f3d8d3c2bd2cb39a7d631bee7f08bbbbf5fa13c3aa6433bb27c1dbec6d20cbc31209b3ce0b6893bcb6df6bdc471fabbf53f753c6df80e3bb3fab6bd7d28fd3853f40e3c288e003b7a2355bd2c395f3b169e133b7a35a83a9d0368bc2943413af196b0bbc2bc0b3b3c8e363c3968ac3bb515bfbb327279b9f41dcf3c6a8545bef848a93f5a740c3d6b5f0f3d79a032be1e67a13ff87e36bc93e0f73c91d3b8bd26908d3f7f440dbc8b40f73cb26b0dbd5459653ff7a066bc7d6d023db518693b3a342a3f67b7a4bc1a3c043d5f29553cb896e43ea541eebc74fdde3c48cc5d3c75ed6b3eb84bd0bc601cb93c7a26193c72d3353dce7a5cbb50f6023c6a5474bc9700b3bd36746cbc256ecabcb311e83a0000000000000000cd4603bd05d5103800000000000000008eb312bd499d37bb000000000000000062401abdf44698bb0000000000000000ff1306bdfff181bb0000000000000000da56acbcc68b1bbb0000000000000000b16326bcd60d0cb90000000000000000a1be2a3bc4d5f2ba00000000000000003aa0313cd7b8e93a000000000000000026fba3bb4c16d33b9eed1c3c328276392d3646bbee948c3ce56fad3c250b8d3b7e77483b58f0ae3c7186be3cd17be73bb84bc03b4f56bc3c7f01b33cc6c0c53b01f3cb3b92959c3c0cbe883cd7e7a43b7a11b43be14e803c5110563ca9872c3bdd3d873bc11b1f3ce86ce03b5f2d8b39c3d7993a864f9c3b5316db3a6912bb387bc568ba284301bb4c4bf4ba870c85bac6235ebb990464ba67495d3c644f80bc6928f0bbb823d8ba91d9ef3b70850abd7900e8bbfd8d65bb3ae4c4bbd5875cbd3859bbbb924181bba27150bc3ece70bd4a7571bb49d329bbe94f8abc32b162bd1b174fbb58bfc6ba282891bca1d62fbd37d8fdbab87865ba817a5abca861d5bce12d433afc7562ba2e8724bc2b85c6bbe479443b12944fba016e16bbdedf0c3cc53766bd47fe8cbcba90073c9aecf03acff906bef812ddbc92cfa13c42e50e3b210b10beeaa214bd6b8ea13cce68c83bcc640ebe00cffebc9d22b23cd1688d3bdb67dabd064abcbc07d0473c664a6e3bad8eabbd341655bc7d96443c5435e139579249bdee693bbbb757b23b06b9b83a927c90bc163e383a9bbdb4b94e238cb93b01133cc2c8803b228098bbc60d75ba9a95e33c5dff4cbe8ed28d3f2e20793ea3b9213d6c5a45bece61903f6257493e5e34063dc36bcfbd3c77783fa2c92c3e215f103d1c7d88bd1f7f533f5eb3e63d6e380a3d3c3fabbcf0e61c3f962a973d2fea033ddd6c36bcff24dc3e5b1af23c9214e23c8877d8bbb613743e5a5fe3b9fe35be3c8c9e16bcd06f863d2e3a67bc8d5d433caf6c8ebc096848bd76dfdbbcbadc90bdbb112a3c000000000000000067a2abbd6f0f093c0000000000000000488297bdee9790ba0000000000000000396a8ebd0f8321b90000000000000000104860bd14faf0ba0000000000000000f34529bd176f153b0000000000000000bb9dcabc964afa3a000000000000000051dd8dbbf403053b00000000000000001cfc133c97e05d3b0000000000000000f87551bb2e0ab73b5e3add3bf2fb8e3b61974dbb81f5893c95729a3c8393033c804a193b5574a53ca3d9c23c28ed263cb5b8723bfac5b83c023db13c6c61113c333ad93b0ffd973cd0ef8b3cbdbbf33b80ff9e3bb9f6713cdca45e3c8272533bf80a873b2c57163ca373db3ba430503b49e1733a5cd5a23b90eec63a24f285b99703b9b9758d0ebbea7dc0ba88bde3b9e2d628bb537208bb0158533cc784b5bcb7a2c1bba96072bb4956033cb0d910bd36f5e7bb5043a2bb75b50ebb26874abd24f3b6bb970285bb09e828bcc94a68bdef8c8cbbac403cbb670d82bc629552bd549813bb1e7536bb4c6774bc489e20bd1a0912bbdf417fbae6d86cbcdd00c0bc9aff573931dab7b9d42d15bcc1c4bcbb331e23bab5174b3adc2412b98a92063c52be1ebdd66b1dbdb52ed63bd573b73b9d00dabdc25568bd168db73cd0b9913b2e5906be552f76bd37edc33c5a1eed3b83e2fcbdb52954bdcfd6a13cb8e9ca3bf341d5bd8d7f2abd0f678f3cea908c3be2309fbd2811cdbc70bb5b3cb440db3a76a440bd16521cbc3865c63bc2ae1039600a96bc4c6804ba9ea3053b1ae7d1bab813823b6ddd043cf38c2cba893717bb7ebdb93c390637bec7406b3f85a7ef3e0ac8103d9b0639be3fe06f3f7ae2d73efdaa003d633df1bd6e7d593f378db03e533a083d8b2b8dbd0014363f03c0853ef46f093d6de914bddf080e3f4ec5363e8520003dfca1a8bc7671c63e656fcb3d2abefc3cd25b88bc4e8f633eb168093da6e7bb3c6a0d85bc8ce49b3dc90948bc4c1f293caa13d7bc247de2bcb5d535bd816be8bd62bd793c00000000000000004bf308be0058743c000000000000000047ebf4bda20bfe3b0000000000000000a7b8cfbd20a44f3b0000000000000000c3bbacbd2d43183b0000000000000000a5aa82bd07ed9c3b0000000000000000be391cbdbb11d23b00000000000000008f1c2cbc349e963b0000000000000000934d153a99e2083c0000000000000000994c63bb87dcac3b0844cd3b9f93b33b5e44ccbad0296e3ca449863c98663e3c8816bc3a0de7993cf027ab3ca052443ce3b7a73bfec9a93c2513ab3cf172413ce07eb83b2cce6c3c31bc653c82e8163c69709d3b3b9c6b3c9fc9483cde0cc53ba1bd753b88d60b3cde88a43b22b5813b3895d63a86d8693b77c1953adc04963a65d253ba1907adbabd3307bb406f20ba31c1a3ba289561bb00e54d3c5e49b6bcddd398bb92ccb8bb8c4cf83bc2860ebd57dc46bb11ebb8bb5bce1dbb26933fbd295689bbcdafa4bb9f3d1cbc031959bdf2fc19bbe58526bbbac574bc118f3bbd306028bb2e1229bbe93263bceed21ebde45b02bb74819bbac87f40bc3f0ea8bc929aad38046322ba37b218bc0b5093bbc8aa513a50fc183ae26fcd39d46dbf3b8d28cdbcedf751bdab83983b6b97fe3bf677b0bd8886a4bdf03eaa3cb0970b3ca302debd5836a9bd004aa33cf1ef023c63b9e1bdea1399bd073fa63c6e54f33b8680a8bd224e5bbd61e0133c668ec83ba53095bd877b19bd468f793c02d01d3bce1536bdd65789bc4748183cac800439cc318ebc2f44edba01cf723b95da4bbb1a15c23b882d043c3047cc3910b7abbb8e1d933c83991abe5fb9333fa13b313ff589dc3cf00a14be4cc0383f8c79263f6a32cf3c54cfb8bd46a9293fdac2093ff099eb3cab2371bd3988143f3722d63ece64dd3c05ee88bc14d4de3e391c953ef514f23c76dbb0bc44fbab3e5e49343e092ed13c735f68bcb595483efd11953de485ae3cc54882bc25e7983db71ef3bb8482273c1b38d3bcb85d8cbc43d763bdbb3a19be7fcb9b3c0000000000000000450636be3101a73c0000000000000000313517be80ce113c00000000000000009a5408bebc30c63b0000000000000000601dbbbd67591dbb00000000000000001993aabd982cbc3b0000000000000000abc54cbd5d23dc3b000000000000000098c897bc2110063c000000000000000089829aba80ae3c3c0000000000000000f31385bbb321c03b2f607a3b9195113ce79c30bbc301443c9945863cdd66703cca483d3af6258f3cffa6af3cfb508e3c0e8f2a3b40e28f3c7764a93c90a2823c0b3e9b3b713c9b3cce87813c39502f3cb452943bd0655e3cdb523d3cd916093c05234d3b8aff073c2145043c7723a03bd4d9de3a6829633b04afe83a8853943a2e7535bad47087ba45cc37bb84e4eeb984a1cfbaf0fb67bbb8263f3c6adf8cbc3ff57fbb5892d1bba621cb3b397bcdbcca7b8fbbbe0ee3bb5dfb95ba18451fbdfa898abb47c6bcbb4a0df8bbe8f237bd6db909bb13c98fbbc8ae41bc89c135bd27c575bbcffc08bb45af61bc729206bd562914bb4a03adba4e6e39bcfe46abbc0da4d7ba5453483a9380f4bb84519abbe668dab73728dd395ab620ba71cfb73b7d0498bca3da82bdc8ad7b3b7bf6053cd57391bdc15cd7bd16d2be3c9d32163ccad6c8bd798ce6bd9a39c63c72d42b3ca0d2c9bdd0d5c1bd98609d3c1980203ca350aebded0098bdf7e58a3cdff4c43b8da489bd41e044bde6a9743c00e40e3b9bc62bbd67edd0bc4451333c659bddba42a090bc64f39cbb7e19cf3b1824a3bb80bca93b7f4d0a3c897eea3a4b4f77bb92f8443c4d57ecbdadabf53ebc0e693f9c8db73c9040e4bd76fefe3e51bb5f3f9415a43cd7fc93bd185ff83e4f633d3fb4cabc3c108a25bdc86edd3e77b3123f47b1c83cac13b2bc01b6b73e6291d03e2c20d03c7eec75bcd878893ee479803e386dbe3c167b4cbc39ba2b3ed032e53d97338e3c4ad043bc39fb883da88e0d3bc364113c2750b5bce6bf05bc000885bd6b9c37be3eafce3c0000000000000000f1325dbe5328df3c000000000000000032ad3ebe97c0653c0000000000000000d7151fbec9b6123c0000000000000000c4d5ffbdd814a93b0000000000000000d0eabfbd59f8ee3b0000000000000000922d70bd22cf123c000000000000000070239fbcd83c193c000000000000000075488cbbf7043a3c000000000000000025a809bb3e051b3b9c3c6c3b85c1213cd2c33bbbf2dc283cfaf7813c24db9e3c8732e73abd78673cf6ffa73c48089b3cbf860d3b318c8a3c3ffdb53c5b498d3c0ea93a3bd16b763c0aa8883cbc793e3c2392653ba921483c4b0d5a3c357f1c3cbfb3303b2f88093cf883cd3b975eab3ba568413adaac7f3be7dd083b1cd20d3bdfb07bb9dbbd45bac69533bbd1029cb9b9ed16bbc26d92bbfb7e033c68680cbc0ade43bb5c4705bc719c8f3b702090bc4b8c18bb592105bc47ac23bbe69306bd7cb607bb7780e8bbda18aebb3d2c1abdf3d89dbaaef48bbb060a27bcac2b16bddfaa1dbb099c16bbd4a539bccd44ebbc286cf7bab188e7ba914d10bc82b19ebcd8a2b5ba35057239e1f5d9bb1151c1bb123db8b929b4963a234e30ba10ac9b3be2e92bbce7af95bd518d303caa76003cc42968bd69da08bed879e23c8b68073c4aa4a5bd6e2203be26468a3ca1105a3ccfcfb6bd902af4bd5085a23c48cb2e3c8ddc9dbd1763aabde0043b3c4057d83b5f9579bd3c1181bde5c36c3c2cb6bf3a2e6b19bdeff603bd1ba73e3c8a43e838391781bcc85f01bc397dd23b25329bbbff7b953b3152203c3bc2c13a6201c6bbca89ea3b9c1193bdff35813eb7048d3fef555f3cc10985bd49978b3e177d8a3fa62e473c035309bd7910983ed855653ffa5c7e3c61cea0bce058913ea2f7383f9481923cec9509bbfeb97a3e62ff023ff09ca13c4c464abb4d5e453e7b8da73e48099a3c1ed32cbb3972fd3d87821f3ef493613c5e519bbb1c2c6a3d6c8e003cbda6bc3b532250bc993f46bb5e8298bda37a4fbe72ebf83c0000000000000000456b70bec10afa3c000000000000000029223cbe80db413c0000000000000000207e2cbe64b3143c000000000000000023d4fdbd5fb61c3b00000000000000009d7eccbd6ce2073c00000000000000004c9883bd558fe33b0000000000000000643f8bbc564ad93b0000000000000000be21393bf20e333c0000000000000000825503bbbac0083ac27ec13b5065713c045514bbe025b93bf13b7a3c38bdd03c3a404fba187a413c7c22bc3c5cf2cb3c9dafbb3a82406e3cf66ab73c06e5b03c8f1d413b2c02633c6af69b3c4414853cc259283bd8813b3ceaee5b3cd4f23d3c34a5053bcaac013ca9d1f93b8f3ce33b4d1ce83a88aa3e3b33ac203bed27083b8a1ddbb9104565ba523a43bb62eaafbadfd89ebad0a5c8bbbcfb933ba184493976fcb0bbbe8818bc0043c93910ac34bb736235bbe5c00ebce918dcba95fca5bc89a30ebb6edc03bcb6eab1bbd56cf6bc98ebd8ba29039cbbdc091abcc682fabc857d1cbb12394ebb53f631bce89dd0bc3ad106bb6ee7b7ba7e6010bcb0497cbc4ae14fba8f4cc33a2ff1dabbbc4decbbd6c817ba9b7db93a71ef5439a830763b00ee2abc9236debd1536513c51c2e93b2b2827bd24f424be85d61c3dba0b0c3c5e4694bd398426be9d45ca3ce5e03f3c5bffa3bd141b0ebefd89953cc3c5523c970691bdb604dfbd4fc5793c79afd83bf25062bdb7149abd877d7f3c51fe2b3b104312bdeef526bdf42c323cd54fc4ba15105ebc5ee309bcffd1233bebf0d0bb3398d43b82a9653c7a86073bf420bbbb722d9d3a0584f0bcc333273d30fda83f57ce963b04c68ebccae5753d4e219e3ff440a33bdc8289bbb197f93df440873f40b80d3c497eb83b42a2153eef6d563fae1c413c617d683caaf4133e5a361b3ff2fc713caf5d5e3cfc8cf73db7bcc63eb251353c7ce63d3c776eaa3d27af3c3eb3100c3cb8ed1a3c1bc8353dc290343c393b513b52afbfbb87a1e6bb7bb6d1bd693a4abeba26ec3c000000000000000008f467be64edd93c0000000000000000d4fd3bbe4fd01a3c00000000000000004c4b1cbea99066390000000000000000ef20f8bd863350ba0000000000000000456ebebdccfb6c3b000000000000000091565ebd99d0ad3b0000000000000000d93f26bbacca933b00000000000000008d71123b5ecc133c000000000000000000000000000000000000000000000000933cc8ba5584cb3b71a78c3c0fcbca3c905dfcb9d1a8303c9f97a13cf075bf3ce614f63a5f33423c957ca63c43b89b3cd668093b20c1423ce273853cd55d733cc55f413b7d98213c0d0d4f3c83331c3c3603093b7cbca53bdbf7fb3b2818f83baf75f1b8c0686a3be08cd23a33bddf3a000000000000000000000000000000000000000000000000000000000000000043d5353adcea0abcea5a2e3a58d9a1bbfadd4a39162701bca31369bbda9584bc7d4cb63a62aea8bbd71105bcf919c3bc074c633afc5380bbcb231dbc4888cfbccb782137c0880abb6a7a0bbcabeabcbc88caebba1994b6b9387afebb37bd65bcedf506bb8268e6397df563bbcaff9fbb000000000000000000000000000000000000000000000000000000000000000097003ebd89832abeb5251c3c171d3a3cddc17fbd062f1abeca8bdc3b10cf5f3c5bf18abd08b509be89f6663a7eab303c55107dbd5ad2d3bdd824233b4834dd3b53a43dbd1dcd9abd7ae1a43bad9e803b0b58e7bc906833bdf52cd33bfca383b9a5ce0fbca0d130bcd8e7e93b4ba052bb000000000000000000000000000000000000000000000000000000000000803ff2a14bbbc9d6783c21a07abd1ce5a83fed48393aaafdb73ca163943bf8208a3fb534d93b8982f63cbbec3c3d7e705e3f1caf133cdc6f093d201f6f3dd7e1243fcaa2233ca0f4e83c73e95a3db95cda3ee375233c4345b63c4c6f1d3d5542603e7c5aaf3b7cda3d3c3baf403cbf88c43c000000000000000000000000000000000000000000000000000000000000000011c506be1a25923b0000000000000000ad78d9bd2c83c3bb0000000000000000d401b3bd877549bc0000000000000000c6219fbd88513ebc00000000000000006f3686bd77f016bc0000000000000000b9bd2fbd42da2abb0000000000000000835ab2bcad427a3b00000000000000000000000000000000000000000000000000000000000000000000000000000000c8a2733cbf48863ccb62183ccbb807bb1819a43c59809f3ce95dfb3be31071bb1cdfaa3cb2f29b3c06000c3c40ad8fbb37189e3cd2bb8c3c8f34ac3ba32675bbdfb8823c0dfe3b3ce2356d3b46f53dbb253b403ce76fe23b04f829b953285fbb4a7b6d3b8d531b3b134881ba3b5306bb000000000000000000000000000000000000000000000000000000000000000087fabcbb071c10bb1dd0dcbceb1187bd6ba900bc51ae1fbbb8ee41bddd2e9dbd2396cfbb87110dbb662b6cbdbcdd9cbd25ccccbb0524dbba9e6f6dbda9968ebd7ef9d4bbb9c3e7b97fda4fbde52756bd4e081abb0b872bb91f470ebddc4502bd0e736cba21a4553aad315dbc75171ebc00000000000000000000000000000000000000000000000000000000000000009fdec7bda3c8acbcd512ba3cba4e0e3c8cacbabd428312bc9ee1e73cb9532f3cdf0ba6bdb82dc8bbdddaca3c5c50153cc7f681bdac1db1b8621bb53cbe72163c1f4631bdc515d43bb6dfa83c0a1f993b83b9cbbc11b63a3c3e26563c0903cfb9f98474bbd8f6293c6ed58b3b3ce73ebb0000000000000000000000000000000000000000000000000000803f0000000033d4a73c2901c23c0a23953f6dd9febc1ec04d3da875883da80d783f3a1037bdb77a8b3de461b33d2371473fca2f4dbd37e9983d0408af3d5f15173f842b74bdd9528d3dc822893d4bb6cf3edace91bddcfb5c3d1ca6193d2d106d3e36948fbdd49df03ce55b13bbf9db823d494c81bd000000000000000000000000000000000000000000000000000000000000000087e103bd9f4787bc00000000000000007ff748bd2875a8bc0000000000000000f02e63bdd544b2bc0000000000000000420769bdf66ba0bc000000000000000077a252bdeec83cbc0000000000000000b05b0fbdee2c553a000000000000000019f75ebc01e6093c000000000000000000000000000000000000000000000000a831763b8849c33bb534f83bc42857b94ea26c3c0201873c85801d3c2fcdbebb739eb73c46a4af3cb830123c146badbbf8b5ca3c52dbb33c63e5ad3bb554c6bb1e1ab13c135e903c64bc733b6d08b0bb76a6a63c4adb573c256a91b9d599b3bb33234d3c1645e93b29a40fba83c38cbbbfc38a3bd96d5eb8acc16b39c32e8d398cefc1baf1f846bb2c9e6aba257a193a790061bb131685ba929f8a3b2b440abdf1ae00bc6f88c9bad9788cbc2c4384bda8250dbc01f4f1ba84613cbdea38a9bddf2009bc855defba5df974bdc966a9bd8a0ad8bb9921a9bacdee70bd58d492bd8a3197bb6d5103ba9f6d5cbd397b5fbd7be75cbb3140243aa21217bdacf003bd6ac2863ac23408b90d4943bcf70703bc8248da3958407f3a63a1b03bd23b033ca85672bdbbbfd8bc08741d3c8d19d23b6f2ac0bdc5c38cbcfeaeec3c4dff313c727bcbbd1f4362bc91cefa3ca9b52e3c58a1b1bd76cbdcbb5f2ffe3cb8ac343cf6a584bd2c62893ab9b3dc3ca8c3f53b76b535bdedf6173c33c0af3c9a816b3b07b4b7bcfa1e393c4700623c2e4366b99660b9bb74f6c83b7c1be53a982ab7bbfce70e3ce2dca73bfe9c3dbb088c8abbbec863bc1e1c73bd84ef943fd3c9f83d367e273c9a93f3bc30ca8d3f72359f3de0d2293d4674273debe8713fe5686d3d3b6b803d81c1963d0531423fb942d73c9e8e943d28509f3d06c8103f71e5b3bbb7e4903d118c7c3d2d0dc73ea25b0ebde51c693d0be9053da41d5e3e3aa451bda82d0f3d9ab884bb2c41863daee33dbd8316313b5db1eebc08eb58bdb9bf25bd0886eabc22f40abc00000000000000009ed26dbd358387bc000000000000000029858cbd8677b8bc0000000000000000391b99bde716b8bc0000000000000000b34293bdee22a3bc000000000000000064d684bdf22102bc000000000000000042e839bd73ff5c3b0000000000000000733b4cbccbaf583c00000000000000002473d03a1156793c00000000000000000685533b17cd8c3bda5cce3b777aa0ba1916553cc63e7a3c535e263c3d63f4baa955963ca3eb943c859b333c0e35b6ba3b4ebe3cbac7af3c6b15ea3b7ac881bbdbcf9c3c908f893c5d2ddd3bace53dbbb215993c39a4573c5111113b59bb7fbb85bc4c3c7264e33bc1fc0a3af87b38bb9c0fbe3ba660933a5ce6e2b9fe3041ba4a4212bb3458fcbaf1a0e0ba69d5943913c409bbc71dafbad661e13bb956e9bc1aeecfbb776837bbfe057ebc4e5881bd905ad9bb89bb46bbb6721fbde53398bddcba07bc35bb27bb3a3260bd3ee0a6bde649d8bbc344a5ba04d55bbd3f588bbd1b4c9abbd63cdbba08974ebddf0664bd0d577dbbdccaddb963b80fbd54b409bd35779dbaca79343a159274bced403fbc1142953abefecf397f2f923b8366e03be5751bbdcd1cd9bc19ab943b6c8f0f3cd5a6a8bda96b07bd68b8a13cdc69693cacacacbd123dfebc1c678e3c9460823cf674adbddf2994bc0142e83ccf07663ce7bf7fbddd0f4bbc1baba73c62d92e3c94f635bd637d10391395a83c0818d53baedfbabc65b66b3b668e693c6731903b9b9d9ebb4e61c03ba6a3a13b278855bbdabc0c3c1d59a83ba6ce22bbf6976abb358186bcc8259cbd45a27d3fa472923e0ca20f3c8f2527bdde257b3f3c277e3e10b3133d471a0b3df8e24e3fde08543ef5975e3da261733da725323f833f0c3e6968803d9e77873d68f9033f39f6b13db46e813d8a7d603d6322bb3eadb0e53c873f4b3d96cbe93c124b573edd386cbb89e90e3d528c9cbbcbf1953d9c780cbd4fcad83b2523d9bc56e706bd638b1fbd0a8338bd9ae725bc000000000000000041679ebd8eb6a8bc0000000000000000024d91bd82abfbbc0000000000000000d03fb9bdd4b1e6bc0000000000000000bcf0a3bd0373d2bc0000000000000000b2c1a0bdc37d45bc0000000000000000d93c70bdf658bbbb000000000000000071e3ffbc6a9d563c0000000000000000c1cba1bb44bc823c0000000000000000f288313be6b78a3b2d20d33bc4a4c73ae852423c9204613c4560383c82812239b3f7993c7684a83c8452333c0a9c07bb3a89a63ca122a93c997f083cdf2641bb3a45a33c0d62963c5798e03b42346fbb7d8a923cc0c2533c2d70383b14c25ebb9168503c8fb1d83bce2c6339b66cfaba73bc9c3b40e6a93ace3ba2bafbd936b994dfebb9a78643bbd2c883ba3dc0ccb9dc450cbb85c3e4ba537fc23b2f55eebc9b99d7bbe89447bb351942bc411a7bbd1416e2bb512f84bb9b3313bdcdee9ebd12d5e7bb26ee3bbb417a44bd9be99ebd79a8cabbc3e34dbb38f553bdf06492bdfa1ebfbb28d566ba4e0542bd58315dbdf94a99bb9091a9b8e5100ebd05c005bd8fcf5cba3cbc97b9d7be72bcd7e12cbcdb21e239ff52833a7459403b7164c43b989604bdda490ebde66c31bb82783a3c0b1498bd5a2133bdfefa4c3ccdd9993ccc6fb2bd9ca522bdae50a73ccb1da13c43cfa2bd0fbce9bcc35ab73c7382893c08c783bdc28a92bcf6e5b73ce4eb773c863434bdda40c2bb6f3ba33c46fe113cec34bcbcac86fa3aadb56f3c580f8b3b15ab8cbbf9ae933be39e9b3bba4e75bab976123cff4ac83bed0785bac18e7bbb3fb685bc53e085bd667e533fc909ef3e0767873b7c4c15bd0fc5523f0a27da3e3756e13c3818bd3ce9b83a3fd1f2b03e2028433d9154593d38901a3f0bad833e48267b3deb76833d906aed3e2017323e0e896f3d14e4533d5677a73ea3c6c03d0682513d782eeb3c43a7443e8a0dd83c5b27043d12367ebbab788a3d9bf68cbc738fcd3bbc7bd7bc9d68ccbcda9c2fbdd2d065bd29d656bc00000000000000008e30bcbd2814d3bc00000000000000002d5ac9bda0850abd0000000000000000317cd0bdfd1509bd000000000000000069d0c9bd1cdc00bd000000000000000079bebbbdfce988bc0000000000000000522b94bd93e30ebb0000000000000000d61530bd117f613c00000000000000008fb484bcfcab963c00000000000000004f60f13a9f4d6d3bfd09043cdf09e43afb582b3c38d15c3cd825463c41e5b13ac0667b3cc1ae973c684e5f3cab48913a441e9f3c2510b63c09562e3c62d4caba7c8c793cd378813cdec0093cc4108b3ad3da8e3cfcbf5f3cfbc5853ba77078bb80b7293c0247063c7f280b3af7e302bb9326e03b6cb94d3a4dddd7ba1fa4b538eaae06bab27033bbd83428bba19063b718c831bb39fed3baf968d13baa02c8bcb01db2bbff8d91bb02b70abcfe466abd21d2e3bb908471bb5181f6bc65de92bde2a505bc3dac7abb8d6a32bd04be9dbd408da1bb5faa01bbbcb334bd6c6c80bd7f72d0bbd5a3c9ba293d35bdfa0b5fbd39c44abba8d198ba54e301bd479c00bd9077b4baa1486639c5276abc19a855bcfa340439c43d343aceea153be65eab3b21eaf1bcb3fc1fbd2fd40cbcd3026a3cc0d48bbd613f5fbd5f71cf3b0f88bc3cdbf2a6bdaee84cbd79a3583cef8da23c9ebea5bd72a728bd5a6ca03c9acfb43cba1c71bdb43ce7bc3a7d303c831c5e3c81fd39bd54444dbc876ba63c6d41523c54e7c1bc6d9845bb7936723cf237b43bb1e589bb62a5413ba73edb3b019afdbae3d0143c8f74d33bb172233a94261bbb558097bc808c66bd693b273fab7f243f569ebdb9d2b1e7bc8ad7283ff379193f7583b23c61dce93cd295173f4bf2fb3e85ae213da7b5663da52f023f8ce3c33ed5844f3d924d833dcad1c03e2a3e8a3ede9f523d47435f3de61b923ee41d253eb3ed3e3d32e3f43c453a293ea5ae933d4577fc3c012110bb9e977a3ded674c39d0a0a53be8aab6bc19cdadbc918c37bd00e286bd0eb265bc0000000000000000f24cd1bd5b88f7bc00000000000000007b72d2bd75f11cbd0000000000000000e48de2bdf8a428bd00000000000000007697b2bdc3411cbd000000000000000083fed0bdf991bfbc00000000000000003305a7bdc049e0bb00000000000000009ca64ebdab7a543c00000000000000001f8dbdbc443c9b3c0000000000000000b479133b31b1683b28a3a43b104e663bf474073cdbf8713c2f20523cdcbb633b250b813ca03fa23c4d70573c58db1b3b6db4943c1a95ab3cb72b363c6aa8fa396876983c7140a13c1d8e0d3c3e70faba32d1803c002d633c1073933bb196c8ba1ecc493c23ccf23b34e3343a979a23baeee9933bfb1a093bd06b11bae650e3b946acb539f82781bb222024bb80cf743a827cbdba077617bb6960023c8954babc3593c4bb3b5aa0bbed64c6bb445a55bd0c60e6bb88d3a6bb652dd4bc8fc48ebde9c1f1bb87d57bbb345921bd8e1195bd8f6fcfbbac5458bbb62338bd221f8cbdaf85b0bb8ebe2dbba58c24bdfc8356bdaefcb0bb6e8012ba7cde01bd175e00bda23e9fba4b0794b76c4f5dbccb032bbc7f51363902fa2b3985379f3aca25da3bfb2fd9bc42372abdc2e941bcef37783cd45e8bbdcf7084bd4a06f73a530cd63cec57adbda3347dbd0a1b3d3c4ab0cf3c5a0ea2bdee0e50bdfa1c833c1f9eb83c512b86bd952b10bd835d913c74089e3cf5fa3dbd2137a5bc9a6c9c3ca231523c991fd7bc2a56adbb63d4583c7a88013c6f26bcbbc360973a4514b83b3d039c3883682e3c461ec83b9afa9d3a72db42bb2c6f96bc768f42bdc9d7f43edae2503fac8ffaba7461a5bca20efd3e0ccf463f32097f3cb216fb3ce35ded3ef9b4253fa6470d3d5ff2663dda20cf3e6b5a013f7e043a3d8c68873de07da63e2d6bb93e0487413d6741623d541b703e8df16b3e03822d3d9b00003dde83103e5e34e53d2981ed3c5712753a6c4b4b3dc5188f3cc6c5033c6404b2bcd8b1a4bcf1b43ebdec0199bdecf370bc0000000000000000b309edbd9b8cf8bc00000000000000002c11edbd4ddc2cbd000000000000000050cdeebdb88a34bd0000000000000000cbe0e5bda97a2dbd0000000000000000c492dbbd7359d3bc000000000000000037d4b9bd173fddbb000000000000000080d66fbd8d21563c00000000000000005234e6bc10ed9a3c0000000000000000a6971d3aa7ee973b3d25d83bfd814c3bf824ec3b28eb5f3c7c205e3c9f73b23b342a2f3cbd96a63cb775703cb237993b3b65823c01dfb93c83d8693cf255883a0694713c1e2f8e3c42d0223c697f163b3408613c69aa793c7833c63b061b5bba170a2c3cd324123cf7d6fa3aba859fba2e9c8d3b0bba083b1186103a64d961baf2e397ba77d205bb697d2cbbb26c9d3a1d6128bb1fe132bb2675123cf3f699bce9c4b4bba2f8b8bb2dde3dbbd55a3ebd191897bbed00acbbaa9cb3bc1e4874bda04adcbb0e7b9ebbe53a0fbd58dd8cbdd041bfbbfe2f45bb6f3319bd898176bdeb6cb0bb918337bb7d6c14bdc4604fbd537375bb5aaad7bad19ee1bc0f6903bda810b6baccfde7b833155abcb2ee29bc79442f3957110b3a7ff2e33aab84d43b76b8d9bcf45d37bdbead29bc09a28d3c0eda87bdfc239bbd7cd11f3a9fdada3c7294a0bdc58792bd824b1eb828ffc73c8418a6bd615f81bdca455d3c9786c63cf52f81bd85cb36bd36302f3c67ec903c6cce42bd70d4e1bc4c14843c3b2e7c3c5f91e0bc2d1b50bceb924e3c5d3b283ca5dfcabb01b1bfbaa18af23b63cde8b9284b143c9d30b23b4a05feb811a073bb9e407dbc98d51cbd05079a3eb0667b3fc6f777bb04891ebc05f0a63e5893713f059f6e3ceab2263df5b9a43e77f7423f91b1e03c8147793dc3b2993e3e681f3fb81b203dc848893d6564763e86d9e53e0560233d4c776d3d51963a3e2ae6973e90ca143dbfeb163d22e3d73d52e1253e0fb9dd3c4b29b73bab6f133dc1dd0d3d5d4ce83b1f608fbc850396bca46242bdf43bafbdc1b456bc0000000000000000ca0af9bd0ebf00bd0000000000000000ccd1bcbd7e4933bd00000000000000002e10ecbd065f4abd0000000000000000c0efd0bd603435bd0000000000000000480fe2bdf078f8bc00000000000000008f8facbdb7ab9abc0000000000000000460a7fbde99a473c0000000000000000deabe1bc1c26c03c000000000000000092410eba61f69e3b5e1fe63b5453c43bb3cda83b25ac873ce7cf763cdd05ba3b973a423c2f43a43ca875973c32909f3b8685703caecbab3c0267853ce35e323b85395e3cc140a63c6848563c24f3b5b617c4643cb8556e3c91c1dc3b1782a23997021b3cbe811b3c80a2003b02326abaf718233b0a3e193badd91f39b37c803aed7a3fbad4713fbbfd5127bb0b40b0b9571dd0bab3e43bbb002f253cc15758bc0e85d4bb5ca7d4bb080988ba524021bdce25d1bb2041debbff0e95bc02526cbda4b6d9bbdb07c4bb4368ebbcf7be80bd0d04b7bbe4be70bb9a370fbd62886cbd9310c9bba57923bb4e8c08bd64ba41bd813784bb2feabfba46c7d1bcbe6fefbc9a2528ba0164b5b9367220bc6b5309bced4d67b9d5b8813a0fdf8c3a5404f93b4fd000bd5e8880bd426484bc1fd0813ceaae8cbd1c4cb7bd18bf6a3b5f14f73c94aaacbdf4b9b8bda475d93b543cf23c6136a9bd538d9abd14852b3cfb1ee73c3c8f94bd795e5dbdf1b66f3ca0f7a23c6c7b4abd38a50bbd8f59763c079b853ccff9e1bcaeae83bce7f66c3cd57c143c2a12c4bb0d1281bb9630c13b3c3f0dbb1895163cff9c1c3c5bba123b82dd64bbb8ba7fbc0610c4bcd5e10b3e465a943f811ae8bbae6f8e3b2a05263ede6f8b3f370ae23bc9c0373d52c74c3e00766a3f1c33a43c070c8c3d73be4b3e24fc383f103e053d81d9963d447a2f3eae30083f2746093d12c0813d0300043e1791b53e8dfe003deedc2a3d11af993d847b403e7f7db63cb707403cf2caa13c5bc13f3d21eefd3b89a261bc6312cabc2e9b7cbd523296bd7cca3cbc00000000000000003d45e6bd81760bbd0000000000000000c6c3d2bdc03552bd00000000000000002694d4bdbf8961bd0000000000000000c38fcabdaeed54bd0000000000000000e401d2bd54451abd0000000000000000e4e4b8bde2a284bc000000000000000095d36fbd4690603c0000000000000000e98514bd7c31a43c000000000000000000000000000000000000000000000000ce8c963bd58a453c9e718d3c0b720f3cc7de033c8ab59b3c21fa8f3c55fdec3b24962d3c4aeca23c5d93823c499fb03bb460493c50338a3c94de523cdbcc7a3bb8cb323c7cb46e3cdd07213c4270ad3a2544fa3b858a113c04578b3b9a610a3afad1753bd3bf6b3b59ecd639061d72ba0000000000000000000000000000000000000000000000000000000000000000cb8993ba6983c9bbb5861dba5f0301bd13908ebb4b35adbb6edf7bbc9d8545bdee9615bb61468abbcf2ad3bcdac45ebd5e966bbb3b035dbb75b3fabc98ae59bd1f6e53bb93ce35bb01dee7bc788d33bd19c744bb019ff9baaf7ab7bcd590dfbc710ef7ba7df29eb9275d35bc6fbd20bc0000000000000000000000000000000000000000000000000000000000000000d1f18bbdf44dc8bd78d15abc4557a83c0b7b9dbd5b92b7bd4aa427bb6b2cb73c0b299bbdbac09cbd9e8824bb626e8e3cc77a82bda8be6fbd8948123b2e528b3c6d4a4cbdaabf2abd410cef3b5c28663c91ddf0bc4fe1b1bcd2b9203cb45c153cad6702bcb08999bb241a093c2c1d5a3b000000000000000000000000000000000000000000000000000000000000803fdcb0aebb3fcfb23c86633a3db7ec943f4467103ca47a513d5f97a63de78e763f8ae3b73c4c438f3d0baacd3d034a463fca8d003d4c1d973d0af2c03d9d1d153fadd2063d2c2a863d4615963d6733cd3eba7bdf3cb58a3c3d8f292d3d0057653e83cba83cd3ee923c07772a3a19727e3d0000000000000000000000000000000000000000000000000000000000000000140a49bd2435ffbc00000000000000006e8763bdc8cc36bd00000000000000009c1d72bdfd694dbd000000000000000039ee89bde53051bd0000000000000000075b95bd282931bd0000000000000000bb748ebd51c9c4bc0000000000000000f73d73bd332c95bb00000000000000000000000000000000000000000000000000000000000000000000000000000000ca2b1abcff2a953ca3e1263d320b413bb0824fbb8102893caeb51a3dafe1a93bd5b5173b5343923c8b34003db8cf163c8b66013c0f6c5c3ca11eb53cd7e5053ca6a4af3bf5b9123cde7e613c506fa63bacba943b40ebb03bc36ab73bc3e3983baa48573bd67d583af27dcfba446d833a0000000000000000000000000000000000000000000000000000000000000000f1c8c5bbd377c7ba57f6d13bc8b9e7bbead83b39129d7bbb1025a6391439dabcf1365a3b9c05a2bafbf4a5bb681f39bddd6b823bc2adf2ba631649bc7e9732bd518b763b5b31193a647828bc265415bd29c1823ba660593a88704abc0d8cd0bcfb3d303a7d89af3ae3d225bc4476d3bb00000000000000000000000000000000000000000000000000000000000000001bba67bec4d0ca3c457a033b9014ad39c00655be6da6323cd65083bb7d11193b4a3b44be445c97bb164228bbcb3cad3891e91abef37397bba803f5bb8e9e953a14b5ccbd4f9201bc7d620fbc0466bf36fc0848bdb98a45bc32e2debbe79f19baa9fe99bbb854e0bb464085bb49965ab80000000000000000000000000000000000000000000000000000803f000000008d8ac03c3c5503beb36eaf3f334c19be72cd793c9b5258bd598a8f3f8283cebd54b9843c6e96a3bc665f6f3f1053a4bdef655e3c62d9d63b6d8e313f114578bd10f35e3c3064c53c4d77df3e0275e3bc1678003cf64c0c3db525583eacf6283bb662a43b48a7ca3c0e1b34bb73539f3c0000000000000000000000000000000000000000000000000000000000000000941bb83c08b844bb0000000000000000d3e1403cd4e7253b0000000000000000b3a00d3c9463013b000000000000000067442f3c790ba93a0000000000000000899fec3b0d840e3b00000000000000005bb07d3b145cc4ba0000000000000000bedd273b4e9c02bb000000000000000000000000000000000000000000000000635444bc77e1023c2546a13c10f649bb357f40bcd9bf7f3cada4043ddff5e0bac0a749bb1b2ea93cc5ec1c3da309003cca20303b984aab3c9d350c3d1068113c1709da3b4264983c8532bc3cceaa033c4ad6ea3b80ac683cc154743ca5c2063c676dc43bdb890f3c5787c43ba9c0a33b53d49d3b2aea913b602560bbf5bd623b8bcb02ba570256bb7365d4bb5143bbba710695bb905dc4ba2bb75a3c0d460b3ce99a24bb7f686abbe272133c0021f6baf0a289baacf090bb81bbc53b998bf7bcb56e433bcc8f98bbd8dfc7bafd061dbdf685913bd54b0ebb9588fabb317433bd69dfb43b45c834bb5ff904bc949121bd907e5b3bf03e183a4dc13fbc88c3ccbcfe63113bba1fdbb9333d2cbc97682dbcb9da86394279553ad86c03bc940f3a3c948bfdbdff53993c4e73bc3ab52b05ba6abb3abe93d7903c9c7e38bbbb6f493bc0e85fbef03fcd3a8a7f55bba63d303ba39b51be5d3216bcd438e0bb6f23533b749c21becec250bc1e8412bce166043bab0fe5bdb4467bbcf72636bc37df4a3bb90f68bd04c273bc30c917bc132f983a4b975ebc80b840bcddd790bb28a7d2397f2aa13c8d781a39f20b5dbb09c01fbaddb7453d92cc7bbe653dae3f1a12f4bbca21333dea873abe1b0d9b3f3c73493c615f083d5d4c13bea06a913f281207bc85f3f63c10c8c6bdaad66f3f27ac80bb247bc33c9ee849bdce69323f43e1243a6d0ba33c23ca87bcab7ce73ed253863c9ec2753cea5f9b3b0ee75c3eac79df3cf460b03ba93f913c2aba233df822013dd3e2073c90de7d3bafa2eabd183f983c0f1d63bbf680173b0000000000000000a46821bc71eba23b00000000000000004dd51cbc3b2bbe3b000000000000000057b105bc1dc5c33b0000000000000000f1e254bb1cc27e3b00000000000000005b88acbb9541683b00000000000000005eb284bbda67b63a00000000000000008cf906bc1cc3f03a0000000000000000cbe9b9baeb0ff4ba00000000000000005fd9a4bb1284fb3a6b050f3c3264c13ad85203bcdf6e8f3ceb1bc23ce8cfd23b41e7efba06abb43c01c2e53cabe2443c53301e3b8613af3c6ad0dd3cf664403c136cd13b58e0943c73ca883c5ef12c3c34d7003c9ec97c3c15ec353c31aa113c9452d33ba52a0a3c4fbf853bb07b833b85afa13b4439803b4f5272bb5338023b025b143831a0a3391e68f4bb1ea3b9baa1fec8bbeed325ba7c2b663c52bdc4ba0cb865bb334d56bbbfbe703c7b239bbc9f7e43bac12ebcbbeda1283c152a06bd2af17b3bd5d02fbb8f95843b909135bdc2db803bae180dbb951ce7bad5f633bdf6f58e3b2378e5ba8a0ff9bb88ce1abdd4fc923b84aca738b37c0fbc5c33c6bc20503a3b1e5be7b8acf322bca4bc11bc3a2692393cc5923ab2dd84bbc557d53bc34d92bdadff853bfa3f8dba8c4d2f3b6ae225befbac34bcc8bc0ebaa790873b7a1146be3033c4bca07f53bb7efdc53b3ffe3bbe2486e4bc8de3dabb8903903b31a814be64a1dabc4a6c2fbc73300d3bf1b8d9bd982cb8bc32c43cbcd2cf7f3b240162bd33cc85bc1b6927bc17a9403ae3247fbc1db412bc9c47c8bb083c31baa3ed323ca7a1113b9ef43bbbc9f5b0baf941493dfe706fbe96f78e3f84af653e904d4d3d100b65be7d49913fb0cd3c3ebafc243d05df36bee757853fc441133eb8c0163d803a04be95815f3f9cf2dc3da9f9e63c85e3a5bd0b08283ff8b4af3dae8aca3cb5cf36bd1200df3e52fc823db165b23cd88f93bcaa485d3e3a30463d20a45c3cfdade8bab48c343d739feb3c51db1a3c0c560ebc288882bda646383b871974bdcc855d3c0000000000000000301f6fbd34ed5e3c0000000000000000bf3739bd9f32573c0000000000000000795711bd7626243c00000000000000004a4fcfbc78b00c3c0000000000000000c87997bc6c22ca3b0000000000000000627a57bcad27c53b0000000000000000daee10bc1a1df83a000000000000000060ea5cbbd662923a000000000000000060559cbbc9cc323aa5a3e13b53a97a3bfba9bbbbf224613c1df29c3cfdb3333c1af3b9bad9789c3cec22d03c612b773c1731283be58aa53cbbc1be3c15ec813cbe9b0e3cbdb69f3c1254813c33592d3cd3a2de3be8567d3c6f942a3c443a043cfacdd83ba649063c8cfd9e3b095b9d3bfdebc33b43a9a63ba61963bb8f2dff39fd40873a3ae89539f8f5d3bb5cf5acba807e98bb85fe26bbcc17963ca71c7dbcf64a0dbbb47661bbb053833c4963a4bc2a6f13b89238c0bb2790533c026113bd4c6ec03b681795bbdfdebf3b48223ebdc892dc3b962b55ba199952ba80843dbd91c0bb3b8e37ffba40c134bb99da18bd8749a53beda2cfbaa29ec3bb0134dabcf3c6323b21eba5baf67e01bcd55d24bc474739b9ed7c06bb150b40bb48c0813b0b5d5cbd9512a0bc5620293b723fa53b4a4c07be43ef33bdf544583bdbfebb3b4b6128be92e967bd9978db3a2180093c708b23be8e1367bdd0a5b6bbb7b9823bed380cbeeb0f38bd2cc91dbcb582703babf4c7bd550410bde57039bcd3376d3bd3e161bdfab7b5bc87c815bc076da63a3a2690bcc797f2bb85c4b3bbc2311f3a11d80e3c82289a3b6ddc7eba75b583bae3e0363d33dd5ebe6a69703fa303e83ef4e0483d1cdb5abedbe3703f1322d43e5ece223d239832be969b613f0bc8ae3ec01a0e3d690c03bea107403fcbb5863e0d6ce53cdc08b5bd0d3a173fed3a3c3ecd00ca3c6ced55bdc182ca3e4b55013ea6b3983c286bddbccd69573ee4338a3d03ba663c3c033fbca41a6c3ddb87b33c7234233cacd68abcb26e3ebd16969fbc0a55eebd9191d13c0000000000000000f5deeebd8628d83c0000000000000000b2a0cbbd3ee2bc3c0000000000000000d52e94bdeee99b3c0000000000000000b50e5abd6d78843c00000000000000002d760cbdcfa2203c0000000000000000544a97bc3584f13b0000000000000000fd5f0cbc6eb77a3b000000000000000015071c3a8bad3a3b0000000000000000d7cf69bb6b7d6abae216953b468af33ba56d76bbe07e0c3c448e783ca14f893c3246d7b9ab22803c0235a63c5213af3cd13d533b572d9d3cea2b9b3c0b58913cd86dd23bcf1b8d3c0eb8373cccf64e3c4f94ff3b6990643c6a500b3cfec52d3c913de53bb3891f3ce0cbca3ad477a43bc14d9f3bb6efa53b83b13bbbfda15a3ac552db3ac9775539433ff4bb53094dbbc52743bb588e89bb67b7833c7be759bc090334bb9ef78bbbce11683ceab0a4bc35ba513b4f81b0bbdfc3303ccfb400bdff18ea3bb699f9ba8416993b38301abd70aec43bd127d5ba11db1039eba92bbdb1f4e13bc2b850bb849713bbc90615bd54289d3b22235bbacf20c7bb82e8bbbc8d9f4a3bf22387ba72e2b3bb25db37bc130a8c3a0a4acfba046f06ba0ddf963aa94505bd824b2fbd89a3f23bc632aa3b2906cbbddf3fa8bd23303b3c2a5def3b1b1e08be1a6cc1bdfa51823bab49ca3bdadc0dbedd02b0bd8f4b12bbea70513b2fcddcbdd98285bd8c53c3bbeff7673b2985b8bd733f39bdf03221bc2f5b8b3b7bec49bda365c0bc771c22bca64473390c7c98bc5332babbc28bc1bb4f55e3b9ed9b013c5b251c3c229003bb8c2edeb91b48183dd9c234be1085313fce40353f65511d3dc7732ebebed9353f9f2f293f9962fa3c753d10beaae32d3f09260f3f9212e43c3072e9bd0a5e193fb6e6de3e1533af3c2d8d8abddf0bef3e08fa993e8731b43c851d62bd5ae2b03e30203d3e1f56923c9552efbc86db443ef79ead3ddea8483cfc718fbc0c5d863d47a03b3c7e032f3c05b194bcc4fedabc6a0632bd156532be67d3123d000000000000000037ea31be56c11d3d000000000000000079ab14beab92fe3c00000000000000006cace8bd5c88e23c00000000000000004d5395bd12278e3c0000000000000000483a44bd7b49893c00000000000000008724a8bc8000143c00000000000000009cc797bbecacc33b000000000000000041e3803bf68b893b000000000000000039c5cbba3fc79bbbc0091e3b8ae13f3c682868bbf868b33bd6da523c54fcba3c10c14aba401e513c1feba03cf64cdd3c7c49783b9a5c723c12d4a23c19d8a93c24a2833bf0ff863c364b543ce2bf8b3ca1f3fa3b5a6f6f3c29ab0d3c7e8d603c5f90093cd7ca123c4190803b0cffbf3bbc8d9c3bdd579f3ba09c81bbbfa0113b7cfad93a23a6473a6dcabbbb40c313ba4e0d29bb9203afbbcfaa563cf7bb3bbc43033ab92939e1bb69033b3c7f8b71bcadf1423b961ed7bb2bef0e3cfd06d2bcc73e0a3c2c106ebb52575e3b102c04bdd51dcf3b9be1d3ba33ba4239856a0bbdeb54673b21bb0dbbedb7b0ba0dc806bd46a6ba3bada559bbd153babb5142cbbc582f143b588656bb5a0783bbf6a644bce10961ba746510bbac09f3ba9178b23acdd361bc024983bdf718103ccf870f3c950d8dbdb34bf7bd60f9893ca43d013cac61d4bd0f290abeb0802a3ca6ec063c4aa2e0bdcd7df5bd81150d3bf1a1c93bbf0eccbdf17fb9bd1c029abb36a47f3b8284a4bd71316fbd0971e7bbc610183bd48d4abdc2e6f3bcc2d70bbcdedcc73ac5df9fbca6c09fbb0b788dbb979ea6baddd4413b7b6d3e3c585d473a9bc404bb9f6adc3cc646f5bd6e76e03e4309733f0c74e53c4eeaf4bd8847ee3e7a86663f9a96cd3ca750d1bd70bbeb3ef17e473fe335b13c1cb8a2bdb294d73e10371b3f88e2903c9acf6fbd5e2ab83e0327da3e79b2813c97242dbdb7418c3ea81c833e728f5d3cfbb4e5bc4b98323ebd34e13d198f3a3ccbcf86bcbde2943d78a6a93b7238f53b24c477bc45582ebc741a84bd6e7c5abee729303d00000000000000001cf263be0d20433d00000000000000009f8041be78a5253d0000000000000000838114be23a5eb3c00000000000000003c94cdbdc017bc3c0000000000000000880875bdf59b8e3c00000000000000003821bfbc0c6c3a3c00000000000000001becc3baa0c7cc3b000000000000000079e6b73b2d46cc3b0000000000000000ca8022bb7112b2bb60a9813abd1d583c42e22cbb5cf7dc3a2179633c2660dc3c97e491bb4ba8083cabad9b3ccfbf033de8b5b9baa9fe5e3c0f04a03c21ace93c6fe2943b77dd523c6192713c2d6b983cddd58d3b0a00563cae8a1c3c429e693c7ac0853b0d1d0e3c0911b63b24c7f73b94a5ad3ba494a93b422b4fbaf47f063b9861ec3a0c2b8c3a672495bb064d2ebb875854bb39e59dbba701f73b506ddcbbc1c5b63a511803bc0283e13bf67c16bc9f2aaf3bcad50fbc5218cc3bb6e04cbca66c0a3ce621a3bbb7820b3ba989ccbc2ecbea3b381c69ba0f6daeba37ffe5bcbbc4dc3b5b8d83bb0ffe34bb055ccebc95f26d3baf0929bb2c5a2bbbcc1fadbc497b203ba02060bbc3b3b4bb8e9b26bc676996ba607a55bbed7ee0ba24067dbab67eba3b7f4caabd1929a83cfd00a03bfc4c25bd53e921be4684d23c5fa6f03bc01091bd47a034be61ca913ccd5e163c55f6a6bd221b22be6adee23b73648d3ba5eb9cbd394ef3bdf1ae703aab76303bd16d87bdbece9fbda1f187bbe1f3203b0a1b2fbd6c6718bd4f5ba3bbb583d6b91c17aebc95f7d1bbd6aa5cbb7c509bba0105a43a54e07b3cbe49bf3ad470b0babce7813ceb3176bd88ef573ebbdc8f3f4e9e7b3ce1e96ebd66c9693eaa778d3f20861b3c352d4cbdff39793e116d773f99b4443cd9eb19bdb261793e0307443f7f591c3ce2cee1bc6a49663eddaf0b3f1420eb3bf9cdb4bc3c44453e315fa73e98cf183cb33493bc01050a3e2e7c0a3e1ab5fa3b470936bcf5658c3da4c0293bfbbe963baef337bc2d88873b2c8ba3bd90c269beb4c9483d0000000000000000806678be10674b3d000000000000000092d153be644b1b3d0000000000000000a4cd24beff410d3d00000000000000009ee3e5bd63c1c53c0000000000000000619b84bd3d68923c0000000000000000f564b4bccb243a3c00000000000000002d3c5c3b60a5c93b0000000000000000d0ff733c4125953b00000000000000005ea537bbebd9d3bbf412563bd97cb63c9a6589bba94b10bb4c121e3c8e640c3dc3bf5bbbe39b943badc0a43c903f153d0132c6baef27313c9fea983cc7a4083d3c3b8d3acc31433cded46d3c5341bf3c9a45643bf68e243c13483a3c71ea853c10ea863b3343f13bc847b83ba0ba043c4a129d3bd26aa23b73a042393b1b6a3b8fd5ba3a89728fba0a7eaabb0d4c80bba44f44bbcd9007bc4d704c3b3859a53be0a71dbba28315bc900a0f3b5c6cc0399e75bb3b797101bc2d89cc3ad3904ebba152043cb8075dbb56f57fbba9df25bc30e4ea3b382dfbba998e96bb6cc875bc47e9b93b121e34ba0e5274bbbd2992bca090a13b5c59c2baa6b3b3bbe9ca62bc153e133bfd9cfcba3b35b0bb765613bca56b0fbbd2dc34bbea655eb9f249e5bafea1653cf41407be8aa9f83c1915b13b64bb48bca49839be69691b3d9d32513b375049bd6a6453bea77daf3cd4edba3b1a2d80bd95f93ebe5a895c3ce5a0d4b99c897abdf80e11be7ef9263b4b74ed3aee6f5dbd1799bfbddb6b3abb0c146bba7c5219bdb66135bdd53efdbb13e103bb7309acbcc60f11bc81f4dfbb55d798ba7a50bd3b364ac03c6da6173bb8404abba43bb53a1dd0cdbb22d272bc157cae3f1f263e3bf3a023bcbbf5413d6f42993fe3dc653a84b013bc31268d3d7b168c3fda3ef93af856cebbdabfc93d18e9603ff062d03a9ef39dbaf1b7dc3d366f223fc3bc903bab5049bb3bc4df3d4d78c63e49bd7c3b74bb89bbf9f8bb3d41752b3e80535a3b85d7b2bba7e2753d217e693c37a276395b964ebbb052113c8c8600be36fc78be9d65413d0000000000000000e36a53bef6d4353d0000000000000000122141be36fe0f3d00000000000000007f4219be69acdf3c0000000000000000395fd4bd80eaae3c00000000000000004f4b64bd80955f3c00000000000000004bbd56bc264fe13b00000000000000006470803c7cf826ba0000000000000000aec3d53c8a63cb3a0000000000000000000000000000000000000000000000006846b1bb4bbf91ba48fe7c3cd030203d8c3882bb2fc9a83baad58c3cbf47193dd1e88dbaa3a30e3cc5d48c3c3083e83cd551dc389a611a3c74186e3c7e59af3cfe77b039b312273c0004ff3b946a7f3c46012c3bb54bed3b382a853b3d7ae43b51ca2b3bcd522e3b856cb9ba1b6a43ba00000000000000000000000000000000000000000000000000000000000000005354643b504e24bc16769bba9985343cd8d8733b879cc9bb469e63bb6c312f3ba896133c8d7af6ba3de8faba76629abbb6f1d23b70319b38c9ff82bb65e4f9bbe784983b9422a1b98dc0ccbb02482bbc1d091c3b40324a3a21a195bb6f2338bc3a56503942326fb85c3261bb8528e7bb000000000000000000000000000000000000000000000000000000000000000008fb24bca7d964becd5ee43c02dda13be0af15bdff384dbe58a8743c76cd353bb27046bd9b173dbe6cbdd93a4af76b3a79b242bdae3d15be9ea5d4ba45d1b1ba447d27bdd4cabfbdcd0770bb2a2230bbacc2e4bcfb713fbdbbe7bcbb159165bb87b007bcb3a760bb3f5c0cbb6d2476bb000000000000000000000000000000000000000000000000000000000000803f6473e7bbe50ec33c37def1bdf25dae3f9c4291bb63ce953c3bad1cbd39558d3ff3c0bebb2c12963c492595bb0d3c6b3f45dca5bb35dd8d3c2c66cb3c85cb2b3fbef86abb9a9d743cd5f4203d228bd73e6aa9debafdc7233c96963d3d4ea74a3e848c2ab90116183cba45dd3c17870abc00000000000000000000000000000000000000000000000000000000000000006b9a20beab73d03c0000000000000000df3addbd7a0a913c00000000000000006fa4bdbd45165c3c00000000000000004f6f84bd02b6413c00000000000000009c530dbdd1bfe23b00000000000000004c9cc0bbe1578b3b0000000000000000c36a8b3c80ab3aba00000000000000000000000000000000000000000000000000000000000000000000000000000000f55318bb04d6d53cf50c043d0bd83fbcc6c0233c7090df3c5bbed93cb4fd21bc9046843c0857ea3c196da03c333ee5bb4e4e973c6ba3b03c4194603cd72606bc484b873c3f5c693c676b0c3c09469fbbc4af213c29c3063c1d21853b871d0cbb4991893b4062b83a5df227b9157a5aba00000000000000000000000000000000000000000000000000000000000000007ffedabb476983ba53a4623bb4d71abd086abfbb97da8138eb0aa2bcbffc85bdfec1a3bb25485138bf5f1bbdc564a7bdc17a39bb7a81283b0b4f3cbd540896bdafe344bb6faff63a403d30bdc2006abdd3a4afb9bde4e239157b0bbd26fa08bdb2b592b97d1cc53abbf688bc4cad0abc000000000000000000000000000000000000000000000000000000000000000062324fbe0e324c3d613e193cc0aecbba86fb2dbee1b43c3db8b2d33b45212abba61f10be7917133d23e3913b53cbedba4240d2bd76da023d9762603a16e3a2bb82e879bd62a19f3c436aa1ba016417bbfe5ff0bc8bb3e33bbb8118bb57de0cbb181f893a81823abb284151bbf42a7bba0000000000000000000000000000000000000000000000000000803f00000000c4c6773c3ff5bdbd981db23f99f94bbe848b553c8059803cb4f4903f853e3ebe14bf883cdacb9c3d20e26a3ff93036be7b3ac63c6b91da3d7335293f8dbe1ebee42ab53c3b73de3d10facf3e0181dfbd60b4b23c9279ac3de0463b3e100644bd3b70963ccec1243d376a76bcab635d3b00000000000000000000000000000000000000000000000000000000000000001ff3bf3b2dd6b8ba00000000000000003810c9bb5836ad3b0000000000000000e4aba4bb336cb33b0000000000000000f7f114bb3784c93b0000000000000000d4b7a73986f1a83b0000000000000000b9a4623b4a8e5d3b00000000000000009f4d9a3b68a3cab800000000000000000000000000000000000000000000000099c837bc6eea243c75fa843c112ea5bb2bbd14bc278ccb3c76a1cf3cded528bc6fd86f3b3872093d4eb6ea3c6ee413bc54f9473c8ffa083d15bcb83c7afa19bc9aad983c92c3d13ccc43673c824bccbb050f7f3cdbf5a03c1b42333c2e4caabb69be303ca953343c358f7a3b0f3c37bb0189cd3b5329943bd4e6963add3d63ba12dfecb9b58724bb41415bbb8942003a9533abbbd4b15bb87717963cf478473b685ab3bbdeaa223ad4b2c03b61369cbc5be4debb0282133a3edf02bc06657cbd7d38afbb35eeb63a7cc1c6bcd3349bbd046d7fbbcf3fb53ae1cf22bd505298bd591710bb5091023b03a120bd5cd471bd1189cfba0f83043b3b20f6bc6bf60abdbfa5f637d6dd06390456abbcba686abca35471bae67c973ad84036bbe107383c0ea0f5bde707af3c4a390e3c46ae6bba5d8c31bef046303d9314a93bdb89d3bad41540be12451a3d8d740b3c570b12bb229b21be339a053da9f0c23b4a0f1bbb4416e3bdca0ed83c8862b93a46eb21bb96ff98bdc71c843cedaa87ba217a1dbbdac20cbd69efc23b062c00bbae361fbb1dd1ecbb31528dbb8c0446ba47ffc43a4fc1803c081c90bbc605f8ba85871b3a482c2f3d10e977be99ebae3f8c1123bc30701b3d901224be9f0ea03fc51159bdde0bc03c7fdc9fbd85b9943f2aa8c8bd102ea73c04c1b539d8fc703f7d95efbdb3ebbb3c504a5b3d28ba303f05a7e8bd0aad9f3cbd31953da34adf3e52b7a5bd4b77883c40ad8a3df5d6483ec8871cbdd317513c8d35463d2d45da3c3b24fb3b7308373c4b901bbb3791e0bd77428a3cae3c83bc584528bb0000000000000000e703a0bc44d46b3b000000000000000044caedbc503a023c00000000000000007716a8bc20ee043c000000000000000027fd6cbc3e06d63b00000000000000001a9e04bc6a52e63b0000000000000000cbc41ebb25e4a53b0000000000000000d33cf1bb082113b700000000000000001cdcba3b6eb652bb0000000000000000af5b14bc3333fc3b8be0dc3b24524b3a028bcebb8be6c93c6780ab3c1ba706bbe752173bd21d0a3d7d23ca3c952658bb1bb83a3c476e063d3e24963cd47a81bb813b7d3cb741da3c6083703c0ad097bb0698653c6b10a93c67c5123ce27c60bbbdce243c88af323c1e64443bee932ebb1a6ec13b4010833b6e4925ba0889b2b9fe4b5b3abed669ba4f9d69bb9f7766ba6ef7b6bb68fa4cb9c534753c90c77b3b4541d0bbd2d0a8383c95fd3b2183cdbcee09f0bbcf11ba3810f7acbbb5d65bbd532aa9bbfb35b0b9cffeb7bca6ff8abdcd9457bb8abef23ab9d808bd6eb68abdb61368bbdc8cfa3a75b910bd2b6e51bd98a0ca38cce2b0399fdaeabc1196ecbcf93bc8399b07ba38bfee9ebc8bd621bccb64d53a94c176ba1f41a1bbc383123cc8929bbd05463f3b83d4253c1e51a2b9e59a21bed6de423c2595633ce3be77bb6e9032bef439493c9433783c93c724bbc7fc1cbeb664823c6998343c0dd40cbb0eb6e6bd76844f3c6e30e23be193a3bb381f9abd29ea183ce670283bdc0054bb0fc320bd3c88af3b452f10bacfc729bbf120e3bb02fe81bab511e6baa85e54ba3e8d253c1802e4bade880fbb513ab93a0d1c443df6b373be1742903f0ca9603eb003293dc09949be100e953f697d073e61bce83c5be3efbd3633893fd863663ddcdfcb3c6b3237bd2ad1663f8f060fbc570ac33c8ad79f3cad702a3f2ab805bdb12c9e3c16e8243daf93e23e456c40bd69b5a13c9f0a383d78cd5b3e9b4400bdcc5a7c3cc1fa023d7f471b3d55d82abc6d32333c1d5dcdba955f82bd439851bb9bc08ebdcb27043c0000000000000000aadf9abd6648553c00000000000000002f0c8ebd7da1483c0000000000000000cfe458bdeabc303c00000000000000006d9025bd9ea0113c00000000000000003ac4b6bcfd841f3c0000000000000000a2fee9bbb7b7c33b0000000000000000c01b573ab2f9363a00000000000000001150003c244679bb0000000000000000d19a02bc15f5eb3b4b8e903b8749cf3b108cd0bbbab8b53c3645923cca18673b4568ed3a40a0043d95e1bf3caf659b3ac73c133cdb5d123dbdc28f3c0b9eb1b7bf5f7e3cd295e13cd4d3533cbcf050bb58b0603ce3a1b13c6404083cff0238bbf2be2c3cdcdc523c44bb193b08f416bb824bd33bd398713bd00f8aba4b33cdba0070f0393a0dd9baaf3f81bb038baebaac59babbb56d89ba1e28863c0ae58cbae656e9bb4422e6bad7b81a3ccad8a6bc8c4b05bc10dd1aba34c622bbc86749bd0b2eacbb553bb8b9909a88bcaabc82bd044a1abba879513a06f5efbc94b081bd95bb28bbe9a8b83a5beef8bcf6a54dbd7a1d9d3af907a3ba5dc7e0bc5944f5bcbc22b63a1dc299b960aa96bcfaaf00bc57f81b3b5b1148ba3391c6ba84fc183c76377fbdab8da9bcedb4803c2d62f8bac3850dbe615398bc9a6fc43cee5846bbd8ab27be17007fbcc907ca3cad0585bbe87d14becdd3dbbb1055723cfc1133bb0ee6e5bd9468a5392372243c142da2bb62049cbdcfaad93aaba4953b7a7e2bbb6b2b19bda5c8053b22a30c3adbb832bb37c218bc46c1463a0e8305bb3f0980ba40e42e3c5c7cea3a1ab94dbbc4a1973909bf243d851464be0118713f5b6de93e181e203dd2b746be330c7b3f041bb83ec413d53c49e0febd22e9703f1ffd773efdcfae3cdd7366bd2b484e3fd032083e42f1913ce61014bad3c3213f09604c3d51b67a3c6c91e73c453cd63e5f4be33b9371823c33b51e3dd3595c3e6e4d90bc6901673ca6decd3c5ccc5a3d44419fbcf862373c18a31abc0d2850bdfd09eabceb4901bea68e923c0000000000000000a1770ebe75b9ce3c00000000000000000632f6bd3cfbb43c0000000000000000a153bbbd0e8c8d3c0000000000000000e19f86bdf66d753c0000000000000000d8aa16bd3e4c213c00000000000000002aaa59bc73c2d63b0000000000000000c9ddfa3ae6e4553a0000000000000000dfcb803c8ef9a9bb000000000000000077cfe1bb8222553befd8913bb53d273c2fd69abb4c279e3c12178f3cdcbf193ce68a243aff2f013dc194b33c696fe93ba863ec3bdaab123d63da8c3c01025d3b235d523c3036db3cb8242f3cfc71363bf5094c3c2a1ac63c9d2dff3bf83701bbb68e263c103d3c3c3ea0483b202e71bb66b4d53bab58ae3b4dc333bb94cf9cba3b45a93a8ef907bbb0f194bb3b6fa3ba14ddc9bb3ef371bb18b3663cad43263b5ec006bc544e30bb6a99ee3bf6377dbc2fa0cbbbcccc26bb78ee24ba4d752cbd64dbd9bb2dbdd2b9e3505bbcb8ba65bd232283bbdae0ce3a828dd9bc199171bd621be5baadfe0eb93d1ae0bc044d41bd15b2bf3951f59d3a02a0c4bcc40fd6bc4a3ca13ae20027ba6a1e89bc396014bc97d5153b823396ba3589fcbaf764f93b6ebe3fbd55462cbd2625b23c1d616fb90c54f6bdb04557bde5d5063db8da8abbec3518be0d943dbdc34be03cc81b32bbf9c60fbe6e9305bd1e74c63c479159bbc3fbc7bdc728acbc20674c3caa6997bb85d69cbda0ceafbb42a1e53b65f48dbb7ef519bdfff339381eebf13849be63bb05e80cbca39cae3a67a201bb96b5c1bad41f2c3ce0a19b3bcccc5bbb0d2a55391e5c0a3d0beb3dbe8c84333f1932353f49ebf93c788d23be5b2d423f51631c3fbb7b953cf394d5bd84e7413f26a8ec3eca1e593c216e52bd206f303f071b993ec9687a3c85e0fe3b1fcf063f0da0383e04192e3cc98e8d3c8254ca3ed5367d3d5b05353cde64f83ce95d543ee64e773bd5184d3cb2fb993c5539883d9fe1f3bc4d871e3c1a0a07bc2b7611bd1ad44fbdd2663abe0c07ed3c00000000000000002e904cbe319b123d000000000000000028f833be8619f53c000000000000000015aa0ebedb0bd03c00000000000000000be2cdbd470f863c0000000000000000967170bd5053873c0000000000000000becd9cbc2f31073c0000000000000000f840cf3bed5f0aba0000000000000000f392b83cadf093bb0000000000000000ccc0bfbb93bc043bf599413b76e8473c130ea7bb77b0863cb41c8e3ca74a8b3c92280fba1ac6e43c77e8d03cd7e54c3ceadca73b5d4e053d7e579b3ccfd2123c1de3343c615b003dc566643c7bdb3a3bbf880c3c6707c33c7a0e0f3cf19a1a3b9538073cc7ec673c2d9da33943922f382a38dc3b96058a3bf4b387ba2081d5bad981ba3add71ebb9c922b6bb237d4fbbf980adbb0cd884bbb8af363c23cd5c3b622f0abcbe36aabb2d55c03bbdf6d1bb08c813bc11f04dbb7a0bc1b988b7f7bcfeb6cfbb9c5ca4ba8a4723bcd49440bd4f8894bb70e7c5b9c12e9dbcda145fbd7feb52bb83873e3afa7cbabce21c28bdd6df05bad808453a7e9d98bcededd0bc94ac293b192cacbafe0c66bc833e36bc6436133bd015b7ba057203bb7ebfe83b886300bd16917abde50ec23c072d37ba3c41d6bd1201b2bd69c6263d658a8abb60e90ebeb719a5bd4937213dc9b193bb1e8f07be308272bd3264e23cffab87bb4b87dcbd7ac713bd2128b03c07bfd4bb3b9c9bbd1488a5bccd0a223cb028a1bbe1261ebd8c0199bb7328e03a9fbbaabb64b63ebc6840263be86433bbb598e3ba8bbc3f3c70eafe3bf46a26bb0461bbba107bbf3c776a05be906be63ef393723f32e0943c7adfe5bdb129043f94ca5b3fcd192a3c380c9dbdf2f00e3f4ff92e3f3fddcd3b0c1702bd6ed1073f9d64f53e238ba83be1e430badaf0ea3ee3e6953e4d439f3b561eae3c40d9ad3ec8720e3e03bda83b9794c93c48e04b3e0d3feb3cdce6cc3ba778ab3c459b953d4a5106bd05ef183c0b0c06bc3b06b6bcdb038ebddef061be45921a3d0000000000000000ac0580be1b1b3e3d000000000000000087bb65be8d681a3d00000000000000003d0834be6127f83c00000000000000003f3d08be41c4d03c0000000000000000ff9493bd6d477c3c00000000000000004f0dc8bcf0aa093c000000000000000025a03b3cd89a09bb00000000000000006bd0c93c085280bb0000000000000000b6372abb1be2bcba3cdf353bddc87b3c947453bbdf06213c460b933c6469c23cf4085f3aa663b93c5c3dd53cd061a33cba7d843b83dbfa3cf598b13c6d425f3ced85ff3bf8cfe03cfef4633c9363133c2e4f173c333dbd3cdb5d293cca5f483b82e3e43baed1623ce8a48c3b688c2cb925a3d83bb333763b8d8ef6b916d9cabad2becc3ab94a23bb92f940bb2a5f69bb5f7be5bb3bf7a4bbe03f9d3bf4441b3cdc2411bc5424dfbb89056e3b660bf23a3cf417bc27b2bbbb67c821bb3fd4a6bc52f9d0bb36ae55bb98be00bc7bd517bda819c6bb8280333a7c3d83bca10537bdf10386bb71af8d3a291e92bc42d720bd58e2a6b6dc0d9bbae4db83bccc38c1bcedb6a13aeda429ba3d0c35bcdd0732bc0a0b373b813637ba508ad2b944d7493baf3c82bc9e83a0bdcef9063dc77e5fbbd510acbd9721fdbdfb03483db7b1b0bbae48fabdd55ef3bd00773a3dedd2b3bacbdefdbd74b6bcbd3381123d4ba481bb88abcabd330d70bd3729bd3c8c87d2bb373e99bdc1970cbd1a2e763cd69ba5bb0b4b28bdfe454cbc9311903b228d83bb8db529bcd5a7673afdb4d5ba34931ebb454e113cc0d31a3c22015dbb2e2daebaba2f443c2b9f92bdd7d1593ea8fe903f9276b73bc3976dbdfe4d8e3efd088a3fb418373a6a5b0ebd412db03ea142643f5355a0bb8fea72bbf1beba3e5232283fc671e3ba91dac23ce3afa93eeba2da3ebf3babbab0dede3c12f78a3ed4fe643e15210e3abb53ed3ca59f2e3e16dd893d09da573b504a963cb14c943da20904bdbcd78e3bd9f171bab1db03bc8054a5bdb45472be247b383d00000000000000008f5b8dbef1b7573d00000000000000006a6780be54aa263d0000000000000000b96754becf60113d000000000000000042a21cbe25ddce3c00000000000000008f84b8bd2eef903c0000000000000000a0f000bd79311c3c0000000000000000a918323cd38617bb0000000000000000510f033dc46f01bc0000000000000000d64defba0f90c4bbeefed23b37b9ca3cc696b8ba24614f3bd4f8973ccac2023df61f34bb1f0da63cf8a1ea3c9325f13ceb332f3bf59ce23c4e64c43c0d44a23c340df93b9d76dd3c200e9c3c9b8b4e3c047ae13b9021b63ca5215e3cf033e63b817ab43bdd176a3ca729bf3b9197113b5679a83bf872cd3b7ce0383aacd78bba1dc7e23ae02538bb7bad99bb431699bb635b00bc8d07ebbbe4143e3b85a5853c67ce63bcdccbc8bb725f83ba9b17173c1e4725bcfa17e2bb2e721c39dad142bcf632e5bbf50a8abb9670bebb25e7e9bc8560e0bbca791438254a6ebcf6db1ebdffc095bbd0b978b9131d59bc86cf15bd524e42ba84e6a1baf5f741bcb90ac9bc4d15c43a2ab1a039b42c15bcb1ed6fbcf953a43aeed88eb9b54d673ad0a6763a61243dbcabbef9bdb584163d4a2914bb3c107abd9d551bbef56f723db196ffbb38c2e4bd17901bbed022473d58d491bb690cf2bd42b1f5bddfd5253defb181bb2d55c9bdce07aabd882deb3cec15e4bbba0696bd1c0b4bbd5ea7893caa54ccbb98b628bd74afb3bcd1fce03bd5a77ebb38b283bca372903a6d2f97bbabad08bbc9ce7f3c2286763c132158bb581b35bb6ac146b9627581bc53219abc00bbaf3f749158bb6e8484bbfc6b913d1d019b3f642920bc88f63a3b50a5223e10ed863f831049bcf880b83c427e5c3e9ca44c3ff3a513bceb3f183d36ec673e80be0a3f20832dbc40c5223d15be493e05229d3e278fcbbb0e1b0d3deead0b3ec432dd3df1f028bab766c13ce67c933d5e3591bc32e5263bda0bd53ad5dc10bc55f9f1bd5f4677be4108333d0000000000000000617983be421e4d3d000000000000000049077cbe4c222a3d0000000000000000c84d59be15630a3d0000000000000000b21329bedf61dc3c0000000000000000fdf4cebd28cca13c0000000000000000d79712bd24a3083c00000000000000004be1853c2087c4bb00000000000000006c4f1a3d9f41c2bb000000000000000000000000000000000000000000000000c2b347bb640aad3b5f93bb3c21481a3d09509d3ae661863c8604e03cb05ae13c5be0703bc3add63ce854cc3c5480a73ca727d83b8182c93c0c59a13c4e575f3cf4a0c33b1f40b73c4a54493cd8a4ef3bbaa4cb3b5947403c7ffac23b7cca353b4df67e3b1fc8253b22ed043bf3f54abb0000000000000000000000000000000000000000000000000000000000000000e12f11bc29371ebc6b1dd53ad2f6473c304527bc2fe887bb416bf0baf8e81cbc2c38cfbb9749c2baee0108bc372bebbcd0a2d4bb3432d0b9508735bc98170bbd1c26a7bbfebed63a159a6abc2a4f0cbdb1052ebb0256de3a8e4c4fbc150eb9bcf56f00ba0279a7396534eebb516e27bc00000000000000000000000000000000000000000000000000000000000000007ed489bdfa713fbef10e303d22839c3a2024c6bd2a941fbe4fc12a3df857b4b9ae1fddbd14d504be13c3f23c8d924eb9c8d3bcbd9179bbbd7a16c23cc89d47bbb6f685bd31326fbd63ac853ccfa3a8bbe14f15bd7482d3bc5105db3be164bfbb4671babb584c8b3a2547ef399d9b83bb000000000000000000000000000000000000000000000000000000000000803fd9db2dbce2d2bb3cb374b7bd6503b03fa1f85cbcaaac063d54d6123dd1088c3f333077bc831f473d1a26d63dc5dc5e3f189c6ebcb4086b3dc0fa073e6fa21c3fa5ed3dbc32f56e3d4b8aff3d045ebb3e70851dbcf1364d3d4970ba3d1c44203e8ecb21bb13a7ed3c00590a3d4c8bccbc0000000000000000000000000000000000000000000000000000000000000000e99348bead7dc43c0000000000000000f06934bedd71923c00000000000000006feb26beaba7363c0000000000000000e4780fbec5fc3d3c0000000000000000480ec6bda62a473c000000000000000018e22ebdeee1013c00000000000000006297b03ba6d8493b0000000000000000000000000000000000000000000000000000000000000000000000000000000091b7023d154d943cbe3cf5ba948966bcaf56403dc718f23bf5cb33bc11c550bcab02483d0c60d4b9f0be1cbcbe2f03bc08bf253d8fc55fbb759e0dbcd5dfcbbbaef0f13c3543edbb05aba4bb0a3665bb144e893c4c16debb83d6c2ba5fefcfb914a8e13a57f61abbfca8413a6a1e0d3a000000000000000000000000000000000000000000000000000000000000000030bfb4bb2f54043b5b7b8ebc9440dcbdf7daa7ba1d05223b056592bd805dd1bda713e0ba81cbe53ac6c6dfbd7ecb9bbd9175cd397e24373bdea7edbd3b6730bd15e1a33af87fc53a14fccabd091263bcfc2f78b97a5ab63a87b187bdccd4bc3b32399cb98a76793ae747a0bc2c186c3c0000000000000000000000000000000000000000000000000000000000000000de66efbd37164d3d220fdf3c88c3febb322984bdea12773d1291823c69dd35bce302f4bcc38c443d62d7c83bfe2f26bca89c8abb40391a3d01bb85bb301521bc5648f63b8629b73c013e17bc1100aebba6a7473bbaafff3b452efebb219959ba82faa33a040f4bbb06a7c1bb4b60fe3a0000000000000000000000000000000000000000000000000000803f000000001d5175bcaecd463c58eead3ff78230be4c353d3c84401c3eaed9883fa3ac65bed997563d9a6e653e7a424a3f31e67bbe3d02ae3d9f225e3e2b6a073f7e7378be7fd2cd3d6410223ea044953ec3b846be815eb73df3d1a23d77bae93d8ab0e8bd6182673d9d20eebbe52bd4bcfc7cfdbc00000000000000000000000000000000000000000000000000000000000000001a7594bdafe0763c0000000000000000a3f7a9bd5a36073d0000000000000000acef7dbd1cec143d0000000000000000dc2d0cbd7ede153d0000000000000000eb94cabb279ffb3c000000000000000087f49e3c90b74a3c0000000000000000c7f9e23c92924dbb0000000000000000000000000000000000000000000000005894233becd6903c98a5c23bc1101dbc71f19e3c5c0fa03c9f11fa38d92269bc26fa443d8958163c447a01bccdb642bcc613573d9b778b3a372326bc78dc1abccc643c3defd2a8bb4a5f14bc96e494bb38dd103d009a1fbc78568ebb960f2ebb62e69f3cb698d1bb98111bbbcb0f2539ad68e53b69222abb8ee649b7cbee45ba3e41ccbbb5ff77ba5345d03a5868c93a55908fbbb681b1395398e23c791857bd5b3f67bb60f6e03a2e5c67b954bdbcbd86744cbb6e7c313b5a0265bd64c1eebd99cabcba016d403bea80c3bdcb31b9bd58c829ba1b89473b3a25e8bd60ee45bd32c531bad16a203bef19d2bd11a98abcdcaec6bac529b83a2a7d89bd4df4453bffba5db915c7733a3575f5bc0ab1083c69d639ba91d1223ac92e443c5b93803c2d3dc7bdd032023c44dbc13c56e22dbb9524dfbd0bf2503da22cb43c29e729bcd48fa0bd315c663dfbd88b3cd36639bc9f9f1abdf37c483d8ddb8e3b34fe1cbc8cb223bcdfbf0c3d14af76bb8a1216bcdb2bc03a2c5d9f3c499c06bc55165dbb0de7153b7992dd3b332af8bbd004a337598eaf391b0ecbba90c251bbc56ede3a65284dba54aaf3bb1fef51bbd7cc313bbd3f8a3acb2146befd34ad3fc4147c3df26c1f3c2f68dabd8380a63f6d7b8fbdca7416bcc24ac03d586d8d3f40880dbe13cb633cf03e523e495d513fa34e45be8e37473d0f1f653ea80c0b3ff24f55be83938b3d6150343e8c059d3e88d72ebe6f22953df954bb3dbbece73df43bd1bd654f593defccc53cd041b8bbc0a9bebc79df8f3c7cdb56bd0415aebd01372a3cb07075bdcae5573b00000000000000003443bebd322cf43c00000000000000008bc6d9bd855a143d00000000000000005b36a6bdfbfe293d00000000000000001ee53bbd8229233d00000000000000009c6f20bc7f68df3c0000000000000000fe8a7c3c17f6423c0000000000000000ccf7923ca05dc1bb00000000000000003d80d33c749b16bc0000000000000000467465bbfcf97a3cfa2ca43bd4ee9fbb1309a83cd17eaf3c4dd8cc3a5e0443bc75e32e3dd5f2773c61e5debb15f35dbc33be503d05b8ba3b4c2028bcc55816bc0a793c3def583bbb2d9b0cbc3963d3bbb616123d230da7bb6bbbe3bb072163bb8947ae3cc2db05bc12a4a7ba0487a5ba5d39f63b0de748bb9235e937c8a872b9c66d6abbeb5d41bae614823a2a65113ab289b2bb0b261fb806b4dd3ca1b80bbd018eb1bbb063ca3a89b017b9a4b0bfbdd394aebb0d80313b91312dbdac88fcbdd1e863bb3f1f583b47a2adbdd77cccbdf276a8ba6baf2d3bd34ed1bd093783bd76ab8cbab3c7233b470ec1bd0baaecbc901b99ba8cd7093b030d86bd4669a4bade2207babfae333a73e7fabc9986373ca089a9b9f0c2983a950c993b5891633ca12a92bd0997abbb9c36b13c150a8abad9bcd4bd9580b33c227a003d76bb0cbc516aa8bd7464233d57cbec3cfdb700bc72d932bde809283dc9c8603c78d435bcd71646bc0238003d2297683b1a6f0dbc329005bab91bb33ce1f2adbb986fa6bb4597033b4e43053c1089e5bbac7659baac28b8b95d5ba4ba0c389ebbc542e63ae7ec44b9d78f93bbf25b94bb4a9af83aea74903cb2a862bee2a7913f162d8a3eb1454b3c50c609beda1f983fbe23153ea5e829bc57f8653dcff4823f7ea9213dfbdfe73ad3b92c3e43d94c3f726498bd474a1c3dc62d4d3e131d0a3f5bcceabd9aab483d2ebc313e5069a43e823a08be66c97f3d73f6bc3d3aa7053e9887babd9a3b4c3d74d88a3cd140c53b71b616bdd0f8aa3c59bc24bd800371bd1334cdbab7e6c8bd17fe253c0000000000000000857919be0356e73c0000000000000000c6ca1cbea915ec3c0000000000000000d04001be3a7d2d3d00000000000000007c19b5bd2791163d0000000000000000f4362abd2e510d3d0000000000000000a19474bb2e308f3c0000000000000000a4547d3c5eaf5f3a0000000000000000637bbc3c3e7ceabb00000000000000001e8c64bbbba4883c1ebcdd3b25287cbb14cd9b3c1724bd3c4e22203a0e2215bc125c2c3db1d28f3c0c80afbb4fcc47bc27cf4a3d7418043c7d510fbcec9426bc7d663c3dda3256ba3f4d03bc296cc0bb0833153dbea99ebbfb5db6bbaf8784bb686ead3c4ff3dcbbb00634b91dd721bb31ad053c33a1a2bb1497af3a438d663775a68bbb4da31bbbcfa1f23a25fa3c3ad8b0dbbb3b98f73833b4f03c5ed720bdcb77fabb3fb6643ace9aac3b7004bfbde50eb9bbc80ff33a617106bd71f300bef5ee6bbbc87f453ba93893bd9977e0bdbfeabcba1c57553b21eac1bd68be90bd5eb312ba162c1e3b8f2ab3bd7f7e12bd482e63b9f13d763ad9ca83bd9613afbb83277cbad80acc3a11cafbbc80f93d3ce3a3443a7b53bb39a70bab3bd5ce9f3ca6aa87bd7c3db2bc4954b13c8614113b1677d0bd18f3103b8836233d66d8bdbbb07daebd9b10cb3c2c4a0c3d8a3f02bc2a1242bdfa3b013d0c15a13c5ad62ebca69369bc2a55d53c40a7db3b34eb39bc268b0bbbbc4c913cdb9928bb12e6c4bb3714613975950c3cffb0d3bb02e634ba709862ba3248e8b907fccbbbbb7e8b3a86c7e4b96e63acbb69d4b4bb0e49063b3c483d3c7b1b55be8868743f3a30003fee00063c929a0cbe7d3e823fc1dfc33e5285afbcf3af173db0436d3fefc85e3ed44d5fbcc3381f3e799b3d3f33af863d4ea01a3cf81e4f3eee35073fd51123bd7f91083dd55a2d3e30b0a23e4cad9cbd3818493d1b16cc3d8de90a3e892995bdc9e5363dec10a53c55c43d3cb20122bd9141b53ce7ac37bdf94462bd44cca9bc267410beac893b3c0000000000000000083954be61feef3c0000000000000000fdbf52be4aba0b3d0000000000000000ad362ebe591a303d000000000000000018d304bec278423d00000000000000002cd791bdc70c173d0000000000000000231291bc178eaa3c000000000000000018a36b3cfee8163b0000000000000000828ee13ca8757cbb00000000000000000b7f57bbc8007d3c3ce7f83baadbcdba0791803cdaf5c83c30149d3b4c8617bcdc63203dd276a13c45fce8bac77151bc9b3f4b3d3ad21f3c90dcebbb77e53fbc03e7333dfc2c873b7f9d18bce2b10abc37e31b3d7350a8bbfeff95bb3295cebba14eb03c32869bbb290176bb934dfd385ee3053c5f5b61bb02960c3a38cadcb9f449acbb409429bb9e1fe63a4c0ec83a310bffbbeb2fcbba5f1ed83ce4a3fdbc774f03bc98e9a738b969133c83d2b1bdffbdd1bb052b963a4aa8c2bc2e9602bed5c686bb89a64c3b2d1983bdfbd3e9bdebde30bba5002b3b98cdacbd3698a3bdebc720b80660193b37d3aebd272f2bbd8db811bbed06233bbefc72bdfb8030bc47b9fcb73e85473a753bf2bc4c5df73b8d17af39ccc9323a81b2423bb1f3ae3cb9e97dbd1bb217bd7221c73c9dcdb63b032acebdfe8495bcb06b393dde3789bbbbc2b8bd0371f23b7664293d6d2abdbb190559bd1959ae3ce8e4e83c1f082dbcbbcab1bc8f14af3cd3b3873c850c00bca616b8bbf15ba63c08b9753a958cd7bbd8e5633a425eea3b21ca87bb9e9c52bb85b2f43a72bf8eba0770bcbb0f1a083a270c4939fc6494bb9e0bbfbb1349543aa622623cdc3842be4a2c3d3f814d3a3f6a8b9c3b7bf800be4a35523f88421e3ffa8dd4bc3340063d35044a3f851dd83e5f6bdbbc41141d3e4f102a3f7c645b3e71345e3cfe8e3e3e9e2dec3e5174c23d1b9f823cc940363e76e79e3e89ec9ebc0c4d113d88edda3d017d043e865044bd3b8b1d3de06df03c73b37d3cacb82abd3b15b93c45d026bdd8fd58bd9f1c0fbdbc2a30be13f02e3c00000000000000008f7283beee23013d000000000000000062df7dbe1ac1fb3c000000000000000092115fbe6b002c3d000000000000000067b922be247bec3c000000000000000078d1e0bd753d2d3d000000000000000016300dbde574d13c0000000000000000b53c1c3c0ad69d3b0000000000000000b575033ddc7903bb00000000000000007b2277bb8f5c553cba61123cd147dc3909ec583c4ce7d33c8f29ca3bcfb6c9bb726e123d2085bd3cb69f683a02a961bc2c43413dba25763c6109a5bb30273ebcbcf33f3dacb8933b27d70fbc30d7fabbb3511a3dbad3e7bae5b3b6bb5ca0c3bb76ebb73c8c92a4bbbe4694bae965ddbadc30083c7ce962bb735aa6b7d774d539eefc87bb1ba531bbb467c43a8cbd9d3ad7a401bca19e0fbb2c60bf3c0c07adbcff8121bcdbe460ba5e41473cc70ba3bd7b0bd4bb294654b96d6f5abc3b3c02bec571aebba8441a3bedde4dbd6617f8bd4ebafdba20703e3b802b98bd1c62b6bd177181ba6e45223b6b5f98bd05395bbd8b2a5bba4442873afa0768bdc3b080bcdecda9ba9309ea3a7ce3e5bc93fcd13bcf251cba99c9a93af27a113b77149f3c40ac6fbd78ce47bd98dec33c710cf33be846cebd4d4d2abd6e1f513d5ea381ba3437c8bd639212bcddb34b3d8fce84bb6b0b81bd55b5213c7c820a3de53217bcd3f8e9bce05c8c3c5d8aa73cbbb24cbc5fd917bcac6b543c443c0b3cb50e03bc224730b85342763b77f584ba26be2dbb036cd63877eb1bb80cc99bbbd75b23ba5b4f4e3b332566bbecd5d3bb4e8c713a6a084b3c026f23bea6b7033f8cff703fa0a4153b8020d3bdebb71a3f232d5b3fe04902bda9c4063d9a0c223f34ee203f586d11bd49d20f3e0b5d113fe092c33e406fbdbcb16b493e7ed7e23eef143b3e7d9eb0ba6a6d353ea76b923e4f5c643d7bf7ae3c1c31f03db8a3043eeaa893bcda38e03c0f7f1b3d0e12983cb23f23bd6445a73c0e1d08bd2c6745bde6d939bd0af145be68dc493c0000000000000000611095be9904f43c00000000000000009b7393befde8e83c0000000000000000000881bef0a91a3d0000000000000000cf2054be13403e3d0000000000000000858c05be445a243d000000000000000043b950bdc408cb3c00000000000000004c0b813b994ce63b0000000000000000860fe93cc4e17d3a0000000000000000a785a4bb4b013a3ccc51263c1024da3a88a03b3c52c7c73c8584263caa7f86bb8404083da871d23c5e59283b1b7327bcc81a373ddc4a8e3c02568cbb235d4fbc0055383d9838df3b3202b3bb469e2bbc31a41b3d6e8a413a41b9cbbbeabbdbbb167fb33cdbf10abb926f4bbba5670dbb37fa223cd6d484bbf5b2063a2f72f6b963d859bb8fba3cbb4ac3e53ab43e713a6c1402bc386d12bb1fc7923c4d7be9bb26fb23bc71acffba521a3a3c03f481bd428217bccdab85ba4bdbf3bb9cf0f5bdcd8890bbd711c23acfe01cbd4813febd85b921bb15ca143bd1947fbda30fc8bdb09f52b9d33c063b2d3c83bdec3a80bd844dd8ba8ef5013b1f5a4ebd2e25ccbcb0408aba73baaa3a7eb6ddbc9eb8e83ab6fc8c39be19563a6468ef3a9a52933ceda652bd0a7271bd3f27e13c911f9c3bade8d2bdf90883bddf435c3d4fa0a63a9292d7bd7293f6bc8c94603da2e8983ae70f94bdec686dbbb26c2d3d5cc6f2bb9c2414bd7c0f243c723dc53cf81bf3bb563c68bcb08b263ccfbd453c53a700bccd07a8ba1bcd9b3b800e403b76a694bbedc6dc3a6b7381ba473043bb938cc3b9d8f5283b152533bbf80adabb734f353a5b77643c8029ecbde0148d3ef0a5903f6bc806bb576a8bbd4b95c33e16ad883ffb2706bd5da8253d3f6cef3ebca9513f4f5d42bdbf8c113ead31ec3e28330a3f1c27d5bc35133c3e57f2bc3ecff39e3e10b383bc7595383e758d843e6ac7053e97a9363ce01af83db2e2ef3dee11c43ca083913c55bc4f3d6300a23c517514bd7bd2813c73c4bbbc378c24bd4a6261bd963756be1c619b3c0000000000000000576a9cbefceedf3c0000000000000000d20e99bebcbf803c00000000000000008f968fbe34cb063d0000000000000000af9263be1860f73c0000000000000000dd0222be6f241f3d000000000000000056c095bdd5ffd83c0000000000000000419fbeba5fbccb3b0000000000000000dc71063de83aacba00000000000000002d26a6bba183413cbaaf643c384fb73b9a210c3cd98ec03c835f5b3c1219babac29ef63c9eece03c12cff33b0a0428bceb2b333d64e9a03c32c7a2b9709d45bcc2cb393d9a0f2a3c832ce1bb06ee1dbc69691c3d2639343be71589bb6b4ff1bb0265c83c410350bb289049bb3f758bba95be1f3cdd5512bb1029a13a54d30eba56849cbb12b484bb8df3ab3953ecae3a996b01bc428bb1bbbab97b3c787e773b366236bc9de386bb5d121d3c789741bdac4f0fbc37c224bbe3d4583ae8f7e8bd0edcefbb659af63afac3e2bc5be700be5fa216bb7f25073b2e8b51bda40cd7bd37bd90baa595f93acc8768bdc3fb8fbdd201dbba4316fa3aef3336bdde0a04bd4f5244ba5b41b43ac7c3bebcd4258ebbdda5aa3947eee23af515563ae35eba3c484a7dbd104ebebdb74ad03c4160423cd1eecebd29e1a9bdb318803df4aba13a228ee9bdcfd354bda12b7c3d592ce03ab750abbd043979bc46953e3dffa6b3bbd90731bde89ce63a3bd8063debbd34bc20e19fbc7439e03b9c26853caaff14bc91686fbafa0a2cbaa23aa23b47aea6bb387185ba325117bbec2e15bb6808b7babebe283cb7b1b1bab6970fbcc7f82fbaf735263c8485a3bda0d4823de96aac3f6597b9374279fdbc15d6213eb9989e3f69b615bdb33f403d0178a03e73f07c3f611555bd6e7a0c3e04a0b63e287d2e3f95903bbd7bb1403ea232a43ec847d23e52c303bd70723e3e78c3683e9bf14e3e15dd19bc0f500b3e7492db3d6f005b3d6e3e9b3b6caa813d5d14cb3c8a7be3bc74be843c3f6d73bc7d8865bd0333b0bd4c1d3ebe3dec003c000000000000000007d899be0d9fbe3c0000000000000000c6259abe968c2d3c0000000000000000423f93be1a3cb73c0000000000000000971a80be0f13073d00000000000000004dfc35be4f01173d0000000000000000fd55aabd1d55e23c0000000000000000c7060c3b5124733b0000000000000000b031083d8e41983b00000000000000000000000000000000000000000000000059f2143cb28fd83c77379f3c0c8106ba7f93f13c3f46dd3c471c143c0e3220bc19a42e3de0a1a93c8a421739636d5fbc265f313d1d41453c69d69dbbf4fe37bc2a8e143d57dd953b0004cebbcbf005bc41cfb63c23f2ea397a227ebb85af5dbb8821ce3bbb273abb9201d1baba0baeb800000000000000000000000000000000000000000000000000000000000000005b1839bce7c4b7bb7dbb8d3c96d74ebd8b5016bcd4fc3abb87bedeb92297d5bd0001aabb8acb3739a368d0bcce1ff0bdbeb46cbbd94ee83a44053dbd2163d3bdb42908bbf7e3233beb4c53bd9a2893bd154196baf6a01b3bbbf029bdc3210cbd6a3f31b9031ce63aaa9ea7bcbf16593a00000000000000000000000000000000000000000000000000000000000000008d59f5bd16bedfbd645c3f3d16d1873c7dbae7bd5cca6dbd427b633df5cb0f3c88b4b8bd1504d7bc38d53c3dfd531c3bcfb957bd2013e4bb5244123d8c4d8abb107aafbc4da5483b93b7b53c3333bfbb0beac9bbdbb7613bedf40d3cb837cdbbac65193c11e313ba696c22bb25c869bb000000000000000000000000000000000000000000000000000000000000803fcf973cbcedd676bca1d8223d6872ac3f21ad14bdd5ea853dc9553b3ea53e863fdb9c4fbded28113e0dc6823e10e8443ff3242ebddd28393e0418763e1c54013fcd3cd1bc6e043a3e678d313e1f4a8e3e67b201bcdb2b0e3e1598af3ddbded73d640f343c8f70783d32f505bcf4d4e2bc00000000000000000000000000000000000000000000000000000000000000002fe638be0d56d2bc00000000000000009ba461be0628cbbc0000000000000000f6086bbea16da0bc00000000000000000d9a60be804319ba000000000000000088fb33beaf694f3c00000000000000006a12cbbd72bd9a3c00000000000000004732bdbcc273863c00000000000000000000000000000000000000000000000000000000000000000000000000000000f0c8af3a39578db9dc539bbbd470f53aeb36493af2c258388746e5bad4ca263b3a3dc238c03c96b924dd05ba621f553b60ccafb847e89eb9a94e113a21ab213bcca48bb94488c4363ff0f33a9d0e293b212aa63941124d3ac9df6f3becc2463b856aaf39a56f963aa08fa83badc8733b0000000000000000000000000000000000000000000000000000000000000000ed42183b48df8239fba15bbbd4b997bcb838273a7d95513a2b322abbe45183bc0b5d1ebb7016d6ba92a805bb860974bc06c5b139946e1138450af6baeda164bca8a3e93997db9a380123dbba2b874ebc66f80f3a2f8a073afe5f89bafd8e23bcf9de4d3a5a76063a3f3410ba44aad1bb00000000000000000000000000000000000000000000000000000000000000006e5a52bd3b2ff7bc0a45bdbbef952cbbe1e55dbd786dd9bc992bb1bb85151bbbee094dbd8aefbebc5883c7bb894946bb9dca3abda1a4a7bc2198a0bb285117bb7b7e2bbd56c788bc5e1591bb6965fcba6cea14bd292b46bc547e63bb1393b5ba13b7f6bc1a76d4bb3d5cd4bac76728ba0000000000000000000000000000000000000000000000000000803f00000000ee69273c70ec92bc818d873ff30400bc3665093c65069cbbd86b633fc1aad4bacb7b053c7a680c3b1ba2393fa8dbe73afed3ca3b558a733b0cdc103f234f24bab1ae7d3bddc3203b51a7d33e4810b2bb2225d63a8a25d7ba2773863e075142bc2c309dba7386fcbb3c67ec3d6201aebc000000000000000000000000000000000000000000000000000000000000000001418a3c90ccb03a0000000000000000ff2f4b3cd6a2f73a00000000000000003b272c3c4a88603b000000000000000062ddca3b95031b3b0000000000000000ffb91b3b96da943a00000000000000002ce033ba0d04b4b60000000000000000d14566bb7a0fbbba0000000000000000000000000000000000000000000000004297013bb403db3a3f25aabbff9e283a56b12d3b4dc34a3b606418bb764b8f3b06e7b93a109fd83a3d5bb1ba4f76663bec54b03900e45a3a30fe10b93e067a3bfcf4e4b9e7931cb96409a53969ee2c3bc1203a3a728bb33a09f5563b4c3a853b715d233a365da73a80e9a33ba98e933bf50b2b3af106ac3a75e5b13bcb07843b859a8f394e23dc393a36b03b25e30d3bc5cb0d3b68f9743ab74271ba2d2b6abcea723f3b6c06d83aa39fecba8ca7a2bce1a1e03adba85e3a67f707bbf5d6a4bc0f67dd3a499c6b3a65ff16bb699f8ebcc8331c3ae440673ab1ef2eba47bb63bc948ba53a865053342d6c92bac4df52bc1d59c73a4da0ee3973a440ba4ed61abcf8568d3ad1498539bc537539d33071bbc2d3383abd73c13826fee6b813acc93a6a08d6bc13b8c5bc85049bbb9ee8deb9b2bb60bd326514bdfa1bf8bb5ed8c9bacc897dbd240116bd916007bcbe3618bb788a79bd55b20abde755eebbac7e21bb9f254fbdd9b6debc0c0fefbb5c5a53bb2f6950bd9626c6bc05d6babb8c47e4ba5d662fbd3aa68bbcf5897abb8cfe72ba22ae01bd769403bc4ceb1bbaf4a55e39c4c981bc72f09eba4b8a093a4de20f3a6d3b0d3c659a3ebd7997863fa09eec3dfc70423c23e939bd84517c3fab5fd83dd23d3d3c6de9c2bcf36b563f39a1c93d17b3263c33ae56bcb1fb2e3f177cab3d0eee0c3c7050d4bbeafc063fe6bb813d37c8bb3b1d93f3bbfe89c53e7bf1293d938b083b513225bcb811793e2f018a3c8b0171b9b5757cbc6cacdb3d8e940cbc319f0cbb347466bcf64753bc1fbcbdbc0498f43a243fac3a0000000000000000e713593b13dbe23a0000000000000000b2a7e23bd4f64c3b00000000000000002db7ac3b25d73d3b000000000000000053852a3bf6a3df3a000000000000000086c20ebbe1edf23a00000000000000007fe0bbbb0225ca3900000000000000002e4e01bc36ff06ba00000000000000002036d6bba70d9bba00000000000000001e4cc73a5908093b64d47bbb16b830baf984a83a4c15253b297d75bb0eee133a708c633a6401ad3a433c0dbb9888bc3aa18e48b8e00a1f3b7bc4ee3917f7fb3a2f6f4cbadce771383f83f8b771b9b33a0c7ebd39da09503adb1b313bc9a47c3b18feedb98a57cd39f061333ba8fc4a3b7f1919ba636ddd3aed939b3b722d883b743156ba9992bf3a0949713bf9b83d3bd128d23a716d1f3aeb220239a7ab44bc2a5c4b3b45da413a6d8c873a2f6290bcd6c7d73aace55f3a82f10cba70965ebceb49d33af9700f3a9a33a0ba362966bcfa21783a7d330db991d00ab9bdc218bce5effa3aab6eb439ec7451ba153f21bc93dd6c3a46e599b9772d613a52fe9ebbef8e303b219efcb9871a803a290e33bbab46103b53ae29bad4049b3a99c5eb3901fe75bc6ec29ebc797605bcd173e43a527c21bdcaa40dbde22f3ebccf035e3944a230bda8770bbd16031abc957689bac03c50bd7ba318bdcd7221bcf07608bb9f3926bd40bde1bc48e300bc5a6d02bb0df830bdde61e3bc732fd2bb585285baf61803bd416c98bc97f036bb69eb52397378dcbc35a64bbc89e2d3baba073639ac814cbc871d68bb1a37213a65b1213aab03083c5e5143bdd375623f8325853e1e52463cddf94dbd2111583f66d6763e6fd2323c1ab4e8bcc202333fb5dc593e8ced343c37b4b5bc426d183fe026363e0215153c0eca50bc6870e93edd880b3e3e91d53b1b8068bccd9fad3e9869c63d6d58443bd2d260bc74165d3e5112653d3bcf103abe418cbc7e5fcf3d3401513c19ccaeba77d760bc1a1860bb9f5f8fbcafe721bc689b843b0000000000000000422f15bc00eabe3b0000000000000000f1facbbb6feea43b0000000000000000c04aa0bba3bd9c3b0000000000000000dba9b2bbc4b3513b000000000000000093f013bc579e523b000000000000000045ec34bc1a37803a000000000000000027f458bc2126b239000000000000000076881dbcee3ed6b9000000000000000076ebdd3ae67d043b6cb657bbd5460dbb1e79b33aa5c0203b71e15bbb875e9aba29a8273a01e88a3aaa94dcba1b900f3a2106da38a3a74b3a30b05fbab812ce3a27b2593a71041db8741208b9bb4aa53a9364c1b864aa993a21cd883a136b323b8ead8a38ae92993a642f603b8702843bac120b38e8c33b3a28e1563bb8976a3b9e908d37713d9339c413073b104b153b1e98d43a70a78c3a8b119e3a94d825bcc46a353b51f3da3a08612f3a4f0563bc92e2f53a54312abaaad7deb84b9a4bbc88b3f93ab882253a496ea4b878d831bcefb6253bcc1e653ad4a448ba5c9e15bc907a343bf2b3bfb9643ebab94c4ce0bbfca9153beba344ba4cfd9e39a8d3cabb3ea8d53a77a4ea38b6e8b1b8f062a3ba87c9c33a2e68ae39b2942039c1c4bd3ac98411bcc0ec86bc45e326bc4c96413a8614eabc33cc09bda33c6ebc50151936fde01ebd20e921bd48a65dbcc7d9e4b9851f29bda93c21bd8f1548bc9d37c2ba0c071ebd2beb10bdd0f429bcdee698b9f7b611bd8e5204bd3fa006bc91ffaeba281ef8bc0565c4bc5f7b90bbd88cb838d166b2bce7c07dbc9e6ab0bababd193ac54115bcf207abbbefa3d43ac0cdd23a8dc1f73b88ff25bd1efc383fde6cd23e8e38433c1d3938bd98cf2f3f8a01c53ee788453cda0ff9bc2966183f7daeab3e5663333cb127b3bccd6ffc3e87778e3e5c041a3c4ec880bc7080c53ef6215e3ee9c0fa3b947b6cbcb051923e3e03203e87c4a83b206683bc82ca3c3e1af8c13dea20203b10a97ebc80cdb23d0281133d3a7db039d66536bcfceca6394ae65cbc1bb9b5bc208a9d3b00000000000000008209cbbcb632f93b00000000000000002ee48abcb538013c000000000000000010186ebc97ace63b000000000000000019bc5cbc772cb23b0000000000000000fd678abce61a673b0000000000000000252b8bbc229b243b0000000000000000f3d490bcee58ce3a00000000000000001ef35cbc8a8186b90000000000000000f1ede93a9134a83a51bc32bbdcf784bbcc41b83ae083ca3a473f61bb94c84fbb7ee2a1381b766c3a71f3dfbaae029bba1a637fba1184a93a2388d6bad27c61babce4e2b9cf4a053928bacdb9e8b6b139557e5038ff13303a6322be3aedd64f3b2edfc1b9186ae9398cc30f3b68d2523bce8b55ba85430b3af36d1f3bf501923b3cbd04bac791ba390cc1ea3af24f553b34002e3b3327da3af1924f3a50ff0dbcb5d2693b2a6ee73a2bf6123a04db39bc6d92ea3aa30e4f3af6499e394c6c19bce4872c3b1173673a16f35fbac5ad04bcdd94993a039b21b924f8a338906cafbbacf3873a05b78c3abe2dc6ba7645afbbfd32063bd2290d3952adfe38545362bb305f103b4cf5a3b9da290bba89f03ab97f0ac43a596023ba0f3a47b9ff7df33a0c5be6bb153383bc608560bcea9fdd3a7bd9b3bca74f07bd399794bc5f26823a14d2e9bca4231bbd2ce97abc0fd371bac74007bd2a0432bd16086cbc54cf66babb40cabc8fe0f4bc53311abc3c928bba7cf7f4bc7c1c0cbd7f4525bc063aeaba1193bcbc0c02d0bc63fdb0bb4c27b5b984e390bcc66a98bc7cd8e6bae898a93a785df9bb795b04bcacee2e3acff5c83a452fc43bf68a01bd28a0103f44ce103fb9741e3cc0070abd230e083f8295073f6c701f3c4eb3a5bc66c0ea3ea2fee73e689f303c77ec7ebcac9bc63e8b4ac33ec407f13bcec60fbc4d98963e627d923e65c4023c435f3bbc9956683eaf575d3ebb399d3ba66a38bc5156153ee537083ee8ed773b4e8869bcbeec923d746b673d1cd30d3ba62c35bcd2e1cc3a6adf20bc9a5203bdc0c6e23b00000000000000004ffa11bdf06b263c000000000000000041bbc3bc10560e3c00000000000000007552afbc6828df3b000000000000000046666cbcc50ead3b00000000000000009829a6bc18b8b43b000000000000000089c5a4bce6a0303b000000000000000047fbaabc3c37dd3a0000000000000000d7fe6cbc81da5a390000000000000000a18ec73a21510f3bd50fdaba7dbf81bba5a42b3ac3f3f53abdabe2ba29346ebb72474a391faa743ad98b65bab1ddc4ba3614cf390e739b3a1e1fc7ba54684c39e50d39b9f25bb839adc1b3397972653a9105a9b8f25b303afa35a93ad1b2293b3c386a39baaf6c3a7335013bdf576a3be2b491388e19043ae63e1d3b7d038b3b4702fcb8923ece39c3fcf03adc163c3b62bd193b1c2ced3934f5013a9b2bebbb7bc9483b0aaaef3a8bb2993ac1a92bbc2dd5593b87ac013b903d9d391f510bbcd5f4343b9ab0613a9c831b3a00ce0bbc7d06143bc605e8399fc98fb992d5c4bb7990463beafe5a3ac6d149b9f7f29fbb4cde2a3b6885c7381f59e1b86b3e59bb88e53f3b8c6f2539161d1f3887739dba1f04f63ac034f3367d9ec13831dcbc399aa0b8bb48a37fbc948886bcc37dbe3a5e809dbc032d19bd9d43babc6fa30b3a0884dabc8a303ebd8da0b5bc176704bb6f59fabc135a41bda93690bcdad149ba6563e1bc862932bd4ef36cbcca4ba9ba6dead6bc47f324bd03e737bcc3c320ba885db0bcaf4506bdac74debbf71e2738bf306dbc5d5fbabcfeae02bbeba57f3ac8c8a8bbc89321bccd5be03afc29a63ad124803bb46daebc7407d23e9ddc383fde14053c78acbbbc73e1c63e18182f3f004b123c83055bbcff72ae3e11cd163fedb6193cba0b10bcb6e3933e8b52f83e0ee3013c3e23f2bbada86a3e3136c13e7f9df13bf06211bcc2f92e3e85d68c3e8565a83b27842ebcd8d5e33d0300313e6136343b797455bc5274593d89d79b3dcc58ae3a51d121bc35cfc2b96eb408bc868b23bde11cfd3b00000000000000004e3d40bd5e5d383c000000000000000008ee0cbd8201353c000000000000000010b0e7bc40d11c3c0000000000000000e01ac9bcba91ef3b0000000000000000bb44d5bc2e8fa03b00000000000000006715ddbcc1925a3b0000000000000000eda2dfbcc6a01f3b000000000000000002559fbcff046f3a000000000000000093d3273a1edfc63a1339b7bae1aba5bb6ec0083a3d1cf03abacf47ba30d787bb0c341cbae757063a9bc420ba16c7fdbab002a3b9cae48a39961cf4396d98e3b9c8b2ab3999cbbb3994dd363a3df8b13a07de93b9f989a53937d1d43a7991363b0f4fa8b94873013a827a063bd0c5803bb9ee5d39df7f9e3a65e13e3b807d883b902b68b9d0bd98399c18ba3a4c405d3bbafe5a3b5c272b3b2495913af2bce8bbd77e943b425c493b2c840a3ac79f1fbc3005273b511d873a6587903a493ff8bb50d43d3bd836a53a1307b1b97099dbbbca2ce03a1938493a0009a5baaae2bdbb1981223bf72cbb37537823ba9c9d9fbbfce9333bbc1aee399b6469b9fe813dbbf0402f3bb1d26f39723692ba71f4e8baba150a3bc8c4143aef9e1239b36620396299fbbb203ea9bc26b69cbc947abd3a774fa0bcce663bbd97f4dbbc9aa7173ad855afbcc61b43bd03a9b2bcf1b34939ff4fd2bc972760bd5455b4bcbab7ecba2bc7b9bcd8473ebd797d82bcf12361ba6642b9bc17123fbd707d4dbc0a4ea23905b188bc5cc60cbd161103bce72e073983b227bca6c6e7bc62e26bb9a4d5213a72dd58bb8ad445bccde7083bc742c63aba602a3b575446bc380c863e3ed6623f5dc4b03b972e23bc46497c3e05fc563f3bf6bd3bcc0686bbb85c603e9d81323fecbfe63bba7637ba5a22413e3dfd163f898fca3b6377bdba40ee173ef873e63e524fca3b160489bbae76e83d6e0aaa3e433f843bc231cdbb669a953d2852563e95ac153b12c33dbc283d043d80afba3d4bb5433ab6d117bc706d38bb287728bc8eb43fbd8d7d153c0000000000000000337058bd51eb513c000000000000000074dd06bdc29e303c0000000000000000ab0ffabc82df1a3c0000000000000000532fbcbc12caec3b00000000000000006582e3bc845ed73b000000000000000070a5d3bc789e3a3b00000000000000006c5403bd33b2c03a0000000000000000642bbdbc9fbd1a3a0000000000000000f691a6373df1233b52d4453a587bb7bb58642e3a3ca3ed3a7016bf3ac67118bb625f8538ee83d8391165883aa29472baa4025c38db15bc3912a09a3a9fdb153aee6c8f3846a335395e49393a8ea3143b6b9248b85293b139cb84e73acb97673b4282a1b9dfe3143a1f35213b46bbb13bfad65fb95867673a9d6e3b3b51b1cd3baee2c338ac30093a554def3ab75e963b3066503b48f33d3b93f77c397a32c0bb62efa93b15cc503b687a2db9dcd105bc51087f3b0a63213b47d667bac817dfbba113883b8dda82b94c46d1b9b59ee4bb549b5e3b5037cc3a420af1ba1492b7bb468c493b56a5273ae0d63fbaf4f283bb2b08623b413d953a867221bad47062bbee985a3b0e3d323ab86621bae7e1e5ba95ff213bc43caa39639be7b9d22686ba212127bcb828eebca402cbbc2f91f1b9f27ca5bc07926fbd81d302bd00e206ba83ebb7bc4aec83bdf65cf0bcb71417bb94e2b7bceb4383bd35a8dfbcef47fbba4409b3bcd21666bd21e4abbcafec96ba12d09cbc0f0455bdeaea89bc8bacc2bacc237abc471d33bd318532bcf3572eb97abf0ebcbe8e03bd24ba54bb53b2b63a1b3719bba1a281bcc6b1d33a08a0be3a6d4e9c3a2caabe3aff57ec3d03a8863f8f5a1f3b7a9aa33b54e2e03d5b307c3f0f4d903be688143c3912d93d199a553f730bb53ba0c4103c5123c23d166a2e3f2ddbcb3b4e5cd43b78c59c3d972b063fa730a73bed07df3afb05703d7e8ec33e3464783be6d243bbeaf1133d0e01753ec43be13ab07c06bc8342463cb0edd33d33ab263ad6c204bc28cbd6bb34e680bc75bd3fbd281c0e3c00000000000000003e4a46bdaba43f3c00000000000000002014f6bc5b59263c00000000000000007514b1bc10940f3c0000000000000000b78993bc5d56c43b00000000000000008b4ab3bc7816783b00000000000000002e5cdabccc51c83a0000000000000000c4a302bdf1df3c3a00000000000000008143dcbc63c1fab90000000000000000000000000000000000000000000000007e873239bbe9c9b9bc486ab98dc383bb703f3cb9efbf4dba62918ab9831e12bbbc7b3eba70906cba10e728ba2437bbba5447cbb95fc418baed175b39bfadc3b9cbf4683a40e29cba6dbed4b92ac31c3b8737b6b877fc2b39ab57a93a51b06d3b81f54439c597053a8cfbe73ad6ab9e3b0000000000000000000000000000000000000000000000000000000000000000a4a60c3b7ca11a3b66fa3ebac2e796bb649cdc3aafecc13a16b343ba09358abbfea2b63a651c753aca52d4b9633f48bb6ecc5e3a1bd86439e3ec7db9913f35bb627c143ba0c015ba365ff23961b988bb6c690c3b5eeb273a848205ba9d842fbbda431e3b57eaf339320dfdb911b222bb0000000000000000000000000000000000000000000000000000000000000000c92281bcca6859bdf67be0bccce026bba89181bc35435ebdd39bcbbcb62f38bb443880bcccf94fbd9b07b5bcc5c447bb89a76cbcfa823bbde2e898bc0e8d4dbb579150bc5c9128bd11a587bc77e852bb5b4530bcd7b915bdff5534bc0c6897ba1a09f8bbcfb1f5bc8b40c2bbd64cfcb9000000000000000000000000000000000000000000000000000000000000803ff404003b8f55853cbcd8c8bbf37c873f22e6673b83d0713c15408b3b9554633f8350943bf20a5a3cd091163c049e393f9833973bf6fd1e3c54f61b3c1db2103fa253433b1ed0d23b4e9c023ccb34d33e300d533be393b03a910d2e3b0e1e863ebb788f3a9e245cbbe8c52abbdc4fea3d0000000000000000000000000000000000000000000000000000000000000000b17aaabcc6d9043c000000000000000069d51abc2770f03b0000000000000000a164a0bb4ebfc23b00000000000000007ce3b2bb6d137d3b0000000000000000964110bca6e52e3b0000000000000000619276bc849c5a3900000000000000004b73b1bc6da4edba00000000000000000000000000000000000000000000000000000000000000000000000000000000599e7fba711a64bb9bb8b4bbd4d9d4bad3dbaebadecb66bbbcbd8ebb4acfa8ba8391e0baf26f73bb84aa79bb12d990ba867ed1ba0cc450bb031631bb5f73abba2d62d4ba0b634abb919ed0babb2aa33a93dbcab97eccd6ba505b163a32b9973af6fe12b959db3abacb4b163b1235273b0000000000000000000000000000000000000000000000000000000000000000f0309bba94e3253a11cc5fbb2d8420bc3a3cd9baa4ffed39522b50bb3dba28bc57effcbad4c0b0b8a7cc48bb3d922abc35ae13bb0a5502b9c9252cbb63d31fbc2d4e96b7d7aa01bab82862bbd89029bc8f8fb1b95b547c3962df35bb919513bceb7b623ab022a03a7be152bbb2ba03bc0000000000000000000000000000000000000000000000000000000000000000d2a8d3bc3a1dafbc6f2f03bcb4eaa5bbf83fe0bc1339a6bc0f9c18bcc40fb5bbbaf9debc70a29cbc7dc01fbc92c3bfbb8693c8bcac6788bc2cf621bcd6a4b5bbc11ec8bc9ba67fbcc91722bcc42f79bbe7ddb0bc6c5748bcde0608bc5a5c82bb18809bbcf70217bc04aae9bb272155bb0000000000000000000000000000000000000000000000000000803f0000000088203d3c68033b3b9d01783f8303e43b8d70403c77c0133c0192523fd567173ca0153e3c2c2a3f3c58012e3f7d7f0e3c98e42a3ca4e0433c2050093fcaebc83b94edf63b8f10203c5c86cb3e21ae3e3a8c20ad3b46d7dc3b3ce3843e474899bbad26d03a1be1db3a24a0fb3d13bc4ebc00000000000000000000000000000000000000000000000000000000000000008d3c9c3cade98f3b0000000000000000a4ac803c08eb8e3b0000000000000000b9844f3c049a823b0000000000000000e472093cc2f5283b00000000000000000498883b7667db39000000000000000084e8483a46387bba0000000000000000f0ef3abb389f4cbb0000000000000000000000000000000000000000000000007a42e63985feceba1ef8afbbab860bbbfae6cb3985fa1dbbcc2aacbb61db8eba0dcfe5badf8378bb41d7a8bb39a8c9ba182006bbc43884bbfbe07ebbb89a4abaec599fb9a54285bb3bdc4dbb20d9adbae1b785ba700731bbec73feb9d913713ac4d38fba30db1ebadc81073b940ceb3af2633d39d24386b9e1043f3b2fd1583b449f1c3a3e3a1f394dbd2a3bd26a383b0a589ab92745943a560ccfba7d29ecbb33e64eb9aa76e43a5ff76dbbb89b3fbcf993cebafdea1e3a6a2918bb200849bc6a25c8ba5893823a7d0f71bb300a4cbcc14d12bb483db2b8577d59bb7a2d1dbc02b70bbaf7cc213a7afe9fbbacd137bca00051b99ff7273b68138abbf86016bce6b8bd3ad6bc9f3a6ee648bb03d6f5bb10a3c53ac3bd6d3ac08404bbbb6270bba3cf50bc41ab89bcb914afbb118828bb8e29dcbc8f20d4bc943025bc9bd8abbb73a6efbcdcd4d7bce1264abc25219fbbfa1a05bd78f9d1bc098f4ebcd353e9bbf88de7bccb88a4bc5c9829bc2b43e1bbbe0deebca165a3bcc19b3ebc9fd4b7bb6cddd3bcdb4487bc9ead2cbc7ba076bbd30fa5bc7ec42bbcdd58e0bb148c33bb9dee31bc75f98abbaca75abb37218fbafd8a103ce65a4fbc2d61763f7e24043e79725a3c00e0ebbbbf75603f1195f43d02b07d3c8153453b46733f3f092eda3dcfc96c3cbd9b0a3c009e1e3f49a6b93dfb97393c212c053c6803f83e63e78d3dbb01133c3486e13be213b93e8b49483dd3d6a73bd50f6c3bf4126f3e7beac53c2b26f53a1b16aeba4722e33d382d6e3ae67e8ababd0999bbb8ebb0bbf35778bc62b33f3cb7a76e3b00000000000000000616813c41679d3b000000000000000047596b3ce175dc3b00000000000000009da5543c56f8a93b0000000000000000fe6b0d3cdd948e3b0000000000000000c4957b3bcb76403a000000000000000057a3f4ba7d4154ba0000000000000000ba5c9abb4cb948bb0000000000000000783caabb991d59bb00000000000000002b0290b9215cdbba36f8a8bbc4796abb02a54036e67812bb3d71afbb43a328bb661ea7ba256b49bb2c378dbb02460cbbcf5ea5ba7d6a57bb7a6d68bb4ffe77ba8d5fccbabf1f58bb0c8f3cbb45f27cba7e6b2abb97ad0ebbae360dbb968e29ba5f106eba19e4feba769ca7391906ab3a203d73b863895eba060af63ae5052d3bd2979c3af28c90bafe3e353b381c543bdb3d253a909fe53a595139399d5db0bbb07a80ba7f907d3ab5d5ecba38ca1abc3d6ec9ba62400b39d011f9bafc080ebc95a124bbdf869fb90f5d29bb622728bc875cabbae4d9d439741a4abbad4e16bc62654e3907c5943a385928bb3fd61abcc0627439d76f2c3901412abbd6d0f1bbc9bfb43a9ab48e3af6da35bb248bccbb49784d3a437ec3b7671aafbaa41203bb36b3e7bb86695abc4877bebbd8e0a9baaa1ea0bc3c98c3bcc6c53bbcec9295bb414cb3bc6760b9bcfd5b36bcab4a9bbbf7bcdfbc427de3bc11c771bc6c54b9bbfdb0bfbc141aacbce2ae3dbc5108c0bb560acebccfd2bbbc474c3bbcd3e2aabbdc469fbce82f7dbc72d90ebcde767bbbd38989bc79a339bc9af8d7bbcf802bbbc93f1dbc2275b7bbe56c6fbb07400b395a52123ca0757fbc43d5513fd518863e262b5d3c610823bc1d1d403ff208753e12b84f3cc81d95b95cfa213ff486543ee127713c000c913bb473093f905f333e437f473c5171d63b6f35d63e63540b3e4e1e2e3cf895aa3b9a48a13e61dcca3d7935d13bc46a0b3bcf03523e5200783d6c3d4d3bf1e415bb1434cb3dc42da43caa6d67b62ca78dbb8069b1ba95b33bbc7a38873b6e259c3b0000000000000000839a013c2ba5d33b000000000000000038e2f63be8fccf3b0000000000000000649f063cb5fdda3b00000000000000002c4cae3b35325f3b0000000000000000366e063a1686283b0000000000000000d80d47bb40d0d13900000000000000002405e2bbea3a00bb000000000000000092bfc0bbf95ce7ba000000000000000030ec2b3a915a14ba488078bbaff566bb2c19bcba12e0f0bae70ba5bb8ad178bb5cf7a9ba5fbd5cbbd6d49fbbf01b52bb05e0e5ba4c637abb1d958cbbecb022bbab05bebac1fd6bbb33bc58bb05e1ceba5a255aba507537bb847fdeba8fbd3fb8afec13bb9e8106bb453c6db93821ae3a3a85acb9fd7faebad7527f3a1954253bc7bdc6b83e3989b936d0993a0f29ff3a16d8f8b92b992c3a1e1b103a25d1a5bb602c66ba582c833a5ef3aab98b0f00bc02a9d1baa641133a1dfbbbbae2140cbc2bb0d6ba932796396f7a03bb86b212bc7c37c9ba11b083b9ae3503bb4d3807bc32c00dbaf725213a6e4bfbba8b2d10bc9ee18e3998bd0f3a1a2e1cbb01ecf2bb9100b53a66d6933a0a5a22bb5c47c2bbe161b23a95452e3a90b8c7ba46c229bbf701a5bb0b9e40bcb53304bc6b03c1bae35371bccd37b6bc06185abc747c71bb9855a9bc2efdd2bc5c666abc721aacbb6e5fc0bc0985d9bc3e6b6fbc379dc8bbd4dbb2bcdd81bebc0e7d53bce2a2bdbbd7fab6bc60c5b9bc720b48bcb40db3bb86ec9dbc7efa95bc59d422bc536f8ebbb6786ebc7ea251bce275d6bbe6c52abbff2be3bbe7b5b1bb5d1319bb5ce450ba7537f23b12ad3ebcf81d2d3f3888cb3efd5a523c08d802bc8ee91e3fd106ba3e391a683c8578013a7f3e093fb71da13e2aa96e3c5b88953b6c8fe53e2680863e192f493cb7c7bd3bb5eab43ed07f533e11062c3c6551903b9cfc873e06a41a3e2fe7023c5f94163bc79d323e350fc23d008b863bddb90cbb334bae3d49c7203df6e7923a808a6bbbccdf1d3aa0770fbcf0bf27bb2967b53b0000000000000000ae864839f8c2083c0000000000000000f9f0483be749063c0000000000000000be85333bad39f63b0000000000000000ec0c123addaab63b0000000000000000702e41bb152c5b3b00000000000000006922dbbb67baa13a000000000000000041791ebc16f484ba0000000000000000c3f2fabb4f9a94ba000000000000000015792239031120bb01f44dbb3a6980bb5fb40bbae44013bb607a9ebbd5ee97bb836da8bafb454abb103290bbe51259bbeefcf0bab7c67fbb8a1692bb257849bb96f4ecba054e5dbb0f7059bb675b13bbaa9694ba5f1b54bbd0040bbb4ed614ba7c7d7aba892712bb0c19abba5334a53950c154b905ec9dbad890fa3914a51a3b4d47f6bab32f14bb8b76ecb9f765553ab48318ba2a93503a5a737a3a86538abb190e8ebac948493ac37f2337e7ffd9bbe14e79ba26cc8dba3ff213ba1d3ed3bbd68eeeba6373c339b7c68dba12e7fabbe5a0d5ba213d0dba18c68fbade4cbebb5c1c23bab0464a38a053ffba94bb00bcd2d7d93ac1c1d53a0fc208bbe22ad2bbf95fb63a209b6b3a16ce09bb33adb2bb96800b3b300bc43a7dacb3b96944d9ba42ec6ebbc0c32bbcb31622bc0af793ba19dd3fbce0aeaabcdffc76bccdf75fbb992182bc4ab9c0bc1a816ebc1d7793bb1264a4bc9f9adebc256882bcaee5c1bbe80276bc18e29dbc64f136bc9fd59bbbaa08a0bcad70c1bc9d3355bcfa06a8bb089a80bcede995bcd70d1ebce8ff89bbad744cbc43ba65bc53fdd4bb2f8026bb3db6d6bba405a7bb41352fbb830796ba9e46e53bfadcf2bb1555093f0c2d093febd9393c50da36bbda29fb3ec8c4f93e92134b3c4450173b1f07d93e489cd63ef7a45f3ccbb6ea3b5197b73e4ddbb33e7258233ce153d43b05098e3e27a48b3ec2c5313c9119c83bdd5f5b3e88f8503eb616f63be1908d3a539c0f3eafee043e4002993b39b5acbafba78e3d7e236f3d7817ea3a1c5050bbbbafa43a58abd0bb6547f4bb13fadb3b0000000000000000ac91c2bb847a1c3c0000000000000000dc9bbeba81d4133c0000000000000000c24eabbaa6ce093c00000000000000000546d8ba886ca63b00000000000000000914c4bb23398a3b0000000000000000ff0010bc17e0d73a0000000000000000d2b245bcedb787b900000000000000004d251abca4c26db80000000000000000da0b24b9ee8d23baebb835bb141699bb0c7047ba58df11bb167c84bb5bb8a2bb638b32bb7a3324bb9b19b1bbe0cca9bb4600edba2b4481bba97e82bbc7e05bbbab2bfaba93d37ebbd8a061bbb24e13bbe5f013bba1837abb0f701dbb26db1dba4f0d80ba4ea013bb6ad239badd49933a0078a2b9884196bac00c8039c356203b0729dfb7f77f81b9ffb58e3af3041d3ba5a13fba0109be3a0a9ff637d6e492bb876d86ba2fa2913acd71e338bc41ccbb0e410fbb7923d73a53133eb956c1c8bb92be87bad0234d3a610b91baa404f7bb0ca5acba422119374732a5bad25ce3bb42a320ba9996ed3ac08edebab364e5bb6488683a1982463a48af10bbd9fcebbb20c2f73a2e11a23ad31719bb2413c6bbfb16e13ac8267c3a9fa0d1ba1e6c51bbad2a7bbbec3215bc2ea94abc667cc2bade0e2cbc9af1b3bcbfb794bc98a765bb9eb288bcca5aeabc798e92bc173b95bb2f5393bca373efbcc15490bcf1dcbfbbe7c789bcac65d3bcff4379bcb04eb5bb231a99bcc254dbbc3a6176bc37b58cbbf6c979bcf386b1bc39a733bc1f3586bb6c473bbccd2584bc19b3e0bbde8220bbdc0fa8bb1a96f7bbdf8615bb89bf18ba807dc93b3aece7ba0f32cb3e83bc2c3fd2fc233c95af413b2b7ebb3e243c1e3f39f3483c124a113cc165a43e355f083ff54b4e3c9cd82b3cbd748a3e1b26e23ef6733f3cbc19203c6d565d3e409ab13ee0a52f3c11d6003c76a6273e57be833e9ca2043c87a3883b1e7cdd3d205c293e34d6a03b531239bac0225a3d3d8e9b3d5648dc3a8e0951bb60661e3a4daec1bbe0ac35bc2a35043c0000000000000000fe8635bc2ae6323c00000000000000005139b7bb8a6c363c0000000000000000f03ea3bbe805173c00000000000000008446a3bbcfdcd53b0000000000000000ac5c0abcbafba93b000000000000000018f646bc9958fe3a0000000000000000f33182bc2b20a3b70000000000000000693a4ebc97ab41ba000000000000000077799738abe8dbb905c515bbe54a9ebbb95039baaa2619bbc8ca80bbfed2b5bbe383ceba2d6760bb415479bb318e86bbd17ce6bac86386bb5ceb87bb18c072bb4bd3ceba02d373bbdaeb6dbba71d1ebb9d8cb4bac75e5bbbbd5c13bb1f3680b9345a88ba75521dbbff1085bae17e8a3a2e5d863abf7da6baa9215db8fee5283bba8c4ab938f5b9b875b1cf39fdbb7f3bfad328baf14ce23aea76fd39fbbc5bbbbbd532ba60b0063b9e57b7b9438cc2bba5f58cbae8c7f8395a5a30badcb0b5bb4069b4ba92632a3a4473b1ba8511e1bbc805afbab29324b90ced8fbab24ec0bb18746639df9a703a6f750abb49c7fcbb6ddb633a7774343a6df6f8ba2e9fd5bb492c0e3bae4cbf3a7b4518bb44b4d8bb2d47543bfc2f0a3b135843bb1fd5a4bbc48075bb799d3fbce36c6fbc537ec1bac5682bbc449fcabc3193b1bc4f8284bb9da64cbc1972d6bc7c0399bc4d549dbb07b185bcc35701bd4135a7bc7091d9bb897c69bc53b2d3bc042f80bcfffabbbbd8a686bcffc8e8bccb9682bc3cb4c0bb61c44ebc9f63afbcabc330bc662a81bbb6972abc1f2d96bc0b60f0bba04a2abbe8cf87bbc9950dbc91500cbb70b749ba36ac893b28dc5f3bf90b863e8277513fa75a063c493c2a3cb66e783e2b963f3f36bb1a3cf05b473c0f635a3ed55c213fe7143f3c13ec7b3cef913c3ee43c083f5ad3123c921b533c3bf5153ec19cd33e9b50293c4d762a3c163fe73d77019e3e60a4eb3bfec8a73bd9a9973d38004c3e1c7b9b3ba6b4ba39ab67143d81b1bd3df171fc3ac3810dbb76cfcaba899cf4bb26c674bc26fe033c000000000000000029e761bc9b8f3d3c000000000000000089e7cdbb44601f3c00000000000000003cceb2bb92461f3c000000000000000056eda1bb2c1dd33b0000000000000000f51124bc582c903b00000000000000006f4142bcddc8fc3a0000000000000000e7a198bc94a6c5b9000000000000000058d588bc524324bb00000000000000005dc123b97e5c72baf8ec2cbb1df2b4bb7c0f6fba9fdb2ebb529e56bbefeda8bbd738aab9296c8bbb288e84bb7a6b96bba4c795ba7e57c2bbe7f9b7bb3a1855bb2db347bb2f3a62bb39883abb1fd5c2ba8d919bba9f6971bbe94a23bb1a7bbcb9f08e88ba418a42bbcb77e3ba44a9463bd14b99b9566063ba18b44f39e3b4753b6fdc44b83bd86438fe7c883a9db94c3be0da7eba18b8013bf73e073a8dd338bb506d30b9097a313b393b3eba23fbb5bb85b396ba4d7d963ae3a17dba313db9bb252746bad198983a33a7ecba9eedc0bbd3c33838ecf398b956eb8dba4bc8f3bbabefeb381af2dc3a419ffdbab815f7bb5e47913a2365d83a994333bbb043cdbb39fc4c3b574a153bd2120bbbdb3fe2bb8bd1133bf269c43a135ee4ba05ca9abb54e4a3bb5e9377bc1da290bcf7d01cbb9de634bc8d7af1bcb422ccbc27b1a9bb5a765bbc81e407bd9fc7c1bcc858d7bb788872bcd8330cbd1e0eb5bcbdadeabb1d4a5abc6bfafcbcbfb29ebc287dc3bbccf87abcea7bfdbcde518ebca88acabb25ad43bc4e55ccbc61cc63bcfc32b2bbc2b828bcd4f6a9bcaf730cbce3ad2bbb7d3798bb109c31bcdc953bbbb8d08fba15b4563b11463a3cffaa043ebf3e763f7428dd3b19b2963ca227fc3d93f45f3f97f6213c1dccac3c7dcae93d96da3e3f5707393ccdcea73c5c26cc3d88f71d3febf2273c8dfd883c1824a73d245cf63ef64f203c30df543cba93813da1c0b63e40fde63b63c6ee3bf97f283d3b516b3ef7a4893b102cd23ae300a03cea73da3d9ffac33ae42cf3baa8e5b7bac2bd09bcae6652bca91b113c0000000000000000fb3c30bcad383b3c000000000000000033f646bb7628323c0000000000000000951fffbaacb81e3c0000000000000000027978bbf023db3b0000000000000000be42febb07f0803b0000000000000000229260bc33c47b390000000000000000f7aca2bcab85e6ba0000000000000000387f97bc4b4414bb000000000000000000000000000000000000000000000000d93699ba7b1145bb78b179bbbd16c2bb67fee1ba8f8a83bbb1747bbb57c891bb3eecc9bae47780bb561ac2bb035e84bb71ff00bb83ce93bb97358abb01ea4dbb905290ba250456bbd56634bb839488baf353efb81ed118bb7fdcc2ba6e6a0d3add4abf38241888ba8a89d1b9dedb153b0000000000000000000000000000000000000000000000000000000000000000183a07bbf9c4763a443f6cb5d28b4bbb1997dfbacf5b8cb85dbf4bbad40587bb4395fababe3b73b927b7dbb7a81270bbe0ff0fbb069b7ab99d470ebb4cbb76bb400e9fb9b24444392ecb7aba1ee2b1bb15b95b3ac441823ace3ddaba0b0ccabb065a013bac14d73a683ff0baa368d8bb0000000000000000000000000000000000000000000000000000000000000000407e0ebc5fd6d7bccdcbafbc682cb8bbefb026bc10aae6bc25d0a2bc65a5c5bbf4a72abc4ef3dfbc79b493bc8a23d1bb159d47bc1641c6bcb2ec77bc9581b0bb620539bca9accbbce1e46ebce362c5bbeacc2fbc1299b6bcd9f942bcc0709fbb7e0d14bc99a69bbcedd80dbcd95b62bb000000000000000000000000000000000000000000000000000000000000803f8180ce3b86d7b03c8a4c253ccf07783f7bdcfc3bebc9a63cafd66b3c4f6e523f4c23223ca3a3a43c96537e3c6b8e2d3f80460f3c308d843c5c79793c420c093f2fb5073c2262503cf164503c1e03cb3e7efad53b54940e3cd79e0b3c7a33843ec124943bd317803b79d55f3bbbc5f83d000000000000000000000000000000000000000000000000000000000000000029512ab9a8ba203c0000000000000000bcb9613b44850c3c00000000000000001e68a43bfb93013c00000000000000003dfd2d3bb1d6aa3b000000000000000089c311bb8fee3b3b000000000000000026f300bc75642139000000000000000080fb75bc5b4311bb00000000000000000000000000000000000000000000000000000000000000000000000000000000eb60d4ba24ce21bbe5a02abb9cbb1ebb105224bb483719bbf75b15bb83310ebbba6affbad51127bb318d27bb70ef17bb0ea325b901dd31bb65422fbb2f2d4fba7b2bdaba55fc18bbd2660ebbe9c006bb9d0ec0ba922affbad0b9c2ba3249d9ba14fb99ba555ed1ba11e99fba607685ba0000000000000000000000000000000000000000000000000000000000000000666a0abbf0709eba459d9eb6e19186baaff002bb048b70ba5cac4abad8965dba430b0ebbd582beba330e3eb9471cbdba040f75bad20145ba40c210baa8c8cfbac838f0ba16a838ba005bdab93f1dd8ba0b08bdbaaae008b5aa96cbb9e2cce1ba781816ba075069399a1b8dbac64002bb0000000000000000000000000000000000000000000000000000000000000000bd9b4cbb19b259bb96b61bbb31710cbb905e39bbeee03dbb5b4016bb34ba08bb5c4658bba78b57bbf3ab35bb204020bb9c764ebb75a14abb549344bb90a230bb4b794dbb958345bbc51835bb2bb319bb240731bb11d82ebbc8701fbb82a50ebb875e2cbb03b21bbbf46308bb33c6efba0000000000000000000000000000000000000000000000000000803f000000002c9da13bf375943b1ba3633f7764933b681a923b2aa5943b5bee423fbff9943bfb67a53b27a9ac3bd143223fda137d3b542a8f3b0ab9963bfd7f013fd116403b2d788c3b8cf8923be642c23ed935103beaea033b0c007b3b6444813e85338b3a1f920b3b366a053b5f67003e731e6bba0000000000000000000000000000000000000000000000000000000000000000496aac3b1a45313b00000000000000001c23993b6cb42b3b0000000000000000b8c4663b201df33a000000000000000020840b3b9f058c3a00000000000000005865d53a6d384e3a000000000000000049822a3a846e1539000000000000000075e11dba3a9048ba0000000000000000000000000000000000000000000000007aea66ba32a4c5baa784c2ba7e62b9badbdafabadce032bbf9d636bbc4022fbbc5e9ffbae94d40bb07c74cbbde074dbbb4e592bac13d06bb88a304bb72a37bbb4541f7baff1d30bbc4c729bb6fa725bbeb3ffdbabcd33abb5e7e24bbe0911fbb88619eba450512bb582a00bb04a0efba050484ba56b1f3bac79bd4ba4f8dc8bab3aff5b9955552bab4de09bab39bcfb95de551ba0aba85b99da060b88b1051ba0f1120bb47a823ba09612fb73a9aa0bad8073cbb5943dcba69bef2397cb26cbaa6c082bb7db026baac1551ba0ec66bb9e3c212bb23dc9dbaf2b483b9ed5fc3ba1c25fbbac26437baa3522eba95970fbbf4efbdbac82e42ba95e839ba3e2b07bb0eed8cbad31c21ba5fef4cba38c0e0ba34aacd384c2c0eb9ee2069baee9facba01eeeaba407821bb45a2c7bace83a0ba817654bb474b7fbb5e993cbbe0ef24bb064454bbee1377bb6fd547bb319c36bb948395bb45169fbba34d8fbb3f2683bbb60752bbe4495fbbfb3247bbbb1033bbd79e74bb49b781bb857165bb43414cbbb61f57bb51e953bbaef742bb72c32dbb9beb35bb37be22bb136d0cbb6c47fabaa859d4ba0f92b6bae10ba7ba93f76dba899a353bf21bcd3aac04633f6503033e13a0b23b9f46923b7223483f5613eb3d1543a53b5ce7d63b2eac2b3f7437cc3d8f21c63bdb1cc03b664d0f3f8240a93d6386ae3b1f3daf3b90c9e33ea26d873ddb34a73bf57aac3b96e2aa3ebc904a3d619f883b4fb17a3bad14633ed961033df3af823bec32433b0dd0e23db0f17a3c9b0c543a67e2ed39224824ba5051d9baa06d7a3b9752f03a0000000000000000937bb63bae02433b0000000000000000d5fab33b5dcd503b00000000000000007204b33b6efe7d3b00000000000000006801323bb03acf3a00000000000000000065e83add60753a000000000000000013c7fe39905d83b700000000000000001f159eb9e2a260ba0000000000000000e45994baf6978cba000000000000000059af45ba63d0c8ba36acd2baa0c3bdba82addcba2b5d21bb74f526bb13052cbba406dfba1b2519bb821c1fbb983b20bb0e5b02bb13934abbb99949bbc83d46bbd39fd8ba203724bbb44c22bba57c1ebbeb4d05bb72a13ebb1c7530bbff5123bbb768c4baa85004bb51d9faba11dde5babc83a3ba07aaf1ba9c8bd4bad227c7baa32319ba05a646ba3ce0dfb9db184ab9537f8cbaef71b0b9a156a3390e72ebb91daf0abb632c8fba30005239f6bb82ba52ac11bbac7499ba044d32390f4c72bab75d30bb4226b5ba041feeb7e314bcba1ad700bb698956ba5ea844b9476dadba84bfffba913152ba2bd3efb9b241f7bae0ecc8ba9dfd33ba74c8e7b90441b9ba82f491ba62de23ba5c8909ba287bd6ba03bbc338c16c90b8905145bace079cbaab3eadbaf38d0bbbc890e0ba3daeadbada8725bb03b968bb29eb3cbba2da10bbe74624bb6e2556bb66c536bb230510bb062b61bb7da986bbf59969bb5afa47bb925b33bb58ae51bb7e073abbfb361ebbed3d5fbb11487bbb270f61bb94313fbb42b721bbd28131bbd25121bb569e09bb834926bbd7662dbb46d91fbbadaf08bbac80baba97d9b3ba2a3f9bbad1666aba8717433b8cecc83af798423f1aca813e26dfa53b323b7b3b6ca92b3f661c663e821aa43b94ab933b55b2123fa03d453e8550cd3b733dc33b1ca8f53e04c9253e4e899d3b8e9d983bf17bc33e2ea3033e5565ad3bb753a43bfb15933e6111c63dead2703bd16a583b3153433ea0b1823dbfc7603b7e99323b7434c43dfe89ff3c9e4f733a9151ff39f8bf9bb889dea6bae40a423b10c9f13a00000000000000006e7e953b1685423b00000000000000006f49703b4312223b000000000000000020ba7a3b9394203b0000000000000000cbc21a3b1d2ac83a00000000000000009295da3a6af7903a0000000000000000f2f3003a167b873900000000000000000665e9b99f628eb900000000000000001a9a93ba776355ba000000000000000014eb3fbab022bdbad68bcaba7f81dabac554c7ba53cd1cbbde2725bb74cf2ebbf51ee5ba24ad2dbbab9237bbc46332bbe0b906bbbf1452bbee6e50bbef6231bb9697f2ba50d622bbb53d31bb7deb1bbbe049fbba200734bb3b422fbb07b520bb21e655bbaa4a0ebb0a5a01bb3b74f5bad3c18bba5808d6ba6269a1baadda76bae0101cbac96a48ba735d03bab4078cb9c1f4b0ba2c8702ba528fde39140470b97a8e14bb5d04a8badc48b039e5f640ba21ce1dbbc585a1bad0e39239cb8a79ba55731fbbd83387ba872ffc38e549bdbaf68013bb1e5e83babf3304b97fb68fba062b0bbbcfc735ba0c2fbdb9b9bae3bad885c9baa51325b9dbc214badf5ad0ba50cc3eba0a95b4b9214363bab299d8ba5b8add36515e26b9998d1dbaedd679ba0ba554ba9595e3bacf1bddbab1428eba205902bb5ba355bb097642bbe47707bb546e23bbc69a6bbb94a14dbb87891ebbf1d24fbbf8ed88bb134166bbb2a348bbc8c72abb192e57bb3c8f43bbeb7e1fbb68c650bba38178bb3a8565bb5cf738bb2ee530bbcb984bbb67fb3bbb895b19bb0e171cbb05c22abbbff017bbbf62f5ba9cef9eba4e00a3bac5ae90ba608160bafe032e3b96c4ea3a480a223f6657c23e9ba89c3b25d9823b380b0f3f67c7ab3ee961b33b18e2a83bafabf53e4a88933e734ac93b58b0bf3b8418cd3e7379763ed844a53b7773a13bcb71a33e4f47443e6cebaa3b9741a03b0813763edd6d133ecdba883bb7e97a3b97e4233e1b76c33d7b80333b2c370d3b32cda33d7fcd3f3db9a9883a501f133affed7d39594472bafcd01d3b5d23063b0000000000000000ede1763b73fe543b000000000000000090627e3b4e7c413b0000000000000000d004633b3a58293b0000000000000000a76f133b69d2dc3a0000000000000000b8a8ab3ad618943a00000000000000008c67d239220ecd390000000000000000368463baf04cd5b900000000000000005cfe89bab5d630ba0000000000000000f0624cbacbbeaebaf0f3d3ba4e60f8ba77c0b5ba28b514bb1c3a17bb9a2025bb48b192bad0a118bbedb71ebb7a8c8bbb2ff1f7ba6ce739bb9ce745bb89a141bb765ccfba19ed14bb07ef18bb24cf10bbfb7aeabaf77131bb655039bbfd3a24bbe016dbbaea0f21bb558c28bb966df0ba3b1393bab0f9cdba0b30c6ba005d9bbadcae09baff3d4bba775e18ba39fac7b9213a34b953a03eba09b9de396d0e79b9bbf21fbb32027dba2611f339c75631ba6e1fd5ba9e2129bb56f4363a3927ccb960fc32bbbcdea5bafeda8139347d76ba41b008bb21f183ba09436238d84b5cba944d0bbb1ef450bac7e687b9ffabb8ba372cffba634392ba796dc3b88f7b70baf5fd69ba14400cba2abd13babfeda6ba963126b99d5eeeb83c33f4b95ed275ba196f38ba3965ddba798004bb914baaba6f5acbba0d2c42bb09f751bb1c35fbbaac9bddba3a73a9bbecf930bbccaf65bbe6b223bb0c7378bb734e6cbbdfd535bb6e8102bbc90131bb84822dbb9e0312bb2c733cbbe61775bbc4fb67bbdeb23dbb7bc813bbdd7830bb5c6a1abba71b0bbbd40710bbd8dc26bb2b0a10bb6f12fcba2a9e89ba503ca9bac1cd9abaebd867ba60ea243b6998073baf8d013fb582013fcbe1903bb32e8d3b64c9e43efe67e43e0d0aaa3bb514b73bf390c43ea2f7c33e60e9ba3b91fbc23bd771a43e96b9a33e6ff18e3ba26d913b62c6823ef528823eed35a33b32c7a33b2ed1453e7ef2433ed3af793b9cab793b30c9033e3957023eccdb3c3b44f00c3b2b3a843d59cc803dfe59a13a5e29323acf7c0a3a393b2aba43b1dd3a21220c3b000000000000000049123f3b16744a3b0000000000000000dadb5e3b39cf533b00000000000000003cfe463b496c353b00000000000000001312eb3a025ed53a0000000000000000c645a93aac94ac3a00000000000000004cb1f8399209813a000000000000000056d764ba0b2873b8000000000000000071a8a2ba98470cba0000000000000000d5a596bae1de90ba2f6ab7babb57caba4002d4ba4aba13bb74fc2bbb2c9e2ebb6ee804bbef0632bb275441bb6e1d3abbc086a2ba0db117bbd56591bb86f68abbf9e1e1ba9bca2fbb5b613bbb61e02cbbb480dcbab17b2fbbd81d3cbb140f2abb0644deba434122bbf78815bb27df03bbfe139dba441cdbba17a2d1baf48ca7ba887802baddc136bac14f08ba6597b3b96f94aabac08d0fba852b0c3a5f7adcb8677515bbb162a6ba37b3323a95b7eeb9791324bb1e76a1bad6c4c339f33e31baf46c81bb87aeb3ba3f09003ac6f12dba7aaa16bba38362ba0c7419391caa81ba442a0bbbbd2244ba4de96db9c86fadbaf921c7ba23c6e4386fbbf2b9a2f5c9ba220775ba32618fb977f60cba50d9b1baaeaf53b9cebc87b9cbfb08ba8a1c6eba0d900ebaab83c3baab2e08bb9f619cbaaa02c9ba88184abbafb065bb877515bbb61c0cbb727a73bbe24675bb4b5c26bb60260dbbc79370bbb4da5fbba6b41cbbb6271abb85f661bb065d56bb249b25bb704538bb94377fbb903175bb7ffc3fbb08fa2cbbc55d5ebba3e555bb222624bbe3c614bbd6a42cbbf63d22bbf49af3ba37e69abaeb4db4ba825aa5ba1f4b80ba77ae193bf48b293b4164c23e40f9213f08d28c3b114ba13bf829ac3ebee50e3f99c4ab3b9964c93b0c3a943ea53bf53ec4c9b93b5ec0d63bbd5f783ec78bcc3e9b9aa43b773aaf3b9e23463ef3e8a23e530aa83b59d5ae3b4fa6153eb3ab743e1874853bf2b8793bae69c73d0e4a223e068c3e3b3a26203beec2483d3308a13df760a13a2332463a45c6f7393a751cbab564b33a730c173b00000000000000003fa4393b688b6b3b00000000000000002a83513b1706653b0000000000000000ce5b483b364f523b0000000000000000ce7cfc3aba70fd3a00000000000000002ac6923a79afc53a000000000000000079333db9d7d9133a00000000000000002026b1ba61cf8fb900000000000000000bf9cbbadea528ba000000000000000090be4aba8f38b7ba1c6ce5bad98fd9ba2c85fbba667227bb161a4bbb8af43bbb6ad7e7b9bb6837bb5f8560bbec2b58bb5195e6ba4f1033bbbc0a46bbfa539dbb7b67eabac6d12bbb1ee339bbb69a26bb4cecedba9c3f3dbb2bab46bb846b31bbe7b9c6babd4804bb9004fcbad212ccba324ea0bab17ae5ba9ad5d5bac81a9cbab81733ba0ea46ebac2eb55ba4ffc02bae802bbbad8e2ebb94fd5143a226d65b8f2bd16bb170286ba0740af375ac35cba7ff03abb66c7dbba4c06953a9db9d139b3308fbb407770bae23f093a3a6f28ba608e09bb68a542ba45ed9538bf2c5cba001d1bbb866d76ba66c00eb9cad5a0ba453da9ba88aadcb92fe60abacf489eba56c86bba72eaafb9ca4223baaea5b1ba43ab80b9f1da41b6b683cfb91e5049bac45c18ba8718eebab65623bbbe7da5ba6f2e8838d1e57bbbde3b8ebb6f132abb57734eba6a0314bbf0218dbbcddd49bb07cc12bbbf0f84bbe33681bb1d8c30bb6e170bbb68d65bbbe54259bbe42520bb734c32bb818183bbd23f7fbb5a5043bb3a7110bb878841bb300338bb4fda0dbb802114bbf7ed3abb3bd92dbb383803bb44ada0ba93eebfba7fbdbaba52207cba6a9c113bbda15e3b0cfe813ed696423f8d8f473bc2abde3bef15683e8ad02b3f79d3933b77c2bf3b3bb3463ec1a0123fe280be3be8dfea3b62ca273e7837f53ee11f9a3ba3c6b13bfb88053e5714c33ec937ab3b4930ba3b4979cb3d269c923e6c3d783b7651793b534e873d6209423e1bc3463b8c372f3b7c1b093d2429c13d5cecad3a9940653abdf9223abe7714bafdb6b83ace1a303b0000000000000000bb97fc3affba4e3b0000000000000000f5aa533b9864df3a000000000000000029e0503b5c03603b0000000000000000cddbf43aa8ff063b000000000000000093ed9e3ae209d03a0000000000000000b074b0b9d8dd9739000000000000000087a6d2ba4ff2aab90000000000000000f2cce9bae37827ba00000000000000003ef332b9990d3dba72e70abbe0740dbb9fc9ebbaa46c26bb45f743bb56ea4abb1283e0ba7d592ebb01744bbbb1494dbbf1aa06bbdbcb44bbfe5465bbbc8e50bbcd17e1ba1c5232bbbc204cbb832143bb91a8ecba06593dbb38c84abba8733dbb026bc4ba352911bb2c1612bb1d99e4ba05a8a6baff44f4badfedecbaf10aa0ba9771b3b992d012baa11421bacabd82b999b8f2bac94d52ba78c6cc3aa1b412b83b734ebbd9f862bae56a5f3ac18e6eba1aa151bbb03108bb9864363ac13bc0b9294244bbcdf8adbab6d3da39c96114ba45f238bbb8a1aebac6ae9d39fcea3bba9fd029bb697e76ba541685b951a4b0ba11d5b7ba9e07dab9c06042bacba3c6ba08548abaf723a1b874b623ba19debbba8466d8b9cc4d1dba9f46e1390e6fedb85cff39ba0aa2b3baf34148bb2fb7d4ba1950b3ba0c0a90bb6e669ebb13c44cbb9f62e4baf71780bbfa4484bb0f742cbb2b6e1dbb2fd98fbb1caa8fbb113c4cbbb1120ebb00e272bb5a5572bbf5283abbe4ae31bbf54f8dbb04e182bbb1f84abbb1292cbb1b386abb774058bbd80c20bb105923bbd6124ebbeb2b45bbe1d90fbbd3c22dba712a81ba62838fbad13535ba996c083bc4ff863baa5c033ebf13633f0c24a83b6a6bd23b37b6ec3d8b0f483f0d39a53b1b59f03b6ae5cd3dd05e2b3feb9cc13b624e003ceb1bae3d6dcf0e3f20f1a63b9c10ca3b17f18b3d4b88e33e35339e3b9965b73bc3e1553d1694aa3e163e623bcd2e743b33310d3dedfe613e0048593b8971493ba841933cc1ece03db8bc863a0a6e163a40beabb77973d1bafd4dd13ad144383b000000000000000083ed4b3b3f2b873b000000000000000094316f3bcc87803b0000000000000000b0676c3b93aa653b00000000000000009790213b800a193b00000000000000004cd7b43abe1acd3a0000000000000000032cf6b994e3673900000000000000009601d7ba533fe8b900000000000000000d743dbb850fe1ba00000000000000000000000000000000000000000000000062fc97baa01af5bab96d1fbb33b822bb7d29d2ba611f29bba3c937bb08a626bb6764c7ba8c1e24bbf66547bb1e1844bbcff0d0ba59b92bbb58df49bbde7740bbad60aeba2b0b15bbc4dc26bb347214bb98c997ba240001bbb76b03bb709ed7ba55ec98baad46e9baafb0f5baf7b7b2ba00000000000000000000000000000000000000000000000000000000000000007d8317bb7ca0c4ba1c8b5c3aa0b0e7388e3a05bb973f90ba560b65b9f6b288baaffa3cbbd5c806bb7c30253a23129fb9bc0063ba8dafeab98fa46e39acbf1eba07dc01bbf4e233ba0cfb1038cc2a64babb3fc1ba14f0f7b96e9ab9b9130f99ba56e392bac04e19b92acc03badde1a6ba0000000000000000000000000000000000000000000000000000000000000000e83876ba969e52bb57cf60bbc2e80cbb014f06bb91bf80bb18997abba2dd29bbd9acdabaf1f76ebb147365bb30f831bb1423f4ba209053bb83484fbbbb6928bb6056febaea7558bb4e0f49bb063119bb510507bb704644bbc9b531bb469e04bb03240cbbcaa336bb67b72abbaf1ffcba000000000000000000000000000000000000000000000000000000000000803f18d4663b55c6c83b98bda53b5286633fc64a9b3b4031e23baa03cb3bfdfd423f54499d3b224bd63b86bfc03b6d4a223f6989873b8e0dab3b20ba9d3b4173013f5bd58b3b71eaa23b650a923be60ac23ed6ac553b9e6f613b69d93f3b89db803eae01493b3b0a3c3bd426113bf050003e00000000000000000000000000000000000000000000000000000000000000000971653bc65e6c3b0000000000000000f273903b956a163b0000000000000000b15e5f3b23f03d3b0000000000000000cea8133bde4eef3a00000000000000005713cc3a137bb03a000000000000000067cf83380d61a6390000000000000000d74796baa261a5b900000000000000000000000000000000000000000000000000000000000000000000000000000000387a36baf635213c3ec87b3c55ff4a3c8f2a3b3b0a350b3c33bb863cf3d26b3c6e8b063b72f2013c22784b3cada3313cab61383b3e67123c270b2a3cd7b0133c117d113b3684903bc649363c6d69d03bac89abb950c8ad3bb19c023c6acd5d3bd5b0c937e05fb6390cbeda3bccd0cf3900000000000000000000000000000000000000000000000000000000000000000535693a07f9e8ba9365b8b83b67ecbc5ef76f3b469014bb9f654cbb1c1f11bdff8a6e3be0131c38d8f2dfbb45cc0fbd94d1973b8fa89f39d552cfbba5cd08bd072bd73ae6d09a394aae88bb03cbc0bca9512a3b1129edba6ec3cf38a52580bc8bfe2c3ad5056bba1944a2390162c7ba0000000000000000000000000000000000000000000000000000000000000000f3c601be1cf517bd3df3173baf848d3a39c5febd88d427bded54c4b9e1d21fba08b8d6bd860e27bd18c77abb66334bbae7a8bcbd395214bd6ec56fbb5ae32ebae26296bd7497c9bc278fc4ba091a4c3954c756bd0a5d54bc4781223ae2a2ea3ad86fedbc5a2d323a014f223b782271b90000000000000000000000000000000000000000000000000000803f0000000066285e3cca7b81bd7bda9d3f01e456bd5665363c412edabca7f2823fc9ccd0bcb8cd403c384300bcdc33533ffc280cbc8c4afd3ba0ffa03ae335213fed6062bb3ddc8d3b178c853aedf3df3ed1c1ecbb23be0e3b90c2b3bb71ad813e4b6480bc21e7853a408b74bc466f9a3d75d0c4bc00000000000000000000000000000000000000000000000000000000000000006708073ce7e01cbb00000000000000005381c93b2d5919ba00000000000000009313403b2bef10ba0000000000000000725e28bab77523ba0000000000000000cc0f86bbb88754ba0000000000000000f0cc3cbaa7708bba00000000000000006139e9ba0622ed390000000000000000000000000000000000000000000000005deefabae252b83bdb9ade3b66e6d53bf38654bbf483413c12bea13c965b5e3cbf80ba3954995f3c6ecba43c195d753cfe842d3b98b8483cb13b953c02b3763ce8492f3b25fd0d3c04e0653cdd1c343c1fe3b83a1c79f33b47e05e3c3e5c153c1fa07fb971c0963b15ba343c96ba9d3bccf408bb568cbb39356cc53b9cd8f337e73e98ba487b1ebb9f77093b55ffdcbaf166b1ba76a3a6ba5609cf3bd441a9bcbb0fcd39ab3d9bbb5028fd3b9a94e6bc43fc6c3b72372fbbe168b33991d613bdd4ab963b8387a0ba13ca46bb917d19bde020a33be26571ba45bb44bb255a01bd8649343b3d1c9cba6573a8ba30eebfbc50c3783a81425fbae975d13a8dc248bc1fbed7b99fb771baf5652f3bc2ea173ba15f96b850c296babaa7343bbf34fe3beb6c8abd11d8adbcee5984ba8c0d293b162003be55fc16bd46a3293ba11ac13b5acd0bbe909c51bd7db841bbf827223ba0adfebd867956bdbdcdadbb01eb7a3ae830ccbd1ff732bdb72597bbb4a19639911ea7bd84a106bdcdf1cbbae676b63a8aa869bd88668cbc07e3b6b811a9983a294ad1bc00efe2b89f0067ba902db33af02007bbce44073c3ada3a3b68c5573ab42c7d3c7e9302be531d9d3f1a449d3dfd4aa23cfcd207bed5c4963fa9a2823dac7f763cd26ea6bdb495813f3526a23d6c0f3a3c0fe449bd0900513fd0549f3ddb500b3c0a8efabc44691c3f9114863d6cddac3bfc72cfbca93dd93ec0cc2a3df1b8983b4af2d5bcf907773e30b4963c3624cc3bdac8cebc947b8c3dda9721ba462f6a3babb1d3bcdcfb59bdfdaac4bc4d769cbc672c983a000000000000000070ea99bc5549d7ba0000000000000000e6a361bc022f55ba0000000000000000df1960bc50d89cba00000000000000006ceb50bc05a689ba0000000000000000bc0d66bc589a29390000000000000000d0a052bc2038f33a000000000000000051dbdebb8854a53b00000000000000000e4fc6bbfd0b633b0000000000000000cedeb8b981359d3bde94aa3b72976c3bae20d2badd6b1e3cc27c543cc3bf443cb10ad53a8f841d3c44e2543cbf4e553c47fe283b724e123c26dd6f3c5827693c7170a23a75eb203c96b63c3c11e6403c7042bc3ad275c43b73a3333c4cad073c0b0361b9fd34623b6f17043c359ac43bbc18fcb9f7df663a573f923bb824dd3a2dd2a4ba146802bb459deb3acb390dbac97ad43a4bc523ba45a1b03be460afbc0b825c3be67df2ba9201003c182201bd3633b43be40ca1ba8034a0baeea405bd4396b23b1ef49b397956abba0bb703bd99723e3b6cff10ba03f206bb4be8e8bc3d598e3baed58fbaf494953a4c0fabbc2900073b2bd61ab98832923a829d2dbceb84e039f983e5bafc6b253b3c0a633964dc7eba685470bad532803bce69e83b333226bdafb19fbcdb610dbcd4b3833bf6a8c3bd46af43bdf24930bc121aa63b8165c7bdc5da69bdc1fc51bceffc323b4890d5bdb5d976bd0c4141bcfadb673a05b3abbdb48549bdac812bbc382f3e3bbd7492bd729927bd7f1aa0bbdec63f3b4b353fbd9f9dc9bc333b49bbdd50ef3ac9a3cabce7e4e3bb9c9fd93a640e443b4b9f28bb16f1aa3b99ef293bb8f2163b47fb663c294002be77aa833f263b843e1f1eab3c6a510dbecfe0823f71307b3e433e663cfe3ba0bdce25583f911b6d3efc33643ce2808cbdcd21393f4134483eb876f43bca222abd2dbc0a3f3fcd193e411f0c3c70a42bbd0578c53e4a3add3d29789d3b24b506bd1346683ee5427b3d24db083c22210ebdac61a03d05cf6c3cc53a963b48dbdebc607febbc425999bcd09d33bdd02dcc3a0000000000000000e8e141bdd4619d3b00000000000000008ab107bd45f7a33a0000000000000000106205bdc4c33e3b00000000000000000b76e4bc3efa4a3b0000000000000000e0cee3bc0844be3900000000000000001b3ac8bcdf2f893a00000000000000006f20a6bc18a0903b00000000000000008eb25cbc5cfe3c3b000000000000000051e0673a6c3c543b9311793bb83c5b3b9b983c390ea4053cf6ac273c54ec313c150ec13a19e21f3c78ad583c9f28683cced52d3be3770f3cfc1f533c165c513cc687503b37c2cf3b7f9e2f3c4f27363c3f2e9b3a1925bb3b985e1a3ce961193c0b8ea93a5edc863b98b6fd3bca0dad3b073184ba6834a239e87d7c3bc8dd213bfdbb05ba8d9a65ba1c5f8b3a52879fb94363e73aa9944a39c7bb8e3bb51ec6bc57cd9e3b55bc7cb94a52c53b705d03bdf134e93bdcdb53ba90ddbc3afe1308bdf479e43b0fbaa939907dccbafdaef7bc08ef013caa89e33a619429bba3aed3bc9d70853b7484c939af3bab393d8389bc801d653b088929bbfc9424ba2add20bcb3ef353a8ec562bad19d843b1319373a498906bab2d19abaf665243b5f16ad3b2119d1bccd88afbcfb3b8bbc1552863ba03696bdb12061bd390aa0bc4ed5b13b7855b9bd851892bdc18b9ebc647a8a3bf37db2bd6bff89bddb5c97bcc14ae73a61c89abd078280bdbc768abc55627339956678bd1d8940bd7f961bbc2998293b3ecb3bbd138dedbccff546bbe41cb93b256fafbc17de3fbc250c243a251e5b3b2f9c3cbbef69e63aaf7e5f3b1a4e833b9f89223c7772d4bd9b22563f3eb3e53e614e863cf255f4bdb636553f8ffbdf3e7d2c783c3e7cb4bd84793b3f1767c73e892b443ca48283bd2966193f7611a63e652e303cdb7641bd76c0ec3ef1f7823e6a16043c4c1232bdd3b3a73e5053353ea184083ce52a21bd16cd483e3318d13d0925c63bdc5818bdcd199a3d73930b3d995e423bb19be1bcf6ae70bc399f8ebc718c83bd09bba63b000000000000000090bc9abd6a65fa3b0000000000000000c0ed73bd76c5923b0000000000000000044149bd736e7b3b000000000000000031b725bda902323b0000000000000000ee4124bd3b1a123b0000000000000000fa1a17bd4751543b00000000000000002664fbbc97f58c3b0000000000000000e3cdb5bc1753803b000000000000000009f7043a708e4d3b9115a03a6c82893b75ea693ae98fc93bb39b183c76e92a3c7a55983ad56bfd3bd862313c056b483c26d9ef3a3c08143cdc243d3c5769563cc7cf633a39cca23b2966b63bb588e83bf331f13a0804993bfb65203c2039243cb1f00e393fd9563b4405ba3bbda9c93ba8e958ba6986f139a6205a3bdf337c3b9f134c394f71b7ba76ea2bba8b80003bd7f66b3b6c35da3a9a26a33b1773b8bc5f7d063c3ab919ba437a523b1dcedebc3befed3bdaa8413a751ae938c210dfbc9d730e3cfd35fe3a176fe1baa0a8dbbc6e31a13bc9d80a3bdac024bbd84e8fbc8680b53b1d4eae39d5f1f9b96ec892bcc1ac1f3bd8f1c7380c30dc3a4ee5f3bb3be8a73a7d6a34bbd91ce63a0d680d396988c0baf719c4ba3915663bacc09b3b01f893bc6233d4bce00bbebc9ea44d3bb97d6abd156784bd908ce8bc38e3c33b78c88cbd1da79abdca2bcebcb1950f3b9b4b99bdc51ba4bd8188d0bc5866b33ac35e4ebd8ca95cbd26039dbc939b59ba6b2e5bbd057063bdc3b475bc3be1523bbd2e0dbd87970ebd30eabdbb3f7c393b8ba18abcc4b58dbcb825d63a9eedc83b30d09aba5ab483b9f64dc53bc747823bd328dd3b1e3aaebd0ea6243fe476253fcf29553ca4c5bebd31e2213fd14d213f8c0a233c94a284bd37da0d3f34450b3f1bb1283cb9c25abdc08df13e34d7ea3e6a68b73bcf39f9bce779b13e93dbaa3eb091e33bb1911bbd7104883ebba37f3ef267c23b76f90bbd7ed9223e6a16133e7992a43b04740dbd6d6a843d11a3543d9743483bef89ecbc7f0320bcfbf696bc4fbcaebd30b0e73b0000000000000000148ec1bdf6ce4b3c00000000000000006ccb91bdc7eedf3b0000000000000000e18c80bd6a129f3b00000000000000002b8d22bd7257413b0000000000000000e61c45bd2f7a3f3b000000000000000067d929bdb914313b0000000000000000c1a925bd0530ce3b00000000000000007d82ebbce58e4a3b00000000000000005841eb392310463b4024183b2d50373beec6973a9f77b03bab3c0b3cbcde403c998b2d3ab04c013c1c933f3ce3a16b3c7e9ea13a8bc7e43b082f363c27bd6c3ced82b33a1f6bda3b4aa52f3c9187473cf862383aff5c9e3b2dcefb3b8468283c95fad3b8b1ba1f3b3b66d73b5202093c1303af37d95b2f3af0e7043b5433873becf77aba968b14baa6b77eb838f6073bc20f9f3ba3947ab931c2853be6e093bc52a2d93b5c3d873a2a41813bea11c3bcafe7363c3740ee39c9d5643a1f44c3bc37b90c3cc247b83a57d15638399baebc2d42f53b1934fd3a9726a7b986eaa7bc03a4bf3bb91b053a4d335439706244bc4463343b54e88dba42cede3a996e00bc5913b439e60dc6bad236473bbecf53ba82f7caba746cd9ba3c9d223b4aa9653b005269bc1670fbbc899fd2bc9c98cd3b53c846bd98199dbd3e1405bdba63053cc7f281bd5aabc4bd83df06bde46c963bdbb282bd019eb9bdc074ecbca30f233b32e86ebdc6509fbdf6cfcfbca740c53ab1d33bbd944880bd906678bcce476d3b4afa02bdacd32fbd6a96bdbb1947953b3c8157bc5daaaebce3dc3d3bdcb2803b796a0d3ad15f3fbb3c7be33b9dfc8f3b20ef603bc00685bdd4eee53ec4bb553fb880283c498993bd394be33e5cc5533f796e013ce17159bd05e3cc3e4694393fa94de93b59aa29bd2c9bad3e01c5163f15f3f43b37ff12bdcb328b3e1c7ce63e5525ce3b274204bd840b493e69d6a03e13dfe23b6f5504bd73f2f73d6b9b3c3eb9b3d93b71abf9bcd305423d45e9873d0af8743be1d5c0bc15b8fdbb0babb3bcba0dd4bd07be193c00000000000000003eb1fabd56e7783c0000000000000000f96ac5bd9752313c0000000000000000621a97bd03f1013c0000000000000000b0e872bd91d9953b00000000000000008b435dbd07a7863b0000000000000000789c53bd9160ab3b0000000000000000000c34bd2afb0e3c0000000000000000c3b906bd1459903b0000000000000000cefb04ba00ac023bed04533b5e2dc53b3f36c0ba0f38993b29a8163c6e80533cad2e0b3a0a12bb3b8966223c3a17643c5712183a52e4e03b9a9c403c9381803cc28add3a2f96d33b102ee63bc8311f3c506508b91d678f3b33be073ca953523c5d77bdb8a8482f3ba61da23b32bc0e3c0983d2bab5abdc3acebf023b6d0ea63bda192cbac797abba471eb2ba316f163bab0ea73bdd6caabadb8c903bbd4454bcdb334a3c79ad4ebbc8a99f3b17c27bbcee6c3d3cd15b10baab22873950a289bc9ae22e3c2549a83a94ebc9b9719989bcce0b203c9b9af139108b16bb2c6463bc08e5cd3b46d4b4b9a326af39cb6714bc9f72273b4293d1b95e23573ab855a7bbab70b13959d02abbffa00b3b3833ce378b058cbaba81fbbae518423b99c75e3bc7ad53bcf32834bda16ecebc91f3113c6f0a24bdee15ccbd142506bd564d2f3c45a74bbdcb60cebd055d0fbde512623b230967bd733ad9bd7d0f0cbd565a563bf9b333bd89d6b3bd2496c7bc712b3b3b92fa22bd8c4894bd846e92bc55f65c3b8719cebc2ecc42bd95aa10bca5906e3bf01617bcb988cebc96d1983bc7d47b3bb8c5533b23e3f7ba76f2fe3b7042513bc39d523b154333bd35e1833efd89833fa97dac3b13903bbd19a97f3e3c91823f2979aa3b03dfe5bc94da763e23c9563fa6ddc63bf515d6bca84f573e8c0a373f46cf743b1df495bc71c72f3ef006083f4c5da23bd5a6cbbcb88c013e50eabf3e83bc9a3bc242adbc0ea49e3d82e7603ee828cd3b56e7bdbcc9d5e63c7b4a913dafb4673bf63f88bc69f229bc4f8506bdb65100be1525623c000000000000000074cf10be7ecd973c00000000000000009ce2adbd5e20383c0000000000000000f956a2bd89f8133c000000000000000049fc60bd31a9ff3a0000000000000000b40a60bd73f0be3b0000000000000000ffd333bd57f4823b00000000000000009a1f2fbd06831b3c00000000000000008ac3fbbc2c6bee3b0000000000000000dda9b5baf28d363a9a14853b3853eb3b39cf56bb55d8433b4a64353c72b7b43c21a2ddba25ffac3b51f0603ceff1a63c3c1ac3b89198ad3bc36a513c5bda943c8e3ce0b93f0ca03bcab42a3c89a07e3c1d5519ba9d6f913b882dff3b7890603ccb4a83ba5ade3c3bc944be3bd0a1253c837316bb430bc7395c01fa3955f5f13b5fefebb985942cb9f8507bbab6d8a53a5a58cb3b6cfc35bbe6eb873b3856b1bb024b533c7929e1bb6fe2b93be394e0bba4c1673cd79500bbadb7783abc961fbc07c25b3cf840073a405449ba81a22cbcb731213ce0d3923affdf48bae5341dbc30d7fc3bf9969db9c5a9a1ba54aabebbf6ea6c3bd37adaba7dbaa83a580315bb72c103ba61fa2cbb10d6a93a7dac213bbca35fbbf08791ba10132c3911444e3bac7b74bc24378ebdb8a5bdbc06be113c726d07bde91b07be674fdebc03e65b3c591c3ebd987f0dbe521b18bdf7ceda3b7c4d46bd9092febd2a1c1cbd17b1173b59b62bbd12becdbd62c3febc565d863ab1ba06bd17faaabd7248acbc989b383bfeaea4bcf3b569bd6322e2bbbc7f773b4d399abbc937d9bc51d8b73b822ec33aed4fa23bfbd5bcba9388373c178d283b1d3075ba874a94bc44139c3d153d9d3f747bc7b9f2f791bc4ae58c3d53b3963f85039f3a04fe24bc79d8b73d6416813fc984153b392ff6bb2bb7bc3def924f3fdee61d3baeae00bcb144a63dd2ea1a3fecb09b3b4d743fbcddbd7a3d60c0d73ecd3f6a3b611b69bcc3310d3d429e703ea0f9a73b440234bc95e30f3c3375883dd0b0b43ba09e60bc8ba56dbce0335fbd4a3a04be8b707e3c000000000000000070090abed787923c0000000000000000c6b5b7bd3c252d3c0000000000000000e4f378bd067be33b0000000000000000055f2fbdfb119c3b0000000000000000afde25bdb341173b000000000000000079cf1abd0403723b00000000000000003dec00bddc062b3c00000000000000000f0d04bda00dd83b000000000000000000000000000000000000000000000000c748e1ba1552723bda4a0e3c5e637e3c9415bc38c270733b20c52a3c3edb893cd8b9d63915bfab3b1d88163c9a374f3c363aad392391903bdae8eb3b9ee52a3cf2b688ba3e05963baab6a63b59c71c3c0373ddba3a25d93ae9be833b4aed173c2b7384ba411da43addaedb3a43e6c43b0000000000000000000000000000000000000000000000000000000000000000c5ce3a3c67fe08bb71f2003a459012bbb6eb3a3c6c5226ba6274b3ba945ba4bb0d52183c922b053bb7df47bb5696fabb1207003c8f6b193b89190fbbebc7dabbbcf7bb3b0021e13a6f012f3a89f38bbb81124d3bcd1ceeb99a8a093a846daab9e22f0f3a8909c3ba3497423a4c57ac3a000000000000000000000000000000000000000000000000000000000000000085d304bde46600be163e06bd56b1743bfc811bbd9c5af6bde0d821bd40ad3c3ba59a1ebd7ebedcbd1f610ebd64848bbbb6e708bd69b2b9bdbe5e01bdb70e67bbf9aad1bc748393bd412cb8bcfcdc12bbf35683bc1fab56bda5933cbc884fe33ad8ce5cbbc9afeabc4f02e73ac622943a000000000000000000000000000000000000000000000000000000000000803f2afe0cbb9d19493c12304abd35bf9d3f8c11e9b99f65203c59938bbc8dfa823f8a1a333b4fbc113c9d80a03bf406533f373d1f3b4ac5b63b04622e3c0ddf203f39e8e43a98a62d39ccbbd73b119ddf3e39e6a33a4f7fb3ba65f6813a4d62803e18f7173b8841afbb08594ebc0450983d000000000000000000000000000000000000000000000000000000000000000094b08abd25aa3d3c0000000000000000876411bd0863083c000000000000000072ef97bc6db5b33b00000000000000001df53bbc522b153b0000000000000000170d5fbcee839b3a00000000000000007e7875bcfed756ba00000000000000006497c0bc936ea43a00000000000000000000000000000000000000000000000000000000000000000000000000000000af446e3bd858073c38bb413ca1982a3c65dfbd3b48ba0b3c9f2d4a3c03df3b3cb395993b85ff0a3c511a343c834b283c78a9703b4d0c0c3ce82c3f3cdb28063caf89823bab86c03bba390e3ca38bdd3b940af03abc348b3bb5e3eb3b724c903b1ececd393499063b8782b13ba10caa3a0000000000000000000000000000000000000000000000000000000000000000e4e52f3b7a963fbbbc701fbc1f2f16bd77e6853b8fdd50bb333a5cbc01e329bdb893963b59ea9ebab62b8bbc90f32cbd8dd2593b6b39d4b9c7f98abc52db12bdb20c5d3b9f2cc3ba56bf44bc2832fabcd2391f3aa9c3bbbad8ddb5bb29e19ebc3d63b2b9dfbde2ba83f4843af8b5f4bb0000000000000000000000000000000000000000000000000000000000000000afa6c8bd30c635bd053124bb6be2523b548ac9bdd65532bd553a8fbb4725143b3badb7bdacbd31bd1205d8bbde37d23816759dbd3c6a1dbd9457debb8a883a3a1ae280bd1964d8bc0a357fbb09b2ff3a94083abdc35b6bbc39b9a93a6147f83a38bcd6bcbf4114bb3af5763b2219713b0000000000000000000000000000000000000000000000000000803f000000001780783cbbcee0bc714e953fda48acbc745c873cef8f483a776d783f3822c0bbf67faa3c72228e3cb0ae493ff7b69d3ae504863c173ba13c1ae81a3fe08eb0b96e06393c3aa85e3c79ecdb3ee2d114bc1d5ebb3baab7483b41c5833e7719a4bce27f60ba9dae4abcf45cbb3d7e7c03bd0000000000000000000000000000000000000000000000000000000000000000a20f903b053532bb000000000000000054f0153bab396fbb0000000000000000fefb0739b14383bb0000000000000000b1014ebb458ed2bb00000000000000005a4efdbb0c61b9bb000000000000000073f3ebbb3a0b66bb000000000000000049a702bc75e225bb000000000000000000000000000000000000000000000000bf8be63a2ca3773b8b52913b5d7b8d3b1ccb3b3b933c213c330c633c2d0c443c13c4b53b4360443c910e853c32b1593c9bf0cc3be6903d3cb03b803c58fb593c2cabc53bbe48ff3b0a975f3cc6e7283c4f94963bb1f0d53bdec0513c0b87ed3b8aef163b5876a23b331f1d3cb72a953bf06b72baf2abac3a581eb03b84dba33af1943b3a7d4844bbe222da3a970ebfba69b1893a259306bbb1ed5b396d39cbbc2a7ec03a67acc9bb59190cbb138d16bdacdf473b21dd79bb19bf4ebc700f38bdc5e5843bf74a6cbb2d1680bc1f933abd75e7803b160cfaba1b9673bc51071cbd27342e3b25433bbbff6c21bc4a8efabc6192c6b98db034bbe86f30bbde16a0bc46a990ba7c98fcba779a823b17966ebb9295c5ba4a2e06ba3cbba03bb7bfa13bb33248bdb5ebedbc16a270bb63ddb23bfe7dc8bd28f03abdbb436db9ffde253cde59ddbdb2b55ebdd03ad0bb04b7c33b9f24d0bdaeeb58bd2e65ffbb96e8943b7c7dabbde2ed36bdbb35f5bbeddb2c3b6e4d8fbd1e8207bdf8e902bba270ab3b54524ebdd6cd95bc9135103b641bf03bbb50cdbc9c794cbb1420803b7643603b987570bb463e063ce2f3963b16634a3b89f7063c5242aabdec87943f2f7bd93d4dcc683c36e2a1bd3a8b8d3ff211be3d86f29f3c407e0fbd7eb4713fa3b3c73d4c18973c70c528bc5fe3433f5e7cb33d87c8833cf7be9b398c6c133f08808b3df29d3e3c224a95bb76ddd23ea881193d4137ac3bc09b41bcc5367a3e2bcf2e3cc60e343b7afeb2bc7d14b43d912066bcbd3c63bb2ff1cfbc396c14bd4afc03bda82275bca244b6ba0000000000000000fdee9ebce8fca5bb00000000000000003b5960bcb709aabb0000000000000000dc5f4ebcee2be3bb0000000000000000b46d53bcb07ec8bb000000000000000065b18fbc09bfcabb000000000000000002f88fbccebdb7bb0000000000000000dbd737bc9a06fb3a0000000000000000e7dc22bc7b5cba3a0000000000000000813bb13aef386f3b9c4d703b8909503bf46c803b944d0c3cdfcd273c13e41b3ca599883be262083c07b2223c7c9e273c2b62af3bd316233c74985d3cd7f4493c98b88e3bbf45023c6e9b1e3c2353223c93947c3b9cbfe23b205b1d3c13020d3c9d2c133bc7499d3b28da083c6d39aa3b955a4a3971738e393289873bd4e0f33a8df086bae0446238cefd6b3a1b3277babbc4ce3a19759dbae3f9a83a9650bcbc96327e3b4eab47bb40c685bbdaef1dbde59db13b47fe3bbab6a62abcacec1cbd9759bc3b766aeeba56ac62bc17e52abd9b8e7a3bb11ca9b93ed855bc9cf10cbd9a59433bff2625bb6e1a0fbc78c2e2bca8b9153b07b9c3ba2358f4bb31a392bc167d2dbaa3fcccbaca291a3b443339bb8eef28ba6c1bbcbaa2929a3b7f5e833b45f3ebbc8a77cbbc95b628bca2a3ba3bf4c696bd216351bdb1655bbc1ffc033c0f8f9dbd7ec25ebdd1f77cbc48bfcab94276b4bd3d4076bd0b576bbc8a93793b86498fbdaccc44bd17554dbcb9ffc13afe6d7ebd5e8820bd4a88bebb044dc03bd44a33bd7d33b3bcd77e6cbbe262333bba9fb0bc06b818bc01686c3b8a2bb83bbb1523bb9ba05b3b9b2e763b596a913bc8c9db3b8f2eaebd43187a3fb44d8b3ea443773cb58bacbd0ddd753f3ec9833ece86873c194011bd6baf493f8ec76f3e10179a3c2038ccbcd2d72d3f7cb1483ee24a813c96261bbc2caa023f89b1183e883a3a3ce21383bcfad5be3eec4bcd3d1f8e0a3c2bd989bcc2f3693ee49c5f3dfbd58e3bab84f3bc1110b83d2a42de3b5839d6ba2da4d0bc7ce891bc2f9bc7bcb24508bdf4d553b90000000000000000c05419bdd90bf2ba000000000000000026aec6bc4c6d4bb9000000000000000056eed1bcba929fbb0000000000000000d486b2bcf625b5bb000000000000000081cfe4bc0be3d1bb00000000000000004ef4d2bcbd6ea1bb0000000000000000b22bc8bc6abebc390000000000000000e2827cbc1143093b00000000000000002097e33a897d793b55cbe33ad18a043b7e598d3b9e10c53bc41f1a3cb1df093cdac8af3bbc2a133c2cb3493c4aed493c2808b53b75a8fb3b8f82583c945c363c5309a23be72b033c96a4313cabc72d3c3942673b4499c53bacf4203c76820b3c70b60f3b12bc643b4e1be83b437ba33b33a0093ab769353abb3ba33bb3944b3b473d3cba1290f2bab98bc83a0ca079b928cf2c3b89908eb8877127ba41e1bcbc0684c23b5adbd5ba20cd96bb4ea114bdc073e03b45fdbaba6d0d32bca57324bdfadce03b0ad893badb2649bcfdd518bd5674c23b1a23d237e96b62bcf4700ebd2967693b938680ba75f60fbc364ed1bcd861183ba067e0ba3f5b51bbe65e73bcbf26acb9262125bbdebc413ad5429cbbe5b49cba962f95ba6b5f903bb474653b351099bce80bcabc557691bc7be87a3beb056ebd112561bdb61dbabc4298d03b57289dbd05a387bde4a7c4bc60948a3b0b189abdba3c84bd9d48afbc2faded3a748788bdaf196abd1cfb91bc1a7acf3a883962bdd97a34bd947b31bcafe5a13b1c5c20bd2a54f3bc719621bbdcddc83b1c66a2bcf52b52bcf7e71e3b2b5eef3b0e75e9ba9115ab3a5872ab3b39c4b53b044cad3bc8ed8ebd8c634c3f027ae43e2e27773c9cfe96bd30df493f49cadb3e7ef7913c76cd2fbd50e2303fd58ac13e59b9893c54c3cdbc89c6113feca19f3e6f097e3cc6e778bca605e33e5e79773ef0f7493c94e388bc8d74a33e570a2a3eadd9d13b15edb7bcb2bf4a3e610bbf3d7e56703b4f2ee6bc5737a83d41e6d83c9eab22bb02cbd2bc76af15bcd242b8bc241134bd7e9f013b0000000000000000424b5dbd7dfff93a0000000000000000a6082ebdb6a59aba00000000000000009d0517bdd160e7ba0000000000000000763307bd6d0da7bb0000000000000000904515bd172ad2bb0000000000000000ecce15bd5225afbb00000000000000005af20bbdceb4a2b900000000000000004caac2bcc402efb90000000000000000444a0f3b17e5123bac8cf03a387d263b8074633b79a4ef3b2e7cf63bc7fe023cc2cf823b4f25f73bc9a71e3c96982f3cac009b3bf7140d3c38423e3c2fdb523caf8d5e3bb8a4a33bac00ca3b1804f63bed70403bb861cc3b17d60c3c820d1c3c6fc8093b9489693b591bba3b0fbbc73bacd6db394543953a8274433b9adf663b370ba6b99c6c19baef27783a8bb7a139fdef7d3bdf0abd39c33e323a3c10bfbce436d83bad8812ba3c18aabb83d009bdabf8f23bcb46a5b886a720bc94e10ebd081ded3b9707333aa9235ebc995e12bd54cba83b820ceb3a4b9838bce62fd4bc4446a03bc2ff15ba30460cbc1f29c2bc9af9103b7c5bcabadd5b86bb1a6a69bcd9030c391eb815bb7d2cc23af4ea85bbdd5aa8bab99db9ba4939673b0bfa343baf0d55bc0358e1bc8c0dc2bcd4a9553bd31742bd23726ebd9f1af3bc17c0aa3b215f7abde9898dbd5750ecbc4c32ca3afd4288bd6b0393bdc0dee7bc4565aa3a511648bdb3d254bd8dacb1bc8f2625bb998c4cbd67c24ebdba966cbcaf66813b47cb07bdc43e04bd27f9b8bb6f2fc23be1408abce3dd83bc98ad013b57f1fb3b76a59ebade804cba01b2ab3b3d41f03b3ddc843b72ee66bdf4a31f3fd2ae1f3feaea483c0bb964bdb4681c3f6e96193fc9b6803c4e2feabccf99083fc774043f15f18e3cf8f690bc3348e93e0acfdc3e4563693c63df84bb19aaad3e1c43a23ebe353e3c18bd77bc293e863ec0ab6e3e48bade3bc63f9bbc5122253ef1080a3ed7e1453b210edbbcd040913dc24e433d0da43ebbae56cabc0054bbbbce64aebc5af865bd9f50313b000000000000000002cd88bd693e473b0000000000000000c0e545bd4f80943a000000000000000013d337bded9a4cbb0000000000000000333befbcf6f880bb0000000000000000b17a31bddad9d7bb0000000000000000dcac27bd3184b5bb0000000000000000b6d325bd44c1bbba0000000000000000eed6f5bc719872ba0000000000000000082b413a32e3463bf360283ba33bbd3a5311423b91f3d93b89e7c53b3bb43b3cfba05b3b50b40e3c3d622f3c90264d3c4fe86a3b1801073ca45c313ceff34a3cdaf85c3b118fee3b98731f3c73de373c56e86d3b3cabb53bdc57003cde701f3caae7403a47468f3b38d1b93b8bd0f53b995f85b6c30a7b3a732c423b652a723bd22652ba5e9811baa01ea739f63fa53a34933d3b0dc23d3a3b9171b948919abc92d7ff3bdb83aeba6b5d81bb078bf8bc5f32113cc56f2cba63e3ecbb3b0005bd309c143c938053ba427b27bca28901bd3476ec3bf5d47e3ac43b36bc9773ddbcd706933b9a7167bada7e08bc6ed1a5bc25952a3bc9a3dfba91a359bb06f841bce43329397f5f07bb61d6cd3a0db72abb6dca41ba4d7aeeba3912633b5e0d253b12a145bc4d54e4bcfcf6d3bc89bd903b65932ebd9fe08bbd0c531cbdfd291a3cbd6374bd6b28a7bd6de70ebda154813b141877bd46e9a4bde362fabcda1f323b333a5cbd9f0f8ebdee21d8bc0620543a4f1536bd4cae63bd5a8d84bc0960943b0c5c01bd517e20bdd85ae0bbd233eb3b658f76bc90359cbc46721b3bb4aef03b2d6b73b9680617bbe5c2b23b77cbd03b6e62103b174633bd985fe53e0c354c3f3387343c72e02ebdfe8ae23eb5cd473faa364c3cce43b8bc5bd3cc3e32cf2c3fe2b56c3cbbea44bc7638ae3e3bd80c3f44065d3c5111e0bbec4c8b3e71bed63ed26e1c3c60e43fbc0bcc4c3ee99d973eb2e5e43b4e0499bc0837003e59c1333e701f603ba578d5bc8f8b5e3dc813843d2dcc8eba1426b5bc4d2ab1bb5a47a8bc128190bd2771a43b0000000000000000c9adadbd1bc89a3b000000000000000060ca89bd806a103b00000000000000009d4e59bdf8f1cdba0000000000000000c81d3abdc08998bb00000000000000005db141bd12f4adbb0000000000000000304549bdaa768ebb0000000000000000dc803ebd9f50663a0000000000000000b9eb08bdfaa01b3a0000000000000000254bc639bd9d153b98bd1e3b7d4e753b7edfd93a655ad33b2815083cb4e7253c71851a3bf8dbaa3b76052b3c16c1323c43874b3bed96043cf720373ca546643cc8c41a3bf433c33b402e073cba9c273c9707dc3aac86ba3bbf07013cbce8323ce5924b3ad3895f3b3eaaa83b89b3f73be11c3eba41851c3bcd1fb53a3e4fac3bba7dfab9a267e7ba3ac438b9743ec13ad0b58c3bb3c562ba64145a3b9e8971bc725f153c535b41bb1d24a5ba8ec6ccbce800193c218552395279e0bb7295cbbc7b851b3c7b8c30b9875b1fbc4113ddbc3bc9f93b664a0c3a747b11bcb73bb5bccb91a33b0d8360ba760ecdbb2a638fbcc2a98b3b5ff0c4ba60ca2ebb976d3bbc3b584abaea4415bbc41ca43a53de39bb1f1fb7ba2b72d7ba2f78723bc6bc6c3bf7054fbc146813bd8e5fddbcad070c3cf52525bd0bcea3bd18e016bd8ecc293cdc3b45bd4549a7bde1721ebda9ba853a9ae762bd2f50babdc0ae13bd10612d3bcf493bbda99b92bd28cce7bc145cf0b8554326bd1d6c80bde9829cbc346db63b8468e1bc846f28bd731f37bc3115853b8a1f3ebc466db1bcc363c63a4642023c5742183bb99b12bbc075e73b9ac1be3b08096bba8e3004bd81928c3efec6793fbbb6d53b4551ebbcffa18a3e88f9733f7aa83d3c5576d0bbd49d823e6d3f473fa662463c15c928bb2cfb673e3a452a3f033b463c92e7a43a2f45393e4adefc3e41ef213c9413d4bb963c0c3e93b6b53e2651f03b6c5825bc8f55af3de97e5a3e6601923ba078a1bc7735083d25c39c3d5321f0396bb19fbcc40f10bc147fdcbc0366b3bda25b9a3b0000000000000000507ec6bd6187cf3b00000000000000007cc75dbddb61333b0000000000000000b5cf5fbd9827bdba0000000000000000190b26bddbbd56bb0000000000000000407f45bd2d19c2bb00000000000000007db32bbd0e7d8abb0000000000000000738b3fbd49762d3b00000000000000003db70dbdc5406c3b0000000000000000b26cb039ec0cfa3a7d2e453b057c8b3b4447bab9f514bb3b47df1f3c00be783cef9ad73af0a7033c2dbd2f3c26298b3cb6bf063b9219053ce56b323c8a2a823c4958f33ac69de13b49581a3c027e523c3e4fa93a7370cb3b18b6083c0a033e3cebf3bdb9ace2743b7ceec13b34020c3c83f3c1bae6b4aa3a39ffe83ab1a9a33b511ab8ba78a705bad56f8aba0a4bf03aff62d93bef0c1bbb18ab173b5a8a23bc93e8183c4ffe9cbb22102c3a0b4983bc8a8e3d3cbc8722bbbd5dc5bbf981b1bcbe43333ceb3f20ba526613bc5fd0b5bc4bf2003c26680a3a3b6612bc06f3a1bce289ca3b8006afbaa62bb1bbea896dbc6c777e3b8ba738bbd7b208bb9f3ed4bb70a580b909b03abbbbf4063b06f683392bbed3baea1aedba8f146e3bee8c8c3ba39681bca35d5fbd2f5df9bc8270033ce5c01cbd55feccbdf0a812bd1682633cf2734bbd86b9debdb55c2dbda0dec93b884950bdeb48d0bd2a6c23bdd657033b390536bde23cabbd0f7b01bdbb51403ae82e16bd8c428fbd7e8baebc6e4d853bedd2cebcb30947bd5ac323bce723e63b216c02bc27edc5bc84ed5d3b5f88e63b8d0d453bbcd14fbbb022073c560bd03b18b6c5baf90982bc3b57dd3d7384943f035e423bc1022abc54d2d73d20068d3fb8d8ef3bbe7d933b7a59fa3d25826f3f4cdb2a3c79561b3c3237f23d889d413f5ec9373c72a7213ce9efd03d42cc113f1f03103c4299853af339993d3da5cd3e90fbb43bab7dcabb4309333ded46723ee0dead3bf2b152bce90c2d3c73f6a43da7b58c3a3f2087bc5d426ebcc29321bdbe8faabd3674df3b0000000000000000b42dbebd1b50a43b0000000000000000163068bde6df2a3a00000000000000003ae729bd7f4306bb00000000000000005d9e07bd73b6cdbb0000000000000000a80a1cbd08fccebb000000000000000038c12cbdf18589bb0000000000000000f94a2bbdad4a673b00000000000000005b7c1cbda01b003b000000000000000000000000000000000000000000000000948439397e23a63b3c35e33b5ec34b3ced457e3a6f89c53be82f223ce128473c7705003b0283b83b07a30c3c5c9f373cb72a163b81fcbd3bd8b0ea3b57591b3c7283103af345863bd263b73b7e1e083cd339173a45af353b1eae8a3b872eef3b769f67b8dd8d623aae92113b2151aa3b00000000000000000000000000000000000000000000000000000000000000007f2c193c749fddba7bd1e2bab10649bcc5380e3c92a31c3a821ebcbbba6484bc1705113c24ac003b6fdf08bca4798ebc6ccc073c16fe0d3b3bdc0fbcfcfd85bcc188ef3bdaaafe398306a3bb2a0145bc96d4343be42ffb389441daba02eb00bc8194703abd19e3bae9c8a5b80aad39370000000000000000000000000000000000000000000000000000000000000000902d17bd6454c5bdfaaf24bd769b3b3bc80e25bdcad8c8bd05181ebda8f16fbaccc52abda7c1b4bd83e223bd480cb9bb2a481bbdba359bbd61010cbdf6cac5bb34e0f7bcb57081bda851c5bcc554fcba36129fbc2c5934bdf9ad5fbcd07d003ba0f115bcf467cdbc4417aaba052ba93b000000000000000000000000000000000000000000000000000000000000803f8b89293bc9c6663c533a1ebc70cb943f4117063c581c8b3cceed523c8753783f6d2e3c3ce21aac3c729ae83cc9da483fd43a3b3c8301983cfd9cef3c7e701a3fdd7d1a3c475b2f3ced75b33c0f35db3e6aadd33be675623b1caf053c2065833e0328473b07b2bebb87a7febbecf3b73d00000000000000000000000000000000000000000000000000000000000000007c6318bd02d89d3b000000000000000009849dbc8eb1fc3a0000000000000000db3ffcbb7c5ec1380000000000000000038106bcc4fe22bb0000000000000000822883bc71e8cfbb0000000000000000faf4b4bc8ac3cbbb0000000000000000dfa404bdd06994bb0000000000000000000000000000000000000000000000000000000000000000000000000000000063c59a3ba6e4723bb983b63bd3d4c93b2c179d3b99efa13b6febfb3b0eb8213c7def893b081ca33ba5a3f33b6ac2093ccc58613b8751883bf2ecd13b1394e53bdb4e503b1d19963b2db7d73b81f8cc3b56a9923b6ab3b23b1c4bae3b158c343b617b0c3bc1cc1a3b8c2d773b8b571b3b00000000000000000000000000000000000000000000000000000000000000005331a73be0591bbac9eca6bc5b2606bd982a3f3bd219db381668c6bca20712bd9446ae3bbeda753af005d3bc72d315bdd531a33b26c2033a5804bfbcb25202bd2c07883bfd0581b97f38abbcceecedbc7e99053b90af4fbadbe582bc138ab3bc1e37e9393384feba68e3e0bb43c354bc0000000000000000000000000000000000000000000000000000000000000000202151bd1ffe13bddd7176bc439cb8bba5ec5bbd2c2d13bd73af80bcd20ce2bb8ddf55bd7e7513bd2e1891bcd6f90fbc024533bd53e8f1bc6dc07abc22b9fdbba6b21fbdde65c9bcfbd530bcabaf81bb7e59e7bc0e0185bc7e1a9abb20befb38cc7185bc6c4be1bb035ddb3a53498b3b0000000000000000000000000000000000000000000000000000803f000000009ab7c93c330f933cac99823fb354823ce999fa3cec03e83c05a05c3fd2cc843cf4ba0d3d4073093dc4c9353f3bd6713cb7ccf63cdd51ef3c06cd0d3fcf49073c3388c43c38cfbb3c7845cf3eeff293ba4729833c1c453d3c687d833efe2745bc9fba373bfea827bb1809e13da6f3c6bc0000000000000000000000000000000000000000000000000000000000000000801b433c6de3113b00000000000000000ddae73b1b28f2ba0000000000000000a63f683bb8d491bb0000000000000000d9bae8baf65503bc0000000000000000300b05bc5b1334bc000000000000000008ed51bc168445bc000000000000000014258ebc967d3ebc00000000000000000000000000000000000000000000000063aa343b5690b33a3bbe273bb102123b4928e73b4856db3bdc7f093cfa1bef3b388ec83bc2990d3c28b8163c30f81d3c1fcecc3b0b9efb3b7bf4293c60ad123cfecb933bd61ac13b180a0a3c5be2073c9ae4b33b8c04ad3b6342123cede9ee3bfb35813b3b63ac3ba66ade3b53fea33b82de203ba988123b4c36503baeb5783a37d4753af734103a34a36a3a96ef48ba24ce2f3b4a8ebab9964422bca88faabc20979a3b46ff16bba31ab0bc766213bd57f3d23b4965fcba6e59e5bcd25022bd6e5cb53bb83999bab79eecbccd9726bde2dbbb3bb3a209b70cb3dbbcc96813bd701f6b3b2c0cfabae430bebc193d02bda397da3a64bdecbae4998bbc8279bebc717d9fbaa19ed9ba0eb603bc9e952abc6ca59dba01273fbae8a142b8c5e8b6ba7775d6bc9f09cbbc528834bc19cf24bb1ba153bd1e0021bd42347ebc02d530bbd92a76bd7a2833bd06c19fbccb26d8bbc47b6abde36127bd546e98bc6ad0e7bbfc4747bd67d00cbd626b88bc059ee6bb09342ebd4cb1e7bc684b28bc42e209bbf6ccfbbc93df97bc624b81bb4bb9f13a5f5967bc649cbabba995873b227ddc3bbcbdd9baacaaa93aae0cac3bcbacba3b7cd21c3c426e2cbcfbc1813fa6f10e3e1665b63cb601f13af129703ff663053edb93043d70a7ad3ccc044d3fb080f13db2a6103d45e2e43cc894273f9292c93dd8f5083dad28e73c5e7a013ff3dc963d01f2d63ccf0a963c0f9bbe3ec5393e3d28c9823c06dedc3b6e1b6f3ec3d58e3c56db743b7038ffbbfe5dcd3d53f023bc7d99e5bba20b86bc561192bc5acbc7bcc749ae3b1e1d6d3b00000000000000006b723c3b6dc6b0ba0000000000000000fff9293b8fb07ebb00000000000000004a7393bad6b5ebbb000000000000000078f0bfbb44ec20bc0000000000000000f53d58bc9b5f61bc0000000000000000853e97bc623172bc0000000000000000bf53a7bc19b24ebc0000000000000000c0b282bc3b380abc0000000000000000fde63f3b123c973ae2a34d3bebc30e3b1de0be3b99f7903bf25b093ce9f7c53b8c00553b60c36d3b37fdf33b3c5cc03b21e4c23b4568ee3bfacb1b3c792f203c68a7453b5990893b57f9e13be903e53bf004943b4f4bb53bf4f51b3c4ce4013c81c04b3bf1407d3bd98a843bdfea623b8635073b0b7b293bda7a6b3b986fd93a588585b80059383a562f243a0541b5b98e3bfe3af7c5adb9401d08bc222890bc80f4a63b5c68edb962919bbc1c4f0dbd162f3e3b4f57ca3afb17a8bc059d09bde50dea3b06191cbab83feabc344c21bddddea03b0122c8382c15bfbc9b3901bd6faa873b5ad0bfba8f91bfbcc41efcbc1c41563bcec60539ec2d69bcee679dbc08fd5db8c5f2a1ba61dffabb9ae02fbc5eacb5ba73528cbaec11a0386f6802ba41fd87bc2dd1a4bc5c454abc2e9622bba34c2abd15eb26bd60b9a8bc0a9fdbbbcc3b32bd75a815bdbc58a3bc48c9febbe4655bbdff9f35bd19cfb9bc83551dbc61712abdec6f0bbdeff58ebc8e03f4bbcd7e24bd7dbd00bd839d61bcc2611dbb50c6d0bcf166a0bc6e230ebcc44721bbc45266bc773c10bc2207743a6686a13b9c6e3fba19cf263a4becb23b66d3c03b46d2e03bc8ed8bbcaef65c3f5e658d3ec111b43cdfe45ebb8325503ffcc1853eca32dd3ce3566d3c36ac2c3fccee633e428e0f3d08eccc3c8a29143fa958413e241bfa3c436bb43c415be23e6eee123e8a0ada3c04a8853c2913a93e3b4ccc3d32f3783cdc0ca63b98dc563e7e946d3d3ccd5e3b37db14bccb95bb3db1c3373c1a3dbcbb00fa71bc506e23bc76179cbc4f3659bb86cb1d3b0000000000000000c23bccbac284a33a0000000000000000102638bade8b84ba000000000000000050daa6bb7f79e2bb00000000000000003d61f4bb1cce0dbc000000000000000017058cbc2d8b71bc000000000000000080ee8cbc474a40bc0000000000000000d557c0bc729150bc000000000000000040fb87bc49c7f9bb0000000000000000d449f43ae6d2913acbb80b3b8da0b13a8eea5f3b92dda13b2ffcc83b113ce13b0648aa3b2ee9d63b74290b3cb3a3103cc84ba13b6ee1e13b1479183cc5d9173c105e893b0d06b23b91d1033ceffe0b3c6377483b6e6ac93bb180043cdd53ef3bf5a36a3b6ea9a33beec9da3b8b7ac33bb93ff33aa649293b755c553bcfb7f53ae3227f3a2334163a01676c3ad7d572b97ba0f03ac837803a3baeecbb69c784bcf9b5b83b37f0b5b98aa187bc21d3fbbc248ad43b538b313950e7c8bc3b5a14bdd9f8d43bf9f0a9b952d5dbbc6ba915bd1475c93b5cea0f3a4646cabc5d6d05bd00a0923b662d73bae45eb2bc1f00e3bc39a4743b6c1b0cbbd58d8cbcd8cfadbcc4e42c392a1ba5baf20208bccf1f24bcfd2828ba3d1d36ba8fbfcdba3d2ababaa21956bc606b9bbc72f484bc78c28fbb331f10bd00c41bbd7eb8d1bc5eea07bccb8d41bd00f33cbd6040e1bc4bd72cbc154d45bd409c38bd5746d1bc456929bcec5b2dbdeb551fbd3de6b6bc5ca22bbca8721abd98e305bd5e7381bc76ee8dbb3fd9dbbc70e0b5bc308720bc122a63ba29a64dbc6fc420bce3d87bb90579993b820572ba7ae6c6b9cc42593b5628a23bb1e7043c94d345bca60a373fec8dd73efc2cac3c9d9292bafa5f2c3f7595c93ea8f3003d78dc873caf35163ff04aaf3ef436083d3a96bd3c538ef93e489d903eb2fa033d7f5ebc3c22ccc23eafa25f3eed85d83c4177803cf85b903eae571f3eb54b8d3c1750a83b1ef1383ee435bc3dba25843b75410ebcdf31a73d886fff3c2bfa86bb2a2051bce3a4b1bbda8f8dbcc282d2bbc2d1883b00000000000000005a1ae9bbb265263b000000000000000043d593bbd70770ba00000000000000002bf8f6bbe9d7c2bb0000000000000000e41b2abc90af16bc0000000000000000398098bc530e5abc0000000000000000734ac8bc027480bc0000000000000000ad5fddbcca8764bc00000000000000004a2d98bcc06420bc0000000000000000513bc53a9ce6a23aaf85b93a12f1293b69c73b3b1bb4aa3b72139c3b940cca3b1da7693bac3d8d3b3d6fea3bd30bee3ba1d7963b7468ca3bc614053c44df173cfccfa93ad0e0113b6fd8c43b54c9af3b2a2ea83b1abfa23ba9eaec3b083bfa3b41db023b3d6b783be1b7b63b1fb3803b7f99f33a37f92b3bb9175b3b70532d3b015879ba713d953af4ccbb3a8fff403af49e063b57a42d3adfaeccbb96bd67bccb40c63b8eb8933a325281bcd423ecbc82c9d33b1818a33977fcabbceb2bfbbc4495eb3b91f07b3a95dbcfbcb0d50bbdff8ca03b3bddde3a32a7a1bce519d3bc2ea7ad3b43e9ceb9b905b4bc6f5be0bc2a3b163bd5f83c3a52db77bc1af893bc9275663a4abd96ba62db08bc03741dbcab9533ba429418ba71e73aba3281f9ba743535bc1a1193bc27519cbc08afc8bb120305bd764621bd2b0ce9bc15f220bc21c121bde3a432bdb530edbc183a34bc06eb37bdeb1741bd19abf1bc069f50bcf89809bdc2ac0ebd670cb9bcdb2920bc199710bdfc240dbd89b898bcfe37d0bb6393c2bc15edb6bc342124bca91c3fbbd5a84abca5a137bc6f6f31bbe634793b0f7898ba277864bad879183b32e1993b4932e43bb50504bc4b24113f40bd103f80b1af3cc0b9b53b2f51093fb343073fa3c8e93c3ee19b3c3bb0ed3e8217e73e7dee0b3d0cacd13cc71bca3e11c4c03ed29ae83c50a7bc3cd75c9a3e2351923e4a82da3c2c638f3cc70f6d3ee0a2573e2093893c86cbda3b9913163ed6e7043eef3d8e3b5d3bb5bb4a148a3d330f503d8aed37bb797b45bc8ce2a0bb7f4766bcb22620bc56da9e3b0000000000000000fe741dbc05a9833b00000000000000000c0cc0bbeca0ffb800000000000000004082ffbba4f887bb00000000000000008803fdbb5b71c9bb0000000000000000f1dfaabc486451bc00000000000000002ff9bdbcce6e69bc00000000000000002e3cf1bc1c2f75bc00000000000000002cb6b1bc39b415bc00000000000000003084e43ac7dc503a0a37a03a1511d63aa36b5d3bdbb79b3b4f11c43b82d4da3b8be89e3b5d70d33bd3eb043c3e15153cbafb783bd065c63b3f22033c81c92b3c39ba5b3b0a74a83ba4fbeb3b3b250e3c5a9c643b0ef4bf3ba4a8f23be65c053c3a7a6b3b479a9d3baaaec83beb30c73b81c1b73ac40a103b618b1a3ba2a6873b58e55c3a61f8613a104d7b3adf8bed39aa6e093ba14ec93a9800d0bb558d49bcda57b43b61b2503ab22e7abca07cdabce4e0e23b8b703b3a9627b8bc1a1704bd7303e23b636e273a1098c4bc277403bd598ae83bd7551c3a8e62b8bcaccbedbc9170a43bf10cfab93fdab1bc7f36d9bcc624523b969395ba865883bcb4429cbc01ab07b95d0f7dba272deebbdded04bc866beeb9d99734ba01e0ecba08a44ebad2bd25bcad8292bcdbfea2bce1cfe6bba8a3fcbcc6872abdcbc904bdf8dd1ebcb3072cbd0bb051bd162209bdf7184cbcfde12dbd6b154bbd1f4201bd539757bc72321dbda3c830bd2dacdebc31c042bce3ff0bbd44e015bdb34ba5bc7eabc5bbe0a5ccbc0658d2bcd1d748bc5d7da0ba07f23abc7b1d61bc515b35bbe2f18f3bfd7855ba747973ba41b50b3b9f349f3b94b3ea3b1d3f6abb3a55d83e5760363f77dba03cbbd5ff3b0741cf3eba592b3f1efaf33c5a88c03cfc04b83e3d4d133f519d053dfe03e23c005d9b3e6fd6f13e70a3003d12a8da3cd114773e3affba3ed4e0dc3c96fa9f3cd19b393eff50883e86a3913c20b7053c8834ec3dfa94283ea359d13b5ff8a4bbf4e0523d769d8d3d2b053abbc69136bc7b99a9bb528263bc52737abc2eec8f3b0000000000000000be6180bcdd7a863b000000000000000088e623bc035d26390000000000000000470330bccd6888bb0000000000000000858e4dbc28aa04bc00000000000000007a0abbbc815948bc00000000000000004ceae8bcafde84bc00000000000000009a6d03bd736a6fbc0000000000000000a15fcabc864a22bc00000000000000004e1fca3af472053baed9e43a8252883a38d4633b5c83b13bc706cf3bafdf203c46afdd3a999b933b283e9e3b16ccd83bab959e3bbe28e93b00de0c3cf9d6213c96d63d3b0fdd8b3b7252b13b9919073c23428f3bef64c73bbbeaff3b220c003c3e6b1a3b551c583b03508a3bb7809e3b10380a3bfc85463b677b313b0329323b06b7e3b86297173a7e2c5039780917b9b35a4d3bc557793a007199bbb40243bcdc96613bbd53cb3a9c7582bc2afcc4bcd676ce3b5850ea3afac885bc0b31cabc1557ce3bdde6a13af07ec0bc153302bd6d17d03bb28da23a6672a0bc07c4d1bc704b9b3bb38d75393ec5a5bc24eaccbc3bfe4b3bac7a0b3ae07b60bcf3a787bc9d0c213a63c092ba906709bc4b63f3bb51a81ab86fae87ba4f17993a119b4d397bed3cbc4830a7bc0f26b1bca3bc95bbd116f4bcf7fd3abd34a229bd5a4401bc4ad203bdffd83ebdaf8a0ebdb4e13dbc40542fbd2dfc58bd274a13bdf5404fbc24a50ebd7ad42fbda54ae3bc18264abc01a509bd4f4e25bdc515afbc0e6ef6bb5922bcbcb960ccbc123f5bbc0e2588bbf7273ebc3a4a5bbc521684bb57919a3bdabe2db816e4a8b9f875373b7972bb3b1320a53b4bc12bbac06c8e3e9a5b5c3f06d69d3c4c38563c33558b3e5eee4e3f2839d03c8118bf3ce17f763ed1c12a3f4c58053d8e66033d20495b3eb83c113f4e94f23cf8bce53c4b252c3ec74edd3eaabeda3ce0f3b13cfeba033eaedea23e5f37953c0974343c1acda73d4c5a4c3e2f9dc93b3f9881bbcc51053d5af6ac3d713625bbf03d27bc5746dbbb7e497cbca94999bc0d7c863b000000000000000010258cbca3e69f3b0000000000000000d21edbbb4867573b0000000000000000a1b01ebc9fad84bb0000000000000000ce6f21bc61c2cbbb000000000000000098d0adbcb9245cbc00000000000000009e16b0bc57043cbc0000000000000000f9020abd62c468bc00000000000000002a3ddabcb3bf17bc0000000000000000255bc53a18f9ed3a9eec463a8d8c503b6548873b5b84cb3b4b55e93beef8053c0546853be9a4fb3b96c1033c533d203cbfcc943b9407f63b871e0c3c0bbc323c2e8d6e3b8e26b53b014ce63be6a7153c6c82653bb0a0bf3b0da0df3b986d013c67ff613ba187a73bb5a7b13bdc30d23b16cb9f3a0b3f413b43a9383b28de393b08220c39e60e513a7c09e0394187343aa651223bc670603ab3fe90bb92d334bca3eaaf3b87268d3ace9462bc917abebcbed4023c7c1b0f3921f8aabc6760f2bca342e83bcfb19e3a44bcb8bcb37cf2bc7f2ddf3bd02a583a69ada7bc9358d9bc84e7b23bdfeade38b17c9cbc6565bdbc07db863be59093bac83a6ebc0a0289bcab8d8839421adaba682fbabbe0c7cbbbf59f32ba9faa69ba18934eb941b0b639c5f278bcd9e7e2bc8a2fd4bca173c2bb320106bd0fda58bd803815bdf6590bbc706822bd35ad75bd11d61dbd0ba45bbcedab29bdb26e70bd7a8b17bd6d116fbc83a015bd88b248bdf52000bd163358bc10e203bdc0a72bbd170ac4bc9205dfbbf5edc4bc8700fcbc32597dbc223ac1ba79ad31bcd65f65bcf3085ebb199aca3b558a6dbae10ca1ba13a51b3b27f6dd3b7d52e03b81d9e13b9395103e54c9813fe1998d3c9e2dad3cd213113ebc616f3f6e7de43cdc71063dff050f3e54854b3fdf32003de0f6103dafd5ff3da7a3263fb180f43c8c20083dc4fdd13db459003fe617d73c2757ca3c0c419d3da7f7ba3eaa419e3ce20f613caffb403dbdb0693e8abfe13b1cc195ba9b70623c1409c33de23c01bbdc4d17bc7b6935bc5b06acbc5fb361bcc6e2b83b0000000000000000f9bb66bc4c16363b0000000000000000148421bb7862f03a0000000000000000db2133bbadf427bb000000000000000058f8b5bb952fc8bb000000000000000043077dbced7749bc0000000000000000e244ccbc479f7cbc0000000000000000dac509bdd49073bc00000000000000009a55f5bc872b40bc0000000000000000000000000000000000000000000000008600283b67e8833b4c74543b5195e13b47776e3bbb7b753b7433963b6dd8e53b6292403b619b873b18179a3b793def3bc2290e3b0792593be70f8a3b1f42e43b5b02533bb427933bc15cb53bf964bc3bcbb1113bae84563bf9b2813bc060db3b3d1f153b265c393be0d9283b24294e3b00000000000000000000000000000000000000000000000000000000000000006645ac3bc8e2983ac68935bcd2f299bcf8e7e23b80934c3b826b61bcacbaabbc4ed1ea3b0420053bd21e84bc51d3c4bca08ed03b97a01c3bf4c389bcceaab4bc3455b13b0cfcc33af9a887bcf3a9a9bcb55f303a61fd683ada4f45bccf0e74bcd37cc63a553623ba81f1efbb0db606bc00000000000000000000000000000000000000000000000000000000000000009c21f3bc3e4b53bdb22415bd447435bc07c702bd88b059bd2c8b12bde89c81bcafc20fbd82fe54bdce2d0cbd1c6285bc18e000bd050936bd875bf1bcb6506fbc5b65edbc1dc220bd6e33c5bc428823bcedd7a2bc0802ddbcc25780bcfa7755bba14a53bc79d67fbcb845cdbbdba5003b000000000000000000000000000000000000000000000000000000000000803feddf8f3c53f6e03c17a1de3cc580823f96c5c03c20d1083d83da103dd7805c3f01dcf13c50b5133de65b173da87d353f7fa9e83c3334043de20d093d2a6e0d3fba75d23c6b22db3cdf32dd3c00abce3e6217903c37027d3c35f4583c4ece823e7f58103c8065743b2cbc4abaa312e13d000000000000000000000000000000000000000000000000000000000000000021c1e03b595d023c0000000000000000e7aae03bf8f20a3b000000000000000079060f3c2d66c53a0000000000000000800b5a3baa1e52bb00000000000000002580d0bbb30b1abc0000000000000000cad777bc66a844bc00000000000000009960d6bcab957dbc00000000000000000000000000000000000000000000000000000000000000000000000000000000cd9388bb4daf2c3cf476173d3ac75c3bb35c45bbfd75523c0e99103d2a41ca3b199845b9f2b2593ce188d63ce1ae1b3c73c5e13a1a47403c965ab03c705ace3ba357223b136ee33b700f8a3c87489f3bc07bee39f1dac13b90011a3c9dd3903afdc49d390544ef3af03f2c3b6d711fba0000000000000000000000000000000000000000000000000000000000000000759490bbb86f01bb4565793b55742fbc238125bb9fb4ecba0b75b2b9ec2aaabc66ea4bbac6ed99baddf676bbe80df7bc348e503a23e99bba6cb5d0bba287f5bc56bd4c3a83cdb8b916d3d4bb0bbfb8bc3da0cd3ac52ee2386bf7e0bbe5dd61bce7e3833a66a114babe4376bbcd45bbbb0000000000000000000000000000000000000000000000000000000000000000363a4fbe50f4833bcafcdd3b1991f43a5c2c44be84e4a4bb922fc13bbc566e3a49c32bbed79886bc9c0a983b77d4b539127a08be194f80bc1a59043bff413cba05e5c4bdfaef3ebc3e9c9d3af61bbfba374d5abd1e58d6bb7fe69eba1136efb9619815bcb4020bbb2217a5baa49cb03a0000000000000000000000000000000000000000000000000000803f00000000f9ee9b3cb5c6e4bdc5d2ac3f70c5f5bd7d796f3c43a070bd8d838e3fe1d5a0bdfd06613c3a55f1bcf1b0683f9ca861bd02b75f3c5c0f24bc9d1b2d3f059414bd6fa4333c740ba03a7b9be33e1b95d5bc9571203ca964343c31f3603e1937f0bbf32fdc3b96fc0e3c1bf0233cae06ac3a0000000000000000000000000000000000000000000000000000000000000000c7f74d3c5221d6bb00000000000000009995bf3bff8bc4bb0000000000000000593a613bb76762bb00000000000000002b62073b1f0823bb0000000000000000e93f553b44dd6bbb00000000000000003cab583b7aafa8ba0000000000000000e6666c3b47ffbcba000000000000000000000000000000000000000000000000d105f7bb48d0913bb3d69c3cd89c8ebae2dc20bcbf9a063c5f6a1d3d82924bba32f277bbb1bb413c1fbd1c3d70a2103c9303f6ba6b1f5b3c20ec0a3dd923313c5c7084b9bb513e3c33a4cd3c5fb6163ca16ef4b914b41a3ca4919d3c76e49c3b5e992c3adda7aa3beb6d323c283e673b9c863f39b719413b260c0c3b34e48b3a061c8abad8b397ba2ca522bb504333bb5db136bb1b063fba15fb353ca69436b9025d90bbe517dbbad1fe053c11c7923b746984bb6c7347bb5d1a9d3b5e7a89bc853ba6ba3a4b60bb76da09392223cbbca5a4e6386620ebbab03f25bb3438d9bc29fbff3a61ceaaba1a418bbbf116a6bca9f24e3bcaa455bb6713dabb045a47bc34798a3b94c5efba9c4ef7bbf6efdfbb497cf83aae3057ba07327fbbd737c63bb107eabdf266b53b09430d3b1852f93a5e953ebe0c8f373ccb824d3b71d6193b8a034ebeb4b55cbca6b7d03be7de273b818339becc7dbbbc01454e3b4d97253b72960ebe143bc9bc06991b3b61b83d3a2f0ed1bd00688bbcd37177baf620a0b9a0b65ebd681b5fbc8e828cba6ca7833a389911bcdf573fbc382a16bb6f8a0c38a5a18b3cc8023e3b61c326ba9b44033a68da1b3d754e5abee3ddab3f5481903c51f0293dd14e4abece7c9f3fbcc0413c4477013d693d13be94b78e3fef51b43c8a5ada3ca669cbbdb4f4683f85e1d83cd69cb93ca98980bd464e2c3f7c4ddf3ce5e6a13c14c00fbd6165e13eda4ed93c018f8e3c59385abcf3655b3ea440c43c4fae563cfc47193c2f52ce3cda65f83c277a153c9b0396bbeb4bd9bd7f65c13a53bba7bc6164353b00000000000000008fa8a7bcd395d63a0000000000000000f9ecc1bc8d25c135000000000000000018aa97bcde3f93ba0000000000000000c7f380bc1a5fd03900000000000000007c0336bc61cd92ba0000000000000000205c19bc5216263b0000000000000000df98c0bb98522d3a0000000000000000467aacbaeabb463a0000000000000000c87cc5bb71c6623bf5cc453c3aaccb3a726becbbb64e253c43f8de3c69be023c61bd9abbc713663cf798e03c0b01793c833b47bbd6ee673c0ec2e53cc0d3573c3113983a1a9f363c8c259e3c3f4a1e3cb5e97a3973441d3cc126793c41e30f3ce65ae0b98545d93bb6ef0d3ce9b9803bc6e85dbae60e423b51ce213b062e033a0e918abad42b7ab809b376ba936c61bb907c31bb66c3feba1882563cf40505bc02b045bb2c0920bb46a3073c266114bc898d05bbdc1082bbaa1cca3bf044b4bcdfe86aba6d6161bb5141493b4873d6bc7a922c3b00be0abb2de958bb8d40d0bc465b9e3a82af36bb333983bb75e19dbc76f7f23a418cf5ba4846b4bbfaf227bcab893b3bf7bfebba079dcabbe64939bb3509dc3a35caa1ba83374fbbe3588c3bf7a489bd84aeb7bb4412b03928a4603bdd9817bed090d7bc2ca17c3bdc56813b9d5f25be15ef35bdcb93a63be0094a3b86be1dbe7bac38bdf4b5873b141d693b7673f1bd3a4725bdbee957baa316e63ac6c3babde1e7ecbc714311bb923e253bccce4fbd8fcc8fbc2cbbd3b9cd773f3a07f06dbcf712e6bbca14a0bac56839392318223c7b778a3b83429f382ad73b397d391f3dc0405cbef6278f3fe7746d3ebac44a3ddebb60be36ac8f3fbf0a553e31c5123d758728be15ff7c3f3501443e7b9d053d05fa02be2233523f67c9203e5872cb3cdf14a6bde4941b3f6004013e1530ca3c78e370bd5354d33e077cb33d4e96af3c95340ebdfb8b5a3e0c494a3d4d41873c87aa73bcdbd8353d6869b73c62f13c3c313e3fbc2d2479bd9a2918bcc4008fbd7ff6583c00000000000000007b7294bde413503c00000000000000002e7778bd53040f3c0000000000000000c20554bdd978c43b0000000000000000889b1cbd6725713b0000000000000000515afdbcbd1a9f3b00000000000000000cc39cbc6d296e3b0000000000000000fe822bbc46261b3b00000000000000005c360dbb325fa83a0000000000000000333f92bbb391733bf9c5f93b6cd4c43b16cfabbbc29c133c82edac3ce62c623c63a567bb6524373c1e22d23c897f983cde535bba2ab6403c1d52af3c86fb783c064fbdb93fa34d3c0a9f923c17f86b3c72b05c3aa2f2f03bcac8643cb683fc3bbe1a1cba7216cb3b451cd63be96aae3b52182a3912f3453b7d66dd3ae66d8b3aebe121bbfedfdf38c5159bbb2ec6283af30617bb607043bb48e7473c4e1c88bc4bc65aba03139bbbf33e2d3cc5e161bc9bd188ba3aad88bb8233d13b55d0b0bcab9b3d3beb7a71bb889c0e3b18ccc5bce727dd3a620b33bbf4fbc4ba869fbcbcfff8a43bfebb14bb555484bbecc295bcfb5bc63a7833fcba5ddc7bbb3c1915bc626a193be27f0bbbcedec1bb19e5c8bac4b9fc38250187b96f52aeb97e47a53b1e0e35bd0eb2e4bc714e21bb1415ea3b9adeeabdf2a86ebdedf0de3ba333743b5a860bbe9bcf97bd7745d33be34a923b1c2002becc4d8bbd8182ad3a444d163b897bdcbd04f077bd2b6eacb89010443b53509ebd82e728bd246794ba22e5aab950943abd97d4c7bcb47e4039dbc817b99ed076bc0694d2bb8a42dbba5688f4b9c04ad13bda58e43b7e0e0a39cf093dba8a57103d4b3f4abea9f56d3fd2f5eb3e5e87313de53054be46226d3fb0b3df3e3e7d133d037729be0435553f96bdc43e6af0013d7c39fcbd0268303f825ba03e2a3def3cd5aabfbdd738073ffa9d743e0f69c43c0d8376bd427eb53e62da213e3358a63ccede27bd7aa8453e212eac3de0f0943c8572c0bcb1d9543dbf16b83c89c0403cf37facbcae4b1cbd9b5bedbcca55f0bd735aa63c0000000000000000745102bee019c53c00000000000000002858ddbd792b893c00000000000000004cfbacbdd597493c0000000000000000e04e88bd263d293c0000000000000000d2fb45bd8d32183c000000000000000015a8e3bc5953d23b00000000000000001dde48bc5b82913b00000000000000005d0cb8bb0bc4ac3b0000000000000000b8866bbb7e542c3b7e8be23bc6dd0d3c78ba67bbb311ba3bf2b17c3c5910a13c77092abbb928193c113aa43c0d88a43ceef0f4ba46c8363cc8a7a43c3561ae3c639bad3a551d1f3c79333c3c8d95423cea673db93bc3183c02d5253c696c563c09d466ba1edee23bcadd823b1b00b83be58563bae57f463b7e1d963a72602a3bed5284ba05f81dbabefd6dbadfa41dbb3013f5b84a5b72bbcc2f343caacb81bce746a6ba84c5b4bb00971a3c602276bc5480593b5f029cbb0cee863b3460a0bcf9515f3b68796cbbf5c3523b1e20c4bc0deb913b2cc2d7ba44450ebbe2e1bdbc43242e3baa2336bb413115bb654a8fbcf87a3c3bd408a2ba70ad3abb65bd1dbcc4f7a03a948bc9bab91e85bbba2452bbde0d343a0dfcb6baa454edbae8c58f3baad3e8bcc7453cbd4dc020bb675aee3b2141aabd35fdb5bdd8f6093cc5a3d03b21ebcfbd8781ccbddca0c33a3590853b608bd7bd58d4c7bd68534aba9bb39c3bed0d9abd508b8dbde2e8e2bb9eda593a122f87bd95cb67bdbadfe2bad737bf3a6dec1bbdc9f5e3bcc2210dbbf3d11fb95a8777bcefdfecbbaa9b53ba989d7eba6ad5893bff4e123c19f4473b3276edba9a4cf03c26b326be88eb323fad73323f37930d3d25bb2ebe5af8323f4db92c3fa742f13cc34805be97c1203fd6f4153f025add3c3205dcbdcec2093fad7ff53ebbee963c668682bd636fcc3e6069b13eb799b73cfe4576bd686d973ec20b6f3e2fec8f3c710b1dbdab10293e7d0cec3d57b17a3c20c6babcd60f673d79aeab3c2f51223c681da8bc7107b6bce92338bd8b4127be8871f93c00000000000000007bd631bee8e7ff3c00000000000000000c630dbe8e3cb63c0000000000000000954beebd116e983c00000000000000004f8495bd8b31363c0000000000000000f9ef81bddc4b463c0000000000000000e3f511bdf97d053c0000000000000000fe1f5bbc83e5d03b0000000000000000444cb8bb46d6bd3b0000000000000000c67418bbb93bd73a2ff55e3b3558303c505985bbd11d9f3b69bf513cf755d93cc9ec12bb22bef83b4ed6943cfd18d93c1b61ccbaaeec0d3c74328c3c380dca3c42643b38ac26093c9ee2783c51e0a13ce9a7423916f7e33b082b243cf290653cf52bca3979d2a33b5762b43b7b9f283cb9e572ba7810313b7fcdb93ad92f6b3b9b8a66bac161193a335936bb12ca20ba477fc5b9277f96bbf0c9f93b1c8050bc951c95ba91f6d3bb93c7e43bd8af3ebc80af5f3b22f1e1bb2e0e683b439281bcc243833be45395bb0603cc38a63c85bc7edc813bb8e74abbaa3fe7ba7a9f91bc4cb5373b0b8c27bb5ed715bb2e2678bc611d213aef9703bbd4456bbb9d191bbc105db439a78101bb6b7f1fbb9a697ebbd9cf2cba4d08dcba8db2023a7bac903acb645fbcc44a7fbd067127ba565ee13bbfa063bdd354ffbdfd61443cc9d4c43b9f82a3bd5ecc0abefd44a63b76fcde3b083aaabdd2c4f7bd5456fbb904897c3b3a2095bd94dccebd552523bbe77e5b3bca1467bddf868abd16a0fab9098abcb8e9670ebda74022bdee6f093afd8735ba9c3266bc742b03bc01baebb83d8e23bbc62f483b9b8b343ca3aaf33a24eea4b99496b23c3505f5bd6291ec3e635e6d3f5511df3c709dfcbd3a92ec3ecaf8673f5635ca3ce724d4bd76c3dc3e3d094b3f1717ae3c50b3a0bda4cdbf3e963a233f1fc3a33c834c7abde9a89a3ec676f23eb2629b3c9df735bd4a17603ee5c49a3e59978c3ce76903bd949d0a3eea58173ea263503c7d43a9bc7c9d623de9b3a03cd80efd3b715793bc1df31fbc378c72bd83c947be8d68123d00000000000000000b865cbe1939293d0000000000000000e10734beef3afa3c00000000000000006fa20bbebec3b63c000000000000000070ecd1bd3971863c00000000000000007ae48fbdba065b3c0000000000000000132920bd33792c3c0000000000000000383347bc45fcf13b00000000000000007f6fcbbb955df03b0000000000000000f5200abbc4cd2abaa46e083a967c873c7a3b8bba2028a83a752d243c02f4f53cc5a743bbc234a13bdda37a3c3ae6043d8a1e95bae05ded3bdaa8803c689aee3c3f75dd3982e5fd3b5bd6463c2f13a73cd73a90ba87bad13b317f203c02af8a3c75dd21bac6cc653bde42d23bd5cc0f3cd15fda38a3d52b3b9337a73a8c13453bc1b660ba80e997bae569ccbaa110b0ba1fcfceba29abe4bb1e20dc3b0cd8e3bb6c615c3a442df8bb220f383b6780dbbbbe848e3bf0d8e0bb6b15333b69c726bcb566873b3fa3b9bb99643bb953993dbc43fbab3b3ece55bbceccf0ba496377bc39dc613b2f5909bbc60a7cba5c385ebc3fc6333ae619cbba7de7f736d0950ebc27035a3a1e415abaee35eebaf99c93bbcad145ba9f3a93ba8e3b38b9b3661d3b1ea8803abb43a8bdcc9d2b3c382ae53bb46efdbc4ae21fbe29c78d3c9ac2973bc29662bd34b928be1bd7993bef0eca3b2c3b75bd4faa1dbeaf801c3b2e509d3b639a65bdc34de9bd40c5a3bbc5e4ea3a6cb130bd2c91abbd802316bb1cb371baf274e2bcf95e3abdf6a0743a3aabbfba80d173bcb84ff6bb0e1902bbe5303abb6101e23a8f215f3c3d50083bd4533ebb7416573c836392bdad39713e1ae58e3fccd8853c30328dbd03436d3e1eb38d3fc18a633cc5da69bdccd66f3ef5fc753f13ab5f3c27c637bd5dcf573ef44c483f216c503cb50107bd25bc3a3ee50e123fd82d583cb5d6e1bc5bc5113e3d68bc3e3e681e3ca7649cbcdbe1bd3de83b373e454b0b3c40eb54bc50124a3dd080863cf84ca53bd59535bcaa84913bb0bba1bd6c1f5cbedc4e253d0000000000000000d3916abe5b4b333d0000000000000000ee1639bef751f03c0000000000000000edb414be2afbbc3c0000000000000000e499cfbde67c913c0000000000000000959c8dbd31be663c0000000000000000aae61dbd1037263c00000000000000009da38bbbff256f3b000000000000000088d7973bbd49cc3b0000000000000000f039d1b98c5f21bbd62e373a9c1bbf3caf2a89ba90e23bbbae4bbf3b585b2a3da4970bba4ec8233b1a7a4e3c2331213dedc1f2bad6c19a3b05a0553c40600f3d6d00a0ba574fb73b47ca4f3cc1a4cd3cc4d1f2b8dba0913b9c351c3cdede9b3cc26ade3926aea33b5dbc8f3b5c5b423c25921eba22f41f3b1166da3a234d5a3bf5a5b1ba9a263d3a7b1f15bba71c10bb6d7f08bbd7f7cbbb2f05243b6ea87eba229990bb770a0fbcc624843a8a7bdd39e92f9d3b5593ffbbb2f586ba99c96fbb094cc03be9ea91bb3afd833a74bb11bc332faa3ba5b82fbb3f21bbbaca4f31bca9f2863bdffdefba0d3009bbc30819bc6408c03aa052ceb9ceebd4ba4ee31abc373e1d3adc557f3971eaa9394381c1bbcf47caba0b811b3ae2c2383a55032c393c90ab3b2d93fcbd0713763cc18da03bac622ebb897944be8d39093d73a81b3b104f0abd68e34cbe8827243caf7ba43b861026bd7ce535be18e8843a61681b3b6e2527bdd9240dbec52079bbeb5fa03af52b07bd39f9c8bd177952bb32707fba42ffc5bc738c4dbdb39676bb57562cbb67306abc5964acbbfd94d4bb46a951bb40bacf3a83e8a83c4e3cdd3ab3fa65bb3da9813b2b9faabc6120983c39e2ab3f23c49a3b25dd9cbc21d8fe3cc19f9e3f7c29b73beae28ebc7792733daa598c3ff5d6ce3b19305ebc9914913dca14633f0873cd3b6451d5bbf1ba953d849b263f7265003c3ee2f2bb4b318c3d8953d53ef58ecf3b4bad55bbe1ef683da25d453ec019803b919057bb68973a3dfbb7173cd64ae83a3fb03abb6b01913bf4f3edbdb1d05abedc1d1b3d0000000000000000fd8858be104c1c3d0000000000000000626f27be24c3be3c0000000000000000da3d00becf0b8c3c00000000000000001259aebd384d3a3c00000000000000001ada61bdd7af0d3c000000000000000038fba8bcea7bba3b0000000000000000957e863c99984aba0000000000000000b4e2113c58b7663b0000000000000000000000000000000000000000000000003240e0bae91fe0ba2697173c09c31d3d770f0abb9d6d823a6a5e5b3c456c0c3ddff10bba9f28843be209663c4392ea3cbad20cb912004f3b46d8443c40a1af3c9926b2baeca6c13b8c69f33b94257d3cd8325ebaa0c3293b286f9f3b1ccb1c3c10e48fbaa2fc073b201e473a8c254d3b00000000000000000000000000000000000000000000000000000000000000004f4b5e3b8d9cd8bb1071bf3924077c3bcfa6c73bd8c6b7bb76083dba462ba9b9b347ec3be99a26bb247962bbc39a91bb7abbbe3bc1d2113aa99c1abb829fa0bb7aeea83b9882c9ba79c312bbed2102bc1ec0db3af98f563aa848a6bad8f1b4bb37ad3fb922431c3a8651da39b56d90bb000000000000000000000000000000000000000000000000000000000000000098f045bccfae50be8090093ca5b55f3bce51cabcdd3a42be1b7d0abab5ab833bdefa14bd41fd29bebd246bbc1785e23a75ca0bbd0b8107be261563bcffb220ba78e8cdbc6d55bfbd2df414bcdb1ff5ba409882bca18e50bd21b1cbbbf7f344bb3de0cbbbf82505bcb03d15bbd3ad36bb000000000000000000000000000000000000000000000000000000000000803f328d82bb3a79753c4e57d4bdc0b4ac3fe2d097baa1493f3c85504ebddb118e3ff78f833b42a91a3c6b9697bc24be673fe8722b3bbd80253cf4366bbb9c4f2c3f8caf503bf86c1a3cb3a0093c71e2e03e49be4f3b9e8f063c35ae4f3c07435e3e074f033ba290e03bd0d01c3c9d6ef73b00000000000000000000000000000000000000000000000000000000000000007c5602be61bb873c00000000000000002a6babbd7766ef3b0000000000000000f57c6bbddf439d3b0000000000000000b03e25bdd59d663b0000000000000000bf23d1bc49bd193b00000000000000003badb6bb7cfc103b0000000000000000f2d1a83bc71b9ab8000000000000000000000000000000000000000000000000000000000000000000000000000000001b842dba32fc6e3c76a2d43c8d9ea13ba4a3663b88b78a3c57b1cc3c35d2e53b3b74de3b595e873c42fbb23c038fee3b9cfadd3bf078653c5d99873cde80be3bb723ac3ba32b1e3c9d01613cefd26d3b3c1c923b0eb3da3b3a39d33b4406153b93b3b83a84720e3b419e1d3b51ade7b90000000000000000000000000000000000000000000000000000000000000000fe83c9bbd46962bbc7d3eb3703ce08bd1ccac3bba89585bbd70b1bbc45bf3abdf1cc5bbb99f469bb1de199bc97ea62bddc7ee0ba4f972bbb51e1adbcceb146bddd74bbba61a1e5bab9218ebcea071bbdbb84dcb95cd7c6bafeb770bc9df1bcbcbc3002b95ad49cb871f1e0bb2ce2bebb00000000000000000000000000000000000000000000000000000000000000000a162bbe3d1811bc4d9b873cc11dbc3b63fb1fbe273b42bcf888833c43d3983bd2330abe66229abcf4ca333c6bcdb23b3df8e1bd852d78bc5938233caeea063b53b9a2bd9fd109bcd625ba3b662af63a25e639bdc7282ebb9099163bf3ba373a37ab5ebcc4cf853b288b05bb541f6a390000000000000000000000000000000000000000000000000000803f0000000043b78b3c3679adbd0417a93fe9f9dcbd695fa43cd52bcfbcd0d98a3fb671a1bd8af4de3c99a3363c9280603f75c265bd54e6e03c6c05d03c6923283f280847bd6d6dd63c69c2d73c9189df3ee2682dbd7e63b43c0828a93ca5a06b3e81a0f9bc2b92663ccdc7a03bf709f73c2fdcaebc000000000000000000000000000000000000000000000000000000000000000089d100bafeaf2fbc0000000000000000b93f24bc28d822bc0000000000000000875566bca2c740bc0000000000000000fa1b42bc49a71ebc0000000000000000f7531dbc8854d6bb00000000000000008188caba526047bb00000000000000007d4bdb3be2614f3800000000000000000000000000000000000000000000000060b18bbb2d47b33b1564593c9a7a123a9d03c0bb250f603cee00d33ccaf63a3bd5ab4c3afd689b3c3873e33c9acbd43bc79dac3b7564893c9e93cd3c44ce033c0b11bb3baf747a3c0758993cce2ae13b07c5b63b8d274c3c2a8e763c1ab15f3bb5a2833b922ef93b444b0d3cdde5c53aced0183bd2a5683b1bbc0e3b4ff6f539ffbb4cbaab34f4badaedddbaea7cc8ba646b5cbb6f218abab51c4d3cb4b62bbc47e601bc55902dbb458d273c776490bc4277babb3b39adbbbfba41bb8da836bd553aa1bbcb079cbb01494bbc85cb4ebd8bf02bbb674455bbf2968cbcc14a49bd22739bba40ad54bb8fba92bc658a1abd4affcbb9bd9bfbba0a2b71bc4bd3b1bc6ca5c73a5ee63cba1b7a5bbcdf3ed1bbca75a03adfcbc439f6fdcdbaf8ba053cd67bc6bd2b6ddabb3374193cad4f353b62a524bea4870b38dfff903cb3778f3bf0552cbe971e9dbc12a9963c1372f23b6e4918be41efc2bcc561853cd62aca3bd27de9bdb222b3bc44901b3c0495a43b3c84b1bd02bb48bc86f7f63bbb75333b955e52bd013279bb6ce5ee3a1fc5f03a51e179bc568c88ba3b27a0bbccd9f8392951243cda96d43b42f898bba19f02babc91bc3c77f142becf06a93f4edb063d72dd013d289738bef76ea03f5fcd063bfed5e93c0a2dcdbd8ca68b3ff8c3943caabaf23c3fde4cbddcb6603f707e993c639b003d6aac68bc7451263f6afd5f3cc11b023d3528b1bbeac3e03ee39a39baf139e63c7c50253a9f7e653e10af40bbb652c03caf91033cc0b31e3d22d0ff3bf11a203c67276abc2380b2bda66a69bc63d3cdbc398f06ba00000000000000005f4a07bd2dcf2fbb00000000000000001f0413bd095b0fbc0000000000000000aff210bd0c9ffabb0000000000000000eccaefbcdf08fdbb0000000000000000756da9bcc4a660bb000000000000000007cb27bc6e45a7ba00000000000000006d852d3b727a3dba0000000000000000b38a163c12e8403b0000000000000000e00f9dbbf3de983b9c5e0d3c87c9003b0cdc84bbcca55b3c30f3ac3cec98d33b790a043b4a6c813c5719c23c486f2c3ccb766e3b7c61903ce896b73cc1621e3cdd1eb63b3bad5e3cc6458f3c43d9083c247a8f3bbd52433c06dd543c2440d83b57fd773b4ebade3b3551e23b2e7d3d3bb79db23af674593b50670a3b31a8593a238d2dba699c88ba23a9e1ba07e6f4372d8817bbfebe12bb8c70723cf2353ebca6ae86bb1c7548bb6a2bfa3b3569cabcdde649bb89edc2bb333f82bb991734bd204a54bb26ee9cbbe2520fbcfa1a4fbdc6d86fba4bea3ebb97a085bc5ab834bd4a0ddeba4e3a41bbaab07abc798710bdea615fb90e58edba1fc641bce011acbc93ec363a5bbb43ba109a1ebced2faebbbc03533a3f7b77b8a6342fbb32cfe43b218572bddb4281bc7981cc3b4582a63b79c406bed4e0fbbc6a755b3ccbda9f3b66160cbeadd33ebd83e8573ce8841f3c460609befbbe21bd6cc65c3c5277db3bbba0cebd273316bd06afbd3bf86a9d3bbb6da6bd5466b6bc83a0d53b66fe6c3b4fa03cbdec2f32bc53b3503bf206d73a86a589bc0e60afbaccac19babeebfeb9c7a8ce3bbfb1973bbd8e1fbba84fd4ba1da4c03cd6e049becfa68d3fc59c773eb1c7183df0f246bea79e8e3fa050553e8062fa3c6121e0bdca4e733f058f463e32bc073d3e619dbd0c884d3f12fc133e1e37073d02ed0cbdfb93163fa42be23d7cae0b3d6e1dcbbcbb77d23e275f833d5099de3c48ab7dbc06ef633ea8a6d83ccb03bd3cec9228bc965e663db55ed43a910a583c1be186bc713a49bd9759acbc95618ebd8361ce3b0000000000000000d3dca1bd3de1ae3b000000000000000025db8dbde8f88cbb0000000000000000f50185bda39b88bb0000000000000000163542bd9e1bd2bb00000000000000003dc323bd3bc38aba0000000000000000ffcad1bc1576c13a00000000000000008f4807bc5b7e423b0000000000000000c73c943b5c97973b0000000000000000392e68bba52d923b4d51da3bb3f0ab3b46b239bbfd823e3cb396903c7991363c8226603a22327f3c579bb63c03f55c3c87418a3b66a67e3c5792a13c89e8533c707ea43ba9c06c3c21297f3c4a8b483c2aa4b13b6d3e173cf89c6a3c6c41c73b3b282d3b29bdeb3b7f35d53b657cae3b4e28893a654d353b98ee233bcf9a903a0eafa4b9b78fbebabf5abcbacc523bba227e18bbc1e70abb27075b3cafe799bcc68960bbb74fb2bb604d103ca055e1bcd67a38bba10dc7bb9abcbcba82602abd3e411bbbcae295bb3abc12bc90143cbdd13da5ba26bd97bb4fdc74bc2d322fbd63c4c0b9343f2fbbff105abcbd1b0abd03d0a5ba16859abac9d149bcdbd492bc24785f38af4101ba87b80ebcde9a8cbbd968383a2fc093b9784181baff17d13bbc242fbd0b1006bdbee01b3b01fdf03b5876d6bde2d569bd1c97523cc3c61f3c3bf7febded8886bd070d4b3c6a472a3ccd3eecbd383378bdebcc333c6efe023c259bc6bd132f4ebd25a6b93bc9fb093c7d7896bde2930cbdc53a043c2854213bc8b534bd30338ebc46725e3b25d5e83976008abcdf2b64bb7b4fbc3a76b2edba6d7c8b3bebc6da3b128b98ba547fa0ba0afe9a3c525132be68e8693f9d0bef3e6dce053d099c36be458c6b3fca6fdd3eb2bd003da658f9bdce3a523fab11be3ef74f053d7c589ebdb0b32d3f9834963e2911043de04f2dbd5871053f6d1f5e3ee2b7fc3c745deebc6332ba3e7326093e8131f33c027fb8bc225e503ec8ea813d5b37c63c709896bc6f6c803de1a0cb3b37fa3e3c5b41bcbc450409bdbd760ebdea79e2bd05ce3f3c00000000000000008b7f03beadc82e3c000000000000000082a4e1bd2db9103b00000000000000007a5bc0bde2c9193900000000000000005a339cbd2ee019bb0000000000000000129169bd949fc4390000000000000000281c1bbd2621b63b000000000000000003126cbc28e0cf3b0000000000000000153c6bbb7ab2173c000000000000000010f344bbff2d7f3b0d4eb03b9c76bd3bef4d13bb14b9253c301e6c3c051c5e3c9caa9f3a0a165d3cbbbfa73c03b8823c1412843b8cc2613cfd5d9e3c4d8c753cea48a33b4452333ceb10473c32452b3c7d02703bee06363c3721483cb5b4133cb47a553b3d76ca3ba26ed23bb9de863b1f006d3ab24d333b8473a83ac7d9123bef8216ba334b92ba2b4512bb7efbf0b8786ab1392b9777bbc97b563c167e8dbceceda1b8ae35debb7869fd3b479ed9bc3491e2ba678cb9bbb5bf4abb84d619bdb3b2da38d3aac9bbd9b813bc31c12abd5b87963ac62b21bbf9bb67bc2ba91ebd8690b3b92fd059bb926c5ebc08c600bdb96e05bab60fe0bab3ea33bcff8d8ebcceeb3cbae17f2c39230307bc926495bb85570bbaa6ceb63841d930baf1adc53bf65e00bd969530bddc3ec9ba73e0243c713ba8bda7979fbded03fc3b58db473c31b7d2bd5861afbdb1d0e43bffb4423c8625d2bd3135a3bd6bfaeb3b6ac72a3c911a98bdba716bbd5348acba1fbfb83ba82a89bd173e36bdded1ac3bc5bd9c3ba9f21fbdfc14b7bc372b9d3b5fed3a3adce375bc0e63b0bbad8a343b1cde3fbbdd0b803b9021f33bfc7e2c3b2c2649bb8cfb6e3c193914beb823323fb951303f6c07d03c6b5313be4986333ff1bf283fc280d23cff0dbabd69d0213fb76b0f3fdc28de3cbf6c7fbdcade0a3f2850e63e09ccdb3ca19fb3bc443bcd3e28f5a23e4195f73c32bad6bc00c89a3e72d6573eec5ad53ce4ea9dbcc9e5303e538ccd3d3520b13c53b084bceda0753ddcc25e3ce02e243cd392bdbc8c59b2bc1c9933bd227214be68b3833c000000000000000008f32bbee510813c0000000000000000f3840abebf4f5d3b00000000000000000657f7bd05fbf43a000000000000000077629ebd660f6abb00000000000000007f0b9cbde515933b0000000000000000a19443bd5b25ba3b00000000000000007bf0afbc3afa1b3c000000000000000045020dbcc4c33c3c0000000000000000f9ef3dbb0acc263b04a77d3bfb55033c1e9612bb4fb00d3cb35f6a3ce51d8e3cfad6493a7d92413c3fbf9e3cc341a03c23e7353b14b6543c67e09c3c889e803c9e623c3b5f645b3c3f1a7d3c6a04793c18547a3b11a01e3c7a86393c1ecc253c5c534f3b32f0c23b4793033c061ea33babc7ac3a755b263bafedf73a032a143be1e938ba27a587ba69d7cbba844bb4b9d1938d388f6a82bb9ae3293cef9157bcc2eff039a07111bcec90c13b81d5a7bca580293aa5400bbc7574c4ba8c06ffbcaf13063b7627e4bb8f2f0bbc748e12bdd226713aec8a91bb98c736bcc29219bdf9775d3976da5abb398f58bc327fdabcb94ebeb95cb8febab0bb36bc1ec188bc6ad58b3823d321ba7414f2bba7249dbb0ce5f9b95db7c13942b77c39fe0d783bef4aa0bccbaa67bd46a724bb457d353cfcde8bbd734dd4bd91943a3caaad5f3caba9b8bd5a49e2bd1d27f73b0f08673c5e30b6bd86f1c7bd4e41943b11c6423c991b9fbd4a14a2bd4a280a3b48e0043c3b5a77bdcb5461bd3b30ee3b9f0a083bf0411ebda206f0bc650cad3b1b485b3aa0bd66bcf59009bc3525843b925795bbe6ed863bf996d23b609c5f3b718f7abb3321243c213ae1bde7fdf13efe6a683ff5bda73caf33ddbd1cd7f43ee684623f4608a23ce63892bd4b14e73e995e413fb36aca3cf5223cbdec68ca3ecc11193f1d5ccb3cce32bbbc7211a43e9622e03e064fdb3c24b290bcfe2c703ec340903e8295c73c7a7965bc7023113e0a8b0c3e5c2b9b3c5ae152bc85ec5d3d2b5ea33c7d0f143c7ccb93bcdc4c65bcb4aa5cbd3a3e33be93b4a93c0000000000000000032752be6071b13c0000000000000000e2fd2ebe6621303c0000000000000000eaa80dbe2b7d983b000000000000000015b0e2bde1ff243b0000000000000000918cacbd056fc93b00000000000000008ef55ebd0c04023c0000000000000000bd62c4bc0e513e3c0000000000000000ec5128bcd87f553c0000000000000000fee62ebb3e2b9c3a4f77243bf38b303cb57915bb76c7b33b1202653c2156a93c94eecc399bbd223ce647983cc804aa3c5fbf1a3b41543b3cd96c913c7b27a73c997f823b76cb283cb3ec653c91fc6d3ccee18c3b4bbf003cb266343c95c23c3c1541f23ae22bc83b1ef2bb3b61ffda3b2e39c13a0a41263bd772123b9774243bdba286b9cd7b67ba9329f5ba96c598b85602013a2aeec2bbeba3043cde26acbbf079d83938f20fbcc32e5c3b0d7c48bc5f513a3bf7ed0dbcb426d2bac797d8bc118eba3a2f3cecbb304eedbb8c3ff2bcc28cf73ae5238ebbb9e745bc85feecbc38fda23a2e7d6abb6c2c41bc3704cabc708d62b916ff0bbb9bbf0bbce76378bcf18637bad6cab9b78ae4e4bb5094a7bbe83e55ba07064b3a868885ba261f463b1b892ebcf3ce8fbd7aa29b3b8375373ca79f4ebd1f1004be7ad34c3cc8b35c3c264196bd91cd03beb47c283bf25a7a3c2eaa9dbd9629f1bdcc09303b84cc603c455884bd70a5b3bd6dc719bbfcceef3bc33455bdc8c887bddebf603bb3c6953b629d06bd208111bddb6a993baa19bf3a955d5cbc54862ebc22c6aa3b58caa0bbca91663b20ba133ce216163b46caaabb26bbcb3bbb3f91bda2b67c3e0cf48c3fb264503c252d7cbdab27823eec258b3fb8ee4f3c32620bbd605a8a3eec3e683fa6738f3ca7d6a7bc32137c3e12003d3f342fa63c3df097bb5f55553ed8a2073f9a30ae3cb49d77bb691a253ec3b2b23e9d509d3ca03998bbf127cf3d7a17333ed2d15f3c8c1350bbfce3373db7f0b53c8071d83b3e3022bc1090d3bbe22587bd23da4abed570d83c00000000000000003b3266bed913d93c000000000000000018e728be95b2ed3b0000000000000000c35016bed3b0723b00000000000000007cd0d3bd1508fc390000000000000000f4a8afbd093da63b000000000000000018e662bdc072cf3b00000000000000008ab2a0bcec2a1a3c0000000000000000d2f258bbc99b5e3c00000000000000003d1107bb2ba313ba55818e3b63ac6e3cbbf30cbb5275d33a653e523c7024d13c16661b39569ced3b8cd89a3cebb4dc3cd283f73a0e84153cb31da33c3eaabd3cc7895b3bb751093c5d84813c36028d3c2df3553b0dd6f73b35bf4a3cdcae673c369d1d3be983ad3b715de03b4ba10a3ca0cee13a6b441f3be174033b8b1b333b43452abab2813ab96503efbadfc8e7ba86745d3a296fd7bbf08cba3b40d8fa3a3110b439e17c34bc4bc9af3a790d23ba689f3e3b746527bcbcc95dbb21a580bc3c54783b3eae17bc4968e6bb568bbabc78f2753b2e939abbdc762cbc7b22cebc2409213afc6b69bbe70c39bc6492abbc7c1a8a391aae08bb4cee29bcd2565bbc760351ba3b74883af1e7d8bb257e00bc0cf17dbac3de923acad5e6b9dbb8fc3a7e8128bc68f8d3bdcb66b13bc16d2a3c5c9cfdbc4cde21bec5b9c03c7e696b3ce17573bde36225be85baec3b53e6783c1b568abd31420fbe559b4d3a228a6d3ccfcf72bd1c92d6bdda2b55bb98f8e93ba8c740bd8f5c9ebd7341f93a7cf55d3b42fde2bca62a36bdf82f833bc4c84dba16913abcf7b72bbcd0292f3b12a5dfbb3dc8be3b76824d3cd20e8c3bc5fbb7bb7d0076bae0f5e0bc9e531c3de2e5a83fc4a78b3bbfc790bc2697373dca4f9e3f9fbaf83bcfb6b6bb5239c43d5afb873f17f1283cd44ea53bcaf0e83dea2c583f97d67e3c2ba05a3cd0bee53d65df1c3f1f0a883ce3eb553cc96bba3d76d4cd3e5af87c3cbde11d3cf6e8823d4555483e1bca203cf8a4203c8ce6153d7150a23cd4ee8f3b934c27bb645bf7bbfae3c8bde17d47becf2fd03c0000000000000000fe2b5cbee94cae3c00000000000000007b9c27beb086af3b00000000000000009e1203be6d21b4b900000000000000003562c3bda9483ebb00000000000000008d3696bdcd52093b00000000000000000bdc38bd369aae3b00000000000000003bb653bbbc5efa3b0000000000000000422b46bbd7be343c000000000000000000000000000000000000000000000000048faaba2d464d3b5ab7683cb6cfd13c3b95513977e1d43b7817883c0f4fc63c6ce8193b72d0103c261d813c729a983c8fffcd3a0e47133cf39c633c2b29863c8f1e473b2547ca3bdc56313c91e3493c9418fe3a32749a3b256bdc3b69e1b43b1f2a993a9273fb3a7bdb6e3a5234503b00000000000000000000000000000000000000000000000000000000000000009789903bf6be1ebc7a6e7139ef8cd3bac33d933bc62d00bcd87d99bb1eeb41bcce53cc3bee1ea1bb16ee0cbc0f80a6bcb0061f3b900464bb6fd42cbcca7cabbcc0660a3bf01e37bb306b32bc604c91bca1ef303ac2af43baea2a0ebc05bb3ebceda745ba1aa296b91a4693bbf3e096bb00000000000000000000000000000000000000000000000000000000000000002e2c1abdef3d29be2822a0bacc02633cccb250bd343919befc0b97bba7e6503ccc6664bdf16805bea54e4cbcb8a5173c732d55bd2949d3bd2ee620bc96dcfb3b7ae321bda7f099bdb9b286bbcd01463b551dbfbc37d333bd6d8b9b3ad3ab08badc42cbbbc7915cbc7b72943b34a931bb000000000000000000000000000000000000000000000000000000000000803f3d1f55bb0dbe753cd44b95bd5b96a83fde3f473b4145aa3c6bf46ebcaebb893f4bdb0e3c7c85e33c8544b53c773d5d3f1daa4d3caf0feb3c9dfe0e3d136b243fbb59563c38cad93c550bfb3c73efda3e3585413cb1ebac3c7d86bd3cf4d4633ee505cc3b501f553ced6f833b243cd93c000000000000000000000000000000000000000000000000000000000000000059c2f5bdd5cf663b0000000000000000fd3db1bd24badcbb00000000000000007f6983bd8ca83cbc0000000000000000389f5cbda5522cbc0000000000000000357036bd53d201bc00000000000000006a88ecbc744815bb0000000000000000ac6785bcf2aba13b0000000000000000000000000000000000000000000000000000000000000000000000000000000026f28b3c20f24a3c6490113cb1ff9b3a9c82af3c297f6d3c85a5143c3509feba2544b53c9b01773c4e5f043cd11381baa7ae9f3c1b224f3cc68fca3b5eefe6b9b13e833ce850143c94126d3b8dbde5ba6559163c3caaa73b2cc7623b229b0ebbe0e85b3beb1fa33a2fa6ac39190a6bba0000000000000000000000000000000000000000000000000000000000000000a86493bb243ec4bb69630fbd09f96fbda9dfa8bbc00acabbceda61bd7ba488bd750ccbbb22aaa9bb931285bdc31f8dbd28adc0bbf97d84bbaf077fbde7196fbd4d2b9cbbebb63cbb142b4dbd1c6f3cbddf2f44bb99b0daba88ce05bd89c4dcbc9267cbbae0092ab9ab8820bcf8c70bbc00000000000000000000000000000000000000000000000000000000000000002147c1bd0d86dcbc4704a13ce333943c921ab1bdb4e988bcf514ca3cee50ab3cc1a29cbd0c7168bcb9debe3cc90ba23ce96e7bbddfec01bc44f3b43c2c8a823cf90e30bd141daabaa729a23c9941623c6b8dd2bc6f86663bb993623c823fcc3b6af404bc0ebbb53b488bf13bd0ec563a0000000000000000000000000000000000000000000000000000803f000000001b8a023d0dcf2a3cbf84953fed78cebc4d6c813de782423d197b773f78b5e4bc87d9a93d0df78c3df6f5473ff881f4bc20e7ad3dce42853d74ce163f84191bbdb5209d3def76443da6fcd03e86094dbda3db643db3b2c43c9435703ec5b454bd778ddd3cf93e17bc834c8c3d5b9f4fbd00000000000000000000000000000000000000000000000000000000000000003154c5bc7eadf5bc0000000000000000e33629bd2da633bd00000000000000006b3144bdb59749bd0000000000000000476656bd7afa36bd00000000000000005fde4ebd500415bd000000000000000072f10ebdaee694bc0000000000000000410394bc88e581ba000000000000000000000000000000000000000000000000ec9c993bae1b693bf61dd43bff8ece395875733c5590333cb598e93b1e2a5e330920c13c16be8a3cdfa1e03ba453a8ba3b0ed13c80b27d3c6c03e33ba92756bbc1e8af3c8da9663cdf17a43b63592abb2fdf8f3cd9242c3ca291753b046421bb178e303c7d37ab3b7be92c3bfb3a2bbb09ad643be1a9693b86ca9c3a689673bae3b053bb620db8b9b43c3bb97b8699b9b1da9bbac1db3ebb3b93103b34c8ffbc6e9dc7bb586baebba4baaebc8a5a57bd9b3a12bc868ba2bb080f61bde1ba92bd8774e3bba383c6bb05ee8bbd6c5b93bd2031c3bb354989bb1e8c86bd34407abd796cc9bb72f75ebbcceb5cbd6ac740bd59c12ebb151c2fbb6f270bbd844deabc7b59ccba3d6a67b9a4e970bc5ede34bc36030c3a46b82b3a9734033c0557bb3b2ce964bdf19cd1bcf965d43b928d273c04f8b7bd998fb2bce922cc3c118eac3c36b6bfbd6f61a3bc86efe93c72b9c83c373ea6bd606b66bcc625f23c2f35c53c07547abd49c60fbc0007cb3c27ec973c3aa03bbd4439d0ba4c9cb93c7ba9783cac00dbbc28d9913bef626f3cf6660b3c39b31fbcdb664f3b0a03b43bce3bfdb97d1ab03bcd0f7c3be6cdd2ba087f6fbbdba21bbc83e98cbde58f953f6932e83d46e2a23c6c4d47bdc2dc8d3fa3a39f3d9020753de255a23cb93a713f47b1913da021ac3de457503ddf29403f7647403d83efb73d041b6c3d6d340f3f589fbf3cb723a83dd0d3283d1a73c63ea6ddcfbb3487833deaf3903ce6335f3e4779e7bcaf1c2e3dbae9e7bb66f98d3d33c9febcd376e33a7abaf7bc879d46bdffaf0cbd020eb6bc93ae56bc00000000000000000b534fbd1db80ebd0000000000000000b7f675bd18d651bd0000000000000000bda58abd8f435abd0000000000000000ee7389bdbe474dbd0000000000000000c6c580bdadde16bd000000000000000006423ebd34a08cbc0000000000000000b17c8bbcc106a83b00000000000000003a6417ba8cff613c000000000000000094c1543b2a30193b51cd9f3b119f8e3a5e7d6c3c78ec3a3c8939013cea3de03ad9d1b23cf2217c3cb447f53bc03d1d3ab43dc73cc17f753cf87c053c081b9dbaf0d8a63cd3ba453c287ccf3b173077bab54b8a3c44ca283c774f9b3b6f1659bb60ce283cfa9ad03befdbf43a3708dcba21bf773bdc322a3bccf4503a6590d9b9548800bb23b7a6ba5b072937676bbcb94bedc6ba2c8c12bb0a4fc33b3e1ed2bc90509abb5a71b5bb3375babcb4055fbd6c08a2bb1d09b9bbd8d057bd93268bbdec12e1bb9a1cbabb2de682bd8eac90bd677595bb734e8dbb245477bdf26b6fbdc1bd9dbb00a556bb8ddb59bd7c6844bd7cbd71bbcb39e6baba2507bd3de0ebbcaad6f3ba99361bba46df62bc997937bc0e8e5d3ad13daa39faeec23b3cfc893b24b215bd3c42c7bc93810b3bc6f82c3c3921a1bdae6906bd6fff4a3c45f9b93cc9329dbdc98004bdbadd663c7462bb3c783b9cbd4601c6bce31ebd3c2364cd3c1fe967bd8a738abc813f863cb590973c4c072dbd66ebe6bb6b44a53cf50e853cc6c2bebc0e09bfba89b3533c055b253c05ad05bcde0c033b8711d03bdbb6003b762e9f3ba9c11f3b76b443ba58cc4ebbfb925bbc0abfa5bd13ad7d3fdf728e3ef912b33c294758bdb563793f8d4c7f3e88cf633d47d6aa3c6da34c3fb5a35e3e62f2a03d2ede1f3d727d2d3f3528223e7499a53d5bdd403d4e40003f0ab7df3d8386a63dc8910f3d3f5ab63e57445c3df092653d4a9a523c93c9513ee5c4813c5c07233d672750bc8b52933d21118ebc7e99c43b4630debc19b8f1bc0ea6f4bcd3ea1ebd2fc85cbc00000000000000009c9285bd0c3911bd000000000000000019bf70bdb27544bd00000000000000009ed99fbd966d67bd0000000000000000437090bd3ec147bd000000000000000092a994bda51e24bd00000000000000000b0360bdae7fc9bc00000000000000008f1605bdd894f33a00000000000000002fe7f2bb8c69813c00000000000000009e7e913bb5d01e3b77458f3b3391e83a42386f3cb450283c8f62f23b0240f43a28feb53cb9cb653c2d0a2b3c95be463904fec43c096f723cecadf93bcc5608b996e2b13c82a4563c2213da3b4e38073a8a298d3caa95143c59f1963b6c407abafa75333cd88ebe3b79cf103b0d0f93ba2c70663bba8e103bfdef923a49eb42ba60c7fcbaa8b41abab2be84babe9d8c39abd737ba921611bb031a283b5f16dfbc6f9d52bbf1efbfbbaf92a7bc53f061bd8a97c1bb3a84c4bb47214ebd3c4d8bbde6babdbb75cdc5bb33977fbdf34b8abd9525c9bb64b597bba6607cbd618e7abd53b3a9bb56fe7cbbfef24bbd6afb36bde9ac7bbb9ee0f9ba00810fbde341e4bc58f5eeba580bf7b9e63b5fbc0af50fbcffbe02b993be3839ae40b63be884983b0c41f7bc8ed1e4bc31e1ebbb754a483c4a3689bdc2db29bd0114e33bd6f0c83c4dd99ebdd28c21bdb8f05e3c11b8e03c376890bd92ee01bd4151893cd363d53cce656bbd921fb9bc07968b3c9ab6b43c91072dbd9b844abc249f8a3c955c903caf04c4bc60fd94bbaeb1633c29aa2c3c4f29f1bbd2ae29ba1621db3bb7db2b3bc257ae3b093a273b9669c1ba465a8a39637a45bcbb2689bdab5a523f1858eb3e51bb923c01c338bd70a44f3fd7a3d93e204a593d016e313c6541353f4527b63ef5ab963d0fdc1c3dbb8e143fcd048d3e0e58a83d32f3463dca01e33ec1bf493e57a1983d6f140a3dd4b79f3e8231f23df78b7e3d95da543c7c4c3a3eeb35513d3a70163d27df40bc41bb883d589581bafc599f3be23debbc064ac1bcebe203bd632250bd7fe766bc00000000000000006482a4bd24ab19bd000000000000000057fbaabddbfd5abd0000000000000000de75b0bdca946cbd0000000000000000b8f3adbd92d56dbd00000000000000003d8dabbd01b022bd0000000000000000525a8abd8292b2bc00000000000000007bd931bd3e56543b000000000000000008de8ebc4452713c0000000000000000d2156b3b6359f33a1e909b3b5ac4a03a7ef4643c2219273cda69013c93a2623bb758a53cb098763ce670153c6ec08a3abd6ec43c8c486b3c78f90e3c005aa238580b943c0ce44f3c3843de3bd828763a39828d3cae432d3c80b88d3ba7ccabbaf3802b3c71b1ac3b2daa493b27c7e0ba85343e3b9e2e743b206cd7b91c38a2b87aba7dba26f16fbb90360b3ba24cb7ba71e2243a0a3323bbeab9543b9154c4bc148318bb35c4d1bb5779aebc610f51bd40264ebbeb2dd3bb56fd3ebd1b0c84bdfbfdb7bbc6d3c3bba74476bd7aa68bbd05a930bb394c6bbb9e3264bdc7285cbda706b4bb119e49bb7c3b52bdba173cbdfc4a2dbb7e5d3cbb68fc05bd4bbbddbcfbe2c6bae99c2fbade895abca05f24bca567c4b74d6ec5394b2abf3bf0898c3bf550d4bc3992f7bc7b024cbcac8c5a3ce65a79bd3d9f4bbd568b10bb05a1df3c0a2c91bdf32b41bdfbf5cb3b4430d83cb2ca8dbdb7321cbd59255e3cba8ce73c92f24ebd02eff1bcdb59b73baea2853c05e920bd893594bc878e6a3c52e6a93cc6dabebc64ebd9bbf505493cd804443cc50cecbbf8ca4fbadd3db23b93cf703b936f6e3b83ae653bfecced3a645ae7ba27c36dbc9c6866bd00d1243f4404233f7d87803c9903f3bc2d03243f25131a3f83d9463dfe5eb23ce7a5103fee57003f5f2d953d0853333daa02f43e1567cb3e78ce8e3db87f503d791ab53e821c913e685f9b3ddb57203d3697863ebc603c3e2e6e723dfd2a223c08f71f3ed41bc43dc29f183da3432abc31fb5e3da5968a3c3bf5003b9d4ec3bc09389abce2e406bd9c397cbdd05b65bc00000000000000000833bbbd85ec1ebd00000000000000000573b0bd026a5fbd0000000000000000de7cc6bdeac87ebd00000000000000004ba691bd53c051bd00000000000000005d28b7bd583545bd00000000000000001c339cbdce1ad6bc000000000000000067cb4abd46c0193b00000000000000006839c1bce16f7f3c0000000000000000ef6c3c3be86b313b8c22833b3f596f3b868f4f3c625d293cd2be073c98d7823b74cca93ca6fe6e3cece6273c887b1d3b52f8bb3cbe7c723c505f093ce4a1143bf607a93c7d536b3cd33fdb3b434aed392e078c3c2ef5253cfb098b3b502630ba7d642b3ce008d13b8d420f3b8ccc6b39b0417d3b199d2e3bf7445bb8faaa0a3ac01b06bb319287ba2fae16ba800c27baccece4b9125532bb354b9b3ba686b5bcb4cec1bae257e2bbc5aa96bcde683ebdd39276bb8729e3bb719b36bde2387bbd6eb59fbb8fe4c6bbe7aa70bd41a870bd613f93bbca0fa1bb239d72bd38306abdf72a87bbb3f277bb53a44bbdf9152fbd351a89bbbc0103bb869909bd71cfdcbcf7d212bbd0263dbaedd86abc84ee24bc75f1233a3ff912b98cada03b3ab4983b68eccfbcb0190dbde65073bc8dc7703ce98f6fbd69ff71bd5f57c2bb8377f33c20d18ebdde7c71bd80d4203b7676fd3c31268cbd66624abdfa630e3cfbb4e63c55675dbd6dca0cbde213203c7347c53cf64121bdb08ab6bc1fd14c3c6e0fa03c11d5b9bc4ccc2fbcef7c3f3c8381443ce567c2bbfbfe81bb3e45e53b4006843b32e3983ba8d2773b3685b53a63fe7cbac87481bc3d3e30bd9f98ef3e09d3503f5c04333ce9a1a5bc89fdf13e0e6f473f429d323ddfbfd03c4e61dd3eaaa1273f2c1f7f3da4e9553d168cbe3ea86d033f63bf9c3d4eb7663da017943efd36c03e49d6903d0db72a3d4b8a553e4cea7e3e56b56e3dc51bac3cc44cfa3d01fb043e84b30d3ddf0e1dbb64d6323db27c093de7a0bc3b57a7c3bc6e6ea0bcb5620cbdab9e98bd4df269bc00000000000000008bafd5bdeae021bd00000000000000009ac1ccbddd7d66bd00000000000000001baac6bdb3a181bd00000000000000007c1bc0bd4b377abd0000000000000000735ebcbdb18042bd000000000000000069fba2bdc57ed4bc0000000000000000e52d65bd7f9f0f3b000000000000000019a7e4bcd97a7d3c0000000000000000ede0df3a0e34273bdba1623b9343843b1234363cd7602c3c3117103c2ec6d23b43cda03ce832683c8a622c3c650c663b51b0b33c853d783c1a43293c5028313b932e983c0ead603cfa56fd3b6114123bbc2c853c1df3303c3a89af3bc09ea4386961323c7120c63bc9cfdb3a0b1b91394e398c3be3d8ec3a3ac4073b5d1f14b9d0f303bbc7cba3b97bc1cfbab381d939ef42a0395b3d71bbbf81ff3b9f4886bcd07df6ba4667eebb96cb82bc645527bdad94c3baa28ed3bbddee33bd6cff62bddd898ebb463ce3bb138c5ebda9e277bdc77556bbd38f90bb464f5cbda92c53bd36d688bb60a880bbe82a46bd63c228bdf0a618bbad2635bb73b202bd270cc5bc40d7dcba204aaabac43786bc9a04febb7578a1b9db15043a612c793b89afa63b6480bebc02fe24bd123575bc57b3953c963765bd47f98fbdf84f04bc152af63c43c283bd661d84bd82cfbcbbd5abd33c0a7e85bd76de6dbd7fea8f3b9d40f93c7d5c54bdf28a2dbd2dd6443b0df7a93c055a23bd2149ecbc99dc293cd1bba93c2a30bbbcd64c7bbc63a6f33bdde0603cbb08febb499299bb4e0fc93bd3bc873b6099953b6dda823b1caf26b9e8fbb6badb7a82bca08d11bd9596923e25a67c3fca6b2a3c31639cbb63f9983eb56b723fa7bb2e3d9ac4263db33a963ec9d4433f6418763d74c1683dc17e863e7e18213fc7568b3d5517743de14c553e88e4e83e9aa18b3d13b0443d844b1c3e6aac9e3ee915533da2f4c73c863cac3de00b333eb3081a3d11a2cb3addb2d13c6aff423d6247bd3ba6e68fbc215797bc48ff1bbdc51ab2bda0645bbc0000000000000000d5cbe6bd156e1abd00000000000000002839a5bda91951bd00000000000000003b92cbbd804985bd00000000000000006ef5a7bdd8df6cbd0000000000000000d3bdbcbdcb794bbd0000000000000000cad794bd7bbc00bd000000000000000057446cbd1df14e3b000000000000000008a2d8bcbacba13c0000000000000000534f8b3a673e663b7129933b1a19cb3b4eb10e3c22a22f3c0eb81f3c594be33b725a903c54cb853c6e99303ce6c2a63be21da93c589b883c3036283c3247803bf2069b3c4ff2653c4386ec3b57e94a3bcb41863c420f293c43c0c93be588993a279f263cf853d63ba19d4d3b8655463a318c863b3fa7f53a20fcad3a3c3e9e3acbaceabac13377baeb9eb0bacf82e5b9fe51ad3a96fa92bb8096f53b12d442bce366ffb9472715bcfd373abc31d900bdce0babbae6e211bcd8fd1ebd1ea252bd6a7e3cbbb664fabb27da53bdae3565bd811f58bb7feba1bb6cc259bdaa104dbdaffe86bbbc7690bb3e4e42bd15b520bd574157bbc8213bbbd8130abd9d27b4bc131bc3ba7e3b9cba68368bbc0091debb231185bad068943a890c363b6e1af33be043fabc6dee6cbd85c49fbc880c8e3c2f345dbd70c9adbd2108c3bb1e2b0c3d52d38abd8292a8bdbe910fbb5c4c053d254c84bd6ead8dbd99ee303bfe51f13c5bad57bd883c47bd3e443f3bf0a8be3c293920bd9faa0bbdeb49173c4308a83c0cc4b9bc71c79ebc8eaf183ccab3593c6786e8bb9ee2d6bb09669e3bf35f2e3b24eba13b663de63bbd23763af0d7a5ba378580bcb3cf94bc6011fc3de501953fe1098e3b4887d53b260c093e03df8b3fbb020c3d42d73e3d71212a3e712f6a3ff8956c3d6197863dd9d5243ea4c2383f54c4893da6178c3d6bde093eed62073f7552873d4b356a3db15cc93df584b83ebf97613d5814103d55a5553d51e8473ec47a123da922493cecb03f3c6f6c673d6fb7e03b41f069bcc33dcebcc7465cbd34c49abd6f773ebc00000000000000005178ddbdb4612dbd0000000000000000f1d2b3bdb5b177bd0000000000000000781dacbdea0a8bbd0000000000000000e890a2bd61d482bd0000000000000000d75bacbd96af5ebd0000000000000000a2e697bdfa2df3bc0000000000000000ceda54bd7234c03b0000000000000000dbcd07bd9965883c0000000000000000000000000000000000000000000000000a39203c6aa8423c0714413c5cfee93b29037c3c5c60803c73b3353cda86d93bb430933c7024853c51892b3c03549a3b668c933c90e0493cf3f5293cabb05b3b239f6c3c106b2d3cca62c03b55a3f33a009f183cc7e1cd3b68735e3bd352a83ae6595a3b9337e13ad14f9c3ae121d9b90000000000000000000000000000000000000000000000000000000000000000979cbd3a752ee6bb80d188bc9d4805bd2279b7b9840ff4bb14d811bd29eb3bbd6cf16dbaf4ecafbb7ad142bd485e56bd9cb3d1ba3d138abb86f847bdea2f3dbd00e809bb867d66bb7dba2cbdfa7813bd9556f0babf9414bb36faf1bcfccbb5bc0437a6ba6dae7eba09ec40bc74abb2bb0000000000000000000000000000000000000000000000000000000000000000799a6dbd6b16bcbd53047bbc6157ab3c664678bd946ea5bd12e517bcf6bbc33cae3b79bd28ce8dbd88f0e7bb3b31a43cbc9b52bd1feb5abd197e5bbb9c68863cdd091bbd50261abdfeba243b29f7803cd872b9bc7442b5bcfdb7b33b329d2a3c9fe8c1bb6c7ceabba6a3c63b358da73b000000000000000000000000000000000000000000000000000000000000803f748a293ce71bfb3ca4decc3cc6e3943f8ad3103d4fcf603da024623d5330753fda5a663d31e5913df076913d33c2443f6462823d05dd903ddf3a843d1fce133fffb4783d1633723de1aa333da44ccb3ee5af4a3d2235223d3cfea43c33f3683eb092e23c5e002f3c662c20bc906d833d0000000000000000000000000000000000000000000000000000000000000000a70a3bbda44affbc00000000000000006bf936bd6b5c4cbd000000000000000050de38bd642767bd0000000000000000adf750bd762369bd000000000000000025546ebdcf7f53bd0000000000000000980465bdb2f006bd0000000000000000fbd44abdda282fbc00000000000000000000000000000000000000000000000000000000000000000000000000000000729511bc85e66a3cd84c2b3dcd21c13b37b5d5b937db8e3cf646163d071ce73b3d724f3b207d8a3c55fcf93c17d22b3cf338913b25997f3c5b0fbc3c7b440c3ca1afd93b8873253c8b38763cd648d33b636d873ba641c13b1d81a63b3198903b0b0f673b691b9d3a626139bb88eae03a0000000000000000000000000000000000000000000000000000000000000000c68cfcbbc3d894bb7255ab3be6be84b9f42f94baebe192bb759ffcba8beebcbc2d26b33a90c420bbf3ef0fbc1bbe0ebddf3b883bfdcda8ba410b30bca0f21cbd25a5783b95fefbbab4e366bcf069f7bc106f813bcff8b03aa64f6bbcc006a5bc6604243b2a7c89baa90138bc321ca3bb0000000000000000000000000000000000000000000000000000000000000000283e64bec243933c4d24ce3b4ba37f3b0b6d4ebe575b5f3b298ea6ba87d7873b35843dbe07a718bcc1f631bb1446003b0c5017be4e1d45bc39ceb7bbe9d2ad3a1a06c5bd4e8565bc6665d6bbadab073b3d7143bdb75168bcb815c3bbdfd7cfba19ea2fbbf3e9ffbb44467bbb7b66c7ba0000000000000000000000000000000000000000000000000000803f00000000d22eb73c4dae05be7e30af3fd48818be42a15a3ca76f77bdb91d8f3f0992c3bdada9633c85afe6bcd3756d3fae2693bd5426663cbcb292bb7307313f437b48bd49ba153cbb8a933c1fb4de3e3129a2bc5ed4f53b4129f43c222f553eae87fa3b1c5fc13bc73fc93c3f6b45bb698c933c0000000000000000000000000000000000000000000000000000000000000000e45ab53c9eb27cbb00000000000000003326543c1a2dc7b80000000000000000f4493a3cf0da0dbb000000000000000092403f3cd8a41fbb0000000000000000d579123c3c7ee9ba00000000000000002a19143cf5f74fbb000000000000000048aedd3b01e04fbb00000000000000000000000000000000000000000000000085bf1dbc04afa83b2d26b43c8c4497bb7aa936bc00394c3c26a1143dc255f8ba53d55cbb869ea53c5e5a233d37790e3c5f665d3b5b69b53c5060083d2bf8193cef32c93b52ae883c25ffbd3c71c9363ca76baa3b39486c3c2866803c6443fc3b1c0c9d3b6587143c3e0ca63b1a82c83b277b773bafb76b3bddf812bb3c276c3ba96c30bb83192ebb59f0f2bb91e6b3ba4711c3bb1a8907bb2ac13c3c1a6b303c642d81bb8d427bbb9b29003c158f9c3b1dba3fbbe6b8d5bb1f00713b5316bebc51908e3a79d4b5bbdb0aa2bb57db04bdccbec93aadd458bbc57d20bc24030abd4960843b89d74abbf43c52bc9f66f2bc9d55713b0e5612bbe9f84bbc7dbdb1bce408d23a10e4fc394afd45bcdc9b20bcd9cdb639e16a353a0066c7bbe4cd333c3b1ffcbde8918a3c5953643bd8700b3b5acd38be842a593c4fda3bbb67a5b13bb1d957bec25316bc90e93a3a5db4d13b644547be5edd75bc157692bbe88fb23ba4241dbe762faabc3175d6bba0b17b3bf17fd2bd979caabc4edc0dbc1292453b666e4fbdf67d9cbcfc56e8bb6cc7923a2e8220bc03676bbcb28a48bb77dfb2b8e9ebb83c7b6a7c3a4132eebaaeab61bba9b2483d6af47abe8905ae3f325ef9bbeaf2373d4f1d41be85d19a3f5a626e3cf04e043d957c18bec8ef8f3fa23ba23a6597f53c79cad3bd836c6c3fb2fce63b5840b73c244f63bde7052f3f22d18f3c767fa13c3945b5bc4c6edf3ef6a5e03cb03f623c22438d3b27e9513e8235113d3a1db43b59cca33c40140f3d7d38083de20d023c5355e63bd736efbd667d643c51b8f8bb4898243b00000000000000002eb51fbcb76a693b0000000000000000766d04bca8d8923b0000000000000000a217c9bb5b4b7d3b000000000000000045500cbb3f14243b0000000000000000491b8fbab361dc3a0000000000000000be282fba386e513a000000000000000047b994bb749405390000000000000000f6fb2939e2d6ef390000000000000000c7ceb0bb08034b3b82b7473c899e14bb485acabb9b217b3c41bed53cd48c983b15c5e1ba520f9c3c4d8e003dfe6b4b3cd5cdd93a7bd0b83c9628e83cf9525e3c6c048c3becb3993ceb3da03cb69c1d3c3de09b3bb9b2723c51df4c3cc439213cea62873b4eb0e23be4a8b03bb78fac3b2aabf33a48cb073bfc9101bb5c662f3b9320b1ba30ff6eba568facbbf37a13bba989b6bb13a2a8ba4129393c7ffb25bb19f3a8bb34d880bbf3df2b3c7cea5abcba402bbb6f91bbbb628ce03bca97dfbc0e5316b92215a1bb90594fbaeebd10bd745c863bb5db77bb35e6acbb857714bd3af2743bf3fcedba504d06bc6f9201bd4824403b6fbb40bbd5f549bceecb88bc539b363b585857b988ac25bcd05f91bbba73023aff744b398766c0bb8cbdc03b904894bd072f9a3b2c0a343a11e2693b2f2622be8e9f58bceabb003b1fbce63bff243fbe4c98eebc5562debadec6113c53cb34be2b6c12bda71a99bbbcb0e13b012f0dbe4c9009bd10a619bc4b25b73b8c03ccbd1b8af8bc84c02bbcba55a93b45a649bd1575abbc7616d7bb3c81e23a7f9642bc35213cbc7a41aebb44e207bb38814f3c6c08b939cb0ff139bd3813bb4e6e503db6ec6cbea8d18e3f502b5f3e552c533decd865befce08f3ffe7a3e3ec7d7203d377c37be06e8823f95c71e3e4dcc0f3d570807be18bc593f8fa0023e7667eb3cbc68a9bd2f40223f3912d73d08deaf3c667d38bd6ce6d43e5558aa3dad688a3ccf3f7abc7ab14c3ea0f36c3de147543c530b293a6cb3143d975bfe3c7160263cd37ca0ba9e0589bdba64383b96a26ebd9c407a3c00000000000000004f3f68bd17016d3c0000000000000000887a3abd1eab5f3c000000000000000049bc14bd87df493c0000000000000000463bc9bc9ef6fd3b000000000000000061b27bbcdf58c63b0000000000000000875d2bbcaac7c73b00000000000000000911bebb2d09963b0000000000000000e63344bb2fb2e83a00000000000000006a14e3ba8760043b3d58213c11c4b33a246f99bbe40b493c44beb83ca2d50f3cc811173a7146913ccdc1dc3c4ec07b3ce160693b0934aa3c6501bf3ca76b723c7f46fb3b88248b3ce681913c2097523c6c7fdc3b8f52713c20771f3cda56113c8e649c3bf543fa3bab0c873b70267a3bb574753b3e847a3b473adebadec7203bc10813bb9b43d0bafca1b6bb9c075cbba3d2b8bbfb4697baac15433cd2ab58bcecff29bb59f0b2bb77cf313c8dca73bc629f7d3a3b6f09bc6aecb43bdca6f6bc0ade8e3b66edcebb8ef9c5b97a5e19bd31b3823b8dfb11bba83705bc4e3f0bbd6f79b33be7bb9dbb20bf02bc995700bdc77ca83bc8dfd5ba033543bc5d34a0bce563a93a1a322d39575133bca9f7e4bba71f8c3a036cc8ba056bd5ba5a80f53bd39064bd685b92bc2b3a3e3a8f9fcf3bba3405be527038bd1f6e8b3bc3fa1b3c78d620bea6e180bd71b1d73a3f4d293c73291abe98b47abd685666bbb6140a3cca1303bef94c59bd19aa03bcff0abd3bb059b1bde6431ebd36712cbc5010db3b5f8142bd3769c3bcd57500bca5c5193992c567bc42af34bce2c48fbb9b39feba661c213cb01ecc3b260a28b9f8f87fbb1b3f403d3f7f5ebefb4f703f8a9ae53ead1b453d734658be970a6e3f5d29d63e3567253d1d032ebe4d355b3fcc46b63ea25b0a3d38a600becf97373f19e2913ee12be33c156bb2bd39450e3ff61c593ec944ae3c31f542bdcc6aba3e5b2b153ecc34963c616b9bbcdb783f3e7861aa3da5e0573c0183c0bb59de363dabe8e73c85de353c26de62bcb8834cbd9e21b2bc2f88ebbde0ebd63c00000000000000008cc9f2bdda34ea3c00000000000000005ebac6bd3995c93c000000000000000096ac99bdcec9a53c0000000000000000b9bc5abdda1e7f3c000000000000000079ad08bdd54b353c0000000000000000df5a96bce6062a3c0000000000000000a899b9bb990dde3b0000000000000000ce22093b3cc4903b0000000000000000c4302bbb728ed7bad999093c40c6933ba1a51fba478edc3bf9a2953c9506783cc9a0f7398cdc6a3ca27eb43c9862b13c75d18b3b5f369c3c3649a63ce9c8a63ccd79d33b94ba773cbf094a3c714f4a3c32d1bc3b2d11653c46e1213c84c13d3cf22ea33b93150f3c9868403b21ee383b9075493bcd25793ba256d5ba0f3c833a607700ba2c8e90b7e1fca7bb036b19bb98ae78bb6ce56dbb099a393c3a1356bca0ea8cba3db503bc99a5173c83d790bc5a2a923b2bdcc9bbfbb6833b220ed5bc4dfc8d3b4481b8bbac73a838cb9711bdee61b13b423f02bb91f492bbfb0e0fbdb464b13b23ebb4ba297bfdbb3bc9f3bc14c0ba3b14f980bb658206bc534ea8bcb88e843bed81f5baaaf409bc79a0efbb9c6822bae62ddaba15f797bbb85e8f3b333113bd9ef223bd260d563b47ba363c1219c4bdb1cba6bd5dca073cb3473d3c8a7c00beb01ec9bd670be239e63b2f3cf23d02be932dbebd660866bac210ff3b4f26cbbdfe288ebd0ba101bc9110c93bf9afa4bdbefa52bd7a2e17bc5ef38c3be1b623bd6930e8bc167cb9bb87089e3a2cac81bca0ae13bcbd688fbb068c5ebad8fcd73bf73c0c3c03a3133acaa1baba7e0d223da15732bea57e313fafd4333f249c1e3d41332dbeb338323fe3f6293fb360013d41d20cbedb5a263f0128143fc432db3c06e0dcbd2ed7103fb8beea3e03649e3c280285bd0416dc3eecbea93e81979c3ca7ee43bd02229f3e0148583eb1bc6f3c8351b8bc45de2a3e0c8ed33ded63383c578b3dbc0a04603d24a1a43c8162223ca6e82fbc7fa300bd2aab2cbd77d12fbefc42133d0000000000000000da2830be631d203d0000000000000000ec3f14beccf6013d00000000000000002b79e8bd1f91e13c0000000000000000071396bd55549c3c0000000000000000b6eb4cbd8dc28f3c0000000000000000c3efbcbcf9cb3e3c0000000000000000afe64fbbd414dd3b0000000000000000b35159b9b757143c0000000000000000731791b867a621bbef28433b4386173cc9ec1bbb0d06b73b89a17d3cfa3fa33cfd7e84b932612d3c33fab53c7752d73c8caa453b7467813cdcbb9a3cc099c53c2814a03b70c2813c98036c3cb1469f3ccdcfd23b010d6b3caa421b3ccaa4503ccc9a993b76b4163cec37923b6294c83b6182223b776d9a3b0da8bab9d493ee3a19505fbac8f031bacb4e53bba83a2cbb825734bb4e2c41bb96f4d43bbd9b39bc405b113b2e49f6bbce56da3b2b4c77bc28f99e3b859204bc3d6e8c3b6b0ac8bc53a7013c1e6fccbb4eec57ba6827fdbcd15ae63bb5a366bb541475bbde8afabc7612bd3b372da2bb33fef5bb8f8deabcb3469c3b6f9ddfbaf9b720bc11bc9cbcf647ad3a8a3bd3baae97d3bbc45102bc9190cc398cc90cbb600032bbfc0ceb3a8aad78bcdca47ebda948ff3b6dff163c7bd882bd0f6df2bd2204533c75d22a3c4899c4bdaba40abe8e68e13b5e7a513ce60fc9bdae0afabd48aa39bbd711213c4588b9bd2be1c8bdb510b4bb45f2ef3ba62b8ebd12a481bdabef04bc8202e03b73dc38bdd8d200bd13b3d5bb0141713af71d87bcf31f2ebc1bcc9abab80613bb4ed76b3bd282183c19c6103b8c10b3ba4280f13c1b96f2bd6e28e13e7d8d713f7dfbe43cbd65e9bdd08fe53eac3e673f8171be3c3ba7c2bd76d5dd3ef52e4a3fdd0d8e3cf0238dbdbc6cc43e6b98203f2e91823c59d054bdee07a53efba6e83e9ae0523cf4fb04bd6837763e4b6b8d3e2b98463cfe57a7bca6391a3e9e5efe3da068153c80f72cbc869d723d0a0a5a3c8063ff3b38d340bc2bcb4abcb6ac7cbdfcca58befb21323d0000000000000000541a62bef31b4b3d00000000000000007b8a3ebe36031f3d000000000000000067a40dbeb956f13c00000000000000007c21cfbdd65bc63c000000000000000007b061bd6afe813c0000000000000000894cc8bc1f1e563c0000000000000000ae0a95bae9cd033c000000000000000086e7303b05e60b3c0000000000000000729eb5ba5f6281bb317b023bb860523c5f1053ba7388c83a3cf9363c4c22eb3c310a8bb9ff90e53beef5983c75dc073d4a13343b3e1e3c3ce98c8e3c5dd1eb3c38bc8d3b177f563c652e4b3c6a1bba3c1e38b23b7224373cf1b1043cb910883c4a218d3b4b45003c75ce7d3be730fc3bba0f843b294c8f3ba65876394a8afb3a3f8544392c7e643a7daf80bb2dbe80bb155a54bbf99a92bbe48b8b3b1ab704bc7483433ba6f71dbc7b070d3b492926bc5af7d93b179d30bca57e7ab95a2a6fbc10401c3cabaed8bbf4bbb4bb4f04acbc1b97e63b1d3635bb1e31cdbbfd86c7bca84aca3b1c553fbb8d22f3bb2ba0b0bc97049d3b900762bb1ebd12bc596587bc06a1b93a3fe081ba764904bc90ed05bc583f2d3a11b10cbbc5fbf8ba2dcb83391eef003b00199dbd2de28c3c4edbe63b14ca0ebd9df21dbe92f5a03c0091213c0da784bd0eb92fbe89b14e3cedd24e3c488396bd00cd1cbe250b403b1942f13bc5c88dbdbd17f4bdf09677bb03f3b23b90056bbdb7d7a2bda09b97bbb1d27f3b754e15bd87b720bd552a89bb08b5283a6dda9fbc60dd02bcfb052fbbd508c5bac63b003becd7643cb4d3a03a03cf03bb01c7883c27926dbdc7f1573e53468f3f3662753cc2ed5bbd83045d3e84528d3fa983283c1aac26bde972603e4d1a793f40c1263c669800bd438c5a3ed038473f9906f33b179ba0bc0246453e50c40f3f05d4ec3b3be981bc95db273e0446af3e5ffbbd3bf3f705bc1126ec3db371183e6411a83b7f69b0bb3479723dfda4203c62ed363b0c77d7bbce4f743b311a9cbd28dd6abe386b453d00000000000000006e9373be91b44c3d000000000000000058fd4fbedcd62b3d0000000000000000c20623be0690123d00000000000000005373d9bd9470bd3c000000000000000005c580bd5f338e3c0000000000000000add4b7bc51b04c3c00000000000000007ba2123b2231ea3b0000000000000000e35d343cc0b1a83b0000000000000000e915eeba6b0ea1bb3964ee3a0251b03ca414d9b9b28d2bba351cc53b5bc21b3d731191ba0a607f3b7421793c50952b3d1504923afe8b1c3c9cf8723ce2e51b3d097b833bdf71453c88b7453c7b31db3c4f49823b3d93153c60402d3c4f5a903ce2a28f3bf892023cfeb3733bd2dd0d3c473f723b7bb0b13b380b023bbc6d9f3a335e6bb5567a9e3af76d93bbbfb6d9bbea910cbaedff19bc93e95eb8c41e383b1b73c2ba753242bcd717e6ba34f380bb4203053cc3fe2dbce27c12bbf715f8bb2b14143c561dfcbba6ca2abb4feb6bbc4f7d033c415066bbec8cd9bbe5129ebc9eabcb3b2164d7baf0a7fcbbe71d84bca6ccae3b8bed30bbacb8eebb786869bcd952853bbc75b6bab301a4bbd92a16bc0188acbaf4f083ba1fa649bba71673b926015c3cee0003be4e4dd73cdc76fb3bd4a4fabb703c35be430a043d6142dc3b583424bdc7a64cbe89b63e3cfaad0e3c1f4258bd7b8b3abe24a3963bd047f13b494a59bd2c5c0dbe929304bbd405143b1a4c43bdaa24bcbd6472a6bb6882643ac91204bd406138bd4297e2bb00befd3936fba5bcf80725bc4b02c3bb7e9809bb7ce2813bda29b83ca250c93b11bdb2bbdb7c343b62fa82bb472257bcaac6ad3f75605b3b81beb5bb35351b3d4530993ffed87b3a7b696abbe0e8523df2298c3fd26510bae1c698b981879b3d8ab8613fdb3ee0387e51273b2fb8b13d861d243fd81ca1ba76f0963be1f5b33d4be6ca3e61456f3a542d333bb1d79b3df246323ef0292b3a1437efbadd965f3d2d339e3c7925fb3a8564cdb84f3b053c5a6bfbbd539078bed7c6453d0000000000000000091e53beb7b03a3d0000000000000000795237be00bf073d0000000000000000406110bef853dc3c0000000000000000387bc1bd1cca9f3c0000000000000000deea43bd679d363c0000000000000000bb5d2dbcd143eb3b000000000000000028598c3cbc23d4ba00000000000000006776a93cefe3733b0000000000000000000000000000000000000000000000009b0253bb684103bb90d8383c1ed63a3d8dfd5d39ac6e613b655f523c465b213d4b2b9cb99ce1133c7d50863c0d02053d346c763bb7e7223c68bc3f3c0f8cd83c73158e3b59f6c73b1c4cf33b30dc8a3cd92b4c3b1c3bed3b039c8e3b5161213cf1c1213b0f9a0d3bb66641ba32288a390000000000000000000000000000000000000000000000000000000000000000b06d843bd47d3ebc8453d4ba7d40ce3bb6d2dc3bd0bdb7bb42d25abb8ce919bbf4c2153c765a7cbbb677a1bbc5c821bca9f7ce3b53db16bbafc5d6bb103268bcd419cf3b104e24ba1d8ae2bbde9c51bce4d58d3b66c4d3ba8311d7bb5d843abc7be9af396cec43ba3354b4bb3d27a0bb00000000000000000000000000000000000000000000000000000000000000001465a3bbdfa45fbe9c87aa3c8e47fc3b0b71e2bc67db47be3f60023ccec7123b03eb2abd0bd534be3ef2c3bb3464123b2a1e2abd1d270fbecedb00bc250ffb3a763a0cbdaf40bdbd7d8a1ebcb31696ba0ce6d3bc627d40bd1c3008bc21aa15bb647312bc85259fbbf72d083a5a4584bb000000000000000000000000000000000000000000000000000000000000803f4787b5bb07ebde3c3cd6febd3da8ad3f993b8fbbf7f4ac3cc99b52bda04f8d3ff16692bbbb58b13cab73adbce0ce693f466958bbc7e2b13c239ab03bced82b3ff6eef8bae9609f3cb0b3d33cc27dd73e10d29abbfcae853ce7bb133dc6644c3ec69b9aba266f263cd623d23ca60e13bc00000000000000000000000000000000000000000000000000000000000000006acc1bbea982b73c00000000000000005155d6bd8b0e903c0000000000000000fb1e9ebd786a443c0000000000000000b33756bd2f9ffb3b0000000000000000a164cfbca604d73b00000000000000006537c63a905b2b3b00000000000000004c318f3cf2f8bfb800000000000000000000000000000000000000000000000000000000000000000000000000000000206fcabb2b92cd3cf5e90a3daafc73bb0ac48e3b5919e93c23c9e13cb54e17bbc4a7573c5f30ea3c9bc6af3c9782063b4fb2543c3a75cf3c511a663c5514dc3a6f22393ce2eda03cd3ec2b3cf2f4ff37e01bf63b4a483f3c94e8973bba6ef53a8d4f583b4deda23b95fdfcb8ab18ae380000000000000000000000000000000000000000000000000000000000000000ba80fabbf6f4e9bab2afd73b8b9dd7bc5eb39fbbd3c867ba576849bcc4834fbd32778fbb4411613abae1f2bc44fd81bd0bd3c1ba658c8038283d0cbd57a078bd65cc18ba8c4e533a711110bdb3c044bde54c843a61ffe83a2714d9bc286cf8bc117bd1398a04043ae3f66ebcdb9824bc000000000000000000000000000000000000000000000000000000000000000047b753bec0d6083d9ae3493c348037ba5cfe38be4be7cd3cdfc0283cbcd4f7ba097021be2a1e513c7fd2253c8172a6bb36fff6bd732b313c94bddb3b29c1bfbb3bb6a8bdd983b43bf95e253bb04289bb2c7930bdd3dd44ba842cccba734396bbd2edd1bb9fbf27bb38cfbcba16cc5abb0000000000000000000000000000000000000000000000000000803f000000006dc1a23c0a0cd6bd01c1b03fd23b36bea7478f3c5378c6bb9b7e903fc95517beefbcb63c15483e3deb4a6b3f7c2006be6174ef3c2553933de88b2b3f7018dbbd118ad93ccbdea83d0880d63ef72194bddd59a33cc926913d2ea6473e64b3e6bc8330573c83e1203da65124bce6e8f03b0000000000000000000000000000000000000000000000000000000000000000f04d1a3b478ce6bb0000000000000000f2ad83bc2c2342bb000000000000000060c49abcb47748bb000000000000000046e78ebc8464f4ba00000000000000001c551dbca8ea843a0000000000000000b828b6ba280e313a0000000000000000ecd9d93bdf719039000000000000000000000000000000000000000000000000695b3bbcc17f343c5b698d3c6358a4bb94cb19bc05e9b53ce0bfe53cc8d99cbb139a1e3af23e013da938fa3c5bf15bbac0720b3c04100c3d8ebabc3cc1a8053b972e5b3c4dbee03c3ac2863cf6613a3b2947383c3e71bb3ce313283ce6ac2e3b1820ec3b8ce27f3ccf10743b32d9e23a7e8fbf3b5e19083ceced52baed98163beb45a8b802273bba5c4e75bbf5b3adbaa481b2bb1b789d3a58ca6f3ce0f3153c25bea0bbb526d6394829f03b06edf9bbee9192bb544840bb47546fbba42f34bdc77e25bb60b20ebbeb7aa0bca4b86cbdf7147eba7d081d382b04fdbc4ab56dbd63179539574b71ba0c61f3bcf17042bd93c4033b309900ba1194cbbc1787f9bcd589cf392e055b38e7d595bc116581bcb11722b99bfdf635d84ca4bbbe91053c6b65f9bd61a9983c1a1f0d3c3f952fbb095d38be2628f33ceb13cd3bd1fc74bb8efc4abed701843c64e4503cefb201bae22231bee315213cffdc273c730d40bba2cc07be8301c43b20919b3b5ffcb0bbf9eebabdac7d003bf07a203bfda071bbfd973ebdd27996bb7dd5003a90a682bbae5c34bc9e3a01bcc60f953aebffcbba1e16813c4039dabaa3950cbb11d46f399462283d4b6c6fbe93d1ad3f7a133abc99171d3db90e28be262b9f3fa0050fbd150cd93c8303b2bd8288913f07565bbdcb3fe43c4a3c9dbc5cad6c3f92cd7cbd9facf03c9027053d0dc52c3f6e535bbd27e0c43ccbb75a3dfdcedb3e56210fbdee51a33cc0036e3d8242483eafa10abcb224093c501e543d7644aa3c6436963c213b153ce619c33b6899e7bd75e2603cafa576bc2d7f65bb0000000000000000889bb7bc49c9ba3a0000000000000000eff419bdffa583ba00000000000000002fc519bd0806893a0000000000000000fce2f7bcae0d623a0000000000000000bacbb2bc95a7de3a0000000000000000b5c71bbc43d5153b00000000000000004ca20abc090d84b9000000000000000048c4153c925321bb0000000000000000cff70dbc648a133c245fec3b4b9780ba6540d4bb2c0cbb3c72d6bf3c1e3efb3ac69c853a9468013d982fcb3cdd2a853b05dbe23b92220b3da0aaa33c7fcdb13ba879403cfee5e43cc8145d3caf3e9a3bf846273cfc08c73c58e0193cbda2113b3b90fe3b150a663c533e403b13c3103b804b583bd602103c4dcfb2baea57e43adafa1d3afbb8e5392fed43bb74d613bbfa0186bbc547973a4e58613c8db5053c2292a2bb149b1abbf371ef3b9f7850bc7df69cbb066451bbc756f4badec928bd76c84abbb797f7ba756a6dbc33bb60bd571b9abac5dec6bad70acebce4d960bd5bc76d3a953cd1b9be1aebbcb4e331bd26c0b53a66e2c0ba913abcbcd47fdfbc26808338571ac2b92a5c63bc1d9c50bc0e0cec3a705b32ba0c5595bbe727903b54189fbde086923bd284cc3bfb0e44bbce4127be01c1c6ba26f05a3cb81781ba424237beab6709bc5e7e8c3ca371a4ba122227bec22508bcac0b623c75106bbb3110fdbdb0701ebc27321a3c551683bb350eb9bdfbdecbbbeacf593bc8c082bbd65c42bd1554acbb8f8b0a3ba9c15cbbd54c52bcc1d98dbb9b956c36458e11bbfa2a423cedbf9ebafbeacabac09021b92c3f2b3dd17e65bee7d28e3ff0915b3ecb8d253dbfce3fbe0e45913f83c01e3ecce7013dab6aeabd469e843f705ad53d47c6ef3cf85b47bde9a25b3f39aa6b3d7427023d3627e43b9e0c223f3dfa053d0c5dd83c61060e3d2df0d53e6806353cf7ffa63c422a2a3d6c9e4b3e051fef3b08765c3cdecc133ddbfffe3cc881bd3b0796f13bf169e73b71638ebdcd7b71bbb29a84bdd94bf33b0000000000000000207296bda0c1bb3b000000000000000068129fbdf22f043b0000000000000000df378cbd171e943b0000000000000000ed235ebd889abc3a0000000000000000e7c612bdd9092e3b0000000000000000ff7e95bc7a07963b00000000000000001b68b6bb44f7823a00000000000000002244fb3b573ba5ba0000000000000000b8dcc0bb5211ff3beb43d73b2461033bfd58bdbb7f70af3ca507a63c4c4fe83b282bd5398a41f63cb062b63c52c12f3cea75ff3b78dd023d93199f3c406b263cff433d3c4688e83c1f1c643c3c3af53bfc31253cafc6bd3c7987f73bb48da43b8c7b033c581c743ca8003b3bd2de573b66fe733b59e41e3c469c11bbd30b5e3aa937d73ad9dbb93831835bbb26f018bb40ed7abb1e58bcba88c7463ca8233d3b20f3b8bb45cf1ebb2adc223c117449bc10da99bb2e4548bbff27bc3a7d8c20bd3e2082bb2cae43bb9c1845bc264d52bd8ddbdebaac5321bbf07fadbc9bb955bd5a503e39450f10395999c3bcb4e02bbda31f363a327396ba14d5a8bcc94fd7bc311f093ba701daba62a862bc59a141bc615ac839d84113b9b25c86bb8783af3b957985bde17b90bc65c4353cae058fba516c0fbe630defbce1d49a3cab260cbb930227bed7d70ebd39889f3c7cfa0bbbe63319be1714fdbc0351763cf06b08bb3557fabd3aaeb3bc98e43a3c337b57bb3884b0bdc1177dbcf226d93bb19bc0bb7a7a44bdcbc505bcd91f333a40b03cbbf19470bc02696dbbb0ccd238bcd41ebb643df83b27c1913b1b2de1bacf2cabba4f4d153deda356be2d4b6e3f9423e53e2c2c163db92337beea7b723fd6f7c33eff18ec3c9c7aebbdd11d623fa34c973ec82bd83c2ea543bd5c2d3e3f7300543ea67dd63c11c305bbb29d123fafec043ed4a7bb3cd9a4d13c13c1c23ed898953d29cc993c5943173df546453e10eddd3c391f523cf672f53cac232d3d0283b93ad65f153c8edea9bafd704fbd3c70d4bcf16df2bd4b018d3c00000000000000009c8109be95f3873c0000000000000000aef8f9bd4e07493c0000000000000000cdeecfbd06f3e63b0000000000000000a597abbdcc68c13b0000000000000000313557bd9145a63b0000000000000000484bd2bc4659a03b0000000000000000f26c85bb3e80c13a00000000000000000561383c3cd2afba0000000000000000b610c9bb387bc73b6dcda43b2214aa3b0db485bb9dbe923cb9368f3c8a405c3c0545143b7191df3c1119ae3c70576b3c2205de3b9f9c023d4f3c8b3ca22e573c793d363cb2fed23c7e50243c666c1e3c75c5143c9299ba3ca0080e3ced58d53b0fb4d03b1c7d683c5709d63aa7cd2c3bf8dd983b2b26033cadc587ba20c68d3ad6a01f3ad1003d39bf405ebb484c23bbb90e2ebbab08c4ba967d433c7c08463ba14f9ebb1f5683bbed49fe3bdb3f46bca32f65bbf866c0bb42a54d3a7cbc1cbd3964edbab17920bb972623bc9bba48bd867fedb91cc6d5badb979fbc5e6a52bdc6362c3a513502bbdfaca7bc511d24bdfea4023b224e83baeba490bcf059c5bc123aae3aa28cbcbad00053bc46c542bc87f94f3a6a29c8bae36352bb6b89ad3b1f0f41bd92231cbdde536a3ce06addba3e91efbd618f7bbd8887c53c7d6e9aba24130fbe317188bd9dd7ce3c725e833a01550dbe52755dbd63c7aa3cb2a89abba198d1bd1d0524bd7dd92b3c154c34bb8cccaabd00dec8bc2987133ceb2cb6bb0ef138bd432b41bcf3a1483bde11acbb47c477bc1b935fbb94a54fb8a5d507bb5810033cf4f9933b06ab23babada08ba907cf03cd10f2fbeedcd303f1800333ff51df03c68a111be1ff5373fec2e213fc397aa3c3b8facbd0f56303f36de033f92d9a53c794013bd4abd1c3fe7d2be3e7c7fcb3c5c0f4c3c15d7eb3e5918803eccee8b3ca390df3cec19ac3e7c3e083ee12b8d3c7448033da4bb333eb5cd533dcc44443c47d0d63cb8cc553da335e9bb8247263c598920bbab9314bdd34a35bd84a92fbe9761d93c00000000000000002f333fbef74ddb3c0000000000000000a64331bec9608f3c00000000000000003dbc15bef391803c0000000000000000ccf2cfbdb409aa3b0000000000000000cd9a8fbd607a143c0000000000000000993deebc5365c13b00000000000000002cc6b2ba6bf3753900000000000000003bff6e3c087c5bba0000000000000000e9294cbb5c26663b41882c3b2276213c643224bbf083493c960d973cc650953cf9a96e3a56dfb23ca399b73c61e2a13cb599e33bf7e8e03c9ac7953ca4698e3cfb71153c66d3cc3cd038663cee06693cd0790b3ca09eb53c3b55fe3b871afb3b79e4c33b59c5813c919fbe3a290b8b3bab195a3bf7a30c3cce3345baf0fb3eb953ae95399abfe03a80678bbbc3a57fbb879731bbfcd85dbbfc06fd3b9b88d03afb38a9bbd7d0c5bb17e7f43b9ddb21bc2a4755bbb471c7bbda5b513b371b01bdd08bc4ba25ecc1bba6a5e4bb0b233bbd7524b1baa24f30bba08260bc45cd45bd36c2cc39a579febacf9879bcfe2621bd16922a3b14f112bba6cb7dbcbe03d2bc56e4013b4099c8ba0e1e1cbc169958bc162c183b247fb0ba45f40bbbf657323bac27f8bc01466abde0ba843c84c93a3acb23bdbd5697c1bd762bfc3cf243b8370916fdbdcd25c6bd175aef3c79f84b3a2fc9fbbdf1fa9dbd4ba1aa3c661c24b96e5dd3bd933d73bde96d863cb3828cbb622a9dbd409016bd14022a3ce86f6bbb199237bd862c87bc16092e3b3c658dbb09f38dbcaa2bdcbad4709f3a73e461bb33a2f23bf72dd93b5436a5b9ec1e00bbc7fca23cc1a6f2bd3e95e23ea1a56f3fb3b3893c4764c1bd641af33eb8d35f3f6e404a3c58f158bd727bf93e310d3a3fccca453ca6382abc64e6e23e87620b3fff48843c99cf9d3c670cc03ed29fbb3e3be6573cd778053d77b58b3e940d543e1144543ceb90063db23f263e7f0e9b3d0e34243cc668cd3c5fc7713d576646bcf52f143c99cc46bba88da4bccbcd80bd5c0555be12ee0e3d00000000000000004da670be4321193d00000000000000009e4b59bee4c2cb3c000000000000000006232fbeec099a3c000000000000000042c307bee2ea6b3c00000000000000001b7ca5bd28f9fa3b0000000000000000f4e50dbde18b033c0000000000000000928ddf3a1b9e12ba0000000000000000e4108c3c2e4bb23a00000000000000000e7237bac8b2b5ba9a0e363b411c3d3c1486c7ba4fa2093cb667803c44dee33cce79bd3acff5863c023db33c1b0fdd3cd65eda3bacccbb3c8cb29d3c60f4c33c94ae0f3ca13dbb3cc6d9673c19ef823c2104e93be2a7a93c673b0c3ccfb6463ca0c3a53ba2b7553c76a8973b9a7a943b5880563b1efe103cec86e3ba456f863a9314053b1a00833af27c27bb58538ebb8a3f57bb9f76a2bbf6a19f3b7b927f3bbaaacbbb92fccebbccd39d3bad9ff4bb737578bbc9cdf5bbdec24a3be559eabc6ba86abbb291b3bb1267b4bb91412ebd14bdafba40b482bb240031bccc8b39bdbf14f3b907780bbb315253bc964324bd2e7f813a414107bb641d3ebcb009cdbc05cefc3a3d2a12bbdb2fd9bbb24972bc2557343b9788cfba229e38bbdcef72baefcc3bbccae996bd8394be3ce644eb39a43a8fbdad9202be6e9f0e3d9dc3343aee96d0bdc49a02be93dffe3c3cec503bfd5ad6bde4e7d9bd610fcd3c2fc3633afd9dbabd54259abd48e7883c3b7fd1ba9bfd93bdeb1b44bd94fb293c4cbc62bb5cbb2dbdb039b0bc6eba8b3be28a88bb136583bca4fa5cbb4098953aef3915bb0a0fae3b0075023c8822b139e2b737bbbf980a3caafc82bd45ff553eb3e48f3fa529bc3bf3fa2abdab0d793ea3308b3f5298403bce8853bce5558e3ec3366c3fcf16863b44b39d3ccef98f3e71cc343f9018f73b581a233d7bc7803ed674f73e6e7ff43bf414363df575513e4fb0903e36341e3c578c163d7ae7043ed6b1dc3dfe48cc3b38e2c73cc2116f3dd9f842bc3224b63b53dff83ab11a9dbb0aba9abd780565be58dc293d00000000000000007ad482be7917253d0000000000000000d30a6cbe7573ec3c0000000000000000e42e47becaaea73c00000000000000002d8f0fbec9a1363c00000000000000008094b7bd83f4193c0000000000000000169b15bd855ede3b0000000000000000bf82823b16d7b2ba0000000000000000659dc83cc80c09bb00000000000000001cd758ba4db593bb59a8b83b7c37ac3c84bacaba14562d3b76817e3ce856083d7ed57eb96660643c2a2cbb3c11800a3dcdbd7c3be1edaa3ceb36a73c8ebaf33c7df5f73b4e29ae3ccd72773c1261b53c8d72c43b35739d3ccca02e3c206c6b3c6cd9753b323d683cebe4503bf694063c600c5c3b189b063ca36e883af5ea0a397a6a8cb804e02e3a67bd4bbb8321d5bbdba0a7bbf0a5c3bb4f12883bc4dff33b6902fabb69ee0cbc2d73a43b310cd0bbe01aa0bb420909bc1d80ae3bbe6fd5bc3ded53bbdca8c5bbc1e2bfba979521bd6b68f3bac7a287bb74b405bcde5339bd3675e9ba942128bb6cee13bc7fa91dbdeb7d4b39dff0c0ba36b30cbcce4dcdbc47e9073b54c398ba2f2cbdbb62ad8bbcf230023b22bfcfb918ffe0b9924902ba6e56dbbb9aeaecbdf3b0d83c489a813be1b925bdbe2220be9b5b373deb5f1cb94e26abbd7dec1fbea6840d3db5cf8a3b7f8abebd420807bea495e63c24f883ba4526a8bda957c4bd2047973cbdce59bad19786bdeff477bd04d64e3c2d4648bb7c9b27bd0dd4e4bc3401913b2e08a0bbde1098bc04962fbbed81a4bad87f0bbb19d00b3c9d2e713c9b1044b7815e79bbc9a1acbaf8aa85bc04a864bcfaa5ae3ff53703bbab6fd83ba2c6303d67b79b3f2bbad8bbfe72c13c3766ce3dd77a883fe013a9bbc679423dd6010f3e0603543f86a5223aa9dd753d59fe183e4d66143f565b08bb033a753d1146073e7b4fb03e34b83a3bec1e373da345c63d5bfd0a3e5712d93a1011da3c592f703dd058cbbb2866a13bab46703b368ffebaade3eabd4d606ebed4571e3d00000000000000003de473be233d283d0000000000000000d5db60be9fa3bf3c000000000000000017a53cbe9781953c000000000000000013d210be32b5203c0000000000000000ef49b2bdde82f73b00000000000000007612f4bc4b408d3b0000000000000000d247783c7ae6e1bb00000000000000000803eb3c72ad97ba0000000000000000000000000000000000000000000000006c67b4bae38dd9b9a441aa3cf16a1f3d24b23f3b113c243c1c93af3cc15b093d82c6ef3b9ac78e3caf04a33c52aae63c9312083c548c863c1e07773c8a35b03c46e3093cbfe8803ce369213c322a5f3c1a78bd3b8ab2263c199ab53bcc5ab93b65b1883a305ce13b489c8a3a9d5f94b900000000000000000000000000000000000000000000000000000000000000007f313ebb1a4628bcb4fcd33b37b88cbbd3c970bb731be4bbf7f10c3b5ae6cabcad5e30babc2f8bbbffd5abbb13d121bd472604ba344f66bb7fc70fbce52d28bd9cd980bab8be00bbe7d23ebcc26613bde54ecd3ab9520dba28e31fbc6432cebcde188139f89956baf2fc9bbb47ca50bc000000000000000000000000000000000000000000000000000000000000000057cd28bd10d740be8d11ed3c79cdf33bdc408bbd5aac22be7bdddb3c41da8d3b2771a4bdca3c09be9e546e3c3c565c3b536092bd90b3cbbda8113a3ce57bf6b92cc261bdd0c885bdf2331e3cd98016bb3e0608bde08106bd95d3513bc0f280bb5df837bc0ff4eeba9e6c103b54b4acbb000000000000000000000000000000000000000000000000000000000000803ff5f918bcf674e23ce6fddfbd6748af3f3f37fbbb52c93e3da55410bc8d158c3f5976e1bbb7b0893dd3182f3d312d603f4d938abafe5f963d456c8b3d62c4203f857228ba29a6913dc080943d98d1c33eb23008ba285f6d3d162c6d3d2cb9303e47f9443b6cb0f33cd223de3ca41474bc00000000000000000000000000000000000000000000000000000000000000009c8634bea1c78e3c000000000000000009a415be0598a23b00000000000000001a0005beb219a8ba0000000000000000e74ad8bd54a749bb0000000000000000adeb8fbdfddae5ba00000000000000008d1cf6bcd4eb803a00000000000000009b34e03ba465073b000000000000000000000000000000000000000000000000000000000000000000000000000000003fa0113d1c32b73b94811f3cce648cbb3a08543d595b213bc6da16bb914e13bc611b673d8ebf0f3ac92f0cbc64c142bc932c443dd17ed7b90aa916bc684c2abc9bc4023d6f3c90ba9318cabb95d70cbc3306a73c690475ba99d894bb0c1a9dbb38bd853be9fea43ac1a30cbb8623beba0000000000000000000000000000000000000000000000000000000000000000bc9c41bc9710e7bba792debc89a7a9bddbd437bc601e69bb2bf0adbdd3579abd42f50fbcd2dbb5b9bbc7fbbd574d7bbd278506bc59a4003bce2cffbd889d12bdc8f3a8bb0072483be0bdd0bd985d73bc686c3bbb43290c3bca448abd286542bb1b0bc539bc3f5b3a3ce3a9bc5bebc23b0000000000000000000000000000000000000000000000000000000000000000982408be72f6a23cf64a353dacb03d3c98bebabd5e3e163db71e333dcc58133cddcf68bd83d6253dfd9e0f3d8646b73b16ffebbcac26113dc160d13c33b2f83a34fa35bc8cdef13c1cfb493c133679baced28dbbac29883c16ac713bba790b39a6dc25ba2820a63a936634bb7c99a43a0000000000000000000000000000000000000000000000000000803f00000000fda4463ac528dcbb245bab3f285300be2b62633d41bfce3dbf96893f01b71bbe6018e63dedf8183e55f1523fffd62dbe4069113e6db4123e8709133fa3fb32bef5870c3e87cdca3d1f6cb23e0c231bbecbace03de757483de38b233e47cac7bd4a5d6a3d2540edbbeb0705bba83119bd00000000000000000000000000000000000000000000000000000000000000008a9b87bd16c9b0bc00000000000000003aaadcbd826caabc000000000000000097d9ecbd2a404abc000000000000000075cdd7bd3c9a81ba0000000000000000e8e999bdf89c2f3c0000000000000000572af2bcd70bdf3b000000000000000004e7303c60e2f03a0000000000000000000000000000000000000000000000008870383933f6fa3b374b5f3cccc10bba1a7ebc3c0ec8ca3b7997483c401243bbe4745d3db69d073b8a58843a5415babb602d783d7e581f3aea5df7bb9d6927bceeea553db82c51bbadfb19bcbc840bbc5ade283d264de5bab1b20cbc70dcecbb2221c43c475a8eb9554eb0bb466988bb6d59223ce21eb13921025dbb5a551cbb62cdaebbfe13fc39815e3fbacc94b939745ae2bbc17d88bb082ce93cb71126bdf9a23abc5a33a6bbb6c3b7bbed2e87bd7fe458bcf37692bbdcf598bd1293abbd993f2bbc16480eba4463f3bd25f281bdc7f302bc83ccab3a153003be8a0818bd5475bebbabc1f73a7b69e1bd816590bc7f5569bb8697e83af9f694bd5c046fbb76b5043abadd01b8b55a11bd72c1863af68d2a3b4688adb6a85a0e3ce1501e3c57b5c9bd78376abbdb1aba3c0b7ca53ba72805be5389c43cb77a273d2516923b396fdfbd407a013d706e3b3db510033c1bde8cbd970a0f3de4601e3d6ccf6a3bebd308bd8d33063d2f12d63c081cef3ad7e49bbc1d1bcf3c2438673ceeffaf3ac44affbbfeb6683c6f796f3be5c6c43ac040033bec02bf3bf7d104bb4f70083b1a57b33baa2881bbd1c3fabbfb4e793ac7fbf5bbfe9f2fbee66fa93f1885623d71086c3cdc28d2bda5ada23fda15fabcbcab083d6788553d85148b3fccc263bde08ba93d666af73d6f56553fe369cabd39c8023e4314093e9c7f123f7b69f4bda942f93dc465d33ddc00b63e9169edbd4574d13d0965483d5607213e4b0899bd393b863da70c6d3cda80403c2a30b6bc98243f3ce25310bd2ab2abbdc42503bb54a018bd5186e1bb0000000000000000235cb8bde3bd88bb0000000000000000d5a104be7e3a4bbc00000000000000001ee507bea9006cbb00000000000000000ad5fdbd4794bb3b0000000000000000900ea3bd943a533c000000000000000029e711bd04492b3c000000000000000072300b3a22da8fbb0000000000000000f37fd73cf99d66ba0000000000000000cb1e59bb75f9b03b525e423c2c37cf3a9a52c73c19dee63bead2413c8b5090399cb2533d2c15093be9426d3b17b0a8bbbad5773dfaf6a9baf9a9b9bba4f8f6bb6b5f4f3d432f98ba1fcc0fbca9170cbce2892e3d27c428bb5212efbbfdd4edbbb25bc73ca2c9d0baef7a96bbe98eb4bbe892193ce0478c39139064bbca0d35ba274365bbe5f7933a546e98ba0b449ab824f0d8bb235e44bbe945f53c7358f1bcd49c4bbc7195c7bb1b5c14bc75f091bddaab5abc3cb3a6bbb65181bd9123b7bd84d339bc9a51faba3372debd662e8fbd70570cbccc289d39bb3cf2bdd31f37bdca45e4bbfe87153b9ea0d7bd1bd6c0bc35b506bb21bb3d3a721b8dbd6b24dbbbff7341babd0e9fb80ddc04bd4a44293be1939c3a0e6c223a0519843bb22aed3b1be28ebde69348bcca518c3c528bab3b4995eebd17b4a4b9c99d293d3f74143cb4f1d4bd89655f3ce3ef433d63904e3c2b1e8cbd49b0c53c6bf8223d9070f33bdad00cbd80afc73cce07ed3c4829d13b9723a0bc5da6a43ccd238e3c8ce4013b0143fabb7d875a3c88b5b33b37720e3bd5150eba2981673b52d639bbfbfa813be3bcb83bb4e83bbb44d59ebb1a4cb23895843c3b785f41be5b148e3f1070813edceb6e3c92dde8bd5bbc913fd751373eeb9feb3c0d63fb3c7f4c7b3f1762e43d8c4a923d93d1d83da478473f18cac23ccd11e63d1ce2ff3d8d85093f5635bfbcde67e13d66b3c93d7751b23e2d1e71bd3051c23dc6bf3b3dc488253e70ca51bdca09713dcd7cdf3ba1c7bf3cdfd4e5bc10587c3c684de4bc2a5066bd25ed2abc4a8490bd39e82c3a000000000000000093c304bed51d02bc00000000000000008c481ebeda30b4bc00000000000000005f3c2abe780ac8bb0000000000000000c52e13be48b0d6bb0000000000000000cd8cd7bd4134423c00000000000000005d0a59bd3dfc293c0000000000000000b9a6cebbea563d3b0000000000000000d01fa83cf54b33ba0000000000000000464923bb6819a53b6910293ccd756e3bede5bd3c9816b83b90785a3c8f22363b3e2f4f3d1c60273b2fd6773b7a0d1ebb9d44703d346adcb9275b5dbb5671aebb40d5623dc7b2faba750c09bcc2f705bcffe62a3d5a9a2dbbbdced8bb2cd6eabb7bf1cc3c8de0d1baff447ebb27f387bb20be1d3cbbe8983a7e2981bb19b487ba0fea94bbb38f473ac6dfb2ba6b94353a3496d6bb843c57bbb960ef3c945b0abd40ad4cbc92dee9bb0d5a64bb12ee92bd53f95cbcd3d1d2bb163277bd98f4b5bd673848bc2e7e19bb0e35cebd397c96bd1d1524bc25028e3aeba9f4bde7e446bd13bfb7bbfb5c563a7e6cd1bd608cc9bcd54380bbd2d5db3afd3790bd87b1ddbb945429ba3007b038386b09bda526553b49c9983a6c0b783ae1e5a23b30030d3c20c370bdbff8e4bc05098d3ca876033ca508dabd803ca5bc0bda2b3d48de563c9575c8bdd59c29bba098413d3a83863c39cf8bbd04c62e3c94302b3d27f50b3c2f4114bd8b89963c8ab8003d2308bf3b1bd9a1bc679c823ce47d8f3c13f5783b861c1bbc56c1333c117ac13b67e7ef3a956dc4ba6b0e703bc45086babf18063b10d7ad3bd3fe4dba1d1de7bbbec478b8a86794bb17c22bbe8ab16b3fcc38f53e458a0c3c7affd2bdcc91743f7554ce3e6b669c3cdd8e063d32e55b3f3ce6923ea9d8643db499e33dece92f3f9130273e512dcc3da290053eca50fe3e5691873ddcd3ca3dd739d03d5f32a23ec154af3bdc64b83d111f503dff541a3e55bcb1bc47026f3dd766a13b4c3ffc3c5793dbbc1f9a793cb0400abd37c542bd2d7ecbbc417cddbd9c4614b90000000000000000911634beecc2d2bb0000000000000000927345be43bbb3bc0000000000000000765443bede1c25bc000000000000000011b12fbee3179cbb00000000000000007f6cfebdb51d173c0000000000000000604088bdd8ee653c0000000000000000036a4cbcd1ddb43b00000000000000008b21993cce7f8e3b00000000000000001ff34dbb55219f3b3688433ce7ea813be547b93c6a81c03b5f754b3c97db8b3b66ae483d2c6f143b75fdc53b6d398eba834a763de9340cbac6e228bba29ba3bb296e4c3d23b289ba2262efbbdeace5bbe7f6303d71f32ebbeef2debbd04fbdbbed53d13c537426bb4dc757bb159a8bbbaaf3203c3f48a9b859be40bbac0ffeba4bb757bb5aa846386e16e3ba104d0f3a0ec6d7bbf43288bb9e3be83ca5a2febca54449bc6e2ae8bbe00c5abbba6d90bd3b3957bcd5b2dcbba48155bdc082bcbd24a254bc605545bb20dbc8bd2cbb9fbdc9c81abced9657386c77dbbd26015fbd2101debbd6f07f3a424dccbd6723e5bc1f3541bbd0b3cf39816d8bbdae3216bc001773ba6d71b23ae1fb06bd6b63243bff69e73a565c1d3a0ec45b3b64b9253cd72255bdaa3f11bd5e98483c531d473c8f18c4bd3b621abdcee02a3d5ba0823c336ac2bdacb787bc4113493d73ab853ce42287bd605006bbc599313d33445d3c3d7d00bd23e2fd3bf51f013db0292d3c1cd2adbc33d34b3c462ba13c3819773bdf26f6bb263cdd3b7ab0f13b4c0a213b4923b8ba067aa23b6fe174ba82b0383abfaa893bbc4bbb3905a4debb0c6c88bae3a0aebb0baf14be38d1343fa715333fdc768c3b5f31a6bd847e403f474d213f3603103c5449443db5a9333fdb6bf43e4b78363d7b2ffd3d1625153fb72da03e0090bc3d1b1e103e7652d03ea683383e1e6baf3d4c55ea3d4ac7913e817c953dcad9a63dc6f36e3d81cd0a3ea136033cbf67613d6f200b3c95b8f23ce9b2b5bc3615823cb7bc04bd5d1e20bd93a118bd115d0cbe322e65b90000000000000000bb7257be4d111ebc00000000000000005c5361beb99ed8bc0000000000000000a39d62be676a75bc0000000000000000a42036be46d8c3bc000000000000000019281dbe132c2f3c00000000000000007b8f9ebdc4de643c000000000000000061b08ebcd363e53b0000000000000000eead8a3c1a7a113c000000000000000069607ebb94dc8c3b54ba343cc96ee23bfc8b9f3c2e21ba3b89b3803cf793cf3b413f423d9991353b8825e83b0434a03a11f46d3d16dc2cba3df5b7ba5c8336bb63f55c3debf1c6ba05bcc7bbbc62babb3caa323dfd1b92bb72c199bb2806acbb98d9d03cb8daddba7b017bbbaa3860bbe468233c0dbfb4396c5a53bb5a58c9baf7c186bbcc884f3a9d0bbcbaf2056f39a7bafdbb25696dbb3009d73c4120cbbcfe3c31bc8e9725bc4571bb3a421987bdc1c266bc2c86f7bbcf663abd1b1abebd8c0f35bc92d8a3bbba70b8bd4bee9dbdf70a25bcf26f9bbac07bd9bd5d0a5dbde45ec6bb6acd45bad141c4bdf08cf3bc580888bb19088a3afcea88bd58c733bcae79d0b94181b939ec9304bdafc6a63a448d063b44257739e464763b83510f3ce5b637bdba8145bd8c76433cdc72503c632bb9bd06f571bdc31b2d3d1e0ca63c377ababdc9940ebd9bdd4d3df904aa3c8d258cbd848a6ebc9261363dbf3c723c9e1a21bdc7cfd03a56170f3d99fc1e3cd165bcbcdc05633b6cd9c13cf616aa3b323825bc9ddfbc3b76042d3ce022da3aa1d9e0baa0583a3b2e1bf5385af4943aab00c53be2ae6c3977faf2bb10ed61b930e87bbb1716f1bd3b30f83e44406a3f272d12ba30c35bbd5b0e093febe25a3f90da8b3a41da813d32d0093f22c62a3f6da4033d88a30a3e5875ed3e8e48ec3eef39893db6f11e3eae7bb63ee72b8e3ed1f5953d46a1fc3dd951763e60bc113e5983943d23848e3d30ecf23d4431293df670453d126d803c8e94ef3c7b6e81bce5f1683c2096e5bc395708bd6b743cbdc4ab27be80d39b3b0000000000000000dd6b75be79201ebc0000000000000000bdca7cbefab1edbc0000000000000000166e71be6f70b5bc00000000000000000d325bbec95d67bc0000000000000000c85922be51694a3b0000000000000000c9a9b8bd5d91563c0000000000000000551bc1bc5f121c3c00000000000000009e05613ce91d313c0000000000000000d2d6b5bb277b343bdfaf3e3c0474e93bc2ad913c3a7c943bba95913cf6b2123ceed6313d7178883b6b9e3e3cf72f1d3b7d3c683db1fec2bab95f343b855aaebae525573d4a89bfbab5ca7ebb97459cbb09552e3d2f55c6bab8a588bba75c96bb808dd33c27c9c5ba49ec50bbb64322bb53f62f3c9e90d9b7bac81ebb77ae97baaa9d4fbbdfcf113acb1aa9bac3b41dbac98aacbba7e298bb8808bf3c55ba58bcece639bcbe8921bc45ac983ac75772bdcbbf4bbc1ffd2bbced591ebde655bdbd6c2054bcb217b1bbc52ca2bd1e99a7bd250513bc5ab82bbb1e59c8bda79a79bd2c1e01bcd2417039d911b8bdd02517bdd42a96bb3fea1a3abeaa80bd91dc7ebcd8a880ba2acf88b85fa801bd85a040bab523ad3ac86dbe3a3e19c63a2d020b3c344212bddc4c76bdfed95b3c9cf0513c00a4a6bd4bcda3bd1f0a303d1c18a73c2dc3babdb9be5abdc535483dde8bd53c32968fbd8bb2e0bc35fc413d93518b3c923b26bdaae606bc50ca0f3df93e513c8e71c7bcaf1ad5ba1908c93cb7cec63bdfdb1fbcdaeb313b077d203c1e2c133bcf77eeba08d00b3bf9e5843abfd7a33a7855a13bd6b51c3be826a5bb00bf49bb9dded5ba09d9acbd6d7c833ee2cf8d3f13f597bbc49094bc0a9fa23edcc6873fcc0260bb4584a83d22f8bb3e08d4573ff9e5963c0e13193ef64db13eb7b51a3f747a703dbf8b283ea29d8b3e3434c53e2ec87a3d4e0a0d3eacf5443e1f6d593ec608833dfab4a13d211ec63d1e509d3de4b3293de06cdc3c710fd93cd7007cbcd5854d3c66cea2bcaedcbfbc0e1267bdf1b33abee5c4133c0000000000000000876982bed08816bc00000000000000009d9c7dbe286d16bd0000000000000000a6f37fbe1799ecbc00000000000000002ede56be5bb6eebc00000000000000007ba22ebe1174e8b900000000000000001078c5bd659b3c3c0000000000000000bebbb8bc0b87fd3b000000000000000008ad813c6a70273c0000000000000000b274c5bbade8823b3d45673c177b403cadc2593cbd4b553bfe58a33c63bc333cb35e303da979093b5ca0543cf8d9e53be05f643d3c0626b7ca8b7c3bc7ea1eb916be5c3d4eeb08bb321c2bbb814a70bb958e323d1bcd30bb17dd5abb37df24bb13d3d03c72ac6fbad29501bb76d02dbba6d4353c98d2223a45eb27bb71aa8cb933d4b4bb8302993a6be821bb585ac5b9bbc4babb6857fabbe1fbc53ca8072cbce36b27bc2e5544bce4e3923b48b048bd80d964bca40328bce9f603bdd1d3b9bd166140bc55b0f6bb095094bdac09b1bd3ebf24bcb6f12bbbdb90bfbd7e8280bd4df102bca23f90bac2c4acbd516724bd511377bbb74de9b973477abd295e91bcabeb8eba879385b97c13ffbc4631bbbb60cdf23a02adbf3a8d43643b650f3d3c2df129bdc9dcb6bdb9a2453c624f8e3c791791bd6e9acfbd4c7c443d5684bd3cf11eb0bd4ae897bd90d2573d64aeca3c842e8ebdbfb42abdf87b4a3d8c65a03c75b02cbd44078cbcbfb41e3dc0f2513c6996cebce5841abce787dd3c5e9cd33bc44022bc43741abbbcbe5a3c0870b43a6e1be8bad91f573a84eaa43a961a873a7a7c0c3caff58c3be326ddbbc21980bb53b61abc7d3d4bbd94a8613ded02a93f3b23c2baaf3e393c568fda3d8ba99c3f6bd373bcd6c3d23d826a5a3ef9727e3fb839ac3b99cf293edf64733ecdd9383f4e97243d1eb03d3efcf0523e346def3ee5a0383d747b1e3e6408163eaf2c8b3e69424d3d5fb0c53d6b3c983df417d33d7d8e103d387a223df8e3e83c0dce41bce766503cba8e9ebcbda005bd93c8abbd7fc22cbe8acc3d3b000000000000000047827fbec29a6ebc0000000000000000ea2979befc9930bd0000000000000000d6b976be08a125bd0000000000000000f1925cbed3e80fbd000000000000000049c52fbe0b41e2bb0000000000000000c209c9bd29c5103c0000000000000000e50d93bc7c25dd3b00000000000000005696783c0aa57a3c00000000000000000000000000000000000000000000000039528d3c3244003cfb6da23c8860563cad5d263d865cba3b4882403c333f993bdc1b5d3d9f90593be172293be95dcfb97225553d52eb23ba689c28bb27888fbb2915243deb9ccaba65b89fbb6ed910bbec2ac73c65fc10bb9332ccba492252bb96b5e83b2a8348baedd6e5ba53a49aba0000000000000000000000000000000000000000000000000000000000000000c3ff16bcf5a25abc7fafa23bd9f574bd827828bccbe93bbc3c5417bda702b0bdf61032bc8552cebbef3298bd64ecafbdb51705bc69fc8bbb131fbabdcfc385bd38eff9bb9ed8a6bac132a9bd1a5424bdebdb8abb1a24223a072071bdc53e94bc48db58b9bb2d4e3ac3a6c7bcb394063b0000000000000000000000000000000000000000000000000000000000000000d90badbd69a2e9bd65c3013de9d2fb3c6cd3a3bd328695bdb3d4303df6a3e83c853a86bd29ac3abdad22293df988b53c850f2bbdee57b5bce670133d63f18b3c8f47b3bce4843dbcc17ae93cf91d143c58b8e6bbc4448ebbff49703cce19343bf9b4963aec7a64b835da0d3b87c6f0ba000000000000000000000000000000000000000000000000000000000000803f2ae08dbc418e0f3d1ed72e3bc779a83f0117b8bb9c7bee3d8f9ece3d9248843fbece8d3cc690333e31b5173eb404473f0960363d7e5b403eae12093ebfda073feedb693d4ee6213e6e63be3d3296a23ef905663d6acfd43db3eb2e3de8a60e3edac90d3d1c670d3dbf6ec7bb4112c0bb0000000000000000000000000000000000000000000000000000000000000000e72a16be142137bd000000000000000044272cbe9ea188bd0000000000000000d8db38be6c948abd00000000000000003bc637bed72265bd000000000000000027db1dbef135fbbc00000000000000006911c4bd1da1bbbb0000000000000000ef850abd79d45c3c0000000000000000000000000000000000000000000000000000000000000000000000000000000059bd7a3afd7f64ba0d20b5bb121a15398d26ef39623292ba907a79bbcf86a739002e41b9ac63acba88173bbb8bb012b8cdf3feb9aae4a0babbe2b6baf4b20c3956f7e3b9a8d269ba21b599390e1b733acb140139bdad013a6cf81b3b0178d83a503eda3942fe923af71d6f3b27e3063b0000000000000000000000000000000000000000000000000000000000000000af2d013844248ababcaf55bb3d0a8dbcd41c23ba463b43b6b92c44bbf2a483bc8e022cba1ede0db806ec2fbb6f7672bc88cc9dba84f573ba8a9c29bb8c5561bc2189aab993c411b816b908bb908049bcc35676b6c8d94d38c2a504bbce5425bc6f613d3a88f8263952e8abba7adddcbb000000000000000000000000000000000000000000000000000000000000000026422dbdfab4b1bcb72499bb45d6bfba1d1a33bde335a8bc9c5eaabbff440bbb673829bd220799bca746adbb31460fbb04771cbdd4a586bcb514a3bb9e01f7ba1f1710bda9e364bcc1d5a0bb1b61c8bab34601bd071e32bcea819abb60df8cbaad0dd7bc8c83d9bb81f37dbbcdfd43ba0000000000000000000000000000000000000000000000000000803f000000003564143c01344bbc367b833f27ab6dbbe6100c3c073807bb247d5d3fb25d233b11dcfc3b004e263b783d353fa478a03b2401c93b19464e3bfe2f0e3f2f84863bde68893b42e1b03a26bbd03ea0de23392dfec03a06ce3fbbfbf2853e2868b8bbf6d680ba96f013bc46f8f33db5ab50bc000000000000000000000000000000000000000000000000000000000000000092a68c3c70032b3b0000000000000000ce296a3c777a413b0000000000000000ad0c3e3ced245d3b0000000000000000e7d20b3c587c583b00000000000000005bab943b60371a3b000000000000000072596a3af2d09f3a0000000000000000959a21bba645feb9000000000000000000000000000000000000000000000000051c093b1a92aa3a5b5cbabb83b1c0b914ab1e3bf9210f3bd87f91bbf26eb93ae255743a862aea39b09a83bbb404183a019a1b3a5d7021382ccf17bb0b6a863a317f47ba33e05cba280c90ba2e20203aa42cbb394e513e3aa6bdc93ac5fc093b6f71513a0e18a03a82435b3be5f82f3b42a56c3ad46cdd3ae40c983b92e93c3b269ff539407e8f3a4387703b1b9a183b952b863af517b9397e7941ba88b87fbca5fdad3abbdb9e3ad5870abbab27afbc6b4eeab9ac33d83ac5a632bbf3ef98bccdbf12b9c6c50db97ddb3dbb53c890bcda3594ba497d1f3bb467c8ba9f2364bcfb5a27396d5a1939280d01bb945c59bcf70a3e3ab94a8b392a4ab1baef6222bccd308a3a21a8bf3a33b4deb96ef293bb7bc59e3a4c709838dcc0aeb80ba874b92e3bb9bce3e287bc68c483bbf4d5e3b8d40b3cbd3458dabc7bd7e0bb3de6b5baf51c50bd64d8e4bcf63301bc47e32abbb1784fbdce14dabcd8d0f9bb9a281dbb989b3bbddb1fbfbc3ddaecbba5ab3abbf9be31bdcf59a4bc27fdd4bb1402f7bacfe21abda7f976bc556eaabb610c91baa817eebcd2a60fbc99fb5dbbb93318ba5c7a73bccb7df7ba2c53bcba3d8ef7b82069043c5c2d15bd68d9823ffc51f23dd2893d3cf05c0ebdd349733f1902e03dc245343c244c89bcde694e3fc997d13d94171f3c7b1218bcef17293f2bb2b33ddff8103cfb0990bbabe3033f89a58c3d622ea83ba777e8bb85b3c03e3595443d26bf133b073129bc5871753e1578c83c371cf9b91bb782bcfe69de3d9c52d03967ad08bbb9886ebc8bc91dbc94287bbc93038b3bb794be3900000000000000007403fb3ba4f1be3a0000000000000000c3e02e3c12147a3b00000000000000008392133c4d738f3b00000000000000008088a93b3bf65a3b0000000000000000ed14cb3a9c492d3b0000000000000000a3752abbc698933a00000000000000008426cdbb076408ba00000000000000009658babb45f6adba0000000000000000c847b43af90e933adaf155bb11f770389280953a37a5663a456185bb51772a3a8d678f3a6b237f3ab80a7fbbe32807baa854a138408bb839d03b25bb9b23a439fa95a2b902eb36b9529c83bae1a1b7390389103a02b69d3aae7044390f26433ad83691ba56e0763aa2150e3b994d093b3f06303a1356c73ad9f5633b2e81303bbd55e9398ff8323a82d56b3b6446363b32511d3be30b9839eb3d8ab955354abccd17083bde75cfb7cb5498baf4ec8cbc87b839b7c43f553aae88debab9de6bbc2d7aa439ac22b03955f60cbb5dc77fbcee0dbbb9dc226ab94747d9ba763338bca7e5a53a2c5359bae227b1ba8ec324bc852b3f3abc02b2396a988dba7cbdd9bb6888c73a524414393468b7ba90f587bb36c1fa3a1c5885bac0cc97ba511257ba83575abc8e8866bc04a6d9bbeebe11ba835803bd68e9d2bc8ea71dbc19308fba3a2f15bd1beed5bcaf120abccad1cabaa97d2dbd1cf5e7bcf4410ebc5387edba08ac12bdb0f9bdbc2cf9e4bbeb11cebaf00917bd13ccc3bcdfd7cdbbce7280ba8090ebbc7e2d86bcb6b2a0bb0df56dba9449c2bcce692dbc3aec38bbdb1b95b9637b38bc033e5abbafa374bae8a2f3b9c412dc3be9ca15bdbba95c3ffdf3843e6629353c31d71bbdf5e14e3fdbda753eddca1b3cf6daafbcea6e2d3f9303583e892a233c269287bc47b2123fc69f363e8c25fa3b8aa22fbc90cce13e32b90e3e43dbd23b33c740bc3df1a83ec5c7cd3d25ad543b3a5147bcfede573e79387f3d0cb2493adf2884bcd3a8ca3d6b26ad3c7b978738cdd656bce8266bbbac3d36bca118cfbb32e7ff3a0000000000000000f92f7bbb02428f3b0000000000000000578141ba1c30a73b00000000000000004800673ad88cb63b00000000000000009aabd1b8d6eb953b00000000000000005335a3bb3c35883b0000000000000000755cc3bbc63e193b0000000000000000d0b518bc35cc313a00000000000000004ef0f9bbae39703a0000000000000000fffcb83a2433a83a1ace83bbbcaf12bb234c50398c8fc93ae89793bb4a5a20bb66bb553ac1f8f639904b6dbb696ccfba23c754b9527aa638056117bb312137bac35b9e39c81b13b9ba4144ba20c3e4b8a84314374e6a6039f8b5f23926cc943ae2a0ae38fce71e3a2338fe3acde9f93aff741f394919543a50532e3b1d66113bacde833ad992c03a017d903a0c6a143bf6b9883aa3c0293aad262a3acc8a26bcb74e963a0809793a08515eb87aea66bc902c053a81e4d539676193bae28057bc5da98239692a61b9ff0c9cba6d4c40bc23b57939f683c33a6bfe10bbbe391fbcafac013a993b92b9fe9b77ba796609bc6c76a43a33767e39b80f5fbabd19c8bb17abb23a3c096a3814c23bb7b48f25bbee83e33a1afe8cbab4b905ba2032e93a65c10cbcf4923cbc114b02bce8f10c3a8a8ec6bc9b3bc7bcfaf738bc7708b8b86b2b08bdb052f6bc9a9134bc779bb5bafc8b10bd449cf9bc972226bcd475f3baf30f07bda703e3bc2ec026bc855943bb92b900bdad24cebc3d1ee6bbf82498ba64ffdbbc5692a7bcdb36b4bb734d69baf24ba1bc3f895ebc3fe442bb68f376b99cc135bc006379bbf8f71c3a5df1ac3ade8fce3bdb33febc02aa343fba92cf3e19e9293cf02a07bdee57293fb3afc03e03512a3cd281b6bc2fb6123f8e08a83ee43a213c620c84bcc5edf23eac128c3ef33f113c65b93bbc6ffebe3e5a0e5d3e8bcecf3bce0949bc9f058d3eba79213e43a1873b46a159bc2c7d363ef041ca3d95e7093be3e674bcae16ae3dabce2b3d0463c93759e73ebcaabc8bba4e44ffbb0ee97abc662f813b0000000000000000d5417abc5dbad93b0000000000000000525d11bcbb91eb3b00000000000000007893e2bb7fddda3b0000000000000000632e06bc692cc43b000000000000000047750cbc6a6c923b0000000000000000a73431bc400a3b3b000000000000000030974fbc6127913a000000000000000074b121bc9aeffab90000000000000000e1e9aa3ad8e9ec3a613e39bba3dc3cbb111186b8874290b81d3340bbf99c47bbbbd692341e9c80b8f2073abb58a31fbb6831e2383e2a6db953ef09bb87b6ceba78a145baab1d33ba24abafbaad3b62ba292db9b908f92fb9b8c0e4b7be2c033a4fccff37fe3390390566773a79cfba3aee0f0bb91bf8043a7bd9013b19321e3b84aebeb977b215b9ae30c83a5e32f83ab8ac303afe4df23ad67ecdb9d66005bc1e5b18382910a4b86fa94a3a8e653abcdafc343a5f84833914ca40bad1b620bc38c05a39b22d0a3977ea45ba4e1522bc01fc9ab64532cfb92def60ba1d36d7bbfc5d243af4f8cf39235469ba39eae3bbcde3923adaf7253989f32bba98af9bbba9e7e13a9c151cb81a779fb9a07723bbb0eca83a425d0e39034e8f3aea6c853ad6a6dcbbea182bbc4a9a25bc74b322bafa329fbcfd63c7bcf01b5cbc2134af39908acdbc6079edbc8dae45bc90adbeba8d97f3bcd95e07bdc97345bc9288c1ba308cb2bcc4cfc2bcf12200bc1b1089ba0107d8bcbab7e7bc6fd106bccd2a77bab846a6bc1231afbc35beb1bbc6d651ba7e757dbc68c883bcc26e23bb5aca2d3940a3b7bb2854b9bb299e923a21cb0638b9928b3b8d93bebc06dc0d3fedb60d3f1e010f3cd48fc3bc76f0033f4280033f31390c3c426261bca915e33e9db8e13e3d3e113c706036bcd5debf3edddabd3e92c6cf3b0737ccbb1c75923ebda1903e690fcc3b23ad1bbcaf5b613e526c5b3e5f25823bb26e21bc01fa0f3e036c0a3e09751b3b1d4e4cbca23d8a3dee617d3d418437baf69c1abccccc04bb7a9494bb227ec1bcaedd8c3b00000000000000008d5ec8bcb0fc0c3c0000000000000000fb9e79bc82cf053c00000000000000001dbe59bcf9cf033c00000000000000003a2a08bc8743b63b00000000000000002a6e52bc601b9f3b0000000000000000911e55bcf3713f3b0000000000000000c22679bcbc1be13a0000000000000000b85b47bcf24fa7b90000000000000000333f3c3af980ec3a8a2100bb379561bbcbdf543a65b4933afc2a24bb4f778dbb7f238eb8f61d5c390da1f2ba6c3661bb00ebd3b974ee88b9a641beba4fb60abb9367453accf50dbaeff163baf68c74ba2f68cdb8f58b743aa10cac3af2ddc73ae8fc51b8f8af143a2594dd3aad97123b5992b5382fdb363acba1fc3a8a21333bfb6d5939d4506a3a60b1eb3ad781103be9505db9ec24c43add83173af86f13bc61d4d23aa015d23ad965b538feec2dbce535763a02753e3a80594dba5f271abc84406a3a95f8033a572985ba34460cbcfd0a823a6a666e3a878447bac960edbb4c23293b0e9e86bb178e18ba3a96b9bb2f0faf3a971f4a3a135f9ebacabea4bbbc13df3a3dca01b839e4f1b927e72ebbd768c13a1f102039823aa3b97f3708ba1995e2bbb08a3cbc4cf447bcaeaaa339901499bc552de7bc391f8dbc5a54dcb91c7cccbcd76b16bdec2e85bcf2cbd8baf22cdabcdcb61abd44846abc4466afba17dacabccb270ebdadb559bc12c82cbbdadbf0bc88e802bde4990dbc4e198b39e8839dbcc946e4bc5a49e1bbbb2f4bbac38356bc3dd4a3bc207e39bbc7618e3805c0a2bb98e012bcad66393ac0eabc391714a93b736062bca656cf3e43d0343f5b66d83baa1976bc9389c13ead13293f1a51003c229bffbbf6a8a93efbfe113f0049fa3b5110b7bb49378e3e2b34f13e1a8eef3b947e91bbda30623ef8eebc3ec337c43b221dc2bb88c6283eca088b3e85a37e3b835e0ebc1f89d83d4b75313e013d113b26c436bcff53493d2c43a33d9398133aa0350fbc7f4620bbf68f94bbb19cfabc9a558f3b000000000000000011ce0bbd11c4243c00000000000000000b57c3bc9519263c000000000000000010e096bc7a4d123c0000000000000000a47375bcdc3dc13b00000000000000003a1d82bc14f2b33b0000000000000000041291bc61444f3b000000000000000005479bbc7ba4c13a0000000000000000683764bcd9ac92b8000000000000000052e0fd39c31ca53a2742bdbade0a98bb04a3c239f7e4403a925ec5baa700a8bbdfc2dc38bd2611b8563883ba16a251bbfdec1dbafc7aa8b921f643baeaa21cbbef09f5b9f18b35baa45abdb92273afba331906bace764fb999b7583a12a0783a665918b97513033a6806da3ade23b23a15ec65b98e60ad399219b23ac823933b26c22cb910af67394bc6793a85ee6e3b4c3aa23a6780293b7e5983397579d8bb9d790d3b8f69f33afc49b8b9cb3315bcbd9fcb3abf0d14ba319a70ba296af0bb69f0b43a80b0813af616a2ba3f13f3bb8c5389399285213914e858ba05bcc9bb1206ae3a3a2a6e3a5e42a7ba6588cdbb8fe5023b608ab53892de68ba9e6c90bb82c5503b47c3673896c14f3af371f1baffab263b3fc815b8bce58a3a2d7fecb84d7407bc11ea74bcd7c06fbc9849f9397efd9abcfd7a0ebdd37eaabcc5846eba7e27aebc63e31cbde78b8dbc581096ba5049c8bccfc634bd63fa8cbcbfcc45bb2e33a8bc034117bdf0a25abc951ad4bab544a7bc39021dbd632741bc5554bfba1edd79bc3108f8bc036de4bbb84eb3b917ce1ebc186dcabceea072bb7aa8c4b9812905bbe5ad42bcf693f739724f87387439413b0df5debb1805853ebb875c3f34229f3bff2064bb5815783e38c14e3f5d60c33b233d363ad0855b3e72b32c3f14aedd3b62112a3b23fd3b3e10c2113ffb07c03b2b9bb93a1ad8133e507de03ee673a33b845509bb2226de3d9fb6a63e1bc4823b5b198ebbb70c8e3d3907553ea995b93a43f014bcfa1ced3ca2f1c13d89a2e4b8951e03bc280faabb72cbd3bb250616bd90ccf43b0000000000000000c5501fbd2018313c00000000000000009369bbbca90b1c3c000000000000000025699ebc4829063c0000000000000000404d6ebc4ac3d83b000000000000000041b18cbc8f86ab3b00000000000000005b068fbc13d81c3b00000000000000004e88b4bcf23e5b3a0000000000000000152d8abc3f4eb1b90000000000000000d6a081388379603a1fd66aba420ac2bba464a63a1141e03ab018ba3aaa25a9bbc617a637b2bfc2b9b21bb9b91c1167bb7728a4b930f026bad854eeb8c09a17bb65a7883a2ca48abaafb288b9e1cda6ba1a7d76b8f38d7db98e2da43a4363c13a27483f39445be9398e41003b00f95e3b2f23083ac535ba3aaf7e953a3839a83bed9d0e3afdc3b13a5afd113ae8b6893b6d899e3a6ede093b3a708138cb7ca2bbdc22243ba4bf1f3bfeedcbbac0e903bc1e75bf3a11f3b63a43b6e3bafad2e1bb2185883a8df5a33a1ac3ecbaddb6e0bbc96be63998d897390ebf04bb72cf9cbb5512b03aaf92c8396ac5c5ba89bcc0bb52b51c3b5f24853a2446c2ba2f87b1bbcf58293bbbd3723a66482dba739479bbda29203b0029a5399a7adeb990e12abbf0e93cbcebc7bdbc1b3a97bcc7d645ba5fd1abbc8a903fbd63cccbbc921805bbb1aab7bc6c3d55bd90eabcbc2abb49bbe9cbb7bc5b7152bd657baabc4e7f33bb2da7a6bc66573cbd6afb8ebc15612bbbacb296bc46d033bd64586fbc2a6f11bb861370bc5dec1bbd18982ebc178bc8ba397f0fbc9bd4edbca1f998bb1ac81838458c2cbbe65077bc828e02397f51193af2419b3a116fab3b5276f43dc1cc823f7923233b22240a3cd97ee53de340733f5b9e963b2bac3d3cc685d83dc7264e3f24ceaa3b8754263c50ddbd3de4ae283f299e9c3bb613d43b953b983d9d93023fcce5933b849f5d3bd4d2623d47ccbf3e7f80413b105ea7ba40e5063d1548733e25ffbd3aebc1c1bb5c31203cf09cda3d3504213a6d9ac4bbf2f704bcf22738bc6dba12bd73d5023c000000000000000065f710bd44922d3c00000000000000006e3ca3bc1140273c0000000000000000d85256bc57970d3c00000000000000000aec30bc224fff3b0000000000000000428552bc9c67853b0000000000000000ae588cbc7fd3bd3a0000000000000000d570b6bc2ad1e2b80000000000000000ff7e9bbc99c9c6ba000000000000000000000000000000000000000000000000b6758bb919d64cba2d534fba12e5b8bbc019b23872e196ba584c1cba448975bb85d4a9b9a782b1babbbe84ba612c5ebb91f5bcb908b187baf3bd04bab53191ba242142b8e36cd2b9019638383e5b923944304839e803f3382ef07b3a0582093bcfb3f03923ddd939f828ee3ae67e6d3b0000000000000000000000000000000000000000000000000000000000000000f55cf0b661a6b43af37b83bacded93bb5391f6b99786d639b3b484ba5bdd8ebb791784ba2b7d56b9471481bafc1f8bbbbe9c37b959edd3b9f92a89ba6b1990bbe31618b90a0009ba8c9663ba6a1986bbaabb4b3a7e9bba39c3189ebad1ba8cbb7453fc3acbba393a897e37baa1878cbb0000000000000000000000000000000000000000000000000000000000000000a24a85bcb06f2dbd93cfabbc0bb747bb54f785bc411233bd85ee9cbc131d5bbb4f5380bc229a2abd95538cbccd2d40bbf2ee6abca7551cbd1d2b78bc8fba39bb877f55bc1e1410bd161555bcf8682bbbc1e92cbc3f73ffbcd35e24bc72e6cbba09c4f4bbcf37dabc2a00d3bbcb499fba000000000000000000000000000000000000000000000000000000000000803f47911a3b0f868c3cf2371ebb6958833fcc7f803b4b197a3c7ccbae3bc74c5d3f48f5903b7023533c85990b3cfa49353f33aa9d3bf4f81f3c2605053c49100e3f8344803b2c48cb3bb02aa53b3854d03ea51c193b57f3f23a211d123ab1bb853e7cdba13a499509bb6054c5bb04c5f23d000000000000000000000000000000000000000000000000000000000000000019735cbccdd00a3c0000000000000000919f8cbb7e87fc3b0000000000000000c05f31ba7e15df3b0000000000000000df545bba4a76a33b0000000000000000296062bba283403b00000000000000000a090abc982d543a0000000000000000cd6d7dbcf7d0beba00000000000000000000000000000000000000000000000000000000000000000000000000000000d52fbab95d3740bbe96fb4bbbc8a2ebb336f8bba8b254dbb27372dbbe4412ebb52bccbba199c83bb448e28bbf10555bb4fc5e439906646bbba5b41bb7eb022bb1b9740ba758907bba801b5ba3fd99aba23faecbab605553aac3fdcbae1855c398cb3503af7f87439efe8ec3af417a13a0000000000000000000000000000000000000000000000000000000000000000340825bbca44f6394a868dbba46b52bc6e4b37bb3e2e68b94d478dbbeb0f50bc4ae273bbe054a3bae60da0bb918059bc161d4cbbdb3e73ba19c479bb0c2136bc565b0dbb6a6f84ba54c982bb41e834bc7cd120bb944bcd3adb1e68bb56cb1cbc5c878d39ee29413aa9d85abbe25202bc00000000000000000000000000000000000000000000000000000000000000002209c8bc4ece87bcee32dcbb977081bb7930d4bc58ad84bc0a9afcbb6a078fbb27a0c7bcd8756dbc407711bc3800babb160ababcb43061bc4c3c06bc105f92bbb782b7bc5ec155bc96860abca2dd91bb4007a1bc05b214bcaca7fdbb053c72bb7f348cbc6cd00ebcaa95edbb37d45abb0000000000000000000000000000000000000000000000000000803f000000004f2a373c961a4b3bad89763fe8d40a3cf4dc313cb222043c7153513f684b313c2d603b3cbeb72d3c632b2d3fd6663f3c74d0153c217b183cf181083ff519103c94f4dd3bd660e33b269aca3e26b9a33ba44b913b05f53e3bf646833eafd41d3894e2183a70a450bbeb0bfa3d92fee8bb0000000000000000000000000000000000000000000000000000000000000000bef09f3c7c24bd3b0000000000000000c5af873cee0bca3b00000000000000005194793c07f6e73b00000000000000008282323caff0b03b00000000000000006bdde73becea743b00000000000000007676623b306a673b00000000000000003e5e88ba5e118fba000000000000000000000000000000000000000000000000e1db513a1504afbaa27396bb5cd801bba6617f3a651456bb3bf292bb46c6c9ba275515bafef34bbb38ed9fbbdcad53ba04d732baf2b93ebb6dcd64bbd726ffbad726a9ba5d075ebbf92636bb54670cbb776f28bb349199ba8128f6b91db2e6b91befcf39508b41bac96f863a6106573a8a9ca63a47c02a3aa56b373b4e710f3b99d12d3a00de283a113a173b0653073bbb615ebaef7a0c3a1d4a1dbb360f0abcb4387cba9d57a53a391587bbd06a75bc16fd3cbb0a721fb94a6cacbb333d80bc0ad132bb18430cb90f35a0bbce1573bc69b7adba57f2db390250a2bb0a5257bc98e600bb9f7c18b99a0334bbf9e151bc1e81c5b9a410153a78af88bb91b834bcfce2563a51b3b43a101a60bb04c100bca2db643ade1e3c3a8958fcbaee0464bb3c1a5abc130652bc5e48a4bb6c65f2ba08ecd4bcb84ba5bc07c60ebc774b89bb2075f9bc61feb3bc9d2911bc3878c4bbd9f4fabce724abbc98f130bc2c30bbbba5fddbbc51f095bc50d92fbc9fb9bebb29ebdcbc3b238fbc16512cbc7186aabb1a11c0bc302b6dbce55c1abc59b090bba54499bc98e023bc59f8eebb1b5745bbad2220bc07e089bbad0180bb1e02baba1d66063cdd1035bc1f58753f5e24043e301d503c3b50c6bb0ea55e3f734df73d1a6c6f3c6792ea3a30463e3f961ee13d7769543c568fc33be3051d3f41f9bd3dc558333cfd5fe13bf7d7f53ea668973dbc3a153ce7f17f3bfbaab63e4004593dc5769a3b8366fcb9ebbe6c3e3516f93cb4b7373a5d45dabb4461df3d722fe63bb759b1ba130605bcf7d4c0bb8e0827bc7db32d3c05cdad3b0000000000000000dd5c883c8b51c63b00000000000000009591943c7ceada3b0000000000000000a6c8723c23f1f03b0000000000000000c1ec153c0390e43b0000000000000000ab88db3b90b1893b0000000000000000a2c1f33a2678da3a00000000000000004b4d2dbb381659ba0000000000000000882687bbbfa9eeba00000000000000005e8d5f3ad017d8b9758760bb164810bbf76780397fbce7bac9049cbb5ed12dbbcbbb11ba105c1dbb70cc78bb8ff314bb14837fba11b339bb587a74bb5a8321bbe1f1b9b9964889bbcb751cbb5311f7ba7022b9ba6ed883baf4b620b98ac5abba66aa09ba96af7cba71ebcf39f873d839c1af8439dd41abb99b4de03aac01c13ac9c36a3a9e36263aaadd0a3b3a26eb3aadd71dba12ac0c3a55179dba7b270abc00dfa8ba8694303ab9e73fbb4ab951bce0b60fbbf0ca29bab29835bb37c93cbc358732bbb3ee2ab9aedb83bb60ff53bcd22108bb97c0f6b93b7398bb597841bc040f04bb32f4d8b9ff3b7bbb67cd36bc03e20eba7c105739f88654bba2bb08bc33b082394999303ad6d206bb26adf6bb2592873ac2679a3afdd3d3ba00ed32bb0ce80dbcfbe026bcf0e4adbbcbbab9baac2aa4bc507499bc39251dbcb26874bb8baab1bc115c98bc093b1abce8cc7ebb5579dabc6df5b1bcd5f33cbc598fb3bb08b8afbc7a088abcd9bc17bc34b88ebba747c5bc1e3994bc650828bc1fe696bbe9be96bc2e635ebc934a04bca46b69bbf02f88bc891d19bce6b1babb6f7f64bbafd7f9bb1d9c8cbb379d46bb43975eba48f4f63b139952bc4779503f8b9b853e62d84d3c5ffe13bc09853e3fb0ec743e6fbe403c7fdf87ba36a8203fb8f8543e3590583c65b93c3b48e0073f6bf1343ef7791a3c7f2c273b1419d43eb3a70e3eafdf113cd810ae3a87f79e3e3b96ce3d1b11a43bf6a5e5ba93a54e3ec12d843dcc3a343b5ecdbfbb5e86c33d6186d43c9a2b41ba5345efbb9a7a49bb89d902bc42516d3bb06e8b3b0000000000000000c85d153cfc77ed3b00000000000000002c851a3c9a7ef33b000000000000000085c72f3cd5a4033c000000000000000025a4c63b8407de3b0000000000000000d78d8b3b1b61a63b0000000000000000144b453807b9133b0000000000000000e81b66bbba685fba00000000000000007b17a7bb59649cba0000000000000000600fba3802c056ba235549bbf09d37bbbae524b96df703bb851393bb117358bb60dfadbac0d260bbca299cbb091583bb2a0d8dba807250bbe5656abb6ed031bbbe6212bb9c0202bbb43915bbb96ed6ba71e38aba7d300dbb0befc7ba49eb49bac975abb940a4bcba02c74db80e6e833935c9d13a823354bafae5783a734dc43a1f82f5b6e64766396dfbd03a7209c23a687a82ba2c9de9393d600eb94d18debb119caaba3dfc1e3aa50cfbba79b131bcd1812cbb560803ba9eed03bba4d728bc02881dbb627d70b9929663bb21543fbc1b90b5ba1f34afba051e82bba68f33bcfdb98dba1092b9b740c078bb317b27bc844716ba22a1a93916455abb59ef0dbc71349cb86bf5fb3adaee4ebb280bd7bbb19c813afb79323afe55b7bae29d1cbbf907cabb148209bce977cbbb388a70bad75784bc8ba990bc884030bcf92d50bb7006b4bc5819b3bc67922abcdd49a3bb1347bebc542cb6bcee4345bcc6eda9bb5ba7a5bc87559cbc678825bc4ac9b8bbe6d3afbc9a7ea0bcff1f2fbc7924a3bba21c95bc296881bc60f810bcefb385bbac795cbc8bca35bc8a5adbbb29f12bbb55cdc7bb747a98bba7cf26bbaca674bab7defc3b018d1abcac202c3f35e5ca3ed9eb403c1df1e3bbed711d3f0e25b93ee0d9643c77c38b3ab219083f846ea13e64ae523c62732f3b326ae23eb69b863e6b682c3cf43c3e3bd354b23e285f543ea7b2133ca296b53a1d57853eb3b11d3e2ac3c43b50a5f0bac7142e3e3a7dc93ddd503a3b5603bdbb6f96a73dbcc9323da0cede3810e1cabbbffeddba2788b8bb5928b3ba822dc23b0000000000000000f6210b3bd762113c0000000000000000be3de33ba7152f3c00000000000000005373c23b2362143c00000000000000001c61b73b3221dc3b00000000000000006f1d763a0f02b33b000000000000000001231fbb6f86433b0000000000000000cf78cdbb08a0343a0000000000000000ceeac6bb767815ba00000000000000001bb91839bdde58bae8fe57bb30ef3fbb8f7b5aba8f0f1dbb583499bb06c39cbb82cc62ba1f6830bb576f71bbd35c6cbb28d1c5ba127065bbfc1e7abbee8d42bbd021cdba9abd51bb653d42bbcf6f20bbad2b8dba76e128bb130604bb17d8a2ba55dd0e39473a2bba24a8c039edf3363aedb107b9b22b32baef62193aa7ac843aa3f24cba002f9d3a6a8c113be2f7723aab8b08bae5d1893a79caa3b99a4ebdbb8148e2b9700233b9acbfcab9888d1cbc2dce02bb7a9473b998fd1ebb42ac12bce65218bb61d3ebb98ab94bbbfa3c24bc58c922bba49591ba3bf326bbd08cefbbcd1bb2bac158ffb84bb269bbe14219bc93bb88397034123a557664bbf70101bcba35993988380e3958f019bb31d0b9bb29aaa8baaa3c473a60d4d73759234bbb0ce0afbbb8d902bc1fd0efbb2d7b8eba14a06abc95c681bcfa1f30bc8b0769bb17d68abcb675a0bcb97440bcd6bf81bb7219a6bccabbbabcf31354bcac6ba6bbfe1376bc986786bc1d1717bc7c307ebbb4589bbce5a1a6bc097737bc4cb39cbbe01f7bbcc0ff84bcbdd911bc68d591bb0fa43ebcb2cd43bcaed1c1bb4e7f2cbb86a283bb68f8c3bb4d7c78ba91bd83ba9db9dc3b1c5e05bc658b083f607e083f3678383c5decb1ba715ef83e44d2f73ecb5c343caccd5b3b5936d63e7669d53efb3f4b3cda5cb23b07c6b43e4682b33ee64e133cd29b9f3bc73d8c3ee4108b3e105f103c8a8e433ba54c563e318d523efedfb03b2b96d1b9c3c20a3e6e03073e8e49633be4bf74bba375873df79e7d3da1758537ba31b5bbf095d8ba23a290bb3e51c2bb7246da3b00000000000000001c7d41bb77a3153c0000000000000000ddb8c33a1ada213c00000000000000000dab183b7564223c0000000000000000d0d9f13ac665e33b0000000000000000595ea4ba76b6c93b0000000000000000476994bb9d643a3b0000000000000000a236fcbb059fae3a00000000000000004818fdbb60b3b7b90000000000000000729c7d39ad251bba343b2dbbdce076bb804aa1b94e3cedba876f71bbceb490bb65f9c1ba88ad5abb047c88bbbbbd8cbb8ab9a6ba8a2464bbad0970bbec8166bb58c9c6ba92794bbb019329bb723f14bb994b75ba50db1bbb5f83c9ba96c427ba1cfc4dba0eb4daba944cf7b9f0ea9739465bc9b818f218ba52344b3adadeef3a2d95fb3ae837c3b867b3223a7f41d23aa7d82ebaf459253aa6ad2eb92f639bbbe6d1abba9289363a8d84b1ba90720bbcfaaa1dbb2a18b83a34552bbb85fc10bcf6d113bbca12aab983a450bbc34419bcfab1e3babba28cb94c0225bbd05024bc11bf32baf3b1c5ba69d360bb7b4c13bcab408ab9654adb3a3c776dbb9ec107bc4e4e8e3a122c543a9ab71abbb04acabb4f87a43a36c79a3ab132deba337d64bbc9d0b7bb2f070abc018614bce85479bafef056bcca0397bcf3e06fbc22346bbb4e6a8fbc0f99c0bcd58673bc797799bb31089ebc31a2cebc777270bcb67ba8bb99339abc6de3b3bce54146bc9f8a87bb967c91bc3f02b7bcd44845bc71469ebb143b7cbcae269fbc38e824bc63a997bbe8e531bc260364bc9cd4ccbb5cfe2ebb2de0a7bb1b72dabb3b8421bb7b58a8ba91ebb23bbd7bedba18ceca3ebd0e2c3fe6f51f3cf1cc4d3b4caab93ee52f1d3f48d3353ca9f5003cd4eea13e106c073fedb63a3c4897153c1857883edb60e13e095b143c4373e13ba1b9573e44e9b03e303d0a3ce0a7a13bdf33223ef6c3833e4e80ac3b7d58e139bdaed13d56ce2b3e5da54a3bc79551bb8e37473d4382a03db23ec73aca6365bbd36f48bb85eaa0bb68c124bc0101e83b0000000000000000cec506bc9b8b2f3c00000000000000003a6801bb062a3f3c0000000000000000c0e5b0b90f1b313c0000000000000000e8ef023a8b13003c00000000000000008e8853bbac1fd63b0000000000000000386df2bb0b97363b00000000000000004cf92cbcf724503a000000000000000093b423bc10d6cdba000000000000000013c8aa391e33e7b98fede1babc276dbbad7ddbb9a06618bba6e65fbbba88a1bb2e9d96ba502f4cbbacd748bbf26e71bb4e17b9ba023372bb83626abbbfd864bbd05a8939cd9f03bb795833bb28ed3abb00b891bac50334bb7c5cc1baf74331ba579d2bba0754e2ba297cdeb96203153a5312a53901c0afb974fc523a71671a3b06a63fb94250873902e19e3aaf5c0b3b575ecdb9f08faf3a1a5c9cb96df08cbb3766cabae245fd3a40660dbb21b205bc9c3cdabaf2808bb9f8b30fbbd621edbb9d00f6bad1914039415561bbc5be15bcedf7d5ba576037ba76c06abb6c080bbc677d33ba0266f53960496cbbad6217bccde747360e0942393bf02cbb15acebbbea6fa53a8e0d9f3a09d726bb125edbbb8ec9a23a3a309d3a204faebabc8a5fbb0bc9d4bbf0c224bcef1a39bc4581e9bafb116dbc9e1ab9bcf33091bcbbee47bbbca670bc920dbcbc982270bca9618abb851896bc4276e5bcc08987bcae5db8bb08ed81bc384dc1bcd92a42bcd4c6b7bb7e698bbc63f7cebca04f60bc41a4b2bb213c50bc5ce19bbc23161bbcffaa6cbbfe5d25bc53c983bcb8c5dfbb2d0f41bbea7a7bbbff99f4bb556409bb9dd888ba377a8d3b44b0633b7d85853e213d503f1819f83baf97323c8134773ef7913e3f2665123ccaf0323c0ae9563e2236203f12872d3ceaf7403c819e383ee771073fdb31233c57151d3cc6e5103e9751d23e381f043c6daff83bc044dc3d469a9d3ef90da93b26b4413b42698d3d7e594c3e4eb9313ba394e8bac4a3fd3c0f6fc03d01c89439116d72bbb5c870bb30cf98bb0e5551bc982df23b0000000000000000b49e39bcc1fa4e3c0000000000000000998d35bb7e2f2b3c00000000000000005a283dbae6133a3c00000000000000004a5b4f3a2052f23b0000000000000000ca3680bb10f6ce3b00000000000000003584dbbbd915593b000000000000000077794dbc3b03b83900000000000000005dbd38bcea0186ba0000000000000000e8cf1039f2e593ba4f3f1ebbc1379dbb0b13113907360bbbc3de25bb168299bb9de489ba5c8e78bba0c668bbf5d58fbbb13094ba243180bbc6b771bb20c453bbc625d1ba55b072bb7a204cbb344335bb1f48a0b95afa87bb78daa7baed49a6b851636fb92f84dbba3f1630ba4a82593ac222e139e95ba5b758508f3a6c51493b166ecb3a26c1e037a5f5363a561b103b14478aba1d67b63af0df4bbade2475bb946a5eba639a023b89a11dbb3fb3e5bbfadff2ba7f800f3ab9e24bbba018f9bb281016babf79223958536ebbf9c90fbca9e116bb20330eba05e18abb7e3110bcdf0d90b71f0506ba681b6abb9c0c10bc0e7b813983f12b3bac3179bbb77e14bc1182eb3a53fcc03a360f41bb7aa3f3bb48b1363b05b3073bf04e09bba30c9cbb08ba06bc45c163bc2d325fbc408026bbf43275bc0845dfbc79bba1bc846faabb12df85bc767df5bcc8569abcd306c8bb69fc90bc0c9200bda5d799bc71d4e7bb975a6dbceacdd4bc1ee085bcf8a0a1bbbb7383bce1b4e1bc606c74bc4bf9b0bb1af648bcdbe7c9bc79b74ebc7d2eb4bbcdb421bc20aa98bc4e7e00bc5e0053bb9c4a98bb385122bc73ad64bb111104bbf1d7853b2266343c35ed043e7f04753f7279e63bb7778d3cf3baf93db0655e3fc04f123c8c249c3c7910e43db5723d3f17c8313c21548e3c558fc43d12b31c3f1f2d1c3c79bb683cc6a09e3d3133f53e3544f73b66ba293cab616d3d2e0eb63e4255cf3b8429973be4e5183d9ca66a3e77bd083bba4f63b98b025c3c1012dc3d18a2e5b974a149bb7230b3bb0636eebb690532bc76b20a3c0000000000000000839df8bbd001413c000000000000000028d9273afd83433c0000000000000000c7a6033bd937273c00000000000000009645163bfdbd0e3c0000000000000000af1b0abb666db93b00000000000000004d2fc6bb9a30d53a0000000000000000db6b5ebc020f38ba0000000000000000a2215abcf7ac09bb000000000000000000000000000000000000000000000000f9a7e0ba9f3f19bb21f92bbb523499bbcc5cfcb9fb0f40bbfcbd30bbc38a71bbc9eee3bad00087bb748c63bb43e17cbb0a990cb98c5a1bbbed8700bb2a06babac4c3a0ba229562bba1476bba3aba633881b59c3a451ffeba4d6c62ba40df0b394dd250396a71e5b9529d4539cda0f43a0000000000000000000000000000000000000000000000000000000000000000266150bba4b086b9241629bb6498afbb9ef750bbc96641ba988eaa396d05d5bbea942cbbca9783ba555c30bb5347c5bb180934bb7f7167ba397271bb2d7ae7bbc25be33911ebdfb8b64daebba610f2bbb67009b9829c7439f88b38bb529ce7bb10bfa73ac2738a3a00b635bb753aebbb0000000000000000000000000000000000000000000000000000000000000000b28e2ebcc9cdbfbce0f88dbce848b9bb66485dbc062ed8bc605686bcc6cc96bbea8551bcd9e6cebcec1477bcf35dc2bb71b052bcfe11c2bc4e3466bc0c20c1bbc4326fbcc050bdbc028476bc9917f6bbfbec2ebc6113a4bc5df42ebcf7d599bb866711bc2ad08cbc7a9208bc0a3877bb000000000000000000000000000000000000000000000000000000000000803f927dce3b9403a33c3104173c90f4763fba67043c8ff98e3cdc32213c4a4a513f181d093c0cef8c3c347a643c79ec2c3f2f0f093c95f2493c18092b3c5a81083f3193fa3b03343a3c69b5233cf9ccca3e711a903b26a8c83ba58a883b66cd833ebee01f3b53fe0a3bf63a95ba188df93d00000000000000000000000000000000000000000000000000000000000000000279ed3ab5ba273c0000000000000000bfa64c3b8b2e2e3c000000000000000003dcf33b1d02103c00000000000000007083873bf725f93b00000000000000003b853c3b814db93b0000000000000000b0ea3ebb8896d63a0000000000000000730515bc6c8176ba00000000000000000000000000000000000000000000000000000000000000000000000000000000adf7b7ba8e5e0fbb7eef17bb0d850fbbce77b8ba7ec516bb080416bb1a8017bb1ebc26bb080c6ebb7d376abb7ad565bb1ffdacba2105f3ba2e5d14bb96bbe5ba32f935ba3d3dcbba94b352bb8f0c49bb8cfb3ebad1ceb3bad0a992ba0e097eba2943dbb9942f8bba52575dba45f12aba0000000000000000000000000000000000000000000000000000000000000000fe0ff4ba742d64ba5600a1ba98e024bb9b6008bb899c65baa56c07bb63af58bb03f4a5ba84e28fb957b390ba739121bb575dddbab3ce8bb8a44fb9ba43bf36bbfde705bacaaf81ba4519cebafae739bb2dd113badaf62ab9e6ddf8ba94c43ebbd1d289b992020639e3c8f4bad5ec39bb0000000000000000000000000000000000000000000000000000000000000000d17e80bba01d58bbd2c919bb88b8fdbad8019dbb79f785bbb42652bbff2830bb358b81bb069659bbb54e2bbbfd6509bbe9ac81bb250462bb48573abb440228bbf35d80bb717659bb1d9835bb408310bbd47876bbe19456bb6a153fbb03d71ebb2af95bbbe91e42bb883031bbc8c110bb0000000000000000000000000000000000000000000000000000803f000000005d58bf3bfc62b23b9300643f33bbbd3b4d4edd3b354b9e3b118c433f09bc9d3b98bbbe3b9a90bf3b249b223f80e1b53bd8c48f3ba738833b5e7f013f72355f3b99e7803bf2847b3b0e36c23e5a663f3b56711f3b283d083b72dd803e9777903a4271993a22b3e339520fff3ded7b25ba0000000000000000000000000000000000000000000000000000000000000000bc61e93bacdb8e3b000000000000000039fcf03be457553b000000000000000029ddb73bb3da853b000000000000000026c95c3b83b5253b00000000000000003b363b3ba899103b0000000000000000cf10993a20795d3a0000000000000000d1a783b900594eb9000000000000000000000000000000000000000000000000ad30ecb9fbacb2bae4f7d4baa4e9c3ba0632b6ba8a651ebbcd2328bba9cc22bb3a25efbaf46b42bb5d9b47bb2f3d44bb3bbdbbbaca3536bb5ceb2dbb053126bb491badbad2bdedbabd09c1ba530004bbeb41ceba980a1cbb05c403bba686fcba9cc987baeb7be8ba5be7c6ba6242acba15951bba6a418dba043333baf723eab90781bcb776bd0dba8f1c6738272442b9832e8cba23b607ba42f752ba74e5f0baa5983cbace8645ba5026c6ba8dfb49bb0aad8fbaf39389baa21bddba9ae151bb98cdffbadbb44dbaeba6e8bae2ab63bb7b9feaba5441acba96a2c3bab40542bb4b1ac5bad1c096b9d30700bb744d6fbb008760ba6161d2b99a5106bb31f857bb54098e3923da45392d2606bb8dec47bbdb1e7bb931a51aba2bc1a4ba298cdabaef0b2bbbcf8c28bb2641eeba7bcfc1ba9a0492bbc78e85bb5ff53fbba70216bbe0ef9cbbfc9f8dbba59e5bbb4a1036bb0d98a5bbe16496bb182571bbc6be49bb6a2987bbb73a78bb2efa47bb7d5928bb8bb0a1bbfab290bbc84b76bb5fc14abb15df87bbfbcb76bb148c5bbb8f3238bb67dd68bb6fc153bbe3df3dbb8ab31bbb2527e7ba593cdaba327bc3ba0053a7bae347863b65bb413bae6e633f5b3d043e018acd3b45a7ac3b1f82483fa8a4ed3d6e8cd93be673cb3b4fc72b3f29cdcd3d0f65d43b9b88c93bad0a0f3fd8adac3dde79a33bfb28933b578ee33e7741883dfaf4963b812e893bd7ccaa3ec9ef4d3d23ac473b99ae1d3b907a623ec9ad053dd10eae3a3e0fb539bfdcdf3d37a4743c268ef0384c0131ba5bb694bac00cc3bacbe0aa3b2af24d3b0000000000000000ccacf23b7b3c9b3b000000000000000031c9e33bd68a9d3b00000000000000006524c53b44f88d3b000000000000000089cf7d3b2575363b0000000000000000f79f443b0f841a3b00000000000000003497b13a3747913a000000000000000008add3b9e7208eb90000000000000000099576ba30044eba0000000000000000ae7ed7397494f2b87efa0db9dc64f8bad19500bbdc0a34bb52ec33bba13930bbf7d37cba22e3eeba41f3e9ba60d5e7ba03ceb8ba833d2ebb5fd724bb290721bb6d0989baf1cb09bb8993e0ba0b0f18bb40aac5ba67781cbbce8d00bb0ea6f3ba982549ba77f4acba04e982ba741437baf47539bacb8371ba070f31ba845b3aba149cf7381e8ac2b967fb62b87bd689b846cdabba1b9b37b99d31d8baaf7731bba80816bb75baa3ba84ac57ba210c1cbbad96c5ba7cb735ba8679a1b9dceccdbaa7b5ffbad85048bad59104bb845b67bbaa5acebac0186fba1297bfba35b237bb9e36c4babacc09ba980c03bb578863bb5c1466ba697b35b9b9f131bb70cbd5baa4b139ba0dd02cbacff474ba797ff4ba32389b37f6220c382d4892ba546cc6ba5e044abb1b2c55bbc36f2cbb678b0dbb4b3362bb2c7a69bba3252ebba545f0ba643f2bbb363a28bbab3afdbace0db1bae9c5a3bb70b19bbb0a2f7ebb90044bbb74167dbbfa8477bbdf544dbb954d2bbbae7392bb89818cbbf02575bbccb543bbfd261cbb75f312bb551af9babe4fc0baaefc1cbbedde17bbfffa02bb210cd3ba0cedcabaf2dec3ba8ba2b1ba58e59bba75b3923bb530523b5e1b433f69be813ee179f63b28e0cd3b2a572c3f16e0683ef7e28d3b0b64743be897123f7079453e6909bc3b7e62af3b0d9ef53e1e4f263ec5879d3b204f8a3b4265c33ef53f043e53b2983bc019833b28df923e634ec73d3ef5fe3aab28923acc9c413e3314813d1c96763a93623fb91fa6bf3d77c3f63caebdc738b27a40bab2b05bbaa4dbb2ba9b774a3b995f813b0000000000000000e6aaba3bb4de813b000000000000000082ee8d3b981e553b0000000000000000bbbda63bc095813b0000000000000000298f693b0fbd373b0000000000000000f6753a3b1c0e263b000000000000000078652d393495e03800000000000000005c2490baddf25aba000000000000000049d991bada7e46ba0000000000000000440313ba52858bba8fc196ba602a88ba54aab7ba133018bb5f0511bb5e510ebb2644f4ba6cdd46bbd23a3cbb672923bba916adba563b0dbbbcec7fbb4be075bb68f5c5baec8924bbb69a1ebb825d16bb2d647ebac0e22cbb219907bb5cd1f3bada0f37ba825db5ba28e78fbadf0271bae2348ab955b383ba363e4ebad8782bbaa5eb55b717d58ab9026453b820d950b8e87b42ba0d93a1b98ecc20ba389fcfba47cad9baeb9cf1b92efa9cbaac7d2dbbc14122bb049bacba4949a8bae6642fbb917f39bb8b050dba3302b3ba564739bb5079f2baaba484baa919acbafa8528bb7cfd00bbafc4a4b90e7d0abbb28957bbead116ba6b58c6380ef503bbf22448bb72b401ba1c0108b834fad5baa3a827bb0977c3b464558bb91f8286ba7942bbba8560fcba86c00cbbf8cefcba4258a3ba04e268bb1e6779bb989c50bba5b511bb5e137cbb828b86bbcfcc5abbf3892abb3e0e84bb4a8d88bb4bb07bbb087c28bbc4fb66bbd9576cbbdedb4bbb317623bb5ea48bbb0d918cbb4a8d76bb6bd841bb956b79bbf3eb7abb158e5dbb543b35bb071147bb4f4940bb365f2ebb62120bbbad84c7ba9f23beba5f90a5babff88abaf362623b40fc243bc743223f9bc6c23e6b9bbb3bac9ea03b934e0f3f1a60ac3e152ad83b6d52c83b0041f63ec365943ecb25d33b6be1c33b2e5bcd3e65d7773eb967a73b5dc1993bf974a33ed638453eb576893b78046c3b0a3a753e6cc6133e31022a3bab26ef3a666d223e29e3c23d08b6c73a7b74e2394862a13dbd533f3dc9341739627439ba27d039bab0f694ba10ad5c3b83d1453b00000000000000008704b03b6d0d9e3b00000000000000008147c23b5000a93b0000000000000000f725b13b5a0ba03b000000000000000044c26f3b13b95b3b000000000000000038bc183bc4f6173b0000000000000000c6f0253a823d673a0000000000000000990b36ba839239b800000000000000006113a9ba06f53aba0000000000000000b5dd13bacbbda3ba0a7ca9ba3f9887bac365d8ba2f9a28bb09832bbb440e26bb4befd6bac5840bbb85e4e2ba017512bb83fcdbba57e8ebba7593e4ba25b4c2ba293c9bbaddb506bba7bcfaba9543e5ba310bf1b9bd7cbaba0332b0ba3274a3ba0e9049bad6ebb5ba3f50a2ba43598eba1c05d4baf45f25bb616e01baccece6b9302295b91eab50398a671139129c1939c61c1cbaafc07eb89ac91aba3383c1baba1b0dbbbe14a4ba9a9a50baaf970bbbc72508bbf44890ba2937bcbab39424bb018979ba989b72393a604bba022c06bb1957d2bae8bc55ba78015dba6fe729bb612b45bbb100d138b0447fb9db37c8ba61284cba0a3bc3b94196ddbac8862cbbfc8f02ba0a9db63a668102bb5b9135bb254076b8e102a9b9fc267bbaeb6890baf7a2e6baa4ac0bbbf5ff0abbf2e5a5bae2df45bbc5b06bbb4a0452bbff3b0bbbecf06abbbbf880bbb08960bba7b025bbf75958bb27b9b9bba3c3a2bbd42281bb19af2abb78863bbbc41b1dbb5abfefbafeae2bbbcb01a1bb7eaf1bbb27ce6cbbc6105cbb7a5463bb475650bbc0b520bb578fa4bb91a5a8bb02543cbb3add1dbb37fca2ba7dc2a7babd929bba74ee80ba41824e3b83763c3bdec5013f94bc013f60afc53b3b9bbf3b6d9fe53e1172e53e1780b53b3e27bf3b05d7c43e5f9fc43e7373993b96a29c3bcb01a43e29bda33ee7ea953b671e633bcb62823eed1b823e6ae9983b03f40d3b6544453e2074423ebc35333bd496133b3796023ece03023e3adb263b7b36d23ad75e833d14f8813d45a07839c42f24baa4a633ba704695ba5eb82e3bf7494a3b0000000000000000d90baa3b45adaf3b00000000000000002eb7a03b5e0c993b0000000000000000823f6a3bf54c613b0000000000000000633e193be1bd583b0000000000000000cbf5163bc8dd263b000000000000000057e93a3a0239953a0000000000000000cdc84939705d893a0000000000000000bbdbc3ba0fa63fba000000000000000088f010ba1e3b93ba789ab1ba51deb1ba5945c2ba878d1dbb052c28bb756417bbc833cdba7d242abb0db930bba7351ebb4217f7bafef36ebbb63ff2ba4c10eeba7d3710bbbe0553bbcea74ebbbd4a30bbf047a9ba363716bb5c9013bb8e4bf5ba75dd5fbab9a5e9ba2f5cd8ba50939cba26e032b909826dba7d7a59bac8b9eab988581cb8db05c6b92f7397b9dd6e9cb80f5f85babc3c98b9106dd6b9dac597ba3a0c01bbd75e92baedf455ba88cf0abbeb9109bbbd68b4ba7434f0b95c07dcba74b6e4bafda49cbaf54d0abb3d0b5dbbfb521bbb3379beba35475abac7f805bb3988c5baea4a33ba40c103bbb4624ebbfab159ba6c24af39c5e623bb3fa560bb67e1f2b982c842b98010ceba3fb115bb827f3db618523e39d02b89ba82dfafbabd39cfbabbea03bb654f0fbba09390ba3b1044bbbc0c78bb5e5568bb62420cbb6b153dbb55006fbbdea84dbb5f9b00bb834998bb1f88afbbad2c9abb7653dcbaadcd3ebbc07c9abb93b544bbf94607bbd5ca85bb66a896bb8f4684bbaa464cbb544786bb23ca8fbb03d182bb930155bbcb3935bb419942bb7f9d2ebb329708bb7dd2c3ba3c65c7baf709b3bad95a8aba6bb74d3be664663be6e1c23e1845223f8a3ab63be0cacb3b22b6ac3ee74f0f3f3ec7aa3b2561c33bba25943e9a6bf53ed62db73b527d053c32f0773e3dbfcd3ec3f6a53b1732ab3b581f463e0450a33e1475953bf3b18c3bcbde143e4be8743efc0a773b974e503b80eec23df70a233efe9ace3af78f343a5b76423d2620a03d1e847e399c73ccb9388717bafd0180bab0b01e3b16775d3b0000000000000000dd01923b3122ae3b00000000000000001e8a833b1557d03b00000000000000009cb2883b7a21d13b0000000000000000edc46c3bccf87d3b00000000000000004877133bda79303b0000000000000000ae3ab33ab03a123b0000000000000000f06b8fbafd3474380000000000000000dccdccbabb4623ba0000000000000000585a2dba7510a6ba24d5d0baf2f1baba6e4799ba70ef02bbad8016bbbe0b09bb77dcb4ba6460f6ba9c6504bb41fa02bb5c0edeba63803abb8f6e46bbc7f637bbc537f5ba64822bbb3d4b29bbac77e8ba447ba9baf36e23bb908420bb2add08bb8cd811ba094892bac44e88bade7824bac8fb77ba7b86c0393795aeba38ab5e3af648beb97e91f1b970e0bcb972166ab9a3be8dba1128c6b9ded2e7b9563091ba5638e1ba814a87ba60e27bbaa38affba420ed4bae3134dbaa3f785ba83c2ddbac90115bbc01d60ba59fdd5ba069d36bbff22d2ba4d3fe4b95ea5b5ba37d211bb6e4de9babcf4a13ad422f6ba486143bb5fe2b6b9169ca637cb29d8baa99e1ebbd94e2a3afd774a39d47d37bbe49c6abbcdd8f0b9d27329ba5aa95cba4502a0bacffbe2ba5d3d18bb154f23bbd9e7afbafb4446bba2e181bbf53978bb76f710bba03731bbfe5463bb323c49bbf17dedba5cba83bb6038a6bb16df8fbb7eda47bb6d4748bb5a136cbbb10452bb049214bb8faf83bb389c9bbb6fc585bb97b53dbb0d1041bb7fd25dbbe26d42bbd09817bb149082bb6d8f89bbb9c579bb5fc449bb6b14c0ba7a43cabade59bfba9f3c92bacb2d4d3b99758d3b235b823e45da423fe8b2a53bdcc9df3b3ab0673ec6e42b3f8726943be5cabc3b135f463e1cb9123f4ebac63b9203ec3b6ad5273ee6b9f53e699f923bbedca73b4143053e134dc33e24b8b13b1a8d613b7827cb3da9fa923e6824013ba7edda3a1538833dc072413ebe2ade3a94a28e3aec0d033d9f6fc03dcc20663a22966a39890a02b99f1948badae1143bda346d3b0000000000000000dfbc893b7521b03b000000000000000026ad7b3b1aa0893b00000000000000003e88993b27a9a83b0000000000000000a9ac4a3b7354653b0000000000000000a6a7393b24f9553b00000000000000005ad09fb8f14c153a0000000000000000f36344bba58070390000000000000000c1d0a2ba119bcab900000000000000009a8951ba777bc0ba4d32eeba7563d6ba5c4dbdbab97e1cbba5cb35bb1dd029bb6f7fbfb89fe147bb70b654bb747d43bb7273dfba7cd63fbb8b6e47bb39c02dbbb870e2ba84152fbb34f637bba4a009bb2f99acba26301cbb4c2306bbfe72ecba04fa87baa5b0efbac7fedaba24ec9ebab775a8b80b6310baf31ac5b997f27bb79807c8397d6390b947a4bbb93a7a21b92507c0ba6b597dba66bf09ba06e18abae96b14bb73e73e39238e81ba90e100bb058c28bb8a02c6ba280ca4ba945917bbd4a1e9ba4349aebae9bec5ba64f035bbc7fdf0baa3e412baaeaeb8bae70914bbf6ccd8ba31eabbb98c30fabadaf94abbbc4c50bae7adaf38b6a7f6bae8e33dbbabcadb3804c83a390eac28bb58fa60bb8f0732b98ada3a389dfb98bad8b5ceba5fd4f8badc2431bb96ef39bb7118d7baf10e50bb931495bb621089bb42b031bbbee765bbeb2ba2bb6bca8cbbe0ef3dbb27fd83bbddffb2bb82f394bbf5a44fbbb5394dbbd9cc82bbc76e62bbeed622bb825d86bb061da6bb5c568abb50505ebbfa136ebb58df8cbb4e8e77bb4a993bbb778981bb8a9a90bb72e905bbbf2bb6bafaf9ecbad7d700bb687afbba84d0bcba9fe05e3b08c0b63bff8e043e247e633f8a68ae3bb157013cd350ee3db66a483f4123c43bfcac043c1b33cf3dd7bd2b3fbbf1c83b1abbff3b5fc4ae3d850f0f3f6543953b42e1b33b53728a3d8788e33e93ce933b460aa13b655a523d9394aa3eddef513b2a7d463b36490a3de229623edb07b73ab277643aa64e813cd36ade3de50aca39ad1e37b9e03a3ebaec22c0badd03453b9dca8c3b00000000000000002cc59f3bb7fdbc3b0000000000000000d849b13be9ddbb3b0000000000000000902da53b3377ac3b0000000000000000f5c15f3bdc356c3b0000000000000000ff5e233b33bb2e3b000000000000000083db373ae5e4a43a00000000000000002472e6baf3fe27ba0000000000000000245903bba41f73ba00000000000000000000000000000000000000000000000033f39dbad72215bb2bb427bb2cfe1bbb96dad6bac12623bb372e2ebbadd220bbd457e4ba434837bb99ab3bbbd5e32ebba0088eba415e0bbbf4ff1bbb9cbceeba79a3b2ba7d121fbbf0ac20bbefb109bb8ba243badf98d1badbb6cdba0054a3ba18b53cb97d3a35bb10ec5fba23a01dba0000000000000000000000000000000000000000000000000000000000000000f99c07bb03f7c3ba7e4922baeb9ec7baf064ffbaa6b9a1ba6a907ebae943ecbafae8fdba4fdb68baac95a6ba99f90dbbc041adbad00f07ba5b3ea6bae74500bbab39ddba3628d0b9b15dcbba4c5826bbb9447dbab861d4bac64cbcbad7121abb6e068ab9b120923940a2d2ba1a781bbb0000000000000000000000000000000000000000000000000000000000000000f3ee28bbdc7f85bb12246abb1ec20dbb324135bb6b3f8bbbcbf967bbc0fb15bb25db51bbc66c94bb730179bbdba331bb08d938bb043470bb8d6b49bbdd690bbbdfb460bb26b58dbb171370bb89f336bb563849bb09c775bbfb655abbe30525bb584937bbf77b58bbb7b63ebbf25115bb000000000000000000000000000000000000000000000000000000000000803fff14a33b0ed3fd3b511ecc3b1e10643faf04a53b4bf3e93b16b9ca3b1131433fc47aae3b36acdb3b64aec33b5c88223f1c218d3bf00ea03b8bc58c3b5c92013fa508853bee88953b99e0813ba029c23ecf3a633b0e135d3b07083b3b8c1a813e7b22de3a72a8983acb98083ad0a3fe3d000000000000000000000000000000000000000000000000000000000000000053c1a83b0778b43b00000000000000006d1ca53b96b6a23b0000000000000000ba589c3b17bd933b00000000000000002ac9673bc030613b0000000000000000de11293b05d2283b000000000000000082c0b03a8b69cf3a0000000000000000c0e97fba7e0f67b900000000000000000000000000000000000000000000000000000000000000000000000000000000c11a16ba91581c3c2508803cd2c43f3c55e1483ab075473c91a06e3c07774f3ce5dd453b3678113c8a8f4b3c53c9333c0923d33aa17efd3bd76e283c37c00f3c4ac2d53ac74dcb3bbee2143ceb6fdc3bc095643a99734d3b4377003cbf78913b31bd17bae374ef39096ef23b00d981b900000000000000000000000000000000000000000000000000000000000000004ea9e33aa949f5ba931eef3976d2fcbc62c6503bc7879cbab9b94fbb51d811bd04229b3b3635fa39a313ccbb21d316bdf675883bc2083d3acea48abb068802bd0489483bd7c2bdb94ba46fbb810acdbc9bb1193ab7f9b239d7a99cb9ab3d47bc1a0c7d3aba25d7baebb68b3a3cb997ba00000000000000000000000000000000000000000000000000000000000000006141febde2f816bd7ab3433a54d39b3abebcf5bd0fc224bdb75e41bb973188bae069d8bd551c29bd5e6cb2bb50daf1ba2f8eb6bd47ed11bdd80ca8bb36e041bbc40892bdba09d7bce8644abb39af2fbaed7f51bdab015bbcb3c1eeb78c0ab6396dd7f1bce809f7b9153bfa3a9847c23a0000000000000000000000000000000000000000000000000000803f0000000082c0553c49af7dbd19119d3fe4e744bdab22373c5e68f0bc9e4a823ffe8f97bce76e143cd08219bca046523fd608abba913cdb3bf57902bbae20203f0a2c123b0418733b441a38bbb22bdf3e91f220badd889b3a30c709bc064f803e1d5518bc1f1c303a9ffe92bc0ab19a3d9c06a2bc0000000000000000000000000000000000000000000000000000000000000000d5b00e3c3a412abb0000000000000000471fe43b68c1afba00000000000000002b6b8d3be8e143b800000000000000002607fc3aba4f503a0000000000000000874d01bb671f2eb900000000000000004bbb5bbb5abfd5b900000000000000001a2f2ebb7c930c3a0000000000000000000000000000000000000000000000006a1f2dbbf680c13b74f7f33bca79a43befdb90bb87db473cb9809b3c03a8613c483b9eb9155c633ccf46a23c4fb26b3cc9ef8b3ab1734f3c1099913c8769663c38b0403bbfad213c1d28633c6362233cfd56823af20af73bde80593c61230f3c8e02fbb9f78e8c3bfd5f363c530fa23b1ad90cbb3147d2398a61c53ba201873a9e169eba2b6c26bb0ef71c3bda6efeba1ae3f3382f5fc4ba06acfd3b2428b0bc1c7d4b3ae45b8cbbb998213c0fafe0bcc6d5653bde1d5cba8809283ba46e19bd5f97a53b10dda2ba3dc5f1b985e716bd4726ac3b1621abb98dbe1fbb0a3306bd1f08663b744da5ba123dbab9222cb6bc77ff7d3ad36d71ba6060a83a6ba233bc5003d8b74de1c5ba7f0ce83ab27a803be2227fba8c9a3cba5c44443be78e1a3ce1518bbd63fa9fbc846b4dbbfd338e3b9d1202be6b0e13bd37c7fab9e94aa63b372a0abe978c4dbd42edb3bbe8d1e13a8529f9bdc08551bd000103bca0a2df374cc2c8bdc0ae31bd0650d2bb39c247b9e92ca7bd93c007bd8ff584bb4079b63ac32a68bdefee96bc43b46dba7d441f3b1405dbbcd4d426bb6822c53a07c41e3ae12e51bb70fd0c3c8bd11a3b492e033bdb49713c81b001bea2b29c3ff1e19f3deb2f963c881707be5c1e963f05bc8a3d39bb513c1a79a7bd10bb803f18baaf3df8e6133c798e56bd02294f3f53d0ac3d8764f23b476110bdc1461b3f1967943d7f50a93ba080f6bcb5f4d73e142b4d3d29b0c13b739a04bd6f90753ee995cc3c1933113c3ad9e7bcd6398f3d6bc0143b49ff853b1aecdbbc9f535bbdbeb7aebc3bbf8fbc83c790ba000000000000000001a592bc46b98fba0000000000000000470654bcf60b32ba000000000000000079c92bbc0f02883a0000000000000000f3f836bcd806bd380000000000000000132762bcdd6fb33a0000000000000000081958bce9b61a3b0000000000000000d5cd0bbcd2b2963b00000000000000001d5efabb4ea4333b0000000000000000ccbb53ba7f23923b66cca23bd0b6893b532de6ba442b283ce8f25d3cc5222e3cb77e3f3a708c1c3c101d5a3cc57f493c0079173b17d2383c35a3743cd4d6533c5f13b23a87f2b53b1b76593c8425373cb98b9d3a912dd73be3f4283cc29a133c0ff05fb9240e653b4c4c0a3c8cd8cf3b4afa09bb2bbdb73956d8a23bb5baf23a8ec69fba33a61abb7fb3e63a94e590baec8a973a03ca18baabfef83b2d50bbbc52ab373b1ad6aeba0904f53b2829fcbc0ee4e13b8d715dbaf68bf339a26308bd2ff8a43b7c96bc39252b3aba17430cbd62d8a13b209b823abe4f99b9b6abc7bc7fb37e3bab8e3cba2c76dd3978dd9dbcbcadb73acf0029bac3f0d03a97171dbcd586a9393ecd80bae561653b0efe303bd6b10bba96d87cba066a5a3baa08ec3b99bb26bd33da81bc27e024bc10a66d3bafd1c6bded3b37bdbe0949bc379cbe3bedcec7bdebf85abda76b95bcb970e23a02e4d5bdc7476fbd9f4062bc6e1c773a9b81aebd2f054bbde92055bc1d4687bae06392bdf9321fbde7b1ecbbc2cefc3a352843bdbb98cbbcd8a490bbe226123b2c6ec8bc5e8312bc11280f3be59df73a866809bbb344963b3fa33e3b0fed243b0bc55d3cbeb6fdbd9a13833feb2b843e8a12963c71a80bbe645c823fe6347e3ec66c6e3c386ea0bd5d68563fc9d9713e8f02393c4d8d8ebd9065373f36404f3e0945eb3b1a1c35bded3e093f1a50223e9addde3b062937bd8553c23ebcb2ed3dbbf1913bcdad13bd29d3643e11be8b3de03f023cbae816bdf0a1993d1b6da53cc7379f3bb3dae7bc3151f3bc9b3574bc114330bde2bc9a3a0000000000000000b7213fbd1f6c683b00000000000000002ca9ecbc410ce73a00000000000000008cdfedbc6d51273b00000000000000002a89b8bc6ff90f3b0000000000000000b4efd8bc2d22143b0000000000000000194cc3bc0dfd0b3b000000000000000048deb4bc33c0b23b0000000000000000842070bc9dc9803b0000000000000000f5b3a33a54d3223bc93b773b7b5d6d3b08e132b9cde6033c3fe2293c1f502e3cd596c53ab8082f3ca700633c3f2d593c48a8b83a664a163cc914523cbbdc503c18aa5e3bc7e9f23b39f7323ccabe2f3c74989e3a6afdc63b77af1f3ccf630d3c30ca0aba93a47a3bdd2ffa3bdd83b63b9b6c99b9e5ea93b9a69f773ba7ca6e3befd29eba4d5430baa842113af0fa4b3a1c670e3b35fc043a85e8983b1fb1c3bc0e08b13be34b0ab81cbfef3b4f0cfcbc9714d73bd8a4763ab6f7c63a249508bd569cfd3badc1963af63884b997e2ecbcc3e8b83bd50dfc3a20b681ba0fd7d0bc29af8c3b81142b3a36620a3ac5fb8abc53bf653be34f5839051b353becc701bc6fcc293aa0bd09bb64054f3be12a653bf9eed438e6b9dcba0b28803bb21db53bfb10e5bceb7c97bcaea995bce049793b900d9abd1f8658bd4ba4abbc65ec913b65a9bdbd13328bbdc6e5afbc2a6b033be01bb4bdedc687bdaf74a9bcb63d023ad5679cbd3f6e6fbd05d28fbc7699bab8782f7dbd8b533dbd115d53bc140e0e3bc82e32bd5e70fcbc851fa2bb7ca2293b28f9bebc715e50bc0e4a333ad078893be9ce33bb388ae93a628c6d3bb97a773bf5e0183c0e14d1bd0443553fb714e63e26fa883cb714f6bd5a11543f1839e13e9b5c563c6b6eb3bd83d2393ff19ec93ece182c3cf0de86bdf6ba173fd13ca93e5170023c270d53bdd062e93e9864853e6811ec3b17733bbdb8baa43ea2c13d3e51b4bb3b043231bd0033433e94a6e03da4bffe3b943d28bd8e81933db35b253da0ac6a3b157defbcc70791bc3a6a6cbc623d80bdec7e993b000000000000000012ce92bd701ad73b0000000000000000285566bd46f7c23b000000000000000021ab38bd51cc923b0000000000000000e7621bbd9bef403b00000000000000002cba11bdfe59513b00000000000000004cbb10bdd544493b0000000000000000f76700bdb8acb93b0000000000000000a274bdbc7543df3a0000000000000000f14a073a87574a3b49894f3b68da653be3e3323af91eef3b6e9a073c6998293c6bc4933a4e6afd3b6762383cfff93c3c6cbaf33ab875fe3b8177453c1cbd4f3cd7bdec3a9a42b43b7a5dde3b0c39f13bab7bb73a7e2e943b347f1d3cb679163cb06806b9db3d673bc852b33bd2aad33badc752baf275b7b9182b7e3bf43e613b502b6fbac37288ba95b35b3a62f13c39556b2b3b54a94d3a175a873be514b4bc371fc73b2160a53a8d9f8f3bd924e6bc1e7bec3be6d0b93a1c992639244bdcbc4bbe0d3c6b7f0d3be86af3b9656dd4bc481bb33ba1bf963a4a3232bbb4049fbc4c67b13bc97ec43a820ad7b8907474bc469e2b3bb23f06ba32cddb3af2c3e9bb2e94323ae7fb74ba774d683b1a68e539d9da21baf8f53fbabaed733bf894933bc593abbc9e5eb2bc2c1dbcbc1065863b276971bd668d74bdc440f0bc4350b13b1b3991bd93ce92bd4ea0debcc73b0e3a0a5699bdb03d9dbd5941dcbcc555f8b924b059bdaae15cbd4d9fa3bc7f6c00bb42845dbdc57f5fbd6ed868bc4340653a05600bbdf5cb0bbdc16edebb5573413bf0948ebca2e98bbc9e482e3adbcc823b3a1780ba3c9494b9919a953b01e3933bacf9c73ba390aabd2a41243f2667243fdf0f493c0e36bdbda43d213f5229213f9ffb1a3c9d5b84bdf45b0c3faef90b3fdbb40c3c1d2d64bdb08bed3e2d3bec3e40f5d13b0c5902bd192fae3e9287ad3eeacfc63bd4bb27bdaa02843e5439833ebe99a13b458612bd26551b3e3792183ebaebb13bd5dc0ebd4d86723d58296a3d6fd3513ba9cadebcb6a95abc9b8a72bc5fafa9bdfda9d13b0000000000000000c8c1bdbdbdf8293c0000000000000000884d88bd5583093c0000000000000000bc1a6fbdf55aee3b0000000000000000a68f0abd7ae0513b0000000000000000350137bd438c803b000000000000000031241fbdf4e2443b00000000000000009a5c17bda2fcad3b00000000000000007290e9bcf932233b0000000000000000956a99397561fb3a9ba2263b92d26a3b926995b97aaad63be066163cb90d363c795e8a392945db3b97a25d3c193f753cdc56193a3deefe3bca89403c12ed593c78f5d43ac8d3c63b9656233c52e8483c84277fb9b3e4bf3b68b40a3c8e051f3c8c297bbafcee4a3b330ed23b7e3df83b85aaa3ba9371853aff81143b505e9f3bc9f337bac88368ba4840a1b9400ec23a91b9833b6d77233a5f52a33b4f6296bc8904f33be7461f3a5a1f9f3b0586b7bc0f6a2c3ca747913a2ec1dd3a2373b2bc5d4a103c30d8df3a9f41b2b8e586a6bc640fee3b7e9f383b4f64bab9d5d995bc5ae0bd3b8b5e3b3abcaec9396f0f36bc36c11a3b8fd43439c100383bc4b4b1bbd9852d397585d7ba758e4c3b18b2443aef130dbad7d2abba12e1563b5560763be3798ebc598fe5bc2498cbbcf848a63bb46e52bd19da97bdfa4107bde0facc3b1c6e86bd60b5c6bda03f0cbdb63b853b524986bd4b1db2bd6f90fcbc05391d3a89376cbd7f9b9ebdad13d6bc40d396b9fdca3cbd8d0a7cbde9318dbc0f75023b290f00bdfbe12fbd1339fcbb9b22733bdc115dbc51e6adbc1ae1193bda566d3bfb097b3ab95c2abbafe2bc3b98a88c3bb9b59a3bb02280bdaf2fe63e7a1e553f02bef93bcfcb92bd5763e13ec52b543f8858f73b38e15cbdf9c4ca3e08bb393ff128cb3be08d30bd1bf8aa3ef75d173ffca8ae3b9a9009bdedf5863e7b4de83ef871a93b922a0cbda029413e2880a33e4fbfb03bd1b00bbdeabae63dd43d413e5090d13b9e3bf4bc274a2d3d54838f3dfa652f3b8e1fbbbc73b349bc806697bcac39cfbd368b043c00000000000000008b69f3bd6d77723c0000000000000000b3adb6bde52b353c0000000000000000be2c8cbd1e19023c00000000000000003dc558bd4ea2a93b0000000000000000d3f647bdd908943b000000000000000032a43bbd538fb63b0000000000000000eb0228bd34d4b63b00000000000000007048ffbce66f693b00000000000000008cc062ba8e950d3bc84f5f3bca9ed93bd6a710bb82c3923b57f31c3c0a9c5e3c9301c53927a4c33bd3622c3c8812743cf9a62ab9f03ed43b07cb4f3cdeda7e3cd750883985a2b23b1ef4133c0e673c3c3ed505ba8a009c3b5c2a033c12413c3c81ef113898dc513b3500783b5cdc283c7ed7cfba7d1e4f3aa6421a3b0be1a93b485b78ba4b53d4b9adddb3ba7ccffa3a7aef983bd3568abaa9c7913b03203ebc16642c3c2347c4ba873cc13b98f565bccd51173c72b6a63afc590a39f84a82bcdec8253cc427163b5980adb8673572bce5e1093c1ce4033bdbda08bab95741bc9276c53b5c672b3a6210873a9a560abc79c7873bf68af0b9cc24823addc7adbbb271a6b9210e0cbbac28223b7bfd8a3a7a35f7ba63f5b6ba52cf0e3befbb193b519976bc59c22cbd1dd0d2bc36f60f3c153c31bddd39c4bd587306bdd282063c6c865cbd2d44c8bd40bf11bd04e1023b9f406bbd67a4d7bd8c7c0bbdc597553a55463fbd80eeacbdb375ddbc63d5c4bacfb521bd376390bdd1f2a0bc298d223b55c1dabc467549bdad2d37bc76a3853b115611bc6240c9bc1868183b54bf923b55468e3b7822e0ba7a20043c0b66723b1d21663aed3f34bdee88843e1c41833fadbfa03bccb13cbde6ea7e3ed924823fcc6d953b7fa0e6bc5755743e3d46563fa2b6843bad4adfbc580d523eedf8363f25f79c3bd47eb6bc5597253e6213093ff49c943ba5a8c7bcf0f0f23de86ec13e10661f3b61e7a0bc73de953d170f673ef14dcd3be257babc99edb53c774d993da014a53b42d484bc282c6bbc1f2beabc0766fcbd63c0583c000000000000000089a90bbe3696953c000000000000000061f8a1bd2acb383c0000000000000000793391bdfe1d123c000000000000000053905cbd00a80a3c0000000000000000a62e43bd4719a63b0000000000000000df0029bd2e98d23a000000000000000006e223bd22ed253c000000000000000026c8f8bc7edb963b000000000000000054a79ebad6f455382704873b5f69013c5ec16ebb56b0143babcf423cf1e6a03c9e0a03bbda45993b1f65653c7b2baf3c6b7669ba8f6fc53bcf5d523ce9ad8b3c1c56b8b918a7913bacce383c82ac7a3ca89291ba720f653b1fa1f53b8446613cb4c5f3ba5c38253bc33ea53b062b343cde0104bbd799fb3998f0393a5dc2cf3b05dd3eba5e1e8bbab87707bbdaea153b66b6c03b79b03cbb6cb8a03b02459bbbd886463c12d895bb5ab09f3b40512cbbcd135d3c37b65cba885eb93a26fc05bca41f573cbaea8b3a3133eeb9e80b0fbc04e01e3cd2f6823aebc94fba25d30abc0d9eda3baa23963a96a2083ab3fd63bb03e2893be60fb4bac6a0dc3a3b324dbab6f4c4b9d20c12bbeeb1803afeb6fc3a1e62cdba9d7be7bad195f43ae6aa4c3b22ea93bc996e86bd6b8ebfbc11d3043cc8c40fbde16802be685deabc0f9c3f3cfd0b46bdf4e00abe27241dbd6fc0813b1d1c49bd3706f9bd0ceb22bd49eb0a3bf5cb30bdb642cabd97e101bdf6e7e0bae3c202bd2c5aa6bd48c1b8bc6ebdcc3aacb598bcf0d669bd091221bc7bd23e3b599e5dbbf7aed7bc78e2883bf514193b8245e53b8ad72fbbf1121c3ca8fe463bc75297bade3f95bcd27d9f3d36949c3f14671fbac62890bc9aad8b3d7224963ffad66b38e2492cbcc60bb23d6dc3803f0a12b33accb316bc74afb23d6ae74e3f3ba0f53aa74105bc02c79c3d462f1b3f3a8daf3acbdb4ebcb4875c3d038ad73edd4f6b3b4de669bc9f30e23ce68a733e2861bd3b67e228bcfb04813bd0bb8e3d2a904d3b1d521bbcf5269dbc43f356bdda8a01bed4e9753c00000000000000009bb506be34378a3c0000000000000000955daabdc1de343c0000000000000000da955abd613cdc3b0000000000000000ae4a19bd396dbe3b000000000000000062fa05bdb3aa343b000000000000000046ae04bd06258c3b000000000000000092acf3bce5f2113c00000000000000002c3df8bc8eb8b13b000000000000000000000000000000000000000000000000cfd81fbbae15883be6e2123cd7f0803c8f2e8dba71008a3b7b14473cefeb553c1ddd78b9d7d08e3bc6f1263c7199573ca7e39b3928958a3b9d76023c86541c3cbe414dba3f71723b463fcb3b51f21b3c4da055ba32d6ef3a6b42633ba1ae063c33388dba97c1bd39aa5ac33ae665ce3b000000000000000000000000000000000000000000000000000000000000000063714a3c712c22bb76cd953afb0c07bb45bc333c4602c43ad8f934bae1efabbb11000e3cfcf9263bf0830fbb2a85d9bb881c0f3c119c203b610fe0ba540181bb812db03b6364eb3a943905ba2d6d72bb3cb9673b5c00083a81d0f339998d7fba7cc6713a621ea0ba31429f3adb3de53a00000000000000000000000000000000000000000000000000000000000000004b170cbd2e84fdbd05ba0bbd1221333b15d119bd4f49f6bd8cb00fbdd09607bb376f20bd3d3ed9bdf18617bd7bccb9bbf6d413bdde89b6bd6c0405bddce2a9bbe76ed3bc2e7d93bd7effc7bcf60344bb17dd65bc10c857bdfe444ebc8ce39bb967f206bb6ea7efbcbdb78eb9c7e0e33a000000000000000000000000000000000000000000000000000000000000803f9fed07bb8424283cbe0e44bda7329d3f94191f3a5a18173c62368fbc6269823fc334c53a6e79023c89d9653af55e523ff1cde03aaac9553bf616bd3b889e203f2b93f03a091c4838a3a63e3b9f99df3eab04d33a36e0eebac3c4a0bb65cc813e24a8be3ac47085bb27a186bca4599c3d0000000000000000000000000000000000000000000000000000000000000000c6a57ebd4da93f3c000000000000000043e8fdbcdc19143c00000000000000005aa536bc7c74db3b0000000000000000028fb6bb8889523b0000000000000000540ce6bba4d0fa3a00000000000000007d5041bcaa88433a0000000000000000b007a8bc70abd63900000000000000000000000000000000000000000000000000000000000000000000000000000000595e053b4935043c4cc33d3cb78e1e3cda27683b1106123c8510463cc3742c3ca3c4923b9528053ccf59323cccab233c3998823b6e7be43bd172213ca0fcfa3bec1b393bd175bf3b8e76123c5272cf3b0c72d03ad3b1513b8c70fd3bcd6f433b4ee11fba9402bb3ad2e7a63b5e0bc83a0000000000000000000000000000000000000000000000000000000000000000d77e5d3b5e3203bb9258b6bb100b1dbdc91d8f3b961986baec5123bce02f26bd4118a23b6217f7397bf55abcfd272bbdf55f803bcd98833af50451bc909c13bdbad24e3b769958b9a51c10bc2be8ebbc816bd73979133cb943261ebb41e48bbc89de2ab9f20dbdbacb902e3b96f9adbb0000000000000000000000000000000000000000000000000000000000000000ecaec6bda1132dbd88fec8bb8ad0f13a701cc5bd6dde30bd729116bc89e3b1ba13beb5bd9a2533bd625349bc4e1d92bb857998bd702117bd25722cbc18dc6cbbe8fc7bbd4c2ee9bc9e84dbbbf70f9fba600839bdbac580bc922976bae429b03a380dc9bcc64787bbf0d6423bb2d3573b0000000000000000000000000000000000000000000000000000803f00000000d9e9463c4eeaf7bcdf64953f675f93bc4f40673caa22a4bb2121783ffe90753ae7905e3c2caa0e3c71a3493f8a804b3c5fda323cd19f1d3c963a1a3ffe2b213c429bca3b0a3c763bbd9bda3eebe78e3a6123363b586ab6bb950e833e7efc25bc74ad26bb3ce2a2bcb5dfb63dc84fc6bc00000000000000000000000000000000000000000000000000000000000000004c3f023c9beb5aba0000000000000000a902fd3b0c0e14b9000000000000000079e1113c80ce0e3b000000000000000092b7883b503521b800000000000000005b3995bac0cbc2ba00000000000000003959bebb006786ba00000000000000000604f1bbc0b502bb000000000000000000000000000000000000000000000000c51a8239f020853bdcbfaa3b584c6c3b56f731b95162213c27b05c3c1344283c7588573b2af62c3caa46803c52cc4b3ca3558d3b71a72f3c7dca733c0c8b3e3c7a965d3b2fcfff3bb800573c80d62e3cf182413bd87ac03b5b68403cc7cbd03bbade223a7b147e3b6f700b3cfbab973b2e8d94ba12dba13af0ff943b121b993a2df59dbaabb9d3ba1323013be11993ba09b9b33a8228deba237e733bacc4d9bce7ba303b065592bb9caf893b041714bdd02c893badec13bb1298eabb9e5c30bd6961a13b5df85fba7d9526bc35c930bdb7e5963b90193fba651d1cbccfd613bdcc5d6d3b8185aeba9b7bbbbb1d9bd9bc2f44013b81b305bbe7dd023a89db83bc4c7ba63952df0fbbc3bb983b9bd3a5bac9c060ba66d08abaabc6bb3b80aac13bc5dc50bdb401c9bc72d0aabb61f79f3b5240c7bd889b29bd78ae8fbba332023c968ddabd0d3255bd047432bc2b3e073b1e98cbbded0754bd8d474cbcabc83fbaad81a7bdc63836bd51ff4dbce73b07bbbb998bbd95d70abda250cbbba7e1ff3aa00441bd1324a3bcddcb57b922e7f73a3973cbbc813fbbbb16c2263b85ea463bb24c29bb5fe7993b1a79843b5393683ba90bd13bee54acbdf7d2943fda27d83d738b2a3c1952aebd0b978d3f444dc13daf09423c0d7227bda2e2703f5b56d83dcba04d3c6c63a3bc6d90423ffe1ec73d4e81253c19cb1cbcb083123f263fa23dc90dc73bcc7470bc4482d03e9d8b513dfb0dca3a76fcadbcfcd1743e070cad3ca1e0913b7c2ee0bc8d56ae3d0ebe8ebb31d892ba7cfbf5bc7b3b1cbdbdcfd3bc3ce381bcf204bcba0000000000000000d68595bc07e991bb000000000000000084d1f7bb4825d4ba0000000000000000e0edbcbbaa2a92ba00000000000000002b18aabbecc672ba0000000000000000bfb332bcd47727bb0000000000000000608966bcd96e66ba000000000000000011da2cbce0344d3b0000000000000000a7d72cbc19ec8f3a0000000000000000de49523a8268633bd7375a3be0352e3b5147043bc5a7d33bfbfa493c2fb40c3cb1444c3b4c2c013c24c9393c1d821b3c904a8a3b704b0a3c21fe5d3c09ba473c2efb5d3b8503ea3b2690273cd32e023c58aa183b9ba6bd3b42b8273cbda3ed3b22d9f93abe5b0a3bcb55ee3b549db33b34633cbaee90b13921c7a03b24adda3a2e1f87ba1071cfba1b17663a7ef315ba20caef3ad58088ba05528a3b37d0c3bc07136b3b7b8c85ba6992c33a759718bd0d74d33b2d3cae36f208d6bbb52020bd792ab53b91877fb8ecd815bcf2ab22bd2087923bbe28363a62fd03bcfb930cbdc22f763bf8cf76bac1aa89bb23cdcbbcf271543ad71ec8383c83e4ba988b6dbc02d5e539b205d7ba5db3913b70461cbb38985dba4b2f85baa5cbb33b74ddb23b0a26ffbc88449ebc66a32ebcd1aa963b0cd39cbd53f03ebdf3ee88bcf88f943b38b1a3bd3cb058bd519ca4bc555e19bb5d69b2bd538c6bbdeb479bbca078a4ba23328cbd15903dbd00ed73bc044c55bbe8b177bd06e71cbd38831cbc674de53af8ec22bd9f19cbbc319ebebb4da71c3bab5cb1bcb25520bc513e973ae1818c3bd5d9a5ba104c313bf6ce843b63c7903b283dbd3be1b9b0bd3a3c7a3fb2708a3eca504b3c94d1b8bdf6b7753fc59c853e5eb2683c27b328bd75dd493ff2d0763e6dc5583cd1620bbd97942c3f2e84513e15b3293ccbc79bbcc5a6003f83cf233e472edc3b1866d4bc9844ba3e7e62e33d4e16363b9e86cfbce981613eb8a8843d9477833b736b0bbd9809ae3dd472783cd2e0123ae803e5bc26dbb7bc140999bcf0350abde29380ba0000000000000000adf611bdfdc0ba3a0000000000000000c5d786bcc99f1b3b000000000000000082dd8fbc70f0253a0000000000000000db3e4fbc7122bdb90000000000000000ffbab0bc3fcc4ebb0000000000000000eb15a8bcd0f51fbb0000000000000000dc8bb4bc60f5b43a0000000000000000673d83bc624466b900000000000000009569e43a1253513b9b782f3b20b82d3b2fea1f3b2e59e53b0d7b093c7d27073c6298673bec200f3c7402483c3510333c14076a3b87cf0d3c6185383cc5df343c9c94793b7bc5dc3b3311303ce211253c82a1183b417bb53b22940e3c5944f93bb621323a7eed723b66fec03b9494b43b6f6b813982f4883954aa7d3b2ccfe13ad27e94bae822a8ba6d2a1a3a55d02f3aa26dff3a0a9f2e3a2fa7013ad219cabc45cbbd3b707d26ba6c6b97b9089f13bdadeed83b6f1b4f3a5e3fcabb56c21fbddd6adf3bdcea6e3ad08a04bc6d0315bdf4fabb3b109abf3a925f0fbc9ba8fcbc1410903bedc79d392381b1bbf6d0b2bcbf7e233bc14084ba9bc35c3a544b47bcf1501ab9b9f6d3b963d2673b1bd316bb6de8deb92fcea4ba877bad3b957ea93bd83dbabcfa75aabcdcad92bcd7eb103bf17079bd19334cbdab0dc8bcf13d4a3b00b89fbdd1eb7fbd1906d0bc0a92e6bafdfb95bdb0f781bd77d8d0bc94ed0ebb4ce789bd65ec5ebd2d76acbc69e257bbf2685bbd80e32fbdbf966ebc0341de384f761abdb08ceebc0444c8bb90386b3bd68d9dbc22014dbcec3f803ad079943b801be0ba7352c63af46b583bcd77803b065bc43ba80392bdd31a4d3f61fae43e16fa403c240b9dbdc80b493f8a78dd3ec9ee5e3cadbd46bdef392f3f0ba2c43ebb3e4e3c7f2b05bd57970f3fec38a43e9f25263cf7c9bbbc7c6fdd3ec11c803ee5eeee3b1bfcd9bc05d09e3ef595353e09e5543b7d8202bdf8d3413e72c8d53d1a81263b28bf0ebdd72a9e3d3db2133d71c609bb3226f0bc601c68bcc4b38bbc554a38bd60c8533b0000000000000000a43b4ebd9085653b0000000000000000c8bc0fbdc3da5c3b00000000000000003f12e1bc5622203b0000000000000000ac4dc0bc7d8085b800000000000000009493e0bc6bb4c0ba0000000000000000400705bd34ce1cbb0000000000000000e1e5f9bc24cf093a00000000000000005e01b7bcb0b911ba00000000000000006967bb3af279213b5038193be11a303b54bc103ba907de3b3eb8003c306e003c1877333b2c78eb3bfbdb263c4ddf263c63258d3b0007de3b927b423c396a413c85ce493be8bdae3bb0a9e73b7c3fca3b7457da3a938fb13b86e0153c9eec093cdb7e9f3a9638203b5927b63bf746a63b8d0249bab167423ab012593b2446363b48c578b9847ad0ba1f45483a7cb28eb9a21d133bfbb0333a19f7bd3ad2fcb4bc4414c73b8f1dc53a5abeb2ba7b4605bdb0bdd93be7e1af3a6cd6dfbb988e07bdb710f63bbcdf1d3bf8eb1bbc244f06bdb317ad3b5a2e0b3b19f629bc0b5accbcc414ac3b74477e395fd38bbbcfe8abbc0a1a293b9f77f3b74e168dba95f425bcd95a843937a2a2bae2eb7c3b462616bbf29383ba39fd3bb9626ac63bc2af4d3bfd8795bc18bcb0bc78c0b6bc45df083b7f5350bd65cb5dbdf25a03bdb744c63aa4ef81bd6ac385bd8ee9febcb01135bb6aa98abde5fc8dbd7285f9bc41cb9bbbbf7048bdc4024dbd7c06c0bc67aaddbb47114bbd0de848bd56008ebccbd4deb9817103bd64dd00bdd61204bce5ec233bdd3e81bc1b337cbc072f13ba6745b63b6f9391b9ac2f1fba0c93923b0cf9b53be3424d3b919f68bd584d1f3f7f971f3ff73f173ccefe72bdfba01b3f3dcc1a3f3507443c3f130abdf81f073f8bcd053f65883a3c1e97d4bc28e5e43e97bce03ebf84263c0cf534bc5f3fa93e14c2a53eeec8b53bf7aebabc4d13813e751d773ea596363b22ddd7bcf0851a3e94c3113ed2cfe93aa2befcbc22ee7d3d64ac623d15ab1abbbd8cd8bc2f4738bc0fe086bc6d3467bd191a5b3b0000000000000000930482bd33e8c63b000000000000000042fc24bd96c5ba3b0000000000000000be750fbd799e623b00000000000000002915a3bcd7c9ff3a000000000000000059370abd96e86fba0000000000000000146f09bdc80b29bb0000000000000000f4db12bdb73a44ba0000000000000000edc0e2bc1a7de1ba00000000000000006171aa3add8c373b24725e3a881b663bb4deb53ab996bd3b96c5013c34a2063cc68bf53aeba0ea3bcc0e313c4a8a4d3cddae173b8d80f13b3f2a343cf21d453c02b73c3b1137c43bcb7d1b3c74a5393c5d80853a28f8aa3b571f093c8c2afc3ba6f24839a987503be9e3a63b4647d83b95284fba29ffbb3905e93e3b99d37e3b86463338e658f9bae11690b861a5403a9394423b4089973a2f73a33a964e8fbcf4dffd3bea24a3397c723739a2c4e0bc884d093c461f063b09c893bbfb01eebc2bd7f33b752cb83a9170dcbb0dede1bc9e16c93b669f3b3bd15af4bbdebfc5bc73c1a73bcffc433a5f4063bb38a889bce7f03c3b6b6e69b99b4d543a0ce417bcaa74203a515803bb659d6c3bdb9359bae7c466ba5b2d41badd95973bf0d5863ba3e984bc9bdbd1bcf13ad4bc3c5ee43a90f13dbd496d81bd55a212bdbd7b883bd2377bbda8899fbd8c541abdb81f25bba55076bdb7bd9cbda3a709bde56138bb21805ebd1af787bd20e9ecbc6aab9dbbbcf932bd83215bbd751d9fbc7532073a1716f6bc2bbe18bd10b425bca726793b74e462bc669398bcf6abc2b921dbe03b20da5e3a45b834ba1653693b04c1a63bf314213b247e37bd580ce53e07d14c3f0802ec3b98873dbdce37df3ebd34483f46d3253c978edcbc8110c83e27e32d3fb0461c3c342d9cbc08ffa73e4a030e3f4e640b3cbb7a63bc3dee843efa12da3e021eba3b69509ebce05a3f3e9bfc9a3ebe1c533b1883c7bc9e0de73d3a123c3eac43353b6348dfbc1f20323d85ea903d235c5cbba17db0bc06463bbc754a93bc5a248fbd8ccdae3b00000000000000006601a6bd6a21fb3b0000000000000000d61e67bdd0eeda3b000000000000000010b82ebd393da93b00000000000000000ee809bd5bd3d23a0000000000000000b93018bd586a20ba0000000000000000933b26bda35716bb0000000000000000363e27bdbd11b3390000000000000000c602fbbcdbcf10ba00000000000000000cd10bba3db0413b00a1303bfb385d3b760c96b7568a963b1e60093ce239343c788ea73a38bad23ba90d1d3cd747323c481f0c3b5525f13bebce103cfdaa893cb287d23a16fbb13b97620a3cd9891a3c36ab2f3ab79f953b2decf93b54271f3c3df372ba9f89463bc518b83b43c6f93b85da8eba8b83b93af85fcd3a65e76e3bb656b5ba4d8f87ba61a80f3931abb23a8d49773b206acfb79e29353b282652bc721dfe3b6c19eeb9fc48283b858fa2bcfa0f083c1af6c23a8715aabbfe2abbbc9cd5ee3b04c5203b25eedebbd6d0c5bc5719c73b82760c3be462c9bb43359abc2d41c73b738c423a1e3606bb6d5563bcfa451d3bd3d9cb386437d338b46705bc9ccfec39ee4ab3ba2121383b4594a0b882ac8abac66dbbba4ee1853b1095623b3e6a8abcf46007bda6f4d0bca13fc93b105230bd4b489fbde21819bdfb8bc13b755950bda0c7a3bd62f31abd58af81bb313867bd5ec9b6bd29cf1bbdc7384dbb56c83abd1c5d8cbd12e8f5bc54f496bbc30123bd735179bdf2bcb5bc370cacb9a810dcbc2bfb23bdeddc47bcb19dfa3a9fab31bcb03caebc1145b8b91af6c63b65e9083b6d00f4bad14fba3b6b08bd3bf263603a128809bd81f38a3e4c2c7a3f1d043c3ba4cdfabc1009873ef944753ff33efd3b53ef2fbc5eeb7c3e5e76483f963b243c7970d6bbdbe95d3e45092c3fad7fe23b9c76a5bb65082d3e406ffe3e560ea93badc747bc41c0fd3de34cb83e82af243bc92583bcc5f7973d87fe5d3e2294773be55ba6bcee56be3c6340a63dd8e0983ac9d88ebc2c1b69bcc71ebcbc65f8afbd7377ab3b0000000000000000d682c1bd2185063c000000000000000004573cbdc6140f3c0000000000000000c15b3ebdd7a86c3b0000000000000000461eeebcb8371f3b000000000000000033a513bdcf8912bb00000000000000007b9d08bdd4402cbb0000000000000000473d27bd884a1f3b0000000000000000015301bd0d4ee23a0000000000000000980eb4ba7f2a223b5eb44e3bc165a13b63181abbacdb8c3b8c2e1a3ce1c8623c6e982db7a2ae9d3bb5223f3c4f43823c298bfd39dd55de3b676a3d3cc2e16d3c886bab3a992fac3bd3ca193c0f1b483c3d2188b9c498873b61c4f33bd4353b3c025eb1bac70e293b131ba63bf048093cd2ced9ba7271a9b99d9ac83a8ab0b53b3d7aafba07e748b965ae7bbad7d6d03acb7e8e3bf8278eba5617923bff220abc2efa163cc4be1dbb53ff7f3b22e11dbc7212293c17965c3aa422e7bab9fe81bca4ca1f3c95b7fe3a7456a2bbd32792bce86c0c3c581be63a3c3fb7bbf0c783bc1859b43b4a31893add200abbd9bf25bc9f16583b860f35bab6b1323bc409a3bb79aee73987e10cbb6aac3c3bfc42f83aa726f5baeca78bbab6637d3bf3e17b3b64d4a8bc8d1253bdded2e1bcbf8bc93bf8e71ebd5c84c5bd45f817bde2991e3ce0a94cbd1c64dcbdb8622fbdc13484385fdb4bbde254ccbded4624bd7abf97bb94f734bd5957a5bddd3d0ebd46afb8bb46040dbdf2c88abd2676cbbc3b4420ba9d2db7bc219846bdb6bd44bcdc34883b6860d7bbc51fc6bc1823843924c9b93b9ff47d3b186e48bb5dd5dc3b5083c43b2eb890bab22687bcac28d83d33c8943fc96f42bac6f06fbce999c83d36718d3f4198983b744715bac144e63d9698703fa7649f3b795c353b98a1d83d30ab413f3b7bc73bf843713b3351b73d36b8113f6b848b3b572985bb6e8d803df797ce3ed7f5273b72301cbcc9a6043db7a2723edab4973bdfa23abc1254473b1b80aa3d805f8d3a16cc5abce23fa7bc57f81ebd80c4acbd6ed7cd3b0000000000000000180db9bd8217d13b0000000000000000e8164bbd40e5b23b00000000000000008145f0bcf495933b0000000000000000e730a2bc3b33c63a0000000000000000b13dcfbc6949c2ba000000000000000097a3ffbcb997fcba0000000000000000029b0cbd5342773b000000000000000002ac0bbdb1d6763a0000000000000000000000000000000000000000000000002aa409ba16a0873ba52f0b3c46b13a3c6db403baf871b63b0f5b353cad6b433c9c56943a9202b63b40ee083c4e54393c839aa33a4939b73b7fdbc83b35781e3cea4d8438e7418c3bcc82f03b6025f33b782602baf952223bdf4f793bb39eda3b898baabaf6d38e3acc3f0c3bd1bc953b0000000000000000000000000000000000000000000000000000000000000000ca92113c4128f1b82c823eba653324bc1b751b3cd1f2863a220f93bbe3c532bcf1ea143cf488123bea3fd3bb2d8477bc6b09d23bc73f493b0894cfbb0aca5cbc7208cd3b8cc65b3aca7c91bb866c23bcc5f3593bcb0ea1365af742ba693b82bbfd4a453a0d3d86ba6596fa3a9fe07a3a000000000000000000000000000000000000000000000000000000000000000054b11ebdef5ac7bdd3ef1bbdc17e03bb419e35bdd1a3c8bd795a20bd309da8bb78702abd7264b6bd9bcd24bd91af28bccdb918bd252c98bd894c0ebdd5c810bc3a4ef7bc0f7074bddeeacfbcd910c8bb797a97bc11e530bdb51576bc1a7fec394cc0d5bb8c33cabcb6a948bb0773883b000000000000000000000000000000000000000000000000000000000000803f1cbbf23a342f3d3cef8172bcb560953f3cae923bd772683ce93a023cfc18783f4f8d043c4370873c5f2aa33cb421493f8b20eb3bf130543cbbf5a03c740f1a3f00268d3b3ca3c53bbc442e3ca00dd93e1b05373b95ff433955fee4b91ce8823ef6254e3a0934ccbbe5da85bc0a19b73d000000000000000000000000000000000000000000000000000000000000000014800abdbe710f3c0000000000000000f8853dbc12bcee3b0000000000000000be60b53a3de7db3b00000000000000006fcad43a129c693b0000000000000000bd8880bbeae3303a0000000000000000c9c371bcafd149bb0000000000000000b674d8bc87846cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000099e963bd08a7f3b7abcdb3bf6679a3bd5948d3bda12a13b1561d13b0eedc03b09ca603bafcb8f3b2df8d63bb691ca3bf58f463b29698c3b2ef7973b12b48f3be90c6a3b0742473b36ec9e3b883e673bf0753b3b7d88d33aa2424b3b8e6e1a3bf2939c3a5f26a53a5b29133b6b28c83a00000000000000000000000000000000000000000000000000000000000000000a4e633bf6145e3840efa7bc6a710cbd8c37703bfd750d3a739dbbbc46c10dbd72db883b82fa543a67bebabc190708bd1a32543b3de39b3a9f52adbc1bb1f3bcec3b003b9a1ff33a48e98bbc7ef4cdbcd3a98f3aba5ca839faaa1cbc6f3b84bc375286395d5a67bab9c635bb7cfc08bc0000000000000000000000000000000000000000000000000000000000000000977a5cbd909310bddec781bc846105bce51f58bddcf809bdaa1f93bc148731bc148e50bd38310abddd599fbc836950bce8592bbdbe28d9bcedd778bc516041bc1c2711bd208cb8bc59793dbc3982f1bb768ac4bce7f659bc2833c3bb511920bb078362bcca8cd8bb2c4297b944cc6b3b0000000000000000000000000000000000000000000000000000803f000000000f20c63c2c785d3c856c843f9a66943c87efd53ce6a8b23c1f205e3fb08eae3c6609db3c9246cf3c714e363fc798a53cc474a93c50ac9a3c07e40c3f36c1783c04bb603cdf5f2c3c3d4dcd3e8ba3803bb0588e3bfbf28cba2c56803ea245f2bb58d7bbbbb0b168bc97efd63dfe0ba0bc0000000000000000000000000000000000000000000000000000000000000000d797a23c55fc293c00000000000000008fb4913cfd691e3c00000000000000005a106d3c3df4f63b00000000000000003e21013cea51a93b000000000000000070d7403a7c63f4ba000000000000000047abcbbbb4a2bfbb00000000000000002b1255bc6e111fbc00000000000000000000000000000000000000000000000000a7283b56dc933afe6a563b4d32b93acf939e3b4dbab53bb2d6de3bd39aa73bcacc943bbe77c03ba953073ca113e33b4cf59b3bcce8e03b9ee0013c1ac9d73bdf55333bb03ca23bf4b8e53b5b06bc3b4c1c833b1f637e3b12eeae3b51449e3b27dab83aca1a483b5c4c933bdb4f3e3b67e7bc3a789656394026103bb95ec63949aa04b828bd9db93d5afa39ea6831ba9b3fec3aaeda3db87f0915bcd019b6bc753e403ba01044bad40096bc612c10bddf518b3beb89ce3948b7c2bc5c1721bdb81a7b3b8fdfef39e308cfbce2ff19bde67e7e3b581d943aff02b9bcc9cf02bd0b943b3be0f114ba696694bc58e7d1bc0aeca039448b7c39783c12bc9be886bcf35554b942c14dba14861aba1e7bc9bb53d550baf6a90fba84897e3bb9ff973a1ab1e4bc63ccb0bcd6aa29bcdbd44bbb610450bd08110cbdede675bce1d294bb6aa66dbdfce124bdb44a9ebcbeeb3abc260561bd62811cbda41ca6bc3b593fbcf64436bdfa4c03bd708798bc51d544bc1f541abd184dcdbc971a39bc00c4a5bbc4c8cebc542d7ebc393ebdbbdf58a2bac17c46bc7dedbbbb3afb073b3da7843b39c9b6b919d9b63af9b29b3b183fa23b8be8343c22cf76bc222c833fed7a0b3ea058a13c9eefccbbdb7f723f2fdf033ebf38e33c752e643cf2894d3f0040fb3d3d63df3c60b1943c5fd8273fb870d53d83babc3cf5f8893c4a61003f0326a63dac4e643cef98b43bda66ba3e9039533d8d983d3b80c1adbb8753673ed252bf3c85829cbb2cc692bcdac4c13d976761bbc00437bc39f0b3bc9db3b3bce448b2bc315cce3bcf16af3b000000000000000078b80c3cc6aea73b0000000000000000d32b743caed8103c0000000000000000d6a63f3ca19dcf3b000000000000000056b4fc3b07a39b3b0000000000000000662269bb804a7dbb0000000000000000adcb44bc2f100fbc0000000000000000069787bc8eba22bc0000000000000000e1aa72bcdfae11bc00000000000000000dd5173b79eae83a479a0f3b1a06b83ad5a9763b8eb0963b6becd23ba5729a3b0ea8873b9306a33be48aaf3bf1eea23becf1923b008ccd3bfe83d93b63b2b83bc5882e3b294f623b31a6d33bc6b8ce3b015d2d3b2f658a3b0d18b93b8bf79a3b38ffe03ae27f213b3633763b01f2383b7e06863ac1bc853a4b88913a687caf3ac2feccb97a1648ba9f602e3a00f8a0b913e7bd3a325a633916d8e9bb7c5a9abc86e74e3bee4a2e3adc4195bc10d608bd5fef893b952b2c3a193aaebc1fe004bd5ca29e3ba574bd3a69c7c6bc7f6c10bdeda6623bcea5cab73b05b0bcc7c5e3bc0b08dd3a2f4c9e3a953c90bc1fb7c2bcb9ff243ba7205cb977e826bc9f3280bc2324fbb7dcbfb9b95d6e47b8cd77e4bb34282aba09bc1bba6eb2663bc22fd03a0cd599bcd4628bbc1a4d3abcef6a10bb87b931bdbb7f08bd5059acbc633d07bc5c3f34bd595d14bd8d2bb8bcfcbd57bc05c054bd329b21bd1c53bbbc648455bcf5941bbd401df8bccd70a4bc1f6b4cbcf17313bdf321d4bc92e451bc1802fbbb7c30babc86768fbc45ec05bc4c387dbb74dc3dbcc7eb00bc5f689a3a3a43073b35493b3a8437bf3aa3ab813b25d1903b99420d3c3d949fbcf2955e3f971f8c3e2ee9ad3c9f930fbcf49f513f233b853ec0a5cf3c6c41213cfbfa2c3fac296a3eda93e33c0b5c5c3cbdfc123f6b79463ebef5a93c20d8393cbfa6df3e7770173e73a8653ccc49133be45da43e45cfd53dae339e3ba700cebbd10a4e3e2f15783d56b187bb9bd69dbc26e6af3dbd29773c46a412bc5391a0bc1cad65bc63c98abc406f3abb6cd98d3b00000000000000008a33753b21f0073c0000000000000000ff352b3cd57a3d3c00000000000000001442063c1e41f23b0000000000000000a60d6f3bb5d56a3b0000000000000000f5b6d7bb03ce78bb0000000000000000a91e38bc70f5cdbb0000000000000000512a9cbc6b3223bc000000000000000014d57dbc64de01bc0000000000000000583db53a1a93c83afea3033bc3c5b63a30b79a3bbaf98c3bf929bb3bddd19b3b6971763b6ba2a73bb542e63bcf84cd3b80377e3b1eceb13ba8a1f43bf47ed73ba0a9643bf5fc9d3ba261e83bec45863b5586173b0d67683b84f7c13bede6af3b30111b3b47f0473b5720553b26c2223bf2e5ff394d74e5399737083baefeb53a4f2ccb3aaee7aababd5c9b3964ff3ab88364aa3ac526543aed6dffbb887b93bc5e29553b421b473a05298fbc4dc8ffbc4ffc883bb79dc43a5b03bfbc1dc90bbdf1758f3bfb27a43ab67dc1bcfcb208bdbb53403b8118b83ae7b4b2bce821f3bce14b3f3bff316d3aec9291bc64378abc8893843aa6c5c3398b6317bca87770bc9d9f6839826e44b9d2b913bbaa0db2bbe66f33ba132e11baff600e3b7294993a7a7579bc690687bc159172bc8c609dbb6b4118bd2e4f0ebdfdf3c9bce2c02bbc6bce3abdf43329bda05ddbbc7ac053bc68243cbd177528bd863bd3bc27f973bc98ab1bbd968509bdf840b2bc04ee53bc4ad70bbd8f7cf3bc1e7c8cbc128c14bceb99aebc08b993bcc3fa01bce1446dbb92a320bcabcd00bc907ea1ba1fc9123b43175539e23a2b3a1ade463b3b9b7d3b59e32c3c3cd659bc61eb373f1c32d73e8fc6b23c0472a4bbfa832d3ff2c0ca3e2d5bd73c1548183ccb73153fad44b03ed4bdde3c7a745c3cb9e9f63e7400933edcf0ad3cd8f8533c7357bd3ea4b0633ecd29683c7c18073b16438b3e7c66223eeafe803b1e4e0ebc24782d3e5b9fc03d11de8ebbb69996bcbfbd953d89bc0c3de08e0bbc106797bc979c36bc81ff69bcf0ccb2bbba21ec3b0000000000000000fb92bbba4f7d313c00000000000000007a5db03b763a4f3c0000000000000000b497a53b5cfe0d3c00000000000000003f150f3a17ccab3b000000000000000055ff10bcc1b54bbb00000000000000003f858bbc709b0ebc00000000000000006b96babc2ba736bc0000000000000000dd5995bc98a116bc0000000000000000c540f43a4c93b43a8e64f83a5987003b2dae7c3bb17b833b2faea93bb568973ba000863b5e318a3b163db63bba40f53b60147b3bc25abe3b2f2ff93be033eb3b3e162e3b1eb4523bc77b923b5fb79d3b23ec293b5976793bfa21a63b59fd7f3b01dfea3a945c163b863d763b8fc85c3be926f6393727b03adce7993a825fa53a7bc6eab85b7ac4b9cc42d739f29a9f379f4bb93a48ee3b3a9687f6bbe18286bcbae6563b9ecdb43a9e458ebc4c9aedbc7dad633bd1b4a63a25eeb0bcdfa8fcbc350d8f3b47f59c3abb61c0bc85d001bd54ba593b876fe13ab5329bbca965c7bccdf3513b423ea73a5a4b85bcbf28b4bca3a2c03a0c12053aa26816bcf0b159bc6ba7f5b833e8dab83b61c2baaf9fbebbcae711ba5724bdb905ac203beb5ee33a68d862bc0ac082bc7c918dbc17ffd1bb33cf0abdf32513bda58ed8bccb3534bcc52b26bd435729bdf510ecbcc5f777bc10d530bdfbad32bd65feeebc7ce186bc328304bdc93e05bddc4ab8bc203370bcf8e6fcbc81d0f4bc043a91bc6ce511bcd4ffa2bc60509ebc19ec2bbc2f4590bbbd3b0cbc478606bc1a3f16bb5aeaed3aad34333a2d6d473a46bd243b33268a3bd4462b3cbdf303bc419e113f366b113fb33ba83c0db9da390044093f8b67083f2c8fdb3c49606b3cbf86ec3e0c0bea3ef3fcdb3cf3a8853c6195c63ee61bc33ece1ca73c8087623c1ca0963ea9ad933ea4f06a3c5a78853b7565613ec2e4593ee76e993b3484bcbb95510b3ed078043e6635c0bbd2bc8ebc9dcf703d6a31583d31720ebc55048ebc044a2abca29f60bce5b81abcf3d6003c00000000000000004ddb95bb13c7583c0000000000000000366c7b3b03da5b3c000000000000000093112b3bcf4a253c0000000000000000a9200c3b18bcc93b0000000000000000e76527bc18a020bb0000000000000000fbe791bc57580abc00000000000000002b1bc6bc866b32bc0000000000000000d5eda9bc608a23bc0000000000000000fd01753aafa1113b57c61b3b2f14d339d4d12c3bdfb0a23b6a75ad3b5591a33bc101883bb753ad3b2fbbcd3b2816d93b3c49813b74f0c13bb787d33b83b5c33b63d41e3b9d368c3ba8f4aa3bff08ab3b2d14203b5f89813b4678a63b6f82b03b0823c33a9d5c293b51f6383b08996b3bc98b2e3adfb1fb39504b963a5b17283be7b08fb9ff041cb9b4200f393041173ae836ce3a171fb93a7df1e8bb9fe976bc1a124f3be85c023b289781bce161dabcaab7823bcb4b0a3bfcf8abbcae4af3bce86f8d3be438d63a5bd5b9bc65be01bd9831ad3b01f8bd3aefa7a0bc90efcdbc54c4353bd534893a6cc678bc4c8aa4bcd0a2fc3a88c3bb37eff60fbc745b49bc92020d3a69c00eba5ba3f5bab1d37abbc5ffdcb9cded4ebaf59e053b3468cd3a7dbd60bcc9618cbc472497bc0f2ec7bb8ba504bdbd861dbdda4cf7bc777446bcb05924bdc0803ebdc2d405bdbf3f83bcb95c33bdc9d328bd941fcdbc04259bbc74bb0cbd2c331dbd64bcd6bcaaea78bca207efbc039002bd3a409dbc712c18bc1331a1bcf71badbc27ce38bc783c61bbed870ebced2221bc66b77cbbb2be3a3b248d2039972cea387a95b23a1722b13be473153cddde7fbbc405d83e34d8373f003ca23c0ccabb3b0ccccc3eb5c02c3f5217d53c24f58f3ccaebb33ebc2f143f01ebde3cfe99943c165f963e0260f33e17c6b13c38797e3ca6ee6a3e0055bb3e13ea663c4c90ab3bc3652b3e2d01883e1279973b258fa1bb1818d53d675e273ed6713fbbfe4272bce3e4283d64ed8c3ddccfeebb76067fbca0fe2dbcbf1159bc6e4b72bc285cfa3b0000000000000000e6f646bc72455d3c0000000000000000006937ba68b7613c000000000000000031ebadbaf32f333c00000000000000007613abba8a04b83b0000000000000000e0ee4ebc5d2867bb0000000000000000da529dbcf31918bc0000000000000000b627e2bc293046bc0000000000000000fc09b5bc033723bc00000000000000006ec8a93ae79b823a5a5e133b7596203bf2e8233b04bb963b59c8943b0133e13be142423b92479c3b4b39a83bb5f8b43bd233403bc638c03b9328dc3b2f4cf33b9961353ba24f873b888da43b3eaac53b95d51b3b15e3883b1fb69e3b9449cf3bd2ae453af844373b663d793b1c9b533b267b053aba90143aa965e23a75ef993a801740b9183974babdababb9438bf839c330c73a30e9783a14d5a1bbd13949bc3c18683b687c9d3add2f4fbc85fac4bc3ae6a73b1583f03ab4cb8abc4567d3bc522d993bddc7153b0fa1acbc1693dfbcc4ed363b5085b93af8ed91bc3332b9bce047143b32687f3aa8a682bcbccc96bc3383183b4141063adabe11bcd8273abcea2d9b39cfb41b38387c53bacd6d3abbc22626ba66e58fb961ed613b43b25c3bc5d264bc24029ebcf1a1b0bce7ac89bb85f303bd5d4c33bd216d06bd787c38bc242e12bd832c3bbd30ef05bd61bf8cbcc39022bd44104fbdaf120abd2c258dbc78ef01bd4e361ebdaaced6bcefdb7fbc0dbbe5bc8f050abd5727b6bcd2bb11bcf3f199bcb0e5bbbc2af25dbc96c6a9bbd37c07bcd5392cbceaae89bb00681b3b377bb13a0145773ace79373b82856e3bfd32d73b8e6309baf09f8c3ec86e5e3f0592843c76da3b3c77d0873ed143513f796dc23cb4aaa93ce514713e6bd12c3f1f07cb3c31ddb63cb07e4f3ef362123fc53da23cf8cc983c3c1c203e4eeedd3e5637663c58a0053c23c0ea3d2536a23e71cdc33be4cf45bae4a18e3d180f4b3ed06e26bb4c3446bca187be3cfb60a93d32f3dabb84b565bce57749bc10267bbceee1a6bc133ce13b000000000000000081df8bbcb431313c0000000000000000d4dd243b56135c3c0000000000000000de83cfb86b042c3c000000000000000053f295baabb9e83b0000000000000000fdfb46bcac1126bb0000000000000000ac4485bc45b0c1bb000000000000000039b2ebbc026742bc0000000000000000905cc1bc54381cbc0000000000000000098e733a9ed0193b856fd13a0f831d3bc6a4193b157fb93b7a1cb43b341ed83b8b46243bbdbcbb3bce31da3bd361f73bdcad883b0600b83b18cfed3b56af013c0a22e93a22b5893b1d0a953b264ee03be977243b9c0e773b3dc3933b9df4d73b80f1723a6e1a333ba8296f3b7023363bb0b92d39694779396df5b23a3826bb3afc28d7b92c1819b9f17978ba0c91ac3a1c14c93a0279a03abf27aebbec333fbc06ab873b9a24943ace8b4dbc89eaa7bc8b869d3be2b6f43a481598bce4bdcebc9d7ab03b0015663a1ca9a6bcbb08d3bcaa71903b9468f03a1d0e91bc93bbaebcddd7323bdd57883a486e5dbcd84b8bbc1f4ef03a8966ff391025eabb2cb917bca0f3243a2856a3b9cebabfb7ca4382ba225466bac599cbb90785593bba0c503b108b94bcdd78e7bca159c3bc2badd4bbb40604bdcb2c52bd6f420abdb6232abc80a91bbdc50168bd352714bde93886bc3afb1cbd466461bde15610bd90eb91bc34c801bdb03b30bd4251e9bcd40f84bc382fe0bccfe218bd3645bcbcb1f216bcac038ebc0b3ccabc222558bcd8146fbb3cd2e4bbf4373ebc223281bbda7b693bb1ea103a1b88feb9bcb50f3ba86eb23b47ad043c0b69083cdd5f0c3e3b1c833fe7747a3c3dcd873c08ec083ec30b723f8191bd3c8187d73c77af043eccd24c3f7512c83c9c2edc3cb8fae93d174d273feb8ea13c3ac1a63cfebab53dee9efe3eb534663c67543c3c4e0a813d3b6bb93e7a1ac33b1ed3853ac04d043dbc78633eb6e804bb0a4c13bc2b4ea23b980cbd3d160ee7bbc0d155bc8e5b85bc873fb8bc5b1686bc09fe103c00000000000000005ceb51bc7496293c0000000000000000a4c1613bbab9643c000000000000000034d8c03b2573373c0000000000000000b88e203b9badf53b000000000000000014ea00bc6e5d1abb0000000000000000604a9fbc38e106bc00000000000000006f08e5bc9e1e3bbc0000000000000000d26fdbbc31523dbc000000000000000000000000000000000000000000000000160a103bdf9b8d3b1397853b0722a63be068263b878dac3b9f47a03bc989ed3b5412063b257f963bc4efad3badb0c43b0b962a3b47d79b3b385a853b665a9e3b7aafea3a5ef36e3b2f8a913b3570a43b7ea5913ae7bb1e3b72b6123bd6ea6f3b3235113aaf4d443a3467093bc29da63a00000000000000000000000000000000000000000000000000000000000000003bdd813bbc06ff3afa9e56bcacf89cbc0cb9923ba759113bde358dbc66d8b0bc207e963b81cc1a3b0da595bcea75bbbc418b8f3b2f58e43a015b8cbc898ea9bcde3a173b2090e03aa63d61bca73284bcc0361e3b593cf83973faf1bb42be19bc36843d3a5f1e9b399547aabad3de16bb000000000000000000000000000000000000000000000000000000000000000012da00bd120454bd945b0abd14ba70bc0e9c06bd0b1c53bd5a250ebdc2269bbc1d0209bd391b4ebd0e3108bd5af19bbc0c8bf1bc45ed2abd8cebe7bc22e28bbc3f25cabc987e11bdb73ababcbcdd46bc7da285bc20c6c5bc5deb67bc5627babb0e4503bc5f8856bcb109c4bb3a777c3a000000000000000000000000000000000000000000000000000000000000803f618f9c3c7e18d93cdc3fb63c8cf5833f64a4b23c00d9e93c4bfde63c3d135e3faa3bc83c53beec3c5106fb3c2d10363f051eae3c4614be3cc5aec63c46200d3f75c8763c145a733c62d16e3c9d41cd3ea371d43b4ec08a3bf77c0e3bbf50803eaaa904bb24abd0bbab343fbccac0d43d0000000000000000000000000000000000000000000000000000000000000000eb34033cf6677d3c00000000000000006733683c5616803c000000000000000060fc813c60fd5e3c00000000000000004934303c1af20d3c000000000000000075261c3afebb793a0000000000000000222127bc9f50c0bb000000000000000001afbdbccde350bc000000000000000000000000000000000000000000000000000000000000000000000000000000003eb8d3bbe90e0a3c1060193d51d4ad3ba89447bb6f7a2a3c566d0d3db3beef3bbef610ba1076443c334ee13ca0ff093cd740143af2431b3c6498a63c969d103cf77f8cb864c6d53be7dc863ca533833bc6070f3a34f59b3b3d0d1e3c6c29c73afff066ba83ed983aff08523b428a52ba0000000000000000000000000000000000000000000000000000000000000000c53987bb3beac5ba2cb5b63b99f3c8bb561313bb39e30ebb851dad3a827f87bcc5b6b53aebe187ba7e0c5abb7aeedebc9ecf2939dfe662babab67dbbf8bdccbc03c7703a366aacba74088bbb561696bc2e5bb33aaae58739a9b5cfbb663f4abc8ee8f13a908c82ba53f056bb778565bb00000000000000000000000000000000000000000000000000000000000000003bc04ebe0a253f3969ebda3bb584a03a74c140beda2834bcbc1cd63b5022b53a753b28be3cc4aebc3655c03a4bd6ceb9409506be7530a3bc13c206b9bacb7c39ffa6bcbdbda074bc6e58b83a0006adba7f7f56bd37580cbc2fbebcbae46b04ba36d01cbc15b81bbb69698dba32ff963a0000000000000000000000000000000000000000000000000000803f0000000070899b3c694decbd6896ac3f496fecbd913a523cdc1783bdd7218e3f0c0991bdb0a2233c28300fbdf29a673f6e2e2fbd3a011d3c26ca8abc63dd2c3f0177e2bcabf4183ced54dcbb8ea0e03ed63c88bc8fba093c90f6d83b1e23613e8b5b9fbaa551c33b5158ee3b86690a3c6182373b00000000000000000000000000000000000000000000000000000000000000003576493c26c7eabb0000000000000000139ba93b229dabbb0000000000000000a1f3943bf9c325bb0000000000000000c08f8b3bd4754bbb0000000000000000b5479f3b19bdf9ba00000000000000007a7e0a3becae34ba0000000000000000c42b5b3b49c161ba00000000000000000000000000000000000000000000000095b5febb22533a3bfdd0a63cf8fb883a6b5519bcee77e43b4b7d173d8c9ea83a6191d1bb9bcd423c13741b3d7157183c43924dbbbd323d3c62b7053d9235343c9d2cb0ba7c9d3e3c3035bd3c47cc213c91b3c3b90eac073cc1ac973ccf79a63be99699ba6a79c83b05ea2d3c447c103b960dff399cbe303b79c7483b7989a5b9342604bb12d814baad1783ba10c57abbbd3687bbcba102ba9675203c9d85333bf86576bbb764f0ba3b3fc93b2bf4353cf21e41bbe45925bb13c2af3b960332bc492751ba564316bb76368a3ac38091bcaf35333920747fba3152e9ba0e9ca9bc4b15103becb339ba83ac9ebb71d47fbc20d3343bade78aba2507bdbb890427bcde24463bd66590bac75b08bc8cfaadbb9ef5f73a52a188b9c15961bb8d2eb93bd830f0bd07599f3b9845533b32a0893af5c53dbebe7fef3b938b213b456a3a3b4ede4bbe3a5097bc3c49833b23721b3b7c2f36be6af9debc1d105a3b449dba3ac7070dbe5f8cedbce35746baddb6333824ddc9bdb3e2adbc86240bbb9d378539df5d59bdb72e7abccc22f3bac9e2093a7ef31dbc831934bcd61bdfba62e92f3a8132853cea04373bfb81a5b80f5286b9d0531d3d3e8158be38c7ab3f80ce8f3cad44243d9e034cbe75089f3fc769853cc341f53c38b917be7ede8d3f7524023d2d5bcf3cd125dabddc73663f5750233de439a53c96a98abde0502a3f834c2e3d83c79b3c058523bd42abdd3eded6183d4231773c93306fbc700f553e659c043d3e1b443cec4f143c71beb53ce19b0d3d8b300e3ce2ef59ba5f58ddbd7490e43ab5bca9bc3b2f373b00000000000000009e60a7bc91af9c3a00000000000000001fb8b7bcc38b303a00000000000000008382abbcf5f99f380000000000000000f12562bc29014f3a0000000000000000a6d152bc919cef3a000000000000000027c7f0bb740b323a0000000000000000041ec9bb3548c0b90000000000000000822571bab88adc39000000000000000060b8e3bbe290553b842f473cceb5113b562d0cbcb377003ccb66e13c86821a3c6df2b6bb333a413cb64ee63c283c603c9d2543bb32874b3cb408da3c5efa6c3c5d8f1abb9728303c69d79d3c2ddd203cf74ed4ba8a2d233cc847783cb862013c3acefcba5d19d13b462cda3b01dd6f3ba6bebcba505c5d3b3b59533bde31ebb90398f1ba1dcf5d37f377cdba6fc039bbd2711abb6d25c2ba582e383cbd7b53bbc8e05bbb434de0ba67e2283c15b19bbb344ce139685772bb59e1f33be67494bc2f92753a15e636bb35e54d3b6190a1bcb783363bcc7fbcba265f88ba8634a7bc2a6f383b54b002bb015b1cbbf44c80bcfb98413b85f94bba4ed288bbd5eed3bb6956383bc92ed5ba17c8b8bb051f55bbd2b2fd3abf0a93ba2d2a43bb72ee863b10638ebd511bc1bbf329beba5a24953b60fa17be6f25e8bc94446a3b31e9163bc98a23be7b2547bdf85c2f3b7def693b1be51abef3964dbdef65e5b6920b2b3b624eecbdae5032bdfb7272bb7e81933aacd7b6bde3e209bd589d0dbbeb5e2839084c47bd95d59abc55644ebb5cad3f3aa4bb6cbc8f98f8bb0810e2ba8bb5363a5b322b3c8eb1713be2058339c0cf28babcc9223d98355bbe3eda8e3fd5916e3e59f4413d2e6163bed21f8f3f60f65a3e446e093d116d27bec6b7793f06c4513e59ab003d20b907be9a9a4f3fc525313e245dc03c22e9afbd0f9f183f50bb0f3e0536c43c51cb7ebd72ddcb3ee560d33d588f9a3c153f0ebdb69f513ea43b763d1493793c28bd4abc6f701d3de2f1e23c82e43c3c583305bcc9a780bd49ae0abc47498cbd40631d3c0000000000000000726494bd31b8573c000000000000000069e577bdc5180c3c0000000000000000cc564cbdfd16ba3b0000000000000000552516bd5e99bd3b00000000000000008665eebca419c73b00000000000000009024a8bc92e5793b0000000000000000e7e930bcd039563b0000000000000000946f76bbac4d343b0000000000000000053598bb9553273b81cc273c8684b23bd91ce3bbeb170a3cce80a53c0a4a673c15495bbb7c4d223c6823c63c76ee9a3c041243bb37843c3cc2faa73c0b1f8d3ce89600bb28803e3c0fb38e3c11296b3caab90cba6df5f43b0379523cc14a0a3c97bcf3b910ecd03b5679bd3b8bc8a43b2a26f0ba3c415e3ba055fb3a4b1d813adcabcbba0410423afb9a26bb38de18bb505413bbeecea9ba7c16333ce57d4dbcaead8aba939b85bb5d26193c6f1312bc6f67b23a8b5f89bbd1b1c43be2b481bcc869a03a0d2a04bbc402e63acda697bcfcf7593b086406bbc405abb9fd2e98bcba55483bb6bac2ba507320bbb3845ebc783e013be4e475ba57cc83bb72b90bbc588a1a3b87fcb5ba68919fbbff427fba15dc043a4fbc42ba24e0d3bac15f873b04354dbd50d7cdbc800e62bb9e488d3b3769eabd2e5e6dbdf037693be3d9b83b194c08be145d9cbd15cb343a3579913b0c28fdbd61a195bd15d997baa8a54e3bcf87d3bd9eb582bd3b489abb1003d63af1899abd18dd34bd609e38bb908bf13986d630bd1098dbbc3e7611bbf7f23d39f8c75dbcd5c006bce470b1ba1a4faabadce9c33b6fb5fd3bf138bdb91468853a840f0d3d3fac47be84df6c3fd762ec3ef25f323d966154bed6426b3fe7fee23efd8f0c3d468729bea341513fe663cc3e94b5fa3c729702be8cba2b3fceb7a83e07cdd13c13e7bdbdc7b4023f5026843eae7fb93cb3dc81bdb3a9ae3e757f333ec42aa13c098e29bdd544393ed7b8c83dcc39863cf4b29cbcc94f353d213aeb3c90b12e3c71558bbc06c82dbdf9e6c8bc3060f1bd2cdfb03c0000000000000000f99301be1a9abf3c0000000000000000e7efd7bdf4af883c0000000000000000d190abbdd992643c0000000000000000bae487bd12de3f3c0000000000000000bc283ebd93d1163c0000000000000000f713f7bc6b49023c0000000000000000232a52bc2cc0b93b000000000000000026c000bc88689a3b00000000000000008c9190bb8f6d5d3ba9cf923b2a591e3c7b438ebbd27cb63b5987843c76e0963cdbe160bbb3e5133c9103963c7e98ad3c1e403abb3a03283c676d963c9c27ac3c1daa6eba1cff093c67354c3cbc633d3ce1fca7ba895e203cc088063cfdab533ce0ab96bac2e89d3b7387b33b26f1af3b1e53aaba5ca8403b65ccb63a7825923a1d6c8aba9024ac3928e891bac80251bb494e74ba492754bb75043a3c6bb167bcde65733af793a5bb3b31fb3b354825bcd5d2633b0f9b78bbadc8b13bdcee87bc924e783be1a725bb11e1703b551789bcdd07963ba204bdba7f4ebab99ccf9fbc0a722e3bed8db8bafcdae3ba3ed356bcc1d9353b60118cbab7e34bbb5088f8bb1f553e3a7ec78aba093c53bb9ca1debaefbccb3a7157b3bab6e75fba38177a3b71d2fcbc8aa634bd157732bba801f53bfb44a9bdcff8b5bd7710e43a2a5dea3b7cf8cabd6bf4cfbdacbc6cbbc1dfc63b88e4d1bdf34ecebd4fab89bbb59d633b593c94bdbb2d93bda0b130bc38412c3b0ccc80bd44e373bdea1abbbb0a79213b452012bd680e01bd2e3b06bbaaa7beb90d985cbc017607bcb4325aba4b423ab8a00b943bf227f83bfd670b3b927396baae18dd3c6a3824bef0ce323fceb0323fa1530b3d8d3e2cbe288f303f648f2e3fb421d43c216e06befcb41d3f60c1183fecc0cb3c5987debd92ae053fb60bff3e6ef3893cf05c86bd47e4c33e2f06ba3eaf90aa3c300a7cbd024b8e3e8dfe7e3e550d8e3c07a316bd61861b3e83ac043e8c8e5c3c606fb0bc903e453d9a14e03c3efe343c833e90bc61efe3bc472815bddf4925be95b4dc3c00000000000000004b9530bee801033d00000000000000006a060bbeb67eb43c00000000000000005fbdebbd26e09f3c0000000000000000c0e48fbdbc972f3c0000000000000000b7e07cbdf5e7563c0000000000000000b26815bd46381b3c0000000000000000cd776ebc84d8e83b00000000000000005ed54abcb0c7f13b00000000000000003b0b17bb8158bd39e50e903b446c3e3c5d9093bb3192703b3fe3463c2cedc53c3bcc40bb83aacb3bfd52973c26c2e03cc9c097bae8b9f53b4111763c3f3bc83c227003bbd15c193c35ad433c2276a43c93d082b9f044cc3be8e1183c6aec603c499d29ba9a21bd3b505a883bc935143c27412aba3810403bcb67413a5efb1a3b57f534baad5870b9cf7431bba6aaa23962a3ceba350f76bb57daca3bc5e811bc326afa3aeb3ccabb7e22e33b6a2c0bbcf52c553ba32fabbb314e933b958d31bc7162d03b5cfb96bbfd78ad3a283079bc41c07d3b539433bba95471b9390b6cbc0f7a8f3b514edebaa8b5d9bad73b3cbcb099073bacea85baad271bbbed3117bc26190b3a575cadba88cd48bb0a9835bb59fa12ba2f53f3ba137291bac711303b023c8ebc49836ebd711231bb7a33fb3bc1b55dbdd33ffbbd5c57b73ba3c80e3c46409fbded1e0fbeddb5913a8094be3baab699bde682fcbd8431adbb6c34b33b6caf8abd3ddacfbdb73d01bc1246713b92fd56bd36b192bd52319cbb6547bab917b1febc417e22bd261058bb922670baefe14ebcd45613bc334637ba9c9ed7ba121b743b9ca6133c9cd2283b516c9eba4f5aac3c9c88f0bdc99dec3ef4e36c3fee2cd13cbc5bfcbdf5b7e83e240d693f2895b03cb051cdbd5b32d53e366a4e3f8952a23cc5daa2bd89a8b53ea766263f3ec09d3cdc277abde31c913e70e5f83e48c1833cf0ef32bdac4d503e9563a33e5424793c721df2bcbea5f83d85b3213e1d33483c147c96bc4ed8433d28c7d93c9ad3003c691c68bc58d056bc2a1466bd99fd48be9939103d00000000000000000fba58be5b62203d000000000000000096d430bee402f63c0000000000000000872608be53a5b53c00000000000000000bf3cbbdd1009a3c0000000000000000ea558abd4604803c0000000000000000c23d1abd2a762b3c0000000000000000540d71bc3b230c3c0000000000000000a9ccd4bb10aafe3b00000000000000007844b9bacdd6edb93da8d9b91960853ce6902fbbdb0ad13a76140a3cab55fb3c062bc8baf22a693b1a58573c3d3b013d333ec0ba1c01b53bcedd633c36f3ec3c1f479fbace63d53be38c2f3c0c87a83c989490b9f015cb3bc38b013cf4c7863c714338ba8fda633b9655963bd1b4263ceab4d9badd80303b4f53103a78e9533baab8033a7a7f62b910970cbb7163cebac6922cbafc46bdbb5269a53bcc63debb4afa763a4838e3bbe331443bf52783bbe20fce3b8506b4bbf542b43aae8c05bc37f0c83b5bd395bb755e2fb957ac0fbcdbefbd3b1166faba01bbebba9abd2fbc958f873b80801dbb6062dfba360b25bc782e8c3ae62ab7bacc33a4ba0f2cf0bb2dd98d3a9c4912b90c88ceb9466180bbdce321b93641ccba95415aba81f0a33aa52e073a65b1a5bd05a9e93b5f6ce73b6350f0bc20771dbee452403c37f3c73be5a94abd65b027be07e349bbb46ae23bfb2a65bd8c861cbebd5a72bbbeb9503b8e2447bdb5c4eabdbf2623bc81beb93a48c123bdda9fadbd7f9bb3bb3e4501ba37c6d0bcce3f3cbd70df7fba4073c7babbc044bcf4841ebcb7810bbb1b0745bb87112bb964b2763c6e33da3a82f101bbf51c433caa9a8bbd0c0e6f3e53d58e3fd7627c3c9b2c8bbd6c0b663e46208e3f4dae423c209363bda9a2633ed726773f0b9d433cdd5f38bdb4e5493e78394b3f7daf243cf8cc00bdc0e5273eed0b143fc503433cedf0e1bceb8e013e5e56c23e9d621d3cf4d690bcf955a83d73123f3eac92e43b651144bc3fea383d12d7ac3c924dd13b7e4b1bbc9ff5e13a48eb97bd1a095bbe557b263d000000000000000076aa67be93e62e3d0000000000000000e08931be2c25f23c0000000000000000e6cf10bec098c33c00000000000000004858c0bd12fe923c0000000000000000fb7487bd03dc6c3c00000000000000002e9f17bdb23a393c00000000000000004b919abb607ba53b0000000000000000ade7d2b78e28f53b000000000000000012c491bae9c540bbe4481a3a526dbe3cb23f32ba63915cbb48976f3bf26a253dcf4826bb9466633a21a8503caf5c203d2dd40ebb4bd3703b02a54e3c15fa083d770d69ba745b943bb53f3f3c3a5fc73ced73c2ba2f318f3b9f6af23bc0c9a93c56f28bbaff1e703b6b0d863bddf23a3c993732ba2d7b663b4edf053b9e8c4b3bce95ccbaf952833a2ce912bbcd3303bbcc590cbbdbefc2bb1da6243beb50be3a2bcc84baaa710dbca78e183b5cb158b916498c3b1642cfbb603adc3a4e18b6ba8d3f003c70e2abbb1200c6395ab3b8bbf6e7d73b768cf1ba8bc44fbad847fabb18fa753ba66fdaba5f20e1b91fc501bc48afa53ae672863a972dbbb94f1501bc3d01bbb90abb6a3a63e1103ac9cbe3bbbbcf07bb6a4960b9ccee723abf607bbae308c73b27a3f9bd57d2473c947ebf3b1fec993a635644bece23e23c47f1883b3168ecbc4b794dbe0cc1c73b7a009a3bea9b13bd1ed535be33b1dabbe93ec03b25ea14bdbed50abe362533bc0ce009399bf9f0bcf8cac9bd09f1efbb091b20b9a6f9abbcfef850bd7a038fbb8c8182bbd0646fbce621babb7922cdbba23b80bb1960f53a5b9da13ce4a4373b1e880bbb8813423b5471aabccedc9d3c788eab3fe267883b6e0998bcb437d63cfcc19e3f7632463bb7638ebc81d84d3d82d88c3fbdab9f3beedf5ebc96ce713d98f9633f2e5c983b0b8c16bca2d5793d3bce273f1b42cb3bb3caf2bb0d956e3d9353d83efa79cc3b80f580bb4a174b3dce684a3e58b8393b6ce117bba1af2f3dd7034c3cbff9243b2746e9ba5386a63beb49eabd486159be57fa153d000000000000000068c353becd9d183d0000000000000000317b22beb3f5c83c00000000000000006915f1bd089c8e3c0000000000000000e4ada0bde2a35d3c00000000000000005a994cbdb2b8373c0000000000000000d89593bce857c43b000000000000000050017b3c3cb1063b000000000000000064ad903be23e853b0000000000000000000000000000000000000000000000007060edba7cc5ecba8fd6083c3cc71c3dffc5f4ba5002313af6ff2d3c70b00e3dfebb32bafd46453b108d3b3c4792e43cb63bcdba9a816d3bdab1213c5ab8ae3c4ad7e8b979117d3b9266ec3b9657843c3e8960b9790ae23a647b813b47d72b3c3c1fb0ba35a0153a6e806c3aa7ff4f3b0000000000000000000000000000000000000000000000000000000000000000f2bb5f3bc592bfbbcf7a09ba736c983be554f93b809498bb07ed3539ebbfd439639a0c3c81a41bbb1196d6ba0243baba9b83e63be77655ba2396c3babad7a0bb1022883bf7788b388ff809bb97dbc2bb86cc853a96019b3ad7e9c9b91113a7bbede22fba89b0bc382d90e53a221d64bb0000000000000000000000000000000000000000000000000000000000000000940b10bcb35e4fbeba42843b86838a3b8002a4bc9f4a41beb181ebbb02f1803bfb7ef7bc846f28be724588bc400bb5b81609e7bcb1fe07be2b7081bc2317eaba1f41babc9848bdbd808250bc748b11bb9f0865bc54e251bd1191e9bb172743bb464fa2bb5c150fbc154c84bad3e6f3ba000000000000000000000000000000000000000000000000000000000000803f35f396bb9437863c1bdddcbdd18eac3f2bc2d1ba0c3c333c3d7667bddfc18d3f1e4279b9a805243cb772f7bc92a6673f5451123ba8d7193cc3ac40bc673d2c3f8909ba3a98dd203cad171cbbea9be03ec0e14a3b4011f03b38100e3cf0645c3ee2046e3a539afa3bf408003c574af13b0000000000000000000000000000000000000000000000000000000000000000aee2f9bde7f5873c0000000000000000d01c9cbde1d70c3c0000000000000000260847bd6bc2cb3b00000000000000006bc400bda69d9e3b0000000000000000ab1690bc8770bc3b0000000000000000edbcc838d59be03a000000000000000049baa93ba7db023a0000000000000000000000000000000000000000000000000000000000000000000000000000000000ad7bbbe657333c262cc43c4be8083c22c3aeba8f64433ce3bcbc3c3a6e2a3cdfa6143ba280373c843ba53c505f303ce986243b48722d3c51476c3c79ab0f3c7c3a1b3bba6cff3b0226443c1541bf3bcea1e63acbd1773b4ff1e73b77806c3b4cf9933a60837f3ac8d4343bb72b8c390000000000000000000000000000000000000000000000000000000000000000f21a50bb9c8d91bb21becf3b5399b6bccbebb2baf7e887bb884626b8191f08bd3b62aeb9766c21bbd5d300bced4a2abdb5bceb3a5ae732bb654221bc016c1cbdfd6f0a3a325ae2ba9bd01fbc4964eabc56f48d3aa55b8dba3b5b0cbc1bcd76bc7b53523af53fcfb9fe1abfbb062714bb000000000000000000000000000000000000000000000000000000000000000095e328be657092bc31db463c87a0ce3bba691bbe3c0dcbbc7b2d113cddec813ba04d07be5f27ffbc43e0323bf7310d3b1fc2d3bd28f5d6bca6c63a3af7b6efb8a10e9fbd40dd96bced038f3a45e721b8758040bd628b1fbc69cf83baa7fa3dba455271bc40567d3a2d7818bbe4c79eba0000000000000000000000000000000000000000000000000000803f00000000f106443c8dc1cabd5b45a93fd70bccbd5a8d403cf4a53ebd3d858a3f3dd26ebdb877793c99fb67bc33c25f3ff6c9fdbc323c7e3c5e7511ba06d2253f77239abcfd99843c74f3663bc379de3e6a3d9ebce065653cfbae003c285a663e43411bbc4894423cc4c823ba6137ec3c9f6b30bc000000000000000000000000000000000000000000000000000000000000000059f00d3b921a20bc000000000000000096c6eebaa86ff8bb00000000000000007c2211bb7760e4bb0000000000000000bbe299ba0f43a1bb0000000000000000adffd53950f640bb0000000000000000d9f0763b70a7483900000000000000008b9f073cf78fca3a000000000000000000000000000000000000000000000000eeb5b9bb701d893be06a503c65ca093b003bf7bb7c6b103c2a80c93c79d5c63b8b7a7abb52db4c3c817ed73c6bea2a3cf2bb30b9f0754d3c1a86bd3ca04b4a3c126a243b01840c3c312d9d3c482e1a3c5e710b3ba8f8eb3b06ea6f3c1dce053cc139da3ad754b13b1499fb3b906d833b58429e3a41e20b3b1028313bda57993a0e9c44b94eb88dbaa58dd7ba71dbd6ba21104cbbcd1289ba91ba663c8524e1bbe52582bbc7007cbb828c4e3cd794a6bbd3368eba0684babb0380d43b1ed2e1bc60f6b4b9a513abbb0f4ec1ba6b9012bd3591b43a1a4620bb9046dabbc2c70cbd73ffb23a645748bb893b0ebc1b8ed4bcd0cebb3a5dc6e2bae4c316bc1ea070bcd207043b332f48ba4c5a1bbc4b1ca2bbd204823aebdf0cb9d0c286bb532c023ce95cc6bd7880f6bbed5c013c9c7a733b362823be902c0cbc7816513cf4b39f3bc7b227be905002bdaa580c3c869dec3bcabb12befa4d15bd4cdf9b3b0d3faf3b285ee3bd006b0fbddca2a8ba5e0a413bcdb3aabda9a0c7bc2f2ab4ba0454283aa61644bd33a74abc6b18d8ba670108ba3fc76fbc6c3395bb555c88bbe2dbe0bada381d3cc091ce3bb0451dbb655b3fbae7a8b63ce87144beaefca83fe3e1ff3c5b50e23c378b42be7df99f3fee37483c774ba13c6ce2f6bd43378a3f80b52c3d5684a23c1ed697bd6f7f5d3f98ad433d714cab3c6c371ebd7489233f79cd3a3d6757bb3c2414cabc8026d93e7e2c093d8a0fb03c515349bcba625c3e2376a03cd8fba23cef36ba3b9ca5ff3ca8479f3c6d5e4e3c11dc41bce79bb6bd04a83ebc728dd3bc14d8afba0000000000000000abd8eebc27d01fbb00000000000000007459e2bcb6e3e8bb0000000000000000b299c3bc9e9ca2bb00000000000000000ab084bc93888bbb00000000000000002f3e2abc3cf9b4b800000000000000007360a7bbd30a9b3a0000000000000000b8c06c3b9396003b0000000000000000e566bb3b02eb5f3b000000000000000036269cbbdd5c463b6378123caaaedb3aa444bebbd1c9163c0a9c9a3c53f92e3c6785fcbacc112e3c4fc2b43c9e8c5a3ccfb9e43913a82e3c23d5a83cdc1b5c3cf80d0b3b58d2113c159b763c7ff3343c680ac23af563f53b0c9f483c2ee3003ce33dd63a49476c3b7b70fc3b92e6973bcca9673acef2ea3a4aa6103bb8f1ef3a91e35bb9f4500239ba4e09bbb787d0ba8c8783bac9e1f5baeb2b6a3cb25102bcabf0ffba69aa8dbb6197373c3f4c78bc8ebf523a457eaabb2b67993b56bf02bdc132ea396b5874bb7f2eadba678e08bd1647003ba2712dbbc659debbc9b703bdeb5eef3a017b12bb3183f5bb5fa5c2bc87e9b23acd7100bbec6ed7bb6ac544bc5375a83a333560ba21f90bbc4e64e5bae2cf8d3a469e8eb8b35a52bb0bcf7c3b58697cbdffff4cbc4e07573b0a87ac3bdca102be618d17bd163bb73b8dc8f83b608a06bef63e5abd5c5f003b1098ff3b95c8fcbd0cf562bd77750c3b1e559b3b9a39c1bd06e433bd866195bbd6ab003b61499abdf01406bdba6a8eba2fa19f3a35ad35bd156c94bc28fdd0bab153c4b87c0981bc67bab6bb266e0bbb8a4853baf8eff03beac4b53b27ca85b9bcbecbbae4a9c03cd80548beca8e8d3f40dc733e9d71093d23fe4dbeb9318d3f6daf613ef59ab53ce16400be8cd26f3f45805b3ead17cc3c0499c7bdfb1c473f5a99363e065db63c4c7665bdcb2b123f37c10f3eae6aca3cfabb27bd4b58c73e39f0c43d895ead3ccacdf0bc015a583e1f6b4a3d9849a63c194268bcf729443d3da48e3cf4bc4d3c8c563cbc006060bdc8fd6ebc621f90bd78ecc83b0000000000000000a9c994bdb3119f3b0000000000000000dc396dbdf12117bb0000000000000000e6a950bd0fe293ba0000000000000000d12810bda0572cb900000000000000005d6bf9bce7a9283b000000000000000074039dbceff1b03b0000000000000000932bdcbb82497b3b000000000000000085260abb4f0cb13b000000000000000054a27abb72cc2e3b2045e53bcb538f3b8c4c9bbbfd6af83b6a65883cdeb0423c3ac00fbb69d0133c9099a93cec917f3c48bf97b9c073223c5b279e3ce303773c6608843a7b70213c38387d3c54fa503cc463f93a3dbdae3b5f924c3c77031a3c57e05e3a95ff953baedde33b8c9bab3bd13e093a3a4e043b20272a3b3f24033bfede36bacb010cba64d78fbacbedceb9d7a689ba427218bb65d3663c46cf72bc4f06ab3af24db6bbcbb4413cebff8fbc25c3fb3a1db4b5bb2cd1c63b74a0d9bc595b1b3bf45586bb479f8fb9531d02bd2b06583b435e21bb468b96bb6260eebc6a7a273b060d2bbb7b0bcbbbf49eb5bc4e81e73a840b82bab180d2bb7b0847bc135b413a16f175bac1ddeabb78bfc2bae0e73b38428505ba5226b8babe22a13b05f537bd4a9ee5bc8dd23fbb976e173c1853d0bd8d5170bdaf48f63a9b00263cff87eebd8b0894bd0c7239bb48ce253c2c5ee0bdbc058bbd988c8abbf2adae3bd5b8babd9d3974bd2998cebb6855643bd2b786bdf8ad2dbdc5b877bb226bd1b718852abd362fc1bc8428fdba556fb3ba5b067dbce78e10bc0566233a35e2ceba41f5943b2dabcd3b6c293e3a7e8ed1ba84eb923cd59231be572b693f50feed3e4dd2e03c9ad73bbe61e6673f1d19e33eb753b23c1ec808be5bab4b3f1fb5c93e0175b93c69b9bdbd7462263f56b5a63e603ab03cf4a378bd554afb3eb5c1803e5c18c23c8c6e3ebdabcfab3e7c2e2d3e478bbc3c28e9fdbc3ecc3a3e4168b93d93efa33c99329dbcf8d8523dd8d0c63c9a26623cee42adbc5caf13bd06f3edbcd851d8bddc35033c00000000000000007af6f6bdd2d03a3c0000000000000000226ec4bdb035a73b0000000000000000da919abd46a08a3b0000000000000000044c71bd8d8c3f3b00000000000000005af839bdc39cba3b0000000000000000e562f3bccf9a153c0000000000000000019f79bca33a033c0000000000000000047df4bb4927093c000000000000000040b042bbab31ec3a7abaac3bf6e5c33bf9b365bb708bbd3bcdb8683cbd73683cc1dfecbaa02f093cbe5d8d3cc144943c7db763383d301d3cd3668c3c1c2e843ca3a34f3b50dda93b968f3f3c662e383ce4dbc13af8facd3b49d6303c21052e3cac4d383a4f58823be40bc13b1336b13ba601423a48d2843a0756103bcd90203bd57d28bae18c39b99144edbac70b1bba0e70013a33ef49bbfc91483c69c755bc64432a3bc3fbcebb41ed163c996181bcbe8b423bdeabb0bbad307a3b8354d4bc1c3ba73b6d8da5bb42d89fb942beefbcfd6f893b80157ebaa7bef7bbf596debce12a433b534722bb2bffbcbb7e93a5bc7d1cde3a8c77a7bab384c1bb79ad34bc90d8df3a78f0b9baf97dabbbb9352abb255c90ba105e9138b62eb8ba54a07e3b108505bde4d91bbd9531e9bb387e373cc59da3bd4b1ca1bd8d9b20bbf6e34e3c9a90c1bda883b9bd98f7d1bb14731d3caddfbbbdae38afbd75042cbccdee0e3c7b1789bdac0c79bdfad470bc4766dd39e5b076bde0ff51bddf28bdbb0259ec3a179808bd87ade5bc2be055bba2d18cb9be3c55bc954821bc18d6a4396a552cbb1c2dab3bcc18c53b6c395b3b1ba3bfbaca7a6d3cecf111be5c9e303fb678303f5a5fb33c6f2d18beea1d2f3fc4c12b3f05279f3c3b3ed0bd4be81a3f6bbc143f07a2a33cf843a2bdcdce023fad4df43eb53c973c0e341bbdb785be3edda3b03eb1f5af3c92a021bd73c38b3e1cf4763e26b4a43c3257e7bcec991a3ef4b8ff3d4940953cc8e696bc76b1413db18efd3cc674253c91a59bbc91f3d5bcaad714bdef3414be6659743c000000000000000086c921be5661813c00000000000000008d3bf5bd2357083c0000000000000000805bcebdb155aa3b00000000000000003fef6fbd9158533b0000000000000000b9eb72bd18f7f13b000000000000000035351ebdbd500c3c0000000000000000c08facbcb7b43a3c0000000000000000e1f33ebc5784253c00000000000000006d1f29bbb956983a7b058e3b73e1d63b2de03ebb19aa3a3b4cd6523c8e71903c631a14bb83a7d63b3ac68a3c3c61a43c1b2ab2b8b1aef73b221f813cd1639b3cb3ef553a23d9fa3b5dbf603c2bd9673cc7f4f93af456a13bf638163c9bf2543ce403643a9984443b2b66de3b7ec8ef3bc2cf343aa34e213b23883d3a8583283bd381e6b9170fcfb9b5eadeba4fb8823a9055e03ab02674bb2729263ccf421cbcbead5c3b65b7edbb45cff13b180623bc4fc5ab3b108bdfbba25c923bcd5494bcc7acad3b5a6d99bb2f50e1ba3619aebc3dd5af3b352559bbd4c882bb7d75bcbc40d4753bb40d24bb8c97c8bb828988bc0288843a142d80ba3a32b9bb16c119bc5aed3a3a3ea313ba9f38c0bb206560bbfd099bba4fa546b9272966bab43a543bea8db8bc24154dbdc391f1bb2d0e3f3c51f672bd69dfd4bd77c422bbe86e6f3caea3a3bd295ce5bd2b6616bc5b2f4b3c4e1da2bde5a7d2bdecd052bc13c8f93b3f3f8cbd369da7bdcff93ebc91a8853b7f2252bdd5227abd339df2bbb52002392b9406bd8da60ebdd47093bafa883fbb93b03dbc1daf2fbc12c8f03a05cd86bbd2fd913b236eae3bc9da8c3b535a19bbc3031c3c43d4ddbdba69ef3e5344683f434d8d3c7db1e1bd0c33ea3ee6b1643f1fae453c4269a5bd9c1dd73e1d17463f436c913c5a376dbd6695b73ee9a41f3fe093863ca2a41bbd6cdb913e80b8ec3e9fd8953c72acf7bc80114e3efb909d3ea7268c3cc66ea2bce551f13d48ac233e786b803c2d2459bc9f2f2a3dd6100d3ddb01283ccc286cbc2a3d98bce5c63fbd4bc531be3a7a9b3c000000000000000041a147be9880b43c00000000000000002fab19be5385423c0000000000000000d615edbde9472a3c000000000000000052ccafbd1b9aeb3b0000000000000000c48583bd7c3a393c0000000000000000b39631bd2ad6513c000000000000000035f8b8bcf7656b3c0000000000000000e85486bc02594e3c0000000000000000d0e509bbe1a2e6b864a3d53abbcb273c271870bb5aff333b8dfe3e3ca763a73c346fe1bae76e933b15b1753ca426b53c2b4a7fb8d398b03b98fb773c66d8a93cd62e383a62bdcc3ba4f6423c3492833c9b4972396039ab3ba74a223c9b55453c33dda83a63bd613bb2b78c3bceeb0a3c30207f3905882b3bbb7cac3a5de2393bf12ea0b6f11c3636eb9ac1ba6e1c80bacf18f03af43fc2bb566cfa3be14f81bbe17c8c3bab7302bccca5893b674997bb5cfcde3bc1d1dabb5705683baffd79bce96aff3bc48bd2bb209d14bb9fc582bc0906c03b30aa0cbbe83bb9bbb11899bcfdd88f3b650e38bb53a19bbbf2b083bc4f9ebb3ad8049dbae822acbb0c0c1abc3c2aa53a95cd72ba2b9a8abbb4fa92bbcad310ba98156039d9f90dbbebc57b3a64ca1abc7e1289bd43eec5baaf60613c3d1c29bdc5a905be1657053b3dca573c78e479bd60ec04be2bbb59bcfeaa3c3c300584bdbbb9f6bdd74b89bc4dcd343c7d205ebd50b9b9bd0f9790bccb2ae83ac8ed30bd31348ebdbaf117bc841fe93ad84fd1bca9e222bd524e4ebb077fd6ba58a728bc979f4fbcbbbad63a148698bbee8a873b45cd003cf264823b4d6c88bbf6279e3b478285bddd25753e4e4b8d3fc8f3453cd3e689bd4b1a703e464b8c3f556bd63bdc3b2dbd9c93763e9fe46b3f7839383c7b9efabceb89583eea9c413f83a2513cd2f585bc46c5333e1ad40b3f66567c3cac3b5abcf64f043ee68ebd3eebb2713cdfc229bcb7a79e3da963433e6594303c340ba3bbaf380d3d5332073de17fe73b5f71b1bb75e5f5bba9ab80bd0b2649be6430c73c00000000000000002a8e5bbecf3be23c00000000000000001add16be6645493c000000000000000003def9bdb021163c00000000000000003d80a0bd084d033c0000000000000000d8cd86bd90571e3c00000000000000000d232ebd90ba3f3c000000000000000074558abcdf2b3f3c000000000000000018bdd2bba7e54c3c0000000000000000e88e1fbbf72978ba288f443b511f5a3c12cb24bb8c3005bb26e0163c7836cc3cbed622bb35463e3b5400783ce60cd83ce5baa2ba7a059e3b73af593c474fbd3ca02b1f3a6f619c3b004f4a3cde698f3cb0ddbd3a181c633b096e1c3cc32d633c1dc7cf39088a773bf97b8f3b1843163c3aee3b3a8107143b3731903a8572473b76606cb8c6708439b0f0f8ba9ae7a9ba34152f3b6f9ac7bbb712ba3b74516a3baa019f3bdade30bc2a66503b66b5a03b76e5f03b922507bc2d50f43aebb5d2bbbc23033c0cecb2bbc01de7baaae013bc1349ba3b47bd18bb3c44a0bb1dc870bc7cbcad3b81bb2fbb83f8b5bb3c7341bc715e423beae1b8ba37d2b0bbe0b616bc58e6873af793bd3930d585bb027bdcbb103282ba7f1bbb383d0931baa009dd399a43fabb6885cebd005e2e3afaca463c618397bc5f1322beda38113c668e8a3cceb43cbdd60c24be284f1ebc2a5f5b3c0f7a4abd54150ebe222297bc8e3d103c815645bd32d7d6bdbf7989bc9bea323bce9d12bd7829a5bd3fdb31bc0e167fb9685fadbc4fae3ebde7958bbba50c5fbbd9670cbca5fd4dbce0423a391923febb17607e3b803e353c0b8cd73bdba58abb0f28c0bacc7bd3bc8a4d073dab1ba93f7c62103b7676b0bc167ce13c0d059f3f2dab323b35b652bc74cd8b3d6cd4883fb624943bc0b9e7bb0d9ba13d2ec05a3fb9db1f3c8f04df3a91d1a03df1281f3f80fb2d3c9e60863ba8307f3dcbcad33efcd83b3cbfad873bb54b3a3d46ee4f3e7c8bd83b561b0e3c05eded3c0d5bcc3c80bd8d3b0ae3b5b85687b7bbde94bfbd35a746be55eab33c000000000000000052274fbeadc2a63c0000000000000000ec5311bea15e0f3c0000000000000000f07ccfbd2670843b000000000000000070358bbde38ca93b00000000000000001d1c48bddac6e53b0000000000000000ae3fe7bc9f9d303c00000000000000005a7dd139b905453c00000000000000007901fbbb0dea343c000000000000000000000000000000000000000000000000631644bbb80a043ad587363cf4e9c53c416ed2babcb3eb3a8c124f3cadcbc03cf03de1b768d08c3b20c45c3c60e5a43ca38a0eb935a29b3baa183d3cfc8a803cb705703a98c15b3b345b003c15d24c3c4e413f3a91ed0d3b8b849d3b9e6cf33bee771539cc989e3aa11e5d3add5e353b00000000000000000000000000000000000000000000000000000000000000006b81f73b8ff3eabb94d7693b069e5d3b9908053ca3d7aebba8698539462a49bbc66d093cf44448bb55c894bb6d2926bcdf95e33b5fd557ba4407a9bbe7c036bcd85e953bb5caa2ba914bcabb5dd618bc89f5303b015f1eb91c2282bb0e46e1bbf2e81639c4009fb7e01043bb787e3fbb0000000000000000000000000000000000000000000000000000000000000000f5caddbcede827be86812fbcc7e1353c98b418bd785e18be213b9abc8450023c00ac3abd4acf04be1e51d3bc987f223b14a225bd8123d1bd9403c4bcf2531dbbe6e1f9bccbda99bd7ee882bcaf5735ba5bee92bc5b6d3bbd9350f3bbb7b86cbb82c97fbb40f959bcf9a9d83a09c364bb000000000000000000000000000000000000000000000000000000000000803fd47fb6bba54a233ca579b4bdc6fda83f0595e5b90bef563c38a81fbd750d8a3f7ea19a3b1398823c99c88bbbd6885e3f1717db3b7b25913c1da7cd3b89bf253f6a97163c73d1833c74f4dc3bc0dcdb3e839cd93bfc0b6c3ccc2ad93b5058673e8d32c43b0010413c92e0eeba05ded63c0000000000000000000000000000000000000000000000000000000000000000201be3bde595bb3b000000000000000031b08cbd7aa9eb3a00000000000000002e2a25bd213b81ba0000000000000000e959dbbc37c3b73700000000000000003473abbcbcc1483a0000000000000000c68f34bc227c893b0000000000000000d0ad08bc88e2d43b0000000000000000000000000000000000000000000000000000000000000000000000000000000079a9eb3bc1d1c43be8dd113ca3ada03bf4631d3cb964eb3b7ac7093ccff0b53bb3a8323c44d5fa3b4d800c3c85ada43b5f37103c8a44c23b558af03b8cec893b2df7ed3b99b1ae3b84cae53b0e97233bbf3e943b6d4f683b0ada3f3b3d49ea3ac6efbc3a739a173b5ee2193ad3b1a13a000000000000000000000000000000000000000000000000000000000000000034e8eab82275bdbb39fd89bcf8723bbd85f5ae382d9ec1bb45e0f3bc38884dbd7fcea3b9addc8bbbbf561bbda4ce58bd9e4b673ab5fd4ebb5b9b12bd06713abd56931838070068bb5aecf4bc89dd12bd4cb804bafe9a7fba41b690bc4c30bfbcf166093918f5c6ba4241aabb9dcd14bc00000000000000000000000000000000000000000000000000000000000000005880bbbd582c07bda80f1e3cab0b9d3cebf0a9bdfca4f7bc6023093c9fe4943c222a9dbd3b9ff2bc48ec723bc94a7f3cd9026cbd2debccbc43410a3b9fd11f3c88063abd8a8e8dbcac1a9f3b03a1183c550df1bc438923bcbdc78c3b9a0db93b0e6955bcf2e64eba2ac88e3b24cd133a0000000000000000000000000000000000000000000000000000803f0000000081b2b23cc82ca4bc50ee963f070cebbc6ab0253d8bcf703cc37f773fa9d741bcec2a5e3d72c90d3dddb6473febc040bb567c523d00a70b3d576a163f33d67dbb7b58403d87bac73cf269d33e7fcd81bcd8c3113d608d1a3c2dc4773eaf56b0bca81d8d3c60c632bcec7b9b3d2aef0fbd000000000000000000000000000000000000000000000000000000000000000094a843bcce5de8bc0000000000000000a0d989bc4a9a17bd0000000000000000b2758dbc25ea0dbd00000000000000006dcd8bbce9e304bd0000000000000000c729aabcfc98ecbc0000000000000000b3606ebc3c5685bc0000000000000000c684c3bb6de643ba000000000000000000000000000000000000000000000000150fbc3a8ab2ae3aa53da33b47b1263b89c6c33b0c1ca03bf31d043cd292963bbe522c3c5340ef3b5e5d1d3c7584b63b4bb4353ca2edfb3b18bb143cc3dda53b373a0c3c43b7fc3bb1d0d63bfe05d03b4123073c7aad9e3bdefbc43b5bad773bcad19e3b5cc2733b48d8763b065f373b6059f33a957f023b04a8fa3a1db62e3a502a82ba98762eb91ee0a0b99352e1b96671673a2b015dbb8f87e03b8eb3d5bcc1f7b6b96264cfbb121ba4bb04c924bdb02f19baa820cbbb8268efbca2505bbd8ef81cb966bac1bb037117bda29c60bda7a495ba483638bbc4ee04bd1ccb3dbde63a80ba49c44abb79a8f3bc5a8422bd30fc83baee0522bbcca993bc2607c2bc115d3a3a0f64c1baf33e14bc6da82fbccd798fb9df92773907f8b33b7dd0e13a5cfb5bbd3202c8bcebdc0b3b0b86423c9c1eafbd6e58fbbcf5a3383cc4a6bb3c92d3b2bd4c4613bdfea7053c9243b53c03a49dbda40408bd323bef3b4a7ea43c1aba76bd05ecf2bc8276c23a666b323c854043bd1dd2a0bc9a6ad83b598e4c3c9afff1bced0433bcfb06b23b8047cc3bf56c58bc7d1672bb446c1b3bfacbe63a66d5933bf53e263bd355e73ac15012bb011ad2bbeccda7bd5561963fa182cb3d09e62f3c98158ebd948d8d3f9305a23d49e1263d46101fbc22656c3f6dd8b53d8ad8583d8f2f6f3c826f3d3f0c49a03d48cf513d2fcfcf3c46aa0b3f2eca803d6f0a543dcc63883cb8a2c63ed6dc043d5ea61d3d9514203b1a23633e3c8ff03bccc80f3d94be3fbc39c1903d43ac1bbc58f9883b6285e5bc19083fbded80e4bc800d97bcd8f966bc00000000000000003c5e0cbd70c90dbd00000000000000006c9bedbcf8b32dbd0000000000000000a1e0fdbc606139bd00000000000000000aafc8bc37880cbd00000000000000003567eebc316702bd0000000000000000af6ebcbc485293bc0000000000000000897a10bc5d41153b00000000000000005f936eba75981e3c0000000000000000bf6c733a350a113ae2ec563bd2c3243bc115ce3bd15a9b3bdcc2003cac87a33bd213253cc7d4cf3ba6b70d3cee50ac3bd7733c3c38b2ef3be90e173c329cb63b16e0153c89a7bf3bfccdef3bc7d8843bc013003c24c8b13bb935c13b6041643bd9c79e3ba5fc273b4fb08c3bd47ba83a0c81143bf801ee3ab8dcc23a4ce1493a5d837fba24935d36eeb42fb8ffc206bab3ae273960d70dbb64f81b3c1cd9adbc66ef373a907fc0bb989f09bcb6242ebd9070503a7f3593bbd9aaf1bc3b804dbd7f2d63b9b372adbb107210bd030d59bd91fe4b3ad0231bbbde2b0fbdf4e932bdb19cc039783f76bb251febbc368b17bdf77b8d3a4cc11ebb3dac92bcd1d9c0bcf437a3b8b2aca1ba434af1bb759539bc20057737e7d97d3911cd5e3b44d9383afc3909bd7c62aabcbdd67cbbfee9363c1c5994bd66131bbdafc78f3a7f43b43c18e791bdfeed23bdcd8b17bb8ab58b3c91fe91bd0de71fbd28ca993a37a79a3cf2945abda7abf8bc5f5584ba00ecfd3b53e932bd1c7cc3bc5705253b20984f3c1662d0bc8d0255bc22e38f3ae72bf63b525b27bccc8190bbf1c9ab3a33fa613bf2c3703baa8cbb3a1733253a1c4932ba4a0b12bcaeebbabd5f777e3f7d0d883e4bf7823c54de93bd9020773f1f7d7a3e6e991d3db04e21bc22a0493fb7c7653e201c573d760fa13ba488283f11583b3e386c4d3dc9978a3c8011f73e66d60e3ec6fb4b3de0a9153c091cb33e7c3cb83d8f040f3d9a5b21bb3e89513ec4de3a3d96fce43caf2b8dbc1bec933da8a2923b40751e3c4d43c4bc56dbe6bc1641b5bc5edc16bd0bfc61bc000000000000000004ee3fbdddef00bd0000000000000000600605bd839810bd00000000000000003d7d21bd628733bd00000000000000005190eabc3a240abd0000000000000000e2311abd282208bd0000000000000000fddff8bcad70a1bc00000000000000009c50b0bc073f6dba0000000000000000e2a507bca6aa263c000000000000000095b4c53aff56d0b6d7eb923bac50163b1e1ddf3b0102873b81f7d63bc1f5b13b90b7183c24bacc3b6ab7233cfe21ab3b7e17353c8165d43baf460d3cf824bc3b2c19193c9d4fd93b736ed83b6fe9a03b3c45093cf32d8f3b8242bd3b99a1713bb4999e3b8221613ba3cf683b6c74243be78b0f3b8dcfc23aa9ffae3ad4f7ee3a7b5806ba92ea50b98155bab937f105b902771738be5cf3ba2c10e83b55dec8bc0d5f633a017ea2bbac1527bc5ae223bd3995143a9fbca1bb958de6bc6c7448bda285f139f9a096bb77b30bbdde144cbd80d01d3a2c9320bb64b60cbd57c331bd3e37943854624fbb4a8eecbc5cde0ebd5a34a236947c15bb812d8fbcefa6b9bc4b7f67bad94c54ba7d7fdcbb80da37bcf573a7b9253813b86b446f3b655e8b3af3ebe3bca2fed0bce4bdeabb829d3c3c64f875bdc22f29bdd53ee9bbb35eac3c647f8abd3eff39bd743bbabbd286a83ca3dc84bd11512fbd76b78fbb9df4913c1f3c4fbdd7d30cbdbb8aa7bb0e29153c281c28bd6902d0bcbe1d2db960914c3c393dd4bc77a880bc2648853a6086013c51fb33bcb436babbd5c89e3a65de833bbeb8493bcb5bf43af836333ac3714c3a0ada0dbcdba095bd3ed4513f6249e33eaab3763c98917fbd38e34a3f483dd73ec451193dad0864bc33832d3fe0b8b93e3755493d2851cc3b3ff70d3fb89c973e55724d3dcbbe8b3ce74fd43e778a633e9d9e453d27b60b3c23c3993e20171b3ed389193d5962ddbaf4f9343e046aa73d8da3df3c240487bcce91873dc6ebb53c052eac3bb2b3ccbcca65acbca962b4bc26e23ebd6fbc5fbc0000000000000000faa67bbd35fdf2bc000000000000000078c24fbd38572bbd000000000000000060ee3fbd70dd2dbd00000000000000006cb915bde49113bd00000000000000007ac838bdbae50cbd0000000000000000b2a61dbdae5ba4bc000000000000000085aff2bcff0393ba000000000000000072e18bbc08d70f3c0000000000000000cd38113b052318bac70d1d3beea6503be9fdc23b67849c3b628eb43b8069d93b7d20233c0ca3b93b95a2083cf786bc3b600c223c822edc3b083e113c7d15bc3bb050123c42d1a83b3630d53bcf21b13bbbaef73b831fa53b333db93ba67b8b3b60b2a73b6a93533b1e1f383b5c72fc3abda9fa3a35edc43a4dc2c43a04ddad3a086833baba67b6b8d05c24bae29444b939b85f3aa389e4ba1eeda13b56c7a2bc112bd939328785bb264926bcd5f118bdb3c6a23a301671bb95ccefbca39935bd12eb473a27557bbb42d007bd738f3ebdbbca993a59f1dbba914008bd70d420bd318a70b8cc971cbbae67e2bcdd470bbde960103aa56902bb560c9dbcc248a1bcad049537c8fd9cba872af1bbdb3016bc52fe45b9f4f9ae372b59823be018143a03f6bfbc66b7c6bc79a667bcf030363cf68058bd158639bdce4472bc6e1eaf3c0b7077bd207c4cbd035a47bca9248c3c562c74bdc07142bde83713bc59cd863c68d036bd4fc112bd667c3dbcf750c23b520722bd9e74f1bc9c054dbb70ad433c8edac3bc4a3088bc50fe33bae2700b3c156e2bbcc1d0debbbfb1f538ec049a3be9a43d3b0e27213b69f9b73a9988d339cec71bbc254c77bd7a35223fb4b5213fc9014a3c661438bd8e4d1d3f293b193f3a13163d5d9d3abbcfc9073f7451013f68f6493df1f6473c0a70e13ed4fbd23e572d393ddca5b93c4681a83e11bb9a3e229a463d8298513c8911793e88285c3e26831c3d6a16a9bbb8a6153eddc6fb3d5258d03cd5675cbccfef573d2275213d9636ae3b7353b5bcea0a8fbc0ddfb9bcbb0681bde4ff4abc0000000000000000fd7e99bd7915ecbc00000000000000007a7f64bddadf12bd00000000000000000f7064bd5e0626bd000000000000000003ec0fbdd7bdfcbc0000000000000000bcd04ebd47de09bd000000000000000075d441bd2de8aabc00000000000000008a2b12bdae81a6ba0000000000000000ff17b8bc1ec00e3c0000000000000000c1e3913acae1e039a39ffd3acefc6d3b5a64bc3b6ccc6f3b43cbd53bc080c53b8f9c163c2006bb3b7409013ce75ef03be056293cd8e8d43bc334053c97bdd53b4e87153c1b8bbe3b5bf2d83bc1b7a53b8bdbf33b65e7943ba1dbbd3b001b853bce7d9c3b75dc443b7be8733babe3283bc07e1c3bf0dda23a232aeb3a5a0f6e3ab138e2b96299d5b9df56dab82eecb8b980db9f3a58c100bbb13b983bc5777fbc66d0053bd4d29ebbfea710bc0e32ffbc54d9cc3aa7509cbba9a2d0bcd5da25bd2372a73a61ba81bb9eeb08bd6fa22cbdabbbe13adade01bb396e08bd9c6617bd915f92b931dce7baf246dabc3258f0bc7470243af67616bb21af96bcbc7fa1bc05359e3878a2b1ba729304bc3b3009bcecde73b93199aa3703b9363b23dec13a62bfa9bca0f6e0bca33aa7bcd4635a3cb0bc45bd3fb866bd33c793bcbfc6c53cc0e468bd3fdb74bdc70987bc79f6af3cc61a67bd13935abd83a95ebc78b88b3cb1483abde4df29bd0c6a3bbc34b3ed3b5f071cbd61d202bd54bbd6bb8990433c79e9c1bc1e6f9ebc2152e1ba8dd7043c94ca2abc4cc8e8bbd2488db90a6da93ba7d3f83a6ec8403b572300ba29ad143ba82f26bcfffd3dbd8cd1e63ee589503f8b6f203c0ab501bd7d6fe03e719e473f3c3e053d6fb2283b637bc83ec31f283f1e773d3d40d4a43c4651a93e58a6063f5d71423de209ce3c6676823e0bcfc63eae233a3dafc58e3c5b8e3d3ee2e48b3e10ce193d34afce3b170bdd3d4607203e77bfd53c5c9503bcece61e3de4c3583d2d9c8a3bcb6594bc82df8cbc1189c0bc571f9ebd18a729bc0000000000000000c568bcbd7c73eebc000000000000000062858ebd36d11bbd0000000000000000c84f73bd8d1827bd0000000000000000f9113abd718f09bd0000000000000000aeed5bbd231e07bd0000000000000000339345bd4b1aa5bc00000000000000001fee27bdb013b9b900000000000000004a5acdbc56f50c3c00000000000000001aae46390e05a33909c2333b632b6f3bd7cb963b32246e3b7611d13bbbf8e83be92c093c7441bf3bfac4fe3b91cdec3b8e3f183c61e1d83be71b053cd10fe73b1655083cbf5bc83bc2f5ca3bce12b73b01c4e73b6a769d3ba02fab3b755b963bd11c973b97883c3b443f4d3bcccf2c3b68c7103b3e57c83ab245dc3a42399f3a00b021bae987dbb96ddc21391c21feb97334b73a16b127bb287ef23b57c112bc655f2f3b21369dbbd52cfbbb212cc8bc1ff71c3bed4379bb7f57d3bcde5410bd1f79f13a92f986bb4c61fdbc411619bd8a83af3a79a1b8ba189401bde13409bd3d94813a5beb33bb20d6e1bc5656e0bca251b6393c64d9bae4378ebc612c8cbc227de8381068b0ba453d1abca116e0bb4be09d376637bbb92e039f3a7873403b3536a9bcdc3915bdc89894bc71e98b3ce3fc38bdf6bd89bd945ba4bcea7dbc3c7b7c55bdccc781bd3d9aa6bc57d3853c17da5cbdc55b78bd713f8dbcca068d3ccca631bdca2237bda9a079bc4823d73b53fb13bd75af0fbd197b05bc337a493cedfeb0bcbaf9a6bc3c838cbbdb0f003c029c28bc065c20bcc2edad3ad3b3913b77d663ba1f13b83b66ae453afbc3703abe0256bc61290bbd5860893ec4747e3fe857093c08ac87bc8712873e83ec733f6f67f93c4ec48d3cd17c813e9931453f915f2f3d9e64df3c5135623eb1a6223f7f17383dc790fc3c33ee313ef61bed3ed767403d3fbdbd3c62aa013ee5e3a73e1e4a083d3b0b2c3c2ed5943db4b1403e563cd93c0f3d9dba85c8af3c2c18813d7285f43b20612abc21678fbcd16c01bd5880c1bdc3fe44bc0000000000000000b25bd2bd7f62cebc00000000000000002bbf74bd80cb00bd000000000000000052f578bdf4d525bd000000000000000065252dbd91d0f9bc000000000000000076075ebd16ce08bd0000000000000000bdd33cbd0d54aabc00000000000000009f7b2bbd06eea23a00000000000000007346d0bcbcb0553c0000000000000000306af7b90d40283aec81453bf686b83bafc05c3b8b27583ba46adf3b04c1f33b95ae023c9ec2b83b4a7af33b0ce91e3ce80c163cf790e13bcdd7003c9c42eb3b6317f03b847cd23b07fcda3b4412bc3bf150f53b4e189c3b246bb13b8c0d943b9692953b342b603be458543b767c4c3bfc0f063b792dd23a26e9f23a59a9963a2a3c9eb95c726bb931b2d0b92d3425baf474193b466439bb29effa3b6d629fbb9339433b6642bbbb9daa98bbc73e6cbcad67e53ace808cbb893ab8bcc55df1bccd3a133b8fcf81bb8538eabc9c1d09bd1ffd093b4d85f3bace1cf7bccc66f8bc8448ba3a7a4441bb4286dcbcb1e6c9bcd20f1b3a57db06bb95e89cbcb7ed6fbccab469394bc39cba8a0d33bc35baddbb37c2dab852c2c0b9435dbf3a38de2d3b564dd3bcd0ea5dbd891cbcbc288d803c739e27bde87ba6bd8d8a95bc0809e43c606052bdd2c5a1bd0bf8b4bc1f75aa3c09ed4ebdfca78cbd6bc99abc191c883c86912fbde4874fbd312f89bcdf72fc3bcf4e0ebd8f7b21bd8d183ebc0fc64e3c8a1ab5bc229ec6bc7dd48bbbfd4c053c42270ebc844622bcf3227eb98e956e3b328f0d3bfb419f3b19e7263a18ee133b448358bc8b689abc1718d53d5178963f47a2343b7c5f8cbb7427ca3dec608c3f5abfdb3c85c5c53cedc9fb3d16bc683f2165283d1705113d5281f13db5ff383f3c8d363da2cf183df94ecb3d31ed073fd5b63c3d8e88ff3cd9cb903d1e5abe3eb1b9183dfe7aa43c7ca5193dd3ee563e68f2f13cad721e3c4c11e33b4ece833d7e21ae3be539ecbbc544b9bc3ab643bd5791adbd20d312bc0000000000000000b1e8cbbd84b502bd00000000000000006dbb7dbd5a2413bd00000000000000007a4054bdd36424bd000000000000000088ad19bd4c2607bd0000000000000000e43637bdc20e06bd0000000000000000fa9233bd530ba2bc0000000000000000165d0fbd1290993b0000000000000000fbc8ecbc8afc393c000000000000000000000000000000000000000000000000e01e653b30409f3ba241df3b447cfa3b131ce43b199c9c3bd7550f3cb316df3bd72e033c30ead13bc8aa013c8a34e23b517cde3b68b6d73b8b23d73b3bcebf3b4c3bc33b80a69f3bf1fc963bd23a9e3b824b853ba9d93a3bca3c683b842e253b19eaa83a6699c23a81c0ae3a4fd19f3a000000000000000000000000000000000000000000000000000000000000000009a68d3b19ad8dbb7c890ebcf16483bca024483b0e9f42bbcc03a9bc788ecdbcc450483b56d31bbb0366f5bce57bf9bc62fe1c3b77cca1ba12a4e1bc8202e2bc058ad43aab5ebdba191ec4bc4d4cb3bc2a569e3ad1e5bdba14b489bc328355bcf276e239710ab4ba246eeabb1bd956bb0000000000000000000000000000000000000000000000000000000000000000fe7831bdd841b2bd3569cebc8dee853c264236bdd4339fbdce15bebcaf066f3c39a03abd194389bd294dbcbc9571fc3b19d725bd3a8857bd3e40a5bca80a5c3b3fc6febcbe4b25bded3f4ebc03e2c53b451da2bcabe1d3bcfc19dbbb60d4a53b293604bceee52abc8b3ba8bab194ac3b000000000000000000000000000000000000000000000000000000000000803f0768d23b3fb6883c581d0fbc6800963f7fe4de3c856cfe3c5c47903c3e16753f22aa2b3d4dad323d118f033d2ad7443f74272d3df1692f3dd268fe3c8363133fd9be263d569a0b3d1b7ba23cc118ce3e709d0a3dfaadbd3c7b9eb53b28d86f3e81aeaa3cd56d0a3c13e45dbc19328b3d0000000000000000000000000000000000000000000000000000000000000000435b40bdef789fbc0000000000000000bee7ffbc5048e7bc0000000000000000321fb3bc4ae6f0bc0000000000000000c21a94bc95b2debc00000000000000000dc0eabcb0eaebbc00000000000000003c98eebc322992bc0000000000000000cc7405bda27eaabb00000000000000000000000000000000000000000000000000000000000000000000000000000000b28408bcd9ac1c3c2fca383d0aea093c2ff62ebb5530633cefe7223d96c3243cf434363b9d3b513c67b6023d923c5f3cdc90983bde1d2b3c8b6dbe3c12fa313c477f723b7b2d063c2a3e5c3cbb95fe3be2c6e23ad11e973bd8adb83b55a5843ba6b2db3ae04ba6ba86fc00bb845cb3b90000000000000000000000000000000000000000000000000000000000000000112508bcb5b725bb1956ed3bfdb5053cd0711dbb563ee6ba85537339beba1ebc6859203a6708093ab5c3c1ba9599bebc9d33503b10822f3bda279abba2ecc7bccf49563b964d743bfa229fbbd6f3b4bc9a555e3b64e11d3b2341e3bb579c7fbc8392393b596a843aa7358abb573480bb0000000000000000000000000000000000000000000000000000000000000000937662be823a573ce8698d3b00c0803b28c149be268f9bbb0b3c7dbaec74833b4d3636beec2995bc20d2a9bbc04e1a3b537011be4160b0bc5307e2bb029f093be8e3b9bde51099bcbeb820bcc60b16b877652fbdd45e93bc4939d9bb2ad3f2ba172128ba8b5000bcaf9690bb252203bb0000000000000000000000000000000000000000000000000000803f0000000051a7b13c9cb90abe15f6ad3f25d515bec6fa533c493992bde8588d3f5479b3bd990b2b3cc55d3fbdad7a6b3fd7247cbd4841f93b3d4293bcc5502d3f189213bd8ffece3b26cb923b08a7da3ea79713bc7020d43b0e63993c2db5503e6285523c04faed3aa80da83cfcc2e1bad5089e3c0000000000000000000000000000000000000000000000000000000000000000a23dbe3c7ea203bc000000000000000090bd913ca341f8bb0000000000000000ed9f9d3c9aa127bc0000000000000000bb65993cc00acdbb0000000000000000b071a13cc91fe0bb0000000000000000f0aa833c005b47bb0000000000000000fbd34b3c5bda60bb000000000000000000000000000000000000000000000000fb7912bcf084653b5b2bc03ce46cceba6c8e0dbcc11de73b27091d3d9b51d83a7bf2a2bbd723793c1eeb263dccc6493c45a36e3a90fc683c00f9143d6cd4863c897a973b69b9443cc9c7c73c084a443c734a8a3b085a0a3cb274923c7b75073c74562c3b3b257e3bfca0c83ba513943be3def63a2a24f93918f786baec10e73a46e8d9bab9a56ebb71adadbb315f85bb3f44c1bb9b63bab93b20163c5936893c31efaebb5ce091ba6205e73b413e4d3c207731bb43331ebbcf3d053cf13428bc98499f39f9181dbaf06ad83a9d7d90bc63e2753bd8d6723a35c12bbb896fb0bc772db63b0b23123b74509ebbb48cafbcf582a63bb281353bfbc4a3bb21b96ebc3b569b3b84eca93a294eccbb544dd7bb82cc473b84ed9bb91e4cb0bb8b0a113c245800be2e6a723cb971153befa51639577f35bec664dd3b51b2cfb9b2cf663a0af250beaf0e89bcd3786ebb613a963bee0c3fbedc6adebc95f616bcab78613bc1d512be41b9f1bc08414dbc5170743a34c4c3bd5afdf2bc8a9e31bc39c792babfa938bd908eb5bca1ee31bc099a34bb673ae3bb4ea385bcf48485bb6b6f80bb36a6b73c712e2f3951319dba813270bb64584e3dc7fd76bec587ad3fb5235ebc4d5b2d3d15613ebee135993f4d29833c5eeafe3c1f791dbe0d648d3f84c4263cf447db3cf73ee2bda67c653f573bb03cdad3a13cec748cbd68042a3f4cb0083dc3df7a3cf4e4e2bcf032d53e6e03343d2aaa323c4b1b18b9096c453ef6a02c3d3d8e8c3bb0cf8f3c532cef3cdc6b163d5c27f83b9776243c874defbd162f373cd8d6b6bba66fa83a0000000000000000634dc8bbbe93263b0000000000000000eb7828bbd21b843a000000000000000020e02539d7ab493900000000000000006321a43b82d6b2ba00000000000000002e71e13bc089a3ba00000000000000005cd00b3c3d9bd13a00000000000000005aedb43a9b3aad3a00000000000000003becd03a5f154b3b0000000000000000fd0598bb40100b3b46c5673cfc48d2ba6d08d1bb77e3163cc590fe3c82a5023c23a085bb4cd9733c1b23063df29d8e3ca0a60c3bdd986f3c4343f33ce818803c1adc853b0f43413c2f4fae3c954f473cd0ca6a3b438fda3bd7587c3cd65bfb3bc943123b6473ac3bfc5dd23bb2cb1c3beea8c53a8cbb00ba73738aba861f1cbaa934d2b930ff02bbe4e287bb6b4a8abb280142bb4ae36ab9e93bf73be290d93b941100bb244c97babe353e3c49f797b98c75a63a0ba1aaba24960a3ce99737bc75bd913b4976a5b924ea8c3b3b549ebc430bae3b3cd3263b97f001baf2c0b8bc80d10a3c2c27813bbaf3d8bae79ba0bc0043cc3b23a04b3b97e9babb88f037bc8753b13b27571d3b1d4fdabbf6ba01bb573d333bfa324c3a6688d2bb2e7de13b66909fbddcd8293b6dbfecba0352ac38941524beb264b2bc8c35e5ba7818f93aba0b39be4ce32abdda6bdabb949e673b56a92abe53433bbd5dd33bbccf0ca93a070b04be8ff934bd055459bc991ffbb8d9f0b9bdcc211abd05eb71bceca15dbbd89c35bd6db6d5bc4b3335bcf896adbbaa640dbcd6f26dbcab17aabbccb8ccbb830c5a3c4b6487b9336a36b93129acbb4218533d833266be384e8e3ff81c593e1dbe593d712f64be99028e3f31a1423ebeab273da18c38be241b7f3f7b622c3e4e0afb3c3fbf0abef280513fce3e173e74e0d43cdd4ab3bdc9f2193fe3cb003eae6fae3c81b13fbd4257c53ea869d23d0376753c636789bc50b4383ea535983d6a8e383c3679c23829b9d63c601e1f3d41461b3ce84d1a3b17628dbd9bb77cb93f7962bd79b2813c00000000000000001b8a57bd37437e3c0000000000000000d6912fbd30e1333c0000000000000000ba58f1bc0e75fb3b0000000000000000160b96bcaf85033c00000000000000000dad1dbcab89e53b00000000000000000907afba8114c13b000000000000000099b38aba6357e83b0000000000000000339d06bb61f9b13b00000000000000007e015ebbbcbff83967ad1d3cf8cc1e3b2462a8bb9063073c312fca3cf12d543c16a6a9ba0fb33a3cedf5f03c58e59d3c415bf939aaa46b3c466ccf3c94d89c3c2d4c993b1ad9303c492e983c33a5733cfc9ebd3a0ddc093c67ca4d3cc60e0a3c910d803b1f5c2f3bbc16953b2687303bc2a30739fd591639fcbdc739f1fb60bbce051dbbd54c1ebb618767bb0d11d7bbb40c22bbae7719baebbe143c411fdeba20a1403a6a5824bbd379093cb9b568bb6cda8b3b21fd18bb2f79df3b2e3a5cbc8880033cd3eb6e38103c7a3b1e9bb6bc6901153cd2526d3bfc2798baf294b3bcbd68093c12869b3b8d6d31bbe7239ebcde06073c0a05513b8565a4bb48e951bc7b8b043cae39173b0f1508bc1911a8bac63c923b69edb9b9b76960bbd5adbb3b294173bd5c1092bce65dedba1aad883b143a04bebb3555bd6ad10cb9269a9d3baf0919be1fba94bd4b69aebb9c12b13b74110ebef8e996bddc6641bc81174e3b0d41eebdfe5487bd346b56bcfd6b9a39150f9fbd6d9449bd9bb867bca915f1baf14122bd1e52f9bcaac039bc2cb1adbb7a7f35bca7305fbc7664a8bbf9dafcbbc00d263c50dc783bd32aa13a68acc4bb98be3e3dd76156bedc436e3fa829e23e0aee513d16d954be0b12693ff51bd83ec3ba1d3dab9d2ebec0bd523f5862bf3ed5e7053dcfeb00be75502d3f454e9f3e6decd73ce252b9bd6e73033fe550783ec1849d3c44ae41bdad8da83e6a232f3e53bb5c3cb6d9a6bca22f273eef95ca3d2269303cc55e88bb41810d3d4340163dbcf2153cb9f9cfbbae0358bd17c6a4bcf1d1e4bdab44d33c00000000000000006301e6bdc0ecea3c00000000000000006335c1bdcd75ba3c000000000000000046028bbd644c833c0000000000000000a5623dbdc98f763c00000000000000006820dabcc5ad433c0000000000000000254ff0bbdd031e3c0000000000000000d8df4dbb937b273c000000000000000075c22bba3d6e1f3c000000000000000066771bbb35ada3bac892143cb1d8bc3b5b6d4fbb52ff653bf45faa3ca5898c3c267e9cba1eb7233cd5f5c13c364cc53c8ecb0c3b011a343c6f76b73cf255c43cbe8e5a3b27c0213cbeb75b3c4d23643ce2b49a3bdef4c23b925c413c377f353cd67d603bb033043ba198673b3476e33aac3eb03a059997ba73505639677950bb8853acbabf790abb412950bb13d8debb62c42dba785217bbb073f03b5b4240bbc2f23c3b2c4837bb554bea3b30a6bcbbe39bd63b32d3c2ba4cd4c63bd9c86ebc0ba2083c9fbe993a38330e3b4e2ba0bc0bdb273cfaa0523b4aa626ba0735babc1f62093cf4daa23b13404bbbbd51aabc2576e23b3bba8b3baaccf0bb34e229bce2c5c33b91da363b18d9cabb711380bb44e3613bbcc8d5b93de590bbe7aa993b231c29bd46b32cbd2937123b1502aa3be4f2c2bdc6e4aebd5cbebc3a7714c73b5234f1bd440ad8bdd432b5bbd98bd73b642befbdcb52cfbd13ad49bc5fa18e3b1b57b6bdf33da3bd4c0084bc1d3b213a3d0890bd4a0473bd404964bcc4fd3bbbc63e15bd620300bd9ac920bc4dec69bb28ba31bc8cea39bc334686bbbb17d9bbd7e1ed3b0b8e9b3bddf75c3b1b6ba1bb0887233de6962dbebdec303f52b4313f87a0243d0c2026be36aa2c3f0d2d2b3ff520023d5f1508be3b581d3f077b173fbd35db3cb5b4d6bd0102053f377df73ed6b39b3c341781bd443cc73ecd2bb83e49f58e3c742c2bbd2b0f8a3ed1c6723ea81b4d3c1c4790bcac48113e01edef3dbd96103cda97dabb685f273de92ae63c21200a3cf38d8ebbd8db0cbdc4af26bd7cd02cbecde7203d0000000000000000ec492abe61231e3d0000000000000000492b0cbe5b4a003d0000000000000000f364dcbde5ced93c000000000000000080d08abd66a29f3c000000000000000039e32bbdeba9a13c0000000000000000d34078bc071e533c0000000000000000d88ef0ba0146443c00000000000000004f7d0b3a93bc1e3c0000000000000000fe9f20bb557866ba2fd7733b3581253cf21434bb10cc0a3a555a6e3cc5b4d13cb243c4ba483ab03b0b43a83c2872f73cd2fc373b95a1df3b9340943c827ddb3c9eaa9b3b4657eb3b9ca46c3cfdbfa53c1fe2803b5222963bf503143c5d903c3c6cd9513b54e1753bfe70ab3bdd30d63a8d58763b072198bac224b8b96298a1bbc91595ba9bbb10bb27dd20bb0632eebb51db93ba344e0ebacafce53aae183cbb83d1793b35c07ebb4835a13b0a4291bbcf12113cafa79cba558e693bf3923cbca6b71a3c21a4173b0decfb398b2d8abc64ff2e3cbfdf9c3b30987eba362aaebc2fe2263c6e49023c84d34bbb63179cbca80ff93b95919a3b2a40aebb294b5ebc78d8da3b393c513bbe8a10bc01d802bb49b20c3b5b85153b36bdadbbd4be473b9a9aa2bca68d78bdf24ac33a46f50f3c5bb67abdeb03fbbd3276d63b08db073c8c21b0bd19940fbe1616a8bb23520e3c5a25b0bdeeb403be1ede2ebc1216703b19109ebddfa7d6bd63ef67bc3948d73a572969bd989594bd57de5ebc922459bb4eba13bda85814bd6a6d13bca1d1b1bb31396dbcbe1608bc67e071bbb686c9bbf5c88e3bd51d073ca12a763b1f10a5bb5874e93c84b3debd7ef3dd3e0a3e703f23ccf23c0a52ddbdd930da3ecbcb673fcc80c63c1a39b7bdfad5ca3efb1b4e3fe6f0803c9b4980bda438ad3e9737273fee676c3c20e83fbdd4fb8c3e98baf63ef5fe3c3c4d55d3bc416c4e3e6e079a3e6c08083c7b1248bc65c6fe3da4f5103e1efaaf3bcf6bb3bbfc9e423d6c87ab3cae48e53bffbc93bb11c689bc8e446abdb94d57befc8b343d00000000000000002bcc5bbe65564f3d00000000000000002bcf38be4e40233d00000000000000007ad108be884ef83c000000000000000098adbdbd48d7c93c0000000000000000cf2451bdbda3a03c00000000000000003b6f8ebc028c753c0000000000000000be56bb3979ae3f3c00000000000000004b1a48bae4c34e3c0000000000000000793238ba5bb847bbd8da1aba66176f3cd02ad3ba626cdd399026063c2c5ef03c1ebce4bab562af3a956f943ccf52133d0edab13adce3d03ba443763cbfec043dad252c3b4c9aef3b470d3e3c6cdfae3ce05d933a828dca3baf24073ca16f813c6bb86f3b25cd5e3b1a1b553bcf82803bf408303b71de02b93fd7a03ae6bf98bba1577cba5e7699ba589827bbd4aa0bbc5572c4ba8d3088bb7a8817ba0f185bbbdf80ab3b92bc97bbd506913a918aa6bb46401b3c66a56fbb4be7223b50ff01bcc1814b3c7d7d123aa57cc23a494f80bc083e2d3c907fab3b9b4113bb19c48abcf928253cf37d773b2d2cacba91118abc2003ae3b70a9bb3ba94da7bb18504abc0aa0a53b1861763b18a0eabbb8e16dbbdb4b373b5098ddb91733a7bba3e1673b3827ae3ad9de9bbd99a0363c25a00c3cbe62e6bc14891bbedbda3d3cf71ef93bae8558bde28e31be01d9e7b88f032a3c021575bd069b20be23570cbc055d9d3bcec468bd8986f9bd8eb94ebc1a40ba3a4b1141bde2bfaabd692960bc0d8129b9ec7df1bcf9542abdbd43d8bbbfcd9fbb2d3774bce90513bca26c0bba3927e6bb8fab883a48b6373c84d5bd3bbd247cbba6188b3ce2a75dbd7956563e37dd8e3f6fe3693c7f3a47bdf69f483e01ab8d3f7c84283ca8fc1fbd56a1413e4c5e7b3f4489f13b4d91dabc82e7333e9c5f4b3f07a9723bf2b27fbc4788203e3899143f1106bc3b73a217bc8daf043ec236ba3e1e99883be9b4adbbfed5bf3db949273e7d53b63a0d0036bbd3ab4f3dcc98713c756ddc3a91d13dbbfefc653b404b95bd735c6abe7e654d3d00000000000000007d0e6ebe9b26473d0000000000000000379145bef689193d0000000000000000d7bd15be1a49f03c00000000000000008d92c4bde7aebd3c00000000000000007a8f54bda7d18b3c00000000000000007bdd89bc56eb5d3c0000000000000000b3ae963b8694053c00000000000000004c1eee3b521f0b3c0000000000000000c93bf9bacdf8c0bb3e8bd2baf1eec73cf2ab05bbf5b883bb498ec03bc5d9233d6451dfbaf52c80ba8cfc5c3ca8f9363d03b117b90f09343a79b8743c97f1253db0105d3b7030623b90544a3c9ecce73cf86a7c3b2fe1ed3a26f91a3c3d259b3c492d7d3bd1a28c3a79b9ad3b56079d3b6e1a783b0a399db9e7c63e3bad2a52bbf6379b3a1d3234bb6ffb43bbd7f12cbc7813f0b90c1adcbbda7e15ba8f25913baab0b8390dbd15bc0edbc13a5b8104bbf32cf43b80e59fbbab3d983b89ad67bb0c3b143c66a89db94920363b59dc27bc7edd1b3c7572833bf67474399bca66bc58c8063c2f60853be39f10ba4f9469bca199ce3bed5f983b7ed626bb7da12cbc364faf3bdafe593bbca282bb0a7b95bbf95fbe3a5289563a16c569bb645e96b94bbb613c64c8ffbd4e56ae3c812c003ccc2859bb6b3432be2773c23c031cff3b7b6ef3bc53f94bbe2cdb453b6871083c400820bd0b1c37bedc38c4bb9773b33b44f628bde17d0fbed0f164bc095e7e3a4d0c13bdf019c4bd795243bc2ba330bbc7a9dcbc22bc2dbd26622abcdc3260bb09e186bce0f50cbcbc2903bcbe81a0bb0459713b3fb6aa3c981fe23b21ebaebbdd36b83942bb66ba814d60bc6b75ad3f89afd13a28f54cba7660b03cb536993f764cfcba920c71b95110d23c90998c3ff0f6e2ba617f983bf1e5263dc091633f5a88d7bab5c5f23ba7ad5d3db42f263fb5409bba8444fc3b834a7f3dc6bcd03ecd7667bbfc83cc3b9932773df07c373e15090bbbe2828d3ad9f8393d0fc5b93c856df2b9b2bf6b3b0784483c573bf7bdb70c79be41b3413d00000000000000008ece4bbedc68293d000000000000000039742ebe8824f23c0000000000000000111203be9ac3c33c0000000000000000988c9fbd100a973c000000000000000055f912bd7b89363c0000000000000000e04d2ebb7fbff43b0000000000000000b44da33ca138133b000000000000000060dc903c435b853b0000000000000000000000000000000000000000000000000c4a58bbd7a0debb4b27043c4b45443dfe404bba74a3c5ba3793413c5fff343d1d8fd839c1a30b3b452e603cb57c0f3d045c3d3bfcd4033bd8bc1c3cbd99d73c69d0763b9bb4e53ac150f63b8251793c44e18b3b5cc183baa12f943b462cde3becdc593b9cb817baabb6cd37ee3c78bb00000000000000000000000000000000000000000000000000000000000000009395403b3b490fbc3e320c3b01a60e3c0e21fd3b671365bb9ae4863aad6979ba79ee0b3c4ce6243bed714b3bb96ecfbbcac81a3c2d5e733b20a61839e39c13bce0acbe3b5f5ef53b39c40dba2efa30bc38a47d3b8116ab3bfbc20abb468c09bc724ccf3acbd72e3bdce593bb0f345ebb000000000000000000000000000000000000000000000000000000000000000087a27d3b2b7e59be3681503c86f2123ce60d80bc486547be76a323bb79def63bf568fcbcefa231bebf836cbc644cbd3939dcf0bcb7fc0cbef2cc87bc6d93e7ba6d8ed5bc0373b5bd91038cbc493484bb5ddb9dbc810839bd1ae838bc3f8bb5bbdf4107bcbb7fedbac195baba56fca9bb000000000000000000000000000000000000000000000000000000000000803ffcf9f1bbe739e43cc9770dbe4d7ead3f8e790bbcfeddc53c908f95bd68408d3f91c7d0bbde9abc3cfa623cbd6acd693fda17cfbb1dfca63c4a1984bca6052d3fb84dc2bb1f1aa53c9e7cec3b98dcd63ed41583bb588e873c54cdc53c77904d3e244f88bb4478483c9faac73cd3a2eabb00000000000000000000000000000000000000000000000000000000000000007c3519be2cfba83c0000000000000000c105bbbd084e1a3c0000000000000000522d81bdeb6abe3b0000000000000000f6be19bd5568c53b0000000000000000eba906bcce1cbf3b00000000000000000007743c8452813a000000000000000055c4b53c500f8c3a0000000000000000000000000000000000000000000000000000000000000000000000000000000077f51bbc0b39453c5be6253d35ab8d3b2742feba9107713ca1a5113d409ed23b91119d3b1c01803c99d4ec3c6ab71e3c9279033c3d4c233c67e3b13ccc1d1e3c5f5cd23bd0ce153c5d36723c19b7cd3b77d9d13b9f72b43bb5e00b3c77795b3b2e56343bd2db923ad9962bbad5560e3a00000000000000000000000000000000000000000000000000000000000000003d16cdbb0c01e8ba004dcf3b46f3cebb1c161ebb9fe0a5b919aa87bbd601ebbca05eadb9e668483b8aa45abc8d1833bd12971b3b1b68b83b31848fbc78212ebd423a0f3b2084bc3b04a89abc3bba0fbd4fc2cd3a3311ca3ba25795bc1a09babc4044333b11be9c3b76a843bc0ed7ebbb000000000000000000000000000000000000000000000000000000000000000065d14bbede43503c7b0da93b96509f3bebe632be5ef64db93547a6bab5312e3b7d8d1cbe507c49bc796ef5bbb5d564baf65ff1bd1cb776bc1e3b36bcd4769bbbef16a2bd37746fbc1c691fbc34e09dbbeab722bd41003fbcd86522bc6cc8aabbfc5b81bbd9c2d5bbd0dab5bb26df8cbb0000000000000000000000000000000000000000000000000000803f00000000cc3fad3ca4adedbd4ff5ae3f77a021be39f68c3c2c8738bdf2d08e3faa05d7bd5507aa3c80ece8bbfe9e693f9d059abd546ca63cdec5a93c40682a3f1e9846bdb914ac3c97bb093dd7b4d73ef37abdbc587d893c5988253db6234a3e4a15933ba81c513c0571f63c900dc4bb38cd813c00000000000000000000000000000000000000000000000000000000000000008c24763baee054bc0000000000000000a5c16ebb157339bc0000000000000000ac9a42bb1e8c5bbc00000000000000007e8001b95c45cdbb0000000000000000bbcb393b43cb39bb0000000000000000b4f3af3b82e6adba00000000000000000bb80c3ce4b00b3b0000000000000000000000000000000000000000000000000f9a38bcc2b6993b5c71ba3ce98e39bb3c4827bc4cb0f33ba39b1c3d76efeab9be3f8fbb81ff733c8b2f1c3d7bc7173cc7fcd139227c773c31ac0a3d4b823f3cb58fbe3bd228443c9c2cc53c06f62f3cb2ea983b3dfc363cbe76903cb668fd3b4af07b3b5a97c53b8f8ff73bad35af3b8973723b84bf6e3bc69a5c3ae2372f3b116f703afc6977ba0912c7bb66001dbb3e6162bbca2599ba904c093c31f6ab3ce3a680bb382ea4ba5dcf1e3baba85e3c2cd2e4baff498bba198558baa51896bcdb5194b943db3e3bc19cd6bbd095f5bc5228ad3ad745823b29397fbc0f8213bddb08673b6a8cc43b980589bc0f7bf8bc954d543baa89bd3b1dfb6fbc7d9eaabc9bf41d3bb5e6a23bcdc25dbce6a23ebc64e84a3907effd3a480108bcc5be023c7896f9bd7ccb3d3cf48ae73ba3970b3b85c333be31b55d3c02b5143b05466d3bc4053dbe795d3ebc70eed6b965632f3bfbc727be9b2ea0bccfe3c3bbd65c09bbb739f7bdac2db5bcf0f123bcd29a97bbe193b1bd9deb97bc3b554ebcf866bebb60902bbd662777bca5bb20bc90d8a6bbd22a02bc619051bcfa37a6bbd2b397bb8074853c3c9e1a3bac6394ba2c1b643aff56203d08575dbe1f9dac3f55b395bc210b203d65c52bbec29b9c3f6dd36dbc0438e63cb5c3e8bd44ce8d3f81ab0bbcf08cd43c786688bda3fb653fc5344f39626ddf3c4c94a5bcfa3e273f55c9453cbfa1a63c8a09473cfb7ed43eedbbb73cb8258d3c2e52fb3c98b23f3e8486cf3cc8c6f43be36a2a3d4c65853c81da0b3d2398dd3b0339933c241debbd20cdf13bd3eb86bcdc9ee3bb0000000000000000418a97bc36bb2bbc00000000000000002644debc774134bc0000000000000000451ec4bc38d3d8bb00000000000000006a0a8fbcff3587bb000000000000000007e30fbcb88d27bb0000000000000000ed60f0baef81e4b7000000000000000047762cbb4074843900000000000000004d2ad03bc40fa7ba0000000000000000f45032bcffec7c3b97c0733c509c2dbaba9d1cbcb6fa1f3c6e34f33c327bff3bb476acbbb26c623cf46e083d8c0a593c06b88a3a84e1563cfac2f23c7a83603c5e96c03bafe73b3c0c55ac3cdda2443c3b4d983b8814203ce46a7d3cd476013c9f3b8b3b57b5813b3746ed3b2056903b29b6c33af0815b3b7392d8b9007f073bd362bb39951a36bada1b91bbd72b8fba25c028ba71abbcba5148f63bee09ac3c38abaabafa8ce9ba6694dd3bc670d73b81e19fba59a4153a2241fb3a8bba83bc6f5b9a3aa875223b5151b4bb25b5e2bc4cd1353bf381b53b87055cbc789c04bd77b48f3be36dda3b891677bcc60ee0bc0e46623b9120e63b8da46bbc802c88bcf4ef333b45199f3b416832bcb4a197bb5ef6653a32de183bcf9bf6bb634c033cf525a4bdea6b50bafaaab03bd60481390ea61dbe1f008fbce856643b7fcf3f3b6a3d27bed52d0ebdc116143bbc9adcb957dc15be0d8e14bd3ee6a3bbd6a22dbbba4ce5bd92c211bd0d191bbc4721b2bb6b70a1bde797ebbc230e2bbcd1a4ccbb681920bd4c109cbcd2c10fbc1488dbbb02e937bc24a90dbc0facb6bb2a9177bbd9300e3c546b2239c96b193a5fe6b6ba6c2c1d3d4f7c4dbe67698d3fc0db503edc9e1c3d74673ebed8c68d3fd22c313e822afb3cfe1c08be367a7d3f78791b3ee999fb3cb0a9a7bd2dfa4f3ffceafa3dfc21df3c68710bbdf6f4173f58cace3d60bec43cea7c5fbbda93c43e662e9a3dffbcab3c34dca93cd510373e26fe463d139b1f3c90fbf43c4aab9c3ce0fec03cf301ad3ba26e873c2de092bd6ccfb1bbc62878bdd3dbe43a0000000000000000ba2a81bdf66f5fbb0000000000000000a0ae79bd70c4c2bb0000000000000000488450bdb933d3bb000000000000000093ad0abda7596fbb000000000000000093a2acbc681216bb00000000000000007b6417bc69608d3a00000000000000007847143ae01a2fba00000000000000000a6da33bd92557ba00000000000000004a570abc62d28d3b78b9273ce714453b081518bcd25b093c7dd6d23c7221583ce785a4bbc4c5603c63a0e73ca2e48a3cc7ae9f3a0835423cc8a6d33c3a918a3cd6238d3bb947383c7eb8a73c830b703cdfc8803bff94ed3b19d2613c7f58153c33f3503b516ab33b6177c63b6141a23bc4dae33a33afa73a4675be3a5ce86c3ac9cda3bac57712b8696b86bb152150bb76c3a4b9b5cf40bb5b170d3cebbc823c7a08aeba30805bbbbdacad3b6f7e0b3c7b2ee63ab53d27bb0db1873bad8976bc0f0d143b74cc4c3b1a08aebb13d6d2bc8c26923be7ac833b9da93abcc38300bd6f157d3b8d47eb3bf4b64cbcade0bcbc6c1e883b9ba8db3b535539bc25066ebc016a3e3ba9b5a83bffea2fbc49d637bb0087ba3af365b23acb8d83bbd96f1a3c2d6f87bd818babbcc697193c3b9f033a9f4a04be39aa35bd53c0203c2e25093bee3811befb7a71bdb3296e3bd3c2ff3a52e501beb89f6cbd24f085bbbac339bbc92bd2bd83fc49bd4b6010bc9ff6c8bb050192bddca217bd003002bc917206bce75e21bd229ebfbcb25cd2bbf5daefbbdb864abc122628bc32db4cbba7d5b9bbc95bff3b30d5313bde40e83af7f005bb532a033d0c313ebe69f86a3f6b2adf3e61200c3d53302dbe6082683f24f9cc3ed8fad83ceb4100be84c1523f9536b23efc3fe03c1de39bbd41a22d3f4e088e3e0daae13cf8320bbd4a08033ff9fb543e6c90ac3c89ec89bb2485a93e120f0e3ed32e703cbb6ca53cc0f1243ef5fb983d9eff2a3c64b8de3ce3b1ec3c381b9d3ca7e1c13b66103c3c07886fbd77a1d9bc55e7e7bd245c313c000000000000000060a5f6bdf87ce83b00000000000000007fe1d4bd46eaa4ba00000000000000006271a8bdde3899370000000000000000a48775bd7d338aba00000000000000006f9e11bd53e68cb900000000000000008cfd81bcc73a353a00000000000000003d58a73a3129c4b90000000000000000d1cb1e3cd009c9ba00000000000000003d85f7bb85eb513b7b12063ca33fae3b3e92e6bb615aae3b3360aa3c269b9d3c658259bbd326233c0da0d03c005ab53c64083d3aaede383c854bbf3cf44ebc3c284cbe3bde2afe3bdc91783c35b97c3c8c42853b69030d3cc0565b3cb35d3e3c3e6d1a3b78466f3b3530cc3bbbe8b53b6a91da3a56dded3abd6a3c39fb81683ac26c2dba6b65bbb9fb309cbb297c79bbbd72eb3a505698bbf441c83b94a75f3cd8eb973834cba6bb4157da3bf097a83b3416153b3af419bbc5ae123b9dd067bc13055a3baa7e783ad1c369bb2cb3cabc7fa67c3b1425b03bf78718bc84fef8bcd16ba53b0ff8a33b75e039bc1c40d3bca110863b33f7c93b3dc512bcf2ac69bc68ed6d3b1de9a23b3f7b0abc316146bba2b6c83a71c2213b23cc34bbbfeef83b23123ebdf1ff1dbdf7a2113cae63323b3fb2cabd4f399ebd80f9433cff84523b0fbbebbd0ddab2bd3283443b0bd80e3b7a69e1bd55dfa7bd3fa94ebb018651bba802aabd942177bd65173fbcf5dbaabb3e6085bd11a643bd6a1effbb0d9be5bba36a0fbdef11d8bc77d5efbb6d75febb1e0d56bc479e1abc17f93bbb205eedbb6c17db3b5a36bb3b0a66dc3a346176bbbdb5d53c30d619bea79c2d3f9dee2e3f8a9fc83cf1b108beb5492c3fde72263f69c0a53c247cc2bd51161f3f7fa90f3f32e0a93c52a971bd4a95073f50e8e33ec637a93c530195bc7cafc83e3328a53e34bc963c607fbe3ab7518d3ed7e7523e4f53823c0cec833c5a56133e53b9c03dfb2f273cb43ead3cd47f0c3d70ef6c3c33e29a3b2440333c52f426bd298d3dbd1fb923be7d64a43c000000000000000047502cbe38c98c3c0000000000000000e04512bec74be13b0000000000000000f2d1ebbdfb2bcf3b00000000000000006a7f95bd1dda453b000000000000000009a94fbd045e673b00000000000000004ec28abc62302e3b00000000000000007d01503bf913953a00000000000000009e5f363c8ba31f3a00000000000000004762d5bb4082d13a85c2983b07da1e3ce5ffdebb636b383baf15893caf2cc23c9f8410bb9381b43bff54bd3c07c6dd3cf973c63ac195013c3453af3c43c0c43c4f73923b6f1a1b3cc28e803c48eaa83c61af8e3b5e898b3bf27d5b3ce481403c89803b3bbac8983b38a4bf3bc8b3c53bd8ab7bb9fbe30b3b9351a13a897413b8ee6992baba2484ba747a75bba2c369bb8997193bd614c1bb2ebdcb3b6c73503c2793243b3dc2d4bb603fd53b37689e3b6541863b84a454bbcb8b153b7c2950bc79228a3b71eae03a4ce7ddba000ecabce30aac3b7ba56a3beda509bc3a37e9bc9282963b12d9fb3b3e6d2fbc84f2afbc15508f3ba2a6d73b6ce1f3bbcdee91bc3323953b86f3a43bf642b6bb45057cbb927a083b1a3c023b7121eaba99a90a3c8a22e3bc2b5070bd76bb453cfee7343bee768fbdbc91dabdf8017a3c00fa4d3bdb14b8bd934cecbdbec59e3b52e3983a5d12b2bdab70d1bda0168bbb57c22ebb98c19cbd0e4ba7bd5500dabbc49bd9bb296363bde46a67bd8c98edbbdff021bc8e2a06bd7feeeebc01e4f2bb12b91cbc34a76bbc5ed511bc6c0d32bb57f003bcb881913b0dfd9d3bdcb3443bdcbf92bb830c703cf0d3d1bd0fbcdb3ea81e6d3fd4ce533ce67db2bda61cdc3e8e38633fc82d453cfc5c72bd3590d23eff7c453f5c03633ceb94ebbc81c7b83ea4051c3f00746d3c9827c7bb1bf9953ed664e23ee2dc553cb1734f3c6a41563e00d98a3eb43b6e3cc70da63c15c5fa3da277f23d0dd3f43b9fdfb43c7998363de758aa3b5c4c3e3bf0d40a3c8eb1cabc7e867abda5f54bbebdf4e73c0000000000000000325257be1778de3c00000000000000005b6338be81978e3c000000000000000069a80dbe72ed1f3c00000000000000008660cebd790bbd3b00000000000000005b7766bd589c5c3b0000000000000000109793bc43b5363b000000000000000075e1c73bf5dc923800000000000000004bc86b3c4b56553a0000000000000000d2b281bb012c42babb92b23a9764523c931e33bbf08feab91d72413c7f53fb3c51682fbbe009953b784f953c7a0c043d0bf3003b739b8e3b90bc9e3c9b51f13cef2cc03bd5899a3b3de5713ce0fab43c53e67a3b1f58c23b6064303c036e6c3cb4292d3b73644f3b7a3e963b5e04e43bb0e6ea3a24ac893a4564793a2c8019b90e46e1ba7920273aa82b69bbbf72a4bbb698a63afb3be9bb734f553b9c00333c6445453b42fe05bc6a074c3b4e18213b037da23bfd09a5bbe4fe663ba0ea61bca0369c3bf2b89db9ee5efeba952fbebc73a6af3b51424e3bf3bd02bc615eebbcdd10b63b8cc0ca3b6e3b03bc7c0dc8bc1f16843b2286e13b20c800bc597679bcb010903bc6319c3b6a55d0bb3e5a82bba1aa353bbb81b13a92869bb939afa93ba4340bbc9ea196bd4cbe8e3cd707363bc5692bbd32f80abec9f57b3c5c20883b290c83bdacf011be6dece03b7b69473be72e8cbd51a9ffbde03fd3ba019a80ba025272bd03dcbebde70418bc8943e2bb708e40bd049d87bd0fb6f4bb2cc51fbc93b1dcbc24df0fbd1c2eaebb4a2828bcb1f15abc3d6df5bbbc1274bbc27614bc59798e3b71c1eb3bfcbb513b03f1c9bb2255b23b68b159bdfc1d4d3e8dbb8e3f80a5843b1d451cbd81af4e3e54168c3f183b9b3a1e4ab1bc5207583e3b72743fa028d23bdd3a6dba0ab54d3e0ec7413f355e1d3c3f94863c07e0353e96de093fa14c293c842cac3c924b103eaca5aa3e9fd9293ce105c03cfa9fbd3d562e133ed634e43b0163963cec77313d4259ad3a8598a23a76a1e13b70bebebb5b6a9ebd443d5bbea4af133d0000000000000000627b68bec38e043d0000000000000000874f47be60f6943c0000000000000000d6c51cbedefd613c00000000000000008bbacdbddb71083c0000000000000000fb8072bd2c8fe23b0000000000000000bcf294bc0941953b0000000000000000cf764d3c66217eb80000000000000000891ab03cecf46bb80000000000000000c8be25bbba5736bb32a2203aaa76ae3cbf2b38bbf2c441bbcb78cd3b71c61a3d3e02e7ba6877023ba17d823cadf11e3d48f5b03aa7da4e3b8785903ca3790c3dfaa8ab3b65a0213ba73d713c8f94cc3cd836643b784d5c3becdd433c88df873c8c6d673bddac213b9683cc3b940dd63b86d2b83a61bf553943176c3be7771d39ea8bbc385924a2badbbd40bbace004bccdc1fc3ad74227bcc188043bd0c4293cd67749bac5130fbc57bc873bcd1f18bbfdd1283b61b598bb531e7b3bd81776bcc83a873bba6d75bafcfa10bb5527b9bc0dfaa73b4c64583bf5bfbcbbfde7f9bcd055873bd438c93bdcdddfbbb954d3bc98f0793b743fee3b73b7c6bb4afa98bc1b254b3b492bc93b0aa5a1bb0f37ecbb05a4503bc23e213b91c20ebb5d44a83be2e2913b0b95edbd4cb0a63cb4aeae3be59013bcaa1926be533ad83ca91f113bdf9b30bdc39c28bedfc1a13be0998e3b268c49bdd47015bed8791cbbd169a2baa15c41bd8e28dabd93e02abcfa65d2bba6191ebd296b97bdd9501cbc2f8b17bc921ecfbcc9130ebd696e0fbc6c652fbc27c370bc75a8efbbaf05dabb698f10bc54f7663b38066c3c9305723b457404bcb2f669bbe7b235bcacde97bc7e75ad3f29a357bbde084a3b0c9d003cd6439c3f44c166bb11d6143cbd023d3d24ba8a3f5b8f0d3bb889af3c9e37873d40895c3f3c4da03b695b083d01aea73d78a71d3f6dedbc3b1fcf0a3d4c53a23d27acc23ecaa9063c8167ef3c0818873d2f0c243e6e8bda3b22228d3c78fc453d1127343bddb9c93a55aa013c88eb693b33c7efbd7de368beebf3173d0000000000000000970357be9e5c0c3d00000000000000000d2236be9da98c3c000000000000000074ee0abe0e1f363c00000000000000004237bcbdc555063c0000000000000000d62546bd8e85ba3b000000000000000083c916bc10554f3b00000000000000005d98c13c85ae84bb0000000000000000038bc93c7f864b3b000000000000000000000000000000000000000000000000f96d64bbc9195fbb0e9d263c73ae283d8d53a5b823e681b97264703c61c2173d6d48943be15be23afdee843caced013dc9c4b53be4bf703bdb84623c00b6c23cd046ac3b9e7d8d3a5dd7303cce3b813c208b8a3b2956183b83dc8f3bdbae0d3c7647cb3af732913ab8f6af390e65f7ba00000000000000000000000000000000000000000000000000000000000000008019813b3e0626bc6031a23bcc1db4387f8ea73bd3f194bba24d1a3a773085bca3c9d33bbaab4c3a83516ebbce6ae1bc064ab83ba9816f3beea2d4bb1333fcbca35c983b0b45cf3b082311bca4fcd7bc23216c3bc1ecdb3be184f5bbd56aa1bc5cf0563b7768a03b460daebbd494f8bb00000000000000000000000000000000000000000000000000000000000000004e621bbc15ee41be62092f3cb525073c08d7eebc7b5a25bee646f3ba72cbc53a79b728bd6fb90ebe599f69bc775833bb9ef322bdc863dcbdb9c47ebc15fce2bbd476f0bc422493bdc0175abc7b3e28bc4fe69dbc577519bda3e631bcf99331bcfeedf3bb42d15bbbdc4b6ebbb9eb0abc000000000000000000000000000000000000000000000000000000000000803f806d19bce08bb13c987209be1384ae3f214a91bb7cd2fd3c009779bdebfe8c3f3d924bb97b8b273dfe6588bc5ffa633f347e033b415b3f3d9858e73b512b263fc170fb3b9fba333dc344cd3ca36bce3e8b3dd53b8117163da634063dc9293f3ea984a63b5e65b63cf86dc63ce7b239bc000000000000000000000000000000000000000000000000000000000000000077561cbee6425b3c0000000000000000918dd0bd43cd4e3b000000000000000057d4a3bd86f85aba0000000000000000a0725dbda24e853a0000000000000000362fdfbc2c0c9cba0000000000000000df660bbb88f9333b00000000000000003c0c863c56af403b000000000000000000000000000000000000000000000000000000000000000000000000000000009cd9a23c5bb5323c8a1c893c8386913b305b0d3d1318763ca603503cca53e83ab2751e3d76e0843cf564103cc09bacb93f690b3ddfef643cd95bdc3b3d123eba89aedd3c8987323ca7cbb73bd3c630bb061f8a3c586aff3b5fe4663b2f9f24bbf91faf3bea2e483b2810b03a90f299ba00000000000000000000000000000000000000000000000000000000000000002598f1bba7c511bca13cf3bcc3a370bdec2829bc12b3fcbb92b69ebd02c495bd48450ebc40fa9cbbc5c5d1bd2c699cbd1f49dbbbeb8bdaba1089c3bd6f378dbdb8c0b4bb4018e5b93170a2bdd5f947bd76b45bbb6b49683a3c3c52bd992fe5bc0b684eba11ad0b3a2e3ba1bce11bdabb0000000000000000000000000000000000000000000000000000000000000000e16108bec66650bcb670f83c4799d03c668ed9bd48af1bbc405f0b3d33abff3c5d73afbdf280e9bb0e1c053d806fdf3c74b881bd3152a1bbb157cd3c19c1a23cf57b44bd7f3b573adbf8973c565c6d3c958de6bc3781af3aeea53d3c4bb44b3b3aacd1bb9b28bd3a4b8400b9a39164ba0000000000000000000000000000000000000000000000000000803f000000009665c43c30713bbdc102a83f207dc6bd51faba3d6ef93f3d9955873fd95093bd7173103e3402b93d2b71563f448990bddabc1a3e9109ca3d70df1c3f7ada80bd9636093e8012a13d4202d23e42dc87bd777dc83d0af1353d6df9553e269d42bd3d00373defc0953bd3c8963c0fe6b4bc00000000000000000000000000000000000000000000000000000000000000007a640bbd098a32bd00000000000000003ade90bd255ea1bd00000000000000000ae1a9bdfca9b4bd000000000000000025d2a2bd503fa9bd000000000000000098a789bde04868bd00000000000000003d140dbd91e7cfbc00000000000000001af6543b1017073a00000000000000000000000000000000000000000000000031895fbbfcde863bcf22503c800d623bee6d643cf0102c3c6272903c0d56b63b393e143d07bf6e3c8f70553c6959313b17942b3d074e823c9fdc303ccb9d0ebb076b113dd1a0553cd623063c5777a5ba57b4f23c6f674b3cf019bd3bce0277bbfcb5913cfc26003c9cc2443b178c10bb0a72ff3b72968e3bd3ac093af29f38bbcc4034bbcd5732ba9bd6bdba65f9d5b9d33032bb11b875bb0946a23cd696b0bc4d160abcfba103bcf3b997bc5cc142bdb5b031bcc5500cbcb7e59dbdcad59fbde4f51dbc61ebc4bb6856d1bd949aa6bd5659e3bb81b73dbb9842c0bdef1789bd263bedbbe24b11ba6f90abbd70b95cbd5c0480bb35c99b3927ee58bd9a55e4bca40b92b93620d4396302e2bc964b11bceb3a193ab627493a550f823b8fb6013c2ca7acbddd5e81bcd3e12b3cc3420b3c6e1500be2e9c48bc47b0f13c4f62b53c49f3d9bd5f6276bc94d80c3d4db5053d5397b1bd095621bc0f13133dfc1eff3c777f81bd0ed21fbc8ea5c03cc40eb63c0f773dbdd728e539eec0a83cb6af833c3680d6bc9bf31fbaaa2e323cd269c53bb13eecbbeb1fd63a4a72093b274e9d3ab67d073cb1e4c93a5f2481bbcac818bbe61d51bc010f17bee607a43fee4f533d8064e43ccc89d3bd38c19c3fae3f5e3cf9d3b03d69d5663c6128823fa742ee3c93e90b3e037f7f3dc2284f3f8b04f13b62ac153e46e2aa3d65fe123fced79d3bd5360f3e3e0e8f3d96bfc83e383baebc907ac53dd2a70e3d725b493ea2faaebc2f8b653dea74563c2ae2e03cba27d9bb14a0d43b498bd2bcb571a0bdff0558bc46b1a3bc325fc1bb000000000000000018e467bd33f310bd0000000000000000147ea7bdeae79bbd0000000000000000acdbc7bd1f3ab9bd00000000000000000fa9aebd7010aebd0000000000000000a228a0bd521979bd0000000000000000be452cbd3b5ed2bc0000000000000000719b8bbbd70e07bc0000000000000000b8c58c3ca70e183c0000000000000000d9508dbb5848443badec2d3cf605023b6aef813caeaa293c07bb6d3c5ee5b93b388a0f3dc0dc753cae943b3cd6ec0c3b9bea243da9487f3c97291a3c93109d3a64e90e3db3765d3ce470003cfcf692bab2bcf03c4aaf3d3c3edec63b1a792abbee49913cd914e13b55a5803b46c116bbddcd003c1d46733b5ae9503ad5dec1bad842ffbabf2ec4b97086aeba73fd86ba3a57a7ba28073fbb4a0a9d3c5ffe7abcb29fc9bbb7c2f0bb8bc4bdbc5a8f4abdda8becbb37040bbccdaf98bd50c29cbdcab826bc9159b9bb1150c8bd5c5ba2bd0dacd6bb92c829bb00e9bdbd7d1a8ebdd4f4d9bbaf0f72bae4f3a6bdafe257bdc28a5ebb75afe5b82fe455bd7868e5bcb909e7ba2ae2d1398a9dd2bcea2410bc55a1803ac944333a01de113b4287e23b37976fbdb45f8fbc9901ee3bbbd3cc3b6b4ad8bd0e2bdabc9de9af3ce456be3c0c42c6bd447ebdbc5780ea3c2bfd013d62c2a3bde1e18fbc59bcfd3c3099fb3c3e786dbd16eb5bbc2997ac3c1feeb73c03fb36bd04a0d0bb085caa3c3c08873c4eacd2bcdf21beba4b32163c9148f33bbd66e2bb5c66dc39ba05313b62418c3a0a50bd3bcfb9243b5f2571bb058edbba0cf2b6bb39801ebe8f0b8a3f1e23733e876af93cbc4dddbd80138a3f716f4f3ec416a73d8ea0a93bb9b3673f1e36303ec8f0053ec1fa623db6aa393f3cf1f83db829103e048a9f3db64d043f6eacb03d2fa1093e7036813dc726b93eff630c3d5a9ac03d54f9003ddd903e3e11f1033c6690523d629bad3b9c3b123d7bae8fbb1e9de13bb0cb9abc09225abdd85e66bc6bd04cbdcce972ba0000000000000000dbffa9bd019a13bd000000000000000034cfcbbdca6c9abd00000000000000005bc9e6bde22ebcbd00000000000000008387c1bdaec5adbd00000000000000000f45b8bd455f79bd0000000000000000e83658bd69a4d7bc0000000000000000a49f4bbcd4b7b2bb000000000000000098111a3cb715f13b00000000000000000d6352bbf0cb523be9bd063c52c37d3b7371893c6b82093cbfcd653cda93e43b0302103da6195b3c5167503c23440c3bafb8243d1f6e753c19d9183c4f0aa6393a2e153d5dbd4d3c5490f43bdbde6cba2f56f73c36ca343c59d2c23bb89457bbcc81943c2b9dff3b7527163bffe60bbb6f5d033c08855d3b0e74fc398dbfc9ba3d8acaba0564eab8d3fcdebac03e55baac09c6b8cffc62bbf6e08b3cb0b695bc70aab8bb5dfaf9bb754cbbbc69654ebd503fe8bb9ae610bca1bb96bd771b97bdf8af14bcc2f78cbb41e1c6bd45da9dbd7f3bd0bba5d73bbb1d8fc0bd59988cbd9410c7bb89c391bae82ca9bd32544ebda7ea5dbb0a8e6139b3ce53bde13cfabc1f65c8bae95a123a4e9ad5bcaf5611bc464bde39a11b523aa013183b0b58c53b5a4146bde329d6bcb2f673b9bf341e3cbcb5b7bd94e221bd11a0923c098bcf3c274fb5bdd7c208bdce52d53c5d900a3daf3398bd4f70c8bcd4a6df3cc185f93cf87d60bde6eb8bbc1457a03c56c0cb3c02a431bd89c906bc34a6a13cb8048b3cd0a1bbbc311486bb462b253cdde6033c6742d0bba68f543a39a6263b741d7e3a9897bf3be3483a3b8ae053bbbb10d1ba2bf834bc1b1e07beb7f1613f77f8e83e846bd93c2dffb4bde082623f72b1d13ed5519e3d8bb5343c78dc423fe4f2ac3eee13003e715d763d71b71d3f3c5a7f3ee3cd103e7412ac3d318ce43ece882e3e8e34053ecddd843d1111a03e6679c83dad6bc73d41460f3db8b5273ea8b01f3d48554d3d4777833b07fe143dae5e3d3b489ce23b9e5eb6bc0f6e30bd9189c1bc0e3a9cbd4bb5fbba00000000000000004026e9bd488a12bd00000000000000004fe3f6bd2acea2bd0000000000000000536404be3fd7b7bd0000000000000000b3a4e1bd8781b7bd00000000000000000889cebd4abd7ebd0000000000000000119585bd543fe4bc00000000000000001a14a8bce20b05bb0000000000000000ddd3993bebb5283c00000000000000006fdd35bb547d0e3bbd2af83b7e519a3b43b5823ca399023cdecd623c9636d03bb35a0c3dc1ce593c9c0f363c5717983bf8a9233dd419603ca4672a3c5f3d223a588e0b3dbc5f433c4a41f53b6576743a2da9f53c0c393a3c8846b03bc1aa29bb6b3d953c61b6de3bec5f3f3bac17dfbae1ca0f3ce3d0163bb21c9e39aeb1f8ba1aa623bbde63d539c6acecba0e2220b935752fb9a7e35ebb6ba9893cb20781bc7bcb30bbf58309bc5313c4bca6533ebdf23103bce38bf7bb7a0094bdc2a193bd793ae7bbc0afc7bb1a81c1bdc11a9bbd59fbc2bbaf030ebb3945b8bd600085bd8dcabfbba158bdbabffaa5bdcaf64fbd870d6cbbc87e6139d52255bd80fee8bc6496aebadbcee03a0904d1bc04000dbc4d9a3a38069e173a4448403b6895ad3b893f23bd8ff00fbdf75dcdbaeedf343cdb84a1bd222253bd85bd6c3c90d2d83c45a7a2bdd75f2cbde16fb43cb5a2073ddc9591bda6c4febcef7ec43ce3fb063d4ac857bd8574abbc15b3873c6289ab3cf37926bd4cb955bcb366923ce2279d3c120bb6bc17dbadbb85cb223c0cd9dd3b46fcdbbbd34e583ab9ce373b59e326ba431fbc3b88686a3b51631fbb6ae51ebb9abc67bc2521dfbd2cc32b3f148b2b3fbd14bf3ccd6080bd3aab2d3f2b70203fc747953d4b32ec3c62b4183ff220013f7b46f43d0371963d7514ff3ecab1c23e7563083e1b77b33da3fdb83e9015873e9901033eb9f8953d4054853e1e67253ecb13bb3db0291b3dcc4e0b3ef43a9b3d9e73483dc280003c13180d3dfa5e0e3c0518b13bfae8b7bca99b09bd7f8cf8bc5817d4bdc58320ba0000000000000000d82a15be6b2b15bd000000000000000010e10bbea9389cbd0000000000000000d2c014bee36dc0bd000000000000000086bde7bdfbe3b3bd00000000000000003a26e8bdb94986bd0000000000000000082b93bd77cddebc00000000000000009100e3bce48948ba00000000000000009cb5a03af2a2563c000000000000000058f248bbff0cdf3a5ec1e13bd744973b18fd783cda79f03bb9995a3cc4e2023c962c093da77d3b3c83d5503c16dd9f3bb6f0223dceee5a3c3c5e1a3c2609153bc0860f3d525e553c3ddbfc3bd43abc38b0eef43cbe1b313c64fe963bd0f61dbbf2a2983c0c84d63bc45f703b53b408bbf0bc083c187b4c3b4de51d3aae9585ba6fd6afbae12456bab4b176badb3be4ba694fdb3a07726bbb0885763c36664bbc650e0abb84ae0abc7d65b8bcff902ebd1009adbb734719bc9aa98dbd4d5388bda253f0bbb060b7bba445bfbde8e693bdf444c3bb66673dbb7bd4babdbe7a84bdf50b9abb1ec1dbba179fa3bd6b4c55bdb75b71bb6cb2d939903a53bdb017ecbcd817fbba8ae1af39b930d1bca57e21bcb6a16c3aed70683a6b70363b4b10d73b2373ffbcbe6a35bdef2192bbfa89463cf5368dbd182885bdf5372c3c5205e53ccbb69abd23e65dbd97d79a3c722d123d80668abdad021abda41eaa3ceb21083d3cb455bd7b6fd7bc9f6b813cb21ad23caac112bdacef6cbcce5d823c042d993c1cddb7bc0ce60abcc76d3d3c3b24e43ba53a9cbb1db830bb6689923b7ae3913a1ab7753be467953b36ea3fbbad91f0ba373b54bc4932a6bd5fd5e83ead07623f32309d3cfcb117bd35bced3e2835573f6f818a3d30e8363d5390df3e16fe2c3ff67de73d491aaf3d28adbc3e9d4c033f4f2a073ec85ecb3d4a4b913ec98cb53eea6ef93dd28eaf3da1754b3e4010663e5934b83d91713a3d5cecdb3d7b1cdd3d18443e3d118c503c8d7be73c860c753cb11a953b25a896bc4555e6bcf8ce1dbd044d04bec3a4c3390000000000000000f7672ebe47be04bd0000000000000000a71220be0075a1bd0000000000000000cc6b1dbe4279bcbd0000000000000000c64c04be76b5bdbd00000000000000005b8bfbbd596583bd0000000000000000d945a1bddc87e3bc000000000000000082a9efbcbc19d3ba00000000000000006ddf32bb51ec713c0000000000000000e74d82bb6b45bf3ae763cc3bdf10c83bc04b653c4314cc3b62fb543c41861f3cdca4023d268e453cdcc5483c790ab83bd9581c3d3663573c577d223c0efd463b1aae0b3d80b5443cb4a2013c6439893a4641ee3c2d202c3c2d96bb3be2a5e5b9b491943cd337dd3b8a27dc3a338bf1b95c030f3ccf80353b1ba7253a6a7c01bb891374ba2c639cb80ec208bba8a70ebaaf611f3b4a1292bbead3543c1adca6bb3b5536baaf2611bc0b51aebc45dc18bd84b098bb03720fbc200c8bbde46382bdca39cabb227ed0bb05b7b7bdbd0f8fbd3825b2bbb18a2fbba1e3b2bd866b7cbd941fbfbb3cc8e4baca509fbd20c848bd6e085abb7525cc393a314dbd9ea7eebccb5dd9ba5cbc763ac0c3c6bc6a6121bcda77b4b94bc0c93aeab2d13aba1b863bf3c9babca55b60bd7f876ebb93154f3c0f8a72bd9c61a8bdbb87193c8a2ced3c2e288bbdae6b82bd5385683c9693133d51cf81bd20253abd8d8a9a3ce156073d452d4cbdecabfcbcc47b513cc352c53c671b1ebd2792aebcd87e883c9efda43ccebc9abc456c28bcead92d3caa5ab93b86e3dbbb8fa49cba74448a3b13b0813a5564b13b50268e3b11e605bae40d93bb8cca3abccd5560bdc207743ecb048a3f09458f3cf32d0fbcab4b833e4765853f2297813df2e1743dc9aa8b3ee351553f9094d83d045cce3d8dda7d3e66c0223f2ceefc3d8d68d73d85214a3e6e2ae03e1c1bf03dd5d3bf3d4f56133ed3b1913ea182ac3d1724633d1039923dcc590d3e1568343d856c993c8b91b83c5ca08d3c1532313b03a938bc80b89fbc69f947bd33fc19be20fad03b0000000000000000ccc442be3b0dfebc00000000000000007a9025be10c799bd0000000000000000f50027bef5aebebd000000000000000089a901beb2f7b6bd0000000000000000863a00be356989bd00000000000000001e35a1bd253be0bc0000000000000000601afebc90b9a6ba00000000000000002fccaeb86a8b823c000000000000000079e381bb6efcb0399515fb3b5091193cfb79393c22d58b3b54f95d3ce74d483c8137fc3c35fb2a3ce5725e3c3018d53b9907193d1aae603c4a8b263c53626e3bd3840b3de589423c1362ee3bcb7a323ba075ef3cb041333c5720bc3bd92a6eba327e943c19bbd93b97432d3bbc958dba08251a3c3f993b3b97832c3a561accba388321bbde5540b897d7f6babceaeaba5ba1383b18dcc1bb126a713c418b57bbbedaa43973621dbc94839cbce512e0bc60ef2cbbde1e20bcfb5583bd6cf974bda539c8bb0e9cdebbdddab4bdac2c88bd8f829cbbbbb354bba2b5b1bd7b0d7cbd5ab395bba20c29bba40e9ebdb67345bde8fa7ebbe8180c3a8a044bbd3aade1bc5ff17eba74dec4395a9fd1bcfe964dbc7b30003a1da0b03ab8f0963bf7b7bf3b5fd1c7bc5eefa4bd5412a0bb18c9823cda553bbda024d4bd152f203c180a013d49bc7fbd87e29ebddfc2583c6bbf123d7b2671bd68b564bdc1db8e3cde9c0e3d9a7944bd7f3b14bdeb8b4b3cae15c93c8ca011bdf8f8c9bcb0cd813cd3be973cf1b79bbcab226ebc3c023b3cef62f33bb1c689bb1e8130bb28dea03b41ac50bacda5a93b40abc63b2bb61eb96e4496bb0f2295bc3ef9dbbc0d7f483d2f68a43f4bdd873c6d0b403cbad5883db50e993fafd86d3d74ca9d3dc1dd053e0da8753fb2cdd43db8abe33d185a0a3e4eb03b3f944cf83d01c1ee3d1e46fa3da2fc013f3b05e93d0b68d43d9b20b63d0685a83ee654ad3d1cd87d3d56383f3de130203e491b293db79fe73c09cf963cf699613ca1392a3b96241abc5452babc88029abd407714be9052cf3a0000000000000000de603abecbb40ebd0000000000000000686c1cbe4f179ebd00000000000000005b9c19be908bc9bd0000000000000000d3a1fdbd61e0bbbd00000000000000002f20efbddc8e8fbd000000000000000099ed9cbd1fddf4bc00000000000000002ea5bebc6be9e13a0000000000000000de5d14bbc0dca33c0000000000000000000000000000000000000000000000005247523cafc9a13b665a673c7fcc4b3cd4f2eb3cc6c4303c5e33473c0886003c6edf143db09c333cc46c263c8caf733ba0c8043d857a443c5f080d3cd560d33aecfddd3c0703213c2967ad3b78c2a03858378e3c32aedc3b8bb5463bb83931baed26dd3b909c183bc400933adca083ba00000000000000000000000000000000000000000000000000000000000000008edd1b3b8f8520bc680998bc39b302bdf3b57abb475206bc968283bd77d85ebd505151bbd5d395bbe1e8b0bd75d685bd98d583bb3da848bbc36baebd8c966abd9fa482bbd464b8ba883997bdef2f43bd908728bb9c26e7390a2147bdbb25ebbc657797badee8ac39f70aa2bcfca903bc00000000000000000000000000000000000000000000000000000000000000005d494abd8106ebbde00e413b2514f03c08b860bdecada2bda9d8433c7607073dd5f057bda65477bd4ec0683cd664e63c8c633bbd574029bddc91323c9628c03caf99fabc2a0edbbc7517603c3cc6803c29ef8abca8e986bca8ec1a3cabb4c13b3ed257bb9b9c90bb12298a3bb674d2ba000000000000000000000000000000000000000000000000000000000000803f4d77a83bc21a063d8cb743bdf44aa53f3d78763d9500b23d092bae3c5851813ff8b8cb3dfd34fd3db2195b3d678c473f0f47f73dcd11fc3d67e95f3d17f80d3f76a7e83d471cdd3dbee6203d1815b83e94baac3d41de8e3dd10a963c5c11373e745a183d39eed53c81f68ebb694e583c0000000000000000000000000000000000000000000000000000000000000000734bf8bd43cc22bd000000000000000054a7e8bd8fbfa3bd00000000000000000a41ecbdda53c5bd0000000000000000cca3d9bd6b85c0bd00000000000000001045cbbd604296bd00000000000000003c4184bdddc50bbd00000000000000009ac9c5bc46175a3b000000000000000000000000000000000000000000000000 +//!TEXTURE ravu_zoom_lut3_ar +//!SIZE 18 2592 +//!FORMAT rgba16f +//!FILTER LINEAR +00000000000000000000000000000000c6e5233672c21636ef1d2536c2c12436e9284b36ec8a103633985b36fe9700375dfee23534dcbf3511efe33579922b36292a8236dcff09362ecd9b36c5a77c37574725367d90253624892e36c1c335378055563622c8f9355ff02f36220e3c3726377b361c3cf135e51f2736a5dae63600000000000000000000000000000000000000000000803f0000000000000000739e2136fe567f3f2a51b5374a508c3663e63a377e7c533fd71cc237d55831372b933837cf6a2a3f10c0c837d5a88e3657a79f372ee3ff3ec33de23783267437397a8a372d3aab3eb5aec637a4c825375a6a53371464303ecc5d9237ad141837b7837836fa44be3adb8d0d370a0409360000000000000000000000000000000068e47c365b146136b422933657a057378f3f1f3615330b36c8c11f36a780233632a90e361270f635b3fe0f36a9b51136dff91435a6e7ff3414422335ecb92535b82d0c3614fc003647eb0a36981e0936ec8bcf359552be354f38d4351c9810372c5232355e712c357dea3e350208433571f43536541824363f5d36369c4e393603d47936bc5c823636cba3366f2cb0366dac453670d57b3ffda6843c974e1737a6e20c36e5c2723fcab6043d88482d3608c40736c0b04a3f412fef3c2f9d1636006e0d35bede253f3ec97d3c57872535081e033686d8f93e33da383cf07910368cc5c83529a6ab3e75a32c38bf35a9365c952e35ac42373e3cb30337cbe24235b4c81a363aa5963c62c45a375df4363635803e36a46a9f36a85a8f3642068b362acf9036ba3e903648749e3686ada936ad6fe535e512b835b5f9f135125610366f4d113629760136d4bd0e3674643936380b3536ccc32736a98e3736e9e43936c1948f356f8f8235be309b355558993599fd4536d9ac40365f88473670734736ebc94736fbd82436af37433636a93e37c073373529c03b35f3c93a35e45b3b352cdabc360a14ec364ec80e3792bb133795ba4636092c523f843a373e683d9136157ca935299c4d3fca783f3e189c0036f853053685902d3f12742a3e6c502636c1482e3669050e3f97fbfe3d64353b3672128735202cd23ee841b73db80499353743423659a7913e66d4133d89444a36b5c52a3661ac1f3ed6ae233854165636a39434355b332a3c24b198374d45393565fe9136fbed5a37c8263b3725b0a2369be3d036ea03d636e70edc3660a7e0368f80dc35b3a5ad35e1f5c835a1e5fd3562777035c6cc2535557d3b35818ea3352cb21e36d2031736147f1e3639822836afa21d36f1a94035098553358e72ab364bc76036e2f72536a1222b360250f63676a28536657b3c3666a7733666d5bd365bc0143671410e3622701b3654f94136ce1ae43639fb02377e05073745101537ab4ca9368fad293f889aac3e9e21be36c992a835713b273f93d7af3ea150b63544cd2635aec30d3f55b7953ed0e9463563a8193641a8e53e3e526b3e003f223678da3b35a710aa3eb8262b3e9cbca9352230233613ac643e9bf7c83d4ffc2736a6c22f368560f13d5a270f3dd7a76036bf0aea35032e463b93b4cd37da6b0036dd849e3522d39837d576703730b4ad35fee8ac36e95dab368191ac36badbb13666cb773637477136794e703626137b36088ccf350864c8356550ca354d10cb35b7bae935cb71e2351e98e8358b50ee35ec67413724ff1f366b33303635bc673779a6ee35af01eb35f5baee356290ec35e31cce35bd10ca35d799cf35e8dcd13523a1f536347e8936f9e69c3623a6f8363835e5360e05ec36ce55e3368edfd73654a59836f807003f64e7ff3e827199364a0266361200003f97efff3ed46e6d36631cca35c429d73e0670d73e697bc735709de6356835ad3eec1dad3ea9d5e935bd7b5d36772c803ef79c7f3ef8a98d367a33ed35bc2e263e2524253ec034ea35fd56cc356485a33d36f8a13d2acbcf350e9e853682fa3238e219253879cc8336cc1cb13673668137b7bf75376032af36c508c3351a2ab835baeaa635cda3a83590dad9358ddea63525238e35d981c7358e37313657c02a363c2e263615192e363c4a2636310c1f3671d51d367d0d2436ce329536ef074935bbec453508575c365f90933641092536c0d02036b06f4b3671063a36cef9b03570389a3511edf835de007d3656cf2c36f2e52136d3c837368238f33618f3ee369b9bec36c281ed3623510335459dad3e7f2a293fb1d2d234d8ab95358a19b03e0d2b273f2f5a8335fecd2d36fcc5953ef0fb0d3f4ce82536718c2336678a6b3e3ba6e53e2eeb1936baf68735255f2b3e85a7aa3e5c523935946f2536eaaec83de6fd643eaa582036ea6ab03524dd133dff10f13dba628135c9c4173660cce1374388563b349408364c4de03695844d3728286b379efbd536d59aaa36b25ca13674459636b5079b361c20343516882e3572dc2b351153303526283d3689bd103645e2ba35d5e020365c0c48362da04436a9fc3b36a8524336b67d9f35406d96359c858a3540018d350c655f3646ec40362f573a36051a3e363492ee366b7e4c36301126360e965236de2ab3360b512636d1f71b36b00e1e365cf3b036426dae36c822ad369923ad3635268f365072363e1d5e523f0f855536d97e3235155f3f3e977d4d3fb47728350bfc2b36e19d283ec5e92d3f67e6f835a9bd46367e78fd3d863e0e3f773e3f36b8a89c35bd03b83d5d01d23efe2c8735130a423613d8113d98f8913ef7ce3736ac27633687181e38b53a1f3e15482936213c1d366c0dc1378fcb203c9cf00b366f9aa436cac2ee366ebe2b37435a91363911773666c1553628952336d2783936364d1a36134ae83515ce86359f93d03542b83d35be3d3b350ea8223569663135f1c1d435ec17ca35359cb135f644ce3502961036ac3e0f367f3b0436af370a3663062735657a2735f8061a35b5b61d35624a18362209133677f41136a8121536c541d736a6743536039e34363ee42e36869c6d37c346573771403f37d9e136371f05693673b88d3cf5907b3f6b0300361ecc1c365679033d5b11733f52d09d35a5b142350a92e53c3eff4a3f13c92835c2e408365a698b3ce3cb253ff7bbc135b9840f36b690433ca040fa3e46d00636c01f2935761a0138454cac3eea91173581641736f8e30b37084a373ef0ef1136c87a3436519ea9370df39d3ce7e62b36357b353726a35a3721c97837ed93853600000000000000000000000000000000fd31ce35d818c335f2cf9a350005c4354c126b36e61bfc354eebe0351bedf535fafcf23632482636760d1c36197226360ac85837fe6449365cda0736429993362d679736d43a06363098d33559fb0c36e6c66e37dcbcb33616055c36e0f00437fd283f3754e2b136864691369b0cfe360000000000000000000000000000000000000000000000000000803f0000000055bbdd35c84464377e9b7f3f72b6c035b619ef36143ada371de0533f6f710a376a611737ef62f337e35b2a3f14d38637c5ba6637e65ce037be03003f23f2a537172db236ba34b637781cab3eac643337fd9d5a379d14ac370ff8313e7aeb7f375f0ec636a9277f37dc36233bd8ed133700000000000000000000000000000000000000000000000000000000000000005f3d2f3623af2b36d1a35036c47b7c36b342953647e393366e85a936fdc36537eb26063689a504367f2fc836c8255b37e2ff5236c2f85036b621cb364eac36370f4432364e182c36dbcc40367e7957361caf8c36d2237d36da7d0c37f540693767174f37540b5e37811c8b37ef53983700000000000000000000000000000000000000000000803f0000000000000000297cfe370f256d3f59666938bbbbc1373a9fa43866df473fe79d71398d441238678608386e0d243f9cb3113894e4ea37a071bd380fc2ff3ef7f86539ab93c637fb1e39382173b73eec56523876d11938d3f6f037bfab5f3ec37f0838390bdb37d958ba37225d983d4a3bd6372d7cba3700000000000000000000000000000000ae03f33550e82d37397c5b3734065737354e3e36f4e93b3608ea4136527b41362af1b235e3e2b03526c9ba35d084b635fdcb3636ef573236e2c25536ce6607375bb6f0358711f035ed48f535d04df235c9574636685e233629a270376483bc37767fa235d6d8a23500966f36127704373e40a736fe36193721ea913735959d37fec00537829c5137bdf07937c01d5f37ebe6b6373ce66a3f7c14a83dd60bc7378bb3b2377937573f7c95ac3d583dbe3716790a383fd1363f70899c3d08d2be384f65073890d4163f0564753dd624ed37211fc137fd08e93ef247363d68a1ae378f5627388391aa3e23579e3c7b43f93844b2a6373c44543e5f041f3826ffc637ff9bb0373e44983dee763838c807e63733c2223719bfed370f8fbc374e3b80377bc1703602d9ac366e26bd3696deb5360b0f6836fbd17f3603a0a9367ce5c336e5ded935622bd73551af013674506d3683c8d2357eebd035416cd4353ffcd5354a3c04363de60036668596366adefc365ed3f1368b3ef136df634037be627137c095a4353e09b835f2d93836c9355a36767308371c4052371dd8923790dd873738fd9f373c2dce37f902db370ad4c73709bdc336424f473f948f623e7fe50d3736d75037425f383fcfe15a3e650591370187f537cba91b3f95b6393ea7f3e23857eb3c374ccd003fbb25163e353575375109c237b56fc73ee9eae43d55a6e5374f1eac373aa2903e9f578f3d0c1ac2379cbe5037c375333efad80e3dbe988c37e4f9543790f1853de9e77a3a7d16a137a1aa923780bf1138522206382ca1c237935d5c3759308c37cada9b37059d663762da3d36ffc4563656ea6336bc9c5e368d8f43366ecc4136c8674436e1b54336a0008836cbfc7c36d038bf36caf7e536e54e2e3646b62d361889cc3684771737269a1a367bb811368c0991360f28b636025f5f366830db362f4d3e37e5464d3743c15c37c9d498379e37c2377a9b9b37c0d18a379132cb37888fe037f403b2379f957d37669d233febabb83ece9d8c378b0424377412183f8ce8ae3ece325b37a8af6837a483003ff09b933e49a08f3783186237e6e6d33e01f16e3e71a2a037179ed0374d68a33ee844383e2c3eef37cb03f137105a693e69aefe3d27b30d384378ab373a380e3ee84f8e3d8e9ad93828428d3783ba4a3d6faa703cccf3bc3775126e3702d26b391c5c37396a37a437e784123650256437d40d7f3708dc973643958636f0468736387d8836eb708836c58217360bb11636ed6c283628664536fdd645365dab4436b6144c3685c75136e7c13a372eae4a378f176c3729297f37d8ba77366aa66b36986b81369b8da136f303e636b9daf5362666fc3679cff936c7b47d37d480a837fb99b037785b8a376e8f6c3719dd093951320d392710723703553237b96eff3ed5e6ff3e21ad3f37c3ee3037b04ced3e3862f03ee825483761ccfb36825ec93ee584ca3e1f651b376b189e3728b0a43ed623a63ec64cae37364ef2378a927e3ec1a5803e9a8b01386f5aa137bd60333e45df363ec099c03727b75737ebf1d43d234ddb3d454c64371bb393371929073de3d90a3dfe799e378dfd4f3757dad939afdefb39d8346237cb11b736b2618a3763a79f37c208b6361e05c436ec31cb3630e4cb36f3aec43656c1c1332f46c833785bc8331626c53358930736ca180836d78d083665d4093679a5c6365a41ab36d50c9936ce9dc736af1a0e3718790737d09afd36f01f0737b05f213780493637887e2537aa60eb363750913797c7dc3859a3ac377e9a7837b201b2379cedd53710e8d03749819d377cb86e37c336b83e6dbc233f6797583718463437f8f4ad3ee390183f8b742f3781a38837ef9b923ea84c013fba50963769d4d137c38e6e3ee149d43ef6c50938cc57db3717ff363e78e5a43ef2b0f03709c481377fa8f93dfc566c3e8cf4b837462ead37208c893d74db113e0d4ea3379be3d23710aa3c3c807f573d0946be37ad299d37750406383dfd10388c78943795e95937653f8f3767c892378c604c3717d9e735780ee8353132e235a1b5e1350144a4350663a035e71b9e356a7fa0350daae236c22fd5367eacce363c0ad23645c8a03639a77f3634f92636a7407036390fd635a266d335387ad635fadbd43597f6a137ae7a9937569968378ef14b3788a2ab37b98fbf372ed9ae378a8285372c3f2c37be156537f4d44a37fd03e1368b9aac371dd6613e477e473f92cb9537837422376fdf583ee6c2383fae7b2a37d5e821376df8363ee1701c3f055e5d379f58b037f112123e6639013fae0eba37319c9e37fd44de3d71b4c73ea870d63744dc5e37c6df873d334a913e34e76a37749f9239e754093dcd94343e3af66c390d26bd37ae93453a176c853d8875a23788fe2337f31ab937308ff637fbb4da36bdca7c36de8f3336dead9936e2031036d8114936bacf4836da674536ae424836f8529f35416e9e35b42c9d3574dc9c358fea2437f4990a36fbc53535470542352a48e9357a32ec350431e9351471e9359dd83b375d8605375adc5d366454cc365cb29f36f00d8736c1921c365c41393695858e3752b98537427e3237a3aad236e260b8373c14c4379aecb837b8788f37283e83374219a73d95116b3f057e9737e408a437326ea93dddbc573fd4aae137742c95377218993d07c2373f5309c837ca6c2038f11b643d2d5f173f195d6b397fcd82373d222a3d96dcea3e31b9ee37980ad1373e317f3ce69eab3e32a312380f49f138885d4e3a3835553e636c25394b35d2378f80f738841f993d4fe5b737c878b837268aec37b0aada383e729b3700000000000000000000000000000000bbb944361e454436cd6f4136cad94436794651364e274136bf8c29366bdb3b36c4503b368cab343603471e3663b62d36872a15374482a7366b0b5036fa5a9e3608c8823707792a371143a336da652137ba40be37643b99371d10613744ef8d3776448d37f6e7693736e23937863647370000000000000000000000000000000000000000000000000000803f00000000313fa537baf5fb37abe76c3f243eec3788d2c4377eea1c387103483f0c196b386f430338e8ce5e389e33243fb9b978383d0fbb370c27b0388be2ff3ebc556739fe5eda37a64102381cc4b73e025a043879330b38e40829385df95f3efd582d387882c737b9d6ec37035f963d65a3e03700000000000000000000000000000000000000000000000000000000000000004dafa53731d3ce374c8ec2375de6c237e2269d379c07ad37f86dae373a05b137dd56d0374956d437d2c6d6373d28da37fc01903973a7a039bc0ba839f1beb639b45993371818983707189a37f6f69c37c27838399ba571396ea2863947d48e3904d6b539f1fedd39ad3dd839188dd63900000000000000000000000000000000000000000000803f0000000000000000cba1023aec37623f3994413a3ce6e93968bc393a4592413f2a237b3abae2273a26a0e139567f203fb39d2e3adac2cf391260883ad459fd3e92229d3a1569803a22c31a3a3b83bd3ef1ab543a055d1b3ab7b2033a1cbe753e02c6133a5f8c043a240e0d3a8260e13d346e213ace79143a00000000000000000000000000000000dda65f3835328338ca8f8038aa7f72381887e936cacf72378de26537392845374f7bae37db25e637a29df837f20ffc37915cc2377abacd37730ecf377131d0372e03b137cb66e737fecb483846ae7c383c0dd237f147dd37306ade3762a7de37ae050639db9487397a06833987e46f39907d9a381a2080394b5b5539dc6216399a0af13785902e396faadd38cf2c3d38e701fa39531f613fcfbeef3d7c8af039e832e339434d483fd13ee43d5769f339d01b4e39b0da2c3fd214cd3d72607739b94f413a7f180e3f11b2993df0fa523a96fc173aa3aae13e48026e3d310f253ac668b939f349a83e9cd1213d9aa5d039afd8003a0d985b3e720da93c3a13163a3b668f394669d53d6f3ae8396c1da439a1e5c238e4f4d439f9e55a39b4a6f938a66f9737238e3039a5a00039fceee937319266374b24a0377be29837e16b8437e86da637610a0c3989bbe8388fcc7338e0df8938e0bd673991706c393c763a39b2574e37de19c8379c9494376ce684377b83b9385492803961866c39cb902e39eebf8038b0076d396a665139def70939ec54e9389b04043a249afd3990ed413995870c39c71195397f16763979ab113994b287393db2403f39237a3eddd08639a2d89c39f30d2d3fb1a0693e6b54b739bf51233a944e123fe08d403e60761f3aee5b2f3a88dff23e82d01e3e7e492d3ab862143a98fac03e26b2f83d895c1d3a0d4f0b3ab2618f3e2c09b33d69c10b3a75e7e9395c7d3a3e2c3f623d7e68283a11edec398ac3af3dc2cc9d3c67a3ff395ce44939c7012b3afe27e6397f0e4c393d3f2a395b64c3390102c339c34e7e390f3fec3645044b374a664d37ee4404375f78ce37c51f05386c13073850a8e637a840d4376a57e03772f1de37d986d63709dea938cfa85939d903773939fb3e39a7a328390175a939f436b3390f4a76398f03ff385b32a3391feda9391da85d39be9fca3924cb443a715a423a3086f439af96fc383efe9939f8ea953937ae2239b3d5d239dace1f3f727bbd3ea22ee03900282f393ccd0e3f142aab3e2ac87339f3b8b7399555f43eaf28923e1980d639040e7f39c4f1c93ec9b6703e3e16a4393bd5fd39ac2aa03eb8933c3e2a110d3ae5820a3aa2a96d3eab530b3ec907173a8df2c739ccd1193ee9c3b03d4afee339a6090c3ae38e8b3d0278103ddd7e183af1b62639935ee9390551c83919a14a39b3e40a383d2f4d39204c7f3956a4223847f5583752d188384996e1383f497837a3ab15389942303874f03438058e2138c07ad9379062e537ab49e437d5a6da37e048c537e85dde37dfe1e3374127ce3728c0e33747a8ee376d0cf037a92ee637f2a33038563ef1385bb41c39c9223338705a6139cd66183a9bb62d3ab59a713908b589385830cd393da1d2394dfaab388ae17d396e00ff3e8a39ff3e9e3088392c9aa939e391e33e51fbe33e9aebf539d2769739c090c23e8adec23eb4e6bf398c1f293a67f5a03e7181a13eac77483a9a4aaa395c447f3e02e57f3e647bd039f892153ad4b33b3e12763c3e64a32b3a1d129039a399f23d431ff43d03bda8394c54ab390d885a3d502d5b3d48f3d83972631339a0251d3a5f41233adcbd2a39833bc53759022e39722d6839c543d53761c24a38599d8339694aa3391c9a9a38ec348337dad1b13733b5c73769af9737e7112238bd9e1a396f5e53393bc28d386a1c1d390a7b6c3948878439c57824392edbd9375a2ef837fb4e02381414df37f7ab2c39504a953996e19f39ccd31b391382ca3869bb9839382cad39b1aa6138469fb2390e99f1390e5bf839615ba73951da6b39d8c2bd3ec05f203f26557639e538103add04aa3e45280f3f4cd81a3a938fc8391a5b913eae2af43e3604db3930690b3a43f46e3e281bca3e0269173a61ef043add943d3eefeda03eff3f073a79864c39c3020b3e371f6f3e59d180395256d0399202ad3d6ae1193e7821cf39e13961396d12143d94998f3dfbca3b391403c239b77f1f3a03ac433aa594ba3905f1f4373ff904395e0c723910e86338b9986837e0c380372aa4e137cfe367373554dc372059fc3706b50a3859f1e6374156bd3775299038eb8d1a397c19363888c4543702418937eac48b38a64a793788437f393284a939d2ebc93932718e39d8bbc039bc8bf939ad810d3a535dd03967f59c3906e8d1392c15e8399bdb7d39129037391f179139724fad3921f82d39820179391c3c793e32da403ffe0a9b39e5c40e3a2241623ec1a12b3f0cc0323a04b3123a0e3e3f3e1095123fa49d6e3a68d3043a70a91d3e2364f33e2e611c3ae92efa391388f83db36bc13e7a7c303abd30213a83acb03d8b388f3eb3c0303a1c74213a180c583d21713b3e9424303a0d41c639fc99363a2518bd3de7a4b239dac25a390eb5b6396817eb3919a65c398930e13771ba01385b4d8738f665e5379a8b88374c28a937b285c137af928737806453381a345a388e3a6238e96e4e38f050d0378cb7d237a36ad337a1f7c93754c4bc37004bd237fb206f3841fdb6370596d637e552d8376bacdb37562cd0371d6e2b389d6c3138899c7038eca018389a3a903987bfb239e995d639e6c17e3918fd8238a6884439a7d9ca394357803819443239d255ef3d74a2613ffd067c3993cd99398178e13d2d83483fe0f2d53918cb053a3bc5bd3d3b3d2b3f2bcf3b3a2aa5b939aa00983d6a420e3f2d74183ac133133ab46f6a3dc6d8e13e72a1463ad4c4353a8d191b3de15ca83e56e74e3ac3f08c3938b5f9393954643e225d7e399bfbdf39eee8163a07edd13d3e49d83966274f3929ad073a463c633a9c480d390000000000000000000000000000000029548b38359d9638f8e40b39fe1aaf38f59a4738188d2b3816d1ab38cc979538cfce923747a59137c83b9037c2068d37f224903958398a3961f69239fa0a8f392447ea378e89e5375dfeea37437de6379da6d53753efd437856bda37e584c9373bed81392b2d8d392944a0398dd674390000000000000000000000000000000000000000000000000000803f00000000b583163a57ed393a545f623f3e12383a0882073a418b263a4864413fad87273addf0063ae0905e3a841e203f5f06583a4256603a5de0933a852ffe3e60d8943aeb7a8c395eeaf5394881bd3e8b3edb390603033a31d0383a4754753e9bb31a3a39e3cd395375ee39dbdee53d86aad8390000000000000000000000000000000000000000000000000000000000000000d9cd143652f90936c9b91736c86f23361cd99c356b5b9335d83da63552ed0f36aec54c366e081636339d4c3600c26d36115a9f36535b8836770e9c3615952e37c72e6b37a82d77367b9871378bfde2379c2b1237241b913687b410372e1c4c370e78c33667bf20368488933698720e3700000000000000000000000000000000000000000000803f000000000000000030c31d3736b77f3ff18a2a3866b3b73714932a3786d15f3f2a70063801ab8937951316388fb42f3fc8b78538f2950338cccfdf37f5b9ff3e70671838581cbd37726d4f38e03ba03e74eb7538a063293878a5c937e5ccfe3d8df1303834c38a372d31b2376c1d843adb59853814c446370000000000000000000000000000000052c62b35611d2f35de04d135e4824536c4bc013492d80734b50f0c3459f70734c824fc3435b3c8340c0b3a3542b2b03524398434f962853498698534ff588434ce091634c3861a34ab631a3415b42a3513db9d368f67263667adc236d10f0937c26e3b36fe37db35a83b453619f62737fe72a637755080379b00b937fcf6e037a9310d37ee6efd361b981e376d572037ebe62c354aea7f3f0ab9a339900db836f2bd0434c6737f3f9b984439f2e7ab367a7d0236bb775d3f9913943820bfb636003a8634d4312e3f55a09638a0188d370a472b36dec3fe3eb7a21438afcc1f3785d71837819e9f3e9302893814b47d3798e8f53775bf013e50f3c339ab0925384410b6370bff913a10618b38fd9b11384684b236dddad337e567ff37bb2a6c37abdc603643748a369bede2368cf5ef3696f82435f11a2a354be56b358555ef3563fe303449963434ed57d634593885351724f7358550e135c1bb02367e3711364892003645c0c835a4cb543631a8be36be3af63418eebe345d231e3557b42d35fddcbc3770091a3757ced1372913143890f2ad36f6899f360ba2253774de8c374b2dc336fb4fba36a407cb36c94bbe368a5243368fe9623fd2a5e83daeb7053714522435762d623f6f50ed3d2af0ac36ff4f50358a683e3f3b7bdf3d907bb8372ce10336f8351a3f242ba83d0f2e20388fedb836d334df3e2aca833de0050738d7831c35fd258f3e413c093d551fa737f70125381992053e5fedc73c86f27a3845195336e783b538043e43397090ea37963b4036dba63037732b813752fae4362ed34234a2ff4534e7c4a0365107b236a3d49136c85697364acda0367588a2364f132f36aad3d635821c383629218f362cbee735a4d3903415d088355e8728365ee2713669227036d30e7c36ed9aaa36db2e1f37c651503613d55736d7dd8b37c2506335535ed73447c51535b3ea6936deab8b372ed37737b3fe91378fae93377c46e136a985ba36ceaeef36498bef363bfc45348af6303f8bf99d3ec416843639b2953603c32f3f7129a03e3db6aa36ce7e9936136c183f78b98c3e26da3137456b49361530ef3e54c15f3e83918c361117b8367c2eaf3e5c82213ee278ed36b4b1d33708795a3ebe3dcd3d8fd914381bf87735e579b73db3741d3d6e800e3751e45e377d27bc383585053980b19137f021a33525ce7e373635a53758cb95367bc0cd340d16d134a183d3348a5bd33409cbc4347d17c73421eec7344cc6c6345ad45234d37c59344fdf583494585234378b6b35ee3d683536546835b7cc8035f3592a362c179f341197b034acf62e36b9189d35ceef96350d2b9b356d559c35dc725936360354347d55573439448c36bf9d2237a514ea365959243757704537be050237d8fae836a115fc36271bef3680a5d0346278ff3e6345003f71a7d234ca2ac6347014fd3ec049013f1ce2c63456065534e6ffd93e0186e13e900754340a5c84354acfab3e5e16b33e41738535024f3437fe37793e436b833e4e9b5f372d279035883f1a3ebe1a283ec4b38b35f6a5bb36b174783d1017963d61cecc367f73733661f69638dce50d3a3a10db362ffdae3574b69e372996c83759895c36fd49ac35add9b5355165a535bd7a9735005efe36a4aed936a79c9b36906cd2361bb7d8349320da340820d9344ac9d734d9534a360ae14236449c38365e3e4a3612287d362c7d7b36125c773614b0783607fe79367936243613bd0a3636195b36843605386fb0b73782e38937153bb9375bd5d3370a6ad4378da5ee3793c1f337160d773705df683790957137dcf4663750189f356a1d9d3e5c68313f12367d35d1dd3437a86a9a3ef4c0323f0226f03699b2d534fd3a853e49a21c3fe7a8d734e9fca93737714e3e4f36f83e7cb0ed36f387e436e943123e3ff8b63e031eb7365ad82337aa12ae3d82df6a3e1679bb360ab53f38a230c13c2549d93db7b90b38220ae837b104c9384ca5fd393a0b95374b7b28375daa1738655f0738387416367d3f9536e95c89363b42d635f883c635dd74313644493136a7d81d368e511d3650399836430289363bec5e363aeb7b36e555f534b9b8ca341988b8347782b834b7689f366c311a36cc3bd4352f0c5c36d2f70937953a193647060e36ef281036fa929537c4ccf63653c7f535ce95743637bb0f37fea9ec36c12eec3660c4ec36a472fe36ba8cfa368548f236a534e436fd18e1369f4ae53d4058633f9630a434e4ec86365ecdda3dfb94643f57551e365df21f380ca1bb3d28e3403fb4be903607d92136483b8b3d5b711e3fd7a9ba34d2970438c8a4493d35c3e63e3daa2837f20b3d384e53b33c5148963e4151bd3707172c386abb5e3c07bb083e0635a7377d3b65378484c238af6b073aacb5a036da2efe3632ef8437f7a03a372e65b136ddf5e3365335a43620768a3546e505363c639c34a9999c3470769a34858c9a34f3ca84345fc017344cc415346be41534997e8e366d771e3654ad12363be21a3699502c3415111a3462ce183423451734cd2af6347a73d334d61a8a34dc7689347a51b13697208e36ae845136be368c36a387d8368ff7c43627a7ae365e61bf36a1c0a0367cac94366d3d78363d3863368faaaa374550c5388af37f3f4809443604be6737a7358a383aa47f3f671d9b34896d49373c719b380a7a5f3f582ff43575e72b3762606f381c2e303f62d7da36579e0d37b82f0b38379e003f28819036edefc8373feda6382093a33e48886637bdabea3652ceb738212c0a3ef7abda36a202fb36ebb9963846d8ff3a3faeb9368684a636294606371eb6ef361078033600000000000000000000000000000000cc7dcc35d256b235f67566359a0ca235708cb435889054341ac9523475ae50348d6a1737af924936a44a38363b3b4e36956a1c37f951a23669558f36d596a536506b0837e37a793673da5c36a6308136a9a1b437092c3537fc9c9536c9fb5837e103123845aeff376e26de37201209380000000000000000000000000000000000000000000000000000803f000000006b2403367aa84637eebd7f3f5228ff35502c0637436d8b376d1f603ff8093e37511d0e389cfb4d3878da2f3fec533138a32fbd37cde40d38ac1c003fbda4fc370067283877c09538d67da03e273e7d384dcdf837ad573f3842a3003e577730385fa11f389c09633854b9633a0dd443380000000000000000000000000000000000000000000000000000000000000000e5deb1352bc6a135a354d0356f53e835ecfac3347165c334f18fc23444bb0e3548962635ad692835543e3535f0f7353570a103350316043593da3235397247357253e9350792d43518ad0f36f2932e367e3c73365aaf413681298f36d877be365fed3036541e1e36a16f6836c636843600000000000000000000000000000000000000000000803f0000000000000000f6152b36983e763f6d3bce373ef26e36449878370879523f08c234383354b73701a9a5373742293f6df638380e5da337cacd1f389f75fe3e405c7f391ab019381a7111385de0aa3e94693b38a9aafe3762f09138bacc313ea717ac38a3fc6238c3623a38808f0e3da5ed7b383b910e38000000000000000000000000000000002e3e0d3661fb163644db533699516736c728cd3520adcb35a25f0836db971636796c6c33c441703353377433fbfa6c33b6332b3417da2a34d3882c34075627349d2b4636871e4836b4305c3660da5e369949a834309daa3451f3ac34a3faa7343862ab324fd3ab32ddd2ab328dab4a36860a1d36c4a02a3678c25436e08b813642272335cafe4b358e0a5635577048351b4a91368ee67f3ff76aa539d049bf37e5b55836ebdc733fcf7210395437ce37caeb94363a284f3f8d4f8339351f3f38174ea53645ec263fc8769238dd90ec371497ed36e4fcfb3e7d5f5539b63fa937a9fb1e382357aa3e50579839b4c4413892977f38a2bf2e3e10ff303c344d8b381eaea9375e0b013d05e9833a899bf0374ea73135133aa837f55d00389a880a374d28f73435dffa34a5dff9342b44983588a67036c79b6e36e3fb803621068736805e01361884f6359e000c36ca0314363ff41536d3ed093667101b360dfc243616ef9236dc1e8c36928c9d36f551ab36b91c203521602435cb872a3526042c35eb3b1636e2d3113603ab1936810d1a36b7efb236c053b836baf1ba360607b53631759f36dce8a5363a00ac3635dda6366c65f536bc885b3f6ebf113e93d9d537649ca136f6ac533ff614033e4256bf36335d4f362f472d3fe399013e372a60371a665d36f3a50e3f6e8fcd3d003c813631afe23644d6d43ee530ab3d6fa87f37900f2c363692923eae35663d2e9dd5379e11d0368e13203edbcc0c3d784a9737ebb214378adca03c537a9c3ccaeac937ddc99636c86ee337ca0915380f2dba3727f31036f6432d36ac5f5c3673d9613646436f3659846f3635587a36452083369a489835966b9335da3ca4351c21ba3594177435e8487a35f64e8235f6fe94357cc45f36aa8962363b176a366b3d7d3647c64f3617305236a5fe57365270583643b08336058a7e36c6a78136d2e2a2369c834a36ed295a36100166360cc78536b10bbd3656afc73660ebd3368a14cc3649fd9836a48f2d3f9ed7a43e20522737c07f9d36b801263f5b4d9f3e1757b236fe9ca436a3540b3f8cd3883ecc4e523765c6f035ddd8df3e6f685e3eafde3a375737b83678e3a73e6716303e8024a8373cca1d37de58623e3667f23ddbbfd3373cf029380493f73ded568a3dc13d5d38ccf0a237962d563c3bf1a63c02d5e6377311d736de16c23759cdfc37172228372b4b013588d05f356356a0354fde6e3574ee2636a4412e36e02c32362e3c2e36a89eac33bcabb1331a30bd3372f0a6337f19a634fefda534a8a5a33438369f340da0b636859ab636c58cb936d7edbc3699e2a2342ee0a434601ba7340634a034ef0cb83683319d369a14ab36ed9dcd36058d8a377401683783e48437b62f9d372d384a3603f95c36ee995236a96e383641d9f5358daafe3eb5a4003f1dd20e36fd47ce3604f8f03ec209fd3e4ad6fa3613adcc369c3ac83e65e5d63ee7df9e37dc43a2342365a13ee2b4b03e9c302037ca015037f0ab743e86ac853e222aa23724374737e292203e14583b3e81c6c1371d6b30388cd3ae3d29c7d43df16d4d3899c113383f5c443c9e82bd3c124c1c38e51b4d36a681083867b1193867d392363e641236d4121e36a8c019365ace093604a2873548ec823572c28035650b7e351a8020366a5c1a368e02133614981836ee6227363eb11c36fb1a1a363451213663426e36fca16536238e5a36ff177136c502de359b5acf35ece4c73561d9c435434aaf36208686365f0c80363737a9365d62c13637f6c136bd56bf36ba57ba362639d3362fd3d336aedfcf3687a4d63620db10376152a23e5ad12e3f7227ac366ebb1136161f953e86e02c3f0a0617364f6ce5368e99723e0c20133f6fac5437553d6d364743443e161ef03e4bf6b736eeb24937f7b5133ea341b63e041a8037bf1556372e68c63d9caa7e3e88237837f1400b38acd83f3d171c113eeaef02383ecaba375d783b3c1487ed3c4bf8b237d8ab1f378ba40a38608b153843621437ce595d36fad46036b6384e362f283d36ca35603692a85f36271d483674264c366456a4358f7a9d3541db7d357bd595357318293551492e355aa6283584f423357801ac360321a336ebc29636d1aca236078b54368bb95536d3ca4c3678434b3695d06d368a277036da206b36d0826336d919d036b7b2d336f929d036ba9ecb36d0de2c37177c293746ee2637aec1263738f8b5379cdb0a3e23435d3fffcb7b3601f6a23629cddc3d827b5a3f267f97366b8c8136e2d6d23df9d7343fd1eb5036a2b19a353cbf8c3d33c1163f99459c3531940037342f763dd4a9e13e77f81137fe4ab2360b77003dec519f3e5db97f366784c937ac9ac03c4f43313e81a9b837a073c33746f32f3cabf70c3d16c66f37b19a7037339c2a38253526388d854e37b0e6b33427bdb4341bf2b634bd8daf3487120735439208353b7c0835be42083549d99f32cfbda2325e78a332b4d6a2328ea9a334b2e4a334c369a2349b3fa13485125c36193a583622c84d3617f34d36b0292734454c2e3498f92d3480cb2834efeead36975966364f690e3637056e369ae59c361ebd9d363ceb9a369afa91360bddce36731dcf362a5cc6365b88bc3684f0b337e710b738f0f77f3f23b5ff35a778e935035d0038d8a9773f27b7c03536b799377d3294388885513fcfb8ed37e6b5913776ad8a38d7ba2a3ff62bf337d358193718b01038bdf2013f08148d374beb0538d3679938711cb23e4ce12438825b93380658fc39d786423e43439b38033d5c38709b05393c1b413d3d5b3e3876ff6c373cc0d6373f35d737cf31b8360000000000000000000000000000000030def334191ef134ab02f334de5bf6346c8eaf34a721b83408d7b134f265ba3498bf3d35d9f218356989e53401410d35313a033571f8043555560535676c073526942835ba112b3585172d3571da2e3527d8b93614a88b3616b56436eff89b36604465361e67623629ba5e36921959360000000000000000000000000000000000000000000000000000803f00000000f5e3fc34470b4b370117773f3b78dc366b9de636312d29386487533f4175353898442c374bfcec371f8b2a3f989f0138f38bbc370f7a4c389ab8003f18c64e381e92b53720de3f38a569ad3e14f2383894292d3818647c38e1fa353eef1f6c38e2f2df37e44543380dd11b3d02d615380000000000000000000000000000000000000000000000000000000000000000507f05352520083521291035435214352985d635755cd2359134e235c1eeee359af6be35d3f9b8352182ca35626fda3503ac0d358a910e3548352e3508b0ff363c681a3740e50e3710c08337f214c5378f2f263756602537091e3c37a3345037aea41f376a3e21372cd24b3798be973700000000000000000000000000000000000000000000803f0000000000000000b5e93e3860f86b3fb6a1a738c3757538fdc89a38488f453f6c43113ae07a49392bb1bf3882b2243f3c9e063ac41c59396666c338ba4ffe3ea33c123a5709c439d5082239d25ab43ea74c623ae295133a05662a3ced0a483e3ccf8b3ccf661a3abe3d603c21eb303dabbe8e3ca7d0293a00000000000000000000000000000000d94e553616a95c36840d6c36d3967636e0870e36ab7f1136a5ec153689b1193622b104364ff805361b500736af1e0a3615178d35a14e8f359e2d9135a99293353af2e4357c52e83537d7ec352aefee35e6d0d3354309d735dea1d835de82db35b686a63772cbad37caa1cf373fd80938529bab364f2fb1368919b1362531b236f760d0364462e936547b0b372cd73d37ac4e0f38b620743f05c63c3d0e328a38659fd938014f5e3f1716183dddde2139d2a19038820a3a3f4abd3a3da121d738e724aa3894a3173f1a843e3db3dfcf38e77e0a3977fee93e7e51313d15a8c73975d6df38ae9ca93eeb80e63c0ae12b3a6402e938372e493e85dff13c11b5313aff80e5387acc713d9569f23c4f497f39ce09c137658a0e3839641a38d4851c38b7e305376da60837cbfd0c37ab680d37dffd21369fbd2b3654563d3641084a36b79cb135e4edb7354664bb35ff5ebf352529da342a62e634cd6ce73404c3ef34cabb07367b46093678c90b36f7d10d36a9d2583673955e36f8336536bae46c3684293c37e6c64b37a6809a37e5a7cd37f620cf3664a30737f4044f3748dd7e37ed5d113773ba2137471b3037c1d93a376bbed03702af4d3f3607493ed852163864be0e38ec563c3ff0c4363ebf50b73819a16e38b2941b3f3945293e145ac338dc350538f7c3003f282d0c3e32abe4387435d038d04ec53e8f74e63d1cb7453a7b028138a6308f3e2a499f3d9ef42c3a6844a138cdc6333eaac2443d8b504c3a023ab338ea2e4d3d028e003d723585397c446a37c3209f372f65aa377dff92372464d936cdacde3609e4e1365b4ce4364572a6357af9a835481eac35f130ab351473b935e71dbb3585fbba351262c035cb87d835420cdb3591fae43555f6f035da1bc035475dc1356740c735bf7dcc35e27fc5351504cc35970ad1354731d635358e6b374ed474376b6c8737538a98376724ee366ad90c3730ba513751f46037b7010b3728992d373cc152373610643744247a381b6e263f27e8b23e0c0699380b1d4737abb9173fcf3da43e188f4c3868e22a38844cff3e2eec8d3e12b88038fc5c2438de45d03eae076d3e25f30439da9e8f38f573a13ef89f3b3e52e1ce388fce48380ce3673e33d3073e4c499239f620c2387be0103e5039a53de049403946e6da38ad872d3d7e6ffc3c12a6123c5823db3730b01b386b6a23386b9e04380e36b1363e41b7368bf8ba36609db936d765ec35d5ae0236ce490a365e7517365167d435998bd6353039db3580ace135e38d9c3585ab9e35ff8d9c355dcd9b359740c9350b45cf3547a1cf35c533d235a46bba35e66bc935dd31c7357813c3352ec9c137db21c8373583e2378fe60c38247e543761f274375075c637c64700383089e63655e2ec36f93fe9367a00e4363075e0379feff93e50fa023feb600e387df075386fabe63e1793ef3e5a0ac8385e30b438d124c13e0fd8ca3e0221da380b52933898679e3ef7d7a83efde1cf38861fc7387435793e2e4a833ebb1ef6380e719c384249313edcf03f3e762c2339e85eda38e74fdf3d4e0af03d7ee5ed38776bf038a910153dc6221d3d3178d33b3f3c9837962d0a3840d71138a3f0cb37f1dcc13602f9c53683aec536217fc4363852433696eb4b3638a15036fa685b36858e0f36eda51536b11d1736979d22364e29653526a86b357b31683542736b359c3ac2350eacc43548f4c435fe0bc7354c703d360ace4036149a40369b744536332eed363b34f936c985053723d148370fc3b83668b7cc368c74de36e6d1e13640d61b37e9291e3795503637cd235837b4dd0c38db8bb03e14af273f7ca02e386c10b837ca0a9c3e71e61c3fd8886138d3583f3819d4833edb1f053f68ac683885702538a891593e3537db3ed909ae3893a79938ecfc2d3e209aa93ee332ce38a4f89a38bdaff13d87de783eeab3243a6b7ff13875b1923d17871b3e5657f239d60087387e3e1e3d0936433d3c8698382f2537384bee7b38cb9d5b39348c563824fef136fc00f5368bfef036adb5f1366cb3ce35fa64cc35a466ca35b264c6357876823507e18335459a8035c1c97d35dd4123367e9721368b861c36c967223694b60736415307363270073604ec0936b2f11835363e1c35b0681835d333173566e7c03746ccb437dea6b93784c1df3722daeb36a5b8eb36f1f4e9364fb3e63640e88d37325a8a37216d85375f7e8237fcaf05381500443e44f64e3feb87313860f26a38ead5253ee68a413f40a0b038fcd96c38fa65183ef96c203ff39f8738952e8c384df0ef3ddc4d063fc869e4382a41d8384d96c73de064ce3ec8e9323a6511ae3807d8853decce963eb91808396769cc3bf2fe153df50f3c3eb1d2c33923451d3a2079fe3c39885b3df8a1f3396ba2f737dbc20e3807591b383163f4376f9ea9365cb5ac36cec6ab365426aa365c98da35e703ed3505eedb35c84f0036186008368f770636598802364f6607362341cd35f051cd3544bcc83500aac83535eaf4359d56f535c270f23581c8ef35c98afb350c99f7355a62ee35beb06536d3f9a9375ff9a33740809e372f02a837a0583337bf822a37c7752337583c6837087604374e2efb36e053ed364a1ce5361591383886c1243d91a4753f06232838bc98a83856e0aa3c19d6633f38d3f43847d2cb3877fad33c3c473f3fa3f8f4380207b338cba4dc3c26e11c3f375518396ed508397a7fe83c64c5f03eb4d8e2390493ae38441c753c7400b13e3710a93939a3ff38d59ad93cff754d3e32397439fc18dc3b3068d13c9cb37c3da7616039c299023800be1b38d4d62a38b3bcf03700000000000000000000000000000000ac5f3036f7e535367857323642e93f3697b9df35f817df3506ffdf350e81e535c91bee35f604fc350db2f03502a9fe35e1cb78351dae7a35ed4d703536490236b6931536bcab133683b8113612817936d2b918389db91238c85f1038997c1f38279ece372c72c837a78fd137c463db370000000000000000000000000000000000000000000000000000803f00000000c16f0138451291384ec46c3f1adaa938654623385d1388384fc3463fde42083996358c3862e9b2382251253f0e86b03980f184386a321b39f56e003ff1abdb39af29b63888b6263ad871b53e8aaa6a3a2022213a9dcd8e3ac65e5a3eb6fd4c3cebdee73b4df86b3c12f7313dd73a553c0000000000000000000000000000000000000000000000000000000000000000461783363aba693607c87736309c8336436a01369c49b5359c27bd35960bda35c4cdab36d54e9a36eec599368c4d9a36e8038e3688ec81366ed3843641738836fc8dfc3750f9c437fbf74338b3e876381bbc0d360b90dc35f180c73558f9b335988e5636817f40363a9c3b36b951543600000000000000000000000000000000000000000000803f00000000000000008bb3863702957a3faeff1e38e7d37d371e751f3886b25e3f33176c38ee8900381a33bb37a6f02f3f6069c8376424763766be9937261b003f6375af378ad546370dbedc388f0fa03e7913e5385319a838d2f3aa37979e023eee4bac375137fb36a1458b3722aca53c4123b53752650d3700000000000000000000000000000000caa50f351d9f1235ef3d8a3587968b355ea682369d086d3630268836eb649a3620cc8a361f017f3641507536a3bd8136b1d2c736f1a1af361211b236b845b236ced3f836eb82e1361a1df23646a6fa36dc425b3621584e3638294e36d5b6383785bc9536a24b8a3622db89363aca7d362b57b236b840a336a980a736519d9536a61ddf371d0fc737c6c536383d5037386e1c2435bf047d3f9dc34a3c44c1c1377e99783615a9763f73e59c3aaa944637844585360e015a3f81f89d38388b9c3763d6bf36caaa2d3f513b30380e92b936f7660f3827dffe3e594fb63823e22c386f0b3e3872f2a33ef225e838859e7838f0aa93365a940e3e714d363903378836687e95368b3a0d3dfd589e37d6f19f36e83b8a378bf6a13835f19b3876712b3819605936d1d0523625863c364d8f4b3699cde436304eca36c437e736efee0137e2875e36ee1856364c3968366afd6f36b6c52a36d65e1136597b2a36e41a2f361a5a6c36d1b54f36ec0c6b36fc3c623725bbac360d89b03630afb4368716b1362d365336e9a05d3682da6736521a6236034a423696d93036e9cf273674be1836689bae3529d0e535819ea335ee955035566409367454643f7ec7de3d539849363a9ecc36fef35e3f9631de3d3fa27b3752656e36bd50443f7dcd933d52dad7363f611b36b0b91b3fd2ed723d12319537d225c23733dce23ea9d8573de7d3153864d80037f80d8f3e7719343dafff2838782a57361163d53d6a234d3d2a7254360bb4333627c3a13a5ba6fc3b1ebf9a36458d5b3576b9ee37f2e34138001f7d351f227235b2705935cd8abb35e120c435d9351f36bd29f13510bdeb3534c80c36c56a38366c8b2736eaae393691a444362cc8a23689bd8d36574d9436e5029c368e188b367b4f4e36e9517736db0ba836f50a3f36b51241366f684336b718513619787836390b61365c4f6036ad946636eae23c3711a83137d39436373419443701067b3660fb5a369b8d553629b95836fc0e233573e4323f72489a3e57da2a35ebd876356bb12f3fccfa9b3efbd32b369d8c3f36cccf163fb16f803e8aff373661a29336bdbcf13e31f5523e063f6037b0597b368d2ab03e03621e3ed6ab5a3753df50361c94593e57dbe03df0ff4736c26a9436b44dbb3d2683753d6df6b0364ccd33377d34d43aaf58113c048d44377eb15a36d5eace37d2b71738104b4f36200a8637edd6123829a2f13782a601388e398f363a4a8736e63398366854a3366f329d3609cf96369f2d8c36d02e913665cd9b36d5d08836e10d8c36d0998e368faf0137d447f63646cefc361bc40237a7d89b367ea69836cb5e9436cf3494367d439b36326c8e362d369b3618a598368033b4363feda93646bfb7364370ad368113813857f37238c1fe9a3833ef7a38ee838637a94c003f58c8ff3e0fec8737b0f57f3644b6fc3efaf3003f719c8c366c719336a36ad73e7b34de3e8739923643e79336ddd5a93e0291b03eaaaa913699e3f936e752793eb48f833e010cff3657dfaf3601371f3e9b3d2e3e9fa79b373619a03669099c3d1aca903df03399368adc993687daea3aaffbba3a2802aa365f9239384a292c39e11b3439428dbd37cbca6336144246364e5844367d6d423639652737f82d1937f7450d37929b203786e06836333c5d365b3d6d36143077369a4f46365f7821366a142c3686ac3636c37b9736ad8862368a7d4a364a15833689c59f36b6729f36985aa2368175a236f30c3536e9253636d06c38365b0a4336aadb3c363282223633dd27361d921c36686e1036fb02f835a245f3357171c53539c13336bc629a3eadf7323fd2302b369fcd2437401e963e066b323f34a31a37dd7584369e35763eceda1b3f8cf953369270323674f8433ef7d4f93e7fa623365a5be136cd39153edab9b63e6a3bb3367ec3803737f9c43d701b683e1b8855378a0635361fa1913dc177b73d96c6643739812c36e6d0123cbb535a3acf8737367b23e035fdabc937c07b5b3743e6c735831e193511fe8434e807c8346acc1235887c40361b8efa357fb295358ee4fe35af245a36953c4e366e53483655535c3646dab13632a59d36950197367173a136c5120e379640603669ed5c3650218b3632532836c8232936ead1243665b832368e7a693610c85536ebf45236ae1d65365ce0123743570a373c2a1437557731378fbd82362bb37336826c6736a16e7836cb1bbc37bd15e13db6fb633f330801348b4f093606b3d73dcee2623f1c400e3649b95836d1c5723d9a9f493fe1ef4436c63589371120623dd9701f3fbcfa9a36d5ba083803274d3db655e93ee002d737d31888379ed33e3d7e0f933e44bc2837c78aeb3622236d3d286fd53ddc0a97360058a237af3ca93caf489d39e2cf3c3708de453649ec073857248b37bef95b36c0b724388976a937e30acf35c15bf0359f9c893613ce5f3633202436a1fa8036823f8c36d436863650fc6e3633c58636d0535c3677322d369cd71e3696993336e09a0137c582eb36a45fd5362a07f536e0bfc736e9ceba3605e3b3365ae8b736351f8e36ff8c79367ec2813637988436fba69336fad18236e4058a36804b8a36ee90a435922b95355acc8e355ab0943591d7c838f561033c4f337e3f6388cc35ee839636146fb9395031773f28c88136bd5d813692fb9d37c69f5c3f239f833667c73938099ad838ba832e3fe22ff23730303738cdc9c438e2bf003f06aa1f38f217ca366b6b13398d90a53eb1b0023767e28b3788b2033c51a5103e18a2d637e54ee8371f99a8388075113d0eaf6137203e24372d2923382396bd376ecb6c3500000000000000000000000000000000592657361caf4036554b4336dcfa4b360defe935b15db3359b2ab1351098c2352a88f43798cf4a368f96273672ef5236a8e793369060873691087f36e6bb84365874a736901a9836aa5c9436e04091360078bc3707bb2f37459afe3555395f37ba8b97362e8b85365e63783691a40f370000000000000000000000000000000000000000000000000000803f0000000056b1693652633937a2227b3f2bbecb368cf3053691ae423771a95f3fa8242337578d803896f2ca383355303f366ec238dcc5ec36bfcea2376174003fbd6aae3721294e3771e6e3374e8ea03ea39de8374d0b40380c359e387235073e95199a3897adcb3728f93438b4e6b63c14454a3800000000000000000000000000000000000000000000000000000000000000006b8d583493c88e34645b95346fedcc34ced7d43411e3f034413101351e24043526b2a234c66fb734d3cad334c27bd234e8579c3675fb9b36c132a8368373ac3656c6353656632e368eb23236281d503714b97435df8c4c3503276635f3bf9d368c9b1a37f97b1a37c0081c373833253700000000000000000000000000000000000000000000803f0000000000000000eb0f8f3701bf723f0ff43938be37ba374fcaca385e10533fa2c10739b0b6e138fe9d4d384dfe293f35a39a3835de76386f5da23895f7fe3ef2451a39fe989a384a91f5387cbca93e477c463980fbf238b874f13849b1143e2d9ce43cb60ca538714c5f382903403dbc2e7d385cdc3e38000000000000000000000000000000008765e5358917da35cf770136158b0036a2bd1435dd85273529124b358f3c573532969834e7aaae3477d8c934f252e234ea622f3576eb343586f2613572c369353c90af350b45c335b6acd9350a19d9353240a335893ca9351882bc35dab2f235a62da534f427c2345891bc34b11cb134daf494357c80aa35f9afe9351dd305362c6ece34ec7b2c3578c4f534a6273c358cbb00383e4c7b3fce92993c7f0493384872da35c05f6e3f0407d23b0268663835055e385e4c4d3f96791c3a3749af3880223338254b263fccbe313a431795386dae89389c2cfa3e3aed113b0aa4d638bcbee038eecc9f3e8e0dc13c0ee9eb38b091d338ede0083eb7a25f3dba7bad38737406385c09263d3a5a593c5c863138a4ac123591ab4e37c7caaa3755f22c3792df4336d9ed4a36b4f7563620b963369f3ac036dcabbc36d9a2c6360080d93677bf6d357b4b7435b16d693536848635c2476d354ca07a35e5dd7135f846743569b04a36672044362a524e3635375e36ea0168355287743576506d355acf6f3505a75d35756f7b351a5d5635a410a335f376e5340588733475e58d3446d88a347fa347352960f43434d4df3460ca2f35c1496c369567643f8529dd3d176e1d38847e0637bdfe593f973fc03d8d8f0a38570133372b4d353f3d9abd3d91021e38476b833897ca103f7723ac3dade5c738c25a9b36cc3bd33e6d68b13da505543881ed08375c898b3e9697963d8333d937f6657738c8e4eb3d843eaa3da49887380e083835a66dac3989a2213dba794d37252dea34e8cd0e373e89b837e79d7336fd2b31369e0435366a8f56368a5e6536e29915346ebb473487c748345a6b4334481f8b3542a10035b7092835d09be8350fbd31355c9238350c743c3532aa55359e6c6a36097b6b366603813643128a36c82e243550a73835554b393557783735019e8c3537358b35bc79913521e69035eac2c236c500c936d7ccd136cf18e736596a0236605c04368698e2359b58e535c047863644a7313fd39f9c3e725d043819678135008f283ffbf0983ed1155935853a5d38746f0a3fd861813e9f69bb3873be3437877cdd3e67a4673ee3ff1f3849a415370a25a13e5396393eb42a00380c6ca338bd81523e55560e3ee3dac938a5bb1a361bcebf3d29ecd03d7a297337a83511381ec50b3ca5b5f83ceb6044380ca703362858003841f51d388c018f37fd825336862b61362609563653a85f36115a39362ff53a360c622e368b935336dee60c3441f02134cdea353427694d34e387d6352330ae35f9309e357680d4350e8d9a35c329ac35ef98a535b121c73580f50636ae360436f7a10536282c1f3695910e37384d75340bd9a136fa1aaa37e110f136678ef0364aa1ff3606391637e18f7637e63e7637e021863711d59037619d1b38a10cfe3e1a0c013f510d2b38edde3a37c3b5e93e8882fe3e60db6137cc5d8638f8bcc03e1ab6df3e0f8ca53837889238d0d8963e8302ba3e0d79bc3801c9e3370d0a643e73568e3e62e025384f6ab2380aa8113eb1ec4d3e2eabc4387af6c2382632a43d29b2db3dfcbeda38954f1438ecce523c9f370d3dc87f2d38871b0938d1c76538ee6e6d3891c82a38ed62e835995bfb353e3f00361aa90b36a5509c36b1a6a036ac2e91362358ab3679068e35b7a59235da1385354547983547a516350cf520354ff31a35e0a9213571407b3631207f36cece69361a9f8536e57a61354c8e7035dc735a351c156e3530fc05367f980436fdccfa35f2dd2d36a082c535029ea23576448935743582356402853628a07636f5bd7936cbf87c36f6a7b43740f7973e1617343f1745153652be5f3726ae8a3e71b8303f14f64d37282faa35263c493e34cb1b3f8107c23544bf9c382c7a203e5802003fbe78a7385a9f96370689f93dca72c43e4160e637c292c83762daa33d4aef853ef7a60b3860beac38fd359b3d9cdb063e8761b738a639d13582c08b3c6406da3cf87dbd3516d4bc379fa34838994c3838a5bfa63765571a34f3a71c34c14fd7341f75ec342932a934e4a1d93478c5ea34e18bd0342f400735f391f034a6a1f4341f8c8135f23433350f9c3f350cad4c35a4485b358b9666367b9b6c36c4e16e3613dd7c36df06af35bd448535a62e8435d849be35fb4c67353886673508506f35c5736635f3120037336f0337416a06375cc60d379e2c56368eb35a366fe54436c6cf4a362f46b337f30dd13d59e6653f53a2dc3493250a35bbd2753d6f97663f781acd347d0650380a15f43cf9e7453ffc3e3e38e4263137c1199e3c5c96223f21fb8b37b0452f37846afa3c1f98f13ea5945d37bc66aa38f756153d6a39a13e076dbd383d38d837dd446b3d3dfd113e4ecd173835c8fa375229c13cdd18003d59120038f9805e3707a124389a0bcf37cd9343366a15ca34eeaa9034cae38d34596acf34d55e8c35c9409f35072b6035109984353fa04e347d30683453337134506f8934fe0aab3507129435f4fb5535426b9735f3e1c0353595d3354d38b135146bc2354909ab355ee3b3353a1777353ac49635c882463503df2835dba701358af5e434f6577435a7eb9935f6208535b2f099352e420336667e1236e49e073662101236a7ca0b38b0d3cc3a2cb57f3fc73c2c37dabe2637221410398562723f2f9573376c473f38df56fb381003503f77668f38254da838ac9708397a3a2a3faa7cdf3845285138a882543935a7023f11c6f73859f554388962ca385f8fb33e825f9238aeeda438822b283d33d8203eb2b3d838c7cc7338877b203bbee7783ddbdf77380f8e23386d1f7038dd816b380af90f3800000000000000000000000000000000b31e0c37f8780d3731a0fa36d95e0b3748165635b9195f3532f6353599655435c38a02362c6dd23522b98d359db801360166ae363a52b2366aed9536d5e2a6365d539e354984b235cec3523586ad9435740f9b37df47bb35f4460b3503e7563755ed8c3587f37435b302e234a2694c350000000000000000000000000000000000000000000000000000803f0000000013e0933700ab2438861d743f47d93a380c28ea37a4fd843887ca533f94df82383af8ab38f255e5387d552b3fbe76f538be526238b32ba8383eb8003f754ec73879862a38571e8238a193ac3e672085388441d7382660813cb32d1a3e7cb0293c133fcd37bd260939fac3553da7307238000000000000000000000000000000000000000000000000000000000000000042d952350ee95a35bfea6135fff96735c60041366f374636e85a4a36d1f24d36b3578f3657fd903645b1923697a29436faaf3a357547413579164435e9f14635cb297f36251782361f7483363b4284368ff39836687c9936e1d69936463c9b36ef2e1635d2a815352e65133533c0103500000000000000000000000000000000000000000000803f0000000000000000f8f49338a004693f4c2d7b3bcece163bc0a5d038e331453f448eaa3b0a269d3be0ed1b39f9e2213f7ee2663b5beb813bbbede9384185f23eb0d78a3c8d87483c1d621d390045a43e8b59e03c36e2513c4ea6823ad499213e4c2d363dbcd4c03c14eb1b39a6b1383dfbc3fd3c33972f3c00000000000000000000000000000000885eda342a2ce83400a8fa34d999fb34d95f1d3318ef243335c88433cf9ebe337f747036b03e7136f6957a3610757e3672058c3652888e36ab279136c0e39336159e8833070e8b3344ba97333b728e33f0b88736939c87362e938a366e798b36c2d09336b53796362f529736cc5f9836f02de0357afcf03536bef0353d5ae6356b94db35c772d935c7f9e135293edc357af9c43864867b3fc7ef8b3c8eb63a3a8517933658bd623fa652c33ccb6baf3b7383713834703f3f09eaad3cd54f913b54584639b2bc173f9f10273d3dc8803b53968b38b193e23e3ca6603d76ea343b554a48397361993e8dbf2c3ddd446b3c8e8d39395ad11c3e1fbc513d7defa43c72a880386ac9083dfd2d183d7b20003c52bbef35a94ff435ca54f2357b85ed35b172d235ce20d23500e1da358f80dd3580596e357a767a357e5587351820933529419436d6f494365db6993681f79d3618d29636580f993699099d364cd89e3611b7be351d4bbf35f05ac53525f9ce3525bc9e368b569e36a339a2361259a536cd2792365af49336b64e9736cd1697367a5c35362ed0343640993336f81e353612d74b350826423592c25235b14e55351f729b36f1125a3ff9ab173e93fb9a3993c0b537b28a463f39cd0c3e495c1f3acce16b381a2f1f3f1d4c173e756f663b8f312939a4d3fd3ebc8a113e200c2a3bea7c79389570bd3e4119fe3d6e61333b12fa6239ca997e3e3830c53d93fb593c89cfa5380262043e11e7843d6540fe3cbeb596382bc2d13c7c0d2f3d3c07f43bb87f5835ebca5c35b7846435ae4a6035f44678355fa080352e7e8535fe4587355292e2359f07ed358660f435c1eefd358df59736329e9a363ad89c366a669f3613949a365d989c36f1d39d3623eda036e141e335b968e735d36aec35d6b9ee3558f89836f7af9b36b20b9d36c5519e36af24bc36fc3bbd36f3dabd369111bf36f1494436bd994a368d424d36c15546362a390c362a5c0d36f4db0e369f690d362df344386c712c3f3942a73e832304395e931e3873831a3f12e69f3e9ef338399a1fa138c191f93ec665933ef6eb653afd0028390e43c53ebc5e803e6449423b6376e6388885963e2f09523e1d20063b98d92a397b90433ef6141b3e0af97b3cb88caa38f1fad93dbf57c13d400cba3c4796f2386e44df3c6afa4a3d485cb43963750b3674141136e85710365fc00f3673b10b351c871235b76f1c35003b1935c3ebf73436410735cf401d351f5a2135f5ff7d3689be7c36522880367e5782361bad8136418a8436330f8536bc1c883674b4653390da6633e2687a339f576c331f1f8e3624af8c3644f08d36c35d8f365d689836e1ab9a3666499b36ae439c362649f33501a3043645380136f4ccf6355a8a9935331f9435c60a9e3501a796351dbb6d385b60fb3e5957023faba6af38b2dada35a6e3da3e6acafb3e342ce138ed19fc37e2d4b03ec824dc3e9373d23af8702a3910678c3e5e47bb3e5151743a6515143828475d3e7893903e1c87033bbf6d2c39071d143eec9a5a3e9fddc53ab4689638bc8b973df569fc3df4b8d63c07cb163810a6db3ccbe33f3d5691ef3bab127e3535143d37651a9c37b8e0053710b1eb35bf1ce935e763ec35e6baf1354d0b7035c2bd7b35b7f47b35b01887353f1d9c3693059d36d8069f3648cea336dee091366dc59336573d95367e4d98366c2de635bcc6e635fa10e9358bb0ef35f33aa33613ffa236a055a536669aa8362209b3366606b536fcf7b736c17fb83672785136a9e4503628fb4d36ae194a36abb7be355bb4b035ba07b935a710bb35a8ec38369a2f9f3e0e7d303f4ca20e37edc89a38021d803ef6342c3f85163339e6dd1638ad1b4c3e76bf133f9430233a46982b39eb50253ef61af63ecc8c293a0b25fc38d6a7053ebf59bc3e4fb7943a93153c39bc31a03dde178a3e63ec613c58e90c39427b4b3dcef61f3e4d1c983c882de1385ccafd3ce6da583d997c5839c6d3c035fd96db35f686e1351216c935539007359882053504770435d3ea093551f1d6355c72db3538ccd8359ed0e2357e6e833688e884360db584362f9587369c7f9f366366a13684b1a0361df6a436cbd0bb35eabebe352987c135224ac835605fa936b081ab36c074ab36c77cad3691eebb368efdbc366a2fbd3660babf362d928d36587f90362d2d9036bd908d36e157ac36b61caf366be5ac361f6ea836f7230a398615053ee4c65e3f44610339e71b7a388bb7943d92055a3fa93d0f39d78f7b38b1578a3da1f9343fbd56633a37a3513933cd553db5be163f7882a03a4a406638ef51573df2dfe03e1a93453ce2003e3935ceca3cd559a43e42346e3c50c8e53855481c3dd47b273e867dd23cc575a2382684013dd03f603d2c017739fd78ba368a58c4362e25c23652e3bb3698e1bb358b90be350665be350bfcbe35e4803a344cf649340fec85346d5c943486bc7b36214a7a36c8a0793622e280360ddc8336956a8636c2b285360a098a36fef783333bf88233b68b8d330f5d8633e9bda03613219f36e3be9e36e3a9a13639af9b362b609d36ed429d36619d9f36f7e76735cf046a35654665358da96135539d44363ebb4336c34c3f3603673d369e98bd381c6f003cda137e3f8a5ceb38ec502236cb7003395ce66b3f2d0c1c396c4ed338a92d9f390d31463f6760c53ae2dd22392797803929d2243f56360d3a190c7538d3774c39c4cdff3ee1644d3a875f46394e43163a0ddfb13e2ec7753cae68c538ee67c83ca616323e3f4aeb3c1186d93859ebae3cfe465c3d892a263c625d3b366de940361713363629bc30360000000000000000000000000000000092137b3412cb8234d17b8634981c97343b7589360be48936f0258a36aa9c8e36995e7236f8b37436435d753662757c36ae4c5135a81a4e35529c5035d4675b35f0429f3675f19e36ed2f9f36faefa23682257236bce67436324a773659be793621e6bc358171bb350562bb351a47bc350000000000000000000000000000000000000000000000000000803f0000000090c281385fdd123991b1693fa1fb083adda4443757fb1c38c226453f920e683b25e29138250a47395f48233ff2ded03a044ed23859d513392593fd3ebd4b193b34a61539f11f1f3abef7b03e42336b3c026a4d3a26ff663cb754313edebd043d4deac338cc435a3c79e94d3dc7e3a53c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084803d359fc030353ea16a353925d435000000000000000000000000000000009099c331000000000000000000000000151f2b353a0a21356911f03411bc4a350000000000000000000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000a0ee773f42141b37000000000000000031e75b3f224e2d3700000000d6f9f5354111323f615c2139e5dbf835000000001b16013f3372f438000000008f83d834a0aca23e5d0d983a00000000efcfb8350365183ed49de939e3f6bc35000000009899273de7974e3700000000000000000000000000000000000000009a3b1734e40b073486be0434c9231f350000000000000000000000000000000000000000000000000000000000000000713a1b3328a6de329a9f163379fa2233fbed10349458a7338ee47933a605a23391e151329c983f3235ef3532ea2c323218c8da32b7f5a13204b1ea32793c063300000000000000000000000000000000475683350c6d6935bec56935c408a735930f0f3568eb7a3f228de03c1b9f4b35000000001b016e3fa9fd833c7d4eea33000000003749543fd72ea73a00000000e98c5c33af572b3f134b273b78183d33c2982d349f23fc3eb0508e3bdd87cc332f3810323aa4a13e9413ce3be12e5a3285544033d1360b3ed197073dc8dc1233000000006438243d87f6b53b00000000849b653585f14a3501a84935a9eb4635a0a03e3372f3bc3367a165346eeefe3341f79a34043f9d349e3da83479e7b83415769335fee57535c2999335518bc035a2f5393399d02233f1e647332bff1434bc5bdd34fd46cc3453e5ea34f080fd344fbeb3358ec5a535897eb43588d5e13500000000000000001fe64d33ac72413286bd9833a3d45c33b95299338b216b3300f3ba323ba2ab323679cf3290df3234d10e3f32db70633f372fed3d7b3a6937473cd334cbe75c3f6c81e23df75ae4349d678f35ae06423f24738a3dc26a9b358591143466fb173f440b953d67502434000a0d356474db3e3cb7963db7331735a913b6350fec803e93c8c53d1b30b835fbbbdc331b3db63df49cbc3d5d8cb9314c720234cfbee3391304fb3cdeff283400dbea326c061834da3ef933a78b0f33f30766349ba9c8344ce1de345d78ad34e23d6434fc516434667d39341f0173347c3050333c5348331feea633dab24c34aeed8035761c7335eeb67f351fc6c73599f4ff34257cf034124e013581ca1e3533e1c034d47fc4340f5abc34a89efd34a84d3c3590bd6135631c5535715e8135a4dba134f35699341a93b134fdb8c23426954d34ca513234500a1f342a32433412ddff332924373fe64b953ecd92f33470eb9134830b2e3f60d29b3eaf927934f547ea33f635153f0cb7823e17876734d07ede35ebf2e73ea0eb653e8f44d635b3840f35e19fa43e8d39403e2e420535a32ece34885f423e1ef0103e6ff70735861e9a35e7bd8e3df347cb3d2efda7353db49634d8ff003b0dcfc83c6cccaf3411f8ef3315bc1638c81b6d3830db1834d6f60035ff314135488b1635ca9033354b7f9b3300000000000000004d25c9347c031933e7ebb33248a03b3263e8873211c8e732331ec03277e8e632301ffa32b4dc4c34c50f2334265b0e34a48e1c34c4a21833d3bae8328e4685327cea97321bfdcc321ef9f932dbd70c330e212a3359e10e350308a5349ea7aa346d37083545bc7135f0a04b3598f78935e539ab3512aa81355fa1023f304dff3ed3273f35f9a32c35b5aefb3e9453013f2766cc3421121033f615ce3ea3f6e13e1766113361681733fe619f3e8b05bf3e4766fe32dde1693470e1653e0127923e3a273134b0b01133b7730e3e7ae0493e06dfc532eeb84033467b9a3d23acc13d8f40d3324ec396345738e63b45f2fb3b8d873f357b5089353d6c6e350fcd8935b65770352cee673497d15534615318341419e23366ef4934f3cb473470894c34f5445334e5a19335a3037d35a24b8c356664d13522d9c4340ce5a734e34d9034ec05a43414a9c0344d4ab934ba7cc5349415d734e32ed3356fddda359770df3574e3113688901d3311ae3933ec5da43362be9d3398811f3492e7de33fd0e23349c982234f6d3e434887bf43424051135228d2a35307406349c4da03e2317323f27f9e33310fb9b34b367993ef8ab2f3f3e918f343403a135cedd5f3ec6dc203f4bd4b535d0e2e534af4a323e3908043fef26d234074803358164013ea56dc43e231704358ae1d1359300c93d98417a3e606b073658001c34711da43d1154cf3d0080b93380f353342c78c83c99468a3b592e5434ff58ac3450063f35ee9191350ae983343c874633a9dd183368ab0933a8beed32cec54b34e5402b343950ac336bfeaa3387fe3a310000000000000000ee289533f44c7e35c42a8435ab7886351f2f8835f1ab113563bc0d35827107354f62143576112a34ae023e348456163426aa6034d1314235c22b5b35933a5b356bc75835506cd3341546e234cb6ef9345bc6ed3431cd8b349bee903498e7e734a48ca63477f8143321240a3ebde35e3f865e323353346134a8f5db3dabb25f3f6222e63333976833121c233d666f4b3f2264c1335a519335b481f53cde39243ffa84af359d7f22351e842a3dc5f9f13e6fb30d359f7f3034a57c843d1900953e634a763485e97735991d973d4e2bea3d623b8035c211e234d1631c3d5c5a103ba0b6e634c1e534343c534a386084fd3713c44534bba95035788d6e35e4a43735f083263500000000000000000000000000000000f1a74133820bdd3245c60c329ef188327f07563280056b32ca7e70329186863245123634073d073476479133555d90336735823362ed893334440233d6ebe9320000000000000000000000000000000000000000000000000000000000000000009c7434edd21f34821f2035cf94693551ad8935666ce13ccdea7a3f3ca154350000000077fe4f3cad3d733f00000000eabc2c3432d3163abf69583f75edee32214a733242c1ee39d8d7313f4f4741323ecd51343e1c3b3b10a7043f7c54e3337e0072336f94ba3b0d64ad3e0bc20e3300000000ea8eeb3c2e73203e00000000000000007ca0d73b31d2643d00000000089d5b352d18163588de15359926b5340000000000000000000000000000000000000000000000000000000000000000f5037635824b3f3555751535b0b8a935a3314733eb0c1d330000000000000000000000000000000000000000000000006ad5bb350547d0350540c53582c40b3600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f00000000000000000000000043de783f00000000b8dbb6353719f8357efd5c3f2840d335000000009bf40b35f24d333ff62d693300000000bc0620386b74033f62b22d342479d235c74e8339bb84a43e21eb093600000000eec4683a6b8f1d3e21cc293700000000652785379465323d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000239813324204d6324577a435abd798351009a5355741ea3578ad3b3437ecff3369652534081b5a3400000000000000000000000000000000a52d4435329c5135576e38353e707435ae8015348cec1934fc931e34cc548634c086f233702a1634e78b05342402683400000000000000000000000000000000000000000000803f0000000000000000d2c916375f73713f8bfa2d3abf3c993701540738f90a523f78757c3aa7ca0a3ae035e838f5f22b3f8e87903a9f45163a1ed6643a4b2dff3ee908383b9443933a4eb8733960c99f3e70ced63c152d1a3a3b42023ad2c10a3ed8e34f3d8af4db3900afe23891774f3dce30fe3ac010153800000000000000000000000000000000dc4fad34f7708d342a26de3488700a358d2ee532000000000d456c33f7ebee3335d9773572522b35fe6094355e98e8351c888d35dfc46835716cb635ef491236ebca88335add1d33000000000a926f33f420ef35dd0bf735f83d1336745f2836ed13c43589b4c8353ca8fa3525d916360019a73487709934ae93a33432b7b434ce53e8342abcc734c3d834352992063528fc2c36e978793f14b3fe3c3916cc37753a8737999e683f8a47e33cfb5d2d38c5da05383e0b4d3f39547d3b7e057139675819385468253fd585033cc6332c3ab63c57378842f33ed7deb53c3d5e4a3a12c4bf375c9c983e393f4e3d6729bf391a114b385799fa3df7849f3dd6179f3941ff0d38622f143dc549fd3c2b872b387f193035ddda82376bd3cd3718a68437779a77332ea68733e396a333669cb1331e157535d2b660353fe66935c30f7d35778ace34eef75734d6cb00351ad6453500000000000000002e8b3e34bd1a2235322f8b34566a423410baea337161043425eddf34b51db1342209fc34ba6a3d356c9a48352642543539918d3599be933581c7d834dbf3a134e79d7f34bece573434fb05355c26f2340ca5f234b841e434e124d5333bb3683fc031c43deca1c639067b9c3526355a3f915fb93d6e4781391651d035984d3a3ff09e9a3d3c2c7239783ba335b9a90e3f842ac03d19eb603a2cd320381a83cb3e39d1e43d5773883ad45e1837345f743ed102f13df2de143a48e2b037605fbd3d5097df3d82886339ccdb7d3772028c395dc06b3df4c1d83756bcc53410c5cf346e0d2936871bef3435ca9f334e4606339a194034186c7134c5505633924374335f07ca3353081334d13511354273e73426e51e354a527e35c82a3d334c9b3d338bfa343349be6d3400000000000000000000000020511d318503b034f8f09a3441528234c970f7342e7522342fa426341137a534185808353ed57735706c7935d022823550a57c3599f8af33f0fea533f224b7334b1ba53319674a342003383fcdc0923ea20b813625851a366ddb273f744b973e4d81f53735d6203778e9093f63f4863e6107a1389df5c134f602d33e2f7c7b3e72a9fa39bc52e539230e943e41455f3e283c5b3a6191aa3738c4343ede27383e8200163aff723937b98ca13dda2ffe3dcaecea3945d67c37630d8d3aa16f543dcf4cf737240abb339452b3339013fe368b152434b95db2349d5d96348ca70735b155543524d4f133cc44d83311d30e34004a35342d396d35854c3e355c508835f7b2ce355aebef355d01cc35abab043638ef373661f97534b84a503408a1c433bb321c34bb65d935ea68e235502c093654c420369777cf35c8edcc35ee8cf535e8ce1336051d6834a4fe4934193f4a34a36c5034ee905e35bccc7d35314da43506cc893501950f364cf3ff3ec824013f08510336e3555634b462e33e3828033f4f0c3434860215379096b53e676fea3e3a6e80373cc55437570c853e5affcd3e5a6e103996dce4364ece443ede34a13eb4d9b3397c4d48377516f63d4de06f3ed4da2439810a8f37abbd9c3d15da003eef3be03941c53f373b62a63be996453dd0482b37736d9b35ad9013368003ad36eb798535727f48333efa5f33632485332a499633ed8d29355ca12235cbfc22355afc3c35345a1e342a820734c542d7331567f03300000000000000000000000024c1a93439100234f0a7973383fd8732038af23241579533f73a703398552933a5ca2a33b487773504f07035c8ab8c35eca092352495a334cb55803480875334949b41347f57963435791a349af2da33857bc033bff60035183e933e6b06383f05d7a63337f63937f848723e7d34383f7498b9363c80a13616fe263ecdea253f9231e73540d9a5387311ed3da3410b3fe2a84c39a9eaa539333db63d91d5d83e995c6f3a0798d233cc328f3ddeb2943e1b37ad394d87e1375050993da5e80b3e6ad03a395e51fa37a329ad3c05b81d3dcda2d1378253503413ffcc36114eae367499a63423b22a3487980d34bb80583442c0ac34e1af8333b8c27533e8a0f0339be42f341948cc34b939a83465c9893486a04035f4833735cb780535c8b034354e498f354114c63336f8c8332dba1d33d75221346c89e134d796d43401bc9d34e9621135f8b5ac35d1a692350b09ba351a00d0357ad5a7357837b035d3a0bd35b2e2b73522a3d133782ccb338f4de833640bcb3397f88536868db43d4ea56a3f2fabfb34d1ce9237f8c2373de10d683f5e43c136d5e88337f169013bd9244f3f23ec59371e74c83507547e3b77ee273f75bfeb388265083a7e0e523bf94d013fc858073a63385c37a5ef123d0a5fa83e317acf39658987373ec48a3db141123eb8e10f38dc90c037b301f03c33f1163d0adec437a808d63340142237fe11143749105434c836cd3433b3b234063cec343fc12235e9cb943492203f347fdc593431808e34f23356350cc8233555ba2635db1c9935fbc906361913f3354df805363c4f2f3693c20a341e05c433000000006a852b335ebc6a35085c8e35a7f4ab35a5d4db354ecc00367c200136a9b80f36b21f233630c2a634b53aa6349f183134bfb72b348b66da34c223ac348f0ae1340164d9347f35fc37cc40993c69c17c3fcca08837621aea3745ff973a324b703f2315053880ead537fcf4b339c7ec4f3fcc572b3821463837d2dc4c3a527d2a3f76c05d392b1a8037e949953ae27a043ff310d63960e04d389c18483ce619b33e9691853975402b3831e3323da0f8273ead240a3a34a314388217ae390561903dbae621387ae40b357f8867370ae09837b3190f3500000000000000000000000000000000399a1834a846ad333b42a033e7bdb83327511634a9b7fc33d7bdcb3362aadf3332525635fd1d2035ac6a01350d3e4335000000006cbf1c3250a9693223b1ef31537bca338d41ac339bf1b53301e0ab33dc071036f3af103686460b36857c0436df8e4633a08d55339fc86e3320703b330000000000000000000000000000000000000000000000000000803f000000007f20f636319901387fd3743faa9df2373e180c35606e8438a660533f626252391505d5350075313ac1682d3f14cf3e3a2329ba3901109b3a89f8023f01339e3a88cf0038074bb93af794ae3ea472403ae70cd939907ef53c52ff1d3efdd0fc3b1e7d9f374f0aa339ed37863d1ced44390000000000000000000000000000000000000000000000000000000000000000b3e0b332e09281325e66683201d3f532948ec530249ca6303132b4300c9ec03003138f2f3166712f6584822f57588b2fb2b71234e01338343a45313428e467342abfb33073a297304fc4a330ac7fae30e7c803340298213463870634448450349d4c0834a5241f34915a1f34b20b503400000000000000000000000000000000000000000000803f0000000000000000d7b22d39c779643f93bc303ca310a73caf9e19398874423fa488b93bda62c33c60215f398e3f0f3ff2ec923b312db23d8c0551394646c03e8f1a093df090d73d71e853391da5533e09dd703da87cd33d37ea3439734b983df46fa73d3a5c983dcb899939f7f5b03ce7d00d3d4a2b013d00000000000000000000000000000000cb38ac336b8889333a019c33a63ab13300000000000000000000000000000000ddfb2433a94027339b455c33c2cb6333db36293429910b3424c31b34f19f27343048393305e01e33ffa0743355d79833dffffa33d90b00346c6d0a3491040e34fa763834a2942134020a2a3488682b3485e8543466c55434eb0c6734afda5d3453f80534a5340e34d2cd1834897d1a347bba6739eef2763f21e2ec3c291f2f3ceccc5739b54d5c3fb3b3bc3c0de2153d8ba536397b393d3f13748b3c8175ec3c5f388d39ce88053f3b49b63c566ad73d542e49397dcbae3ebe152c3d17dfff3ddc28813936c2393e17ce8e3d254ff63dd97d4f3940e3923d3559b73d60bf843d8cdbe239dd26853bf1e5343dbb4c143ddf2a6037165e82376ab38f379bab9737000000000000000000000000000000007cdcb63338f4a233fb149b330348ad33d0524e308c8f33324ea13e3012fb3f30044883321e1e693207b0713292c17332f3b1ae338bc07433acea58336d1ed533015549310a2b363175da3931f53d4031f8407f349918563464fa6a342be49034be09c1330cb3e533fe52ff337f86ce3354fe0a34dd942034c0ba143475aef7338d8347390236683f9d6baf3d6ea4283cee825039e0784c3fc5d3a43d5cca1f3d57cc263987d31d3f70c80f3e07abef3cb4777d390b7ed43e112cfe3d5576db3ddec63139596b8c3ecb8df13da412ed3dfea0853956b3183e3297ab3d9109063e90024939dea7703d851c983d2038bd3de9f5b6390284333addac3e3dbcf4013d1f430d374fef3837c9afef37a8941c38000000000000000000000000000000005bea4333dc765a3369a23433f6064c335d10e430da5fc0306e1fd0306652de3000000000000000000000000000000000d1eafe33bdc0f933e8541e34191f4b345a1e47315eee27318d6535318b2c4131cd95252f75950b2fd3ab162fb134202f4274ce34c771c534cc23e1342bb4ec340000000000000000000000000000000080058639d86c343fb09d983e1258ec39db7e6d39c94e183f02e1983e0dd3da3c68dc3a396d84e83e46a59b3e78a0e03c0039793925b9983efbd1823e286cbb3df5364739c3843e3e82814d3e6ecaf43d570b7e39b6ecbd3daaca0f3e3ae0063e012461393d86363d35a2b53db75bbb3d0e2a95390e4a203a42174b3d3476fb3c183da337bfa2fa37fe382538409e2f38a9c01a34caecf833cbd8083468431c34a7c417343c78ee3372f60034f6d01d3418bee933f14ce633130dfe3334d0fe33180e2a3407390c34cdc41a3471ae28347d53ff339d4beb335baf06341db81234ca57393477733c34364b4934d1e34934331501345f24d83340c3d5330c35da3320b740349080413410325034acc24934bab64d34f7ce5334ca166134539d5e343cfc5f393b39fb3e4f3c033f331d8239689e5e39a462c53eb454043f4b019b3c303f2639336f933eec1bf23e216cdc3ce722793937c0303e0328c53e7224b33d6eb42f3998c4de3da3ac903ea54beb3dcfa08039b92f253de6df483ef2e5043e411e3039143f443d0e4dc03d72f9a63da177ad398362993aba04543d973e013de2545037d15e7e375775ef370c01e83700000000000000000000000000000000b7fac733a0c09a33d63d8e3381ccd5332e218a2f2926762ff34a7f2f58a9802f8f75a831f0209631cda99b3100c09c315681a8330bcd40337ecb17336ff8a83328d82a2fe800092fcd871d2f4c10002fb476d1332bf72f33ec689133b2e9fc3399157f332c06a933e94ab833560e9033083c13327ac3d13281b95f3200000000e9ba703997d08c3ed35e3a3fd30c8339ae666a39b0c2363e42c83c3fbef1123c168244390372f93df33c233f012fd03cc71e7d392844463de79b013fc0e6ba3d77734639b4339b3cf6c5bb3e6ea7f73d195d83395795a53c83c2693ec3dfee3d34e86639f7403c3dc2f5cf3d273b9e3dc314b0394d76653a88ec593d0fe3003da2e75338529cb138b349c6388121c5380505bf33f4e7cc33bf6596338f21fb33e4d78a3367ce913320e78333a6589d33a842c832cae8d032668580331f77b633dce91b314731133140f81b318d031c3194dc3334e780313402b54f3412f97f34eed0193247330132a7050c32410015326f27f72f4047d02fa5d0e02ffff6ee2fa18d863476ad7334ef7a9a341a72a734000000000000000000000000000000007b258a39db198b3d6e5f6f3f1c338c39dcb37639f0b80e3a499c6c3f590cc83aae98213930dd3939217d473f63b0a83bdb48753975bdbb392d75143fe151883d51a82b395bbe2c3a481fd03ea66ac73d6c93813962173e3a330a833eecc1dc3d29a036396150163d00dbe83d7cb4963df57aef39c05a703ccc433b3d68e8e03c7ab329388abf7a38d38b94383e178838690ef533ceb3cd339809e233906af633b6172b34c639103425471934e0df3a346562283405ce263423d030343c8c3534af5006343dc0e5332b2ff83373ea0334fca85733577f5c33b0259f335de7b83324042b34a6cf2e347fef3b34a7b43d34e6468e33b57d7c33c1447733bcfe67330000000000000000e6d9db329f9fce32a595e53356a8fe33d01d093420c80734b8786b39999ace3a3041803f1437503a7bd74e398544c339f7026a3f0cdbd53bb7533439f9bf4839edc2443f36b2803c4cba753935d4a339a4f7183f54782a3d6c3637396fa17d39f6cbd63ee035ad3d6e027e399ff0353adc7b853eb856cf3d0d073c39949ef13cf6e6e83d91a1a83d125b83399e28f4394316473dd76e143d7f922138bdef51387b8c833889de8a380000000000000000000000000000000022d12a33446f0e3318de023328ad113376ecd6338e3cae3317129533f415aa33e9721731c7de0631d8d20b31f5da0c31ad7a1b3455bd1634727fdf33f5a9093435a5ff2f39a6e32f60baeb2fe8d6ec2fc743463385300034c3032334a962493361836e33ee319c3354628333fcacd1330000000000000000000000000000000000000000000000000000803f0000000047995b39499387396568683f0ed62e3cfadd1b39bb942b39d598453f7406f73b97af493959438139f4bb1a3ffa5a193d35de2a39862287397c2bdb3e61618f3d80f56739bb70873980a0893e0213b93dc53928394be7d23c5475e93dbe67a73d4ec4bd397db9083a0754303d7cd0223d0000000000000000000000000000000000000000000000000000000000000000a6e21e3721c30937835a293717293c37d7e21f37d3bf2a365fba7037c06c013805fc2837f0901a37e5b67e377d41d93741f22637236d7c366261813771f7cd37a641b7373227593782e6d437abd1fa37adb2bc3750157e37d51eda37b7d904381c0e793772980037149882378916be3700000000000000000000000000000000000000000000803f000000000000000045476037faef7f3f7b0dda370c689b379a5024386c4a553f01c75138c63223382decff37c57a2a3f07571b381a91fb37c047f337ac04ff3ea32e0c3807d3ea379b1b3038e6baa73eaf996e38858d1638d47a1038061c263ec11d30381e7c0338a64ad637bbdd65384d11ee37e2bea83700000000000000000000000000000000ce1b3c36d67d2f36742e453628b27736c1e8ea350168cb3532d417364be5493748db1d3658641136223c4c36098c3d3753d14a37dd172f3728d85d37520ad337d70209369cb30136ffe9f03658fed6374e016637abb81137afd671371a209037734c53374b3eaf36d59e793798e0d337e063b1375b894e37970ca8377266d0374ee19637673051378bfa7e374d289e37e96c3b36cff37f3f40e3c338ed8804372de875364028793f80fb5b3c571fd837265e013730bd4f3ffc6b783cffd87b374410b137cdcc273f0b1d053c555c16381b89cd370f47fb3efdbce63b087f003838e886378544a83e39b22038474f9a3774d4bb37bf082d3e59703a38abc2e2372e5daf3776dca83b8d031438ae90c537a960f636520fd9378199db37f6e6a23733659c376c2d3c37c2efb337d308ee376f49833594e72b354d5c8735a24cbe36cab4843640bf4536846a8636a6b69b372f68133786a9e735d7910837cdc4de37dc4f1a36c52a043654ba1136b69f52374095543798b28d36d31f3937de5c2a38e738a837300fe8360daa97379bb9f1373f03df378fa08937f2fbbc37d9c4f7376e9f983793b30837a8b74737a02c983788797b37f2cb543f6a862c3e2014d9374ec671354a00513f871d313edf380d377d901b375b032d3f9726263eee8fce3744efa237bcb80f3fb90cfa3d07580738203704374c3ad23ebfe9b63d8b2180374be2e337b5008e3e89d1203dbf6e33385eaea8377e6f1d3ee149ab3b43d6e8377df0ab370b6c4b3833b03838aa1ddf3740f84a36a519df379fe2e237eb7c5737ad5e2036bafe4b3313cc593685ae5d37f01aa636e56e86366663a8367b15b737ba942737dd2592362eb1d336ee79bf37b08a7936e35f3a360c39603666238b36b82b9d364a8289367f768c36495e8137501485379bf613374c0532373e9cc837fc3f6e37510aea3699c609378fd31538fb04b8371e7376375cd09b371496f637e7a0de372199d0375e88d437f4f5d93719d94d33714a2a3ffe4aab3eb6f73936c392e836afa1273f75f6ac3e2e3bac37c6a4663765be0e3f4388953e6001c73749d07a36ceb8e43eb3326e3e25a6e53693b72c37e2c1a83ecf2f2f3eaa5b8f37391b9d37650c5e3e52c8d53d8cffd8372a0a4b37fbdadd3d58632a3d0b4ee93733e97a37890a4d39b000b53843f69c377462b23732ace9373c650a389003c937c4a3cb364d6df5359ca4d436b9265637b93feb360d67c4366be0cc364c3a8637b643e2366ffa8c368c83b23680014637d5097337e37df536ca9809370a7fce374fbbad3795f10c3787c84137b8ddfb37e613ca3733053c376fa38c37ede3fc37cc60bd378fe807377cf443371bb1f237181eed3776aab137c061ce37fe5f033807a88537428a5c37ba976437f7208737ee10f7350ed5fe3e3085003f8ba99f36c2b1d5360f00013f70c2fd3ee8cd513746a1e3360e10d33e34a4db3ea49f4f37c3aa9c37325ea93e186ab13e0fe3d837308bd937b6917a3e6ca8823e1dd8073805e4d737c15b1d3ed6e52c3e97fffb3730cf8837a74c943d0a85b03d1847c53709d0b8376a13a0384e149d39e154d137e592183768169437b9eea437370d3f37470fae371bec883780b09237fad2ca3733ffbd36534d9936627698365a0b223751efeb362266c83639e7c736eedff63626c51d375d790d37fec20c37797b8a3763b8143711ef8936a06b883628aa70370ab195360d798136e5717836b7b85d37eb9ef837c3a9b637f945b737ebd008384ccb0b383ce1d0373b3cdd37be51143803e8a4372ef0403715223f37add4ba37f0d09a37c50fa93e3c662b3f51308a37adaac636b17aa73e03282c3fd4ebc636bf17ed365ee48d3e5ca6123f6a84ef3618a36d37842e5d3eefdcec3ea9b5a3379c2e443762791f3ef4d6af3e3a6b8b37415bae3692f9b43d27c86d3e185a7d37833de6372971d53c0632fe3d318ff7370715e837cf1b43383654ea3b34cdfe3760faae36b1dab1379d25fc378c8d0837d3d7ab36ea9a6434222e65347fdd19370e6bdd364ef2273674a006368fa630376edd1637dbbe4e35e9d435352c7c3e376c025a37b826953691587936f61b8637f9600837457610361ce005367d77163768c5e237c006823792972e3713eee6372fa2e43733378337875350373f6af23762c6af37f0b725374ac12a3753cabd370ca20038c210f8378f13f4377988013838fae0364136273e7123563f4cbe653416916337b3c2283e0fc0553f7c822037ae338637d6b8193ee1cf303fdaab963707b6d13718f8d93d8aa7133ff896093881b546376b009a3d3e7cd93edead7037829100381c70bd3cfc16963e1afa0c38d4c7dd37f3fd4f39ff5c253e61a5f937252b7e3764802839cf50293c3cdb9337bbb3e4379fe301388be61a384b75de37f9444e37f426dc369d3ba336174e5e3763e3073723daf636b0e3cd36e5440537b64bff369db28336c027ba354706ca367abd68377c7a2a373f91a136758c683702c68c3781250d36cf3a0836da8a7e375306cd3793d2833799244f37c99c9b378b67823773d1423724e5f8361c3f7c37eae004383bbf8637b37f7837b1a01238eed1da369d469036c29e6736fa4c9a368ce2a337219e63385cf37f3f2bff18372f0778378705713b8bb47d3fab964a3795699a37466cb93aab56543f9a44c137fa308a37d2d0f93789d22b3f28268f37ead1ce37d2628d39be75003f2a4b10387181f8374fb17938e227ac3e8f913f38be0c7b37b293d337ca65313e5ab387376ff3d1375a964c381977563cd78f173822a661362d1192362699e8370a7c4a360000000000000000000000000000000061ddd736f9b6c436958aa5364047d636e9639b37968216377c2e073700a081373c26c537c0e288373a3eee36b0a4b93707859f37f38626377efc7836d0e49137de88cd3740f38037cb5126376e92ba37bc211c381182dd3782018e37abb20e380451ad3738af8737f9b661371800b8370000000000000000000000000000000000000000000000000000803f0000000017960937f986c637eded7f3f5a1deb379c46db370eb808383a69563f140a4b3844f7e637759e3a38750a2c3f9f7689381bf0c6379653f737e169003f77cc0e38d65fe2370d080538d5e2aa3ea90f1a38aa001c3869b93d385a882a3eb06658389d97a4370951bb37df493438307ddf3700000000000000000000000000000000000000000000000000000000000000007b1dcf358d1ac9356e827536a6149137d8318c3619138b361e798d365c9873372ae5d836d5b8b236fb21ec37d76839381f7e863638c16d365b6a9637d043ee373da4643788083e37e1acd63759482f3861f22f37700eed366666b037b6a606383e750a377a54b036f8f8aa37607bfe3700000000000000000000000000000000000000000000803f0000000000000000906a2138bf0e703f53523f3820e12138b695013a84a8493fef76743a71701a3a684d3f397a71243fd44e1a3aef259539e9d43338b8dffe3eda025138605e3938430b8138389cb33e6b9f09395fe88338e5266839e66c523e65030b3a6f61913941542c3872e4653d4e694838788d2b3800000000000000000000000000000000d478d4361498d436dc672637990b9e3738d81d36e1521b36bd223636c5746b36505e0f37bf33083759132f375f758b37b26bf336daf0f236993efb36129f2c37455b8c36d21c8b36ace28b36dc98cd370d7c1737d01414379eeb1c3706892d37194e7437bdb96237ed6ba0377d36fd3746908837aae730379464cb37dec80b382088d0370a1fa937c7bce037a3570438689105381e4c6e3f53fa8c3da3070638f312a8374e765c3f39999b3d2bb8e0372ee91a3869073a3f90a4913d4d1733387cf40138e185183fca18733d99aa36388aaa303ab005eb3ee5b1373d2372833a650105382173a83ebb37a83c09a64738f4062c38aeb84a3e41ec083a29953a38b0a42638453a6d3de9fd1e3a733d4439413c04387e8c2539bd053739618dbc3848256a37bf246a370d8a9c377357c337fab2053516dbfc34580b113560641435dd773436fb3434361315bd36d6c61037f1bcc436bd6c95369d5121374916623792463b36322d3b36de9eb936538ed93765185437642b4037b8fb8437b5d7ed37e8d13b3712b82b379da9483755b95e3766633f37d04ce136632b75376ce1b237233e3638eb7fc237bbfef53785bf8638fea408393824493fbbbd573e407aba39d4f68037e5f43b3f8022543ec89ef13790b0be3747001d3f60aa3d3eeb7e0f38ee450738c74d013fd7e8183e6a188038562f74399ce6c63ed4d1e93d57fd3b3aa9f04c38fffe8b3ebee5913d1f6d8c398cb6b637ce8d2b3e98b91d3d89262b38f1cfd137cdb1483d4bb93838c5580438491d0e3897279e399e7deb39c19b8739c67993362494de36bc617837bf98a637bc58c534b081c534e029c93489d225378b6970358c2f6f35cad94236714fd636f7c529365a6b1936c1653e36781005376dad4f361d7b4e36c5db813601b19b37898fd636205e283671aa42375633c037eb306d37b6883137a69084374429bb377ce48e3784a02d3700b57b3757f9e037a1b923381f3dd537f47706381fae30382372cd377571243fe281b63e874fe63798e79637df231a3ff21bb13e2635e137ca8c67377d2c023fcbdd963ee18c0738c8ebf237f071d33e4d50773ed23f4a38cb01ff37ca83a13ee13b3e3e9b1729382f3c0438a982613e3444023e0e3d2538cd5fe33781d5023e4aa5953db0cd2a38e07af637f38a193d74b0623c14eb22386cd90d38231b0a396a6d9a39fe6ea73819db1337707c1037b83c3b378cc4ca376325e336f2ddbe36c53c1937280f5e37448d87375df87e376a318f374f4ab03791de2d37413d22377d7f413700378a377484f637549dac379af50d3840a36138c64b8437a82867378784853792c1a237df90cd371015be372a65cc378277fb37d309ee377fccc03703c1d937711a04382caa3538bd6a0638affc143814eb3a3870aaf237d017ff3e8f5a003f86f63d38cb76b637a4d8ee3eff35f53ecbc00b387ccde437f61fc83e7311d03e1a7316387f60a7370227a33ed62aab3e061a5138d5ca013ab985783e0de6823e197d853ac7cf0138fd8f273e77b03b3e609c57389bbf0838d7e1bf3de00edf3d504229388b9d05382e199d3c1eec0f3d15d9983827e61638307259381d478d380db0483891ee803798bb743716b8b1374ba4e0372350a235efcea13542eba2353a23ab35e383873528145b358d7785358d472c3743b72236165c1c36e3de2136be7a7937c9dc5236bf6f53361a0453366aef94370c9b983673437436c2fe873659509537a37d293705ca1437fdab1a37e1e47037f63ae6378ffcc6375e3ec9373d8aec37552d0b396076c5375a73c237aecf823875dcfd37877eb43e558a253fd24e613805a24037b262aa3e189c1d3fa9c51438517cab3788c98d3e59a5053fabcb2f386202eb376db5633ee924dc3e1fcf2e383b69f93763f22b3edc48a93e4c47343856e40e3826b6dd3d75b3723efb806d38233ab4371023593d6a2f133ed45138381d8feb378a0bb039bb1a523d9061ce38ca1cd2371348e538b559ec39948c3e392a524137156a1237e8f6823745a4be37c517d435f918ba35add7cf359a2022361b8fc636212ea2366b19ad3626fa1d3755fd433778042c3726773037f0189c371b5baa3640b03b3614c23936be9bb3378e46713704e55a3736bb5537349689372621423742de3237f3f42c37ed8b9c375849a13740ff4037a7b8343754dcb8371616f739ca8dab390fea2b3997ceb739f5211038cb5b533e37ba4a3f7446c239dacd6537cbd04a3ef8b0403ffc200f38704a4f3702362c3e4028203f9d6b7338642c2138564e013ead9d053f2ae7db3bc6ee14394effc13d7304cd3eb099883a0fd71438807b453d6d6f923ecef0373c2f6ae9379349a23cac73393e4174b33954b0dc3760b41438a2496f3dcadb19381f1c47390a709f39850d433acc07083a146311371fd4cd3675cd2a376a91bc376d51153686021736ad2114360b111c360f6c1e375437093796990237f6ca5737dad51737a00415372d961237c6e11c3720ba8c3643d78c3616068c360af26e3741cb2737c50c05375fd0fe36ce2e4d37abdfc437a36a9e37f9198a37de72dd3752e78437d715543730402c3750568037dd7ac337d97ba3376ecf9837b371c63773521138ceda7f3dffae6f3f4043203af990d2375c66813d2f91603fe508473aa4b5f137a211643d45b23e3fe8754e3a703b9a3719821c3d338e1c3fe725203a9028d639ebafbe3c4f37f03e8e54ca3a342bdc3731fd3c38f25aac3e23cd033cae801a386b2b3a3838e24e3ee4ad4d38bb00ba37d2d9ec3791f87f3d96a36939bf69d237c2fadf37764e1b3802700a3800000000000000000000000000000000bfe61f36139a1f3615dd1e36729d2336ffaa31363728d735ec99d335c6e6143702f1493725f20137275fc436bf09a9378dfb7c3743aa1e3761720f37c6e6b437bd011138fe35d9378a7fbd375aa82638bab7a137142bc0368b309b36e126b637b099e1375840b73783b59d379739db370000000000000000000000000000000000000000000000000000803f00000000ddd38837f7762038b664713fbc78223aca1b0138d6500b39bbca4a3f2a67893abd2839385061793864ed253fbcb70e3a1a191438ac9b32380849003f7fed433ae9667638eb60bb3879fab53ea016463a87e715393c5ba8392fc1553e5a247d3a81520a38366014381f677d3da0743a380000000000000000000000000000000000000000000000000000000000000000e338fc363b0c1d3718445637aaf28e37cb39e7373447f5377316be38d657593916ea0f3804a43638bb9754390bb59f39d164d7376b6fde376a9f183918e87439ffa54e392670653917e2ad393e0edf3996323b38eee669388c626239ae4abc3997bb9338de7f9838e5b23039f2a5513900000000000000000000000000000000000000000000803f0000000000000000ad334c3a7dde613fd094a83ac7bd893a71ca003ac651413f72fc4f3a32791e3ac5352b3a6621203f1ef89c3ae45c8a3ad4fe1a3a0daefe3ead6c7f3a8fc5693a05d25b3af5e7bb3e6a67863a15e67d3a83a02c3ac28a6b3e96aa553ad3d2493acfbeb839b182e53d408e033ab6dff93900000000000000000000000000000000f819b537f108b8383dbc3b39629d8139986dee36a60725371e906537fce6a43805c79c377c70a73788ecc2373d299a38eade02388c660d38bfd32b380618a53839370b38a7d10d3847f13439863d9539d91418386e8076386e35c1399a081d3a7eab6c39a8697a3996e8be3960f6eb39e1041d395e1218399d5e83392871a139aad04239fd5a4739b6eb793941358d3964b5233a42dd603ffc5cef3d8441273ad36b013a9cd4473fab30e63d6d26243a7c2b023a8ff42b3f9d1ed03db7af803a5cd47c3a15150d3f3a01a03d4fc1db3a5c292e3ae079e13e6a0d843d3b6f973a98e88d3a7be2a43e93b42c3df323aa3a93f9233a8b57583e5121d33c2f573a3a88b50c3a2f12cf3da6b8983a8ab4853aef389f398e76c339a560ca39330fcc390c67c83881e828390d287c3911c1973977fe59373ee68d37725fc13775d4ea37b3ccf1371f91033870401b3822e6fb38faf5d337c726da3738676138e6dc5439bfe546387ae0ab388d254e3966569d3909fd1938b9ea1f38c793fa3840947d3939d318398927213996f285393f10fe3992c39439253a95393418c5398caf013aba624639930a4a399ab98439a7229c39311df9391255403fa3e2793eaacd103a20dba0395e8f2c3f35166a3e6088f139a4dd713a7952113f3832413e7cd4d73a83b81d3a5bcbf13e4a45213e467f6e3a32ad263af9aabf3edc92fe3decbe5e3ae8c8ef39fdeb8d3eacb0bb3d438f1b3aa5347a3a14cf373ed41e6f3db91ba83afb8f2f3a3051a83d0f21b83c7a03873a1747b139900ef039c5e1fd39b362ee39310bfe3747ed0738479c4c395880953937e1ae378ce7c53758445b38bb5b4139e528143890491b38229a333836585839df610338e2b10b38ea3c0439f0f88e3902b1d237d7cfdc373d9aec381b8a6c391c5d34383c783538f142b938d7625f39ec5ee1372d80e63773bdba38968d3a39e494a6392dcaa03987e3c639893ce4396dda8c39cb948839059c9f39db59a5397943043a36dd1f3f191bbe3e3b6d133ae8394d3a63e40d3f105caa3efc7bd53a9d333d3ac4bef23e4b4e923eb3b08b3a72b6423ac44fc93e7ba5733ecd69973a4c1a263abcf89e3e7239403e5dda8b3a5379de39c8da6a3e02e00d3ee3313d3a6c90ac39578a173e9f6eb53dde86ec39d06d063ad9498a3dfb70203da5fb433a6bf1a4398b2dc339b798d73923dacd394ebe423949926c39e68ec5396757063abe3a2638ac3dca3800ea843983d7c439b7fcad3719b5ba376a6ba93810196039eb56c0372fb5c33737e3cd378924d83857f49339e5f097391cb7cc398494003a9d71cf374c33d03729e73338cf7b2c396ff86b39605e6539314999391201c539ab7c043a942a003a2ec3103ab93a263aae07c6393388bd39c80ddd39e7bd053ab895583a99ecf83e018b013f91c0803a70db483afee8e23e9422e43e9eb2ad3ae3d0893af680c13ea720c33ee281ae3a9cb1e6390100a03ef017a23eeb1cb43a1961a73aae5d733eb5c5763ec49b983cd896ef397ec2393eaf0b3e3ee838a03ae521013a3d5eed3da1b9f53d69eb423af2e75d3a9bd84e3d2a075c3d94c5963a3070183a23e03b3af3ef653aacbf593a373a2a39f4384c39b7499839e203ac39ec378937c5f49937d8360439254283393c39a03737f6a73774ceda379608033879d71638f7481a386ec82f381e1e223918efe037d43be837ff7ad438e8566b39293b0d3943cb0e39deb06a397739b53972aa9c39f3269239935eb439cf55053a370ebf3926cfb5393909cc390d1fe8395f765c396663593969b985395816a039cd60dc396d8dbd3ee916203fab1dfb394750ff3974dca83e6b190f3ff82c843a57d495398ff2903e37cef43eb809453a09a6d53976686e3ec3cfca3e7904883a73bc013abaee3b3ea3d8a03e3cea983a64be453ac571073eb52b6d3e06ab943aebf9493af9d8ab3d37841a3e7ed3893a1319613aa04f123d40d9903d00aebc3ae07cb139a6c1d63981f2053a017ef3396bdc7c386235aa38b9223739da526c396c7de2373e6ef13762176c38bcb94d3912938137b8598a37f120b63778c82c3943261138b3941338bd612738d8862539d8bdea389c60f43817533e39b03e9b390ac81338d12b0b38f880df38afd272393b544139d51e35397a6d5a398fb79f3951739a39b8608b393c579b392efcb2394718a039d3469c3938dea6393f44ad3936e7e339a0ff783e72a9403fc51b2d3a450b153af98d603e57a42b3f69c5cd3af8aa5a3a39c73d3ec115123ffb5fed3a2377dd39c1951c3e7377f33e12062f3a4bdf1c3a7d8cf53d0e16c13ea021743a821d0b3a8060b03d869c8f3e06a2763abee37b3afcd15c3d8bef3b3e300ad63a010ed5392b00e9398594c03d386ff1390482b13970f3bb39cb600a3aa093f03998aa58389402643897792a39dbee7439b645c3374c2acd3708aff637443e14388cf8eb3769c9ef374c921938b98f5e393aa30938d5c70b38094516385079b539b5250839e7180839f82e42396b1d9e396ff8353858393438a4bc3e38adf71b39caf68e39d0158439d124943954d5c739c794c8395798c439622ed239f9f2ec39abc1813993fb7d3998d9843968959e39c8eec7397467ee3d823e613ff58d0b3a8c7aaa3996dbe13d8e62483f1f6ffb3a72810a3a1755b83d312f2b3fee8e5a3a1171753a290c983d5c210e3f22c0c43a2020053ae2d5353ddb2be43edd41c53a8f075d3a2ae71c3dfa41a73ec06ef63a0d5b2b3a7f485b3a7f98623eb544893a7aeb083ad8b1103af7cdd13d0c2a1e3ad499c339b3b7cc3938b2153aa9e70d3a0000000000000000000000000000000027f7c637b27bc8376e7dd7375dbaec374a1fe3373ffae4372650f237ab5d2f382af20a3986860e39708d4739a261a7396749eb37499e013872498b38ffb435398c5b14398750143961fc3339644e8e39bf4b5d39c64a5739093d723907e99f395b99833738128037905c853766c88d380000000000000000000000000000000000000000000000000000803f00000000f31d8239256dfc39f470623f762a4e3a79eeed3961172f3a99cf433ff5ea803a9daa2e3a3a67603ab928203f21da953a50f5cf394786263a3faafe3eb40c823abf09ef39cf151e3ac07bbc3efbe0923a8a17e8396421fb39f6e5753e37ab203a879dce396191e83910cae63dada9553a0000000000000000000000000000000000000000000000000000000000000000b2dd1a355a8c2035a35b2535b680d9351164c9339aa8cc3347052834ca1eed355699e6343ad0ea34cf88f7349831f6348a426335558f0d35fc1db63547362d373478763478c97434df878734fe7a5b37feae3936fd19bb3515048b3607641037b300c23788c4ad379c38cf37543bdb3700000000000000000000000000000000000000000000803f000000000000000052757836a39e7d3f8b0e2438e08bab3786ceeb3689485e3ffcd5e637bf599037df7ccc36e0322f3f8d44e6375a772a37d4070e38ea12fe3ebccc74382c590638e8760d387f5f9f3e4cf240386c47bd37b2dd9f3780c8003e6c07ea377f451f372eae2d38c7e9273a30f77838f676df370000000000000000000000000000000019d672350e7f7735b2a97c368e7da437d5510c368ee50d36194b163698f71936458e58368ea95836fdbc60361b26633662d297358fdb9735f99dad351779b435fc6a92352ced9835429f9c3581d4ba379722243636332336686da63669a6cc37bfb03e370afe953551be85372b69df37ade8de37ec7da7370561d937b02dee375977f836e2cab7368f57c436d5bd1337bee43d3699dc7f3fa5d5bf39569b4138fdfe1136d3677b3f09a3e23957692738b8f1613606505a3f228814398dcabb3773f0af3566482b3fbf60aa38fd68e637a25bea379811fa3ed335c23866753f389d2504383a689c3e174341391e5b3738de180d384f7bfb3df33ef8381141183814ffe337a69a2c3a539fbb38128b173833d9ac3668d91b38417653387525cd37ff7e0436f672133601526c363bba8c36401b7936b33172362d348836900a8f362bb44c34332c2f349eddd035e8deb836379157340790c633996bcd34de7303356177263628702036bdf32b364b11b237ed5e8736dcdd0236cfebae364082d137e5ca28367bd89235cfe51836f1513637ea2a2637aae2273651b70c37e0a03a37c2fe5237355512379b456d37e83480371b0527366957613fea0af53d2a67fc366592833667795e3f0da5043e014dc83653f58436f24b393fb196003ebe1232379c0fe334038b153f96dbd13d96ad0138fe6f8b3757a3d73eaccea23dab632f3884e0a2374d63893e2057463d16093938bba81e37371df33d5472d03cdd33c737a165163643726c3857f3713ae2dba3376c8458354075d0375fb02e3858d2b637e2bfb335137ea4358b7dbe3557cea236fb45193670d20e367a671d36a02a2a368bc15b33846e583316506033c16b60337c06ab3548881035dfbde835ac522937198b28367f5020365c642836d8ef2b3796c2143483f3113419230f3430330a34b3d5d9366828ac36513cd536029cea3639765a37bb1ce63673fa38377a548037eeddd036da69c7364f67d336d374d03673879f357a45303fbb5b9f3e674503375a5b193612f52c3f3c71a53ef55b3f36db5163338f40133f46c3923ec2d0703354ee0f370528e73e5a5e6d3e3f7c0f389d380637a53da63eef37323ec8faeb377ed312348a9d4d3ee0b1eb3d0ddc08347880f2363783a53dbf6c533d3cb93a376592e236afebb53836c9d339a5ff863728c98836401471377087e437d4bad936791e54373e525e3772fbb5375832d237f2a013361cc1153645841636b144193677ef5736a36c5a3614775d361f9a6036705636368f70333644203536b5413a36e8e94e3744f65836d2d8ce365e4fc037b5f55536d90534361e7b3836182429376b19683676646336467e6436f78c6736776bf93783c8ed37ca7a11380cd814380e9f12385aea0738887e0f38b869163814586937d574fe3e81b3003fbb708b37012e153667dbf83e7c7c033f8f9b1a3656e15c36745ad23ee336e83eb26e5f3614d13b36f587a23e8387bb3e9f14213716441438f51b6d3ed769893e47d03438ddb55537e6110b3e0ac3383e3fd9a43706638936696f493d872db13d5be2ba36eaf7eb378c50c33849b1d938c7160738c670cb37fd5e7738ddd689387ab6fd379d407e360aaf8836ac6e6a36d0465936423e8c36e52f8d3639dc8936e1068f368b0d8e358c89a634457ebb346704c53549d8f433aea7f433fcfeea3391fbf7333d40863608c23136e9c92c3646f4bf36a9b2af3706cdef3675d2ec36696fd6375292683342756433c2fb5e33c1cf62334f59923791e1613795098c37e9e0ad377df5c637f048a237de3bce37168eb037ad46a736f7609c3efccf313fcc572936ada79d3637d3953e96f3343f19ae8e3657a2973691c0783e02f11f3fe4b88836686f0234fcec3c3ec2e2ff3e1f9f03349c79b737537c043eb87ebe3e9bd0a437160c203828c0923d9fe17a3eaf87173831621836c5589d3c6fcdf33d3eff603368514437fc91643812d89d3a3246253786585a375dbc5c385f07713811e5ef366a0ef43604419f369c125635a93a5e3560f7ee35ee63eb352f94e435e504e6351268583536404735e7fb1c35a49d5235ef258436ef1b903599ff1335a54f1a363af95e37c521303683c42636dc744837cbb74837b50d66353a2e3135fd152637efbb3337df1c1e37e6b713374d1a2b3794e8e23625c1d536979fe736e800f63664629536f1ac8e36c207b336dbf3e7362076a43748dbe33d4077633fcd9d1335f7e1fc35203ac63d34fb663f7b70e935e3d3dd35f926b23d83cd443f6f935b35f345e33759d5523d77b1213fad2a8337b1db1538ec6f183d6c8fec3e24220138f3180738e234cf39fd26a03ec576d2377447aa37cd5f8f3aef25193e112f3837a43ffa36967b9538587cb43a260cdb36c48990366554fd3756e90738d6b586362d0db936aea6b036414d9e36ffd3a636c3c56235e86b61356f02633540f16035b77488352ac18d354e488535866193356b56283654192736733226361de82536ca2804370585a2350dd29c35e1b5f43578f1a13652f3b135cd08a73598a8b335a04a4a378b0c6a36cea16636e10d3a37bbe7bd372a9f9e37157a9f37ed20f83792a58c37944d833770e29837c782b637f9d70138a8eee73891f87f3f253a9f36b8565037711daa3851c57f3f74df6535a66317370e4754387285603f5b5ff73660a3cb372e73813832b7313f6caae93715b413389997a03849f3023ff8f629389f5ec937f2c66d385a62a93e70410238335ff437386dbf384173163e5ac50038027528388619c1389d738e3ce2d504389c92d0375c4c4e38b2f66038dc4c56370000000000000000000000000000000032dd0d35795a0c352f700b35ee740a358372c4337ddcb933dcf3e432464e0d346a359434c0887034f221733474417a34171b0436059b0f3569a00f359db99b3569c6f834f218f3342bbffb34982e0035bc767237090e18373c6fbb362d157337b25cbe37cebe9737e5b38f37f50ed5370000000000000000000000000000000000000000000000000000803f00000000e49b9835f279d8370fd07f3fcdb59537675b51342d67e036e4c75f3f18ed23375d520237006edd370d46303fb0fd0938266da337ec5943384df1003fe8a7533863840b37fee7c637a88ea13e321cef376308a93773a30c38aaeb063ef23d0838c5e7e13741842f383483133c974623380000000000000000000000000000000000000000000000000000000000000000ec22bb35a4c1ab35df9df33568cb0a36aae6f0342149e2346971143586a64f3602682b36fc102436217a733657e02b382cf721368e901d36c7a42f361b2333362c0b903510f38f35ed7993353d9d2237a5a94637612f34371dfadf37e0072138eeec1c366bec1436544e8537fc6dd03700000000000000000000000000000000000000000000803f0000000000000000d9053236c148753fcab221381c90d6365fa7a1379696513fdd5a0039c6a68038ce7ee138f8c7273fc8b1653a17b50d39fc46a4377137fd3ee4292d39bbef06384d7c3538ca43a93ef4c6433a0d8f4838aec9ac38e9c52f3e5df2493acc4da4385c0172389890073dea37fb38c2613d38000000000000000000000000000000003021523486d954344d7b5534f55654343325a0335a8ac233275dd533ec39d933a0410f344d7d2234bc373c34173c493428f915345f001734ac9517341da81634c5ed1835b1212035c59654354e397735ce1c8134f8428934910c8e34a82409368ad56a356abc263573c2a735f435d03557d8ee365e60d3361c170637b2105d37706726345bb223346a442434d1482534f1d657340cb67f3f6401903ab65872378dde2234bf05703fe4d2c13a827a5f3830a5843617ec4a3f531b7e3a3faab33879ee16347767213fb3d5083c5ac33a38722a65365134f13ea861203cc3e84d38f51289383e04a23e5fabd13a0a03c93813174d383c45293e512bac3ad1599138b5160c381220ba3c0127603a9a771e38eb9821344789d03563e706379352e435a73c0f32af9b0c32e1540b32f7830d32d4d5a434d860b8343900ba34956dbb3469ab603451a581346b42a5346083b434614df734ef81ff34ced3063581a60835c18f9e35660aa33516c8a13587e5a1353b3bc4355ee5c63503bad035ab2be23518c68b35359b8d3520f18e35ddb58e35d48c1636c1421936d607163657231536c898c934959bcd34d06fca343123c434b7de0e32fd5d593f03651a3ee64ae436b4abe5349e884b3fefa71c3ecadbaf374c2cef343f33263f5be01b3e8efd67380c1b053528a8063f380a043e4de5043842d1a935a17cc83e1735d83dd61d2438832fad37e330863ee6f99a3de703473887d6f937ec15173eb72e233da926763859865037c9daac3ae69eb23c307cee3770fac934f1279636279da9375871a6366b9bb934dc3ebf346ee0ba342686b5345de2d2358444d735bf4ee73512f7f4353fcd733534e9793593c37d357196803536bac23569a3ba35ea94cc350136e9351732083637900936d10f1536acb31a36148c67347c247c34e0ef81343ef7b23423a1fe36cc43dc36e9d40b37efdc963762d43735fde33f3563ea4c35b1883d3548760332791e0132fed1fa3149b60f3425b96036b5cb2b3f1162a83e39d2c237c85c0736601a203fbed6aa3e0d0e573732f66836aeb3033f40ff953e7158a6374dfdc037e06bcf3ef9557e3ef89684387df33636c4ae9a3efb54483e27473a370946aa36fa40493e98800e3e2ac936388954363898ddd23da049a43d29748138634a4a35a0987e3a166cce3c79eff3368aa4f731d964063805d74838710bce37e9492d34028d2f34d2053034920b2f341452d93525a9db3584c3f9354f460e367877e93450bcf1346c80ee343568f234d417c1343266ca343d6dce342050d33414622f3654e02e36202834362bae3a3627c8df3443c0e8340030e13433c6f634bc909435e2ff8f3553988d352caaa635072a4437c11835373db44937208c8e3785463e3437263b347f073c3452123d3441e0313457dcfb3e290a023fc1a05b37209fa63675bce63ed739043f2b725a3745ed1835ae52bc3e8186e43e348c1f38f666783763a6923e0aa5be3e6ff59038125edd37a749603e91d28f3ed3e9813869e83c389efa093e0f70533ecf89a33868b41838c75e893d6e44f33d4a466f38af280738738a723aaef0023d109c3b38c6eada3533840d386c684838021faf37d8f6df310ab9dd313dd7dc314e83e0316faf2f35ea8e3c350e563235795b3335a5e385353fee8d35d78c8a35adcbbe35e09a5f3406846e34c0ee7c34a95082344e100c3607f01436a4831336a4a91d36d8840736332c0c3636190536bd4f7c3775f7c9361846ad3655adc3362469043771840637da759a3650890537df096237ac4622378d000e37c9782f37fcbe52370c285137c359a03e01c92f3fe4173737c8fc4d35b3e08b3e3a64333fc88f443567233e3733ab573ec52f1b3fcaa83338b784413655d7273e6622003f86810b38d6653d36cca6f43d1b1bc43eec762337d8104538ce3f943d4f4c8c3e1cdc8d382e14a537b5e2033d5858243e1cee0b38da4dd43702ded939288f253d629b0238f3c66c373a07263851158438b886a0374c19cf34b8a1d3340094cd34548fc7343d2f08363a2d0a3667610a367bb308367d5b7c35ca768035c7f48035dc03833535a0ac3586faa53539f29c35f9c3bf3574609d35b6869e35b0359f35e2ca9d35eea70935eb6c0d35d2600f353f2612350287d935d306ce35c68dc53543eced35df18ea3450a4f0348b34fb3407b8eb34ea57c53446fa1e328c561a35c2fab03515dc8d36af94083ecad95d3f6e2c003684cd1136e563be3dab47623f342710362496873581c1a83ddbf23a3f4bc61338d4c684374756283d23021f3f31032a38f7e384363c28193d465fee3e6c2a1b3831d1d236454cfe3b8dbcac3e64af1038fa173938d54c383c8fd83f3eaf5386389034bf37710e2a3a3338523dd042f0376d8802365cdc69371281bb37baea8936266f1734134a193494b01934c60319348c9a063564d610356f28083553673a352a8bb03323dab133990cb2330ad4b233b9748234a7338434aeea8a348b5493348a1644354a434b35d12533354e2f67358ed919346ee41834fab5193451811a3468cff135c9d0c13560faaa3552750a3644557135b199773544315235b5eb523607c066341df962343503643434576534a62a9c35fbc4b838b9fc7f3f496042355091de35fb250538f9f5793ff96859375ef9b233d96364386156553f383d45382f61dc377586c13862892e3f0bbebb385c4eb7355f665438efe5043fe83955389a5de536d6e66e3851e6b83e1795543865ba88386602ed38ce23533e97beca38c82143384f7bbd3814f6783d24f67e38533f60341aef50377143cf372c135e340000000000000000000000000000000019ba2535263e3635a50f293563f14135ea962736e2601a365de50c36e7585d36524a58351cb05c35e0e25b3530d97f352e841b36ef33223637661b36793a2636d6afb937c9bd5e37e5a37737136c42382d0523370e531337aa3f0f3724b63437a482703631b1743683296c36abc381360000000000000000000000000000000000000000000000000000803f0000000089976a35c3f88f37e479773f465d4038f5da373782c13c3800c9533f7146ac383671d2366b55023883262b3fa8fe6438d6c74536c520bd375359013fa651523836b9da388d080c39b05aaf3e4c46493adb1a30380c60953871f0383e52bd103aa1a6c736258cbb371a2b2b3d7cbd21380000000000000000000000000000000000000000000000000000000000000000dda90b36193e1636459a2b3659ab3e3632a7a63503e5b235cf6ed1356ff9ec35778c8c35f1ab8d3569758f35334e91356ef31336b6701636b5cf1d36b80025360c3a193654ac6936ab5f88370f75e5376cdf3137e98d4537f062d337952c29389ee41f372ac9203735d32a374d2f4d3700000000000000000000000000000000000000000000803f000000000000000046b6c737b57e6b3fd537c13855de2d39b36f8337a5fa453f4bf79139ea088a39635b2238635c213f2d41a43a49c8553ab6661438fe86fc3ecb31253adae5e039d4c56a384896ac3e96b6883cac602d3afaf9a2384995513ea8af593c936d71390fb5133c18635a3d3cd4433cbaa08b39000000000000000000000000000000007c468235b3f795354a29ba35efebe135b1bf8f36839096368f4ba436574bb1367c0bc735fbb9d5355febfc3590ad133636737a35b3d38f353cddb1355993d4357bf4953617909936b1629f363beaa53658ea2a367d482c3639cd343628363e36df4ba335a4eda7353f04ae35064eb5353f688036ae788036d9447d360f467a3634896e36d8566e362229713625847036431108382267713f6ef6673d5b376a38aa86ca36a114583fefb7613d6471f6381cd1e5377357343fc40a7c3dbb2cc33a2234a537841c123f39cf753db320923a59670838cc2ae23ee2df5b3d1b86ae3a3612d937d7c1a33e4dd1213dc53a713974980638067b473e32a3ea3ca695103a7a9bfb378822613d0d0ad83c4d68283ad1d3d93649b69337308cc4372baed2373b306033c55f67338c746033135d693334fc413674c046365f94523635905f360cf84f36f17a613605428136c58791365aa9aa348d68ab34ad59ec34b7c73435afb8533648be59363c8a6136659d6c36a80a32369e963236a5333336e52c3336b6d58b353fda8e355ef79535ec439d35a75b4836b0de4636c81d42360ea43d369a20543630b05336a4cc4d36c435a036f53b6c37ce874b3f1f07513eeb973e3932b97536a75b373f2754463eb4eb8239a8e3b8363da7153fb630363e742b233aa68970369174f63e488d1f3e4e7d563a1f0109388db9be3ee887fa3dbbd9343a751dbe37d1d1873e9368b53dc0352e3af2cb0c381a452b3e5d095a3d28e93d3a4a90d637c0024a3d0469d03c3c93053935e41637e420a3377cd7d237afa9d13746992534447524343c86253490d82734664c13362045163652011e36e57e26367554643490096234b8866334d7beb4344c67b63596a4b83589e8ba350095bc352a4ce9354950e7352688ed3545b9f9357dcc5335ea04583523266b3558f3823590408f36eac68f3675a3cf36ed662d37db5eef366bf3e6367631323744b38c3793ee3737156d4637979185371272a8379e1b2638b8bf243f29f6b53edda5b439fb44843628fa123fa24ead3e03248e38bc880f3725e7f43e054b973e26c0bf38f26128389ee0c53e281c7d3ebadef239260b8636e5fb993ec7e24a3e7f56313aa548df373e84593eaa76123ea4c1823a5fed46381f96123ef680a63dc75d223a1b701338b936323df0c3fa3cc65a6a399c7de63798ea1a3823384b3845223d38ae5dc53683cac7365d09cb36a2e7ea364e9a0d36cb131436947b243658c73936d288cb355627e03549d3f935c4730f3632be883608458c36722d913618ef993684a650361b3b5436aab359362917643611129b365bb29c36c9459f365bd9a336fac882360e998d368d2daa36355f6b37c91f943652f6923699509036cd7f0c37b9ed4b378bbf573746716f3756d293378323dc37af3bfc3e4dd1013f84d13e38aff05f36500ade3ec107f83ecd2c1b384f907537c8d5b93e30a0d43e4bb97c3975b6e83709e1953e03f0b13e28eeae38090b903708fb6c3ec940893e09d6063af681293808e9223e0fdd4c3eff4e1b3a9dd11f38c16bc73d8efafc3d8a852d3ae46be2377f7f013d70614b3d94060d3ad908d1377f2911384ad837388a4a20385edcce358471d93599f9a73623e751371844023682e00536065f0d367694183660393836cf634636676152365c656636419582340123833489f487344cac04354c93e135c891e63515bdeb35970fff358eafd935c3a5db3518b4e335485f783716030e35e52f1235d1391a35c4672c35332def36fb8ff136e93f51373a34c4373cc40b37dbcf0d37069e2237d6349537492d21388696ae3ee5a0283fe6b07c38dc0c2a36d84d963e6ccd213f0b6924389d42c737534c743ec034093f8bdde53959107c373fa0483eb5b5e43ee3e7843a33dfa736bbb31c3eac7ab13e4d167d3af62a5b38a9b4de3d685b833e94d5223ac0535d38a918813d3f63263ec1371c3a02536c383b95e63c188d703d297ed63970a6093875f05038094e0a3a01999b38db8c263670072e36056bc93656ff0e3798b99f35ca1ca53587b5ad35f214c035f733403539325435706d683521438b354e442d36523d2e36e1562f36e42c3036ae6b6336b2e565361ea86836b06a8f3652cdc535626dc935ce02ca358daed53595fdc336a402c6365b76c636b7b917371ee99a36458c8c36b6a7b8365bf2f836b7d85034edfa4a3496484434eb4a4334a94a22380b84423eeb524f3f8e2a73382c90e535dcba113e2365483fd50b62380c02163761220c3e022d243fab3d2e3aec088e3701f6ce3d34280b3f7c79783a8c571738502eaf3def1cd63e90745c3a13f1a4372dda493de7c89a3eaca12c3c0e310a3836f2f83c9fc3463e39c34b3c42d294390f76c93cf146833de9a16e3a44d1a437a15f40383491fb39a88a72381e4272364d37743649f6733622f58236ff18e235f2c3f33511520336fd771f368e70963526ed9735bb399935dc039c35e59e063622b30e365c7a143614dd2736d289a23645eaa53615dca6360e76ae360ffbf535c9f9ff35c09b033606620d361d095e36052d5f36a6325d36f42160361597fb360c6afb36abe0f636b982f636f1a60338b921053831ee0e3823111e38cac4ff37357f203d0fe1753f3c8190393de550360b26133c5884683fac5a3d3ad9749036434e0c3c8e40443f2d026b3a111b9737f55c0e3cda2c213f4d9b143b24ac0838a2dc1a3cb40bf73eead7393c0636cf373000913b2b9ab33ee9c1543c5139a639f3673e3cf9b4533e8faa633ccb444c3837d8aa3c10da873de64b5d3cd006383871574a384e6b6538d1fb533800000000000000000000000000000000b6a19036c07b98366ad69d363bf1a936b5f98c3542788d357dc2a3351a50d03578b4c735de64d6355280df35728af9353b6108363932143668e9153695fb213696ee973554ea973579b49735c7b2983560f71736b7432d369fd149368e590037341f0e37c3bc1237b2e98a378b47eb370000000000000000000000000000000000000000000000000000803f0000000032eec33680d13d3704e46c3f92021539fbbc013856427d382308483fa2469739a136193891c359380f14223fc5a0493c22eb9237aaad3a389f53013fb4e3123aadff063870b966387489b53e40a4553c3c8a0b38675a5438ace9583eb748693c3c06d238bc264f3cf811873ddd078b3a000000000000000000000000000000000000000000000000000000000000000069370037902a003772d9243706c32f371e5b0a37f39b02372e612137efb83837a2f58b33fa85d633da388a37997b5b38738ebe362744c7369f27ed37890c8338c613ed363be1f33688090137d9fe31379df98c3731ec9b36ff990f384a4c3638073636369d255136ba29433706779d3700000000000000000000000000000000000000000000803f000000000000000019972937e7157a3f72f882388e5dc8378cf01f370fcf5e3f749b2538f65c843767c2b938781d303fc85405391276d038bb4dd2388b95fe3e00860139d7dcbd38d275dc3777029e3ee8bc1838d0eeb537df9990386c7a023e6417ac3824b249383e90523873a1903cd1bc70389b6edb3700000000000000000000000000000000bf3735349c55903498ac983470577b34fb549f36953e9836db91c8369833da3635940c361b95ef35adb62436ab8b3f36000000000000000000000000269b7a36aba26c3694e5653608119e36b8695d3792fcef3598ffc3359aadd53510300136e611a73719426e3438aab637b64e3638a92dee37045ec037e1e208389ffb2e3806975835f2d23e355bd12d3563a229354ec7ac34e2ef7c3f672f4c3caec9f2348fcccd36f4e7713fe0e0473c4c2c8637747e1836a172583f48a0c238d7761938584dee33b9212a3fc91ac639d6e80138886bc337040cf83eda97b138a79a3038d2ed0b36d9db9b3eec691d385daa323702ac8c386c4b083ecda5ab3b8d7f823892c8403888989e3c3231eb39068f7038ce1f1c3565110e3748666537fb910d3698fff535312efb35c78a2c36ddd72a36b3ffbe352be9b9352256cb35e678073694b40a3679711636c2052c369d33443632e69936b7e28836fa59ad36908cae36fdcf4136baff40366f527036785a0937c131b635c81cc635bff1f835195207364a5ee836f921dd363a7bf6368261e436a7cfac3695e6b736be7ebe367d57a6369609163651072036ade1383612c627366db5a735a637643fc0c0de3d76981736fa3abd35256b5c3f9e82fe3de36d2836ee362f3605493f3f8a64b93d734b91370e3fb136f7ac143f8682b73d8389bf3642ae8a366862d53ef47da53d355e3938556df2351e5e853e5ec0893d7cc05c370839f736229eb93d9b06683db6b4f1361f7dbb36e21dd7387203003c0f5eb836fa8b01361a4ae336ce798c3731db6336c7ebbb351b07c535b414d235e17fb2373557ad36997ab136085cc4365b7be336406fba3645c0ac360bccd936d8dc06378d0ea935926c9935ff3ad535f29ebf35ef3ecb36601cd0361dc1ef360bf27d37f43c983665b19836c1cfb4363d72c236b7b6d436388abc363347e136cf71203720c777365e677236a5909136a14b6e36a951bc362c48c93640cebc362da4bb36be07b635b824323f88e59b3ef0ded63690c5a236ba382d3f3034a53e7baf81377b3ad136a4ba113fdf438b3e0da8f636cedad635b36ae13e9037723e1a05c235535c7e3782f99f3ef8db3a3ea4af35384a759a366095433ebee5033e2c40b236f2bb2a37ad95873d264da03d9f7b9437cf5b5b3617968938166aa63a105c7c361648923657ad34373e456c372709c6369e3dc23440cb3a367682993641f64636ce0df2367bbff736b6e9023739ee0d37de78c6357e43a035d834a13560994337cde07735f0e91e35c9d672353320a236a128f336ae7aed3620bbf0369d5b15371cc8c936e7cb43351fe5f8348c222f380f4e0a38c5e54837beb3c13715f04a38cc971f3780822337ca2a1f371c9d1a37686a923732d44c374959703785738437ac353d35d729003f99faff3e185f0036040705376574f33ee5bd033f4dcf0037ca77bc35cb08cb3ecab9ea3e8ba89f37f08b603671cd993e565cc33e45539135ec9d60378ed85e3ee49f903e2fb29a37fc0f10383583013edcc7453ea90354389da44338902d7a3d8d00b03d4b414238fb071937c578983ab0c6083cde871737cf3cde35892d21388645333801422f366396ba36c2b1ca36f020bc36a608ba367de235363b8a1b36c55a0936203b3a36ce7a9736f219a23684319d36fffdc836b877b336c1e19e362d6c9f36dfcfb5365156da3628a3d8369c30d5362b68f436e56fb935abc2c735245efb35c9fc0536359c07379ce7f93692610a37df110e379882673757a96237ab2b2e37bb440a38f2f9d9362f2e1636ab9cd7367792813757a3b7367aaa993e0464333f12b58436a30826360721923e62e8363f4b430d36ade4c236a7ee613ef8c3223f9682ac36d2d7c536a0bf273e84ab043f9c93a7361fa6f03787ceec3d4ed3c83ec689e837e5f0f43561b2923d1cc4813e9aab0c36a1411637eaa8553d82aedd3d0a950e37536afc377c2d633ae91ab73af63bb737170ee03537b13f38a95f2a38a7c6bc35c4aa39369237953637cb333694a36336c4a18236b6ed8d3672705536c07e9636b55bba36c7ceac361f68ad36c357da367f54b335f4feab355c17c63590f0b235791f6436d93c6636c3de6036931f82363c73a036332999366848a136c9e3b7367d9b2636c3e00e36fdea2236a4435636d78c303634a33036bfb23936837f1336bd1e2436866a4d36af9944363af42836d886c13625bbdb3d1e7f643fb2b9c635e3748c36aa13c53db4ab653f539161360613ca36d0df293d50ff4f3fad85bd364dcbee35558ab93cecbd263fd139b835092be5376421c13c62faf53efddb863755399a3636c3f83c85199a3e563ea336ba6f1f37743d1f3d24c6fd3d3b734b367a441d36c183653c77ade13aba4d2536def61036482e2e367f061636e9420f3688df3835ea094035183a2d35c2656735bb7a9036464d8836449c1b360f0a91360000000060d846340000000000000000bf311a368c6c07360a58cc353723f43519e59236a2e08536fdb44d36f3b195360000000000000000000000005a5e2d37f3e0723607f66d363bbc7b36c06d853761b9f3365fc7ef36cb78e0368821e7364a16a934327497340f508834c1446234bd95bd36e01fcb3aabde7f3fd15c12352a2a16386c8aea394db47a3fcb660d377e4801388472f238ab085d3f4c827337d786213653d0ef37e259323fcbab6f365d42eb37309a9938eb30043f4c1f1438b0832a38f3efed38cf66ac3ebc8f533875432a38e5cf3e3be8951c3ee6171c38c178ab376f1e6538d457303d98a67b3794896334db89cd369ade1837d006ac340000000000000000000000000000000004fe16360aa6db35469f453534b5193637ad333557af4b35e9bf2b35846041350d5cff3631d5e13628c4ce36c81c04370ac052385bccbb37cc3bbe36e37b29382dd947385e76c63725f1c836b16e5738e3eb2f37dc842337f1d42637f3563c376d9fb53762e98437624e3037513183370000000000000000000000000000000000000000000000000000803f0000000052963636fc22d837d9cd7b3f2a8e9837999b8d3698ce2d384bba5f3f6026473840563237ded6e8374c76313f7bc7fd379737a938c3b2df38e635013f6c6bd33822309538b825e438d8d1a03ec2cfd538dfea8537b1560938fe22063e85260b38babe0438f5f270382fddca3cab553a38000000000000000000000000000000000000000000000000000000000000000000000000000000005d34cf3320a2a1349d712d369b574c36e84eb836eb1af5364a72b6343d131f357aadcc35b0720e36a45ff0355176073632f51836286d2e361b71a936b634b136ce89d236ec951c3735de893635ede3365720c8378ddd23388fe4be364bbcbc369413c1367571cc3600000000000000000000000000000000000000000000803f00000000000000000c98083864c8713fa9f2a03918eaac38f6358c379d60513f42bd063bb158123a0a63483848d2273ff8889a3a3c60c3386efdea385c08fb3e5ad3d93aa0f50b39cbc414383db9a23e3e09c73c8855c438e702d13879700b3ee6ae213dfd23c3385d603f386b80313d02b9d03bd3672638000000000000000000000000000000000df4e934afc92c354c7b1f3580975a350000000000000000000000000000000000000000000000000000000000000000b4999234c66f9134c110a53451c99934266b8d339794bf3384df9a333d9582336123503328b07433d388d7349d1b3c35e009c2346ee7b534037a0235297d6f366a1f16350a173735c6e4d6347feaba36e2257e357cbb9d355a19523561ba6035dc3ec035bfb7793ff084cb3cff7b6038b0f81e33ef5f633ff1d4223d17ae8d38b2d9693647d4463f78ebb53c7f0e8438e0ff0e37a2e11d3f72dce43c8e659d386349dc372791e43ea680043d5417a938048ba137f6818e3eb6ed4d3d575650389c99353875e9e73d21f1823d791d8238c18207387e81843c082acd3c948f7838ea230735b22c46358a2e7e35f1998235d6592a35a07f3735e44e1e351a234135ecc803349b7d3633737370349f24d334c3a45033447aaf3336094c3352916933ebfda43502d7b9355a12ea357ac8ec35000000000000000000000000000000001b78ed34e680003515de163533c603353bc2ac35aea1c135fff54836214c9f36000000000000000000000000000000001840cd354258d8359ad5df35ad6ecf3562427e35d409613fc434f83df9b41438a7ea0835dfff4c3fbe7f083eb73732384873db37cece293f6de30f3ee491d238ed4c13366397ff3e04cd153ed01d9b381e5b533728d4b43ef5ec0b3e8dc98c38e55e19385998573eb753ef3d35eeaa387a2cc537101db73d1510c43d5f764f38f8e37f372fea6038e756053dc5994d38d5690336911823360859a8367e4a2d36d3d6b135d47ac3353186ab35301dc6357dfa8835a2259d3582e59b351f8fa6351f2ea235690eb635ce61bc35f98cc935e2494335bdc583351b7d5935f1db91358b482c35b41c55351f7a3d351c96693536f0e835ee770b3655e00a3658a31a3658348535876f9d34638b3037f5a50b38bb361d36d04a2436ca1e4836b8593636a74b11364626173635930636559afe35cff7f43598a12f3f9116a13e832600373cdbfc3541411e3f1dada83e71ff1438ca6753365ad9f83e664fa23e85b7db37c409ec37f704bb3e7631953e3588c538e192bd350478803eafe3793e7bef7938bebb3e36ac56153eaca7453ed0ad4f383cd0b638c38d6b3d283f013ee97e0d39a1f79f3635f073381d2a173d81364c38fc72e83585c926364de7183683edf2359530a935a9dcc2350e087735b9c5a83500000000000000000000000000000000000000000000000000000000ed7f0f31c14127336d501c3308a73e333bf32233e3f4803368c1a7335d647e3389194633a3a76a33e5838d33328684336e592e34e15d84313f6d1031e7bb5f3100000000073307347a3396340000000000000000ff9cd6356fedfa359233d535af28ce353c4ce8352f4dfc3edfe5013f8389b235e455b1319d4dd63e8c38093fd86cf23738bc2932653da53e378bfb3e63df9837ff108236cbdb693e6e4ddc3e8d78d937952f683673422f3ebeb2a83efb1435386a8ce936f665ac3df81d843ee9c50938c6d7e33626dc4c3dabf50b3edbf529386c53923794c3873849a23b3d19fb61384fb4af35bb4adc35a7c27b3625f60136b1dbc83566d9ca35b53ba83569d3b93577bc1c355c980c3525483535f6e45835c2aa5534199b8e34bb6554349dc757341d2eec35e54efa3553fdff354be100365f075735d1d54b359e1f473554982d35d356bc350589bd35a732ba35e32cb13566cacd357f10e2358c75d8359043da35a0e650367adf4d36b6de5836c5945636ea42f4359376f8351a9e05368a19e835a04aea35ab7d983efae3333f9b72cd3517680a36e071673e97c73c3f0c171437577a913857c4153eebac2b3f15d0c138177220365bf7c43daff2103fa205183854a155361453733d8f9ae43e76104538103755385bcfd63c96d0a23e7cbbab38100b24374caf243d8e62213e32e90a388f8c183723f66d3955ff563dd9142038d59d0f36a11799373459003858b63436ed21f6355f110c36665de0350f4af23500000000000000000000000000000000f8506335648ba535f0488d352fcda035a672bb3436c01b3525a4b934b1fad834000000000000000000000000000000004a2ee535bf4d0d3696d9f935567c0c3639e941333c7206346b049933e5f17937d6a25e35f8425f3595345b353e9689356b190c36de571c36dff00536e061db35e4acdc3660bad23d60bb653f3dc20f3691f8363741e2fe3cb9c36f3fa7087037b8964b3727fdf53808b7503fc30402388ecbf63796accb3843622c3fcad5a8388769c13750089938fcca023f2c0389380a7b723707fb9f382ddeb53e9a258d3801e89238c4bce33c8b342d3ea575ea38ef875d37212d0f3bba2e833de7222138977601368ece0a38bd482338626181373c74473508972d35740a55338642f8341b714932704ddd320a94c83235888e32d3d5a034ad51a23454199234cad4fb34df8b4a34b28226345b2d033399436b345eaddb333406f733f4aabc3371278933dbe3b134bd0bae34cc61a734d0b1e33400000000000000000000000000000000e17bc93295b8433300000000000000008b7dc035458acb35640ec23533bcb7351dadb035a25bc639cafc7f3fe3cd40357867b43619e46c387880753f85442b383ccb8e36b39923381de2523f8dd4813872c48e36ebb8e437710f2c3f86ab5738a7206d3744c06f389fa1053f8841a4381e204237466b6d38a562b63e12bba738b79cce3774243c3cd5dd423e45447939fe4ffb37893086388e3f943dddb88a3819e98b355d4b563759b8ff3747abd73500000000000000000000000000000000ef4b9e36ba619f36504c9b368b0cb136ae994136bd473d36ed8129361d637436e0889d3632d49e36015d8b36b00fb8365a952636c23e23368cd91d368d3533367f31053631e702366f17fb35fa522636277b133750af143705c414372ae1243769671d36fb560b36c82d3736c8d3e1360000000000000000000000000000000000000000000000000000803f00000000f7cfcd36cf5f14375574733fa02b673826f28737376a63388237533f26e6d638a9572e37f2a78c37236e283f4551553abcb58237ff60b9385a2d023fb7d91b39bae7253819e6943871d9af3e2de4a93aa6a0b5376d416d3b6de81d3ed1c6b23c6a74243845ca9038cc20643d3efdb738000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dd1dca33c0bd81343db60235bd272a35dd0c9b3325509d33fa589d331d9c9e33d0389a34cfbaab3410f4ef347943f1344418bc3675cbc7368fffd136bfb5d43606fd7b33cabc34346888b334d165db3486cbb73556c7b8353fd4be35c100b73500000000000000000000000000000000000000000000803f000000000000000000000000e932613fbc8e963cf808e03c6779fc35d6f73f3f97d2cd3bdbd5d13c0fbd9b3814a0183f512abc3c12cdf53cdad80b35b50de43e3d240f3debee073d0f6daf37200b983e3ef04e3d75b5e23c598d85389a581a3e5d31873d1f34e13c68058d37c53b373d5fc3193d274f483c000000000000000000000000000000005d53473483564c3413944b34bcad4f347fd8be335191c233f6b92c3496dd8734bfcec135ec85e53540610b36c9602336b202e2355a04043617de21366ce14d36fdda233583c630355ec452355fa75835ebbed736a899de36c48de5362f2bee36f95b85365d908b36f559903684c59336d7beae3522ddaa3531b9b3357153ab35c214a436944fa236ee06a3366c20a136590d363877fc763f93e90b3d87c9a03a5685e7340380563f0a91103d1a23173d74b675363cda2e3f0388673d07be083db5ea2b38351f053fc1a7ae3db3d6103db4267535f6a9c23e5778ac3dd5861a3d7cf04d387a477f3ec8b8a63d1542163dc27887386cfb093ed7c9813d7501b43c13d708383fc4a43c44b73e3d1896cb3a1e3ba7367dc1b4363b08ca363be85037ed864e36a44083360a9d9736150cb136b026ab31ddd11432a9237431ac9fc53149fcc032858f9a340e71173544526535b923b736a245cf36a662e436b225fc36d38add3123731d3245d7e731a4121d3200000000000000002dfca633491fa53481dc353619043d36ed093d36bc0643360000000000000000000000000000000000000000000000000000000000000000e5830238d9ad533f2005313e81ac8d39ebcde731cdcb343f9d5a363ed624e43cd9a10c37c98b0a3f677f4a3e70f6283d9a5c6938dd3ad43e067c423e5d91ee3cba146732635d9a3e4924253ebb7db23c4a7120386080353e6ea5053e29451c3df6372c3877edc23d06e9af3d3610193d5e840938a95b8c38e78b403dd7b6873c9da8d93317910535fddf8a355546ab35000000000000000000000000000000000000000000000000000000000000000097e30a36e25e1a36123d31366a6c413600000000000000000000000032900435062a96313f519831d327973198ed983156c2b236e4bbbb362765c836f5dacb36bb08d0346034fc343f5220353d94143580768934cc708a34d477a7341311993459102237f9b1223786da273772d326376b39e836fa0c283f28dcaf3e842344390000000059500a3f37cfb53e5362c13c6c3aa0378206d43e5e54ae3ef93ab13cf3ecd13796609b3ea0949c3eedfe003d53a99e31701a573e14637c3ebc7f253d6d8c1c38d957fa3d8c51443e06bb1c3d0e1c0438e68e673d2836013e838a193da7066a37debf4538c8aa5a3d046f823c29a52b37fd6d3237000b103891fd34388560b535f44bf0353fd20b3638a52236a5da3134b4d673346a2dc034b46df4348acb1036dc2720360e812d3612aa453695f49b36196eb2363554c6364cd1d9368587cd34bc25e0345b0908356f5310359877e1366969e636a1d4e836ef1fed36cc7e8736708b8d3693858f3683028f3652587d35d0a47435872e83355d5c7d3520ec5636e84c4e369357473639e13a36aead4f386bcbf53e672d053f293fd3389ee81e356413c03e625c0b3f6f365a3ba9b1c1375ffd8c3eba64f53ea44eca3c3b061637ba74423e62d2d63ed2e2f33c8e90233577fa183e51c6a13e8579103ddf57d237a559863dadfe803ed938343d46cf88388d16fa3c8606163e53c8353dbee12638879e9138e45f743df4ee913c003a3836e777743631e2093841730c383e322537d3fb2d3776f22e370a9a353700000000444919300000000042b53e3000000000000000000000000000000000d31583363d989736d0aea43686a8b736e47db031b98ead31f0c8ad3135f3ac319debbb35bbc9db355d8bf535558b0336e2ce9b3683e89b3645b19436b83395360000000000000000000000000000000000000000000000000000000000000000d1b1be383ea99d3e9730313fa9f6ce38bc542633a500523e75f7383f7659583b333cd1368d80073eb936243fb767dc3b5075cc376a4da43d8b13093f89ed073db7129a330068413d36f3d23e3db7373d6b063438cd58413c84ce9c3e92b42b3d38b5a1387b63413c317d323ed9521d3d4e8ec9377f59f139cea97e3db1879a3c3a5b15353e1d5d378210e437c4b1db377f295835b0d29d35a090a0354ffdab3500000000000000000000000000000000847dc035bf77d6352d8bec354c5d0336000000000000000000000000c259db33e445bc3186ef9f31cf60db30242d3d318a5b0437127b0537411e07379a3907371920f335ae79fd35b90706361aad0736311cc03313add0335fc627342919023428e40e376f0d0c37bef80a37c6f40437ad197238d16e0b3e78355d3fa8b74c380000000084ccfe3c2e48673f3e44123b11d4b3367e04d93b2283413fee97a23cb55354378e04cc38e47f1f3f8b89023d35e5b4311d9bd1310f97f03e44843e3dade2813765fb21391b32aa3eab290e3d966d1338b8be8b38c8843a3ef2e01c3d1c254238132b2e3b738c853da7aca73cf2730037b76a0a38d262bf389f66bf385e22bb364a31c6368d5fcb36946ed436f671c534cb6eef34eb4919357c7c3535ffee2736c9503736da0f4036d5955436a3179b3677caaf367710c0369d22d6362f971d3558ce2c3518654635b4c75135707967361e1b6d3681c66c36e2ad743668b567369767753691f27936094d8036ef516335cda26235caa56e35d65c633583f13c36be212a36419914362c0dfc3518ea8f38417a8b3a7ccb7f3f4132b938a2706d3552341d3754ab6d3f0c326b3b5a268936e7b8443887c5463f8736843bb851163768a1aa38f9d6203f0d52a23b1605703596477f354d7ef03e15dded3ca1eaac363c75e038e3bca73eeb81063d15ea03386771893806bc3c3ee6e1313df5ac0d38913c7b385b12853de7a7ce3c8bc6f037a4886338222da1382a879b3800000000000000000000000000000000d802c134f2e8fe3433b11235bc872e3547a654320c854d3267734e32c50e4f32c2f479366b7a8e364bce9b369eaaaf36de49a3345044c9348750d434b750ed34b292b1335bceaf33bce6af335940af334f29223619fd2536f9a21e36c0fd21360000000054be9430000000000e23b32f0000000000000000000000000000000000000000000000000000803f00000000f2326435c58396362f9d663fa494aa3bbe6f5132c6911238774f403feb04ac3bc659f036e1ce8037c3b91b3fa8478f3c7fa7103552811c351bcdee3e00c1ae3ccc6e3938813bbe381ae6a43e2825ef3ccb4e373691c8c83719d8343e9e412e3d2379cb302eddb930b10c4f3df1e5c83c0000000000000000000000000000000000000000000000000000000000000000bc3de1337073cd330415883468dfd634aad95633d8038733c67820349a9cec33366e8f351b387735b472b0355138b335e7650334f0faed33216f0035bbc32135f6340835addd0735f95b343505010a3585ea4d347bddd933cda763347e218d340000000000000000407c5d310000000000000000000000000000000000000000000000000000803f0000000000000000a568ae34dd53763fca38013795baaa3454e90234e0275b3fd2398b390f9e943301606f38ad81313fad19263a167fbb3989858f34aa19003f64dc033a67bbd2344bfd0535d133a03e51209c3a485ad234f145143a9118133e729ca13a8f1b5b3700000000e7120a3d000000000000000000000000000000000000000000000000b79b0d35e4c1f534fb9d853477771835c87623343ddb3c34150e7334b65f57347de7ec32ab47d932f5abf232ed3b1b33a1e6993564d502351fce7b359b1aba35f7b742320000000097f82332182ea732b898d932c72ccc32a06adb328bbf073327b782356739f834845b1b3510e1593593e3ec3310a1f833fe9c42345e624034587eb934a78d9f342b229834afeb973404e9ec34a7677b3fb208d13c18b511353f7fb13497ad693f7b2d123d94b59134e8e62633e51c513f1083483bccb2bb384c12a835ed3b273fd59cb83be704ef352c303b33ac3cf33ea235ca3b21a53633c1441133918a953edff2c83cf2c13033ca52da34b41af63db3f32a3db4bf963536803134fdb50b3d8f688b3b46a80c340c016b34e98682342e2c87345ce894348feef3343c17cf34d767dc34f592f1348785c33488d08034f375b33479aef33449c79534ae808b3371cf5f340351b3348836263559270835614c003560440f350000000000000000000000000000000034b2e2344070b334f08a7f348cba9e34ec76d1344bfe0a3566449f343a037634bd71c33382190f33ea21b23336951034078834359a1d1635d48f2b35939a1e357dc51f35501e643f193cec3d06f3f5348aafdc346870573fbc97fd3dfc55e0345a2f8a34fa34393f29a2c93dc5a40335c836643501b80e3f01cad43d84204d35000000007419c73e8004e83d00000000ef0713352e5c5e3ed8f6eb3d547432356fd81a35dcc2853deac1ca3d52fcc834c4cca8335c9ebe37f9e68f3c55e19533af701535a2490e35cc072f35b33e2f353ff10a350ad30135a16311359beee6346b00bc34def9ab3403d9bb346b5f003599a03d35915e1a3512c35135d30f2d35aa5f9235bf427035e1178d35b8995835c8c05434504f4d340f216834ef3da334c92aa63542929a35724abf35ed6592352b64e634e999ae345552d134859c4a34bfdde23482cacc34fc00d3341cfbe93461099d357a7798358cfcad35d5e5883590d535351e15383fce18943efde2d2346998c6347366293ff12bab3e3934e634531b3935b9530b3f6302953e61655235bf619435d6b3d23e9046873e13f99635dcf88034d7c3873e8f9b733e579e8d34953c983536f00e3e2ae83d3e0b638f35bd19b734a004433d6b6eea3d21c7db342e81e7347661b839a9cea93c52bedc346c6185353f8999351afe9a35ecf88135de103e35f39260357ebafc3491846835c4736733a652b033d0fdeb33be5e9233a6e325340000000000000000e8fff4321797673521e4bf3402343b351ca99a35514b273203a689320e110133d2309a324d0961351b6de033d44fd9341d492835b3a638357e3d7134d5f2d734abb7163598a1ab330545cb33deb80a341c3a063408aaac3526b94835d3069f352d056a358e2be0342d02053f806cfb3e4b2f9034f5fd2a349804f53e0480053f2c4aca3394cc3535d5c7be3edd70f63e70f0df3466f763354d7a823e16ddd33e2b76a335d6ee15336aa3373e677fa93ee03d48320394a635fe7ace3d2b807d3ee039713503352e349426493d3d6fe53d404c74357bb8e933adba313be0a4183c96a3bd33df250935bc3b5337256f82370170863408e16c3502e35e35c5b85635be245a35aef0b534345c9134933baa344099dd345babbc34f4d96734c1ea55340cd6903444ce8135862361352d254435ac625335ead84634f4672d347a824f34f0ac9a343782983536d88535035768353dee7335ef0d2e3520b1343522780d357b780c35852ad134c5bfb7340a51c5347cc800354bce263594aa1e35241a293571a91635b7219135ae4ba03e2456323f237058351344be345d0e923edd63343ff928c93431b59134a9d1403e71de293fde06c3347f049d354e09033ea0c00f3fb11c7c3561b28134718d993d7294e03e2cbb8e346bd19b35ec22633d47fb913e8aeb8f3573fb5a356ea9633d0f02ff3dfd9e3435271be3340ebdd23b6ca2093c9b20f3346980133522d20f3505db2835022f1d3545921435aa64093584861a356da8e7349f490a342cf6d6339952b0332b1cfd33efcbfe346654b534097dd63435e4a3342be7f7340b4ea7347484f634831e17340000000000000000000000004e351733b6c172358d74553540897b353e293d35e2030c3548d1d5349a6aeb3448805734804a04354a92ef34188efc34b3380935d0642d352cb03035ec424b3525e91b35a0a94b3525fb0a3e2b385f3fe12fdc349cb4a9339922c83daee3643f5055b233a6f8d8342bea9e3ce637543f5845fb3468fc1d3594dc7e3bb3862d3f4890dc3400000000fd51c03b8c18023f00000000fd905a35d1e8023d1c79a43e03014835cc660735f4915f3d46e30b3e492eb9345af70935ab86a83ce378bf3cbec8fa34b7bd27353f23383574573435fbb80c35c97ae534c3438134d7a6fd33ae6b50349168c733ceac2134a21b3d34e026f033295048340000000000000000000000003630093379a62e33bfa41033d2fc2733d4966a332760c43393189033d6f8853320d39d354520273534b93235aa1d7c356ddc203394305033bb022e33bc303c33cef67134282d9834b52ba1342bbea234baf7933550e44b3509b87d35f7f85335f776c5348412133d350b793f4b0d9d346560833492871e3b9a53773f3a6b1f34c8e84b35cdc30f3aac90593f83ab2d356d7d1533d687f23842d3323f4c37e3346acd4233a53a6d3a7470083f7477623364ebce3523d1ea39fd75b53ecd09d2357ef22b337466b43c5ae22d3ebfcf0338fa4c90340bcc563a527f743dc7909334c59039350af48a373a1a87372e8b0e350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bd2bb5329c01c634ea469f3402455234aeea9734f4e22d34b6d0b0343dd52f34b2cb3d345aeda63542ab9c354cec5e3591989535285a433305637c336a5d533316986333d71f4434029f8a34651a2a34edc76b340000000000000000000000000000000000000000000000000000803f000000001e7b9f30b67e29319d757a3f00000000ebda84321137b733d1b45d3f0b38aa397fa6d834869bd934ecb5333f2f7401353e66da34b9631c37fed1033f7aceed361f71ba3530981b3a1550a33e7f0c3b3a00ed7533f7971d3ab9f01d3ebd18ba39f5a2c234119791377681423d4c14c1350000000000000000000000000000000000000000000000000000000000000000c94da23427bfcf341b493535b9f13d355015ed3383f9043491ec2d34e8f3203451d43634ad4489349ff18d345cf53a352b2b843464dc9434e3251035843f1135efe286346a1b8a347f83a6341567b4369d109335e4448835408ba9351bb9b4358afb9933e44698332fab9933e48fa33300000000000000000000000000000000000000000000803f000000000000000093ce783524046c3f5c235b3c03e8ae392dc5d236520e4b3f40307e3c8127fe3aa7bb23352581233f602b623c3e51903ab40c5337fcb7e93e9ef1193dc752dd3a9c782f388f888e3e06a0863d108dc8387775af365584f03de67ca23d3a990637db8caf33b0d6023d741dca3ccd6b943900000000000000000000000000000000907ba6311aea0b3271bad631ca60fa31cb65df3369de173469bc14341f7a143498456433d5e57b336546933396c0a133b31e853211e9e0320057a632290dba322f4b5634256d7d34481d6734e1117e34726b64331f926d33ede67c337d6b8733b2b8c23260ec25337bd6ea322e8afc32831a39343c1e6d348ef447343a3b55349f735135df522a35fca63e3561c5393518dbbd379677743f99d74a3db1fc8638f17c66344078593fa010973dcbfed938ecf9d833ebd93f3f218e383d77d2383b681b3733116a113fa082933d3063b53a275e9734b0c1c63ef904da3d78ad833a8a9a463792d5663e42bdef3d62c1cb391e415c361fcac53d4789cf3d4b1bc13927368534db5b7e3a6c6e5f3d5e543737610202354b751a3503abc236074f9936ef478d30b46eb631ad1337313c19813187163e311f9b053333896332c343ae320bc3cf34fe94b234274da234e3a82f358bf6ba331d66cb337566b6334f01aa3356e486347e9c9634df9081343c126b344ba0a6347894d63431398b345032a5347b41ca336e22f033bbaa09348ea308341ab240346b0986345971b334f180a334ff8d5b35ad852c3551d7013590c9ed3489670632133a643f7023e63d661203380e224a332aac453f21671d3e3ce11b3914385e355f2e1e3fb5453e3eeae5533a36f36934eed6dc3e6eb55c3e0565f4394d1988342d6a903e0029553e75d8ac399b64c53448250b3e363e4d3e63443c3ae5df0f34d9ee4f3d46500a3e4116c6396baab7340d5c9936619d483d0a11c734e1d4f93408e2173518c70335f29cf93409837e353eb48135d53c82356849bf3500000000dfb9063359c82034a3aae83395257733a97e9d330f78f233b396e93350e6bb347402fb348d540c352429323596619b343ad0a3348cc16334c800523419d4023457140b3469cef133682555346b81a73591a99e35dbacb8353d14cd3500000000000000000000000000000000b24b9b331622833300000000000000008702f3351571343f0f3c993e8ce368372899a734dc11143fa237b93e3b0e5436f3d04534d58cdc3e26b2c23eb1ed683998e54b35d4f98f3ef43ebd3e4b62023a4a54ac348c3f203e6a87ad3eb367173a493e2735e357803da1c4923e1fd2eb393cc2d735cd0db23cb8de323e58c4e83900000000000000004b90363d000000000000000008436d37af11fe37240c9e37834ff33428ba0135b3c3d2343f6ab13408f12a34c88f5a3420c44b340b0f4b34e498543301ed6433297b8033d27e903385f0ae32d0481433dad4d7327d73ad33d0934234c0496f340ec452342cf767343c392633cb852333c8d22733211137331415273363206833d15b3634dcf9983474814734bd8d6d34aedc4c3436d8703431326f349cd07b3429a0a7348254c834e0559c376b05fd3eddd0023ff52f0938d0228734deaec13eaa00133fe8926434ca00a133d173803ed867113f37618b36c70b6334af8d053e9e4e083f32d802390359d736bddaa03d90d7da3edc80dd3995e80634c0680a3cc56cae3e764d1b390e2eaf345eb2a63c212c2f3eeb7492398b3485343577a638511e603d4df5ca3585b6ed368dd1fc375e2f3338a557f8370000000000000000000000000000000000000000000000000000000000000000a3905235872c5e35258d293534848c357f156c3467d0653477c52234db168934887f9e344739b834a062a5347f099c34b78bdd346ded0c35a4f8c0342ab0dd34a4ead433c401f8330bff06342ea60c3477991f334135cf33d3eb4a3433bc53349d3b3636a19c34366e9d203669e5093605582737ffdf913e2944383f5f06043700000000a76b3e3ebf02473f000000006c2ea735051c773d2877403f64521b39387516353721543a6c29293f2080a339e0ccc834db5a3b3a6629043fcdf09b39a2d8323665c2d139dd39b83eba38243af4c8523717a3a93c2fcb363e31cb073a524b8534ed349a371ba1893d04536b367d4e3136662e79362e0db33746ce10366160e334c98c033572700935252a1235640a4533e66b0f342b834634a0182f3470156e331de9a3331e12d4336d7fd333fa7780347429be342022d23420120c35b37b593488ac7334b06f383436fa47342273a433a7d7b9330dff963316089d3371f67035a4395a3543c183356d768f3573074f337b644433113e4c331d4061333ee00d3227ef0332b60c0a32c6f71932cbb919357d02c73dd936683fbd0c13351727f634a8c95d3cad8a713fbd98c434e77a4234016fce395887523f31722334350f2035ff59f03951922c3f316abf3928f394349322ab37b094053f7c2e95399f62d433d71e9438fb49ba3e8662023a73609135c74c9c3c85793f3ebb5a4b3a69e169335b3d13363285a83d83542c33f1d26f362aded1375ed1003814049b37eb900c35a85a16351ee3e834395a0835a36e35346f2f5834e8764a34a42e73344806283306522433c7af2b33951543332f6419337c0b5e335d373433130a553303474734630d803457605a340082713463f103331ad60133e0c40433ab781033ba8a5d333f058c334cdd7d3337799a33463011345cc73334d2780d34c11a5f343ca5323228902f32b5fd313239cf3d32a2147e37e2207f3bda39803f96ae3536ad1a8834c0d1173737ef723f4f7d2d37c05650337281a2337925503facbf80399108833330208a37a9442b3fc356b939cac59534ab57aa378849043f6b02953a4b3819332895a137f6d3bd3e390e2b3a234b9d33491bf13b0b04513e98882b3b75243e3482ec07374683aa3d6d7d54371712b337ab693338902e7638deef4338000000000000000000000000000000005c52163360987c3324703933a3cf59339f5a4d35b5d73435a7c51835cf0478357fc223349a605134e09b383488c28f34e39a8234ff4d93346ffb8c340143bf34e326e534371d9f349395bf340b41473538051934e0372e34b5043734c30d4234bcf4173547861335c8790c35ae9433350000000000000000000000000000000000000000000000000000803f000000001d8f9f33e9f88e33d49d733f39457339e8b5ae35a9a5ca35c0f64f3fee00723990ab4736e422dc3720cc2a3f0e86843a507c0c3541703c39bcc3003f1c028b3c5ec172353bbaa839181ca73eac6c043d8f806637bcaa923888fb2b3e6415053d05e14435a30cc6369cd38f3dbe09ce3a0000000000000000000000000000000000000000000000000000000000000000000000000000000053be033336252233347b3935ca1b553550778f352f06b33560b4403339588132a4898b342bb40a357739ae33ba6eb2337795aa3384669533cca0ac35d92eb735d72ad335cdefe3354af35c35aae346357c5597357dd9ae3500000000000000000db61733bc4a843400000000000000000000000000000000000000000000803f0000000000000000a19edf3545a9553f88a2183dd9078e3da3c50036460c333fbf54d83ce7df863d7c1ca635321ff53e2548513dffa6113e585d8f3356eb9e3e6fef853dbe3e2e3eb0ecdf37a7381e3ed381c73db39f1f3e0fcccf35bd2e873d30eedd3dd097b53d9173a1371da789392ef4623d113f3a3d00000000000000000000000000000000000000000000000000000000000000006de5d332f019e0323302ce32aa2bbc32034a3335f5e94335a93c6c3574a69435687f01347f4a3a34d9aefe34db1b5c352b336731bd986c31f6fa6131752b45319e004735f5384e35b5b16735c3d19135db892135687529351523703512099835000000000000000000000000000000000000000000000000000000000000000069048c37ecfe703fdac9543d2630263cce0cb4336766463f7ee3793d8228ca3dcdf9e53535401c3fe38da23d3635bc3d1f7aac350952c33e7b3d0d3eeb7f133e5c2a3c31157d663e3147093e06d2343e516e1738cb27c53dfd27003ed17f363e8719be35c6ec1f3da37cf53d4549b83d054002377fe1c738077b143dc822343d00000000000000000000000000000000a6a1eb3467130d3564ea2e35250d303538cc6034d0a76634ddf1603465e65234481bb535bdb7c63584b1dd35bb87ff355beddb34119ff33499a84335b06f6c3500000000000000000000000000000000ce2b6035ebb27635afa86a35f93a9335f761fc34d92c0e35daba1535610c423500000000000000000000000000000000000000000000000000000000000000004782da380b015c3f6fbde23d88b0053de92c7335c4382c3ff5f9223e7cf8c23d442d55376b52f03e9f02773e971a9c3df66d82384e80843e4a73803ecf911b3e00000000ff35113e8b784f3eeb883c3ea85e1f3835f8013df86e263e5bf7463e615fa638282c623ba7d3e43d9be5f93d98aebc36272d4438959baa3cee830d3d000000000000000000000000e18a30340000000000000000000000006311703400000000000000000000000000000000dd042c35ca54313550588035b872b2357b472235ff16223579296235308495352c20e4324e4dea32dc64db321f2ab9323e11b0358556b2351d73cc3565ebf0356c3ef835924ff5356b22043674901936ad938c33332c90331c188533b9c35e349ccac934356fdb349864c63443a1df340b615538d8c82b3febf3a93ea905fc38da1bcb3653aef23e0302c63ef9029d3d923102365305973ea0b9d83e2863903dad66ec3519e6083ee0b9bf3ec0971e3ea565e93478b0e73ca9d8923e1428513e90600d38d6bd25392959373efefb443e794e5037a82003390487bb3d0cd3033ee91aed34f185a037880c2d3c8fd4193dd7f31035601009353c900935251fc2350000000000000000000000000000000000000000000000000000000000000000b1bfce347cb7d634a46ae23421221b35611f6d34c5e18934e3139434c448c534000000000000000000000000000000007e99ba347179bb3417e6b6347475f4349d86a934fe60ba34e305cc3435c80135000000000000000000000000000000000000000000000000000000000000000059ed70380954f23e7e97073fd36101390000000002268e3efed41d3f68c1633db6a397358fff0b3ebc54183f9acc673d9dee46353b6fa639c599fb3ec49f2b3e0000000084a4be387578a13e760d413ecd22833524fc68382e0c253e51823f3ef7a832350996a4386d15d93d2620e43df6bfd43662c4573863e7843c05491a3d000000000000000000000000fc6cca37b2cdff34fc70073546c02835f9d32335cf37a233a97ba3339e365a34560297346c61df35f0c9f33529640136b2531536843acc34bb45e13444a2e534c90ae434126e0933be030a3349f90d33f8e50b33aa3f873544c58e3577728a352865a535bb3fe334e6a9fc3404d0f63429e8163500000000000000000000000000000000ae73fe34c87dee340fcfa6349f96ca34e6dfcb3859168d3e606a3a3ff4c9de3808e5613516309b3d91a7573fb04d163ded4546367c1007397b043e3f8b58303d334b8735ef10fb381470003ff178093ed57afb3282b579378a919e3e83c0363eba9ee73597cb1538c57a273eef3c393ebf5081357986df38a741c13d74a4fb3dad8ed936393b0c38bf47ce3cac4e2a3da7b658355df8b535e3f31738f142663800000000000000000000000000000000000000000000000000000000000000000cd03f3586cb4e35d13b79351bf0ae354c8be434c1a4e634bb41293510af7735000000000000000000000000000000005db9d035cf28d435471ee2351510063600bed73582d0d235dc46e73520ce063695f13b343d4c373498be30349b422034ff022135885a18352e690635690f143541a3e338c4ba903d038e6e3f88159b3800000000696a3c38b3f8713f55f5123b9673fe35317fc238ab0f403f2510963cca42b535dacb79386415013f3da1e93d00000000d1b64037af71a03e2d172a3e9e359b3670a61239bab3283eacc4393eafaa08366d01bf38f10acc3db041f53da7a9ed36cdb72038db2bf73c5fbe3f3d063a0738b1d7e038ee5e223936fd30390000000000000000000000000000000000000000000000000000000000000000cbc56635efe967356ac7613540d593351baaab34ee44c134501ac43405cd2c35c6f985319dcd863181038931aa488431e305263574772d3503a51c35c47c5f359e8ac4344e42d534e784213534a561354c2ea9327a699a32e565943204f1883200000000000000000000000000000000c285dd38a2ea433a175b803fbd2c503900000000921c963783a4643f855cf53ccc99e435ae770236c9e8373fe66c1d3d920f8e35d8106e38b7c0f83e66c2fb3dab306f31e68ccc36d96a953e8f60393e7585b73511b6d637e9f0153e72664a3eb9299535cc04be3802c6cc3d294b003e2dfd123752d56a386e3ca53c44c5493dc8949432f73df933b0604d37ef88eb37000000000000000000000000000000003047b333049f6534c4698d34f2e2c034586b7235b5a18935fec4903567d1b13526670c358103173561f12a35f3466335342ecb33d471cc33c2accf3366f1c833372c0835ad121d351ab71935823c5e3581860b354398103561fb42355ced6a350000000000000000ba6f96315e5908320000000000000000000000000000000000000000000000000000803f00000000bd5b5635224fca363d145f3f1c36023d0d84fa35e4500a36573b363fb464f63c42cfad35cf77c8351dc2f13e08aa023e947a103487dca1345a21953ece772f3ed157ad3569c0bc37cddb1f3e3276373e84e89f35ef8d4c380146b13d9968023e5ec98d33c05b8f37450f873cffbd3f3d00000000000000000000000000000000000000000000000000000000000000002245483581beae340943b8367faf35375eab10365f930636db02b836b96ea037f38e7d364d74743621f25337e85ecd37464cf3367a286c36b6a951373b7d02381a8e08379384bc36ffdd5037cae80d388429cc37b44688372885e837679c07384fadca364d795b366d5606373a5c4e3700000000000000000000000000000000000000000000803f00000000000000002b47f23679ef7f3ff2f6ec3740947c3715ce92377f16553f99d504388ee1c0372d7bcd3756892a3f0ba519380ca3df37976605380dd8fd3e844046383e3a0a383e0b0b38276da63ed39a0e3957340b38dae2083815b1243eb01c2838f3670538cfcf33378e0f1e38614f8f37cab31637000000000000000000000000000000003042dd36e6aeb536b7e44937d82cc23760997335a5015b35caee37361f57113755d09f364aac3f363ce8fc3638f6d7378a66a936bf3ca436750f15373cc0e5377d36f9363f458b3635001337bde3f937d8dc3e37b09ee7365e838e3798bbff3749da8137274604378edeab37ad640038e6447b37fc92f63685c57637114191375fab4c377dedf3361e392e37460659372bade436dd427f3f99b0323bdab1ce37a60300368110783ff9a2913ccd2771378a58313732b44e3f06379a3ca9020238b3568e379955263ff573553cacdf03381ccb5f371a02f93eec3c233c9d2d143837f1af37e704a63ee2ee5038e51d07389a6eb837156d283e5c4f93389144013858021437dfee103ae746f4376d6982376f6f8336a3bf8437c2909c37864b64372c772f35103e2535b8e0f4360c266d3728e00d35ed4e0735fa732435ccf0913785537737f97114378fbf9737bc03f33707723e3653609f350e7f9a364c108337d0b982366d2057350506e93606410d38b6cbe336699b37360d690337c1e07737e793db374b14ad37f7abe4375d301b38b7bfde37eacc0637d981b7374f211d38849b93370d9c7e37d0ff8737b74c9237dcf32a35ced7543fce5b2c3e0b6f2f37ed4c04359df34f3fff1a343e01fa5937548c8b37cec52b3fd95e293e986504381ed5823696900e3fece0023e75b386373a3a05375ff5cf3ecdb8be3d7ce90d386bc8d2360d2c8c3ebb8c3b3d123972372f97d63786a9163ed677053cf7c01638f644ee36c4799038efcc85388ae4e5372acb4837edb89a377d38c1379b4c8b3700e57a36d09d3b3620e47e373cb0c337ea28d4332e21c633eb8d03340b80ce372d7e3036135982353defac36729edd37ea6eba368c7dcf35a0a8a7366e64bf37123819371e2e873633d41037e5502c388b8d2337df87da35366076369a2d0038989ba33758d7e636b7978d375d1eed3791c7c0371e0e4437469ca037d81a0038b4be8b37c89d55370f2e6e37c0dc993765cf33361a132a3f60beab3e8ea83c37ccc8e133ee02273faa82ae3ea3c03f379ae3c936e8e00d3f5188983e0916d437be74c13623f5e13e91e2733e045ca037a53c6237c096a63e807f333eb5431538dd491a370153583ebd53df3d4e42e337ec4a7f3756f7d23d78f83a3d0bf3cf37d5a82537b4aa4438cfe95338f817af37917c0437283bac377c78fb37f5c26a37d336c6376030b037fbd2fc3706401838941e983592a39035904194351e6214379d9c4937034bd436d7a42337eb8af237f663ce37a2d30937849eaa3754ed303805299b3751e002378b357737331cdc3849a71738c1dcba37a50bf53710b83f385ceb0038826dac37e8c8d937112e1a38c54c7c37eef3fa364a1e5737a221a63780211b383155063897e30e3844501c38952bb237dc3afe3e4ecb003f3ebed337ee3c953502d3fa3e3786023f028a9835bbd26d372795d13e6905dd3e1349d837e12aed37ffd4a63ea756b43e3dc92a38aa55ac378559763e65af843ef334e837150c1338e5fa163e9859323eaae839380ecae037900c8b3d9be7b93d22650b38b41ee8368d55f437a8b517382a7a6b3798c3e537056e2138d29d6938f0f50f380947013781455b360c6efe363eb59a37b5288036098ea135ce75a0353c436637caf638365dfe2a367aa22d36c2d39037556d33368cf2d1358056d235ca1fb137df61a93763d9d736147cf136c117233878e985376776f636cdef07376f3aeb372e0f04385281a8379107bb37b51b1638c6a01d388137aa37df49dd37a02832386cc8cb37a2c9a1376d08ad37e32cc837cd68c03675dda73e440a2c3f89576d3630cf1a36ab8da63ecea22c3f51429136d4a2a73670c88b3ee503143fd6f7703732a6a536d966583e03b7ef3e0304a23745c5ad3734001a3e168eb23ec3fb133885416237d804ab3dd58c723e1dddca377ab7e93740a0a53cc879023ea5dc04385a019d3769dc6138edbbd23b4207f437872d7037c1cdcc3758292f38f5949b3717345f37f7a724378d0d34371eb48f37d992b3343d29aa34cc9aa534a7a81337f406af37857b70377f384937cdfddd379639e836ddd33936c39b3236137c2337049e6f37a0924536b55dd335ae55ea3767473b37f6d4cc363f70a936ed3b9337ed1e17386406cb370a48c437ff4b2f387742df37c9df4937f24183370cc50e38603f8a37f91b6537b5bc5937980187373c2f5e37c584243ed6d1563f2ba41037ee14bd346d21243e29e8563ff05bb134c7f9ba374833153eb1e7323f502de1378820ff36a2fdc93d89e7143fabdc0c3739bd92377a9a923de79adb3e1059043824091937890e923cbc41983e8fd397377af1f737a79095382f4b273e9938253835504e37e1f3313827ac3e3c929dbd37d1313c37ce7b7b37bcf3aa3787cb3e37d483fa3643a44036f25f83359b39383758c5773504217a3532746b359eeb6936ae6b2c37270ef136e9f8be36d9006e37171383377855f536ba7ac4360c6d9a37c6656837133c0237158bbc36721ea237087dc33740571637b4abad365fe5d5370439ed37dedb8637bad94437d72bfa3745af8537d1ce2c372a171f373b8c97377561cf375c83a637c868a437ab6bd437b2ba4b37d3ac233823f67f3fee054f367b2ff436a68ae9398cb17f3f01ce6a36df749d37ffd49238f8d2553faa2ce537532eb437b3f23938fbef2c3fdc8c0538b80fa83731d86e38e9e4003fe2b82b38944dcf37d59659382687ac3ef9111d380d88de375e462738e3ac313e2e7b1038995761371c62bf373a2a563c2260853742ea9b37f0d6c63798763638edbfa2370000000000000000000000000000000054835736feba293690f1ea353ae35c36564e9c3785a01437ce00ad367c48ac3751533c3726edd336b97c9f36bbf33b37f11fa037ee21fd36565e9736c1b0b0378908bc37b4ac4137639a853601c2ba37923cb337f71b513744a301371a09bc378330913758ff54375a4c4337bcdba5370000000000000000000000000000000000000000000000000000803f000000001d725e36be283b37a3f57f3fb10b8f37922fc5375f6706384ec0563fc7d02938f8b8803755380f3832a52c3ff5c6893911b8be37c518163801fd003f384a4e380b99b837dcd6ec3736cdaa3e571d1d38b588ac372f2bd03742632b3ed2b10638828f75375cd79337e6a454384b80d6370000000000000000000000000000000000000000000000000000000000000000c77aa136282ca4360ddf913794efca3731288f359aa99035eb6bd33657219937f7fc153732112937ed39cb3762cbff3780c5ec35897ef135bd504a3786d7923700000000000000006caacd36267e8237bd5ac736716ac8360a91be37f56b533928fe6c37b3716d375edbcf372ec8fd3700000000000000000000000000000000000000000000803f0000000000000000acb12338e0bf6e3f735c173c57cc5e381709e137e2ec493f544f4f3a1c45ca397e2511386f33243f5051393a647d973938e70f38ae7bfa3e2919393abc944d38ccb3a6379adab23e04089639681de637f955ae39db384d3e18ab633abf3df239e6e00838ec0d293d181c7438e4320b3800000000000000000000000000000000b2ea60367d006836ae860e37953d92372cb57a36e3357e368819a8361ca4e0378a2daa36b19fad361cd4ee36e346af37f2687f3604997b36ca47c0367200983739ff4d36801450365e858a36c33ba937e1b97636007b763631914f372ffa6839fa4c6a36076c2836f96978379c03b337f0e37937ab025e37e085b9371988dc37f1257f3732b25837d7149f3743efc63765d49f371d186e3fb7ce8e3d4dd7d237e3f80538a5af5b3ff19ea03d57309e385e77ef375f88393f9857983db60d5d38938ec23786ff173fe8c8843d4c9b1738ce60d7371262ea3e79854e3d7516ee398bbfa7399e47a63ed171dc3cec70893a0d38b23715e9433e32427f3986fff0371592cb3701e9663d79d98738efb325385a829f372b81fd3768d4893946902839fd9cef35df79f03501606437a075a7377f8d0a3695270c3639d3123648f766365435803670c4803681eae7363f23523709409b35d9779935abeb8036534b8837d31bd435cd61d5357d590b376918ed3784cdb336cac0b43642011237ac40b439c0920337bc5dee3620ba2e37d3fca137879e00378ecdb636d7c578379865bb37f3a2bc3705e69b37c4f2cc376481f937393c97374a6c493f1e125a3e1f15ba37df493b36a0383b3ff87d563ef386f0378e1f5e37aa731c3f545c433efaae493907838f3724f2003fe10a203e942d7a39517ef637eaa8c43ebe3ef63dcee69a381fef8e3912c0893e5d379f3d68b3993a6d9097378b55263e30e92d3d6e387f38325b96376dc1383d102d42399bd8f737d213c7378d5a1238bed8363834681c3864852b37fcd65a3704490138d32e2338ed37623619356636076576369e8d88376d4a2e36c12231364c343336a7d2b2368d75aa366efeaa36167bb13667f1253732170b36f3b30d3642ed3736d0659037b8576a37629d4537bcf7b737f0faff3743e97937bba93c37780dd237831416389d3e0a37ab33e23654e00a37302e7d373802d737843da9375028d237ae490238ed561238be05243fbc81b73e3ae33038fa945a37b230193f80a1b23ef5a80338a6f184368dba003fb1e9993eead42a3878a12037a1edd03eed9a7d3ea6589c39e73e8e37e5299f3e7456433e5ba27138a40df9377d7e5a3e6a3c083eb2d28c38234d0c383c0bf73d7dfa9b3d367d44386ed24237b9f8f13caee4a13c8d2ac737ba6ec53738ef0b381b8b923914766438585ea536fc52ae365d82a93733fc0638214dc736870ec9368147043707a3b637793d1136feb71036badd123646f49837578f673681286736c746fb362a8ac03748da1a376de8033769846f37bb8105385d1f1237c7b6b93670368637c20fff373cf906379a131d36c677873772700b3884b9d237677dad37e933d1376cfd1e38e855d337c0ce98379bf4b1371da8f737567ab3378f92fe3e369e003fb5be0c38fc3f8537c1c5ed3e9ef2f73e4075393841997537f32ac63ef245d33e72a85b388a51b4374c8e9f3e30d3ae3ea8e655399f38f2376f62743ed68c853e9e73e039e1ffdf3734f5203e38b7413e77706939dd5afb374552ae3db978eb3de33a5f38dae701382d183b3c9b0d223d41681439882aa737cdcc023826a4ac38b26d3c389856d2362c07fa36665dcf37d7b10638f2cad535e545ce35690ede3557d2d336167e413601d841361d7df9363ffbde374c630237895ab3367c48743779cde7371ba21536366f16362f4a5936eb839f37c6a6b536e3e6b1362965bd36755c7f37d19ca736851f84367796a0360d03d33765dec33795229337057ab637997efa37ef83223857e00a38bf41163825bc2d38611ad93730a3b33ef203263f27d81438f15e973614b4a83ec1fb1e3f55a7d3373bb0d3373d438b3e91ec073fb43d4c38adfddd374fbd5d3eaa7cdf3e745d8b3992ca99370824253ebd5dac3e9aab903981bf7937f55bcd3d97f4783e9c71f339364c9f37b6a5403daee1183eb4495038c5dedb3709e41c3853eb563dce57183802c615387e342c3816afdb39d1653739316121370406233780c6b937d4680838eedfa7363131a736dd56ab3654162237b60d3f36d4551d36bd409036a82f2537161eb436cf76b436b34cb4363a8807381b2b4f36f492d73587f7b2368204dc373036373706dfec3611e61e37e32db437e5098e375bb15437ebca6537a587af37dec766374bdff536800e0d375fcfbb373e989937d1c26f37d41684371b18a137806ced37ae92513e018a4b3f179a253892e3ee361f1b493eee17423fe83e113865d92437ea64263ed6ca213f0875f03912fe2238a001f63dc18b073fde5dde3a3b9cde37c032b63df3f8cf3ee7b6cc39e35fc037d31a2c3d171f983e871d103ac5efac3786a34d3c8e343d3e3f76fc39f8e37f37162e0838a87a703d08aaa739d33b843704179b37079af33778d5d23707eb1e375c34fb3683fd933742f2e7373eaf3a366b373d3637ea3a36f2966437ce04c235a69bc135aa92be35a63f3437f5f8783633827a364ec77736a8af8e3751a657361a9d5936e7c958369d4986372a3502370257e1362e5ad836ab76a53786087c3768963b37009534375429f737a6361738c029e23726a4e43707ab2938933ca2374d87823747537f37df96a63702abe937175a763de64a703fb3a4243a59b67f37f7d3723d9151623f356f9138143a7137b4bd413d8c513f3f36cd5f3cb515ab37102ef23c27831d3f7edaf23a0330a637049d813c55a8f23e0d56c53aa7e2c237f95e123836aeae3e5bd71339932fff37fcd04238213b4d3e8e1a6d3994482538ccbe4538d645803df686fa39adfa91370cf39c378ddd00382272dc3700000000000000000000000000000000a60f1c352e102035aa141c3598873a3709620236aefb02365e3501367b8858370000000000000000000000006779a2362afbe136984e7c3644923a365d086037a8c6cf374669b43718aba8377931f137b4f04437be78d936fb41f43644849837bf89fb37dbb9e137f1ccd2375a43f5370000000000000000000000000000000000000000000000000000803f00000000eeef613753d8f037977a723fed90373c48f48737d9123e39dbfd493f62a4083c291c163781faad378643263fe5a0333adb2f823732070938409afd3e60e66e3c3bcdfe37bb1c0e38b17fb63e39ce563ae0d7ad37a99bdf37bdff553eba2a4c3a020ef937022df03734736c3d074e2f39000000000000000000000000000000000000000000000000000000000000000008468f372c2b1c3885d57d39fa66b6398df42138aab22e380b45173916bdd03957b0f837721a10387d627339dc2ab23963ab7238d6d6093973f4a43963f7db395d5ad5374e7746383760f03962792c3a2810d53755161e38df153d392eb1a339f9994738ac7da6383a564c395dc3983900000000000000000000000000000000000000000000803f0000000000000000b03ff939f09d613fcede413a0e10213acfd0323a0b93403f9cc2863a448a6b3ab27c343ac9a41f3fea2dee3ac506bb3a82ba073ae734fe3ea919313aaf0a253a53654f3a33a3bc3e982d993a2ff88d3ac3e5d83909b9763ea1f1423a8475303a9079ad392688e73d6aee493a19be353a00000000000000000000000000000000de8461386a4459390070bf395387e839de0a2138eb90323828c689393ef6263a9cd492378b80ad3793a8d537bf6c05391f200d38ffdb1638799127389b8f32383003a837e24be337c35e9339686bf8398c8b893700e99837400e0839aaf8e33901251e38acefde38b03c083af3b2453ae0ec9e37e74da93700004f39035bc239d31348395a667e39b2bab539cc23f4396e840e3ae5b2603f8ac3ee3d86ac183acd667a3af603473fe222e23d9995b63ad87ad9399aab2b3fabdad03d412e833aadc0b23928e70c3f2164a23d57c08d3a421b2e3aa5a8df3e8b227f3de4bfb53a82691d3a5914a63e04123b3dfb7c883a829b5b3a9878583e3f05e33ccb2ea33a5cdac939d779d03dc6f4593a7181423aee13d33917961e3a67d9383ac82a393af0ae05395c9185394d0bce3957f4ee39a0cb4f370da57a376990fa38b3c19b3989ab643700f78637536610387d975039a09d7c37f8c1ac37061c673965ced139a3abc838ac124a39e9b0d139f5c5093ad644183818fa1c38f618273814c03139d9e7c937ed31df3703b23239a6b78c399ba685394a4bb539dfef243ae1f44e3a3b4b37391d99483997ae823956769939a5ad113aa21d403fad0f793e6acf343a04d1073aa9b62b3fdf6b683eaa36913aa1089939843e113f5d42423e4664973a0fec013adf23f13e8faf213eee92953aa371193a0128bf3e27cfff3d7bdfa23ae0a57339c6ce8d3eecc0be3df5e5953ac42a9539512d3a3e9ebf763d40e2333a84a9463a2524ab3d6b7ccf3c7d88aa3af37385391e8db439ed7ad0392f09cd39d5d9cf37eaf0b7382516d03961e10a3ab14ab836a5212c3700b75f3815bb9c3962b2b4373ab4ed37b2e23138081bb1398422d5375a819e38e852af391425043aa45f2039527080391d1bf9391ff9243a8fcec437c5f8e637bca52c383e1a72396284e0370123e73748d84e398dd9153ab63258374b2e6d37128446398adb043a25b0a13941afa639276cc7394b98dc39ed78183a909d1f3fdb94bd3eaaa0423ac9c9e43985980d3f9f49aa3e86616f3a4d6af1390bc5f13ee5ec913e0e478e3a5270143a4f3fc83e0aff723e882d583a7ad1313a9f579e3ebb71403eb0b4b43a3e9abb39bd496a3e9e5c0f3e7372a53aa3e9203a8584173ec7f9b73d9b09ad3a21dbe93905cc8c3d0eac2c3d56298c3a04cec839e699f539f7910f3a4d450d3a9e707d38c9521f39aefa9c39d84db6398e2924377c954e370e599b397533213a6bb8a937bdbeb9377f240839c60ce7395d9863388cde6a381c0a2e39eee2a939269af9372a740738d2c88738da7e2f3931496d38931f7138107a393957f7a639373af638ebb42339fd6cce396749193a001b003a995b073a1497313afff45c3ae0448639b88e8a39af46a23981b6b0398085c7395764fe3e8e00ff3e2a00393ad1a2313adddde83eccefdf3ecff1a13a5160083abc3bc03e3a91c23e0e1e8a3a8e76c23902199c3e381b9f3e9bd4ba3c44814e392e027d3e19d3803e2a1e523a0a7cae39a847343e26093a3ee64dfd3a05111a3a8a7def3d5bebfa3d386e7e3a2af1533a28fb433d5e6f573de642943ad6639d39cffbe03982d2313ac55b233a0ca661399edd94396cb5e4396798003a91051d3752ab4a3706b497370008963984a3d2376eeedc3765b8f7372b29aa395dc0c53744aaca37a4460c38002f413973974239f15d8a39ec48e539bf771d3a53bc213900dd503975dabe394fb7083a9a3aa438bc86fa389719c939cf7e1c3a2ad74d39fab94a39ac00bc39718b083ace7caa396daaaf39e718cd391dfbff397aecfe395c12bd3e65f31f3f8793173a026bbe391c5ba83e844e0e3f44c1b23aee4afb393f908f3e4f04f43e94f8d13aa415a7393f146d3e3aaaca3e2222b63a83b8273a56593a3e9e88a03ee8f6be3a7dac0d3a8235073e4c42703e4a26543a4e3f193a3e44ad3da93e1d3e41167c3a9d7ef5392b23163d1b1b963d6d22563a1c7bd9393cdb073ac1cd3b3ac513353aba752638d991c738783184396b5fa8399fd5dd37ffbdef3770909c390750293ae98499375a90b3376c1ef6370a6045390eb71838130a1c3883ba24385464093908c75239439c8139d5b3ca3909570b3a2e35b238e651f2384ceb88390479e13984f6ed38d3ebf13877a358392703a2399c21213a444f163a7158363ad7ce543a600fbb393459bb39326cd139cfaaef392525a939dd7c793e8caa403f0fb8f439e05b403a777f5d3ea1b92a3fee93083b25657a39e73c3d3e3eeb113fca26a03a71b74439c4c4193e00a9f33e2843e53a6caa163a158af23da7f8c03e022bbc3a0a95f939e14eae3d49f28f3e316da43a4098aa39c8635d3d19713d3eb5368e3a5ff0553ababf753a36fdc13d659d893a6758d639a3eef3391417323aaa282e3a06dd2338e62d2c3837a593397763063a649c4337f3b565379ae199376b9810393996c437d41bdf37afad11396e2a183a44ea9837c7a1a0371871b2379904b1399f786738c139cf382299813981ecf0398fb61d38bb572038dd312838ad6ac3387a43063978ae033926c084393657f83935d62f3af88c2e3a1f6f4d3a54f97a3a35f2b839b751b839e1f5ca392ec1e2394b30123aab05ec3d3df3603f081e823a54f38a3963bade3d96ec483f5cbfc53a746e403a1fe5b43d757c2a3f2971cd3a8901013a44f3923dd5c10d3fe20aaf3ac2111b3ae05f603d5340e13ea04ae83a3ee16939aaf41e3d0415a83eaefda23a0d8a153a3756413a62d7633ef981833abd54813a790f8e3aeca1d13dd4a1ae3a4291da39950ee6390077133a09cd113a00000000000000000000000000000000f7d076376135893784d9ad379d1c21395a83cc37f5fed237f07ce237cbe50239d557c637dcb6d537fc605339b4760b3ab49be73841bc103963227839366dc33976063138b97d3738f24ed538c9d07c3977949b381aa3b4383e91093958e7b63981076639c592663925b885398b63ac390000000000000000000000000000000000000000000000000000803f000000004e7c5b39699a2f3a81cf613f0d39aa3a736587395995173a0234413f9e42833a4c652f3a662f773a1ca81f3f7650ac3acc41e03993ef0b3a800fff3e266f373aae8c98397447073ae0f2bc3ec457d43a2edae939299d163a64e7773e7c25653aaba1b439fa2ac6399d45e93d60e70f3a0000000000000000000000000000000000000000000000000000000000000000a822233521912335cdbd923514ed013619e6eb355ccfdf35516d0a3665d91636a00c2836cafd223661c2ba3615a99337a0561535c61318354f58493596dad1361d627435d25f4a35bda77337c16ee8371e9900361e72d03564b74037a82e8f3722b88d3671c18936e9a00137632a083700000000000000000000000000000000000000000000803f00000000000000005758e43551a17f3fd2432238d852573773c90d36c8865d3f42a39c381a0aba3776709537e1512e3ff00e4138e18cc7375c305e3760b1fd3ecaaf4738585b8837c15b1838de2a9e3e0d96c83817d8fa375fd2e7379340fc3d3a144b38bba267370037bb3745ee8b3a94f92e38a8eda036000000000000000000000000000000008df4533513793c3571529a35a1a72037300ca7351a26aa352124af35a117d0358a281a35d3c01b355fc81d3550001d35015da3359784a23572bea2351dbba335375cc735e302a7353d41cc351aa29a3727b2883537308a352b278c357c227d37028491353d219235a56724376a10ae37f6b1af379e1d7a37f2fbc3373950d8377ed982353e235c359364843561ea99351f8e4b35e7e17f3f2b48c0394b06f4372903ae35641a793f3313373b7915fe374d9521358c27593f6d10033aef780138b4b2a535ade6293fb24443393eeee43666ff1b37501bf63efb8c0f3a6bd74c388ff13737fbf6973ed2fc8e399990f13788d5bd37a64cec3d1ff7473945bfb73712a1a137ffe7923837958538df35fa37ea7f2c3532d29337a8e21c38905611376205673596e65d3593676135a3665a3531a3b335973ea9350b2dcc3563cdd73583590a35fd0ce93480784a35366487350cf4af35e727ac351e33b035cbbeb135ece1f135fa71d8356f1dfc3584ec8937343bec344a5ef034c37fec344670fa342fa5dc35745bdb350b45e735be0f8237c533c537d2ef82371e500b38b2a42838c73d4135fa38703511b78435bf18993539544b358d96603f3bf5fa3daf915935496fb33513d05b3fb7b90e3ec103d835c1834535935b363f5f9d0b3ead0f8037fff9af355094113f969be93d3a043c38ee9dff356e61d23e5161b93d26380d384d35f834831d833e82b86e3df5754335fccddf358eb3dc3dcd90003dea43f437f63b4e37946abe38d1eeb2397e2454386efb463583d3b93625710938c5f4ba3610ce933514948635ac0a87368cb29c36f208d3368d6da3363f7262374df6a137807a1336b94c0f36edb32236b9bb2f3635837f35c93e6535500192351452873761a469369c5266363f79733662a2e3366d10f33562c5ae35a37c5436d417f537bd0c7c37b3e32137c145d337f90b26382b51573610035d363fb93f376fb4a537068fa0365fb47c352835ae360f1a153751e37335336a2f3fb239a13ef9566e36a505273768a42a3f5befa93ec902b437ad5d21365ccc103f3ec89a3ebcde1c3835348a3517fcde3e50d67b3edd2213387b7f6f3670e39e3ef7423f3eeedba9376f876c37fd4a413e1656fe3d273e5d38e2ced7372ea3863df3dc6e3d998f4338474b4d36426f98386710563a5e3fb9377443593542456f37095e003843eb3537ae162036d23945367b6fa9379fbf5c37772d113659240a361be26a36ba343d37e3e2e434d6d5e6346723df3480b5e234c61c46359a6b4735e84e4b358dce47354015ad37ed0667378754a037613e1e38ebde4c35ecda4d3594dd4a3599dcfd3666bd1335e5560735e9d7f934a6f5e1342af5f5370e4fd437c482f637324f0d386da27137ccf48237fb39b937aa3dd2379d1929367c86fd3efc32013fc8284336849263365ba9f33e32f6053f0cec26371362ea34ba8acc3eb0f6ee3ea448db344cb04635b4bb9a3e4b0ac33e06dfa336d4f908386cfe613ef1f78e3e55ad3e38674410367020003e4246443e6cb85d3749b0ee34a0f81c3dcbc6c33dfd78fe348bb4b7377e188238143f233afa8af4379b3d4036ebfa3c38e12a80384f84ad371ec37135f0b66835e3dd653523d06635f88b343629512c3631813636d44c4236851e9f35e7f79235ddf18c35f5ebb3358997a735853c33350f354035cf04db354a1b743645996c3640057136badaa436ca7ba6370335dd369b691537d439f337c60e31380a0d0338ac6f2538fc5d77383c76db37d62ece373e97d8375a6ee5374df2a23659599836c3fba336d5c9b4369d945c350f9b9b3ec621323f199b583588cc3936f0eb913eeddb363f83cc30369c1eb8351158713e08dd233fb792bc3557098737ded92f3e17f0033f4cc78d3768f1df3633a9ef3dbca2c53e171a283752e60c38ebe6733dc9a4843e4b9807384d6e8c38c8c0ca3993b2063e692f4038010fd03729cf7538a3eab93a2bd4cb37f3d17e3657d6e23795db14386dea8c369423813577808435d9478035d3238535467b0c36bc870f36948f0f36d05a0e36055ed0359977ce35ea85d035ca1ed8350cb1e634e362e6347ca7eb34a064f434197405361f5104360b72f63511dac2362bd96b3699bcaf3569ccb53579094a374a3baa35f5c0b235f10cad356573403702fb11364fd50e36f3dd0a3614f974360639553576405135c6ac5335cf445335786e30375188e43df771633f798a17350929bd37db74ba3da891683f0cc80a36ff85da3567dda23dee07483fb5b9d9351a60f0344c80253de836253f49ccee340570bb3719b6d13c1434f23ee82e98377c541e388f2cf438e65ba23eea50f237f5d49537c290a83803ea1a3e1b390737c68aff35312fbc3876e9063bbf4dcf35ce32553507515135677b883592c94f35c27b9235b74c853548003a350a32733550c02a35933a3035f5052435dcf929356aca9535a15594358f4590354a219335304786352b82853584d18535021e8835638fd435373ccf35733aa6354849c8351a21ae35de95a835f863a63584bba7353e1a9636e7307a352da24c35466360373f2b9a37d38a5d37df027c373f25cf375a7c48361d39f535ad3fa03621cc35370a4199378c77c83816fa7f3f1abba2345f99c4361edd6538d3f07f3fcc662635eae69635134b4a387b69623fbd788e35dca59436a1a57038baef333f91ed88370990c4379e5ea1389fcd043fd2e22838a042ba35b0404638f221ac3ed0b55037996ae7376b2ca938f7c11a3e78520d38079bdb37084f963847f4c43c40aabd37f4272337e80b163887af3f3874f8b33500000000000000000000000000000000957d8f3487ee8f34333c8734bdafa53431cea1357cee943541077635519ba03533144c35f1cf493504fd4235381e48351d3f873594f8183591e01535c0f9c8352f998837e1580e3766a599366f258d377b115b37061aa236d79f7c3646c9a63719b94437882ef636f9c5fa3624d59a370000000000000000000000000000000000000000000000000000803f000000004ad23235e33a8b3664bc7f3fc936ba36d445ae359607eb36c56b603fbe489937c3172c3780d7e93756df303f7e5976382776903624b6b6378e2a013f0f480e38e54caa3747450238444da33ec2fa3838850bba37028748380da9093e6f50983888c3673792a511387e1cb03aacb91138000000000000000000000000000000000000000000000000000000000000000071430236ef7803361a441a36c6242f366d896a35924a7035c6847a3508b880356da83036d3593a36da6a6a36bc888437c39c8f361f0e97364b1af536df52403716857535182c743540ee7535a4f6a03607f23c362aec5b369e455437ab80053836060f3612b40336053bba376d5ef23700000000000000000000000000000000000000000000803f0000000000000000bdd92d36917b753f011c5f380bc38b37010e82353d07513fa7049e38ebde6438735a1e3841de273f1603093ab680b638ac7d8637e58cfc3e6c3df2380df856381c72ec377053a93eb371c438dbd91f38414d60381e9a2f3ebaca113a98de4338682151381801f43c3f659d3858c2f03700000000000000000000000000000000118113352e57b03548674536524a7e364a6b8434168c8f34b3a0b5342d75c734a0945235e41b5735da9c5d35a14d60352ded9834ac159a348ae19a34e08f083571dd9d35872c9e35c3bda135d0d50f369cfb97340a3197347a4c993414c793341bd64035a4713f35144046356bdb7f37cee6d334af7896347baa303789327e37f75d3135da9c28359a4587356511b8353fb85b360baf7c3fd9b9523ceaa4c0375a62c034868b6a3fa511a93cdc38863886a35f3562f7443fedd1a13c605b7c386e9a0135f9fa1b3f7336c33cb6d27b38206a6c36d1e4e73e8018bf3c5af45f38210d54370e7d9b3e4e07163bfca67438977e0a38ebe91c3ef2ffb73a62e05f38accbcb37cb4e273a9f8cfb39b340d63734f27e35ae1cf0365a0cd9379f939b371f8ed93386e3d333f18ed833e82ddc337205143594aa1d356112353548265235c7893b35b61f4235f20383352c3ca5352150fc338651f633fb23f7332f14fa33443faa358bbeac3578ffac353c9eaf35f9855435c69f4c3565a85835027e74353888fe34d4befe348dc10c35b5780337db6c4c365ec4413640f77a372de6e1373bc088345f038934f5a9c234208d0535322cda33f480563f97e2253e4043fb3761c24d3508f7443ffda9343e7ea02c38c938a935db46203f6fc2343e33b7a537d8f6f6336ccefe3eebcf1a3e5520813870c1b035c902be3e727f003e73bd48388eaa8835254e743eed4dbd3d0fa70138c21517371f19033eb470543d46101c380ef91338991ee5383a48783c74ad93385dbdd034cbea9b351d22b63781786037e8de3335b28d3735232352350f888035faf97935f020793534557c3557ec8035bd8056350cef5835c9ca5b357caa5c35dd6fce34b3233a354ced1036852c71368c36e735a4b1e63540feeb3573a0d736e06dbf33d447c03333c1bf3316d2a53657f6503679004d36775b6e36585e8436086a11350d9c0e35ac751b363dafa936c905c7358807be351bfcc935a6f43e3606463e35430a2a3f93deab3e3406d236bf397835a6691a3f2063b63e4598d837a2d958357ab7fa3e1f3ba43e9a158238edba7636e7dfc23e501f8d3e2bbe7237aebffd3648de8d3eeac15d3ebebce23741b69037f0ce303e9a74223e48a19d380d0786366f339e3d228ec33d5cf1a837984d9e36c47e613807c88f3ce5e9b6371248c5350216f4365347d937364a5b37fac2c235b240e9357283243641462e36855b553498015634202858346a5e0235c8794235b0a84435fb1f4435b9ec4335df3a2335397c223589eb2135b5ed203578683235881d3535be21373517602c3719463135c9fa2f35dc6d2b35daf22e374d6156356d0454358a02513548c3d03606193137ab5f183774e84237688e8137e1db4736dcd94236024e42360a92de367c6a13367562fa3e2dc6023fdbc83d37942a56344e35de3e6c35093f00e96d372b1046355771b23ec422f13ede24693741c22635b281853e59e3cc3efa9d7c38941d8e37c7fe4d3e6b04993e892e4e38c184a0370e42e63db30c683ec1b385386f6b0037794e443d97c8073e4be7983782ce6c371d4e75381206f63c57c7ff37fc823536dee8a737a08b3b383868c93792161b3510246035c5f64036c04ba1362ca257341f407e347e2359344e6e90342a0259353b597135808f7e35f754c5355397ca33a05ac6337004c533bae2c533bfd0e93523e2ee357212ea35d96ee13618876f365a017236608e81369f2c9d36f39c6a3507296a35451e6735f37ed8376eabb5350cc3b1354f07a63527734537768cc3355294783556cc013635e23d36f8fdb13665f59f3e5eff2f3fe028a436f7eeae343b1a863e3974383f8bdb8436374c0436ed70463e5c33223f4503b336516ac0355ec8113e90bb063fbcde8a38fc4c2f373fffcc3d630dd03ec4cdd537ff9ca936a7d54c3d0478963ea33f913764f11f38e6aa743cc7c9323e99b79138f7e26c3733d89638e137263daa971138da30fe350ec96237090f2c3886d35237c014fc34118e1835ce9e6d35491e7135e7209e3515129d35d1989c359230b235488cfb347e76fd3434a2fa344386fa3456be133582962435014e263576ed61351b2daa358f44ac35c458ad350e9ead35d386ff33b5b2fe33eeaafc330af41c353dd1ee35655cf135d919f4352846f73560c96837df2f343791468d374205ed3730200c37d581c536880a3537d1268f37a1fa05370bc10b3e590f5d3f1dad56355e1cee35aff5aa3dddb9663f1df80c386493f834d7788b3d4e7d403fb084d33765738335bee2b73c858f253f873ab53783ceaf359301943cbf8ff83eda422a38d1e5643731c1b038aebeb33e42f87438cf97fc3577ae4a3847304a3ed35da43703e10538abea8238305f5d3dfc1631384d3652377d18033811724138ecfde037255ce034f952de349c055c35a99af4351fe00534d2e50634c9db0734d96c0734742a2b350c802b35e7532a359ef32c35931c8134fe39823473dc8334f7288434f27b97355e819b35c4c79a356d769b3599a73035c8113c35648c1e3569a42a35985505361006e535086bd73579dd803799f70d3596a41135a6200c35ccf466370eb7b136d65bb0363f44af36073cf43650fd3837ebbc7c3895f97f3fb45105379603083422748a3766b57f3ffe1d77379e60313554770c388768583f5c965838b2068734a63436380fa2313f369d853877950436cc0b3c38b31a063f4eceb1389ff5523597325f38aedabb3ef85b8a388c20fc370a1d8038719d573eea098138c09f10381d50a838ce56813d4d876a3893f6e836a7a1873754770138f74a633700000000000000000000000000000000667c1a35940d27351e59233553413035fc51ce35a262d53592a4cc35a907e635c40161352fc15e35df455d351b006635e5e4893626738a36b89a8a36b4b7ed364388843661db8436e9ec813673853b378bf1b535fa00a035e6229a3564cdcc36d1c58336fb196836dcd15f36d397ff360000000000000000000000000000000000000000000000000000803f0000000004ca3935a29543353f5c783fd56c6638b2f0ef3593483c37e2e7533f107893380d6d743552574437c94f2b3fb5d67e38cea11d37a36eac37bbb2013f9033b938e6860e3854c099386ee7af3e1a24e338f4bda437986e623810c03b3e309a9538f0ca2d373f188337ce07283d1b51e6370000000000000000000000000000000000000000000000000000000000000000fcbf103611bb26363f5c4436c7be5c360fa8863660888f3653e04037311718387e5fc9334f8ea134234a21352a195635d61c4f3402d8b834af101d35b2c02937f992b236c29e6637042533389e3b86388224ed35b445f1353ea67a3651043637e2db30385a004138ae016a38f42e743800000000000000000000000000000000000000000000803f0000000000000000eaba663680dd6b3fdfd3af39d15a8a3a2d6f593897cf413f06f4493c0d27373ccd898237b3f71f3f99511e3b4c02c43a9a280138a761ff3e42cdac3af535fc393515a138f0d5b13e1008d63a68b2073aa849a63744ce513ebf11683c1be18a39daa29939b50c8a3d944e4b3a30dd7638000000000000000000000000000000003c9a0a3510723d3539639735ed62c2355a4571369e858536afce9636d339a536919698357897af35815cd535d508f135eb511336b2b3263660d74636f32ec2361f309f3602a7a536cd02af36309f3e373772ac36900aaf366a8db5361f31b936e7b01d36d22022368a02a4373ae11e38cbd9b73600035a3702bb083810094138f712d234f0fad234caa1d234a9a9d134d19ccb3541ac6e3f44f1893de382bf389b37a736d096533fa1a39b3d2761533aac12f9355db7313f5fb7a93d9ee0983ab7e2bf376cee0e3fca269e3d7bfe843aaf8b0638fa23db3ec3be803d0f3a2c3a49a2c336dd769b3e26c14b3dc4a06e3a0a4c543854163e3ee5e0c83c7abb8d3a63ce663818e35c3d7ded973ca506a63935a6d034a3b000373a58a437899cce3722ef773625af7a36ed857e36858433373d114c3667414f36ed4e5336899c6c36a099a8313621c3317f954c33da302c37b4ce14364f96173636fd1a3654ef2536e428cd35deb7ce35d8a9d1359ac00c373c611f3527e93b35a0666a35f9b69337fd361436af501536472194368865b037a98c10378e248637ad500538799934388b2d14354bc7133528901335a12a3035042f8837a236473f8bd6623e44e08238d7847136b4b8323f76e2573ec0da0e3a385cbc376fb0123fa257473eca2c8a3a88d47a36fc93ee3ef142293e37751b3a33c09b375fc9b73ec6fd043e1df4783a1d52fa3720ab803e00bac63dfafc623a85d7063874eb1f3e2b48653d41d20e3a0c024b38af91313d13a8a63c8a3e423904e52c353602273606a3af3766dcd13781084035049443358c6b4735c0a50436975c2a3697532c362eac3c36abac5136b56f0636126a0a369a6320363d063736711e8f33abd7f53389ddbe34d8c4c0361d80d53559e5e63569950236c37a4a3734741b3603cc24366d412f3638fe0f375c9bdc368cec5337a9560a384a244c3833369b36bcfb9936a6a27d37d1f5c437ac868d36978a8f3690b49236f6549836f62fd136e3ad233f605cb83eecf42c387fe98236a2de0f3f0d23b43ebfd1013a55c0b336676bee3e74cb9d3e90eb2f3ae9c69e37ef41bf3ed000863e8061853abc3bbf37ee62933e8cee543ef8f88e3abe5b9b370aab4e3ee08d1d3e67bf0e3a12037238c5dcf73d8b70c23d953ca73979a4ed3752d4193d739f0e3db61941381a66933670473e371f7930383496363853fe5d34a2d062349a3a6434f4043c36fa268c36b92795363b10a03678b9aa36c4443835b3bf80351e8eb135c1b3fc35bbe571361dbb7d36e81988366df591368af5c93689f1ca363aabce36d3923737cfb598365bd59b36730da036a01e5937f00b1a3644ff1a3614eb8337743c2338413fcc368791ca36557a4637f88ef037f1f17f3499278034fd637f34d0bfe036d269483776c8fa3eac6b023fb51aed388a5cac36cdd0d93e5b0dfe3ea4e67d388d3c7d379437b33e0a7dd83e38d7183ca2ff5437b8b48f3eb2c5b73e23cfa03a8641b7376bc8633e57c08d3e86a2373a7406bf37f42f183e6674563e106e963a344553381f39b53dba2f043e6bff423917101338cf91b73c15a4643d3c568238cc69bc36f95c19386c12f639417db538bd029336addd9436ad4caa36172d1937847b1d36fd492e366667493609356336f28236348ad9993493e11c350a3d8e37cff8133620be1e3616d52b36257639365a1a0136db2c063685ef113637e460375c739135b4f09c35f81aa9357805d137f3e26a36c4f011375df5c03727751738df64263809773338a60c55382c1d6c38f939603523dc5e35f58e09378de56e37a2238737779eae3ed0a9283f35404938e1c668364037923ed957243f0c186a38dd3ff43767a46e3ef3ce0c3f8880fd39a5903e3713ff3d3e1f4cea3ed04d333acb2bd1373acb123e6895b73e1c63a23a12181c387346c53d236d883ef333773ad60e3d38a162643dfa232d3ebf12183a206b81384e92873ccd538c3df5bff639e7d4763794b6d737a6cce439103a16388439e834fd89f03448c34c361be9d3363bb917366da92a3645b33c36516754361e730f36dc9a1236f9f91336ed7a3536d583de34ec85153577323a354bd84837d509ca359ba9cb35ff81ce351a417837c9723236d4c137365a933a36306580374bcb9037f4eec437640a1938ce645038d908a037d39ab137bfb6fe37f4e12238cd54a537b093b5375ca0ea37f6e80d384d288d37d22d463ebb6f4e3f59700c381bd540374fe31a3e49d4483f40959d39ed9a4a37c27f033e4c5a253f21c9553c5a8bdf371f03c13d1a2d0e3f190c993ae5addb37221e963de01ed93e943e543c5bad023854b13e3d6477a43e9cd8fd390d307738da54dd3c7e16503ea52a773ab6a43b38844e713cce359a3d0feff63995af0c3831dd3138b184a7384ca17238a055c634a010ca35d8565337020ea7374e684f3680096a36cccb843620859c36e17ac6358341de35fd94f735a4e93337ba59a1366026a5360d98a93633deb1364f35bd361839be36c361be362cc6813792018d36a4ee8d3652830f37a9a403381fa63936616b38364c8523370035ca3715f1013836560b38088e2d386dcf5138a9bd3f36f5203a364603343691223336e2d8e4376041313dbfe4743ff6060a38455db53798ba093c5ed16a3faab5bb3ab2f3e1377202de3a907d463fa66d3e3c631eb736e3ee6e385f32213faa46843c7a561638b13ca93839b9fc3eb981723cd4353a38e17390389870b93e10ea8e3a54e9183854be973cf9f74e3e8c5a953a1abc6d381d826c3c40bea73dc72f2b39a992523614e60338a92b2b39ae7298380000000000000000000000000000000018f7b935f2e6f83597ef233641ac5b36f2a02335f5ca5d355bec85352f84a8356a999e363901a4362fc3ad36479b1738d7d05335b60c5b35e554673543abc53653faa5355aacb0351d6eae355aa06436c8491f3807543338332c5a38379784382ca28237450f8937728ece3746a310380000000000000000000000000000000000000000000000000000803f000000009eb86836968b04382b4a6e3f07afff3944d1b535490f0c36459a473f93ee883aad594938d65ba438d810263f2e00c53a68717437c12143383b1dff3e98c8973a77ca55370666fe376cb0b63ec0ee6d3c1a70963831cfad388e5d533ecf614e3c7e144838d17cb23963529c3df11bec3900000000000000000000000000000000000000000000000000000000000000003469b634d61dc2348b0bcb35a54c023627ea93350a449d350086c03569c4c03584b3e5358693b535686b0136f7fa0c3600000000000000000000000000000000e4809635d3369a356cefa0356fca1e37d4d0be351304d535d812cf35167cba351cf19f3409d6053509375435d044a23400000000000000000000000000000000000000000000803f0000000000000000d5169735ba577a3f05530a38cc7a4536750cac358df45e3fa4c2a137b8f0c036365b1536be312f3f15c669373c094a3600000000caabfd3ec7ce2437000000007385ba37c8199e3e2fb21738e6a48d37c6c0aa35390df83d53180d3715d2e035782f10356e7d613c8d8796346943f733000000000000000000000000000000002f6d163655ee1136b7b71936d7361c361e56e2353f25ca35a17bd035d3ba4e360edbf135a327d93515424a36d8107e36472f0636f3170e3698fb113635f70b3604f40a367cae0336fd3d02363a460836617e1f3639c63436f27b5036bac46a36c888a5355a469b3598729635f09c89350b64cf3524d5c535baeeea35381408369879f4353930f135ae120c36d14a1936ca711836987c7c3f870a703c072c17368572d135d74f6e3f5ff7b13c34968636976f1036803d563f9e417739bb6d4e371d051c36c6e8273f9c12b93907bb0a37401e0a36bea4f33e81da10386c671837da444b36bef5963e96b40d3afd2f5c37d169bd35834b023eba5c93390c69d8364df4dd35227a6c3c1512e4378f03d8359686e3354226f435065905365a690f36c5c2913435b80234a7bce6360bac9d373ed2f735235bce35f2f4fd355e9903363421a53658a08d36fc0fa7362fcbb636c9b6583585611035e9586f35a8d96e35a9880f368162003610d110362dfa10369ca2af36bdce9836d7c9c236086cca365f931636596e093618a4113663c10f36dd032b361c83493697af6136e9d847362e2b0c36c8120136b4934536609e8e36789473346a8f633f6d04e53d60ce3537ce22e035ba86573f080e0c3e43f5f935951d943607583a3fe7a3e43d4f8f8e388378713590b60d3fa904e03d79ee8937e6cd18364835cd3e8df3ca3decf20d36c99ba2366a4e703eb09daf3d1e3fcb36db971b361eb7923de874953df5a517365ef449365cc4b63727461a3cc2723e362c9ae93535d7fa3689fb2237a621d6362c79c436dcb5c236bce6ca364eccdf36517c1a36517509368a5d16363b4944362a7f2d3606ad1f36e19e273630a24b3666f4b83623a9a0366388ab3626c8c336c9067435496126353ae92f35532497359a221735b9831435b8ac0a351fde7035934fb036c7dda6361f07a836eafd123766b7c4356139bc35a233d435df13eb359d0db5370ee95f378e638437b131143776ecbd36f81c323f65249c3e8c1aca36d9baf9356ae7273fe984a93e04d84b3661b525360ff80b3f185e973e7a646f36e09cad36e46cd63e8154843e73d6c736b87518353bdb913e425f533e548285356dfc3035d7e72a3e7443193e7bbc8a35a7eba236a408553dc93ab53d6edc1038726fc035e0c525383a5deb3af27eda3500000000398032381e4487384bc28837ae717136a9415f364bd462363e8062360fdeff35a083f5357de3f63563ae5d36f7b3b33539c3b13577fbb3358cceb53560763436fc663836e4273436933a2a3685f31f3608592436a09b2636ff5b663645eb3c3611d63b3630dd3836c44f2a3646e7dd359c5edf354315da356c72bb3592a45136483d4a36be645c36a63c78366996653649835536c4d05a36b3b15e3604a06736c27ffe3e9818013f77da58362c0fb8358dbfed3e5a77063f5c92e135787d84351c66c43e8941f63e18a2b935465a3736458a8c3e2891d03ea1e53636bbd03636352e493ee6d19b3e481f4c36aea71a36e278d93dd8ab5b3e251c39363150e035cf94183d76ddcc3d85cecd35f67e48366cea8a368dae393c316e59360bdd4136062049367a5f5136af096236000000003b49f7378fdbb237beb9123782b0be35af1694357fefaa3521dfba35973db636c022a33650cca136ecdbab3696c322359e3abd342f712a3538a62c35e43c96357189443531c75c350a4f7f35aff0cb367004bc360a22c9365685d736d22b6a36f2dc52369e1d5f36c19e5b361e36473642884f36cc096236646e57360caaba367157b636c163b836ade1c5364d283137ff599a3e7f09333f0000000003c88e35062d8e3edba3383f3140a2354c70a0368a11503e06a4283f58afa736dc1022352ef20d3e69ec0b3f124e2a35933b6735638abf3d37d0d43eb3ad53350e5ab936abc7443d30e68d3e4812d4362c763b36b0cb103d8581fd3d8df852366f905236b41de13740355f3c2d4154363953a6364606ed363d66b636dcfec936c93c7e361979ba3659d57a364dfa6c3636041e3691440b36b9fd07363fd83136d45fee35aef4fc35e03bf23513b21a36b6ddba367251a83683a792363ec6b33674310436d311fd3586aef735e95e18363c865235f3795b35d7454b352a25973548bbb636fe81ad367c01a236aa51fa37c9390436fdf108362fa70d361da61a36039a3637c2e72837ff790837e1982f368e87d5366c19db3d5de3643f7bdb0336d92801369a74b73d10ac663f73c41536a5060536831ce23cbe4f543f7dbe083668deb036683c523bbfbb2d3f7027ac36c09feb35726c233ba447ff3ee64f0836ffe48c35d25e853c9a34a53ec9489a359a0e373877f3d33cbdc40b3e3a345b38df48fe350b40333aba22b03cc0840b36e4a4d3347bd64c38b4f01a380ea4c4343887123651330336e9ebf635783e0536fe6cb535cde8a635f82ca035578ec135d2c380356072aa3506746535ae0f7535ba902b36bb271d36d8e6dd35bbaa26368b6303364b0c00362e9bfb35c29613363e493536871b2e36ad051f369b781436c3d86f36c0d560364fd34f36eef1833616173a36e90968362dd34636cde26b3607ae1e3683481136edad10367d271b3639cd1436d231463a1506803f8ef8e6352cb3ba35bc25973754667c3f84d5bd35d91c9335cb8db337b8bf5f3f32daa03581854736e858d6372ec5343fcae82f3686500436255da4375c77063f041b2036f6f412369734c5372604b13ec8f0df36b3249136e3fc04386d26283e41012a373f9e43365d3614389879423d94a15f366c850136915b0436dea9bb36878f15360000000000000000000000000000000000000000000000000000000000000000ba0af13505dfcd354a83c235987faf35484dbd35338343354ca331359071243500000000000000000000000000000000448f5336a003313622f13e366ae053368b3817365931f9353614eb357d43d235e5674a3613e77b365ebb653640a778360000000000000000000000000000000000000000000000000000803f00000000000000000000000083e77c3f000000008112a6356879ca352e61613f3a40c63580b19234d6f85537e76c313ff672e1370000000000000000ad8d013f4e2d093715c22e36d383a136417aa23e6f535b37c002ab3589884b370a9b053e3914893707594136c8d5ee3750c6be3c909df6370000000000000000000000000000000000000000000000000000000000000000bb041e36922b1a3610cb3836cea8433671f10d35fa66fd34e81bff34a01404357b15e534dbe8d7346dc41235e95c0f3559294d350eb137351be03b355d0a3f35171619355a79213515920a35fa695837df0bbf34a0e8ba3487eac034d21f80366945d6343eaf9434fef55d3442ec1e3700000000000000000000000000000000000000000000803f00000000000000006607553656256f3f2e99553cbbfc9338ee958837ef22503f30b6f63adcd3cd38c660db3464d8243f68e08b3cd0e2d038fcf86c35a9aff43e180cac3cfe102a38c3c24c38b6739e3e9db6e03c6bb2a4384c179237ed4e193ea9370d3d9d277937bfa51b381e95133da5f11b3c9ff32e3800000000000000000000000000000000c33a4a36fd055136ce0487368d1ba436fd0cc635a5d2fb358dd42b3636162f368ee9ff35bf540736719a0b3697780e36d31dc63530b1be35c4a5c33541902736232ea635107ecd356cb77436d3f79d360990e8350d2cfc350826f3358f551936709a7636cd9d763642fca736d55f0937c92a0336e6d91136eee13436e27a2136b7463336125b4636464f403664174336e578963678e1763f8155143dc5c045373b033c3693a05c3fb1db7c3d07db25382f9e1436b526413fc0ea323d8cac3d3880685b36a64f153f4cad493d75c7263870e9ca36c435d63eb7e96f3db9b2c23728a5853629d2863ef9bd733d8bcda2370624e5378dacde3d0a19863d55e248387163d6374663f038e41ce43c0911863883af3736c2f8e736b080ee37f7f6ed37ffda2936c2232a364a966a369d857636c761f9358d6f0636833b0a36ece82736f215603659b27936c1c9bb36f3a1fd3620345636c5234a368331543603c5503609ad2436fd8c2e36bc643b3679f06336d61305375725073760cc0c37e83f11371b984936a4413d36fac240366e1a44366009583658ce793613828f365c0787363f3f1236f6e70f365de015361fdb41369a725c365b345d3f076c0b3e0edb6a38dafc25365649423f917c293eb4ef8c3827cc0637299c1e3fd591443e02eed338d80c4c3640d9e43ed12f423e92a40b38b7d48436850f9f3e456e2e3ecb2c4c3833381c3761e52e3e825b173e55f928396533c136ad665a3d9617dc3d88a726386e84933602748038713ec83c11b691384376e43564cde8366517f43713560138bf37863663d19536b18a9e36af14ff36c7759c36ce0ca0361f86b736604ad336cd0cb335a37bba351ad2db353320c7353b9b8f36068094363a2daf36f871da369bb9b236103db43624ced236d3b3f13682b52336c812203676152b366f4b18368c8ff93689effa3671e9fa36ec4b0737275fa5368586a53603adb536f232b036777f6e36383a603691ef4f36369153362e9ddb366c312d3f87f7a53e98f03c387ef6d036d645133fd868bd3e10b7eb374594dc351bc7e43e762ebc3e47840b38ce1dfe3632069f3e40d5af3e68e761380a460b3785344b3ee6e5983eb9d90738190a2236229cc93dcfcb723e19725f372e031437e3a1ad3ca5a31a3eb4f19e38cd33af36c986a637de6ebd3c2a26b23715d9513624c67836c88b7637643e21375e97a4363c30c0361c1dfc3634c5f23668b5fd341bdc37352f518535646888351e591536ef1f2e3680c163362c1d9b3656d3b73643c4bd3612d7e2367d400037d52c8036028a8e36ae709d36f4eda33649cc00378cc803375f2a04372fac0b378035d3360886d836452bfc36b09cf93607523936a84f633678cd8536df248c36754203375f15023799d2ff36d93bf636b31cfb36451bfb3e737f023fad0b113716c5b135a222ca3efcaa103f6502f2376d64c036b8d7923e05540a3f5ebbe137a96e1237bf73363e824ef93e9b169237375c35375180043e20d4bd3ee7837e38604820376129073dcad49a3ec87adb379dd33137bfae7f3c4fdd213eb93822386ee752370ebb8c38cbe8253df0678c382a4ee3365b600637ad7e9137029c5037e7c9ca35689a1836ac0f65365cf67236529bad354cb9b935f4d7b035e7860b36fceb8036c76b9d36e7919236319bb036944f173657061e360ad92936c8452436795fad36c119bd367a26be363f65d6363889e23682faef361a80e7361e9deb3628f7e235a36be935c9f30e3621bfba36419a00371df6083723cf2237f57534370deab936b8abc1365d23b23687df093781eb083714c39b3e3452323fd2b049368dc05c36c3d45d3eeebc423f79059b36cb74d6362062e03dc01f383fc4557a37baf11b369f29483df7f31d3f58860437043408379cb5ef3bd05afe3e85ad07385a860537d4575f3957afb13e388496386f1c2f3729a7853bdf7a3a3e1ab4363818ce5b373fb542389a0e623d8b0a3438132f1337afaf43386b8c8d38257f4438ab54973625292a379fae49374cd83f37b75344362276473607d74a36052b6c36d2d23a36d1a2383661013a36a99b2f36a4bada367775d536da66ca361d72fa36a62d4036e6e03736ca74413626036c36342f533669d85636bc904b362adb37367d2f1637a5fb19372afe1c376ac83737d6d35b3635805f3669fb613636565e36155d9236ad7e8c36cf318b3696969f3638d331389bcbeb3ddca6623fc3d9013721749436d7eed63c642d733f66af7c374ef33d361277433891fa563f6cb2b6375df61437de0a0939dea92e3ffff9fd388f5d8c3632c70f38603e053fdf342b38cb834e36d7d20538a687ba3e177d1f3859d89a3713daaa39ff54413e22231d390a141d3710347038d1fb9b3dcf32683862c92e371a503a38b2a7993876fe063876e431365fab4536144547364b1b10379b2c763598b27b353cfa8735d5267335460608361e1b03367439fe357cd00536766ef8350376fe35d729fa353a78ff358399ec353f0dfc35904e1536fc325c363135df35fd7bc435859aab35a383ed35821f1b36971e2036850d1f36cbcc1736cdf96636bfef6c3686c374360cc8693630c1db36af7cdb3632f5d736df71d136a9a4fd3779a7c839b701803fb6eba33727f16335f7563b382aee783ff3c5363870611436312d79376b96533facb47738151506363e5b7636f6882d3f2acc0538f01e9b368259e136e027063f5c6f133886b9323693d55637c79cbc3e53aa56384da82536b373be37e7484f3efc25553821488a36ad1b9237ed489d3d65cc253876e9d136d1b1ee36a1374a37efdbf3360000000000000000000000000000000061710a344b115434e8418934048e843459e7ce348196ab34ca5db734b647bd344ebd1535e8af2235afa03835796a4435618f1635348d19356e131b358329283523b81a35f1ed0235d0980135f7c90e35cee3ce34004bce34765dd334635d7737891d64361fb67636a20a81364b1b77360000000000000000000000000000000000000000000000000000803f0000000006858d347242b6343b73743f65fea538490aea341ebeb8347106513f8d632338e2863d352ca9023884a8293f3fe2903af3f0413541248435e934003f9f09c13abe782e350ebe1535604cad3efa2ef33afa482d38ce36a1387c1b2b3e3ebd953cee5fe33757fa5f38f000593df5ebfd3800000000000000000000000000000000000000000000000000000000000000007d3d1e345efe1b346a982034fde1eb363562bc33ca51c933ee09cf33541d2e35ed11b435eeb4d635b0d9f7359e9eff35a5fa8934702785340471833477cf2f37e6370136286f1236c5552736957a12379fb5a2352ef1c336cd98cd378d4b4838b3573535c986303569f6ca376f57483800000000000000000000000000000000000000000000803f0000000000000000030d103810c8603f761edc3c4eeed83c3fd98c37f2123c3f7b79e13cc626f33c14dd0936c2c91a3f9f32043d0ac46f3cc89938389c72ea3e1422283d2b82463c2b13b63765989b3e08c87a3d4c304c3a58528a384491363eb6924f3da8d8b539b1269d380d94653d3da51d3dc60fe03800000000000000000000000000000000bcc4473632fc60365ed778367e638536dc039634aaf19a3471e3a13456eeae343fb32f33bee4323367bd3533cdf6643398bd22360fe13236f0c47c36b4db9f36c687d134a3a5d034ca3ccc34d943cf34cd419d35a3b7b5355cbfff35460032368698d1356cdddd35dd10e935f0b5e53569c81535411b11351ef90635799bab377441293559f12b35b7892f35acd03035c5b29b363ed9723fb9d4503dd0f6e939d722b034dc5b503f96fc413daec0353d0abda83398a9263fef03bd3d8771163d7bc97837d5e1f93e7975f63dd486f13c7355d6347f73bc3e5c50e93dc68a8f3c717c4c3656297e3eea17d53d6b92023ba472f2355a09103e5fa08c3dd0c47d3a26a22b38e7921e3c0aef423d5d5a38390fad2935fb9c343592ca3c3554ad433761a9d634ed295d355ae8c835a9034c360b6f9a345e92a134c033ae3405b9be34c0ee0d350b821a352cf91c35d78924352add4c36cc8e6a3663be96361fb9ba365f0a1235649214354c400d35082a0b35da19a73531f9d43524ed0536471721367551463676595336be806d364a5283366c48743591376d35f52647357e4e383500d30935f23e1f3546471b35d32a1535b8f3bd36569a4e3f2efa443e61aed839e6f3b9347f3e2b3fd7d35f3e4343063ddb9d2d3551ff063fc2d1683eb358f43c484540376679c43eda74633ecf5ef93ca109e837fdcf8a3ea7bf433e045cc03c57250938e9a31f3e9b17173e5b92dc3c9ec51737e226973dd6cdd93d859fb23c75f74b3513b4bf373c59323d9947a03a06631f35e3f429354d2b8b36021c08381536a433095ea5335105a7339899a7338646f33479c9f2340a67f534d2050a3574349a352b1db435a7c20636277f3836c5c3cd3441d3e23424a45235e450a23578d81f350a062235cf812035fe8328353855553674ef6a360e10783610f38d362bcdb535c980b93530c2b4351df79b37d1875635be915835b1414835150456365ede2e35bcc5303590f12e35cb4a29358cceac33695c243ff073b73e513c1138562e0c35a5f5023f2130c73e6f439f3c20c76a36a3c8c23e9a9dc03e2d89ea3cf527c4350d84833e93f8b73ed7bbf53c24802c354fd2333e1b6e903e9b513d3db2bba5371d97ba3d99e5663e5520043d4fa93138ea19f93c62b3193e7502b53c4ef198378d388638f8225e3d35f90f3a19762f35da386535aa3c5b372119cb37ab735735b4205b35f0e45e35f9fc73358c9da4348269a634357dab34bb3bb834f01ff432ef6b5a3348faf533fa618334db86a5354177bb353228d2355a0f07361dcfd234a7bfd134aaf5cb347d0bcd342adfc1354f7ad235e55be535483c12367e145e35b1e364358fc0613594faaf3740e90135361a0035972b4a3691c7d03787497f3595f37e3566187d35ad977835ed5d4c37d0b1f43e1cb1053feb104e385e08de358325b63ed3b6133fb64aa5393baf5836f2af7f3e700c053faa3dab3c3e442436d09d223ef855ea3eed9a023d622f653685e1003e97ffb13e3515db3c7d92de373041193dd8aa903e79a6043dbf0b2338a9883f3c129b353e9009ae3cfb591f38a824a53830bc883d24cfc73984e97635625d79358ef60e380b3e3038ba503535e4743a3550c727374f1da537ffebac349d1bb2346204c6343326d534add17c35d2a78b35ddbd8c3585dc903574e20a360c921d36e4463f36f6817036c9a13b357feb3f35a43a3935bc0a383595a4953543f0a8356202bc35f790d435969a5d367b4a7236bbef7f36e4467c373d7f6f35944c6b35859b4835f493ae377044de33b42fda33b2c2cd33e903c633f34e0638443ca23e5af72e3f22cbd337fab8dc34d456483e60f43f3fd8e0b0382388a236fb43d43d6a7b2d3f4c56883cd0348537df43473d78af123f4597f53c1a5a7437c13d783cefb3e43e382e103d7379f435605f8838b72ba73e0b9ee63c44cdee37cf289e38ccaa413eb875d43c19510838f59aa9384b1c913d47401b3c906ad033c3ffce332515e037bb30df37a3845935887c7f368c7af937753029380608f634208fed34dfc4eb34d956083546c1f635c4ac1536c6562a36d1964d369fdf11351b6237356a278f3541fee035750ee63468b0e6342460e3347964f434d0afa036cd2ea9361115b136c77dbe36b37b7835d03080355d3372352bc46535c74fa235a21cb2352e14bb350e9ca035bf39a136e241a136ab78d836c59d6237680887381f54203e34ec573f24eaf5370b2d0a35766ef73ce5bf6c3fb94e193a6a176a3634cf0138aea9473ff303983c67e10936ae6e5338f19c243f73afdc3c743cef354a889c38e629f93ed58ae93ca916cd3649d21838435eab3eecb1ef3c36976f3583446038adaa443eb65fc63cdff826372a097238f972a03d7cddee3a64e88a37e5212538a18681382fdb82385c784f35c97d4a35e787563528ec59367d75bb34389ebf344c38c2345e0ace34daffba34830e1335aeef4e354f65893522a76b35f1b193355307b4350ac7fa35408cdc34f413dc341c59d5346e6ad534b4c12a3659b83c36ddcc6236eca888366b9c3335701440359e70443567934035f1fb043557a102359234f7349f86e83443ea9d367e659f360e5a3637d85794373c5bf437aa19583c72b27c3f5b239f37ce40d334bd0d0738dcee703f8528bf3a9b3d8e35ce8fac351648493fafb6913be70a1f36607e6c3787741f3fedeec13c9cfadd3499838e37b4cbf23e98a0de3c587e9236070643386e85a73eeb85113d38276735efc8c137aa66423e257cfd3c5d9ef33431a51a376f859f3d59f98a3c5e25c937290c7438e86bb7384b57ad380000000000000000000000000000000025d2d63486dee0342deae234c11eee3425cbf3345e130035817407355d821f35ebaa2335c3cd4a35b2d7773581a5cc35e11dae34d852ae34479aa5346b10a2343814d7354efddc35201ae935dce0f93562d95135ba65783590c59e35cd74c5365e432e3642ce6137a5d20a38bbae56380000000000000000000000000000000000000000000000000000803f000000006dd8ea34300b9f37ebec633f642e7e3c7215283567a50f383717413fa0c7883c5addfa35d6d54a37966c1d3f0a34a03c4b57ac34c6892f389249ed3ed86cd63c06370236148008360fd1a63e31b7c13c6964b9375c1866385ac1343e32e1013d8e0e8938f5f8c2381ac1563dc31d863c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013596e3440068433000000001808223448d16533f7086833288f6c336922923347a92e340b0e213458e00934b2b142347cce9f341c2d8f340cdf3f34ba960e34a660463340274b33e6a5473301706c3301fabf347609cf34b808df34ef81db3400000000000000000000000000000000000000000000803f000000000000000000000000ceff763f0000000000000000e9ea7834b5435b3ff368d438be98b634e1f51a35a983313f64c8a437615f85339b9359347699fd3e7da7d539cbf56939b735ab347d4fa03ec4151e3acb6f3a3409ea7a33c832143eb4b9a739c2735433428cc6341c6d1e3ddb18b9377303a93400000000000000000000000000000000bce316338aef0e33fd190c33a302e333cd2774341033333414bcf6331c4a7734a0ebdb32b8bee0325551143341e844339db925341e211f34a9cd4034f522433467eb20358fa1183563b5253545412135f9e20234e8e54134532ac4329e067d32a15800342f03fb333adc223437e71034e81fec34c881f13468720735133ec734bd7d4e3584733b35f40c92348e6ca634c2830a33d6e67b3fddd4c43c80d10e33f94528345998653fa4e7423d5efd4e37b35e243358f34e3fb1eab13b50e93639f66f8a348022233f6af8963cb7e58838735952363d52ec3e2185903ccb45e0378a23ce33534a933e025bc63c163652342f391b34207cf23dc8de1b3d55e2eb3330f1da345746213c4a93f13bce08c13424af8734a65b843404700535b3596835ca7ce5314628d9310105b8315ef101325d69463497234a3479db40348c91673453104f33115d563386f85333695970330000000000000000000000000000000053a92c33bfbe813304ca0833d712493378446933934e713390fa5833dc986433000000000000000000000000000000009ed34434cad529348e101434a204f9330ae885337d098433a98f7033ffb973333bfbbd312bc0643fd6dbeb3da13a2d34628d47347d1c543f9028183e5d26c1349b825c335644333fbb51fb3d2fda1839000000002886063f9f1f0e3e000000009a17fd32eee7b93effb3053e0d04db338a455a331c50433e20c0033e00fcbb3300000000f4045a3d59d6da3d00000000aa47ad332a576438357bed3bb893873384fe4733ef85493392c661333fa38233ba34523312992d333a742833b3e65a33eebd07340000000000000000a4772e3200000000000000000000000000000000438152335e9755338b3554336ae87b33433e3534e1611434c82ccb33b8001634000000000000000000000000000000003b995533e92155337fa15b33de8571330a62a23404d5873470481b357e51253569376c328508833235fb8f3280907d32767d4a339e69393f346c913e9a8f473300000000a655253f0b33ac3e48206e3300000000f6dc073f4c6e9f3e000000006f7087337d0fc33eb0d8953e09de64337557043451656c3ea796893e1f32f533000000008c3cef3d68b6583e00000000df4280337c790f3d3edbfd3df36f5d3327b82235200df93748fffd3ba3d046355e9d3432234b4d32c10a3d32dbd61f329fe7a734ad2d81346b134b3421da1b35139eaf3418ef8c3404914d344781ee34f3f0cc3398dcd433aedb0434a35d2d340542c5331c7fc233df75d133fd3ce5330ad7103525940c357cf80c35f37b2235e56dad337982f73386949b33657ec53320cc1334d2c80734d37a30344fbe14342b4e083583c5203540912535992dff3452a33a3597ca4e35032cd534a822e434378b1d35c118063f8334fa3e33568e340f64b4345292ef3eb074083fa19b0635341d1034bf75b33e1b97003f392a1734772e5534df036e3e287aeb3e08c9ca33ffab15359ca90f3ebcf0bc3e32def535a1559a33d9296d3d5520883ee7aa2034f8d4133482e6133d0772023eeef71734ff8ef5344a1cb7393929fd3b8ae9ec3472098334c833b534ab5aab35e94a6435c07b32326cd1273250540d3289284b3200d74c3420514c3434453c34bac76e34f7c92f33d9063733e3ce333378d84e33000000000000000000000000000000000bf0ff33a32a0c3471cddb33b8fe1a34fce93e3314214633b1683a33f4de4d33000000000000000000000000000000005dd71734b8ec1834f808233404b1ff3398116133b500573391f9583393625733ab861032d9f1a33ee207313fc0595032b1404134f8fd913e18bf373f48be9134ebad3933da292d3e980a303fa6cd8e33000000002012b73d42ef183f000000006191e833b67d4a3d0798f03e0d43503405d63b3389881e3d440b9a3e2477063500000000a86d163d9a880d3e00000000f871a1336167303ba771da3c4c718a3378b72d33f4c32e333eb64e37ad4b5b33c4157b3394ae6d334e623e333f248433fe0935340000000000000000000000000000000000000000000000000000000049927c335a1e8333ccf56e33c5d4983352fda833bbdfa43200000000c4a491320000000000000000000000000000000016037c33907e7e33b2537f33b8e99033b2467834c9828134f6f4863416958d348bb61432d6412732e4893932c35823323de68833991a0c3eebd95e3f156b733300000000d9f6e93d039a633f2eb42433000000005b99823ca748563f000000006f88a6333b5b943bc1c8303fd25b8a3355412532a97b5e3bb6c0043f71199d3200000000bbe2a43ce6b0a93e00000000627d9a3340b2323d73a0163e16ad85332fac8834cd687a3b6e64f23cc0866f34080ff3316ccc033277335234bb8b613452e11735437bdd34cb8f5f34f0edee3491867a34858a5634e6509c33132db8342515a933dab082339e985a338169e433fc22c032c2deb833a3328c32a9fd1633c3be0035c57b0135bb39eb3411d12b35c30f0d34b52508341e14093414ff343496f42633bb481933a33e48332e692a333deea23481bfb73452d2d134bc3fba3440607734347093343fb44a338e5bd23385fd4a359829f83cc2ca7a3fcb8b8d3403348034bce69c39e1197d3f86b6e534f785a533632b96394d4f5b3ffbdf17347a0f0c3407f30737ed9a333ff270e232e3c4713607db11385809093fbaa79f37cc931434e4d8de3950d6b63eb45daf346b122833b854a53c4105383eed714938ff21a634e49ffb3878f8803db4529134d4091033eb381433728c3f342067c234000000000000000000000000000000000a809e34cfcd9834ac87853411b1ae34ab1c2e333b78323301272333627c36338a1a8e328bc2843275822a328c14b13290071a347ca1263475b214341b2a243461fb5f33d4466a3344aa55333b3e6633e62ba33425b50635032ee83466d29a34000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f00000000d1a3903489d6a234507b783f79ace234303e2e33ce44313388d95d3f63d295387a74bc3336c7ab34a7a9323f0439103926ef19343af81334581d043f38ab133a56225a3336ba3d3551c1a13ee188a0399f74ca34f4d3a839de341c3eb42768390000000000000000f4b9343d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e145fd35d0e0ff3568261d36878637360cad6035395a933506c9cf35850b163600000000000000000000000000000000949717363f3f1c3670042936fdd73036b3ae1d363e663036bf343f36669c5036d8cb153596063635e88d8535cc02a93500000000000000000000000000000000000000000000803f000000000000000000000000818d673fc9f00c3d57bb033a7a3a3e36b07c433fc08b0d3da5b12b3a5a1e08366efc1a3f69c2063d710af4390000000036b4d63e30f8983def994639e80a343671f0813ee718c73d93db9b3970a437368840f73d6149943dcc730d38e4f679354ef0e63cb02cef3cb1c5d93800000000000000000000000000000000645883316b0fcb30fdf2bd33681744330000000000000000817c1932ffd6c0320b17923354e10f349d571c34015133353f15c034ee9ebb3458b5e834fe7e1535a91158320000000047eaa52f9910e432d6d60035ddcd2035d4494635dfce9635220da4342153a0342511a9342749cf340000000000000000000000000000000000000000000000000000000000000000305a4d328a5b713f14fc7e3d4856913746c46633f72c4f3f7a08e33dd0081a38b0cc07351ac8303f7cfcbe3dda45f039ee750935671af63e60fe243e9a64b7393a364f33b58ca23eeed2393e62d65f384acb8b35b491323ec36d2d3e1c000038b6f3b93469a7b53d1e46db3d79b4493800000000f8825a3913db363d60368f3700000000000000000000000000000000dc539234dd18f2341d80663522bfc33599d8f63335245f3443380d356ecfb335f352b035f3d1c235c10b013658ff1b364eaf8035e6e1b63592d62036210a5f3600000000000000000000000000000000e490c534a14e1c3510738935487c8e3518d0793554a57e35273ec935abe80f360000000000000000145fd73100000000000000000000000000000000000000006c17863575855f3f2546063ee88d8736c6568e3523d7353f62b6553e8a20b137c455313692300a3f9fe7893ef054963786585636d62bb13e2a639b3e18b28437000000002e95553e7b54943ecac563378af6b535e7dc9c3d7579843e17a1a8377f1e0536144fb83c3a5d153e6080783600000000864b1136e563da3c94cbd536000000000000000000000000000000000000000000000000161fb133a33d67340000000000000000000000001d00db33677d0d36f21c0a36ce6f2736c2df3636c3978935d25894359705ea35f5ca013600000000000000000000000000000000b54c51361ca7523607a16c36da7a76364a845f36797b57361447723666c770360000000086c2ee32ed6d4634e7bc1035513c9a3347e993330000000000000000b5e4aa3312a2313fa5489f3e0dcb17342a7a2733a6a5063fc8fcd53e20329f37ebb36536f628b23e1b74ef3eb4c797361b4a06368041493e8243ec3e8e70b63700000000e9d0963db6f6da3e9b7e9a3767ea8136b5f2b23a9d7fa83edf2c06384b2565360fcaf1384fe03d3eefe648380c268b330cda3a3783f8523c648f8a370000000000000000000000008c6c7f346e38b7327b1c9932d9805634180d19330000000000000000000000000000000000000000000000000000000026f08b323437ac348b608034a3407c341d8a8734000000000000000000000000000000000a411a3495d6fd33caf5e43391e8143416732534a70f943328e2c732182e89330000000000000000000000000000000031fd56343b329d33ea20b733bf9ec033341588328b77ff3e30f6013f0000000000000000686db13ea3461e3fb98d59369bca5c3302c93a3e150e263f357824364bcc2734c4082d3d811f1e3fbae8fb37000000001b26a239222d013f937ab4381d4904345c758f3858efb13e3a9e2f3800000000f68962373036343ef45f243800000000071e5637d40b273da43da13789e79a3150eb9b339749a532bcad78330000000000000000a9ae8d3461ad11350000000000000000b8bf0434ce843535169b4136c1434436eb715c36ca1b6e368026c935ab0c02365f273c366d316e36000000000000000000000000000000002c3ad43598fec635fb4def35a5c8f9353236e235f4dbe1355aef12367a131d36000000000000000000000000000000006f00b634d5242c3476ba56348e588c322701dc35824f993edae8343f00000000ccbca9345ea22d3eeba4523f17210635fc4d83364828d03a5fb9513f813aa937e2b76f368b3cdf37be5a2d3f689bf23700000000943b73379bdf013f06d9953829870136d31fac37215cb33e2ba2323818a90d3674a13936a28a463e9c69823700000000518a773729c17f3dbb64d03700000000b392d93316441137b48df1330000000000000000000000000000000000000000000000000000000049df1e339985e735cc1fe43509eaff35681b0236cb7790341ff78934b66f1c35c3c450350000000000000000000000000000000029323036bbd42936531d303611bf3836274f153645c10a366ce9193642161e36b5a71c35d949453571aa5a35d6f59b359e738335b0e35635b01f723504c97e35000000009c0ce33dd3e6643f0000000074690a3336604a3c213e773f00000000349b38365106a8363fac563f9c947836666d8c3575f5c33579572c3ff55d003800000000000000006b94023f40c2f638aa0d3036f4206336ac8db83e67a9c938d71b1b36be98333660ed4a3ece6c2d385f144a35d776f336154bb13d46f50038c0d24935b92093356c5242362676b8350000000000000000000000000000000000000000000000000000000000000000429a39341eff6634e8816334f8e196341ec7d7347be9b03411bbd13492bbe034000000000000000000000000000000007918c7349b70d334e885c33470d4e134d9445034a6ae0c34c0841d3487163f340000000000000000000000000000000036ec7634a8c9d133d925eb336691d632000000002f663c3bde3a803f00000000000000002e865236358c753f75dcb1373a46a034d94fb73421f24f3f878aab398118ba34c3a816355ff8293f0972f3390000000000000000f02e023fe9f8d13a26cddb34779f9537a611b63e4b7c343c03c1fd337d192b3759a6553e7810713c00000000edef50370832ae3da46c083800000000b84b4c32fb1c8937dc541e3700000000000000000000000000000000556dbf3468abac34b4020335dfef5835e3e20a36399cfe35f4190936869829367388cc35834acf35983bff35c9921d36000000000000000000000000000000007099e135d765c9351424db35f793f63593ca123608140f364a5c203670af3236000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000009c214435b8b16135a4f0723faa29073a893a2336d1db3836cce74f3fd5a3b43a2ff90836080b20365836273faf04ba3b0000000000000000564cf03ef38f4c3ded81da356084f93587c49b3e1979843dbd432136ba7d2d366dc82a3e5e162f3d0000000000000000a4c7863da351853a0000000000000000000000000000000000000000000000000000000000000000dd337434bb836c34e0c47a3482cea034356739353dfa7735c4bab235c1baf435fb497035d635603510a04b355b8c3e355a01fd34ff56d034eededc34ef640835ca6bb5340862fc34ccb473355626fd376a061135d754e1346c3011353b5b943795df3e35ef490035578ce3346b8b8a3700000000000000000000000000000000000000000000803f0000000000000000bd1ef2344597593f2f326b3db909413d7ebd75371210303f377c8e3d6d10893de0c11637bc33e13e06d2443ea47b323de2b1df347384903ef7b6663e6068773c8bd68b38eb0f273ebfad503e5402493c3606f537c83add3d524a0b3e35a7293c682226380cf38c3c550e963dad1a853a0000000000000000000000000000000034642433fb4e143337562333dd011f332d870433f522003373f209332dd90f33ce1da235a983b43524c3d5353c8eee35997e2635c098443549965a357d7d88352fc891335df18233ce3771331a638133b3633b35462f483566047b355252833582bf9335a3c19735916ba4353b680337b6acb23378849e335938803331fc8d330000000000000000000000000000000063721f3328cb6e3fec40903dcfef1239dd230833a184453f88e0be3d4f6d913d26920a36a2d70b3f3cac513edac18b3d4b248a35b4599c3e1fc6a33edbd9243dd5057533ee142e3ecdeea63ef44a623c9ef6a135d64f963d3666943e3bd38b3ce4d5c137af728a3d4e12163e3a13673c2772aa36f4b0a1387c49583d911a333c0000000000000000000000000000000091fc9a3363088433bfa4a2338f7c0835c9940e331ce81733542b4c33b2496233e3572c35123a3435df034935f732603571b85c33381081336ec88233bc438f334e170833d4141533b1d241338ba55a33e0f6f834d5d5f9346e9f043565490e355736e034c567cc34f4f3bf34757aa434bb1f8733261694333a00c333b648db3300000000000000000000000000000000c3682435d0b7593ff2f9073efc68a53ca2147533544c223f4d0e743e79b27b3db27b7535e1e2cb3e02d5c13e4d24503def6ba133838a403e6e23e43e3e09ea3c54086e337789bb3dacbbc43e8efe143d705e1b35595baf3c1ef39b3ed6de343dcc6ada3625b7df3c8be5133e308b103dcdf8f033a8a5c737439b873b0b8c723c9289142f0000000012f64834c991b53500000000000000000000000000000000000000000000000000000000000000003bef32359a974235f0f53a35dde50236beb86b35e9a3633581b84c353e4e5135c37e5f333020493340b183330c97ac3344f77f34615f4a3470a4743467f991349419743554346035724c423545f0383535608b32c3647432cc9a3d32e0395132000000000000000000000000000000000000000007ab293f1e0dae3e2efb3138749fd735cf1ce33e6da0f33eb96d023d338a1c36c0d8613e322a143f330cf13c3f3f73368ebc823d601b133f5642873c2cb3a73302d78f38a5adec3eb58b6f3df36ca8348c593a38e038933e6ea6a43db95e303521451c388d67033e5c54913d4d9e5f32617ed3374e6fc63868f8513caf0b10328941e931c3c15e35f48aee35e4c39c322d808732c4f29432adcc8a3200000000000000000000000000000000e2758d35b8239c3574b0ae359acdbe3502b22035c3453f357c7b4935558b6735563e1532596d1132b32a07321eda0a32bcb083359ac1933536b3ae35e4e2ac35d43ca03540d4a4350049aa3504baa53500000000000000000000000000000000810d36321505873283c395322b58a73299c585375a5ef53e3923063f21bd1e3800000000c6b4853e42a7353fca14da38c1fa9236b9027a3ded373d3f2d12c63cae477a350af592381fe91f3fd08bf63c2b040c322c567a39044acc3e2f78d53dd44fdb3563e3f5370052683e9db2fe3d99c3913501da1e38e7bac53d8008ad3d0000000067503838a98e673af29b033d3c6bb83229d3c332af749d36998625380965d135c75df635e8fd29366a1746364eb70832453118325ffa4d32fb3a6d32ca103a35b8e43635669a3d351b944a3533c2bb347b08bc34bfd89534b194ab341869ae3349f2c233c3f0cb33865dda33d8a82d35cdf9223584022c35d09837358b553f352c663335f3601a356c862935c845563370a655330ad2fe31000000000000000000000000035ff132efcbbf31f1718537194c9c3e2cee323fe044f6353724813244bb823db3ee6c3f5daea838756c5d3584be45385f234e3f40edc5382aeda93444ba3337e5d2143fd038683daeae02341e66053784cbb53e4663053e3a1b4335eee5b0378da7483e1ea21d3ec536da35c6bfe9376836bd3d6208ab3d0000000059b35838f3309f3c15da073deb899a33a66c0d33f477273717bd0a3876288c34013a373505249e35ebe9f136917bf733b9fadb337839af336746c63362b6be343356dd34fa37c4349bc5c834d239323586bf3435b82a2d35f431333557fd8033d4c96333a01133336cb844337a20b53322b4a533de87a1331d949c33e79d7735fc136535f4ea51359beb4b35f8427e33bbdf6b330f4a40339d5e5133c4a828336aef90339282a333520a2335018b40388935e03d68d5643fe33782357b713d354610e437c3aa7b3f1b3591384c3420351dc8083630e04a3ff80cc13b602d35357688e136b11f0b3fe566bb3da69e433332ce1a330bd4ad3e0da71f3ed079a43383b1d736d9bc333ec3492c3e894078353cc63f37b7f4c93d280ea33dc0e45933c5b29d37ad95053d7a7e1b3dbd886435096f1d36c6bfe537c7345e3800000000000000000a7f063674cf4f37aa8b4333ec755233c9048733124b9c33b5569135bab1aa352c45c7356ffee0353e80d7340ac003353ffa0a356abc2a352c8b883302938f3350a09533e84c9c33eaf390353d99a1354407b935fc59bc357a7fb335eebabd358213c735c0d5cd35ab254a3305365133aca13833dd8f2f33d25c22332488443318554c332a10433348d23338c3cd373b3105803fa221943648e6a933b1200037ab01693f3ba0f13cf1e10f36e7d81d36a7c23c3fe90c233deaa44735129d8435ada1f53ee737163edcdea6339b869833cb38993e90f54a3e3ccded355bad393741b9133ef05b493ed03aca350fde6537614bc83dba70b73d52133d33018aaf361e5ddb3cc8732b3d2b55633341a26833518d2c388f64833800000000000000000000000000000000a52806354e2b0f35320f2b35f3933f35a6b42d338d135b33e3956e33a0ec8933b29d7b344732ab340623cb34f1b9783587620e3529f8193575c62235904b31357a35233567552035275e2f35cb2a3c35e9f3b835aca1c1358e89c7350919e83551eec4340adaca34d3cbb734d44eaa340000000000000000000000000000000000000000000000000000803f0000000064b22f352a6449359e385e3f4ea0383d8ceda1337e3ab034d36f343f29aa393dfc10a33554e3c73749efeb3e84a52a3e7ea0323536ba3535fd79923ef2d44a3ed8703c35a2554437d297123efccc3f3e20f805362e964b38bd43c13d2038b23d1c85da34eec92d384c34493c28ec153d0000000000000000000000000000000000000000000000000000000000000000e1404e3497cd4734e136c6364293a537f5b6be359b15923580c5b43676929c37606df63536efab33b51061378f3cbf375011783729d8d136b0d5d537a0020f38a4c26b37ff03e436faf6af37266009380ac66e373ce80c37ed0bbb377b25e7379b888637b86839374d829d37561eae3700000000000000000000000000000000000000000000803f0000000000000000a6ee8e360aeb7f3fa94d24388629b1376499e036c1be543f17b31f385d46ac379d6a84376c012a3f4ad31238522ebf37f2c8f237cc6ffd3ee3df4138f8700a386cfbd0376ffba53e7ef84838fbe8dc37c2aabe37421a203ed5b91838509bc137a66e8a37726a333842a5d837d5218a3700000000000000000000000000000000f293ab34abe2a134bf44b534c8211337e7b4283682781936263539364c3c3936151201368023ed355f7cfb36cd64a63705b1683694df59367bdd6b36cf4708373e801b36c9e20f36e9431e367976d837ba310737454b34367b3d6e37cc5bc737a67eeb36a3238236cbc80937f02637372430f93622b55c35e24ef03691062837a91c4e363783da35f3bae5357403a2363438a034cbf07f3f60d6463857adfb3651cc243695b9763fac64b53c6f1b703634c6fd3571ad4d3fded9b63c5310b43786f861362b33253f471b833c94931b373b241936bb4df63e5f4c663c449bc937ca8236375257a33e07b42d38948cc937bb28d036b24f223e8ece503890142737553457357d3c0a38adcbb73748670d37690bd235b520ca36b8e23f370d31c836ac24b637ffb79c3713fef3377b94123847ccb7349dea7c3443280735da2dc836bb76ab3597b59935152ab835fef6a0367bda5336f7554b36af0afd36595fc03768f83837fd17ea3686285437b6a1a8370d8f053768a574368b3c1c37df82ca37e8c58f36b9a056360149da361fe7f737110c46373e8d83363cd344372d98963764fe1a3823380538d4a7133820862538ac77a437401b543faf432f3e362ff5373b1e9c3484f94e3f4ecf363eec5823355980a235f8752a3f6b012c3e66146436d13d523613790d3fc69f093e7bccbf37a36333375f92ce3e5508c93dbd939b37daebcf36f8e1873e280c4f3d40b4aa3795eb53360ce6103e409b5c3c757cbc37001c08361eaa023810f80c380c0770372f23cb37ebf32538a8fc4638706024387d19b1367a96c336bc30153860ab52387eb23e36232d13365abef536a82ba0378d732137b24204372f8c3a379e59e537bbb87736f73a483638e77c36fb3499371475963668b5e7358ce6a13668710a378d3ddf36a2b84736d0290e37e486c13786e14d372bfc1837320b46370e56ca37c9f2b03751968336a07f8937ac2a0538da3d8f37be7673373cc186376cb691373dd630365889293f48a9ac3e15eba437af6a2836b76c253f70e5af3e90232737427c1137acc90c3f3bf59b3e3a358137616469361837e03ede89793e5e0d5037a6916e3639d8a33ee20e393e9cf1f7362142a33662d9513e0f25eb3de50d9c3745c02237f624c43dd3a74d3da1b36937d1a62236ff645f3808448238d21da237302c2937014e8b372787ab37f8008937afedc43518e92235900f5437a8029837521fce3591f4c035fec6d23532490738d41bb9362c319d36a150b436fe11a137f4861e362548ed35d56a12362d8040370b7088371ef92236f27e5237d9cb2938aa0a3e3678fa1436d1502736b0af6f3740679137b0523037506a7237b1d5c637505821386a5aa137a28cf837e5dd3d388777823706702e3746f3543798699237ddb91f3571ddfc3e8c7c013f83f63f36b4e3c6351128fd3e2657013fa304b93624aaab364824cf3eb42ae03ede434f37b6d70c365289a43e2958b73ed66ec936b5c46737025e723e7fc5863e6d5d0a387fda21360f26113e08f4363e45e8233796b54c37ff3a803d6d51c23dd594983753eb5837270081383fc1a1380d97f5372ca38536e3138b377fb2cb3705775c37720a3c373efffa3646e66437cecfa237d6f7d935cfb5d83557bad535b0e3a7373619f636abaa4436adbaa6362f4353373a5a4e36c4714c36c3db4c36db95a537a770d03695dc6236ca568136bd670e37d7d91a37863b7c36bee58136387db237e398d33725268037384e843762f41f38309db137876d86373f71953779d2c137224c3c38609f033858191c38eace5038373201373a36a73e43552c3ffb00e7360b1edc354dbda33ea40f2e3f042add35ea7ad336488c893e42d6153fb6af1837ef674a36a7aa533e3f67f23ed51f7237bf3ab336abaf133e7cb4b53e03dfe53625859b364aaa9e3d2fa2763e5d966d3789738437716f653ca06f063e0031c937e1af7137bb82ca376e0d263c2ea79737c5a3a5375e6f32385ad48a385bfa143866b9fb37de11dc3714a50d383f343238d38ff5351c8bef354b49e73514c73537324052365dc84c36b3074636e61a5d37c042123745b8783679707136900e8e37b29173379b643e378d6f2d3797b79c37d0aaaf3732662a3731f415378863d637071bb136faa44536be890a36f1a22e3702f20e37b95336352a8e1d3696c2593717731038078e023853db023824681338c4ed0138bd95233e0301573fbad7be377d8afb35d0e21f3e37fd573f2ca5e935068a5136b027123e7dc5333f41feae36613207373d7ac43d0c85163fb65e6a37bc3b6d37d37e843db4fbdd3e26ca8a37bad59b371803433c340f9a3ed745b137ba74803685ed16388e132a3e8e50a936ea6d3935b49a9137eaf1513ccfdab43615c0f7371dc50b3829d92b389aa20138e8b20836f046d3359aebc93534ea03376ede4a3591233d35c43438353ee48d365ef6c136f8e1573600e20b36406807373bba5f3768c1b736f16e24362a54993714fb90360ff41c3656021636566379378daade3687c1713697ce6d363dcb2037b88ab437d9bd6437106a293770efc337a18af636a7624636fede43361c7f313754a31437c17dcd366394b3360fc90b3723d55336a5db13380af67f3fd063c335e53853357227f6376df67f3fb80a4335b2e7d43613862f385164573f264c0037e7017f372a33073853472e3f58d5bd3707f692366162003ae318013f5f28f137e36a9936189f8c374857ad3e96f042370ec797378691d937f33c323e09d8b53744894336953f393769f1653ce3507d3688998036e06bb5365dea583727ca5f3600000000000000000000000000000000d22f6c36c7f78d35ea0578359b2f3e3737fa493781612d36dc15f4351fa38f371a8e8c37fa1cff360a049d368f9bb7374723d8375cb67f3706d609373fbcf53779e89737ee660c376cb436362364a737fdf38d370d4de7361b0eb536c070b1373d9ece3741f66537b76372379f97f9370000000000000000000000000000000000000000000000000000803f00000000a25ce436ec7a95374bf07f3fdcf7c7378d1d69376bb6c43775e8573fb8221f3877b99d379126f83738f02c3f21bb79389286dc3794f209383d31013ff976453804279537b02bbd3759d7ab3e9afa06389ed18137591cab37fecd2c3ead2d123800e298370b21c53761b7863888270f3800000000000000000000000000000000000000000000000000000000000000007df67936445c8436defdf837174e393832a78136a232c236db830438bafa4238f052ad363d34e936fdbcfd37f3203838cc43be365623cf3622fc86375f77dd37ec082137ca102a37afb033388e027838ee4a0537072d0537b6bec7376ec60238995d8c3797eaa537350f25385bbe383800000000000000000000000000000000000000000000803f0000000000000000842828384586703ff3f3693a49f8b039a9d52d38340c4a3fca7f003a318b663826902038e392243f338d9e39508455386aadb337eaa5fa3e87be4a3966e51538b5ae563836bfb13e671be639d41f8c38523bd8371771473ef757083af6530738d51b1a38a6dd543d63846a3857eb2e3800000000000000000000000000000000e01ccc3584d8cc3644a6a637648e1338bce50a35ef4e0d3553c32035c91a6e37164ad6351be1db353df68936b564ae37c1606d36561a6e365ffaaa37944b1c3847b01136611a1a361e60a13678868637cee07c3602567b365f74b537709f0d38a651de351efad8353263a337501bf437d0194535cdac3c35cfe7ce3661ab4c3701c03a37d63f133770424d376b0c743768f2ae37d4af6e3fe722893dd7b9143892ade635c6fc5b3ffc53a33dee11c037a13a2037aa4e393fe80e9a3d33e805380684da3700d4173f2cb3863d8e0770381c94fc36dae0e93e34b85f3db2fdc93777fcc6371594a43ecc08043def1733386c439d37e723443eb740793aaa9c0e38fb4c253656ea513d23e6053afa54a737aa28ef36f1649437687ed23759d8ba37a5f4fa34f1ed40374b060c38e81526384c233e36aab4403678a2193792d2de37457ea435438da93523b32c367d161e3733f4f235784df2359e8ee3363d02043807191a365cde1c36f959a237a43e8738a1f885365f288f36bd9ef53778ca2d38545e8636dd5b7436d2b04b3760fac437bd09193755b3ac36352fbc37ab3f0d3899503c37f6221d374e6b48377df8bd3768c2e737324f493fcd8a593e4e841a38a527fd3607773a3f2143593e788a1638c37c2336c30b1d3f60cc4a3e62a1a9375753e3369182003f139e263e61a37e39ea30b237af69c33e9c90fc3daec6143aa487f7376847873e3145ac3d20d44f3823e72c37f96f1f3ef005413d019f053877028737207d0d3d6914203c55672738577e08377766cb37f65f6f393c400f383f3a23376be19937fef0143831df823956a3a336db15a436c91a7a37848cf3373f8a3936a9b33a3679a4673706982b38be7ea7369877a736e7561a377adaf13706302337329a22376e902837f1494638c8282936d4e41536ea30b837ad16a7390ea969360955ec35559a833744880538a57083374faa3b3725c2c037b160133829ebe13719dba13755e4f33714231c3819c8e9372417243f88f4b63e47d61e382e0c34373760183fa7b2b33e02840d393ac46337d21f013f3a659c3eaa251b39a89f19376045cf3e294e823e0c285c38845a2637fee09c3ee798493ebd86193ad7a4c137350a543e9d9a0e3e10ee463afff7753766f9eb3d5130a43db0b62538f121a1374269ae3ca741c13c12314a397194a5378b6d1e38a3ae1c3a9babab395fd08e3611b22d377f08dd370730fb373e6d8033286b7e33f5a0b336e8a6ab37cc76e1340717e2345772d236a57fa437ec7d2136d07e2236fb5f5436f740e53751939636f9ef96366563a3370521013844842a3649262836c4322c37c4a50438a6024537fb14163766268f375032ce37f33955371e3f0c37806e8e3794a0ff3746fad2377ad0af370c36cd3750eeed37adf3ab374456fe3ecea7003f4a8dec375958cc35b696ed3ec85afb3ea5f90638c989e236ab78c43e748cd53e709cee372bb0ba36a6ec9c3e604db23e62d85f38aac8ad37f028703ee9d6873ead624538b0dc4037e7a9193e4fa1473ed9db46382b358e3757f1a33d8c85f33def61ea375194693733a230385f24373d3cbf273862b9a8376deee5374611ad3991ac313829ce96353f0e7636e24a133896fea2397856ea3678d7ea3688e034379b3aeb376160e635b417ea35b6fd193613b6cc37ec431736ba571736b7887c37341f4d392770253707d22437a4fa2737bffcb6388cc42f37b5a7e73610eb67374e621938e30ec037372a82375279f43710ed53388b1fcd375c829237ae28cf371aac3539ec11a238f27dfe371fb50738c00ccf38a9d0cc37a023b33e7605263f321a3238fad604372934a73eb1c7203f4ada28390ce099368111893e2b67093f9a20673891b79b378ba4553e059be23e2ec5843ac57f583769431d3e49e8ae3e88f7543afede7f375f41bc3ddf767e3e3f707c386c450838a924193d93c21b3ef5d1a939cf0fc33788bd4939da0a583db304d2396bcdf537056e0b389c9e303a0c4ed6391caca63678d5b336f812b337248ec738db414736c9804536ee8bd636e20eec371d490a36fd85fc35b6016036b5578a37b99b8d366d99833645009137b82d263840f7f7368aa3433632c66f37d6eff13822ef1c376910cc36f0da1837db6418382a95c8361c4aa736ef48b3366e6d7e3748b5c0373e747437e90da137353f0938e6c31338c24af3376771fd37282b17380e3f3a37dfd9503e2da74b3fcec5023803250837e3b2423e3fea433f076c3538de488636d414213ee0ae233f4a7fad39c23ed737b050ea3d426a093fb0ed7139226db4372f87a73d2aa8d23e2b33733a163a9737b4c10b3d22bd993e02620b3ab4760d37d29dbc37c3d8403e48aeca37ddb2a637da690e3875b8723d439f38383d37ea37c07e0938d13e0a3a77c28739a174ad360bcb89361ad45637c2eeb93739aa1835d7141c354a3b1735b236d3364374d5357cd0d1350406d5351774b137de2e77361ac07836090686364d7ff137b2395b36d5244a366b854f36a173733787e5a9373d824a37a84b973748661738a26d4e37628f6636f037fe3692b9c037bffa4f37053833364403b1360cd98f371bc5ff373e00843719327e3739c50238366971372361693d5f5b713f0858df37f3d33435a7795e3d4b9b643f9459553ab6400a37475a323df932433f8c49a93acc849d373b22aa3c65ce1f3fbc31903a03850b37b993e33b4b0ff63ef374733a4cb7f937cc2f3e381053ae3e51dbb639e2498537d80ce13719814d3e2538263803761037639379371096783d66520838b7547a37fa7783377f28a5393593233900000000000000000000000000000000697315363bde0936db37153615f6f737b5a2b53683df95367795b636ca01ab37f4482f37f4fd1c37e2692437ae6e3a38caefe936c07ada36a1bcdd36739b9d371f989337935a4237054f6437887419382b020d38991ec237807de0377d3a3438a43c2038ee0ef037d9f202381e553a380000000000000000000000000000000000000000000000000000803f00000000adac4337f03f1438dd89723fa7ef8a3959f41437c721d937db914b3f58c4183c9de3e137ce1a603888ba263f96015a3ab5e92f37b459ba377b22ff3e50ac403c75bbdf37cb6420389961b63ee875c939aba1143863e53338aa82563e9063d439abfa143864b8243855a06e3da3663e3a00000000000000000000000000000000000000000000000000000000000000002d66073811dd2538019995396e8aca391d805137751bcf37cedc5d395f4bab39c24cef37a3901a389f793b395f6ed0394d4b0d38003a2b3971b2073afccc363a9cb2cd377098dd37221ca439ba2b183ad832203848c63638cd992b39d230cb39c3a35337e765de38dbe3e5393df3113a00000000000000000000000000000000000000000000803f000000000000000017a2cf39e431613f7e51b53ac900323a5d989f3988b8403fd253913a9164423a7696b939c001203f85fa933a736c4c3a4d7a263ab3f7fd3ea55b953a2eca783aaa39c8391a7dbc3e8bc7a73a2ab5853a10de32397d6d773e30e7883ade4d563a5c27d4390a0ee73d3942633aa944433a00000000000000000000000000000000945ef638b7fdbb397024163a68aa223aa1861b379fbc7337c75fc5371e6c4b39b4fb8037eeefac3751f62538a0a171393a7aa2370d28c037c0834f39e1c0c239d5a9c937b840e1375d84103a3143893ac1c2c437d5106e387db6d239f6052b3a32c1fc37d3650738cfa73d38d9f2ed3945ad263822c71539c7f9c53962a5fc3914251f391e4754392cbeb0392300d4391988253a3157603fe4d1ee3d252f2d3ac5daac385f35473f36efe73d949c2a3a0641163920602b3ffb40d13d30ccad3a3875993921fa0c3fb137a43dfc815c3a6a914b3a74b9df3e29937e3d15d9f73ad95de7394d1ba63e8d903b3d2635a53a20514838c8945a3e81b1f33cfbac943a7889ad39ebb8d63d54486e3a6b93313a2f5a91396c16e63976f3263a2922203a5cca7f38faf69639809f043adb71133a57bd1c377d137937e7a4e23736f9043a85bc643773be933752dbae3940605b3a05dec03758411238a56e64384abfad395ffcf637f1b104389cb30e3a7b78583aa44a0d3824af1638e65a863a834fcc3ac0039c3766eee7371e8423394d3ed439eeea89377f3fbb3715d5c538c7e7293acc8d8039287e93393bc4cd39b411f439b9f6053a2d1c403f91c6783e24b8213a63cad238401a2d3f91a96f3e17dba43ae4e2113a0ac0103fe913413e9597c23a41ee7038c927f13ecd58223ee8e4b73a7642283a460cbf3ea36d003e4b719f3a6f28903a4d47873ef33ea73d5dfeac3c4c331e39b99f393e728c7b3d6a92a13a662b1e385b56ac3d1f37e23c92beca3a8617b03918d4fe3912961d3aaf6b1c3a24b2173886bd53399d34d6391020eb39bf177b37c0920739a4f2073a0de6213a3a3d95376ce2bd377d4c1538ff6c76394e05c73769afe037a6283138c747fe393a5843378cacf6374724b439e7cf863aed79923711aac237c286263817057b391906f537ac500b38b6ba2139d2a1f0397095f037313efe37579df4380257db39d8d8c1397737c939dd20013a7a1b153a2070cd395fb31f3f7921be3e2932f839b28d073a3a5e0d3fee3daa3eb9a9723aec606f388588ea3e8441953e76b0383a99a50c39d8b6c73e87dd743e6ff89a3aa70dc739c8e49d3ec46a403e7962073b006e2d38136c683e958c0f3efbd66b3aaf44e0387d99183efd7cbd3df5056a3a8c470f38bdb8953d0000483d61f9613a12d2e539b49f143a10fd373a9f82373a0d552839ae669c39dfc4023a53b70e3a109856373eb600398dc1f239a8ab193afeae3c37841f7d37b51055382cf38339b5f5653715599837ac26c33930aa483a3c9dba39f1ebea3985902f3a37934f3a2c7166375bca8e37383bd739e6a7443a9791963735e0ba3755ab46389720373920dd7239ba0c8b39efc4e0398b050d3abe888239f5338d39350bc8397969ed3908f4f2395a32fe3e63c9fe3e29e20f3a8c30ef397513e13e06e2e23e156ea13adddb8d38623dc03e79a4c23e12ff9f3a9dcdf63957429e3e03c8a13e4c7bbf3aa672353a7c127b3ee64b803ef84ca73a42eadd398ff4383e82b7403ef298bc3a9e591d381836f03d5533fe3dd1078f3a619eca39fb97553d54ce723d1f7d963a6a63aa392961e439da36223a6c29173aaeb5a1394255e3397606293adf58343a6d3cb4379d22e2377d9dba39442a2a3af6e185370584d437b842eb38134b093a65ea9637bdccb83757ff1e384366513974064437563276382851af3919ad813a5abfe837d667f33764ae1f38c77daa39be44c237921ecd37e7ef0338af4de1389df68339a5e08639b846e6397849103aa210633943e46c39fc78a639ea27cc39f2e81f3a43d9bc3e89a11f3f7d7e373a7195c63962b6a03ee46d0f3f5504773abcec493939158f3ee572f33e5125873a0a913738afd86d3e67b8cb3ea4e5933a9975c339cd8b393ef415a13e9e2b133b2a952838b291073e1696703e62cfa23a00f304381492b53d7091233ed0064d3a044bca391b30103da19f983dbee8753a883390394b52b9394aec063a395e023ae691573907eea03913a70b3ad77c193a133e2e37319c9a37ff0eaf380fa7783a18ed53377c57a137bed5d338063b083ade760a38f2cb1338ac604f3aca28cb3a38c4ff37105005388f46ec393dc24e3ad3710d38344d22384a7256384daf1a39828b03383fdd1038105dc739dca3573a35718739a4395f3973760c3a6a9c523a8339e7390f70de390266ff3962560d3a7a17033afd83783e0f4a403f1f93263a33201539b0695d3e7f912a3f24b8093b0ab31239ead73b3e86c5113fc2f5e13aedfc793a3c870f3eca4ced3e210bb73cfb760f3ad459f13d9212c13ef96ab23a69045c382d62ad3d526e903ee97ccb3a58dfec39e75d5b3db3693e3ea64dcd3ae543023a1c3c573af70dab3de4b59d3a9904ec39a220033aa1252c3a984f253a89bab53882b73539720cda392b580f3a5da06d37826d8e3703d29639e67a033a9e02e6376e90f737cb4910388a7ef839fec9f1370a9c0e38d2e99d3985cf143a8fafe13709bee937c3bcea385feb583ab798d2374756d9378f612339be99b5399316813898c1693862de323942269b3948bed53797b6c73740b1a538128b963965c0d8391702d039ce66f039ebfc0b3aaaead539b6a5ed3d77de603faa44503a0c94b03932dbdc3d392f483f8a88a33ac8d51438ca79b33d2a4b2a3f19e2d93a5221ce39847e913d807c0d3fcf4c023b690faf39c4fd5a3d76f9e03e3ccd1c3b00516e3925bc143dda8fa83e705a963aa1ae6339e4fcdc39b18e653ea6dcab3a8d04d238d9a480395db1d93d7a7b1f3ab353e339cc93fc39dec82f3a374d333a000000000000000000000000000000002c83dc36a2e22537599de138c1ff023a381a183803872538a33452382b85a73908eac037b343cc37d572bd38f1ece5392ba88138296df43831008d393912153a355f1738cf461e3884683d38064d8c3937f1a038ae88b038fe89303942cc9139bb7038395d532c398fbe76391810aa390000000000000000000000000000000000000000000000000000803f00000000184889399b57383a6a94613ff1afa93a6bce143994b62a3a88ce403fb697aa3a3bd850399939373a111a203f7200b73a99b1c8397e71353a2144fe3ebc0a933a38a2e2384bb6bc391699bd3e2580783ae73c5e3984c09d39eb58783e88bd603a26037d39d86d9b39ae93eb3d02b7383a0000000000000000000000000000000000000000000000000000000000000000f3a54c35f765453593fd4735821e463540b28635f7aa843556d78335c55106374667dd35fcd0be35273d9136cd8f0437da688e35a0ac783585699b35bc560d37d39e9f35d2769c35afcdaf369098473795ec1c3634c4ed353a546337e4be9b372fccdf37ff68dc37ce9a1a3891ea133800000000000000000000000000000000000000000000803f00000000000000004dd94c358d817f3f6d316b3749a6ef3556030e36b1555d3f3b39cb39c7aecd374001c236ab292e3fadf4693886b4c637fa029f368a9efc3efd37d538bb3d3e3708706637c8449d3e91c91538b7c43b371a300f38cf01f83db4bc5b386f352437152450383f6c053a31689838e759d937000000000000000000000000000000008c8634364fe740365153713779def737cae3e5330345ee33bab6273609b2c736570c7d35a14d7f3510e0b13615da493770793c36f1862c36f8c36536662c2737a1ae8a3462402334753bbd34445b543743f76a35b8d36b35959e6b36f1886a37688e313672081c3610e16337a603c9378b0795336ec59a33160195339ac69233ede53b3669904436db6c47369a3e4b361de266369fc97f3f13083f3af542133867efed332f77763f99d9783cf3191d3875dc8f367bcf573f4d67873aa94e0e3857715a36d305283f5f86a83a3d0fed370949aa345204f33ef4161e3a7579b837c7774936c552943e7bb583396d3d99378d12783786ced53d25bfa73a41ddc2370b7c9233562255385a810438e2428e3339cb3a36d8c95136df7c4037b2155d36ef622a36c65c2d367b43be361116573757be2035ef5a2135eba12535ffe82435aee333353dde3335ec723d35f417be36df86c335cb2cc3352e57c5353837f8378fc40d35ee8810359a4f0b350d87c235a88116359bc61a3525541a372fb9fb37d5d89c367bd02a36a2897637940ee2371dd6053642cc843581063a360d5e7236275e9334ad9a9a34f7e896340bbaca34545e2d36e2995f3f787a013e44af3a37e5e120352e8d573f7e7d153ea5f83036f3c53a35dd1e343fcc44153e929101386098c2355eae0d3f948afe3dd8646d38f4c609357121cd3e2be5d03d8778cc36640e9536dd3c7a3e26a68e3db96e26383ddec13684aac73d3553fe3c52030f38018f4e3528e44438b4e3033a27433c3736f29234dc241c35d2814e373e0584362970ca36d506ce366599e63696d8f03649ece934f6b3ea34a622e534beb09c35764db135ef9baa35e1b30036d36a5637d8cf7b36343d6a36d9f98c3607fea836c63d823571fd6035219f8b3532b6b036066a61369a413a367e4c893784d11738adb1bc367de063365b30dd3762552138dc851536d40b0836fcfe1a3608201d3655db9d3730a56f375b22b437af52dc37a07dd336db0d2f3f92cfa13ecc71e836110de8341f8c283ff369ae3eb2869e355aced935866d0d3f34d1a03e191d053894728b36ad2ed93e3d27853ec9979437f6488535ec8b993e94f14a3e5d9ddb3688f6393791b8323e01c9093e51ca3e381db45f37290b543dc0bd8a3d6306353867faf635cd8263386d1fdd392a991736602a5136bb9b003882d06d385d64f137f671d1368782d836e25b7537091f67374a1e143546bb1835180d1535e7a956351807e836618bdf36a590f1361fcc0d37256ca03631b69736115dab36d379bc36d9526e345b3e8034022b693492702d37691bba36ce1cb3360a63be36a919ca36cbac2b37ab7b2137cb4d303765929037dba6753683f63b3658f4a0374e46c7371139343720b310376efa4b376d936b377a11d736a1c3fc3e0c9a013fbfa5e23668f51835cbf1ef3e40b7073fc9ab1f35fa21f036aecdcd3ee745f33eb5061737a318ad363abf953ef7c9c93ebd55c136668883342bbe583ee1a0933ed35898376487c0363cfce63dd6a84d3edd92c53607ee26378139c13cdaadcb3d3e2d603708e1f53599678a38d4e58d3a5c331e377d7aea36b0e3a737830e0b387b724337cebd1a37697c613787ddde37fac6ba371e026035fd32383545308b35b48db935952c1436b3ba0436437014369cc64b36016c3236c94c1936ee742736e4c523376661b1350b278e3524e78835d401853664f6a536efb49d36391ea2362fe11e3797b2e13753e8dd37ca59153890ed36383fa064369bdb433668998a3695c6d436c149f6364cd9f5369245ff3665fd0e3785fd4d37499e9b3ea529323fa4a32e36a4e286358d7e8f3e6329383f2ca78535be5630366882683edd48273fb4e85636cc2f4e3796d0283eac9d063fa90ab337caa07936b709db3d9450ca3ef1d19336d0493f374c624b3d7137883e16ecf736c9ca1d387273293a22ec073ee69e0d3819cc1136ffd6f537c9e67e3a57a03f36fddef03682b6f83747175e38b681fa369aa693349ab79d344982ea34e8d39a3415435e35aaeb4b35d75a2535c3f229354734f0356774cd35d458b235d74fe93542901a355afe1935e72b1635ba7eb236e79e383560481635a98b0935002f2b359d1f94372f010d377ce40237143408387e0b3937e623ca36c86e4837b300d83796011d36f8db3035af4d7936cd1b19374e0a1437e5ba0b370ce8273727e855370c1e53353641e43d1870633fd15e973434cd62351538b13da0c5693f47a52a355b9c603610c19c3d797c4b3fd1193c36172c8a37b95afa3c8bbf273f3bc9733740896f35da21893cbe37f63e46a66635153a3938f38af7387af1a43ed7221338fd11e137c3eeb9383a0c1a3ed04eaf3774972c3556b53638e3c9473c10622d355587a036e5ebdc3728b2103826344736eda8423621c24536329f3136dc6a363625d38d33204892337c9b923339628d333d08df3547f9d9353ddec835c360e83545ac72351a525f3542785d351f30a135108ad23467d3d334bee15d34deadc234b4ef8036f11474361e8d6a36ddf1eb36e8d88137376202379c940b37a1e0c437516f1f37f3a718370b8ab837fd8d05382b35ee374eacda3716f5e0370067f137904e5136016c8738bafd7f3f98bd2936c2168f33436a4d371df37f3fc7078b333eee0936b7101838d7f8643fc1f51f36c9dc2d3612330a3833d3353f699236376792cd3641531a38c44a063fc8939537902539372fcf3e38b947af3eeaf3cb373d0ec137c025693815b51f3ef840f63736b3d337b825a0383d9db33c8488ad37a994ca37d18d2038e3a24d380ce48f3700000000000000000000000000000000786311366c384c3567da2035ae9944363450363513683a359fc51935f8ad83355e02933519f493351dbb94350dc4cc35a6cc87356ea58c35f3758135845f2b363ebab53641aa9436291b8336e7e8d736e5e63937fca33536d78e4d3663e59b378ad45035cbc75435a0a05635c51bd9360000000000000000000000000000000000000000000000000000803f000000004c166a36393d09381fd87f3f61392a386a767c3503eaa736defb603f67a9eb37b24ac535e9f11637d253313f83ffd037eb120936d4984437fcaf013f69707b386f41e03637011838b292a33ea8cf4038d4bf8937e9da35384b190a3e091cd638f7867a35deac15378533ff3a8d1e34370000000000000000000000000000000000000000000000000000000000000000278d1536d5e81d3660312e361813853663612b352f592b35b0a91b36556cb2376d50fa35bde3fe350415b53641f888377ad41536524a1a3610e31e36ae89b13752aad6343ca3cf34aee6ef37c3ab743891c3213600cf2c36a2febe3696e8e13638726736a1bbd936914eab37a49ba73700000000000000000000000000000000000000000000803f0000000000000000f2ac333675d9753f27156f3940ee4e3863bc6636a4ad503fa5e3233a4477953865e303376e7a273f3a0a823a9fce503854e84f37bdfef93e010a8239c80e0c38b3ef4c3883b5a73e266e783a929d82383c58593780822f3e0c8d9d395e17b73637e4cf3767efb13c7de52e3847c39b3600000000000000000000000000000000ac171936d885263617a29736abda1b37d744bb368002c8362959ea36c0dd00370124b9350765bc3540efdc35578bd33690863a3581324135d4e66335e890a8353929fa36c0fafa367ea904374f1c0b379fcc1036ad570d36140e1e36aa07a9372766d235b0fdce3598862237482610384bdce236fdf9dd3631badc36caddd936796a18364a3e1636a9d81d36f0d91e367c756a3642aa7b3fc57a893c2f7a103847a5e63686bf663f8408053dc98e5438e671e235ff1c413ff53a0f3dda4db038ec06743529dd173f43c8203da6b41238137f06377586e23e8249103d20563e3802c42536c430923e565a303c77f44b38169bd637b4890d3e8e40aa3aa4483438f173e0361215c038c66f0d3a556fdc360e9e1736701b1e36a0b706371d17c736b0eeac35c3bf29365cff9b36e891fc36e8d64b36e95e6536a9a5a33611d7cf3630fca1351e49b2358df2fa3599df11364d15d033d73e103448f040347990af34d5145536d6a5583671d779367170f536219a4136988043368ac378363481bb36facdde353c59eb350285553681337a37a2331037f61211375b8b153729581937c2a09e367e06a136e78baa36ffd5ba3602e2833633a9543f1d552d3e38eea13720249c366fc9403f6043483e0848a137727bf035929f1c3f8e59433ebc614738c1972134dc02f33e87222b3e1283393834ae8a36094bb53e10ca113e3ab96a3888e1813674a95d3e2ff6df3d23a2a9374227723666b9df3d29f27e3d4dbf543820e9133745683738dd78e83a652ded3759c39e36def7c33696032738a28e0a38795bbb36b45adb36839503377e040a37aec302374ba80937888f2737b7b43d37501f9935f6dabd35e849063671fb3836be8d2636c4f72e363f0e4f368330753656c89036a9369336679cb03620ced3369b87723564c89935a63a093672ba8937e728943691a4953602ee073753321d38a171c436f1dec23611a5e936d7ae5537c4c03136587e30363a5d35362a9536368f5bf436e6df283fe741ae3e29cc0e371f0e2537fb0f173f97debd3ea3ca5737d00508366c65f23ec33db03e8c56083867c0553657e9b83e68de973ef5533c3858d0bb369f02803e8337783e89e1dc37f0b628360a87123ea2cd363e0f21393848bc8937d931673d27c4d73d9d009438e769d736e3d90d380521073b0b1cc53717fd2a3624953c36136008389728a937ceb576361c588136b42fb436b998d836416bc93684f2ce36b68eda363a4ce3361092b635a87ec035c9b2e3353d0b0a368911d23539d2dd356843fb35fae111363709ee36ddcbed36370af63698471e37f6f82036d8361f36cc35233689cf2e366a2717362809143673812e3775451738c082033793cc01376a4b19377439b0372f638f360a1d8f36d7e99036d194b0365e1282364dc2fa3e459c023ffc0ba936ab6dd936a385d73ed3e60e3f819ba537b04df1355dabab3e37fbfb3ef2365738a1660636c1cc783e9940d93e6eba9036cf93fd3619ec3e3e5f8ba03e05cd2a385ea92a361947be3d4f9f753ecef28c36057bc237e99ee73c1cb7133e4e3f78381bc711370f5d8738cac3aa3c9e72363839c18c367739c4365d4e6d37840d05373a1f1b36422a293615475f3605fbbb368ead8b36c6899636972aa2362199ae36d6172a36280a39360b046c360ffd94366db9f03482632835d45a9e359941433679f7b63695b8b6368383c13650b5d836c4e18c3646698c36b6e68e36d5470f379154803617be7736d9ee74365dba3c3703ae583722195a375cf45b378bac5b37a0c90d3789af0d37e0f00f37af600f377dd33736af45a13ef4592f3fb36d31364b82a8369122863efb6c3c3f9cf4e436db48833613163b3e6ecb273fc85c603809120036a0bc013eab330d3f74fe1e38fc60dc36f5a4a53d5c95da3e2458ae37e68e9436bc60033d87d29e3e9c753238d75e8036f5739d3821b33a3ea62d013858ee5b379ad12938d3f41f3dff178f37963b0c3701cd4237f6575438e5d2ad375e86ac3693bbc6367fae88378e8c5a37fd93f336954dfb366c6ffc36ae0a0437acd28634d6621435b6b4743503084736d4ac413657bb4336b616413618c28a364b2a82368fa77f36993388366b002037bd3a1f3579bb343540552035bc02b435612635364b853336d56534368ece5637a14a02379ca90037525302375fb56b37483eee369d34e1367843fa3616966537363ea6377c22123e2e765b3f601db136c7360437483aaa3df4426a3f3b620d372a580c36ec956f3d0223453f4de20838680c84361c2cc33baa152b3f35157a373b64aa363af42b3b063d003f171b4f3848d84535949171383665b73e53b7243827f4433690ac8b388f064a3e2a6b2638b2470237c3180338c5d4523d82ec8e37c13cdf3662309e378ef72c388d28a1374af72036b35e2336d8632036c96e2136ca11ae36d71cb13603aab13698c2bf36741c6b35b4c86e3560897235a852ac3506fddb351ce6e1353f8adf355fa00936690d0737c0960637b1550637ba390b375135c135f6ffc0359a97b935283ed835cfab6e36aa666336c9a16636097a0138d5831e3724fb18379adb16372764593762584a37609e3b37ed4c4a375f3d5f37989e23360ac7453818fc7f3fe1e41836d311bf3618d23037a6dd7f3fe79bd4363f2d9f35c1ddf037933e5c3fb9128638947608360ef61238a020343f1ff186382eea0a37980b163882bd053fa18280386620d63551d3d137d825bc3eb0283e38343baf37e494a93849a7573efc8aad38bc6e1837207b6338097d873da6fe0f38bce54537daf4d537cc994c3876999f3700000000000000000000000000000000305f9034853da4348e80a1345534b5344352ce35ffa6d435200ad6359333e435e494a6348f72a834c5c6a93492aeab3468471c36a13f1e36f5291c36b4fd4b36967f8236359f5e366a649936b78f19373d129b364bdc883660e8a93670f6f237fa2390370cfa4937af988837203dfd370000000000000000000000000000000000000000000000000000803f0000000046d1bc34cfe7cf34d3687a3f23051438c66bdd35d27d0c36890c543fa9b056381cb5a934a01afc376ab72b3f1ba90a3aacd01f36fdf66137d0e8023fffcd83382cdffc36ef280b38ed6ab03e7e518339f9fab1376977763810513c3e48d7b238795ad43753e12538e1c0203d143a52380000000000000000000000000000000000000000000000000000000000000000ccf45b35c3638135543199358ce50137e61c8e3676d7a536f8e0d8366819f437e74e5e36d47d8136af319d36f49b1d383f37933570a9a93660fd5c374d4dba375f3e223692f62a36cd3dc337860e5a38699a8436563abf36ab704237710b91378a764738a10b6738c55a8c382e3b8f3800000000000000000000000000000000000000000000803f0000000000000000338c973535356c3f3b4b9b3ab6ebbc3a2f1c4937fabd433f6cc76a3c977c553a05778137a4781f3f4fd89d3cdf10013953ef82372f46fa3ee043cd3a970c8138e3df01389a38aa3ef3c1803cfc14bd38f028a237b619563e0da28b3ab8c6753779bb96384057873ddc140c3ad4627638000000000000000000000000000000002510a836488eb83668d4cc36d45b99377dd7023662b40f36c9ec1d36a8eb5536feab8b364d379d36b50eb236b94fc336055a1236a63e33360e125736715dd937bee03236091e3736a0e4f136d6c42938b97107368b9e19362c5d2e36436bfe370bd1c4361a3dcc363248a237cd7d2c380ff97a36bca87c369b7ab536d96aba37b3dd7336379b7d362ce484365d818f36cbc1cb36d07e6c3faa6e993dd0419f395cf61f36e6bd503fd03cb13dace5463c99ebb636f7b72e3f0a9ab93dc019493a0360623669bd0c3f2701ad3dc2133b3a2501a337d6f7d83e6c65973d578ea9383079343602d1953e4a6c533d8012b2380ebcf3376726343e51a5e53caf988d38e98b23373b822c3d206f863c56cd5b3abec78336e2a9933657659037b6c9d237343e7f36cf06883643d7913607cbc337e98343366c00503677976236415b6f361d3db236ec1dbf3624f8ce3672dfff366cfa70364a0a8536cb93933671949237ed382536145e2e36b701a736890f0a38c2b2bc36bb37c536946bd23694ee3637589de2369810e63691484c371eaefb379b098b369fb2cb363714e6376e8626389157ec361033f336277afa364caeff366ba08e367eb0473f5d72603e88d08038ae8d6136499c2f3f7705613e7df32d3c4fd8d2363bfc103fabcf513e4d3f813a2eb39636d6b7e83eb2e4353ef0bf943ab98a5337f6bab33ee6e4113ea88c5b3a48ddd8365dbe743ebfefd93d46d3333a0696913793d5173e3140863d05b5ce391bc3ef37ef0ff53c8e3ac83caab65e3811d3f83616b70037788c1c38dd1c41389955ea365d6fff363eda80372fff1038d8290f3667941b361a6a36366e2b5a372edff436786e0737e1f51537be1124371f13ab36faccc23690f3df36089ffa3634f50a360ff31a36ad5c8036096de5372fcec836ae54da36770b7e37340c7338d84ad7365e81df3673f708376f61cd37f28ff0363c24f336db90b037c6aa1038e7940337bd270637c4e8073792cacb3746406837bf78223fb4e5ba3ece077838fa783436961a0d3f8e56bb3e7284063afee5173746c5e83e18e2a33ef8a4a33a8b3ce536cd99ba3ea6908b3e7560183a06cbe236bfec8e3e75ce5f3e866e8f3951c3c737c883413e5e24273e6d94e039109f57372f41e23da9dbd33dbf703539d4b8b6378da9c23cd961253d38937638a7c30837068b0138b5746e383ce77238e912a736e3bcae360a7ddd37dc901f38d8c72e368ff33836b3be7236f3e1b837a1aae0367aeaf43651910437b48ef637b49e773618c6873641a17137ec2d533835091436619b1736c466f537bb9675385fdb98368104d236d6af2b38ff1b893857c61237ee398837c90e0f389d5a4b3817e9bd37ffd8e8379bd12638fd4044384a92c236cddfc436588d8937caccf2378ff2bc37fa0ffa3e20e7023faa423a389e1b7036671cd73e5f5c013fcca53939d5ca0637b0b6b03efed2de3e0004293a2bb3c03720988b3e9494bd3e5e5a033a0b811c38b9745c3e40a8913e449b0c393fd5463850780d3ed1285f3e40139f39b08f25382f9ca53dca320d3ecfb784381d112b38506e633cd29f763dbeab5a380b3c5b37897a0e38d7775c38c76a4d38c08f0a373cb70c3721ad14382ea74538dce48536a7cba2368a6ec136b348da366c05b536a422bd369ab9cf362aa0e3361ed6cc36f866da36a913ec36e1525a386fb233365e4b3a368429bf364e870238fdfff03677a0fa3614c00337e6312c37c30c3737879d3737f6b58e371339063871388037dbbdb8373b2918383bb53b3839110d37adb40f3742a5b1378709163842610b385440af3e594d283ffa194838f6c4c136699b913e96bf263f1b59ce38da86d536a219673e0d400f3f816e203a178e7637deae363ef2caef3e3ba5243a39f837373b980a3e80a2bb3efbdb75393f9c0637b3c7b33dbf748c3eb98fb3392303bf3786e5423d33f8333e535c3c3a06161e38ed4bc03bf26c9c3dac4e513872ef9a370f78353891bf9338a56f8038ad8f06374fb706378abdd437bb5a1d3877423b36d07c513640f065364ce392371bdecd3615bdd6363292dd363cd896378e7fc43688aeca36a913d236817d18375644373662a86736d3d59437b4bc2838f67ba636a867ae36a74ef13661bb1b38fc11f2367601183727e1c237de1e1638402d1c370c02703799a8dd3751b10a38e5954e37178e7437122aba37522b2038d354dd378d82493e09924d3f85f40238f270673634e21a3e153f4b3f6ab1c339b8d2e0367b82043efbd1273ff663583a84ffd6366627b63dcd63103fd8e0753a38b2e93778cc8f3de779de3eceff693a5bc6a537948b1e3ddfeea73eea459c386ef3f837cf35aa3c5dc1533e11f09b3874adf037ed0c0b3c4751993d5bb39b390528a9373d9f3f3872cb043ab28980386706a8365d25ab363c6da4374075c83747aa3936580a49362d325736f7d9e0367b87c33608e7ca36a825cf36605aee372b122336251c31360d753a3623e0a53783303e36cc134136c3d2c037bdf34c38a7a28a36c2b68b369040ac373f342f382491ed36c2531437d4ddcf371a521e38c6cc09382dcb173827d64438c67d5c388c86aa37fc03b8370e5af8378c5a1f38cf26c6373ddc493d5059733f9fc68c372f785c366484113c55336c3f75ab143c5d8e2b37757d6f383bbe483f71df3e3cce81413665c480380cb6243f7b86483c85251938b9b59138986e003f33fbac397a4b0b3826eb7d385b75ba3ed6e1373abdf00c3892a460386261673ed7565738733f5438635f163a7d3eae3d9f6c5f38ba18fa379abc3738fa78503a6c005b38000000000000000000000000000000002b21ee3561fc0e36d13c2536334091374f380d36e3292e36b7594f3603217c36b44d0236a6a7113663ce1a3605d580379f94a135e1417036cc4015374f2c79372541a436d0d3ab36dcc5b1365787d137c24521372dd4833799fbf9370f27363881cbe137b7dce037686c0338485140380000000000000000000000000000000000000000000000000000803f00000000cc2b2b362c551338c7ad6e3f9913413afc46613653b6c636d3de493f09ad9f3a5c642336c297e0370604233fad31743cc5eb4037d583a137752e023f8e388a3a5aa8ba36607d3d38549eb63e915b7c3ac3ef1d388ab25e38ebaf603eeb00293ae1491738a9594e39af1c983dfe070a39000000000000000000000000000000000000000000000000000000000000000064981a36acc7dc35643d2a36570d3b365139ea3521a6c435016f0c3654ee9b367bd20f35fcfceb3479063935f6a8f037e2466e35bc454835b9db6135e42b8c3500000000000000000000000087fe82367aaf273857741e381bfb5238c6cc9738a224423588803835811f243590c21e3500000000000000000000000000000000000000000000803f0000000000000000de53323674257a3fe7f8533687c655369a90383633d55e3fe3861438a9c77d373421e03769df2f3f4ae9ab38a5b29238af8f7435924ffd3ed55ced3532a1d435f645a0368b9d9d3ee98ce637322de63651c8db382d4f003ec8b6e538b85fae38ee072035362a923c0b8c3d35ecc77b35000000000000000000000000000000002513903198b4d9306445af30ef65a531ac4a9233000000008ee6bb3504381136af3fe7354a2fdf358c02153647a119388e0f02364675f335c79c0536b31d05363d659e35c7b017358735a0351113a8356a0708369db106367180293639b03337f77283362fd7c035b189bb37b2f417381389c135456c783507cc9f35bda7a13552834335a0d139356a7605357cbc1135ba33003189297c3f5436843c290a00323e0d27326f1f6c3f813c023d9b73163658840536b6f3523f4a79a43a13249f38a598f835d2ae253f970d1a3aacca4d378de08f359c6fed3ea578d13bb0b80c36b9791c3640ea923eb5b8163972bcb137944ee7371640fb3d4c849d393a754138c6f09f35dc03723aa8900b3a8a6cf13596cb65353f3038353d57bf34dc5e73348fa08a3559324f35628589358e616c351331a234ba9f893460a1b2343fe7bd346a086c357f42583579f07735a30182371e5ba934ec7e3634c3031534713039347d92ec347a23cd341012ff34bb4af934e7c3d1356580d735d599e6350003493737052c38acb7aa377c4f2a3836116438e1844035b8bf9034a67f3f359d970b357211dd35a151a435e2b6a735e851823549f32135c8d4613fcaaff23dc75c7a3559ff57340a9e533f7354163e30eadd3546ea4835fc13363f3b48063e0fbc1f38e5b21234edde093fc158013ea66d783453efc53462ecc23eb455e53d24eab2354a63863630d15b3eab1bc73d795bce37394aed37345a673d18cb9a3d14c79538905b8634d5c360377a87ca3bf3e10435fc80863505126435bb1e83353486893514e984361f863436a5907a368bc28e36c130cb34ca086833bd60a4342d80f1346cbcec35a50ab03563a7d635858c1a37d2df89357c7f6f3542016135766c6035512e3d351ffd0c35b83e193508ac1b351a53ea3422df0a3565d0293572320d35de3a2037042e87364ccfce363e2ec9377d941d356a7dc8343f1ef2341fcab9344877a035d0539535df309c35fc799335b29012364c4e313fcac19d3ef4887c366fa1e432a85d253f074dae3ef53cda34147cc8351939083ffd2ba23e5b01203736d45b3587d4c93ef10f913eeec17835bd560b3541f4873ed51a6b3e67d81e3525ebfc34b51d103eebfd2d3ea1b6d5349922a4363cfa0d3deaaec63de69c2838cb1bc234379e4238107b2b3a102aad34e50dab353b63c9355d91a135caa98035105fc534a336db33fbb2da33127eb7325840943550d02435f3288c3549dab835e53a8a35f06b88352db6b9350e2f4237d1a90a3675d307369bd109365a010c36e2f2dc35533cad350af4d3354d4ae5357fbff7354ee8fc35aaa81b36fc2d1336079209382107e7374a740e386b3432381087c13592ec9535093acd354275d6352dbd9734db82de34e7f31034b15b6c32768b2032d18dff3e235f003fab0e5632dcf2e034c857e93e92dc073ffeda3835f828a9358256bb3e13db003f44529f364f5205368c4b843e58badb3e11910936789ab03592f6383e8e62a43ecfc6e7359d9c173680069f3da744713ecc18e93545cec6370d2dc53cf13fdd3d7eae1238c94a9b3513c4f035c4fd7b3ccf54e235697a05354a5ec43414b8fd35790d42328019b6358b009635a7d9a535c9439935415dbe342ecacf34cbf9f534c19adf3439132335b8eb0c35a4441f35d80e3135691953357cdbd5341e64bc3471b7e2342f96253522bd2235fa153c351e473335851a5c35799e60353c9d773581796635d1d7a8370ba72b37790e7c3798a0f737cc4621357cf42b3451164a357ce10d3505679c36d2819e3603cc933657b087363bf46235210f9b3e2ce6323fd7969d35e2d9a33471648c3e51013a3f6075d7343735f1342bee443ef65c2d3fa2f52635b69dcf349ebcfd3d0027113f073b0a350c7a23352f2b973d92f0dd3e2dcc20350867453556c3003dd9ce953e3f236b35762ca237ff93a33c6099073e2b1ef5375c094134b5738e37eacf753cb45ca2341d5f85362ca88436ad113438e66c823666aee63595967935e5e66e35035c8c3584d04035a9dc273342251134c539dd340f05903721a1d63639820035e9fa5036cf8134362baed4357665ce35a7b20336ef8e0f35dd9fd3341f3bdd3487e6dd34b9464f342d5580348b1e8b3438e65c34515566370d1503372a4f1737323cff37b2cd04356ef1a334b042fe36db01753746fea7352eb9923596ed7a359e785c35fe178035cd3ae03dfa30643fd27c8535e9c33d35fd9fb83d8492673f9731d133aec701389c7e933c5ed3593f5f2abd34c00a5c3733d5b83ac002303fc4d550373700ed3457b6033a881e023f56640d356a52cf343a3c3a38e159ac3ed38b43342ea5cd3729fe503c44ee143e2d38153808a3a134b4898d380d63e23c3778b534a0cf88350028a635199f11374ab04735000f2e3513baff348630e234a2b806353f5b9235866d8535595f653574a08835607eae352216aa35b6ccd3351773cf35c59e183621c1113636ba1236a0e70f36e0bb8c357c3971350ec2a03563529635f743f5359916f23591610c36ea20083627f30538669fef372c8fd6370f674438e194b43555a7ad353fb1bb35f0e4a7354112e931eedaa931749ab131da35b031b312cf34ce8b9a3a3fd57f3f5bca8f34231b7135b5b4c53779fe7f3f01556d355f53cf35f6888d3837b5603f0595cd36987812364192163858e8363f98bb6a36b08e663555f7e436485a083f9623b135ae790d36bd96e437d1f1b43e1b6e8a36c32e563832d7d238fa7c343eda0d933887d9d63559175a370e6f3f3df675c2351a9d3f3171f8bb3049827631af58833100000000000000000000000000000000b8e821351d1a2f351bfb3e3517402a35aea83837839fc534bc57b63477b6073700000000000000000000000000000000d9835835baf1543513cb663539065835fdc4b037b610c936a3fa0e3536d0b137947b28369722f835bf615536a18b0c37e18b173644ad2636a31c1f36c0601a360000000000000000000000000000000000000000000000000000803f00000000bbab2d359b1c253593d57b3f678820359a6ed437d1ce48387b53603f4563a93800000000c9560836139e313ff416a537becf4935c57f363561c1013fdc494a3525cee4374b12663899d3a03e37a79038454af2366c6c0f3813a0053e04e54038abd71c36a5dd24367664c53c27ea2b36000000000000000000000000000000000000000000000000000000000000000075b7a23557970d36b8268836087cb336ea772b3369652933680647333975823466a0ee35ab91f435f1c20b3607aac0367ffd0d362bbb8336a77ede367f640937c933c134616ec3348dd2b6345f98a835f093fe35305d0f36e7991a3689f9a336b1084737e204b937954b26380bf23c3800000000000000000000000000000000000000000000803f000000000000000065ef87366628713fbdeb7a3c8cebed36b93a43334b81503f020ab63c9356cd38bdf703362c8f253f6c60b63c52ee3838e0e6f63626b7f83e9584853c05abae372a295a358b58a43edd7ca83c5e1d25360408aa365807243e556b9d3c203230365689423877a7263df3f36639d144233800000000000000000000000000000000b2adb733557bcf33fede24353c11dc379f65fd334d631734a46c31349f362a3489e2b73263070533e8904834bec52e340000000000000000000000002dff0836000000000000000000000000000000000000000000000000000000000b19cc3520f4a83525dcb735709d7b36ea2283370000000000000000a8e37734f58c19370cc75635b4b7f734685928354e916f35fcacce3367be743f3226343d11b1273841642234df945a3f380d8a3d80116a3721c6fe33e415383f7f499b3d50cc4a38a9271b34eafd0f3f0a25983d4b9bed37000000004541ce3e1f40983d4aa3b43700000000c50b833e0365753d95f78f3709028337fc57db3dc04f693d4965d537000000008747073957b1a23c00e61638cfdae433c19a43368d0e4338ae554c38aea97c36dc6d7d36efdf90366a0d2b3802773c361cc74c3640e0ba369b8905370000000000ae3c343cb5a7341e94173687ead534cecb0f356dc824357ba6b1352d8b4736b40d91361bd7d336552465370000000000000000fc248235f8f5d9352d0e9135160e51365c5c9c37c4c02138ad9fb03644f3b2365af1b736958cb037ca743b36754f2f3643b53e36a59e4c3623348f3644f15a3f0945143e484afd383aa2aa36e32b3b3fa139493efb96ea37616214353f9d173fbaa6643e554c073892291e355043d63e3adf603ea42efd372af0e23691c7923e132e453e41834e38c9f9de356150143e97c3303e06a0d737705e0338d617063dd45ae03d37f38a38a0b1af36945281387f643d3b6725a438606b1936f0090937ed2797382686aa38eee5a736cbe7a836bc7cbe361ae013382573dd36fb9ff0364eb30837233d1737d7bc2935703fa535fb9af53580fb0a361a1614358406453586738435e2a49d3511be0d374837273796fa4337fd698c370a89e235642d0c3624bf16366f1d1f363d68aa352b5fc2357435d13540d8fd3656743737a2273a37fa4f51370e545b37eb580d37d174073702d30a3767600937a021b8363e3a2b3fb1b1a93ec44549388842053768f10e3fbd2fc83e47fb9f375bb1f0352420d43eaf5acd3eeae1dc3783a7583515358f3e3adbbd3eb1eadb37afc251371322183ee297aa3e5fe58d384f592336755d773d8f2d8b3e7e4e1338b454ac35e5314f386e92243e51a22e3842d04337bfb401386ad14e3b2e554a38835506374a85083744199e3881af863871810a36a2331e36fb212c36d8bd2f3618389e34ed801d355f429f354675da353092c132cf1e9233eb708034e3aa843500000000000000000000000029480f370000000088f929351b358835f42e7736000000000000000033f20034b120913764669f3446e9cb34281c1e36dbc785379015d035df1ce335521fec35cc38af36fd2a013683beef356e53ef3507b90e3670d32e362ab4ff3e473c003f4d691d36e0858e35f46cc63efe87153feeb65737c8a154340551863e950d123f164f0238ae590f37da1c133eb30e073fdc4c3d38c8637a364166c73d1656ce3ed45a503840cf8737e81636395db5a83e3a5968389be02e37980e5b38c78f2b3efce053389f5dbe35fe543738af20ef3c1feb7c38f7d9ea35844b063691e48f37d91f23374536023787ca043787f00238117ffb3794550837fc7a1b37b1132a37fe033a370241673589678d355ac39f350b32ae357251ce356093fc3547581a368660473650562837b8b03537d4534037ab1b503720b57135cc938d35e06da2351c80b135404ab2357859d335318b1536759c2236b1701737a6a8183759372937d20e2e37ae79d4368151c6364dbacd36c0babf37a681cf379f2ba03ec916303f97080837ed7c3837558c613e6cdf463f4fcf4537c697be354c12b23da4c7403f35548e37167f2c363601253c34ad283f8a3c8037272c5437eb2ab43894d0043f7ad29d38e73be935d2701038f250b33e0c53343800850436be7a1b385cdf3d3ea5be38384b0d1c379562cb37bc8c513d5a742c38037cc13662a63638c505a5382df17f381bab6937c2c72138a1f0753868e86338b7b49e36ce0e9f36e0489a3641ffa43659a33b33b19a36340ef3533438005035000000001ecf2a33870e9333859a98330f1f6f361d3b9236e565a8360f17d436b4821b3563541835657b0335da673535142427358d6249358ac1cf35baa3fc368b52fd367e9906371e8e1537bb151d37162af5379480ed37f04b2f38a9584238c34d923818b1063e6c735e3f85e9333788239437d66a153dc006763f0a375737dcae0a36d641a23824c25b3fe6596838ffc390347e35d237afe62e3f23e5e637bb83d136584730385d77053fa67c7e3843680b3524182c3851b1b93e615cc838fe7f1d36abd00038e0c33d3eee5b2f384c391337cfdfe637e962953d23691938a6a9233800eab338132c2d39c54dbd3841d4bb35131fdd36b8f09c370b09c837000000000000000000000000000000002b8c81350a2a8c35094e9c358869a03500000000000000000000000000000000000000000000000000000000000000000000000022b551345653dd336889d535cbe3663425fa9b3416b643344aae0033e4c456349d5d2c34a60b0934737a0d3489bb4d35348d1e35f1f15b36cab55c379b5c15380e8f3f3c14047d3f6ec16d37000000008cf20338a6067b3f5f501138b3eaa735a541df36bc2e563f4c404e380000000000000000e0602f3fe3271a380000000000000000bc03063fb5c12f39ee45dc35cbec3e379a54ba3e86e9b638006b2934f84bb537c809533e635ee83839ad603457ab9b34ad4fa23d769eec373daed236b602cb37f546603879283a3800000000000000000000000000000000f465613611f04836efcd4d369f539b36867f09360782093691a9113603d61936e87eb43440e1c434f020b434c803c334aa17903633778936f0e2a1369160d03684ba1a36d0fa1e3620eb1a367a73233668ca0233b28c4f33f19f15333f6e1633c0c2c7364326c1361d95d036a163d4360000000000000000000000000000000000000000000000000000803f0000000020678b363ec08637e59d753f79ec8f38fa912536e6ba3136bf0f523f69c8613ad46eba347548c8340258283f4f84ed3a7746c0368667f23674b2fe3e2a478e3ac5302c36f1229436a26aa93e62ceb43a0cb923335a6987379149263e6ef0aa3a5989cd3616b6e2360504303d91fb413900000000000000000000000000000000000000000000000000000000000000001dd8cb34cdd85c356b82cf3549ab9637c7fd3b36cf82503663a96836a607203847840336012025363bdd56362920a737b5282835129a42358175b93632780e38a792353667983c36783024385b5ba738eeb483362c918836b843b537f2574038c44ba43530949e35c97ba037c9c7213800000000000000000000000000000000000000000000803f0000000000000000b3afdb3557ea5f3f93102e3d6827553ca32a7236f7a43c3f47f6263d1e3b843c080b69367fe4183fd52e333dd279853972b294370b16ea3e0cf42b3d523d4a3816ad7a38f6eba53e45791b3d0d41cf38d95d1638c5fb423eca30143ddd484f38fe621738d551773d84dfd43c6d1bcc37000000000000000000000000000000000861c834eb6dd1341465dd34c06fd136689eaf3460d9ba349567fc346bf08337ea570c3654c329364f6b48362f33ae37672d9f342057bd3401a39135ff55dd37c4597635d4b98035f3898335308a84379be02036695f40363efe6636b8490138455b8a368ce9933673f08737abba5f3881cb3c369d3c3a3653bd3a36edef2f38caea1e35f9fd2435caf7293518474635cb3bdd346d3d703ff607583dbcb5bb3940ca18358ffd4d3ff96a8a3d42d11c3ddfdc4d3631c2233fbeddf23dc86cae3c1721c5355110fc3e5b3e0c3e822da5389de59635c7eeba3e44a4f63d09b80b399c7c7636bb43763e9937d43d351c91381fe40d38b303053edf3b813d68319538120eb13795468039c1ee223d756a7c38598b28351b715735a55fde3583dff73799bcf532bf90f4324bf748332abff23731e8883335838c331f738f33b1bd903309f22f366cbf613680348c36f91e7e3782fad434b0fffb34f5fb9c3529ccbc37cd3c1a35ddcc1a3545bb173501531135611ba33638fbb036143cbf36c0b5e7377d9726360dc0343617224636a632d037bd602a364fa02936799632362ce83f368da77635920c8c35c862a335491bbd350418ee32e3ee4a3f2e6d4f3ef73b8538bce28f333f8d273ff79a7d3ec143933c38ea9236c50c043fa790833e8a388d3c2b41bb357d62bf3e25d1823e371fbd3b3c681735d68a853e27e85d3ebd7eda39a87cc8366a77093e8734383ec7a010395b596a36eb334b3d03a6003e20887839d385333613a5a937839ae23c4fda833a2cb79f35349abd350172e335578cba37553338350a6a4c35da6f65356410ab3740e0b03495eb8d35db55073623842f36a7f21e351a1aa7351ce01136eeeede36b891c4359a87e93538042a36d1701538967b3c357a3b4335bb9e4835ca6ccf3790a63535653d85350aa1c435954911387cc674365ca37f367eab8b36a0511d3768b9a834a4acb2349fdfb434e5139c34f734d434319ef33459310235edb1013522886835a343223fe850bb3e8f4d0938e04808361aec003f2a0dd83e09cf89382f262136748cba3e50f3d03e1f6a873c3b733936123a823ea4f7c03e92927b3cb62f4c351a9e213e89b2a53e30f0723c4e93dd35086f8c3df8bc853eea64703ce3f58d36aa0e8c386826433eadbaeb3aec6aaa3451695a373791183d9dd62b3a6805f9345f590a3520d5a937cdd5593828b3c834237bcf34c1ea1238f4857d385ef21435a9f0183591e67f352191fc3700210e363dcd2b36b0275936d03bc0377de9db3407d88435b094eb35c18d9037bff86d3577b07835af15ae35015d6738bfc9e73576f4073691f61936f836f43701547936d5e98236c5dc8d36c7d90638d446b135a733ba35f120dd354832c2377b1bc5342094b93425c2b034145d1135f8622738799df43eb4b6053f3f15433882a78235c58eb13e4210183f768eb338ac0f6836971a6f3e0be80e3fcd0e3a3cfb520b36b3130f3e9d9bfe3ec7cc943c46262b374080e83d2953bf3ee35a553cd4162e36b932643c1425a13e8ef8883c639f91368ca999387792473e99bd103bcf17d4350b047338224d6d3d31d6a23ade2aac3474f49535351d85383608f23822dc233525e22535a91e1d385b0646387877173433ca6134aa828434f9968934a937263636c74f368952743699518b360ab5023520936735f413b735628aed37c6f16f3597706d3587e864358724e037f4a6173692272c36d93b3f36e7c2893784421f36e8862b36fe1b3b360dce00374bbf423675e43f3659784836faca503678bd9c35424e99355f809735cda4a33581914038ad8ea83e5bba2b3fd16f3a37eb877734a7ef4c3e9b23433f83a618385b308636c6dbb73d20d9373f06ffa5382c2adb35d86f093dc0951b3f13666d3c1e65653530c9443bc61af83e4199873c31285136e95b9c38f361b43e9ec5c53a42293d36bb692b383371493ef9a96f3c1bd74336666af1379782963da1afaa3ad1419735ed5ab035683c503842315839a32e2436ba0b423661a9df37c745c6379cd84e35d5bfb03505e80036f1dc2036716cb535a4a7f13596201536773e34366a81573642807936256393368fabad364534043569e70835efa20a3579ac0935bae80f35444714352a2b7d358343c43556fd853693de8a3659229636dca394376a17423465213334197e0334c88d9e33ba2e093556150235f4e2d7351302dd3789eb22384b5b363e4972523fcd09d53503380d36cfd21f3db8b16e3f519c30381a5a2936b24d3438b6c54d3f4f44ab3c6db09d368e76c5375d982c3f7473433c66a10d359ae213359c9d013f120e863cc6409435336ed7374d2bb93e4ea8673bf65d973696022938dfe1533efcbc5f3b5dabd1334389433765e7a03d492bc33aa637343638a80b382d3a973bc7372039524529361d222d36295eb737f350e137e16f2d358fc7433572d75835a5c38035d19092350c63db35abcf20364b19633621f39a357b87cb35591af935f68c3d36645a773522d77e35c5a28135caae82359a0bdf34b8953135821d90354da9da357d966836d0df723672a37936cbe96e37db3f0a36c6400836d10d0e36ae8be237abcab235d6eea53544699835a5345137be9b16383be1af3c8e8c7a3ff203d33594cf6235d121ab35cda1753ff994113a3eec3b364c211b3772bc4a3ff7837a3c4d590e36fc835b366563243fa0b0693c0364843544445636b3f2fa3efbd0ca3c6c2bb935a105be37295fb23e41adbb3cd0de7e364ce64c38bb4d4c3e9f9bad3c4d8c0e369e846738dd99b43d09ebd73ab5df96358318cb37bddb033ca79f0c3a00000000000000000000000000000000e862963472b1ab34e451c434dc4ddb344d0de43566210c365f153036f0d4633682b5ef359ead0e361b4120366b8f61371dd81335b05814354a051735bc069d35cfd01a36b1142d36e71146365b5b6336bb3b783633c37f36101c8136c04ccc37c26d1a36e4221b364a261e36665e8d370000000000000000000000000000000000000000000000000000803f00000000bebbc7341274df34f2d4643f7c08a43c5c12433608f17636f5f23e3f79cbe23c93292736aedf283843211c3f75eae63c42d81735f7eb7f37a00af43eb16ec83c42b056367a842c3747dbaa3e549fd03ca1cc81362d9c43386a1d3a3e321bca3c50131f36836dfb370dd84f3d8bee9c3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0ee0a33a5755633476b823323646233000000000000000000000000000000000000000000000000000000000000000000000000a1281033d2c553333f24e1320000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000000000006483763f0000000000000000000000002947593fbdca16397d438338885692334e332f3fe64d0538c75bb233000000008f82013fafd3de380000000000000000eb87a23e8ff38d3700000000dff39a37906a173e3d235f380ded233400000000c557fd3ce384d53700000000000000000000000000000000000000000a6627353e814735d30b3c35e67b4335a77563347d026f34f6948b34167aa534cea715310000000000000000987337337c4da935ab44a935aaa7b7351deabb35fb18d9351516ba3518afd535d41fd635e821073545e70935a63625357d7b53352ff057352472543567565935282c593577899335c2fd7435f8cb843521a58235819ec834aeb0bf346e93db34fc4fcb3457a7643500247c3f66b9ba3cae9f94354b65a234a4f4643fcb29513d0a7ddf34000000008e6b4d3f3e97ab3c25bcf034b639db350725213ff295843c02a0e63588a5d935c1f6e63e495eb13c3226e835f2340e35983e943edd54d33c3455a6350c3a7c355f7b013ef180e83c7fe47b353fee8535dfb7973bf6e7a13b98a48235de5eb334b4efe3348844e134bf97d3344e280434234a853435789134d732e53400000000000000000000000095d025349f5905336389e4320dc20933da9b7632801d3c34f57f383486f66f3443197e340000000000000000000000000000000042f2a333ad44bd33ea64c533a4889033b5728f3294689432223bd0328ec5c93200000000000000000000000000000000f5449c35900c7035d2ca8b3525b8a63545926c348b73623fdb24003efdfda7340000000014f4503f9734233e7ce36f34bb021233ee02303f22ee0f3ecf6d933174648734e173013fb0261c3ea53c8c3400000000d777b43ed8940f3e0000000051f10d341f57363e566b0e3e25373e339f299a32c67d3e3df21fd53dd01f9e3200000000161f9b38589a7f3b00000000d2bf3235545f5a35b7678b356fb9a63505b01e355ace3a3568629e35dbf3bc3500000000000000000000000000000000000000000000000000000000000000004bd33733b4098a33888aa13331d6c433000000000000000000000000000000003779d6334221d2335659f0331913933351221532ca79e632b90cd732d364d3328c223034cdf1a933c9c64d3367d92a341c2080346ff6693421f43f3462860135e5061d3512d83a3ffcb18f3eb0dd8c3500000000e1c7243f6875b13e00000000000000009703023f1a6ea83e00000000d0d0553348adba3e2b7fa03e62c15e330000000044105e3e8e84923e00000000d157cd33f7d1be3d14456d3e05b38c33f0670c33e2ffaf3cda29003e9594a7325e0bd0330ade59398e71a43bf198ba33ed574234a7a25b34cf807f3677264234677da33499d193344fb0a53401e8a634403833356f690835402520351c432535ce4fb1345c415d34f65398349374a63477aa8735d25481354a58763531fd733538c51836f49110369b181c366f0e1a366760873511eb6535a14e7b35d76888350fcf0035754fe43462bbdc341a25d9340a815c35fd762d35f7cb443552344335226fac3446939e348df4b23421caba346729ad348ebf073fa921f63eecbdde34bf3621351a36ef3e9e2d0a3f81e13935c3218734fd1dad3e594b053f48119d3427a6b53546075a3ede91f33e5bbaa43542fd21367b74e63d87e2ca3e11d72c36b49d8735ab743d3dc802913e19fcbf3520c9f8344b62b23ceb01093ee8890235ef453b35aec1db368b1cf63b17c55135f1f798346505b3348807ad34b9e4a234de663c345909843432928c34908cc234199f883446b6cf3483eeca34f45ff3340b116032e443c73219b5a632e104373288bca133839706347a11d9337e837334000000000000000000000000000000007bde2033262b52338b183d331183cd320000000000000000000000000000000000000000000000000000000000000000cffaa435553a733506ff73355ce79c35c4c05734f665a53eccd9303f066b913463e56c3422f4923eea4e383fc8f5c634e944fc32301d2e3e98f5323fe724df3090c8d833f0ca9f3d00a11d3fd78bca33000000003a90fe3cf816f83e00000000320fc033597ced3c6c00a03e40cf1931000000001434d63c1a451d3e0000000000000000f6ebdb370569bb3c000000002ca16e357f57893599878b354b1b943588cf843530479135d23cb835854cbc3500000000000000000000000000000000ac18863202a16b32913e0a325c3cfc31e6caad334da7f6331c6305348018063400000000000000000000000000000000aff18d34d640833435808d34021a6334ea911533f5cf3b33f7c12d3371d6423300000000000000000000000000000000f091ae343581923461503f344dfab834864e6c35adab163e60c95c3f38f66f35000000009463fe3d671b623f000000002c0ea132f7f2913ca49c583f6e8393328bf2c0336de1843bf4f3313f3975e63300000000f8eb543b44f4043f0000000022487934c52d8f3c68f0ae3e04bf743455280733cf7fd83c886c233e013228330000000080a1513bb53d083d00000000bb987a343aaaf336e8af3836a8dc503433a9e134f99fcd340818e1349ebede341c40893507d5763557557635ba4d7535f2f78535514e5b35821e49350aa65c3544612235567b5b35a0062b354d8552355f81ed35690ae735fa99e8354c16e135e2d6f335ee5cd3358a3ccf357d9cd735b32a61329501a9331518ec33ffe24934c882b634f99fc2343145ef346c7aca343f1e8b35976957356f756135e4c081359c7ff3346f69083dbe0c7a3f28b0f634ee0c883573aa823a19297f3fb7558d355ef673352ac96c359da95b3f9d716135e105b33539aa04363409333f683291359bb2f635f436323683ac0a3f5f9618361cace1353adbdd35c4b8bc3e06b8fc35f691e8342c1de13a809f3e3e67650835d1b5bc347910b537189d843d9bb246357f477435c5d2823591f27735556275350000000000000000000000000000000000000000000000000000000000000000ccc72d34e06a043443fcb333a828e4330000000000000000000000000000000000000000000000000000000000000000437b143425ffb233aae28d33c503633300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000000000009cc97a3f00000000f3be0d346c644b34bbf85c3f9e55a53600000000000000009e2e323f5df784390000000000000000e4b8013ff3ef5b361152cb3360c599376054a83e8db51c38000000007be18939ca3a223e685aaf39000000000000000059733f3d000000000000000000000000000000000000000000000000000000000000000000000000aeb08635c06b7f354f0c95357471b635ad940934bbe30d34c7503134600b49340dd1803523f28835fe289e35fa1e6936ee65d035661dbc354e5acd35a43c0236d66e9f34f059c234bd1ba234276faa34573d7c353f777a35687c873525a400378e3bb235e15796357d0c88358e6aa83500000000000000000000000000000000000000000000803f00000000000000009c0ba835f5ae6a3f3fa1173d306d7936e1283f3403a9463f9eae1f3d06ea47340713b93568e7183f3e396c3dcdeebd37f0e2e635ce19d63e0d0ac43deeb5fb353031b2340b22883e9e7dbc3da5a40935df481b37a8b8113e72ab5a3d6d94c035f798aa356e06043ddae8ab3c1761be350000000000000000000000000000000017cddb336f44ff33b6641f3455fb4b340000000000000000000000000000000000000000000000000000000000000000112920343d311b3486ac4134a66290345088ef33bd6e27344c444a3425aab83400000000000000000000000000000000819aa634b2c79d34072ea6345253c134e24fe5347a78c834d6238834f20add3436673d34e5903b3437257f34c7d3b634d6d91d34a771723fa2536c3d07a5793400000000507b4e3f1219fb3d0000000000000000628c2a3fde110e3e000000008a7849347fbaf03e6e0e483e6f962e3600b982340b459e3eb5a4533e48a29d34000000003c5c353e45fe393e1d1f99318fe4a0348cd1cc3ddea9b23d95b2a334afdcde3497eef634a5f4fd3c5405d034660077342aa77134a4f39534338f243500000000000000008bcfbe338feffe3304a674345af99a340c640935473d3e35755dd63491ac0635da60573546919e3574afe63324c4a233da1b14341901b53458039635a11c9235096fa535d941d0351ba13635b6ab5f358e6c8d353b64bb359a720c35f8d8fd34026ddb34773319358f9d9735b1e1893565b981356cd59a35fe14a534fc279134a83895349950c93471ddab339ef75b3f7a4d143e3c520e3362cfe93402cb313f9e80743e1e394c35e15e66358123053fafec9f3e3b4da135d75ef8335e25ab3ed08aad3eab801334c0dfb3353a67453ef794a43e6da5e735ad436035c820a63d2c91873e2ba4e635b458ec347052c23ae018123e443a21352c9f683536fd8a35d88eb73b1e4ac835afb583340aa29934000de134b1f2e534d688c1346824b234e62c09352fbd0c35be6a4d35d12b51351fc0813570e5a3352d520735b0f5143551e833357d2060357700843561719635da04b13593e4e1354bf0da35ce0cc73513c4ce350bd0f635e465f03443000f3534ec0e35db9b29351d8f4735a0896235496a89355cd29a35ae405b3502ed3c35ff491835729e323503e47134634e7f34416b7c34ca0974340daff634025e313ffc9d9f3e69a4ce36dcc5863598a2063f9b2adf3e61308935bf3126352d41a83ee7e1013f38214a353e0ed535cd38483e562dfb3e78c91637504ae435ad315a3ddbd2e83e38a5de35b3ed0b35d8254f3a3260a43e71ce833582e59f3599d90437b7371e3eaae811375cfc3335451e3b351e0c013b73be323539ff20341133683337674036142e9535518a3f35fa142d35690c2f35693b2535f0fff131b18fc8338972193439ba2f34202bcb33eb6b1934f9725a3412621d34472e7e3413f57534c8da8634b9be9c34563a933421238f34f9a99d340c31d534f6e69934a2398a3421419f34ebdb95346a2164345ed26e34e0cc7c3450395034c3674534a0250934dc1727345bf45d346ac4ba34799faf34af6cdc34a80b263563a745354f2b023f4e39ff3e2da3b2348bd13c344791b83e092c233f75193b32945b0a344bfb403e81db2e3f8c890e348c626b3487bbe43ca629273fa13271341b59ab348542a03a45b3003f3ecfb434e9a778344685e0357b02a73e714a9037c1f65b34cc2a3c3428300c3e4433eb33c0a03434260302349034043c33472d34e0accf346b2bb23426ab86359c176a35533f9e3454a5bd34254dda361b4d12356affb9348ed9c7343b720c359edc1c351bb4ae3490ad2935c9fd6c35ea5cba35361321350dc30c35c8d3eb34ac142135cfabcb3535d3c0355460b935820dd33524323c35e00f6835ee2589354139bb35d53d4d35bcf13c35677c1f35d4a427353d598235f6a171355b5f6035dd9783350c338e343efb9034d4ada134f108fc340621f3363ee8a53e08b82e3f9eda4734ba940e3568dc413ed6b1503f99402e35b6ed8735cc1b103cafdc573fe12ec5351d5c0735348e1f37571e2f3f0422b3350583bc358c52cd35331b003fedd08337292e87359274053774dfa43ed0610f3887a7263516ee2f35b5322f3e31db6935f4bb5e3520066835a4493a3d6a027137a0ca94349abfa1366b090738d7e997371f778b34bf7f89345300ca346092e73468794f350f4c5735be538f3515daa6351908c734a6a1dd347715ff34222c40357fc35e3588305335e7c6783526e0c4353957a535ee968935598f86353d11a635477b16330b99e6332375d533dd2b1a34dde15d35b3c65e35618f47356158673579c92a35670a17359ea7e734e0b117350000000000000000c67e7b32caa0b2322af65c36f1f7113ea8fd5c3fec93bb341ea89435fa11123d0ec8763fa7138f35773afa349f397035749e5c3fb96f6735b139a235c38bef35808b293f9306ab37b61da1352884a9351d32fd3e3255e937d5da0a345a8322344417ab3e73561338f10e4c35d3b09b35bd07333e62f6c5366f980635044a12359f1c973d7aba1b350000000000000000db06ea38da288b36f5bbf9348536e5349b67e534ea47b734000000001f9648339c8f3934111f86343b5c9b343cd79834d859a8349578b13400000000000000000000000000000000c64f6e344a844934132e68340b13b03405b48a340d257234d72664349b9a8d34000000000000000000000000000000000000000000000000000000000000000056845f343a302d3455e021342dbb3434c198c9348a62da3b22927f3f8d897a341ff52e344c00cb340f38793fd8818934aa8c95340db3ad348cbb513ff114863700000000000000008e76263f03358739e3dc82344b1da0346f7efb3e2722d9370f107d34900984343242af3e0bd0b83900000000000000004f614f3e000000000000000000000000b88f9a3d92bb0737270e30347a321d34616df438014d2537000000000000000000000000000000006ad863356ded5c35d5c96e35610da0356b51583523b45a355cd163356923a135534a9634067781342cbf3434cd3945341503d8355028ce359c93cb350599f435eb70b235aad8b13508f89d35b36bc73504082f341afe2d34b36b1a3487ab1734d1b49735a8659135c4418a356c8b9e350000000000000000000000000000000000000000000000000000803f000000003a866435e1be9335d5d1733f2a77833a33d17f3593989d35b0c44e3fdcfce13ad5ad8434ca3e6a34651b223f4c49843c9153cb35f0ddeb35d0dce33e2d84533dd404b335d889bc35f75e943ebfff7a3d72163534fb4a11349ef22b3ece13c23c5bab9235f7be9b3545514d3da92041390000000000000000000000000000000000000000000000000000000000000000ec16f832d2ef6533bc22e5332b3f3b3759623632d64a3332f8f25432444b8535e330a4348277d734cc77ea34a7cf86370df14e322aee5b32e69f5b32ad5188379621c734b343b234582c0f35b38bc137675e2e35eab42b356a901b35467dfd360000000000000000000000005ade463700000000000000000000000000000000000000000000803f0000000000000000ec3c1a34deb85a3fb0c89e3d81fe6638f3bc45321ea0333fb839c33d8be6c43c220cf8349b6ce83ee1d06f3e5a450b38cea8633211ac933efa4a883e1c2916383771f5344c4f2a3e952c743e48700938a7ba1935af0d023e0db7e43ddddec236000000001ced0a3d1290713ddcd362370000000000000000000000000000000000000000c86451321fd4283760b17b38879a57326179643313ce28347c2316384639b034e1f5d6342d112035250cf83781dbf6347aadee34c496da3476b2a6376fb7a3342301ad34f3cbb634c93ed9374f767c3504a188353522a835c8c21a386ae38c338f5092333abb8333f14cd937000000000000000000000000e2ec39375a92ea33ad2ed33366b5ef3339418134e91e3037f6056b3fcf89ac3dcbcabb38d18b3d343677443f8b2bfd3d08f8a73bf6d71f35ddfa093fdea38d3e707e6f387ff3df342acf983e071bcd3e715d41389042ae34b489233e7652cf3e83764138cdf5143729f2bb3d330fa93e5f6c40387eb58133ee5ea63d8848013e6f41363800000000b8dd0a386c9d703df6cd5838c222ea333e478634092480365a2859380000000000000000000000006a2a42389cadb332b973393395ae6c33da41b63750ce0931450086317e9f353562f9ab37ef3c3c34f0707e348b3d5f34245c8f37439b9a344cda9234fff78a34b44b033812a08334ce495035fad99e359d422c38000000000000000000000000c7dbdd3776657334b1ed5734b0643e34d24f2b346d86e2346250ee34ea6c29357e96543500000000f1aa553f1eec143e9fd7d3384b648633fba51d3fb7ec913e04934c3830cfed35471cc53e751aef3e78f75538d8e0a234f5d43a3ebde1093f7ba64138083b1b377336ad3df2b3f43ee30f3238c18e0f37515d163d3ae7b43e76cba538d9ef90366d17a73b56a51e3e9a297a3814dc3134323d103440402639902fca396d2f173554514d3550d09f35c63e5538951ae03499c41b35c45696353dd53e38f3aabe3384d3fb33820582341eee97370000000000000000000000002f752a375d2fd93425f60435dcc04f35ee47d936cb26d0346d3bd1342ef9ce34aedfb634b11b3632c935503412784d3558ada8377a1f273601ab2336c72f2a36866aba3600000000000000000000000000000000000000000000000000000000000000005e9f9035c0a1273f4cebb13ef8478638bac3da348241e03ebcc0043f81d7473800000000c465573e4f4e2b3f128b17381b719835d5be813d39f6293f17700a3854f6c43421d7ba395ab10e3fb67cc33780cc8435b80c8938cae5b23e532c98385cc94536396c0e38d342e63d492cc83800000000000000004f3507389c8ded39000000000000000027b02a37a6bdbf380000000000000000f1f56237ca0c8138000000000000000094d131341c920637c18d2a342cf09b344cfee83408c6af37cc3fa0345388b2349832c934207b5c379d390335e4a7ef3432100d3589af03350e119734d90b9934781317352789f936b98620346d07c73232dcb63427e5ad3400000000000000007afdf6307360bd320000000000000000000000000000000002c76d37c313fd3e0716023ffe10e137de463e34b9de8d3eb944383fcb436a37c8011536f3d0793db494543ff78a19385e20d93427e96538d8233a3fc03f69385df10435482c6d374263003fdb3825381b161935883e03387e69883e2a5a183ce9825333431c5d37ce2a863d266c393d000000000ec49d334f963038ec78cf3b0000000000000000d1c621387e05c83800000000000000008f6fcf38b340ec380000000000000000000000007a80c03753ba9535c05c0836b2c92a3647f99c36b54410325ef1193298fb203255f87835156dc7343405cb34ebc6c9346a4fc034afa79034e895a234bc6ac834c3ca2835000000000000000000000000000000009e863d346a9c2734740c1834f2a3f433dce3c0348df4dd34bda60c3502eb30356e10d4387106ab3e0d3b2b3f00000000d61d5f3670efdb3d5928653f00000000a6905e36a7bd3e385fc2633f21c56e386d51b434263bb037915a273f01ccc43875c1c4344277c1341464d53edffbf03cf377e634e1a7eb36af824e3eb05f983d0000000062a45a35facf873d5fed6b3d7e9c0134b96fb236ac3e503cd9630b3d883b17357c035e35ebbcc838f2942439802c5335d67389378b9885385c09b4383ddbda33c3daf7339a3530346fcd3534000000000000000000000000000000002daf7534420a703479807e34c7ed1f35029f76345682853423c18534fa1b80342e18fd34d7f31d3506c25e354c005035bb3320340e992e337fed8334b2dbdc35addbb933c0269f33db11853347ed45338e18ff32a5b6a734fbbe14352cd01937ccbfc63c29bef73ddbbc5b3f430caf355d2a4734a4c43839fd2f803f40b0ac37000000000c8f1b35d6a6543f7d724a3c0c4e8734c501a8355d0b133f769e203daf7e863455aa8534dd5cb73ee772ac3d3dea4135bdc46c358492383e58edd33d3190d234ef97d4365f3ac03dda6d6e3d033e4c33feb65033f95e703db6b4343d7b5b2a35d958f437a4a00d3c9be4643c5c3adc3456c31235c0c201386a4945380000000000000000000000000000000091205533375b4933600641330ccc7233c09e093532c51735883e8d350041ac359874b934a765923441abcc34fb34cd343ddbae3423eea034649ce934e2ae013578585434f9c1bc338b469d344e4fc934e49bee33fb036833a75eaf3387a1b133de3b3f340d4d3334f0f91535c197783732e32d38cfb9fe3c61ad783f5a123b3500000000c454b233ab65713f8f5992387ad27833db1e14349a593e3f31ab583d5a7b88355aafb7354f8e003fa885a33d7fd4be340a3cdb34d9ec973e545c123e96d4e33452ec8736d04b213eaa75173e9765c633cc03473789a2e63d0f199a3d98fd0733bbdb1a3706a67b3db01f3a3dce5f8c354c8be33776bfd038027289390000000000000000000000000000000000000000000000000000000000000000318a2435d4722635517d3935e44142355dd903358ae02d3514a08035b2d78c351eba93320e3b7e322f446e32cff356323044b4342165cf34b4e60035d520fd34e4109a3247bbab33286c8834b9109f34be0bf1334cf7c3334710ba3307369e330000000000000000000000000000000000000000000000000000803f0000000000000000000000000eb95d3f753a363d8dae4a3500008635acdd323f7788883dac648e35e82f91358c3ce93e4c12133e53a25d32502ad5325d508f3eb9462d3e5ca209354ed0a936d466243e2032203eda319934f5589734b801dc3dbef8983d62b61133808e2e33de3ef93c73ea263d0000000000000000000000000000000000000000000000000000000000000000bb693036335b25366e10de360692413727f01d36046a9035efae713780a00438215e5d37749ca5364e91e4377b4e17389243a636c5e63d368b8ea63782a5f2371793db360b95af3630b98637b8b3ef372b756e37e276d73654a5ea37418017383a259e3764d57b374371a237f7a6a03700000000000000000000000000000000000000000000803f000000000000000065a4313657f17f3fd354ab371dfa4137cd3819379d6a543fa3f48a38a082cc375c8ec73768df293fba5a4038c0bf1138c1489637e456fc3e04d21d38da0dd1372e3e4a37303aa53e15945b3864c69d37d946b637a2911e3e488a43381385d63775a7673743bc63388e9ed3371e2a8637000000000000000000000000000000008314333557c62835eb5e5237a5e9f8378c7d113578fb023562fe17359029ca365969d03599189935a18ea236c29abc37bb354035ae932f35ba69a836b04d8b37b254083717d62b362c645437f7a8b4377206bc3686a2233647c4a9370b2e1438cbbeaa367aec1136eed8113711444537b7281f373683a8363b6a2b37d23c61370fa58a372f6f4537727a76377b938e373d832b35df267f3f237b4b3b340b8c371e610d357717783f749bf73c076119353630d73514dd4c3fbebbc23c2d25a137f28d3635f528243f4df7a23c21b92e37a8a80f37dea0f43ef7d07f3cdd69873775d82e379711a23e05868438d2e9f237444a463673ca1e3e24676638c8583037595d54363b95f53764facb37929c46374428e436e85966375d34b13705f79b373525d53646a1bc36a2f49b373632cb37a6268936692c843682958d369e2c91374a1433361a332736a63a46366bac5937e3c6a136b86796361ec6d53624961738648108370d86023708fb0a37b8708b37d05d86365156733675da8b3627bd2b37e7712c371cf13a3645648c37f7f1f0373daaab36844fa9365839aa36d7d323376e869837ca856137194b9f3775eacc372a70ae360040543fd9be2e3efcce50373c188536e1ec4d3fafde393ef90e0137b92e2d36e873293fbce92f3e81c0513675e799368e320c3f8eea0e3e1621ce37e1720637acfbcc3e92eecf3d099844374d8977363b80853e92455d3df3ebc836d3243b3677c30a3ec8da873c525fb53729cda93628b5c43717b8253883c5ab36d867a936bbf0b4376ee40838a164c73768cf3937c04f3537e187ed3795320738accae136b978c6366f77033763ee1e3873fc6636077583351ee204378f4509387118c7369231bd36da08ca36bb96b737d0608137435220376ac0b337a49639384588c337eb0c79363e46053865e36c38d4421137d5dea83693933c370740f0372f92b137303e88378b89ac371ebbf2373966713799ad0f378c946c37f8a8a13788933137797c293f71ddac3ee84d8137764fc736bcc4243f9c86b13e41f1f236db278635bdb20c3f0b0b9e3e515d763753d6c33616c4dd3e1c1b7f3e1d925d3723442e37baf4a13eea283d3e0df7f337708b703719b44c3e469ef13d941636381002ac362a2bb83d4b285e3db2d35737dfe25f3793ad313848736c38946faa37ed5ad736d74a8e37affcec376e319337df10a336e6f583367ff802386e372038c9d09e3588ff98359e989e3597d254376855e0361957753611723e378dfafa37243ee336e46f8b3582c215374d720a381c025935c509583580815735f1db8d37257f813731c8ac3654b28437468b2338dd08c637e9886d37a430c537eb8a3038aa731837cb7aa7358e76013726188437aba4f837a3058e3742bfd437d9331838bedd37358180fc3e1dac013fc58c9c36926a9e350f55f73e4c44043f17b29e3580caa8367c4ccf3eadd2e23ebff892370450c735b06aa23e4814ba3e28389c3703035b3512bf6e3eed8f883e6faa5835365f1537f0a90b3ecb3a3b3e7fa4b63777678237c573623df6d0c53dfb35d2379df6a935df94ae377aab82382b2010379810bf360607f937e2f95b381919e4377ce4fc366deac13645df9537d921ba371e39303730e5c2368f5e49372c57be37e092a5364cff9b36a427a236e8cea337a5c9ae379d3a7b36554283373bf55b38bb10a837603c323726708a374165313899b53d371e42ca36db80eb361c7ac6372afbe337a4a03737b117a737c17c2d38c7e2d837d1683e376f3c8b37a6a14538583dda37c9e4b0371969d2375292fe37c48daf361448a63e2ec72c3f1c59a136cb85c4361864a23e92c32e3fe0eb1537dc979f368f26883e6ffe163fcbe9aa36bda7443707784f3ee55ef53e19280b381cdd6f37fb1f113e08d4b63e3415df3798fbcb36004d943d0e1c7b3e9ab66c37d70c4c375ec1063cdb8a083ef2bfb1374ffe2537d91a663810a01b3cd0be8037237c893791dcd83752212638fb89d93794bd833717f641370e22af3724bede37b1b3a536e93fa43621ada2364fdaaa36d90cc6361016363653973236303bbe37a5a791363d5e7b36730b79361c8d05371fea10377dca0837b5d40737b1c87e3781ddb73757c8a636264fd336de091638bffe0e37589b4d36ad2551360aa79f377a1b9837a18514371e045437370db9378796af379e656d3704fe9137c81ac337866e69378d9e1f3ee404583ff9fd91368c82a636252c1d3e82aa583fe67fa336e96c3c3602df0f3e5411353ff2ce1137439c8636b180bb3d08f2173f1756893616f60a378b387f3d0e1cdf3e13c314370fcd4b37996f153c61639b3e395ec337a98653368a180c3862282a3e791a5036f5db0537bf3abf37b486643c418c5337f9bc313789179f378e950738096a963793258137d5852f37f11b4137b82cba37bd058d3602dd5c3556855c35a2ee3337ab6ca6360e580c36fd17fb3599642d371e5e8f37aef33136d2ea233627fae337b49263370c2d1b371837f3367cd78e37570c12375d2f82369ad1b135cb1f3f37cecb8c37dc10f936d023c036f3e3be37e07f423694a21c35305a1d3567604d371a42b537db951237199b5b3747d5de37acba8037d4ee4d38eaf37f3fd001ea36bcb29236801afb3794f57f3fbef2063672889736c3262a38eb42583fbf38df367d78803732a34938f4e52e3f34b6f1379ebf573774291038b4a2013f3b8982374681ed36b22207384071ad3e89a51f37586c43379399d9376dfe333e8e71ac3768b92035a3d4f1366733143ae27f1935ba1b9e36529b6937c3b431383c153a3700000000000000000000000000000000e0362d37e52f9936e70d6a3667ac9c37b7838037efada236ce0d60366b72e637a31b14378c5dbd36bdc99336d246ba379c05aa37a189e336212453362a1dd937529604384e49c237975c9d372f7c1538ac91b73713c04237c4cf4637d4d50d383a146037f4e928371e3a30374e5488370000000000000000000000000000000000000000000000000000803f000000008b902037c3698e376af37f3f58caac377db12a37135703387147583f61253c387835f736abf7c3376b4f2d3f9f63513896a78b376881d3372cc1013f6a531c38f76af4370e0b1338050eac3e51fb303824b89e376cf7c5374c0c2e3ec7114c38b37936379094303742fe7a38041873370000000000000000000000000000000000000000000000000000000000000000907fc636f31be93644b8f83733911938710ffb35bf2c0436898e97377017d137a7979b357d4e9c3643ef393854996f38230be236c85ee73616c13d38b4af56395612cb36383ef7361285e8378a4926386eecbf36c1d742375b07f337bfc90238f7bf64374136a23788ef3138f8333b3800000000000000000000000000000000000000000000803f0000000000000000bfd3c237d01e713fc2e2303a974815380a8f48377e784a3fdb10303a5a26c03727dff33712cf243fbb2fba39eb6256385a430c3848d4fc3efc9d683af2eba9385998b3373d32ae3eabf743399d250d381e1eb837d098473ea42933389d59e93710cef537f2aa323daff9ff39214a243800000000000000000000000000000000dcca0f35df631135b55ad2372dcef037d681a636884cbf3683f82b37eac7b03711205b3694b35f3616282c3734f4fc37693f1e36041b8236b996de37b0111c38a3be8036b10086369d0ebe37840d0238a0c4c036b9c5d336bf2faa3714ce1b388964d236a916da3614d31738acd93f38d1f76a3618a55e36aa1d8c37b657c03762c42d376cdc10373aa1aa374411ed371c0b4d37d3646f3fd648843d9158bb37e2dbdc365a1c5c3fe1cda03d42adab374a73cf363743393f59289a3d5cd8f637ea33773775e4163f08c78a3d266b1e3806cd7337b5bee93eeffd723d80f60a38f0194537518da23e72930f3dad91d53859f7ba377b8b3f3e3317993c4f804438ec745d361459383d6941303a972bc737f18af6364b13e3372f4c2a384f75133820bd0936f5b50736fba5ed37780003386b33773610911b3781ddb137331400387df85e36e091683623bbdc3634c8b937a2521b35e04e9435040e5e3762d91f3897470336008b3936c55226373385c9377f3b0c3623fb0d364a528c37815d0f38f91e7136d52969364d5b0738593b39386bd1e936a0ddc0363468c137668b0b38d3e541376d7709370c699b378c90d43703f90537729e493ff148593e30f4b037969d7837f61d3a3f48a75a3eaafff2375234733694381c3fe7514c3e4908d2378fa45636e053003fed212b3ef6152b383109c4369c07c43efac3083ed96dfc379cbc9536e364843eda60b83dc9ef92385a6d7f37f0881a3e5567543dfa463f384e01ba36f96fe23c44991f3c2b3a183843c0d336cc63bc37749c193891f30438bdbb093780fd473771cc0a382bb41138f1b89835c9539b3501d41d3702fac437050e5735d1d8633513d9cd3567c09b385b7ae0339d65ea3381f4dc365ff61838445a03364017ff35257b2a37a8a5c83729b39b351e88953598d77b37c7600238a70bf334c066d03490208b375b3c033851c30137e7e6c6360e2134373515cb37a39a13377458b83626ea4c375fc69f3793e088374426243fb082b73ebce4cf37e9e59c350fb6173fdf4cb43e373c90378c2681357e45003f9dee9f3ea5827f38b957fe33ec47cd3e4ff4843e20772e38dad1ac36e3c29a3e03ce4d3efd59d93732f40836b22a4e3e55eb143ea9b80c38f93ed134d14bc03d3ba9bb3d6b7904381173bd366b0f273cd52dfc3c419bee376a38ad3636ec7b3765d09a38cfd51638899e2a364efde836be241c3870bb3b38d10bfc368fb7ff36057f043857f90a39964294363de295367cb2dd37977f003ab86bc436ede0d3365f966c37f6d9b937195c1837d9a02637da800738eafb613858cd4037e0603537c9a88437ff1cc737041e9637e585723738560938eeaff939c306ee37dbdabf3708e60f3801543038f43f9337eb716b3705b2993746a8e1370d1e47371633fd3e3f4b013fbaaaa137865053377746eb3ec176fc3efbff25389cb43437bbfac23e225dd83e85e7e239f5f0323717489b3eefbfb43e9329d5379e20a5373fc86b3e5b058a3e112e703839005c37574a123efd7b4d3e055bd43776b4bf371351923d595ffc3d694af139afafd137d12c3738851b403df316d638ae6b4c3722089e3775148638e2493a388542b136f607ae368a8cff37a4e15038d7dc6b36d1076a36516fe836af0bea3716044134b9b079345a8561368628f4374b079335d6048e3567fd293780e900385a789e3653337036e4410f37d21cca374d720d3400e21a344fe43237a49d2b3891cca4351d859d35c16310379e254b398781ec36984c71362c661a378eacb8372f14c2370c2f87375760b53756bcf837d69a0f37ee53b23e61c7263fd24f8637fcc46c367811a63eb76d223f627bb737bfdbaa349e82883efc340c3fedd60f38a6559135fd65503e5714e63e002e10390b8fda365035183e021eb23ef12a1939dc116d36c709ad3d6c4e823eaf512639bef8b9352a18e13c5339223e878a9039cbf0593690df9b371e7f613dd700dd37e15380376120b8379e4956383c5c1638b30f7c36d46b16372d7a00386e0f103887f9433562ab3e3577d38337a2971c38e8705536a7ac4936af24ae372575bc38336f28365c73153610be4237491be3385ea9fe363cd8db3638061d37e87de0374096633760601637833c793750d22538a58910378c5d8436fd99413718d4d037a506d037d1bbb33741e4bb37436c01389ceda23789bd0e3744dd7c373f45db374b2a95376d6c4e3e644c4c3fd2eed737abed4c3666ae413e2cf6453f13641d38c7404937c5021d3ea5b1243f1fb7a13969abf9361062dc3d70020b3f4656023ac4780e373f42783df865d83e6d507539de726937818eca3c82e89c3e590e3839b7a6f536fb98de373b9c423e5ce4f737ce47b23799bae0379684723d8450113812d2f636e7467437f5102b3834730b38eb541137c4a60637bd7c0038ab82223896be54365dca49366e195d365025e237850ed03606a9bd36c5929f371b023e38894e16376c5cfc3604b7483726175638017472372ddc2537a6178b37a62c03386cdf94372b331e37a8f29637df981638c3cc2a37c879033715530837599ae537023a8037fd79003766e21c371b5fac37363db337c3007137ec0b7f37c7e2c3375387a3371ac65d3d6d12723f766d12382e795a36f9b2543de3e0663f23bec23997449837c6eab73c2155453f85a05b3a34ce6837e5ca263cd4e8203f9b1b0a3c133f9c377e63093867c7f73e43962838d8a1a0379c0512385a62af3ed8e5853813ca0a37437d9b3740994d3e09a7fd38f4b0fe3679ce5c37381d7b3d48169439367d5737a1295f37ba31113806fa0238000000000000000000000000000000008141d236a242cf36e69a4f377b2f3038e643bc36add0ae363937f6360c0ce6370fadfe36ab2dc83615f42f37c60ef43756f47237d6f000371dcc883760e84338b5bb8537f5830137fa75623770cf4638eca82337a2871036271bb93640deab374c1a0138744db0370544cc3783400e380000000000000000000000000000000000000000000000000000803f00000000b1aef0368dc60f38a749723fcb28173cdf011e377ba4d33773894b3f045a1f3c965653375ad2da373aa8263f9ecb093cc6009937b0931738b2f6003fae0c873aac3d823746eafb37d3dcb53eb784a8394b33cd369c585a374cc4543e26c2f43906a6c837bcf4de377d8b683d138ae83900000000000000000000000000000000000000000000000000000000000000000ee8a037576ad738ff6af23997c60e3ac9acb037722221385415a23928ebc7397b509038a8aaad395e01283a857a363a8a646a38d4a57c38be216c39b44e9739ff981f38bf405c389207a239500ff339ff7c9238df14533929d7db39271cf839923f093835dd0c39df8ec0393159de3900000000000000000000000000000000000000000000803f00000000000000004796d539053d613fac9a8e3abec70b3adb6c89395a07413fd8fc393a3860d5398749183ad98e1f3f2554863abb2c3b3a3a58153961f4fe3ebdad243a94f5a5393eb6ea38535abd3e93ce8f3af8781b3a97e0a9398de6773e2c34203a7279023aaee968392dc9ea3d1724813a0033093a00000000000000000000000000000000e75e0d38abd39e39be64113a026a103a20c3df3704772938397d16397e3a7c3972ca2b37e473bb37a5c83d3989aea83915962038b1ec3f3882f8eb39ca874f3a03cfac370926ca37bfc6333a4dd7723af0bc0a389c811b381339473af921893a382ac537d3d42a38c9e6db395dd80a3aa5120238da442939a753013a07831e3a32a98037a1f91a3839658739c9b4d539c39aff3993a4603f8482ef3d87bb003a49915238855c473f5d62e53d5107953965155a3835782b3f501bd23daa79dd3957f882390b3e0b3ff5d9963decd9a73aefa6ce393d18e03ed1e8803dd62c913a863cd439dcaba53ec1b3403d21f0b73a5c9c763933665a3ee4fcfc3c68411d3a2d7596399344d73dbc0c5c3a0f5b3b3a198cae380ea1ca39cdc4483a2d96253a4bcf3b380ef9a339fc66153ad505193ae4b34737b1b6ce379d6ec939d6e9f73902d71437d15b7e37a5ced439162a3f3a64986137e565af37718d2139f90ea63925d7a638c87aaa393c6f363acc02783a1ba60a38d7c91e3881684539684b2b3a0b5bc6377e390038191b1c3982bec63966ed1338a9e72638466e6939d748c139eea723397a5a5939dbfbc239843af3394839ee3971fc3f3f43ab793e30f80e3a584655394aa62b3fa066693ed03c033aeabda6389ee8103f8074423e23d9703aa674f5374afef03e292d243e4995213afbde0f3aef81be3ee140003e60e49c3ab507323814628d3eb7c2c03d8e2e823aaadd1738d4b0393ed5067e3d1f88163ab03834388875ac3d7b0def3cb58e3d3ae7446a392323dd3940751d3a28fa143a0fda0738a5f3b138a7cb373a3bff343a3bf4c3370a8ab9381a58693ac27b9a3946d41937bc58ac376bf60f3906b1d539e9a142371038b937927e95390454e53981af03385ad011389d437739aca8cb393ca66a37d0a1863774f4d038cdc2e73929d5063894a81338d6a593397cae163ac494013974505a39762a043a0c82223af6834439bbd86339c228cb394499ff392864b339229f1f3fc923be3eb3bc0c3a323e9939df790d3f737daa3e3b7f9f39eb4af73771a2f13eba7e923eb6c23a3aee14ab38ffabc73ecda8733ea44d353a1d155738858b9e3e5b79423ec7dc0e3a4a7eb0374fc36a3e88fd113ec210523af3945e387066173e3089be3d2adc9f3a574293395f938b3d9080373da2ac3f3ab3c077392b73db390a15263a1c801b3aed51c038affaac399d291f3a27cf203a4703df377d55f837b15ffc393c5d183ab2d42239a2eaed395be9663a6c02863a5f0eaf371c770538b733083966be313ae6a0a4388a00ea383798dc39d4640c3a91c5bb37ba100138b4167238295f043aaafa013aff66163a0b49593a5ea17f3ab6a0ec38fa001439052ac63901d2013ab8537439537b8439c570db3950cb073ab163f239c30efe3eefd2fe3e408b123ace858b391a1ae13e1872e33e7cc13b3a40393d3a3e88bf3e3a53c23e4f418e3a44fc463802ab9e3e1d90a23ed6fc7c3a72df923935ff7b3e22f3803e3d22213ad6323638b7ed373ea9f9413e4cc9843a0fa7333acaeae73d2b4cfe3dab598d3a2b764d397dc2503d4d92793dc7034a3a363693393e9ee23970b02d3abd1a283a3ba425380ce98539257b143a6e5c193a4421783784f7da38645e243a70f93f3a6c40e437283908389880a539a5b6663a45d87437da6c893790c3a738c4fb013ada4f0938406f1338b4463e39f714c239f3dc8d375886dd3762677039a610d739c432b637fb4ecb378e00ae380a6e77390774fe373165fd3772ebba38b2226b39e7dd1238bafc13385a3786395a03eb39c8fdcd39e253bd3e38eb1f3f6b150f3af7b6c639036aa73eb6140e3f0660473aba32dc3840ab8e3e866ef33e9e8db83a1e94d73702e6693e7a2ccb3ed684783a9aab1d3891173a3efacfa13e1bb1303adf9d4438dccc073e290e723e96a7583a8932f437f130a83d8af1203e9f9d623a30950438dfff0e3d2f4a9d3da886bf392de635381e177539e008723ab880583ac0ec8538f9317539b5780b3ac98b173a21f40138e78f1f38f29aa4390cf82a3a18838c377852cf379ef0ca38166cfe39ceab1538ad082438c1c91239d296363aab876d39d360ab397864263aecca6a3ab129b437204bc337b31b8e38f2489e39eef4a73705f5ab3783a0b73926d3233ae3405e395efd2b39f91ab139eac3e2394b94d439b90bbd39be7dee39ac810b3ad309c539d69e793e6b3b403f8fcd113a878bbd388caf5d3e85a32a3f2e2f793abf140f383e1c3c3ecffc113fda79543ac5c837380af8193eb649f33e8105ae3a33c3023af5aff03d2430c13e6468ba3a73fbdc373fb3aa3d4805913e579a4e3ad1965738f014573d00b23f3e8c6b893a5e115d3996acb3396c1cc83d733d0d3a2989c139bb03e1395691263a7263213ae48b7037d3ecac37ce95f6393c132e3a886dec378dd204383022023a53bf333a43b9ab37906de637fd05a039d95c0f3a9f1b0b3869581338092a293a3733993a1cfcc0379c96c737617bfa396ac9643aaa6d603835b29b383bd4bd398bf1443a526c0b3865c90f38973b2739a4b19b39de233938e73232384c999d381b104739f215ae392c788c393d55ba39d2faed3947135139336df03de1bc603ff3934c3ac6dba0390f49de3d92e8473ff02f5e3ace5a2539fe80b23d2e3b2a3f3f794f3aae27ce39c5ff8c3d0b790d3feeadf63af6dc8939dd7e593d4156e13e0f0dab3a867c6b39a667f63c38b4a53e8e32c83cb0f99d38a0d6663922c0663ee215e939c9e239388b076a38aa6bdc3d06c2b939f95b88398b1f9e394cc5153a9a15193a000000000000000000000000000000006501d63723570038b2268e398045ec3921cd3b38b1c948382c099439424ef0394ac83d3839c04b38caa1863837a1c239fc9373380cb578383bc79b3885597139cb5c8c39df429c39fb91f1396726223a878f8d38daad5938e59334390c6da03926a44439b84e0f393f2e67391f1cb3390000000000000000000000000000000000000000000000000000803f00000000374a253987a9ea398743613f1276ac3aa5d96139a807e739e5cc403f6a0b2a3a394c7c38eecea239af1f203f1f98943a0167823839e24939cc80ff3e401e1b3ad5a6d2397a57123aea0abd3ec163543a2bfcfb389d976c39063f783ea1cbf839eb65293924c95739d3b4eb3d928c353a0000000000000000000000000000000000000000000000000000000000000000dd398235a71c4a3566141f367786543729df59352dc35b35d595193643cf2e37f57f5837658c403737239937024a3138ecd1f8356c8ecb35ec67103748a08a3736189736814b923660911637b36869374edc6537bbc88b37a8f40738c085163856c85037809b3037ddc9893738e2693700000000000000000000000000000000000000000000803f000000000000000001bcd935f5b87d3f71696038380bb5373aad5b355b195e3fdf3d443842f0b437fc2395375e952d3fa3b9a838c8094738af8b0c37009efb3e8d1e9038560383377ea11437122b9c3e20840f38c6972937833a38386283f03d90c89538adaec937cd3a6e37be6d9e3854c5323860dc0237000000000000000000000000000000005fa0963588f8973522c3a3372ac01838fbdd9435b1e09a354e21af3544f69c379d2acf357cafb935660e1036ad0ca536e81897341e3e9a3445b69a3488351538ad0d2536ae420636672986368d308837d601f3359b9ede356f5e833775b8093833c454356d594235bf15c337752ff437c62816376445b036c5d69f3702e7c8376004fe35d91ade352286813694411937ef2c9a35bda57f3f6d94a33a77a51038fea19d35977c743f1d8cb13c2541ee370607e735172a573f5166183bb50ad2379b6a9d343211273fd35be13a69114d3880c558360103f03ed671ba3a806bab37325066362029913e12b0423a559a0c3865775a37ff51c63d556dbc3884ffc737be63ac36846e7f380dbd8338311dbf37ce419e3510b40e373afdf0373a357737885e1c34a6255b346995483748eebe3729afdb352fb0c935855818361a938b372784bc356f05a335f84c0336478c78363b9a2836eecf1e363e125036231c1938e269ea331e7f05349bd01a37f3a6e3370449d235eb79c4351b5ee835a205d33762a482362b148136ed7fe53788ae1d38d8917637313507373e4cc7379ac305384470e6357ac75e35abf32336ece73d3704f24a3457d25e3f4a78043e599f8d37b446cf357ec6563f3cc9223e27178a3708f0c335a7cd313f9ba31b3e48fd8137e67d23362dfa0a3f8f45093ed8535a38c263083494ebc73ea488e23dbe44fc37000ecc3516f26b3e21999d3da9da0738ac8fcb36c6acae3de6a8163d00b023380220b134a1104f388935d9394f2c103814ced5343859d436f0ec9f38e162bd37d6e3e335d54ef235baf4ae368399a836b453b13572afa23521f21137f2b3c1375ecd59365b53543692737036db997f3630d14536ded24b36774c6c36d970843649970436eb3a033633fe1a36723e16377b32c9369f85bb363d1ad837b00c4938700f5a36b3d76036b754bd361b838a373d336a36172d6e36b72c823615041237c3637c3423cb6834bc33ab340b04a2344402e33571742e3f3d17a33efcd14a361ed5a035f7c4263f2e97b13e4dd26f3700f66036268b0b3fea67a43e85a727370d374f365e96d53ebb458b3ed16a87364a300436a445943efe0a543e6ab0f836f3cdf63683d8253e04f3123e005d3c3832c256363dfc223da016993d0f58d1360e5f6036781dd5376e4f9d39e63dc83693136434af65e234543fcd37bf4e84346b5c0e356168fc3486050e38d5b7d137a7e39a36ab329c36f7a4af3722f60f38643e1436008111369b208836dd750a37d8e3e2351b5e6235b8af53361a81933746a3883735672437a497a03753130c380132cc3605a79b36742697374a891838eabc5b37da7e0a37507fa9375eacf437b4d31a381d440a38801b40382bed5c3886dcbf361a2d4e36f974813749cebb376f2200358421fb3e2e67023f4766033554e79836bd1eee3eb3cc083f1d9f7f37bef11536a391c63e99b6fa3eac1bdc36aa971736db26923e1e5ecf3e7610aa376fca863712a8523e11a7963e1613fb37ee533437f1f7d03daa8c543ed9ebd337740d03377265883c637dd83d290c733789dbca3734e596389bc1ce396cf22e388971f73447d005386a867c38e8999b3761776734205e7a34a5fb7734236a7734eda45236e01a5736206b5e36817b673628a03a361665383626eb4536b989553669bfc0369570a53605aac0361689a037ca921236ec351436b0a1173691b7a336cfb08e36d27e89363b1e8c36e0b3933678ae4237412d28370406b9371f100438dbc0d7374c01bc37e5910638c24b1d38f3a3a0366b6491366420bb363955c536c1be673433fd9a3ef686323f22586834a2e94c36ebd88d3e7305393f059e413628d540366939663ef929293f60345036b439d9367def203e5088093f86f189373daa13362f69cc3dcfb1ce3e90631036862b89369c82203d472b8b3e88858936981f67377e4eca38cbe9083e0884e9369e599a372f3e683847d1d03a21a0b0370ed547363a589937bbbcc238bbeb8936e3b11e37c9999637f1fc9637d0ac8236b66cbe36beaeb43486e99b3461129936b52b6f36a2f86d3667ac60360ff06f367439c935450dd3353b57be35833dd2357fad90375d2dd236fb847b36855ca7370dfec737805176371e9a8a37ca841a38f39d5e367b42463637368c36cd298337b45c9c37582a6637de2eb7379c9be437e4bfd236d41d9036122a70372115953756548537432fe93dd1d4623f2b954f3482f54837614caf3dbfec693fb3daa833faa87936f30c9a3d507a4d3ff7d46d36cc5bde358909d03c91d82a3f32f1c83565dba437f7dd233c9758fa3efa648937bcd91438aad8e6388452a53e5a27c53793e80a37861484388d151d3e2fd85d3698c356371c913e3816310c3be5e5f636ce5f3c361e3b2d3822ee613814a26b34d0a913376f7ab1365946a7368afdc5360c34a13653789c360612933658139e360aba103568d118359d1a1835ece71735dd652436cfd0e0359d739c35b1556a36d4af71369d7242363a912f3633f58f3606ae5b37e433a23411019f347de9d437afdf4e36aff94e3655fa3f36a2b15637d668a637f0995a374362ab37b575fd375850e13779e9cb375717dc37e40ffc3769f65b374055c438c6fa7f3fdc11a1354c8aa43656866a38faf57f3f1c1c9c36534618359ba44138d327673f58761d355d1d8b36faac6d381137373fb2f3af37ec40a7368e38113801a4073fc1195037b2b1d6372edca7388ce6b03e62970b38fbb58d3606bb7038faea203eadf70c3769fc923768f0453856dabc3c485962374d80b33746772038a58f5338ae99613700000000000000000000000000000000ee13373654a5323694b32736ea734136e29d6d36a1c48c3533c876359e43bb3690039336a0e38736cdbd7d3695399c36f391d636d7841036f35b0436ab0f3437554ac937e4ac9537f246933708192138ea88183769d4bb361bdad93698f2bd37d45784371095203735bd5b371577d6370000000000000000000000000000000000000000000000000000803f000000002037453639ba093729f97f3fb03a7337e316a53693ac96375ae5613fef434138d28a9836c1ee0437bcda313f3435aa375c8fd4363c0c8637262f023fd6fce937f9f5ff370d2b7538abb9a43ec8ec8438dc89363712b216385c5d073e57771938ff29893703912238176d0f3c3019fb3700000000000000000000000000000000000000000000000000000000000000006c03063639c209362a1c143685ffeb36959aa232c11da332e6622934d607dd37fe298435f0da9d359847d435d06d19384ff3373602a23836ee02e4368cd326382cb6be35061cd735bba9ff37fc3e32387050b635116de235e0f5f537658905384b6c87361f4d8636547005386655cc3700000000000000000000000000000000000000000000803f000000000000000034180e367263763fca652b3a35e8f337f765a632ddb8513f39069739886645385863be35db71273ffa978e3af6f13b38a84a3f3613a9fa3e36388d3ac6ce0d3841ecdc37c60da63ec5d2a0388e36dc37f1efe4372739283ed85c0a39bb9b1536cc9bc33728e8503cd5fb8038f1c7633600000000000000000000000000000000704dd235c293df3546bbda364b05f3378fc1063673b60d364bd11736372c83378426453559c0513573716535f2c43637a672df35a746e93540e46a365073f936feb12636f7a02a36298a9b36a219c337a123e935377ef435212c9936db080538623ad435155ed43589b169373564dd37b60ba835e0aaa93534764236192898364c99123613ff273611ff73361f7ba3360d8ae035e464783ffabef13cb31b3138648f1136971e643f6a63493d94f43d38eb315735509d3d3f51af323d7f1a2c38d1242b3681b3153facee353dd7977c37b3972f36a58ddb3e63ad0c3dea94e63744cd0536bd968c3e75db483ce366fa374075d535292ffb3d23b5803a2d33673701b2a835ddfd6f38b5f3b1388df7723609872d3679e19136369dae3771d2ac376412e2359596f335838d1936db036b379f054936b2155f36d90486366d9db736d9e07535d9128535c29e8c35d6908d366318db35f24aeb35e31436362fca9336a0c52a36bcd23336b2f54a36d3705f36d4b35e35edcc6b3562d36f3522e3b436d319833545b28935f1019f35889c8c3700000000ad75d1321ff483344b5bf035000000000000000007677031dbb15e34de3ef5358c52533f6d9e323e80515537f9436f36e1c43d3f0dad563e02b2193751a88835aebb193f27ad4d3e5615b1370c21ef354781eb3e38f5393e83d6273786a14036ff25ac3ecb071c3e83733f37d3306c358ac3473e3fb0f63d96278137f5ee973563f2ae3d662f933dd8a4c537ed638d33f0fe8136b77b143a370f973600000000d249a3338cf60838c5fcea37c1b3453538788735c4e5e337182f2a38ddb88c3548a1943551909f353245a635ea5c793296cd8332266dd13209cc433533e654354733693576f98135c57c763740733936d475413615c84e363bd74c376a602335fa9b1e35f062f935a887ec37154043355e724c3502be5c35e44a1837d85a983649059b3626369c360ca59a36302f0b3618f81036aaaa2336acf5943777f18d355c27283fc285af3eb71fb03705d096351a43153fdac8c43e4b37b735e00c7f32be74eb3e8876b63eeabb853642ae733539a3b03efce5a23e20913e38998c4e36defa743e2b85813efc3ce137dcb1b135265a053e642d403e312f3538bc285535a432f93cf259ed3daa9e40377c19993626d34237c65c143acc77353704fb063632bfd1366d175a3810ca30388dfe4b36239a59376afa1038dc3c1438293207366c0f0b365fa8dc363e7c8f37a5778935fbb58f3514160336838cb637105306364859173694cd293600e30f379df113377f4d33376cd79d3721d92f38b49a3336f4473b3692b73c364a1fd6378500a736ac2ad3368825ce37d9c11b38e10ffd362b1faf36bddb81378aa7f6374137883723266a3785b6b93769e5fc375f678f372319f93e0c6c033f57bfc037672c0b366e79d83e5cc50f3fb8497537b5eb8e355844a73eaad2023f9f70093875f01f36aa546b3e94bbe13e3ef911389e077337c4fe303ed97aa73e6c794f382bef3d36e1a2973ddbb9823e39521438e0498137d7110f3c051f1d3e2e670e38a79ff036184e2338b39b7e3ce5a60538f1f35b37563bd537b1958f38d3c91e3819d20c365c8a2c369c9b1c388d8f093861678036f4368736221a8f367d5c9636a396263591d43e3597bb433577e046351ea40b354a9c2435b1c4a3355be04b375dce463645c44c36285f5036d7c358371d7f8a35ef919135bcaa1636aee6d337387b7933fa02b433e0ebb3343c92a4367b58c0356590bf35ef56c2351aa3bc35ea84163756aeb536cadf95372e330f381e9924379687a23e57b12e3f9c7a143685558b365473843e91ac3d3f2b969436afab4135e565353e39382d3f3212c73562cfa3351d54f13d4e6d103fbd931438fb5a5436db158b3d6b46e13e48e9aa37b427183695b1913cb65ba33eca4d1c38566af0330cf6c937bd343c3e2d2fa3360c48b835886b0437c03c063dcd1fb035b9034436e6bafb375293b03886a24638f67ff134149f1635cde1e4374a4ed43600000000d925113321e39c33178c3434968385351ff3883527b584353ab89835129a6335b6b86835c7d8723505cb7a36d00d6636b804683660ce5f36cf6361361aa771366fdd6836ecf48136eae29e3626579b351a189c35dd47a035810263372344ca36dab7ac3651b7f9363dfe3e3797754836e48943366d188c3635d1823733baff36cf32193e66ac593f0000000012aa2b34d8aaae3d8d0a6a3f4134a533ca7e943516a2613d64a3493f77d4423727596e353e401738c6382f3f15c8d536db246b36de12ce37dff2023f1c81d5362c2c8a369adee937ef8ab73ea914f03650b49f3571a0fd37e3554b3ec28897373024c53628bf9d376c8c493de3b50237a7d73c3679a94e377a923c387783853738969c366afbc6365be9833785cf8337fd80a9350776aa3592faa435ac52a4359922be359feec535431dc535fa42cb35e872d435ceb3e335e522e6358b886d363a3835366ddb333628c4313660b6e636fb7782362b3a7836706d8636b2e2b136a9cf923502198c359cde8b35f4e6413761f35f375c07cf36845ba637dcba1138ad59523710e6123772848537060af5375a0667377380a63945e97f3f6aeb83364749a9356954a33746fb7f3f0d4756361945c7353d9f05376f56603fb43f11389a72f735fb20bc37a991363ff352673895643536a27e9d37246f093f61442e382e2a9636f7a2ff36e8d9bd3e9cf6ca37d0a08d35f0a4163840db5c3e50481f38263b6137ff9d33382248743d0abaf4374e3211378d1f07389c59a238ccae07380000000000000000000000000000000030a82c36a4d531363a38393687945e36741b3e3541e54d3583d1533554a28735b64f6c352d1e5f3572858535953fe93677f13a36e6b83b363e7839367b3cd836ca14e5352d10e43521edde359736b837b1a0dd359bd51835646aef35ee20b33746cf293669292836c1962436596299370000000000000000000000000000000000000000000000000000803f00000000c7843f3657dc533614b97c3f69c76338d1026935c7e884353ae7553fd65d9b385971a435095eaf3684e92c3f17cc993857e03d36d967a936ab61023fc83a88397585e93547e6cf37a476b03e134e9438fcd81c36c377fa37c3bc383ee2afaa38a96628361f08a7372450173d3a6401380000000000000000000000000000000000000000000000000000000000000000907235362c585f366f0edf369e183e384d01253677807336a8fca236c5c2f73719f29c3608cbb536f99e0138b5fb5a389607b336287bbb36d1061938adca5538a2416136da736936a065c137b0a807389bf99336a502b337d8e558384a2a6b38b7612f37cf309e3755a5e138a3f0b83700000000000000000000000000000000000000000000803f0000000000000000ac367b36c0e1683f5b8e923c7bac6d3a8e6294366e8f443f43c8623c6f9105395521a3376d641e3f5e97ac3c02bd7c38fe35d43740b9f93e779e363bc0935a387dce8a373f8cb03eb7ce883a606ada371ec53e387d42543e00e71b3a8cb527384187e037daed813db9622b3aeff8503600000000000000000000000000000000bb8cb2362661e8363a8de73724954e38a2cf1536faed3636d8ac673618f9b937ecb163353e6a88354c4cba359ed0053833355f368936803625e89236bbedcd37a7b2b6363541c5360904d436fe5890375deb663679537a36ff248e37b9e8433803ed2c36a819403610388e36019703387c8a2d36d33b3e3648277f377992f137ad4416369e113236539c713610668f36ec3501379b3a6c3fe3e39b3d7c5487389e7c4f36bbc94f3f7b00c03d97610f3c57119a354e1c2e3f97fcc13dd5e5f3392a698c365a800b3f2589b63d651560381bbacf36cbb3d53ee9b69d3dd7f1053851e1853693ee933ea1a46f3de131863816d950360a332f3e81ba083d159d57380833ec366353d13c57fdf33c7c240438deda4a3608628a368d67cf372a4d1438dfb56d36f21ea33619112e37d8d2e13771476a3578d2d835b5664436d34c2d370141243664934136cbb361367d122138a7098d3610deb2368339d636f98506381deca536a4a4bd36db92da360ddb15381cfd843610f98b36fec5ac3605aa883777ddb036e2f2b536233ebd370e6d5638fd9ae436b577ee369e792e378c4c0b3800258b367beea236c2b70a3760fd1238f657b3365136463f08a95b3ea16f2c38d2f81636275b2e3f9a126d3ef08f733835ab5536cd5e103f1438583ebe0a223a5ba7ca367435e73e6b513d3ebf75ca396015cf3638c6b03ee07c183e1c950b3ac04aa236eda36c3e38b5e43d560f053ad6e4b936a0340f3efbee8d3dbafd9438689fef36e2f3ac3c933fc43cdb343a382e73ad36bc99d6371463bb3878e5c5397acb0036458a213637fabe37031d1338fc4392362616c33601c7f13643c349372c888c3667cbb4361a580037d0771e38acc69e3683d6ae36eacce23665ad3b38e2ebb5369583c436e7db2b3746c4233818062f36fe7641360f21ea37c75e52389b23623619ea723672515537913d0538494ed8362704cf37a2ea55383cdc7a383034a636173c0337cc837d379219d4376f09cb3691e3213f5afebb3e6df519386d2cd8363d200c3fdddbbe3eed809e39ef7ccb361bb8e53e7605a93ed5690d3ae954ba36e235b73e69f78f3e197c733a61ddcb3618ff8b3e7e82643e9c376e38c4673037b08a3a3ee3a92b3e46c57e3852248136bde0cc3de39bdd3d3fc51838edd517381763443c8802403d39ab6a38aec02e371404b537a96c3138afc42938ef8cf03626868f37b2a46738e367843864e451360e6a863672c3ac36d243673728d7d635e6e102363fcaaa360d4309385abc8736f3629536dd256f37d8854338ffecb3360378bc36f012113741a52c38df95a036b517a736ab3f0d387abe603868576436b366f136932c0c38c9893a382acad736d4d9db369393a137bec516380c040a3792bea0378fe62a38f6446838a98e0f385671fa3ea0af023f6e35713865829836c8d2d43e9411043f1e83583801e91136935daf3e47d9e13ed7763a3987b09f3695c4893ec84dc13e01dd8a38b485c1366320583ecee4933edf2b7838f34c95378c27053e147f643e43fc7a381018bd372a89963dfb16123e690d4a38990f2d372c815a3885a78b3de7b70d3865cade3787e0583851a8af3806d99038ceb3ae3667fe7537dd500c3877ee1a3848b011348369b134716e5e3730533c3887484b3644885c36f58e6d361c8eb037c96a453615bb533619ea7737df073f38c2f7cd365747d536d2afa3370a8132386de8cd36d275cf36fe33d237b6475f38b34d1737716c40379bf32038ad2c5d38bfae253795083e37f39fd1372cf400382ef3a236311bee36c9bab4370d820a387dbda937aa48b03e53cc273fae1fe637955c12354143913e903d283f39d98a383124683699e6653e1e26113fe60a63396a095d36e1bf333e80f0f23e6d2b89385f21d8361715063ef399be3e93786038fda34937f63ca43db20b8f3e2b3ee839be61d93749db213d9a6b393ec9095838b3f79437158bbb397b24a23d8943b9378200203795040038257a80399ae730381663e036c1f1013829b682380d948138aa999d36a4c2bb3622aad7365b939f37881ea5364871ac364d207c37c5514938ea388c365df4a4362c0abb36dc3b81373b4fca3651ded9361a0b7d376cd826382484e436fa7bf03666cce137204841386a7198364e309b3680d310388e5b7438b828be36a09b6237c932073834291e38cf0400375d9c1437d6bd9c374303fc37c45f4c384fa14d3e40674c3fbf692638ce74c83656d11e3ed3ba4c3f210360386fa2b1369c9d033e2d6d293f5b1aa239ccd2b7369500b23df5bb113faab7203a38ede43627798a3d69fcdf3e28162739b70d8837bff90a3d557ca83e10107038ce0fb237f9887c3c91af553e85ff77385087c737b8d84a38b4a2b23dfdb6ee37dda63937aef5ea37b3d6343c4ff06d38197dac36925bb53653c2f737fe2dec37a0be0136592e093689001b36a2b599377e732b36a2e13b36ea3d4a362873d637fdc77736d4f883360d88673798c645386507d8360507df365b68e036c250a937f8349d366f58a036c39952373098143844a80e36da3c6e37bee41e38a85b5e38445a083807de1538d8524738db5c4c38ada45c3869815738936470381be47a380265b8379a0e5a3d065a723fd88592361e921636dff55d3ce6546e3f11ba5638e8af4a36c962573a25554b3f0513cb39f18ac336dc197138a0fe263f19f295385baee33699d6d3374a67013f0fbf1c38a710a536c6e93b38884ebb3ebb0e4b3830800638284b7f38dff3653eff075d380f66303858ca7638bf60af3d37f03b3896bc5c38c6d77638fb193e3abc0d6a3800000000000000000000000000000000fd4d883533d3923555bce335d27b4436ddeb3e36323947360993563664e5f2370cd14d36432a583683c6653630a48d37e51fc036f58dc13669b45537d23326387113c436661ffb364cc8de37ee7d4d38f886c43661c5c5366951ae373b6c193835781338b3ae27387018673877f4ac380000000000000000000000000000000000000000000000000000803f000000005d1ab735b4e731361e376f3f6581aa3a81ee5236ab21bf37ba7c4a3ffd12843a7c0463368a7c6f37f930273f81826e3a0b9fc436c23622388f0e023fa642a23a47e8ac37915c4a38ddddb33ed99c0e3cd87a8737fcb92038c72e5f3e7f21de38d99e50389297ee383260913d7d2937390000000000000000000000000000000000000000000000000000000000000000ece8a6356994c235f5f70b36c65119360000000000000000f27803345fe379374c91213643e32536b1f45e3660fe6c36a25fdc359190f9357193623776a2d737000000000000000097e264377e56d036abcd4836b7e57036a6ee28380a2f253842acb3369a252d378204ad37471f9f3700000000000000000000000000000000000000000000803f00000000000000009df1cf3558657a3f74e9213831460a360000000016d55e3fa4c94f3841e7c337a436413616402f3f8c5bfe37b6d46f36dd64873747e0fe3e8ea16a38d6daa937af9a1d37e71c9d3e60ca3838e7f23036329afa3711aeef3dff1d8d3826eba0370d8e89377f7e443cc15445380c971337000000000000000000000000000000008bc0c7335c67ca3307e2c8338dcbc2373b5c113399326a3379519b3300113937b28d9b32d330ac333375f433ccf06f34152b1834495e173429dd0b3482750b34aeac1f3296039e325aa11a32a0b3ca37fe9c443487a8b23469571233c99704376116353403dd2a348d889f37384aed37d252073603ebb53466edd63749210838d884e133b459fd33473d1434e72d59345633c53365047c3f54af883cf898b237aaee04335bc5693ff7d6183dd7218d3748ea8032397b503f7f92923cae3d87367de646347485233ff9a3d73b3e200a368f131e32e8f6eb3e5bf4cc3991f5f7376cbe14345e988f3ecb0fc139e9af0d370688283723aae93d58d0bc39baaec137efe5aa34cabf2e392ae0e938b26326384472f333e0671834521b2b37c0943d3420fa8e35bf7f8135916ab536ebf4cc36b9c813366f0b2436bca82e36848da537fcc15033bbdd21330d271e33c6758934617b1936acf9f235d7385636af49bd37abdb9a35d742b03527f2a835a549043776e1a63474d30d35fe9c1135beca20359b988e374bb94037920e033883075238d21987356ca477351c609f373182173852b65b341bdb6334fc3f7c34dbde8034ebccef34b35e603feacdfe3d522eae36b2211536d456503fc5861f3ec32e90371ad32333d930343fd072143e6c85b734fbf51a36f9fa043ff1d00d3e46802f38661c873543c1b93ebf48fb3dfd5d3137df34a03465e44b3e7cc3e13d8f998a354c64e03745fc253debf6a63db34e7e387d2f2d3506209038f2022d39454169388d837934f0015b34ef30d9371a5629374185dc347664e3344e90e2341bb8cc34ebb4d33537f4e43555130336043e2637652b3836cf855a3634871437533d9e3797973736dc063536b32b2b36c7cf3336c1531c36737c243679cf1c3752c12538acf7a7365109b936784d3e377c6ea93715f7743546259d356850c134d7e51636e1301f36d7fb2436e1a5fc36e8aba4374bdd18362dfb2136637c5f36d0665b365bb3d03454e4303f45e49e3e2c3ed6346e68bd35bc81223f7aa6b13ecdceff3505b73336fd66043f6706ac3ec6d99e3798d22b3642b5c33e95b8963eefa13536480c6e36edde793ef3f17c3e2dc92238ac01de3644c1fa3d95603d3e88f9963743557c359ae8953ce0b1d63de7454535a0342536e1b22d38b432dd3902c2b3372d38fe35c3dd7e362088ae375a35b3369bbf933404298b340d9031366a98a435527b2135fc892235e13e1e354a442735b9ef7b347bca74349634a1340616bd3405fb1334b2610934809bf833415d1b341eec5c34ad104f34a44d693402896d365b96fa330083fd338211ee33d11c68369e55a63462619f343a4d8634d115613682063835527a2d3569ea2f3555964a36fc70773791a6873414f834374456df37dfcb8334ddc8fe3e5dd9003fbe256e3442161835afdae63eb0b10a3fd75d1b353bee5f342847b83e99ee043f7119b8348aab34343640763ef8ade53e89f511348f096234314d273e7ae5ac3ea3507c36e6a71b3423ee773d52d3813eba1b4334114ca234c6cf8c3ab5a8f93d72d00e35045f3535bb0500385ad60c3c8e131a359af79834bcaabc37e737dd3804afaf375ee34d36f4e18d36ea62b23662d17036ea8e163670162736f57e2136ea3c4036c3c4dc34723b0b35831497347fce1535b0fba336db7aa4361dc49e3637a420376ecd6e3700b28f36990a9b3692d1cc3714a330368b54403676e5323660243a36534c4f3767ca6737656eb1372097ee37d190d136b2d71236af71bb37bae51538f193d334728acc340b8ddf346117d4341e484b36a9d39b3e2f8a323f81a3043645391836f10d893e87613b3fd5de2936c3966b34a71d3c3e42e4313fa3940635839be936afc0e53d2cc7143fed92133760d3b237a3555f3d7417e93e3bd9c83719f12936b8599e3cb32c9c3e91c148362eec8e379b7bc73b8adb103e332dc4370e1d0336ff4e85385fe09a3c96dcc0375da5d73499b33836033ac737fdbcd0345d139834e8b46e3673a333364ca76434dac03c35dc285f351abf1035ce0e5e358da34d37f7e6f736d86bf03503cd363795ca6635b3b743355ad8f534a5a93835e5149d35ccb1ae355d3580353163a3353885eb36a23e9736cd83c1368d8a94377486f234a377d834a3f76b34b084173653b32a3696de3c36bb58ac37dfc204381ad21136bcec3836f83aa836e4078a36e7807534126de63d5e81633f77ce5e34767e91361545c03d6405683fa6b361351ad4a3373731673c28415d3f157c313707f39135c4006d39f021313f565f1c35b102ab350dd86c38b3df033f8b60d43553055d37a2a0e03819b8af3e0e8bad37174e18353dd8933b19c3163e68ff4634f683843683bd89381e3efc3c6cbf09378a4f20367d8c23378043ad37bc7e3936553373344b0d4e3405022a3437594634be89cf3477f3ba34ad64b034b39ed734dd50e033d2dfb833ed8ff033fa2d8534f8e4c33418e7253581209d34245a9234f0009b326c034332721705321e2464324434373449532f34781733344c4d1d34e3db8a3423957b34c3506c34ab40cf35ca0da53474a50735964caf36f19bc137a9c8003701cd2437ac951137bd76aa37f7214e3429e1553a2112803f66780334efc3d4356708ab385efd7f3f359fb234010d80332a2f55382825633f5a9bb3367dc54435b9020c3868ab383f2a948d3492141d32066c4b38914e0a3fc5840b38fbf34f340b588638169ab63efd2c873618bf90345b81243872e22d3e22a305360fd2a434e2b4543846c44a3dd7eb9437f5c72934b4d9f537a15d5938d99b873400000000000000000000000000000000c5536f357ed240359d0c2e35b91f8635c9bb0d366c860d360c1202363c764736cfa4c63200000000000000003f9e0b339e372636b2a01a36731a1f361d82643751c73f36384f493645cd3e36f7768436943970373bd62835df9daf36c2abb0373ba0053643340a368c521d36ab88c5360000000000000000000000000000000000000000000000000000803f00000000f3163535dab2eb36ac3a7d3f72d380372d7d2e363df86c37d559623f702f593800000000cab2f835fca8313f9b9707383a63ce36bc34b8371df2003ffcea1838a4f7773694c5c5369673a23e1ff5d7373a4e6137f76f2e388b27053e39ca3d38b1c80a3624973437e12abc3c2f11cb370000000000000000000000000000000000000000000000000000000000000000099f7c34977e8734fb34953418b89d341a2bbd35bb452636fc63bf36788bf136ba888a3662629136a4d9a636c1cce537f39b2c341ef830341e449e360d64043871913436f3262f36b2a74936a1b33c360b76753641b1753697eb8836b64c2837f58f103608f2f63683b3e93764ef053800000000000000000000000000000000000000000000803f00000000000000009c117e3429af703f3314433c0f5497349cbea636544a503f5190cf3c6bab3137a3dc9e360a21263f371b923ce32bf837b42e2334267dfb3ebfad513bf638a03781aa3336b65ea83e4302473b04cf2a3628b67e36d07a283ed5254c3a8f218a36c148ac37c5ba123d390cc939252b443700000000000000000000000000000000d9fc8635555e2836d0e9d03626e1c3376e4ba332fd293b353f338c367442e136000000008d7f13359969a836e7b9f33660842636b8ce3736b5888636a29b82375967c6358d65a135a864e5355a416d3753905d343c4dc1350a78723640889f37badc133601181a36e3a22e365ef22336ddf5af35aa0f8e356b77bb353af80a37ba7ead3556c04635f3b47d35a0409a35fe808636d6fa733f9145423d62644e37def825361df8553f14b5b83d4d580737e75d5636488d363f6a69ac3d910b0837807b4d367c350c3fa0a7a23dcf844337dff0c835fc16cb3e86488e3d38c36136b58357366b2a7f3e0420483d5a3a243701cb1e36ff39d13dfc4d213dc3a43f36e853b835c7b9ca3854fe1c3c15c9df37fbf9753586948535fb7be0373571c937dc3e78352fe1b935a605c23609ad0137a0e6e73584328b3636de18377ffc3c37e2331333ace3f9328ff82d35564a1e3645978835b1552b367cb6b7368ccfb13790d503355110d73455435a356cf6c9364f5c253669691d3626fe46360bd5823627e18635abac0136130f8b3696438e37ecd63c35c39edb34c7e13b35c5b1b53676fccf35e3f6b635271ea6353156cc35ea780f36a2ec573f238c203ed359e436404ede367954343f722b5e3e50b448377a5f65343fca123f7500713eaf043e36aa779d365accce3e22476c3ef3de9c37d4695535139e8a3ed9624d3ec6a99e36a2592a36486af73d567b343e3d4899368cc231360fdb963a2978f93db08fbc3785f33a35a1bc2d37f8a6f83ab229f137ac51ac35c3e6bf352a2f5f3719eb8a3738c4dd35213f09361279ef368d4f95370000000000000000000000000000000095ff79353e616135833c4935155a25351a877c36e3458a36cf93a336aadba736000000000000000000000000000000009032683619719236ae1bb4366f6c92372b2f2c3628183b365c596336a8d4a236d7978436417d8136663aa736b3aac83665c5d23556f6c935413aab3594e99c35f3ec1c3686e7293ffe66ac3ef8cefa3500000000dcbf0c3fa3d9ce3e00000000e0d92235f020ce3e1559d43ed2e7f234e9be9b36eb84863e01c1c63e84389e36000000000018063e6d2bb13e00000000fc23b636b4d7973ce67c973e07990b38f1b15336dbb4ef370745223effbf033889939136171cda3682b5993aca30d337a8b4ac353f1e97357daa02372188d9360000000073e6a433c2459f37ed8db6370000000025c397358612393699b1f8370fe4e234e0710e36c992643681729f36000000007477d034fb990735e41476370ae586351a1b713529c5863596f2e53715f302355070563457554b344f3896373a93133673dd4f36362887362f75a836d7bb0f3612ef25362b828236d2fdd237e4898e35216335354aa85a35da89b035f76cad342829fa3eed09033fb2048b35da4be935afb4c53e937b173fd54a863697415236e2c7813ef4ae153f6eecaa36269d31350e7df73d44a10b3fa70aec376e1a9735fed88a3d5ca3dd3eadb0393854e9ca34dfd8a038ee37ab3e90c2813875017c3651ebda36a1af263e3796e1365e323536a81bab377f21be3c5f7897385f8944350aadb135deff73387ad42d3845e5b835461bad3571e723360c22d4358d1f5536d9008136d47b9c366627ae366fe9423655834636989048363c6c63365e24ed35ff784836dde35c360d7e983600000000000000000000000000000000c8dd91360d4e9036f4029436606ba336ff6f003549d3f33422691a35f50a0735cf5e69310000000094e02c3200000000f6dd0836db40023612c6eb35ce0c9e369215b6350c08a33e34b82e3f97c2a735b00097360b94673ed0da453f3a27a036c4fc4336b57d9d3d6fca433fd045603627f68a3600ed6838af9d2f3f20f8c63700000000d39a9f369002063f0c36153666c0923626c99e36c95cb33e3127ae36165bfd34af896e35ef8b3b3ee20b8e3764c25b32b4cd5634366f3f3d10624837c8e6ed35e45b0236406c733865c706385fea053657d11d362cc76737df4a3536021b01358a0a7d35a05f6435d6d78f350a958c35b1d96435f22c4735afa5a43582df0136fccd1136d1f3313627274d36925596339cdc1c34319c4134f44d80359f3b7c3610f18236f493ac366c98e73666ee1d337e5d3434756543351a9b0f36e9c60b378eb21837a2fc2c379c6343373dc1a336c2ada736f601b4365704d93683637636c3bc133e56395b3f148c9b355ee9a23552775d3d3fbc713f8cd19434d38b77357f8b0238a5b3603ffb1d6a371a132d36bb38a0364b30343fee5aec3600000000b5df7936898a073f174aa3373caaa536f92f8b373472bb3e03324f387a5d0635196f4c36ddb6443e89a81737343220370bef4837c3e5a13d0a0bbf37963ca336bf64e8369dffb037b8012237ebbc4635ed908235a76f89352c59a33558729d35608995355f939635b09cb93543ff053637c307366a520336d36f2f360000000000000000000000000e1a09369ffdbe35b3e8a6350e66b935576ee335363f403656f03836843168360e4ac5360be863369a4f8d369323b5365eaced36123ca4364970ac3668f9c43669cbed366a00e53699c9ea36c2d3fe3673ab07379e8fa83580088a3cbfd07b3f66c78235dd5dc6357d0f4f3843bb7d3fc2003737f6830a3633e720368af65b3f552cf836951a1034fdff5c36b5e2333f322422382f24dd35137f2436b504093fa8cc913837617736d612d1368440bf3e121d8b38c52cb73660870237070e503ed4bf4d38051fbb3666d200370dfd983dc5d0fa3764c0f83620f70e371e0a6f381cd5183800000000000000000000000000000000e044b733499c80333e9da23390e718360792643665796f36af896436526383364d83fd35bdf00336c4581436d70329361d1335349ced4534093653340f52513498318f365cb79536667c9636a05ba7362d4c9236c3a4aa369a13d0368109ff368f8b863411199a343ba49e34e51296340000000000000000000000000000000000000000000000000000803f0000000005c3cb341eee26364fcf763f99d84b38cb177136c8278036d7b6553f665e0f3a69921636c31d2e36f4f72a3f45efbc3a126656345a594e349a61013f1eac253a8fcd9b36e4c4a336e168aa3e0b8ca03a3dcdd1367e38fd363fc9243e1246903921c8a834ea16aa34489c463df1eddc380000000000000000000000000000000000000000000000000000000000000000d65a0733b2258f33590c0d34d6310638c8ecc4341cc3ea34aa9f0935e66c03382ec9cb322f31d6323d8dde3271fc1e387b74a73452b8aa342c91ee373f058238c9e4c63587e4e935252f6e36dca39d3645988b35ba073036947fe53787312a3884903236659c3336da740438ee4f4e3800000000000000000000000000000000000000000000803f0000000000000000b6a1dd3306a8633f2716463ddcee4038db060035377e403f039e413df42bc13715e3d5321da61c3fd689283da465c637421d3e37a704f13eb23acb3c0c062b3862a53d364451a83e0570933c1d32463646f47237456f423e7e80593ccb670c37eb3aca3723567d3d89f8523bb066f13500000000000000000000000000000000342bc8339098f1331673923580e09a3897e3c234277ddf34903efc35a97cf73702e42a3696857f36bc13ca36d49d2f38884aea35473a183688519237982a4f38b113eb350840133616a80738a5fe9d389265813608849436e5a1a5360feac437113128365348583643dab13703f7493803f51e36d83424366b2f2e369497d237cd9eb135eb1ae535e9281636a71e3f36ed6c033493186c3f65a16b3d24f28638162b9235b8634d3fcfeab33dcd25673c7d4b9a3605bd243f58d1053e073c3238bd9334364322003f5226083e884c253821afb5369c2abe3e65e1ec3d19657c3872189f36b5e77a3e9d1ab53d70a60137a5d53537a41dfb3ddcdb303d58aea837f1802a3608c854385a5dc63c312b42375cd0fc3552492e36bcd9cb376c94593841fd24357717ce35d2d99636b93f5038a9a20d3616724036aead8e36e92b1b3811834135a1f7a735ef560c36034bf63704096e35b8f2db35a89f2f36bf9a46373397a635ab86f1352989bc37b6e8813818b08f35ecdba8350ed49837a39e2938fa4ea835dc97a93524002337c98def3709d724357e8b313574cc313593118635d689013547bd5535a3605d36ec96de36143e2136eccf473fe6ee503e3950323860746a3652a2263f4cfe833e0f9555384c3cd1353715053fa443863e6db4f9379ab91536dc94be3e068a833e2e8fe236059015367c2f843e576a633ede6d7a3835bcc536f00cea3da742483ea21a0238b471a835ee7e083d2f57123e3be5453897892f357bbc9135d29d1d3c817f0b39820bbd35767faf367304c2372d075638226b8a357262a735a87ec33731c12438dfe95134bce17434594e1a35af56f83747845e35ed5074351c008535c722083801b56a3502167a3537cd8235ad178a37002f83345af8b034d5abc0355a3064385b5c953596c19c352992df35e88b7637e339db35de4a0436ac1d2b3625e2c83749fde9353cee16366e274836843d6e36e0db5d35e75bd535e6ec9036eb19ea36daa70c365ecd213f9466bc3e1fc9bb37fd948f348393003f05b3dc3e5587e1374c097f35b59cb93ee413da3ee642173859588035d6ac7b3e28e7c73ef07a9d37995c0f3572d3183e8dd4af3e24129f386596c235be5b7b3d9d26893ee297253882c819362ef9ea37b3963b3ec2e449386ecc3036b1ec6836e04cc13ce00a313acfc23436da24c736ec869f379d86a5385ffa54353a996735963e7c379015e7377f7d48356e8e57355a1d0336f4701a37edf5f335af7a2e36844d9c36ef0bbb379a66c735ac950036856025366e0bca37ed5e9b35a16fa2359575843756f674389c900f360b1d2736b55a3936cfd4d1374f1a323647774836a3e193367d8e8a371a9b6235a3329235e567e535d0761936db282335b65a3a35dc5346350b708236baa4d335451bf73e5b72043ff78d8f36d01eb135b09bb53ebd82183fe1c31936ffdd5a366a52743e73ec0f3fb5a6cf37ec971536855e0d3ebdd4053f3594203848f1f735a2ffdd3de396c83e9381a7385baf3136c7bb003bb2bcac3e203233388d82633642d59637565e4c3e522f25381839b33570ff1336dc924c3dd4acbb38bd0e3c3509265235ea520038ecbe27388ee39d366f56f2362aadc437b1ef02387ced20365a064936e9d67736a2d1e4373760d335cc760f36d48e3936bdfce6377119af35a51cb635b5da0036dbb54637fb3f1b35713e30359ceda4350b464f38ed058a3556088e35bc3f8d35f5f9af3637189935c5389a35e225993542a466371e3fc9345c8b2b35dea48b35401f9037eb8af335f3100936ea3947360161aa3776020e37cf45ab3e556c2a3fd01ceb36b7355d365806593e889f433f44876a36573424362abdba3dedd3393f1e3b08383157e8350437e63c4494243fad93163868027c35b9bb8838aaf3013fc70aa838b61d8d351263d8363363ba3eabf11338641e9835b5db03377dee583ea9f6aa381aa24b35b43a02379f6a893d75768438b7660f3668d22e37f4ae403838c84b385d7e0637d12ecb37c39c493832e12038aa0514356a441a35348ba13558addd37b39e8e355fd1953567be9c35cb1c983726ff18357fbe2e35525c4435fc21403771e76435b8b8b635b5450936bef41638766e8935a955c935d4860736226b3136533207369ee7093680f21636731ab3371773973600da9c36ccbfa63606a7ac36a71765368cdf7f3608d6af36fab6e037ddc12738e8803f3e401e503ff3c5de3601718d35c4457a3df0f36d3fd8f08935bd409a35c912e23777ee523feb90913819833c35a9a34637d699303febb2e939951bf535cfd00f386b18053f2a8a8739ba67f535aaa82a36c1b9bd3ee6f02f3a93db123662809a37809f5e3ec9e7723a1cbea3369db0b036c0a6bb3d145dfb386e0992361279313776e3763c41249839d9458a36a8ae0b3720792538932f17386099293516f873350767b935a4d3e2352312a2340e2135359f8f9a35a1053a364327033636a52836b98c5936ca808d36cd5cb43514ccdf35cf6e193654c01138483af935424614361fca2a3691cfc83738b1a5369e4cae367de8cf3682ccf33731c33d36b2084636cd575236e367e1374fb0ae35c97da835e8ac4b3614e1f437658a0338ae110e3d971f773f618c4136aabe9b35deaff13535d7793fd51051381e348135dcee0c364958533f6891123c26464336d3688636ce552a3fd78bcd3a339af5350b9ec2378b1a033fc3afa43aeaec1f36f98b7c37d967bb3e2862503abeb6bb36d8c2b33778df663e96c52b3a2df24c369dc29d3726d7c33d91a4083a6d4ce93585d0af3734b3a43cc72df43800000000000000000000000000000000c454eb34af5eff34595469351703cf3586a92934ca1a3134f20a38341c102536ba8c3b35d315773544dfa335aeb5193631b99a3454a7a4344d89aa34cf7dba371eb7f83252ccf9324d08f832e48e403627ca3c35352f3a3532d53e351e824935c8b190347b71923452468334cf5fc0370000000000000000000000000000000000000000000000000000803f00000000cddb1735f56ab0352c1b693fd980ca3cfef83434d7ef8e35d567433f07780b3d0ed691358f48dd35c73d203f13dfe33cef80aa34ee4afd36b59df93eb4ac8d3c0689f2326af1f132d5e3af3e50d0753bdf6c4035fe415b3579c74a3e5a10553bb2f888342b82403786827c3db03a7c3a00000000000000000000000000000000000000000000000000000000000000002eca8635df8e8f357015a035fc0d973508e14132d0e9403242b58f32e6421a32755edb345a868334822f3135620e7835e6609c35532e9f354816b535c788a6353457dc3114d8b4315f6ed6314112bd311ce2bd3438d3c5349ea4e7340cdace340b804c3555c84f3599707c35e05c683500000000000000000000000000000000000000000000803f00000000000000005b876935eb51793fb4fb9635d61698359df15d328199583f3cab8537d2b2143163143c358604303f9a5f3f3810d0c535c92b88350669033fc2c32e3814e9a935df8ac53156c2a73e3d88d93567aba33116374d374b7c223e7483d237303f0a35d63682367397043d6df78f37b7d56b350000000000000000000000000000000061f6af32272ec8326b48fe328567cb320000000000000000000000000000000000000000000000000000000000000000531925339b413333d97447348539213583a06d3319fc8433bd4e9f3317558433d4295032c93333327d63333241a2e8311c041e35616add3449115e35d8108f357f5292334d8e9e339906c033e7e29d3394c26333858b2e342dab94337dc7dd33155fcd3222797d3fb6749e3cc070d332000000005b76633f35a1633d00000000000000008ddc4c3fec7ecd3c000000006cd29933aa69213f5650c73b98615b35a81485334924e73eec6bc33c35128733ad891632042c963ed0055e3bb721613010d47f3306d9063e0fe0503cd2a6c23505639f336f05913bfb587d3a6b91a4335ecd5234e028a834530cf934b6a78a34d05f2834c6918c34aef3f5340a6e4635dd120435782f0c358d88283571b240359ba6dc333f59cb33773600344d7334341313eb337c0c0a34e7f32e349d302034413029354f742535acf1383579185c35aae7ef3340eadd33d576fe33c78b30341a222a3380225033f1348533d9847233e85f8334a4868b3403bf9d34afccd33470a4dc337eb2f033d5cbac33c68dd933fc984a348148643ff8e2f13d1b15ca34e91f173519db503f2b7d293ed5663a356356ff33fa4b2e3f768f1a3e69473b3751f71d34c7bffe3e0a55293ea0d21f3413ba31351f69ac3e8107163ec02d4135e445fa33460d353e953a0b3e41521634e0da6e33956d503dcf1ab73d68ad7533852d93349fd7c734cd0faa3a8af6e734538cfa33bff13b34a8184334aea40834db6285334cb38733e2489833be1fee3388615635d9435a3504b77335067679358c9a4b3458c43b348a8f3e343c513f34953708347f900034abd60834c1200b3469f77635a4f96a35fd087e35f28889355eb570346f2b58344336533415335c34f490d63361ebd033a61de133974bdd330fb04135bf7a3535cce836359f0c403592283035a504ca34fd7467344edbcb34866f2b3349b63a3f1270903e3b77193471cb2135b1b4233f4f89b63e4e0b6535e4f12c34a914033ffe07ac3e07213934e4ed00346350ba3e9827a03ee89d1b3445b862351dc2593ea8f6923e5a648535acb5443482fbad3dbc27693e2f175d34f7b0ce3330e29d3c8ee2f03d494cf2336b6d2b35b7a92137b0b21a3b30fe4035c6c668347b9fd734ab64963519bce5340000000091392c3500000000af91003400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070887a3317f3b534b82c4b3500000000000000000000000000000000000000008bcb9b32667f5a3075fcba300000000034ba093fa2f2f23e0000000000000000be84f33ef5c1083f00000000000000007159b13e621a073f0000000000000000cd39553e06d6f63e0000000000000000e2d3ce3dd390d13e00000000000000001b2f453da55a8f3e00000000fd1e18368fff953c8f7efc3d6eae2c3500000000d16db03792fcaa3b00000000d1028e3356833a37918930370a604334d02d9a33a8abcf36675e8b3491020135c31d04356b7f073514742035bc2730357209c533dc18b533a6d9d033bcf70f347387f03366fc09346fba29346c5d1f3455345b351a035335f8136835edd58a3592f53134ae7427340df8293438884e349ba3be338060ea33dc1e1234265f09340ba1453581e844350d143a350dbe80357eee5f34d0d0613456432234de9443343fbf01344caaad3efb0b2d3f4cbf0f34fe970f35182d983ef1fa363f86421e35bc89c73320b9333e4ce3333f310cf333fd6218346522a63dcfe81f3f00c7223403855e358321123da688f93eb5b889359ec91d340942ae3c4d6da33e838a27344876f833a970b13cb020153e68332134a32a48351e2938379d80943c4e4f933565853234dc4faa36b6f63337d0734a34e58ad132cddeb632cd639733c9d4d933c9378c34292381347e4fa6344768b834c36dca3331d1b7339586ad332da2af334e1307347d56013471a6073466fc083422814935cf023f35ff2840356d855035718d8134400a6834db2f5934fe9d5d346cc2fc33bb590034fc4a0f34a3550c34f6c84c358ea13f351c3643358e61443541778e35415f583551ce0e3564742035d19be332e450263e4379593f35fb8d33047b82343f72083ee32a613f8cc496348816a2330193033d113a573f5ceab6333d6501341ac5a23b55d0323f7bfd143479633d35b573613bea4b083f5bc2583515264e34d8673b3b741eb43e41366734793903344346b03c6496223e8b94193459343635d161f43a3cfdfe3c9ec950357e4918354813603814417a35872c4735266be1354eb138374f6fd133a6006434144b8433ba674c3307418633061cab3371fa9f34c3be203357615a33158484330d949a3192f19c31385407315d87b73191796033e7a728331db55233869292335aea2334e721f832d41a26332c664a3300000000000000000000000000000000000000000000000000000000000000007b77ab32951e8232a606b632c204d73238c10537beb22d3d59f6773fa7701b335da18f33f106073b28a97f3f9977d3332ee26d33c4c1003779375e3fbdd91735d4c10c30c43e4831d537373f1cf64e32bd506e336ae06033b6680a3f9446b1338e92cd33380f2d397267c03e0b344b3400000000c88dae39a7173e3e3d3222330000000000000000fadd803d000000000ec5bf320bf3a2325a2072399a7d0c33000000000000000000000000000000000d604735f3812835d7643d35a3588335dd4cb734624498349575a9349e06e034b67395311dc1a0311c439c31635fac3195425d3575bd4a35f5654535a82ec1359690bd3542b08235a3972035bde9a83500000000fe569c30f7fe6e3101ccb331499b5435a5e04a357c1d473569d1b1350000000000000000000000000000000000000000000000000000803f00000000ceb34835e4d0603513897a3f0fa17d356100bc34a0c7bf3459455a3f34ee833659eb6d3150749c31bb4c303fad7bff31b2465f358cc4743577b8003f28c1da37cbdd4b35e0fe0337c696a63e16fd5a37000000002ce0883663df263efb14653587fc5735167a69357148203d344ec83500000000000000000000000000000000000000000000000000000000000000002a665a3572a8a635cbf714365e0b5336a4e0be33220efd33c784de3455a173351830703498b23d358855de35cde50836f3f3f7351ba21636a3cd2d3680b3db365d1c6f33d48e8933ac94b333eed4ad33b2caa3339a891934086e0a35e5301d357fa72f35a8967535e254073915f37d3500000000000000000000000000000000000000000000803f0000000000000000b512283654736f3f91d0003d9b5f7036e9c3ca345764493fa559563d295da335306902367680203fb02e603dad68d035cb9b403627d9e63eee0d8c3dbbc54436d231a4330be8973e71b4713dd2b8863457fd6a352a282f3e34fbae3c834f88347cbd9235ba93083d03fb493c0c3285350000000000000000000000000000000012bce633313b1434e42093341ddac63463b112355305193597313d35206a4d35d4d2e23375defc336deb0b34399f1e3461f93c3473e64c3440b972344ca696347682c935cdfec735d89ed5356052f03594f17234a5da853456127f34dd02a6348622a63314f4b533c38cc23310d2f3334ce15735bd93493573c94e35917c5535b045a833acc1b6330cee4334a6628c34e6352634b1c3733fa1b0553d65685734e4de28351137503f8f5af73da49c4d353d880b34d1ea2b3fe8b6133e84bb1f34cc666134f048fe3e6881363ec8d3ab34c9e2e235f690af3e6fd8353e0face735616b9434f125513e60fe163e4546ae34bd0ebd333db3df3d1e82633d9e25df33d07e5935d09f573594b9a63c72994d352a7d393469d241341924e43657a6c436a6c5d331efc9253200135832a074493200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f633bb31a3d13731df663a34567cd334836ce834a07ed834655c1835000000004a22713208ccab323869bd327f0583330550f5339c6bd833497e2534814c9933268cbd33e0788133012c033418c43d32205b5b3fc51d173e575f3c3200000000ede92f3f5070803e0000000000000000c135063f6924a23ef664943200000000f7acba3e6669a53e000000002780f733c8b65c3e48fb993e9ec76f346f1e0235c296c63dfb82723e5c1128355f07f9322c50c43a01f1043ecc120733b1e3343427415d3496831e39e1f344344709db33093fc0337b32ae33bf6b1634b99b563258efcf324035fb32a8714533f3b9ca336eaa5e3432ce8c34ef0e8c345aea8333261fb8332ffb02341f260534215517341e6b3934f5bd3e3433fc6334a1ed2a35fdaf9935f248b8358b74e2350aff07340d530634705619345f791334000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b9ade7320e30313fd13ca13eb1d30e3301528c34a61e073fc707e63e6a5361348d93d73343bcb93ea162003fa315cc33e33d47347414633ec694f63eb63e7034eb2dca35f62caf3d343fdc3e426be235dbb2cc33fd92193b7a55a23e1a17eb3300000000249224331fda0c3e409213340000000000000000fa95103a31aa423400000000000000000000000000000000b0aa253400c8b9339453b2348120e034100ee134c1aad534744e013578ef1035dfcef533f71f0134ba1d0534a98d0c34882d6b345b36743484d189340e7b9f34cf92cd3557dcc33582b8c035bdbec9356315823451758c3461537c341fd7a334c0d214340674163408911c3483491a3402f903350be40a35d71f153513091c357527943302bbd3337b9966343fa29c348155a533e80c043f338efb3e808379343183da347ab3bd3eff60223fdea5f334ca980634bf8f5a3e95e72c3fc1820734e9548234cabb873d1f85213f2deaaf344d36c7358fafa03ab58c003fe2b8c535d2cf9734bb418e348ea69f3eb485ae34c1951b3480662c34f11cf53dd35b0237a6ce0a35514417350d87de3a371d28352e99493484375334d67bd834cecfda3400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037602334752f0e34a48403344b0309347e1b61352dd6a035cca4b7354700e0356dbdf233183e223484a4d633cc0c71344d0e1134bb3e183488a1fc334ba20434d4a83d342e388734485f6734a64289340000000007da983200000000e1ad3d33000000005309ad3ea9372b3f0000000000000000ca6b5c3ec86c4a3f0000000083997734206c2f3d3de5533f98961834457a2634228d0134a7d12f3fba292a34e03bc0352474f235f22ffc3edf1b0c36a0da3934c29d3034f8269c3e9e8d3235a6d41f34831f12348de0123ec1e438366134923449f9a134c532ee3c2a920635b6d506331f98bd3256c9b5317bfd8f333603a433825cba33004fca33b6eefa33023a213342b71e340dede633e0c6e93300000000000000000000000058c4ba2fad1ebf34cb55d33431e5e634801e0e3500000000000000000000000055b45b330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009fc833314bfdd131e553e3316d4f0732382fc5334285263e71f3573f8fa3f8335b511e347e8a743df902723f9e75fa33000000008bb89a329fbd5f3f6c05f73125dae334c2921335f5c22c3f67f82d350000000007fa073471e5fb3e5378c23400000000000000005a3ca43e0000000000000000dc3652327f4d2b3e2cf859360000000000000000ab018c3d000000007e6e0032d7603e32d8e5c8398b3c0c3209b33734a4908e33dfe996379f90c934e3d22f35f5db283548623135b77b43353fdb9b33fc4aa033f4a39a33ca1dae3384a46434f13c723476fc8634b5049f34fc80db3503fad135917ed335fc8ee8350b9365340a957f344efe613428bb9d343b761a343c971c34e1c2233481612c34fe362735eff02d3534733935629944359fd31d34f29b193451821134355b7c34b8c23737fe38d33cf8e67a3f0f647834b12d2a35fb7c3a3561a97b3fb5a04035cbcaae333b51b1333ade573fa831453773678034d51aa434d1c6273f8be6d238c408d0354d6ad5350531fa3ea478e83777468f3406048234a692aa3e8af72d391f0a23346a173734f4b2433eadb00a38bb05313526733f353c16923dd773873550c32c3403d62134bdd71b37f638db34000000000000000000000000000000005dd80635be4a1f35a7866535a90d9435408e8833b4ce7333acdc5433a38c8e3477c9a033794ba933b640a233b889a83318a03d3674473f36eed73d362e785736096e6d35491c1735d2ce4235e301ee353e21963512c47a35d4d1623525958635a93a20361e28243667f94b36581b70360000000000000000000000000000000000000000000000000000803f00000000833e4c3566507935a7b2753f1d38eb39f16f8f33d2fee53353b24d3fbc3b1f3c77daa333da2cac338737223f9248993c8c723e3610f93e36f914e83eb3a40a3d955e26354231d5349703983e9ca4ee3c8f93803580f99335dbc72a3e7d27893aa6ce1d36e62654363869193dfc2d08390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d25b0c398da9a6357fbc0636f681733668426938975e5d344698b23494136136b7754638000000009b364c3413b73238807a0f3963b4cf35205d0536850bc436fab63b38cf87b2347520e334bc1cb5372a3b5c38f7de3d35c8861e35061190384e48ef3800000000000000000000000000000000000000000000803f0000000000000000000000000ad95c3f783a9d3d3d5d733865df4c3686ae393f1a80cf3d069b2d3843b1bb34b041033ff8c62b3e3dac8137c2e2973480feb73ee7cf333eff592638834e2b367bbc643eae431e3eac002136fac4433697cb0a3e7f0d403d815de5362dbdc137881c273d64bb083d2a4e403300000000000000000000000000000000b1753934b5660d355a1cf335a878833840015c3432e3a0348952a035ee69863810d09635f38806363b7e6936216e7438a93e353467f33a35eaacb2361fa881380cb2e5345a08a7342ecc8135d65379381397d635fc7b13363de0a237e3899538499c5334907e15351137b73780297d3855eac434b0575e34ccc688347cd6b137bfa83d352b365e35b8688735025bcd357fed7d3534f8693f477bb13d35105c3675a464356253413f7eac083e4c866f37c6e34136d23d123f93e18c3e911bdd37d1e59d3529f9bf3e0cedac3ef0c47737af99313536d77c3e05b1a83eb57a51372b9c5236c956053eb193793e0d07923761268135dc4eab3d446eb53d3cff793785e85234000f8437f791083d50cec237e0364f3585939535314ead37c778393a000000004b8bef34819d3437fe3f7f3800000000000000002e1e133503c6913806c0e533136a03347299e9346669a5380000000000000000a13ec636607b5a385616923429251c343b53343505792838279e82342f0cc03493bfcc376741c5380000000000000000d8f4cc375b3e8538dd1c543572521e353ce71b35537362355efe19320fd94c320000000082341b3488bd5a35b3414f3f7852223edb18b137000000007edf1c3f79399b3e8ec3b5371f3eea33eb7bdc3ef1c9e73ee7f8ff3600000000bdfe863e0285f33e6c5e443795e904354d760b3e668ad43e863c9e35aa7551354485883dcf49993e2f3d9b370a2cc0346846973809c20e3edeff5538e173393567755f358895d338c5b5493b000000003057d5339fd9113539db8d3c73b1c734750f02358001cb377f93bb38937add3431eb20355caa113509e5f0385f43b233194dca3483cc9537df3d85384025ab34eb3d0f3570eefc3614cc4c3830c18735cbd8a335d1faf63543469738c223b83325e03a34fb5920346a0852384ade8033644f1f34411df4332d5bac34d12e3b35f8ec6935e1cdac3535090a3619b09a3546d990359a20a035bc8bf435a4e50b35b3b2233f262db33e55526837b0503b356197e93e88b4043f1477dc37707c7c35c1d5873ebfc7223faa8ac237df912d360063083ead7f1a3fd35edc363feca735381e213dafde013ff6bdf43474e83c3410138b38a6b9a53e0ed8663808d62234f6f195343d26a53dedcc0d3cd6737e355796d635c3194c383d80b13c81cf813568559f35a50e40370f6b153a91418b352743db35c7147d38e97fcb3842a82a35c92cb03586ecfb35a9a5133825179a3551b656361280f136f4be183883a99d35afafd03532b38a366269d63722d49b34d09b8934999d063597b15837c6630a3531c96635769fa535eab412362d6d5235614b52354736c2350b415c371aa23235e2e30d352cbe1f3583f26b3509c3cb359240e2354a080a369ac433361d110e3695e6f63e38a9013fd4e4263670b0f53582019b3e6ffe2d3fd5b44335cf459f364f2f093e3dc7473fef388037c05d0136bf332d3c988e353ff20b19364238ee34614a8d378549003f217e0838cb9f983561d5fd35d9b0863edb44a33cff379435176f6f360fcc403da99f293d4d870b3567ca0835c41e32385907a83cdd35dc35da5c1036c1455c38adab683cda6781357187bd35ab481f3838a04038e55feb348bf59935f415a837ec574c38335e11344bcf1b347ca5d1339a38fa37000000000000000000000000e155d6376981ce34efaca034eeac8134d0a4f7340000000000000000000000001fec2c360000000000000000000000000c4a9d37a7b2bd34679c9334dbd98134aa619f3741eac934f3870735000c32350e908b367e2bd136ebb9ac3e33422a3f0b08c83515f9c735e4d8233e2118523f2909f7350128b0334af9e63914a4693fd12d233600000000e612f337b6b42d3f2d499a38ace2bb34198d1235c436dd3e1dfac53cdca61632ed740736fd515a3ef25d5a3d0000000000000000bbe7823df6591a3ddf59a834acd5ec340676e93b7bb8b23cf51f1a35eff40f365a2fa83856165a3cd89d273530bc3d359f8e083d599c2f38efb1d635e40be03502699436fd3d8e3800000000000000000000000023f49f3700000000000000007ba4993489b79c356f3b2f3543b346355931213526e8923500000000000000000000000038a37136a3dfde315a1417337013f833894a973500000000000000000233a23417820037822c1036058b0f368f0f2e3614e0093785bce4375212053e0a9d523ffea2e4337a80e6353bcfbb3c20cd793fa60a4d3500000000525883372fec5c3f11759d38b2cccb33e90d6935c3b0193fd5ba153d9d4b4335e5f77a3554aec63e1e2f833d000000002d3c47347571553e3bed623dd0f375333e90a9347570bf3daeb3e13c0000000042bee8349e4c883df6a1a53c8cdcfd35b42e8e366f09ee3cd836a23bb61a8235c7098c368e3197387d05a038f5f2ed3362593534e84f39346d54a934d027ae342921bd34a31ed234f2ff973585580135d9c00335315f9e35c0ff2736cde658345e92dd340f9e3935302a74359b86c834fecc4235986985353e9eab366c1b023617840336287d293635089c379465b234e95295343b50d634b0746235fce1a435921cca35a3c4e235a5260836f8ccf2370db8273d8dda753f32fac4358d428034b4a69634a4e2773fd9e82c38c6c0af3455a67e351fa0463f85e65f3debc2653529a8ea35a8be093f2842bc3d5a232035a6378235c9b0ac3e17bab83dbf7c5335a8f8b1358b20553e83c5a93df7731136f2b0403634e3003e6e6e013d4c14b4345958dc34c574ad3dfd75ef3cdcddc23531d4e935474b72381a2a113b00000000000000000000000000000000d165173352961533a1c41e3348de22333f28f033d81ce233887ed633144bff3332685a353ccd2e356ef72e357abbd135000000000000000000000000c5cb9a37b332f23488edf334013a12359883843673156c36d6e64d36e8b54e36f85df0370000000000000000000000005b0109380000000000000000000000000000000000000000000000000000803f000000009bce26337645253378ed613f39393e3d56aed73327c4df339d123b3fc191b83d4be934357ae08635906a033fd407e63d00000000000000009b16ae3e94ac043eff56183538d25735c1305b3e33fce03da91e4f366dff3737d96d003e8a254d3d0000000000000000dffa2d3dd507aa3c0000000000000000000000000000000000000000000000000000000000000000228cac367438a83664e4b2363f68793777d52337ee1ab736f3c7e9375e2c1a38028ece355cd3a6344a4e9337013df4375ccd7337dd14d9362406263817a8a8393751b237ee23853774210a388ff01d38ee7aa137360f8037ccfeef3771cb0738cd907b37d31d493700188d37dc1a873700000000000000000000000000000000000000000000803f00000000000000003fb5aa36d3f17f3fdea7eb37e3472337575a8f376db0543f93fc4838549e0a387a331037acd7293f48c33838e82aab37f9dce237f9c8fb3e7a685a3a23aa2438b312e1375efea33e0cd40a3ad33b07386562b637741e1d3e0ec62f383fedd6376f0b1d37ed454738404fc9373cb9523700000000000000000000000000000000a12e183693841536f4b47036df3684377c686536cf8c56360c42823629005837c93d503661ea2d36469e873660455337943a61368b875836458b04379940ed37b4dcc6362f2b6636f20065371c28073848d03036b7e699359f110f37d65fd1377dba8134dee17f3443e595357c63a937bd9670368737cc35b6b2cb36f8a91e370923aa36b3618536cb87b73659c6413798111336f2f17e3f64ab813b59686236f3145b3620c6753f8caedb3cbeee873690284b3686624c3ff301e93c3d68c0360b6e5e36d276233f5972b43ce7f07a37c5de6b36bbc1f33e9c658b3c72e68a379f3ddf35cf5aa03ea5e65a38367757372d377e34a3561b3ebdca723892369a36d56ec635db13c837ed6cae37ccacf8364b6e68363397dd36663ba337646a5137d1cb9c36f99b9e364190a937360bbc37df5d80360c963b3663684c37342020387ac6a7358a1a1a351d41a836992c7f373a236d3568864535512ba9364b2295371ac5a136ee109b362ea18e378a89133853d330370b7e08359cbd9c373c85eb372e75f336aedc3436528a7b3708e4e7374cec53362398c6359d99b136c8169c3742408a3725c53837ea78aa37afcaf537c4a39a3687b2533f5af7303e1076ce36bf543936c7694d3ff66a3d3e3bb81b3762084c359806293f30c8313e7eddf3369b644d350de00b3f20e5113ea757fb36a20d9d364888cb3e7bd3d63df994b437e6fab4355989833ed20d703d48dcb7372abccd35d0a1053e696da23c31898c3772f1be35a37b273873a26e386d12b9367e5dce362de6c2377f2032382e08ee37d88a3537ca4d6437d2531c38cc961e38f13f8b36839d2f3623e25b37eaa412388a7c3d343d7e33342a81783730110938fc5768374a41333596a7ee37baaa46381baad2363b4db336785b70377e40183825e70d362aaa82344f638f37df6d1b38375a6d371c69a936c25dc937ab1931385437cf377b2078379a93f53715402538ab9dc737c56571371700d3378e2d13380d460637c53a293f5862ad3e3be09137eff301366b3b243f0cd9b23e3c410937507c3a3496160c3f3b14a03e2baf97372ed68f36d775dc3e43cb813e8b070e38a6cab3369393a03e95b43e3efe119837bb4a84347492483ef599f53d59eb9137bdbf24368c63ac3d5f03673d0a8dc73759a6cd36a4c2493829258c38ebcfe637fd8dfe3616a6ea37b55b4138319ae63755dc0e37bd9403376ff6b437d267c637bb311536ccae0d36104913366ba09e379f24813626070c361707a23620dd0238d3c82d3650101e362ca72a36c60ebc372d255637583869360dfca03741895838c7e74a369fc32a365d03433676d3e437b14f4f37ea74b03676cc8737e9dc0a38ed4e4b36485d1e36d8d52b37e2f0db378f189c37ad3e7d3718709a373afbba3749598c3639f1fc3eb276013f47b2fe36dc510c363e43f63e66d1043f37ba143654b30e365397cd3e5c73e43ebc0d9b360d2d1d366460a13ee28cbb3e75303636b5ecb136fcee6c3ed078893e3725d237b6dd2b36045e083ea6a63d3e3c4147366eab9d36fe43573d95e6cb3dc8b67737c39b1e36274106387713a338bb699f367a4f22372ab38a378b0cfe37539a99379612103756783137aec61e389f831e388b94ba363363b73675daad37f11a1838d1c6c636bb4677352e2b0d37d2a11e38f187e7352018803426021b363a571a38cb787037e118b83648f93a37d1391b38ee6711388003c6378ac30738a2864d38e642e3374e858f376a82c937f75b0f3823eb9a37776e6b3738e89037f6b12938d0210038a81ad637877a02380ef61638d731e036ba12a63ef4e22c3fab4ec736d209b736ef18a13eb15f2f3f8aa7b93640dcc035e766873e8447183ff0daf536f7877f34b31f4e3e4132f73e1803f236b9f1b9365f9c0e3e24b1b83ea35469378555d637877a8c3df3ee7c3e951c08385b038337a3d59f3b3c570a3e3275ac37049b40372eff2538fe76133c63a57c37e416a0378abb003841a83e38a79203387afe6c378f705d37eb790a38fc69143846fdbb351050ad35b98fb035ebc45437be2fd23620a958342060c935b203b43719237f37e1ce0d36a366bd36d003e13728158f378ef29f361e4306378ea51738840e1637c63fa4360c32a636e4f795371f473c37ee51d136e637de36626e81375103d7379c953637d120a0374b5d35384c2b80378ff020378d3f67377d3d9e374a1333370ec01f3e64ff573f8827c83639aab035b9761b3e3919593f86c8a3359caf07362a270e3e03f1353f007c9f366fc1013705a0b83d661b183f66b05637474a2137d9c1773da2b9df3ef1ec8a375105c436c8849c3b3dce9c3e62c4bb368138cc36892fb537e5f5293e2240dc3669be0d376ace143870a14c3c61b85f37533caa365d516637d3a4f5373a4e4437484fee36211e86362f100937d5d88837e564d7357ce7c135efe3ac35b19e26370fcd7e34367d803487467734a9e4fa36df7cee36c3c9d235dda09735121884376bd17e37a62c0b37ac7bba362c59a837bdaf6d3776147336ab007136c0f7b93750e6013775d38c3667ad823607a257378ea31337cefb8736def29936d92a5b371abdb9361b867f3649c18d36fc53df3698bfb23646e4203882f57f3f80af65361568ca35c484163895f97f3fe9eaae352aaf7d34c9413c383b1d593f3fcf78347ef962361cea0f38eec32f3f9e68f236b2d345373cf70e3906b2013f8bca70372ac708372ff2133863b3ad3eff0a583769a598365a386137f042313eec8dad36659287360b60223776d7553ca05783366af63436a51c323650ffa8372f932d36000000000000000000000000000000007e481637999d2536144311368836a33730d2a4371b8d6c3636b0c533099ffa37f0ebf937e24f723726cc36374c1a24383f091b38e809753787ea44378d90c839e8aaa33760272437000103371cd4d237896f0d383dcbc837a0d4cd372c1921383ca375371ed5b636a2b3013740329d370000000000000000000000000000000000000000000000000000803f0000000071d6af360acc54371cf17f3f8bed8437ef2b80377d12e43702a7583f653619381cf0d0377c27103854b72d3fa583733933d5e5376a522a382785013f569a0e3a7ea07c377d9fab37df2eac3ee2950f38ea47ea379bf20b3808eb2c3e340e243852c2cd3699682237fa883c380a4b883700000000000000000000000000000000000000000000000000000000000000003e373e36f828a8368f3c2c3831323138b989ba363aa119376ab90038dc600538adf0b935756e1d3723d1d237f3d2d537c5dea4361eaf04372385073881dc0e385a81833669fd6837bc9b163806bd19384633f2367821813751242f38a8982738b9ebb7373dcac7374b9f0a38d791053800000000000000000000000000000000000000000000803f000000000000000046f55d37e1a1703f46e390385a26de375307a03794154a3f4576b33920d5ed371bb08437454a243f47280b3a1ae8b7370f9e983760a4fc3ef66d2f3a09aaed37596db8372662b03e25a21d3ab7fcfc378761a43711344c3ee4a46738cd55d137e11abc373970403d7ba285385d91e337000000000000000000000000000000003c30c834d1cd1035b66ef2378f1add37b629b034fcf9ba349457943739debd377cff58355e1f6735107bd537d503093800e1c7351a3bcf356173743755dafd37021c9235e5073f36e104083808142738085ac73583b3bf35244cc8370c3b2939f814a8362e25fd36bc00d83810bedb39cfac1e35d0b91c35fc3c3437115f923731efb136f2586536f43ab437307ef83723e94436fdf86e3f45c9873d11d671375c95c43449a7593fa2a8b83de5c75d370fb2743526ef373f83b29b3de6d9ba373fd5d435b300163f37178d3dc1618e3729541b371c5be83e644a793d372a1038289c3d3653fca23eb3ee243d0995de3778ce5237aa363b3ea15c993c3a6b163962941a354176333d3712e6396abd573765c43d36b898c137cb662c38fedc0d38da36b13646552337c7d3573884cc37389c3aa9361d00b3361c3cfe3720681638f1ce13368c5d90365fbcb13723e30338f80eed36922cef36bb6e2038eaf1c939785966367cf6673613419637279093391a95d5356d88dd35de8dab37a7d43b385ff2293799dc27371f84293881813d395d5af3362f6eb336600efc37ef9d9a3916bef534f24d3f31c23f3f37ab1aab37a8da2d37eb35493f8fca5a3e502bb737b595b43629e4383fb0a15b3e214aa5374bd8c336caba1b3f9b7f4b3e37c6bf37bfcaf0366980fe3e04122f3e44ad5c3815d0683699ebc03efaa0063eb6f7bf37672c2b363a87833e64c2c23d9a88eb37845c273780f5133e2f0d693d07f63e384df3ad36754eae3cbfec883c9894113942ce3d3110264437c5bd0538ac36d43726aa68348291a5360ba7fb375e04df373d1b1a36d2df34363e619b37b5c7ce37c636f1364f60f63620faf7378ab46a383ba98536188387366e86e737446c4a381aafa8369cafa9367b120738322460381303cb36c83ecd3632a121370e3cd2374045953637ec943636232e3734b4c637bcc5913723ab6b3794272038fd224a393fc50538b116d73780622e38ef8c5b38de019b3688c9233f484eb83edd7e4737f4833c36a9c4163f78ddb43e0024e336012ef536e7ecfe3ebc1aa23ec4dd0638076688361788cb3ed0fd863ebb5a1038454eaa36572d993ec09d513e920c2d383010cc36529b4a3e22e7183e76d370373abd9336f69fcf3d3ca9bd3dd5d36237416f44371d29883b499b153d848639384995a8373b56283841fd8938c5f6663885f78e3569f8433743df1f38392d1338afd14e3555264c357465d937716c0238c7a1393605253c36aaeee638209e5b3a7988d7352462d9351743e4374ae0bd397be36b37b8f37637bf6f0b38a05c8639d793323678ee4336abc1e637c0878e39fe62ff3688b6c1363cc6423930622a3a2685673749ea0f371842b937a9a8e837fbce973797cb43371414c037f2f60238e0e441370ac4fc3e6187013f30e1a937913850351651e93ed1bafc3e570ca8372e8c3d367720c23e817fd93e237883398aaadc3558fa983ea166b63efafe0b3843fe8d379aa4683e24838b3edfb431381100c73646810e3e2af2513efbc20b38bcf2bf366e5f863dba02033ee052bf393ba9c536bf85d73787d64e3d4825d937f5370c37a1dab33735213038d0b00f389bba3d370803eb37787a803824f977382ba315373947163757483d382334213aed908b36e8718d36597a02379c900038aca9cb36ae8bcb3671561337746ddd38be69af360b2bae361977eb3703afa7380b690f372a34f536dc66de37e5873e38b9c15b3754e60d375543fd37f04747384caeed36932e79364e121a37465cad37f2694137b08bee362c237c37cdfcbb377cdcf13718ceb13e85fa263f69052338185b16372291a53e088a223f07bb133829448e3640a7853e577c0b3f4da981375f38cb366a944d3e7d55e73eb7b79037ad85ad3687b9143e8e82b33efde93f38e8430437c258a33dc080843ee39e1f38dfe813377377b43cb817273e81dc1c38f1b071362c6efc369a576c3dcf6baf37ce57c1365fba4537cafd0e381e3eda37a996ee3114298636c520fe375812e737ad5ca93601fea43625afff37c85c5a3ae9d826372dcf253757ff1a38ae75113ac6aeab3661492d3617e899376ec8693825317b361dfd753692ce89379f80dc3918d8bf37c7dc9337cbe608380d3fdc3970514f376fa22f37ebb1953799e3fe37933398378c652b37978ba037ff4a06384737da372ab37d37560cc937fd78213856c3bb36878a4c3e34cc4c3f312a3037f68eaa36fce93f3ee3f4453f10a0fe37d88935371fdd173ed93a263fcc1a853859a0fa367b3dd33d716f0b3fa3472c3876c389365321943db22ed63ee786763975d7a7378309a43c651e9f3e49025e399c303437a805d9370059453eaa4cf4376f54163705179e37f324813d59670a3847b14737a3b29937805d843881e444380a69af36f05b0d37a3941d38ff212638ca1c22352243163563cb8236e301da37dacff036dc6ca8364de7043805fc513a0f63173775886036b01e5a37b789023a6f98a4375b3f5f37846aba37b16a2a38a15c1b37a6600936ed3d0937c56e013875819e3788593837ebea843760ce053894f95737c9470636dcc722373ed3a7376c75963797e63837b42261374107b337e5f58037574a563dd28a723fd083dc378ba61d352ab7553d4e46673fa520b337900766374734f63c4618443ff9d55d3ae4c60a371e990b3ce3a9213f7855233a9270903770751838bb54f83edcb93c386fa2b736b53b8537819eb03e919625385bcf433706549937330c523ea12c0f39d59aeb35a7600637ef81733d942fc537b8c7263760bb0f37d2a915381f82eb370000000000000000000000000000000079fc3f3703d0c636d359ac3705ed17384dd2b836d4033734bcb857376532293821596937e0f3cb368b1e9c376484713880158137323f0237812293370ca30e38e0d9a3376c7e653707f7843713f4d3378ddfd9373a309e37b725b537d146ff37c77cf337029b3f3788b7953703581c380000000000000000000000000000000000000000000000000000803f00000000d5475437d6e6d83731d1733f6f21b839736daf365a1ac43703ce4c3ffedf5e39235f513740c7e6371168273fc8b4353a4e4457376280d1379e46013fbfe1243aeb618237c8c89537a8d5b63e5161ad39adeba7374428bc37c0f1563eec5e2f3850254737ff4f60373628743d332f533800000000000000000000000000000000000000000000000000000000000000001706a33759b5b739affb283a37c0193ab2be50378e2848395d620e3a90d4053a83d7d537840584385637d139da18ee3920a71f3810334c39ecf50b3ad2a1093aed89443813d6863938df133a39ba143a550b16387d472938ffcad1398718d9396a85b837232513392ac1d3399350ef3900000000000000000000000000000000000000000000803f00000000000000008f1bf739860a613f12163c3a261dfe396339ad39f58a403f73d7523a1ec5e439d5ab5d39dbfc1f3f471b523a68d6b739bc609939b3a4fe3e5b3e343abdcfee39d780aa39e718bd3e3cc03d3a842d093aa40a38385f8e783e85e96c3a881cb239fee61e39578dec3dabd64c3a84edeb39000000000000000000000000000000004523193881dfaa394bd1173a8e76003abdbfb8373bc12538c48d0c3a16b3063a11646737b693c2376074613a99e4713a8452a0375b8495396d95623a719d6f3afc7f0f382d7e2b3811bc8d3a1083a83ae3e9a7376bf5ed37ef73a73979b1f43983bf1d38548cab39ec79503a48ac5e3a25aa4737365fa438c7ee003a4731243a8b5e19386f1735389ff27a39255795392058cc392cea603f5942ef3ddd37b339e6e220397a30473f0625e23d0fbbcc3912d4d937a4582b3f3ee2cd3d4883343a4e47e939a5540b3f4961953da7d5643adbf33238492ae03e038f7e3d1758a63aec8c083896d6a63ed4e2463d3d79be396c8ac739c4925a3eb00d003de6f1563acb329438b040d83d2483ce3ac645263a1883313868966a396a17053a384aab397698533752562939db03373ac682143a9a831238fb83e4383a00303a247f2f3a6dcfc237985c2738b2e2143a42681e3a1406d337d46b09382053ed397cd0103a4f1e2f3866df4f39ec5c893ae1ed9e3a667f343862ca423825a6413a3cfc6a3a3befb63716cbf537d348b239cdbd073abd7ee537688a0238eccf5c39eea1af39adbd2b3874b44c388d14ad39eb120a3a4839533920a1403fb3d4783e70cea339338b68391e7f2b3fffd6673e444e143a0f8b11397d48113fecd7423ebcd60e3a3d031738d961f13e628f223e51bddd39cbd591392f95be3e266e003e5d84913a8343a238fd1a8d3e4524c23dc151633a819b01387bd4383ece23813d8eeb0f3a0b9802384d7bad3d8ea3fd3c9470cd395f0744389b51bb393dd95a3af6013a3aebfbcb3786017b388bb17f3a8c03533a1ad92e373a056e39f329a33a552b9a3a24813e387680943991345f3a94e6653a3337243888ea4938d34b373a7134743aa9740b3856522138f9774f3aa4652d3a154c8838580ecb3943316c3a22d8863a39440238db6d8538cb28053a3f9f213a1130ff37542a1338cf6df539f7f03d3a5af42138e696be3815a1043ae449413a8602d938e8b51f3ff0fabd3ef689b9398edba639b6420d3f39c3a93e6542553ab821c93969d1f03ef2d3913e8ed1503aa6575838c8dbc73e63ef743e786d3d3acfc326382c9f9e3e945c423e8a22013aad81ec399f2d6a3e3f5f103e3a1a8a3a7e02bd38f6e7163e8732c23df764333a1d2513384372863d91f13b3d0b5b673a9c6b1039793cfb398a708e3a3a38743a39cd6c382063cd39487e3f3a212b303a3dfb853760478e392304c53add4dc63abd9900383d051438ea60403ac830543a954e2138b6693c389bb7bc39e7f6523a573d3838b29c3f392e3a0d3a2013203ac62c31385f4e3e38ce8caa399a571f3aa25f0e3888ba1638490bf639a5543a3a3d13883970cda539c1a9563a3cf9a33aead981397f2b9039b3af023a5be2213aa714e439e5b8fd3efaeafe3ecd200d3ac1d5c239f793e03e6c92e23ed953943a385e2738e9cfbf3e4db8c23e822d2a3ad4c04138561f9e3e34c1a23ebb0d3d3a49857539c2317b3e1040813e1a1e203aec5b413846df373e5e9e423e508c3a3a1c341b38c691eb3d12a7003e1d275c3a51259f397589433d96157d3d678bc33a6bc08539e896ee39803d463a03f6363ab2bab3378dde8439a2e6883a8f176b3ad314bc3708340f3846ea6d3af49b693a582adb371baf0638044f143a2224423a36f0de385249dd39ffc77b3a5a668c3ad83f15387df72238f662833917f42a3a250f32380c0b413861da98394cf7523a89db6e39593aa239f629393afb505b3a33375839d47b7a3978d5373a8cd3823a8385e337a115ec370a8c1639b9af0f3a02c89539e31cbd3eeb9a1f3f0ac5173a429418380f88a73efe7e0e3f65d3263ad1ced238623d8e3e48b7f33e888f2c3a6a73083aada5683e5147ca3ec429893a002627382c46383efc0fa23eb330593a74534738129f043ef3f6713e88d9873a651ead39531ba63d0cec203edecd6f3ae6fe6d390f2f043dadba9d3d87689b3a6a5def37c9105038ee3b823ab780753a0a5a3e38f8a666387fd14e3aaa03493a8e97e537c32907386698ce39b669143a5668b3370c6cf4373950e739fadd313adb173838b2d44138d9372e3a10c2813abdc0b43820a9593941ac4c3acbaea13a9fb10a38ab930f384f3573392aef053a803f0b393d1512399f14ed39f213183a21b79139f4037239ef3a063af937253ae878df3837868f38af708239bff1f839630b1b390a19783e77a2403fcb1b0d3a0d490f38f7595c3e48af2a3f15f0c139fd5b0638061a3b3e5a06123f7eb9283ae49845383737183e717bf33e02ad8d3a5e228f393acfed3d66bbc13ef950b93ae79113383943a93d0276913ec2c1333a39e62d39025b4d3dc3be403e8fc3283a09326e3945b8d5392bd6c93d0b6a373aca555138a9261a396ce4493a48c3323a309832385887483891eec939da9ee839a052463766b3a137289c163ae6cb663afca51a38f8ee5539c0d93c3a5c37713a380ea83773a0c637978c623939151d3a822a603885ecbb38141f623abc63b23a8e63cb3933c1d2392c993e3aef42683a8c278a388622e9374c6b8039586f493a75cd6039710db838cd45a239af58ed39d8f652395aa605399c519f39a182e539af9f70383bcaef3da33d613f4dd0d53957fcb638d6c5db3dddf6473f3fad6c3a5795af39038dab3dd83b2a3f039d963abb71ed37dce28c3d6bc40d3f12cc803a1fcd1a3904b1093d8717e13eb049a83c2c12f13969f2f23c6621a63ea77ab83c83ea07381fca4439cc7c663efa2a9b3a7594b338d15a40393d03dd3de794243ab6eaff38f1043b3926d8113a2f99143a00000000000000000000000000000000ba17b13724cbcc374367c13943da1b3a383d0e389aef1338958a63391c951c3afe73bb38c2891b394ccbdd394556193a2bcb8d384a17b6387329b839a53a073abef1bc38ce468c38e2d25239a4adb939204b963939cd5b397de9b4398309fa3906fcc5396b3b8e3952dad339aa690a3a0000000000000000000000000000000000000000000000000000803f0000000007c2d238764fde39063f613f58fb493aa2372d38c662a43966c6403f25af783ad07a7139a203f039cb02203f7b5d373a1f381d398993ba39a2d1fe3e1150283a711fc53869f538395303be3e48f9283a11c47139f39896393253783eb9d5303ab9648f395479a039f82aeb3da86c2a3a000000000000000000000000000000000000000000000000000000000000000095adc7339b33cb337be91337aca81038ad898335163564334ac4f436cfcd9e37b39705368ef2d7352e7fef362dbbc8370e194c34cc79c53310e0e63705ba4438f12a98361d94723600de1d375f288237e9157d37a6df54376c59d837df47d13713109b367cddbc3646387837d9eafd3600000000000000000000000000000000000000000000803f0000000000000000bb9dd73571997d3fa4dc8938f0ae0b386c418a36a54a5e3fa80e193865fd9537b39b3e36c3d42d3fcff63d3843a6b137799e9f37f207fb3e8df2ad3837612d38d029d036b0cd9a3e0f2c2138c69edf368769ca37cc1fe63d64354638d0fc5c3701764037a8c2d8388cbd41381e6f88340000000000000000000000000000000053f16235afca48353b67ab363698ab376d346934868d6c346542713478efad37517b9635a9bf9535b944b73514e207380ad9ac35921497359edce93594bc12386c8c9d35dda79535d1c1eb36fae3fc37a416dd356f9ce035332a0a38c39046383da89a3505c19235daaf9337d981c33706920535bc9d0c352a9d4137993e9337d2fc2835510e463559b97a3519fbf836231a203542857d3fcd281d3cd21d743764376f34447e733f204bed3c1e889b3744d89b350be6543fd76e873c6a68143862039e3547ba263f55fe113b0e2f163881fcba353e93ed3e522bad3ade160338d4dd0137ca418e3eaaff143acbad303820e4873542fdb43d72826f3ac6996f377358fd34dc1f5438f5ed763844378137b830f0345c901136cad1023810ab81378fa84b34368753345efd3f373965ac37c2f9483419ef4b344a500236347fe837a3690235fd9d06359383583535c65237e9916634d8407a34a6ce83348b10fa37b986e933f9cbeb337154ea33b96bac37e7f44e35bfbb4a3552448b372689173840cdf636a54dde35ff150238fdda303880a30b354f5120354a3d563500f68736d60c9a3511e59c35bb74cc36b0daa737d77d5234edd15d3f8385083e7f49c636dafe49340d99553ff1de273e2346883751f207350e81303fa06c233e6ff20c37641581340ee5083f4298103eb1cde8371569e733a7ddc43e502ef13d5a4a9f37a6924c358d5d643e049aa83d5b060338943f0135271e9a3d1c92243d265a1138c7befa3426ad8d37d76dea380029ae36f7658835a2b9c6362641363802f2dd3744c09134a2c89934ae09ca3700608837bb5c733596f27335c262c0359db2e9360048c73317e2ed338a31f5358f77103877e7f834f415013548204f37108c1f3830dd7e3356e3843380c0403755e21e38caa4a73429eea8347c4dd936628ad4371edaad37bc5483378d091838f7963d388abd2d371cfb0b3752280138291f1f38845cc535a10cc835b6a00e37c6b18b37fef19534c83c2d3fc588a53e3637963487e55c3594df253f7ad1b33ef882da35ebcee23305f0093f93c9a73e9b4aa6373dd300353bc2d23e8a2e8f3e1f0bf83737648133ee178f3ea8915b3e073cd437cd98a0346e061f3e84b4163e8ee41b3747f21d37afd6dd3c17cb9c3db43707386a4f3c330972613822de0e390b40e937e980c235d62231374ad94838f8c1453711365936f1e16336f2c895365b028d365bd74335bfa254351b78dd359adbf136bf96e236a38ec936c5ba2937f76f5237bbe3323669d92a36d9de30363c0f3b3793ad83371dc43237d89ab0373b66fe37737f3f36a4d13f364f28fc360d94c237ade25937ca444d37170368372d81b4378140be36cf8532361a6160378a329b37a07f82361c9b80367f4f87366bfa8c36d238443668ddfa3e5688023f0aa04c36c6e63635e959ec3ed7a2093f383f8e350e16d2361fffc53ef095fe3e2c243c37dafe2236280f903ece4bd23efcf93736bbaf5037b74e4c3e0cce993e5c4ec637d85e3736555dc03d04385b3e545c4636f2184637bcaeb93b45e3e13d1a9c4b372107ad3558800838e26e573ac68b0037857c55364dcc8a36d0b5113874478636268fc535fb6257367829b4371832833615443933f5ab48337bc615373db45937dddb84356b4886351e118435906dac3766da9d3479bfa334df42a034947c9834bf01ce3666678a338b99f636b6bbd73765e4cc3764ed89378d82d637ddd92538b9b6dd37d810af37f3c61d38cb8d48386d0ef63580590036e60e6637d601a3370bd1c234225b303687068737b608ad379900ca3512199b3e5b73323f7b05c1351aa92f33233a8d3e1d4f393f5d353933400986354780653e84152c3f6217b835512cab3404121e3e2e130b3fba9ca13430ad8936f32bc63d71a9d13e9f520e3772c4a137360a053de2518d3ec343a73751318c371a4bdd3843af083e027c9a37fd14e235d09408381ba75c3aaa6fd635d82c9334ee9ccc37683d553829a5fc352f262837b7bc8a374003c537ead3e83672040335455e0735e4340a3581c80435b6e83f36ef37023589b2fe34deb5c3367ccb0f3758ba4f35e7394c3594b55f37b2b2de333e15e233886de33327176536d2a89c37e001ec36d59210372210dd376feccf36e7c3943526e199361cff8937096ca4377eee8b3779abfa379b740a38bd9da136e95f95365d9e7137bf0a893726475c37638ff63d662d613fb64288351aba0a35cf26b23d9eb8693f19800435327d8636dd7f9a3dd5204f3f93f8f734baec1537337dce3ca2612b3fd7f843352e2cf0354633ca3b28acfb3ed8e6e63397cb843791508c380ae3a53eb6b8d2360fe8c0351bf93438a8991a3efc2171354fc3343782715738a202c13a0ebe5736c7a15f34ccadb3370f7d1c3871295934ad5395369a391f36e1b18136f147bd35be86f8345e49f3343b1fe4348d0aeb348d436c35ec5c61353eb30b35939d7a35166b8837086eec35d91de135e4a7c337da36ce366857f43595a9d8359ea55a3717f79c373eba0b36504bfd350499d53765ffd837954f7b375063a337be151938cd8b3c377552ff368ec39b3704d1d5377f00f136c0169a36ecc92437b1034a377f430a379c2085386ef37f3fe465c1341c5df4341ee46b3838f27f3feb7beb346fb174358e002c387f26693f5db96735418d93370d1a7e389bb2383f42eaec37f392db3617fd7f3826e1083f8fc8483709b697379b3a6638c753b13ee7088a373030c337274b6e384b591b3e581ead37ae3404375cc52a381f4da23c52e5e035bd96ff35160e973708bd0c384642c23500000000000000000000000000000000cb287e34f0a88434ad268c342b0a863493afa736c1215c36097e4136014c2637320681364122f635f3964f35ba59af3675479b37de578236308f13342adb0438e8bb2d37a6be5836ff4154364995bd37b86069374af32037048f5037a442bb3769690b38b789e8376df90c3803c13c380000000000000000000000000000000000000000000000000000803f0000000033a0873416f58f34a0fa7f3fbb1102372ecfb1368f183b378330633fe415f237af6289361118fe36d38e323fa565bf37b911a73798c04a38136a023fdac97538a6e31b376fe8d7373b39a43e15460138c5d15837cc9ac537ad97063edf6fbb37bb37f3370efd333804bb153c63431b3800000000000000000000000000000000000000000000000000000000000000000f20fe35b7b91f365a36d13688f84237157c92366bb3ba36d0ab9037f08f3338a22915363d25473660ff96366309c537f1fc4336c0804936f157153736d8b6372a69973682199a3656e1ba373569b13775081b361a560237625f0138eb41b1372fda323673b993369a06e937eeaff13600000000000000000000000000000000000000000000803f0000000000000000caf92e36b726773fcd82c73a2b524237d2c8d736d8d1513f92b17b3a48bd27381e2f7636ca93273fccbc15391eb9303708b957361a15f93e39fdb4384ad45f3663919f365f28a43e01f885382a3797360feb9637b0d3213eb08428382196d73564b0443747ec533ad9e51d38177b1236000000000000000000000000000000005bcf0f36e49c1736666a7837bc55143828f59935aafcae3519dcfd3516278637718cdd3544fcf235edda12365184fd37226805362b340b36b78b8737b2f3493838c2c335a4a20d36c7de5a3735dd163803e82136dfc924364ec5a237a3780d38624ee935645aef3599a92d3887c44238bba91c36ed322236a55056366a1a84363d19bc35aea9d03535390036142d70372ff718365e1f773fbc520d3d5aa5f9376e97b435f0f7613f2a1d793d6178af375a3a0136edab3c3f84d35e3df935f33729120e36f02d143f3fe93d3da5681f38333b4236055dd73e043b093dd4dec637ab012836b5c5843ef5369d3c426267373b0f2d363632d43d7f67823af7d19337e4b81d36f447ca3731287b38754e4e366117d635df112f36b5b748388e9841385c284c35f3a76535a903af3786c80338b1013c355c1f9b3593f00d36dd304236ba8e853547a58d3533919635691392377057833565cb893508ec9135943bd63759978f35a5aaac354942ed35a27a5f370bdcb635c804bc354494c035afe1c3371fbeef35b007013625408e37c8c3083896d45936412c63364e739d36bd271b37d1cdf73419f20835a16e1135253a2135b4dd6535506f513ff2013a3e4158823796ac98355af03b3f8dd1613e2bc53b36b2e18f358dee173f35a3543e1b0439379b238c35475ae53ed752443eb815b7376f54b235d674a53e1955253edaa82c378408be357ef3353e25d0043e0f9a9b3704c403363163853d93d7a13dbdb5e237ee535f36b81f0d3755f1ce39f4635237ab6a07355ee21535a42f333828ca0538d2a9a635a256ba35ca36283873b9193899d4be352b5bd8350719ac368d21d236fb88e935113011368f0c4236a4430338a2e2ee35b1981536d6803e361402593668ac5d3691a887368bd8c736d36306370acf0b36c3b21c360837c7378b9a3d385d960c36db2c1b36edb5c8368a86d637e1217236ca487636fe3f8736f866ac36915e523515226535063e8f3513207137b85cb835b527283f979faf3e80102e360141d03513cd133f1122c83e743198362c9e1536194de63e557fbc3e28ffc237e4491736ec95ac3ed61aaa3ee2939f363f4e913634f3663e6f61873e0cc2ed363e3c213617bfe93d51ba493efad2133830e51836b37b003c706d003ebbdc4c37afad7a36be77963692012f3a14689e36a30b7a350580983504bd5d38177c0c38db360736488309361502c937486a8437e3a491361573d13608091e37d087aa37468d92352b63a13586eb263764651f38cb2f3e36a6308636273a20373af4a837ffb40636aba11336e507f836ba1cec37efc2bb361e36e83677735737b7aac6374887163695395936dee31c3883064b38e1e70b3757dc0f3711242737c5071338678a08361b940e36fe5d08374dcf7a3713e109368c39f83e59e2033f997e87363523d236cd40d63e1a61103f2fa617379473a5355f29a43e97ca053f176df637b2df94365256603ee788e93efeef6537bd9d1436ae25273edb64ac3e6500ac3751ce0537ecb56e3d5188883e0398573793107536e4589f387473203e2edbff3791720c37539b043807cf8f3cfe54e33748ae0e36aa15fc368e1f2d389ae08e37e22a8f353d12aa3532ed2a38faaa9637ca384c36de116236d43b7936a14a8236b51aae35571ecf35b8ee0036c388eb36e2aa043643e21036e9b806373ade1f388ee7a2365ac7af365055cf36ac7b0337c335413626e74936f534513688e59b36a8b45e36581864366b868337d3642538e02d8436592f8136e662b6364d19e636a112c935d308cf35be402f37c02b07389bee9e3567d8a23ea98f2e3f0bfb773514215c36439f843e43893d3f0c897436962ad835f195333e92ff303f326f1b366608133677b5e63db37e133fa8f8eb379bfeb5362571723d65e7e63efb1fd63658eb4a3653f80b3b7942a83ed7974636fc0863363d4a89385c4c3a3e9a76ad37a5b17d363a44dd361e5c023d3e9bcc365a1ecd35ec057b37282ba238145e0338e09c2a3544d53f355fff17383d099f3657305436993d6a3683abdd36a0e8ff368474d6351031f4353ad1f73599449a37c0d9be358afac33585a4c23564975a37327ee7355863fb35e404fb3569d81f37c1a39f3559f8a935c5e7a2350fcfcb371b72c635834fd33542a68b369887a437f73e3736317138368ce43d3607358a366962613605f1da3582ada337707f043885652e35904d203e54e7573f82900f35b1f36b367052bc3de55b683f84de5b3611b2f435787a673d8c9e4c3fb0c72437cd0ec835e2074738fd4f313fe6a8ac364018ff358583e8375bef033f345580365ed4af3543002d386c77b83e5582583764e2d63533dfb437b39e4b3e467614376dbf3b3692529236902f3a3d16a21d3680a092354e12a737c9c0ed38ea6ca7370924c33604149c37d5fa3338b427d3376e8be335e5a7f3351299f435f1ba2b36de95db3598f1e1356d3be5358cc49b3783181d368b8d2236b0dc2136b53e8d37f4024636c0f04936036a6636fe67d4377d291236b07414368a8115366c342238921a56360c8047366a32a0369d2cf83777ac40360e1240366bbeef3651e8ac37ee878737e7211d37239dc937c27c103811dfe337f7e6533af4c57f3f4af7ed353261fa35b5f48537d9fe7f3f43702436d0dbe635dc92db378732653fc1cf4438778f233610e789378fb4383f9d971b386ccf63368bcdbf37ccb70b3fef511c385ec81636aa7711387bdabf3e29a537388b455136161dec37b896553e1804b137d1b13e36f74fd937cb51673d074c0d3682cedb361049c937b52a7d38b7f49c37000000000000000000000000000000005ec5ed34a51c1c354c7563350c326036d50ea135eb45a73596baac35c005df3644998436d0128836c6bb8e36620a9c361ed43f3654de4036176b4a3673b68d366a3484367d8081365e308a36d5757f3703db733756270c379ef5a837331737384d6d2737e55f0e373c3531371edc50370000000000000000000000000000000000000000000000000000803f00000000c78247350866ed35adbf7f3fa7c61c385b5dad35da67c235b087573fc81a3438efbd8c36ca9194361de32d3f9ff87f380cab4a36148f5b36d76f033fd50e513815638936b31f97360bc4b03e924a5438f6d64d3755c60b38197f373efe874a38cfe7153751e13a375e5d073d7af3353700000000000000000000000000000000000000000000000000000000000000007424f835454d39369c10b137462d57386eecee363ef54c371064193849907f38491839362bff803651ffb536f060973783c494362c59a23686e60b383201203827375737a8d55f3726461838d9421c38fcb1f636227688375bf80c39af7b02383f681638ac8b52385b5f803847863e3800000000000000000000000000000000000000000000803f00000000000000001c905536ea286a3fa5868a3c165fab39630c8c37ea51453fa98b483cdad67b3849e28d36446e203f7778583c643d2f379dd10137dab6f93e3598503ad2b5e237c9968c3788b3b03e9118523a0001cf376ffbbc3774d04b3edd6c603a2ab866377a9e6038d15e6c3d5c6689380d70673700000000000000000000000000000000914eb4362237d2368044a9377d031d3841708236358bac36b8137737d2e14d3822965e36465d8d368c3031378fa83438a80c8f36c4b0a6361f8bd536b05911387557e036f826f9360b571038268a72383ad74f36c6a36936a5a2a9376b303738b7dbdb36825bf236a23a1c38e5946638ad50c836797fd33679c0b837abf30a3870663936da9c5636a9b97536211485363f12d436a08e6b3fdd2ea03d91bc373869a0b036bf49513f76b4be3df7dcfe394003933604802e3f0511c03d628ecf39a358ab360f520b3f76a5b33dd74634389bebfb3646acd63ecd389a3d5ce47f3813306f36fc4f933ec2c6683d5d4f3b38ac9ff93628ef273e69fd023d069b6338017ed3369c1bd33ce8fd9c3c7fbded37950f5a366f3b79366fbefb37e0542638ce5bc1350546e235c124e1370b63543870d1e635b1281c36ee914536d89cb8379d863136650456362b526f375c7741385888a43659c8b03664b2e637c6958238045f433624dd4b36c14ed637f1e84738bf7171364c0a7d36b3b7ec36a8322b38dfdb89360e068f36d624f737884e2e3856fc6e36ee27813746424a386d1e6a3831111a36899f2d360b244836947f24372dc1e435c07c463f30e0643e7197463806d122362ce12e3f454a6e3e54460538b9545c3654c70f3f29d25c3e24f0d0398764b336e407e63e36fa413e65819538d53f8a3685c6af3ed248183e9a2f5738dcbb7d36a5b9663edb0cea3df85f2438dd0490364c14083ea337923d69651d38f3b793379952113cd207e73c57a74b38df673236c7f44a362d97d6377f1edb37d35e2f36c3528d36ae921d38fa694938799a0736f8403936c8a5ec37ca8359386410993652bbc836c5266737a9034f38f99f6436ebd78e36339b593749cab437ee9a90366e239e3694392b38e0ea813885ffa0368a83c63608b83237c443fe37cd74c436c84bd736c4dd4c38719f7e38954bfc36b3c8663711d62438629131389816603661e791369a5208381b144838ad6c9336862e223fbc70bb3ea55bab37efcb3e36e0eb0b3faa12bf3ecb465e38f9a5ce366ebde63e95c2aa3e0e4a65385d859836c7d1b63ea078913ee274ba378c86a1361198893e155c673e65197a38a8bdcc36c5e1343e5fa9313e8a2fc137125143373c71bc3dffa2e03d84f75738525a74379d52b038f2bc533db071f737ddbb72368e271838ded4d5399dab6538138bad36f257bc36006a673886c6683838700937de311637a80321373fc1e437d5eaf03650f10a37b4cb0338227f19399224bb36353ace36d4ea40374f1d65389ad419375725203788068e37ba2c0438ebe0d136d33ddb365fbccb37ea736838d15925378f732937f9924c3814558f395c6d2e3742312f376164bc37629ef037f37db536a826bd362bac22370a6c38380436bb367746fa3ec597023f9f39a13733fa163753fed53ed6c5033f4faae73718e40d372502af3eccfbe43eec6a1739c4c4d036f3d1883eadd3c23e6a6b5338d8a62037d273543ec5bc953ef618e7373d3ce4363c61013e6f2d673e11a226389cb83437d550883da543133e4465523880962f3717ec1138bc71893df4055d37266bbc364da49a37172b6a3abd426e38301f7a36f3aacc3741ad713819e763389ee6c23609a1d736ca2caf37c34b2c381df19436add4b936f0bc1a385e1c7438bf7d9f36135dc336cf5c2937390af0375e339a36d22ca736f0ab4238ffc78338540bc036337ecd3670379d379273bc37721e1437ac671537936d3638b0bb62381c8e3137d9d7d137a9d35638769b66387e499136a64ca4364e559437817826383d0fd73726aab03e167e273f461a1238867ad936e87d923eaf73293ff0ed2738d6f5be36b268683e8f36123f00806a38451dcb36a7622a3e7b7df73e9529bc37c671173779fd043ee320c03e5461693847f4033734eda13d252f8f3e6cd99a37a88715373cfe0d3d6053393e718a1438294ad937e6eb713880b6a33d6f6b20380de2a336d60aa0374c7329392e523038bb2368364e9cfa367667fa375cc8a837586e4536b0e15436d7fe25382b0d6c38a2df8a362916913680c5e237035e3238a6297b36d8bb8436b808163768b629386074b3364f861437fa4d2138f0d25438434dc736dd8ecc374c576d38ee688e38b142693797bdb33781b63f387a0c5738842683372034983722bd0038a7dceb37018599363987db36332e253882514d3897dc0737affa4f3e5bf84b3fe02e4636464d5736b0f3223e2eb44d3f635954386bee9136dfe2023eeef22a3f93481d389c8586363b25b33d3aa0123f7dac13385b136e379ccf883decd9e13e2a8f303839dbfe3700d8fc3c0900a93e6d875538b1c6cf379d7c3e3c6e95573e88e6093839e59a37b8f80c384f13ac3dc68bf33686a9c036d107383820b06d3a4b481f380e3290369b8a92360b262e387a64ad375d27ba36a8f3c936062274372f841a38b75cdb3673cbef3660840e38bef07038c1257936a0188436ae36b637c8dc32386b9d0c3756b64c3726163538c18b79380bbad336cdddd236888a4e3721632238db08b037266ee437fa4c4038a7404f38e3bf5a3802465938856e82382c037238ba1a1238be8311384c763138885c2a38a3254037b8796a3d2550713f77c876366ab5cc368b32a73cca3a6f3fd6941538cadb1337e0d6d23bf4234c3ffc2e703860268b364b93463867bc273f80ea31389570af37417c8038b14e013f87746b38a95ad536bfe62638eb60bc3e44a8fc3781260638a2bb07399f41653e5fc20b381e905d38f22b4c39ebf4b43dbe75073802720e38ebf82b38b35fb83a6f26ec370000000000000000000000000000000009e7e83544830436d5112e3609cb2338ab88ad363e02c2360ed3db36b374dd377cba4a373fed5137e4915a374b830d38a5159336c77a9d3608042c379ccb0e388083a7363f1dab36ff07b33691726a37b987c737de17f03770343b38e9a97c38b26d3a38e89c2f38c8c751382a7761380000000000000000000000000000000000000000000000000000803f000000003d9e08361caf3b376df7703f4e0c433a55c5c9367d002b37238c4a3fee62103c925a5537db1daf37e04f273f53f89739c6eca0363f0fad37c2d3023f7475a039e75fb1361d29ba36265cb83ea93245387de10f388ce95938fddb5d3e7f1082383af13438f4f764380acf8a3da8332f3800000000000000000000000000000000000000000000000000000000000000002532fd32662e1c340a72dc3306153734a421be334aefc8336a73b0338d360034e8748e3535936f35b3a16d38f1c7c738000000009a278234d7ca9a34f315bc34a1f4aa355f7b0d36acf1c535a2a9eb352c349e37157edc373f325a38312067380000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000ad8c1034a0677a3ff66c113450897034776d04340efd5e3fbdd183344766ab347c703238b2bd2f3ff69009397ddbbf38de971c34f13efe3e72ae223537b1f03421541836e3379c3e12148737d14eb13523d05738a0d2f13d6958c9381e26283800000000aecb823a6e01ed3400000000000000000000000000000000000000001a5b5b33f0b3df33aacdff35348a0a36a5d793354b67ac35ed13f235bd920b3699cf69337fce3933bcc42e33cdb6013853a3c935799bc8357a9ec93718c99b38cc2b5336b4596d3632547b36ebb68536fe61483534ff943574ba063879e957389d59af376c829e37839c7d38a9568c38f201a435382a94358b846b37aa1daf375328c4352bf0e1358e2b5036aaab1f378d8b4534503b7b3f3275a33c729dcd354bd3c835c89c683f0ae82d3d0ce10336b8745333fa7c4f3fbf13963c9829cc37c23bc4351679213f0e8d233c5a4d99382c0c783632e3e73eb4fefe372493833667247535ba998a3ecbc0523a08a52f38c52cff3753fad43db384123a29b46e389d93913582e2b8386895af388d8c56374735a5353479db362d05fd374b427e37c3c8d73613b0e936926a0e3741b71437da2023358f836a357148aa35121df43660c98e353c84993503ea9e35104b1c386fc81036e3e1033673f60036686a2336e0759835dd42a535b0d4cc3526dfdd353688d1354cb4cd35f0bdde3768236038d36cc73587ab513559065136dd994e37d46eac359ef18d356ad81537eadca63772fb0a36225efb35fca32e36ccb637378a63e836aa975f3fddfb013e9b441037b0c41935b8ad4e3f66af283e9e1d0536d28a8135b771303f98591f3ef42f7c373e17ec356e73013f6c871a3e5657183617ffae35b201b33ef7ad023e7ee9d935c585c235ec213c3edc29ea3d45460f38d6596135f2ebea3cd1e2a33d1a26893690b7a135beaf15383c11643a947c5637ccf5e9352f4dc536e9611d38e041a0376fe1fa35d1a0073627ce61364a8813368d322834a8b73334d6a47934f752dd34b85dba331386d63374aa3e34cccd6e3644942f36dacf303648043236421723387558c8349599463554293c3512ec85359be427360f451e362b160136da4f1a37b9a72d364a562136b4f44c3708c82a38ffc68f35084495354d969f357242ad36f7bd1c37b573123728282037a62d5537119bfa35bac52f3f54e7a03ee6d5fe353a15d2334471203ffad1b53e638a143475a0cc326df6013fefe3af3eee2051340e7027368223bc3e6f26a03e580f9f37d7d0e034483b6c3eaa01883ec4284e35e1e5213637c8d33d4f4b4b3ea8d992360130263655e7a53a7b96ee3d3f378b3713725935ba6d86377fa7ee3ac8eec2357bdc123770e13437611200388efe6437c00488354e708036617a6938546a18380bdd943587fb8e355797a335c2e5ad35e4c095345e4f9734dc164e34ce273637944f8a3793283a37a44b0538b4478938a7a92d36906939367a7d39362dbb4a364717483800814638943385381e29a83818afa4368d8967363e3fc437d7a11338c8ab873565f28535365bc535d72d643630739a35e180a835298dd9374d9b0e38dbd9c6350f5efd3eb49a013fd4445035a13f9935c058e43e9d2f0b3f986e2d359bb85334b637b23e73a3063f36960d346de18337b7106f3efe19ef3ea4ee5438bf6b3b361304173e3edab43ee9053e36f06f5038b1c7223d140d863e687980389d6f9d34b8df263a1294013eff387d37df86513549485e372cfb403ce1d5cf35594a763511a1263808a1b5380e50fd372a301c37bef1333756858d37317d2c37d18e06351bf15d3552847635688e8d356f0723366c3b27365eb626364c291936be301d36b6a01136e85ff635d5652136df3edf346e5c2635aba8133507113b3555d28b3711b3ca36c41a3c3706b8313873f0ad34d55f9834012bb53594cb623743a2b434fb3527342dc916344e8f70362fe91136edc80236ddf7093672ff09369d4e2137057a9e3e0314313fdf820937d0c04035ee6c853ee53d3d3f09b61c3575ba2336cf1f393e6b02343f0a5010360def0b3679c9cb3d189a193f0aff1f363af6233564791c3df9b0ef3e67c42b35e4399537d5950c3c782aa03e6cc51437ff83b934f0bbfe397bd9183ef9900e340edbac34f4c38b375f309f3c8be28d33233000361ea005364d56bb37d9191436d8d1b836890f373756ed8b37889a9c36b2696d35fc367a35ffca9235adb09c3508a7db354a76eb35b37c37355cae4b35fd498836ce22d635d825c8357a2b6b372c1dd435c613e1358436c2352c66f235f76b14362a7109368a54f73554291636ad528e35220b9635b7bae036eb5e1538f1600d36e2f619361a44b03623478a37b4521237d1be0d378bfb10375b151f370edc0f3737bfea3da0cb623fc3d0e1352ec56435a547c53d3976673fcc1b4d3563a5b535d139bf3c2a4d5e3fa9c49f3434a73b374b432a3971e5333f2683c6358740c935c7e01d3a1f23063f599fda356faff435708ae9379fd6b03e426d08367f20973581e49c38b4761f3e293eaf35559d0636f3700c3800d7ee3caa86153649a60d373f901b37efa584373eb71337a3509c36e4e4be36ec2b0f3767866136cf77983562aa95355d207f357d239f3520da333751b85d35a5304835baca163789d42a355c7582351b155d35f309373654585f36df4a6236d0d95836a4da77361984fe3707659637ccf2ad37709361387c21aa337cb88433874a903354c0ca371c8bdf35da88c13573aadb359377d53631c6b5355b7c8d35683aad352be1e435674200371b39083ae110803f76a3fd34f99eac35625398382311803f65cf8435ab0993379a7fba387278653fc951ea3737e38c35e3fa913815f93a3f74b204387dbe6b36a3fd82364a550c3fc4096c3612462d38111fcb382c9db83e20a883383774a433d7186b38c4eb303e3c84883765c4c03522872237c984493d5754043680e1853527fac235f6c6cc377a71b83500000000000000000000000000000000000000009c6d5a300000000000000000d7c9ea35e293e135a297d235b09913382b431a36d4a0a935d7a3a83535e1b935418b3133c7a89134ebf87c33dc6d8634ae5570386d2a523887b178388fc5d738de962c3468a1363418020c3436e40d349fa18e34fdd72a34aa2d703429282b340000000000000000000000000000000000000000000000000000803f00000000f985772fbd27652f241c803f0000000057cb033615af10385df3613fba6687389b3ced352141d535a66c323ffbbb36375f26a634b1acdf341d7e013f27e4d93452396a38938cc838cf24a13ef3f6de38a7fb6134c3b164342d2d053ead7dad34df26be3484b64a3448e5c03c9cbcd03300000000000000000000000000000000000000000000000000000000000000008610d43566cae43541ed823687d0df365cab353639043d36b2495f36846d6e36ed0b7c36e16f8d36beceb8365d38c43669de1e36efea45368683ff3687114737b03682366e84823604dd193798271e377d419a36800c9b3656675837e69eab3607416236d5b56836f96e89375b99ec3600000000000000000000000000000000000000000000803f0000000000000000af44f335dd7b713fbb361f3cac0ca236db8e4236a15c503f8ddfbe3cce675d3669f6a636e1eb263f72d0343cbe19bf36f97359366dbff93e2a0b0e38caec7c3652ff8336d38ca43e83bf0d38ab5f9436b0c5ac36799f213e9c6336384cb59c361bfb6e360df5a73c098e2e38550848360000000000000000000000000000000021be043610bf2a365f3a54378113a33700000000000000005d103d367e679936fa8376339a49c333e667d734cefd8b3400000000000000003b05273579cf5935000000000000000075bc23350408813600000000000000004fb03d37f883d6372b3bf235fc94d63580affa35e482fb350000000000000000000000003b39a333b84fb135eab4ae3554e6c935523409360777323653e2723fcdad503d758ac836000000001343533f256ac03dcb5882368ea8683494f8323f8be1b43dd1181d34adc226349cdd093f22838d3d3e02383500000000c56bc63e21f6503d13287134000000009a2b743e46e5db3c00000000a44ae23505e3b33dd28fe23c29adea351a27e23241f21e34d2f8323afe100d3469bf9735098eb235e8e1e037ad19aa376feeb1347bcb223586a90136303f3b3759d1193629991736696e383661032b364ffc0e3669534b368e349d367561e9360000000038577634f0994035455c203604049036c8d28f368be89736ba140b37ba19ca35cdd1163688c00b37fc8d5a3775c2bb348abffb34a5d311356688ee34def2b535dfdadb352d0afc35b08c023600000000000000000000000000000000ae2a163577ea533f1fa1303ecb79703530aa1d36099b313fb9be663e8a9d1e3606946136b3d20f3f0a136f3eec5c9c36bb5c9c34c21ec93ef996673ef19f5835567b943641b9833ece11483ec39d953604ec2436eac7ce3d88c9323ee307423684a7d63424779a368511f13dc5a12d355776e035d6f8f93556154e3b9078fe360000000000000000fc5314373676a9360000000000000000e3674a3761a90937429a1f36412d163609f788369fe5f736fca6f635540aea3572f2173655a41b3614c685351a3afa35a8b01e3628e43436a125e03692a8ce363114dd36e2863337eb2c84358e903335613aab357d15a43670049736712e8e36184c9b36114cb3363ef41236c694df3599bdf0353a7e0336d839413400000000008147341d9a0c35000000005ed3273fd39bb03eddec7b34a5560d36a7fd083fa16dd23e34dc2236369eea35d384ca3ea978d23e243e0b36d0b5f935dc21823ea667c53ec1181536de7fc2365e04ea3d804fb43e45facf36184102359998f4379a7d9d3e78759d36ba118f362984c736eef0243eb98ec4378cffbe35b69ed13505ef453b5d631c360000000000000000a28f8e3672d9a5347ef0a736dcccb136e4930238dfe59637f1aeca35b12c083671bc1636f83a11365998ca34a3cd9c35feb6b4355b81a33521710b361f582b36d60e253688862436cd029035044ab2354106b63619d88537359d0136479e24365a9b1f36ed161e36e8f3ac35708b8335c8aa9e354fca9e35eafc1036f3b81136a8990f36aa431a3636d09d362bfc9c36c723a8368fc73f37e49fad36d790f83eb7b9033fcfefaa366ff30036073cc43e7d64163f653d1d36f85098356f56813ec765143fc90d97353c2d2636c8d8e13ddabd0c3ffb2716361899c5357390263db221eb3ead155837144e15369b7608385db9ae3ec435ec3660ad693555979d3598ef2c3e3c37b436b258093628f915364410f63c6ffb2f36136e9d36a06da436a4fd253a5b47bb370000000087808b34ee69c0353624fe3403941d367ebb1736092b2836e8521636d9e68536a79ea43694baae36d993a036fc7a3f350a9ca0350104c1354b5fa335c5eadc364457d2360271d436b9b4d9362850db35d52bf635af372b368e1b32369352e13535e103367ed814364a6535367e2c2736926d2a3642034936de57e6360000000000000000d62a0e3587909836dcc54e34af8ba33e17742e3fcba1a43421111c3638e96f3e3a60433f01dc0236a825a3362a8ead3de838413f39928c3630e6ae353312cd37845c313f590410368d3ed436eccf653740c8083fa9b93637d2d9dd352faa4236e1feb83e0f8c693674a30336e7b018360804473eed2ab33625fb2936c8174a3691535d3d4337233700000000202aa9339027d238390ed636000000003982d034f01ec5369df46934e02d0536ca040a363fe509362717033610149934dde5ae3474811b359d0b1135e139c535c76e06364d38be35583428362238a0362b96903647178c362bac8f362f77e034e82f4c33b2d6b234d9f91e3501f58a36d9398236d9368b368979b1364a32313670e80f36e29e13365b681a3654977b35646a3b3520883b35926fd1367c218834c3551d3e28c3583f000000008c19ec3558678c3dd4b46d3f82eecf357c84ef345a2e0436fb04623f731bdc34e5c4e635264dc2368c9b393fe3771d379ed38336afa29036cc460c3feb673437000000003b190c35854cc33e77f58936ccde8036b6589836a108523ed4c7f33683f6f835a2e402369241a63dc88031361788f23461043035c3ad1339a7decb3508a217361a0b2e366a759d37de2226362262dc3363fb93320000000000000000e8cc9d35b8d4aa35f4ef9e35a3e4c13500000000000000000000000036449d33000000000000000000000000000000007d3396340dfcb6349c0fcb34120c0a352e8dc234deae2434db043f3416075d346e42ff3549f2f535dc5d2c36fcfd833650329c360bbd9e36828eb13601257837d66b283604226e3cf7677c3f1424db3500000000bb13c033e1e77f3f3f28f93366f394350669e03555cc623f21d0f3350000000000000000ad553c3f2f803a38000000000000000052e30f3f3d22543700000000c4142135f08dc93e72a385358b02fc33094c8e33011d5b3e360c3f374aeee435797a5c36929ea63d314a87363baf9636901cb6361d7e0e3a3c537f3700000000000000000000000000000000c18ae1353888f235ae831136694b553602d5803619e483369e588736040e993696487f3623d085362d279736fba498363b514036e8ab3d36263f5436c73ac836100ebb3675c2b836e296be364866bc3618624b366ec1523683376036edef5836f6dc5236b6235536632b9836149ab0360000000000000000000000000000000000000000000000000000803f000000007b7e0f3604c146362ad57a3fec4a0938fdaa7a366e469136bfad573fef654438342e86365b7c98360fe72d3f8b7df9378faf53362dec7336f938033f0faae53791c2b136004bb9369cf5ac3e2a3a0239ae23503632c65f36dbf7263ef7d57636c1005e366b619d36b8ca403dcc8155370000000000000000000000000000000000000000000000000000000000000000362d83350606d03625621838b3789a38cfe75b354cb241360f75b236cb3fd1366fc37b36220caa36fe099b380944bc38082d0136996f1d3615b5503893668338e80c8d36f84cfc363a0fe3382c10e2382d46e436bd650438122fad383b2275389f5831356a366b354be1e3378123563700000000000000000000000000000000000000000000803f0000000000000000f0cffd36ae02653f12b1423d82bc383870b367361cc3433f00ca383d5672b636c9bfbf3670da1f3f138fea3c8f9ed737fb822c367476f33efcd2c63c6638433623262038ecd3a63ea59e5a3cbce9f13785f44938035e413eaa9c6239c9fafd3699684536dc3e4b3d988eaf387537c734000000000000000000000000000000000ccc0b35f7ca28368f5f80373b2b6b3846ecf035f8105636da8205376e4f01395c393135edd3fe35c276d0365e02de37bac6ec35c1f32b3660b6573863db8e3830121c36afdf99369e1d9d380b91c038309b0f36458c80363918dd37acd53438ed06973544515336f9ba0f3814c40d38e6920b3649911b3626bf603749971138249e5e35181ac835f6ea1136f54c883750e15736dc7d683f69f9743dadaeb9377bb85f36885e4d3fc0b8cb3da7934738a2183d36c47b263f1599da3d26dee836206e5136d24c013fe450e03d2c7356373da7bc368406c03e4c61ac3dc409b3374c71903698857c3eb4a15e3dfb29973694cf8336c49ee63d2a5b9b3cc8a927366e8119366feb3638141a1b3c50493c3723b6d135a4481c367e5c5738fe33483a5926e834bb719f359d23c437af551b383cb50636f3f06b36d311b537a2453138e64a2a3621ca8a36420fc43743c361381be31b34e145ae350744d0377cc43d387e3c8c360160b03675dc1f3808238338b7a59c36b3b9b9363bfc3d38e3e271388a906a35cf8d9835d01a693709aa0b38025e3f36628e9936404ae63672a7e337c823b73595f935367c119e36cd0e95374b30ca3564f7453ff94c4b3e3f2cbd36e5ea7b36f1fb263f8115843e973d5837988b9336f5b6043fee91823e5988bf3708a8ee356efabe3e3a2b723ec1ab50368cb0c436ba00833eb9a15a3efbdb9f37a612c136fb30e03d9d453f3e5fd75c37b11a9b353d510b3c92251b3e37fbad372a7aa03647fefd361e60da3a89d5f638956042366e6eab365d3c83387d77b5388ce24c361cb9b33620055a38fbe370383aad7136b9d4b93694fa9f3752f538380fe2b9355aac8a369c0b0a374f7cec37ec12ec35884d8d3679cf5a38bcdba538563fc7366a9c00373b582c373ca41e38888b94367f65c336f900d337d63ba3389a7b7d3686fe95364a18b7363053b537d2f79135064d28364926c93615e74e38b8a17931ceda7f31a83c833158808537961cbf36a75c223f0ff7ba3e2556fb365fefc93654a8013fb227d83e9b420f37e47ea3363711c13ed764d13e82fd0b37bf2fa4367f887d3e32a8c53e664abe3787af0837dce20b3edd07b23e10b765374d57cc364036223dace7923e5f9d8538a4919c360470c836ec2b353e0aac203875043536c4d14a378344a63cf539b1380c107f31a04ceb34197f9138c4a4aa38022351361566bc369da48f385a5d7a380d42ac362122cd36c0b0bb38c626d2389a880c3617cfb0369a414437d4c2c837f00d78369037bb368d0f47373c04b038f94b4c36a0e06a36df6a4338f527fc38034c9b364f27c236881eee36f0f7993831ce42362ff2a136fe66053770cead376d8bc2365378d53636771437e852ac38e06b5036697274363500ae36a87744386a71cc36b5f6f73e9508043fa986c436f6dcea368113bd3eab82153f26a488375d01d2368af47d3e3e050e3f15711937722ac4363e50053eb2a5063f3ff6f437c5917936d995c73d5321ce3e9d73d938fd3ecc3615554538841bb03e22d4c238c389b1363fe019370b474a3e6e30263836dbd4363d66b037aa9e3f3d16440e395f837736bccbc1366791d438a02bbe3868b79034f99ce13591758b3831a53138ab442e363da8d4366efc6e38d9016d38069692362ab8ab364789283762c6c83786d8873645ddbd3687956e37f1ba8d385e49d1369f2cfc36d22e2237b45df5376b264336fcc08c368dbcc636953c8838903f31364e839436488ff236d9771b3780b0ca3603c6ec36ed0c0c3732f1e337bb05cb364468db36a309f936a4683c38ced50436683eaf3ebd6d283ff59c24353a89ea36ae9a703e3fb63e3f32120837e194ad369534cc3d4e4a393fd3efbd36e867ca365399063dfff9233f27b86f38a70c01378160d4372615043f10b5123819799836044def379cb2bb3e53b8c9388cf8a636acbb0a3794675b3ef5f02f3857b0ec363688113751d7923d94fc6838ee21dc363eb6fb3611be273ad1978338be18ba36e6c2e837f066ab38ff5b303891abb236a635f136eeddcd378f836238fe6b9534106c303590b2dd358acec937bfc423365ff37236bed2a5362d701c38d2b96e36fe0990364c2ad5363ee92f389bceef31f7476c35e3da203602c8f937d810b8364480c1362132e93683354738572293362299a2364990cd3618491838dbc8cf35479c1936f89057366056f137dbfa0638a4e64f3eff024c3f56a5ac363c5ffb3657c2c73de2a9663f7081f03639cc3d355b4ce137eb11573faf79b93729d28636d2947f37943e343fb2909838bc5a9736fc3b95374ed9073f7c6996386efe9b35cb674936fd25c83eaa44993877fecc36bc769237935e683e641b99388de7a6365e8f16379a59b83d18002c38b155183662f45d365aeae63c08490f3838b5a2369f921e3899f5b139defd2738109e2535c177ae35da3ef335ba15b13728041135fb40e73479c4ca3477334d37d2d69e33c6a84c3594be493648437337a40b0e360a143236a95ab6360add89384d623636eb634c36fb4581369ba047381b726c36e5698036ee31b9366ee59737e630c136d12ae736bf1917377c41c238e69fa7369c45d23604520237a1ba23389e1a42380ae94e3df9ca723f59b61e36873cb43531723f37ed937d3f9615d4372b4dda34700e073607635e3f816bbd3809de9d357f318836fdfb323fa55a95380f5345363ed4dc3684710a3fc1e478390f194e3635b793360461c53e6b11b13862508136652ed83661fb783e6a8e0338a870f336069bab37f5bcc93d16d0cf3890acdc3691125f378876033dd0341f380000000000000000000000000000000044e1ee345286d1344ebfc4340eebc3341a4fa635f17b263646d5bf36b50ced37207d9c34a186523656a8e0364c0fa2380a05ec3558cb0a36d8eb1f3635fb3738feb299361faea5364161c93655b7913873096f36792c8636625b9d362770c636a6e5e4366a4f09370b608937627f92380000000000000000000000000000000000000000000000000000803f00000000e4d1c8343a6dc034e28c6d3f0734b93c81ed5336c294e7364b3a483f7071ee3cbc728536925c2a372957223f026ddb3c5de510361ce627365e5cf73e05c58d3c9f5fb036541e1437579db13e145d053900e08c361319a8367cf7423ed9d3d53810121037d78815383ad36c3dbcefc13800000000000000000000000000000000000000000000000000000000000000000000000000000000b2ddb9328acc5b32df56ae356eaf9e35b6d60936af452536c9005634ade79e330927d83401467635a48eaa34344eea33026c8934e0c10d345b1f0534c9a90e34bb540e3497a902349c66f53616201237e07719342e190434e1168c336fc426337dc85433258a493300000000000000000000000000000000000000000000803f00000000000000000000000017b37b3fdb8c1f33000000003ea8b1356cee5d3f37c1f837f40c0d36d486cb33edd9353f9e869b354d8e7d350b709633fc61063ffe3f0936b8675b33168512372bebb33e10012e372a0fc133b89bbd37bda1373e60121e37b053f333cb4518368d43273dd6c57033ea38963200000000000000000000000000000000281a34359c205f3551de9f3506f18b35e4ec073681ae1d369e69633614776a3631760d35f77e3a358612a93559f2d03572ebe134cd06b934010f0b35f6891635a00bd4356254ce3521780236913802363f13323463b2403466221534d8b02a3440813637d88a83373dd4223575850335af3b693521e4843506ec67354de53d3506f00535c503023546a5e2346ef6eb34fcf34d35ef4d803f9411033c756675357cd51e36eab2683f20d02e3dd0ba4636eea41b352904503f8847f43bffbe8e35e068fe34003f223f299d633b21cec7340542d3354bf7f33ed684333afab4e83555fd4a349cd49c3e7eaf163abd7c0034937a9937cd33143e1d274c39ef09dd34dc2d2335de72b53beb42163a01656a3536c3e9344401fa349161143538a72a35d9326835974b0235144fdd359b79d735000000009a5ba13344ff7b348e5447343f0bf834be6c01359cf805352f0f18355f534734de0a78343772a234588e9f3400000000000000000000000000000000f6350335f7390c35e9f7e7342425f934268fa7343251a635abf7d034b9c6c834be5a9c344523ab342e20ba34581e9534d65d6033ed715c33d46c6f334014553363cd94340159623f37a2023edb84573500000000f4af503fce74293e000000002722e034a9ca2f3f3cd8163e3c180535797d0f34456b053fa90d183e7201883400000000a7eab33e7f29043e000000003ec3f334ebeb483e8e03f33dd99b03353d568634d0595f3d51ab903d9c95bd346533b934b6c1a637c9643d390118a23492a875336a03803308427733cf43693300000000000000003eab73351ded1b350000000000000000000000000000000077b93034bbca493403fa4a3446a14f3475767334c71947342fcf8434276c853465fa123300000000000000000000000089999f326eef583667b25c329e0c3332e5be8536e07f1e377ace97344aa59c34703385320000000000000000000000003ab47934f15e0e34e3452535a6ad7135f605b82f062b3b3f25c0903e981b1e3300000000a006283f3a47b43e000000005b8b383419b0053f3e34ac3efa943c34273e74340c18bf3ede1f9f3e6efa9934000000002f0e5d3e12ef8f3e000000006267093607f1a43d133e743e0000000019299c36d153b63c7df0f03d18eaae340000000010aea5376187fb39000000006f510134e5732a354389dc35a1f7ab35eed78d34dd7cd93462ca333519e5123538bda035727ade35509320367c8a1d369c8e5534823e8b3449ed0135e4dd4035988b55348ba12b34dd9a503404206634e3899f3535f6b135931fc7357971d4354a30f33357e83534fb4803345b8e2e346890ba37d7fdeb3784f31e35082de834e1bef0357902f8359562033624a60b36ca10f534b7d2f23477fae6342209e8342e8cb934a6f00b3f0601f03e9779d134e487cb359b95f63e5a89083ff051fa35f9246c34651cbb3ef66d033fd400ab3408636d3408f4593e339ef83e1dd7333438c5ac3538c8b93db9fbd73ed17bd0359ef3163444ff453df47a8c3ed91a3e34594e9d37350aaa3c47eaf43dc74107357109da35d5e6d73980ec9d3a658b133601b0ca3414b5f83481ae7139ef262835b801af34f1bffd34d732a03561fe9f35000000000000000000000000000000002285a0342acaa53443a7ac34beebb034000000009fd4073765148133d5cd503300000000000000000000000000000000abf959341ce17534cb8b1c348a690634cd535537d799ab3792d89934d3a59c34a2e94d310000000000000000000000000f5dd13200000000b05eb132de67173446fafe3380ebb63e9f51283f8608b1330000000034939d3e5ce4343f0000000035569b34a7503f3e069d303f28fe9e3481c9a436e4ee9b3de977203f1689db3200000000a9292f3d2645f53e000000001b1b6234c8e7fb3cc4119c3ee0c553342541ac374639753c74ca143e5a328d340000000035c1a4397dea9a3b00000000a41e4e32a0d52d327eab9534ad834b33b0974d3365aa66337ede983467578b338068bc34a1bbca3471a5ed341696eb3474c484344ba191348dfe8c34995e9334b1ebf13446d1e73423f0f0348bfa09350000000000000000000000000000000099d541349566503407c84334b6cc54346bf1cb34795bf934492ad8345eb9e83405c2ac34e614af35f6058a3388723034c2ac5e356b3fcd341bb68d35ceb49a35bae357339879393e4271553fb6c6603310e4b63468c7113e9c195f3f64b0c0344f9a8d34412e5a3d5c7b563f84868c3440c7fe348c58503cf006313f79c3383500000000195bc73bea8c083f00000000fa533c34099ed33b0960b03ecc234f34e29bde348595bd3cddeb213ed8611935752d013421f3203be7bcf03cf3b46934448369354d31ed363884fb35150ba6354f9aca341ceae9349a7c323553841e35f9d7f53411503d3512ea8235c1f985350b191c3426699334a9c45934136dc9342ef79034a2315b34857f5434954b6634e9cbca35ee8ed435a02ccd35601eea35e05ea334efdfe0346074bd344739e93441b94c35cb5f4f351f996b35b2c290350f9f3636529c3336a08e30365a6946361a8664358e337a356276703558318435cc1ef8345e79203d74c0783f053cf334e4fd3a352c3c633a9d3b803fe7014635722d3c34e080143839545e3f1dc585347d6a773444ac0f37dc15353f85967934f6dbb735ce8513396f150a3f66e20736a007af34a3f8af3727eec03e3b0e22356d7cd536d6dc9e3acefd423e116ea335283123368e75113ae832693d2735523625c24e357a01813544b39d3550fa9a350000000000000000000000000000000000000000267945321633813100000000d80904340b91c13321c5e733fdd50f3437631d34245801348f912a34f9353e340000000051b91733a980643200000000b548b834160e3235234beb346c383f35a6adff35d5810136e243f735a273ee35354405320000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000d50aa932a5c8783fd761fd3019e3e9332355e633fd29553f5d7100345cd491338dddca332e922a3fd7dd43340000000099317233700afb3e804a1d324b6b6335b1346135cd999a3e28e052351954fc35be1cf53792b1123e21ca053600000000000000002b00ed3c0000000000000000000000000000000000000000000000000000000000000000000000002ca9443431356f34b82eb13495ee1c356b560c34cf4a54345e604134eae075347bede8357463cd3562aef835da8a30365f6721362328073604be5c37d6826436e704d2340c85043550291137f1ad9435dffa9a35e97e84354cc47137ff01ce3563a1803424e70234bc077837da891f3500000000000000000000000000000000000000000000803f000000000000000052d987342f17773f90e9f839bf513b3516a8ba34fb38533f7922063db3af1c34ca51e23528262f3fb5604d3c929329369da5ee3532e2033f9e36483a4cb84536e52cd434668fb63e387c853a839f3d35a84f8f356225483e8e5cce37a4dec9352bc112349c08373d097d0a3919b32b35000000000000000000000000000000003882843471f56234d313b435d801e035a739473505f25635069f553588858b35c6c35f34e861c0341c280235bb2c06353ce69c3572d69535a14dba35ada2f335b461d9350217f0350b23a537a0d2443694a0af35d662ab35d4794d37080cd635c7baee35c2e2d23553e725377d460536b465b635b46fad35623393351acfcc3516db1b35f7b303355bd94335d2e067358d06c0341c57773f69501d3db289d9359efd6735358c563f92b5c63d559a7e350d15fb342159353ffddec53d6fd76934e9a49835cecf0c3ff5abc83dca630536d043f0355998cd3e5e17a63da24a20361db2b135b1d1833e1adb4d3dcc889e35414fcf357383ec3d5d66b43c65340d36d255b135d974b63589d05e3cea9dcf35c008a834f8443735783a823693088135f8099b31825d8f31cb2f4236d9f761342a6d6f333d2d65336dcb443369de8033583e7f35533389351572b435771cbf351c642033b9340d334f60ff321ff8083338283a3523a0383501d29836042f79357e6d043655bd02361b7dfa3600a61636ffaf0b35d858ce34b39e0e35ae2c01356495d73501c8b235185aa235358dc435898512351af1053574e71735eefa243527888031d17e5a3f135c1b3e3526bf33940d6133c923353f273d6b3e0fef62330ba66735dfbf0f3fbf28883ee64ead359f62ff32b5add33edbe3783ebe7fcc3214562235d2bb863e7896593ecb246f3564dde5358336ec3d3b243d3e3d931136d399c534986c7439a141f83d9cbaa135150b9635c507a8356836953a14f8e0351457be34e1020b35ae9e4135ccd14035025e063527792c35fb4b3b37b5299a35a55b58357b6974353d479435c587b635ef185635351a513529e047357d95653556bbe035ac39c8358d2fda356b650736e5287c35767b8b355d9a9635866bc2355b1426357d131f359aa78635edecdd35f524e035854bd035d5e9d33529c9f9355f43b032353bb832529e9c3228e0f932e3544c340e491034191bac33416d3a34b75d47350069313f4114a03e7dae50356e4e5e35b24f0e3fb975d63e88469a358bb65535f575d23ecc01e03ee4544235707abe35a6488b3edf13d43e33ce0036a6df7e354d55e53da9f7c13e8740cc356771eb346864703a1fb09e3e93fbd5351d38c735227ee135e8b60f3e2395f235b139cc32fc02d4320025e63aaa25f832b3201734406bd13467ed0036f84681343e53d234d281a334f72a8439b77eb6351ac48235353c7b35174667356df39035ba6eab3547dbaa356112ad35ca61ae35dd03ed35bba5c73579fbd735ef4fe83577981b36071611363259f435256b1636c4000a361010fa350f46f1351501f935de6fa2354085803545658235d8b69c3568189335b02188351abc5935aff48b35489c5135dc253535b4069935fd0bb8357865aa340f5a053fda61f83e5c9da235d7a87f35e1a0ce3ee3d8193f73d67f358a8cb2356616843e70b61c3ff2cb85358e3cca355176cb3d0f91143fa3f3fe35bd1c0836ef01463a8b95003fa60f0b360fdd0336f9adfe351fbba83e1dddde35c22d6c3588f68b35db640d3eb21bc935724e8835e34f7935d47e863b09c482354a192235a7ab8935a3845438ec889e351033643130f3d9339ee8ee360dbe62350dfd0533e377ea321933d435e46bdb328533e53508c9b635221ec8359491e035e6d5813504b689353554b4359495dc351a9aa83513239f356df09b3578dfae351e53f23504c0dd35320ce33552e4f635de963b35b5a34035f3c554358aa18635370fa035fbd985350b8871357baf8b355ffe10356fc50a3546ba3635caa675352ed26133c016b73eb05e263fbb40bd34fbf3d23240d77d3e08ce413fe90ca4328e7aa235c6c7b93ddbe4463f7cd5d135ec8589354f034737f3e7313f8fb8e935001a8f35fb3ad335fbde043f5987b135b5c8c13570cceb356d7fa53ed4be0436b0523535f7e36335057a233e2bcf8f35405b4b3527458135855e013d6205aa35295ba134354a3035627fd83969f689351aaaff34b1141b3504feda3911c64b354f2cdf35b05bd935a0b8cb351103e83525bb16357b57ed34ed9ac434cb8fd134d68c15367a2d0336f143fd3538371c3628986a35ce446035a24452359e989235eaa3d8327903e232f9c3be3263811a3325ceae35fc879c3551f39335d4e6c635724f7833880f70334c724333269c843304b85c310cba67319e2a4131f3a399314b4d1835922b403e4dc0513f957b1e35b04cc735cfbac43d4e9b683fb94fbc359451e434db6acc37a48b623fe585ad347273ff3594461336725f353f3db31d36a59f5635929c9435fb52083fc5e3a335fdadfb32f44a02332ebbb43e9ae019332b6496354cd6ac359682383eb719d435c60a70338a21643386188f3dac306e332a76803146b88231540ba539f9aa9a319ba3113545c0043551dd8137c50a8435ae34cd3538c5bd3561199c354967c9355eed0a362707fb358c2eef35ed1304360a7aca35dd319435b5a19035516fa83505a01f36f8f50236b95afd35a21b2736d623e7358236c535b1aac235b21dda35b6710335643a6434da8d7334f21dac34199c99359a1a8935635e493534fd7b35bafa93351a5f6b3533f2bc354f81de358997f834fea8063d5ad8783fc5c34035550cb735fcffb2352d747d3f2213a8359035ff35cbb90136b2705e3ff7ebec35ce4c8a3510d89c35fa3b333fc2e1bd39ff96dd35ae3506360e66063f0852663805e3d035087ac1350e58b83e5aa54f360ef13b3472f228345ea44e3ebe0e77369e478235e60c5c352bc8903d7e666635a1e17c35b24d9a35dad03439a8abb23500000000000000000000000000000000c6fe693450891e34638dd333e8e8ad34fe8998359db3913586afa735c03bce35644102359c39c634db4d3e3523ee403563fd3636c8f21136e8bf1d366d813a3632b62036c0290136b0ca0a36affe2736d6739f33f487af333b684e349fe4bc34b6873d35f241e73409e1ba3499d209350000000000000000000000000000000000000000000000000000803f0000000011141b34a170af3417b6753fce6f3d39260a8935ca3dad35f3564f3fa8d4d038e8458a3453a05c35e279263fe280d4383f580636f1ac3436a841fb3e9a72813ac504f3357cf6043633f69d3eb1eb223951e33f339038ef331cd7163ebbb2eb37ed119c34947c0f357adb1e3d75f31f3500000000000000000000000000000000000000000000000000000000000000000000000000000000afe3df341409ef38000000000a8ab4342514a637edb92338000000000000000000b88f387682ae38000000000000000077807c3873fff23814dc7435993d56367104ef376a65263800000000000000009f16b23ce4ec6c380000000000000000401d9d38cf13463800000000000000000000000000000000000000000000803f00000000000000000000000050c8633f0824673d0000000021c91f354cb4433f768dc23d56873d36000000003d961b3f5df5883d0000000000000000eb28e23eb72d323dd3f5a23077595536f14a953e7654cc3be1c32836000000001adbfe3dd12d333b0000000000000000dde2203d67dd8b3b000000000000000000000000000000000000000099fa9f334669d2339f036438ae8461380000000000000000ae2b8137eb0eec37000000000000000021bbd036cf73e1370000000000000000c884d4388657193900000000000000000b5102387a5b3b3800000000000000006d8d6d38b4a45a380000000000000000cce05838f880503866989334480abc340651dd34ba46d3368570a933ad1b9b339c3a943315c39a336227ec335f82683f36ed943da22adf330000000024d9443f9f87033e00000000000000003f291f3ff3ae4a3e9181033600000000b7c8ef3e707e4b3e000000000000000008eda23ef1d0303e00000000000000008f6f323ea0cee73d0000000000000000d9e29f3d575d133d00000000b322b1349cb81a35cd84bd3ce8b4ba34b31e8e33929e8d3320d8f03858f1753bcf5c9231236a4b357c99a336f4be663700000000000000001b761b386f4da138831f07330599c8339e3bcb361d09233800000000f806fe31be93b43798c00c38ad560b343cd52334ce1dba371f4fc737f4579931ac7bb4334aca483868ae413800000000000000004b863132c11175359c251934af202234accf1834a67f76355991f133be2ad03303cedb338a4eef3307fb89358ea4483f3c7a2a3e725c5535000000004f70203ffa53933ef8151d321d90f233d171f93ed8b6b13e1366d233f70551324ca2ab3edd40ae3ea395e6329f1f2a34c173493ec7c8933e99dd8b3479afd5331c51a53dcd016b3e2015e1330000000028d486318f2ced3d0000000004261c3407fe1e34814fe4390737763beea5b43347ccc0332b331b37360b4c3d4c3da332a89994328a7c1439e4ab3a39471d4033f3fe0e36661a4238e3f0bd380000000000000000ce6df737e9b237380000000000000000d195de350ee02637bc80af356e551e36831cf6364870223700000000000000000000000035e54138816a9033a8ba8433433c8f33c1b5d6330000000067de3f309a8ff6328d7fa4379c39f431034fe231bce96e32e6477b3523ee9a329854223f338cb63e00000000824815361d46f83e46dff43edc6b9935000000008880ad3ecc01053f00000000000000004667513e2ce7f43e0000000091381636ddbe933d9df4db3e01cdb53400000000cebfd73732bc9e3e912fc23293b876337c9aae33e8d4f13df25e383a0000000067beff34ba6d0e3a663c123d38cdd3313c38e933324e1038595a0b3dd0728133e290a5332c9df2392418fb38f12c3133d11bc8333c1310381cd1283800000000000000007d0baa379f9ec43700000000000000002afbcb382adfb33803a16434cf03cc34dec9d734247b6f370000000000000000000000006dda59380000000000000000000000003e0f1137faf9ea34cafcb734909b8f3417ab83373134f133ac1ce033055fcd33008a9638060db4331fa0f23e6773043f1d86c03313f01c348c67af3e9b6e283fdc936f34000000001f644e3ef4772a3f0f01383400000000860c833de33b213f0000000010b2da3489f3a1361351003fb46b81360000000000000000686a9e3ec80f273a00000000915375349154e93da86dbe3c2899983430a68b34f1e6e439392c533b42becf332a23c4335dda21396bca4d3ccb8344358753b0356cb02938181fc73700000000dfaae9350d1975389d1422380000000026a18133ad129f37c5d89f360000000000000000084cf2327548cd37993d42340811373456df1534c017243600000000000000000000000000000000000000000000000000000000d096bf3700000000000000008d24e234f663993700000000000000000000000000000000b9e9ce35b2189f3e38de283ff606ad34e8c40936e574423ee140473fd202a5349adc993385c6583d83ef543f5419a63300000000dcb7a532546c313fbdb4ca36a1c42634ded91535ef62003fa1c523390000000000000000a208983e963fd53c000000000000000037d4103e49ca953b00000000fe438f354822173d357a9a3b0000000000000000973c243cdb81883b486c053415fd0434697d263d24827c36307e9b344e502435ac91e5354dfcb735000000000000000000000000000000004bc8c333f3beb333fbbcc133243011340ef58e34068a6734cd534a34d67c303724628032bc57833285cab432aefb5d37cbbdc033a6d1a933e91fb13311af003411eb2532e22fd631045cd2317bad5837737cf334783dbe335bfef534e4cba33546681034aee4043e84ea483fa204d033dc90fe34becb6c3d0f0c713fb5b9133400000000000000008908633f5974ea31db01a733e028ea3307f42f3f0a41de3b70aa4b341f26583451cdf73e6533123d4baa7a3272020f33acb8a03eb1ac7b3c3cfa91332be1c7336ae3293e3f25a23b000000004a120f322fa3b03d8a738d3bc4b011349c97f734f836553de46dc63aa31d7e3306828c335aa899395a1c9837c3831d346ea34f34a85792347acfb53400000000000000000000000000000000000000000000000000000000000000001bdc8133f44d503200000000e9b984370000000000000000000000000dbf8538cdcc57356f55043523199c35ad968936913fd933fbac313200000000e62a8537d52f24343c92ef339846eb33a678a23796289833192a323d9eb6743fa7e08c3384f57334dfe5eb342aa67a3f8a1cc23400000000000000005cb15e3fecbaa43c0000000000000000004b273f1f6a833dfbd95132268a1733889cf23efef9213d0000000000000000d028a33eecbda13ce0d14e35efc8de350276383e10c7ae3b00000000000000008610d53d267c133bc847c1333421c5333f90ad3c0935963a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083c10f3400000000d8f7ae3550328e37000000000000000000000000b2b1d437000000000000000000000000c8172f38158fd935a710b53534491e360a3fc737000000000000000000000000b628b0340000000000000000000000000000000000000000000000000000803f0000000000000000000000007f616e3fed94eb3c0000000000000000cb30473f8328a13d469aa634e68a06360bc4223fc7c9923d0000000000000000cf8aed3ea131613d0000000000000000c1ed9d3e7ca9b43c618cee35366b303657f4103e665f1a3b00000000000000007d61543dff3bc53b0000000000000000000000000000000000000000000000000000000000000000f89e3f363d3d38364167ec3639048337fbb33536ab703136259e1d37b2c64837beb35b372f57ec361130ce375803e937e077b936608295351b1806380a3b4a38297e2c374cc1d336db9bb737d79dd537e8068f36e3a8833640bb1537078950371501df363769d036a6adf036e764d93600000000000000000000000000000000000000000000803f000000000000000021af3936feee7f3ff3300d38b2002b37c4c134368bd4543fea3ffe37eda52b37ee4b5c37873c2a3f8660ca391140cc3746c1b5364ca2fc3eeb1ba138212bf737967b613700dda43ea6fb4e394c58aa37afb18336cbc41c3e52dce7371edb8836b986b236544a853832a190377052cb360000000000000000000000000000000064d642364d694f36a2f09c37bd79c337363ec53549acb1352aa6cc36a44f503795792837b2901d3799113a378126bf376c13cb361e9bc7364afd7337ca46d8373a906b36b1cb2b367733aa3642cd1b3796ea38373f6104378de28437793cc937e30c19371fd71137c43b46378fd76737802f343670e41e366d633a363c1a023795718536dfcf07364067c036b0335237d9811136f87a7e3f5068be3bc9c75b377037a935d3b3753fffb4ea3cacf4d83661f420375b284c3f7497fb3cb40e6637e00cc836a854233ff317c73c2f288e375de43b367c07f33ea44ca03c129bb636af960b37ca44a03e1e49263a68ce8d374f0510379ecd1a3efef71238f334393781cc1936f092b23765a7b237055e42368918b33515ddba36c40b9c37ca015737d4949736254cdc36bd072f38aad2343848958636dd327936146ab637819efd372e363037a47f2837fd92a237a89a0b3859ab8e36f8a37636e1496237a4f5a237671d1e379d0e0037f1afdc3722a85738457385363c32ea3555249637f66c47387d6162371d474d37445291370fcee23786855e366a9e4036d48ed43668ab5c378224e236b476bb365ebc2a37bf7f9137b5711b36c7c1533fc7b7303e07067e37897e4c36aea14d3f29bc403eda0f42377e642637a703293fcc10343eb410923711cc73369db30b3f49c3133ebaff6b372019f536f9ffcb3eea8ed53d30ccf337d4a8d235285b833ef9cc743dbff89937ea8949372d19043eb5999e3c09e48937a0fd23366e2eb83776fdfb370ddb9f36eb905c36acd728379921f13734c76a37f0bdf632ad76cc32afa34d3632db7c33e40b8d342e459134381d83374574d7386cafd736beadc736f4716237665ed23724da5a3657905836479b723615302138d7596836937815355af3023782796237eced2b379f55d736eefea1371b540f381e7cf1366ecde3369107f93604ac46373bcaa6360db795368e6c3c3796c3893758ef8437efc2683722779a377d19db3723609b3219df283ff42eae3ef1c95e33501d8f348744243f7990b33eac303a36bc45bc36d5280c3f4b87a13e2688f43633a253365386dc3efde4813e01c36c36e3791135c370a03edf09403e80f2dc36603f96367d9c463e1c0df73d1bc979372871da36f5b1a73d268d6b3d8872f036434f883643d3b737ae750c386c40ff36e649eb36ef57873789073138ca09a237bc2c05378c321037736d2038c308fe3774add335bf74c735efe4023660abf93636931d373d681637d066383789920738cde3cf36ba548b36c2e126379ceda238ad3a6737a094f036fc18c23754ce2c387e4434375c6cb3369d884c37084db03735147137c1ca223794bf913781790e3863681136fb4dff353e938f36884d5a37f7bca23707104b372b2dbe3756a3003838405e36b1adfb3e6c18023f4899b6367830c635646ff63ec0bb043fc9c0d535d99913377312cf3ec8f4e43e0d1e1f37260e8936e48ea13ef42bbc3e44d7e03645faef3617c66c3eea86893e5de78d37cc2f8f36d6fd073e936e3c3ebde21f3711582037d37d4a3d3f7fca3d1ff02f37c361ef350e239a37c3f3ab38321305362940103736cebc3750758438a297a737db8a503754a33c374f2c14389970db373aae8f365b267f3695b304372b9d8037f44be8364d97d5364258e73680275637aafc273707c6ac36ea373d378279f13771c4e9365ee12d36e8cfcf368b5460372d5a85365cf96a36681fdb36fbef1d38cf148f37b51f2d37daf39a37f8bad9370f934d37ba7d0c378dbd8e37b58ecd370ca25f334352393302b853333cf9453390628f3624f3a53e4af92c3fec63dd35c9d06a36ab44a13ed2542f3f696973362ba1d3364092883e4d02183f564bdc36d480a636f2024f3e5c57f73e89e4fb36539522366b860f3efdc1b73e2d7d8736a4fb6b363d248e3d53fa7b3e364766364115f836314e873b7cec073ef3992f3726adc436af140c382c3bf03b0a700f3745765c3395703b335a8f723796a86133e4ade13603fac0360cedb037349c8937cfe9453603a3193633173f3688bb2337a5a566375ebc4a37f2d24d3769bcbd37382e553782470b36c562d33677811838943acb37ce992a37ee756837654e3f382c7e8b37f59e453774df5537fdfa9a376e15d837f5e08137a4baab373f68fa37a66ccd37c7739037cfafd0373f6900389fb3e7374588b337d6d4c637c34018388a85a636750a203e4df1573fffbc8235240b1836e5cf1b3eaa05593f5a970336c5544c375157103e94e4353fc92e4c37e5c56c366e5fb93dddcd173f0171a43610ac43372f42783d3d7edf3ef1f3803747d64637566bca3be07c9b3ed5f03e372c037837efc04538619c273e12f0843736394f37e837023841c7083cfdc48837bc909837a75dab375a5471380145a637440f063774b47b36165f493766115637b3b4363667a4183667521036c6824936750622370eb90f3750ec0b37ece86b370412883770383d37d80c18370098a5370f05bc3681ed7e36e0dc6636b1b8dd365a71a23749fc0237a5a7d63634d3c137250c9c37b97d39378ae439374eeaa03725ca04371039dc36ff2ce8367dc91d3775209a37a9c77a37b86b8937796189377bcba436ece1213894f77f3fd34aac352a0b2136ea4de73763f37f3fe0100d361f2e1437cd8bc9371645593fbf061337d2fa5e376f5e03385aaf2f3fe2ba513739149d36dacf7937006f013fccf195366915323757b5f63787d4ac3e8163683784ec3a376e8cb737dac72f3e278339377e8cd636db6a1437fc2b3c3c66b9b9366e4d4637b80d6c37e257ca3709d31237000000000000000000000000000000001c41c336dac87b368117713624917e3735038436ef068136815a7c362bdf9237850aa037f93cb33665478f3683bfec37fc460538a3ffd736d596923677ef4e3878c1d93728129d376ccf8c370809f03783af4a3720f00737bdf40637ca375837227776372083da36e2c32d37954da3370000000000000000000000000000000000000000000000000000803f00000000a3caac36d47cc9367df47f3fc273c336de9583368b4c0437eac2583ff9c396373c6351371b37bf37b26f2d3f8cc8e83796ca2e3794430e38a496013f2c515c383a21b83709b4c7377433ab3e4e80e037a64d2337e2ab223735772c3ebb7d3837db1e07379f553737f4c28c38528f42370000000000000000000000000000000000000000000000000000000000000000a48a0036e4617b36abce3538639d1b38ac4a9a36c6a8a036c933e73728b0dd37cc56cc363dd79b371e21843845ed73388c77e63630ce0d37c77a1138be7a08382a2502372b123037f7538138001c42381d9d2c3741b6ad37b08430381d1a183821b97037aa02a23769ae0438cc3fe43700000000000000000000000000000000000000000000803f0000000000000000c9098036fe77703f75ad2f3972ab8c37cebeca366df7493feab9ad394b359e377577bf374358243fa82fcd3927d21d38491b2b37e0f3fc3eb873f539eaffc23761303537f608b13e0582d73915adb23778d79f37c8174d3e215b6438edc2e337f0906737ec08463dc2792c3894ed9a3700000000000000000000000000000000ff5fcc3693c28d377cdc3438acd817386d87b736c2d6c23681abb438ecca043856ee2c363be2f1361d6f553884f253389df5ad366496cd3619823a38997752386dcb2937d4482c3734bbef376e820238ec33eb3646913737713d31386f7f6938491a913695ae5237023636388f943938d938e936e72a06379a0bac37eff6b83746e3fb3664ecfa366681a937d4a5df37f9e70137ea3f6f3f2058853d5c9ac437b5dcbe36f5a75a3f0dd49e3dd11ba137ce7e813649303b3f58b88d3dd8561f38fbb0c9362d0b163f073d893d482fbb377c0b2b3703a3e83ebf8f763d9ceed337117f2237660ba33e432c263d9cc91d381c04dc366bc53b3eff459a3cb53816385c52b836e215343d23ab1a3a6b3888377b11f93603719a3711a532381b66ea37823e9536c3de9c36b8fa7b38304ca3379e5faa359cb9be351bc72338f36ef9375c754736fb6489367730d2371bd6e337927cfa351f9bc43611de7c39736f133a2d87a4361637a9364b182c3806a34d38b492973693daf23609add437cc05e4372a653f376d0eae372e5bfb3857cda03946ba3f37474a4b3755dd14389467993876eb083713680537d8b4b4375ba6e63750fa99368234493fdcdb5a3ec3efd6361ccaba357ea2383ff7cc5a3e8e833537d6c37a36035d1b3fce234d3ef998ac374b4c07360625fe3e17eb2c3eb97d2c38ff01a836b077c13e93f9053e17b8eb3778c398363f1b833e2686be3d7020ba377b8c69375c9f133ec106653df1f5343850adbc363f08af3c21498a3cc5930738dfd5f53600c59737a3fe1e38b762e93736537e3640bcab36b3b69b3884d41e385f9d1e36a479203603c9123a584dd639540ab7354dcd38368dbd4e39c1eff5393526ab3650cbce362665b337bc4ace372b44203655772036caf22238e4e94638965c9a36ff2b9a3659911e38c16684391d0547376e0560370c564239c25cc139cbfbd235a2b61f366fc521385a85f138f88b843732623a37cd1f2038f1114738089f7c36dea1233ffe92b83eb61ebd36054d1f360e64163f8dd1b43e278978374d95bb3588e7fe3eb42ea23efcab1238e215ad36abc7cb3e36c4863e8b9a95377da81f36f193983e4e0b523efed2fb378ae3993627cd473e7e5c193e064df0371fd5133721cdcc3d0e56bd3d4e44cd379df7cc35ee38133af77e1c3d41780838fe6c15363b9e01382d6fa0389e7c4438882a1137ef88cb377f5ba8385d8480380f9b5b372dd8943778455138113540386cee3f37693b57373fda8f396e16093a5482fa366cf94f375f7b84386d309938891f8937a4638f3721af4a3817017939d241893766f69137ec307c3880949538d371a037387e9b37d781ad388f9b95399740e637fbd0d037c2d6133815d82538d971c6372a875f37593b3c38315b74384a321537fbcefc3ea37b013fcf68ce37df0c8437e643e93e406ffc3e8c7de437fa634f375b37c23e6186da3e2a01e43788921d37d655983eb107b73e16a03f3847008a3723c9683edc738b3eac7c08385d5d6e37380f0e3e18d5523eb97150383c2079378950853d448f023e5dca0f385a1aaa371fe511387f2f513d58bc0a3844c01d375781093852b4a838648c7638b0e2143695859f37b30b76390f965738d21fb1358768bb351e58163a9faa063ad0825d36008903374aa99d3925a23c3a27a89936aa2b993680e81c3869ca053ad3af1a3694c81f3688fe1a38a0ce463888442637f8ee1537b469b037730ac8370bde9a37a8c29037c08b473891be823911656a37291f2e375fde28389a364e3982bd01378b589336be5d773717680d38fcf0c536f3a5b13ee4fe263f44afa3371a98b735c37ea53e2f00233f49d48d37e677b13669b6853e40710b3f8ee9b737044399364de94e3e887ee73e8804ed3712251e369818153e7cb2b33e00c2013856960d374faca13dcbf0843ec8269037a8b93e37a3b3a53cadf7273e97292938666dbf36fdacef37e5bb6d3d6e0b313877427b36ca101b3733c9a1380e930338e9700137e94659372cf1c7384dd5fd371b727d364208e83604c6e8399434243a6c03313783de8e37ff1f313986403f3a23fe2d37bde00f37ef46c93736af07388068b036a770ac3670c207388e4f0d3939dad8379d1bc03784853b385f70053a6dadad3719808837a1c3c637e9d4d937dc583b378bd50b360b0baf37acc0e8371a5f33377ed4c436b82b6437892e9e377e5e2e37d4d94e3eee2f4c3f610144374437a036b019423e735d453f64b4a4370f4b78370df7193e87e8253f8be83338c5010a379189dc3d24040b3fe333bb3749b4ac363e95963d71afd53e6b38093864f6af376ccfba3c92f89e3e3bcf3038e5677b3765b4c537df36453ececeae37fe0cd235b57b863780d3843dca4bb73751ee9e3671e9e436c462953898f88f37399803370c72463706e64938a3c10538bf8eed366dc1d4364c8eb937a7d62a390a7905377d46fe364ce51f3826a08138a5849d37f3cb7337d62417387fb3d3391554863759e82e3743d3bc37028306385bc88d37d9042d374423ad37fe2e4f38bf500b38b09ec537b0ec2638b4b65038e25fc337b00a6d37ae6bc0371e690538d61ffc371e26a6379baff937d055133882ce4237a09d603dfee6713f1b3d70373dd4ea36bdd75c3d0bbb663f9ced8637e8081937bb310b3d6075433f39603638ad3e8d37548d453c35d5203f56093638f61d4f376795fc370d71f83ed430f137ba373d37329dca374074b13e112e22386ce7bc378b7624381bff4b3eeddc43388b4a553705dd8f37d0818b3d71d0f737c1ac9137d89ba93714a03f386ff41038000000000000000000000000000000001754263701b00e37b1b0b537bc851e38d01b6137c969cd362131d4376ec54538ef88503706700a371bfa96375c6e223930b6793795a11137f1a69c3785272638c7b20a3802a79737cf550d38f13a8538e7f49f37aeb9163714e58b37fa99dd3700c9e53712d056376364b1373c521d380000000000000000000000000000000000000000000000000000803f0000000032691e37c272bc37138c733f89fd213855e331377e45fa37c39d4c3fb9f0613832ce15375eb8b637b031273f6a4bb339f54e173742f4b537bc56013f3c3342388cc7af37a5f60d3874e3b63eda6c9c38f7573337989374376e7a573e26c30138c1bc663711a65137d772763d030c2d3800000000000000000000000000000000000000000000000000000000000000005ae0f9371d0ae139d53c3c3a06410b3a2f42ae377c5b3b399964f539952ac139c5607b3744292438730a843a7d7a003abf6194378e13bd3983de753a0c8e333a29129c37d49693395d4a0e3a8309f0397d5d15389a031039031afa39cd3ac13943232f38a3cea43842d2ed396c54c03900000000000000000000000000000000000000000000803f00000000000000003aafcb39eae5603f4d483a3a2b99c939709b253980a6403f271d083a6fd67d39dccc0238a7e91f3fb6dea53ae85fb7380db5b139e9cafd3e32c59a3a6fc3ed39f79f77394793bd3ecdcb4f3ac578b7399090a2381ae8783e0555463aad846b393cf744383ef3ed3d6741573ae898693900000000000000000000000000000000d60371374f04be38d645303a96776a3961aadb36d132f638c7ea383a7101e0390ba8bb37a9995b38cfdb223a4dd7ff393b8cb337e9b3ce39f7f6b13a272e983a6c591d38eb13b93862ce6f3a7e031e3af32d9a37d48ae8379243803aaa233c3a24119536b3e2a037ad471c3a0eed083aa36a43370a51eb371f7e393a34b5383a79b2183866a67b39f445143a738b1a3a6be71d38ac47613fb70ff03d799e15382fd3b5372157473f295adf3d846d7f39352d53389eab2b3f5bdccc3d9048be399db6a739f9f80c3f9e0d9f3da5505a3afd753638ffb4e03e0885803d09c7a239968edc37b571a73eb1d23e3deb038539c5c17b37dda95b3e1df5fd3c69e0a539dc6bc0377541db3d9489b53aa74b123a330ff1380fb20b3a0fa8573aba86153a40e51138a8c640398a26313a9e42a639d37d2f3763e2cd3769ecf0391846b439bf0cbc36799f9339ac68ad3aa84c503afb33493724213638f547ac3a1cd98a3a892a0038041c503889e15b3a882a4c3a5746af37ff06f137e651093a5e70033a2f8ac0377c40ef3794f24c3a2a5c443a68a7c63767e80738597e8d3a6117923a680c4338e5546539eb6b0a3af38e173ac24d8d386898403f631c7a3ed99a18395556a737e8c42b3f5893673e5d562a39a0f138390233113fcd96413e6020153a542907383ecef03ed218213ef4f8063a64d12f3877fac13efff3053edbab023ac2c4e437505b8e3efa53c23d27c2c839ea56e33765f9383eda58803d6499143acc1ef737a0eaa93de47df93c21dd7d3abaf0e9388546f13992d87f3ad394143ad0901637416ea939c3ac2b3a1d90093aa474dc375c4fd538c9e4b93ab249493a9c46e6376bd5193820a8263a8e0d023aa68da4379b92fe38b02b653acbad5a3a4a6a7b3709887e382214823a3b287f3a60cfc137b5b0f737efb61a3a9e2e203a9f660c3895694d387074ce39783bef39952a0738a1f13c385c40ab397fa6ca392e7d393804264438a1be92396037eb3981d859394ecf1f3ff2bcbd3e1222bd3920732a38ff480d3f2a76a93e5d1caa394bb213383327f13ef2de913ec4f5a339bc0d0538ea95c73eaec6723e2285123af078b637e33a9e3ee2e3413e9f87453a4d17eb37eb036a3e4a1d123e3130e8390e8a3838a85b173e22a2c13d5034b5398f14263818938a3ded54433db754bc396df03e3809d6d038e063e73cb8eff839fd342638b236a73822a3823a90faff3923a39437e81de438180f403aadab0e3a18ce5137539a1a38f68c423af2aa113ab6afbf37682c06383e33143a68de113aa82a6138a1169c389c15083a65890c3a284cdd37b6900738bd610a3aa7bc0c3a8a4aa937c6ca0f38347ecc3938be083a032a0a38f1f33f385333f9392e1c0b3a86d52e3837514938a5a0b639eacaff39e5c3663871c4fe3e0103ff3e8251cf38c69348389020e13e9ed4e23e09a2b139591d0638c1f4bf3e4096c23e842a403944dafc37418c9e3e1f7ca23e2ed1d53944c8923818ad7a3ebce6813ec00d9139d08dfc379d93373e6810433ed8d8e639af82ee37d48dec3d639b013efe06df399a6f1c38d9004d3da6c9823d4459013aaade39383085d038e7db853a411b043addb4393878e54f383e4ce73c09c6e73915ede23792dc53386964913ac956df396fc1de37acc14038c9774e3a9faf2c3a9525c037a12bf137a05e343a8771363a504897374bf2c1381c777c3ad34d843a9049cb3764802d3988b7493a5e3e583a565f0e388673193817e3dd396b37013a76981638aedc28386d172a3ae4614f3a3cf22d39cfe44b39348cfb3985ee0d3a09344b386143af3e4b5b193f425cc2382e9d44384f73a73eeff50d3f3ee35a39594433387eeb8e3e0c62f33ed1319f3925d6e637f23d6a3e79f2ca3e4848e239f3dee137d3fe373e55e4a13e424b553a2cbbd138e0d8053e3712733e87122a3a43721438ec01a93d2064223ee34ef5390eb720389be4073dafdaa13db2ee413a59a30d3971c2ac39ca33363a5ba7103a0b813c3810c7a639c121733a2dab223ae976a137aba50238c916d33ae3c6b53acdb2c0375c17ea377e6f703a63c16b3acb12e337edcd00380447093a464e153a33a42238a94eb9386ea4433a5258623aa1c9cc37084c2438cd345e3aaaed953ae6506939c4648f3993822d3a825c5e3a92f8ac375e9ab237af2b98390e70b939835870386f8b6c38985f8a39c758b63933878c392e74783e6d51403fa4cdf339fdc7fa3708445b3e69522a3fdb42503aba2ee537960b3a3ef507123f0b14233a730dfb370d51173e68c9f33e0ff4003a82075838fc16cf3defe0c43e5fa8323a7d8310384d74a73d59b0913e81b3843a221f76395cfa453dfdcf413e604c533a7f83aa37f345d5380e4bce3d0f5aaf3974e55b382516d438fdb6463a2835d339db1f203808778b39d61c453a41e42e3a59353c376f4ed437168d713a3502723a7b0a8b36391771379bf9103a0e6a4a3a1336b737b3c2cb370a5f153ad1f88a3a34643238ea943738c4a2bb394462573ac3965d39ff468e39b0c57c3a051ba33a51b508396ffdaf382630d439d70a023ad49300390dc4d5379a2fb3396cf1ed39093d0838b892fa377e5dc938a570b43945fa853928e4ec3d9ad8603f9b630b3a2793cd3705c2d63d5639483fc892323af29c60373caaae3d7f6e2a3fd411283a6f67ca372154893d05f00d3fed698e3a91c73638fb48543d7387e23e4bd7763ae4d68839d915063dec47a93e29bdaa3ad900a838b0c58739e856673e87c1f9394336b6379fce053989bfdf3d27b5fa39fab1ec37112f0a38a32f2d3acffd063a0000000000000000000000000000000062613138f35a42380369dc390601153a0bc4da3715811938510e96395e020f3a85cb91376d5c8b386f41cc39f6190e3a16bd3d396f62633903c8f33963cf593a79b79d372225ae37b946c538f8332f3a766dc0385e2032382773883924a0ca398e89963941336439bde5e139d46b123a0000000000000000000000000000000000000000000000000000803f00000000699044383c6f93390f3c613fd110103a47571838e10d74395cc4403fce622f3a409bad38e4a4af3976f81f3f755c363a0952623939aad2395c77fe3e63da883a4a69b137ad4700383fa2bd3e303d8a3ad6c8233898ce153924eb793eb0ffec39cbe75a3942259139f4caec3d08c1303a0000000000000000000000000000000000000000000000000000000000000000914999350420913579369e35b2bb943751623535c3791d356e913b36ef49b5378b6ccf34e25fd534f872163753b5bf3737e7a2348faca334de8db1376510f437b72384348c416f342e974a37a4386537fcbe8a37137a9137778df3376f0fb137d82b03389c50f4376bcc13384408e13700000000000000000000000000000000000000000000803f0000000000000000d7ae9435d5b77f3f3f1d2a385f2b7e37aa683435c2ba5e3fa5b67d38d6609e376f2eda3482fc2d3f84ff9c3888899a37c8cfcd363519fb3e81b1c138fe86bc37225c1036e1f5993e7aa41b387988b036fe10c5378fe3df3d03e13c388d1d243789b6db37a219d938b32d7a38a2cc6237000000000000000000000000000000005b9226352ec42335f4ce8537daa4c43758e17e35634d8435432f3137decd1638baf1cc35eb09ce356b6cd135b4ccf4361cc8c135a365c33569afd8351fbf2537f7ed7936a6cc74368ca2f13722103d385eb8b9354ac1b7358e86c435dc30c735e21ca8362d89b43658e79b377bfd9a371c0e143607e00f361cb64c3790cd7e37861f053106440c31dfdb0d317efdb036a809163551a17d3ffb8b153c12e33437777a7135a71d733f9f070e3db27ff1376554ca35a271553f7ed6913ce431213674b2bc351aa4253f4d26463c292aa636f07e74364e91ed3e837b0a3be09925387ff1b2351beb8a3e6aa9043c5b5cc1354321a33660a1ac3d1a195e3977e712373a10b83568783f384e858a38e44e4437b02ffa3015f501317169cb37c30700372251b135525fbc35ba17c5359371c435c9049c34f3e3a334c6407436ba69923735990533b23c0233fd449d36c6d90e38876def34051af13428fd7537713726380eb8af3434bfb0340f6dba3432b085371dcab2340ee4a934f7eded3768823738728e5737fd4565372a7a3138fff65238b9b61b35585c1c35c98e1f354d9713375fd18c349b628d34ab4d993403e0fb3538c7ae35c9fe5c3f24f50b3ed8dec835ec14a0342a90543fdd412b3e9aa71836d2a907337ad8303fa32a273edb96b037b5e8ef34cdf4083ffee3133e60aaf13773fab5346a7fc43e8b8aef3d5bc61e3783aaa5344c8f5f3e8cdca63dc469fd37a31e3b36e898903d0cd6193d69ec2338be391d35bfc01d3898640b3915e2d8365ab77c3432638a34ab390d383c989a36882e4c3452144d348be15137995a8a36b4e0043569c2083554a797376125c9379617cd344c46d134bead8b37b00614388bbceb34508bee34e156ff3463a6b136041db73429dfb63408563f367d8b9e3776956c34cd656834825c8b373534da37c3da5336ea133f3737983e3845a442389752f835899408368fc57c37aa16b4375d43d834db33ac34ef35ce369a125e37c3923e34bd7b2d3fc603a53e00a75634fbfb053596cf253f6fe8b33e6ce509354d2cd2344d700a3f0373a93e11b17a378265ee345f3ed23e881c903e76ccfe3493bbb334fb558f3e637e5d3e6ad83c3643e860346b461b3eda6d163e587008374318af34d01db03c80139c3d1a63a137487c94347e480138a4a56039c36bbc36d024a034d9f46e36a48a36383d2ae5369d3ea034b4aa92340aaf9e37c1659736eed2b935adb7c7359bcd8d36889c9b36fd5ff0359e52f735c89df335cbaaf935f1cde035c6c0ee35f20ff7356c47fb35104106378abae7362eb59c3795ccee37ca3af3359ca600365bc2ff35d31afa3599edee3570cd013656ad123663d40d36b0e8df35a706f0356a244a37f85a6c37efd2f334fbcbe53485d5d836cae94937a96549348ef3fa3e2481023f6c3eaa34b2ba9235afebeb3e20e1093f5376bd35a29aee3565d0c73eb90c003f6272f235b441d93538fd903ee52cd43e0c2cf035060fba366aa24d3e3a22993e0acd60373c08ed35a7aabe3d1c76563e16e5ef351649ed356e43d138156ee03db962fa3589e8c8350fba4938692f1c3adca6f835115aba34d23fa7362b510e386a95013638eba834eb66e1364043e437360e2936cb9693341167e134d5f88336a2d03336cc73b9342539b434d5fbba345fd0e4363b555f3469d25f3459055f34988e4e37c0e9bc34f7a7b93447b4d0343693333785b10a357727063597588035c0f04736d309d537a09bc93771b9213817ae2a38c5080e35692d7636eb9dfe374fcde437240c6734eb316134bb8a5436a3f39c36204aaa34aa879b3e7b3a323f5ec1ad34e2189434966b8e3ea3c5383f786f92346eafc0347ee56a3e1d3e2c3f8b77a93407d25d34844d213eff3f0b3f043a5b340d54c134a5fac93dcd90cf3e5825b4349d6d0635cb46113d077f8b3e21def4347f4a8137e8409d384222033e2c7a2c37dddf0c359e0ea1385cd7773a73df0b3575754134951f50367a04ec377c105634fdce993415ecbd36e02e3f3776d18634aa0f2135d3ce2035c11c2035895f193551619437add919376d1f6c36363a91372cbb3e37dea0963421809c3417ae553768f63335b956bf347a29bd34c93f2c368d1fc93784ba8837019c9937d325ee37cc807c37717b94379d82e437300adf37a817af36373e9d368133bc37544e8c37a083cc359934c2355804c235fd67bb3540559134410fee3d0836623faa857634a3821f351e10ba3d9ec0683f396b163599c65737c1faa73d193f4f3f1dde4135eb52cb361de3073da2c02a3fd5f89434758eba34693a503c8023f93eca39b23428739637c87c9938d017a43e878c023645c66f37f905ae383c3d153ef05c0c3357a7af345154a938bbe0253b5af7a634d7a2c035a44fc035e5ed723733d5b735da5c133641713e36fa788336b2aded30215d993654fcd735d277a7357accc33577a4b436ef664836951fd13560748b36629fb1355fc9ba35e61ab335aa63b9351fc7f637f244523771ea9736d40cf83737d5d9353b2ee235eda2dd35b55cd8352de7ce354efad535f97ad3350e617c36cc8ee637ce4bcc37d7b316382a9c17381e13ac367dc86f35b0b6ff3689de8a3666830536ef6b923895fa7f3f2151eb30c6e043368ab09538abf57f3f10bd91353b36a13652150e38df5d6a3fe0d08f36a5b7b135536ee436f573383ff05bb03534f7d337303f7e38bfa0083feba5a5378e2cd935150cdc37ba79ae3ee501d1355895d135d6a3df379b0b183e15fcd53546259e371d4956383bd47e3cbcdcc03679925c35d57ab737c1b9233829b33435000000000000000000000000000000000bceb333f8ae1c33a1b27e3205fc8f37bfe5ce340a68a334b2f59234f4642d376562853419bf83340f476e34a12acf36bdda1337750da7345550a6341848c53755a842376de2e634c3e68a35a198c337d35d4f375ed3d636700f4e375500d037805e77370eb8153790f7923753dec1370000000000000000000000000000000000000000000000000000803f000000003f776534fd4be837faf77f3f247fca378561b034040f2b374bfa633f3cb0d337d84871342e0d143702f5323fe4c69637f2f02437aad2e937996c023f9ccb0b38336f0b37fb5ad13719e8a33e85f5d237ac262737b93de937d0de043e9807a3375f632d37bdf1c137760c823a96b43637000000000000000000000000000000000000000000000000000000000000000075d02b36bcd389364225aa37db6ee837005a1e3693267036f9326837cad20b38c0571a3653f4653666e561380b80803820546e36ba3b8736d2380e38c81a02383e425a3677496a36d2701b3898299b3726219735fae41b38325b8f386423f737f3f5db35c810b63737014d380bbd3d3700000000000000000000000000000000000000000000803f00000000000000002f4689368a42783fb40c0e3984d8be3774c181363275523fe578553a01c19c37daa27a369e90273f05f82d39700a263854988e36fc80f83ece767138ec1f80370217773698e5a13e41847e38d634683669f42638e887193e01a0a238cc2d8135a6b97d37790a64397f177438261fd03500000000000000000000000000000000c02d7734b0077b346500a837bb98d4378acf5035a253a735c7e4063738d9a83742adff33875e06345e8a4637491b193849b3c033e7f3c433c1a80137e0aefd3729ca34350eec6535f82fa4373bb70f386bf78534649c8734ef1a1338614a1d3893929a3362c397334ba83838f26e10381dd708359da50d35b36c3d377f81ab370b12a734d5c2ac34b88cad34584bae34f8487434ac36763f831b1b3d389d483707588735d9de613f631d8f3dadc01937a6580434c8c63c3fcc2c6c3d9d3bbc3792c8c133ee90133f7c47413d979ded3689ae51356131d63e113ff83cbeca1f375504863415ba843ed674373b20eb6537735195331204bb3d4c752d3ae848cf36b9500b350de0fc3767cc9a3863032b37883dab348573b0348cc79837262836376d1d933603cda836880c06387fa1c1370f0b7b354634a535c808ab3758540238fee5063641a53a36cb537737c10206383209a236379ab136c58dce363eb4a03773af9136bfe2a53640b23d37f5690b3891b0ab36a72eb7364f09a93726521e383e8a8036dea08536c7482537c5d177374d141c36d9fb2d36ce9ca536df2fd3370f012b3658f43e36f93d5536f157a6374e069c36c035503f7c1a3f3eb92fcc3623708e35e23b3c3fdb2f673edb2374362f5d24360f06183fa16d573e344b49378219ac36863de53ed248473ec11cdc368fb8a236dd59a33e1cff283e2808a2379cfeb3361ccb2e3e8809033e2bfe8d37a060833613ab5c3d52f9a03ddc2cc936e59f2736db51b03642db343ac766c137bbc63936d00f5436939128380f50ff37a3da40360a5c6636c8745738adc80f38912cb5355bab0936055aa537975d85370ab97436b33d8d36d0faa436c4402b374132b8365f89c9364ffdd837b8b4453813dc8a3688399436dce13c37d17fd437e084bd36fdbcc1364afba93788dbf537168e4836cd3d4d36c4030238f0710e387aa8e035d180e635d9511036d74fb837e79d7f3658338336b9899036b3f899363498553690a4263f4d75b23e76897f361d61e9351ba3143f7fa6c63ecf508f36c18585365574e83e559abc3eb4e9a9369b2ac536ef90a93e97b8ad3e5ac1d0378efc913611ce653e31c0873e4637ee36bc90bf367f57e23ddaaa493ef28dc43614a64936a4a0a53899d5fd3db019433678aadf35468a1a36bcfc6e3aef22b836344b803680d98c367e49e137eb489d3682840735d8d20935aa400638d3a90a377750f43525aa2636734525384b1c8f3700392e3652e38636c4bdb43712b804387efc9f359d241236620ab737ba3c2438bd7daf35af5ac1351be42138c84b4f386b123d366df35d362c3d213871d0303883a9ca365567cc36d93821380adf2438a61b4936a97458369c9b803767ff1b38696af2345006043598c97336eca4583792770a352c51f83e11af033ff5c5053500a50a36a443d83eecf60e3fd1985b3646d16d36efa5a53e81e7053f658ad336a591f935943f663e8729ea3e0ac0543744a8b635cd72283ebac3ab3e151cd037c856503684f5603d8989863e676d68364fc0c236ada38b38a9f01c3ecdf5cb368e0d3a368b43a237270f9d3c220b2837eae10235564aae35268f3c3a33080c37e8a9913693b598367131a337297297362009be3503ccea35025fca374c0105361ba8273629003836181406371771a037c1f9b836a6d1be368c90d436aa49933782bda236afc5a536827d4a37c2f5a6371746e536817fe73603412638c1e53838ef7cad36430eae3676f20a37a8754837bcdb92365b3689367cef88374ffbcd3773d87d361d768236599be1373b472538f8f59236f97aa43eb9c22d3f0aad8336eb75d435dd03893e9f463b3fe53ad635fa1330368d1d3b3e9579313ff00f463617a0bb36b49bec3d18bf133fb989c136f0d3a336df43853d5903e43e5fa5a036d579e43601c4fe3a3bafa73e3ec5d936428dac36da89d7371609363e24db9f360c29803636806a37059a003d81e7963685b1813600558b3736a993392c83cb376393693618406a37d9fa2f382b91ec363cae89360764a936fd21be3756f6a436b7778b36ad458e3665e6ba366384ca361fdcc9368730ce364f46cc36333d8137d1b1e336f1b3db36628a50370a02ac37991ce436aff9dc361482d736300820372acfe836c93adf361be8c8375fc3f1375d5078363cd657364bbf0338f9c80938f32ed53654c1d036aec77737d5d8c3373f136f36ec91243e62d5563ff6dd3c36b56d9e360d90d63d1801653f7f544336809a8b36bf248d3d10794c3f2155983681d6cc36bc68343c20b5303f4327bc36b2bddc36d5ee87383d12043f3d8bc336a5b8dd362fdf3d381c25b73e7887c436d5cbd9367e822238c468483e2127fe3646e253368e0bf837674a1f3d4b811636340cce362506193723768d388e7fbd366867b7341188b634cc249337cb99af34aa3619353e841935b200123519f59b357c888b33f5a19033f11391332a1fb7375957853459ed8534d5894935bedbdc372906a635f5f4a7354b3fa7356a0590376a4bcc33e49ecb3344bcc93332368b375c4d6536382e31367caab837bf26f937223121373ab40f37f7f09237b5a881374f8a3e3747b3c63684b9b6375138af37ce0bb434e34a2a3b36577f3f767fad34731a1835b0254d3857f87f3f4d6e0b352a8f8f33d126fe37256f683fc1839b370c02833495d20438bce63c3f757aa3377522a435884f0538aa270d3f239ac236f15ecc337d63f437e0bac03e0124c5337c1d3736f22d2c3835c0513e7032f23558330f376fa99937731a443dd287d63671d28b36678487379c019e39faf03f36000000000000000000000000000000004593c535d6accb3523bbcd35bb409637d52f6b356f0075356abf813524ca16386fac5a369a064236639f50364c8fa837c26c8c363e0a8a361e56ac36257d04381d84a9369a5ea436b814e037a03a7838e333fe3657e2e936b0d54737d593e5372f78ac37c52b743787dad0378c5ae8370000000000000000000000000000000000000000000000000000803f000000003980cb35b092d13523e27f3f8f0251386edc75359cd78335d888593f1b1ca638cbda4f364c326f36a5072f3f4135543820798d36848b76379ba9033fb3ea2b38f0eea7361c443b38a994b03e472d8938e010f036fd3ee6370f44353e6d6c8a3781cd7137b829be37f697f53c73b19737000000000000000000000000000000000000000000000000000000000000000090203736946f8d36fb5ebc37f9d5373895282036c1967436c08f4c38d52b2139c9077d35b38b563626146338907541386d8cbb36eb2bf636e7d963381cd45438df2dc7366abc3138db4a323a53ad8f385b68f535d308913763a62c38f3b795377e5cb037b42821383ae252383f0dcb3700000000000000000000000000000000000000000000803f0000000000000000baad893683226b3f8411473c0487c0373e637336da24463f7c31193caf9e5338d11e4d36dbb01f3f52dff03b72b26a375f8ce73656f4fa3ea910a938610d003876a23038efedad3e1c64f33b155e4038aaae833731c94f3e52e61d3836ab3b353c8a1138656b623da00f38387f0b0137000000000000000000000000000000006afb9236e70916376e01133885563c38d54f7c36edcc993660660d38858977387d83bd360df1fe36ed05f037cc33013940cf1837723229370efd9637b85a1838b7fa8b36d27fa5369c66363825ea7538e4d00337b8f61b37bf26e537a0e42a387eaae93622bff9369e362038cf553b38549ec2361651d036b1a02c383dd83838f1db8536f8b99936c3f6af36fc91c43735c707375c0b6a3f5c7d983dee7c29381d319636a564503f8ccbc53d62ee8138bdaaf6360e7c2e3f72a3bf3d59924c38a4412737eb6f0c3f45a3af3da6690a38c3e1a33623d8d63e79a9933db4c15f38895416379a73903ea9fc6b3d06e90838faf6f6364ec6233e2872e73c60111738046bce36444ea23c7a0f933c1a9c0638bffa95366892ab361c4d12399ba3ed38831c8a36957694369538003888eced37ce96bd36c2f6db36f5bfe537f4132d38743a0b366742233610e52e38eb2a6d38c8250c37c4591d377774e6379fb342380dde89365a859f36fe22163827d74d388ac7af366a4ec436f3d618381db14338d7d6de3678d0ed36556e443821245738e6de9736dab451370c6966386dfe6738cf896f366bb7863607764937b0ca4838b2029136767b443f1f3c5d3e86608037c7e4d4362dd82d3f64926f3eb9ca143896481f36696f103f78ae5b3ea9116038c69c1b372bc0e13e94d1483e5821243801619c36e141b03e2d16163e60582438d492c236776e643e5cdfe43d8d75fc372fc4ec36a0f8023ebd38913d663f22386e2db836f38cee3a2997003dd9912538ad2a8336e59ac83687b8ad396fb67a38d0cb6b363ac432373ca88b39bb228538e7d8cb360cef14375cea5738be5e6838d6d4df36b5b70e37801a30382cec7038c9c79f36f213bf36149e3138241a70383507eb36af73023745d72d3844e146381310fb36f0620f37f9dedc37d8e21938234ea736c984a93767b28e382e2e8e38f3a71e3717c02537038b2f38e2422f38e08544366c7d62363e55cc37135039387f6c8c366df4203f2710b83e3c461d38455305370fea093f468ec03ecba928382f010a378fc6e33e8778ad3e1fba4a3857b6bb36b738b83e3b25913e7d9e4438acfe003723fb873e60b45c3e73421138e9550c3762fb3c3e265c283e386592378f084d37ec12b43d1b0de23dac604a3860e323372ecd4138b4625b3dfe5e78375f00573669d49e378372cd394fff3438be4bb0360c3198378cc36339b1a83f386ca2df366373fe3601dde037e128083875c1eb3675b70e3741077237125c0838592b253784303037f6cdf8370e224f38c7ebbf36155ed3369e1b8b38c039963893b32d37d549343746331d38124632383b7c2a37855030375f3af03718a9db3708fa0c37711d113709820038640cf6378c62ae367ef3b736c53424383bf94e382577b836a888f83ebf6a013ff2cfa737951cf836fd06d63e5b51033f773a3937b38d09379034b03ea799e43e956a30378a892d375357893ea7c2c23e4b24c437b522cb361235563e0fd1943e62265f38df1033376adfff3d29e7673e11924a37c34b2d37edfe813d986d153e44bd1e37712e0f378cc50d38c0278d3de9c30737c15cb436536a0938fd380f3c15953a380f7266367da88c37bcb38f39eafc2838dbe4d1360f790737892e2a3894823d38fe7e6d3606d09b36754a8738aab79338de4f0837905615370b100b38c4cc1c382f4cf83628f80e37b69438383ed94238d5cee536db179a374c0f6d38f55e603818f42e37cfa6ba373eb18038faab6438c4fb2b37a85aa937f19d7338c3b15d380aaca9361c5b43373f136638a9278638e31fcd36b120b13e6f34273f515ee7364a51fd367422933e6cb2283f3ae69c37cc4a953686a56b3e903d123f9c6a5b3851fd12375e05353e49c6f23e3cb81837f89604370386093e31e1c43e188bf7378482373726ce9e3dc3db8e3e47a2d537ffbf8e37baebf13cce073f3eaa3cbb37c1ff5037c85d6638bc2bae3d8243f73718b1b436165c4d38b7f8373cb4235b38f3c0913679b7d537566e123a58200d38155c8d36dcd9b9366b9b69388a1c723854c0d136acffe336ecc0483852f757389997ca3619a0d636271f203855113d38311fba369c87d33605fe38380ee143382a722e379bd07b37a3b93b384c9a2b380912f037716728386b257b389e575b384f860637dbe0b537f2084b380eec1b388b499c36c21fd43655e4dd37c550d93740b98b3718dd523e9e074b3ff7b39236ad309b367353293ed41b4d3fc44c1e381f17e136a1a2083e12e72a3fbd070b381e6bd536fb21c33d38de113ff368be370e2dbf360bc58f3dd5b2e03e664bce370d914a37e397d23c699aac3e0e984637a42e1b3851913d3cf673563eadc8e537014b8a37b2c73c3875acb13dc33dec368ccf9d36de06ad37f566853caef248372fadd63633fed237df950b3c68797a3797e8b736227cc8366b963338d1d04138daf4f1365cf7fd3650842438e7ae3b386ea04137a78b5037cd480c381b5f1e3892b0db362edcc637d44c64388e626438f2384737769f45372fa10d38f224fc37c301ec37ccb40c38291b283965112c38dc2c473811f34c38d9b8d63975074e383a2cb337d43fe43768234638eb282d38ed5ba837e9a5613d0aaa6f3fe38ea63647e6c7360539e23c70386f3f1a8adf37a6a4fc3635a16f3c780a4c3f3d21f2376c8f51370ada45385dff283f9dd99a371e0db937d7618638920b023ffbe712388fd145374c552c381629bb3e16cd3337cbd00638ca0ba2393198653eacde8237cbd84538b9840739375ab53dfed460378c1fbc374da32c38369a363c8a2b9537000000000000000000000000000000006eb44036392d73361ee84d37a3492238f49e0335a93703356ba454358b87ef371661af36d9581437683c5038d9bea339ee8db9367a80c036572e0d387e706338a511d3350ecd7a361f588137f2924a38fb0de837989b0f3897ac583863d3bc38393cdf36a4c9d836d76d0338558307380000000000000000000000000000000000000000000000000000803f0000000086fb6d3629fd4037e5c7713f9113663817880235c32d69352bf84b3f19538c39c28d0337db9c62380490263f39d97e3ac2acc136a5db1638fa6f023ffc956c38b0f47636b2898937b7cabc3e213b5538266f0e38c57f5738d4435d3e18a833388129db364983bd37ffca8d3d28b8e13600000000000000000000000000000000000000000000000000000000000000004d160b36e5631a36625c203685621e361ea3d734b4309634832287345ab892344222e53412ad45347d868634c9a3cb3406efad36a961a63648a99f36df3487373cc83235b8c10a35f9261935c89e2035b3ca1a36934c013666a6233611aa3236e5fef2365cc5f736a1f0ed364162dd3600000000000000000000000000000000000000000000803f000000000000000057223036cdc07b3fff320537f91a0536e114883464e65f3f9d3143371aad47336f97d5345a5d303f0da89638c606d1345f35bc360202ff3edf076238a1c18e361b5c1135e1ea9b3ed641aa3620817434c8b72a3648f9ec3d5cb20f37e0fc46365ec800378fdb8e3a458734376b0dd13600000000000000000000000000000000df14133546da2235e5984535702f4a358b1a6b357a4d2c352088cf3577e70936c1284335c9762535007a413560d02a35432c9d35310bab3525e2c235fb926236ea1add35879ebe35c99677371c43563899b1b83580f7a135cbf7a135fb0f9f35869b7c35bb749a35a5abea354103fc35aab7d5353f94e0356473a5364fa13f37917f5135276253352030613597f65b352de42735ded37b3fc0518b3ce8765c35883149356d0d683fd1ae323d2c51e4357f664f35f8cc4f3f7d34a63cd9e73d35ed1bb63526bf1f3f1db32a3c6ac2bd3525a8e135b0c5e73ea835913a856a4638174cb335e498893ec83d1a3a740c8c355089af357cfdc23da1089c39184cb5350308ea35f74887382f97a63859cef4351e636335e2b45e355e8b9b37937e543514781536770515362d960837a6ae2e36ee909436d8a195363a52bc367f7cd836d8188e35a6ab7235f8a8fe35521ce73512f70f3594761e35c0be2535db3b233527433135d2d44e35bc577835b43f873532113535f4003d353b824735a1a71535dae71134b95e2c349f17f73375fee33337a34435a3b04635461870357c4be13518d3bb350859c135a7d4be35a69bab35cd4e053619315f3fd13b043e29813136a5da7036baab4d3fafed2c3ed291ab3679c14135f45b303fb8f9223e5b5dd0356d0508359691023f62e5113e8eb2fc3449d54835ca6bb13e8456043ee5d91f35ff980b355112363ea58eef3d7df04b35dd8913348ab38f3cabf6ad3d16cd15347d974b358c41b23747309d3adadb3c357d53bd35c533b2358d31ad35805bc235a1c4823513b68b353c967a36a1d19c3595fc1634c7c683342e60cc34afee9534cfc6c1330f15b33311d7a4339e4dab3364ce7c35f6ab403532434b358db92735975ed33546822436db760f36996e1c3666b08035ab9c613553c14935891a5135811e6e36a274773693648236e8c77d36ee45d636893d00371944f836121cec36a7264c36116c40367ebf3d362c9e3036bc677c35a08b303fb8959f3ee385813504903e341c9f203fd8cfb63ecd2edd3054fd63333207033f89d3af3e9f7f2f32374d50358feec23e30789e3e96150b35c1ae0936c3406d3ec5a0883e6106d435f40c5735cbe3c43dd82b513ef0071335f04c55362248313aa41de63df9b681360048e3362c8a0a377c97243c89caf236c98d37363e963c368b727f3720522c368922233553633b35f9b2a2371ba5783523958b36e4279636abd19936ace1a236765725365a7c3a36cbd05836684e42367877123505c03d35b6d957355cc8693575d30c388f2bb937e19a5138e344a83847595f3511f2563545b0353596e069351181393605bf4936ecdd7136213d68369bf292368b93963670f1a936a8147737847d4f3574ff5e359e8f6735115fa536821d35351c84fe3e4509013fb40c6b3505438936011ee53ed94e0b3fd30e743674083536455bb43eba55063f4b000e36e4a661353821623e1686f13e8631633515e7e037c166163e5e66b53ef3c26d38f1f06935cc1d283d3183893ea562253555e54c3629534d392ebdff3db84d4136dadc8436d9d6d53745af2c3c06569f36a3c57235bbfb5f35c1ad1838bbb95735c7063136653836363e224136aa7d3e362e5fdc369861ec36c3bce9369d0403378c1f6e3634b86936f77374361ac96f36875b3235679b3f35d95d48357bc04f35f49a0636e2f62b3641840836e83f4b36e7394035da2941356f1a4835d2c0263519bf55330cb59a3320f8423336e62232e51694341ce4cb33c2c89c331c1adb34dc818935b6ad8e3547e58e35183c863519c62536bbbf9c3e2a02323fe92336369215da36c4d0883e2960393fe7dabe369e9a5836f59f3c3e2d60343f9d6542364abb3635703dcf3d98cd193f18df22354e630936054c1d3d42e3ed3e4825d035f65316357ca6383a37549f3e2ec44e35c277df3220dd6b32053d163e7a511332ffe4e132451a343711138a3ca7d37734de238d354ea18335a5251037996da1353e9ab8351197c1354a87e835b103be3586651b35ceb159351fe74635b43e3735c7e65534bca74934ea34ec339051fd3300259535e2845235a3594635ff1e223596fc4935e4607335d9951b35d5d32d354f554f35e7843e35caaa1c35014c2235129707362e4804369b5904367045de3517bdb1366ed2ce36aaa9c7364a44c13608bd2d36951f2236464a1d3658b117363207b03538d8f53d6aad613f2bc2ab3536b03835981dd23d91d0653f944c2735401b1934cd77ce3c6fda5f3faaede733e3756c351f84de392cdc343fc4ae133545db333502b256393ec4063fb0942535d23f2c351f10f83763f4b23e4230e6343ae6dd35f5b91039ac791e3ef36f0136e96fb53694f39537745df03cb76cbd362901203665ad733629e9a9374700193604fe4d355f5947356e2448360c5061354bfd0736d58bd935dc579835347d1036bcfeef35f0060436ebc5883501bc84359e78863582519235563ba135b264b535534841368dc1b235993abf35fc90c53757e3d0355719c535a83aac35b65bdf3549972235f9a53735a2f98b357e8a8835e1b29435571458350463df350f2f1e36c9372b35307b453595d85935e0a056352c694035370330384b1b803f9b3454352d98d3351f038038fe21803f69625735ea6bec356e532d36d7f9673f83058d356a2cae35f4096d372d993b3f8af5c0350a56c2358c507c381d520c3f9423bc370c6cdc355cd88b3706dbbb3e9053ac3567f4833598d2b435d8b42d3e636f5c3518e7743526bee2356899523de420d935705d6435ca9a4835a59e2437ed1b51350000000000000000000000000000000050f5d936aa9dcd363736af36c0abea36736b4b36209a3836aafd013642141a360d38b434313ab5344799f734faee1e354d6aab360693a4360bbc9536f490b636e32de2347375ae344f7d3d343027a434a9601934c8c5013420cd743434a5b034438d2d36d3203236878b4136c2054c360000000000000000000000000000000000000000000000000000803f00000000124bc736e811c736a808803f2095dc36cbf23a363b6f28363fb8623f26abe535a8d8f134bd0dd3346395323feee1f8347ebba7360c550237f8c5003f53d8f337be5e8134848e7b3428ff9f3ec8e2c734503f3e3417a60f34bfc8013e0d79e53362bd4036c64a2b36db488b3c081a2f360000000000000000000000000000000000000000000000000000000000000000f9605236dd44533674052038db4d01380f3a113681cc3c362ba1513893275938b74b213601403c36c298ea38891fdf3866351c36cbc219362d290438f7378337b03b96368dd79936b6b76d38416ce537aa07fe36e28941389db4e1387e80893806c33d352a2555359db0253879ca373500000000000000000000000000000000000000000000803f00000000000000004b66473650e9723fa433e5385d4a5d36fe36393657b2533ff6ce9f3b2c999837ff0c3c362bdc273f34a72d3904009138f0ba0d365c49f83ead6fb838cf7d2636478e9b36baf8a23ed9d0a238dc699f36f73a5338af1d1c3ef463ff38edda1937693a1d3517a01d3c84ca3c38e69c3935000000000000000000000000000000003ee596351dc12636c14150389a45ea37e464d235a5503e36ba9c8f371e9342371eccc434a3670e35f11bef36399498369f2d1136f8c844361c755f376e62da3695055036bd715e360150d637eec6623745b309365f1b2b368f8fc337b841fc36f5f405351d1f4b35c114cf374f90d736d7e880350d7a9135c1b80336ddb56c37538c673620cd4836731c9a36761eaf37b437f0351025723fb2115b3d99decb36bf382d367354533f57f6af3d7f28d4361ea804357f28323fa046ad3d3b1548367b824b36f0bd093fc901723dc710a836fca563368ebec43ef325e43c2e6b4f36ca523636c4db6f3ee086243b848435360b9f4e350d387e3d9d1f5e3c52586735b18e8835f07c2a370313a83ae58abc355d2533365e266b364b7f843854a9143848de463687095436f5793a38f8c42c37a40d7935c373b8352d33053678e8e135ab023535d651fa350a895137fd29183787dece342a3bc9353e425c3662a74f36d4c6ab3519d5d93566b2e33593d5dd35bfbc3836e4655436b36e6b38e10e3d38becf5736e8fc873646fe9b3732ab0738951fd335b72ef93513e1023656db5237af28213664e90d363a174336126f9937efb459366c6e4f3f8e732b3e24cb5a3646f3a7356308313fdf53623e1bd7cb35400ddf35277b103f6f5d593e11ce8936b720bd358b4ec83ef796523e00c80e361baeb5358e71803e4caa383ea53ad235f3815e367d79a13df5c02b3eeb2997365fdd7f360e2e5b3894b2f33d1d1977375b86da3548210536af22de3c57bd17371de30936662528366d159a38d39b0338cf8d6036f2b3a1365d356a385873c3367a5007362e1c08362ea60b38396b6e3627a70f36811f6a3664ccfb370f5ae836b457233625c55d36379a8c38b15a4438c9e22b3611da2d36d750d9372b7695375ab71136987d3636b10b1a387c2a3438a803363691b2523603f7d83755fb75384d4fad356860b0351346b53581c35a3653b64236bff13936f27c463615dad03711268b369b1b273f8082b13ed595a336f897ec351511093f2e08cb3e541e123644fe4f366d19c93ea3c6c73efff27d36ce074d362cc9813ee9c9bb3e1f165436a8a11436ed78d83de05cb13e1ae0843602ad3136d171c638d4689d3e2f19bd3755f645367236353873452e3eba241e387e7f9935e916b735f828e63ca8c7d335ba9f37360fea3836ea9a5f3aa8f2c63728c689365436a436c81519385ac9cc36203f6536ab0498364b22f036529faf364d2c8834b8c4933538bb503777f7723573ea6d3619ae78362925a83683fa8f365708b536e4d6e03652b732370a4e5b3763577c36357f81367be98c369fbf8437f819e0346fc1ef346654db35c3991537d1076036979488363d7db136904ed236b2199636abd18f36727cca364dece83644a694360f67f83e6bab033f1d36723626fb853616b2c63e2cfd103f3ffa8036deb95935dec4833e9a800d3f70c8ef34fecd6e36bdd9e43da6b1093f9ea864364d92d6366c9d123d4fc9ed3ec4b2e136f8627a363bf7ce3732c2b33ed7387c3604a8e33463bfdb35885d433e8562b9354aec7b364ddda036e5723e3dda0fa8366f73833656f29b3604dd973ae87fb336d67b363696ee403606529c38323158363a96a2353eecb135057c9f36da42cd353a453e36b9218f36e94b4438e4c9873764a02036cefd38361ba4973761d3ca37bd6612368c752336ff8ddd36340d84375f1d5336e02b4f3697d72937df2586389fcf5a36c1317c366f969b36eadcbe373fc8ff358d391336eb753036e1bf9c3742c2a436f39c9b366fa2ad36ef525837b2244436972aa43e1bb32d3fb9193836c951b2353c19773ebf353b3fde4aaf356d4989363131cd3dcbed3a3f44e7363609ba3e36b6aac838f74c313f84642c36f1460e369fc50f38a0570c3f265014370aad4c3622284f383af9c23e167d31382941723634aeac36f6045f3ebf5f9f36be2c0736a6bd2e36fee28b3d72a95836f29b9336a57ea73672efb13a476cb336b20b3a3643e17f367fd683388dbf7336b6dafc35eb5efa35c4c94a3764cbfb35f4038536731c95361ac68f36d3c597364d11713684a16236273a57362c2b4d37f737e535f4c4cf3531a6cd35d7c6c835f6fbf235c40d02367a213636f8504536d3f95136f16954362d93be3693e94c37da968e35f45ead355739ba357c85d0350a875e366a7a6136a26a5f36b93eb037e5975e36e507253e6cdb563f42741336c77ddf35413ba93d0ffb633fd18ef83581cd8c36ddac923815ab613f13a66636956a5836bc795838b10d413f36c60037d0acac355c79e23587c0113f6438cc35db68e7354422623602e3ce3e87d41d36c9d04e36eaecc136c49a653e4b0dd1366d1b72359ed7bd356551b43d2449d63533535c3671c95f368f35b73c905667361acba83619d3b63647624b387c82a236ecf5943536e68c3561738f3540d7b935e2430335e2121e352c19d134ece41d36a9770d36a6c50536be231636459ead363e2860365b18543638c9523663af4a3721597936e3d681360b4e99369156bf3605ce07365836d9355b9977368df5d4364ba69936dbcdab36164ae4367abf643789b2d736efd6de3605ad3b37b963f437d8f9b036b38ea93ce7c97a3f159e2c36e1f061354bb90e382ecf7f3f24267b355a3df83417d00d36e0c06c3f4a702036abd7fa35f48a4136618f433f9c95ce3691e349360adf6136a9b3163f0fa926376cf27336ee43b836a9a1ce3e2f0a95364b52e735f61a71360634613e341e7236d069a236af96ed36b683b63d28d5ff36bd3dd036f4e60f37ca475a3ac19e243700000000000000000000000000000000ad323135936f0b3593e7ea34982f4b35ac622f3532a96135102e383516b08738d7a1953649f68736d1ee8c3646bd053880c71c3600161e366f2f1736ad64aa37aa1f8936b21d85368c443f3872d8d8380de9bf368556ba360dca4d37b4978738ecbf563695645a36ca5b6636e2832a380000000000000000000000000000000000000000000000000000803f000000006ea4c334deee133594a17d3f5c599837286a28352f6287357928593fddeddd38268c8f3616ef9d36e59c2e3f244e83384ae7033652ad1c365803043f64240a38b51e2037656d80386675b03e8476e9388a51d336f9729737b7492c3e244a6e3828cf5336d4705a36d3a0523dc00cde370000000000000000000000000000000000000000000000000000000000000000263c803448bbd235655275381c50353858dff63459bb7635485d64387c9f3938fff290359807c2359c0b2d384cccc3376eb83c3635179036be28013a5bb1913861a20f36ef654136826b303ada282836bd9ad035d7fe393803c8a33814ebd837412e9f3687593f381b9d4e3af4787b3700000000000000000000000000000000000000000000803f0000000000000000a4ddb9352c28683f1be0123de15e9f368bcb633560c8443f4cb1053d382ded36035cbd359bd2223fdde3ac39d22ddc35fae28d36f31ffa3e913b8e3a4aee8c36e7783a36ba94ae3eeba528390d38c135dd3023381935463e0d216c387d4f8d34fb051f384b454d3dda53fa387ae48b35000000000000000000000000000000008b828133b95af13325ce9b387f398a38b96ffb339b7704340870e637024b163800000000a359ab35b67109384719c337c06ec734c8fa05363fecb2387b120838400581344b858935fee93b38fa10b937dbb707360763753608459c38a9332d3842fd0435aba32635e8214d3821656437ba5d8834f9e28a34b7373937cab700382cc39634ca02a334d8b79635be89b938fe3380332f86653fd6ab7b3d7a81de37d0f3043435614d3f385cd63dbfab1a36b34c693561c7263fae4ec43dba9c54367c41e035b9a6023f2326a23d2203773656956835430dbd3ec5a96b3d3c1cc135807066367674703e47a3d73ca9786b3606fc3535b097b43d4f05293ccc07a0347dba8734bc8c6b37d7a5053cd6308b348a8ba034681a5535f982063a7eb702390f23d23387430e3558f28f38a3e7f537298dab340f19b5341ac2c7382f8b5d386dfd303442a699355a4e9a386c1e6c38040cd935b467733618d25c384c1c0338773d0435583e0635653e34387c110638c6987d360be9cd363f45c038a53099385c6fb6356ddf0536e88a0e3842db4b38987ee9345c9af3347f4efc34976e8138c44c6e34aa4879342d8b713662b99138fb63f033e47c433fd7454d3ec65c523604dfb2343a81263f30407b3e974dfb349a12873586f8043fa881713e14e65436843e61364f63bc3e0bef683e85a6863622d505358c72803e91a64f3e6c0e0935fe1ac336daa6ca3d45d1393ea62de236f6dd033655d53138f10e1c3edca2c637deb4f13469d4fc3458dea13c50449038e5127634c3314136a7cdad39d026c13834a0e83522b734360809013934298b3839f91635bf9b1435554de1388aec15382e0213369ce25036514d9738f6f34438b64b1235d4b314365a2ffe3775948137af91c7352df3fe358c2779381d028038b73e8836e224a4369407fc37ba472a38bbd22c35f09442354c214236e2350b38b079023598dd0035a6130635eaed87380d66783489bb8d34d3cba334cae4ac3762bf0e360d7a203f6e20b43edf3d62366e9814355fa0023fdf85c93e6fa41335dd5b413653f4bf3e87b5c73ea94358366ec7e23545fc7b3ed7c9bf3e07125e369ae0f135ae96073e7d2eb13e22a6923729239c367ccfd63c9f00953e5145f636f0263e35be733b36a6083b3e63fac13798a90135de920535435a443d2e72763875328e34c7baa234542e973a8783953777f5f935ebb9c33726c8bf3a4231a13878c04e34845e5034dc188e386c3d013864c86e35d8441736dd946f38d42c0738d2eb8b3603cdc13638c2fa37922ed237ab88ac340a2557354df65f3804488138907c463622299836b84fd43631870d38a4bd31357394d6355433db3633135138a2014f34bc615034b1a15234d5385438214daa3559362c36e8ac2d380559e5389f3c5b365e73f83e9c6eff3e1d1071369e9550345bd7c03e9f9e0b3fb9545134968aff35b765803edd5a0a3f71681d3644f9b336ed0b053e6ff0053faeadbe3600e72835df81c63d3c57ce3ef1e10838903b8b36bcbc8c375dd1b13ef9b9e636363bc135fa5cb336be48563e17570b381c535034557c51349b1fa03d7af00e3812ee0f368d3dd037a79d6c3c16cdb4386227bc341a1cbe348cd52c3c9dc13237e2022c35da712b356773ff389555f537b81d8c35ebce473602932938111b853755306136d6459b3660a6f23750bd1a38cbc3983571e0d6357f8a3238629d85381d577a35bf49173676668836faf7e03703db2d36ad1b423681b77337e6ef86386fffff34d186053523430036a7456f38d865f135201f2a36a781ca374551b4383990bd343299af3ef063253f36039a349d322635bee77e3e6808343f8abbff34abda2436de04e53de0ad343f1ed0f23560469436bcf0183d6e50253f629eb436a215cd35ae227538898e053f0f7b00387c24fe35c32088365c6fc23e38960d37741a41364c4cef367aea703e6ddf33385d41053558caac359e8cc53d42c30b385d0719369bd403374ad8b13c5fc49c38da3f8e369a023e382ca9b63c27a31238a5bb0a35d77d07355f79be38822ca837696e04363ab72636494d143831a01d381ed074360b68a536317b9f37757e95383ebd0a35d79d0935eb2b09356b7f1538b75f21362e0f5336a6a09036c8a72c38f0d50a36fdf71d361541453796a68b38e7581735d52d1935d4a8a837d74bb8380a4511352b68f53525ec75361b202038dd0ebc3781f3473e4e45483f518a07363f120835c73fe83d85015e3f1ccaf8347dcd1b3662e9d43b3753573fd9442536fec99936a15d5a38e63c383f1260773858c50a35beff183734ea0b3f6b379d37eb6545367e9991369450cf3e0560e237887011361baad236de1f7b3ed5b6223894b51035342e2e370cb3d53d480d513772bfce35b3f66b36eb33143dd0ae2c37e9e82f3680a552381565923c90be2938c0ba8d34acf18e34a87d32374964a237ad358e34d07099342003a634a2619c376c49bf35767621362fd2713601a55938c1408234d2290435fedcd2353fb0033899bbba35329e1f3618d1843630038d3843d82a36ea2137363586593653b4163881340f3669071536f84e843777a420384aca2336be0f3f360def3c3834b69438b9e4273808155e3d30796d3f7fbdad3404e58c34740ccc37afe27d3f80fd863483ef95344030a434d7e6663ffe80c837a7bf17363367793623363d3fb3f05d38678ae934b712dc359dc6123f0848e23758f61636a1968636535dd23e8babab37c9833736dd685a36e29b813e06cb3f36a318133629250f377bf2be3d2aa6873537f230368fe3133898da2b3dda883838000000000000000000000000000000004718f934a5a518356a029a35777fa138d3ae6a345e857534fcfd9534550d42384793db34853edd34a771dc356f2d8036e9844236e4f154368d8d7b37005cdb382a45aa35e745c6358448db35fc3212385c39cb35e9fdd83595dc903710b06338673d83361db28c3694b6a337540d63380000000000000000000000000000000000000000000000000000803f00000000735316353c20743570d7723fa9621a3ab76d763450c892343b9e4b3f5fff343c96ecdd344342c1358e8a283fb3e5c439512658367b2954375796023f4e8be9382adcc1355941db35fb5dba3e2cc60938e885de35c3a74a37a6774b3e114e3e387d989136382e9c36cc766b3d83eef837000000000000000000000000000000000000000000000000000000000000000020d2d8332fad8b338f3dfb335ee70734bd3f16344af01134e6872534509f4b3400000000000000000000000000000000cf26b434866e8f34c50b8c3567e78d35c7213333f20d1c330c983934ca03d6338037a8358dfb683648a42f3192ae2832603e32354d1ed834cdce1835eff1443500000000000000000000000000000000000000000000803f0000000000000000123eaa3343917e3fccd052341e2fd833fe2c1534d6dd623f55799434b6cb61346319f83241ac3d3f0000000000000000d5d919356935103f26e30736d991633506febc36d173bc3e886ace343c8d1535a967313783bd463ecc952a31b2e4bf32673665361ae36d3d40a09b35a9246035000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bf865e33c7fc4d331213d1331b294f34b20a1b34a30104340fc49534eb1ec034f627e434cac4ca3402cddf345d78cb349d309e33aac091338ff2a633afe9d833e7b7fa34b8222035cddd7235f7353d3503c69c3445767334952c9134760496344bd9a8329e3b6e325bbcb032e53abc32000000004bf27f3f0de6163c00000000000000009f2c6b3f0b13053d00000000a2ac97320773533f6f916c3bf12536346c701f34e6f5273f95c3403adf6a81347fc9d834f598f83e6492993ad73cc7347378a0332e2da13ef1220f3a26801234c7d29c33bf89193eb6114b3884c4eb3436285a348b01803c6d35093a13559434c42a4632e9addd325a03c432d594ae3225172334539b1e34b6f12b342af653344ac4d73451bb2b35c983d03583579f350000000000000000ce8bf13485db973460fb5f33040e3c3383184933322649335cd57735734e5235bee597355aec5c3569d2d8313fbdf6315349c934bb8da13159cbca32030aa63283120034cadbf1321a500b3363bb8f32ed92bb32250f0a33000000000000000000000000000000004cab133413005f3ff37d0d3e8ec75d345501333447d24f3f76922c3e12fd783500000000caa3313f650b0f3e930abf3445f23933c669073f216e023ef0ec7133a082f6347f35ba3e60c7d53d20d47635b7c4163256874c3e5b6cdc3d3365bb3143cfa4325ef3813d4d1d603d0d9d4b33e28d0a325ef4c6366dcd8534d705c3320000000000000000601b183700000000c4c53730527aab3093c1523155ddcb30000000000000000000000000000000009dc23132000000008f20e933de8f8832771f0131fe05ed3039f7d33038bed73084406135b1268035431cc735a2adb6352fc40433316ae33273a80b33a198fe329e2efc324f591535dbd5a7356b19b63523d9b7356e43d035760d163619680e3652987e3449f96334e7216835068a9d35ade2e130d7f1383fda00933ec3b3ac300000000054a0273fc07ab53e0000000058801731f92a083f6e47a53e6544313246f0d030e098c33e4e3c963e886d003153258f3561ff643e71c4883ebd4b8a3504eaeb3247c1c83d5036633e47e5fb3200000000403bea3c7658e23d532f7e350793b23521d13e37de598d3a0c6dec35d93c4c3427d067350d20ab3510aa6f35000000000000000000000000000000000000000000000000000000003fada0340000000000000000000000000000000001b65f3374ae3c338b874633c87644332d29a73474a790347fabcc349b64203574113e3376f72833acdb4633a5e02e33000000000000000000000000a69f8f34000000000000000000000000227ceb3400000000000000000000000000000000000000005947093f2e7bf43e00000000000000001db5f63e5a73073f000000000000000041d0b83e9666043f00000000412e373361ab5b3eca06f03ec73b37337c9e92348701c43de096d33e36f18834e547343395386b3da8018e3e21b52f3300000000db70993cd961f83d000000000000000028b5c73803bc803a000000000000000000000000f142e53700000000cb8f283427191235e43011369ea4c33527709435b53ea235e442d535fe7e9f3500000000292e59330a115e35771a3c35346f1c332a0400331e320b33b5d8093357178535972e6235a11e8e355a4a6f351a8ac1303b07d830f2f4cf3007ff903079b696327d8c1232124fea32cb7d633200000000000000000000000000000000a0f051314a76b131dd6daa31271bfc316ac41a34e11fb13eede02a3f045e2934ba5c403512ac9c3e11b4343feb046435000000005d683f3ee9912f3fe0aaea343778fe329ca2bd3d88c61a3fecbaf4328dab153545f6463d880df63ed8ee74351f250431a18d0c3d29329c3e6708a63073e38a3178d8a73c8ced0d3e2bc60932000000008c05bf3929bcb73b0000000024f0433187935736f1b3dd313471a231000000004a711637000000000000000069ff3d3233e001321b63c53257a38d32e4b5ae32ccd219330358b13271ed8833cf651432e7e90432f283ed310937f43125307335ad1781350f5f853576429635f8c34533c00b773331714b332a24de330000000000000000c3471a3452fe8134b47970350ce79635ffdff835e70af43539f670344a895c341364493452d7a9340000000025ee393ebbf9533f000000000b036d32f469183e78be5d3fcfcd1332d604253375d3813d2b72553f16a74f3311b5ec31ae725f3cc804323f3bdf123274b7a2356b2fc83c04c5063facbc4435639a9b330deade3ccaf5aa3e628e3c3300000000fb7bf33cf1861b3e000000002cab8135c212b23b69a7d53c318b933577714a347e4a7b375e95ea36393c633498a0b832aecc8c3269bbb532ba6aa932d84894349d247e34ea189334984d8234889012358451c934e226ff33ee83cb3415cdc633420ca6336df5a633d83be033a39200352120d634b152e03449c5dc34bd26d834e2cc7734b0d50a344287ab3418792d347edae9331b2dbd33401e19340000000000000000000000000000000000000000000000000000000000000000a08f993214e5143d28067a3f37cf5d32247a8d34df43ae3b5d107c3ff82b5734e46a4f33e0a9873507b75c3f5ae240331a1ba033a586dc38e9ca323f4733a633ba77d234b66ae739420b073f79c5d934c1201033a986693abfd2b53e893345341be646333858093c3463323ed7c4153400000000750e723aaf2c673d000000000000000000000000eeb50e39000000000000000000000000000000000000000008512835d496c834f171ed34c2b7ed34a665223136f33731d30f2b3141c6f230bb785c3373ac34334244b4335b49b134bd30b134b4f23034821d123518b7393500000000000000000000000000000000d5a13334520a1a3470bc83346b92b434b6af2734f276de33ef24ef33b84311340000000000000000000000000000000000000000000000000000803f00000000ae69c33465c49b3599d1743fe9e0bb34575b61310f4b3f3146bd513f1edc0e3188503333c1bd0f359b0d263f9f178a34e9f42e3499d7ed35df22e83e84d4863500000000000000005d9f8b3e00000000fd890334a6948f36276f013ebc6e42349381b5330f79cd335e258c3c7fc7e133000000000000000000000000000000000000000000000000000000000000000088d6c133ad6f44345ab97d3458978434abec8834dce78234a2d1a5343c29a634e3ae1335aec71b3530788736047369351814f134f75ced3407990f35eb600c35fc4454354a5b18350e124435456c3d35d7a9c53094752f318b150b37e038e0310000000000000000cabe80370000000000000000000000000000000000000000000000000000803f0000000000000000249b4b34165c783f6eeeae342919aa3407198c3469ed5a3f0fa247371e739d3440d531351486333fad558a37491247353ef909355302083fa81e1e352e182f355f062935030db93e80774235cc673035c0c7e730b3d44c3ee7bb7133dfaf5c320000000006ef353de7ed6736ff438f3300000000000000000000000000000000db70c33431e92a35c16bf23871d9e4352b82d23252f96f343fc6da34aa43e2346e852c3257849e32dc7c843488a39534f854bf33675ca634dc06ee3505b7de3543a7df34a2900c356b437836f7233535e42ba83434ea4f349d59cf350110033600000000b51943333926cb3423f92734000000003c657631f82bdd3396b679334439cd358ebf2c35a21b7d35bb880d373f4f0535eb0d773f710fd73ca24fa2356a06d0333c8b553f662c713d9ae9af347250433245e3363f776d613d9b5b1e34c2f43b34d0860e3f1ed3883cb7ae7c35f48ad534b3f5cf3e2ba2923a32d13e35bd521c340c25813e22b3113afb0181358b7f47339f14cc3dcb9cb13af1406c33000000007c9ea233ec4c623b98533a34bbcf2035cf8e193515d5613a1ce61f388a66a031aff436329e88063ad0cd133672d94d33ae5e0f34fcad8139027fc834d32f4333a5136a349e3e47371287243513c1f7349878c8342b214b3778dfd134b95e55342821f93278103636e98f52336485b8345a878c3453cda035069680355d03ea3497038c34b8bbba34b5c7103500000000000000000000000000000000c3b35a320000000075f4ae327c203237b8cf07327d98503f1e5b0f3ec6615b3148d77234406b343fd0fc473e00d1253361a00b34eaca0e3fd1b1373e5be1863438d7bd34c768cf3e91cc283e26b39834a5b261336ee6823e2eb8063ee2490a33a3335b345f6ab43dc06e083e2f82093576d28734ecc5b8341ae8fa3d0822193500000000000000002254243d000000000000000000000000a8918c3a1df10b3800000000000000001a1c0a3b0000000000000000000000007473ff38000000001b9b0c34091095332a893739b2a779341839c7342bd29e343aad6537b7baa534000000000000000000000000000000002ae72b3576e0003530e018354c0b173587610b34569381334e54ef348123243500000000000000001faef131000000000000000000000000004f7a31f83f473700000000d3002e3fe1ed9b3e0000000000000000df010b3fc01ab53e000000006a1f2433ffded03e1a5caf3ece099933b3ccb334b863863e36c3a63e79e46e340000000052b0cd3df92fa43e000000003bf706353c5a0739a9a39f3e2a631135b89475337f644c351565483efccd723400000000000000006869853d57fe04330000000072523231b955c53aba34d737cd7d5135dfbb5d351e6a303bac54f235000000006bf31333211f1a3a00000000dd154f336aea4c33a4833d39feeb2d34a9799d333511ba35d09409366e53ea35b5057f331014cf33a02ad833e0bddf31b97f5034b41f013422cb7b356f2f0936f6d7eb32b217b532b7c9293377dfe533281ebd33000000000000000000000000ad85eb35dca87f352eb0fa3534e6a13682df0c3592d2033faf2ef93e31e19235435b1f33a55ac93e5814063f0000000056bf52321d1c823ec685053f99794f33aaf04a354afbe13d693f043f704f7a34929f1e33379ec539e0d5003fd2198b33d3adc233c5fed7359992c33e6869d235aa06f53175b782337ffa6e3e8a9ff4330000000000000000542ebb3de546173440c196354941a8352c6e5a3b3fabab368ba7493110b21d3291e1273b00ee5032fc57c631afa38f3388dd97393e55b233ed4f5b330100173412662b3548d9e034f8043d3573f62435de2d1135acde173500000000000000000000000000000000e673a034a3a885347a7d8034e035aa3400fc6e34b01f403386d00e34feb2dc340000000000000000000000000000000000000000000000000000000037c8ae379198e43188deb03e4791283f382e73304e1a2e339eda7e3eb8a2313f0000000008a68830539ed53db20d353f9a475f33fc50243579697b3944f1313f63b80e350000000000000000b147163f0000000000684b344ffa4a348059d73e5920be34899e873369535f33b0fe833e168180340000000000000000213be53d0000000000000000000000004027ab3c33f1b237840c37345f832f37c531ed3a74ec933100000000000000006ab9753700000000d94cb334e3d8da3477ba0b352cbda3344db85e35db3c343587e30c35b42f3235744b273350630f33e426d93206dc0233c5d7d134d4b28a34e089c63479f2b03497573934e82e28343df2c134d33d1e3500000000c64fd332949cb6332cd78434000000006885d13023a0bc31d080963736c24433f002423ebabe503f0000000000000000d9c9d63d1f815c3f00000000792b02355c74f437df88623f174c8034d2368c352a5fa9359d22493f85bd9d346aea0933c86fe33234161f3fd9168e33acbaa43443765f348335e13e8cfdae3482673c348e9984343be38a3ea829013500000000aea849339c04db3ddf73c23400000000875d9e3185d6513de6c65f37d007ba35c61694370aa356384fd4a935ec128633695b23344cf34e34823cd132c4ce1c34371be3338c77c8339db28633988b963443809a34b9308d34ca5bb8354bec5e35a5f82a35f39c0235dfb62c356b719f3479239c34629d21354bde9f35b45ac6331c4f913220ef423275dd5834aeac0135784c8c347a5f223465f2d4345aaaab356a9f8635c013be35004bb63506d12e366285223d97a3763f649a03351a790c34b4417a34da35803f0000000080f4c633963b86337f92673fc8c2ac339fc99334020085359c14413f28b2103511af173576fd1e3589dd193f52194935eb978734f2f16035ce21de3eccd29b3513078732b5a2c933315b733e073165348e986f34e34a82340c55e63d494d113586807f35ff5da935a841433c96427b350000000000000000000000000000000061b396340000000000000000000000000c9602333f615532073c2e32d355f13399306b35b8d7343571af2e351d976335465e8935b3b80d350b31d6346731173536bf0f350da84e35be566b35aa1d6f354b60ee347bc49034366c9a344dedb934290d07352ee880348a0c68343bdaa1340000000000000000000000000000000000000000000000000000803f000000000781e13200000000e8f6753fdd5d2437865d6b3210dc1132a4b54e3f00f0c138000e303567a33735353e253fcf75b1384b1829354856fe34f8bdf33e3f672d354dd11635e5e32b3522769c3ee18c493658a78e34c9548a34320d193e1b77b334f02f8e34b5fc6434b7910b3de259a5340000000000000000000000000000000000000000000000000000000000000000e01e7c345e619a34d7f41e3bcebcc8370a1f973428c38a34c2a63d3a98d53137506cd33387f0bf342b9a163b03edf73787c743349fea5c340433503cf449153748110434e376e733f1cd143dd33ce836eba00835939d0d35807d3e3dbd5f303400000000000000006fb7473c0000000000000000000000000000000000000000000000000000803f0000000000000000f2648c349617683f3267a73ca13aca344f098634e878493ffce1423de85a673451d7c43431ec223fc69ee73a55d0523438e34b34765df43e8c63303a38c68e345abee033c1f1a03e488e5238df2fc13301ac1e356e67003ec6498637b25bcd3200000000e137243d586523380000000000000000000000000000000000000000b4f636329cbe2e3231db9a3ba0ef2038dba5b7315ecda831fe342a3ba81ff0377a2cba33cfebc633ea43b13a4b1aae3814597b332399b033582c913be78751370ec89531a1638231faf1873b67d4a737b17d0c33f97a0e33e110113d1e204036010e9832b6c3d732e3993a3c7f59243300000000000000004ce21d3725678d3800000000000000000000000000000000b7553c3254fe633fb4954e3daa482c3224faa931d057453fff12d03d69019131e3a1c533f3e5203f4e00b13d559bbd33cfd1b3331d31f93eddfb013decb80734927a7c31cf20b03eb5b3eb3973ec4e3198b40d3387513d3ec8425639cb6218336818de325b2c5b3db5bdb33707e1343300000000f647e736732a973c61464c3600000000000000007ef3923b000000000000000000000000c81e933b57783f3844bf1834158e3434b4bec33ba58d6938dfda1b34e8cf7134989bad3b666a0138000000001fa291337d04923b5c714038a0f7423415b35134c991d93c20418c37606cfa35fdc80536038cb93ab6d60b3800000000bc10463312b82537e30c6e383aa336347fe24734612b87345bdf9638948c82346f4e8c33dc89f831b8ecef3700000000f915433f39f5133e00000000782324342e581f3ff921413e66275f347f3a5334d972f93e5a21323e647b2134000000001f65ad3e6cc1193e00000000efec3c341dc7493e8982f93d5ab09534158bfd354eae4a3d4eccfd3d0000000000000000f9ff0f37c150f53d0023ed3648dd3334c38f6d349e0a1f3ddbe27e38ed78b733948f0a3260b74e3b6a9e963cdb55f13200000000e06c0c3c300f393666321e3497313634d69bae3c507422380000000000000000cfe08d3c44b101380000000077c57532c2ecd93c513019379f9c603413067534fbc69e3a61050f370000000000000000c3715637a4b33a381e445b34f1c3ca3499ac03352be58f385a655c34775a82347a2899342d0990380000000000000000000000006e36c13806c9d832b8171d3f723da53ee339bc3365de2f3475b3f03e1d6ca63e6160533400000000faeeab3e619ea43e000000000000000091674f3e932d9a3e9e6fd233df2b6a343003773d4f76a03e504db83400000000fa17913620279e3e2b0d2934226fb23483f7f23452cc6d3e2b836538570c7734935b93341a9fde3dbad6463800000000000000003997d53b0ce9a1380000000000000000835b443d62877e3135b6533116d089314c8b2d3d3e2fea3784733d34d38d56349b7e0d3dda8444348776483477b17a3459db83394aa69d3400000000000000005c0c0736630f9737d9658a34d5399634b44baf343eb03c37454aee33d88b2234f8f64c34dbbccd377171e630da4e3a31cd3c5c310a3187380000000000000000000000005afd0b39000000004b5fe53e504cf23e00000000804e8031d152a23e9ed4f63ed1dd493137ec5834dd01483ec4acfb3e070d3a34f9978034122c923d6c45003f8341a63400000000569f43361377003f00000000881e9a34a96faf3498a4dc3e3c348e3421632234af1352341b9c913e4bb34c37d77a2331709b47317c4e283edc2c2738000000000000000008ab173d535ab4380000000000000000f00f9f3d4f123a3886a26c34be1d8734740e8f3d1d285837ccb920366692533649ae113a35d74d370000000000000000e174a73781281b38e2e6af34e3589734e2d7b9341c68dd37322107358447903455c21934fa86e237000000000000000000000000bc597d38d1da1434f318203418fc4734a5c508392025e73458b45534b33dab343704863800000000c64f923e478e223f000000008cd07b34e2162f3e9712283fe6589c3466b63b364b76a43dacb4303f5712ee34000000008ab6a4377cc6313f70c0a334b8a29434cdd6b2343cf6203ff39b5b37a4948a34ecda3934d055f33e0041b3360000000000000000ebafa93e80e6ec37756d143467ad353486c4423eb81fcd3719c5733471123f34c4767a3d99700a356a217d340ded95345cffa23da942693475f9693446258134fa2ea33c26575d370000000084bcbc348da93237abcb133800000000000000000000000030cc6a386acd6f345a618534e9798e34f5c54f380000000000000000c5d68e32ea85b138efda7c336c09093490523134b8d5d238fccf2c34db0446345ccd5834ce28c7380000000000000000faa0bd3646dea2389b5f6934ebbaf93dcc47483f0000000024647f34e9e9a03d00e05d3f1f158f34a15bac348d866937ec11623fb7b45b36000000009954ec339221543fa7334f386197843416549234bfce283f6ff90d380000000000000000610d033fbbd979380208e93312a31e3481e6ad3efce7a2384f1b403450135734a677403e56c1203800000000d71c98324119be3d53ad0c380000000000000000f446e53c000000000000000000000000ffc58e3799a13e385b7b1e339284243302e93733ff3b4335b2dc1d33f9600e33feeb193319fd023843888d319f184e314e2248310df33638a801f0339f5afb3375a40a34844a2738fa99bb33c85eb23301dcc333d1c019395d0b04326f13a5312909a5316429eb38dabdc932eeb55e32ac9115342fd0a33800000000b22b283d59506e3f0000000000000000ce35db3687da7b3f11664536bad327337ab13633d229703f6baefd3206c915338858143337ea483fe5df3938ff156231fe5c3431c31b283fb33bee377871003497f00a345e6ff73e205fca374eadbb33065ec133e5e1933e3e0fbd387ba1c131814c8c319b8d043ed2bda1371c278b32d26d3b3253096e3d7b2a5438000000000000000000000000000000000000000000000000000000003d9d0b38bf85bf32cc3ebb3224dfd032b962f737ed43fd3330b2bd33d8e0bc33e85425380ee47b340f9f833428128934238b0a38048f9733eefa9833b96e88343d2456395fa6a034aed86b341e3b6034b5ec743810eec03471fac03479f9c634f380ac390000000000000000000000000000000000000000000000000000803f0000000000000000000000003068733fe8a32b387193c13206e0cb325e2e4c3f0f2b153daf90ce33a98fab33e3a3273f52d25538911c8434c6db8b34c6a7033fa68ff437bb7a9c33141c8734cd89ba3e652b8f38caf68034622f4d3491622d3e3c132c375ccec534ab99c734a910983d7f46f0370000000000000000000000000000000000000000000000000000000000000000c46c5536617551364ef6f7365e57563767aa113760ef0d373ea0ee3739412538d6fabb36263f80367c7aae375c600638e9a280374846423785bd0238f75a1a38d91d2a37648920373a0ac33793dc0038a4e69337573d8d3776b4d137cbb0cb372e9145375a5360375ceaaa372980a53700000000000000000000000000000000000000000000803f0000000000000000b2524e36d9f37f3f20b79c3709731a37e6840e37b362553f268361387edded372ad4a036c7e5293f3f1d56383b828837b82c8a37ef9dfc3e8d1ee0392258f337bb272337ca80a53e6ad9343871c0c237482483370a391e3eebb00a380502a137bb8edf36dde05638385df537365b343700000000000000000000000000000000c5b71a36848e4e361f01f437a2f700384f1b9f351c8b9135a57a5437666cc237d605a836181298361e806b374c25033863a48836d75b7c36dca5bf3776913538ba2b1236104f10365d329737ae28dd37547424373c81eb36f49c95375fd8bf370fcf7936eba85636e9d3b4372d8d003852913636cc613c36ab84b1368cd7203776550a37563712377b6c5d3790cb9937db6bd435aaba7e3fe6539a3bdf1e6e379c9380353816763f2025fe3c9894f83670e795367a9d4c3f0163f93cf63b46374aaf7a363bae233f092fc63c542aba3794350a36b4b7f33ebd869d3cdb2394374edfdb365cd3a03ea59f8238b4b29c37d7014d36bfc01c3ebbe89738a88bac37a4912e3634f1c1374482c13760baa0368abfaa36971b39378708bb37c9209a37b17b00358bd300357f4a9937533f7437e3e99135c8948f358f7e9336d8fd413794573b361e762d368ab1aa377de402384b3daf36457ea1365115cf376e722b386faea0360f0a39366a145237d59cc637e18b543728f9193752ba033877004c38d76ca136629b9b36b456be37f6760038f6334936220f6336d396183713ab3a37531d4f37f3f8483763af8b3706d3a03760e5fb345a66533f4d45323e39e501356db38d352feb4d3f928a413e53849135ec021a3674bc293f4417343ede905f3759cd9936e7450c3fd1d2133e8c00b337f80cb8353fc1cb3e0edbd53dbf1741378680d536f016843ef04a653d422ced37b06e9536fd9f043e7fe4883ca8fe7a375c85ef34abfca83786daee37fa730437f85e803649837737857fbc37bf389737aa9611379dda4837ea1730386c16d137e9ea1036c0e411361996813728888d37577eaa360c65a73623aa4237f70b0238891ae43526b0ea3504fa10385c407a38a339ee367b2189365ca25e373541eb377a3aa836245d9a36b75e8b3757eff737ca78b437a8a5a937edca253863b837384a0f8635a6089835f6601b3779fe2f3777136a37efb96b37e978b9379df5d437a3365636b3f4283f9afcad3e377d253772ad0336c671253f4e79b33efb279d3646d9a236a9860c3f1295a03e2adbae36f470d735476ddd3e8706813eb65b27370941d73558f3a03eca583d3ea2cc28374ceb92362a54493ea08bf13d20bdab365efa0537a024ab3d401c563d160ee337511f86352e887c372e2dce3704901f36505f8636c678b137000c07387f33a5374390fa36142b8b37a7b3163881c5e1372812de36f7d51737d43d0538a1bb0438cd1c27362be21e36cb4ddc372b182838ee5492378af339377302cd374d091c381e399b37844c81373b190338b9c832381854bb371db896375d40e3376baa123894b07037ed832137d8a5083812992a38d438b8378653b337c2f80238c567083810569d3715b99337223ed5377cd3e3378e078636e53cfc3e76cd013ff8cbaf364592d8350778f73e4332043fcc019436d7041f36430dd03e5fe8e43e78c62636b361b836dd3fa33e58afbb3ebd538a3780c42d374e306f3ea750883e1636a0376f3f5137e41a093e86dc383e24c8ac379b8e43361479533d2cf6c13df0014d37184d5237cb351e3876a85a3813aeae37e00905379fd6ce376f941d380042a537ee3ffe3613fa833771eb07389153c037fea3a0350c7592359c37f636c3bf1737c3558137a6d351373524fe37c0322e389529ab363a269b36a0d803375128e0371f123837adb1063762f73f373e63cb375879cf37d6be2d3799da0738226a63386b0a513775821237f9b482377f70ed370a66473720e63a37f344873713d58b37febf8c37cd598937e3b4b337c62eeb3768777a36b278a63e72b72c3fd4836a36dbbf8a358fc6a23e66942e3fe1f37235ea2791354e028b3ef4a3173f50972637182d98361c42523e40c5f53e83a89b36d724be36ba37133e0abcb63e3bf6f036a9eca536be6a963dfc9f773edf1ce136b5b3b336f373de3b7da9053e9152b036bd75013786f0ad372415463b373e1a37f3905b373ad79f3715554738172c83379cc765370aec6737a94db9371bcb9a37c5b597368e11c6351fcad636f2931637cdcec43649ad9836782dc836ec28c137a565cc3709ea8137b626af37bca31f38eab350375a941337b7352537db3a9237fd7ce1376abe9a375086b5378adc0b38d3ecb437214480373a8bb037f085ec3731b092359a499435969d563607c91e3793760f37261ad936b62f3a37cdc543379cc4033786fd213edd75573f57143b364d95e234870b203eb7ef573f4a38d934a8239636d417153ef143353fd4b7903697346b3778c4c63d07bb163ffe3c4337c9200e37e60b833d85efdd3e4069e636f2b973378ee3183cb9a7983e445c2237e23a44377f574e38f2c2243e149e1837013c93356f9f4337cbded53b66fe9435c7c54735b0fe15370b9bd037e1bd4836235a653768ea37370b43a33713208137d2384436982d3b362151363664c86e362f419837b65fb136824152368314b1374bde9937de2046371f9d1a378f99af37f251993744ffe6360ed8c8368839bd3703d8cb3795e68037c11a60378b93e137dcd9a23790643637b04a3437ed4ccf37032480379bef043773686737bf878437f4d6a5379a2196378e3a95371c989437cc7f333751cb9538c6f27f3f383b98363280443693650d3873f67f3fabb521363fab1437d5059238b7be583fc7a34f3650c173375d2b36389c852f3f678d2f3719863037a68e0b38c829013f52142c3750e68937d8105d383d24ac3e3dfa7b3714123f378c210738be322e3e6df91f371099b7362773a937f678f73babb8c03535247c379b259637a31d2338c0572637000000000000000000000000000000006df921376aad67362bf18736e68fce379efd9e37d64fd836436cb1360c53e837b849b237fb5d2637ccee1937ac960b380050fa376f5d9a3770bf89379dd26038e42bbd3774760e373ba1033796070938b92a0b38fcaba837eb95c337a0b229386eea583761870c37c6393237ee915a370000000000000000000000000000000000000000000000000000803f00000000dfa0f036a046ad37e6f27f3fe1c64137f87d6737606fcb37e25c583f48a6cd375d8859372da9e03761332d3ff187f037270ad33734e50b38877e013f13830d38d04c2737ebcebc37f90cac3ef368f637d6ebc6378f50fa37562a2a3e852c0f381278203792e11a3728bb0738d3fae536000000000000000000000000000000000000000000000000000000000000000069009136c9e58c379ff641380421fc37da961536f8b522376fa1c938a06a2238272e6836dec1083899761b397198703893082a352b8327374df32238575ab837a690fb3569ba5b37660c5238465dc03755cd9b379a7d123805f97d388efe453868f3a036bb3c55375427b8376916813700000000000000000000000000000000000000000000803f0000000000000000f6efba360cbd703f854eea38d18eaf37f9c6d4362e034a3f9aa5f1393ac89437c10dca37be9d243f4372033ac904393864a7b1368e60fd3e6356bc39bf497a373d43bf3654d4b13efcc1cf39385875374493a1370b8f4d3eb0e1fa38af440338cee99a368f664a3d3b75da3724510737000000000000000000000000000000006880d1351f8a4f374c4e2638d176d83797b26136ac741c379d311f3809c50a38b1719036f1c3c736748763383e9d32384dc0c7364feccb3607d23c394b43343811325f36ff32ad36ed34c2397729903923d90536a2852a37b2585e390ad413399338d536dacc2c3709d0373854d3273827f48f36f681923631ce1e38d6de04380e734437b0895d37fcbfe2371d331238c808df3597266f3fb847863da2f46137ed6f673650795b3f5fef983d633eb737efb6ac362ae5383f6c86943db845be373881c936bdf6163f7395833d8a02933728d264366dc1e93ee0a7613d2f5ac637d8e61d364f39a33e883f083d4e260a38dad2d236841d3d3e2508453c569af43705d98f36404d313d3cc0343aca8e6d378d2b3037140c8137e5088b388f400838aee9d43661397c3788488838700ab5372830383610f4423610a3703bcd09e538d10d6b36f4437436495f5638dc6443385c890136e3590736b5801b3abfb7013ac89da136e5774b37895b253979b8a4385253cd36c9d0f6364da584393a281539cb339536c8fc4a37462345388a5c3a383058ac36cc3088370b80353849642638e235e9360cf636376089043825740d3893d51d373249493fbb945a3e5b1a6c3790eb3b3650e8383f0f4b563ea72a953670147036d4e91e3f6e68453e40bbcd371fe30436a59bff3e83e5283e60b69a37d979a0368a00c23eba73023eaf2d0a38113cd5362bdb833e14b0b83d934a3337f0b14f3690d5143e0690573db45bf937968fab3626d4af3cacf8613cb3a6f5379437dc366d49d937861c4f381d880238ab27e4365ba38f37898a5b39fda1cb37ca0f1e36f4fbd036deb5623a1fa41b388b4865362fd0a6369d585b3ad1d6153aa4050237db4e0537df48e138ccf92738a8fdd4359cd39b3649bf193aa960d53935d7e536e0e846375845003af837b4397f7fc636cf54d436c1b4a73964b2853810d4a63672ba2b3788086939983fe43794508637c4bcb437790620383c2b233891641837bd20243fa986b73ed87d453708302636c0ca163f6dfcb33e400b3937b3e079363f04003ff0a8a03e2ff718374ed70237ea81cd3e3340853e583cc037bf61dc35288a9a3e07424c3efbb992375c1be53679034c3e1a5f153e2f38003880b5be36ab1dd13df6c5b43daa0e0a3822b58236fc0a433b87fc043d5fe36c3744f33437b28f093846224e38d5a61138d4331c3776f9c2379318443aebb81538752f2237797538370d67483ad80f023848cb1237d5eea23759cf7b39761e1c384d293f3764cc4a377f6d0a3958f02738f66f2737cc465937d8f9213a4a40013ae7f94f377800853787dd2d38884e23387550ad373f81d4376a2e1d3870a013381a49643769db973751690338fa6de937db7681374d789637a53116380298253866b035373af6fc3e9b25013f94826f37a2c72737a9fbe93eac30fc3e70c680370e911b37d320c33e9629d93e6a5bda379501403786d29a3e8342b53ebf17ba3701192537e3f36a3e91f0893e0dd5903709a94a3701a0113e1de24d3e1279c237b69797374eb98d3d521e003ed0b4ec3705a138372674fb3740eb4a3dcbdfa7370c504537599ddc372925033afcd703387635ce36cb8eeb371a2d113a61bc1a38c0367136704cb13640ff873aef7c6039d1dca836bb70be362737363ab1b1cf39ff25f23687f31f373cf4223ae92ffd390e953a364be22b3727b9123aef5ccf3947ec0637d5417e37d869293820dc1b38958b0c3777151d37a45e0e3a1c103c39b6d11f37508d7237e8378238831e1938651857370fb75437c4e6d637f5cfe13787e76837bf82b13e4506273f8f149937c2947136ab7ba73e7cc8223f348ee8368cc1a93639b5873ee5030b3ff987ab379e47ec367619523e0b39e53e47a8df37a220353690e4173e6b4eb23e196078375631063715c9ab3d5824823e7789b6375a34cc368246cb3c28ee223e029c1a37b2c13f36642a10389fef6e3dfabec5370e5d403790c29837abb27d382e55bf37a54bde3646adbb374cce8e39a8b50738c662a8361e8f6e371f3a033c4f332e38e9dbd036c2ae5a37197663394c99b1389db200376be3023773039839de488b3937ab8437f704bb37deff81383df48438340df136f5b12437d503be39ec13823982b59237db879637c8b63938a4432a38e799f036d0e3be365b7dc738930e8f37d92e9437e79e8337fb44b6372f55c1376cf2253767ee4e3ec3244c3fed83283783a0a936ca1c413e159a443fdbca913758c5d43629b91f3e0647253fabfeb637bffbf7365645e23de5720a3fb69d093774995a3778e49d3de312d53e2c81f237f6799836c7b3e83cf77f9c3e6ff463373f42e6369468403870a93e3ee16ba53735bd8636a6a36d3759ff833d44faca3601c16d371928883745f783388e94a0378cdd7737bdf58037a7e9463920ad08389a019136b96590366d3d6b3991f45638406a0637319220375e9c32384c5e4038927c7a37640a943764015638ab008c399b6b5237d6452737b08d0b3877129639ffcb04377c21d736a0860738482f28382ab3bb3761a58e371099163893da32382e8bd437949dab375678053862a4ee37a30aa23711b75f3783fccf37c3d2dc3716c078375ada5b3d0e26723f72f95a37024690365c37633d6f6f663f81e9f53694baee367e4a203dd28f433f5cbef7375946583739d18c3ce945213f086c1038d6f82037f9ad4b3b75e8f73eaef9ce376da0d4364ed0083815fcb03ec76dac3779d07637f1f2f4371ad6513e4fbfe137e9379e37fbe3d337add18a3d07caab378e272c3796d67b3702452438b519a73700000000000000000000000000000000703ca1364bcd90368443a137b16cdc3733fdad3746da8d3712d24338d444f7380858f136f47c5f36404fa13714835039a8133a37f655e83698ed8a3703cb1c385f032d38827eff3743bc453889567b3888d5ae37c7641b3707b0f43760b63d3833c4dc3792929737a3bbe7373f0515380000000000000000000000000000000000000000000000000000803f0000000022589736c5d67937a04a733f3db9be3765f697377fa32f38be754c3f782988389b39743648d4a63757d5263f950cdb3895d40237595b94378720013f79b11f383d6f0338e5b039389a32b63e7d667c38b65e2237161e8b37f40f573e70813f38cd689937ebe2a4371e6e723dedcc083800000000000000000000000000000000000000000000000000000000000000000e50f3372666a1397a3d553af83d9239270fe637c8fd8b394267e839debd9e3985af2038251f043a84f76d3a8d8f233a28c9263835b8473984bfff3982fe7c394d33bc37ada7dc395f47553a4995083a97a402395fcad0395d052c3abd04e3391c5c2838ae588639c4291e3a1bc2b93900000000000000000000000000000000000000000000803f000000000000000011cd9a3850f7603f535c513a0779cf3831a90c395e66403fd45ced397f56503993266239147c1f3f6f75783ad675c83998a98c3818f5fe3e6c8e163a6c441a397e981439bc64bd3ed1dc623a5cab9c3947ea8839cd20793ee3b8473adca8b439ef634238aca0ed3d2b97383ad1db123900000000000000000000000000000000c49dcd375b88da39aeaa1a3a087fd5391c43bf367f0c9c389c0a793abd5f9e3996436337e5ce1939a11d063aac98b2393bd2e93757e21439b4bfb13a8060043a5132c4371a00ef38b04d533a567fcd394e092b3705a1e93764db123a12276139b0449b37237fad39ae187d3a80b30d3a0276a637a20bdf386692803a9fb2fd39c00f0f38062ca639bd5b163a2033013a3d613339c1e3603fe148ef3d198788391bed6e377af8463f1ddede3d1acfa638ef63da37bfe3293fa0a4be3da14a433918f20d38f4240d3fa4fc9d3d61987b395839ed37f8efe03ec72f803da2f3343935187d379bc6a73e047f3c3d3f230b38ffc1a4389c2b5d3e4869f23c9306d5394f8fc337e56ec23dd6ebac3a51562139d22ac838cd3c0d3ae414573a27cdd539b4aaba373922cf39a6aa843ae1dbab39ac80be3733cb223994fe9e3ad69c0e3a01eed63623421e3a1cdbb13acee8533adcb33e37b9c2333a22c4ab3a47fe7e3aa3e254386ec3fc396e74593a07e3373a9629f83785329739a15c3a3acf9d113a5d2c9239777e273a34dd803a48cd633af4d92b376580dd3969615e3abe6e3b3a95beb037cfb03238e1cdc1392c52bf39d0feb938e24c403f99d6793e96a3a33859f4163835472b3f3602673ec5455339c696ad39b5bf103f1fa13f3e58e6263ad3accc3918a4f03e14b9203ec3234e3adbb28239a8a6bf3e47ebfc3d47d6163ab1b00c38e6c48d3e1fa8c03d3f58c739b867e239b3383a3e96d2793d0cc5453afe3a05397692b03d079ff53cd057183a6f2ce837d1f381393f70123a6d43ac39b6ac9d37041397396494633acac6aa39915a9037fe68f037f938ab3acaaa073a7eb22f383cab5738e167ba3aaa21423a1cd98b3782c1043817dc5e3a4af0043aa49449385578ae38c4d5053aef2cac39a1fddc387e4c173a7ba3873a513d703abc8b4e37b6e60d396aa71b3a1e88f4399f19363806e4a439e1816d3ad2891d3a01b6cd376838733848decc39f0339f392946333876f21f3fcde9bd3e47da9838a383c93793ce0c3ffca4a93e71466c38142946388588f03ea60d913e2445123923f2ab37e1d9c63e051f733eb1a6e1380c375a38c7b99e3e8fe5413ede4e193944faae39c067693e197d103e1317493a0cf977370aef183e0b0dc23dec61a739d4363c380233853de3ca2d3d0818ef398e4bfc377fd8a139ab56103a2a02813965765238ff045639eb8a0a3a9f90a63957c99837dbf80e38239d983aba7f9f39360a4538f065003a118e013bea76913abb41d037a6201f38ba9cc13a896cfb39b4731d38cda83d38766d7a3a8132243a71ebe43795791e380c41963a4ae6ee399d1908394b08e6394a26cc3a1d028f3a55cfc43769f80338370e373a2b03e33998d16e38f9ffb7380f88cd39583eb7398cb7703885fffe3ea946ff3eeae913392100e437a724e13e104ae23e728511384911703934fbbe3e9c74c13e862b133a0366083872959e3e1e09a23e0cd53038cce12e38e3ec7b3e2a08813e9e9780398a1308385b79383ea63f423ef00836380bd87f3916b0ec3dadf3ff3d7f6a303a2fa2da37641c523d8d06833d604c1839e77a733860088a395b340c3a76a5973996a888373d1920394b7e1b3ab37bae39e56b1938c15b6039b817923c0ed12b3a096a0f3778ede338d2e7303a4085053aac6cfb38d3fa113a23e68c3ae3d9773af3d452381f506a3866b5f9393618cf39294fa737073d0a38709d413af9330b3a7cfb3d3806f35038bd3d8b3adc8d543a99d1cc376684ea375a424d3a7cf6223ac84f2b38e56f65388ad0113a55ee0b3ad1d10a3877e7bd3ecf42203f21bbf83870313238e4c8a43e4b950c3f286ad93908565b379a4b8e3e0a13f33e82db9d397015b1391adc693e1e50ca3eb584493a62eb5f38c3fa393e9d0da23efd5a8539de6abf377f30083ee0cc733eb6f0793919594638d1f5ab3df9d1213e8386d839b043d337fe3d0f3d8f86a33d06a4bf39ecc137388043333961556d3a08e5e0392c6f7a37fe3e7139a428303af8a7a339e63f0737b934c039b63d803a9a234f3ae7c26d39f4a6153af62c873ad85c753a9189063880f41f3979e53a3aa463293a94766039a2b2df39ef01523ab844433a5789c4392df61f3a6e378d3a8dc2853a926cb6390b5d043af7a7863a65c06c3a90a721388d90e938cb5c723acb53283a408efc3785081638cb13173ac819113a508291389f55793e95cd403f7a189f383f4c0e3925ad5a3eba282a3f11f1143ae218db3906fd383e798c113f3668513aa0ba11383ca4183e319ff33eee1a013ab472a3396aa6ef3db823c23e2c5f293a362af339e9b9a33da2a8913e83466b3a20a7ca395cb5523d09d7403edb0a473ae70b29385bf191398e93ce3d4d1a9e399349fd371ffe2b39939e913a53b6de39480cf537a8e57f3967d2663af2c5133ab1177e372bb6d237d9b49f3a9aaf783adebf9f374a9e4139e6d9863a06b8613a41475d37f895af37fd6a163ac461193a5e0bdc374728f0374fc8253a3625153a104efd376c5a7e38cc0b5d3a20ba503a61d713381aef4e3860e9d039d034c73989277b3752f7923754801d3a595d013a5d0a343979c45439ca3eff39a3d3fe390e700a39853bed3d1ded603f5556dc392d22aa37f215e63d636f493f9090fb398bb7a13858a9ad3dc71e2a3fca5e113a1e277f3711848d3d5cfb0d3f77badf39488be4371b32553de9bfe23ec318b239b23b033854ad113d7dafa93ee31ed7398e041638b113a23c9a3f623edc55a33931137e37f934bc387649e33d3766883974b41439ff548d39680c263a897dee3900000000000000000000000000000000fdfc13380cd23a387c9e2a3a0a412a3a6cb89a382e5a4c39839c133a0cd6243a5fc85c38f6470e394436293ab2a1493a09472d382f813e38e558a73907c9df3992a11f385d82d338c47c2f3ab216473a654de3382216c9388ed8a739e786bf3919fa1038a09a1338ecf1cd3945a00f3a0000000000000000000000000000000000000000000000000000803f000000003a652b38caf6b939cb25613ff4ba113a90141c393495d6397e48403f4e59183a650fd438d2dadc39eac21f3f4c0d473abc92353899f72f399d67ff3e8a18cd3974d721384e7ed5390dc0bd3efbad483a7f5c9a38601d34394dfa7a3e1958c1391f0e0e38ec8c7a380015f03d12e70f3a0000000000000000000000000000000000000000000000000000000000000000fd661035144b1035f4148a3642423137e0c2953511858e355b8d5636eb621f3876aba336f8a38e36a01f8f37a03fc537f10e0e374f46cf36743c1238a18c213801d24b36dcef563635210937506bec3652273537631f5a3774c6c537d39e4837931cbe37355cee37665111382d84c73700000000000000000000000000000000000000000000803f000000000000000000000b35eda27f3ff741f237ed3a0037ab2296351031603f9cdaee385468fd37018fdb3608db2e3f7aa23538f45aab37a79e9437fa14fc3e0ee27e3846710c38ec629a3652459b3ee52c8538e472a33623167537e926e23db4495e38be98dd36ecc99e37c4f6993839104e384d687f3700000000000000000000000000000000cf062736eb3f2d369d1df837ed6eef375451b335722ec035df0afb3501c2d13655fde635cbe9e73582e2f136c9c6f437e4ecb036208fab360a5f143798a88637df9a083627830736dd47f037c06e28389a140d3668a80c3687efeb3615862637ec315936df285d36cc9cc13663beba361a4cf4352947f6352defd9369568d43603135a35fba38035b6d1a236f9f53a37a2b024360f757d3faad21e3c925e8f37fbdbb3357e87743fe3fb0e3d04d011368fdaeb35b466573f8f848f3c73b1ba37f344ac363533283f5440143b2cdd453795e309367d3fef3eb6eff03aec07123880b411361c758d3edb6eb939bb88ba36fb2b5136f817ab3da99a4b3ae6bf88361843f235beaa3838a9c8823811ed5736f6635c355de83136e99e1a38dcbe5c37160863343c92813468b3353884560638aa161336f7e11e36e49ed136ff0f9737a8f0a436f77cab364f43183727d1ce37f4238b35fa49913587439335d0187337bc24f335751e0036a6c48f3757d8f23792021436b2562136ebb2353899e952380d939f35c802a2354b99fe36e5321237202db5352938bd35cdf32a36da7c0a3703d86f35b9e4753570dc9d36855a4b377de65d3455195d3f858b0b3e44fb5537426a1636e39b553faac8273e00522b36df3f963634bb323f0c32263e1a37383794728e3576fc0a3f5fe0143ee07611373e90f7357e23c63eeb32e63d2528b237cfb801366a59603e78be983d7d431e38981fa035a6c3893dc3fd163d22050136464cb93551e864378b702b3a52a06836215c6f35b3b4773590306938f4ae43370a9a0e3668472e3630f6d137e09b5f3715402f3540688b35463b0a388d39e137c2b49d358616a0350ddd47360e3abe36564c133681c9143626bcb3361c393a37f083c43572f91336216a203875c4383899ccf535fd5f0636fbd2e5376905ea37ddafda36dff3233720e92338b31cbb37bdb99b358df4a135484969363f784e36ae2c0f35059e0c352759b2370511c537d805e735e61e2d3fe0a2a53e3b813f3609b02f355b32263faef5b23e0f06e73501ed9c3534ba0c3fa590a93ebac6d33582260636fc51d73e4d348d3efdf7773639f9c2355ae0923efcbc543ec2b5e3370638ef351b43213e7e990d3e46341937ad474636c0e6d73cc97c8b3dce8602370edc9635260a3337d2bcba38403f983512d90b355c9486371c058338a4eb3437f9770636c7f26937fe9f6f385dc98537a25205369b700c36637a1637f60f1036a50582360cda88362d0da5368f97f7360276633697566436b91d8e364af9ac36c3a787367608c736cfb5df37a2a3fa378b8163362ca96436f980033722ad1337ca4da836e19f063769ea9b37da5351379b850e366bc71636971d9437a4e436378dec3d378afd52372afabe378a8cba371cf6fd35d507fb3ed372023ffae8043698ae0636e985ef3e3e40083f94d30736936f6d36190fcc3edfaffc3efe0f9936ab986236940a963e1cf3ce3e17a76036774d7c3644c5543e0da1953e29623037510366368e01cc3d393f503ed9c860366e809f36740d063c6225cc3d795698366d610c3684c6fa37bfb85439aa6c0d3670be13367ec2ac37665dcc3885386337f6290d35af57ba371211343856450c35242487350539993504a7d035a3e39f357884393646ff59360c99e43637950f372fe80d36aa340836ec91cf366da159378244d0370a7ab237b24f07385f391238c86a9636f8cb9d36b92b1637bfb30e374f875d3658868b367a850a37fd1fc13653649737d0c6b437ff45273870fc0338292d0c371bc2013759978c3751a76f37d921093594b79c3e1b9f313f4bfb0a35093c8e35f2f6913eb303373fab1d91355473353619c1753e145a2a3f89723436765a05363f2c2e3e33be083f59d3fe3559716d37d435dc3de5aecb3ede352637b7063436f4b72e3db788853ef9112436d2a5eb354fbfc238b1f2f33d1737bb350d967336346d6238ceb6943a3a04e3355bc25e36d9949b37563212383df94836f75a3f3665dc67373dbd9537f6907a35a765b7354dceb83530c9be35d7a1be35157f9e359ca4a03552bf9f35918d9d35dbe582377b3f5b37ba0296368f92c936e0f1a23751934637f4f32937ba175037abbfaa36c73c4b363970943546848f354ae18137c3817737fd91aa375b0675378e3282369f01b336fc9f07387b16f2367c645c3702d49837da9e0138ab446737c79b783557f5f53d1737613faf71773565deb635e501d03db0db653faaa2b635bed29d35f234bd3d80b44d3f156f9d35cce7853763ab443dff7b283f73a61a36d65e4d378e80bb3c889ef43e876a6d364542ae351dacb5392e769f3efbf08e352c30143799f2a43959660e3e66abd23672fa2b36d2d8bf388c5ded3ae3011d36a33fa736e6563d38d52879380199683413721b3715f33d3782dd343700338d356d30f7358b70fc35a093e835b21af335aa005336ba93563652d53b368e024e3677bb3736a63f1436c2d00c367ed00e3696f4df37e362633763ed6c364f7ba73735cf293706e10d3766d900370d6c14371c806e37dba63d374fbf8c3761444f3711e31e36ef051c36b46b8d3697480a360a943b37e0774a37f84e8c37dd6fd036adb611372eb3013a4ae17f3fd3693d358fd4fb358ffa943861fc7f3f6af6e535d0f05c3676705637156b6a3fdc3045369c8e153677e11938682f393f39b40b36e75fba375489753883de073f2035c736618f1f37f05937388173ae3e5ceade369c6a3f3795b08b38e752103e37abba362d5f1936f8a780375fa3253c66c2c735a7d591364031253870c6833885e7403600000000000000000000000000000000295817377b8801366726e3352cf2a0375a58c0360ba642365e45ca350908e136dc2b5f36161d02360c7af535cd05b1367b5bfa3778308e37916e513754aa18381471af370e5183371c1f69372b8ec837bb0dc337a8b65b3756facb37baaa003840ca0e37e663d93645e451371ac453370000000000000000000000000000000000000000000000000000803f00000000fef38936c19ee837c2f57f3f72ed8f37fe11a93657512637b4af633f2d7b7d3788d443368e928437825d323f509e8c379a69e337e37330384fde013fd1e222389a409d37ccc1f1374f2aa23e6797bb37717fa437f5eaa038c817fe3d8ff3a7372aaebe3668dc91379432a83a475d973600000000000000000000000000000000000000000000000000000000000000002a139236f0d41037321d8c37bcadc03738dd0e336efb3733da4eb6370981e13741e383358336a0356cdc20383737fb3707e0cb352e56183630ce1c38de201237b9d8d2339d21e633868f6537d1c3da330b877835a1eccc3730db1c3828ea74368d69bb359970b635a243ae35ef90a93500000000000000000000000000000000000000000000803f0000000000000000000dec369a787a3f319c083a8b587537e9142a33ae87533f5488d3383b785537aa669f353286283f3a9299381db23f37ac481036801cf93e467db93841f357364295de331c2fa23e85f5fd37d861da3318578237c22e153eec3f2138cbe533353e6ab73585c7663825d20437d61ca8350000000000000000000000000000000016ecdb3476bab2355ef749386184103884ec5b3367615a333b46e236eaf109377d3b8a332a6c8d33ba06143579989f360e5b0d35ab432d35af6a6c373b8bb037273880354e55b63595040e388bd6f437b24f0c3488d80d34b8eac3378c18e63606f95235cc7e5d352ccb2d3877b9bc37ea0abc350c7f01363ee23a364b6b433606298b34e82f9634d815ee36c3dee2376645e9349875753f791a263d01ef4b3761c25b336856643f809b973de8699f36489b8b333fb43e3f729a733d5fff1c35e0a924356343153f1cfb3b3df9966e3554ffa335b2c8d83ef75de03ca85d2037a2a40c34f49e813eb3ab7a3c2d092936ac9f5735dd92b23de4d8693af95752366376d335b557543635b777385cdf4a3670e68e34dae66f352c8b8538a4fb1a3839a7b335de40cb35117c8a38465d063871df76355be5eb35708f153818ec8f378f0a1c368cd14b36c0eaa337b7139c37bf3e9833555e2f35747e2338b4552f38141f04364fb44336702eb037b18cb737ccf8cc3552ba1b362df43a38af561a3824bdb0352773d4353415113803a9cb37b2704236cac85b368d3dc03739c41638a43e2d35918a36355a2c9a35765b593707c5bb35dea64f3f02ce403e5ef7f735dd179b355acc3d3f0038673e2ba86736480631366cb1193f3bdd573e2f54c73664adc4342197e93ef294473e495090375b3b25366ef3a73ec412223eb33324373091f8358457323eab70f03dd3742c37b17cc1359144583d41cd893dda106336cfd34b36909c4e37676d793a1eaca837603b31357c7c713559a0c13800de6337908d34352cb96e35b369883869eb44378fe3a0366a97bc3676eaca378944e336e0c03a36f6c468366aa4ea37df23a63758b99f34961a5635280b5038a8073e38582c733627b684367a374238048f1d386624c035eb5ff43507a61838a50ab0370cb85a3686256136a305193746a567366100ca3658e7d03640e40d38d4cf10380bd084350d4db835aa3758364facb1370a6b36359d19273fc9c8b13ec9f5a43543c0ab36745b163f6d48c43e0c35de368ff44a363bc3ed3e7895bb3ef1089636f570ef3447bfb23e360fa63e0cf79b3778e07d3672806f3e3e5b813e01dca13699c3d6350235f13df6173d3ea5c7fe358db159367c1b68394d92ea3d52a159368b1dc936d2bcac3752b6d43a0b2a1e3793909835ec5fdb35ddf7a5382f2f9d36e3fe943665cdbb36177dc938a139de36d19e24362f3f56369d54e837b5477636a50c893520aae8350a708537b10e1d36106e8834e057c23435723a37be0d9435c2945236f03867364943db37342151374d23b934ee0b3d352bcaaf3717fa8135f9090936723e1c362389ff37b6121a36a0cf6036b0de71364e2f8e36782d81365e76a936e6fab7367e01e137f31a23384e659d36d903fa3ed8ed023fa740aa360040303625fcdd3ec2500c3f4507583635969835f103ad3e047a043fc5530836211ba734c15d753eabfee33e3406f834c30a5936628e333eb940a63ef4a265367ab1d4340875863da9877f3eff5bc534c2b60a3628d353387140143eae53f63540605f364a3287360fe9973c87be6136ddd7a6365113c83652ffef387f1502374837ee35d7c305369add8a38a5dfe235ed5cc2366fefd6368e775238841f1137e6102f36b4a94c3651886a36fc6b603677bbe0358df5fd356a11e937481be9363f329536a2689b36503944388ed1d8379678b236da178b37b0158238db9f103846699a36ae8b9d36af8a1638033872378c26e436d48ee536a1159a37ebeadf362fae9b357750ab35912010384eb2f637da72f135a052a73e9b552c3f5df6a53518e1cb366eb88f3ea5b5373f7183c43671163836b7224f3e30db2e3f7cfd4e36264beb35ca97093ee433103fb310e735a5d89936f118a53d8796dd3ec6a5883625beb83621b59b3ca1709d3ecd0a8336160b9b3658093838b22b2d3ecdad8036fb85e3364077eb3619e6ef3cca63cc368d2ba235d5ce7937a97fa938af8b96354290c035b342a5364769b13882608d3513308336e59f8b360e803e38b4c372367f35c035011ae9355e0390374ba0d436993483367d4885368762f937cbe548377395ef36d7cb1337ef30a33768cd233713fd0f3658ff92363e593e3852c790379397d936cfd4ce361e39c7371855323713e883365c7a7b36077130386e6d2a3759dbf535f75b8e36703c45381686e8373083c23545022e3e477d543f657f34358d3c8636d942ff3db5d95f3f771b41369b2ed23588a6bb3da7cd493f2958b235e9a37b36734f103ddd5e2c3f4a622436533cf13613b1543c0531003f11737d365577023617e2ab38d198b23ebfde6b3571a3cb36848a0438fb83413e5527863609327b3679000738f179063da8ce1c368b5df535fe920938af99de396824d53532a614378ce80138784f7138762fe03582f33e36a6fa4b368cad3536e3ed1236114b44355ccf55352d54943543aa5d376c0f10343e580f34442f0e360f42843613b08e3615d89a36e4712b375382343782af70356eb871352e61b63641b35435a4a12735ff8930357b19d9365b7da3330925a836fbd0923648359337602f78363358e13678f50037b68c3038d583663728aa97373e47623cdb6e7c3fd91495340fd83e363cd64e381ffc7f3f843ac9359bb84a35f43617387273693f2d2652355ec80f347a82e53766443b3f320c0d34afe06f36ed984d3891990c3f57545b360861733568461c382fffbd3e920b4335fa8f2335a6b05d371a53483ead648d33e325833628238a37329b0b3d6d6c8b35f9959636f4040f38addc063a55110836000000000000000000000000000000003e679b351d91a335b3a0a7355797ae3518d405352dea233563d23a358025e9371e97de331baede337485e5339ae44136023d4f36b69f4136a1c648367481a5377970ea357865eb359a239337e2ba0538699c163781ef5736c2bfcc37a7d9a0373ecf8437bd3a5437cb4dea3716e070370000000000000000000000000000000000000000000000000000803f000000004899a135f5c0ab354efe7f3f2f71b235ea40203563f83c35cba95a3f7dfa1938e9ecdd33cb90dc3396ed2e3f84d55d377b0549365c016036b763033f41f9d3374445e7350fd7eb37b7e3ae3ea886c437d17f6d369b0df337c9a2313ed5933b3327fb5b379f9bbb37a8a5ab3c312c3a370000000000000000000000000000000000000000000000000000000000000000802c2136e8be5f36caab53383a1e5038ba7c5936580088364b750a387a1cec3762099b367fdda536927165386ba949381bd12f36d98b4f366fe78e381f3ee4378a02ff36d9049437c29b633801afaf37eb40fc3657a1c437a2ab6738f3bf983790e74236d72dc037089017385714253600000000000000000000000000000000000000000000803f00000000000000003c41483692276c3ff4ac353cce06253801f47d369495463fe9dd433c8d0b833725e6a136c784223f1c96433adad001380332473684bffa3e9219113aea206a3682be04371541b03e3e9460391407fe3603a51637478f4d3e578d59386cfee936faef69360966523de38fd33704eb1736000000000000000000000000000000009dea1d36d68b66367c292638c3932a38ae9a4536f64b9536f1df1a3843174738068c8b368b26b436e46b0f3834ac3c38f53a3b3673ecba3699251b386e635038fc38cf36e5b6ee36d2eb7738bc828238a75ac33696a8e5366f927a3879a88138a6d6bc363ef7d336e2386a3813f85538d15a523618ceee36a3fd6838b5764a38d256053667132d362e1fa736134e3a38ede9453648cb6a3fb3f7a33d9db91b3891a68036e9ce503f51f9b83d67d339382a42a436d63e2d3fa2f3bf3d0d4b263887186f36f65a0d3f10f8a73da69f2a38512ee2364e03d83e27778b3d22736a384662d836165d923ef8b0403d0fe75f389febc9366353213e6037cd3cf39d0638109454364a8f843c90c7943cc8a80f385f200f3668135a36e8b76e39b7154938d724be36c26369377b395639c7916d385c9618326009f23426c163381e535438b7020f3653a84e366d081238b0672b38c9028d36b21e9d3615a28b380a0197381b2fcd349f748735bbaf32382ea21f38a7b98136a8c99b36b617513818af4238f0d86836fdf67336d96f6038b4a72838d0518635d78b9535fa5131382e0bd33742030d365b0e1e363d4875381a3b9d38a130c436fcf1433f45775f3ed2702a387a4d60347e292e3f44246d3e40a9d837366434360cd0103f82225a3edf1f0038ac3596361516e73e9e5c3c3e72695b380f782d3541adb03e4671123e8439ea3736079136b6d9663e97cfda3dd73c063867996e36f4f6023e0620883d5deab937762f89358dab16389a4f013db859d736845d1436a93015388ff24b3a047f8f38d7074936f7600a370457e639d82d0638698be4355a340b36a18f7d38e0d22338024991366c57c336460c71382e3c5638b9d3c736581fea36e3262a38be0212384b6f8d355bd5f535c7ef6d38588d4e38e6b68936f3774b3794f19538339059385222d7369941e93646e82c38cfe98a37988ebb35b4acc83549d8693838d60c381cd29436aab99b3616ef09387fde2138d3674e364659203f231bb93e2d135c367ab5ff35d4260c3f377cbd3e294f8337af6eaf360799e83eb5bcaa3eec5dbc37a894dc364fb5b83e22698f3edce88837a128c2351b528b3e5a5b633e919495377d629a36f8c7333e22072b3eec0cd737735ce2364aa4b63dde7bdc3d9f58e6364bddc035c6a93d38c2c7593d4d54a93535659836b17c86379d84843aa136f5378f2fb8369955b537bc1c5b3a5c2e013848039e3683bfbe3698365338616d2038a4c4ca368a1de836af3a36394e51fc37317cdc360091fe369682a738b9cf853837c5c136c9231038efa2933899c6803852e4e536fdeb00370b33bb38aa555c38ffd6ee369f3aff36e987b239c26ec53746fcc73696682737696c5d382500f7371ce79d36adb0b436b2604a38c57e6738f12fbf362d65f73e157f003f2041b336a4a5ae365cc9d63ee3a6023fb2826b3739efda36c602b13ea67ce33e67e30537edc2ef367b338b3e79c9c03e9e255337d07a8b376540583ea5cd933e26c739385e9df536994e033e428e643e36c80037a189f736cce1843ddc29143e9cb0ee36a62dce3602293e38304b8f3d17b8c436a295a93616badd373896633cae84f837989092364a4bc537e57e823af280af37664088353c76a835d0408a38b1c5183850e9c836c79de136b2d51c38ca13c9371b9886363837263751a493381b706538ce94e2357d8a1a36edb38738fa3b1f3805c4f1366b230237619841384298f037a3e9e936ea593d3729609338b4be0e389cec22363f835237d2e07738edc80a3885335336f1415d36c69f41389c633938b69294369ee5b03e5801273f5d149a36ed2896354bc9953e4a77273fefa7c03513f5d6366845713e704b113f0b7dea3689c3a63699be3b3e46a5f23e1022d137f3990836c027093e8365be3e752e0336ad71fc365f53aa3dee398d3e0986f33680e3ed36378e0c3daf0b363e766ece3639c32336eae537382f9ca83dbd5a11365b785636a5fadc37abc73d3c21e1bc378067293634887d382cab843ad1a539383be24e3508808a3586128038178fc23763406136b8e43437e62e6f38cb7224382bd1a236dc81b1372a9071382f5a2838954ad0350b4fb037f5619439e996f537e95c50372fe315384af9b038f2a34438f0901a375af4e1370e5ae9396d1da637827a8f35dabba93770d4583a9243fe3708b6a7372164213814786139b7816338b1ed0e38b2f1543efb404a3fb3a41a3696436a35ae8a303e9ec34b3fdc5f8a35e70f6a363d00113e3bf6293f1a977637e76caa36a9d8d03d35d0103f37c531370a6210376e8b9a3db548df3e63da5c36d432c0370e80243dde15a63e03279f3694027a37aff9783c5199523ed11262364f134d36ee516e38ee7db23d78310e356b28d23792e66d38a9ff803c6383eb3710549c366c122a380267653ae6036736c1265c36a73fb337fae281389d434038f695cd3643953d37cca07f385efc3938945fb637767a3838a8138b38636a5a38aacd0c38f9ec4e38c1018d38aa2a5338cb8b59375265d537757dcc386da3b6372ab8bd3700570a3833c72f3a0784b33713bb2338c23b3c384d3b213c9141bd3709380938bfee1c38b287073a0811de37c00584370f05843ddc2d6f3fd0dc32369c95aa36d928183d54aa6d3f42f199372f30d7367e71c13cfb294b3fb14bd7361c1c0d3830587a3c48ce263fadcad237b12a2d388059c03bfdfc003f9865c9375df99637f256c4398404bb3e17ff03371fb2ce37b648d13954e0693eba14c1366bc81f38d77d5e386f0cac3da672ac36570e053844bc32387541053ba04f733600000000000000000000000000000000150c023660301036bf4d2936e11307387b2cb53647d6d3365cf2a337077b41388609ec36550afa36ccb6b237ffeb2738a0705636356b64366e6e0338761b4d383516b536c8ab5537c16a473818543c38ec2cad364290ab363aa50938a83ecc37caaee13722df0538fec3b938ec3e22380000000000000000000000000000000000000000000000000000803f000000008dc00c36589b21360fce723ffdd9163810e2c536375e533741904c3f5e863e3832adf5363c7a8337b2c3273f775a1538038b6136e7c683378474023fc3aff837fe91e3369b072d389e77ba3e0484ec37b5c4ab36e679bf37f542593ed72ab6362f2bf337f8793a384e74873d36144c37000000000000000000000000000000000000000000000000000000000000000007b4d434fc46ca34b990fa346437d434ad513835069c2f351a37253515c72335c4d4453674eb2d36dc5059368b7a75361ab028360a8b5136e5627436525d4036d5558b35df8f8b355a3b8a357838903510de6c362f96863605b69c36eb92923682067c36c9ba923672d780365bcb613600000000000000000000000000000000000000000000803f00000000000000007a91d3341be77b3fc76e4f368315593568603335ddb8603fc9ba4136e0ae5135d9626a36b6c6303fa35d9e3740927a36237a5136ad17ff3edc526b3651388c3654178b35e9159d3e5462da358c6f9b35751d99369750ea3d70e32b37f5d58e3685c5843628d54b3ab1c65f37e1c98e360000000000000000000000000000000054fc9a36a771bf367c932638455acd37fc458136ad2e9636facb0238192a4f3805ed92369d137c3678954337ae4afc37a720eb322a34f832c5e28d35ad20cb352560d536db34dc36dd8cef3769c9283891e6c03689f4ac361ad4b336dbb4b5368c3d723659617836a9c8e23679f39f36638af2369119033733cf2b3861ef013839248036c9147d367c0a613695568636ff618936ada27b3f21d1903c336b0a37e68b8536e0c16a3f17bc233ddb6e0438ee32663634f2513fcd42963c8d5163371b0fff322ec5223f31097a3c66e5a135385fdd361848e93e2cef393a8bfce337c884a036e30b893e4914543acb92c43629176a363953c13d87ef6f39d8fda136054eec3657feb7388c06ee3819cbae3731f067369f4e60362d780737819090369a58ca355fa1f83501ae16387e6f9f37da36873677be7b364b9003381fccf937664585361cea8a3622fd533888ed803879698035fedca035e89369369685303729265b360a794b3681ee3f36dd224037f28bd83681d0dc36c2ee7138307b893816995b354b6db1364459953707a3993759ac08361dfb08365a37c3371eeef33737a8ae36ec76a536f5858338c993b4380cf09c3502775f3f1915033e71104536cd716f36152e503f2d4a2f3e07328736139b6d36ad02343f9c111a3e30e7f6377fcc7f353a56043f20e9123e25dcab354a8f41361f58b63e7042013e4aa24836119ad23666aa3e3ef23fe63d7abd1a38ce075b35171b8e3c01dba13d9aad3e375007f635e3ba2c380ff5f13b5c345f37822019368fe25638651d053914ca9d38e02e77363114a23619599b38d0b61c3805721836207b333631146237ab6a4d360b756335e5f76f3519574735ccd06035011d7a36c11e8236804f8f36d6c2b337f405a2362aafa0361d0c9e369a6fa03663a1db35447fd33563a0c135c51fd3350675a137ccd0143817288e38d8ec9038d8bf9b3664d19636b50dbd3774d0ac376bc83436d9623f36882a3036fa2e9a362a0b2c36ed78303f01b59f3e7dad8a36ecb5f7355be5223f548cb43e7b7b05363ec95735b5de053f97f8ae3ee8d16835e39c85368182c33e76439d3e80238736be789636e5b4793eec6a7f3e9ec493363657d335ecc7de3d0a57413ecf36ce35a2b3ba36c990063a7f6fd93d0ab7013805059a36d54f1738e701043ba9e08b369b0f2c36bd952d3619ddf337a14e31363d7c94367946bc3657a2233807c1cd36f91d0c3709352437df670d38cabe2f374b1ff3366d23f6369d50f23601d9f636c749b7367849c636e19bda366406e8368613bd3794b10e38b0d170384ed68038115def360b9de03659f9d5367162d636fa2de0360bfef636097cfe3621800237a3ba1937be8a283737793e3818781a38610ed2362c1cce367f5da237f7747a3739528f367becfe3ec6e9003f166ab03684bd13378de7eb3e85490a3fd1dc113759fbd5364962ba3e9110053fa612dd369129b93602877d3ef517e93efcc3c736a05a2a37a5cf253e9e73ad3ecb6edc3719b0c2366d3f4d3d6009803edbd0d636ec70dc36f89491391f04f13dcf74f836cc761a3737147b38f4147a3a1f872a37b7a1a13653053a37b7a5f038b52ac7361365313622c04336f90396372dd44136ac5f9736863c953608cb6c372e0d93368513cc3640188a374bfc1238f29af73728c1c035616fe435fc49c735cfc2ce35ae5a9a36bb8e9e36be509a369112af360e22de36cda0ef3683faa337e3ee8e3784136a35341d8235035449355e4e6e352a5e2436397749363c785e372c9d6637fccc0a370ddc283756cf42386a09483830362b36e4219d3e9de5313fb2812d36fd718d3611fb8e3ef66f383f798a8a368cc08c360d6e4f3eec28313f9cf27a36a1dfc9356658f83de961153fcdaccc35efbb8936bbbc6b3d84d2e63e9e8f8d3676f87436682b803caf57983e491b7836f196643526854e3980800c3e79f55e35382f0b364a35ea377708543cea842c36d0688f367da7563899fdca386eaf9d36cb942e384937c138a524c838c8710b383efd24365d7dfb3672560537f45e0d3619498d3608178a36539367350fa16f3547bdc437ac263037c3dcda3696619d3704286c36f885523621db4e3602e65736d936b8351b2ea93563a92b36ce6fb9365aebf7379a58003850593d38de895f383b13bb3655338736d664203899b3f5371545373751eeb6365143b037a17ba437b1f45438933afd3d0389603f24461e36a74f11368fdddc3d1a01633fd198e73592402b366aa62e3db1a05c3f87ba813543f8c937e005073bd58f333f4c70c936be0f5236e752a03aa3a0043fce9745364835b035c40b4238feb7ae3e1f14ac35c4c8cd37dc8df238bf32173e227ba63651188b3665d68e38b1048c3c891e7c360fc80936d663f837490457380c0c0d36ad386936277b893654966d36adae77367641f7368db105378488dd3616b4e93652479e364a388c3640ee3d3661fe6836d0f4b1369638ad3609d59836dddeb5362c4fe6361acce1369339c9360d6ee3368e8ed035015c5335dd570933633fab342136a636696eaa36a87346378d9f9c3724d70037473888371bb646389a7d0c3827730737fed1fd36dbfcbd371428353783987636f888d53ba1ae7e3f14c056367be009374258e0388d11803f914aba36f0b88336520997375c1e683ffd2632368fc2af36a15b8d37a3a93b3f860593361afae93620d3923875720b3f2d3fcd369db3a434bdfe0e388cb8b33e5df3d5335e4ca336e7168d38d531263e2f9e98361b9e14377009a8381bc0323db37ca536ea8dee361dbbe837b29a7538a4afd8360000000000000000000000000000000086138636811c81368ece6a36d2b98a361aa297368c1e8f364ca0723625b39136c8aa62350d5e9f3503f48335a7f38235617b78364530673677724a36c964703644627c3650a3743695bb47360b784e36fe631835db203f35632b27356c9337359f5fa7342b0dca348cbd0735dde682350000000000000000000000000000000000000000000000000000803f000000009d5377360ae892362e1c803fb61774365d8b8a3638bfa73635ee623f689269367d2d863536f49c35b2eb313f83a2823529175e363c8680369ef8003fd51f693611e166366bf7bc360e439f3e92104a36cd27293504f032351849fc3dcd142f354cb00135d6292a35e6c88e3cc267dd340000000000000000000000000000000000000000000000000000000000000000a39ebf35fd06bd35a05938386ef95636f53c55350820ac35c516dc373cee32365352a83556330636cd488b3799015c363946fb358c41113647d58236273c4d366211bc35b5cec4359b7bbb386bdcb235de41e9343b5e4636254e5a3786bb1b357e8a073675bb2236ab350f3896c8f53500000000000000000000000000000000000000000000803f00000000000000007ce9c7358949743fe44fe638cd4f4d368d748c358669573ff4d76438091105361fc5c53573d4293f7d54cd376a7f2b36146bf135ba52fb3ea2d5a237e94f2f366bf6c735454aa33ec509e3385032a935a1e747350544163e3c741037090a2935d6e01336b0db113c17dff137b60acc3500000000000000000000000000000000d5a7263706414b377308b2381ff372376b0caa3548ab4d36bd1e34387aa389362b48c13550085736c7c1e036653c9d362041cb3620690337b23fc437976d1b37335adb351bac0f3658dd9336ed3b3736fe4362362d8caa36d2a04738ea31c936f866203697617f3650c64b38cc4f7836e8e95a36351d64360947c637775845379416bc36ab7abf36ace7fd36d6f35e37113732378496713f31e33e3d59786937797e1136b68b553ffe7a9c3de9dd86361ffe2a368932363fb77c9a3d9ec891367346e93689200c3f881b443ddd0d1337b4d80136ec2ac53efb65ae3c0d95393606b19d36d0ff663e002b893a6296b83651005336cd10353dbb1ff73a8393633643f75d36d8b5833721a85c3c496c82365deebd36211ce236d994da38026a133700000000a7a6923417f0133a497593364d409c3512ca8036c32fdb38093cd236a9e26d367016b7365f9bfd361469e036876dd93170398935618d89389ae49b3578c07a362490a6367f15ea384b99a637c5a60f373dbd25377c93443766da30372456e1351efa0e360e297138f533fb37a2f08f362ff998364d1fec368bce0638e95661366d6c58362625bd3645d0af3700000000a1674f3fa199273edfc3d4342b0f1536fe23343f2be8583ebf84af36808b9636e439133f94a0483e5603d13696160d35cd04c93edad2453e5f3688351d42923609d07f3eb31d2e3ea3b3c4369de61c37071d923da7842a3ed94b25370c6203368cd2df382f39ff3d4d5b1036f0e78436f9f4c4368be0373d00f9e436183143367c348a360e725f39b6d4c736f2821b3616589f3613c7b83ad04ec6360a6fb735c71c6336b718193956b79e36b6c9dc3548381036aa7fe0388033243613958236ca3ccc363ae76537cb0ee236a645523689b18c36832d2338fddda3360000000093214234507240380aa8233425c06d36b87f9f3675a0cc36b6cbc636574d06366cf8193664f82c38ef63793800000000000000000fd3933734c14938d7b54236a86e253fb203ab3e01a4963697befb35bef10c3fd4dcc03e41606d36d3fbfd35e6d0ce3efdf5bc3ed16b0d3670c19c366cd2863e6b8db03e53c4bf3662cc6836009ce93dd18fad3e6d838c36b632db33646e4039e91a9c3e00000000ec3584360af7d63654223b3e2818b536b0cee6355add733645734d3db0947c360000000085aa1f35f119cd3a42697d373fec1e371005423767b4413ac9824b379245eb3547163f361e894a38224558360bf88b3646e7c036840a1a37e83fd036e3611e37645b4137aa915037cda042372d771a36c5ca233646e5e836fa402c36f2dd2e37a1603437fcc347376c8b4a3729f49c36c431c0369a5def366c3ce83639f63a36e5f73c364637513655134a360b943737bcc2323705644e37686e563782b72637fdeff83ef533ff3e60af33376bbf0b3638d1ca3e656c093fd5574936f0f8a436b6d1893edf37083f3af2b5363aec2a374a7f003e14d3063f73a13337f0fb1736e688673d6710e33ec1853136516434371a455437238db23edf3d41375cb5a036d46ced3602034c3edd95d1366f502c36aa3d4b36ddb4893dc6bb52360e1e3437715f4037fcee793c77bb4a3700000000b0627b35f8b3973ab83785353e2cca35c0965e3625541739aa776e366e1d86364a76b236a26fcc367faaa336000000007b465834512389375fa90a34104c72362c898a36577ca13673c5a7360bf2b83648d8c63679b7e83658c4df36161fe83518221836753ac2374694f63735c0763667486d3686d4ad37001bde37e830a8362a77a336f58e2637a4df7d373cb4c833d0b1a83e78392b3f000000002ef50436f61f7f3e739a333fe7c80636cfb399363049f83dc64f323fea9a8c36000000007d68013c6c31303f429a793476907b366a9d543893420c3f0f9d9136d775bd36d53af836e2e1c83edccccd367b0a0736214eec36f18e693ec5141f36d5625736a0b894362c44973d8ca18d36a375973615bcb7367f68983c5c65b43651cb7b3677dcba3610511439f610a436b99caf36115ae436f2659d38cf07c0361f19d93582330036e029c3373eefff35da0609379975243707b22a3768c82b378f6aae36f5e3ba36e65d79379095253745522335f33c47356a07a43574f5a6356a9dbe36f0abce360b9bf1364db4e736e247ad368982ae36ae56123893bc0b38b5198834c307903461eecc37ec06e437239a92366a1c2f3e8c2b543fbd9f34367874c23666efcd3d00f35a3f0d198b368445e03592725039bf40603f3e81ec3510af1037a9f648375727433fc4751937c5c8ad364774c338cfc0143fb365b436b93a0f3560745a375daad43ee6b46b35fedebf36ba84f13631c96a3e4295c9361ea89c365726cb36cb0aaf3d70b0a33620c29434220b1535847bd63c228c8534366df93670b70f37d5f6763818f0f9363bc46c361f637436714e4737885377369e314a3668ac3936bce2333619256e3660caa136fb92ac36aa6ca736c7b9bc360bf92d369f6c2036951c1d36c08a2b36cb0a1037dc230b37b50713378c3b1c37b52f8736beca8e3619129a36c59794369b8f87361890823668c5293751884e37a11e6d370dea69377e4975374d8d72378f180137dba8023d2ee6773f1084c236cddd6736c52e3838e6987c3f55af6836cdcf43363e707c363f3a743f34786a36aab29f3690fac5361212463f4b06b63664a21f36e81831363516183fa8f5263669ec0d37ae0917376368cf3e0cc91237dc6481369d9f9d36e2c35a3e41db8136142d7c3627ba82360f4ab73d5490733684cc68371ac26f372145233c389d5d37000000000000000000000000000000005c06b93585b9b535ac7ab735fba2c136620c6e356954ae34343dad340f762d360e5fb8357056be357669b2358adf0838d0892d36dc051636b89727361c647836635b453626482036de565636bc4119377a09e935166e0336eec47f367093b3374a865d3612ed38367ca56536572835370000000000000000000000000000000000000000000000000000803f0000000039a99f353225bb353de67d3f9959c53614c42735443ace34b58c5a3f7d42e836548cba35f7d4b435bb8d2e3fc1478738eefc13366baf2836bca0023f0ae171361d7a3b3622253d36406eac3e0325803663720436121519360e00233e4181fc35ec2b4c3615b14636522b3d3d05d245360000000000000000000000000000000000000000000000000000000000000000fb3ce4345789d335e0df70388109de3700000000000000009f5931380d72f8363d6104349b1b8c341637a23824c8f737ebfa0b36b5c42736c9570e39e32a20366b132c32e7351237212e4e381bee3332945de93307acd6370ab244386cd2e033910003365f373c38fa3781389d92573400000000000000000000000000000000000000000000803f000000000000000073439f35bb606b3f632ba63c85f46e3600000000cb1c483f0dcf803c03cd4d353ef00434a644223f4773993890ac0835b0f422362f13f63eed84ac381a6704363ffc3032e75bac3ed3e59b3773322f327381e933ad9e433e63bc2e37e7c3db33cab29937828d093d1becc437a935c13300000000000000000000000000000000040bcf3360738234ad82f739ee29053618242d33bdfc46339f01033ad2a101381945a831f5009a3152da8b38b5a4b137b907463316df4d33f0feae3882c84c3379b1ea32b7dcfe34a1bbc238c419af35991a9a3330b497336791f8380a3c8b330a1a4c330b0e5333285db9387914b937bdf61733cd6a3633a58da7376bead2372110c934f35e00352528f235625714376b3243344a91633f469c843de7947a35560b3a33a33a4d3ff7b1cf3dd5bcf53540689e31665c263f9b8baf3d344d193128104933ffe7ff3e3cf5933df1f24e3346008234b6dcb53ecf403c3dfb9c7135b8c095334ff0583ed69bc03c50a5863343d64e338c07683d3f91713a3a965633afa925338ff123347c34ad3cdfeeb835780dea341acf9035c0a3413ba4e0a9363d684a33ee663a36628bd33a77a5b136f15c8036bf40c03600ae753a376408372b169033dbd08235800a2639051b0836000000005dc69635c4f0483a70eb38363ab09236e991ca36964bfe3805161d378c15b734c42d8a35bf0dc538e2cb0036339cd630feacb333515f503861eff8378f86c73526ba4236fca8a137286d5a38f3449a33ba62b5342930c3352fe00738b2adc2352ac2413f622e423ef6dd9f3630b1a53667db243fa922693eabddf836dbf20535a233043f5c956b3e389f02366becf4342f29ba3ef7ab5c3e98401836258ab3362228753e954a4d3e3aa4e5369b9b3535e758ac3d08c53e3e3cccc635f7ddd3305c82a5375b5c173e81b9be35a5f91d360e4483360529403dd01b97374471193413ef963523316b3bd14c633707529c32b1eb57356cfe413b00d5c53515189c361b56c03699f9413cdcb0c53600000000b42a33355da32e39b1db0035ae5a0b3688c15136245ecb3837fc20373fa6ae36d81adb3633276a38f28402376f820f31363a0a35c7dc093970384b3858289c3546d11436c6e3b237480b0e38fa2f543624d18b36d7138c3711c13f387b5449365853ab3606bba737a8384e389b06e23490d51c3fa72eb13ec25c9b35e65ab236de7dfe3efcffba3ef685b8363711be34333dbe3eb885bf3eb02e9833316e3a361596783e5e76bb3e79d54936c172c236a075073efe01b03e6c19f03686448d34fb4bb23caa46943e2baa50341192fa35bfb64d36419a443e9e445b36ea427f36a8d5b836c315ab3ddd9bd8362b1c873666aeeb36f0da833c3e665537e1c6ac348fe186351b67a73ca87c9535a1e4e234396089350283133b5e694e3584e00234331b0134bb4a5d39b63cf033ac4706342a550d34510e0e387b9d1234e2d8863301e0e7345c4c87389554813738791934854018348cf17637cff27e36ec17dd3312cee93393c2f23336e0e535303b823398016b340cbc323710f71a3824b17234fcb83e3557ebb3351fadad355beb38358092ef3e2aeaf63ecc3e45357ae044354b72bc3eb8bf033f9296a334e6110034bbf8813e3515063f319ee933bd830a348eaa073eef11043f43c8143435589934097bce3dda77cc3e7b03e8348fed1634057616345c3bb43ef5040d3466efe4332ea8f0333af3633e51b8fb33840d8033c47f3c35ac71ec3d8c048c356305d134a1c68e35e82bf73ce99a9835f815bc36014dfe36c224cd3c8e0efe36da9095364359cf361095463c2edbc33673c62c3666cd50363254f038dde04336ead18831c3d78431afe1f538f76dee37c5b4ba36d962e436ba23d437d2060337b1f80b36533a3836cb1d1738f5c517380000000000000000c05fd5372c201c383c869336ef7faf367cda8337b6c9e4373ca2e43415e983352f91cf3517fc8b375307de365505aa3eed91203f3a05bf3683b7af3677f9753e71282a3f6a499336e84a4336c16af53d7942303f1451203664698731f572453d2c08243fb9c10d35cdb8d13606ff07370440063f662cea367d93293686c81337324ac83eb1da573600000000c05806351b87823e98a03c35612da536fcaec4366e99013e2c7cc536c5d45735e5e2bb356d531f3d17e47e35c2890236ffb50f364b210b3dbde4b7351bf7ac36753bb436801e733a65fb88360fc950356b68b835e76ab138768b5235d2e82535bf01ab35b8103836253aea353eb7c23679e9db36c3fd2738fc263238ae54bc35c49c0b36e2f78c3718c07b38519bbd3527cefa354d7157389e0ea43846f4e03681acee364ad4b3372e73aa37384b7d36adf99a361b6d183878b54438a3d60b36f685443ed561453f3a0430355dfbb036fcf5003ec99c533f04b25c369c0e9135b6e2ca3c8ce4533f192864348ec78d354b1212363cd93a3f62c0ab35e126d0366ae9013711710f3f72dada36a5e0f1350a103a360489d73e80c9e9356022e9356e07143645ef813e4189af35f9dde9361e6a073735f1023eefd0d53648b0893689d0b0368fff563dcb176f36254f6836bd5c67360322cd3c0d9bc735ac28a0352a97ae359b3439384dca37331fa95c33ab845b33b429e837f68c273841607c338feb863338ec8c33b26a9033e9993735ef906835c99ac035b43eea3719da533394c26133376c71362e9b9e37b7d68b309f6f0731b418313840cf1838685ef535992ffc359cc88f3badbf3f382192b6354bca94356432b3375fa2c436052f5d369859813da9c9683f9c95033599cf9035c7824838749d7a3fa076363388c0583305168437754c713f6a05913645be833327078c333dd5433f308c9333e0634f35a946a735e955193fe9347f3584e3503332662f34684ddb3ec0d44b334c300031163b4a37018f873e60169331bcbee835b8fdae3716f1bc3d7b9b493390e299350af26b35dce93c3d68149334000000000000000000000000000000003ce70633f2ce6c33846d493404813338c9e3d133141fd83385c2e033efdae137b432273289972b327dbf3032d7f40438d274b5353a30eb359b4820368ccc9d3879a518341c75ba348b621138af858038d8c2c13373d5ae34f9c5a837c9f4c837b3ad613600a96636b2372e38b7b526380000000000000000000000000000000000000000000000000000803f00000000cdbe033325f521347f6d773f3b4152388241d6336896db3320254f3f80de2438c89e2d32b9992f3217d8293f97df0d38d3d9d535073012365409053f5c6ce037f66aa234f4284437267dbb3ea5950b3856683c3413d6d9351f964f3ec1526135da926636c34a7637960d773d48cf063600000000000000000000000000000000000000000000000000000000000000000b29b035f8477635d6e45b3541299535d9e09e35f22181355c90813561c37c35ffe43935753b4e35bef7713553ad97356e6486350b8a0c354d1af73478d43535d9384a3454960f34ae8f4334d0df64349c3dd0343ade203639fcf2343e8c113539bb8e34efc56334b98b6834f6ce4f3400000000000000000000000000000000000000000000803f0000000000000000144daa355e607c3f0e487535745b8d35e371cc3598a5623f99078435cc256535eaa85335af90393f34a63c355c136b352e1177358cbf093ff4962d35626837351a55bb34a2e0b13e25b14434e32b2d34dea75236bde62e3e667fcd34ce04f234fe2792343f772d3ddc038734cb6e573400000000000000000000000000000000a9285b34f5865f33ef9e823401c48235fe1e96351d598a3573579c352300b1352c82d833f89ead33ab5d86331932d833174c5533680d1633649a2c33f7e58d3320833c35321a0135271f2735caa8573500000000000000000000000000000000d624e6333c709d33743ca5338359f033c51b9335c15991350375a035b4e1a135afbe65345561ec339b9613343c4642347e56013489a77a3f1267eb3c0b8db033e0018e35282b663f6a3c373da0f3c63558fa3b33e3a94e3fa2e7a63c858bb63200282c33e905263fe313733b02997b338aca2935d1b9f03e690d0e3b8a3a833500000000a457973e9fdc2c3900000000597fe1338585083e5b475c37e9a9f433580a8c351cd5f53a50a86c3aa4e9b135d84f9433b913e5330449d33357e57f33574d34302f9e4430245c5730b63e9730ca6a43340524c334d8e0223506c30e353f4a0c343c26023423626734cfeb81348ca02734aa6b3c340baccf3400b7be3438651035b5bc35350f7d783561885f356e1305355a52093517cfe934cc290f351abee034dc4db934192b13353d921e35b68fed34d1971d3584836d357fb85a359f27ed34d97700354bfc193584a022357fa23b30d3815c3f75dc183ee17382305580a534a58b4b3fb1983b3ea29f23351e3ba5338a962c3f2e4e203ed66e0e344a85ee3382e9023f9f6f093e1b1f953499933135a909b03eda7b023ef56489350077f734f0da323e6776f03d0c69183564d1c334d38bf93c5119af3da698303595da0c35e9525e3551a43d3c2192863598b2f534a35e053593b48839b030023543cd6f3499126734a1ecde34f777d83450614035a5662235d76a2835a10a2535aaf5403520a73e35929346354e924535e2c70435be401535fc7a3735f65e653584177b3539515235a05d4c35a08b4a350f8487345db5b43452f9f734d601e834b52a7334f21e5934f82e6b34fdf082348b46e73306cf0b34b4b54e3483d89033324f102f0e3a2a2f6e9b302f01ec1c2f73af5f34ac7f323fafc29f3eec09d9341a10463542e1203ffab1b93e9abe323584983935cbfb013fabb1af3e6aa821356a841135a7dcb33eac06a13ebf6f38358eb96935d1704b3ed0fa913ef6605d351c1057348a14953d3add763ef2469534a2416334f7dedb3bf2490c3ea8539334a51194336a4a113655a7fe3ae46b3d34bbdde92ee10c3f2f757f4e2f9121372f7fa3ce33b65a5b33fac1a63483829c334b8fbf35cf4bc335513ad335d4dcba358e549534e70e943407aa7c3459df9b3451881631201c2330e2ac0430208295310aee9d35b30b923527499735b6b2913508f8de2f36b3fd2f772b02301627e52f59ca8c34972d5f3405b39234d3f68b34318dbc355079c1359078cf350792c735f4287934e1cf0734d9a346349fa535349d588e33475d033f5804ff3e19578d33c136b3356d50eb3e7074093f68f3b73578e78334cad5ab3e92c6073fae52433405c6f431687d4d3e14cdf93e085e533149079435e446ba3d9725d63e612da035ce4db72fd832053db448963e86e10432b81d03344396d33aec0d183e23e78a346c0cb135f45f06387e429c3c69d0ca351ca21434ecc2e23317adb033710873331b316a2f8659512f61498d3163bd1c2fd23c3733b124b0329fed113438c58833fdcc7334e323623475955a3476536334c949a63496028d34af75b83486e9b63418ad3335ca3f543543be8435aab26d3574a32535f39c44356fd83a35d9c56b35e5441235516b05356f9f3c35ee813f35f9e20335ee761d35cff66d35af195835ed560135b677fa341cc309359aea11354dce222fe364aa3e0f662e3f1ffeeb2ee36bfc3271d1973e10f2363f6c13993387964e341e0d303ee0a7323f0f71783469555534ff8b9c3d9a01213f7e074634fe614735a62f053dee88003f49f18835130142351e83af3cf41da83e9fe83c35438d0435eb2e4d3b8f36243eb38b4735810e153562212c3906f9c83c97a37c359c5c0c358c97f3346fa5683979428d34d64fce34c41884343913ed34e8f2c934756d5835be422335876e16357c4d1735eadf22358dd61c35fe3015356be925356dceda3467dee534621c0835e0101d3581537535a7693c35b4b02735689f3535bae9a2346b42a134726ed4347ebef0349ac615344201fe33b0280534ca8748344881ff34c6a6073505140535c77fc7348b354c30de72143010305530e9678a30457aca34ed06293ed605593f8f83a2341553573530c6043eaf175f3fa1421c3584df2635ea28303d957d5a3f9fc4fa34804aea347015033c0538363fffc3f634f77462353340223c299b093feaff4c35ae638634dfe4a93cc8c8b23e6469a3347fb1113468acbe3c9678233e6bfd7e3478fb003543b4873a955e033d415d02359d473c305262dd39560af8390f227c308cb54633fabc04328e61a334bab2cc3331f9a4350cf79635fb8c9b3562dd8f350b86de334f526d3326247e332372b033000000000000000000000000000000005150423511d00f3526d11b35165b28355d85343348556f32096cd032a285673301a537340000000000000000f5a40934e33a9e3593169835ad219c35fc90a1351ce13a34110d0f347e0d213404955a349b8a8433347fee3cf1e27a3f00000000a6929a35dabba23bce0c803f393293350b4f8f336b632f37ea1f613f6c54eb330000000089650e38218b373f000000007456283528400e3a6f040b3f5d724e35b5d0c532a8434c3b64ccb63e949a833300000000952cab3b0e54353ea7f5f933c5d2923574d53439a246863dd0f4aa35e06e24347fb13136e9e29433d6bcde33000000000000000000000000000000004e2a7334736c443491533534ab7e3a34747efa34d72fff345dfdd034cf300435575d9234f659193442ae35349b23963481f93935f444173507ff52359a5d5f35bb117435e9497e35ce9a493575bf863564f28835096c443582f5543517a89135dcfe89352eec67356ff69835a5869f350000000000000000000000000000000000000000000000000000803f00000000e69b4a346ee76834e26d783ff5df6e344b67f5347fa4e9346e89573fc7e61335463f1134c9280b34044e2b3f7f98b134e4d73035475743352d90f33ec0239635184c6c35bbff5835ece3933e1aff933561ff443571b0ce38baf5023edb10993555447f3588b99b357f78c23cfc93d0350000000000000000000000000000000000000000000000000000000000000000a789d734f9dd8d35d806c335d410913554e0b834291995343dcd1d3515b6103526f2e134719f8435f0499c35ae4b8135b35acc3491983035d6bf5b3542a60e356004a834a3efb134b0b1b03476c4b7342519dd34ef16a335c4958f35beb19435d37ed1336de93e34a29d0734a5001b3400000000000000000000000000000000000000000000803f00000000000000006ff42f35b716743fc9bb0e382e4e6e35e8d9a734552b5b3f61b84e35bd90df344d9a33357e6a303f146fd0350b7c5f356d7ac6349347043f65a20336be350435be73b534d87bad3e2599ad34eceda334ca0e5f3526bc293e59a19135c8d6803567801c34bc65d63ca32c1a34488b143400000000000000000000000000000000303383339f0718344b0dee3afc1e26348e40a333907b0234079e8539a2310134bc1d453578c81d3515891739f2925935c38402350117f53497ab0639d323fc3420a94d330a11f633d6ab9239ce53e6337d065835a06517350677bd36be5882353aec1935dede113598839736065f12356698f53274bc8233718420335a684233b7f74332000000000beea1343fafa43783d6ea333e3c6d3ff5420a3d9ad424349bd0e733859e4e3ff8d1823db4a3f83316b433352928303f37b4713d37b5113554cad534fefd063f7d69af3c9ffa03355629e03346bdbb3eb571d23af788c833f4a43c35d760563e6162bd3996ed2535863f1735f1a05b3d7763233acd08203530194b33bb1b96333dea9c3ce1bc2e330000000000000000c3ecb53c13bcd53717f34635cbb97435346de53b9036d03542e62a35bde08535b98ee239de519635ec6022344bf02f34195a363a32400b346ba06d3300a2c531b6789a374c1c1934a8e7403559c69735592cf836c13e8135973c0134a8e215341e022234cea1d033d9382934e78e9233704031342227d43371fb4e35d8557d35b0fd9135dfb36e356c59ac330000000000000000438dd833b3343e3519b0493fcbc7193e950a8e3543c764356b412a3f3ea0473ef73b9135ff414834ea4f063fd0112b3ec024093433e17533b88eb63e797f143e59758334348e8b354388513e6031003e939f7435ab5932349f4a013dfa530b3e4bceb63341361734be8d033421ca043e92716634e2bd6c35abdc8b357ce0903d074059350000000000000000dae6ec3c57398734d855e33484cc4235f8db013d7f8d1b35d929fc34edbb7f359ba25f3a4335943546d74735d7cfd534df6c153a82e1f534e61ba134ffb6bd34ed772539f2998f34803c4235248b8d35f1189c36c0549f35e1202b355f439b346cc9953416c0b2349dc70934c8d97f34c806333435134934c7db4f3523e94735b0995235cabb2b3735ef1236adeeb135e42f1c36216b8e37fd30f534c1cf203fa500983ee20bfe348f0e2635c17efa3ef257ac3e885285350f5d1535cc7eb43ebb04a83ea3fac03469889c348f49583ec1c29c3ebe1349342bcb6135d5f3553dfad79f3ec1b49d35fbd205359f8e9737a6bba33e8907823456644e34ce648e3407717f3e58dc3b34403e2535a03e4d3594901b3e3aae483514304e358836b43541675a3d7685463649f68f322295c733feb8243d4c66e53317de26335a55f8345fcb523ba23a6b347454cb35c814bb35016b4f39ae58803582ce0836dbbed33576cb2f37f344cf35911ea334a08609358b1d9e38f65915350ec6ce352a389035bc9bc03518a9d7359d9d8035b1b04735d7404a3598bcae3551de4c34d6add133a2b58e340808be346fd40d34f38eb4337867ec35618caf370d0aa033dd34e43e5bd6ea3e5756d933374eac34b078ac3e14fff93ec108b2331c77d035e224553e5278fb3ecd9a3f35f350e43570288e3ddeaefd3e1796a035b5f0223524722f3a8ea5003fb01dd8348d76b6358d98d5356916e33e078dbb35d58f56356e66643535989e3eef13af35e76ad333a94e083407323b3e4762ae343429ed33bad4bd332f53843d66eaa036772cad356f0e1d360808f23c5ea20d3655d4fa34a4f25d359a6f263af8fb41351a866034135e1c345c09ea38450c233449056b340f091d34130a7134b848193403ed7735987799355f26a235cf658d350fa0743456dd2734123969342dd31734f856d634b2fca534c2b4c834c967aa3431ac89350f5a8c350f139d359ae3873589774035436ffb34de4dcc349f4722370a4bc93528b5953e6796223f2ee55835a4283635903e473ec45c293fa6792f35d35643348e1dad3d56812c3f5c12393433f96434223e9f3951e82f3f6f448834759e96358845b335c40e253ffa927d35b7b660344dcf6f3452a7fb3e22036f3404e6b534daa2c534b82ca83eb269dc34bb458335969c9035ce8c3b3e5d517e35e4090435f6ffc23475c2513db13f3b352f756233cd26a43451eb143ccde21133f1e51735bb1a76358e0409395495773597671835064f89340b1f763414e65e3472315334270b1934f1bfd433b0bc0c3482698c35146a8335b2269435164791352f7e6c3535ffd234b799b7347c51ae343c0df233aa132c340f040b34a95934346458a9356c3f9b35f89ca035fdc79b357104c535c20d9f3550fbf335e81a0937fdd106347476203e2d4b503f00000000197f2e35f710cf3d77f1553fb7575735a901f8348b9dc8391d5d603fdf35d833c0716234a98a5e34550d573f21eefd3369f97735335c8d35f7d52d3f68a695357a310d354fb60535d59e013f3680f13201941c348f5e44343e90a13e92ae28349fdc8c35c148973521b3173ea0258e353a1693350d2193354d767b3dcf3e7735b9d991346ca1443764fa7b3ae6a960342b7d1533df2c2e331ccf0933af77ff32447a8935df44203541da2c35f4712b3563fb6335ff262435ff272a35c3388e357a41fc33ea80ed33326bd833ac4cdb338d975e35652e0535ff070d35e2d7f33487263335616e11356272203515f68535c14308342007fe339c57e433cb11e333b19d3d34286511349feb0c3497a802345b25b134db0feb3c2e40743f00000000189646333326c133025f7c3ffb431633f37b5c35ea613d35204a733f1d8a123530203b35d7976335e9294c3f69551d354f060534472bf4335083233fe6e7bb3360e63635bc0f243546dbea3e42c3e734e53a1e3535ed21351431853ec3833f35d6d50834b49d0034f7aa093ec30be03334242f34fa5e1534fef72f3d35c5033400000000000000000000000000000000a3b32e347058f833fb8c0134692afb337fbe873507e26735325e6935a0778235409b99346a38823493129b34585f92344e1bdc343e33f63451800735198f67359cc561350b9f4d35f4534935dd3a5435e89e7834196d5034c8078034ce466434f4df983510d9763579de943544dfaa350000000000000000000000000000000000000000000000000000803f000000004c3d1834531805342aa37a3f75780c34d99065354e516135394b573fdb917d35a82e973489198f34f1e42a3fe36e8a34309bfc3465ce1935b347fb3e22f96a35ab424a351c854a3566b7a13e87f15c3532f76e34a2f7e9342ca5173eea728334036b8e3532a27a35cb8c523db647a83500000000000000000000000000000000000000000000000000000000000000009154a9332c6bf833e41e853cf5281034eb8f8d321476cd32be71a13c2691ef320000000000000000b0584e3b7cd6bb35ceff77330791d5347caf3a3c5ec3c2333bde4933b2948933b602c33ac8dab33391372f33d7810637abdd473b702f06326275a7355daf9c37ef3a2c3cbf1f6d3400000000000000000000000000000000000000000000803f0000000000000000074ccc330266673fa2722a38817ffd3337e6a932babd4d3fa0582a3c8849d23200000000a780233fa3d09038d2c44234ecb79134b3c0f83ed4aa7c37429fa233b02776339fe5af3e12febd3356178233f1a608335e051e3e740e0c32e19ccc319c23c335ba0a023dc420cb37340f30340000000000000000000000000000000090a70630c66c70303341e83cae096936000000000000000032a0313dd91e9c360000000000000000bd2e013d000000000000000000000000396e013d000000000000000000000000f0cacc3c0000000000000000000000007d64f13c00000000fb6ae6329d09dd327f0b933ca2648e326c367033e9c86d339d11453880b387380000000000000000000000006ba96e392c735c30b68f5c3f4fbb053d0000000000000000b9f63e3f832e8a3d0000000000000000ceee1a3f43d7533d00000000000000004e6fe53eb7159438000000000000000048ee983ebff4193800000000000000009454213e96dcb5370000000054e8e6326da4763b9af43338af465f321f2a863367c858337687f63ccd3f9633000000000000000029f40f3d00000000b771613494eb803453567c3daae844370000000000000000c3a4503d60fbeb3500000000000000003a981d3d00000000e94f64344c1a80342f72443d7878753400000000000000006183553d000000000000000000000000f42e403c00000000fe8078333786a3338cc86b3808ba83380000000000000000bcfd87365dd8e438000000000000000000000000b4613b393e665e342279363f2cc4f53d7b17203400000000c6090e3fd1f2ee3d0000000000000000e9d0d83e3b16be3d0000000042766834ee10833e93a4773d1b512c3400000000e2e7013e13ee3e3d0000000000000000f17b983882b8a83d000000001fa3383337dceb33eed9133e0b4951330000000000000000a1cdd83dcceac43700000000000000005ff7673d000000003b361c32c54091323475ed3de9b4d03039eee93271bc2333c20ac03dfa3a1d3350c2543317fa6233f265963d49967035ca3d1a326d438832069e8d3d000000000000000000000000a004f33c00000000c6ea8a348cdc7834b7b5e5379215dd37000000000000000000000000e211513800000000000000007cbdd236e073c2383e78fb33971f3c3451545335fe958138e3f601324043033fbe6d5e3e0000000063e308337724bf3e975a523e2cdee132c0de4e33823b813e2b8c553ee7d41c33ca6d2f32dc54fe3d56d4563e0000000000000000dca960395acc843e00000000300c8b3415798534746ca83ee5639a34000000000000000029319f3ebf5cdc3500000000000000000aff803e60ab5b374d2d2e340ae7873420a4183e5977c1350000000000000000a9de093e0000000000000000000000002489d73d000000000000000000000000a615a63d000000000000000000000000448c133d000000000000000000000000df284b37df9fa736000000000000000000000000caa1e53700000000000000000000000004b37e37000000000000000000000000d629d0380000000000000000000000006c8d3d38000000003311b43e7c9cb13e0000000000000000846b723ec49cb03e0000000000000000d29f013e212cbf3e00000000000000000e0cba3c2a85db3e000000000000000042d912365491003f0000000000000000000000005e5d043f000000000000000000000000bca6d93e000000000000000000000000228da33e000000000000000000000000a94b323e0000000019bb8f35f16cac358869fb3d3ae25a35ce180e34c0625134c89fdc3dd6f4243300000000000000005655363d000000007f709b3408539b3450a57238279a8b3400000000000000000000000076491a3800000000000000000000000001663f38e16723334bc8253346149f37d970b5381256d13285cfda329e1d0133f9aba538000000000000000000000000c8b19639894e98352890663e51c9023fb08c58341d0cf733c492f13d9d52073f0000000000000000bb36463d09bb193f00000000e44f97347208053824d12c3f318a633400000000000000000c03373f0000000000000000000000006e391a3fdd71bc3255d319333d93283387a9f03eca4c81332a15dd329eb3fa32eee2aa3e772f4233000000000000000037ed243e73e7b2320000000000000000dc30c83d000000007b889d3300000000c706833d00000000d5e6e9320a6a4833ce83bf3858ae5236000000000000000000000000f18616380000000000000000000000005bac5e38ea37173433543034cf076234b8cf9a38000000000000000000000000178d7b3800000000000000003b14b03770910e39e3dd9d33c26f0734019aa6377032943800000000b929033e8516393f0000000000000000f2d28e3d38d6433f0000000068bc1f33f2139438f1ef5b3f8760c233000000000000000039a0683f000000000000000000000000a262473f00000000af3e3c340fb04d34cef6233f57ef8c340000000000000000cceee63e00000000000000000000000077fb903e7f229f367080f333ca1f4134a2aae33dd50de5340000000000000000c9c8573d00000000a5829533234582332f7cc03818ea593339a65732a25b563232988832a0c10f38000000000000000000000000d3360e3800000000000000000000000041f02438000000000000000000000000ee0d6238000000000000000000000000dbc20d3900000000000000004db3dd37d14606390000000000000000857e5b371362c038000000002e77023d33b1623f0000000072e170330bd5413871d5783fd4973933b43a5532b93b70324d0d7b3fee16cb3200000000000000004068513f000000000000000000000000c4552e3f0000000000000000000000008288063f000000000000000000000000fa30a23e000000000000000000000000002f173e000000000000000000000000c461a93d4ba93c3000000000000000000000000000000000e8426134f4881c344e7b5e340537a838bc8c8031c5b8b23116adff319c130e381ac2563321e66b33f35ac1330923b138b4ec89339bac903377fcb633b9224d3800000000b18e34344a2d933612b6c738ec4dba3250e2be32453f563708986138b61fe1337dc7e533ec427036790c3d380000000000000000000000000000000000000000000000000000803f00000000fe7b1a34f61c42344619763fa4076d38aa269a3108b6e33100b9523fa1cbc53cd5583c336ae5963396d3283f3b558336113a7d33c890a233630d023fb03d3536fa94df30b51a3934c4b1b93e24479d37e767be32e2fed032ae322e3e58d6e5323b2ae533f425fc3344cbab3d075e0b340000000000000000000000000000000000000000000000000000000000000000f67cf035d15be0359c1c61378e0c9537a3739b364c749336f1ac9937afa2c637af940c375ac3e836e634c037f69feb37f8d0da36ed4a8a360bf41138670ada385e464a3793332837a5cfa537fb54d737411d5337451c433743f88a3717ba8a37753d2536e3d67336bc61b336d9e8443600000000000000000000000000000000000000000000803f00000000000000000d73d835d3da7f3f8fb5d637370a663718cd8b36bf37553fc1a5c5385ba39f3776c90d37a07b2a3f04b02c3881ddc6374c87c8367ca8fd3e51770d3a423a1238f7011537ba19a63ebe123038d0289f37b48f0c37d75f213e17fa0638775f7e37873cf2350ac60e38e65f30375a3a2636000000000000000000000000000000007991b53649480c375e632738266d1438e4c8033696912b3600db4837ec279237c9711136784a013630528937166fd1378aac6a365c034e36f381ec37d9d22d38c85df4363312dc365c791638cbe24d383d1d5e378e3b5137b441b437e0420938ade716378e581037745ab53726defd37eb2e9036b72ce436eb5d93370cbea837148d303632d3ab362de325379f705337fb0c99368b4e7e3f2901ce3b50d8aa37798b9534d08c763fba6e003d6a57ef36bf7e9a3569534d3f239afb3ce9955c37b5b73636aca5243f9aafbc3cd158d93772eac1362447f53ee49a973cf20e10385cb741372fbaa13e588bd43beb47b1372f79d73624a71c3edb2d923836af8e3758720d36df454d386da3373860607d3735ba8b341804ec36c5f09237bd605337a707ae36bc59083798704538967bd337548b1e36ea7a2a3623463237d8823f376af046362b633836d40e89378779bd37b3d333370b1c26376403f83715793b3800e9a6364f06973672801c37e9340938860fdc36f644ce3627a1f8370daf293827c422371f4242374b31e2373dd9fa376f73603675b37036c3e79937efcfb03789595f37189b93378bcddc376251f137df8f9f36fe76513fb9e6393e405f0437c336dd3547f34e3f1f6b403e61d675363086f23503ed293f8b5a363e04227636d4aafd3613d70c3fc0530f3eb6fa90375f5fc635230ecd3ec79cce3d423d09378e9dbc36e9e0843e4e2e573d5c6b9b37cda16135e7f70b3e6ac77d3a7d8ca037c4271636a01721381d439e38e37987369744d536af8ad3372a3b17380a24d337fdfccc364245be37b7e14338c909fd37f901a0355276a4359722b637182380379743b9364f7cd836b7e3c937341ffd37cd120237b816fa361dd1a6375e78dc370b375335352d5735655830374d179337b8ce2837906c223707bceb37624b413933178e3618b78c36114cbc377623c73771dbd7369cea02379cbb2237e29b1d375e32b33744dddb3796c814388a301a384571aa362a70293f42f5ac3ed307d43644199e359329263fe87cb33e2179a835d9d43a36e6b70d3f3b8e9f3ed766273763c0d73640f6df3e2df57e3e92d53537127d52350feea23ea2db393e886dbd35da7417378fdf4b3eeac1e93df8b427372f8851364a42b23dd0de463dfdc38936f7b769363ba99f375ae42d38b710ff36e11e15375e5d0b38b5453d384f64fa3735c55c370fca99370a734b384b9eb437a2e51e35cd1303362261b23729ad7e375cdfae36e47a21377dd82b38db57353808802037b1d4183729c3bb370e04f4374f11ba37f781b43763a41b38e5883538e0793137f0772c37a30ccf37be080c38ee66da371daadd37b9493c3835f84138c689053751223837ffe8aa37eb669337c08b9d3720b2a4377fdbf437412cf537dbd3df36f3d7fc3e1386013f75250f37aaa409357bd5f83e0f89033fed231b35167f3c366d10d23e4b4ee23ec7928f36c2bd0037c0f6a53ee0e7b83e1f481937fe5814377fb0713e1111873e160bb4370415163747d60d3e145c343e6c3f21373a7cc3367c70673df157ba3d21ca8d370e0c863525a5f63744a492380c3abd36c5d470372a8ada37397f50381e37a237b7309a3740c5fd3785414438c619fb37e4bab136e0b4ad36664b1637c5b81237da827d36198464365bb08037f2038a3766f12a371b01223714dda637036ff4372bdaa2367ce1b73517c0f736d0ce42370fd6a237ca788e37870fa937b8d2bd3740c8a6375342a03713b2d637c5c7cb3762e7b43696100d37062faf3798cc8c376c4dc137c09ed73751700338af170138b7c9033736ada73e830f2c3f819d7f368b475d355c3ba43e09dc2d3f0a795a3557df28361b298d3e6eb0163f4f433c3695db1a3720c9583e600bf33e3dc01c37b7015d359a8b173e2351b43e5f505235186322379f159d3d7065723e97b402372d8f5037ed22253c1620ff3d127833373169ad35a30df5373d2a63396712a635456860377d350138329842389a89bb37b39a913740dad83755a217384345b1373a2b803600186e363aa16237b745863651f88537e6224a37f54d8937a262ba372177993797733037efa475374afae037a586153723930337eb5b0137ec6421375de1fb374ad7b8375901c63739c90d3849b1693761721f3788546237a6869637e12e273791e91c37e57f3a3736cf213759ff8437f0b079371519c337599faf3755124237ad9b253e0989563f94a6ca36c02f3636cd51253e5a9f563f6d5287353e0e8936876b1f3eaada343f3331023528c2d336f6e5d43d797a153f4eadc8362625e8361e0f8f3d1970db3e247a9f3695718637d86d853c313f963e0dd24737b4a68036b32f233806d9213e3f6c64368873e63667046c371de76b3b90548236b21f29375d58b337851d4d38c353213717f53f3798c725376058833710dd0e3780796237e8fbdc363487b33695342737105b9637f1cf1c3707f1013797b78d378c6bc1378daf6f3784fd59375b2fb73716c62e3807159f37192a5f374edf1938fde50538fff394372c1b6e3759e00138907db937885f6b3731a07037b49a953702bf7137b59c3037455c5f37c85d2937169efd3714cedf37adcefd37233adc370945f43645bc48384ef57f3f0f238134dfa0aa36311c5b3bce177f3f0fe99435c33a34377805bf3b4f4e573fb5d0c136f45d8b3731b08e381a6c2d3f9b9c52379936b93714054a39c682003fb64a4c376a749b37d4d65c385aceaa3eaace923670f45137e330123819012b3e30f9563616e21337957f84374ddeb33b7d19bf36a84bac375deaf8374cb23538949b4b37000000000000000000000000000000007ae127369e2ad135d49ff435a6f1c63696588e378397e636f4af89369c6ba6378deddb37288d32378e3a07371c3cfa3721895f38616b1937728ee83666a4973822a0e63754b39337ce3b86378e93e33725efc337f9867837b5a88337f8fabc37fb2e9137328d6637adc28d377a1d8b370000000000000000000000000000000000000000000000000000803f00000000a73711361648e836a1fa7f3f1176fc35e93159378bac89373e94573f335c3e37a48f81376183f6375de02c3fb7fd9c372af8b2374f7a483867ea003f6b7a07389ebdb837c0c1e237b4ddaa3e8f37c037f6b69d37bc9abd3771d42a3ef9e9943795c780379b58623777ffba39c5462637000000000000000000000000000000000000000000000000000000000000000016d5bd368a56b337bb6c403829fbea3768171337ba5d2938ee3a393a7520bc3957e413370f2fdf371a5a3f38e6432038e8164737451f093883e9b238c3a63c38796e92371de1ca37d751ab39d1f42f38bc6c6f37a9891538d0cd6c382e112d38b93bc036add5cf37e2eb3138ea45be3700000000000000000000000000000000000000000000803f00000000000000001249d636588e6f3fe599fb38174f6d379fd4c0376a63493f55cc813a903b25387c528d37908d243fd7a0aa395687fa375911a337299cfd3ebdc6c439bb73183827609c373666b23e13c61a3a366dc837c9f178376804513ed4f186381b2ce137fc86b236e5585d3d9c274c386ca1763700000000000000000000000000000000e9759536bf072438c686123936da2e38d82ea435d5523f374debb739ab2dee37a1d7ce35e4b24436035c2939c761a437dc4a6c369cf49837f835cf38ca4985380e930736237cb43662f57239242cd037757d3f367828dc36b335873859df5038a6ea9f36db2e7437111552386bc52b38102a1236419f1a367894b837a79f8c37bd13f2365d983b370b360838504309386f6aee3603666e3fbddb8b3d19bfcd37890b343620d75a3f517e973da3168637b920fc350ce7383faaf9933d99215e37a65380363795173fbb7b813d47be333853e90a36e3e4e93e76944f3db445933711e66a36b3a8a43ec4cbde3c4445b837d6e6a3360e49413e8236013cadafea37d7bd153654e8483d84d18339607b32372ccad7361107d1376e386039b2c2f037f74889367d1caf3705c77a3accd8bb3730dc9436d425e33640d4363851ce5b3780d47636fa619537602a9439c1282038423ea93634461a3719d432383e07d537b42c5636676885372eeb953a27ca4a3ad3d76537acd800381bca54384e873938b8c8c13550561f37e5e51f38ad3ccb373a720537718c3837bb663a39403dfe3787c8233746785a37c26529381e4c1e38380d8b364dcf483ff3605a3e60d23037b1209536d740393f04ad583e411adb36d3438236b8311c3f842c493e8442ca372c11bd36c432003fc83e243e68896f37c2485336febfc23e9e45f83d032ba138fe697b37ad7a863ea360aa3dec8c1a380c4ac735b3630d3ec61f553d38a43337b85701372c52103dd20b7e3aeecf9837c6f31b37284af83771f9a539897300389723d73644423138981cfa393f0a2338144dc8363af17f37e3973c389280df37083c7a350052443669369638ee64a2379cbcf6368b17be371d9e6238c44533381c988a36dfaa8e36ede5fd3705e48037b1052936146c2b371a8e56387d6814383e352637ea649a37733c173863fdeb372027b936dbc1f736180e57386048943793560537dfb188372331ac398a7f6c38d078023707b2233f320eb83ed2819c37598bca36658b173f2c4db33e84d51d377a9e7d3551ac003f9b089e3e151b54368cd10437b315cf3e5e0d823e22b6db374f5a8c36cce49c3e5084483e820790366b982d36de1c543e290a0f3e257c5537ffe92137fb88e23da0bba83d239a93372fbfb236e27a1b387a318b3cbec3ea369a23f3364e7923385463653adc500c3858a92b37b1762838e442783ccc681f38e6c7f2363ffe3337212b2e3a65e5803751d00037dc246e37b1de6b3a4e96fb3710012a370d0ac537bf37aa3939fa7438f2fb8e36c979b537962f973956393538f1b848377261f73719872a39ce176e3850453737d37d91379bff053afebbd0370ed2263770653b375f732c381bfc7c375390ae3762720438fee64838c77f3438a71e4f37694bf93ee0b9fe3eeceba7378ed90137973aec3ed1d5fa3ed1671e3727c208374ba5c43e7c11d63e6f65463774672a370eb59d3e8425b23e0fae933792bb8a36cfb46f3efcf1873ef76d9637d53143371132183e2e68473e6bbeba379bba2e3740569c3d09d2f53d204652372444203794c709387d3f443d1a773137060687373e492d38c283d038aeec1438218fef366dcb21387b6bff3b223e023837d68936739deb36a4e61a3c269d8337d5670f37de7d8e3763c748389c7df237f5d32a362e895237f8cf6538b35711380dab9036c3ff8f3601e0ef371b5b5637bb8c6e37d50103385097553815eb20380baa473636c4da36e0f80c38999461371cc22b37d31ea7375c9a143838d7cb370316b0372555e737a6ea77381e404d38b4bafc36469fb03ee055253fb5f5fb362b2a8e36e356ac3e0a04233fd8abbf36a0d7113755548a3ed45e093f57f54c3793e92d36f594573e5f77e23e28b4e8363a9f8f36814c1e3ea99caf3eac798e3699694537461fbe3d6b6f7e3e5875b43784e92f366c1d093dfbce1e3e94814d363838d43669b4033889ba6b3dc1ca4637263a9337c27c31386fb08d394e4e033819913f3797edfa3702ed523a59b1ce37ddf00d3742578e37d2db8b3aa552cf3735186d3656d013377b0ee4382a7fbc3785bcf13778371338f7f45f384ca12e38f8f09537be779f3829a3963a68dc0b3a21623837d05e9137809406386dd6a137c7c4b6379ffff337942637388b940738925e07378b141a3769d39c37be7018370d6d7837ae8d8c37cd28b639f788eb3754d241370f07513ea8694b3f8a7425375fc10c37183e4a3ef7d3433feb5f0d377bc83a36d9d2293e0bd0243f4fd4be36f5f9dd3720b1f23d4f0a093f6fd5f03715dc8837ee5bac3d3620d23e1a60893796cc2a370c55193d61339a3e5341163776c092379f1c683b60ea413eb4cc8a37977ce8368c5f6537c158843d978bdb36c63646374b15b137582e563a531c79371d6f3c37ab0bcc378ab5413cecf8ae376b5c22367c01d0367c6a5c3979ed70371c2f24370081a537cda15b38b3b61e38ae11053771d11637340d7838152d32389fa76e37b7f86f3723e1d0375db9ab37d2063c389a762f3886ab823830fc5a38cf758f37d33c73378e6da13737c8523738a7b3373f5bb2377ce10e38aa0fbf37327c0138438a023881f25238d2343638ffbe3b3799425b3d00276f3fb893093740dd2036969e763d18e0633f3b051136a2b107373c2b3e3d7cb9413fb5236e37c4c2f4360956e13c2e991f3f71700837a3a93337b75a593c061df53ea4502a372bb8f83704008e38753db03e869ae9379d4752376b4ba4376516523ede188536cf2b71370fcbdf37d0bd903d141d22370d9faf370eaf1438f3ae8538319e01380000000000000000000000000000000021398b366c08f536410146387b1b3a38b78aa43766008437f56d543812786f389c39c737228aae3779f92f383b0dad39f5251738155cfb377e7d3638033d4d38125d0a386f4ee6377bf31038ea191b380ffa833905dc19380b5aa03969489d3900c2bb37e154803746b30b38ffd506380000000000000000000000000000000000000000000000000000803f000000002de38036690c0c386d14723f4e04df374e29833782e9403866a64b3f38a949381a5bae37291135388569263f1029873862e2f03759023938abfc003fe0b53a388e0ae437d34e0d38be95b63ecc1908389e5612385d3d3e38124e573e14fc5738d35765373e739137b7b8823db8b9c23700000000000000000000000000000000000000000000000000000000000000001fd1a137acae043ac866183a596ce639a44c0938c76aaa39a8160a3a76fc8a39d8d50238d992b23946e0073a16d7993949db273909a6f83965b6143a6504e239c4230b3932d7e339fbef4a3a6e0bc9395f4a2938caa49e39a2f1d8398861853947f72038d0f3aa39ed07e439c0bd913900000000000000000000000000000000000000000000803f000000000000000035be8339938d603fa5b31a3a4c0eb539dc590b395666403f60110c3a4a05333986cd29397c9c1f3f3c2a073a03e2513984a6a3393c6afe3ee909193aee24b43992138a39db59bd3e4dd7563ad88299390bf2d038d85e7a3e5702db39cc202539d371c938d9faef3df979e339db3b483900000000000000000000000000000000c89b3338f85f103a3b39253a16e8d5397ef88d370de88b39d5e1053ad0cd8f3954072238ce02883998e6753a13b4ab39d976153805fcb739a4ab173a5af4ca39a03a40383881113a330e933a68051f3ab202f237f4088f39ea045a3aeee4ae394d86b037b3c9353ade48cc3a9481633ad8c4c537d082ab38cce2e739a8013c391edc00384890a03980a1043a373ac83931c76b395bc6603f3ce4ee3d20d48b39831b0238a1ee463f2957de3dc0fed8381b353a3826de293f9ddebb3d200a3f3940d02538212c0d3faf4c9c3d43fc823945028539db97e03efeb1753d7320013a9c7410380ad2a73eea73373d1be156396e460d38df385c3e8995e43c97a2e33993b5d3370fc5df3dcb3f243a73135238b41a09385512f639d4910e3a26959f39537bce3770a4f039fe4e383aa887c1393121f937b0f9d5395384973a836de839b144f136261ad039a0cc303a24bee239a2f4d3379a478338a171703ae26b6f391412f33793f31c394e5a883af1cbad3980f96837069998390c9e1e3a7df6c739576f5138afea6c39d9157e3a9dcda439a5730538e40da438353d163ad3b947399320ec37058c1d396f6c753a555ae739bbc8d5383042403f3eff793e0af4603902d41338709c293f2d745f3e54382f38fb820a3848cf103f83d43f3e9f777839e096003866ebf03e2365203e79645d385050143815dbbf3eb2b3fe3dbd5cb838f86dbd3736a98e3ef3acbe3db1a36c398faa72382ff03b3ef7cb7a3de721283946470e38ea74b33dc28bf73c121f263892090c38afaf243ab091943ab57749397b5dfe3777f8aa397137413a2b09a1394db1ea373f2ca839136a8a3a6ecad339a997cb379ad75539f3c6a63cfaedac3908a3b437a8ed9839365b8d3a05c6ed397d51fe37cbd4c33906dd7a3ae618043a16bec2379e49373845f5913c3dc756382e89ee3798deae398632513a6398e4391323c43735604238955a1e3a9baa0539184e3438fccf9f3965f3233a241cf23989471c384662223f212eb93e29001b3920ff1f38e8c20c3f5814a93e28263d3912cbe837d51eee3efba08e3efd15f438208b23381a89c73ecc88713e921e8639cac213380ab89e3e05a9403ed0e0a839ad59e6379d42643e15f4063e569e3738e181f837cb0d1a3eeac4bf3d5be3883925f9f8377a18913d78fa3f3d46fb3e383fb14738b8df003a957d613af939b73983650e3823cff5393f29493a16ccd93977821438e4a83d39dd52093b887caf3976920538951b8539a4abf83affbb5b3a2c3b7b38d5e00e39ae30fa3a0d0a93392b1e7238fe8dda39ea3a943a4aec0a3a0ecf833802e7d8386192de3a6c4d9139df2f1b3856ead2394e7bdb3a00d0303a2b201a38443a4a39d008c63a329eb439a0911638856b9f39f98c263a2169053af4df15399b64fe3e06f6fe3ecc256339b1f925381ef5df3e8df0e13e58f6ef387a312738913dc13e810bc43e2ea58539b3ed8338595c9e3e5569a13ef6c19a38bf1f2d3969e67a3e562a813eb340d3394f64873840de393ed891413e3190ce38f2bc3e38dedcd33d0bfd043e3506603915a51f3808075d3d89e77e3db3e20a39871143388d66f83975c5403ade48de39e36037385855ce3901d5903a3f81dd39ff23ae374e6f4938c6fa893a87660a39bfb9e637f9ff943988a59c3ab641fb39d568ce37e4233938ea49983cd72d7238d6210b38b602b5391f73843a9d9b093a89b50c3852509239b6b3833ab75fe7395be4f837c3452b39c0e2253a1d71ab395a602038f5ce8a39c8e3323a29d5d739a8fd0e389b9d6539ef010e3ac943bc39c1b971381934bd3edc0a203f3c725639ac590138531fa73e5cbb0d3fe489313882ddf737664c8e3e53a4f23e87268b39dba7f13761a3613eacc9c63ea1753538c418133809193a3e9f96a13e5f9eaf397069333805a2083e1c89723e3fc583393bd4fe37a8e0a53d5fb61c3e69930d3962fd2938d2e0183df396a13d38327339ab0d1738f98bb3390e644a3aff178039022b1238d8ad6d39a501b63ae685cb3998ef0338025c2838c89d8a3a81747839fd594e38fe0e2539fa79a93a0e7cc739cb25a437d03c643957b02a3ad064e6399d1c0538d13eba387cf68d3aca9ed33989e3e237f12d5e38824c683ad97a793948f530383b7a6d390165333a868ce839f23c24385fab1239d631893a0a290d3a57dd9c385f909039d526173a660aed3943942d386043783e6777403f17dd7a380c28113897485b3e18672a3f765d23385b337a38bc893a3eabb6113fea5938399cffd2375f6c193e3e5ef33e2a218d3921441a3826c8f13d1b41c23eff370239e54d07389e55af3d8bb9913e15ce783808c543381ca45e3d3ca8413e9c168b391bbc25383a9ea33cbcf5c23d7722313934fee738a2f2c339114d5c3a5598bb39f0670938a7ef97396942273a6073d2394293c73716db0538f1a6913a472e8039bfd9b737e86fa739df1aec3a1b7e9b3a391dfa373ce930394f44733add45d939510a863988e5ed39224c933a9d273a3a38497038038269397d02163a5130e53915b54a386fe6323947735f3ad4b7bc3909040438defe08390612f4396c239d39eed72b3984f39d39901e1c3aea9f073af253fd38635eed3d8d3e613ff89683398684d537014cda3dddfe473ffc6a30384d56fa37f103af3d8ff7293f782d363aa9a7073834458f3d90d00d3fa4eb9739b608a139e72f5b3d0f01e23ec17a0f3aae26b73866aa183daebfa93ec65faa3928e84938d8dea63c6539623eac046639e8e30a38762b6f392ff3e43da2b23539106f3b397d6cc239b0be343a5720ea3900000000000000000000000000000000ee68e637a48b16397c3c063a3a2dda39e2721a38de60f53864bbe139542ece390a08f33819488339bde7433aee19373af95c5239ea6fa13981950e3a81ba0b3ab1a1e238b49e3439204ddc392c38c5398fd6ba38da1f2439db19e0397af4bd398332993916adae3906a3103abb1b033a0000000000000000000000000000000000000000000000000000803f00000000e4ab2238e2a6b0390711613f223dc139453c2838badb9c39268b403f04eabb395e5e273946a7d23913c41f3f9efc193a84b06a397db6e3395ab2fe3e2f3e073ab3f0e3389b54853994d5be3e119ab8395dcbc1385f586939b0ab7a3eab4aa539ad7c8c39865cc139fe75f03d1c79e9390000000000000000000000000000000000000000000000000000000000000000e67e6634ebdb66358d126937f3abab37b91c41359bf450357ed573354bdb4237d4bf503614874f367132d1376b710a38b8eb2b35262432340e0e52373a757837cf749e358c41a635985d91379b7d7037885bb13544a0b3351b0188365240a3352d4cb1354748d5369c1c0f37f85b4b3600000000000000000000000000000000000000000000803f000000000000000078fc0e35ece37f3f7dd90138a67d9337d5c54135d259613f53c281388183c0365c496b36f78d303f41537439687dfb37084014365bc9fd3e503aae38de334d3711f66b3681109b3e26a516385fa33e37ea8ca8353bd0de3d15ac9d3878199e359ba2ac340082de38bd28dc374136af3400000000000000000000000000000000c7ae0f364d4827365d43933731d41f3789b4f934ce7e1e359f6ae9352196f635701b1c3520a81a355a848435b642a035d78bdc340beac834f39c8835539a66378fe2d734e475de34f692c636855827379002ca351758c535491bf137d1c0ed37be715035af1345358c7348350a0349355e7da1352e6fb73567495637ca42373702ca5b369d076636dbdfd93603873e37edb90236bc717d3f8399223c5f0ce73645b8013592b2773fd981013d6134f7351d261f357f66593f08a7be3cff679d35c5ccda34d366283f87b6423bb2a81c37e02ed8345e87f23e30710e3b6be8cd36cd1dca35454b8f3e5c53903a43b1983716c54e35787cad3de72e073a4d294c35e635a135b6f51b387fde4d3895fd13370e805236418d713653890c388d1b4e372d6d223651332736a5521d3825b79c374583fd35abd50736e4eb093680060936c77fc2351bd1e535733843366cd3483609beda35caacdf35ce71f135c52df235f3b69835d7049c35ebde8e37d046ac3711bd88360cb68e362b5c9e3696839d3673ed1e367409303662741837ef1657363052003695c80436bcacb23793c3a237a967923647679d362245a836fa13ab36f18923360e775c3fae110e3e2e8026365495fd35d281563f6cad243e32460736b04e9535b000353fc851243e1d24403667a1e135a5d40d3fa81c123e2c12ee3561159935fd34c83e515ed73d6bca64374b6583361a65663e462c8b3d9c0f9b3631870b36a8d3923d8644e63cd2304436b217023622591f3833a70e3a8f2e403786968d36a6e5a2360f8cf0377fd9ad3612091c36e36931363207d837e15d3b36a775b5351363b835cb690f38c75e9f372079ae35a57ab835ff14c8353317cd352abf2a36337b34362e7f483682e74b36f5c09e3530b3a035232884377cce5737c827b835213fb93568dc683634f7b635d6ded435821b7936035ffd3731bf793778bd08365c3f0936f979cd37d7b261378fcf4036abbc45363cc6e237f43bc337079f14364d462d3f8b78a53eac472d3670f3b235ecb8273ffd56b03e4980c1352fa1ae35b304103f045ba73ed081d035199c1e36091adc3e62b7893ed89c4336f7729e35053d973e8b504c3ec6b5a0355603b735c778303e81a7003ed848b6354e9ed235ba4ff03c2f096f3df78fd93525ad06361f4d1138b8314139a1c00736e1703c36150186374f064738acf55c370ee0ae36c4e4eb37fe5c7a38e837bd37c1f884366781a436fd8afe377807d636b84a9036cf06a23673fee63650fbda3668428d36f44b8b36de179d37ac541f372ba4d735f0232436960f48376bac2c3750b6a7366e20a8361f4e223801714f37979cd436862fe036dd0ae037d582eb36dc40b436c5518137e8ec19382519c6375af77b375bd4c537123a3338591516387c8ea636d86dfd3ee737013f85bbab36b4524b367705f33e3f79063fa79768364cc44d36fabfd03e3705f93e0042a3361a6d6b3628009c3ee337cb3e0a848d36749e2a357a245d3e236b913e62c89135911a9036d28fdb3d7fc9433ec47593364622ae368d9d7c3ca8a8b93dcda8ae36e89690363cef4738e580003994209f36c1feb43687b11e38c6f5b83805b8a137a13c41368aa3ba37cdf11d387eca3d36c277073620d009366d8b5237a52a0736cc79cf350aced235cee7cf3595bcd03512b5b1356f0ab735389cb435c607b435efd8a235bbd2a335c7b404373f7ecd35ca1f473698aa5236f88be7366c174336e41ccc35d10ccb35cff6ca35c6c1ba3563f96737e02ac0375f8f1f38e7a4a7371c4b333640133e36d73de836ea783436296a43368c709d3eaa3c313f51833736e21b0836b36f953e2e3e353f2b0005367333ce35146d823e9358283f0db6d035cec6b835bfcf3a3e3502053f6d6ab4357926a535a0e3f23d3ad5c53e253a9e35f0e04436fca45a3d86e47d3eebe32e360bf2d6356c223739c334e23d70b3b3350ab555369ac25b3897749b38a424ba3522df303679df40373d27ec3768e72d36aaddab36d676b036c569a536ab0b9736fedb04368f6a113776e90236804d03364ed03a3615ea3c36598a2536a1811e366dec9b3611d89a3633d28f3603018b3631b67c37d20e2937176c9436cd979a35e675ef355d11f735a40cfb35aa01f235a3275c364d285c3653d85236f2f33636faab0c364da80c36135d0b3644bd073650a6593708caab3736f6bb37e01e2b360390a936479b033ecc1d5f3f91408736b5ff0436a0ade03dc6c2633f96e50036a3b329360bb0dd3d64b54a3f99d9f83538ac98360438813ddded243f18948236faf2083751880e3d7af8ef3e052299359e1af1352cf9073a5d1d9b3e1f8deb3545e64d36c420cd392a78073ea8fa0836ec160c36814ce93784bd9d3a672a063647762636ba9a0e3871d01f3897d4293651a93337d1c47537b62d26374ad360364636d33657f3e635644ca635abfd9e3541a84d356a114c350b194635bf2c4b350b35cb368e52cc35cdd7c135e65dc6352ae2c9364f1f07354cc4e8348de1d734d0ca1637e72d8b35cb3a823519838935eee5a0354a90a635a77090359cb64e35083e04368d830f367e1b08368499ca35d02c0237e44d2337067d4637f23d973669f30437d3860f3a96da7f3f281d3b36755104361af56d3820ee7f3f76599c35009952354667dd37de306a3f545d47359635d035c63d0939e106383f3ebfc135b91862368a710238ae25063f5d5ed034002f4e364e088d38d397ad3ec6a8d534b9099f35edebb138056a023e38f61b35d7d60236502103385471683a4ea987350f67d136f79dd33788a0e13768422f36000000000000000000000000000000003139b33494b5b334cbeeab34fca3a53419208d350a839335759f6c3576e8a335932b1b37878d723532443135a5951537b5425537296ddf36e05e553601c84b37ecaff7372bbfb9379ae5ae371293f137fd81c736dc048d36ddbe2237fe3da5365b34a737d51aa1378bbabf37e6b6a5370000000000000000000000000000000000000000000000000000803f00000000c892b13479e3f7365af27f3fb4f4a8346b8393358527a735a021643f1be69d356c54ed36c861a4378d6b323f5d8c3d372ee724371d72af373c12013f990e4237caf7e7373e41643832a59e3e808fcf371870ab3609911138f6e5f43dd4de54351b27923722dad037b4b4af3927d03b370000000000000000000000000000000000000000000000000000000000000000e36fa436e414c136b701493723a75a378546bb3588a975367927aa373edba137676e7636117dba36b1ea363830b4123861e2b1360c96bb3630d6e5379d46e1369241aa36530ab5363b20d4379892b63646b4023685edb1373292eb37a516b735519e433614b9513641fe063785132d3600000000000000000000000000000000000000000000803f00000000000000009373ac36c46a7c3f72af2138d7810b37e3222736b36b553f971f863957d3823789ce9a3655b8293f45b17a3899bfec37baeeb236d4a4f93e427c48383a36c5362517ae36f6c89f3e611b2c38d713b53642de1f3610280f3ea61e38382a825e3588e444360dab35382d342337fe282b36000000000000000000000000000000002e69293640557f360d7c1838b2509c37e0e3d236099e0037edaa2f3880df063836e1c1368f79ea367972fd37f0f5d1370034b8364ac7d136e49f6637fb214037f9b10037a71f0c37407c98376da95537793508377c801637bd81c6376a94563787ab5f36bd657d3601c5343829008c37661cdc363ffcf8369e974837a2d0273789557b36282c943676f8c136850a9d3761da3b363eea743f7da6303d328add3629a6da36db27673fc3ee9c3d016ea03747c5ce361573413fe8bb733d1b5b1c375606c036ff4f173f5b4f413ddf1e0937154604379b29dc3e3dcfe13ca2d32537a8e30b37a2f6823e8c96763c66dd3837d6b06836a22fb13d3482103b4e449936ff7ce53667ac1f378e6dd638873815374ae68336cb8aa8365d4bb13847fda53716a40b352a9627358d05523866e901375e419d35bd053136137122380209833620f05c36a63a933601898738a28925385e33bb3442ff0335944ed2370f0b803710028736b6aba1367380a937b2ae5b371d45b036335ef336956d4538443ea137b56b1c354f3c493579075d38ed12df37ebf17d364e8098362b2be737c6b4b337d92bb336db35ca36daba2e37e55145375c541435ad6f4f3f7c81413e64ea41355937c3352ef4403ffe2b663e0ba6813634286936a0131d3fd4e1553e7838463763d0d134f0a2f13e9f6c443e1223453558ae8e361f5bac3e8e45163e9b35ce36958fba368db0383e2e94da3d14580a3764b0203572da653d444d813d2bfa853640c38436ae8f583765ca683a9e68f63607e7b6361f16da36546b93381f670837ad571136d0725636553a4c38934c6e36ddb3ea36d1530a3746c13438233a19372b3936353358dc35d7f9ae36e4f22f36f2ea6e32572d7c36ee3fd53754ad3737e8240a3799ba1737f1a8593877472337c363bb34bb493a35f109b537890a4e3582b69135c1dfd535c9683c38be18e5355f3ffd3627b20b375ce68937cc033d3779293b34d3536334e895a337e20d8837886d1f36cf3c273f0758b13e27bc5f36dddbf136624d193fa44dc13e52a614377edb59359891f63e5debb83e08f724363ff6c8346d75ba3e0c569f3ea37bd73675370d37fcb57f3ebea6743e34351f37dbfbc434dbe7043ea5be2d3e64880e3502639e351b9d093c5a0ccf3d7d42b235eff901373cb041374558143b3bf40f3707bc4434d25ee636eb7ab439999202370e68b23650b2c6366b72e43845dfc43618642937bc943637fa0e4138ed023b3795490e37e4471a37e82c10380b343037a1fc29378a183237e9a70738f8283a37a86ef336e090ff3697a0d337e0a21337fe253637b5443b370e182e38d6513637d419253788022d37862c25389a9a2a3758c63637234c3e37a1491538da5b3b373a72b9369ba0c336293ada369116ca36ff79b2362bf7fb3e5504023f08e6b536bde82937d1d1e33e66c1093f9a57343782b91037e953b63e3b0e023f256a2137940a2b37dc45843e25badb3e54fc35378790f436bd8e413e2c419f3e6153f9365e66373785a0a63defe96c3ea0023137fd54243795d08539e6ed0a3e75aa173779373737c74086376d918b3cc98c3337b07fbb364826cd36f2f41d392ca7c1363e79203433846637375a423813d34e34ffbc09375c1e15373452973735920a37e2d78035396cd0356865ff376a8dd335be4cfc34002e623515d27c37c72a1f3574f81c379c5c243708b95038d8241b37d8839f3660db22373aa7fb37173d013751bc3a36864c433616fbf236779707367d9418375aec1d3774942838bd9a12377d6661361ae27d36c0e30a38ede92b372ba92c341f89a83ea2a62b3f9d293b346ef80837f247963e574d343fa10b0037ac02823590fb653e0e792a3f3f3187350be7ea340b5b1f3ea3810b3f49babc34fa0b1d37017bc63dbb47d43e9caf1137f6919e36737c163dbe67933ec2b73a3679b03136ef9c9a37ae1a213eca63bf35a94b1837698ccb3746f7c13cf6c90537e181653680d76337eeb875391dee49363db6ed36ce554e37fc8c483876bbce360f0cad362c8b6437500821386d409b361bb23e3515a6063725cf1c3867983a35e6d00137d04d0d37851c1638b87e0237eb3ac9364e071237cf5fa137e9dab0367d7b59351cc71b376e3de337b2be0635d8f1c2369528f437ba0196387390173702c7843600268f363fb63238eb325b365d404535c1069a36cce6203818ff4436b011ed362cc7333eb504533f8475b73687e2ac3618e6143e64945a3f1ff27e3612294b356defd83dbe55463fce4910352f3b00377ab47f3d3b88263fd9a3d7367c5ec336db6a0d3d08d7f63e4ee19a36b355543561f950381a25ac3ee2f2ea34568ac036412dad38f693353ef6698f36af49873612850c380f14b13c4adc29368444453511adb1371780353a00d921357789dd36747ae637af003a38c934a336c4c9153725051637591a393785eafd362c779736fa0c9936e17ed136720e803609a03b378dd33437619136377ce42637831d26373fec2337c3744337f54d1537c4420c376fca0837c7cf443711a4ea36aa3b22372efa5937a24e2a38533a0537fc07c2374083f1375ffe6a387be94c3766d317374b468237d1b8113805449736f73cda36247ac23c3fe9793f4c1485362e2b1437f3bb72393eee7f3fee53e136997797365b6288389c48693f445563366bc63537e4ab0e38e7ab3a3f057513379d0a24379284883877e20a3f226b0b376f4c0b37fb9f3a388344b93e4e4fd83667301f3719a865382c3b3d3ed2dff036873c99379b6663382ce3a63ce10803379075c036319ee037a7edd338c42980360000000000000000000000000000000019612e36edf72836d9a32d361b654636adde5a35c666f0349168b63588098337d6d8b7363ed7b3364dc1b33654779437745bc3368736c336d37cc436db8e2437a308dd37872cbf3770f31738863f053870499b379c834e371ffed9378ea7ba367c5b51375a530a37a1d0dd37981300370000000000000000000000000000000000000000000000000000803f000000005fc0243625b436367afd7f3fb59c3d369f380b355e4ec83520325c3f7af7b5376f92b436924ec6363c17303f50526d376981c136048c7d372f2b033f3710c2364c38c837c58829388163ac3e3f1a95376aec6a37610ae03750112a3e0d9a923685e20e3796b2a5371f17643c4c41c6360000000000000000000000000000000000000000000000000000000000000000e8bb1635dd868635cf406d3867034338cb100636b9c177368b7a9f3907403b3829acc43590929937d0e391382cf03a3820863033c7495437831bc83948528437adffb935897ecb36252d15381fa609362324b13536431838d8103438e827703600000000383ccc3755b3cb370071d83000000000000000000000000000000000000000000000803f0000000000000000478050351b926d3f4f0a1e3a7e420938965b2d3664e8473fb7688d3a4e581e38802ceb351efc223fe8639c396cb71a38495e3733e7e2fa3ef069283ac32102371732e335d80db03eb0211638500604368ec05f3795a0403ec2d61638eeaa0634a121b336ef3f3f3d67f07137415ffa3000000000000000000000000000000000e0199d335fcea5339d8e243aa92e2c389aed61349d8eda34e221053985d4e83787bd1a36a7dd29365bf33d380764313889bcd63458981235ced57a395a384038f2e5683501ed8935a68d7538fd2c1b38110221363ad2a9366f1c5038ab3c08383089543537da7335bfb7b139212d85359cb67d35fc258f353bd2493873698437ca58ee35c1650036d349fc37154e33387edda0339c2e6a3f9275a73dec6ef5371dbb9e3409c9503f5e50b63df5a3b037835f2136a76c303f63d2b73daa2e0638f505fb34359e0d3f05a59d3d331cb73756797d359a50d83e47837f3ddd594937ebff293631de913e12f22b3dcc6ebd37ea276435dd6d1d3e70da9b3c2c9886358d778635b005223cbb6eab3c967de43576faf7352a3e04369c335d3acbe727388c67eb35d9b0ac37712f473a7ed76b38783480355d708435d585ae388dfc2038f374ee34de0b4c35dac1f9393655c037ddad01361e751e3600ad223940066b3816df933548e13c36819bed3868f026385cf44935b94f8c353a33d73bd42d0238e5080136f8542136e653be39c79c22386ace8536df6eaa36b385483876d2953700a01b36d7be473631a35d385d914538367b183668ee433fb8f6603e83ae17385385803506912e3f93926d3e9d085537ece01d358849113f332f593e5c36753691f00e362a3be83edadb393e0c192738931eab356b31b13eb8f20e3e41fecb374ece6835877d603eca0fcd3d383a6b371c6e0f36d19b013e6a33843d3a98e53641469336e10d04384782ed3c431aa436dd122d3689bfb6374ae01c3ca57c0b380c79643681b0a3376426233c8175fb37c01fa235fdc7293752be803a3bc2c137f3193e35602656362967703ae12f0f375f4c1436ff9dfe36b333b238b95b3038f6e1b835d291553704b3243ab6ffc4379dc49635fc264c36655b2a3a90dc963629d184351ce28f36a2888f3956a663375c935a3631b51a3768dcf93966e9a137528388350a9fdf3530769738458b3138bebab1367ff01e3fc0f4b43efddafb364ddb96365fcd0c3f5f22bd3edf68203740258435d6d9ea3e74c3a83edc848a3667884736c521bb3e490a8e3ec661913761463536d3358c3ebe415f3e5e856c3760b1a535ab7f363ecd35263e59582e3645adbc35f500b43d4373d43d0b6f4e36a0559136939b1c384f0c433d5104d536100399353a171638bf22b83a09a3ca376d915d35462ff036f72b183c3d3a8035abe94734495a8b351bc5323c12f3043869688c350b01bb37693f253cde3c5938e5febf350f9c7136b712023ae66ce6376d14073565021b35eca4a83a4f8801374c1fd2354e4d28375640043ae25bc6378f999a35f04d2838c10b2e3cd70d3238ec7f8534d15b3e37ecd5163a43e1cb376985773548278335f4ba2f3ad25cc937be826935a04af13e0fa3013fdf528135adf64f345bcad73e01a0003f7e5432353e2192359b9db13e5490df3e2317e03730a9c7359ec58d3ed4d3be3e36405b36fbd510359bed5b3e216e913e5d981835dcd1d7350d1a063ea0bc5f3e145e1136a38d2936af86773dec8b0a3ead5a40374697823428e37b38a965843d1f0455347dcf803510bf573723534c3c896c7335db9ee935820d14383709a93a43e4a23722e82436b1c206376d30403cdb209837fbc96935dc657936f13a8f3a57256637d148bf35b35a4e36ff685b3a60209536e9857d36c648943761c7563acce9b0376b439536152cf137ac1332392bf4cd379aa5f235e72aa036386ca63a9383ab362c02e2360c5a62373fb9893a6c1e483755a6cb36885bad37fd8fd238ff3203386346fc3552c7b23e84e4253fd644b9354b3b8236bcf7973ed9ba243feff1c236a6cd7f3592ca763e09ec103f207a613646d3cb35ea1e413ed670f03e317518369e089e3642dd0e3e390fbc3ee4ce1037d603d136ef33af3db5f08a3ecda3d036d0fa2a361130153d8055313e1e2d20361ebd033746bd2438cf0ea13d49cd15375e62dd3688e23738f69e803cde2f0437df295936ca8a3b38fafc3d3cad54563680bf85361b7cad36c6c5df394270fb369652ff3564f17b37d1e1433a567be23709268d3501d4a137d5aa613c223caf3725f91b3633c4fe373140dc39a9d6a23783c51d37987047384739403a48e1d437e5559d356cd9a636fb94953a8c6c07368528a53578e1ea37beaf7d3a2e498d35c4273b37a66d3d383fe7563a52b82a389be7613668ee4d3e1817473fd8c83d36b08d943645a2363e4ed04a3f9e339c362be01036846b173ec0ef283f4d4b193633c09035cef5d13d13ce0e3f0c5b81351f9487364a72a73d1d3ddd3ecd40ee35fb92a83778fe353d3b98a33e5ed61a36300ba43591f98e3c6d3e4e3e648c4935d929ab35d8307538a23cae3dc47d833516e59c37e5ab8b38523f573c53c8883606b61137d7d744387cd88c3a216c02366a7f9235cdec7b3674555e3aa3faff3542f482359ef186355ee0323a42477b353d01ce36e71bd3372cdf703887e61e37bc03a235663b6d372e70f439d9bf9035876982356f9ed1374aa4583a77cb1c35b72ba637008b1938c2f9d3399b04a9364f207a37ac0ee7372117803c8fbf0235858a9d377595133820c9a03a14944836ebf5a83791d5863d0ca06e3fd3b0fd35686996354908353d80946c3f01a88a35ae4d8535edf00d3deca54a3fbee569355498ef36864dca3c49f8253f96e89936e388fa354045553c3169003fa0988935321e2a364f0a1b3cd2f4b73ee24f0b35d245bf37818cc338cbcc613e557a28367e6d8237196089397388a23d3fbdd934ef73aa374e674c3986faaf3acad8a43300000000000000000000000000000000e3d73f32f2251b3213ee7037bddfc8376f5c0934e45e08345ddff937688a2738d1dfe83503b607368f47ca377ecdbd3703a78933e84aeb36764e79386856e2377e2fae3709601438fb456638f1a015383300e43773802038993e143a28f0cd3748c691379283163882107739950cc9360000000000000000000000000000000000000000000000000000803f000000001c780832c6eb0a32a501743fbcbca33739670834273f0937bfd04f3f26931838780efe35f6c41637d2f0273f4adc35371adabb359088cd377041023f61d7593733c8da370dc950384ebdb93e66d0a037b416f037f4a44738ef165e3e4fbc71368732a83755595a383a35913d29fc81350000000000000000000000000000000000000000000000000000000000000000beba8c347baad4346c66a5345421a03400000000304639326b420335b1bd8b34e47c0634e75f4b34e351a33666515f36fbda2f34d804853434e44d3450484734568ef234c6710035c2588a35982a99353e1d033443e74634b17e1934236e14345d6f89348c34a034076d0a37bf6e853400000000000000000000000000000000000000000000803f000000000000000092ab9b3473b37d3f9474a23453c2ae3400000000f2e0613fae192c37c28595345e5b153498d4313f1380f737802f7c36657d4334a69fff3e7a674a3470b15934cfd44b35ac209d3e77029336c8321435c9d1113483ecec3d33a31634da0c2234dc568434624e92399f3d9737c3718f34000000000000000000000000000000000ebc963426108c3551cbb93717353436bb1136332b275533471c5d33f1208a33000000000000000052ab2d379c16ca368ea4b33398d2dc338fe0c93323abd733f609db332600073474e6f53351f6023465948335d0ba633525148635afca8f35628415335fba62334b453b36d9da283326700b349d110734ab5204377772f933316b3036f58252368f27463782a9593743cce333d6677c3f04417d3c8b3d09363640b132be396d3f55371c3d2e8a453300000000e708553f7e7b843c000000009a14b4337ab0263f10bbb63ac894dc33a056dc338b55ec3ebae2853a1b53063459b1763565a48b3e1f8edc39842d94357c1b26335313be3d09a3a63907663833ba31f333d1ac223885943e3854f5013422c04036d62e8337ada8053824a12d37975bb5337f7fb8339de8ba37ee0aeb340000000000000000c0be1237000000000000000000000000bf32b1372dc17a37329dc633e85fc93348c3d633d704f7336f34bd333c70c23377fed333703ef2330000000000000000a0b2993754a46537000000000000000012736935000000008fae0d34bd1b063437d59e3645d21334d51b4a36b0048236d9ceb337431fbb376c00a63394585f3f7e09043eaf39dd330000000045ef533f79fc2f3e0000000000000000470c373f9b87133ebf5c583607b1b63333d0073f17830d3e5c10f13373fcb233151cbc3ec000eb3d67e0f0330000000013a4453e4bb3cf3dec032a3600000000fe7eb53cbd3a8d3d000000000799e0339ab8ad3793c4863bc1befe3327d33d36940e8a370d4f3f386c5c78370fe7e53561d343363eebd2374636b036bcddc232ae4014330466e432bc95dc320000000000000000000000000000000068fabe327b15113377a405352642d73229f90934232afb3328b6cf33a8bcea3381daa533c4f0723350705133e63a7f330000000000000000d8b503370000000000000000000000000000000000000000adb39733aa7c5f3340780a379eb92837feeffa3531a3303f116c9f3eb4da32363a7dd732cc01263fd84cb43e3c81f032000000006cc2093f182cac3e000000000acbd332b6f2cb3e7b1d963e90f4ea3242b6eb331715833ea8fa733eb985f833c3718133e61bfc3d6c2f303e0d5a8533000000003b26543afff4c83d0000000000000000d5f9183793a3ca39000000004bc36c334ed9f036c38f2538b3457433f0d7c436e710603787001838f10ce13600000000000000007c009435000000000000000000000000000000000000000020254d33669fae33c4423c36ba133a34b1ffef33ca2fd5331888c93382bbea3393578933ce13503308321937926e3c3400000000000000000000000000000000000000000000000072310636000000002fa0cc364e03e436fe62993717d45c370324bc36e587fe3ee83f013fc048b63600000000941def3ecf7c083f00000000000000007596c23ee570033f000000006fb84033c5cb873e5a60e03eb9d0773308b7cb331b62343e075fa63e9c29eb336edb5633a510873deda46e3e586f573400000000069d9c390332de3d000000000000000094d4bd37a419df3a00000000cac4d0367d10c437bb393038d9f3e1361c786633af915e3719400838db568e33000000000000000000000000000000000000000000000000000000000000000077c87b33e40680331a87873335899b3396560034885ffe334aa000340d3315341e7f1033badd083332067736ad86163300000000000000000000000000000000b03714337c980c33722802330e3f1a334cbf41366edc6a3674152837c370843626fb533326729d3ee5d0313ffd608a3300000000cb47933ee7c4363f0000000000000000e46c5e3e7b682f3f00000000d1f16733598f0d3eb9a1113f04a197333494e03387be9c3d76ffdc3e95e20b34b7c2e5324631d33cc8a7913e65d1013300000000e7304438e164023e00000000cb7eeb32c5541737bc9ece3ad4a0043310944336a9417d37c8140538c9185a3636125e36ebdecb372f760438afaa71363483bb330fd60e344d08da33a7e9d13300000000000000000000000000000000000000006a1282330000000000000000e5e80934c2cdb533d3da9f335c1aca33877f03342905c13388f8a533f4a1c9338abec536e2ef393757fbc237d53d4b370000000000000000cfde6a3700000000e75b093528e2b133a89fd036fc5d5434eadd75364003fd3d76a5603fed502436c41ad033333cf23d6411613f445fe433000000009966673d66b95a3f0000000000000000b1abcf3cb95e2e3f0000000071a0ce33ccfd823c241c013f6ec4d1334e6ccd33e2aa263c4a32a53eee90d23300000000d3a7b43b10880b3e000000000000000029bcdd37194fec3a000000000f36b53468b76637bc2ef03722b89234c39ca536f2888637259aa83769eb6f36d52f0634466a0834a4d0043487a81834e63c63332fa75633155e4533e6e76b34e51e91357c389535b77f9635d3139e35f5651b346d8a003415dee53358580a34facdfd333160d33320d9bc33d37de2330000000000000000d47f5837fc8208377dd289337bb96d33134a4633f9d38b331d4e0e3642d8fc352c6f6c360683ea353b97d03697cfff3b86577e3f1e9a0c36f341eb3388ed8438ed12803f06af0e34be56343311ab8f374aa3683f11ba4a330d827e35de6f973709713a3faede8335ea0ef433b6e30c3799e1093f39da02345ec3c73399bca038962db33e2a1ed633000000004af5243851821c3e2952ca33716d14333db772373794133d186071330c390536465a4337bf7a0e385bc2ca3500000000000000000000000000000000f935a23414719c34e86396344c69b134385d4734fd233c34b5f52c34d5a84e348da003354026d034ef5d4c342821a535edb485349ee87c34150c693489b28a349d904c3403cf413431bd323420e515373ddb8434c3d7c734f8a95b341eedf8342697d634ab6ccb345defbb349d9dde340000000000000000000000000000000000000000000000000000803f000000003ec38634ff598834b013803f1a6b9f34ca771e34fd551734a6ba623f815f3234b0993434dbe7fc34ded4313f8fa88b3534b054348e7e4b349c89003f54896f3491a52234917d93370e119d3e976802364ea7aa34a7564e34adbcf33df1f0bf346283aa3421bca3345833253c049bbf340000000000000000000000000000000000000000000000000000000000000000383646363c4591364ff7e237c4cba936ec7e11361acb203668e5d536c6fe443600000000e4f474357c10cd35c52c8535ccfd8836788da436a08a71372a10b0367fb88536a95d9236348aa1367fc292363a597b36d481693741879737e6dd82360a80943609949337fedded37dd7c9c3600000000000000000000000000000000000000000000803f000000000000000029d45636d324763f96c6053802e2aa3626a9143678075a3ff6f0c237f03b44368f680c35b97b2b3f3b9dca351e8c6035ce709936e192fb3e37779637c669b13613578f362b7aa13ec52da536d2ae8d36c7e08d36bedf0a3eb90e4f378fd57036e1d49f3688f0db3994429a372ae2963600000000000000000000000000000000c60202365c3e3d36d8d4ab395b747f374719d136dd4ff63627424338af000d373a2654366c786036eeaa87381a5a873640ca0c36f7411036b93d973834563836d030ee3619a4fd36b6d69a37efb01537a0c15736dd0a4a36287ebc383723703651ea2336443049363e7ade38974a72362065f136279df836a887063716c508377ad69236feeb9036abc95438c74e6e3817e00f36c2c2713fc9bb343d1b944636b8d9d4364212593f18b7913d927705374e02593614903b3f6d5e913d17f78736aa191336351d0f3fe1ee3b3df3b043369120e8368f5cc63e5560c23c0c09113768f45336349c603e3b81183bbaa57736d4d937368ac9bc3ce5590f3be6e57336198de7362e960737b80da93c37380c37570982368fa2a63675c0f539f901263881a6d43574342f36b6c2c33ad27f5936ebab9b36c4f3f23688bda738fc600d37000000004fc998355fd6a938eba4003600000000cd34ac34dad6a738040c9035c3c09336792dab363e409b3736e5bf36000000000000000016028f3800000000bf7f2e3413184735035c0138a4dad7358c19d6369096e6368bf511386bc7a43707272036fc0d263659a97536472678365e2f023636704f3fa98a2c3e5f733a36fb2da536f76e393f7d62543e1473f7369df04634ad7e173fe622423ee82ce435000000006247cf3e414a4b3e70b13735ef5293368c00833ec2912e3e7ed8a33600000000eb269c3de13a2e3e000000003afd05353a8dd73758e1003ea0a5c835bc5dc936f1d70b3754be803d09df0337be982036dcc32736d9dfa73c4341573609f8f53566fd47362583713c245a093645cc7a369724cd36c6b02238046ce2366ee484357d101a36a12efb37936b15360000000000000000df0ba13700000000f5d05336b67aa236df1cc437f1eac836f25a373609096a3680a92c38057960362723ca358f0a1a369d7f0f37ca4618364ab1c3360570dc361e5d35385dde9e3712cd52366e9d6d36ef12823632536f368036f835acf9233f4961a43e3ee70236ce488c3662e20f3f36a7bb3ed080c7364746b6352d97d53e7f20b93e1042023600000000aa338c3e2458b33e0000000067b97136eac4053e3eecaf3ed9fdb3360de43f36648388389464913ecc065a36e851d13556935136983c2a3edb7b0f36022ebe3692240637f4b1813d6624033704a74d36dfbb7a3671689a3ca98e64361cc3873665d42738829c573b19f08c36fadaee360b6c0537a619b53816bd0437e7c226363d6928366a31db386eb21936c4287736867f763637a382384e507d3676ede33672b9f136ac5e5c389e45fd3609598736012d7e36c7784138b3727b36adfd1d36ee171b36368ca638e9eab5366171f9363865fe360ef13f381ff60637e4958b36d2038e363d64d3380c4c8a38cdd98c36dbedf83eeb66fc3e08117f36fa2cf036fa27d03ed429053f554af736214e2b36b5cf913e47da043f91d11236a8fa7b36ea14163e50dd043fccb98136ba5fe036a24daf3d9d50d43e17f9ef36d5948636432faa3882b8ab3e033e8036448f1a3694931638dbb1493e6bb93936d2b9f2361dfb0637b13b973ddfc6053768b084366162293814169d3c476e9036e569403657926f363c4c423b2e8272364bc3d0361cac0737a319b838f8e6f536f09c913518721936381c4f37c8f20836a0611836bac34d369669df377f4f6336354fa636516bba363c2f2f37a993c1360000000000000000fd2aa13600000000e8ddad35c035f435c5c61937f29f28361963cd36a4ead1368e0649376a39e936c0760a36513a05368fa16637738337368fef4f36ffe6a43e9b2e283f12024c36b06ed5369d50843e78b92d3f9af1c3360f34d03579310d3e5774323fe1cac83559a9333675b8423dc43d2b3fc94741369d6ea8362989dc3740c8063f009e943600000000000000003bd5c03e000000008248d935adb93636af6f633e4b120c36a55fc4362aedf5366abd933d9d3fc736840315365ab20336501ec63c1de40b36ce124b36a1378a364013a53ac576243634c3df36c75929379bfe8e38e621f43666fc663579f5db35b4b6ef36feae85355d019632000000008966143700000000b0bc8a3652e69736cc0fbb36626cbc360729c334f0986b35de869d3506c5303514d0d7354ba60336237c1b38068fca35156af43609f9fc3629f34b3871c21537bf393e36e2a05c36c4a35a382f133b367f5347368e462e3ece0e4f3f1c900f3698b3e9366ac7d13dd6b9553f3927c936eb26a3351d68a13c3ce55a3f16212a3500000000125eb338f807413f00000000ef549336eb99cd369f05133fae33a33663d51a35df3bfa37ac76cb3eeeb0f6349976ce355051c3376993603e1b34a3358b68f13663e47a37bd688c3d0d24f2361ecc3c36e37062364c7da53c491b25362a4db6361897493801e50e39a35793366d280337c82e093773e60537821001374b8d5136bd8e5936bca9423674e34a36aa596c36d92162364b044636e6c44f3699690a37bc87093717df0937ecb209373db244360c943236342332369c9f2936ad448636e552843674995b380f53813639310437b1a805379156ae3768d90637b9624f36461d54362443b238ced5143745c5ba36ef401c3df23c763f98bb7e36a6050337a9ca2f384dcb7a3f380aec360453523624ca62383fa7793f89ea373663e6653687e25e389a73473f4d904a36a3790637ebd218376df1163fccebfa364c4f4136c3b0ee373980ca3e50201e365a7a8136a3752738cd024a3ee32c7b36ac1201371b171137a64ea63df544fc36c4174c36b4478538e4a7453cd589363600000000000000000000000000000000caf28d3696838e36c67b9f36675ad2369c676936baf55b363e597a36b0d909377a128a3635ed8436aea98f36c530983661adad36df3c9f364618a9360d94b036bd085135c10d2135fb4895351cc1bd35ded33d36a2613d3689455436136b4f3640d9b036fa809d3641bca137cb17fa360000000000000000000000000000000000000000000000000000803f000000008136873612979e364bfe7f3f1671a436925b683652ff85365e585d3fa3bd083738018b36c3e39d363f6f2f3fb48e91368a6aaa368ae6b6361266023f44fcad363d8c4335537eba358e53a93e481aae3516374036549c583675fe173e3d7c37364944aa3667d5b43603481f3d5b2a9b360000000000000000000000000000000000000000000000000000000000000000c679a3327c10b4320d9b47395f0efc36bc8a9c3444dc033531d0d7387029d13691666c348b9e813518ffc438f9e0b235cd9ce8339fc0d7338d2d03380a2ea433859e95356df5a63648608d3764c86735c0eb43357be13a37af6c163735dd233540c7aa34f9b67937e02bec3704b9473400000000000000000000000000000000000000000000803f00000000000000008900983201326f3fa6349b380d55cb357b9bb83455704a3ffea697389ea90e36d4448f3429b3213fbe8c483810729a35d0a2df331495f43e2c6914370f1a9533cdcba635da82a73eeadf2036c8e726357d454135d6f7363e72b12b3580cb1e35ee3497342519b03ce5925e347b213634000000000000000000000000000000001068a63327a3ba331f348c3c90e9f43600000000c0f0af3486b6823be3f1e0366a9c7b3433e9883413f6213b6328f837b5029b34bddaac3454191c3aec5dfd35953d6235c15f0c36c2f6ba3a419e72369275433542146235b99c0a3ac0eb7535adcee1343282ed342b90203a5e5ff8340000000000000000711c4f389e0b2537bd5e9033ef44ed3349d55136a82bf334b038a933cd66613f04f2513d70ed013400000000628b4b3f4a06ad3d32425e36419382349cbd253f9812a33d6043a4356568a234749afd3e6ca38b3df6a1eb35b5a67f35efd1ad3eb519493d2a0c59360bd7513598ed433e44540a3d7be38035d0c7e634fd60ef3cb79aca3c622ffc3400000000cc51953618fa303dbdb41d3681a495336fd06934ba96e93c8b9d0f3552926b33b10fe033326fdc3c02bc1334909364349a7292340b1eae3c78d4e2351809cc34c3f1aa36518d9f3c85f16c37e1cb36341e9f5c34b39bb13b8ff8223525ce3134ce74f43564cc8d3c7dd55c36a9b937352111143666cc7e3c0bc03337bbbe8c341e2e8e3480ee5f399aad3a3700000000000000009c43143866ef8b37df5adc34d8767d350492703765dd25376219af336e643c3fa67b3c3e96422034fef96934372c213f6df14d3e73ddbf350d30d9349a17023f6b684c3e9779e3363371483459dbb63e4dd34f3e1ee82335685b36342035693eba3a413e330a3936396cbd357f97993d7d173d3efa3d69360a948e34c2fe5337159f0c3e49a9be3400000000c8b5b13546c79c3d23951c369c51e33480dad8355de0223d68c652365c73c933e689cf338fba093d9807cf3300000000000000004cf7db3c000000009147483418fd8734ecb0e23cf4c58c34b7fd9534c1cdda3575353c3b876135352b760b34d5551534a0fe8c3c83a71c3478631a342efb43342c729a3c9c547a34ebe9c5349c9bed34c0c83238fe7a1d37b4092334e00237349fed2d3887833a37c9e490343d87b234f7ba113809724e378b9fca33216e173f7585a53e2b1bcb3300000000764bf73ef34eaf3e000000001e746234eab5b83e2581b33e92d08e3418999734e4a4773edb26b63e5f5ca034768f0d343206fe3de68da63ea2561d34c2ce203419f00a3c38c38e3efbec8d34ca7fd834d81da536de8d4d3e82ab06351f6e2a343d9541347d6de53d8fb25f3433319e345f0ba435b27a313d70a8183591053a33334349335eacfe3c33785a33959c8a3128a59c364761f63cf41f403617aed134d6bbf435ea24163b8f1ad535dcd7eb3476fef434448dc43c929df7341d89b23519835836a80aca3c335b4937a5aefc341bf1ff34d589943cd48df034e640c234a2dfc83493733b387194e7365e84a32f31504e3563245a38332c10375daf673373616233e622f137a665703511263e339a16e93ea917f03e0235613317273c351a5ab33e285cf83ebbc8c434fdaed0343ebc823e43ba023f30c9c4342345ee343498033e0f5cfc3e0bc6f9344b09023687fab83d8768c53ed1af3536f557fc34cc27ee3506deac3e6c72ef34ea14c434c7eb9236390a6e3e0c6653355c78133057149436fd000b3e19546b36d33865337b1b5f33b2463b3de1d24633d713d7340863cc3643bbe23cc78bb034c58355340197ae34d66c093d5da93b3433f10935a835093571a2d03c5984f1341632953476999234347cb13c16fb3d34192c1b34d14c1f349891cf3c1c0c16346928a034b45aa334dc4d093cefc179370a977a345a34943400570a38ff372f3700000000000000005c4a88380c1b0b3611f1c8339335cd331624ea38ae1cd0333a3ddc345104a43efb001c3f37d6a834901868343def663edc36213ff4f93434a81f083511a3e53d4a9d293ffbb8eb3421e2943473e6403d532a203f491b2d342df81c348b6aae373559023fb4ac11346b7fa03435dadf37ef9cc83e88a19934999f8834ec5f0b37ba09863e530d783400000000b3c8dc2fb941183e00000000b892ca33486cd033abe9573d9852cf33ee081f369acd8c365495033dd092b9359d40c635882b0137e326903c00000000131b8634fc798236d054a63c68a18c348184543675fe73362cf50b3cb98a9b36d47700363c5950360fcf763c31da3c367c5c763482762b355fa6283cf6cf593470588d3647eaf9364ab5373c76539d37da8e903529efca3570c77a3c54aa7e36f2702134c3382c341d73023ccc50f93368663a368c873d3e52683e3f9506563503f1f73557e3f53d5158493f000000000adb8734e3880b3dec074f3fa4af8e34d7785d36f1bf7438de7b373f0fb7063670d91536611acb36af450d3f5aa4ce35e752c6344434c035499fd93e05f05634ee89a93687adc0377b48863ee6d88d3687f2a635941f943670c2083e1a006e34f579203407f32c34641a3b3d6404e0331ebd2b3547990e353585c73cb7524b34b8471536dbac2f36597d113a00000000c4cbff341c58ff34e4592b3806d7eb34a6898335cae48435aa9a10370d215b35302e4236b44d5c3630c3e0381f6d693612e0b43509d9e7353c142338cea285354ffc7e3523d5a835d66e473c478a99371deb5c3637915a36e8dcf93c4a971437c5d20f3411e60434cda03e3c1ccaff36404b21352b2e6c3ddfd7633fdefcf333c578173645aa90381dde743f00000000aeb5fd34761b3037d11e723f3183e83471d083350589ae35c65e463f64f258350e3d473651f3cd36f6511c3f6ab3fd35040cd335b93b20360a64df3e96bba73457979735c5d271381e8f843efef0843431545a36adba8437f740b13d00000000fd810834e0764b37b56f243dc175b3330000000000000000000000000000000030fd1734a2cf38346bb9593499ef8a37527e1235640d1e3568bd2b35a2f50f37852ba1344e0d35353f08b1353c75083782f76f33cfb08c335fff1436f17e2b37eb51183510e78a35bf8ec737e34e2837df30cf35026dfb3557181d38dbe32e3794c85335f999ad3504c23e383edd16370000000000000000000000000000000000000000000000000000803f00000000ba6328342c4c4b3452927a3fdc0ad0342c2b1935d95c2535b15c523f318fee364d65ab3410338a35e8592c3f7dea093614a8853336f09b332dc3053f6f65d133176e5235212cca3596bfbc3e1cbb8135a1a0e43570ee0b374966563e8e870635d92d5635693a4037107a863da068af320000000000000000000000000000000000000000000000000000000000000000aa120a35fd1f063554f11835e69116355df0fb34cac2fd340ec17735ae101735f2db8f33441f663367331b33b625be33ffb68534aa7f67340cbf79348e705a342846793327de6833cbe1a63347b885337e100133dc51963600000000703a1f330000000080d29137000000000000000000000000000000000000000000000000000000000000803f0000000000000000da50f4345c8d7a3fb1ec2a35554d0835e8487b3495dd603f5cbaa73527248a3444cdf931cd06373f1de803347800263489e034345f9a063f91de9a34b4380c34f5459533979ba43e820e4334d7ed8e3300000000d7691b3e050b9733046dcc3300000000fb2a1e3d0000000000000000000000000000000000000000000000008cd3d5334741a434215408350f271a350f68723436b4e234180b1a358d230c352f2559336d4870345873a935c4f3a2358edf3d35b15f87359b9ed035c9fa20363b3ea43430140f35a3f52a351eca1b35d9103a345cc745340779c9343729c034777045344509523508ad0336a9d9f335000000000000000000000000000000008736903189cf90310fb1793161f6c631a89c97337d71783fd0c91b3d3bf4063560c2aa34c8e8633f0fdf4c3d9b01ee3410d98633dcba4e3f2a11e23c7833683577c7353559e3223fed73fa3b34d016363965f0346551ea3ea0c9c33b6796f13471474e341c508e3e079e943bae151134dcf81b3428a1e23d2ea0f83a6036d63500000000d04c543945aaf33a00000000d7f5a930ba077131a6dc8c31c0d6aa31da313735799456354dc28435d2694b35759da034b64cf8347cd3fa34f089a4346e6d9c32cc9b4c322908a032d96eee31183f3c34bafb6834ed268734a6953c34524d833417399c34a4fcb534c44b643467e38c333f6a6333eee7803390104a334473303479d74f3648ff703421e222342a71de337b081e348461433461acad33956fac33a8af3b3304dacd3216f49532f5ab1a3547f0583f8372253e0ed03435dfe4a4349ba24c3f6213393e00ef9c3400000000ad382c3f6d6a213e0000000000465c34f46f003f72031b3ec6813e34c20580348992ab3ea5930c3e42395a3417fc2833a17c1b3efe1a163eb1e5103351695c34c5a3c33b71b0dc3d16cd3b344ffbfb3336ef3f37e3efdc3c9fa2ac3311996632367925336b97d038b4151b33d6c2763393328633370f3b346c7d813321ff79349c347834116a5035434c8a3421d2e5342bff7835fd88a03543b2eb3488628533cd7a9733b645803337168133fa156434829a2235d9834034950f1134ac05bb34f484a934440597345059a434000000001f629737f0608e370000000057b0283432cc0635ed603337fd620b34ee150535fc200335e93b34352f881635ef214333ffd6323f01f29e3e25bf7633982661345e53203f24b2b73eb9197234fa2e8d34e698013fdfdead3e4095a53414802d331c13b73ebe63a33e90897f335e64223486ae4a3e00ef923e87f80f3427fe743458e06d3d122f793e7d05853400000000add88f3a40550c3e00000000ced61734554f443822d8ab3c495e13348bc0f3345cd784376ef30f38ec1e0e35fad9ad33ca20d43322074036b403c5337bcc57336edd73345ca5d934724c85334c4bff340d34ae351f9ac635bea69a35294d3a34d96e4e349f27c83445332c35000000008f88e734755fdc344031da34b47c3334b2dc19350731ca342394073524060935b93e7e36fbe39b36851fc935efa49733b33921344daeb2337e0b5d346f54cc33b8d7c833dffbd233379cfe3322d5a533793b003f9dc4023f51078633e2c18f332f9de83edacd073ff544db309340f9349e32af3e96bd053f1a071435196e3334f6ac4d3e8376fc3e740b3834e6e4de33f1a2d43ddf9bcf3ea65510345bce23344e9bd33ce089973e7b9ea5344eb9203508304a3bae58163e61a8893579763733a2dbb2374da0fd3c0b091d340ebc983311579c377b738c39847bf233a11d0e35f74223371362a537891c0e35c9be2234ac703637fbaff0363f85093400000000000000000000000000000000cef891343a34a33479ecc234512ea0343fa63f34d12c5a34820f80348f3c1134625cb43360a266378145a8338fcf8533fa19b43420d2be34a1bdea341808b734388f8634a643a034e7400937b6977734ed559633f0f8993305bab633715f8b33d81ef834fdfba43e4195303fa0a0f534811232344c7b913e7528343f882dc83300000000c510303e8b9d333f00000000272a8734fc6bb23d5942203f75577d34dde5353417cb053d8813fd3ec5b8ef333b035533b6ba1a3c8335a83e9df2f03227a5af34bb63a33acde6273e0c2bc134d7528e343dfe15387f45de3c41656f3414b477330ac6e137d339c539a6f970335b46dd33d56b863661408634f480133392faeb33254aad36d3590634fee89a33cec2303462bf4235ce3a4d34372f2e346f2c8833a9c288338b273a33f92f5a337d4c9f348e7e8534c65b93344455753436c33c34411b2f34492f643470a24d34284c0432f527dd376f45c737941614309c3ec33496b4cf366d5143371f7cd5348c634b35b0b03d354e3d8135037f5135439217338551203e3e8e5a3f5f0f8c32bc61f2331b52fe3db3515c3f5fc89f33acec3a3450f1273d6ec35a3f803628346c1544330883e63b8d96353f246a1433f0ce7a340beff23b2114093f17d975348720433411dfa23c5af8ad3e892250342bf1da304b7bbd3cbab6213e00000000c3caa9340a94cf3af8b9d63cfb6ea934686935358a26b339ba3f76394d193f35a51f783183b99131450e9531acc24731000000000000000000000000000000004f89da34e49f83354181f2343dfa2535076462347a1a143410b21434b1955934214b03353cfb0c35cd039d347ab6a73456c1ab3549efc735bf20b035a88db8354275c8345c144d3581487b356007883572de03355569e034afb911358470b2344634003570942c3701bf203719f71335ed3e34319afbe93ca1427b3f52d28a2f0000000009b3963b7a05803f000000000e572335bd88c93745b1653f000000007e836634d61200388d6e3a3f03ea3d34902cf734b0f9e1371db50c3f93d40535b85ca4357f11d53af071bb3e6e75a535090605355c29be3b31182e3ef09ada34ae5ee43425badc37a0928c3d0e8be1348288af340a0b2638166d8139a0e0d2340000000000000000000000000000000000000000000000000000000000000000d6988c33f88e9933eeca1d335d69a6326f4693335b52ad33b90f113453c28133c9bf3534c8317e34a1d44f34866ba233db1cf933df3bfe333effaf3351578d330b4aaf34605dcc34caa1073591480235aba2063523591435e31817356614e5340000000000000000000000000000000000000000000000000000803f000000000000000000000000c6f3783f0000000056cc2233482d7d3296805c3f00000000d99ab533b612d433e20f313feb909733ca361c3495a4aa34be89f93ec5a406340864bc33e6a273337b6b983e2dcd7b320df098348403013757cf043e06892d3577970c35ab6a2a35c752f73cf45e0a3500000000000000000000000000000000000000000000000000000000000000004051cd33eacce13321e20b37baa018340433a632f9e7a532a0879f335693f23208573d333b848533e67ed63333ca3233000000000000000000000000000000002023453535d37735b74397354097983504e0913451d3fa34c3770b3585f1bd3445d0f233fa8f5134b72ea43463c27a3400000000000000000000000000000000000000000000803f0000000000000000d97406349c24723f57d20336d0fe00340023d733c2405d3f0d2acb33672fa134e6369c334e3b313ff6164e33f9594d3300000000bc57023f0000000000000000a84e8535c1f2a73e584bb335accfcd35c334e2347987163e5b184b35e95f9334af8402343ba2a13c56c38134da106034000000000000000000000000000000008c7e98358134f03591b40a3baed2ed35e51072345bb8893424f0b839d670b334cbeb3d342b49df34d39d7f386e9e06353aee89358146b63569c9b0391129a435fda1063452d22234211a983830371e3421326135b0be873563b01e3725a99b35ad6e90355db748361aea87360b382c36a1776f3460efad34854021350a921535a0918e3519cb8a35b631ab3539d5ec350fedae3587816a3fa8e0233de529ab35ee60873470c24d3fc2dd7d3dc14aa03436319c34e987303f2ab27f3db09ead34fdf4a435cc99043f42d1043d0c7893354b355234f1f7b23ec66c3c3b8088003476a47d354528393e62dfe039f92b7c35b07f0136cc30a93cc2bc093a2999f935ef1258346c02d434a4e9e03cf4891435814267357f2687356e15f93cb48ee135adf621316bfa9c3498ca063dcd7fd7335d3498328681d033ec5c863be751b733bf90c734759d9534d102ec39cb07d93421370934dee5163584501f3a098317353cf55a345c4b88349c66ca38404c4e349de7a1358c0a7535a2b895356f0d933528905e341fda94347d8302355975cc3494c63735d32d3535a39f303596eb23352b5cfe34489ee5347aa4ed340f68fb346512c131cffe453f36cd1e3eb345293141f96633a605293f2f6d483ec098713245b697347595013fbe35343eacabbd34a2309f3453e6aa3e7260233eeeccb7349a0f45348dd9333edf0e0c3ef6ab0934bbe44435959e403b7b30203e862fa93591e03e343aa9f134ef681b3ec0809e3420ab103501a527351e85c43d9f451a357831eb342ccec8348858833db7ad4835a070953406992c355eea673dc17bf334534dd734888f3635aebc973b613e3b356acd02352ef91e3564e04a3acc23183500000000c1ef4635d744093afb4a6134888b9a3497810435509a30350a920235f5cb5b35088b703566498e35147e8b3576dae233b605ae34057ca834a62b953413f75c34f3c8993474c0de3443f5af3481c00b34e9d705348327bc3463adfb34609f0035f4b71a3f9866923e6d10c834ddbdfe343617f33e3922aa3e13971e35ac180d35dcdfa83ef862a93ec56ed034fd61a434dc91433edcdd9c3ec8a5cd329433ce348e08ed3b2e21aa3ec301d534f32768350d1f90354b89a23ee9c36235c03c973402b2de3428f88d3edd915e343b1683340787d034ec8e403e3f559234f26cc632bf8d513415c7c93d208ed334c35691354b8ff5351757663d0a02b6357db8b034d852073507159e3bb637923417fdab349f34ea34f692473a6c38d4340fcec03534d820369d81093ad04c0136e954da3315125434a8d4bc351c443c33df7dc535e570db35fa12cb3577132b36dd26c534b5308a3449de9034a0581235f2af9034a8967834bfe89134938de234b976d13589bcec356f690639b1441a3691d2aa35ee3cd73e6cace13e6c2781357d11de34fc3e9d3ef915f63e38cc4a340328c434b08a463eb326f83ebe81643421130236468d143dbb7bfe3e6bd0bb35c888c93365b545368502013f40ed8d327849ba3523d50036e431f33edb351e36d0f9ad345b13be34bc91a93efdb70e35b2bf6a341507923421325f3e62a0ea34a9ba99350c5bf835f0f3bf3d3e96f7356f365a3422e606357432ba3c482e7134af5b9d3425abcb340da98c3bef48b13431fb2535567699347b7f5b39dbefb034a6435635c2677035367f9835f7b084358f90193559ab0a35ea052e357aaef034717d56355bd774346e249834b1c3a13489e146351e89063570d83b351f05193564cc5f35fad74635651c4335b1da2f35f626223544cd093520969439c4c9193579599934a2d7853e3270203f107e2831c4ee9934cfa2323eaf98243fafa34c343bd8df34a3db833d15632a3ff805af34ee856435019d19399498303f4ce95435e1def23407ec0935bbe02a3fad3db934d1409934e38091342efe023f874e4535e1a6113511311835784db23e60d2ff34f8412f3583ad32350ad4493e15bb1e35a78d1c3522e5fb347d67803d7c761735cd02a434040765355878a23b90c9b834a761d93419082f3581191839fed62835296e833417b5b434163e0435ec2bbc34b68ba435bbe08d3592046f35930490353f62cf33a0e14e343f9a8f3470325a34e672b6344f7ed53442c40c35b2952735bc5a7c3413698e3419188f34b201a134eb058e33fe4d5d33994596330630ac3398731c343fa4b233170f66391f3fac341e60fb346fb00b3ef33d4d3f866698345efcf9342b23bc3dd5e8513f90d30d351a298d340962f13986015b3fd206383445a49b355637b93566cd583fe785523526a8ff3375237e34e4ea313f93352534178692346a66fd34e9fa033f2c86ee345458b134d575c23430e0a63e26978634b42a8733ce2390330b15193e86017a3378481231f824ea33da2f393dafe25034f0259c3501f9b935d316513a202c8d35b48d3a35a7af283521eac3345c769c34f3c30b361ba3df35917ca835f1482236596a893515a3673524075d3519199c3523d8823425ab34348a5af533b97d2c341c93b2351769a9354250ad35e4c5c835189fe93465829234e6f0993476322035d2edb6343a9c9f3465d847373c5eab348c7efd35ade6f03583941738815c8b370348a935bd59d63c2417733f4b734735107f273562f68938bffc793ff4c76734e73be8355de82d367b797b3f654ee235365582359b2e8a35b03f533f3f269135be177834a3cf2c346054273fd79fce3396cea335d9a79d358833e93e31d2b53558bbdb34bd97bf34a052823e444b19351e61aa349bffa834d4050f3ea2d193348d5ada35cec9203724503f3df813d63500000000000000000000000000000000f768a034873b8d3403ba9d34e2bd6634780236358dcfc8348380ee34db6703350fcc153667519a3509d64f35e70eb93500000000000000000000000000000000ac5194337c6e3033c412163405b74934a86e583510baa333cd9131343f9b7e347ed42134369f2134902b80346cc113340000000000000000000000000000000000000000000000000000803f00000000367e7534676d863476437c3fd9c3373415ceb8341132b4348fd55b3f019201355d6fe535d2069e35afce2d3f6bc897350000000000000000582cfe3e00000000e9fc70332b191733abbda03e728d3534448d0735bd4e403336ea0f3ee81b0234a2ad1534e60f2434c2746d3d0c2c9533000000000000000000000000000000000000000000000000000000000000000041d8fd349da8e0348a21a738d70d8234804f613101f20e34c378383c3a6f973200000000000000004b4bf93800000000000000000723d437f469dc38000000008ac383355b388a377f601e38202532340000000062c4993764b9fc37000000002059143454e2cc37a423b5380000000000000000000000000000000000000000000000000000803f000000000000000025a70a35a3a6693fc10bf6378852833465d87f31311b513fbf37f9377300e93100000000a54a263fffbe0b380000000000000000ae86fe3efe909b3700000000ae0c9635b454b33ecadc4535000000000000000081ea253e000000000000000037a83d345712e83c54ed5637000000000000000000000000000000000000000000000000000000001d81803da699ac370000000000000000bda8ae3de1a0d737deaba32f8cbdf72fc0cf843d268e80370000000000000000661b393d0000000000000000000000003b25a43a0000000000000000b0721f364647f4390000000000000000000000003570013a000000000000000000000000ccedc7383ba0d037ea096e31b3bba7315dcd573846572b3800000000ebf2563ff63fb439000000000000000027793c3f22307a3c00000000790dc42fbe68173f6368f03bd5be1d3000000000f6e1d23ed407d4380000000000000000fb4e8b3ea12aa138000000000000000095ccd23d241f473800000000000000009a251839d9800739000000000000000000000000c26f4d3d00000000f4eb8a31d54fb13108d29f3d055737370000000000000000e943d13d5310473000000000000000006aa4ea3d00000000be808534b29108354440c83d19531736db1323320d0cdb335d33c63d8db3d83500000000000000008b78b43d000000002c924d34a70424340f5a813b142c363600000000000000009870df385921063800000000000000002f358838b64130386277a433d23988339f19db371261e5370000000035792d3f6b74a53d00000000000000002550003fd01b8b3d0000000097245a34ceb9b23e572d6c3d7176ff35fbe11932fdae393ec114f83c02ae983500000000df50043dc50a1e3d00000000a2b520349d948b37917bda3d7f0b1b36000000002c271237b128383e42e07235000000000000000039ee3c3e00000000b4da7133c35f8e336dac103ef0d2ef332c9a1334c9962235ce3b363e7b85103500000000000000006bf4373e000000000000000065750634b8260b3e000000001a5b1135de43ca3511e9ea3d9d5ed63400000000000000007558b83c0000000000000000d03ad734fda83a39cabf2e3500000000f97c6c35331848380a5c90370000000000000000398d433804bca037a1a58b30399fca301fda3238e8acd237eae71934c5c1e03eeee80c3e6ba724350000000026ae8c3e0564043e0000000000000000f160253e52a11d3e000000005ea983354401cd3c6394353e207ccf3400000000714559388416823e0000000000000000cd948137eddfb53e00000000000000006e5f3e36ee29c43e01b5063600000000000000009d78b73e00000000c04aa73094672032472b803e7977423100000000dae903373483443e0ada89340000000000000000dc06363e0000000028d99334ebdf95352460f53ddc5b2e352bf779348e4ce3354111543d1f9aca350000000000000000128b73390000000033cc4c314499173557b88e38656d183600000000000000008ba4103870e0fa3600000000000000000bc8013828ef593700000000000000009994873875a2593800000000e5338d3e9b07883e0000000000000000b6cd0a3e8b56893e000000008cfc2e35f25d4d3dce13ac3e000000003adf3e35acfe3b3880edc73e7f7d2e35000000009b2ed1379da4003f0000000083e84e34dd2b13367c90103fcb559c3500000000a0548735d41c003f15e48c350000000000000000bf4cda3e00000000000000008cfc5236e5818c3e19fb6d34f4d56431d6183f31d9b7303eea56043100000000000000008c44043e000000009e02ac35eebc1d36e1139d3dcac7cc350000000000000000aaa3333ae90f3a350000000000000000ab1088385ea32d37b120ef34940ff23484104e38e80024370000000000000000a7be893893b0e3370000000000000000b7e17c381120da37cce43535095e3535968e2d382254b2373684533161a4193e49efde3ef52ad430000000007ab0513d3fa6ef3e00000000af0a0236aa48be38a82c0c3f8417f33400000000e4454c38b139263f970a2f3400000000ca1e4f37daa73a3f00000000fdafb33419f54335fe5e303fe2389a3500000000000000001a4b0e3f000000000000000000000000653ad93e00000000257c2c35281f233593d3813ef87b603419d819344666b0344cecca3d4e398d330000000000000000f711ad3d000000000000000013617635080c853c000000002030b13527fd2f36c04a343855301e3400000000000000006ded4438dce4d4372bba5231b0278935c6463b3832da1d37068aae35ee820a36d0079338b54e0d380000000000000000d61995384160ce370000000080155a325688903c038c0638bbca163486f7cc3dcff92a3fe9d19333000000009072f03c822c353f000000006ae20135c4f6b9381a404f3f00000000576b0636b305b4363a20653f99572e3400000000000000004b9c583f000000003ae82e3513af0b36d3c5323f374e0f328484e3357a5a9b37359d003f9cbc6c3400000000a63098364e14a63e00000000000000006ad904375e09053e0000000036028834ea0092370b068f3d84d6ab31000000000000000051a8973a0000000000000000000000001b2ab438f7de8038000000000000000020eae1376e76283800000000000000002d320d3893c24c380000000000000000b1687b383742523812ed2330b02813301ccced38bef13a38000000000000000019742239c3ec803800000000000000000b2b993994254538ce60d234bab84b3b520e5b3fb028993100000000d65259381bce733f0000000000000000000000008f55803f00000000000000000000000074ae663f000000000000000000000000e84e3b3f000000000000000000000000538b0c3f000000004a012f308edd0b38a851af3ea184f92f00000000fb16433891cf2b3e0000000000000000fd96fa3794b8d43d00000000000000000000000000000000000000000000000000000000fcb77337aa5e733800000000000000000000000031b20a390000000000000000deb64b359637113800000000000000004e5c5d3792f99a380000000000000000b0078737d88cef37c47e08324645e631bdefe637433bda35143f9634156b8e343a9dcf3781c8cb370000000000000000000000000000000000000000000000000000803f0000000000000000000000006fdd793fbff44e37000000000000000015c7573f00000000000000003e505d3479d5273fa8c648370000000000000000e1fe013f6320843700000000000000004c21b63e00000000a6da013202f9d6317680343e27dfb3333cda7d34aec87434bbe3bc3d5f6ce4340000000000000000000000000000000000000000000000000000000000000000f63929352248293597aec43680452a3766970d379e9103375589c3374471eb3738755137b47e2e371f6fc937369b313845c21c376718f4363ad9a1372f70c2378e44d436b3c9a236abf89937a2dab93715b76a37227284372e3cba376840c13768123f372de38f3799c68f37842e8b3700000000000000000000000000000000000000000000803f00000000000000003025fb34d8f47f3fd9fe8737b402c2364819b5363881553ff54b07389428c837c0d72a37707d2a3f87bb82382edccb371199093723a9fe3e7f2d0338b59cae377ffa8336d65da73ef872043885528c37eeac30379440233e132b1338544b963778a31c373def263848a8ab37e3cc6d37000000000000000000000000000000001470ac3614c0d8364b391d38dbf0f437b8917534dbc7493529a07f371e1da0375d449336d5f88e363b2cc9375f48f63783862c3604411e36b9f7b0370cda13383e24a6364da09c36c133d13717ad00389a3a2c3756ba4837f452fb37b01827386ba23f36c47e24374f32d4374f7de53791647d36aa3c0837dd7a5637e07b8337a51e1c373edf5d3786bfb9378e95d537d39087368f577e3f1b6dcd3b65780337238b573458e3773f1cf3003d810aa536d06f63368b464e3fef96ea3c4cadae37df94f235c681253f693dba3cd775613784839136d90ef73e7dad873c1605c0378465d3360ae2a33eb1dbbc39c140ea37be109e34eb071e3e693f4a381569a837ebbd7236cfe2f8372874e537fb9846375f85fc369f48af3708e5f3377bd7c437ec55653670f03637b906d33701169c370bf185353b258835b3937337f88e2e37c6d258379c308737c024113855b1193804de593571195c35da7246370c2195378e93923510459635a9392b3719bf9339055681368e448e36809669379b2886374213f73647fe75370f7eec371df7f23734ff7636702e853690a07137e76366373c19f6360b592d37308656370cea66373a0151361ea8533f0b19313e79a0b336715c7a35164d503f217d3e3e7d748b35e89ff736099f2b3f83bc323ebaa2b537e945543526860d3f3a870b3ef9b19d36f9bc75358f24d53e74a0bc3d9e86b036de047e36cade863ea781443da70b1b37fa7bbe36ec8b0c3ebde6d33b78e1943716ad7536fdf7d73783fef137c48288364cb49e367d593a377876c337b5cb4b3743b88b37d60f21385fbf5c38ff3b18382967f0358335f335dc288237ce77d13694b34536cef13b37684702382d8aff3751716a3602946c3696fcf9362ed619379c3e0036f0163f36ccea9437019fae3784e5b83707b2ee3735652a3867de2e38987ead37d011d33729500d38890009385603893545dff036b4b28937e6d07437e5455e3786409d372f5ffe3785ce02388db65a37c97b293fd6dbac3e1cfd85373b3eda353c0f273f40cbb13e7bd2f235e8d93536fb9e0e3f683b9e3ed5bbed3681c0623632eee13ede9d793e027e6f36d14f0b350f35a53e2afb343e7e506336800800370cd9523eea2add3db9d4ca3747a00a378c80bc3ded5d2c3db0bbb537ff608d35e0901a38ec306c3881f7d13590abe3361906023831483b380d7f8537c83c1f37981fdb37e9ed1d38c674a4376c3ef136e4c64637604fac3752318b37f01426379fde833788a5303899e117382d2e4f37fc4b613784082738e9ea3a3828c21037617d333761309c37cb17a43748959a3750f7d43767a3403818315438f232bc37edc604389016403856122538423171370e2a90372883ab3779339937cad986373682ad37080fe437108bda3716f30a3778a3fd3ec021013f9a810e375cc68436ee54fa3ef6c8023ff6399b36977d65363374d43e9a38e03ed422d5360bf1bc36d463a83ef6bbb53e8366ff36625eb4363c70763eb0bf843e7e73ed369a09fd361584143e40172f3e919f323776f8203752c3773df4f8b03df2324437bd130a375934db37a21e31380c814237008f1e3757cce637b97514386fa68a37c738123753e2e83768ab5138ca418637221e8c35c8ffa6368155863767ad6c36c6b79e37d176b3372f30ee3712ebe237e56edb379e68e3378998153831e71938996de1368902c6362d754c3704be7a37c2b3ce3653e0cc36b3c9f3366b1cdc366e54cc372459e737b04906383257df3709d313365415c236c1ed6237951fdc36004e0c3870501638631e3338410b1f384aa9c936493ea83e6cd02b3fc6f8b2363f6589358cf9a63e7b762c3fd46c8635b73f9e363d4c903efe77153f33dd8036590b3437b26f5e3ec0edef3ebc701b3715410d3517ae1d3e5565b13ef79d0a35ff1c73362a82a83d812c6e3e24d76a363c684d37a2746e3c02ebf33d1b130837106f0436b6c1b0376ed92238805cfe357c3fcf3719812d38d96b54387678df3711942f373f9c5637bc21db37c1f7193702dc7a3647a09736d4b13737647a7c368a8b8a37cada8a37de499537b7258b37ff693d37b01b05379268e6362e2920379a5e0537a772d236679eaf366f37cc36a3a3593747e93537bfc3083774ebd13617370538f00904382fe308387d6cf337ce71bb361ffed836f8a84c37d59d9b36458687372c709437be9fa237c0d151375763e236a44f283eb7dd553fc3231a364c2076368f3a2a3eb969553f7a63623642bedb361530213e5ade323f7b3aad36c8b99836af7ce13dab14143f3ee27936a5f37936403c923d8fecd63e95808a3550eda836053baf3c1125943e94e454353f80c537751c3739d66e1e3e32718f3784c18e35579aaf37d9d26a396286883522cc3a37d80aa0375181c3379040bd36783eb137bdd7cf375ffce537dbcf3237db904c37fc14143792a4cc365cadd1363119b8374299703765f1e5362f896537662b013826acbb37365f73374378b8371279e237c1d99d376f6b58374d7aaa37880ae8375f0f6f377050ce363dbf80373525e337bd4ac1375b6cb1373d48a937879e8837c57b5437337c7f375893e436014ee3378e34a537fd27b93768f65d3713237d37b7d8593835f07f3f74bde5363a26f436bf27243c41667d3f19905c3684174d37affd4f3c0b32553f842a9c344747c83732c5a33b4fa72c3f141ddc36d239a137127b6138542c003f77bcc2364997373704236f38153ca93eb14d3336e0ffbd3775831a38f66c293eff4a0e378306fe36876bc73724955238aa5afd35618f3e37978dc0370d300f382a51ca36000000000000000000000000000000008ddf84371cd12137e8a81e37cb808b37c86da73784bd333787250037258eb137641ea837ba6eab36448360361f8cbf379a73c437d2906e3729de3137e79abd37dc12113880638f376b828237302d0338ea61e237fd72ba379c90c037b962d2374ce42137a5b1b536a33f213785c900370000000000000000000000000000000000000000000000000000803f0000000021643a37c11fa2370bf57f3ffc6c073729bd8137854e0038821c573f40394637380a5737e9ffdf37e6402c3fc8887f37efaea637849fde37a999003f2a2d9737cd4ba4379a812a387edaaa3ead0fa237b07cce37fb51e5377cb3293ecc99a43798faed36eeb20937ff6321382e2d69350000000000000000000000000000000000000000000000000000000000000000f4251035e1e5e737a8d637382d5de837d9f68835c885353891c6f739560ace381c7811378315f437b454f339e0c367396c6cf936bf482c38e982d938427c553879a6193738aa23389a532c39e3553f389f3c953707071238233eb7390aae063898658936bceb89378f6ba7378b4a3e3700000000000000000000000000000000000000000000803f00000000000000002cf11535e2016f3f1d2be038618a5837eda05e360610493f1b71423a7d001938b4f881371121233f2bf0153c4131d837990c8737e1ca013f7698273a5e9032385b3650376d1ab43e07c5cf39fe58f1371660a237ebbe513e1d6f0b3a2f72e937d5983136c5556d3dded8ba37e9e01a370000000000000000000000000000000014a0183633c6da37c1eae139df28a43787a29d364ff3b63628d46b38c9b14f37e57f38366fda0037e92e293885ebc837433e1435e8b92037bcdfff37e535c73721c9823616c45837baecb538b9734b3855a32c35f118893760351a3a64d2633972dd5535aaf55037e2921a383d3de2378c6a43362482073780ed353812849c374f8d1e3684333f37132206382544c33766a61a365f866d3fd5c8913da8591037ce5e9f36a23e5a3f3df89c3d2010ac36bda5383647e0383f8aba933d2ba21737e23b18352042183f9ccb7c3d5309833743a48236ccede93eeebe413d396cca3702a73535ae3ba63ecf5cba3c8688b83753125c350609473ec2ab0c3a51d29537de1d403672cc563d3dcc9438065c3f374dbf1f36921dc2379d2e3c3828a49b377f8e7a368be4d937a13d913923f18537dc938836a6e7403779a6363ad1797937db942036b690c237fc69ce3988fb0e38e1846a36d766fd3613f12d38c26caf3717953c36e9815b37b5c0be39357b2a38f9ed87366017f036f55a423871d54137d5215d363f1dab37f45e3e3997d6df379df028361276de371d1f71394b3c0c3887eb0e36f706c537fb517038dbc92d38d0847936b996483fbb1a5d3ead7d9e36f4bc8836f3e8383f28bf583e06609236622c2336f1091c3f73a4453ea771963738cc68367f50003f7dac1f3ec93d2d370d5e373683f6c33e297ff03d61101d37968e81368827893ed18c9e3deeb6f636d8805b36c0491d3e160c173d1ddc8937faee2636b6db263d5fae5e3a5c88ab375617e835a7bb3338b0d5ee38facae6371c6ee136fc942938a02d313aa288ed37d538ba36039a0238b721383ac2d3eb3748a29036e2ebba37c426a43a5da2cd37e747bd36a7c44a3726ff2239bb98ac37ecf80a37fdf78537d291a2396099a7370c6ee1352c46ad378fe059385f22d337f713b436d6c29e379e3f4a382610b5372510bd36325baa3708be073a3314af37d339d936442c8837fdc12438f579b63733d9e93640b1233ff0e4b73ecec43d379140ba36e5b5173f1d1eb33ed707543725bf923676e4003f14519b3e98e34737cd44b436a4c6d03eb5877d3e0b58043743c10337dfe49e3ec519433e9c995537b3ea923572bb583e7b58083ea168be365dd6b136f7b2f23db9759e3d5fa00337269992366628bb3c955bb83c022982375062bd368636ea376281f538c43f5e3790b2e63517921738d2e05f3a1abfc33732cebb3515b1fa37e612693a03e65637c66b2b355f239b374a85413a90fd8a37f3bd0035b8ea6f3738e1a93938299337e2c85437a70ed337a2eca139e0fedb37752d3c357e359137a448e838e28675376f6a8535985b98371086ed3877da93378ed627368cd4c837abdd9d3816b186370ab60337d0d4e9375b741339f9d6f9375080e6352065fd3e7fe1003f6906a836652ebc3510dfed3ec5b1f83e319bcf3570642d3594c8c63e4417d33ec06b7935b31108353f12a03e9cacae3e6708d83521a34a373a4a743e189d853e22d37a37196e153555ce1f3ea323423e9ceff53572925f35c32eaa3db257ec3d9dfe5f3612f2f4353e859f3b3b1e333d545a7336f1cf9836cf3f1b3819d5ea392ced98376274b636f062ec37b3f5193a2d453e37be6b9436b005b7371e96ac3a5232993729b2af36d26caf37c5ffeb3969919137d4975a36c30cc3379a836c382493af37f24d3b370a029a378af097393b268b3754e60137c7a3a937b7a5833811fb4737c11662375003e93745b45d3a403d9b379522863790ab00382e8d0839f197c937a9bd6537d78b0138410cef38a40a0938b91cba36b9fcb33e4cc2253ff574aa3607939236fe1eaa3e76da1e3fec279136d464ae36b6da8b3e24ca073f9031b336b29638360ec15f3ed87ddf3e7f2a653651243237e194253e7670ac3e06633437f03ff736dd02cd3dd8227a3ea027f5360c3e3b37fdcd2b3d839d183eeb4424375bdf4a375c7c5538b9a3673d97602d379d122a377adc2538dff1d53985edaa37e8707036a5ff4238be833c3a2c4496375f7d2836951c1138183b873af973b03782205f36474dcd375127113a5c70a637149ee5366d802a37589f5e384273f936942105372d29fb37b7b3ad39a537a33739ad1537b931a737ab750b38cd191437bca1ab37f1380f381a71c638899ead3761559436f1ed8837e6c24c3991a29e3664ba17371a6b9a37fcac273866d36c377c3c8d364e5c553e8d5f4a3f4c27d83559262836fae94f3ebe02413f61ee223631526036a8da393ea387203f96eb583671ded036d81e013e9b47073fa656af367304bc36c3b4bd3dae16d03e5e5c5936ea3e9836500b3e3dc6a9973e74b46936670c7037ebac3f3c34853d3ef89be936e6ea93362390e6378820853d49259036d5b5a536ddd5c337219bc7380b50813667f1bf3674dbc837b127013a942817377cc373368ae48537c2607b39dbb6cf36a5dafd36a784b737b41bd038980380379ed18f3761a0cf3748a5043a6c9ca337b99ec93780840e38384b72383944923771bd95379a5ba637598fd937240b43373d217437f0dd9f373cbafc3737d3013729b9f3368aba233710461538889aa83622bb86378689af37a1e34c3888c37e37ebb8be36ecf5823d80736f3f964c1d36895b6b3601fe893dbc34613fd31844361020fd35a788643d65c03f3f09615935cf225b37bbe0173d822e1d3f09d8f73618a25f37c9b9a53cd652f33ed0e011376e6d6f375474073869beaf3eefc88f3668c9b836eea90638ad5b523efcbb40364c92bc3691b99e376db8903d525ca6366d1e1a377a22bf371ae1933904258336000000000000000000000000000000003643ff367471f936c821d937192b9437a0ffd03704b2e63785dcbc39774a8f39d4ebf33783c2d637f4ce8038c5a16a388a4734382afe273833236338307a4f38ce46f0380d6ddd37f6196639bc62003975a14f388047233862f9373927694138a4bdcc3762c3b737ee051c388f9ecd370000000000000000000000000000000000000000000000000000803f000000002e9cb3367c0eb337a31b713fbdc92c37b66cb4373afb8439a90f4b3f4d7c08387f0ba537f744703896b2253fdf7612381c841838120d7c3876c3fb3e8b862c38b9ecbc372a0234394d53b43efa26ef37b02312385331483857e1593e1ea30c3898078037493bc9374a19873dacc34137000000000000000000000000000000000000000000000000000000000000000023232d3821f3fa398966fc39c8f46b39300e553896d9f43905f3213adb22813925678638c10dd0393f39e9390171a139240c07398576eb3934cb0b3a515dc2395409de38ec9a193a5f18343ae4aabd3925b489381202b0390cb4b73902c73c39822f78396c431b3ac526253a70a1e23900000000000000000000000000000000000000000000803f000000000000000034f79a38aadd603ffabafc3981381b395575eb38134c403fc1c22a3ae773403910aa3d3982e31f3ffe26ef39ed307a398ef76d390072fe3e5116153ae209a539341545396f4fbd3e0955353a915787397ae3f138dc3a7a3ea879b139ed49dd3862bf9339e890ec3d3f12213a1f7dbb39000000000000000000000000000000004fb856384674e639701b183aa7098c397ca02b373fb6cd39394fab3a5d286939ef9051374255a239e9f2223abf307a39020ea237b6f0a53944623e3a6c2828394ec3b03780e7223a0110973a46fac339f55dd237863dea3911f29d3a66e839393168a337c723233af4317c3a15bef439df108836f3b9ee38f149ed399e572d38111fb53733e1a239c4a3f239567c8439f9cd8538dd53613f4b07ed3d6eb620398c317a3792f5463f3bbeda3d00e8c738d6dfa637c7f5293f243aba3dc114eb38568ec93759550d3f0f629a3d2236543841a5da370410e13ec8a3723d4ef72539caa0e637cd60a83e6c4d303d889109383c3ab038eca45d3e7773da3cfe66b7397403a6364963e03d2dfe053ac1dfcf37c952b937c131e6397b81f1394d5a2e39f814f737e1c0b33954f4313ab4fb55393b5fe23656241d38bab0ba3c1aac1038a20a10380aa5013abe599c3c1d2bab393fd29c377ffb4b39dae0fb3939c33039b9ff8237b5ceda393fbf243a0a94c739e8fc7f36ad795f388f1e0b3a5a953b38ac222c376ffd7f39d71c663acf932739192600384032b93918ef2a3a18eeab39a316ee37d60cac3995b5053a2c5d9839c6500538e396403fc0bb793e01d18b387bce0237baec273f18de573e64d6e43713361f38b1f10e3fe03d353e6b6230398e63b73717e6f13ea29e1e3e48efef37d583a8375f1cc03e81f2fc3d302d8839f132203702668f3ec9babc3d2966d4374bdb8237f4b63c3eacbe773d6adefe37b41406386360b53d081be83c3fe739397d38f5371c81ec39f3a4093a202853393f5d18388de87f398d232c3ab22cc43831f71638affacc395d9bad3a35e24839e295b136e1b94739e669d03a4c421b39b6e80e38bd1ec9389a84c93a460e863806d35e37818d5839ab1c4f3a7d60b938970c05385f16953913668a3a3c6ffe3870ddbf374803b0393e5c8d3a981dc13951a766379cd73739925a903c778af2387630173878435d3987b66a3a2b5b78395a783138a4f41f3fd884be3e39fd6238fe192438d2d20c3f86a7a83e01e33138542c2537f5eaf03e4c7b903e6a19c0375a5c18380208c83ee97f713eb9952938eacbb4379f2a9f3e3477403e25e21638b6000b3853476c3ec5c60f3e8fa72f3849cfcc370329243ee541aa3d1f4c5c396eca9b37fd32813d9288193d15310a38bc9f183886cb0b3a29a0813a28045e38db328f37e7c2bf39eb3f573a517c293938842538d8b87339efd6073db5bc88383bf04a380504ae39a717613aafb48c39c375af37ffa44b39f80c763a07cc1439e5145238b19ba439c23d703aaa5352392003c837f00061398c695e3ace29f338e12d4d382636af393240223a02fc7e3912e636388c980339afb83e3ad67fc7388ceb86378f666c397f5e363ab2445f39af78bc37caccfe3eba3aff3e6882f3372199463846f6db3ecee7dd3e5f236d3879cc5338c83bc03e0228c13e56cdc83892c9cd3702309f3e577aa13ec19a0a38027f61387cd87d3e0447803e90be8038ae8de037c8c93a3ecf3f413e71a80438b7ba523817eef13d6438013ec992b538065d4838a55a423d07cf603d3c0a7c3822bda237015ecf39e94f4a3af4f8d33839691738fed5db39025aa23adcdfea38b16565373b32673924909b3c38c9af388775cd373317ea399248b03ad3768c3913860e38467754397e86a03a5e36fe387a98833768540c397ee4653a5d400a399f011838faa4a038dbe4893a174c9638d1173637d8e35539dffbc23a48478b38dc1524382e848c39ace8953a94ac0b39b6a62938eaeb0f3951c3163add63de38a5732338e460bc3eb98c203f6b923238a7dfb1372c77a23ee7770b3f61eaf23730a9de377472893e06cbf73e275aff376e7e1238ecdf6b3e285aca3e235f1f38a8a8b537ca5b3b3e29bea13e6bca1f3842351d38591c083e2e0d733efa12293851ad7837c092b03dd505213e97adbd374a5827389d641d3de78da03d9014363874e43338ef8c7439e6cb2c3ae032a138ec63053834c7ae39054b323a9c778439bbbd0c3870cec539f94b603aa1fc8f397d6a9237220f7839542c973ae4b1f438143f40379b3a4a38b041323aacce3f383f538b38df45ce39140e2e3aea6ebd395869ce37726843396195003adabdc438fa9f33382584c139099d9b3c72898939d05e9c3780ff1938b947b83cdcddfc37a9970838960a81398066283a5dc55539156009383953783eebee403f8e14b338a962153864955a3e439d2a3fbd7a1838f6b4b537a5ec3a3eb5d5113ffff6e03757ed8637d9b6193e55c1f33ec24cc937a7e7ed386586f23dc132c23ee5ef6139890ad537ea22af3dea14923e22f9d937861d3638c8d5353db69b383ee397c0387faeb237e52f9b38d160b33d919eb637cc650a389bd0a939c64a583a643e8538112cbe371b5a9239cf05453aec7480391105dc36cc78833834de833a7e873d382750ee3878d6f43940a6cd3a452f0f3ad16fef372c7d333955ddd13a06dc6d393315d93736edb839838ba73a4ff0e03981f20238bcbe2f397e72483adcf61e39165ac63722477a3935f2343ae5bf4e39e86fbf37c54d78394de5b73aad0afc380ddf97382ea29639900f223a8cc296397a54c6371e6aed3dae6a613f50cfb838473c263763e3d93da41c483fb132a83774783a39909baf3d85582a3f2666b9391dcaf737b65e8e3d4cfa0d3ff36a25388ff4e7372de35e3d986de23eb6ecf0389ffa0d38e93e1c3db3f2a93eb84a5238d2dfd137ff74b33c1d08623e1420573867cfd6374f97bc395f16e53d5952e5375b7acd380c8bae392517423a47743139000000000000000000000000000000008ce94639defdd9392829793ab55b143a8df700380e151f39434cfc3952cfa939a6252c390cee9239d521513a06d5113aa57784396ab0b0397a261a3a4061d3395d283139eabf9139c27bed39047ab939637e1039662a6d39c0252e3ad20a9239c689c738bf06553942980d3a283e8f390000000000000000000000000000000000000000000000000000803f0000000012a77c396c8f153a1bc3603f5f09fc3995e111381833943904ac403fc86e923976053b3997a5073a42da1f3f022ef139fa2e8939bc79d739c8e7fe3e1e21c039c3aa3c39ae2cb3399218be3ed4df9f391dd7103979b88939ff717a3e5051673951d3cf38ec0b79391cdaf13dbe7f5039000000000000000000000000000000000000000000000000000000000000000058aa5336760459367a677b3770a0c137754f51358b425435304c2837e17fb237c458dc310933fe310b231437ae4a8137222ea13651b89136bf51b03704ebc53778ad4635f7b7493553ac5935944d6135aaec8a37e2c6cf372b3cf6378383a637e42db133dcbb993538dc0c3629682d3400000000000000000000000000000000000000000000803f00000000000000001aa04836a7c07f3f3ca21c382385af37b4ee503562a1613f16a50d388c7cb2375f50c1315c31303f54fb43385714753733f0d936c14bfe3e22ed29389d70c4371c804b35fd419b3e74575a38afa16135676fa537514cdc3d75e9363815d797371539b23330f70238a845473728d85034000000000000000000000000000000000f253335e16ccb35e056f1375e547837eebfa535e59dad35cc0ede35f55cd63685b579362c907f361d10a83603bc5d37da9558360ca089363b153037c582d2377d39c733bd32c1339076ee37e5ea2038ecd138364ed03936f2317b366e75893695778a36337a4f37873721388d3804386efd8a3434960536c187e13738cab8372ede2336588f4c365ff31737a8b76e3748aad134f16a7d3f6694233c7872ed36e16d9d35cc82783f3679eb3c199ff335aa0f653664a05c3fc26f7e3c625ccc36f50a41361bc92b3fe9df1e3b32419937065cca338336f63e70d8c83a7fda1638dd6829363322923e6830f63a57026236a36c72362418b53d5c1a6d3abb20df37fcc88c34944e7138dabfdd3852218b37a4c3ca3587198836a44203380c906437c6d82235973c2735fd21a237f03a4136c4b50935425e1535328cbc37e704f136bd17bd36dfd2d636e75322374e4938379cd3f735d8021736f419ba365480b7367c3d2035bc9c283567c9d9372bffe23703cc293603b84436f4876936d1b05736e0f8e1360e11a1374e33343889cb0c38e420a63594baa735ca939e372098563604cb0436f988313676221937227a19371a3e1e35c8425d3f25e40a3e63696c355dde0635d606583fe2cb1f3e044f4235626eb53654e1373f6944233e62c00a374aebf7354e8a103f20520b3ef03a8e367a301f35515fcd3ef9cec93d77709b370ef6243641eb703ebce64a3dbaee5736d23bbd3575479c3db8d3c63c06c3c5379cb4a4359c4e6538966070399a30ca353000ec3549cd7936365018381d9ba73653e02036f8724637e4ec2838e2c54f372aed29364eb73a3687d824385bbcec36c4f48c3616a1fe36d4ce1b38eb5c0238c2be1836582b233662223f364c6f403692e47535413971368711dc37d69ca937486fce3591067f36bc6764371e93f13678e5773646d78f3600deee3760629536ead74b3554ad26370766233876a1d037f9440a373c758d37edc0243825ac0b381cbb1636c9cc2d3ff05da43e9c1a3f363dc71a36fa2f293f3166ad3e83524a365073f3350299133fb831a53e6bdb3737dc861236c107e23ebdab833ed6312d364bfc723515719d3e5993403ef933ac364531b735271c323e2c23f73dae497636613c6d36ed0a203d85863f3dc3b78336ec5c4a3592b04738d7c4973834faa23639a9de36af860938d70776381370b637c2ced835407c1e375c45fa37916a023604e14f342827043538ae99372f08e534bc410637c4960d3751cb1437ad151037ff048a36c5c8913609bc9336f87d90367b221b375b958a374839fe37521bbc3738fa9236f3809a36b8d29e3607ab91361ce6133704ea1937e820b437c59c1637b6790f35b2bcb0362c42c43792e563367eec0036575add36e0e58a374b6a0937102bbd35b36ffd3ea84a013fd12ee7350d9140340daef63e3ca6043faf58b6349160f6363bdfd63e8da6f43e88a50437b895843688dba13eae2ec53e25698e369c2917337422663e8def8c3e90dd88365bfe8b361712f53dce79373e55068e365a930a372b95c03cbbdea13db2470b372347fb34daba1638b910613884f6c9344d33ff35d3d28437f0e54238a0aeeb35693948378aef20380c134b38849b123724db3d35e7e78437ff2dca3788324735ce776f3681e68a360ddf8a36044e6c36bb38493682398e36ec5ca23696872b362c57f236cd484237f0d78937af9eac36382c33362bde4a365bc843361c0f22363a7d0138c227373822ac5338ecefbe37603e843618b7dd37c54d36389765a6363db10f375ed69a371017e537e0763f37c9240a37887d9f3e062c303f9c4fb6360b743f3534c7993e5912333f89133b354f746a36f44b893eeb6f253ffca856367381f8357914483e1d93023fa86dc035da185d36f5fc053e0e48bf3e4f296935eb812a36c7ab853dd8ff713e4e7118364afba037891a163a282bcd3d4d6bfc36b3bc493636919738aa49f03952514136d1b44136112705387fa52e38eb652d36e3b279364526d937318f2e373bc20a360f0cc9356fdcc5356fbca43530169f3570adaa378783b0379da063379b1ed336433956362fd36036f9b34736366f34361a46be37a437b4378e57483779964136c9099c36dbb1b1369fb59d3649ec49365aaa3037097e6c3766ec4e3720da073723c06b36547481378a5ac4371491313509e01736f228363651586c36811a5c3549193b36eaee023e6c405f3feba4c23558a5a835ae60f43d276b613f50779f3568c55f377deef53da47f473f14d79735e8ee553699e9a63d4f46223fd3c621369b368337407e3a3d18dfe83efa3f2335342783367d6c253c5a23943eb1b91836a90b0e3772ed483abedcf83d8b9ad63649d1443536b385380f069938c10a1d35ede87e357a0d733780998037f81c293573f8633700fdb8379eef2937e6e920363d260237acf92f37c8cdd435fe4c8434e30fc7371e0e48373e9c743686078136e2fe6536702c5e3635953836db403436f6a9083861e3c1379bd0c033c166c43388857b37944c5737c7b410375bc5fb36890a34379ae62a378f73d33645c79b36b70101360206203799411b37ed27c13518901e3752b56937cb7f1b3754e1e73538c60237c9316c3a43bf7f3f31168f35a74acc368b9a003affd77f3f3a09853471169537367f82380815693f161f5b367586693668a8b139cb5d363fe5bb36365a2b033883afde38ca71043f79f5c233fcca5f3776780c3a30eda63e47f7b9364600f336014eb038a034fb3dfd098d366b8d0136b55661383470003a1f75ba3566398c3658b80a380b9ada37b09ab13500000000000000000000000000000000b698b733efb6b3335bf3b133a976b633317f8437fc926336856b3f368d832c377e1653352762553576dd4a35a3cc4e354f1bc737119b68373cc302374cea99372355663757e61137b694cd363a7222377f2cb037a2519937df55a137e9477f37e0bcc3378fe7bb37ae3be137adf291370000000000000000000000000000000000000000000000000000803f00000000aff0b933ae199c3674fb7f3f6f3ab13346e5573752bbda373c64643fc0441d3754c65d3576f45635ac65323f4dd645351eebb737295f013880cb003f36c68b3750136137df22b737a3919f3e9eddf23610eeb237ecf40938b090f23ddd88ff36f6a4ac3702d804380eba5f3adb0d8a360000000000000000000000000000000000000000000000000000000000000000c9dca9345940bd35455a9937830e7637e2c9bb350a648236319a1338439bec379a7b72353b1b863599fdb437f8ff5b37a33e2036d56408378d350638ed2aa83713828135aa569435825e7d3757e4a535f208aa35d25bd635a6bfde35a03bb635c90e2a36caebc0378cc3f437e3b3483600000000000000000000000000000000000000000000803f000000000000000077cff934088d7f3f13492138a9802637e4aa0636a848573ff37085389fe8ae379c8d803547e12a3f25b332380de10137cc162b36bddcfa3ec3df5038d08685377fdc82353a719f3eb50708382620a935f7f6af3593e00a3e5a748e366596c535787d323631c39738d4501738bc204c36000000000000000000000000000000008da3e02f50d0dd2f8b156d38bd0a4c37d9024e362b9aa736321fd13792c23e375820b435b02c4136d78a1937e21db136aa51ae34d5e26035dc0c96375ce66437fab76236c3f39736e2d51338ac939e37a22b5835cf22f035d903aa377c225736eb269a34830451352bf6a1374c4dca35e43573362040a63610192e385c1e9c370c6cac36d0dec836d6ff7f371c8c8a372d8fe32fa7ea743f7846303d98aedd3666eb5f3624de6b3fd6629b3de827f93641ccde3536fc453f09936d3d2df5b53663fbcf3460b31a3ff235453daf3cda363194753673b3e03eda31f23ca7038937888a8f350609863ed424af3c721a5e36dbaea2341eebad3d8964823c4ca5da35ae9681366826a43783853e3a70754437eb4aaf36ba38dd3637472938f2e2813732c82c376a9244375aae873821a9543788239b363469fa366a367a388c622237dda5b436af1ddf366e56143869ab7d372bb2283771903d37a868793834e126380a8cb136dccdcf365e880538239b21371011903699e6af36a6151338c7d1c336c6db0137ed7626379eab8838ed6090370fe5af36d647d736032a03381b5ef636d4bbb036f1ddcf362d911f38e47d8f372ec82d3792464f3f3e72423e9d884e3716689d368aae453f2a41673ead8616376b42b636442f213f4191523e2de905378caf2a373a86fb3e8eea3b3e684fc4376bb1b53634ffb13e6466093e2606ea36de1c92365993483ef63dd03daaa9c33637c501372353813d9e40403d07712e3767fcb436bf92f036a3eb633aeeeff3364b71b13624d5dc362068fd39d06f12374d465d361085953629d07238a590a236ef8d6f36c6a7a8368a34bc37141cb736d47f2137666235377f3a1b3822bd43370859ac36a445d436527d0638fcd9ee36d461ed363e5c063701706438c1df0a375b1c3e37e0c349371ea22b38d4724d37868dc336bec5db368b17a3370be0d936cb3a0737d51c1737c2ca313810021b3723a47b37bed7843765c8323896f38c37f4596236999c273facbfb03e0da19c36ee387336fe611d3f63d7bf3eefe0ab36c00b20375eb1003f2cc9b63e44784137bc63b036a39fc43e5713973e367eed366ec3ee363b5b883ea855653ef69609374e133e37728b123ecca61d3ed4e74a37b51dc63648deb63cd769ae3d64e7d336f1af0737f073ab377116e63a0dcf183793037d379a428b374aba443a20e08a372f2ce836ac879437fa89ec388c222437e9f50a37c5023b37a31ab638b9792437a4e99c36de6edb36ea9edd3712ebde36d16a823607bbc236da8337386df8bf36402df2365253a13796c26438055e73376ef5a336f812d6363f244438076eb3366212ce36ac07f83647580838f476d2362d23193789ff313777a1a738213e2c376790fd36cf265537b738093865af81375633e6369ef0fc3e6172013fc62af8366d870b379bbbe93eadfd073f6f59143725da9e368fc0c03e01d3fb3e3b68c636a9a28136a9b38e3ead1cd23e9a45a836da85f336c03c4f3edf5d983ecf6918376748a436641ec53dc5d45b3e214e9736ac2ace36c7376f3c7a15f03d6f52ba36981219371cc44f38fc1b493ce88d1e372812fc361299983754e75539619122376adf8637e00fdf375ee8883925b68137c8d8133731db2137fc0c3538e1550d377a07cd36f49ee33667002e370f8ace368a724937236052379c75c6377ab0433747da0837c06b11370e665238eeab00374137f536aa60fe363c3f0f3817bcce361f204837f6014c375c943038d0ce3137ccc7b436f881c5365ca3ba37adcaa1364fefa4369d59af36f98b83376d8c9236ee4e86377ba1aa3eb37b2a3f3f6f7a37ede0123795e69c3e471c313f0af00237e46ecb36b16e7b3e34a2253f9562be361e61483753b4363e8758063fa3ed3d37c0e809377cdcec3d3bd4c93edf22f4368b08f336e2ae5b3d79e2883e3c8cbe363a944537986f7b383fcc0f3ede6d2a370586b4364562cf368c632f3c805b9036cb28a236e3c6b13652631439b3d18536eac7e236be151138462885383e3cc3364839ef36ac5640370d19de373ffdc6362ea52b37a77cb037785c493851351837da54bf366728e83644dfa637c721a336edabee3620a66d37be31d437752fc736b1ecb0376a8f3a38de946c3871343c37013b0937945eb13730911e388e67dd3673a424371cd42b37016a863867d7ec36df1d523708925d3741e02838e07442374f09e4368f3d373e1913523f92beac36c04af036429c233ee4e6563ff07faa36228e2537e47b0a3ec137413ffe4b02375096c036da56a43db94b1f3f39e9923673b8ec36fd105f3d267ced3e0efdb8360a4793379b696b3c5d259f3e2d1833376b790837406f403888a8283ee5a9ca36d7541e372c366c38a621023b794dbc36096251379f89e437d938e239019c3a3766da4837671da3379cab9c37a5adc136ee8926373b0706385917a637e90e9636d6e3e33592503636d6139735021f243516456236ac265d36c58b31364e5cde35d95d8d375174ab377c4d8e374b309436be019d36ed365437854a1737ddc7803565c6be36f9efb936cb223f3790374e367b470037bc1799377eec0f380a3aac36cd500f375a09b83720564238601fe32f0df64c37329d033d9ec3773fef28a836a77116376269da3a415f7f3ffccb6d367210df3593c9d7398111663fba11a9344dfc61364403413a8757373fada39a35b85a8137b82cf038680b083fadf2843603ad3936b15731387fe6b13e092d15354998bb36fcd3b3389fa52c3ec71d23366a6eff36443620389c802d3be9259536f492f1360c203338d9c114395b92e22f0000000000000000000000000000000000eb4236eb944b3661a28237bdd3453676f9b4354e5bb93578b7b43503dbb835b4a4a7358114a835d4b7a735b0c399351b548937376f72377144c4375e9d6a3701d9023784fbc636cf2591373b238c359e969137978cbb37780b2a38bb179c361ab5783763c177370d6000385d47e2350000000000000000000000000000000000000000000000000000803f00000000a0c2473681459337b2f87f3f14a2233657c3b635f89cc13524445d3f73c2a835125da535cbb20e37164a303fa67a83355fa14d37bf11fc37ff90023f4043ad36cd60a6360c3bc837381eaa3e15f382351f8a7d379e434a38dab5223ee67d7636dc5f1a37898fd13773f0d93aea56a63500000000000000000000000000000000000000000000000000000000000000004d228a3528f0a6362a833d38257906381d8d9136cad81a3727239738dd6b3538ec8e9e356f166f37653a50387e2ad537e1784836953e9537602c2c38329b8d375246be36f6ba22389d346538db4fb13708519b35c8b70c38ba3e0c38481e083775e70c341bca89378fbd1a373b16af3300000000000000000000000000000000000000000000803f00000000000000001ff78b35436e6f3ff64b103a1437d23753de9c3612b8493fd2e0dc39099ceb37c733b13594e2233f30bd7a38539bb037594585367269fb3ed04142381e01fe36f40dc136ddccae3e3fab6938925118374a8d1c3794db443ec17af7373898ae3534290b3417582b3dda66b83673019d3300000000000000000000000000000000138ef334bef82c37c8e4273a373c183891856f3572ba58364a592d39e28bc037123e49362787cd36c53723392bd59f37f5916536e01bc036ac9ebf3927d53e388046aa350add14377b788c39e94524384694893638f9483726c5b43842b501382d794736cbaad93667c8cd3800eb0f379f8dd436b03d0537c4c1d139d5151837c143ab3638e30e373e113b387e5e0d38b1b53235b27f6a3f78f3a63de503e8376f848f3582ca533ff5e0b63dd39a783718d27036718a323f0245ac3db145803781cb89362b400f3fb9b4993df113b637eb4427365e92da3edfc5693dd0350638f72d9436d593913e7865163de7b8bb379d2779360af81a3e2071b83c306e0c377fe1e136d2f6f63a2b7a933cd7fc1637c1b9c4369a358b370fa85a3a875dd037cb97be35d70f4737bb16613c3adb06383e2e9935af477c3688f0b53ab0582b373f9fbc35738716364dd10a3a26ac533644cc803606e093367ee6113ab8560b373430de3529056636acab80396f4b8b375d7bf635ec691a369bbf1a3a3eaa0737fae33136b87454363615d639f037b63631476b3431627c35c23899387c5bb63501088e35bababf35f2bf8c38901304381fa1d435a8fb433f0bcb5e3e87f63d37d896e335df95303f4b766b3e33b7a236b8a1d4351127113f1a90533ea7f74e36200387366692eb3e9efc3c3ed6a8a536c17d0b36a105b33ec88d083e36998f36278204360d34673ed44cca3d1e83313615983c368ae2ff3deab36c3d97555336b97f7a340a2fa53681b3b23cec48a9350edd9d351d66af377d40933af681b8378cd4da343161aa37d989703a6f186d370000000000000000e7d1273a000000000e035536c06a7736cef1983a3ccc8836bc14ea3518c01636de01a539b9ea493775c394337cdbc833b56e293a8868c2333ba577360f008636889ba2391be7863629880136cd38443676887f3a34a73e36b4e6c6334ccee133ad052e399013b23359490236a62ad937c38083392154543875d60b3543ba213f6ee6ba3ee4428b35000000003e810f3f1419bc3e00000000b2545c360c9eee3e16d9a63e388b88364fa8fe35e247bf3eda988a3e38ad31360ff58e33f4938f3e2b29583e1c66b6330c497b360b79393eb34c1e3e53bd8436cfcd12365b31ba3d36bbc23dcdab3236d310c3332c92f23796a6253df1e7a133332a0a36730d7c38039f463c86a9f237c9f6c63664ed3a382384803af43a4937248624370fe82738128bfa3a3d99d137d43f0f378632b2378a380f3b5290b6373ed91c379bfb003886cb363c2349b03779506c37ebfd0538622d693acc63ed37d2c643371c943e3820c6573a5143a53748f427371a5419382c3aac3abdb96f3733b93437dcf93338bfd2843a899fa5373695d5362911c73765a1333a8854f737d149d236b8e4fa3e54dd013f1c1def3600b22a3750fadb3edf7b013ff91e5937ecd31a37a4cab93e2f6ddb3e523d52370787393734298c3e8ce0bb3e248a8d37b1e7843763fd603eab138f3e1ae1ac37cf1266372e7a073e64615c3efba37d3754a33937699f8c3df8d40b3e45bc43379ee241374bc3a538f4827c3da4295337b5fce13621f74b380ca58e3aff6c3137a2912136fcd58938305d3b3cf5e93937d9cd9033b564c23372bb663c208ad63342cb0f365b9e4d3648fbf43aea1338367b6d7c367ef387361f94533a6f7a8536322eb033e5cd06376c13613acf8ab733d35423363582b73743a1273ad131143617828536faaa8a366fc6d03aebcc753600000000000000003f082f3a000000001cc37c3549e8bf376bb35d3a11a4dc364bb127366194ad3e3714233fffb20e366b58a433901d9b3edd79243fa091c4337de61d36e39d803e4a620f3f1b041e360662813694594d3eb0f3ec3ef8e78036bd8cbe33cb9a163e7e5cb83ea8739c33c08b29361eadbd3d0b4a863e6c5308365db58736c90d2a3d7fda273e9e73683600000000ae812e38fb3f913d000000003993863596a82338e6efb93a70e829357165ed35bedc30386bda553a74afc1353fa05e351a5be335d8d3273cef0d2435bfcf49363d416a37ba87ec3a85554e360c052b36076896374b99b13ac6df1b36006e8a36a6dabd376e615f3a1b0256368e44a436feb79a3722ddde3a3edf9236387a48364b3d5e362413e53a237409363d46a4363f06d537a4e0513b262063365fb52036a959323810f2c63a02c9083649f6fb3620185a3ec2f1483fa4b1a935d6338a35b6bb3e3e631a483fab4c813493954d36f409213e026d283fecc74136c04d2f36fb54f33d2c040e3f90620e3635bc8b366f60b63d228eda3e28c1313633f0a3365cf7283dbdb39f3ed3ec8c36d0204d3609c0a73cf6b8503e0b36f435c776a43636d11d3be006963d18d73236840e4d36917978380415c73af3e3f235b499a337973e54384d51363a9f5b063786cf1537ff7aed37a78b463c87d80037dbcb0737a66e16376d22c939b8ccca36d9948937824e2438a005c238c0a230375edaca37a69433389c8fcf39217706371da50837e3147438b9501a3a2b26bc36728d5a37c5aee03725a6403a6074c136b04b2f37e1f30438efa0e53a0f3e4436577cb237843c4138c64d833a7045b636dac4ae371d3f8e3d2ad46d3f5e74dd36367616377b0d4a3d6c146b3f1564e936eda707374db92a3d90bc483fda6898365b4d9837f783133d3890243f4566cf36c058dd377fd2b53c5c8afc3e25c8a1367d5c0737a6a34e3c6b26b43ed95da53637ef6137a03b263ce36a543e91fa9f36a5893b370d95fe3b3111973dafea0c360e3cbc37eed5803843854c3af14c423600000000000000000000000000000000c7d19b33d628b733f48dcc37bfd6a336868301351fa0f7367d0412388286ec37ead8bb36a09ea937e00370382dd50738adc0a4365c4e85373d733c38242d2e37de568537cae7d53797316338f6653c37137f8337cb0d2938d1cf8b394543be3649a6a337ec6e0a38b25d133a1aab89360000000000000000000000000000000000000000000000000000803f0000000026fb9f337ad9cd33b946753f58c3e634581001357c1ba037d8bb4e3fe46eae37e917bc3610172f38a88c283f26fb9d3717b0a636c0180738133b023fb915b03622d99637312e10385e13b83efa2ec135f26d9337701f81381352583ea3cfaa36126ca037d8bc2638a8d8813da850d7350000000000000000000000000000000000000000000000000000000000000000b664fa3493d258346a715b357c023735d1cc5a3684d9413660395e36c6839236d977503672560b36a06f473694b655369622cd34f4d6f5342ac73435b6ef4934a4687f36956a8c36933d9336adcc9d36e52b8436a5855c368552773646d98036075c69353619e7379580d83749d62a3500000000000000000000000000000000000000000000803f00000000000000000000000035b67d3fbab87135fc6e0e347e066f361d24633f14c1883627745c36ea492236f521323fc41f97367cf838361d1a80341417003ff112263800000000a2738b36a326a03e9ae29b361e177f363b7c673653c1e33d5d973037d723753635a135354bde763acb1b5238538b1c350000000000000000000000000000000062ff5335be324036526fc4373dba55362790eb35e9b904369155a53750c4cf36d5448d36f21a9836ccd30c38384f15381947f6357c50e7353d526436cfc073365b1d0c366460163639c73436148332362e9d7336ff589036e0943e37e6809a368fbcfe350431c2360af04c3838b10a3832ba733667868e366624b13709338336c3797636125b8436aad39036cbd99236ba8e8d35d6cb7c3fcdd05f3c8ab75636bde2b5357004713ffd04093dcc4f21362f9882360188583f47e34f3cac618e37f76bd43568502a3ffcf2af39e0396936b14101360409f23ec4fdce39e3f5373675e78236234d8f3e23c49339c4919936cdde0336b0f7bb3d3e641139ca4e4537e18b69360d8a21395a6568391ba1863671966a36713a823694de1237c4f39436042f6b358d610e37f9350a3964d580380329e63368a11d34ea6f0f3802421f34cd7264344bea5b348df58437eb8eb7369f42a53486159e3488b643351e4d473588c21635c3300135994c65377b314835925bca3501dcce35fef5c4355cd8b9352639bd35d5790236b2977137a29428360f6e4e36992c77369cceff374900513732e05636a5e667364fd006370d3a5236881f033577005f3fa5d7053eca628735e85cf333d769563f3c5b273eaf0e14342bb2443446823b3fac240f3ebb0e753534039b34c7430c3fb889023ee50ba134e8561c352df3c33e5888d23d3c0d0a351bc0c635f466533e6b71b23d9942d8352cefd73549eaf03c20f8803d4986f835294845366f065638e8fcf03821c48c36a4e85c36388b4236d01f003852fb65360cef2036cbd3713622ed7d37a2765036cb545636be7d8f36433b1e37158d9b36b6974a362b675336607a6f3609a98f365efc0f36dcef08369c0e3236c5413836d0eaf234f8bcb6345491a1341b1ea7345567ab35f899ca35e6e66136ef8c3336b0a9823523bf9a356c72d63570149f358442d532a29703336f5eea3798b0d4328f3668362d508037083d813811013d3885482636273f303f2e03a13ef5352036a539323654e3273fb4f7b03e56565036387048369bd50f3f1ba2a63e23803536f804eb35638dd73eb6658d3e13d400367553fe34d2608d3ed60e5c3e02b4cb3461a9da35312d113eb6df1a3e9440ca35caa90135448b953b857ba83da4e7a83500000000050d6b38e22d9939cd4ca8301f106336b1a28438f05e0239945a8037bfe876364ddfa137109c1b3803fc9d362ba9b036a09a2c379d370b38862dd336e0227d36893588369ad8ea3750598236c88a8f3676ee9d36894b98365b15a936c084c1369b96c137a75d1838e378f83794c091362eabc036dc4c87379af8a0368aa882365eb5ef373e8356386978d83763a0d1366174e7369c232a38779b9537a1e398368669f836a91baf377a1563370e5a8836f4dfff3efa7e003fcee981364c19a5364e0ef33ee3f2063fffe2bb36fe7e5c366113ce3e82d1003f70a1633623fe8236a480923e4521d73e9bb793367d25be360a2d483eff669c3e3385c8365d088a369263b83d4467533e8c4b9a3643ce7e362be8f43adb4cc23d5aa78636d72ac636ccbacf38beb7b3394a89cf3605ce88365792ea37e180423809a9ae36ec1a823634b0ca38d9e5f638cd1f8336000000002a7516338aed333692957f3249339f352294083694b82535e6749b3580d1c33571b512367ad6c235e647d835f231ed346c44b03473719734001eac3447e54a3638965d3649882d3683463b36a4fb5f36678684362dff8637510c8a36db6a8b366b2fa4364e1321374640ae36083e6b36c3046b36cfb7b836e4857936f4975636e4bd9c3ef742323f03162f36063f1e332375983e4f46343f000000009a2e1135fdca713e6bd72d3ff317f0344818b035b504243eb1810c3f4d743a35fa66ff34a24cd03d6947d23e9e93cc347efa2a36a8e52d3ddb5c863e739223369f556d36810b113c3ed9d93d2cfb4a3631ad8336f40bfb370b1d833a9664a836eaa8313686a801376290973770547836a75a5236f4285c37fa8790375a485c36ff9b41369a257b3770aa4937a8f94a36f9940e36d51c1636bb929b35c3cf0636a574d9351f65c8358081b6358421be35e4aa1635cf41ff3468e9f634e7ddf834e47f8734c792443527d19b34da152a35164df33416b401373398b5378e5c653453161e34818425375c721d38cb7c2834a0631b389cf46d382a096d382598433687b853364c92023e37c15f3f8c6e43361a3531366749fb3d1405613fb00dcc35466a29367b1f9a3ddbb0553ff134ab34a881ba350619373da2ec293f5971be3573501c35c2d0023deafdf73efb900435601f7235cfd0ca3c56979a3e34299d34be41ab3414974b3cb853ef3d597a44343f0fc0334c4c9d382c7d4c3af2590434f2f6c435a175c73807b3a8387ff19f358f9c7d36e0de9e3685cd90360c9f8136612d80364d49863671766436442f8036ba637136f06f5936329fbb358252033638139736a22b923663ca5336a0a18e3601572f36a58c2e369965fa35b4762b3627df4d36e07680360bb413362ff236364e3a82370382b9373c97ee37e8077e3774bb2036efead736d479d2377f1381368ec365368c148c364e4c9836d44b5636587882364705133cf11a7e3f4b8d6736ed0f6f362b7db439a90d803f062a5a363fc42c36c15bc53869c0683f0fb8c035185b8c367c036d38eea4383f959080367b8923362d959138e149073f39291a365b91433641197e38c603ac3e14d71e36fc3184379f9bd338d7e6113ec4ab9f36e6e12436e2222e38568bd43c5e5b2a36b6764636241695379566073889673f360000000000000000000000000000000097672a35cdbb45355d0ff6343ca90b3504c3743605748e36d88f2d36db0f6b3695b6613611e58e36874f8236906a8a363a224933984ba6347928a7331ce6203464c63c3604d75b36d7c40836040b4c3671e7563685337936b4467f3634277636e78c143536bf94359ece5235f9e913350000000000000000000000000000000000000000000000000000803f00000000da781635b8d0f237740b803fcdca0e35733e4c36c626903629e4633fc2f15d362a857736d145a336e648303f2c8272366dd32f34123b0938a35e003f8f69a131214e303692c77636529c9c3ebd4532364b6f7a3667178f3697f1ea3d71b33b36108f4f3533e5853567472d3cc2001c350000000000000000000000000000000000000000000000000000000000000000060acb34b338f23421401a379c5fdf343297f535d9171936f5a25b374dfe463621d425361fb66936c93a6e38417c5c365b418d359d42983537209935bb8076354f4e5634ef161b38e040373822a38c34641cba35ac5e7c3797f4b235d77da3351266b9319eb3b431acebb4319e02b73100000000000000000000000000000000000000000000803f0000000000000000f409c93436a7773fed98093828be13353ac70136270a5d3fbfa35638cb594c36384a2936cfe42c3f8e3aed381a125436972dad358a69fb3e4d039f3738d38c3534922034895a9c3e237e703874598e34ae69b535e3c3ee3d6fe8b135a6109f3535d3a0313051e138a9d7aa31e58fa431000000000000000000000000000000008e3d5b34f1fd63341514f338f2f87e347cacb135c1b1df35c0679e386b8edf35150a1035385f17350f922638c9302135741e7235df007635ef822138ef2c77351c74cf34776ab435c97da9380755f73573bd8b3458209c34bd7b0c3806469c343af1203505782935c4849a38b6571f35203e543337329d3402dda1387c5a6a36f66c7a34814f89346f2306384b638434c17063346073723f0cfa553de3e885348ee3ba3539725d3fe542923d01f4e035f8a50f352d51413f28708d3d61d41e359de07835a75b123ff18d5c3d2f8f7b351272183558eac93ebc450e3d23cf08368903963466675c3e4c04ac3c93b19b34e7d324357187b63cc1a2ad3c0c7c1a35b830583349b565384698dc3c843d1d358cf8853421e178340043de3bb8b28234a3212033bbb8e734b5f2b13c147635333e3db633c5fe1934bbf666381f45103426dc40358a176635b6e183389599b735c8e8893569eb9135bb52a338265f8c357a843735e7c15135820253389a9d60356eefb835b9e6df359cbfb138a97b083643972e35010f39353ae1af382d1941359952cb337b67573467db423835041e35087f9334700bab3418e0f43642d0ec34b2152433bde94f3f5bcb273ee4602a339339cd3328743e3f456f583e7f9f3034b96c4635bedd1c3f3d51463e58f65c35de1e7c35d506dd3e8ca1473ea7bf8135053d5a359bb78e3ea714333eb27a7935d4c1cd35039bca3dc9e32b3e44a5da351bda1d357dc7bf384d10e43dd9843235a82d0a349f98b535b1bf8e3dd5e0e13407c38f34c2360c353f85113d6e8e213561a85435f0d11336f0c4443cb4c8b735dd0132345205733422fc0139b92d523457eb8d3545077e357c2ef338d637703589022a36d0a8bd3643a80537ae0eae36a091ab352b029c358e51c2382389893523706e351cc40e378ea6ec38747e4e359a8eae350c6a6536047f9e37412f653660d2913423f24d347d46f8375e751c344e187232d2eab23263ad0a384d6cf334b6456435a907243f9749a73ecc1dac356fe11134d9bd143f1996bb3ee5f86334693a8c35c55de23e4778b93edfa87e359a234536dc3f9a3edac5b33eb7aaa3363b90b835dc142e3ee0e1a03e623f9335375d6b35c2e5043da17b7f3e85ac82355eaccc35f9773b37a6011d3e4c6647364ffd7d34a1cf2734e673803d2458153467e68c32fec0ba32c2c8d23c92a5a932979e2d3536ae1238f7f30c3b9b657b3506e50f36299c5237e6973d3984a22036f58f1835bade8235aac85038741478359a3f3635b6093d35d424d2379bb039350e180f36bf311538d6d6ca381a2e0337e54a3035a8fa433512d922387078413541521f35106f8a35cee43c38aa9b4d3568b01f3622012636f0da1a392d55323677c8753585ea9f3589c32639914c8336649455356227f73e5777ff3e28f56235a3ed0d36e5f6d53e6936053f00d00e367d113735243b9e3e0184043fb2764f35c2983a35fc813e3e6965023f43cc3835057c0a3682def13d8baac33ebecb0836b3433d3532fd5a384caf9c3ee6553d35e0c43b350a81023886df323ebd3750357e211236cef14038ed947f3d565b253608608a358b2cee368918923c8f0270357d438a323e9b3e36bedd3c3a55ac8632a81e04345e396334238e543876e12034a95ad135d30880362a649c37cb7730368f624b35a3725837625bc938a1b55f353e2e833548b598352ff18f38b6ab963559fb8336ddd0c6368cdd2637a2d4b036feee6a35b0c7c5352449fa38b6518835e9b16634dacd9534c2bcda387f137734171c9b35a06aed353b9c7738655aeb35f4db8d3220b5a03e9a2f293f34129132d6d213340437873e56c02c3f42781a34a3f00b369f5d283ea5d82e3f5b1de535a19f62359798b33de6ab213f4b545335babb983586e99b3c76fffe3ec880a03574bf9336fd59f737f594b23e727a913624504e35a189bf388809493e049b81354e226e34bbc9f137ea745c3d525f52348d23c3359f992436bedbb23cc219c2358336923455e35035d493433881b87834f41f9534f3d1d035b49870385ba60434f7545a3587b9cd36500f3338b79a3c3589c8cd35a72327364df98937058dcc35e1f98b35fc446f358097b5372bcf4a357b5f7735367b8e35f7fa4538f6a890356f9c4e35143c1036ec280d381d674c3557a992343f386034fd193838c457cf334070093584463935beed9437a2fc3c33bf71923499c61b3ec741503f75831b34cccd7434b048dd3d8fb9523f467d0b346f64573570cc4a3dfc1f573f14204835e331d335739eba3bcf793a3ff237d03530ae9535a7be8b3883200c3fe1225335d88d8535ee6a8d38f2c0bf3eb3689335729d4a3516d59837187d473ebe363f3515b99434d2d4023423413c3dd806dd33164625335905b235ec8d313be90a4533cfaf7a341a78c2372bbc5938df266c34dee24d356bd505386de06f38c2d061348abb13355e0e2b35dec4513772b42a35254f9c348e3fa434af5e99346ddb9534a6aa3a3671eb283617b60138c2f37035cba06b35e3ae82350175b837451e823559f2233534731f3583a7083816541b350bd5da35b416e73524039d385d2ada3535c58434b1b42f36dc679038f36a7634ef3f8534a308193d1ad2743fd4146a341574283591941339ea28793ff2a253332992223558349538ca09753fbf6b2a35ce67a634978c78375ca9433f6507953471ac2736031da6382846123f19633035b37a7e35f686043834ffbf3e90f37b358e0b23352d7fe937c489343e4b451735ea93d835d0dd26389856833d872add352e7e873486a610383517b03ae15e6634000000000000000000000000000000007322973197d7a631e2a0da31257ab53181e49435e855b235c02fa635090db93534444234c8689f34010d8c34213feb3341b98a358ecc8f35d000b1357a1798352f3747368a216336be9d6d3834d18336382b4e36a9c4543654652b388e5d1a3626ee553564b8243536d0af37c35319350000000000000000000000000000000000000000000000000000803f0000000006c99f3108feb6313113803f519aa531be8da6352abd9d359438623f7d95bd355011b23487db9b34a6fe313fe0bb3b3403c4983511ba9c354673023f1bd59c356a704d3620d07238366fa63eb6875436caf84f36e324c93796f50b3efd550b36e6744e354e8c45359a1f083d68eafd340000000000000000000000000000000000000000000000000000000000000000eaf362349ff96a345c913239c7c0cf34aa4a9a34b161f234b2be2e384352d035d15c0935fa8a1135b2472238d2220f35305180350b20bd35673fe1354398eb35b3916f3591dc8c359efc4135868d92348798f234a35b06384dbf4a374e6cf333a57a6d346dae9437f16e4d344144353400000000000000000000000000000000000000000000803f0000000000000000757d653487e1713fdd7d6e34da870d35a0aba2347de34d3f530d29389e74e435aab10d352e93233f7b27e937df0a1135eb3c9935a12af53e2ed9ee350b92f3359fcf7f3599aea23e06fa2835bb228b349f9ede342b14233e732c20348598e83391806734a7859e3a2d504634ff3c2e34000000000000000000000000000000002edb7e325b5eb636c6f9c43c5eafd5362b657933b8d2233418d9c03cf68284349a03233331866333e93b893c5a1fa233aedd84329f7f943254c7613cff38fc328856d6344c8e0b3547cd703c4ac6ad3556906e32bf1bae327f8e163c1de45c3309835931186bd736cbf2473c5a5a43312e931334a99c8235f9feef39da8f083721dad8325300c233ec20b23958914534284a6433a9f35e3f28b1443dbb08ca360b5cb93347924d3fdff3933d82328e342cf23d3306fd273fe553953d9c48b233a84a8d32741c003f1367883d77bd48330de7e8345056b13eec41713d1011a4354ec85132f3903d3e917e433d13f39833536a5931cdb49c3c1692233ddd194031b00e4d3433aa60362fec753d46768d3633dbf1326c0c0034420c453daab250343931d9323a555d36647c233d6270e235aa251c34473091362692233d8deb383672f82336c05e1a389a74dd3c3c4c6637bfb91e3588133d3790af193da3dc7436c3999a3429432535a3e6e73c5a0a62351c9e3236304fa237e7cc183df1d0f337c000aa34c7067e351b8af03c3ff26936308031343c3fe435c3af1f3a2517693653511d3733fa6737f5933e3a19250a385891e2323b9b3b3fd4af2c3ec51c7f355a1d2734c0e9213f7e763f3ee8060d36e16c8c368dd9033fdc28443eddc0f836705b2135b511b83e8d083d3ee9e23a36968b9f340fa2713e5dad3e3e7a08723586e183360be3a13d4558263ea86be2360f8faf34fe48aa38ace8e23d8594e534d93a373446870e37f68fa63d31952c366bfc2b37be130538a66a8a3df5e9a937d296b63668b441370f0a133ddf331737e8c7c63495c9da34dea2183dd249e334c10e0a35b80f12352dbc053dcd300b35d43b0535e12fa8360156083d5e4f4a36c5080c351a1e64351a90243d8b1e8d35bfc34f35e35bc3356938373d7ed45535359bac346c30bd34bb35ad3c9107a634e4503d34bd61463473fc6f3c00654c34a84229327ba571362215733a3013a43626b9e436cef9163fa01da13ef0610a37e317c734d906f73eed1ea43e0c8fd03480e90b35bc49b73ec111aa3ebe4b0a3568b70635c8a87f3e133daa3e38ca0c3660bc26359bd5103eaf7f953e48e18e35bbbd5135830b8a3c578d743e59af5535367ead34ce03ed36320b303efe73a234ad743f341eab4834f1cfdc3dd4214d347fd22b32cca7b736be5b483db078753628f56d35beceb236137ffa3ca8493e36633ad7368a7d4537cd64153dd62e16376be75b35c71a45370dac033d06ca5f360000000083c9ac35ff8b3c3d00000000f396a9366ed4073716241d3d02c8ef36be92e830d3036c3552783e3d00000000978e9a35d1638e3670bbd43c1a419936b09cc43681d42537d85e6a3c84662d37492e1435308f6e369d47383b70398c367db4e0351c46e63ea2d4ed3ead31df35ccc0003762cab53ec493ef3e38bf0037426602368b2a863e2911f63e7dbe243600000000d7a6183eca22ec3efe4910303c1dc336c7a9df3d78aeb43e994cd836eca78a3057a12338ce8e983e000000002371f235ab21d837a3f34c3e0b055c365b00e336b6e44437f83f023e81461737834e7c35e013ae36a692593de8673836a05cc735dac6cd36f905013d84491c3659ac5034b45b4e3467d8f73cb96f423438be9b34b002bc356e51db3c1406ac34f1c0553579970736689b2f3d483350359ab78135333a9335c929223dfb4448350a104135cc7089367c94073d982e6c360f400935a3111135b312f43cefb50935d644c0345643e4348d2ad53c1805c334e243fb36a2e723373265ae3cfe7b2e371014253677b5a23e7e181a3f68d1653556b34e348beb6d3e1bc41d3fe12b4134a1dc9e348704103eccf1233f81bbad3464eb54359220883d3667173f238350358c5d8835ae6c9d3c6becef3ee8e63635c03bc8359eb6a337e56fb43e0fb7e1356eaa09353e0a1235a2b17e3eb9a60a35f277c4348e280735b4200a3ec966c634245f0337b54e3d37ffb9213d3fd61037b97d6137294d6238e1c0103c186a5837aba3a53583e39037001f963cb3df7434f53bed344cb71638fdb1c13c0642bf3465c1ae366edf6638da5fe33c614edb36ff07833565948035086bc23c505cf734dd1b9535f2fc243780bc133dbfd57736a0f5dd3691530338b54cfd3ca6771b37516d9d35f8537a362fb9203df9702f36ac7743334106343648cb023d63470136394a6e37f1c7333e4d713f3f11f93d37f71af6358889033e41a8453fe46c3c34aae2ea34d827733dd10f473fdf5ab734c60ac736cdece23b5dea2f3f33e4a83688108035d616f237a2cf063f51ffc6347cf4003657a347386323c43e298afa3502a6e936b71bbd388fc2713e9f4cd0366865de35e588b03692a3d13d3a168734448f9334b4856d377d07e13c437e8534664e6a34e8b760347edbc83bb581983321106d36f8b21538a9a4a43a1b039b340884383183c382370f331039655053312a55ad339dd296338bdd8839950f26329fb0a335ea92f935478fec3bc9b00235ac32903313013c3389f8763c1820be3222d1ba33510bad33ff08013db13a6a335f419b34d7e5933469dc3c3d64d106344726c236cecee536713cf23c2718903600d06134081c623d8b0d643f5f6a27334c328736c61be6384e40703f99d27d34dca93c318fb9a738f0d46d3f41245531ee2a9f33a75e3a383816423fd2f8c2316199a3350db13e38e3c3123fba31f8341e306233b3460f383639cf3e50dd983259bab433c2c55938a9ac643eb7435133a4f695349e195d38f148643d7c51e933e7c7c4363f752d381f39e53cd2cd0e360000000000000000000000000000000053da24346c0e3a3450af95366aea5b34474dd833b95ff4330d2d3f37dd436937eb9f883487938d34768740353bd37735cf24ee359707f1357a51d6359172b2357a000f3558f71135d23137383d990e35f852d7358214e835cfd34c3801d4c034c2233235c3b5da34177de83b417a68340000000000000000000000000000000000000000000000000000803f00000000611c29341eab3f3492d17f3fb40961341f68de338cc7fe33575c573f8db2973682fe89347a9ad634fdc02e3f8a5684359558f135264aef35048c053fa450ab35f8361035aa111535f2ffb83ec5f90e350483e9356e982637799a483e3b73a034e4a91f35cfc49334bc1a463d6a886634000000000000000000000000000000000000000000000000000000000000000057ecf7347cba6d3524b3c03542739f355fdf2d359b4e0c35039d5235a6414c350e9ed932fda8fa329328083383da5133f0ae0a34e78f89348ccc9d340a0da934a13b04354790b3340c0ff3342836ea3470e285311ec35337a46f8731bc0eca31000000008ae7be35000000000000000000000000000000000000000000000000000000000000803f00000000000000001cdfdc34642b7a3f49f207374b24a73509622a35d4f7613ff13d613592af86350e74df32479c373f257b1033b05733333d9a0234a0ce023fb0831235fa8c1435a2ddcf3483dfa03e49b50e35960520354979b236a26f0a3e98c596378bf4db31000000008fa5c53cc9b1a8310000000000000000000000000000000000000000b7a547346b45e0349199c736d85dbd34000000000000000000000000000000006da1ca343acb8634bfa4e634a42e5735c0acda349c9a1f3589c38435dd246335f71fb2349a83f933249da9365a6bdd3493f54c34bbbb8134c3f4b13428c81435ca1ec035faebbe36eeac33365742fe3566f7583599e72d3782d79537b7fb3d3582e9cf350b25b735da78b835fc62af3591eb5034a4e8783f5a0d0f3d0b42be3400000000a388663fb7513a3d0000000010d6533435d1523f012eaa3c92bd363562f0ee34c310253f9b9b023c1da557352db50e34f6e0eb3e6067cf3b98a9b434747f1834e2508f3e6a90ac3b4d11b434ef60a535503cdc3d9bde633b1dc50b3633dd1f35bdb68739bbd2693c41032e35a2bfa83568e19a37f5b96338728aa3351b7d613278b80635cfaf8737b1706532db5c213402061534b6992e34df2d4634f8846634bb0561354aa2fd35dc51d5355408c735a3412036b51e3436184831362cf89a35e9b03e35c0645535aabb5a358c9ae7355af5e23519cc0c36f72ee035fd9448369f8804371f9d9836c35d4836556bba33558c8333cffb8d3369c89034000000000000000000000000000000008e642a328d165a3f90581e3e2b5850322ad50434a0324e3f58d9363e7f953634b1247d3212f9313f7039133e1215a735733eb6354c99033fcec2103ec42c3636131a893590f5af3ee520ff3d79091c35fc7594352e56243e19b9093ef507d1352e0d3a36f5dedc3bc497db3dbd024b3656eb8533081589382938033dd0067f3300000000000000004a669a3a000000000000000000000000bc04dd3700000000000000000000000037d9c33700000000e53fb835beae12365f0227362f7e3436d19bec34229c7333f9e19b3513e8a23562623a35a33f2c354c186635378d6b35bb7e49361b176c3672607f36febf8036e53a50354c6b1438897d27388f5bd735000000000000000000000000000000000bfd9e3581235a35cc4a5b35e19b803500000000bf70313f4099a33e000000000000000098bf243f0905b23e000000006b6fa535e11b083f9301ab3e569b293600000000c793bf3e9ad49a3e74fe1d349afefa34b808623ee79f8c3e73b16a3517fa3f366a77bb3d70fe5a3ecf9f7c36811ac033359fc53b501b053ed1a07b35000000001653e7365065f63c000000005cb6143591a52b3572e7b0399d37683571573535a1eee537794a0138806034358e8f0434910ccb37118bdf37000000004cb32f35361825372562b5369c6c6d352a9a2e35d7801f376b306d364de724357cc7a03479f2aa37e0d025378b987e3461e153355e526337ef927436397b9735bbfc1c354e16fc372ff7c3373a1f1f353b446a33f21b27388c5c32380be18f333be5a735a4fb823703ef97370c409535a5d03035ee5c013f229c013f477a1135cdc9ad32ca5ceb3e1664073f00000000a9650835e925ba3e55a1033ff7d92b35aedb3535030d6d3eede1f23e25df0535a5e64e3480af073e997ebe3ec8b21a34369935352807143dee9a8c3ed7605b354e1d2135f3e3493ba4d0073ecdd0fc3400000000c5d2d0389f96b23c9a37863277d98c3510a37538b37dd83a86e8743580ea4e3552a38736d070e135dec08d34000000000000000000000000000000006333b53561bb88367536b835df466d35f6dd86365c1b8336a53079369d276c3680e1a935ff863a3502641e353ded2e35d70dc235617ea435fc669535c03b4d35ed5441369715dd374a382a37eb27363600000000e1c20338b28621380000000000000000a2153c368bfc4c37000000005d2c0035137ba13ecc58323f0000000000000000ef69933ef2e2313f00000000f4e654359d7e403ee3f22f3f4df9b3335cd3843639b6d63d31a41a3f30bc3b3654a4a0356d465b3df9a3ee3ecd0adf34459e6e359125133d84269a3e8e59b634891950363707e73bf85b0f3ec6e80936000000003ca3033a90048e3c0000000000000000f1b95b3813f09b3a0000000000000000143b963708e02d3600000000e6d5c83489f9ed3799527c33cbc43a338a572b36d27f44379d6a1236514f333693dea935a71ca735c4bbdc35829f0c3691c390356d905a35c20c5d356ace4f35b9bb1e367c052936d3111736a838253623eb5d358c8ca73741670836f2760536bc3e3d34b8cc2634b0982634f4321a3447c836352259d0363e287c37ea446f340000000061e21f3ed46c5a3f0000000000164033781ef63d63be5b3f864f8233ebb22b36acf3533db49e583f69ef0e363b7a3a35b232f73c4d9e303f9f574c35d3423c35956cf73c827d033f0d7d6935fe2314366001063d142da63ec1b20b36d0860035ed242b3d1ad6073ea1a53535dded223464df053c1367923c3c5b25346c6d62344c35bf3ad4ea683a1e2b4a32ae3e89355729b5370c23bb3603347735a1f54b35caa29935d0d32335e08909350be3f035cc4ae8356657ea353ec80036e407b73441958c34059488340dd18334cb15fc3416597b3730c58234d07aa734ab3482354d345f35cbe84f35b57b8a35c929ad344d27143749f301355c39f1340000000032d709376a682c37000000000bcf4835dcf70f37e7789f36ccef393593b18535ff82003d04c87a3f0ddc48353c242b3523bdeb3ba95e7b3f5aecb03478cc1136baa14338ed87653f1d166935fd87c2344a419238a488393fa8434e349df9de3452fb413acd270a3f89ff4e34b6eb9c353783e43ba7fbb23e84cb2135cce00e35f671113cc62a203e325db334000000009f0cab3a87c06e3d0000000064572e351116003a2d14483ade67e7340000000000000000000000000000000000000000000000000000000000000000223a2f3250833732d1a00432a9ae8d3166f2c234eed4e2345372f934eff01b3529935e3471a88034f45e61348a403e3426485033502334335a2c37330bb7333312212a3534603c3592314835491e763599e0c13542c69535fb608435a0e3b2350000000000000000000000000000000000000000000000000000803f0000000000000000000000000ee87b3f00000000f61a46328a6f25327025603f650a37313e270735b401de34105d323f4d2b1835a174163544eed534a200ff3e024d2e340471723380bb443358c4973e74144233806e66353d436135d924003e04b664354527c135a1d96636fbacf13ced79853500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f98f35c847ed353cd8f63552cdd335000000004ba44e345e44ff33aca6003302cfef336e51c3347f45e1343ebd0335c4af85350989f1350889d035ccf9b335a2878d333a859c33d1c68d33fc5b843345d7ff32d70f0433edea173375b30a3300000000000000000000000000000000000000000000803f0000000000000000000000009cbc713f0000000000000000d3189e3544de5c3fa8b4f8359820dd357481f432801e2f3fb61bd9336d161c33db6415349f58fb3ee57f0635f111373559b19e3597d2993e8c1fcb350a42cf35fd2190331ab8e33d47a3d433dd0a6733655adf32d291be3a5b5e23331c401d33000000000000000000000000000000000000000000000000095b1f3b000000000000000000000000f7aa033a6ffd3a34262d0e3429d08a341038c6344de5b1340000000000000000000000000000000088a1dd34c8413f3583510b3a454b6035d44e49343c62b534cd5ca33464cd8c34446c6b307dfb733473a407356c772135000000004d233a3229b0c133143c273400000000000000000bad773800000000000000000129673fb04b653d0000000000000000683a4e3f3382923db219383495531c34ce2d333faded903dce05da3400000000079b033fb3175f3d00000000305d7e34cb87a93e4939da3c428e8f353539af34ea48193e3373323c24589534d7af7a30aa732435d2d1ae3ccca70035000000008e98c133ff60233dc15b1f34000000000000000069ee183d000000000000000000000000c182573d0000000000000000000000001a1bdb3c00000000000000000000000088d3bc3a0000000000000000000000001dd7f639000000001b6d9033c3242735ccc5383ac7e59233000000000000000074faaa300000000000000000039b0932df53d239bf80fe330000000000000000ed9cbc3506545e35000000000000000067e32f3a0000000000000000628c423f31e41e3e0000000000000000be842c3fe335493e0000000000000000b2e5053ff19b483e0000000000000000a141aa3e27533e3e00000000b02b9a3395922a3e9df6313ec9269d3300000000b7ab143af2c23c3e0000000000000000b9cd913414102c3edbf49d3300000000830145349434f53d58038f33000000002c20dd345cb6ae3d000000000000000000000000aeb6883d000000000000000000000000bc5a7f3c000000006374dc33d1a333356b8deb3aa3f6113500000000000000001bdaa439000000000000000000000000ed180f390000000000000000dd10b5342b7ce63486549034000000000000000000000000000000000000000000000000000000000000000000000000000000006042cb390000000000000000ed5f173f3b10993e0000000000000000bbcff13e6944b23e0000000057a24234302bad3e642ab43e06b21035000000001432373ebce2ae3e00000000000000004f758d3c289bb23e0000000000000000786e1e354c1da93e9353ba3400000000b9243d3168098e3e000000000000000000000000380e383e000000000000000000000000aea2c23d000000000000000000000000c1066f3d0000000000000000000000009eb3b93b8ef903339366d734e8280135c418713ad85ac0340000000000000000396ae639000000003e1c4c34986ce534f2f6923a9d569c34000000000000000079359839000000007c01ad3436bee63438dbe6392a9d093500000000000000007165883a00000000000000000000000093cb943a0000000000000000b311d03eb774ed3e0000000000000000dcbd9d3e6394003f00000000aa33cb34541d473ed0ac023f3a17a3340000000053d5493d9500033f00000000d43ce133ceb14d3a4111013fa4249f340000000086f6fe3374a7e53e000000002257983462ef2035fe859b3eac9abc3400000000ad9c1832d565493e000000000000000000000000ec5aaa3d000000000000000000000000c9fe0a3c0000000000000000000000006db1473b000000000000000000000000a30a8a3900000000a9619e3487510a35431fc93492387a3400000000000000005de576350000000000000000000000003e370a3800000000432326355be2453562441a3aa0f80f350000000000000000ff684f3a000000000000000000000000c77ec43a000000000000000021a6813eefa0273f00000000000000008a522b3e72f2283f0000000000000000258e783d8f902b3f000000009ec0c034d7151f38e0812d3f0000000000000000f2b317360e93243f00000000000000000000000020fbf83e00000000b0ff39356e687a356546a33efffb6f340000000000000000a800343e00000000000000000000000050754b3d000000000000000000ac11357f35873b00000000000000000ae4bd3558149d3a0000000000000000f54ec233ca6b6c390000000000000000000000000000000000000000bb1fa633471a4433b0d0613324b79033000000000000000000000000000000000000000000000000f855083a000000000000000000000000e9822b3b000000000000000000000000d1f0353b00000000000000009ebadf3d97a74e3f0000000000000000b799933dc5d6503f00000000000000002c7a5b3a289a563f000000000000000000000000f6f8513f00000000119287336fe39a3459022b3ff1fba03300000000000000003710fa3e000000000000000000000000c883933e000000000000000000000000f3eae03d0000000000000000000000004d15233d0000000000000000000000009ac3b43a00000000273e8b33f7620c34b0ae5139e1148b3311042b35c46f0335020cd43408ff1934373bda3467fc6134c4350834b37c44349504623561438135681760352e661e35000000000000000000000000000000008b4817355f98bb34c403a3379c055e34f1c3b533051e20344d63c339863cbc330000000000000000655fc9390000000000000000a49ea63c1bb4723f000000009cdde5331757b93950d6763f000000006bbb1e3539342735c3937b3f203f71304b63ee345cc5d0344d2c583fbd8d17341bf75635013495355df5253f6481f134000000003591ff3019aae03e000000001c461135fce5d9346107713e7226f733c2a3253499961534cb4a033e00000000000000000000000040dc313d000000000000000000000000000000000000000025b15033aebf3333d2535e32ed44b232972a0034ace371339479a833a2db90337e82d435cae4c535aa37cd351721d4358afeff343a73203515bed034529ec03401570434c66a1d33e454a13314450834edb2fd35e2ddfd359b2a09364e59e635000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000006dfb313383c5f6322b7e803fe1dbd3326e4c4133f1de4c336bdf643f89ed8a33787ce135d997c9350b8a343fa3c08935edd9ef348de40d359037043fc3948934df21b23200000000b330a43e61473d33aa7c0436175701369a8c113e8fa78e3500000000000000005217793d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007903e38000000000000000031b3ed30b8a4e8380f750332000000000000000019a4743800000000000000005a348538f01ca13800000000000000005c3c46386b4bd437000000006cb0ac3389b14938000000000000000000000000005993381df768380000000000000000000000000000000000000000000000000000803f0000000000000000000000007a866d3f5cc018340000000000000000fb4f553fd2acf837c96f1f32000000008c15263f0000000000000000000000000c18f43e89a0e935000000000000000033b2a03e000000000000000021492d341623f13d000000000000000000000000ddc6c23a000000000000000000000000000000000000000000000000a8005d33c22a2d37f97a413daf129e3297cd823040955e36fdf9783ded76223100000000000000000c28743d9d202233e92e5032f4aaa43295a3443d8a9e9a33a3221132548b40374f53c53c6615aa3200000000c4116c376d3d0b3cf6b598346edf25323ea38732c9ce4c3c2c4fc3320000000000000000f798ba3cb603a731000000000000000082ba7f3cb3745634a56dc7339bf5553f6ccf22393f5f703385f19330836a3c3fa74ae838169c213100000000367a183f93d2f638000000003c276d326801d43e2a0f1c397e9541333f2a2232000b723e53f4033984cdad320000000026fa1e3dca81ed386eed443403243d32809e8538183d193985b5c53200000000a36c1838839c213d5fd93a320000000000000000515eaf3d74ab4c348ac0b9349f7312375864ef3d69438f34873e2433210495373d90033e1a8fea33000000007a3b453433caeb3d6f089e3424d567349acfc337d6d3ee3dd02d483441e6b03492857138afe3003efbc5203500000000d6910734b463c43db857a2340000000000000000eb376d3d34b81a320000000000000000c7b6273d4acf843724515f342cfb0d35df00a43c3a01a83692b1dc3465ad273f11f55e3d1870b834e44d6a331cb4fe3ec989283d87ec1f34963cc532d2b3b33edb13453d98249834ff5a9b340668343eeed2223d198b7534a2bd0d35d5797c3c7ccd533de45a2a3500000000d22fe23858c0c43d6f87ae3400000000b7f6743735b8273ee458843300000000eebdd13764de483ef226d333101aa2348b531e3582942b3ea000803548553f35c20ca735bf69563e8f35053500000000f0cbb236c724683e00000000000000009e08bd351b5f483e00000000531f10334f75ad36fe8e403e0000000000000000000000004bfe113e000000000000000000000000c349c43d00000000f4f70034dc638a341d6f843df8c68a335626b7323525d233c0cb173d73d0ce35b9ca8033680b2e34d933d23c35f4d3357e45373541c7d33eabbad93d338bf334000000004e8d853e2dd9b83d00000000000000002683173ea851033e000000001d8e2733ec7e033cce7f1c3e0000000000000000b7d6ce38daf6493e00000000000000009f070c38d4eb8b3e00000000a466d533f6727e34675ca63eb3bfe4320a7fbd3204c0b2355709a83e22b4fd3359fa9333101de634db56653e1d539a34b91e34350792b837b3b5633eca04f033000000000cf694373b916d3e000000000000000085b3e1354d20403e00000000c3379634de63283548411c3ef6ac583400000000000000005d72ef3d00000000ff3d6e3384ce893453d3993de4ac1b3500000000000000002acb773d000000000000000000000000ab37433d518b6436a6a20a32ae3d3333c75c223d92ef2737487a34350398813e9e2b7e3e3b56ab330000000007cff43d21107c3e0000000000000000c9c72b3d53119a3e0000000014eecb342f16c138f34fa53eb580053400000000676b5938543cc63e0000000021d6c83314245138ee65ea3eded7fb34000000002fe8fd36f289d53e000000000000000012a32a37bd08ba3e000000003ca7b93283c53a388b3f7b3ed20c2c35bfbd9234914674376ecc493ea3b021340532f23370f1a237555e3b3eaaabbd3300000000d77fe6338b5dfc3d19ac3034000000000000000002349e3d000000000000000000000000d19f3d3d00000000000000000000000091d4423dcd82513300000000000000007c4e563d000000000000000000000000b731953d0000000076b5a834267b0835143f7b3d63d1723506d5ae341aba083e54b3db3eb754df33ae1b0d342937993c964be13e892777330000000003f497388485fd3edea91934000000008c102c38608b0f3f000000000000000060b6983802081f3f0000000000000000a7e0b637b1131c3f982d663300000000d1ed8337c175f73e0000000000000000b4698d379d0bb73e00000000db82cc3449ee1635697f5e3e64064035949b8e35d9487837f9f3ac3d6ea00735a6de1b34e5a80438723c993d0000000018af88341d60013364300c3d000000007695b734c022f6343ed39e3c2f2cd433e23f4935db032f35957c273dabb28437560ab1348749b433f696583db18e7e36e22c9e34324bdb34c3a88f3dde081f34207f3734fe0816341d88b03d043da836cba40035613c50346099a03debe7b435552c8035d6cc8f3dae272a3fc723e034fa290b34eda2bb3b3a57303f00000000c1e42d344bb9c53877f93f3f000000006a41a834fa7adb384e3c4b3faa7c0c3307a030358dc0a838f56b453f4387413513d98e34259f5f38d8c01e3fe834ba3403c58934cbc4a43597fad73e3ce0e033ba03fe33773588384990813e3f363f338acce8348af12a38525cd03d3642f634bb12443421f7e13320895f3d0000000013bbd632c0d0c831f586153d000000007755d5322e5694335b34b139405689326917c7320ec36d34499f1c3900000000813ebc3287a3a332a5eb283900db6632a8020533f2300a34f7e4bf3cf275a7320000000043873831286f743d000000009dcd2e315dd51a3124868a3ddd70db300c73bf33563af83294f11d3d6a318a35ccb08d343c29bb38f0e5593f000000005b809c32deabcd388ba8673f00000000f3363d33cd09d03781af7d3fa53765329fded033c5e49f3525a2743f000000008912b332d9e89932cc533e3fa3f04132cdf4b233a93b8136eaf2043f09018e3200000000f7fd0733bd25953e00000000060e27317c7b173412f70f3e4ad6b1300ab9d6332c101c38d507ac3da22f3634000000000000000000000000000000000000000000000000982883383eea29380000000000000000000000009adfb8370000000000000000ad3ded375dce1f380000000000000000276c9938e50925380000000000000000814a813800000000c4774932af2c093225df3239890156300000000000000000e5ee6b38000000000000000000000000000000000000000000000000000000000000803f0000000000000000000000003b67803f0000000000000000000000000ab8623f6b8a29340000000000000000ccf2303f1e08b0360000000000000000a011073f000000000000000000000000270bb63e0000000092d137323a32f331cda02e3ee7ec52300000000000000000dfa59c3d00000000000000000000000000000000000000000000000000000000000000000000000019c3ea350b453136c61771370e169d373e7c3a37e0eb35374eafcf3799da11388264b6372539ab3797490c38b16a223877cbe83718b4d73724db1038c3a43d38974baa37af7797370b78d837b8cf0d380802eb37ba6af53734090c38ebe713380d6a073725f0703770e678377df2783700000000000000000000000000000000000000000000803f0000000000000000ce7ba035b5f27f3f257dc0376e79833700f9e036a77c553f9cdf7238c5a2dd3794d9a13707072b3f12f543380dac0e3846ecca3739f6fe3eb47d8f396e481738505b92377c29a83e788832383085e937ea60be37bcda243eb59e2b3807560c38baa2ad361fc318387328aa37b0a14e37000000000000000000000000000000008a942736f1afd8375485513888982038b4e35b3691f86736d4aea8370f7ab637fad1d4366fbbd536a3ad2637ec0bb837dfd28e360fe4b1363ecff5372f1e143872afe536b1ede336c6b71437476f4f3778ab52372ec758374f46a63766d904388df3fe36dd70313793d0bf371ea7f4376085eb365d0cf53643684437f5cb5337ecf5dd36cec51a37dc5795374630aa3705c9bc35f0627e3f8641c43bd2c6a137f594443658b7783fa968e73cc4833c377d11cb36a3404f3f0da7dc3c8e84053783f388368dde263f63c09e3caaa1da37c610da3655a6f93e458e753cda2e183718b73237e91ba43e26ec413a7cec86370cf79b367d6f1f3eef5b033aa5d7a1371e2ee936873cba37a91d9437c851213755569f36d97e86372522c9370c738937f5732836975f8a371216173833ae8b37161dbb3636cbf6364cd2873709c3793746189c35de80e7362e42be378f4bc63791490f37bebb37375e33a237d036be374f26c8360da42a374af0dd378ca0f337c6860a37d3182a37ab6dba376f52c137283e0c3763113e37883ba237a0f4943738eedf36d1fc4d37cf278537f8127a3777e36337258cba37f1a524385f231c3813851b36cec0533fb9b3303e5a2b3d36e3aaad3695f8503fd9013c3e7898c7364f77753540582a3f476e363e7464393744ac6f3650e90e3f7644073e49427c37f8d3113597bad03ee40dbd3d86aa7b37a48cd8358140893e5911313ddff9593770f68336d275103e64af8639b54e5237694af8352a2ce137e7f2e937eee53e379e3d8e3679da21389de5563850d0c537faa096338c13d937877b4e38b14a6137f6a7e9357621043681557037887b0636113bc336ef697337239fe4377d1ac8374234f33673566237ba82fd37250deb3787727436fe81193732efcb379c78b9374cdc02361a95b43655838137e7886b3723ca7936878e82368a3367371f30a0364aecb5368dbe0837fd897e377b3125372ff99f37a2f5dd370ae20538af0cfc3762c69033a2b4293f1f6bac3ef577c3339ad4bc35ec03283fcbdbaf3e81c3e2357f308e360021103fd8179b3e8aaebd36fc061436cad5e43e8690753e32720a37361f6436470ca83e5e32303ec3f275364cd8f33506df563e827fd43d9c7f01362ef82f364ffbc83d7268143d832b6f3666524836bec6de37c7f21538f16cb136032d1a371df407389a642438de59b637cf972e370e4b27384de35e38eb31bb373a604337932d8937c464c637820a8237cf2674371ac7b437b95c0538b4f9b83736ff0637159e7f37c854c4377f29a63726f67d37efe9a437756a083866d6f237edfe593716d4a537fea2d8370aaeb1372974aa373382ef37a87b163888c9ee379c348437dee1ae374c86cc37f270a4376c32ca37671105388f6c19380060043800ba2b361082fe3e07a6003f27b72c36d56ac136fde6fc3e4282013f1731e03627961337b760d73ee610de3e6d561e372c2fa83668acab3ee9b7b33ee6acb83606bfb23699df793ead03833e56efb3367079bf367f4d183e7ab7283ee700d03656bd42378203873d7ceba23d73cd68379ff444370881fb3772f30c3882df5b37ac5f60378b00293823754438dc19a2372c058437cc780c38762b32384ada96377e4f9836ef2a0b37674160372aaea7368bfe793618e17e36dc428736ca437e3600fb6936ca95ed3609db1c372230bf36a5fd8e378750923783f6ae3750f67437b2b7bb37984dcb373599d23704d0ab374381c2379ffae237633ee937a539ab371eed0236118cc736156f4637cfec0336077481378a6aaf373ac0e3378b4f92379cd45936cb87a93ea1272b3f68adc7355fa8de3530a0a93ed1262b3fb9e6d435f9331e360329933e9502143f25410b360099e5358406653edfe0ec3ef523e435982d6e3609ca213e36d6ae3e06476a361ca4353700fab33df1b0663e8f0c7f36fe243237301dac3cdc27e73d9bcebf362f25fc354c11ce37957d0b389c27fe352be05136c3cdf7379ad737388d9f78367306ad3710063a38ce87753803f74537dfcb333700745b37ed5154375f68d036802c6437d65b4b37e11833379c982537b0738b3763637a3704a84637d782383717a3ca37104db0372d719f3706f78237d361ad376373a13724d38f37da0e81378147c437acbdbe37f74ab637936e7037169d7a37c95883375ca688370abf2b3784fa8437248f9f3787f3b537992e3c37914e3937a9af2a3e693a553fc8c3a93525705636112f2f3e6226543f2e9cbe3535990d372ba6273e69e0313f085e1e36bb9a2037a586ee3da878123f0e08cf350fd04537e17da23dfe3bd73e5bc9253528c38737799edd3c3da2903efc75dd36134a7f374ed7f53903891f3e40d5a835248c3837661fa1373b1413384999c43654bdff362effce3752c80238b5ed3436ed4970372644ab371a25aa379acedb369e7f35370204f636e183ee361520ed361ea4b4371b977b379899f6366eb715371219da37c3c36f37f1fe5437b340683757853137920f0f374d6be9363078f636c8ac093805afe337a3c49f37e26d9a3722638b377ab40b3757a4033756b3fd36add8a8373d0d9e370d699d37524709379fb71b3848481738931106389c85a4377d3520375236523880f17f3f503f2436a16af4365627833c53dd7b3f74afdc360cf358370375903c3578533f7ceb733665967537f4f6393cf9cf2a3fc76a2e3768381537241005382798fe3ed429e336057dd33759ac3e3a6ae2a73e78999436db0106377b4c2538184c273ef718d9361e85713711e3db370aaa1f3801806c36a284d6372bcd273882533838a0a5a33600000000000000000000000000000000621f6837fa6ec73639ccb5368ba9ee3606fd1738d6bce0379205aa372637fd371d211038f64eb9373fb97f370cacd737d1ef3a386e5efe3749e5e437fec90f3846e920380bfc013847f0f737321b1438b7120238e28cd5376ebecb37e886d937d2aba337198a88370bc6a5374a5384370000000000000000000000000000000000000000000000000000803f00000000b0f800370490b5378cf27f3f17e37136ced90538dc712838a6b2563f7c26a737ce5fe037b17925380bd92b3f3e139e37a21f1038f096ec387457003ffff1f63720f61238fc512d38ddb6a93ed105ed374150e537dd0e1338dfc0293ebe2f9537d1a698376f12983788e50f3897b20937000000000000000000000000000000000000000000000000000000000000000024b590367028f437ab375438a132cf3778d53e3652d70138d7a02338019906387e7c6537f61a0438fe3c823859a90b38d7802e37d8760a3892ccda38beae113880cf9c37049b0c3842e3b638f9701c380c25703732edf537d48b0b381d01ef37f7bab73659cbe2374949fc37ca899d3700000000000000000000000000000000000000000000803f000000000000000017cfa1363c086f3f50b1b639d782aa373ca2a2368976493fa7e590381b0bd83739149437138f243f7905cf39d097f33745565c37a7b8fe3eb514c439097aed37c59f96376e74b43eaaeab3393268053853f06f37f19b553e90a71e38dd07d037b3aea0366fe3763db5220e38b0e85a3700000000000000000000000000000000190c373517c6ec37c8681938f2789537d6782a36f9209237077553391d9b6f37e57132363b1ab73719415538fc9eda37aae3cf3662d2bc379c4d57380f211738b8882937ad9cda376aea083a2ea653391fa6aa359fbb733775b41938235ac5370055df361a6147373960d337df636f37f2ecc836a868d437d2382b38865fd637e88cc735e800da376eec2838a52cf137179d3235e1936b3fb1bda23d8d48163784c32236026f5b3f7544993d70d6073714bd31369b64393f7509933daa206a376b37c736fb0f193f8d30763d296ab637df0e2237f29feb3e8859243d9cefd237d204813578a7a73e4fd4943c0f8e903762abdd3639be473ef9a384387956353746fdc936d5a6693d945c9d39fb889037b2d3a835dfba24380a7c4838b6cac13703703637ed1a443939e94c3a2c0fcb37471e9c35ce36c437b333083afc44a635d296f03629acde37b2e99f386b0ee837651766361e45d2374df9b139e3a2cd37d08d0e368664953871767d3ae1c85f3992550a36d34b1538b738ad3922bc193889ae8c362c3fca376cdd47381954c037365f9835a5b2813733b91b39404d4d374d05d23624b3eb377b0f413a4497d0370f342d37a476483fe80d5c3e4c868c3795309b35cff3393fdada583e0dcfa4357e04a436270c1d3f3224413e173ebb37d2286536f0c8013fe175193e1e5bad369b93c3342224c63e722ae63d8c1cdf37140e0936e2c68b3ef873943d44937d3783083b367075253e5c97193d400a42373baca135d514393dbf0b203a88089a36a986ca3652a0dd39b89c7c3adca57b37959c49360d5a9539b230713af929bb36e1ad9a353543ed37c2b6673a2b8e253771f79236590e33377eb13138fc650d3737a4053652ccb93748c9133a993c8437cac18c36def6b437bf78ed39b9323937d9cd0c37ddb08c37c80a9b3928cb7b3712fdc036d257c33724811b38a4df6a3757725f36adcb1637eac8af396ea5e93698cc8c377ce30c38177196396ebcf73761753f36cfae233f5d66b73e24586b366b0e9735dc09193f8a41b23ef35a9a355f228d36a7ef013f151b993ef0e7af361a8af2352e49d23e3a98783e6bb58936a72b5c361297a13eb8a53c3ee75bfa3625c8033772825e3e9194023e723a493723bfb9365773ff3d2b54913d12d6c736bb7826363490ef3cdee17b3c04edb036e9d58237a14d2c38f010f539f72db137c1ad49352b234338a88e3e3a1614673749c8b236d08844382b4f183a14fc1d3772d0163612b2323878ae9b3814217237e0e8e63688c7e83766e91b38979aaa37cdb361377e546038783fca38c9cc1d3811b9403770b5e63766a710389ed1a33790603a3683372e38180d7a38e700853758630137b2dc1538f663823859481d37d8cae53618aa0338ef39b038a8e1b237db95453545fdfd3e3eaa003f0ac74c35c85ca9369ffdee3ea5c8f53e66d0c536d0b80936b2d5c73e0e08d13e486e2636e8a3b036b7d7a23e4bf5ab3e0f111f37e0580537178d783e289f833eaeb391373817ec367e98263ec49e3b3e5225363785a52a36095ebb3da4cfe03dc4b53536943de636cc226f3c5eec1a3d0a2dff3622189435ae4336389015853959f844373f419137f0fefb380a41113c2634a1370ca63f364c7834373a5a883a6a49bc36b3a5bd36b443ea371b542e381cead03678d6343794019537a4e9e539e6726137358ef236ff5edb3779cad9393e191b37ad32a236ecc2dd37786fc03934640737b593bf368d8b8837e9bf07384be5bc36a55746367618e437bb98a939c1a69936fc0da336f13f8b37838cd9391df7bf3617b0863776fdb23e44fb233f60ab683774570036e934ac3e611a1e3f21a80136bfb0b43671ef8f3e59e1053f4554b73679f5133716a2663ec3b8db3e38280a37db4eb53611f72a3e6422aa3ef0cea3366ef877367902dc3d10b7733ee6971936429fb836f8214d3dfb89123e6aaba8366404a135c7b6a43929df563df5daa43526729036544a9638b12c203ae6839036de72f036d700333a5a3bfb3b189be3361e18cb352fa80038dad74c3a916da8353baa2d3795061038edf962384ee21637d43e5e370a25583827a1a839f1d428375a03db3749b2033a41095f3abd60c037628d1d372d8c1c381d6b91382b596e3621b3d437cb811938d9006038a0cea037b6f8a3353922cb37fa0e2438c055a1352918ba3749e52f386f2ab539e1f794379090ea36367d523ebdaa483f0829c3360a1cc635d3fd523ea3453f3fb34c963560720e37d43a323e6a6a203f357e5f36e7fcfa3678dd063eb2a1053ff2180a36211aaf37fd57c63d0053cd3ed0892137b9c0aa3679c6583d3e57943e1ea069367e11c437e54c953cd5b2373e74ae5f37de3da335534e2738fa857a3d93c89e3587519f37f4506938ad310e3a21bf8137580672375be21d38d1817039d6850637a886123704c91138dc3c003a729cce3640ce3437635e8537744908389907ee36223f8f371d2ad037b46f0e388794b3365b75013807063739c9388e3966088437d8dfe537c4bc1d38f1452e38f89533379391a837f4a70638eb231c38f2bd7d36c83b3a37fbf2af37ee2b1338129aad36c7308b37bd6ad037ac6f0038d5fedc365fe54037c2a2873d0beb6e3fb9989435c337fe367ee18e3d944e5f3f4ce8c536cd6afc36470e7f3d4f113e3fe2f0db367d894e375cf6353d8a1c1c3fbb890836d085ac37eb53e13c811af13e523d4037cd64a23758e31439baedae3e5d63f936f2a75937e4574638979c503ee6fc5a36dbb51937184efb3740848a3d6e476b367c6a48372d0edf37922012385eb03a3500000000000000000000000000000000eb891d37742fa8378f2c2c3876678b3778f2cc37167ae6370f4714383076d837c2880b38faee0d386cb67f38f3be0038981f0038ba0a08382fcb2438d35df63766290238286e0438f5f71138c59ee5378442f3376d4ff5370b0918380a78be3745b2c0374ff8d43708c40438881a9a370000000000000000000000000000000000000000000000000000803f0000000029e8c736fc3c1a387a7d703ff9c12537d1a1af372be41d387e844a3f678cbc375617f537de857239fe88253fce87d3379b35d53702912139e367003fd99acd376230e737030624384969b63ec457cc379f8ece37c85b14384eab593ea08d8237199fb8379445f0378586863d6194673700000000000000000000000000000000000000000000000000000000000000004cbf1e380ace633a175f443ad5e994391ec32638dfecaa391377a839963f44396d0d0e39797cef398b03ec39976ba53927d2913892f7b3397035a839da253e39f458a2382cca483a6793493ae6cee439d4626639a9bc033ad640fe395a8fa339fb775c383813e03945ebce390b7e3c3900000000000000000000000000000000000000000000803f0000000000000000d456e3381692603f23a94f3a1c4a6939d75050382181403f730acb39e6840e395ac355394adc1f3fe46cfb3982978839924d0439c719ff3e48fdb139ded21539a5d64d392408bd3e505b513a92b5b839c3f67e39d3f2783ea150fd3913de8939848777381608f03dd2ddc639cc280839000000000000000000000000000000002eb6363756aae839ad8cdc39d73f2f39144ad13745a6e3398ba1fa3903551f39a70bab37c8b00b3a4702663aa68aa2382e2b2238cb133e3abca86a3ae2da0a3a58073238fb42273a382e373aae62e03993036e37d8585c3924f8d7390e4c9d3701ee3139ecab463ab682843a74fb033adea1b9377089a8392e69043a1c540939c68f50371218f5391b2b393ad89c2f3852ab5a380a74613fb78eed3d20450739f52a0338257f473f31fad63d59d73a384359dd37baf8283f7a4dae3d2ca32538a6701e39088e0d3f3ba2943ddb55e0392f650539873ee13eeafe6d3d35e1b639e6d27937ad0aa93e1af72a3d2e3596377a4e5f39035b5f3e9325c13c14aad939c2a3d237c994e23daa280a3a498d4538c8106737644f4a3ab5cf343ad6c0c137658d3e38e6df1f3ace50363ade029d3998861138ff5e373a456c9e3c01d3c3397b77b037d475293a6b3c953c8b57be396d125637ef2e003a0653983cd07b8739be24063980a2453a8b7f633a9cc60b3a2d78b337bdda043a7a2c2c3a63326439f8644e37ddb7ab398375f439c425bf38f6f1983943ff8c3af8609f3a37c1493a3f1ebf38a502283a85da453ab4c2e73905235538437f403fd9de783e5902473925bf15386578283fd2c8573e60d16d39991db8376b440f3f388a343e52507939fc0486378c8fed3e840a143ea3d404396cc74639d27ec03ec74df83db334e139be68c0371a95883e2bc6c13db29cac38edcf5937c549393e7d845d3da285923732f2af395300b63d47a1ce3c9958293a5944f5388c3a403a0714463ac689b8397cddca3790b7bc390494293a204f1638c6b82938f758013af0919e3cb68a0339f538c3362761cb3a898c143b77c3fa39095cdd374bf9483a1c91bd3abd665e394db9dd38d557523aa42e823af7d1073a78a5e037fb5c113a0b84713aa7df8f39d98dc7376921d6395b938c3ac28b3839af1b9d3814275a3a4122853a54a6043a05af3438bb80093a9f8f313a7a0a9439d1f3df379609203f6f4fbe3e6466ff37fa5a2f388de50b3f2c00a63e349136380f29da36aaf5f03eb0678f3e52f31139bcecf337656cc83e5b2c6f3e274e7e38a977133937689f3e663c3e3e7701c6393913e3374d596d3e7add0d3ecc97e6386273d8377f83173eabe0b03da4450f38c476f038c65d943d4687323d0eb1c139874135388652223a61dd343a9ce8433951c44a38d420db39bdc90b3afefd6d38df8681371296393a6348963c3b625438f2af08382b29123a35a1893a33c33038d8443f38551d2b3a71f5683a36d4b739e5644e386252a73902622c3abf97ea38d94b3f3857232b3afb4d603a5d4eab39ecff103843f1153a1c70743a82883638700e90377bd5f939b049913c23e8eb38d02c55381a6890393f77003adf61f338c43b5238c3eafe3ea979ff3e1e16613831bf9c3789ebd93e6122e53e3219cb37826012380604c13ea198c03e97be213820df4738545e9f3ef0bda03e2b1e4039301e5b38768a7c3e4c1b813e43ae7738c37f4b3833283b3e1a25403ecb5b2e39946d15383474f23d4404003eeb422338f172a1372ace283d0c0e453dfa78de370fa8593885dbbe39fe3e073a9ba66338136f2c386bc8103a1d494e3abca46239c2aacb38ad98613a7e3d993a894ae5393de6c837d755fe397235a43c855120380ce7e337b117153a7fcca03a00c455390d305f39046c513a1441853adabbf439ae6e0938d7253b3a98f1bc3a993f0a391ac586383d97bf3a0bb70f3ba92f53394d4730387508ea3989f42c3a8a794f3874dddf374ea490393b571c3ad0e91f38388e3538720dbd3e234a203f69fa483823f724394caba63ef5760d3f31cf7639251be037a5f18b3eb59cf03e7fa505385242e637e22d6c3e9841ca3e02ef1038661983391b863a3edc22a13e9b90a339410e0e389ba9093edc5b713ea30d143848848938a562ae3df2691f3e96ea6337112b313850d10d3d9a1e963d5fbb3c384dc7ea3721d4b139fc09243a86930c386aa3453979ae2b3a90e6673ac982b539c221dc3952058a3ac980ca3a7282303a40307537471fa339a5a7a43c60d2dc37477fb5373ba0ef398982403add393f39eb7ba73925883c3a137f713abc39f239e70d1b386b18ef3983a99c3c5273f638e8293b392513143ad9b9953c1fea7e39ee6d2939c62b273afab0a13c1279813938890839fa2c073ad3c83a3a14a6803999c367398fbc763e03b0403fc44a4e39c094f339733e593e57322a3ffe4af63951237d374b48363e28bf103f2d7f80376f53bc37671c1e3edd6bf63e4f2be93742a5b039db35f13dcf13c23eabedaf3988b2233895bd9c3d55148d3eff46ab37210d41398fc2373de470383e5fa4da385a443439852e3f3aebb9b53dc871a9384ccf1b3915c8133a08823e3ae161ed38b1778f37f868bd39373ba53a7ee6bc37c24a0c388607a1394b7e7b3a48be2638aa1b9e399289303a4192e33a1021013a3fac8f3775c4b93871e5723a75e0943762519639826d113af9ba4d3a9f1bc439c088c03961572a3a702d863a8bc7dc397f9417386520a939c912973c1e00273897762f385424a63997fa093ad4413838d1a7ec381e728d39c031fd394fdb2939916995379055e83d00d3613f13169837befd113866ced63d4d0e483f207f0d38f868a5397cb0ad3d5ba42a3fcd20c539104e9037b4f3903dde330e3fd24789373e988e39e962623df238e23e8a189239367dc039091b173de4d0a93e7498a939e35f18384120923ca4a55d3ed0740e38edc63038989ec0396de8e73d6bd51c3867e4f738ea259f3909ab043aa426eb3800000000000000000000000000000000b6c24a38e0b090392139173afe748d39a49561394d5bc6395539313a4b57d0399a1c64391a0c0e3aeb45793a8790083a063aea3802a96039bad1c6392c0a7339b6c17539a5edb339c9b9023ad9fda839cfa4f63898a96439cdebda39db8a2b39791359397fe4ba39c58f743a20858c390000000000000000000000000000000000000000000000000000803f0000000033d766385497cd397d1c613f5add4e394cbe5f3921acf639ba6d403fb40abb39c0be7a395392433aaeac1f3f8e74e839aa91de38a9999439ba56ff3e8ec550394edb70394874d239c3edbd3efe309039f1dcef38984e8339e4127b3ee346e138a2ee5b3941f8db39b6daef3d9c2746390000000000000000000000000000000000000000000000000000000000000000050c4736183e5e3634fb9e3626dac2375a366236d4f5633679fb8236d99aa43622e24d36e5b14a36222a6536bc9370369a929836bf4a9a36747dac365414b336848d8c378e099837d8cac1372ecfb937dff0ab36142e6537c8c17f37c6e2f036d40c0436e0290e3689d30e36ddd2063600000000000000000000000000000000000000000000803f000000000000000051ad3836fce07f3f474fbd38593eb0362fec623678bc623f2919d0377cc78b363c4b49369ee7303f8a6e6237065f6f361b1d9b365c31ff3eb0380f382a49b036fd738237c1379b3e0ee92e38a827b03770d5a9365bbddd3d345c25389fc5a73623400236c8fc0739e199fb36c7c304360000000000000000000000000000000018abfd343db9f83482a21f38226ed4376d103a35540a4635917b0b36818c8c36cc4db336e2b3c336bcf3a937d2ab11389fd68a36baa49736ec73b4375f0b093834744f36f3796e36c9812c370098cb37c85bf736ff4903371925ec37ba12ee37bb8db836735bd5362b33813755f1373747b4e6354236093631de8637d55b3b37caf13536283da036ef95a3371222aa3743cdfb34ac657f3f3529173b12ec783757173835ebef793fb071c03cb1510436ed16a336456a5f3fbc12283c23f8e43722837936b92e2e3f29a4db3af5c1ef3790c43f3602e2f83ee63aaf3a28dc6d3771afea36478b953e5430753ae01ae637ea05af36df7bc03db5dca63a181817378309de35e5ed58385d7a9138e0b730375e550f36596c5d3743c837387c4fa23720ff93357a7bb73518f3503853a8553779ea6c33a55f763329fb8637359e1436b5e13c3669eb6d36fca249371981433721480a36132c1d36f2017c36994c8036dd55283689ba683622dcc0369f3cb8366239383631975f36f5632437e6d5a236f1d49435c454b43500f3db3796a5fa36203d363651694c367667673713616e3672b88436b42ca43710003e38d59f2e386a407335842a5d3fc5480b3ef6cdf235328f7333454d593f3fc01a3e6a853b34abfd233698263b3f19221f3e2facde367112fd35225b133ff731023e21d15f36a9c7c935c931d13e5470b33da7bc9a363959263629767c3e6884533d33118336d3a691351399ac3d47198f3c362ddb3571872a369717af376039b838905f5d369230743612010e3829b883387f411238ed2a593650c7c737dbb71e385d829837d314b4359499e035896a493705ecf23539909c358b61bf35f7835a3616a7e0357b88713644e95237574e2438d471f937d9144535f5774b3559fe9e3571e26935783996367038a236f1f7ea364d10a6368c1b4c364e9579375ea9d4379fd252371ab7a4344d179f363b7781378bf69336e1f96c36a8ed7c36fb4d7c3766de7f36cbab4536693f2e3f4779a33ef068ae36bcbc8c3524232b3f24b4a93e41f0e0358e5e56350a1d173f4b13a03e1c14cf35a373463605a5e83ee3ba7c3ef6da56376a8a423531b3a23eed6f313e50614135fc928f3671673c3ee9f3de3d2cc69a3625113b3668b5483dbb8c1a3d09c35936bf679d34d5ac2c38ee42c23811e98634b6cf5d363ca5bc37ec207538674c7a36127c7b36053511381c8247385a332e376a94dc358f46623696a47537f5e3fd351f3b8236f61af1372d673a38f3d667371bff9536e8962a375915ad3799a228371ca81c360e892236d2bb8937fed61936025614371f66b73721a70238636b3c375428c037274b6d38d9e888389b42ff3743650e365ff80f370198b2374476f735d06a5e37c79fe737e79c153812d5a037db983536bc53fe3e9ccb003f4ea937361623c43515f8f93e3cfa023f98a0dc357ce67136d882dc3e883fee3e2c558236bd049336ab23aa3eea01bf3e2ec9913635a81536f23e703e5bde873e378814367e0f94363697043e0732293e35069636277c8c362c830e3d7dd08d3dfab0853636950536dd3baa38a2fff9385717f335bbe9aa36b6672f381f005238d924f336768c6b36d59f043861ee2638c2ea5c36d221a7341e2901374631e436aa99663413ae51363fc11437d0470537b6624536cb229536eefb9d3657f29c36575a8f367ea65435ca5e86353ec3a1358bba3435cbbefb37dd3b2538b3c32f38c2a38737908add3561b254374ccb9537f4a6b935f661063624efc63604716137e139dd352672a437deaddd370650ef377eda8637b5e86336237ba03e63be2f3f4cc34936ffd08334aabd9d3e7a1d313fe24d3d3491fc3436f53f8f3ecb2e223fd5660c36b2009536e6e4543ea59cff3ea2468a361f16463591ae1a3e8b4bb73e6dd939354f7b863784e2993d56fa643ea2116c36bfc7e7357974383c0982af3d0d6fa135b94a0036d6af9738420dde38a679cc35a4b14d37d9b20f3870cf163837588936b94000387fe55e38ea372d38c24777368c705b36699cbd364b353f36d5eb24366deee0353b6ce135a5f2af35830689353c42863605e68336fea95c36b3b23836bf97ad36a34cad36ffaa9c36211e64363f1e8236569f2e378301693668323336a3f54837037781376fe55c3773478a36bc42e4351e325137a1fb003757108433e54d01372cbaba378ef8a337ff46be3532b0bc379811053ecdae5e3f29e2593609d85536fce8033e570a5f3faed10836acf9cf35d89b053e5285443fce5b873549206c3629fbbc3dbf151c3ff3df1f3654999736a6816d3d855fe43e209903361f7c6936bf9eb83ce4b38c3eba8614360bc70e3766208a3a065be63dfa354f36d8799f349ace8c3839a68338552b72336d94fa3527794938fab227389a0daa3506aaab37cea30838bc8b50376e1726366f6923370c4522378e32f535cd38d43508e422378282d536c316b0360c5bab36d55a0538407d9e3711cafc368954fd36ac8d7d3795e5fe36f8fc8436d992783648edfe37064cce37b11e5c370074ac362d780338927e0e389498bf37c4ece7361bbd45364415be36222f003685628735c138b63745ecd93742ac5737adc8f234aade7437743b953a12b07f3f51dcc3350ca6c036584d843acfb07f3f2f3d9335eca7e036ab07dd391d84673f97d994365416e43752c03239c3ec343f2ef0e53666041b3789d5b8399b1b033ff7455436c760db3725452c3a6f60a23ee5ec943607afe23787242e3a864eee3df22fcd36549f0c365cff9738be89e338d9db493589f36c3748223538476aed3711f70135000000000000000000000000000000002090fa355c89f03519f5db355fecec351939a736e6689e36b1579836f22aa4365a50be3785007f3733c3ec364fa0863762a0af363709a6368aed9e36ac76a736a27b7936a90867368bbd5e367b885e3600268c36248b8a3690598c36f423833614f88337b5ceb93738712a38015fa7360000000000000000000000000000000000000000000000000000803f000000003eff033648ed093669fc7f3f9d41d835b9f0a736f02cd0374545643fc3cfa136130ab337fa8f1138a050323fc80b703711a3ae36f9c49e37f662003f83eea3367bc374363f234c37872c9e3e29de56364bbf8b369dc1ef37efcee93d4fcc7c36bbcf393721c5983876188b3950b57e360000000000000000000000000000000000000000000000000000000000000000b671dd351dfd6136a3558337f4fc4b37a3a65b35e4fd6d3691889337acb3a2379b41c335cc603537e0ee17387297093802a87b3628bc9b36969d8a37fc0f20376c9f0236be4e203798619137bf378636760a2c36d20d6537d9055b374e335c365bddc9358e14a53744c1a13772d8083600000000000000000000000000000000000000000000803f00000000000000004bace535f6c97f3f1deff23743ef1f3762f4533593fb593fd28608385c3c9337d576c835e27d2c3f26045438ba5a033886b48236d26efc3e771af437e46906375b7b08366e8b9f3e40cceb37d7304f36b7a1353669a4063e8b94a6375cda5f36757ed035317d853810a0ec3767590a36000000000000000000000000000000007e7c7335cd9fd73592dc1238df539536651c5236a4fbc436c8b0b037f0405637151bc335a319883617640338c948e436db193f3696b55d36d2a804385d36e33737e61637346743370e7808383666d0374520ce35d0334836459c0938351a1e377aa3d735798b92361175993735e3c63658e9a53616fef23631453838ebf6c53737e495357fd9c336c022f7378466cb3727d573358d1f753fdb9f2d3d2b3a4436582d4b36d5d16e3ffc19883d83272537314ac035087d4c3fb878613dd099e536dcf742360743203f0fba3b3d6a50bd37c5cc193769cde73e35000c3d38a9a5371eacd1355d2b8c3e5fa2d83cda04fd36d418eb352986bc3d32688b3c109eca366416ac362ee50c3805a91b3a86d59b3773a67535d3fc0d37d4708738f031ac373d20f936abb721371831ed38d5f42b3796da3b37316263373c6de43775377837ab70b535fd959136dc870138477fc2368d5a043711f124375e1e9038e1343b37dd0df93695781437b8991b38f6832337939e5c369545d136ca889c377fd0eb3691d3153799f53037d3e842384fbb3d376e2cef36f2a4173717f27037b9a92837519c9e36781ed336f631523862110937f3a9f43628e54f3fd948403e8ff92937b3c33737cf18493f97bf5a3e1f2b76374bf29e356c4a273f30484a3e4478b8365dbf03373d56033f236b2e3eaafc38370c11f7365ca3bb3eb42af63d121a223750c0583632b8553e363da13ded5ee236df3c163753e89a3db9c20f3d00983b37997df036228027371607663afc272737e8d4a0369ede2c3778d0a938c3a0f6364b44e13668e9333713242d398665023772c1c736bd4a02372279133805bb003748b80c3720192c371a858738ea432b377736f436fa1413371c14eb37d99b1237e54313378c5a2a3792f46738fbaa2537494e4d379f90123822b3a338f0ee8c37f8d8ca360b548437b9f881383426e336eee14a37991a66372e4f4638be04603748ec63373bf1753720a77f3857047337816fde363699273f9a9db03ef516fe36d490c2367420223fc662bb3e8380fa36158b0b374c65083fbb58ae3e06d028379da7f2362560d23eef5a8d3ef5a50f373e951237053d933e2f89513e4bab23372f114d37278e263e46140a3ea85f5937f3fdca3668a9203d4ab78a3d75c6dc3600fa4a37a3dd07384877c53941d55b3739c463378a890c382224063af1817037e1901936442f0038809fe438445c1e366659773756edad37301b8c38fed57f379301f1365b610e37d4853b3849760337318f03379f0d16371cc2c637e2470c37d5a24e374b7aec37c7b39838b0a05237f2f30a37a3c41c3715aceb374e6209378a390437818912377115553830c7ff3687877d372bd1893771c590386eb7803787d31e36e4c25736fce76c38594a3536177f0f363f9efd3e3230013f868906368c3f74379fb6f43e3474053f30ca78377ff1ec36d428cc3e3e27f23e7068fd36958c0137cc279c3e406ac63ef2840637d14d4e373321623e5cfe8e3e2b634f37236a0a37a31ef33d0762413ee9510537e21503372799003d7bbec63d9e6ef636e72c7e37bcf46a381331363af1547c37d99220367a94e5372ccb0d39cf202636e1897037ec7f4b3830549c389a83653719555937203a6f37f40e223877e64f375dfad836b1b1af37c2c34638a45bd53620755937e488413848558e38fa5d5237b7dc2537891432375605f737f25e1c371c511437b5ea1f376ec8c7374fa3063778f02e37149d14388c298838e2bf1b37c338043766860f37f7bb09385413e7363f7c033761b15737e40a1c388ddef936d6e76d3726f3ab3efee5293f6f5c5d373dcf56371f89a43e8aa92d3f8202453719b7d03672a68a3e1a491f3f40eec2366d225737c4ca4e3e742b003fc6354a3727eb24377baa0d3e3d3ebd3ea2631437a7c01037b203933d8c1b773efc32fe36195d2c378d34053c67fcf23db2671337715e033715360438f1eb6c3a3de1d63615f30137d83ee43785d668399a11ee361f76f536c80f4c3888e66438e4c6ac3674c425377c1232376b8a2f379be8f836b2cf39370b6792376a68c237f7361a37ca22dd36691afe36ab0bfa36c2758b367d4522379a8dc6379280c737069e0437ee1e3b37d5f2013860012d381fc5123735b0c43644455d379cc2d83720103a36e3457a377baf8137a1edb937af50503716972d3721033f37b4365c38633b0c37f2c5f3366f9d393e038e513f780797367ba624376873303efdae533f2573e036395d3937fff71e3e64f03b3f70cc1137a434d736e0b6de3d8e981a3fc2df53360e8f22376dfd943d6898e13eb9c1fb36bdd03a37e2f2003d9408923ecec20a379406bd361edbe63be55d113eb8f6f93522467a37a5670c3892ef6b3a01594637ecda2d37bfd78a385d25bb3894e603378db88037a76826389e2eab379c0d1b36c30a8e3782602c3800318b37bf78bd365d28d3366a33dc360093b236f17b2336fa4e1b3729164f377443ad366f6ce235ec37d43760ddf937b1268f37458f2f372631f337b3b80738569e773734175236aefef03617f2ee377a0f2d37aee83a360f9255375fec9a37112e9e37806aa636874ea436c7e09937ab947237b99cb335d0414c3743bf0d3d971e773fc5b934351aab3637cf96c73cde9d793f47da9c36bab5c83600185a3cbaaf603fb8f5d335298bf736c04f403ae2f8323f8dbccf3501b4a437d6a61e3aa833033fb77a21373400bc37a92d6139f9e2a73e8bc44b365736ec36b1d48d39da6b153e6216f5350f433937d3eeba387506293ae3f78b36e90f7e36eb42073822fad937ccc19f3500000000000000000000000000000000bd1c0c369b310a360c6564378c06e03542815d364eae5d36b0a6c1362d344b368d40b9360ca09b36c9cb15378bb20b36c90c3937545a083762312337bc778f3651930a38f8500038ce2b113868a73836980c9937b53b95377be2b4373b893c36b53f483716167d371f88d437438844360000000000000000000000000000000000000000000000000000803f0000000095b60f367b47a137d0f97f3f688dc135af6756362d204f37a4555e3f177a3736a4114236cd7eaa37df33303f583b0036645d043748dec837d1c8013fa9d58636313e00386a9f3a38ede4a63e492ce835cae58a3744f7f73776eb173e4710f835fb252537975dd037209d3b3a50f82336000000000000000000000000000000000000000000000000000000000000000099b2343603dbaf3656ab3938d9e8d8365530ba350b22fe36209c063851065f3773cd74352938083707301538c8043e3683244e36745b2e38870d8d38f862a636e887b136212322385982343870a138376c8e2b36c5d11e38b798a237e57f38360b318d359acd8d37e343aa35ae59993500000000000000000000000000000000000000000000803f0000000000000000d32e483679e9713f41cf6238dc85dd3624c0e13567c14b3fc8e04e38633d093747b194355d0b253f9e6a43382590433647965e369ca8003f65199a381184a836c6c3b636a5cdad3e82223a383949e336c3092d36acbc403efa03993729d23736244d8f3587a40b3d30ab96354cb89935000000000000000000000000000000005d0dce356ccf1b3796b0963aa748f637656ab935205f7a36916b183ccafe633731932f3316de973566652a3ae19bb83718f3be35537d2936076e043a841de4371f0f1635cd931f36d5c6f53bd1b027389d4b8f35f1a51f3610ec283c379f7037f811973561c62a360a32d03813dc7e36145e0c3562700a377d4a443a41c348373c2b11356724043749f9133a52d8063825d1d735f0b46b3f67b99b3d0199c537839ad135edff573fa6e2a03d57d2d53622132e330e8b363f03e5923dfa3f7d37e8f3ce350aa3123f7adc883d9905223721054e358784de3e8270393da39ecf3780aaa33514a3933eaec2013d6cd85c369950ac350c3d1a3ec52e993c6ba96f36da365035d0a49e3b3dbac33c3b549a369ff04235a956913748ff5e3c2eebab37fc9e7f35192be537afedc93af5851436350e6434db3c1936da5f713c68193c363a873f3617e32737c0bdc5394ad5223728e8893563efb536ec7d3b3c41d5e936346bcd35395cee365d70e43917e28b3649c52636b8db523605da003a71196f36bfc79133833ea8369998ce39b71a09363e1804368ceeaa366c4d6c39d452a636f9a99a35434f3737e6802a3a9728af372ca68235f54e463f3dcd613e5e030e36fe9d6d342298343f26235e3e08a43c362b0c53368158173fa732503e2060e13667c79d35afb2ee3edbe2273ea7567f36cfb7e8352d3bb83e4197043e2ac48b36bd432d36c056703edf2bb53dbce36b364d435e34d6a0023efc20553de89c053611291736abc311386920e13c0d6da236599ca935a88f1638d421393c84d917378ec116352038883861af4a3cb866a6355fabef363a0b293798c78e3cfee81d37511488367441e2369dfe4d3af542e1364cb51835d25598374a46173c5a87e735b46b25374b794b37d907a33ae7134537055c9835edc7b737547f023aaadc41360cfcb536fa8d5b370f023d3a5403dd36b56002378db22337433a433a44d31437bd432f35a06cc13732878f3a35d793351c1917350040213fcfe1b53e12da9b3504e8f536e238123f9d41b63e67531a37302e8e362c67f73e604aa23e269cdb363bef21357c0cc63e909e843e6370e53528d628376c85953ea7fc4c3e53db4237fc6bb335bf42433ec3aa133e01603436af3bbf365551c43d470fb13d1014d736ef9f0537f8a5933868270d3d14c0113760902d35fa148b3821ad9f3a304d973513dd503616312a38ee3a813a5b00b73616750c369788a638bec0563cc42d3d3600d86d35631122380b4acb3a46d19035c484ec35b3b3fe374807573af75e1036b5a89f35a89fb3381662373ae88ed1358bc90736883203384523193a2cf80336b9fc7e35a71c39382982413a2b138735c6412236a5fe9b38760ba83af8533336fd8d64368f2ec537ecf3873aff212437fb0e5b3676fffb3ed63a013f62626c365c66123637cbe23e3521fd3e80ee2c36fa4d6735b073bf3e2a0eda3e4fb28a3542d5ef353207993eca30b63ead7408362fc4a935b1276b3e61088a3ecd69bb358ff405363fd3153eb8684a3edffcff35598f8535d0c19e3d6dbaf63d436d7f35a5332b365f4004393497443d1a16253692057036ea0341383d078d3a30e7773607a494356d55b0381b24973afe0547359b6d0b3762482937d8abe33a41070d37981eca36528fab3709c3f83a6f40d336c1cd24366db34838b003393a8b49ff3548693f37d9155337c3e78f3a927b3437f467e5352d4f6738ba588d3ab0ea7a35a8e7d936c9a58f3750b30d3a5c0fad36de461a37839f2b37fb5fa23a705c0c378cd2a035bae681387bf5a13aca545435107a8f35a1c5b33ea92c253f8ce72f356bed0b373a41a43ea675243f91670537ebf7cc36a8ee873ee7bd0c3fde83c33625aa29363784593e8c34e73e95fbc23531cf3f3706ac203e819bb23e7fbe2d370d82e6350b47ca3d14137b3e3fbb5435dd65de36a3e23f3d46671b3e074f9d36c7311b37fba6ad384bf75e3de83f04370557a1357834c13882809e3ad8763e35913a3e36959a6f38797b5e3a98c0c835da2e9d36acad4a37403b823ad4044f360d0302362d74a6371189013a616a41356dae6736f03ba937c618043ab3fb3b3672798c3668fcc537787bc73970392e36afb4813626b549389d8fb339997505365585e23601f4a937c2fdc73918ba9436d73547362fe695375608dd3a60f6513550aa123645ae4338c84ecf3a7af6b03553c53836bd9b533e78cf473ffc39a93506c99d3655c7463ec6fe463fbb691d363028003639c42b3e6de0263f64e69634de4f653640f4053eae900b3f5d4d30360dcf8b3600dcc93d49a7d23e72b20e36e4d57f36e9525b3d6dee9b3ee322d135a6d1e236e44adb3cb05f363e24e98036be7543364576b63b4748643d3382e634fb5f11365ef99f3972afb73a3dcda23562919c37282edc39dddff93976ea9835ca435536ab72a4386bdf8e3ad695b53534997d363e7b4138c3a1a33896d5e73576bf5c367deb6b380ea79b385f57eb3563a6753742842939550b4c3a5d76c535fb581a3796fe8b382c82be389668053650e64d378e41893824429c3932a422346bb3ce361bbc8538c242863a7bdd2836dd28cc374dec6c3950ba4c3a4d190a3672a69c3749cd793d9e8a6c3ff8fa45356e975136ad83653df7ce693fe19e6535e9087436b11c5b3de4e9463fafb6be35abcf5b3612c8213d3f4e213f8852bb3525b864376fdde83c0168f73e072f9335cb091237092fad3c3d64ad3ebe4cf23579324a379507a03c845b473e9501313365a5b136490f483cc46c613dd0640d36ddb3c2370b87263a3d62e239aa52fd350000000000000000000000000000000091309c3558749735c11c5338e3778e3599093a360afc443686a96738435537369759cd36a904b437a32d353a8fd2de36de37ab36987ebe370da6b238331a80364aa7433651f7ff364ed84c383f10cf35e65fbb36bc79b63733f67b39c8ab2936d6eee1368276a83795a498391c1d87360000000000000000000000000000000000000000000000000000803f0000000035899a3568809635db45773f55508e3550563a3627ef613657c84f3f75e92e365c05cd368be917385cdd283f02c6bc36075da9363dd76038eb97fe3edb6d6e36ec4744360c9cf137e9c6b53e2eacb835b0daa83694cbea37e494503e203f113689a7e0368c6e0e380cdb5f3da1a070360000000000000000000000000000000000000000000000000000000000000000cb255c3529c47d3511118a35f28f943598469136b5629336112c103706382438f2ef7f369bd88b3636bf8f3674738c36e1f8b0356bceb7354e5f0536a9aee4351326a236c0f5a036c30aae36e202ad36a1890436a2e90e366cb91e361df51136bdaeda352da3d2356746e4359528f23500000000000000000000000000000000000000000000803f0000000000000000bbf37535230c803f516aa5357e529d354b878e363820643f04ee7c381b55e4371ade8536281e333f661b87364722853689b7d235a414003fa331f4357217e7359f4ba036e5f09a3eda4d93387ca5ab36f53a00366b41dc3d74e10f361d9b05365316de35db554c396d9fed3527d6f535000000000000000000000000000000006f561c35a5ce3337812002380710dd357f723435c48c7535a2afcf35fb83f635d46c8835b5e67f358905a6356ba2ba35dedae33523d4ec35c117a4368dd5f935f6d46b36ca5c5d36f5218f3802494938d6b5a935ca72ae357fb4b2371c511a37047001366a1f0d360bb513386d18143694f169363bb06d364153a1379f0b6f36f7f3163683ca183635a06e3775302236a2d2a7345acd7c3f7c676b3cac168e3504f8c6340078753f51c7f63c91bce33542cb5735dc9e5e3f783e8b3a8faba735dcdabc35d3172d3f746388394cebdf35ddbf59361719f73e7aff1a394bd9293888679a35c9fc943e31c44039c1bdc435fe25eb351f44c73de5f7c938e04f0c36e5c05136ecbe733966392539ed5d5b3606c905365e3c9c37c1411c389d3d18361bd39f34102e7337523f4738ddc58c3654e937367a54433681b9ff37191a49365528573448eb8e344204b436153337351238413619734e3679d2f237941fe93616692236338b313618a2cd3644632d3684e90436ba4a4b361256f237c249483740970f3680e62836a25032360bdff335dc25be35414bec3547a31f379eefd435dee0da333c030d342e6bd633e957ab3350ac9d34d1685f3f466b033eb49980345a8125366e91583f65581f3e9d314736453480338ebb403f7ec2003e147f03353bba39363a58123f716bdd3dff14483673052436daf6cc3eb3b8b83d3e982e361b80f035717f683e21eb8f3d949f093670b41936aa6a3c3dbcde5c3d189b0336de11ce35a1e10a3835303839c621b53523792634eeba5733dd2a9f37c482a833000000000eb79836ec7ec83700000000c19c563502a2843505da8f37133ea035aeece13500fc04367aa82b3718b72236bbca433649fb4d36c09e1e37e6683e36bacb5536baab5e36fb8ee936d2a07d36448d423648374036ff8f6136b18c5b3641d09a355a39af35f918703737c9aa35851b2e3681893237bb1b0e3876934536cc75e434f09dec34e27b33377c72f63400000000ccb5303f715fa03e00000000257123351f8f2a3f15bfab3e647c94350c8bc7355893153fc0b09e3e87fb0036d93f493683e6e43e4184813eb44e4036cc245b36fa519c3e3723463e5cd673361cfa4d36f9a1293ea63a013e74164436068bad350440bd3cd645723dfbb7903501e7373688787c38da0f6d39ac383b3663c2f334139fa0374e4b0e38ad66f9345dd4a2356ea8ea3722831238095df735dc9a263674e92e369a400a38249e4236a008b03556865436a20207389f64be3562d8c83507f4c9358f5c0c378610d235a49f4736d7612938eed071380b759c372f44c33586d0ba356a00b8371c51d935fa171536265f33387f799438bbff673793813c3647e34337a4652838c6813f36ad1cf635dd4cb43621c2a137e671a3361e3591356847ff3eeef1003f6aec9835aaece935e7e1f83eeb64043ff9411e3691e68d3503c5d93edd21f83ee85fa235740ba135b9d69f3e1f4cc83e1a24b035086f3036ba045f3e9167913ee09b3d36576eab35b55dee3d6bc63b3e55bacf35fdb4a4358890973cfad7973defc9c235cf192c36dee6c738fcdfbb396dd81b365956e5358841ff37a1283c38fe24de35039cf0344887a337f4f0bf37f048ec3496e63536b2a0b9370ee5c837a1732c36c430823552aa8d3522556935de7eae357ded6b36f0476a36189e543636fb44369c196636b763703657c060361977583604e84f366675c63641aa5b373f555236a1832a361fc45237c50efa371955fb35ff668c35dd9ea935ad3e5537c6746e3500000000000000000000000000000000553ef234b36c9d3e52d2313f05e7b434d09e2e368dbe9c3ea039323f4f551a362a056e355044853e6dc6283f72a2823592aa633661f5403eacac053ff1b03c36f6846d36cc67003e87c2c13e93c44436f4cf4136f83c873dd050723e52424636fff22c368838c23c7237ad3da089f4354bc7a635d2653138dca33339b21a153500000000610a2a37ec60b33700000000f0bcb933a5643a37e790d536b355db33a0a3cf353543d7351350da357da5d2359b0a0936ed2f08366431083681a015365a900f3643cc51370ef80b36aa20e13541872a361ef62d36e64a2a366af73636adb44336a7cc8f37f523ab37ea744c36b141ba344e9de734e2aac7369e1f1335420446363ea19037ce76ea37fd374f3689b5c536de209837cf20a237f974a634a8191f331e96033ed3c05f3fca961433cf83c935fc40053e97005f3f5bfbc1350410fd35cbfeb33d79a6503ff9edeb353cdb15366938813dba2f243f5c2de935d8f833363235453d9d62ed3ef9c63236b30d4136f708313d67bf8e3eeb4f28363899003581fcee3c0784c03d6ed1e734f5ca543628867538431e6d398d854736eb5ced345b942938270a1d385838a834cfbf00368f9bd237e267c937deb01736d16b6736ebc85c366e025b364b9464368ca20436f9b6f13515eb0036b4d30236d959d03513bbb33576adca355776b9358fa14e3887ba4838a22ab8372d732e374a17f735ea84e73516da0236ea6cf9356ea5b035e64cca351740e7358c8ad235528ce935b496ed35bf42dd3524c2d9350e90413686af1e37eafc94373a169c35ce9f0236d30efc3b4e7d7e3f6937ae3564033f36eeb4dd3bf29d7e3fc3862c36d347ee35e527bb384d74673ff2fddc352612ab3553d98538a6e7353f5611a03561fe0238a50e1b39f405053fa2b767364ef4ce359a21b238d579a63ed71ced350b87973527a809397b16063e91babb35a5fcb8359ad35e380fb4523c9dd39235ec59c5351357073803f42c380f1f8735000000000000000000000000000000002a81ec35f8e0ee35f31cdc354f17cd35f2e80736956e0a3696dff4353f010936c216b53665b19d36df469a362470ac36af2fd135ecc2d5351097c33589caca352be18f365b4a87369cc68436c39d8936c964943729e25637f3483338ad041238259f8835ffdc9b3547ac8635d1738b350000000000000000000000000000000000000000000000000000803f00000000fec2e735896d02361b30803f9bc1ba35b149f3352666153681b1643f035df1351561af360e87b3375ef6323f7f7e9d368f1fc835c2fefc351143003fc6bfb6352d2980368176a33678c09a3e6b2889363ee04837c597993813d6df3de78b063746388d35a241a335f0c88b3aba506d350000000000000000000000000000000000000000000000000000000000000000b9ddde34d2493d35217d563503d930359cd09d33ef74a033a9bccd3344e4bc330ce3593581794a35db39273561e245353e5489355e39373636e54136bcb42936604e0b34bf988734a5ab03356de32135b3252a36edd68936499f5e36c7c7333606051336ad9119376c51b43605683a3600000000000000000000000000000000000000000000803f00000000000000001a950035f84e793fe5e6cf369dfc4735098b88331c35603faf886536d2b4af331f0e6435d4d32e3faa1020352f5a4035227dc9354126fb3ebaba2e3739b02c364d510934f96f993ef03d84366fce083577e4433637bfdf3d11b66236805e2c36eb3c1f36675585380df5c336f0093936000000000000000000000000000000004f380d369b7e553778b56e39e50fdb366fe9c33510a49f37fb2de23841cbf03624e7c536bc2318370f103638421b3137fbb79d364d210437bc2ca1381ea51c372735d43577b53e3669b2a5382a0122371826cd36b1214f37df959a38b7232b373683e9363c798037a11ca7384d0934371105a33585114b36f4ab933815a6d4353e777136236fb43628c6a13853ebab37aea20b368015733ff01b4c3d0065da36475cbc359bfe643f35728d3da3fdec3690f2c53616694c3fb468753d11662f37213ea03690b51a3f44a74f3d53d61b371342d535361cd63e69ce213df8f861364467d1366ab5693e0a180b3d15832837497eeb36a1fb003dbabbf63c1b5b313716c2a635b2198638985fb63c9a71c0355f576236a56d0338b551e7384e42eb3646bb263550d30c380d84823c0b9b4a368596c735d64e1936ebdbca38f4cc30364844ab3334161b34bfc18938d5f7fe335cc20935afbf92361a84cb389fa61d367c232d354304a13505e143389298b23590917532a9dc33335b379b38174ea33294c50635f4c70b369f9f7f38118109363af10535b9a9ab35876e7d388e10ca350a226434c8c07734e76d4f3852fd9634188d4b35b53b513f221f2b3e809828361330d335a462463f02334a3ee84d2a36afd7a5330efc283fd404383eceb8ea33ef5e01357900f63e6611323ed569d935cd873f35f8dfa33ede48143e9043a53500000000577a103eb00b113e000000005ddc023518a488385479bf3d4cd7be356ed90a35c7132938af44823d013ab535d65a6e3477c7d2367d09073dbe65a034810f3d34b5c0173488cd053a136fb03310a91f354e715937edfe8238232d18359e40bd3460403237ffa9983875cafe355a28fb345878c436f5a9a4389362a8342a69be3583d8f535d5d04a3870bfae35000000002bcc9237395ea838cec5d2358201bd34b324b9349693463881567b3443ae20360139413695f1d338fc161d366ad78e363041a837a5dc1739145f31377869363410ef273f10e1af3e3dc7ad33309d553514f01c3f4665ba3e42fa0e358329b934e4e4fc3ed565b63ef1db7d350422f9340220b63e6405a93e6562a234f47fd035829c643e40ff883e07b8a93500000000d76eae3dcd2b463e1bc45335e763c2340c6b6838c16ff03dd92b8234cbed203641d987386313423da06e1b3653c593365d63cc38a5dc683c2ba5b13664829936829a2c387f5bd73afbd4b6366f9c2a36f0eb8338ca6df9387802403670a2ab36c1d3a337ba47943871fdcc36f052b936a9670f37aedb7d38fb00e436c1532a363e441c381f87a438c94b6736973ad236d97a7037603c90384d38e3369ab8ba36629d7237dbdda4388069d936b6172c362d8aed376ffdf1383805443625a5b636705685378b446c38e0a7cc36141096369cb4f73e4f11003fd60c9a3636852536b8a8e53e4d68053f2c0732369e7da636a719b43e54fa023fc3d0ae365dcab636c56e753e163beb3efb32ca3668f12a36116d273e9277ac3e43303f3602fece36ab4e383d97fd833eff08c436a6bab536b6389f38b21f0d3e2487c03685002f36fcaebd388eff003d65e734369b74af36af361e3853837d3cf0edb83632ee8e363e81073998702a3a3861ac36361a13361adc4c388591d938931f3236b3949c34c229ab3446081a383949b13400000000f771ba3725898d3823c30235ec929b35fe6981376dd43c3832ecd835e1b1c334e834e3376c26ae38790ee534ed690735fffaa3377e5ba138fedaa53521d90135cacd3d36711d7638082f85357f66c833da63d5335184d0370d85163490549836781ba43ed6572a3f61c08d36810d14368f68903e0ce22b3f4e4b263683bc99342259573e767b2c3f1dc0b634245a1b34271c163e4b5e133f0000000014d0a135f596943d1e33e03ebc36d1354944c634b1e44b3c59e29a3ee44df23455bd373536d3973861a11a3e7dd7b83436180035207129388a95c53ccbcf6d351094e9337dfcba36e952543aca702934a284a83400402a38886b86380bf65934b5d07435b548173871466e38d03a073569373f35a9aa1737f82afd37898e863500000000c1c6a937ad002b3800000000eb829d3501caef36a783d73796d15435fe7d933512fc1e38ff6ba438301cca357c5df5330be56c37c58c6d380cc12b32bb8a25366bfca036785da938f85b03369eaa1c36f7ab2438909bc2386ca91a36074aa9340d36183ecdbc513f971d533425079f3502def13d83a7513f3a8ede349a218d35f6a0ad3db39b523f7e070d355aa1b2326b7b1d3dc1fa2d3f000000004582ae3509ca1d3d3aacfe3e45ba5035cee4c035ede89c3c4a7fa73e37b21d35dffa253469fd2f3c87171a3e7bd24433a4fa2436c0c49c38f77ee73c99100036acf92c36f825b738f6941e3a995bec354043d6361294a338815ab13847f686362014c7353413343872f644382520c8351b303037115b103832606837c4d200373e6d2037c8b2b3374f70d337953ef43684115036d72c1c38a3902f38a5a0f035b4cf1937cf3d433811207c38b00be63626e32b37f8a53c37fe7e57389f9f0d37ef30f436f8ed6b384699d438812c92362489e63613416a38d3b801394fc99b368c6ed536ba28253ddfda753f199b3f36edbabb35b39a343cee95773f75e5a935ec983137c98fcc38055c703faee8d5364ca22337bd83b338e6fa3c3fd705d936cb1b5c360bbec338fef50a3fb9f2e435f3931c37ee568039c549b13e9bdcb836cfe32c3733417b386d68113ea6dbf636714ef4361ad0d33872dd153d602f4a3615eee736197a023905a9a53a6f7f713600000000000000000000000000000000324e2736857a5336a3a3b336b5ce3336cde01b36e12b2036ad1a393670cc463651688634975795347d73243482b611344d0225366f584d363d023936a2490336133f1f354f2f2835848c253504994d35d2a9a43379dbad336af22037b3d8c433cf403d35770d69352308883737b90b350000000000000000000000000000000000000000000000000000803f00000000d90e1e3693487836810b803f3dca1636bdde1b3684304f36f430643f80203f36e6514134841e2034d962333f7e280d34d0781a367b226e360885023ffafb033602aa1e3519633a355c80a23e265c653542d89833b70da6332a2fff3df018bc331fe83635993d8735a3afd93cad5df7340000000000000000000000000000000000000000000000000000000000000000af03613576cd87356228af38cf79b1356ca5a1358c3d8736a694ba38a9479f36e8aa99346d432336c3d62c38333d2a36a12e5835dcdc59380acd683885939e358a6c86360832bd384c884a37fb6f9436de8661358cb47438c9b07b3784eb0b34f7a88334897c08391306113865e8753400000000000000000000000000000000000000000000803f0000000000000000139d6c35ed27753f79d8a438e284b635b58ce53559d6513fff6fc1388a10a3365b101235b98f263f1b3d293804b929368a1c61358176f53eaf6a35387ffd903537609036f9689d3e0f7eac364c749036fedabe3526670c3e2af66e3510aa0b3461070c353a16b639f4c7cf35b91a7634000000000000000000000000000000009dc5f43275892d36ab800b3d4b322b3550df9e310bfead351252063dda2dff350000000000000000cf9bee3c56f74434ece5a133ceb98a35dae0da3cfbb0dc356a10dc32eb94e835a046d03c84880c3696d9e532c13f6d3509aac43c3e77a63506f1353369f3033677efc93cc0bd0f3655c0cf3201f25436d962983caf918e36b60d473006c7c9323498883c33858e356b180133abc75f3f0307463db0902c350b95a031a1a4503f0eff7c3da6a0e335000000002652303fee32873d92476934c7b1a5333db1053f2e4e823d501fe035886edc32c10db93e0473693dc8e3fe355205e9324a01453ecc58593ddcd2a63517163c33a5ea893c8fef2e3d98cb07366f08d132c5ef9136cfe54d3d74dc8b36060b6e310747e733677d3a3d0b0195353fb1ea33cceae035c90e2c3d3fc930350000000053f54737743d653d00000000a6e5e1311e54f531f074573d16320532686349337c28c5350fd7633de39a303502bd2032fcbfa0373a75383dc6994e33897c0f33a74b6135514a733d0318d03455f29832ff98aa35c691523d163d5f35e7bbec31db4c0732db6e043de9a9143245eab3309346c730a54ddc3c900fda3032f5f333e56f3d3f5950393e4393063500000000b76e293f37d4333e000000009314e53181f7093f5584383ea3770832f1074f337ab5c63e1925343ef4defd3417141f327708873e3016273ee83557333c6c1033f7e7d23d077e063e5b064f34b127a132bfe805393ba1b23d394934357483f731367d9638e380953dff6b1732b425b8307f4d1f370c0c723dacfadc307a3b8f32d37653369859013de0ef8732b7a31d33d38442387001283d3aa36e33e395c3326f36b83893b83c3d9fb3a0343fd0a133d39c15366a40693d5b1fbf3599d6f434533e4c389f5f5d3d5fd75d358876013401a85f38e94d773d62292936843b6e330f9329341fca533d2c4efa33866c2f33063d2433702c443d8278e8326fc6253427b5bf366be6153d1076863598e98f32a369153fbd92a23ee66a8732cf671f333746013f19eca13e394c87336311bd322022cc3ecf6aa43ee7c06b32e93ea33305b88e3eff9d9f3e6c4d91355c060435fd11303e6135833e1ec53535ac9f00358ece543db2884b3e02cf0d368335703357759b3842aa0a3ed195083487e62833028a183997d3a63db733e4322dfb2634fe090539fb35593d9b232135aafd98325127933701afa33c3fadd232c50825343fe89d36169b123d8b44af35f12011336184c5358e2b403de13ef83295995f33b34d993535a6823d57f18d33ed893735e1ef8d367a55413daeab0f360c79973315c3ad350e45793df4a16b33e521f43226c08c352c00493d8cf30933f4c9f2331e787936e31c643d17470d36e9c3e33266fdd33215071a3d1e0da63221499c322d89e23e26f5ed3ecb3dd632f7d321351fbcb93e47eeea3e590c093542a50d3349b1903e0c53ec3eb4a0f732439061332905393e4bbdd93e54969033eb14893577aa083e45cda33e0d9ecc35b47c9433f8075d3cc57e833ef88466335dc6f43225d40a3832be243e697a0b3341a127346f459c36227db43d1400b635f6c5de324d217f37ce3e133d04e3a13240ea263463d50939f8b80b3c20ae2a34e1b1c532734811394fb0933c2c0a1e335c1dd933eab93f379dfa143d67a66d337626c035a66c9a38f4a94f3d282bbf358c7c31353d91b9382c243b3d24b60435c340443518a33c3649033a3dda55c734d1e05732b18c6338b7a6303da9b8ad32c194a133de3540351adf513de6262d33778885321f5f8a3216da163d80ac8e322cb32f34f26d963e68e71b3f223728341172d332c89d733e4e7c1d3f398720332b3e1e3435f1253e6f821d3f761f6e334d98e13565b1c93da45a0a3f770675359a6936357c22453dee6dd93e1b4b05356d237d35cf70f9389db89d3ea82ea233d6e85f32f59452399823443ed92bb2321b12983348040539fe82b23d19a52633b91986328b6f593880e4003d07408f327fe3e130358fea3761cfee3b9260bf30cb993a3228189a384d70953c6544ff31aff771340cf82f387667ba3c45acb5329acc2433c0c4ac3561f8da3c77551433dbeda333d9c16938ce4db83c54b73f32c8dca233710aef35e4d70b3dac8760336ec60b328f6204320bf9143d899dee310000000000000000d610433d00000000f8da88342127c435c059fa3c9b80093457b8df305af5203ee70d403f9112b93042111a32392efd3d12ee403fd59bf531ada5fb3429c2a03d3dc0423f40b6ac32639924333344ff3c5230263feed11233bb459c33caad913c1d1cfa3e6ed81f32072e94348b4bf538f7adb13e93795833f6cd0b324a2f48386a5f453e100fec31000000006107e838db64743d00000000b87ae73456dd133839daec3bdd1102344295aa35c0562438913bcc3bc0566d320a208b36c1aab536b77b1f3b7d5cd4329d89f135b4525c36826e673c9b6b4e3387c5a535b7a5ec354ca9a03a2b5af8326886e135268d4f36a5847a3ccacedc321c89d835effa37366aafaf3c3708b5334d704f3441656035d637093d00000000adabce35fa684736c0b13c3d459fa13186cb2c35ecfd1d3721c9dd3c6172183378c79c350144273dda24643f6a131a327058893601a0fa3b8ae56b3f2ba5d032291afd353f06b6386ae9663f79c445332f2da0355843bc380fd53a3f5275ed32e8e4e63501948c38c2970a3f31fddb32f5b1d735e0cf6a386c85bb3e2493ac33270e5d34837c91384ba23b3e00000000c44ad0358e782238a22f383d8e64a0318e3720359aa099383c62893cbbad0b33000000000000000000000000000000006d1970342ba44d354ac73839ba7772354ccc08342ace45340f716a38bcba173635428236a5c79436f3d8e7381a789d36bfc077355b27a93594040b39fec45f35f08d20369eec4336428fe838d526b035b0539d361f5a9b36dc3a043c3cc431361c86b535f3b4ae359db40c3c3e547a350000000000000000000000000000000000000000000000000000803f00000000cde472342318a63597ed7f3fb501353520c70934face9a3473fa5c3feb5bfb356a0f873689b6a336fc4e313fc50b993655c085351a42cb352f4c053f53be633568062936980a4e365cfbb23ea7b48235af9e9f3692de14386855303e859f1836446bb63579c89237715c0b3db6f273350000000000000000000000000000000000000000000000000000000000000000f28b5934ede14d3447fe4734e8057534f341e335763a033614bb3536413f1336e555ae35fc623935849435352c83f034c7903c35c0924435c0183d35038a3935d039b535bab12236cc711c36dd71dd35b9bbf135f1ca0436a7c3fa35f1415a35ea1cd3357a5cdd365e157c35649b353500000000000000000000000000000000000000000000803f00000000000000003275283420707b3fc6ea5f3414eb5434b672cf353ef7613f9ec3863764cc3d36e25a4235c5c3373fb2b9bb36cbc32f35c01c2b35680f043ff31ac13697361b35c90d9b357c46a13e1c211637421d0c363d64a735957f0f3ec3abd83533ea8b356cabf634357ff43cd6689337aff5543500000000000000000000000000000000cab68e35a817e3358055a137aef3a0353137be3374c8c832109607355f2c9035000000000000000000000000000000009f1f9d34f9f6df348749b03422cd3d345d689435d2b28735282f8f35e3689435fcbc7435e4f7993551334f36fbe6a63558aeb834bb12d8348325eb3457259d34b7a08435b7dcef36fdfe85357f1e63350b67943406d1f3342b1cd134b3e4c7346b8b753537c1773fbdd71a3db5eee535000000009b84693fb596443d410a243500000000666e573f6679aa3b00000000a3263634cacf283f0910e63bc14c873441dc6935c0bef23ecae9053ce8458b35b0d27235959e943ed015d63b0c605b35e92a98343442ea3db6a1b73b9f2c6d3458088335e99d023b78467d3ccb4a5b353fb2be34e659d836674500381ac1773466b40134ccf8aa334c2c7635e7f24c34074eac33ba0d6333f9074533146f3e334561a433f128333353132f33a5fe4633f4f6a03363c8dd318cb42e3500bab5310833603494f1f2336109e5330f0c03344949503406ad1f34ccc523341fc81e34da8fab34ec26063466567a35ed3821345e01cc33d1839a324e4dab3214023b328d009b342a3375340c9c7834568e81345eb0583175655c3f9c06193e0ce6a23352ac5333f4d0523fddbc233e8622f6320953543395a3373fb694063e5a7cec3287979531c4870a3ff57afa3db4cdd93140fd0f343794bd3eecc8e73d3e25a2338e913834304e443ec320f13d8cc3c733fd52b9325875bf3c8800c53de070833423591932d163d43824a2203d4389ae32da265534fb8f9334131587340ad41a34ba344c34415f31346da310347a0c313400000000000000000000000000000000dea83434e77c9735e694c1353355c9340014b03300000000f25565335866963300000000000000000000000000000000000000004cca1335919e1335f12b213443f329346921ef364bfdb4358404a53364dba332a1e8983349b48c35a060673291cdc8356f0d263611212d362275e93595d899333763323f43a6a13edd8d1e3400000000b6a0263f84cbb33e0000000054918c330e550d3f2d1d9f3e00000000000000003a0fd33ea30f8d3e00000000000000000c53853e21c67b3e0000000000000000419df73dd3643f3e000000002bda83338b5c953c34e2da3d13d09833ed2820337dce9438d8d9b53cec81fe315bcc7c356da1883733913f38e942cd354cab1c350495e837854a62378ff32935adddaa3487ffb836d85f3d3569abc33447a61934a2b0ab330f5dbc33582ce333df29d434a6861835dab6e7342022c5343bab4d35bec5e23688de3c35c02b37350f25f934013e2d35c4001f35633823358a01c933111aed33c247e133bf05a1332fc2da343ab01b375e3d9d36ccfc213527d52c350fdc8f351cb416366b378035a8070835197b013f6a1f013f3e596935a94328346a57f83e8ab9053fd1bdab34bd8bb5333cedc33eb62b003f5ee9a2338de09c343fa68c3e7285db3ea9b305354c9a2335231f323ee84eaa3e824329355f7df9343e2b9f3d0e706f3ea518b634fe36a2338df5c53c227cd63d54973333ff07f034ac0e6639fd6ede3b379d94340d255735947602384f130639a607193514eca635f96f6637cd4dad36bada7335b6afd233d2afd53759fd313345bb4133ddb8a53469ff7934f2dd63346303443426c4ca34b3459633000000000000000000000000000000000000000000000000843ac934e1e201372ed7093562ca9c312552e934072f12354256ac35af7b8234000000001d31813739a5cc360000000006e98b343555c334b5208434ee5c803415856235d9729f3eec83333ffd3775345f257633d866963eb9d3313fe8c6a3321923a833b0b3593e86812c3ffdad36336283743363b5183ebeef0e3f0000000000000000d04dbe3d7c34d63e0000000013e2a2303fab543d064c8a3e00000000019e9e333ac3323d8fcddf3d938e6234000000002128123b70b6ba3b00000000592728346e739f3437b09434cf28063489bf5f34375a5634c31332346ea63a343b66b9329e779a3774b8c832787b323167efcd34c687043751a4dc348ac24b34a449ee3316a43934111d103483b6c433c383bb337e0e1a3449561434b1739833468294335deb3936548f143544848a31986a123391210e37a7db5d336dccff321c9af6325e9c6e37f393143508189f32529428349fdc1a35442ec03447224c34dd0fe033c1511d3e97a05b3f33e50f344b2e3333e55cfc3d823a593f065f79316dab8c347e4f863de927543fccb2cf304315c233e652233d92ff293f59cbcd331014b833fd8e3e3de9a2f83ea8783b33e12e2a32ae7b5b3da946983e8d8c9b314d22e93212c4673d2ca4dc3d166b8b325f2f6233bb29c53cf140263b2f3a8832338fe633b1a9243b7ea867375e9f6e314b9a9034caacb137838e94349c457f349cc38635b89ebc37501087353ae46735bb660835ead7b4349be7b7340950bc34a5aa75352d9cc23610b071357f8b6735932fa7356e368d352e2a9035b0dd8d35e45de534dbde7a37d14bd13433a6eb34000000000000000000000000000000008aae9934ac5cce37cb219837f0d4033507c2a435f9700e384ec39b37d9e8f735dc6b76344f210b3da32f793ff742aa34679361356231ac3c3146773f566652357613d734f0256c382264633f23d19734cfeb3d352f404d3a7072353ff063813586239135bcaf783b49b7053f0691843514d5b13421cb063c60abaa3eb65f6334000000007c44e23c41040a3e00000000bb35a034158d5d3b9ae3293d36a49b33b55dcb35ce8028395e066c38e7f38f35000000000000000000000000000000008b14d83571cdb735cc613c35bc3b563574612036b004a035338f3235589c56352c301636482af235f2d2d2353265aa35ae5d6a351ab52735307f3435be293c35e163b935d919393564c72c35ab0ef434991a2c36f520283727f8a0368713063669767c3488a53634dd735034fd1658340000000000000000000000000000000000000000000000000000803f00000000d055b9353ae782371ba07a3ffbc7d03477e11b36e51210369a3d5e3f5059b83543660b368a034036b545323fd7218b35b4c13b351ec31437ffbbfe3e1fc3283550bdfd352b0b9137b350963efdc5963553172c369eb8be379765fd3d3d83f735df045c343545d6364635e33ce98d3f34000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063cf7331e1bbeb31a3b3363200000000000000000000000000000000fd9df5348194b735e3e8bc357c5b303572d8d7308f8b8031744edb31536a0f3201143032b24a6a3260fe88324ad7903200000000000000000000000000000000000000000000803f000000000000000000000000c734743f000000000000000000000000b749613f0000000000000000b82ae4308efb303f11aeed31e0783032000000008db4fa3e00000000000000007f28bf3492f38f3ed27db33544bc543577f5533166e6c43d4e07d031abb9fe3172b1423265013b3b86fd70327197923200000000000000000000000000000000b49e9934e5a18836325d363a86738c36000000000000000000000000000000000000000000000000fea6b938000000004b0e72345530d834749319389a54b934000000005256ba33c15f083965738634f2678d347f6f02351b5589353bfdb8345df08b3313d05634d5796839acf2b6310000000021e50232b0faad3413374a349b3fd634a9c56435aa011d396ce3aa35e857a63413156c3f7a916c3db108a0360000000035a4573f03068e3d00000000000000007d12413f65ec913d00000000c78a54344174103f7f30703da5c89f34000000006037ba3e301a403db02f4b34f5bb4f34ed373a3edaa7123d70c86434b8af1f32fc15583b292b213d000000000000000081066834fbfa473d863395321c7ace344119ae35d16b253d2ff6b835e36b8935ad8a523693b0463d3f3eab3521f2133484d25534a9561f3c67e03f34edb32333861816342ce1293ab1061234000000009fe6b735799f0339429ce2334af31f348da1313415117b39bf98313497ef1135a7823c35b81da9391302f734000000000000000000000000000000000000000000000000f7ef9d3900000000619ddd34ea2869353efc1a3a00d22035f0b087352655473f9dfa223e379c733591e3183469003a3f4007563e16d65b3457f72a3302c4183fa856503e6bf9233400000000999bce3e7e08503e00000000878c0834e12e6d3ed8db413ec70b5e34c4bd0b3503d0223de7c44a3e15a1e834000000003d752e35f6091e3e00000000000000000000000076ece83d000000004f75cf34520ba9351911c13da3c4f234bb0eb83408e000361186023d3efae5350000000000000000bb61e13a0000000000000000000000002f329439000000003fdfc033e87990342be7a339a32db1340000000000000000f20e85390000000037be79348116bd35401c1936428b6c35bc30122f25b225349e25683ae14fd134521d4034d3053334ce10db3a3475dc333f537b346d59143688b5863a8fc4093618b7da34bb29213f6a0ea33ea3f4903500000000bd250d3fb2f1ba3e00000000000000004c17d53e1ef7b73e00000000958ef332d76f843e7370b73e0e5a6b34000000008a9fe53d9f6bb13e00000000d6374734f1403036cd27993e5b22d63400000000648370353f2c5a3e40770133c9c02b349e5f2d34851f033e62ba0d344bd8cd34c8ba3836fe46963d7e1b0236cd7af5340b8e0b3670157a3c4fef633500000000000000004e73a93a000000000000000000000000c1796a3a0000000000000000570f0d346fa3413ac45a123400000000000000004272073a00000000fe85cd33d1701c3409c65a3a14f6d8320000000000000000e8fb8e3a0000000000000000000000005c74a43a00000000b7c118359912143697b3463bd3394f350a49c9343116e13ee4b7ff3eb28e153500000000502fbe3e0c97043f000000000000000023a7863e79c3043f0000000000000000db45093e49ca033fe80dc53300000000e1ad6f3db77ee43e000000006768c1309c148c358e89b93e000000000000000000000000a6326b3e00000000000000000000000055f7f93d00000000a4fa2335bac96836b6aa673d598b26351ea9db35550776367982033bb42c8435385bdc33a7e36f343b21183a32fa123400000000b1b06a35ada0033a00000000308bb2349c081b365bb1fc35044621350000000000000000a1ce7337000000000f8a873440990a35d286c639b672ce330000000000000000a008a53a0000000000000000000000007ac43c3b0000000011378035ec8c0136e946753bc30a9735bdf3dd35e662883e3e252b3f84470635d331f4336987553e19f52b3fc036143400000000128eee3d398c2e3f000000002b96b5349fd01b3d30262c3f8d186334000000000000000029e70c3f00000000429de433f2fdda359a97ca3eb1d49b330000000000000000be7b703e000000000000000000000000fca5ba3d000000002f0d8135b6c50f36b5b4fa3c86a54635c9d6b634d8959535243cc53a943d30350000000000000000ff74f6390000000000000000000000000000000000000000760fe8340ca0053582a81835f5f42d35ab8b7e34723649346c640d34809702340000000089e05d35a262e93523b7a534af430434a08811346b4bde3a2c4a0f3467437534659a5d349896283b4a941034d4cb1b3502370c36e1058c3b2758dd35b96fb334232dda3d0df84e3f2d30e63400000000d5a8a43d9d4a503f0000000000000000b28deb3c6257533f00000000585bb434917cde36216e453f5e8d2335de347534a8153c3483a1163f49a30f340000000003b6cc3539f5cd3e000000000748cd33a69e0d343c27563e262ca033326b6634d0cc5a34b7b6783d79172934368460357b852336f4bba63cf657b635536a9435ddf84f3685be13395eff0435000000001cf513344848e034000000000000000000000000d43c6c33000000003b9dfd328348993458bddc34f8ee90342857bb3275cd483400a892345f55b5330ac49834242fa1348291cb34180e8834000000000000000004b5d2390000000000000000000000006aa58e3a00000000120ba0363965d8365842443bceaa2635c20ea835bc39043c0382753f0b529534000000000445ab37759d743f00000000000000009574ab33b56e763f00000000ad2f9c331e7737356ef3493f946d023451282b34e1d8ae34373f183f0000000012f90c346db4ea355dd2c43efc4f75340000000000000000c9e2393e0000000000000000000000006d81bf3d0000000079e2a53694fdf837d7ddbe3ca77ddd3400000000000000000000000000000000c8d2993251bb963264f28932ddf33f3276d02731432701321cfcd93148f6f43045383135a3a66c3571108b35e52466350000000000000000000000000000000060503e3116882632a20e0532000000007c483932000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000073a687323e999b324c6e803fd6dc4c323c569831d12a0432a1af683f8af7aa30ec064e3531e48a353f40393f9db523350000000000000000fa3b043f0000000030b6d131e975293208d3a03e000000000000000000000000fdd6fe3d0000000000000000000000001d53523d0000000000000000000000000000000000000000000000000000000000000000000000004aa23934c295a8372bfe9038b73ddc35000000001c5e5c36fea91e39945d923500000000fcd5ba38ae39fe383634d634e508c1335170a7379714c236c292163671c4f73169b908397d135b360bdf8635d7045a344a0947394ac701359a9993340a1a68339c688d38e65890363f22e73400000000000000000000000000000000000000000000803f0000000000000000c02e8334da1a6e3fb0beec371e0c8b35000000004427583ffec7f338c7ed2535ef601533f25d283f9d70a9380f7b7f34996cf633191fee3e4cafbe36acd1c8350f37f4312b2f8e3ef61d46363bce193532068f343219993df13b0235643d6034d6192d3482d556393eff8336155b0e330000000000000000000000000000000072bbd631aebe1037a2be723da0b07035f51d8a3410e557362d56813d4994bd342cb9bb3302b5ff3575f4763d3e838334acf4c333a94507379d9e713df84c1235ecf27334e1626d36aeb7463d0a26a4345d59bd3356dbaf374087323d0ce78034c4fd8e339a5cee35439d513d007d2035d1669733ef00063480da6c3d543aca337064d7330e1b8c34ea816c3d7038ad34752ef532c598513f57a58c390dfa6335b1809b345ee93a3fa3cdb73904b1ba348c96c7338876213fadfadb3bc0f7403455500834c7a0dc3e6485c039826b0d3562c08634ef1e7a3e20b0033a5e0a9234a914b1335339263de632d039ddf427349cd3de33b70039394d023b3b457e363435e19f33e529c138c524c23cffad9433237dd7334aa71b372144533d0b5f3334ea79c933f969b5370c450f3e48e1d93372d2cf348f9ea1369e31143ecf51ca34bc6467347ccc8935ee240a3e4f90f2348c5fad34b3530c38102e0f3e2df8bd340bf4d934bb33c136d8b7113e21a9c53483c7ea33eb4a3a35501a163e2b97a0348c953e34087082348c27113e89493b3439508f34f44380364dc3093ef01a923523b0ac33578476354ea1e03d3b9e823466bcff337e512a3f5503923da274df3355cdf034982c0e3f1e41883d9386bf34f94c5b344e96d43e76a09a3d6912c43446fcbb34ecbe743e922a8c3d0e3fbc347b1ef834f60db73d6899963dfda3b3348cd8e1331004643996c0903d54693734f6f25c347471c2377d9ee03d377e3c348833a0341184a537b517063eaec546354c3caa33eed0533712defa3deacb0734d5adb433b2a82438c60f403e23fd9534da537234c3a294378c945d3eecf43b357516d933ab92d9361ac7493e9d768234a7adbb325f434839e5a4493e892d3a34f6274034918881364e27493ed57cd835f363d833b5ed20344962523e72413d347b4d61347614ba344b28653eacb2403415b5ed333ba10b364dc65b3e70ebe8352fb23a323542f432ddfc303e81c09134b6f306347262e53eb4bf0c3e12ef5434c73174344073a83e4af4f03dbf47b334ca1d1f34b4bd5a3ee4040b3e56dd7234b5960b331f68a53d61620c3ebe79dd3304996f345b43333994660e3e5db52b35cb3f0334feef5539a2472b3ef65b2b34c06f7d345c7724392f30343e0d43373443b21934e691d2386b46063e58ad5e35f675bb328ff81e38476cde3d7a7d45339185c433f0180a3966ab3a3ef7e64134a8c85d3429849d388df74b3e08be81342187f533297b393882bc393e8bb56734a36c0234d3d82f393cce443e573605348d0187349cefc9347cf2493ea3a2aa34bbf7b2333060a73679c26b3e57974f3444c60834a5ccab3495d7573e76530e34a3374234bd7fa234e375583eb6e88b34ab4ff333537a29358fe93f3ec8d3df3470ef0e34752d903ebded8c3e0bb30a3417fb7734132f343ee2e7853e3f455e340b4ef53352fdcf3db977933ece541334d24920349aa4e3394d428f3e3c1fea333c719734712b1d3988179c3e278d9d345faecb33d3699b3994bb9a3e97f1ff33b2f32834cdddf6384c06643e98260c34a5575b34ccd0a538c4ac203e0724823439db0234de2ad6381a28a13d75c6163461d43533a90644386ffc0e3ef350cb32d4406834577642394253143ed3df2f34a13c24345399113927190a3e55f3a234e04a21342bfd0538774a183efb620e34f62baf3457ebc93651873b3e26e60335fb543e33fce5213814e6413e3b23ea3335f719340a17a635b1bb3a3e94b7373495864c3450189f363d99373e3a3539350dd70234396c0135e802263e13067e3407837233543f053e22dfe73e7c28c732c72bb334c73e773d73d4e73ea3521834d9731a34b4fdc739433df03e47467b3467a33934a31e94392dcef63e46570d349f05c734302f2f39f21ef83e951d6d34e77b583338cda039abd2cc3e3c493d32889d4c346244fc3855de8c3e915a4634ba32653479b71a394081253e3c728c34e3e225344316ed3867178e3dfac9a7331b0c19347297ec384131323dc87e5934160e0f35b7513a37c0c5503d393f0d35083d253475ba44346079f63c5bf66534efb14f34df899d3604ec763df6f04234f7d3983499de3b36f00dad3d9b893635e443b034a3ecae34ffeada3d693bb534b1f3c334c335fa34cc2fea3d60347234811ba1344e250b364e5d043e351ef6341bdfbb3375d2cc358cf4bb3d1b3e0234d6a32d3499c2313d1b412f3ffe14c733cc942e3566e96739f4c02f3fc3f88f3451d53b3405503a3943c0383f967a4c3447cf7134c50b693944c5393f4cbb0b34b278b634919bb9388d141d3f5b5de034cc40b934b7ac3539d9eee53ec8a1a534d0cdcc3484baf2389f2e873e03dc5e344f2eba34b882c8384366dd3d7037d8343f7be1337ed9e637b1970e3d69a9dc33ece15d342072fd38b216143d7d5d0534ab6090331569c5383a7d3c3d46e9ce3336941a3487c5f635c2f6a83c35d1423484242234779cba348d13833d69d7e43397787d3453146635aed79d3d000da134cc72a634ed3aae35de15d83d5c134b3400e333341c10b537a45bf93df1510034067c9d34747de9349c74043ed9c2b634bb1033353af115373851ad3dac23913435b77b34f63d8439238d5b3fb7a3ea335c409c339b1a8d3901d25f3f269099339fb31d349a204e3966626d3fd8f0b133d5044134e9a35939c0775a3f568ace33d5988c34dd3b0339b8bf213f727d8c34a31bdd34a3514f39cb66d03e05bbec33a9475134102163392afb3b3e962ef133322dad346d943f39fabba23d127aa834f1df4a35b4571539f5b4243d518e8932000000000000000000000000000000003f7dfd32cf180b3658efdf384cf66735db48a933bff4b83450ebc738d353b934e6551535ef4baa35ae8acc38a8eaf73185627d35290c833685d45c387499fb354d983033a586a535e89684399112e633d1ad4932c2c6c835a677053d00000000c5de6a3523936b3683c0473c9390ab340000000000000000000000000000000000000000000000000000803f000000006be6f832940c5936372d803f95abd33428d3fc3340c4eb344b366d3f57486934bfbc0c35782d1136e360393fb0410332b73281350222a536ec4b093f04429734320ad3335c571036a300b03e00000000a53f993456c18f37253ffe3d0000000015c6403516629c36cda1743df9e383340000000000000000000000000000000000000000000000000000000000000000cefefe367a0c6237b6a5a2371ce0b237aba1d2363936de36a3556a378b61b8379f2f0538288fea37e00153383a8a8d386807f037bd10b3371c393038de526138f8de56375e7354377861803734ac8b37b89bc937b20bde3702c3ed37f1a60938a130b437c34bef37bcc4d7376607d93700000000000000000000000000000000000000000000803f0000000000000000e6abec35cb207e3f6610fd37d1c28e37bec9003672eb523f03bd2c389a446837527caa3728b5293ffd18ae387c556b386a9aa3376c9cff3e192c893852772b381d2c3a37f01bac3e9734db379e9f873716c1983787bc323ea94e3e382b7fec379ab08737f68acb3bf84aff37d93dd237000000000000000000000000000000003676bb3698229937fec509385fdd9c37a8fc153635cb1e3765a61238c9c4ef37af20ec36ad38ed36d696913773a3bc37f9f20137708615374c94d837888e1438c7beed3717f30238bd354b383bf06b3816d1943687a18837006b20385cc13d38a11a1237820a82373bbe013862db1e3897815237da1fd537d4edf8379b7bf5370d6bbd37a789ff37e40f9d38def4cf38a8e0993686257b3f8cbf993cd36bd63612720236f835733fee19193d61b845370b7cd4366a9f4b3f78080e3dd0507237f5118f36b1dc243f6e08da3c61049e37e7bea237c210f83e3e58793c70e629381f0b8d3690dfa63e24a72139b2820338c852813659392b3ecb8a4439abaea93794644a36b023f33baaa021387886ca37715a8337523b4138864f51399eed0738bad49c37f2373b386a054e381ce01a38c3596336442786372dfccd37be32b03710951a37c96c5f37e317a437e308a7377845af37db92fd3742452538172927384dd2e7363997c137d0792a382d223538efaa0737250817374c76693725026937037fa737a791de3741ff0638562a0038cbb4a237b2ae1c38d1503b38896d2b38f0500c37355db83748f7da3706b2af3702ec0e37e1d2513ff13b383eb603ca37a1cd4e36bb8c4e3f4186453e0d56f6362117c936e9232b3f3288323e176a47376fcdaa3646f50c3fac46053eef30df374c70d03588c2d03ebb6ebb3d6fdf8f3759cad336c1d78c3e7962313d6e841a37eb0a9737d4031a3e99bab33bd681c2374338d036723a673b15507f383000cb37f3b7ae36d82f0438a285083899732737d4dee0358775343871da69387d6bb9368dd0e43556e52d3876374e3880cbd73790591b376f82c337310600385359c937d6916036e2d1ac36a8b71e3798fef9365e16b7373d08db370103fa373280f23775229c37022ff33755ec593819842f381387343673f69e36ebdd093819989b365e3e3337d777c1372f0dea37cb849237a81ca537a1f315385f5929385cd105382121d8359b31293f5c7ead3e3db2d835e4b2dc3552b7263f3c63b03efc7fe735fdd75c362bf80d3f096e973e5437dd36e0a42f3608c6e33e018b6f3e4931563644621a379218a93e2d962d3e55b69537952513378a095f3ef655d23d678d783706e7143639fce03d6827203def3b35368c7e4536b1b299385b918a3823f8e036edf410377db74638ceb8503888ad853729c6dd378466253996aab139c61ef5377c0cf037b5ec4538d2da54384279143871562e3750d0fc375efb1738efe59337d878733753af1a38da4c35385502f837f08267380b938338eeab8c3853247f386f9dd5370fa322382e303a38324d02385f60b137dba905383edb1138e43fe2376d1a25387e064838f15f4f3839263138969e0538bf6e1a38026f3738920c09381f2b8637cf91ff3e81fbff3e7e488837bd024037fce2fe3e3274003fa7e762374381d83669cdd53ed7f8d73ef292f236f295f33652c5ac3e60c4ae3e79b4003708df29385c937e3e7891803ec32e33388791123769b5213e7a09273e3aeb1f37189223370d879f3d2cdfa83d856c293710c5f23768a97b3880ab7d38d33601381e73e9374f295938c2c51339abe8f237b69b5c37bf1651380de762386ad53a37538cbe365171d337d5650838fed3b636ae873b3631018736a1ffb136b17c3136cb2ec0376155293854980c387455a437aba6d437cca2ee37e2fde737f3b9cc37a753da3668730c379abb0a37fdd9ac367a5ed2379474f73773f2f637b319ae37c8160138a8843038ac353738b565f537e33e0c3796855e3729998d371149dc3692470c374575ad3e092a293f965903378f553a36bb6aaf3ed030283f0bf83636565412363b93953e7d0f0f3f5eb80d3681463b37be8b6b3e5afce53ee38adf362ee68637e40e2a3e2cedaa3e02702d37c71d623605ceca3df761633e68283d36807c6137c2050b3d0c88ec3dabc0d9368d303037b31683384e267e3be42b8636e9dbe035dbe6ee379cc93038c32fe235e6903037ce280a38f04221388d5bb2367190ca3759723738f73a2f3804cd32375e88d337bf62e53752cfc8370049a637fe264f37d86b30378367123734400d37cab51e3899631838420eec373bc38a37a8ea1f382f92263832a31638fe35fb372f42a737c3c0a737ac999437cca263376ab7af372531c9372aefbe3799a049370467223857e32f3893662d38b4780638c7b5b136da20363e3766523f5ba8863647c20d37cdcf3f3eb40c4f3f1adcb6351431a73787a12e3e65632c3f835c833715d21037c0c6013e26040e3fb72fb936df1c5537bb2cb53d99f1d23edcf2d035fd0af237e58f213d76258f3e767377372a2d84370bf6e6381fa0203e98680e374dfa82371a19213826438f3833eb5d36226008381cc342389a1f423894e2b437149f0938ab18b339230439399a449d375881d8377f3aef37f7ffb437d889df36b66aef378869b93723b51b37215cf836aca225384e080b38ebc16937acbe1c372e6a5f381c3239389a460e382af00c38df170e38b51dd4376f025a37d6383837ded9aa37607c983738d97537f0ee38370fe0f7370f00e737b61edc3726d6153721e0a43715e797377d8566374e1fd236139ce037a074823c5ca67b3f785aa636204c8b37342f0e3dac24753f0f063b369b0d8537f356003d0f124d3f6b177e36ea32c8371ed7cc3cf60f263fb0898c36c46324388738463cb3bff93e5d9fb43708cca63788326f38a87ea83e8012aa36e3908b37ebd0a03837d42d3e90e5eb36622c8d37b5173a38e3b9493cd2ff1636af1c03371034c837672bd037faf4be3600000000000000000000000000000000bd98cc372f36ad372524a23780919a37fd2a1438af55ad3768e185375d1ab7371a428f37debb6d3791c43f37086e6837c93d5c386f0b1138f74cbe374eee2438843b8d3811ac5238a5612e3872584d38e808bc37918a7e37be79843737668937760dc4371cf1a937f7efbc37f65b92370000000000000000000000000000000000000000000000000000803f0000000082f6b537560d363844527e3f5d65ec364820c437cbc053382d39533f51247337c7a68037a717e43747d9293fa06f3037c43b263836fb80386d0d003f87fdc8376f6c6738baf59d381932ac3e7ae80a38403e7a37cf97f9371c06343e699e10378717a93754c5cb37d2d6e73bbb42333700000000000000000000000000000000000000000000000000000000000000008d565737c8433f38e21b3538398006389ca47137d49efc37fe7c03381145cf370412b737d6185638aa311b39b376ff38b3fd863766b53138adb25c380e244e382517dd37a1743e38dff32e397debf338a22e4e3746850d386a7b203850310b3843d4b43728a72e38c9ca25385a60093800000000000000000000000000000000000000000000803f00000000000000005b186937181a6f3f73225b38358be237ec5e613776f5493fb28537381046b637feb5b9371fae243f5653e639a6a73838d95b83371161ff3e66685439bcf62338e69adb37d7f6b43e872dcb39080b0f38957b1b377e64573e4d70383846d7e337006696372c53823dd8523238ded3f33700000000000000000000000000000000fb06ae3641e4e138d1b84739a7a0f237bc6ac036f13ae93759d7c53979c9893766bc5335a54ede37f9378d392db9c6378a2f8f36ba75e537d468fe381c580b38037f11362bfcc837ddeec239e15a1f38d6baa134ac9a863760d5033af63e3839666a8d33ac2e75375c6c053a0930a338d95e5e360741c53727ce1938ac85a337054bc53624d4de3774c63338538ab43798abab3616a46d3f6986913d254fb137e77fbd360ed65b3fd5a09a3d8ce10d37fc813a35ec5a3b3f991f883d523eb4367ac83e3641511a3f9a9f6f3d89e1c73705600f368fa1ed3ee3ed143d7a1b943769d69234ee6ea93ef77a5a3c23fe48371db28e33fb2b493e6bf1753a67d41f3718dc5f3670a57c3d33949f38ed703f37d29bc436c83329384cdb3a38b54d9437b911fb36d0bf4a3841d9b738f1985d371f4a8036ed2b33382a615239dd4146375dbed63599228c385ea3c4382a0fe33772e044367244b737e4fd34385f9d4637dd1f9436da7459383c6353396e890d38d1892e378a2d403809ac6b3812601c3839ed7d349f0abc372ef42e38d5c81a37515ccb3593760e38ddd2383818cea237fe613237101c67388abb88380b65363854e0f836b8ca483fa7735c3e795f1a3766417a36165e3b3fee4b563eaa4a0b378c91013538181e3f2deb3b3ed02d5e37277b3136295b023f04f6153ecb2af0364f202a366f51c83e6201de3d103b6137cae19836eb978e3eb43c873daf86eb37102d803412792b3e396b013de2998134c15a4c35ca10573da8c98b39fa0e3c3728bbf03623188938317ac7389cf50d38f9128a3729b5b838be64643966871c38a9d46e3677243b387229093abba696379c099f3406db7037f9050b3989a3d135b63024376e643d38d4dc87391c64f137f0b5e036d9dc3b38988267385616b237fc7e8536149f2e3873876d3806720d3707d2043724788a38ce40c33802619937a4aab936e24a2c38f0c2a33994a3cf373d028537c76b4b388e756738f8c2063853eb0a37fb33243f1a37b73e646fb237b22a67366c8b1a3ff0d0b13e1d26083756129f34ee12033f454f953e170a9e3445be5436cb17d53e930e733ee04e9a3796809d36e5e9a33e3b42383e42a70e37f4012e36846a643e5396fb3d63c0c236fa269d36f56b053eed13863d9ac048376b7d96361293243d3b72183c05b1693792a175370b8e6b385dd27b38fe06c73756eb9236e512c23876c00e3a629c95360ab3c536b57a81388962073a6bb2c63617b2a63245caae398e153a3ac9182135d67673378d928f3a7cd9bd3ae53ec5378adb8e36cbcb4438f4b235394b8a0f37254f9f373e2d8d3adf7dae3af3cac537b91ba032f7ba4a39e86deb398423b7354a1cc63662695738153b7838c0e7193762db9536b1d562388d979138d9b5a53665da91360bacfe3e9770003f9b6594365476c3369ea1f43e5e2aef3ee0dac4363d0bab3211c3ca3e7188cd3ea8dbb332ff9eff36fbd8a43e8824a83e6e884a37e7da7f3655657d3e2a28813e859b803666de3b3784452c3ee674343e9c036037472ca632808ac73d9ed4d33d1635a032f639c7364457823c0d631d3ddcd0c7362d50953639cc983831f1b638a9559536ec979037680b7a38000bbd39f17e8137c73522379a1fb8391f903d3a872fbb36c6a83e379061b1387f7ecb382d091d372409d73611434f3851c27238f971ac36497c513795064d3809d15e3823ae0837f207d537612c463821e75c38dfde9c371f4fca35723d783727ec8837a4795235908e9737f595213839862c387b034737b5db27383bdf92384aef9d38774d2538a9ea7e374f05b63e17cd243fd9014f37346b9736de96ad3e8e231c3f3baa93363b34d336fdbd923e0c6c043f75f34936d6f888363b226c3e24b5d83e8ad6153657790537bc64313e3b1da73efc61ba3638469f37beb6ea3d05e66c3ea989093744f4523539f0693d78420e3e847c9e34e20d6d37512a8639aec0443db065b5367c1e0038a930a0382150b03825cdd937e2acd13745461839c9e4fb39f58c1e372cdd0937abf03d3885b75f397b70093645c1f134641e0a382d5f4a38d1337d3401d6fc3733796038fd1c6838cca58337b95fce37db6f8238324180382818d6365e2412371b350e380175fb37bc8b9b361586dd37f6f4a13814899c383857bb362d9a4437227f0938ee9c1a38bf3ac2365d8165374b37cc3717970838f78f1037c9608937e3815a3e5016493f0c589a3688d0b4362a76543e06423d3fc0773835ce8381344fd5363e83461f3f788a7d34d77cc437877b0e3ebd12043f292aae3660972037c9b6d33d3dfeca3ee1de5f3611b0f7364b4a763d5a63913e5f8f3636adb08737a838c73c026d323eed711036b683313767379038e1396f3d3ad181368d8d463799c40038dd6234383cf0fc361ddf7c37e1434c383edb8038ec6dc536eab80737d37824380ad66338938162364b1f25376056dd39850eba39bbfc933394550c38a55dc339e43e1f396986a034cd05e5376efb7d3929730f3894d67f363f4e0938687e29380daa0a381beae33615a2c43776a9253887150938087d553596c386379325f237a01ee6372fcfc23622b0fe378354293825b42938dd1d7b3738f3313748a0913d41b76d3fc8b3c036744eab36ca8c943d058e5d3f1793583604ba9c36e355873daa2c3c3f72ce9333c7c631375f8d493d0ae91a3febc18f3419c27e37c2a0fe3c4169ef3e299511369406d137a43c0d3a3becac3e5b469b36829d5c37ebd5ed399b8e4d3e5ec45835ce0a543774375b39aa17853d0a42c336a30ad837f05d2d38df173c38939cb0360000000000000000000000000000000002b2fb37bb6324386f114d38a49bcb371e19f7371e63153812a430381b867e37b07fa2381e457938b3a70a39e84ff237c87a453858454b3878904b385fd3c63769cdea38e74a7e38f5ce6f383372f03768ffca37bfb1e337fc590138144b973718c00d38319d1f38e7df3938b93cd3370000000000000000000000000000000000000000000000000000803f0000000082ffd6377dba4a3808976f3f2ea1a737a288c53767d55238980e4a3fa2981b37b6920c38cfabd1394122253fe0a2e63756122138beaa1f398d1c003fb15ba737fb014b384bef8c3967ebb53e99b4d3374ea5bf3740930a3843cf573eccb08437ca00fc3744b024383f77863d1f609c370000000000000000000000000000000000000000000000000000000000000000d17ff6389ac3013af844d43939998739cbd2ff382c957a3ac55f3b3a14d28639b9f12d390556f039867bc43922be893998898339b894033ab366e439017ea03935524739b696e3390d37c639e6f88139075f6b398a73ff3988e2d639a47e9139cd94de381111e0397b7cb4394408583900000000000000000000000000000000000000000000803f00000000000000008d462039efc9603fe644e539e24b6d390c401f39af01403f2f615d3a078f6d39a07b533938f11f3f8178d5390df36639ce7c8d39c0a7fe3ec47cf339f1558e393835513919d7bd3e1fe8d5390b8d59390c2c6539fcd3793e8a5ede39f7e58039b3b3c2387204f13d0a4db139a8503e3900000000000000000000000000000000f1bd27390a02573a217d3d3af43bd93960e99e38a1b47a3aa3db723aa3393b3948f694389dc1513a276e5c3ad3e4193ad77a0838466c3f3a3480553a03887d39286df8373af2403a51de493a75ceb339cfceb239c34a633ad46c5c3a0c19133a22eab239733b713a76696a3abb781e3aca1c0c385c2ae33946dfec3997830639fc9c2938ac8adc39eeabe7393cb9053981f032391999613fe42ee53d2e34bb39cb06a3388d81473fe400d43d6ad2bc3863c9b73873162c3f09efbf3dec28073a01080d38a2f60d3fdcf7913dcb762e3967ed00384ab8e23e7abc603d0dee9a3951d4b139c232a93ee97b1d3d80c9043a216fa939fadc603ec9a2b33c89240f3add3b0b381be9e43d0beff13935c1a138cce2223873be1b3a9fd4cf397b9fbd383c9943384928133a7197083a03a7d838daaca4383bdb823a778f823a2b2bf3398d94ee375179ad3a288eb53a99ff543918c4443804b1123ad3b6383a407cf638eb0f623717dfec394b9efc3903442f39c5f1ed37f526d139232f8f3c7cbcdf380394df372e6b8b3a4d3b963a2dbb5a386f9e94387c0e693c4b14703cf73151398e62f537b836063a988d0e3a6638483840d83138370e413f8000783ed68dad38f67d8538554a293f77a25e3eefcfb7395c77f337b27f113fdc053c3e16341a38d20b473814d8f23eff721b3e434ab538f152613772c5c13edaa9f63d7577ba388be8e737ad7b8c3e7bc3a23daa657b38fb47cd370a0a3e3e14636a3daf4330380a2480389c699c3deeb0773c0270f93838b4ee3759fe333ab569103a46590938f8c56e38906ee339088ff4397fc28c383e9119384128833ae9799e3c859794387b9ebe37be926e3ae35f7f3a3facb238ba4233383288263a93fe453a7c62c238659e93388b11603a718d7c3a29773f39c4d13b38d5e4eb39a6b50b3a9bf7b3389d77f5376979003ad7bd7f3a6cdfa53805a494383b70583aff30713a4486af3952f5c8385fc22a3a9cdb363aae6d8c39bbf36c38586a203f00b3bd3e40f48138d6e21938bd310c3fea5ba53ea4c81c389cc8b5375911f03e91a0963eeef3ec3754b63438c869c93e3c286e3e9ab8413897f591388354a03e81203d3ef6deb63826343b380d7d6f3e0c730c3ea87b60384031f2379351193ee2edae3d5b671038404a2e3876fe973d06aa2b3da8df76397d87c238c8f2373ad280393a15ce5139c4483b388308583a830e823a9afd5c380d126f3815443c3a53a54a3a6bcdbe383ceee8393853863a38f17d3c42a9043a333b9f3888d3483a0e17473cfcf77e39d63657380056643a83ae873a83d4e038889e1839f2c0403a8e7b553a986961396935db39dae77c3a4b378a3ad508193a51ee8a38d9d9263ae216403a93843139828d5438915f1f3a13db623a5ba95638c1f03b38c16afe3e58d6fe3eaf8a4f3816234d3813c0e03e2c47e13e52687338a9efda39c5e7bd3ec86fbe3e342fd6397964913819e2a03e588ca13edd391439518c5038154c7e3e746e7f3e3d6e6138df02f4385ac42a3e8f5d403eda3fd638edd0d0397c63ee3dbdc1f23dd4e6003a8aba6b380fa56c3d0da0743d6dfea73884545038dcf7493a5019703a0a7a4838ac8602393da4323a0e944e3a9db229394cc31e39639d683aa231833a76383839241808386acd453a4f53963cb92a0a3845f15d389acff93995da1b3a2f00553898b5ab385adb573a1380873a0e21d138e30c40385c11113a8cd33c3aa18280385cf41338c6bb383a0702513a7352b93805e61d382133283a95978b3aaf40b63891c584381acd6c39c873ea396d0d8f386aa8db38fae8bc3e082e203f73f8c0384a01f538841fa73e897c0d3fa2fa4f3894d308387bac8c3eb74cf03eb708fb374fba593807fd6c3e7b44ca3e46c44338ab99a738b8b73b3eef05a13e68fd9a38b4833b384fdb0a3ed401713e5a363f385f6baf37b62aa73d6a2d1b3ec34d1538b1e01b38bb820b3d7b86953d7a312338f9258238d4428d39a70e033addc683381413fe377ff3f639d657733ad8e20438d17dc5386389643c7ffc883c5f8ad63802b91e38a7c78e3aaaeabd3af2be1138d8473038c8b5da39e8ba973c46c90c38786db238bd8be4391e09233aab170d386cabb538f254f5396320433a7abb7e38244ec738f7d9973a31ceb83a54411238bde8cd39a9cd673af094833ae05e9e39ff5eb4385d7be1396bb2123a19bcbf388988fa377bdd773ed503413fe6b5f237b39eb538bc124b3e7c5c263fcd19953821541b38f4813b3e7ea5113f633feb376f861838325e113e1f1aef3ed892ff3713608738430ef43dc341c23e69f66c375231a738699ab13daa73913eb0d85038e2a87238315b5f3d1734403e1fbbfa37fd71c339e805cf3cbd0fb83d7f023e39f268af38d257ef39af86173aadf58d3899a05b38c021b939225c693ac0b43738784e3638c877dd396d46323a48642138dfad0a3a5aa3653aacc9873a7f2bf2393d95013ae924523a6f85793a02f7f439522caf3931fd193a0247883a1795f038391e4e391650113a3c17793af93e2d389ab90f3aa7bf503abb62593a417570392f5b0239d82d4c3af3b4723aef0fb038afcaca39a8e52b3a05094f3a9c9d9f397ebd4a389a0ee73d0c35623fee222b382a853238839bd53d4ff0473f94581738c465023aefb1ad3d2e902a3fb311cc39af9cf839d86d8e3d1ef70d3f53b7d5399e6f9639f34a5d3da62ae33eadd008382e382d393ae01b3df614aa3e9a2f1538e40a093adeae5a3a37b6683e16cf15391e56d13880ee553ac25fe53d07c1a638b06dc73978592f3a610a5b3ace2a7239000000000000000000000000000000007e8131395618a739c908113a01262f39c2827c3957fccd39fb770d3ac1a193398b6d5739ab9eb93959b5ff397ac58a39162498391c9ed739d77b053a7859a13957857339d29ab2397576f73959ca8139c8517d39b91f1f3a411c713a0955503908917b391e39c039391ff439d01251390000000000000000000000000000000000000000000000000000803f00000000ab3620391204c23904f9603f35691139645f66398915f1390e5f403fe53c8f391d884739448ddc3973fd1f3ff5278539b9e68b39e911ec3978ccfe3e72cf9a3990376339bb49c239e202be3ee6be65399c6474392a0b2e3afd8e793edbb62d39db0874398b8ec339b164f13d7a662839000000000000000000000000000000000000000000000000000000000000000088fe09360df00c3646f21736335f2a36f9893b36dfc33636d3e8633631fa8737acb75d366b1d5936b1979037681fd737f5ff1436e5e81736213b1f364ef61e36134d9e3735720238b4a8263871931938df82f935d359d036885b053737340e36c8de333620deb236e9615636a6d5523600000000000000000000000000000000000000000000803f0000000000000000335e0836decb7f3f817f9e37b3702936460635361422633ff26233383896753766997136a3ed303fe9a43f38deb7c837d9f21736c5b2ff3ee6010938904d1c36bbd1d23703499c3e6eb28038035621382de3e6358b73e03d9e913238b7400736a151343634e0ba38347bcf37397f543600000000000000000000000000000000794b1c372ffe79372ffd8b380f44c33754148e36c4cb9a36e867b936cdc0c03611cb9234fbd3a034729eed36e12d7737abecc0363d62ca3638df10380aaf37383aa28b3696359636e235a5367e3ca63645cc883685fb11371d8f0238175a04385df411373dcb2137002e00384bdeb6373719d436889c22371356f737789dbf3747a99b36ca6ff336cc262f37bdf42c3785610b37a68c7c3f6c465a3c096a9637a10380360a217c3fbd1c773cb126b836a703a3347fd1623fff3ccd3a1c5f2d37265bba36729a303f86c2833a9c3e273888ef88363db2fd3e408f413ab0d8a736baec86362dee983e8ae07b3ac5c0f7372e1e0937d7abd43d108cb33920aca437da0ac13621f55038471b873807e9bf37aff3963669431d37069b943758aa2637ab23fd36faf23e370db6503845e04a37a6a2b03500bf44361047ee37321a0037b26ef435072e1e3624b00638a8cdd93774a730368d8a5536abf71a389a0902388ca306378a9311375ab8bf377ea08437ac0be1364eb5dc37e5cd8038abfa2a381831a235f166af37f2a72d3807f0cb37277a7c36632235376961303845f1a037929c4c37951e7837f1fb14387e1a87375c5dcd36ed795d3fb3e1093ee4cf2e375fa1973575f85a3f41fc133ee79d4d3604dbca3541943d3fa8861b3ed74e8737773d1d3677f1163f4705ef3d45a7b93757caf33657ddd63e2a97a33d30651a3769df9336d9cb803e657d273dce5202384c2417355248bb3d85b4843c5f2a8e3721ea65362b4e8438dc56d4388eda1c37427d2037325a0e389aafad3845ab8337dd69d73625e5093785fe8f3795a3e636c468a3360ce21037ea99283813ffc536447c2834e5444334f278073726427b3403850e37fca23d3730c85e3779644437364a54361d209e36270cc7365c6ba73637271036c5ebd5379495333880fcde3757cf1635f3e03d3739b9353838cd1735a218f435a8a61c36d5f1cc37782417367b9a09378d513d37c9f9d9374c002e37733cca36885d2e3f2840a33e8b7fdd36a3a29a364ea72c3fde8aa63ef9c9b036d2ec2834aadf193f49149c3ef4294134f097c536ceddef3e16c3703e278e20379e282836d01eaa3e34a92a3e03af8336f6a3023624a8493e6089c73d40502f37706b1635bcce7f3d2e66d93ceaff12351834f135c2949b38c98ce638441a1836787efb3666abf137ef6b40386f790f3748f90e3719ce8e384674a638baf10f3716f4c536895690374635de37289ecf3692cc4d3622bc823615145337332e59363aaccb368b94ec36184028376226d136029b8236da6280378fe2bb37046f8836c740cd3670eba73761e0bb3742ffd136214a62367b96e13736e0023861a362361221d736cd2df037ae520d383943d73621990f37700d2b3832df4738726b1137d3670b373723003f32aaff3e73e50b373b5db0364664fd3ecb49013f3130b53685c349363345e83eb9ebe63e3edc4b36993ac836491eae3ec94db73e18a1c93691ec80367eb17b3e4932823e46028036c85bcf36d6900d3e20c3273e3336ce360e185d3670222f3d67a1573d44ca593674e3ca36bf838d385882a138c26fc736dcf40f37b82ca338992cc2389995113737f20d373fe51f38c885e437bfbffe365a8a0e36246215371cb411364f6fea35c4031735c46c1535431f20350f641135239e9837b43df33790929f370d2a0f367a74ac36859fbd367bd8b936cb3a7c36d8f84e37b507ba37c79c65373fa52c37309eab34c4e2c8375a0084379d403634adc26e379bad1e3811ba0e384e1ebf36a676e9365740023777af01376ec3e1364825053758dea13e8d042f3f3f56df3641bf0536b1a9a13e4b232f3f3bedb935f105133597d6943edad01e3f71791135e1512e36e7a7633ed661f73e5861f435a5fd8636c3271f3e2d02b13eda4c2936332b31375a1bb33d68f5553eaeecff36eba35a34094f923cad709c3d49c62a3441e5c636d60bbf38825eac3847c5a9365ba4e2361d891b37950519375d45db36718b8237f0ab92388c62e73750e52637259a0837663926389dc9c43644d56836cb428137ded1d43792a0ca358de1e23493de2c38daec4138ef4a663761f6c83614ed4e375854a437c695153726880537e99903388267423833abc83758924036a735f63797c0433800e1ee37f9ec163669bf813734b6f137e04e5e3779b91e369b1358371c02db37e3ed3c37ae2b1e373d1f7a3757aa093e1a825d3fb531fa3605e2c1365abb113efb805b3f4cdc42369222873678f50b3ee77f413fda57fb337c99f2375793d43d77881a3f35a36236a5181a3720018d3d7decdc3ea72af136c6e5c637b192f53c7ceb863e3bfd2936a9afaf37728ff33a22bcd83d79c50336720787365c77813824ed4f388490c635766d3037406e4a388b49e73783db0137af582e3763af9337e8330c3736c194366db5cf374397c2377bdeda3666acbd368070af373656223734a90c379c670837a6e80938412dc937222e8b36905385360566ac36c3c0a936771b97365f7d9036a5d62b38bde23138966187376e2cc736ac4f5a3774b09237efa69536ab60c734785fc036d1312437821fb1364c449e366189b437b16904382b638837dd603c37c51b283779dd893a2ec07f3f57c184360ec18d373ae13a3c300c7d3f60fc9d3667d589374810bd398337653fc41ff9369edff737f26a433a230c333fe0057b369296ac3698cc5b3903f7003f8a9e893609202638303dbd3950ee9d3efab4c236e1d34d37a0c9f1392350e53d88e69c349c0cc03634189e38c6cb953873d19636d46f9737cecc9938548732383dd12037000000000000000000000000000000008a225136190b44363585343626d82b3638ac0336da55e8355679ac3586c0c5355e2c3b3880b9f93776f21b37ac8688374c0221363f1821366ba91a36ba871736b331bf37c7bfaa37ae5f893728db5a37f0ffa6373d90ca370124d437d462cf36fefd413621214d36ad656736917c1d360000000000000000000000000000000000000000000000000000803f00000000685852361f63cb3754f67f3f2c881736223502360bcabb371be7633fd6cab43586143838010b80383fc8313f90619e37fc8220360034e237c624003fcf961636e962ba37a75f4d38ba049e3e85341e378cd7b137833a62386aa1e63d4216513678a93a362bdc9f378fb7373a8d6011360000000000000000000000000000000000000000000000000000000000000000dad2593663faf936de1250378c2b3a37b5ec3e36a7d68536c7959f363aa4aa36f408933641762d37297f8c37e9cd5d37100ae435c6e2033734f74237560d22378888f43495f8b8364a4eca3677c27f364a541336d7671038db930e38c9559a37440b5b3505301f37c08b0c373a8b363600000000000000000000000000000000000000000000803f00000000000000008293523683de7f3f8c188c3731152a37d0b33b36bfad5c3f47d10b38aef2b0361a8c9636cf2f2e3f28e40b381de452370f8ff135fb6ffe3edc974c38d14f2137c603f5343e49a13eb43a2537fce972364df717362c03073e34c332384dae9e37818b5735fefe8038e5de3037a77a4136000000000000000000000000000000004ecc1e366c97bd360c3b8338865c1337fb85e4354ee4d73673f81c3810881337d0e848362a52f53645f65038ea9014382afa663681ffec361969e337811f5b37b6965f367ef8d836ec0f1738cb4a0a37bfb06136e6dae736cb750e3856082837b9aecf36dda64c37c7131238a7c06837727b5135e4cdc1366d4f00386da01037022bd835cafa8836da994238ed989237abd0fd35fd39753fd1d92b3d365be136ee0d9d3569c3723fb120533d5ca611375c722a366f45533f23d72f3d1fd8ea37f38d4a3686ed253fa7a8053d0da637370895453672aff03e5482c83c0578093712b84f36b632923e6ff0913c4dfa17377e0ec9364b51d53d1109483c7e495f3765daf934a6abb1370e5d2b3a2d190037bbd8b435582c2737abf3d5385cd74837035bad33c54f513650a14a38441d6835539e5034fe1f8f37d4e08a381b0a1e37fc3780351c6f1c37d6a73038955cdf367bd383354c5aa035cb181638a26aa635ea1ea735d65a8836ba62e937d09e943608771735aa02b836aa5ba337ebddd1359ec3d335fb70b7372f516b3815c8f93624733036c00d9437d3423338c8374b37a0cca036b7a3093747551e38432110370d00ae33cde5503f84483c3e0d335435a10e0034fdae4b3fc7f8503e2c442036a84f2f3513e12d3fda13403e7a96a43641108335ce700b3f4b63183e6b6ba635fe30a33558cbc73e2153d73d01138c36457213353af36b3e44b17f3da488b3351bddd435f040be3dd4dfc33c1627113697f7163604ea0e38c076453a7b8d1637dca08f36b56d40373f909d384c810b37599a17350d895b3872e4d138b3e8b73580588e36a1d70937bba242374fe7c73640e19036d30edf3607976d375b8ac7360658c63517ef7536bf30aa37a638283686f096363b0fec3666fc0f381769bb36eb77d234090e69367079e23763c02f359435853672e80837aeb5b0371fafa436bcfea936cb93f736e3d32138456cd6369b4f043441e1cc35016340386aa295350d87f434bfd8283fae46ae3e98c69735e56578363b53263f5962b33e2b97b536eb468336543b103f6ed1a33e9279c236f467a03594c7e03e6dc3813ee2132136328d8c3688a0a03ec6723b3e25bcb836529cd2343f2b403edbf1e83d4c3f2a35185680362b3a843de3003d3d7defa3369a75a23641786d3870f5d93810cbd23608390434c428cb37de84ed3810499535d35d8c36fe6e6c38c735d6385a828836ebd4a236db910f37d73148377248a336878bde36ce109037d7ae013813f7f036b2e31137ee994337f10b813750711237cd59c33624280a38a4773238cf58ca36deb51237da2545375ea6a0371e5019372b66f536f3a1bf37b2214f38aa4fe13669c9aa363ef00d37d9db5837ade6b236a8b08f3623abd737131a74380d3794367f5a8236e968ff3ee73a003f73cc8036f9329536576efb3eeb20023f9c1d973612dcd43639c7d83ed6a5e53e25a6eb36ad9508379217ab3ea51eb93e28c2093733ffb2368a05763ea9f2843ef781b936a5100c37b7320f3ef68b283e256c0f37fdf4f2360d1a583d0c589a3d4304de369f12a1362e3f9e38e5320e3a8f06a736a9fc89367d5db438f920f93838b69136cccf9c353fd5833877cf6c3852280134eafcd436750cb137c0fb9b37e972a636f555a53613fa173726322137c7b3853681fd30358a1f3e370c417837524ed33471f1bb36d004d437deadce37c1ec9a3654713136814c6337182c71371ee0de35937dca36c8e10137291a4337ab9899366769cd36d92316372d241d37bdf398364929c2353b8b67388a3f8338f33b4c35f5fb8035d573ad3e433f293fe48ef733923dca36376aac3e5fcb293f8ee2923648ac9c36bdfa963e3b37183f92e06a36fc032d35779d6a3e786af03e356dcd34f46ab636c223243e4eb3af3e1fac90362af02536a1f6c13d3c0a5a3edca4be35f6c7ca363360cf3cce59bb3d024d8f36fee4bd362e3cc438db39043933dc9236822fa735a0c2af38fcf7bb389e9f22355c9b0a37698f4c38684b8437eb409a366b331537e8871238f110c037e54f2036a89f113689ea32384623e2373b14d7356d4dbf3575c33f37184c0037cd8527353b5f963620901737126dcf36f1e3ab350d99a635a1740538a2a57d376e088a358cacd536884d1c380c42fd371874df3541de4237974c77383d7c4b38205d9834ca807835a0cb02385ed976378dedc0330a030437af223b3eef35513f75007c36dc17eb360e333f3e9f03503fadaaeb35d8841036b9e9343ee9e0343fa5a7c6357d97b135eef0043e07d3133f47b9123599358b36eca6b83d8a58d43e520caa352487aa35515e443de957843eab738535797eba3640b5913cd583ec3dbafe8f351f2cb23630a86e39c5d699383d5e8934d7697335037147385c53f1374bdcc93391735f375140953834ae8037fab3c5351324ff36e3baf7375ee6d536a8fa19354c377137bafbbf37bde545374bc2cb36ca541937ad3ce837173af03685916436660e0b37fcc0ba37ba5bf63686e47d36ca625237234bc5371ac53237b30191360ec90638ff155938b3bbfc37945d863652431837f6a517383c2e14377cf72b36bb282637608a113883fa2437810e4b36e09ed136a28d273d327a753fe0097f35d373f736eab5193da738763fac8ff134ed5e5c372d96f33c009b5a3f5a23b436ee9c17377d4cb93c748a2c3faf834036289a083781d58a3c7521fa3e5640563646603b3763936b3c7c229c3eb483793636cff83708170e3c05e7fb3db1c46a3612fd15372f12143944ec65380b480636c09c0d379dcb8d38224ff23718d1353600000000000000000000000000000000c8ad4336e6b4b736acaed836f7b857358680ba376abdcd3723c6a7377fa61636c57f8e367a088f3621528d36ef5cef3456882037e36236371f89213774401436550f583783be85371f938f370f9fd4364cf0af368f35a336dc900437f24853364c922e37cdc16137bdbb88378ebf99360000000000000000000000000000000000000000000000000000803f000000009b19363614732c371efc7f3f812858357de49a37ced82238cc2e5e3f016501360a477236e335223716552f3fda22fd34da870f37a5402e389cbf003fffa70c36008e553739b90e38a987a33ee215b036e1e2b236a4751038813b0d3ea15c52367369283742188a370e3bd639375a8d360000000000000000000000000000000000000000000000000000000000000000221f21352192b837f3c683379d4df0353624f635d6f5b537f482b8378b8c1337cecac0346192aa37613e6b375e073b36f47a13365201d13751c0a837f8f262361aebd7341c46cb37d34f843729aae335cbbb9835ac5d1a3815d92837f35cac351b345d34cea032387e777137cb948a3500000000000000000000000000000000000000000000803f0000000000000000dc6416355c27753f116ab937c987f5358457ee35f0534e3fa124ee3741ebbe368afcbd34311b273ff5fbdf37a4fe0536a21213361249fe3e8efe0338fd2e65361222c0343812af3e15b1b83731bae8354c299835cdf93f3ef5da8a37639dc035db6d5934ccb8033d686083376f218f35000000000000000000000000000000001d609b3216a54a38c550673c5d97723732351d377cc893370678163c9fc8e4375ee9f23568d58f37d8b7de3b6f89da377e3dad35d47212374a4c0d3a93d4c4374705ee36e9e4b03765c74f3c01830f38116cf1357cfb8f377270073c4b59a737d5b71d371c12893752d71c3ad97b9837cc81fe35cb9c0e38f18c9439b47aae37d59e5d35d1b15a371e84403ac7399637d2369b32ffd56a3ffe7b693d79c42b37e15f1b37b2b85e3f89b8913d428ec137c82def3501de3b3f2a56753d68d4b93736e9b935059f173fd63f5d3d5e11aa379988ec3693cde53ee047093d6dab08380d2e003634dc993e1400023dcfd99b3762c21f37f5e0223eada8d53ce8e38537ba160436ade93f3c33a5c93cd5d99a373d226f3537791538407a2f3c0fe88c378219e9345c2d4738e832733c5ea1723583068a3694173538e09e6b3c870d0437182e1d3717658438b639d13be8a65437bf530435c9070938f3011d3999219e36e8823a374989f0373dfb983839b5713784151236059f5d386a3ae03bb6aea0361850ff34c67a32388c326b39b41ede3558543f3714fb6b384e7f8739aeaa773742678f35f80e1d38193aca39bdd1c436b9b4e834c44e463ffe5d4e3e73136c35d91a83363a183b3fe27b4f3e5b200337bd2f1b378c621c3f53a6423e2e295337ad8604358739ff3e56aa213e4623e935841339375433c13e5198ee3d2a687137966b1836b953803efaff9c3dd28ba036fb0b103508de0f3ecc30313d8feee235c2ff3e378fb05e3c9c4bd03ce692763742018f35f80d7d3830d7703cc12ae5351bbc9a35f2ae5c38a3817f39a2e6dd35817f3c372c463e38a53f013cf2cd6d37462c0136e7a336369a0b133af16626366e2d833509c5e337e614de399896e435fa8c0a37a1c85338d55e003c96a133374c92b33547fb0b36a51712397579e3351bf5233755232c387d40b139ae58493730e1693606ba8b38d847093a385cb6366d114c35c9ccd236d5e9013ab7be9835ecbd98350a31243f0553b73ec912d93536ed38375c95183f32bcb33efb886b37c23afb35bf72013f0e159b3e2f6f2436e55e8535f3b0d03e16657d3e6402da35bbbc08377d669d3e78e63d3eb4c33137437fb3352076533e451f063e11b3e035b7bc23375f4be13d6d2f973d135e493734e366368ee8823cfbacb03cbcd1b436eac85035b788af38a514433cedbe97351deadc36c98dc138e991403a6782ff364ee5c337839e2339bebd203a3f66c937102094370276ba386984b13957849c37152d54374acd9c38f3b8b03944216437f76ea5378364e63864836b3975a7a637d7875a37d75aa738db4a6639a37862379aa59737dab5b33840d345394dc9983743e9c837cb0f14393618ad390067c737c5c0f33634c49838ebfae139c0f7f53669c5db3630ecfd3e2f96003f648bf03616a6c2370dd1ed3ed235f83e4a59c73747f292378796c83e6705d33ee82d9837ecca533717ada23ea761ad3e0e365a37f69ca43747c3773e040e843e7d55a53712c65937db55253eb31d3a3ebb6b59370f0098370febb73d82ded83d306a953717aac837c6666f3c126d103d229bc537d43bf536e4def43861e91c3a27c3ea369a62983590f6dd382e11c739378b60359933b5368400cb3801060c3a98517336274a4a37ab7b80385138c039c7212737276cd935a00c823735040a39135bbf357e583237403ca438ca1c4539df010f3786b0e835349c49386b562a39104a8c355b962136bfb9aa379071183994590636b3136f370939753895165239eecb4337ce2ddd356f228038ea88f53852a6a435d6fc943530d3b13ea0cc233f5c8b4035db88ae361d27ad3e478d1f3f3e3158368f0e4837d3ab913ec3f1073fc9de2037a57cd7355ee96a3e00aedd3e0eecb135b6293037e36b2d3e85eea83ed25c09371466e9358b1aec3d76a36a3e19e2893580f62336b3da713d60f8063ef05803367ae86d37c91bd93bb30e1d3deb2b3e37ff9fdc357f37c0389fd00e39b6f8a235ad97e5353ff5dd38e950ab388c7d973530db78370f38bb38d3d6df389b8f4537ea0cf1351a1ddb3815220739cc762935b36ea13696eca038b1ec9b38f0442a36cec97437d0544b3852933638ad5342371847ed355745663857dd72384f6f36351ad95537b85b0539cfb90b39880124379ba70737f0c1aa3843900639d3d09c3684627035b48a84389c7a2239376ded340a0bde356053523e757f473fefbc8a357a8f753794d84e3e033a423f25403d37455fe5353565383ed0c0223f5ada0a350bfe9d36037e113e8913063f5a7f163616427237f46fdc3d5703cc3ecb873c377f4dea35a2768e3d393d8c3e640d1e3563bf543701d3043d14f0233e08392037a1bd0537e2a58c3cf4f90e3dcb519236177b74358c3a0c3c79a26839a0c1eb348e2f893709a11a3c7e947138340291358e79a1374123f638eb5ba73830ce2536966c973705613b394d636a38ccf92c379ad59e370d7297381bdfd53737763636b5511038ae88ff3b2d757e3825c30237e285be37d2fdce3872543138ae462136ae48c1373791413810570438060746366333d137c316b838b6b86c38d7d12f37f90257373da57f39a7e09a386257a332c433843766746b3da0f06b3f52e16235a91488378c75833d952a663f5ea1fc35bec780379205663d4d0a423fac702137b4e19737fd2f3a3dde301d3f9c740d36a3d608383c64f93c5502ef3e2475f736bb5aaf375536073dbfe5a33e9557f8355836b737ae4bc63c4172333e72a31f36d6e2c8377c43853cf1a5083d4ba82737557c3c37a5bb373c674fa9381ccda43200000000000000000000000000000000228a91352ea5e236b6a2713834fc57348b0dc235f37f50362882443815789735a5a5ea353baf14374f4405388d871735413b62364096323794521b38e0f31c364c830c36bca12837cc023338ec78c53418e66136ef5d9a378372ce3936df06365ca7e935b1ce383740b73b3872cb43350000000000000000000000000000000000000000000000000000803f000000006a989135b5537f3703b8773fe8295734b819c735cb36923716f74f3f3c4a963559c2e835bc37b6375f6a283fd533da3489b163364ecae737fdd1003fdde81436474bed355b1baa3751b1b13e3e8cbd341b4164365605cc37b011463e20310236ba0def35c55c85376bf52c3d946734350000000000000000000000000000000000000000000000000000000000000000b1a816360d032c3607eb41366c8544360000000000000000000000000000000091fd90340000000057b3c33391194b3417d8b836d936bf36a442ba36f5f4b63600000000000000000000000000000000c6a6273538aae5346132013582b69b347007b03607beac36679fa3360640983600000000000000000000000000000000000000000000803f000000000000000039c40b36671a803f45fa4336f7224336000000000b05643f33d7a836000000003944b1336339333fc44c2f336c711934447cca366c6b003ff911b7361875c53600000000955f9b3ea8400438000000007cc20535a83ddf3dab42bf34cc6f8534f286b4360df7bf3a5fe39c369ec6ac36000000000000000000000000000000000000000078a1b535b3fd5237000000000f4c8e3506580536205a4a36c0342d36121e0e33cefe8d337984f232211206320000000000000000849d0236c588a8359602ad3415448535f25bb6359d109a350000000000000000a4448437d9c64636958e9535998fce3538682e368395d635cc818f337d5983370cf9f137856b0e370000000000000000fe9b0e36000000000000000022587d3fb0e1473c0000000089596a3526c47a3ff4f8a23c4c8124363d485d33e981613f4f3db839fb1e46330000000052fe303fe2f4bd3861164c3477b03b35d144fd3e27bb2c39e957b935000000002f999a3e8b937139000000008c029c357fb4e23d3a624538c3fad13500000000eea7893ae4049e384834853500000000313a123729dc1f3800000000eef0a63308428338360ce138155c9e370dc41e34694e25349d9d83373d8a0e3457c5d533e9f7e53374bca934cb6722352d4017329d4b2a32d9222c32fc7d2c326a679a34d13b8234f05be5342364373500000000000000009e3dec350000000000000000f55e3436171cc43700000000d8c40936f3c01536de6edb36a97e1036d434f13535bdfe35bfce0c36e2ad13364546a23399c15f3f5056033e1f44f833d9aeee33c9f75a3f4613163eee7c56342b64ca33fec2463f6521dc3d008a0a35ed6d003225a9183f1e55b93d127d3932f6eb4132b48bd93e26148d3dafa208350000000090f87d3e8b914b3d0000000000000000ea52873db9c01f3d000000005713b63559b03338ddf93d38c2af0c369fbcce353922133631a08237b03bfc35d89e52369859c23774c3ed374b29733608ac92346929f1369121ad37feebb23569e930338847153367580e3337ad1533000000000000000000000000adb19434a9ecac351839f1357a22e235db3bc3350cfd23331b433d38a2e0413890099636380d3d35b9772b3542d2ac365f908735b8bcd434f0216c35395401376950ba347193b0377dacab38ba66d4383c7fb738d3c5303623d82e3f2099a33e82a2483600000000a90c2e3fefeea43e18f97d35ff760333e3d71c3f73eb933ef31a153300000000e2b1f33e4e70683e000000007d879535649fab3e54d2273edb07dd359e6bf43253d5463e8eeecd3de81a0a3350760b350275553d3a1f183dec825e3521cdda347b65ee3848479738e0803f35000000004ac9ee3806b80b39ee563c380000000058e7c6388415bf3800000000abf43a3675fbef3704d2043872d36936ed8dd132c4505b364a5ceb362f69d43484ceb934206a57353887fe36a0702535542e3936ebf1683674e17f364e295b3600000000c3484137b3957237eb41183551bec034422c7c37b2a2c437c1654835422f643680f8d53743cb1838ab5c833600000000575b0338550d4b3805176a37000000008e08003f3ac8003f0000000085874836c70fff3e6402013f36833a363c073233bd7ce63ebf95ec3e6a7c1d3300000000b7b9b13e4d85b83e00000000874d5136ea097b3efc48833e14514a3600000000196e133e37071b3e00000000d79cab34c2d92a3d483a453dc5999e345a48663624d18a38f9b1963814a77b3600000000adb3d538c0f709390000000061b59e378ec320392d1c05391117c8353f74bf3449b96d375458dd36d6128234a3160435ae8c1935e22a52358999843582970533a58c03389a8fa137360817332f72ed35515cff35119fc0353878f43500000000000000000000000000000000ea4d10333674b73702cffa37d75623332007f73575f44f37b25bbb371ed6cc35632062366c7572360e8edc362803833637622c3636e79e3eaf49313f00000000febfb83400d3a13ec8a82f3f24f9c0344f6307356d73913ed6e1203f8f2675350a3be33237195e3e7b87fb3e4b382233abd9aa35b80f1d3e4b8cb33e3e73c33500000000e067bc3d677b543e000000008271f532b4cb3f3d9bc85d3d79612f332c1ac635e09e6b38b91382389430ae3546555e36b439e437b979ed37de036936616e003644476c373b30fb357660d335f315c535a4e95237cfdddb358cefb73500000000bb4fc136000000000000000000000000000000000000000000000000afa9e934b7551c358f6a5d34d3b08134b65b3b3210141e32af7815324a1f1d32a549943480061034fc3af5345beb3635f999153443d2cc36c1a10d37d6a44134f134cf37b6f184382e873438209594330920e3358b0b023ef40e603f033f5a353e4fca351e24103ea2755c3fecadc83400000000c6abdd3d5cf2493f0000000000000000e5cdb53d86791d3f00000000387019355b6e923d9d03e03e03df9d3396920b32b48b793d5982823eaa881c327f46e133520d393db17c943d6698ea3417f50734279a2b39109811399cd90634a400cb331b96dc38ec37a23869bac33300000000cae01338b2eeed3500000000baa3503530a3a637ebed263400000000a1bcab3522358135160159356de4843500000000000000000000000000000000f07caf355b69cf353c216a35ba5f7635d4e8ac33568ad13600000000000000007936823311719e3425d20d3387382f33f94a373601bf59361ecf4f3686aa30360000000000000000000000000000000000000000e282a63a7f11803f00000000838d8535bb2f883c8cbd7b3f000000009f729735f5f9ff38ceda633f8e3c2335000000004f039c3930f0323f0000000066d4dc35efd8033a5ead013f7b5db834000000001b3d5339c3509e3e00000000c722ab33045fa53b188eea3db73bc732c8a0373699bd2838cd20e63a6ae510360000000027b382372f9886370000000000000000000000000000000000000000bacaa33681ca92360aad83362e9d9c36e84eeb3436605c34e2535534c0ffa634000000000000000000000000000000000d03b73689aea8364fa7a93641a5bd360000000000000000000000007f4d0633000000000000000005619a36000000006af03c3681144e360b436d366a6e36360000000000000000000000000000000000000000000000000000803f000000001f29a83669ed99367e01803f46ff97363f3f8e3463278c34c236643f99ef803400000000ca75a33765a1323f000000008a25b6366ca20e37ade7ff3eec99b43600000000ffc2b133e40d9a3e000000000000000047dbe0373102e33d0000000063bc343610195e3681a7b5397b342b360000000000000000000000000000000000000000000000000000000000000000c9f00836a9a769367e3d6e36c70d6c361402b3356413ff3519b72f389918c3355bd9ea36df170237364812377c290f37fd74c5369a5ce83655b8e736962ef03669ae9f357eeb8838d17e7438fc78933735e6c6365297bf3788206e37a717e63645ba6336f8652738abfdae3751878e3600000000000000000000000000000000000000000000803f000000000000000001280636d6f37c3f68df7e36e0366b366c84ac35972c643f49a5d638f516d935f48de836a3b9313f493baf371a6a1137edb4d136af68fe3e615a46376c35ee36747baa35f12b9a3ed3cbab383444033749a0c336ffb6d23d101dbc378fc2ec36732a6f364c81e63916d7fc372cd78f3600000000000000000000000000000000147b4a358cd139389ffe9e3820e58f363d55d935aa3fc937bf4cb638abe675362b701e34ff5035348bf03338f63228340feca836a5be1d38f810bd38877ac2375dcf9b35509d6d37cfd041387ca7423638b0e4334fda2738bc659238e1fb2a37c2a9b43658737538ed09c7381b21803729c60a3440a41438f3d19f3831b6103609fdba32f0c2a23262520838ad9ccf32860dfc343a86743f95ca393dc3fe8a3690e7b73538366f3f9ab15e3d6b296f3670ba0f34ae015b3f1231013d6c4e2a34345c99369090283f8821dd3c24e78137b1b0a035151cec3eb9afeb3c01543a366ba2cf33296b883ed534f53c4b0ca936905ca536efa6813de82f053d52f022371609e033b02a213aea42cc3b9d620336f721b7325f83a1371be697382470e8327723e4355d6223386cc060393a523b3681895334a38e9c3824a21839d8eb08347d321b36ece11b38657bda3871bf9d361e5e4734796c6a375fe6d9380021d635235116355b01e8380e1a23399a5e12385b1f6336768ed338aaf50b39b3bbbf368f0dca34147afa36322fd03748d149351f8218359a84a738391710394e7eba342e30d7351b0cac38b45e08399595cc375c4be835de75543ff9a12b3e20be2136b9633534c70f4e3f60282f3e16af1e34931d0136aefe383f9055123eb5539736226b30349a540b3f22c40c3ecc3db135e6390a350809c13e6184e73da6f50337d4fa4636bd98423ea902bd3defd5ba361f099f345c55033d9e25a43d37d6a834810006359249223937cd493dcdc9be34983ebe35deddf5389906ac3ccce0183684b29a35481cae381fc70b399a0305363bf94e34c821ed38ee8d25391c0fa534842b2f3583e3e3375e37ce389cea6135c30f7236bf608d3887cd11399f05a8362be6d034289eb6384d2f0639c3f3cc3576613e355eae04386eddbf387796b135facf3236b7b0d338bbdd1d39d91c893653fa2c3431dfbb38de452939f6d70036ab16953514dad83798f09838f3006136bbde93357fec283f4de0ae3eead3d935dc64e8331a50263f38f1b33e8382aa349cc6243514d3103f96c7a53ef2735e35191e67364504dc3e6fdc893e44e496360ddeb434530f963e7d5a4e3e2ba68835907e2f35ce60213e3d460c3e2fd9b8352d382136e6cd913c093b8c3d8ac66f36a9a3d433c9053739280f833cd1fec3356b208535b89a7d388932b338f8ec4a3635ffaf324d3a8f388293e9387ecb5d34d651823500452a380a4370384f64a4352bf183357bd2d3373db52238b244a735b60fc835e1f4e5373aa34238d2060536c18d6835aa6f14372789cd37176cae359528ed35b84d183805534c38fa33fb35771095354d47f037d09a3d388ea5d835e17e77358568a33792e47b38bdb1f635f8133e324d2bdc3793ba8d38eed58934fd499d321823ff3edbba003fb267403411dc1b35b8d8f93ec832033f3f496135a83e0e35ac8dd53e0b7af53ec8354c35f628a8357dd69c3e7756c63e58e0ef35921e27354475613ee1aa8f3e198e8735a15fb4355db2e73d4055473ea2ffce35403084357abf993c4473b03de577a73588ac283563f9ad3868f4983a2667ca3507c20632560e8138e44a4f3955cadb3207093736ddcb803892359538fa8fd7351fa2963551f00e3933a7fd388747ff34bfec5d36b9b1f338d3b1d738ab005136534cac35d5d71b3883dd3738b0f7bf354cf07b356fc6d538e420c73845681b356feaa136a107fd3891bee43874d39836f2e4673599dba738fce1d43874ac85359e56ea34dc19f738af701439e36d85346e8cf435c3f68e38effaa238fbaad0358d4d1f361c95a73ed76c2c3f323684355a028835a39aa33eb56e2a3f12473f3404215b362a848b3e5197243ff95f273657aeb235a2674e3ea281013f55636f35edc86235c0ce0e3eda35bc3e885bf834fa0e9836cafd943d84a96a3ecff28536c38e50353960ca3ce1adb33d73943d358bd3cc34c076483930ed953916d48434acc6d93523e9ee38314044399766c8355088e23524831c3977930b39910be735101ca334650c24398eb9fd38e41ccd3434dfd434c18c6637d9e61537a648c234f90bae36da2be938f731ba382b61833649b3583797d51d3954050d3967d411350797763561e5ba38bfc19e380d16043434d78b36c91fbf382b39d938a2a25d3657e5b533ae90f3385c54063973e03a3435a3243664ae84387a267538814a1836cd71f1351c441c3ee9d5533f1f64ba3569df6d349b400c3e92a5503f3c9ad4349a8ec2346006e33d1a43473f428dac347fbfaf362d6ecd3db54d1e3f9e83513656e44e356ccd933d71cfe03eb0ed0f35b2736e358e23773d52c1843ec57e0934afb0883674e2453d6ffbb23d3b80323644861833c318c33c0438e63a0aa4183480da1b365dfa453b799b9738f74e12360c53e13296dd4738a1a6bd37dde7aa32fcc7e235f3438d38a2492d38e180d73489f62237d7d29238be3133384c9fb736dc3caa361ede6338129f10381a2e80334c40373646461d380d03dc376b4efc35d2b586370b1aa838d79b9338f7a7c93604503734bac11938cfe32038f8361e34f81d5b369f0c93383dadb2387ca13f361b807e3623d44338824962389e56f035b5d1d732a104293d92b2753fa784a432cf8fca3543f8103d6548753f6f1ecf33ea2a193776b22a394186673f393e95366b05003614f93b39713d343fd2fc82331bb128366b71df3b19db003fb479cf356fb35a373b7a243c12209c3ec592b036a2e6483463fe673c673acc3d455f2734e2b058363ad1e538e6433c3cc6bf26363a55813643459b3846c0aa381257b235000000000000000000000000000000001ee18836ecfb923664268e37e78c65365090e636693ce3362bd8dd369f9ecd36cae98e37b85d0f38c34f0b38f4d4c2354b46e836e92eef3634deee369770d436c0ec0f37e6371337120d9b37371a0437b94fda351ef854388cdcbf38bbd6e335932e633647df7c361e1a9136b09d47360000000000000000000000000000000000000000000000000000803f00000000f133873633728937a901803f76ea51361669e8362ee43937a2b9653fd10abd36f0dc1f37ef42a338ca23333feb41ae35072ee4367657183757db003fb705d436d5e912374b88a73782cc9c3e9110f736a5afd83598fef838610be03de772cb3568b5563623938c36cc2a493ca7ae3636000000000000000000000000000000000000000000000000000000000000000000000000764a8838863ea236956e6536e78f9331a7e8d338641e95378d126a3300000000b65a5338dc9020368504a9356dd165328c7da238a1947735fc64283492ea0835364ba838766118361d0c9335000000000d74de38fd6e653500000000000000001eb0033956423a340000000000000000000000000000000000000000000000000000803f00000000000000000000000045d7783f656ca036a8b76636d0cd913189095b3f584514387c4533330000000065262c3f934a283696edac35b412633297e5fa3e7b6a703527023134fb1a0f3546389d3efb7a15366cab9e3500000000ed5afc3d82245f3500000000000000009bb9163a000000000000000000000000000000000000000000000000fb1ec6321912b737318f033d8983bd35000000000394e238fbd6c83cb75e0c3633e8b735460c0938bc298d3cb42276364a2eed336922d03725fe533c93ae1c361af9f434419edb38799e883cad9a28363f040a36a216573789334e3cf57a8936f996bc34ef5bf237ac22793c57741636c52490347c1fbb38976a6f3c70aa1d367e73f43530d20e3845dba53c5db76936e2dacb3287cb663fdec55b3dee12c135000000000e68603fe92f803d87690b36c6bbc1350287453f5ba5753d7d1c7336847c4a3409b4183f8db26a3debb8193623120d351bddd53e99ce533dad6828365ed20d36ab67723e84aa4e3d54d888367375e834e0a4643d03e43e3d51f81636bdf6a9344e4b3c3980a51f3db8e81c363659f435934fc538303b073d496667360bcd1535fface23891412c3d54907236251ba733297b12393017303d045cba350000000082951239eebd053df51a32351e53ab3361c480382d77063d60bb423608c38f335e8ac138d7c8f43c3e1fc3348d05633292921e392f6e013da360d63533c98b3360f91c396cc5103de3ae2a3600000000b72c97384c45ce3c88530c35d2114133f7148e3887b6003d06793b35be192a35d11a443fe020363e4f516c36f31aa9330c733d3fdd10383e79e2a83500000000c1aa1f3ff786343e86ac14353be6f83363a6f63ea857273ed6e441367a179c33bfcfac3e29c5043ea9fbc534edfd5c3276373b3e8301ca3dc555c935741ec73356c6433d5447843d49242936000000008e0c85392bc0553d8430df34f6fe42330d175d39ec6e3c3dd6592735d8275a34473917391591b03c8aaf443500000000709c38396be99a3c42b1ce34fa33913426910339e8ddea3c26413735cfa6d535e8f62039dd03963c88d5783695516633d3452039364f8d3c9fa976344b3f3836a7831139b28e993c96c7b6360000000054a61939e823a33cbcef7235ede39933a160283947b4aa3cc78fb034dbd1a3365321cc389111cf3cfd150d377e908734904c203fceeaaf3e036b0a3500000000cbf4153fe33bb03ea46ebd34031f9e34c559fb3ea483a83ee2582f358360f535fa35c23e04df8d3e162b6e36ddd38533bbb7843ec2d3543ea22c803416b846364139173e08c31e3e60e5b13683981332fd8c073d8fdfc83d33364a3509f5a2338d407d3911de293d37ada934c04fad36c92dd23998e6063dfa790a37d78e18367e6e09388919213b22590d36a473b63573100c39e35dc43a9c90da35d542fe35cab362389307a83cdfcd1636a1913a36494ca037c0f1363c4e663a365cc78c35461d1339616ed53ac4f2a43522c035364b11a33723333a3b34564836568f0c3686c67338a80d473b603305368be3c135118cf938b3beb43c7e1edc3509311036776a1937e779663c31bd2836e4ab1b369d14f23e003dfe3e777d0936fbfeba3536d3dd3e762aff3ed465c93586790036931bbb3e7700e73e9395103696873c36361f903e4ad1c33ebdfa30366d95913593ea573e9d60933ec4a59735077e3636a1e5df3d676d5a3e464e4036d36c0f36f3ad033d8063033ec865fd35da28c935b4fd3c392249383dced0ca3548ca0f36e47a9f38d1ab733ce5402436af6008373f201239ce45593b75adc036fcc59034f1c94839bbea193b9490a533b2c70835ab6b063938f41f3bcce2423487b9a936a1832b39e5c51a3befbb6f364e158334bb631439b8907f3cce169433187a5b3619522a3919aa563bf6582e3653e12f3545da2b39b1c8893b3c29ed343f5ba834c93f1439943ab33c3c499e338673ab34ffa6e7382f349a3b12803935362f08379e6f9d3ef682213f3d1fb43682ba9234240e983e1a88233f0033a03389832b35acc5773e0ce31a3fa4e57533250dad36a6f93c3e07f7fb3efe3a5536100d833454d70b3ee36dba3e0de98933c032683604658a3dbf89823efab71036c3de33359bcee53ba116103e1337c134e654b83484645d398e32f23c00000000ef21f03444e921390a1d8c3ba2ecb934b9191935d23e273930bd273b76936f3327a08f3403f0333930033e3a000000000a212336fdc11739f2558b3a561c1534a560c03554381c3944b5ff398f5249321945c63458c6de389956a23a2f1ab33389b43d36850fe7383076913ab93b6134297e04350d394b39a04e623b000000007685993528a71c3993d5da3bc959a833439e6136f49f0639c8d7a53b8998ce355bc0233590351f3e45cb433f70b247335915a434e798183e85e6453f00000000e99123369aee003eeec5393f6024ae334d4fcb35a790c63d8f03173f4e6f5132f0dec7349c288b3dc369de3e2b35a733c0543f3606b10b3d4d1a933e3b521f342c59153574bfb13ce605123e00000000cb58a0354a0ff53b362fc03c7306af33900a683630b29d3b1d499d3b5ce78e35dd676236bab2a638bfcbfe3af1f3ff357d70193657391d39ffcb4f39abd106352c651c36372798383e736d39e2c11c3506558a36c1fd843800b30e393b7a153693572436c5bb1b3956a557396bca4c35b5b71f36b3069838f29182391c28ff34083e71366156d63835828b3ac61fe6352d9a0736a11c2b39e664333b396f2234ad55d03578ae063823e6763b22af8634d80e6436e65a263dac8e673fce32ed35d71d1c36c224ff3cc0436a3fe40da734e36d1c36b9daaf3caa715c3fc1b4ef34d2288a36bfa2a63ca11a2e3f671c0a36c06b2836122cad3c9c62fc3e9332213572ec1f36787bab3c86fb9f3e206da43498b0733643f2973c8e0d073efc73cb35571c0c3616e4ff3b21dad53c00000000df2bcc35af11a53b390d8d3b7f021d34000000000000000000000000000000000000000000000000090d1a390000000000000000812e2b346e93dd3800000000c7ae9a35ae4e0436dadad53823e50b3548d13634f2911b35fdb10039301c6232a4c9a9358772073678b3e938000000000e699a33b1506b3474085439b7339131b2cd643621bb933609288f391afe1b340000000000000000000000000000000000000000000000000000803f000000000a61ba300000000068df7f3f0000000000000000c64df434e475603f0000000031c19e35b6bc08368f65313f5f4b0f3554713834eb6e4a355b8e023f431663322dc3b635a63f163695b8a73e0000000075288f3321ec883785af133ed0d691317ee1663622819a36a0b0e33c000000000000000000000000000000000000000000000000000000000000000000000000e3c0c73452f0e334ad01fe34ae690b35f8ae1d33cd552e33a909673389b483330000000000000000000000000000000037200134a2fe0b34fa73a834c8b57f34f6a77333d9c139341e23d133d1f7953300000000c5d86737dfcab73600000000608b193491421837e3c4c13484f23d3300000000000000000000000000000000000000000000803f00000000000000005ee2b03499447b3f53c98d380b202b35987df532cebb5f3feb6b543852b88c33000000009b8f333fdbc9603800000000e7212d34f1b4033f87ae353763e7dd34000000004d0fa33e0a1ba6394ca53f3400000000aa44163e607f4d380000000000000000b774013d706239389c663034000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e6518731a1a1a333205b90337392423300000000a9bf3b33389aad330000000000000000425117346c303c3471fa8333c2df3c334fe5e733b388c233d1c3b33300000000d68aeb3553188233b9a9be32000000000000000000000000000000000000000000000000000000000000000000000000ca51773f7b67343d0000000000000000c4c96e3fbc205e3d0000000000000000cc70593f5d65d03a309b103300000000e3f22c3fd84d803b0000000000000000efcffe3e49f5113c4a2b9b3300000000237e993e07eada3c387cd3330000000063ddff3d24cee83c503d053200000000987e333cb61b0d3c00000000000000008403b337c7eb1638000000002a118c34d87e8134cf5f97347fa267344afa053426d8203436cd00347828dd33d18db23206a00d33775b9d321af9b132a0a75e34e55d9434709cab346740a634b05c4434d0fb7d34edf89534e792af349e709b3137bd80321b2c3232e4284332ec18543408829434b465af343964af349d7b593486bfa034c175cf345c09cd34f0150034b87338348d8966344960fa3301fe563472b65a3f25cc233e0e0b8b34d5f59133db5e553f4895293e8032fb335d5b8d32d4af3f3f9de1e33d5c9845322d5f6a34eb34133fb91bd93d7cb28c344fb74c347364cf3e2cafce3d49e59e3400000000a481623e9f7dbe3d42515a32cd526f3439f9493d1198b73ddc509d34439f56343ffc293a4b82283c00d5c534670a3d3244a28e3450d0193af0bb4634e0e70a344e2257341e1c1639a5783d346bdb6d345d468c3401704e3443dc2e3425e83234d66a5f34b51e2c345d4b1834f0d45834d33fb5347870ca345ef186340b54f633c1f62d3470034c3494453834bcfdf9331bd6a335224f3d34379fd4337e2c113391d0d53306cf2634ffaccc3305b35634df6c2734e7998a343c607a34f6d2fb343736003500700235c4dcdb348fb8353486ca313f023aa43ed2cfdb335c406334bbf02b3fc6c9ac3e3e032134e3ff4b34d727183f4207943e76cb003498c96534b34feb3e9f5d793e0a1b1034764cf033450c9f3edcf2413e826457344ae7b833363b3a3e106b1d3ec9b0333486c568337423343da7d9b13de7dda8333eedc433758e963a5e08ec3bf6899534286bbe34e7a96c396bc88e3ac222ec3424ab19303e4d3730e2ba0330f1261330000000000000000000000000000000000000000000000000df5bad2f0000000000000000fb246633da71c33388cfc43000000000d656ef33bb69193417e1e132000000001b416633fd4f45334684f23200000000f9131737f972043600000000000000000000000000000000000000002a78fb2f94933630074a48307af70830aaf7e82f2af2013f5293033fe00c1830000000000de4fc3e3b30043f0000000000000000b2b8dd3ece0fed3e00000000000000005bdaa43ebc96c13e00000000000000008a086b3e05b7903ea2ac103200000000817c0d3e85773a3e1a6eeb3200000000e1d6373dc11d9f3d0000000000000000050c273b60ec773b000000009ed0053017ac08396ca59039b792193052fcc734fb44fe34444509356ef48c3453704134d24845345631e634acf78c33ec53aa33cd3fb933d9c36933b3318333f61b5d34e7c61e3458c3683433a20e34c44464346f793534ff481c342a732c345b1360341bc77434e51e37345fbbe233965e2e349acf16365acb7f34e8a15d34efae1534a6bb4f3446a7843430a1833478e454340ce32834c1ff573480222e34bd12a034e6c2a23ebc75323f55bb86341cf8fb33e785a43ed947303fac548f3298a2c2333f09803e3645233f47b02b33365dec33e5bd413ea402ff3ee7617c3323b53d3483ec153e4a1ac03e693af8334e462434f500cd3d79645e3ede932d3494a427343887943df864873d997d4234e33e1b34695fb23bac2cfb3a4ed177345f1091334942743a3d0b133a9b6b1d3401466034ea714d382c1ad43429340b346f32be34627cd534357aa134f1557b34c1479134c2d0a534407b8234f77a703431e71333144de533d67efd336624fd32d18f8a34eb63aa3499268f341d52763420a79a345a0d2637b42e9234fdff77340000000009be02361419273383b6ea32ec0c2834cbd441348c728c34a8d42a3417e1bd34ebcfac349ff8b634cc069a342bf38d34d8d91b3ed7705c3f4a115632eeb8b934008e1c3e8dec593f852a5f340778a7346deabf3dc028493fd27e4b341de14033286d9c3d3a1b203fed4c6d31ba84a034f8a0923da0e5e03e91ec473477f8a834c0ba9e3dedb8853e3768593441c4ba313f48aa3db00b953de65ba132bd3be833b7c7713c983aed3ad6975f34d43ba83485fc223a7f67a836bcd18d34000000005123b937000000000000000000000000000000000000000000000000bb2046323d23eb321150853237d1c232b886f53038250e34d3562b34241ea1330000000043797034f2885b347cabfa330000000015b9cd37420cfc328447bb3200000000c942ea3639a3f533904f95320000000000000000ac699b330000000000000000000000004ab073320000000000000000bee5323d9f49783f0000000000000000958d293d9867723f00000000000000008f521f392be75b3f8ce2e8320000000027c32e3aea062f3ff19546330000000069610b3cad02003f2381c033000000006692db3cd09c9c3e2d79b8320000000003b8273d8c5df63d00000000000000001cf0043c441f6d3c0000000000000000ad7608390000000000000000000000000000000000000000000000000a095834d45aca31aee7f03250048c3300000000000000000000000000000000dbd15a3425bb57332648f0332761e6332005db3422494c349e3ce03372f8983400000000fa8cf637a312a4370000000009772a3342ea03381641e037110c4133d0c70035424ff234cd55e7347cecef340000000000000000000000000000000000000000000000000000803f00000000ca3e3c3335ae303858617a3f00000000000000002fb10838f4005d3f00000000fee0863308c7a638345e313f850abb328a058d346292e23784c2fe3ed2084b3400000000a208a138ba9d9e3e00000000e264943287a3b138d58e083e8767cd329000d834b6a8b439dd40de3cbb6dea3400000000000000000000000000000000000000000000000000000000000000004aeda334353d98344b452535673f4135000000000000000000000000000000002c31513429456d3448624234b2ed273408073c35c65806357ccf4a35e26e8a35e9079c3498599534adfe5c34140ced346b5b8c34fa4bfb3452d4bf34dea7b334bd7d213430ba28343e76a7340d36e33400000000000000000000000000000000000000000000803f000000000000000017db8f34948b793f0b4c4735b6a0473500000000f8cc653f0000000000000000a5686a3426fe343fecef4a34b9751c34c54a27352507003f76f58135abe88c35ebcb7434fe9f963ea2e26634be71d434310e9c345554d13d2a89b93452e6bc34320a1834b6b9ef3b899bd4343c1abd34000000000000000000000000000000000000000048d9a03448e795330000000000000000000000000000000000000000000000000000000000000000000000008ceed931d60c0032329ebe3190bd8931ce78a1345ed19f3471b47b34a785ea33000000000000000000000000000000008d090d32fd84233237b2f0375d43b1318bb30b34864537349ad21d3471944a3300000000000000000000000000000000000000005a11713fd49b8b3d0000000000000000f01c683f7438973d0000000000000000e215563fd728253d00000000dbb8f131987d233f63773b3d4ad63e3171069234eea3e03e6bca653d503f7d3300000000acac703eb49a5b3d00000000190a1b320edc333db88a733d37cf7431829a0234bdc62b3ad1cb093d2b61813200000000611d283732dcc83a00000000656fc931fd089c34b8d5d034c3c50734b1f8cb33a87232348d91893448b8e233d4b4b533f35f0334e8112034bbb5083420488a340f217f34719188348d6d71342713b5345d5d2e35e6234e35cf5ad3344007ab33efe03a342760df333343e233ce5c0f3453ec15342c362034b29bf8333c86ca3401076d356cdb9f35438ff234000000004732a83100000000b0ee8b2fa414df31a453523f19a0443e4bed3031732298330c614a3f6f79423eb88e123419bc853342dd363f6e97263e68dd223431545a341fce063f8ce2163eef9769340f1bac341081b13e747b0f3e28d3d83411c27c33a96f193eb6bc143e7e0fe533e9daf4332d13a53b9d3aef3d9c45df332a0db634f8f3c539d605973deb73f1340000000000000000c3920a3d48604a33000000000000000066bd653a0000000006f51734903560354c89183a0c9c46343c8abe33d1395434305e0a34a91dcd3300000000301680325445a133000000009560af34d44ad93441bc73399f2982345fb00b34967f8634e3a89239a6471a345991543488237e34ea73cd394843043487a611346575613442650a393b0b6734e4f312339a2c87340a0a6039ca7fe0330000000084fc2b3ff4c4b03e00000000de820d3449cf233f2877bb3e587230343bb0213359060e3fafcfac3e1c97db33a34e1d33643ece3e1b99993e00000000bdbaab34d133813e8d60793e085b4234cec3a6336ef4db3d771f453ebb8a1634226569348e89323b634df73dfbe9b33372e51434afe0433a3867473d2b153c3491a03e32c8b869391ae28e3ba111f633000000000000000025ef9c3900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000909bc6339f8ce83331be053a424fc13200000000000000001506e0390000000000000000000000000e222f3a0000000000000000000000003b67a03900000000000000000000000038ac393a0000000000000000c46eff3e4740043f00000000000000008d0bf33eab68053f00000000000000002915c83eef63013f0000000000000000b7958d3efdd2de3e00000000f426b933ec373d3e7f08a73e00000000000000009812a33d15336a3e0000000000000000dbee683bafe3f03d00000000000000007a7a7f3ae7bac23c00000000000000006f72513a215ff53a000000006445b6331752dd3323b27c34bd9f1633de4d8b343b019034daad62349bdd1e34aead0134436a3934113563342eff3a34af3c2d34c81cd133610873348c160d34bde7973464932935361b1e351128a63400000000403533333fce9339709bd4314ebde733aaa9ab33309cac380b77b333dd7d863474858c35b60e443aca39f73300000000000000009ded97390000000035aebe332d96a63e4a1b303f65552d3216098434dc84983e8d922b3fa6662e343612c0338d766b3ec7d82a3f56575c34018a20347662253eb6da0e3fb80ed233d78d9634a87ee83d7e71d23ee00ba73400000000bebd6c3db026853e16209e3262b41434007ad73cef0ed23d84dec233974f89340905003b2a2e093ce17d1034000000007b02a43a4ecbda3a000000004f7bff32aa0dc4391b6fa731000000000ded0035e1207735612f8535f7d3bf3467f1d333bee507342ed71f34dc12ec333bafd6330abfee337e5a3b34599a80332ccee434d33002354ab2fc34db7ca2349ac646346238573482f481342cbc4134a3381b347aaf30349f4e4237df0ebc33e659c533506c1c34ca5d7b34faa9ab3349d1a6335246ac340f919b347ab5a833bde98433c884203e222e533f0000000049c7fb3463b4003e55c9503f1b388f34645ac1337762af3d4af24e3f8406d133dcf3ee338e3b853df426283fe86d2e3328f4e1340c58873d7880ed3e64a66f3440143a34cb33883d0e0b8d3e36d7343452c62b348e79593df438b43de3387d335773cf33b670e63c0fd2d33be9bd0e3356a36e33f6a03f3a110e493aae86db31000000000000000000000000000000009de9313418b24c34c87f2b34654c79339744b031e62be431443e14329c9cf73100000000000000000000000000000000d01386342b8a7234b91f7a34ce2b303428718c31d4d0ad317fb8dd313d6cc63100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f7e3583dbdda743f0000000009d41c34941dff3c4599713fdbe58a323e718331b3152a3a046d683fc3b1113200000000c7fb663a10f9383f00000000859d8a34e5aa263b5e1b043fb6290a3457ba4f31d4ec7d3c1c03a03e2e4aea31000000007a48db3c9d4ede3d0000000000000000f3c2563a1f29ef3c0000000000000000f51b233abd67913a000000000000000000000000000000000000000089572135e0dd9c3432b960343c52ed339e04ae34b72f8e34936c993478a49834734c4a34902a64343b828d34b30193346b2eb33531e170356ee56f350a5deb34bc55403493443b34ebb96434685d443400000000000000000000000000000000f0d25b35bbaa153573e41d358a645d340000000000000000000000000000000000000000000000000000803f0000000005351935d03c12352610803fe7b50d3479ffbd340221bd344c73673f70629234d826aa343d3f8d34d49e363f49b05834354ab3351c8bae3524f0013f28a8f1347e1532347bd54e34ca069a3e512763340000000000000000aa58df3d00000000e0c6563545e64e358a4d043d70715934000000000000000000000000000000000000000000000000000000000000000000000000f9cba03964260939c47019340000000095fea63912644839000000004fc8ff2e4dd36a3949ed02391bdbff3200000000245d9639c278cf38558d95341ca75a2eebcbbe39afa0dc389b58bd2ec1124c30833cb539de5b9a372c35af3000000000e6eaba390497f8380000000000000000000000000000000000000000000000000000803f000000000000000000000000fb09753f89e11239cf5f1234000000003555673fd5a159390000000000000000f762323f98b219390000000000000000332cf73ea981fd38f82a843436b3612e9113893eec1be93885d0c02ed28f5230ebbc6c3d4e14ad372a21b23000000000df26563a5c3600390000000000000000000000000000000000000000d625463262a09d39757afb3c670a9a32a3289b30e7c4e639a301be3c20e9a635000000001006d4392767a03c0000000023775f316927b939331e9a3cb3240d3200000000e480d339a636ab3c95fed035000000008fb7da3989449b3c000000001efb243213b7c339a0b5b43cde21993200000000d26ce9396724da3c44af5b35000000006e8782390fc0c63c2babaf329df93e3242c6613fdb31233d0649ab321eac9130e09e503fd65c423d5322b135000000008568463f6d63563d00000000b7d96431951e0e3f30f7513d2ff50f3200000000dd67ba3eead0453d38a6d9350000000038351b3e22b5473d000000006f37293255ab0c3af96d363defa39b3200000000bd1a1a3aa78c323d9e766c3500000000f552ab39665c0c3dd19fec323082a3335a8cbd3995d6a83d81dd0134f47d7a332613d9394869b63dfc10033400000000085ea739b733a63d0000000003ba16330b97d6391120ab3da0e77833824b0731f935b239c56cb43d5b5b193300000000ed4dc839c47fd43d000000008deaf0308a0ab239516bc73d024e313221a251339140b63989c2a13d3d2fd533000000008b1e7539b30d8d3daa11ea3208d1af3363bc3b3ffd4ffc3d0a6df2335bb56133bfdb333fc9b5013eecdcdd3300000000ed4b1b3f4389003e00000000143f243388fbd93ef7cdea3d88c06533c98cb630cbfe843ec74ece3dc235e63200000000ff079c3d2a43c03d000000001ce4ca31e289e4393893b73deec2d13146914f330849e9393781bc3dcef4b73300000000d2fa9939d8cba63d8757de32ea04ed317e80a2393af2b33d7db54233826edb328db8003aad88ce3d112f28336062272eef4ce139546ccd3d4186033100000000d7a7b33905a3ef3d000000003e1da930c766ea39f0960c3ea567a830a54aa03290ede8398c9b0d3ef980aa320000000001fec539c1b00b3e0000000093931d337d7fb739b9ae003ef88f5e33c5088733e7e59739fd70d33dbd9d8e3389f2073271140b3f8832883e03b1a33215aa1d337ec5fe3e03e2823eebfdc5325e992b2eba82cc3e2497823ea420d62d0000000030798a3e0cbe743e000000007806b13050e20c3e2343563ee6189430f467a4320c46e13b1b55183e58e39f3200000000f0c5063a509bb93d00000000ae4d7c3392ebee39a502963d6e340733c4bd8a3335cae7397b715e3dce478a33d91867313124d139d2399f3d0000000000000000d1b3203a6233b43d000000000000000051480d3ace12c73d0000000000000000b1a0183a1e2e063e0000000000000000039ff739158c013e00000000000000001ed5173a2e7f133e000000000000000039e0073ac6a60c3e0000000000000000dd800f3a1348103e0000000000000000efdd9c394642ea3d2e7ef43099611431d512b93e9345d73e00000000000000006738a33e7c05d33e0000000000000000fc69813e656bce3e00000000000000003254173e8a38bf3e00000000000000001973a93dd8e0963e00000000000000003b9b813ab2e7573e0000000000000000813a203a0892f03d00000000000000009a8b283a570c413d6ab9d32e000000008570c3396da6093d52ae8031b2e27533d835f439b41a3d3d7c70b1334b7a5d337a4c0d3aa2e62f3d17b67f33000000008b0d163ae24e843d00000000980f8d32f325143af9f4e93df2c1da32d5b2643049df093a03fee83dd281f03000000000153fec392a9ceb3d13df8230098acc2dd4fd0d3aed47fa3d7dee51317c811933ccfc0c3aa322f83d55f31e3379cd7932482e9e39975fc03d7efa1f32e29782330b36503e19161a3f0950a53390a33f33ce44273e24191a3f34062433000000004f4f053e98c0153f00000000c7039a32e707913d369e073fcfe1c732285c7d30b7ef2a3c875ccc3e7e9dd830000000002ae95e3a141c883ebf29a42fe870c33068fc2b3ae79f053e4c422e2e07d01b334f8b293ab268013de3efae32cfd6a432487b143ae92d8e3cc5111032ab5be2321461aa392d5f9c3c51a2c3327d22c3339bf7fd39fba5bb3c20b26533d3a05f318d91db39f2c4c03bf379e931000000008337df396f02213d00000000cd61e5321f8ed139acb6213deb68a93160c23a33881ff439aafb4e3d96f73533000000001cebc239dff6593d000000005ca8d9334764fa39e0e7653d2bca8533a088c7334410cc39ec82163d0ed7c133b577fc3248d2953d568a433f000000004f77d933d035483d3d5c433f4266253320d73031d8fb103d5b3e473ffc75d73000000000fdb7a13c38662c3f000000007c781b33394aee3cd9d0fa3edab9c430744c3f33ccb2ae3c815b9f3ebb6c2a3300000000fb30653c556e013e00000000aa780334510f153b06f0f73c35883733b51ecc337ddf483cbc6d9c3c0b71b833f5bce332a7dcea397a41b93c000000003e62723536a93b3aeb016c3cbc6bc92fd3a89632792f1a3a037e293b35602e320000000041c1183a6eddd53c0000000034a8df35b7ef213a78080a3d00000000c5390b323702233a7b25753daa0e70310000000037f6333a4b1e883d000000005e06b735e743283a24ce933d6e749d304ef192325cfac839e931163d9f954a32b8d2b732780e5f3cadd9683f00000000bc9180355ad7903a71da6a3fab49f02fb5489a32170e323a4ee76e3f412c2d32000000001d1c333a8112423f000000000bd1e5351daa403af32f093f0000000076450e323a78653a93f0a23eefa36d310000000093495e3a247db83d00000000ab8aba3514a83f3adae0373d75d0b430053f98325f63e53951f0793c38765a32000000000000000000000000000000000000000044916738ec9fdf39000000008598ad30b10dc933dd82c83979ad56309914bc2e883de737cc97d439ac17662e4dfd86340958263874fccc390000000000000000b991a638151e393a00000000000000005fd41839034f473c000000000e2a043428c79438944c373c000000000000000000000000000000000000000000000000000000000000803f00000000000000000a5bd8380532803f0000000016c5b23056c24734d8c0713f710e54308896c12ee66ca9384a1b3c3fa57a632e6d389f349abbd2383fe0043f00000000000000004ff30539715c9c3e0000000000000000b0d74c39473fb13d00000000e0872d343100fc384d990e3d000000000000000000000000000000000000000000000000000000000000000000000000a5180637f78227379c0b2a3725d6bc37e11d9437cf007f374042a437881fdb37711b153897fa04388f2b13384baa7e380429a63744d9803769559837df5f03384bc9a93738329737fb6dab375944c5374f8ae0372ebfd6374c43e837b542083866cb3b37d5ae773729946037c930673700000000000000000000000000000000000000000000803f0000000000000000c66983368e5a7e3f6b2b2238f727433717213437cf66533f5555fb3726b1b937c2dafe373f002a3ff446413948751a38fc078337e864003fe1511638c124bf3784c985377becac3e869dc337369bba379d12a137d452343e933721385d61e837dd01f3364bd9003cb38e6b37bd27633700000000000000000000000000000000393629375448ff374c1c0138a944e4372b927e351d68c836427a6637c4c52d370758f336f4f64337fbacb3375fc6d037ecbdc6377068da3745192838b74766381edfed373bfdfb375bad2c3a400e843a0bf3b23735b6be37872de937a0b4f937dc278b36c268fe36c8e56c37df73b23741b73e379fe7d637674def371cf2083874f07a378761cd37b2d6da372f8ce43794b19736ebc87b3f43a3843ce757ae3746b8d834a859753f7423083d26c4c036c10f0c36eb8f4d3f2341fd3caf5f853738549d375aad263fb047b13c18f20438859a9037fbf3f93e092a083c4340093aa2bf4f37c554a53e4745c439e42be4374e0c463657e92c3e49d6b938672d1b37600cc1366614523cea154a3877d9b73777ebe236e9e3f4372aa7e6379f99cd37ab366437853e1b38e8821938802fd437e202913786a90438dc440938da96ca3732a28936f8351a3786514737cd4351374a70c9377f332a38ae3a6438bf2f7938c269ae37a906f7378c232638a9621d38f1fecd37d19a0338abc2383888c04b38130e0038396925385d94343811812f389f66a437bb870438ff570d382bcef7378a8c0238a29c1c388fcd1c3827d51938f29506365171523f25ec353ed8206e3782b6c0369d924f3f944d3f3e3d4c93371c3b2d3653a12c3fba412d3e44f47f36746b3737fac60e3f7ca6f83d78d1f9375255a736382fd33e8812b13dace1ad37a16b7737a8f08f3eb90d1b3dad75b73735c59a371c65203e63d8b43993960f38514a0c378223093c96ae31389af9b037e8d1d13792ca24386f7e1d3872bf0d386439f637cf115d381d3d473802600838451728370d66f0371bddd9379d6b4a37034f47375d8ec8378d80ca37723e9337a527f13631df0238cd9e143871a9b5379bc7a13785d3c837ef7ad4375eb1c837a8f9b537b88c073843ff1b38bf13fe37c3f98a37c649dd3788f9e937400fbe373fd13037ec808b3770868c37930b57375d0a8037cd5eb83720dab037cc899b37abc62c374aa4293fdf76ac3e1e26b03787440537ea80283f42e1ae3e7d3c1337de6f1637357a0f3f6529943e25671f37cc2985363af0e73e7388663e37fd8e36dbced7361379ac3efc1f263eca0e7037091071376be1663ecd1fc33dd9e492373a5404377d44f13ddfb3023d5d49433700cab436ba20633b8db4d937b00915373a59f736c08b02381fe5da375e6851375a0cab379ade3838ebac1338dd238f37d3b9d736c78b2038ca27e137f5eac1368a47d6372f3ffe37aa9fe8371e8dbc37849f94373764b037d94ba3379c5482374c85dd3742deff37c943f337ffd0d03710c1a0377b85bd378fb6b0378e1e8f370ebbe6374a200438263001383dc1da375ad938373d6cf737bbfee23745653b377fb9c1372d19f4378b30eb379514bd37a681dc363e64003f1612ff3e189bbe36d1db9b3692ce003fb03ffe3e6c7f9836343d3e3781f5d83e71c1d43e9a0d2237fd6999361ba7af3e16e8aa3ea7d49c36962383372dd8813e012b7c3e238c743784071e37067c2a3ed53f203e23dd0937be88a2378823ad3d9f639b3d1599a137e1dabc36c0b5893840007538c633c2360dbb9837b9df1e38d45914381a7597374a096b37903f203829580b38033bbd36aa1d38371deda837c1fa6037fdeb9136f225ac37f51bea379ecda937ad9d1f3743b9e437f81021382052d237c8c49137d3f8ce37ce2ee2375bffb73703469237f636163835733838b420e837741ee93677bebd37acd0fc372590cb37013d8a37b969b1373d57ea3776a4dc37b8757f3706ee25383d73393889ca31381ae31438f8a34636dc9dae3ecf9a283faacf3936aa8813366756b13ed769263fb8fcc7353a36063740d2983e4e380d3f2493b43609d082376f26723ee29fe23e323663373fdb73370917303eb447a83eb7bda536afcbbc36dcd8d43d69f75e3e44c1893666005137e9632c3d3bf7dc3d5be22037960d2a376e8c2538c0fd24381a951d37708d0938cb1a4b380c834138728ddf370fef123882d942389ae52038550bbf372d03db3752f816385b19de3768150c37b2ff2438179a3038b0b60938c624b73707283f389f583638d712c137e69b82378ce52038c9f71e381781d43754958137b18a80386cdf7538a88725382ceacd3710b371376ea58137e8e13437c661ae36829afe37f1270d387505023889a9a1372483f93755130538a18df2371155a7376afddf37b001393ec0a7513f971f1037cbee33371712433e41084d3fed53e736e3dfef37bbd3333ec5c62a3fe9e97b36256aa53736c9083e5c170c3f5c1469371e3cbb3724dac23d24bfcf3e25c793363145283832d4383d6b028d3e9d863a375e631e377c3c033c4dea173e3c623d363765bc372e0f983876da083b3a6b793704abc8379edb1838f1490f38f5b52c379168da37f45404389b88ce37e03094365f02d6373f010538a5b05c37ac56b53693d4b8378ed73737eaa550361bee4e365d81013859d0e5376ec59037b7b4863787e9893acd4b373a3bcde637de68cf3773c07a3837884b385a50dd37c9c1c237a9c4db3716f4cd3778a088372949073711d4b73702b5873750571b37e25242364061f3373c4beb370889cd37353b7f37e1789d370205a53c55c87a3ff51f4836fcdd81377835193d2116733fc1425d36f261f8360aa6183d3f2a4b3fd33716368967d73738ecc43c9505273f307da43606fc133ab4fa853cfc00f73e64b37c37413e2b3877640a39af58a73e6001a537d253aa37b55aaa399c8b293e522e383604881e371d382e38e00a053cd219453574a5de377a4803383e2af237a87a063700000000000000000000000000000000d3df6b37204f4137c3edfe363b56b7366be425381a9fd4372534743787468e379ca2c137f736a737e36f7637113e8d377dc108386b47b137e1ac7837cb0c9537fbd85b3801aa2138d77e0d3869001038b50bcd37aa6ac737672bb637f78e9737436fce37f67fac37f692be378c0d37370000000000000000000000000000000000000000000000000000803f000000005e375437fbd1b8379cf07d3f6e903733c9b3e2372a93cc385dd5523f22791a377a5cb237a209d4375c74293f125a4a373119c837930fcc387003ff3e6e0f5f374d33283826d08c39c58cab3e313e00384512ba37648a00384f14323e721b62373d8898374a4d06383f3bca3b8ee8aa3600000000000000000000000000000000000000000000000000000000000000001867a83653819b393d760c387c508d37b8564e37f8f39c393d532a39216c0239102119381b3e6d3819ee61388af55738f19bdf378706ed38fb78e8388f3e2c397cf4a137728a4b38d63846389b055f38bee9ca37ab27513893c743383a873738deebc4364cbad13704ccb3372794793700000000000000000000000000000000000000000000803f00000000000000009c8cb53569ab6f3fc828743902191937c347093725fd493f17920e3af312a83726770438a341253f0bef91396cb23c384c43c83709c5ff3e5ee1c539701342381cc23037fdc6b53e05b6c738bb9530385e567e376115583e89085f389b09223825d4b0369f02833d3da1c3378b143937000000000000000000000000000000001fbc4e35075cbb3803fff837a60d2b37c204aa343e66f137ffa0d13705ff203729b0eb35361e32388eda21389e1b753766bcb137161f96391461e839a6768b385a73bb36e2acbd37117cdb37a916c537637b93360bc00638da444238ca8bf1377c8a4237a84528384976393813c71a3802df84366f51d537ba82e437492ea6375dc0cf36244f1a3890e71838f3c1cb3711801835251f6e3f916a8e3da57ec536f1739f345ed35d3f9d26953dd4e58b361c87e035749d3c3f3a0a873d5d3d3237fede6d37a8d91a3feff0453dee2204383eb31336f48bef3e6301003d9c8aae37884c3d367dbaab3e5b5f133c39289237336219377c6d4d3eee24de388461023891bc2c35c466853d8192003871ff9137a0c094367307473864831f3875579537dcf305370483293a42d650380c644e37486774355c89193a5a531539fc5a0337c9dd8836f7f2103a95fdc939dbe8903710947e37ab9c56384ede4d385625ea3732918a36319b1b384b063638299d823791aba036496c5f389cef70382ec056378e003d37a4597a39b3c9b039d2551038e0c9cc35246d5f3865faa837468b5b3650ade736268235383a1b0f38f08e86373375e2369d30493f8c505a3e8d3a2937e1ce5535865c3d3fb405553e1e3c8735f1fc3436e4071f3ffc83363ea2702837799914377316043f85380e3e6daca63736b390354297cb3e927fd33d74b537376137a036df67913e5c09753da32ea7361b11ab36cbd4303e6c09d43cdfb7bb3708f0cb35021b673d00b0c639f1b8e435daea163605107c38c15d3e3882923037780eb73723929438698582382188c337dfc44f36bc55813aec361b3af2ca4f36373509375e784b3abc00f739b8742837cace863716d2ac38e6d39a380de08d373f67be36b0c12b380491253850884137a9d80238b89ff838b5028438a0bf18385cb6cb3672fd213861d01f388948fe36ebede13548391c38834e11385319e7358f7bb037f6c419388db7143897c0c637bc606c374761253f9d0db53e08049e3771bf4736d9171c3fa157ae3eeafa4e36e6515936a3a4043f2c39923efb895536b5826f378633d93ed1da6a3e77c7843788dc66363832a73ed5e8303e226f6d3654d1ab37a1ef6c3e5171e83d96a0f837d686ab3619ca0d3e90146e3d56b6dc362970df355291453dd19f5a38e0e9e53579019a3771fe2f3835eb1d38c175aa37472655379881da39bc80273955bd2a37a6bda937efd1b6398d356038e2122637aade643741408738f03d5e388ccd443706d88f37782f80381fda6038ba7e33372f87b43752c1103aece1ed38393c863778c09737658172388b295538302e4537e0f380371820653870e44638f6ca5b3708d8d23704855838acdc4d38d411b73770cc9937fd755b38e9702d38a7268237ac4b21377a3b003fee0fff3e90bd1437faa3dd361accf33eece9f03e1daab735ba653a374444ce3e70bdca3e43062937ee51223783d3a83e0b41a53e95bd1937cdaa5937a731813e95d87c3e34a2223708522e37d250363ec4472d3eaa542637b5f34b37d4e0d43d55aec63db5494a379aaf7737fd59ff3ca83cb03c5358673786033a370337dc38df99553876633c371e21b937eaa07739eb273438aa798c377950e435549b823899682a3871d4da35b0be013725762d392d29163830d6a2366d85243830e9d239660672387983b637ffe69337dda43338574911384c286936134c93377fd6a9388ff77238b46681370aa6aa371f29213afd5366390ea5eb36db1e51363f1f0d3a64471039653d5036c4840338714f7738b50561380701c037b5cf90374173b73ee623243f6a87743726abdd354aeab13e4d9f1a3f6756d2352460ca3695af953ee2bc023fe4d88136b4f8ec3722b3733edb2fd53e6e086f37f802ab36c0d2383ea9caa33e6c27673630ff8a373815fa3dbb65653e3d5d7237d9a92f37c28c843d6482043e005b5e36160d5136fb331f3c2f321a3dc05f503694e3db37ca9b85384b8179385754a13708dc6e37acc696396dbb10390c7b0f3668d80d36da00103aad720839ce0ec535b65609383f5b273ae0979c38f886a0361f4e70370bcf043a03b624380bbca036d9b19337abdfac3957ddb7371bdd94357b95073807192539dfb12f3852672537427fd3372e95e639c2a42738e6895c369e0a983767d7dd3809da0038e0a37035dc8dbf377cd231380d011138f068093750f2a8360a935b3ecbf3483f7e970a360b13dc3516e1573e07433b3f98d5bb35dfae9d37a9353c3e1ec01d3fd53a9336f98aa436276a153e8a76023ffb9d9e369ff34d375514dd3d41fcc73e41ff91353380cc37af818a3dd0ed8d3ef44c1537c88f8d374506043d74bf2a3e47043936ad2d203771720f3aee06503dab736a351d6e5d3784ad4c38f7483438e7b8e7362279b3378fb65c3993b51c39319e2f364a43a137cc830b388078da3712cf2535108e1038fbe0483829af20385d3507377541dc375f124b390f57df3766442f3663c2ce37001b01386379a337c791173677bd6839f1b10c3afb890b3829398a376116b03742b32f38da20c237b659ee3522e17237a1a3cb37f7d3963710d7ac34ab4482379823dd37d1c39837febd4a35484a4437b34b913dfeaa6d3f5547ff351998653785f0993d68055c3fa37e1635c7cbe4374f298e3d8bc73a3f8a8fd036eb357a37a032663d735c193f142f13361230b737622f183d7648ed3e88211536b4bd0b388839743c0e10a93ee6ad5a37a1936737d756b9382cbc493e5047eb35b5063237f109fc371088773d734aa73421a754375dc3fa37dd13e93721f23a3500000000000000000000000000000000896553375971d737aee500384e3b9a362abf2f383ee45b3857905738ac0b1e37853a5738e87b6938e0f73e38c0280437d40c2a3926d0543958f52a38d7f29837cc425d38676a7438eb125f38eac7ef37603ced38d1827b39b231123904690e37cf7ad5373a311d38737c2538684b91360000000000000000000000000000000000000000000000000000803f00000000196001373a005a3841916f3f96eb8b36c1a10c38a71f8838bfd5493f723e19379b6a323854769a3948e2243f8156f536cac94a38b207f3392e4fff3ea9c4a33773af3e38bbbf9239d1f2b43e7c00e13782443d386648d53922e3553e2a0e0a37c4eaa437b85f28388609813d8e1c9e35000000000000000000000000000000000000000000000000000000000000000092aaa4399038143afeb1db393e4d95397e8ad13949ee283a52c5053a3459c9390a4855390947ef39ab51273a9754193abb079039ca2de739c058b93992a492392e249c396516043abbafdf3977b6ba39cc07a4399a68103a0f35e9397434bd39416b2e39b9af013a87129439b4a0313900000000000000000000000000000000000000000000803f00000000000000002b5b9a3975bf603faa49f439021c91394be2c8396853403f3e97163af8b6be39678148393c981f3f3e813c3a8931073ac4178b39cbf1fe3e5722ca3976978c39080c9339cdbdbd3ee8b8f539b94db63994fc9639b756793e2b76f539d126b639d6e4ff385132ef3d8e729839d3cc2939000000000000000000000000000000002731ee380d7c693ae375073a142807399d483838f698a63a1c84d5398fbc4b38bb16f83728ef9f3a2582023abc95773870a164383018673ae1be353a9b45e5384e8b4638cfcc4e3a4722f43954ba60383f45a939310c673afac7333a1665e639655c82381f05053afb708539fe27cf39e1093238b364583ae916273adffa91390ff3a439e539413a2408243a0cc6c6397182ab3879ab613fa212e93d62a0fc38c50a30381bfa473f4795d33dd6e24738971ddd37facf2a3fae6bb03d01c23a3857bc5d38862a0e3f540a8f3da59ab5380fd83f383432e33e5eb05f3d28d65938dd988139d50daa3ee621183da434da39a20a7b38e863623ec164b13c71f4b239a1401938f3a6e43db7ce3b3afb568939a39d7c39d21d473acac3263a5c31bf39467406387b5c503a415ec439e4c102388f2fe8372ab9943aae2e003a160aec3754ad07383fe6063a1a41cf39e2d61138bfec1838a8c59c3acbb5403ac19e1a3844440838b735453aaa361a3a138511382605c038a6e25c3a663b1c3af5dd7f3958070938e011a03a5cca7c3a373ce23878f36d379092c339b33eb239b3eabc3720db5838abd51a3ae937e3394cfba1382441013843433f3f54a77f3e770c0238940ac73769962a3f2fec5a3e46a4df3792cf0238f4c9113f46363c3eb14a1038e13a11381862f33e14e8193e7e1418382a1e0038cb63c23e12abf33d48830c38b99f0638fd62913e0bf0b03d9ce952396654b6374fd8403ee0ae603d80c78538c4a55b37468fce3dd8dbca39a5bda0376bde5138685f243a43c6fd395a4b7b38260f2a3818d7a93ab7e3833aeafa29382ba1d2378b1aa93a873f6d3a3664d2379f6a07390f64a33c01a9503aadd35e39534f073861288c3a2942483a8120133821d6d13798b1403aefb80c3a6b39b0370307e53786b9863a07685a3af6cf033822aea739817f7e3abfd76f3a23ded53994ccef374e9b823c59f1c13ab99408384a4071388741283ae25fea39f1927238fc9a1438e310203f1a8abc3e0f512038ebb3c337e6ad0d3f69c0a63e6c0bd2371ffc523887fdef3e29788c3e732b4139279fd6377a84d13eebc8673e7a17083824d9a837876ca13e80a23b3eeb679937e126c63743dd703eb98f0a3ee618f837140c5e397ff31e3eb81bb23d01cac7392944d037aeab853d0e6cea3cf75c0338da245838b60c353af2f6143ade0f6b3830ac8038a217563a1cd01d3ac1102b38da9794385a716f3a4857033abca52e385fd6673812ff9b3aaa816d3a95f41a38d9b5b03800506f3a2da3133a0ed47d383e931f39a699343a2e8d063ae86e9538750bae38c46d5b3ac10be0391b6e8f38e67274386917883af016573a58f92d388b6c91389fd9153a49e5dd39ff527838fb098238782d1f3abc1afa39cece66383e374d38fefefe3e2ee3fe3ec9f91d38acbc5d38f292e13e052fe13e3f951e387d6a29387f6ec03edb91c03e56440838a80c8e384881a03e70bb9f3ea6a76c3855acbb3803d47f3ecd8e7e3e8f855f38b0738e38eeef3e3eb7423d3e9a9b8338a4ac39387491fc3d237ff63d3ce91b387b8162383004773d2e69673ddacd5f38057a5838e17a2c3a19d51a3accfd5a38e079ad389c4f503ac5e6223a73bc4738d9f213387824883c64047f3c8eb4b4377818023a9022863a3b9d763a39771e3967101138eff68b3a09f1683adc88af3768d5ea373c36433a4578f739ede4953784df09392deb883a5d24e53920afc5372666b7390541593a4d853b3aec2e51389982eb3789907d3aef75383a9380c7372b4c70382bca863a54bd643adad81438864964380d95bd3e3a29203faaec46385b2a05385eb2a13ee7550a3f2e98b2370888cb39f91d8f3e39a9f13ed59d0239acd2003865ef6d3eef4cc93e4d9bb037c30eb737ec323d3ebdc1a03ea40c9037ad1b1838ed81073e76ef693e62bdc037719587390e43ad3d8460183e41ac4c38df1ce0370764293dd9659a3db1cec23721c44c385c998a3a2dc0873aa14f1338cd46d83870721c3ae2db1d3a09824e38b3574f386417183ae56dbb3925a24937168a2a39462da53a2c508f3aa66b98379bb7a539f37b4e3acd92223aa2d60438023e1c38787d343a08c8223ac3c4e63785924f38ce89813ad19c273adbd4063824f087381d50e2390577cd3977f60038a8d90e383c060e3a5b7bf1392279c037dfbc0c38d613d7393299e4398116013801c35d3881a2773e1d1f413ffa114e38c2f59f374fdf633ea59d2c3ffef34637a44e8138a7a03b3e738c113f47549b37058b6b3955791b3e899ff23e8fac0338793c1238c5e2f53d4dafc13eb77de33755a322381cdfb33d41bd903eb5d90638cfa714380ffa6b3d63933f3e9bf5fb37f6530038a847c83c697bbd3d8ec5b33771050638cd00d939eecf0f3a5dedfc37c14dd03961fd343a75c84a3a8ace3439a68ea239917f633a44cb593a2624073865c5d9399c21353aa427c939265d68385013ff39a668413a0cc6463ae35a4139baaf713850ce223ae1a91f3a3cf82d38984b8a3979f84f3a06fd323af87b4f38a739bf38dbb7333a7c83103ad204cd37e0826438e34c0f3ae825013adf2326382f7a2839725e0c3aec411f3ae5f5ac38a4e8b3398f6ee83d0c45613fd96a3639705b8139b4fad43d097b473ff81a0c383552b9398bf6b23dbe912a3f5cc471381ab4df3909d58f3d12020e3f1b055039a8955f38f6c4643df5c1e23e1e4e3238b8180639775b213dbfcba93ea1d752388ce98e3897b0bd3caa79613e1c08c937d7845238eed7223aa803e53d44832138cdb817390f7f0e3a9ff73c3a5f939438000000000000000000000000000000003dd246395c41c139a3ef203a46acaa38d186c7393043fd396e17143aed1587390bd4bf396620ed39c4f8043abd8d66392b469a3976a9c53903f4d73955056e3921af1c3a6a73483a6638ef39ba0a1e393289d63989780c3a7cfb1a3afd87b039d3fda639ed37e6391316043ab5a18a390000000000000000000000000000000000000000000000000000803f0000000086ff2a39a6b1e339c02c613f5fc6f2389b06b839b9170c3aaf3f403ff819933990a4b5396714053ab3c41f3f344d8339717a9239d3a9d03982c7fe3ef3bd7c390ec1113a5a685b3ac161bd3eadac2539cdb7ca39d17b0e3ae93a783e6e79ad395d9c9c399c53e5399487ef3d1ff482390000000000000000000000000000000000000000000000000000000000000000d43b8b35614f6b35f224b63578e31f37734e1237338c0b377f131537a107883741162e3677d0363689d1993769b9fd372416a4376cce9237748fe137c7ef0e385d3743370f689237142cf337c9320338e750ce364eb7af37afbeb13799b49337e0294c371cdbe9379835ca379201ab3700000000000000000000000000000000000000000000803f0000000000000000c082403590ef7f3ff35c0e3872a9d536f2380b37cd77633f1f38d537bcc274378c3a26379025323f0a717038797bf2373e758d375342003f0746463876a80b38ff583137d8849c3e60a76e38f16400382c1fce363ac9e53d06fb7a389a8e8537c04e5236c11ff2387c561d380643ab370000000000000000000000000000000069b56e36543c4f37184f1d381fd6d63776ce41372d584e3700b51b38d2051838afc10e37347a1137d1675d37ac8ccf37d380fb36b99304370e6e0f3770fc6c371c964237e84977378fae363800b84c3837b10037cf5a07372d1fa9378a1fbe37f87b2e37dc6c3c374f8f94376e087037bfd86b37dbf279371b65e7377b54a83701d8d3368938e43674c64837e904173728134d3687b67f3f24c4923abf8ca13732c93737a0df7c3f653e433cfd5cf3379cca08379470653f9c517c3a3b398f377a3af53689db323f6c20443a124c2837df433c374cdd003f429b353a53eb43389f0cf536e8a29e3ec053f739eb2ca23700c429373261e43d1ec2e4390c964c37214e6537773ea5388e98ad383088923764d5ca36e8755837185d10389887ec365e2abe36a9e2673763cd0238953937379908073632931136b892a137003c1f367393b736a129c7360138dd36b3e0d636fcd2e83617869837b64728383ada2a385e500f3692332636944b723787e14837dd880636d6112a36e0dc4b360ec53f368f5c033798ca69378a49e7375ff0873773b94a3672c496370dc805385a758c373623dc3582a924361e534437f7c1ac366474a93672e75d3fd542083e9c9ada36e9b90636f3ce5c3f55b40c3eae7615360d5aae360150413f25010e3ea9d6d6368c2cd2363b171b3fb869d43dcc7709387d5ef335b370dd3e49f68d3d563a32367530e3356782873e3bdff83c4ca83736cb88f936017acf3d171a3c3cf8c92937d74a48361a2d52384b5b7438651f11376a3abc3530d72b379602d637b92d2336f660cd368bc5113826fd723877d5d43693bc2a366d9db237da830e38383d2d362d0a1837c72b213730e6273718991f37fd48b5366262c736c438cb36db85c136ee6af035e825fc359703b636d55103360d93cb379be049387c476938956b2438653d2d370fe6d337af6c3738ba1a3337ac3be435e4ed20374fa05a37a79c013602340e37f763ac37cdceca37374e4e3789aebd3633442f3f3e7ba13e7212cc36c57e2636e6eb2e3fcc18a23ea6192536750b0b37712d1e3fb7bc953e52431937ae34ae363908f83eece0633edd05be361160eb35e650b43e0897113e14e4fd35b62d1f37d0a4563eb19cb33d43c3ea375be32337ac2aa03dbb366e3c9b6f2d378f31e535bfe22438da2f2738113efd351b040c3737950738190e1b38e97a15370434043714c6d9371ef2cc379760f43625328c37aa851938df100c38cc498b3733f8393761b34137cfcf40378dbe3b37ad763437fe5343377c4f3c376de72e37e228ca37f7e91538cae911383f24a5376a3f37373615503796634d37220e3837c7ab3c37616fd937976ccd372f1b3b37451a9d37d019333827a12d38dca88f3775841f373e06993770e28037ece62037ed3fef360594003f61bffe3e02dbee365931893776c5003f9455fe3e8c0089375c1b34377382e93eb34ae53e63f334377b882e37f94ab73e15a0b03e15372f37369c69377ceb823e27ff793ec08a6837f4e43037c7a7203e309e0f3e7c3533373c9d38372b7c413d6152483d1ffb3937e3df8c371d97b9380ba3ab38eadf8d379f46f936514843380afe14381c9ffe366c111a3786c513381debbd37496409370e9df135f62c3f375527f435caf2e63570192f37c0386a37cb6d2e37ac122137b8601f3849024e38952f00389a5b2337ecf5fe353934de3628cbff352758f63546d7c53634bb25378585cf36a1a5bc36066a29378655ba3785e56037ae4f1e37c0efbb3721882b386a02ff3732bf2d36d19e8037292dd137fbd29737c253d2367bf912378b5ea23e5ec82e3f2e040537ffd9f4356a77a83e8fc92b3f89d9d635a0db28375cae9b3eac731a3ff1c51837a233af37138a713e12f4ee3eabdb1b375514fe35cd64303ee3c9aa3ee4c7eb35aafac136288fc73d5f8f483e1740b536b95e2137ae28eb3ce2337a3d01511537a241a636aa9b8e38b87a7e38304f2b36a89b03370dc5b83827416c387175c936447e3d3633a7c537a2c816366f22bf35de895e374e85fa37d0724c36ffd7423694fa6d377a259637c47c0137e864f1369a1931367be73a36f0e50f36f0cae535c74c303763647d37de51233661150b36c56338383fb254383078ec37041feb36e781de36bd9de8366283d8365e7bc4363adf33370cddbe371019303691e6123608388b37ff09af37538b1937de5fbe3601d61e360777093ecba25d3f5efca635f2fd4e36373a133e332c5b3fcb953c36c11f09376bd5173e93263d3ff290e83646742f36a50ff03d1886163fc09eb93506056836c4f5a13df79ed63e3a56f6356d7f1738b248253d1ef97f3e4d65dd360581dc36c63a783c5dd4ba3d53d0bb36b052163613b75338c7bb103840541136550c2f37f9de1038d9e38e377567b63628c5f236c17b0838a253dc36cf7cc336a909b53771b2b237eb876837cb8f5e3716487737a0de3f37c0242d3700bf2937da84d63712cf7c37eec6f936a9dcee36ff5756384c1d37386ea24637e71f423781da4737d36d3637e9c40937e12c0537f58ac9377298e337c9321d37e1b81237d4d71e3886ed3338a6f6c137ae334e37591cd7373160cc378e371c37fb458c36be15e7368c9bbc3a039d7f3f8cc8ba361aef793765bf993c2a287b3fc9c8583779ba3e372217083bffcf623f730824374c52b63791856e3ae94d303f9d48f036b7d94c383d6b573a4162fd3ec0b03e37846d5737d456723a7274993e12df003727fdbc37ca80503ae9d2d03df21712377e5d0f38866c90380f658738a27f473788f6c137b63523388119ab37ec487e36000000000000000000000000000000009acdb3370bea6537630627364a42e635a56d90378594d3367ac0c536bee5c03646df093809ac90370da9ab361af1aa369a681238658be0374bac9237e6868e37d298f63752b60338b1d4a5376a286f37d5c4803792029437bcce923705ea2a37b1c91137ccbd6f3721b88f37ffbb9e350000000000000000000000000000000000000000000000000000803f00000000ad0aa43744aa1c384aec7f3f2af4cd351f2c813780354c388f3d633f1222c236e8bb0d38d5806338a5a7313fbb8bab3657b30e3898664538345aff3ee3cd873746a3f9374eaa83383aa09b3e41bea337d96c7c371227083840b0e33dff4b133755d40437440e1538926e5939993695350000000000000000000000000000000000000000000000000000000000000000e97c6c366725b5362e02af36bcd9ae36cd832535e2d5373577f34e352297493561d770362182c136a32af936dd2d0137b4c2a736d6aefd36e5a6103737f4f036081eaf358ffb723792b87837cb323b3765dd44362ee7a736dee68c3698b9883610b12e360c82823775eef236fcc5963600000000000000000000000000000000000000000000803f0000000000000000c4dc5836b7fd7f3f2feab936cf0cb3367515203594205e3f99ed2d38ad0e5335c8606c364b722f3ffd6bc83769e4a63627ffa23631ba003f12515a387201f236a133ae35b51aa43ea8553c3815c12e3721973e361a8e0e3ea3c85b3760da8c3673192a368d480d3958799c37aa939b3600000000000000000000000000000000e9828435416f28372aa03038fbbc1337d5b901361fb3c5364bb3813776180537d1bfe9351093b636825e1f380ed3e937a458da324519d7355e3a0138c0f69b37bff8e8363b46473717001a387292c037eddb5f35888ec33607440038a89aab373a4b89349ad89636b65cb736b521b1364e2ee0367ddcf537602b61385e36ff37d3b686367a255c37f49c1538f9e5b737f66e443519b6753f5c77233d7fb9e436e5fde435fa35763f80c31a3d18430037a79b70355f505a3f7eddea3cc559a637ec40da32861f2c3fabaca93c2b3d6637b625c736a551fb3edb0e773ce9c5a63765b80135e6e69b3e5cfa3c3c2c708c37baa8f632bbbbfb3d27940a3ced14aa36ac72c136a29d9939be3c0e3abdede737b95b5e36fe27c737c4ac373856e19437b8510d34a5873b385dbeb938dcbf12351eb60b36f61ed7370bb65938c8f4bf36e071f8351c8e1536310eae37e31c2136ec5eb434d932cc37ec554338cbee8035d69987369820b93793082738fc33e5363f07e9359ceff1371216433843bf99367233e934186acc378fa020386085443536bf16369aca97374bc2043800e9a0365d27d3355bf9b23728c3143823924c36ffd81d32ce6d513f1c283a3ed4590d35c8350136fd83503ff2cb3d3ea52bae36094de935517a353fd9342e3eb9af1e361c9fae34f747133f5433043e9d434e35b6d76236f2bfd43e34c6b43dd87bd936bce5e83534c9843e7645403d9e1505367348d434722ef03daf7cb03cbe0c42355406ff35fe93a938aebbc33874709f363b8ed0354c020738be1948384a844a362a22b5353ce33638dd53523807cfcf35c698d7358a504838dbf47938f34a1a36769265351d1738379406d53670e09235485ce4356462bd377d9aed37db850736d8d5983648721538cacc2d38f5edc236fecf2036f07ab33796b8df3782848236403bf335ed740f387cd31a38f8f00b36e27b4636451734385ec52a3875256636ad5ee236697ab737bef8b937635c0b377479b0356985293f62e4ac3e7312cf352998b735a3f7293f3dfbab3eabc41236359454351432183faa95963e94aa8a35a6c9dd354165f13e8f25683e14bb0636fa518f3652ceaf3e8da4233eb66bc036f3e90a36197c5b3e23cbbd3d53e26f36504cef35ad3fbc3d249ed13c7b6f0c3687ec413609a9a2387b7d9d3832436836544cc636e405383851234d38cc40043734a203365ca2a038409dc43727770b3634811d378f400b38566ec9376b501d377c6790369918d6364577d036093f8f36014c39367f9d8c37a8c92a3738b1193688b30737d5049438a38b533821c907373aee2736b7afa037291d403735cb2e36ef589a36f693fa3633edd93657c29236b32a2537075517385770b2379471223739f010369e36a037fdfdbf366642033686a0f4352e8b003f45cdfe3e1cda0336bac91537d30b023f86c8fb3e49a51737e891843616a5e63eaa52d83e3963873677772536289cb93e3cd2a93e96d90b36341305371092853e4bf1743e43ae0537741b163617eb2a3eff4d0e3e0ab22c36192d9236a7e1983d34aa563d585e8e36b77f1d37b1868b39558a6c3881c71d37647c0d36617f9139ed58d8378d6202360f9c093780348038c281973726f7c33689ae65369296613814989f37393e4436e8ed0a3616363d3885300c3677b9f0358568823659922738d20db3364d6313368283c136f5d557386b599f37cca896367b48063619502838c0647d377b6fe535537b8f3514297038d0b81636db3c6335277f1b36b4bea1385bc916378ebfdf352112cf35b4b83c387ec32c3747cab5356783f83686c0ae3ebea0283fe89bb43607dd5e3609c6b33eee18263f5a7f3a36ba030936ce6fa43eb5c20f3ff22eea3543ed6036ebbf823e2e19e03eaf2afe35eadfbe366a4c3c3e4246a03e123e8f36355e0636420feb3d0b953f3eba32e235cf278b355029473d2cf4803d35715e358e3a1a3675393139e63ee43854c2e1351c12ce35581580382dc10938aa71b73598f74636f2ae4c38bfe86d37dd90d0354cda9c3695c531385e6c8d3656eef8359be43f35a40a20382660243512ced9341c40ff3652e346385cc6c33600e4e535afee2d3738923938455d2937f65f6b3631e2e3362105653807778d379b18c734d45c1f3696106e3827221736e092f535997e033711476e38e388753724050b3679fcca366a9596383e0598360ecd2934d9383e36888a3d3e6f93503f4923cf35ff419636c1e74b3eb8014d3ff767f53571953f353dc1393e98062e3fd770c93476cf0336a8051a3ee0140b3fe00ae63584b6d4362217da3d108bc73e5998593606145235100e843d449a6c3e6869c434ced61f366b49da3c0b71c13d01a2f535e189b9369fbfb138338c533810d20a36c4b819355a73e4386d5c2438b60917344206a53715de34389965143799313f363668033880ae6138a67e43378f5db036e838aa360036ab3640644336e08cf332d4f0ac37a6d9f3375bad8b36b1a5cf342fd3bd374c322b386e303c3726dcca36dbcea837991911387c5713354b36d8325aede237c00d3d388d61223767cdd635981c033713349a370ce1c736caa6fc3504912f37ee33e137275b0536eb796e350237573747fd333d1abb743fb96024366c1dc737d9cc5b3d7708723f44c795363905a536e535333dff2f533ff492fa326c838437106d193d337c253f43decc34e371a537907fd13cdaeaef3e24febb3644488b376a6eb43cc5d1913e01a2db32e00ac93704e65f3c297bd63d213dbc353ba60237c0cd053ada442038eb100036d5621f377b786e394d5308377fb96f3500000000000000000000000000000000559e953668dade36ed918436cd8826363fda8c3673cb86363b0369369d3837368b7b473778737b37b04bb73542faaa359174ef36a9888437dd9fd436c14b9e367549ab3668c459371cf4ff36cd5d7036aff34a3509b39e36ddff6b3734ef25358075b536e25aba360c1ec83648e275360000000000000000000000000000000000000000000000000000803f00000000c8549936f9e71e382bfb7f3f808e1e36a98f8e36d29c9037675c5c3f90212b36a2652b37fbc16438faed2d3fd4879f35f503f136a2108238ec80fe3e017d9a36f0a99c360d2ed837911aa13e64047036d10f4935c10e5f386465073e4a831f35974cb336db17c036b3d6bb38809671360000000000000000000000000000000000000000000000000000000000000000be397334d1499838f6e75437c62b6f342f3b0334df934d3840419937ef5a2a34ab391536a50a2e3841970e38168e9937f63b77346db83e381b43843757180c360bb8b332df8e2138b12d0638dc9ab437a9f0063656418338e0b8d83756376b36f3603635ece7923968391038a9beb43600000000000000000000000000000000000000000000803f0000000000000000b1a46c34052c773f9d43f1376ece7a344d8e04348ea74f3fc0c70138b7ba2a34b5fe09367f60283f15ca2c38268e94375c5c7934a1dc003f70970e381761f935f76db4326c09b23e1a6318385fc9ac37fb7af7358479473ed1ac1d38c2b56c361e5b193552be2b3d93802438f34fb13600000000000000000000000000000000954780354ef891381096583c5e9a60377c442c355ef87b3876948639847cec36a43e1635ffa3ae37a39ecd38f2ce2437df4baa354d659638c971c738d7656d372fb9cd3498abb037e5c2d73b0082b637c10f803497e9e2377683f438312ddb3711cac435397764380b71d238359da237c11869345f2189385bc82539c08b2d37f0128f343e5c1f38560ce039d4c6983704627d35ace06a3fda1c453da5122d37a99424357e35653ff01c873ddd6e5d3620ab12355ae8413f0d04713dca681537be07a935792e1d3f8dcd4e3d21a53f378abcc9342194ed3e4415063dc7599d37bfe67c34bf1ca43e0bdb333de9decf37e6b0a93586fc323e4bdcb03cebba9437ea7e5f34086f063d2b0a923cd7a8183731c38d34e2664738a32f0d3c04729637276f68359777063a4459823ac515a235fe6fa5352de38339911faa388752583744ef0435b17b8e392dfeac39eb111237d05983340b6aba385cd8bf385f64ed35ec80dc368b46b338715d3e3a7ef4a8375fa827355d9bb4384202be38be4b5a37aa6e0635f1cf8d39fe16a9393a788c369c80d534bfb30039f795df3864923c37e09ec236da770c393afa5b39f256ab372f676035a535473f425c523eb964a035d004a335c709423fdca3503edbe44b3764df0135dde8223f9792373effd708378f8383346f98053fa735153e0ab1a6352c02a336f189cc3e7dafd63d130da6372f1a233530798b3e900e893dec745437ad29033586a9223ea477033d999a82368274cf340ca30d3d0da58c3c0666393715eda136266c48397c70e33b138296377245bc3489873e395ce03a3902931b372fb2613552c2a939a18231398e045d35ea8efe3417d83c392329b738e67aee348b7a3e35a14342395f073039685d4b35b0c3ce361f28113a99f50f39d6481037e7ae17344c26f638725edc3806b93434a6863735ed1b4039a0e93039b558353646378636e99a8c39f3324239c1d1c6363a172f351c003a39575f2239c67d3a35eb507b34fee7243f4072b53ea442d036e3655d3580571f3f1267ad3e953c61357bf5f8346d9a073f894e923e72c3f2344b0e3a353f15dd3eb31e6a3e86214d3552359236954aa73ecb09333ecdec07370667113484ae6b3e1865e93d6c7c32345c063635fc46043e963b793d90ca2836b171783672cb1a3da30b463c4377bf36e23b2d35bef76139973658394ad23935a022403639683f3afb1437391b071236a94f57356346323a9f363339f01b55354aa76b36a63574397f260f399579353687e0893663684639c2ccae389f084e36f355a636061e6b3ad20d113981488636b7217436174e3739eed9c03800b37236e3285736fb443d3989a0053954244d36f9f45c3500a9d83992782c39a6d84f35b0543536ca99043aaafc2139d03e1d36e3f72336f133003f3f7efe3ea9cd0b36098d513566f4f73e4ef4ed3e81cf543526125136df60d23edcbfc83ed7503a36f6807c360330ad3e17bea23e48d2543628628e36f866833e323c783ead09833624e85c3616ea383e0215273e36cc7d3696374936d781d83d7758ba3d872f54365ace5935e107093d9ecc853c317e5035dd6d1b36a5ac353a04216439366c2936b91c3c355b901e3aa34419396c4b2e35962aeb365293f439b1a00339ded26636ba898c36b9884f39abb6183922b433359e973e342aef093986c7ab38829c1134febb303780c7373a1504a238b02b7e365d5bee35da114a39403b16397b673635ff71f634c1d7413906939438b20ffa34ee5b02369b709539dbddc838851f5a35c780be37a2b6a63904011039123193345ad43a358417b73ed618243f316a2d354726b536fde9b33efb15193f2201663639b12036ca139b3ee7af013f55d63335454d35348a807c3e6668d13e9825103411a21437ad32433e29ff9c3e51d9813665dc7b35fdc7053e355e553e2c5d3835b762f1343675973d9acde13de9c0fd34f06d933552d2a83c45d6903c17655c351f717f37e635133abc8b2a39619f913427f5da37d9ba3c3cc671f3384bd48036f08e4b377225263ce72f50380329c03489afab3670f2d83b6c3f533887910035fa586a37b96b143c222b4638f6e12135a741af3753e79b3a4891e337b20a8036ad959236217896394320f83791498134ef6a233750c0083aa13a82388c280235c0ff6c37033aee39ba31bb374e0aa23548321f36c3b78c3ab1f0a53858f65e35389c96374f3f543e1113463fe6a98236cbb73037b6c0533e95313b3f3211c634d2e38036e6ea423e5b8e1c3fed7f0235fc9c5637833a1e3ec576fe3e947b2235f4c5a737e335eb3d7d0ac23ed240803626a40136cf09a53d5fc2803e16f282344e741637aae6283d3080113e9e99013500bf5c3788aacd3cb0104e3cce94a335643dd3350848613c1259e53815fa6035c73da337047d223caea487376d578c34de5444377615143c258115373c145034b5f5bd371a65d13b00491c373fdea335b91aec37693c163923800f37e72e7a34c9dbc037acd8113c836c6f367950c434c3aa823793b8d738dc090738e8e3a535cf053f37fe10fa3864442237c521123560b6f236b807f3397533ff36ec612135c00d733767bae53bb10bee36d60b78351f876d375733823dcade6a3f80048d34745f11374cfd923dc4515e3f7e635134c36299374a23833dcdae3b3fddeca435ff76d737cc0e303de6a7173fcae975342ea49c37fd2a243df239e53ef0dac7347bd05b37b8880c3d96229a3e9348a735f3981a379594d23c03b9213e71721335cf07b736680ab63c66fd803cdddf223593e64937cf6f673ca77c313812e57b3500000000000000000000000000000000e2302a3778672538485017382bfe1635fc0f69369b821b38f62f1f380137e83539b0c0375bda133840b70638a43fb432f6452f366cbada379840e637307b7a34b644a8379a301a38eca91238577408360c0028343479d137114e36380f5d02342b9677340faddd3789b46638cba26a340000000000000000000000000000000000000000000000000000803f0000000040d2af36eadf44385e22753f0ed016359858693675ed5a38d3104e3f95d6ee350ec5b3376204263871e4263f8951b53224620536203c28388d26fe3ecd277a34f47e953738b03138bc19af3e3a200e3685ab293408e002383e1e413ee1e80334528274345a39ea3759560c3d6d956634000000000000000000000000000000000000000000000000000000000000000032098e35f86389358781a5356391ba35e7341f350bbe1435bc4737356a685935d3bbaa35d1d3ce358509f23523527637c5078f36bdba8f36b01ba536c342a63631076a3528548d355b8049358bb69135db0d063699442236c4db2836f32d1c36419b8d362b8381366d599a36e79f9e3600000000000000000000000000000000000000000000803f00000000000000005a078735f21c803f7fc9d335608ed835d29f1e35ea70643f4e6c4b35406c5f35eb1b993554db333f90bdf83759cd3d37fb0c9236f87b003ffb9da336af1fae369f8e29357a6b9b3edfbb8f37468e3336ffbbf93542b8e73d1c7bbc371a282c36ada982366050063c026c9c366a47a536000000000000000000000000000000009eb949343f2a603872a89538c45cf637dca1d335fdfcbf35d1257037bc82ef35d4b763357817e734efbe9835882bbe35de8a4135320139353425a53562ccd936a5f5e435520fd33589dc0036f1630b36b73e95347092753407fd0f3508dde2348825b5355f25cc350c99b336452bda35069d473550365e35c71b89353b738935e7ca1236adc82136c2ae323605682d3672800034f0457e3f85310a3c673e8b373299b0353f047d3f4ee03b3c9411f33539e960351869653f31ea8a3889d9903568ea4e350716343f4748a3387cb691354ee4dd352a31033fec3818385849fc35e2984534ea0fa33e56f64838235b6f345ba0bf3515e1003e265518397b74c635d9ca4c35e1aa3f3b822b853773475a356cf411364f1ba937c7479837cd2a3036788a9235cc6397383c17b738a9ad8e369d6b473670ab2d372c9c0138dc7a5e360df89a337a7095334460da36469ec133545efb334f84a133ae1b3334a92a5d34fd160136311b2b36960b34363bde4b3609f12134f1f132349937d3356d973f340000000088ab41370608d93700000000000000002da4e937444a4338e6f40b37a48b812debd19437fec703385e622e37d81c88352160603fab1a003e65afbd35fde53a36f2325e3f7af8033ed8386336d553c633c50c4c3fa6dcc53d9cdfd833eb1cc733d1d8203f5e30803d833353348f4b073614bce83e9715323d8fdb3c3603ec4134f19e8c3eb6c2ee3c317c473400000000623eb63dab27a33c00000000000000003cba8839f244ed3800000000c95baa339b6c93387fe0a1380000000096ab3034c1a3283810d44a38cc33cb3400000000a5617c38c7088e380000000000000000000000000000000000000000d2dd2d347cb31934da97ff3369bdfa3340ac3936a5385b36d0974d3667af52369eba0034fc1a0f38fd542338ae400b34f4bb8433221e65377feb73377d161b33734b183688ca0d38e3710a388d4ad8364333eb3786fe8b388d819238eac53a38bbbb9d33891f323f5a2d9d3e334baf3400000000a1cb2e3fda4ca33e00000000000000003286253fe1d0863e00000000bc7224349f79023fc097453ee05c1d34e14d2a36d8e3bc3ec931073ebd00493618982a34a769693e05378e3dd26b8c33404b9833083f9f3df7fd8a3c10c28b33c797163618aa0739afcb9038de1c26367137c235ba5ee138d78ce63868558337427fa735ef1373383abe2a3892f99035359cc234b2b4a6376831ce361d36b9341d400a357c8eba34ac1ce23476fc2435377e02333d2ea23227c44a32afc588326a4a1b3598fe97357392133550db21351ed56132756d0a37ea2ac135be6eaf32c86e6e3412c9a13792e263370800cc3419f70f35bfcc3d37ce24f13649acf934febf8a35e1be98373b5a5637b2dcbe35472b8335248c003f920f003f7d668935c3bdb0340fa5023f2602fc3e0201c63484ddae34702cf53e581fdf3edb6f8434b96119331becc23e1d81a63e33161633ff66de3467718b3e8a736a3ec6bed034483dac32de8a343eee86f63d3facad3217001f34d88e953d9274813c325f5a34011f0a3550248639f6282c3806bd0435c5788c35b94d6f38020c31385c72b5350a5cf037e92a053965c7b5384da0b73599a2293694bf4238a08bb437fc922536ddabe3325e1e213724021733c0ca5033707be63301a524389dd09436edf0183407813c3638c863361eed5536f3fa6436dad5d133ba6f3237ddc00534cf2503340000000036569d379566b83600000000cf8a5f37f08c9538861680380000000070363434fb941537137889360e708f349838a535ec5aa03e9176303fa9139a35892b1f36c74fa83e2e642c3f4fd4113637032f33a9ad9e3e2012193f665b34334142c73315de7d3e1be4e93e32a7df332a8c38367044403e240aa13ec87c4436143b0034a354023e70dd303ef125ff330000000026ad8a3d7928cf3c000000000000000006d2083a1c450a3900000000a17bab342bac7938082ff7375583d93384d87232432bc538926a14380b6c33330000000004aa9238000000000000000000000000b522223700000000000000007d7e7234ec755e34d13e3d34c1984134ebce1e36c03d243648c806363a601e3630a649342c68103714364634736b5934ccf9ef3396088c37533b27378519bf338b0b4f36d3d7b937f3ae0e372bc35a3610d4ff37d18e5c3871d69637bbcbb335c4ab6f325af5013e0aef5f3ff4411d32e432c4323ca5193e0b2c5a3f00000000000000009263033ef8c9433f00000000aa5268342e46e93dc49f153f58795e3492400a36a26dbe3d4112d33e9b8009369a4c85343146a33ddc2f6d3e74ca4f3437a2fd331028863d2ef12c3d16d8f833053f503622a9af3b8a058e38f17b5b367cdd2037f28cc838b2487538661f9a35f28531369b4abd37f2dc7536381316365eb88a3575bf8935d9f03e35d0c82f35ac0b04364070db35ca7485354af3b935640b95348bf96c34b9d05834af737f34494def35dbb7ef3518e2d035809be735ca58cc356c92c337fbec8f357a8ba93572c44535eb633a37c264803527f481352b579a3606dff5370146a1377f1301364d72fa3788c94d38667a873775d6f334528f1836698f3d3cfc607d3f9611153692bc8135614ae03c568a783f7d9e0635d29dcc359bcc033ac209603ffc637c35e25b7d34e9c2613abe7e2e3f5a9d8034c3e3dd35ca9f833ae53ffa3ea861d035dd5875356ff9a93b5588953e10185e3511001e356adfc93ba07acb3d6bd81c35ad55f23590591a399ae0bb394a56f13577e6b73794bbc83838a773388b9fb03400000000000000000000000000000000309898368b9f8e36b2727a364cae8736ef612c368a1429366bff05360ea0053698e511356f4e54364f191835dd3cf63443f1a0361d30b2366b60a436b5d9a13631869f36f5889a3700bafd353ffddc35f72a2a352bd63f356a783935fdf32f357157af353f27c6352a2ec035fe41a4350000000000000000000000000000000000000000000000000000803f00000000c0939936290e9c36e0407e3f83fe683609361b36026e04385867633f44d8de3577703b35fa09fc37a4ab323f9902a634db98a03632d2ad369c9fff3ef0859836da5688368ef390382132993e372ee135a88e30353559f73787bade3d145426358826ac35312c2637ffd2733acf3ca13500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084a97a35198fbf353d76fc35c386d335aec88b35683a8f3693c0c335f314cb35000000005a512d34f10450345d1695346a43ff3488e9be3724d159360b3eb6358022ed359cb0073840fc9a36736c18360000000072bb393882af0b37e175893300000000000000000000000000000000000000000000803f0000000000000000000000006303803f00000000000000002bfe76352fe4653f554ae735dc16043653478135cb39333f79f9ba3726d3eb3500000000a827013f41793334cbfdc134f24bc8343bf39d3ee25dfd377691e1358606fd352e12de3d1b94c637f1d52436000000005746053b5234d037c0143433000000000000000000000000000000009c94c932cb81a438aff8a5382e8f7b33dfe1f832192091383099a33857caa63660f6ba363cfb50382a669d38d5605237fd3d25364272793835dac0381af5ae37c451d335b8ef27380b93623876c943374143873664c9833823b5ab388a5131370c362636974585384f1b84383f42993611168236e063bd38c15fb1384a6fb637146b9d3638266238cbe15c380c400c37a1108732edf4753fd121233d657b4533fb6d0e332455753ffc20f83cc557553654b1a836e6b7673ff3de033979a919377a4d013698a8343fe2bc1c3936e77b377c4e8135e775013f8e2a8a3b96e6d5362bfb6f3653d39d3ea68e003916810f374d37de35af4bd63dc539e33b463696364e764b36eab89d3c1a23e13808606d372b4d7236e62e9938fb3d9038e2d6083700000000885e99384f8fa83800000000c4c028350530a7385a80a8385d537e3616fd943683ad4b380a72613830dad83698484a355b0a0438174b033800bed53517b15436ab38463873243e389467a03679c72a36a557063938410639d6028036d92d95355f366b38e35e3738b1b8453685ca1c365a6f483838900d38dff0963633215736d80700390690f13846a89737000000000461533f1e521a3e000000009ef69d34e1b3513fa17e083e489854368edb7e36df26483fd615e63dac57d0367dce523567821e3f1a73bb3de4fecf354fc11d36b12ee33e0dd57e3da91b9336d4230f36a77d873ef6d15a3da7367736fd1699352c46c43dd7d5123d3e2e46364474a03554a84f3b26a5913c449a893664c74d3695da2039264113394a4f783666cfae35691c4539dc98073962f82c362adf9f35a4598f381f20673810021e3655b4e0353db00238e282913705745136796f9f359dd3d2386b33b73868472a36e5e65636cb5a643861422f38376c8536bd4d4d35ac46883848425938c06fbe351da53e36b6b0fc383af8cd38bcd48136a8f68236bcebb0383ca28238dd808a3600000000473597389cea4f3823aedc34c20b9c35619e2c3fe914a73efcd52a36291ed734f9a32a3f16e2a03ead6ae735c43f90353d96253f7f25883e60fb1d36f8d98e357529033ff9cd4b3eb4662a36215a1636c239c13ea25f043e696d633621170835715d6f3eddf2833dab2b8435eab923364115be3d91008d3ce09b8236593730368e57143b2f740c39486c6436000000007d79f738818aac38ab41dc332e150736dfe8c238328e8c3802c0a73551073b363bf6f1386912c9383f0245364dbe9b36fe5bf43861a4b338e3d4ab36e12fc336188b1c396565df3857749c360af17a35a0107b386dcf3f38fc6871356743b336905d1c3958440239f305d3369cdab43666b50539e096c93837359d3675cc723681ace838981fb63844225636784f1c36f4139438583d4538127b2b369e1dc43512d3003f9cecfe3efdeb8335deb81a36b980033f85a9f83e4d353236ba0691364231f73e5a65d23e3181a436e154a936f862c93e9ced9d3e7e269636bd581e355584913e53f45d3e51d065353255a1361bb4413e6755e13db3ccc636fe8f9e36b482bb3d72c7853cd9499a36f8f94b369389d73a0e0cf638e59850363a12fc359526bc3863678938a13d0f36d2568e330f8e0339d7a39738000000004c715d36d3bacc3801738438d6442b368b4e7b368fbfec384c147a383dff3136d0f4b2352145963861f8a1374248233585888536543d7b384deb1738724a3636e4713736dd65f6389a059d385693f335c4364c36896a7238bfcb8937e5df0d36217f3b36f3dd8738c13714380529e535ce1257360d780139923d9038c4bb0836000000007de5ac3e1cff293f00000000bf373f3625edb53ef9b7243f5992c8354f9c5b36f6faa73eb140103fdf420536d23a7b350dc18d3eff81da3e9ab72535f07c6c361f3f573e80d0913e9ed90536213621363a450f3e75f6193e4579c035a23c2a3647ea9d3d2d603d3c8a74ff35f9bc0c369b83aa3cd98698380c899c3523543a36425e4f3a71e9d5385d10df35ee287736c388313c6155de388fae563663258636f7a77f38b842b4374342b33544154336210175384790a337155ea635ab6a7736e5f520390e74983815a120364ef19f36fe997438442af137d2953736d257db35e8be5d38f6e9d03756484b35acd5d936d0cdb538ea864e3828af9e3602238d36c5e7aa38b1a542387835c935000000006fcc8a3820a8a8370000000026c26c36d986233eafa6543f894b41362f4d6d36fb82383e01ef4c3f09f09634c1fd2b36c0f81d3e8cfd363fd0ba9135b9586d363f61113e89b80a3fa4660736881b9136a3e8fa3d41eabe3eaa7608366ac8aa351a78cc3d0081433e376246355c1fce360bfea13d92abe93c1c9197365bda6e36ff2a473db127b838123c1335000000007c70d03c890b3e38000000005c150a378394ac3872a357382d834336f72b95378f50d33881ba81388ac72f36dd02983616309d38e2b4a437564bde35ead24e37b0b9b6389ab1bf370acb4c3690e720374db7803885f8c1379f6fad3514eeb4372cb1fa387b4f8c38d26f213652d86d3798dfd53823659638707ab03624ed5f37e6eeb93817d174387a1e043349173e3304419b3877a0a337000000006f5905377457353d9dd0743f9d501c3618b42237c96e5b3d3d646d3fb8c60436ce239636dedc1a3d05f7593f1d3794350bd3073715f6143deecc273fe77046365bb0f036b4e7093dcfdfe93e43cf8035904c783757c10d3da543853ee4e21636cec51037d4f41b3dfcc3673d0de3af367ef65836553e423c0197db38a7a63a33f1db9d33d991c838a6085e380000000000000000000000000000000000000000da5e7234152c9836ad706036000000003d142a36a7680a36d691c9357dfad135608a093685d23337a4011c35b6011a35f397b0342c24e133e4175f34bbcdfa332b76ec35971d613703d78437885e9c3568741536c934903618229f379a0b47350000000000000000d19c10373dad6a320000000000000000000000000000000000000000000000000000803f00000000b80a1334e23cfd379baa7f3f00000000bdd82e362229d1374b57643f231edd35d5e5ff35b6a41538470e313f05f0fa346ecfe334f20248375c08fe3e6417a333ce0afe35d6423a384ff7993e208d9335dc330d367363dd3790e9d03d08603a35b3133833c92d9a378e88153a000000000000000000000000000000000000000000000000000000000000000000000000ef6ca233bc51043978f61035db55073404dfef338fe3b73811770c35b4af8c34ab707933df470838a1720c34abdb2f342f390736a3aba6386da88537757c8d36000000006231b638fbfcbc35dcd7dd3400000000253f3739a3c4e63550c78b326382ca35724b06392fb03b37c022bd3600000000000000000000000000000000000000000000803f00000000000000003bc2a23315da7f3ff3a022357f261334e4a2ea33b7f65f3fa7510c3582f08c34606d6733ee21313f06fc073472612b348117f235696e023fec8fb43772428e36000000005af9a63ebdf64f37731e0335000000007c4c123e6b9ac0374ddf863248c98c359687c53c14df75371aaabd36000000000000000000000000000000008a121f3336e12b3a6dac9c39fa559435000000007b9d973915f09539b67ab6357685b8330f50373979145b3991c51b36cec3143232476f3921ff6e399c5a3132a97c0e32c11d9239aa10863945a2983550a44933d6fba7393cad5939915b103600000000ee96d039c61e9139c0244a34a03b0932b9cb523b199a813988b093359ba777354c28af3a18926f39653c553686be18339e30683f8b9f483da87a8d3500000000013d6a3f3234313d1bb2b435c128b83337115b3fe809063de86c1a36c5551032a6832c3f19e1003d2ea62e32374ec231e3dcfa3ed8ed033d0e579a35a5b745330bce9d3ec864003d1237133600000000cd69033eb809e63c82c36134cca3df319500213ce9079f3c70fa99351a006a354cc7753ba9a6643c55df5836cb6f03367b7b973aa5f5c139d20aa236f5bf2d34f965953a8b2bc63994c7b835bf09c734e66b533a072d9e39dd3d0135416d383595a53d3ae280b33963212636bd34c633bbbf213a6eb7d639d60b7735f5fc14352878973a7fe8d039a175d635146cf3340140aa3a37246e39a6c80d369b5be4335ceb913bf7fccd3947cb7235d595b234526ca23b14b5b539d57fa935e919e53576b6443fb0b2213e9702a5365fdd2a349ad2453fb891203e1951bc358fcec534f386383f33490d3e2f4c0135d3f9383535fd153ff828de3dfb192c3685e0bf3361d9da3ec8df973da33980359d4614350dad903e329b393d65c9e835c0acf334bb630e3ef785f73c382a133699cad8337e4d103cde2c7d3ce0ca79355495af349ba8d43beb00333cc1d0b5355b6d173592c7473b1b9e983996d87c350d4815352194e13a9cb198397706db34eb470035eed9a83a910c8e3978a21b35def8e534dda5693a38b78439707b0235c4adf93451782e3a6d9f883938c76a34792605354e54013b756d883998a02935b509a8341e94023b13efaa39ccc9d0340b229035e5972d3ba44a8139ac1f7c35ad8ffc351f780e3b1ffc83397bb96d36636f0c358df1213f477ba43e4a1781351996003587ef233ff8829c3e0e70e934bdc5ee345735193f55ed803e467217357b12e5347e6cf93e1bc44a3e0d2203350b2cdb342ababc3eb4600e3e518082348ff6033571a87e3ea345a23d75bc2935768ea7347f2d0b3ef8539a3ce06ad134fb548a35f031053d66db0e3a10358635eb62e135747c563be485c539e6a06d36201229360faa8f3aa1b462390d7304368248b2348fc9893ac6e29e39af33663422414e351862823a8d8d8239ebbe8635e114ff3552fc873a816d5439d0a8b535755357345fb74c3a154e8539ae05f2336354b335aa75973a1f905a398197e635ae75a0353583c73ac013853942115e35689aae3467e4e23a318d8639394f5934c44df9350b0d363c62bb1539270d24361c952336b967fe3e396cf13eb5a10136ded25f342463013faef5e33e65058a34b03d4f35b25ae83e7c22bf3e0dd786350955ee35a5eac23e5f69943e9a74b6356292f9337a3d923e4bf25a3e3c3a3134da64b3358435533e228df73d0743eb354ec0903574ccfe3dd75c3c3dabf9603576617a34b4cc3d3d57e4ea399fcc97347073fb35d1449d3cd0937c39935f253610e27236f04c853cf5ba78396cd0bd356a648735dcc15f3ca2b18039bd9b7f35f3aace3455715a3c5cde8b399a29a234966e2735c37de83b30f12539dc600135ba838734733f3a3a066f2939b3c5b034ea830235f756833ab4717c396c37e1347a1e2035db9f383c8b598c3906c3eb34e1d90335faae3b3cdd9d1b39a8f0e3342ad48d358736803ceef84c39398ae53471c46c368389b13e95a2213fc143cc35634e823592e0b33ec475193fd6b987359f64ce345c75aa3ed99cfe3e2c25a534d3df2835cc5f8e3ed037c53e6aa5023504236a3488f5603eb2088b3e400fdd34dc770235199b233e50401d3ede75e43489461835caa4c73d0762223d999bed34a1b8ea34ac38263deaeb083a8fb40235799887352632e03c56bea8394fa00935554fa935cd63073df32aa93906c3ab34f0ba7d359865d83c8292aa391631cc332295173611d0aa3c58590a398384f23446f9ea35c17eac3c7eae92392f381235b2018035ea23cf3cd2b2aa3970b0b93375df33367736803cf3ae8f3919673935c3e0fe342a85be3c788e8f392cbfc434444abf358fa1803c5a2773392a6a2a342bd5b436e688c63c3cb6823972efda35b5baa93535183b3e300b433f149dae34420d77358053433e8b0a413f3da0d133162712369f2d383e75f5203fd433f334f5acdb3507c4253e9ee7f93ee8d1133550287e35addd063e1379ae3ee746be3394df2c3659d9ca3d2c9c423ea06d393504da0035eb0a833d2ac25a3dd9c5c6344003bb35929a593d01c9dd3903872b34de3ca636bede433d3b86c23907fed93547155836e5cebe3c34b11d3931e26335d86d993598276b3c318ecf3719a06c31f94f483484d3ca3b7d1a653700000000d51c1536ea15253aabab2037a47f3f33c4299735e1b0c339a2f186388c11be31530726322559123a969f89383ae81932f6801e360fc1ff39997d12383b24b533dc1bb1356222493ae1af7138000000008a587735a053473ccbb58c386e390d33269057369a5d593d958a673f101462352e40903559dd7c3d323b643fee03ab31a4b657347af4743d0ffb463f00000000fa9b11366562753d637e193f19eb42331104913545465f3d0e72d83e6f47b831181a2b32d77b553dc493773e943916327e0a1b36a03e463d2c907f3dbf8cb63373c4ac354584253d6bed8b3900000000001e8435f644fe3cd56b2539b573123300000000000000000000000000000000db84be361af577375de86238a1580734239b9c328d2882371016a638000000001743f634da3051376e63133800000000c44a8d364cbeb537609a4f38f98e94355bfd283456c401345c27b0375e6e5f33331c88348b162235e607bd38f54fe533446b1234d79021359dd6ef38d227a1330000000000000000000000000000000000000000000000000000803f0000000080b2be362d5fd83771d1793f49260535cabb8c32bf623238435f5b3f00000000edb312351e7c9a37027f2c3f0000000072568d369bb4c837f41ffb3e7882cf359aad2b3468fc0334e8ca9d3eb7c5643308ab8e34d1e12835a130003ebaede63363930b34df272c351f71193a6154a2330000000000000000000000000000000000000000000000000000000000000000f9ffa6357450ac353fb79d350262ac350f9ee23426f495349e55ab344850a034413622343984f3339b57313421e40d34dcfa8f35f1f86a35c9854535bc805f35fbae82340bf63c375cada53712426d3400000000038fe337c2f5c83700000000ad3ed034017d9f3783c444373ba4ca3400000000000000000000000000000000000000000000803f00000000000000001a528b35ad84793f11c53738b2fea535c5cce6346ed45c3f5b721138ce189f34a9b80c34a3ac313f453f3e399ccc7634ecc279359bad003ff57a05385e04683555f6753494189d3e979e8d38b6246434000000003d280b3e6ace073a000000008638b234c9080a3d78698b38ccadd934000000000000000000000000000000004bfb3234be326a3481baa036fa840d34e8bf1f35efe235355e033435711308351c4112348f06ad331b313237f2490b344f2d853528a34b35a7b53e353047d235f4cd403536893e3509e2bc35f2c23635dfa4b935ffbe18369dc7a8377130f63563d14b355511e737c4ed233868ae59356bfc2035554ea33752b70438d2033435a3b95a3542d49f35d0dc64361ec7b2351558d133341a793fd24d1e3d39d6b63442cf003471ef733f0a4b203d90af253541e11033ef735b3fe26ffe39227eb7330369223586042f3fe4a43b3a952fb335d27afa342ae8003f88cdc43b34d23535d463303540aba23e3d7ec23c3563b2350346a1344b76023e83940f3df5e53035cdc5b034b4d2103c1a96f83b3477203573ba1835fb168037cc2aed37d953aa35624b0335b8655935f66bd8366ab9d234000000000000000000000000000000008a51af332544ab34befd9d338a648234000000000000000000000000000000000000000000000000000000000000000012bb8c3437151b35566a3734ea6aae34c4c8db34b30be0340ae35037f32aaf34000000000000000000000000000000002b91b8353c262836df1b0d3659b4ef35386a1d34b6a65a3fbf1b243eaf039234000000005509583f7509173e0000000000000000dc6a493f47a0b93d0000000000000000044d1f3f1a809b3d0000000000000000f36be03e368b953d00000000000000006d6d813ef1c6a23d90639c3393082034e88b9a3de1cba53d0000000000000000f1fd753aca50653c00000000cf26b2344b4c2737b98df23af6209e355a257d35a51f41369d401d36915ce1354b2210334d21fb3427aabc34b3eaaf340000000000000000000000000000000076d7d3345ce52934c31962344008ef3483101935784f57358af6053578d21e35000000000000000000000000000000003e499b35891e8835553ceb3616ac993500000000ba9192349d360b33000000000d6c5f35c1968635f7547835a118833592981b356718333f6499a13e89be5235000000003f51303f941ca13e00000000000000006b3a233fb8447c3e0000000043adc33265f0fe3edf11473e0000000031e93a34fc41b93e20da1d3ee598c53400000000ad29623e9f0aca3d00000000c0d1543529918e3d491c863d4fd63f35000000007dcf1f3bd86ad63b000000004db8a5348b86a1386f16a239856f5c35afeeb334c3ac4f35940a0635690b873405e9cb340c999635be8ecb341e874a34a9158f357d55d5357911c035ef51a035f20207360e19123672f6f335569a10366ec92b35ae073d3539312635a2a8e5347db00936576e42365badf236821d273611a096351a18e435e382da362b2e99356ebcf23437caf8369aec4e373dd216356933d03426676835a1335935b08822354a1b9b34ea34033f87a1013fb1739b3425cd7d3211b3033f13dcfc3e81eed033214afd343567ed3e5132de3e02130a35cbe6d03575c0c03e62efa43e2ee2db35abb18a3458598e3e113b6d3e33e9b634b93ea535dd1a393e5e230d3e3e92e03577b744351d8aa83d287f1b3d51736035f91dd2332c7f5e3b34e78b3a1be84f34dce29734c95e8339b2a6fa38c7340e35ec1c6335b8119e35b3b4653556501b35fa1eef33e9b5823400000000000000000df1533574daaa3546a12735ecd008350000000000000000000000000000000038b722355e6629354812c8342a43b834b66b09341b45003500000000000000000000000000000000571c113700000000aad261347f57b834f42e8134000000005096033635912a36d299fb354bb8c33508fd043509b89f3ed72f343fde58793400000000a53aaf3e4da22a3f00000000a15af434b35f933e05b6183f000000000000000068e3723e5f20ee3e00000000e355f43460983e3e01e6a23ee30c99330000000028691a3ed287333e0000000000000000e145bc3d63b1443d00000000e0aaac33472f2b3cd90c9a3a000000002d516e350125df397f97ce3583bb1a3520e3d1351f368036d44a13363cfe993500000000cefc993300000000000000004b6d9234d2d30435cf239934c12eaa33646245356c3dfd342c588b33664c8f340000000000000000000000000000000000000000baeb23310000000000000000f1351735fd67ee34be900b370880a634000000000000000000000000000000000e601535dad73e359eda2735bfb12b35d8bc93356b91243e0ff9593f3f389f34000000005996263e787b563f00000000000000007d29ec3d51743f3f00000000d992d034186bd53d5ad4143f00000000000000009f9ad03d7e0dd03e00000000000000007bb6d53d79ca5f3e00000000b434b3344244bc3d237e403d0000000000000000d676d73cbc627a3a000000002682883452414c3ab5b64c35b4320035b64e72350ad4ab35e2163a35c89c14354f8c2e35dc891735930b0935a8d7c03411be4e352bf38635562a1d35bc0e2c352e7bfb35e028c135601e3f35f38e8b35f9c58135a9856a3558d73e35e0cc20352b8b8a3550e2eb3610591637b178de35d3393034c314a537ac52eb37d5ab9c339a9f86358f9a9e3560ea9c3577cc5d35b5b19a34cb9afc342dbf1335f8339c34390783350f39323d55bb773f28451e35f804d334d41a583d7b25703f53dc8f34f1b6a9341bb6b43a865e593f0000000030b5ee35b0279b3b81f8293f116a3335e6491835aada1d3c50effc3e546c0535414b0f356a8dc23c8e219a3e6e5465353a1400345740213d17c4ec3d40cbce3368a3eb34bcc0163ce5a2a33b18f2ea34786482340e758c37576d2b370036563400000000000000000000000000000000cbe42735de82e4340d20b5345e60b5340000000000000000000000000000000021f530344f7575341e525e34b6ca79340d678b352e8d523524653b35bb076935d081b83429ecb336b88e833714e27f34f85b9c34a7ea3b37bdf4c637b2e2aa34a80da0352c020c367efaba37aa2f95350000000000000000000000000000000000000000000000000000803f00000000bf53c034f4c22d385a6b7a3f0ad79a3400000000d6aa3f382de15f3f000000000750973457326f3817e5343fe5c959340de48435ddc5af38d35d023f3cd046353b167934b85b433a272fa33e9c6a35346e7ace3431d06838b631183ec4e3ab347d91b735b82982397a54143dd4728e35000000000000000000000000000000000000000000000000000000000000000000000000d76893332f0c0a333f660d343b74c833a7218a342071cf331a325934d3819d333e7097330000000000000000b5a34730d4649e3029759a30f464ba33770c073539641435980e0435b7a61835189539330000000000000000adcb303333392b3270b453322e992932fb972a3200000000000000000000000000000000000000000000803f000000000000000000000000d217803f76947e32b4dacc33c91c3e333a46673f9d229233f538a033000000009ab2373f0000000000000000ba125630390c033fef9588306b8b0230d270e6340ba19a3e74c70935cd070f35712d56331a1df13d000000008111973216b51632255f043d0d071f32a0c5143200000000000000000000000000000000bb4e6433140f9d3361f78034c8ecd03312e84c31500f213470762134e2225834a272d93482a7d5343037f934799d1635f9e3db34f509d234369fc0346c56ab3400000000a74ca5320133b3329a3994337ce42d35960f31357d91383557b865357cf0983497bcc33407d71634919289345efb51331bc07433de268033bfbd3c3370ca143526ad3535f5a91935a04b4535191b2433fb1b753f086e473d7412eb33000000009740723f8834cd3c7b202734c8089734a3d3693fb4045b3a93640935ab3bd4344055393fbcc8303ac939a4340000000069de043fdf67cc3ac3a9613357d20b350296a03e9933f03b202b5c35c783a2347689ef3de62e1e3c7eb78334278f5d333347043d8b776d3a97527e333aaf01356ba77e3af1a0303aca5147350aeba533b188f4330f39f633e57ddc33dfa9fb33416aa9345db88233212a803369733034d8653034685232348d393934017d87341fcdb0345ca08034be208b34260995348052f234f6a8893400c9a034b18a3f34739b3b34f9843e34f54a4034e5ce1434a18a8f344192b7331cf9f4333988be34d2510a35974d8b34aec29634657e8c34fbb8bc344ef29834bd8290349f4d99333eac533f63b31a3e78fcc733d6138d33e94f4f3f5364013e330265332c1a0034bce34e3fbde5953d1fbc2234c4658d3488e0293ff5bc633d4f4f7f34ca4a8634d37bf03ec6f8713d4cfc6d346c031b342931913e391e473d545b2c341ff63134927fbf3d44e5403d18dec0334cd59f3466f5453ce1638f3c40774834086f7c3428ad3b3a6133623a7b678434509a4d34033e9b342cb3de348f1d653474120535cbdf4435913b753527995c358780a434eab0703545bd433543bed034d00c91322be22134232d143487b23b3315d4de343bae213539144935691644356151d234ff615335f18e303503b2043500000000aec1f33925b39531000000008c9230349e70ac390ac5fa3480eaf334c85a9334dde190397556b934c7d8bf34a4105e34818b313fe125a13e82f98d34c4aedb34f4cf2a3ff36f973e51be4b357bbc703436c42b3fe21d583ec99ebe342a8d20335e32103ff6e81f3e9e40dd33c69bad343e68d53e30cace3d499f2b352114a634f530883e93d03a3dbad60235b8730c32c146e73d5ff7af3c00000000faa3703387ad3b3c7b579e3a76e9bf347dfa6a34aae8b93a05dc9b3a5c6daa34b54371347b36f238a07d2935c23db1341373603354c24634f43e7334a5821e34220ad534be87ff34b887f6344a76ed34006d053538060b35338a3d3568e1fc34ec1f8533593ac333df80e533dde09c33d81606354960333a58be0b35d7f521358778de343817d639ec0a11351ef7cc34775c0b3492e39e39bc3c1234d632c733c1c1a534c51c183ad30aaf34579eb934885571342e49053f9a25fd3ead0b9b3468f2cb329f68053fdc2df03e45d8d933e30aaf347df0013f8db2c43e288fd434d288fb34b6c2e03e7ee08b3e58bfec340cea4133240ea83e29753a3e2f509433a4d7da34dee1713e46e2933d427f1d35c611ce34b22aff3d34cc373bd4d2c534a5200c3496d5dc3c9c79833ae3bece33806198348ae3293b798f263a8bd3b234dcb69f348ed54f3a3f23da34035099346841bf341879ad38bd138034827bff3300000000000000000000000000000000c211ea3400a15937d22c0335ff85ca34d1f82c3554305435054904352d83df341afdec33d377ba39032770337b7ca633f45ac43432883a3a85c103356e1bb534ffce593509439f391d5f2735e1dd17353b14ac348df08938cd9a7934c2d48934a06287340309b03e84d52a3f63a17534d7ba8c348844ba3ec872243f6787ab3200000000103aaf3e0ee70a3f5c411e31aa67ca3495319e3e309bca3eaf47a8341c661435c143813eda11803ed4a29934cbec8c3393bb4d3e3798ca3dc35caf338dc0b6348543093ec0d5d33a866d8c34525e3b35c1f3583d332e643a59c9e734d93da13478c0e53b3e0e8d34634878342c2969341c3b7b39f056fc341ebc5e34449c8334794bc43487790b35357bc534995c0734e78931348e8f533498e80134fca8bc3327c65d34006a95348c2be833abc39634be25b434ee57ed346f0db634775f9c343fab96345458aa349926a4348adaff33efbe043854c67434c8d5e8337a508b3369ee253428e491342ed73f349891d6330639f733ca03df33c78dc633f6f14d347890413e22c2523fb0776f3442eb5f3484bd483e0e194a3f775fb134e14feb33bbf22a3e8301353f91fc0f347e03a233a788243e9b46063f7a291d349f718a34031a1d3eabbbab3e4556a3342bbf8c344815193ed338163e82e7ac34de890434e50c073e8f540c3b2af21a34f58e89331ba3a23d8c33f3386f601634cd43c6336d8f0b3d11bad133a9a4a433642f1935e517163564b662355b690135d5c23e31046fce3314970f3400000000f5698634cd559e34b2fb9a34932b6834aa4f3e358eae423565f95e35cb440c35ad1b8533000000009fd08c3200000000dd96d1347fb1c534bde2da3414e7ec3492bfee34e8d0c3349ce42c35bf76a434fa191f3464a67a338543a333000000002f000134ed451034dfa70f3425ebdc33930d23357334893d6346713fbcc7e634b640b132aa1a963de3f6663f0000000051b26f3457f25a3d3211553f18e16034e9003835c5ed5f3d3c33233f7b780f358b08c6334f835f3dba24df3e00000000c577a03445fd6a3d51266b3e18fa023585dbc9342804793d586c153d0c0ec034cd6b4734c78b163dae835b3aeab6f73244f5e3331d90693b2d431a3857add13300000000000000000000000000000000e0e8183295175832d11864327ea23832b435a6320000000000000000c349ff3225c70c35fe1c11357c3a1135dbe3ed34c2626630a3de8530ec9b6e3044e7703000000000000000002b360a3400000000d5c6cc33856fa43300135734be45ed337962a3339f5f163300000000000000000000000000000000000000000000000000000000000000000000803f000000007135043274701f3246cf793f86601f3200000000000000001e67633f186a22337a25083523ee0035ae33343fb11cdc34eefc7830853599385fbffe3e7d334d30000000009c03ba340e33943e00000000e986a0333cf5b332ff5cd23db407bc33cfd8d132a3281033b56ae53b0000000000000000000000000000000000000000000000000000000000000000000000000000000038b5953a000000000000000000000000f36991390000000000000000000000004f47fa390000000000000000000000007422433a9c56b336000000007aee573036fd8e3a1b96e0341bda1231000000004dd6423c000000000000000000000000fecf643b187628380000000000000000000000000000000000000000000000000000803f0000000000000000000000000d7c803f00000000000000000000000005cc723f00000000000000000000000012013d3f00000000000000000000000080fd053f743639380000000054bd50301e1b9f3ea08aea34226e0d3100000000859abc3da8ebd0370000000000000000d6a6323da60d9e3800000000000000000000000000000000000000000000000009df953cbbbe96393ef81f3500000000e1f9a33ca2abe5390000000000000000e875863b1eefe2399bf8a1330000000037b40d3d8fe6e339bc17143400000000dce43a3d6ff7e2390000000000000000503a853d17ccdf39addc4f3500000000a3a0a13d4695e739e431f7340000000061279b3d7736db3900000000f5bcec30fb064f3d52e582394775aa3400000000a0b26a3feb679c3a28bc17350000000008786a3f92ca033a000000000000000066066f3f0efffa39a58dbb3300000000b15d433f6133fe3942ab94330000000018ff093f045bfb3900000000000000004f80a13efa670d3abea2533500000000e5f4ba3d29a6ff390a81ca3400000000333f1f3d9ba5f239000000004f4ae930b9e6843c875d9139e212a53400000000904ea03c882286390000000000000000dfceea3c423bbb391c33213333d00b30f146a13ca0c39e39dbecc3300000000071114c3d3d54ad39ab97292f00000000b3ab4d3d4462be390000000000000000e169863dd0e4af3900000000000000008aa0893d8eb291390000000000000000589c963da55dae390000000000000000756a3e3d729d60390000000000000000712e443fcec36f3d00000000000000001c95423f47d9133de96d2133523308309740453f0023cd3c285e053300000000647a2c3f1db6503ae976262f000000000432fc3ec8ee2d3a000000000000000086fba03e5b33713a0000000000000000b62a033e23e3683a0000000000000000c2ccf33c8dafce39000000000000000072129e3cedf78339000000000000000004d4643d03285a39000000000000000058f9653daa06b739000000000000000038a3a23d3591b2390000000000000000e021063e0ab79e39000000000000000085c9063e61a7b839000000000000000072f50b3e49c198390000000000000000dbe6103e1b7ca43900000000000000007858133ed49d95390000000000000000fbdee53d30a1413900000000000000006d13183f14f03e3e00000000000000002022183f0dbd153e000000000000000015fd123f45aaf23d000000000000000061d6063f506d5c3d0000000000000000f91ccc3ee685dd3900000000000000002a64863e0c7f0f3a0000000000000000ee08023ebf90bf39000000000000000057dd0f3d1fb7b83900000000000000005ee1b53cb17d68390000000000000000cdaab03db21d1b3900000000000000009cebc43d3ce58d390000000000000000c4c0db3dbf21643900000000000000000277103e7c1b86390000000000000000fb47123e2a0c5b3900000000000000003531253e8bd68d390000000000000000ea0e1c3e7ceb5a390000000000000000e2531f3ec38872390000000000000000a203033e27c20e3900000000000000004997d33ead75af3e00000000000000002280d03e75ee983e0000000000000000324fca3e25b0793e00000000000000004441bb3efe8d0b3e00000000000000005052963edd90913d0000000000000000b0e3553e1cd1e23900000000000000001d6dea3dc458cb390000000000000000c8cc653dda0696390000000000000000729e3a3dfe7b3939000000000000000088a3c63def2f3639000000000000000055e1de3d233d94390000000000000000cb6be43d182c7f390000000000000000f7b0033e364e793900000000000000001ea81c3ef6a5a839000000000000000024f11f3eae1784390000000000000000a277203e4cc083390000000000000000eb5d0f3e52ab84390000000000000000b675f33d4c550a390000000000000000f9ad843e477a063f00000000000000001cb47c3ea7cdf53e00000000000000003d5a793ecbc3c73e00000000000000008bbe6a3e2e34843e00000000000000004865533e848dfc3d0000000000000000d2c8153eb329883a0000000000000000cd8baf3dcd8cfe3900000000000000001c689c3d2e39a83900000000000000001aff743dc956383900000000000000000d61c23db84082390000000000000000c5afc53d6898ae390000000000000000d788c43d0657923900000000000000007951d23de1f29f390000000000000000d16ee03db15fb639000000002283262f7daaed3da3a7b439000000006c5d16327d3de13d921b8f392681f72f7aa02233b54bc33da17298398a3f9e3000000000c0feac3d87e54f3900000000000000008b76fa3dfe3c3a3f0000000000000000e977fb3d5531303f0000000000000000dcb7fe3dfc6b183f0000000000000000408eee3d7fc0d23e00000000000000003630e03de3777e3e00000000843f242feee1d63d69a7873d000000009c8d0333c468ae3dbf86b139471f0030c8b71833f151ba3d180ec13900000000000000001b9da93de83c7e390000000099b0b93477ef0d3dcd606139afafed30000000006e7fd83c5466ba39000000006dd112353586be3cccedb23900000000d59d85355531aa3cff41a939000000000000000051f8a73ce9b8cb390000000014018d340ff6b13c120fbb3900000000fa3b93344776d93c3ac5b23900000000000000003d0d003de020ba39000000009f06503538e1173dced95a39000000008555a7346df20a3dcfc35f3fac59e9300000000099c12b3d0055523f000000001375c4344fa0453d81aa433f00000000464a6f356477443dd1820e3f000000000000000021323d3df82bb53e000000005629a633292b313dbc7c123e00000000e7d558346e89273d8485df3900000000000000004183163d067fe039000000007f242a35452b0f3d247e8939000000000000000000000000000000000000000000000000a0b8e5382b4db039000000000000000067a3233898506b3900000000eb0d0e31e8e64837dde5623901715b3000000000336ca038d553a639000000000000000043be8636cb588b3900000000000000000000000032b7873900000000000000006d993137a9369839000000000000000000000000000000000000000000000000000000000000803f0000000000000000d430d3382c9c753f0000000000000000af7119388e7e663f0000000062f60d31949557374999313f91cf553000000000f2d19438643bf63e000000000000000000000000687f883e000000000000000000000000fd04643d000000000000000094993a368cfdc13a00000000000000000000000000000000000000000000000000000000000000000000000066b0353700aeeb36c88dfd36aded8337dc15a837efed2a3746c76537c202c837574cd7375081e13685eb7437d83015382ba60738f055c0368469bd37611b5838667b8e37785a483792647e372bb9b8376623cb37c1dcba370a8aba374e90da379dfaae378456c437e275a037a4dfbc3700000000000000000000000000000000000000000000803f0000000000000000f3564135e6f17f3fc8a3be377273473751d45237ea07573fa51de43767379b3763096e37ab112c3f902b2838482dbb37d1026d378b8c003fa2b268383bd71738dad554372a08aa3e1e8db4374168a53701fd9c3764c7293e56cacb37a98fd1372d3a4837317869383a1bbe373f27a137000000000000000000000000000000007f992c365f0b513790c76737094c1737ce10643596bbf13618836a3709008b37584b54361d6ef435e941a136504607378317ea35b2bcde352d5a563758be06384998aa376f1396373e2bdd3708771b387cab92378df18d375dbed037597006388e148136144f9036c8bfae362fb9363791784337736197379c849c3717cba737373f7b350d354836e83ca636eabdd536e220e734ecf37f3ff1cd5a38419e6f36cec1263586797c3f149c5d3c6999ae3695ccef35f70e543f0df97e3c39eba036dc86db353a392b3f31830d3c65691637c84cdd36f24aff3e7899063968c0db37e49376366417a83e88da4538a0dacc377e9528365274253ef935f7379ad9a536823a9336548ac2382c3de137b5628d3799b278353dff21372b83da36d842f3350cd80037a0ecb33730369f37e38d6937d0ff0437faad913720ba803730c86237b87f9136b406ad36132bd836aa24f8364c57a6376c6ec4373d00e037ca1a0638d52f8e37fb92a737eb30b837d8dccf37ea3df53659f4ff36f69d5937f427933771422d361a4c8d360f1ffd36e70c1c37ebe0fb35f136923711b18337ae657b37ded84937716aa837764c9f3702b1a637a3ed01363d4c553f1b992a3e7c98c3364e634d367b84543fc7bf2d3e1936bb366e6a8136b7fd313f520b263e0bd18e36eb5847367461133f3e45e53d157e89373089ed3690a0d73e5f299f3def8974375e0bc5366392913e6fb5cb3c0a6afb36bcba26365c2d1b3e70104d38a84d34367380f235648f4238e48af337ce700936cb579436f68ce837c2c1be3797112537fadd2a3770f4113868d8e337c4681c378fdc7a35eb17e737f7496c3797be4e3595936937dc059137f28d6f371a0f6637d4e33137dd2c3637ce6a33378705353769ea7f370d6e8c3717937d37e94e803783e8e5372dc20938854002381f40fe378caf2937341b5237398051379c3a42373604cb376e1e10382977ff375e13d5375d6a9537c35bcb37ea3da837ca7d9b3777760f35cb062b3fe1cda93eb92e10365be76234d7b92b3f5f69a83e96694a34732c28364e72153f680e943e485a4536e1c4f736ce42ee3e1ade5f3e92bc1137c351d036ab5fb03e21031f3e3790dd364c6c2f3669e26a3eb03dac3dcbd617372b3abc36466f023ebc7c6b3cf23d0f3792fd0a37f7b95f38ff773638a4cf69373058493727091738b782d537b6e86b3701f98436aa7e3438163ce4374985213606a4d0371cd41b38c9b8de375c0c813723753d37c5e87537dba2f036bf42743654c8cb37e7c8fe375a0fa6378f9c6b37acf91838f2472f384546f2378bcba2378b0cea37d9400638deabdc37a710aa37f7a8583715a6903748f868373ac736376fddfa379fe7123881ea02380f0cd537ae4d55377cb9a43737ee5137bf40a3369ea4173561b2003f3479fe3e0630163567f0683679c4013f0e4dfc3ec6aa0836772966356437df3ef61dd63ed024653501b506366ea7b43e7de3a93e834ba5353e004c374067843eef0f773e5d9a233791600f379c172c3ec397163e4e308836cddb5436bd86a83df3ce813deab0ce355955a437c14854389fad3738f1e38737e9267236539b0e38e413ce37a5e03b367c038d37268924387404d337cdf6e4362370ba37d9e31a3886d9b3379bd95836cdcb45378b624c371c9f02370aacc0367d10053846771338fe828337f344d336863dba375ee5bd37c61d2c37e89afc3648c5423716ff4337559a2e37b023283789a8ab378197c737f6218f37c66554371efd8a37c3d0db370b196d37e737aa3569e0b037d47ac7371a6fa33758604b3726999d36d61cac3e43e1293f4d5812365b60423623c7b03e6887273f5e7729362a1ab03604de9a3ec8410e3fc19b8436acf25c366d34763eb54ae43e4bacb6355527e336c02a333e717aa63e6eeace3623e32837c155db3d3ed2553e77d30637ba6b4537c793e63ca55bca3dba215336ec9e6635fba45c38c8ce3e38ab708a3449e14737800103380d0fd7379d4255364c519337eeff0038a04f9e37f6a84b364ef75537601db13720a2f43597a9ee350ed12c376c063637bc9d2736d3132636a3cbb03725e18c37a395d736d3f0ce36f58b7939a5bed8378a5e5e378e500f3741951a38483c12383b83a837e0a96337492d9837bd599437bc08a236fde78f366a7b9337a075a33759007337732214379529933743539537e7986d376aa21937e81295362853303e6bde533f477f84357cb2043606d13d3e0d7c503f364acd35a431313604af323ec1822c3fd7601736ab1ff13688520a3e163b0e3f888797361cf08c37d591c23d62bccf3e94b8e036167ec63762a53a3d5882883e77de4b36c728a6369defb73bcc0c0c3e410a873655a76437862a1838c0c20e381bcc623623ac7c379bbaad3710458b37d1c61d3643d4e6365ed59137a4247e355e376d350c31b237e3ba9c37e5989c36914af73417ec47376f40cf36a9da173638a817369b54083845ade4375e368336cf920636c8d23138b947f837e24c393710222a37eb852838fb2bc737e1cee1351668e935448a2937c9c6ec361d966736fddefa35eafdb037ad85a1376cc1263714409035bc4c563770bb18371fe76b36b6734336df1773354c6fb23ba28f7e3f9d205c352a536237e4fdf83c8e2b783fb6beb03463b494366ea5f33c61fd4e3fc3a1e235a753cb37cc2ebc3c8105263f0c00023602b5e8372ea2823c3557f83efa04fe352e8b963759a1d8396dcea43ed0b6e3351b6dc836fedf0438b6c01f3efcd2f635a8916d3760563838820b563801455435a8022437ff78873796220337d5eaf03500000000000000000000000000000000b726c7379034a037e4a0e0363882af3656d9df37e1cbb4378e432d37a121743782cab437be2188370cf9b836bcb92837d5dd5b388f35fd37659e9736e32bdd36ddd716383dc1d637b1fd6c3717cc80371a81c4373e2fb73797969237466399373ede8637c9358d373b709237424437370000000000000000000000000000000000000000000000000000803f00000000086c90370d2908386af37f3f777d9836aa73c437607e2638677c553fdcda1d37da6e9f37bb4b6e3846eb2a3fcf2f9836a5632a381c568f38a2b0fe3e08e597364ca8ea37c7f74238a6ada73ec1c5f73648e7ab37e867f837eba4233e93dd5d3733b962374cc4c1376aa92e38030783360000000000000000000000000000000000000000000000000000000000000000aae4b637557882381617c637a5f28f370c2301380a5a35386e2c06383edffa375b75b9376eb3f9371d80d5372257d8374cccec371eb325382eb3113831ee2438cbecff370ca2b838ebc871386bf6703932edf33729d42a38f47e1638d9e11538f28dea3756453e3849f01738003f103800000000000000000000000000000000000000000000803f0000000000000000477167374062703f49f04238b7776d3724d2e0372dac4a3fce3547380f28ee37590a9d37e6c0253f50210c38f732bb377ef7d937233a003f286a4b3804a30138542bd137eb0ab63ebb3a973917925c389856c63799d5593e960e2738899e0638a0e4b137578b863d6faa1d38848f06380000000000000000000000000000000029ba5737084bc13920590b383f65c237478237362c269e39f317a437411f6336a3b49d3765147e38ee884a38212ff1376845be36ce7ea9374301883714706a37ba94c137b62b82389c7c6d382bc43838b0de18379ed0e73712daf137ce14d6378c918e36e8771638ac2002387ce7a1373d0408368678d537772dac3753235c371e47ac3790374338111c2d38f17602383986c1367b2e6f3fbd47853d21eeae373ced113639e55f3fc69d8f3d27f052360fbcb6362f273e3fb7677d3df8d1a937ae3c8636fc551c3fbd73343dc2f53537e5d38e36a258f13e953ed23c42a20938e75c14377965ae3e5c869c39aeb3b337d9437b36a073503ee479363863bb313738790636cc148c3d3c71cd376b140737c020d536297c5a384ea93138ad7fd8371ed30536dbefba39cffb1438dd391236478b9037467f8f39ed971138f27d9837013e37366c7d6b384ffcfb37f25f413658c67c360703763852061c380e5f9e368f6685373c7b4c388e791a38eecdaa377d24ee35d30c4837b4552f37d9ac7b36457ea7363b082338fa310838f3d2903770fc78364c9724386a14d537a4c88336b42f203762d11338e4a2cc37be345d37fd0bfb3585ee493f3c9e573e7caf0c36acfa8236b6c03f3fd17c533ebbf863378d62ed35a871203ff1d6313eadc02b360f126736a88e053f44c4073ed1ac70369cee8e364107ce3eb567c63dd2d87d374a1fe935c521953e7a09553dafbef235fd110e36e50f383ec9a4903c9bd826371fae7636049d783d62c6253813968336cd714036dbdba03857b2f637c9b64337971335378f47123aa393613887c17e359bf9b3364dba033c90abdf371c57b136de3f86378cd4833873032138207d6e36f75a85378e1ba938beea19380ef36f367b2ab737e1f22638c0350938ee059c37db0ddf37be958f380f0266386e0a9f3756cc9a3681f1613877bc1b38cd742f36b9b87c365954123877d3933742b48536efe4f337b3c44f38a68a273844c7b0375bf87d35515a253fafd7b43e26eb7a358b3ab036dde61c3faa12ac3e3b33b036e74a613650fd053f2f2f903e5a696e3676460436cd19dc3e48e6643e8beb0b364efb62375b39aa3edf7e2a3e3d047a37231fdb368d00743ef5cbd93def9f16378e04223675c7133ebcb44b3d1b002e36a07e7a36ac19533dd3cd1a38420f853614329537f4149d38e1d43f380c697937ce7e56378d64cd39e012eb37d7951637b6ad19379bb4883a483bfb37038c5336440b963725cb733918290638e7c33c3797c136374509243862999d37280c1437ff060e3871a92e3a434165381889a9365a40313796c403383350ac3757e01637b89a9437a4bd2c389e2f0038ae335a37d3e44737effbd939134ee737d7b5653656eb8837aa39f7372efda737fdc93b3728390e37cf99003fb472fe3e889e0337b6815b36113ff63ecf26ef3e0bc65236d2094937c874d03e4407c93ef45f2c373e8817376b8aac3ed764a33ed32614371167af360e9a833e0a06783e471da536ee1b153759ec3a3e2903253edb1d173751205737dd41e23d6f02b73de51a4d37e0695d364dcd183dde5c573c61f95e36215b5637e7f210383cd6d8378f312c37ba7ece375a73cb3933154738c1587736da138536d5e7fb392308b93740a173367c698c37ef3d8b380bc7fb37b2bf1d3677cd223838c39a3803c54e38410ada36f173e53716fd3a38bf81fa3733825f37e518bd37c8005c387a7403382f040536e48fc5371fec4b3847c10a38bea96336645625379dfd4b3806768a375250b336d84b0638cc3d66382ff61b38752d8435c82d3437bacbb73e4be8233fa81577362aad8336edb4b23eda49193f92a372369acf2c364b01993e9fc0013fe9391d368a4f82376011793ea5d5d23eaa65d9369c64a2378d0f3e3ec561a13ec6dd543726b61c371ecb033ed3cb5e3eb4d505368c8832372fee913d86fafc3d3f2263364ca9b236da03763ca508e43cd949b3360ce29337b2c198388b665238afb486350d387037f7a9a139dced0b3807a88c355370ee3609da693860dddb376a4570360156cc37720b6a38ad79ca3749a30836efaf0337ad379c37124e9036141ae335cbabf937849c5a38a2b7e4378fea8d364baec837ece96c387b3ac53788156436587283371e4e3f38818c873742890b36a7c9f23773d61f384b4d0138759ffa367ff9b237919116386797bb3791c9fe3538a3f6366bcb5c3e8ca4483fd0508c35cd1082366f97593e88043a3f4ba56d363da920379b81413e44091d3fcd3d09365be4ef35e75c193e03bc013f6944e435fb21ad37f051e73dfe6cc63e07518b36e60bb136511c953da1988b3e03fb65364b084f368abd183dd6fc253eced1f535eecbc837e99bdc381b8e333d161b8d36855e4e37fda42d38200e0938883701364d4c043862191039dc8841387bc99a36c9b46a3756d23238858f7937d92dfc35585bd1373aad41385320bb372b624036bdefee3789ad9238a06687376e641237a3f25d38d0998e3844fe28385d7d80366bbf8737c88a45385ec93537f2557f36350e3338db107338a7c418386cf8b73602eb4837a799d337e8773537b76b14363f3bf6372c9909380964d637eb03ce363ef2b0371f28913d54ba6d3f659b9936d9f09636756f9d3dcabe5a3f2e75f7352e9a2537d583913d81a3393fa7773936165ab33779db793d260d193f25ff113765352b3867202d3d91a5eb3e63e37636f26663373fd58d3c67d1a73e617c71363acb0638c9eac6392f58473e4e96b036f3028f362c850339d043603d116d143629ede4379f2513381c6ff837e210ca36000000000000000000000000000000009cdd10389679d3386c922538ff66ca3647081b384ce53938f3821938ff0910372af9683930769e3933f33538d9a83637b402263816dd4538d1ef0a38b7ba943734e2e037d8a30338c0b2d437c59a3d37d26009381375183857e50d38681dbb375a65c637dc450c386c2af937d22b43370000000000000000000000000000000000000000000000000000803f00000000ee11fd37a02ae139dcf66e3f9fe22437d1da04386a89c9390856493f007e5537e2a64438464d283a827d243f05246537a75c063801410d39bf4bff3efe15a037f611cb378035e738273eb43e0a183f37f8a80138df6e4a38dee3543ebc7eb537f9cca437eea9253864a2783d8e31133700000000000000000000000000000000000000000000000000000000000000006e5a3e39dad80b3abaa85a39cbb68e38dbc5a739c4340a3a15b0b13964f972394eecc039bb483c3ad788c23958a1ad395b128c39a0d24b3aa991cd3984c84b39da13a239ce9dfc390effb939a0798f3901d06439aea4d439028192399fbb4639a45fc339ec4b1c3a9d70e7396c3c9f3900000000000000000000000000000000000000000000803f000000000000000082e90d399134613f794f9739fbb2973841049a391863403f8f47df39230756393f71b339b5cd1f3fe16ffb3977d59839e26b6e39cac7fe3ecdb8163acf924f39d7ff9039de03be3e8ce2cf3995e98939400f3839125a7a3ee7a1a43999f542392440a4391858ef3d3c27ed392caba23900000000000000000000000000000000e71bb7381c4f863a9dced539e72589386247fe37697fd53a0cf60b3afb47f637850bb638e304753a02bbd639e3f2cf38fa87213a8cfb053b14a3833a15e5183a13d09637fd976b3a2e997239046ead37c6fffe37a0d6c13a59dbe439957f063859be093a4342a43c5669b13a2e1b263a1a7bce37cbb1893a84a48938e7d1e1377bd768392ad7853abcba3f39983fa338ad71d637d1a4613fcdecea3d576e9b38b73be33751ea473f630ad63d39b6f837413cbb3799ca2c3f6327c23d42f2ea38484b063adf160e3fddd78a3da327193a0ea03037b8e2e23e86f5613d5ff8b8370e4edf3793e8a93ec35b1b3dc51c0638c6e9d239c50f4f3e20de963ca9d8233aa998b237ca4de63d22044d394fe0de37ad427f38c7d18f3a43de4e39c329a3383077fd3724bca33a5addcc39807cef378e3b80388bbf1b3b06d9013a32e79e375228b238be3d843a178bc539ba5eac379a8388392652ad3a04740c3ab31b9738f1a23c39757b223a4bb5ed39fd8909391a48c5394889dc3a4c1c3f3aa485c13955c286399b704c3afb171d3adf697c392ff14a39efc2f73a87bd153acb9216396a69fa38c1f6083a50d4a239002936387cbaec3758a7403febe6783e97d6f037699a9637238a2a3f9ae3593e3368a137e736bd37beec113fecfd3a3e54dfb637ca09ea38bc38f33ed0c3193e4cc6ab38136c7e380577c23ee25bf23de4c50f391de272397948913e449bad3da8e5c039bec2d5382a48423ee97f583df08572393962cd3796bfc03d53f4a63cfb081039479f32384c2f1e3aa324ba395243393841dd2b39f648703a2da5fb3932f405383cf17238be5df13a22a7f0398d32b937bf2eec391f6d893c7075553a091b4c39d6fb2c3804cfd83a7f11da3902e3e137141c49390a02ae3c03d12b3a001773372a3ce6385c20933a66bfe03947c22538a4b67438de18813a56f41d3ad63d13383f62053808d8713a9cfdfa392e199437f64698397980373ae454033a3922b23881271d387580203f09e4bc3e6c340b388d93d03723a10d3f48c8a63e2e7cc037f8988f39c4e8ee3ef1578a3e9a006f3938b61a386924ca3ed5d36b3ee383f037f2bb80387b3c9e3efa87363ed7607e3744313a38c5b9713e24b7093e73d82838fcf02e38c843203e0cbfb23df1e3153855cbd937e8489e3d8a34233d2fef94372fb137394b62553ae659143a4d44d638371d6238a1b8933a3b13b139b72d4b3886ef4d389b57bb3a02ccc13997e8d43707420a3880ad7b3a09550e3adc1cd3373d4513384713723ae65771399e6dcf375ea8b239230ac13adc4e873ab239253805140b38f101433ac4fa6039d287f53778e40b388fa25c3a7384053abde1e23721a755385646853ad888a339504ad43720c37538d340483a4fa69839b79e3d3835514d38fa12ff3eebd6fe3ed8c650386cdff037d0aee13ef36ee03eadace037e4fdfa37df57c13e14f4bf3efaabdc37e92b0938d361a13ebf439f3ecce5d9375629473883cf7f3e62247d3e714528385a59fa37cdfc3f3e5a6a3c3e2478fb372173fd37bd36fe3d737cf63db41ae737b3640038427d7a3da4c0663d8292d637404566388e05663acac7bb39ee523f389edd8839c78c493a6cec1d3a11315638a988eb3701b1823a25541c3ae2248f373102f53847cc8b3ae4de1a3acc020638f23b57399288a03a787ee039e5961238d9427a39da3ee73a4dbf4f3a63c25e3726522438f134ad3a8f31cf392dd5fb37b02f073ac9de773c08484c3a377a0539c2dd1c3964c19c3a4f0adf39eacfbc376fc57c395929163a0b67e239b8040b38a24c0c39d561be3e78811f3fcd2b5f38c255b3372ba8a83ef1e30c3fef379737dc332a38641e903e343bf13ee1a71038e947933893676f3eaca4c83e84b01e3826c2ed380be8393e4eaa9c3ef064863762bc0e3894fa0d3ea2c36d3e77f403385628d039f4aba93dc3fc133eea7b1e398750d737b346333d727f953de137be37243b15390cdc173aa5f0063a7a3a0f386b140939364bfc39d359e039b38e0e38742dae39129dfa3a41c38e3a6511b237f8edda39500f4c3a2993223a19628c37f1960f3a87a8c93aef25483ab560aa378c1c9d39bfbe153a2e58e6393f2a913762f6ac397b95703a360e163a52e8cd374f1536396a452b3ae2bfc839dbf58d37a7126a39d971b03a89eeea3911ba863745bc44396291303aa2eca7397fd8e137c8c84038d76e793ec0d2403fc10f1b3853904639d16a5c3e97ea293f46a3b837cb949b397c813c3e4baa113f77469a370dbfe5399aea1b3e56b2f13e5409813804625c39f1aef83d592ec13ef699943791cc5c39bbcfb83d29658f3e5b63d5371c36a2387dce703d63313e3e695491379346fd3853d0d23cdeafb83db2d48b37b47afd38e27f323a685e133a9204e63706a2ee3864629f398833703afabb28382952f9373716593a5c560c3a65966637a6886c3a9021a03c6559993c971fe9383fef39387306a93a358a1e3a9b9e9b37f8a62238fc3f233a84069c39974e92363f52403adc7dd73a47c0933a8d109d39a8c2933990ec053a0637c13963213f3725271338b1dd653a8796b63931fbb437b2d76939bcb3f039eb83ac39a6dfa9375efcaa385ba3eb3df26b613f41473b389c86e537916fd83d2c6c473fbf329437bac3323adc7d8d3d5080253f39108139a8061338d469963d63820d3f6bc6b437805bf13793a66d3d83fde13ed966a53688982c3abc02213dddcaa73e91b2bf39eb8b5c39d3ff2b3a5200683e5727533737420938dde7813a5323e13dec29be372b7127395305fb399d6e063a9c91ac3700000000000000000000000000000000354ac539997f0d3a03291b3a26bb1639d1f187390aafc339088acb39419b4e3831d1ae395427e939f7c6e939d16006391bb69a395932283a725e1d3a74e4d3382433c339fe1f003af7e6003ac1a25b3975cb9c39d654da393b43da39a26626395ca6243901939739d0b1a0396d8e3a380000000000000000000000000000000000000000000000000000803f00000000bf05ab39c23f143aa5a6603fc67d803992bf5b39f280d839cd80403f08a5fe3802fd95393026fb3959c51f3f07fd5739a22a6b39197f3a3aeb7afe3e75831f390d3db139855d103af68abd3e52bc74396f6987394546dd3997d0793e399d3739b59e0339a90a9639eaa5f03d06c543380000000000000000000000000000000000000000000000000000000000000000e80b1b363aeb13366abc3a367f4e573637a39436fee384366e7198361b5e4437a1649637b4552d37ac35a337493cdd37a44b1737d23a1237b546203757b13f376e4805379e6a013704fa0b37b3ee17378613d337a66c0a38167103383a8705381cd6ef372ff2363893b51e386965133800000000000000000000000000000000000000000000803f0000000000000000cb45f03558fa7f3f2afff9367c4c4736ec298f36bc97643ff4f19837449c2c37705698378940323f7ace1c38921dd937078f19378d45003f39039f37318d3337ebb1fd36b41b9e3e9541a5378894153733059c370764e93d373d6d385045063880d182370ae5a238768d4f38d8581038000000000000000000000000000000008b768136742fa236f16d80377c9bc13600fac634261cee34435cab37aab35037c9ec86352c7888355ff5a535293f04373a771d364ffc23368d7e2a37f566563788e9ca34ea4f7736dfce0f3898b0213896b28b36cfae003777ae0938808f0038af268e366291a7361637be36eeccbe360f50083548f7a237486ded374f2ca23701cfff3522f81f3615ad2d364d623336a34a4336bc8e7f3f028ae23a16eea4365443ca34649a7f3f6575c03a21060a37d4de78353708683fd14501396491673683878f351f3b353f504eee380c5e4737045ec834baa8023ffe5d963a7f9b2038fbc49c3540a2a13e580b2f3a7ad80138932f62362418ed3d46b70f39d5dbbb3693180535e94cdd39264dcb3875578f37e63fdf353ff73d3796210f3870bf3236830d9e352f6713380dd38e389bb8a035439c7935e8769137f37f4e38b772da375cb0f73519b22d36f5e9f73634b9a23676ad3c352983943555fd1d37f711a1362de7f435c719df3703ea4438b5bf2e38572e1e3770b372370bff8c3772ab8437965a99357884573744aedc37ea613937974e87350ee2593747548f3769b3a536ce2a4636e106c737ee31f137306a9c3724e898350ac35e3f7be1043edcac9e3560057235d8395f3ffcbe023ec68f6737d591a6354b07453fb7a6023eabc53a361dda1c353d6f1e3ff39dbd3dc5024b36b46af2352386e33ee92c713d304e0f38bf86a036da548e3e3f82ab3c3987733702c491353cb3e73d6f7e8d3ab685ba3691218635635367382e9861386c187d3613713d366aaf3b3873f45838f8653a3752db0836d801e93780810a38bf91193652413336789a1b3706de5937f5753a36384e1f3658594936647b5036deb63636c45abd36963f15376b461a370087f8368334fe3667834e3791328537093e3137193fa336663f2737bc1e2f3770e1d63625827036e17d0838e22919381e058a3758a91c374dca31383f062138751b9c37e06d49366e668336cd067b3671ea65367632ef35fe66303fc6209f3e19f3143638b82d365669313f36229d3ebdf23b3632191c366d19223f6efd8e3eb2532736a118a236014dff3e56b7533e46e9bb3685496e36bb12bb3e302a0c3ee61110373bc54c36dcd0623e3f9c9d3dd79195360df41a3671cab13dbdc01d3c2b0b9e366e7dce35c2feac3884e1883808accc36e0222e368fa86a38c0735c38526e4e3642d67936db08c4374823a936fcbe6f3609770536565315388cb4b837355212358f9e52378cc395376ad467371a6bf236c8d01e372c1d7737fcef38378081bd3616a81c382cd9503801a83538cdb1f1373e7243373a3390371db76e3760c21b370bd4823766abbf3724fead378ee06f3734149e379e9e433833460e382af4bd3668a4723656258236b33080360e2b7b3670d3663616b4003fde92fe3e68485a3632dcae341315033f40ccf93e43bcc0340d3cd3369042ef3ef910dc3ef90bb0362ce09036e489bf3eefbda93eb5bb8d36fb9db7377541883e12766f3e00419f376d05b036f8f6273ea2a5053e4798a13646fd183724ff8d3deeeb093d3dbc2137bde3983560de4f39e492b0380fee4435fb5969363dd650388c5ca437e9897236f901543697758a38ad2b5a36ee8e1e36ec3977373dc82f38a1340137244ed1352c5377373d81c8372d7415363e6013361257f4361d912237208f9636d7432636ebbc6337c849b73738a21d371dedb2365a851d37ea4c3f3769bb04373501b5369a425a3646dcf837ab125c36f2641c3697bd2c3725ceea37738fd836f47f353634543237d114a63745be1236944f0c3617ad323610e7a23ef08a2e3f134cfc35ab1956365676a93e27332b3f6e93c235235a2136097ea03e9c15173f7064113649988f3662bd7d3e5b66e83efde924361f6416377581313e6808a63edd685336623de536ce68e23dafa83c3e814da636015533360e641c3dec7e4a3dd31f2036d5e565365c47c038bd027738e37a3736f2511436fbfe5f383cd48337e7540a369ef6a9370d8c66389ac5f136a4c73a36d8cdcb36c50b98374f908f35d34680351bf24b37ee5343374f99983518e09935ee7887373a5888375eec0137b6935b36c7a24138c6a14e385f5f20372f80f5358ce5a93722da0138553b91357b8f4735cc8c5e374897bf372a96a2367fa21436d3b1263806186d38c78bb63749028a353fc5223713a67637ecb09d35520f9a3510bbd336d7aa0a3ed2495d3fc89d29365e652b366b23223ed474573fa8ad743560deaf357ca21e3efa223b3f32628d353b756637b0e3003eca4d133f4a4a523626c12338627db53d77ced03ecdb4fb353d89f0366f714a3dfdfc743e61e93d354d61a43687a4bd3cb45ea33dd4a5f735ecc0f337a24ffe38f2cb9d387dc48e35190f9d358f31b63819f30a37875c9b35964f35366feec337cf530b3686fde0353e98b5379c509737b7890235571af734dadbb336c157a83665d44a366f0c34368e230a3888e2be3729d5b2351f09ba35347c2b38dbf3103817e0c634868dbf3499436a37a8cd5c371cfd8036f92f0236ea4d1037710f9237758899352f729935cf686b3730d6e0379940b4350b59f734e5f2f23661950337867a9736e51085362b812e36753f123b52707f3f0941ba35b03561378951b43c4f3e7a3f0815fd34a49db036cae4243cfec35f3f3bb80e363251f837d7a32e3b01512e3f14e850357bd1263800f1013bb620f93ef893c334a55c5737c9c73a3ae91e953e2f39a735bcbffa3664040c3a8475be3de54a923519266e370dd6993865137938dd38ed349d8ac636d1b2de37896ba4367cb96936000000000000000000000000000000004b281838f3b6e737f4d28636ae331b36e8180c38873dbb374c118b3695228c36d6ed14373eb10737613bd3363bcbce367f89423768c02c374955083783750d377fdbf137118bf3371501aa370a39a2379504463789518e378f19893761d1173725e554366538a336e0009e3688a740360000000000000000000000000000000000000000000000000000803f00000000b7940c38391b6238f6e77f3fa4140b36c96e04381a6a5c3861c2623f64278636b55012379832fc37b1f9303f808bd336637344376ad8cb37e94eff3ecaed0e374433e83702b23d3886799b3ef97092371a1837370e322e384223db3df9c3fb3663154a36236b423716ad42386a4225360000000000000000000000000000000000000000000000000000000000000000d82cfb34b3db1e35b1763a35a4a0353527b7e235de6ffe35304b0336588302365170e0358f79c53683b69e368cd49736146be934e0f5e8349a12e9342e85ea344c913b3607e73f37e09e1c37ca99353705b16136655f8d3785296137474f21371ac0a434783f0a37b1078b368fb5093600000000000000000000000000000000000000000000803f00000000000000003abffb3470fe7f3f0b1d3b36f7e433359d32d73554815e3fb64e03366e2802361063d6350e26303f42c7d3371dc16f3686e6e734f9dd013fa771ae376beeea34465d343628e6a63e1dabec37d4fd2937865c54369cf2173e4da6ee37d19f1d37eaf5a3345651073aa946e236d0a5ca35000000000000000000000000000000005fe22a36543d7337e9a8f937a1d5cf36388b3c36d4199f3691b70438708eb73663475835d7418a35d9229236358fef352d0a61354c2a4336cee9e337909c99373c9f3c362a1eae3709101b38df23fe37c6b206355de6e135dc2e3a37461fbe3515207435eddede3615ae3037e7f4553668929e3625fbc237cd23e437339c2637c2171d35fbfc0c386c0d2738a5fcea37fc3f2236e3b8763fb774143d6ede8d36d01a31361bf9793fdfc8b93c9b65b5368e9c55350ec0603f05b0563cc892ed353a2ef734c1f7323fc9eea33a0e3b6c37e4382136a789023f2cdd913af66ce637d40204353085a83e0995333a3cf63135993340350433143e6f63013a0f3f5836d35c8b365539493adbef8f3824f908376d5a1b35df4a2438cba345383024c5377124e935a56921386fea333827ac1936d994b034ea7e283712941a3762a483353d5c67363432b63789dca53739819736baf6ac3565b84e37266042373feccd356d7c9f34f0a7a036143f8336e738ab344b5fe13494fb043845d6f73775631e358c458235e3d483376c755237e770f43588721a35cc73c837b5038537b5180b36683d9335b3dd1238b092f137271a23369c8dd93547cd513f953e383e937218362418ac341077533f5bd6303e3ff55735aa084936fba53b3f7cdb1e3e34299536b195a135b4771a3fd0e2df3ddfc3d0356b7e9e3418a2e13ebebe933d858ca934068cde348f77913e4911003d193c21356c657035384a113eb1100f3c0759f4351e1d1335d8b21b3a7b1373383633093627368835cd4d333855c8233832f4203647a7933588332b38015fa637c05fa935e64be8342fd5cf377ba21f35f756023569150636a6289036267b173665c50a366db30735a1211a385dcc3936e1ac09359e135434f6d2a9361dbe6835494f5b344c95b83510554b38af20f8376f58d83533ee763555884a38341e953504b789352e05b43529036f372e8c5336e0311c3622d0983577b76538153aae358ce69935236a8935182e2a3f2aa6ab3e6ceaac35d9b1de34b4cf2d3f77fca33e54870335a354fa35bb5e1f3f25128a3e181908369df10635e2f2fe3e35f74e3e5fdd0b35917350347e02bd3e276f0c3e21226234ec0eaa355aea763e1587953d9927d7356a697735e90bf33da99db23b97e58a35d38a8035a4078a3a16eb543753f115360f879135a2ff25391882b43711bb9e3539239c35739ac9380f76d03778439e358d3c0a37420096386d74e037b7af0337d385ad36737a0638976a043779d5913625928c35585b15387f4a3536928b6935d60311379be0a23840290c38e6b8ce36487d833557d51b381a2d33374ce987357d609e36f84a253865c11737e291a836e3240837dff793388683a237febe0b37986aa23539cd5b3896931e3705829a358a0495357b74013f69e0fc3eb3f19a3586ee043716c0053f3217f43e8b6d0037d918a6366491f23e961acb3e4d559036a76184351f01c63e2d269c3e0c3b6a35c6c3ca36f98e8f3ed6e6603e51a7cd3658817b356a42433eae2af13d01c4833503629436304cc63d5b18063d7799a9364cbb0437612a3f3ae7368d3859370c3769a8a135a501d33981bde737bc619935b8259b358c996b39d1a29c3647cd8635e9d312365eac653759832936077b4935f09a9135e3e66e3845ef8c35a2f46c35adf3da3552d456389192d335a7c79d3554e4613406e3cf367e5560347f305034c39014359d80443868c81835d6d90735b6b80f3689e384371a231536c313fb353e940c35c7e01738cadf1635806cda3457acbb355d50d737f76db63574479235e0b194357b51b03efabd273fff3f863512580a36a891bb3e13fc213ff6c12e35f6098d3591edaf3ebe4d083f93c17535eea3d735e6308e3e4c03d13e1601a4356a3f66347deb513e0de9933e59515034cbcf0b35588d0b3eeda4273e877b083535320e36f768883ddd38293d74980136052b0935611d683a0c7bd2372d55ee347480b73564a46b382bd88e362bfd923555e17b36b85b7e380c62783699ed69359412e735e9ae3c3814ef803544c405351c04df3563bb8e37331996355e8e45357d4e6a3671443138a5eeef345db7d534bf3e45359dc97d37c47da834f5b69834bb7d81362cadd83772c4c735542c9e35c80e2f376b64863892e72d37b99949367d0a4435523089379380e13406e2a63478c94a37966b2338b9ab03361e38dc3597eb0d36c39f3f3edc0b503fe39d6b35970cef3564795a3e2e38493fc2de09350b77dc3593e9493e43f5263ffb83473527441435146a2e3ea7aa033f08dcdd34410fa834549df73d1990bb3e83499c341819cd355956a43dbb0c543e7e6f9f3598efa33657b40e3d43e09d3d38d74f3675275335283eac3a698f0d37ed84ac3415b71f365bb3d93958d2a536ad04e4355189dd379cf153387cb74e3538061735d9e947371c3b0e386877bb3605656d3656a6943697f17d370051aa352e320f355ce9083620b5b6379ab50c35beb4ff3492d3013826f52f3865406d3619cf1c369a51a337855a0d389371ab3504f4c7349fbcd135278283370caf5e357b375535636df236dbbe15382cb482365c5d30360cb450379d0ba737e193553655532536ad27ac37b1043d3d3c28743f8a9318352b190537cb58873d6ddd6e3f4d306336bec05136f6df713ddbbc4b3f8355113552b9293565de3a3d96e61f3fecdcff34f68cef3722ee1d3da69be63e0eec1e36f0fd8937cb95db3c93b28b3e17f9f53446afdd35a9088f3caa6ebb3d0b3b5435af5fb236d139643a64d2ca37de843536196c2c372bf554387f085f36975f253600000000000000000000000000000000547c0336c3a2a6365600a634a393a334cfd72c37cd90603729526a3672bd43360a63423749845a378d454836d3402a364ecbe83416440037bf74e83402b2e934d4ed9a362d8118377b0acb36f7c3d235d601023611da06369b550436c833dc3592d9303570d78236214666369eb4ff340000000000000000000000000000000000000000000000000000803f000000002cb98935bc7c22381cdd7f3f293ea334e0c421379643563899f7593f5b144436db6628379ed14638368a2c3f4a8e2c368bb1e934501022383a3dfc3e9898e7348b549236ed126d38f5a79f3efab2d335b6130336e87c4e3767f0053e53d4e03598c83535e1142f3774ba5c382589fd340000000000000000000000000000000000000000000000000000000000000000f24e3a36fc951f383c4c4136e5b83e363195a836ed553938429cb536dbbfb2366a75d036cb2b733879a4e4366e42e136b86a1836932460382ccdab376519e43696238a35d3fbaa37f12d4b371b0d453698a6af368658803828c7c137b3172837ad34e235a2ac1839a28b9f37a984463600000000000000000000000000000000000000000000803f0000000000000000165b30367dc0763f19a3513755e43b362720a136452b4f3ff1e5b7360055b3369cb6cc36f1f8283fe4e9aa374cd1e236021e0e365bbe013f1221fa37ec91e73602006b354895b53eedbe9a37fc130f36730ea936f4b04f3eceda2838bab4273788d4cb3559a9593d3fdeec37636b2e36000000000000000000000000000000005cb5ac36b26e87398a50d53915f6cc373c824536a2a78c3a97be0d380c66083708b04536a88a4a3932c03c3800cb69377f37cb358d1c05389021093877594137c1159d36a2f23e39c88ac8387ab1b7374f180b36c6c58539d9b43b380c6021377a238135e42ded3802f67f3841b3a437b2951936c1c57b3985276d38b913f2374c014536c1aa993a658d1b3997694d3705d16a36bd3a6c3f8360843da5becc37a048e9356da3683fe741813d84c804373cc5ff35e361453fbc31483d447564376c7f8835a5ef203f7e9c413da1c9393722348936b931f63e0d50053d63f8a6373e658d355fecab3ef26cbb3c3a5210378ef980351014453e8a35a33ca051a2371223b7351cba5f3d270c883cb6c1ea377d682a36cb128239ed3c043c9f8b3c377afb9b35e76b5a3a1493ff37347b1a36ce17213672af8a3a3a51f637715c4636c2120736aba2b1392523053831a70c36e761b8365b2ad43924508a37c403d936a11c1a364a9e623a3b143e387fb05b36c5dcfa35417b6c399998073808051836a6fca736eab9173a7fc48a385197e3363ada483667e6aa3a8a2215381c438d369f93b836197f683a513d3238b5aee836eec06a35619d463fc0a0513e3cea1e364b6cf535de30463f5bb0493ebd994e36d41e0536fdb4253fbe492d3ef4090e3635e2a936fc2b0a3f41a2083eedd6da3608260836407ed23e5704cc3d9ae45f362aaaf6355421953ef2e4813d73454b36ceb19a36115c333e016edc3ce51ee536c8c8343690b8593d1ce5363cb2968f361458ab36ed7a233a38cb4439c8c0e736989c78360da24a3afb192938a5259236395679366c26f13a03302f38edc48136d1aaa336844e0a3aa26853384591a136b61711361070033a42e0953737ec0c3617941f3635c5993ac01b53388dec23361a9a8d3618459c39600c9637fac7a33673ef2f367c9b3e39bcaa27388d842b36e2dd0c367457133b80ac5c3850bf123682857336d67d453a1ac73738c04c8536b5e55c36f74a253f5551b43e1f9e9336881259364eec223f0881a53ef3218236a21e9336e3ec0b3fcca7893ea90ba5360d0d10362761e53e2a595c3eeaf111368f5517367166b03e0576233e5e6825365c048036f0f57b3eee0ed73dc29ea836ea922e36aaea153e6d8a463d3acd3136b0d6ee358daa543de58db23a983b163648305e3687814f3ad6b287381aba86366c9c03371c66653a588b91382ee9d73670d7433713c5893cf8b89438e3290b37ba6d12378b364d3ce78050389318b836091f1437400dd939a0bb6e372eb6df36dfdd3a371092ff3903758a3879df1b376ec4103791aac3393a39db374bdbf33622120737be25bf391d557e382ef9ea3664b939374764d939a2cf833888672937341e0537b88d4d3a1467bc37fde6e5362018f1368a09013fbfadfc3e9e4eda360fb73337f63dfc3eaf96e33e70931237e19b00379723d73eeb6bbf3e1e2ec636192406371f4cb53e2165993e2cb3e636100b2c375c4a893e20ee6c3ec0e4203788070137b9d0483ee048193ed1c8f9368473ed36ceb2ee3d4edd9c3d5cbbf236fde92737b9883a3d88870239e9962f37a37af236ba5b703acca79c381687e83630778b366146683a05ec4c38eed3363628c4283651037f3c57804838147ad13546c73a368f7f133ca6a7d037d5fc2936fd5fb03605d2ea396d52df3666895636c0c82c36cd1d9c3ae1db1f386e1a0d360664233608a6023a64e64c3787ca0c36ea68b33645fbc6399b181338309986364f9a93364ffb143a7e7cdb37d6634436f1df483785a1113a96c9c937608e483677e68536f404ba3e5257223f993c43365af61a3672dab63ec164123f1734d635f5f1313694a59f3e45e7f73ef94b2c36e047aa36235d853e3688c63e2099663605442a36901f4c3e41a1963ebb6b1236e7db1a3696f5123e2cfe443eea170f3652e0ac36ad3eae3d7a11ca3d8aaa8f3693968d3691ed0a3dcee9833b282e52366c149b36030c4b3ad5c51e38b0185336b6452337a7f8b03afbeb7a3710ee933694ab9436b4c41a3c7d748636e5bc2336f776e6368efd133c172f803724028236480c1237346bcf3919c1123747f5ea35eec12e371b9d8f3a3b429837dfe7fb35d618e236caeaf439775dde360a409736cbb90f364d2f4539eca669368bad0036c5556936596d263a87ee76368c0bbd35ef242c36a3e4e83921ad053628a941357133e8368589633e8358463fcd669a36151e90367e835f3ed6e8343fce9d283600d2e2365ff44a3e7b1a173feb018b369660a636a05c2c3ed8eef33e7584f135f0086436a7ec003e5806b93e02070236b819de3675e5b63d5a7f723e09dda136bd7b0f367b5c4e3d87cc073ee83c0336fa015c364993de3c9966a13892bee235373624360fe7943c639e3737824e62355678903718c6443c89bd88362077e735d8d6123876d32d3a6347f836beb31134c02ee837c74c073a41b0433659a97d35c9ab833736e12d3a194ac13653048a3584280a38b39b383a8ae0ff3615b15936d391a53760247e38d9bf6536a5ef8635a437ca3717049b3949fced36ca129f3568e10e37842d413a44dcf936836e87352e4e0138986e6039d9721437736a0436048f4837cda38a3d3b28693fa6560336bd32f0376d02aa3dd046583f4f10c734f405b73759a1993dcf49363fa55a7f35cb722f3777ee8c3dbf59123fe0858c3556e0d9374039503d9da4de3e3416763696cc7f37d7f6073d6ded943e90f18735c3ada5377cf8e63c88261b3e2abac735c94b0b37a570973cef03023c9510c6351045e9373840413c01846a37b697313600000000000000000000000000000000ff8006378e025438c5daae36f522a1355e273f37c2d74a38f50a4a374c1c9c36430eaf36f8429437be03be3576574f35ff0555373d3204384dff6c372c6f023628c8e236246e0b3829a80e385254c6367d93b336f3dccf368b29f437fadc973622073d366ad9ad37a9fffd374d6329360000000000000000000000000000000000000000000000000000803f00000000c437313621f2ad383c4e723f0cc3af353f933237cafb5139b1f64b3f0f69a13603722736c142c7373128253f4f615c352d0f2337f91a38389165fc3e868507362591e3365f0f1c38a9f4ad3e4f9cc936a4e3b3368701ba36da3f433ec6519e36710d3e3679fa9737978c133df5d02e360000000000000000000000000000000000000000000000000000000000000000fe7ebd355daac4359d80c335387d12362e734f36653185369b226b36b8687836cd3eb6352d87bd35b2f6b835c5e9b3351c3d7b36aa94583607815436f23a893623e2ee35f2e22e36995e18360ab62b362c313c36cf711e379a251436352a8635786fd535f56dbb351a7fce351be1d33500000000000000000000000000000000000000000000803f0000000000000000fa49e435fd10803f44080236483e2f36e9ec65362846643f0b130437523d7f367169a835a7bf323f12d06637f695a4351b0f933623fd003fb96b0e376d068736d9d03836f8a59c3ec69b1337639b223643555b35dbabe93d896b2538e4245f3521cd06363f86b03ac75faa359f71eb350000000000000000000000000000000057fc4a3603253838987d3938d7671537f4a0a135d6f8ae359d47b537592feb35efae333470062734136a23348aee1d34e0b5013575e01a35b89ca3353f8a0d36d8724e3567825b35a6d2dd35248fc535e47f293502f94e35f2354f3575b029355ebde7346fd58034722da0346d5e5c3431fed2355f90f93688d10036f2cbad358c5513369f42213603ce3436f0f530368e552c365c687e3ff900fe3b36e6ca368d211035fa04803fa7bc7b39c4d011366ddf1a3469c3663f90ff1d38a2242934a43ef8345fad383fadc84d38c6a60d35db5d533560e2063f06386338ba550636d88919353755aa3ea70b0638732d0435a03e5f34bd460e3ed9c0b73730cb3c34f6a909357e29983cbc4fee3793060836495ad7353aa209386e738937c15d4936a7b92b3643c51a38d9441238a97c2636e79bc235e61df2350e63fc35844cde35d4942935a4843035e771373506fd40354f4c193572653335eefb1f35534f1335bbca3635cafe673522f79c3702a79c37bd3bc135735ccd353b93d8350199c3356a7397341a007736ec7ea83485f3ab34764d9135b0109e353a47993570ad623530ae5a352f17d63610054637a4262f359dc915368092603f34c4ff3d908f2036853bab35085a5f3f59a4eb3daabdd23542702535615e533fbb31973d15ef1035498f1135db68283fdb9b1d3d29a3053561853435c41af53ecb2fa73c65235d355ab2c735aeeb983e247c813cdb74b635f9da95343a3dec3de9c643390f35a63412998e351475bc3aa71010387af07c35d50c57352b4750389e7b1b380ad62635a7c76735fd019d38dead6b387ba128352cb5383560c98937a0f19136ebad1d353f565534bcfe4b3425c23534fb4f30347dc184355a1e87358b1288355df58a35a0364f35a4164635f22857361bd4623581aa1c35aac79937549a7a37b5ea1035aba9e834ce6d44379aeae6344092d434fb42023672aee637df9ff5352bf1013649d68c3715261f3873a7e837f9f897377ca75b35e33a313f36839e3e338c2a35bfa73335579e333fd1029a3ee0ad0e35f7a94534f94c2c3fe5e3743e02c72a34d90d87350a9b0a3fd7c0283ec9518a356d803e359f18ce3ee34ecc3d6bcd6635245d24359ba1853ed083183dbbd6e8345a97c034bd65de3d872eba393caaef346b80f3356e9b093b06ee74387a110136c76b04360dd88038267047388604fb356368ca363ff07538cc4b12383a83ab36e01717362e563238d396a0378b8bfc350d338c359e384837bef93d35e8717f35a9692f3587043e3746230c354f751135300b8d357c9d1836b0366535620b3c351a4c5435f743a437b6f7bc36ddc84b353a91b835c3a2c7377bcd4037a0c43235564c0937e8ab1a38dab2ac3775fd0336711b6f37a281f53743bb8837de30da362626b1367ffa003f8efefe3e046796369ba9da35106c053ffac9f53e5dbee43581d99d345b33013f848ecd3e2401b6344b22f734cdfad33ee4e7953e295f043586e32635a4f89a3eda384b3e288d8835e46511359038533efdb3b73d90ead734acfe3d353629c53d69eb1f3ad5dddd342b770136f0af823a8d7d663865c02c36afb8b536cc157538456f1638c673db3680f30c374b2984384d812038fc27e735bfc0f4354194eb377677f335be4af7358b42d834d43b00355aa9da3474e3f83495941c357b038537c3701d35238b093554334935034f6f372c4452359fee2a3549208735c8851a36481697355b718e3548901f34aae08337d7fa8b34a1a74134196037354abcad37d6d83e35a42e08354d1a8d37168d283842306e37f7805035702fdc350ceda03e2e16303fa15ad23523a5dd352c5aae3ed3fb283f7b80e4358265bd342da7a73e4716113feee5bf3491121b35a81f8f3e1246d93e3bc10635afb24735da355f3ea300913edc273235606c90355dc41f3e22cb0f3e8fda723509a61c34ae41b73dfaee623a0e763934029b4135ee6c263a8580663894851e35cca371354eb6b8386fc13f3886cf4b35e89e503510ab9138d5849136b2aa0e35d7ed9b35d8066037e8258635f3277e35293ebd34a0b3b236f11e9f343d8ba134b83bc735a5df89361217bd357668c535720a6535b96efa37346d3635e79d5135cdfd15353dc9fe36876e2235cdd2163588d1303528d22935654137351efb3635649ce735cb815837bef6cc354f13da355a42673749d4a237add62136c9e92536a9884a3543d1023e8ab85f3f0de80635acb69835232a273e677b563fa28a63350db0b534ed24143eb2ed3d3f58489e343926c13579a9073ecd330e3fd088b635989267358ef4f63dc4d9c33ef7275935296c1e3506a4cd3dcaad523e8169f634422c1a3522ee9c3dcf02d63cfd3e3835c62cdd35c744743c1e8120388f04dc352dd335368e885b3854fcaf3784331e3607072c36edae413872aada358540a135c0ba053686476c37aeffc13482203f351e4d98352935a234508e4a34c2d6c234eed64135569b4735b3620f354b880a35bb8e1e369eaf9337c0393635e86a7035675c2837fa21d637021c203633e9113574ab2535b581a33755878f36fbb2303413ce7337470b3a383a6cb9372b028335676fb5378b63f337e1934737d9285d3662de253664b4873c03197c3f2ed5d234cb6bc935d1380a3d60dd723f51fcf3340da70335b3f61f3c976a5a3f30111534de1905350fecc93af5b82a3f46ae06353c8c9c359c17c53ac013f23e004665358a033f36de49f738042b8f3ea273e53495f30a34af096c3c8f80ae3dc4071b34b7cc803612e18639d2cbc2383d8fa135245e63372f398d3826671b38746f48360000000000000000000000000000000063abc035f07dab35e71b793556580336e192b536ea055e35971e3935d3e4713586af613622860e361910f43561a8103600ea7c369450923618c16036b7967436bff506369a0280377981af35b7d3b5359ad495365fe116383085d63740636f36ca940236bc092e361f280b362e3308360000000000000000000000000000000000000000000000000000803f00000000fac185357b170437c519803f2457743521c88e3588046138f622633f4c923535dfdd503671681238e20c323f5714003664d67136d2868a3751c0fe3ee290663696f9b135aa058d38f6559b3e8bf9993554969636a530a038f3b2e13d363b73365dbd223625bd2b376632373a9766123600000000000000000000000000000000000000000000000000000000000000006c7a9b34d1dfb437792cd33487b01b355d2d89360ac1853684256836203c9236e77e7d35b43c1235fa154435315d8a356967f635f573083673c515364dd82d3639ab1637da52bf3708ce2a371d333337df39253682e97137700c7a36dada4f36fb3ff9355d8f1438bbd42b36b553323600000000000000000000000000000000000000000000803f0000000000000000b0b25c33ad05803f79a26a36d666cb34a8497436710c653f33227536f8d285362fc073350285333f75758035ed16853527c9da35eb6b023fad600c367dc927362d4006373b32a23e8ca560370b0c31379ee20736cc46003e869d04371c1e6236f3b7c8352a4eaf3c065a3236444428360000000000000000000000000000000017c66e3621b600397b1e2638ef9cc23682f8f63592994c3841970138076c7b363d8a143602eceb37b4c88037232fc5365bfe0a37e1ff75375b565a3723fe243745488036569cbb36326ab236d0e9bd3636913c3792c08a3877481d3868d27d37ce2ad1367491ff37c05c1837cc750c37aecbae36e3d54338d1051537b4871137cbfa5536f4deb53819a61c38e39af636b73c373695c3753f6e3b113ddc5ebb366ae2df35454e783f73479238ec02643622c9b935930f713fdeda6d38be7fbd366ca9003707893e3f83da6c38ac9e2737453763369a6c0b3f0afd2b37fdb8b23644262b3771dcb13ec72fb63828747b37dc00b03666cd133eac21fe37601d1337898071369dd01f3deae207387b780c371f8d2b36cf4f3139c5ab82388bc9e93625531a36a068943868492138df14803600000000a445a438fc893f380000000000000000ed71133825dc3037000000005d48f03572109d3742a78336c23b1e36000000008fdf3438395ca93700000000d96a4d34ed923338e6455036fe18e133f7669735b4bd113961e2033825480d3600000000955db73846a00d3800000000c4819833eaceac386b3f253853511634b2e893353e94523fa1090e3e73ce6a3600000000cedc513f1e96f63d00000000000000007a1b533f1eba983d0000000001793d35892b303fcae3083db85b1436000000006e0c023fb057c43c00000000ccec2a3438b6aa3ea1be1a3c704f05349964cf347b4e213eb814a33a1e05ff35000000000d32fe3c88699138000000002b89be33a80e9e3a5eb0903815561b34e586593332b3833af3a744379a4df73200000000605eb138e3dab8378c3589339f0dbd3685f9e638964bb83758aff43647cef83101d60138099702333c83973200000000c02186381ca07037b4c3e334e4e6f9369275e638a0e8073811e824370000000030c3df370000000000000000278da63561e86f38833e0436cfcc9535c249c636775c853904f2f6361d5fdd36fb6d5a3371e62a3f2968a03e1adf013300000000b3652c3f33638b3e000000001b1b9f36c2492c3f67d34c3ed4c6ea3654079a310a0b163f45c8023e636bef32000000001ae3e63ed25c813d2cdfde340210d636b01e9f3ea592613aa8e921370000000022d2213ed8c69a3700000000c816e034d20bf83c5e64ef3702985335f067a03645554c3b2428dc37a9a7d236d22ae3364103733af26efb361ef5a7361d2a7436a59d6c38f288bc3606a33a36772bc936daf0043a70731137a560e336c70564373add4d38957c6337de323f3704418436426dcc3765a199368f728936a740483760fb6138255580377fe364377610f53618b2903a5557f936beafc2365a5d7c3646493438cc3cb036d8b4873669c2bc36da31f037e9540b374455fd36c1c3d3364888023f340afa3e4d14953659d53d3693c6033f2ecbe13ea3250d362608bc3645e5033fb7fbad3e7697d236bfe55b37ede1ef3e64426d3ece9e3a37266f71365a89b03ee5841f3e3bc47e36edd63e37aa71893e4bcb033d2d0260379552e53607b7143e25525b38e4aaca36f8583436787d3a3d9fe7b43721df6a3612deb2369a701c3bbf690d37a4aaea36e0b3cd3623953e3b71a2ea363dcc8b369fc86435402c9038d1946236f56de1340000000037fd2a380000000000000000440423378959e438977f193731ead9364cfe8034339a9238f0ca24379f6e3834961fe432ae6c5d3800000000081c0633776803371b0b0439dcac0537fb93be36e0db0c317d7990380000000000000000c6a69a3371c5103857ec5b33b40bb5339097af360228af3ecc51273f9d59693618f9db34eb7bba3ea4511b3f7b43ab34000000005131b83e3585f73e000000004cc5153715c5ae3ed86bb23ef1b2c33613e82534227a8e3e55a8553ece0c3534e4349d32aa65573ecc329d3d2d3c1332cc91ec361ccb033e23d71c3980d7af3600000000b5a6623d3dce1c3800000000be46283314769e3c9ac40536369dbb332bd4e03397eada3c125c0738b1dd9e33000000007be3de384fbfa237000000004ff11336a51367391593123670f29b34d4d929349abd6e38bd809534f32bbb330000000056cea038000000000000000001a13d3691039838d5bc8836fdcdb03500000000839b363900000000000000000000000047e6a338000000000000000086e09f367993573811ce8136dc0b1b365db5db33a605243eedfb4f3f3509a4330000000044cf4c3e6121453f000000008d3d0336a9f63e3ec9f8273f0016c334c507c833f7d73c3eb38bf23e02b157330000000088de1f3e8d54a03e00000000f64b223692dd173ec573063ec8aab7350000000024c3cf3dc756a4390000000000000000dd2c7b3d3a6e3f380000000029158b3658b0213d92903b378aa50c36278fdc36d11de5387f2fb73773e6f6356e1d0937e6b5593869cdd136ea325436b6a710379501fb37a956ec36769a9c3688fd78379eb9b7388bb56e37cf762737b965a9365bd84937d53c92364f94763625122637cf1c85388a2a4837c05105377a64bd36b1fc8238e7f5a8372a8f00366abe7336a6ea6d3844792c36783c04366ebbc4364156463888d1da369f857936b46cdf3620864d3dc149733fff6aa1357edd0737bcf1863d4f4c653f90d81d3674c91037ac9e793d099f4b3f218a8036606179377ba2523d2ee9193f3b111b378285a53643fe293d273fd43ee66e5e3608c3233754440a3d2bb3633e87e8fb36377bc23653e7063dce35d53c4df1f1352abd61364eb7f63c3583493864240836b23cc636870ab23bf16770378990603600000000000000000000000000000000ba371a36bc453d36ddc006366bc2d635e7c96b366e7cb9367f1b0c36c388fc35ec1e3137a399983728fc1637b46b0237464a2e36a29119362faff33544ecf335ef358f35169e3737b3d7e935a4e9a4359e278e36cdf83d37a48ab537b3b3833663040935abd1a937243dc93729e97a340000000000000000000000000000000000000000000000000000803f000000004ef41036a1f17a37eaa17a3f1f89d6357f3f6a3624608837280e603fa085913526e52e375579f93760f32e3f123af036ec652036debf2c37bc6ffb3ed5affd3577648a35691b92376b43993e0cc60d3511368a368c7e5c37bd9bd83da6e07b36ab1ac634b042d2379c9c5539e9a6b03400000000000000000000000000000000000000000000000000000000000000002c076c3614963e388bb1813693016336e4308136fd158b3636f030366127d5354c4b7c363b2a85372d5c7536ea9b443637c840361add2c38c87a83361a756d361bd1873610470339b466b236a046a836eecb1f36c9709e392cca8136f077873679c25636f2502d3c9daf993683c9993600000000000000000000000000000000000000000000803f0000000000000000944764367dd77f3ff85f863627286736e8cf77361c605d3fd01f4536017fdf35fbdb67361147313f26e08436220e4e36984536366e5c053fba7588365060763655716d36be03b33ef640b83603f2a9362df60d36acb9313e0b721a37195287369248443623e40d3d92a6f2361ba19936000000000000000000000000000000008c00483501afbe3b386d5e3807af94368bb8d235a4e3ef3ae61e87376a81763635adb035e5a95e3a293f3137812c843650bb15369302de3a5b4bf0366e6bc43663e58f35ec621a3b47b042369eae413633768136ac71893cf3ced437f78ef236cb2d6a3539f5e33c0f1f1e37eabe9536db1910369db1003d13fe8e3627568f361160c036c454a93c162f2c37ac8dff36b142f7332305653f18323e3d2e7899361c749d35303c6d3f0f7f9c3cf5bb6f36282f81354c79673fe68839396618873607f8cb35518d393f9cdf943863dac43689d13d350cf60a3fd9cc2c3909383f366e542c36be3cb83ed6004d381bd100379ef1e5341e82333e74efb238909f9c36d651e035f5a1003d51bc3837edbc8d3635c89536e140103cf5505538679904371988ed3552d5983cf8782437ffbe933607c400351d8b783c4afc20387ff99935e2e34f35ee958e3cef9d8937dd23bf355d4927362de4023cb2acde36150ea536f81ce8343726fe3ba94ca336e4b42c3558d68d35bed8ce3c8c21a13704e844367f8d7134828ce53cb8a27436dd8e2836aa1cdc34d6bd0e3dfd48a13699dc26355e999335d288dc3cdc0745369a8f0c363ca68e3579713d3feace1f3e5e5e9736f6d6fc34dceb413f62e2f33d786da53593a44b35bb2d443f2751ac3dd4f1b5355751e3351d5c263f8009393db11aa73627d6e13412e1fa3e8b0dcd3c0dc52a353b658a35d648b03e698c463b3a674436893566342597483ea8b08437f08f2b36a068d63499fa633d471dac37b6e92435cac97135f186f83bc41d3a374dc30936bebe85367a93063c240504378e5499360f7d2f35d697823ccff44c368f244d357921cc353390053d9b5e7a3631305d35be828436c2a7253df1e62a37fe547f360ed28b35d8ff1b3d097e193615829535ece78b368f81173d04a1d436f64e843675734335a091fc3cdfd5193677e9813580ba39351155123d7e26283642a5cb347a17a836a6b0ce3c9425d336e61f22363f7562364b201d3f8ed29a3e71bf9f3655882b3511b51e3f9ce97c3e12054b35618d7a352e0d1f3f4ccd2c3e6f459935a607623608f8093f1e49e23d9b2288366c717735cb55d93ebe01663d9245a535f8726b36959a9d3e45c6553922b18e36395041355a2a453eb2ff3b384ee08735957f0b35814db23d99e8a93743810635aa2e8536eacfb73c8d705b372e3f3e361e29a136cf819b3cbdd3a53763f67436ce5e17365932053d9b244b3651020336103cc83592d9353db0e29036537bee316d8dda36fb12593d75711e37899d89362ae706364c822f3d4bf92336c6b8df351a67d336663e533da6941d3734ef9036d376df35eec82b3df95791365a4f3b35137f2336e3cc2b3d18c83c36e95fef35d996c236e0c0103d94b1f7360edb3d36bb8c8636f5e3ed3e1219e23e8ff28f3676800836f12bef3e9830be3e68410836203b8335efa5ee3ee4dd923ee0d17534a8b8c036e638d93e34fe433e7e829f36a893fa35617fa33e608b0d3ea4e0ec35ea1bb836cd7a823e611cd53cf122a9367a227f3557aa253ed1008e381e0568355103163684f3b33d642f23389da600366855a836f86f253d580eb437be3b643681538036e3cde43ce3d406370519263625ab3d35c7e7113d5c62de365fb07b34e4ba8635bf41213d541e0a36a1383c35a9fba1367342543dbd43d536efb2313667edac35c33a433ddb75ee350b3f2135c8329d36354f4f3d7552c9361b3c3536093a0136b0e4373db00d7b36d945973429cd4735bf02253d08b04b35257c26358650b936d313d83c1534be363de73d360e965536180ca83ef2dc183f97794f36b8421635f7cea73eb8ad033ff56d9534506481357751aa3eeb8fcf3ef2813e3508b2953681dfa03ea96c943ef78e4b36cc23a735833d833ecc44363ebba33f35153991363a89493eecdd813d73fb43362a10cc354b46083ef6745b372fef2f351ced483534169f3d3f06c636eb8b293590c1ab36bd184d3dfdc1dc365ad8483623d30836f07a373de5954b365fde2f359c761d35e2955e3d671ced34e272ca34f1d63536b998343dbde4ec35ae0045344bbc5336902b3d3d794f9736bca78235d40c2235cf86433ddef7ff34ec52d234e51eb4366b06443d4d7ca736c2f6eb345e81aa35818d353dc37ede35203143351764cb35c1bef63c24a51935dcdcf334f112b63636daf33c14cd9f36205b2234aa930836dd13373eda103e3f4cfd39359a9b2035962b3c3e5d072c3f7bfdcf3400942f3619803f3ebfad0b3fd1bf553410f84a36b9f6373eccf7cd3ef9888635e00e2635edcb223ec1ba8a3e401eda348d9bad36f00e083e1299ef3de2e1933520b2b23534e0b43d261d1b389dd047350bffb2359bcda03d6a7ff83775baf8341632a4367484653d9f33cd36c6a01f359af80f37e7b5083d7d8f283789a8193646168b369c25f13c72115a367f194535b46da4366825e83c903575363f6f903180360a37cbe1b33cdf991037f23c423405363b364994b43cec1307365572eb3260f5c636dffd983c88e3ae36412a0d356da78d363c7da93cd2b553365d83d7340e896e3649fadc3a705b353660f817353143c8363ccc213cb60f6f36239bf233fa3b0a37558a6b3d564e613f94e65936f94b8b362269903d8976563f3d4b8f35cfc0a1360cf6953d8523323fa07690311f750637221a8d3d7065083ffebaa4357ec8393621cd833db5ebbc3e79ec9a3420adc7360aa8683d430f4b3ead6a813563718c3641c94c3d636bc93cac27353586786b362755513d2de25a37f245653523ff9f36e935333de581593719cef63300000000000000000000000000000000dd4e973645852238a46b8636330c143616b48136636e9c3756904d36ba63d9359d84b036d6b926387811ab360cae323682067a360139c53613068136df8512367ffd553624879536dc594b377ae93f361760123650c66c3698535937511f6b368c287036f9d16a3764321a38e02e4c360000000000000000000000000000000000000000000000000000803f0000000051a79836882512386b7b743f8753213692e584362335bf37ea85533f77aced3584f4ad36861628384990263f296c48362c7e7a36c056a3363c53f53e69691b36cbbd5736564b91364c909d3e783a4f36b16a0036cbf65b3604cf0a3effc86f36385d6a360c95a7369a02293a5ecc4f3600000000000000000000000000000000000000000000000000000000000000000000000000000000efcf4a344e1021342fbbde3418089c33a8222335d6962135998b2836b3f10036cb17243661982a36c8899334b7804434ce6356358fc65b35b4164735a37dad34a7b765359c08f034aa71b63548ca94353ebda1359ed78f35ab134235832b8c3526019135f0b49e3500000000000000000000000000000000000000000000803f000000000000000000000000a2d2793f5cedd834000000007566573349e65e3fe2303d350c115d34e5270436a1c0313fe0972736a5300b361cb85c340f7d003f91ed77352923be34d15be733c95e993ecab933356642e4332645703564c3003eccaf8035a7e66f3512bba1345b5e0e3df58e8a35c283323500000000000000000000000000000000c28e8234ac10a4349d7c743785af7e34f04ab2343e0a43358815a435c143b735c69d8732ddb4163413eb28352e566c3503adeb35d57afb35ae9c0c3686d7d135fc5a3235b89339351ceebc350d69df3579e7c8355bcf3f368d0cfd36f70ab5362e63f1349f8b0235b1466636bf26c93466f0eb3511791736ae640436bd15ea35d1f2fb3263cf3336c28b29379f7dec32268e63342ac7783fa48e0e3d2bbc5f34f196533429f6773f34474d3ce1c084350bf37c32de04613ffce4a33819729034f9beaa3561fe353f4da7c43a730ef0354f08a933db9d053f86fc4d3a3e5e9c350e386735456fae3e55b2c03ba798ad36807add34df8b1a3e88520e3cc6c89d343a9f3635ef232f3d220b8a3ac294b6353628e532bcbd1f38d2c249380cb3dc3236ffeb336cb2d53625fef937550cb833849d5033c0b08f377f121d3856bc7133487405364ff4593680c6ba3691822d36c475e93420400d356ad7cb3430b76434b7936b32e48a8132c5c78032e37a82329c44513632148d3687548e37d43f5e36827b15330d0a90377ea8b037601023330d7ce83581621537fd445736c44e0d351cb43f359618df35ce0e9235ce89a2355923ea3301ca5c3f2909143e6bd6a233e10455330882583f9be0f93d6338603313820535c2b9523f9ab5603dd09e1a36e988cf3354282b3fda95ef3c4aacb33105d56832a155fb3ee5a8173dba70753203f37935742d993e28d1203d84013136b84b08339d14f63d06fe183d9ae02e33148cdc337dde633c2e50913c5b2f48347b0bf5320929ba397033ec3934044835000000009260a93886549e380000000029b0873431cc1438729d533815d4ae35fb659c33213bc734ebd52236eb511b341962e8350f5d2c3648c012360866de350000000000000000b7843a341904e133bb82d134949e6c378ebe063810379e34f8b910359a2d94368fa11a3792fefd34b4319833039244381cb7ee3729623235f78f6c345352c93409f98634b2bf47340000000035a2323f06bf9e3e00000000c22976348234303f3c96933ed27d673318dd433391752a3f75ca5a3ed28545339ba50b355bc50d3f6a231c3e5fef4b3400000000b9cdda3eb577a73d493aa2336f120d32b563863e087f823d576a34337e4340347f65f43d0a57df3c47cac03268920233cf37f83b69ee8839669413338eb55f34c91b663a6bb3063a9fdb733495800b340ffa0a38d888b7379caae1330869493589f3eb3570fb9c35ceb0493564550e339a6b9c343461da34d1f03634a431bc3531a8d73690aea036cf961735e973c2359509ea35d74bfb358558e13575d6ce3508370737b2466e37c4f0b935e5d01335413a7235264ab036001867333047bd350cd69b3636c4dc350c6a9335bd59163497e9dd361b61873647d80034693bf2339d65003fb46c013f9daa963336c06b34540f053f1f02ef3e1a8768342aa202337c19fe3e5a1bc43ecf5cf43289583335403adf3ecf2a853ec974173536915835d844aa3e3768303e3e2bab356a55da34a9bc763ec61e993da172883507650f339db1003eb903103c3f2e193350dd1d354c0eaa3c121b4f389fd25f358d47bc338b18593ad172453834ce2d3406d481348417673894193b3408ce3e34c0200a33b36422385054ff327a2efa3298632e3570c9c53531d1563500fe043295410635b2b49c35ca81b7342648b332000000002458f836a9bb82329b58923391b3f3352858a53674991736815baf352e8f27349e0e96374b157c3760c099347b690236ab644c389524923652020d350000000071f07b389f91ee377bcdf533aaec823481a4a13ee0e8303fdc3a2d34442b1833bc05b03ef7f4273fbe07e532b6203d322ba4a13ed7c60c3f3d9b9c336cde1b34abb2903ead19cd3ef8cd4832b8e90d3328cf763ecc0b863e00000000a1183f347f0e383e4308003effd59035d78c5833136cfe3d4973e73bb07c9a3312ecb4341b1df83c7e10a1391aae873400000000e8104f3a1f34a03800000000b3252b33a01ac63884b7f633863fbc32c2ada0352a328d36e72a9c3500000000921e75348138e13404581433b9f3c13286be6e36ca59a8364ba83d36808a083628376f329a9c9632f91d8e32b3d36032023316358b1851350be158353028bd349df2433651674f372473ee36b105343659babe34336812360c84aa350334f93475fdd7338dd90534bd6b0434ef10c7331cdf343343f11a3e1d905b3f13ce0032eab929349248223ec976513f00000000c413fb3218cf083e59c1373f5e35eb325460363612aa073e34730a3ff449a734af956532c7e8fa3d30bfb83e2ff35c3287a48c313898fd3d3801433e38617433680a1736e81fe23d9b3aa33c1c0bbb3539a05333c24a293d6cadf838705b46336f24cd33a8277d3a3c3ad033be22ec330546fd32dcf2bf37191ef232d598fe320924c3355eab07363e978635a52a2e35a77caf34e0674f34a9358e34bb8c9e349cb59d36395b0a3735b152356fa3db343238973523de8535160b583502282b35838f1e36dfcdb636b11b5636ef34c0352559ee3429438337855a6d3741579e32b291b935b486db352247c835111f40359d6b90342ac5ce34aa67af346fd27e348c24033351cb0e3d4b7f783fa6c6e53261fb8b35f79e403d78a5693f85d27934d4b75434254c893cd802553fa4028a34bb71c53696c90a3cb53c273f8e18063523c05235c1e3a63c04d4ed3efeb25734f180c3359302243cdb25923e522eae351b138c323003be3c0966da3d257e93320fcc80359ad39e3ccd88b33ae592ae34045a5d34fe75f8395d199e368711983400000000000000000000000000000000a42a2b3515cb0835d704c33451f2b434a9e0d235ed393535f858473519ec8435a8607d35523cbf3410ddd8338cfbd63379b1003587fc8734de83a334ae9ab5347d334d3674f62036701212368b8fe03549c083358b8f3e3510a675339c7d6a33a7501034d7a6dc33c5bf3b3409e52f340000000000000000000000000000000000000000000000000000803f00000000bb10c334e9e87235e9d6783f8ab6923477938a350c009a35c94f623f3f38893505850135fcac2235eec1353fdb7ad2336811ee345f0c4435f703023f6f7a40343abb2236e7e49637b95aa13eb0b205361b41483521c60038066d0d3eb03175330f0d8f34e112b43432c2033d000000000000000000000000000000000000000000000000000000000000000000000000b8cb7932a5340134a0833b34b97232339e4f2e341019cf34f6c8e4347d47a73300000000000000000000000000000000d930193592294c357e216d357dd5413505351635a4ac9135f3eb8535527f15350000000000000000000000000000000037deae34f082113591b12535783df43400000000000000000000000000000000000000000000803f000000000000000095bf30325543803fb5bc5334c5e76b33fcfaea338f846a3fe9c9d434514249340000000002fc393f0000000000000000443a213556d6053fa67264359ff83b356b683c34465ca43e1408a335f108723500000000aca7093e00000000000000007b9daa34de27643d430b1e351074df340000000000000000000000000000000005da0d35b66f213ab2972c3584c7e53433b005344136623595ce3835c4e14b340000000000000000000000000000000000000000b618be350ad95b35be642b34cb5acd327096f534621fa7340000000000000000ff37c735fd5ee33400000000000000003849c539bd09293400000000000000005a395b3a00000000000000003fef8d34ead4dd3ada7c5a35be813a358da7dc34287d763fcc11873bb298d53493edb43385ee743ffe0c2e3857207a34000000003252743fca174937000000000000000018ae4e3fc9ffd035ba8b793400000000d93c1b3f4995f636d710233200000000cec6ce3ee6f3c5350000000000000000aef04c3e1d4c543500000000000000001d50e73d0000000000000000deed02348adef53cd7a3a9351690013596494a34be460b3bb6474536828b1c357c90053575467e3690730436f8891835f23c5934f436df35f86f413400000000af465235d476233643acbb35c1471c3500000000b8861336a69f1734a235e433000000001d960c3600000000000000007e9c2935f156b53a04e40536fe6c0935000000001f4b7b3bf1c1613300000000725bfc31d7dc1e3b000000000000000097d3dd33e05d503f939fb83d132220358aa5c83403a94f3f78a9713dd93ddf347db7b5331f2e553f7b8b823b00000000bcc75935f998483fce5c5636e01c0b3500000000afbb193f81eca1376e9a973300000000954cd93e3fff9235000000007eab1b3528ca603e2d2d5e36d696e0340000000027a69d3d75450c340000000000000000a788bf3cadfc1a310000000000000000d1c9053bf6177e340000000000000000915d603a1b6709350000000070a14f35658b133a04c8d835665c233500000000603a1736742b9a3500000000c4dfb432a9bd433941494435ef892433b79eb23542a894391269e6351f458f356a989333f9bc5c3a45909d340000000016f6ba34d9235e3b56394e3590cbcb347739b3358300923b1415bd3538139e3500000000055f2a3f9a8c843e0000000000000000f36c2b3fc3e0443e00000000c34d6834b47a2e3f76c0cd3d905d333500000000be522d3f1d25333c00000000b5348132c0c7113fac8fb3360457e033c2e422354c55d23eb3033a3603c18a357702a0334877823ea8d79b352c6f9e32a91ebe34e0d6e83d9bae6f3522aeb3342c2789355c4e033ddd780536c00c9535655095347802a53c6cd60f360f75323400000000e9337b3afae6cc33000000000000000079288e3a000000000000000088e2243411cfde399d9cba3500000000000000005d6c323aea2cfb35000000000000000078ec733aa88a87357877e334000000002b5e983a000000000000000000000000415b143b000000000000000026d61435855d183bcc7a1f353305e6340d1e6e346d05fc3e5d1adf3e2b2d1234000000008adb033f0ac3b53e000000000000000056d5033f656c813e0000000000000000aa76043f1a25f03d0000000000000000744aed3efec8223d0000000000000000c8cdbf3efaa32d364a60f53200000000cd10763ebeee01350000000000000000c31d0e3e846c162f00000000f23e8134cc596b3d2263be354b269034ec509035b9eb153dbe171b361f083335dcbf01357abae23a438f5535b36485344ef68834ca75343ae653253400000000936d8e352277b5395b4e19369bcd9734f33ad932474ca63a5b9fed345d7fa032a7109133eb8bcf396351943200000000c39f8d35d98bac3a9c64f635c6137e3400000000d6198b3a0000000000000000000000003f44a63a000000000000000062be8035008da23e68d71e3f29ac04359a14d334ec01b93edb08083f78dedf33a02e2c34126eb63ed77dcb3e000000001d758a35ed21b63e78e6773e584f593418b0af335165b43e773ab03d2570d83200000000d207a43e623c0f360000000089817135b4ca673e277c2d36b24f9834000000001908143e0000000000000000000000004565ab3d00000000000000000000000016b8543dcdb60d3300000000000000009150933c4a50f23200000000f1918135f2f03d3cd108e2356349d43400000000f2506336000000000000000000000000bb6a0c3b0cba22350000000087205c354428313a7f1dcc354f5437351fc64c33f0da733a8071713400000000e40f8135718e5f397ebb7f35f559ca34f136d8350c6bdd3afe1a9135d9b6fb340000000051a6183ee0b3473f000000000000000017804a3e0a33363f000000004d7c203529ed473edfa4143f7ae1e5340000000000fd493e5631c63e0000000036cdc6337d7b403e9e4d5c3e00000000829e4c35649b503e6aa0983c397d4735c854d8328dab2c3e17ef0d3600000000d69d6335f2f60b3e20861036fd01bb3425ae98352fb7cb3dbb5e1536d5733234e2d027354a9ea13aa549cc35c59d6133000000000632e3390000000000000000000000009b5e78380000000000000000ad370134356acf3948c7d230000000000153653251322f39c52ece3400000000bd239a346e642b39f1af9935000000000000000072e4de3900000000000000003b1b0f35507e833882f5ef34edd1d3336c130e3546a9613a70ea3b354db43235e229a334ba79543da0ad6b3f0000000000000000f66f7d3db17f543f0000000000000000f004813dea333e3f0000000000000000216d503d7dfe0c3f0000000038ff98322d8e393de19eb53e00000000547c0233fc19093d971e283e000000000000000028e52c3d83bf0a3c0000000079fb0d35da07413d3b3a1335fb8474337ab4193530931d3dd6c42435301cee340000000000000000000000000000000089e4e43428540f35caa705359bbf993400000000000000000000000000000000fec15d359e6e9735ba1e50353d1519341b373335c3c246350c374735802c133500000000000000000000000000000000415fb834fd62d934b439c23436dace3397cce6338e98e6336267ef3274d9d6320000000000000000000000000000000000000000000000000000803f00000000220edb3491041a35741d733fb246e933000000000000000066f05e3f00000000217099353025b9355b242f3f5476b6329ac93635220b64355d41f73ec950bb340000000000000000ca078f3e0000000018e794343ea6fe345e4db53dd61888311ad9b233547f31346b975f3b2759e232000000000000000000000000000000000000000000000000000000000000000000000000b3e604392d94a33432a1d6340000000000dfd5370000000000000000490ac2356b6a3038000000000000000093c49d3599e6073994f90636d2a4b2358471db33b60a433922df123452b817341bcdd2317bcbbf3c01e07d3465ed5534cff89c345092103a3da199356408713500000000000000000000000000000000000000000000803f000000000000000000000000ef7a803f313ea234a224e23400000000a9b16e3f000000000000000035818c35bf313b3f45bd6c3300000000b3f450353cfc0a3f60f30e3698edbc3513f3cb338634b33edb896334e61d1834000000000c0f0c3e2d805135403e7234de31a433b3e1973d99dfaa3520288835000000000000000000000000000000000000000008341a3de340803457c3fb3300000000d574213d56a89d370000000000000000b80ab03c7d32093500000000c9a14a345d62603dee5582355dcf2935bb84db31fa40923d56f302383a04dc3366cca734f062d33dd391703562dee23378a91432d399f73db37c1e3575fe893400000000f4b5033ef3b15336000000000000000024cbac3de93a92370000000000000000045c5e3fc8d283384630a03300000000fa69633f4a5cc23800000000000000008f316f3f315f6638000000004f17213291205d3fa654e4360f8519352b81d031df4d263f6185e13866de5a342287b233f8abd83e7cd33838470d3b340000000000084c3e3d62aa37a2179e34000000004542b53dc25b413800000000000000008ca43a3dca3d8d38000000000000000019993e3d62e4ed370000000000000000662a4c3d9d4db537000000005641283328bcec3c2a204034000000004f5778337d8d733db0d5083500000000bd31223107cbac3d9c080631edcfd730826ff833b444e03d0e459b3400000000609c0d34eb77de3d9bd50d35c467b233000000009a4d093e000000000000000000000000521fb83d0000000000000000000000006380313f9086133d000000000000000076b9323f747110390000000046313b3134423a3fecd09438000000001bf80a32b8da3c3f32141438000000005ecc1f311f0d1e3f2ee18e388d54e630f4828e331c63ee3ebea7f3370000000000000000a1eb8a3ef698c53771fbcc3300000000662cef3df8be58380000000000000000bf19313d9871d53700000000000000001dbd0d3ea21305380000000000000000ba68033ee1af5a3700000000000000000914003ec151d8363e6ace310000000023740e3e0153693400000000f4345331f8e4303ecb10dd313d083f32000000009805333e0fd1672faef8673100000000cd7c303e00000000000000000000000086b4283e000000000000000000000000706e1e3e000000000000000000000000ffbced3ebde0093e00000000000000005174f23ec1d7753d0000000000000000cc21fa3e042b02399813c03100000000d080fe3e92791e38000000005c93463129d3fe3e1218dc3865f22f3200000000f0e4cf3e64674b372c6f6c310000000097a5903e2c4a8a370000000000000000593f2d3e8c6689380000000000000000e133983d4100bb360000000000000000207c333e0000000000000000000000000363463e4022a3370000000000000000aec52d3ed32a463400000000000000007e433b3ee11db934000000003339c330a0a0433ef5fcc6302cefb230e57292335d6f5e3e559a7a340000000000000000d6f94a3e000000000000000000000000db1c4e3e000000000000000000000000df02383e000000000000000000000000fa27933ed226913e00000000000000009d598c3efbfd363e000000000000000043129c3ef59be03d0000000000000000f398973e9fa74b3800000000f2e3be30ec75a03e75ad51389f25b9308bab863002eda03eaa36423700000000000000002e79683ebd24703600000000000000009eb3253e8cf9ca3700000000000000002555af3dece86f370000000000000000df623d3e00000000000000000000000032bb523edd7751370000000000000000fe763f3e6e9cae33000000007f1dff30e2dc3c3e0000000000000000733217327f663c3e44db6631be582f31000000006a73463e859530340000000051a58131d7e6553e000000000000000000000000ca7d493e0000000000000000000000008c13263e00000000000000000000000043aa163ed423e63e00000000000000008f5a063e0342ad3e00000000000000000941183ed9fd5f3e00000000aeae383162c01e3e5c5db63d000000003ba2243263ac1d3e4dcb073988e83931000000008625373edbf41a37000000005bc3a33149d73e3e4d0d8b370000000000000000040d1a3e9d82d636000000000000000075dbe03dca0b8b37000000000000000057d30d3e000000000000000000000000569f093efb044f36000000002bb89a3442ccff3dd4de403500000000aa86bc31a4f0013e722aa03400000000f080ff301e090e3e09125737cc341d3102376c349d37063eddf6403528e00f323953c8323c380d3e977a1f340000000000000000b0e6fc3d0000000000000000000000008ef2dd3d000000000000000000000000ddb1943d6c312a3f00000000000000009395913db5f30c3f0000000008990634ffbda63d7a62d83e0000000000000000db3a9d3dd4096a3e000000005884f4309d35993df7e5ba3d1cae1e312dc54533f843a33d85224738f22c1132000000009649e63db538d83700000000000000006a660b3e15db4d380000000000000000e950fc3dd416b13700000000000000000f025d3d81bac23700000000ef42f0319b506a3d2abb8037000000005ff00b3565604d3d3a413c3500000000d179cf344c6b493de3e786351289a23266ea0035108e303d99ede33795a5c0310f932335b83c293d79188c3531162c320000000077d1303d51d9f93200000000000000006350463d00000000000000004969e7335db24e3d0000000000000000000000003e350e39d566523f0000000000000000d044013963213b3f0000000055d2e53484ab373c71c61f3f00000000c990b234da18133ba033db3eb781b332bb0fa434c68e4439fe56753e0c48c83141022e3560eb7d3a8f2f323d4da5283200000000471cb43b94c1533800000000000000005140df3cb3641c3800000000f694143410f0503d5ed089370000000000000000000000000000000000000000b5fe7135b2533b380ec88b37cca1113289ec9e345e8a6f384dc1bb3500000000e00e14346362a03736fef0330fe0b1330cd9ae3550852a38993f8638235cbd3400000000e2968135740d84387b8679340000000000000000cea5103800000000d5adad343740043565c48738000000000000000000000000000000000000000000000000000000000000803f0000000076837635737d9137e01e6e3f2c3a193291658c34629a143868da573f0000000084f115341bd78b35974f273fb892bc33040daf35f34b6f37a70eec3e204700350000000013da0d35ded58b3e7f3eed340000000000000000f2ee913d000000006349af34047ec5347d8c383900000000000000000000000000000000000000000000000000000000000000000000000007833e37bfb9ac36384da83646593637b93cde379cef6137f6878d372d1ff2374c1bff3725f59237fc73b037adfc0b38617309389c03bd37c59ece37ae7412380346fe37aff08437ba4b99373a3a0a3862379e379a328f3736888f3791ceb2378bce8e37538d9b37afc2813785c49e3700000000000000000000000000000000000000000000803f0000000000000000fa76a83600f57f3fa0e643377734da3621da94373d20573f92420d38c978b8374d1fcd3794942c3f6aa21b388ac2e637e5eef23738db003fc6bb1638fffbf637f1fece37bb2eab3e94bc0738c78dd037c0156e3707642a3ef4f6a0371c949f37e69a3637439f103899f17b37510f923700000000000000000000000000000000fece64372daf2338c36feb372e6dbc3782d7dc34f920953620d1ee36b0115a373bb99636caa19036c49098360e48fb3631e2953759b3d83625d89f370c2f053882757837fe430437bab570378f99c83788b07937e92e3937041384375c5aca3707c4883779f86d3768798d372619f4374f1abe359a61c436c23189362e6e073785c87b37e6aebd3711b4ba37acfecf3725a13c36c3e77f3fd7a319398c128a3745809c3473107e3f7f36f03bc19b67358d558836f745563f829a113c20a49836d23ab235c43c2d3f653e403bd9259c37bbb86a35a009003f392f4538b2287237bd35e936eb81a93e8a480f388d808337965587360f732a3e0b7b213849226b370df597352bc25b38128b4137cee25a3648b31136c600fe376283c0374e21963794803d378f21023845c3b0375f41413744d6853543932a36d86e8f35dab496353889a3378630b23727cf713771eba7372ced9f376b808637ffb27837df4eae37b1029b36cacd1a3642416d365c1c013727c0cc37e21acc379febd23719aef9372bd58e3671a5043764adf836d3852a374c99f0365e1a6737b8421437db8f243733e4cb37cb7bfb377cd0dd371f02e53792521137ce2d563f55fd263e6542343740093a3553f9553f3b11283e12248b35991ca536da1b333fefa21e3eb1f202375579d836bda0143f3c13db3d315921373b28a9356d81da3ef983933dd26a00360a3b77372c1a953e89a4863c4dcea23738e48236b00a1f3e42721d38bb078a368c715236556329389560a437892fd8364e095e375a6123388736f8370e6e93372a3bcb3778f43f3873d80e38c44aab37dc51ee36efc0e6375a959e3677c08436f8e192374513a5377c583337f5524937541ad7370dceda37c9b79437fcd69c37ecea923786a18e37efef50370092713783a36837bc277b376db55537aca57137b11c9937ddfdd4373f5796375417a237f17d6d3747c0aa37aed2723704724137d3020738e4411c38ed62cc374391af3752a29c3692ee2b3f7ff6a73ea9e53237df6d63367fab2c3fc385a63eaddf72364c54f736abfe153fdee38e3ecc8dff360aebf736016cf13e02855b3e897200373df36136181eb33ec0e1193e6bc46f36ae5af836aafc6e3e29e3a23df13e003759b7c1360214f93d11723a3c1a97c936a4a61e3651e11738a601c737dbd7783674946e363f808439f1591038d5f3713618fae13777c89f383b0300388c1e8d375efa2c37a0049c376eb50037ab3293367293fd3693ad0237fff4a336109da3361e5ead37c6d1a0376b515a379a975d37671b0438fe6104380d58ca378d5fc037dae0ab3783cfb937edcd8737d4458837be2b0137214515376d63e236de5ebb36f2d35737dd319337b5e43037fb26173741af03385b2b10387dc6f83726aadb373fc54e373f20013fb98ffd3ec6024b37e78a05350ad6023f2238fa3e3d32ef34d5ad9d36a2a1e13e7ea9d33ea5409a36f6ae0037f534b83e16c9a63e3b2d9e36c89e93377f08863e23d3733e012850370b5b3b37c0f3313e88e80f3e493a0837f5dea336401fb43db6046d3dc7a6a1367df5f23601b144389b90cc37c878b936182ad137eee927381b6c05381bc2a0374c19b53793f1d3391de0f837fa505d3605db6b37e2fca737d0873636a8f517364b48d237d540da376a64c336a00ac2366896a137dec986371ad8f936ccc1fa36dbe4bc37b397ac37bf39bc36906d6a36963d073819840238126f8c371c4a7537335cc937f271d437c3e078374f295b37a80da337c3d6a537172712376f0c92362e1a153861d413383f8fea37b407c9374eee5536e2bcac3ebc62293fad6e37363cb81a36dd74b23e7eb9263f7efa05361928c4363a089f3e13670e3ff50ab1363158ff36bccf7c3e684ee13e48daec362c6dbd364048383e7abda33ec5765f36e79181374bb9e53d969f4e3e2104f436605152371326363da626b93de76d0037be56ad3673c27a385dd93038cb0b773612cedf3779fd3b38c5821238ac758437680cdf37c8fa21388693b337b3b11d37bad63a3747878b3742a34e36cbf43d36871a623781fc3b37dc178136fe4082369e070e38a829fc37ade974377f8679370cf91f37d97fdb36d793b5350ecbc435594cfa379b29dc37cd9d1537a6fe1137fb8b213897d51438ad6a773717d946371c1cb6361085bf36348896359d7e8635c44cb437b845ae37dec1463739083e37bdbf5b37a21b313edba7533f5626a1369c056736edf4403e73ba4f3f6c371936aabe8536d084343ea4132b3f23f96636f910a037fab00e3e6b8a0d3f9de93f371be41b369b25cb3d74c7cd3e36659835be3586378b43503d39e6853edd4cd736fa67943749f12e3cc6ce093e9150b03612fa91352e36be37c4b68237574a833584167a372ab4fa377d1c9b37f5192b373bdfd43703fafe376c360e3719bdf234dfed14377d87e13692db893548836d351ed20338a2efb9370a3444363a514036476bd4371de0a03763ddc836e2dfdf36e44cdc37588ba8370d7033352e844235a1bc143846abe837d69ccb352273c8356e2201370d96cb365bef9536c23a95364f3ccf37c5399f37ba7c5e360cd3d93471b60838df5dd837137d8237a1e2253714bb6e3796c1cd3b6d537e3f5c809534857fc03546cf043dbdaa773f600cc23406fb62377ffaef3c99d44d3fd6f63336c2cf8637a181c33cf01a253f1d738a36889e95375aae943c2d8bf63e6a512635a348e0378e1ad03996b5a33ef922bd350ce39c36c3d4203a891c1d3e554f8e361cce4837851f3d380ea240387645d534d999c5379ec52238c987bf375cee613600000000000000000000000000000000e8f2993765a87637aa913136695b313683cfb03793da97371396e63667efff36355e1c38aa85e2375a7bf3360a8f223752531338fa15033822f7a4372df8bd372d980b38ab9ff9373d829d377af5aa37a8c80138f90be83701aaad370202a437da472e370ad23e3719884037efb808370000000000000000000000000000000000000000000000000000803f0000000038107637f51ebf373cef7f3f91561f361adb973720b3e937095c553f615ec6362b4ddb37e7937738fc502a3f6a83ed36281004380cc33f38a710fe3ed7d3a437b24af8376126353856b3a63e511a8537b8a4cb37a2f08c3923f5223eebad6f3770d523373a486437c375fa37f938ad36000000000000000000000000000000000000000000000000000000000000000025fc113862b9fc391302b737c37e9237357c1139ef1e8439b2c6bc373dc8ae3749ef0d38fbf30f382e13e0377328e93792501838a3b01c3819f601381edd0b38fc912f38e0ee80380ef400381e613d38f6bf0b3831b34638627bf837d1f22d38922a36378285c33701972b37f26a4a3700000000000000000000000000000000000000000000803f0000000000000000ce2cb83722fe703fd54f3838df7a6b374fb0d837de2b4b3f0bcac938502d8037432bfe378b28263faa8819385eb9c437e1ff0638ae97003f051b2638afe6f037fcd8eb375a95b63ea37356385cc70438204fc937c851593ee16f283882e0d737f86207371869833d7d353f3728190f3700000000000000000000000000000000e8178837ab93c23999e11c38dcdd7d378d69bc37364d853aa5e5073885669837ad10103670f3cc39674bc636b6db0e363dd28137d1c14139305300380f6c8b372950703763b1d937407a99370bac99379d9ca936e5c0cf37651b5e37df9d3937f8df2937703cff371148b13739e4a937ef1c5437975608386a44b6371bfc91377348ec37efec433860b31138a719f9375985a63683cb6f3fb03e803d31a657371c87aa3650ac613f5896843d112c68375b4a0b368f5c3f3f388a583d82080e3641a28435e7b21d3f8f33113d483ab836dcf0ed366aa8f33ef3b3963c445c813705275636834baf3efd391338b999a5366d9b0a36e90e533e97770738da0a5437b6674336ab65923d2746e137bee14737cf785537c4996238aaa418382954bc37eba961378ea4f839524fec37a5e8003730bb2437bbb1423ab099ad37206e59360290883712ad843a19c6b1372d5fbc361409ee364a4f79395c777137cb61033684ad5937073fdb398d26cd37d4be0e37534e8337ffaa2a3827b4d937264f813755d61f378f42173a4fe31338498e083767493837ee8222386d2eae37d7426437a0aa8d3708d20238dd0c9637037d5f37b974f7364a874a3fee2c553ec46d003716645136ebbd413fab09503e1c415936f51cd034c9b4213f3b122b3e510c5c369d31c6355138073f5152003e8ea0f93544b92f3610d4cf3e3007ba3d3815bc3667b2e036a586973ea2af3a3dcbf41b374f11893538b33b3e21b7253cd48ac735562189364941833d4dbeef3730c3243748713b376ecf2739fb1cb8375054453748f5cd3755a20f3ca4ae3338ef4a72378a8c10377d31323a06ed47379b65a136dae9d036f830023ae0e832376f56253446e9e6376a466b3887abf33751fb8c366ad50238a9dd3f391b0f0f38fe2f7e3710de943755d64a384628ba3781105837f8ce0a34b1f08338fec42e371e7006346b27d83774899238861e03382ced34374c33b037febe52382be0b137ccd96f37926744376601253feb58b13efeb46137bb53a336e8ef1e3f01c5aa3e52bd9b362837253453c4073f7d6c8d3e023b2734a204083714a4df3ef9f25e3e522d4436463a6237aa4aad3eaed4243e86434d3786b7fa36b8e0793e7256ce3d71eb22379dd307340b7d193ec0f02d3d9d54073434160f37b2a4623d50db673864eb0537b1f78437feee6239eb1cdc37d3ca4e3702d29d37e2ae373a03563438e951fc36008d42374f06573ae62b813726448c3673b001385900fe39c091093846c61037b8f519376cbf103ab9501137950f5e3665b4ae37fb8f453922d4a437b1cde53650d12d37caa0b539b7500b3758e4a436adf00138dcfbe5388a53093822d465377606473718b20639da748637fa7cc73671c00b3823ec6238c726e137cb420a37125b0437d60d013fb23ffd3eb33efd3666568f369709f93e2ae1ed3e9e258c36d8305c37b029d33eaea8c63e7a970937c4f5b9369b76af3e58b69f3e7a0d46363c8631374ae6853e23ed733ec2dcb7367f88bf364dff413e7f9a1e3eb3b59336ba0f8037b607ed3d670eaa3d2082543773e0e13695a5323d2b258e3ba17ba336d5f243378707a639aa0a323889f608373967a2377064ff39636bf4377091c736534fe1370dd63c3ab04d09384d2b7336aa8810372815fc398630cb359e9104342707c33739111739f0848f37dfcb003639b810389b1542393b18fe378f0ac636932b033898a34238f806e237b3dc1c36e9fd503771c91538456102373891283476c33b37f0d91838c6ab3b37b460af366ef71b3849674f38dd34fe37a5d1803717a626378c67b83e8b92233f8d19c836f489cd36ea5cb33e71e7173fefdf7436e93c0834004f9b3ef8ef003fabb204346fa86637cdb17f3e557bcf3e3f8d0136aaf9a83733ca433ec31a9e3e322c9e36349d9537e822093ecc72583e09e0d33507316b36d6159e3defb8ec3d95cd2734b932bc368df0c33c0caeab3c02f2a7369d0ee037ca287038b43a2e380b915a37b61a8937fcb4b9393266d037231b09378bdea3378f735239e36b7e375d3a8136372a7038523f793ae45e31371eda6c355068e93724596438793b7737ec2a9b36036af4377501013a2fa418375fa62c3648da95370f5e0e39d81fa536a0b3bc35206dc337be871d3ae39a8c37daf46833464ead37c437143885fd6c37ba395536966ad437841a013803959237f964f936ade73237dc5f5d3e067b483f2c820937692e0837c45d593e2229393fbaa18036078da536e9a8463ec1601c3f400a703580b97c3711ac1f3ea09a003fad98983643be22375866f23d158dc43edbab2c369858e636499da03d5dfd883e2a11c035239469372d4f2d3db701213e2e8356338d5003376e2b103a40301e3d4e0f563627fca5370da52538ab91dc37e342f93610d30938924c66387ca21d386b4b8b369ce1bc37bd112a3886059237d5e924369932d93749ae4038593b1f37bf0104367cd3af3725752538bbb0573665d74e36a8b9b0372b694639e3204237acb39736abbd3a3803338c39e15fab362a8d833574d74437a011383910d30e36d680093676da0f38cdf35c39ffd2cf37194eab36992d1b384fe12b38d614ab37587aaa3658d2aa37242d933dfe836d3fe1568c361cab303762e99b3d042b5a3f3aa1253637c8533788ef933df3ab383ffd8b05360710083783ec823d4eec173ff54c4e36ddb7923713953f3d64ccea3e0ece97367f6dc037cf32be3cf242a63e7cdb8335c46d30361336103c6cb2423e890b0b36b6baeb37f1b2423a5733533d0943ab3680f5f63792ae4f38623114382fd7a73600000000000000000000000000000000bd7f59370a3ba738c98e7d3708d0ed36d39333388cfc8639280107389f51c435f169f238570bb139a44e0438db7a8c3769ae183852243b3839ad0038667f5937b32004389a571c387117f637ef6a803719280838c6e54b3986530138a3d31f3741aaef37f9dd303865e30638b8d82b370000000000000000000000000000000000000000000000000000803f00000000920a0d37272fa9391f716f3fb7a0f5365c40e0374bd1193ac65c493fdfdd1037b17f04386d98303afc51243ff620a33731a9ff37aaf11d392a86fe3e5b9d8e37cae4e137cfec35382a77b33ec28e9137b667d8371f12d139bf06523eabf61a377b4abe3752283939da516c3d9e1fea360000000000000000000000000000000000000000000000000000000000000000733ba73912de473ab7105b39c0e237385512d639c064553a8c057139cf5dbc385133cd3903f9fd391997a239742a6d39dfe7e03964d2033a24cfb639a0d083390a32c43936e0f239599d8f39956a3c394075a939eb51f9398b4bb8394ec29d39d8c6ff39bafc4f3a6bc6f5399e75c33900000000000000000000000000000000000000000000803f000000000000000019197e391b17613f4effba39bdad8138549cb4390563403f6e0fd23998e5e938ae1fb63946fb1f3f1548d239c1f17539eb8ccc3910ccfe3ec897e039da7f8b39eadda939461bbe3e0f52b839c02a3f39c02c8439cc107a3efcd0cb3934279739c448e539f128ee3d6b0d013ae1ded739000000000000000000000000000000007f26fd39d0f45a3af2ce093a8f3b7939db305339a0f6e53ac8c67c395450f337a3650e3aaf59ee3a4f4b0f3ade778639b46cd539528e3a3a83c5d9395e1f3239ae1f063aaf70403a0d62003a28df9439da4fd739640b743a3bdce13927457139d46b0f39c5cc093a1aa9b6398abf6439cde55e3950d9183a6805cb39bec0613909a0b238234a8f3ae4a5f43879f645385f0caf39db02613f96a6ea3dd485963925ef0c38065a483ff9c0d63d97820838a279cd398b532a3fcc75ae3d9a9b9939889d8d39f3fe0d3fc025903d25194d392ad9d4391a8fe23eb4fe5d3d10b6a139fc969339b98da93e53c81b3df31c8239d0eea937fc10693eb3e8db39149c593932125d38088be43df56ce3397fa76139e5d94338849da83a256531392c30443839016a3874f5a23a698418395def16381f1fa339ca18543a1fbbc539a5be0137154f71388b3f483aaad98438a10a2e37f2584d3a7e3f993ad0b7583a41b3e939427e2b38e3e1423a80f1a038b71ea0376f4cc739ab75903a066ae8393d35d23818fce438d66b7f3a8f38fc39da15e737b38a2538e673c639b0be5238a06c95375da20e3a2d74af3acc57053abed08b37bc50373863fb403fda63783ec1a92838b334c73834722a3f38f45a3efe26823736dc0a38e0f5113f93f43a3e18e54537b5d1203af390f23e7fbc183ea816043a6652f0379a8dc23eea5cf23d0098b337ac3465390c76913e8243af3d559a173937910a38132a413e44f55f3d666ef7378864b737464fc33d981db33c6ecc9f378b964e3960d0c13a9fe2473a68e3a037fd19cb39bf7e4a3a444e063a39fbdc37b805063995a2c83ae79dd239c4bd8e375eda6939fc70933a7c5a9239d31d4b377bd38b39e677d83a9dba043af79967371bc812385c65863a2a2b2c39b650af3744401e392e20583a8dae05396648f7379ad02e380e76943a14ca4e3815428d37585929381970ab3a320f27396aa9a637ba4a153aec735a3afc091c3a0b12933976336639731d203f1e07bd3e85dbec38b2140a38e7db0d3fa056a63e514ac137e4a7d337031ff33ece628e3eaa3c72373a7c7138106dca3eaed16a3ef7e29437652af437ad83a13e9d893a3e6764c137c00e27388246733ec543093eb5fa0738d37ced374aa2213e7916b03d79a196372cd70f38217aa13d70061c3dc62ac337b8b4ef392c6c703addb6333af4dca439ea99ae395248603af0e5e839b122e0370035a239912e443a3dafd6394dcf2338dac2d739c7f44b3a9b22ff39952af137ab36173ac5de773ae044233ae1d000387fa35f3a2b76df3a6c6f833a380298378d29103a2b3c6f3a3249243a8d70c038b69acf3971893e3acf34f039b349263858b094392f0b2f3a55ddcd397bfa3238802eba3960f7253a7d46cf3900a6ef37a651273947ebfe3e12b1fe3e28c94b38d003d738f1bfe13e098ae03e469e3238c80e6f393b5dc13ee1a8bf3e303f083825c9cc395b7ba13e5de29e3ed6bf0539e8b8f839320a803e61c77b3e8ae7a2373928c6390122413e38c8383ec0a73839191282391c3c003ed5a9f33d547d61385b07f938422d803d4895603d51d53838a371733999272e3a2474053a0ec7443880910c3a54cc693a90e1343af27bdf38f68020387b91c93a872adb39d14886379d093b382ebfaa3a587b51385c3561379b1f5838eb43763a07f5bb397a52d537a426cb3827ec633a6f40cc38680ca8371c5eb23934ecbd3a7839ed3985158a3767335d39a557113a55c38f39e1ba5b37b5da63394573783a4781a139c795a9379581e0396e6a313aa5c7f139b586343886c1cd39e22ebd3e957b1f3fbfdb763982cafe372446a83eb5fb0c3faba5c637914b0338fd76903e8252f13e1f898437e26c2b383a0b713e93e1c73e0904fc37d49ffd379ab43f3ecf18a03e258eb63788661a391aea0e3e195d6c3e2f71c33732bd69389850bd3d65721b3e7e4a8937bfca1a3818a8373d8683943d8eddc937d071a83929c5373ab637173a9018cf38ddf7c93947a7b13ac9ec7e3ad9513637a64935383a1fc739f4df85389b23dc36a561c8394cf57f3ac16cb839ee0f78375ac2e1390267883a04f40f3acc703e37c9bd8138bfa3243a3d14b238391c4d371427543affb38b3aa3565b3adfdf8839bbb868387eb50b3a8e15af385a042f373049a739b25b293a73e9d139f87e7336d585c8383894303a5a37f7382c661c38cde46b38c615783e8d05403f0b938137ea12d13732f85e3e6df4293fd4aa5537bbcd97387ff93e3e4d14113f2337bb37ea0698394dfc1d3e844ff13eafe26d3735bc0238d08efb3d3905c13ef48a7c379ebb323acf63b93da36d8e3efdb2c13965b121386455773d34a03d3e3a9c4237c9aa4039c94fe93c6474b53d52dcdc36b6434b38973d493a2530ac39de8b1e38d379c63803fc863af0f6383a73da1c38bb32c2392db8133acb18c439def494362456ba39e2f7ff3977467f39dd28b136a0c1ec39fcaa5d3a5f9f003af45b8e37605d073a383b363a57c80e3a7e4b7338b276e0397fc5213af925e739b3ab0138b4ec0f3a4631923a3977173a8622c9370e68653918603f3ad5678c3969ba9f372026033ae36e323aa3890d3ad52cde38db424a388d67eb3d0a5c613f989e2f3816618a390abeda3dce24473faa663237dbfa89396152c93d1dbd2b3f7cf043371606b5393b40993da3200d3ff7654138d338dc393a896e3d4f3ee13e70184839cad0ad3984192f3d240da83e073a0c383538eb39580dda3c8f6e5d3e61b3fd383718f438b132743ab706dd3de58cc1374a70e1397359363a82bb2e3abb562c3900000000000000000000000000000000d513033a9cbb2d3adf751b3aaf7d2239a336ca3908b2f7396c22c839f803633841269d39cfe7f3398cfcd63942b45d3816ffc53962f4003aede8e03908cd2e398a60b33979e5e5397038cb3961900639273d8b399781143a3bb6d33903afd838f9ac6d390490ce39e408b33905ec2c380000000000000000000000000000000000000000000000000000803f00000000df9bdc3910173f3a997c603ffe16a9394049ab39411d053a914b403f5d9d0439bd3c8239a3f5013a9cd81f3f15c441397583a839b050043a669bfe3ecc158839af669d396720f039bd9bbd3e67b252393be55b391b9d1c3a179b793e43f02639e6842f39b269ca39cbdfef3d291f603800000000000000000000000000000000000000000000000000000000000000002d734336ca10333634c53c367aee47365d2f8a368a142c36b9673c36d8e5ff363b3b9136b455763632da8536111a9a3682805a374ed77936279af23637ec9837313fcf37370ba4374fe9ad37699aea37711e3a37fd3eb6371eec8637cf3b8e377c7ed8366e2311379640f636ac09eb3600000000000000000000000000000000000000000000803f000000000000000012c83336e2f77f3f35046f37b99e463616495d3633aa643f4e45ab373db3ad360df590367264323fb96a49378abf9336ea7cab372361013f81f16638a2b57e37b383e8370f0d9f3e5c9d5a38692de037016dd236141eef3dd7788038f77e7737896495367ad2203a5c5daf370629e9360000000000000000000000000000000086651036f36c2237c3b4b0375a6b8437adab133620422c36dd4c5136f7b3b636037b29365d932936584e303694d92f365be25836edb85836f6ea8336e1ad91368525c1350009d535b3f3d2366e80363704367136f67a7f36732c823621a683366b3554362c392737d0188e37f3038837a80a04367c2916373b562e37ebb85b36e183163610febf363301e036e5ccb7367294de35c3d17f3ff342343a139105376a90f5353dec7f3f59848b39c60d4e368eff2636049a693f16eee33877213236e19e35366338373f6e2e0539fd068a3681e3af35d2e3043f1a4ff3384755f5367f5e643608a7a33e3c19cb38395b843699e92736d5fefc3dfa284c39f78c3c379462e035ce4b8b392501813882f4403690f2033639543137e38241378011a836dcf9d1356d5e83372b92c037ea8b2037606d8235cbc58535548e843579b581350aa6f8362c003f37da4eed37c83ed7371874d5365ee81c37dcc38b379f609a3797193d35badc4735aa53423554d43c3592e69036096f1e37ddeecb375f918b37b326ee367e0aef3757fb1738cccfbe3736269c35b07dd9372e4eed37ff0c943718fccb36992aa437e0f8bb3735079b37c7e3c735dca25f3fcb86013ec1dabd3630f46c35248d613f9fa9f33d86b38335a9673236f139483f6ac3f33deb2b853740d3d135c262223f3faf9e3d4f224337e50d3935548be93ee8ef433d3af73f35da9c5436ba7a943ebbfe563cb4b32337be7abe35b222fb3d17f69539a8b694376b099835336a0e392d028638b9f12e3715882936e04b2b38f37a3b388ba42d37a6a6ee3539cb3d383e790438012104364ce12d35cd053235bd562b3501a220354224f2350ca35d366f301a3664eaf63529aa1e37c696c637f4d99f3738991e379fdc4935e8a25535b00f533539a75435cc1c15365f4ea037172187379510f1367dbc5c3790825538089840385c21af373aabcc347806eb345ed8e134c0daf2344bd3f136f3bec237f0987737d7190937a772de353f66303fdd199f3ebbf60036ff282535f556333fe74e993ee9dd1a351188ec35b7e6253ff0c8873e62a0f8354cbd0b36cbcd023f84a2483ec0750c36367c3d35bae1bf3e736c063e409944355e171436512e723e481c823df083173647bb6536fe64cc3d317dc1398d8b31374f44c734f4d8f738a6c4e437ed53c734cf4f073607411438fa1ddf37dcb82936f75e473613292d386e934636ad3c3b369aa01636a9653c37ab861036e0460736a6c858364277713681dc5436033a4f361322853621cb8c3642d977363ca470369ef3b436140e7537ba0c8a36f66a0336b41287365028a93696bc8736f9598336380e6136b9f79d37e830623637d6543666be1a3673fe5d371a346d36102e1f367c515336ba509c36323f5236f332443660da3536a643023f6985fb3ed7f52d36264a0b360f49033f9a7bf93e4724f4355d0a5036256af43e85eed63ef43749365bc77e3671b8c53ec25ea23e0ab3743675f703362c908c3e55ea663e75a800368af18236e75a363ee9a6f33dc277833654de55362946a13d4e69c73c63195c365e430f36ca96e7382c3a4f386d591b3677464836325486385f9b9c368ff73e36a0b626378bab163858f50f37d393073616fecb34b8cec9349103c7349df5c1347e7cd03762a01a38887f5d3645985536c23c5737f6017937d28415367af21536ac95523597674b351a303c3513d5433520910d3853664d389810af377b540d36134a19372b3010383caa9936e77dfd354076263583557137f0c22c355bdb2635a0ca95379e1cb9370f32153629270b3658fd0836138da43eb9b12d3ffcf20336ff01c434cf5ead3e2a54293ffda5c334a771ac36b3e6a53e385f133fccbc48367c291536e383843e94d6e13eb66f13366e8143355fb83f3e73349d3efc8436358fc33f37e06ff53da350313e70a80e367bb4f9359ec9433de38a1f3db189f235a2ef2335f4499438910fef37f55f2135148b0836b7b397388d93a2375c660136b7fca83771eb60387e459b361ed716369360a537c37aed37eb949a35810d9435d26ed4370ee3b837bcfdc1352c31c035c790a13734bf7a371cc54e36092b4c36f9fe463552cc4f3501a943351d314135cf1ae6371fa7fe37e40d0b37d43508362f4327389c3b503830a4b83731daef369d0e8b35b61eb43562b68a350f338e355434573712ab5837dcaee835c97fd735dbefd7363eba0a3e384d5d3f40fb0b36a7845736ccdb1e3ee230583f11a48f3519c262379a88243e5c6b373f7b13bf3513732a37f563083e404d103fee853f36882645357d12c53da7c0cc3ee79e3435ed7b90379e7c693d7d9d6c3eb041d835fe79fa37e4c9c73c6830983dad6b4f362d778a35f17c08396de8803793158235b8a42d377a274738092f10372dbdcf357328de364e3b48370c38f335801ecd35e73ea9368bfc48366732d2356d19ba355e627d37782c7436fead0e361d0c093629458336bc12813699af4e3634194d36d2a33f37b72b09378e96b535f501b235f1a992365d979536ad485a36b55b4936cc882f3619f2363646e82c36c3842c369b55dc3608125f37c4f4303682f52636d3f15637c2cd22377b2c223689330d36bf16b1362734233c3b767d3faa69a635ba7234360e03ed3cfd8a783fd7eba9350239223796fe633cdbc35c3f31d30336a66f8236dc3c443ccc1b2b3f0ec5493680732837feb2983a5cabf53e8ff4a835c2848c36633f863a0c0b913e82f23c363c152f3647338e3ad709b13d93472a36fba3a3360228ce38e1385d381af11d366247563799204e389f7496361f4f063600000000000000000000000000000000b028ef36d7c9bb368fea7436e3a54a3654b1a437b199cf360c059b36ebfe9c365eb61a385b2ac1372cdba5354124ac35ba08b637ed1c99371f506f36faf37436e3149236423cfa3635e58b36b4f18e36e86b2837624ca9376ab88e371a8bfb368ab95836a479263711fd0537cf1d4b360000000000000000000000000000000000000000000000000000803f000000003149e5369de033381bd17f3feefc403631d48e373cde8f38db10623f2e629a369d910638a0c48338e857303febd0a835b11bb137a518b438e81dfd3ea302ba360e3a9136f320613834289b3ea2848736b7370037405a6a38821bda3d38672037b1155836f9bad63735605c38f64a4536000000000000000000000000000000000000000000000000000000000000000018858f369711913659fe8c36b6378b36a31d703626f56536bb550d36bd2a173645c0a0357db89135de597635a6274235866c313607260d37c3e33936f6143d368b1426351967c03655bc2e36231d633621daa836f42b8737e02d0737ae101b377ad917362089ba37c5fd2a37687b543700000000000000000000000000000000000000000000803f0000000000000000cd018b36b0f97f3fc4989336660f8b3609ba55363d745d3feb7b7c3621b3fd35d7989c352c64303f2eb04036887f6335643e2f36f580023f0ca2ac375f0f3d366e981535c151aa3ef00c82370bb31a36b4b69e369363223ec060a237afaafe363f7d0236d8a71f3c6d5a993712ca0e37000000000000000000000000000000002ad57e34dacf5838ed415e38e05832361a118d364d4fda36851ed63606d3d736b4760936f2fb6536e353ff3637f08036fe17083615211c3624c722367849243632de8e36f246c236ef10273759c3bf363170af35cb99bb371eb4b23705971c37dd2eb935c5c42338c4c8d9375244fd356343853668e86138b3eff036d31fd536ace56135094121388ddd1d378616903642ab633009c4773f83b5023d4cacb03612006f36a0737f3f399df53a0e33d336b95cc2359b4b653f66d26d394d4375363caefc35769f363fba09de3859e32436807c7c36724e073fa79c113af51bbe36377e9035b95cb13e81c5c438ece2753699aea735a6142a3e35a69338efd6f9351d1a503600af043b20039d381c58cf3677dfb4340a9daa38a5c8123856c741365c454f34e88b9938eb7cc837412e8a356b365336bec14238d1863d37ab808e364af101364c5c043852583436a74c1d363e1263354fc0d235a093cb3544efca35c79e38360eedd037571e0a37107d9a3675633035c06d1b377ee4af35544992356f79b335a7c84338f5d4153681bf1336d81ac1364386b738d15df2361df2f23642595736d355823849ef0638d296a2360e202f348d1a523fe142373e425d6d357b022d369183563f36e3243e82f6893631e6d135cc97403f96e9083ecf311d364849133507f31f3f735cb33dc5fcba35f94b08365c95ec3e8d11603d0a998d3622cb0b35f80a9f3e3f89893cae57973548668a35cd50283ebc25ad3800d210361cd0ad362a543c3b2134a938042eec368afb0f365027b139412b6938f64797367fccd035b0f9f538df371638e7b2c8359146b83608cf5a38c6b3533793aeb9365a15bc358fc3e935ade1b635433c84355a460735064f3a375a5b1b3560390735f17c8536c20c01381c5e9f365f438e362c190d3501978d37c39c563509d01735857f7536fdd646383c519e36aadf953682381f36a6134c372ba55b368b2642363c5d9534273b5338f8759d342d099e340e9bbf354d532a3fff34ab3eafeec735e9f2a9364648323f7afb9a3e2044bb361019a4352b4a253f8a537d3ea48f8c359b09073596e7053fc977363eb4310735522c78363106c93e243ef23d7ba9903616ebbf34ea3f873eee1d683dcb862d35e1485736e4ee0f3eef24b538a59c9536fb230536af51433c6297c936c128413621519434a3d60e398a54a83765aa9c340000000019309038c84d6937000000008783f136d3fcad387190fa36d7e0e83650ada435bc5d243834959b35f75a34356d867135f97a8538d332743569416135726bf1364d1da3389f527f37983ff43674cc6f35e69788383e607c357a657035f8b29435b6d34e3898910b36a68ac13548b1f536c7b89e382e3dff36f437fd36ade75336493414380000000000000000000000007ecc013fda1afc3e00000000bda6e936d5f7083fbc73ed3ec56ae336f80f8035fa9ffa3e82abc03ea38c3d3580b671358276d13ea97e8f3e68ad693556e0ea36e9ba973e149a503e97d4f136a26f6d354c81583ecd31cb3d85b274357b6f583574aef03df203873cefe0b63510c5e636d78ba93a6c905238e912fa3600000000af37ce391220693700000000145e9c3451cac838953c97347b999134eaa94036279c56376ab42e364629ae35b9769236415a2c381bc980364782303643d24c35310d9a3709ca2b3516ae9734bd1e9536438d2238599b913636d26b36e70808354749d63774641e359a8406358d26b3353b232a372590dd356479ac35afc8cb36b4294738af75cb360f4cb136bda3cd37e26d49386356f435fdb0c6356f879b342c41b13e4d5d273f26c2913445f037369a65bf3e14461d3f6562b735b16b8f363343b53eeb5e013f21ab3b367d3f28355120973e0db6c43ec60d9a34fec9923631e7623ee6f3883e3ea7703698040835dc3d1b3eb1c3163ed1be063576ac9c35bc94ac3d9687bb3cf33caf353992c7363929513a1378e23727d3b1362428073737758a39b94db5377be4c53543ccaa37a7b3373973727336b569dc35914be036cee9aa384329c336753d8f3646510936ce293538a240a835927911355fc1933582d03d37631d4435d51d0635e977d93666122a38355944360493d535a2e7b5354bc2fb37395f73359d930a350c77253651b8533882c21d3645c3d435a4a30337d883363890a36f3625a93336dbd14d35a41fad37df065e34a39d173417ef8b368f0b403edcd54f3fbd7ce2350e36e0362b256b3eea6f443fb4059336381d09361747523e6954213f11b93235555f8e3561df3a3efefafa3e42bf0835c95e90360cd0073e4d7eb33e86d6f335b2fdb435188cc63d4763433e86df0a35f0562036e0cf423db5f9873db1d7e03538968c3634978d3a2ed72c37045b3c369f5a6f35c9e4b0394cf5ae3462621e34ffefa236276099385562703582df88344e00bc36d6c94438ea3d7b368ac919369b89af3726901738f1e3b335e4d78b354ff39237194c033815b4ad359656653559ea38374987bd373b588c364f7c70366f4d223648304038654c0a3651bbf03519b0b73612d84a3802e326366aa8cd35efafcd36175c353703559a363bce8436e75ec337cec6a3374c4fba34a0e85d3024813036282f353de19d743f0b08963471ddc136e8189a3d78376c3f16731e361afa88367a4a783db8ef453f3cb89535bc0c1e3721c6453d91ec1a3f82377f3542c8b636a2000a3da9eddf3eb01976368e3424360d82b13c6da1873efc10fc354b4e6e36bbf6903c0af3b03d540de135dba2cd3666449d399ffbb836a3b68636c0eb9937ef8d18390d4665350c2d6130000000000000000000000000000000003e431c37cdd635376f890d360c4b9f35027d2f3788134437cf91a036cc6c853684be8136a5281a3708441f3577cab4346b2f553697f299374a0d3536ef7319362f4586358e5b04379a51a835562b873541b52e36644daa36a9cd94368ffde73573cf8f3657f33637bf169a361a868b360000000000000000000000000000000000000000000000000000803f0000000052bbe536af03eb37d0767d3ffb6cb53577b50a376737f4371854573f42b68d3663604136c6d87038d0d52a3fb96dc83430883e36e5411e3894e6fa3e65482236f86f6735833c9a37f52b9f3e309f973598a60d36c185583776240a3e25031d36d16f8d36a6259a3704bf7e38002e8f36000000000000000000000000000000000000000000000000000000000000000023c5fa365360b537bfafb53583066f35ee9f0238cedd2338907cb336607f9d36ee6f79375833a137310e4837339ff33668debe37b2afb4389b5a5d37bbda6b3590a03e372e6f1738be3ccb37b4c292371a852137cd433a38ee35ee37bd52cd37baa0a235c3ba0c3afd7523373e59dd3600000000000000000000000000000000000000000000803f0000000000000000f41ca13685b2743ff1872f36bb0e8a35749ada37e5964e3fd1b6b137aa56a03614fe4c378f5f283f752c843759c6fe36061ba1365728023f0467163898212136eb2854360ffab73e09410338aabf94375354bd36fb12583ef12b0a38d171c53787ab6735e362813d3eb18d376620c436000000000000000000000000000000006f0a2536d3e5c239863830382353ba36c87755361bb8b43ad3d3bc37403ba336ac0dd53543bf3f3a995201386328b136f1ef8a36cf46cf393c0c6a3736faaf363f19ae346dd4e33977a109383cad9337007349367e210d3adf87d13731766937e3caf5356f09423a9f0e3838110db93710220833fb754e3c673508380ae8923733261037accaa73a0f66e2383ec712385f570736394f6d3ffe94933dac3bcb36b42cb735b50c6a3f0203613d98b2a536bf6293357083473f2356473d84beb23604247c3637f5223fa8dd263deda2af36e4e911339662fb3e291bc73c82dc9c37f1bc1c36e52db23e4117863c2abe67377e23e435b8cf523e61fb4e3c9feeb037d596fe32b7e3883dc26e393c7b9d8f37c6a6ff3615082e3afd3b9b39f46012382be63b378dbf8d3afd688f38ea3d5a37712db8365476783cca143d37497fbb36aed8853652ff403a88bd9b376caa89362a580937de8f163abd280c38afbacb3632ce5936e8a0343a2a6a1937fb148136432e73366d15283a2be5043780949536f55d8136a543343a4abc0f38bafc0b373a318335a448913a4bba963791a420367fb4a935becc713ae98de2375e55023661922c37d93f473fd503553e36e6593710b7aa362cdf463ffbcf413e7b97be36c98174361104273f8c64233e10b18c361cc5b736b4c30c3f1540fa3d2c26dc365acf44360b8dd73e66ddbd3da3c4813650cf6036c5da9b3e3fed653d7e089c36b3526236feb4423e61aec93cc20b2237fef11035359b943d1550c53bb5631d3609cda2350d9e743ad7ab6038efed02365be09f3572e1303c39165f388039b23516d57e36bf8e9e3c8566853644ea52364b7e01379928783aba4c5a37bfc4a136e645833666491b3a1cb40137bf3a8436380c66367137723af8b87f36cd80533622c5ba36a3981d3a8f8ae2364aa8c436b6529d36a320563a419aba36c61da83600152c363c0a0e3ae09866365a254536c8268d365f9f6c3a4dc6ee3622537c36db7e6735f88d223f4caeae3e766fbf35b53a65361827233fd5379c3e81b85c36ad95c63617bc0d3f393f833ee830b036335b813657c5ea3e8f13503e9bc285360d854e36e63cb63ee8e1193e7daf5d3650ddad36592b843eb17dc73d83a1ca36fea290369f77263e3a63313d74d8ae36afa710364d55873de6fc7538ed974d36a6c25836d6d0463c1129f437fe167f36caea49375a9e853c4f15a837c0b6fd352de42737b29d993af9f14b371d2086363ef23f360ca6a73a5a045036c1ed64351f13ee3661c6943af2d922377140cf3584151b38f1a3a23ac4a04e38532f0a375d9bd236b2468e3a0e333637b5fced35a399b7356ffb953a88e7c73630c68835415dcb3698f5803a11c78237da93a536b66b8237822f273ad2be7b374ba2083633289c362cb0fa3e6c11f43e414409363e17ac362ee1003fc56fde3e655b9136f495a335520fdd3e61a1b93ee0238435d9bc0f366173b93ec0c7933e4b13f33503d3a13709278d3ea765643e7ed54e37410a1136428c533ec6e70f3ef3b90536f8199f359d21033ea8409a3d05299d35827fa136489e753d254ca738a760ac3615b91e379a6e8a3cd0530638f88e123660339a3698d2373c1a870e371d69fd35a1c95836952c803c48c13436d426c535732ab3369d131f3ac3ada336088e7c36812acf36ee78f3392e61be3694a09836bbc67436f3bb6e3aa9016e360f4035369f72a936086ce23911e8aa36a8507d3618010d379b68303af3bf3c376f589736bba27d3675e7343a981a873618455936c2b3973748ce563940fdb9355dbd1635122f82369e61b53e14221f3f400f1e36606d4f363405b83ea1ed0e3fb28cec35f19cad3632f2a53e8cf7ef3eddbb87363693ca36a51d893e395dc03e5268a336ffa467360b52553e193f913e66cf423613bf8536fe8c1a3ef6f43e3e7e528036582ada3685d3c13d642dc03dba79aa3697ad70362ade193d875690361e74643684bed33533bc513c54800838cfed4b350c2a0937e1fc573a9b566d37ea879835b63b07378c57623a6b80953597aec63480bee337651df939f5e3ec369c043536e99bec36f8bda639696a7c360d35573643668636fe41e7390a5361366d1b20367680e13779a0be3904085c3712ada6364d1891366017e339aeba8b363f715736ce43063721f21239a214d336e0f09a367b9cd43700050f39358f43374b7b1e37d598fd3565fa663e9490453fbbdb9b3533581536ac5b683ee64f313f9370da34a11a8837ffb8523eff11143f6cb34936666cbd369317323e12f0ed3edf175c363d3181366a4a073e63d3b43e2ae93036cd0d5c3790fbc33de3f76c3e5f58b136aad58c3613d8693d9812053ee84c6c36744bc1362fb4983c9e6fbf37ad32a536876a8f373c184d3cfd359437c7bb25373fff5038c59e4c3ac77239375dfbbd3631d8e137da0e0d3a128b7d33a4f1f6320abd1b38661e033a06740236f5c4c335b843a9371e16e5396a0a5436fc0e9435b034fa37c5bcc2391eccec34c1c50c3324994137063f8e39aa598e3611d64f36e5edb837d70f033aa5184136d5725f35a851813747cc413afecd8436646e41349cf9c6375d3248381b383136d9c1c735f1401d38bfe7a43d8d9a6a3f9b06d83622cfae37b393a93dc66b533f883bfb328d99f737f086ab3d5a4d323f6669cf35dbe884373f71953d4dcf0f3ff59fdb3568e1cd374375623d9869db3ec8b20f33c004153780eb0f3d95f6923ebd346536db0b6d37ebca873c29de1d3eea037b3542c30337b4899e3c5824193c73fb093513ca0a3782d8093aef4b473616e4f03500000000000000000000000000000000be8f1b37559e6b38f426ab351c8f20342fd6f13760ec0c3821193537b9f4a536477adc376e1c1138dbf866370c1c263697908d378f6473388c54f7372b1261350375483706719e3757bc8537751af1365695d23685f2103822be14380babab363d17ae35f90d1337e0658737a568e1350000000000000000000000000000000000000000000000000000803f000000003f3adb367e2f353ae2756f3f5e03f934680ed93748c68c39dade493f4183b13666ffb337866a9c399ae3233f89e233368ff9fa366fa19239fa5efb3e76a2743508c7253726f29f371534af3e8077f736ffc39f36f3830738886d453ec50e593734659c35699aea366884343db2dee33500000000000000000000000000000000000000000000000000000000000000001999c1343e86b1341a0eac34fa94813588187e3544247c35223881358dbc49362eac983606ee773648c38d3680918c365dbb6a3681691035c55b2135143ec036cf0915351dbf1a3527d5263546c62e35e3b30036cd7b1c3682f3cc34ade4e43496d2f637a1380638dde40a37d56f803500000000000000000000000000000000000000000000803f00000000000000004b183835c008803f29fd22350ab1c934cda28d35e269633f3ab57635c5a14335c8649736c070333f7a78873695609836bd8f1a37ed53013f4416cd3796244737a33f2d3542e59c3ef5f04d359429ed34a8411f356095ec3df12e66371f3bd334c8540435ccfd483c52d707388a7493360000000000000000000000000000000000000000f36e1d37000000000000000099bbf7333d26ee336e1adf33e704e3332bf587364bf18036bf399c36e523ce36ee06463572d3c5348ecdbe34e2e4f23444f462340a39393487ec5e34e365483441c0a0367164a4361ce2a436348dc236bcd0a535b8b200352b26293599145b353d01f034c9a92c3745a90b346538f034bcb80a366c6fe0355088fd3563531236000000008f22803f52530c3a000000002101db333601803f79fd6939bd49f13356067b369f176a3fab25533898c7b43601032835913b3a3f63c31a3726d82f3594982e34cb7b093fac39e035ba5083342d649e36e30bae3eb4ebaa368c67c1366567a23505f3193e52a3c33746c995350279ab332959e03c7ca11638b5789a34edffb835b84772371c51e735694e0f360bf62234e9623f38e6292638321fed3300000000c171c837e19ba237341ebb34b5659f3444c186379f39ca3715cdce367b5d2f3501a603376e7c6537cff8fc36c828073565efd6346c2ff034fc4e083513d63035debf1c3588bf3e3530302a35435a663755102938cd31d337856d6137bd37c3371da846385e45ca37842f8137e221043539d55a37b30c0b369606e834f7c662335548603f11f7003e8549f53300000000af5f613fed8cd23d0419983482476334e6dc553fb537783d494aa834c282cb3471032f3faded4c3cb4d09335d3db03355b88003f46abfe3b11621635bd6a1835b970a73e47306a3805645935e3bfd7358cee013e7d79893836b30736b5b2843515f21c3b0dc48238f6f48c35f78af534d1e369388fa9083888faea347ab498344fd3733894280838b72b9e34742f5d36cf7086389d900638a69d9336c3b29a35ff5db4360998c535b8e5b83522561e3599cb2537bee9e135507fbf34428ea934cd5516386a532938b19f14378ffbfb33e45a8a3796ed043714db15341270c736044f0c3835a779371c6009340000000038b508370000000000000000a137d936068001389c4129363a0d2d332f849434a9a5313f15a99d3e935994349e7124365358363ff788933ed4c64f3601e6963519d72f3f141e593e111cb735345411352e56113fca7c0e3e6e59933485f44c34480fdf3ead02823d0e16473493491734584a943ed2eb613ce0641434823739342ba6023e334ba938cea5f83300000000c444023b7ec2a1370000000095fb0134eb8bb33858b1053800000000c0ab09347e174f38bdae7e3519a701349c4bdf3562ed9938702ba437b54dcf35dad69e359e3caf359bc0b1359dacb33509bd9a35b82a8f3546aa7335c89a763546c1c5351619ba37a7970e371dccce3538248a35ef419c352fc8a0350d46a4351206a835b6839d358cbaa135c14a8d35e804e13760bd99388253f137ec35f4354d0168351f8948376a950d34a6bdd934996d163443b9013f3519fe3e2324cf332d7dbd351351063f1eabed3e0a879035b8d7a735ce38023f5042c33e5cd199351d2e8f358d8fe13ecfbf883e97546e35193cc5352df9a43e1205373eb562b33562738d35d372713e1738733d0a90aa35fc7b9b354cabe63df81f8838a5339b35da9dcf3562ae4f3ccd89b638e53be4359abd703414018e380bcf933712b705352a94bc33e7b2af3860b7cc360000000000000000d27093370000000000000000c166a8341ea8ed3761720c34a36af7335571c33337dbb637e06e0c346ff53b34202b6e3774c25f38672b9a3658590b35f66cfc34b8c20838cfc97636df6df334ba32b3351b30e73792678b3665b3bc3567bfed3728038c387df53b37d14383363fd66337f67acd3782989234e4de953494b0e931f116a23e52682f3f00000000000000006790b33e2683263f0000000057e98534978eac3e17c0093fe1a3553441a5f13382889a3e1527cb3e76de2b34e9f115350a017d3e912c833e0e15683428fac634f42f3b3e4a45e73d26b11a35b6159135bc32d23d248ea7395b0eda354d8498363a44013b30539138a2e96e36d537a1347715a138c3eb81375ba79734fb50f2343a418638277eca34bc3fe9345148603763927138040341355edb5135176e6a37f4d926383e5adc351ea6ec355b555935d54c0437371e1a35eaf21b3569141f35224ec036c41ff034b42d07355deb73372e0f19389381cf36ade031353041c437b4646838bce9e4376da88a34d006923756f80338f4ddc035000000007e4d8d36721d43378a322133dc2b4833ff5fe2348032073e5eac5e3f3e42db34a451703505fa2d3ee966543f274743353544da350387233ecbcf363f72f8c935918b4935a75e163ecb4a073f3130f434f5fb1335bf70023eaac7ba3e9b26f334ef799f359c7ff43dc7953e3e4dfc173564e09636a282bc3df63c5d3cea2f4634000000000c25983cc75134380000000094f5bc34b6a70f394ee7e133000000009308be35a7e8243704363535e9f7bc34a528a53475d2c23700000000dccfad32daba8b35e1298a35c9156835676e51359a75a636b2c69c3600157d36ef249d3623175934c4e36a34c3d23834696f8134f364d83419d6db34a30e20352942b234e2fba1360cda04373fe49a367baba336104df13386dc0234492afc33bf83f2330000000000000000000000000000000048efb33567a9a03cbb7d7b3f94885e34c08cb134e1fd0f3d8241703f00000000dcedb235ab2c803c88df553fa3cb67359ac3a1363637613cb20b263f674c7836340280348979d73a900aed3e6e834f34b79c3d358144f73b0ca8883e80db1835063a9236f32e803a986bb03d79278f367dffde339b14323ab6ea2d384215f63300000000d60a013800000000000000000000000000000000000000000000000051e247377f4ca737ee74b634dab870346e7c3235adabf534c769ec348457e83445f4493598063435fb810e35dacb1c358fcd67371eb7d4377f2c0c3546390335bbdd9e365ad390362385913601139f363f3ee6360e4c1738faa75c376596883522df4f35b1f9aa367b80953551e295350000000000000000000000000000000000000000000000000000803f00000000ae98013507c79938953e7d3f138c963448a35235229a083822d1623ff4b02035b2752f35dd51453860c5313fdc09553530dd48367748a2380a09fe3e96872135a84ba336d2ab1638e4f6993eac4e97365f454236359194383839e63dde69bb351c308535a4251d38b902973ab1b3823500000000000000000000000000000000000000000000000000000000000000006e7b8733553ea433e6bd723398d4973398ebc4345db39b3463e4b03402588334f04f0a36fe63df350cdd953536203c3574d4593676f169368f8a3936d886313600000000a5415f3700000000000000009b3d4236916db7370cbc39369d0a19365f3191369fd8a436f8b88636a8d2703600000000000000000000000000000000000000000000803f0000000000000000e2818033b7f57f3f7ebe8133f6669133f631ec340cc8613f1adea834b7f39534eae2ee3573af313f592ab035ec5360358b6f3b36c0e9023f943f37366141313600000000f57da63e0000000000000000a92b1736cdb30b3e890d4a36b3c91c360e0d6e360884fb3c6d618536827280360000000000000000000000000000000000000000edf3bc3895692f3800000000647e4536f2174a381d87fa367d518c368c6d6735eb7bbf35ede7d73529dc7e3560713036f4e83536027153369226303631e8a036a5500c374e01b736cd1caf3694e6e83512965337533b20368c2d0036a9cea83637cb653892a4d9362513b236f1e9ac36c3355238c420f0362599dd361a6cc535ed5bb73781a802366dd8e83500000000cf02773fb2bb0c3d000000000c0c0236df3e793fa90ab638f50a9136c3a16d346b95783f05194f36cb944b35494e2736c0bc443f31ac6337ee4c2d36ac788136f7c2123fb15fa8374d9ead36aced3e35a428c13e77da4a3759a0e2358ab36636c33a343e83c2f437c43eac36fc6d4436b6a7873d582213379cecdd3668397734a04e3b3b7f1112365064b135a43a8833b0f8bc3ad4293d33b486893303ddbd34af98e9382c25db34c0c094348c035535637e243807cede355cdc85356255ce31d99a1737657cbe317a3f8431e7c919350d0b0e35e9980a357d9ae034085e063530e50a363debd03563a68235f82040337a959838095766332383ed330ceb19348120e137e58f1d3499905134c74034354e8336387afce8354b9ff735a66165330f97503f5520163e841b9c330fdba4344707533f28d1c43dfbf78b34eb9be8341874583feaf71d3d56a68a35b640ac3186673c3f5306d1386617a031b57d0b355eb20d3f2daf0835cc99f734e65ff934898ec33e70521836ab375735d2fda433a0a9483ef28b1f386fbadf33715b1834b1ce503d23231c345d123134520d0a33cb72593bce1c25375d92c5350000000062ba843b000000000000000000000000d9afdc39000000000000000049f262346dfec93804e0743467deca33b7bc24354c120138676a6835f50f01355f708835ca33ba37c5218835e6169235000000003bbe303800000000000000001b00c8359068b338952faf35c84c9035ddcf6535dc9e023864bc4d3510fe6435ca4b0034f2ac6e38186c2b3449cc4734000000003b89263f4b0ba13e000000000000000084002d3f643b803e00000000c8fc9a34ca6d2f3f7f921d3e47422e34e82002355dbd243f5cb3963d911605355aa28035bb90023f695c7b3b6c5b913500000000e5afb63e1132913800000000b2fdac356d974e3eb0d4d3375076933500322735aff58c3da19b7535a3e051357025dc336fd36d3cbc01243452314334502d3935b14b8f3b427caa354958cc34b3da8e3603e26b393c56bc36343e34361df03536769c1f3964a97a36e352f13588a580362e192238bc3f9a36a71c23366cf9963650fa8c3808c6a536f60671360186873612a4233865619c3641a05c366a8f5f36d8a7d43852b14f36baa4dd354591a4364417ec38f15bab366d986a36a195bb3598882b38c0b18835a1de4635f1d926353521ff3ecf16f33e9fd6b434acc66a365f3c053fe795d23efa17343685a6d435d0d3043f6ab0983e0c11d335f45d4a36e66e033fd9f62b3eff4c0b36af258436b3eec83ed3c7dd3d3a36743652df3f36869fa33e71db10383f034736ce582036c17d3c3e912d82378e57b235361a8036f5918e3d6a0602380549633676ac2735d715c33cdd08be35eedb103564b02934cca6993b0398c13392beda33320972359eaceb38e3ac4435f9e90d3567d8a7354060f13862e2ec35c3084d35000000002f0096380000000000000000ac309b359421eb3774748935a5624f35aac10a35f61d3b38a224a435625cd834a7012a34e679ef38257d5334111e7a3400000000c354ff370000000000000000000000000000000000000000000000008bcc2834c96dab3e98be253ffc8a0034ea425c359e0dbc3e2cae103f02b923356d476b35cb8eba3eeebcde3ebd7542350000000064beb63e6d29933e00000000a3088c3581e1a73e0c62233e02e07035c2f5b7341b1b883efcd5933c56d90735bca0443471cc253ef8756f384c868634000000002601983d000000000000000000000000a81d053d000000000000000096c2c035cdafd83c5cb76e353cbd593389c7293480ffbe38feb84134c2f152331a848e3352971c394dd9d433000000006c0f803540e51836e2981a357f780735b8cf0c350058053679c70d350155fd34d3bdab31b2cc9b38f49f9a31af4cc131010fb035ad77943880bd9435c196443588bdf434f5378d36ae8ec434aa34ab34eb15913312d365375fe759339ba6af3396d6b735a2c2253eeb074f3ff84d2b331ba336348fc3553e3ab63d3f9a95c83394690e34c604463efa881c3f7759e33275743c35d53a493ef674d83ec6fa103500f00835c6e4363ee3d3893e2b1c0735a3daa43101e2343e3d96b43d85fbb831cc39ab352269ef3d0cc02838c0ac4335eeb19f34fb17a53d8b14d834d91bc2345cc7803333b51d3d11da4233bd059a33be32f6359add92399e5aa13500000000ce0fe136abcda7380e6da23626ce873519ecc63672049538ee3f8d36179a00367d14323682340a38062ddc3500000000eb77b636f2e84c3803fea236be7b4e363e9a34364badf038d9eb463657e31836d813dd351dcbeb379206b43523da5d348235aa365c2686389f8a7f361038043672d7a53734be6f3800000000000000003176df35ab6f493d21e2723f00000000e045d736a56b8b3d65c35d3fd7b66e3582e7b2361da98b3ddd9f413fd07cf1354bac0a366b63553de431123f000000003c47aa36afdf143d6241c83e44e75036c9db26361bc5af3cf6d7573eed6626360f6990356905c63c8c57a43bc1a15034ad1d9f36d84ddb3c10312d385874f835000000000e1da23a00000000000000000000000000000000000000000000000015419336d7cf99369861863649e4283653f048369522a0366a3e1f362da129350000000063ccb83700000000000000001c9c573604f4403708685736c487ff35cbb6bd358536203656793136af0b83358e91a4345450b334d38fa734d84bc6346a2ba433f7a19c339ce49533f2a749330000000000000000000000000000000000000000000000000000803f000000001b39833648c299367b5b783f61e73236ce000f36cca7d53786255d3ff8074e3500000000bab60d38e0fd2c3f00000000f5582e3626149d37a8a1fa3e3765163640cf1135d80e1136d2c69c3eb940c6353669aa34ea58d334c4e8f33daababb34bc998633341ea5337b07893a0cad7a3300000000000000000000000000000000000000000000000000000000000000004a5c9c370b4aba384af26535512f393417494136daf325364d08c3351d3a9735ff748a36c8d12e38cebd4b36a861303628a84f37c27ccd3812f02335700a6935fb3f1036190c27387fdb6a36d46b8136951ca635c8ecaa38af2f3e3637823d36c3a4f333bb891439362e0836aa23e53500000000000000000000000000000000000000000000803f000000000000000007a11b367a597d3ff29ec1353ce1ce345cd746365e32583fdea6e735c8a6a33511c76e36d3af2e3f3033653680f83136afc73b346061053f69464035f9976f355901a43511c8b93e6c34783695697636e81070346816473e474ed2375a3538365c04e233520e543d5e1232362191d73500000000000000000000000000000000b3e79b343de3c23b69127d37b253533675238332d41a853bf4923538535b2136d61da335238f823848ae3836362e1b365e67e432da28ed38a208cb3598029735d8a91d35cf8c1f3cb87f2636a1d40836040b8c3579c16f3c236c8d3682285d362a0b1c339691033d9d351936eb8e0036a2a45330889c443d9e3adc35da22c2353bacbf3635c5db3c9b6816374a82103788842034f091643f8e43593dffd35a36d4016d3272d6703f015c863aa9a023365b42c83464eb6e3f3b060f38d1161f362bfee232853d413feeefc237af629f3500000000b394123f5a473a38a4220c3604267532836bce3e33b76d3770896436c71012339130683e15ad2938d5e705360000000055e45b3d0d55db37c3ecc53509617c36be04ea3c7d1a1d37103b11371902e0351fcbb83c00c66436715739369e5aa7350bb6943cfb064536a6b92c36b4c79a33db89dc3c1fdcc6354bdbc435aab92536c6acd13c55179f3631b879367f681936724de23c54cf4536692832363cc0a233014b053d7b7ca73390e1a53329b1eb3594700a3d77135c364d502f3682c32836d9d8243d8e405f3610bf5736ba9147306678023d55819a347f36223499e8ad35dff43d3fce172c3ef2703e362b474f3550d6453f8a9b043eac822f365e4a9b33232e463ff0f65e3d14d5c23524c702361f8d303f04bb063c2e3d81361ce2f735e4ac083fffd44638beeb38365d82a133f963c23ecc84a9337055a6335916a2353f2d703ecbd1773658e72d36d3c1fd3566d7cf3d98ee7c36b8045d36f6d319303694c93c23861e3556a69234f7862e33c23fb83cce638a35ef0a823300000000485ddd3c97485a3500000000afe65d33c380df3cd8c69d353053d5345688a5355b1d213d6f981636920e04358b83003593d1173d5b97b235f6347035970d0e360d0e173d63fa3136231ca635083238354ad9ea3cf82d96353a7fee33000000005840c43c0000000000000000fccc783544b8943c7bf877359eb22235ef2123335c1a1b3f48c99e3e29119e340000000080bc1f3fcdad6f3ec24a0034ed7df9323c86233ff7f90d3e46f8de3459343e359e6b153f66f8933d6f5c5035be5039346dd6ef3ee275953c18dd8335f2b8b1354c54b43ec0ea6a362cddc7357cfdc3335263713ebebefc355cc3e933000000007003023e02bbc63300000000377a5d34e2d3163d5923d1357d1e3735004f86367372ef3cd691ab36472210366ce939348e770b3dab87993546f13e32617b9d3480e5083d01e29635c14a0133c067eb35df96373d940c8236e93b56336116ba35e0b5133d77e2ea35fc9a9532be97263689a0263dc8cc4036b9212b3467123435539bff3c315c4f35aca52d338f481a356f399f3c7ec5df34e782a931b26a8d362d95423b5b628d3683c03f36cbaa7336dd23ed3e3238e73eb6a43b36490ecf31beaaef3ecd93b63e3c342a32ac4d20335f74f43e62c4853e5358023312858f3501d6ec3e16eb1c3ef7375433444252353bedb43e8c8fe33d7e599034686b4835066e993e7f2b0a38f3452635bf1d463439364a3e684bd4350d322833822729329cb2fb3d7addc1352499ae3107606c36b7155d3d1ad0a336846059369c036c35e69e033d6447cb35a489f93000000000a0ee153d000000000000000019e9353596d7f43c010fa2351affb733ee581e364c01133d79f34236978f413482069635f47a263d87c63e3563a2b433e951e63544612a3d0291d9355f75c733ceb16435ce0bc73c229597346c0df03273fc03358569423b0000000000000000019053350f2f163bb8d030334522133307895435cc65a43e67d4173f8e36fb3000000000afc7a53eabb5fa3e000000004332e633645fab3e0f91be3e91b5bc33fd75083687f7a83e6d327c3e927709359fe78f355ee7953ef550133e53ebb8334dc3a5356306743ecc42d53c9113ed3479504335a30c303ee17125364429f432c846a934eed6e73de68d9634000000004f261d35c681773d3828073533da1b33b2b6bd34450f1d3d06dc1b30f4a1902f891b5e36b8881e3d2021403614540d3550193e369433083dfabd0936d87b9534dc3fa73305a4083d8b0da533857f9e33c5713c363c34053de1cc2c367d888135711a89368448133da49f4a36dae88135eeddab359605073dbf629c338adb9933f92e33364008b63ae608c435680ab232d261413692b3313ab0eae43569212f35daf08f34d59d2f3e9b1f3c3f06e6d72f8c485f36ca363c3efcf7223f3a5397355d7c33369c7a3f3eb513033f8eee1d3589f7a63357fb423e8b07bb3ebaad9f3343a43a36003d373e944c693e95d3ba35ddb38436cfd5243e8ebaa43d0dc1b335441fb735cbc4e53da36cf0373f499a3390da3036806fa13d50440836e7fbca3468f13f361ee68a3d90ea11366c637f358d9d1237bd56ae3c58ffe53646cc9334e310ce3565a6c63c0c28e02c000000000cc50c3673138d3c6ce5e2349494fd3264d38436bbaf3d3cef722a368744673291f81c369c70663c233aa03500000000a6beac35b3b93c3cd517d0345109e232ba4b2b363f49293c602713360b374034467cc7374fa1063a8e0879328bbf263287550d3747a283383b2023358b2b1334aae311376e9a463d5e17603ffba3fb352252c7356bd0913d61b24d3f00000000a419073656b88d3d74bf273f12c50633525f7236a993883ddb2a013f2f476e321197143637f9643de545b23e0000000088c1a7352429433ddf033f3ecff7df32498729367afa1e3da552913c92e34734d2992836cbe65c3d8574d3370a194632385959368610483dbf53e03525561a34000000000000000000000000000000005f8be235e15eb1382857f133f0e0ce3386ba39367dde7838853bce35c191643417c16b364d9d1e38c3c82e362f87c831d90f4435d8aecd38aba39138ed21383462844f3686ca2638c60a7c3854410a3656fdbc35a54b1c3644aab83739fa48367ba26f35554e903871d1c7383c1afe350000000000000000000000000000000000000000000000000000803f00000000fb0bde35d24b943876ce723ff1fdd43357ce3536c3a66b38b2434e3f985869348e657036190fed378734233f6e1116347b716f3595bd5838b76bf53e4ee63a3488063e3697e2863627dfa23e5ca142367a86ad3558030d3670ae1f3e04b04b36723832351f8eef3668f42d3cde151136000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e3c79c340c6d93342aeab5334be5d33300000000895e01331d30f4317d224d3300000000000000000000000050c5a9321ef32c352be61f352c64c93401720a35f6ade23453a7ef348753d334a349f234699a3f347854453412060b34ee6e0b3400000000000000000000000000000000000000000000803f000000000000000000000000d95f7b3f00000000000000008646d83454f05e3f8f81c6346f5a56340ae10233d90b313ffd55a23200000000000000005474fe3e0000000000000000507c67351bd69a3e82d244359ba60f358af2dd34f710043e4d7aec344d0bea34bde71a3481d6f03c9f332834888c0b3400000000000000000000000000000000fb508d3433bca234730d8e341518833413541d3534a94835575f6f35bdc523355158a1341a4ab234f445aa36c7d54e3577b9dd34e32afd34f1e50835f3181a35971c3c35f3495135534f6735a878603559bd8f34d44fc336e4e62337d718b936f68d4d3487a36d3775fda0379d27ee360ac16e34e44a80346b268f34fd411134e0083d3477b351359c8a7034f14e193447ea8c34fe78793fad1d043d2d827a340c99e93405e67b3ff3cbaf3a63ad2f35dd48803471a1653f26547f38f8e7b6355544003570823a3ff048c437daa6ff34cb1d3935daf20b3f1a59a536b173443581826b34c610b73eac370a3a213ab136445e0b34fee82b3e1b95cf3a7bdf0c378526be3361318d3dfab63f3661939c33f87cca338f2c073aca16eb369e5fc5334fa25f3690200a3742dfdb3607a39436bf978b3456dcc6355f262137e0cd54351c15a0348710b8348562223728b0b135d77f3e366e467d36ac667936f7ad8a36f03560353eaf8735477e8c35e9a06435b5b55d3450df8c34b6db0b37a75d2235f1320036d5e6403633e13936088b47364800b735d9f14a37b5e925372924f735c664ac36339ada37cd08a337e42231374cba7b3569035c3f660b183e0abf7e365d6f7f3444e35a3f8280dd3daf5c1635c2b5a03446d4593f9768013dc849e63407b10436bfa6343ffebd5b3b92727b3649c25b35fe65073f79058b3bb9a51735eb1365349357ad3e0aca023c1668f0345c85b73585621c3e838faf3c26e0263692b09e35087feb3cd94fc939536c6a35e03f49360e3eb23a58ca3a39497dbd360356cb35dfc49a37e70e8f37ce92613615de30356005df353f10e936018527354539db3551a2b3357b1c6e35aa2ad735cf3e96345ea0d634b9f7ee34d680a13477c9a5341ed0de34972cf1343179a134637d4a36788f39369209213621164d36773471359d0ebd3733274537aa2f2c35c99c4035abe14837b8fc1c370acc6935e7316536090ffc360d115136d8e43c36cbbb9534be6a303f46eea13eea092e360d9b0f357b9f323ff4858a3e176f1b3564b5a93516db2f3fc739363ea6d7c9348c3d9534234c1c3f5af5cf3d848293347cd5693463b4f13efcb12b3d0a2a58346c182d36fa37a03e2fe0253c2674c735a45abd346fb6213e61c7713bdd45f934cca43a34cf11fa3c49ca1f399b5f3834e102fd35234e4a3a61962d37b38fa735b19ed63579f4fc363e35513687ea3d35480e2935575e5c35ca3f42354187e734d3baaf354a9968372bb00e37cb33d635ae739135a1260b37fafbdf36d65c3036d02f973518afa535d00fa7355b7b9835c467f43504ca8337814b9837e5e2863681cc833678ab8c3767bf8037214939361e0a3a35b85b67351196553565041a351b4e2636d0bb8b361c859e35d0915a35a501b43491ba003fbd11013f6e1890344b680535ad61053f621feb3e8498d134a9714935115d033f90a6b33e386851356033f63445dbf23e85c5613e11d75b352b9b99354631c23eca3e043ebd6581355156e834d915923e5817eb3cd930b4352310773510a8123eecb26c3a9ba0b7356cad39354632033d56fbe236a3a6fd34056539359753fe3ae4219736dc54a234b49e3136d6be813778207636cab21936b3ec7434fd02883717df2136c383193516bf233507d91235d4e9d534ffb20535a732413602688d36203d523683474d363e42dc345ded4035ff1dd4342d93a6349e799134d66a9b34d122b2347d7feb340e7d013658aa543661233936518015369db89e354f099236b9019d35141455358c279f361e264937ac998836d2168b36b6ca5b354e3ca13ed4cc313febdcae35135e57343a4bb13e262c213f7a024e34014b29359870a93e7cc3033f4713ea34163ab23507e4a53e6c2dbb3e27d02e364e85b4343229913efe25583ea9498834e5d1a234ebf2693eefc58e3d6d4fc53494d424350edd123ec3a6033bb3d6e935b8f5823561831e3d906d2a374def2735a79133368c49e0390e193a37899dd03574630f37e79324383f67be3627b33636f9b5823561751937dabf853503d53f35631a193622a218362dc5bc35cb0fee3510dfaf34a2eb8d361f3e9634ba5a4f34ffe2483569e5883510015a35bfb4653593f36a36008c4d36e6b62436b09659367157b53487b72a3732420a371ba9cc34efc644359eda3d36048a25355375fb34d8dcab365ef9aa36295269368dd27736565d9736a668193e412e5a3f9ba9c73584b780358b3a303ec2444e3fd9ac22354cd62036b2f51b3e60e92e3f5ab26a35f536ac34a2f8153e15fb033fd27a5d34e8393035270c133e249baa3e067d0635bcd17536470b1a3e8813193e05130b363c469c345a78fb3d32e41d3bd77eae344dbab8342432363ddda73637750c5d3408577736d7a6c23930f69336989d0236b1fe233430d1a936485b02342ce8c433e3e836343e02323482f5d6334e3f46334598ce3446dd37377b17193415a86633be5852369389d1361153653449875d34b29843353d885435cc1748352fe853351574c2354baa26375fcb5c36a72c1135b8e53335c6bd8c37a034873787d18834eca97035255a39368e6d5f35144d2535b3bba93425c3c23453c5c83439949d3417302234294ef83cf46a793f317bc93391b711343b3f263d52c5653fbdc864336225c336c0e5a33c9ce0503f5967343347f7bc3695070f3c6c6b233f7c515834f9a25335e5f92c3c15e1e73e58c54e35b6653436aa57f83b7e708a3e3db30d35540c06363bc7f23bbf3fd03d86f28134b3e683359cd9903cf0c2613a8c87ef345140823474b14c3ae34bae34d6987e340000000000000000000000000000000041ee1a34a0932c34956d333473772b34b9a3e534f18af7346158ea34b7bcdf343eb2c2347f0c4c35d25da03503f79235000000000000000000000000000000007b1ead32572fce332954a332d19b5732c1ee5a34163af734c0fd4e35772e2535000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000005ae32234df4e5634fe857a3f11ef29347291ef34339f0835dd3b613f882fee34e18203350533da358052353f286b7b3500000000d6d89e330b86033f00000000dd7db9320f1c6834ad22a33e00000000702d873431ed6f35ded20e3ec2dc0335000000000000000001c1d73c0000000000000000000000000000000000000000000000000000000000000000000000001c60c532590e0733263b0b33bb36c3324793b4328bb6e93238defa32867cba323d91f033c2ff2834dfdfe3331750a2333e7d3e35592410358b700635ecc21935c06a573309c38c33a4259e3359ee603309f64035326e6d35c7da4a35d891e534ce707b35567a5735afa54835b1f64c3500000000000000000000000000000000000000000000803f00000000000000003cf4ca320e8d803f0857083356c7c232c66bc0324efa633f4e5ef732eb3dab32d0baf8339345343f9275e033774dd63319e66335b0ee023f5166b13421db2b35cd865f33f9afa53e6ccb9633c14d5433a6ac2135f247153e0d3946359e5d02355d9f7f3519717f3d585a283505155c3500000000000000000000000000000000c77e23330854bb3a23228833427d0a33e95f7934d8ca5b35b5896b34a3909034bc6275345d3e85350000000000000000bd232e34af245434f8421434dc9dd53383a09b3565f68535b8887b35c60f6d35424a2a34d3701735aaa1e332e0177e321764d934147e0535b5ade434992ce334ab6a1734b8828934036ed23398180034000000008c3b023a000000000000000049855b31ee90743f90dac43a3a9c19338e77a933400a773fc2bdc7361d8a85344f496b3429e97d3f0cc3883500000000978420349c44593f85000e34bec70d34f5028a35c809263fedf25e359d9176353e101734bc00e93ed33a703358cb8e323c7fc634ef457d3e77aae134d3c4d33446ff0a3434d7103e7996ca331dcc0234000000002f7a543d00000000000000006ade86356f58883cbfc3dd35410b8435c4ff93350467af3a438685358db14935e7cd123593706135e7d21435c6933935da64c43525660036d532c3351a8ec635b2040a35611b1735128de334882ce934cadd1b35b3a30335a65ae334d3b7e1342a49c535b55eed35dc29a03598ce973500a0e03437a9083a2665993499948d34d92e163440a1cf3a551de7338e1bc3338cf35b3566554c3fe4b4c43d04836535878a6b352eb44f3fab574b3ded955335a7040335a03c543f65258f35474c383527f89c35e0da533fb466d7358b4ec0359ab3d83465022e3fa3b0fa348b95d0346e3df9342c1b013fafaf2735c8b9d23476e1a035589e9d3e30e7b43502f68e35bf7da0340590073ec35ea834abf07f3431e69d3350ae373d83f738349481c43358bd4133f9b0c63c7c438b3371cfa3335646d234e81ec73b3d060035ccfcb734773d8a35ef0e843a6cb1f0356ce38e351dac6f348b44ce34e4dd8c3458ca2e34246e76356ef19135c3368135e04a7035f5c8b134776ab8347f1fb334eed96a34f5ccbf346b33cb34ef11ac34a0d68c34f303b1357fbb7d39a93dba351752ac35059c1a353cc02b3a32fa3e35fb67463500000000e047243f3ebd6f3e651d63333280c334f9f1263fe441123eeffab5346bf95435b94a2d3f9314043d4e609035fe387e3406082d3f650a8b34713e31341d7e423526f4283ff5388735ce256a352436873424ea013fc6fbc234c1274634859da434d765b13e85f4c33411e485342a098f35ed5a463e8ecdbb35c52aac359c4ee034463f733dfe9d3c3501d93d350000000013e9863d6a459235000000008a8891348c1d0a3cd58c1d35af7a9a34b0e7c132ec2aec3a50a84433af07dd32f4417e337d80be3a52007a333cd91f331572b035cd698e3849e9b63593a18d3570291e3391dc0235c74b9733ea361c3344f21d337182223388fe1833f6bbc4324390dc34104d9e34781d5934b8141634813fff346eaea9390000000000000000000000001868e83e4106cc3e0000000080d15f33aebafe3ec0ea943e45347a34d161c132d0b0003fbaf5383e3045d7327f817c33cd60043f0da5b93ca1885933a8b29635c8de003f43b4613641739135798b20339459ee3e13629d33530d31337e2a1c33a2aca53efc6b13335f6703335b98f134044b5a3efa5d6e3447d62a3400000000f266bb3d00000000000000005b023d35c5609d3d9f9a0f35b4bafd346bfbb1356ff6e93cf66eb735c3808235bfc58734106f0f3bde1bcd3488b2e834c84c9534c896993adcecc33437c34e34cf2d74353f031c3ae88b8535a5e63e35585e6234163c60398a19863448a22d3411fcff3527d7153613fcb0351ca16c35cfd504357a7b123518dbd33476a1c034c85eea336e9d003a370c2f31b479e9328fa9273584e7923e3054163f4f30b734b65597357658a83e6acaea3ed0657f3507e86f34ddf2ad3ed966a43e2d2fef34e39067342f9eab3efeb72a3e44a82734e2ef3c357a41b03ed941593adedc2f354b1a2b34f8f0a93e1f4ed53497de3334a738c735b6c3983ef4f3dc35ad3b4b35e083cd34f7c1543ed451e634362bae343e353f3380c2de3da2dbf1320000000031831f34d3a7813d9db3e83332dea233c88ba53447191d3d21aedc34d31d8834fac2ac35d0da8e3c003ee735206b8535a65d1335ca99073b386829355650b9345476e334e464013bb6d61e351ff9bc347149e535dd85293aa1450436db67ae3510122a35e5b99b355a503935819002352aa17f357940df35e1029f3522558535b950c33545bd6338c06c8a35226e733544862d346cec133edf30413f8a28883307ada73415983a3e960b283fe3297b34b48d943555d9393e2199003fb65a8535fb07023541093d3e532da23eaa93be34c8e2da34b11c303e45ec1c3e22a1d0341c57cd353422363e4afee83829b8a335943b08356659363e93735e35305ff334c1f3593528c4133e0201a53515848635f66c5b35a65dc63d787d82355bcc6b35000000008742be3b5eff6e3300000000f216b2330c48a139959d3434ab65a3335c43d3340b870f35d0a5dd3426f8873429db383373f2d639ee27ab334fe17032e7858535ae0df6396960933506b93f35aa18da33b9432f3761fa4834c59ac133582192339a93d839f38c473583aa4d3409a06f34f6281c348d2dcd33c8f0b9332f169b33eec18931a3524933cd372e320000000032a6263d9735683f00000000e4a198339a22743d63a64d3f97f393333085c53456557f3da21d323f822c66343527c5328701323d23ea013fb4c9d9320b1a6035f1c2be3c1d92aa3e19bd4a353a1bcb336053063ce362163e49ecdf33000000007b5f263c52a5ce397f222a34997aa334950a1e3de42ef333edcfd1335f5216335d6a3c3d945e3d329163143200000000000000000000000000000000b2ed32352f66a1354e6e543588992535e0fc2b35e7844c35199c4435a71c20353a738f3366d1f133277123333e2a3f3377e8ea34fb8af73497b21b35ba9c223585af9133b69e0f34623d7e349ff069346f27ec322401ec3201259a329541a5327c0c003311101835f0ed6734c074b3320000000000000000000000000000000000000000000000000000803f00000000fab12d351a009435508a713fc51d263597402535ab3c88357ae75b3ffc8a01352b4e57338d9d8133c4052f3f2cbc1e33dedbfb343dcee734e2a4fd3e212505358ef897334b608a343c8e9a3ed47d11342eadb63229f6e6327fa1ee3db8a88e32a7e0b632cbdc32341323963a3dc293320000000000000000000000000000000000000000000000000000000000000000b3a6e237bc7284380000000000000000fede4738ff40be370000000000000000061e1b387e0c823700000000000000000dc210382f959738000000000000000070210a355ee9b938000000000000000000000000fb46a1380000000000000000e342ee37bf5bd338000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000b98d803f00000000000000001a098637da00643f0000000000000000f7b4943622fe313f00000000000000000000000058ae073f0000000000000000000000000e4cb63e0000000000000000000000000c22313e000000000000000000000000109a9f3d0000000000000000000000000000000000000000000000003a541230f80b653dedc97f34bfd3e230000000005f55253de7ef933400000000000000008d3dc8391fb9ec30000000005848a6324a078038b5bcf432a87908334afe5d343e2f0739911feb320000000000000000fc84a13cfd6d3834000000007a15c532ce546d3d15fea232ded4c032000000005f2c833d000000000000000069a3ae345c3e133d6f0778357cba1b333b3f972e33965a3f8b8b6138bc0fd23000000000fb62673fcba06a386239da3200000000250c803f47639a37000000005bdb8b32bb91773f84e2ea3226fe0233f2e33d33548a403f183a06340000000000000000c79e093f77f3a1341ea4603339096f3158fa9a3e8cbc93320a9bb432000000000d691e3ea298723700000000d02f6e34f7c2b73d720cca353d5e5134000000000f89b03d700215370000000000000000ead39c3d8b459537a8a55c3163e9d7310eec213df70c1f32f704413200000000581e943c00000000000000000000000068de2b3d927b1134fa7ae03102430a32e112483df1634532d1f86e32000000001bd09f3d0000000000000000c9745530b011b83dcaee2f31d839703148bc2931fe64a93dacaf7831a4b6973100000000cefa293fbf08813d0000000000000000d37e303fb827a7384578b1316068c531078b3e3fdda7c837a0fa3432000000004f9a4c3f485f47370000000000000000410a493fc0ad0138fdceba313de1fc31443a223f8e773b32f1b55f3200000000ae3ade3e00000000000000007ef0003041b5893e853ea0371c73583177331a3113f5ef3d47a26931079b8d3100000000fae4503e00000000000000000000000052fe413ee24a143700000000ff3e3f32551cfd3d7325c033f4c0a03200000000469ea53d000000000000000000000000e46a323de3fb96320000000000000000b31b483d000000000000000000000000c18b633d000000000000000095f99636167a8b3d00000000000000000000000030c37a3d000000000000000000000000230bd83e3258f63d00000000000000001218db3eea05c13b0000000048c62d32e5b5fc3ecec61838d1ee973200000000f8ec0e3fcd3aab3700000000000000003543203f145b4038000000000000000065a81e3f000000000000000000000000a65a003f000000000000000000000000f50cc03ebc9b37370000000000000000e3596c3e66df4b3400000000ad83a535eadb6a3edbd1a0367458b034000000006e33713e06248637000000005ea1cd2fdf43453ebec15c32f9d6283000000000cc491e3ef2294b350000000083f61634d450f23db6322034000000006ea19e349007983d00000000000000001de95c33ee8a803dc6baca2ff986a62f8bba4d36eb6a413d0000000000000000584e8335bd732c3dc53bfc3500000000299df934ee86763e4a46743e79e21935000000007f43723e017bdd3d000000008032bc2fd664963e3a0ee93c43cd203000000000eea9a53efb0732380000000000000000f2c4c53e1d2c4e3800000000000000005fbde93e24356137000000000590183023afdc3ecab3d92f922eb52f84a91734958dc33eae92513700000000e0835c35f5c5843e18b1423600000000000000003b405c3e000000000000000000000000e9bb713ec9bdb2370000000000000000740a533e000000000000000000000000508c453e0000000000000000000000006a96133ee7018c3300000000000000009687cd3d0000000000000000ab5e8632f6d2863d0f243c32661d1a320000000028f43f3d0000000000000000000000008a1ab53c0000000000000000000000003c5dc83d8fa5cf3e00000000000000006d40a43dcaf17e3e00000000000000009561ed3d2207063e0000000000000000f50b163e078580390000000000000000f1f8463ea239913800000000000000006d208a3ea585c2370000000088d18e320b31a73e78080836922a2632000000000770ad3eea1806370000000000000000bba0773e0000000000000000d0ee7031a5fcf23db96e27319ffb0531e35f26310e1e043e04674b350000000000000000e543de3d0000000000000000c7bc3f32d39ffa3da1f80732091fdf31070a8b333826fe3dc4b93f3700000000000000004e51c93d0000000000000000b5341a32b129773d2eedd431d9a6af31bd2caf364c97283d00000000000000004f06b7347003c13c000000000000000077498231b9053d3d7515253f705c103161fc3e31749a053dcde9f93e991a812f00000000d8ae2f3d92b2b03e00000000a5114e32d772113dd51c2c3e7120ef319a2d9831dd9b4c3d75c0a73b00000000000000001d44bd3d0d215837000000007f8c26324b37283e8c61ea31fe38bb31862c16349ace4d3e46ada3340000000072e44d33ab1b303e00000000000000001d38ff34790f353d7e5c13350000000000000000a1c5633d1b48803600000000cf8b9c32ebc3653d8dba4b33000000009a216e34a2872e3d21ffef3300000000529c84312ef0943c68a38c35000000008e0cf232a527ab3ba29fa83233b84f322dd1b43335ae3a3b0000000000000000347599340e50cb3c00000000000000003c3551349b91333c3d20ec2f0000000069b592340bfd9e38b527563f5d2b01340000000049ddaf387e633b3f000000004fc6aa328e189638a00b173f52c98a303c63e333a9d285388fa3cf3e0000000000000000a7b8c838435a703e000000005979fc32e10d1538ec77003d28157332000000002a3ca039f24c4438000000004fb716340d6d113d7e31b93600000000d36bdc335df6b13d1f7d9d35000000000000000000000000000000000000000000000000afc7b7380917fc3700000000000000001a0b8b380000000000000000000000002e97b3387611ce360000000000000000f9538e38e9ed36380000000000000000c7d65937e32b74380000000000000000da50d237f0899c3800000000000000002b024f389e373738000000000000000000000000000000000000000000000000000000000000803f0000000000000000924c0e3893476d3f000000000000000022ab9d37f7d7543f000000000000000093355c37e04a263f000000000000000027432437fa48f33e00000000000000000000000083e49e3e00000000000000000000000027fae93d000000000000000000000000d814333a000000000000000000000000000000000000000000000000000000000000000000000000d4b36b3745454c35b42f3b35240504376694c8378488193767833237218cb83791bdbc37f96d8b3682a8eb366da46a37e945d8372e867d3768b89337de02ca37ddb30038e218a437c1e4a93753edf8374435ee376133af377430b037c636e53789d2df371fbad6379835aa370290dd3700000000000000000000000000000000000000000000803f0000000000000000cfb7cd3517f37f3f7a5d70372cd62e369e57a037c2e9573fa4e0d03741dc8137e9285837efc52c3fce9f84372cd832379722bc37c45a013f4f70c1373e06b237b505ec3701ebaa3e9d64f037bfddc8374d46b437b1512a3ee8e9cd37f7b4b9372c9aa73739c95438baebc33764a8ae370000000000000000000000000000000099ae0e378d169437f5df553707b886372b551c37bfb9be3652bebd36ba966d37738e9237d1c7d8358b1def362ef1c7370d9a55371803993624210c3701fe6d37a688b437d9caed36ba533637f6fdec373520b13762e44337bc1474373e05c9375939ac36907ca1358da4e435ddec4937f42b2e37801b6f374a54263778ff8937e7d9d9367ce62c3783780e37acb750371bc3933627f37f3f93933538cd481e376cc71f35a0c67f3ffed3343a594fba36c25a403457e9573f9888a43bbe351637790f8136ecd32e3ff2653c38467b1e37926d993624ac003f87ed45386573393786ac0f37638aaa3ecad959385fb3803733031934d5342c3ee8e3b537f55be335cbe48635b5e6fa3b52179c376f81c236fce49f35898a9c373eb40a37a2b3c636dcb7d337b19a7538cf37f73756a3be3784b21537f5aa1837be7b093767eb103771070838f89dd537bc316937f9d0b9375adbfd370b009037e8af78377262bf37873cc33718662b3718bc3137496baf3727cbd037e1a0813769eb6b37e6f3f037d074e237b621e137b9fcd837053bf537d8a445378eab7c3752453637d3243b37ae27ad373345ca37c971aa37bd69c03783598f36f6fe563f06c5233e62fd61379c298a366f7c573fadf1213e4399dd367ffeba36313e343f15fc183e73fe0c37aa7f11374963163fdc8ece3d28b53a3755aa5c36904ddd3e7823873d8acb003725080637041e983edf053d3c6891393797d38237f428233e50715238fa37ba379243ec3661296e3b7f98a437f56913378ed0073747bd3638ded4b6376f7f4337de984937d7b94d38511954373060c236e58d9334f158c036c3df1834c5012f342df0f637ac69e3370b36563794e16637d5ba923703523537b724fa36223923379dccf43614bc7236cfb573366e3d75368e1ff637eff6c337b4f8863747b8a8374880db379089c3371f414537421f9b37757d3137e7d150377d9203371d5c003747e5c8374ec5d43702d0a0371c3fa8371fb26536a5482c3feb44a73e4eec6b36483b2032eef82d3f0e02a43e6af8c33372dddb36b193173fc30a8c3ef621df36bc8aa1363cd5f43e4e62553e125da336dca26e364eadb53e8cd7133e14ce7136d6f31837a784763ea2f5943db17228376f96c636bfab033eabe2d73b5bb3cc36e10f9936353e1f38ed74863781ae8f36e5005f37532b48389484bd3773141c37e51db43703994c387a82a6373f7d85361e033137efe836374559d836912fc236028aa33786d48e37ba9307362f3e0b360faa2b38c64dc9377f7f3036b5a550365deda5390e9b2638aa11b337044aba37b6ce203858b1e3376668043753293f37f466c6376516a237fbd7e7364dbf0837060d3537b7ce3937face1e3721e11b3720680238c41ff537f86d3937bafd4237d957803655be013f7362fc3ee9df7e36c5866936f9e4033f041cf83ec598ac35567205362238e43e3d24d13e7a96ef3567872036f0b2ba3e46a4a43e08dbc1353142ab3759f0873e59b06f3e22083c37725d53360d5d373e9fc7093ecb8a123656b80e366037be3d5ab2573db352093647870e375ad4ca38eabf4837280ee73675074937024d5438e207b7374d4384367492be3754b644388f4b88378837b036ff433937dc7a51370a6f833678a1823680c2f9374c5ebd377c48bc36a54cc43648fd1438d974cb37942edc3639030337e99241371e357736ecde71369f387236c1c5c23742788c3781000e3733251737737b1438a7040c386a1aaa376f3b99379868f136b0d29436ef369a34e65b3b3440f0cd37c22da637ec691c37944bff3644e3a436596fad3e6b39293f1fe21f36d1638636bc2fb43ef6dd253f10287236a328c7367b52a03e54350d3fbfafac36ed513637d605813e4462de3e923b9e361b7b73366b173d3ec5d3a13ee63261367c991e37d984ed3d0f0e4a3e6988a13675f0a337f2644f3d563fab3dc8a50337fd449034cb303438eb70af37f2570b348e494837e6f444384aea8637ff0b7336fa14cd37464e2e384d1f1237cfe07f362c6c8237e5178737f84e35366618c435842403383f5ce337a494413749ef4a374c092138acdfce37e076b236be50d93626ae2d38bd42ba37d5b45836e3cf5b3685514238bd1518383e193137a1163a375b934c3815a33238a81059375a4f5937d3fe57376137483787350d37881b03370aec0c384664fb375bc1ac373dbb9637c565f036bfa8323eeb43533f2d9c58360ba3de368326423ede864e3fc4e9a9358cd59f373da0353e5dbf293f746fb5364baf3837df36133e2c250c3fc086ad36bf413f376276d23df541cc3e1c814c36c629ac379bda5f3d078b833e365706377965e037a6037c3c521c063e5aaec736e34c19376ed7bc379b988e37612bc936e6efeb3771346e38961be63718351937372c7b37acab95376b0a933574357f354e3fbd37825f80372cf94a35a6ce4f359879ba37613fb836e3a51e34016d1934e2432f3880e9a9377c210936677b0936f2a31638008fa5375d247c32435b803242808737c23a5c375cae6f36aec2a036275118383db3cc37af0f343652d92636eff1b83740c89b37117fca36df146d36e39b8d37010358376821d936ec86be36a32c5436a94cdc3bcc3e7e3f8e663835f210893650de033df9c0753fd63e043531e7b235892e023da6c84c3f4a6514347ae396373fd0ca3c0055243f74adfb3552638837e36ea23cd562f43e0aa58132b3c75537a27190386c3ba23e26c44d362301b237e9ed6839d6c91a3e954a8f348dc17f3705e020385b1a1b385d9a2d352523843780d1ac3789ed0f374204a53600000000000000000000000000000000df4fe8379ec6b23788823a36c75b4a36f82c0238fc3db737daee4237552b6b3765f8033869bfe03721572137e0244537c0dcd037f613b93708433e37c52e853759c39337136c5f37b6f3bd361e021237abc1ce3764c0c037a198883781338c3740953e3728cb433704041c37e6ecd4360000000000000000000000000000000000000000000000000000803f00000000679bad3756e41c38c7ee7f3f65be28365febb73780361239a652553ff2584237e414e13781fbe139d5582a3fa28946379243ba37907b85394708fd3e721c4537db00553735e63c385156a63e0abca636069ea73737f4943945bc1f3e9f575037fa2bd7369010a237177f13385f44c4350000000000000000000000000000000000000000000000000000000000000000b9be18385ba62638ef501436bec0883614c52b38bf8f1c389f473b37c8875437a83d9b382b185938a0a86a37ace9b63709f7a4370c7b783701e0f2362e351337f80f23389d841038a6a8da3798430838559116382d811138b38a7b36958492376147be377a22cd37f3d0853735bdb33700000000000000000000000000000000000000000000803f0000000000000000da483637542b723fdcdc743744101a369187133835d64b3f08a00a38b1a8d836527c5e38faa8263f8c523e38f34a6f376207883780ee003f637c8837addef936d13f153899adb63e413e0c38c6b2da3750d8b537ef46583e751b7a375f8988368c1895376460813d7d078a378ddc813700000000000000000000000000000000cef29a37743dbe393aaa9f37b8103f37b7cca837fdd0493abc403c373ed9ac343422cf37e9f9183871a13d37884022378d711038c0552e386b4a8237a6e34a37bc2ec0379b350d38e1ef8c3719fa8737718559370629a037dd4b1d37a5e13937e752b03750fee73726bcc0374870d737fb8b1737f8e19237b0fc3d37dc987537304deb3792270d384376ae372adac937e0ae863606eb703fc5ee6e3d8a5f343785a07934741f643f011c753d6c9e7a349eecde366019423f4e093f3d0497e53629376937f43d1f3f2241d83ce4f99d366fea45374cd0f53ec4ac413c6688433760b2d336716eb03ecbd7bb374aaa1737a2786037649f523e7befe5375d3dab37909f2035317b8e3de6774f376a3a1137ba7f91373fc43d384abcbd3776496f37d77f8e375a943b395605ae370e95ba36e07ab2361dad223c41a1f235eb6ff43594674137b74b71380781a13683553a34e34bf9378d3166389c4284370b001d3629fa2f3700ae4d39351501378207a536d629b0374fce02381f02a037e0b983374960a337a1e5d439dc43a737c1368737b9370e351b0e563723ac0e3523450f3548a8a437c5c0f137126079378f6d5137cbeb0036f6024b3f4785533e0c9dc4364c36ed35b86d433f3b76493e170ef3358ab431349089233f71a9253e27b137342fcd0a374f08093fcd02f13d32ada633a247ad35320cd33ef501ac3de9301b36a3c1fd36b3e9993eff960d3d48004b377079ce36ebf4413edf43223bf7701437f0c40d352645853dfcb80e354bf70e3515583f373c0f56385b899a370063e9363cb669372eeec739ed1a67373c431336c12f81376a87963aa4f18836707cdd357cd90a389a0c363a6fbf3f37d2cf0c36f0708e37fa1b1c39e76513376baa28360ff5ad375a3e07383e2d1a3743a20a36ddc20e384a5430394251f53752ba9a377128d437ef37b23988cb8f37f238df35dbead4371f7bef392e16ad37aeef503772710c3852d84238f964bf37b8e18b3729d21136116a263f6ed5b23eb2691336052cdd35b4e3203f9c85a83e9144de35e5722b36b66d093f1f4a8a3e2a110f36e500ac36b945e33eef01593e8bc32b369b4a933621ccaf3e64931e3e25f80d3647bd9c375aba7e3ea3faba3d47fe6e3700000000314c223e8cef983c87543434941c5a37d2bf693d09e40738c803c036c890d3373b489339ca5afa37a0c32337bb08f43799177b39f93bf4372a9a8336ecad9436e066393a309b0435ddbbf4344f07cd37552c7839d6f73f37cbea9436e293f637f05572386c110c37969aad355e42fc370ecf7339e143b737698012372949dc37f1563b3874914b37e0141736e199c3379d0a2b38945c6837038b283788d080367742253892120e3553090535c6f50b38dd161c38ce71ba376d566737e2ba3c37ff3e013fde35fd3ef678853604edff347c3afb3e880eec3e2647fa346b47373724a0d63e1eabc43e596a9c36e45cf036996fb23e9dd09d3e84fdb435f7d0a437451f883ee15b6f3e2b0c0237a1c8f636a1af483e2495163e426cdf35348344373cc2f63da0299b3d1af41737f3aa05357345423ddf339f375e79083518a3d437b9f06e3842cd0238056c00375162f237c407183a9b2c0038c0d7a2363233e1372f23943a3b7c873775e18935f39f1b38e3312b3a0000000000000000d06425381c40a3397068a4370e4f98354b27bd3782210838c6d4c4369255013642829437e371f2371795093777e92436382f0938a143683997ba5b3797241036aa9d8337ccbc9239705503370190e535abe7953787acb03704451e3724792a361d413d370a24b83ecda2233fca4dcd3648001a371960b33e233d173f25ee8835ae169f359a62a13e76ab013f00000000cfa8d73720ab823ebee5ce3e8c2f9a35bbdc00372d55493eb3199c3e105e023614391b37e4e70e3ee242513e33582736f4204437ccafa93d4e7cdf3df9040f365520a636b4fae83cbffc4a3cb2ebe035362c66379d9c5c38b82d76376fee143695eda637e10063383ce08437e394a5356abe0e350a1df839371e0d350d680b353a513a399d4f3c3ae2a3c4364d584035b432f2377060d63b29abc736f0f7c53597737237bc617a39bce0b23577b3aa34b012133827fd5d38c3eb1437f98488337d2243371e24e3377df0783694af2e3488951737dc3d8b373042f835ea1ef035d983ef37b2d50938d4230e3776030e36a3d5b93637185b3e6625493faeb6ab354edf0f358b03593e89f0383f36800c35364a6c37af89493e2d1f1c3fde4e50355ed68b37699a233ec630ff3e6631d5354dfd00377336fb3de9d3c23ec232ae3414148f370e89ad3d642d863ee9b79a333bc7e436adf4443d15ca1a3e39e32f3481d5f535b5912c3a64f2ee3c3a50f03576cfad37d60a95387ceba837e84cd8350fb2ee374ea940381746cb373ce369360b638437c84dc839b4d02035d68605357e65ee3747262d3856ec2a37c18e8f3589cbad374016d63782729b36f3281c35f8300f38b05d4938e2a8c536361627346a59183813ae3838ab2cb03600000000687fe837f0320d38fa7707370e744d34e617c337cff3be38fd3cc536e7377734cb00d137dfc3cc37b6401a3751916436530c6a37dbc0893ddaad6e3fb5b06e36d4f0ff36140f9a3d11ca5a3fb3490b35866db937bf4b913d3320393f32ac913564a9333767ab823d2b65173f841822351204aa37309d4f3ddb03ea3ef0182b34e574c2377c46f53c0b8aa43e0000000063b69b37134a043cbb563f3e4ce44c34251b8e3754ae573a4a91413d560a7a345d54b937bc800e3815daa83782c29a35000000000000000000000000000000009c0fbb3774fafe3790828237c759bf3658e60a38fa228a382df8df36d212c03586201c3886173e38f655d237a5f4de34b959863719aabb37473ce436f7dc7436948c35385ec2a13823ceb0372880ef36887cfc37e1f12b388346d937c0acb536d1501e376055f1370ea12937843327360000000000000000000000000000000000000000000000000000803f0000000040188037a9ba163839c06f3f320118371d45a4369a71b63996c1493f1aecc3359c1ef537fb9794390177243f2934473730791937dda2083832fafd3e3f3c9836eb5cba37470f1b39b35ab23ea1ff173742bba23770c144382234503ec154eb363536bf36208a2638fd2d5c3d0bbf013600000000000000000000000000000000000000000000000000000000000000006964313a686b5f3a92034b38903901388a17463a366c583aef2b8f39cd562e39f602063a26c3043ab6fc2839e1b1be386e1d1c3ac50a3e3a53cc853907442f390409c539c500e939daf91739e5c8bf382c7ed439b546f53966b19d396e129139901dac392b50ca3957e84539a9ff2d3900000000000000000000000000000000000000000000803f0000000000000000a167083a7ed0603f17a2f7390e5a0738022c253aec4a403f4cdce539b9274b396de2e739bf10203f6459a339a2f9c638765cfe397ccbfe3eec7ad139f6f43e39b5259439757abe3ea4be70394cd8c3380439b639cb86793e53ebb739bc498639744b90392398f23d352e6b39abf31c3900000000000000000000000000000000d4f80b3aa1104b3a5c8ac739b7d5c038c193433a0137883a45d10c3aebec3f395f4b0b3af9d2803a0d884039ac955d377567373af738633ad33a043aac1a9f395fc2033aa3d5283ac006a539fd7500398c4a733a0a95e73a5c1869396b05f0389491ce3986201e3ac31eaf3989518239910069394dfa743ad7f20639d644a437e8d6c239f8d21f3ac50b6e390118ed38c011c3392d01613f303cec3de0b0493958290f3a3a82473fc440d83dd3269f39ac5b1b3934432a3f509bb13db2c28e379c3c163ada9a0d3fc2cf8e3d865db739e776cd39ff40e23edfd9543d5abf2e396767a4393055a93e2ea8153d12fc0039de0f8239edd6683ef444f1392d2d73393a01bb3858d6e53d1060543970c5a737b8c5923930a1633a201a9439e882f83842fbbd396eb32b3a04b0a13903150438a443173a4261e23ab08e68399a3499376d21d639ec449f3af8305b39e22bf1373dc23f3a640c813a7d1e043a7791e0386fc49d39d5a0563ab7ed12391cf9a7379ec72b3adc30623ad174f63944a724398993203a0021853a298ce439c1123b39e68c293acd64833a8dafdc3938321539a3c39939bbdf813ad5012a3881d1dd374e3a5a396ed0403f0a74783e5888be3834412f390f292a3fd1885a3e9633c537e6d87339818f113ff9ca393e1733023820fe103a99caf23e6407193e13937339e2c22639cea1c23ec6d5f03d0363ca37d58d053a6da9913e8efdad3d0f5b7339fc3bf1398fb6413e9be0593d1fb3693901f3073a29c6ac3d9fe6eb3c2a723c39124a723857c1bb3a431486389f67f737381807393c0e363a64ffd838f9481238c4f074396cc6c43c1a186438755874372e28b6395347323a4266603945a343380728e93975abfe3aef0dbb38dd8c9637fb5b103afa404f3ac4d6cf391fee9d37bf5d413a6e04763a6a730f3a66692639a6741439caf7e3394ef32838df9d94372bcf0a3aa85ae13a38b3b13904044638854f0f3a265b313ae91ac039daa0b338fbae29384e5e203f5c10be3e4fea1738480ce2376f2e0c3ffda9a33e8d95813729d0fd3807eef23ef6528e3e0cb154383dc12c380925ca3eb57c6b3eb95fb83731d7c139db0da23ecb87393efc21d938284e1a3acba8713e7e5c083ef7898739e61a4038f323223e746baf3d079c9b3795b6b7391fe59f3d0431143d3ca34a38a258ed397bb26d3ac650013adc9e13398025f13955b6a53a6b90b3395b13eb37015ed939a7afa03ca4c798397e6e1138bd10c43925f2233a9f3380391904593728261e3ad81dad3cdee1013a5c0c4438d427e539ddd7b43afea1ab390a51f737e82a253ab77dac3caf8ae439633e5338e295bd39f7d4163ae0497a393c4e72377173cc39b5d9273a0dd39039cb8739381836f139b57d883a2728843994a708388b2b15391cb0fe3e3826fe3e0cda28381b592b39e29edf3e1bbbdd3e00a15938c940433950acc13e04ebbf3ee8beb537ec6ad239180d9c3e1356993e4c6c0639e3baa13954b5803ea6ff7b3ee33b9f38d18ff639caf6363eeea12f3e33b3e438cac55e3939db003ef20ef23df9919b37853477394d226d3dc0174d3d58fa53382d9d9439c198a13a8958203af0f51a38214ef439f2d15d3acd5f0b3a02daac37e6f0003a40fd0a3bb6c9e6390e2d2a3882d827399e1e0b3ac0ba5e382fda7937c595383ade617c3af6ee1f3ac5551b388eb6103a8e644c3a3b4ed239235fa63757eddf39322dd93a547baa389108713775a1c039ebbe143a3e063d39b06d473882d73e397c7bbe3a2a58b23819338137e5e71f39dc2aa639a7bb7538c6ee1138360f97391bb7bd3e799a1f3ffe733a39806f873913b7a83edac20c3f54c64438699d1338d515913e9f3af13e40b9923755450a3a35b1703e0f68c73e984e7a398a2bca39c582403e51a99e3efd82be37509ab038afc60f3ed4846b3e946e9f3754086639f6c5bf3d72a01a3eb9a151385b360138d5fc253d9446873dd6018437d9439238a6a80b3a06d44539f51d1338d40a7e388197a03a9487a7392fd097370cce133a8630bb3a0038233ad26d5d376a4b1a3a1fcc8a3a3b35063abe3a913715a0263abb32643a60c70c3a590907384ac19639866e4c3a396b363971834e371226303aa0466b3a3377163aee1dba371bc9c03924e16a3a654885393ad8eb376698f33979d7a13a687b8339f317b5376f27c439c451063a8f42953943a4fc3718c11e38602c793e0383403f25c10438a0fbc139f78f683e8254273f345710390c22dc39fd143e3e2dfa103f76bba83858e6ed39b19e1d3e8737f13e837c143961633339ce96003e3b5fbf3e8e4eac3767f0063a4100bd3dfc568e3e63244e3973536c39d1e97a3d2a453d3e92e8fb37fc1a6d39b9fced3cf30fb43db5fccc37f9f8a23927cf0e3a1334e339bba8063862f3a1397e3c303a6ab1cd3974c0dc378a467d39f0e88b3a41134339bddaa23651eff6392b12253ab3fe90396af7b5365827473aa882f13a088eb339cea66a370ef0f4398631283abeeac839d1ae5c37a1712c3ae508593a35a2133abb5a8537d2b99e39e996513aebff95397438d1368037363a1bb0683a23bf173a468cb937b45d003a10d9283adbd0e53930f7ef379b9c42394651ed3d6e2e613ff79409381f7bd838fe6edb3dd101473fa29e56376b09b2396d8cca3d6c622b3f3d09b0376c8b8939ae7f9a3d02ee0c3ff3a28c37b15fae396187803df6e2e03e6ecf8a3865120d3aa75d343d3571a73e87355e39b3b0303954e8e93c30565d3e743d213723f1173a0f7d783a48d2dc3d76692539fc91d139179b2f3adf88223aff42fe3800000000000000000000000000000000e2b59639cd13da3975c1b039f23fb8376924cd39432b023ab9b5bb39d582ec3760d18439ad58063acf8c9239827a3a387a90cd39900d423aff26d63941b2ee38ed539039fe8eff3990ffc03955a085384ee2d13988b4513aadbe003a8c474e39e208af39e621373ab378033af30e0c380000000000000000000000000000000000000000000000000000803f00000000172f553980f7dd3987c5603f0dadcf38a333a739bfd00a3a4c6c403f76c32a398eb038395b08093a84d81f3f13cec638ac619739400b593abe39fe3e7787873908ba6939a6570a3ad3aebd3e295f183990d6a63924c4533a320c783ec8369139c08e2139a9d0333ae805ef3d650f1138000000000000000000000000000000000000000000000000000000000000000029ed5736d0384636346f4b369fba5136c7e302378f742736ba193136ca6bde36d566aa379d68643630e8e936d9429c3748cd9a372e6bc436a8d11237be7b9a37739dae379c6f3a3727f33d37e5ec833718ca06385e681538befe063874221e38e37be33710720c38131ccf3711a5cd3700000000000000000000000000000000000000000000803f000000000000000074d84e3601f67f3fb391b23723645b36f3fb6137319b643fbc218b37e3f04436fd35c8379366323ff673fa37ca2491378d909e37de2c013f94330338b3d18937d8b9cf37d8e9a03e92813d3823b86f37e831dd37211af53dfbe288385bf21538d55d383787fd803a35f11e389eedc8370000000000000000000000000000000016633636b2798c36c870f8369843913633afaf363b1db636e82abc364684c536bdd2163517731535e4f71935ca664e352e5aca361f9bc4350ac30a379f29c6370f10e736e867ee360541d537ca9a1138f8f7683520c97e35216db835c6c69f3667a80b3630800e3776700c377bba2737bb780d375e03f7379b40c6377d24cc37ef690037494d833714449037250792371f710e36c2be7f3fffee813a1bb85336143c9b36d4e07f3fcb5ac0398e45c13680b1123583c86a3f3459e138bbb22435ff6eac35b49d373f1b857a38b9638e3788d3673656f8053f430dad38f5eb09389b782d35dbbeaa3ee863ca38c64649363cb98835d8eb023e6c7be538f5a6e836b2c1b536d681d23a91975a384d978b3761a2e73641560638cc15db37465335370a3ab836e6d48937cf238a37adb5c536ccf5b734c11cb5348fdcb6343162b434a2f50636a0a9143652f47f36416e9c3684e92836fcc32836af549e36b8f40f37528dc834cc32c8349f4ec734e389c7345c78883652f38f369f0c9d36c6289b36ac37ad36789da8377e35883744193737015d6536b9c98c37e4ccfd3613bc75369a1e2737c2327837314462374d0b43376c22aa369061603f5a64fc3ddf73c4369b23b7346a1e643fb01fdf3d718db4347363dc356e414a3f5426de3d98f91e36e83b1b36ce46253f7e5c843db07638369edac734829cef3e9f4c183dd6c2c8341c047936ceb19a3e6a78133aca309936200cc835ba9a063e8d9b3f3a445adc3646374c36d11b1f39d14d49382252773616e97536a8a2bf37fc0f98374e1f0f37e59f973636500738b37d4437a7e667366a75f8358e13a036796a2d3684660e360b2b203675772436c5872636b4ee2236c72635361450393610b02d36df832b368587b6349442b93417a5b934186fba3447fb473747a3b437fcda9b37e2514737b9fc54373ab4cf37a14b8a371a594d372ef4163504aea6376e4d6035bcf261352f62f036b3ce0a374cc0f8360d71f436bbcb3a3606fd303fd6fd9d3ec1e34336e3eccd350972353f7123953ee935023623e6123654f5273f1241823ed8421b364a8f2c36f1e8053f0d5e3b3e86c52536e5b4b5342a02c53ea281f73dc57fba346146b3366a317e3e9df3603df01b0937e1ee12368980dd3df3cc243a627e0837f379f434ced6c3388e275138d65d5035b214e7361481d03760862c37d2a8f03690051f3722284838081bb337e5b0a736670bd5375a2f47387f02933783819636a5431c387a702f3842748737732e983610c7293867e93238d8a2ad37da0d413761ed1b383c0d3138b7ded63703ae703795d5393822d26038706624389a0b003814393d3801c87a387676453801021238165a2a38260a6138ef271338ba69c637249dd637108cfa37fd3a3a37275df336b24a9b36f7cb013f9257fc3e6d7e913640cb9436ff67063fe415f33e64338f36c4297737c6bff83efbedd13e20c95636fd6392375686ca3ef2589b3e3f6da235d711ac3703c8903e6a625e3e2389a236de01bb37f86a423e1670e33d6db19537ebbdbd37dfeab53dec0b7b3caf7ec43732748f37f8a5b83814228b38578ee43680d1fd36d8e67238217a0438a0e2ab365c1eed3633fbac379f01e83639a3d7362d652f357a6144374a6ef634f353ef34c6c760378cf9533736a05735849553359a04a737e17b833736419d3653b56836a53eb8345598b8341258b634457eb434d0123936eb6c423659c73c367cbd3036731b21377d77273817173236fdc2223686ffa3364a81c836e30721366145fd35396a3d37c0b741376d44a336ac8c48360efce9367faea43efaa32d3f74bad23655510335b067af3e0844283f7224f0342d9ec0369f5ba73ea67c103f2400583555d50a374b04883e45addc3e981d63360697b8344ba84a3ec8e2973ea990b534512e3436374e033ec4d5293ef9af2a36a4dc2d36e02c683d757a063d2cb21e36379b3936fb332f38f7267037558df0355bc80c37011b8c389d8522371fc04136dc9e7637cf22ac3727d17836b17f65363b4eb636dde61937fea4343688823036a6fa80377da71237ce91a835be9494354376cb3658bb91361b4e7036fa836c3624ec0c36f4c66735d3eec63477e8c634b0a1b537d957b03764162f36b2f62336d05d7f37daa29a37817c8e3660480d367c81fa366e090737ec31b8344fcfb6344bfa4837ac9aec36a4c8c0369752b936b9e112371fac0c3e1ccd5c3f6483513658fd703636a0223e9d53573f4d4e1c361677a1363b80233eba49353fa96982359f4b983623da113e52150e3fc0075f36e9b0c8348c92d23d42c4c83e1286c63445ee3437cb53843dad6c663e330c1f3693381937aec3e93cfd84953d3dd0fd359ebcb534953cc738296fee377da0b7348fe0083775b609384a2dbd360fc8b536de4bb937596cdd373220ec36fb95cc36fb4ff637d4169b3764baa2361e69a23620365037ade61c36800558354d535d350aad1337b2cc9735fd152835dfd02a3534d33738a5d70c3803565436c32d5c367c8d033820a1f237d761bd353080b03510de9b37d51ded37e7a51935f97e1e350e7e9737b6baa737f17bb8360400b5366396a136a32b5736821b3f36c3683436abb85f3702d4263c6b637d3f703bc33640d9a3372a7b0c3d8ac8763f76329a36f8c4223770a99f3c27475a3f4be856357ca3d53617eb0c3b0b162a3f83e42435319c37389a40ea3aecfef23e5ee750365768e3374616533aae5b903ebe7a8135a6d83835bb273a394c50a93d1b6014359b7e6c373de3a538d2af7f382d0ab03611839a364b420a388f0245363d592a3600000000000000000000000000000000605ae637eff7833719b13536bdb13236a56228385d9ab237506131360ef438363683f037ec208037c40c70367e5e7336243ec3373009a437c0ef8a36f7c48d36d3cedf376f0cea379f985537976548377a4541377ef5c0376e58a837cd4b49372b1f56368cbc8537c3a23c37dc8464360000000000000000000000000000000000000000000000000000803f000000000816d83793c64b38adb47f3f4333273655112738e694a738114f613f8c1a3436412ed5375e068a38547b2f3f7e2a8936ea03b93772273c382793fd3ed597a536041ccf3794364a38ea099b3ead5a8d37c23bff36f76135385813db3ddac190379a1559365a471d38b544a03899e25a36000000000000000000000000000000000000000000000000000000000000000013fc8937bafde636b9ef6935183c8035a7d46c3710064b369b721f36c7ec23369f8e133649bd003656d1e4355b4aec35d8e63d373c70123697cacd35af1bd935a8485b37804b7537ad7b2f372c7237375a256e37be67103885efc337ffe4d937e50ed235685a01387d2d9e37c47fb83700000000000000000000000000000000000000000000803f0000000000000000b3c22637b3f37f3f6689da362db27e3542977137c1315c3f86016236da36253652dd063639cb2f3f7488f835e5c1ec35eb800237784b033f6c305737aa54d935610b14374791ac3ee0fa8237a870283773cf683634e0293e86c61238d438bf3737149635b367673c2431e03716579337000000000000000000000000000000004a6f8c3482117b38f5a5103871632936000000008518493703a311372d6417358a3b4f36e5065736412a6636f02c6b36c005963603b1cd36441ab3367cb3b2364b27f733fbb9c8365e2a003671417e352db0aa365cfc0437f1b4bc366738c4369ac0e935a5420f3880b8b737dd15a137fbbc3135f82adf37e31b04363db31236954f9f36adb625383e6086378024703744498334a97f793ff8ffcf3c2c73523600000000f8ad7f3fdfe5323a94d61b3504773736e4bf683f868b08386f73683668026d364b013a3ff08d51388c64ab364de0003452690a3f2eca1e389ce33735f8509a36fb6fb83e7d564738038cc23615acc6353307393eb4fdd738d2b870374968cc3318169a3c2926e137486c0d36b1389634c6afa43847d4ec370a5b2f37470cd235e8cfad38f7debe37a30e1836f70740367a8f2138c445653628695736f7c152363c626d36aed96636ba075c360828b136ee44183730c2c336ea2ec336f8147e36f1bf2637bc4e883639338736bf128136a73ea73755a4c73679c498365701313677612838390a6a36c1806a3656cfa03632741e3817f2b8361d0db936e61b6d37352bae386544053860e4433620ee9835bdf4523f051c343e5f2e1136ab2418360beb5a3f157f133ebd44573635f33636fbf3443fbb9fee3d62945836cd75a4361b91263fd5a17d3dfdd1bf36b4e664363951f53e9ca3373de9128836da765d36e708aa3e774cb538ef749736e5ef1036e9ef363e66685e38ec3a6636a18d8736ae06af3c192ffa37102eb7366ea81c3644a6d839a99b8638ecb94436fa298835f65fa038a5c962371536933574c36536083af836c5606f3646145036f50694362551dc372fe087363028793698fd1d36ac033336bcb014366e7a0236b69c663612e1703711316f369ec561365b27c636c923923771d7ca364d69c63617bc4a36871a763652fc5f36b8fa5a3690ef62369fd11438008b6e368cf85d3625d2c237c9f99f389314663621511836b2962c35db452b3fe36ba93eb4de9d356ecc4236e35f343fe390963ef2ec5236219189361f0b2a3fd4b6663eba747b36ff87063642ce0a3f6c89223eec9d05364e4c4c36104dd33e4294ca3df0156436cbf4b536db26923e8ee31e3d126ac736f5292b36e951203edd9c8d37b2e45736c04a41363f64af3c6c91b53762645f36ee631836b68d54399cea2238a2171e3691634236b59bd23803a9ec36a9581334fa16b435e4654f38bd45a43590fe353529b0e035a3d6693819f79135a6348a35245791362a8a8637e92d683613673f3626c73c35edb9083866b73035688ff734f7cf82360a04933724f96d36f53f5d368215bb350ee08d385a9fec35a048b7356d78ba35ae99ce378a65b33596ca8d35ae8f8237ecd44e38047f0834e5370434bdf309340880023ff6d5fa3e150d1634f9f390352e020a3fa802e43ee37f5b35816cc8355667013f0a58b73ea1688d35a6f06236c516da3e6b5b853e122148362eac1d356dcc9e3e4f78423e9d5b0b359b1465367f516b3ee18fab3df3b960361c128f35a35d083eab5f5c3bf06cc23577ac9e3511b47e3cd5ae303628dd993519003e366658a33930440737224d09348ae20a37a207f538e803a0360629f3359bf16a36f9f31c38d0a2473668950f36aab65e361b706a365a6a2b36f02af83591a9c736fecb75373e0ab83696a5a436f4ec743614858a379f5e553649e23436f7fa2036032238366f0e1436e9c3f23510128e36b04f1038bcf2933654a889369f787a36e8e78736eed95c36dd8c3a3691ada237f978dc37dee582350f4bef3460d81d365e7ab13e6234273fdf66fa3550d459367997c23eb239193f09b91b36ad395236dfb3b83e9233f73efa0e0436c555c636093d9f3e07c6ba3ed3baa736bca1693665fa723e19a8803e7b504036a1dc0f365a0f2c3e6663063e052fff35d47c8836fa0ac83d13b1503cc0a58c3685c26a36be01c93ade567d3683604536ffdc8336fcc1ca38238f4b3632e426354b8c2e386563eb38b06f1c36456ade35f404b23645e0153821c08a36bd8e4536fca941371872103865ab0b3627e0b8354b6b32372cc89337c915603663e0283608ca8836ab35af379a5c6b36cc4f4a369cf9c336f5a31f38402dab3643bc993624d56936de1fe836f3b64d368f9b2f360d3aed36b5c2bb37e0cc3636a88f113619319e378f99f436be3cc735865b8f3550f3ad36e781423e3d3b4f3f79f5f535cd5fb136eb25653e2e41413ff13951368d155d36ae92573e04601c3f21ddc6356e589636db0c453e3377f33e22d338367e838636e9480d3ed92dad3e5b9c51361285c136c356d43d5d403c3ef18b9e361f136436fb1c6a3d64686a3dc3d4343678d0603632d0583a3da35836bc581836f9639136a89ac838581df23561c696356ce49437df355038f47b6d34f789f0335f181736cb34893639f9bb3334d18233127de737def9dc3723d9c5356916bf358743da36bcf43637b8d29436fa1f73365e17bd3613013437d7f0f733f16ede3301f01937374d73379d4277364ecf2e36046d69366e1d843737dc4a3617b82436fc334b378f027737000000000000000051599037c1233d36a3268a34fcb65d348eed35372ca5283dd46c753fee0d00347218fb35ab139e3d026c673f6bf8a3334ed0a5373314773dfc3f423fc05ac33548afbf360154443ddc82173fa4018536fc6a1c3677d3f03cf522dc3e39b2f4337f4ac0369979883c7b74833ebb8744363af06a36f762d13ad6a8b63d827b33361c82fa3697750c3a5b622c3700000000807c3d372a379038e54b9d3431117934000000000000000000000000000000000026b2375715963712117f3514bdbc34cdb2fe378324fa37eea88c35fa1e4635ad12733773bfaf373ba2a036a4c37c3652537136d5720c3873466435719d2535e0bcf23528bdf636d1910736f3d9fa35e8883b365250b4376d4c823710a45b36eea75336ead3eb37581eb83730254b350000000000000000000000000000000000000000000000000000803f000000006f6e99370ec927389a517c3fdf590e359bf2d9373a305238a67a553f30db4a3592f54d375fd49638b9ad293fea129036aec8dd3518b99b38405ef93ebfaf5035e6e0f335e3091a38495ca03e8f1e003638b231365fbbfd3725380f3e01ac853669e19f35534000385a94f83838b26d3600000000000000000000000000000000000000000000000000000000000000007ff44e38c23f2838f8e31036cc9fd6353d8087374993d3369a262936c0621a360dbe543805b95c38ede92436dea7ec3567f3bf37463358380408c03675093236f8be4037b12c043849454a372fa79336995ed5378670b038666d0e381cc1b2376fc789361d31c439dc2927373176273700000000000000000000000000000000000000000000803f0000000000000000f5a126385f62733f068ecf36e5a4f435f7d3133768334d3f84a9333699472336bdd10f388faa273f8787bc3773590736db891537b0c2023fb0ade537f4d33b364d0042368a13ba3e4e01b437bb1bd63658186d36caf85d3ef7c15738ac3bc137192e9035fb1b923d619c5138eea0113700000000000000000000000000000000e4ba20369a06e93948b51e38d017b836ae003e371063613a1b605c3721cddd362724a2379c3328399212dd37ca6aad369f478a3650498f3887452837f2a73536f1cb05367840c33998a8003888ad8736c3294a3665d1c6388537ea3739d7da36679dbd35fbc0293ac3a8263884717d37ad97cf353839383c5ea76d37e8b72f3727d5903748ab813a10415f3868da12383c60ee35c8306e3febb88c3da1955e376276b7367a206b3f5e804e3dd351ec367fa78c36e959483f4be4153daa20af3654b10836a183243f3386e83ca89d623678cd013641b3fd3e430c8a3c5cd4213766cf093676d7b63eb568133c661ffb361d3fb935fa165c3ecb7ef33ba522a137c0b18235852d9e3df102f63b32fc2037950aed35b69c913a66ff863962971038a089303633807e3a8ae11e38d57a7236b1ea15374420b43a45891337836960354db3473745a2163a85685137610d8f367ef05d375c99f439593713377fed413659cc76378ca62a39f2efc137af84b336ae12213752e3513c69ed8237839607374c6f95372bc28c3a387f3738f7be0d375db92637438a813a8142c737bf35643799a6a2375ecbda39d673de37b342483792beee35cb1d493f1ecd593eb6509036f3096435283d493f24ea3a3ecd3d65351208d336787c273fc5771a3e03fde6362eac1a36d1590e3f640ee93d47bf6336981f91364823db3e567ead3d787501374819b93631439f3e5cf5373d4ab125379911f635a0c84a3eb723b53c78292a37304aab36fa8ba83db99f883874af7437d343dd36aa7bd43a64515a386b8060370c599b37a6af313c15f50d385443fe363512d3357d9c143a6e97c835cbf34535dddaf437471caf3958180336b3c2fc35ceef4a37dab2a13ac91a4c37144e2737be27ab355675de38dcd7c535d95c8435f7fe2836b7da003caf024736953c2836c9657e3655ff523a17efff36b6196b36c2959d37209ce2398c5782379bf98f36276c0336ee5ed338120d0b36164908366217f836034e233f1a12ae3e93c00237b3ddac3519c6253fe4889a3ea8d8893565a9003679270f3f39787b3eac0600364b4b363718d4ed3ee29a463e69f53337ab4c8635c2dfb93ecf07143e8fbc9f3518041436088e873e4378b43d3ab83736c49a073692002e3e62a32a3d2cb77d36f41956369c5aa03db1dd7f381c2ef936971afe35bcc4d73ad56b3d3761920a362e7dd8378cb28a3a6992f0370af2a735a9248a37cede163a6a271e36e5a89835c45ce637efc6f53969b9383615e5fb357c0bf637df3fba38cf53ae35b6bfa1356346b1374c73943aef9214367e0e9035ec8ecf37fdefb238e52ac336530aa43593a688375a24063ac6932137c5a31b362e933a37f57a8f3937f6df3636cdac35f40c2938b2446b3983155137ac2bb4353f19f435bf30023fd444fa3e1af5cd3580bf33368620023f2c7ad93ea9629e35c89e3736b45cdf3e8d8db53e32dd13364530ad359799bc3e11968f3eade6a635509b02369730903ea87f5e3e9a3d94350fb9ac3571615c3e5e1e0b3e50c8aa35fb182b36012d0c3e2ef6913d054f2a36ff12d035c47a873dab6431381ae9f735a38377373701a53a40b8313814add4351f310936b229013ac796ff357813ee356b521738f364a939a81ce036276c393514f2cf37567fd6395aed24360955b635685b74366c782939af2615362f6b0b361d8be335387cc3388e348d35797cb23474f962370540e63814473e37480b113775aadc37acf1003930d30736d030f93554d2d535dbe495380a28c635b9e77f35fef21e38b88c45383becfe36b79fe836b084093630eebb3e907d213f79f3f3353d004a3717c3bd3e3cdc0c3f324742352fdf9136a3bfa63ec759ec3e3cd5c23528293f36719e8a3ed5a8bc3e966f10367a6ebd35a14e5c3ef6e68d3e452b24358cb7453714ee223ebf7d393eed9821371c430136caaacf3da655bf3d2896ff350278bc3535f24c3d000ca337659a95352703d9379177373c3336f337e7dff03658331d3887abd83857d32f371cef5936880b19385ea3ab39ee31c336e78c83345f9e6d38ccc0c639d27f2636035ce335d954923794507d396b59c63684b62e36df792d38d1b48a389ccab7362c204834505d0238bd97943832273c363387c1357da37037f0be89385d180e3780abfc3595b0883716a3983919fd983680fe5e357b6336383b475a3847b2f1351a60ea353674a33722df673e1176453fdab887364cb18437df026e3eaa122f3f664cf535070ef6371e02563ebfbf113ff017e935570567375819353eb889e83eaf203736428a873703170d3e95cfb23e27744e35e201f5364c31d03dc07f693edaadc435178540377bc2803d6985063e8f083f36e838e636cc83e93c8112a43ad28d6135ea70da37d833363a921b9937b385ed3593916a383765f5398f13ef35bb88dc358ff36d37cd9e6238f3f28435c9e657357dcc5138f4ca82382d76b935513faa3538535f387dc4af3882670936f587fe35f4362e38438e5938973a0236b1b9f03589766a37b8495138ced8113663baaa3515e83a38ccf6ba38558392363b5d6036743b9137d8a43a3925f9e336cd4e2a36b0881538a5fcef37327606366c9c5c3571ba33387f04aa3d0bfd693fdcc6e33592961e378cbab23d2013513f07407035503c1638cd09b43dc95f303f18b7b23531c4d237198ca23d0eea0d3f8b6304360f69f437f35e7c3dcde3d93e1793fa3565331e376f80283de954933e9a8ee0359153c0375016bb3cd173213e286f7e3623454737e7e8803c12c16b3c15788236b64f04389d3a9f39af982e363274b1350000000000000000000000000000000011652638b724ad380648903583438235583f4c38ca3f7238cdf783364aefd63553609d375e7315384b303f3650cc1336bb3ab437458c84382aa8a9366022d535a3cce436a1b798382edadb37ad390536e6083336826b2d38a133153734e12f360a5a4e363be55638d56a48388eb189360000000000000000000000000000000000000000000000000000803f00000000ae771f373b1d843a06566d3fbc06893595551a38fec5433a7b3b483f7744e93508f660373060233900e4223f3f232b368aa8023772bf4a395c46fa3e9d98e63547912f3603199a385582b03eaa2d1a36d8ff2d36085ebc37ba244b3e2bc237360a6f1636323a2738cec7483d0a500c370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004db1e93136de093304f55033b9ee813382687336fa0081368a4c7336b6d55f36200503360653ab355c8de035dba00436cc495135000000000000000000000000a1c98c3678c0a236d725933627118436f0849c3570eb813530ac8c35aed5cc3500000000000000000000000000000000000000000000803f0000000000000000000000004e27803f0000000000000000e3b71a335bca633f3bb13e33236d8233e65384364906333f58b16e360c975336cd224036ec4a013fca63f73538e3cf35936f073522129e3ec649d53500000000c8f197366536f93d1fc228377f6e7336b824e635a13f273cdd449035430875350000000000000000000000000000000057093f3686e46137d9968736199089366d26ea34fe711135bcc25535a5463d352f05fc354638f5353efa17367c9c123686e61235a7181635dbf42335085e293568e588333df73b33aaf55c3359846c3369544d3508fa5035787f5f350e354b359960eb34091dc3342dafc034d879d6340000000032a9003500000000000000009867b035b699ca35998c9d351b1fc635593ce9354c26803f690ae73926c657368b270a351407803f0f37e138189c59353c3bfd35204a693f31421e36947b1836e0983235500c3c3f5f7b123540b13135aacfb7339a000c3f16d13238261e7733db254d35813fb53e0e89ea36d7e86235586fe23452b3223edb56b634371cd334000000008243263db9900c3500000000092899359012073687ecd7351118ab35385fb1361d549737195ae33616a5d936063e423425c53435a2ce5e357b6153356b364736a79c4436c8d30137119a5636b6acaa3451e1c934a001c234658ec9349761dd354080da35d933083623d00336e2fc5136c8d032368b673236618b533623097a359fbf8b35e0f3ad35c62caa355e85f1359b1bbe378dae1c364f710536a402333832cc52381f67a637de8fd537feda9236af1f613f7b34fc3dbbd5cb36000000006af4613f2c07c63d7a480a35f96748369fc05d3fbc751c3dfd5b5236cb3eea34f6c5323f7af358386b62e934c1cab635fc7e043fc2d29238ce45073609fd5536b62dad3e97ecf737cfd92436d337b03599000f3ebdf5d2376e33af353e1fc635c6efa23cfa361438d7c31a368ada84363e47d13801905538c02093369a424e3669b48738afa8eb37618c773620011f36e4a3d73789763636683a253622005636bd7a303701f35836f6a96836a10c42361334653653f545366ab44436402c893640bc5237d4a39f363865d336344f213672028d3644222d366fec3736177c1d37441d83372dd8da36f091da362130d93660d37a372394903595c9b9354c9dc1378656fb3764c11d379bb02e37d0102336e756313fd62d9e3eabfe61365123d7353143363f9ea58b3e39621436c7e64c36e5ce313f46d1433e12a0463600342836ca49173f503aec3d40ae2336ca857e36d030ea3e1b32473d1cb67f36cba91d3672189e3e74a738383a8ef635b00edf36df8b113e7b31483859a0c23681ef6f350490833c8c9bc7374980d034a0a9c3360a87ac3885ffc9371359bb36d22a58360529ec3703ea61367330553600000000366b1f3749cd8f330000000008e21f353ab518351fc3193574e30635a28d1735136413356d051a355d431835b0bbc636a99bbc372f491b3600000000ef651e35a0c210359b1d1f353e25033562381e35ec63183532931735a3fd1d3517354e342d8e25356cc3b2331a1ca933d86f6e365c3d7836baad83364a997736d9eb2936a321013f0be4fe3e8f41183685cd7d3392a5073f7848e73e40f03f33494f2335ebd5043f9b78b73e7563203592752c35eb41ed3e99ed753e5e841f35000000009fdaaf3eca30213e00000000241b23354981863eceea163d7f09163531021f35abe1003efe0de438b1bb143556642634755ba23cd1cf3f360731f93135ec6836364ca139b9948336326378369352ed3680ad9138f2bbe636419ebd3619e503353cec07389c7dd4324c42663400b6d536cc81bc3700b7b3362cadbf3685261236fb392a3736ad063618641b36efa75c37002dce37cc117236314e7736c1f21137d55bae377d6a353671e95a36a589923738aaf6373ea3cd36e67d773611d9af37023b083866385436727430365a9f1f387f19ee3722c35f36a16781364808993642f7a03eaf01303fd2069b3600000000b78ab43ee440223f00000000cdfcd0362771b03eeee4033fadb5ae36917b1136b6e5a23e4cffbf3ed56ef0351ffb6c36dcaf853ef1d06f3e1bbe5c3602427236c8094e3e8072c13da598263697cb83361f3cee3dfffc8138816d8136c0b93c36f34c8a3cf2da07389ed43d36099e843692d401396ed0ae362aea6136df900f38697fda382c1a6a36dbd465365d5315362c80253843114f35928352355b0198355f510a37d0944e3574af4335251b3236bad84936833e0136c5ee06369be62636bfdc1d3778b3dc3513a1de350a842e35a9c34e378e3eee347898bd34d90fe13727e151385bc39e3732403b36786d84368cd9bc36b9202535b3b91435378ce33614d8dc36cbd1c23624c5dd366c1c79368457063ea3da5e3f209031368d9be23506302f3e19864f3fbce28d3393e68d35f8a9193e7838363f24db46351e301e36dd571c3ef1dd023f633ca6357bc30b3679a00b3e493bb23e9d63ba354363de3424af063ee5af2f3edb2dbb3420f465365f07c53dce86823a31fe1b3629da923530dbb63c6696aa379395cc333741e236e8651238ccf5ad3600f3bf365a9ba935fd62f135b0318b35842256350000000026df25350000000000000000f1f5ea34963ce134d53eac34790c8f346c0856354e366d35ad4149356b6f4b351b7b9435f3e456377e9e943303cda133abdc1f35dd861935e110223538e0fd34f1972c36124c2636c99d1036b3eb0c36ccc4ac37e1fd3138d8701e35f5630e35d82d8f3616b270366e92693616146e36fcfe5a35c473653c15e47c3f9ab53435000000006e2d213d2cc86b3f00000000b426013533aabf3c32f1513fcd69aa3429eb5a359ac3583c2e81223f1fc255352a5b7e331e8d833af1fae73e454f8033a7612c35373a013cae67853e05d908350d611936b949423c03aaa03daea70e362ce045377c228739ec6cc33803ec1b3544c48536ff253138987d5536ddd0663600000000000000000000000000000000ebf985356a8f5c356b35592e00000000ebd594363d0892367c2e6d36f93e8f3600000000000000000000000000000000e77ff93593470436935ae9351a6f8735dd3c8736887686362d605636a52c81361cfa39336ee3193300000000ef4358320000000072947c3600000000000000000000000000000000000000000000000000000000000000000000803f0000000000db03357ac70036979f7d3f00000000ef639a36162f1c38481a613f6f00823600000000e431ad375341313f000000005139aa35691324381724fe3e13f2be351e6d8736a8c68a36fe6b9a3ea1f86b36000000003c92ee36cf39e43daf1cae3200000000bb75ef372b62963800000000000000000000000000000000000000000000000000000000000000000000000091a4aa36f8004c3676ea1f36eabf3d36c3e49e3621cf93369d4791361352af361b2ed233a52a853400000000000000000a24ab37ad14d236fd55c536ff2dd336e6c8ae36c036be36b9ecb636f87dd536000000006c75d0330000000000000000d0b71a37275c793705bdc736ef81d73600000000000000000000000000000000000000000000803f00000000000000007dd04e362cfa7f3fba73263699ba28368a0aa136f9d35d3ff3f896366cc6a7367cd24a3414f12f3f36495233000000008a90cd368b48023f1d93c03626bcca3605dfae365e41a83eee24ba3669a9d336065515332cfc173e0000000000000000d67bb4368f5c1b3d3dd9c1366985ca3600000000000000000000000000000000c36c8034eab1de372a947534967bac347c7ef8351c30503702dae935d331dd352c63b835830ea9353b038935e8457a3500000000000000000000000000000000082e1d36f27c1936f708093661140836196fc435670ff03565f88735048339350000000079619736000000000000000063783f35747370360cc92335ed361e3537bb5e36d99c4d376da7463623512c36885976340916773f5c01073d7c298734e2e6e83554867b3fcd730b385c3fe03520a6b83545a7793ff251a23536d77a350000000062e7483f000000000000000001a71c36e797173f29611b36a3420536828eac35e91ccc3eecb1a83561cb8f3500000000a1db4d3e0000000000000000987239357a47a73d286046352a2715354a9e40362d00833cfca45d367b7d31367b2d11357e5a253c280f9d356c9b4a353578dd35331a4f38d67749364937093600000000000000000000000000000000550a78362ecad4363ad48c364c9d8a36992d4b36ba437136a81024361c0e1136c922d03503c4b736f4721b354b1ee9344f2ea3352f799a3737c59e351aa6a0350b87633647a2a336867a0f3636ef10368e21cd3676a57b38880f1136e0511536a705f53434d94e3f6acb183e133c7f3546c161355915553f54d5c03dcd9224360000000081d55c3faa56813b00000000505d5c365bcc423fadc08238162d8836551e1236ac88143f21dd1038bdc121362eebb535d582d23e46c8d337170c55350b815e35e6c1683e4ba1a93580f3993540dce6351ef29f3dfc3332361921063682c317365c17d33c214d4436df7212360deb6a366170433b417691361e6e4a36c9229a36a0281339ad23bd36fe037b364c3f8336a9772938414987368e3d3636e0268535b7a5f935f051e935f125b835bff1ad361040cd36f060b8360bbda2360b56f436fccff4363e6bde3698a3cf3600000000b01b263500000000000000003ea27c36971d0c38c8fb54369c836136ef29c83558012b364dd7e33595e6c43504042f367a49283faff6a03ed233463695724c3634272e3f79397e3e81f67e3642236c36bcef303fa9d9013ea2895936ad77843593c02d3fad2bd43c0242ad3520b79d36bc500b3f8f9322378fcfa636a508f036a52fc63eb598e836e02eda3600000000fd7d6a3ef0f1433400000000da0340363765a83d85646b36f5953b367b2282357c6be53c647703363d8cb935a9424835af847f3b6eb3a8350000000087b8c2354f59a6399abb053690605235d5d13335c16a0d3864668234fd22bf321606ca340a09fe367c899b3400000000b9d90a36ef12cd37e1e605366e84fa35835d1235022b443604edb1330000000097e52935ac8c8a37e2804734035feb32e8c63436dcce3b38c3208a352eeb8835a8b57c37f569283817273335eb3d063400000000d426fb3e1be7f43e79956833888260351366053fec67ca3ed4665935cd919033fd76053fcd1c8c3e0000000000000000c7c8053f10aa063e00000000af5101365f64da3ece0e973dbc6af935495a2b34708fb13e8f85883500000000aefec03329a1523e0e182e352f02a5325a26f9356a9eab3d88d9f2352cc57435290697352525e83c1be0a23533523134c599a335b5898a3bd5caba3523af0935a53c4f36dbfc893a4a9d503650639035fb675d34888daf370000000000000000b6b5e63687390a39f538f736664cdf368892b136b80cdd382f40b63617bf8836886bf435cfbe0f38d6239b3547cf253580df7d3623bea537e9bb8136e5fc603699a5de36316745379c628a36285471369de1bd36d3c6eb36c0f14b36785e4e36ab6578357912a83e022c243f398014351b5b20366805ba3e28020e3f72c9ad3500000000be6bb83ee3e0d23e000000000e7ed736e1deb43ea992853ef90adf367a81a736d329ae3e0014f03d40559836c5bff73596a2973e429fd838048b8e35fb2c6b3646a03b3e11608a36d83a6536b5aab536e2af943dbd12b836072961361c909c36ef90d83c9d6e7836afbc403692dc32366b8ea13cfc3217360e33913552ca31364facd439ddecde350000000002f1c635b6ece3389ec76435000000007d12183521063839b707a835b7a44435e4c1353656fa57383bf82936ac1da9353fdc8e36b72bf7385d6e8036f9ea313600000000000000000000000000000000b00054360054713661d8de35f5d2c33593edaa3669229a3522a218358ccecd34afe3023607c81e3e64e74c3f7dca6d3505690036fe47533e5862373f00000000345e98357c1f433e7e54153f091e4834ae1d2d35e54f453ea369cb3eee2421354e381e3692d7303efdf07d3e2e56b4351a888a364eb2363e6e2a7c3dce434e3600000000efc7093e0000000000000000f74c4236c2b3983dcc9c2436cd8a8435313b7b3539730b3d86071735da46ec34c5175036445d773a41323736fe34833565342d356bb13d38ecd00f35f944f134000000008673fb370000000000000000e8f3da354c54cb3713c74335000000006df80e36d8bbd637ee260f365965ed350000000009190e3800000000000000004cdcb635037e173842e9b335bcda7135c2f8fb35d0d1993760d3fd357f39e535073a6834f1667934cc5e6f3405b384344c6730363177213d00ce713ff55ec4358fc80d35e772863dd75e5a3f149100350000000094b08a3d0e3b3b3f00000000acb2ad356cc2403dc0020e3f000000008d5c0336cf1cb83c61abc53e673df6350000000004f4b43a50485b3e0000000080cf9d35ba35793bf313ae3cf14589357b5ded354bfb903c96eb0a365fd9de3575688f347d0d323b79b33c34882a7734000000000000000000000000000000006921c936ea2e183840f4ab3694f6423600000000000000003408dc3300000000cee9cf36b97ac338dc009736fedf7a36b226d036ef171a38ae96c93698939a36a0378633d26f273718ac81349d9ba033c6beac3660d4b3364edba3368aae70366b4b4c369ecb1d3842d87836938d30360000000000000000000000000000000000000000000000000000803f00000000f5cfc6360a8e1f386b65763f81e16b360000000000000000ec355a3fcc633a33c419c636a0e50a39180e2c3fb1f77f3654c8cf36b0672e3813c2fb3e8acaae36000000002e90d9365a57a03e66bc4c342413a736f028ae3620b8093e10c48736e3004036a89ef137e9e1613acdfc43360000000000000000000000000000000000000000000000000000000000000000259e0e3844ba8637d45d3c34bcce2b34ce69f036839d7a341d275d342db74f34f385b2371631c0357d80a834fcd1a43454dba2377d413a37cc7e5a35ed4a2b352398c237961c05384ffb52352c0eff34771bb337ea01a438e9a16236098f65367d6c7735666b13381237aa3559a4b03500000000000000000000000000000000000000000000803f0000000000000000be70b93789157c3f4c784334e6dd3134971935367487523f3156673491635634a59bbc36da522c3f340fda340919a7347c5b9c368d5d053fcbbc8535d1904435ab476b359d15bb3e24a48c3558e22b35da4b4a36a5cc533e38e6b5377db964362b9b0035b0057d3d238dc9356aadae35000000000000000000000000000000003b0587348f74963ccc2c203598866035fdca79330c673339c15de0332cce0634d12d2035d2bd29377bee0a3394930e33cbc09a3408433e377b79a9341e48af3433919534fb6f013724a0a834f2b2b03482e12d32598b5337c8e03d32a94f4432dbbb57351501043c70b85e35adb6793400000000aabcf23c000000001de51b3179c0e130b536663cfa87e433008602348aa57d34c066653fd005723dbf7c1735f7b04433dd22753fcdafcc364475f73312b90033e3c8703f07e6d735901c0d33f50c96342f11443f32426635a97cac34b1349134b698183f0876a4347fbaac3417142a32577add3eb18e3e32e6ab4232af784a3423f57f3e07177536c7ae7434000000003cdba13d0000000000000000e4d1b5308b47203d99de373186844933c9d08032b1f2cf3c211d3236a0155334ce4b9235ea2da13b72724b365fbb913548d280350056103c379fee353934e934b31917331e9e4a3be3191f334fb21f33c5b29136793bf43b44f3953661d53d3696335e327712dc3ac3069b31e985bf30a35f2b33637a6c3c7ffc3133262739338d2865368bd7413c89905e363b40d3353c3d2d3794fca83beb557e33ea02f433e6c77b329b273f3febc03d3e0b77263478e0de336b014c3fcb82023e76dfe135642446336af14f3f59b82e3d04d1623578ae14339d76383f41984638ad311e331733623635e70e3f2c2702379eff6236174b66325388d73e0c120032286b46319d842833b465823e418243353d7e353307ec04362688003e9b498f36e895143655e87e31fb9a353d9c83c036bdaabe33a924b0317fc4f83c48f20f350eabf3345ce3a136a5bfb03c3694d0361d387836c4889033b20b733ab97e3a3587cd9d339f2b3a361615973ce368163439c81a3473e2ef36b1d0bb3cf7f8e836b90da33694af9735f7c83e3be9c3ba345a0020334af1e336a1a9c737c2e40236f2b71d3529009b365fc5a838f7295a36150884357f7000360d902638066ca635bcb3a7345fbe3031f70b1b3f05aba13ef567f13426cb5136dc7b233fea726c3e0daa9936001f8e3397af2c3f29d1033eb3d69b3305522f3398db1e3fb9a2653d4dce1434f05bc636e499003fb1656d387fb0b936278dba3460d9ca3ee6c3b535c5cb2333e109b935317b843efb83bb367bcf9a35e195563621620f3e67f99a367c5fe13532cc8935cdf6403d65b7fd353d143f355c8a43331dc8df3cfc51643337396d33000000006741b43c000000000000000019ca88337ecf9c3cba897933db1a5b337bd9e8333d4e7d3cb1d9fc338ef20134e1966d345e489b3cb9b47f3416b9413417adf433b1767b3c2b99e433ba9dd433327d80338873cd3895c98c3307368e330000000040c28438000000000000000058f3d93366f2b336016306345776243326c63c33a89df13e4ddde83e63f3653300000000246efb3ecbe3b93e000000000c968b33bda5013f2206843ee1cd67337c4de433db4cfd3e972d103e04b3fe33a66943349504c33e2415ce3d9d854234c99cfa33e122ab3e74381d34f6d2db3320b37433b5ce5e3e44838b33813c8d33000000001286ff3d0000000000000000a3fe6033b8c73e3d15416d349cba3033147cde35534fcd3ca2a7b335c9217632282e8a36fe47de3cd12e8636b6f0ac34256a533691f0733c8f6e2c36a63136336aef4b35f343483b19862935deda5c331425fa3668a38f3cb509e236e4bb7136014f1337d3885b3c3e7e763360301333bd10d63523070039f5ba8f33600c88333ba3dc360d125238b453833688d747355fb01f370c2a6f38b89f223151efdc305c169635f09ea93ee7e8183f4c007c32e6583636f81eb13efad4f93e1d0dd035e9b8e6357151b63e49ccbd3ee24b63330908ea3359c5b83e5588733e3eac5233ba84d73665a2a53e1674093e77ac9c364f5b0434b5008b3e7082a93cf6d21f3359279a33885f493effeb663587e68a33c2cebc36543ee03d1252c236171bf535bf5ede345631483dfdc4b431926b09319a7f9f335e72c73cebdfd3335920773170a074369102c33c8a9b2736e3351a356a342b3350879d3cb31729330a442233342ad03141243d3b8250573264e98a32eecd9936b626d43a5cb27c36ad5ea735f2b01a332860413c72231633ba5e103340110536f45a2539e6f59434d5394e33ce649d36cf9396380d4fdf334484d33378f9933692f5b8369ceb7c324e457132529c093333553f3ec4633d3fc5ae7b31ad774336ea30503e48ef223f8b2b5a355d592b3368f04b3e426f033f4f6e2533542bca3133c4573e8e96ba3ea5a36532218485367bd74e3e2b4a6d3e390d1936a1a51c33b8333d3ecbb1a43d07be12336e70b035c1ea0b3e3bf694365e75443394811e36508d923da752fe358785d933ecba8535d796303d969881329a7d76322b4a26310625563bbf84bd305e8b0e3000000000fe8c563b00000000000000008824f935cb8e3e3cd5d54b34cbf13434d1bc3c32737097397be92a3293932232fa43a4347c9e9c3a136a91340aac8534df8ea6348f79f33bc3da9634a2498b34eeeeb5348801543a5e780133f58cfa324a04c83337803e374d675c33b435cf32592df7359116d635dc4a8034ee3e5934ae653a31189f673dd52d633fef477d3000000000409cb63dc9b14c3f000000001ed60d35bb44a43d069d263f2d844034896340325b99923dfe10fe3ee05a2732ac0ea934ab745f3d5886b23e15d58b34a8cca934d0730c3d3f6b453ee22d9134dedd0b3336c6d33c0aec073d7a1bff326235e13364642e3d3ff387337a891933d483f234500fdd3c63088a34dcb46b34000000000000000000000000000000004f55ab351fa39b384ab219352dce7733240a3f3762efe538dccc4936d1490a36eb417e35650a7139b2d07935bdcd35344280793556cb34382dc7d136731c4e35a3f1c134240b0938136443378dc1b435b0486334d9243937c2bca2371ee0cf34cc81433491682e38bbce0438bda122350000000000000000000000000000000000000000000000000000803f0000000066eba635e9fe51384742703ff534a2335bad6336b658d838120b4b3fe65a1e368fa95335fb0340385878223f4e1191342eea56355556b3371562f53e4f7b883587c8a634cfc7d1369495a73ee256e8352f6e5e342d497d342a1f363e14b2c134141f3934b57ea23705797f3cb36c17350000000000000000000000000000000000000000000000000000000000000000696a8035bd246e35bccd8e35c5eac335fc008435988faf35af38cc35adebaa3549420b3501240f352cbe033524161b35392e823559e98835e4cf90353b94a6359f0b9d35967cf1353966ee35d58576351981ea34d168d734da488c3403fbba340727ab34a413b83414bda7345d25f23400000000000000000000000000000000000000000000803f000000000000000066a83d35afa27b3f0c5bb7353fe698351e988b35f5b65d3f4e67dc356a11b035b5eb183537c42f3f0d5ead3444fad134a3e886359a8cfc3e35c0aa35aa8a65355b1b98350692993eee774a387de5a6355216e834fecc093ecf99f63383a1c63332efa834c077223d9ab03f34144a683400000000000000000000000000000000b47dd134fd3fce34ccd84f34d82f4b33a5f096343f0379348df28234002b4134217d0c35b87b1535721631358c426b3584e63c32c2d14a32678a4632ca9f5a3287160834e972e13381e53634369b1034e1aa2933a7ae96328f20a9330c4fb6331ad07f32cbb77c32bb4870323924893200000000d11ac435c9d9f93244c40b30a968ca32bb908e328df9ab33a589ad33c4b723341aa37b3f4946d43c5bfd8b337f025e341dad7d3fafa7f73af3b929348426a634c5e4663f99917338bbfd14357bd3763253823c3ffaef87373c302a32fcec6434fd6a0e3f0e504238970cee33117dfa3389dfbe3e69a65e384b935e3382fe9232e72f383e260ece3ae6955432000000006cb19c3d46b38c38000000002e9b2533624910378652a235eaeaa43374be6c33839c3738ed0a73335d806c33cb85bc35f27a4636bdeb15361e6fe03551e426355d8188347be02135e2d3b5342d1e9231eb43ae31cda9b031efd9b53149129c355847303553de93352faca5351386b134fd77ab34aadf8b34fc6b983400000000eee883369fa2ee3600000000675fa1355acc0235ac19ff3467140b35e61e2d3527ab0b356fca4135e16d5335702e23331f315b3f9a3f193ed5043d33f0c6bf34070f5a3f0a7ce53df2ad9b35fd428934e51d5b3fb3ecbf3c638b0d358c506531d56b383f6b78ca3a930bbf311d061c34ac3f0b3f6301b43ac8c6793585e8a534ab8eb73eb1dbb13a893a843400000000f54e343eb083273b00000000f63bd13447a61a3d99dd51388522b834a828ef3471a59d39928216373cdff23436c6ee34b4da1335f86cf5345643c734cc687134b909a635c5f541354f12f7348bf78d3161d80835ad8ce33674c6b9314bd07b3459f2a334e1c98f3470172c3477797135bd549b351d3e9f355fb751352263cc3144d5c232000000000000000030c2c834704439377ecab1367cd2773469b6e235130fb6379d401c374bd181350f25333410d2033867a3f53700d5273424efc934c2e8313ff7d1a03e4275c73465a51034942a343f18b88a3e7922f6334a6db6317da3323fa2dd1d3ee045c4318e385f34fa05243f9902863df4253b34446f8134a926023fd1bab53bfe13b03400000000ed0ab03e8950243b000000009b4db5349d76333eaac85e3ac5ba90340f114135dbec153d0ec9053999a71335544a0734bf27be3aaea3b8389d1105348e8ce8320fec0333ca769e323283c332b053be328bb32838000000007a74a530280a9a32f520b732399f063213d13c32000000000000000000000000000000002539be33da65e53371a00f34cd89c23300000000000000000000000000000000bdc200320edc8632c6c5e6321b8e0c3300000000a7882a38f1c5a035def0ec32a74f9c32e58491328a621a33fe431d33108af3328b8eff3eea6e023f5d12d3326f7da032050c073fa20ee53e76b3a331642ac132a1c5053f0125a83eafdb9b31000000004b49003f802a493e00000000c0b10a342f77d23eab09c63d6ef7033400000000af989f3e80ce4e3b00000000e6ed89326ca0223e598c603a1f9be7322e20ee30ee891d3da3a2033919bbc43211eca832f617c3375c55e4328695143354331735d5f0b23822172634c1b1f8337d13c73507249037c0baa035a91b0235ab674e342d086e345a1e843497a47e342af0d03237c729339025323200000000c43a9a3569639c3544b266357f9824357ce03534be4841347c232f34e7154734cd17ab31cae08037a8a98d37c50dbe318df496358da736358c413f347514813449e5f8340dbee134fbc3bb341818bb3472e25034a0a19f3eaa11323f06b7cb3327c1c734aed6b33ed0ee1e3f08d29034bbea9634c7b0ac3e44dbfd3e322a543400000000e1a9a63ed28eac3e00000000cf52c433694e9e3e63fa3f3e245145340c7f4b3448d5813e2551523d627c203481ffc631ae08203e48b5b13a251cad31dad75c348768043d4fb24e37f59b26331c62d534064bfe39c419ca344e77b3341a13a63557c4cb35b7231635aa92d03430496135430acf35290506354bc09d3400000000000000000000000000000000b757c734d13102350537e23467c18c34fca4ab35cf12bf350840643596e9fe34f770b23499c00f34f79261310be65631f30a8d352162f536ea841f365b466534f1436336cf304c363ce3ce3511587735fbb027335a792e3331121e33abad0833dd2c55352d69193e01245b3fe396d2340f92f9340ac4333e2c314b3f2b769e3400000000cae7283eaaf92a3f000000000909ad34c80b253e083cfa3e75ad9b34e8a78535a7fd153ebca7a23e565ec4334564c733d7b5193e9c650e3e97797331e6128a35b394ff3d7ae7843baaee8834a492dc35b5d7383db079ae37ba0cde3407b65833bd5d193a5594513300ecbc3227c04633a6287633d4b4f032e8811f3300000000175c2b350000000000000000b979453240cf8f3268db8332dfb85e3229a0bb31fcf4ae330f69b4338c5be533cf25c233075d5934d57c4e346c763e34432a1632e10f6d3257366132d4ef363269f7a43564e58935deaa293623a8cc34a6d89e3540d3a5370322a2379dff9134483dce349878b334f17b9d3462699a3446b17f334b26093d57d2783f69ac4b339629782e5e771d3d226c643f000000004a634932e3fadf3c35d54c3f73577b3235169b33dc5ef13baef7203ff1cd0d348ce62534f665dd3b1a89e53e2d1c8334c82f3032f54a683bc8f6883e42e752323d809d357f6f773b8249d53d8eecc4346ca58634e414373c3ff87e39e303b63433f1e6333a9b3134ac4d8c34b8fe813400000000000000000000000000000000cd9cb233315e5934fbe56734e8ab253173b62034fc5c6c34d77ab234996439346002de35596ea6353ab0f434bb70663576d2ca35bd6287358a7b8535b2066435d95a00357eca0235ba770e359f3ff034496dd035317dba35cbceac35583992351e6ff7352d6dce353e659b35174787350000000000000000000000000000000000000000000000000000803f00000000e9aa6134d912253530e8773f36125034d0301f348058b834a3ed5f3fcad99b3470fec235748f9a383eca353f02de0935f54b68354336d1353dbd043f78028835881ccc34874719351a07a73e4ddd0935deedc535ee6dd935098c123e7cbb65353a668d35394b07365f4de23cb95b503500000000000000000000000000000000000000000000000000000000000000005156ce34ec6cd43436068134e4ad6c345621bd35c10974341d29913415ea8c34737fc734d691603373b7903335997633e4b7f1351dff8335998eca34a4014435094ada3444ce88346bde7534378c0c34c8b3c835ab6367352b174735a8309735ceaecc3580000a36d05e6335ed3e043600000000000000000000000000000000000000000000803f00000000000000006f87913414ae7f3f57335f345cc258344ebc973580e35a3f071e83340b309d346e9576343d7d2c3f7be68133db8595331890b0359208fd3e32432535b7efcc34426a35345c799f3e02575d348a4b3934ee60a635a2e70e3ed84a183543793f35a53bbc35e868573d40eaf73404bca33500000000000000000000000000000000b76eb33436e4823a42ae9134546ac3343fc90535e57b0a35966fc4341f51113548658035eaf621352f87463534ed6535bae524366d8e0636e5580c36460c3836514d8234f93dcd33320c8f341907f334e457563430064b34c94ae9343b1624356672bc354d97b0359a1eb5350580e13514bb5e33699a5b33920f83338f8391331a754c34e5a00a34ad3501342ad31734f90d99349666723f9089993c2cdcae340fb8f73484557a3ff37d0635caf3eb34fb811f351fdd7c3f11224d35263a5435dc81e535b984533fea6b02362e611f36cb8c833473c7283f753843344019d23406aa92343713ee3ef0e49f3400771735272593355b56833eb4239d35d236d7358a6e56336f49173e29536c33b4194d3300ea2234ecff463d7fa32734bb361134d74f8033d1c6ae3c3db5b233c1cdb833470d7135cc767a3921e1f0351033b7358200a234f10fb434b11acd346a4fa5347c57643339956534d6993d34d53a613573458433c4b96233f64ba333eb13b334ab972034f6b4323493ad4c3464672834f7b297338ce43f35c17c81334ddfdb33c1e6b3337b51a0331591d933994ae333989a3534f4860e3791aa1e34abae043416c45b339fda473ffbca053eb52d96333b708d33568d503f48b09c3d210bb735017b8c3446bf593fda52ad3538979434ebad97339aaa5b3fe75608359bab25355501823336f2353f95baf533cb413e33dcfe09340633073f2a1b89347b6216345873b733bad4ad3ed91c85336fdd1a330797ae33cc51263edbd30c3498778f337e86d23329fc703d264b80347257e633d9ab87346dcefb3c18f77b3400ba5334e33ef0330031bb3b4701e933ebed0f342f158633291913399a7dec3305d39033c018c8340d9ec73422ffaa3421ffbb347c980836e6eddb355cc71f35f753c6346cd57e33f1186d3386818e33f1af8533a154c434bc15c234f9cda8340afebb3483342136df36e93533bf0c34726e103595151933e89f9b3796d8da325356b63214dc873429ff1d3f851d803ecf740234a22b1c345146223fa97a223e982db63313358c33cf77283f59104b3d2b713d33825dea345d442e3f4131ad348c4b6634378dc235b7692e3f8da30136cc459634e3ee6d3386fd073faf04c933e1405d3321ebe334ffdcbb3ebf4baa34c3856434bb657c35e4675f3eaa77893270cd1f339dba07333825903d18591e330d0528323eb1a534c248963d754c91340d0e95349b68013436e19a3c2469b033bf5952343b6f3e352fc74a3a44768535390cde34e6cee333b1fe9339a8c4b634e23ef7346193c6343276c93487f3dd3489db1a35157c6434a1061c334ee50034a17b88342b6e7335a97b2c3525b11035076891352b425d34f1acdf33bbc9783491d892348c88ba344f329f34a1e49a347453a034b41186348a4cd83e3803d23e078c913478ef0934c67eed3e3e18993ee7080d3480c9c5345838f63efe58363e856d2e3502deaf338445fc3efb84c43cc3dccb345b01d8343c08013f8d414935444a01356946403404e6fb3e6f88fa33a9ff5134570234357ceeb33e394e0435eefe6d3534262f3474726a3e604f4534004d9834d6caa1340881da3db793ae341a129f34c19a8a327477973d7ae24933415a03332f55a734fd13843cf10f82358b8b7e34145cd0341d6bf23a381b0a35688cc83439ba4d335a22023a3ba03a331fac5d3337a3a535a37d2239ed880836f5f71d35cf8bd7344112f9343a3c0d35a4d0d93436119534ce10633552c5c132a133143445c22b348542f4330f1126347a8f17344f909d34d2d291344be1a534e40a83340000000027a4883ec5ed183f108dec32c91dcf32fcc0a03e77c0ed3e59e25834ab85b334f4c7a33edd8ba43ef3a2ba34ddd6773375209b3e8ced323eb2d7da32e5fe993414c2a43eafeacc3bc8962835e033b934e070a73e97116135ef39c634c8277133a2319a3ecd5d05330871ff3145a619341c105a3e496e813487cdc433bfd9583485b1e63db714f234429c6834f2a02d3480613b3d4f01f6332a1bbc33fb5bb633656f9f3c8a6e8f33c7dcae331235b4332dcb903a05a8d9337712af33f54310346c2a9c39d821023410a70234373a8f3357e32a391a6780338ba18d3320d213355d9891397f65bf33c88c973320ca2a35bfd79134602b823486e2ab34cbec3636c3eb0236110b533540d79035f786a7331ed2823393c4b833de0a9233e331023426ba123e1383423f15cc5d33b03dda335baa323ec632273f54144d336a9eaa3393e3273efd49013f1e729633a02d2b3466711e3e2320a63e485fa6336dc6b73364330b3e47ae253ed3e104330a3edc3411a2163edbebac3aa6447133c47cd034443a203e4d14b93463cf263450c7e935b6f8ef3d7bb987359f9820359df19b338ddc9b3dc76be63337756c33c5942b343ddec63be0fe223495478333567b81333daefc3901f22833adb36a334676b03583f8ea3841439235ece22235e9c7c734591d803905984534ece9e634c69e45344ae78e39d5506634c22f9a3481c5123654a96136f2f11b360971cf35cae977350e099f354e0d5a35a0b87c352e750d35c91b073578941b35e32c2435a20fc33435f4b9342c7ab2343059a434f150d9330747e63c77206c3fc5a5d5333fc58833528e5e3da5d74d3f14c15b33f4cf9435cf04633d6025323f468626355044df34f2bac53c6390043faa6aa3346c7a5034b3be1a3b128cb03e22a15f34fdbbef3522cf95392399383e9b28ef35b2dc3635d48e263924e7843c50a752353b5be7349f27da3c984a183503d322351268ab34fbeb1e3de3e4c2349fcea93400000000000000000000000000000000d92473354fc7343698e18235295b5e3482ff8735dc508435486c30350672843257e5673490c66235192d3834aebf57345ab757350dab4c36089510354430aa34c5db94333c982733c6947e32ee41f03293f7843422eda43513c69834f2b3be341fa4a634f7db0b354b8fca34dd10ab340000000000000000000000000000000000000000000000000000803f00000000c0770035223532362bd8733f868ac734eaa5d834b4c39435ddbf5d3fd7927433b18a1f344b1ad635d8cc313f0c286434cc66443434ed7236cb92033fc7f0c03493a9a33305dee23344b5aa3e4a7310330f5c86349fc87135e92f1b3e7e99bd3468882d340c620335a08ffd3b450eb8340000000000000000000000000000000000000000000000000000000000000000911396387de0df330000000000000000b686a23941c84e35633e08357e490c3529cb8938125e0735c863dd3469e90735e829b5388aa8233705361d320000000064e043389243bc37f38a11352efa8035b95a7238c05fa5388832cb3429c80d35e3269a38370e6a38035723338544223300000000000000000000000000000000000000000000803f000000000000000087c1f2362ebe7b3fa499ff320000000097d61c38c018583f05e61435c2c30f35a7f79637f6d1273f1bfabe34c660123562e645347fa2013fc8d11133a89622335fbb4f35fe89b33eeef30235c856423549b51434eb8b323e33e88437e12215351f688f332d0dac3d58a332332c221633000000000000000000000000000000009bb4d3342099883d8bda0d3555b1fb341b740235fea9783aa0061735b24e0e35d517cd3418210a37273147342543823497923a38650083371895e833f0fd753415d12438393b7f373a0cb934833aa734a8e80a38e148de37d5e186338c347f34ec174d37fef22d388e80de3236e3f03336902438f38ec738c4df2133ba8658338d720238d03df738e7be25340110b03478e1bc342e425b3f1f843f3927bbf8343f30dd34fb76743fe7658e378b7b14358dbcc834517c803f7c177d344e047634033c58321cc9673f8f84db3339be4b34fa769834d9583c3f8226c0348065ca343de3aa34e25b0d3fa265ba3313d63c341dbc872f846ab23e4fbeaf338928cc3300000000f06b463ea7216537b0d3953309e5763482d2d73d2ddd2134d98384349a6a6b343933ce3de9904f3425994734a45d8d34d3bac93dfc7e3435ccd9063500000000ab4a763c23718034608ebf32a671d235a18209392f44cd35f4f3a2357b1eb7378490803854150b35304fb934a21af937c4c18538b47349352d5f31354fa84e3717045b38d30a9335a7ab59355bde0638be77bb381856ce334f23f133a8787038ac8ebc39000000000000000019077434f203293fd4eeb33de622623477efec32026a333f5e373c3c2b7c19350000000022a0503ffe348a378300d2339601ca3534be663f42396837f9acac35c53025355a775d3f191c493510eacb341b826734029e373fd92743356435323552b345353fd9023fe91f93351a116c359e4dd933e6fdac3e0f6b01355c1be633000000004a541a3e1150ba360000000056afe13451403c3e08d9dd342bd53933a1951735fa450a3eaf4d0b352bc757345fe30935998f953d8acdef3476fcd034645ead3505b4e5392738923514c92a35c44125352ee09e38ca3aed3428a0ca3391daa338128efc38e4dd6635920795350e18eb37195d2e38d8513a3400000000405dbd378571aa38c286353470ceea33c33c4134b1ae1939be7582346866a134b572b2340295d93e3bf2083e8de0333438fd4d347e5aeb3e8227043d343bc234ef4fcf346d970a3f940697386701f834e4b38b3595bc263f2ad4b437c7a57735c5f21235333d3c3f85953835759b9334abef1a3515c6343fdcc37e35156087354d42e7327a12133fe588b6346fa5473396caf8344440e23e8ad7b234110d1e34cd3c5f3427b4883ebc71643486298234c858b9341a734c3ee0ace734b47ebf34c75a5f34e9fd403e00eb04349385a1337db3ed34f79b033e18577d3468934e349c8c26346646403dd796a83412e4903475c7973417973f3ac155af34e5f5b73494b79c34a3884d38ae88053469a47d340d5ec437f72332388f03fe348743db34c90f79378b8f1e385ca3513439473934f79e16372e76ff371ee08d34a7fc073558aaad34ce43823e2433863e0cdbce34a0565234cff3823ef071f23d8d30b533bbd2f534612fa73edd041c3d54b76d342a6f1d344ff2c83ef7c11238c9b99834e852983423bc003f2cee743721eabe3484ea9934da78113f700c273415995c34894b78340ca0033f992305352e5eec342b9dd3331945e43e9eb98434b5b34e34b481d2341fbd963e6b5d823426e6d134cad55a343a25423e68d29f33000000001f16a1346fd8413ebc37d03428078f34d95f443425f4173e4d0b3d34000000003abc6235dc83ff3d5ad63635dcf3b734e619f53404aebd3c372ede347b9e563488b8a035bb5b99391f119835d42f4d35d93234379278f438797f0935dfba9334e654b9379c0946381c7b2d34191e0734df09673739a6fa378db59534e6d56834001b7834d8f0003edfadda3e740d623364d5d033fed6ea3dca1e873ebc37d2340000000085490f3e6ec6143e82ae46333ce87535f67d293e9996243c5bedd83411c87d348b9a7e3ef7144838cddac4349de4753583f3b53ea7c8bc35e76d74356a0bfd342fb2c93e0fd1163572d3b934917bc7342095c23ee9bf3e35c0081434fbbc9c346a61883ed1c2f234a83c853400000000ce19ee3d0000000000000000c90db3341c90fb3d708c3534dc4c89335d3e9b35b353cb3dc0c952355205e33402a54035e744db3d89885334c8761b344cef3c35213bbe3d30d86235bad1013541f7d1350af36e3bb7a5c835474eb03537677434e2fb3e390000000000000000a0e27738c3f5c53857652c33a4a4cf328c7e4c38b18d0339928f7a34e6f77a3400000000ef3a963df7d62a3f000000003334e33368c5663de144fb3ec84ee233d4ec82358959443d7e84b23e672b19357dcb313523ea723cb5fa2b3ef0ee203443841e3569bfe43c5cc09b3c311f2035dda5be351cfdcd3df72e89383c16c035ed4ee8339298343ed0c3603400000000b1eb3c35d358493eec0bb8345a83ce32ab3fa9346524233e3e047e3457aa6a34d0c450347f51613d5d998534d1213d3400000000b25fb23d0000000000000000f1d2b7316d1d973d3ef1102f000000001c4ef933ab44343d56ee9e34fb561e34159d9e3479b7a33a98228f34e69c5034a863b833bde978394380c5330000000030417d340130f339b2c1d134e44b9134c9341d351040963898a3d534b61abd34da3d0f35f279ad381cf29a3447c80035b340503458a01c39f0ad583f9d5b6134d44a2c33edcffd38146d393f00000000bd838e3337226038e8bb153f00000000cf9c12345c2c5f38f15ed23e19304834a252b2341ecffe377fc3893ee0c968342dc20434d1761538c99fca3d00000000ffbc6834ca368038dc45a53857579d34bd5b0f353b97443d1dcc0a3582ebb634ecd3fb34b148ad3d7a0a9d34a676d2340000000000000000000000000000000073702b339c510f39804b46338fe8b532763b8436385f113c4e6b80347a68f3329438f534488b1139d7903535f9eb8534000000002d3b033988fcb536f85b8a3343c9ba340cdb9038609ec1370c081434813a16358e5bbb3881ab87385752d3348596ef32e314c138d6cbd73792c995330000000000000000000000000000000000000000000000000000803f00000000d2f71a33cf497538abae6b3f846e06334aa4b734e759b3387931523fbadef433fe181e352223d737cacb273f17acd934000000003422553717daff3ee93e28346547c53475baba34033ab33e2bbea1345dd511350e6d2935fba0253e6ed50a3500000000072cfe33c76cb23c7a510a3400000000000000000000000000000000000000000000000000000000000000003f7dac376bdff236d496ee36ad144337d4bdb637aa639d36849ffc36f9e791373b7f7a3793800b36dc290f36acdf38379d0533391f4546375d6a553772c1fa375ce50438c19d043782dc26377a66f037a1128837a749e836f44ccd3675fd74379b918637a2883337275a2b3771325b3700000000000000000000000000000000000000000000803f00000000000000007b4c2b37ecf37f3f47f0823703040a37552789372a53583f4f988d37874a5837f9ae63376c702d3f73dc4b371e988136d5b309384e66013ff135f737bc4aa537d1dbec37a792ab3e370bc7370eea66370f355e37806b2c3ec19150371ff313371a032737f07a5e3869cb2437efa136370000000000000000000000000000000012387237725d7d37f40526374ff475370b6845379fa73b36509c3b3660552a3717e987377b8ba6369edcff36884575377e7cba37900d8d35c9d4913574adb0377c57ea3780012e373efb4b37feccd7372fe19337b1be6a369c13a536845f863790f27f373fd90d3777611437fa228537a5836337f2a851370e3c16376f268d37e5325a378a0f8037a9a06c37cf9596376049af3628f57f3fdd0f533875112737cc0edd3528f77f3f59ad1438be3049364b6d84362633593f8f6a8639204b213708f3dc35fba52f3feaa94238b55c7f3661ba89374741013f711e2b38b599883719619c364e1dac3e81be04383105ef361c7ecc3688fd2c3e09d8a137cf1e133745b213345dba0a3c91d58e3797900237630fbc36e5e5aa37902d4f371e9e4837dd8d9b3788500f38b1e0663763794c3780fca1376c679037f0479b365387d63611badb37eafcbc366013bc367a59c1367cf66c3719de8a364e6e8b367bb10c37427ba0372f800b37bbe9ec36f6157737054aa9372b53953695ab9636b2fa56378c78df3769f2b837a2f19c37370fd43758cb5c3796695237d775fe3617b44f370378763745c25e37ddfdca36137a42374131553695bd573fd3dc203e98c3933698338f36f153583fb7ee1d3e45269936c002b536d9c6353f1e6f133e6c72bb3683488736d5f2173f7bd0bd3df4178a36d7277f36bed2de3e0869813d2a1dd736ac9256365ed99a3eb803c43ba3089636fc3e47379e7f263e35713438a9d15d371a79b3366276043cd1b67a370696b5368d999836e0c92e38e2cc253778479d3684aac837477c073885f389376aac4437d4eeda370a1cde37f9b6ea36f345f336883d93376c6f1e372d672c365be5af36a55c7537017d153705d09a364a950d377a1e1338920b96370322003768db75372c1b9e3740b66637adf31e378c3975378a52a637059f9137253141372e4c8437bffd0638cf74e43761718f379755a33771a4d637104bcb37370998373114b0379b591d36361c2d3fb4a1a53e2b541f36ea8fca36e7cd2e3f9843a23eb3e0c636354227362545183f6ee1893e286c293615f68f361f42f73ecfea4d3edd992036b6e1fd365000bc3ec840073e233df9369ed3b636da657a3e07dd8d3d8e75a3369d0af2363658083ee873133bccc3f5367ae75837ffb4633b1ff41138acff3e37228e8e3758a21338938aaf37150f5037e4e5fc37eb712538dc12a1379e9e1537d1f59337b0299d372b6a4936a8c0483607e4fa37dbc38c379ed1353658848a363f052a38ac84ee37ffceba36d8a55937b85a2738c08004383c399337db2dbd37ce712b38fa000538c1998237416ec437523efc378b70ac37661a143783a95b37e7b3a837936395378078f7364f302637ad1806382ecaf637abf7b13793aac237849654365cf1013f68fbfb3e1af2b835747b3c36df9b043ff4aef63eda292b3618fc6036c738e53ed61ecf3e9fe430368cfa6437697bbc3eaeaea13e56baa635139abd3782f2893ece096c3ea238233729d2a2377b1d3d3ef554063ee76fb136c2540e37a6ccc93d8e38493dd377a736a0efec367d083b386082c93715d04f36d67acf37ea952f38d3bbde3762633837cdb4d63767b908388fcd2d376bcfcc362b4de4375d7cea3792ce1b37ffd61c371ca2be377a4e6c37aea31936dbce1c36cc41d6371d3a5837851719363ed03836ac2b2638c4e4b737fb63ed3657b90237ff8a813797183f3734a2ae360390043784a0d237c4db87372894b936f7eb183734950238df79e137197e6e3730a98837ce39d237b258bd373c9474372b6b8837e226e736482cae3e28dc283f485f8f36e85b2837dceab33e9a1a253f00a3f336e983bc368c23a23edc3b0c3f9cef143658cbee36ce46833e96f8db3ee5931336c4f24337a363383ec818a43ea283e03631be17376c19fa3dca64463e37601d367a070f379f3e643de7fba33d334a2c3645b89737ddc2543815db193852cfe43633fbae37bb610938a9bcaf377d9392366602b8374a620e3817fe843673806f36fbb18337e39c4737fc1aa536a133a236aa5cfe379573b837264e053658d90d3655ce0738e2391b372b952c3649634a36f78af73737a058372889723678667236b0bab03711a658372bfc8436f9158b36d6622538e24cc137b23bbd36d4f1be369d00f637074bc437aa16a136910b9f361fcedf37e1f1963700150d37faad1737095f9236cd7c323e0555533fe65b363635adae3606ff413ebe664d3fec479736ed806f37676c363eaeb7283fbc9fee3599ec9e36fc55163e596f0b3f89181a3685a04b37f38dd83df894ca3e02496d36f1fb0e3748ba703d137e823e361a81367a874337cc2d9c3c39de013e0701b6362232873725c7143ad7b31d384cc19836ffda96370a821d384c458237ae4f6b365d31ad3712d89d3748060133084200331b01ab37bbde483765dd3e33dcfd393330dfa73796af2537b0e4ec341575fb3421bf03385ba532373643b3358477b535ea320d38673bc837373ae035f785553696ae0d38259c9a37d14e883507108c3547a9c7379c887f37d6afe13663961e37b8c88637b5b75837f23549362cbb5236bd64813742a55b37dbc6f336e1c2ff361a544037644ec63be9637e3fbf33f1323c7b05378545033d6799753f3bf33a33b6ce2337dec2023d338a4c3ffd76f0347fe037370992d53c8d3d233f4e3ab135ae26c037f881a93c49cff23e4ab2d5351f1d8e370be07639647fa03e12e58935e3a97a37a965143a1f391a3e86032836ba1c4d37abd3eb3721dedb3798daf935db5d8237769d983741721c37fc6bbc36000000000000000000000000000000005c596237c71f27373b368636a38ea236d9a98d3739282537d166f634ad051035faf10738b30cb53773478035a3c08a36dc1e9a38fe94e8378243353709074f37a32b7737ce2c433754eb0b36de740f36e6669d3728ee9b3712a54637164276372c5d7d37f5fe8637a32662372dcc59370000000000000000000000000000000000000000000000000000803f0000000048cd2d3771e40238e1f07f3fa8a37f3664a92f3736172b387ad7543f1783fb346129b8379997403824232a3fd70312362596d937f301223a049ffc3ebeba3f3703931837b2b0d037ffffa43ed1440c367dc88437b53b423870731e3e06fd2e375ebf38371257b437a3703d38052706370000000000000000000000000000000000000000000000000000000000000000e355dc3721c39f37f7eb2a36db00ec36c6f84d393710033844a1ad3725add03791238b39c31652386b30153839492f38efe228388a169c37cbdd3637e543843792961b38e5fcfd37bc23da374ef402384d706238532e0a381231cf376c900f3818261438b05fd137c07c81378696e93700000000000000000000000000000000000000000000803f0000000000000000044abb372373733fb2d38537320d7a36b0e8773872954c3f8740ef37bb1cb337f8ef4f393d15273f617654389df31638aaa42c38bcd7003f3b638c37e7b34937da711438209bb63e1d7def3777e2e237a2334d38f204563eb806fa374806d637f5860438fd02753ddbfd5f37cf548a3700000000000000000000000000000000b637a037e68689397c021a37b55d0137687045383e1b3e39a300a3378aab4937ae45ce399bc9553857169a3694d2b536ba4af3372430a437ef53a236786cdf363ef08938a37f18382243af37716be037510bc837b500a137555d843653254237d6d4f4379400e637801c55374ef3be377ca19937faa29b3774a49836894a6b37325a08381addfb3793dfa33738eeec3775279d368a36723f5ed75a3d1e4a02376d1be2374343673f67dd593d48864e37f3670337b9fe433f388e123d18d37036b2360f37f5db203fef7c8b3c7042963612dc0038913cf83e204f133b5f329b3702517e370093b03e3651b2371e8187364e899837c968523ee518d837bd7f20375806123733a58a3d8bd325370b4188361334e537d75c213adb589c373448963752720a384a4d8b3941b7c437199e8936e99c3e39ca1c643a534e5936c6725736d04a263813643538f9d33c3765a920376fa39137ec2da237c77cf936511af536f4d11b39308c3c39262ed13716f7bf375379d43793a6df3776259737785aa23777b7e337824bf837fb103737a35a5b378f92063885e80e38256b8c374f7bad37a1b32938fd5c2538c18cc237aa44e337db671f3713344c3fd2874e3ed90427379f625836f4e8453f335c433e3d40573644dd9c37a7ca223f3884263e852b183713110137be170b3f8246de3d0e9df336a62802380265d53e198a9b3dda939337ac1f8b37582b9d3ea24ddc3c14367c373c2b473758e1443ef822f7377392b53644f6a9371dc4813d0faae0379ff11037896d0a38f08f7d3949e5f037097d843722e52b389208303a5498fd374acc303703d6db3734d0d039395b01379b20d7363a58c2378425d937e9549036bfed6d36ee5a0b38e2923339bfdf8d371790383782a422381c413638f5c3483749a0f0360b71c937f89fe7374c18093755dded36ea65cc37c57f1738a801443770be38374b387337f8ed8f37b7412037606d2937e64f3138e75c1638b3a56537a7ac6e375f6492377be6263f5d8db13ea6f7673717ce07371885223f8203a73e83fbd636ad99233752120b3f1bf1863e4f0c6c3685e0b5378452e63e0036513e686a2737ad107837fed9b23ec332173e4892a2368ca316376c72823e49a0a93db75bc7362c963037bd57243e34d9ce3c25f41737308419377a9e6d3d426b4937e37ee6361989b637e853973957fd7637f04e4237857ad73745a13e3a17d08037d5315a362d69223825b841394fd736378f258636a0ce0e3a7ea26a3a9df1e4361985ec35a6b61238389136385170ba35b94b9c33598656380b806b383540ba37df19283768650738575c12386e268336ce96fb356f5ca4397723143a4d002a37b8651737ec7715389c433238baeb8b37fb303737b142f537284dde378f5b2b377a4327372dea0837805d013f1488fc3e84edb03665ab7c37f702fc3e46e9ea3ef6a28c3660c62d379ccbd83e2691c23e5d2c3e368dd6c436a42fb63e3f0b9a3e1e784b339b4c023870598a3e01176b3e79913037f28ae43624064e3e4849113e6c161f35863da337c294003efc818c3d0b9afe366fb1cd37b031473d1e2b13388f7fef364ea4c5379198e839ef8da7377f6f003782e206380cdcd439f2b060378b0c5736c2a37f37eb75363ac6de9b3600c01d36a368fc37784e7d397a58cc3657e5bc35f101f13704acc53b9b18c03674bdb9362ad4233844323838a1cbe4366cb7a835694e043831100a38982a92377e4e36372481ad3773d0bc37207412374c8273360536dc370e2eec37f4223137ee130637c875383869372e38692fae3730839437a44546378af1b73ecfcc233f0241da3690eef73679c3b33eb70d173f07d41e36fdd93d375c6ea03ea420003ffa48c435d93d3237f711843eafe3cb3edefbbb3649ab9637e0724e3e38349a3ebd53aa357a7bca373d69153eb45d4c3e39a11737e7da6337c11fb73d3a34d43d14956b3672d0723767860d3d7df37d3b73d8d7360a522038e455a839e3c5103826f35d37ff401c38ba22833968c8d937fb21b236d3360a38e2a67739f537c8367cd98436775bfd3717b72c38f502493663964536863b0c38a1381838c43bce36d010c7360bf64f39149b7c39ebd183371b7b1036dc298937754a94370a61f7368385f636f5a31338978220384c794b371a171337f813bd3705fec538e7049e363d045b3646f81338517005389b164037d8b8b43688bfa837b0ed583e0493493fae41b336e77378370e45583ea19b393f51a1863601fc6337d2e74b3e46bc1b3f727445363e16aa37af172a3e3de6ff3e9dfac836591e0f388af7023e25bcc13eb99910367acf0137a5fcb83dc6e8833e8b29ef367314c037dc67803ddad80d3e65900637230f3e3751554a3c55f6b83cc8a35a36edec04383aef3e38e693d937238c4a366df800386b1c2e3a3c43a73700c0253600d3ad37234d0238109d7735585944352d650e38751b2238efb923365b4851359cf1d3373980f137af71f5355d7b7135a6602b385cb6ce3892ea193755ac2b35efd2d73766e2ed37220c4c366a284736c1bfc23708733439d771823620757635f030383818c23f3819d8a837f75094364571c437b0fc87376b95b636e9d0463633299437fe1e833dd5386f3fc94b4936f24bd23671e3983d9b825b3f164b5635dbe5a0372b51943d16cb383faabbd935e3dd6037867a823d9f58173f3e9ca635a6cb0338e7bb653d1eace93ecf212b353a251037c2940f3d3e7fa33e85c04536d4d01b3795f3663cb6353c3eddab7e3570a11638184d273a96be2d3d4cb3433632578837b4493538c0932e37f9650636000000000000000000000000000000004415f937cf2d393822bf2b379bee3136d4184a38aed56f39c7b0be375212c336f6d20c3874a73538be0fca3722f84b373f5d0438a3e62f3889452b37f5420a36464962385b2ff738d0ba3638807cf437e3fe1a382090663819f4e23798fab737baac8e379088ba37d7fd8237bfb712370000000000000000000000000000000000000000000000000000803f000000000b908a37a45f5e39348d703f34273636e312ff37c7b92a3ae72f4a3f45876237a602f737c3341f393f8f243f3e96a937d6b17e37127363389118fe3e9f6ddc36862341389920093a5410b13e752919380b1fe737b0a4933978ce4c3e277bbb3756364837c0f9e437daeb473d6c6e0337000000000000000000000000000000000000000000000000000000000000000084ad2c3abd282c3a087fc63879e83f380fb5e639c6f5cd3909aa93380091b8376f82193aed6d003a4ef5ff3775e3b53743af173a5cb3e4390121863812e074385635663ad385393a0f8a5239956b1139e4ffc5392f07a5391359a53873ca9638d818563af8cf1e3a65fb2138f201193800000000000000000000000000000000000000000000803f00000000000000000d4b0b3aa503613f14f6c63913de52386e97dc397fbf403f378b9b39603ff137a6c0163a2c0c203f485e91398425e33716e01c3a16bbfe3ea9cb4c397a1c813813a76e3afb55bd3e2f07e939fb110839eb7dc8395b317a3ed804333921506338dfc0633a787fee3da79b13395772133800000000000000000000000000000000bd0a0b3a0884333adbf78339888bfb3772b2113ab588363af314dd38e02cc737c0196d3a022c9f3adcf023385345143823ea163a90e5233aec2a20388490f837ab962a3a67b2293a0a52f737fbeea9376c1c8c3a9852833a74849738d92d343857fb3b3a5759443a10e1fc37e6dbba3747fa0c3afa761e3a593c0438562cf237e4e31c3a6eba153a6e7a9939dd9d8b391a1bbd392623613fbf11ed3d8158113968e8bc394c1d483f166cdc3d5bf10d38c63ef939993f2a3f2c37b03df2f91e388e27b439d1df0d3f8b168b3d91000e389d7f043a0990e23e91b8583d5416d137344c463a4e8ca93efa78113d831f473819ea0d3a91c5613ec3c49f3c0a02c4379838aa3931a5e33d6f0ca238100bf237b8e2143abd4a643a5073b639dc9577390285f239c7d6aa3a30679738eb4ada372bd9273ad157b93a5bcd09382db6c43789e0963c6b4fa33c4f5d9a39c3473937059e3e3a2328a83af923453891e108389648bc3926c5273a30072d3867b6f837633bbf392078153a08351438378aa33735c3143ae0ed3b3af6888e3931edea3829519e3936b3193a6b0e31387b571e3829b6fa39da41093a92f2d438f686ed37998d893831a4403fc3aa783e96d80038a4bed538ba412a3f8fe85a3e2ce4e637bef7f539a41f0e3f1a0a2c3e59c00a398108e2384039f33e8dc8183efc3d2738a50877391d65c23ec361ee3d304a1238855e6c392ecf913e63f5ae3d42eecd37909fdf3922c3463e0fbb193d753613395e0e513845d9c23dd9f0a03c1f082438a405cc3995cf7a3ae4376e39d410f137e3b1f339dc127d3a9983a0393408fa3717fb8a3a3d9a293b2531f4381622fc379dcf1a3a1836a03a110b50388ad2e337cbfe403abd11c73ae8a92338b41105385f55de39bc3d313a04f070383f6ef9378bd1e639c243833a89ff1b38e5508b37b392043ab1404b3a5875b537cfb892375c8e263a404f873ad7875a38fc6a3b38448d2b3a6e1a453aa231453833d53438e3404839ab68223f1d7bb83e6b11bf388bc4473948760d3ff19ea63e7d07133893e65839b1e9f23e73228e3ed4551238459234382d7aca3e13976a3e2a38133830ad8a39e0e1a13eab53393e251a213862ace438958b723eba66073e7329b337fca5b438a2e2213ea668ae3dae57a137fe2a4f39a668a13d3387133dab85463811af083a8b848c3a5b86cd39b94839382135f5399712353a0f9cb2394b702738960e523a180ad93a57ec26396700d3376d68e83958e9c23a0ae710393665dd372a1b473a96b88b3ad528873871a41b383ef01a3a974f873aae0bc43810c7bb37487f393a1f037a3ac80cac381b0d1e384ed9053ac2e2743aebccdc38e70afc3755835e3a7d31933af62b1838fa91ed3733a3053ad06f0d3ae31e563977852c387e5f87393debfe3e209ffe3e292fc9384c0a8a39408de23ed9c1e03ef36e103819148239f9d7c13ea439bf3e898d0738dfdead390ce3a13e1c3d9e3e14f82638737a6c394a0c813ea5e57b3ebd5bed37ac44be39aa5a423ec8e3383e7f192638be65a139ae34013ececef03d644b0b38ef5d0e3a855a7d3da4e8513de1680038c02ce7390a9d363a060bcd39cb983538c73b0a3a86c98c3ac33ed439b44b2338ecdad73932deeb3a8fc76b3893031238434ad9390fd8923a445db737f8b346372289ca39c400b13a9cc22f384bb37d37591dd439f8cb303a7e9e8d38ba3aa5376d980b3a5ed6af3a4d8423381e8801389bc30b3af132623a9f5528388189e8370431833a6d97ce3a457f43382eda08388617123a8518213afcb8123940010d3803a9a538112bbd3e72f81f3fbe09413873bc69383833a93e09de0c3fbc534538f07bc6370267913e5081f03e19e9943715286938bce3713e3151c83e2ca9a73764cd7839dc20413eea639f3e9a811138e69435381e36113e9bcd6a3e03fc0f3838c18c39971bc13dc86f193eedb00a38e1e6a43994cf3d3d9d6e8c3db3ab1138c6d4e13944df763aaa0ccf393ddb143890c9b539a40c563ab677ac39b340d037d3721239f41fad3a6d9543387b8de337ba82153aec8b5f3a32f26439c5743f37c440ad390477593accc62038662932375057a639e0c34b3a64833c383868ba37a7c0f039de91933aab2d5038f232d4377793253a01cf9d3ca9a095399df22c375ed60a3a58f5593af50d0c38265bc03721f2cf3974ec183a72ac1138c996dd37573a3239eafa793e5e59403f2a2c773827473e38b911613ef3ab293f15f622382f6ac939c059453e0746123f7964d8370f77203923d7203ea7bbf03e7abaac373ce94739f752ff3d2ecac03e6a7d12386297c1388d49c03dbb498e3eb5131e3807b2053ad8e8443d08d82c3e9cfcce3743bb83390fd3fa3c4a81b13dc03ddb37d8c648399372903a2ad4ae394916f5371848023a54644a3a0f620d3a6ddf4e37d9d1b03901868b3a7a251339bf9181370568203a2fb77e3a2f7d1c392c7bbd36c8542d3ac96fc63a6b3a2439903a8137d223f739b38f4a3abfb6a538357847372b78a939bb903e3a809b79385ae7f4378967173a3ad7883a81bb2a384bde0c38fafbf139ca6a133a52ee18394bf2bc37935efc390e2f0b3a4e9b8039c4e7f137fe3db3395dc9ec3df5c9603f03b69139a4627b384784df3d6ec8463f9588ef3713a57d39a888bd3df3d1293f5c2eda37af57993945fc9c3d22100d3f36fb5738a79d3f391f1e7d3dfdf6e03e2acbd4375ea3cb38c1803e3d9237a83e9a2a1b387d191f397acff03c6b265c3eab331a381285b139b07a3a3af774da3d5755ea37bb18d63925f8243a0105fb39b9860338000000000000000000000000000000001797063a28b5923af5e8293ad11bd537c131a139c2fffc391d7f883938bada3714ea333aa09f7c3aaf3e1f3a6e7381370a35c739d4ad2c3aa5819d39d5426f38e97dc939fbec2a3a5b4d8339058ac037e100a5391795e2395a048639c18fda371593c9398391223a7774a639ac8f86380000000000000000000000000000000000000000000000000000803f00000000691e5339dfd78b3ae694603f30ab533993ee4339fe0a083ada95403f78bc0739bd42e0391969843a2b6f1f3f50c7ab3985dd24399de03b3a860cff3eb39a8a3877dc5039fc54463a5db7bd3e461421385a616339009af339007f793ea582f338a67597395e3d353a61eced3db48e163900000000000000000000000000000000000000000000000000000000000000009539a635ae3f863515ef873524448f35720988366c7b70362e607736cad885361c78cc37870a6f36c6dd7136bcbb7237ca71a536a22a9f359721a83514f0b835545f0e38f286b837f179ab37fe3ef937eb2fc1379e159237df8875370124aa370e9b1b3651e26b365b39253619c3303600000000000000000000000000000000000000000000803f00000000000000000df18c3521fa7f3f5d729e36bcec8d35985997373681643f3e8ec636040c863658353438aa6a323f08a92238402b3537b96dcd3603b9013f883c13371219b2356400083843faa03ed0fc31389900f337b04b7037d9affa3d78f118383b019a3708abe9356cbfeb3a898cc136317c2936000000000000000000000000000000008d7cd6340545823618af953682759236cd73d0352dfdd235624fdc3540f4383632e11736e94ce03573260536724c6a3630435e35e5141a35e8074a35c686a836e3a7c335137ec4350b37ce35972dcb3583e19d351ef4a435a2cda335d327e3364495553783099537319a8b379f3ca137d74d9335a77a2b37dcd4a23564dfa0358eff36379e1eae37ba79a8371d6f963796ad4f340ff37f3f62612b391310833600aece3549f77f3f5228ad38da84da351900013641bd6a3f471e0b3898a93b36619533359b13393fa74333382983c9357cb2c43516af073f4bcb05397e37cc3559bc9b350c63ad3ec7ac4d38760082369d192735b64d0d3e4aec49381a3f8c37e9b592352b821b3bd976e7374b86a235bce3dc3508751c385bfaed3789193e37ee4682370b10ed37a90be2371b32c037e3f6943653289a36ec54a236f1efa53623b1023572429b34731be534eeb83636e9796136480a6136a3bf5f36ed93623683afbd3758379537b25ebc37fb1fe4375cb6ec344c86ea34d47be0341478be34de7a7e374dd4a337f2718437d1fc8a3776b3be3759721438ca95e537571fdd378cbcd6367804af3755ba68373b68aa36ffbe2b36fa82613f33aff33d1a0fa937371a8136df91663fd16dcb3db104a136a1b9a434e2344d3f00ecc73d6a269d34e09844368a15283f4c0c4c3d0b286136e6260336c89bf43eb747ca3c86b1c137d702d73427129d3e8bd73139fcf7cb34d7eb823656a60f3eb5612138b2f25b3738f2d835396bf53980986038818496378ba41b35c6fc49381ac316388b95333581170937c0780e38a1fe9737aec956353a9bf636a49baf37e443aa36e5ba35360e6e8e36efe18e36d1908c36443a8d3676e47c36ed9bc335431fbb3551cfc035c3486a368dc73c36f9511c3676ab17364e7f6537f0918a3733243c374bd74c371d912e37ef9bf5373a0a8637723cac36ea7b263753ff973734a3a13681979836b2f8a0379144a637783e92373b2c8f376b784335b4a2313f5d9e9c3e4c554a35b933053692ab363f5e9f923e91171636cd608536313c2a3fea66793eb61e8836d8dbb4356d48083f9e43303e03dbb435609a0f366502cb3e1da4e13d43131336568d8436faab843e59c93b3d0438e63634c15e362fb3f13d9e7de6382e3586366dbe87368a9491396a960c38105f8f36cd5166375decda3781ddb73724c65d37de40683682013c38c4e90536c17f8c35e0920b36f7470d363a1b0e36520b0a3699af6e3764aa54370d49433651e238369a2ea237b63978374b97e13544bae5359362ce357718cf35deaed23547bace3514e4dd37d2681338a8c65737f14dfe36ed73dc37ecae26386d04d0377247373727c30b364fc30e368a8d10367a3d0e365bb46a378f065d37a6fe0a36ff92a535537f8e35d601023fb9eefb3e6baf853564c80a366227083fe8bdef3ed9090a36327048361408fc3e2de7cc3e8537323676395b36db16cf3e0192963e49ded135a617cf35feae943ec7da563e859ace354cb6a1369be94b3e366bd13de27ef935900158363facc53d4716343c0a955b3619290d36bc9026397c033038265c0f36829b1c367e9a8f38e89f9d376ac48e35b44fa93784ddcd37fbb65f3792b49636b51bc936e91c2137e9b67236ca6e71366f40433759697a364dbd3336b1a727369fbb8f37e0714a3722a25736966c55369d991837fbf39a36cf110c36e0220c364d3aa73766918737f39eb2350547ad3501583537b8288337bb0a93364b8a8e364f180c3859530c38b755023767734c36e53acf370f4e9d37b394b235b2334b359b285a37245fa43e65c82d3ff1be863688bb8536547ab13e6c32273fa4525e36f5f673362b9fa83e5a6e0d3fb2711136e8300737b3948b3eda57d83e5aff3836028d463604fc4f3e599a943ec446073605cb043663740a3e892a243e6d85b235c6c19436dfaa843da06edb3c07ea8e36d9339637ab35b638ee6c3d3825412d36a5d186377eef603864e57637b74953352d19c637adff14383c4b193506212d3526360338ae36c537b5909b353e3c7d352f45a4374c134337d7f56336d62d61366b991f37175e073524e0ce3454b60435cfd52238d39bed37772efa358e5cec35f0f626379521e3365fcd5236c1cb553628e3d637514bd7372296cf3570302535856e9e378ae47c3791e59a3607998e365145de379c76b437679d54375ed04b37e1e828353cd60a3eb0445d3fad69193539b672371e1b263ec152563f94b45635909151373585223ef975333fb08c4f3678afe5343a101a3e8ef70a3fb64abf34dbfa0538fe53dd3d1f54c73eacfbde3549387436d179913d3b34643ed9284536b4978b371fdbf33c6633913d6e24c834413d6037a331f0381ac4df3796408f367b4dd737847e623856839d37a9e97a360903e037dc6fd4370468e2350531e0355e6a0d37341d9b3557279135bef688352bcbcf37d30f11366088ef3484ac0635e2417b378f07a43511d39b35fa839d35d4bd8737a98ac935effcc635691bc23595f07d3775725a37e02f2835ca1e37351c867c375cb291379c11403609a91e36a8fd8237a3e88737ee28d935e304d735ce05893664a72b3690875234ddb74f34d14a8737f13a663ca55c7c3fa7dfd93507701536a1cb0e3dfc7b763f3d2789351f65ae371db1833c9a81583fab13e43467dc5a37e7a9f13ad3d4283fe09b9a353845a53694097e3a2536f03e1714c335463c3337fca42f3a097a8d3ebf9b2735d3882a375936573a3766a83df2d00c36e4206337da9e7238a7aa393815aed835ed79963649d22c377f04e235c2eb4f340000000000000000000000000000000064ef1d36fe050036fc6f6135166357353343bb37ae65c136f7e88336ac898a367cf51c38a22be7373b1f9936d37f98363f9bb636cc814b3684f29e35503f9e3592fa0c38db711c38e9d74337878ee736f4023c37241dd237d7789037ce943b37ab08fe35e59b17379a75c136a12de0350000000000000000000000000000000000000000000000000000803f00000000eb461936e2e74d3854857f3f29995a3578c8b33794a18e38ec9c603fe6878736f12d1d381eba74380f712f3ff7989936d6dc7536c4cd9039ae64fc3e85c09d35081fe43757ad9a38a1039b3e92d6d03747ba8b36e92e3b38ced1db3df042a8373416a3352fb00638ba8ac538c8b2a83500000000000000000000000000000000000000000000000000000000000000007e887f379aecc235f178c435a303be355c86e537c71acf3430417c3476637934f2703838807a74377c47a7356a14c03526def637a40b8b376479f93693c626374d8c0d3846c4bb3761c69836082c9f36089d8737efabaa377b1a213772366537fc550138866746380da21538531d2f3800000000000000000000000000000000000000000000803f0000000000000000a59f9137c6f87f3f1635c7359105c4356f1b49387fde5a3ff8104e353e617f34657d4c3823382f3f3ea1c337a1a2b0354a42ee37a24e033f3c50b137d6880e371612d83793e5ad3e3d4a023801979c3648cd8f36cc9a2f3ec6b8c1379a071c37a01bc436cf06a73cbbee323860fb173800000000000000000000000000000000a3964f36ec31483851079e3761d782362fd89c3627273937344faa36842ba5361721b636c348273673672b3669ba2d36b8032137de63243615971236d8580c36b88831374098333708cfa636522da8369167ec3687999b37bd09f53559e597350ee1e33650c4b037995afc36bb67fd36dc411d3721f22d384fc5b037acccba37bb2ef9360451fe37559b803733498137455226364dc97b3f4414863c729c9936500c8a36fefc7f3f2ee46538052fa636ad301036f584693f311510382e5c2b364e37e33578ce3c3f490d0d389f3d113666d29236ec340c3fdbc71138ba11a936112a00345341bd3e6ba1373815488c35bc8fca362378483ed1e3fd37c1b6fc368ce9ab35c9c7c43cbb40283821a57437d68262337d822d396a4dc137b2a7ff3609ed2835232b423842ac293702148e35974efc3590dc0538a592b73661b3ef3523bc6b365c26f236311e153643e008366d854335256a66353f166335a0be4835c7ae76379532b6373c9367374510403734b2c835ac09f136cf08ea357f53db35489fad3689a88237f77da736922d873607b13536421de6374079c73518eec935ef13b9377e4412384ccc0937b7c86236f973903415f9543fac1b2c3eac699735096a93357ccd5f3f62beff3df44dee3515e1ff358d7f483ff92ac33dde0a0c362603f93442d82b3f2c15163df68f4f35fc980137cf33023f8644943cda024837b7c0b5356d46b13e562829382931e335eda3923520f8403ef560c73787f457361115a7351e93083dc869b63726cbc63587552e36acbea439e14dcf37cfb84e361b5e0538b9a0a438eaeb25388dca0836b9355337e9d55f383af2ff354a2eee353048613556855d3685cfda343521c234c4adbb35ff177d3699319f35a6c5793558833937487aba3793a8e93553d9de3517820638b75d5e386ef0ae370dd0c035d054b8353ab08f37f17ec335ca81b935973f97358ca19b355c7d9c358693933596287b37a12edf37decbc734f12f6634a8e9ca358e582c3fa417a73ee1fc4137a5c2e8352996373f622b903e1071f33510702335b3c82d3fa9c6523e3e8ec234e42c9235bf610f3f34760e3e2b1285356633df354dc4db3e6feba63dc294e335b7b9e434b1af9a3ea80fc33c50fd903665dba3355db92b3e3159d9378a71b335e2fc9035163ee93c9d719e35291c973523ccf534a5919b39540f2435fe3e833485e001362ac89d386961c035d2ae1234c462e8371c4b7738d37ad3356f3ca235bc4770370bb8f2372097a336467c9536d6127837cbb1af37e8b9d83535cecc35f6182938b7325338f9f6c936107b973603de5937b646ec37c89ede3523efd8353fac87372523263868fcb83659e5ad36f8c32a381d194938dbfe05368e9dea35a0955437f1872037f08ba73553365d35f191833500e8023f5de9f93eac9a9b34e129ec35d1850c3f32d9dd3e26d8a7357af4ae36def4033ff7d7ae3e7c099836cd0bd9359803e23e3ae1773e01eacf359d4b5c37f834a53e17a5353e62069c36680fda3525fc7a3e0834923deaa2d835d3bca836e67d123eeaf87b38c783b036bca32e376b40913cf9782338a8b7f335a428e83588c1f239426105362b59393522d743359b1ba438de9fd03412223e345886953575cf9735831c8f3515678035b51ac535a53817374ee9983582f589356d802d3844113d38daf3a03400229534c53d98376507be37bae5d9357f91d135dccac2350521683762dc9a350d75523595197335d3bf3237c39779352929143517ab2138c6011f38ede3ed359c2de3358ee16a382cab3a381ae4d5351cd1ab3552789a349b4cb23efcd1263fe4df43340c9795353024c43e2caa163f9ef4853528a1b435e32bbb3eab03ef3ec81e9135f0fba4371af4a43ea61eb43e5ae39834193ee53518e77f3e5c25753e01bcd7358fe7a9358cb2383e82fcf63dd86d813520741535499de13da97aac3b81743235c0a585370b259b3a50e6e237a67be8359de24338276d6f39f882e4373f57bb3548c7c63711262f38500a1f360a94df35ffed3637ce11a437170aa2358ea68435994f1937f2655237db1c6b35ff181c358b8b8c36bb839636cc02ac3549dc93352b39c337d5bcbe37409382362b8c6c3508fd253632edba36453be334e9b9d834e6b7273706069d3739ab083695e9f635ec40c237211d6837974a9c3585ad893518f74f37ffefa1358356923410b98534a51a5136457e3f3ea6fb4f3f3ff7f235ab79c1352d43643eee683e3fc21492358376a13699b3553e9e521a3f63ea3f35f71ce6350e61443ed593ec3ec60b9d35501b7a37d3b2243e6dff9f3e916e7b35fb0c6b359190e73de965373ecbf4d93499b12036c067843d12d7683d5612f835ecb656376bfc6a3a2f97b9362f389135aafe4737caf65a3857f1ee3426d88d346d24c3373c51dc373074673393566333b128003848eeab371ad2a035e74195350077b13722bb3d37d90bb536c9a39b365fc0e9373e56c437508ecd32aef7cb328893d537ae5fd537d2cd8536a8ef5e36ce96b8379462f537725fd935e91acf3584a19d3787e714387d7216367fc1d83571678537ff396237081f9336538682361ff88437288b5d3669012f36439b16360952453798d72e3db700753faa885d335648ac377753a03d0cca653f40b69d35a9a33c3756506c3d851a3f3f4778a736e4f18f3779223d3d9785153fca95cd3232d07337ba20da3c2d03da3eb55776369d1f0c378798b93a6ba4853ec55fd235dba63a3667ee2d3a5d67b23db4d20136f5e21537da5e8438d235b8371ba68836c16cc83700ca643815294c3602081e360000000000000000000000000000000065d930380f7b07382407d735098dd2354693c5373a169c3724bee4348e9cbd34050d0138afdd1d38984d69366b1732362d03d437a4b90c38069c0a37dae11f36a2850038eef25738b3aece373d38de359772d93552ec3938af2aeb37adef9135798ecf3590bfb437138a8237b435cf350000000000000000000000000000000000000000000000000000803f000000001b932238d5e9ae396c9d7a3fe1c3d835a3349437781cba3959ff533f9b09d8348cc08c37761290385bfe283fd4c0583678ff8737690a80381d4df93eb1678336d6996b37464d7b387c72a13ea97bab372d03ea3435f755383f69143e0160ad37a038c735dc78ac37d41a8338bef8b8360000000000000000000000000000000000000000000000000000000000000000e6e8ed374283e936924a0f36dadc6c35539b23380f3ba6373254993606a48836486b1938b05a61375b1c7e3611cb6d36d7e03438a7b307389113e936a9f198362f591d3822fa1a386f01af3745e8843793e28b37e41b133827a14a3776c9b73682d8c737207481396e37e637b9eca93700000000000000000000000000000000000000000000803f0000000000000000b5860738cd21723f9ef6b036fd60d73552202d3868794c3f39ac5a373f0896368635ca3780ff273f0d64e13675f57b363253c937558a023fc93ec237c28cd336ac17ea37d4fbba3e480b0e382f2a9f37ec6d0e36fe0a5e3e7dca06386df9fb369edb7335bd909b3d958835384924bf370000000000000000000000000000000058b6bc366b251f3c46b58737d828e43640e2f437030bd83903849a35da818f35de952c383aab76380b5ab836d243b336f7365e37f5db3c38d3a86f3676eb5c363e40eb3752b4f93834b9b23750f2cf369c2bd2373ec554382737af37338b8736e5b57537284466380d18ce370b8b213716257737af444f3a83d90c38d2f2dd3777f004385976533a17804838b818133893d7a536f77a6d3f97697f3d03d1f636b9345b35a3ac6d3f52a61d3d197492350ef1a83643254a3f4829d93c3fb4b736bc894d36988a263f3c15803c8783683659b1ae36baba003f6bc5133c260f6e3717544f363e6bbb3e3bd86038517b3d37187642362ea0653e80577f38d83f6937d43bdf358eccb53da121da396cf6ed372e71913609da403cdcac49398da1203827876636ca4f6c3c30fe2437f0b46f36614b2838f3b68f395a47793531d56b35b5fb1638cf14b7380ab50e365d27df35eeca37389e90253917058137733fc8360ec008384f24e539c5276a3679e030362d7c8637a671a139122d913607fa8d363c65f53788d3db39fa80e73797de77378ae4f53621156838b4ee2637941e9636d32b12389c2285384e8e2f37bf54c4361fc04436913e483fe3da4f3ef9767236c6d77335366c4b3fc575303e9821753575e1e535649d283fad3b133e0359ff358d01ec368650103fc428d23dff9dd336d05629364197de3ee2599b3dfd2251366fc5443685ada53ec49e2b3dbdda8e36b756e036db08533eaca5863c4b6491378c55643620ecb43d12a9153882779636d5e1a436ca214f3c994d0d38d059e13632e4aa3715ea473c3ea06637e037773694ccae37bcbf3138af829b3626957a36e7f280381a76ae38ab761d36323f0e36caf94838d66a4f3981d69336ecc87236ad224f38c2498639671ac43540b49e35c5670b3802e48038c5e6ad36115692366fc1053818159d39275eb4378496b13581005e384b13283aac59d2378839a535fdc22938795d503857aa8236363c723636a0a43654aa233fdd67ac3e6f73d93636a5ae36cc4c273f3aab953e4b4f8936fbed023758e5103fe0b1713ea0dc1736654a1437be1af23ec65d3c3ee575883605faad35eec9bd3eefc20b3e9da0b93596888836bb038d3e692bab3de8c69c36e2e7a8356b62363ea482183deab2b2358cee5b3562a3a83d75d6a0384819aa359e9fe336db57313c33aa8437c0ee7b3656fedc37409ecf39e2bf7a3796835c36224d07380acb3638225bce35d02988357479c5372b890e38eb054b364d292536b1bd19388b794438d65f343621b813367c165f387e32933872a6d537df274536780ffd37fd395d3808c95836649140363685973761901c3812216636e0c64d3644a4e23714c43338526db236c2efe0356d941238c0b71238a5398636da1161366a8897360ee2003f172bf83e4c006c36641c1d371af9023f22e8d53ebdc1a6358f1e6436fb76e23ec608b23e8ef03a36f989e436c233c13e21e38a3e3d37203698091838948b933e38c9583e41494837782e3d36ceec633e99c7033eb3564e364ce25236de04133ea4b1873db62b5b36fff135367a49903d4e761938dc7ff935dfddbd37daed393cf824c337779e6d36229fcb3719d1e439637c6e36c9334636e7b18e38174dc2391ec15a3579874b35394f4a38de115b3810e0a83554939f3525514038430b52383d567936b6665a361b077938253189387c3b98351918873584c352389ae3813875049c36a7647b36ff886b388900a1384c0f25365b501b3691a6ab374ccf1738b421a736dae18f36849d8438ea934638f3b69236acee5536c8cf7c3639c8b93e4835203f8b635a36c0390138718abe3ed05a0b3f6ae15635f09eed3781e7a83e3cace83e4ccaa435bbbda4376d868f3e0d93b83ea6a364362bbdab376059633e15818a3e36b28f35956f8037aabd2a3e1071343e49cc8e36eef8e636ee81da3dc398ba3d32e620368533b7368bb65d3dd373fb37dad9963659c50a3819843e3c81802f3757c16d36db981838f591a6387ec38a36d696193616aae437f7d0cc37e6b04f36dc5b1236984e5238009e443869a261368b3a033626f809385b8f07388cbe2f36b12bea35cb6d3138fb8b3e3895a9d735fc3b3535dbb65438ab4d6e387146cf36a492ac3664dd1838a0a044387232e5356c85ae35090626389d1c723813c67535f2d0633548a30f38162f50375ced4636df5d1036537f323717bd613e9046443ffe932f36bb474c37550d703e715b2d3f48d0373661881038e6ec583e7daa103f99a63f36802d46378b033d3eec3ae63e7ff81136d6d894377234123ed743b13ef2f77735da46fb37ea85df3d9b9c653e5162c33647e20737c82d8d3d049a033e4127bc3567de4f36675a043de0d8d339c9f76e354db1a537cab8ba39076e65367e412e362969823829a880380bd366363f23f93578db1e38e15de1377203ac356793773566723138ce1afe3795033d360b6c2c36430a453884bb203865953f3632f22036675d1d3898491038baf44735571e3b3516dfff3760da1f38001c423616700f36b82e4b38339356388672a336dcd78e3613b4ec37ed9f3138143b57350d574635be599b377fcbbd36d2349f363dd27e3699605338570ca13de989683f1a9d1d36164714389d4fc83d74df4f3f631d8735d80a13386f52bf3daba22e3f1cea37362e6a0e38771bb23db4f20b3f4f9c3136907cfb37a7028d3d2493d63ea46742355a48d6368d234a3d6c97913e06272f365ee2e23779cdc63c7331233ebae69b36fa59413701f0913cdca6723c8e165535cc57aa3721c42b3913e8b5364e04933600000000000000000000000000000000e3094a3800243138339a6c3531295735a8661238817be637134adb352c43943595891a38ab432c3818cc7837443b8e361e800338445978382075e53628008635e8193337368c4638d8dcdd3673518a36c3449f372fd12c381cc90038b02b2137546bda368609fd376008e637669912370000000000000000000000000000000000000000000000000000803f00000000bc260c385f6cc63a1d0b6c3f3e876835b9bbcc373253073c264f463f3eb8b735272deb37d7172b3aca4d223f38ef033730850f377953b13897cbfa3ee3f6b03642d58436ea367238f2eeaf3ebfdc8f36ec65c7369cf91d38cadb4d3e4c0fb83797585b36b27baa3701795d3d2a1a9b370000000000000000000000000000000000000000000000000000000000000000f0cea3353ab998354b3fae35764fd735e8238434c9099d3460fb07357c3324354fe912361b83a135d6c384358f1cc5353d314c377d9b3d36fa0e7736f1fda636cfbb5237c0d58233584e5433d0b24533a33f2d36bbd1eb35b09a9135e378e03555724537eca0153708850b37e608223700000000000000000000000000000000000000000000803f00000000000000000a79b1352c11803f59cc91353852ac35c8d9da343031633f0dd4043588f317358906f8351930323f89ff0036dd73c93508655c371165013f79af5b3656238f366b6d273309af9f3e7406393331cc5033fb5d0d364cdaf53d5c541936facfb535836e2c3747aa743ce07c1537a6aa1537000000000000000000000000000000002cc60e343db77f38fedbdd37c8986737679e3536b76e2b3648253436c9923c36b2f9a531b0c2d83220f7ef34ace1cc33c5921c336cd01033bac42133d3be3a334fd27d36685b6d3621c56536c6146e36d3a3163332cf0e333ba41c3307ea1833ef87fb324da2fb32ce730a33a5ca0b333f77c5369983ab36ed2da636354faa36239dce35fbff1f36f35c0b361856d535eef3f833a921803fcc3a1439abc84b37fdca13364c11803f860d35389e94333673be51319861693fc9c8f037eb91c23409c82e3306783d3fe80c1f3342b344336a8960367cb60c3fe71593378aff433658311c330af7b73ef7d5603612831633205c0a33baca2b3e553c7e3795d11433eaa88f3630163e3dc87e2c372faa9936d2da6635566473376344ff35c538dd35da5d1c337c892b38520d4c37150d1b33003b613609cba23792e1ce368caa8036785bf335ae20e335390ff835f4b4f0353b22a8359a0d8c354ea48935215d7b352e4e9f369c70083683ba1b3682b3b33661120236b7caf435f4d60d366dca023661b7883525fe873581389135a7978635d59b7b3640ea81348cea70341db62d34fa347f36cb12813716ac4f35708558350170fc329cdd613f0451f43d02c823337d5cc435f117643f812eb93da5194536fec0fd35b414603f5edab53c100af635e725703504bb353f083caa3834ef8835ed68e435047e073f32c99d38cccddb3572b909363fafb13e49fa7b3868e60e367de88035ccc71f3ec05317382da88d3529133434fe40f03ce5094637a2386d3487d82c358ddf8738ed8fd236adb354357890b235df0031381f26c635b622963583c79535756a1936d40536350d7b4c3549de9d3597e0b435e4bc9735dc5eb135d08d0c3669491b3674ae18366c27ff3574f755377f210c37df1ca93661ec1a37717944346c1d1b34885b7c34afbb02343671de35e6c7e53518f2e73596e6c035139586379fcb6937c008a73649eedb369ef217380a5526387bc3323703734237c9529035f85a323f0af69b3e8adfa335480b1c352b0c363ffaee8a3e6aaf2235884095352870333fa30b353e6f228d350c1804368d111c3fe87ebf3de0b30936dc114f3631fdf23e7de2e93cffc8a736b7348134ab17a53e6120a1380a8a2734a88cd335a4e91a3e9c16373891b4c5355e059636ddc2ae3c5818ae371ba9b036da74883254a6ba38e19b0b380e23c932f9b42d345fe217380aabf533f37f11340b337d3633209b367e3a26367676543690ad92349e5dc934ed759834c4af0534ef7f293336fa3633c3054833e2672d333d746f36e204653673535536f8025a3616092833f18b233359a632332c0d2f33fbbf213509fa3635f8a19e34bd3c2834e3f86b364b957b36fc386136acc15d36c93f81348e9b82342dc68e340e4a1b3417281f34fe5d013ff006fe3ee08f1034f5812f362e8a093f42a5e33ebadff9358514c333b683053f5c56b03ec67ed3335a6d38337701f63e620d663e2e2e3b33dba65c36c7f8b73e75dd103ef9894336e34f3433dfae8e3e96ec9f3c368c30334f7d1535738b0b3edde8c23673a072345a4e7b369a96a33cdef878364ba93a3674871c3478de6c38cdbc6634584e0f349c0bd1378210b238e88dde32bb8cd8321939bb368d1e01388df777362ff79c369203d7356c53d335ca38c7356940c235b1910a34fc2e0634978d0c34f2a80834d874bf37cf0bbe371cbf8d367625b7368c920e36c25d0f36f42c1b36221f0c36877d9535795a8c351de69135d9fc99353f2fcf36dd75af35f4369835fa5ac2359253a7354f86aa3500ffbd354a4cb83541b0a832067da13e13ae2f3f5e8edd32edc98e3665a3b63e7ab41f3fd6ba4d36b707ec35fbf4b43e5c8cfe3e3e3cc63566bce133f969a33ec210b93e13b21034f6fa9136d0b08f3e6160603ef8b77436eee51f36b3b55d3e785ba73d42d11b36a5529b3549c0ff3d3e8e5e3811fba235bc156635afd49f3c19ae3e3753e3553575d5b335f83447384e1da535eef8c1359158c037b57da1385b561e35f1e4013533009d34755d61377411743489277134e28c84359d049d35662e7035bbf59735d94df635e4310936789003364000e035933481376cbc61372ef2f335951cf935c02b1537c9209d37d9508b357619933570dcb937b896ff374a7f03365213e535e9c7ee37962bc03763193936c74b6b3663b97c37662c3a36431e193383910333e15722358f5b053efed55e3f9f7cec34bdf05134574b2c3ecacf4d3fe336e733cdcf7c35d0a71f3edcde303fa65f6a3572c1eb353833223e7d6dfe3e6139eb35ae64ee35dbf40a3ef483ac3e22bfe7352c319a35d3e0073eb936243ee32e9435b1a5ec3570d9d43dac9e0b3a1031ee35c04f4a371630a73cd72c1b38ad6947360230cc345cc680383b62ef328ae80e3480ed15369535e536ec22bd340e2d963549f2d2364617ee36c7e52d36bc947d36175cef3262fafb3207f3fd32cca3fb32b1c214337ee92233c8c32f33b19512338aa32b37ac12263743fa463675025336c51f0f33b45222331eb51a33f9981933c8cf4535166a89377e3e9431356390318ac02c3757aa59375e0c2d362a9b2f36e1374a38e988183886c5ef33feb200347657ec35683d713c1b937c3f28b3b4325a88b336906e293dd7cf693f8f7ae935a4080133637dd33c65c14e3f77c30833e8b41e3315047a3c358b203f34d91e3384d187364f871d3cdfb8e23ec90a2e36e5301b33a83cef3a0be8843ea1c73333c01b3f3522de203ca0c7a33dc1dead32a9d84136297959397fc93638b39d2b365d43153881a3c63822266f377865ee33000000000000000000000000000000001cbc22371cd70a373e36d236d3bced36c2ca0536df84e0358f132835c923833519ee2c3667f3623366216b336bcf65336c5d3537e11b1037ecf231367e223d3630f70336bf230636ee09d635c4abae35a95dbb3480e16e34ac56a634e38ce13466a01336c6397b37a4efab355268ae350000000000000000000000000000000000000000000000000000803f000000001c231837339cd23759787c3f99efcf368b5a063619a646363986613f126abd33147e4133a86582384890303f49b574337ee683366b611738a515fe3eab4149362677d5354049eb365e2e9c3ea4dd36353c05c43408dcf236c879ea3d943fc03429c9a03577c10d38281edd39d2b2c435000000000000000000000000000000000000000000000000000000000000000092fa983678f45d3630705d36c24f95360c7895370a4182368e7d6036b39d9236230516382e9c5836058a3f3618887a3681d7a837e29dda363f7bd436a7faeb36e1c984363af07736ea94453675046536ffb49a37039b6c3620043c36e04c5836ecf537377530a63665508d36cf1ba83600000000000000000000000000000000000000000000803f000000000000000056f09236b7ea7f3f97db5d3635b6783698d0de37eedb5a3f56d27936e4ef8636da8901382e0a2f3f92964e36f059593687436f375fef023ff841dd367df1d036bd803d3682d4ab3e1c066a366ccd613683b747367f47243ed3c54b36ab934a369c2c8f3662572f3daf099336a7858d36000000000000000000000000000000007778d63553620c3a8448c73755a6c7350000000097dba9360000000000000000e25a6f3607248136dc976e369f5d5f363da82836e40a1c36ea692636375f173600000000000000000000000000000000055cb536d1934d368dcf3e36e0cb3636f35f6436064120365f59d03596f8b035247d1d37c86d9d360000000000000000aba8c837e38fb937b33248371f0a4d37270d8a35b17f793f9fadc33c7a2cdf3500000000c85f7d3fdb22e53700000000522d5936cb5d763fa93e7d3641a3673646991f36f57f473ffe52323665761e36000000008fb2193f00000000000000005ad631367e07cd3ec453483655583c36cf04ca35ab73603e416810368ecdcf3500000000e78dc03dd07fbb34000000004b724737adc1293c104a92372ca4283790402334babbfa3ab4bf4d35b4bc39341b917a3471c1583777da8b3411ed18342e097c3530ea1336699358357a02243344ad4135e0872a35b39d0d354bdb29359ee9bb35e544bc35c8b7b235a952a6354a835836ff6653360e2782356eb59e355ce23035b44b2235d821d4346acfe734925d8a370bdc8d35c9747d35f4f67535971e9c37e1db1237ac17e536ca790137f787f83303e8523f4fba283ec2cf563474d65f34a2bc5b3fcc16b53d07cb7d3400000000b6eb5e3f9e6b0b39b8790435b6304d358de6453fa9e00336ef3d36359f47be3593e3163f46adb835d3c3b13531c6ba35955bd83e6f642c365f926d35e0d53535dc18723e80382335e731013545b895350a24b73d1a988635fa738135b3f7d2364b20093db39dee36cf0ede36e09cd336824fe63aebc1e236ab5ca5362da49435c2dc1938a901a4353396b235ca1a943584008b37ed02ce3501be573591da4b36fb469036c0946636205d3436ed27023633741736f940c435ce67b135499fbe3694b6a03685c307360e50cb35b4a99537d1081436cf7f0f35723b93351282a337cf18103561ba0234d15a2d34f283be37b1c4b1364e8a09364873c035ae7dab36851d2b3fb18ca73e2811bb3673ee8a35e7f7323fdc91763e0722b835f80e58354b52343fc8c0df3d00449135c4980c36b7b7303fb406a5389c5c423646549635a54a0f3fa91b26385f18af35ec63ed359712ca3e390d9636dd0ce83594fb57355f30723efa6bd83504bff0344cfdc833c31cac3d9e9a3f346763b333f440343661a4b63c383a803608a7a5355d4a51367d09183b2887513695971b365ee80d32b8e1bf3aeb1a223252d1213236214236c1330f38ab9e21369f7516366185a236daf43b3851619c366f9a8e36b5520835e2916937d7d06933f5c85733b677ab364b6ead36b3b6993604a89536f3433636b2ac33361d5726364ce411368a79163279da0e321f081432cd64f731bbdb4837c323c736810c3336a6ba25365fdf143608fdfd3edea8f53e14d132368c3b08328db0083f0e83c73ed9e8213290aa2736c0d9073feac3843e99a60f3633bc95361b16073f8d22e83d03d49336854a54338ef7e93e42cc313d04c15e334cc4a136088cb83efd4ba936ca959336185c37366012583efb5d3a36eb6a233660bf11327fc99c3db2191432fed2043275b65736f1f3be3cbe5b41362f091e36ab97833600da1c3b284827368fc44c340cfc2334634edd389f1af533d105bc30168c2336f548ed38000000000000000036db5a36a9640d383e6e0836875592355da1203639e869380716d035db2c9e35d39da336002d01377da7f53519aaaf3552c02b3696b74a36c8d16d35308874358f9daa357300a335fe228d3559c986357ae70c37748f01373c47ab36aea0cc3653e20536227da83e7097253fb0b11535d45e0d34d2a8bd3ef1d60b3f4d639d334e990b35af32bc3e2857cb3e00000000d2d92036beb4b53ef7ba803e67d7a0355390b23551ffae3ef1daca3d6a179a3592c95e364a0f9f3e6b1dc937fa85c335240e1736df9d3f3e92952036018371351fc0b335c1ec793de3d096359f0f8b351a06ed362d6c553bfda4ba36a4baa936e16df63686cbd13a84b0be367fdf4f363c28813505b6cb385b968c35275e8a35e9792235a0b7193782b60235945a8134f591243635978e3613a4e83400000000b27bae35c36f9d37969cba35bc01b53589d97235a2d839380dac1e3575f88d345eb1d03592dc1f37000000000000000081815a34f0f0423478fd8034ecca4934dd93cf37f707b23486f41534d4ab9a33b7abd9360014223e8f9d4e3f2b0a7536e9837135d828543e5240343ff49090359b1c0135f565473e08eb113f53a8c834d3dfbd35b92c423e6e0bc73e00000000ae3ba63514742e3ed32e773e6209b7352b7c1335491a2e3e79eb6a3d69891935623bac359517053ed615cf3700000000276b5634781e5e3d08f28e34582afc33084440364eee1c3ca1a42b347afcc633a0a6ad375a09973a1e4bb536fdf37836e40c8f35aaa0a437000000000000000020c43e36ed962038f58d8e3593425f35d5a34d36a18ff637cca30f360ef30c36000000009519943700000000000000009e764336f1ec9838d88e0e36ec1a0436cab97936de0d923739f95736f2864836f93e1e36f17220370000000000000000b2092d381a8e013713929e35f08bad35224a5e37ba43203d1517733f1fee8f36000000001e2f8d3de578563f0000000005dd0b3648bf8d3d3567363f89845d358e234a36bb12563dc94b0c3fc8d806360000000023fe7f3cf1dcc43e00000000023b32366ad5ea3aa44a613e0b5f06367b318336dfaa073b4d39133d8a955036000000009ea62c3c486d793400000000710410383ebed53a7b98b235c4d5943500000000000000000000000000000000374ba53684a1a5376e8f2636845dab35dd568236f01003381db08f35440c0934785e8436f53525379bf8903502ef6b35911601378d071d387963d1369bdac536a848d9369a728538a938e33634fc2336c789ab3626022238d34a11372e5a9d364e629836e1cf82370e129a3674aa85360000000000000000000000000000000000000000000000000000803f000000005b5b93360a98ed37c63a753fe5b1e53508385136eafb673892fd563ff372aa34641c6f365afafc3787542a3ffa596a3563a2e536096d2438af98fa3e0211ce364fe56a36346493385948a23e5bb15136459394364c69d637f03d153e6da09e367dc388366c0906374de0bb3a1fbe95360000000000000000000000000000000000000000000000000000000000000000b5372f38ceb9b836369cc5342a6a4b33c5d1bf378c35b8324bb4b932215abb3289cef63766fe8636ac396d36b3705b36ed23cc38ca0dab32b076b7329808c2323daad737e0bc3f35288cea341f212834e595f7375a68ae360b06a536de2da43677fcb0389693fd36cbf58835fd13953500000000000000000000000000000000000000000000803f0000000000000000a2f72138b7e4773f85cd3d3516396134fcf106385ddb4e3f2f45b83272cbba3265f5a437296a293f5d1c7b36774568361eb093324a66043fdcf3ac32be7db832bfe442351ddabc3eea6a23351a104e346d55a63619a7513eec12a836fe68a43673f841355b87803d277d8235fe398d350000000000000000000000000000000046b5d4359488ca3c07457d37f8493436e642a535dc2020380e9c21363b722436f43e86370000000000000000c2f10431ccd8bb374fca6a31d9707931bcad8231f797f637a2ebcc354af453357319b93477aa8638afc09036093a813328b88933ec1ae53777436736fbfe1336ef120b364f6b1e37c0de2337d8b629360cc32636235421389e332d3843a2fc33b55e0234048b2e35cb41693feabd7b3dc22c33362d8ecb348da77a3fc7b7d03784ff1e3600000000051a703f0000000000000000271e4e311a7a453fdf3c6d3178ea7a31e5a90d35726b193fbad3c535344f1f35e2055233e479dc3e365676333f2685333af8c5351edd883e193b1936cffe1236f594a435c74ed13d9e543736ac4e29365fd5e3335c0e473dcb250e37838700346305c0310a0c123d06f41b32db503732963f45353262ce3a29821336110df63497f3ce3601ae803864d3b535f7bea8352987e0378130ba371d12a13303719733047ef237f72aa437fbf8f63476bb9934e1fd113648ffbc35b13a22353c7cf83413ad253808aa9636e0d40f363e3dec3534b076373fa82537e4fcb33460b9be34a11955383b2215376a7db93457d3bd3456c19231e310413f2dde3f3ed3df2132ef6fd5335832533f9b00fa3d8348ab357ab84a350cb2543f91149f3c01adb0357e5fb13300133c3f029cc83480ce9e3323ac11352bbd103f3310af3558289a346b4e0c35e2efd93ebb7a4a358e820835c60acd3591dd863e7172413661a0f735c44a4e34145d073e72c1a7341eafb6349549ae34cb246d3dcce8b73461eebb34409a2e35d305ee3cc11786352efc6735ce61ad3424c3153b2932c134ed0bc93440b61134907334397f922434e6b02a34820247383a5eaa38f06cf6357292bb35becfed36ff01a137fbcf7a34cc4c813429129c383aa53d372a8dbe339133c2331a6d0b38d2883c375c6b8e3659c18136069a6f385c9db336f3ab613445d34634cadb70384c7dd2333509cc33f559c33388bfb9343d9b1e3f59cba63e96c370355359a5346e432a3fd6ac753e5537c53400d909347ac22f3f11f5e73d8fe52534a8a8ef35df3b273fa2f9133dce1ce035387d6634ff12083f539a78343d448034a089d4343c31cc3e3574b8338d74bd33e2b39e36f691843ee334983688fa893699264534f08f083eb6256934f1475334ef05db33a91b353d16edd3339d63ca33693cc031fd7bf13c86c2b63141bd0332c6b7a93599a36c3b66699035a181393500000000cec7cd39000000000000000058d9cd3665fc8e3801f06432aae35932874a923749b1b239cc95f13555927335164409383b671938981c723281217532cf52023856b1f73500000000000000000fa18537daf4f936ed9544351156b2349037b837f4b0bd31ee51be31b028be310d4bbf31f75ef33e3ee9ea3e19e4b2313836473598ac023f9d0cbc3e3a126b350000000065cf053ff1387e3e0000000012b67232a428043fb8fd003ee57360329b1d08368230d13e1633bb3dde15b9356e016932ad84b73e1ebb2e376fdd733200000000f6be6a3e000000000000000060618a357cbcf43dcd1a9b35256518353e11bb31c23d193d94dbbd31aa86be31f6acd333be67943bd824da332bfed83385ff5b340ad30a3bd07d4f34ef6919342312b1365b1f0d3a2633943662f68136ba93b833fd79d93997ca0735d917ca3313f07434da11003a217e6134de115834e5d864387507b8385bfbe435d1d5c535b25d2437e9861134c32a06349ff2f4332c89f3359827ac34f97ba0341d729634dbf70d382902693579cf9434c29248347193d03349b0ad3e7dcb1c3f6a86da33b50f5234e13bbb3e4fcbff3e7a002f34fb3a903649e6bd3eeaa1bd3ef5de8c36a13eba33aed5bb3e052d703e39d9c334541379349fd5b13e07e7f83dc5906134fafdf1357cc4993e4ad32a3c8effd4354957203462a94d3e623d0d34149402343693be347a6dbf3dba38a934cf549e34d66a6f352e15d73caaa51d35512351340c8db73421f9463b3be7ab34253aa4343bdf95344cebc13a846d4f34ceed4d3417115c3650782e3aa298223553c6d632a00e313592ebb33989880335d34ab73266c1a8354a8f223aeee9833443cb7a343671ab3324670c391a0fb833a212bc338d2e293872a7353865833c3551db0d34281ea638692abb353574b833da520133d8570132746cbc31068e8431b23c153187a2b9349d9e433e49b03f3f5624a9349a57a634737c693e169a233fca6e4f3493751c363c7c633e00b6033f32a0ca3232c21b351f3e5c3e9023b83ee39f993409134335b20b4e3e941f6f3e1dde8034540ca4334234413e86cc9d3dce62b533f980ab35dda7193e7ac9a037f413013512ac1336c019553dbd40e034e65b2b33c63f10329995bf3c6a47a7313caa53311f7ccd375dd82f3acf41e1335844d33339fa5f366ac91d3a0be88d351b0162347c373d36c64fea38ee6e9835637d513460977333e9d125396b94503382f738336b46c735a0d132398f239533ffb68333a61c6731da80bd38a6c74631223636310000000070f404390000000000000000002c0d36b468d7353101a434000000000904f538fcb13f3732b9d534462af430686ffc332cee7c3d0fa6633fea60da331bc12c36a68ad53d42194b3f354f4335a34f1336fc4bb13d5784253fecd4393588ac7e33c09d8f3d8ed4ff3e30414133dca2913557fc393df919b63e41668e3317c36e315d50a03c6f7c563ecd1f4131000000002bf4033c2acc5e3d000000005b9a1a36b125ad3c0dbf9f35c4a1e533f30687383a58493ba8b6a93576c28d3300000000000000000000000000000000e9b57c351e674a3a3a22323534dbb5344ac1a8361455bf38aed1a2362b3f8a36b6e1433506b6c8383e0e183519dea1349938a7329858423ac9d58d324c428132f7e88136eb42c43939e895366d108c365ddcbc32f2a8a8381a37b4321ca809337e185a35381d6138a11601380534d6350000000000000000000000000000000000000000000000000000803f00000000534489354b827e3c2ce06b3f08280735770da436fa55513cbc62483facbe9a364a9c2935982d6e38ac93213f1e33e5342580ad329cec0539ba5df73e757d89329caa6d36cf189b37cc2bad3ea39891361c7abb32d411bb32ad08453e0ca0fb320d831535af570c3880bb023dce2d6b37000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c452a835d5576a3507dac53545abec353bbef8349b0f82345005b53448031d359832213458db033434b52d347927753406dc0e364229f335da1217368304263681542535522cbc34b47d8d34a6e45b356ada3933b01980331443b033bf33fb3200000000000000000000000000000000000000000000803f0000000000000000000000005846783f0000000000000000b5add835592d5a3ff39b783544ef843543232635df812a3f7a5dfe330dc0be3492223534730bf53eaedbae34da9c493461412036347b943e676cf53540d6db3566323e35c451ff3dcaaefa327564d634752ee4327b8cbc3c87618134cd1678330000000000000000000000000000000061740135ca1614359bf65c358d342835bffd0f36823f0a3694e7293621dc533651adb735e905d235920ae43506e7fb35a8da8e356eaa3a35b0a27f35574cf735018f4e35c11e0535798e783567dfd43516b9c2358e3fcd35b1f3f635e8dd0636ea77b935cf439b3567ecab35895517364a6fe635e91ee4351274fc35cb0a1a36774a84352e018635c064a235e52bb635acd5dc343ae4793f258a0e3db2a51735ffbae7353414803f8097873aaa281d36acdba5350f58633f71dc0536b493aa35dda6aa35333e373f76c095394c92b835b34b233599850c3f94bd5235a09135355a04cf35a194be3e039ae23975dbac35c26bf435be2e3f3e38d01e3a19d5d4355d06d6354feb953d8efad035fb98e435ae5ca235e0beba38b45a6c35acee463519918535ae70b4355b58aa35454a873503174334429e1d344e4834348889f333b37aa833ebad19341c161e34f0497f33345e36350143373550ea2235426137353d623b3423d8a033916c8e320000000055c1863444f4613461fe2534aed93934433d6835ed317335088e5f35936f6e35778d943495203e3447ad0f343674b333a2568f34d36e633498520d3410df2b34084975353ec55a3f9448213ea62b6b353868283463e95e3fe1fee83da4ae16341ab35433e8745d3f2800ac3c263697327bf141359994373f6a0c983bc1f64c354a702034c9f10c3f3eb15b3bd9563633b2ff7d34633eba3e4ea9bf3a6faa2834bf355e35d49d333e0eb0343b73606f359b528734e774333d94b80139e4c317342a1b1434b1a7d639864b61368419af334709a834ee37fb34308af634aeb4c034884fd033018df133311df633a86e1b34b62d9835887f8a35d451803588fc7d35cacb96344804b6345155c834fbb6b4342d9dcf3398060334f5812734c6b0e833aeae0536b249f335a5b9003644050a3600000000000000000000000000000000a8083c34cb8a2a3432663934b98c37348b41ea35fe7df13570bdfe35fc6af035378a853434fb2d3f1712aa3e49d4f334e35ee533dc34343f88ed8e3e525b093405da6035d820313f0028283e8e876235a7d89c34d8db233f635a813d1bc5c334d3d778338ee7023fb51b0c3c564dce33ad76fa35b24aac3ef10ab83b06f3b33500000000bba42c3e799a853900000000e3d30234b3af043d43bb4736f9b21f349005d335b1032039322cf035860ce735209b7435b74f9a353afcab35878423354267093690e00f36065a1a36edf41736245b63354da0b235f31667354a1c69352eaa1235c99f3535e1901c3545915f351f145f35d4794f358fcd8a358be6b635debe2135a8638035e3ee4e35477252356b9f2635a3fd6335564c4e35f7bca535077c0636c149023688c00136d0e4153675a165354baf7535e3dd7c35e596853516b63b35e0bffb3e9b6c043fd9d10f35b77bcc35fa6e083fa915e63e6933e835ba430a358908073f2d47a83e2f0ff43457570f35192dfe3eb60a4a3e8fe91835a5cf1a35e5e0d73ea12dad3de87160353fc72b351d1ba13ead10e23b0b3302357ff14f356ee9213e7481233a79a345355c7f01369389fc3c9e500636a73df535d2c28735fae2423a13a638354a5f3b355a43b6357609eb3576aec13580ed933525dc6e3453ad4b344e810b34f95018340e88bc31000000000000000000000000b525d0354fbed535113bc0359bc0c43575536b34e0d30734c7408433fd283d3204dbc434cef8bc3430fda6345634953422fb7b351fc4873538a97b3583e77c353db671340e7c18346518dd33ef7e5733e5b8db3426becd34ee35ac34d6c4c53412d7ca35d2df9d3e748a333fbd4c563522ae5834209ab73ef9871e3fcf0af533000000005813b33ecec8fc3e00000000017db735b56fac3ec5abab3e8ab1a93545bb5634f6619b3ee547433e04f03c33a6d6a2344865853e754e4f3da803a53496a0713538cd1d3e8ed6953a5f8882354a4960346df0e83c5060b336de93e5333db0af34736a9f34a3b0903437659b343c9923345845933436f82a348a230c349a350934230f1634e80f1d349ce13e347b3f643546906e3590ef5035313734355c0dde3386db5134ce0c543438740534c6379731510113338d224833684528338d19883512d95635d76e2935338132354acd9233b386c2333b2fab30dae43c33f1fb0934fd393a3419842834e6861f34abc3b03580e6af3505d4b4352f52b435b921fb338ce0133e4e615d3fbb516034432e18343396363e96084a3f5c2b263494b4513534c0293e925f2b3f11c83735df2111343ac8143e6171003f8b9f32347d570c334cc2073e5f74a93e6f3f7b334cf37935de15063ec51f243e241a19357ab08b337bb5dd3d49178c3c2e231431f6afbf333ef3d13c7c8160348702da33c1eead358d91bf35e49cab3522cc8c35d2a2a535b39ec435af01c035193a5b3592a30736285b0936bf20f4359c79eb3561730436d54009363083bc35e504ca35bbe2bc359784de350c4aa83560dbbd352c6e7a35470c8135dd516735bf1a95355de2ca35625dcc35b7cd90359618a3350e04b6356f74d63572c4b635203ee635d65e213689fa1d36fea41336ca60243606f966358fe93d35fd7d47359abb01354b6c8535ff82cc3c2f607b3f55d52c352a80eb35c953223d7c1e653f96f59a3587d9e535c10cb23c9e4b4d3fcede99350300b9350730933bb3a2223f71eba7351f593d35da89253b3c0fec3ebbab0035d4c7cf35216ca63ad1fd963e98d380354950be356c3cd8398926f93d0d6eb935d219193646c3c83a4cbf8d3a06a60636f3616035e16d5535526e1a35faef9c340000000000000000000000000000000008f84534225ddf3330c6b132000000005910673535cb6635234319350cafd634cd63d235387102366c92b935349cad3577ddcc340bd47b344795e933ec6da3338b9d1735198833357352fd346ef4b9346eef8a3532b19f3500fd6835f92ba935000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000005c0c1634e42a52360c267c3fb1cc223324798c35f8149d354665623fc1a3d334f0470336273017366677393fbc51cf35fab3ae342262003584f1083fa5fb2d346ee24035acff6435b760b13e49d1d4340e339135c169b2357c0f263eb046a73500000000000000006d8b273d000000000000000000000000000000000000000000000000000000000000000000000000e8371236754f0b361f42d335e51cd935ab3d8c354f36b334f987fe33d9f8df34269bb6353d735835e10c793569e08835b3daa235f879b235b6b6823589f9833500000000000000000000000000000000311d4a37242f08368351fc35e732f33506444e353d1d5035124d0635ff16d63400000000000000000000000000000000000000000000803f0000000000000000ffbe5737cdcc7b3fe7c4ff35a90fd235304f9e351254553f64db5d342835fa34ec52b43564592a3fb4ba89351100503532facc35b8c7fc3ef29e9735afe77a35000000002e95a23e0000000000000000ccf5283692a71b3e3e231136f47de23522ee8635dc175b3d27083f35231fe43400000000000000000000000000000000240f8e321d42983ab2974137291c0f329420593428265e34a3362034526bf5338b43b23433b4df342d98e334da0fa934d41d3f3558a08c339b02d8320cfd8e31000000000000000000000000000000006b579b3493b1a13417aa9a34ee0c5334f626c634cdd2c8348078b63440e19d344d0ba334810aa234b48bf634e22c18352e9617340bcec4331a2ea233f7b03633451a8832dee0733f3c84b03cf44a73321ad14a345f767c3f06805b34a59d3a341ab69234dcd2753f27ee4235e30ab43467dd9135cbd34d3fdd5d08330c57803200000000dbd0243f0000000000000000a2759934ca7af13e3847ab3497105a34ef7ee9340f36893eaafac234bf0b5134916db1348194143eef2daf34bd19ea3471ed36346833473daf6dee33eb551833f6b46435d3b1a63c4cd48335e9823935c404073613412e3a55451436ad82de357a6428356a1b7e35a5cf1c35682145332469b0340328ae34c278a6346f92bf34eb41a035072c9335fdca9035e3d32935d83ba435394b753439ea5234a9c03834a56ea634b9be9c34ee6eab34434fde34799f9c35eaba963513166e351a232035a8e5e9373d2c9837b217833319e67533261e27356a144a3fea381c3ecdf56835e16ebd35734f543f94fcaa3d1ce201366863343394795e3f7fa09639b375eb33ab3fb834cb675c3f8baaa534e502be34a62d94352380313f14a2b535a48a493553a61a350b8c063fb1e2e334ad9b1534316cb234f042ad3e8f729634e6f6c634b9547d35cccc293e8f149535159a2f35b0bf013545ed903d1365ee35baf93d3381528635727cf53ca8eee73605ec7f3580713e368702943a08f5fd357698ca35bbcd063511fdab395485de34bdfa0035c3b8ab34063ddb366ebb57358c383d34bdf16b3625c07a36ed1c1f36792a0c368dfbe235aa82b935f8296035b99e8c35f2321b3653c1043515022934c9e01233d2ab543603d45e3618b40136d28bf435c05b3438aa5496354a107435e89b6d350e7e4635bee81d3f8238943ebb466b3568de0136af4d243fef74433e6242ea3519497734e8c1293f3dcc893d92d60e35f813a63480052f3f5a6a0138cd230a35c57d533625fa2a3f93128636a0cc12360e14a035bb07033f9b2b7f35bbb51d35f30bd7343e5bb43e30a3823409d7ed32aabb2d3684354f3e61ef1e36f6f1f0353b2587355cdb833d05de5f35d3144335e6711c32d7b4443db2ebdd31f9f4943136c5a934bd119c3b733e8934472f6434a4da383589b7113a4814c8352537113516efb0349906ac39587b3e340000000000000000000000000000000000000000fd045d344b7d0f35f3ce3135813ac434f72092354c2cfc34cc15f53323693f34dd11853459508734d1baaa34c2c9c43483e6eb371827fd31c97b0c320c483d32472119328911e23e9489e23ea92f02322bed9734b5b4f03ef95aaa3ee06a8a3423a82e34ec25f73e500a4a3e99a88f35ed789434395dfb3e7874433d0000000000000000b531013ff67612390000000097bbff339972f13e9cc4753545fe2d35d8eabe35919ca83ec90493340590d633e0f28834fce8513e51b08f342d40a8346c21ef31e17ea53ddc580032d77f3f32fb727e35213b0d3da6ea663500fbfc3443ac3036ff5f7d3b2dc7233689dad835249f2235e4ac173ab155c634f5372c34521ba335b69cc239155882357309d7343ad76e361ef7ab3990826936d16a3436e6117235d248ee36e330b334a450c534fe6588358b3c703462523e34dde86334afc54d36d3d34736703508360032f935fac0d137332eec36e6eb4c350da32035accd5935f098913e24dc203f347f2935b0faf93546f6a43eccabf63ef284f935aaf67e34c735a03e877cb03ee2f6d4328bf6d2340474983e59e24c3e56c8b134bfb32936548b9f3ed2c8ef3cffcf4536b29e3f35ea90a53e973acd374c4c903404141435a9cc8e3e3e29923466c05a34c7d50b36d95c333e44e22036fa1fe5358f159337358e993da31930358e1b1735ad05823573e3e03b30e7273313a61333fe01a7357c07c73a75063135cefe0035b8c5a434db0e913a974cb7342929a934d3c8f834269797393bcb87348322113492a2b4357a04a338887364353a44543578b5b434779a00395907cd34cd38e1341052613535e9a135897a0035050d3b3374dc1f361d212536650dc835beb5c635992e3e362317903564b63f35c0742a35d3718a335b21163e234a483fe9ef1a33a3108035ceef343ebe502a3ff35d2035de0c9b342889203e67b4033f5064a434ff0f9a347c540a3ea7a6b23ef1690d347a47993584e9ec3d3b964c3e0f205a35741ea534a9640a3e9c983f3cdc80d43489d3b034fecb0c3eb3ac9d35cf6da5348c761c360a5ac43d7cf30436fb97ae359da68136db083b3de67a423591b0ef3488348d3478f5583bb7fd15345a440d329079ea34ca79183aa17ab734e3b86d3491178e34feab5538efda9034066fc933a97bc034a1d2ed398ed89b347cc33e3400000000fb73fc3700000000000000003af5303472b1a037d6947b356e8b8934daafc3344beeaa34a9c79d345bfc903422fc2734e5242a34e29d413413237634da5f553777da6632818b7632c52ca032a01b4934dcedc73c372b6e3fee187e32e86ad13414e54c3d33944f3f28d4a134417ab93405495a3dfdc72f3fbfd91c34a553a0343327463cab1a063f6a76fe3300000000b3cc563a9c2bba3e000000006e5fda315c28e239e14e4f3edc01a834fcc5bd34a9ff3d3ad11e393d8d0b6d34f21627345854973cfcf22e3471956f34f3a19f378239033db96f683271a0a332000000000000000000000000000000004bf439357a7c9a353d55653519e2af34ed9220367001a7375c2fb435b4068735000000000000000000000000000000001eb2ac35a407f035b905db35d8ff99354f03e0358618d03532e99935d4fb8235c46d8a3556686a35826357353e8d8b3345b10f36dd868c37d9467b374f510a360000000000000000000000000000000000000000000000000000803f0000000037c00c35e4f59c353d96733fc352e934246b0e36c966fb3767435a3fe6097b35000000006a45a6374f82303f00000000f1808c354bdef735b0a7033f29bfb135d5a38f35a5d0d535ed77af3e4cf85b3569046235a1c281351bca313e69ea86336c13ec35c4071e36c3b2b73c4d741536000000000000000000000000000000000000000000000000000000000000000050f84638f6985134000000005a8c0b334637be38fc7f9f33ecc74033b1c23d33fdf3d0381b7101344c64df3380f0d43399fc0339a64be8346ab3c133d6dd8c34fbde6d3824da9936c6800a335ed90533d1c65639d1b94f38ad5ed53428e417352b808439d10d37378ec90633bfa01a3400000000000000000000000000000000000000000000803f0000000000000000a987c036beb9793fa2e8d533000000002cb2ca38505f4f3fab1a3f3332252c332ad10638e816263fc40bf13366a2da332034b7367a1a003f264a9e34fe770734706fc83462c9b53ea26bae32249ca93255ef953792423d3e0ccb963731c4f034aba0b435681eae3d5e96f233cf9e7433000000000000000000000000000000008af5c33300198b3d78006334dc7a84343e9ceb36e351903850908b33a046bc33b7ada838c243a33386245f33dd828a332425e238f107e9335477d033002afa33e835ba380000000000000000000000009727c7387793c536380ecf338ea8b9334c5a3f39fdc23b38efa8d03307c805344615913926474f380000000000000000385b9f3876d4223800000000a6021f33584fad33bf38623fc6eea53a48596d34edcd9b32d304783f9bea9d37213e9f33598cf6355eae7b3fa7420533e7d85133f4f2d33757c8533ff186cb3368f0d533e20c3533a2982f3f0000000000000000017939347a55093f0ab1b433acfc96331fbe4e3602d9b53ee205a3360005dd33000000002a5b363e79c9633500000000000000001144c93d98d95f3700000000dead6a34f96cf23d0b56b434f928d434bc8f273370feb53d2557f933915d17340000000029fe91380000000000000000148c2a38b419a83771d1a5307702a2303b519238e331ad37706d44335cda0433c6599c384e9f0b38d2e7f432221a0333f1899c3804e232370000000000000000a4eedf38dc2ed137000000000000000003357438f0d90838c94e2d341b164e34f50938340c93313fa7a5e73d1092b834f2c8cf3237273e3f11b7f93c4bfa02340000000071a55b3ffaa9203800000000e17e00315f836c3fa140ae30709a9e300c9488326dfa4e3f2a93fe33710fdc33bd92083244cc2a3f9152ac348a1c9d32000000006f60f63e000000000000000000000000fbeda13e0000000000000000e86986346ff9073ea3617136909b1d3486d43434e728113e3aea7e34d47f3c34103baf32fddc073eecde083377282e33bf3af03122708e3d00833432b6c97932e33d85361c6e3738d20b08312b5de2308c9f103852943c363b4ea73324c3bb33fbbf0839caff9d37d42fa932f2f59732da429438880ef237000000000000000054206f3841db0d37ecdf2f33cf7d4233b715943850e78d37ea4d0335a9dbf8341af7c933f09efa3e34fa4a3ee8a6743415a37232ad81fe3e1858a83daf0c1333253d6032eefe133f3e8f3e3ce5c64932de04463184122b3ff24b6937ca0bfd30a3bf1034b4983b3feb4394334f279f33e5dae032ec84243f6079bc32e43da23200000000a1c1023f00000000000000009ea2e4332233c13eb9d71c33c95118336ab2ce342718433e71890335855af634ef2222346684273e99e0003466e015331acff63633ef053efad15d33ea8d9f33e5e190366b1fd83d0000000000000000cbdd773368bb613d53dd9a33b152a73341558435591ee0376690343424785c344d4b0d38feb05737c39acd33b4dd40336b6feb38d9f4dd3700000000000000008acacf380375e6370000000000000000b4b25f38403c0b37a0c24c34597813346e2f5b345c42a13ea975a63e07e2eb330000000093679e3e86694c3e95268533000000002f26b63ecf7bc43d0000000046bfc9331bf2ce3e492a3b39e44f9e3306662d342bac003f6f7da7359c183c3484e195333bf50b3fb579e533c4dd4533b7ad0e37ca39e63e000000000000000044b7a6353857bc3e00000000000000007102433400ef523eb2d92534470121348b613e36caae113e3f626334827e6f340b155133092b063e0d2ee633ab6103345d3b2437731ec93d0000000000000000129243367e1ed33d122c0733af182e3362a9ac330d11d23c6e661334ed572934558db53758ef0738c46a4e31442b5a31adcfc338c3cc7a37050d5732c72a5b32602b3439b7dc55366e116832fd2a7d329bc80839f3d00937779fa733ec87ab324bd0e7346eae3f3ebac3f93e86dd59349e432c330cce2a3eac4eaa3eec50f03300000000a6f2393e1c825d3e000000000b62af3256ec383ed65aa43dc3fbe932b593a133519a7c3ed9032838f94a1b347cfe0c31cb45ac3e0c5c47315ce34f3147bf1d329b53b13e85ec4e323e9a6932d3af083302a8973e50e19c32884b3932c0c697340e67373e388731342c41f232f4c7a3370d9ca83dbd102034bf859a3100f42637e16aa43d000000000000000000000000a705833d00000000000000006fb2bc377601ad3d5fc40b32ac281632a3435a378f63993d5e438b321ad9a2327c272137c0f3233cba0ffd30336d1831a2b10f38a3dca4370000000000000000fc357338560330330380ab321d7a9732a9ae8738291b0336eefd2a344e373034beae4334805ed23d9a6d303f3614dc3300000000d3d8ae3d2b5a063f0000000000000000009a813d170dcc3e00000000dcadf132223ff43c90f5653e4efb0d32a14a9a3371cedb3c2d1ac23d1d199532d142a13084ef8f3d0f118338bffc0931000000009cac153e00000000000000000455f033fd5f133e97b5bd32251e5a328b633f37e092a83dc5e94134197017347662d33724562e3d000000000000000054a7bc37c810703d00000000000000005176e8375581543d27eca83389cd393341d8a433463f413d4fb23b34bd15483400000000e2e9133d54acdd335f3287334e34fc33b3761b3d6856cc3333688f3342ae903352d8a73cdfcf9a34cb21b53404ac0938bcae0638b2bba132d1f9c43229bb8b39067bd0330c8ba7338561ad3300000000fa07073cc4645b3f0000000000000000bfa11c3d47373b3f00000000b1e1e233c9d6863c7f69153f4335a0331f7bcd335b2be9383a96d83ec68c403400000000138f9b386167913ec2036233980be9332c3b8e385521103e484cc93320997933a997a3380ba808393eaea23460bc8533a4780c3db6e50c32936f8a32a1212f3747415c3d36049933f1549b330000000000000000000000000000000034b7d6340a10923c8dc47b35f0b1b434cf180e38e08ac63c41e1bd3380bb0e34ccc8a732f6828c3ce0bbb333bddac5337fd91035459da63cece7db35dadd7235ec54fa330bf9803cdd12ee34e92aa834552e78335b13b03cb10f5438dd6368342f7e8734e1f76f3ba49c15355a7e0d350000000000000000000000000000000000000000000000000000803f000000007870fc33f7471339f51e673fed1ee03472c7c534de81093912714b3fc704263444251d3349f70a389c69223fe88dbb339758a134d0cfcd373dc0f83e317ab035ba08ed33c350cf37999dae3ea64cf6344c0b6f336a42f43697c5313e3d4252345415bc33a44fb1364f7dd43c18722c3500000000000000000000000000000000000000000000000000000000000000003ceb8837013eeb35db12f335289f783619e2f13766e1b9360e6cc33697417b3717b9f237a01b8535da2720361485aa37729a6438825a2f372b2069379331153822291a3875795f371b0a7237d26cd837c706ce37b44b16369ff51636ead36c375420a43769914c373f4808376630903700000000000000000000000000000000000000000000803f000000000000000002a026379af47f3f8d831d372e22f935623bfd371406593fd133b43714d72037ad600a38bed62d3f9b30b737c99c173787d85938ffd8013fdc3f04387000b337abc0193830c3ac3ea14ce437a7039a37da3ebd37e0082d3eda52173717441d36a91b7137749e2438484c2b37e387213700000000000000000000000000000000948a9137dc1b6b3731ab0437116f703783084d36c0e33d3664a54136da374936a311c237c89a7d36fcd88236d2f684374f06ad37aca7e5369df00437454982375b0897377be83b36def641368d173c37b1332937e637a6369b70b73680321a37ec2df137b69c3536975839367f878c37e94b8337e4113937ea1f00375f6e7d37c11b443754f81437ca37e836208857376098b43591f77f3f23d3073818332237b8b537364cf77f3f5ce7f63700dc433675b60037cd425a3fbf6a2238e0ceb63690a120371034303f2a583138c5a31437cbb0be36343b023f3cbc02384cb798361b94cf366a9fa83e63652f37be9fcc3655364f36490d313e97acbf375bfb3936a494ad3679b8343c538f2a37de0ae936486caf36dc0eb0371c4bf536132ec0364759c63775ce16383f304d3621df5e3647e9ae374f1b2737080c833616b0a536ef7d10386314153771b59a3516f05f37d78e35389d942637da6d1437a6a8773776393538d30ccc3665a2b5365d725337f38bf237d8576d37a0a96537f8fabd370b982e375daace36be25b236ed721e37fe88ca374a7a8c37a8b81c37c0be9737aa0203386a72a5372d9d66370064af371cad2b36ae09583f35a81f3ea1f3493687eb6a368a9f593f8d4a193edc7f8336cfea8c3680b9363fba830d3eb337e73511971c375db6183f0ecbb53d40b2213708add13675bbe03eb88c6d3d8b1ccb360eb64b3746779d3e86316439a9b6673755d46a36331f293eb1e5ae37e02f97365e5f2537c695283ce57dbb3727a2b036d03e7b379d6e5e38846a9c37c11f08372e1ff0374e542b38c04bd536683aea365d1ab137259a8b3779a4ce3648d53b3796ddd93785fe14366d00c73409701036622117381c9596373ff44f36995d8e371ea299378aebb8351144b035a323b13500740c385dd89537feff72370a2da637116a283820f1bf37c53a1937ac7fca37335da337853839377bc63936b4033a37d4253f38e70a8437035d40376b58913745288736ab5c2d3f5221a53e04559836a6a79a36a0f82f3f59f69f3e47919d36ad564735df0c193f6c27873e95aec53408ef67371420fa3e084e493e335e0c36794eb435e93eb93e19700b3eada4b43537db81373d09803e0d15863d12dd663715a4073793070e3e2932843833dd6f36bc0cb236e3f6f63ba5959937dbee133611af7837a6d1f8386ebe6b371cdbfa36cb813938c7ca7338a8d61d37ef33dc36f42298371fff5b37b6a718360b3356363bb6133848ee8537e47ca1368c90e3364cbcef3746db31374233f136cdf920375eaf3e38d164e137d134423657028237f78ee637060d3f37a184203726913c3740e12238debcb837dd5b383704869737f1c59c3798a86a375899193757d741379a913538b0cbee371de565378a76a9377d2e4e362c55023fa824fb3e39f71e36ec8e1a361d50053f7a41f53e70801436b991de36065ae63ea731ce3e66488b367c0025373184be3ee706a03e3954e236efdba83799ef8a3edef8693ee3f83936616e3137367f3f3e7153033e3d321437061a7c37b52ecd3dda75403d9a76f0363de82a37baae433800d3a437705bca36aa1f9937a5ffff38725196376e81bd3602977e38cfcca5389e1b833635a84a361f99973792e94637238d8335515482356b8e2738a6f66b372ed98f3469b38c34b9c70d38d73390378159c83610753b377786a23703cebf3579a0b23585b3b03516791738c630d4377909d236113b89370a7ffd37f6a58237cf8e0736ec33b0366b42b5376bfba23772e27137e00d8a37bf950338f283a037e2090137f19c8737bb593f3662dbad3eacf7283f0bc95d3559e69d3500fbb33eff08243fd8468135ddcbaa36595aa23ec7410b3fc2c58e34cacd873770b8833ed9a3da3e083e92360d91b3356c60433e854d9f3e3c23b135fb3ab337c5d4003e0161413e105e3f35e53f0037ce03733db543a13d0c858d35c9509337dc6b5538b2ccc1370e991a3775cd9d37c23148380d858b37740ab8362653133831d52638bcbf7c36a8cf7a3651bdd03744368b3719a217369fac19369bcf67371ed5ad36b9cca9358096fa352a672438d93d8c378baeb036c3faf436d2dc4a38880f3637a34d43361fd661365ed98339076c7e37aaefd536213b2737468c3638cec3db37534fb5360f8e5537b03fdb37826e8e3705c19036197a0e371bdefa3756e81f37f9145836b4bb6536eb02da3652ff313ec76b533f50b257361929ac36688b403e4b344d3fc4201336a8b1a13697c1363e3d01283fb853813542ef99371463163e2b970b3f906da8361c0d823724e6dc3df940ca3e2ddd4236c7b284375a0f7e3d6431813e4e3fa7367957b63760d9b83cf350003ed09aa23582949237a57b36381a7d0238f24185364c6da73741e74c3884461837f1284336631e923756c26c37f25b0436ea74f835911e9537222d0c378caa0136b88523367eb71538100d3136c9391c36e3b92536e80a36371b75d7362adf9a3633449e367f45d537947a0c373e5d2c363da135368c690238c4d67d376465d336d15007376986ee37003ea43732378236ea8fea36a3e47d36183e4b3657904636f0be4836e37e8037fd493e374c8eb036e3160a3767faca369d4bb43b5a8b7e3f1de7de3509b40437ff21fe3ccf32753f5651f2357d09a9366bcf013db6914b3f18531b36732a0737734af63cd9f7233f09fc9b3633f92a373379a33c2a3af13e16032f36f8a087378b309039315e9f3ee8a4d13611b2a937d2e39138eea6163e7c758036eed84c360ed5b937c39f9a37f9f8413600f185379041a037e29c1237bda4013600000000000000000000000000000000d3cc9737c6f304376e4c5f360efb7b36da15bd3774ece2362982ef3564200536996b183800b8c13714fc4a36893a0437c49645386f6fe1375f40893615bc42370cecf237ff7ba937dacfc93536930437d163de3794e9ab37a50127376536763793624337964e493736cbd8364b481c370000000000000000000000000000000000000000000000000000803f00000000d7a54b375349e33769f47f3fac4b753693ce14375ed129386db0543fd919043685cad33704ea52388788293fdad114376ea3e437eea89d383611fc3e298a7e3713019e377a793a387b31a43e5295f536bdc88c37704c2f3834a31b3e70973f3747a1b0362d8aac371dc20f38f469f9350000000000000000000000000000000000000000000000000000000000000000b75a3d38bf3500384a2df136b6b65a37c1974538173bb237ecf21037fde57937c2a99839939fb637df2d62377713a937ee609738a92d0a38103f8037af88003862e65e387643c0378c6d75371710dd373cc846385c360f38144ed437662d15386509b337839888375da251374295ae3700000000000000000000000000000000000000000000803f0000000000000000663d413813b4733fb4240138b18335372c60de3873a94c3fedc7c73702a34837d52ef839de10273f5491c9374fab8637e60e9939e71a013fdd001438e2d69a37d6100739ea05b73e190ebc378cb680370af35d386efd563eb35a06386e57d63774cdba37094f713ded573637c7646037000000000000000000000000000000007430063804f03f387aae3b369bdb38369ec5333af2344338c912bd367f36d136ac6ede3944b5c9370c555a363a15bd362a46253a4a34f237842ffa36018154373ee9f337da1b8d373af007377137613763d7c53864efdb371c70123716fab33761e906398fa6c537309f10370ce6b33758810238a4a6b03704d7bf363c19bc37c5d3e437d9f4a9376f564037798ebe37efb891366049723f844f5a3d37de4836a2ea16383d22673fd7d2533d977ac936f9832238b972443f24e1023dee827b36a7362a39076b213f8d130b3caf350d377baad637aed4f83e21dac637d72213373de049387590b13ea3a602380cf816378e1a1238be3c523e981cbf37cdb3103766f2f537225e883dffea5237d95da436e0cce83794663738666d323753382237516268381c64d4388a378c37aeb605373b132a3a8c4ae739ebdbe735f35ae335f4756c3a78bbb4393819a7354a0bae356591bd3838a534380ed4d4355fae18366bd363384a7913388d4f8936de6ee236b741d039a1d75537ebf1ad35d4d4b236765620385c8ab13762ce0437d09f3337190ecc37cca08537e13d8d3580c42b37615c2238fb8bf63746c2b23789f4de37158b8d37a97a4c3f6fa54d3edf162237bc72153776ea453f614f403ebde5dc35b2ffdf364a0b263f3648183e34a6a935ec461d3870b10b3fce25d73d4906bb35dc6a0c389988d63e4302963d6a7b5a36728138373c099f3e8e58b73ceba145355044b4377e40453ee0ebb43702adf83666c09337808e873d66f72f3705fc883534a10c3811e42d39bc49c0370aac9b379623ff374b4cb63872ade5368998503653084d3920666c396ee4073692ce06369be56b38a4de3b38639eac36ab0e9a356df8a439cdfe7a37b9116235ead463352cdc4938b5c7f13732a5113702641337f7bf6f38407332388e9c04366908153675040f3aec017c39bc10db36757325373a78e837e10bb237e02e163729455d373904353898e1d7373fa2ca361b2d45375d35f036cc56273fa420b13ebdd05436fe517837d021233f448aa53ebae90636f7bd023837e40b3f6248863ea47392359ccc8a36d0dee73e6ff74c3eb0665a35d83eb8376256b43e41fd133ebd870d37acd2143848e0843e8885a23d7ee0ff35f50b6037f42d283ef742a03c5bdf8736ef4aab37805b723da66f9a378f1fdb360af923382322143a5eab8637e8edaf367d2a1438dd06bb39a5ec6d371bc838363f8bf238c341963901f8a8360463a7365110023aced98439c89ebc368901a936fba6fd39a8f6993899c0af36f5b6ae3667db5f38d866393816d884374ce22d370cadaf39e69a4c388063b1364274b136e68f9a39c9e36f38ae2ff336eb19053702aff33775b2cd373baaae3669b00737149b0f38abfdd537bc4e4137881f8037cfd86337368e013f1d6ffc3ef041a1366aa13337901ffd3eaa44e83e47a9a836da938b378f88da3e95f0c13e2c06a936bdb0fe3735f6b73e15b3973ec4ccae36aa8216389b1d8c3ef9a2673e439f4337ff9b0e381637523e86620d3ec5c4b036cd9be43760ed023e96ed853d1906df36c94db13763a3523d746ac337b9d2ae369ae204381d8a9239c0dca6374ebab336b85e2b38fc27183ad242323757cb6f3562b6f5370c683c3907ba6736ca9c0c36cdf5443a4f9d0a3a89125836bad4533673258638a25450388f35c2357579a935eff1383877b1073853b40937449cfa3675babf387ade62371fc070359dd8653572824c382c5f2d38171a5b375ed009372b054938e0dce4376cec363716d33c371080c0377e3c873793b5bf362539f036b5b74637bae9b73e06b4233f64707136547b2f37bedab43eae58163fe71e0f36fb605137da60a23ee672fe3e17a856367155f8378b3c873e300ecb3e2570aa35081fab37fe58523e7f61983e1027fd3615a7e73693b11a3e4326483e33066935a7320e387385bd3d229ec93df7eaaf3618d7ab3769111d3da7a6063a331e9a36d82dae3726557038956a5337c6c360369c8513386ea89d38d5218c371d837036b17cca372dc3f23766ae69356cc34c35da172538bc011a3889fbac3536018635b2acd239f241cf38f38d1135edd10e35c9915538ed0b2b38b6755736dc4151361ca86f389bf4413866739a35f3a6973580a8e33953b17139565eac353170ae355bb105396396913746142c36a8de2236caf24e38c5d71438583608377a170b37effdb7375d0a5a3ea65b493fd5cff1364032c0364568593e48a9383f49f259355d9a4537c2f84c3edd621b3f713f86357cc52e3722992e3e2bb0fd3e78350a35ae32ec379f1b073e7949c03e208e5436396c0e38ac87c03d9685823e118b9435237d16379fb66a3dafd0123ecfc3a5350bfc7b377c3e9b3c549f9a3c29fc0136c6334e3800a48e38e544f337b6940537b6abe8377e781e388f7fe23648911e36144b0a383d091e381ecd8b362b2886363d0e6939d2e21f394db5903674928c36722cb23846834738b3c17a3661ce7636ab98e6378578cd37860cfd3641eff2366d2da439f609eb381961ee36f8aee636fcba3438789a213816c45c3665a35c367cde463888783838a7b7473761e1e136d44cc3372b182b37bc903736611c36363fe076378a4a843d9b646f3f84e4243689ce7e375279a03d59d85a3f1db18a36755cc13718c4973de54f383f0dfe8f36c09de53738f18a3d5bc2153f30667a3605f99e3727fa753d8353e83ed109f936bf220538579e263dfd4da33e1357e7360e03a7375b3e933ce88a3a3e44bd5936aa89143807d59b3a1ba5313defd9bd363030be37ad10373868860737643b363600000000000000000000000000000000ab9bb8377bb7c437f0309a3640db9336323e4538615551388ed3c237e24a7b3645e14f38920f6938cc106d37659260378a9780389d258f388c62ac377f64e0366043f63794fd1238f3e9943722ab4b37625cf43779a31038db0ba037034d66374db3173891b22738502ae4373deab6370000000000000000000000000000000000000000000000000000803f000000006f988637f7ac0e3922d4703ff598993685851a381182c539820f4a3fd75dd63781e9f1373201e9398947243f381c7937e6dc2438cff6ff394439fd3e39c4b137a1cfcc37ea80163a120eb13ec627933703eec137daf6d73809e24c3e2a648f37f287e537c8b240384e3d433dbeabb63700000000000000000000000000000000000000000000000000000000000000008b202f3ab78b163a301a0b39b125c937d010043a6537c939eb9d123830cae537c752023aa5c2c53975ba4938dd82ae3722fb4d3ab1f4fb39ec1e1938d79d083826dcef392f6ca039954b0338d6acf7378d2fde390b6e9039a48d0e38d8ca8138c88a023a22354c39ee070a383a7c443800000000000000000000000000000000000000000000803f00000000000000008886303a90de603f6a31053a42f418398908103a39a7403fa896b239e90d193882380a3ae844203f9ecda439c1cc213808936e3a21e4fd3e484ca939ab651e38537d0c3ae10fbe3ec0656039ba1116389dd1153af3d3793e4d5d263965fa073860b0343a9adfee3dc0361e38807e06380000000000000000000000000000000033ed373a9393713a70145239340747387033163a2eb6103a6c7be437b2a19637fd306f3aa342c1391b17d03726ff713740d25d3a6f9c3b3a19591239818a3b381550b33acc6a3e3a88718a39953b5c394919143a02077938a72a1938a12d0f3803bc8c3a112edf3923f20b38ea89d137eb18143afe03ed391f6df538be80423964aaae390185b73809090a38d12e07383e60d539ce12613f1218ec3dc61d3a39bca4f2393839483f0264da3d10cddc374f9f163a50802a3f647bad3d3f35c2374a4a5d3a7cfa0d3fc360893d26a7f83815e3ba3a15eee13ee2c24d3d8cf9873963b4293ac2d9a93e52f40e3d3c7315380a42a33a26e7603efe4d8c3c060cd5378a811b3ac339e03d05c676397cd0b03891f4f139ce89273a30091738367e043821fb6d3afa91953a1ee063398f9b4237b780713ae0eba43a1b308c387a5e98378696dc39fb0bd139fc9ac33700432037659d183a8901f439bd91e73722586337593b7f3af6bb2b3a6cb23839a6adb4372b02503aef34203a7bcafd37844bd03718ba393aa07d0e3ae413ac37b3c269372d60d6395423bb393dc5fe377f22ee3740b02a3a82ce003a4ae86b397c3c7d39b52b0c3acb0e403fe996783e63f9cc38e1f9043ab24c2a3f9ebf5a3e7375b337493a9d399c5c123f57063a3efa12ae37bdb9da390478f43e94d1183ec856d53727e74d3ab942c23ec18dec3ddd1923395163313ae7bf913ead2aa93dfce1ee3717801d3a319d413e96e1533d0ef2793707cdbc3993a2ce3d3c8631397515ec3726a12d3a2e16773a4b71a939c5ad42395509313a12175e3abdcbf639d005b138716e683ae8099a3a98067c386da26f36605a0e3a689d3e3adab20b384fc3b637882e533a23454f3a371ad83873c84b36e531383a10658c3c369595385d0de23795495f3a59af3d3ae4acfe375532a037f68db93a6caf543ad6e59239340b21394ac7a33a8ca16f3ae85dc839100597394292c8391a53b339de373138fffd1e3857e6ea3983dc1f3fb1e9bc3ec270ca390909c63919da0d3ff9f4a63ee54187379f287e3955adf33e9c478e3e947a0238cfc6103a9009cb3e600f6a3e2a412038a3e7183a393ca53e93ff293e51b9f437e5f7353a5f52733eacef053e152bdc378d878a3aa1091b3eb5189c3d8119523905418a3ac3979f3d6721063d2f079c39bb44c9391dfa273a350d30392ecd26384cc5de398b58413a89d94039430f003843f896390fa3673a29a60a3833cf7437a7fa2d3a02774d3ab927663990450338f909993ab816af3af1c25439864e2338dc2a163ae73a163aa4994939fc9fc037947e9a3a3001863ae4f4a23862202638d6992a3a34dd183a02da3838af1e1d3888d38d39de5759390c470138d747d237954de1395502bd398faf7d3823590b38c01f73391b4ffe3e309dff3e52698f38d429783844eee23ef8f3e03ef08ef83776acec393279c23ee962bf3eb05a0639835c0d3a61d8a43e669f963e0f0de8386ef2013ad46e813e16227b3e1b490b391990673ae8d3463e97793b3e7a8b333862961e3a177a013e5609ed3d170f3038167e6d396ffd823de2a5523d3030ee37cd3de339f4224b3a774872395f8117385ce9be39b2f2083a7d8216394e9a103848cc9f3ae172ff3a8673c039fbe7423743d0b93a3aa5ca3c177d2839667ce73616b1563afda57b3a6e1e50380a76b6361117283a90393d3a496f1639dc5add3719822e3a172b283af53f8938bcacbf366e2ec539c167b23970c20a386b5ccb3773274e3a8969303ad5f48b3732acce36f0642e3af1351a3a5011803937a84d38c2305c392467be3eccef1f3fb5de5638dbb7303ae42da93e08e10c3f9936593929651d3aa1538e3e5e4fed3e327d0938b5e1ec39362c733ecf69c73e58c5db37a645033a127d483e3bfb963e886636380626133a3dfa113ed07d693e41857a3759d497393740c33d55cc173eae52013876db2e3aa453413d3f068b3db96a5237ff1f373ae4535a3ad587f939658d0b3993b5143a468e623ae059d039ae72d7373b19d239c1b1043af03a0238190f2037a7ca2f3a82da8b3a837c953796f4e036c41b3d3a0768623a1f7cd138e827a63749194d3ae28c893a76f38b3974e97d37bf93ed3950d7fe39daaf0f38bb3b49374797b939de3bbc398efaec37b7b34f37cafa413a9b79333ae596d938f37e9f375446533af52a3d3a4b1ef137d03a1f3730bdc3398527793ef91e403fdf428e394f35673953f0673e04862b3ff21fe53755d9a6395195413e33f4103f09da663799d7d439b098213e4df9f03ea1e4ea3792db0d3a81f5003ee740bf3e6c703d3969fcaa39c238c53d0f578c3eaa18eb37d4cb8239239b833dca76383e8842c537084a183aade5ff3c1401ae3d53c2ac37f3784b3ad5af963a40cb173a87f15c374cd68e39b28f3e3ae7b0c738effcda3794810d3a283d3a3a576d6739c70d3236d474693af799ce3a6e4d1f39f143ca36a1af7d391b11553aa70b1a38ec57af375dea903a413dc33a66cec6391b6ba03701dd4d3ae051643a1625b93919ed37389759c1399d21073a59660938edff6637acb0f5399cd8fd393fa10f3859638c373142fe397c89ec3928391c39b28230384c391e38cfc9f03d1e28613fbdff23385c6cb53999e2de3d260a473f6f2adc381749b3395e70bf3d19f6293f21c7a03840f83c3807f2a13d2b390d3f654f17382354223a20027e3d066ae03e3d1d9e39d94d203a2ab1413d14a1a63e084d7d39623a7339a9fcff3c1c135c3ea167e137de69c2393d1a3a3a053edc3d9101c8375407f0393f0f823ae6b8d73928d74538000000000000000000000000000000007fafeb397e614c3accdb8139dc4fd337d282cd3955eb223addf06739cd76c837fdc4d8392eb1063a57947639d3858c3777fc2c3a98645a3a9a5a84390433d837f171e5395c81fc39731412395135c337390bd739581ee9395b312439b2d5dd37b125123ade77203a82c3b1390baea7380000000000000000000000000000000000000000000000000000803f000000006b371f396e42473aa617613f09fd303920a5813983cb483a9c7e403fe1b65a39a69a92395777173aaefe1f3f30766739592ede39af4f803a5a13ff3e954c40398313bf390b942e3aaa5fbd3e3729c9389870a739c791253a2061793e87b0db38c9d7f0392b0e3c3a015aed3df63d7f390000000000000000000000000000000000000000000000000000000000000000e30ed136d14eae363b91b136f569c136576d05376ea2a63629b3b93668afea36c44bda379f73be357871d8353e9e1a378034a837247300376dee0337aeb64237301b003724254136f8014c36923b5236a07f4638cda116387c7cdd37a52c01382776683728bcfa36a574cf36151dd93600000000000000000000000000000000000000000000803f00000000000000009d50d436e0fa7f3fc31bd636f612c136b3db5c370c13643f2e790c37f337e336b429733866fb323f4a0d183870711d376739fc374713023ffecdce37976b1337cc480e37817ba23e39062f375e075e3651fe45384090013e231d6238e4ec0538f380d636d24dbd3aef8e9937e2bad036000000000000000000000000000000008a0f11369d2b2637e8a22137e0ab2637d253f3369d21d03626ca08377aa11b375ce74e3678c90936b1e22d365b305836b121f435ffecc735bcf6e635a91ef335fff5f636b6f5c23667bcca36cdfdfe36873c1736ff2213369c6e183645af2036e1f27437a79508375931c2360b92413726d4c3372265d437c0de8f374607a037b61b7936eface236d8dd75369c4184368654e53589f27f3f3903a838ea1e2c37ce25c036bff97f3f17357f38e38c1b3731fd363611c26a3fd473023853ab4936ab0deb350231393fd7380d38bd41f435724ec636b223083ff0bf3e38fcf4df3620b10f360805b03e9bc88b3884f41f36d3a1aa36b4e2133e16cb8338241d14377c1302379ae8673c2e263338044388374c2017368d08f5377c438b37146c5936dc78c4357ce33f38f267da373a78f636a332183731581d370f581f37ed58223716bf2e37b48e0535d3e505357bc04c37f9f70c3557b1133599961535eaa60c357c4ad036a0f9d236308bda365b9dd836d6524734470e5034a5765534a37a12350022223630ac233622a42b36bc3827361be6a437706bbf379c7959372baa57374f1f92376dc5b237acd96137c79f6b37809e9635da84623f03c7eb3dcd652f37bbb907379ca7683fa9b9ba3dadd81c374e86b83433624e3faa09af3d642ebd3637b30e35d4e22a3f4e431b3d116b1135981dcc36ac9df73e646e963c6ededa36af3345348fe7a13e2c77293a431c5534f1e20836be39153ea609e237f2b22836d6642f37b999de3a22bc21381b073f372b16d133e3f62738f517da374c2fd7354cf7bc3524dbba37c6010136ab626335c1937537497f78374eea6837bea76437dd9b8e36f9a28636ec348236fc6381369de44f36c4e01f34128e1a347b751a341add3937dea939378e843a37630f3937322ee33682fb7d369db6653601307236b06f303831342b38950f0438901e08382f512537802a2737221c1f37404720373942f737003ee137ef341d3751908736550faf34256b323f8d179b3e03072535871a5b37f84a383f5f118f3e33eb5d370abc7a369d532b3f43696f3e35b87836931e21349bdd093f039c263e0cee1b34af0435377ab4ce3ed966d23df7e63837789a4b363d6e883e1ebe273d50c55d36d8ed49370463ff3dc7b76f39656ab83786311237f0adb53a3ff68e37bfe3163703cc8036e8a8dd383b1e2a381d0d88364d9169360d83073714a03e360d812b36e943f936dbc8fd36de98d63662c5da36a03fc437d7538c37ddedd336568cbf3654b45037caab82364bc25536877a59367189da362910d736a6d3cc3683e7cd36f753d837ddb8af379cac8336b49e8a3605f51338468b11381c48aa370f0aa23727897737e2fc62370187e936d854ea361be18136218172365ce35b363f4d623644ac3e364c45023fcb73fb3e17f31e361873e136ff9b083f1bc6ee3ee84fd336dcf8663732f2fc3ed1dbc93e106e96365c0a83365a48d13e08ac933e22ae4136325bd3364c08973e0811523ee3a4c93609de84368ec1513e8cf1c83d5b247e3665129137d1a8d03d863f203ce23b8137f91ae8363a75f8388880253873b2e8368ddd5536a4d7a737d692833683264d36cba90c38ad6d8738c0597436dc786a36539f1e377c871a37ab6602373d7a0237ab4114388d7b8737704a1334c5502034f1631137ed05573615cd303675482c36217650375d5e3937baf63137382f3137736ddd378241833703ef2534b5ff1a3421e99836baf59736ef828f36e6b28a36fce0ab37f7558c37a2747237ac31723737fa5a3751063136a7c493353e2d8735a7f083367fcaa43e35902d3f617d5a36049011379b99b23e9960263f95defa36da2da837037aa83eccc40b3fb3d9a5334bf6763681028d3e3499d53ecabb22363d4d3937487e563e3373913e64483037e1022537fcd0113e614b203e88222234a2748f362b1a903de0acda3c3be48836bdd78237c8002a3a7c8ed7379cee62375cd2c936367948387664063622fb1f3503c6de375e57d53735d2ca333185c533c6dda037c2414a378701db36bf5ca336f64d22363a3313364d92c4354f45c73583de2c3785cc4a347f2f3c3497323734d42a1e37d72fd636f610c8368054c53650096035a4a61e352bd2193514b91f35d87d35381dd21c389d80453747eb2d3734ec7c3770ef25374b101b37b48d183778f2bb3791ac4a364273cb35d1f5b53564cbd5362d62093ed3a15d3f903acb33aabc4a37e4f2263e5bd4553f6f149b3655fb1e36cc2e233e6bdc313f8d7bbf359ce2e136b8cf113e7a770a3f31883c3434f5e136a0bee63d7960c53e60b7c436b1b81b3517b6973d59ce613e4f3d18356e680e388981193d40d2903d8d7d07353ff75b3702526638d015c037cb711137936e0f38badaf038b57dd3357609be35d340693708d5b236fbdf0c35a2f6d032b4ace0379eb2123749205136b72d5f369fbeb4373341ae367fb862369cc17336e2725d376af60c366fbdbb35466ed035476379370d22fc363a39b8364e50be36c835ad37d8475137a3d0d9358592ee35a77f9637b8419037891a4936fb1d4636dc624b371e9847372310153781f010374661543753dc513602fb06369916073682869336b1551f3c607f7d3f6a42d9323b94bb371aff003dd545743f127c50365139c83754e7903c2786563fb20f6536beca2f3720e8e53ab28d273fba5cc235f50d5b375cf66a3acd38ef3e6f5fbc36c36b6a377c83ab39247b8d3efdbede35fd180c373ebdb3392c42a93d1d993b36fb814137e7917a38c6573c3880c7e836ad7b893710d3fc371d9136363d0d0336000000000000000000000000000000009f19de3698c6b136476a2e361c95373658f52d38bcd76737af8c69353ec693350fbf1d37d3cc49364b241236e48d22363c94ed371d588937cc35f53663fafc36cef01e38b58b1d387d572f37d98e71371bb24e37187e663716992c37723d2a37c5a5da361216ee36134ed936e3c9d7360000000000000000000000000000000000000000000000000000803f0000000030d3d5365eea5c389ea17f3f835258361c24333806c68938ce8e5f3f45eb9035ff5105374faaa23777b72e3fd0ce2336438cc437c22b4a38fccffb3e9ac90437d01900381eb49c3803fe993ec1931b38003417378b57af378941df3dee994f37ee3ed0364c001e3722677b385373d336000000000000000000000000000000000000000000000000000000000000000010cdc536d2c90935af0705358a6c0135fe11973750561b3400000000000000009870063820a17d36b8136e360c6a6d369e4aa8379e9e81360cbd2c3626fa4e3661a0d43769291e366b18cb35f1a9ce35a70b2c38a8170238bbb39137f3dac73768c7c93788bdc637bfbc2c37f784883700000000000000000000000000000000000000000000803f0000000000000000c9268f370fe97f3f2de42035570a0435759f4d380d8a593f204a463500000000fbc945380fe42e3fc8df04379ffc6e3643e0ca37be74033f22b6e2364307393649c9e137c728b03e0ffb51378eeed3357997fc371eaa353e93941638921ca137b13e7d363cf3fd3cb8a1b23713e7313700000000000000000000000000000000005be4343e2a1238d7a3933546cf2e35afb3fd36e790a636cbdcf935eb95f435b37c1d3693571036bf3d0736f56a0136ee223a365afc2d364e782b365f492f364282e3370e18f93648d8ae365e24c1365befc037bf0ad2367b6a043663ec3036304c50375249243744309d36a427a636c31a9636fd1ce33603021036bb7d1f3655b7b6377b44d437f0ea2a379cde7a37857595347d997f3f320cc93a1a9827350bdcb5354c00803fc77dad37f576fd35730a2036d8fe673ff2bd71379bcb0b36737f3136150b3d3ffb5c7a36046a2f36f9d4833755ee0c3f939e04382572c736c0987e36d582c03e1f900b38c4a02036102e8336e289503e7798b2379218a0365ce89d3565393a3d6cdaea363bbc1836298c9d3500c36c39723e9a37eb1e5f3679e88e37c2b13838a069b83776af6537573d16376719e63796572236fce70c362df250366e18c935cee6bc3543f3b53591721c37ab235f36e283e1351405df35d33bcd37ca98ad3783ab8e37553e8737b01678376ea91337feb67735c2967f3550968237366e5437ac39cf35bc7ad835e523b2362f46c136011cf235386cf7352a927c37c17a703755310f368a991c36ef228f36b5da563f2a6e243ec19c8d37df3bf8357689643f8203db3df48c1736dbcdbb352ce94b3f951a983d3c07ba35d266c13523fa2e3f018f8f3ce554de35d5877e37b024033f09a35a38c9dd8c375bc82d35e71eb73ef56d153806b17d3523d78735bc13483e46beb93766a2cb35eddbd13556c7213de4debc367902ee3511f8a935997a76396b16dd362c8a06364d406137f6758438cd4ed03609fc3636f3a2893699fded36e75a1e36c0c7aa35b1a03d3595b9893492618834010b72349893f636eade8d36913d8236be8a6f36b8b8cf372587ad3735f72e37d7fa0737d2fa4d37354d3537a081fe3476c6e3345bfd6e36edb77736a13c6936551d63361b178c37346764376168a0352c589e3579241a3763530337a88e5936660040362f462b3678bc2d3f276ea43e539c36362e2f03365e373b3fa509893e3dafdf35ea487c340b1a303f0c2f403e37f58034c9e38a369a6f123f9d9ef93dd5ac7a362fdb4437c8b8e13e66fb903d9bcb2037eec3dd3360d7a23ebcda3b3cc918e934c87d4b36b3dc343e3e80ee36ea546636ee12da35d129003d769736374d3f9d35c77bca360a7ca738afe9d436a330f6352c3287350f9c0c38892891358089863594eeea3680f00c378f7a463697cf283657182538c2e5f237747d79351f96463510f5ee37f6646837a65e953512f27835b9517e37ad6233378c299736197d9036b750e337265cca37a368bb359ad2b035b135333813a5333880b63937c1a3b035b2af16374db40037af8864362c3b683695b28c35c1f58e35e10481350d3e853528857c35e3bb033f1869f83eda96893565f85b3690ce0e3fb720d93ece463a363a419d376c58053f90cda73ef245693563cfa0361d06e73e626e693e4a348c35f0d9cc36dd76a93ee10b2d3e9e859536d452b5351525843ecf5a803d2a9eb7352337883729061b3ea2a99a38c0f17a36013d9f369e40943c4497ef36b0856636cec28a35bb47843941ba8635b0368135baed0e374492be37790ec8353ac6b635ca495b375a50823784aa953589968e359d996a36271c5b3606931936e9a2d235d1a57e37103be83587d3d5333c9ace33d150f6376af69437cd1f9b3605e5d635dfbc9237e3862937919b88363d427d369e5034370f690737ff607b34931b6434512bed3619f19336d8b8fd35286bdb35bbc1f237d9e13e36abc82936fb231f36b38968367d16b23e2ff1263fdfccc435124ea935827cc63e40c2143f969c92352c8b64369f22bc3ede79e93eb5a70a3688fe6b353c83a83e1ad9ae3e365ed53338ed7837bf08853e9b206a3e75bc6a36faaf8b362186433e3a1eec3de32c84366a4187346ad3f33dd062b03bd6f7733449dc9b3674189a3a258693368e93d1359c94fa37e9090b396b2e3e361d9c2436ed458837b696a337d0460a352c03f534466dc236ba6639364a55cd35475ac4353a288e370f83603683b48434d5103f34226ea8373dddcb3599838d341ea9fa33df0d09380dd3a6374775b936da0c0836aa7fad377ceb1f3742dfad3554cd8635e619183704a7f0364923ba35c58dae35e577f437d632c436014700365ad9ff35a298c737d4973a372b464e36643b213699d805361ebb3d3e6c7b503f682c04355291dd35a9b2653ed27d3c3f33f1ca35ba4902366c7d563e005d183f9f567434296aba36f5f6433e4ee4e63e7e2e7834a589c137f42c263ef090a63e160a94365a4f0337d7dbfe3da4ae323e56b4a2354c82d13515d4923d8a3b6c3d6969ba359ec8dd37670186399d774137924ffe35c9e10138444a2d3881a51c372bc12236fc4de137803dab37c4ad93355f568235e5f7d4365528c335f0373835f65725359b77a137cfb9a6365f30463639831b3676660f3837116c37c5d8f9342a6db0341a8a11381aebd73726f4a6341e1daa341d1cb136821b833671bc1e3615240e36c8387d376a1fe8374908243646ec1b368bab50374dc322372445bb350680ab35d6c706351336f134a3c58d34962f8334a0688037e65b1e3d0efc753f21888d35f62b5436de048c3d44dd623fed3d353551a23f3753a56b3d8c263d3fe3c84136e5068c37f3cf3b3dbafb133fc35cf7346899aa37684ef53c05cad63e6376a8348bc03e36ede5933ae468853e7f8e1f364ed61f36f5d42b3aff8cbe3d18282536d2111a377c690b38bbd486379909c335050b5b37b53d0d382575c234e9388a340000000000000000000000000000000043dbcd3743930b37f9936334274f5434a41830384d7dee377ca2a336db1d73361812d537dac89037f09f8f35a4305435d3049e376714b5375542263671d6f4352109f3373bba2a3801caba36751f80360f0121372d172738752f933796e136368e804736f3989537018ff2360534fe350000000000000000000000000000000000000000000000000000803f000000006cb6a137b8c76339c9fc773f96866934c6e5103840b5073a9f66523f84f5a836c9c50337c8a9db3974cd273fb81d9d3530fce136c3239e38fc10f93e237832369a59b836ceda6338dc16a23ecee61e37e5350535c2873f3895c8193eaf13a53729e41135da61a337387b79392354bb36000000000000000000000000000000000000000000000000000000000000000014b6ce371b802336b372f6350869b1355f5978379fc08535ee82833539768535369488386ee1bd36b04f1c3621971836a9d67e38b7a1fb3757db3136db1ff635bd20f9374467b33728ef6f36ccf62435af6101382d31ec3794596d374dfd08378fb984388ded5f3828d2cb37733ac43700000000000000000000000000000000000000000000803f0000000000000000d63f2138cb17713fa6a222366339f135bd76af3955904b3f57ee853538a2863552a338395970263ffa31003758131c36bb80843829c2023fc0a60938d3891d3681f1c737bc64b73e6b2cbd371abc5e360d30af37dbb25f3e94b1e73714876f376b1a9d37f62d943d45214138546ec73700000000000000000000000000000000419a8c363a14f8392e65c237e6404a368ea21e38794b07386571c3363b9db836da143038a9a366376532f23568eae1350b62283861f6e23738c83f3688c83736047412388295cc372cfcb2363ee8b33633290a386b33123846de8537d2dc6e3690e43538cf8e5f389a4d393749c61f37c6be143851210a393a6cb3379f4ea23775c45538af09fb3866b0df37f1337137fb930f3636966f3f4d05823d9443a5372e66a23775326e3f10a7dc3cbcd0c2363ba18d3686b44b3f1ac0713cddd3f235b23ce1368881273fea059c3b89294036412d0137fce2013f7d996438a054b4364caf24371537bd3ea8dcdd39afe07337765b9636c4a9673e50bd9039c431353733869b36a267ba3d89b4a438e28fa03745a9323685e5363c56314838ae8ba137e69e3b38d8a84a3a7ccaf537a187bf36ee3e8537ce0b5a3792cd97360cc98136a714123930e80c383f0b95361dbb1f3624d14f38c8ee1b38e5f6113629e60f36b92855380d9f333840a4b7369fbdaf36b8d445386d012b38dc9b6437e39ccf3659b7c637bbb8763905c67037b4792137a8d03738e2cf5138dcd64b3782b70937dfa73e388ba11738d85b233701d85b36ff2e9436238d4a3f6287543edbad8037243fde36f9414d3f2628273ee24992364b20a43761492a3f8956093e69d4863614ff9f36e14e123fd7babd3d63d11036246609377e56e13e2d298f3deebdb536b6b23e379938a93ec76b0d3d65d44e378b327736d76a583ed81b513c00345a3737b0aa363fefb73d12063838b4451d37b404b037e917863cb4eaf03736e78736b1d4133849dc98384793c936e2f9a93509274238526623384c89e936aa46c93698f3c03748248d36adaa5b3632b22c3635b74438b165e937be37a035cd739c35d15e5238a80a1838ce1702375b2ff0365c92cf382f582d3957846d36b60b5b36fdca4e38dd074c38d4deb1360bfbaa367362bd374aa08937fd5b03379da0fc367d44e4373c6bec365c29e3362789db361b16bd359834273f6b77b13ebe88c235695c5d37e269283f25b0923ec9ffde3660ae8136ab32123f6786683e219b54366d53593721cff43e44b0333e25fb9d35ec980d377a82c13e88af033ea4b0fe365ffe5b3615dd8f3e19e7a23d49126a36e4309436827c393e611f0b3dc73bad362c76f4368081ab3d49064f3783600137d1c73c3780442e3c7a35ea36a936e036de871538e0a50e39746d7536fe375d36b46f4538c45739382777953694fd8036976f3b38b59cfd376c412c36db4421360490443859d00c383327343656771636b4117438926c6138591695379fa58336a91d3b38cafc1038b8312e36e9a61836282132389aea1c38993e7436edc73c36550f3f3879f73c384f064c37e7b99b3606b74938f9e48137b32970369ba959367cbd76363f0c033f3f6af93e63a86d368cb9f23793bf033f88fed23e15cb913694e0c037aa24e43e073faf3ee8fa2a3646ea47375df5c23e182a883ec5a82f3662423a385723963e9a8b533e93683f37c9bf203715da683e87c8003e65392c363dda2637f08f163e6307853d21cb3d36797ccd372f86953d75273c38a14ca136a67e0d3891082c3a967f0437e639693679f78e375e865a39e46cdc36be92c4362065bf37b4351437f08ce2365f8bc13685886e381fb7c937f0267e36816f3936ff74a3390d105b37f0a43a36d6970736ad1660388456e337dab6fe364c89e8360bcd3938fee3e937472fa335932c9e3586ec9237f2b9ca3685307b360f7565364cde4238cb3f1c389336043714c7fe3696b4423873a44d37acbca735d04c603563b4e4365b01ba3e9537203fb7e9d4363bae02374d3fbf3e93f00a3f06ffd936391ace37ae4dac3ead7ee53eebc57236886119377988913e1a95b53ec25932364bc98537d2e3673e97a7883e0b92fa3673864037265d313e594c313e23d3a0355aad75361094e63d39bfb63d0b567736377c2437ef2e633d7ff42a38b6d30237e16334388702c43857ae8d369c059735faf72b3885b93d38a5b93036c183033653ec473801fc7837cd7d91360f2e483622621738320c3e37b0edd6358b4bcd35e39a55381f0f00386263f5353abe843548536538e1c000388d729836459e7b36464e5538f166cb376b360e36e8f90936899137380970073846848d3685852c363359743758fd45371e989e361e808e36944b7438902475372b748c36ba8779361d8bba37feeb5e3ec007443fa7382136f2f2ca37d805703e69f72c3f64088536b004ae37d8b45b3e67a50f3f6f1bd535504aef374db9413ea434e43e567be9350f590a38692f173e383eaf3e20bc92364224bf37004cea3d31ae623e08600d36761dc7372319913d95c9043ec15880366839ea36f8f70b3d71d85d3a109b9936caae84386208c2398ed1133762428936a79d643892402a3861a31d3651aeec3517f37938f418a0369f118d36f9186f3637fd7938b6ba7c373908fb354717e5358f7772380159af371c52f4355dd7a735401f2b3815a68937726d9436b24b8036115029382290b7371b1f1836503b023659791838b48d8b37a128ef35074cd435fc3f11382fdd0238cca1be36ae38ac3638116737ed202136a3f2f235c9589e35257e30385e319d3def60693fbd3c153632b05f38eaf7c83db4784f3ffb8a8a36ce7230384914c03df8f72d3fb116f53566ee09388df0b03d231d0b3fec42ef35088cc337179e983d4202d63ee4f49236bc80b8377e82643d7ae7913e630b1736a6bbad363f82f33c668b233e0a64eb35ca20b937926eba3cfa89a13c1683ba36d7b61138e2393b385f811e364ef0e1350000000000000000000000000000000085ee873826d13338e6d56036de04443657ec07389926d237ca59a436376783363f73f637354ae037dbf3183543d41635f4be6338a780833896cc2a37a966ec3579423038723f9f38118d5737b0202636314485357934db377c019235d9b487355a254237c9b90e3843d0e0375fae2d370000000000000000000000000000000000000000000000000000803f00000000eb453e3881d8433c23556a3f5e615f36bdfee4374e624d3c8ad2443f81239d360f39af37bdff563a8709243f677a1a3535b5da37af80393a3ef6f93ec5cdf03683991f367919083c9cb4ae3ea0f54937785c8635e141c1371c45513e4ad79135a32c1c367a31d9374ffc6d3da4e4c537000000000000000000000000000000000000000000000000000000000000000039fb4c36ae493f36ac94403696d64b36fdc5b135aa9e9335022b9e353789b63521356a3546006a351c979435facb75350fff853638d17236edbc823653ac7a368431e2360ce8363535a37835f0ca843515194537e39814369e8a13364c600e36b2412e3654043436bf464836b003403600000000000000000000000000000000000000000000803f0000000000000000725d4636e52d803fddb14b364cbf40362d76f136f6d6613fc3489d356aa0c33558082a37df97333fe354a135e046cb35d36885363354023f28e38b368f318636a1bd1f37ca92a03e42ee2f359b477c35e0de1637fe0a063e833b093654ab273686e32a36cc0d9b3c09ad4536c98a4f36000000000000000000000000000000005b1688366b06643775718636e3037136212b0a361f839f355808c1354b20cf355e154f36ab09533629c86036a3e25e36935e24355ccf1a35a75c313558698d35b7710435a09b343555d0343565e43a35b955c0372a6f343628a95436dd919e365774b937f20390354a60e835347dd336fc37bc35a303f0355c58db35340e9135c6549334c6c48634bfc38634b9379134a2770b36bf19803fb3dc6939ca027b36ddc08e357816803f6bef2a383ac4db35987151361fc9683f2ebef63734c871366b420a35396e3c3f16f56b357e675b3553601a351ca10e3f91515c35db112035c81b61377fbeba3eb374d537dceb683616a299367814353ef982a83745420536c705c135dfa05c3d2729c3359c0ceb35c95d8f347ebc8637c6f7893486298834d293de360a63e237b4331937f319d3362007ba36cf0da9366204a83607c7b73618bff4357066ba355eaed335657e133643b02e360b35073695ac07360fa8a236be93683615fc423677233936e5a96a3676350b36e1d008361a720a36af31073615283f378aa0d435ad276c3567a3ca354a7d3c36cb814a36d8d419362be31b36383af33513391a36f04b2b3647c11f3637fba336cf37623fed84ef3da20fd036f5bf9236c3d6653f94cca33dca1d99362e200436481c633f7259d83b2b01f935e7d1f03587db353f54d66438dea62e36bbb7653699d6083ffe338538100e4836066a2136defdb73e1f116f3708500c36dc33b435e9371d3e15eb97370914bb35ad6c3b36eec51c3d8d822436e6fe2f36b3cc16363b024f38666402361c3d15369d669336e27c4e37cbac97360b9788360848a936c099193753bf9c36577ea436101f66371cc42637e1b2ae35fb7cb935e21f083674beea35de7002366f9800363879d436816bc23621d4d03604b7d73657fd0a366935e435765a00365f29ff350e8d683694ebae356014ca350d39c935f2469f37473b9636852f9d3644f993367296ac3762a86437db56a136803ac63612126a360062323f342a9c3ea0627c36391a92367d3e393f1f1b853ec9dd8e368d99cf353309353f8449223e59dbac35c96f0936bebc1f3f06169e3d9a9b0d366697c436c42ffb3e71fe0c3cf2aed436bb491336480cab3ee8a35338f844f535a5a8b4351265273e4f48863735c7f735a3269736e794f93cf1938f370dc99736d5e4a63672ab553814cf2537ef758736a60f5f3664f75436c7642736919618363df34f36b2f92936499ada35d528013644697c36b4107836609d5936745454368b6aab360244903638c19b3613a9b036e3c4b13588948a353a4f44356504083578569f369ef69a3644db9b3682ae8a36747984360d1d7636321b84363e0d8d364ce63536826e3a36acc72436c9fa0b36b30f4b368559183669370b369d2a1136082dd335932b013fc1f0fd3e807ff235c9a9ce351bc20a3f127fde3e02b8c935a4ae5f369fb9073fbdc4a73e8d6e4c361b108e3626c8fb3e75d1563eb53b9b36b4be653583f4be3ed55d033e94943135367c9b36d358973e5d80853b41809936ec2065366aa6123ef70a2637cd298b368afb3736bfd7ce3cf9ec2f3662862a36895916365a749c39190e0b36cd03f83506b27d3749d81738cfba97364d6093365a12a336f31c8f369b266b36ce188136cfb1ae35e8be743563a98d35a8dde135980315360d1706368dd1cc3528db0236a179d536bebcc836cd27b73670bece368aa8b7368d8ef3358c6e0336839d0436db880e386eebcb37c3f1213669f45437bed4b53764f28037b71da93692e9a436f91d8836add38e36fb33933604328b36236093365d1ba13e84cc2f3f4ed16f36d6de8e3619a2b53e95981d3f5e0c4636975bc835b954b33e0334fa3e5771a735e778f335754ea63e9b58af3ec82b02364689d4362ba1963e51ce543e2bfcab36ba4111361ec1693e0cde953d222e0136eaa41937570a0a3efbbec73893fbf1358967b036b4ab943c4ca98637e030a836eecc9436a59095385f6f72363f2183365bea9636e6d6ca3718720736d6f5e135e85e4b3600152336cd81ac357178fd35c64ab036f2a29b35ba9f3a355e4232352dc6163691f30d36e886073626e707362cd2a037620d4a36934a3636d82d473681dba737d9843737a6cfe8352663ed351fb2d0363e6bf1351edf023692b4043663db1337870cb1360d1fbc363d90b536f720b6372120e93634cdba36b709c636f54b013655b1043e9c0e5f3fadd8af35bd242336cdc02e3e97e64a3f8b033035e6c5a7352e28283e63d62e3fd64125351eac193633ba223e6d19f83ef100fc351c425f36623f0f3ed355a73e718d39368e378c368429083eae63213e1e79dc3524d7fb351dfddb3d63e0633a3aa60536c97fb636f3d0b93ce77b5d378777b536c99c8237a1af9b381631ab36de21a136be349534057394348fe5853487689034873909363b468b350cf74a35804e8e3545d89d370aa014371ad07235750491358b5bb837280360374b2b3b362aec5a36a737183564e52b352d3a243512182b35f4590d35702722351a67133583bd20352a60cc375da5df3743d6813673cc8936229ba337278772379289dc354d2ed33563194837448e5e36a22f55365990463646f38434c017883cd3117c3ff4fa88346a1ab535cb4c2a3de9d4673fb127203590b878360040cd3c6cb54c3fd97f603508090c3793198f3c0c591e3fd7014236f38a2135e18dfa3ad2bfe23ef0ad1d358fcc173534040c3c8eb8833e88551335877a16378229583c309fa03d29ec8736ad9a0a373c65f23943562f387e3bd4359a870837a8673838a0b8373647b516360000000000000000000000000000000098172a3659a2213670ed093615d117360134fe35de25e6353751c535a7e62d36a6ab8e3584f5a8350ef9533505b69835d203853629208336b5b05436e34082363ceb5e37aba213379c127535897aaa35612ab935fd5894365f5ac235eb72d73557824836b7e95736eca45036577c48360000000000000000000000000000000000000000000000000000803f0000000071693b36c8f33e36e8887b3f6a0f00367f1f103670fc9a3757c55e3fc534f835106d973576fbe437b902303fc4d2a135a56d90364068a836e909fc3e77e8613646f0af3522169f39c1c6993ecdd17635deb2ab35f6dda137efe6f33d7eed0336ebf8553608141138ba748e38f0f14b3600000000000000000000000000000000000000000000000000000000000000008d0395355f452635dd1b2535934b4d350b6a2835c7811e3501e10a3554471635cb481937f2e5033607fd103600c00c36664142383eab97369e9697369f469536a7aa5f349a018e346d057d34fda58334821d233752bd88362f357b36af678336d93824371a4d1f36bf6d10367844163600000000000000000000000000000000000000000000803f000000000000000007c6e535c6eb7f3fabe73235415e17350e70e6377078593ff5161735c6e1fe348e50af37463a2f3f11710936bd620f36eb518b38458b043f97ed9c364b9e8f369eb58d349b19b13e64858d34e34a6f34330c9c3646ba2f3e0f5b823673218136cdc0b236e61c533d9a4d0c368c2c033600000000000000000000000000000000ffff8b355e931838b4a89b320f91a93264ff36348fd684346f071c341e1112343488b835cc6db435f4a4c33531f1cc355eb1a736972c4e36f864313682864d3649922636cba41036495df5354a760a36c950bf360e4e8c36a5a07236cb7a733677201037ff79fe367bfedf362658ef36c6c15437c1160a36668ce835918ff23510e3aa360962b6314a85a8311c31c131c10e9a3284417c3fd1cb703c41809c3216c3a63310d97f3f64577c3425ea4034fb0ec3356fc36e3fee43c73510faca35c53ac0364460453f5f4471362d9a2c3627e83436e3eb163fec98123626da01369eb0b536835dd43e1f698736867e4636c9770e37d8475d3e5405ea3681e2dd36977f21367c7cc03ddeb4ff35be28c5350839d231103c083a683bc131442eaf31bf1bbc327a5ea4389ef8b3324cc3bc32c1a13b3661be803674ea40367822eb350f10cd35f9a6ec3525ece635ca49d835a8889735d077c635bf1c9335f199553538143d3697292136d57e03362221f235c93f9e3660eb183655811136f6a72036cffa7e361241833653165b362ff58136c688c736161dc536f4eda236f7bba436ee7f8c362f8d92368c507f3681d8823697f6b332a0c8573fe80c213e1c2bb332c52c9f35c8b9633f0dd9923d7f9a2136a7e5b2352ace603f3b3cc536a2ebd135d57380355098423fb5e7c4358aa79335f5b23c36db07143fc9362b36a5ad0536d17c64364efcd23ed79f0e36abb8093603c55b3656b66a3ecdf05c3631cf63368870b336a619c13d3106b03673d39d3672465836c156b73c483f7936e5a56936a199f6360007df389a095a36aae21536cc19fe364db5ef3704d9dc36b251b5364b629535a6d8a535b9b6aa350d54a9356c089f351a249035fb659935bd1a8d354a22b9365bb79736e057983614c97b36b8a29334b1c57134f7698534f1959b34711fe636bef2023634bfe935be3ec635c2ae7a36606d6036feb22136c6981e3690712b32dfd02432699a1d324a722d32ef02fb3508e62d3fd439a43eae923536effca836d4773b3f6bae6e3e1f8bc936fef0a235ceb03b3fcf57b03dc94aa435b9d5aa350a47313ffa619b36e81b9135ffbec13630a50e3f7f27cc3640058d36f2a3f234f0eecb3e71d8a63458d37234897e0a369b3e673ec32ce235ae4ee3353ac869364564973d31563236413b0536aaed2f32d3b5273cbadd2a32f4941f32a9dd1636e6c27d39b4f7e7312a750f32f039b535b0c20636c0cb4735c0eb1735e10f98361597c336f13d7336a96a3636e2a4d33678c4f63665f6c0365654a73609330e36c3f71d36f465eb35a7ebd4351773e136c147d13673f1a5365d368236b7c2a9368c389636ba554836decd60366d34ca3550f2ab35ed9e33354ca64b357ba21837f92fd531f9bcbb31a95fe23118a00532205d033f7a9af83ed837f6311bd8b334d3cb103fb2a8c13e2ed5133576b8453626a90d3f72b27e3e32544b368a20a536cf5c0a3fa302cf3dce63b13679baf5355bf6f43e4873b13c9e8ad53529d2dc36f8feb73eda94ea36659182360895ac36b9584b3e9658793639d13d36866dd23553266a3d2667703512afda34ec796536c8a0da3a57ede63194b2c93172e5353245880038159d243258a03232e85879364aa0953691070c3602e695355015e6354b1f3537ca3301366b59e435c03a9d34def819359b2c8b3446cbb93308d4c436f228fd36d267b436e239923610129135202ea835abe0ae35685a963574909c35a92aa835a7be8f356d0a8d35ccf011372a860037161db736e3f0c2364142883794d48436da372036fc8e4e362c213632bc3faf3e96df253fc7312732e0b61236e283c93e818e083f7bd9c5350765c635d480c73e1b39c53e333f00363b1845345b7eba3ea9f2733e06e69034262a9d361cd3b23eb8dac03d1d7faf36c6f48e3539bf9d3e0c1aae35a644a3353ad89135922c3a3e2abcaf3509a09d3595030d3716a1113dc76edc365dcbad3602b44937a30c123ab9bf3236bd5b1b36749c933687941338357c8735d350f8344df5c9360953d237561a5d36cbe0113687fb773647a882361b53333614ddf33550cb8236ad87d4362b1c073604d30336da414a36fb079936a1de0a363500953500029935a850963562879d35706b6535b0a0e73583faca35e482e13573a2b6357e545e36350f4036dca6db35fb49d235fa393b37d85aad32b0f4a7320fdfa732fbd15b363c812a3ec6ce4f3fd735f0343920af368fbd5d3e9695303fc080333607f86836b88f563e87fe0f3f561e1d365e031236753d533edbfcc33ee3b3fc35a1ef29368f76383e1145783e01caf135d706ac359e70313e5ced893d541694359505e4358d8efa3d7924d9355465d635cf4b6736d899203de5d222368e62a9355851b637f37ac338751fb1328f08a4323b3ad8314118f037f1c9bc316539da3140251236016cb137bcf36e35e91a3135a4e71337a4241a37747fac3654bf8f36deb4be367823d536504e3a366ce40a360ed71f36b4133f36a30bf335ebbfe435d893c4361bd81737f54a813688563a36c430bf3537818637640ada35372dba358286c733193b833484d7913347902d33b3a982374a289032ff9088325d788832f45dd631317f463d8797733fabcdc331b502c83516f7a23d2bb2533ff21a56357f67fa36b8e6ad3dd42a333fd79ba2366c708f36ec3d6c3d6935073fb21a2b36f785ee35cd07ef3c4cc2c33e97270036a5dd8d36d98e3b3baf91683eb9256636db46c9356109743c4b25583d7982e1359bc644337a1fa03a1f732f34ca66b03393527a3749ebe239cfeb9432126a863200000000000000000000000000000000697b253671c5ff36f1b3c635df44a835ead8a23648beda36c4d61e36b9eeea35087b3434799e6c349ee1323497214234b6281f388e7d8438b3708036ab2f6e36bb5eda360aa4bd3751d51436ee11fb35260cf1343865e83751de2d35cbae0535739ab0359f45293780c6ab3507bc56350000000000000000000000000000000000000000000000000000803f000000002b2d02361e8d253832ee723ff87beb3501738f3605ab3638c422543faf9815361f5230348df42b3783a0273f3cc3443462639e36cef3b5388b08f73e7e088c365ef4133635f82a38e5dba13e892e1136728be1341eecd5379fb71a3e73e344355e7e8a35aa1a78374045fc39caaba63500000000000000000000000000000000000000000000000000000000000000006b6820385b068836a31ff7352d8dc835132bcc364d1e8f36191e113698c39d350dd60d38d121233642b1fb355919cf359c23cc3649598c36fb5c6c362ea747366acc8a381458333388633633f0463c333d10b9382b5e063604e6ee35d28adc35fe1a1a38a06fd836e77c83360811763600000000000000000000000000000000000000000000803f00000000000000003857e6387728733f55b482369220e935ac14063cb8354b3f96ad8e3698fc04361eb87138e660283f78731e3645f2f0353d8cc33662de023f20f28d36b67f683651683738b571bb3e6b5a3333973237339d7b1b383e124b3ecad4fe35bb8de935b1786437954e6f3d3fb99f360bbb8036000000000000000000000000000000004324e037e53b953cf6e9b9375151bc361bf79337324c66378f3fc63618708d362d08b837e2346e35da25c434c8199a33285ff137c3cff235b4b49b35503d5935f3a4df3744a05e36f5e03c360144243644950c3849f4b633d570ba3345eabe33b6348d38583a8436b4342036dad41236c1b2d138002d7c36dc9d6b360a876536ed718a3888d8883634ae1b352cb51a3581e91e362f9d6d3fbe075a3d66bf393704b2cb3649b97f3f7742cb379b7fb836ce97a43649526a3f49de8a355bcf833473db37378d943e3fa3200336fdcc9335cd95823788d5133f03bf6136053e3736fdbf57376ec1d43eb250b8334afdbb335639d2372428843ebd467236848c1f36ae6c62368aced63df5e77936f6e368361bbe4f371cfc2b3dd0efb835f458083573fafc35e736023d9bd030362a742c3681100637358eae38dcbefc36111db03685c07b37ee7da137328c373622723136ff26f737b6cea433d107a4336faca133be3f8b38ccee273654ca05368bc0ea35d5fa143820f49c35b93880356be15c35d3d19d370eb088346cb4373452aa3834e20da938e5e0b23629c3a3362bbf9e36679aea3862c1d936d34d8136209f6f36bb956535ef12473f532a433ea5ca313604898d3650e05e3f0079e33dd4ece23695ca0836a8d7573f323e2b38256c2f36bfb88737fb58393f0568af33f53fa233578bcf37d72e0e3f54912a3681eff535fc32a2357c6dd13e95e79e3539395535f4c9af33209e7c3e98cd9734f6645e346791ab36a62de33d0b06b03600349e36af5a75387ce9263dbe5a9136701b7136e47a4e36cf1e753cd5173736419e2636abfb0437e0711d394b566a369d654736efabb93504607538374bc63537dca435a40a6d3846c0fc3572c4a33599345d3571538f370d3978369c554e3635212a364d8565381caf953464ff42334005473381198138aac2583608e8273635541736c766b838715eb0369e975e36c6704c36bf5e70380ec70036e2f4db35924dbd35c32a3236a4b7243f6c66ad3e169135361dcd4536ca6d333fc0a27b3e9dd85e36e178a035e7df343f2149d93d8b30bd3556d60e36c4c2273f9c82df3cb8959d35c89680366860073f23038036c1ca4436d2e56b374ae2c43e110abb3499f5423375bd25375316753e0de45336e92026361fcb173703b3ce3d1bc1a036ad3a5b3628c0b9377a5cf33cdf9bfa35c33dcd3508cd0e36e28bed3ae471ff3541c4ae35b5368436b7dcb938638b7936f72e4a36180a0136681519381b13f035b736a33502fb253605801a37bd1cf834a2561e341930b63824ba54388fbb083632c1e0358f9d17375ade7a34b7dfb7338276ba33d03c99376e16e7354f8a8f35e5f922355802493865e58136f6664f361abc36367a8e2a3807a0d535ceea8535ccaf4e3557aaba357e0d023f6619fa3ec77ce1352a136636064f0b3f1f03bf3e0bef6c36eddec73554cd093f30457f3ead0be2356379e933e58e063fa955f73dfc02cc349af7ce36544ed53ec1e1aa3d34da0236e72e3135f255b53e1cc2fb34aac0b833aeba0936e5265a3ebdb2e1354c728135d74d8836bb4eaa3d35307a36d4504c367a63bc37e03cfd3af212d135c7508335d3486f36463c873aed95f535fcdccc35680d7137f0061239176e6a36d9613f364a200037367cce3879296136e5fb2a36a21a17376998b3388bc3b034b3fa4933d31b523733ffcb3756c46b36bc1e4a360d7d8138bc8a1738a5920e36a35400364eec30387cd1b8350bed84351dae3a3591d0c938424e6136022d2e3674d31c368a5526380c593e36bccf1b360e1ef8352839f0358908b23e01451f3fb548f0354fe98836c1bac73e8b7f023fdb2e5d3654774836874cc73e9653be3edba05436054e263439b7c03e006b753e40efa9340f026a36c6a3b33e5466f73d63c46236a376e735a04f9a3e0fa6853c80f30636d974d935fd67403e3f4ab93521558035df856938683e5c3d89b75436f86d24360ced9d376437703b6a4b363651a10b36e2bb8d38eaa77a3a616f4636bd331036ccb9e5376809da382c2a8936873f5e36f3c84d344a6ffb3752d00633527b0333d677a83502458338ed2e193565107e342b87003887cfc138e1af3136f48c093607b2b337f1154c38482fd434b13dfa34da0ef337c6cc17362685d9357f97b93532451b386aa0da36bb9fd835b7e695354acb8f387c56af35e32ac434da7986344f378436a7574a3e2ad7423fb8853c369669aa362a377a3e7f0a253f147682369eb86034b3176d3eedd5053fee4b0433fc038e350eb2663e6375bb3e8819083588961c3621ea4f3e75dc773ee44e29366d65a53362fb3b3ef2c8bd3d4c46cc348d7a6436a7fb203e56cc10378d6dd235b543a037299b983c520cc33647d6ce35f2b89c3832831c3a51f59a358c2992348c9011385bdcaf391c224c3459eab33286768138d195af38fdc92d36ab71dd35730744386a2794380097f5355312753500e2a537cf3124388a3ab133c39aad330b2d7137fd325d38691f53366bd6273651dc2236a9b28b384ad716367643d835d2ef5e36f352a638b83ebb354b7c953576f7043846c9033710668a36db9024367435bd38d768cc36ed4bd635d5cf6335fee022351fa8723d1c0a663f3cddc43386f86e36cd52dd3d2797493f398b23362bbb5536274ac13d0ac3253f4f21eb35dcb8b8334b909c3d262c023f50e3af336663533671536a3d1130bb3e7a2c4f36a924ee3535e0b13cf6f56f3e91e41436e1545a35a475b13a675cab3dacb1b635c22cff36f4258a3af79afb36775e7d36b141fb3898140e3ab87a6136bfd8c535000000000000000000000000000000007c287937d7dbff37f9104536206f1b36c96cef37ebf1cd386ccbd035ec368435ea60f6372809ac382e034e33adbc5433e3d59936c0139e38f50d84362fbe553687eb40369b1562390bb250365bf34336bcc7c036818e113c48cbd8363163b636c656b63662482039c0bfcd36aaa7af360000000000000000000000000000000000000000000000000000803f00000000cd6c9b360028043d88d3683fe9b04036f2e600361d04ee3c92ed453f4502cb35aaf23333131bfe385052223fe0f14733fe828f3637c8f738fe5efa3e4016833682cc17360f1c8e38f372af3e590551368451803649022337173d423e4a7cd336fdac6836a529b438f5fc4d3d2be1c636000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dcdfa033b63ee733eec11e338a273534af200a3350e004332f9cf632ef190e334da247354a215a350b663635be8a703590915635b0c36c35e0f63d3569ae7b35cc99413417f42c3475b0c0333edfae3346968b35f9897e3548053e35126d613500000000000000000000000000000000000000000000803f0000000000000000000000007183763f00000000000000009dd50034cbc6513f561f8133893f47331ef5113357ff263fa31a01335811dc32a0df5335c673f03ed72b6b35a71c3b35ea507c351fb1913e0874483570103e3508924f34f798013e5534ec3311c8af333fb988350e90983c48cd833530274835000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac0c23323870733200000000484b043331e5d7323d1ba23202bd1d321bb1e33249dc81341be442345885c433f2ca5c34c5263c33692f0a33ddaf8a3230a66333719a553423680c343b78ab3338710b3460dede346855b93401958834c9dbad34c1c14a346dad5e346e121f343e665b3400000000d760793f74301a3d00000000000000009f8d7d3fa208373b000000003e1f77328f715f3f000000003c92ad3123caae32e46f353fd70eeb32750ea032a8063c3496e9073fde8f4234d3841f34385a4433d0dcb73ed48cd937b266c132262c55349cab403e58291a3ab89d0934730fe6347ca3763d5809b034f517933434b36e345d76c039054159346b9a5e344ff65b34e6258a346848513426d08b34078d6e351abe7935170f483526d08e3551ae71335b0e39339c0e61335f4da03300000000000000000000000056032a33a281d0320000000000000000622c7034c2cbb532f4e48932f3e78f320adceb32c60941332aa11833680e96316498aa3345119e34ab778e342b090234eda0e534c1cfbc34966cc33420891a34c30ffb334902483484b9553f9e4a333e62292d34713c663510fc5f3f8c650b3e232d6b354fe3823322e8563f0d87253df077973355db5232e7ca333fe5da0c3ce8642c30d3fac432f4520a3ffbeb643bd4430e33e3b9b332c8bbb23ed2d46f3bd184b032fc438d33ebea2c3effddd13b1f4e6233da7284344f691f3d9202d13805d29434c11278341ea95f359d70a43470e7303477a15b33a6d58c3339f46733688e8633000000000000000000000000fd2d98330000000000000000000000000000000067df0c3205a2343207e396315b7d8e3262ac183200000000000000004be5a833b2368f3316dfa933e0e9983395af0b346f7016333daf0a3316dde932b187e332fd07853508fe6435117a53356b707435c8a7a834dbce9c3494089434a29bab34b28f42333d072b3f40d0af3ee4bf513300000000b4c4353fb6d0993e000000000000000013fc313ffdab353e000000005c123832d770223f7936903d191aa631000000003b15fd3e69b6ee3c00000000aa988933d1ada53e3820323cc566973371f610335f07233e5dc7403ac6e7d6329f3279359924a53caa0d6735eda34f35da3c9e34318c673966ca943403df8834d8be2132f819ff32b76884334a48cc33f575093481dded333200e8336fc407343a151434e0ed833420b92f344d892d3487f9193319df2233cdf0fc32f2d03d339cab77343f996a349df43234a1c78034376d2f33adc80d332f85bc327c6b0033ee6a03343760c933a3a4b333b980303492eb1f3413d1fb333ec574332f43e233ad5d8f332014033472859b336cfda333293a1a328d12f53e2d37093f1a3ab93288c9ce33e07f063ff325ee3eaf6eca333b71f5339f55053fb6d5b13e4f172134f3951433fcf8fb3e96de4e3e40431e33ab515834823dd83e3609ae3d0f8a5934d9dd0433c244943ef00bed3c2839de32e4c7e13345f50f3e7f93c63b2322ec33dfcdde3385c7993c3be61234b135c63367a2923363a2a83948c3a433f68e8d33e34f90346d19ae34fc99aa34cf9bac340488693516b57d3599de4f35fddc843587985033386080337e1858335f4b8e33f038853305829933f45b00334a3d10340000000000000000000000004019543433fac2310c3d38313fcb303293b990328cdc163362c7e032000000009efecb33000000000000000000000000f55d8b3385c075337b506133e50d83333b9c8f338f079334cf0f953e5ac6373fd3a946349f7e6c35eac5b53e3e64233fbb455135fc65cb325f02ae3e36d9023facb62e3399a5c7336cc79e3e2d69bd3ef2001c3365247d33ebb1963e8b574a3e00000000cb4c7330de68763e6ae18a3d8408253257dadd328ba4073ebb03d53b00000000757a66335128093b000000000000000045c846330cba89335c403f3374006f333db6f534bd84e5348ff4d233c1f8e1339b991035c9b6f33468a38c3456ceab34ae7071331a783d33aeeadc325f972c33b8e1323305820633c0efaa3271cad63295f6b9334e1a62330000000092e9b533765ab131d7b9093100000000164ce3321817a0331286b73314896133973c9a33b75c86350d546d35fc1e53357c137b352f4577347cae6234f03361340cce86347e2a1834ea7f043e6f93603f19379b33282880346104333e07284c3f4afbef33eac7f432ba5d1f3ed75e2e3f4fcd193397a35433dc5e153ea3d2033f3b409732e3c49f3239af013e7d9db03e0000000000000000b3e0ef3db1ae3d3e00000000ce16a83338bcad3df7fe363de091283392067c350a15c639af656535bf474f35289d60345d3b223989bf4c342e194e34f1d74c3415877d34a6cc4934992f5034b84cdd347804bd34dede883421fdb4345d571634677a64346a511a349ecf2134e9695d33c2112d336340f33293d649331d52693461243d34de83b7338b427c343f70c8320aa44e3200000000ad139a3235710732dbd926330000000088354a33000000005d372d32000000000000000000000000000000000000000000000000d493493479df443cdc327f3f0b2cc1333d8cd834056c133d9df7683f163a28344337fc33a998c93bb7ca503fe26c1e346767a133b83b333b4e0e263f53032133fbc73a34e658ae3aec13f53e8551213490395b328814a8398df49b3e276f943100000000a52f5c336a060c3e0000000000000000e356cb3a13d9073c000000000000000000000000000000000000000000000000000000000000000000000000b3e06a3519e35e35c0ae3e3552d58535c32eda33c2c1ab338e2ea5335754de33b6ec0d35fb601535ae8a173578911c35d6892a3506ca2935c11b2235a86c7435016d0033dc7cc332d12ac332afda0f3300000000000000000000000068548833000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f00000000dc3d8c355e0fa33567b37d3f65d84835d6f4f433e6de00347726623f0f740034d6765035763a6b3561603a3f4d4ef434eb936435cd3a8d359ad50b3f53230d3579b4ff3207e70e3324cab83e7b5ce83215ffa43114d7b43397c4433e00000000000000000000000009e64c3d000000000000000000000000000000000000000000000000000000000000000000000000d7d8d535c696903584e27b350dd2d835bdb09234005b8334119a7934c844c334f1858a35050f9735d08ca335533ba3353cc90d368fe9c7354a99bc3532bf1d3635cbbf341162b2347685a8347ddc003574e650350a6f5d35a6eb84359299893567f5d835d7d1b83554cca335ca3b1b3600000000000000000000000000000000000000000000803f0000000000000000ac2016372e66783f284c983590eaaf35007c013854254e3f7d9e2f340e46703425f1ca3719d1243f40698535955dac351d03063882ecf33e58d8be3526d8f835215465344e379f3e81eb21346454b03419492e35f030223e1ae22435bac89835d294b33511b2153d3182a835ea18d035000000000000000000000000000000004a909a335b1adb393a15bc36379a803400000000000000000000000000000000ffaa28340000000000000000a708d633abdf13350de21d354c001f35fd7b2035000000000000000000000000000000003bc355357faddd34e327b83475903e350000000000000000000000000000000000000000000000000000000000000000693f1d37e318ec3163d3f131b3317534000000006206793fff01f93cdfafb33400000000e3467d3f06829a36000000001bf9b93424366d3f0000000000000000a59b0835b972433fc0d93b351bb00b35c4e22537ffd31c3f0000000000000000db968235ce85e53e39ca0c35d8229634000000004504813e000000000000000000000000082afd3d00000000000000008b232837d514873ce4371c3400b302320000000026f9603c82724436000000008bc77b34ba8edd393fa57c34afeb3d341313b0344f5f763423489e345463a5346a507a34e1995f3468253f3454890934000000000000000000000000000000000d7dec33000000000000000039d663338d1d1a3432741a3435d9233461cc173400000000000000000000000000000000c2157537a9abc33449fee5336a926e34000000007e7d4d3fef68433e0000000096c0103330755c3fba7db43dc84c7334cdb3bc34489e603fb3000739db7580347707a23332c94c3ff3e0763433201f34000000002568223fcccb1c340000000025bc48344fd6ea3e0000000000000000928458331d67913e89a5353467ac173400000000df69fa3d000000000000000015913a373be96e3d000000000000000000000000ae9ecf3b0000000000000000a71e8b34362b3f3a2d8f1c342d4b2d34990e2f34ecd8f8330e9eab3342d326346dec0935b83e2835b46b0635d013f734993d963593656b3506310f35817c7735687b47346de901334ad6c33068a0a6326a49a5349b398f344b76a034ca9fd834e59295351b3c753523b9fe34b72a6235dcdedf3751757332c9489b3190c9a03100000000a7ef263f559ab13e000000004d776a34f4922e3ffbc3743e5eaf3334a50033341c66333f5ee3b03d0ca02e33cd27a8340fa4313fb4ef92399f0d033585096d35ba451c3ff7205c3572005b35e21e1a34899ce13e4ae3cf30f1dcb230f1d67a349b4a8e3ec37d34347815b034fd707835b3dc043e19fc3435f38f1c3583889137c7f0153d82899531aa64ab314763e9318b554b3bb10546345ee280335412fb322907843a071ac032ebccc732f583b43157ceeb390eecb9314a22f3316ad8c23342e4d134acd7a634c6a6d53300000000b4bf23360000000000000000cb00c13459c4473168f378334ca8a834c92001326e95e73122610a3297e53632fd82193304ca2833a16e3133a00a4633cd30bb357b3738311949323112ce16344ae0f0307a3cf33ecf7b023fb2d24d34237bde32d637033f9db9c43e7432d332dee89a3108fe033fce9d783efe540232000000006b49033f9ed6a63d700ea7340000000023f1003f819d8f39000000004ccb0335ebf1d43e183645346739893242b7d631df90803e8a8be03199410f32d3ebdd32b431e93d4d38243331aa363307201d3748dca83c34d2c83392e037319e128c3681ee473ba7e13c3185c23a314485ac353686893a57c63835f322183517f9a43414272939e76d9734af7f483412c3533046ae8439b479712f00000000f5fb91351489d93695587a35e6350c3501e55835cc1e2a35d438da342c1f98346da2e433fbdd32346ce81d3468dc083412a46e34284276342791a034b6321434fc546937000000000000000000000000d9c76c31880d983eb8772c3f6bdb25315fc75d353fd7af3ef364093f3dd924355c745134ea6bad3e3fc8c93e1dc65d343c224a30147fa33eb084803e0000000055ec4b35937fa73ec7d3963d704e7d35fc650f350a21a03e40b49139ddf0c1342e145d31fa47653e3b5f2e347bc0073432951c3480ecb23d8bbde534fafc9934db0beb379c75ab3b000000000000000014dd23355a4c673a00000000000000000000000071313d3a00000000000000002eb54834e0ad8339e101983196effe33ba052833181859394186a2300000000000000000fea421390000000000000000a149a234be4145347f5d8833c2ea8c3402b6b5340217be34f886a83471e19334fb7a0535ee209734f9339733f51ab3332457ae37000000000000000000000000000000003cec053e100d513f000000000000000092a03d3ed947333f0000000008836034baa5313eec140d3f00000000bb8d073333351e3e4236cb3e0000000000000000969b023eb5f27e3e00000000b51fb73471350f3e59fe8c3d17cfe0328457a6345904033e37391f366e45963443bed134b862743d99892a33c95501334bf83338ac94423b0000000000000000d65315346c26c839c3991933ce462431000000002f808839000000000000000000000000d218e7360000000000000000aa811535786b0b384e2935359dae0e35000000007d1e2e3900000000000000009c44423553d702397807ad3414c81c3500000000a927c3372e138b3441d0913300000000000000000000000000000000a67df3368ce9eb32971fef324f997a3406f0c0330fa7bf3c3402773fc8e0a732000000003d34513db5bc543f00000000000000009a67433dcf56353f0000000051120535f565263c1fb00c3fa38b3035000000002b71443a6f77ca3e00000000f2395135064c153a40c37a3ed63bad3400000000be40823a77baa13d2958723400000000a1557c3c0000000000000000e92303382cabd73aa0df36340000000000000000000000000000000000000000f4580836365e9536d7a08335ece25135e4ef713532c2373586d72635f6443235f9359a34ed3a2734f2c554346c9b40346bdf0a3636adf737a4e0be35e88c9035b89aa63575fbc037801d6f3513b291351355873436764936a9528a34cd206e34622ccc3588ae5a38a8cb8b356d3a2a350000000000000000000000000000000000000000000000000000803f00000000f56ef73509de6b371f01783f871c7535862050356dcae4380a83583f83fb24352a5f88348c08a7373886323f9cbc8a3492dc0736f1bbf237421a083f0c41b3355c159935c27ca9378b5eba3e47006f359133463413774834f9224f3e0cc29a34074ccb35dbbcdb357c6d143d09768335000000000000000000000000000000000000000000000000000000000000000077db2837e9c6ed33ad14de33c16ef2337d53c9372692d934c7fce434d7a30f35c71bf13744bd54365a17cd35253c1236bcc7f137bf7c0934ffdb0734066f1b3400ca87392d2161348ed98034912b96344255483a212141365f77dd357f7bf83545ad033a0000000000000000b759c93200000000000000000000000000000000000000000000803f0000000000000000608690371e6f753f0c550334ba9ceb331c3af73cfea3493ff2e2d4340756e23432a5bd38a5f8263f87114c366f38db35d07c88381878033f99a91c34db8b123484dfec374e20bb3e9bd75f346f5582348f280a38d0dd383e8c453a36e675f835907a32380b199f3d0000000000000000000000000000000000000000000000000000000061c10d3d0000000000000000c0a4f537e89ff634f765aa34044d9e34df8da234cab82034c8db013434959134b19efd3736a2c534962ec234ef311d35e4453838ffe7bf3418df66344d99553497e62439964c9233e5c1a1337256b133e1968c385256713385b35533294e4b34ff4a213ade58173449160034f6fde3338a8b313800000000000000000000000000000000b712703f8cf9e63c00000000b7a51d35197c7b3f2c950635fd5d94340128303592f1713f1a95e3337f7ffb331543e137b783463fe13bb9347e26c734eda817386e63283f1b2ae53403795d3495d0923727d4fb3e235f98331e6aa7339400053853da993ee73ef932c4c48e3349eb043890a4103e0c563b34fb5bfb332704e73738ea723d0000000000000000ee45ad37dbb7cc3db19d2a34341a05341032c2338f3d073d1d7fe0335296d53300000000000000000000000000000000738d0a37a1599d33d058d8336c389f33bf034038897202344807da334fb79933d750a038da761b34dbda5034062d8c3448de7b3968156333112da33332cfe833cab71a396fc95534a1eb8633d7002233ebdb543ac43b8d329371a132844c2d331585d433705f453fd117003ec3d317343a8baa333d785b3f25cf793d98a7e13300000000cc5d613f0000000000000000746cf6362c5f563ffb75b833cce11834cd991438e4392b3fa4232f345737c5338ee43338327f063f241a1f34bef568348e213f374537b43eabbd3833fc22c23316904138eb0f543e908211341f5d993316908438dab3ce3d434575322230b132c8eb5938964ba93da8088535620b5f32da174b37ae4bb13d678b0734b4083834b37ef0347fde7d3c3436013518463435ee26d336a9e88334411198348305aa348816b0372f91bb345207b4344d6c0a3528c861382483c434c7c8d434472ff5341c2a2d3867029e31538816328333c832f9454439307d2f34ce4709345f132b34fc72bb3987f84934724ca233010aef33101f4232df39203fcb1b8e3eb1162035601536340303233f438c203e8b3e07340421f534e83a2e3ff7a87c3d8dbd083597995634c596303fa3257034ee3192344064fa36c20b243fb178d034da71be34582df337d1def73e18e3bf344412db34588eb836680bb13e19d59a31cc93063272b47f366a57523e7aa23134356a23342b731e385d38853dac08a5332cc3b133b40ab8378a53863d9a044632bc3144329d18a137784f6b3db21a18353a6784340e123837344f513d85852134eb433f34ffc5f43688f3423c1e85503408b0863404d4b637b339fc36cd6e6234eeb65a34d81000380986243450473534d6a44134d61b2d3858b8473480a034345d3d8a348eb4b8381fdce334cb66f73354d94634a6b817396d515530000000006a6dbb2e0e2f31313740ea3ec149df3e02b64d32f09fa7347934ef3e417c993ef066c9343ab92a34dbcff23ebb4d3e3ea9862834eea22334a13ffd3e7888603d98d35a3411938c34c767003fa59f1b36a8646334f6f6873704eae23e9b2e293406d7413406ae97370abd963e9cf83334010e3d343685e837451c3a3e69298934fc490034f9850b38f346413d58042f311e2e1f30d1e9ec37d8e80c3da48ed93312b6c2337ba53137ec8b043de7874d34484f30344bbb4036a11fe93c2e55d031c68cda3102ac0038882d393db4c8f134dafdcd342a53383646c3453b163d423550071835ffd47e3781e75f348e949034ea6e8d34539cf5371876d634c0c51135feda103572f2f338c6831f344ae64434cfb34034140a07398e70273288292b326b82ad32584ab333d14b9d3e7446193f9284e03389f94d34bc8e9e3ec481eb3e9e924f34463f9731a5a19e3e589fa43e1a4dce3114b0cf34c41b933ef4a8403e74d204356b2ad134afaf9f3e2b8c493d03fe37350e116334c484a03ece397334a48fab347993ac377ed17c3e83700535be271435a88a2538c7f5003e54de4234bae4453406c8d738a7b39e3c088f1032f9563932958194386c97203c61f3b13243fa9f32a93a0d38767c2d3c3873e4330e5a4a33d73c303740f61c3cefd0083482d5a63350a1cd378365973c491a4734f67a5234ecbdb637977f313d2f130434719e1934d496f0331ca2893c263c3734475e46345e5e1e3600000000000000000000000003968539d64f9533e78d9233b483af33cacad639a13fd3331ce5be33f8edcd33a5d6ab3207870b3e74b9413f6ccbc732d4493b34ad4b323e361c1d3f6573ce3384b97733f086263ef438f73eab7a003496b526348c590d3e58cba53efcb6403447b31c34caf5dd3dc4403d3e28ea0e3462ff90330912f43d20effc3c400b2f34000000007bfffb3d0000000000000000060a5b3758a75b3d4cf2a833f3419e337911273be76bdc3bd31cd533c3b5c1335c51d437a50dec3b0000000000000000beb1c6371ab0d83b2ae48b347f9137333dd38c3731e8df3b577cea3285e55932fbf277376d62743c781fb833fbd3b133937e83377fd59c3cf2d5c6345d0e4234dca3c43433e05c3d53d8913456bfa3340ac39a34a132b03cb9992935fffd9b34d64b1c3823f69f35a5e2c2343d4b84343b4116390000000000000000000000000000000081f5203df1ff653f00000000666758341e78bc3d74b8433fffd5353481151e33f9598e3d2cb5203f3b0f0d3343169233a282a73c4e2df53e017bc9336405f534ac47433a58dfa73ec8fb953454b0ab345e351938a1cd333eaed2963442170b3447857b39851d173d3cae0235bf360b3558f5a23c6502213581b7a534ad9dd236d7228c3b000000000000000000000000000000000000000000000000aac5d1376ebb633b0000000000000000c2e6cd37eacfe33abc980e36d1c1013433a8b436df26873bc508a234559e8334582734344c51ae3cf5bd4f34ebb240349069fc366ccc3c3df34dce364dea84363fe5bb3507d95d3d164a9735224d2335d45b173433c88c3cc15b2f34ba492b340000000000000000000000000000000000000000000000000000803f000000000000000090d0e13b30756a3f000000005045343663e30c3d2740493f07ebde359fa7593486b9e23943b1223f88549c3418dc1b3457a2a0382145f13e115b5134c2793a36f044b437ccb39c3ee92bc5368a5dc534b41de336fd74083e14d7a5351558023443ea0e37604de83ce47231340000000000000000000000000000000000000000000000000000000000000000d400bb370b30ed36cf98f3363b2064377e399c37f97cad364b49cc36aa5c5337400da437ac198b35545f8c35dc619036c4f9e83737b732375c4b8237660fc237d923e737efdff136a9200037c8c7bf370c7ec537be946637bfd9833711ecb6375b9dd9379ec897373bc48c37437ebf3700000000000000000000000000000000000000000000803f0000000000000000a03c9a376ff67f3fab2b7c370aa31f37488ab23740c2583f3483683708612d373cdc303897fb2d3ffd693437a45a0b3698f71e385af3013f5297bd37e444a8373cda09384d54ac3ebfc6be3724e47837ca58c837909a2b3eb425943774589837cc52bf37935a77387f889137f0399c3700000000000000000000000000000000367ab0379bad4a375c5fd536b4d36b37d0ef4c373ffb50366ad5543662ea593666aaa537df349836bd58cd3625c1193795870338f7e72137d214423777ffc9371a4dca37ab9276364eb6d636f9558f376ba60238df55da36f22e0737762b9f37553ef437d3172b3782d4153791bbc8375c92a937850d0f37b5a50a370c038637e57599370f1088370fce863719309f372fe0a53585f07f3fc45f8b38875d3d378b2a5236b5f67f3f078c1538b9015b36d35f4337f2eb593fd2da1338595f0437d745ce37f71b303f19b81138b2089d378e43a4371e15023f3d070e38fe0a5837765baf37042aae3eafb51838c40722378a07c637609c323eadbbf73787e0683799871f37da7b683ce4da7f3781790537019a56370f77bb37f9cf583729e7583735559037a999763765681f376f234c37f789b13726220937a1c0e236cb8b1c37d8601d38d8dd0f36cc5a1136c56e9136fe8cf03717da3f3725ce3937f6c2a537b80da837f4af293737822c376f726f37e9ad46388f05a337f016a23753c90038626987375713be365b79b036cbe65d373db9da377de6813794b217375520ab37fd9f08383cafa437560889377362bf37e1446d367c19583f366a1f3e9ad41b3709b1d936bddb593fff73183e0c22f23676d52a36db9f363fb5440b3ee1ef153640c68637c2d4183f8921b13dc1fd66370ef44e37dd61e13e2023663db1024137db47b4378fee9d3e8c67a038ce08b33793d7eb36052e2a3e1fa2d3376a4abc36044365377ee2513cd7b1cd37315aca365b9f9137356484383e7b9f37bb2968373bcc0f3802110f385e076937ce8883379facef37b6d67e37f91c1136c99c143654e39a37383ec036b5db2736e453dc36439d603866a3693680c23135a9359536eecd1238f2e40737c7b07136d9575a3782c2f537681db3362abdcc35b1f22a37db8601385379a3372f5960379d3dc637ce329a37152e86378c166b37c80a8e371abf2638488ed2379a004b37bbddda375abfb536222c2d3ff483a53ed50a083731df1236c5c62f3f304da03e640a1136dadbb2366d04193f881b863e58ff5436e76f9c375256f93ecb75493e58562d35e7ef443729cdb93e42530b3e891880366276b636ce43803ec741863dcc35e3350fba9e375d9e0c3e8a464f38f1014037bc707c378ee61a3c5b3e923773c44c375e8edd37e2c26c386dfaad370b1987366da422380e3b2238ca2f19377d5d3f37320db437d30e2b37ddf63b366c37443664e710383e11a037d8932f37dbe55137a9e8ea375ad026371f5da635bc3404376f5e6938bf57c23749092e37ba95a9377bb4f0372eef8537fcc6df3672047a37c9aa1d3863fde537f85d8f3762c8dc37c45ada37b0ff703799731f37ec318137663b16389b25b137fe3196375c1ec137b8580f3755ff013f91dbfb3e45957636fe1445361e19053f4cb7f53e5b333e36ba939c375659e53e1c17cd3ed1823037ef986c3735fdbc3efa32a03e7bb0a5356e64e937ffed8a3ebd0c6a3ec3ed5837eb5d8b370b69413ee60d043ecdacd83650f6d537c1efd03d74f6493dc9247d3707615a3745617438677ff13758a0da368dd2bc37e15e66388774a3372e0c5e3795382938c15a263876c33836594c4e368a41963736cf66376b488f36775ecd36e5c8f23711365c375667a335bef2ba351ae0fc37d1b45d36caba923525ff953566fd1c38eccf3c37932d3f36ff49c0365c0381385c6de737e62c34358705643761b69c377e1a5737f02ee236f9205b37dc5906384542c137905634376642ad37869803380bc0df371084a6377368da3707b76636ea04ae3eede6283fd1bfd835d79f2b37dfedb23ee817243f880a73366a0a6b371452a23edca20b3f25b4a5350725cc3688f4823e9b22db3e09a58f35597b883723fb423e3df49e3e315e4c369f720238d30afe3d32a0443eb37a3935b9aa5437cf28753d2d98a43d84a6af36b9b7b23759c45a38083f1b38265f3f3679dbe137355e2c387688db37250a2f37062e3838043605389ca5e93671f107378232d13737344b3745a13136714939368b558337dc6f37360965ce35f100df35e19f513862bfa337015e28373be552375546b2379e75543740a7d036aa991e3739850238d5d9a537f25210376e708937d01b3438b18986375f951736bb7ef33617d4d037f5cf8237156c15376b4d52376030763783bd5937971e303795d5523780e455378433313eeba3533fe6e69c36187a083754c63d3eb23d4d3f22542c36a732f03660bc343e5b3d283fbd4cd035f132d3374f62153ef2a30b3f77fb2e372dbd6f37435bdc3d68a9ca3e5161d73655d7c137b7127e3d703c823e13981237ab21a737d0a8b93c55e8023e59d712368a779437460752384c040b38e58bf8367d4972375997963785d945376307d736c768ba3757658b379f18e035a05af235e0bd9e37b783de36e851883631548f36cd4bf537aac55137989983362dc68c36b60f1f385d281f3754556f35341d1036c424fa37a2927437b7e16f36450376367bf10738aa56d23745e41d3783148c370f17cd3739486f37a7bfde3631af12376bb28a37d024033756576336fd6681369618843798073e373235db360ef347373093783747c3943bfacb7e3f634bdb35282b2f3783b9e23c0244753fd8b88a361250b837dc2eee3cbeda4b3f961988369774a3371edebb3c7afe223f9e33a0354c6eaf37e25f9f3c43ccf13e82d871361e58ee375aca053935a29f3e53602837ee2899372fe63b38d213183e9d5dd736e250343772c40738893306386c7d5d36cc8c8b37dc4ce137f9632437e4bfb235000000000000000000000000000000005ba5b137933b5d3791a9583623248f363537bb3771fd8b3715c35d3569cc7a364af1f637cf1b91370799d636572ded369146ef37a705c03766c4f036b284803749f1b337ca92eb36cadc8f3577482c364c4e96376d5d87372acf2837b9f4583780359f3798769d37ecb06e37cf3f9b370000000000000000000000000000000000000000000000000000803f000000009797a5372aa414388ff07f3f68dd8d36455da937fd0a1838640a553f4287a6361f12c43717f02a384cc3293f9d71f2366657cb3795593038ffeffb3eaade82373268113761095d3811e3a33ec768c5354ea9763774e8ca375fc41c3e623e3737be6d80373c6ac2372a001038d3444437000000000000000000000000000000000000000000000000000000000000000052aef237c9d2ea36c4289636db079836c137333891eb1937f02d6a36220a6c362c7afe37fa5e3d37a6e29f367eaa2b37076266383997c3375a4b5c371a13c3370da93c38b8ecbf37da3f5b3778bddf37cb4cf2380911f4376741b537fa8c1d38cda00c3868b49d37166a5f375a1dfd3700000000000000000000000000000000000000000000803f00000000000000003780af391882733f2c95743721d1983613d6c439d8f34c3f490da9378e5b6c3646d60a3a8b3a273ff5ff8f37f9ad1037fc85023aad0a013f9a9004383a12a23790e89b3847deb63e56ddfa37f8a9a037e2a52b3a9582563ea2640138c8ffcb37cad835382bf6753d3add7137a257653700000000000000000000000000000000ca443438a1ea2b38d63e3437aba01437ac2a29380494cf378613be3575708536810c25381f1f7b37c6df1836af4e553640f41638e9fe4e37ec03bc354160bc35606fae3754bbd436ac51d436921cd63659bb1638b3b13837b79af236f8af6a37603f8c37e127db36f2083036cd073f3774475c370e9dce36f4d9cc36d05c5037c325cb3702d045371612b236ee8ba2375f0df5370110723faeb65d3dfc4f9937525a1b381de1653f18b3433d2396203768be383811d4433fea32fa3c52afbe3664de1d392e1f213fb738243c2849bc350921d5378e2ef83ed5ff7237ec2bd536f8355138a3bbb03ec62db9378e970837f3a99a37a8ec513e604d1537438b513604767a37a46a883d72e7c836b49ccb368cfd1538edcf5f382fde86362a569b36b3e74d3977ff7f39e07d88378c278f365fe07a3a48e2df382bb09935cff69c356fcfcb39619f963704945635b87556353ffa61385717f637217011363bd916369dc04d3809f58137bc2c9c369c2f9c3600821e3ae0d67237bd7e5a360708a4367decb337670044377364a536150b463797291a38dc04ba37baf376371c10cc37f59422385915e73757409f3798410038a61c103809714c3fe2304d3ebd0dc03760e17a37b042453f2e04413e14a89c35ae660e381219263f2ea6173e2e35b635ed6a52389b500b3ffba3d53d4576143692f525382b53d63e254f953d9ca39c3619c5cf39477f9e3e284cb03cae635b36ef98a7379e6a453e337e7f378eb3b136894623382a8a823dd547ad3740c25f3768f836386365a4396fdfb0374e58883767ae1838986424382d8741376173be36f6d2623aa2eb61393017a236cadca13616cd4c393649f8374d014d35fea34c352c7e0c3abff41f3843e47d361f4082363b1de839bdbff937f11b4f37894a6d3781080038f4afb9379ae82437f1c0653726794838843cd13731d0fb3512e3e43687d7f43791e9a6378c6eda3673268e37e5f15138eeed0f3819ddb73756780a38bd1fa5370fbe263f7f5bb23e967f543779e74737a461223f433ca53e1153a336aaf711389c860b3f020a853e936cb835d0d06438455ae73e42a14d3e725f93361cc256388291b43ee2ce123eaa418537fb1edc377cda843eca85a33d77c63d370e252638a40d283ec0e1ba3cd964cc355266e9377e2a743de620ab3741a9bf362c59dc3837b81b3a5b14e237431998377f951c38cb2c2d38f61e3a37f83f63368b52db37d0f89b372e4966357d67693506878a3998a5b43712a30e36ae450d36b8af1a382101bc371d2e48368c804536c7d13f39a30d04388c5dd13631d6d1365cc112388327c33781b84a36e9114b36150fc63848f98e37467813362f181e3638efb837432039372e9e76365fd8a736355f0c38f02cc937fe8a4237d97ca33758ada8379d55023fb021fb3e8fbe4037952d12370d70fc3e30e5e83e7c4c6f356ea9c43726ced93e339ac13e65cd0f362950fc37b9d3b63e2842983e745d48365ea31d3886bf8b3e2134683efafc1f3726b9f437d334533e0c670e3ede6e4a36514ef0373b23043e0705893dd048123648699737bddd543d995566378ecf4c3658c118389cbf3b3854cdb33769db0637729230392e97bf39fc8a9837ab79a736446a02384aabe03763ac8736c6718636f8d44b38be90f0377d5e833594117c358e49023871d6b037e38c153698550f360982af394a0dff3746c2f936b789f836a047a139083a3c386de78a362f8f8936473026384374033869cd063788782e374772d239524d79378af3a536c763c9362d7cff37aae9bb37ccdd2937d634893775daf537e75cb83e6373233f92e79437539e923712e3b43e943e163f0144883629790038cdfaa13e2634fe3ee8ca81350275e137b128873eedfcca3ed61c5536688e12382e42533e5bea973e173032371c755138b6fa193e5a99483e6adab336d8f611381840bf3d1896cf3ddf451b37350945397b9a193d3184743bde5fa53632e30c38eca3313835b9b1370366c23621ea3038d2684238c6cb34371f785d36db4a253840ba1138740bd335f578b0356663b5373ba03437000000000000000054710b3a5e63a437708c433607d13b365b133138fabda1371ab2983625ed963692b157386654203805870c3624f11036292f14383e8cb137c986f835369f95352cf1da394aee703764609735af754f36fc26573848b218386f8c2a37a078ac3789cdd33776a4593e4b70493face249371d14b53799a75b3ee1b1383f7f70e0358b7c71377c784d3e6e3b1b3f0000000029412139b60e2f3e460efe3e02414c3692b9c237ce93073e3375c03eff7e9836db3a2f387621c43d95c7823e65820d36be9de73725946a3d84b5143e54980e369b5b733967718a3c3692b63c0ba2943541ab7038a0d99b39ebb40c3818764436dae90038ded52438406d473636c43f361fa87237a75f3837b506b736da27a83682229337d4703e37d00b78359a97683547a32338b88cca37c0187e36518c7936ee1ea4376f1053373eccce36d0a8cb36d60d0f388fddd8372168b7353262b93554250438b867ca377f6b513627ec41368e3a0e38710df53753f744378848453719730538ec4bc03753f1aa366e1c0d370fd75f3740a5873dcbfb6e3f3df84736fd170c37e9b0a23df3935a3f6348bc3644e45c3706fb9c3df0db373f9dd57c3537b0d53726578e3d3ac5153f1cff7f36dadb6d376f637b3d6d4ce83e62bdcf36847ee637123b2c3d94e7a23e5c41b5352bb6d3371718a53c6c8d3c3e9f02af36e0470138c958313c59d4303d391f1d3732451938a5673a38cac7d337acfe033600000000000000000000000000000000aede1b38540c143894f7943640da903647497a3933d5e838d23637374335ff3527e94338e25b3638f31007373c4bb13635c96b38539b5438050c543778cabf362593eb37defbd33751fa08371d139a369963263817ba1e3866950f37f576a036aa25c437a34ecf3793a11a373aedf0360000000000000000000000000000000000000000000000000000803f00000000b27bdc3767cb59380d8c703f97dc3237ab2e263814a8733ad7c7493fb33fdd37de8f1d38f0397a390168243f1b1fc33729df1a38570a073a403cfd3e4a6bca37a548a5370ed7ba39d5feb03e62da55371710d73705d98538b58f4b3eda8a4d379e6571375f6f1a3815b4453d958a07370000000000000000000000000000000000000000000000000000000000000000bf70013a841dac390a006837eb534d379f35123aa3dd88396871d7371eafc53705a3f039fa7b8839b2381438a3ef0638b0c20a3ae9989a394f1c5d38510aba37e030be39c38c5139ba212038ce972338b9b0f239100fa239adb10839f7c42d399214d339f72b7d39d2f3b03806eb293900000000000000000000000000000000000000000000803f00000000000000000513593aa742613f8e4dc139ae172c385ebd673a6f75403f8cc5aa39174bfa37e5e1203a7726203fde8f9d39ca9c3b3819947e3adaf3fe3ee258a339e1a7f03889c26d3a4ddabd3ebb2448398425243812d92f3aee06793eedce86391ce11e392a40133a110def3df6591339207c9a3800000000000000000000000000000000584d523a443a423a8d58e037a52a6b37ed7d823a34cbae392346b937b644a837a4b8223acfee3f38c4c409380385f6373c93a63af4ce053a6e727438b79bbb37ce257c3a0116943902bfd4376d14cf3777c9013a00f96938d4242437dc1e22379f242c3a4b07f8395695403968c06e3955b0ed39915e8739fb8a2d38a6101639c107e9392f5b74393d9296383aa61f39dbcd0b3a6b04613ff91cef3da03f0938488f873a6fd6473f1825dd3d8b3bc337681f753a116f2a3fec1fb03d6b5f15384f4ded3a03980d3f85d68a3da2e62a395c83d83a6d9de13ef35e5c3dab62e9371812c33ada77a93e24fd0f3d3ce13e37e7df8d3a3c0c603ead6a943caccc5e39c5ed993a096bdd3d218a1139ed042f3888543d3ac5f5313af895e638ac357538a79d3c3ae6de653ad1782e39030ec437ad04833a8e9e583a3b8b2c39b23cb2368d45783a2625ad398f38a437f00a373707100a3a7425b3399f698b3776e457374d519e3a9213273ab18882394dcff2382271323afe6a023a4d6f9f389b481e378a66a43acc244a3adb2e5138e7c6c838c224273aff9a0a3ae7cf8d3951b6a839f174dd396c35423910ced1373c302a3889d6e5398e76403f8898783e6c187039aee5473ab4402a3f3ea05b3e99f99139f008803a06c0113f72bc3a3ea063c337d97a193a49d8f33e9a0c183e46319837ea5cc83a2466c13eb824ed3dcdcca93910ea9b3a7c34913eeaa6a83d431b0e39a6abce3ad7a53f3e2543503de7a99238f810363afbeac93da12ce33913cb863962ad2e3a16793c3ab7f5a5385eeabd379d50203a08f1463a8b7711387ffed43721a62d3a088c263ac5b60b388d9c44376dc70f3a5c2bd2392507eb37ce92cf37fcde1b3a656af53962991338cb06fd37052e523aa7518b39d24ed337a9038737261e1d3a2110ef393be6a13713159137c59acb39bf8d2939a7324c375bf54037500bfc392722bd39387a4d382266eb376b3b9b39800b3639eb432e38b7342c3875438039e943203fdb90bd3e41ba14388ddd0e3ae5030e3f2c84a73e3a020339ca5bec399399f33e9c758e3e69c00b386eb01c3a4048cb3e4fa86a3ec6781f384b0f8b3accdfa13e3265393ec9aff237f0122b3adb44723eef34063ec3179f380d3a173aee67213e94b2a93d69474e378e7d643aee199f3da662073dcb1bee37c93b1d3a79ef3a3a9015c038abb92c38fb566c3aeca48a3ade64913930efc737c2e1933aab47983a837d1d3886c881371e09b53ae14a8a3a7d38a337ee3eee36c3d6143a83f4b03979fb13385638043893291d3a480dbd3913d90d385aebcf377bbce9394f94183953d5133822130b38a649953a749b6f3a402a1e3961a23937d5ac623a827cdb39763979388adbca375f54413a9870fa3904c2043981cfb538672c0f3a1e52fe3ee208fe3edd48c63903af2a3a2880e23e2b05e13ea54cf538fb98963a75c2c23e51ecbe3e2ef5cf37c4d6de39caa2a23e9ee19e3e243f173833c7153abb27813e86f87b3e1f8e7e383857103aa895423e0b91373e7bfa143882e7ab3ab7fb003e051de83de47429394b6b933ac9727e3d64044e3d78832d3818f17a3ad71e8a3ade19b839bc49d9384ecde539776c343a842de9383cec153884d9433ac7ee603afd7db53789ce8c3683b0ff393296a9397259493727d1e63698f5243a601f123a5805b43708ee603713d04d3aea6a123a49b5d5376d102037c35d153a7783f63907f11838bb920638666ee439d5dfb1395513f5379098dd3712a7173a1bdfed396f381a38fd14bf37c60cd539c5230639eb520238f595ed371d7b4c396612be3e170a203f323312394fe7d73988fba93e9fa60d3fa2bd55387e698b394145923ec76cf13e099d87371ebc163a9e8c733e9c10c83e63bafb38dccc1a3a5644423e592c9e3e6558f7373625123a004c123e21fa683e205439380396eb3959d8c23d709c173eeee5fe37bb72253a23b33e3db4c48a3df7eb02380c47213aec23493a0f21223837de00388383063a67c2363aec9c0b39528ae936759a303a15a12c3ab532cc38b8380a38c3c1b63aecf9b23a6a897038c65d67376197543a9ba62e3af9400539cee77136926c9e3a3e6c723afa509b3906ab1c37f411ff39d776e339fd1f99379a5f5737549c333a49d0d9391740c437a9d56237d4643f3af208253a615e743952254638c4f8f039c7abc239ceccde380de6c5370ccf5939c8f2793e9386403f82123b397126173a6a9a673e877a2b3f48f14b39232d8b3a8c8d413eb2ad103f0f012c39e8bf223a6431223eacf5f03ec41b8139dabc833a5240003e6a20bf3e139fc9391c18e639bc80c33ddccb8d3e6bd1a537e2f8273a7e3f813da873393ee23fcf370c72503ae6c9f53c1f91ad3d5a485f3919cb163acae7873a3b04b839ca4690384016103a473f493acf3e7e39eb3f323834c8403af9a1803a58708637ddc3de35759c453ad5c34e3a3911423949bd1536d3b22a3a9ee6373aaf8f4737088f843609e37b3a6435643a5df70338a8fcba374d70833af2884c3a20a70e396e5a9837669ece395e78803965ec0d38dc19c437e76ef439b761333919d8c2375cd2b037d9dbbd3900babd3830b4ca37be8488377e578c398169ee3d9302613f8f13a3393628b6395b35e13d3802473f7cba0c39af011d3acf4cc13d48c0293f2673b439c9352f3953bca33d60da0c3f3efe9837b4761f3acc627f3d2400e03e8e881839ae4a543a3085403df088a63eb6816439a68c7439526d013d0e0a5b3eec191538e203013a0120e03ac136d93d5479c1376d0f213ac7b6733aeb61053964d4bf37000000000000000000000000000000004643f839a4470d3a23ae6039f9a21536da1b073af0641d3a7d146739a376fd36ebced53964beee392b280739b5e3e337f11e1c3a8ea7293a32576e39ab49ba37d902f039d8f4f039c2a2143912b6fe3767e2093a9c3f0c3ad8eefe3886d0ad37adc8cd39a5b9c2390799bb38a67366370000000000000000000000000000000000000000000000000000803f00000000b73fb339edca233ae605613f45c8b539d6d7df39004e673af76a403ff47fb93947dfab399aa3933afaeb1f3f6a8d80399722dd391809893a3e31fe3e6dbcab39d3ebca399a5a233a8e9dbd3e2bdf6539a56ac839385e623afe55793e62a82c39714fc6394f14453ac76bed3dac71b73800000000000000000000000000000000000000000000000000000000000000006cb7e33376c7e13369c1e133d2f5e333ded34a37b616d3340a96d934065719353f400f37d1b53a368f758a368378d23604d70137d7417b3491c68334b0a00d36f2c68d36644d043584f606356eecb235a1dbca376c808136cb7ebd3447c2b0352c357a37eefe3237850b1137e2162a3700000000000000000000000000000000000000000000803f0000000000000000b62df0339ffc7f3f5c5bec33f526e833a7bd1f38d271633f8aef8c37b0507635511f9b37f125333f046717378ab8d636de478d37e63b023fe79b203740eb2136454391375f95a43e1f298037d396cc3566d9f6377ebb043e818e1538d51af836ddf15237ec01143c8b287237b7861c370000000000000000000000000000000062ad123580ef08356d08143576b30c3502a04234b2714634bffd463471174334533fbb35e425bd35ef7bbf351ec3c1357c04453666eb3136bb17453636e441361e7c9836e95fe933baaee8332a258c35da60153646e10c3633ed11361d350d361c305e3721335b36a79e3836de92c5369b56893763e42e371c9f8a35d6967a36250917375c36103734f0083791330937b7570635abfa7f3f9657b838f6430f3569254734e0fa7f3f6ef12d385c6b49341458bc35c798693f8a6f4738d490c035865e433637d6383f08d0a337195848360fa9e936e5e0073f67215938df7c8235d5c40a360fdab03e4ceec537dba5123620bc4336916a173e30834d38cce0cb367e4b20322364a13c9aa86038a5be8235c1a5b836f1bd7e3798ff3837d55be3360576c73455e8e037eb1cd137564e3f3796dead359aa211350cfd38353bb10136370f333528fb373549c43b3589793a3568266c35938f6e35fe516c35ecfa6a35f113253808adad374a8dce372d6d0f38169d2d362bd72d364b2b2f3647362e3642d6c637bfc1f936d5039535ae3ca1350a482b38e9d932382945fd3701a4c8374da9c437fae1dd371d7db937ac018437448fc1340958633fd627e53dc99ca3376b5713352d7a693f4bb3b33de03feb35ef9f373598134f3f35ce9f3d697c4535b631713565ca2a3f2dc7033dcf6b723572dbfa371e52f93e3f06673c34ae1738b1f7293645d0a43ef166d9370bd83236d4a127356ca3193e0edbdf387e02933551283036d76c733ad410a6388ead9b37d29c4a3677616538d5382c3867ecf73681e67636864a06377fbb7036b01f7436ca346035e4f5633560d05e35d41f5a35f6d01535f7b02035d5bc253526da24356e636136c3e3bc35025cca35b705d235b73e933763e07c36ab1d083627a39136bd23163504ef193549b31f3585b71e351a5814379034b236f28d0936f385803600e3223662670735b030c634c1f7c334d3e55f37a7b11b3777c71d36576f443696a15436b35a323f8b4a9b3e32e16a36f2aa5835161e393f208c8d3ee1515c356fb51335fc492b3ff0fd683e902a27358f7cc93517100a3f1261243e0233d23577fc9d360bedce3e9d99ce3d7b93883612900d3574a68a3ee8151b3da1661e35b61cc7359be2023ede82763a0ca40a361c11bc34bae5d73a832b5137b741be347142c53561e31f38f0a4a6376bce643592635e374812893781b8a73641fd3236a02aff35fb49d135677016357a372a35d10d7037cf47c935dc92a33594e7be3539354a37bf4a0f368d8707366c6d09369ddb5938d763d237e85e11367ba22736511b7f375d91143756b0413687219e36857623384424133815c1c03714d6ba37d1ac9a37dcd8d236416afa358fcbfd35fda1713723c64a37f585163701f61737579a24365add013f6833fc3e78361b3633fc97355cdf083f66eced3e1f5d04354990673655e2fc3e770ac73e6ac8a435310cad36dbbad03ec4d5913e899e0436e9b51138ba63973e333c513ede161936e5cb03377eee543e4be4cb3d461b2336e7558d378125d93d0194373c0d545b3746fef7351186493a3bc890381974c33528023937191262380d58643760e0463634f78c37ce24b737ca033d359da550356b85b2340c94b034950fa93448e89e347f2581360f7b9b350229073596170335a7ac1735ec0710359fe40b35504a0b35c224c2372b25a1369208d634a1dfd1344fdb3137d04e70368c9dbf353951c435080d0938ef298b37ad941335a70016356c59d137948465374b6a5735dc425735b31ab2364ee8703668ee6636aabe61366b064f35eb18a43e9ff52d3fba2935353be9bc34dc9bb23e353f263f535ba8346678e035c408a73ec68b0b3fc7cf0b35da0f133528928c3e3480d53e824312356e718837f343553e78b9923e217ed73439fdc536f39b113e09ca213e1703c935329420372e698f3d3344093ddcbb1b3591d253371c0caa398a184c38e4d75a35259293362fb4f3378ec47c3613556236fb650e38760df43710e1413649ec46361c0a0c3863ebfa3523f0a73529d3a735a0b468376b121d3551ca1835a4081435f4e32d36453a293665a71f36f7fe2336f0037438db15ed37c4d9893653dc92365b687237f8307a35d6697a35f9ff7735c7e43635ba233a35984a3d35c44240350df9313711b4e6365dcf1c35887a8735c5c49f3731450a361782ec344553fe348337bf37b9a9053ead865e3f96ec4436740cee37f246233e79e3563f79eba635b7f43437641a203e2294313fcf201a3557df313618390a3e050b0b3f2b242636274d8038e1f5e23dfe85c63ef4cd90364062573714139a3d0d12673ec51f793532d74035474c0f3db344a03dfb343f35e1cf333797e097384786d1371b6b1835b688ef376c4f6938e4cf5a3518a1e03450ed3a37670bfd3646af7c36b53b6f361ebc4b3752311c32c0b41d32cd2b1932756749372c330f360bc8ba35ea9fe43502501136991a0836de6e083639e60736a90eb537aa48623439f3e83343e8df336a5d4637826197360df23636cd7842368f31ea379399c53726cabf3533cfcb3512624934b61d4d34db854a3458a34434cb0713358e6016355c1d133585d41835010e1637f008293c36557d3fa5ba66366fc29f379e50d03c9271743f50031d32ab20a0370ea25a3c2cb4563f2398c635383d0e36108bff3aaf19273fd6330936f1ddae373b1e073b963aef3ed76de933de3b2037b520443a95e18d3e32c934361ca4b43792d2c738d709b33d054a7136bffd4934f6c95138f1840a385e6d4734177d5136c34e923723161035f75710350000000000000000000000000000000003fa2f3788d746360000000000000000362a7e37537ac6342d37c7346029ca34a364a93607cf06357a500535495607357c8a323797c79936a6e5783400df7234a2e73e377399213765b1c9361405dd3604ad093862640f38fad0bc37c55ae3374424ec33f99ff7339eba003485c7f9330000000000000000000000000000000000000000000000000000803f00000000102a4037c679ae3701a87d3f000000008fc6c9377a219538c0c85e3f2cebd1345dcec7362d00883802b12d3fc64e083509570f375360ed379277fb3e601fca35755f1b377177a93877bc993e2bfd1a3748b6b237f5a06c38711de43dac5415384c68ee33cdc51c37e177bc3883e6f73300000000000000000000000000000000000000000000000000000000000000001feb3e37debe08367c44063674500536235a74378b6e1d36da78f135230ae535edb276376150d93486406b34ad45063577033638393b3937b9adf836e7060037e418473823d34937c7a4a73686aac4367b6f40371a61b936235e9536c22bb436bd6c0238dbdfc6371c3e7d37d3d1b83700000000000000000000000000000000000000000000803f000000000000000065023038d6ae7f3f22901736588b0a36bbe18d38100b583f0e998e36f6e30c36dbf64238737b2e3fd3b07335fdf4f534041a84382a78033f6c8dfb3786191a37eb999338741db13e2b801f3809cec4367ac27837b67b393ef4ae0337cd10ac364113c237659a103d3e9ef437c9269537000000000000000000000000000000006c579537e67c0f38a45c833797c2ee36f95e9a35836d8735d3838335525a8435f1acf835c1b5b535818cac355937a2351987f0359546de353176dc35f542db35a4970938138fe6352327f235688def354fa9c437a3ed2d36549d2d3622c02c36b74e8c36061a04368e9104366fd003366617fb37f438bc37046831372f33793746baea37ed69cc37210d8137934abd37bf6288352cf27f3f0a5be2381780b1375057933558fd7f3f6ba9fc3755968035928d39368cf8643f6309ff3564f8b435f732f635090b3b3f470de735ff55d735e0282f383de90b3fafba0e3894f4ef35e548d037d9aec03ead98bd37c2a03136b61b2236f810553eb57f8d36e983013692590337d05e653d17600c38ee7f2d3720101737adad4e38b43ac737103e4a37a2c9973625c78937cee96a3662a21f36e518cd36dc11a636c31400369f96e53541098937a11ffe35c367ec333d26f03383140a38538b0d3708c1683541036135a361cb376d2bb23626693f3696e93d364fecd237fd66e435558dad35a91fae35c2041638e535a137821cd136b498eb367bf4a6375af735373a9b64365381883626daf2372f717a374af02d36049d64368f72a635edd9583f188e1c3e07345936f470cf35470e683fde6bbd3de50eff3574dbde36909a4b3f367d7f3daed0ee334200c737f7e4303f3c2fc83a69c32f36bbe274370497033f43c242386c624636fca15237644cb83e57b62838fa61a5350d12a737fdaf4a3ec3123338585dd6366eb6853662a32e3de554b037ef626a36211480378ac999381b0284370d68243683197437afa5ed37c3931536419ac3355d77ba37588a5d377b9fc3366ecca236fd1de936aa187e3604dd663653dd513696e7fc37fa543034ca752f34493b2f34595a1d3887699037efc6e6369af4a6368c512837f5590e376dd40637381b0637221dde3720804637a263f133192eec33681953362f4e843453078334aae7763479f09f372a241437a3ae89365c1496367321b735e2972e3ffec3a23e2596da35b992df363e1f3d3f4061853e6b8cc13652da8a36102f303f9e03373e66526136eaa6b3378244133fa5b3e83d8b372f3469e6d83773b9e33ecf1b873daa8f0b3753c20937065aa53ea1c8253cb4460837d9c71b37943b383e1f3b3f38b0dfeb33ce8977346c0f033d32469a35c54c7b342ba381370351343818d71937ab497e36ae2e7337727f0638e622b635798daa35dbc96b38330531380c820136e863f43538b41a3634c90836da38dd356af2cd357d894d3714792e367d181836acf50c36a2a9a038f69c76385473e6379c5e7b3722b19537fd363a36c7372f36d4733036b2f32337acbb2936a45f243687642136fd4a8538690c4a38084d93377558853718c1433713c9d235b1a2b135f960b635c468b3358ee8033feb30f83e4c51b035e8ab01385f1a103f1931d73ea9b4f63515b518362953053f94dba53ed95fdd3563bad1364ab1e63efbf2653e73b1173688439238b4aaaa3e9c8d2a3e8cfa0c38496969368ac4853e0259823d0c8c30361c8114367a1b1f3e43b52338d2f01e36f94a6538c59a883c561d803807675e37b044a637a30267388941b53533b4b235ff8f9e37b0729c3724ad533628122736ca397a34ab767d34ecab713411a365343f2bad37aefee833ec35e433a99ce2335c4811379ed9fd369f03c036ac0ba236acdb1f386f4f76376835a535db7897356d2c2c387df72d37aef42e34995e31346f84a43769629b363fa48a36ff148636d20ffd37cca14e37ae40d6363a03d8360fb24237ab8707360f36bf351ce5c0353f6ed636be9ab13e3727273fea6c4c3682d47934675dc73e072c143f9ce36f347a075037a3eeba3e38f2e83e0e49e73300161337245aa73ec221ae3ee002cd36b95f0a381c5d843e083f6c3e9cc52d36213b0b389ec5463e41a1ef3d2c7d30347aa0c436e926f33d4f4e6c3cc3528c36d04ee43735d42d3a6f3bdb375f51d4360e4eb33730ff19381116ef3581bbb635b0c30138c56da737137c883595d87e35faf744376c9936363ea92a3662912636c496063890699d36dfcde33573d06035384dd23735b99935a61f4b3584444235a151de37b7d62f36f97809364ebafe3527d2303810da9837932b4e35041b4d35b02fec3772e15e37c818e9338475e53370abfc36589b04360a41c135ff67c2350e821036a793c23573548135e4ad61359b1b0a37a6d03a3e8941513f7c428735d210e436cf63623e007f3c3f00ee2c36a7a3f037ff86543e2531183f787ffe3500dfbe3768a6403e135ee73e052754353104e1370f38233ea03aa73e51411336602e24382eec013e82c1383e0a165135b030bb3717be973d95ea8b3d90c9493530ff8437ea4a8f3afc0ad7364dffcd355dcb4b370d0f7d378e70d235a39258359eacdd37bbb9c036a7de8935ec147435a93bb83795de3436d562c6354418c735e08f95364d3de5355046b5354952b0350c2cf537198227369ffbec352759e33592252f38552fab3771a3dc350254db359206fb359480f535ace8dc357fede83525e55836b7cb4736ddd80836bd61fb35300b6337be80793610fd9635f7e9a03549542e378b838b354be8813550a387358fdad5374bc4093d2b58773f6b0889350f32ff373ef5713d6a82623fbb53c9355bf78f36650d5f3dfbd23c3fdd17b93528c6c23735b73d3d9dc3133f675701368a480a383e4c073dbf3bd73e6908de352a9ce635b7deda3a5419893e3832db357c630336ac494e3a3fadd63d15c20a3604aeeb36f53d6f3826491b38fb7b9635e89e1a383a081a382f6389353e7e8435000000000000000000000000000000002da3e6378ba026362391f535d421f3356e585637b0eb9e364194793538ed27359b5e6c386f6d1538a74d303693771f36692e523811ac3238beef02379d4c8e36a2b6ed371fc2e03726745635a02834358a120a38c8744538cec39c3703cff936a7a0bf3750861b3802b3e0375786b2370000000000000000000000000000000000000000000000000000803f0000000081a30838b327003a96cc763f926ff735b5d54d379c39fb39f781513fed52a835c14343386b2e2d3ad238273fe7296a36b316173881ef0f3af9a7f83e7616b2374cffcd36bd5b9d38d7f5a23e10849936be78cf3635b689383fa41f3eb08d0b38cd4b193699df2e38036e953aa9c2f13700000000000000000000000000000000000000000000000000000000000000009f1510384b9d8736d6ca7b369d3d6936ec4a5e370bbd2936ff181236c328ff3559ebd0377f56ae36d1fd8c3532b3813575481b3860ba6337a8070a37b276b936721406386c5016367565cb350438c33578c186380a0e2238b354fa36b2f9fa367d215939154c5e3911e11a387256193800000000000000000000000000000000000000000000803f00000000000000003311223cac346f3fc6e98b3615f98036e86f0c3c34c2493f81193536f6431a36a2f0a339665a273f08dbf336b028ab35ff48b939ebca003f934ad2379cd02037e4a43f3885ffb83e09c66337c00fd4352dcf8138a4205d3e6e274e38d9372c37aba43d38a0438b3d4f079d39fffd2438000000000000000000000000000000002770d93720016838613ae6378b70a137f946693876fcd137c8bfb435ee499c357a9d183818e724375ead7336e7e8623660af3b380845b4376a750836435dfd35026d38385f610b382b7c7037d2614d3650d4bc3741795d372efa87365750853692f4fe3755dbec37badc883799252e37ee243d38f1546d388d9c3f383a54473890b87d386964a5389e8e39385a593b383c45103709c0703f2d53733d0e59f237faa154387ed26d3fb19fbf3cbd2ac03516bfff3705af4a3fdbfc153c02db7836b5ae2b385d3e273f785b8e3a6d43833618651d38377e013fd653633915bfa93781d05a37237dbb3ecaf0c137edbda036180d7a370949673e1a141038aeffa437efe1b3373e4aba3d52ec8c396b3c4338785637384ec0933a92026f38506c3c387bdc5c38575b0f3921d29237af5d9a363a51f93739dacd345a68cf34eb06cb34c1d02538fb79bc37d55ced3402d8e5346b48c537426ae3361b0c8a35b6485e352b0f51386ba02638aa5b8537b7996f364c62ff377a62b337621e29362a30fc352bcb1938a1a4103899cc8937f65a9336d0853238a3921438503e62373ca21f37962ca138b80fdf37aaa279371f7035370540853673ba4b3f17ba503eba54aa3779b45337a6a04c3f2a09243e407eca3431d11638e479293f3b0c073e9b74ed3474dc9337f8a5113f1eabb83d9d20933564652f38e78be03eddde8d3d3d08ac37f3eb9a378009a93e6362103d5f974636468e9237d0cf563e56447d3cd3b7a23771543e369355b33d04458e396448573784d6aa3760a0273c493fd8373cc66e375c994438df067e38dc3c843717ca0836808bd33790510f37f0c16a36ee564936957f12384a42bc36eb53ab36ff099a36309d0f3804dd2c37b4a84f3681e994351bc79539ea56ec37350cb935b353a3358cd21a381d0f663648abd6357390c035560946381e000f381c636737c301a33679572838a3712838461dc537e267693792c3373874f3c2377cd8a8366fdb6b360c26a7378b7f273f5cd6b03e4e0884378017ba37d916283f584c923ed43b703602430138681c113f9d80683ec9c8ad3635e9b7378927f33e686b353ee6be8836a1dd0c389fb4c03ec684013e4fb3c035026d39376a798f3e8953a63dd959dd35a472ac376e0e383e1c341d3d96b285375c4dbb3701cca53dd9893b386394c53707de3a385042423af85aec37d686ab364dca2e3898dc3a387287e436135cc03642d78f3854402b389dc8a536ba199736495b4d386ff40b37cb27bc36a843ac36b7fc4038eb06cb37625694368efc8236233c5038a52cec370d91b8358cbe9c35fb333f38909807384efdaf36db62a83667845f389fbe1738f9d2ce36a893ca36b8129638767a6d38ad4e7837913cb336dcf3113809466837c17fce368cdac9364b685b3724e6023f34e4f93e2324f336c4c38338825f033f9715d63ed09fa63684fe5138a85be33ef57aae3e412fbe3636502c38fd06c23e1580883e8a4798366dec33384daa943e0da6563ef266bd353a06143851ca663e45f6033e2b01b136a29b003861ad123e2be2923def1ad1362fe66d38fc008c3d8315983890d9873741b14038ac7efa39404c7c377ea0cd3652df4538f1782c387ca03136123e81355a7614385dfa53371140953523df2e35a3023738fd1502371d3c2036db67fc3514521838f2c9cb35e1408c3525644035d98437392b2cba37e4818f3593268a3528fb1c38e7874837e1fd5d36e7e79135394e2d38b95a5137b58bc03638d4ba36f974fb3715f8af37443acb36cbe58e36ec572338e4769d37f2e2003625a4eb35862be3375fedbb3e54ca213f2e1041361a4621382615bf3ee9a50b3f93869a35a11c4538b273a93eb2d0e63e1ea727368e81ff377439913e45adb53ec5309a3568211e38ef77683e06048a3ede009335c8bdc1379a352e3e8c06363e6d2793362b8f4737840ce13db7c4c43d2be7c236486d4d372d31503d4ae8dd3babfdca365c1867387048a23846e6bc3731fd0136485fe237172f85373d702b369ff10e3632ac033857901d36ef08d8353c1b883552f50138bc1077368a04bc3542c045353de0e2375c5d81369517dc3593b0a5355eb5473869a2f6374406f334e9968034954eb9372fc18f36094427356531043571a62138c138ed37646a67351571e4344ff6d937811f08361ac4b334cfbbac341d401b3820d56a3670dd4936f6d12b3629f8d737d735603e753e453f08072b36d5a82b381def6d3e6b022e3ff656e535b5d63038358d5a3ee0af0f3ff610c63555970038b4d63f3e51f4e43e08eae435176c5038b337183ecbc6af3e6709fd359b1bab371918e73df16c693ef76d39350dc108381730903d31f00a3e9068683662278d362645eb3c73ae3f3c1e45b334d30d823812b28d38dc74bb3688b74e36256c6b386628f637c7bc463652a81c36b15a1d38f5bba136e0352e364dd20036cf93d637f148af36066a3336f8f40c360f55a037c4248236bbe8723689476636f8522d381759ac37683f6235cc6a18352426303833d193378cd6e835e23ab335cc3c0a38ccb95a37041e7036c6865f368f4a6038369705386559af35a5c79735edd18837d70cf5363f787e36630f63360009dd3834d3a33d161a6b3f7a1649367419af3902dac73d99874f3f241335363e1715386143c23dd2dc2d3f02fd3c36fd55cc378b99b23df1e60b3f7bf176366b30423847149a3d524fd63ef0f87e357fae2e3888f4693d74a1933e92c8f535c699de37fb98033d3fdf2a3e6c037636ff193b382a4d8f3c6044f53c612ac035ed05413874881638d49b0c375f7b803600000000000000000000000000000000bafa5e38a5dbbd37c9083a36544d1c36b16e8a381e83ef3779d9b83657a6a23699c318382cb3b8376a0fb23517588635a7722c38308b0a3835590d37e62e29369c541638b8dc1138fb5bc4367e40c53538779d37cf73c937cbb14f3621a04b3608683b38343c7838f0610938d58087370000000000000000000000000000000000000000000000000000803f000000006f98313a2b309a3c9f62693f38924036c20780385e82863cf572443fe161c736252fbb37dcae2a3ce2ca203f736bc1359937f737f665413c921bf83ebda32e3778a81f376e04e03976e8b03eb1ca0137053535360eee9f382408503e5d5bf436cdad8a364fe183388922633d8cbc1c3800000000000000000000000000000000000000000000000000000000000000001d1a2c36f55ff1355123193623a5333688ba3a35bfcd0b35a9df42358ba77835fd6cb434cf068c348619b3341ed7bb34559c1d377bb4f235fb2308367e1c0e36ae89ee35f04cdf352e89f835f218033683483438551efe3392bb12340a1e0038d14d1f362f1f0b36bc0400362154df3500000000000000000000000000000000000000000000803f00000000000000004d0e38360a2d803f506812366b5a1f3606354935f18c623fd90d0a35df5b4d357c9a7338b955333f50edc2349489c234fd9a64389413023f30c600367fe40636cfb0f63500e1a63ebb69d835ae4ff135117e8c385d60063eb77dc0373ec119377a8e0a36166cb83c8540da35e6aabd3500000000000000000000000000000000e0151837eca569375a599d366186233756c825346a192934a1241c34fec5c033b8255532309dad32b93b833026f72e3138289e35d3508b35da029e3541fd9435c4b71f3523c50d35338a07351f750535ae5b1936833a9f35a27793353cc18a3562999634e09c7d34b8bf88348cb95234f9d6ca362ce7e5348546e2340000000095a845378bec7f36f2926236a85c6d3614055f367d0e803fabc12c39bd114337a08e7034d801803f02b77338b76b4834987bd932ba77663f9def7d37b2ef6532402c5536bf693b3f13948c3733a49835f1f94835b02c0c3f6cb48e36a32d2635f522d8356dc9b93e28eb1f3759097e355f49d9347630353eee5c8a3462545f3425810235f15a653d6784c8353890cd34ee8f8a362c256a3871fa50361fe24136b0acdd34fe457d342cef0035b0ac19351c4d273507524f350b82f5348b9fce34c1ac3534c4944c343f16543443bf7b34391c2437ec7256359fe7533538d44f377b34423393b48733000000008de2af32e02a6233c4425b33248f75336a7d5c3324f2da372bcc3f34835139340f241034aa217c34fda65a349991df33b0bab033cab00f360249c83358042c34d6bfd9333f50d0340198623f2092ed3d10b6cb347cf035354f63683fe9749c3da5d60d35a582903486d2623f9b38bf38813d5134e2407b35959f343f6e8d0a39fad41c37000000003ba0073f0384b03700000000df448c34ca13b73e3a8b32366d7c3133854e4a340ad6253e76f95838258d333433f4fd33ae62243d04ef6434b80d14347476fa33715e15384fd80d34e430b733214b6035835c363518054a35beed50351ea21035fb64fd341c6608356046e43433963e34b1954034d41545342a1827344c62a434d2167934f64fb4343ee5aa34a8783234798233347149f433bec10b33f8afea37f9153c35c30864352b2b8237ebe839342e3219349d305634cf67313496805c35a6615935acbd3735b7651b3527c0e0367a8d173604591c36c83d3736035c5535829c313ffc499d3e080c2e3528f80c354c323a3fd3fb813ef9fae934e87530345a46363fcc99203ec10a383424ad45342891203f079b8d3d6a2db634f4f935341d22fa3ee4b7483cfba7b433451237359fd2a93e5094d73877994935a49ded336961273ee8d3393471dd403481d243358bcc023dab24153530033e35b53e0b36be458f387954d13630bafb3577954c38cb839a38cd7fd33671ced63600000000000000000000000000000000000000000000000000000000000000006738ae35e070403598b35935371b70351cd9c2370000000000000000ac1040378cadb8361fd90136616cf235a0d1bd35000000000000000000000000000000000000000000000000000000000000000052835338ab4cc837e9f1dc36ffa15237e0bab136d598013f010bfd3e7b04c2360000000051790a3f3783df3e00000000000000006952073f79b7a83e000000009cd69c353fd1fb3e0c6c5b3ee20a4e3514bbaa36ba60bc3e41dc073e00000000cf8ef93518e9903e695d4c3cfd4891350000000007ef123efeb7803700000000000000009d58bf3c000000000000000056200638d5f9cf38c4a1b037d87ac336e174bf373830fc3726fdaa3583780136fa27413516ae7035ce270a3586afe834f7160034d7d016347d3a1634286b0f346f422238d81b3935f5803235f19d0f354c58093436d8823400000000000000007410843484727a34b62c98344cf1a334352913383d814234df5b1f34ed2f0a35fc4b0b35d09813355afbf5347cb09b34e88431358a545d35ef5c7c3539f55b353d61d9355fa0a13ef3602f3f93711135cd065135f583b43e8bfd1d3fd7c71e3563625634943db33eaf3bfa3e52821634243340353f0da73eef27b03e4a3924351dff2a345759943ecbee583e0f6a1b3383fcdc3499fa643eb365a83daea09a34a3cc3c34f88e073eff2de938d1c426340ea4e63487f3a73c12cd22350672fb34e80545353a689737cab75b353f0e6335d04d9b3698a9ec36ad086b33f5ea5b33b15425343f75613439ba0534f9f2f633f806e837df724334d72e88347f8d79341371053458825933a5d6bb33c221a6334360853300000000000000000000000074b48d38c60f1838a83f8635d4ce763672c203378cb749342aca84345f196c3405e73e35b4b03a351a951e35d6b307359f9d993457d30635ab17de347bee0a35ea5fea33ef94013ec1a45f3f92aa08336e8a2e34fba9293e81bd4b3f3be987334055483403d9233e30d62d3f21086734337c11340c25213eb397f93e6c0bc6330000000043ae0d3e1cd8aa3e0000000028ec0938afd2083e5b2f263e26856b35fd2129340a7fea3dffaa123a197c80340da92e357a30903c0d41013501a9253530a28e34a4e3c83764b46a3473128734fcf9f037a60d9b3722a32e36f89043361ef60f351a1ea03500000000000000003a6708352c5334357978e634f2ccbf34f9fc73360f63443520b0463577ec29357fb6ba35a15d18359e830f3507f902354f7469372ec22836e742b135cec9a33586923237ef13943699308d3392a0ce3087e45837906981369c07d13328f6bb3376fbc9376de5a83627cd873695be8a36fb524236b11b813c05347c3f6c340736d07a8b3440aa2a3df411673fbffa1631a806053517d4c33c0bfc4c3f8d49a5342a58ba3539ca813cca4d1f3fb46c3735c5ea3e350a3a873c70ffdf3e62f528358b7f4d36cdf2373c6f29843ee568a435ad95e232aaaf473c65ccb53db8f2f0330218bd366411eb38fc6d833897861a349da1fe3725439c38ccb0a836bd746136000000000000000000000000000000001ab60436871a0d367760d13530fe8735861ffa374c583934920127341b111f34107cf6351a4dea356102ed35d836d2355afc6c36f7d822365ba02c36849a0736bcaad237b7d58137a718bc34c2c0c134490d56352c2d4b35eafe64359d262035e5845536997cca36a43b7736675510370000000000000000000000000000000000000000000000000000803f00000000d221ea35b0173a3681b27a3fcb6fac35a0bd0338540eae3833d25e3f5f3ecb33d7bed03528908837d8262d3f412ee1355fe1083610678e38cfe8fc3e3fb30c36ac226837dd59933837a49a3ef7565437605afa344ea48c364b13ef3d4b4442354a3020360a39483850bf9739791d253700000000000000000000000000000000000000000000000000000000000000006dbabd354726ae35028bad3505d3a435d13b233616320836c81f0b3672371a3692fc3b36ef060a36f1b42236b63b2d36e420dc35a68bcf356872ce3517d2c535503019369c901736fba01036f74c0d365f32cc374fe1253546768135c9d886355d5230363e4e2536aaff1c36a995163600000000000000000000000000000000000000000000803f0000000000000000377a95375c747b3f42fcab35f125ab357cbe6e381405583ff5e21a367fe11236efc42f39c99d2c3f7d7506361fd518360b61573923f9033f30e1c935ae9dc935514f0339e56bae3e0d09173600901336c491583872d1253e9ef52f3571fb3b3534f15e374dc74d3d5e8217360d5521360000000000000000000000000000000000000000e6b0533700000000000000001b3a5b364db15d36163d5736c23a4e36b2dbac352972af357918af3525b5b535dd1a333400000000000000001dec4334c5542c3647122a365cc0343695e932363c9f0836147fd335ffccd335b874e83533b0b33719707a33e8a37a336029b83378745d36fe8c5d36e8da5936c9545a364ff26a353e50463531113235ad4d253500000000b5007e3f55e90c3c00000000760e53369ecc7f3fadf15c36dacb4b36857cb8359136653ff8ddb5357ea8b3355999f73767963c3f0000000000000000ce36b336783f0f3f9da4243640e02736a5501d36fdadc73e8b4edf357469c935069a8e38873a5c3ec4c02833fb6f8433980760362475a53db9765036a399523661237735ff135f39c5dd34353f752a35d8f51635c039fa3795dcc2347f57b434a1fe883572a35435677f5635897c3035d4c199350f32a2352cd8a8358a408f3555422a369d2ff13549f4cf351603fd35d44974368fdb6a35087ba035ecc2bd356e6bd0353d759e35a2d99c35fcb2913581de2336f90bf035bd08b53537cfd935e33a92373e50a13671349c36aaa6b4363608d8359f6bcd323f82c9322ebee532ab901d35f9f9583f5a991c3e0437ca34a0a25a359c506f3fefc8773df0ff4635dc4b8b35fd11613f3a08a137f2b6c235cf2d3736895c3b3f420106365383b23564842937ec2e0e3ff28bfc353ecb973560d6f7353003c53e0294b43541f29d35f1bc18362765533e1690c63560779635e7eb96376f54a03d07ada836023c9a36dda8733579f3fa3bb3b9cf323d53cd320000000038d74d370000000088682234a6fe3c358dcd4935a5055035851b423515223034d2306c340ff25034a332ab337d3b11366a6807367f1e0436270813365ae2ae3517ebaa3515d3b33582d6a53502418c35834c8835a7e2883542827435976eb43564a098359ca6a23504639e3548d30736960206361e40f43580b2f4356a672635bc593035777d23357a0f213500000000f9bb2e3f09cca23e00000000856a3535bb1e433f1146663eef3e3c35117c4334c1b5423f4803963d45328234b5d7f935137a313f2ebc9f38a25506360569ba353974093f45a4b835d8bca835d1a0943500e8ba3e2aa3a435dc758735527792354c6b4c3e1bd18535ebe6a7356295ec35e9c8733db275e2353385e23547b32f355c2ad73975e12335bc73173500000000c6013437000000004d15b4335de86236230a69361f1b5436623c473689150e35599a193536a8033529bde434bc283b3462750e34f4259934e849523551674736f8b94e36b0de543660fe5336e3f4ee341d3ac434a5080c35c80c09358ca5e434e2f6db34ad7afb348e591335eec86536ae646e36058e6636e0786436b9dc8f32000000000000000000000000000000007dfa033fad41f83e00000000aee753360ffe163fae62c23e8a9b4d366b570635e1d8143fd7cb773ea76b0435e83c4734359e0e3fa3f8c53dd5b8c234272d4136824bf23eaa5fdc3c8ab14936ef7ed9341029b23ebb61fc340531d83494346137a781353e8aff0335d6b2093528e35836d3f8ff3ceaf9673627c55e362f1ea032ffde3a3a0000000000000000db352335c2b82735d38d2b353440233539f8fb35c35ce735cdb1ae35001a783519089d354fc79f35ce8d933535913b3596268a35be7e8a3537268635f1ae8635bd27b635b7c5a635749ca435229d99356d1e0936aac300361565fa3510b9d43519e4903448f04c34843f6b34402bd633258b413512dd203510aa0f3556b40d3500000000000000000000000000000000b4ae2d35fd0bb03eab17283f2ed53135cb4fd735e0afd13eeb38083fb9fab4354b428e358d8cd43ec3cac53e05d2a4356d8897359b29c73eed597c3e969e813512beb8359e86b73e6556d93da0c4a63531090836756c9d3e187f3839fed70236f11aa6341cea2a3eb00d9134b12a6434865fc6360c785c3c822a3435fcf120352b9acb36b686de3700000000000000000b76c53628ef9336d5dccb32a882b0321a079437ccb2223755e26135220a5035ba21063651def535466e81350cc25335d4a001369bc7f7352debb2353e0ebe358dfc08376b386e3655ef94350f0d7f35340932369bcc3336a5d418361d1e00362787c73649d6a33520bbac35c730a2359424af35670ba53596ec8835f91e8935a869463531f27a35d4814835ae2c1c35b9d5b83281962b3e2925533f4108de320e48ad365ead693eb890313fe8ed4d35c979053697556f3e6b8e0f3fde46aa351565a6356ad3693e1ba1c63ecd2db83535f620368f72543e0935733e5616a735398f1a364288393effceb33dfea22e36e3d089352d8ef83d22483e381b6bbf35eea48c35ba0db43b34bf8c3526397f35375d2335a6625838b9c35b35a51e17351db70f35c7138a35c3372d359dac3a356ba75836553760365c0a4936333f343653d63038d72832347899b333fd06ee327704f2352503f8358e7546353dfcaa350377283617dd3336f2a634361e332c36681f04378f5eaf34b452de338d814e34cc11a6355bd6a9354b3aba356613d035b1715a3607a16636733e6136786e5a3600000000000000000000000000000000ff191535e9184e3d1144733f19bb26355be84d360162c23d332b533ff6294536d7facb33e4bec53d837f303ffc48b73350c1f635a6ff983d1e58093f96de9d35dfe824363467523dd8a3c73e04462c3652a28a33a766103d4bb76a3ed87326348ccea1354fcf063d288a943d3ba8c335a3ea51361291943af1406836934e5b36ee538b379869133800000000000000000000000000000000000000000000000082d32436863d2036df89e23547feb63598e1d237b1eb5d3532b72935a57b0e3571f21936eb41183662e418367b5613362a1add3556fed6350bdac535ef2cc135c62a0c388949cb3786cb0f3653df1d3651f84436d16138370c6d173652d50e36c9b26c36017b0e37355faa3505baa7350000000000000000000000000000000000000000000000000000803f00000000097123365031103a501b733fcd50fd3509c81e35fe1cce3c1830503f66793435c6b01b366f20373cff1e263f203b1d366766eb3588957c3aa9e7f73eb8c8c635938413367b6b5a3ae47fa63e1ff51436a4983236f098e338505c203e7df01536dc54d635e94316399602953c7c4da7350000000000000000000000000000000000000000000000000000000000000000dac318384166a73699e088367937653608a80237604e8f36ca78683694384436b9fe2638495376321bc47d32c82383326c2d7e376e579936c5a68a3661c282365688993710b6d3369256c4364c25b636f80e8b3873b84d370b6f063620f2e235472a4d384060f136bfa9e63549f3fe3500000000000000000000000000000000000000000000803f00000000000000004e0c673c055d6e3fabfab136a3bc90362db5033de35c473fdcae9c36ac957a366e686e3cf3b4243f6f8adf33e6847632b26b153bfe49013f93f2a236a39e8b36dfdf8c3af7dfb13ee45ade36c3fcca36cae4f338788e473e4907db37c63a11364e15723830c5663de4737437ce6be8350000000000000000000000000000000048d1e234a3f48238dc74873552fda135f4244038f0d7173644d2cd35b820a2350575523762194432b4254c3240e1513203f0d1370000000000000000000000000b5c83361296453689a61936382ef3354ed53e3707ebdd35c67ec4358485c535472729388c56bb34147d843419546b348108a338057b1e36525218365ae81d3643199637572a4435d59bbb34a41a9b345cb39b337a74743f2a69393de3128235e3404c3847b57d3f372ce23743c1eb35d5290039e3505e3fb2f34332aa9d4b328ff74639a0e3323f0000000000000000bcf4ea38452a0a3fd3a85636b2fe253688e6b0397262c43ecc17f535eb2cd535dc478d38f981713e5bb3d734da0574342bb8f9389c19d13d147f69372f5c1f36b7007638d91df33cd5e67f35c119ea342f6f5038351acb3b53931835ebe0fe34f365323806232838b55ec2364dcead36407e473804e17a3633bd1c358c59993138c22736e4770536238ec035f12d8335900f00386246b3363d9e9e3657bd8f3653bf0e38000000000000000000000000a50da337e3600e3688e4f73527f5df356e055b38630ee736f384d93676d8d136fbd66738403e85367835373622e73d36a589cc3438274b3fa40e4d3e0fb8233590bbb7360919693fc039b53d9ec1c636808c34383a2e563f34485e38743959355c568a380636343fc0c41336f9d3cb35e5f3c938e7bc083f458dbd3643b8a2367aa5f6382d66c43e0000000000000000a2262538abd3673e60e611361531fa3569eb993803b6b63d4e0eea36b317da3617ebc93839d6cd3ca1c68836b44a3c36421b69389f8ac938fa535b3679774036130f593890a42238dbb6cc3696d2aa36ca2e593709b10937bca13636b5170336de85b53824870f36eda5a73595a4933481f8013843a9063712d1f53644e0d7363a0492375d8d8536b1ac6f36eeef4c362ff2e9374ad24b3657e427366d6f0f360318603825c8ad368c62983654b388366c30ab3716e1ca355acdc4357e88b435837443365ef6273fbf0db03e03685f3662b5c536f6863f3f9a276f3e5d0cd436d92e403626d8393f8361c33d04c742367ac62d384e42263f4b1bd43c2ebbc835fc364b381cec043ff9cf0f37743dfa365369b1381589bd3eaefe92366bbd7d36ef9ac13891145f3eee95563699d22a36ed33a9386006a03da8f0b136132b9836f194de38ad69bf399a02d23570b0c935b124d737be83123818e5c2312af00e326ec2543806272838f597a134ef4f8a33a5ed2b38a5d2d736dfde81326ff1843239359d38eeceb3371f3f7d31e1b57b3195687438ad07c937d3c0ab350b05383580675b38eed36731cec05d31b82453314bce9337a0c557321a324b322e2e3a32e11126382d8c33350dbdaf34eb209b333b62e9364edf6b31ca2b6c31619c6b31eeaa69313bfc023fc50cfa3eb3ccb531206b3a355f3e153f29b9bc3e9b4bf93416885b32d3400f3fe1cc773e24d981322e736831d279083f716ef33d3a197831fe1b4d38eb7bd13ef738ba3d80b9bb358869bf38dd7fb23e6b896d3149f26131508b8d3846924b3ece7b5c3275b34932bb498d38af22483db25b5435f7d5e034e408653863094d39a7a86d3156cf6d31ad7a9538aec69738b01d7735b27ee334cf608938ac244838fe9c8c3695bd3b36cc0686384c095f3658432336eaafd4356b077e381ef994375390643642072b36dedf573897ac0c3791e2fe364715e636a3c2ca380ee42b3620980236f134ab35ff033e372c523c365c20fd3515249d35534ba63731c9c536dfcba636f988903679a85837cad83f36a0f1253621b7153689fccb350457bb3e2e57223ff0e48635d3d9b036af28d43e0bf4013f649e92368a7c55369ce1d23e72d9bd3e66ce2b36eaa28f365eb7c63ec8c2773e4d586f365f8d0d3779d5b33ef12a053ea650023780c9a2384a47963efda2fe3ce7c9103622c4b4375158373e4e884c3649550536f5bdf63810039a3ccf80ca3675a4a8368863dc38d3b4c238b8a441363e0e2e369976b9385c3494389298d735853f453508df8e38f9611a387945ae36157e6e3691b5e9379ccb0b36d246b63555514f35915cb83876f5e1370000000000000000d84180382c9d16381a5cb336a9699336f27d0738da1d323679c9243698d4053610737c38f02add37d54e0a348e72a42e78a9233861ceb53666069736f722723677f00a357262b13437731634b7d23432cd999a369f674f3ebcbe453f0f03ef3594c00d37afff863ec8b9253f3e8fb936119d1136d65e813e526f053ffe62c935f39d0e3454b57a3eb06bbe3e000000004528c03600985d3e73d37f3ebb21ba36235e13368f77403e6536de3d42b02d36f3774138f04d1a3e3a2d503c29369734684d8d3898ba913a07dfbe36981f983631d7a63982a3f138cbdcd93463d65034ec2d5c383c9d0d353d9d293305420b33df70dc382161f937d3875d35564dc93232536038d56e8c37034e2232504419324f355838f9f9c73786bfa3353e44ed3452fc51385b5044373c582236127cb3359742de38e40b7838000000000000000065288938ee4853381f651d3245c60f326b5988385d89f537c5beff351cfeaf35e199b0340d2c2c3200000000000000001227823501be783df9ed683fe46630335e12d13754f9d53d6b284b3f12f98e356def0036cf12ef3dbad1253f4f1125327b16ff355175db3d2f6f023fddcbbe35b57865361a35b43df3cfbe3e57873636000000005bb5673ddde17a3e00000000fccc4032a6e1a23c7a1de53d56141d32e25c0038b77d123c68718338652b05360f2882395dd5ce36f35f97330000000000000000000000000000000000000000fee55b38531ba83748f65c35248549344ba6aa3893955038336d0536bfc7a935758898386df80f38b15cbc363b879736274dad38e7e6b0374f8e8e36d9426b36d418ad38db089c388489ea34751a2c340f25043846f72038e92aa536c8928d3624fb8a382915af38c7a70c385c60d4360000000000000000000000000000000000000000000000000000803f0000000063e5e037de593e3de2b5653f48507d3565993238f3ff2c3dbf50433f44b42536b140e3368a8ee23c1bd41f3f70d2c5362cbda836e450353b6e0efb3e04c89536c10a123725de233b6ce2ad3eb30a163565a1a5365ff886391ff1413ead7dac36ea8ab8365cab3e3a1ab05d3df4693a380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004bfa3035c9138733b1b07b3284b0a63227f2d634365fb4345ec707353dd52f35000000000000000000000000000000004451aa35a2a22b35be5bf234e524c73275657e3578b02434a0d89d3405e9b6340000000000000000465428330000000000000000000000000000000000000000000000000000803f000000000000000000000000b147793f00000000000000004e93cd358761563f19ee9b35b94f1e35790ba8359de3293f328ce03416c4ac3400000000fec9f83e0000000000000000f2251536a8569d3efe89c43523247d35977c9a356cce123ec9a310377f913d34000000000c9fe73c00000000000000000000000000000000000000000000000063cb0935e120043572260d35ea930f3502c8ce33e56cd3339788aa336aa7e033f0404733bd2a4c331ac82a3313e3613366b7023360bfe5325eed14333ee77f347c66a13451389e34534091341637b6342c156b3343da70333e864b33665f863378a53934dd2a913475868e34eeaa1235656a4a342ae638348d873d348fe55c34372384354f2f3b35471d383557035b35d5cd03359991793f9e87133d8784083526dfc833a04d803f6505013b44d54d33f77746337606603fa5e16837768509337a000533306b363ff6a4753709ae073350d09334f7ac0b3fba521a3589c38134f33d6b33cd54c03ed0ce8c378a4c233312c74e34798d3e3e9648c3370e90ba3492f31a342771793d30ecbb37b8b74a343ebd1e3578706037b659be35ac421435d44b3733f2b901351becec366aa3cb3400000000000000000000000000000000b89acc343713a3345c17bb34cf560f355d543b34f9793f3461644b34e0456934fed3c434d315b9346c13ae349412b134c49917359a3cfd34ed010335c3bf35356f50a035694a3b353da116352e1dcb355ee22c358ae00f357bbecd347b65ce34546f1536c646f435fe18dc35adcef1352888ed3236fb563fff2b2f3e31f01a3229c952333742613fba34063e000000002264f53438035a3f9b31fb3c0513fb34d9c2653404a0343f79e9713b0c9d3c34ee1dc53446130a3f6850473a16d7c33446550d350d2db53e32aa813ae75f30359c4c2b3516d32f3e686ddc3a4cef023521e2cf34022c193ddabe50399880fe34cfe9e635961fb139d933d5369a17c2359d106c355c8fb735c90dbd35ec798a350d50c8349ceba934f36a2534f8411734c8307f348d406b34b694403433768634a9d0c934c82fca34c29408355a521d35b491f73360673c321bc0353424460f3455231834554fe633bd380d34e8d460346db78d342dc68634f433e23435d8003565b48734b9fe473477dab9345238923404962935b3312a35116c2e35512e4e35d0f82235c4c92a3f5897b13eda4bf9342fd1c93435f3353f2fb1993e000000005c8b93341b44353fd2932a3e04964a3448a937358fb9233fd05b703ddaa0d534a2124e347778fd3edf3baf3cc94cf3331e8c7134fc45a83e0df05b3b920335345ae709352aa3253e8e98c03af584b134150054345d84073c55179e37ab66c134afde1535c42a2c394500e534f96c0b353fb716354c94ec341423e334616ef534571f8f34e55c06342d85d93395580b3408d09234fd1a6334f44e3f349c97613474c01d340c4d2e34dccd61349f6dc034fe27213433cc22346183243498173b34125a8634fdb2883401906b348e1d5734518ede3398d4fc33ea5f3c3486ece034084325340fb4fe336b8200347f611734879654352c53413531c938350f901135ae30f734ba0bf13e95820a3fe9b2ed341af1f333bfe0093f0198f03ec67fa83305ae0d34c3e7073f783baf3e889e093380aa1734394ffe3e15a04f3e5a42603443dd1134c7c3de3ee5929c3db0181034408a0b337345973e4755c63c134d113415b0d7337fa30e3e35aac33aad8571343ba7d033b11ed83bdd631138070e0934637acd34555fc737f04b1c3538200435c85028356dfd0d35ca131535095dda34f763bc34b278b434b06a9f34883e8b3420a6bd3413fc8d3430c4a634cdba0d35e0731e34b4290334d4ac0c3488082734460ba03436e083341a914334110c30347dc806357fd7e4343d93ee34a6fb273504c1e7348ac28d345a4e8e36f2cc6235c3cb1b35fdd50b35a6f2da34e1fab1343c67bb359d179135a1a882350b005d3500331b3573978f3e6c0d3b3f0b91b934eb1ad8342aa0b83e94d4243fe750c4330869e6346a08af3e4e14033fbd96f134bfe06234676da83e27fbb53ef2300034ad7cd4344a179c3eb42e483e6652063490b101350eab813e88228c3dcfec1b35d192a23420e80c3e3999303b7cf271340354ef3423e5013b26b0e437575eec344c2b993568ef0b37ce124e357af42935c336d43585e20636ab7bb235a53dbd3532d60935fc78bd348eb93834e4194d340c8b7f3552388e341e7b50346f0e893454e8e73498fadf3411c60d35f5b82135e8399434ab554534f2189534ca8fa934313933340ebf173409d60034df243d34edeb9d346eb397349c15f4347b220a3500000000000000002364b1330f15753310ecf534fbff6934216b59329856a932747bd635fde8ff3d1cc6613fb2d01f35797f04354bd82e3ee4f24d3f0000000081156a3585b8223e4eca2d3fd5c73e34e8b14b35510e253e6455003f5361d9344c88dc3447ba0d3ecbd9ab3e6a72e03300366e34875c0a3e9f2b323e1fbd013496eb0935a8cfc73de7c0043d7bfac934000000002c14693a46cb30373c5a403390b3fe34bb992d36552ea3325a0d9d32fc364035a6561f35274a92345ae7e934a55d3f34dcde47347e8f1e343a904d345d989e345107153492d90e34ce7e7b34af87753305bc613388b15e332068ac330e49a434971b9f342bb88f3433d9b13497b7c233cc8802331de0c132e95c0933e9db4a337fbb3d330f1a3b3393be1434006de3336ba3d63301eeca338b4cfa339f301f35401f403513ba3435b59a153586df5d359c4d253c5ccc7f3fc86e53342f633834c257373d8441673fef32f533f6e7ba332621d23c4ccc4c3f0b803633374b46337d9af73ba19b213f760d7b33459b8d34d905d13b1547ee3e4ab091340cdff0326cd0333bf503983e0b5692327dd02533ec050a3bdfb60a3ee505a033fbe2a2334a45283b5d24b83a3e08e53314a3a63472e9063506d81b35dcd80f3500000000000000000000000000000000a6273a32000000000000000000000000a8ea5435a077553497846434987fe134fa6cb034e30fc134c635983492ef25350000000000000000000000000000000063231835cbd6ce349baddc34a1a55c35772398343765aa346ac22435849a7035000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000035fba133b517be33bd2d7b3f000000007e3fc6357e170437ed365e3f081fd7343849bb356600253946cc343f53fa7a3500000000e4a19e35c409073ff0b89733500a34359e9f1c3766f5b33eb61a59359ce398359be9e035c181333ea3a522350000000000000000881b1b3dcb89a735000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e252a834d5f057346bb34434fd9c853400000000000000000000000000000000000000000000000000000000000000005c0c09358214c834ed25ac344aa4b23447a8c7354e10c83415f4ac34fd24f2341fbb0c350483dd34e7229634c0fca13400000000000000000000000000000000000000000000803f0000000000000000e49bc739aa87773f0000000000000000a89e713aef564d3fcd153034247c24348223553ac5f2263f00000000000000004a182e3b56e5f53e0000000000000000f6aa613a9c089f3e6895da345806b0344582b6395fee143eda2fea348856c6347b46a637276cf83c756590340662b234000000000000000000000000000000002187e5328f67c237d1930b330000000000000000000000000000000000000000e8e8b6359994813556624835323e8f352bfba1346a8e273418928233664901345a7f803400000000000000000bfbf333337b1835f1f896344c066b34ba668334676a5635aa021035d454d534315bf73431575935f4ad0a354c8bcd34653f1c35f9fd2331462a7331d713bc31bad841310000000066e57a3f75e5cd3cc05570330000000011a27d3f4cb6e9310000000099359e37edbb5e3f75749135547f6e35552b2d381dab333fd9577334ddb87933f14aea389310073f2b9a9b3300000000931e5a38b8dbb33ea4b589349bf06034f4587f3701ac4e3e95651435cee4d434d1595e37bd23893d37cee234f008883473603934a72070391d27c031f3b7ce31bbc4e3341e8adf3889079834dfe69934e5f2ff3412c1e0348de2da34b985093571d0ea3398a5e0335c6be0337bbef433ebd6643545d25035b4375935a062633583e55a3543263935bf443735aff66735446c3f349afe483446fd4d34eb0f67342772df34eb8acf348b74cb346818cb34918fdf33065504344b1496332624b33367770e350a7ead3461c29a34e7b1a434f009c834171e4f3fe7634a3ec41ca53454ae9b3468426c3fdf67a23d718e0135ecccc6334e62613f6fe3ce370131cf33c243fc368fe1343ffd896e35e70970359b0d3e354677063fb4de7135d4365f35e6ac0438e795b33e73bd313479d1223463fa0a37a184383e3353ee345504fd349dd8cf33949f863d735d363423db3134c3930d37671e5e3aa3e99634ef4e6e3468aaf2342523c6390e7dcc3422ffcb347dbaa934a534ce3643be5c344d0464345fcb3933d913bc32793a8332000000006b0ab63498e1b9349e64ab344b23a23430979035939e6a3562df42357fec6735156cab3412e48e345b9275340e1299347b1fcb3345375e33ae821633c2a23c335da7c0347fe5ad3487ee66343fc7b3341b47b034be1cb034804fa134f455a234ad29c4343277263fa73ab73e705dd7346f908d34b310423f13257d3e06e05934b0130533f7f4473fb337993d00000000232d8f34ff65313fc23319382f7eb534b8c06d355a65063f60138e3548a95735cef49a3721b9a83e6dc4a434851c7734a35c6837d1902a3eb7843034f673f832266796340292063d20537634bd155d34873a4736a4f7013994fb8d34eff69334179b81329248203a33ead632c7a6833016735c35118d4b38e94e98346a59c532d9a8b13559e45b3705671b35d6125435a18309357397fb34eb42e0347297fa34a0a88435f5de7d35d6636e35b3eb7a35c5590735515cff34809ccd346fb600351dc3b2353aae9235eda77a3544e98935c0ef2e3555d0ef34e6f89a340a2a013525f2a830935feb3129216f3239f48a32f4fbd830b877f53eaa12073f676f5b333172e234facd193fe4cdcd3e87ded234d08c9735c4111b3ffb3d843e99c756350176a9347b5a173fcc9faa3d3ea1e53411e2503589d1003f14ac7939580d85352034e8345fd9ab3e8b59b9348f38c134ef07203762b3133e1e098e35540a7c35c2f5a137b223d03b667ca5342d534834e619833239b2ff3921e3fb301fadd630fbe6ca348dba443744da8c341e678934463bb534d3a99534b8223734d23a8934b9bf7f33831f20379944ba324d0165332376c934002e863705c19634eed69534cd128435a6a075357da75635f36e7235a1bbb134a0dea834e1f79034a927a134f13f3733f5abd6325b66bc32fb1ead3254b085340aaf9d3435c6443451c13d3489cde434980adf34fe2ebd345464c934f22db534ea7d9f3ec826323f475b93342dca68348445d63ed77e0e3f976072346a536f335a8fe03ead77cf3e766e91333ac68f347456d33e4a6c883eb1a1b5344dbb6835ae73c73e906fc43d7c6f7a35a316a53426c8a03ec09e5739bb577e347484cc32c8661d3e4416b2330d1b0e3305ba8836b3d9043b89e79b3475e184348bc78c37593d2b39a4abbc34947195340ee47036dc0faa38cf3aa534e8369a340be43834d4a8be33a86a2b33a773303337520c359ab6aa340a191034ca29cc33343052341f32203786383d349b782334c0a07235b54a463565b80135c0ea0a35d7706d35e561fb36deaaf934b0b20235a3f8cc33b986a235c559da3360cfb9338c5a0c35e9fe0135c285c134de14f83465adca349ccac7347368ab346aae9d34785ea134332a153e01b35b3f0b90ac34c61fc1335ea4703ecdfc343f05e8b53214ff0e35af05883e700a103f73304d34963b243420e2803e2e6ad03eb8ce5334c3ca3635a3e2673e74ec833e13ed0135d5907635f1e54f3e67e4ca3d63e91035bdc98c333084013eca2f34385948ee331f30db3487b58a3b7440b834e6e4b834f25ca537007a9337c81e9e34c1c99a34a28a6c310c7c1a31dc1b97307d3f632ddd028c356ba65135b450b4342c0c6533c3dd7c35418606357fa0e833a58c303365e55d35f9ac363500cfae347dd77d3401e2a8354ec11b370000000000000000f08638375514d137cd4f2b31ae776b30ef7fd535817cb2376252853561b5913500000000000000000000000000000000000000006bf5e03127d73532b53ec7320c829331aa19ea3c86c0793f14a05a30df543c356db6c93da00f573fd53ae934e0624c35653ac03d7f74363f2fa7843403b12535f5efd33d5e5b0d3f8b8e053512a891344d43ac3dd3e6cb3ea6314d33bc148c347451543d71b5813e55a161336c8abf35d39a043d640cd53d7c4195350000000008086b3c00000000000000001e87d236957c1636000000000000000000000000000000000000000000000000120bdc34ffddce34ef4d5b3408746334e1891038ca666637bfa600341bd5693335030835117ef134070dae34ccf4bd34000000000000000000000000000000002eba22383016153800000000000000004b34e93634f11538fa667834ec2d943400000000b1deb03600000000000000000000000000000000000000000000000000000000000000000000803f0000000029b4d53437c4113b53c7783ff19e92345fdb9e358425073d3181533f910e47348cb2f6342f206d3ca8642e3f25e0c234000000000dc0a23b0322053f000000000000000090ffe63981e1b53e0000000043f88f34624d8e38286e4f3ec3229e3600000000e8ad7539dd5d1d3d000000000000000000000000000000000000000000000000000000000000000000000000cb87cc347d2ad6342dd5f73461dc1435968d0336f115a134ae085a349bdf8634b794063728fa8b3433ac6734e89d0a350cafd237245b8434132ecd34169b003540c28337b5a877341be92d346d5da534893b1e382b0a3c35bd7acb345dc92035bbe314383dd65b333334bd333c10da3300000000000000000000000000000000000000000000803f000000000000000045f2f63c35676e3fc7aad234b93cec3442febb3dad8c453f7ebbb9346c254d34d63fb93dc7bd233f0f558734bda32b340af86d3dfdd3ed3e06f18034d08aa43429b5c63ce34e9e3e16b79b34deac2734db458a3b57410c3e7a4642351cf1b934b848cb3b28ec353d87e58b33bf5a6e330000000000000000000000000000000087b32c380019a838c7060b35276e823496417837050b5f3593934a35cf6f3c350ade4736b4541135234f9d34a46a5c3463033b37f8048f3412dce6331ff2e334cdfde737d25d2f35f0ed18353bc10535c48597371c05193568d5b33488c563349170b137f50c21338b6b3033110087341a2368383f5b3d349c20fa33c1afd032283b6438c584e6342fbbba342b15563466f65c34856a753fd710e83c97fa1335e1b90e351d367c3feff456358b1e4e35ba65d43c2afb5d3f84931e35e8bf9b34588f9e3d3748263f617f98346ac6bf33dcf6443d6264f33eed872b357d301635aed6b53cbdbca13e8d132635d3c09d3432ec0d3cceb3353e203c6333c99403336058a53bc816cc3d02456234dd26f5338d23c93a1688723c5cf6f1343f989f343a27183803760a3d20c69434300241327f67193824ed08389cb7f2334d37073415d15335a1eb5c348de79034c0c6a33478fea237dd0d3c35afd31135e596f134aa877737830ede314e1f1932f43f6b32fd83b43740fef23374f82534d07a3c3462b99338383017357576e734f3fb9c34b13aab37000000000000000000000000cd23873896ff1a3600000000000000006914ff31e8274a3f883a013e0d4599347660c433519c703faf06393d82caf333431d1835a512603f0814ee34578b913477e72f3c213a303fe503503557291835b706273d8eb6f63e05a7ee313e3126328078ad3cc553a13eb3f9fb33fea426346ca7823c281a2a3ed8ca2135b085e9347500c43b2d1fab3d0000000000000000761c0b3bde3f3e3d7c24783600000000a5a00639fafbd33943b3c43661361c3679fc4c385660c73898748835412e85331cacba37749db73700a21d350e81353563e0d5361016c5345919003572481035923dfe334cc4123485230d3487c81d34c5a2963762e8f834ad8beb34f3600a35f973173885b73434dd216b34e7b686341383dc377b810b33e3900b33e7322533ed71db36e2dcd93400000000dff61331c4691a3648d4283f22099d3e1052f23662e57934df7d473f51ef383e0bd8f33549661a3549ef543f778b413dfd7b1d3548210936a0a4313f1cb10d36836200357319853a83f3003feee1e4330f0f1434109d103dba2e973eeeb1bc35eb60e934bdf6ab3b2be8163e7915373417416934e818da3b2d4eee3cb9b5ca323f321233c3cd7e3b9668c4391f0ce334000000001edf21387c2e5f3888394235528a9234477d7338e808ac3801b315353b8ddf342ea61b39f52d003941d38b34a5550c3421398b35361abb37ed33fd34e4e5823445b4e135b9b05f3507ac5e35384f673558fe95355498503598d5dc34fa147234ced4b93614bfa93492f12534d81f8234032d0437a936e634e034bf34e588ad3441eca2370e8af9345183b734afa46534a68bc3347e0e043f1720f23e50294a356113be3476a0273f437aa93e72641f35cb7fef34132d2a3f1150443e5ea7b334594b5d3562c8213fadfc6c3dfca2dd34b1954735ff73003f372d5635bca55b3573f8143a6bdea03e17c06935d645e734bb8a113d7e56e83d1e36af342257f133d65a9b3c4602bd3afd49dd342ac8a7347cf4843ca0a0ec3881d2f1346b2f8c347aece93845229438dd088e340000000078234038b962ed377625f632ac481a3395b366382a3915388d385034de935d3426f271386e917038efa12235819d0f350dc49d3750b42f374a9210347eba34346c91f0361dbed235de12fa3485240b3566ec0b373e6221354e0c283568152535e5ef9037d11b0c34ab517d32cdcba33359e4223883811835dcb8883251f8d5312880e3347fe8ba3e34ce223f74d691340c85d3326945f93e2240f73ede73003362a20a3447e8043f4938ab3e873e56340c63f13569ddf23e58714c3e78096c358f50ef3330bcdd3eebf8873d1f9a13343767d535e8929e3e4cde57368e6afd341363de3a28aafd3de57a2735af312d3525a4373d54df5639e3d2593483000933723a1d3db8613139c07459350000000055c9183a8832a8380000000000000000d164ba38a290a3380000000000000000fff20539cd60d7381220d5349776a13417989b38b6a94d38e8151d3487162e343dfa7438f5d78438f8c23a323bea8b32b76fa6387c4fbd38e4901d357c7c1635148249373395a23442138f347930a034d0bdab37d266d633a9b4c23372fcc13315be6b3425e5213227d71e3287683a320a4ad9361469313eb42b483f7b8a10359093e93462e4933effbd203f00000000cb6c30353bbcaf3e4680f53ebef6f834c1c79933439dae3e14c3a83e9844203494f03436442b953e3f92443ebee94a32bbd253353775733e2be8893d32433335236c12358bb4023e643fc635f6c69034338a8e3c66fe2b3a383fc233a0ecc5332e38633d2f2834383a7aaa32381227328e9c1c39fe64a6387fd4163555892e342762f73809cfbf3819c20734eb8b8b3285482939f51961385b8f083560215332dc935f384ff60838287d0435a8377334c5150b397e4aac3813621135913d0735e4aabe38aefac3385625cb34248b3a33b8ee333803704138ccdde93401dd84343d04b43757012735f8e013353e5d13359307103527f499349e654034a0b4f233e5c1d936a076953d42236a3f4186143555a53634d9c4083ef215443fcfbf2134bfc00635af424d3edec11e3f1b115f353f461a35e4544d3e6348ef3e8e8a0235335c2035b5492f3e659e9f3e69346f352c12ef3460f4ea3d6baa273e6a053a3599b21d35afbf2c3db45e8e3df7c6df34ed085035a1908d3c1bca1f3592580a35c7fe883c33b23438ceb79134fff100340000000000000000000000000000000096c94c39bef1eb3859d3463375aad3323ae63239f9355f37df389e35b21d833570bd3838f0739737bc143a35abc9fe344f5f0c39534e95373b7b73346c3d7734097bca38e36a68380cef2636bc8091352123db381fec4a3c38aa1a356041dd34f7c1a6370335c934fb22b23432f9c1340000000000000000000000000000000000000000000000000000803f0000000074b0d13341b0753dcafc643fc1b078331a578e350b92cc3df861433f1d57c535e9065b3528ec853dcf431b3fe9234b35e120b2344b4f303deecee13e2a1f8b34d4864635badace3b8d258a3ed8cc5d36367bdf34849f9d3b0ce7ff3d047d1e35b8d2e734184b4d3c0257f83cf6c9b23400000000000000000000000000000000000000000000000000000000000000004c5b9c37d6e9a1366cfdb13656b60137990fb037ebb8dd363a640637eb4d6437f3dd933724c600357bde9036b8ff2a371af88d373a6a913524709d358f561337d173993792de2537bbd34c3759668e3731db043872327f37202f943756fff63798e59837e32814379e1f1f37a05b893700000000000000000000000000000000000000000000803f0000000000000000659ace3764f27f3fabe98a37d2e2ce36a69e31380584583f1281af372c822c37988b1b380e952d3fbb81943766a01837894222387fce013f74e18237901e5a3669e5de37ccb6ac3e5c958a37c49f7a376d9e26380ac52c3e41c2e9376ef5ca37aeb1a23721e72a382ff83837b205463700000000000000000000000000000000d4a57037a2bea536cc8f9a36f930c636779a1237bc438d36419c9a36e821c036fa157737a045a336a0ddb5368476cc36c83f26378deac73674cef0368c8d1537e99a663755a4a5364d9cd236ffc44437288fdc37eeea66369331b53634f4b2375d4e4a37087694364330a036ba3407370d45ad37f4b50a37940afb3639b193374207b53768db8d37f11393373e62c33775ae9436bff57f3f6eb94a380a89d036e4b7ae3678f67f3f6fe80b389dcab336a428603764f4583f219a0c385888c53607921f37fd962f3f3fecf137ca731137660f943707cc013ff607ef37ea0f23373ff9e537113aae3ee01f0b385f977f37f96c2b377463333e076c7737af03a436c40a56379621713cfec38e370b60f436807d7f3747bcec37142288371a3771374fc314383750a8371c0ef0368a5c553791e8563722075c36916660363b1cc536b9f11d38f02d3e3659e13d3615a38e36fdbfb7378c3d3b36c7fc3436b22c8e366881a63797a7703607c476366a045b37d32190378d5f63347c6b6b34761a343708c43c38657346378e264b372ea40c385e9f543778db28361e360f36f38622378ead7b37bf2fe036442d7636b84582374cf14c36f0fb573f58d51f3ed99f2a3750565a365979593fe3f7193e3ce075360b426c376e88363f59580b3e49ed6b36507802372741183fe526b43d973b5636fc596b372662e03e9fa3723dcaa21137dd68ff366e4b9d3eb516783b4d169336948ee33704dd2a3e1ee38139d1465037137067361b5d643cb82c47377646f935eaea88360b1c0338f318d5363c8f4a353228b23787888d37372e1a35e28a2b36e81cbf36661d4b36e6a146369a984936ea67d037a0920b364323a635dc667e364efac4380c720535865f0335140d0a351df670396498c3360c6a7d36135825374747c93761649f35086c9635271c3236bf4a08387e2eaf360e7d9135ff18493703590e384208ce3763ea96379779ef37ef15d63741617f3750e8623785969337c86c1b3564f32c3f32faa53ed4972435b6c0483640242f3fb8a0a13e9b8f4836fef1ae3669de173f48f3863e0c7ad1351ebdb536c05ff73e8afb4a3e2e68083586b14c37c743b83e9ca90d3e6884c636372c0a368d227e3ebdf78b3d1ca2a4356b59fc36fada183e392cb138a3912036a085ca37e209303cf6761838df1176377365813724796438e5f25c372a091337015be2374623d3371be7d3367d6b02375ea9f33738aa90378992a23664ec3f37281a683705cdfa36ccccd936c343fb368ed2c137c555c6360a72a436e71ecb36acd1cc37cd8b3537082db436ff353b37d384ef3711d2d9367c2bbd36ee55f636e96375377ebb3f37f3ce1b37e1505b37004501380cacd8373c40b4371f4beb3774ddd937c04caf37b4c59237342ac037347cf8361fc7013f0746fc3e43045736cfac5f374df8033ffe3bf63e2239a536533513374394e43eaa8acd3eeceee436f2cff8364af5bb3e3646a13eb2bbb136bb738b3763df893ef82d6c3efd71e3366d772537782f3e3efe3f073e661ec63670034237bc58ca3df1f7593d6ad316371bfbd5374b36603b8c241c38f6699537601fb43760151038d3b7b3376e892737d7ed0c38d58d9f374c4a1d3661735836dba0f837f002883746729d36131ca13608d2ca377c040235f665ff341f5c01358ae9ab37db3fa33510339235dd519b3562ec4739af510037cdd72a354f95f3367d5ac7384462a4361c5a0e3582984e36ebf4fe3704ca8137f33e97364ff67f379949e336933c8836328a523616a3a436c44f9e3795d01637a5d5bd36cdb64137c79cce36989dad3e3a22293f5707133638055e37969db13ea466243f7f2f9c3685a6a6360d489d3e31150b3fa215f434798e0036ba65813ef470dc3ed81995356f8f5f37a537403e198ca03ebb443036e60632371c3bfc3dfad5473e18eb0a35daaea9375dce683d1081b03d4f7b80365fec8d362211ba37e6eb1c37b6894e3659475337c4500e38ef5f5337e604303563f29a37cd0b0b371202723477797b34ced82337ca28b93528039035d23ba13519782138fad73337e998dd3669ea1537634997373c136734a1b75b344f1269344411b437511d1537d8bf3a3630b782361cc4de370c6ad63603551c366d1f6136dcb25738dc54c337b2096636c9ff7f37e3c89f37c5432e371301e136307e2a37545bc23740428c375968233732fa9b37573732359c4f2f3e7420543f8ea95c34ebbfd73548a13a3e20be4d3f42958e357af9b437ab87313e3ccd283f6f0f03377f0f1d37b4b8103ee72e0c3f34a15d34fa5991372a9cd53d7cd0cb3e3b175e36a77f8a377dbd6f3dcf63843e201d3636a9fd1538ad9c9a3c4411073ee5636336dae8613792a72f38995efb37f5b19336bf67bd3758835e38246fa337f960ad368c5fce372e1291379b284c36559388364e318737d1051836fb1ff835b07c083623f13f378c1e983678213736db4677368dfaf2372cfc303742cc4b36cae65b36839bd13741371b379c3a8d364617b13687f28937ade018379964cd3635b3083754a9bd37ad904b37e273b9368c07ce3608847737f595f836c463b036646dd236f61d253748d8b336497da436d1f7bc36a7b4a237de08453bad2f7f3f9be2643696334a3706aec43c530d763fe69a023632380137b93fd33cab894c3fd8e26836834fdc37e6b1ad3c2463233f288c5836991b5937731c933c2727f33e653fab36ee5728372b0f84382cbda03e4615f436c1458b377dee5138a7fe1b3e799bbe36a39e3537a57dfb37cf3e05382ae1aa360d404337d2569837f66ddb36b6a08d3600000000000000000000000000000000a5925737f81c5336d53f4036016c49363ed5053805399f3773640536236e90360323a7377d896c37dab7e036bfb41d37b3dedb37cff2c0363ebc91357c1ea035b5ccce373da55137b8ed5836c2640d376148e237d562ab37422f19378f0b733734f6b837e779a7378d425537d44b97370000000000000000000000000000000000000000000000000000803f00000000660659378385d2377ff47f3ffa3f4936bcdaf33715bd48389fba543ffa314e37ccab9f37ddb80f38bc96293fb7c636370e7c9537c70733382e3cfc3ed5569f3630ba9337978a21387cb7a43e63531d37f05cad3707984638fbaf1d3e93779837fee98437ae4de937d2cc3d38c2dc71370000000000000000000000000000000000000000000000000000000000000000bfc3f83798a3b13651151d3658bf6b36f51bde37b79e52361af1a13596bda33580c65c3826392c3723940b374d8a4d374cf20238026c3737218b1537ae3a4637df1a2c374ff41336c3b71636d3e55336ed142b38236e93379da46537d983e637ed05c93726e98637d7578e37f3abbc3700000000000000000000000000000000000000000000803f00000000000000007c6b883a6e67733f4b29b5372badbc363bbd743ae8bd4c3f2996bf3719ebb13678df1e3cb9fb253f193a1c388b5b62376b8ff2395b20013ffd2ad63731696e370316dc39eb25b63e9f13dd36a75e2c36324eda38ef57563e9e83d83781119e3726df203872826b3d0bd28337179b8e3700000000000000000000000000000000c44f51395dc1e837eefa413621245b36a7fe2038bc5d1a373f794a365ffb56363d2ac2374eae723636a76c36dfd46f363161e03907e70b3799871236b6abd43689b21c3858569a37c0632037b2c6933782b7d937aa9e9c36569c38369232b736de1a1e38d49b7d370562c5367586b237266bcd3713e82037100bcd366cd1aa3718078037f42e3b3735e14337414b8d37de0b04383e40723f15015a3d362567374e3e62381ef2663f8e8a513d959e6836756d6c392d00443fc789023dd04f77364b35503c9b5f203f068a2b3cf45133377c85323abafcf73ee7511f38f276ac378e3f3938d28faf3e00e6bf3768f6c4363c6f3c39a4c74e3e0140f537b9647437759c4c390ef77e3d3d71683769dc0c3764279c370718ae37d64c07376cbb26373f352338dc4df737e2128136999381365a3c0838580e8b37dab41c3702c91b37f5f03b38bbff3f37d86d693650156a36f069373898b2a5371af7203682785d368253ba38cf25bd37c0ee6c370f2e9137411b483801ffaf3754039d378605b03733f63a384f87a137930ebb3686ee943737184438f2cda537121a973729e4ce376bc206389b04cf37af68c137ec89e837b4f78f37cdb74c3f51e74c3eb189a53603b10e3878f4453f4ba7413ed2c139374abf61386603253f08cb1a3e06806f367baca53829060b3fc670d93d84d57e377f18da39257bd53e18e2983dd7c2a737e2af85383ab59c3e698fdd3c9104aa3720f97138728e433ef47e2a38067b7037b6e9383975d6763d62e4cd3723db95373eec3638f5b27038a98db937a8d0b437b3ca39387d231038af15313781e0cd36795c0e39573e153839f9be36cebbbe36011ff839426fb637b9b78e3564e48a3539093f38f88fb8375fac9c3635cd9b36588063386323783796be2f37e4b137372dce9f38413751376882713556ad7335be9840386104f5376c5051370e62b93770b90b3845d6d037992a89370ceed237d2c8383892230e3880a5d63709321638d64bc137c2c1263f9f4eb23ec370883732424b386273223f693ca53e2bb1633766e8e739cc170b3fe725863ef5eb39368a9754387732e63e3c20503ea85f15370e328a386177b23e07b9153e706c4c3724da4e39d6e6823eee89ac3d72bb7335bf6d5638e31c233ec6e3e03ccef5ac37b76312383e6e653d7250fa3778d18d37d8236038a86ed939d8710e388980c93774a90938cbf70038d86b9437b80d6037433b4738b566f637497b0937198807372b20263806babb3723921f36d0751e36f8764a399d4bba372b17ca36dd83b9361e7aa639554733380c3faf3752fdae3784be2439c858cc3708f83b37371760375a1b29389922e7378748263760048337915938382597f037b7df16379456c137a1f6f9370f6ae0378a10ca37103ee537dbfae437974d013fbe20fd3ea518b637a1532138da41fc3e4902eb3eaf1b0f37ffa4283840ddd83e1020c33ee09f8136fc476b390606b53e374f9a3ef32464371a56d63975038a3ead226b3ea66309383ad69b39eb254e3e313c123e103b9337842a303856cefd3da395913de44d8f37018a4b38f9c0443d5cb42f38536e2d3778fb0d3891b986391a91dc3758e3bb37d7977038726443383b7b66372cf58436487f0738ca3dba372b8e1c37d8851b37531b3a38bd59d937b3c8d935b9a4d13522272b382e3a713755983a35c6602f35740f5a381eef7f37ec932137cc5c1a3787373a385abae537df519d3637159d36ab09b83928510138a1eaa2365c14df36db904b38b2c526387ab9c437c009f237a541d33738ffaf374d518337f708a0371bae1b3853e8b63e7b5b243fcae1d337cc88f2379907b43e329a173f489d1d3782a2403842dc9f3ed92a003f8cc4dc35dd4c83381d1f853eaa9bcc3eb5b245358fe46938093b4f3e19ff9a3ebad93d379cd74438d90f163efa224d3e09a62c377300ce396dc7b43d5a33d63d4fbf74373e545538cba1fa3c15bd3f3c3bc7d837357c1f38b37bff38fb23ba37e8a86637d3002e3811ea1d3869da3c3709ff0937b0ef48385a81ae378ccaff36a565fd36130835381d31ab3728698136b2ba7a36ec343b389ae4a3375f581437117fc636585f1738ee28d4375775e4365486e33662293038cbd7e937669416368f6006362bd32a3851cdba378ab2693635876c364d96003872a6bf378e286e37658a8d37f7d5a7379aafba363147933676bfa9368266e8377198593e9f86493fb27c9437fc3e1838fd295a3e25f3393fb70401371b9a3638f0604c3eb5f21b3f36f686360b2b533841552a3ebb0f003f3d607c37b189a838b158043e02cac13ee2677c37628f3a38a014b93d992f853ec1285c3759f22e38bde85b3db7f4193e9d72c436a3f9053813b6233cad40e13cf0af6e3776960b38fe8232389fd814373ba6823608828e37fa2c75376972a036d7329e363a3add37e4327637661d6436c6225336b13a2a387184d33781052436a3431b36a948f137266b86378bfca835106ca635c1941d3883e1e4379936113602080d365de5b1394bef8c37a0360e36ff020836188bb737b48ae73616716f36a0147236600b14382c0ae037d7fe7336910f7e36a213b337495b513782566d369409d73676976b37dfcc863d8d1b6f3f90c4c136797fc93783aaa13db8c45b3f0c2e7536d883213845609b3da0c3383f4610ec36dc0ef837a9cb8b3d56ad163ff7e459363c372538f22d793d936ae83e49a385370553e139c6a20b3d7a42a13ee5c802372aa7b5375172883c9eec3d3ef449703648990f382e896b39647e3d3dd58f223729380b38c2edf4382e1c9737901de03500000000000000000000000000000000925def37213db63744589c3656399236b2fd4f38aebc173877c2123671210536fac36f378d7908376f04d035a153ba35578f1638bc130038ec9901370637a33648b27b38e0c94b381a671637304cee36bf9606380703ef375ea5f436f93ab43548b30e384782fa3750826f37520754370000000000000000000000000000000000000000000000000000803f00000000f86ad5375fd331384536713fc8797337361c38386c366c39a93f4a3f9b62c8378eca53379fcfe939bea8243f38259936aba70a382117a139d64bfd3e9fcdcf37488e5e387658483ada77ae3e153b07380228e9377e43fa39eb4c4b3e008caa371a34d937fe08ea39f1dc423d1b6ea437000000000000000000000000000000000000000000000000000000000000000077530c3a9599ba3948c832382d53af37fa160e3a6f2cb6393d11c238746e2f3829d8ce39112438392bc82038611d1b38d9ccd33952e0803964f99638b27e2938ec68de39d41b8439231d85385a1dfe37ab520c3a72ec6339744b84370b1e893792b99239add85f382daf98370ff1ca3700000000000000000000000000000000000000000000803f000000000000000016843b3a7543613f14af073ab4e78339a37d403a1374403f617d053a07a38d394bb19d3a6c1a203f3feda6392c99f338d2581b3aac15ff3ef434bb39bb2b4a39dac9333a4a2dbd3ec1ecb439bb6c3b39572e7a3aa219783edc4ba239046ba23899db853a3fb8eb3dbc284138c3a7c137000000000000000000000000000000007f470b3a25aad0393ef0c537be58bc37b0123a3a81cfca399a9488375c38193757274e3abe5a0e3a0db3d93847cd9a37967d1d3a3e009638d605b5373d919d37f4022d3a34b5f43943f74d39be141e39253e283aa926df39c4211c39d150e3385fd4f839c6c0fa386fa29f376ce99a374c141f3a8a0dac39a5cd343819ac3e39d0f2d83910649f390f1c673994118b39e950173acae6603f7191f13d2b77f938a510d23a1688473f97c3de3d6c494d39a423813a30ed293f8eb0b13db767cf394d2bfd3ae3950d3f5c9c8f3df30a0138db1b623a2971e13ef0185c3dfb5abd39daf7dc3ae857a83e3da5123d800aa3396dff733a542a5f3ecef3a43c0a21d137516d813a13fbd93d832694394582d23882d4173a63ec083ad5b46d3905034739b8dd123ae946083aa27958394f485d380a02d83908d38e39fa1e8b37f1652e3748904e3a70142f3a8ef68639db0a00398479033ac3878b3973020c384e41f7370b8b393a5263ad39a785173846ab0a38227a103a50b8d539bc076f37901c4d371e8e123a20e5d93958aa4a3996293339ff15dc394b64a839fe742c396098553991cdf0397d999a397da58f386d640139e3a00d3af799403f8643783ebbc0b539bce75d3a24622a3f22065e3ea9cd6838c3aa613ae3ad113f53733b3e0ca3f8390dc0333ad05df43ed7fc173e18558b3824fb8f3afe75c13e734ef13d7fce1a39733f753aadc1903ea707ac3d12623a392f653c3a87c33f3e69f2583d87959639c1c50e3a6b8dc93d6674a539d6b94939d576383ade5b433a5675713938218e38f10b463a82193e3a202baf38b6a95d3876dd213a715e0c3ad0b0b938d6ba8137ac3d733afe101a3a166a8537978703374f8ab239ca702f39b4dd793746602c372ea5323ac45a0a3a58485639c4f89e387ef70c3a1a9ec439bac72638eed61a38a926303a7e0caa3934bfd737e799cb3724ea703a1104323a6c496e39e59d3b39127ff139d890c33996e77c39a63374396734273af7db1f3fa96cbd3eb580c239111c1e3ac2ea0d3f050aa83ef134ad39374e863a9db9f53eaf16873ef93e62392bfc3c3a90c8ca3ed7616b3e69cdcb3737de553a5565a13e63b7383e0085c439e6c8673aaf9c713eea35073e9b994d39f92b883a2aea1f3e13b0ab3da89ef5376d9d9f3a636b9b3d40370b3da263a339435f303a97a33a3ae108bf3987d78839084c013a00ac023a85cc0338c7d2dc37f1614c3ae0d0323a6593723913752737b75e603a5f503f3aa217aa39f7846238a189553ab4f01d3aa482fd3813ebc73795e31f3ae11a033a5b3e73393cefc538324a433ac82a183a95596a39f0d89538dea34c3a42082b3a3b80d039d6cfb93965b8383af413183afbafa9397df59039ce115839fcb73938564efa3712eaf537ba299039b065ff3e3cfffe3ee5650b39fb204d3afc9ee23ed7cae03eb713f23941cf633a610cc23ee3c6bf3eb7db133ab851c63ac1b9a13e4a819e3e3a76cc39b6855a3a7ebe803eeac97b3ea397c0398909c33aab66403e52f7373edf83cc392d5c653a3e1afe3d9a67ec3d5fcbf9393024583aa2bd773d023c543dd566cb39e0fb113a8820213a954b6038a05c013898df163a73db193aa6cda039fcef6a381f468d3af8206a3a3f1bf9371274c13738385d3aedf6203a4151c137b4086737da642d3a93b6eb390c182338e7f709389352343a86710d3a15370139caa52138794ba3395911283974dc643725bd17374220413a676bbd39cde15d377186fa36da5bfa39f3edaf3950625b3884730138942f093a9913a83969df6b38eb336638a121013a833fbe3e0e691f3f3956e339ff52913a9dbfa93e222e0d3f64cee1399fd8713aabce913e09f2f03ef4390939f0d3573a7022733e2ecec73e80468539f7bf4d3aad56423e1e6c9e3e74ebb939d9fde1394472113ea1546b3e3357ba37e4bf823acae3c83dfcef1c3e5839a237216e253aed073a3d16978b3df022ee388ae6483a2556593afa26c9393044733891a9233afefb1b3a011a56388b4c2438504df639ef20c739f41f3f370f27a03664571d3a73b5fe398cf94038ac95803685b7233a082ee939a100893709cc0337119f523a91cc253a9efdad38ffe20038413ae839a4f69b39d8bb08387bc6de37d3be373a73900a3ad8ea3239e1ba233718f0a73974d4573967a49e37c9e780373f26ec395f03c2395b8e5739a797233903cb073a519c7a3eea1f403ffd0bb43936ee063a800a693e1f952b3f49f5673915992a3ad636423e29cd103f2b4cb039b0aa2e3ae657223e12f4f03eff958c399949653a1e0f013e4610bf3ebdfda8398aee0e3ae9e2c03d96dc8d3ed480c33831c2573a17de7b3d1d01393eea2ba639fa00f5392fbbf43c8e18ae3d1bdeb2374473103a80e71a3afd40d93953066a39141eff39954afb394366653917fb8c37f3b3513aed92273a99edb7370c8945372b8d313ae4e8fe396024a83746f30c3753633b3a61741d3a078e14392adb1a380723373aa504193a5e1e4139cc61273782f52f3a735c5b394971bc37dd55903780cc433a5fd6293a51daa03947604339dadf0b3af848e7391d0e15391f4a8b37ed328f39a0e72d3906c9c237ed66bc37045cdc3974d1f03d02aa603f7664da398314553aff8ae23de917473fca94d339c4c6393a949ec33df0a8293f759c7a399cae8a3a6feea13df1c90c3fa948f639499d463acc01813dad02e03ef1aae83928e9893abe79403dfe71a63e71f11b38738e553a1d73f73cae675a3e7edfe339b1ad573a9572c83aef6ad73dd5b46e39aae6033ad03f1c3a4a837739b46ec337000000000000000000000000000000003cb1453a9a62363ac62ca93758dd41371972493a9ed52d3a55c7083838e60837c2f3093ab9aaf639cd6e2139c843de371110f739453dd539fde30b3926270638399c153a7bfdd3399549d338f04c21380841133ab1f3043a0ede8e39e2282939c504033af6e8e239f3005a39a482a4380000000000000000000000000000000000000000000000000000803f00000000f724203a6983be3adc15613f4fa3213a350e453ab85d933ab76c403f0bb20d3a1089083a81054e3ae12a203fb845d339b631ff39a918233a64b0fe3ef9afaf39422b1a3a6bd3923abf10bd3e60d78439c39f133a1a9c353ad962783e715dc5392f320f3ad6eb293afc4aeb3d3a009739000000000000000000000000000000000000000000000000000000000000000076c55d35206a56357f3f613598505a35af2dc0354c781535d4e11835229c16356bfbbc371285893189e78c31ef878c362dfbf3362a291635d92314359bcf483521194f363065f2348156f134dc4cfc34a06618386ec2a637718fa337a648d537a5290738aa1d96370f7040375987873700000000000000000000000000000000000000000000803f000000000000000052c5a53716e47f3f2a202c37c3b959350d1caf374ac9623fc9af98363534283500d29e38f405323fb73736381a4d81372c195c3824fc013f61d8e4374753bb3530bb1437d5f4a33e9f6bc03612e6f734b061383882eb063e457b31383ac4f4375e5b3038a33c263c07b13738cfe99c3700000000000000000000000000000000e118a93648d83f36a882a336fc89d936a34f9a3641374f36090b6536b1aaa0367d904b35bf273c35fe704f35649d4f3556369b3795a1f9352347003659084d37177f10377e6e6036d0d06e3613b6bc366ede4037f58a3e35f9474535a36ebf36e657ed37d5dc35372bf4203712388c37a06981370e1c0837e5098936f55cc9362a9e0935fa280c35d5e90d35d48312352eb4113519f57f3f6605f338eea24137f4d4a63633f87f3ff9f97b38557ec93693b047373061673f56384938edc08d3529d80f38c508373f372779385ae99f37a385e7376033073fa6f9733878632c37920db4374b42b03e8793753866841237fa6ba8376c9b1e3e3e0b8f38d593ab3702553c362e8fa23c55f14438c0dec0367f090635557acd37d4590f37e2110a35872dd036ab2f2a377fb916378003f636a8a5bd3607eeae36ab77bc36c303c9366e1e4935e59b4735a11d5235753a4c35bd26b03532c6a6351419ae35b697b035708c913602e22c364c59493627418836f80067360d45eb359d6fee35e814ec35e47586377e379736a3b93f3679fce33648f0c4375d8279377fd2b936b154ce3613a57d36e408643613ae473674a75736ae9f8136756e633fbc3ae43d2a522137ff168d366f0c6a3f3777af3d028af436b7a954352f554d3fe219a13df60e4c358c4ead3531a22a3f1f3d043d31a7ac35a71e9a3614d4f73e6027893caf529a368783f0357642a53e1d5d4b38d0561e3673e0ae35b109193e1cd03938a2ee0e3742203a3650e9af3a24bad6380c459a36c06c2836b7749238b953053838f6253621a67a36de512d37201c7136e5997536d2fd1d3670521e364dd61d36be632136d75182379682f735d95ef9359c40f435bf8e8a35ef2e8a35399f8b352f4a8c3538effe35c719fa3599fe003673be0436830bcf36e1e7903607b58136670ba736bd9af737e73aa53722eb773738e9ab3752f8b037bbf667373b05e33631e1f8365cbe6a3749025a378c05483798765337bb593f3645a1323f9db39a3edb2166364e4a1f36b77a383f05e08e3e95231f36edc6e2361e4a293f6fc9693eb6b7eb353f718935976c083ff179263e5e758d35d83402367868cc3e365ad93dbccb0036ff63a236564f883e42fa433de042a436aa055e3702ba033e2fe13f3922ce8f37288bed36e5d7463a4acc2738ea18cf366d974537d49bb237e7847e373a6f2337fce58a373d92c33785362f3524fb5e358409eb36dbd78c36ba3d823694ed8a36f8a5193745f8ad35e9a0aa355e7eab352422dc3616d2ad352a09a23545cba835bd9b9a374c4c0e37b0908b36c7ddb536586f9937ae63ec35bf95bd352369cc3500e42138d9c40638d4d7af37c20daf3758f4f4373704c5370b7f5937291d5837a895a237d6d5733706f79436b23ee43638b634352917023f4ab8fb3e0bed23351b888c3693fe073f3653ef3ee7c98336ef9b3d372ed4f83e167dc83eea04a935e610c6368cc5cc3e409a953eaad7a535a2ef9b37d071943e7b2c573e9cbbd43617771e37f19c4e3e482cd93dde90bc351b35ce37e058d03db63baa3c8e188c37d7909c370aa8a03a53867f3807f792365e3e7937284f5a38a054c437bf893535661070374fd96437ec2db536102a3d36ade8df36b65db2361bc639366c1a4536b2c25237a7041135b6ed0f350aaf0a355481b73679dde635ab8fa5356de0a435f83b02365a83003697fc03361fe801361b14cf3559ad8935fc858c35680b8c350cb83638f80b10382dffa0370c45be375b7b853747c63137de707e3602f1a5364fe6ed3695cb783660eb6736b58167362a8227376b1da33e0a622e3f48e81a363765cc3687c7af3e34f1273fa2243936b2eb3c37a0dba33e28170d3f4a5c0d358006cb369932883e8cf8d63ee5ea9f3590100236f1994e3e2503963e7e640136098d903567520a3e78a52d3e295e89357e6b0e38d380893d8c60303de60d95371b4c6b37a72b5f39ed8cac38ce092536ba831b3705c36138557190360ed14936e7308a36107d53364b96c83588efda35f349963670df1736f74a0f3652941336273fb436f9d5a8358eab9b3501889d35fb637e36f773eb35f531e8350c9aea3515a80c3776bd53366c610436c19d0636231392363f1701367132a735cbcaa8355c238737acf86b3651656535386c65355801d337cdd580373c21ea36a9800737c8c812375eaba5369d5c943689ce96364f664236d150033e702b5f3fc39fbd35af36de366fad1d3e4535583fc5900e36405a3b370b78193e605b333f803390359473c7368003043e2a5e0c3f9a66ea35ad83b7375f6ed63dc9ffc93eff31033628b69a3602c19a3d4d10673edfdd9b35fc838837d13ef53c5cefb63d87936235802aec37aaff8e3805b33538a3d0a93651df5e3739c7df37884ddf36ee7d873605860e35cb760935bd84053551ac0135554343364fcd1d363f36ef35822ff1350cc0b03777aed1356965c935d093ca35ae1aa837ec0c4435a39c3d3511bc353599f5df37ea3bd036e2115936806a6836a9f8443820f60238221a3a3630d89736536e2a38c2d70d38eb5c3f3779c5873789a12037f2b11837dbf4f836453b0937ddf3f836281b1f3692e86d3550a8893523974636b29fa83adda37f3f27920335ad46c5370f6aa03c83e5753fd522ed35cc812238265baa3a62fe573f4bdccc35cfab1b3862cc1a3af8bc273f04c341353752243821f8a13aedeff03e047c6536a3a73f38ac8319395fc6913e3052a037677d1638799ba83848aac43d87f4c437ebf11c3701b19338e9ec7c3885f8e13600e76337a9b4fe37bcfec53624ea2c3500000000000000000000000000000000315c8037a2c78134c2578734acdf8b341e53e837c3705736ffa36735f237a13533956f362c940f353f930b355a180435808ec337a6348b3641bc1535fb7c193519c5583852892c380a204a37a7ac773718c58b37810e8a3750aacc3607c007379557a037c359a937821d7f3703199e370000000000000000000000000000000000000000000000000000803f00000000eaa2f43758c3833822617d3f33b28134906d1938f9a05838942f5e3ff9f51336a5229f362bab6637acfc2d3f78cd06351f0ce7378ada823897f2fb3e19c3593762644838a314bb38a7d29b3ec5fc6438ca7af43637fa1a38304ce93d2940b237a6e14337b8d42f387cd55d39a984a13700000000000000000000000000000000000000000000000000000000000000005dc2bb35b6287235489d6e35688e6635c1091534954e14343775123444a50f3440a77336968354349b7d5634c12257348f8bd237799b853578718135fc577e352bff4534bb023f342a494434d6f93b348810ca3524993d3590de3f3587d34635ef5f05381fa34a37a0f1a536eaad133700000000000000000000000000000000000000000000803f00000000000000007b354238c0c57c3f3c4d8d356d3471356ec3cb3843b5553f514e153421271334bbbd6138fd042d3f0defaf3541005c34487986388891023f9ac2c9379b198b35e98958383a0db13e987f8b36422f3f34a3daf337e3a63a3e8bcad53655553e35eb6a4838bc88153d80ad063886331c3700000000000000000000000000000000c70f85371928b7370abc9836a71a2f36a2f21736390ceb35ab83e435f5c3d4359c5aaa35b2bc3b356b863a3596a42b35f3b88036c5563636c2ac373685cc36366220d436a6af6135cac1683573b276356ef2e5366c338135ba0d9035e3e38d35b96a8c377a7129365baa2e36ca4c2d36e9755937150a4b36b1551836d4a1673614f7bf37d02d8237f0912f3763f98937d27a1d367bee7f3fc29a8b395715ae373ceb2d3620fa7f3f5f1c70370b4d03363ecee0379dc7603fbe1eef350aa64a3597876738efdd353f1264ad37f06a3936b5ac2238e2ba093f895fb63728237235262404388234be3e87ba9837dbf98f350a41e5372c31563ebdbfe737cb6b2936c6d1c736230a7b3d0ebac3372e9e1536a23e9c3784463c38cd72b8370bfe1a37fd8fc437a3c80538d67cd736f34c36361118833619db4536b35709363de7e335ef8b953556a48535bc01863574588035f8d80535557d053523f3fc34ab7aee343f55763574ac60357ded4b354d8f34353c67bc347e45ab34945dd534a4ecc43419b757364f598d35f2929535f0b19935edbb6736d9f560365849553678596e36ddbda237ee53403659ec4536f12e44362a020f3650095a3f15c9173e4074a937c9cd5c365871693fcc61b23d003c383695cc7437ff694a3f18ac523dbc298a35d8b38f373b7c2e3f9932353bd3de053582e240378ec9023fd28e8639b30c643561b66637f5cab63e0bd98238702bca34e8a54e37e5484b3e4a2710381be09a350d593a3655f94b3d9b46c637d31c583678caa6373b2b7b38c65fa7371071433606608637e633a73724dfd236ea8091360de82e36178cf535c2e0c335ba619a35ecc68936236eb934e48cb83496ddb33440bd8b35076b883533a18235f8238535fcc65c37efd3bf35ce9eb935b563b33522c2b7379dd84e35396319355a27163553758a370e7341372fb0ab36e4029f360d762b38a6fdee3727df263733d4393786183e3720114736da0bb8357afeb63519978d36172b2f3f11a9a13e41fb0e3711b20e36762c3d3f9325853e050fd835526b023709192c3f93dc393e1783b734d3298536f5900f3fba15fb3d017a823568959c37347ce13e08d8863d31cac13534c2b237168ca13e1e91c43ca1a01635bd618337b4ec383e507761388c4b1937379e1d387e0ffb3c85c45638df054b37d5c6c137be75733817a525376f32b0353801cf37bc9cc3374a9a44365c294836647109370d7d713597cf9b3479344934d6396936afd0aa358c789335a4e28f35d749da36d52c04364ee5f235fd0bf235abdb53379bf511342e2f113427830f348f21b83706350b3680c80a36c49108361304de379398e2368b8fec35a7b7df35d57f9437eb2c243788a7eb352a09f635eb169e3706278036551d4636f76342367e288436306b033ff72cf93e668742362dc0e836b8e20f3f3a88d83ebc520b35437fce37643c023f5c3ba83ef4219c35ea110a38ecbfdf3eed996e3ed274f9359d76ce3746baa53e8989343e0ec31034eb2a0238fd7a803eb618a23da3170b36b7a8cf378633183e1f8f663cd5b8f7350369af378fa6743cde0911387cbbdf35dd3af937541f4638b6261b376e4d443655c59a374250f0361b587d3561c14735dee6c037be9c373649580c367cb0e73518d1303713c9be359186a135258c9d3520563137b7c31335f7e50e359f87033582e33d37f3a2b1353eb09235dc2e8435ced16936a552803584927e35b8e97635274f2b37d4b698368a17bd348f38b7349042593760bc2336d6a31736463f1436ab622637b2278e363bb08e366ca48b364ebef036d4daaf3e1e11283fe5f38835924b0038338bc43ee9d7153f7f821c36a1879237a70ab63e6081ed3e0ce7af3527a5f837b7d19f3e7259b23ec0951035a461d637138c803eba9b783e9252a53578610b377f2a3a3e12190a3ebe5b8235baba4137242be63d5a4d0b3d9ecfb934edcc0d38882c853ab35d10387cb41d36eb9eb337bda4543895c6c736b0db8e369a7e8d3771aa383657752e36efd22c3601481836355ea835beda70354477553571643b35e649843480a38334e2ae80347a23c6345d8aa834db73a834634ca8342dc16335f82234359848c83420d1b03419c81137025311353a4b0b357a080935e17e9b37737ca535c25d9e358578a3356623e2361e207336cdd5373626493e36b5eb1e3600fa15360b730536ff8703367ccaa737486e333e1f19533f7ce42b36ab215d361ebf543e65153e3f54f98735fb9f9e37d2ce4c3ebffd193ff227833461e6aa370f90383e91e7ec3e49d9a6347b6eba37a3f31a3e3cecac3e30d90c35ffad00383551ee3d8d014c3e984a1235c67a1038911c8a3dfe65b93d3d6a9c3571edf23795397f3ad252d4378f434136de460f38540712380066153623a00136927e933708d39a352c96553540c447354c0903369f20da358111963526d889359dbf1637fae30836c0aee535401ce33576255637eb085e35be9c16350bbb10358826b63765416b3593ca2c35cdd029359ecffc37b9110137463e3c3679223c365b1f2e37b9391036f177ec35891ce5358cbc303659943b3631b9353653d2333662a11f3646c31f3691111e36afbc19363d25f737be94f13c776c783f997f6f35afe6bd374d433f3d8c58643fc486ba35220f0638809c3f3df87b3e3fbca1fa3531ade0379840323d36c0153f8c8f34353402fa372261033de126dc3ebe115b35071ef8373f7b803c673e8c3e3ab7583605c40636e730753acbf7f73da27a0136d0fd2f36503985385a034e385c523a3687161138f6482038ac6f203672191d3600000000000000000000000000000000f82fc737188dad35f7e12235ef5a11359a1208362a290f3555dfe3343061d834233d453765d136346b5c273492d604344cd532381d85de371b106935a2985435473d0638688fbd3728fc62340d4b84344e6a0237c0d8a836584f1c34d6a11c344b599437dd36d937383fe636cf7657360000000000000000000000000000000000000000000000000000803f00000000715a3b38bff1403a856c763fd441823579b3a537f32f603a6223513f4c2b0635d984b0372db1273ae550273f1bca3234010424385df6373ac059fa3ea20aa93782579c37a718b9391ab9a53e7f889d37cc8515349deac7385a30293e741b3b35db1a0c36609f43383ad44b3c0a2ad13700000000000000000000000000000000000000000000000000000000000000004b38e333d2e8cd33b60cc3337d41ab330cf7d937c5716235a3bb5f35ebd55d35087faf3762080c3547ac0b35735e0b35db31ec37b870e534ad66ea34707ceb34f1e34e3845093b37d54f4936578e4436287e2838f4880038c4b2af37ce1a7a371a3d9538bc084d38e319e737468fe33700000000000000000000000000000000000000000000803f00000000000000006a31303a783a6f3fc3fee1336c83ca33bb62393c6942493f57fbb1373cba6135a66f0d3a06f9263fe102913735840b3519e4703aa6f6003f54e2c237b5d3e63491a1cc39c5d3b93ebf233d3877a7db36082c3e382da45f3ec8582b38dedced37972da53865dc883dd18b9439a0a426380000000000000000000000000000000088cd323888a8be389f1083372c600637c3d60538fdfd6936771a5e368dab483651bef737f7d4cf3643e3c736a36cbd36c1530b38e78e34376b02b036457ea936ed803a38c5ef7337342aa83665634d36441d9637312443372a34aa369817a83697cc3d38148cae37f92918370214053709ce0b38e5320c378ee3ab36b6b19d36fdf8133807791138da01f837fd09fb371d952b37fed0713f2ec1613dd1c7db374ef5d538bff76c3fc5fb923c1bb96736f96ad139ace5493f29acba3bacb2ce36d10bdf392d23263f782f2938faadd2363344933811ad003fb75e72381ce255379070003820d7ba3e2aafd5372f782737bded6a383986673e219dd839961a7c37e7c0a63726a9ac3d312df539da86fd369eebe23713c6c73a149d133864ebfa3731ad2838960d1f3832597f3716302637156fba37a25a4836c838263691de0b36fe38aa37b3bfd0361256c936b688bf367d41813774bc623663d85236c4e73e3648451138ee84153692f65735476f313571b32238669f5d371ea5df361edadc3699e01638afb1ee37045692378c0f68378243313820a82638c841f837da8add37f40807381957e637e2f2a637cd688c379a729537d1554c3fb6834e3e2fe6ba37db081f3849604b3fd460203e7f8e34369f3aa73827f1283f4a54033e92dccd36a2351a38fbba123fbcd8bc3d85655b36b2756d387860df3e3f778e3d650aae35292f5138e77da73e0cdb173db3d0e73669d909385ac9543eea409b3ce935c437161404387944a83d5f49e13bab760e384a334f3829b7c039819c0138058bb837353e3f38947430381f539137c06c7a36bf14aa37d74a2b3668a808363603d63572791e37597edc351f0099352f974835d3f85038c01e65377914c336407cb936be91f337073df23578dfd535d87ebf357aba7338eb08033865478f3685bf8e368e3634382a2c2237f2e0fb3699bafc36035d1a38074991375975da36efcadc366d3a013855145637bfb20637dfefbe36c7960f381acf273fda43b03e5af9eb3736505e38b10a273f1433923e46aa153695086f38ac1a103f8b87693e2ab8bd35cac59e384780f03ec8c2353e0d0dc636f4405138b4c6bd3e3b5a093e8e43e135ed918938c9738d3e699bad3d32b69c371ac3553812cd393e8c5a273dec24fa366d67d43782b1a23d403218393efae33644404c3897a42c3c1fcdb137d4241b3753af4a38d1051b38de64b23662a88236b5f47037d94788364af978365933633608bb6538af2fee377e15ae36f28ba236c95c4538a3b2ea36eb19dd362051cf3687d7183864bd0f37661ea83667497f363ddf5e3878d79d37fe04f33612feec367d1282383a6558388fe901386ccf8d376c381c38c456b837cec8193782aac1361ac50638a3290937b619cf36d2a9a736a1be0c3896ab023f323dfa3e3eece0361a4e3b39598e023f75e8d63e7a3881365e1aa5388a1de13eed9eaf3eef1711377c0e72393f78bf3ebf4e8a3e5062e43618d655388bc2923e26755a3ef9eaec367bbd87383e34623ef1f3093e2401f5360e1a92389261113e24e2993d24ff30381755093836df833d1fedbb3bb9466b37c502a038f4c9283a73a9b837e0efde36cb581438f7c79737453d6636d3565336d29dc736d775b936c4fba236d9d88c36f409de378b4ce6364daed5365654c436183d3e3809ca9536f5c84d363e0d2e36ef7fe6372cc2dd3542cdb13501f4833512905738879f96374774cd3613edc43671638137aa7df535d17adf35b7b1bd359693343847aeb0372a0a4d36cbaa42366dec0c38b1e5a03756c98a3611e9593639940438a049b83ea51c213f9484aa364b114838c64fbd3ee7e80c3f1129ad3603db8338b03eaa3e84e1e33e246dde369d5d39396a5b8d3e869eb93e17875c364a774d3823a0603e45328d3e6b7ccd353421923828b32a3ecb5f3e3e1273d0368c729e379892d93d7a3ed23dc989e835c7b418382e903a3d452a853ce9234e367d864d3896e550382c6cf23762f6d2361560e237a2ed5b3728193535bcf956349f90b437216c0736c689aa35b09d1f35fb38c037e2a092363caa6b36d49541365d429f3731a1bb36cb30a836a19e953615f3d137f8a92635520316354d4b1235e3ba8937bad974363d495c3697d25036e4a5df371380d3361136cd36fd2dc936b8e9f937f1219e378ba44c36258e45368d668a3720791a37af32c03603d599364b1f3438d9a1623e6135473f29cb063642034a395af5683eaadf2e3fd21dd9357782e239ad6d563e9d35103f4a6f8536a03fee39df533b3e759ee73e46eeb1363816b338b173153e303bb23e5d7d1735b550ca37621dd33d91fe6c3e4fcf6b36d6474938dbe38d3d67e1113ee3f4cf3620a70338663ce03c108aaf3c2202f736f3ed4b388fa9323844bf603764b4f13691889e3739ee1d36f5c7ff351db3c63518d529365f501436af710636cf8ef3358c1dac37e4ded736a1d8c136536cac36b25178376509a136931f7b3608ca5336c43116384e7ae2363d661c365d880536d5270b3852254e3770c0a6369b449b36fb5014384908d336f780c8368d13bf3619f92a3823bfde37d39a5d36641f4f36503fee366ec37b363b85b73570abaf35ff6e25381dbf9c3d61f26b3f25270e362b75343cb645ba3d5b2e503fab910b36e24a6e3a61e4be3d7ae82d3f4198cf36e86824384215b43d0e090c3fc8c38a369daf8a38f4ee9b3dc39ad73eb8f1643606384c3850206f3dca9b953ea072ae367be34638d161073d1842303e39d9cf366cc75c384b58963cab041b3d36ea75371d291739669701383105c6368f35c335000000000000000000000000000000002dd84338e2015535cee250359eb74b35ef7b143873b769379e92a535b75f5b352aee6038c6e1ad37cc012036cffe0836d83538388f0db4373205d834550cd23466d70d381cbcd637f7290d35b39f0c35b5a4443813fe3a38cd31ea3798547b37112bb6372a200038ad82d736cf4b03340000000000000000000000000000000000000000000000000000803f000000009bb9453a0a42ab3ce832693fbdc75235b11f4a3825396a3cc35d443f43dede35957c883814d52d3c383c203fb5af9d36d7ad3e38a4bf383c85bcf73e2abc1737a1e5f6375426373ace61b13eba83a43700340b38879de73970b94e3e42d52b385f5ee033d80ef8382b72843dbdc0da370000000000000000000000000000000000000000000000000000000000000000bafc46360ac8a73512a758360d4f8436f2f7bd3422a9f43335321a35ffd49835cbb21c3500000000a56fe53300000000ad5194354ff1cf33a6dda7357d52bc35285ed3378cc19d35fb79be358312c536807b44329dab1b3200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000f7b80138e306803f627c2f368bc33136a78d7a3833e3603f18f8193557c471359fca1f371cec313f29430c356c7a6935969754385444013f3cc40c35c6584a359ea8c438e1c2a23e0eefeb377e3e073600000000baa4063e0be424334047f13241737437725fb33c000000000000000000000000000000000000000000000000cd1bdb35e9ffb535885d083687671b36000000000000000000000000000000001e9f9535d9649f3524e3a4351465da35abc7b036cf8e9136afb2b936743ebc360000000000000000000000000000000026d487368715423667a75b36fd746f3645afa6366d9e9335956464358474613500000000000000000000000000000000520b8d34eb0216348d3499345ce1393491f258352707803fde2f543afd2928360000000067de7f3f4c83bb3700000000ea25b435d986633f523bb5379215a43524b8b637d1653a3f6a0c1038851ec336ef07c136f5500b3f5628e53600000000927097360cf6b83e79b0783673796536a5f02f37694d353e10a29437aa458b350000000008765a3d000000000000000085e11934e7f5d236e5732c34dfeaa434e93a623534276235b225733591f86835000000000000000000000000000000001a9613365db7e2354e0b1836402434364dee7c36dcac553631e87736f6f290360f9ff53652c6df309243fe34f15b6436693f92368ee76636d8cc83363fc3863659a86336d0234f36812b43361cc34d36a02e083649bcce359fd2bb35dbbe163516a9d737ad7cb537a3811b37eed5aa37d9673335f177633f133de73d2916663500000000c47b673f497eaa3d000000004d311636fe9d5e3fa5b1a03a13891e36a33a8b3648b6323fc03cb938ab7977369e07fd36cc68053fdee312382907d536ebe8a1360306b33eafbab137afef873630af7536168c243ef7dd6b37726e59364fec4935439e1b3d972f3e3753649e355d76af34be2d9438544a0138b7a9d734af119f355ea4d63673efae35d5c0b535ca629236dd065b360072653608ee7c36f8c5c236651dad36a1c9a9362900b93668489936b4566636a76b8336fd1276363514b535cb1064320bab3435a3511835bc768f36236a643681c05d3655be72361b0a0736e6cba63525cdc03562d79835fbaa2f356436b03477106e34dd8182349c31b737720b793778f1ac350ae306376d630935a889323fa3419b3e21979735bd166b36505e3a3fb4b6833eca597436d88eb136325f343f09f92a3eb550a236017e9036ddc4193fa4acbc3df9ce9636c5bc8035add0f03e4289f63c1e3b8f357df18836ade6a63eb9865938d21e653616f7ed35dbd3233eb7bc843713cd0136053b4f342e6fe83c1d99923442a88f34cea2b6355d9df4388c1498375525c1351edb2935bbd6803672ab0135f1638935e26625354370243566c01735997f3935b5f4813665fa61369f7417365bc6713660d1053726e9f336699eee36e4040537452bf337876ebc356dd59234f61526373af15c3799070c3747b20137589e0e37c283b036469458363abd3a364ff23d367030bd37776172356a1221352b30363572dcd23683237f35ad9c2c35437489353c19213443c5003fa547ff3ef84bf1345e66fd34ad53093f50f2e23e9286fc349f695636b8c1053fc3e8af3ea41b1236e43e0037af9eee3e1a8f623edd5e00379b95a837dfe6b43e87d8163e52778836f5e7103776848d3eadc81a3dcc8607377624513685dd0a3ef9dd3c387c0751369941273666eda93c86c900384adce734f7972f35281c5738ed9b3e34e4cf3e35e9f576372f6b5637d0219635c7e6983503c75a35139ae4340000000000000000f12be535a883cc3508c5933553d49f3554b5703674a74f36ea913b36d7725f3651aed735ef225235000000001c3b6b34831c8e3685cd863654c78036ad297036e404c0361ad1b1363235ac36117fb036348ca036cbcc89360d795f36dc023a366e0e4135e6e637355c642735b940883467189935db5f9e3e5d1d313f89078d35d1acc0322e2ab23e9c01203f000000004482ed355081ad3eea9d003f00789735d6ad863639a4a33ea755b63ed51f3c36ea4e3d35e74c893e65eb6e3e4f132b3562db9c366b9b553e202ece3de6567e36d48ece3629f6043e4c4ae9381237aa36eb888036f794803ce44acf36afea5e36f8018d35e269f938f6215835ae533e35b7551b383c3c00389639aa3460ad0d35783f1536b139a7350000000076fa0235eb848d36ca916836cb8b9f35b4ff1a36fe34a63688d35c36604c113691e83a36295a6c37faa29635000000000000000037e0b1365ea2973646fa61367b738136d4782a374e7b183673e8e335b4e4fe3500000000000000000000000000000000a8316b35717f9435f7947235b1818c3538507137d849fd3dc372603f28ceac34b21805366317213e85564e3f000000004fe28c362a931b3e9c91303fe0e18b350dabc836f987183e5bd7003ff1d12f36c6887537bbc9083e986eb13e000000004e8aa636b17aff3d1da8373ea5865836b3353137487bd53daeebd53ce4bc1c36000000006f4a673c00000000000000006b8a613509dd7e380c093f35945763351ce0363442277c34d72b2f3465e81d34000000000000000000000000000000003b95a83689adc3353f3a8a359c238135b5348a36ae843d3697099a35d9683236723fa9360000000000000000000000002007fc372f2357370ac0a036c2becd366b274d36e6829735257c283549fb9835000000000000000000000000000000007ed93736c3a510364bffdf3501d61836aa855f34ec54733cde917c3fd439f43300000000a430193dd0e4683f00000000531efe36baaf8e3c9e924e3f49219f3568518936fca2243c7979213f482935364581f5352cb4223be3b5e83e000000004a6be0370031c23a85298b3e0c17bc365dfe373676af8d3ca7bcc43da1e893350000000070e0383a93b7113800000000dcb42b3601a58b37519386350109cc350000000000000000000000000000000000000000000000000000000000000000dcd6a932aaf8c4338f078f34cc9db5334fe54238c990a335c4138c3519e7c7355ac1bc3752f9c535292710359a7bd33562de3935c8911935aaa29534335e3f35af782838848cc8370509ab36b82bd33688b713385562c73783372d37a1ad19370000000000000000000000000000000000000000000000000000803f000000000000000005e0ac3798d27a3f0000000043f510331cf94238efb85e3f6519f13401753b38df53ce389ff92e3fcb1ac035e74a43374adb76385b79fe3e74c2c335fa7b7535b82f303924609d3eadef7e35e97f7137a67ca838707dfa3ddc120838772b053741539438ece4773a16e5ea3700000000000000000000000000000000000000000000000000000000000000008d460a3625f5de351aa9e035378cf035cc871e353413b634c768a9348774a7349f9221373a770a37dbc1073720a60b3731b1c336e645ac36251fa03664ee98365ebd943595830e35d6a0a1337623673404fd13378cadcd361080b8362c36b53686b1d73632d0c636deffbb364a16b43600000000000000000000000000000000000000000000803f0000000000000000883e933737aa783fadd7f6358f44d3351048a93a699e543f0567c534fb49b5340ecf1a3b4a0d2a3fa1f91337c4b809378e44e23a9019ff3e4349ba365fc5a5369b84963aa09da83ec5606335b26497340111cb3a2c461f3e2afcce3642d2c136e4602e390397313d8cf3bf364bc0b73600000000000000000000000000000000f9792437c0ad7d372cfbd836b53ebe362c76163617280f3656950c3677150b36a0e93735682fbd34f9cd2034650d19354c580a37ba4cd736c53cda3663c0e4367476f2365acfb136005fb3361670c0366ad0f53471acbf345d62b734a43ee7342387d93637b7b2360d6ea1365491a3367b8d02379a46e13671dcd836b09de53609cdc936044bac3617baa436425bae3686aba03617c47f3fd35bbb3a23cc23379cf00d3720c27c3f8282c937dab1103610848c382bc05c3f77b479341c078334d21da6383c47333fc7c7fc3660ebd836566bbc38b8e7073f4f21e5362c2ebb3620217138c262bc3eb9b5b834e2d6ad342d587d382818513e7853bf365ff3a4366d5c5c384faf8e3d4df6f0367377db36607efb365a22d337d436b63622e2ae36e48c8b363f84b636bd3d933695e48636e47e1f362b46113697c909360c9704363e128b36586747364ee74c369eaa3e36e98acf36f759a636fedda436bec99336a52e913644785536a6a06536f9046936a43bbe36bca18c36c10d7236c5c075361c41f33602decc36c55dc836496abb36b8c11936d811c935a885b835ba89ef35a1a82832000000000000000063a82b341a021b361c285a3f0e14183e959a953607f7ed3546d9743f6d672e3d7adf2736371d1537dd13603f689a6237724180361c787a3798a8333f03d20737f309b936487cb936e96e073f4ef09336a84b7036fac05137cafabb3ee4ddaf36a43d9b364db2033729de403e754deb36b892d53610442538ede18f3dd74ddb350825ba35146ca235b7c8103800000000000000008aa31834eec6c234000000006bd28a31c2567635ad573d353bdc5b3504f6593580bfcb3667a8b33606bda636a37c9c36d01bc43601cf9b36e4449736080a8836282db436ec8497367caf9a3604008e36002d80364e552336639c033606b52f368bea9736adbe6736ed3e393625b143361355d936ed72be36f43daf36fb4db1361a3527375ab01537f2fc083737c61737f17c5f32b0982e3fea25a33e00000000856f5e35625d473fd3d9613e00a57d3505afc336a5ae443fa6b38e3d66c9bc3690c027374ac6303f8092e53705d2a2363cfc1e373c35063f710ed836a558a936f8fa1a37c0c4b33eafd06436a1472436e7aa8137ed85393e64107a369c6c52368fa77d3785073c3dda93c1368abcb236fed83637b8ee6b372c800f37c5ce0d37023cb338856db33840060037e8940537c0583f36615c28366cd3c435ce94c535bb07b7360e019b36ea447e36b0177136dd17d837d3d88336db7b6936ba727a361c356638c5869337ddbe9b3617d09836563c0b38858f85368b1d8136248091362432c23690b4983609518b36afeda136b7a1e23675721436031304366a1a2836f45d3b38a6eb0c3736d90737b2cf1137e5808a37664f023f7aa6fb3e701000378435d6353210193f44cec43e20ece235236ea236c102173f381c7d3e9fd39736c6f6383805620d3f3c3cde3d0f467436bf06b138c79fe33e9190633d8457a037c2eabc381c46ae3ea6dc9538a5cf9a3643a5603820ef273ec074503796018a3643097838ce64973c99c63036ae03ec352614ca38627a0839c60f0e3707740b374ceb2d373ac73137be4d0437824003374059c736803db736ab2d7836b0dc2d36d0568336fc7544361db6aa35eb139b359d2c90369e526c36981519366b23ba359489bc360edaa43611939d36c27a8336ad7fd4367d21b236f8c699360e758f36ad7de93680d7d536a28dc8364f43b3369a12a53588e04b35749978356b97ab3500000000ed028033000000003fce41359b46173735b9ab3e614c2a3f1fdf0737180eb936b47fd13e2da00b3f3b1a9636bb0c71363878d83e6a32cb3e437d1a361cd36236446ec83e3650843e0f194d36c505c236329db53ee750fa3d19b4b5363b75523798de9d3e075ed93a2ffbc136910ced361dce263e0b950037d3e2d6364d27b33594a3a53a7d9d80356b238535783718341aeaff3400000000000000004190d534bf85ee330000000000000000f3120636ea12c83563311035228e2135f9d1e53633d2bf360f455c36b91430365990cb361ac9ab3627cc57360e0824363930a1360a0995365baf63365941313640d60b374744d436f870ac3675c6a63681320a37b7eea436c1e58a3628b48136834e58362ce12436729cdb3574fcf5355ee86936c6231a36c7dfde352ce20a36000000008423253eedd7563f00000000e5b40e36ed6c623e3693353fa8574435799eeb36d4ae743e81c5123f83809836a544bd36a76c733efcc9ca3eff8c82362ddca236ad9b533ea3d7873e9f6992367d191f37e2093c3e7287eb3d4770cf36b4cb4c375f8dff3d0b71fb376b419436a8fd81376c53bd3a32fd4036a7fe0636cb13a43648bd9836d9570236c258e735475cc7360138a136d8de1b36ef4dfe35981e2e37ae61cd3601a92636bc660c3623c6cb367e74b5362edc523612a23b362bb21735ee7c1135b255c934c720de34274e1f3844f4fa3604baa43611eb983603bfd537559c0c37b23ffb36e7bef03608bfec37799659373c9d0835155c0935349d8a370dac21360e1f153637ff1536976dd736d4878836087f8036dc7e81364be7c136ad463c3da36d743f86653536535efc36ea4ec33d5fd8553fa22185363051d236f9d8b13d24bb353f03039d36596ad534ed7aaf3d871f0c3fcaa8c03408f58c3753a39d3d4232c93eefe9d9362a950c377046623d7d9d7b3eaeb90f37a9eb13379187533dc3f7b13dcc93f2340f41d337f4d8533c4db17d387055173652f42b38e5cb3238a3d69136dbe7803600000000000000000000000000000000ce4c0c37c17ccb3662b381364da53b36e0b99537c9f6c43626578a36b1b06a36567711371bea4e351a447d335b49913311a686372305ca3665a89a3624298736642d0d389a6a24377a3c1337200a0737ccda2135cdb21735f16d0d35cf19bf3428a52c36356c1e3673260d366e030b360000000000000000000000000000000000000000000000000000803f0000000082851b37320e4c3c73e0713ff4d8a9362010b1372f9a093d8c744f3f1509b1362ef47c3772b39f3c3bab263f9afde8341472c936996e723c23eef83e88efb336f7ce3e37bad93a3ced7aa53e08c02237ec990f35234c903a057d2c3e1e2b043576f91e36db6e653a95d3e63ca71215360000000000000000000000000000000000000000000000000000000000000000422dbc346b28ae33e7f97e33cce2713343335c3766db03369e2dd335dbf3ac355355ea358418ab35b72884359e35383558af9936a6ac79358d3e4935d93d3f35ff7c0d360243f5351d87d535145ccb35b0538435bfe13835341cdf347db8be34f51d50384f1084363e6380365e927d3600000000000000000000000000000000000000000000803f000000000000000092fdc03cfc45693f18af7b34ee9283333f02223dc78e433f59771a368722f935d009e83c0336203f7473d235b4a1a835c063be3c347ef53eb73eb135d4c27535b8cd9f3b098aae3edd2307360167ef35b858353b564f413eb1576235bec923354c043a3ae9f8763d9fae0a38f0b88136000000000000000000000000000000005ae91c38838807386d71703622115c36d616d3362015be36f744aa367f5b9a369cd0703629493c3615331436831fef35466215368a33a735ac632835d0da0f347c60db362451c136e133a636373393365a057336ed794b36758f333640562936f0b82436dda6fc35a0e8cc350173a735c4bf2f3800d0eb3655cfdf36f4d9d83650562738db2b7336c44661369d2356360fad3b364e19773fde400f3d961ab037676bd238a38a7a3fe2add53648aab636251c943c11d0523fd9e05f361da630367a49f63ac24f293f18abf73557858f35433a5e3b3cb9023f1b3fd736d078b6369295bb3a27dbb83ee87b5b36b2e44536a6743d3af837623eb1df123607f1eb354ec2a63988ccc53d57e3ea3748dbe636aecc103ac89e763c7cce713770016b3663322638543946387b710c365d31ef35994e1a3673110736f476e035c6668c35e5864437c3936035595cc834d3eabe34c1252e35e31c8d33a20b7d3394846833a5537e36ed29be3583da8e35d0f737359058b1356ecf4a35bed7013546692535be07ff36a3533a36afdf23363cf81a36e567633657265536eaa547361f333e363bf95c38700d7337fab95836860c3a368cecd135f0b34e3f4c4e453ee035f6375ed70a364071713fc434653d243d04368e9f6438614f533f839e04388ea2383582f8153a0117303f082a1735ad6d8833d3d96d395209053fbd270f366261a7358ef55a3990d6bc3e09538835a4f31d3508d75c393ef45a3e91e64f360988333656ce2c39b5c9b53dfb1f6336d2854e36e9d1b538ab8cc53bd7a224381d6b73360fa2263881c9053873730e35e2a21035bd8f1b383c38a53602fe0135eb1e4c3390ae4236076e28369a860b362311f0352563b835d7578c3541845f35530d23354bf4ae35879a573595380135b355aa34c56cd035be78963598b55935915e5a35f3e10936703fdd35ff4db535f98fb735972e5e366a9b4b364fc3423663c1433668e25c369ea84c365b2e40363bdb4736820ada348137293f4496ad3eb79490353f5c7c37f437463fc52e563e0466733562dc4436fcd53b3f6587ac3d931725365c8e0f38aecc243ffc97a83c655894354aa67638f479033f89d3cc35b9e84435603e303930feb83ee310bf35bd48883546838a385450573e006dfb358bcfcf35b175323a50977b3d39c059363375473658d54a38ba79283853724e3664b742360065c2382de3763869114836f9721d36a2575b383f010637a689ec364cb9d236a61b7837d96d803656881a3614a7033617878238f6e5413604322236b23ffd35e4e780384e7a3937442fbd366e148436ba080738c8e1443690ea3036af9d2736b5ab99362d9054360a733336c848213642e8a937592506370742fa36683af03667439837ef7b4e36570439362b842c3623149337add9043fe645f63eddd89036baf5c23790bf1b3f223fb43eca78ff36a185f536c79f123f6d8d6a3e001a5836b608d6380f7d083f7147f93d5c3d3a36a8b6083a9c9ecf3ed649c13d7c94fe36b3b82a39e0e9b03e96a64838f32a4336e3d65739c8484b3ef59f91369e9b41366771133990c5233d5c1b0f37b6ae0137ea5499392408bf38637d513611134136a80efe3747105636a1442f360d9b0336d3822437bb9e363684e5f7351a16803525aff23634bbd535adde413506c9d2345a386b37a974a235058d38350bd5a534f43d2c3645598a35277fdf3400000000e708fa36fabb9b35f0fb7435663474354fef3c36ee371636ae25fa359e0edb352eaf7637999063356a310c35f2f56b34a597d234ddf7d034539bc234174bb3348d296036786dbd3e285c213f21a9473607386736b8cbdc3ed6e6013f9a871f3610c41536b9c9db3e02bcb83e2f93a23591ab2637d7c6cb3e8724773e077e983548e410372f6cb53e200c083e9f4c71359d8f0f385876943eb3b73b3d84f488358a711039a0023b3ea5e83f36632316369fd5d63841638a3c6395a635c5353535591c3039f2061438f9b0d834d877c634fb859538e881de378a33fb34ac6dbf344c889137460b3436f33ddd35eaa955357d714438a9424636c86c083644f9af35759c71373597a0350d4e1535c6e2d333c5e59b380fd51736992be03553719b35cc4d103839759135c7be4c3570b00a351ffe1938c97be135860db8357b47ab350a7f0e361841da3533dfa93531509535d0acd035c8099335a7cc4535922b1a35d2778238a010573ed39f483fd024563686f4ba363b5a883e4742253fd18f1936f2de3338d7a6883e3c06053f5d65313685f7c0358843873ea214bc3efad28c3592874738992a6b3ea0ae803e7f6a0e36c005bd372daf4b3e6f2fe83dfa839435a9bd4e384669163e6fcbe23cf8f7df356d9a8739e5599e3a37620b367c28c7353ab28538aeeb7737fd6aa935741f68351a7c8b38da131c37e22ba1355aedc034009f513831a2d03606ada1368c4b7936a6f68b38554a0536226e7a35162e60346460b23725a05a36670c25366639ee3566fe89387aced236f80db13616869636e5d94838a0081a36c340e83539b4b835484e8b38f281dd370953783654b86636631b2238487cdf3697f1d0361296c6369b743e36b4b817365c4ef435f689d1357ba37338a1b0813d6ddb6b3f96a0e335e3ce83388de3df3d6c514b3f66e2be363c646338350e103ec45c233fcfa8d4353e43833696f90b3e6769003fc0924936fc7a3638bbc9f63dc890bb3e1942c836634f5137f480b73d648d7d3e6db10e360039fa378c6c493d4c03e13d95b4843650d31138bc7eaf3c76919f381dffdc36b30a6c382248a437aee42636251800360000000000000000000000000000000066329338124d3836cf15f035c59a933533e2a436fe9ca934f4033934693f0b34db180b38c935f335381ba5357d6d5b35708c4d38776bad36a68f27352bc29b3424f31438c541f335e4b1cb351371c335cb11ac38128c7738b62d3336f0942736f1ad313893938d3604de6635464666350000000000000000000000000000000000000000000000000000803f0000000070eb9b388fd74e3de088633fb5032036fa898135e49a753d5ebd3f3f59246234a1361936349a2d3d54ca1c3f699dd33501e5a437062d0b3d80b8ed3e38718b35352d3837d681973ca612a83e3979e535f434293859b2863bed19453ef9772538056e0a35587b8a3ba6d97c3dc809af350000000000000000000000000000000000000000000000000000000000000000c5213435f6b8c2341744df34acb4ed3413af1d36a951ef35ed1c1b3672e90d36ae620f35c4c1aa342b49b6344005a4345692a135ef09cc346730f5344d80253588acc83534888235692ba03532e68235dc3afd3405257e3491b7823481516f34f6e83c3557c210342a5e8134a819cc3400000000000000000000000000000000000000000000803f0000000000000000370b0935b1917a3f89b64435752d0f356b091d36193b5a3f34030a360f2a0036efa164364b58313fd58dbc34e169bd34ce388a38a880003ffb525f35c03a103539e7e6372332a43ef1259535f9811e358f75033510a4233e417ca637e3a78034bc591c352669153dc52e183618107a34000000000000000000000000000000006e237b3572dd5b3512854935956cce34a6ff983456c8b0341932c134ead78634a56339355e231e35e18027356ade253512ac94358c8a7135f0477e3531875c3558d6f234fcdcc034bb3ffb34366acc34c4899d35313a8d350f689835af6f923596768635636f5e35449b703545c94e3516bb8f34e1e5d83309e648346b5f313413d6ea34ead6123564d91d3572e52a35ab6304353c6c793fe01a153d5cbf6d3567ab4234d18e7f3fc8add5390c7174342124573521a55d3f1484c637844c2435d2df7d35a822343f59b0e4370df186357c5510353afd0b3f04b3cd34792ec23435efb5353d33bb3e8994e1370a4889356dd66036e2933e3e39135838b1f34a3733d5af34a7f8873d4bca4737d1bf0934349ad934c912ca35879ca134d74a0b358b062334819091340441b4342bef8534444db4343c60e534a1dffe34a700a1343465b034f9c09534d971943475b69b3435dd14356cb10935daf1fc341a10d8348c0443342d76cd335cdfb833ba4d8533da2507341f104733ba5f5c33a69207338e4917361e660e369759e736a921f73517f8c532c16e463338ac2f33e76dde327610f632000000000000000000000000c39eac32d34b5a3f984f213e40102d34a1cf0134469c633f134ff13d708ad236ee61d23459395c3fc295a23bb9e58c37c63be034f145333f5e286b388420a035861cff347a12073f4a330638ef35453390d933343ac9b53e1c153f38e7e06533f40512363884323e7deeae39a12c57376bce9c324623173de1fc0b384fdf6a32d3f18d33d488a03661171636eb1c6d3200000000000000008e048231000000000a28fe3246c2eb328fca0a335ce00933ce330d36ed80063644fff3358816d035316ab633c964a63394dae3334ddbd4333c6ea63348f45033303ec733a59961336a32d4341b968a340dada63460e270346a2be334c6b592345354a034507da1340bffc3340145cc33ba862034b5fe3234a8eb2034ca401134bfc2d0334f4faa3300000000f1a42d3f34a8aa3e6aa9db31f22722336022383ff220943ebc0a0f338007e93572b6353f6621243e0e85fc356ad7af33f8ad213f8f498c3df99be133d35aad339678013f8bf3033c72149733a17d1135ce1cab3e2757853b6a516e341732e53488dd273e5bbc0b3bbacd9c34d6c2e9348534ad3cb65fe137eedc0d34a5352434580f4d348d108533b305ce33a99c42351b900935b9609034a5bd85348a3e0434b8097234c5865e34c598013426166e352eaf55352fdb2a3592613b35b25fbc35eb639b359de68a352f137c35abbe8c3441189c346f15af3489f88c3445d2aa35da879735b63b8035f6e58f358cb17a3574db533522f050350d163435409b5335c1ff423484428534237a9b3489f0e034d40a1235221708350ea924351deb18354e6af33e8186093f60f895343d044f335b48093febf4ef3e18749d339fef6b35dcf6093fb257aa3eb20c2b357b8e9b35c7f4fe3ee613493efc2f9635ef0281349ad6d53e2f46b83df8dd7b349293af354146983ebf61cd3c5b247e3587d148356b43113e789c423b71d65c35434a3335739b0b3c4728703447025e340044c934663d19353badf2340591f134533cf733e26a4f34038a7d34929d3334b9b0bd34d867a83467eb953474a41d34aec6c5347ad598340f278d347a9d9434ab26ac3474bb92340d588d3430bf56346cdc7f34000000000000000000000000e261e93375d661332ff94e33f1ee123370b2253614470f364198d735530bcf3561db073383d94833f0784433d8e7283300000000000000000000000000000000eea8853283bb8f3e4ba33a3f0c0cb533d3d70534c8c9b43eb8a2223fa796e63397a8d1342677b23e2cbaff3e5bfa9e34c1176934f341a93ee3d4af3ed98422346053a03439109c3eecf9493e0000000048850334764c803eafa5873d391e4e337127123601890e3e88b5ed3a2c78c435698cb03269c04d3b8fa2143847d20233c5a5c13221cc2f310000000000000000756c7d32aa0fc632019d1333ce91e4328210ab32433b9a32ef9d00337b7b0133aa43273696a00736174eaf35f3aa88350d6cba3317b7b833293e0234ff9307342d4484333d5a52335c767b33e1d59233a5704735b949143577970d351f22f634ca23c13428511c37198f5d3779de8a36567ba3342dc11a3425554c347ce1303484482534c2a12a343cd4fa339b17c9332093ae322356ef3de969643f70db0533acbc323386ec2b3e6b564e3f34b60e33d42f2237cf282b3e202f2b3fa58eb835de66cd33f0ce253eb249ff3eaeba183447f1be338eb81d3e57b0aa3e2aeb8a3328c13e3588ec163ec8a3283e03c9dd3437745437c737ed3d4da1fd3c477b6e37065c06368d48533b44d3ca37e7c63034fba856349f25783492fe3f3336bce133ebe61835f1a1de34cf777934bba75034dc2a7234cf394d3492ad83330000000004fd8335c92e4d35ca760e358d792c35b7faa835b7498c35e0fe6535d24450355547f4349b81fa34f37dd834e21c90347a8f8c3581216235f5e131356eb45035aab34a35b00f333569dc2135cdb308353fc1a3348938a9347b3fc834d152b9345837163597b5573525cb5735ea26923540010f355941ba3c0aec7b3f6ce89234478e9733437e493df960643fc7919133422159370fb6ef3c15464b3f5f632335df099a35b5bcb43c72561f3fb16e7a35d78cae34d6c6af3c874ee33e94faae3421d69335269bc03c5498913e31523c35a0562035abc5bd3c7bddf73d1bcd223536419d349567be3b856a413ac0f8a4344d06803408bb293520f02e359c6a4635000000000000000000000000000000007d6c1635afe7923400000000000000008529b7342f827734d966623418148c34f6fac03511d5523577d717351497043524e58f35320e463515dcbd34b93f773447e5e43496edac34ba43a634cee8ba345d755236dcd3283604e113360ab7123606d7483536be273586d106354f9bd7330000000000000000000000000000000000000000000000000000803f000000006435eb34fd8ad33682c0783f441b683430c9ee34d980c539ca75593f38279e34d86253353b64aa39f89b303f61b01735b2f8b3357061cb394f5a023f5ee2f134ad1717354b33a6381e77a43e7399c634699827367cb443383a2f213e0023033607ec9135c74d8939a1b7fb3c053dcd3400000000000000000000000000000000000000000000000000000000000000000c0dc834559da134d84bb93408f9b5349c23fc33fc4abc330ffe093404bdd73372b64d349c88533474c286341e579f34de012235c1b1023541f11e35384d24357d6683355f612935cc9b3a356d045335b321c334bd52b43455b1c6346656df34b6c2c63463c39b344b60d6348a36d93400000000000000000000000000000000000000000000803f0000000000000000fd38be3ae4a6763fbdc38434bf4ca634ebe3983c76cd4a3f987a3434fe062d347578da3c9c101d3f49bfb8336cf55933f606433da0ede13e01cbc434e6b5f634c7713f3d0041903ed6e164353aee11354879a83bd8dc173ea86b82347a5b48347faa9f3ab488f63cea096b343fefa4340000000000000000000000000000000047358733c2118733f5856733e0f26c3326233e35f40525353a871e35593131350fd5d2344b8cbe3429ebbd3400e3c034280d6c344e268534e77775348c7098349e86af3557409c356d4fb135b32ba5359da49634a7fe933462d4a034ec96ac349dc622357d322535adf61835fc101d35cf5abb3469859e348999f334a058df34488d183389f2e332f5f61c3365063133c0c87a33a79e7e3f54d31e3c4e197f330ef22e35e70e7b3f73663435b7732b35a0f9dc3744ee543f2be5d8341d16c434d6f4cd38aeee243f93918b34345a973411c12c396abbf23e3d5baf35e101cc3518eebd3a5577a43e7f769434f3659934feba6038f498363e892c2035781e21350b311c38dffa593d6be7cc34e8470a355633973731d674374352fd326cee12330c9b83357679003742c480354dc98335000000000000000000000000000000000f094233c6494033441a3833b27d5933cf7782341d281e34335df7326a1bfa32a72b64336b8e4c33109542331db08b330000000000000000000000000000000037484833348537339dcf2a3351f167332445ed34129bf5331b70e73354151d34fff88b34ba2e6734060f4e34329d1c34e00614341e59563f776f2e3ee0d4803500000000120a763feb162f3d0000000003f3f932f7995e3f5f254a331c6d48339dd5f23473212a3f92e7c7347b8a1734901ed9354938f53e7b6be832a4661e33618f7a3902139f3e00000000000000008fdaa2379902223e40aa063395611d33ef6fba357533503d8cc5b333aec6d33341e7713464780839b2b87c345aa2653488b78034b76984349b2527346acdbf33d8b49b34f2d3d8332ce3d033e140f73381213b337f71363367ca3233ae3c553355040433dcb7f232be75e33235f91933000000000000000000000000d281263202389335882d2e35d038223593d246354b0a9133e37e8533dfbc7f33514cad33000000000000000000000000000000003f87533532714e3564a983356c33aa3576368f33935f2b3fa162ad3e657aab33ccc7743312454c3f0ffc553e73bbe1334122cd324860583f6384be3c58467b33d206093395d12f3f57e3b4321e72d132fc818432d314003f0000000000000000787627371bac983e30ef9d359f7251351c6f1b360a5d133e68425633bf4b6933cabad3362fd6953c00000000000000001bfda13515270a37a32e1c35b48e4235b61d2532302110321b12ae312f37cc316419863470d55a34f339243435f53f3411af8134fe6089349b4482344e0a7d3492dc6834a7507934cb276b34f71e8834aaf48f35689f8a35dbcf9b357d53853525d27134590981346c1d8034be04ae34361d9534d379b134c0a69a34a33a8e34983e66349ce16734f77b77344ec27034c530aa319e881e31f44c0f32141a2b32c232973169e7fa3ea428043ff286123252e069348abd233f1d45bb3eaabe61348bf07434b7b72f3fa0e8513e7c5d8734da2d4734b94d273fddff173d6a738234aaacaf352bdb003fe5de9b385859c3358d178734672aa23e91a280345e2b7a34b70379372084ec3d3ab2ab34dd85ad340cbc4537c481c83acc02843456d88634ccdb1432e4eeb63117732e317a4b04323ca5a9353132a935a8d9793585aa8135000000000000000000000000000000006bda8f332b4e8c337cf581335e52993387ecad3521988d354b975d3584d93b353fd2a030000000000000000000000000875d0233cda6fe323f11f63221191333b4d54033bbfb2b33592c153358045133cbf4e6338e29cf339001b433d24ffb33b227b3331ea91433cc1eb33250bc5b325d4f04356222a23e2eb8303f9e8a7835000000002276ed3e1e5d063f00000000751d3a335583033f58d7b33e2e898f3394e68135d0a1fe3efc475b3eeb3e8b3500000000b758e83eeb49603df4248c31085ba932e90ba43e10ca4d3ac4bb043349b30e34bb340d3ee34df23258de0a33322277352c23233ab42891332be4a63338224b34b0b41c34607a9b3376981133c29c9d34ab577d346e704234443f4434e62c8c355e68fa3450f7ea33483108341c78433391b63f33f5ca3233152e513300000000000000000000000000000000b8595f33139662335c66583321276f33a2d50835b45ec9323fb4c132c547e832a43c4133a4513133da4d2a33528b6733000000000000000000000000000000006408133585f00a35f7863235dbca84356c958d345fad173eea325b3fb37229348088de33b750893e8ef82f3fa61c1b34bd9cf3324a3ea93e63df043f789b4533000000007c3bb33efeaab13e00000000e804c8324e0fa43ee82f563e6a667e338c1552351259883e18f19d3d02b1813409284c333ce40b3edde72f3827f41a33000000004a4dab390000000000000000eef1d736b6760c354248a1347fa6c734c89b2533511c2233c864e6321f10d33233360836c124f7349dd6a334937e733407813135a8092635772b02354270e9347b51fa367c9b85343cca66348b706e340966b8358878a635e030a435a90882355c672937c0ee9e3425189d3484f9893465eabc34048ebd347c92a8347386a634c88d25359dfb163573aa0835e164043573197633f34346335ef94733a5e15b33c85112330b57473d5601753f336f19332f7a0135cb49113e563d4f3f50510f35d3ad39356367263e045e2a3fbbf4273528fd8334fd904e3ed345f73eabe78e346f53b23569a34a3e2033ac3eef46d6355fb3a534b520303e7757433e2608b23434accf342207b03d6542b43d1902c134635433350786c13ced152b35210018353a317e332f1280330c0c5e33a6ca453300000000000000000000000000000000f7dada34675e9834f4874534ab75413451afb834ef09ac34dd027c3402792a346886dc3636b2723506144a35c7ec2a35a3d589375c30e4342e6da7348fc99b341fc5d536636d35348676c3336068873389304634d2d2203449b20334099fc233d3cd8e361de6c036358c5934a25124340000000000000000000000000000000000000000000000000000803f000000006b66bb346025363d6a256e3f1012aa34ef7aaa34c66a863dae5d493ff117b6341d6e8f35d010793d3aa61e3f1acd8a35728d0d35fb3da53ddfeae03ef66def3487e34c3437359e3d693d953e1a8fe0337e0f02341506f83cc454293ea6ff8f34e9a78d34959bf33ce99e3a3cc2a785340000000000000000000000000000000000000000000000000000000000000000584a26347a802c34f36b23340d511c3400000000000000000000000000000000b11cdd3514679435e02e8d35e28793350d7cce346a4b993411d69b34a399e534791d74352b867b34f67b86344eb68f3470b78735eb3a3935e6452235af3f1d3594427e34146b1d340afc7734ac8bc73400000000000000000000000000000000000000000000803f0000000000000000585a6b3dd322633feb533534c8942d34463de63d6717353f0000000000000000379f093e9f7cfe3e32f3a935f5c8893579051e3e3c65a43e1957c034fb079034f25e073e664b473e091ae03472768a344f228a3d27e8e43d32eb5e35bd612035d5e51d3d2a7e873caec1363465321a3400000000000000000000000000000000c97ecf37be20a337fdc99434088bed345623a534f7739a341bab8534ac9f8934000000000000000000000000000000000c2bdc35f26be934b5e881348e002e34f92eb5344299b3348d0e9e349bf09b3483a6203375f8223382d02c338cef373326f5033593b91b346386093193ff1231d11b843597953034442d3a348a603f346e125b362cc67135905e373580ff5435ac4a5030b991783f51bf013d1bc12934f7486238eaa9783fe8309134c3735734ab228b3d861f433f0000000000000000f45dec3dc160033f2dd1b3355df96334bfcce53dd3d4a63e867aaf34a4ae913472d5e53d3e9c3b3ea15823332aeb3233f861783ddc91c53dca8dbc3410c70d31027e2b3de667663db6812d34ccca2134607e453b1045a43868c78b3538426235dccf00387b6ef73ba2718736c52ef1359eedfb374480c135824f7534e35c1e33ecafaa34e6ea7f34f4e08234b932733468cc1c35baef0f35188121350d9f473579a31a317b731b315db62b31fc6f453124925d359ff19434a4068c34e0876f34fd7b7c33523d69331db55f3369e36633860b383373680a33490b1e33c02924336f8f3b362d9c4535a96244352c82373500000000fc9f503f1a572a3e4de837379f351633a9177c3f448afb3a4d9540352ea29137fc125c3fff74a0349d4794349e7c583d3208173fbedb10357fbb2d35d9e2b63df273bb3e89ad293159a228318599af3d40cb403e71db19357e34a6349878423d98e99b3d9e797533747064336e68383d200f083da557eb329ede15330d8fa53c9f23f138f96a5a356c6c4835151ead3826edaa37d3771f3502181935ece2ee37c97f1636f4234534db863034737845360000000000000000000000005dc9bc3520d85235b8ba4a35824e483579688d33bb429233c4d813330eafd9324df1273550aa2935c9832b35627c303540188a34b3ff8734a4d48434d2328a3433bc56341ee3a83331f7e63355e20134000000000000000000000000000000009eb61135536b293f894aaf3eb8cd403506543434e451503f004d233e1e695a340000000089536b3f1ec9b2380000000069f04736bfc62c3f4fbfb335bdb056356cc2193d93ffd93e57cdb2339c028a334627a53d7365443e64472b35b2b335357486693db78c323d3f6d9034a9ec8e34b2b00d3d65c66538322370337bd4c133fb2f513ba98f0f3800000000000000004ffe36380ddc7037554b8c339469433403788a384b8edb36d4f9083459060c348f18083850ba9235288d4d355fde1335a6c0a337da1b9435fe6a07359794e534c73985377ba79334c4ad84349af7863446ae74358dc51b350b15c934b70851347bae4235ead016341b441b3393b401312e079c344bf6f833880db333d6edaf33c33cc93400000000000000000000000052b91035681d013f037ff83e6355b435432eeb3467072f3fc49a973e9df0a434744e693522e14b3fc55fea3d7db6a03583598c352af13a3f6872de3883b62c358b5a9238919e003f4562d2371f526834979dbe3cc628803e96238635793f193590407e3d4767033dd4f329354bfcda330279cd3cebc4a838d2fee5333a949033a821893c017ba63700000000000000005c245838651a9e373044293440a9a7331292693890e60536d3aede332487b033aa4d643856c00135245d7334938c9d3346ad5a38896c54368c05ef34f6ee0c35d93c1d386327e93649fc85314e324f31576a1036e2b60936cbdbde3571278c3500000000000000000000000000000000545831348056f533755fe3337abdd433bc12103512f8e7341575cf343347ad3400000000b6f3b73e8851243fcddd1c363a357234a2a7073ff81ce23e07c7e8342b37853461e3273fdd517f3ef4d1c13458630e35d1251f3f012be53df30e0635e97d9f33f570073fabea4a3c8d8dd3328583df35f3f9a83ec0204636a93f06369c96263c5cb1973d0000000000000000f7b8013d7a830e3716a31b34910c1034e5f2d23a049769378e2f0835c871f63484364138903ad936c57424354547fc34e57d16388eaea633983e0f33dd14e9326773fa37141c7c33e1f62b332daae2323f7fd837bdef613508cbd9340491cc345e81e23745e8ac323c92a430eb062c30d348ba376ea581351a534d350f644c35d5075236c6b7d6345453d634d0a1d03491c3063347781a335b58ae322ac14d320000000000000000000000000000000031cd253646413d3e927e4c3f4a354f357bd168339f7eaa3e4916183fd6267d3394f776331420ef3e200cd53ede296633111a44357183fd3e313d733eeeff05351d4e9031c3e9dd3e15afef3d41328e3141e5c235e443a83e2bd9093da5c85c35ad9bfe3462a1143ed8ae6935f03ae03449e88a3cec61813789b51833b32e0233151d7b3cdd2400350000000000000000ad23a438259dd9360000000000000000ec3a80387f378b358c2db13200000000be259e387aecff34329cd133ffd7483188a12e3881fa85368c55d932a1720233b9687a38be90d5341e106d341e4e6034129a9638e804f836c4afee3546b6cf35f14f2738a7af8e3500000000000000004a9a4a37b6237e347dc534340c76313450606133000000000000000000000000a6328a369c71b23d3e2c6a3f60b41635216beb35f803253ee8ce3e3ff12f8e34b76c3835c4349a3ec45e0c3fda97ff34f678a1347263b63eb3f1b53e080af9323c060b35dcc9b13e683c633e794d613479de343630968b3e72fcd63dcc3f123600000000ad98fe3dc078513d05bfc034bd4f82351913033db5cf3935d5f61434cf76a33a56ed9134000000000000000000000000000000000000000000000000dbe71839cf22ab34180f2334dbfdba335a1205381693a835a71b8335360683352dafa938c2750d3799813034db4449348377bf3801fca736e2788c34ee14bc338031a93876ec68371cd80236eeeee435423541381ff0e73629ff8635c8d7af34cceb0339568754386c7ee0333261ca330000000000000000000000000000000000000000000000000000803f0000000088300c368ca2b93dc1ed5b3f5f38a2346e6587356800f43da307353fc983a3358108bd350a093a3ee0bbfe3e5e45ca35c6f3223573f7433e9237ae3e025ce034ac44db3554cb2d3e8fd8523e8756183644cbd634a7777d3dfb0fff3dd7ea1c36acb9213442dd313d75b1863c08e1fc330000000000000000000000000000000000000000000000000000000000000000447f3d378601fe3562262336dfaf7f36ef491a376bc08e35675d3d366511c0369be603373f80a8369ff3b8362bb1da36b8038d37bbd73a36871c51367cdb4937a383c3379a1328378ff186378ebab737673b67372c7c2337b029413779736137f1fb5e37fadb643544e12836190a313700000000000000000000000000000000000000000000803f00000000000000005c72e2370cf37f3fbafc8a37e90bc2366a460138fbe3573f6d6e75377954d13620322538f0552d3f6f7135375aa3e73660702b3a9f5e013f77d0bd375d63ed362a7a2238f17eab3e9aacc637cd6ba93777482438de452d3e332d4d374ced52373778da378005ed39325ec436343aa53600000000000000000000000000000000021d3b374c567636a19f783642e4bb3697ded236faec0036f9680b3603027e36ea796336a12950364e6f5a36f2815d36b40a5837be8d7036922ec73617293237d7f00938f2c069364915553767b3fa3731275d37fe381436a0737636eb9a4537fb08da37f6b4ba36d97811379e4cb437c8d2003887d78d37ae7d8d37c68ae937714483376bd76037b3586f3773498a3793856a36f4f77f3fadc61438fd13f33610f16f36fff27f3f8420e837ce608a368534e5360794573fd9dd153890816036441bec37107e2e3f19f64538821d3737ceb0d4388776013fff7cfb393d4def37a26b7e377fa0ad3ef98da137564a1b377f42f737c2d6333ed558093883019337f1c4e73769947b3c4937023867f6a43711964837a1e2bb3760223e376560403742d40238b1896a37aa499e36b18ce93654e2763501c82735254529351bc32e35fe955a3689572934eedd2734167f2534d63fb33750d8b0343dff6435134b5237388993370000000000000000dac57436951496371b93223652e0b736eec36f374d47a9370ce9e736b3480137c0e963372045d237ecdb3f37f17a21371fbeaf37a2c9913774b972373fa36f37474a91371aec5036126c573f0c05223ec00e0c37c3f92d352b78583f8eed1d3e70b82c35d2bc61345e95343fae8b0f3e8e2b2a34c9a49e3748f3163fa6bfbb3d48db4237c6db9237604ede3ec043813da84e42358c3e753718c99b3e8aa50f3cf16e22375ae56637811f2b3e0f1a19380c2c0d37b2b08937dc4b543cd5c9d737abbf1637d3f66337c035f3370d005837acf82d374bbefc37c8bea637b2db1137d93362376e78b8373b66a836ad459436723db036120157371928de353d87e1359e8f8c367f759437f064ad36fc99a036b1bde33690f39339219978351cf44e358ded8c374fcf4b38e6fac5368519ad3654e305389c4cb33712af0a37dabcee3643df91373dfff137f1ff303725b30d374648b53773a13138e104fa37c849f137870f2c38510dae36f9612c3f1c18a73ea96b1a37106db736e0392e3f6b68a33eda58a03632a3b2368c48163f6f9b883e22cc3f3685b42737bc2df43ebf754f3ee220cb36572010384ff8b63e62d5113e93aefc3662672238d61f7b3e154f9a3d2c3ab037c42070379a0f093eb218353c01592e3799de60376dbd363ce41c12385e67b136a70b0738f3258438dac10538a106c3372ef2983706006537aea293367e5b0e376feff0379c494337612544363572a136ec57d637dddb9936ae6573366cd4bf36ea3854379cc13c36d39d373606dc3c36e2f6473882f127376ed7be36dff59c3719a09f37b8b83e36b4483f36112940366ddb1838926a7d37946e4237b372c437aeeb2738c202e037b737b43778c303389b138c373dd374377ec56537bb7d88376e30c9360438013f7b79fd3ed2cf8f36023e50376bdd053f29f8f33e5fa345369ffe55375470e13ef7b7cf3efa517936655786363478b83e45a1a33ef8eb3936a6f72338cb0c883ee5c26f3e39245c374c6bdd36b17a3a3e693c0d3ed52a3f361d6cc9370766c43d655e6d3d0867513715fbf337b184a73970fd5e38b54c993726f4783766b10138c2c069376d521837d8a53938604f00385cbf4e370c008137b5516b37fe8a693556375635cc606535f4488637004575365e2ad73342451736786e3038b2028e366c98d53529d38436ce377639b3109d35fe902635eee6a435cc78c43733bef6360ddebb36697d1437ba73b537208b0d376aa8a036fe6912372e3c19381164b637e61b783725e9d43724fbe8372cea9f37b6008337d96ecc373f51be37b235ac3e38cb293f428c3d37444a0c363450b03e2cef243f4dee5b35603d303722959c3e47960c3f51e71c35b887123826387b3e3324de3ec045513646571738c0733a3e2e88a23ebaad7b35801b823741d5f13dd8314f3ecb94cf36d6d97e37dd225b3dc596bd3d43beac3672eccc37c1f39e3853346e389fd54237b426bc3739f137380a2de2376bbd073775e48e37619f3d370000000000000000e1b67b37cb98633635baba341eb9e835e5b86c37c251823635fe80356ad6943529598937a64c2236e4b749340c804e3433c3c8370000000000000000000000006245f937d2f363379849fa34eacc4737667c1737c5391e36b4242834e339223643beee366dc4643594693835f14810364040f437b60789374cb704372547c237e17f2d3776dc363eda3a523f0000000007b017378ecc363e25f24e3ff0eac63402b20f371cb82d3ef7c2293f04e0893566707e3778a00b3e7cef0c3f8e124e34542499370b1dcc3d8f46ce3e00000000f0dac03717555c3d078a873e5f540a37dc81cc36d5ba7b3cbb520e3ee41629344f503936f7ac4f38c24b2838f9823735e01adb3727b5423889b0db37224ea53699dd8a37f2b71d37993a9e33bb509c333c26bf372a7dee362c91a336f356cc36b78fcb37f2f1873681125236e6d35e36b01c69372dc9533694db0836dddc1236cdc83b38e740b637a9532a36cd610d378480dd376dc1383718db7d363dd814377fe042373a1f85360cd85d364706643634cf66373a022f371d3b9e36c18d45371e3d03377c06cc364f71823603bf043746786d37ee4e3338c8f07f3f4585a133be83c737156faf3cb08c763febdbcd361898d437efe0b63cb6474d3fb2be5b3638cc6837da68933c5b8e243f46630e3617c6373864f9633c3b87f53ed57caa37f5c4cd370d018d38d0e9a23e07ad13371294203709d37738dd87213e0a475d366f7c4237325fc9375582fd37f1ae87367c8a1c37bc3e8737c65b0237e93e6a36000000000000000000000000000000003e4bb33628194035fef70035c6b82735efb36437d0bf2c370c958736667cbc36a853d33715e695376f929e36819f1137ba100238df10d036de373236ca074f36d08e9137c2b40337f6e2b836c277dd36dd72a537849974374d70a936a0f01037b5bcb437239b9f376498523776fc97370000000000000000000000000000000000000000000000000000803f00000000e7fad2362f870a380ed47f3f3bed3b35feb563370077473897a3543fafeb1c37f368ce37a22f2c38862e2a3f17c092378ccfc93710151e3ab97cfc3e43ae95374a922937d79c1738f13aa53e354bf83662a98137c8e200382441203e2e097737896d89373587e3379011623836e592370000000000000000000000000000000000000000000000000000000000000000620556374aeb5136fa07493615df5136ed522c388ae29a37f8832237558b7f3756562d3856c6b2373aff8437a18dbb379535093874ce83379c0e7837f5479f37ee8d973716c2ed36b41ef336c8ce3b379d9bd837bef66637a51561372ae29637a13fdc3759cb6637710e733799c7d43700000000000000000000000000000000000000000000803f0000000000000000f11e813ab10d733ff51ca13718fc8f36ddc9353cf2f44a3f8f5e4138ac4b0138e85f683ccef0243f52e84038b0bb0d38efc83c3c280dff3e377e1838e13fcd374ead153ccfe8b13ea41e9b37ab6d6c37c6fc353a43db553e596fd13781a2a137656a5c384bb26f3de3ceb337b3b69f3700000000000000000000000000000000ba6ab938147374376f2ccf34465cd334ab998637715a9735290798350a019435fef503385c0269363ab84f364dce4f36fc116937f590bb36a52494366db9b7369330c1369efc31365d623436a96634362f81843761d0dc35bb1fa435bd48bb360b5df83792a621371879a536294a6e37d7fe7d3794afbc3520acc335d4e03737766ac937fa2e8e37e6b493372c25d63709728c39b225713fcedc6a3dbab564372ef4103a44c7643fb895613db327c4350379533cb1fc413f71451d3de2739137a360ad3a88861f3fbaa5a03cb7da0a37ea3c533a1de1f53ed346ef3bbc144436eda03238e7b9ae3e83d1b03789bc293745510f3a64584e3e67720538cd429037368a113a7fd37d3d0d4d2337fb6e7e36f87708388e721538d5f6923762518e371aeb25388b9306387b3d393755a43b373918ca375888ce36cf28c3357fb7c43573e1a43783d6103658bec1354e19bf35fc10ee370f9549376b10663641d1b736270a2538cb92bc37bed13e37155592370a870f3863ff8737103822379bfe5137bef79037f4ae523671b512360ccfa636e2de9737c5c92237cc490c3771b88137ea0ce4372e56af371c3ab1376129cd3723292638eaca4b3fd763503e1cf8e237a67841383979443f7371463e639aea36adf940383ea2233f4a9d203eb6a3af36feefa139777a093f3412e83d7bff9f37a334e23b2fd1d63ea4568f3d76d1fe37ffd11d3ae5d7993e173d0c3d0462c1375b0383395e8d413e044d573b000e023789e98e39613a763d93879f37282e2e375e433d38800e8939c91ca2378ab9a13775cbd6371e6eab370d2c1f37240e03370cc99039f331533732fda3357f58a23533eac83725a8a436adec053655af06364da811382ae38d37e62bd8358cde3536de2621384ea9b0374c068c36d31411372d7b0138157f5337a41d9936e79aa8363e4919385c30c4379b814437655e99379766b3376e2360379107063726f27b37159285370ab925377a962437949c4737aa6bba37ba52263fd529b33ed9ae8837d0462c3ab06e213f7fdba53ed1860f37b3882e3aea07093f69b4883ec17bf5365df450383ef6e23e5f5d553ebf95b0370a7bf9399b70af3eb8bb1b3e4fb7de37ed271e3ade617f3e527fb93d1e908b3773feca39132d1c3eaabd123d0309cd379532df371ad25c3d5c1dc837dc3d4537e51de737c405693996624337a973153707ee0338e308e637c0ee0437b9cdb53530d79837ff4fc0365c745235af464f35d961a8379a464c37046abb353138ba352ece1438c30d3e37b13933311f934831f7af4038f7dcba3716feca365cffcd368ac21b3876759c378b85073569568d368427803954dd9537f1476337153484378ffec837e69a913775a040379d548d37e4b6f637d32bc9371b07ae37a950db376586f037d200013fcec5fd3e1cf2a8373d3dc537c51bfb3ef035ed3e749da435f674063ab27dd53e232cc43e1f1041374549ab39a02fb23e8d039d3e6d5b7137bb6b8638722c883ef87b6f3e2f65d337e55aa639d22a473e3499193ef1d2ae37f973153a5b87f43d5ecda13d8c739137b353d93770663c3df13ded37897076377d430d38ed552f386418ec37786cac37988bbe3720b25837f89a68360ce6673662b68b3787976236457bbd358c96bc35c9b7023889a04e370e06e934dd4fe534c3bbed370cf6033757ea2e36d2f525369cea2238d01fc037235a57358dbe4f35ef3e1638d3b6c4377535d236c198153711b52a39e5ce943715e118360fa9c036f4370b3aef72e2381e846037bf3ea23759f8af37df2f9d37ec088e37cf3da937bee088375672b73ef827243f36f5fe361effbc3765a5b33e9751183fbe3cc6352775783970849d3e72cc003f40af52372ce3c5391714823ef547cf3e85c72d37c03974396d93493e8f719d3e0252cc370e9f36384fb80f3e96a0543e9930c9371abf133ab008aa3d2eb2e73d97978537a7b4373ae1b7c83c8ce9973c2b48b137dce6e93778fe1438a620a737bea182374e2821380403d6379082ef3671f60336d2ee74378705033603bc8935346188355ead4737e9410636b25afc3524e6f735fa270238b8d1443765bc0c36142c0b367f8e24384e1dd23712748835fb3c8a35bdc7f03730a99c37683d653616e3743673a0ca37ea025e37615f1d36480246367476f73739b1ae37cca82a37a3af6437efb50938c7a8df3710769e374e31bf371260fb37106a583e92c1493f638e8d37ce7cb83702de583ed6493a3f2df38f3524f80938b32f493e9a5d1c3f96ad033695858939c30d263e4f87003f6d196e37f645dc39a4a3e73dad9ac73ea7bfdd37dfee16381250ae3d1732873e5a509b372bab0338bc09453dd45c1f3e64d52d377bc32a3822bc253a3d491b3d4cfc75373ea72738ad4cea382d070f384909a73704dfd23734b09c3715bf5a35b592513567ce653709559835d5e88535bd316e35e703f73715931e3783bc303635b42d36554c8137a7545436b17aed34d6a2e734ba2a05374e8c28360fbc263629f52436eccdb2373add27375fe1833659f07d3694701c380e00dd378cf552368160543661e4cb3761e784375501ad35f1101736204e7f3754000a3738dfb2357b2d7236134be6370e3e893d7fc56e3f0f159f37cfcff7387127a13d79ca5b3f4aa99435f8d03938f9c6983d3d1f393f08368037e717cc37654b8a3dff4d173fb69ac0364622a4385854613dfab8e93e2a362836f512fc3940d0073d80fca43e74d1153768e7be39db76ac3a4f9c413e81d0d7370af10a38bfec0a3a65d44c3d4b954d37f56b0138e7bd15397eeaaa37b8f80d360000000000000000000000000000000049e5e3375140623762d0173608d80736b845f0372fbb993705afae3492e2a6343048b0370d358037c558b836397a9c3617a33238bdb70d3854503a37f2180037582f2e391a0a3838b481be37df3c9b37de614f3873af3838ad90d337c1d5b937094e0c383dc0e33737d63137fe4333370000000000000000000000000000000000000000000000000000803f00000000ac5811386e5abc38b2ed703fc7cbc4379d4dfb386539523a7f0e4a3f1774ce37a2e50b396a5a0a3ce57a223f90609f37eb4b3b3845c3ca3948bdfa3ef80f1f38229caa3939b3833a53ecad3ea37e433888485938cebc84385361483efbaf3f38fb55043825099e39ac0f493dbd46af3700000000000000000000000000000000000000000000000000000000000000006696b5390524453869ea27380b461c387dadf03953398639c7c27b38cb1774386bf1233a273ae7392e568f398cd55639b05eb83999525739cafbbc38394ee439fd5b90396e4c11398840633865175f38db64d539c64c933975584739fa1c313928c8b339c5154b392ddc0f39cd7c123900000000000000000000000000000000000000000000803f00000000000000004ff0553a6f60613f39eef3399996dd385aee803a628d403fa7ec103a9a70b5392266713ae3ce1f3f3436373a56ee083a45d2803af3a2fe3e4223ce390e688e39f274203a42d0bd3e786da439119a44393a79483ae4c5773ef7c9db39ddf7a6396817293a05b8ea3dcee4873917e0553900000000000000000000000000000000b3730c3acf00e33973a75339387f2e39f3ab273ae6a57d39780a8b37f7f44b371d3d143a601f42397d8d17384ae51138847c193ad1ec4f39e0467d3747eb4037ff59093a815eb93951252c39825af138cc8a773988be0538c003d437fdcac7378173073abb5ec0390d45773908265d3958d3e639cd2aa939217d7e399a779d39dde4b939d64a663977b316395eba2c393391323a3fc3603f88fced3dfcb1f839116ee63a73b9473fe97dde3db4559e39386fe33a36452a3f47c8b43d629e8a3979d90c3b336e0d3febb9923d4c018c3937918f3a0b26e13e0243623d6356dd39bbcaa03ae839a83e52e51a3d917b0d387158803a8c425e3e565da93c99add3397c2e8b3a6aa4da3db535c1390c229939f5a4253ac0591a3a1f5575393f7a3939c822003ac713e23936ab5839ebcdd438b616313af0af073a8029283967695737e1693a3ab542a839b90b5737c7e93937640d143af5fac439c988a2389584963761830e3aada6d539a4577139f3b92f39f4171e3afdbadb39c1814839d2d708395449023a76b77b393666c4389a7ca4380a8a093a01d8f139e8abc9399e5dd539de8dbb39fd75a739762ca03944bea93943f3123ada5e403f8139793e92c0ce397ddd7d3a50642a3f5bd35c3ed4db063ae6fba43a559c113f08173c3e7728d83991775d3a24eff23ed4b41a3e6181dd395cf5af3cf9a6bb3e9e0fdc3d5338e7393c31c43c45228d3ee73ea13d2b43e839735f9b3a45bf3e3e55db5c3d1d9f81392ecf213aeedac83da1a5093acaf7e439e826ef393dc5063a54a3ac39693f9539d03cb139bef95639d580f1379bd4d737d2c84f3ae5662b3ac853a039539dd7381afc613a8747313a0482ad395f571839e5ebcc399bf30a380a7488374fd21437b6241c3ab57feb3947f969390a17d3382d56403ac4ac123a3e8ea5391bb171396357463a3c96ee39fb565a39c8e82a394857433a03642b3abf92073a5c4b043a91b6d039f789af3991d782399bd68239114a093a052c203f201fbe3e85ac0e395bef873a638d0d3f7359a73e5a81283ae9fb8f3a8fc6f23ec4be8d3e60a13a3a84606c3a5b5fca3e999e6c3eec50bd385aa6743ab80aa13e2ed63a3efc85fe39fa287f3a4408703eae07083ec81d163abe19be3a99021e3e5323ac3d3bccef3952ac6c3a7cce983dbdae123d7d2f233a0f78203a8997283a91a1c0398da0953912edab392f68963980c7ac3855228837fe392b3a57f79d39436abe3716f37b373a6af33908439d3837bc123885daea37fa8ddb39d5cf7c39262b02385d16e037b1d6b039b81f63399c963338dc7d2438a96fc8398b9a6839820911380652053812f4053a5b59f43865a4273888ae1a38834c283aa4ddee399ace2039532921396d88833966434139311bdf38a6c3ca380e62b739e58bff3e41e9fe3e670485397457753a84c1e23e9d29e13e19f7b3396414c43a2b28c23e33f2bf3e9359c7380ae19d3aedb1a13eaec59e3eb3758d398c09593a36c7803e05b87c3e764e8139adb3973a4684403ed13e3a3eee3771393845ac3a6889fd3d2645f13dcdc8de38ca7c513a7b4a743d2428593ddd949a39a557bd39e6a5c03958387339679c0d39ff29fc39d74fe439f5717139dd772338c2b0443aca141f3a28f17a3930735237c6bc4b3a938edb3915ff753730a5f136c583493a64aa1c3ae7da8c3922d894387e021f3a2c40e7391cd54339b7b81a389871b8396b3b1938ad66b937a9c282377ecd5c3a76bf353a7103eb39eb4cb9394e823d3a639b1f3ab393e2390722c93913cf823938ea17394b461238c8a8f837b592033a75e9bd3ef0b11f3f3b50dd39ca0a713ade78a93e6e2c0d3f50e7203a4539bf3aa37d913e7210f13e3bb1013a92777c3a1fe7713e9d92c73e0a4e273acb69583afade403ef95f9e3eeaacf739f36e553aa46d103e555f6b3e06bf1938d72f883a31abbb3d5d1c193e75b42f3a8ce36d3a5ca8313d65af8e3d2bc1123a96b5eb39353e083aaaa59639df6821387203b939c67b973918d3e9389cbd8a3730a1db39445d7639521bb53762037a37bb2e0b3a6780483910efd237b9bbb43783c22b3ae126023aa02108394a0c3136debc0c3ab73cd9398d723f39b0e709384e910e3a3353c3391dd653385503963723c7303a45c8d2398e3c683765064c37de46273aea020d3a21f6b8390d789439f003d2399f8eb0393cef7c398c895739eb2dec3944957a3e8934403fcae29f39043a2c3ab3ef683e7d652b3fb5259c398b58993a919a413e88f0103fa5dba9393b0e8c3aa3f91b3e7edeed3e7de2113a0d05ab3cec58ed3d4499ba3eb0c5ea39b00a493aed7abe3d18d68d3e420fcc39e6c88a3a5ae4773d8b093a3e1deac339c8f34f3a2a38e33cba3bae3d0bbb003ab40f073a7a82093af14bde39e5f29539afe2f739db3db639f7150e382f63af37de9df239c16881399c64cb37cbc694378474143a537bd7391d6a1c388ce7ed37e770763986db0638a4e38d37b7defe36eeb0093a7af9cc39983ac8388800e137616c1f3aa6df813912787037d7c806376f9a123a33a2a239b6945f38f40c11387690133a8199ba398267a237be1288370651eb3937a0c039756a9939db4c8339e5b4223a650af23df29b603fe153033a352e913ac189e43d1dc7463f5de5b3396c92723aae77c23d3a83293fd90c073aba7f6f3a24b1a33d3e030d3fe95ef338a30d663a2ddf803d7fd1df3ea125f4396e00c03a4daa3a3d8620a63ef2d991390b68893ae33af23c9b12593ebc09a5394a78853a9363ab3acc6fd63d509196399d351c3a5bcb143a57c1fa391f6cb4390000000000000000000000000000000042d4023a94fb9639731268382a2e9437cd5a023abffad13925b31739a27eaf37b5f5b63966a9803994ce65384dc85538507cd7399984aa395900e038f5cb7838a06f343aacd5193a5619bc39f4966739a8800b3a3c2df6398f0c8e395eaa4c39b6eaaa393d573d3995d43f3823d634380000000000000000000000000000000000000000000000000000803f00000000c76e383a29f4b93a0442613fb1cd143aa946273a34847c3a8f98403f2439033a0efb0f3ab347453a7118203f7597a73961d9453a2aa8833a6972fe3e7468c2390882523a9f09693a0259bc3e62e8243a22a3233a0667493a61b2773e59eaf2394852143a4a40233a7a37ed3d57a31c3900000000000000000000000000000000000000000000000000000000000000003c62f0346a79dd3480f5f034fe87f63438392b3574492635ed1b2f35b3d42a35d0217b366fb1c6357c63f235794548364e588d357dad8a356e0a89357e2c8735aad08a3758de2d350c30c736ddc65c375c02993777a4c535f6b5ff35ee532b36ab56f6374153a2379f498c377ffda93700000000000000000000000000000000000000000000803f0000000000000000104af936b7f77f3f7a5c1e361736ec34701a0938a492613f98e39437d96d2d3538c95238b862313f4608f93762a76536b397c83760b9013f09cd8037b6078935fa9945387370a43ef1590038e5c0a1379900743873f1043e097a6138bed1313798170e38770ddd3a93191538e2eecd37000000000000000000000000000000005299f236b948c53686080337b1f016373fafb9359b56bd353e4bc235c751c9356b4dc5354036a9358bcab235b185b93541e6fe351a57b235c98eb13566cde0354d861e353963243586992c35dc143735be947d3733bf873599119235fafb23377bdfc837ac478536b456c136667f8437c0cfec370979ab375bb298377be0ad37edf61537efc70d37de670f37f1c20b3772ae5a36e2f17f3fd3173d3929cabe376753c13502ee7f3f34117e388d24c5358cb721377dc7643fd32c333841617136ed048837e68d353f85405138506e2636c7ccf23784bd053f482175385ea5fa36c88114384c7ead3ed7b58c38b499a5371fe8df37ada71b3e82e872381659b6372b8e8b37f8b5ba3cbd4c5738f01ccc371993ce36db740e38f345b0376e450b3789ae4b3791a2803769c59037cebd64371ad86536738da1358b721936ea866236cd0085359c078135ef2882356f1282352cc091353b5590356fe88f35f1a4933571c8f435464670351f3c863590be92355daadc3763589e367bcf29377894a6376b72e1359e8fb135bf13b3351f3db6358ea1b8372e207d3750114637b0335c372be3e837d6a6c43748f49c378b69a537a4dd4a36b9bd633ff2f3e13ddd19bb37b869e735f89c693f00a7b23d6695973709da84353c814b3f5c2aa63d7caf81356b449436c0a2273f9c8c133dd835133763a7a436be6df43e7e87c23c29ee06370d0bbb371941a43e5538f3394653f33715d1b13584b3183e99b3b73921eeb4351455a736443d273cb7374738219450374d783f375f5e70381d684a38a101813793e339374c0bf037421486379579ab3685e3fd3627b0a9365ccc91362c78a836dd70e53520d1e8357115e5352ec3e43574e172343261683401046b3409866c3486059c37bb0a6c35ba4d8535d50c763639747e361bb3be3588cad9359971593629638b354f43ea34735aef34944ced34168e3638d70e263850590a38fffd10384e346a368cfa423692152536631c26367e504236477d323f2eeb9a3e6b59303701d0bc368aae373f6712903e7cb8bd368412e63562e1253fef066d3ebf3ce9351765c9368fe8053fa8732d3e4c0a6e348a6e9d37bd67c83e6787e93d5b02423778f44036c319853e1d22603d01dc533628d9e734f206003e3d63343c13dbe7344644f037e250783982ad8d38a57ce73715872336b5d97a38020d9e37f3a52436f0cd8437a44e8137e8ea5b3679425a36b0a8233662e12636805a20365edb1e36eb25bc36b816e435f901be351b1dbc3520901a37b8a0d635ccd4ce35be63d23594081d370f55aa353e3aa535f8f6a4358802c33717a6fc36a7ffd135353f0437eb75a737b60734370426ef367e3a2b37274bb137ae049d3781c7413727cf6b37a0679e375e5791375a90613776508d379f915536d67e013f06f3fc3e9a8d47367951263649f6063f61def13e8c832036978fd036f083f33e0fe6cb3e79871536ea0f793747e3c63eec41993e8364cd3590b65137e916913ebfc05d3edc46a335fe4bae37f06a473e6f7df03d01281f37732a5f371cb6c13d994d013de31d263769525d3769c2fc38e8ea7a380a5e9d36ec69803781643d38dac4ca377cd05f3604e13c36b1e020364ece2036531c2236ca849c3719277b353c0570356a4c6f35fc28ec349668f03460a6e134a929d334fe571e36f65db7351c14b83594b2b73597b1a937c05e673579e63b35074e6a35d06fd1376f109434cef1803429806a3466e21637fcdceb352f4dec35ce47ef355cf30e384a33f4370a6fa9377223d0370982a437de6b5e37320fac3654f9d936f0a820364b93a13e18342f3f114b1e36b9529537d23fac3e83c0293f32ec6e351617e2348d969d3e0d630e3fd0afe034953781360f1a823e56c8dc3e1fb6b8354d3ae33769de433e4c479b3efe8a5a35db430e389194033e733a373e6349823478f7013794647a3d1832733d107aef35d8970338801e813a4ae68b386ed442370c56cf375e92763827ceec3705944c36aeaece37ab097d37cdc851359d8c4f35e4b98635bff6a234fbd964340a7c3a34de60af352a77b0357e5eaa356015aa357140a737ee91993580ea94351d4096356e6b1c37b95f7735b11e663597946f3528d39c37d47e25367f4393350cc29335394d333741e69436bfad8b35bf678c35c25017388dddf837516fa637b356d13724408a378a925437ce3dd836136626379d84f137aa67fe3d1726603f5c1652358c0c5637467f103e873b593f69ba7634c714ef35d35b103ec2a6353f7846ae3510de1e38494cf63d6bee0e3f53dc9535b364b1373cb2c43d1647ce3edfa87b3527c6dc37ab527e3de9ce7c3e8d3b9535f454753793420a3d0fc8b83da0948c35a73f33388e03c138cbae8f3800da2a37e5bee037eed73038eb3f913704fb8936e9661b37ab41c73619fa1635615a193548b02337ebf79f368490f835cd0cff358f982337021bd835db23cf35a7fcce350a9597379eea8b35f20a8135aa468635cace9e37a4c328357f97093560921935137b6c37173d3436a9d6b03522b9b3352ab50f3831cfcc37c6a08836c0526437ec5f3837afabed369b43d3356299cc354535203722b5e5369a49913618c3ae36f3579e3715e5783a9abc7f3fdf8b0c356430fe378b9d5b3c7fb5763f38ab01360f6012388a561b3a9ce4583f60b7d3352a684a38111d7a3a74fc283f99448135863d2c389502453aca07f43e8b65133549ae03381cfdbb38c8d9943eb7a26636dd9019380aff10399f60d93da9ffd6371445843779d59938edb19c38a457cc353f6aa7376dfe3338ad759837940c3a36000000000000000000000000000000009a6c0f37d02daa35afc19235e4849d35df3dbf3587fca43485438f33b4c182334c039e377b673c36111e103573961e35fbea1637d95d85351cdc81358ad486353177fb37e4419137ce714d3639946136d247023836aee437654e7637452795374ddd233753e63d37d2b8e23632f701370000000000000000000000000000000000000000000000000000803f00000000d092d537d8ae35385f817f3fcf6aa63582bfd43794919c38eac35e3f1deea234a15fe637db8d8138b6b72d3f42be0a37e109623726704238c38efc3ee2228436c50e0638d6618738a3149d3e12b80d38260bce37e74d8038b50af33de7f41338f998af3685ede337afd2933886844c3700000000000000000000000000000000000000000000000000000000000000006e6b8c36624b52365cd14836e0313c36a2d59e35b5c57435b0bb6e35c5256e353ef94936bdb63a3663c23d3651463d36ccfaba369ace93363f38973617979b363cd0a33767c8e0351329c83549f3e03522fca63707ecc836c7e6b036afb0b7364c11d637d25f83374af15c3706868f3700000000000000000000000000000000000000000000803f000000000000000005152f38582e7a3ffc8aa4360d9e7336550157386666543f0898f1359b029735ddd0ed39f1c32b3f5a6451363e9b4936203b9f39b979003f4bece9372b80b736f1d78538f383b13eb125123887ea50377dbca539126c3a3e86dd023880f18a37a42e24380b9f1a3d978f10389113c63700000000000000000000000000000000e6a81837289cb436e286a13641949736aab831366f2dc535253a993541db7b3568820b36975cd1353ed3cb355491bc35d0815a3676c23c36f6393e367df53736ec7329367244563593c75b3534af5d350a912d3628c4c9351fcfcc35ac2df035f8b00736736806362b790a369f8b0936b6719036290fc935c8d3cf35b848d33523d52d37bd88f336e322c1366e84fb36600ba6361df27f3fd2002839eeae5037032a1e37e9d17f3f9fb2a33705051d36abdba2360ce15b3f375f23365fdb023646ac55379a46333fe31076366c74563623a64138e6fa073fa5e6b73772d7b535701c0a387eb6bc3ee799c836ece92b363f62a83619f8543eca029a36b5eb0936cc4fe837f9118a3dce7b24389897fd35f7654c37a8f332387fb65937c416fd367482aa363b22b0361cb6a73640079d36192e0336c0c4ee352501e035e038e0353111823602187636752c6c369b2e6836c50c6d36a6b51536c7fb1036716c0b3691ffa4377dc23e372aea2c3702d52a37da368e3682168b360d8e8936d3548936c29a933660d6833647298636bddd8336f2d91d38f1469637534b0637a8fb54378c30fc363301af367a197a36e56c9a36fe48943622eb5b3fee44103e09fcaf36415c0c37e9e5693f295daf3d7adbfc35a68e8a36fbbe443f725e813d9b007c3670f1ca372d492a3fade6493c8eba6736d7658238a990fe3ee2b5063c5cb29137723ffd37ec9fb53e5f1e8f38f5f38b367ccd0738070f4b3e15ef173aa8fb8b363336583885e2473d24939638940bc33738371737f6c85b3860c1243791678b3693588837e8b87a37e11745365a64bb3539b0593648891336ffe70d3686b90d367a11373656232336676c1136dae709363d4e32369bcc273633ae24367b02203612896b370d39b036f9d0a33632f99d36fc2858377d17df35ee68d335fe4bce3581e74836349e4836ccff4b3627d04c36a4edd4361b619236949193360d7898365125d837d1029337f9723737a9636a3728c50f37c7832f3f87faa03e41ac4537b543f036ed8b3a3f6131843efd9a11366ddfda37fd5d273f95d53e3ef1f42c364783ed3713100b3fca0b073ef7073136b69a7c38ac00d73ee8d7b23d4602c836f6334f386a1d9c3e128f193d9b42f6358ffd44361aac373e89c7633b1a8851365c250e3756e81e3dfcfcbb37aad19436b76e173817ce5938258af9371c473937b5725b3794642a3711deef35b516ef35117fbe35f5c9bd35fb66b935a719b5358d0523365f1a0b367293e335859acd3528cc703617725b36ba414736a09c413642551137344704364530a435a70fa23598e77c369c397636f3c4723647be703606d8473669524a361594463669024836c2bdf0360b461236b102f035a601f135472932373913d836756cfe35d65e683628fe28374c3d033f9e77f93e27d69036a828a636d3220d3f006ddb3e6edbbb3570ed59379f91fa3e66e0ac3e57150e36f3856f3742add63e6fa67d3ec90f60366f930a386dff9e3e7908423e57516036e4e28f37501b723e650ac63d27737e365121aa3742c50e3ed19b093d2ba24936ab70ce37f88da43c562f85385f9ef435c19796372262e0370d0f48378a7e1436cd68c037aa292d3730136e36d3b448361f1d44368ebd0636deb7ab354cc4ac35f4be2b36d52d17368917f335dd9ee3351202d5357ca0ac35439378351107623588d653374fada03606ae7b36062a683663dd7336fac42e36bcc12236ea4a2236c38e4237ded54c364b314436aa9d423681ba0e37bfccf43680b8a73662bfbc36fe231f379b50743665a2a9351807ae353928d8371481ae3ed3b5283fd79b923664c2c536ae23bd3e9980173febbeea35602783367d7fae3e79fff33ed5381236d89d5d3839a8953e2412bb3e7b8bb635ecac8938fae36d3e9e4f853e5566ad3661110c3826252e3eecbf1e3ef0932b366ac41638c551ce3dd777723ddbac5136c110dc370d93573cf4444638676ce136f776a5373612cc377aa629370475a535085355366c41053630a886352f426335a2a18e362c3888361e4f7636e3b27636edbb5236d3d32d36d2ebf1357b71e93572988536d9867b3696a467369c3a64366b51a737dbd81937aab160367eb46136880d8136b2dc3b36cd5106363d5205363f9c8836ef97863606c68336d2468636905a5037eabe1d3619771c36883d1d3695349736bc6e8c3616098036e03980360e98773796f82b3efefc543f12c6cc35ed076b388742463e50eb413fe49c8336d5b915385203413e5fd71c3f25212a36da55143808682a3e9629f53e23357b36ecd28f3862350e3e6123b63e687333375b010f38c989d43dffec5f3e49535536e741b13753df643d2c8de63d3a0288363dec47389a7c293a456581385cbb1e36fb9bb53617812f37fdff9d366d8b84364bb9af365b086435b2575935067d5435f6125235873d343549412b3537d32435456cd33553fca83523295d350fb04f35a8e61e362e1891357ba95d356e326035c263b536a2fc8b35586b1c350516133578227836b0697036cba15936c92b57368c4d3c360e2f3a364da32b3667c13136a074b636edd0aa367fb18f369d5e933600459c366db99136bd2c8736481387360742e737b0fa9f3cddfb7a3f6b216335167d2f386a25143dbd79653facb23235e50c0637188b0d3deef3413f8dc3a0358ee74e37a4f5133d476a183fd8aa9735953a10381018e83cf997e13e37fe013656070d37d579443cdf5b933e28d27436887b5f36122eb53a29350f3ef77c36361b924737e178e4394f11b539c9b0b7360b057a373f667a376440ac36d4a48d360000000000000000000000000000000017015d35820f0f3559c40135d4a0f934522f1f37b8d062367b9d4f362e6b4d3665e3e637830ccc355102af35211bb235745c0c38dcddaf36dd447a3677895a36a6c93437a0745936c987523613fa5336159109383b4ade37b3c18236f7f4cc35cc1eea3752cbf537df1d8437732c36370000000000000000000000000000000000000000000000000000803f0000000090412c38c10590398034763f41ad0b35847f1e383cec9b3acdf9503f71e96436ea4963380eb1473a4e03273ff01468374db26038321e3d3aa46dfe3e5841af37f7edc837803b5c3a21dfa73ec3ddeb362af9cd3715496839e41b2e3e747d1f3861044c3798634c388b40b93ce9bc13380000000000000000000000000000000000000000000000000000000000000000a306de357437a63550116e358f8a1b358b9356367c6a4b369db843360ac53b36e440bf36f64cb7363265b036dc67a936311084384ef21a38859062371297f0366b89823666947f36709b7e36f2a47c3644be6c37b78ab43617dab436fef1b436b58c9138eeac8838748f77385835723800000000000000000000000000000000000000000000803f0000000000000000bab88d3a62706e3f9b9d1136d37cb5357a1a4e3cda17473fa41ece366969513655670a3b9fbd243fc6d49137166cbb3696ae923a2c52003f3b449f38b02e47386302503c2f9ab33e69999d37246f83363506f939b7d7643e075b06386a7df636604996389f91a43d946c9c38d5358f38000000000000000000000000000000003c942a380d71113823659737c2de7636ef449637bcdaaf36d3dfa8363d63a136f1479b36e10794366a6e8f36beca8a3697f647379d650037bb41fd36c19efa369d2f9838bb862438ddecd1363c599136b6ded037bb7fc736988ba93646f6a936b4970c3826c2b837cac92e37efaadb3622e17b39fc1ef83775e1c0375019b737b31de737a7cf8537e9b4423730fa4b37148f143899e7723fc5cc503de2322738ffb51b3c69c2693f9d24713c1c45b336e554e93a230e483fe200d23b6bf09836514f413c0acd233f1e8d0738de130237c07e243cfa6cfc3e18f9d0385a4a6c380b1c9939ed85b93e2e76273817908b379b80243970355f3e18dfb13864c0f53789a7c73948aea03d7cad033c032ec4383a6a3f38febe563a61450738295f873770e2fa3724b2a83731f9873652ef783605f863375aff1436e2da083644aafc359ae3a5361b0e70368ec56736a80f6136ae0d0538589e8a369efa84363a2677366b0902380337bf36f43b3e3670c334365a851237ab07a8367325a53671bda336b7e92e388e0b033880379f378626353753ef5338ffcbfc375e4eb737fb729f37d031e237d48ec13723598a3748537637b0b3d837e1154d3f277e4b3ec83bae37a60f6e382df9493fe97f1f3e68dd1536d0606b3a2ce9263f962d073efdde7336905eda39e52c0f3f1aa7bf3d01fb7c37b4285c39d918dd3e650c943df1536d37f071fa39abf7a43ef2fd2b3d08e8aa3689ac5c388528523e21a6b63c30551838e20e9438c772a13d60c21f3c21120a38e6528b381c77173aef1115381145ac3797f6f237a9709037dc1416359126033513e80c38557b0336d463d7354206b235b8d63e3743efab36ad6fa13648c59936f497c33655dbbc368fb0b536c40aae36992e4138d2ca1937e224a836aab28c368be93237787c9a36869297363af496364c3ba3375b0bb73601deb336601db036786a5c38761640388bcf0b383acaef37bf3dfd37ababcb37b2468e3753c366374b1c0638c105283fecd8af3eacc17237440ce7391736253ff799923eab5231368754dc39bf610e3fc98d6e3eb204b036d4db663a2da9ec3e452c3c3e4fc2bf366e348739c1cfb93ef8a30e3edd8da1371b18b6398a058b3e81aeb83d38999d36243b40389260313edc29453d644ac536e88e87382348933d6ed32d3c5ded40386aa98738a668e0390f100738251db83757e01e382dd4e73787570b375fffdf36443cb237ee8a6d36a6ac533669b33e366797c336f7d5bc36fe97b3362f23ad367d88b23600cfac36e50ba636cdbba236f9bbdc38e6979f38455b1e384bf39437d2aeb636fab7b43640f3b136018eb03625270a377a03cf366cfecc36f9a8cd36435e5a38885a1c383b7e7a379043f436af5c0e38b0f4d437ee886e372a912837fe4134383f9a023f6382fa3ed603d3372e91c639e679003f6796d83e459c6c368d8aee3878b2dd3e0a54b13e2bddbe36be623a3a22bcbb3ede888c3e08cfae36b7d5303aa738903ee2a25e3e64bfaf3872f7dd3979eb5c3e2d5e113e0ab8b73638b0873849f40c3ef8c8a93d60afcf36fc838d38db3a743defde743c61631938ff6e4738fd855c39b76c18381508bb378c7d0b382bdf8237cd878536f21677369976803714e86b3630284c367a773836d265ae3651a2a736359f9c3630a19436f9099036228487365c527936f20262369161333835c90137456c8a36b06d8236e232c636b2e4c3368904bc36e41fb736a2acdb37ead53b375dd0bb36f03bb73611b87c38873a5238c6a1fd37686e9a3780d19a3620c3a834eb5096349d668c344fef63388cc0bb3eb4f2213fd67c4b37ff1b65398ad3b83e94540e3fa5726b36dd003b3a17aba33ebf9bea3ef4d8a836804b223ad1418b3e400fbb3eb7108a363c898f398d7b5c3e2855903ed9c45c3726c1293aaa10233ea4f5453e8df0c53682b02e38df1ace3d47c1e03d252f7c37ce1890381f0b233d1507e33c577450380e9d22381d47253834b85337ea44ac3416e88637ffcbf8350576e835adebd435c2f8b736f8d50436c914d2357d4aaa354982aa37f5ef71362e56573620494336619c9c3677e69236c8f8873600487b365504d7373ddc5d3642342236a66b153669de0838b501073742708536d20181367fd060378e759c366f576b3606f2623609ff0c387c83c737386ac236ff621c3687ae803649a57e36433a7436120c6f36958d8d38c3a55f3e4bdf473fef4ff3358dcac33998b6623e8881303f2c73063608eb313b669e4f3e7024113f4edc78366bef4e3ab76e343ea4b5ea3e00039636296633394f5e103eb679b53e8b628d36f45cfa387773d73d4e23773e8c618437a760cb39b719843d90e3193eeff4b536ca1341387780ab3cf2140c3d9ca6d13744b01e38a22a06383043ab363eeb7936c7796a3716ff85364dd273365345613607834a369bb22f363eaa05367afecf35049ed836d329be367281af36debba536b91a0437bb1798367e928f362dc78936c84a9138dd15f33755e47136346261364ad04337a221ff369abaf63631f9f0363e13d536bf869b3634c4953672809236f5ae173868d0c83756bbb936dd6bb7366ec3c9362a9a3f36e4b032366def2636ad19dc39980d963d0ee06c3faeb18436d3f03a3cfd64ad3dcf11513f73cd313635cd4d3cc83ab03dade42e3fd4bfc03639fb053a17eeab3d73810d3fb0df9a364259f23b49da8b3d998bd73ee2313a38e958ed391de7523d07bf973e5eda0037058143381a46f23c5214393e519e9d36c4847638d3c49c3c8d91313d4f46eb37f0f33138f74f103887cf4237fa573e3600000000000000000000000000000000b65b1c38d726b536edbba8360f159d36090fa736f8be9f3667839236fcf58936fa767636d0a56b36922e5936109f4d361cb19d38fda2673803aaaf378fcfc936fefec137c0a1d636aa64c436807ac1364d88e437f9824f37cc175a3654b65836950c0a387a250138c9ffc037a0479d370000000000000000000000000000000000000000000000000000803f00000000e859663a66da923a4bcc6a3f10fe803748d5313a804c063b34f5453f422ba33623d28e3a9a949e3c54bf1d3f8b247436fc3fc93816ab753c9de5f63ea8a48938f5707138498c4b3c4713af3e54086f3724301038aa582f3c23bc4b3e25ffbc3728a20038a8d15c3a72ca873d2fea663900000000000000000000000000000000000000000000000000000000000000009b93853514ff1035847a66345127a5345df981352dbc58353ac7593528aa3e3590dec335155e9535ffb10436a5f209361d648f353def663580a8683516327035eff3b9354688b7352ecaa23581d97135eac4b837799b8c35181dcf3587fa373794b2053780abb0357db4c235bb3a043600000000000000000000000000000000000000000000803f00000000000000004a50a5371e237d3ff7ad6d35e9d16835d8d5e537d954603fb4965a36785782358e01c3374e1f323fccfcd4358e1ff63589c48c37ab86013fd4cea1357d499a354a22aa3706b8a13efcf0ce354f33bb353607893836d0063ecb930f386d1c3c37fbb9123889fbc33ce023803767778336000000000000000000000000000000004d4c4b3621ef4c3638a2413657224736ded8e0351432b235aababc35bf75ac3595fd00354d1f4034b54057340fd975342e1ccc35c152a3358cc3c5355021da357a73c034e647d73489b1ed34283ef434208c1135676cf734de1317357b603334d0842736aa6b153679703036f5bc1236c708423769fdb63605f29e3665c19b36feac023625c1f6359d670a367ba8b235e48723369b0b803f7a81583a29404336e950d33552c07f3f0f3f9e381dbcff3529141135ade0613fbfa18636bc468434f8dbb435c46f363f3821f3360c3bc53584a6db36f389093f0b640d37182bcb3440e335358eabb73e3154a635fe78183579e3c937e2492e3e77f832381520fe35c6b79c3785db553d36811338924eb1365c6bcf35c49130390d34e2356e5c023677ebc234c5dea935d74303364d0aeb340a81da35d515e135b1dbf435aab50136d84c8936e9dd383698cc5136486cf636ab890f35068eea34252948358b5e57358f0c7936c488653624d98236ecce8a36b52882371d0ab835ed04cd3526362b357fcdb236d74fb83591270c366100ec35772138377225c936819cba361a6cc1367f596f37a26e8d3710479f3607489d360702c234b173633fefcfe53d51ba5836fb5bec351773673f437ca63da508f435d4d8553666b25b3f8098853a9a6a9137dd3917374d6f303fe5e70939a9aa2d37dda28936a987033f7e9425388ab385369d46ef371b65b03e3bb9d8380cd11c377d4df63666dd203e8b5a3338dd91c436069cb5364b36103ddf2c413851b6c4365ca09d3661894d38387c033863609f36aeb72f36d1770a3643b4ca35a2830036f1a34c3664d13e36bfbe2b36e66e35364c97d734c271e134bfbccc34a50bd0342c989e34361ea834f2b2f6340adbdc341c534b366e4940364aea4136c0403c3661753534f8e93e342f9a2c34c6502f344c605a38070bca374850f13781351b38147c9e3651cc8a353c0d813547c4863568ea15373f08c83646bc2736720e3c364ed8a935e25b323feea19b3e7e8e0d36cddf48362322393f55cd863ed06a30362f1f8c365914313fac4c383eb0a32936e325a134ddf3133f23edd33def17d034be5a5f367825e73e16b85a3d3d7e4a3613ff3b34aa49a13e2cc49d3b184b26344f735f3875391d3e845c07397f8ded379a7b9c35878ecc3c73e73438b40b883597b22436f2e2213891f6603720d30f3345c022362d042736318ee6357c2fe535b1341a3743a70b377a19d136d8ac03373f15003684248f35389e2d353a29373597411535e7f4c534d4a6b1340b23d034defa8d367d8b0636686bca354e3d0236bfa7cc34973dfb3436f6b334861fe433c48d3f3626aa153646971a36dcbd0136a0c2773720db37377ea9183731841a37de4e1a36279114366c5f1736e1eed835ae21f535c219013f0f60fe3ef5a0e735e541fe368d6b083fd845e63e6e57ee365849913540d5023f9827b63ea0a927353ea67634b84fe33e2e58783e55d9be343f07ff36d4e9ab3e3cf0283e7a0c283659daa5343e92813e709a7f3d8ea31335375e3936af2b093e54e4663a67e4f435c5e68137bb98923c2e91ec37c7631337cda3f935174a853961a10236a09a17365c2ada36af541a374acc15330a5e2a33ce12613548d474359a1f6e35cba0833562f0f1379e6a04353eebbb342075c9348ed3fe33701fde3336f70634cc1a003499525736d1235b36257f4b3687f44436b6f67e375de8cd340b4cd73444e28434f17bad375cff423788dcd9360aed1037d2a7c236b1896a364d325d36c1a33236da861e366df53a3616151436b2f10536465c1c364f259c3e1119323fa1330233e4ce8835e92aad3e8053233f3bf466350fdffd374226a73ebc63053fb00aac342cfa2134c897993e609cc33e28d5e43379d9e036f6187d3e5d957f3e63b43b36bd2e76371b9a433ea7d4033e9d59b634e1b8ca374b04f73d0978173c97c6263788b3a436e84d733c91de393837414c3656a73c364746fb371558e8354a5b0d368aa24237c2f494366cee4c369cdd823673429d36f7637636940efb35324b193691f38935e6cfd234c022af342df0b63467c195374e2c05350a0a27352d515d35e3d37f361b265c3645bf2636640e52366b92b8379f7ca43542bcfd34d2af9734f4af4738cd7ef23789d09a37f73dca375c44303715c2f5353517e435412eee358a80e434fb59db34447dd334b200e134a32e1a375384e73d94fe623fc6796c3646bff3364ba2183e191d513fa3e7ff3562f70c3745cf103e9bf2333f56dba1348e671f38f3300d3e3de2043f042c5f35d555963634ccfe3d4d22ba3e20644c36922706385733eb3dbb3e4a3ecf059b36b76c623896b2c63df0c7353d0980a937c347bf3709107f3c50676838617de93587f1f436a71487381e7aca3499cadf343c9010366f2810365e9ea8354f06b23592ff113761f985362e80953582761f36f61d1736ad32df35dbb3a735a59bb535b836263581e3e8347cdcb134cd7fad34385dcf342213cd348eb6c4342845c934f56ea8350e36ac351e1f8f35e1357535c88bfa3577479b3538a36c351673493526c1ad374f4e4a37ec03e835f392bf36e6af3a369d803c3640d3443601083536c847f1359d50933ceabd7b3ff608c035336b98371e5f033daa766a3fca1a18362440e135a8d0283c5d08523fd3c1b5351eafdc34b3e6563b97cc233fa083e434dcb34636c9c2d43a4397ec3ebd99d23450fdba35ced1523c253d8d3ee72cb8351c52c93568db843c83acd33dfee1993556272538e8fe9039d1f9b9389c32da36ab123b364ad48037a1973236ebd04b3600000000000000000000000000000000db1a9635358caa353aab9c35896c8d3587e342356bab2c35532732353cfc263576241d36bfb7fb3550300836b7aa0b36043e8d355ba68c351274763514571335c7a81836d87a9d35f6c29435d8b88435503ee437de90f236fce90e361c91f135b27a1036f6bd8b35016f4735b7e9e4340000000000000000000000000000000000000000000000000000803f00000000b9541a379dda2c384f177a3f7e0995354857b9370daf813837aa5e3f0d8d3c3508d6233688d034386f752f3f30dd063681e2aa358e7f99370dd8fd3e3e677f355bd30437154402386ad19c3e33d562365de2913798cbfa389811ff3dbb33ce37855e8336a6144a3856d2503c000f2f3700000000000000000000000000000000000000000000000000000000000000006f20c135ab138e35eef797355cf19d3559eade3546daaa35e0caa135c69aa835c2e2ce3689ad93366f109f365e90af36f5e95136dd25a63339fa1934fb2f5f343dcd9236d1266336f941653620865e36ec72fe366ef1823621fe9236ce5da536c41ca7376d7a46341b4c90343d5cb33400000000000000000000000000000000000000000000803f0000000000000000bc73a038326c763f9316ed35f88cba35977c003bfddb503f390dee35d47feb35a9e2e53a1463283f0b82f4361047d43612421e3b59adf93ed7dfa537b7460d34728a5e3b3473a73e39aa9936b8599636db19133bff81223e4ddf893744d4b93688b6413975d4283d3e73b33795938234000000000000000000000000000000009f866236b21851364dec4236328b4336d81c793508a334351ee04d353f814b3530866136c9684136c2c9433636df4d36c2637d36aa724d366e7f5136eb0f5b368c2ba735e2b89935a630b3353f27b83586c8df369c7bcc36c81ad1360238d4364a9e4735f9881335f1ea4635cb583b35cba2b8371c45083548ad1b3584cd19355498f736870ee836099eeb36c5c1ea365a9c5136cdc67f3f3b57b13ac001e836315c9c3897ef7a3f85f28d38b78b5635b8bac937b45d563f84c981365c3e6036c8adf83851ce2d3f0d759536ce4c6d3612b98539a1ad043fc86d4938d42cc135ac74423a16e9b73eb1f6e7360a97e03605d674384a204b3eaf662537fac352350b561639f885823def1a4738681e3d3544fa0137b4060537fb96ea366671fb363c295337e2f772371d112c372bd7f6368a2b6b36d2472536bab63736ce550a361d65d534c0cfd534bcded134be02e93441bc1034cf0419341caa4234f7066e3407b5cd3461b6d7348312cd34cbf6c034b1dc5e351e2b5234cfaa493490818c34cdb41c34f0832f348f056f34a52b8f34ba3a5f3619bb0d362c440f36e1b520368b060537515b383681f03136a1033236280ff7360acb5d3f5561093ef7dd8d3709efbd3786f4773f3d40f03c72165237dcbe2f3848ed5b3f987e85385dd3eb3441b47137a0bb303f694749341f6c58340ec664380b12053ff81e2c37045bce349dabc5382e90b63eb5090c38db1e4935729180377ce33d3ecc365f343c3f6734a2eb8938c953863dc865ce37bbba3f36178046386b9a8238b0cb6e37e4962f36d33e4737c29b2837f794e53517b7b93536ef673430835e34d0c6463442d94a34723fe33486ccd9349f88ce349010dc346c9d4136d0f007368bed0b36f3c8f035675e853434c98a34c2c59a349a21a4342d3e833611a531361f0e19365e3b21361774aa3672738b36a52d8636d4049336145793379dabaf36b891ae3610f2bc365d6f1c37974a1737c08a12378c3b1837b6430236d4d02f3f77a7a03e09d71a361eab1a3429e2473f14025f3ef1864434f6bee2367ed2413f8e5ca13d868fd634c552933834a12b3f7124833a98ec7f3658c12d384a60033fb3a21d3889cebd3496653838e964b33ea1e12937dc2e6936fc848438bb4d373e68555237cd6ba936657aa738eabd2f3d7e862e38790fba36c80eaa370175fb37e8de10377f1714377503a0362b40a73629177736ba748336ac1c2337f0f9fb350d9db035d06f6935d98b7736eca2613601262136b0c502367660fe36b55ded36f4bbd7360ea1d0368afcaf38d7ff5838947afc37b6989237d2a1fc36785fe636d59fdf36eff2da363e2990364bbd7f3677607036edff8336e8e9dd3740530f362a1204364c6afa35f703ab363c6d943667379436bf3995366bb69236f828023fc00bfc3e15d779369b99ef3781f1183f147ec33eac92d035053191364b58133f910c833e4578693631dd2f387fce083feb4d083e211df636f38618395e7ad33e8c23b33dafa7ac3844f7b7385ceaaa3e313aba38701df9366662b338d85e2d3e0b54d336d1698d36d8a7e4386f0ab13c94cf6438761214362370b936e399cf3662e690365a239f3638c80837ecca02371415d9362940c836a2e8063787f64936e34af435ac99c935a95478363f141b3655242a356809513598db67362ecc05360d038c35add22d35acab49348b45583448693f347fc741342dac66361dd1333614f00636aa300c365dfab534f781cb3485c1d334f362e9347c412c343ad15e34f0144e34d956133403c21436a67a1136cce802360b200236114e0f376f0fa93e19962b3f4f35ee3654152c38e7b0cc3ef9c50e3fb68833365902ae37712cd33ef079d13e38ad303645a99537a5e7c23ea44c8a3e93fd4436040304381968ae3e6cbd163e75fc49340f96a43826bf903e2b7c3c3d6bad653619044238c14e293e93035938218bd334524d50387f4fef3a409050366ff26a34580d04380e04eb3766f1eb35b03d073689d6c93722b61e36d4a2d53573dcb03552e8ef35919e7935171ca43422c2443468ab43341cc54d348be02f3488223e3456a08c359a574f348ce514348cd928344d3f17356511cc34825ac734cdf7c53462a0a634367145343927383448055134bb6158376e2c6d36207a1b35b1531035a8b8c63715508c36f0c3943624269836e3530f371f5c07379f2dfe367dc30937ac6d4e38e582183e25fa593fe4801c3697bf343844a4513e00df3a3f03e11a35772ad233d86d663e363a173f56600d344e319838463d693e772cd53e2a7d2835db42263874f64b3e8635903efebfc234b65ae533990d373e6aa3073e52a00c342c3c8b385b56ff3d08bf873c860235372ce5c938055f153b954f6e381484a736f22ba4372fab7c373363fb36c59ffb360f02e436a0afdb36739cb536f1fbac36d0da1d375b41c734b95db334dd3bbf34f4733f351b492d3500000000000000004d7bf2367bece63635bcb636621faa36cd5f4d38b7b98635bf689635d157a535ab62c936b4308d36277f5c36993e5d361d569436ca55903692246b3696ee5536fa8e1e38329679370f30833560e24735f4e951360707343690b83936ee473c36d1790037651e243d21eb753f6f9fd336620fd4381fbeb33dc769593fa6167e340f67a837ecef9a3dcf113a3fabe8933484fc9a38421fac3d86a80e3fc4f2d836ab60df387b53a73d9d98cd3e9a24d1379144f437a3288b3d93f5813ed3bc9a361001ab361b3f803dd0cace3d4dd4843620d6b438c56ea43cafefe538db33b1378f1b4937be3a1a377a00383676ad3d3600000000000000000000000000000000bf7e7b37f99ae43391dcaa335c6b36344b788c36dc130a368c44aa32ace04b34a110a536c5454d3646b60c360676eb357f072938dd17d1310000000052db88339aff0d37c1b1ec365cafba36af04bb365a4c1637fdd8d53567838235fa8a523524eaad375741b136a657d3359824dd350000000000000000000000000000000000000000000000000000803f00000000394f483895098e3c3213713f5de1dd3372d025383a95e53c6ab04f3f05292836705085373981bb3ceeca253fa5f6583603a68538ae89f73cc51ff63e75af8b3765dde1373488b53c133ea33ef6b2023743b25a3734d4d73c5598203e8307cd3674e426377fa2013a9694183d21fa253700000000000000000000000000000000000000000000000000000000000000007e14af36241d8e36fa226e365b345236f5db90366d228136de58633629934e36a08c7d367d2a5b3679b33b3647c2293628d6b736970fa4368ff19436a8408a36db608a36506b843655dd7036872d6b361c6af237cc86453672903d367b0b3736fbae0d38746aae36a658ad363a5cab3600000000000000000000000000000000000000000000803f0000000000000000d432d53c821d643faaedb836ea3b95360d32d53cd533403fd26f53379f028336ffb3f03cca941b3f47010537b43d6236f298cf3cc6fff13ed0fbe0371ef7a83633e6e73c3203a93eb5a18d365c02843693a5c83c4b65383eb09f483891709336a6a13b3bdb39583d4b4062386d28d736000000000000000000000000000000008e84533525f57a3514128635e1e58235d5613b36348a19361b62f935268fbf357849eb356544a935169f4e35f0440a3542effa34de9ac8348290913489ab8f34afa2803632986c36f39654361a7e4136664627362e6c1c3625980636153c02362d14ac330395e1332f6aa5333f76c933f424c837e1d616355d28ea34cc79bc347843f835c2766c35f7214f35b8ed3d35bc96d534e6c07b3f18bb8a3c723a5f36fe7bc639df7f773f73fa5a36a5442436225e9d3c70dc4a3f722dff356607a9354860a33c1eb7233f80d80535df66c13430c1913c9053fb3e7818203838f7713664e2e43c0bdbad3e590e2736146414364bc2873cf9a9453ee4c8573788ed4a33f0c8703caabc9c3dc6064d38f20b1f35130b1338138918386a4b3137bb615d35afaf6338955b4f3801d5ae37b04e2336192908358a8caa349591383486ab3c34abec423643622936ad410936ba0ee035ff09a335bdb382359baf303524f0123588f4df371d7a1336044d043606edee35082e88365dc9763632cc61363b2252367e6518369c25d2354afeb13541faae35205065369b065c3641a15336691751367232093731e60937d9100a37aead083706a10437083d533f5a22333e63587d381c1eb638debc713fce5e083dddd0d2343ec5633c61774e3f76ef153862043c363f77a93a82aa2c3fbe4dd93592328a35b9a7c63a5b02033fee7a823807791836c5df8f3b445bb73ef47d923688b081362fdd4d3b75534f3e8952f03790b3d8352d4d7d3a8de4a03da148c637ee595e360edd483af7b754393df80c37d8890b3774b68736b9e48536f722783678846136fb638f37e6ff2e3634441836a9300336530416368ec7fc350851b835f2239635aa257a3701f08536d1fb70366b7d5236a97d533871d84d362e1d41365a932936d6c77e3635fd6c36d86f5236df91403651b29b3648c992367ce38c36ff348836d0fc3d368cd3303615f7283636d91936161c95368e5197367ca89636e7748d3674d682361ecc2c3fb59ea63e77a28b36ea419b3833ac453f918e483e20b23c362995183cc169383ffb23b43d76f90e36ddd7893cbfc01d3f1bf3093dae7f8d369b0e983ca0d1f93e68f6d5386f9e87377585613c8813b33eb506423839ff78364b8e1f3b32244e3e9296a036dac5913699e9f339c26d8b3d96754d3694f83a3684708938a53d533887499e368ea29d360f839037f5779233cef3943355269a33367edb35fdd7de323482dc32cb3eda32615ad235ee4c8330bc6d6e303c2c5f30d45d03368af28d34b9b449349a885c344c9306389b01e0356a73c8357979a635760dfc35e938fa342fddbe348da8c534d63332370a059b30d91ca13000baa930aa42a435f5d529344b72ce32b73fce32caf68833538d863323297a33037578331e4232371d93053f6215f53e1ed7953318b9d137d0081a3f2af4b13e8f79db32ea9f4d3c8c300f3f50cc703e7c987a3037edf83c933f023f4ea9fa3dac558834a13c9e3ceae1c03ea7b5d53dd877903633b2b03c9aada23e553bf3375269db34549efd3a3f68443ebb5e2138424d9e30b3dc023aa162513d274d303633a1c734344b2c38b79b92378a1b86338fac81335fd20738c5bf59360c332436626bd93504631f36ff180136f2aab635456c7835f8e19a36379c883618d860363e7441365993223767864736b6131c36b470fd3552d9713827244036e33b2d3600b6183658ba8137a0419336a90187364ade793642640b3626aa0336c39beb35f7e7c9353458943680742e36979d2d36a82f2436d96b52369e813936fce22436728c113650083a3897d8bb3eba1b223f4b7e54360af6a0384c8adb3e23d5003f1dd2fe35905a2e3c0434d73e7070bb3e11ca8f36bf4c033c52c6c03ec853813e3b014e36b7f5ad3ceab4a33e7fe11c3e91327c37f0ba993b16d4883e39e47d3d55659b361665433b295e383ebca63a3833350936b4992e393c6d043df79f163839113336a0b16937accc7c369fef5736e7103b365bbffc362a0ce3368748bc36d4089f36a765423710483f36afaa12367833ea35c87e22369455c935dc157a3516c63a35af448f360b957b3650e24c368ff43a3632d483386376fb36f25217363e24033651d509363a66e935530ebf35ec02a135e70ba5372f225236fd4f4336f0c63d36d18546350ea02a3540a5143518258734944c3a36560123361c141436ad8502360952113830e6563ef6124a3fef53e8365de4893ccda9803ed43e273f74c34036829b6a3caf3d863e4fbd043fef25d735a7324e3b31a9873e6082bd3e25fc83367c4ae8385c146a3e5760843e16edf237ee2598386fd2483e6ffe033ec37afa353626553a5f58073e99cb403d1996543615b0d039daf8b83cf6dd8735f42447356d5863381f9288372c434136fc892836251d043520a61433d6c6033374cfe832717d9a374afd9d3239c19032e58b8732c00bb93253bb0332d78efb315fdd0332db3e2436bea811368315e735374bc9354ef05e389d1f7e36b9e86a36653756367889aa37ad933e35b2eb35351e944b357d3e9e3789da3536a9d12b36e971263638f09437b78e7b36c7187236ab586c36ba6ad5337e92cc337f83bb33e683b43319a9133856fa813d08ca6f3f904f17330d44f33cee1f9f3df0574d3f06d99732dd3bcf3ce264003eccea233f60bb08327868d038a2ad113ee967fb3eec6d1836cd27dd38aec6073ed9fbb73ed4168437e19c513851d7dc3d16fa6e3e86de3635e8da82382fd6893d7ce8f83dd19c44360ec39038d8eb073df6b2c838f1f6a2369da8b2368dfdeb3482dcd233a3c5c8330000000000000000000000000000000073e11d38acaa7b3680983936b4f91d3676e71038ad16303643210c363009ed3583029236975f8c3671b26e366e615936b9414e38b592bd36c2ffa63654439936bf273a383d269436275e883642e28036df1e8838f936f937350f9b36fb889636eed1323899dacc37e9b3e73664e6e6360000000000000000000000000000000000000000000000000000803f00000000f7d38b3c1dc4353d1323623fc05a82365cf6333cdb702b3da34b3e3faa443e36796d6a39a7be393df4d8183fdf598c3653cac638004f2f3d61a7eb3e6877843727569738aa60373de43da33ee6c4b7376dcdb23825b7303d90f4383ef2a03d38da701a38cbd3f03cfb775d3d63860e380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006566d4348fdd4e35ebef5b35736b5835f7296e35c6e5d13400000000000000000000000000000000000000000000000078e61c33362f9c35460fa535ab10a135e0cab635180318354c9b0635e25bec34d7421a3500000000000000000000000000000000000000000000803f00000000000000007999a636ba207b3fc162ca36000000001c81f4364fc85b3f2ae3ab34f9a59532d116d8372234303f69da5237a06b5435aa798a3746df013f9b369936000000000b173e37fa02a43e29830137000000005bd1093807a2223e403214381c06593716205136ba0b2b3ddcc5d83678c5b33400000000000000000000000000000000960a6e34b0155b3434d208377d5a823604a71735893deb34360fe734d25e1b357c27e3344a56b734a987a334e279be346f0b40355b902f35c5e32c35023f3f350c547c35ac596a3537de5335dad57c35ac692134e9f41f346f0dd633cbe62b346213aa35503cb2350f829735fa7f8c358c21bb359f71ac3565129835a2959e35903ec1339f7db53348440e33b84e9f33b0e57634850f7b3f87ebdf3c5c1d8e37e0f2153567367b3f8d343639ee562035453ff834ca2d5c3f2545de37b67fd934101c503507b7333f45487637e0493c35d6c47f35e76b093fcd938936ed646935f9068e355562bc3ef24c99379a9f1a3436aaa53585e23f3e2c023538e320a836da62ac3512b3813da832363727e48f354525273313602933f1c01b33721b0e33147e9e3431d997346d668a34e97e8934f11ca834d3043f34bd2b81342cf1eb340a9b9735e3a78635a9e99c35d5b39b356f7c543475782f343e3402347851e033ffae2a35b87e1f353f7a2b35b4f43535a66473353f5d6935509a6d3554e56f35c6e6923425335c34feb5f13315377e33e794d43445f1c7341af0c634d6f1c234324a6835d9e55a35df028035d5948935c009a634796d5d3fb818163ea7d87434cdcfbf344026643f3d13e43dc742e13471509e353be5593fb891813b62a696354e066f34db9b313f499a7e3a08d3de33dc434e357e8a063f6078fb379710493556a17f3522c8b33e7c7ed237391e87359c4398367200323e7b36063b43e78e36356ee134338a243da250003a77efda3439d73f354b28063968c045358e50193550b8953504a591358c1388354ea185355493ae34c66983344927f733090b58348783ae338610b132b3bb0c310a869b3455c3583514c43f35c15f5e350e239d35b01a35343ef2a43476ce5b34474d9b34d86e103410a74c34266b48344dff44346ccebf351b40c53573ddbb357dcad7353dd7c2349566e5349a98d734bb1de734bc84163596550a356eef2a35bdd75f35e304853527f32e3f8618a83eaa3b673576c4cb341ba4383f9e7a8e3e94557d34e63902359600353f2fc41f3ec473da3356fa8335cb5a203ffb49873d9ddb7a359ad20e35ef68fd3e94ed983caf63a03486d2f5348714ab3e6601ab3bc776073450b78a36ca342b3e8723513b5612c235c977c93419d7e33c7645d53731c6913464b720356c22cb35e45b013517b54934f88566344a645534e1ed6a34981d8f346b36a0357a9787352a76823555769435e36ae934ab5cc1348e6db4341fdacc34efa9bc3458b9a934d74abd341993dc34a7b27035fec35635f75f59351a9c783500c7b33401d1a83447279834d480a93409d5f634a3f176363cdede34a936ec3475b0a935eae59e357df092354c029a3556b9823431b98034544b5134968f6634a4db7c3492c9f63e3476073f1d6942342669a135d746093fd602ee3ee63b8e35419c7f357ae2063f11b3a93e9880ee34ff5fba3421f8f83e9c8c463ee621af34df3c6f35d547cc3e40bae03d4425723502dbb2342cc69b3e3ebcf53c2c2ecb3439354f373849173e5727183ba347543768e69a358b4f263c657d8237fa538935fcf26d34440cc036986e4d3426cc65343857c634d125a83447558d34ec9e8a3431f9263414b91534ee3b0534f2f81334628eb035bfbd9935d3599f35b1e7a8355fac6e347d3a4134c03be433ede7ad3323a60f3445fb3034efc41334f6e1f6339864593574935a351ef94f3590215935e2f6ba34ed4eab344010ca33ce399e3352349734885d8b34fe06d234b5b0ba34b12e7235f0c067352711893554f19235784d3c35203d933ecd13393fab6867346558a6347bceb43eaef8203f6210fa3322a0b7359e2dae3e339b003fe0179a352b6b81344676a63efffcb23eb10c80336b080e3711a0993e17db4b3ec29b81341cd9e135983e743ef2a9a83d42237d35fef3d534e271193effc6893afb0acc3402a9c234693b093c4f07ac3755d7f0344a2d4935ade71d384a0d79356cbd1f35ebca893597258635f2158335b2337d354cefa634d3f113349f0fb1323c9c4c345a6604340667e233d7e47b338a238e338e11783534056435e21f67357353a535aa43153560fe27353cb61735e04d3435f37f15349cc04434c27024340c588c349495a8350f53ae357f6daa353097ca3513f70235a8890f35b293123575b22935a22d8434fc0c9634e9dea034e08ebb343b087c35c7feef3de8c2643febf95835bcf803356e70233ef6404f3f7d3c1334e21dd83601ee213e7a5b2d3f7ae3ef33285a8f35cf09293e74d4ff3ec4e47e35bf217035bac7153e096bae3e8eb72735f1d51735d5b9183ed216303e1003333470a22b371e3bfe3df84f083d33eff43516670935ff50e83b76ca85371a9fe83430e293343d469434c5e18934a9676a34f120e13357a59f334a54343308f0e733edafb735e35288350ab76135f1128a35392da635fccb7c355e0b6035f99d86350d252c34eb120434a593fa3334db3634a2be6f3583f13635490c1b352d1b2835c9873a3583e52135b4e8ed344c10db34c97bdf34d292cb3408ceb934a61dcb34c52f2035d3461335da69f8346fcdf8347922523424844d34df07203449b7173483b0e333d5c5be3c31eb7b3f66190d33f74cba357644663dd517633f8e238835db9073375632b43c16704c3f76026f35ae023f34c947e63c797c1d3fafb19b33d81776359682ea3cda1de53e64b44935b75d65366b61053dbf778c3e0da220359837dd36a7c3203decaddf3ddce7b634abc9153504a8b33cd15f443b7cac0535d4145934401c7035ddf14634a3e4693400000000000000000000000000000000489bf53475b28534f6ca7e349887a134c3c9b235ac8e8435e26e873566208d350000000000000000000000000000000000000000000000000000000000000000d3b17f358d684e350e9e3535fe84283500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000007ad11035780cd338193c773f769f89343eeabb37eae08338366c593fa0149435000000009633d239d2e4303f00000000fc20b6356843513a9865003f0000000070221d37ab1e85395dc5a53e6b75e23600000000880e3238d8011a3e75752336000000006cdf09385f69e43c0000000000000000000000000000000000000000000000000000000000000000000000002028d73500b26935e0ec4d35e4ee5a3578aa43349a072634cf6d10349e420f3451092e330000000000000000342e4933412576350926ea340315d5346bc0d934b8a808345daefc3301abeb332277f23300000000000000000000000000000000e6e0ea338a63ee334f05b633ae76a83300000000000000000000000000000000000000000000803f0000000000000000fbb3c13964c9733fae71d635702280355b616a3c2ed3493f24c35034455c3c346246e63cb4e41c3f3572bd3400000000e66c833d3333dc3eaeef313549a100350fa4873dc8538d3ecc861e34eec30a34dd900b3d48e9173e7d27673300000000c49e733bc88b163da588e333bdc1da33000000000000000000000000000000003a43a734c758a83451c5b0348331b5344eb8063586a3f6336a6f6732b1cb11341adb38353f73de34bc58843447c3d13400000000000000000000000000000000078960358fc08f34fc432434548cb134a8b32635b815c2344f7b45344466613400000000000000000000000000000000b3131b3522c28c33af940534fdb4df343720b431590fbe314a6b5731575f393127c04233873b803ffdfa403b46870634e8d87d35ddb9783fabeef43400000000967d2b38277b4f3fb2fb493502cfcf348ab8d23a1007233f00000000000000001654153b45dbf43ec5653435efd89f335597303c996ba33ee44531353dac8b348069b33916163e3e000000000000000079e7e936ae97693dd22adf343f01f3321722d736aaec2a37be048331eeeb8f319ca63833b189183364541b331777283317a49634b2b27334e6838034dc1492346e88ae33330ea633be2b723347dfaf33d8d75034f46b4133680b4b33113bc133735019351841f9337120f73383c73f3408f2c634ee1e8d34bbbf403404da68347bb1b534d7bc6a33000000000000000048944134e8530e3456f5b433e9a5e1337244cd335c38db323d98b0320738a833d0741b3308dd5b3f3234173ef1c71133ad3074349c517c3f85d18f3cb0935c3419e2ea33f3ff593f746835349e67e733d2998a368b9a283f844e923454604b336af3c539de8af93e68733a35d7b0ec3387ac7539955fa33e55a19e3410227334101669393cb02c3eb6591e3498707a334babeb34ec25833d94058e33ec1ca1336554c43325b21539f2cfa6323033cd322e271e335553293367601a33c5d71133e1f95634a0e66d3476e23d34bdbb3034a6101e35115ecf34d4dd8834582dfa330ed55533000000003ed3843256d6da333f8b21354cf53634985d3e34aff00a3580ec7f346a1a6534437762348d769b340000000000000000000000000000000011fb7a34624e5f34511726342e1f2934ec2325342cf004337526e832b84af432ce130533d6542e3f2eb6a63e969e2833974a473422f4523fa2b3393e9bc77434a5bc61356e365a3f8d75d53a65fcc4344a3cd8349e4b2e3f82f9f933000000008a4f4037e259fe3e8c470b3574396b34e8d56f38df669f3efa02ce3465ea9934abc71b37787d243e0000000000000000f6eb3135bf97fc3cfa7c5f3474534734fc870d359f42c639de900733836f073398ca463368ce4a334e7a17336be70833121601355ddc9534e1d49e3250679f333d7fe0345ac68434c6ee2e34a3a46134e75dbe34b87d2f3474dc5333e9290a34a8038535d40717355e9f093569d02b355c021b351ce2bd34c9619134005f833400baaf343ceb21346ed53f33267fbf33e59b8834ae955a3287f14f3223174b34ffb40034e2297e31fbfbcc30ad574233f2947e310f67fe3e3a40023f7df97b31404d423460a1263fa6beb33e0ec29d32fc2c2135f79b323f98b52f3edc9949343f770035416f2d3f9a77a83b02708733dc6abe3721ed003f741542384e7709356bc964357121a63ee4ef3b3567e889340c7df334ffb80d3e1e479a347c2d3c3395191935355d8b3b3a577c3297ec893249f254340e9c7c3486eafb30b404093102d06c34a7297d3323510033ed2d06330e8ea134b0cc613456155534dc036234adb27b331f27d4320000000022d1a532bc717a349ce00934e97e103486826a340596593534e8d634cfa8973499c3ca3476a5ab3478c792340bee1934c02f3b349bb01e35ef5d98346a8c18349d0a4734b3a05934583a263456f10f347e271b345143043323cbef32236bdb3298ade832acfe5e34cb4da13e62d8303fe7db0033c2128a34830be93eea1f053febc364342e2b613449a4053f1041a63e56899e33c38eee34e605043fa20b3a3e2578ec3344607d35e91ef43e3f4a0c3d28d6b334c58adb3442fda63e59f0ce3652bb6234b98c2037ee511b3e83c0f634adb47034e517a8344be8243a0b780934b7790e34c90d263398920e33e93ae0321da6013327d61034126fa533560b1033dca60633da629334ffa6913495b25034a61831342fe3cd34e2604134ac75a833b27a5e3394c2af339e044333b799b833f55000346fba3835d6616734947824345ba5bc349de6c934b2252a344ee6e033692217340000000000000000000000000000000060ee8d34215e7534abc44234663a363468f93133e6fa1e3301fe0a33b203093347d1e832d1710f3eb31a5d3fc7dc31334148013522ff853e7f6a2e3faf2ba13461912235547faa3e2c63013fd533233418c3b934295fb93e63a3a63ebefbba328969cb35a5aaad3e70bb3a3ee9921d35e79b4e3598ee963ed9d15f3dd6d991349b557c344bd11d3e32b50d3900000000311b1835e1db433ab21283341d6b7a340f6a6f34bc93c33366da2633927723332d02233243c61032c3793532441e273219eb6e35dddff834ce0c5c34ebad823483a573330000000000000000000000009fa4d734b6892334bb223532ccdb0232fef8923564a711357d3b9b34e29ab7348bbd6c3479f2c333c458b23200000000f0e321352f5fe93442a28b34cb499a34f9eb0f35d261c03200000000d9b8bd31b50fd93476b592343acc4c33c9ae5a34c212bf319d86663d3bed723f9638cf31d2835035cdb1123ea9f64d3f57c19d34d72eab343849253e61e4283f00000000849d0c35fc7f5a3eae33ed3e0b452633bf099b35c0f2673e35fb9a3ecb06fe343400eb34fa56523e2f5d273e00000000f18b3735b13ee43db97dab3de4759434244d5a354bf3073d55f5e6340000000004f8bb343b89e734b6aa6a34bfb7b23200000000000000000000000000000000916b323514301f343ae42634d9d91634e5702235bcc242346735b831be12f83220d81834498be633d958f133a97c0d34495ae2357b87ed34764beb34f40a0c357a8b2f35428f813467446633dcb29433278812370c57183433421934458637342cc12c36f7b5de3554ef8f35b87a90350000000000000000000000000000000000000000000000000000803f0000000011fcb634e85a5a3d1c5a693f631e17345f271138b0676a3dc41b443f50154734ac10d2341c919b3df9b3173f46b2f1330c87e735cc65d63dabd1d13ec5a1463571aa99355a3de53d146d833e86750b3454162734e12e943d6e64073e27590f34fc692436cef8303d7cd5143c9eee0d360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a6ca133dff91733000000000000000061f55b34a550403400000000000000001be7f6341b1de934cdd7b034529f0d3596bc3f35b57b3135563ff5346ed01b3523311335c64212354e17d4340385f23400000000000000000000000084cc463100000000000000000000000000000000000000000000803f000000000000000056d47b3d170d5d3f0000000000000000d7859d3d08ca2e3f5a4a19356ef874334861263e5714e43e2d06963457209e33f09b3a3e32b58c3ebf9115359205d034bfa62e3e36c6153e815761355f8f3a354e57cf3d05c5b93d530e12354d16dc346d61503d8722cf3b23585434000000000000000000000000000000000000000091cd3a3706007b354aa79d34d63a243400000000000000000000000000000000434c52349485693300000000000000000bf16035062c4835632023357a47203506bce2341aa2aa3425926134f1a189344f1be63522fbd834bad2c2346bd8ce34c2a78d34fa6d873491358c34d8c69034000000000000000000000000000000000e581534b6542034e53a84349a8c9c34bb7e6434c11d7c3ffa799b3c81cc8a360ee42f3a0d40733f000000000000000086db893ddf383a3f03e969355ea8443461a6d03da657f93ee48a7235484c4a35c613243e6477933ed438df34ad258834a962263e7706133e3fa41036b4c9d9345840c63d1019bb3d16e1ac3491818734b202843dff60ff3c0000000000000000b1e9163a9d4c3238fb3f13332258f83264625438cb692338000000000000000048050c34b22895330000000000000000fe4f6d3439d45634fe869a3300000000348d5435ae4f053578129334384ea432d1385835081f0735f75015330000000000000000000000000000000000000000eade6e357e6d3133caf024334e109533000000000000000000000000000000001357a431000000000000000000000000f626813497c5593f27f71c3e61e173381bb8fa359759803f64cece37cbdf8a33d709013c158c523f1d27963419034b34ed36753d88310f3f1828bc3538c7fd34d4afcc3da2a2b23ebd08a835cec30635ca51fb3dd4d52c3e34cd2d3300000000d45a9d3d4cfe973d7566a4356d768532e6095f3d982ec53c00000000000000009ffe263ab77e3438f77fd8324a6aea31a5981b3718eb5e3359d14e336b648f33ccd22937000000000000000000000000fbfc193500000000000000000000000000000000000000000000000000000000e4e00a35d34007357b4d1635437d2e35ccc8ef34d373bf3432ad31343202b034a9abb434e983a834b5de49344adef733246384326bb9be32033008330d03883370053a340afd203431ce2333e7ae26330332bb324e832a3fb053ad3e4cc78d3200000000864c673fa07bce3d00000000d1b92a382441643f8076af37000000008408e838e493263fb6ff0a3200000000fbdf0d3d7bd7d13e48ca31351ec7fc344678bd3dde2d433ec26cc2345330ae34227ea33df6cf4b3dfc8ac334617da5342c2d1e3d897170385fadb133c9a31f3348b313399265b638ebae6d3493e51a344bc58338b5790b361770f8346806cb3483109a35000000000000000000000000e7521636c46f5c3583c08e3417f4e533591ea0368eaa7336333629363a5b03368b231335bd910035c0b2f5349088e834e80fdf35f2c4a235280aac35ac0ab335874b8d35c3edf034208beb34a1a214350000000000000000000000000000000033525f351d895935f74d7f35ca668735412e69359b29033f2a25fc3e7b3bc9360000000046293c3f15b0893e00000000b72c1b36f933573f0074413d3d50d535a2689337d39a3c3febd76737ad3a8336b55812393abd003fa08ea7360c1ff534adbe323b60ee873edec814360849a535da31763d7df0673d625184352512c6348838ce397f34b93700000000000000004ecbd1385afdde36c5cc483571d84735dd4eb538793e813200000000f3c0762f030800368a21e23200000000000000006645553556968c343d90b1330000000028d640366268c534200abe3300000000cf982f35a55e203512b3b23429783f345547af358b6ae334751d8832000000005f72b7359660cf3100000000000000000000000000000000000000000000000074a18b324be89b3100000000000000006d4391381e14b63e09d5253fcad742329b30b937d33d0b3fff14d83e0e595a32f753ec36ec1a303fc4cb403efbe44235a6ca553840902e3f1c38233d3dd313358bcb5f3800a60f3f858d62383ddd13354cc676387915b53e6d9ebe37dfb585354e5d8e3af516e43d0926f635a18087343b0b49381dc4143700000000000000005fbaf936fe35113400000000bcbf143100000000000000000000000000000000017c24370000000000000000000000000c424c367a309632d890243372fb8233000000000000000000000000fb60a73151254736f828f3344506ad348236ea3413c33537c3935f36ccb6ac351c043c352dbec636ee8e71344570513422774734d03563340fb770344f501434f70eae33a3c00134ef478e330000000000000000f846aa37beaa343ef492533f0000000050592c38835bab3eb47e173f00000000b1948337506af63e5035bf3e46848135e5f0423765ea0c3fe5dc273e00000000c2f16e3710dbfb3efd06873d35a718359dfa7a382736c53e542ad338c53b9036729573380a47323ee701213857b46734b7e8c9386a541c3821828934d3b56634b9b9cc37c4fb6534ad3302342b5c6b33fbc92137e4e53634aac9ec332b117933000000000000000000000000000000006ff38235a75a7b34a5639333962432330367c1363b1e7f36b6f1ab3582e37a34ff3a233528e10d357963c234d2e189347ac29d3595ce3a3506ac2b35cbbc2a35a929b9365fbe83364ade1136228a98355e485b3405825c34279306341af0003408228334fb6f82343099d9344f4a0335157919381082b53d84456a3f743fb83480b1813889e9253ecd443f3f00000000923abf37f39f993e4f8e043f182d513406187637116bd53e4763913e03e788368da1ed36d41ed63ebd32103ecdfe063560b25f358fa4b43e2f3b853d7cbb27351b5c76373dfa293ecc6d383d5e5a863610203838f3f5533da8e88a378367f9330c99b437ca590f3401e0c33383091934000000000000000000000000000000004a7da1330000000000000000000000001a815935ccf42b3400000000000000002f39ab3501f1bc347f02553400000000e7c68d37ac5f9e34000000000000000021931536617c913521393935f1d5cc3473cb15362440bd35f3589635cdd5823526d4dc36aa421836c1aec7355ccac1340000000000000000000000000000000000000000000000000000803f000000006f151f3810a7d23dd917583f00000000f005c43b073ffe3dc3412f3f058bc1349fe0743870457d3e6563e23e6eebcd34d6f4103867b58b3e27b88d3e668d7c3490846a35088c813ecb91153edd9e003608ad34360909103eea5cd83d859ef3355f821737384ca43d0eec1e38a7bf23360000000000000000000000000000000000000000000000000000000000000000c9b5c336b986ad3678cbb936df7bbf36adcfe93681dc883681e58e36d0c1c536cf8e8837761d7136cc1997364f738c37a568b33775800e37c422723717c6ae37b13acc37b62ed036d7d64837ba4fd43754dd5337ef3c6c3651bcbc3622c26037bad17037c8f38136d8b2e636ec705d3700000000000000000000000000000000000000000000803f00000000000000005e6bb137c6f27f3f6d018837e1c4d7362957ec37e220573fd0e49e37b7d529375ce11d3842e82c3ff115e3379167a53701261738951b013f281ce737183abf3702328538a008ab3ecdb310386b36cc37478fcb377af12a3eee167737e29344379b54a837969a803801635d378c293b37000000000000000000000000000000007e1566376a9a83349b0f2136e88d3837d55d5a3642374436accd523608db52364b960c374efb7836141282363669c536be4b803729b08c36bb17f53644466f37fd1eb037126aa53615f2b53624c99d37d6dd7937b10a823609478436ee6d7637025b843768f95136f0410d3798fa87378789be3728487737c09d8d372ff1b837ff1a9d360e555f36f14b9536d6ddc636636db136cef17f3f4cb93e38196c77372208553602f67f3f0d42e937e3335f36f600c137513d563f58fc2538c33a5a37200ed0379f352d3fba340a388a86953713e945382c28013f5c106c3898e6bf379b94c237a849ad3e86bdeb37bb077837e2f50e389b91323ee28a21388a516b37fdc6a63787c96f3c64dacd37cf1a9c376d421c360241673748da38368b4b3636a28de13714ca953744f67637dfc2a6373c1fdf367975b836e730ba36318cbb3621108235fb584b35ad0e5b3508076235c50b92378afe9a362dc59c36d9d4483729c22237be7a953670529836252cfa36839f5c3792374a3629c4503695ec38378ae20c37ed8721366a8c23366ba0dd36e8ed143737d64336abc2803677160e37bac4de3780b4b83710a8ba3703f8df37bc4c5b37d6a0563fce39253e4e8baf37bbfab8362e8c573f63b1213e3758bc36e496633551a1333fbf50113e4bba6b358ad99e374bee153f0d45c63d4db97c37c95a26375661dc3ee8298a3d8073f73621466c373698993e9e3a6d3cfcb43937a6fc06373c2f293e3210b6373e088036efdba136f158523cc3393637a8b9643680c4b0378a98193842eecc37caca9b3720bbcd37699292372f3b2a37091d8237e9370e3767a680367cb68036abd98236389c38376ed1533548ff3a351ad35235f2ee7a37a08d88366eed86364ac79336302903376c5df8369ebef73656c9003754e0eb3794ef613793d25f37825ec737bfb88937a3fa8336105a8c36d5a569370ebe5737b6f7f4366d91f136032f4e370b8fe03786dc8e378ab99b37c073e33742e14137e4012c3f19dca73e0f505437e7fc82366a2e2d3fb78ea53ef83a8436c1e21637b5d4143f0bdc8a3e342260351b247f375527f13e2b31553e6102b43631ed0037abdab33e64c5193ed78cff36f257d93753bd753e8e3ca23dd041b73764073c370877053e75f1853cf8e4e736efd70437bfe32e3cf66c8137ac64ed36a25daa37c299293815cdca37bb83433773a7e0379a739a374b4efb3582eeda363bdbd73615289d36fe729b36f7189e3629c186378fdfed3637d1ad3693681b37f344cd3784f2563720c81e37c0588c3748ae5938a6aa0a38aa01ce371607283824f3e437f4919237367381374ef8be374a1f19387d427037b0ca4937ef1dca37aafbc7373527243751efeb36c17ea837df13ed37197cb037fe449d37b733f7371658df3653ff003fdad6fd3e615789357008a03694b5023f067cfa3ed36f9d364bf85537743bde3e99c1d03e857d0e37f3b0bc37bff5b53e2288a53edb2a8537991355388ff7853ebaeb733e41ab2a38b6b8cb37708f353e4c56133e701ca03754cede3778b1bf3d4d19843d8c2d71379da852373d6f90384fe63f38fc78cc36d3d7b53734072e3876c2e137d2653937a06cd437b14a81372ef2a636e8a7d536f0d9ed360424e436bc1fd8369df5e0362baaf13625b0aa355478973551e59e35e761cd37cdf50937c29a8a3665c51937daa1033748aafa36eddbf2363c43fe363029bb37dd31b236e9088f36213e19371b7fbe37dbd43e37a2356736f06a853781347537b7d43d374bc80f37d6686e37a235d8377670c037f8b5aa37f597d33760ba03373edeab3e6b002a3fc2a5b436cc24e8360609ae3e1636263fd8c1db3639a4bc3633d9993e937a0d3fdf2aa03597d7ce3797f1763ef106e13eb1673437af5d013705b1353ef264a43eaa2bfc3633cdb337d7c6e73df465543e4d5510378c4aa037a7d04b3d0faac73d9d642b373af63d373e9f0038c012da3705d6eb36a40fbc374c4f0d385453d837e6c383374d1fd037563096370c21cc363d5bf7368b3c03368f43e53564a0d0352b30d4356bdd1b36f20c183694c8053697650e360de32137165a4536ebbb2836d8c13636505c303738df973626d591365adc9536e313be37bab0533742fc9d3643d05437170377350dcd7e3536aa64355118673573d0833727e34e37835c073784c0843754a5e0375238ba370b14aa37ce44e037525ba23702602c3e6dd9543f74efdd36a814ee356065343e24974f3f0a95d435813d9836354a2b3e3ddb2a3f79cc11369c4357370fee053e93f90d3f39144036e04e363747cdc33d4d11d03e8d5496365668c6373fc1453db7cc893e8f1f4c37ce087435c91e303c550d153ed4fa6a3503b364371368d637faa3d637c3e1d1366811de37e7eb12384303ef377c0c79379a35853662f42c35c4a32635a2402e3575546937581635366e1522361e2b3136ec463e3770894d36199f3b3656594836a39a8337ea8d8036efbf7136b81b7c36a5ca023899153c378f0a9f365d57b9365b2dbf37304d7637892d97369de45237d11ccf3767716937382189368d6f3837e37a1037fa8a6c36e7236536ba9ab23629c084379324543791a122374cea89374ac69c36c34c20387cf47f3fb4772b356f6799373b9f8d3c00ca773f79542e36a2329d3701959f3cba554e3f47eb49362d7caf373d2b643c6cc1253f025d96361c6a14381a323c3cd9b4f73e56e29937b4a4d03799822638be75a53e7d467737f4e5cf3745c5ea38c5bf263e29fd85375095d9363088cc37ee9305384df46036d46982372f1bba377fc59137c34f793600000000000000000000000000000000b1f7c436024215361c140b36b1bb123652d5193732c22a36d1571435739a3435a5dc0b38ef2a7637579fc33658ded136c137e137ac9d9d37a8470f370a9f61370aecde37bc399a37c8d289360b32473780afa8371bd2633786e79636bfba3d379c56a23709468837f03f2837555883370000000000000000000000000000000000000000000000000000803f00000000dea34537c460b63766f47f3ffa681336e3f2683777b7d9371733553f066cbd3628b314382d2f89381f632a3f3a890538830ce8378f031338e0a6fd3e7ec0d7371ce5e237023b19380e0da63e4e29d3370b4f9e37058be237034b233ed41ea137a099843762b9c1379b443a38a0358a370000000000000000000000000000000000000000000000000000000000000000a3f647371a394f34000000001759b334e0560a37001fed35c112ed35cb4a4236e777c23758726a3780246e37a79b7137a93b9a36de2b1036a3e31236e4d31236376bf137dd3ca437e1f7b2379f60cd378472d737b0fb7e370744933779a1b53742f3dd379a869d3761f5ad376b31e23700000000000000000000000000000000000000000000803f0000000000000000ed317d3a5a9a713f0bbe00389ab9763784437a3a70644b3fc8980238cbb15d3750e33b3c30ef243ffbec28389deaf1371236333a4bf6003ff242e437e9852e37cadf3b3c1e51b33e594d42382b651238ea4c67390c2a583ef8ba0d386cfced37fca0373865b67d3da689f5370a2ced3700000000000000000000000000000000d2f50a38617a803751f2a136693db636b4c4c13618458b36eb4d713632ea8336197fa436b7d03a36b334393613bd37361ded46375f799a3690649336f7f2b3366741e937aa4f17378c7ddb36166a6037986bd0374ad36037c4386f3759199e37cf8c4a3732e9d8366771fe36742132373454de370d8a77371ca57b372572cb37120e933705a52937ca5b403745298f37340d6b38ef94703fdd74753d2cd707388c75fd391fc4623fe6446d3d1080d736ced6993c38183e3f5a97233d2f4a283724586e3cb4501d3f93d6ca3c9e0480375049b73ab37cf23e8637803cb52e0938aab8293ce03bac3e6cca1338aea3e737bee79e38a0b34d3e5ae4f237e9675d37208fd23945ae803d34fe0738fb13e537fd2c2038a49433387cf46d37382c4c37048b0b3831b0b537863554370dec6237c33d8837df279236a9f79036139d903629d13b374ed0d23690479436221db0360604ac377767c4365f6c91361e3cb73666b21438032c9a37b5794237cb61933781cbc13784b3823784658137d5b08c37c1d0e43724b27c37fcaf4537d1489c373a1194377c320837cf2314375bd86237cd015f38d7404338d3f8403888d91f393f6b7c39f7744b3fc5f1503ea98dcb3799bb2839ef35423fdb0c483ed2f5683797fc47391862223f7fd5263efa103737f6d3de3915da073f466df63df288b3374cf5a739580bd03e400cb83d58421d3823de9639948e933ebb22133d5807cb372081543918ef353e297f0f39f170ea379d293038fe30733da7b5e637ecae4a37390bd239136c2e3ac6bc5e388dd9493811b51538dad5013882f59337c5b58637da529d374e8e98367a1c4836d48e5536ed3c493795224f35682c4f35c5624e356a160e383512ac3782134c371eb66f3743b7053747e496362cdb41362d4d833639de9237e59285362b5e45366cd289360c5d01386a3789370e4d093712698f3779c8dd377752bd3781c0b53710efd6373cdec83760b79c37f9e18937695eb23751c01f38501a263f0380b33ed8160238c16a1e383b131f3f8b91a83ecad06637734c5238e6c5073f0fa98a3e7fe41a373b472639dc4fdf3ede025c3ee5c80c385a34903811f0ac3e068d233e5f410137d67d6d38bf797a3e0107cf3d8f6668378b8f42386a37193e9b9d393d96b3f1377c9e0c38eb275f3d8c1b0c386dc8c937d7ee003893208839c533d137e81e953703ed4d38285c29389c9291379bd9643706890138b72b5637b5e1eb36a2f6e3364838c83779a99236674d8d36caf18c36e2b2083882d2e4365647d9366bdfda36d47b2a389f85ff3701e5b03722b2cb375a1e26386f9167370fa3e6366019ed36c6f270388dd1b437841c1637b6bd9b37ddb0573896da2a3827260638b5f82f3800564f3846473938868c2838ec024638b1d7593859cd003f3e19fe3e97bf2c38e3ab5f389a14f83ed5c1ed3ec48fba375b461d399399d23e05a1c53e179ba237ae7b0e396909b03e7156a03ee066f6370634b9391dc1853e4f09743ea1a9283807ce2339cdde3f3ee1ec1e3ed2101638883f5b398a6eea3d4f8fb33d4ccb3938d7ae1e391146233d0c6c313cbd0b3a38d93f70387f7e8738f41d5838cd852c38996bbb3756c67b37fe110f36da2be535f9f87937fd039736cfa8573610d95736ebd683374e91b736f0d17c36f5d17a36ab2edd36adc2a1355267923544dc92352068fa36b1f7943629121b3678e11a3633051e383585f4372aa6a83772b2c337055ce337b82b3e3726ca5936490be43698590638ba19cd37f702823773beb43769a50b383a22f73752a9d937f65d00382f0ddd37e065b73e222a243fd1a39b37d8ead9372966b23ec2ca183fc7604537ba532b3877bc993ef12d013fb1e96f37eb6b4a381ba47d3e3a15d03e72028d3691863738da08443eca2a9f3e2d9af6360eeb5e3879a9093ef7565b3ec0d11b382cd24638a16c9e3dab38f83dbad0b137de6b2338413aa63cc77cec3c7382e83785702338cd9d5f3911c31a383da3ef372c2455387a1b2d386dfeaf3733043b3786669836256397360da79236aaed9036b4508a3708c24936632f443629b93f36212a963756ae4b371eccd136dfc5cf36516e193863dfc037f7a58d361cd999369b30e837c0728d372c66bb364b98d3360fa48437bcd6453781651e37b4f82b3734f4eb37b95bb137feed5c3794e88c3708c0da37e9b3c8373a07b5375f36cb3771521c39dadf593e2018493f4d174d38c16ae03784fb573efcc03a3f6f33983686081e38128e4e3efebd1e3f842b9337ac531138cb38283e8edd023fd3aa99376eb684382ee7f63d0ef2c33efa821e38c78446386721a43d3c57893e8711e637637ebd37cd452c3dcd40243e8b42773768ae18380f382d3a3975383df166cf37102b7539d931e23929f121380e0ab937ba7ebb377c5d8e36fbce7c35578261350bf09237e34f043606ccf035b37beb35e51dd136aefec636564ac036d455bf36b1f5b337da9b2d370bf91336e9060f366ac7033897f88837751f6036d9c65d363864b937323c1a37a67d9136369fa536ae54c637904a213774ba44368a48453656279537df4f50371cc7c636ff97e9366f38e2371fa499377a8519372a9b5437b57a0c384b8d8c3d5c5e6e3f925bdb376abe2238910da13d31a15b3f4f4cba3747d22638dec6963d13ac393f64b04e372b891838b8f67e3dd142173f34c6d13774b04c38aed6533df430ea3eadc211384e3eae3887cdcb3c9f71a43e5572e93730dd8639e8b7693cea803c3e8e83c937cd16e7378db3913954ff623d69e78437c48b3038fd624038cc251f382f6b8b37000000000000000000000000000000005d68bc37d1871937542f1c352d5bd634319ae837acca69376a466a36d65f5f3633aa223838fcc5371fae0b37982fde36e155b3374fd50e36b5a7083606b908361c671638ea3ae037198e6d37e4aa6f37f34ce83737589a375191d3362fdae1369c2604387a1cc537a36e8237c45f8b370000000000000000000000000000000000000000000000000000803f0000000089a01838a51f3c38ab10703f1c67f63741014f389c7b7c397cc9493f76c62638a02e72389ea8ba39b838233fbe685038fb0c34389849d639d274fd3ea2040638d2843e38cb385e385319b03e702a2438e4622e3865197f39e1f5503ee72dfd377aba18381c248e393470603da6a1093800000000000000000000000000000000000000000000000000000000000000003cd15e39dde8d7373162b337e7d0a937f37b96395cfa07390a8bf0376647ed37deb9f9391804a739169e4d39ede51f39e525fc399bc5b839ef088c3994aa7a397d29a839b79048395cbce2388d6ba138d5a8b6397f8c83399e354739cfeb3439620093395cbf623931d44639e20c423900000000000000000000000000000000000000000000803f00000000000000007b8a7c3a11e1613fc81b183ad8ee903966358a3a3153413f634f0a3a56dbbb39c6228e3a07ff1f3fdbd5313a1f7f0f3a9159503a54b7fe3e0394253a60f00a3ad7d5283a8509be3e48cbf339c518c23973325a3a2b87773e13ac093a55aaca39ef79f2391c34ea3d2cfcb239f1d0a33900000000000000000000000000000000a5eeaf397064853973019338a7e61d38e7ef0c3a7748b9396bd6e138c4123638dc1c0e381b5aec37bfc3b9377f53a537d9b99d38db8dd2370a228637650f3e37a828083a8496bc39150774398b154639f9df2f3914cee837b0e4de37f622dc37bbc2f8390d1fb83917a18839f0809e399f44233acaab103a8c40043a4f96083a53977539ba7653392e6248395d054d39080c3c3a0522613f8d52ee3d66b6ba39719a823ad418483f9f24df3dd20c1d3a5bcf2c3b59482a3f86bbb33d8e144e39b532683a99c80d3fd44d963df3c6033a023b903ab211e13e9465643d72d4163a6f7fb03af8fea73eb95c1e3da9dc85390f0e523af214643e1502403aea751c3aecbb543a3550d53dbcfd333a08aa283aa331b939cca2b83989867a390c237a3927a8db39bdb5be392861623962db2a39a93e8339f6620338d74bc737420faa3746aef739baf910380ebfe4377f5adb3788485239314cb0370cc65d373926523709f2ab3914fd54399e24a038b06600382a112b39ba50fb372217b7377aaaa33729ee6f3a8287443a6482113ae2c20b3af5a0373a5523163af26ff1394fd8003a5e78c239c0beaf39bef49c39e7f19e39ff376a3a0e7d403f307b783e7f08df39a542b23acffe2a3ffcc75e3e6cadad395426e63acdbd113f37863c3e25fd243a7268803a365ef33ec24e1b3e03b883399497cf3a9118c13e68a9f43d4edcbf394a418c3a1942903eb064b03d02ae4f398eabb23a3ca83c3e6fe65b3d84187d3a04b07c3a7134c33d8c22533aa853323a6a73f53978ccfc39d5dec53915f6b73924d0d23929cabb3981a24e3951540039244b1c3ab245f039c13553392f33b438d996173952c13e3890e4313833b92b3896b715391724d3375853c037866db837f721c33973077b398eea98383eb9d837e130403ab3c2f03915ea06396041b1385762ce385542ff372da6b9373a3ca837bf92163a3352e339e33ab13950b4ad39e6d1df392d86cb39643db2395bc8b039f976f7397017203f3e7dbd3eb0ced339e28cc73abc490e3fbf58a73e43e7233a0e4c063b5e5af33ee02f8f3e31754e39b6f0e83a069bca3e2cfd6c3e49247339d8f2bd3ae5f4a03e3a053b3e96b5d43943d9ab3a89416f3ee0ee073e02904f3a18c2443a19e41d3e857caf3dc862c4381c67763a5b70963ddbd9163d5e090f3a4c1f093a5cb70c3a51aae639eb92cd39227ad9394a62c5392ffa743913d318393ce59d3958110d392dd889386a0d7f380ddfc538120d2338f3da0d3858d20338c640a5396fc91f39fb8e7f37757b073777c2253aa8eb0a3a816ecd3956acb0397590b539fed25e3904d44238ae2ac237b0d82039b1788b38408c1c3848b517381d0fb339f65c6f39794cc538f938a938cbf2b439d6519f398748873926888739dbcdff398002ff3eb277fe3e0133df39bf6f623a15c8e23e5e0fe13e86dbc939a2bbbe3a419ec23eca8cc03e61f01439a0e7a23a7ff7a13e567c9f3ea455c23987495f3a772b803e77357c3e85922d3a6e2a8d3ad2663f3e0d51393ef525ca394b449a3ac297fb3dd96af03d0f20a43900a63c3ae28b733d951b5f3dc403b7399f75ef394162f1397af2c2392542a2392c14f639fd90dd396ca8973918744439f373ee39336a8c3973bea93791cc95374c8ffc371178b1379f9e3a375b7632375637193a73bc72396ef2ed373737e2374d4dc439e8617c390cf13338dc08ac37c0c756396984d937252dc9370a17c437bd198f394f98f3386a0d39383c143538fd1b223a52120d3a8baae33965e9d839bc9ca1390f208e394b647239b9d86a39869e0f3ad39dbd3e4cb21f3f5497003a8c9c843abfb2a93e9a810d3f04dd143ac92f6e3a231e923e0108f23e8b8ea638adfbaf3a7058723ef0f5c73e3f0c3f3a4fbbae3a6697403e66be9e3eca1dd9398779c03ab1e80e3e868b6a3ec64b9d39f545c03a6592ba3d0ee8183e1a63a1395928843a05bf263d9f8a8e3d4f3f1c3a829fdd396ac3e639525cbd39cc329a398d19c3396f79a43969bb3939c4cf3f382a90aa393f07bf37abd99e3776ba8837f0f7353ac207073ac51285393b65ca3842f800395e970138f1108e3750363a37d407b73959837939127d83387aaaf037de5d82399ef1f338fac0653722545737a1c42f3a6f24bd39dd760438c075ed37021aa43987191b3973bb02384545f937ee81b339b8c0a1390d38853976246e39ec71fb39d9c6793e4050403fa3b5e2392bfc843a3582683e2acb2b3ff270063ad638c13a2255403e05ba103f36fd6d3a81ba863a09c4213ecb3df13ea5d360397c09bb3a3a6fff3d9e3fbf3e7dd5073af949093ac6cdbe3dc6e68d3eb6af9e39fe9fb43a566e773d4d5e383e4a284e3a26894a3ad045d83c8e18ad3db3de93396112093ae7b5093a4ae4d8397d29a939ee189e39d226703963ecbc3813cd7537cf2e093a912eba395e249338e3b1f437defdf9378a27bd3709762a379603bd36e461093999fae1378ad5c93730cdbc373858123aace8e53916e45f391f83d738e44c2e395c44263888a4ac37e2638637b2b3753931243a3a62bcee3796d3dd37e389223a0eee0d3a941bce39ae29b339769d92397cb88439cc3e3e392f4b0d396ef7da39de88ef3d592c613fd07ccf391807773a818de33da21c473f9f2d2f3a9a60853a3303d13d719f2b3f42bd5f39a548a13a44c1a23d66dd0c3f5d5f85392da2573ab5107e3db8aadf3e934c2a3a3ce6723a05ce3b3d55dca53e0db27b395c79ee3a2ad5e43c7b32593e623ead3a7147573a1a5d603ae822d23dc39c223a71f8f339e69bf139b757bd39177f84390000000000000000000000000000000056fd87395f701639c9e5c537106eb537c728d139b92b9239042c9d38549be437a9a6d639fcb0a039a4a3d63874212438ab940f3a058ef139023e9a3946a9613967d9173a3543fd3910bfa7391ba17b395e9fb0393a5f88390710ce38f8b73938f054a939db35a739673e1f3986e510390000000000000000000000000000000000000000000000000000803f000000005be8013ad000303a7db7613fee55cf39dbdc573aed107d3a609d403fd86c223acf7a203ac86a303ad0c11f3f1d7f073a75f53f3ad7284c3a02cafd3eca52243ab050493af1256c3a453dbc3e152f2b3ad9a82d3a40b5443a48ac753e5a9cc63945c6203ad61f393a7131e73d77c4e9390000000000000000000000000000000000000000000000000000000000000000e5e15035f9614a35f9465735bb525335a49b33365ce9da35bfa8203619fa3d36513eeb369e397d3610a4a1366270e136b5c673369784c635c9b3eb3579d0f835e6029736ae5a1e36c95c5736ad209636412bef37dd488237201b9337e471d237bee1f9368ed09236f2098e369f5c9a3600000000000000000000000000000000000000000000803f000000000000000092722f375bea7f3fdd4629371a1425362e809d370cae603f4427d736ebc48736b43f41386405313f9571e037d240413780543538d817013f3a9de837a8474337a85ce837cb03a33e4acd953761efc036f6203f38884c063e1ce04038c858f637d0faf9370ad9cd3a0345fd379f67dd3600000000000000000000000000000000932f9933feb89a3363089c3363b399334a69c13548cfc135f43fc635eccfc3359da95b36ed470d3530eec835425e89367af23a3611ef9b35be5dc535a0a55b3655380e3684110236bc920f36eb200f36d7180536890a95352026c135c92c05364e586737f094433719684f3789e36037861316370c68fd3578d8a1358c9b2536186e723620511436985c9535f4d9a0356cd19633c1f67f3f87543539e9be6a370013de352af37f3f536f34387fe83f3663a81137a2dd623fee9d303831c1f63623710b3729bb333fdd5a13389ba4ba36ee111d36c16d043fbd97b53769ed143676359c36f50eab3e6147ee3866ae6136d381a7374e2c183e2ac58938eeca7c371dde0537f264a03c2b386c38c57564371e140b35584c9f37680f54370e300836b1766e3651d7663612c86c361f806b3644ed9134a84e8f3484c29134c20995348089c63612194336fa728d368537c33639bd053744cae83602e6f536c88a03374581a7364096df35d792483610c49c369e0913375892d236aae7e836838c0637d09c4937eee42837e622293798883637be5e52387e813738fb23353860954138f7bf9d370c798d3779ad8037580e7e3790d73c36a767633f24b9e43d32db7936290b94349c9e683f07d1ba3d3faa14363c33043706b8473f6bc0ae3dee7d0e37aa4c0b37a6c0243f424a393d68f40d3778e38537d83cf03efad3023dddb18237a7a29a377666a23e30f1f438961db537ca05763794c0133eb8a61c3cec9ccb3733d71f3841721f3cb0c9c73879cd4d3892dafe3689c82d389dc21a38552e8937ee8e923701779f3742ad7f37c509413703b0cf347b0cd03459cac834b14ad13401c57e36125a48366b61513654506e363ff5d73678c1bb367844ba367a5ac9369a840f35fe4b043521d2093533e01835c0a47437c53786368f9d8c36fe7204375dc337372774dc363782d2367fa4033758237c36b6105c363d4d4a3657075b36d3cff536c6b6a93620bb8936744ba936f1129236f151323f74429b3e6aba9137410ecf34f55d363f99eb923e95a0d134b66ba4360334233f4801743e5fb68a365f2b12377ed0023f7b24363e0c45e836993d60356232c33e688afd3d8eb32635cee499374c70803eacfd8a3d55e4983756e9ff3635c9013e38a8063bd0f70b375ab2dd3503c4043a737535382acf203647592c36a59cfd37327b88378e6e18360c04a7333594a8338d32a833e10ea73375ce34366899ca3575fdc73537bfc635ee364e37cc0c2037ce27083760a12137567305378cc79a36bf4f6636e216b536860f19367bcd0d36badb0936eb6e083671202a37909109377887f73698ff11379e36b637ce5e7e370e85733767d57f3776b9b33742158237d30b3f37fbe76237ead756368736a733e0d9a83366e9a633dc8aa4331e23013f95c0fd3ece26a5334c18ee35927e053f7ac1f43e75bcc535000e68377c78ed3e9ef6ce3eac193d37316f27374f0fc03e41339e3e97e1ea3618b62037637d8c3ece07673e5b3d0c3675b8353776a13e3e94fa043e23551b37872192378ca9b53d60c4313db7367f372c5a723779e5a53964d145381f7c0b371efea533c6d39c3841bb0438c1eba53391e3363641ac17362f89fb35f8210436624e1334fe9610340c8c0834d7bb06340f4e9736f7fb3e36d649e635f41a1e363746bd362aba6a3607415836482c5e3626862235ca46ee34eaf8e6344407ee3497f83f37be3eeb36cd8ed136041fe03670eb50373e18e736691abc366588df36978e003885fae137987cb5378c84db377912c637c3a1ad3719989237b6c7a53794a91736c739a03ea3e02f3fd2a00236a5071c34e4daa83e346e2b3f7c640f34e10fdb36455d993edd5b123fbce8453602a6a63744a6763e2084e13e13317636e88767375e3b373e7ceba13e55edec34b31291371a77f33df0e9443e70b20c372ec28437c7054e3d6767973d104ee036a2241438bdc71d3a7945a638a2826337fe1bf737b65d5a38d5dc1638aa14d836ad3f7c37da8b8436e01d08369a6a08362041ac37b7119c34c936923422739734dad92a371e1ffa36eb468f36d172a636af08003713ac85361effaf35d3020736f7a8f03652bc4536a0e494340a56fb3585e01437330808378f5ffa3629b708377fbdad37d31e4b37a134fe36db481337883c9a3678728136e80e3a366d7169366cc57936cb4f6e361d4b703619f27b36d073b237b904f83d93f3603f10760936b33d3238c7fd073e45715b3f98199734aa9dbc371e0f053e6e60373fa8cdff369d3e0b38ec0de33dee63123f9c6397363958073800d8af3db573d33e88db7836959a0838c740533dadfd843e60d80d37dcb00138a24fc73cb0c1e13d97f44037055493374f07aa38fb46833802b5073647e88f36a549b337dd8b86361e2f593644dfcb3587010a35fedc0035ccc20835507b97357782973531519135a81c93352bdc36370007cf362ec282357a27d03534cae33534bd3a352bc5a634d32bb63451a11636cc340c36f9c8ff3587fa053609a507374b35c636db451b36a3067c36a4833a3749771d37fe87ed36da280b37229c42379ee113375421a136352ee636647d99338c079d335b1c9f33aba39b330e992337d0f84a3adcd07f3f91be1335aefca137bd1a093bea6d7a3fafc795356cd4ca375ecf193aa5d0593fd0fbf636975a8237999dea396f612a3f97458f35e13cba3622f6253af8e3f63ec11e0f36ccf0a63770780a3aa551983e4e90f63646bdbc37ad2d81392dcce83d0f8f8337cfed813798165238d620723802e0bb3623c43437d30e16380ab14b370b14993300000000000000000000000000000000395271368976d935796459345bc60d3593f33e372024b235f23e6335979a8d35fa1b9a3616820c3689b1d6359c72f035c1787137b50b00367587cb35df94eb3513a0af37f53568379a80ef36422900379333a43741674c37118f853657f29d366ffc3b37666237376e751537eb661e370000000000000000000000000000000000000000000000000000803f00000000545eeb3673f004387b947f3f6ee1533685fdfa37cdc832381b5a5e3f52398136d8e4253751ca0e386f762e3f11ee90360e7bda37cf0e82387cc5fd3e8022a93735e2c3375fdb6f3832da9d3e9cf60f38d67a8d37b04529382b5afa3d920af4373e922837e8b8c53737c8c13933858037000000000000000000000000000000000000000000000000000000000000000047e7b235c9094e354b453f35bd103435b3455035896a4c35d8af4a3536ba4935000000000000000000000000000000000bd16633f30c53337f4a5c33dcab0933ac32fe34bf9702350e9b0535397902350b28823726148136c6ee6136306abf369866d1363d9a21362e1a35364afa693600000000000000000000000000000000000000000000803f0000000000000000c08454386238783f5aafdf367a15b83559612d3846b4533fbce7e3356efb563560c4373ac04d2b3f0579bd37c2ae863323a99a38fc67023f9a9f9f3789307d33f577e438e4cdaf3efa4ced376a8d5635595ee4397e933b3eb2a93d38a782c3379e380b3829f22b3da84cd4373430743700000000000000000000000000000000a1858f36c76e6e367efa613673bc5936b1f091364bd47e369e938036aaaf7736f4f7ad3426b17534e5a97b34cd6b74349523ab3489caf73261f926338cb2f7321a03603650e64f361f19533689fd5036f4474535dca220353b873835bd87363527a47235926974354625793511f2703515b51a38e122d737157ac73753f6dd3735d56c37db5b0d37e07fb036f552f63675fcb237d7f27f3f89d6ce38bd05d5379db18538a5727f3f67858c3898329636385e5d38d07c583fd03dfd37e6ac20357bc5493828cc313fcc4ece3705dc2f35c261cf385f36063fdf29ab3814a7c13797d0c638c425bb3e95a09e3821728c37308b263828425a3ea7d8103824129b3512246938cd81823d065091388ad13b389435bb37492c4b384e5de337687f5e37576f3136abfc2d36cd2c303676992e36d06ba136a05c95363c4697361bda913631f07d3342727b3389d07833923572331812d3353344ae35197cb835c21ab6353bffe1363a8b4536a31d4b369b154536fae20e355860ef342c440d3571b9f734cdc161360abc2b367d102d36122c3a367790d73786ed8d37e9d24f3799ea78371806ca36ccb0b0368345a1367de8ac36812e2036274c5d3f9fb60a3eeeed95375480b7363719673f107baf3d3bb8a736fcda133788e83f3f546c8a3deea88033c23c713757f8243f6225c63ccf8cef35becb093838edf63e4221bc3c7e4611376f1f1c367928b43e6a86ab38fbbf2935d2b01238d340493edb9e8f39d6c41837f7041338f49b5f3d93546638fb0ff137d1e1743758677f387560ec37a166b3366ddaf1356563e6359df3d935b5f5d6354fb8a03612b9933662e48d36175b8b36551a0c363c2b0036919ef935c719f835f19541346925ec326c7e6233cc208533574d40366a803236b26e333601d43236128a0136f826f135f05ae335df03df3574520b3661b1d6351d7ddf35bda00336e8f3e437e06fa53721188c370e0a983739cbb437cab381376c924637e60f65373e16e8359bf32f3f9011a03e7aa6ec352d16b636cc8f373ff205863e13c4a23679f74938b484233ffe2d4c3e4c0214368a9d98376be1053f7eb9143e97148f34ff6ef2372c09ce3e8fded13d06664d36e91413387eaa943e56d8623dcf4b0836bc86a63746822e3efb23913c56d45f36ce6c2038ebd2233dbf47743854e5f1378f640238a888403897eb083877428737c903aa3711c954373d5c9d3689d48d36ff64c8363c33bd36d4c3b236b90fad369b5cc93542baa3357194803584576535803a3c363c822d36bdbc21362cec1c3654a105383bbfd536f5bba33678d3a536015c9e371bfd4b36c6384536f9463e36fccfbe374f7a05375b9211368a450f364f6f3338accd193877000338b5640c38af7ec837688b9a370cae6a372b0c8537884f113831db023f0d27fa3e61cb853736d221382162093f8bffde3e2978c436a9fe1c385585ef3e03adb23ed321d135a716ad38ce1acc3e475c873e983d2d37d79fa6383aae973eda8f503ea8792c38491ab4385d01633e7bfceb3d16c10c384b2343387823053ed3b6593d6e4aea37633363380f03e23ca1d9af38686034387c7e3f389a108f389a593c38e5a58e37ce13ef36fed5c13581ab9b35e3469835ba637e36523a643664474e369bbf403649a91234899db1333eb7ae337688aa33cb10d7359a81af35c4538f3567b18e3548853836373836362a083736f4b03336207c8c348f325e34fb971a348183e93370f6b93759190b37ed8c353613ef413684803937c733c736b06bc8367b8fc5366b9af335cf04f935e506fe3505b2fa35a113e737c0b6ab3e99152a3fca9cb4351be9f83772bdb53e05e01a3f21fe743644de99370a4fa33e2354fc3ec9c1b3332dcd1f382f0c8b3edef6c33ee277da35a4d8053876225c3eb07e8f3ef35b3f3658c3e137f5371f3e8db2343e7e3f9a349a838b387f54a93d7913a23dc36d023895f00038ff59a93c6244023ac5273337457a5f373fb6fa37fa3a8d361adaf135c3a9b435849347358ed40f35c02607359383543677dc343617c4233630cb24362e10c135a7dba235b38b9a3599ab9935d58b8b346537e433cdd7cb330ed0a133f82bc436d7c83836a37428362c1c2936dff3e335f7e9cf35b56dab35dd7bb0355afec13556f0893365b189332ad58833690bc036e5dec236264bc336c635c636de2f1c364b0c1636a54c1436d68c1636793ffa37130b253ebfb8563f65cc4c3583e113386e80323eed58453f54f2443699531c38efc6323ec7ee203f2ddbbb358e222c36df88183eaa8dff3e65068034c07510382921fb3d3a88be3e40f9d436829f2938da49b93d26b2763ebb2bed35649be537ab7e503d5c0a073eb92ef235b6db0b38abc6363c587ade3954a1c33619e1ab374bdd1138448d2036d973153619b2be3599baa93532d28b35e1398435d24163362cbb41363d910e36a6dd0236d2754a34047d4934af86463459833c34ea5a193551bfd334e212893496118434418ba73731915236f9b93b36d5753b36cf00473517a53b35c347e734771dd2340cbf2e37ed97aa35c5c79535538f9435d99e5638ad032d3828ff9737a4629237ce5c813642c06736c85f5236be58533628031638aa34233cdb647d3fb136b33589f47b386388a33cce826a3ff97b56368ada0e38246b953c25c9443fa4a84f3472f3b838dffec23c364e1c3f638c9b36641ec838de13b43cf73be83e134001384def36383f85d53afe9f9b3ef07e7f357b7155383c09ba3aaa8b1c3e0d1b0638438c983832b7433a07579e3a838e8638b166fb3772c138382e645537cc9a7136000000000000000000000000000000006e45f1349669ef342c79e534a8e0dc346bfd1f36f45c28355524233504371f35822d03351efb063543720735bd140735632c98334364a53330baad334b88a63309b9ce3751529f360000000000000000c4c799372ff807374e4ae635a51ccc353a3b3538680f30389f8c0238fe08ec370000000000000000000000000000000000000000000000000000803f00000000fbd3f437ff119e38b636753fc8f8ef34835f713810d52f3ab2c6503fdb4ca0360f0752384b538d39b409283f6835153580843a38d5221339b21efb3e56d8493778774738e796a93abe4ca83eba381e38c186e53711af423ad773303e7f8f073889562038f24a88381222f73cf27b6b38000000000000000000000000000000000000000000000000000000000000000097b7ad3556e79235ce9f873501638035bac48133e6ad7f339ccc7d3348a079333cc7cb35e045b83555beba35650bb73581c618362d101636451e1536c6b915369d881537411f993615a774365a154e36b6ccf637d4149c37748c4237a95a0337eaf3ef379c27b037dde39037b2b48a3700000000000000000000000000000000000000000000803f0000000000000000a0d79239dff26c3f7cde73372c97b235b323593cdec6453f0964963667228233e5fb033be72a243f709ce5355204d5355b737d3c7440fb3e55494b3833ea093717f5603ce3d6b33ed64b7d382bbdd2372ad95e3cd5e74e3e095f413887f517388d4a093ae6969d3d3791303af0bf4b390000000000000000000000000000000079abc137d4986137ef1ea036fa7e8e36fa4fb3369041a63691ff9e36e5c59536c548fb34ec77733489b73e34cb2233348d504d36397f3f36c4ab37362e842d36f92ad53718d0e436fd0ae336a50ae2361b3e4836bc234436f6f84436adbf4336555f4036a2693f365b193f36391f3c36560e003853fcc237f8169237d6fa8a37c940da37e47d9a37b83a3537f1d62b375d7b1438cd8d743f2979363dbba604385ff8bd3afeb8693f226f363c02f2bb365ae55a3be474463f6c55b23bccf72e351c07953c865a213f1bf8ca37d90e5a362175dc3a6c95fc3e7e8aad3b0c0b1b38af876a3ab4e8b83ec7333a38929e6137ce4bc23a79e05c3edcac4d3c1dff4936b85390397e57a23d1e2f7a3c5dd13f38d9b641387ebbc839586e1d385568d3378d573637b928e9367d70e3368104da36bcfc933636278e36304a8836add88336e4a2eb35e37dc3350c8ba73529d99b355dcc0a367c27fc35ef8fea35f395d0351108a3360a607436f9417036f0396e3600115136a4ac4936a6b344362df33c36760207381d0c6337345e5636fb7552363cddc937baff86370df40d377cfc0f37e34286379c6b603783601a3790230b37586ab2373d234e3f2664473e5ff88d37889f13394d58483fbc041b3e251b963659146e3a3b87253f860a083e74060136c675343cfe0e0d3f6f18c13db3b316362d97533c9c5ed63e7fea963de6298137266c803a6250a23e2d88483d1b975c361c8f4d3ac62f4f3e2461e73cc9933338c33f8438a05a993db38e853c3416f0370528fb37eed49f38e3ecc2377d818437c6673b362911b5353f72ae35a852ad3565590137551df836d7daeb36f598e13645521436a65a09365c04fb35a75ee3350e4fc635c17cb13524189e35af4a9635b2a696362cf9953691a4953646ab95369a18083643c6ec35c8e8d5355f40c73559f6c0372fcc5137d1b70237b53dad360847e937089d893641378a366e3b8c36f7d60d3883b7f13731bfbc37678cb037d29638386b62283fd729af3e6747553791d23a38b5c2233fbb13933e6c890337df3e5e3afea40c3f5bf46e3e5fbc1a363fb23d3c30e1e63e29173a3edd51d4350a32bd3982aab63e5467153ef18df236c8381a3ccc35853e6cd8be3dc28a1536a34b203a04c62a3e242b593d6a96f237e98e3939ebbd883dcbee923c5b4516382169503837b1b83973de363814d00738520b6d37742a9536e65e85366586803687c4d636382acb361cdcbe36997db4369d240636a83dea35c25cc43594ada8355f448d360a548536de7c793681b46a36a5ca0738c8b31637c2b0b8364e0fb6364df61037cb4e9536a1b0913636448f366f493236be6e3336e08330362a5f2b3635cedf37ecbab637ba3e98377f829637f9d7903755993e37573ca9363c379f3601cc1b381d34023f887efb3e8ac68937c64e4539e003fe3e1c26da3e7e5ddc360dbf643a481fd93e2a20b43e04550d36c73bb639d974b43e2459953e2e509136b8b97b3a36488d3e1b77643eb3d82d38e87a8639483e543e0b93173e82665e3787c90d3aa787063e6041bb3df2003c36721bec38fd45623d2792b63c3661f93704cf103815821f384f14dc37588c8037458dc637bd6b2a372ebfa53690068f3658356336f3075c3636ed5536ce6c4e36a818bf3538a88e35ca83443533b03335aa2dcc3545afab352cc383355fa04735248393365db19136ab8f8f36a2718d36f844d235bc03c635eb0bb535217da9358d7322377737213649af1b366c2e163629b992379a81133744a7143775cb1537fab2c53594e7c9357282cd35c919c33518c486387363b83e5ca4233fb040e037e989933959aeb43ecfd70f3f4acc64362950193cc5a99c3eccaeed3e8ad6723682fc243c5fc8833e2158bd3ecd2be735d06d813997b8543e2ff8933ec03895366359073c6bf9183e4d0d4b3ef5c3df35ec7f223a4a0fc33d1ac6f63dbce1b237961b2d382d5f103dad881a3d06d1bb3740862638c11e2a387a14a3362affc8357c9a8e3680ea843602856e366b80583624adde36d67fcf36ffa1bf360524b1366be63a36a9a32f361a29213637a31436fce2343665072236768c09361f2af7356de07c360c4f753608866b3651a46a36295a0e36796a0636f8b4f6353eeae635728af836263d103611d907368a070236763da536e0baa536c2a8a4366fa3a5366176d9362403d53650bed136c18bcd3615b51f38767b593e9c8f493f34388f368bbcad382409583e449e323f1ef5e3367d59733a51cc463e85d2123f3c264d378b2d8b3a8149293e4603ef3ee487403644958b3a8972fd3d8068bd3e00029d366bbf123a731cc23d36557e3e94ff5036f325223ae692753d4df6223eb6a1753779db9838b6dfbc3c6c112f3d4cee4b371b319e379b4d80379e36e6366068d736f7fc943601cc89362ae67b36ac086a3667abbc367643ac36207f973604ec8836dc05093661cde53595b9b2358e4a8e35afa80f364fb7ed35339fb23572e08a35be689a37c52fd536404ec9367886c3365b7b44360ef437368c6229360a181f360744a93685e92a35adf302354fb0c1341754e5376e984037b257d9368b43db3683d8803654d37b368fa67536252e6e36b86c60392622883df8c96e3f388d953625ae813a68f49b3d60f9533f7fcfc3364b4fe73a083d9d3d5b19313f6fdb143694423e3a3a939f3de1300f3f053a1c36ac68563a21e6883d1b2fdd3e69bb0538bcc91a3c38df2a3d72d4993e154a55360f581b397232d53c786f423e9f0045375ff8f3384ebfaa3cedfb5a3d20091e389367f2371c2aba375431ea36c96684360000000000000000000000000000000003bf6a35285a5c35f48c4035e6b52a35081ab536abb123369f5c0636c717e535940de736f77470361eecd3355a568f3532080b37363b1a36614516367b78123673d0cd359761c035451eb03593c5a63520ae34376cb20037f6c016365ddf8a330370413811e80638ea728e375cb054370000000000000000000000000000000000000000000000000000803f000000001d4f8c3a9f40043aa6866b3f142c7835783f4b3cd9c6603cec0f423fb35c98374799cc3a915f7b3c0f3c1e3f206dfd375d26f339c1598a3ccfeaf33efb9cfd37db27de381d476d3ca82caf3efc5b4c36952494380d478c3ca5b8493e92a501385d0f9438ee847a3c5a61703d6eb192380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f597336dab959366dca873642fe6a36070a57365909473657035136744f573600000000000000000000000000000000e6ee5537d040b936aac0cb36b41586372327aa3640daa2369923a3361bcd9a368d9a8536582dff357e430436121bef3500000000000000000000000000000000000000000000803f00000000000000000000000000837c3f00000000000000006c158e3780d1603ffd837a36730891360cee56381b13323f6f458236c78141367ea207370501013f000000000000000048a4a2386f08a33e885f5938a9c5e437e47d7e388174083e4e6ba237b71da13652c8ca37b49abe3c8da73037f9a6f8350000000000000000000000000000000040664136776a35368ef931369f7e45368414b035b814993536ed9035056ab635aa33073655be9035353c0b3651d0173625782a360195e835b62c1836dadc4236dff08a35151161350ba97535c8758d35e0dcfd3567c6b3356967fe35ec83d33560b494361e6f77360bdb8636f5728f367d26a035b15f9e356a5da335389fb0357a460e3657ae1b36d711343628771736bb6820367bf07f3fb707e63a332e40366a3f5135ffbe7f3fc03e5338c80ea8354975413613a65f3fb54622376703413676473c36c66c353f1b4d5836036a2436d0352a355a51073f1c116b351e3d563582d696372b66b33e91e6be37714b0c364cde91362b8e2b3e7481893657ee7d3653ed7e35c499423d2d4f4436661d833559361e3665b2c53647abf5353dcf0136722cbb3572f5c835e580b8350904c73518b73d36e4dd40364c1e503691355d3632011236b549b935e8610f368c301f36eaad36362405263671282536a8013536f36c5e354bc579353c597f35318f743540c5cf3525a52835c8841635b211b63492b0cf35b10ec2356078bc35dc52d2358dbe79352cd8d834a632733382ce3333f5f702352ce41735b4e3f9349ccab5349ef8ae35d09b633ff92ce43d32c1d635951b4036df68673fe0eda43d3e5a6e36d20ac0358b22563fde34873ce26ad637c242303652632e3f4e555339dc6a3536e494623558bc013f8e780e390b4da135581458360d54ac3e3c75923804212635d70cc735d017193e5dedbe3b02e0c435c8f0d9344a3def3c884a253700000000fe20d434b225f73492f5ce3432f7af3451a9c03458af12342329773392fc4534dbf89d35b3b94035c4532e358c828b35b331a3359d0890359a86923543a88b3587d74b35ef412635bc0299340e2ddf34f75c69356f1a56350db93b3557c4b6346ea26c363d185f3686972336b3840036f9ae5037a79069351e5c8435771d03370da46f3656ee6e365e7e6b36e952443698668536b2958636c0ce3536d1f3263619fa6033f641333f2def993e74fa4934271f8b346d0b383f5713893e09f9a734fd887b3595d12b3f47fd423e1454953548eeb234633e0e3fa2b8023e54e4363589e7fa343779dc3e3ec5983d59316035e3257236a803963e131adb3c90114e365d742d386e17153e58803e3c16489336507d4a36931ea13c07152237e0315c36b20c6e3686ef8936692346367ce746366f7c823616de66360db6343631666b364200a13580c89a35a2579d356677ab3501a74136fdd808362c3ec03595020b36bea4333662b8033628120a36baad3a3633dc82352062653524957b35376e92352be449368b292936c12b123626e011363ede3e367f1d3536fc3f3536656f3e36993ea335bc86aa35b3ceb2358aeeb7352ba9793606728036e8157436d1176036b3005636a739003f301d003f6ba63b3638619a35e246063fb54feb3e10928535b4d30e369233fc3e809ebe3ebf9716362c231e36d691d53e8c98863ef7131d363c966c35b527a13ed44a3e3ebbc7543531f1443631fd703ec1e9b13d5e7228364dc23336daa3f13da2ab9e3c5bdc3236b30b9735096d873c2a14ad37daf58f35c0658536cdabee3767556936bb7e6e36b8357036467f613621950d36a37439366ce13936cae13b363feb22360bd53936f02673353dc0c83400000000c1602234bf3c7f36b04a413695870f3600413236c4c73935477041359a81b7342e3c003527c69035121746351fbef73423f0083556bfb535ba89a135c2918d356661a6350ba81136f922dd35435cbd35ac34be3554feaa359bdcb635a02c9834916354348d4e8f369c3f9b3e55a2323fa1602536b5584d368c0dab3e3ca3253fb0453b363cd157370b2a9e3e371e093f00000000e962a0360e928d3e2075cf3ee8ed3636dcbf6335346a673e00ba8a3ec66f3a352ccbe036903e2f3eb7e3163ea748c1344c0913375243e43df20fe63ce4e4ad3505c90d36e848693c6c78bd3575247735cb3ad434f2cac53511ae0c34df4b2434b922b43450f1c1345e748634f5822d34c46f0a34000000000000000000000000a9b3c035c6deb2354453a6352eecaf35d72e9435918bed3400000000eb2d0334ad21853519f96d35c2c108359ef7d034691f44369f0f3c3641a42b367b2d2636a39713387821383708962d364d1d1836ea8880366eee81369a03743644ba54360cd0093648b60a36baacd53578e5c335e20b9034fdaee63da42e633fc1a2bb340000000020520e3ed522553f000000007b2ea1358547fe3de3d3383fc81fa33526d38937a3c6fb3d75d60a3f253e15351f6f3b3572d1e93d6dc6c23e41645335a4ed0f38ce5ed13dbcfe5e3e10042d36065e9138d653ba3d182d6d3da9238a36726a5b3606f2833ca86e0f37fbb77036c850e9357d64d53728f9d735f60eeb35f6312436bf8f013674fad23557081a3660fd983502709635a3958d35d9569835f8c0933660006236c5b532363d425936b1e24436383d07365978e2359bc2233687f18e35207162351ee65f35b46c8635ca0b713699694036efc52436678f303697a65d3696e04236e8823f36e02e59364b3ead355366b3357b1ba9354625c6353a305b365f225236f0e23c3608973e36f83f1b36e9f7553c3c027d3f55a8ca3514a8a035307fcf3ca0776d3f31c95835f3368c364012b03a3902553f96fd51366c2a2336fe24f5397f8f263f82fd0f36744e9d35ed4dac3a2bbdf13e757351350f0b7336a61d6a3a5d63953e18313336c0fe4736f1478b3cc6b7e23d89a66036a0d4a1373d918c3982b4073aaa03a035090f5c367f26f836741c22366d933236000000000000000000000000000000005ab6e5354c81e0355d37a83506aedd35075e953619098f36d6fc8f36267e9836396e3f372015da366f75b636a0e7d13600000000000000000000000000000000e5fd933797107636f2d4633616307636d7ecbf3653dba036b5bf8936dca991361f6502358849083554383a34b515ce340000000000000000000000000000000000000000000000000000803f00000000142582368c41d637a5507a3fbf9ce4355dcfcb3769fa7e38c9695e3f76888b36c6483a38628c92384cd82e3f5d56af37ca1ee63136cd27372afefe3e00000000ffbde037a00a9939bbc19c3eba77c837f888ea364a3dca3759a3fd3dcbfe5d37f0c484356f086137879d743c0000000000000000000000000000000000000000000000000000000000000000000000006cc8ef356247a8356e13eb3567b4de353bb81636caa7f13535cff135c8c1f335b62f0336debff4356ebb0336a8460d3630292b35ccf119358c651f35db241d35e5cc9535d5c98c355c2e8d358a177d35821bb03516d2c6357f74b535dafccd35168a4535440948353ac8513541f95a3500000000000000000000000000000000000000000000803f0000000000000000a00e03395e72753fac5b9236c439f735ad7be03aafe4503f97d71b362aeb113671a96b3b038f273f5f55073645470036a6aa153bc6affe3e049bf9362f2824358341233b4f02ab3ec63da236ee80a03505e5a63c3527223e6b5faa3667a79d35091c193ac1dd433d5df48d37d1003b35000000000000000000000000000000009cd86c35a0dd5435190860356ad9483506bc9736eb686d36365f8336e8ae67361f73b235a9289835d111a73537dab735c34dc3350d96bd35ec46d535ecfcf7350de28f36f7fa72369ab57736660660362c25823532c97135dc57883573278a353c350b36d5d81136139e1536e83a28369a626936b523593696225636e6bd4436f1db2e366cd52a36d2b1263673210d367607523542f77f3f81621f3a24dd733576742638a199783fa4f7d83787b29436d9e5da37f268533f5fd8c435f215ad3510d04238beac2c3f60cdb9368188b335a438a139b5b2043fbc31923748828f36543434386ee9b93e16761c374666893520804a3978494d3ea822d137c22104366f6f9d373f5b8b3d3c157536dc2d673633969737d803c137a2324836e5ec403684235b36d387533668ba4c3616d05c36b02d8c367a8e7b360aee55364c5a4236a9ed2c36b9fbf4356014f4352ffde4353ed40234e9950434eba804344add0f343c7b23360d1ffb359caab235bf46a23556b74736a0ab0936574c0636179c1036ef81b0357befb63584c9b8352348ca35fbab95366d8c2736e7730b36fe450a36985dd836e3f9cc36c04fba36c05bc136c329483692d2613fa8d2f23de2cbb03785d29f36bcbd763f0e3a863c4ed3a7367d6ff23602ca573f5dcd7e38c01e3f362cd38e3766222f3fb005d136933201346adced38427c043f770881384dbc39367af53f38140db93e5344db365b12533682d88138ecbd3e3e8397b63563f6b435744f4638cdd58e3d6c6b2c3865794f375de15637de018e3785af35374e7dc03644bb773791847437a1d82837d6eef036001a8f3673288036b1595336b6843a36e5e701365895c135704c9635a1b8a1357f29e935955fd035c3e4b5359d31ae35a37a45364e6b293630b90c363480d835c839d8358aacaf35803571357c578935888672356a8a9135e6bb5c35705d753527e6da352db3c23563828c35b4811b355724d836bb88d5364988c836264ecc362bcb61378f3d323fb0cd9b3e25b9a0372cb0a536be32443f64755a3e2f489336f866e336b7b93a3f9f3fcc3d9caef6354219bb37aea6213fab7b0c3d9687f835f60664387def003f63fcbb383c6a503670e73938e1c0b23edccd4238f9bdf135d4a27c371189423e9ec6dd362a445b35dfbe84384b36563dceb6ee37d71cba35d6671737c8df3e37c2f4d2362127d33672f0bb36fc6b6e3698b59435951f24359d9dac3644309a36e109863624897c3626ace435e014d335e906cc355383d0358d426f350e6d2d35c07a50356a788935f708bd36bb0cb036c63da236b7149b36d8a38d35700b7d353d35683594ef5e35c6917f3704fceb36456a0d36a6af6236146eb0361d95aa36aa059b3653c78f36b1211336d4b7d0357abdaa35898370350b0b2c3708dc023fed8afa3e9311e63659103e370e36123f82e8c83ee871a836e11f373860630c3f018e903e8cd5a13617368437e7e6fd3eca042e3ed4cc2835af1ae7384380c13e2e4dfb3d80e8c036ae18d637b6439f3e1f8ac13c4f54493662348c38108c2a3e4521503b122dd637bfbede379f55173dbfaead378e5fb43694f94a3709fb74371ef7ff36307200362edad0364957bb36788c9336457ea5363fa2a835ae18633547dbf034a410d9345ae88f35947f0d35dedcf633ba54503425f77d35eba34a35794057344b78fe34d8223f36eb5e1f36eb00be35b032bf3583552036a7d3e935b45fc135b689d235a6720b3619990b36ad31f335d6f8f835cf4a9f36014b91362ec085362604873672850637f7d2fe36be72f6363b3ffd36f9522137d217a73e45b42c3ff1cdbc364f3c1e38d380c03e077b123f120ec435b44997362ff8c13efd73dd3ee6979f35162f19388effb23e58809a3e669c753579949e3879219e3e860a413e551b59369e1959389e117f3ee34ab13d49772d362012bb3898f3283ed871e23ba2cd063648f7b63721c2aa3cf8227937d905a1360394a3379d3dac3709ad3f374311f536f46cc236ecfbb336f7b57b36c630753675cc283625181536f3e58c35f8aa9135272a8d35b1956935243d483579eb4f35cacd2b36fd6018366f3cbe35b980c435cfc434361ca022364241e635c2dac635fa740434ec2dff33f620ed3372b80034951d2d36f09b3d36105b27363a1e263673b0a036dea19a36db978b36d7a77f3615573d36e1a54036d0913936609633360e49883752420b3eb3435d3f46bd9636371e313820d5313e18c7413f6a701f3669ef943735cf483e2a731e3f0bfe8c35a053e43774664c3e8b8ae13ecdfe2136d251ef38e864363efa479c3e8dcf723636504b3885521e3ebdf3253e2c4001349acb8f38ab54e33d25ac413d8ace343660861a38d05ea53c65c4a736ea4a9b360c4a9036190d4b360c123336c456353686810336d37fc535320ca0351eaf8e358f096e36c3de4f36d95a2636ce24283680240d362eaefd35f0c7c73557f5c3358a6f6335d2825335e69b593577ef763543d39b3687b29136c8b37e360caa7a360fa0dd35d203d335fab1b035f3cfa735c998ac35ce64c2351561d635afdaf2356127c33611a5a63628419436375c9236743f6435d78d84357b4d6a35b5ac4a3578d9bb3766ae0f3d7f2f773f8180f835a7942f3711b58e3df7d75c3fe6345e36ce9813396ca95d3d88f93e3feb401336cf4f04387c01783de49f133ff3543735bcda9938f6948b3dfa09d43e8632a636d5e4fd37b12a8e3d3976833e2c70b63690c0a137c6e09b3d74b6ca3d779b8936a52842384f2bed3cccf89e384633a5376dc51f36acf704365a2e6f35ebe1893500000000000000000000000000000000cb53433588f3333533182435916e103511f5933547890d35a54301351d49fd34f54806354974e4344dd8e63493e1f434a8503f35a9a03b358a1f2a3526632e355538113673d1e7359f26b635e109c135a3970a365d760836ba8110361cb11036586c8e37904c5737cf4239365e0216360000000000000000000000000000000000000000000000000000803f000000003b183c38a34e803c32bc6f3fd94e63350abd64371fcf733c15964e3f3cb49135b87cac38ed1bc13c7635243f53b7ff34f01ede38c3e8e23c9c8df23efa9c4035d7b6be366663023d551a9f3ee9340b36d248df371889253db550123ef4467137667c05382b0e363aec8b283dcac4fc3700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011363b353425fa34f46957340304b133c71d8136c3e17436aa6f6436359f5836637ab53518f29f3536d68b3569ee8635d1accf35bb94c4350e3ab13552f8ab35883e5f3629085a360b4f5436990e51361e838f35222d8c35b1ca8235266d823500000000000000000000000000000000000000000000803f000000000000000023f29d3c19b7633f00000000000000003f2fb13c82ac3e3f693932377b6f7a354e14e73c490f1b3f7bbc91369a21893648ede33c3af1ed3e4c97dd35a5bfc0355c902a3df42b9b3ef937f735c9f5e735f8f20e3d9aaa2c3ea3a91338a6306d36f6cc9c3c4a24383d1bfe7d3832d39035000000000000000000000000000000002e3b0d3620869e358376963509b89435f8019d341e428a34b28c7034d0ab4b3436e97e3666bc6336fe2f4c36577e30368b607d36ea955436279f2d3623db0e369da53f35265f1d35ad7fcb345875c5346995c936e1f6b736f1b5a8368db49936bdc69d36614096360df78e36ff2285367bb0e035e013e7355e1edd35d12fc935c39a173679061c36407e1d36a0431736962eda3686bc7f3fb381bc3a59123b3709996b3babb3713fa33b07355b39a3346acbb43c9b05463f4b329e36675b87360ddcaa3c304a1f3f8f9bae369c7792362f800c3d8ecff03e0db88d35b5d1563527d0063d0129a53e80c8f2369e87cd36e8a6023d3fc4443ece70f2364361ac365521a03c7e0a8d3dcbae41379d48e335fff11138f2f5bc37fd781a3614d0143641db6c377d563636a485ce35493ece3582cfd0332384d3330535cd333520c1334b176836463953362f5a4a366a5628363145b736109aa136480c993685b38c36f721073517bf61345383ac331645aa323eed8c364c248336d857823666f868368c9e883628bd84361016853698687f362d025e35ed9d3f35714a3135ada4e034b9942e352e21343596453b35733d303588332337175f583fd90b1f3ec1ba0e383fd08f391f4d6e3f9d60ad3c1065da33da73be3c2706473ff9f74f370b3d7d364a64e43c12aa233fbea823389b2ac8367d540a3dcba5f43e41b7903540c034354fea043dcb19aa3ea19f1d37bb6d9536024cd73cba853e3e56092937aef58c3658779e3c06ee6c3d958d873645f58235a3e7ff3766a2d1379b7483365d952f356857a037c8e1c235c47a4c3597034e3500000000000000000000000000000000395b7236d0425a364ad04236c7d12c36186390362c9988368c6e7b3678296b368740a534b9def533b109bf32b9847f322562443666883d36f33b3136fdf72336204280363f7877365f9e6d36d34561366f598835192a7b355565633588b73235ce1ca5350af29835bd419535674c8735613f1e38432d2f3f22cda13e0f2c2f38869a1739da14463f6b0c3c3e00000000c0f00b3d48c02f3f75ce9d3d13749d373cda183d7825143f1620133daf279b367178333d5c78e73e9222163bf651f734f4050f3d557ba73e6ff71838789f62369eeaf23c232b413e98f6d53628c688365f1e453c06aa783d9357a636b31f8935e4555b371e9f3037ae1b9a36528ba13506b6863672361f3632b4e4351e7fd135330e75357e1f5b3576be4935b73d3f353d214e36c0392236d57df235f5daaa35f9649a3630bf8936f9086d36972045362d753635e794323529e53135d04a2f35f40ba73697739936ec158c360a05773657259a36b3a09836bc3b943602948a36cd1bbc359df3c035a301c435ba2ebd35ee2817368ae0153668b51536cc1d0b3615bd023739d1053f08a3f43e822fb736bef5203c7883133fcc53b23ed7467e35bed6e53c309e063fb4cc773eeee15e3600372d3db5eaee3e8650113ecc40ae36739c033ddb68b33e7872f13d25c13435ad9c2b3d7d6b923e0436b63ceaefac36058ff93cd7b0323e5d898138a909a736f644353c81ee613d9a9cc13564ffbe35c6aeef36f302ac3686d22636708d173600a48236c63a8a35baef7635ef535d35c892ee34a7bba333d99b9a33ea4b8b3303b559360807433660b42a36c21d053633a83536380a2536f7ba1336b39dfd3555938f32e624ae32474bc1321ae7b732f6368f3627718736bb20833618816836c2d8f237bba794366d828c36325e813600000000b3ef712f77260e303a05fd2f61122c3515fb25350aac1e3515e50c3583a48237b67fb83e89d0233febb8db367fc0b13c9f50cc3ecad3013fbfe01a353f8e013d8fa8c33e3ed0bc3e58e06e36f0aa153d14ccb23e2b7d813eed0c47364fe63f3d3965953eb25c283e6c838234ed731c3dfc5c6e3e6bbb9f3df9b799365086333d8a3e1b3ebe7fe43b08f458389748633ad3c52c3dc7d9c237bf2c8d2f9c061a385b47653755263835d2012a35b6d40035c28fec340b1ebb343cbaa23420b2e933ad4c0b326a33f231d83bd0316ac26d363655563665b5343682b5203611d08b3680b78336f87c6736ce62543649b92535790adf34d1012c340000000078fad5362f46c736cf9ab5365d5bab36c6b696363fa590369408863683cb7a3690dffa3364bdfe33c9f001347b01fe335bb19435c4078935c8967235f07a5535b5a9c2388239493e51bb4d3f370e08355cd7233d6be9653eb0a7283fcb129034f91fff3c4579733e97f4043ffcd78036ce390c3d26886d3e5c8bbd3eab7f9b3689d0f33c5037483ec151873edade4835ac2ceb3cb880293e8d2c0e3e4ffdb837f5eae33c2598e03d3163803d156fa5362efe283c60db1a3d09de64373d3e04348bb0fc36496eb335a7aba435654a94354dd07f35c3205635e29c0d354be7e53437b1713513fd2635d987bc344c26aa3472986536f1b72c3658b0de354ef289354e84c3364db1ac369b479236605a75366bb13835818b0a35f591b0348ecda6341d5891364f4a7836fec84e365c012c36adb4a436da459e3644c09636489d8c3686705835140b5f35db556235b2e255355242893504ba80353245773563af6535c6f5f5391195573deb93723f1f60913579c0443d07dd5a3d87864f3f59868b35cd00193d78c5ce3d7d78233f13a479364b5cd93c8149003e69a1fc3e7eedd736d519a23c136cf63d808bb63ecb0165358774903bd18eed3d7c93733e6fba963625cea13a1982b73d7f5aea3d0eb5b6361a6fdc3800ac563d91c32538f706663564847036317e993564e28b35d6a7823500000000000000000000000000000000f9aea034a76d0234c1d6ee33f179d0339ade4236eda93236f6b31c36809e05363d83bb352cb4a53517d391359d836435e2bc98359881743521df4d35b8ff04357949833643507736a09a6a3636b45936bcdb9f35a4669d350d4d9e3510c49535000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f00000000534cf33c45d80c3d24645f3f3fffe236cad3ff3c6c6af23c12743c3f4837db36eedbe53cbb98433de095143f6d6ad635a6d8573bb42f503df09de83e23ceb9353f0cd93af2d3713d73c59c3efa2987365f600a3a2128893dd6ca2a3eb1a116389990c63885c82e3d3c07493d00000000000000000000000000000000000000000000000000000000000000000000000030350235cf16b8340348aa34ac180135518796348e579634b9a7913490d4a2345c1f35331574e132b903d532d0c091336f3095340c765334be3446347e4cfc345a522f3547cd29353de71b3552a13b35c7905935fc50543518621c3542232b353e3882332aed03332e6dd733f9a1f43200000000000000000000000000000000000000000000803f0000000000000000195f2d3518c3793f92a61735c1eb0d3510f9aa3451035d3faee18734c9de453458ce7f390cdb333fd27d3b3426e70634be733135fb5c033f0a61a7347abb9a340d024c36ae93a33e2b700135c629df34b4fd253ac6011f3e99e5ac395ba392353b16213570b4333d70450f34607af93300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013bc2c348feddb33b9320f33e0cf19340000000000000000000000000000000000000000000000000000000000000000e0e35a340a8c0a34a8ee8631fdc43b34000000000000000000000000000000000000000010776234000000002ac80435fc93fb3222e705335bde1633afec01330000000017657a3f95cdfa3c000000000000000058eb783f8ac7bc3900000000cc067734a42a5b3f21c4b4373e641d3400000000bfb1323f000000000000000000000000aa28083f78b22b354a021433c04606363f51b73e66582239a4d8a031000000009c49393e3574793ad2ea8b36f30dfa34f38b7b3da9ce9e3567d41f35bbfbef328a0db137d46f0e377e51013364284c35470f5935a75f4635103850355661c3333e55db3359180e34934c58332e2a8535cd306a355e1f96355ffbae35b677f935cfd1ed35a2e8ff351c9c0e363b0deb34c9e5fe344f0608357bd2c534760fe03350e8ae33a6e3ce3342e82a3423997f35a1e28335c1648f3545fb8f3520280d35c02e1a35b5382d353d50f334dcb5dd337b6bbe33909ce43318c60d349e7b153578725e3f2cdf0f3ed8577b354006e133b836653fefd5b83dddef9b345e50aa35a614583ff353b23b8c6aba3554970836a82f303f2c3e923aa3530e3654050c351545043ff798b93a18d5f0346431293475eaae3e8b459a3b45745334ee11b235d66a203eef59fe3c3f99863561031f35c2850d3d34c3d23af8f50e35f91d0d34904eea37b2febe37ef26fc3397994334e91496340c7091346b5437340229a634bf9e8e34178c8634ee44993492139c35ed809135292c9c35a1ac953545af8734093a8b3431790d345bf185332956cc344963c23456c8bc34eea4c83479b3e9352d51e235f815f3354ae9e9350fc0b3350cfd993575465e355f4f9d356b32b7356df2893573c78b35a7e9a535e181b835920ec8356cc3a135e894a43572473f3313ef323f1bbc9f3e8ddf8f36d6b6d33487fe373ff02c8f3e4d30b634843697353b1e313f11b0233e06de9135b24a32358d88193f27d4aa3d2d368534d416093572fbf13e55d42c3db981073783d0f7352f1da03e287ab63cfe59ce35de81f8352738173ee608c43ce09c7535d3860d3660ccde3c66803e3af1c0c135a63ad735fa45e3356b42b935c834b2350bc739359b17923400000000000000002e62aa35acb7a235285b2b34f2331f35000000000000000000000000000000000000000000000000000000000000000066f216331dc8403400000000513d513400000000000000000000000000000000000000000000000000000000000000008d924f3520fb7b35265e01356462a53577875235afcc1235000000002983a13437c04c340737fc3ebe43043f00000000d1c7d7358b4c083fe8cce93e037bab3500000000b7b3023fa375b03e0000000000000000f0c7ea3ed590633e0000000047264a3548a7bb3eb7cf113ee142763500000000fda28e3ef857613d0000000000000000d25c0d3e8b3f983c000000007ee7c43501a6b33c0671c836ff34d93598864e35ed3f8338088196358e6d19343260b5353044d9359c52803539158835cc48b635d3d98e35f0db0f3579802a35bafda0353bd65335c2ae79356d558435a400c7357dbfb6357538c635f42dd235ed68ea34f6160135efea013538a2c034eaef6434d4af4134ee749e34281da8349964763565bb703548af8d351c1b95353582d534b0d4e434fbd5f934f099bf343b119034ee266734b57e8d34812aa23441099435a8c2943efc7b383f94b88a3595d6d235cc04af3ead7a233ffca386350ad8b1356e6aa33e23a5063fbba79335da8ae135b6a7983e6b9bc23e4d07c93527351f37d1e9883ef9856c3e36c4ed342f8b3435c104653e6fc0e03d3f32cd346d60b835e5bc0c3ee9e8bd3c99298435c042ed3480b9223cba17673776aa1d35de7fd63440fd1238dae50435417ad934b0de9d33ba176333232acc328bf523335eb3dd343850ae347ea0a034cf9fd034f5258f35f28a7735a63a5d35f61340357423a33315f184339f266d33dfd39f3364a0cb340bc0b8347952ae3470afc634f5a00736d104fe35a16bfa357cc4fd3568a2eb356b6db935626f813549b3bd353ff0ef332862f3329f61df32e4d2f633be2283352f457a351c377b35a48193354359b633123af83d9c14633f94146e3336090b353121173e23e0523f5f59ef343888ae35649d043e25d2313f5dd85e3508773f344571113ecc96063f1003b0339ec20335c49a0d3e3055b83e6456df3420ca1136d4df0c3e39b93b3e2a29e23562690a364b78f43da944383d9d69a83578507c36c5bdb13c93c844384a9fcf33984767358f997335bf955735dbfe2a35b765fd32439edf32c69bbb32ca1dc732aeab2a351612073500000000000000000000000000000000000000000000000081955a3120d49531714bd43155942c320000000000000000000000000000000000000000000000000000000000000000a6a30934125a613200000000d3d51034000000000000000000000000000000000000000000000000000000000000000097d8323363d1f63cf0507a3f5679d43273eb9e35edd6543d28d8643f65700835ab64ce367b34873cb9eb4f3f00000000c2bb4037ee20c63c8a28213f914b0132ea3277333b25e13c5b1be83e0ba8b13400000000f16c123d8acb8e3e000000001a8a00370285433dee73de3df4d3ca3300000000bd7ceb3c9cbea83b000000000000000000000000000000000000000000000000000000000000000000000000957a44344fe81b33446eee322566c532d15284356e0f1335b2dd1c34907a883495e616350fb615351bd1073598d3113579bac934e1febf345203d4348e9cd0340ec13435ab4390343ef59033a69327332a09af34f684a3341c19a33493b8a63439592035dfe326359bf33f357af513350000000000000000000000000000000000000000000000000000803f00000000e04a2a35be595d3591c3763f7b352f352c3b1e394007e139e3b35a3f6100bc352bb4de3492814b373281303f46ba18357c183a35895a7835b519ff3e0fb17635aa7086354e07d43a13f19e3e20344935b186803406ff0a3af6f7133e49eea33458ea2b35c9f702375ef6043de35433350000000000000000000000000000000000000000000000000000000000000000f43f6d3300000000a4bb0634f5529834c8df1134ab6734332d05e9333cf5553437490d35864f273572e42035944516353abda335a668a535119fb4353155b835d7aa8b338f40da32403aa3332afc2934a958ab344c7dcf34dd9bbf346270b134c2befd3414a60635c4d8db34f8e51f3500000000000000000000000000000000000000000000803f0000000000000000f5d3aa3ac475733f1e53833559577d355452343b3a3e4b3f89368434037221342ed6d03bdf8f273f26f30635dbe611358a1c573d9632ee3e0992e0367a9e0a36911f863d1d3d9c3e6aa4b03298d15b335c8d3d3d9a46223ebd529f34eb3aa434ca65da3afb0d6b3dc4ed3535c1014e3500000000000000000000000000000000b727e93577d1bd359338bc3519369f3586158234daaa9633ba29b333c6170b347a5b2134df57493460b7f933f257ad332531ba34df03953415649e344b30b2342eed2b35b2f11435b6b4353537f466359436a1331e455634f867163442786433dd05e6345ff4b534b416c03464c5d4340090ee3368bd1834e4da02344c4d2d34052362327e87963201c28332d276883222a5d735e461803fa1c23d3b11810036a337613751bb743fc5db9b350b1546351adb46389ed54f3f1ec2d434af9e8e344131ca39e5c3273f8e67e5344154e73458fe303b4097003fe52299355e458b35e03e643c0a55b13ef17ab134a3885934b79bcd3c79e14d3eeb5cff34d3aaf834751e1738422d973de25f36347ba20a34457aa8377c64cb37cafc3c36795687326c6b3333e82c2b33b35e1a33b8a61d3383097335851c2d35c002b734d4e9db34241a063545f0b4345613a93421a7b934abbffa344af4cd34bf1bd934fb11d5345df02636e98d04360c510736c7b70f36598285352b167235fa957535367c60356a5a1d3520840d35a2e723357d1615356e1a2d3609b90f366f9b2636d2d23036698ee5349ecde634950fe33474b5c83418e036335135643f51baea3d1a9a4f332fc7903514ac793fe165093a83977735751c2236afef573ff38d1435759e13359e0fa037b7f82a3f34f4f434c814fb34430a1e38a9b9013fb7274936994c25366c4e9a3900feb43eda7a7635b2b89335d5e40a38e95e473eb5ee10355f351a3570deaa37f480a43d978b3836b999253637a9b43426793f36d1542334274ea334165078343f9a703404b01634a18d3834f40c3b367b7c1636e1580836363f0b3678ee0b3519c9e734f42edd344a0ce534e76e3d3544ca503552c449357cec4c3503681c36813f07365dc31036469a21364758b3341149a53461b3983486c3a73469070a35c55c1a3556d1183586e6ee3411ccf3346a5b05354d85bf349d3bc33444883b33e23c713341171f33c4942f335fdc7d349849343f15029b3e68c80a34066a733685d2543f217a203e7ae762362027233590ce513f3725f23934a12035c9c21437e2a72d3fc8af433595d050357cd30a38c536033f59d36836db3b41360619a7375251b23e39e8bb34028fbf34bca326391c3c423eaf391c35c7091c35c3ec7237ab28693d4eaf1a35f2d501356785463349d90c37a6233933cb9a2833d939d735cf33b935e2c6a3352e888b350aac723521a04d3568782c35b0e02835f777d034d697d6347941a4345b9c8b34d9204d348fb5ca3311f9fc33d85fa533eb9d46359ce83535b6cd20355f421c357f8f4f341fed963465537d347fd11e34409dc03415208a34ea6d90343dfd853492d63e356cc7473522d82f353bd6263559eabe35d01ebb353c1fe4350067e635486c7e36f13f033fe86afc3ec32ddc3582ed8635111b233fab69aa3ed123793597030c3534d6293fb1d12d3e3a7cff344605ed350548223ff0199d3c22a18c34658aa237ffd7003fd3f8ce37a1e187356b8b8237cea0b53ee8458335e4bba834abcd19350062323e4da4f234d358d034b7b3bb35fe0c0f3d009741358cd33f3594ff7c37145bf037a3e52a36ad1bbd35ade850333dd740331eb32c33da6f2c337dfe4235c6031a35baa1b8342bdfb934bdca1835d5c7de3460c3c4346d70c934af50d034bdb8b634801dbc347f6ab7348fc8503671b127366457213688352036127271351387623554b175352af0693596800d358d9a0735e9e319352dbe0a35b5895736e03b3f36d04660364b716a3668ce103519e60735437a0235dfd6d4342f0a5533a56ea13ed79c303fcc0e6433b74c0137e048dd3e5b9b043fa60b353521562d354406f73e23cdac3ef19f31356630ce346d72f53ed78a383e7415da348a60c2375af6e23eb231593d7e515436d66240377944a93eb25bbd3937d985358930b6375bd33e3eefee9e356b8b1035903e5337485b8b3cd36c6236490a5036d3579e34e2bac634985f4f3443a9d134da38913416096034b075f333869740342d60ff35c872c7358295903516a39035f84e17354d990035436fe3340e85db3436bc4835b26e50358022453512e74b35c67a0c36f413f23539dae335662cfb35a278e7341d51ce34f37dba34df83b634b323043541b70e35d3c8083519b1cc34c6274835d4304f355c142d352e434635ef901b33feb84c3313661a33d52f463386319e3656d70f3e15985d3ff40a1634419cb2377f18663e5c37333fbe561b36d198c7361d05923e5ff5063f9991293596ba1b36d1c5a63ef5d5a93e0f375b35d72ed037ff9f9b3eb3594a3e63432a364426ee36c570903e43f6733db49afe34be66ac370d4b283ebcec3b3a79781335b79bef364629f03cc4a15a35735a323508d02a33ae091433f7fc1733c9b40f33c6ca8b32486d8f323a49933264519a327fa9b7346df01d34cf051334f9591a349f9a033549ccf234c4c9c334a819a034a527ce33ab4d913229b7803248aa8a32cd788f357b625035c84fdc3443dbcd34a869c134f805bc34a3b6b134aae470346dd54334f9346d33b5309933556ba033cd983b355a0a3b355ff2d834cea60135bf5fda35466ad4354ed4fc3592a20736ba64ee37b208763db0b6713fe10ba932a686e33793a2023e88a24d3f1fad0435b62b4d37e838e13d39fb2b3f1eab2b357c6ba53843c1303eeb1ef33e0a4533345f9d1c38d8fa483e4d4d9d3edb2cb03573490b378845413eaea0263e76740a35bd869c372c0f003e7e678f3d768b5a34317945372c9e413d524e483770905735daba03364d6708362defbc354692de350000000000000000000000000000000036d05335a53116356e356d34ed686e347b9fd534df04ba341e9797346a99873434a257348b426a34a7500e34d5610034de530e365538ec35318ca435a04c873509de36356a243235d5683235578b24351fab1235d5dbdd3415bee6341ca7c934e1efa235983aaf35518f9b3520d886350000000000000000000000000000000000000000000000000000803f0000000018bf85382b8a2c3d1c3b673f38903d3555e71139f3e6343def32423f4107e9343f80ff3719d6363d0673183f98850c341dd4ee38b021a63d2a95d23e4cb815363e5a6935a823c83d90ea803e0a024835f72b793689a3c43db99de83d9702c0346441ee3735021a3d6674883cb8e72f370000000000000000000000000000000000000000000000000000000000000000e84480345e8e4f349a033234297d2d34052c2d33000000000000000000000000a801d732000000000000000000000000220b0c3551120a359455083578330935ec2d03349a6fa133d5424e33058183337da1b433cbc67233719a5f33a58b0f3330ec4635dc184c35f91252357081533500000000000000000000000000000000000000000000803f000000000000000027e24c3da1ea5c3f1de290341c1675343c6e833dfa2f303f6e59d833609db733155e3e3e7ccae43e5f31053567372e332e3d523e12a08b3e727905353da0023538d64b3e6636023e0e98f4330ae505341e07d23d5bdd9e3df55974377b0bbd33cb6e4a3dab0ce8383639ab3666c83935000000000000000000000000000000002797c134d1fc5c343b6a85347d62fd33b5a3a3335ea44c338ed33a330a882833490d5d340036143442144d3488566b340000000000000000000000000000000028ec4d342f9b2a3434641c343b9f1e349c5906353510c734ed0da2348c09973400000000000000000000000000000000d7b954346ed65834510d5e34dfa85e34bc9fb6348004b934fb95b43465e8bb34bebc0c35f5577e3f66ee263ccc30fa36d883dc3cb353693ffb17dd3685b8a43320584e3dc425393f0153a93483157734b6f51f3e837df03e000000000000000090ed543e17d8903e4259683489496234e1f5583eb29bfd3db04ccc35580d04352dded93d9ab59d3d9a0a98370000000078637e3d8739f63853e13137310a4534bd5b5a38138ac337d5726c35463db934f34f6735cb8d3035dc010c35e992f234e17a243557a0093582deef345705c0345b24ec34214ad434fcfbab3438229434084e9935b6639635fef3823510cf8735f901333572e1273573971d35d17d0935053bb2355110a635f3ed933521e79a35c93c1235cdbc0e3541bae3344f14ca34d463bc347909a9341020c23464d5b43421063a35a2481c359ceb1b3514b03735fde08335f60a653fdc40df3dab5e9c38b5fa7639f8c77c3f7ef8bb38b9413635694bc83c3209453f4a65c736b37cf4348f02d53dd800053f883292360d43a535132a283e6ceba83e14a13435cf0f3635d944373ee361203ed483c2352437b2351c15c33d3a37a83da6b39637f5df2b359e54583dd957143c1a298d3702f4b63498ceb73866c824383dd16b35314f2e356c215937650f4a3663552d36b93901362abe1f35d30bee34bca1c134de1c6534d7fc0e356ced043515a59934b7bd3c3494a77d3508bb603516952435f16504359df72835e5bb1a354ab01d356461f734687a9335d8cb823533a25435a91f5535ced3da3465c8913476f66f34afda4b34de9f2c350ac33235dfd25d35fcaa4f351d54bd342c1dc6343126d8349d4d0c3500217d35c5f9323f2a599c3e09122038c3cb9338f16a6f3f8ede4f3db70b1d356e2dae3952e64d3f1b0bca38348d173529877c3d3495123fb4dc00385f888f3599910a3ed5f9b13ec9941c3554c20d354ffa2a3ecc12373e8ecf173808388c350fdcca3d1c21923def4db637eba3e6348df13c3d94e66439a32a52381ea51435f3abc8389e044c387252cb34a88de734ff56ec348eb3b034adc46a349c6e06331fe55e34b3625b344e9f30348d6519346013c3320000000000000000000000004f40ea340056af3480948534d73136346e094e34e566343491e02d34e84822345208eb34bdd6bd349de58134248f2934eae4c73300000000000000000000000002b07c3491c97634be407b3415b37034bfc530348865253326f7ec3229fbdf33fc79bd36d3b7073f9594f23eb4783136a591de38ebdd393fd17e7a3eaafc62341255f23cdc74413f6149153d285a3f366e09053d1e2e213fb04f4e38a81a38354e76d93d8d81cb3e94dc4d37a6095d343f48053e37a75a3eab50f037d012e3342997d13d4947a53d3913e23789455334756e063d0bafe238a80b1137131e7334c7b57a36cadb37359902ff33a9851334634404351072fc346d98d5346dd4c034bdbc1235166d023527b7eb34ec1bb5343062aa340e998c34aaa47234de957134f3b4af35ed25ac3561be9535d7c29335c6ec1a35dc8e0035823bcc347d4895348ee25b354d174e3515eb2b359c462c35dacdae34106ab034093d023412ff71335d5703350900e834ee88e3349831cf343b611e352ce8f8343374ea3436461a35ee90d438b3efb43ef88a263fcd9315353e56033de604003fc739da3e00ed2b357b30173d6da2183f7dcb4e3ef8159935f2f30a3de145173f28dc143d5521c735859a7f3d569fec3e8f0e743848972435c41db13d4071923e2cfa8538ab4366354224ad3d17f8ed3d5c18d238009df63468ba8d3ca059973826180335dd620035ea54a2350ea03a354cfe14355e7d0c3564eac1351ec44b35c8a63335bf541d35307be3347efa8d34d1e455345a483c3490041f35e9bf0d3532dabf34710b8834d70ac6358ba2b4352ee89a358ee18b3594123b35419c2535a8791e35ae760a35723e8d35b3d688350d706135071e3a35ba371d3517b8d234aad4a13422e793348cea3b3598b0323572c04835d31035350e2c12355b950535e7690e3528ef2935eb76093c86bb1b3e75b0573fc6ea16364a43853dd330873e2a2d1d3fd5deee34379e623da764ca3ea7f0c13eb43f2335384f233d5c79ec3ea6bb2d3ea628d7358e372b3d6b6acb3e9d0b983d6bb42a3566cc6d3dde54a63e0a1406391091853580773d3ddbd4283e0f7be438fe9c3837dd97553c233f073b4712743818672f35984e6d35714f6235b55a1f35d5f32735fc2fbb3593ecb534d4ae913444498534668e2934460e2c34808b0b34bebce03300000000000000000000000000000000fac0fd34b8f7cb34453255348274da33268b0e3421c5f93382e2e5336cdec233000000000000000000000000000000004c91de345f5aa0344cee4f34625b21341b9cbb33f32244330b0b4e33aadc31330000000000000000000000000000000072ccc338a3fc9e3df9166d3ff1094a3695219b3d7e35f63deb463f3f706c423419bc923d9190693e8ce4053f0000000054724a3d2143ac3eab10923e207f4a3527e3d53c6e64b03ef60a163eae472334555cc13c53ba9d3e0f2e493d00000000bbed953c1e3f353e311c173dc4ed373531e82f3c7a255f3d27c9cb38f1f0b9333ae88134bac9e1330000000000000000000000000000000000000000000000000b402835bc0a2235488b08354a3be63415618c3379275733682c553340d73833eb61b533d69b9533a9fa7e335f2980335f54ef34d4c3df348ad7c134c2d4a7344c42b03300000000000000000000000000000000000000000000000000000000a41054340c3c1f3497611e34bd441d340000000000000000000000000000000000000000000000000000803f00000000c0c63b3d75dc993d41bd553f33a93e358fad923d3c07b33d87992a3f02eb9633a93f493dfaac513eac34db3e42f277343b42f13c12f36d3e5352893e36820735e156623c70de5c3e5586143e649c43370aab5d3cb0531e3efa93af3d20029837dd52973a8b18ba3d92e02b389609663400000000000000000000000000000000000000000000000000000000000000001476c436c6cc6136ef529e360c8bd1366a1969374a9d01361745163783fe8837b2bf4337dcfe0f377f0d2737d70488373b75923775a938372bc55d3787f3ca375f8c4e379657df36a0032b371d575f373730c737d2474837768aa537b982dd37d083c43715968b37cc78b03784c0ce3700000000000000000000000000000000000000000000803f000000000000000073319a3719f17f3f86f37637ccc8f2363e5917383fab563f0af00238f9aac637de9533382aa32b3fa317f2370b61b03766f92f39908c003fada8413878a606386f7dc337c60faa3ed45389374a2773373e46143821c52c3ec179f8371b7ce3378f90e13788312b3816efc137b6f7be370000000000000000000000000000000056f8623745ac633640e1d236f21c84374d0a3c3708d6c736d9f9163755304437c91fd231d6b1d031d3accc314f7eca31f77c6b3535c0433513cc6f35ae256735794d5d3735375636fa1a1d37df8b6937dcdf8b37544b5936e5890437d842c537cbfe3737feb57934fa52a3369e4464372c8eab3787a84137e5b57d37d966a83794e99e377e558937b46e8f375ee1a3371e41423757f57f3f9df14038a2e7b637ab724d379e867e3f0bc2e23a3189763770a06337ae0b553f53b21f3af90b0c3723242f37281d2c3f3fcbc337196a7a36018843387e89003f732390388179bc37f9502d38aee3ab3e48e863388209e737c857993775f3303eb988c93792ed5c373f5ba337ce116a3c98d5e337524f9137288068376b96cb37f382973744da8637ed809237a47def36839f0b37dfa87a3726af2c373e2aa5363124aa36f2130337e2f5343711e2dc355233f835864918375cc04f37c219de3525f02636b8a93f37a953c03740ff603629300837ac4dbc37329d0537daf2853658a6883674a801376d9bd13732f22a375dc768375a00d4372a66b937754d5a37cdbf6337eaa3ac3746921c3855e9eb3787f6ef37387d0e38d280fc36104b563fe47c263e4e877d37c43905374727563f7f25273ea8f64c37d43f4c37b73e313ff844183eeb3c423795aeff37c710143f4673d33d69069137e93cfb37ede2d93e1248943d7a70e03777bc0b37118a963e5845b13c02a3023792c6e1377576243e87ec2f384727c837011b8d378dad263c27fee53741756d374049d8378cd04f384c3a153815ddc837ef66da37fc168037588b5037f5eb8d374e35f7364533cb36867cca362a8fd2367e8c6a36935bc435fe4cc535ac52e535ec22b83778f229376517373791619e37c0b4fb37ad961037b3031337f682cc37b3663137b5aca936e3f4ca3639f52637bacb5f375c7e05372d770f3787d35b371c6a393873839c375e9f93377a6c2138767f2838ffa10338180b0b3899b42d38ca3f523782e02d3f912ba43e7659803732aad036bd052c3fc2d2a73eb6a2ce36c5da00379b1e133f50398c3ec70802360876b7379c52f03edce2583e4baf9f37b8f209387c45b13e29691c3ef52eee37bffb25374bb0703e3f63b03d733c1c3798553e3710ad013e4f45c93cd2b63437a3e5e8377ab2143c9e8980380d8ca43737750638a14d6738ee412e38c200e037a13b1838d6e6003835b2c3378c4cf437e182da37ea9b213763c72936b61e753704fd1138fb49833738ee0337c2b9d3377a05f937ef240137d85b86358b1dae3779da3638663ba83792b89d3761fff537e1ca9c393060a83701938137af08ff378e10c838ee6c163820ef0e382e7d3c380b5b2f3863910f38c1040938bdaa29389e542f38013a2338937b1f38a4e12c389f7be837bbb1003f2b69fe3e0e28de370945bf37ef4f013ffa9ffc3e344e7c37737d1b386ae7da3eb394d23ec12af637a0bd09386b71b23e0e1fa83e75ffcd374c364638d760833e871b793e721c0c385a543e390b832f3ef9951a3e80350638854b3a38c684b63d3fa6923d58322e38008b18384536523af650b2393d500d389b7d19388fba4638c2423538c5420e3865e91238fbd8bd37223d46377a5c92376fa75937cac7303757c90337633a38376fd30337b56ae935e663c335cae52d36f1c0103727798336e3468036efa39b36ee53023854355b37b89ef5367600a63798a3de3716559437cf035e37335db7378e3bfc3735c6e936607dfd35bcb17f37c802a5371e525a3742153c3711d5a437855d0e38321feb379bccda37a6120a38d0b6b6372d3dab3e08502a3f155a8037583b513718e0ac3e4532273f98a22a37edff0937a9e1953e9d530e3fb1771836f2a21c372bd46f3e7e9ce33e7202ab362b8e10387daa303e6d1fa83ed2aad237de3eda37fa2cda3dc041593e19cdb03778e0bb377b89353dc625db3d90d04b3706bb62374ad2af38fb7c4a38aceb3b37c441de3776a737386edf2038eb2b9e3777c6f13735c78f37ece7a3368def2b37a4e3453771ac12370491d83613ad0b37835189377cef9d361f458336ecbe9f3660afaf36642c82369d8274366e9183366feee33732583c37b84158360d9f57370b370d386bbc11372a9d223651584f3782624539141c733763e00e37bb908c374940ec37d463c33747179f3715d3db378aa4c037c2c3a437df48a037d17dc4373c74bb37d6082c3e87eb543f28762237e5f34a37625c323e00c7503f49ab0437d6bdb8374bfe283ede932c3fe7c0f8368c4afe364dc8003ec4f60e3f5b3b82364ff10238634aba3d5665d23e914eb3370cac21388a00303d5bf48c3e969f96377a3a27396b69e73b63fa1a3e18a87137417fcc3750db31383c85523865caa137ecfba037aad73938fcfc11387443683754567c372843b93698a68c35fe4cd5359bd0de363dd88f35814f593586b884350e5fac369ac90f3489388e3286898c3296edc0379cc97936881309368145663696bba937a5ab27372ea46e350d4c1b37feacd0363a32843536c55f35d0de6535e0fc7337f751333605a2d43115968036a03ed2375cd08f37a63b7a37af5ba93703c0b737f8509d373f4b85375169ac370d6a9d373e7c8c3842f07f3fee08d73574818637f1716e3c3c94783f8a698135e90f7837ed55843ccf984f3f5b40b4326ec90c380c5f303ccb3d273f90bea23764e515380386f13b4101fb3ed43299375dd528377c09dc371bb9a73ec1f0773663f88d3716d22039d8ef2a3e01894d37d7c7c13781a91a38c07d7d3b75629537877aac37bcf8e6371b06d9379619443700000000000000000000000000000000a58b6137b8ac0c37aa61e2368b2a0237c8edb0378e2b193739ba3636b9e775366d305e37999512371ffa0b363efdf436d8711338a1256d37ffb3393799ee50370446cf3795bb8737e39b213717da4937be79f4375da3bd37918f6f372321b437e13987375c5851379b73fb366eb45b370000000000000000000000000000000000000000000000000000803f000000001452b537b08fdd37baef7f3f5c336e371df8eb37ac301438d1bc543f9658d137799c883727dfa63785ec2a3fd5ae7b375cc230383d61c33816abfe3e4ece4c3862c5d93718441338cd93a83e5efce73714b0f637921b1638690d253e9ab00338f2bc65372f7ba737ab8b1e3854b58d3700000000000000000000000000000000000000000000000000000000000000002cd1453765db9636b93c99366f499836525b11372526a436722cc9361fe1ee361597b73790e3d336144e0d37ba9b8937552bbb3736a1113788434937ed08a23727211738188ac937a1dce3375fc50838980d8c3749f4f93663822a378a8681375d06ac378ecf5e37ad8d75371b0daf3700000000000000000000000000000000000000000000803f000000000000000082e4933aaab2713f22582a38c9c8f63754fbd439a0ee4a3fe29c31385ca8ec37414f323aa6be253fcac8453859522338cadee239449e003f4d785538fe2521385be5493a0ae1b53ebcee9f38d3ce4838d350ac3870ab573ecee32f38ee1ff43786367038631f7b3d14ac003801f0ed370000000000000000000000000000000030994f3758a9fc367f73f9367da20037e5db9d3674bb2936e6bc2c36cff62c36670657372770e236b9dcf0363a8b0f37246d0b37e2d53c36446c403622e84036686097379bafb0360cf7b136348a2e375457d73706778b37864ba537ccddc237a43aa83790406937f8128b37cffca43793099e37dff259372d76703794a29a37dfc0e137e8e3c037245dd237344cf437c29c90381d1e703fc3e77c3dca80cf3732064739c32c613f409b7c3d065ec537b0761b3a0e413f3f2d105e3de118ca3783bc2c3cbdc31b3f34ce103d7343ac37dff4393c7757ef3e62caae3cb9e217389481113a39cead3e53cdf938bde209383884e438a0a44d3efdebe9379790d037f7ac3e3822db7f3d3357da37d878bd379a3c143803c52a3815a6f337d9f6ee37e75909384914da3773029637526da2373c0d3b376921a43670255b36cd45a436e4ea7636b377113550bf1735543516357a36823716895c3673833236fed1e93686a1ad37345bbe360f7abe369c211b3762272c379b457035f58b9f3506d492367b9f96372b764e374caf663734228a3764ad94379cc8373724fc42379daa8b378428d237a71db0373464b837a9d2d437aa183f38dfd74a3fb738543e2ab621385c25223822ab403fc36c4b3ef9259a37cb7de338c064203f6ec92a3eb5742037d5abed392f26063f4cd3013e4970c93782d4823a0344cd3e3ce9c33d0fbaa038f5d9263cffbf933e0483453dd673b137e3993b385fb7393e29d0a63ce8abd4372c531638741b723d68a007389ae5ae37293e0338f41c1838bb7ae537d91bd0378669ab3740058837465f3f375a6b463708cdac3616f5aa36b3d3a93694adaa36a14ea737690e3936a136c83505f9c635f41917376e861d35d12920354e2e2435691eb836f6d79d36603c9e365aef9d36481ecd377fd227370351ef3611485e3778bd2336ba2dd035e54dd935c979073635c3f63772c5a037b2ea9c3795bdea37dd1c3b38bf1bef370b9f0b3889d7c638e4ccd437b074253f1ee9b43ef761ad37f6262738b2161e3f96b0a93ed247ad3634c98439df4f063f92be8d3e5c4e10388deb15385439dd3eda3b613e2ae1b93775be143af9c4a93ecb212a3e14f7a137cfa4113a7889743e7126dc3d699c4e38c6e80f38cfbf123edc2c5d3d501b0d37b2373b383ce7503d1e835238282d0938fa5f1e39c4d1e239227a4a38e4bff2378e05cf37924f9c37a514833788588737f049a0370abce036242b1a3628121a36409b8437c98e0237eb1b3f3668b0b236f997a03770d42b37d2bea536eba21337e4b9f13761428f371ca426374dde803781d0c637045a8f3754aa6b372cdb9537c4a5c53794b2a437889198376a65b0377e932838fb6608383b4dfd3788ab1438e82a2d389f6a07389d8806389bc82338a17e2938488e003fd8a1fe3ee9630638d4f037385bb8f53ef4a3ee3ebdf6f4375c953d388817d03eb4eac73e4744af3795e7093883e0ab3e9516a23ec86dd3376b43f338237f833eb6c3783e84ae1f389c7c0a3894f23b3ec3e5273e010be33737e76f38f0afe03d41a5be3dee9cd237306254380b07123dbabb933cd0c32a387fbb43380e441e3952a1423860981538db589c37e40a77376ad6c73642cfce364cd3a336a4e20f3612460d365de80b36a3cf0335cc8f0235a3240235b7ef0135c86c973712f03936685393356b369435b17bd836ba729c36fb759c3691e49b36ab5284372ede89364248293570b1793532d90f380dfed037c1418e37b379be37a6114d37196eb5368dd7b2363870c536ee5dc3379130bb37ecd1b637455ac83718a22e386a9bb63e2b72243f6679b4371fbf0e38f012b13ee8511a3fd0ea64373630ac3727ac963e631c023fe284e33598f0ac3953c3763eb2cdd23e98b417382d2baf39a4ce3d3e7dc5a13e48a6ad3709dc0c380a81023ed28e613eacbaca37b9668e39ffec903db220023e0e2f2e389e676739a83e6d3c922f143df7f8563752a4df37b9c91238257ce537576ab5370bdca13703445e3783a1ca363c4cca36c1bb6936b2b36836dd846136580a6136c3610837aa44c636f5e38c3656229b36f7007e36a74f36352c26313570653235f8f2c237c26b263725eda936eaa4b33610adab37570668378e8fc33633ae1f37f49220378795ec364d50ac36f569da36f043e23711eeb4372abd8f37dc59ac37c0a11b387e4b0e38fc7b0438aade12386b9ff4378ebd593e4d79493fe66dde37f96bbe378598543e93ab3b3f3f644e37dd520538b1a63d3ea2e91c3f841ca537ccf21b38ed27173e1459013fa4189d37a5ab373ae60fe93dd278c63e655b30396158c338e8a9963de8cb8c3e40a5d7375e65e437976e1e3d32d12b3e5954a6376cf91138bc8e5938e48d463d96f5f23716ac353814484638986b3c38972018389a0bbd37446b6537fdaebf36c464b6361ff62f3637922a36083e17362f4d1836dc704b3773695e36b5e8473612d748362dfebb37b6e76737f26682368e878236c93fc737a78c2937efcfae36ba87ae365cad8337ac71213711803d36bef471365a72d63768d9af37279467377f6d9037e503f937c5bec53737787b37b2dba1377b219037e0ce7a370d936137bd1c7b375d8c113853f88a3da78d6e3ff8c70e381febd9377ddd9a3d0a985c3f83179c37796be73705c7923dfa283a3f2795c237ac7a263871c37c3d5914193f52950a3880cb18396d25303dcfc0e93ef0322f380b1c2438657ea23c3db6a63ea7d1ef3724180b389017fd39da364a3e6ca7fb37f3292038f2739438eccf6e3d07be1138ef0713380d363538a59d2f38a0fa9237000000000000000000000000000000003ca32a37ae491e365512c9358f91cb355c75803722ff2436a3aad0356461cf35ae361f3865c4dc37a0f82d3777234c37b31b00388752a937852701376a3104370d5b12386154d837e5293e375de06437981bf53740539d372fff20378af42b3794ff1838fc850238c8b8c137c2dcd0370000000000000000000000000000000000000000000000000000803f00000000125d0c38675b6538be37703fee2a0b38281567383289a63860fa493f8e0966384884a039e65f2b3aa17c243fbd34813959606f384db49c38aa57fe3ef68e7138bfa64d388d8e943905e3b33e28fc463890923b38f0d25e38859a533e6e8f3838ddad31381de4ef3838bd5e3df24b33380000000000000000000000000000000000000000000000000000000000000000cc2a8038b118b83700f5b03715bbaf3779282538370e03383b85fe374ca6f83710509f39f36c3b39eb38f1386428dd38d4152139b4774538b210423891204138bd4d8c3957233639c2881939a58813391ac2b637a6c7b037ee20b0378e75b0378006963942717439a3576939875b6d3900000000000000000000000000000000000000000000803f0000000000000000499c263a66ef643f48dcdd3987809f398ebe803a114e413fc809343a4ef7c939c28e4b3aab71203f6a2a263ac97f0c3abc34803a47d3fe3e7bdc2e3a5932093a01bc2f3a2443bd3ebd90043acb03e53947b9813a9f30783ed2ba093a6b789c39adccf5392050e63d3175ce3955ffc53900000000000000000000000000000000d6b07639ec05483897852338793b23384cd48039c5bca2388926cf375063cd375b33e237cd33ba3749969d3727a59337430a143a77aed23901f1a439da06a0396f0c3e384258c2379787ba37160bba37d5fb3f3a73241e3ac609103a1d200f3a6085f1398aa2bf394923b53920e0bc3961c80e3a8a0ffe390b8ff639cc0a003aec538039f9713239b78c003911090a39fa8ca03ad412613f51b6ec3d449f103a3627b33a8787483fd25ae13d01c80c3a0494a43c62b8293f384db03d5bac6539dfb5dd3a4d8a0d3f17c2903d310d5d3aa3207f3a6452e13ef8ec683daae2003a7f19f73aa093a63ebf8a183d0fae7a3a0bc63f3a558e613e90ae303a7635203ac54f5c3ad104d03d9fb62c3a9e42253a1927ee39b01bfd39eb52a5394bc89639c3801239c858bb38df501d3852ec183853103839303f0e38693baf370390a637719a8c39ba96ef3851277e3786177237864a0438866cde371b63be37c7abbe3743a38639204f2539a94bca389d26b93885309a3978663739d850c6389d21c03808b7f539d7aec939994fb1393927b6391a1be1394787c739743ebd39ca75ca390136e8393936d6392b43c639c324ce399940193aaff9403fe04e793e7b6983390580713aafaf2b3f2e2b5f3e9010e5398e0f933adced113f947a3e3e56af0c3adc65d63ace3ef33e2c511c3e1546ab393734613a6af9c03ec7eff53d211edc39c4a8923abd34903e604db23dfc45013aafb97d3afe0e3c3eef9d5c3d3eb11c3acc740d3ac0f0bf3d83370b3acaf1ff397fc3183a6a1a233a9fd7ff390bffea396b7e943955ac2939dcae4138cc1f3038ae151f38a99302384bb8f337af5fed37b248f0399e26a0391afe2439200a0c393caefa39be06b139d60a613947ce4e3900183e3954df8f38f23406388d21053847fd8a396e241c398b877d38ebea7138341b0f3aa9f1ed39df20d13926f7da399c572b3a42c91d3ae45c0a3a0fe10d3ad2cdc439ba71b539c39fac396aabb239aec15e3a2212203f105dbd3e36441b3a84f3433a559e0e3f0c71a93e06ea123aee59903ab7c7f33ea925903e1db63d3aff80aa3a54dcca3ec9426c3ed4cb413a7f4e183aa6eea03e43433c3e9dedb4398fc42d3a00e16e3e1c1c083ea13cee394862523a785d1a3e8d42ab3da91e303ad410403a770b913def0d143d31472b3a56d8ec39eb11f9392aa6d9397cccc739f5e436395fde1039f05560381c030a38f58ba438f02cca37f0d1a637e9449837bfe3b039a92d63397591b7380d844538580cfe39bc73b339acd44e39af2c3739192ecd382e343438fdac2238c23e20389902143a24f7eb394d26b03955b2aa391d9fec39cc66c5393f7fa839d954aa3914b5ea393fa1b039f3283d39522a3139d72a1e39ccc901390620d638a687d038aa5a4f3a29f9fe3e4219ff3e584d073a9e8c683a7b1ee43e86dee23e388e0c3a0dd43d3ad236c33efd49c03e2cb9133ae66a723ac6f5a03e16fe9e3e8faf403afb75023afb88803ecff97d3ec47e8039f7276b3a49ce3e3eebf13a3ee986433a6b8d343aa907fa3d566eee3d9c5b163a80c34a3ae5c9633dcc45543da25d123a186b043af60b193ab044ae39d7573b399483b43973539f39ab4563397fe8233965f1993923151a3931c78d37029d5c37cb91b139b02a3d39c1759637fd35803779413539eebb453878c22e38f9ff253882e635394e8d9538a92309383142083883d60c3a6f44de392b3f9f39066993393713223a33b6073a9619e5398977e03939814b39c25c113997dab6385b38b338a9f29d39ce1758390484ea38abdcd4384472013a71cbbd3e56ce1f3f1868ec395c864b3a535faa3efe020e3f4cd4113a541c553ac160923ea2e5f23e1d83253ac936323adc88733e9b25c93e4628e839cd150e3af0b0403e975f9f3e34cebe39e591863adbf60c3efa336a3e31f13f3aeb13693ad8c6b43dee0e173e2059483af520b2392e04263de2498d3d958c843903281e3a28bc293a2d880c3addd0b6393b2584397dccfa3851412d38863d8d37af0f4d388d9030387e26213807ac1838717d8a399a85023911f9ba375c85a7378ce57239cd2ab9383750a537558f9037423e91395e9040399513b138737075386ce80e3940fbf537fc0acb37d206c23779ace739c0dcb939f2038c39c84584396cf7d439ffebb4399db19439e9b99139e80450395e4143393e4a0c393ea50139152c2a3a7114793e6c50403f3b66183ae1f40c3a8dba693ef5882c3fbfa4c3391b1d783ab6d0413ea774113f6c80173ae6e8823a46d91f3edc23f13e7e230b3a14a0713a04eafe3d73c8bf3ed0cb1e3ac9c6ac3a839eba3d77d08d3eec0c103aaa82373af9ba6d3d848a393e96db1b3a4499163a5b94c33cad24ab3d5c97f73942708f391577903940088a39296d5039101817394b9f1e38f32a10386ed30138916281391d8bb43876f55f37940a38370652303989b3ce37b94e8b374aab62372bed203aa24cf139f04585394deb4b397eabb8383566c73728b9ba37c4efb637e73d293afac10b3a3d3bc5399437b3391f100939dbdb1838138acb37eb58c3371ae4033a6431e7394bd9b9398973b739eb3cc1394700a039d2a860394ea75439b3ed133a2635f03d1b12613fae00113a00f9743a5e1de33d4d10483f8bd5203a14863b3a244ed13d8b282c3f3fe7103a5357d53af65e9f3d79d90c3f3b87803a4aba4a3ab5587e3d0130e03ea43c143a0332b73a8652343d3bdda53eac897a3a2c7e5c3ad00fb53ce10d543e6a6fa83972ac373ad457443a8c5ace3dfbed1f3aa3d0123a921b123addc30c3ace09cb39000000000000000000000000000000008ebf373958d581384e99cb37c9f2c1371133a837f0d99e37d8799037b97a89376ecf8039ce201b3909380f3826700d385cbf4939712442383ac03838d0bc3638e902d739c3a0aa396c6f5a392dd1383979d76939daf02539a6c18d38ebab4938b39fac397e2b99391bbe7739ca8c6b390000000000000000000000000000000000000000000000000000803f000000000c7f103acd6d433a4320623fd0bff439c700863a21ec983ac8b7403fcf4b273a08f8263a982f423acb2b203f2da2053aa451613a450a753a858afe3e9374263a3ed5313af744373a0f21bc3e1fbd1d3a8ac13d3af430453a3af9753e63720e3ab174e939643df239d0abd03ddf84d3390000000000000000000000000000000000000000000000000000000000000000b26a4b34f4604a342f534b3475de4f34653566352b85613588168535b0408a350eef2135d686de34b6fd0b3509641f35209051364620453636014e367651553679d6bb3550f4b735cbe0cb35e2c9c5359af5e037d62347379e9fa03765eaea373bdb5e37c0b70936d30f1a36002ffe3600000000000000000000000000000000000000000000803f0000000000000000769b5734b6dd7f3f219652349c155334e6e9143687785f3f3fdccf35c2cd8d351316013807ef2f3fc004cd3772cf1d37076ef037ae96003f5c11a83715436536780059370ce1a13e0c221237c23dd63540d56f38ef6d053e0e1a7438297d153831b61e381815d33ad3a52f3851dc893700000000000000000000000000000000c39cfe333d06f033f4e806343b285b36ad565c36d026453686ff6936de267036bb23853606fe4e3605a38236865d9636fca03936de2c2936ea1538360b9a3b36472fbf360860b636a6bac2362d17c436717b59370b3bde35f2d6ef3526b4ae37ecdc0238418958379d3db337b1d9013814719d37434c383773275537c77c7d37c8221937395ea836b1cec836b97ad0363977f133daf27f3f75d08d384bc9aa37a5897436ccd77f3f81cc7e38483c873672aba6374d43603f21b8a73890fe8d37795ef9369698313f75f74438f89db236cf20f9369cd6023f0f2efd371b85cc36985889383593a73ecef1cd38ac5d5a3847cf7f38b0c5193ead10d63810225d38a9778d37da8e883c04348238569bb337fe1f373498e6dd37bac1d63781043137a0a3ef36d2d46236cbd728375d164437b043aa34c551ab34b635b434a195b2342847853624cf3d367dc7513695acb93619fe7b35df2d6f35af0b80354f4488359d38e2343ea8dd34d15de23414e8e234c1a1f636c7f79f36777dc836e9850237719a043741d5d5365720ef361c0b02376c14a0357e25a135a9079f35ffe89f352cb9c337059ab4377673b937c5bebd37d8ec8d35fa2f633fe65ee63dd4b9a2377c37a2344ecb663fa583c93d764ca834f80b05375579443f6ae2b73dda601f37050ba035e9d4213f79f9673d4d34ab35014bcc34fe04ec3e0c542e3d29123e36541a22378c269c3e9995823c8d7d5c37c09d0837eed9113edf9a273c78b2d637963d9935e23c933a1762b03858bc9d35a59a70373d891038a38416387849ab37d1dc9e37d7168f3747908d37eebc86379af2af358176af35e3d5b135ec5ab1350f081c3733dcc9360c02e63623af153742240536b97ef6356556fc35145c0136e7ae08356815043510f20235ced505359226c63616bb6636b1e48536d8c9b4363d85bc37ac3e3237c0274537534997371037313704609035e9354535b1ec6b355835d137e62ec237a58acc372d57c637258c173747f7313f40079c3e42bc9c37ee7fb235b779343f21eb963e4895ad3585795337a82b1f3febf47e3e68df4d373d3296364eb8fd3eb728403ec8ae883663ac00350024bc3e0069093e9d9ef934a1421c37b00f763e087ca03d37dc2d374177cd3732daeb3d6aaeba3cf6380038debecb34e385423aa25237393a7ad0343d108437d5172038e0c21738ddb79c3784b103354ec6e034ad8dcb34802cbe3411b0b336e6dba33640499e36d2a1a63657cc8c36f4a2883687678336aded8736b7f345365e8f4436477a3e3650d6433624e73237bddcdc36c3abdb36a3c4e43659ada63766d3503673cb4a36e87a38372f9433383a4601386fef0038049c22381aadb637f8d3923747c0813748619037950b1137f1f702370e7bcd36664b03375a4713357181003f4ff7fe3e8ca9c634e812bf36fa1d033feb47f93e05d7b436834de33744c5e53e2cc0d33e407d103763440538afa8b93e35a5a43eac523b370a59cd373ead873e94b3703e41224c37088b3238ea49333e1728103eb6b600389d86553883efa73df0d3633d1cbb33382db19e37eb5a303a844d7b39db3c1d37626c1736d1c61e386b280638b63b1835503b6f37337931373bd39f350509a4352248c534da6fcb349dbec63494abc334eafcdd36d7c177367a4b6636a841773673e5733601c51b36ec001b36fd901b36870305357731053530590535bb8a06351ae7d636f36519361aaa0a36b0cf1136d0be8b3792b381374ba57937d75383378e35eb367565b9356938b735894c4b36f1d8d73703e1d137187cd4374ba4dc37620f6f37642e9f3ef35a303f78db9b3525a6c7341b32a43ef1b22d3fcabdb934234c7337ecb3903e4b4f143fec28ad36c7f71937cd39693ec254e83eb36b5a36bfe0fb3430e52d3ea455a83ef7edfd345bd3d937bcc9e13dba79533e62a4b6367d75cc375c23373d516aad3d9e29813711b31237b2056839801b5d38a909b53577e5cc37c941173879050338271c9437c1239537eadf503778f5c736a15db3365b249b35caaf9a3541749735b835983503fc7a363ac20e360c37eb35f703fe354a0ebc3613eb1736a4fad335a4ea0c366a98d7344e0fd334ee14c934465ed134c8c62136584fab35868d8e3521e29335d8b643378fa12b37d24b1337297f2b373060b63490d3b93474deaf34fc8ab634c697923702a37f373e037537443f8b374edcbc37735bf03d32e5613f982fcc367a949b35c642013e98625f3fb3e39135caa00e37bfdff53d2d403a3f9aab1b3695055c3771e2bf3de0d9153fbc11903636819337be20973dca8fd83e36efbd34f9d1a937f9e2233df8e28a3efda1a2352242de379c0db13ce936f83debd0343770498135b67efb384b5fd83866cea434c7c7aa37cde90b389fffb637efdbc736de9c293697be3434fb023b34d4f34234783dda36b68dbc36dfa591363e32a036686ab93613eba6368e4b8d36fc9c973671118437667bc83565bbae35baadbe35f6cfbf36ea64bd36817eb23691f4b9364ddeb636c834483676b93a36be3f41364e4b26383c4bde375d7b0b37fb70a53782340237591295362b339136303f9b364fa353373383213748e19d36b421f2364d7ab637dedeb93968eb7f3f96a3333429ff8737a9e6943acd697b3fae1ac63643065d38b424d738ee82593f578ab4365fca8938fa2be9380a1f2c3fcc6fc83752e351378cb572387951fa3e2438c43674e1d23735b3ae39b3b99c3ef30d3437e1cb83388011fa388170fd3d044b6338025e8c37cc239a388d9be83943dacf362679a53727f611385386db373b3f013400000000000000000000000000000000b4cac6356cd2ab3513996f353fbd9f35a987cb3679f623368bcb0f361e511f3649e7b435330aa3355ebf8135cd6599358a5549368e563d3679c93036621640366b73763729777d358e9b1f3514f63a356e4c00366ec39a35fb538c350c078f35c4cc6134b40665348a316434b86663340000000000000000000000000000000000000000000000000000803f00000000a9d73d372991273897937f3ffef1c43542131238bc935938539c5e3f0b1a9c37e173cc3501566d3716132f3f1c7cb33538bd5c37e20bf93765d0fe3e2b736b370dbce537bdc13a386a07a03ec34b0638e99c06369b57c8370c11023eac26813702165b3494364e37f341173aa0d6cb35000000000000000000000000000000000000000000000000000000000000000030f12933dae52c332ff030333964313358bb2336afee133657552036f3ca1f3621dd1436d07e05367c9a053606210436d10c3a3454a4793222b982330aa64d33285d3a366f682636ff6630362b543336c73a5437469db1368c14b6366fdfcd3655396a361dc96336fb9f6d3600a4763600000000000000000000000000000000000000000000803f000000000000000078e5ac37be44773f3f97cd35b4742e333d204f38ecd4533fc619a2373e33243783baa638b9e92a3fe9603a384f76fe362d5fbc38cfeb003f323ca137906d2235e664e738c2b3b23e3b01563861dc4937b6959138b965393eb39a6b38bcc71d388c519338a872293d65ef8338151f0e380000000000000000000000000000000040400636537abc35b088bc356c2abc3585eb8b350ffa6435be6f7d35e4127835021994343d0895342caa8a3441996834e7ec0234cdce073497e6e3339978d33369016636594b5336e6665b36843a573600000000000000000000000000000000a83c853617d21d36c89a2936e69d3936b3410537a05cca368c99cc36771cd5368aaf84369cdfe133206be4331b86dc3389525a37b9f67f3f085a96382ddd6337d8a06e37da037b3f2f2e3b387bab4c36b5a0e4366c4e543f88d4cf362b65a534b67d1538544a2e3f5225f937b8c39034c2f59d385dc8043faa7f9938bb812d385c172e376964ba3e0cf42437963c313657954738f229533e3ac19b38f79c07372def6338e66c783d7cb0843956b621380c46a037aafd3138c10bf637a1285c37a2f70d34280611341c3a0c348a830c3426d1bd35240ea435797e9f3512af9a35de529c34c0e19b343f519934248e91340b7315357e7a13359c2d1435df991435f72313371ac2a835d37eaa35d634bc3513b3e834e049ee34ecd8ec34176be334690fe236ebde9b365b0e9536d98bac367e080b37b192f236e47eec36dfeaf63664312b371b463336662a0234d0fd00349dc76b3606e45d3f0b61083ef36bd137ba340136fd3d613f75bebe3d18a3eb35ab4b94376c1d3b3fc661a83d3c0e5a36a4d09837a86c1e3fc620383dbcefc836f90990385136ed3ed65b243dac654c38a00c14387230ab3e0288463c4f939e366c7d0538e4323f3e07b2303c94e724375a2919381d0f593dd1e7f239c8dc0038469ef2378042703830d13c38e26bab37d87a0934915f0a34ade4093468130834221f5731c0ed5b31e1e8583173025331b7203835264f393536443b35dd7e39358e23ba34a313bc346e97ba3430fdbb34b197283329d131330764d73203b9a43247a81335bbf516355da118353dd31935257fc03625196f36aeac4736294b6d36a1a7fa371b94ae379d465c370a5e833709531836fdb4803455677d342aa08134b68e2037f4f22f3f8002a03e626a1f37b4b8b1341152333ffc6c8d3e4ccb5b319e650c37acec1a3f0b745a3e5dece035ece41c3824e6fe3e572d2b3e6b2df8349ca92d388e43c33e91daf93d5c2a63370e04063760408a3ed3e29e3d14ef1535b330ba37cbf8223e3c4a0b3dceee103745d87738dd8b203d407e783afc1e4338b452083790d9b0370d398237f178253685cc33358deb37356f993735b0163635494c01350162bf34ee02a8345eb7a434cabb3a35e1889e3414e6873498e871340581af320891af324e5ab0326159ae3278eefc35e9e8bb35e437b935cc9bb335d9be17359361c4322927c33213aec1329d7d9b36e21d583654cf1b36084d3b36e5e66437c4562a377f462137beb8283728bbec366c49713621ea3435b09211365b4e87371921023f16affb3e5c577d36fa357b3751d6033f87afe73e5b232d36c3c58e377265e33e66b3bc3e4729d7356397af3701edbd3ee82c933e169940350caea43857cb8e3eee72623e47824338c713d837cb55513e3d990c3e76dcd13555b32838029aee3dbf4f913de9805137f4372b38d643fb3cc041ec3a6c6d05387302ae372a7e4138bd89fe37df5d1b37e07747347a0b4934955341346c393f346ace0e36dc7a06361b1fec3560e8ed353a857c34100c7834a3e6653470816234b219fb34f081f634982bf5349bcff534de84c53222a3d93264a3a93100000000d34120354cab08353d55e4341cd1d534f4aba03606301336ecd28e353b79bb35ea338835f2ec3a3524652c35f21f3d3578211134078112347f981234304a11344036a036f1a9a73e9e232c3fabae5434d2580a38e32bab3ef620203fd1981a36a9091637fcc7953e2bad033ff86a3435a6818a369e497b3e367dd03e92f3043573f32e38c249443e301c9c3e4c790d37e7544c3867880b3e15894b3e2fd0bc36df46e8374e579e3d6a82d53de8651f377d65c037dcbcb53c1536a53a85d3cc369ef1b73779034838631e013876660f341a49f333db90f4333f28f43330fcf033fdffc1345cd9c0342148ab34d43f9f346f130e356e220d35b6e40a353c060935ff42c634f57ec63460b2be34f782bf3437cb1037a75b8f35a2de443596244e3590820536e52022356ee62135b6882235c58f80365eba1536bb868435851795350eea12370c5c7b366c7a053603c514364c4c32340ab83b345c203a34be183b34280c283870641a3eab57593f5aecf633685fe137a6e7193ec9d74b3f621eb934f1b8b037cc941a3e2cd4263f31a50936857f1138e707003e6850073ffa9b46357a9e9638c8e9d33d4036c93e14502838b6a1e6375a3a933d695e873e63cdf43641b92138fb861a3d07e5183ef9da0b37edf80b381be18c3ca32d203cc1d89437ca75ae37878f2438bb8f5d376c052c348c60b1335322b4339530b03380a1ac33b1fd3535ec8f1c35beed02356955f734f5006434e1614d341ae70d340fbcf43300000000000000000000000000000000ff38253776b25a366fea4d3678e54e3649562f34dc0a0934bf4fcd3353fc973368de85364dbf163634ebd73464d6cf340a9f3837d2d92d3716ed143775111e37147ca136387783366c5b5836fd9d7836de131f38ade5a33a38a77f3f4e7bb6335c42533844ffc13a7c04703f6f7f7035e7c217382ab6213ac3114b3feae61d3663402537f1e7e83aa75e223f1d90443547af9e383c2a0e3ccee4f13e14654838511329382d6f7b3a2bf3a23ee6417a3650b44937c9e50f3cdfd9253e689b0037ae3644384f146e3a8f13983c9e0324380f1b6537a073dc3758414d377d8fc236000000000000000000000000000000009d70e6353b02c635e7659835ba36a035830d21361cd0f93589a4a235fa4d9d3508332436d45b1036e7fafa3505bdfa35b4e6b334594c54341e769e3354d426346efcb43622bc48368fe43f364c3e3e36b98dbd37c0e98a375aca4837385f493797a3873773e55a377565ba36dd2fd6360000000000000000000000000000000000000000000000000000803f0000000017d325382efc8738e25e753fbaea0936f9b24e38b3598538b48e513f47b49a373804893894f08739dd8f263f924bef370e1a0438cb610939611cfe3e01a54e3749908e38d438ba385015aa3e5eb06c3842583338fcaa1a3a51ff2f3ed6e5493861a4c537bb1773387c4b0b3d5c9a0138000000000000000000000000000000000000000000000000000000000000000064e49336085b70368929523675033a364921aa342ecf24348aef2434bc9326344b378435638c82354b188235684e81358f1a783681b06a36e5c566362577613667615a347eb54134b4ea3e34b7683d344e995337cc3eae36e0cd8a36ade3843656ff9b37251a70371e4f5a37f01c6a3700000000000000000000000000000000000000000000803f00000000000000008163ec3859b26b3fb7858e38912ad4374b41563a55c2473f425b6b383ea525378276623a6ed1233fe742e137087845377a79993a85bb003f7ac09238e907053859ae883caa4db13e9b92d13906217338d23e743ce932593e50833f3809180b3855b7023b50c5963d716ecc3a74d5143a000000000000000000000000000000002b248235d41a65350f326a3536315c35e83097362f168936f6e984363a33793620332335d3fc02354f510035e0c5ce34000000000000000000000000000000000d76bf37a46e5a36c17a55369ca74c36ec689b35b9449335a56b943557a08c3500000000000000000000000000000000b96a74371ebd383720c92e37a2e13c375613d4378c59af3757919237fdb89137c1e2ee378021763fe5e41d3dcbe27237ad2c0f3aed45683fffaa303c23e34d3744c3003b0a27443fb934093cd54d813527a5103b4cf9203fd1711a3ccc4df0361cc86f3c356df63efb51173cb695ae384d9f9b3c1ed1ae3e3da7063c59929f37daf2803c1c824f3eb86b873ca211553657c8303c736c923d1c03903c3b56383a43932c38eb2f40384ef81f38bc440b3865fa6d37b73cb736e6491636680b1436878a8e357a128f35c5ca8e35f5678c3586e3c434d634b4348a73a33423bd9334b800cc3539bac735b314c3354ebec035cb52d43676e5f835a2bfea35d5dee23555547534c37b7e3481e78434c1517e3482ab53361a690e369298d1353921bc359cbda93724886a379a71153702c91b3741682337062ffb362916b336cf28bc3699cc5838dd8c4f3fbb8d413e26d23038b7e4aa386412463fcc831a3eff7ebc3591b3d038a7e2233ff7960c3ecd750235fcaf453af74c0b3f02c2d03d3bb02e36a021c23a5544d53e5ac8ac3d09872838373d2b3cc5259c3e8d3b4f3d951dfc36e5d5113a72134b3e4a07063d5cb8ce3756172c3a0579863d5bcbc43ce9599b3863a92e3833838c3836c4cf3732097937525a4a375222c9362f9f683651cb60368fe89a364dea8e367da08636d0de7a365938fa3444f1e33479dcd934b6cfc534471db73535d1b0354773ac35dd04aa3506b14636baa7373637b72d361a8e2436a464cb355e81ca3561b7cb35cff4c935aec6ec359c1aee35d4c2ee3599f9ee35c793e937f69a723737b9ac3656f3ab36eb8f593746a9303775c40337699af03631413038bd97283ffea7ae3ea91b093829cb3d381945213f508c953ea4ceb3361dc0f138c8b9093fe578763ee0beec3623ca8b3acd20e43ec3a5473e4637e7371f80393aab1eb23ed4a41c3ec0092438c2a7373ab963833e892cda3d6fea2338b2b48e39933a263ee3fc833d5e90be37850cff39783b733dcfc0d83c1086ed38ce031c3812653a385bfa103806d0bf3794a0e835ea4fc335aaf8a335f4107b3527346d36875b593657814a36952b38365fb37a35e75c3c35072f05353cc3b9348c43213560c20035b01bbf34356696340b92bf371b1e9a3681f92e36fbcb28367efb3e35fadf29350b102435e0ef183515f6f1355298eb35ff33e0355c08db35cb468d376fc07d37c5a96537ab116b37ee693937a81d07373b33b036c15f983681b25838dde4013fbb25fc3eeacbdb3780da9838b320f83eb0a8dd3efa7d923690f28838ba3cd43ec341b93e5c80d53578ff093989b7b13e5905953ec465913513489c3a3983883ee5b26d3e591f89388fb089396aaf4d3ea98f243e353307374a35f038d7c2fe3d56f8ca3d6ff8d2377ea40a3aa1f94b3dddd5023d7907e338123d2c38e2d35338568d0e386ecd9d37072213352be0113538d00f356e8c0c3528b74936514c2a36bb9904369034da359482cd3569cbc935cafec43569bbbf35a7e0b43597c6b0353831ab35a91da935459f413619523636eac9283602ef21369aa2c035e435c135c5d8be355598bb35d7968736fac5283576bd1f35656c1b356f5cd73635ceda366ca0da36f4cadb36c6809837267b6837a31c2f370d951f371c9337383dfbb53e85f1243fb945ac373a4298381aaaad3ed908133fa21f9336805888381c6d963e1f4cf53ec70fdf35b97a073a46557e3e7e4dc63ec9fbb037c3cf113a38b0493ece199a3e83173c3809f2803a1595133eb46b5a3ed7dc3e38f8509f399713b73deeb9063ea1b91e381c9112397255153dcf52293da473cc371e5b2238f1462a38a57b15385232e23763595635977d3235d5a30f35ac56ed3455705d3652bf443626472a368e661536a00ae034fc28ca346b81bc344172ac34bfc71f34b7c31a34634d0d349b92ff33460f033684e5bc350df0a03539358c357641e035ebe5dd35c9d3dd357380dc35913111350e52103511440d359be60e3502283837a9a0d03622f5f935a5fcf635532a2f37084289366f7d273661392b369ae981380fb7503e61c44b3f1c90cc36974e96384696473e33f0363f93e396360b744139ae413a3efb1b163fed280e36bcd3ef38c4121d3ecf0bf63edab64034353c973a0326fc3d0728bf3e9f2e20381dc0203ac142b53d2135873e8435b637f739b93821805d3db95b2c3e52931f351bebb4390a08f33c6d7d393d857f1b38c095293860482e38ab221138fc2dc13784d9c2354d54ad35030f9535ded185353bc93636688a1e3674f0ff35f74cd53500000000000000000000000000000000808b8135cbdd64351e553a352d992135a4cb933763d054369fa9453601263b3600000000000000000000000000000000923a4735fbcd3c359d771f357a861535fceb4337ae59cf3632d4ce3690ffce36e3365135701f46355f693a35d7472f35551a3838431a663d868d713f63a09637cbf45c3a3392643d12bf573ffccd8136b65e2d3aa430773d4c48343f000000009851433ad810783daff1113fa4d2fe363866bd3a42f7583da96fe13ec7c4a938a06c7b3a77c2233d1933a33e40b544376a8e7b3a1655ea3c1895463e734aa73764abd039b827c23c12796a3de2cd51381a532137df8c07375e9987363ab96e35000000000000000000000000000000005e6d9836fff98f36e65b8336497a7b3692a7ce3518abbc35ce90a735564ea235b2263834ae6f3534276e36349956353469d37936dd637536b5736a36e50b65369e819135ec91923544f993352f9d93357cc393378aeb15371dd1ad36893a8e36490380384285513849811a38645a05380000000000000000000000000000000000000000000000000000803f00000000a24ab539cbdd3d39e3fa6b3fa72bb4368e49d639f9a29d393aab453ff333a83766a3c83a85a75b3cea291f3fce1b8b380d26923a83b7a53a2cb4fc3ed3cf6d381101303ae4fc753c7dd5af3edbbef73751f7453a801e953cf9b44c3e7191b7383bcc36399175433cfe0a773d1dc6d83b0000000000000000000000000000000000000000000000000000000000000000fc4934361f973136a0ad36363a6f3d3694c2db36463fab363ad0c53638eef436ca24cb366d35aa36ee88d336cdbfec36318660369ccd4336620a4c3615005036e0cc8a36147c743643966f3630708936d9531a379b2bbe366b74b836b95f1c37830a903655ec703672776f3648a2733600000000000000000000000000000000000000000000803f0000000000000000569034368c1d7c3ff9f52e362df1233652f21337bcd4603fb5f3f7364453e73653cd2b38a5a7313fbd0a0d38af06a237e44f9937f4ac003faa8905372ddd3136a2e7023850a0a13e1a6399373b2bc93666f90138321b093e0b04de37cc3a9437635294361dc4cd3cd0d06936fc3f5e36000000000000000000000000000000009d80673510ba58355ed768355efa6535af67f435e3cbba359e2c32363215573685103136a09a8b3538f205363c084d367fa4e834734e00352ca503353e9b023550c0a4365a279436e921ad36468db736395b7736fa9425360fdb4d36cf356f36e5b91a36f11f0936dacd1f3637dc0a3678d8be36e2d1ab3680f1c136b4aec636905f013645411a36773825363db707364f2e75350df77f3f4595203a70586735c3e3ff35eb9b7c3f9b970e38cd5440363fc872362fad5d3f19c8933789335736edffa034cef2333fefd1683723bac7349ecd9e36f2a0053fa26dc4361d2aa2361e699036629baf3e28a45337a1677c36caf967377b9d253eae1141387d1d54368df71e3755fa3e3dcbf2be37c932b6363f3a033669e49b37dc521a362edf0036d7bb2835d90cf73496924835c0d33c35854c55364d563736e938503623cc6936fce84c36259e4036e2dc633606407836342547359c1f3235bbc543350c1e4a3595f5cf35a449bd353ca9e8354897f73574924a362f7844369f90613606686037b8f80937f1981c35f5c42835b2f8eb36ad2af6370cedd53713aa9f37b626c937df7aeb37e5b71d38a06c09389747123802f31c35a33a643f501adf3de757063574c85836dbf6643fd757ae3d3f475136f30daa3623bd503fbc64ff3cb04d9a374e548637963e293f4924b53aa8b6a83798669436988ffb3ea755113c04319e3662f046380cb0a63ef79a1c3caa032c3838b1bd37d936063ed24ec53c5d8496373aa401386657b83cec558e380ad4ee37fbbda437f054a438603a8d38b69bea37bd343b36aaff6e364f682e366daa473660f787362b3a5436f4985e36ca0e8a361e286536c7c2153627b61e3604ae8036c3308c36cc414a3654067d368dfe983638157c36d45c24362d4a3836fe845536aaac8436ba25213656253136566d7d36d5a095368b454e3689475f36df12563643abdf36b4dac236a246d0366c68cf36ae879a357cd88b35ed509035a4e59f3569f01f369988333fd745993ecd85b13659258b36c031363f26b98c3e30e06d36913166369d2c263f6daf543e0f904d36c83db93693f4073f3529183e9dda0637543c79366703ce3e10bdca3dd60f373694027a37fecc8b3e8809503d9ce54037a6d7493710d6ff3d1567fa3cbe051f37bbf9d43653867d3cc56f2837cb7cb536fc95ac3538ab0e389b158f374c109235ad762c35e9f221355d8f2535fd0285356a7e7c3628f667360e0f9236a49f9e36f5b4a13587d22435180c613556497235e83747354ed34535e07f41359d0c40358317a5366f5497361e70b336796dbb36026c893503336b35816564352ee36435e59efa357f53ab353211e735c68398352cdeb136932a9536d957bb3675c2c036a7141635e6464235b77a7335082d2435724743352e78003f9c15ff3eef9c68355fee8536ce9a033f3cf0f03e63a47c367488c435814df13eab5cc53e1f0c6c359bd382356f68c93e3fb0933e814c3f35bb0ca5364b91953e3788553e1b10a536c701c2350556583e5f7cde3dec4555353b531036dc2ddb3d8f351a3d56fd01360194a636c5c7833ca74c5337f1feac36dd328f35a7e5dc3774d9de36166c0735331cba352319a33551dab735e5c0ae35f556cb360c4db536a86aab3690aabd36625b323663553136caee3e36bb0e50366afa733671352136b1352236e88f263654a98f36378b4d36488976368d5d6f36e2729236e2028a363c919736cb0eaa366ae39536fb766d360d5d6e36d2e560362ee3c1369f60ad36fb59be36525caf36f5e686374fff933774ff963761f9793706f2b83568af9b3ecc3a323fa8fe883582c6dd3630a3a33ebb452a3f5918973651d6ed36b7a2923e11420f3f63bb33364e8c80372e827f3e928fda3e8b372836fa170837ce924e3e3685983e6c2d3c36ae0923382e4e1b3edf2a2e3e00d6b2369934a937646dcb3dae7e343d957fd436a2fdb236a3a85c3c7d331338bd3aa136d722c2378df09938a6800f3877f44236025f9d37508326370357aa36e48dbd365c31413736ab0136e9f8e8356730f135a4c755359d594135fa7e453598c35735ee626b36253e433662af3936ad2064369978ff35a4c1f135713bf235a1c1f0352a973137182072357b768235678fa03569998d37b110e536e3937336457e1c3721648036d7826936f4c97336136e7236fc0ef734f693eb3492ddf434b50807354fae3f388b02de3dae48643fcd7a9a36356af6374634023eacaf593fdfecac35331ed4376c1ed33dc5fd3d3f6ce02935ccbe6e38c2c7cc3d8613113f9dae6036b559443735e5c03d97d1cf3e4fbab93514da18383054bf3d9cda7a3ee61a343755b94538a853a53dae4d973dd7c7a4377a767937786eab3cde4f4138401141367e872235e2350537ec51df34499fcd34c2ddee351ba0e435d3278335aa8ec435407f9e360ddc963668328f3654419936e41308363b49e6351d96c735f992dc351e836636b6ed2d361d5d0436964efb356d6ca83603439e363497ad36051da436bd6d1735b2c1fe34e50ab73491348a3449ad8a36fbb67136540d84365686513634367736795f3b36165b8a3642378f3689d7573542b26d35e8936c353fea7035bed1f235b2aa673cb98f7c3f1df797358d1af736d70e7c3c2c38703f77a48f36d9f1303767117939dce4563fd0a10c3691eb9d366fd34e3a9151283f1baa3a365239ae369620db3838b2f53e4adaa3360570c735505995393193983ef89e0835427b123796b09e3cae1dee3dd2cf8036b617c436fbf68d3aa7344c3c898a6e3638a67535459a83370c5e3e351c70403500000000000000000000000000000000a6146436678f50364f3f2736312c4936cfd09836092579364caf37367d8a4c36f9419436363d8d36472c77362e875436b21e6d36309c553645d36a36babf5336fb47a23727cf2237ac5df636bd8cf436fec01d37442b1637bafe1237ac03053794385136395843366a236c36cbdd4a360000000000000000000000000000000000000000000000000000803f00000000301a883676bb8d3712de793ff8b03e36a94b8c3737fffc3720eb5d3fac003a377c6b2b3767b3d437fe9e2f3f5d4e13373f61fb363cafaa37bd76ff3ee32fb836d9c80f38709554388e819d3e19b724387c391137cb4e9f37e5f2fb3de8fc1b3778d13e36e5eea5378def843ce2e59c360000000000000000000000000000000000000000000000000000000000000000d5afb33567269c35e6fea93597b19235081f9736bd278e36a7359236bf8582365d0a7e35d9485b35c9c98a35b70b8735a8454536f9924536eb164a36782e4d3612fe9b36e99898361c3b9c36626d8b36492317353234013547ab3f357b4b453539dc1036c0ad133623ad19365f96243600000000000000000000000000000000000000000000803f000000000000000023e816385653743f97e7d53651a0fb357181523acaab513f1baa873776ca9c3636e5183a53bc2a3fd93309384efa6635129698399c64003f62b6cc36763e62365fa4fc3a57e7ae3eebf0ca3708b99f3650f1d33c3cef223e2c367e38d23e0a3875f9ee38c6d1643dd5c12c369bf72d3600000000000000000000000000000000c2ac09361e010436511b04366fa5e9352898f4357688e035592af235b71dce35723e0b36e1abf435042202361b8208360715a6354d6092355a68c63530b2ad352d288536c84c7f36828484367fef7436e48d3136bb1424361e482536f59f2036e30f973577578935b47fb2353edc9d35fb107d366b126836f80b7236237c5c36b8cd713617f27236ac547236c76f7136c235443797f07f3f6c2d213ad2238a37d4a2c7379c8d763f2dff4a388b2e2c3627e63938012f523f6ceba837384005367b8ac537a6d92b3f12e3d9365caaa43591f4e638cb62053f373a4d38136e013722a758387038b93ecb2dda374868213725552e394de5413ebea0cb3a093284376b6ea638c2ae8b3df03b9338347bed37d733b636ee09e03607079536ca6981361f113537ec9240371f504d37727020375a62873624137136a1ba7e36c3336836afb40d3500e41035cd2f203501e613358e06a6366d2c8736304f9d364c1b97363e208a36d9608436fc498b367b4e813605cfd03598f2ce35ef3bd035eee6d0355bae68368c175c3677c2723601e56b367c4514367e2b1d368a0d253678f913368dd117377105fa366040ee36d479fd360dd089377c8c653fce11d43d1d141438626d7637de92703f3beed03c855a0f3755b727385b49513f3529bc39242a2135993c2138fa152c3f65af4238a4379c37f96d68381281023fa9c15b388cfa4437f4e07d388fbdb63e9e646438bf984437771cec3985ca2b3eef75d13cad09913786fc20389d988b3d96d14038ec7c0b373301e9376f544c38814b1e3826b79537ae59123675920c368475ec35243ccc3538fad0355d07c7357617c0353150a435a8d69435a2cd8f353ff37335519e0135ede03335d0064935a4cf3f35734d4535987e8e36283f8d36abc58e36a61d8d362356d0364f5bbd36e1b3be360323b03633892135b1a82d3540252c3581522c3560e2933618d7993668849836f05d9b363dc5b336f755c03663ddb2365c58bb36d5083236fefb333f5f48983e6dfeb636e5aa293718c03d3ff1f4683e07fd0a36b7454e3839b22c3f0503113ee0bdc836ef0e923894f9113f82e8bc3dedb2713745ca3e38444de63ec2f5673d4b0dad36e88677386ceca53e59e59f3cd9cbcd374352a838c15e263ef1c9083def76af37de410b38c494553d15c43a380cc66a375eebff37a9456038c3c21d38b3ee2d371314cd366a7ed136a44fb7360682aa36b27585362f716f36a9534a3658d13636c32945358e710635928f17359bd44f35866ac235b69ebc3507bbe03526b0c535cb74cd3612e4ba36afa5b736ead8ab36028d0836038bf235975bfb35988a02362d56453564803635c24c8835e4eb54356c48fc3604350137b3a40137ed81f5360f5dec364bc8eb36f600e436628de93627931837898b023fc41ffb3ecd7ae43699516038d52c093f36a9d53e82d8d4362c08cf37cd8efd3e8660a43ecb691335b619cf3735b4e13ef55c5e3e8b93fb36907ae138b966a93e27dc2d3eb0fc1238626b0838ec13873e32d0a03debe62b37b60d21386a7f133e2275253da11b3737237af83871d7423d8c5d4639a29afa3723c91c3718d07c37ed4412373578e036f1cfa53604e09e3663e38736541192367e828e3650767636b6936f36d2ee6b3649c33135e3753435b81d3d35819a2d359878b536787399364e478636099c8f36eae8953674908d36ec8c91368ab78b3664d3503511ce59353b116f35be1257353b424736cf0937367b233c36cc2f4536a826063684d6033645da1236a4dc11364080063673fff835c8a5ea3527cb053686273438298da23e9fc72e3f0f02f636a3abc3375ba3ad3e64ee1b3f29ae8c3668ab8938a905a33e67e7f83ecfd33635aec288383c17963e1320ba3e73219737c74d4e38eb807d3e286e7c3e60ad9a360542a238ae974a3ed908103e9cb58637d978a638af37093e5a354e3de648df37ae165538632e003dff1e5938faf55d361ef96d3630d2083728b53f36bd7f123692ab6c36f1984835575609355ebe0f35bc69f235dc45ca35508c8f35950e9f352bde0e36ddf7f135ec7cb1358d6794353b2891357573593523232535026026359067863688328436572a7936dcdf8036044dd2365523bc363267a8362dbd9c36d07df434e5960335a357fa34595300356c7d8b36d7949236fd828e3687da92363ca6de361767ec36d5e0c836d8dcd636929b5538c6c6f73de50b613ffbf33f37b7e43038ce40073e05c74c3f103f03360d3769380021123e4a062a3f747840361b5291384ba71a3ee652fc3eb0b6ce360a187d38d5550e3ef33bb43e698e44371b553e384da9f53d3469553e1b24b33773f5903868e0d73d2bec9d3dcf46853799e86e382d790f3d47bf7d3835a19137ad86b63701fee13751337e3776e60537b4731c365361d03526c0a93564bfa135de12a23512b880351e0714353e0d2b35e57aa035f06979353a0260352df696359e5f093618ea06365e2d12368f880a3648f88836d4aa83368f9e8236349e7836a135f83598ecde35e513de352c45f335b814f935613afa35c98f143617ad02363c533536e8ba2e365d762a36a4831736ff9aef354032e435f66ce63524ccf2354c210b37b9bbf53c447d783ff1028136eee1b13892f9303d9f8a633f2438263619a66f380ca3093dae95463f79ac8b355c4f3b38f759033d575c1b3fa2540c37343cf53822af1d3d4752e23ecef02a3784c7c23727405b3df4238d3e6a2a8e362e38423801fc8d3d6fdfe13d7835b1376f4e8f386c6feb3cf4900f3c446f273832ad333776cb6137ed3ba636f6e6d2350000000000000000000000000000000048481436e138023699de9e352fc29335eef409351de90435a1f0833407fcfa34b15396368ee992361eb580369bf88236f54f523628834b3600463c365bda35369268af36200882359f5d653578798d35a7a5a036a836a136caa797365de69a36e40adc35a05edb3559cfef351468eb350000000000000000000000000000000000000000000000000000803f00000000f7293736fdfe9639d1bd713f1f4a2836d7d6ac388d4d403aea98503f63389c373bf0ec389b6ac23a79c5273fda7df236da6b5637e19d843cc8d9f63ecf648c361324ba38aac2cb3cf1e89d3eb5b490384ec2623889be193d7b7c123eb2cb5b38a309023876b6fb3b67ec1b3db1cccc370000000000000000000000000000000000000000000000000000000000000000f2f99b3429e38934468d71344bf04b34000000000000000000000000000000008140ac336173dc3279edd432ebf1d032bb5ce5340285dd34fb2ad33415f6c734340f9b35de1288354dbc8d35faa68835ccaa963442f60634e535ea337215dd33e3625f355de16335b46d6435f04a643500000000000000000000000000000000000000000000803f0000000000000000ce00bc3b8de5653f2f1cd834b804c634e336a33b6d70413f79bb40380000000028b5893cdfc11c3f78d27038cf45a635eb10b43ccf46ee3ec70e1537b65af434ad1ebd3c61b3a73e226ad53507d2cc35974f373df1672f3eb5a1a938e1b50338a471eb3c5d2b4d3d3db2603810925d3700000000000000000000000000000000b06b9c3571409b358b16943587408835870b2935aeeb2135df072035fdf2163528564b337f09903246b54532d223a73138dff33585e3c235a770a835369789352dbee334bb45df34d716ef3424b0ec344202d2354c98bc3595cab135a1d69a35a22c7a3542c773353c855d3521dd523585e5083513a21235b65022358960253533cbcf35297bd635bbade13528e5de35c42d45388702803f4d8f6839d60ea83701e3823b6c1c6d3f354a8237dba127350cc0bd3b7a35453ff05d153773f10435b11d953c1ac51e3f827e9436f69563369548ad3c91eef23e7c07c73419d9c9344e36223db0e7a43ec20c273658a31336b26d3f3d55103c3eef403037a915a0359d7ff13c4ce5863da5990137529ce834f6b0ec375512ae375bdf52377a48d336bf9a8f3675ed853671f68336e3e87d369da2c732e222b5321f46a5326d0a96323e91d23265d1af32ef6fea32000000003e381c3570b3c1349783bb341f3dad34305fe0342096dc34c14cd5347c7ed43497c27c345bfb28348bc91934f928e5337deca5341aa9a734d2b5b7340c49bd34fc6c16357e5818351b91103575ca12359796fb354b11fa35f9d5f335214101369324313769745d3fe56b0a3e5d212f37e40bee3a15e9663fe851f43cfcbbed32a16fb93c1f9c403f9d359e3bcc54e03322e0073d237d1f3f17632c37240d93359aeb333dee84ee3ebb471e38de75d934e202283d1237aa3e4533fe35efffb635c89f2a3d5d9a373ed118e138078dec345a38dd3cca478b3d5801f33708871035a6990d36ef850f36a5de00365804fc352143b83550c0b73542a9aa35be9f98359db81434b6670634d24aec334f62b833079abc328e0ca732fcdfa53200000000575db934ded4b734d95aab349ec99934ef9fc834092ac6348b26ba348ec3b8345532fd35410ce6358a0fe135824cd63553053e356ceb433551ca303504ca263595d47635f4938635d4c57f35481a6d358e66a8361dffa436abc1a3365ca7a43684d1a438c45d313f76699d3ea6001938a37e163a2ec2393f37cf4e3e8f5c1c3436cb963c7c0a243f7e47fe3d6c4074333ea3093d10b4083fc22d9d3d5d8852351c5e3d3d63acd23eb283333dac20cc342837383d99439d3e19ddf83bc4881f363baf343dd721343e4e1def3be7a14735d9dfa13c089a843da631483834d38235363e6c376aa96237967f1c37eabacc36c5600d3673b60c3659bc0d36894309369d051135bad60e35a40a08354894f7346cfb66355f0349357cf62b359ed0f634180c3a3631aa2a365fe61c3608130a367a4305356a400435493a0635590f0235c20071368e5f64368008523669103f36fa63b735926ab135d21fa83541099f3527925535e6505e3511a16d354e116f35a32b0c36fc6a0f36d9371136aa320f363eb518382d89023f0713fb3ece9a3437247c713cfb7f0c3f8782b83eaaec21353eb4cb3c46acf53e1fa38c3e2b13bc35069b013daf97d83eb4e53e3e3247a636ced2153dbcc4a23ed7a5153e223a8235c916293df336823e28db833d32e4ae3638464f3d97f1113ebd22ec3c3d8ee435d14a933cc24f703d741d7a38c7927535e3f84b370cc22f3792c1d936422f193602f39a36a2119836a6f19136ac028a36916b1733c26f0533061dec32ef99d23293de9134ad7d8a3481948734a2125e3402d5bb35cee8a2355f0592350c557335528ece341abbcb343863c43470a7c334fdb0c134bc8fc934c8a8c734fccfbb347bf8ac33e93abd330647d833f576ce3337297e3402938334b7c07c34048c8234860fb2353486ad3527e0a6350869b43541ec87388a30b23ec3f0263f788b1c3736348c3cfddbb93e5344093f3e05b634ed89d33cd636ae3ec69bd03ec223df342e17013df37e9d3e85d39a3e70e60136e0c9363dc2e97e3eb807533e7f8dcd34b82c3b3dedff453ed46df03d0a663c35b4ce2a3d7f39023e413d483d8d419c33dbe6933c0f065f3dae90ac37c8d869346ce4d5354486d135836cb0352782a735039cbd35e75aaf35a6e39435520379358f5ee9348675db34e4bbc834aa4fbc3400000000000000000000000000000000d0ef1e346c841a34347ecb3350627e33785dd9344bf4d4346abbcc34d53dc6349208953576287e35c81254358e143b3534b70e34b2091c34b2b3f9330d91dd3324f86b3358847933bd918233da98893305457a36a8d9713632696e367e316e36ab143739239e323ed75d533fbe8005365a41dc3cf7fe373eb405333fb9c4f2341e2b003d2dc7463ef5fa0d3f37f642340b0ee63c635b413e753ed23ef44ccf35f05c1a3df4af213eea81973eb3a8dc349d182e3d3c91073eb27e2e3e507cd435416e333d4881ad3df53cbd3d4b33173576b2a23c4a1c413d6b32fc37a15e4c33edb298361fe68e367d37893667128436f67c99352aa59635dbf59535b0978b3550d1363410e82634c7f6b833fc390f3346979834762c2034368b4c33f6ab20334c99a735afd08a355d7a4235a684fb34f2d4e834801fe2340b5fde34eba0d234e10d2736b67f1b36a36605367a4ced356183fd348f96e834328ac13423cf90347d395935f9835e35fb3568359a1266355e716f35f25463357517663519aa5f3563acf83b7dad033d8ce7753fddd21737bd74093d00cd0d3d7a51563f19af8f34b25f173d7524653de2832d3f227467356148223d0b5cae3d1ed7033f58c71136c62f343d7192ab3d4e66c13eb6f8e834dc3f073d952fa63d6b507e3e4d9387367a3ad23c57a48e3d5dd8043eb4913735a72c633cae7b363debd6423cd0e54b35e05d1a37eca86c36a8debf35fe16aa3500000000000000000000000000000000c416fd345d56ef3477ccdd34d330c734594bf4324752c2323f07983200000000983b81356a6d6c357f914c356ff83135cfc7e834824af03480b7f3347698ee34018f1e35599cb2348a188033c9a86c3300000000000000000000000000000000198319359f1124356f1a2d35548831350000000000000000000000000000000000000000000000000000803f00000000cbb6ce3c1447953c77db603f596b17352b9bd83c8db9913c139c3d3fcb2631385aa3ec3cbc70d23c3a7e183f554eb935ee4f053de6c6063ddc9be53e6216aa36743ff03c4b943b3da0ed973e260c9238de9aca3cb49c7f3d919f1c3e1e5f74386634293c3eb7323dbd9f303d150f163500000000000000000000000000000000000000000000000000000000000000000000000000000000af480e332830a033e66758357bb94735d4c84b3566068e35cbb057347846743493838c346d2cc134439c8234201daf34d89ded3428022e3523dc9635115da2353a8692354c9ec035ba54cc341fbfac34ca7d4a34f7cc2034e129ea348213e43475b3e134383c163500000000000000000000000000000000000000000000803f000000000000000092a07a36e21d7a3f7aed9c3600000000ae4d47358c425d3fab6a473569511435daa97b38d130343fbb254a3729608134c8ed9239d794033f8e25ab39ef6e9e3509cbaf391697a13e8f0c053ae17e0e353e982e35d7e21a3ecb046835ff10a034d4e0d5341112383d55f25a39265eeb3400000000000000000000000000000000570cb1338ab0a5304d73843120c65c3416efa7341d7f7134b205a9348dcbfa347b353435ffe7e334016a1835b5314235ef4db434c19b7234f894cb34798eff34f0a688348b5980341167ae348723133584d79534210fce3309aa053442b756349e66383509ec1a350a0f11354cbf1e3554631034a71f2033064d83339dd706355cd929350a124a351ed404357640053592a28434a4877b3f2b3fc73c56f69d3452af9c35ed1c773f87a8013a0abb6e35193f31359f9d5a3f53e719380fd04d35c3b52935123e323f7f96a0388fa8ed34917f66355cb3053faaf67b35fc661c3592686b3488b4b33e22a3bb3adf10ae3432276835d568333ec407543cdf472f35ea2ab2348ab66f3d5525a0397c5a703320c7e334e821b834d39b8e344a04ff34b66b303698832936f84426363ed91f36758be93346c080332e4fd93380c0d133d4873934079f1433dcc45c33279c6833877cd135c27c29358f52443589637935000000000000000000000000000000003fc37532485a6932f3f79c32af24cd32d1aac534dd39d133f6eb1f339f4ea733b9db03356b86b134161e46344ac83035f0ba75353200a5355d75a835da3eb535a601243691e9603f3006043e76f051366b1901345cbd633f364ac13db7edf2337c6182336ab0543fe3e6f13b53e363341f1a203684ba2c3fc9819d3be643d03500000000d2f9003f4dc2833b00000000621e2234a30ea63eaba0c43caeb3bf32b95122357959103ebe682a3dea9b1b3489f14a35f1c3b03cc83bdd3b08ac56346f409d35e8568335708a8635d5e4a4353cd4bb350405ba35bd78ac35c082c835cb0bd932a4c5da3290c2d032a7cb2b34c27e9534000000004e9d6e340aa6a934bbfb7b3571e01135e346d234eff9533577c99832369f9332bc988732fa4d3233b7e718368bea0e36c7d41136d3242636db9fcd35633e99356e7f5c35c5ba8035000000000000000000000000000000000f56873674bb943681f79236bd839836d73bc235121b333f43159e3e96dbc735985d0233354f353f6f558d3edf7a1033d9a90335e8dd2a3f602c3c3e5d5a3035146d3b3567080d3fa431f83d1696ba35c7f2b5325502e33ef6cca73dc605c132a5231a36aabf903ebf2a523d84f40f36f51185353b12023ed11f473d459fa735000000008839b73cfa300e3b00000000a445583682e1d336ffe83637d27f4a36ecdda135ce818f356e3062359c7588356a3b253380fd2633224c0a34184f3e3341f881356cdb593519be633525706a353f259834b7e72934b5ffcd33824835342f4545345afa433416e46a34c76c93340aea2535bb23053549651635c1b6143557d73e3540012b350c440e35a5420f35687a8933acb14a33363aa133eb5c89343fc3c635a0f9d735a8cbca35519bc2351097a2353d69003fab91013f3f9d9235f545343439c7053f89d4eb3ed6d24b33dc214f35e91cf83e91e1bd3e1b08603554bf5e35ae8ed83e54a8863e93cd243445e67d347a12a73e3f69383e2ffa85342472f33451be713e6704bb3d3d0733359c575c354461ed3d56831c3d4f802b35ce744e34e330d73c61205439a4cdb23386caa33556c79c359b349f35ea0da735af2b503642cc5b3669482d36e7c8263600000000000000000000000000000000ed0e3d35000000000000000000000000d78a2c36676ced35dba38835f4d5b4350e6a9132efa19232b11c00337c202933dceb2435b08beb340761da34be16d33411289f35564f4a35f366bd34d4dc25353b1127346bcc2134ea6fad33b5a569332537b73558d9d035c65aea35734bfd3561027136a633973e3d3a363ffda53a36000000006e1eaa3e10bb263f00000000224c1c35e265983e6d8e0a3f7d99ff33f41c6036dbe38c3ec4a2d03e269f0736179e2433b9346f3e80b5833e7bfd1233b0697a35da26433eb40f1b3e297f2235bcd7d7357b69023ed8ad173d16c68c357a276d34107fc73c0d153e3956dcbf33a16fe2351706bf3533dfb035e226bf35ee2a8b35471079356ac83b35edd08035c667233576bc78327a778732c6bddc3300000000fd646632a323a13265bdaf328969c734527a6532a9a49d32c3c7ca320000000000000000000000000000000011d0d9358ff3d435b7b8af3536090c3610f39c3543cd6535a9a32535e8324b35a1f13532b7f4ae3372c3fb3390361934b398683693a478363d0f7a3667ee7d36c1be9f356442f43db0c7623f213568350c134235db1b113e7cc9563f4801a033c1cbb734f72fdc3deb70393f92ed3a324c2b49348c08ec3df1880c3f1faa323400000000810ef03dd95dc73e00000000e252e53590b2f93d1d915a3e8d46cb35af6a4535914ae23db76a7f3dedbb87351a6f4a331109ce3c203a293956cb94330cdb4b365fe6383635850036c13f11367c7b1335c9b98c3419089c316b09de332d6a0c34b47f1733c68e2133dea54a33c46f833535a968350d75493521575a3550f287331a8b9233fd8d9e333cb8a4332b6392340e0c9c342dddad34521fc734ec7b583567a541351b343c355c9e4135d91d0e35d5bb0735d57d83340b1db43426846d35ec3c183566b8183598228635026a9a34cdef6f34e8c9af34c183863474868e35dffeed3cc7837a3fd5309a34943256350783203dfc56683f6e9b7033d2f05c35fdbe953b9572513fb80259354f3bb734d3e10f3c7bf5263f976e9033c57e7335cbbf833c1629f33eacf2513502d11e35a632cf3ca7a5933ebeef5c352db430356e9e323dc4e9eb3db41ddc3417a89535aa89a33ce71d963cfccd85359da37f34c1ff8c3358d24f344fd55d34000000000000000000000000000000002b70c634147d7134c2428834e209c5347d56953538456834153f98342583ae344db5433505224835d1add534d84c2235cae5d2340f966e34e8092d346e4f46343c84e23493efeb3465849734ceaeb33494bf3c35a8a55e350fe8f0346bcb1535ec300334833b573300000000000000000000000000000000000000000000000000000000000000000000803f0000000051550235b19f8e390377763fdaf1e534a8bfad352e91fb358d975b3f1c694735c7eca835fe5a763adc34323f6a8a1f352d34563805f8e23ac3cbfd3e29c4c0343f7a453790e6183bec389d3e9619293770588835dbc2643a1eb7133e74af0a35887e88367764393a2c47043dfc911137000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000289b0b340493f433585e53330008da33931ba1343b4eba345316c3349254a3340000000000000000000000000000000000000000000000000000000000000000e622c334efe5b134eed794341d6fa2340000000000000000000000000000000000000000000000000000000000000000000000000000803f000000000000000026f1b2375dff723f0000000000000000d6c61b38badd4f3f00175d3576aa8b348c89793a7d412b3f49aee5343dcbcc342b6cd13987f5013fc0289a370000000090beb53c7119aa3ec9d1de3724bc073760d2163d769a2a3e7b67ae388a57d834c0b38539fda08b3dca3f92371d0c6936000000000000000000000000000000008348fa322843d1329dcdb4321e888c32418a9534075f8d34601a873487a670349712c5344145a33474deb934520bbe34fb8702356ad5fd3433ae08357b00cf34348527359cbe05356fc22b3520132a3588b7e3349c41c9348b12d43478d9d434ca451c35e4e11835fa2f09358fb0ff34223c6b34db03013413b264347562b234f4eed0349ae6d234db18d634a36acd346e52b7372833803fa73a303b6b7f883737ffe337d2a0723f262f8e3733e49c34b292133920994f3fad5a11357c31ff3446b38239940f2b3ff043ed35e7e607351de0ac39d12d063f591d48370d3784352e2ed139ddc5bc3ef3b67337fa230b35070a223c8a44563ed4fa69394cf11c3529efd2379152ab3d6d7d7d37c0fafe347da8663573418637222a0135cc1be9340000000000000000000000000000000065d3d4334332b1336b832334cb9060349e77ca349b609434a0fa9d34369db23400000000000000000000000000000000000000000000000000000000cac2c433e8e7a334b9b7813499477c345b6f9c348c4d1f317b3adc313c355e3383136733000000000000000000000000000000005310e433d4a5d13200000000184a3534000000004e58693f91aebc3d00000000fe9ddf3478a6733fc4be4b3bc3892b3411f00a35977e533f6ee55b39dd52ef343c41c6374b832c3f0a5d3337000000002da0f4373f5f043f8678bc38000000009213bf37f3f9bc3e5fefbe36a36ece3426089d370a4e4b3e564c8d38eb403333cbbed63795d9a03d322fa4380000000014dd1b37c425dc3778408b3718eef2347c9f77350b0d59355653213571b0ff340000000000000000000000000000000020ff6033f6e1d332a4ca863146cd813181cdec34b026fa341dbbeb34ac6ad634000000000000000000000000000000000000000000000000000000000000000035d3c234a59eda3418edc334b85cb8340000000000000000000000000000000018a44a339daa6b33796437331a7a8a3317153b356846383f1b87923ea3736f35264e7534a0a3483ff928313e9ce4cc34578ca9343fd1433f7a5d443d7570a434579db937c18a293f2316b139c9b90a356638c137367e043f9958c03700000000b1f6ed37324bb83e9f70e837000000004220a4382c54543ee269af378296db34a1a9c43710598d3d18bcbc3700000000fc01933795d7f237f4b082372a0ae73381a81534de46de3385d792333e0cb93300000000000000000000000000000000e71f0e356843ed34c5e0e8345675df34251ab53414b8ae34c903aa344a8b803407b04b35c57c4a35fbcc82355b9c813558de01355d7ff434abe6f5340396fa349d4bd934ac07c734b0879734551082340000000000000000000000000000000050668f34b7dc8d34ffaf9434fa4f90342b3618368212033fcb0ffc3e1fca5434b40d11353a16143f678abd3e00000000f59078367a64133f78c9773ec1ff23350feb1d382bee093f5b61f73da0b1d634150b39383be6de3e74de8c3d4a033b37ba4b533832bbb33e1222843960900537e1fa713813c53d3eaa34ba3b2c32f1340506863724066d3d0c0c013700000000f09a4f364e1023371267b53459b5a0346f395033a4ef1533a49de232ab3e143300000000000000000000000000000000cde2a9348f567434cde430344f226f340000000000000000000000000000000000000000000000000000000000000000fdf0df34f7ebce34a248b2346f4bc434f2248831d6106031cca13e3255fc2233000000000000000000000000209b6534abf22435f8730435ddd62c3528277835b4abe637cc159c3e441a333f9be674322521c237088dbd3e5f30113f00000000e1a52437344dc53eb4d9d53e2cd9ca349c060a386b02c23e53ea8a3e000000003801ff37dc5db03e68ab183e000000001d27f237ce28993e6883463dedc6fa342acd3b376b85443ef0af803b472e0d333afeb9375230453d4258823700000000f3689135f6228035bb9d503590aa5035a4cab9348fdbd633000000000000000000000000000000000000000000000000ed9582332f349f324ff772316b974f31bfb3e434eda2d234c719b434c69fa2341e8e1c34220bfa33aeadb2332db22331c9be20321571333000000000000000001993f834274e0335cc6e0035df90e334ddb6813451926434d2a26c347ffc5634000000000000000000000000000000004664ed37e6d0f23d42c1623f500ac334314adc385bd6293eb60c433f000000001df7f039a34d4a3e0f761c3ffc159c34a8bfb03903e6643e838ed63ec528fc344eb1d839dff85d3e0ebe8c3e0000000018d2f4378a515a3ec9b8fa3d59d4263458458f39297a1b3e6816003dbe3307350f856737393f4d3d33ba1c37348c0134e1bdc43225fdcf327db76f33633f2b33effca334ae14813422233b34e63e4d34f3547633000000000000000000000000757b0e35d628ea348705d334db69e5341e1fb734ecaaa534528f983457c38034700809358e59f1349404e734e9dfc334dab5073506ab02358853f1344a77ff3491b3b734c636a43476bc8c348bbd7a34c7dfa23433c397349a0d9b3433098c34c2f4073356261a33522322331f3a1f33f92f38388163393d6b60753f062fde340f660038b825a73d4c19573fc5d3173514e13b3a4a5b523d8ab63d3fbfda1e35e15c153ad6c9a73dfc6b0f3fac24c6342d5a9139bca3dc3d6b64c13e3e66a735b422c83880cf013ee1265e3ea8b12235f0d369395f37ec3d3305aa3d5420a5349f150e38102b683db3555339b5fc8d36a882ad37cbb8b937994e163613f90f330000000000000000000000000000000000000000000000000000000000000000df69b434ed118c3469e23d341f326c34000000000000000000000000000000000000000000000000000000000000000092dfa0342c959d3449c2643408178434f63a9b33c6722c339589dd32bb5e9333000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000077372838d1acb13c03476a3f00000000eebb333aa5b0813c2d444a3f874eb334cec8cf39960be03cb4b5203ff5b4f4367b38383859034c3d373be73e9af38437d0cde939d66b8a3d44cf8b3e67c39736eb1c1c386724af3d4f6ee13d5363da37efe27237cff2f23c02acdb3c085e52360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fd6913370c5693394598d339cbc0b332bd189346e9db033c83bb333479ea733f6003131000000000000000000000000cb91523382556033c5845b33957d3b33091ada330262ac33df2ee833a335d333f582aa342702aa34f1bc8b34e14d8d3400000000000000000000000000000000000000000000803f00000000000000004fcf1c3d10bb5c3fa8e661370000000067aa223d495f313f58b2f633a3dddd333be40a3e84f6ea3ed6fc7f351f0f3135b0f9333e40a68f3ec0a80b3700000000a2623c3e2776123e4dd2b9363c238c33ee55043e3e1da13d16ce523730f22c3425a84a3d8d3fe13bd73b07387b09a1340000000000000000000000000000000024d93d330000000000000000000000002a393e337d9a0633e13cf33208660233d26fdc348e95ad34209d843462b32634e1243c35e3833a3550d43035223d1c35333f2c334e3d25331ba915338e4c22330a7f9234aa764434b0327a33c64822326bad6634d99a6234b81e6334e71a3134cea4413390ec40338b6c1e33f21e2033cf9bfc31c856fb313feacd31790cd03171022139af57803fd3d1f239a14c71373185093dd190633fe107b73790f18434ca7e3a3d052b343f85458735b85c683501d3083eb12cef3eefc4c6357461a835bba1423e86378f3e8a2d833410dd6c3481f4533ee2cc053e3a3961378ecbf034307c083ee2ffaa3d40e23d371e62d33444cc663d4ba6133c8b9fc837f5846633f42b7a38bf366737a47e08325887ef313df30e35166dd534c7ad10347651ee323c702f34470c04345d43c1335094b533046c8c34050b4e349cc94a34a72b3034558f1d351da410358839fb34c4b8013500000000000000000000000000000000472922358d050635947f0f35a6a90f3522552934b5432a3412245334df086b340000000000000000000000000000000000000000000000000000000000000000f6eec7372a0a6e3fc5e4953dd92f5c3808b84a3c139b703f6bad503868fd8934a2e1c33c97fe3b3fdbeaf636b5200e3575b7003eee65f93e648e8a37250286354941303e15dd9a3ebe437c3700000000a4cb413e2daf183ea34acf37503273354688fc3dc6c4b83deb85c4378bdab0343b204f3d10a3973c4c2e4d38000000001e8a5538670ccd37af72d933690dfb31d9a0e131726ece31ab42b7315dbba03100000000000000000000000000000000059c8e3473776a34ddea7934b65c4b34b9885d3452bd4434fa21573420de6a340000000000000000000000000000000020dab634f96b9934c9bf9b3499128434b6eec733333aa133f4c2bc33a1c8c3336a6a3c34dd572e347c050234b1af08348d4f523440ba67344eb49b342d121734392c833841bc393f217f8e3efed57f3805a7563d0638593fe8eb743d000000003d4c483d1fed3c3f44cb303839f83035f3ea113ec776fc3e47ab4b38ff2e2e35ef9b3d3eb215993eff60973700000000d6a1413e7e6d183ed2385436b9fdd83426b1013e61fdab3d58b7013891f3fe33c180363d88f8823c4dd370386cb01234a5cc8b3777879534edad2934d70c2334fc890331ac2dde30d322b3300e14b63032f195339f427f337401383326f10e332294b43411a29d34b0413b3476e130347b79cf34638acb345f4cc1344bd49734efd210349c911134da6e12344a781234234dff34209bdb34b44e9a34fcd393343d2e7834716f8a34e87c9934279b8a349b8d9e333747a23335e7bf339c79d033bdd909314bdc08319334e03025d7e23048b9cd38bf9d083fd067f03edea90d38280a883dea11203ff7e0863e927ddd347c2a953da5441b3ff5d6e43dd40144355c86333e8858fb3edf084c3935a1753540cc473e72599e3efa21e737395bc834bf9c423efa221a3e43014d38c4094535310c053e2c76ae3d03330f389144e8341f793f3d14731e3b4c3e7638540c6834c3391d31e6960f3125921531ad0a033154176234d4b102331ed0d332f48fcc320c7bfd338deeb23322d35b337bed5933ca6732345eae1c3436ca033482590934c0a59234381f8534b74c8734402994340000000000000000000000000000000041da1a3562540435d256063526300d357be25b34a9e059346a64783402158c340000000000000000000000000000000006c30232c8a5f231e7bfdb312eebce31a5360f393806ad3e29452a3f13ac16354f80b03d9cc8cc3eee37ea3eb0f7603497a4b83db9dedf3efd18893efff89e3432b7303e8868c53ef3b5e43d26a44535dac15d3e08c8973e5fa02b3c0000000040774d3e61002f3ebbf2a138557aa7367f150a3e6737ab3de4964d38fc4ba434185d283d1658913a7807373800000000e50dfc3430d9c534de332f343ecfa43300000000000000000000000000000000000000000000000000000000000000007ebf4d34cfc3383467b04234daab013470c23a34d458273414e9343440f14c340000000000000000000000000000000052e8fb34e42bdb34babb993451ef5a34acd77c33a100483371cc5e33fc417d3366f680343cb3763484744634c61a4a34c7f4df34d91eea34c2f00635e970ce34cae2f83c299ff33dbb905a3f0000000013bbe33d4f70313e08aa263f00000000642cbf3d1800823edd1ce43e05085c357ec42d3e0a80853e9efe733e0c283d355788463e526f583ece2f043e000000001d535a3eb4bd2f3ee656143c7a8539377b5f0a3e96f8e53dc32c2f3988446736cdb0353d95a3de3be2ec3a38e57d613401bd0f35783bfa3439cbc734bf86ca34de55ef31d4b5c8319f93a031d1a4a231dfed3233181a16335869f132c615f532fc8fa934577da53469be2c34a9794d34634e3034d47208347de4973399f316314425c3321ec6c2321ee9a632f8b9393270d14f35a5c543352ed51b35c9562235d3fdcb346061cf342b19d734696db7345a71ac339e03dd333478dd33be07f3330000000000000000fc2e3e33340b89333d06b53a7ecb763db80b713f736645372793e43de5548e3d660c423f4a8f0434fd5ddd3d44d5c33ded17163fc0e130359164233e4fe6163ef7c9b93e53fa3a35eb3b473e23440e3e285c533e153fbf340453493e96e8063e3434a03d008e1736e745ed3d475b043e24a53a3c7de41a35b1a0433d4bfa093d01e4c838314f4434f24cb33399fa5532000000000000000000000000000000000000000000000000de4c9d341944833416df523498015634dbdbc334d258b23459b58034b4748f34d2308633aa9b5f33cede3b33857a2d330000000084d8fa320000000000000000f05d5a353fac4f35241541354499533563718233bb0ba033337bde33f89eeb33000000001b96c2320000000068c9cb320000000000000000000000000000000000000000000000000000803f00000000bf599e3dae75383def61533f069cc0341b0ea73d3115133d61702e3ffd69123570f1203ee1d87b3d44aeec3e8651d334c592393e7aa3983de13c973e7f6ce832cf82263e768ce03d0b09113e87e38b3557ffd23d9bb7f53d774e4e3d94a99233a0854b3d0cd05c3dc98fe3386003243800000000000000000000000000000000000000000000000000000000000000006417553734908836b6900437f68da737b2361d370514e636b01a1a3779f12837f4a5e4379f28b73608beb537219d2b3806f7b8370828a136663d96378fbb033858c31e38e5ecb437071e0e38ee114038c7a9a437569127371a2c8f373022c9372927ff37b630bf378551e8376adf093800000000000000000000000000000000000000000000803f000000000000000095b61c389de97d3f98f61338f682e5370bb02f3880f4523f2782c7371e26613722b48d3818f7293fed76783888a94a38fefd8e38eff5ff3ec4133d385b59113885c5e639b228ad3e9dcdce3806c4423820bd09380f78363e634fe8372189bf37a34e2038df36363c87550e38a69b003800000000000000000000000000000000853dd235c281b8357a3fd235e2bdd935d67d5f37e67e81365a190e37c349b337825adc362f462a35a44b7835019a8437dd7b693729afe536032f5237535786371a77c43764d8d336335ca437bbdb10382e28f63778df54378234d2377e6e17384fc77f37681aa9369c9c2f373f15d137702e01388f93b4377ab4e337990a09381d70b437e6349e3727a5ac3793a2b237dd08c93502e37c3f9299443c269fae36758bfb37b175753fa325a03c614d05380685f33707f84d3f47b0913ccd70d937d6301d38cb70273fd0a9393c252be63791e0b13963ecfc3eeccb8a3b43a78338250f3d38be6eac3e6fe7183acdf923389e2012383fa2373e2c804438d58cc437ee590738be51c23cfec01c38cbf5f337f358943759cffa379030af376a9e9d373556a837a5731f379388723721b3c73765198b3751cd04361b40f6367e909d37a53b1437f4dd7136fa9cb8367320243759573337c53b12360e87283684b2893728421538e0953f36a0b75637d61d38383fdf1038d91dff36a911a83797f22a38d769cb37dd9bcf36f45983375abe0238695137387035a1372ec5fd37e6d44338fc364338360d1d385024393885334e38ecda83374c38533f70b1323ef397be376db6b5377f684f3f4739323e27b5d33763e85337a02e2c3faff9213ee15841374582d3371b360f3f107ceb3dfe6fce37a6247e38a656d53e2336aa3d5c9a553853984738b4f1933e768e103d85d73a38180f00386d182c3e58e25e3808a7e8370aba16386b64b13cc9238939a2181138b9201c387b137438cef35338c83229388cad003854ccc0378ee1b83776b504384d931d374762a936ca00b73675251b374d903637a1e70f377da019372b9d35374bca273865ceb137c41ed0370d65293836d4c337ab5df53625bdf936d5c0e437714e17387f895f37e20d813720621638c641d0375bc86637a6087b37f472e93787c82438f34cf93729c50c380dae30383a910238debccf372247da37de6c0238ca24d537f8b9293f784cac3e9f5fdc371be20b375734273f1ef6aa3eb4ab1d37973b6c37fe350f3fc707923e9a53513738444838f5dbe63e32b6613e9f753d3888770f381c74ac3e1f8f263eb3ae0038ea482e3875eb6a3e1961c73df54f1c38d3e8e3371d0c003e6b58143d3f85ca3707331b387e2f873cfae56c38ec181c389d01b337bf812138c1790038229cab378d2f35385edb1938c97c0838e1d72538e39d15384c02b037cab597379877013853ea2b38bd9fb43770299a373f7b1e386c6c09388bb4f2364fd4ac36357df637f2512238fe6ac837ff68c437f1e90e3846fa3c384effb4372acba937c9cb3538116d713889812e388b5731386e6e7538766a693832734038e58843387734723867ff5f389dbd4638c4504c38b41362381e8f18389c51003f3e0eff3e18e2133891eb17380891fe3ec8bbfc3e97df073814a548382ba2d53ec7ead13e81c535380f633238e2fdad3e7666a93ebc7c1b384847223937a2813e26637c3e2822323873394c38d7722d3ec88c233edfa23738aa7e7238a7ecb83d7bf6a73d2deb6338e8d0523815480c3c497d8a39774c4d38e8414138f935013920647038a4493538a22eab37dc458737b8ea69370b5b8f376ef3ca3706a92337a5401037d8c36237abaa5637ad820937ed38bc36ca4e3a379ec0f9373f2f3d37862e1237250e9537c1120238f3c6fe368b79f436253baf37d7d54e385c2c1e38c477053826e43e38ba34dc37d4b86637068f3c37a9c1b73743da36382066c5374c6fa037c7862638eed83538fc33193835041e38d4433938499e8d37502bad3e2851293fc46d8237695edd378573ac3e1e78253fc4719f37a4a08337ddfc933e30b50c3f151c4737d79a1b38dcc26b3ecda3e23e6af9fb37237612386b842d3e2a60a93e364ffe37351a5b38c298da3d84ee623ebe224b383530cc37174a0a3d239af83d28cdab37123cf637f797533a2ebb423c1162d337195a1438de564f385fb95238c5301038be721838cb59db37a89805378144b137890e603738eb003732adb13670950a37daa150379d576636a7d5573602c86736baad0b3855e80037c43b6036b83a823762fc4238bb4858379f503b3639efce37e6facc3756e7403750062136e96d87373b04123855184837bea02737a0727537b260183827e3fd37a029e5375922113891190838cdd1e137321be237edd10d38d6911e38a94f343ea4ce523f9286ba371e91a2377f9c343e27294d3ffc0925379713b537ee74293e778b2a3f6b745f373c1a35380335fe3d6e290d3f7b031a38a87603392d5cb93d917ed13e755e4838b70ffd372040363d01cf8f3e26bdd0376ebe1338e2af133c7ef2233ec2efb23778cf11385998533834fe7c3c4dd904381c98de3741ad203856c523387b3fb8378c689037c58b3b374035b235913b193768448b37d5bf88366dba5a36eace6d36d8eefb36fdda84365ed6c7356d928236d68e0138752187378800aa340a8a8c37819123387717a3379336d036a86aae372a72d1370afc803755e93d37f6e78537e9a5e137d40090371c8609372198a837d6ef1c382c4104382754e6370edd1538a9c5be36f7704f36ef3f3f3686c8a7369515b03723d75c3c237d7c3f364e523791dde13711e6c93cb58c733f8ff99337a98eaf37b257cf3ce38e4b3f924b8d37e4062938680a953c46e4243fdb942238d2866539028f543c5fd0f93ee2366238195e0738041e6538de37ab3e657a0438710bfa377c68e4391e39353e1895f53783ba1a38212d903954e9ac3cdd0c183827726f36b0711d37e9af6d370467d235000000000000000000000000000000005031a4376e48ea368bd64d3672329d3643e9873730e5c836b2040d367fb55f36606228389cc9da3763cfd03624ebc037b91bf537579b88372ccb9d362f698a3777844d386da40c383a35803766e30e3892057d37c5b95337434b2237297d593785c609388109f137d0ffc7374fb0ff370000000000000000000000000000000000000000000000000000803f00000000c976f237c8181938f6127d3fa8770438eb47cd372fb003389e50523f0039e937d5ee4a387eb99a39b30c293fa9ea533920171d388bfa6f3822cbff3e3e9e43386b5e5f38f310833859d6ab3e0391803864a381375bcbfb376ff5333e211506380847073808781c38d8ad003cc75819380000000000000000000000000000000000000000000000000000000000000000a069a136dae1a834fa62b9350373bd367ec4aa3772b50a379e4876378e30c6372ab49f37cd660a378c436937fb35bb37cbfed0378fe05b37f4fba3375425e7371757df36ba76293633a5c13672871137d3e01b388b24fd37dcc315385e792a3889d1d437b4d7b437d55ed7372cf3173800000000000000000000000000000000000000000000803f00000000000000007502463ad2a9703ff68677394dc5d6376ec3213ab75a4a3f67444c3999e04b38bcd14c3a6c3a253fabaeb439bc5b3a38f6ea553a5e7eff3efe03db39e6573839c050223a8433b53eb3b6a339c2145b385c59cf3978c0573ec402c8381a865d384e23b63933565b3dbd41993861c9753800000000000000000000000000000000339f8a37c7271d376a001a37ed84893723b41035b7980c3524ea0c3533df0e355bcb9635695f8e35627091354dc293359764dc354a14d435b940d9359119d735e5b252377fd74836ccb8f13658c36f375562ed36bcd7a6362b4bd636596601379a168f36603a153634278336db2ca136bf1d6737dd2a053775634537d11a9037441d22389d651438c5e81c3888492a389b370d39df6d6f3f8ea4833d31011e386db9b1391a345f3fce42873dbec5cf37f5806c383e353d3f72fd7a3d09ab74375f92823aa0e31a3f9a063f3d77b40c39bdc6a43aa31aee3e53f2fd3c291a103aa9c72738091eac3e9ecce53b29b6f5371183963833e54d3ee0428038790bfd37e927153ab4d6803dfd12e13971ca7639ab72933840e1ad39882d3838d7b23138d840a63794db7a37a8fc62375eb89237b2a90535f1260235a27dff34b5d00235e89af6347a27e934f9b9f03403d6f6341a4b9b37d64219374cfb3c3784b28d378cb02537efee98362040c736c64a1d37610285370de7ca3625d31237245085373c81b6378f13b83608cbcf3699a0c9378f741b38a5690138331d0a38e38c2238fe342c3811ab1938bf4321387973b03868b4223926364a3f0a18563e19f634382091c33882a03e3ff8fa4b3efce6d137449106388ed11e3f6394303e49f0703779e85538ab93043f85c40a3ef8112b38c5dc1339ed1ecb3e8b7cd23df28af537387820388bc6923e5b516f3de0400a3880ff06393984363e867ad33cc75d7b384a6a7539643a6e3df3a7c739c4783b38848aab38045ac53997fdeb38463a3738ccc61238629a0438da30f3373ff104388435ff362b07a33679cd9436da95d236a3501b360bcd17368755193691b91a36df38543523ea3e35c36446352b0149359d708f3584c2293545342735f215283536b05737d37a8a364c829b363e463937c1977c366c7b1a3585f31c3599af4b366eef38392138aa37021fd4373b387a390c4c38395e464b38b3f29b38c35b5039c3233e385a33253f3e46b53e19e435389473023808981c3ff242ab3e0572da37a037583812cf043f74888f3e67911338ea9201387301da3e00a7683e3b8ab0374776373a9216a73e7d21313e2feca639a0894d3811866e3eb431eb3dd2ca18380e23dd37d945113eb0a6783d8fd8a537cb76e139cb20483d1f1f513a9cf0a1392d553c394b2af2396eb49039929db3384f972938cceb1c381ce011381bf91a3812f639378c830a377467e8369b361637821993379b05f536b089a836c96a3d37bd5c7137c93a33378d8423375d7d4c37a8c7d237f3659537cca58137a149b237a965d13726cf7e3713c877376bae933772affc37453fc1379897ba377273ea37321bdb370995b137345aa937078dd337eada8239f9a51539cf4b2839f83a9339c9339f380e7dff3e895dff3e16644438e4f9d8375476f23e34c4ef3e1fcdb13724a32c380755cd3e48fbc93eb1d41c38577083388d70a83ec8e9a43e35ea5c388b86523abc01813eb8717c3ec7d81d3aa76f8638639c363e2a812e3e48487138e1a93538b6bfd73dac43ca3d83072c38a72b03386363023da0ffd53cbd4afb372efa75395f66ee393260bf3979e3243992e1cb3748e8aa37a4e57f37d6cb9137ad601035c0570c35573b0135300a07358c6c19353c8818352e541535d76a19359fade136dde1ba34f764b33401e5303590824f35fe682535c6a51d3526512135e91ab8360e400d3602835c355a5061360372c73710042636611e2636471d4337fb50023886d9e437f184d437f8d0fa372926363893872f38c9592a38620b35389c36183805e4b53e989e243ffbd00d386248ff375627af3e9d5e1b3fb34c8637ba288b375521933e8186023f6c75393777e72938d990703e8782d53ee4bf0938dc651f3ae4c5373e6760a33e6ffcf339d474f037ca49fa3daaf1653e64b9d3373a0b6a389db7893d969b083e416d5438a5f9f138a496323ccdd22d3d289222386c6840385eabcb38b3d6a738059a3738628cf237cb8cd03710abab37a33abb37f3207037c843ad367bb41036f15a983639d45a361ca9cf3572c5c835efb6cf351db203370ad3cd33b807d033458ed23364ec3c37215feb361fd94036d86fea36fe82eb378c64ba371fa98a37d32eb5376d58e03619989136ec224a363c4e9d362c770038f1a7b037221a66371d50cb37ba061738081203383a5eef37b91d1038111c43387ca8573e92d3493f5964583812222f38b00c503e9fde3c3f67cc2838b3376e385179383e278e1d3f5f556e38ac670d38e2c2123e5cea023f0f58063815662d382e6cdf3d3d38c83ed9832c3885334338d0bd8a3de7a58e3ec86c41388353eb37636e0d3daf94303efe04de37f6948e39ac41343a7787603d300c2039b679b0389dca7e39e9059839def72d38b507e737f811aa373e946637e36a86370393df3515c6db35bdb6d135baf5d8354689613545676135d5594935862957350241bc36f4966936c15a9835dd4628369e128e379a5210371a0cda352ffabd3635afb1379fcb923696c2e8357b9eec3546ebbb362e2abb35e05fac352db8af35bf7bbc377d7888370d061e378c4b86371be70c38efaaf9371248db37194afb37acdddf386a54893dba936e3fb7218139f8321e386e95913dd94e5d3f46781e3905a20338a1f9893db9313b3f10b72038890d07385160653d96c6193f1c800f38653b523abd2f213d5bfeeb3efb4a773a3ca4133aac1e823c15fda83e62372b3a47161e389363f6384a1e4c3e3c442d382828d0382e24da393f8f793d0b581c39199d22386853303836303938cd7a1d3800000000000000000000000000000000f76d1c374cc1d53523885735a6779b35c66902387085ad37fec6163718bd7a374ac5d0366fa42a36c8fe27366d032b36c5810f38f4e3cf37e2bb5b37bda3aa371fae0a38e70ecf370f6e8437b10cb2379efe2a3894450f38dcfdd13700ccff37a580d537bb1ab9373109a2371ff0b4370000000000000000000000000000000000000000000000000000803f00000000d7235538ccc268396d06723f294c65397824643862309b392cba493fe38c8f39898a5f39ce120b3ad1c8243f1994033ac89ec1391151213aa2e9fe3e7609263aaf4d90398d9dfe393435b43e4ce2f9399bec03392c939e3968cc543e7f83a0394f517b39d093c039777a6c3de8f4dc3900000000000000000000000000000000000000000000000000000000000000006915ce371d93c137b0b8bc371cd5c1379555ee379b7fd0374077ce37286fdf37cf5b0d38a50403389a080538a5e30a389ecf5638294b1e389e161f387c052138c3d711380a24d23712b6ee37339b05381ea71539f7e7be386ff3de38e7670739791dc7396b1d9e3931c3a63986f5b93900000000000000000000000000000000000000000000803f000000000000000032e60e3ac6d0623f55b0f539ec7ccb3902be643a25ec413fc068273af111d3392a465c3afd98203f9adf183ad120c8396b04593af72eff3eaea92b3a6fb6053a5418323a082fbd3ebeb8043af049ca399751de39ed6e763e54c0c73919e0bc39dce44d3aaec1e03d82313e3aff8b383a00000000000000000000000000000000079e0d394a437b388e46333810cf36382565283830541b386d691638f0801a38fc698838bf17803815797c3881c8803858a7e53758cec537e9dec1379412cc37721705385bc1f237bf72f437059efc37313029391bf7d1376440dd37513d0f38c6377039bf0f3539b54f4a391bcd6c391094ba391a7ba6392e1da739ecfaad393c484039f9b32239b5341e3918f32839b369913a0ee6603fcbc1eb3dae28503a4a985f3aafb8483f46ece43d8bd9a339af637c3abbd62c3ffc41cd3db38d1f3a45569c3a80c20d3feb229c3d6c21003a855d483a2e15e13e7e58733d12a6183adf76c93ac093a13ef3b7f93cbc94a63a82c5703a8a49603e493d5f3a946e2e3af264753a5534cc3d94e6613acf35533a5fff063aab8b183a7129df39c544e2394bfa8e3922fb6e39e41118397989213914820739456d2838f8c2bd371edebf3713d81739b6a4773823e0d137b72e50382112a937fcfea0378b65a037c3c3a237c909f939989aa639a7209339a536b2398eef3a38bb722f3811272b3838c42f38e0fc383a531f2b3a4bba2a3a2915323a7409ec393f18d7399e95ce39faead739e12b2a3a5bde233ab86c233aa1e4223a48b25d3abe48403f486f773e3985383a30ef483a822e2d3fe36f683e7e541f3a5b8eb03c5ea8103ff68a3a3eda3e3f3a009a383a881cf33e264d203edfcbf5395024bc3a1d33c03ea50cf73d43ad923aa479533a2d9f8e3e9ebfb23dde21253ac37a7a3a81b2393e1f025e3d99be6d3a1eba233a0d80bb3d57db283a3c36163ad54a483a2c01553a7c60443afaee3d3aeb35d439e341c7390f11b339c041b3395f23ba3838b5c037d3c5ad37ccc5ae37d30add39d91db03966a997396163a739bea8e638a48c3d38bd863638b6433a38e1191138585305386c4101380d4905383c27d337e4c3bf374280b23730fcbb373ca6fe39f6e3df398205d639a3c4e7391a9ecf39dcb9b839b3f0b039ac8fb9399bb58a398142803903ab7d39b4b181395340263a60ba1f3f8f0cbd3e9fa41a3a44b45b3ad5b50e3f87f3a93ea16b1f3aef05a33c6d73e73ecac5843e8685973c83f05c3ad23fca3eca846f3e12dd2a3aeac9b73a472aa03e23d83c3eea35853a1258893a8da66c3e7cc8093eadd61f3a90d7473ae577193ed6c5ae3d6c22393a8988053a10e88e3d203b183ded3dfd396ef2c6398169e039c460c239d7e5ab392302bc385c13873871ea1538f5c6093848c72938ab7d2238c3cb19387f941a38362f1c38ad6a1038f3100738c7c50838aa99eb37b675c4371dbdab37ac4bba374b24b9381ded3e38cd6e3b3837743e383a711a3809c408388e36fe3737840538e4765b393626243910daec38493913394f709f3942e78a3989628439f0be8c39ab028d3903df75397adc7239cb9d5b391addf8396130ff3ea407ff3e4560e1392552503a897ee33efcd9e33e91ce173ac627183a44a0c23e72f8c13e3363c4394bad843aaca5a13e8ce2a03ee94f233a5157603a75ba7f3e396d7e3e5d20373a4788773af1753c3e6ad33a3ec57f333a59eb113a9599f53da374f23dfe96e439c774233a75e35c3d400e593dc510063a4a14bb396804d139e499be39fb10a0398e42493983ac273985b40739f100ec38a5d0b137467ba7373b79a13745e7a1374fc184398c182439388ec538b292de38db0cb437de8d9d37207e923783709637f6071038780e0638657dfc3705a70138535278390df918393f7dcf382fb7fe38fbcc1c3af14b0d3ab690023a1cb8073a5440023ac174f2393acae5392980ed3926f7fd398500f839e7a3f43928cbf339d667f23903f8bd3e90ff1f3f381bf1397a63073adf22ab3e13290e3f81d5f23994b7463a24a5913e4c37f33e1cc6393aa70d823a78fa713e8af3c93ef0c8433ae24cab3acbb53d3e71fe9f3e499f8d3ad6f3473ad3040c3e8d0e6c3e16053a3a88c7993cc7a7a83d4f7e133e2f9fcd3a4f3d443a7a971a3dd83b8b3d1cce353a4032143ade58173a3505183a5fe50c3a14b98139d6811a3959920c3997b99a388f23fe3704d2e4372a0bd337e888cd3780a1ee390476be39ded69a398ba0a03969872e386cf91f389f6e15380f7f1638fc53ee396e36a039d4663639e1605f3930c4b33774f1ac37e278a837a0dfa9377a18f939e3eddc396c49c7394e18d439cf5c253a7d041b3aa8b2133a4d031a3a43420f3aa285093acb92033aa072073a00f5553a64c4773ed409403f3f56563a3acb033a78c7693e34f92c3fc504e7390365723a8886403e498e113ff7be6c3ab98b423aaeaa203ebab0f23e2412393a9263a83a2b62fa3db99abf3e2871993a46f2223af23db63d6de38d3e6b870b3ad725883a15444f3d8308343e66d1893add06433acb185b3a87ebb83dfde3403a881a353a8056383addfa453af9052d3a48922338774d1538cb800d38567407380b220038b4fbe237f59ac83701bdc6377312243810c41938fb2f11387bda123872b8a5377f5d8a375572823733758337faba3d38cb50f837dc65df37b55be237913a0038e201e9371962c73725adcc37133bbc395c7d8439c9f3b238b25d1439528497395e0b82393eec4e390b055e3966e0df39fa0fce3958e4b939c618bd39b3cf3e3a589bef3d85f6603f6a8a523abb855c3ac108e63d4f42483ffc95613a9cfaeb39b9d3d13d6c9c2c3fd669c3394fba983af7bfb13d6dcd0f3fc94f8c3a52dd313a30b0763d2b2ce03ef53a243a4d4a713a32742c3d8efaa53e8756603a296f603a2a08753a9e91603e2c615e3a7443f43942ba113a0ec3cd3dfcfbdd39762f333a98542f3a7a0c3b3a1dbd183a00000000000000000000000000000000a3282f38e6872038416c0f3843061138d0103f386e963038373f24384c282538d1bdc23775f39f379453853787d78737cb18d1389b793338459e1b38d32a1c388440de3879542e38cc270b38a7d40f3833a82538bc1d1d380cab10386d56133823b6a039f1e08b39231c6339bdec71390000000000000000000000000000000000000000000000000000803f00000000d5045a3a8d47743acc4b623f44936b3aed37d3393b73e939f49c413f0258db39b100003aa4c1183ab38a203f7dce003a87b5343ae1c1463ad480fe3e812e323a01f5243adf703c3a0cadbc3e43851a3a957e343ae082423a75f0733e01b42a3adb71ea39c903ea396995e13d308de13900000000000000000000000000000000000000000000000000000000000000003c3a2136bc2c113622372e3641f73736ea143b36be982d36b1b93f36edab4036b5700235c5dc7d3425530e35fa4009358a00713646b83636afe14b3624e67b3739b97e367fae7d3699cd8636d70e883608438337c94ab836a36a59376a39cf37d200b937732a623740df9137e30baf3700000000000000000000000000000000000000000000803f000000000000000018a58337cfa77f3f145db23789d939378ac77437a9ed5e3ff7ffab375463ad361084d937047b2f3f571ed037a73580353a4448387b6c003fb48244381f1d0c384c78db372dc6a13e201ed737e0383637b5cb8538ccbd063e6c458738d1b51f3819bd3f38cb47993ad8f66538bde6de3700000000000000000000000000000000851cee352aaad4350f7b4836076fba36a0a09d3559e09a35853cb33514cfd43540c75e35eaf46135b3c06835c3c967354eacbb3388b3c0336ebfbd33e6c76736052f0634aa5ffb33348408346538983466e2db33934ce03326fadf33014f4e37ee195c3758740c37d6f028372637ae37e305d9367b8c6635d49d30367e7002378611cf36502c7b366c48ce36a2e2e63697773c36d2dc7f3fbf7ec9397793cb37b1c304369f967f3f9c5f8e3897fc2b36cf88b437f9e25d3f0a5acc387d4228386a5d353700672f3f2721283820256d37b1d9b5378bd0003f02b06138c8aebf3739256f3889baa43e2004d53879fd56381dac50388b930e3e6a0ff938b0403738839c3e3772de5a3cbff48238c5d69d37c7456c34d265ed37258cfe375b7661373bc6483617244336b8341037c9e35837f35be035bb80ad35a45dd2356946e1350806f3351a49c935346de63580570c362baf2636316119363ce52a36f2d12e368179ce3625d09f332665b835e3fc4337961b9637ca618f363c4c35379db4b1373615a73555279e357041a635baa3913687cb0e36e60a563535b158356123a435f828983783e290374f439f37167c9c374cb1453698d9623fc305e93d3355e637a3c1dc3540bc633ff773dd3dd1b01a3878a524361a43403f3bddcd3d5ebd7837d54833362a451d3f40d8933d4d3a3c361c66b3372f45e43e42e55f3d26a6e937d7f8fc37a63f973edc80bd3c233e193839da353715140d3e2420823c0dac9f371a9b363530b54b3a8c75283aca1d8d368ac327375493f637312b1538c3deb037b4989b3662ea9936a473003726c60537037e4f36fe33303659ff453633d361363c321d36e6191b36cd802236a4572336d39f7e3630923a3624f4453605d0c736a8c54337d31a0a3697ec18369e716c37d372a236e8e6a1367b4ca536f4c4a636455c1638937ad937eb18f837deb315387b52cb37f582993787fcb9376e0ad337a1e60b383801023886491138b71b0d3883f99d362824313f36a19d3e28be5d37f3915c36d533323f90059b3e72b872368214613628bc1a3f2b23853ee2208e36acbda637940ff63e8cc14f3ea5f9d3372e4111388c81b53e9709183e6a7e1e381657a636d0d46a3eb470b83d2f2aa8361233223814c9d93dfca3ff3c5afd36384a78ac37f457693aac5c793a1716f4375178bb37d4378c383e6f8b38aef00038fa0c4337bfaa35377ba22937bfe52e373ce6ec3538c6e9358b3cec350640e9351b978e35b9968e35c5059235b870923524376536b3593035f6993235b51a80354a0fb935ae0c513581855335505751357f8fd437ec34e73618bdfd36e922c737b1e0fe376d37a9379959a43725a7ef374a9f5537baee0a3747120637372a46371dfcbf37add5b5378afdc03782e4bc37dee72537c925003f468aff3eb8fb10372b18eb35c1fa003f64f5fd3eaa0eeb35f6025137f6a8de3e2cc5d93ee9530b37be3fed37fd19b23e0508ab3ea2f5c737a3479f373a30823efa967b3eae92763714a82a3878a4263e2e2d1f3efd971f388422163838ad933d62758a3d2b4e103821c11f37e00267381635a438f340023736829a379579313804702938ff02873742ccb5370942c6375309d336d13da536143caa36006c9e3643198f36170b9736ddcea1363bf57e36923e7036d66e7e3699e39f36f7009c369ae79a3686db9e36776a9937515718362b930f361574f736deb3b637f49722372a4d7a361c3878377b9fa4360a26863614697436dadb94368f47f9362ba7be36619e943610b20137323da037c3b9a337c677ac3795c2af3755ad043841299f3e3660303f7b449f366e1cc0366a739f3eb7c82f3ffce6a1368b48e1375b95893e9cf7173f6e37153712cea6366cb8593e0db9ef3ed295a0364264313814171f3e5de0ae3e5149f63775d01f388bcdc43dd880613e018ee03746d9c4362c3c103dc320ce3d42bda936b834183711e3013a322c223a375f8e3640a4a437b18f2938cbb01638deb32a3726543737fa3bc036f3bc2736be3a303689872e3517862f35d1d52b356c862f352f5d8835f39e81351f72783507a08835885c4f37a84e08351545a634f8e50735dd136b3731343535a2a89f3339609b35dff63836876c393683b5353610563e36ba106b371780de36bb4d3f368610163712f83b38bd022b38f8192f3847f94a382a14b237aa68b637cde2b037ff79bc3737b8b337f725ed3d7d4a623ff4e72b36c8053735d809ee3d7deb613f22fc3035c8660d37f200e03dc6b13c3f5dfe8b35076114382a62a73da284193f3c31843783bf0038673e813d5168df3e651596379c21d537e389f13cc17b913e89bd3d36eb5c2a386cd78f3c3618063e140eae3768ea8738db81573aa0489c3a75a0223842ede237aa054e38f4a61638c565ec361f5666347c066a3492745f3435016434ea42dd34db5ed934a9a8d3346f23cb341709b8367aed8e35a547b234fc43b1349503d1330c78da339c87d833049fd033f02f8f34abc40f34bf08063462000034e19c203780518c36beaeb235ee7e91361eb23938b09def3788c47d37de770638ad620637e10a4d36e53d4936c4c7f036adf7eb36a1c4d836f1fed0361a91f1363bb6a6373c4d0c398fef7f3fdf3465342ff7e63663d43f3ab7577c3ff523d63484bf07386658b33831585c3f3fc3fc3627b65438445bd63814932d3f0ffdc837cac8f437456a7538c84ffe3e0f998837ad35b8377bc26b38833aa13e80568e371df89938faf20339c125083e020e8c386714fc3743e39d384349c13a3a8d8b3794983637aad920386dd00638a8dab13600000000000000000000000000000000b232ee36c0f6e136e138d236d7a0dc36682678364eafc43514df963531aab53538447e36a42b7836f3666b36e9b27836b23ec63701e6e936043e3b36ab9b883693a47835b0c1663575253d355e995f35eaa37e371f071137212a563660a326378f58b2377d3598377dd88637adfbae370000000000000000000000000000000000000000000000000000803f0000000069945537785a1d380bb07f3f6fb9fd36bcedef377ab24c386f385e3ff8c1bb379e2a21375876c037f5232f3f8fa5653704312b38513964389718ff3ea43d4738c8eb5d3765b02e38e3fba03e7ad8093819f5be37eacc35389613043e7f1c1a387959c737bf12563822b2ae3aada41a3800000000000000000000000000000000000000000000000000000000000000005db2cb35cd02aa35acffc435f97fcb357b8db0349846ac34b5caaf347dceb1344ebd85340f6b83345d0a8234f7c382344b591a3564adf8344e52193562b72635d35a0b35d61a0a35e50009356a6e0935778f08344af406349cd50834fef998366111443706198636e8fa0537144b853700000000000000000000000000000000000000000000803f0000000000000000e19ac2373e34763f66f2b73785a5303647ba0d38b15f533f6fffee379d88103701055b38522c2b3fe5a2453898ead1370a567438a6cd003fc8d85a385265d03728348738b17ead3ebfe47e3815ffc2376f4180392acf353e80b9123995b881388c6891383e74243db11f97387797593800000000000000000000000000000000d35051363c053d36bace5336f6895d3684dbd236f7c4c436052acf36ff08d03622610e34e2700f34ec5c1134f35b1034c1f0703590e36f3594f36e3526876f35ef7f0137bbfbf3365813fe3686db01375a628b3330348c330d77903344838d3331ee523655484236637b4b3656104f36ca929c36a9e09d364d6a9e3657f79b3617af97344f649a349cf29634794392349a5da537c1f27f3fe6c694385f9402381c740337a816773f9e0b21381f440337a8aed83722a7513fa0ed79386a5516368397b4378d9e293f34703e38b3914836c072ae379637023fd61684386bbf453737fa2e38b3fbb23e3e0c843862748f373c42ff37002d433ec7534039a9d7b637ffd35e386e94503d9209f0395e99553887cf94346668aa37a7468b37046793347393683637ec5f3633c67036bd21713670e9133559ad153562b01535b3e71235d2572535a1262135928b2435719f203525fd4d35e06e463586754c35d7155335f16a77365a376536203470364fb67a362c4cb93572b99034e7cb9534e93f2f3567c2b836d0748836a43c923635a9ac3616b46136eb94663679e767366a9e633684ee2737049d1d3701f31b3730791d3756164b37caac5d3fe123093ede83023893d2cf366f365b3fee17db3daf3a3137dadb8638974c343ff325cf3d2e605c3875161738194f173f38388d3dc41fe1378c8a1c38c344e13ea01b773da2edff376a918b3886d49f3ea51f033dd1296538e5e339385dcc333e369db83c169d2238de23bb37b1ad1b3dacb0243c9454b037c9f25e37669ee8378262ec375e7b8737038627369fdc1f36c2e42136bcfc22365128a134b366a2343198a334fb24a43414341c35795c1b354b4c1d35fb1d1a354d7e0435c6120235bf870335717b02359b275a35c1494135166d5635fb025c35b19b103554a311358e7c13353a18113504b59c36f83d3f36128d3936977b81360ca98837a45205375507d8366c04253733045c37b40b2637579a1c37b04d3b37928c42369a182f3f62b3a13e7e9d0e376a7f92356b7e2c3f0696933e8ac0893584878136397b133fb026733e2042213579e1643867f1ef3ef4df413ea0e2233862a8d437b6bdb63e50c8153e4d328437277379384bed7e3e484bc73daac54a38f770ae38ffe00f3e972f3d3db7d397383cec3d38bb40f43c94c1563cead32b38d39eae3772f619380dd51838cd94b437fd12aa345f8fad34707eac34f286aa34399d9a369fd19336e76c943608c0953658003834dfc539348aee3a341fc739345fe3b134b7f6bb34e378b334c2aeac34fd8bc7362fc8c336f98fc436ec46c5360c01c734a729cd341f16cb34cd2cc634628ca936c9af6436f44a573627a58d36e5fa1137d25c0537e0560137e2480c37aba04035600b4e35b0f260353b5b5635f1c60a35e0cf003f6f66fe3eca99f3343740bf365b5ffb3e1253f13ee6b1b8360270ba37af67d63ef103c93ed735ad3662b6c834ea7dab3efe3aa53e1c4ac534410e0b37a91d853e38e4753e0215df36c2243436faf5413efdc01c3e1efcc2342c6d59381f49d03d0df5b13d23e8323864d01438a63bb03c75ca853c097e0638686530354d770d3899c0953703cd3635370aea350dc2df350fd2d7357fc0d13508b90e34d4951a34b34e0f343d9e013498958b350a05893561568835fba38635057b0035d1fb0335a9a50235785d00356d416a35c1ba5935f1714635ae155b3561c31135820b0f35cc6d103593280d3574ed2b35fa0f32358fdc323577682e354ff9023629f10a3683870b36000a093676525336814f573688e15c36d77f5b362486a93796c1a43e95902d3fd1d5ff36dac45e3743a99d3e4f2c263f55ce4334c67e5c387eae8c3e8dd2093fa73ea137370b4938d7fe5d3e33bedf3ec688b537edd9d7379b352b3e5dcaa83edfcb3437524a96385e0ded3d36a5673eb6cc423801f717388c877b3da806003e2d8dd937a30c2f373ddd913c98e7a53c18e242369897ea36c3c20a38d216e337f3d2523610229e36bdf07e3606d310364e690c36942e9c355ac67e359e623c35ac174f352b797f349f036834ff116f3461a96a3439a08e349e4a8d34cf488f34d2308c344bb081363c465f3645004d36a21f5936d4ba5e3577815d35b2045e35fb635e35329381376059f936d1decd369441f83639660937ad4122369292253659585236e7a2a63685feab364b3bac362b43b23617dd9c372c940f3e060e5c3fd9fe07370ad63336afe5013e443f533f928f093628fc01381052ff3d5f5f2d3f7f0cfd36b69a7e387ab5c63d200d0f3fb802013808382538aefea63d8d1ad63e445be137ab757038bc5b523d25c3933ebf790038ab0ac4381132083d8711253e09f2aa38d5148a3885b18f3c910a9d3c423970382302ca376ef5263852930a38e397173768138a34237d8d3444f28934830d8834dd2827369f5614362da0f935e083093690a1603555da2b35461027358b4d2635455b8833b877883377978833f8db8533fc840737b89a013739a4f536a6280037aa95813551348135dd0680350e227f355e710e345ba810348307113483920e34a38d1237e34c1337f03a13375fe11437c805b636d0b4b7366342b8367435bd36e6a18b37814ff139f5df7f3ff1b58e34eff7fa379b94ac38c9d5723f5b6c743683901937aaff263861274f3f06a755367245f9374a709738db74263f602b4f363ab7c937b714ab39e573fb3e7ee350377239f137dcdfa2395da1ac3ec271c037a32875387bd3d83bc579323eaa5a5c38d6071738cc7bdd39eefa0c3d5291ec37089ceb37030221380dcd13384dda933700000000000000000000000000000000eb961a354bbf1735fb7514352f811835b5fbe13369f6dc3391b5da33b810dc330637f034992be8347163ec340d98ea3498d364358f97543563c42b355f445835f78cad34208baf34c7d5a7342267aa3424870c3763e22f36653599352089003699346837fc24a536d63d7436413a7b360000000000000000000000000000000000000000000000000000803f00000000516eed37aa6155384cae753f92e493375069483819ea89389f66523f9a562538a057ec37eb317f387040293fcd84da37f47c3c38d55685382c4ffe3ef0214638ed67573827c591386c94a93e07197238b69c39389bb2bb389558323e9e0a7d386be333380dfe153adb341a3d0728ac380000000000000000000000000000000000000000000000000000000000000000f11fbe320cd2bc320ec7c132cf11c632e45aa533b41ea73356609d334fac9d33484105365046fb35d70800368188fb35c22af436bb49c9349015d234596e1535653a6e370f112d37861c2a3712ac333780d9f536b0e4c7361fabcf363ccbdc3693000238a76dde373a38d037c326e13700000000000000000000000000000000000000000000803f000000000000000035e6bf38cbfa6c3f021f9938e5bf19380491f738fdd9463f659556382d5e113843eeff39346b253faa3e8338fea852384e583d3a814e003f97649239eccb8338afc9403a4b9ab73e8ecbb439d90582384287833c06d1463e5454513cc0e9c2397382533c7a3e503d9fba533c4b5c243a00000000000000000000000000000000d2982d357fe42b3510052c3588c32b3583b0ff35760cd9352de3e235de96d3350000000000000000000000000000000070c47335335e513509345e35124c4c3582494936d30f4336a5dd443670e54336b837c433c485c9339228c533b549c733677d41363c223e366c5441364ef53d36ff4bf4379fea5e3712534b371f44583715a30f37dfbbf6362127e83660e3eb363a9362384d28763ff4b91c3d5ec64038c0873a396068663fa16b193ce4bc08392c814839bc613f3f2144d03c484d1138c923893943fa1c3f2f90d43cee27ec371ccb773a2baaf13ebd2ee03ca53f163951f6253c8635ab3e7059443cad457439a3c38a3cf812463e60ebbc3cd1e8ed38a894673c9dcd603d89bab73cec85b23b0189a037f0eed637cbb09e375da18d37c2603936c2de303664343436cb9732369166d136df8ec6360edcc836f2ddc43671cfc2351848b435d812b335947eb13522222e35b906253557062235c52a2435bdbb063714cd82361cb58236d9c381363415d7354698cf3583a1cc354cfbc9357a81ad35a869913599629135f6a6903537c2b037b8826d374c4638374e756637ed569637e22e6f379bdf5b3742bb6437ed512638d7854f3f71a7413ebeb01438a872c0380c52423f35e2233ee86a4c38ee1be438de3e203f8101163e81f62f38a8776e3967c0063f881eef3dc73f4938e189e5395d56ce3e8a21c83d1267cc389d050d3c4df2953e40987f3dff839f3817621d3cc08b3c3e451b133dfba20739d187113c2e99593d5b6bd83c8ccd22396c6a15381a03293842e21538f3ec00384cf8eb351da9d5351146d4351c3bd1353f2e353621532736adf92536ce8d233651f73c3509961735f4dd0335cb920735ee7e02361a6ff53591c9f33558b0f335d60bf93652ad8f36b7d78f363e3f9036be7e24356f7c1935795d0a35f6590b358c2c40365d673e364f1640367e243f36c8d00737d74a0837ac720937febe0937bdaf7237e66c5637fd474437cae85937bb180738ba18283fccafaf3e3bc0e737799eb73867f71c3f4c219b3ed5b64338537bc8381323053f51e1833e3526d437eb189338ba40db3e3623593eb964693811599e394ebba93e93812b3e7ac0b73828ff3b3ab4c5763e9391f33d29565f387f180a3cd306193e49ed8d3d87a6fe381138b939a5e3523dd1160c3d203203393491e937ec3fb438bf56f5370d0dcc37575e9036aabe8b36bc0f8b36ba088a36a8e27d364c7c6f36942e6a36cb6b653692e6a63454578634c0e15934d0655d34a6518a339bb089336c7e8833e0528933fab18b363b6b8936a5898836e6db87365b3696333b219733ddb49533178c95339bde08371035dd365274c43615f8da36669314384307e237b92fc837a529d937b1c98137171a6b37298267370fe26937f92755381972003f7af0fe3e980d1e38eb28e338ceaaef3e3513e63e6e238f38856c6f38d2f1cb3ed91fc23e89684337a42bba38a5b7a83e95419e3e1a94cd37f8c7a739695d833e22d4783e7eaee8383ba55c39bcd63f3e6efd313e1f714738cbac713af4baea3d174eda3d8590c7393b27873af06d2c3db2321d3d8ec65a3ade8910382323243871571a382667fd3710b46436c46f5c3670da5c367d815e367da99436736d8c36196c89367bf18736c1d1133624280d36ae1b0836a61b0736d133d6343b68c934c078be345515c334a8b6db36950b8c36faa989367e168a368f0d1537e6111636473d12361b4e11364a95c635cc96c635f270c335fa71c5354ca3b237fcf276370646493744606937790e2d37a38105374007f536d22b03379d4213387b13b33e5566263f37d4d0375be08138a9b6a43e268f173f45b8a837f002943892488d3efa50fe3e55a650382aa652393e556d3e5c9bd03e148b3538e3e86d39b27c3c3e9fe6a13e1217b638ecad07392096073e9c7c683ece23883864a656392b5fa43d122d113e680e123961928839d8ea183d191e3c3dff2fc8386db9f137b52008385dd50038b516cc3762a426351a0922354ed91d3582b61e3556458836f2957f36728770362b38703650590c35caa7f1345973d1344896d334ce48ae35263dae35e0fdaa35b630ab35650da93661467a360d99763605c177363f65803579727c3563456a3555126d35d5d30436f3d00436548c0436861d04365089823713a12337dd6d24379c3225370df83437727b243771c61b370c362b37e9b32838da67483e19d24d3fb58e06386913f138cde8323ee2883c3fde1c98386b04f638697d263eba8b1b3f200e0c387361b03899c8093e2a5d003fef478b38f78d903957cce33dc736c63ee9bfcb38af11fc3969789d3dc5068f3e224e7b38ae85183cc691323de8a2323e9b84e738e0258f396df0e03cee98583de17b0a39449a023893f50f38e9c30a388152d6379a6ad53415c0d034f4d0d1340ee1d2344f738636e8737e368b206d366ce26c36e69c0236cc71fc3575beeb356aaff03561f9c433d08cc8333ec2c0333d66c03310c846361b15423643843a36aeac3b36f63da33572b7a235855e9f35e67ca035a919d03685948d36ee972436eec539365bd48e376bc508373275bd36b4f4bf3674a021365a20ea355318f1351945ef351fb05938f948383dda6d743f3d8c0a38337d8c399f870c3dc34d5e3f068102390ecaf33832282e3db64d393ff05067387241bd392b12483d2e1d183ff689d33779ca1f3a845a2f3d3a77e93e304f1f398cfcb739a828ec3cfeb1a93ea7b1bf38b96beb3993b1dc3caa7f463e3037b63b62519f3a6907c83c87c3693d61f7f63b44b4e33746ebea372f12e5375e18a1370000000000000000000000000000000011409c3552448c35f9af8035d7e68035655aa235a3d89f35f4b09c3585859d35141f1434c0f2e1336f4cbb3329a1e133553d313706dc4636ae0119352a2f27355f9a0537713fc0366e686036fa757836b60418364bb13835a864f633c3ddf433d15f4d3804ff443802c33d383e5e42380000000000000000000000000000000000000000000000000000803f00000000cbf28638d4ef9138ff216c3f8fdc5838cce68439e6be063a5b9c463fb370913817683e39ef67de39eec2233fff537a3882bc053a93f33e3ae421fe3e7b16bd38f365463a92fc843aecc7b33edc36d039d88a3f3a9fdf833c4a31483e9327313c236d8c3a24007e3cc3da303d7f21693c000000000000000000000000000000000000000000000000000000000000000042f40536282aff35c5ac23360f7f3e36f6939f35bf0b9b35556cab350036cf35de094a36087e2c3667ab473624e45e364dbd98363d7191364a85c036b6c3c036bea38c350b8c90354b7ea335dd05ae3513cec33739ad82360ba18937c70df23772e5b5365fb1b3362979cd36bf2dc53600000000000000000000000000000000000000000000803f0000000000000000c2f4d33632417b3f64cf7d37fa9b3536fca795370fbb5f3fdc8fc537cf0bc135b36f8e3842fa303f8e5c8b38364341383c1f3d389df7003f164e2538d84d94377b521c381779a13e0d91ef372da022376348ba388132053e8b20ac3820697538c94f8d386d2eac3c66d84138db0a9737000000000000000000000000000000007838ed3550b60036d1bd1736f0160a366507de341799d034ad957d349d139b34c7910f3546fd833155bb9f318fbb2634cdaf03367097e53583c4c6359c2db13500000000b4b07e31fffdf832f0afdd314b49f735e43e9b35ba79bf356812c135a6cdf236b6c2a433d8ece3360c89bf378c4f1035746f0b3509970e35cb081536c386b8340fd9b4344534a734fa9a9d342a1c04360b237e3fabcc083ccf098937687cd9344868793f96049b393c9e1936f33d5037b00f5c3f99b9ab3802f4ec379af293372d8f303fc2679d3896ddd0374ff94e3886ad023f960ca6384fcf033821890f38233ba83ee6e991386aa0b43718d980388dc91d3e8a49d738a2756738eb710638b496283dda09903877e6a437a017b33499c49935f8bfd6344e4aca345eafab35ae08b035a851c4357054c2350000000000000000000000000000000060b68c35d2a27c356c62913525da953505308c353dff73354b84bb353d3ab4350000000000000000000000000000000082510636cfa0033550429d35759b5536627e583780ff1537f03b3f3704f18837609e5c367fa019368e702d36940b58368a2d4e3769f04337f5423337bcfa3937e84db235953e643f5c68df3deefbd53576ef3133ea7a623f16cbc23da25dee3544b5243630124a3fdd784b3db7379b375dae76361313223ffba50d3d9292643700000000f3e4ee3e4560f83cf49068377ef28d37759a993ef64ff03c3d86be37ef4bdb37a2b0f23df3531a3da1a1e73702f99e36d78c4f3bf0b2b03bb59e2c3739382a370cdb9237ed1699371f06493760cacb36fc88ef36cfc408370416ff36e38e8e35f7ee893519336235a9c18935f3c3e735c330c735852bcd35671ce635a0f31536c850d535dcaa1a3695452f3636436f35e6c976355e6cb0352236f9352de23b35b9b92035455233352b164e356001ad363841a63670d2c23665a6cf368052c136cd41d236c35f02370291013769327136fbac9e361f06a036861d01367ad7ac367b3e333fc5a1993eb03c0a37516989354a62323f3b71943eae9ecc3568ecc936d2c41e3f3acd683e5f2444374d35ce363484003feffb343e45522f37bcdd00361918bf3ea3ef003e43a5fd35d711b3369e5e7a3e708da23d7e2be736d5e27e37c0c1e03d54de4d3d6f0c7e377246233719421d3ca87f9b3886bb2237173a0e36ef82d0379378a2370ab22636e84023350e562336261c8d35e3cf6535fc710934157dca336e078d3395e79433000000000000000000000000000000007f268a33f9b5db3173b4f0319b1c7e3100000000fe300433ad1faa33e085a933ba9df43403258e31bdb5ac32f5253334de735336bff800363cc0193617f96b36cdc72b34a85d18347d89133463bb02346f05403883004c384874423823112a38263b5f352a2e003fcabdff3ef4fa6b3566bdca33690c013faf1ef83e3a9d8c334a9c33367c19e43e5513d23ef8ec6836ff8fd636d117ba3e4aa1a13e71260a350c9512367efe893e7e306d3e3573de33a207d737d65c3c3e993f0c3e4e668d37f7299a37affab93d31675a3d8e5f66371a67df337962433c4046563986a29b33395a9237ff769738a91c5e38f14550375b030c3646ef0a367d980e36da220d367486a2352d537835ebca0c354dc48d35424d8d3632bd7b362e2c5636d8be8b36d5040c35fff8cf344b0b2135cc153a35621e8135d1247935c1c292350329d435f5430f3630f8e835940aee35f8390136874909373057de36c413ff36946e2c37836fae35f3febe3536fdfa355f5ef635f84c1e376cdb1b379a561437466d1437588b1336f1ae993ebf6d333f8c9f0636b2abc93633909e3eea442e3f9c17e335eff92d37d95e863e3aff133fb7f9a236bf708836ba8b623e69b6e93e1a5e26352f6508363cd3303ee6b1a83ea6f518360c45803705ec023e0a78473e0d742d37ef321538ddbcb33d834e853df3aace37043fcd358b49623cfb99c138626c2736b66a2337dea0bf37a6228237963c0c3714722237059133373493eb3682a60037000000007b3dbb320000000000000000bc11a136f6d407369f9f06369e351436d6df2d36c68547355bd60f351dd90d3500000000000000000000000000000000a734a835b344963506449a350c87a235b1aa9a36e693cc35f640f0357180a536f1e1ad34b534133562df4b3562026135b65bc035ba81c53554fed835973ec135c7654137b97bdc3d3485643f3aaedf36bc9aa936c67cf13de7bc5f3f000000007290d73765c6a63d7f4b433fe9f8ca3658d6b1372c679f3d5ad7173f2f57933632ee75374fd5953d28b8dc3e000000009af3973713e18d3d2a2f873ede80e4361ccbce37e83c8f3d0fd0bb3dbd35913712c46d3728e6a53ccf726e38465b4d35e076da3562b35637a1464636c932d2358a16c73301b4a4341208be34e5cc99340b70ec3425a4f534441e0235fe8f0c35ef598433ba00a833519ce733f604f733d02a573591983b35751e0f35f3b95735000000001c1a0233edc5123444fa0134e3b1fa35ea97bd35e5389c35b571e2351b51a636214d7231a2071d315c5aec30fe29eb341754fd348b8833355230eb348741d736b7fadd36caa50a36ec26fd35df0faa3493545a3ceddb7c3f38037f34df72ba37abf87a3a3e58753f05840435760152384863df38c9a1583f2a760337d79dbc37e0faa1389a062c3f94baaf350ed4603859322d39d54bfb3eaf4de8374ecb3f383719c738261b9f3e9bf60738b57a54382fea753cb967003e13a946386b4dd03784e48639e5fcd33c9b0ec5350114a436822719381f9c7237fdcafc35000000000000000000000000000000002c637436b54852369ec23536fb2c8136e61e033646c9f0356172d635452ebc3503e275357b725035b57a6435c57a4a3521489b36c3a4993611a59136b17eb236e929d3363acb24365ba50a3643a1073696fbb73564a787351953b2354f5aad355a663736ddca35368908533697155e360000000000000000000000000000000000000000000000000000803f0000000050d22a37d1572c3808dc7a3fb97ca436fd79a537c59f623830ef5e3f984cbe37f27bf73637eccc37beb42f3fb64d7e37e5aab937c35a4c3871f9fe3ee5461138885c2638afd4a5385df89e3e2d238238f17c0837e61182386e27023e65b76d383f9efd361263163857d99d3cffa7df3700000000000000000000000000000000000000000000000000000000000000008b72cb331946c4332da300347c94043400000000000000000000000000000000fd790f369f43083610e7173606cb15364032be354561be35563cc33592afc0359eed053460d9d63390d58f3496226f34b307e8369d806f369ee18736f5eb0937d4c4ae3559b9ad35ee36c43570d7bf3500000000000000000000000000000000000000000000803f000000000000000013dc9c37fe49743f02956037a33a363542e48a38be08543f545d4838b155eb37ec10713839f82a3fe01b3238a7f7b23716982238f33d013f38f21038f991d1373a070b3a5671ad3e37018638a8fe4d38c6d95a3c76491d3ec708443cba0f33382fe745389dce563d287a4b3849d0063800000000000000000000000000000000f2c3c235507cc1353f42b8359e57ce3526cbf334b27fd234026be134c5bf29351e82743581058635de359335e46396353f4db835265db435de8abd359c95c3351bcc5b3463f2893456278b34e95ba2345bafc935f781cb3577f9d335ccdada35b49fa2357ea2a135f10faa35aa38b135693169344a0b8434c0f98f349053b03461e78334df285a34e7896b3414838234fbfde43567cb7f3f242ac23a88ee95362c6e6438f69d723fbc25dd38f015283880009338d44f4e3fef3dbe38b8054738386888387afa293f1e819c38e62f1638c279b438ec4e033f0a67133916f9223847ff8b38dc99b33e5f389e386b9335389724d13826e9203e477e113dc1809c38e815c5384f836e3d2d26e13828a0a438f7f1c036a6e6193882340f38c7705b371fdf4333e9bd9133e3ee8633ffc58133dd93493512d3423553a06135726653353adc4e35b22a47355e1f6f3513156e35000000000000000000000000000000002b6ecf3456e1ce34a6fb0e35c2590c35f1eba03581df8e355191973531cfa53500000000000000000000000000000000f461923535e731354f8f853578f0aa3575de4636061f33361b403c36a651393616c97733cdea663fecedc83d8f5a763350739637db38673feeb55d3d63aa00387aec4a38298f463f33f0ee3c029b5938479162389d18233f666c813c9cfa543848f101389ce8f23e9edbd63ca54aa3372d87863824a7a43e852eea3cb40e443850768138e1b5153e4f785f3dfe075b38e35a743836781a3d52c9883c09d97438866a6b363c64ce37039dba377f488a3648cc66369b316a36c83957366b5b553638a97d33b38c1233a1f7073300000000000000000000000000000000000000008dcf5f35c0492735c3ea2d35addd1f35b0b043354c353c3533654035f6063b35dc95ae3304b3b333a6a8d533d46ae7338c9c8435a0ed693524788535f6497735315ddb34203bd33464df0235817e1135912caf34a825c234c0c0b134ea669f3498f07736aadb333f0488983e07c7f736c3bc08375575333f0f1e843eefac7237241ad437be901c3f762c483e9873c5374aa76037fe93003f66a61f3e248a28373dc6bc37a6e5c43e8d5ff33d328b253791316638e69c873edd27a13de824383890486438ed23063ecff5893d99c71e387dc09637e94c0b3da879463c43f48e371103ac33084a5434f9a48934f97b5234a39c42345bfb6934fa312a340bad3b34000000000000000000000000000000000353a435b672a9355c9eb5358d38ba35a48eed358655ec351ac9f83527ec0036000000000000000000000000ffeced314010f8350aa8fc3526a604368d9a07361582bb35517ebf35753ec8350b13ce356e313e37295fb0360000000024707c347bb0823481225c34fec97234b39f8434a8be013761bf003f1896fe3efe8bc93469d88e387e17003f2cfbe93ecaf32c3825681838d8d5de3e3d29bf3e19bec13702fd2038dc38ba3e02b8953ed814b33775f3a33833508e3eb996633e5a7d6f3862f52d38d6cd4f3e39c6103eb39bcb377a16e23807ffe53d1e47a23d5a344f3806e0a9382a4f283d2ae4b63a67f89b388dc912359dd8da37c20ea937e38217358b2224333fdbbf33415290339d698b33148f1334894f173441992134b4a2f433e7fc59355afc5c357b57603528fd6535ab846433085fd23272ea3c33ffac64338d991f35bd4221357ef34335cc1f3a35f39aa43501a796355eb38c3587bc853502e00c33000000000f99a3337151f1333c840235b574db335637c934aad725352b839c36b414923660119836259b99361f831434fa679c3e61de313fe3c5bb32c4d2063739da983edcc4273f4535fc349e294f38067e833e3eab0b3fdf1b94378b697b38bf6c673eeda9dc3e70a2ca37ee7ec13762c33d3eaadb9f3effab3636de6bc0374b2c103e12f84e3e7a653d374f307238140edd3d1f9daf3dc2363938899e3538b404243d9b67933a69cdf637fece9636d6c5bf37e452a03683a49f36de2600369aa6fb3550248d350fdc94356140703400000000000000000000000000000000000000000000000000000000e0879f35667d983550369635359d903503d8e934184ddf346898d234d349d63400000000000000000000000000000000d57b7f3509298c35b5b88c354fef8a35f1f11f3699237a35205d9b3511ee78361cd114340b101d3406980134e9bbff3393e82638f5a6d93db9d6643fbb18e93513519938a192be3da8415a3fea2cc9363be187386300a93d9f8f373f78fb94378aa99738fae4b23d432c103f36d2c7378f083f388fdab43dabd7d23eb44284372e769738c2449e3db96b8a3e322b2b3826f79f38e600ad3dbd98e33de2dc66389c607a3886352e3d04a8ae38588227388ae995339e610c343c3a163463c80034938f853451c57834b9d53a34c2db5f34781a3f34c0155b349cbcfb33c464da3342219335cada973572eba0353882a435b257c6351041c6358537cb35001bd4356d403f348c8d73346c3b4e34b52e64344140be35881ac235b1cfcc359e79d135102fa1358008ab35795bb6351845c0354e836135e70d523534183f3544c76035d522d6354190d8351162da357832d5353f748938ea3d7f3c6d177c3fb9728137a39fd138748ccc3c6bb86a3fa74f4d38f9d8a5384650ac3a24714e3f9e764e3800fd8538dee9103b57c5253f74ee2138e5bcd038ae35173b0ccbf83e93865238e55c8938e370f53c3ebe9c3e408c5b387ffda7384ff3803db7ea063e4eb69f38fd4a97380696a93cda51013d531c80386d76d33580924636e8c7db350021d73500000000000000000000000000000000d3749a35c2189d35148a913574a68b35e07751367b715036c469413666163936000000001708da315d8fe732664b82320a1cb135036cb2358bf6b535fafcb23515054536e67e4636eea51a36f173263660a15b36f9e306340000000060db763475918e3402901a34dc43fb34aaf0de340000000000000000000000000000000000000000000000000000803f000000006dc1df3766f04938429d723f33475a371e882438f1db5b38a451523f38d90e38f3206338f6389b39973f293fb2c13e38e36d0d38976d673a8c52fd3ebb490738e23c44384c82413cce6aa43e89404938f0aa8c3876e9ef3c6bff113e8032a4389f2da9373dda913ac6b5383df7b2ca37000000000000000000000000000000000000000000000000000000000000000044943b35ed942935c54f3635437c3235693b52368b324b3607424e3625ca4e36850f7b368e5c74363a1976361cbc7536b5b8e4343ceec3341c60e134e2b9de34f5eb893691c188362bd0893629318a36830383367bc4813695488236848f8236e5b48f36eaff8c36139d9336d3b1933600000000000000000000000000000000000000000000803f00000000000000002db0973a5b00693f9886ac38adc271382f8ffe3a87e5453f29245338c118c5376a1d383bcdaa213f621222392e91b7386d69573c77faf83e3efe7438dc6c8237572fdb3c6791ac3e5473ea38accc2238c254093d356e333e9c063f3caa5ebe388490d63cebc24b3d53683a3c7918a23800000000000000000000000000000000a527ca35c216c635a4adc33593b1c235646ba23531bf9535acb99935e33e97359593853661a88036f2fc7f365dc27f36e13d99364383953669b6963640899636c5a2f335164be2356f6cea3591ede935ea5cad36cf73a9369d14a836a62ea9368f408f36a00a8e3643ee8e36faa38e362939e2356277db35704fdf357326d9356da88d35e5fa893576948e3559ff9335ff2e1e3925d17f3fb90b8b3a2194f43895d7e33966086b3fb49325390d389737b7a5993a281e463f98bca438f367f2379b12713a917c243f9dfae738de6a28380b21443ccb4ffa3e587f0939650d2436468abe3c70afae3e994a2439a0b3a038e177103dfb67353ebb8eae3cd6d264384853a13c8a00593d5df7843cac6d1c38bc818237d8b9b6370266053750c59f36acd7453639db4636698340361ab04036cd3bdf34b7efd434b27bdf34a236c934fc6c5d360870583639d9563609635636aebd9536609d92364b7892368474923641c00d3579220b35700b123554bf0835bd06ad364567aa36ff50aa363c75aa368123713625b86d363f8d6c3698b66d364bd99d356f2ea135c600a335e57b9f3516445336a1985736919b5636b3ae5336692455389f345f3ff954033e98144a38ac9d02394acc593f9f04923d7d58e93745d1823a982e343f4c978d3d106e543829194a3bf4c6163f396a4c3d14d4c1380611513bd9dbe13e465b643dd5c3043799c9cd3cdfcba23ed0eda53c763c9d3829a9f03ce2cf2b3ea154003dae785138cf4c553c45e55c3d981ac63caa97c9376af62d37391e5b3752e02937be21ba36d806df3571d1d5350232e0355114dd3537910335965eed3461400235d1c5f83465818836a5dc86364af38536c8c48536f98c83363a4281367f1f8236197e81363ad901350334ed349681fc349671f634d1c1b636b1f3b5368255b536cc94b536098c8536d1c6843639e88536178e8536495e05369b99fb352af5fc35b24d003675b866364c696a36346b6c3683cd6b362ffac33898dd303f57709e3e6dba9838ac2e0139b9422c3fcafe7c3e60eb6f37ceec2f3a0757133f7a824c3e7a4362383ecc143b8c8bf53e8bc5243e43389b3838c4123bf13fbc3ecbeb063e52712638eddab43cd98d873e63429b3d57cb88381256eb3c6650203ee1022f3d3e8ddb3808690e3cfacd593d5ca8ce3c1cfd3a38d9a09c370bf4ac37fd7d993769a15f374d3f3b35a89d3b35447142355597453547d1c435c0acbc3524dbbc353a72b735a8f1733657366e369b4e6836275e6636bca28e36920d8c3653eb8a36bf188b36f78dd135f9f6c3352e5dc335dd49c2359f51a03645569d367bfe993658919a3650ae9036551c9036615090362f9190362777053698fcfe3556cf00363d3afc35d822963582eb98354eb097350a939835e8c31339ed78023f363bfb3eeb5ebb38477c3039f7bffb3e9e11d93eeaa2e03737e81a3a7438da3ee378b13e66981b3701c4de3a5969b93e42cd8c3e8cb6c938970dd33a3351903e954c5e3e931d09367f78b03cb461533ea89f093efd7fcb38c0b4cf3cfc2f003ebd6c9d3d017bc6372d6c3a3c18ea443dd0d3cd3c778a4538243ea5353927b53558f8a53553f18b355a124836aa8747369acd3b36c4493e36e802a73493b09034f4a6a23455398734bf7b6336f5ea5f36bc0c563679e65636c900a136b9c39d36a5ef9a3621d49b3616c8e034f11fd3342549e234c210cd34f7c7983652f096360f4b943651d595368913933626569136c1868f36bcfd9036c45a5b350dc25b35c9e861354d2f5735fc8afb359d9a00368274fe35e13dfb350b2ef63825e3a73e60172c3f6a155238f2ccc339fd919f3ee0f9193ffe2f3a375cb6b93a2438913ee6d3f93e70899138f45f2e3b5959803ea129c53eaed347384ace203b8e76513edbc0953e0a721f381914873c139e193e806b443e55589f38025cd83cf038be3d1857d83daeb69a3865bfcb3bd8d66a3dd8818a3c3c29aa376e9ff3355519f4356a3af835a5eeee356ca83836d398313686163636bf6e353691cd5a35b1d650350a80543599b14c35861a5c3660975836545d5136829752368bd19c36db259936d4d8973611ee9836b0a30435a2e7003520ee01356513fd347ee6aa36874aa9369a19a7362645a836bf438036ff0e7e367ff57e360219803633e6bc35a784b9351500ba35f9e9bc3583aa5136292455363acb56367f08563615a8fd390d96163e854b5a3fa622ad38aa47023ba80f093e0608463f4c3f82379d17093beceb153e7eb91f3fcf45e437591c883b795c0e3e0b39fd3ed1ac82381ade383c9fd2f93dc346bc3efb480c37913b8e3c1a5dc13d8c537d3ee21eb73840acf93cf14d7a3dff900a3e6d7990388dd88f3a02b5683de7a0a63cfa021d38e740653671fe7136e0056936588864364cb7883478e67d34f447733432aa7434e069ab356c40a335bc449d35bc3299351c7c6c3666b46436bbaf5a36c1645a36d3f79936a85d9636f1f092368ff094369ce2f135d33ee335d70fd935052bd735fd09a7369033a3368f649f363ea1a03665a19a36a1d998360d1b9836e3ba99361992f935295af5350161f6354a2cf135f9d5e735194be4350f8bea35e449ed358a8e2d3a3552813c87e57b3fe0bbc938c13f5e3bf1fff93ce8aa603fc0938537c9cdc33b239e0f3c6b97403ffd7f3f385a107d3bc8d4203d0be7173f0a0ac738c4f35d3cc73b443dde92e03ebf0862370702a33c7cb0283d88c1973e7c688938ac82c23cf9be4d3d6e5a1b3e19c37938566f253cd7f9183d07330c3d30907138012d0136416e0036c27e013605caf7350000000000000000000000000000000022ea3d3295691c32d1037d3210a03832ab6865362bb05e360c87543600a65636330d6d36de70673642865f362f266236bcf5c934dac0bf347c6cc734bcfdbf3465b38b3619cc88368cc285362af487362d7c60367ae45d3691215a36e2995c36bdc18f35081b8e352afe90353f0290350000000000000000000000000000000000000000000000000000803f0000000057dc363b317b8e3b3503683fdd0d9c385ed1623b8954863b84d5453f314f9f38656e7b3b185a933ce2901d3f0b25a038e045853c6b49a33c3758ee3e2a0b66382685ae3c34e00b3d274f9f3ee6161639421bd13c6f5c353dc34d1e3e92e5b93ab4ad663c7033033d26e72f3d1278c5380000000000000000000000000000000000000000000000000000000000000000000000000000000084d6863084bcc33200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d686a032ab47b43233f6d1320475eb3242ab8033a52491332b81a7330965b03300000000000000000000000000000000000000000000803f000000000000000054452f320349793fef1a92330000000000000000d53f5c3f0000000000000000000000004e34333ffd13033900000000000000003cdb023f5a2c3a39000000000000000027b5a73e2ae09a3a0000000005211d390e901a3efc6a113bd130c332621da0337c812d3d740ebe3387899b3300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa3b963354e88233f5324333822829330f579a332587c233a1338433acbd5a33aa7bc3332bc4fe33cef70634d90e0b340000000018127b3fc191de3c4ff3373500000000d8bc733f655f213b00000000000000007a23593ffbab613a000000000000000013bb2e3f1766ba3a000000000000000008cb023f4662ad3a00000000ea0c8833fc80ac3ea78d873ba309c73371921d33f35b1e3eb8add53cc09e323334aa4433d2305c3d8a532b3b6ee51e33d19faf335f1163334804ac362b1aca33e3c76833f48fa8333909ba33d8327f3365b77c331b9e983336d0a7337ee3bf333ba889328edbaa3201efb732c0c2d43245640d31295017311a613331fea34531cbdf00345a1122349b6a2e3430e545348e560d33c5b73533953b4233083b59339a404733e0d87733458e2833f78c0d33f1cb34342f9e8d345d318534e33b9234d93eb83354fdf53367aaf433c0e61834dcec81334c89613f6a8b013eeb9176353b1993337e465f3fcbdad43d1b1f8c3632de9a32e6e84b3fdd7c1d3d95887732ff563731e780233f2649093dec5734316c8510340e06f23ea888173d41d2ea33f45c19334d87963eda66773dd378f73216d00133e258e93d35188c3d173ace32586e0e34ebe1c63a4850093d039ad0335a1a19343bfbdd3563572b378b33f83307d403340897173482117f3445e590342cf3db33b02a053469f2853496f6da348b82b2307e33fc30db490431dcc11733878ff532c49b03333ae21933d3362933e0031134f4d22234b99a3a34d1fc4c3447d0f1316c871b32a1e02432785d383256f9c332fe7dd932abf1fd3238b3073371a9bd335a23e5335aa9033431fd0f343bd09e34f4e2ba344ef4b23406c6ae34f14ad53315c2353fe875973ef68b123470ae36346d77313f45ed933e1fb82434ef820b31c806203f99355c3eefb0f330eb291f3368f2013f610c2f3e22201a3353363534c0ebc13e1972053e0a2b2b34aede0332bd9d733e7918cf3deab3d1314613fd328d73da3dde05933d09f5f632d30fe83392e1d13bc930db3b2e46d63345d38a342341333892235538b1bf66349c7cad33feb11e33cd604d32cd79373300000000000000000000000000000000578a6a32ef1756328ab65d329d73e33200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010006b334caf2133b8630e33631a0133000000000000000000000000000000006759823348a0a5331f4dad33278dc23342f24a33b2f2003fbb12013fc0fe0a3300000000f075013fe3acf43e00000000d91181322693e53e6c89ce3e92cf5232000000007615ba3ecaa4a03e000000000000000097858d3edfba6d3e0000000000000000d76e4c3e4cb9123e000000009b5105339f0bc13d95648c3d7340303300000000384ac23cf00dcc3a00000000a9e56033a29cdf371c8898374a6a823323a18d3425069634885f8f34cff67534b4c8c7332b95f0334e0701342d7b133473eed93294b106339bde0a33dd04253396d1db3107a9eb315d1306329d751432c6711b3424814034af174b344d1466341df008332fb62f332176373337294e33fa8c222f000000006cd5e2307a9b2431c00bc933f0d02d34d6d75734b0328634008ed3337bdc01343f930334c40a3834cab7e335bb5b9a3e407d343fc0988434f11cf2339c39a43ec2bb2c3f9723c1334c4df732ebab823e100d153f26e4ba32846d1032be68623eeac6ea3edc580632b9f83134a15d353ebb31a93e5deb0d3402d617334d08153e5ff3463eaec9e7326ec820315c67d83d214b8e3da5778932fab30c34cf0adc3c04ee023a933eb2339f99353438071737c741af360738fb3392d7e633a96b03343cb64b34153167347dee243495504934b56f6b3469c77d34bb2318335b4b2f331c0d343340ba323395750133aa3a0b33e2d31b339af72c3359e4ef33adea033446951434d354233456f91f3113d24d31ead65431ad0f6e3168b37e32ad028d322c7fa13227d2ac329ccb77332ae18f3390aaa133bb19ae33e82f3a332c0b2e34473916349aaaf033d9fbdf33cede013eba70613fcd18f13379845c342265f73dfac95a3f98921f34662c083314e4983d97cb413f4717ba321c542a33a52f973d7297173ffa6a1c33bc261c34c3c4a03da657dd3e24331034b2403131a104b53dad36843ee87f0531cadba7328aedbe3d3ff5ad3d21359b32607fd335488f0d3db0f7163a2a4d8a330771c4337ce3af3700aea636e29c7e33ecde04342a408833d99b0133dce57933ef786a3374cc85330ecf873389c38733b4cca132988fb93207c0bb325e751e330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5db033b0edcb3ca5687b3fb0239833de8950330503c73c9b216d3f9c1c0d3301528f326468923a1b9f553f236c4632745ffa38ed44583b70d42b3f39a138340394523964a4823b5967ff3e000000000000000010e1a53c448da03e0000000000000000290d0f3d37cb063e0000000000000000b7f4f33bca3f353d00000000000000007fb31437000000000000000000000000000000000000000000000000f2628d33f677ac333b45ad33c06fcd33c85cb232d333db321eb2db32df8d013300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008cdbe325cbcda330000000000000000000000000000000000000000000000000000803f0000000030d39b337544a73374b0773fbd537033833ec4329b3a96395baa5b3f4206973200000000a5fdda3997b7303f00000000000000000ce8c5391358013f00000000000000005bdbf439558fa23e3a1afc380000000055a70f3adc141b3e000000000000000039d5b039069b193d000000000000000000000000000000000000000000000000000000000000000000000000d550dd34deacd434bf12df34c7012c3578d61c35d177f434329c6635cfe9ad351e47af35245fbb35ef58a73538b0b93509a604359a3afb343cc34635718b94358aa2a33553fbb035eb86e33548cd0636bef46f3573b88c359a7d4f350aee4e35b77f8835e4c281355cbc9d353384a43500000000000000000000000000000000000000000000803f00000000000000003f10d837e908753f7cd38d38817c093774049838cb3e533f8033a037542c02365f8e873ad6b22c3f3c633b3a598615369498f339e5e7033f07812e3aa8d21536550d353a9d60b13ee1bd633a12eb2e3628df253cb36e213e24ddb33c25fa14397c228f39705a823d0f2ddc397e1394370000000000000000000000000000000014d7de333c2ed733887ddf33caeac833b9b82335a1b319358f2b22354726133565c49435b7533c35d0ec663526f58135d181be353d79a5351564b0350f30c9355ee76435631c623599434d3509195135640ccd354adfaf351a90bd356a18bf3598d0c335fbb4bd35f45fc1356dcfc835d919853532c7883534b84935181d5e35606e34356f1910355dd4ca34055bd334ded373345aff7c3f3ffc953ced026b34744e7035d63c713fc58fe439cbea59359947b9375870503f34fd913975aade36e2e50a3a82d62a3f4ec3763ad3190b371f15013a4e93043f432a783a6a472b3762c5d639eb9abb3ebbdbb63af23aba36c3badb39ce332b3ed397343d06c6d337d6adc137b6d5963d787da63a601cd63739969737770e1838acdd1838cf0ad43750aa0a35f060263555263535582f2d3530ff3f351ece013510b10f35f74f26352aa4ac34107a7f34d4a5993491409b34462285352e5579356c499f351647ab3501e761350c080c35596d2c35a74c6c35218213350c4b043578ac0835ecf20e35d1ed543480f28e346d55be34c46ccc3481bb503588ca373525ba1f350cc36035338c90350a187f359ac13f35f33a5135011d6237781f6b3ff250ae3deb83f1375d7a8e354acd693f9aaa213d1e5aef35114f2935b78e4e3f75402c3ba7ef2535545fe2383438293ff304cb3a644a33366bac063a5777003f53e17f3b53072139fef3b239865fa93eb88ff93cd1795f384e8d96393e111c3ec3e16d3da3bbc7360aa24837478b513d70ae043c1c9562372b58d3366a9cd937bab2dd37943c7837a57a78353b4f9035d8967535ff578335d629e534ba62af3415208f345d703b34e9bfc534c95eb334fba30535c12ef434d3c7f1344add14352cabf03482c8e03465821735463cc83400b81435e2176135853c2a351d1f2935f68f6435eb3a5435ec715e342e6c8e34bab13434e0212334a10efb34f4f605350f47e3342344a6345428d9323125ec32026602349e73e73488b29f350dda393f2c9b8f3e78ae3936315180359ed4383f68806e3e6199733512e531370e34273fc9571f3ecbfc7136f5cad73992bc0b3fad68ec3d616e06392b59ec390fd5d83e79d5b73d7893d3386f9a7338d87d993eea9e743df9610637e01efc390731103e507f963d3ca4d8361b482337fd97563d9a87933b468f1937cfe4aa34d03e9e37eacda5379207f936405ca4344ed16b3407be6a3492c67c341f674335e8f32b35c130133507530e352fa7ed351f21ae353dfaa135301eaa3593b0e035a459b535afe2cb350912ed3595a44c35100d3b35f9ff223591c02d3573d91536c8630036f52bfc35951cf2353ddabf3585dead355a25ba35a75dc73500226c35169c5d35ac773135e29a57356b12b4342dd6b7341414c734ecddda3483b7d034cb5c013fa516003fe917d034d131bb352be1023f2588e23e17df933535c4e6371528eb3eba7bb43e08d18737176eff397037cb3e9b63863e45d83b3672b2d839e565a13e4875443e44cabd35df4b15393203783ea61eed3db536463640b5c4390995043e0dc2943dbdf1f6374e95a935d431553d6d6d3b3b473ebc350d08c234ea95b8345fdacd34561bca34b05c3d34f59f0434d94237343d248e34e0981235d539ba347ae1c63473a4ed3423e381345c2634346e65573438e0623409ae1a35f7720c35e3530c3591ad2035b37b9735b02855354bea6235c06191353e8b6a352f25fe34cc73ff34b30604356c70d134d9eee4348843c734b3a9cc3402382d35501a07355f3ff934433d2a35a72d9b352d468035da11423541ac6c35703c1937b584953e2a76363f3adc4335a9e79f3597ff993ed3aa263f9a6ea53504674a391fa9863e95bd093fc6a28e35e0d09c39eab5743e3a52d53e16eaef35001a273a5fa0593eb7f0943e03714137acd2333a68703b3e174f313e7b8ace352f860a382ff7063ecf32943ded4b6537ace92539b4ed583d6928883a527b4b37c9245c360daa9c3719170d373cea8435a0cf86358fde9e35b9036a35b7867f35b1091535c003c134e31fb034a90602351a1284349724503438e08a341f8c7734695ddc34ecede934ac139b349e28aa3461244535e484fb34980d083595d66735cb689d35f6805a35e02f91350763c23563cf9c346658a134c53e903453d48234bf562a35e2c133356428293561fd0135aaf1dc34f9ecb0344d2bb834db017435eedbd238cb86d23d6223673f317ead35e472d438895dc23da5b65a3ffa8b9e3555c5043a6ea39d3d9abc393f34478335cbb7783a2161c43d23110f3f2440a2351f37683abe1dde3d0150cd3e1a762337d270173aa613ef3d62d0703ee7fb163649e3453ad425e83d7b57ba3d3b331435f193a4393ed05d3db84f393ad7df6037f186063820993438b6ed053853919a37318f92341be02934601f37347d8e4a34bfe68035a6285c35b0933c355be74a35fcd404361eeacf35c18796355f699a35cd749c351ba65935682065351027a13546a88935b06574355f4d4f35d1826535e2e61336d42eff35ad94d9359c0bc73580e88c35c61e763527486e35afae883581016a351eb060359641413532a9673566898f342084783491d75834dc9d6234d86c283860d9e53c351e7a3f89fd5a37ffa6e3373e36de3ce590673f7381ec35f74ea338f181673bc1274c3f83161b37bf3c333a2d15903bf0ef243f3b411c368020093afa42b13ccb32f23e5dc54837a4d48339846d663dd73c953eaea85737d76f45393a54a13d0ea0f43d0e3ad93707138e3755e5113d00dfe23cf9fe31371cbd9934120f4737c432ad36287f8734000000000000000000000000000000006b8b973570b333353cc35035fca093359a809135194f5f358e7c4535372c44354938b135e8ea8e35c72b9e35a880d035a887cd358a26b6354becad35ec4fc535b273fa357287e8357d9fc135af1ab03530dc91359a758d353edd8935444baa359224883594f19635a8c75a352f2870350000000000000000000000000000000000000000000000000000803f00000000ad5ca5378c3c183acb06723f635a14370a11ac39369f5d3adc62523f46dfea3798799e39844f983a26722a3f380d2336799f093a91fed23aebdafe3e8379f4368522303a136b9f3c2ea9a33ec4fad93953772438dcf7413dba040f3ee9d9eb38ae6f7c39fd3dc33a872d4a3d4e1e1538000000000000000000000000000000000000000000000000000000000000000080dce433f52bd73371b0d333a7b2d53308aadf34d0879134464138346d93413439eb43350790283565d72b3506fa30350263c234cbd7ad342fa8ab34e2bba7345346a434625a6834e6ba10345d183d346be9b2356b87a335cf479a352b48b035b1a8363576a32435f5e828359f2a263500000000000000000000000000000000000000000000803f000000000000000060acb63b7030693f4cb2873841fcdb3710910c3c97be433f3913443862efb8375fb92f3df133183f4fec8638292c0538e2b2993dd24dd73e79e3f03900ca6c38b984c83d459f853e44d2bb388a548b383482b53d7312ff3df4662b3c7431ec3757ba313d991f283dcc912b395fdcd338000000000000000000000000000000005cc7843481db7c34eb5d6b34a05f653497a5c5340c13ac349d19a034eb01a234efe53a34c07eca3395123933d1fa2733e179d434eb019b343c0fab34ba6eb134cdfae634a5f9e0340c0ad13423cebb348609203530bc0c35f6d5063591b2f7346f29de349dd3a0341175bb340971c03476cfc434ce97cb342511c7349eedb3344d758e34d262a9347dc99c34bf8f86340b1b913adf1e803f9e35f13a46bede385b151b3c03fc683fd8550a390b7caa383008063c2fe4443f8c1b47387b4df53714b74c3dc320173fabd3b738f1862f38408cb43db73cd23e6c67ba399e4e7b38e799dd3d0513823e69ebcf3883ad80381fbcbd3d90c9ef3dcb19813c73cc463806452a3d09ef3b3d90bf5539394ad238a11d0835b7ae1135b9491a3538b90835fc1e4f32226b4232f108373254c02e32325dee34bf07d6340931d734bd10e534c17b6435621b483580755035e5245c3529b71a34fae76332ed394833d4c202344d2fd73480d4c73473eecb34820ccc347fd8b535f4c0a2357cfdaa35f854b03507ccb63477f48134ab1683343c48b4348a114e346d7654343aac56343e965334cdbd6a355e0d6435859e7835173277353bf72c39b0c16f3f6b04883d74e7ff38ba04793aa8b46c3f8c7d1a39cde4b238f96eb63b0722463f7fde7f38a62823388694953d9c86123f6fd2c138f50786383bd0d83d825fcc3e7646be39bb829538f257e43ded1f813e7c51ff3817b29638665dae3da814ed3d26b3d43c9bd33b3873471c3de24e523d20417d3a8560d6388c69a335fcafa0358257a335f0f09e354ed0353534e319359700123509140e3587c03f34e52a3134551a2d34980531348d48d834a54d9a34884571343eaf6e340bad5a35ab162535b128213587c62c3527c4e13444c3c234d6d0c6346c8ac534a09b13354afbea343561df34c43aea348fc0663504293a3537023a35c22953358c2b2335cd0918356c7e18352f7c1c35ae102933e27c913315a0bf337b011d338cd31539ffe03a3fc3ef8b3ef5a1f8381753643c17e33c3f233c2f3e0f9f89384b78ce3cf4e8243f63dbe43d2d342338ac12d03d2d5a023fbb720a3d2f7fa43865f7073e725bbc3eea1bb03b97fba338eff2063ebdb66e3e8764cc38c00793383bfaaf3dfc41e43d42d8ec3ce7c34638721c0e3d6418543d4342bd3af3380639c9dc853456608734861b7b3426f18b34c4fd7934029c6334c6525734192c4e349c13be341740b5345dc5af3483a5ac34e21eb734ed208c34bb1a4c349b1e3334174c1435bdffc2345e21d134241fae34e2040335c13b0335dffdf634ecd9dd34f8f24b357c5436354ff73435f0ee2135a8f0f734e471af342c10c8343385ab346312dd34348fec34f388e6347851d134b3d20b357ed71e35b5fc3f352ccf103510c53c3a8c55043f419df83ee17baf38e6afba3c286d053f39a4c03e61eba8389dbcca3ce3d4f43e0b768e3e3d0500381d34d13dd394c53e50e1203ede278a381046fc3d17af913eaabfc83d3ab98f382b90113e60594b3e4edbbb3ca4dbab38194dc13d2131c43db939133d953640382dd40e3df66d4a3d8675cb39f4bbf138c2fc8a35bfa18e3507748735abe67f350dfd2e33cf6d2b3335102233e2fe27339c8b0e352cdcfe345e68fa34bf6102358ea949359dd92c3529e52835855c3435abe57234435b9633e6bd4f33c4b01c3400b2e834992ad034fff7d334320ad634a9209435c1b58235a0068935d91d8f3588ccfd34bd91c1344577c6340abcfe3484cd57343c214f349b896234d8245034be9871356d666f35a40d83355c5b81355373783a99029d3e1b19323fa297c43817cc053d290e9b3ea1ea143fe6e09a38e5a4ff3c88e29d3e0352e23e23f128387dbdd23d3afb833ee11f913e9fe77c38e407053eb8564f3e6d79303e7fd798381617103e0390123e4a0ca63dcd7fac382f2ecf3dbab0ba3d6d58093dc5f1503804220e3d7fc73e3de20c5a3a8266ab381d6fa035aca99c357d5b9d3504759c35e2f33f35e2702335d4e90d3551f318351eb84134da6b363499973134df4336345afc8234c1aa103449955e33d8a64b3385419735a7137735301a6f3501247835527ccf34977eb234e840b734c2c7b8347283f934e561bc342c4c9d348ca9a834b32e873591e06635ed4e6435426f7435c8b80f35aceb0635fe250a35a4a409359a384a3274175432d33146321d8d40320b70853c0a7db73d0a9f653f85dc9938da3a393d52dbb13d7c64483f1baa8238f1110a3dec2d123e279f1a3f251d1b3887e8da3d5a15083eead9cf3e90a89338f477023e4fe0ed3dcbdc853e492eae380a29113eea36ab3d1e600d3e798f9c389039cb3d5757ae3d5a1e333d4f4b58382a98103da0462d3db1e4583a28940739e6da8d34735e9f34cbd0a734c416ce34b91f4c347ac52f34e19c3034e77d313427689c3473019d34b70c9a343e439c343a470335c081cb343e449434c12295341d75f3342c9a9834db1a8734ee9e8434bea9ee34934fee34b574dc3431d6c934af283035a828163516c50c351bc6fe348256f2349f86aa34591da73471468734de45de34d024f1342974e234a5f6cc346d2d6f34488b8b3485c4ae342b45723493b56c3b20a70e3d1f31773f3e7bb2387c75343d57a8ce3c1e10593f279e983861b91d3db374b13c05da383f1be52f385bbee93d8830d93cdea9013fbf54853880bd0b3e9f88363d248da93eb2d09a38d4b9063ee23f873da52b2f3e9dfba93884dcb13d4eeead3ddaf96d3dcf323238b8da243d263c2f3db29a053b52211739cee028353e0e363501183035dc711f35000000000000000000000000000000002c691a35f5ba08359c2e10356380113580b1e534954baf3451948334ef929c3400000000000000000000000000000000cb55c834b279b4342f88b0343aaab93411f86235ce96453516b13435518244355bb50235f99dbb34b6ee923415abd534c04df833cda802346bc6043434bf03340000000000000000000000000000000000000000000000000000803f000000005f48ed3ceadc6c3c84bd603f5ff3ab3821e7fa3c04e9b33b276b3f3f9f7dcd37bfa1b53d740a813c17970b3f49619038a88df23dd102ee3cbfe4bb3ea67196397154e63d2c5e7b3d49654b3e4c6f583871709e3d0181a13dcabe9e3d51715138ccc8143d0541143d4dbc873cd6c2ab3800000000000000000000000000000000 diff --git a/shaders/ravu/ravu-lite-ar-r2.glsl b/shaders/ravu/ravu-lite-ar-r2.glsl new file mode 100644 index 0000000..10e202a --- /dev/null +++ b/shaders/ravu/ravu-lite-ar-r2.glsl @@ -0,0 +1,152 @@ +// +// 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 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 . + +//!DESC RAVU-Lite-AR (step1, r2) +//!HOOK LUMA +//!BIND HOOKED +//!BIND ravu_lite_lut2 +//!SAVE ravu_lite_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < HOOKED.h OUTPUT.h / 0.833333 < * +//!COMPONENTS 4 +vec4 hook() { +float luma0 = HOOKED_texOff(vec2(-1.0, -1.0)).x; +float luma1 = HOOKED_texOff(vec2(-1.0, 0.0)).x; +float luma2 = HOOKED_texOff(vec2(-1.0, 1.0)).x; +float luma3 = HOOKED_texOff(vec2(0.0, -1.0)).x; +float luma4 = HOOKED_texOff(vec2(0.0, 0.0)).x; +float luma5 = HOOKED_texOff(vec2(0.0, 1.0)).x; +float luma6 = HOOKED_texOff(vec2(1.0, -1.0)).x; +float luma7 = HOOKED_texOff(vec2(1.0, 0.0)).x; +float luma8 = HOOKED_texOff(vec2(1.0, 1.0)).x; +vec3 abd = vec3(0.0); +float gx, gy; +gx = (luma3-luma0); +gy = (luma1-luma0); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.1018680644198163; +gx = (luma4-luma1); +gy = (luma2-luma0)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.11543163961422666; +gx = (luma5-luma2); +gy = (luma2-luma1); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.1018680644198163; +gx = (luma6-luma0)/2.0; +gy = (luma4-luma3); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.11543163961422666; +gx = (luma7-luma1)/2.0; +gy = (luma5-luma3)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.13080118386382833; +gx = (luma8-luma2)/2.0; +gy = (luma5-luma4); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.11543163961422666; +gx = (luma6-luma3); +gy = (luma7-luma6); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.1018680644198163; +gx = (luma7-luma4); +gy = (luma8-luma6)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.11543163961422666; +gx = (luma8-luma5); +gy = (luma8-luma7); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.1018680644198163; +float a = abd.x, b = abd.y, d = abd.z; +float T = a + d, D = a * d - b * b; +float delta = sqrt(max(T * T / 4.0 - D, 0.0)); +float L1 = T / 2.0 + delta, L2 = T / 2.0 - delta; +float sqrtL1 = sqrt(L1), sqrtL2 = sqrt(L2); +float theta = mix(mod(atan(L1 - a, b) + 3.141592653589793, 3.141592653589793), 0.0, abs(b) < 1.192092896e-7); +float lambda = sqrtL1; +float mu = mix((sqrtL1 - sqrtL2) / (sqrtL1 + sqrtL2), 0.0, sqrtL1 + sqrtL2 < 1.192092896e-7); +float angle = floor(theta * 24.0 / 3.141592653589793); +float strength = mix(mix(0.0, 1.0, lambda >= 0.004), mix(2.0, 3.0, lambda >= 0.05), lambda >= 0.016); +float coherence = mix(mix(0.0, 1.0, mu >= 0.25), 2.0, mu >= 0.5); +float coord_y = ((angle * 4.0 + strength) * 3.0 + coherence + 0.5) / 288.0; +vec4 res = vec4(0.0), w; +vec4 lo = vec4(0.0), hi = vec4(0.0), lo2 = vec4(0.0), hi2 = vec4(0.0), wg, cg4, cg4_1; +w = texture(ravu_lite_lut2, vec2(0.1, coord_y)); +wg = max(vec4(0.0), w); +res += luma0 * w + luma8 * w.wzyx; +cg4 = vec4(0.1 + luma0, 1.1 - luma0, 0.1 + luma8, 1.1 - luma8); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut2, vec2(0.3, coord_y)); +wg = max(vec4(0.0), w); +res += luma1 * w + luma7 * w.wzyx; +cg4 = vec4(0.1 + luma1, 1.1 - luma1, 0.1 + luma7, 1.1 - luma7); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut2, vec2(0.5, coord_y)); +wg = max(vec4(0.0), w); +res += luma2 * w + luma6 * w.wzyx; +cg4 = vec4(0.1 + luma2, 1.1 - luma2, 0.1 + luma6, 1.1 - luma6); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut2, vec2(0.7, coord_y)); +wg = max(vec4(0.0), w); +res += luma3 * w + luma5 * w.wzyx; +cg4 = vec4(0.1 + luma3, 1.1 - luma3, 0.1 + luma5, 1.1 - luma5); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut2, vec2(0.9, coord_y)); +wg = max(vec4(0.0), w); +res += luma4 * w; +vec2 cg2 = vec2(0.1 + luma4, 1.1 - luma4); +vec2 cg2_1 = cg2; +cg2 *= cg2;cg2 *= cg2;cg2 *= cg2;cg2 *= cg2;cg2 *= cg2; +hi += cg2.x * wg; +lo += cg2.y * wg; +cg2 *= cg2_1; +hi2 += cg2.x * wg; +lo2 += cg2.y * wg; +lo = 1.1 - lo2 / lo; +hi = hi2 / hi - 0.1; +res = mix(res, clamp(res, lo, hi), 0.800000); +return res; +} +//!DESC RAVU-Lite-AR (step2, r2) +//!HOOK LUMA +//!BIND HOOKED +//!BIND ravu_lite_int +//!WIDTH 2 HOOKED.w * +//!HEIGHT 2 HOOKED.h * +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < HOOKED.h OUTPUT.h / 0.833333 < * +//!COMPONENTS 1 +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + int idx = int(dir.x > 0.0) * 2 + int(dir.y > 0.0); + return vec4(ravu_lite_int_texOff(-dir)[idx], 0.0, 0.0, 0.0); +} +//!TEXTURE ravu_lite_lut2 +//!SIZE 5 288 +//!FORMAT rgba16f +//!FILTER NEAREST +a7ca113dc4d036bce1a84abc5bea31bbd9a7a13d5919a13dfe79febd3b27febd413532bcfac2123d7d6836bb8f0153bcea82a53d68fc00be04efa43da85201be296f8a3fb56e8a3fb56e8a3f296f8a3fd1f5eb3c034d0cbcc3ae80bc1b27b93b62d5b23de39bb43dda1608bee95607bec937f8bb69aff43cb8e19d3b4ba98bbc1e4ac43db7f50dbe5d40be3d62760fbe8e258a3f803e8a3f803e8a3f8e258a3f37a6c63cb645e0bb44ec7dbc68fd283c06a7b53d411fba3d7f680abe19ca07be6104b73a6a56003da4264e3bedb3c8bc5a2ce93df64d11be0d58c83db04d21be3bbe893fa8c1893fa8c1893f3bbe893f5bc10a3d2d513dbc606aa6bc834b2a3c1dfcc93d18fbc53d5f9b11be400312be1a7834bc1de0143d7606113c3447b5bc8207de3daa0c19bee054d43d58921bbeb2c5893f23fb893f23fb893fb2c5893f1185d73c60cc1fbc3386a8bc091f903c5adccd3dd874c73dbc3313be44c111be7fa92fbbb3cb143dcd97133ce37ef5bce225fc3dc9cc1dbe53b5dc3de6f429beaf65893f73f1893f73f1893faf65893f4d9e973c425f85bcfba620bc11f0c73cb4c2c43d703bbc3d733c0ebe31600cbe361ccc3b86f3393d265edebae9f212bd0882093ef2a609be20f3ae3dae5837bed847893f10088a3f10088a3fd847893f39cb113df3dbe6bba64a05bde2d7813c364ae93dca05df3d87701ebe26211cbed29264bbe284353de61d2f3c5bf524bd92c3143ec15f34bea5ae063e46663cbe5ae6883f059a893f059a893f5ae6883f49e7bb3cfb8d0bbb13f3e7bcee84a83cebcbd43da3fec23ddc5814bef0eb0fbe687a7a3cee154b3d7e6873ba734957bdde60253e07b928be75d1f23dc7904abec389883f08ef893f08ef893fc389883fe53a88bb3492f0bc0436ab3b48f53b3d11a5b43d9623a13d56ab06be80b3febda9e6333dac979f3d113b05bdecff9ebde41e463ebed1d6bd8103603d6bf96cbea974883f8a758a3f8a758a3fa974883f67590a3d58003f3bc4153bbd1414ac3c46e9013e0487ec3d85c32bbeacef24be53e98f3cc7786e3dd8bc873b564d8ebd210b393e57cc41beecd50f3e99305bbe3741883fbd6a8a3fbd6a8a3f3741883fc24a673c84fb293c019bdabc0e71833c0256e83d76eebd3d0afc20be1bf40ebea8cd513de403903de42cebbc30aba9bdc1104a3e3d8f0cbec85fad3d240365be10e4863fccb98b3fccb98b3f10e4863fe6d792bd8d43a7bd7797953d5791d23d4df4b33da1d7603dbe960abec5d9d2bd09be063e625a2a3ecb72f9bdf6bb32be45e7ab3ee0a0e23cb9dab7bd994fb3be074b853f80998d3f80998d3f074b853f723d0e3d683b29bced1c4bbc63960dbb728c9f3d8746a13d5748febd852efdbd338115bcc758123d528a68bb74645cbc6361ae3d9b4403be138aab3dc7ac06be5b828a3f2b4a8a3f2b4a8a3f5b828a3fc322fa3c51b004bcf18384bc1ac48d3b5e3ca63dbaa2ad3de3bd05beac5a00be49f889bbdf1a103d0376e93aaccfb8bc3920d63d44a30bbe1a24b53d715a16bebe078a3ff05f8a3ff05f8a3fbe078a3fbe503f3c240eb2bcb487deba391dcd3c4374983d74eda33dff9dfebd435bf4bdb042f93cc334723d81cad4bc202158bd14c3153e5043fabdbe9b9d3d775b42be6d7a893fc7368a3fc7368a3f6d7a893f85a7003d3ed953bcb76a8dbcaba53e3cb497cc3dabacc33d241013be3ec910be4ac138bcb6e5243d5cdeed3b457cc8bcd1abe73ddc3418beed24cd3d4d5a1dbec290893fed238a3fed238a3fc290893f137a8d3c02c876bc095f4ebc648acc3c3dcad33d4b82c23da7f514be135f10be50b10a3be33b3a3dab493b3bc2451ebdf1a80c3e13c114be9396c03d806e33bea5ec883fd35f8a3fd35f8a3fa5ec883f47b562ba2f7cfbbc401dd63b008a323d7d8cd73d11bebc3da75714be3c240fbe1409843c8f65743d7e2452bc9aa04ebd1c90223eb813f2bd73df863da33d4dbe59ae883ff68a8a3ff68a8a3f59ae883f8e59d83cf5bf1dbccc1fcdbc87f5ab3c4598f73dbf2ed63d555422beb10f1bbe31fd46bb93ff543d4c72f43b18e73abdc466203eb91330bed4b2f53d11bc40be891b883f77618a3f77618a3f891b883f4ef3013ade507bbc0ee006bc7a001b3d2868ea3d1b6db33d21131abed8540cbef550cb3c7bd78f3dca5d6ebc9e5790bd9a47483e334813be43bead3d988d60bec3dc863f8e7a8b3f8e7a8b3fc3dc863fc14f20bdf86f52bd9982173d7aec983dd6a2db3d402b963dec7c13be0af4febdae136a3d0256d23d987a4bbd5ea0cdbdadf9793e5a7b92bd4c4df53bfbb889be7f61863fd54a8c3fd54a8c3f7f61863ff0c5293c2d1fefbb7594c5bc5bce103d9c70103e37cfd73d592c35becfe31fbea117e73c9e93a03d60d3f3bb5a68b7bdbe105c3e98a72cbe56c4d23d4b9d6dbe1716863f61848c3f61848c3f1716863f2689f0bcac974dbcef00763c8401383d5505ff3dba1c5b3d307624bec8c8ddbdc5b39d3dc467f33d4a2b77bdf08302be5a9d943e21e9a2bd0f2704bcdbb590be5367813fb519913fb519913f5367813f9775dfbd227889bd0535dd3d87a7c93d553be93d76f4ecbbcccb1ebeb5aa59bdb677e73dad162e3e2e46debda59d2dbebaaee13e4b85853d7d393cbef562cfbe268c783f02cb963f02cb963f268c783f74be0c3dfeb033bcfbba2ebc72b236bb938d9e3d89e9a23dc71101be990cfabd7a7e26bc4419133d112200bb34fe6abcb374ad3dccb003bef007a63db41c03be9d5c8a3f53758a3f53758a3f9d5c8a3fb657ed3c7adf44bc633a35bc72a7a73bfd1f9e3d1024ac3d126a05bed883f6bd018c9839a7292c3dafe691bb9e0ceebc6e06dd3d0fb40ebe4c3ab83d970718be72088a3f9e628a3f9e628a3f72088a3fbbfa2d3c792cd1bc661d993b7e01c73c5b97b83d4d05af3de4ba10be5c64fcbd31f1243c984b7a3d908fa0bc38aa2fbda68b173e635306be07b1ab3d69e541be6b43893fdb918a3fdb918a3f6b43893fab40f23cd43c63bc232b72bc30ca483cb6b2d03d2536c13d5b2a14be5c8110bea51b44bce4342d3d6c0bd53bb29bcfbc8679ea3dcced15be6485c43d27cb1cbe9b62893f61538a3f61538a3f9b62893f8d71293cfe978ebc4357e1bb24e6ee3c3d55e03d299dbd3d8ed917be01c610be8b649c3a4360513dbdf27f38cc832abd946b143e486e12becef7b23da84d36be3e6e883f14ce8a3f14ce8a3f3e6e883fde1903bc35db01bdbe50353c0bad453d15d2e93dfab4b93d49ec18be6f9c11be0051473ceda7823ddacf59bc052954bd92852d3e8cbef5bd89df7a3ddaa250bea3e5873f19348b3f19348b3fa3e5873fd6d5a13caf174fbc388c9abc007cce3c53c8033e3835d23d7d3e27bedb2a1cbedcbec4bbb8c1653d3f570f3cedb245bda589273e3ee02cbe9183e13d292041bebe6e873f71038b3f71038b3fbe6e873fbced56bce50d94bc79f7bf3a6c4f3b3d2660023e7ca2a63d0a5020be64680bbe5604b43c8edba03d30827abc925f9cbde980583e20a410bedbe18e3d2f2064be745e853feacb8c3feacb8c3f745e853fd80439bd661235bdd3091b3d0f53963d2215003e60518d3d3fd21cbe7e0d01bed3182b3d3b4bce3de81923bd0149c1bde65c7f3e9399afbdacafd43bc7a084befa7a843f71ec8d3f71ec8d3ffa7a843f6df4ecbafa5e39bc981168bc69622e3d7261223edc1cc73da33b40be1d231ebe3407953cfb36aa3d6d20d73ad51cc0bdbc2a6b3e40852cbef5c6b03d88056cbe47ff833fda868e3fda868e3f47ff833f77fb4bbdee4e2bbc4452fb3cd8d34a3de69f133e671ddb3c4d4730bec0efb3bdb9e0773d8d72023e89333ebdf1080abe3184a83ee793c0bd7a6310bd7dde8fbeb05f783fbf2b963fbf2b963fb05f783fc620c9bd96a593bc04cbb83d7f0a683d153ae93d63f484bd50311cbecf07d83bffbc973d470f293ec83290bdd9cb27be9c11e63e789dc2bb201932be6fb8b6becc236b3fbd729d3fbd729d3fcc236b3fbd6d103de3f828bc173c3abc7cd36fbb181da13d7c8aa13df46101be9182fabddd8e38bcb2020e3db41705bab7da5fbc3f46aa3d6db402bed079a53d502002be455b8a3f82798a3f82798a3f455b8a3fe496e63c722958bc26ab16bc493ea93b95f9a73d7825b13d40f809be0413fcbd85714abbbebf223d258224b9043fe7bc9863db3d6fc70dbe7b5db43d28a715bed3fe893f996c8a3f996c8a3fd3fe893f6a8b553c969fbcbcecd30ebb2df0d43c5510c13d7659aa3dc9ad13bed6d9f8bd6532b6bbd6ee823d981065bb2f1944bd0bcd203e1a650ebea99da83d787a41be686a893f60908a3f60908a3f686a893f5db4eb3c841b6dbc9bf156bc9714473c2129d53df55dbf3d7f6415be3e8810be58d163bcaaef2c3d5cba043c00cacebc01aee93dbef614befa7abe3d71391abe4a30893f0a858a3f0a858a3f4a30893fe296e13ba44a87bcdf67a0bb0061f53ccf55ee3d1a96b93def6e19be645f13be67ca5bbb0da15c3d1b719db953a126bdf3f5153efdec13bebaa0ac3d179632be6f06883f2f2a8b3f2f2a8b3f6f06883f9cb251bca1dfd9bc8fb5203c0718493d3b6a003e934ab73d39ee1cbe4ee716be5f5b983b6a34803d0b7719bc724c47bd518c2e3e335903be2aad823d843f4abeb842873fe7be8b3fe7be8b3fb842873fbe107b3c970e60bc56ba78bca879e03c00fe0c3ecc3ace3daf0e2cbe78501ebea23c4bbc318e743d40692d3c68c942bd39f32a3e09a12dbe1088d43d8b5b3dbe11ab863f76bb8b3f76bb8b3f11ab863fa7f0b2bc9be282bca324dc3b5c07433d4548123ea55c9c3d60c226be90d20dbee0cb563cb8daac3d0b4950bc80f39dbd9d085d3e38ed17be01ec823d64355bbef31b843f8be28d3f8be28d3ff31b843fa4db41bdbe140abdc7cf093d36da8b3d0bfa113efde28c3dfcfd25be9e4a06be4ee0cb3cbe50c73d868bf2bca55bafbd5174773edd07e4bd46f9a23c8b0373beeb13833fe3fb8e3fe3fb8e3feb13833f57dc14bc88ee4fbc805e26bc6c09433d17de373eaed0b83d3acd4abef4cb20bec96e86baefcaac3dd6408f3cf978bdbd7055733e79e231be3d9f9b3d100e64be8b36823f2434903f2434903f8b36823f2fc186bd24c606bb4267213d09e0493d765b263e88c1563cd77439beb5f6a3bd322d153da381023e1de0c7bcd6b709bebb7db03e910103bee3c918bdd0ef85be04f5723f32a9983f32a9983f04f5723f0156b8bdff94bd3a87d9963d1e0d2b3d916fcd3d77a185bd6f3816be66bcce3cc461723dc59c223e742b55bd0cd827bec3d0e43edb1596bdf05810be59f4a3bef09b663fec3e9f3fec3e9f3ff09b663fb441123d69de2abca02a34bc2b598fbbabaca23d4c36a43db0e202be3daefbbd02c95abcfb360f3d8da78e3ad9b15dbc2afda73dd81903be0b94a33d6662ffbda0748a3fa6638a3fa6638a3fa0748a3fb71cf03c740257bc4b4111bc266e583bf3f9a73d806dab3d6e0b0abeb9f7f5bd2f8439bc20232b3dde68833b0fdcdbbc69abde3d1a1210be2932b43d5a1e14bec02e8a3fb43d8a3fb43d8a3fc02e8a3f9ad60a3c864ebebc7fe1373bf97ecf3cc802d83d742db53d275f1dbe673e02be07c3d6bcc9c5923d38ea04bca82707bd5b971d3e07ab13be55e6ab3de08439bef785893fb88a8a3fb88a8a3ff785893f5553e83c172d63bc743d4abc97e5383cd989db3dfc3fbd3d081b17be5dc510bea1028cbc59d42e3de1f2143c9df5c1bc2bc7e53ddf0015bef047bb3db5c816be9301893ff7b48a3ff7b48a3f9301893fb125d63bba1363bca03f90bbe9d2da3c2c47fa3de320b53d71031cbe9dc513bed03522bcaa65603da1b4003b76ba1cbd03d7123efc2c17bea701aa3d1aa929be4797873f9e868b3f9e868b3f4797873f00e67fbce455a9bc611ef23bb17e413db4b30b3e80b1ba3d269122be75141dbe735a78bb5b707d3d9515e3bb485a31bd871a2a3ef73510bee32c943d68dd3ebe60bf863f74158c3f74158c3f60bf863f401b4a3cb41e61bc8ce84bbce2c6e43cdfe0163e7d32c93d4d8f30bea5c220be3f23b2bc7e157d3d2caf743c845f38bdae93293e91df2ebe4eaec93d0c2835be6b12863ff0468c3ff0468c3f6b12863fdb13c5bc639b35bc5931eb3bfe96333d07df213e85c2983d41fb2cbe433713be6b0e0cbbad23ad3d0fd2babb88b48fbd5dfb573eb9d821be8ff7813db8434abe482c833f36978e3f36978e3f482c833f32c93dbda16fa8bcb048c83c8c08793dd719243eb02f8e3d37922abe49f810be7733003c71a9bf3d4eeebabc75ed94bd80a9663e19570bbea814193dd17e56be550b823f23828f3f23828f3f550b823fbd5257bcaa6234bc59ac02bce125453d53e94c3e57c8a43d87e152beb8cf21be647dbebcb58fb33d63100c3dcbe0bbbd52f7783ed10b3dbe5f798d3d5f1657be9e93803f58b2913f58b2913f9e93803ff6659abdc23a003c45851f3d61eb483d0705363e92ec1f3cf7763dbee170abbd8a86813c99c7013ea40380bbcba60abe7d25ad3ee0b725be1afcd1bc0f176ebe132b723fbaba983fbaba983f132b723f2ad9c1bd34e8553be969703dfbe25c3d0747fc3defdb90bc980124bebdc0acbc7ed72d3d991c093e84f621bdf2b30dbe5e63d23eeb9c01befe6a9cbd434794be79cc693fd0b69c3fd0b69c3f79cc693fd1f41c3d9ab809bcfcde5bbc12cbd8bba503a93d658aa83de20106be41dbffbd1b5b5bbc07350f3d5915dd3a808c6abc8a91a33dffc702be35eea33d6cfdfbbd2d718a3fee6b8a3fee6b8a3f2d718a3f187c083d18e350bc19af3fbc9783823a0188bc3d2e38a83d2e030cbef0aa00be45d2d1bc7385383d0b484b3c4f08cbbc3e65c53d43270dbe2facaa3d6b2605be41aa8a3f6bbd893f6bbd893f41aa8a3f48a11abb251460bc3181b93aceecd93c63faf83d85f3c53d928524be8b5512bec56fc0bc8c02653d482dc5bbf67dbebcb450153eefe71cbe4161b43d6ad729be402d883f2fb78b3f2fb78b3f402d883f1f40e93c950b5fbc672c43bc70422b3c6bcfde3dd433bc3de42c17be4ea111be23cda1bcc6742f3df796273c3aa0b8bc00cbe13dc41c16bea127ba3d1d2213be11fd883fccbc8a3fccbc8a3f11fd883f9ab2f73b3dbf22bc506cbabb83eab33c266c043e7dcfb03d68231dbef0d616be1420a9bc3e29603d031a763ba79ff4bc67540b3e3ea01abe88c3ab3d441f1ebe7156873f9bb28b3f9bb28b3f7156873fe13481bc26fb2ebc5b6a4e3976032d3d572d173ea0aeb13d26eb20be3b3424be6df588bc93607c3df22f96bb00b607bdaf64213e159d1abe0aa6a13d8e632ebe2f3f863f08468c3f08468c3f2f3f863feb96423ceb8551bc31ff3ebc0a7eda3c10171f3e905cc43db81333be898c23beca0803bd80e6823df4da953c61b526bdeb74253ed70132bebed5c43df5342bbe00a5853fdba98c3fdba98c3f00a5853f2bbfacbc13c894bbc5be123ba73c173d3d41333e7ce4953d714a2fbe891c1ebebbc9cfbc9cf0a93d07b9123abb8057bdece8473eafa22bbe569f8c3de89c32be98a5823fc4cf8e3fc4cf8e3f98a5823f73b126bd3b25c1bbee702e3c9e8e4c3d265b353e62668e3daca22abe59481dbe6bd389bca85eb33d35e088bcd2c84cbdd5f04d3eb2bf1fbee8096c3dbac836be8877813fc6568f3fc6568f3f8877813f6af964bc2417e9bba9ebc8bbe0b2313d9f5d5e3e91498d3d197056bee10c22be86ab62bd6cbabf3d25b8523d0634adbd8338723e10524ebe8d50843d188e39be7c007f3f8f9d923f8f9d923f7c007f3fb57e90bdb00c673cf8dccd3ccdbb453d17aa563e3bf28b3cc1193fbeea03eebdff05c4bc6585f03d409d813c8b6ddcbda509943e490c3bbe0b1b493bc4c03fbeb745753f1aa8963f1aa8963fb745753f16dbc7bdffdd473c4f7c0c3d682e893d610f413eb3fc893cf13128be0802dfbd27b4453c8229db3d51750ebd3068b8bdf4efa63ea81421be4db519bc30cd6cbee0226f3f5cfe983f5cfe983fe0226f3f50e81c3d8d1c5cbc92120abcec8dd6bb8e49a33d95eaa33dccc602be8cb4fbbd5c7e6bbc3b580f3d00bee13a19365bbc62bea83d20fd05bedf81a83d6a9affbd26718a3fde6a8a3fde6a8a3f26718a3f18e8093d1c6743bc686c54bcef81853a5265c63ded2daa3dee620dbe521305beabf4d1bceaaa3c3d38055c3cf8fedbbcc4f2bc3d182d0cbeaadca73d736b00be86c18a3f97a3893f97a3893f86c18a3f03d828bbfb8bb73aa0365fbc362bdb3c6a56153eed8bb43d11c31cbe1fdf29be6fa3bebc2817643d19f9c8bbf2ecbebc2790f93dd06624be88eec53daf9912be5429883f49b68b3f49b68b3f5429883fc73ce93c022e43bc100d5fbcc94c2b3c53c7e13da227ba3da51c16be4c2013bebda1b8bcb7732f3dfb8c273c00c8a1bcf4cbde3db62c17bedf33bc3dac9f11befffc883fe4bc8a3fe4bc8a3ffffc883f42d8f73b007bbabbb6c522bc42e7b33c7b530b3e37c3ab3d62a01abef01d1ebe4eaff4bc972e603dee71763ba827a9bc2a6b043e69231dbe61cfb03dbcd516bea256873f6bb28b3f6bb28b3fa256873ffe3981bc6c6e4c39cdfd2ebcb6072d3dde67213e97a4a13d289d1abe4d652ebe7bb207bd2f637c3df50696bbf90f89bcbc2d173e98ea20be73adb13dfb3324be2d3f863ffa458c3ffa458c3f2d3f863fe097423ca0ff3ebcd08551bcb87dda3ce374253ec6d5c43ddf0132beea342bbe45b526bd99e6823dd0da953c040903bd11171f3eb61333be945cc43d8e8c23be00a5853fdba98c3fdba98c3f00a5853f1dbfacbc35c0123b01c994bba83c173de4e8473e449f8c3da5a22bbee19c32beae8057bdb1f0a93d2db1123aedc9cfbc4041333e6f4a2fbe7ce4953d8e1c1ebe99a5823fc4cf8e3fc4cf8e3f99a5823f73b126bdee702e3c3b25c1bb9e8e4c3dd5f04d3ee8096c3db2bf1fbebac836bed2c84cbda85eb33d35e088bc6bd389bc265b353eaca22abe62668e3d59481dbe8877813fc6568f3fc6568f3f8877813ff5f664bc40edc8bb7e16e9bb66b2313d5538723e0151843d3e524ebef78d39be3734adbd12babf3d34b9523d89ab62bd9c5d5e3e397056bebc498d3dd30c22be80007f3f8d9d923f8d9d923f80007f3f9b7e90bd13ddcd3c4f0c673ca2bb453d9f09943e491e493b510c3bbebdc03fbe5f6ddcbd8285f03d899c813c7706c4bc0baa563ecc193fbed3f28b3cdb03eebdb845753f1aa8963f1aa8963fb845753f18dbc7bd517c0c3d26de473c652e893d02f0a63ee4b519bc9e1421be4dcd6cbeb567b8bd5929db3dd9740ebdd1af453c500f413eec3128be61fc893cde01dfbde2226f3f5bfe983f5bfe983fe2226f3faf41123d7b2b34bcbcdf2abc2d548fbb20fda73d3794a33dc71903beaa62ffbd64af5dbc4e360f3dbe9d8e3a3cc75abca2aca23dbce202beb836a43d97aefbbd9e748a3fa8638a3fa8638a3f9e748a3f381cf03c874111bc430257bc3772583b5fabde3d1c32b43d091210be601e14be70dcdbbc43232b3de067833ba48339bcfdf9a73d660b0abe7a6dab3dc7f7f5bdc22e8a3fb23d8a3fb23d8a3fc22e8a3f9ad60a3c7fe1373b864ebebcf97ecf3c5b971d3e55e6ab3d07ab13bee08439bea82707bdc9c5923d38ea04bc07c3d6bcc802d83d275f1dbe742db53d673e02bef785893fb88a8a3fb88a8a3ff785893f2c53e83c2c3d4abcf32c63bc52e5383c2fc7e53df647bb3de60015beb2c816be97f5c1bc3ad42e3d27f3143c7c028cbce589db3d0b1b17befd3fbd3d60c510be9301893ff8b48a3ff8b48a3f9301893ff928d63b4b3d90bba61463bcf4d1da3cf6d6123e9901aa3df52c17be0ca929be84bb1cbd1865603d9ec0003b673222bcdd46fa3d8c031cbe0e21b53d6fc513be4897873f9c868b3f9c868b3f4897873f5de57fbc0a1df23be856a9bc397f413d731a2a3e092d943dfe3510be60dd3ebe465931bd696f7d3d9a14e3bb0f5d78bbc0b30b3e2e9122be33b2ba3dd4141dbe60bf863f75158c3f75158c3f60bf863f531a4a3c80e84bbc6c1e61bc33c7e43cb393293e45aec93d88df2ebe152835be9b5f38bd6f157d3dfcae743ce322b2bce1e0163e478f30be6732c93da2c220be6b12863ff1468c3ff1468c3f6b12863f1b14c5bc4c30eb3bd79a35bc1b97333d63fb573ea7f7813dc7d821bebb434abea1b48fbd8323ad3d9ccfbabb0c0b0cbb08df213e46fb2cbe97c2983d473713be482c833f36978e3f36978e3f482c833f47c93dbdc048c83cc66fa8bca908793d84a9663eae14193d1c570bbed07e56be83ed94bd7ca9bf3d5deebabcb033003cdf19243e3d922abec12f8e3d54f810be550b823f23828f3f23828f3f550b823fde5257bcdaab02bc1a6334bce125453d6df7783e05798d3daa0b3dbe741657be9ae0bbbd818fb33d98100c3db77dbebc49e94c3e7ae152be64c8a43dc2cf21be9f93803f58b2913f58b2913f9f93803f16669abd2a851f3d4d3b003c9beb483d8325ad3e0dfcd1bce4b725be19176ebed4a60abe99c7013e3c0280bb7e86813c1905363ef2763dbed2eb1f3cfc70abbd152b723fb9ba983fb9ba983f152b723f1cd9c1bdd269703de0e6553b02e35c3d5963d23efc6a9cbdf89c01be394794be1ab40dbea91c093ee0f621bd34d82d3de846fc3d8c0124be97db90bcd9c0acbc77cc693fd1b69c3fd1b69c3f77cc693fc76d103ded3b3abce1f628bc90dd6fbb7946aa3d9979a53d82b402be3a2002beece15fbceb030e3d040c05bab08d38bcb61ca13dc76101beb189a13db381fabd485b8a3f80798a3f80798a3f485b8a3fe496e63c26ab16bc722958bc493ea93b9863db3d7b5db43d6fc70dbe28a715be043fe7bcbebf223d208224b985714abb95f9a73d40f809be7825b13d0413fcbdd3fe893f996c8a3f996c8a3fd3fe893f1089553ce8d10ebbcd9fbcbc50f1d43cd2cc203ec39da83d28650ebe3e7a41be301a44bdf6ee823d971465bb582ab6bb8210c13dcfad13be8259aa3d02daf8bd686a893f60908a3f60908a3f686a893f9fb4eb3ceaf156bc6d1b6dbc5814473cf3ade93dfb7abe3dbcf614be6e391abe0fcacebcbbef2c3de6ba043c31d263bc2429d53d876415befd5dbf3d3c8810be4c30893f09858a3f09858a3f4c30893fdc92e13b9f6aa0bb484a87bc5a62f53cfef5153ecba0ac3dfaec13be2f9632bea5a026bd9ca15c3d6bdb9db9a7d05bbb1f56ee3dc56e19bee095b93d995f13be6f06883f2f2a8b3f2f2a8b3f6f06883f9cb251bc8fb5203ca1dfd9bc0718493d518c2e3e2aad823d335903be843f4abe724c47bd6a34803d0b7719bc5f5b983b3b6a003e39ee1cbe934ab73d4ee716beb842873fe7be8b3fe7be8b3fb842873fa0107b3cdcb978bc090f60bcb279e03c39f32a3e1288d43d0aa12dbe8c5b3dbe67c942bd1b8e743d7b692d3c7f3c4bbc01fe0c3eb90e2cbee33ace3d7b501ebe11ab863f76bb8b3f76bb8b3f11ab863f5af0b2bc7625dc3bf1e282bc4407433da7085d3e1eec823d49ed17be6c355bbe77f39dbdeddaac3dfd4950bce6ca563c3c48123e65c226beb25c9c3d88d20dbef41b843f8ae28d3f8ae28d3ff41b843f87db41bdb7cf093dbc140abd2dda8b3d3b74773e4cf9a23cdc07e4bd770373bea85bafbdae50c73d698bf2bc78e0cb3c08fa113ef6fd25befee28c3d9f4a06beeb13833fe3fb8e3fe3fb8e3feb13833f75dc14bc565e26bc8eee4fbc6b09433d7855733e3f9f9b3d79e231be1a0e64befc78bdbdf5caac3deb408f3cb47086ba1ade373e41cd4abea7d0b83deecb20be8b36823f2434903f2434903f8b36823f35c186bd4567213d23c606bb11e0493db47db03eecc918bd900103bec9ef85bedbb709bea281023e26e0c7bc4e2d153d7b5b263ed77439be80c1563cbef6a3bd03f5723f32a9983f32a9983f03f5723ffc55b8bd7dd9963ddf92bd3a370d2b3dc2d0e43eef5810bed81596bd59f4a3be0cd827bec09c223e7e2b55bde061723d836fcd3d643816be63a185bd09bcce3cf29b663feb3e9f3feb3e9f3ff29b663fc3be0c3dccba2ebcceb133bc59b436bba774ad3d0f08a63dc9b003bec31c03bec4f96abc9018133da21e00bbf18026bced8d9e3def1101beebe9a23d060dfabd9b5c8a3f55758a3f55758a3f9b5c8a3fe257ed3c123a35bc88df44bc4fa6a73b8d06dd3d3a3ab83d1db40ebe930718be5c0ceebc73292c3d19e891bb0aa59839c11f9e3d136a05be3324ac3db783f6bd6f088a3fa1628a3fa1628a3f6f088a3fd9f92d3c281f993b292cd1bc4501c73ca78b173ef3b0ab3d805306be48e541be62a92fbd564b7a3d4e8da0bcc4ea243cf497b83d1fbb10be4905af3d8b64fcbd6943893fdd918a3fdd918a3f6943893f2640f23c0c2b72bcc03b63bc2cca483c8b79ea3d2485c43dc2ed15be15cb1cbe189ccfbcd0342d3dd70cd53b311b44bcc5b2d03d502a14befd35c13d5c8110be9b62893f62538a3f62538a3f9b62893fe471293c8357e1bbba978ebcc2e5ee3c9a6b143ec4f7b23d4f6e12bea04d36be7e832abd2660513dcc57803899589c3a4b55e03d8fd917be239dbd3d04c610be3e6e883f15ce8a3f15ce8a3f3e6e883fa11903bc1550353c18db01bd08ad453d96852d3e52df7a3d76bef5bddca250befb2854bdd1a7823dc5ce59bca750473c10d2e93d44ec18bef7b4b93d709c11bea3e5873f19348b3f19348b3fa3e5873f1ad6a13ce48c9abc5f154fbc3d7bce3cb189273e8683e13d52e02cbe1f2041befdb245bde0c1653d40570f3c32bfc4bb3dc8033e5d3e27bee034d23db92a1cbebc6e873f73038b3f73038b3fbc6e873f66ee56bc54f1bf3a640d94bc8c4f3b3de280583ebce18e3d11a410be272064be845f9cbd7cdba03d18827abc5804b43c3560023efd4f20be5aa2a63d71680bbe735e853febcb8c3febcb8c3f735e853fe10439bdc7091b3d351235bd0653963ded5c7f3ec2afd43b8e99afbdcda084be0249c1bd3b4bce3dec1923bdda182b3d2115003e3cd21cbe43518d3d760d01befa7a843f71ec8d3f71ec8d3ffa7a843f3d09edbadd0e68bce95d39bc15622e3df32a6b3e8ec6b03d76852cbe52056cbef91cc0bd1737aa3d6636d73ae705953cab61223edd3b40bea31cc73dfd221ebe3eff833fe2868e3fe2868e3f3eff833f78fb4bbd4c52fb3cf74e2bbcd8d34a3d3284a83e7d6310bde593c0bd7ede8fbef1080abe8b72023e88333ebdc2e0773de49f133e4c4730be6c1ddb3cbeefb3bdb05f783fbf2b963fbf2b963fb05f783fcf20c9bd0acbb83d87a593bc7f0a683d9a11e63e221932be1a9fc2bb67b8b6beebcb27be580f293ebe3290bdfbbc973d263ae93d58311cbe7bf484bd1609d83bca236b3fbe729d3fbe729d3fca236b3f323d0e3da11d4bbc163b29bcc6900dbb5761ae3d048aab3d9a4403bebaac06be65655cbcc558123d228868bbcc8015bc798c9f3d4948febd8846a13d9b2efdbd5c828a3f2a4a8a3f2a4a8a3f5c828a3f8221fa3c7f8484bc23ae04bc7ac68d3b3220d63d7424b53d3ea30bbea05a16be0fcfb8bc311a103d1977e93ac1f489bbc33ca63ddebd05be9ca2ad3dd65a00bec0078a3fee5f8a3fee5f8a3fc0078a3f2a553f3ceaaadebaf40cb2bce31bcd3c28c3153e439c9d3da143fabda05b42beca2058bd5634723dc1cad4bcfd42f93ca373983d869dfebd6ceda33d055bf4bd6f7a893fc6368a3fc6368a3f6f7a893fc5a7003da96a8dbc5ada53bca4a53e3ce1abe73d1e25cd3de23418be655a1dbe827cc8bcd9e5243d5added3bd6c038bca497cc3d261013beb5acc33d3ac910bec290893fed238a3fed238a3fc290893f3a7a8d3ced5e4ebc41c876bc538acc3cf0a80c3e9b96c03d17c114be806e33beca451ebdbd3b3a3da74b3b3b82b20a3b2bcad33db5f514be6c82c23d0e5f10bea5ec883fd35f8a3fd35f8a3fa5ec883f509c62bae51dd63bd97bfbbc6489323d2e90223e83df863dd513f2bdaf3d4dbeec9f4ebda065743d682452bc8407843c818cd73daa5714befabdbc3d2f240fbe59ae883ff58a8a3ff58a8a3f59ae883f5559d83c781fcdbcc1c11dbc3ff6ab3cba66203ed0b2f53da81330be11bc40be68e73abdb4ff543d6b71f43b43fa46bbc498f73d965422be422fd63ded0f1bbe891b883f77618a3f77618a3f891b883f61f9013ae1df06bc17517bbc62001b3d9947483e45bead3d334813be998d60bea75790bd77d78f3dae5d6ebc1951cb3c1868ea3d23131abe206db33dd0540cbec3dc863f8e7a8b3f8e7a8b3fc3dc863fc24f20bda682173d017052bd78ec983dacf9793ea14df53b617b92bdfab889be73a0cdbd1b56d23dc07a4bbdca136a3dcba2db3de77c13be312b963df7f3febd7f61863fd54a8c3fd54a8c3f7f61863fcdc8293cef95c5bc0e22efbbb8ce103d88105c3ec0c4d23d62a72cbe829d6dbe2368b7bd6993a03d7dd9f3bb1219e73c5e70103e1b2c35be84cfd73df6e31fbe1f16863f5a848c3f5a848c3f1f16863f5b89f0bc2501763cc9974dbc9901383d589d943ede2604bc29e9a2bdd9b590bef58302bed167f33d5c2b77bdceb39d3d5d05ff3d327624beb81c5b3dccc8ddbd5267813fb519913fb519913f5267813f8c75dfbd2735dd3d257889bd5ca7c93dc0aee13e77393cbe2d85853df762cfbe929d2dbea9162e3e4646debdb377e73d483be93ddccb1ebea9f3ecbb76aa59bd228c783f05cb963f05cb963f228c783f083c0f3dcf0a48bc943238bca399c8bafdfcb33dd203b33dabce07be029608be3d1b75bcf145153d61cddcba9d1b23bcdb19a23d8dc500bed7a3a13d40affcbdfe648a3f81558a3f81558a3ffe648a3fc30e073d7a9b9bbc99e4cbbbe5ec333b4a6dcc3d86aebf3def0310be76a312bef927b1bc3e440e3dae61353ad4a05cbb82d6a23dce8b01befed3a83d315f00be9a0c8a3f4b5b8a3f4b5b8a3f9a0c8a3ff201cf3c5cf199bc1e434dbb097a0f3cbb30fb3d6b95c73dc73d11be1f932bbec39606bd4ff50e3d07a376b96fa5043c210da63d30a704be7c11ad3dd558fcbd89f4893f8bd0893f8bd0893f89f4893ff23f0b3d96f9a7bc9cf23ebc5cd92d3cda45e23dbd4ad73db88e1abeb33f1dbeb484b8bc24e3163dd6c1113cb27b36bcfabcca3dc3e311be1c5ec63d273212be2cb7893fd2f6893fd2f6893f2cb7893fe1b5d53c545ea6bcec4c25bcac9f923ce3cbfd3da988de3dbecd1ebe359f2abeb402fdbc62fd183d0214063c329c01bbfd1ccd3d2fda12bec68dc63d093d11be4760893f77f3893f77f3893f4760893f8c49793cbeb80bbc018591bc2818e33c4b0e073ee8ffb03dbbf50abee0f434bed27524bdaf9d423da9af70bbc0f2263c1eaec43dbccc0dbe119abb3d92fb0bbe1e48893f600f8a3f600f8a3f1e48893f90cf113d64da05bd44b3e0bbaf69813c48f6143e22bd063e517534be838b3cbed8db25bd64e6353db99b2d3cbd8b56bb27e8e83d0e3d1ebee085de3d10e31bbecfe4883fc89a893fc89a893fcfe4883f83d5bb3c835ce8bca8fc05bbf481a83c737b253e05d8f23dffbe28be05a24abe5b2758bdaabf4b3d424b8cbaf9e57d3c6672d43d092f14be3d8ec23dc7bb0fbe9688883f5def893f5def893f9688883f7a92bcbb34a9c03bfe8bf5bc1883423dec99443ef252623df2fad7bd676a6bbe4cf0a2bd965da13d4aa008bd3ac53b3d249bb43d359e06bef6dba03ddea7febd4873883fb5758a3fb5758a3f4873883fa5570a3d9c263bbd770c413b19ffab3c0b12393ecad50f3e88ce41be19355bbebd5e8ebdc1896e3dc123873b1237903c9be3013e38be2bbef975ec3d2ee824beee40883f006b8a3f006b8a3fee40883f41e1663ccaf2dabcf6c22a3c2aa4833c860b4a3eb142ad3dc1810cbedbfb64beedc5a9bd00f78f3dadf5eabc6204523d684ce83de6f620beccdfbd3d4fef0ebecae3863ff5b98b3ff5b98b3fcae3863f689293bd889c953d4638a7bd0659d33d00bbab3e0ceab7bd4b03e33c471fb3be742133be2c612a3e8c74f9bde629073ecef4b33dfa970abe03a3603daff3d2bdfd49853ff5988d3ff5988d3ffd49853ff145153d3d1b75bc9d1b23bc61cddcbad203b33dfdfcb33d029608beabce07becf0a48bc083c0f3da399c8ba943238bcd7a3a13d40affcbddb19a23d8dc500be81558a3ffe648a3ffe648a3f81558a3f32430e3d1627b1bc50965cbb9161353ac5aebf3d726dcc3da7a312bef50310be589c9bbc1c0e073ddbf0333b7adecbbb00d4a83d585f00beb8d6a23dc18b01be4c5b8a3f9a0c8a3f9a0c8a3f4c5b8a3f48f40e3d4a9606bd83a3043ce19a75b9cf95c73d8d30fb3d07932bbefa3d11be1ef499bc3703cf3c77770f3cfa2c4dbb5211ad3dc158fcbd100da63d1ca704be8bd0893f89f4893f89f4893f8bd0893f36e3163d3885b8bc877b36bc74c2113cba4ad73dde45e23db23f1dbeba8e1abe96f9a7bc02400b3defd82d3c69f23ebc0a5ec63d1e3212befdbcca3dc6e311bed2f6893f2cb7893f2cb7893fd2f6893f32fd183dce02fdbce49a01bbb014063ca288de3de0cbfd3d349f2abebbcd1ebe405ea6bcf9b5d53caf9f923c364d25bcea8dc63d053d11beed1ccd3d3fda12be77f3893f4660893f4660893f77f3893f569d423d487524bda6f0263cc3aa70bbcfffb03d550e073ee7f434beb3f50abe81b90bbce04a793cec16e33cf78391bcfa99bb3d8afb0bbe26aec43dbdcc0dbe600f8a3f1e48893f1e48893f600f8a3f98e6353d21dc25bd968a56bb8b9b2d3c17bd063e4ef6143e7e8b3cbe4e7534beb4da05bdafcf113d7769813c37b1e0bb0486de3d28e31bbe76e8e83d2b3d1ebec99a893fcde4883fcde4883fc99a893faabf4b3d5b2758bdf9e57d3c424b8cba05d8f23d737b253e05a24abeffbe28be835ce8bc83d5bb3cf481a83ca8fc05bb3d8ec23dc7bb0fbe6672d43d092f14be5def893f9688883f9688883f5def893fa85da13d5cf0a2bd50c53b3d66a008bdfd52623de999443e646a6bbef8fad7bd31a9c03b5a92bcbb1683423d028cf5bce7dba03dcea7febd179bb43d2f9e06beb5758a3f4873883f4873883fb5758a3f9d896e3db35e8ebd3937903c2923873bcdd50f3e0912393e1b355bbe86ce41beac263bbdbb570a3d36ffab3c540a413b0d76ec3d32e824be96e3013e35be2bbe016b8a3fed40883fed40883f016b8a3f07f78f3df2c5a9bd6d04523dc9f5eabcb542ad3d850b4a3edbfb64bec1810cbebaf2dabc0ee1663c3fa4833ce3c22a3ccadfbd3d50ef0ebe6b4ce83de6f620bef5b98b3fcae3863fcae3863ff5b98b3f22612a3e752133bee429073e7674f9bd1beab7bdfebaab3e401fb3be3703e33c859c953d5a9293bdf058d33d3838a7bd0ca3603d96f3d2bdc6f4b33d05980abef6988d3ffc49853ffc49853ff6988d3fc758123d74645cbc338115bc528a68bb138aab3d6361ae3dc7ac06be9b4403beed1c4bbc723d0e3d63960dbb683b29bc8746a13d852efdbd728c9f3d5748febd2b4a8a3f5b828a3f5b828a3f2b4a8a3fdf1a103daccfb8bc49f889bb0376e93a1a24b53d3920d63d715a16be44a30bbef18384bcc322fa3c1ac48d3b51b004bcbaa2ad3dac5a00be5e3ca63de3bd05bef05f8a3fbe078a3fbe078a3ff05f8a3fc334723d202158bdb042f93c81cad4bcbe9b9d3d14c3153e775b42be5043fabdb487debabe503f3c391dcd3c240eb2bc74eda33d435bf4bd4374983dff9dfebdc7368a3f6d7a893f6d7a893fc7368a3fb6e5243d457cc8bc4ac138bc5cdeed3bed24cd3dd1abe73d4d5a1dbedc3418beb76a8dbc85a7003daba53e3c3ed953bcabacc33d3ec910beb497cc3d241013beed238a3fc290893fc290893fed238a3fe33b3a3dc2451ebd50b10a3bab493b3b9396c03df1a80c3e806e33be13c114be095f4ebc137a8d3c648acc3c02c876bc4b82c23d135f10be3dcad33da7f514bed35f8a3fa5ec883fa5ec883fd35f8a3f8f65743d9aa04ebd1409843c7e2452bc73df863d1c90223ea33d4dbeb813f2bd401dd63b47b562ba008a323d2f7cfbbc11bebc3d3c240fbe7d8cd73da75714bef68a8a3f59ae883f59ae883ff68a8a3f93ff543d18e73abd31fd46bb4c72f43bd4b2f53dc466203e11bc40beb91330becc1fcdbc8e59d83c87f5ab3cf5bf1dbcbf2ed63db10f1bbe4598f73d555422be77618a3f891b883f891b883f77618a3f7bd78f3d9e5790bdf550cb3cca5d6ebc43bead3d9a47483e988d60be334813be0ee006bc4ef3013a7a001b3dde507bbc1b6db33dd8540cbe2868ea3d21131abe8e7a8b3fc3dc863fc3dc863f8e7a8b3f0256d23d5ea0cdbdae136a3d987a4bbd4c4df53badf9793efbb889be5a7b92bd9982173dc14f20bd7aec983df86f52bd402b963d0af4febdd6a2db3dec7c13bed54a8c3f7f61863f7f61863fd54a8c3f9e93a03d5a68b7bda117e73c60d3f3bb56c4d23dbe105c3e4b9d6dbe98a72cbe7594c5bcf0c5293c5bce103d2d1fefbb37cfd73dcfe31fbe9c70103e592c35be61848c3f1716863f1716863f61848c3fc467f33df08302bec5b39d3d4a2b77bd0f2704bc5a9d943edbb590be21e9a2bdef00763c2689f0bc8401383dac974dbcba1c5b3dc8c8ddbd5505ff3d307624beb519913f5367813f5367813fb519913fad162e3ea59d2dbeb677e73d2e46debd7d393cbebaaee13ef562cfbe4b85853d0535dd3d9775dfbd87a7c93d227889bd76f4ecbbb5aa59bd553be93dcccb1ebe02cb963f268c783f268c783f02cb963f4419133d34fe6abc7a7e26bc112200bbf007a63db374ad3db41c03beccb003befbba2ebc74be0c3d72b236bbfeb033bc89e9a23d990cfabd938d9e3dc71101be53758a3f9d5c8a3f9d5c8a3f53758a3fa7292c3d9e0ceebc008c9839afe691bb4c3ab83d6e06dd3d970718be0fb40ebe633a35bcb657ed3c72a7a73b7adf44bc1024ac3dd883f6bdfd1f9e3d126a05be9e628a3f72088a3f72088a3f9e628a3f984b7a3d38aa2fbd31f1243c908fa0bc07b1ab3da68b173e69e541be635306be661d993bbbfa2d3c7e01c73c792cd1bc4d05af3d5c64fcbd5b97b83de4ba10bedb918a3f6b43893f6b43893fdb918a3fe4342d3db29bcfbca51b44bc6c0bd53b6485c43d8679ea3d27cb1cbecced15be232b72bcab40f23c30ca483cd43c63bc2536c13d5c8110beb6b2d03d5b2a14be61538a3f9b62893f9b62893f61538a3f4360513dcc832abd8b649c3abdf27f38cef7b23d946b143ea84d36be486e12be4357e1bb8d71293c24e6ee3cfe978ebc299dbd3d01c610be3d55e03d8ed917be14ce8a3f3e6e883f3e6e883f14ce8a3feda7823d052954bd0051473cdacf59bc89df7a3d92852d3edaa250be8cbef5bdbe50353cde1903bc0bad453d35db01bdfab4b93d6f9c11be15d2e93d49ec18be19348b3fa3e5873fa3e5873f19348b3fb8c1653dedb245bddcbec4bb3f570f3c9183e13da589273e292041be3ee02cbe388c9abcd6d5a13c007cce3caf174fbc3835d23ddb2a1cbe53c8033e7d3e27be71038b3fbe6e873fbe6e873f71038b3f8edba03d925f9cbd5604b43c30827abcdbe18e3de980583e2f2064be20a410be79f7bf3abced56bc6c4f3b3de50d94bc7ca2a63d64680bbe2660023e0a5020beeacb8c3f745e853f745e853feacb8c3f3b4bce3d0149c1bdd3182b3de81923bdacafd43be65c7f3ec7a084be9399afbdd3091b3dd80439bd0f53963d661235bd60518d3d7e0d01be2215003e3fd21cbe71ec8d3ffa7a843ffa7a843f71ec8d3ffb36aa3dd51cc0bd3407953c6d20d73af5c6b03dbc2a6b3e88056cbe40852cbe981168bc6df4ecba69622e3dfa5e39bcdc1cc73d1d231ebe7261223ea33b40beda868e3f47ff833f47ff833fda868e3f8d72023ef1080abeb9e0773d89333ebd7a6310bd3184a83e7dde8fbee793c0bd4452fb3c77fb4bbdd8d34a3dee4e2bbc671ddb3cc0efb3bde69f133e4d4730bebf2b963fb05f783fb05f783fbf2b963f470f293ed9cb27beffbc973dc83290bd201932be9c11e63e6fb8b6be789dc2bb04cbb83dc620c9bd7f0a683d96a593bc63f484bdcf07d83b153ae93d50311cbebd729d3fcc236b3fcc236b3fbd729d3fb1020e3dc3da5fbcd18e38bc941705bad079a53d4546aa3d532002be6cb402be1d3c3abcdb6d103d53d56fbbdef828bc7c8aa13d9782fabd1e1da13df46101be82798a3f455b8a3f455b8a3f82798a3fbebf223d043fe7bc85714abb228224b97b5db43d9863db3d28a715be6fc70dbe26ab16bce496e63c493ea93b722958bc7825b13d0413fcbd95f9a73d40f809be996c8a3fd3fe893fd3fe893f996c8a3ff4ee823d441a44bdb229b6bb5e1465bbc09da83dcccc203e377a41be26650ebe18d20ebba188553c7ff1d43cbf9fbcbc8159aa3d03daf8bd8510c13dcfad13be60908a3f686a893f686a893f60908a3faaef2c3d00cacebc58d163bc5cba043cfa7abe3d01aee93d71391abebef614be9bf156bc5db4eb3c9714473c841b6dbcf55dbf3d3e8810be2129d53d7f6415be0a858a3f4a30893f4a30893f0a858a3f0da15c3d53a126bd67ca5bbb1b719db9baa0ac3df3f5153e179632befdec13bedf67a0bbe296e13b0061f53ca44a87bc1a96b93d645f13becf55ee3def6e19be2f2a8b3f6f06883f6f06883f2f2a8b3f6a34803d724c47bd5f5b983b0b7719bc2aad823d518c2e3e843f4abe335903be8fb5203c9cb251bc0718493da1dfd9bc934ab73d4ee716be3b6a003e39ee1cbee7be8b3fb842873fb842873fe7be8b3f318e743d68c942bda23c4bbc40692d3c1088d43d39f32a3e8b5b3dbe09a12dbe56ba78bcbe107b3ca879e03c970e60bccc3ace3d78501ebe00fe0c3eaf0e2cbe76bb8b3f11ab863f11ab863f76bb8b3fb8daac3d80f39dbde0cb563c0b4950bc01ec823d9d085d3e64355bbe38ed17bea324dc3ba7f0b2bc5c07433d9be282bca55c9c3d90d20dbe4548123e60c226be8be28d3ff31b843ff31b843f8be28d3fbe50c73da55bafbd4ee0cb3c868bf2bc46f9a23c5174773e8b0373bedd07e4bdc7cf093da4db41bd36da8b3dbe140abdfde28c3d9e4a06be0bfa113efcfd25bee3fb8e3feb13833feb13833fe3fb8e3fefcaac3df978bdbdc96e86bad6408f3c3d9f9b3d7055733e100e64be79e231be805e26bc57dc14bc6c09433d88ee4fbcaed0b83df4cb20be17de373e3acd4abe2434903f8b36823f8b36823f2434903fa381023ed6b709be322d153d1de0c7bce3c918bdbb7db03ed0ef85be910103be4267213d2fc186bd09e0493d24c606bb88c1563cb5f6a3bd765b263ed77439be32a9983f04f5723f04f5723f32a9983fc59c223e0cd827bec461723d742b55bdf05810bec3d0e43e59f4a3bedb1596bd87d9963d0156b8bd1e0d2b3dff94bd3a77a185bd66bcce3c916fcd3d6f3816beec3e9f3ff09b663ff09b663fec3e9f3ffb360f3dd9b15dbc02c95abc8ca78e3a0b94a33d2afda73d6662ffbdd81903bea02a34bcb441123d2b598fbb69de2abc4c36a43d3daefbbdabaca23db0e202bea6638a3fa0748a3fa0748a3fa6638a3f20232b3d0fdcdbbc2f8439bcde68833b2932b43d69abde3d5a1e14be1a1210be4b4111bcb71cf03c266e583b740257bc806dab3db9f7f5bdf3f9a73d6e0b0abeb43d8a3fc02e8a3fc02e8a3fb43d8a3fc9c5923da82707bd07c3d6bc38ea04bc55e6ab3d5b971d3ee08439be07ab13be7fe1373b9ad60a3cf97ecf3c864ebebc742db53d673e02bec802d83d275f1dbeb88a8a3ff785893ff785893fb88a8a3f59d42e3d9df5c1bca1028cbce1f2143cf047bb3d2bc7e53db5c816bedf0015be743d4abc5553e83c97e5383c172d63bcfc3fbd3d5dc510bed989db3d081b17bef7b48a3f9301893f9301893ff7b48a3faa65603d76ba1cbdd03522bca1b4003ba701aa3d03d7123e1aa929befc2c17bea03f90bbb125d63be9d2da3cba1363bce320b53d9dc513be2c47fa3d71031cbe9e868b3f4797873f4797873f9e868b3f5b707d3d485a31bd735a78bb9515e3bbe32c943d871a2a3e68dd3ebef73510be611ef23b00e67fbcb17e413de455a9bc80b1ba3d75141dbeb4b30b3e269122be74158c3f60bf863f60bf863f74158c3f7e157d3d845f38bd3f23b2bc2caf743c4eaec93dae93293e0c2835be91df2ebe8ce84bbc401b4a3ce2c6e43cb41e61bc7d32c93da5c220bedfe0163e4d8f30bef0468c3f6b12863f6b12863ff0468c3fad23ad3d88b48fbd6b0e0cbb0fd2babb8ff7813d5dfb573eb8434abeb9d821be5931eb3bdb13c5bcfe96333d639b35bc85c2983d433713be07df213e41fb2cbe36978e3f482c833f482c833f36978e3f71a9bf3d75ed94bd7733003c4eeebabca814193d80a9663ed17e56be19570bbeb048c83c32c93dbd8c08793da16fa8bcb02f8e3d49f810bed719243e37922abe23828f3f550b823f550b823f23828f3fb58fb33dcbe0bbbd647dbebc63100c3d5f798d3d52f7783e5f1657bed10b3dbe59ac02bcbd5257bce125453daa6234bc57c8a43db8cf21be53e94c3e87e152be58b2913f9e93803f9e93803f58b2913f99c7013ecba60abe8a86813ca40380bb1afcd1bc7d25ad3e0f176ebee0b725be45851f3df6659abd61eb483dc23a003c92ec1f3ce170abbd0705363ef7763dbebaba983f132b723f132b723fbaba983f991c093ef2b30dbe7ed72d3d84f621bdfe6a9cbd5e63d23e434794beeb9c01bee969703d2ad9c1bdfbe25c3d34e8553befdb90bcbdc0acbc0747fc3d980124bed0b69c3f79cc693f79cc693fd0b69c3f0b350f3d8d8c6abc0e5b5bbcd014dd3a3ceea33d8491a33d66fdfbbd03c802be8bde5bbcbcf41c3d66cad8bb0bb909bc608aa83d3ddbffbda203a93de00106beee6b8a3f2d718a3f2d718a3fee6b8a3f7385383d4f08cbbc45d2d1bc0b484b3c2facaa3d3e65c53d6b2605be43270dbe19af3fbc187c083d9783823a18e350bc2e38a83df0aa00be0188bc3d2e030cbe6bbd893f41aa8a3f41aa8a3f6bbd893fe200653d7f7bbebc3b72c0bcfc1fc5bb9760b43df350153ea9d729be9ae71cbe3577b93a959d1abb57ecd93ce51260bc20f3c53d665512be18faf83d5f8524be2fb78b3f402d883f402d883f2fb78b3fc6742f3d3aa0b8bc23cda1bcf796273ca127ba3d00cbe13d1d2213bec41c16be672c43bc1f40e93c70422b3c950b5fbcd433bc3d4ea111be6bcfde3de42c17beccbc8a3f11fd883f11fd883fccbc8a3f3e29603da79ff4bc1420a9bc031a763b88c3ab3d67540b3e441f1ebe3ea01abe506cbabb9ab2f73b83eab33c3dbf22bc7dcfb03df0d616be266c043e68231dbe9bb28b3f7156873f7156873f9bb28b3f93607c3d00b607bd6df588bcf22f96bb0aa6a13daf64213e8e632ebe159d1abe5a6a4e39e13481bc76032d3d26fb2ebca0aeb13d3b3424be572d173e26eb20be08468c3f2f3f863f2f3f863f08468c3f80e6823d61b526bdca0803bdf4da953cbed5c43deb74253ef5342bbed70132be31ff3ebceb96423c0a7eda3ceb8551bc905cc43d898c23be10171f3eb81333bedba98c3f00a5853f00a5853fdba98c3f9cf0a93dbb8057bdbbc9cfbc07b9123a569f8c3dece8473ee89c32beafa22bbec5be123b2bbfacbca73c173d13c894bb7ce4953d891c1ebe3d41333e714a2fbec4cf8e3f98a5823f98a5823fc4cf8e3fa85eb33dd2c84cbd6bd389bc35e088bce8096c3dd5f04d3ebac836beb2bf1fbeee702e3c73b126bd9e8e4c3d3b25c1bb62668e3d59481dbe265b353eaca22abec6568f3f8877813f8877813fc6568f3f6cbabf3d0634adbd86ab62bd25b8523d8d50843d8338723e188e39be10524ebea9ebc8bb6af964bce0b2313d2417e9bb91498d3de10c22be9f5d5e3e197056be8f9d923f7c007f3f7c007f3f8f9d923f6585f03d8b6ddcbdff05c4bc409d813c0b1b493ba509943ec4c03fbe490c3bbef8dccd3cb57e90bdcdbb453db00c673c3bf28b3cea03eebd17aa563ec1193fbe1aa8963fb745753fb745753f1aa8963f8229db3d3068b8bd27b4453c51750ebd4db519bcf4efa63e30cd6cbea81421be4f7c0c3d16dbc7bd682e893dffdd473cb3fc893c0802dfbd610f413ef13128be5cfe983fe0226f3fe0226f3f5cfe983f3b580f3d63365bbc117e6bbcf6bde13adf81a83d78bea83d809affbd20fd05be91120abccee81c3de191d6bb8e1c5cbc95eaa33dafb4fbbdb049a33dccc602bede6a8a3f26718a3f26718a3fde6a8a3feaaa3c3df8fedbbcabf4d1bc38055c3caadca73dc4f2bc3d736b00be182d0cbe686c54bc18e8093def81853a1c6743bced2daa3d521305be5265c63dee620dbe97a3893f86c18a3f86c18a3f97a3893f3617643db2debebcafb1bebc84f9c8bb8aeec53dd691f93d869a12bed16624beb5365fbc93ed28bbe82ddb3ca28cb73af48bb43db2dd29befd54153e15c31cbe49b68b3f5429883f5429883f49b68b3fb7732f3d00c8a1bcbda1b8bcfb8c273cdf33bc3df4cbde3dac9f11beb62c17be100d5fbcc73ce93cc94c2b3c022e43bca227ba3d4c2013be53c7e13da51c16bee4bc8a3ffffc883ffffc883fe4bc8a3f972e603da827a9bc4eaff4bcee71763b61cfb03d2a6b043ebcd516be69231dbeb6c522bc42d8f73b42e7b33c007bbabb37c3ab3df01d1ebe7b530b3e62a01abe6bb28b3fa256873fa256873f6bb28b3f2f637c3df90f89bc7bb207bdf50696bb73adb13dbc2d173efb3324be98ea20becdfd2ebcfe3981bcb6072d3d6c6e4c3997a4a13d4d652ebede67213e289d1abefa458c3f2d3f863f2d3f863ffa458c3f99e6823d040903bd45b526bdd0da953c945cc43d11171f3e8e8c23beb61333bed08551bce097423cb87dda3ca0ff3ebcc6d5c43dea342bbee374253edf0132bedba98c3f00a5853f00a5853fdba98c3fb1f0a93dedc9cfbcae8057bd2db1123a7ce4953d4041333e8e1c1ebe6f4a2fbe01c994bb1dbfacbca83c173d35c0123b449f8c3de19c32bee4e8473ea5a22bbec4cf8e3f99a5823f99a5823fc4cf8e3fa85eb33d6bd389bcd2c84cbd35e088bc62668e3d265b353e59481dbeaca22abe3b25c1bb73b126bd9e8e4c3dee702e3ce8096c3dbac836bed5f04d3eb2bf1fbec6568f3f8877813f8877813fc6568f3f12babf3d89ab62bd3734adbd34b9523dbc498d3d9c5d5e3ed30c22be397056be7e16e9bbf5f664bc66b2313d40edc8bb0151843df78d39be5538723e3e524ebe8d9d923f80007f3f80007f3f8d9d923f8285f03d7706c4bc5f6ddcbd899c813cd3f28b3c0baa563edb03eebdcc193fbe4f0c673c9b7e90bda2bb453d13ddcd3c491e493bbdc03fbe9f09943e510c3bbe1aa8963fb845753fb845753f1aa8963f5929db3dd1af453cb567b8bdd9740ebd61fc893c500f413ede01dfbdec3128be26de473c18dbc7bd652e893d517c0c3de4b519bc4dcd6cbe02f0a63e9e1421be5bfe983fe2226f3fe2226f3f5bfe983f4e360f3d3cc75abc64af5dbcbe9d8e3ab836a43da2aca23d97aefbbdbce202bebcdf2abcaf41123d2d548fbb7b2b34bc3794a33daa62ffbd20fda73dc71903bea8638a3f9e748a3f9e748a3fa8638a3f43232b3da58339bc70dcdbbce067833b7a6dab3dfdf9a73dc7f7f5bd660b0abe430257bc381cf03c3772583b874111bc1c32b43d601e14be5fabde3d091210beb23d8a3fc22e8a3fc22e8a3fb23d8a3fc9c5923d07c3d6bca82707bd38ea04bc742db53dc802d83d673e02be275f1dbe864ebebc9ad60a3cf97ecf3c7fe1373b55e6ab3de08439be5b971d3e07ab13beb88a8a3ff785893ff785893fb88a8a3f3ad42e3d7c028cbc97f5c1bc27f3143cfd3fbd3de589db3d60c510be0b1b17bef32c63bc2c53e83c52e5383c2c3d4abcf647bb3db2c816be2fc7e53de60015bef8b48a3f9301893f9301893ff8b48a3f1865603d673222bc84bb1cbd9ec0003b0e21b53ddd46fa3d6fc513be8c031cbea61463bcf928d63bf4d1da3c4b3d90bb9901aa3d0ca929bef6d6123ef52c17be9c868b3f4897873f4897873f9c868b3f696f7d3d0f5d78bb465931bd9a14e3bb33b2ba3dc0b30b3ed4141dbe2e9122bee856a9bc5de57fbc397f413d0a1df23b092d943d60dd3ebe731a2a3efe3510be75158c3f60bf863f60bf863f75158c3f6f157d3de322b2bc9b5f38bdfcae743c6732c93de1e0163ea2c220be478f30be6c1e61bc531a4a3c33c7e43c80e84bbc45aec93d152835beb393293e88df2ebef1468c3f6b12863f6b12863ff1468c3f8323ad3d0c0b0cbba1b48fbd9ccfbabb97c2983d08df213e473713be46fb2cbed79a35bc1b14c5bc1b97333d4c30eb3ba7f7813dbb434abe63fb573ec7d821be36978e3f482c833f482c833f36978e3f7ca9bf3db033003c83ed94bd5deebabcc12f8e3ddf19243e54f810be3d922abec66fa8bc47c93dbda908793dc048c83cae14193dd07e56be84a9663e1c570bbe23828f3f550b823f550b823f23828f3f818fb33db77dbebc9ae0bbbd98100c3d64c8a43d49e94c3ec2cf21be7ae152be1a6334bcde5257bce125453ddaab02bc05798d3d741657be6df7783eaa0b3dbe58b2913f9f93803f9f93803f58b2913f99c7013e7e86813cd4a60abe3c0280bbd2eb1f3c1905363efc70abbdf2763dbe4d3b003c16669abd9beb483d2a851f3d0dfcd1bc19176ebe8325ad3ee4b725beb9ba983f152b723f152b723fb9ba983fa91c093e34d82d3d1ab40dbee0f621bd97db90bce846fc3dd9c0acbc8c0124bee0e6553b1cd9c1bd02e35c3dd269703dfc6a9cbd394794be5963d23ef89c01bed1b69c3f77cc693f77cc693fd1b69c3feb030e3db08d38bcece15fbc030c05bab189a13db31ca13db181fabdc76101bef1f628bcb86d103da0dc6fbbdc3b3abc9a79a53d382002be7646aa3d82b402be80798a3f485b8a3f485b8a3f80798a3fbebf223d85714abb043fe7bc258224b97825b13d95f9a73d0413fcbd40f809be722958bce496e63c493ea93b26ab16bc7b5db43d28a715be9863db3d6fc70dbe996c8a3fd3fe893fd3fe893f996c8a3fd4ee823dbe31b6bb431944bd601065bb7659aa3d5810c13dd7d9f8bdc9ad13be879fbcbcf98a553c5bf0d43c16d40ebba69da83d717a41be05cd203e19650ebe60908a3f686a893f686a893f60908a3fbbef2c3d31d263bc0fcacebce6ba043cfd5dbf3d2429d53d3c8810be876415be6d1b6dbc9fb4eb3c5814473cebf156bcfb7abe3d6e391abef3ade93dbcf614be09858a3f4c30893f4c30893f09858a3f9ca15c3da7d05bbba5a026bd6bdb9db9e095b93d1f56ee3d995f13bec56e19be484a87bcdc92e13b5a62f53c9f6aa0bbcba0ac3d2f9632befef5153efaec13be2f2a8b3f6f06883f6f06883f2f2a8b3f6a34803d5f5b983b724c47bd0b7719bc934ab73d3b6a003e4ee716be39ee1cbea1dfd9bc9cb251bc0718493d8fb5203c2aad823d843f4abe518c2e3e335903bee7be8b3fb842873fb842873fe7be8b3f1b8e743d7f3c4bbc67c942bd7b692d3ce33ace3d01fe0c3e7b501ebeb90e2cbe090f60bca0107b3cb279e03cdcb978bc1288d43d8c5b3dbe39f32a3e0aa12dbe76bb8b3f11ab863f11ab863f76bb8b3feddaac3de6ca563c77f39dbdfd4950bcb25c9c3d3c48123e88d20dbe65c226bef1e282bc5af0b2bc4407433d7625dc3b1eec823d6c355bbea7085d3e49ed17be8ae28d3ff41b843ff41b843f8ae28d3fae50c73d78e0cb3ca85bafbd698bf2bcfee28c3d08fa113e9f4a06bef6fd25bebc140abd87db41bd2dda8b3db7cf093d4cf9a23c770373be3b74773edc07e4bde3fb8e3feb13833feb13833fe3fb8e3ff5caac3db47086bafc78bdbdeb408f3ca7d0b83d1ade373eeecb20be41cd4abe8eee4fbc75dc14bc6b09433d565e26bc3f9f9b3d1a0e64be7855733e79e231be2434903f8b36823f8b36823f2434903fa281023e4e2d153ddbb709be26e0c7bc80c1563c7b5b263ebef6a3bdd77439be23c606bb35c186bd11e0493d4567213decc918bdc9ef85beb47db03e900103be32a9983f03f5723f03f5723f32a9983fc09c223ee061723d0cd827be7e2b55bd63a185bd836fcd3d09bcce3c643816bedf92bd3afc55b8bd370d2b3d7dd9963def5810be59f4a3bec2d0e43ed81596bdeb3e9f3ff29b663ff29b663feb3e9f3f9018133df18026bcc4f96abca21e00bbebe9a23ded8d9e3d060dfabdef1101beceb133bcc3be0c3d59b436bbccba2ebc0f08a63dc31c03bea774ad3dc9b003be55758a3f9b5c8a3f9b5c8a3f55758a3f73292c3d0ba598395c0ceebc19e891bb3324ac3dc11f9e3db783f6bd136a05be88df44bce257ed3c4fa6a73b123a35bc3a3ab83d930718be8d06dd3d1db40ebea1628a3f6f088a3f6f088a3fa1628a3f564b7a3dc4ea243c62a92fbd4e8da0bc4905af3df497b83d8b64fcbd1fbb10be292cd1bcd9f92d3c4501c73c281f993bf3b0ab3d48e541bea78b173e805306bedd918a3f6943893f6943893fdd918a3fd0342d3d311b44bc189ccfbcd70cd53bfd35c13dc5b2d03d5c8110be502a14bec03b63bc2640f23c2cca483c0c2b72bc2485c43d15cb1cbe8b79ea3dc2ed15be62538a3f9b62893f9b62893f62538a3f2660513d99589c3a7e832abdcc578038239dbd3d4b55e03d04c610be8fd917beba978ebce471293cc2e5ee3c8357e1bbc4f7b23da04d36be9a6b143e4f6e12be15ce8a3f3e6e883f3e6e883f15ce8a3fd1a7823da750473cfb2854bdc5ce59bcf7b4b93d10d2e93d709c11be44ec18be18db01bda11903bc08ad453d1550353c52df7a3ddca250be96852d3e76bef5bd19348b3fa3e5873fa3e5873f19348b3fe0c1653d32bfc4bbfdb245bd40570f3ce034d23d3dc8033eb92a1cbe5d3e27be5f154fbc1ad6a13c3d7bce3ce48c9abc8683e13d1f2041beb189273e52e02cbe73038b3fbc6e873fbc6e873f73038b3f7cdba03d5804b43c845f9cbd18827abc5aa2a63d3560023e71680bbefd4f20be640d94bc66ee56bc8c4f3b3d54f1bf3abce18e3d272064bee280583e11a410beebcb8c3f735e853f735e853febcb8c3f3b4bce3dda182b3d0249c1bdec1923bd43518d3d2115003e760d01be3cd21cbe351235bde10439bd0653963dc7091b3dc2afd43bcda084beed5c7f3e8e99afbd71ec8d3ffa7a843ffa7a843f71ec8d3f1737aa3de705953cf91cc0bd6636d73aa31cc73dab61223efd221ebedd3b40bee95d39bc3d09edba15622e3ddd0e68bc8ec6b03d52056cbef32a6b3e76852cbee2868e3f3eff833f3eff833fe2868e3f8b72023ec2e0773df1080abe88333ebd6c1ddb3ce49f133ebeefb3bd4c4730bef74e2bbc78fb4bbdd8d34a3d4c52fb3c7d6310bd7ede8fbe3284a83ee593c0bdbf2b963fb05f783fb05f783fbf2b963f580f293efbbc973debcb27bebe3290bd7bf484bd263ae93d1609d83b58311cbe87a593bccf20c9bd7f0a683d0acbb83d221932be67b8b6be9a11e63e1a9fc2bbbe729d3fca236b3fca236b3fbe729d3fc558123dcc8015bc65655cbc228868bb8846a13d798c9f3d9b2efdbd4948febd163b29bc323d0e3dc6900dbba11d4bbc048aab3dbaac06be5761ae3d9a4403be2a4a8a3f5c828a3f5c828a3f2a4a8a3f311a103dc1f489bb0fcfb8bc1a77e93a9ca2ad3dc33ca63dd65a00bedebd05be23ae04bc8221fa3c7ac68d3b7f8484bc7424b53da05a16be3220d63d3ea30bbeee5f8a3fc0078a3fc0078a3fee5f8a3f5634723dfd42f93cca2058bdc1cad4bc6ceda33da373983d055bf4bd869dfebdf40cb2bc2a553f3ce31bcd3cebaadeba439c9d3da05b42be28c3153ea143fabdc6368a3f6f7a893f6f7a893fc6368a3fd9e5243dd6c038bc827cc8bc5added3bb5acc33da497cc3d3ac910be261013be5ada53bcc5a7003da4a53e3ca96a8dbc1e25cd3d655a1dbee1abe73de23418beed238a3fc290893fc290893fed238a3fbd3b3a3d82b20a3bca451ebda74b3b3b6c82c23d2bcad33d0e5f10beb5f514be41c876bc3a7a8d3c538acc3ced5e4ebc9b96c03d806e33bef0a80c3e17c114bed35f8a3fa5ec883fa5ec883fd35f8a3fa065743d8407843cec9f4ebd682452bcfabdbc3d818cd73d2f240fbeaa5714bed97bfbbc509c62ba6489323de51dd63b83df863daf3d4dbe2e90223ed513f2bdf58a8a3f59ae883f59ae883ff58a8a3fb4ff543d43fa46bb68e73abd6b71f43b422fd63dc498f73ded0f1bbe965422bec1c11dbc5559d83c3ff6ab3c781fcdbcd0b2f53d11bc40beba66203ea81330be77618a3f891b883f891b883f77618a3f77d78f3d1951cb3ca75790bdae5d6ebc206db33d1868ea3dd0540cbe23131abe17517bbc61f9013a62001b3de1df06bc45bead3d998d60be9947483e334813be8e7a8b3fc3dc863fc3dc863f8e7a8b3f1b56d23dca136a3d73a0cdbdc07a4bbd312b963dcba2db3df7f3febde77c13be017052bdc24f20bd78ec983da682173da14df53bfab889beacf9793e617b92bdd54a8c3f7f61863f7f61863fd54a8c3f6993a03d1219e73c2368b7bd7dd9f3bb84cfd73d5e70103ef6e31fbe1b2c35be0e22efbbcdc8293cb8ce103def95c5bcc0c4d23d829d6dbe88105c3e62a72cbe5a848c3f1f16863f1f16863f5a848c3fd167f33dceb39d3df58302be5c2b77bdb81c5b3d5d05ff3dccc8ddbd327624bec9974dbc5b89f0bc9901383d2501763cde2604bcd9b590be589d943e29e9a2bdb519913f5267813f5267813fb519913fa9162e3eb377e73d929d2dbe4646debda9f3ecbb483be93d76aa59bddccb1ebe257889bd8c75dfbd5ca7c93d2735dd3d77393cbef762cfbec0aee13e2d85853d05cb963f228c783f228c783f05cb963ff145153d9d1b23bc3d1b75bc61cddcbad7a3a13ddb19a23d40affcbd8dc500be943238bc083c0f3da399c8bacf0a48bcd203b33d029608befdfcb33dabce07be81558a3ffe648a3ffe648a3f81558a3f3e440e3dd4a05cbbf927b1bcae61353afed3a83d82d6a23d315f00bece8b01be99e4cbbbc30e073de5ec333b7a9b9bbc86aebf3d76a312be4a6dcc3def0310be4b5b8a3f9a0c8a3f9a0c8a3f4b5b8a3f4ff50e3d6fa5043cc39606bd0fa376b97c11ad3d210da63dd558fcbd30a704be1d434dbbf201cf3c097a0f3c5cf199bc6b95c73d1f932bbebb30fb3dc73d11be8bd0893f89f4893f89f4893f8bd0893f24e3163db27b36bcb484b8bcd6c1113c1c5ec63dfabcca3d273212bec3e311be9cf23ebcf23f0b3d5cd92d3c96f9a7bcbd4ad73db33f1dbeda45e23db88e1abed2f6893f2cb7893f2cb7893fd2f6893f62fd183d329c01bbb402fdbc0214063cc68dc63dfd1ccd3d093d11be2fda12beec4c25bce1b5d53cac9f923c545ea6bca988de3d359f2abee3cbfd3dbecd1ebe77f3893f4760893f4760893f77f3893faf9d423dc0f2263cd27524bda9af70bb119abb3d1eaec43d92fb0bbebccc0dbe018591bc8c49793c2818e33cbeb80bbce8ffb03de0f434be4b0e073ebbf50abe600f8a3f1e48893f1e48893f600f8a3f64e6353dbd8b56bbd8db25bdb99b2d3ce085de3d27e8e83d10e31bbe0e3d1ebe44b3e0bb90cf113daf69813c64da05bd22bd063e838b3cbe48f6143e517534bec89a893fcfe4883fcfe4883fc89a893faabf4b3df9e57d3c5b2758bd424b8cba3d8ec23d6672d43dc7bb0fbe092f14bea8fc05bb83d5bb3cf481a83c835ce8bc05d8f23d05a24abe737b253effbe28be5def893f9688883f9688883f5def893f965da13d3ac53b3d4cf0a2bd4aa008bdf6dba03d249bb43ddea7febd359e06befe8bf5bc7a92bcbb1883423d34a9c03bf252623d676a6bbeec99443ef2fad7bdb5758a3f4873883f4873883fb5758a3fc1896e3d1237903cbd5e8ebdc123873bf975ec3d9be3013e2ee824be38be2bbe770c413ba5570a3d19ffab3c9c263bbdcad50f3e19355bbe0b12393e88ce41be006b8a3fee40883fee40883f006b8a3f00f78f3d6204523dedc5a9bdadf5eabcccdfbd3d684ce83d4fef0ebee6f620bef6c22a3c41e1663c2aa4833ccaf2dabcb142ad3ddbfb64be860b4a3ec1810cbef5b98b3fcae3863fcae3863ff5b98b3f2c612a3ee629073e742133be8c74f9bd03a3603dcef4b33daff3d2bdfa970abe4638a7bd689293bd0659d33d889c953d0ceab7bd471fb3be00bbab3e4b03e33cf5988d3ffd49853ffd49853ff5988d3f diff --git a/shaders/ravu/ravu-lite-ar-r3.glsl b/shaders/ravu/ravu-lite-ar-r3.glsl new file mode 100644 index 0000000..0b9a105 --- /dev/null +++ b/shaders/ravu/ravu-lite-ar-r3.glsl @@ -0,0 +1,202 @@ +// +// 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 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 . + +//!DESC RAVU-Lite-AR (step1, r3) +//!HOOK LUMA +//!BIND HOOKED +//!BIND ravu_lite_lut3 +//!SAVE ravu_lite_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < HOOKED.h OUTPUT.h / 0.833333 < * +//!COMPONENTS 4 +vec4 hook() { +float luma0 = HOOKED_texOff(vec2(-2.0, -2.0)).x; +float luma1 = HOOKED_texOff(vec2(-2.0, -1.0)).x; +float luma2 = HOOKED_texOff(vec2(-2.0, 0.0)).x; +float luma3 = HOOKED_texOff(vec2(-2.0, 1.0)).x; +float luma4 = HOOKED_texOff(vec2(-2.0, 2.0)).x; +float luma5 = HOOKED_texOff(vec2(-1.0, -2.0)).x; +float luma6 = HOOKED_texOff(vec2(-1.0, -1.0)).x; +float luma7 = HOOKED_texOff(vec2(-1.0, 0.0)).x; +float luma8 = HOOKED_texOff(vec2(-1.0, 1.0)).x; +float luma9 = HOOKED_texOff(vec2(-1.0, 2.0)).x; +float luma10 = HOOKED_texOff(vec2(0.0, -2.0)).x; +float luma11 = HOOKED_texOff(vec2(0.0, -1.0)).x; +float luma12 = HOOKED_texOff(vec2(0.0, 0.0)).x; +float luma13 = HOOKED_texOff(vec2(0.0, 1.0)).x; +float luma14 = HOOKED_texOff(vec2(0.0, 2.0)).x; +float luma15 = HOOKED_texOff(vec2(1.0, -2.0)).x; +float luma16 = HOOKED_texOff(vec2(1.0, -1.0)).x; +float luma17 = HOOKED_texOff(vec2(1.0, 0.0)).x; +float luma18 = HOOKED_texOff(vec2(1.0, 1.0)).x; +float luma19 = HOOKED_texOff(vec2(1.0, 2.0)).x; +float luma20 = HOOKED_texOff(vec2(2.0, -2.0)).x; +float luma21 = HOOKED_texOff(vec2(2.0, -1.0)).x; +float luma22 = HOOKED_texOff(vec2(2.0, 0.0)).x; +float luma23 = HOOKED_texOff(vec2(2.0, 1.0)).x; +float luma24 = HOOKED_texOff(vec2(2.0, 2.0)).x; +vec3 abd = vec3(0.0); +float gx, gy; +gx = (luma11-luma1)/2.0; +gy = (luma7-luma5)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.1018680644198163; +gx = (luma12-luma2)/2.0; +gy = (luma8-luma6)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.11543163961422666; +gx = (luma13-luma3)/2.0; +gy = (luma9-luma7)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.1018680644198163; +gx = (luma16-luma6)/2.0; +gy = (luma12-luma10)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.11543163961422666; +gx = (luma17-luma7)/2.0; +gy = (luma13-luma11)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.13080118386382833; +gx = (luma18-luma8)/2.0; +gy = (luma14-luma12)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.11543163961422666; +gx = (luma21-luma11)/2.0; +gy = (luma17-luma15)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.1018680644198163; +gx = (luma22-luma12)/2.0; +gy = (luma18-luma16)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.11543163961422666; +gx = (luma23-luma13)/2.0; +gy = (luma19-luma17)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.1018680644198163; +float a = abd.x, b = abd.y, d = abd.z; +float T = a + d, D = a * d - b * b; +float delta = sqrt(max(T * T / 4.0 - D, 0.0)); +float L1 = T / 2.0 + delta, L2 = T / 2.0 - delta; +float sqrtL1 = sqrt(L1), sqrtL2 = sqrt(L2); +float theta = mix(mod(atan(L1 - a, b) + 3.141592653589793, 3.141592653589793), 0.0, abs(b) < 1.192092896e-7); +float lambda = sqrtL1; +float mu = mix((sqrtL1 - sqrtL2) / (sqrtL1 + sqrtL2), 0.0, sqrtL1 + sqrtL2 < 1.192092896e-7); +float angle = floor(theta * 24.0 / 3.141592653589793); +float strength = mix(mix(0.0, 1.0, lambda >= 0.004), mix(2.0, 3.0, lambda >= 0.05), lambda >= 0.016); +float coherence = mix(mix(0.0, 1.0, mu >= 0.25), 2.0, mu >= 0.5); +float coord_y = ((angle * 4.0 + strength) * 3.0 + coherence + 0.5) / 288.0; +vec4 res = vec4(0.0), w; +vec4 lo = vec4(0.0), hi = vec4(0.0), lo2 = vec4(0.0), hi2 = vec4(0.0), wg, cg4, cg4_1; +w = texture(ravu_lite_lut3, vec2(0.038461538461538464, coord_y)); +res += luma0 * w + luma24 * w.wzyx; +w = texture(ravu_lite_lut3, vec2(0.11538461538461539, coord_y)); +res += luma1 * w + luma23 * w.wzyx; +w = texture(ravu_lite_lut3, vec2(0.19230769230769232, coord_y)); +wg = max(vec4(0.0), w); +res += luma2 * w + luma22 * w.wzyx; +cg4 = vec4(0.1 + luma2, 1.1 - luma2, 0.1 + luma22, 1.1 - luma22); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut3, vec2(0.2692307692307692, coord_y)); +res += luma3 * w + luma21 * w.wzyx; +w = texture(ravu_lite_lut3, vec2(0.34615384615384615, coord_y)); +res += luma4 * w + luma20 * w.wzyx; +w = texture(ravu_lite_lut3, vec2(0.4230769230769231, coord_y)); +res += luma5 * w + luma19 * w.wzyx; +w = texture(ravu_lite_lut3, vec2(0.5, coord_y)); +wg = max(vec4(0.0), w); +res += luma6 * w + luma18 * w.wzyx; +cg4 = vec4(0.1 + luma6, 1.1 - luma6, 0.1 + luma18, 1.1 - luma18); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut3, vec2(0.5769230769230769, coord_y)); +wg = max(vec4(0.0), w); +res += luma7 * w + luma17 * w.wzyx; +cg4 = vec4(0.1 + luma7, 1.1 - luma7, 0.1 + luma17, 1.1 - luma17); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut3, vec2(0.6538461538461539, coord_y)); +wg = max(vec4(0.0), w); +res += luma8 * w + luma16 * w.wzyx; +cg4 = vec4(0.1 + luma8, 1.1 - luma8, 0.1 + luma16, 1.1 - luma16); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut3, vec2(0.7307692307692307, coord_y)); +res += luma9 * w + luma15 * w.wzyx; +w = texture(ravu_lite_lut3, vec2(0.8076923076923077, coord_y)); +wg = max(vec4(0.0), w); +res += luma10 * w + luma14 * w.wzyx; +cg4 = vec4(0.1 + luma10, 1.1 - luma10, 0.1 + luma14, 1.1 - luma14); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut3, vec2(0.8846153846153846, coord_y)); +wg = max(vec4(0.0), w); +res += luma11 * w + luma13 * w.wzyx; +cg4 = vec4(0.1 + luma11, 1.1 - luma11, 0.1 + luma13, 1.1 - luma13); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut3, vec2(0.9615384615384616, coord_y)); +wg = max(vec4(0.0), w); +res += luma12 * w; +vec2 cg2 = vec2(0.1 + luma12, 1.1 - luma12); +vec2 cg2_1 = cg2; +cg2 *= cg2;cg2 *= cg2;cg2 *= cg2;cg2 *= cg2;cg2 *= cg2; +hi += cg2.x * wg; +lo += cg2.y * wg; +cg2 *= cg2_1; +hi2 += cg2.x * wg; +lo2 += cg2.y * wg; +lo = 1.1 - lo2 / lo; +hi = hi2 / hi - 0.1; +res = mix(res, clamp(res, lo, hi), 0.800000); +return res; +} +//!DESC RAVU-Lite-AR (step2, r3) +//!HOOK LUMA +//!BIND HOOKED +//!BIND ravu_lite_int +//!WIDTH 2 HOOKED.w * +//!HEIGHT 2 HOOKED.h * +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < HOOKED.h OUTPUT.h / 0.833333 < * +//!COMPONENTS 1 +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + int idx = int(dir.x > 0.0) * 2 + int(dir.y > 0.0); + return vec4(ravu_lite_int_texOff(-dir)[idx], 0.0, 0.0, 0.0); +} +//!TEXTURE ravu_lite_lut3 +//!SIZE 13 288 +//!FORMAT rgba16f +//!FILTER NEAREST +d8b8c339ab9780b831e9aeb810cfa4b91782da3922bf67bb9bb1603b7ef86639ce52373bc9b3333bfcd11f3b3ce91e3b433e6abbe7c23b3a81956338ac065b3b5b5927b96c56eb39fcccb5b9258016b88813bd3a9a38793b0a1b86bbdce729ba413b023db08e35bc244447bc10cbbebb5a82a03d19ef9f3d870d01bef04801bea69d32bcaae7013d5bedbabb04684bbc2963753b9033d23a4e0d35ba8b5189bbeb70633b13fbff3af286483b8daafc3a61529f3deca800bed2069f3d42de00be63808a3f00768a3f00768a3f63808a3f2cbb89b9b94a943808a23f3912d006b9e769fdba382898bb9baab43bc1d6e63acbc024ba354748ba73f9b63b2f83c73bf7b193bb8e41dfba5597df3a7705aa3b396ca638bae278b826b988b920400a398ccb243b89cec33b4f38b5bb77080ebbc7af1a3d282424bca8ef71bc4f5f1fbc789aab3d1b39ab3d9e7306bef86a06be863223bcbef41c3d6e2224bc597579bcec85e13ba92d293bc44a33bbcf41c5bb6852d93a30089e3b5dc2113aa159533be002a93d15cd04beb6fca63dc22c06be58668a3f5e5f8a3f5e5f8a3f58668a3fe65bc9b9c883b338dec198b9c4a7ce39bca248bba70b9fbb49cccf3bead31b3b9057b2bb5f31b9bb6e61123c4259163c3830cabb5b016dbb0926723bf882ec3bdce743b9e717feb96f630e3aac3a5eb778eeef395decc93b1f2fafbb8e6a38b96aa03c3d70ce0dbcc9cf67bc172f8cbc8ac9b53d9bc2b33d5da90abe0d3609bef0118abbee34493d6377adbc8b3798bcc3c8163ca0f9693b380e76bba6dc09bc8eea68ba4d9d1b3cb7b8c3bb69f9853be624c33d5b1c0bbe14e4b33d47a712be72178a3f7b738a3f7b738a3f72178a3ff6df70b625f7cab86ccf24b8709bbeb963887ebbb7a698bb6216fd3b31b97d3aa65c1cbcef8b3dbc17488c3c6a6c833c9a9cc7bb47fc56bb54df353af38e113cd957f439f6ef87b9f18fdeb9efad54b929d91fbb35541a3c18bdc8bb6c3c6aba9f20233dc6ce95bc6e4daabcbca2553b7d28f03dbfb6e93d6cce25bec14d26bec00496bc5a5b333dfe7d1c3a4149b7bc90001c3ce0a124bb087e86b9df88debb400f28bcfb71903c487a36bc90fa8a3cc2e7f93d3f8b2abecda0f03ded502cbeb4ce893feb268a3feb268a3fb4ce893f6e189d39fd806bb9cba1823950473eba19af8fbb7be605bb9e3ca23b3d32b63a150d27bcb7842fbc9cad863c01957e3cf64a94bb7fd9a0bb000b293be704e93b08a97c37cc7ac4b97fe67bb9fc2ca2390f725abb95cf123cf298aebba94179b9115f1e3d18b8a0bcc96d9fbc63e5a93b9954e93db81ede3dd4b020beb44b20be6ba875bcabfe3e3d29a11bbbe908d0bcdfb14c3c1d01873aa9a572bb0fa023bce7c8e7bbcc6ea83c267d6cbcc2e9633cd7ef033e11242abedd92ed3d533d33befb90893f84528a3f84528a3ffb90893fe8da2d3a4051b93973b400ba223159ba2c4392bb1a260abb47046d3b3868483b562de3bb94bfdfbbb728393c65ea213ced3cb9bbc258c4bb9430a83bbf97f43bdf15cd38e8f8afb956021b3988a899b80b1eeabb0ab5bd3aa0576f3a5d10cb3bec3a163d07de96bc979574bc0b70473b38bace3d48fbc13d3ae112be42cd10be27aeb4bb465e543d4b3b48bc0bc0f1bc7b3ca23cc6063e3cb39355bcef5997bcc0c0453c4b6ce33c5295b5bc723ef5bbde29fc3d9b3c19bebc17ca3da79e2ebe5c99893feb818a3feb818a3f5c99893fde5d30ba1d7c27b9cf2f07b84aeb3238c6ca9dba2e7611bb3c84dd3b6fb368bbf3f3c2bcd0cfb7bc3a7cf63c184bf33c0a9152bbf3064dbb6631dbba6e11053c0dfd20b9891360baa00ebeb80e547d3922ec99b9047a373c7857aabb2127cabb12d9fd3c7ba1ccbc627bb6bccc24a53c0265173e7e9a0e3e44c841bea9d140be3ed2ccbca2ea283dc69c5a3ca16dd7bc032e533c35481cbac2e5adbb8596f0bbc746cabcf3ec083d349fd7bcb81d043daa3a223e1a2549be7d01163e887e4dbe790d893fd3208a3fd3208a3f790d893ff3d5e7397269b4babb60763a03e90fbacf96e9baf0e1073bdafd033b4e7a2dbbc05489bc9e6184bc92bdbd3cc68cb03c6e9ebcba759d88bbc65e13b9c60bc83b880103bb0bd5c3ba531d753ae9b50b3bf3e917baeacb1d3c18495fbb1791d3bba440b33c788ad4bcbf158cbcafecd03cc0a0073eaf9af03d29612dbe253d2cbe79da9ebc78e9343d4295073c7794fabc6e2b9f3c8184d03bd31455bc803562bce78194bc9cce223d2c5f04bdd9dccc3cbf322d3e449f44bec0c50e3e93bb55be7aa1883f5f868a3f5f868a3f7aa1883f1f58c237b333bfbaaecab33a287a30b9a86ae63767c05c3b8f4f10bb7fd1b5ba6b5df6bb0cab03bcff504b3ccbd3293cb11d36ba65018cbade4d823a289ed73a3ccc99bbdcb99ebbc2528d3bcec8b73bbcc07fbc44add7bb6a2f313cf03e4e3ca76f533b388d20bd217cb73bb9be143d2993da3d49b2c23d96a914be6e4310bef8ee59bbc36e383d884de1bbc2db08bd4bf9443d406d293d2b8e2fbd3ff74abdfa88103d9fc28e3d5f3b87bd0c29d9bc3de42f3e20761ebe8da3d83d1f1f5ebe71d5883fc6a88a3fc6a88a3f71d5883f0104f13909470ebbacb30d3a86685fb802fe6bbbab842d3b1f9afa3b19dce8bb719514bd32b60dbde74f313debf1313dfb2f1db9af89f1bb5b7c28bbe44d273c79c122bbdafa18ba7b5cab368e17f33a4499abbaa162633c97a411bb41492ebc0f0fef3c8e01e4bc7febfabcac75073d70972e3ef6681f3e646156bee0f255be3821debc78c0433d4d5ea93c2e2e1dbdc4c98f3cbab947bbda6412bc1165b9bb593916bd0e57393d5b7614bdb829323d9d523a3e01275bbe623c253e410b62bee6a0883fd65a8a3fd65a8a3fe6a0883f5ad4083ac72e1dbb34718739f31693390ccbedba18457c3b60778d3bec01dabb0d9eedbc40bdc2bc0f490d3d7922093dc2e37fb9f05218bce381b63acc65163c07a9c6bb12269cbb55d6673b49bcce3b3001673b35524e3ca25316bb90166bbc78204f3cacf2debc829ca1bca8471b3dc1ca133eb175fb3d0d8438be164634bec3edfcbb87425d3dc5af4f3b760447bd79cedb3c25815d3c3f32babcca7d95bce928c8bc70bb413da0aa26bd7e56003d39d6463ed14847be5a66103e48226bbe14fa873fd1ef8a3fd1ef8a3f14fa873fd188593b14a6f33a086189bbf96713bb512a013cd4381b3cc8a9d5bb40b546bcf31715bc4e0ca8bb369c4e3cfbb6403c7cc809b9b6e264bb742a033b4429553b3c36fabc7eb7f0bc12dbfd3c994f043d30113ebde55b22bd7ebe4d3da861233deb362bbdab4e92bd40f1163d6adaab3d1c4add3d5475ae3dc3c112bed40b0abe9265eb3c344a993dbb1611bd2d6894bdf89dea3df445d93dbb22e8bd5209eabd4389ca3d91921a3ec2a419be9b04b8bd45a2843ec9ddd5bd1426623df58c98bef6b2873fa4878b3fa4878b3ff6b2873f8b8a88baff2d5e3adf35823963d982b9bcca60b617f0acbb43f9913bae02c73a38635e3b28ddd13ab2484b3b69d71e3b52cf8ebb1c476639410a04b9ab9e9d3b958e0eb97a1010baebf559397387e1398624163aaea5b93b9f2fc0bbff0b0f3916e2073d736235bc6a8463bca2b8b1bb5c3ba93df733a73de76e05be976504be17ec25bc99f0053d180995bbc35879bc40f2b03be5c22f3b6e97d0bad268cbbb2fa99c3bc5651f3b1b98493b0a3ada398eeea63d7b7703beb9fba43d804905be0e5f8a3f75848a3f75848a3f0e5f8a3f283ac2b9ea53bdb93a299239b6d678396c8c4bbb03999abb84b8ae3b8d224f3bf02a2bba089b4db9a9aeb93beec0b53b43eaa7bb297a85bbeb326d3b44e0ce3b9af9a239ba51b93978202fba8d4779b8cbed3d3bf8b3d93b88eed1bbe7d822bbf6fb0c3d502916bc95098ebc498196bb1b0cae3d93f7aa3d2d4406be4b9f06beeb9fa2bb435d1c3d949508bc82a0b3bc70490d3c840a9c3bbee98ebb2d9511bcaa7b9f3b5c6aab3bf33aba386cf463392c33b13dc28e03be57f2a23d14fa09be79468a3fb87f8a3fb87f8a3f79468a3f3f17c83976e52639a7d4a9b9a691dfb9ffd7c3bb449770bbefb1be3bb590713b7ad2d1bb19159ebb65ae2f3c9e482a3cfdf8dcbbaddde2bbfe38bd3ba701113c88da8538786d0d3822c59e37d477fdb8ea89c03a80d34e3b03a349bb1aac8fb7a7a8093ddb7926bcb92989bc2579e3ba5b40b73d9078a73d4d0008be742d05bee9c0cf3b6a74403d6c7585bcb8570cbd995e8a3c0ccd8e3c4cde89bc7c6793bc45d5883c1a60863c9ad453bcef1a34bcdce9cb3d4a74fcbd333d9a3dbd7519be6ce0893f34c98a3f34c98a3f6ce0893f8e734639bf3ea1380c22e0b929fac5b9166b6abb64e58cbbe523e23b2b658b3a66e622bc9d5e38bc8d39973c503e723cb939f5bba7b881bb197c6d3ad457333c7a8dfd39c771bcb7ccf49ab94ecb1cba1a635bbbdeef063cb1efaabb28b69239a452123d53cc93bcabcb97bc1579a73b4d27fb3d5001e23d59c227be0ade25bef40896bc1b5f463dd4960bbb579cc9bc356d3d3cadae0fbba2722bba3bc210bcfb1317bc6da9a43c8e6c55bca44f7d3cd185033eacf02abee311e93d87ab2ebe9a3d893f64b18a3f64b18a3f9a3d893f23e01b3aea5532b9e6383db99ea931baacf566bb39567eba81ce773b13b26439765032bcc5822abc6892913cf2ae723cd734d0bb2944e5bbc4817b3b99a7243cece597b989fc5cba113b9b398a2e413af545e0bb78feaf3bdc4f54ba8f1a1d3bb859ef3cfe1bbdbc468d62bc257b583c6990f93d46b6d23d8dcc22be639420be231638bce75b683dea991abc5c4007bd3f61903c63309c3b0c7d01bcb42274bc9b66a8b8be2be83c2cffb5bc4c09ea3b168a103edabb23be46ead63d31083bbed2bc883f12238b3f12238b3fd2bc883f766fe53aa1a7c7398c7e98bad775a0ba927971bbc97fd63ad4e9c53adb4b56bae0b7f7bb3dc80abc822e613c96ad403cba9935bc532f29bc5669283c012c513c337769ba9f69d6ba23a3993a1af1c13a854489bc8d11cfbb9b15253c6756723ce495b73c97e7e5bc4abdc2bb41509b3c8533e83da789ba3de16c18bea65d15be2e8d8a3bd8ca893d1309cebc23b232bd5e760b3d9ba4c13cf814cebc2dbf07bd9e79e13c62d63a3d92a825bd86e8b1bc5c40143e39ec0ebe3349ae3d853241bed098883f87778b3f87778b3fd098883f74a20bba10d0d2b9a9a3ef38413bb7b731bfd13987fa86ba4a0bab3bb86da7bb3f7ec8bc1ce4b9bcc8b3fd3c9e9ef33cfb4e96bbf1387fbbaef430ba50611d3c4e0afdb910f3d2ba490a923974b6773aad9606b97de0073c706659bbcc97b2bb7a8aa33c09d6c0bcc92e96bcd0e9da3cde09233ec154053ed2a041beba8243bef695dcbcda0f543da50fe63ba9e7efbc9cea823cd2f68bb946a2babbe2f825bc1fa9c6bc0271173db049e3bc1e4ff33c6d2a2f3e14d847be7db10a3ee5a150be7107883f47288b3f47288b3f7107883f32e7a63aa5185abafc47f9b9cb4e1eba0553b73a76bc883bc3e6adb9dc23cfbb03dc94bc1de47cbc32e5c53c6605af3cd016a9bbbdbccdbb1e21593b873e173c3cc83bbb83a571bb0e131f3bf8d97a3b786caebb5376363b56199b3b283633bb9300c639ab52f9bc7e2cadbb17e6293df20b1a3ed6b4d13d9cb930be56452cbe00d074bcc46b873d4d9903bce1532dbd9fa4ea3c538f433ce4c191bc41e7c1bc96cf15bc7414503de0a932bd51c7823ca7cc4b3ee56b37be718ee63d85fb65be2b89863fb09b8c3fb09b8c3f2b89863fa4f1013b94dbe0bae6adff366bfa3cba14d1733b47d61f3ca36102bc593ef4bb3968cdbb836be2bbce045b3caefc0b3c6f8bdfbbc45534bb2a3fc63b5734c43bc4f623bc1d4054bc9ce8313cc03a5a3c11a9e9bc933678bcad34dd3cd954983c7244b3bc3c926bbdaa64bf3c2e94843db177f33dc9b69e3d164715be7ed60bbeeba26d3c40ce923d487b0ebd546d5abdc7dd8e3d5e71853d59417dbd220b9cbddd6e663da721be3d5eb6cabd70ba1fbd34e55f3e6d0606bea92da33dfd2385be8aa3863fb0cb8c3fb0cb8c3f8aa3863f039bbe3a6c4f17bb2a104fba9b84ce39dc3e4c3a8a917e3b136eaa3b5d8330bc63641bbd0bf503bd3808323dbc1d2e3d985e63bbb73847bc0c8c073badf4693c45b62dbb0593bdbad07e1d3920bc2d3ba62dc3ba1c4d433c25e2013a8d113cbcb745483c7785eabcd06db8bc366d333df8d13e3e4c8b123e35b358be972757bed681dfbc13a2863d63a7113c61fb38bd8dd8ab3c32e981bb540af8bbae5716bc25d413bd551a3f3d02dd15bddc4b2b3d2d7c4d3ec4b054be4c1a123e5fb168be930c873fb1ee8b3fb1ee8b3f930c873f55a6ee3af9866fba2a6d04bb22d224b99783023cf3ac1d3c281888bb018579bc587901bd9d9796bc57d70a3d0793fc3cfca5b0bb0b4384bc76b1223c1ea9623cc66134bcbbe331bce1dcfa3b26785f3c2a9cf6ba484f103b2e58173c3b5a22bcf6a2d3bc49b81cbdebbd8d3ba0de873d009c2e3ebfdfc83d15363dbe682932bee006a63b98b8ba3dcd05e0bcce9c8fbddb3e173db77aa43c21f9d6bcdf5afdbc040574bcb3aa6b3dd61851bda444b13cd4667a3ede302abef82eba3dc25884be8ba9843fbe4a8e3fbe4a8e3f8ba9843f2fcc2d3b291b9fb9dadbb7bb61229f3a092bb83c56b29a3c5a40a2bc8550d6bc7f8b84bb0e84143cd68b813ba319023b2ee8533b8d977d3a76a1a53bec5a91bb47b33abd7d0032bd69b1323d30034b3dc4ca1abd96ecf0bc6ff7543d46cfac3cba34d0bd4a98babdd3be9c3dc2f4033e5577fb3d4632cc3c39aa08be12b8d3bda432483df533db3d1896a0bd73c8b7bde4ef043e38cbf63dfb99f5bd757209be7cabb33d76580b3e139d19be87358cbd5a66af3e45da74bdecadb9bb3b33b9be21d6813f38b5913f38b5913f21d6813ff20035ba06d02b3864f2113935809c39184a86394286b0bb87c2843bb6dbe73a14124f3bbb28383ba8eb513bc46ea83a1cda8cbbf38049b92ac7f1395913963ba105113acb33d039f22ab2b9e6b043ba1605533a4eefa03b9fba97bbb633ecb9f2a4013dce912bbc530757bcb832abbb1e5ca83d2dcfa33de54804bedeab03be561327bc9d1b093d341abfbbeaf66ebc1ea1773bf914db3a99736fb9504ba0bbb0ceb83bcc2b733beb6eb33a8d469437ecc4a63dbd3104be7c17a23de90503bec4438a3f7fa38a3f7fa38a3fc4438a3f7f9b69b988a606ba5868c339282f4439dde34abb2fab95bbf2009b3b5d48733b475c913acd4983ba3fffef3b6d17443bd6739bbb9b5e23bbec4bf73aa04bc83b7e7edc3993fe55b79d3552389f0b01bae08958395440dd3b1f9ebabba0482eba78a60d3dc45a35bc46616ebc3b61bdbbe887af3d8491ab3ded560abe1d2e04be07b296bbe5fd1b3d8edbf3bb104bbdbc07adbe3bfe4e933bfbed3fbb743befbb2da4c93b97aed13b2178cbbabd1481b93d91b33d322005be0530a53d3ead0abefb3f8a3f268c8a3f268c8a3ffb3f8a3f1a1156b8282a6838fe53f0b7fbbb64b92f8cb1bba13f6ebb08318f3baad88e3bca77c3bbed9476bb964f373c372d113ceca8b2bb0c23cbbbd74a9e3b0ed4073c2d473338a4eac0b9edf3bd396af38eb6618c36ba10615c3bc60c0dbb2a5e613a6836ff3c7fe252bce2584cbc30fb09ba3fb0c13d71d9a83dbe070fbeac7205bec08fcb3bdcbb413d2a6b8dbc80c70bbd864d3f3c78e6813c357c43bcd74283bc4dcc8e3c28e26c3cc6c12fbc885730bc9965da3d12ccfbbdc710963da4bc1ebe8c88893f98138b3f98138b3f8c88893f2a9958b9886d41b98e35bcb991c02039e6272abb583e85bb5301d63b63f97d38b61226bc66d635bc94bf983c1d6d723c5f6c11bcaf6696bb9cb60d3bbd60413c7993623a209500ba7f7c08ba3a0c7bb93d687bbb264b053c589181bb6f7cb6b956f7033d298899bc85c78abc012a043cc43a013e715fdc3d24be27be7ffe26be0b2890bcf05e543d97c9aabbbf22d5bc56e7443c7c18beba55bd75bac39e1fbc0b0d00bc23eaa83c968163bc74b16c3cd726073e558228beb2c8e03df59330be3b00893fb4f18a3fb4f18a3f3b00893fc18f333aee13f7b804e7e1b932bd28ba106f1ebb486422ba2d8d5a3bfd4a84bad9382cbc2c5c20bc6dcf913cbd81653c3c0519bcff670bbc4223c43bddbd533ce24822baf118a8bac924193ac404a13a5f3812bcddfb573b91d9d53af539843be2fbb13c2647bcbca38f27bc330e923cccd7053e245ac33ddda824bec1bf20bed8df0dbca747893d63f18abc83e220bd1e649f3cc469ca3be9e103bc83de93bc0695453bde17fd3cb578d6bc007cb33b2c991b3ee27920bed883c53ded7240be98d9873fa40b8c3fa40b8c3f98d9873f53ab0a3b2cac08b87d227cbafae6acba7ca009bb3c67853bf0f0ceba81ea29bbff5c0bbc9faa08bc9057803c8b5c3b3c433180bc80d661bcec896e3cde538e3c925fcfbaaf6753bb596a0b3bf87f413be4aa96bc3bc887bbb612403c2bba423cfcc47d3c63d601bd47d222bb5091e03cc475013ebee1b13d45b41ebe1bb018becdf8203c88e2a13d266311bdacf855bdb3f2063d3cc0c33c5c84babc85610ebda2c7d63cc437293dad7928bdc6e072bc29b6253ec9f009be6bd29e3db83c4fbeb95d873fac9c8c3fac9c8c3fb95d873f77ed7eba0504ddb8dd03b638bac2fb38e8750e3b85a1c6b8d427723b2511d5bb9afbcbbc9118b5bcf547013d054fee3c745bdbbb1b16b3bb72a9683aac50453cd4e3c7b93f57efbae4f0b8395a767e3a9ae71d39efadc53be6d5b8bae5cbb4bbf99d2a3c3c00b6bc277674bc1dc1033d9a872d3e9806f93d905a42be25af44bee16ee1bc46947e3df7484d38e44406bd12f8923c41ddb6ba7c578ebb9c2846bc7728bdbc152f1d3de9f9e9bcf847e43ca0c8393e8a0846beb40d013e1b6a53be1e10873fed228c3fed228c3f1e10873f32321a3a9930ccb9f0b940bacbeab9b76481c03be082993bfafb58bb8da714bc2693a3bc0f2d53bc1b64ca3cfaeba53cec9115bc6cf715bc37d2ef3bf366533c084880bb25eec0bb433f633be41cc83b5e1e82bb04a46dba04a4053c2c4285bbd0e8afbc5498f0bc64ef903b76005f3d5bbd2f3e3615ac3d0bc232be89182ebeec395dbcb6eab73dbc8ad0bcefd652bdda6e073d6163543c376588bccfc3f3bcfc4401bc2b26553df3b339bd92f9723c324b653e244a2fbebfdcb53d261a6fbe235f843f6bc78e3f6bc78e3f235f843f0b4d8b3a364a6fbbbc75063b7f66083a7e7b093c149b593c9cc175bc1a1424bccdc6a8bbb59892bb44ab753c7838653b36b84fbc429983bb3d1c213cf8f7353c39e257bcf7e297bc33eb793c311a923ca51f98bcdb6688bbcdab903c5e9abe3b72873cbd125979bd4eb22a3d55409d3d2cf10f3e1713683d22c520be52cf02be46f4c43cf723c73d916659bd4d8595bda911843d01d3763dc9a658bddb4696bd2a5e143d28d2923d39c6a8bd261278bcf11a853e22c7f4bddf34433dfd448fbe921f833f544e903f544e903f921f833fbcfa653afc3f1abb476a82ba9bd0aa3a13ca8b3b0e5eb83b3814313bddeb65bcc75a23bda440f7bc1c4d323dbf632d3d28d4adbb42647fbc6dc3c43b39c2833c04952ebb12822bbbe6777b38b053763bd38882397d5c193cf6052c3b72b756bcf02c78bb143de0bc7fda87bc8fbf5b3d8135503e1c89043e92c859be5bb559be1948f6bc5d76a83d907396bade754abd10a4c53c3aa7a4bb3179c4bb758b4abcbb8618bd0940443dde2115bdb4232a3d591e5f3ef4ee50bec270003e5cae6cbe286b853fdd918d3fdd918d3f286b853f21df343a1454acba33ab19bb51e6f53af6a8923c3faa483ca14f35bce1a5b6bccde102bd2b5b31bc503af83c97d0db3ca5a239bc1396acbcedb4983c642f8c3c7bc664bccdbf85bc90e4203ccefea33cc6a9f23aa47a8dba935d593c6b446fbc95b47fbdc5901abdc7a9af3ce296b43de0f64c3e3689893d616740beafff2ebe25abe13b09b5fc3df5c350bd7a41a8bda92e2d3d4568aa3cc13ab5bc253424bd263c83bc796d6b3d016d53bd747ebc3c87fb913ebec61bbe96ff533d178f8cbe9d15813f0cef913f0cef913f9d15813f7646bfbbf5a9d8bbc981163b48c11d3c1f5fc83c5b9e3a3c66a2b5bc9e17acbcdb27c83b37f4ab3c99c613bcd45309bc29e9c0bafb2cb73ba87b673cffb02dbc787434bd75ac39bde9dc223d89f9563d6f24353b6496563bee04b23c560dc3bcba250fbe02448fbdf380be3d3b410a3e509d093ec48033bd1f5ff1bd4b6784bd47228e3dbbb2123e4f91ffbd7e60d6bddeebd43d858ad03d7de1a4bde295fcbd6504053d2766913dd012d3bd3f01133b3a90d13ec4de31bde74764bdfe9ecabe500d763f59d6983f59d6983f500d763fe1a66fb96c76e239b59ca5b9f6e9a1b85bf5243845d49fbb21a6843b274ec53a30e5593ba51d2f3bb7177f3b8e1a1d3a4d8465bbf15742baae87a2397c5d923b6b66ae38558d163a84f511baa9f071b9dba9a43802368e3b54e894bb84b2453a00ca043dae0e38bc2e974ebc0be4babb4503a73d5a27a43d62d604bef2b302beea103fbca656083d68aba2bbef4062bc40db903b855ca93a8691b6b9c137a9bb7ec9c03b9d993d3b9408fa3af99d1cb71e94a43d90cf02be93a4a23d5d8003bef85c8a3f858d8a3f858d8a3ff85c8a3f4b1269ba088f93b8bf68d1393f8caa39da49d0ba22d091bb897d833b2a0e3a3b04f1bf3a40b6d1394f18c53bad8b353b89c692bbfaae12bb522c033b5e57ae3b2b01873a980b7d3939c33bba684413baf3b06bba14018b3b9e228ebb8ccbd03ac6890f3d094c47bc1f8962bc9e08c3bb1431ae3d595cac3d147809beeb1805bebbc0d9bb41711d3dfa94f1bb2220b0bcb13ca03b3140463b4b51baba2015d7bbc199fc3bfd48eb3bb2bc02bba909ddba3357b23d7ad505be5fc6a53d1d9d09becd3d8a3f9a8e8a3f9a8e8a3fcd3d8a3f08141e385a4ead3833ba95b9a42062b8bb7189bb40ea33bb820f893b6f661e3b57f2b5bb579249bb879b293c830b153cf62e90bba0fccebbb6066e3b5bf80e3cbd07b7392411893ac1356cba636e07ba956b8bbb0180203b2b979fb95eeb483b10d20a3d169a88bc20a649bc8ec158b94166c43d870db33d773014be759307be8958573be6e84e3d1c676fbc8c9218bd63c3f43b4fcdee3b3112a1bb78f332bcaa85693c82543d3c375b1bbc1ca08dbb578ddf3d3c5905be133da53dd3cb20bed866893f332e8b3f332e8b3fd866893f91ef0cba886e8539050600bae122f7388aab17bb662c89bb89b3d73bde7f4ab87d5e18bc305f34bc5467963cfe28683c05d111bc7c8ca4bb6a1b323b9d3b403c812b1c3a4a687cb9a9dfb9b9d394b9b9f28e8bbbb91ade3bb2e358bb79714f3a71fbef3c00b091bc350883bc7ed7173c0ec8043eea53d43d2b7126bebd2628bed0909abce271673d65390dbc41f3d6bc8a094f3c8fb0c6ba9b8947ba9c7b29bc5fe0e0bb6efbb03cf8f477bc5fcb5d3c8dbe093e017027bef66fd83d3af42fbec6ab883fdc4d8b3fdc4d8b3fc6ab883fc9f23a3a1cea03ba0fe05fb9b10513ba5ea366ba1337a1b991dde23a2f10b1ba12653fbc471d21bc60479e3c4faa633ca4812cbc84321abcca8ef63b3fed633cf4e5b0b9ba849dba8e321539cf51a73ad2c010bc7bb76b3b5d1e0e3ba1ad3c3b32af6a3c6a40b1bc20d7e2bb964aad3cfad60f3ed851b43dbd0c26be287022bed22d19bc9e3b9b3d5f91bbbc3bed2cbdf3769f3c41f39e3b28aec7bbd37997bc81a41c3b2ae8f33c0454d0bcf4a2d23b774d243ea1961dbec0cdb03d615541bea6f3863fdcf48c3fdcf48c3fa6f3863fa0e3d13a0fdb40ba353e94b998162dba6eec013a1ba2a33b1ae981bbbe3f8cbb6ce147bce30e1ebca0b7983c9cf2673c2ead85bce7cd66bc0aa5863c94638c3cf755c8bad79b90bbdd1dae3a8bc9983bd67280bc0dfe7a39c3da1d3c27d5bd3b34ede63b710204bdc42eecb9c1b7103d1a6b113e2633ab3d822c23be683a21be18d5443c7057bb3d36b73bbda2f96dbdcd8bca3cc939943c603d4bbcf067fdbcee918b3ca48c033d8aae13bdd55324badc3e353eb47609be1bfd933df0dd58be4e78863fbd6c8d3fbd6c8d3f4e78863fd0b038bac1b8f5b866edd3b9bd1be5399cfc3c3be8cbe7386035443b508de4bbd942cbbc8927b5bc538e043db40ee83cb3390dbc60ddccbbceb71f3bdb7c5b3cee05e3b90acdecba76ef07b98636c03aa98c1d3a2e1e9c3b9533d0b90e13c3bbb7e0043b4d18a0bc0b3754bc4f15163d5354373e0127ea3d810643bef7d146bed1dbebbcd2de913d85e0afbbe4dd11bd66c09a3cf83341bbc3770ebb55f45abcac23babcc679193d3592dfbc27ebdd3c60f3413efa9b44be08b6ef3de4db53befc40863f87f48c3f87f48c3ffc40863f648c55ba070786b8c8c81dba56af883ab0232b3c9b64643b40d8a2bbdc883cbc6ac8c2bca51d2cbc397acf3c684fae3ca32545bcc62d49bc1a5a3d3c959d7c3c4cd881bb43c8cdbbb35e413b1baee43b01d8403a3efdf4ba9bc1ee3b5edbf2bb56d927bdcabfbbbca81d3d3c51a27e3d13a6493ee93b863df3c936bed02332be694a96bcf9f4e53dc0fc1dbd66196abde99a103d954bfd3b7a0d37bc4ea800bdc8c44bbcfe0d483dd37b23bd1b6a8a3c7a7d7a3e7b4a2dbef0f5863d37136fbecefa813f3b35913f3b35913fcefa813f161152ba3ddb81bbfc73543b08eb043b58fd303cc555333c74f48abcbd940fbc1c4ec3bbc07e05bbaf16833c14e17e3af017b9bc040216bc2b5e9d3c34d3943cd4e11ebc19b39abcd5ae423c7a9b8c3c2ab05dbb829d2b3bb5f9153cb6f01fbc522c8cbdc0093abddc32363d1d7caa3dffa7323e814b043dada026be188b07beaf79e83cb2b3093edd0ea1bd30aeb9bdd87b3a3d46ae1b3d521bd0bc34ca6bbd4550c43b6f59393d9bd865bd743a813ca085973eafc0f5bdba3f993c65c092bed9867f3f0697933f0697933fd9867f3f70a1fdb7e57525bbbe9289ba22bd213b7561043cc247e43b4fd1a2b6e60c8abc7e362bbd2114f1bcdc59363deeff2d3dcda6f9bb060396bcd4af193ccddb943c141511bbc5d8edbab8f9c9baaa6f823ba2f6843bd82ad93b4cc1903b297d85bce8eaa0bc6c29c2bcae5848bc36cd7f3d90f4613ec7c8ee3df4855bbe59b95cbe4df30abdee8fc83df65f1dbc3d945abd5b2bd03c59d811bc9ab809bb5bc759bc951b23bdaf96473dc54e10bd1d602c3dc1d86e3ecb2a51be70bee43dbf6f6ebecedc833fb5248f3fb5248f3fcedc833fbddf72bb07493cbb54f995b9274ec93bae6adc3cceba313cd10984bc84acd6bc32d905bdd2e979bb352edd3cd175c13c088893bce328cbbcd986dc3c63aca73c61334bbc2a4d94bc053f0c3ca8e4ad3cdf23623c2200e6b966722f3c184dcfbcb7aac6bd0387e2bc8a650b3d7c63d23dc81f703e31fa093df41843beab542ebe266b66ba99531e3eb2098ebd774db5bd5edf383dcde0733cc9be56bc7e0838bd5c20c9bcd88e523d740835bdef10f63cd197a23e81631bbeb557a13c5c678dbe3b837a3fafd7953fafd7953f3b837a3f44e238bcab855ebbeb33e43b2854153cfdc98b3c7ee899bb255c8ebc66f35abb17218c3cb133d63cbaf490bce36f8fbc9a56b2bc0722bfba47fb0e3d81cecfba3b4605bdecb827bd1140de3c11a0403da4082b3dffbd4c3c8d54b2bbe5e94bbdedc42dbe5ab4cdbc3ec4cd3df3a6f03dd8de203ea3fbb7bdb6eaf9bd35f11abd0d01cd3d96854b3e520b2bbeae0c18be373c733d450d863d6cd2e5bca57ebabd966ed4bcec18c03c33e74fbd101a6d3db8bef23e78217cbd3905dabd74e9cabec6b0683f49819f3f49819f3fc6b0683f3cd802bab18eba395649aeb968118e399da6d236e10597bb0cd7743b2a2cd03aed4e9a3ba4c82d3b80451b3b38cd523ab3cd98bb902f41b72c89a03ad1b0773b19cab9b86ca17a3a8ff94cbaefa408b99e9c2339948b963ba340a0bb0fa6543aae10053df04348bc240b38bc8c07cebb46a2a73d99ffa43d547405be57d902becd0337bc1b92033d594d84bbbcfd66bce0d59c3b359cad3a598283b9f5d0b6bb555bac3bd35f3b3b743c013b57ec263af968a43d9f7203be48a1a23d7eab02be304d8a3f3c9d8a3f3c9d8a3f304d8a3ffb7a44bafd834cb90ee54a3954fe053a2a4953ba48799bbb3818843b7e3e193b2720283bda59d339e109b63bc2cc123b9ced4ebb5d4359ba6280993a1a79603b2a5b7f3a9af3833aaecbc9ba4bd420ba21bc19bb8d54953b665992bba967433b6dc90d3d9d134abc72bb4abcd726e2bb6208b03d89a4a53dbea308be26fd03be7a6a1abc68ba123dbca399bbd3919bbcf065463bed42c33a5a79c5b8175996bb3dbcf33b0054e03bd8cb9dbaa1a4f1bab913b13dde2906be06b3a63dc49908be9c228a3f80b28a3f80b28a3f9c228a3f1cc3cdb84ed61b39a787a5b8ce855eb9417174bbef096fbb6e98a03bac6c203bed129cbb1fa8113b0035f23b5235d03b526edd3923b8edbb0d7e1f3b6359b83b19903e3ae686113bccc2b3baa317e0ba25bebfbb6c874e3b954ffababaa0a03b86b0133dc29582bca37d67bcb4b8e1bac87cc43defe1b43d843316bebffe06be2f1f72bbcad44a3dffd9d7bba80a1abd204837ba1a6c823b2b1486b953d88dbb9eb20e3c8b95c43b93886ebb2cd0f53a3e61e43d9ea610be325db13d883c1dbee8a0893f93fd8a3f93fd8a3fe8a0893f9c3843bac518ba381f8a14bae0181c3a450c41bb61828bbb7c7ce23b9e306c3936ed06bc4a0747bc11ce9d3cb27a5d3c8a022abc0c7f51bb83c0e23a54794a3cf2dd043a4fcb50ba5ade91b7d141b5b8650058bb8d63d53bf33b4fbb8daf13b9b5e6dd3cf4f685bce40f80bc5cb6243c140f083e24afd03df88927bec4ec28be5e46a2bcd8a46c3db52e1ebc4c83d2bcb5a3573cacbfd3ba2c7460383c173bbc1d6fd9bb2c3cb43c1e0d77bc9bcc513cb87f0b3e0ea627be1039d33d17e52ebe226a883fbe938b3fbe938b3f226a883f7259b639d1cf8ab9040eebb917f32fb92e0740ba1255a7bac2da0e3b4a9e8cba64332fbc14ba1fbc87aa9f3c97e6553cce844fbcefa31fbc58cb103c7172783c45308d34c5a845ba85c10cba705d853a12cde4bb6aef6d3b96d8613a6265ff3acbdd013c12c593bc95dc8abbae62b23ce4c4193ef67fa73dcb5927be279025bef7f161bc9cf2aa3d9785e4bcbf1528bd9099973cc744b53a570d08bbd75690bc85de793ab16fda3c58edb2bce539f23b5c84283e11191ebe34b5a13dcb4a3dbead34863ff1bf8d3ff1bf8d3fad34863fcddb5e3adbd802ba58dcf338b457cdb95d6f293b0ae7c53acf8336bbafc983bb1c3c96bcf8a0d0bb370da83c3b5f803c5cbf3ebc3f36a7bc318d8a3c554d983c10e536ba09308639e935ecbaf795ef3accb0fcbb75d2263b9acd513be9bfe239bb141ebc3103b8bc8805953bcc891a3d47642e3e0d668c3d547f2bbee76126be79141cbab21be43d670733bdceff8dbdda58843cc8d01f3be1eb4cbbc10077bccf4124bb278ddd3ca56ebfbcc326493c48ab4d3ec6c112be53d4603d3f0a55beac40843f7e8a8f3f7e8a8f3fac40843f79175cba0789e8b90ce908b993f6163a3ffe523b0f3d1e3a60ac2b3b9f2ef8bb9398cdbcc481b8bc0f6b083d2eade73c18c430bcda71d8bb127a3c3b6d8d7f3c7a151f3973a501bb19fa90b9d359973a33a80e3bbd975d3bd9b6ea38d359ddbbdf0e8bbbe9918ebc0f4440bcc41c243d5a93403e97d3e03d699f44be6e524abefa43ffbc7c08a03dfd9721bcc77e13bdb7cb973c6cb17abb9acc25b947bf62bc6042c4bcf41a183d7a51d7bc105be13ce33c483ed26844be6e16e13da9fb52becb81853faab88d3faab88d3fcb81853f6b822cbb3c6de9b7793e0639d3eb1c3b9b97673c3424f33acf12c0bb0f8a57bc0d24d9bc53271bbca5dfd83cd1afb53c154381bc092e72bc40df793c5f04983cf1dc17bba0dbc0bb2ecee33a86b5bc3bbe9ff83bb9db24bb67a87c3b2ae735bcb64a75bda0733bbc5ee5793c9ead893d5cb0653e2bbe443daf4c39be7bc13abeb23bd9bcfca6083e36114fbdcc6372bdf8f6073d6fdb27b93108efba61bef2bc2b6099bc8bca2a3dbc06f3bc162da43c1a80843eaf562fbe6566393d3e8a66be48b07f3f7760933f7760933f48b07f3f9044a7bb87f7ccb985ff263b5e04853b9c7e783cae58b33a40d746bc67fb07bc573e74bc2dcde73bffba6e3cf129283b30eacabcb831d2bc24d2f03c3b5edf3cae23b1bb4c4922bce049743b98d32e3ca0e68e3c6b6fe6ba90c7b739241ea3bcac7dc5bda84953bc60872d3deaf7a63de3a8683ef1f16c382e9731bebc4311bedc4acc3be1f6383e3939b0bdeacfddbd4db3fb3c3b29053b3d744b390cf8f6bc3476f1bceae40d3dd64ac8bc1c59003d896ca93ea36516be85b54bbcdeb886befc6e763fc6f0973fc6f0973ffc6e763fcb305bbabcc200bbb619c8bab89d523bc42c263c5fced63bb97263ba647d92bc5d2731bdc8deefbce3f53b3d55042e3d783025bc6189a0bcb107373c65cfa63cae0c19ba2bcf1abbb76800bb8dad523bb160de3b80e0873b84c2a23be7618ebc11adfabca5c0a0bc651725bc28138b3d58e3713e7af3dc3da8405dbe714362be885824bd21ede03dd22d89bca69856bd1fc8d43cdbc942bc0fba003be4fe6ebcf5ae28bd2b80473d8ef508bdfacf2a3dd588783ef79b52bef4b3d13d31836dbef8b5823fd753903fd753903ff8b5823f31f517bce7b8c4ba09d5ab3abe501b3c63410e3d4d5eb93b37208ebc33c5e8bc8e1d18bdfc07ddb86438d43c0a68cf3c3f2abfbc0a95e7bce9b50e3d023db53cc0f0fcbb613583bc8c31483bf50e9e3c7c3ae73c697b73bb1196b63b9fdc06bd9f7901beca3114bc972d203dcf9ee23d26138c3eeda6c33b560245be6daa38be78cb84bc55843b3e848da8bd152ab7bd90c1393d4bcb413b73c2f4b9f3ec36bdd2270ebdb4d83b3db655ffbcecb3073d2ae0ac3ee21c26be955aaabbba3386bec504743f6224993f6224993fc504743f200996bc328a723bf2950d3c87c20f3c27254c3c1d275dbc802360bc1615ec3bf72f963c7a32d23c2bd369bca8c7b5bc05a13abd4c9180bc7e78623dbcfe893c02315fbc210507bd0c860b3c2cd1143d82d6a03d07ac6bbb6dc9a7bc963d79bd952d46be52edc13c6009c13d3699cd3d12dc523e0812dabd012417becbe332bde3dfc63d95ff783e32182ebe728c3cbe1d00963cb15eb93cb20e7d3c2eeb48bdccc59dbd9b0f6b3cd6fd2ebce17ea83dfbaf013f6444f5bd4a0e03bec082b4be00165f3f2006a43f2006a43f00165f3fd9c2fab9bbd3d3b94a891e388e23353aac89cd396b6182bbeef4613b217d5b3a03a1a33bd4cc333bfa5f443b6d9b30b847888dbb828efeb9d96d853a8db4853bccad0eb9e1886e3aea2be1b9c1bee9b941c612bae6366b3beb0c71bb146ab23ad6ee063daca53cbcadf34fbc2a87c5bb95d6a33d6920a23dd2b503be748e01be4a3c3bbc58a2073d13dbc2bbde4755bc44187f3b74ee3439470a2c3aee6a91bbf157b33bca64573b23d5153b3815a1b9cbd6a33db5a603be27bda33dce9d02be91518a3ff09d8a3ff09d8a3f91518a3f80c1afbab0cddfb641c6053a73b4123a5f314aba3bf863bb6d58323bf8ea1c3b7bc6b83be27e033acb8c973b3df93a39fdfc80bb411f9eba71d0003b8a2f623b2ef6ee39f33cc93aba16d6ba2e6903ba8fa3aeba98ce233be5cf85bbf060743baa000d3da78442bc7aad38bcdcab07bc4625b03d58baa53d8bff08bef82e04be0fa954bcd962123d71af7ebb007685bc22fc253b07f0de3931672a3a852174bb98d9c73b9c1ec13b648994398bbb8aba9cfbae3d64dd06bedb3fa53d58d705bec11f8a3f96bf8a3f96bf8a3fc11f8a3f04c63cb97cac8239c2a405b6a75896b98be790bb5c410bbb770ffd3a1c4a9b3b5a7ababb04351c3a3dca323c7efcdc3b624e1f3cc4acf6bb27de73baf55fb6bad576e8b90c3e753b968e37bb99235dbade54e0bb2a12233b750d3dba7242a73b9870123d24e272bcfd765cbc44ac7dbbc000cd3d108fb53d7f3215be97c20cbef75f5abc95f4353d04f2cd3a98a301bd14c8b6bbedfee9ba9e2b0f3a6059c13b91be953b67c6fa3b63d79cbb56e7bb3bf534d33d625713be09a8b83d366a14bed6a7893f99f58a3f99f58a3fd6a7893f90e3bdb980b08bb9bdd0e138f97322b9a9991fbb0c1e84bb1bf4ab3be047a63ae0a6fabb5c9d4abc4282a53cc1dd493c042038bc266f5ebb7c6cd33a2f5b5e3ce9db0a3a0a3917ba6d7da2b8cffbb2b926704dbb8215c93b138263bbf385d9394333d13c775271bc707179bc42e21c3cf7f30a3ef923cd3d3b6227be12ae2abe04a2babcdc9a763d058c37bc8bcec1bc0284613ccaae35bb844c4d3a8d563bbcdeaedbbbbf2bac3ca3505dbc851d443c27470b3ec77a28bec2f1cf3d10ba2bbea124883f38da8b3f38da8b3fa124883f2fbb71b9cf9e79b921dcc8389ea22ab9ef4f20ba2fcf15bb75b1093b8e6013b967500abc0eb932bc87bca83c3c0f3b3cd3536abc243cffbbef7bfe3b5c197f3ce1bb2a3a40023cb971997bba8f092038802390bbc4094a3b4c04b0ba4817f93ab20b183b396d31bc0336a9bba529ae3c55b0243e3537973d57d424bebbc62bbeb3aab5bcc5f5b83d3b5706bd498c0fbdd93a843c2ef389bbfbcc833b4fcc77bc1c0d76bb12b0bd3c874981bcc5b91a3c19762a3e1f4d21be1d34943d20aa34be8f71853ffc8b8e3ffc8b8e3f8f71853f63de71baded72c3a1d56053afb5077b7d2ebdf3ba8865abbf68a2cbbe52767bbe189fabc1089ffb9fedec23c4a85a13c8cd88a3b1873e2bc458d403cd4177a3cf84389bbc07eeb3bc87417bb001b0bbbe8b07c3bd7d168bad0d6e0baf6b285bb45eff1bcdd9746bb94a8dc3b5e9a133d9238553e27e9313daedf31be56c32dbe430520bdbbf60a3ec47113bdd31c85bdf3e8693c694595bc868d6d3b3cf6343ba574ccbc51f8db3c4a1e0bbcbc2ba53c7585613e7e5d28be17bb1f3ddba540bead4e813f9462923f9462923fad4e813f13d251baa034edb92606a6b9c5a6483a0bd3763b41445b39ae20283bbe62fcbb8db9d0bcc054bfbc46360e3d0ec6e63c02da45bc3810d7bb8d772e3b01988c3c44fff739ad4afbbae148dcb8a52c0f3a7eb62e3beeed573b2c3161395aa3f0bb139404bcb08e68bcb38b49bc0b1e2a3d72a8483ee42eda3dc27d45bec3904ebef34d0cbd645aa83d4b6d3fbcc02011bd9715933c7fb3acbb6524823a103251bcf5ecc8bc2005123d0065c8bcea60e23c08414a3eba4945beec08da3da98950beb014853f902a8e3f902a8e3fb014853f85ad96bb1abb0f3ac459093a9b456b3b6da6883c04d60ab90a949fbb089272bc2507e9bce97d34bc5ff7e73c0662c63ccc649fbc6a9c75bcb1f9853c3bf7ae3c015fca382fdb8ebb96470ebabf46763b77a9603cdb8d77bb78dd593a4a2260bc7f9d95bd02c1463bd6c0523c38958d3d2717803eaf020f3dee043abecf2248be331621bdc538163efb0870bdd36b55bd5b88eb3c37da15bcf0c11d3c0e61d9bc937dc8bc1e64093d5ee596bc518eb93ca29a863ef46c35be7ff5063de33f58be256f7c3fe50e953fe50e953f256f7c3fb15340bcc2aa543b3bee653b77c5dc3b5e3fdc3c5a8401bc923c13bc278e6cbcb7b413bd6f7f4d3c4d65973c895b7d3c621f79bc6e5912bdab8bf93c3a66da3c5c3a51bbcfdf38bbb96eb8ba9fe5b23b52a0053da73bfbbb81691dbc592faabc89dff5bd026aa73c1f5c203d1a509b3d59dc943ee28ee6bcf97c3cbe0ade2bbeddde3abdd0c1583e8eaea7bdc5e4bcbdf8aaee3cc498d7bc1ff89b3cfb308abcebdd3dbdee60da3cdfdc8b3bda0be33cd51dab3ebc1433be70da15bdf52d5bbe1fd66e3f8db79b3f8db79b3f1fd66e3f9ba2abbaa7b2f6baaf66f3ba7f8f833b4452313cfea8d63b72d919bab5729abc32d932bd7639f2bc2e07403d4e092d3d258855bc6075a0bc4ccb323ccb58c13ca6011f3a8862b8bad0fe56bbb507143bd102203c40f4d43a2a09bf3b9d3f9cbc6e721abdf25e6cbcdeaa3abcc39f923dab8a7c3e9905cd3d48115bbec83167beaadc38bde6a4f13de184b0bc815351bd2e0ecf3c4b0284bcb6b8e33be72e6bbcb58b30bd1a75463d8f6600bdbe702b3d3e8d7e3e926157be3234c93d07ca6abe37f3813f621d913f621d913f37f3813faf146ebcea59403a4359053b5b4b483c37cb313d5f50593a2ada7fbc470a0bbd449335bdbb63c7ba95e6ec3cab71fe3c1f58fcbcd9b1dcbc20bd163dfa92d83c09ad163b4e6066bcb93a42bb90534c3cc359213d879d10bc6bd44c3aab3c12bd71ed1abe8885683c1db3133d5bddee3d7d09a23ecbc383bcde7842be701451be72921dbd2f5e4f3e3c73bdbd3cef9cbdd2ec153dfd5d65bc09b8a73c76bc1dbd5e7431bdea77143d6f4079bc82fd123dd7afb03ef16c34be2264b7bcdd6b75beb8ee6e3f4bc09b3f4bc09b3fb8ee6e3f442c13bd74293a3cbbfe4b3c955e853c4cd63c3d17319cbc104394bc48c086bc5e66b2bcdfdfdf3c7041803bb9989bb9dd7a30bdb3b801bd0b465a3d28cafa3cbc260bba215c9ebcdc3b20bb2988a13cc381c53df448c7bcf142eebc1ec458bd218566be66b5673df6d2aa3d0492e03d93cea53ee1e0dfbda72f38be077602bea40a1e3bf100883eff9a09bec3eb12be9779883c3bc7a0bc3f05073da188bbbc2593b8bdadbec13cbf66a23c88db703d1c82ec3ef5f42fbeb40100be9ff984becb755b3fc397a53fc397a53fcb755b3ffd8cf9b962c01e385fc9d3b96380343a931814bab40571bbc4316b3b161db33a918eb23b32e2153bff73573b5ecb94b9fa0691bbab88323989742b3a82817e3ba6bee9b9978a6e3ae085e1b9765b0eb907f3ca3926f2613b755e82bb99d25c3abbee063d8bff4fbc32b43cbcb045c5bb69c8a33d65bea33df0a603beed9602be805d55bcfda8073ddaf1c2bb893e3bbc934f853be9adffb9a629853ae40c8dbba2efa23b4272443b02dd333b0f89b8b7cbc9a33df7b503beaf21a23d778801be70518a3f159e8a3f159e8a3f70518a3f39f4afba3bfa053afa22c4b6dba4123a2deeadba68fd85bb7975233b69a7743b58cac73bf4329639d037c13b9f088bba303075bb5f12e439fb0f2d3ab6c3253b7d9b03babf4fc93a9c04d6ba878dee39811749ba0b16323b453964bbfa181d3bd5160d3d4ef638bcd4cc42bcf97c07bcb9ffae3d4b3da53decde06be97d605be64a085bc3379123d923e7dbb4c0555bc0107623bd0ed9cbaf169013b1f7e81bbc9a4b83b1ab7973be3b7043a04223739a228b03deb0009be01b8a53d0c2e04be93208a3fb8be8a3fb8be8a3f93208a3f896b3cb9a2e9c9b583ec823908d896b9875de0bb4b193cba155d233bbce3a63b1ef2943b20239cbbf384fb3b2adbbb3b20ecc73b0b5bf7badaaee939e17eb7bb6b7461baea75763b5f7036bbebaef2b9dfd891bb540dfe3a3cc30abb82a19b3b74eb123d78e95dbcb94f74bcc28d7abb2304d33dadc9b83deb4713beb36d14be411c02bda585363d4a71e03a74ee5cbccbb6b6bae5aff9bb07e385ba8ffe213c0f82bcbbf863333c9a30253a1e2add3b6dc6cc3d072015be5fb7b53df1c60cbebfac893f3bf08a3f3bf08a3fbfac893feedabdb9b8cce1387eb18bb9b48122b96f704dbbf68163bb9115c93b5086d939baafdbbb93505dbcc82bac3cd31d443c69563bbca2ae35bb594c4d3ad583613cd9fcb2b9c13917bacf82a2b803de0a3a5d9a1fbb28f4ab3b001e84bbdd48a63a8133d13c8b7179bc925271bc08e21c3c26470b3ec0f1cf3dc77a28be0fba2bbe84cec1bcdd9a763d0d8c37bc0fa2babc165b5e3c056f5ebb616cd33af21f38bc1ca8fabb4b82a53c4d9d4abc40de493cf1f30a3e3b6227bef723cd3d0cae2abea124883f38da8b3f38da8b3fa124883fb9ba71b94ddac8385aa379b9899d2ab9d82290bb5804b0ba91094a3b0d15f93a490e76bb6b4981bc2fb0bd3ca2b91a3ca6cc77bcd8f289bb4ecd833be53a843c34282038890a3cb9009b7bba88bd2a3a834c20ba96b0093ba0cf15bbd95913b95b10183b7337a9bbc76d31bcb129ae3c22762a3e2434943d204d21be2caa34be618c0fbdd7f5b83d045706bd38abb5bc8f197f3cb33bffbb6c7cfe3b67546abceb500abc9dbca83cf5b832bc7a0f3b3c5bb0243e58d424be3537973dc0c62bbe9171853ffa8b8e3ffa8b8e3f9171853fd2de71ba6c56053a08d82c3a4d6077b7d6b07c3ba6d6e0baedca68baaeb385bb4175ccbc841d0bbc94f8db3ccb2ba53c540e353ba44695bc16846d3bfbe6693cb21a0bbb1d7feb3bda7417bb124489bb67eadf3be5892cbbf9855abba42667bb96edf1bc03a4dc3b3fa246bba59a133d4c85613e93bb1f3d555d28beefa540be221d85bdebf60a3e137113bd070620bd9e167a3c5474e2bc528a403c6ce48a3b1b8bfabc7fdfc23c496dffb9a485a13c5138553e80df31bec2e9313d5dc32dbeb64e813f8b62923f8b62923fb64e813f06d751ba4b00a6b93539edb9bbaa483a3cbf2e3b360a613958f1573b44a8f0bb71edc8bcd664c8bc0105123d7761e23cd13151bc47b1acbbe21e823a4e15933cb22e0f3a8051fbbaebfadbb8ea02f8396ccf763bd522283b87185b398760fcbbaa9304bc6b8c49bc298e68bcfb1d2a3d07414a3e0509da3dba4945beb58950befb2011bd565aa83d8e6d3fbc914d0cbd6d978c3ce60fd7bbf9762e3bdad845bc51b9d0bc16360e3d9554bfbc02c6e63c46a8483eb97d45bee22eda3d9f904ebeb114853f902a8e3f902a8e3fb114853f0aad96bbd65a093a5bb80f3a15456b3b52a9603c4adb593a478c77bb652260bc9f7dc8bc5fe596bc1164093d7a8eb93cae60d9bc57da15bcb1c11d3c2a88eb3cce45763b70da8ebb5f470ebaed4bca3860a6883cb0939fbb3de20ab9ee9172bc859d95bd0ec1523c05c2463b30958d3da59a863e95f5063df66c35beec3f58beda6b55bdbb38163eca0870bd351621bd0df7ae3ca19c75bca5f9853c76649fbc6a07e9bc50f7e73c0a7e34bc6762c63c2717803ef8043abec2020f3dcb2248be256f7c3fe50e953fe50e953f256f7c3fb15340bc3bee653bc1aa543b76c5dc3b54a0053d7f691dbcac3bfbbb5c2faabcebdd3dbdd9dc8b3bef60da3cd90be33cfa308abcc498d7bc1ff89b3cf7aaee3ca0e5b23bd4df38bbb06eb8ba5d3a51bb5e3fdc3c953c13bc588401bc278e6cbc89dff5bd1f5c203d026aa73c1a509b3dd61dab3e70da15bdbc1433bef62d5bbec4e4bcbdcfc1583e8eaea7bddfde3abd3c66da3c6e5912bdab8bf93c661f79bcb8b413bd4e65973c6c7f4d3c8c5b7d3c59dc943ef87c3cbee38ee6bc0ade2bbe1fd66e3f8db79b3f8db79b3f1fd66e3f539fabba6967f3ba4ab2f6bab98e833b8102203c5709bf3b29f4d43a7c3f9cbcad8b30bd8b6600bd2175463dad702b3d962f6bbc3b0284bc7cb8e33b860ecf3cb309143bbc63b8bacbfe56bb67fb1e3a5552313cf4d919baf5a8d63bb9729abc5f721abde2aa3abcde5e6cbcba9f923d338d7e3e3634c93d946157befcc96abe6c5351bde2a4f13de884b0bcb5dc38bd9258c13c5075a0bc46cb323cc78755bc17d932bd2907403d6e39f2bc34092d3da78a7c3e48115bbe9805cd3dc53167be37f3813f621d913f621d913f37f3813fb9146ebc1559053b225a403a684b483cc459213db4d34c3a619d10bcb03c12bd5f7431bd874079bcfa77143d77fd123d5ebc1dbd295e65bc00b8a73cc3ec153d55534c3c336066bc2a3b42bbf6ad163b22cb313d2fda7fbc0750593a2f0a0bbd76ed1abe0fb3133da985683c69ddee3dd7afb03e2464b7bcee6c34bee16b75be49ef9cbd2c5e4f3e3b73bdbd51921dbdee92d83ce5b1dcbc26bd163d1258fcbc309335bdb6e6ec3cf065c7ba7e71fe3c7f09a23eda7842bef0c383bc731451beb8ee6e3f4bc09b3f4bc09b3fb8ee6e3f4f2c13bdf4fe4b3c1c293a3cb75e853cbc81c53dec42eebcad48c7bc2ac458bd2c93b8bdfc66a23c23bec13cb1db703d5788bbbc84c7a0bc7505073d3479883cd287a13cbf5b9ebcb93e20bb681c0bba4fd63c3d264394bc40319cbc21c086bc1b8566beedd2aa3d8fb5673def91e03d1882ec3ead0100befdf42fbe9af984bebceb12beed00883efa9a09be47091e3bfdc9fa3c8eb801bdfa455a3dd67a30bd2f66b2bc3b41803be5dfdf3cefa29bb990cea53ea42f38bee9e0dfbd017602becb755b3fc397a53fc397a53fcb755b3f09d702ba3a4baeb93b8bba394d148e39eb9c2339f240a0bb278c963be4a3543a755bac3b763c013b135f3b3b4cee263ad4d0b6bb6a98ad3a036b83b93ed59c3b93a808b919a37a3a1bfa4cbabccbb9b84be9d13671d7743bb60597bb782bd03ab410053d350b38bc194448bc4b07cebbf168a43d56a1a23d9f7203be80ab02beddfd66bc4092033ddd4e84bb800337bcf3b1773ba0b042b74888a03a4dcd98bbc34e9a3bba451b3b2dc92d3b84cb523a42a2a73d527405be9cffa43d58d902be314d8a3f3b9d8a3f3b9d8a3f314d8a3f4f7b44ba10ed4a3955834cb929fc053a0cb519bb135c92bbc851953bcb6b433b30b9f33b3db89dbaa257e03bcfbaf1bad05896bb5247c33ac58fc5b8a763463b65ce20ba39ef833a80cec9ba13647f3ada3f53baf316843b797a9bbb1141193b47c90d3d48bb4abc7d134abc3026e2bbbe13b13d03b3a63dcd2906bed79908be7e919bbc60ba123db7a399bb196b1abcde75603b4c2859bacb88993a53f54ebbb926283b4307b63bbf20d339dcd2123b4e08b03dc5a308bea0a4a53d20fd03be9e228a3f7eb28a3f7eb28a3f9e228a3f2ec4cdb88f71a5b868db1b39d3955eb976b4bfbb7d31faba0a684e3b299fa03beab40e3cb3616ebb0484c43b55b6f53a1df08dbbb469823b3a0c86b9d37936baf3c1dfba4c87113bdac3b3ba36e53d3af15b74bb4f9aa03b45096fbb5753203bd5a9133d298367bc639182bc87fbe0ba3b63e43dcb5cb13d8da610be653d1dbe63061abd97d94a3d2afcd7bbf66b72bbe730b83b22b6edbbc57e1f3bc9d1df39851d9cbb4426f23b2cc7113bde3ed03b357ec43dbe3216befedfb43d45ff06bee6a0893f95fd8a3f95fd8a3fe6a0893f193943ba168a14ba0619ba3853191c3adb0058bbee3b4fbb8f63d53b83a813b9726fd9bb1d0d77bc2d3cb43cc5cc513c4d173bbca6bfd3bac4746038c6a3573cf037b5b83fcb50ba1bdc91b7a2dc043a3d0c41bb7e7ce23b5e828bbbb22f6c39b9e6dd3ce40f80bcf4f685bc54b6243cb57f0b3e1039d33d0ea627be15e52ebe5683d2bcd8a46c3db52e1ebc5446a2bc4a794a3c087f51bb8ac0e23a81022abc23ed06bc12ce9d3c490747bc9f7a5d3c170f083ef88927be24afd03dc7ec28be226a883fbe938b3fbe938b3f226a883f2e66b639f014ebb97cc88ab9a50e30b913cee4bb68df613a53ec6d3bf86bff3ab6db793aacedb2bc1f70da3cef39f23bf65690bcf644b53a8b0c08bb9099973cef5e853aaaa645ba70c80cbafeaa9e34b70e40bad1dc0e3bf952a7ba99a08cbacdde013cbedc8abb49c593bc7362b23c5184283e3eb5a13d30191ebea84a3dbed31528bda6f2aa3d7485e4bc2df261bc4072783cd2a41fbc27cc103c92844fbca9332fbc51aa9f3c16b91fbc53e6553ce9c4193ed35927befd7fa73d2a9025beac34863ff2bf8d3ff2bf8d3fac34863f84dc5e3ac9dbf338a0d802baa759cdb917b2fcbb01cf513bcfd0263b7ed6e239684424bb826ebfbc4b8ddd3ce026493c490077bc20d01f3b72ed4cbbed58843c2996ef3a242d86391c35ecba1de636ba0670293bb18436bba1e6c53a77c983bb85141ebc3d06953bbd02b8bc6b891a3d45ab4d3e54d4603dd7c112be2c0a55bed4ff8dbdb61be43d630733bdb8141cba494d983c2236a7bc648d8a3cdebf3ebc023c96bc210da83caba0d0bb2c5f803c5b642e3e667f2bbefa658c3de06126beaa40843f808a8f3f808a8f3faa40843f41155cba3d0409b98a84e8b9d6f8163affa00e3b1dd3ea3856965d3bf655ddbbbc41c4bcf950d7bcd21a183d3c5ae13c8ebf62bcaab97abb567f25b930cc973c0953973ab5a001bb3d0d91b9662a1f39b202533b60ac2b3b6a3e1e3a1a31f8bb2c0f8bbbc84340bceb918ebcc01c243dd53c483e6916e13ddf6844be8dfb52be8f7e13bd8708a03dba9721bcaf44ffbc588f7f3cec73d8bbc57c3c3bb8c530bcce98cdbc086b083d7e81b8bc31ade73c7693403e6e9f44be93d3e03d82524abeca81853fabb88d3fabb88d3fca81853fa8812cbb263306392854eab76aed1c3beea0f83b90a47c3b63de24bb38e635bc1c6099bca206f3bc7fca2a3dff2ca43cdcbef2bce2f127b9cdfbeebaecf6073d49b5bc3b00dcc0bbe1d1e33a79dd17bba296673cfb10c0bbd72cf33aef8a57bcce4a75bd2ae5793cad733bbcb2ad893d1e80843e2d66393db2562fbe378a66be886372bd0aa7083ec4114fbd973bd9bc5204983c7e2d72bc57df793c574381bc9823d9bc6fdfd83c83271bbca2afb53c5cb0653e9d4c39be15be443d86c13abe46b07f3f7860933f7860933f46b07f3f9044a7bb85ff263b87f7ccb95e04853ba0e68e3c90c7b7396b6fe6ba241ea3bc3476f1bcd64ac8bceae40d3d1c59003d0cf8f6bc3b29053b3d744b394db3fb3c98d32e3c4c4922bce049743bae23b1bb9c7e783c40d746bcae58b33a67fb07bcac7dc5bd60872d3da84953bceaf7a63d896ca93e85b54bbca36516bedeb886beeacfddbde1f6383e3939b0bddc4acc3b3b5edf3cb831d2bc24d2f03c30eacabc573e74bcffba6e3c2dcde73bf129283be3a8683e2e9731bef1f16c38bc4311befc6e763fc6f0973fc6f0973ffc6e763f96375bbaf418c8baedc200bb509f523b5161de3b54c2a23b83e0873b07628ebcfdae28bd93f508bd2280473d0dd02a3d1ffe6ebcffc942bc93ba003bbcc7d43c57ab523b81ce1abbbc6800bbce0519babd2c263c477263ba6cced63b667d92bc32adfabc621725bcb1c0a0bc33138b3de288783eefb3d13df59b52be3d836dbebe9856bd27ede03dc92d89bc7c5824bda2cfa63c7289a0bcb607373cda3025bc792731bde8f53b3dcfdeefbc70042e3d5de3713ea9405dbe7bf3dc3d764362bef8b5823fd753903fd753903ff8b5823f10f517bcafd5ab3a11b9c4ba93501b3c493ae73c6296b63b907c73bb80dc06bdcd270ebdbd55ffbcb6d83b3debb3073d11ed36bd1bcb413bb2b8f4b9a6c1393d190f9e3c623583bc7f31483b3ef1fcbb65410e3d4b208ebc8f5eb93b39c5e8bc9b7901bea32d203dfd3114bcc99ee23d2ae0ac3ee25aaabbe41c26beb93386be062ab7bd55843b3e7e8da8bdc5cb84bc0a3db53c1595e7bcebb50e3d412abfbc941d18bd6a38d43c30f6dcb80668cf3c27138c3e5c0245be76a7c33b6faa38bec504743f6124993f6124993fc504743f3e0996bcf0950d3c488b723b98c20f3c83d6a03dbec9a7bcd0b06bbb4b3d79bdd5c59dbdc9fd2ebcb5106b3cd37ea83d72eb48bd0d5fb93caf0d7d3cbf00963c5ed1143d4f0507bd82860b3c9e315fbc38254c3c312360bc83265dbcc313ec3b932d46be6709c13d39edc13c2f99cd3dfdaf013f510e03be6944f5bdc182b4be7d8c3cbe9cff783e33182ebef4dfc63daefe893c7b9180bc7578623deaa03abd2230963c2ed369bcad32d23cf2c7b5bc0cdc523eff2317be0712dabdb4e332bdff155f3f2106a43f2106a43fff155f3f1fa76fb9bf9ca5b96576e239a7eaa1b80df6a4389de894bb4f368e3b82a9453a52c9c03bb308fa3a87993d3b50611cb7dc36a9bba15ba93ae88db6b95dda903ba91872b9c48f163a09f811ba67b3ae38d73b243881a6843ba3d49fbb1954c53a01ca043d2f974ebcac0e38bc13e4babb2294a43d92a4a23d90cf02be5f8003be624162bcad56083da2aba2bb7c103fbc675e923bcf5942ba678ba239278665bb5ce8593bec167f3b721e2f3bff0d1d3a3203a73d60d604be5527a43de8b302bef85c8a3f858d8a3f858d8a3ff85c8a3f331169ba3c64d1391c9593b8f190aa39dbcc6bbaf51e8ebbaa038b3b2ebfd03a0a9cfc3bcbc502bbcb45eb3b01f5dcbada14d7bb853e463b1552baba973da03bd94b13ba63247d39b5bb3bbaf9fd863ad44bd0ba2c7e833b78cf91bb0f0d3a3bce890f3d288962bcc34b47bc5b09c3bb4957b23d7ec6a53d9ed505be139d09be5520b0bc54711d3dbb95f1bbb8bfd9bbf158ae3b14b612bb0728033b7ac292bbffe1bf3a361ac53b29f2d1392787353b2831ae3d137809be435cac3de91805beca3d8a3f9e8e8a3f9e8e8a3fca3d8a3f5d871d3821a995b91ab0ad382df362b899558bbb08799fb954c5203b3a71483b0092693c81671bbcaa483d3c5d858dbb0ce432bcd4c7ee3bfa19a1bb8fb2f43bc9e707ba45ff883a1ad46bba9a76b739c07789bb49fb883bcd1f34bb5ad61e3b4ad50a3d429549bc0e9988bc5a0b61b9af89df3d963ca53dbe5805be43ca20bef19418bd41e54e3dbf6a6fbcafcc573b5ef60e3cdbd4cebb5d216e3ba06390bb1bf8b5bb559e293c5eb649bb2415153ca764c43ddc3014be7d0db33d359207bebe66893f4c2e8b3f4c2e8b3fbe66893fdbec0cba640400baef6f853978f6f638168f8bbb64e358bb4619de3bd87c4f3aa6dfe0bbaef477bc93fbb03c68ca5d3cf27b29bcb8b1c6ba798547bad9094f3c9491b9b9fb637cb976e5b9b9b42b1c3a15ac17bb1eb3d73b7e2c89bb0d0d4ab826fbef3cf10783bce3af91bc48d7173c8ebe093edb6fd83dff6f27be31f42fbeadf3d6bc0e72673dba390dbc98909abc273c403c108da4bbb91a323b10d111bc205e18bc5267963cc55e34bc3828683c09c8043e2b7126bedf53d43db02628bec6ab883fdc4d8b3fdc4d8b3fc6ab883f31ec3a3af6d35fb9cdeb03ba9e0013ba58c110bc85210e3b9cb36b3ba5b03c3ba8ab1c3b8455d0bc70e9f33c22a0d23b787997bcf6f29e3b09b0c7bb06779f3c0d46a73a02789dbaffe2143946c3b0b9fd8d66bad5d4e23ad130a1b9f014b1ba49ac6a3cfad0e2bb6741b1bca24bad3c7f4d243eabcdb03d83961dbe7a5541be22ed2cbd743b9b3d5090bbbced2e19bc06ef633ce3321abc608ff63b41832cbcd0643fbc0b489e3c221f21bc67aa633c1dd70f3ee90c26be3852b43d4f7022bea8f3863fdbf48c3fdbf48c3fa8f3863fe2e3d13a0a4194b9a4d940ba1a172dbacf7280bc9cda1d3c86077b390cd5bd3bc9918b3c57ae13bd708c033d2f4f24baec67fdbcbf39943c4c3d4bbcc98bca3cc6c9983b7a9c90bb6a20ae3ae356c8ba49ec013a0ee981bb0fa2a33bb93f8cbb0dede63b1928ecb97e0204bdc5b7103de33e353ef2fc933d9f7609bef8dd58bebef96dbd9657bb3d83b73bbd88d5443c73638c3c31cd66bcafa4863c0dad85bc7ee147bcbab7983c160f1ebcaff2673c156b113e762c23be0e33ab3d633a21be4e78863fbd6c8d3fbd6c8d3f4e78863f46ad38ba27e6d3b965b8f5b8370ee539a8821d3a9225d0b92c1d9c3b9f11c3bbda23babce592dfbc0e7a193d6bebdd3c42f45abc563041bbb9790ebb32c09a3cf63bc03a72cfecba20f107b95413e3b9e1fb3c3b1233443bc218e838078de4bbdddf043b953654bc9218a0bc6015163d72f3413ef2b5ef3ded9b44bef8db53bedcdd11bdd8de913da7e0afbbf1dbebbc187c5b3cb7dbccbbc4b51f3b33390dbcd642cbbc898e043d0228b5bcc10ee83c6954373e880643be0927ea3d0cd246befc40863f87f48c3f87f48c3ffc40863f9e9255badccd1dba53a785b84aaf883a27be403a4fc3ee3b5af7f4ba17dbf2bbadc44bbcc77b23bdf80d483dfe698a3cbda700bda34cfd3bab0f37bcc19a103dbbade43bb3c7cdbbb95d413b07d881bba9242b3c4ed9a2bb6d60643b64883cbc4bd927bd9a1d3d3cc9bfbbbc4aa27e3d797d7a3e0ff6863d7b4a2dbe45136fbeb1196abd09f5e53d7afc1dbd9f4a96bc8d9e7c3cd22d49bc39593d3cae2545bc70c8c2bc997acf3cb41d2cbc1d4fae3c1da6493ef7c936bee23b863dd22332becffa813f3a35913f3a35913fcffa813fe10e52ba4f74543b68db81bb81ea043b83af5dbbf4f9153ce19c2b3becf01fbc7b4fc43b8cd865bd6259393da73a813c55ca6bbd5cae1b3d781bd0bcf97b3a3d719b8c3c34b39abcf0ae423cafe11ebc04fd303c9df48abc0b56333c67940fbc4c2c8cbdef32363dc9093abd127caa3dac85973eac40993ceec0f5bd70c092be2daeb9bdaeb3093ed80ea1bdac79e83c6fd3943c600116bced5d9d3c3a18b9bc4e4dc3bbbb16833c277f05bb53db7e3af3a7323ec5a026becf4b043d098b07bed9867f3f0697933f0697933fd9867f3fe14cf2b75ebd89ba865f25bb7aa5213b8eeb843ba2cd903ba91ed93b677a85bc011b23bda44f10bd6097473db55f2c3d06c559bcf2d811bc2bb109bb8929d03c9d6c823befcfedba3309caba6f0b11bba561043cfb7298b6c346e43b4b0d8abc24eaa0bc2c5b48bcab28c2bcfbcc7f3db9d86e3e8dbee43dd82a51beb56f6ebe26935abd6b8fc83d7d5b1dbc75f40abda5db943c320296bc68ad193cf3a4f9bb18372bbd835a363d2415f1bc5e002e3d9af4613eeb855bbea7c8ee3d5ab95cbecddc833fb6248f3fb6248f3fcddc833f7ce172bb9fe995b9ca4a3cbb914ec93b6124623ce4712f3c96f2e5b92a4dcfbc8820c9bc590835bdbf8e523d0911f63c750838bda0e0733c9dbe56bc57df383da6e4ad3c274d94bcfe3e0c3c5b334bbc046bdc3c4d0a84bcc4bb313cd9acd6bcd5aac6bddc650b3da287e2bc9563d23dd497a23e8957a13c7b631bbe5e678dbe8a4db5bda7531e3ed0098ebd956066ba94aca73c2c29cbbc2387dc3c3d8893bc1fd905bd162edd3c20e979bbd175c13cc91f703ef81843be44fa093db0542ebe3c837a3fafd7953fafd7953f3c837a3f85e138bc5133e43bbd835ebb3d53153cd8082b3de054b2bb85be4c3c21ea4bbd216ed4bc68e74fbdd018c03c031a6d3d877ebabd3b0d863d28d2e5bcf03b733dc99f403dc7b827bdf23fde3c024605bdd8c98b3c1b5c8ebc5ce999bb76f15abbffc42dbe4dc4cd3d6cb4cdbc12a7f03dafbef23e2805dabda1217cbd6ae9cabea90c18be93854b3e4d0b2bbefe00cd3d05c8cfba1525bfba4efb0e3de156b2bca8208c3c93f490bc7233d63c686f8fbce6de203ebdeaf9bd90fbb7bd86f11abdc6b0683f49819f3f49819f3fc6b0683f3cfc34ba5de8113915af2b38f9809c3920f0523a37b997bb0df0a03b0d30ecb911cfb83b476fb33a452c733b419c9337d64ba0bb2a12db3a8a9d6fb974a6773bcda643bab42dd0393d27b2b94afd103a3f878639ffc1843b8685b0bb5bcbe73a2da5013de50757bc4f922bbc4632abbb11c5a63d7517a23dbd3104bef80503bef1f66ebcc31b093d6d18bfbbe11427bc3513963b938849b9afbcf13902d98cbb100b4f3b42ee513b4729383bf975a83a235ca83de24804be3ccfa33debab03bec6438a3f7da38a3f7da38a3fc6438a3ff69b69b96868c33995a606ba732f4439918958390c9ebabb5540dd3b68482eba2aa4c93b2c78cbbad0aed13bcc1181b9e43befbbdf4e933ba8ed3fbb6dadbe3b0b0b01ba3fd555b7e32852380b7ddc392ae44abbdc009b3b3bab95bb7248733b79a60d3d44616ebcc25a35bc4c61bdbb3591b33d0130a53d302005be3aad0abe0d4bbdbce6fd1b3d90dbf3bbfdb196bb964bc83ba55e23bb4e4cf73acd739bbb7e5d913a5effef3b994983baf416443be487af3dee560abe8191ab3d1c2e04befb3f8a3f258c8a3f258c8a3ffb3f8a3f853e55b8cb40f1b75b2c6738278d64b9cc2637ba0e290dbbd23d5c3b6007633aedcf8e3cb0b62fbc05ed6c3c257630bc6e4283bcfbe7813c907643bc7b433f3c8eee9ab6dbe1c0b9fcaabd3945e836380b9ab1bb3e448f3b51156ebb79bb8e3b6e40ff3cb2664cbcdce852bcd1e609bac468da3d0310963d00ccfbbddcbd1ebe85c60bbd1ebd413d1c638dbc785bcb3baced073c403dcbbb70369e3b87aab2bb8e68c3bbc752373c578276bb4c1d113cbfafc13dd0070fbebcd9a83d817205bea688893f7f138b3f7f138b3fa688893fcba958b96038bcb9bb7141b91edd2039da667bbb9e9181bbf44b053cb29cb6b9940d00bcda8163bcf9e9a83c9bb26c3c4e9e1fbc7717beba1ac175bae6e6443cdc177bb9f19500ba0d7a08bac394623aea272abbcd01d63b4a3e85bbeca87d388ff7033dd4c78abc3f8899bcf029043cd726073ecec8e03d588228beff9330be3622d5bcc15e543dcfc8aabb622890bc2f60413c156696bb3db70d3b4f6c11bc291326bc96bf983cd3d635bcf96d723ccb3a013e23be27be7d5fdc3d8ffe26be3c00893fb4f18a3fb4f18a3f3c00893f3392333a84e7e1b9d50af7b8fabf28ba8e3712bc13cdd53a0803583be337843b0592453b5477d6bcb116fd3ccd7cb33bdce093bc6372ca3b5be503bc2a669f3c671aa13aab33a8ba625a193a277422ba58701ebbaa8d5a3b556322bafc4884baf1fbb13c689027bce946bcbc220e923c32991b3eb983c53dd07920bef57240be10e320bd0048893daff38abcf9db0dbcd6bc533c3e670bbc7821c43b260419bc25392cbc5ecf913cd15b20bcec81653cb3d7053ebea824bee959c33da8bf20be97d9873fa40b8c3fa40b8c3f97d9873f14ab0a3b2c207cba0fd308b856e6acba12aa96bc0711403cfdc487bbb6b8423c76c5d63c707828bd7e36293d17dc72bc56600ebd84bdc33c9081babc6cf1063d8e7e413b906553bb4e680b3b3a5dcfbaa9a209bbc7ecceba5066853bf4e829bb6fc67d3c8dd922bbead501bd8490e03c2eb6253e7fd29e3dd4f009beba3c4fbe0ef855bd1ee2a13d5a6211bd95f6203c3a538e3c55d561bccd886e3cac3080bcb55c0bbc5757803c3daa08bc625c3b3cc275013e4bb41ebecde1b13d1db018beb95d873fac9c8c3fac9c8c3fb95d873f1dee7ebade10b6383312ddb822c8fb383aec1d39f3dbb8ba22afc53bd3cbb4bb8528bdbc65f9e9bcda2e1d3d0348e43c8a2846bcd0deb6ba18578ebb09f8923ce0757e3a2851efba10d8b8395be2c7b91a760e3b8f25723bd861c6b82c11d5bb039e2a3c627674bc2900b6bc1ec1033da0c8393ec00d013e980846be1a6a53bedd4406bdf5937e3da7aa4e38f76ee1bcbe50453c5b16b3bb8aa7683a565bdbbbb9fbcbbc6548013d4619b5bc0b4fee3c9c872d3e9e5a42beb306f93d26af44be1e10873fed228c3fed228c3f1e10873f68381a3ac6b540baec34ccb9eef6bab71a1d82bb65a4053cdba66dbaec4385bbea4301bc16b439bd5126553d7ff8723c7ec4f3bceb62543c126588bc386f073df21dc83b2beec0bba33f633b2a4980bb8b80c03be2fb58bb0d83993b32a714bc9fe8afbce0ee903b6498f0bc71005f3d124b653ecfdcb53d254a2fbe0b1a6fbec7d652bd9ceab73d698ad0bc4f3a5dbcb066533c32f815bc0fd3ef3b669115bc2c93a3bce063ca3c6a2c53bcefeba53c52bd2f3e12c232be4815ac3d82182ebe245f843f6bc78e3f6bc78e3f245f843f3b4a8b3a3b77063bab4b6fbbeb6a083add1f98bc28ac903cc06888bbb39bbe3b9e5e143d69c6a8bd4fd2923da71378bcd14696bd23d3763de6a658bd9911843d901a923c4ee397bccbeb793cdbe257bc267c093c53c275bce19b593caf1424bcac873cbd91b22a3d615979bd77409d3de01a853ef134433d20c7f4bdef448fbe5d8595bd3624c73d0c6759bd7cf4c43c75f6353c329683bbbf1a213cacb64fbccec7a8bb59ab753cef9892bbef39653b36f10f3e08c520bec512683d60cf02be921f833f534e903f534e903f921f833f569c653ae33d82ba41571abbd101ab3a5f3a8339c2ec2b3bb062193cf3bc56bc518718bdfc2015bd553f443d1f242a3dd78d4abc09a6a4bbd37cc4bbe2a5c53cc259763b7c862bbbe15b7d38779e2ebb14ca8b3b300e313b7f5fb83b4deb65bcac3478bb0ad987bc033ee0bce2bf5b3d611e5f3eb070003ee6ee50be64ae6cbefb764abde176a83dec9796babd45f6bc72c2833c0e667fbc96c8c43b48d6adbb285a23bd704c323d903ff7bc47632d3d7335503e97c859be2889043e57b559be296b853fdc918d3fdc918d3f296b853f5fe1343a4cad19bbd64eacba0ae5f53a16a8f23a415e593ced808dba5b446fbc123c83bc156d53bd9b6d6b3d497ebc3c123424bd9768aa3c213bb5bcaa2e2d3db2fea33cd6bf85bcd3e4203ca0c664bcd7a8923ca24e35bc0ba9483c93a5b6bc7ab47fbdf5a8af3c4f901abdcf96b43d83fb913ea1ff533dc2c61bbe138f8cbe6b41a8bde5b4fc3dbdc350bdf4a9e13b562f8c3cd195acbca2b4983c1fa239bcede102bd583af83c0d5b31bc81d0db3ce8f64c3e576740be2089893dadff2ebe9d15813f0cef913f0cef913f9d15813fd546bfbbde81163b8caad8bbacc11d3c2125353be504b23cad96563b6c0dc3bc3d04053dc012d3bd2a66913df001133bde95fcbd828ad03d80e1a4bddeebd43d9ff9563d84ac39bdeddc223d877434bd235fc83c63a2b5bc839e3a3cb317acbcba250fbef080be3d08448fbd3e410a3e4390d13e0a4864bd93de31bd099fcabe8660d6bdbdb2123e5791ffbd52228e3d32b12dbc632db73bc27b673c66e9c0ba3428c83bacc613bc49f4ab3c0d5409bc4c9d093e1b5ff1bdcc8033bd436784bd510d763f58d6983f58d6983f510d763f528c88badb39823914325e3afdde82b97a30163ac730c0bb2ca5b93bed180f3994a79c3b6499493b85631f3ba85bda39d769cbbbfdc42f3b5d98d0ba2ef2b03b3c8ae1395a1010ba02035a3961a10eb9189075b661f9913bfdf0acbb1610c73adee1073dec8363bccf6135bc4cb9b1bb48eea63dd4fba43d7d7703be684905be385879bc67f0053d5c0a95bb19eb25bc7c9e9d3bae436639270104b970cf8ebba2665e3b5d474b3b34dbd13a95d61e3b5c3ba93de86e05bee133a73d8b6504be0c5f8a3f78848a3f78848a3f0c5f8a3fab35c2b9ee2192396753bdb9dbda78397ff13d3b7af0d1bb27b2d93b51d522bb337b9f3b624bba38516bab3bf3dd6339d09511bc3d0d9c3b2eeb8ebb72490d3c465c79b86656b939f3202fba9af8a239048e4bbbb9b9ae3bf5989abbb5214f3bd9fb0c3d2f098ebc782916bc9f8196bb3033b13d47f2a23db88e03be18fa09bea4a0b3bc585d1c3d619508bc68a0a2bb5fe0ce3b2d7a85bb46326d3b0aeaa7bbec222bbaa4acb93b867e4db904c1b53b200cae3d264406be6af7aa3d409f06be78468a3fb97f8a3fb97f8a3f78468a3f260bc839d8d9a9b9acec26390b84dfb941d9c03a368e49bb7bc24e3bab84a5b731d6883c0ad553bca25f863c521b34bc966493bca9ce8e3c6edf89bc2f5b8a3cdba2fdb8c33c0d38d40b9f37fc0c863863dac3bb9cb0be3bac9370bb9194713b06aa093d2b2889bc527b26bce2b1e3ba87eacb3d843d9a3d9274fcbd177619be95540cbd1a75403d5e7885bc10aecf3bbcff103c01dee2bb813abd3b68f6dcbb4cdad1bb18ac2f3c24139ebbea4d2a3c9340b73d410008be6d78a73d8b2d05be69e0893f38c98a3f38c98a3f69e0893f217946399d22e0b98941a13812fdc5b93a645bbb91efaabbceef063c3ebf9239d71317bc966c55bc71a9a43c7f4f7d3c54c210bc97ae0fbbff722bba4f6d3d3cf2c91cbaf67abcb727f49ab9b08afd39896a6abbd623e23b54e58cbb0d648b3a9152123da2cb97bc5bcc93bcaa79a73bd185033ee311e93dacf02abe87ab2ebe739cc9bc1e5f463d09970bbbd70896bcd857333ca8b881bb2c7c6d3ac139f5bb4fe622bc8b39973c985e38bc393e723c4927fb3d59c227be4f01e23d08de25be9a3d893f64b18a3f64b18a3f9a3d893ff9dc1b3a55373db9705c32b952a531ba7a44e0bb795554baa6ffaf3bb0161d3be5eba8b8a7feb5bcf02ae83c620cea3bf81e74bc9d289c3bcb7801bc375f903c1e19413abae55cba330f9b3955bc97b953f766bb77d1773b965e7eba54c06439d45aef3ce88f62bcd31abdbc3679583c0c8a103e68ead63de9bb23be29083bbed33f07bd4e5b683dad971abc2e1838bc3da7243c7843e5bbe3807b3b5634d0bb275032bc0f92913c42822abcc9ae723c4190f93d75cc22be18b6d23d509420bed2bc883f12238b3f12238b3fd2bc883fd16fe53a197f98ba0baac7395476a0bac44589bc7318253c3317cfbbd558723c1a7ce13c0eaa25bde4d73a3d1bebb1bc30c007bdf9a6c13c6217cebc6e770b3d97f0c13ae668d6ba57a2993ab97569ba937771bb92e5c53aca83d63a815256ba0895b73c50b9c2bba1e8e5bc36519b3c5b40143e3349ae3d38ec0ebe853241beacb232bd23cb893d2b0acebcd4908a3bfe2c513c783029bc746a283ca79a35bc23b8f7bb9d2e613c4cc80abc9dad403c8933e83de16c18bea689ba3da55d15bed098883f87778b3f87778b3fd098883f6ba60bbafcc6ef3826ced2b95c76b7b7217206b9f76659bbfbdf073c5b97b2bbdfa8c6bc574ae3bc0c71173d714ff33c71f925bc78de8bb927a2babb6dea823c5ec0773a0b02d3baf0359239b90bfdb98ecad139e00aab3b13fa86ba006ea7bb008aa33c3d2e96bcc6d5c0bc6ae9da3c812a2f3e58b10a3e05d847bee0a150bec0e7efbc5210543d7d0ae63b8395dcbc6e601d3cd8337fbba7f330bae64f96bb027ec8bc1ab3fd3c13e4b9bc039ff33cd109233ebaa041bebd54053ec28243be7007883f47288b3f47288b3f7007883f59e5a63a4048f9b9eb195aba96491eba546baebb88199b3b6876363bef3833bb98d015bcc9a932bd6814503dbac7823c69e7c1bc548f433cb8c191bc9fa4ea3c63d97a3b3ca571bb67111f3b61c63bbb6456b73a07e7adb90dbc883b5024cfbb28e3c539982cadbb6252f9bc34e6293db9cc4b3e578ee63de66b37be8cfb65becc532dbdcd6b873dfd9903bcedcf74bc163e173cb2bccdbbbb23593b2a17a9bb36dc94bc17e5c53c2ae47cbcb505af3cf60b1a3e92b930bec0b4d13d59452cbe2a89863fb19b8c3fb19b8c3f2a89863f75f2013b0e45fb3626d7e0bafbfc3cba06a9e9bc8834dd3cff3578bc9e54983c876e663d22b6cabd7321be3d2fba1fbd230b9cbd7371853d8e417dbdd0dd8e3d603a5a3c1c4054bc85e8313c3ff623bc76d0733b8d6002bcfdd41f3cbd3df4bb3544b3bcb664bf3c4f926bbd2794843d3ae55f3ea02da33d690606be002485be3a6d5abd18ce923d027b0ebdbaa26d3c7f35c43bcd5634bb2640c63b538ddfbb0268cdbb0d045b3cc769e2bb87fc0b3cac77f33d214715bee3b69e3d7ed60bbe8aa3863fb0cb8c3fb0cb8c3f8aa3863f3a9cbe3a90114fbae84e17bbcf7fce39d62dc3bad6de013a3e4d433c79113cbc1cd413bd01dd15bd4b1a3f3dd84b2b3d2f5816bc73e881bba20af8bbb6d8ab3c8cbc2d3bce93bdbaa3811d3990b62dbbfa3e4c3a2e6eaa3b5e917e3b638330bc6745483cb36db8bc8a85eabc446d333d2e7c4d3e4b1a123ec5b054be5eb168be78fb38bd1aa2863d59a7113cbc81dfbcf0f4693cd13847bcf28b073b435f63bb68641bbd3708323d0ff503bdc61d2e3dfcd13e3e35b358be4e8b123e9c2757be930c873fb1ee8b3fb1ee8b3f930c873fcca8ee3a3b6d04bba98a6fba7dcf24b97f9ff6ba2158173caa50103b3d5a22bccb0474bcdf1851bda9aa6b3db944b13c145bfdbc7f7aa43cdef8d6bce23e173d62785f3cb1e331bc7fdcfa3bac6134bc3e83023c2f1888bb30ad1d3c0c8579bcb8a2d3bc69be8d3b6db81cbd9ede873dd7667a3eff2eba3de0302abec55884bece9c8fbda0b8ba3dbe05e0bcd406a63bf8a8623c034384bc65b1223c4da6b0bb4a7901bd63d70a3db69796bc0993fc3cfb9b2e3e1d363dbecbdfc83d632932be8ba9843fbe4a8e3fbe4a8e3f8ba9843f16cc2d3bc8dbb7bbdc1c9fb9a6229f3aaeca1abd48f7543d51ecf0bc23cfac3c4eabb33dfc9c19be5e580b3e57358cbd687209be0fcbf63dd499f5bdd9ef043e0a034b3d4f0032bd4bb1323d30b33abd062bb83c5c40a2bc5fb29a3c8950d6bcaa34d0bdcebe9c3d4a98babdbbf4033e5466af3edcacb9bb85da74bd3233b9be80c8b7bd1434db3d1d96a0bd9632483d595a91bb148e7d3a16a2a53beee7533bb68b84bb218c813bdf83143c561a023b5c77fb3d40aa08be8432cc3c18b8d3bd21d6813f38b5913f38b5913f21d6813fd6ef91b9d03a04b9387b16393caaf1381786bb3a22c5cbbbde23c83b52fd56bad4a38c3b656b1e3b5ac10c3b2dfb083bbd5dddbb24661e3b906b8dba0373bb3b09b513395f7037b780f358373d8facb9a76501bb91f0993b6f0883bb2b24f83aed6f0c3dbc6f67bcb48e2dbcfbaed9bb809ca73d0cd0a73da0f604befc6e05be923f7bbc1ce50b3dadfecbbb99931fbc8f1a8f3b5c4861ba0377b03a5d3f89bbbd42a73a5b4b873b2155633a1898873bfd98ab3deab305be1b5ca93dfb5306be99848a3f51508a3f51508a3f99848a3f8ce4f4b9ab32e03817884638c00a23399028a53b596bfabb568df93bd88891bb4acf893b6a06c73a155a913b74b948395c820ebc43619e3b1a19b1bb6e211f3c2ab864b5b5d368b896afc0b8d9ae6038d46486bb99b6d83beb62aebb0941613b929d143d0f039bbc41a201bc6ce9c4bb26eeae3ddf52ab3d562d07be5ead09beda34a1bcd3ab193dfe37d5bb3e8404bcb555c83b021f80bb9255743bd563b0bb64f78bba180ac73b83a7ccbae33bdf3bf0c8b03d32f208be0941b13d962e08be06738a3fda498a3fda498a3f06738a3f529b26391790cab931a4483959a325b9f49b043ca97bd4bb0943e93bcbebeebb32ff073cbe14babbf074263caa008fbb90bc7dbcd7788e3c55b290bce399823c04fd95b80f3cc339e499bfb91df05bb80b27bbbb95bdbd3b2dbb87bb8361893bbf1d0f3da6cab4bc2ce112bbb7c9c7bb09eec13d1cf2a63df5f505befd4013bebe18e7bc1229233da0c145bc2515893b8bab063cf19bfebb4c8afc3bb259f1bb417cb4bbb32b2d3c1356d4bb5066273cb9beac3db50d05be54f9a83db9a102befd088a3f179e8a3f179e8a3ffd088a3fea346238d4e2b3b8c67fd9b817b8c1b9ca722ebb346ac4bb98031a3cbe5960ba066230bcf6cb40bc3d61963ce85f903c5acfdcbbffdf35bb9aa3a2b85f5a1b3c8c7193b9a34770b97283e8b9f2080e3a7beb82bbb6a5fa3b631793bb6db0813afd57223d5172acbc647297bc91f37b3be33ffe3dd1bdf33d65462cbe70462ebee3c8bbbc1be9343dfa49553a322597bcd995133caaa65dbb345d3f3ab353c9bb082f21bce5fc8f3cb28445bc0bd5853c45b0f23de2bb26be9479eb3de71e27bee0c2893f18278a3f18278a3fe0c2893f0e24ce394d685e3997bd8eb934373ebacf9b65bbaa0dafbbaea7153cebd099b932c0e7bbd0cb74bc2ae3ac3c9725663cd53129bcadb2953a008580bb31c5523c1970823927c59bb9986370b96ebe9735b58591bb36899f3b2df1f7baf4b8b03a44d21c3d1a5f9fbcdaafa1bccf1fb93b8a14053ea54cee3d4fab2abe255134be1e4dd3bc90753f3d57081abb105272bc0a6beb3b62f8a5bba04f2c3b0c0094bb92e327bc147b873c4a9230bc9ef17e3c2b8de93da39a20be16c9dd3da80a20be8089893f9a568a3f9a568a3f8089893f32ea403a9b6be9b9ac82b23929f56bba18fc01bc6e54f43aa8be6c3a1b58e23b7ff5513c2aa0bfbc51d8f03c71ea03bc1d14a8bca4d15f3c4bd375bc7381b33c2aed27b915201eb9eb91eeb7845362393bf193bb5a355b3bb33efcba5e77493be14d0e3d6a8178bc24b797bcb549a13b10bbfa3de703ca3dbb9419beecff2dbed23afebc76b3513d4f973ebc602d8dbb782ef53b50e1cebb703cb13b7ff8babb158fe0bbba9d3a3c57b1dfbb9ae6203c6e13ce3d645412be998cc03d1f0110bed594893fe2828a3fe2828a3fd594893fd4af26ba21e934b85ad534b9c76302387866a0b97974aabbb01c383cd325cbbbe762cabca5f2d7bca216093d0939043dde81f1bbe3f71fba0a7aaebbe70e543c7ef2733933b756ba90d4dbb88fc52cb9f362a0baf0f5dc3bd46b0fbb588868bb5078fd3c8e7fb6bc93d6ccbc6fbfa53c1a58223e13fb153eb22949be32924dbe4dded7bcbb2e293d13a35a3ceef9ccbcf018053c68fe4fbbfb57d8ba0f2951bbc6fbc2bcf479f63c41b0b7bcc333f33cf063173e09bb41beea800e3e7fbf40bee00b893f43228a3f43228a3fe00b893f3209e2395eb7723a673cb5ba55f706ba517a1dba683362bbfe011f3c7605d4bb1c1d95bc830c05bdbb7b233d2884cd3c18dc63bc03dfd03b81b255bcb028a03cd0e00a3b7c4fc6ba69f67f3a876903bbd009e7baede4033b5fa2083bd5902fbb9f54b33ceb798bbca516d5bc6db9d03c3c632d3e2ad00e3ec2b144bea9e455be6890fabc385c353db7e6053c880e9fbcae94c83b358088bba4282ab9c281bcba356c89bc86cfbd3c226784bcd590b03c6e91073e17482dbe2b5df03dc11e2cbe39a0883f8c878a3f8c878a3f39a0883fa4b5a9b728c7b03a4eb1bbbafaedeeb8e98685bc6a762f3ce847d1bb09c5593cb6200f3d88db88bdbf83903d969bd5bc6de94fbd20bf2a3dc4b230bd87ed493de185b53be4799fbb1a8b8e3b326997bb41c80739e9640dbb48b1583b3549c5babed9573b33b8ce3b63bd23bd9252143db718303ed96eda3df06e1fbe5c625ebee8c607bdb2753a3d0ed0f2bb64a76ebba119e03a36ce85ba2e5e743a6c8049bae4b0f5bb85f54a3c791203bc2e9c293cb13ada3db67c14bee846c23d4b0310be52d4883f63a98a3f63a98a3f52d4883f05c2003a00d10d3a6a830ebba5b0abb8e8fdacba2a4d12bb7fac633ceb392ebcd73516bd367214bdfc54393d6c25323ddfd5b9bb9f9948bb294a12bc62f68f3c9057f33a730711ba46a4c6b73e0023bb390f6dbb75d6fa3b42662d3b3c82e8bb8607ef3c7401fbbc3109e4bc9f89073d81553a3ee937253e5b255bbef50b62be80451dbdd1d6433ddb66a93c3c27debcc17e273c7f44f2bb986a27bbba9522b9129114bd484b313d45ae0dbd58eb313dc0962e3eda5e56befb621f3eddef55bea6a0883f215b8a3f215b8a3fa6a0883f825f0b3ac9a58539c0741dbbecd09139384b673b465116bbfc674e3c9f436bbc742ec8bcedb326bd8fc2413d2b59003df28f95bcbdab5d3c6b52babc28eadb3c02bace3bd8eb9bbb5cc4673bccd9c6bbabc4edba01808d3ba17f7c3bb626dabb371f4f3c337aa1bc240edfbc54461b3d4ddf463e0969103ef24c47bef3296bbe580847bd045f5d3de70d4e3b09dffcbb787a163c066518bcc970b63a07047fb97caaedbce84c0d3dd8bfc2bc0726093d49c8133ecd8038bed46bfb3dfd4134bedef9873f14f08a3f14f08a3fdef9873f66d4583b95d989bbb687f53ad7af12bbee403ebd7b984d3d323b22bd7797233d618aca3ddfca19beeeb51a3ea900b8bd1b36eabd0547d93d8527e8bd19cbea3df852043db4eef0bcb00efe3cd933fabc8f96013cb830d5bbb2e81a3c892247bc20fc2abd806a173de78a92bdd4b7ab3d27b6843e71b3623dfc29d6bd41a198be1b3c94bd7175993d967611bd08b7ea3c4ee6553b2a8b63bb68d8013bf1bf1ab9122815bc0e974e3c38c4a7bb46c9403c6344dd3dbebd12be4776ae3d06080abeb7b2873f63888b3f63888b3fb7b2873f2e9337b7c9bc13397299acb90cf3593763661e3b9c5eddbbd975bb3ba0748dbae96d1e3bcda18c3ba7ff083b60be0c3b13c5cbbb1987bb3a430757bae324c83b8c3f04b926eb91b9c58bf13857861639844f61ba9f1b8f3b7c3f89bb7d76b03a16e50b3d5d3f7bbcf4931fbc26fecbbb2bd0a73d569ca73df26e05bea4f604beda6f67bcfa6f0c3d89afd9bb838e2dbc85f0993b056601bbd727f83a310983bb4e57633adb97873b9141a73aaa4b873b055ca93deb5306bee098ab3de1b305be51508a3f99848a3f99848a3f51508a3fd6ab68b8548a6ab56ea3603895b1c0b869649e3b2e830ebc47211f3c421ab1bb0a06c73ae1ce893b509b4839965b913b3d6efabb222ba53b8a8691bb338bf93bee0be0388fdef4b95e102339ce8c4638541f80bbf755c83b9563b0bb2a55743be4ab193d0b35a1bcc68404bca236d5bbc752ab3d2ceeae3d64ad09be462d07bebf029bbc7a9d143dc7e9c4bb50a201bc20b8d83bcd6586bb1740613bf262aebb87a3ccba023cdf3bb4f28bbac207c73bd840b13d882e08bef8c8b03d2cf208bedb498a3f05738a3f05738a3fdb498a3f0f3cc33904fd95b81df05bb8e499bfb9d7788e3c90bc7dbce399823c55b290bcbe14babb32ff073caa008fbbf074263ca97bd4bbf49b043ccbebeebb0943e93b1790cab9529b263959a325b931a44839f19bfebb8bab063cb259f1bb4c8afc3b1229233dbe18e7bc2415893ba0c145bc1cf2a63d09eec13dfd4013bef5f505bea6cab4bcbf1d0f3db7c9c7bb2ce112bb95bdbd3b0b27bbbb8361893b2dbb87bb1356d4bb5066273c417cb4bbb32b2d3c54f9a83db9a102beb9beac3db50d05be179e8a3ffd088a3ffd088a3f179e8a3fa34770b98c7193b9f2080e3a7283e8b9ffdf35bb5acfdcbb5f5a1b3c9aa3a2b8f6cb40bc066230bce85f903c3d61963c346ac4bbca722ebbbe5960ba98031a3cd4e2b3b8ea34623817b8c1b9c67fd9b8aaa65dbbd995133cb353c9bb345d3f3a1be9343de3c8bbbc322597bcfa49553ad1bdf33de33ffe3d70462ebe65462cbe5172acbcfd57223d91f37b3b647297bcb6a5fa3b7beb82bb6db0813a631793bbb28445bc0bd5853c082f21bce5fc8f3c9479eb3de71e27be45b0f23de2bb26be18278a3fe0c2893fe0c2893f18278a3ff3c39bb9cc6c82393d669835e15f70b946b5953afc3129bc10c5523c078580bbf9cb74bce9bfe7bbe625663cfce2ac3c770dafbb859b65bb60d799b9bba7153ce6615e397525ce398c373eba33bb8eb948f8a5bb096beb3b1d0094bb984f2c3b8c753f3d1f4dd3bce95172bcc7081abb9c4cee3d8b14053e295134be49ab2abe285f9fbc44d21c3d2a20b93be5afa1bcb6899f3bd98591bb78b8b03af2f1f7ba689230bcccf17e3c99e327bc0b7b873c13c9dd3da60a20be278de93da09a20be9a568a3f8089893f8089893f9a568a3f15201eb92aed27b984536239ec91eeb7a4d15f3c1d14a8bc7381b33c4bd375bc2aa0bfbc7ff5513c71ea03bc51d8f03c6e54f43a18fc01bc1b58e23ba8be6c3a9b6be9b932ea403a29f56bbaac82b23950e1cebb782ef53b7ff8babb703cb13b76b3513dd23afebc602d8dbb4f973ebce703ca3d10bbfa3decff2dbebb9419be6a8178bce14d0e3db549a13b24b797bc5a355b3b3bf193bb5e77493bb33efcba57b1dfbb9ae6203c158fe0bbba9d3a3c998cc03d1f0110be6e13ce3d645412bee2828a3fd594893fd594893fe2828a3fe7c756baf91374395ac32cb9c68ddbb837ef1fbad182f1bb8e0e543cac79aebbc0f2d7bcba62cabc3339043d7516093d5376aabb0f51a0b98525cbbbe21c383c808c34b8deb326ba9d49023808d834b9c2f94fbb1e18053cad2a51bb6f58d8bae02e293d54ded7bc90f9ccbce7a15a3cfcfa153e2c58223e2d924dbeb02949be157fb6bcda77fd3c0cbfa53c4ad6ccbc3bf4dc3b2d5fa0baf18868bb92690fbbebb0b7bc3034f33caafbc2bc247af63cf3800e3e89bf40bee463173efeba41be44228a3fdf0b893fdf0b893f44228a3ffd4ec6ba4ce10a3b846903bb65f37f3aebded03b5bdc63bcc828a03c62b255bc820c05bdf91c95bce483cd3cca7b233d853262bb30771dbaea05d4bbca011f3c7fb6723a8a07e23907f506baa43cb5baa78088bb4494c83b2c81bcba1f122ab9505c353d3990fabca40e9fbc32e6053c28d00e3e3c632d3ea5e455bec5b144be237a8bbc7f54b33c9ab9d03c7b16d5bc88e5033b3b09e7ba1e912fbbc9a1083b076784bcda90b03c3a6c89bc6ccfbd3c1b5df03dc71e2cbe7191073e0c482dbe8d878a3f39a0883f39a0883f8d878a3fbb7a9fbb1d86b53b256997bbbc8b8e3b2abf2a3d68e94fbd8bed493dd5b230bd8cdb88bdbc200f3da99bd5bcc483903d04762f3cd78685bccec4593cf846d1bbb3c6b03ad0b0a9b72defeeb8dbb0bbbaaac985ba5018e03a818149bacb57743a85753a3ddcc607bd87a76ebbdacef2bbeb6eda3db618303e5e625ebef76e1fbefcb8ce3bbad9573b9f52143d85bd23bd8f630dbb31c907393a48c5ba88af583b331203bc1c9c293ce7b0f5bb4ef54a3cfa46c23d4e0310bead3ada3dbb7c14be63a98a3f52d4883f52d4883f63a98a3fe40811ba4b58f33a7e0023bb2c90c6b73a9848bbcfd6b9bb87f68f3c484a12bc357214bdce3516bd6825323df254393d0e4e12bb0afeacbad8392ebca3ac633cbdcf0d3a4dc4003ae2c2abb8eb820ebbaf44f2bb027f273c479f22b9c16a27bbded6433d95451dbd2527debcd966a93ce837253e83553a3ef40b62be5c255bbe5801fbbc5f07ef3cad89073d4409e4bc8ed6fa3b340f6dbb4582e8bb18662d3b48ae0dbd62eb313d189114bd474b313dfd621f3ee1ef55bec4962e3eda5e56be215b8a3fa6a0883fa6a0883f215b8a3fd7eb9bbb00bace3bccd9c6bb5cc4673bbeab5d3cf28f95bc28eadb3c6b52babcecb326bd742ec8bc2b59003d8fc2413d445116bb334b673b9d436bbcfb674e3cc6a58539845f0b3af2d09139c1741dbb076518bc797a163c22047fb9c970b63a045f5d3d580847bd09dffcbbe70d4e3b0969103e4ddf463ef3296bbef24c47be337aa1bc371f4f3c54461b3d240edfbc01808d3babc4edbab626dabba17f7c3bd8bfc2bc0726093d7caaedbce84c0d3dd46bfb3dfd4134be49c8133ecd8038be14f08a3fdef9873fdef9873f14f08a3f70eef0bcde52043dc333fabc900efe3cd046d93df235eabd01cbea3d6527e8bdc4ca19be2b8aca3d7c00b8bdd9b51a3e46984d3dbc403ebd4197233df73a22bd5cd989bbe2d3583b34af12bb8186f53a5d8c63bbd5e6553b11be1ab9cbd8013b7475993d0e3c94bdabb6ea3c807611bd9eb3623d1fb6843e37a198be1f2ad6bd696a173df0fb2abdb8b7ab3dd78a92bdc230d5bb8996013c842247bcb7e81a3c7cc4a7bb5dc9403c132815bc1b974e3c5276ae3d08080abe6144dd3dc1bd12be63888b3fb7b2873fb7b2873f63888b3f7a1010ba7387e139958e0eb9ebf55939e5c22f3bd268cbbb40f2b03b6e97d0ba1b98493b2fa99c3b0a3ada39c5651f3b9f2fc0bb8624163aff0b0f39aea5b93bdf3582398b8a88ba63d982b9ff2d5e3a1c476639ab9e9d3b52cf8ebb400a04b999f0053dc35879bc17ec25bc180995bbb9fba43d8eeea63d804905be7b7703be6a8463bc16e2073da2b8b1bb736235bc43f9913bcbca60b6ae02c73a17f0acbb28ddd13a69d71e3b38635e3bb2484b3bf733a73d976504be5c3ba93de76e05be75848a3f0e5f8a3f0e5f8a3f75848a3fba51b9398d4779b89af9a23978202fba840a9c3b2d9511bc70490d3cbde98ebbf33aba38aa7b9f3b6cf463395c6aab3b88eed1bbcbed3d3be7d822bbf8b3d93b3a299239283ac2b9b6d67839ea53bdb9297a85bb44e0ce3b43eaa7bbeb326d3b435d1c3d82a0b3bceb9fa2bb949508bc57f2a23d2c33b13d14fa09bec28e03be95098ebcf6fb0c3d498196bb502916bc84b8ae3b6c8c4bbb8d224f3b03999abb089b4db9eec0b53bf02a2bbaa9aeb93b93f7aa3d4b9f06be1b0cae3d2d4406beb87f8a3f79468a3f79468a3fb87f8a3f786d0d38d477fdb888da853824c59e370ccd8e3c7c6793bc995e8a3c4cde89bc9ad453bc45d5883cef1a34bc1a60863c03a349bbea89c03a24ac8fb780d34e3ba7d4a9b93f17c839a691dfb976e52639addde2bba701113cfdf8dcbbfe38bd3b6b74403db8570cbde9c0cf3b6c7585bc333d9a3ddce9cb3dbd7519be4a74fcbdb92989bca7a8093d2679e3badb7926bcf0b1be3bffd7c3bbb590713b449770bb19159ebb9e482a3c7ad2d1bb65ae2f3c9078a73d742d05be5b40b73d4d0008be34c98a3f6ce0893f6ce0893f34c98a3fc771bcb74ecb1cba7a8dfd39ccf49ab9adae0fbb3bc210bc356d3d3ca2722bba8e6c55bcfb1317bca44f7d3c6da9a43cb1efaabb1a635bbb28b69239deef063c0c22e0b98e73463929fac5b9bf3ea138a7b881bbd457333cb939f5bb197c6d3a1b5f463d579cc9bcf40896bcd4960bbbe311e93dd185033e87ab2ebeacf02abeabcb97bca452123d1579a73b53cc93bce523e23b166b6abb2b658b3a64e58cbb9d5e38bc503e723c66e622bc8d39973c5001e23d0ade25be4d27fb3d59c227be64b18a3f9a3d893f9a3d893f64b18a3f89fc5cba8a2e413aece597b9113b9b3963309c3bb42274bc3f61903c0c7d01bc2cffb5bc9b66a8b84c09ea3bbe2be83cdc4f54baf545e0bb8f1a1d3b78feaf3be6383db923e01b3a9ea931baea5532b92944e5bb99a7243cd734d0bbc4817b3be75b683d5c4007bd231638bcea991abc46ead63d168a103e31083bbedabb23be468d62bcb859ef3c257b583cfe1bbdbc81ce773bacf566bb13b2643939567ebac5822abcf2ae723c765032bc6892913c46b6d23d639420be6990f93d8dcc22be12238b3fd2bc883fd2bc883f12238b3f9f69d6ba1af1c13a337769ba23a3993a9ba4c13c2dbf07bd5e760b3df814cebc92a825bd9e79e13c86e8b1bc62d63a3d9b15253c854489bc6756723c8d11cfbb8c7e98ba766fe53ad775a0baa1a7c739532f29bc012c513cba9935bc5669283cd8ca893d23b232bd2e8d8a3b1309cebc3349ae3d5c40143e853241be39ec0ebe4abdc2bbe495b73c41509b3c97e7e5bcd4e9c53a927971bbdb4b56bac97fd63a3dc80abc96ad403ce0b7f7bb822e613ca789ba3da65d15be8533e83de16c18be87778b3fd098883fd098883f87778b3f10f3d2ba74b6773a4e0afdb9490a9239d2f68bb9e2f825bc9cea823c46a2babbb049e3bc1fa9c6bc1e4ff33c0271173d706659bbad9606b9cc97b2bb7de0073ca9a3ef3874a20bba413bb7b710d0d2b9f1387fbb50611d3cfb4e96bbaef430bada0f543da9e7efbcf695dcbca50fe63b7db10a3e6d2a2f3ee5a150be14d847bec92e96bc7a8aa33cd0e9da3c09d6c0bc4a0bab3b31bfd139b86da7bb87fa86ba1ce4b9bc9e9ef33c3f7ec8bcc8b3fd3cc154053eba8243bede09233ed2a041be47288b3f7107883f7107883f47288b3f83a571bbf8d97a3b3cc83bbb0e131f3b538f433c41e7c1bc9fa4ea3ce4c191bce0a932bd96cf15bc51c7823c7414503d56199b3b786caebb283633bb5376363bfc47f9b932e7a63acb4e1ebaa5185ababdbccdbb873e173cd016a9bb1e21593bc46b873de1532dbd00d074bc4d9903bc718ee63da7cc4b3e85fb65bee56b37be7e2cadbb9300c63917e6293dab52f9bcc3e6adb90553b73adc23cfbb76bc883b1de47cbc6605af3c03dc94bc32e5c53cd6b4d13d56452cbef20b1a3e9cb930beb09b8c3f2b89863f2b89863fb09b8c3f1d4054bcc03a5a3cc4f623bc9ce8313c5e71853d220b9cbdc7dd8e3d59417dbd5eb6cabddd6e663d70ba1fbda721be3dad34dd3c11a9e9bcd954983c933678bce6adff36a4f1013b6bfa3cba94dbe0bac45534bb5734c43b6f8bdfbb2a3fc63b40ce923d546d5abdeba26d3c487b0ebda92da33d34e55f3efd2385be6d0606beaa64bf3c7244b3bc2e94843d3c926bbda36102bc14d1733b593ef4bb47d61f3c836be2bbaefc0b3c3968cdbbce045b3cc9b69e3d7ed60bbeb177f33d164715beb0cb8c3f8aa3863f8aa3863fb0cb8c3f0593bdba20bc2d3b45b62dbbd07e1d3932e981bbae5716bc8dd8ab3c540af8bb02dd15bd25d413bddc4b2b3d551a3f3d25e2013aa62dc3ba8d113cbc1c4d433c2a104fba039bbe3a9b84ce396c4f17bbb73847bcadf4693c985e63bb0c8c073b13a2863d61fb38bdd681dfbc63a7113c4c1a123e2d7c4d3e5fb168bec4b054bed06db8bcb745483c366d333d7785eabc136eaa3bdc3e4c3a5d8330bc8a917e3b0bf503bdbc1d2e3d63641bbd3808323d4c8b123e972757bef8d13e3e35b358beb1ee8b3f930c873f930c873fb1ee8b3fbbe331bc26785f3cc66134bce1dcfa3bb77aa43cdf5afdbcdb3e173d21f9d6bcd61851bd040574bca444b13cb3aa6b3d2e58173c2a9cf6ba3b5a22bc484f103b2a6d04bb55a6ee3a22d224b9f9866fba0b4384bc1ea9623cfca5b0bb76b1223c98b8ba3dce9c8fbde006a63bcd05e0bcf82eba3dd4667a3ec25884bede302abeebbd8d3bf6a2d3bca0de873d49b81cbd281888bb9783023c018579bcf3ac1d3c9d9796bc0793fc3c587901bd57d70a3dbfdfc83d682932be009c2e3e15363dbebe4a8e3f8ba9843f8ba9843fbe4a8e3f7d0032bd30034b3d47b33abd69b1323d38cbf63d757209bee4ef043efb99f5bd139d19be7cabb33d87358cbd76580b3e6ff7543dc4ca1abd46cfac3c96ecf0bcdadbb7bb2fcc2d3b61229f3a291b9fb98d977d3aec5a91bb2ee8533b76a1a53bf533db3d73c8b7bda432483d1896a0bdecadb9bb5a66af3e3b33b9be45da74bdd3be9c3dba34d0bdc2f4033e4a98babd5a40a2bc092bb83c8550d6bc56b29a3c0e84143ca319023b7f8b84bbd68b813b4632cc3c12b8d3bd5577fb3d39aa08be38b5913f21d6813f21d6813f38b5913fcb33d039e6b043baa105113af22ab2b9f914db3a504ba0bb1ea1773b99736fb9eb6eb33ab0ceb83b90469437cc2b733b9fba97bb1605533ab733ecb94eefa03b64f21139f20035ba35809c3905d02b38f38049b95913963b1cda8cbb2ac7f1399d1b093deaf66ebc561327bc341abfbb7c17a23decc4a63de90503bebd3104be530757bcf2a4013db832abbbce912bbc87c2843b184a8639b6dbe73a4286b0bbbb28383bc46ea83a14124f3ba8eb513b2dcfa33ddeab03be1e5ca83de54804be7fa38a3fc4438a3fc4438a3f7fa38a3f8dfe55b79f0b01ba7e7edc399d355238fe4e933b743befbb07adbe3bfbed3fbb2178cbba2da4c93bbd1481b997aed13b1f9ebabbe0895839a0482eba5440dd3b5868c3397f9b69b9282f443988a606ba9b5e23bba04bc83bd6739bbbec4bf73ae5fd1b3d104bbdbc07b296bb8edbf3bb0530a53d3d91b33d3ead0abe322005be46616ebc78a60d3d3b61bdbbc45a35bcf2009b3bdde34abb5d48733b2fab95bbcd4983ba6d17443b475c913a3fffef3b8491ab3d1d2e04bee887af3ded560abe268c8a3ffb3f8a3ffb3f8a3f268c8a3fa4eac0b963f38eb62c473338edf3bd3978e6813cd74283bc864d3f3c357c43bcc6c12fbc4dcc8e3c885730bc28e26c3cc60c0dbb618c36ba295e613a10615c3bfe53f0b71a1156b8fbbb64b9282a68380c23cbbb0ed4073ceca8b2bbd74a9e3bdcbb413d80c70bbdc08fcb3b2a6b8dbcc710963d9965da3da4bc1ebe12ccfbbde2584cbc6836ff3c2ffb09ba7fe252bc08318f3b2f8cb1bbaad88e3ba13f6ebbed9476bb372d113cca77c3bb964f373c71d9a83dac7205be3fb0c13dbe070fbe98138b3f8c88893f8c88893f98138b3f209500ba3a0c7bb97993623a7f7c08ba7c18bebac39e1fbc56e7443c55bd75ba968163bc0b0d00bc74b16c3c23eaa83c589181bb3d687bbb6f7cb6b9264b053c8e35bcb92a9958b991c02039886d41b9af6696bbbd60413c5f6c11bc9cb60d3bf05e543dbf22d5bc0b2890bc97c9aabbb2c8e03dd726073ef59330be558228be85c78abc56f7033d012a043c298899bc5301d63be6272abb63f97d38583e85bb66d635bc1d6d723cb61226bc94bf983c715fdc3d7ffe26bec43a013e24be27beb4f18a3f3b00893f3b00893fb4f18a3ff118a8bac404a13ae24822bac924193ac469ca3b83de93bc1e649f3ce9e103bcb578d6bc0695453b007cb33bde17fd3c91d9d53a5f3812bcf539843bddfb573b04e7e1b9c18f333a32bd28baee13f7b8ff670bbcddbd533c3c0519bc4223c43ba747893d83e220bdd8df0dbc63f18abcd883c53d2c991b3eed7240bee27920bea38f27bce2fbb13c330e923c2647bcbc2d8d5a3b106f1ebbfd4a84ba486422ba2c5c20bcbd81653cd9382cbc6dcf913c245ac33dc1bf20beccd7053edda824bea40b8c3f98d9873f98d9873fa40b8c3faf6753bbf87f413b925fcfba596a0b3b3cc0c33c85610ebdb3f2063d5c84babcad7928bda2c7d63cc6e072bcc437293db612403ce4aa96bc2bba423c3bc887bb7d227cba53ab0a3bfae6acba2cac08b880d661bcde538e3c433180bcec896e3c88e2a13dacf855bdcdf8203c266311bd6bd29e3d29b6253eb83c4fbec9f009be47d222bbfcc47d3c5091e03c63d601bdf0f0ceba7ca009bb81ea29bb3c67853b9faa08bc8b5c3b3cff5c0bbc9057803cbee1b13d1bb018bec475013e45b41ebeac9c8c3fb95d873fb95d873fac9c8c3f3f57efba5a767e3ad4e3c7b9e4f0b83941ddb6ba9c2846bc12f8923c7c578ebbe9f9e9bc7728bdbcf847e43c152f1d3de6d5b8ba9ae71d39e5cbb4bbefadc53bdd03b63877ed7ebabac2fb380504ddb81b16b3bbac50453c745bdbbb72a9683a46947e3de44406bde16ee1bcf7484d38b40d013ea0c8393e1b6a53be8a0846be277674bcf99d2a3c1dc1033d3c00b6bcd427723be8750e3b2511d5bb85a1c6b89118b5bc054fee3c9afbcbbcf547013d9806f93d25af44be9a872d3e905a42beed228c3f1e10873f1e10873fed228c3f25eec0bbe41cc83b084880bb433f633b6163543ccfc3f3bcda6e073d376588bcf3b339bdfc4401bc92f9723c2b26553d04a4053c5e1e82bb2c4285bb04a46dbaf0b940ba32321a3acbeab9b79930ccb96cf715bcf366533cec9115bc37d2ef3bb6eab73defd652bdec395dbcbc8ad0bcbfdcb53d324b653e261a6fbe244a2fbe64ef903bd0e8afbc76005f3d5498f0bcfafb58bb6481c03b8da714bce082993b0f2d53bcfaeba53c2693a3bc1b64ca3c3615ac3d89182ebe5bbd2f3e0bc232be6bc78e3f235f843f235f843f6bc78e3ff7e297bc311a923c39e257bc33eb793c01d3763ddb4696bda911843dc9a658bd39c6a8bd2a5e143d261278bc28d2923dcdab903ca51f98bc5e9abe3bdb6688bbbc75063b0b4d8b3a7f66083a364a6fbb429983bbf8f7353c36b84fbc3d1c213cf723c73d4d8595bd46f4c43c916659bddf34433df11a853efd448fbe22c7f4bd4eb22a3d72873cbd55409d3d125979bd9cc175bc7e7b093c1a1424bc149b593cb59892bb7838653bcdc6a8bb44ab753c1713683d52cf02be2cf10f3e22c520be544e903f921f833f921f833f544e903f12822bbbb053763b04952ebbe6777b383aa7a4bb758b4abc10a4c53c3179c4bbde2115bdbb8618bdb4232a3d0940443df6052c3bd388823972b756bc7d5c193c476a82babcfa653a9bd0aa3afc3f1abb42647fbc39c2833c28d4adbb6dc3c43b5d76a83dde754abd1948f6bc907396bac270003e591e5f3e5cae6cbef4ee50be7fda87bcf02c78bb8fbf5b3d143de0bc3814313b13ca8b3bddeb65bc0e5eb83ba440f7bcbf632d3dc75a23bd1c4d323d1c89043e5bb559be8135503e92c859bedd918d3f286b853f286b853fdd918d3fcdbf85bccefea33c7bc664bc90e4203c4568aa3c253424bda92e2d3dc13ab5bc016d53bd263c83bc747ebc3c796d6b3d935d593cc6a9f23a6b446fbca47a8dba33ab19bb21df343a51e6f53a1454acba1396acbc642f8c3ca5a239bcedb4983c09b5fc3d7a41a8bd25abe13bf5c350bd96ff533d87fb913e178f8cbebec61bbec7a9af3c95b47fbde296b43dc5901abda14f35bcf6a8923ce1a5b6bc3faa483c2b5b31bc97d0db3ccde102bd503af83c3689893dafff2ebee0f64c3e616740be0cef913f9d15813f9d15813f0cef913f75ac39bd89f9563d787434bde9dc223d858ad03de295fcbddeebd43d7de1a4bdd012d3bd6504053d3f01133b2766913dee04b23c6f24353b560dc3bc6496563bc981163b7646bfbb48c11d3cf5a9d8bbfb2cb73bffb02dbc29e9c0baa87b673cbbb2123e7e60d6bd47228e3d4f91ffbde74764bd3a90d13efe9ecabec4de31bdf380be3dba250fbe3b410a3e02448fbd66a2b5bc1f5fc83c9e17acbc5b9e3a3c37f4ab3cd45309bcdb27c83b99c613bcc48033bd4b6784bd509d093e1f5ff1bd59d6983f500d763f500d763f59d6983f558d163aa9f071b96b66ae3884f511ba855ca93ac137a9bb40db903b8691b6b99408fa3a7ec9c03bfc9d1cb79d993d3b54e894bbdba9a43884b2453a02368e3bb59ca5b9e1a66fb9f5e9a1b86b76e239f15742ba7c5d923b4d8465bbae87a239a656083def4062bcea103fbc68aba2bb93a4a23d1e94a43d5d8003be90cf02be2e974ebc00ca043d0be4babbae0e38bc21a6843b5bf52438274ec53a45d49fbba51d2f3b8e1a1d3a30e5593bb7177f3b5a27a43df2b302be4503a73d62d604be858d8a3ff85c8a3ff85c8a3f858d8a3f980b7d39684413ba2b01873a39c33bba3140463b2015d7bbb13ca03b4b51babab2bc02bbc199fc3ba909ddbafd48eb3b9e228ebbf3b06bba8ccbd03a14018b3bbf68d1394b1269ba3f8caa39088f93b8faae12bb5e57ae3b89c692bb522c033b41711d3d2220b0bcbbc0d9bbfa94f1bb5fc6a53d3357b23d1d9d09be7ad505be1f8962bcc6890f3d9e08c3bb094c47bc897d833bda49d0ba2a0e3a3b22d091bb40b6d139ad8b353b04f1bf3a4f18c53b595cac3deb1805be1431ae3d147809be9a8e8a3fcd3d8a3fcd3d8a3f9a8e8a3f2511893a636e07babd07b739c1356cba4fcdee3b78f332bc63c3f43b3112a1bb375b1bbcaa85693c1ca08dbb82543d3c2c979fb9956b8bbb5eeb483b0180203b33ba95b908141e38a32062b85a4ead38a0fccebb5bf80e3cf62e90bbb6066e3be6e84e3d8c9218bd8958573b1c676fbc133da53d578ddf3dd3cb20be3c5905be20a649bc10d20a3d8ec158b9169a88bc820f893bbb7189bb6f661e3b40ea33bb579249bb830b153c57f2b5bb879b293c870db33d759307be4166c43d773014be332e8b3fd866893fd866893f332e8b3f4a687cb9d394b9b9812b1c3aa9dfb9b98fb0c6ba9c7b29bc8a094f3c9b8947baf8f477bc5fe0e0bb5fcb5d3c6efbb03cb2e358bbf28e8bbb79714f3ab91ade3b050600ba91ef0cbae122f738886e85397c8ca4bb9d3b403c05d111bc6a1b323be271673d41f3d6bcd0909abc65390dbcf66fd83d8dbe093e3af42fbe017027be350883bc71fbef3c7ed7173c00b091bc89b3d73b8aab17bbde7f4ab8662c89bb305f34bcfe28683c7d5e18bc5467963cea53d43dbd2628be0ec8043e2b7126bedc4d8b3fc6ab883fc6ab883fdc4d8b3fba849dbacf51a73af4e5b0b98e32153941f39e3bd37997bcf3769f3c28aec7bb0454d0bc81a41c3bf4a2d23b2ae8f33c5d1e0e3bd2c010bca1ad3c3b7bb76b3b0fe05fb9c9f23a3ab10513ba1cea03ba84321abc3fed633ca4812cbcca8ef63b9e3b9b3d3bed2cbdd22d19bc5f91bbbcc0cdb03d774d243e615541bea1961dbe20d7e2bb32af6a3c964aad3c6a40b1bc91dde23a5ea366ba2f10b1ba1337a1b9471d21bc4faa633c12653fbc60479e3cd851b43d287022befad60f3ebd0c26bedcf48c3fa6f3863fa6f3863fdcf48c3fd79b90bb8bc9983bf755c8badd1dae3ac939943cf067fdbccd8bca3c603d4bbc8aae13bdee918b3cd55324baa48c033dc3da1d3cd67280bc27d5bd3b0dfe7a39353e94b9a0e3d13a98162dba0fdb40bae7cd66bc94638c3c2ead85bc0aa5863c7057bb3da2f96dbd18d5443c36b73bbd1bfd933ddc3e353ef0dd58beb47609bec42eecb934ede63bc1b7103d710204bd1ae981bb6eec013abe3f8cbb1ba2a33be30e1ebc9cf2673c6ce147bca0b7983c2633ab3d683a21be1a6b113e822c23bebd6c8d3f4e78863f4e78863fbd6c8d3f0acdecba8636c03aee05e3b976ef07b9f83341bb55f45abc66c09a3cc3770ebb3592dfbcac23babc27ebdd3cc679193d9533d0b9a98c1d3a0e13c3bb2e1e9c3b66edd3b9d0b038babd1be539c1b8f5b860ddccbbdb7c5b3cb3390dbcceb71f3bd2de913de4dd11bdd1dbebbc85e0afbb08b6ef3d60f3413ee4db53befa9b44be0b3754bcb7e0043b4f15163d4d18a0bc6035443b9cfc3c3b508de4bbe8cbe7388927b5bcb40ee83cd942cbbc538e043d0127ea3df7d146be5354373e810643be87f48c3ffc40863ffc40863f87f48c3f43c8cdbb1baee43b4cd881bbb35e413b954bfd3b4ea800bde99a103d7a0d37bcd37b23bdc8c44bbc1b6a8a3cfe0d483d9bc1ee3b01d8403a5edbf2bb3efdf4bac8c81dba648c55ba56af883a070786b8c62d49bc959d7c3ca32545bc1a5a3d3cf9f4e53d66196abd694a96bcc0fc1dbdf0f5863d7a7d7a3e37136fbe7b4a2dbea81d3d3c56d927bd51a27e3dcabfbbbc40d8a2bbb0232b3cdc883cbc9b64643ba51d2cbc684fae3c6ac8c2bc397acf3ce93b863dd02332be13a6493ef3c936be3b35913fcefa813fcefa813f3b35913f19b39abc7a9b8c3cd4e11ebcd5ae423c46ae1b3d34ca6bbdd87b3a3d521bd0bc9bd865bd4550c43b743a813c6f59393db5f9153c2ab05dbbb6f01fbc829d2b3bfc73543b161152ba08eb043b3ddb81bb040216bc34d3943cf017b9bc2b5e9d3cb2b3093e30aeb9bdaf79e83cdd0ea1bdba3f993ca085973e65c092beafc0f5bddc32363d522c8cbd1d7caa3dc0093abd74f48abc58fd303cbd940fbcc555333cc07e05bb14e17e3a1c4ec3bbaf16833c814b043d188b07beffa7323eada026be0697933fd9867f3fd9867f3f0697933fc5d8edbaaa6f823b141511bbb8f9c9ba59d811bc5bc759bc5b2bd03c9ab809bbc54e10bd951b23bd1d602c3daf96473d4cc1903ba2f6843b297d85bcd82ad93bbe9289ba70a1fdb722bd213be57525bb060396bccddb943ccda6f9bbd4af193cee8fc83d3d945abd4df30abdf65f1dbc70bee43dc1d86e3ebf6f6ebecb2a51beae5848bce8eaa0bc36cd7f3d6c29c2bc4fd1a2b67561043ce60c8abcc247e43b2114f1bceeff2d3d7e362bbddc59363dc7c8ee3d59b95cbe90f4613ef4855bbeb5248f3fcedc833fcedc833fb5248f3f2a4d94bca8e4ad3c61334bbc053f0c3ccde0733c7e0838bd5edf383dc9be56bc740835bd5c20c9bcef10f63cd88e523d66722f3cdf23623c184dcfbc2200e6b954f995b9bddf72bb274ec93b07493cbbe328cbbc63aca73c088893bcd986dc3c99531e3e774db5bd266b66bab2098ebdb557a13cd197a23e5c678dbe81631bbe8a650b3db7aac6bd7c63d23d0387e2bcd10984bcae6adc3c84acd6bcceba313cd2e979bbd175c13c32d905bd352edd3c31fa093dab542ebec81f703ef41843beafd7953f3b837a3f3b837a3fafd7953fecb827bd11a0403d3b4605bd1140de3c450d863da57ebabd373c733d6cd2e5bc33e74fbd966ed4bc101a6d3dec18c03c8d54b2bba4082b3de5e94bbdffbd4c3ceb33e43b44e238bc2854153cab855ebb0722bfba81cecfba9a56b2bc47fb0e3d96854b3eae0c18be0d01cd3d520b2bbe3905dabdb8bef23e74e9cabe78217cbd3ec4cd3dedc42dbef3a6f03d5ab4cdbc255c8ebcfdc98b3c66f35abb7ee899bbb133d63ce36f8fbc17218c3cbaf490bca3fbb7bd35f11abdd8de203eb6eaf9bd49819f3fc6b0683fc6b0683f49819f3f6ca17a3aefa408b91acab9b88ff94cba359cad3af5d0b6bbe0d59c3b598283b9743c013b555bac3b57ec263ad35f3b3ba340a0bb9e9c23390fa6543a948b963b5649aeb93cd802ba68118e39b18eba398e2f41b7d1b0773bb3cd98bb2c89a03a1b92033dbcfd66bccd0337bc594d84bb48a1a23df968a43d7eab02be9f7203be240b38bcae10053d8c07cebbf04348bc0cd7743ba3a6d2362a2cd03ae10597bba4c82d3b38cd523aed4e9a3b80451b3b99ffa43d57d902be46a2a73d547405be3c9d8a3f304d8a3f304d8a3f3c9d8a3f9af3833a4bd420ba2a5b7f3aaecbc9baed42c33a175996bbf065463b5a79c5b8d8cb9dba3dbcf33ba1a4f1ba0054e03b665992bb21bc19bba967433b8d54953b0ee54a39fb7a44ba54fe053afd834cb95d4359ba1a79603b9ced4ebb6280993a68ba123dd3919bbc7a6a1abcbca399bb06b3a63db913b13dc49908bede2906be72bb4abc6dc90d3dd726e2bb9d134abc3818843b2a4953ba7e3e193b48799bbbda59d339c2cc123b2720283be109b63b89a4a53d26fd03be6208b03dbea308be80b28a3f9c228a3f9c228a3f80b28a3fe686113ba317e0ba19903e3accc2b3ba1a6c823b53d88dbb204837ba2a1486b994886ebb9eb20e3c2cd0f53a8b95c43b954ffaba25bebfbbbaa0a03b6c874e3ba887a5b81cc3cdb8ce855eb94ed61b3923b8edbb6359b83b516edd390d7e1f3bcad44a3da80a1abd2f1f72bbffd9d7bb325db13d3e61e43d883c1dbe9ea610bea37d67bc86b0133db4b8e1bac29582bc6e98a03b417174bbac6c203bef096fbb1fa8113b5235d03bed129cbb0035f23befe1b43dbffe06bec87cc43d843316be93fd8a3fe8a0893fe8a0893f93fd8a3f4fcb50bad041b5b8f2dd043a5ade91b7acbfd3ba3c173bbcb5a3573c2c7460381e0d77bc1d6fd9bb9bcc513c2c3cb43cf33b4fbb650058bb8daf13b98d63d53b1f8a14ba9c3843bae0181c3ac518ba380c7f51bb54794a3c8a022abc83c0e23ad8a46c3d4c83d2bc5e46a2bcb52e1ebc1039d33db87f0b3e17e52ebe0ea627bee40f80bcb5e6dd3c5cb6243cf4f685bc7c7ce23b450c41bb9e306c3961828bbb4a0747bcb27a5d3c36ed06bc11ce9d3c24afd03dc4ec28be140f083ef88927bebe938b3f226a883f226a883fbe938b3fc5a845ba705d853a46308d3485c10cbac744b53ad75690bc9099973c570d08bb58edb2bc85de793ae539f23bb16fda3c96d8613a12cde4bb6265ff3a6aef6d3b040eebb97259b63917f32fb9d1cf8ab9efa31fbc7172783cce844fbc58cb103c9cf2aa3dbf1528bdf7f161bc9785e4bc34b5a13d5c84283ecb4a3dbe11191ebe95dc8abbcbdd013cae62b23c12c593bcc2da0e3b2e0740ba4a9e8cba1255a7ba14ba1fbc97e6553c64332fbc87aa9f3cf67fa73d279025bee4c4193ecb5927bef1bf8d3fad34863fad34863ff1bf8d3f09308639f795ef3a10e536bae935ecbac8d01f3bc10077bcda58843ce1eb4cbba56ebfbccf4124bbc326493c278ddd3c9acd513bccb0fcbbe9bfe23975d2263b58dcf338cddb5e3ab457cdb9dbd802ba3f36a7bc554d983c5cbf3ebc318d8a3cb21be43dceff8dbd79141cba670733bd53d4603d48ab4d3e3f0a55bec6c112be8805953bbb141ebccc891a3d3103b8bccf8336bb5d6f293bafc983bb0ae7c53af8a0d0bb3b5f803c1c3c96bc370da83c0d668c3de76126be47642e3e547f2bbe7e8a8f3fac40843fac40843f7e8a8f3f73a501bbd359973a7a151f3919fa90b96cb17abb47bf62bcb7cb973c9acc25b97a51d7bc6042c4bc105be13cf41a183dd9b6ea3833a80e3bd359ddbbbd975d3b0ce908b979175cba93f6163a0789e8b9da71d8bb6d8d7f3c18c430bc127a3c3b7c08a03dc77e13bdfa43ffbcfd9721bc6e16e13de33c483ea9fb52bed26844be0f4440bcdf0e8bbbc41c243de9918ebc60ac2b3b3ffe523b9f2ef8bb0f3d1e3ac481b8bc2eade73c9398cdbc0f6b083d97d3e03d6e524abe5a93403e699f44beaab88d3fcb81853fcb81853faab88d3fa0dbc0bb86b5bc3bf1dc17bb2ecee33a6fdb27b961bef2bcf8f6073d3108efbabc06f3bc2b6099bc162da43c8bca2a3d67a87c3bbe9ff83b2ae735bcb9db24bb793e06396b822cbbd3eb1c3b3c6de9b7092e72bc5f04983c154381bc40df793cfca6083ecc6372bdb23bd9bc36114fbd6566393d1a80843e3e8a66beaf562fbe5ee5793cb64a75bd9ead893da0733bbccf12c0bb9b97673c0f8a57bc3424f33a53271bbcd1afb53c0d24d9bca5dfd83c2bbe443d7bc13abe5cb0653eaf4c39be7760933f48b07f3f48b07f3f7760933f4c4922bc98d32e3cae23b1bbe049743b3b29053b0cf8f6bc4db3fb3c3d744b39d64ac8bc3476f1bc1c59003deae40d3d90c7b739a0e68e3c241ea3bc6b6fe6ba85ff263b9044a7bb5e04853b87f7ccb9b831d2bc3b5edf3c30eacabc24d2f03ce1f6383eeacfddbddc4acc3b3939b0bd85b54bbc896ca93edeb886bea36516be60872d3dac7dc5bdeaf7a63da84953bc40d746bc9c7e783c67fb07bcae58b33a2dcde73bf129283b573e74bcffba6e3cf1f16c38bc4311bee3a8683e2e9731bec6f0973ffc6e763ffc6e763fc6f0973f2bcf1abb8dad523bae0c19bab76800bbdbc942bce4fe6ebc1fc8d43c0fba003b8ef508bdf5ae28bdfacf2a3d2b80473d84c2a23bb160de3be7618ebc80e0873bb619c8bacb305bbab89d523bbcc200bb6189a0bc65cfa63c783025bcb107373c21ede03da69856bd885824bdd22d89bcf4b3d13dd588783e31836dbef79b52be651725bc11adfabc28138b3da5c0a0bcb97263bac42c263c647d92bc5fced63bc8deefbc55042e3d5d2731bde3f53b3d7af3dc3d714362be58e3713ea8405dbed753903ff8b5823ff8b5823fd753903f613583bcf50e9e3cc0f0fcbb8c31483b4bcb413bf3ec36bd90c1393d73c2f4b9b655ffbcd2270ebdecb3073db4d83b3d1196b63b7c3ae73c9fdc06bd697b73bb09d5ab3a31f517bcbe501b3ce7b8c4ba0a95e7bc023db53c3f2abfbce9b50e3d55843b3e152ab7bd78cb84bc848da8bd955aaabb2ae0ac3eba3386bee21c26be972d203d9f7901becf9ee23dca3114bc37208ebc63410e3d33c5e8bc4d5eb93bfc07ddb80a68cf3c8e1d18bd6438d43ceda6c33b6daa38be26138c3e560245be6224993fc504743fc504743f6224993f210507bd2cd1143d02315fbc0c860b3cb15eb93c2eeb48bd1d00963cb20e7d3cd6fd2ebcccc59dbde17ea83d9b0f6b3c6dc9a7bc82d6a03d963d79bd07ac6bbbf2950d3c200996bc87c20f3c328a723b4c9180bcbcfe893c05a13abd7e78623d95ff783e728c3cbee3dfc63d32182ebe4a0e03befbaf013fc082b4be6444f5bd6009c13d952d46be3699cd3d52edc13c802360bc27254c3c1615ec3b1d275dbc7a32d23ca8c7b5bcf72f963c2bd369bc0812dabdcbe332bd12dc523e012417be2006a43f00165f3f00165f3f2006a43fe1886e3ac1bee9b9cbad0eb9ea2be1b974ee3439ee6a91bb44187f3b470a2c3a23d5153bf157b33b3815a1b9ca64573beb0c71bb41c612ba146ab23ae6366b3b4b891e38d9c2fab98e23353abbd3d3b9828efeb98db4853b47888dbbd96d853a58a2073dde4755bc4a3c3bbc13dbc2bb27bda33dcbd6a33dce9d02beb5a603beadf34fbcd6ee063d2a87c5bbaca53cbceef4613bac89cd39217d5b3a6b6182bbd4cc333b6e9b30b803a1a33bfa5f443b6920a23d748e01be95d6a33dd2b503bef09d8a3f91518a3f91518a3ff09d8a3ff33cc93a2e6903ba2ef6ee39ba16d6ba06f0de39852174bb22fc253b31672a3a6489943998d9c73b8bbb8aba9c1ec13be5cf85bb8fa3aebaf060743b98ce233b41c6053a80c1afba73b4123aadcddfb6411f9eba8a2f623bfdfc80bb71d0003bd962123d007685bc0fa954bc71af7ebbdb3fa53d9cfbae3d58d705be64dd06be7aad38bcaa000d3ddcab07bca78442bc6d58323b5f314abaf8ea1c3b3bf863bbe27e033a3bf93a397bc6b83bca8c973b58baa53df82e04be4625b03d8bff08be96bf8a3fc11f8a3fc11f8a3f96bf8a3f0c3e753b9a235dbad576e8b9968e37bbedfee9ba6059c13b14c8b6bb9e2b0f3a63d79cbb91be953b56e7bb3b67c6fa3b740d3dbade54e0bb7242a73b2b12233bc1a405b604c63cb9a75896b97cac8239c4acf6bbf55fb6ba624e1f3c27de73ba95f4353d98a301bdf75f5abc04f2cd3a09a8b83df534d33d366a14be625713befd765cbc9870123d44ac7dbb24e272bc770ffd3a8be790bb1c4a9b3b5c410bbb05351c3a7efcdc3b5a7ababb3dca323c108fb53d97c20cbec000cd3d7f3215be99f58a3fd6a7893fd6a7893f99f58a3f0a3917bacffbb2b9e9db0a3a6d7da2b8caae35bb8d563bbc0284613c844c4d3aa3505dbcdeaedbbb851d443cbf2bac3c138263bb26704dbbf385d9398215c93bbdd0e13890e3bdb9f97322b980b08bb9266f5ebb2f5b5e3c042038bc7c6cd33adc9a763d8bcec1bc04a2babc058c37bcc2f1cf3d27470b3e10ba2bbec77a28be707179bc4333d13c42e21c3c775271bc1bf4ab3ba9991fbbe047a63a0c1e84bb5c9d4abcc1dd493ce0a6fabb4282a53cf923cd3d12ae2abef7f30a3e3b6227be38da8b3fa124883fa124883f38da8b3f40023cb98f092038e1bb2a3a71997bba2ef389bb4fcc77bcd93a843cfbcc833b874981bc1c0d76bbc5b91a3c12b0bd3c4c04b0ba802390bb4817f93ac4094a3b21dcc8382fbb71b99ea22ab9cf9e79b9243cffbb5c197f3cd3536abcef7bfe3bc5f5b83d498c0fbdb3aab5bc3b5706bd1d34943d19762a3e20aa34be1f4d21be0336a9bbb20b183ba529ae3c396d31bc75b1093bef4f20ba8e6013b92fcf15bb0eb932bc3c0f3b3c67500abc87bca83c3537973dbbc62bbe55b0243e57d424befc8b8e3f8f71853f8f71853ffc8b8e3fc07eeb3b001b0bbbf84389bbc87417bb694595bc3cf6343bf3e8693c868d6d3b4a1e0bbca574ccbcbc2ba53c51f8db3cd0d6e0bae8b07c3bf6b285bbd7d168ba1d56053a63de71bafb5077b7ded72c3a1873e2bcd4177a3c8cd88a3b458d403cbbf60a3ed31c85bd430520bdc47113bd17bb1f3d7585613edba540be7e5d28be94a8dc3b45eff1bc5e9a133ddd9746bbf68a2cbbd2ebdf3be52767bba8865abb1089ffb94a85a13ce189fabcfedec23c27e9313d56c32dbe9238553eaedf31be9462923fad4e813fad4e813f9462923fad4afbbaa52c0f3a44fff739e148dcb87fb3acbb103251bc9715933c6524823a0065c8bcf5ecc8bcea60e23c2005123d2c3161397eb62e3b5aa3f0bbeeed573b2606a6b913d251bac5a6483aa034edb93810d7bb01988c3c02da45bc8d772e3b645aa83dc02011bdf34d0cbd4b6d3fbcec08da3d08414a3ea98950beba4945beb38b49bc139404bc0b1e2a3db08e68bcae20283b0bd3763bbe62fcbb41445b39c054bfbc0ec6e63c8db9d0bc46360e3de42eda3dc3904ebe72a8483ec27d45be902a8e3fb014853fb014853f902a8e3f2fdb8ebbbf46763b015fca3896470eba37da15bc0e61d9bc5b88eb3cf0c11d3c5ee596bc937dc8bc518eb93c1e64093d78dd593a77a9603c4a2260bcdb8d77bbc459093a85ad96bb9b456b3b1abb0f3a6a9c75bc3bf7ae3ccc649fbcb1f9853cc538163ed36b55bd331621bdfb0870bd7ff5063da29a863ee33f58bef46c35bed6c0523c7f9d95bd38958d3d02c1463b0a949fbb6da6883c089272bc04d60ab9e97d34bc0662c63c2507e9bc5ff7e73caf020f3dcf2248be2717803eee043abee50e953f256f7c3f256f7c3fe50e953fcfdf38bb9fe5b23b5c3a51bbb96eb8bac498d7bcfb308abcf8aaee3c1ff89b3cdfdc8b3bebdd3dbdda0be33cee60da3c81691dbc52a0053d592faabca73bfbbb3bee653bb15340bc77c5dc3bc2aa543b6e5912bd3a66da3c621f79bcab8bf93cd0c1583ec5e4bcbdddde3abd8eaea7bd70da15bdd51dab3ef52d5bbebc1433be1f5c203d89dff5bd1a509b3d026aa73c923c13bc5e3fdc3c278e6cbc5a8401bc6f7f4d3c895b7d3cb7b413bd4d65973ce28ee6bc0ade2bbe59dc943ef97c3cbe8db79b3f1fd66e3f1fd66e3f8db79b3f8862b8bab507143ba6011f3ad0fe56bb4b0284bce72e6bbc2e0ecf3cb6b8e33b8f6600bdb58b30bdbe702b3d1a75463d2a09bf3bd102203c9d3f9cbc40f4d43aaf66f3ba9ba2abba7f8f833ba7b2f6ba6075a0bccb58c13c258855bc4ccb323ce6a4f13d815351bdaadc38bde184b0bc3234c93d3e8d7e3e07ca6abe926157bedeaa3abc6e721abdc39f923df25e6cbc72d919ba4452313cb5729abcfea8d63b7639f2bc4e092d3d32d932bd2e07403d9905cd3dc83167beab8a7c3e48115bbe621d913f37f3813f37f3813f621d913f4e6066bc90534c3c09ad163bb93a42bbfd5d65bc76bc1dbdd2ec153d09b8a73c6f4079bc5e7431bd82fd123dea77143d6bd44c3ac359213dab3c12bd879d10bc4359053baf146ebc5b4b483cea59403ad9b1dcbcfa92d83c1f58fcbc20bd163d2f5e4f3e3cef9cbd72921dbd3c73bdbd2264b7bcd7afb03edd6b75bef16c34be1db3133d71ed1abe5bddee3d8885683c2ada7fbc37cb313d470a0bbd5f50593abb63c7baab71fe3c449335bd95e6ec3ccbc383bc701451be7d09a23ede7842be4bc09b3fb8ee6e3fb8ee6e3f4bc09b3f215c9ebc2988a13cbc260bbadc3b20bb3bc7a0bca188bbbc9779883c3f05073dbf66a23c2593b8bd88db703dadbec13cf142eebcc381c53d1ec458bdf448c7bcbbfe4b3c442c13bd955e853c74293a3cb3b801bd28cafa3cdd7a30bd0b465a3df100883ec3eb12bea40a1e3bff9a09beb40100be1c82ec3e9ff984bef5f42fbef6d2aa3d218566be0492e03d66b5673d104394bc4cd63c3d48c086bc17319cbcdfdfdf3cb9989bb95e66b2bc7041803be1e0dfbd077602be93cea53ea72f38bec397a53fcb755b3fcb755b3fc397a53f988a6e3a805b0eb9abbee9b9de85e1b9e5adffb9e50c8dbb934f853ba729853a03dd333ba1efa23b6489b8b74372443b755e82bb1ef3ca399fd25c3a25f2613b6cc9d3b9da8cf9b96b80343a25c01e38af88323981817e3bfb0691bb8b742b3afda8073d893e3bbc805d55bcd9f1c2bbaf21a23dcbc9a33d778801bef7b503be32b43cbcbbee063db145c5bb8bff4fbcc3316b3b861814ba191db33ab50571bb32e2153b63cb94b9908eb23bff73573b65bea33dee9602be69c8a33df0a603be159e8a3f70518a3f70518a3f159e8a3fbf4fc93a878dee397d9b03ba9c04d6bad0ed9cba1e7e81bb0107623bf169013be3b7043ac9a4b83b042237391ab7973b453964bb811749bafa181d3b0b16323bf922c4b639f4afbadba4123a3bfa053a5f12e439b6c3253b303075bbfb0f2d3a3379123d4c0555bc64a085bc923e7dbb01b8a53da228b03d0c2e04beeb0009bed3cc42bcd5160d3df97c07bc4ef638bc7975233b2deeadba69a7743b68fd85bbf43296399f088bba58cac73bd037c13b4b3da53d97d605beb9ffae3decde06beb8be8a3f93208a3f93208a3fb8be8a3fea75763be4aef2b9687461ba5f7036bbe5aff9bb8cfe213ca9b6b6ba07e385ba9730253a1c82bcbb312add3bf863333c3cc30abbd7d891bb74a19b3b530dfe3a84ec8239466b3cb938d896b9eae9c9b50a5bf7badb7eb7bb1cecc73bd8aee939a585363d77ee5cbc401c02bd4a71e03a5fb7b53d6dc6cc3df1c60cbe072015beb94f74bc72eb123d928d7abb78e95dbc165d233b735de0bb99e3a63b4b193cba20239cbb37dbbb3b17f2943bf384fb3badc9b83db46d14be2304d33deb4713be3bf08a3fbfac893fbfac893f3bf08a3fc13917ba03de0a3ad9fcb2b9cf82a2b8056f5ebbf21f38bc165b5e3c616cd33a4d9d4abc1ca8fabb40de493c4b82a53c001e84bb5d9a1fbbdd48a63a28f4ab3b7eb18bb9eedabdb9b48122b9b8cce138a2ae35bbd583613c69563bbc594c4d3add9a763d0fa2babc84cec1bc0d8c37bcf723cd3df1f30a3e0cae2abe3b6227be925271bc8133d13c08e21c3c8b7179bc9115c93b6f704dbb5086d939f68163bb93505dbcd31d443cbaafdbbbc82bac3cc0f1cf3d0fba2bbe26470b3ec77a28be38da8b3fa124883fa124883f38da8b3f890a3cb988bd2a3a34282038009b7bbab33bffbb67546abc8f197f3c6c7cfe3bf5b832bceb500abc7a0f3b3c9dbca83ca0cf15bb834c20bad95913b996b0093b5aa379b9b9ba71b9899d2ab94ddac838d8f289bbe53a843ca6cc77bc4ecd833bd7f5b83d38abb5bc618c0fbd045706bd3537973d5bb0243ec0c62bbe58d424bec76d31bc5b10183bb129ae3c7337a9bb91094a3bd82290bb0d15f93a5804b0ba6b4981bca2b91a3c490e76bb2fb0bd3c2434943d2caa34be22762a3e204d21befa8b8e3f9171853f9171853ffa8b8e3f1d7feb3b124489bbb21a0bbbda7417bb5474e2bc6ce48a3b9e167a3c528a403c4a6dffb91b8bfabca485a13c7fdfc23cf9855abb67eadf3ba42667bbe5892cbb08d82c3ad2de71ba4d6077b76c56053aa44695bcfbe6693c540e353b16846d3bebf60a3e070620bd221d85bd137113bdc2e9313d5138553e5dc32dbe80df31be3fa246bb96edf1bca59a133d03a4dc3bedca68bad6b07c3baeb385bba6d6e0ba841d0bbccb2ba53c4175ccbc94f8db3c93bb1f3defa540be4c85613e555d28be8b62923fb64e813fb64e813f8b62923f8051fbbaea02f839b22e0f3aebfadbb8e60fd7bbdad845bc6d978c3cf9762e3b9554bfbc51b9d0bc02c6e63c16360e3d87185b396ccf763b8760fcbbd522283b3539edb906d751babbaa483a4b00a6b947b1acbb4e15933cd13151bce21e823a565aa83d914d0cbdfb2011bd8e6d3fbce22eda3d46a8483e9f904ebeb97d45be298e68bcaa9304bcfb1d2a3d6b8c49bc58f1573b3cbf2e3b44a8f0bb360a6139d664c8bc7761e23c71edc8bc0105123d0509da3db58950be07414a3eba4945be902a8e3fb114853fb114853f902a8e3f70da8ebbed4bca38ce45763b5f470ebaa19c75bc76649fbc0df7ae3ca5f9853c0a7e34bc6a07e9bc6762c63c50f7e73c3de20ab960a6883cee9172bcb0939fbb5bb80f3a0aad96bb15456b3bd65a093a57da15bc2a88eb3cae60d9bcb1c11d3cbb38163e351621bdda6b55bdca0870bdc2020f3d2717803ecb2248bef8043abe05c2463b859d95bd30958d3d0ec1523c478c77bb52a9603c652260bc4adb593a5fe596bc7a8eb93c9f7dc8bc1164093d95f5063dec3f58bea59a863ef66c35bee50e953f256f7c3f256f7c3fe50e953fd4df38bb5d3a51bba0e5b23bb06eb8ba6e5912bd661f79bc3c66da3cab8bf93c6c7f4d3cb8b413bd8c5b7d3c4e65973c588401bc5e3fdc3c278e6cbc953c13bcc1aa543bb15340bc76c5dc3b3bee653bc498d7bcf7aaee3cfa308abc1ff89b3ccfc1583edfde3abdc4e4bcbd8eaea7bde38ee6bc59dc943e0ade2bbef87c3cbe026aa73c89dff5bd1a509b3d1f5c203dac3bfbbb54a0053d5c2faabc7f691dbcd9dc8b3bd90be33cebdd3dbdef60da3c70da15bdf62d5bbed61dab3ebc1433be8db79b3f1fd66e3f1fd66e3f8db79b3fbc63b8ba67fb1e3ab309143bcbfe56bb5075a0bcc78755bc9258c13c46cb323c6e39f2bc17d932bd34092d3d2907403df5a8d63b5552313cb9729abcf4d919ba4ab2f6ba539fabbab98e833b6967f3ba3b0284bc860ecf3c962f6bbc7cb8e33be2a4f13db5dc38bd6c5351bde884b0bc9805cd3da78a7c3ec53167be48115bbede5e6cbc5f721abdba9f923de2aa3abc29f4d43a8102203c7c3f9cbc5709bf3b8b6600bdad702b3dad8b30bd2175463d3634c93dfcc96abe338d7e3e946157be621d913f37f3813f37f3813f621d913f336066bcf6ad163b55534c3c2a3b42bbe5b1dcbc1258fcbcee92d83c26bd163df065c7ba309335bd7e71fe3cb6e6ec3c0750593a22cb313d2f0a0bbd2fda7fbc225a403ab9146ebc684b483c1559053b295e65bcc3ec153d5ebc1dbd00b8a73c2c5e4f3e51921dbd49ef9cbd3b73bdbdf0c383bc7f09a23e731451beda7842bea985683c76ed1abe69ddee3d0fb3133d619d10bcc459213db03c12bdb4d34c3a874079bc77fd123d5f7431bdfa77143d2464b7bce16b75bed7afb03eee6c34be4bc09b3fb8ee6e3fb8ee6e3f4bc09b3fbf5b9ebc681c0bbad287a13cb93e20bb8eb801bdd67a30bdfdc9fa3cfa455a3de5dfdf3c2f66b2bcefa29bb93b41803b40319cbc4fd63c3d21c086bc264394bc1c293a3c4f2c13bdb75e853cf4fe4b3c84c7a0bc3479883c5788bbbc7505073ded00883e47091e3bbceb12befa9a09bee9e0dfbd90cea53e017602bea42f38be8fb5673d1b8566beef91e03dedd2aa3dad48c7bcbc81c53d2ac458bdec42eebcfc66a23cb1db703d2c93b8bd23bec13cad0100be9af984be1882ec3efdf42fbec397a53fcb755b3fcb755b3fc397a53f19a37a3abccbb9b893a808b91bfa4cba9eb042b74dcd98bbf3b1773b4888a03a2dc92d3bc34e9a3b84cb523aba451b3bb60597bb43e9d136782bd03a71d7743b3b8bba3909d702ba4d148e393a4baeb96a98ad3a3ed59c3bd4d0b6bb036b83b94092033d800337bcddfd66bcdd4e84bb9cffa43d42a2a73d58d902be527405be194448bcb410053d4b07cebb350b38bc278c963bec9c2339e4a3543af240a0bb763c013b4cee263a755bac3b135f3b3b56a1a23d80ab02bef168a43d9f7203be3b9d8a3f314d8a3f314d8a3f3b9d8a3f39ef833a13647f3a65ce20ba80cec9ba4c2859ba53f54ebbde75603bcb88993abf20d339b926283bdcd2123b4307b63b797a9bbbda3f53ba1141193bf316843b55834cb94f7b44ba29fc053a10ed4a395247c33aa763463bd05896bbc68fc5b860ba123d196b1abc7e919bbcb7a399bba0a4a53d4e08b03d20fd03bec5a308be7d134abc47c90d3d3026e2bb48bb4abcc851953b0cb519bbcb6b433b135c92bb3db89dbacfbaf1ba30b9f33ba257e03b03b3a63dd79908bebe13b13dcd2906be7eb28a3f9e228a3f9e228a3f7eb28a3f4c87113b36e53d3af3c1dfbadac3b3ba22b6edbbc8d1df39e730b83bc57e1f3b2cc7113b851d9cbbde3ed03b4426f23b45096fbbf15b74bb5753203b4f9aa03b68db1b392ec4cdb8d3955eb98f71a5b8b469823bd47936ba1df08dbb3b0c86b997d94a3df66b72bb63061abd2afcd7bbfedfb43d357ec43d45ff06bebe3216be639182bcd5a9133d87fbe0ba2a8367bc0b684e3b76b4bfbb299fa03b7d31fabab3616ebb55b6f53aeab40e3c0484c43bcc5cb13d653d1dbe3b63e43d8da610be95fd8a3fe6a0893fe6a0893f95fd8a3f3fcb50baa2dc043af037b5b81bdc91b7087f51bb81022abc4a794a3c8ac0e23a490747bc23ed06bc9f7a5d3c12ce9d3c5e828bbb3d0c41bbb22f6c397e7ce23b0619ba38193943ba53191c3a168a14baa6bfd3bac6a3573c4d173bbcc4746038d8a46c3d5446a2bc5683d2bcb52e1ebc24afd03d170f083ec7ec28bef88927bef4f685bcb9e6dd3c54b6243ce40f80bc8f63d53bdb0058bb83a813b9ee3b4fbb1d0d77bcc5cc513c726fd9bb2d3cb43c1039d33d15e52ebeb57f0b3e0ea627bebe938b3f226a883f226a883fbe938b3faaa645baf8aa9e34ef5e853a70c80cbad2a41fbc92844fbc4072783c27cc103c16b91fbca9332fbc53e6553c51aa9f3cf952a7bab70e40ba99a08cbad1dc0e3b7cc88ab92e66b639a50e30b9f014ebb9f644b53a9099973cf65690bc8b0c08bba6f2aa3d2df261bcd31528bd7485e4bcfd7fa73de9c4193e2a9025bed35927be49c593bccdde013c7362b23cbedc8abb53ec6d3b13cee4bbf86bff3a68df613aacedb2bcef39f23bb6db793a1f70da3c3eb5a13da84a3dbe5184283e30191ebef2bf8d3fac34863fac34863ff2bf8d3f242d86391de636ba2996ef3a1c35ecba2236a7bcdebf3ebc494d983c648d8a3caba0d0bb023c96bc2c5f803c210da83ca1e6c53a0670293b77c983bbb18436bba0d802ba84dc5e3aa759cdb9c9dbf33820d01f3bed58843c490077bc72ed4cbbb61be43db8141cbad4ff8dbd630733bdfa658c3d5b642e3ee06126be667f2bbebd02b8bc85141ebc6b891a3d3d06953bcfd0263b17b2fcbb7ed6e23901cf513b826ebfbce026493c684424bb4b8ddd3c54d4603d2c0a55be45ab4d3ed7c112be808a8f3faa40843faa40843f808a8f3fb5a001bb662a1f390953973a3d0d91b9ec73d8bbb8c530bc588f7f3cc57c3c3b7e81b8bcce98cdbc31ade73c086b083d6a3e1e3ab202533b1a31f8bb60ac2b3b8a84e8b941155cbad6f8163a3d0409b9aab97abb30cc973c8ebf62bc567f25b98708a03daf44ffbc8f7e13bdba9721bc93d3e03d7693403e82524abe6e9f44beeb918ebc2c0f8bbbc01c243dc84340bc56965d3bffa00e3bf655ddbb1dd3ea38f950d7bc3c5ae13cbc41c4bcd21a183d6916e13d8dfb52bed53c483edf6844beabb88d3fca81853fca81853fabb88d3f00dcc0bb79dd17bb49b5bc3be1d1e33a7e2d72bc574381bc5204983c57df793c83271bbc9823d9bca2afb53c6fdfd83cd72cf33aa296673cef8a57bcfb10c0bb2854eab7a8812cbb6aed1c3b26330639e2f127b9ecf6073ddcbef2bccdfbeeba0aa7083e973bd9bc886372bdc4114fbd15be443d5cb0653e86c13abe9d4c39bead733bbcce4a75bdb2ad893d2ae5793c63de24bbeea0f83b38e635bc90a47c3ba206f3bcff2ca43c1c6099bc7fca2a3d2d66393d378a66be1e80843eb2562fbe7860933f46b07f3f46b07f3f7860933f4c4922bcae23b1bb98d32e3ce049743bb831d2bc30eacabc3b5edf3c24d2f03c2dcde73b573e74bcf129283bffba6e3cae58b33a9c7e783c67fb07bc40d746bc87f7ccb99044a7bb5e04853b85ff263b3b29053b4db3fb3c0cf8f6bc3d744b39e1f6383edc4acc3beacfddbd3939b0bdf1f16c38e3a8683ebc4311be2e9731bea84953bcac7dc5bdeaf7a63d60872d3d6b6fe6baa0e68e3c241ea3bc90c7b739d64ac8bc1c59003d3476f1bceae40d3d85b54bbcdeb886be896ca93ea36516bec6f0973ffc6e763ffc6e763fc6f0973f81ce1abbce0519ba57ab523bbc6800bb7289a0bcda3025bca2cfa63cb607373ccfdeefbc792731bd70042e3de8f53b3d6cced63bbd2c263c667d92bc477263baedc200bb96375bba509f523bf418c8baffc942bcbcc7d43c1ffe6ebc93ba003b27ede03d7c5824bdbe9856bdc92d89bc7bf3dc3d5de3713e764362bea9405dbeb1c0a0bc32adfabc33138b3d621725bc83e0873b5161de3b07628ebc54c2a23b93f508bd0dd02a3dfdae28bd2280473defb3d13d3d836dbee288783ef59b52bed753903ff8b5823ff8b5823fd753903f623583bc3ef1fcbb190f9e3c7f31483b1595e7bc412abfbc0a3db53cebb50e3d30f6dcb8941d18bd0668cf3c6a38d43c8f5eb93b65410e3d39c5e8bc4b208ebc11b9c4ba10f517bc93501b3cafd5ab3a1bcb413ba6c1393d11ed36bdb2b8f4b955843b3ec5cb84bc062ab7bd7e8da8bd76a7c33b27138c3e6faa38be5c0245befd3114bc9b7901bec99ee23da32d203d907c73bb493ae73c80dc06bd6296b63bbd55ffbcebb3073dcd270ebdb6d83b3de25aaabbb93386be2ae0ac3ee41c26be6124993fc504743fc504743f6124993f4f0507bd9e315fbc5ed1143d82860b3c7b9180bceaa03abdaefe893c7578623dad32d23c2230963cf2c7b5bc2ed369bc83265dbc38254c3cc313ec3b312360bc488b723b3e0996bc98c20f3cf0950d3c0d5fb93cbf00963c72eb48bdaf0d7d3c9cff783ef4dfc63d7d8c3cbe33182ebe0712dabd0cdc523eb4e332bdff2317be39edc13c932d46be2f99cd3d6709c13dd0b06bbb83d6a03d4b3d79bdbec9a7bcc9fd2ebcd37ea83dd5c59dbdb5106b3c510e03bec182b4befdaf013f6944f5bd2106a43fff155f3fff155f3f2106a43fc48f163a67b3ae38a91872b909f811bacf5942ba278665bb675e923b678ba239721e2f3b5ce8593bff0d1d3aec167f3ba3d49fbbd93b24381954c53a81a6843b6576e23920a76fb9a7eaa1b8c09ca5b9a15ba93a5dda903bdc36a9bbe88db6b9ad56083d7c103fbc624162bca2aba2bb5527a43d3203a73de8b302be60d604beac0e38bc01ca043d13e4babb2f974ebc4f368e3b0df6a43882a9453a9de894bbb308fa3a50611cb752c9c03b87993d3b92a4a23d5f8003be2294a43d90cf02be858d8a3ff85c8a3ff85c8a3f858d8a3f63247d39f9fd863ad94b13bab5bb3bba14b612bb7ac292bbf158ae3b0728033b28f2d139ffe1bf3a2787353b361ac53b78cf91bbd44bd0ba0f0d3a3b2d7e833b1c9593b8331169baf190aa393c64d139853e463b973da03bda14d7bb1552baba54711d3db8bfd9bb5520b0bcbb95f1bb435cac3d2831ae3de91805be137809bec34b47bcce890f3d5b09c3bb288962bca9038b3bdccc6bba2ebfd03af51e8ebbcbc502bb00f5dcba0a9cfc3bcb45eb3b7ec6a53d139d09be4957b23d9ed505be9e8e8a3fca3d8a3fca3d8a3f9e8e8a3f45ff883a9a76b739c9e707ba1ad46bbadbd4cebba06390bb5ef60e3c5d216e3b5eb649bb1bf8b5bb2415153c559e293ccd1f34bbc07789bb5ad61e3b4afb883b1ab0ad385e871d382df362b821a995b9d4c7ee3b8fb2f43b0ce432bcfa19a1bb41e54e3dafcc573bf19418bdbf6a6fbc7d0db33da764c43d359207bedc3014be0e9988bc4ad50a3d5a0b61b9429549bc54c5203b99558bbb3971483b09799fb981671bbc5d858dbb0092693cab483d3c963ca53d43ca20beaf89df3dbe5805be4c2e8b3fbe66893fbe66893f4c2e8b3ffb637cb9b42b1c3a9491b9b976e5b9b9108da4bb10d111bc273c403cb91a323bc55e34bc205e18bc3828683c5267963c7e2c89bb15ac17bb0d0d4ab81eb3d73bef6f8539dbec0cba78f6f638640400bab8b1c6bad9094f3cf27b29bc798547ba0e72673d98909abcadf3d6bcba390dbcdf53d43d09c8043eb02628be2b7126bee3af91bc26fbef3c48d7173cf10783bc4619de3b168f8bbbd87c4f3a64e358bbaef477bc68ca5d3ca6dfe0bb93fbb03cdb6fd83d31f42fbe8ebe093eff6f27bedc4d8b3fc6ab883fc6ab883fdc4d8b3f02789dba46c3b0b90d46a73affe21439e3321abc41832cbc06ef633c608ff63b221f21bcd0643fbc67aa633c0b489e3cd130a1b9fd8d66baf014b1bad5d4e23acdeb03ba31ec3a3a9e0013baf6d35fb9f6f29e3b06779f3c787997bc09b0c7bb743b9b3ded2e19bc22ed2cbd5090bbbc3852b43d1dd70f3e4f7022bee90c26be6741b1bc49ac6a3ca24bad3cfad0e2bb9cb36b3b58c110bca5b03c3b85210e3b8455d0bc22a0d23ba8ab1c3b70e9f33cabcdb03d7a5541be7f4d243e83961dbedbf48c3fa8f3863fa8f3863fdbf48c3f7a9c90bbe356c8bac6c9983b6a20ae3a31cd66bc0dad85bc73638c3cafa4863c160f1ebc7ee147bcaff2673cbab7983c0fa2a33b49ec013ab93f8cbb0ee981bba4d940bae2e3d13a1a172dba0a4194b9bf39943cc98bca3cec67fdbc4c3d4bbc9657bb3d88d5443cbef96dbd83b73bbd0e33ab3d156b113e633a21be762c23be7e0204bd0dede63bc5b7103d1928ecb986077b39cf7280bc0cd5bd3b9cda1d3c57ae13bd2f4f24bac9918b3c708c033df2fc933df8dd58bee33e353e9f7609bebd6c8d3f4e78863f4e78863fbd6c8d3f72cfecba5413e3b9f63bc03a20f107b9b7dbccbb33390dbc187c5b3cc4b51f3b0228b5bcd642cbbcc10ee83c898e043dc218e838e1fb3c3b078de4bb1233443b65b8f5b846ad38ba370ee53927e6d3b9563041bb32c09a3c42f45abcb9790ebbd8de913df1dbebbcdcdd11bda7e0afbb0927ea3d6954373e0cd246be880643be9218a0bcdddf043b6015163d953654bc2c1d9c3ba8821d3a9f11c3bb9225d0b9e592dfbc6bebdd3cda23babc0e7a193df2b5ef3df8db53be72f3413eed9b44be87f48c3ffc40863ffc40863f87f48c3fb3c7cdbb07d881bbbbade43bb95d413bd22d49bcae2545bc8d9e7c3c39593d3cb41d2cbc70c8c2bc1d4fae3c997acf3c6d60643ba9242b3c64883cbc4ed9a2bb53a785b89e9255ba4aaf883adccd1dbaa34cfd3bc19a103dbda700bdab0f37bc09f5e53d9f4a96bcb1196abd7afc1dbde23b863d1da6493ed22332bef7c936bec9bfbbbc4bd927bd4aa27e3d9a1d3d3c5af7f4ba27be403a17dbf2bb4fc3ee3bc77b23bdfe698a3cadc44bbcf80d483d0ff6863d45136fbe797d7a3e7b4a2dbe3a35913fcffa813fcffa813f3a35913f34b39abcafe11ebc719b8c3cf0ae423c600116bc3a18b9bc6fd3943ced5d9d3c277f05bb4e4dc3bb53db7e3abb16833c0b56333c04fd303c67940fbc9df48abc68db81bbe10e52ba81ea043b4f74543b5cae1b3df97b3a3d55ca6bbd781bd0bcaeb3093eac79e83c2daeb9bdd80ea1bdcf4b043df3a7323e098b07bec5a026bec9093abd4c2c8cbd127caa3def32363de19c2b3b83af5dbbecf01fbcf4f9153c8cd865bda73a813c7b4fc43b6259393dac40993c70c092beac85973eeec0f5bd0697933fd9867f3fd9867f3f0697933fefcfedba6f0b11bb9d6c823b3309caba320296bcf3a4f9bba5db943c68ad193c2415f1bc18372bbd5e002e3d835a363dc346e43ba561043c4b0d8abcfb7298b6865f25bbe14cf2b77aa5213b5ebd89baf2d811bc8929d03c06c559bc2bb109bb6b8fc83d75f40abd26935abd7d5b1dbca7c8ee3d9af4613e5ab95cbeeb855bbeab28c2bc24eaa0bcfbcc7f3d2c5b48bca91ed93b8eeb843b677a85bca2cd903ba44f10bdb55f2c3d011b23bd6097473d8dbee43db56f6ebeb9d86e3ed82a51beb6248f3fcddc833fcddc833fb6248f3f274d94bc5b334bbca6e4ad3cfe3e0c3c2c29cbbc3d8893bc94aca73c2387dc3c20e979bb1fd905bdd175c13c162edd3cc4bb313c046bdc3cd9acd6bc4d0a84bcca4a3cbb7ce172bb914ec93b9fe995b9a0e0733c57df383d750838bd9dbe56bca7531e3e956066ba8a4db5bdd0098ebd44fa093dc91f703eb0542ebef81843bea287e2bcd5aac6bd9563d23ddc650b3d96f2e5b96124623c2a4dcfbce4712f3c590835bd0911f63c8820c9bcbf8e523d8957a13c5e678dbed497a23e7b631bbeafd7953f3c837a3f3c837a3fafd7953fc7b827bd024605bdc99f403df23fde3c1525bfbae156b2bc05c8cfba4efb0e3d7233d63ca8208c3c686f8fbc93f490bc5ce999bbd8c98b3c76f15abb1b5c8ebcbd835ebb85e138bc3d53153c5133e43b3b0d863df03b733d877ebabd28d2e5bc93854b3efe00cd3da90c18be4d0b2bbe90fbb7bde6de203e86f11abdbdeaf9bd6cb4cdbcffc42dbe12a7f03d4dc4cd3d85be4c3cd8082b3d21ea4bbde054b2bb68e74fbd031a6d3d216ed4bcd018c03c2805dabd6ae9cabeafbef23ea1217cbd49819f3fc6b0683fc6b0683f49819f3fb42dd0394afd103acda643ba3d27b2b9938849b902d98cbb3513963baebcf1394729383b100b4f3bf975a83a42ee513b8685b0bb3f8786395bcbe73affc1843b15af2b383cfc34baf9809c395de811392a12db3a74a6773bd64ba0bb899d6fb9c31b093de11427bcf1f66ebc6d18bfbb3ccfa33d235ca83debab03bee24804be4f922bbc2da5013d4632abbbe50757bc0df0a03b20f0523a0d30ecb937b997bb476fb33a409c933711cfb83b452c733b7517a23df80503be11c5a63dbd3104be7da38a3fc6438a3fc6438a3f7da38a3f43d555b70a7ddc390c0b01bae1285238a55e23bbcd739bbb964bc83b4e4cf73a994983ba7e5d913af416443b5effef3b3bab95bb2ae44abb7248733bdc009b3b95a606baf69b69b9732f44396868c339df4e933b6dadbe3be43befbba8ed3fbbe6fd1b3dfdb196bb0d4bbdbc90dbf3bb8191ab3de487af3d1c2e04beee560abec25a35bc79a60d3d4c61bdbb44616ebc5540dd3b9089583968482eba0c9ebabb2c78cbbacb1181b92aa4c93bd0aed13b0130a53d3aad0abe3591b33d302005be258c8a3ffb3f8a3ffb3f8a3f258c8a3fdbe1c0b944e8363883ee9ab6fcaabd39403dcbbb87aab2bbaced073c70369e3b578276bb8e68c3bb4c1d113cc752373c51156ebb0b9ab1bb7abb8e3b3e448f3b5a2c6738853e55b8288d64b9cc40f1b7fbe7813c7b433f3c6e4283bc907643bc1ebd413d785bcb3b85c60bbd1c638dbcbcd9a83dbfafc13d817205bed0070fbedce852bc6e40ff3cd0e609bab2664cbcd13d5c3bcd2637ba6007633a0e290dbbb0b62fbc257630bcedcf8e3c05ed6c3c0310963ddcbd1ebec468da3d00ccfbbd7f138b3fa688893fa688893f7f138b3ff19500bac394623adc177bb90d7a08ba156696bb4f6c11bc2f60413c3db70d3bd3d635bc291326bcf96d723c96bf983c4a3e85bbea272abbeca87d38cd01d63bbb7141b9cba958b91edd20396038bcb97717bebae6e6443c4e9e1fbc1ac175bac15e543d622890bc3622d5bccfc8aabb7d5fdc3dcb3a013e8ffe26be23be27be3f8899bc8ff7033df029043cd4c78abcf44b053cda667bbbb29cb6b99e9181bbda8163bc9bb26c3c940d00bcf9e9a83ccec8e03dff9330bed726073e588228beb4f18a3f3c00893f3c00893fb4f18a3fab33a8ba277422ba671aa13a625a193a3e670bbc260419bcd6bc533c7821c43bd15b20bc25392cbcec81653c5ecf913c556322ba58701ebbfc4884baaa8d5a3bd50af7b83392333afabf28ba84e7e1b96372ca3b2a669f3cdce093bc5be503bc0048893df9db0dbc10e320bdaff38abce959c33db3d7053ea8bf20bebea824bee946bcbcf1fbb13c220e923c689027bc0803583b8e3712bce337843b13cdd53a5477d6bccd7cb33b0592453bb116fd3cb983c53df57240be32991b3ed07920bea40b8c3f97d9873f97d9873fa40b8c3f906553bb3a5dcfba8e7e413b4e680b3b55d561bcac3080bc3a538e3ccd886e3c3daa08bcb55c0bbc625c3b3c5757803c5066853ba9a209bbf4e829bbc7ecceba0fd308b814ab0a3b56e6acba2c207cba84bdc33c6cf1063d56600ebd9081babc1ee2a13d95f6203c0ef855bd5a6211bdcde1b13dc275013e1db018be4bb41ebeead501bd6fc67d3c8490e03c8dd922bbfdc487bb12aa96bcb6b8423c0711403c707828bd17dc72bc76c5d63c7e36293d7fd29e3dba3c4fbe2eb6253ed4f009beac9c8c3fb95d873fb95d873fac9c8c3f2851efba5be2c7b9e0757e3a10d8b8395b16b3bb565bdbbbbe50453c8aa7683a4619b5bcb9fbcbbc0b4fee3c6548013dd861c6b81a760e3b2c11d5bb8f25723b3312ddb81dee7eba22c8fb38de10b638d0deb6ba09f8923c8a2846bc18578ebbf5937e3df76ee1bcdd4406bda7aa4e38b306f93d9c872d3e26af44be9e5a42be2900b6bc039e2a3c1ec1033d627674bc22afc53b3aec1d39d3cbb4bbf3dbb8ba65f9e9bc0348e43c8528bdbcda2e1d3dc00d013e1a6a53bea0c8393e980846beed228c3f1e10873f1e10873fed228c3f2beec0bb2a4980bbf21dc83ba33f633b32f815bc669115bcb066533c0fd3ef3b6a2c53bc2c93a3bcefeba53ce063ca3c0d83993b8b80c03b32a714bce2fb58bbec34ccb968381a3aeef6bab7c6b540baeb62543c386f073d7ec4f3bc126588bc9ceab73d4f3a5dbcc7d652bd698ad0bc4815ac3d52bd2f3e82182ebe12c232be6498f0bc9fe8afbc71005f3de0ee903bdba66dba1a1d82bbec4385bb65a4053c16b439bd7ff8723cea4301bc5126553dcfdcb53d0b1a6fbe124b653e254a2fbe6bc78e3f245f843f245f843f6bc78e3f4ee397bcdbe257bc901a923ccbeb793c329683bbacb64fbc75f6353cbf1a213cef9892bbcec7a8bbef39653b59ab753ce19b593c267c093caf1424bc53c275bcab4b6fbb3b4a8b3aeb6a083a3b77063b23d3763d9911843dd14696bde6a658bd3624c73d7cf4c43c5d8595bd0c6759bdc512683d36f10f3e60cf02be08c520be615979bdac873cbd77409d3d91b22a3dc06888bbdd1f98bcb39bbe3b28ac903c69c6a8bda71378bc9e5e143d4fd2923df134433def448fbee01a853e20c7f4bd534e903f921f833f921f833f534e903f7c862bbb779e2ebbc259763be15b7d380e667fbc48d6adbb72c2833c96c8c43b903ff7bc285a23bd47632d3d704c323d7f5fb83b14ca8b3b4deb65bc300e313b41571abb569c653ad101ab3ae33d82ba09a6a4bbe2a5c53cd78d4abcd37cc4bbe176a83dbd45f6bcfb764abdec9796ba2889043e7335503e57b559be97c859be033ee0bcac3478bbe2bf5b3d0ad987bcb062193c5f3a8339f3bc56bcc2ec2b3bfc2015bd1f242a3d518718bd553f443db070003e64ae6cbe611e5f3ee6ee50bedc918d3f296b853f296b853fdc918d3fd6bf85bca0c664bcb2fea33cd3e4203cd195acbc1fa239bc562f8c3ca2b4983c0d5b31bcede102bd81d0db3c583af83c0ba9483cd7a8923c93a5b6bca24e35bcd64eacba5fe1343a0ae5f53a4cad19bb9768aa3caa2e2d3d123424bd213bb5bce5b4fc3df4a9e13b6b41a8bdbdc350bd2089893de8f64c3eadff2ebe576740be4f901abd7ab47fbdcf96b43df5a8af3ced808dba16a8f23a5b446fbc415e593c156d53bd497ebc3c123c83bc9b6d6b3da1ff533d138f8cbe83fb913ec2c61bbe0cef913f9d15813f9d15813f0cef913f84ac39bd877434bd9ff9563deddc223d632db73b66e9c0ba32b12dbcc27b673c49f4ab3c3428c83b0d5409bcacc613bc839e3a3c235fc83cb317acbc63a2b5bc8caad8bbd546bfbbacc11d3cde81163b828ad03ddeebd43dde95fcbd80e1a4bdbdb2123e52228e3d8660d6bd5791ffbdcc8033bd4c9d093e436784bd1b5ff1bd08448fbdba250fbe3e410a3ef080be3dad96563b2125353b6c0dc3bce504b23cc012d3bdf001133b3d04053d2a66913d0a4864bd099fcabe4390d13e93de31bd58d6983f510d763f510d763f58d6983f5a1010ba61a10eb93c8ae13902035a39ae43663970cf8ebb7c9e9d3b270104b934dbd13aa2665e3b95d61e3b5d474b3bfdf0acbb189075b61610c73a61f9913b14325e3a528c88bafdde82b9db398239fdc42f3b2ef2b03bd769cbbb5d98d0ba67f0053d19eb25bc385879bc5c0a95bbe133a73d5c3ba93d8b6504bee86e05becf6135bcdee1073d4cb9b1bbec8363bc2ca5b93b7b30163aed180f39c730c0bb6499493ba85bda3994a79c3b85631f3bd4fba43d684905be48eea63d7d7703be78848a3f0c5f8a3f0c5f8a3f78848a3f6656b9399af8a239465c79b8f3202fba2d7a85bb0beaa7bb5fe0ce3b46326d3b877e4db9ec222bba04c1b53ba4acb93bf5989abb048e4bbbb5214f3bb9b9ae3b6753bdb9ab35c2b9dbda7839ee2192393d0d9c3b72490d3cd09511bc2eeb8ebb585d1c3d68a0a2bba4a0b3bc619508bc6af7aa3d200cae3d409f06be264406be782916bcd9fb0c3d9f8196bb2f098ebc27b2d93b7ff13d3b51d522bb7af0d1bb614bba38f3dd6339337b9f3b516bab3b47f2a23d18fa09be3033b13db88e03beb97f8a3f78468a3f78468a3fb97f8a3fc33c0d38fc0c8638dba2fdb8d20b9f3701dee2bb68f6dcbbbcff103c823abd3b24139ebb4cdad1bbea4d2a3c18ac2f3cac9370bb63dac3bb9194713b9cb0be3bacec2639260bc8390b84dfb9d8d9a9b9a9ce8e3c2f5b8a3c966493bc6edf89bc1a75403d10aecf3b95540cbd5e7885bc6d78a73d9340b73d8b2d05be410008be527b26bc06aa093de3b1e3ba2b2889bc7cc24e3b41d9c03a9a84a5b7368e49bb0ad553bc521b34bc31d6883ca25f863c843d9a3d177619be87eacb3d9274fcbd38c98a3f69e0893f69e0893f38c98a3ff67abcb7b08afd39f2c91cba27f49ab9a8b881bbc139f5bbd857333c2c7c6d3a985e38bc4fe622bc393e723c8b39973c54e58cbb896a6abb0d648b3ad623e23b8941a1382079463912fdc5b99d22e0b997ae0fbb4f6d3d3c54c210bcff722bba1e5f463dd70896bc739cc9bc09970bbb4f01e23d4927fb3d08de25be59c227be5bcc93bc9152123daa79a73ba2cb97bcceef063c3a645bbb3ebf923991efaabb966c55bc7f4f7d3cd71317bc71a9a43ce311e93d87ab2ebed185033eacf02abe64b18a3f9a3d893f9a3d893f64b18a3fbae55cba55bc97b91e19413a330f9b397843e5bb5634d0bb3da7243ce3807b3b42822abc275032bcc9ae723c0f92913c965e7eba53f766bb54c0643977d1773b705c32b9f9dc1b3a52a531ba55373db99d289c3b375f903cf81e74bccb7801bc4e5b683d2e1838bcd33f07bdad971abc18b6d23d4190f93d509420be75cc22bed31abdbcd45aef3c3679583ce88f62bca6ffaf3b7a44e0bbb0161d3b795554baa7feb5bc620cea3be5eba8b8f02ae83c68ead63d29083bbe0c8a103ee9bb23be12238b3fd2bc883fd2bc883f12238b3fe668d6bab97569ba97f0c13a57a2993a783029bca79a35bcfe2c513c746a283c4cc80abc23b8f7bb9dad403c9d2e613cca83d63a937771bb815256ba92e5c53a0baac739d16fe53a5476a0ba197f98baf9a6c13c6e770b3d30c007bd6217cebc23cb893dd4908a3bacb232bd2b0acebca689ba3d8933e83da55d15bee16c18bea1e8e5bc0895b73c36519b3c50b9c2bb3317cfbbc44589bcd558723c7318253c0eaa25bd1bebb1bc1a7ce13ce4d73a3d3349ae3d853241be5b40143e38ec0ebe87778b3fd098883fd098883f87778b3f0b02d3bab90bfdb95ec0773af0359239d8337fbbe64f96bb6e601d3ca7f330ba13e4b9bc027ec8bc039ff33c1ab3fd3c13fa86ba8ecad139006ea7bbe00aab3b26ced2b96ba60bba5c76b7b7fcc6ef3878de8bb96dea823c71f925bc27a2babb5210543d8395dcbcc0e7efbc7d0ae63bbd54053ed109233ec28243bebaa041bec6d5c0bc008aa33c6ae9da3c3d2e96bcfbdf073c217206b95b97b2bbf76659bb574ae3bc714ff33cdfa8c6bc0c71173d58b10a3ee0a150be812a2f3e05d847be47288b3f7007883f7007883f47288b3f3ca571bb61c63bbb63d97a3b67111f3bb2bccdbb2a17a9bb163e173cbb23593b2ae47cbc36dc94bcb505af3c17e5c53c0dbc883b6456b73a5024cfbb07e7adb9eb195aba59e5a63a96491eba4048f9b9548f433c9fa4ea3c69e7c1bcb8c191bccd6b873dedcf74bccc532dbdfd9903bcc0b4d13df60b1a3e59452cbe92b930be6252f9bc28e3c53934e6293d982cadbb6876363b546baebbef3833bb88199b3bc9a932bdbac7823c98d015bc6814503d578ee63d8cfb65beb9cc4b3ee66b37beb19b8c3f2a89863f2a89863fb19b8c3f1c4054bc3ff623bc603a5a3c85e8313ccd5634bb538ddfbb7f35c43b2640c63bc769e2bb0268cdbb87fc0b3c0d045b3cfdd41f3c76d0733bbd3df4bb8d6002bc26d7e0ba75f2013bfbfc3cba0e45fb367371853dd0dd8e3d230b9cbd8e417dbd18ce923dbaa26d3c3a6d5abd027b0ebde3b69e3dac77f33d7ed60bbe214715be4f926bbd3544b3bc2794843db664bf3cff3578bc06a9e9bc9e54983c8834dd3c22b6cabd2fba1fbd876e663d7321be3da02da33d002485be3ae55f3e690606beb0cb8c3f8aa3863f8aa3863fb0cb8c3fce93bdba90b62dbb8cbc2d3ba3811d39d13847bc435f63bbf0f4693cf28b073b0ff503bd68641bbdc61d2e3d3708323d5e917e3bfa3e4c3a638330bc2e6eaa3be84e17bb3a9cbe3acf7fce3990114fba73e881bbb6d8ab3c2f5816bca20af8bb1aa2863dbc81dfbc78fb38bd59a7113c4e8b123efcd13e3e9c2757be35b358be8a85eabc6745483c446d333db36db8bc3e4d433cd62dc3ba79113cbcd6de013a01dd15bdd84b2b3d1cd413bd4b1a3f3d4b1a123e5eb168be2e7c4d3ec5b054beb1ee8b3f930c873f930c873fb1ee8b3fb1e331bcac6134bc62785f3c7fdcfa3b034384bc4da6b0bbf8a8623c65b1223cb69796bc4a7901bd0993fc3c63d70a3d30ad1d3c3e83023c0c8579bc2f1888bba98a6fbacca8ee3a7dcf24b93b6d04bb7f7aa43ce23e173d145bfdbcdef8d6bca0b8ba3dd406a63bce9c8fbdbe05e0bccbdfc83dfb9b2e3e632932be1d363dbe6db81cbdb8a2d3bc9ede873d69be8d3baa50103b7f9ff6ba3d5a22bc2158173cdf1851bdb944b13ccb0474bca9aa6b3dff2eba3dc55884bed7667a3ee0302abebe4a8e3f8ba9843f8ba9843fbe4a8e3f4f0032bd30b33abd0a034b3d4bb1323d148e7d3aeee7533b595a91bb16a2a53bdf83143cb68b84bb561a023b218c813b5fb29a3c062bb83c8950d6bc5c40a2bcdc1c9fb916cc2d3ba6229f3ac8dbb7bb0fcbf63dd9ef043e687209bed499f5bd1434db3d9632483d80c8b7bd1d96a0bd8432cc3c5c77fb3d18b8d3bd40aa08be4a98babdaa34d0bdbbf4033ecebe9c3d51ecf0bcaeca1abd23cfac3c48f7543dfc9c19be57358cbd4eabb33d5e580b3edcacb9bb3233b9be5466af3e85da74bd38b5913f21d6813f21d6813f38b5913f5e7037b73d8facb909b5133982f358375c4861ba5d3f89bb8f1a8f3b0377b03a2055633abd42a73a1898873b5b4b873b6f0883bba76501bb2b24f83a91f0993b387b1639d6ef91b93daaf138d03a04b924661e3b0373bb3bbd5dddbb906b8dba1ce50b3d99931fbc923f7bbcadfecbbb1b5ca93dfd98ab3dfb5306beeab305beb48e2dbced6f0c3dfbaed9bbbc6f67bcde23c83b1786bb3a52fd56ba22c5cbbb656b1e3b2dfb083bd4a38c3b5ac10c3b0cd0a73dfc6e05be809ca73da0f604be51508a3f99848a3f99848a3f51508a3fb5d368b8d9ae603827b864b596afc0b8021f80bbd563b0bbb555c83b9255743b83a7ccba64f78bbae33bdf3b180ac73beb62aebbd46486bb0941613b99b6d83b168846388ce4f4b9c00a2339ab32e03843619e3b6e211f3c5c820ebc1a19b1bbd3ab193d3e8404bcda34a1bcfe37d5bb0941b13df0c8b03d962e08be32f208be41a201bc929d143d6ce9c4bb0f039bbc568df93b9028a53bd88891bb586bfabb6a06c73a74b948394acf893b155a913bdf52ab3d5ead09be26eeae3d562d07beda498a3f06738a3f06738a3fda498a3f0f3cc3391cf05bb804fd95b8e499bfb9f19bfebbb259f1bb8bab063c4c8afc3b1356d4bb417cb4bb5066273cb32b2d3c2ebb87bb0b27bbbb8361893b95bdbd3b31a44839519b263959a325b91790cab9d7788e3ce399823c90bc7dbc55b290bc1229233d2415893bbe18e7bca0c145bc54f9a83db9beac3db9a102beb50d05be2ce112bbbf1d0f3db7c9c7bba6cab4bc0943e93bf49b043ccbebeebba97bd4bbbe14babbaa008fbb32ff073cf074263c1cf2a63dfd4013be09eec13df5f505be179e8a3ffd088a3ffd088a3f179e8a3fa34770b9f2080e3a8c7193b97283e8b9aaa65dbbb353c9bbd995133c345d3f3ab28445bc082f21bc0bd5853ce5fc8f3c631793bb7beb82bb6db0813ab6a5fa3bc67fd9b8ea34623817b8c1b9d4e2b3b8ffdf35bb5f5a1b3c5acfdcbb9aa3a2b81be9343d322597bce3c8bbbcfa49553a9479eb3d45b0f23de71e27bee2bb26be647297bcfd57223d91f37b3b5172acbc98031a3cca722ebbbe5960ba346ac4bbf6cb40bce85f903c066230bc3d61963cd1bdf33d70462ebee33ffe3d65462cbe18278a3fe0c2893fe0c2893f18278a3f27c59bb96ebe973519708239986370b962f8a5bb0c0094bb0a6beb3ba04f2c3b4a9230bc92e327bc9ef17e3c147b873c2df1f7bab58591bbf4b8b03a36899f3b97bd8eb90e24ce3934373eba4d685e39adb2953a31c5523cd53129bc008580bb90753f3d105272bc1e4dd3bc57081abb16c9dd3d2b8de93da80a20bea39a20bedaafa1bc44d21c3dcf1fb93b1a5f9fbcaea7153ccf9b65bbebd099b9aa0dafbbd0cb74bc9725663c32c0e7bb2ae3ac3ca54cee3d255134be8a14053e4fab2abe9a568a3f8089893f8089893f9a568a3f15201eb9845362392aed27b9ec91eeb750e1cebb7ff8babb782ef53b703cb13b57b1dfbb158fe0bb9ae6203cba9d3a3cb33efcba3bf193bb5e77493b5a355b3bac82b23932ea403a29f56bba9b6be9b9a4d15f3c7381b33c1d14a8bc4bd375bc76b3513d602d8dbbd23afebc4f973ebc998cc03d6e13ce3d1f0110be645412be24b797bce14d0e3db549a13b6a8178bca8be6c3a18fc01bc1b58e23b6e54f43a2aa0bfbc71ea03bc7ff5513c51d8f03ce703ca3decff2dbe10bbfa3dbb9419bee2828a3fd594893fd594893fe2828a3f33b756ba8fc52cb97ef2733990d4dbb868fe4fbb0f2951bbf018053cfb57d8ba41b0b7bcc6fbc2bcc333f33cf479f63cd46b0fbbf362a0ba588868bbf0f5dc3b5ad534b9d4af26bac763023821e934b8e3f71fbae70e543cde81f1bb0a7aaebbbb2e293deef9ccbc4dded7bc13a35a3cea800e3ef063173e7fbf40be09bb41be93d6ccbc5078fd3c6fbfa53c8e7fb6bcb01c383c7866a0b9d325cbbb7974aabba5f2d7bc0939043de762cabca216093d13fb153e32924dbe1a58223eb22949be43228a3fe00b893fe00b893f43228a3f7c4fc6ba876903bbd0e00a3b69f67f3a358088bbc281bcbaae94c83ba4282ab9226784bc356c89bcd590b03c86cfbd3c5fa2083bd009e7bad5902fbbede4033b673cb5ba3209e23955f706ba5eb7723a03dfd03bb028a03c18dc63bc81b255bc385c353d880e9fbc6890fabcb7e6053c2b5df03d6e91073ec11e2cbe17482dbea516d5bc9f54b33c6db9d03ceb798bbcfe011f3c517a1dba7605d4bb683362bb830c05bd2884cd3c1c1d95bcbb7b233d2ad00e3ea9e455be3c632d3ec2b144be8c878a3f39a0883f39a0883f8c878a3fe4799fbb326997bbe185b53b1a8b8e3b36ce85ba6c8049baa119e03a2e5e743a791203bce4b0f5bb2e9c293c85f54a3c48b1583b41c807393549c5bae9640dbb4eb1bbbaa4b5a9b7faedeeb828c7b03a20bf2a3d87ed493d6de94fbdc4b230bdb2753a3d64a76ebbe8c607bd0ed0f2bbe846c23db13ada3d4b0310beb67c14be63bd23bdbed9573b9252143d33b8ce3be847d1bbe98685bc09c5593c6a762f3c88db88bd969bd5bcb6200f3dbf83903dd96eda3d5c625ebeb718303ef06e1fbe63a98a3f52d4883f52d4883f63a98a3f730711ba3e0023bb9057f33a46a4c6b77f44f2bbba9522b9c17e273c986a27bb45ae0dbd129114bd58eb313d484b313d42662d3b390f6dbb3c82e8bb75d6fa3b6a830ebb05c2003aa5b0abb800d10d3a9f9948bb62f68f3cdfd5b9bb294a12bcd1d6433d3c27debc80451dbddb66a93cfb621f3ec0962e3eddef55beda5e56be3109e4bc8607ef3c9f89073d7401fbbc7fac633ce8fdacbaeb392ebc2a4d12bb367214bd6c25323dd73516bdfc54393de937253ef50b62be81553a3e5b255bbe215b8a3fa6a0883fa6a0883f215b8a3fd8eb9bbbccd9c6bb02bace3b5cc4673b066518bc07047fb9787a163cc970b63ad8bfc2bc7caaedbc0726093de84c0d3da17f7c3babc4edbab626dabb01808d3bc0741dbb825f0b3aecd09139c9a58539bdab5d3c28eadb3cf28f95bc6b52babc045f5d3d09dffcbb580847bde70d4e3bd46bfb3d49c8133efd4134becd8038be240edfbc371f4f3c54461b3d337aa1bcfc674e3c384b673b9f436bbc465116bbedb326bd2b59003d742ec8bc8fc2413d0969103ef3296bbe4ddf463ef24c47be14f08a3fdef9873fdef9873f14f08a3fb4eef0bcd933fabcf852043db00efe3c2a8b63bbf1bf1ab94ee6553b68d8013b38c4a7bb122815bc46c9403c0e974e3cb2e81a3c8f96013c892247bcb830d5bbb687f53a66d4583bd7af12bb95d989bb0547d93d19cbea3d1b36eabd8527e8bd7175993d08b7ea3c1b3c94bd967611bd4776ae3d6344dd3d06080abebebd12bee78a92bd20fc2abdd4b7ab3d806a173d323b22bdee403ebd7797233d7b984d3ddfca19bea900b8bd618aca3deeb51a3e71b3623d41a198be27b6843efc29d6bd63888b3fb7b2873fb7b2873f63888b3f diff --git a/shaders/ravu/ravu-lite-ar-r4.glsl b/shaders/ravu/ravu-lite-ar-r4.glsl new file mode 100644 index 0000000..ab7ab3a --- /dev/null +++ b/shaders/ravu/ravu-lite-ar-r4.glsl @@ -0,0 +1,298 @@ +// +// 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 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 . + +//!DESC RAVU-Lite-AR (step1, r4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND ravu_lite_lut4 +//!SAVE ravu_lite_int +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < HOOKED.h OUTPUT.h / 0.833333 < * +//!COMPONENTS 4 +vec4 hook() { +float luma0 = HOOKED_texOff(vec2(-3.0, -3.0)).x; +float luma1 = HOOKED_texOff(vec2(-3.0, -2.0)).x; +float luma2 = HOOKED_texOff(vec2(-3.0, -1.0)).x; +float luma3 = HOOKED_texOff(vec2(-3.0, 0.0)).x; +float luma4 = HOOKED_texOff(vec2(-3.0, 1.0)).x; +float luma5 = HOOKED_texOff(vec2(-3.0, 2.0)).x; +float luma6 = HOOKED_texOff(vec2(-3.0, 3.0)).x; +float luma7 = HOOKED_texOff(vec2(-2.0, -3.0)).x; +float luma8 = HOOKED_texOff(vec2(-2.0, -2.0)).x; +float luma9 = HOOKED_texOff(vec2(-2.0, -1.0)).x; +float luma10 = HOOKED_texOff(vec2(-2.0, 0.0)).x; +float luma11 = HOOKED_texOff(vec2(-2.0, 1.0)).x; +float luma12 = HOOKED_texOff(vec2(-2.0, 2.0)).x; +float luma13 = HOOKED_texOff(vec2(-2.0, 3.0)).x; +float luma14 = HOOKED_texOff(vec2(-1.0, -3.0)).x; +float luma15 = HOOKED_texOff(vec2(-1.0, -2.0)).x; +float luma16 = HOOKED_texOff(vec2(-1.0, -1.0)).x; +float luma17 = HOOKED_texOff(vec2(-1.0, 0.0)).x; +float luma18 = HOOKED_texOff(vec2(-1.0, 1.0)).x; +float luma19 = HOOKED_texOff(vec2(-1.0, 2.0)).x; +float luma20 = HOOKED_texOff(vec2(-1.0, 3.0)).x; +float luma21 = HOOKED_texOff(vec2(0.0, -3.0)).x; +float luma22 = HOOKED_texOff(vec2(0.0, -2.0)).x; +float luma23 = HOOKED_texOff(vec2(0.0, -1.0)).x; +float luma24 = HOOKED_texOff(vec2(0.0, 0.0)).x; +float luma25 = HOOKED_texOff(vec2(0.0, 1.0)).x; +float luma26 = HOOKED_texOff(vec2(0.0, 2.0)).x; +float luma27 = HOOKED_texOff(vec2(0.0, 3.0)).x; +float luma28 = HOOKED_texOff(vec2(1.0, -3.0)).x; +float luma29 = HOOKED_texOff(vec2(1.0, -2.0)).x; +float luma30 = HOOKED_texOff(vec2(1.0, -1.0)).x; +float luma31 = HOOKED_texOff(vec2(1.0, 0.0)).x; +float luma32 = HOOKED_texOff(vec2(1.0, 1.0)).x; +float luma33 = HOOKED_texOff(vec2(1.0, 2.0)).x; +float luma34 = HOOKED_texOff(vec2(1.0, 3.0)).x; +float luma35 = HOOKED_texOff(vec2(2.0, -3.0)).x; +float luma36 = HOOKED_texOff(vec2(2.0, -2.0)).x; +float luma37 = HOOKED_texOff(vec2(2.0, -1.0)).x; +float luma38 = HOOKED_texOff(vec2(2.0, 0.0)).x; +float luma39 = HOOKED_texOff(vec2(2.0, 1.0)).x; +float luma40 = HOOKED_texOff(vec2(2.0, 2.0)).x; +float luma41 = HOOKED_texOff(vec2(2.0, 3.0)).x; +float luma42 = HOOKED_texOff(vec2(3.0, -3.0)).x; +float luma43 = HOOKED_texOff(vec2(3.0, -2.0)).x; +float luma44 = HOOKED_texOff(vec2(3.0, -1.0)).x; +float luma45 = HOOKED_texOff(vec2(3.0, 0.0)).x; +float luma46 = HOOKED_texOff(vec2(3.0, 1.0)).x; +float luma47 = HOOKED_texOff(vec2(3.0, 2.0)).x; +float luma48 = HOOKED_texOff(vec2(3.0, 3.0)).x; +vec3 abd = vec3(0.0); +float gx, gy; +gx = (luma15-luma1)/2.0; +gy = (luma9-luma7)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.02324683987829437; +gx = (luma16-luma2)/2.0; +gy = (luma10-luma8)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.033823952439922346; +gx = (luma17-luma3)/2.0; +gy = (luma11-luma9)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.038327559383903906; +gx = (luma18-luma4)/2.0; +gy = (luma12-luma10)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.033823952439922346; +gx = (luma19-luma5)/2.0; +gy = (luma13-luma11)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.02324683987829437; +gx = (luma22-luma8)/2.0; +gy = (luma16-luma14)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.033823952439922346; +gx = (luma23-luma9)/2.0; +gy = (luma17-luma15)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04921356040854137; +gx = (luma24-luma10)/2.0; +gy = (luma18-luma16)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.055766269846849466; +gx = (luma25-luma11)/2.0; +gy = (luma19-luma17)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04921356040854137; +gx = (luma26-luma12)/2.0; +gy = (luma20-luma18)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.033823952439922346; +gx = (luma29-luma15)/2.0; +gy = (luma23-luma21)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.038327559383903906; +gx = (luma30-luma16)/2.0; +gy = (luma24-luma22)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.055766269846849466; +gx = (luma31-luma17)/2.0; +gy = (luma25-luma23)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06319146241026467; +gx = (luma32-luma18)/2.0; +gy = (luma26-luma24)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.055766269846849466; +gx = (luma33-luma19)/2.0; +gy = (luma27-luma25)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.038327559383903906; +gx = (luma36-luma22)/2.0; +gy = (luma30-luma28)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.033823952439922346; +gx = (luma37-luma23)/2.0; +gy = (luma31-luma29)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04921356040854137; +gx = (luma38-luma24)/2.0; +gy = (luma32-luma30)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.055766269846849466; +gx = (luma39-luma25)/2.0; +gy = (luma33-luma31)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04921356040854137; +gx = (luma40-luma26)/2.0; +gy = (luma34-luma32)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.033823952439922346; +gx = (luma43-luma29)/2.0; +gy = (luma37-luma35)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.02324683987829437; +gx = (luma44-luma30)/2.0; +gy = (luma38-luma36)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.033823952439922346; +gx = (luma45-luma31)/2.0; +gy = (luma39-luma37)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.038327559383903906; +gx = (luma46-luma32)/2.0; +gy = (luma40-luma38)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.033823952439922346; +gx = (luma47-luma33)/2.0; +gy = (luma41-luma39)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.02324683987829437; +float a = abd.x, b = abd.y, d = abd.z; +float T = a + d, D = a * d - b * b; +float delta = sqrt(max(T * T / 4.0 - D, 0.0)); +float L1 = T / 2.0 + delta, L2 = T / 2.0 - delta; +float sqrtL1 = sqrt(L1), sqrtL2 = sqrt(L2); +float theta = mix(mod(atan(L1 - a, b) + 3.141592653589793, 3.141592653589793), 0.0, abs(b) < 1.192092896e-7); +float lambda = sqrtL1; +float mu = mix((sqrtL1 - sqrtL2) / (sqrtL1 + sqrtL2), 0.0, sqrtL1 + sqrtL2 < 1.192092896e-7); +float angle = floor(theta * 24.0 / 3.141592653589793); +float strength = mix(mix(0.0, 1.0, lambda >= 0.004), mix(2.0, 3.0, lambda >= 0.05), lambda >= 0.016); +float coherence = mix(mix(0.0, 1.0, mu >= 0.25), 2.0, mu >= 0.5); +float coord_y = ((angle * 4.0 + strength) * 3.0 + coherence + 0.5) / 288.0; +vec4 res = vec4(0.0), w; +vec4 lo = vec4(0.0), hi = vec4(0.0), lo2 = vec4(0.0), hi2 = vec4(0.0), wg, cg4, cg4_1; +w = texture(ravu_lite_lut4, vec2(0.02, coord_y)); +res += luma0 * w + luma48 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.06, coord_y)); +res += luma1 * w + luma47 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.1, coord_y)); +res += luma2 * w + luma46 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.14, coord_y)); +res += luma3 * w + luma45 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.18, coord_y)); +res += luma4 * w + luma44 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.22, coord_y)); +res += luma5 * w + luma43 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.26, coord_y)); +res += luma6 * w + luma42 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.3, coord_y)); +res += luma7 * w + luma41 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.34, coord_y)); +res += luma8 * w + luma40 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.38, coord_y)); +res += luma9 * w + luma39 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.42, coord_y)); +wg = max(vec4(0.0), w); +res += luma10 * w + luma38 * w.wzyx; +cg4 = vec4(0.1 + luma10, 1.1 - luma10, 0.1 + luma38, 1.1 - luma38); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut4, vec2(0.46, coord_y)); +res += luma11 * w + luma37 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.5, coord_y)); +res += luma12 * w + luma36 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.54, coord_y)); +res += luma13 * w + luma35 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.58, coord_y)); +res += luma14 * w + luma34 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.62, coord_y)); +res += luma15 * w + luma33 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.66, coord_y)); +wg = max(vec4(0.0), w); +res += luma16 * w + luma32 * w.wzyx; +cg4 = vec4(0.1 + luma16, 1.1 - luma16, 0.1 + luma32, 1.1 - luma32); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut4, vec2(0.7, coord_y)); +wg = max(vec4(0.0), w); +res += luma17 * w + luma31 * w.wzyx; +cg4 = vec4(0.1 + luma17, 1.1 - luma17, 0.1 + luma31, 1.1 - luma31); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut4, vec2(0.74, coord_y)); +wg = max(vec4(0.0), w); +res += luma18 * w + luma30 * w.wzyx; +cg4 = vec4(0.1 + luma18, 1.1 - luma18, 0.1 + luma30, 1.1 - luma30); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut4, vec2(0.78, coord_y)); +res += luma19 * w + luma29 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.82, coord_y)); +res += luma20 * w + luma28 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.86, coord_y)); +res += luma21 * w + luma27 * w.wzyx; +w = texture(ravu_lite_lut4, vec2(0.9, coord_y)); +wg = max(vec4(0.0), w); +res += luma22 * w + luma26 * w.wzyx; +cg4 = vec4(0.1 + luma22, 1.1 - luma22, 0.1 + luma26, 1.1 - luma26); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut4, vec2(0.94, coord_y)); +wg = max(vec4(0.0), w); +res += luma23 * w + luma25 * w.wzyx; +cg4 = vec4(0.1 + luma23, 1.1 - luma23, 0.1 + luma25, 1.1 - luma25); +cg4_1 = cg4; +cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4;cg4 *= cg4; +hi += cg4.x * wg + cg4.z * wg.wzyx; +lo += cg4.y * wg + cg4.w * wg.wzyx; +cg4 *= cg4_1; +hi2 += cg4.x * wg + cg4.z * wg.wzyx; +lo2 += cg4.y * wg + cg4.w * wg.wzyx; +w = texture(ravu_lite_lut4, vec2(0.98, coord_y)); +wg = max(vec4(0.0), w); +res += luma24 * w; +vec2 cg2 = vec2(0.1 + luma24, 1.1 - luma24); +vec2 cg2_1 = cg2; +cg2 *= cg2;cg2 *= cg2;cg2 *= cg2;cg2 *= cg2;cg2 *= cg2; +hi += cg2.x * wg; +lo += cg2.y * wg; +cg2 *= cg2_1; +hi2 += cg2.x * wg; +lo2 += cg2.y * wg; +lo = 1.1 - lo2 / lo; +hi = hi2 / hi - 0.1; +res = mix(res, clamp(res, lo, hi), 0.800000); +return res; +} +//!DESC RAVU-Lite-AR (step2, r4) +//!HOOK LUMA +//!BIND HOOKED +//!BIND ravu_lite_int +//!WIDTH 2 HOOKED.w * +//!HEIGHT 2 HOOKED.h * +//!WHEN HOOKED.w OUTPUT.w / 0.833333 < HOOKED.h OUTPUT.h / 0.833333 < * +//!COMPONENTS 1 +vec4 hook() { + vec2 dir = fract(HOOKED_pos * HOOKED_size) - 0.5; + int idx = int(dir.x > 0.0) * 2 + int(dir.y > 0.0); + return vec4(ravu_lite_int_texOff(-dir)[idx], 0.0, 0.0, 0.0); +} +//!TEXTURE ravu_lite_lut4 +//!SIZE 25 288 +//!FORMAT rgba16f +//!FILTER NEAREST +cdd62e37a650b737dd8719b950a8d038d9d96c39bbdc73bafb218d3ad9d79fb95340343ae847f4b99d82a739465c3cbaa8950cbae80da6b9031f4e393097ca39a6660dba43f5453ae07d30bad92c9739ede35fba28a8c2393f0a68b934474c3a05420ab82f19183630e50839a60dd2b8b6ac35394a30273a9ba72cba84c30ab80a59c93a684edeb86f99f5b8b5d887ba3a7f6d397fd63ebba945253b628d633a4d86873b7abe803b80fab83ae447943ae2a33bbbb06a823963e2323a6ce62c3b94e797b80077c53a5cb68cbad42f88b8af334f3a2d613d398aabe3b8e83745ba3344a03a331b3b3a88de74ba3a8a94bacb1d8e3a17c9373baab65bbbdfaaec3890ccff3c64552ebc183348bca30cc3bb2b819a3d84459a3db42dfdbdd1a0fcbdd6172dbcce6cff3c0379c0bb81ae49bc9d8c353bfbfd9d3a0a7178b848105bbbee67413a6265a63a55629dbaaf1778ba3ae50db993168139f162d8b97eb5e4b72e56983be64a5e3ab7aa933bbfe6053addc9993d2f3ffcbdd31b993d072afcbd397e8a3fbc8a8a3fbc8a8a3f397e8a3f6fdc0b3812cb0e39ad3277b8cd9905b96880cbb9642dfc39e4701cb9d3eeb33851d9003bd1096bba8ac8253a10a206bb296de7b99462b5b60aaeaeb9fcb63fb9883df5b9ab10f53a65160fbb9aead83962bb19b9092cc4b93155ee391e29a2384a388a3960eec7380eeedab818528db936fd00bb618ca0baccf97b3a2273163b9ce631bba6435aba809fc23a51ad2a3b025ed2baf54802bc45f70e3ca569103b988f95bac660bcba6f21d63b4a45de3b59c408bcd55108bbd698313b0763173cecab2cbae12e18bba8ba1f3b27b0a03a6681d2bae31b12bb9aaf153bbcfde33a9eee563b34525f3b3a5c55bb0ef95abb81983a3b5c09ef3be90ff4bb3185acba2c67383d932414bc3e4b94bcc2796fbc11cfaf3d92aeab3d43ec07be765808bec7fe00bcd9fa3e3d410484bc5235a0bc5bfa183cb66c723b18b54abb6e3011bcc4df923bdcb9b03b09dca2bbb3dca3bb47064e3a2ec78b3a609c07bb57e38fbaa8916a3b7c0ca33b7ef2533a4dde8f3ac546af3d1d4607bedf76aa3dd98d09bef64c8a3f3e7e8a3f3e7e8a3ff64c8a3f994c47394bd9a6b864912a3633c7d3b8d606fbb900f2943ab01d87ba0e08a439cb2b2b3bf0f1d9b916c265398e2b28bbf1e6423a671eda3a4765f9ba725bbcba8ca253bac1d92d3b6b5a19bbd4bb90398488003b9a123fba1785fd371b75b8ba923477b8eb269339fe4c21b9d6da76b8b16902bbd1b084ba9ed2f23a292a843a2e4ae7bb87c72a39f6a6ac3a955bcd3b8440cd398f2f64bc8235753c07df29b92c11adbb121cdebb4e85263c1878323ce16880bce93b2b3a138f623a3d23833ca93da1ba2a9020bc9513173c8bcd523bd98c26bbb2ee1dbb67e90d3b1ea43b3b8709533be7199b3afddcfeba9c4f07bb63c3723ba4303f3cbcb846bcb669b2ba9381473d6f3806bc241785bc1767a2bcd689ac3dbb2cad3db19f07be614707be0fb205bb4a445b3dae94d8bc8d33afbcfc5ca93c2b6a453c721625bce8e2b1bc230ab13beaf8dc3bf14dd2bb344dbcbb7c31733bdc16f33af8db28bb7d4a90bb5c106c3b791e6a3cee2b1bbc05db1e3ace83c23d966309be6ca8ae3d962b13be45318a3f97848a3f97848a3f45318a3fc5593cbaf82a9cb86fc2973916d7f239fdcf433a23e317ba68d30b39db6088b9d1f8a0b936b85bbaf5aae739ec4724397203fc394c6ec439c514b7baaefd35baf30111b963ad5e384536073990b92cba6e663dbaa894493a438d08baf501ee3920df5b39907902ba4446f639049e83b959b5dbbadc22c438dceab0b813f2f13a68e76bba97207839ebafaf3a375bb8b91dba8fbb9ad294bbfde5ef3b034e243bbb3e05bca9be03bcb157713cbcd5713c0b44c0bb1a18a9bbd940553b6ef2113cea6982391b57cfbabcb6f139eccaa93af5138bba522d06bba45afb3a9f3bc43a5921623b568ee03a5d750fbb41e551bb2dbd82bb2b1ad63b39ff83bb43dc183b0dbe263d01aa81bc176cbbbc37d7b03ae992eb3d1e5ae23d966224be264f23beb1ce80bcc60b3e3d159e06bbb7ecd2bcd3220f3cd0ce29bbbd85933a424ed4bbfc7a5a3bbc379c3b680085bbf40b90bb7abb3f39e835433a480423bbfcda57ba5371e1bbc4f4833cc6940cbc1caa643c4367fe3d4d532bbee08ef03dc2472ebe41c0893f144e8a3f144e8a3f41c0893f0fbc27baccaf9e3699825b3ac8724cb92eadff3ac7c50d3a274bf4baada420ba5a9cfdbaafcfbdbab6ed093b46e18b3a7168043b616eef3a376c3fbbce4d0cbbd81fd6b9a7ce62ba1e723b391caa273ac3cea2395fd10f3ba8da50baa70eefbac80d093a9baf0aba30c7c8b9c2c1a63984fe63ba9e2821b8c9a9faba23dc343bf39299ba76560cbb234bad3b121709bb880d96bbd1ce42babfd2123bdf17653b90be0dbc42e514bc21b38b3c906b5d3cf5dcd6bb989eb4bbf261a63b4af3073c40b01fbb4343d0bb1377203b6bf4e03b468097bb2ab88ebbcf77cf3b53b5513b9f5d4f3ab9de75ba8196213b1d51f3bad1ea02bc1780d93b324496bb8dafe93b538c263d89dc98bcbca5a6bc46e42d3b7c56e93d887fd83d104a22be270d1fbed3a635bc444c593d2e5defbb30b801bdf49f813ca4cb7e3a642e49bb5fc257bc039b1a3cb7725b3c834f50bcff382cbc03b2e33b3cc9e43b905a2bbcbd25ccbb62deaeba8166b13c70124ebcd9fdd83ba089063e824f28be7c55e63d0d7934be7372893f659f8a3f659f8a3f7372893fb48a14b8f6bc93b9ac8b5f3908e6113909083fb9aa93233a645aebb9d8dc01389c95173a90dc60ba8772153ac2d3c2b992b6663962bc853a3a17abba1f1914babd60523a166a433a8f3780ba83a981baf3ed0b3a34f90d3a985217ba1a9f2ebab37748391a14f9386d9d2eb90bfc2bb9b989ea3afac0183b5a4e24bb9cc320bb4dd0ca392920453b41783bbb7038cfba2a2d6cba26f72abb9553a83bb5b4acba70d395bb620382bb8f33273c2eb4163ca15f21bc1f37dfbbcb0fd63bc539433c665be9bb9f5929bca4591e3c7c98133c522431bc196136bca3a43b3c4b37413c0acd46bccf3e52bc433f623ce6e45b3ca7ab6cbc6ac262bbb47b9a3b877f823c92f31b3d8b6aa6bc1d635ebc54e3653a5910cb3d3f43be3d0b0614be19a311be0a0982ba5bbf6b3d8c74aabc578005bdb29be93cd545933c121392bc7d7eebbc08ffe83cf705fd3cb633f2bcf49bfdbc64baf33cce71e53c90f1fcbc3cd7f1bcdbf6b43c3aacf03cbd4abcbc479889bce235f23d0d3d0fbe964ab93de3e42abee6b2893f08b58a3f08b58a3fe6b2893f32a1afb6e7b58a3a4cd17bbabee475b738155a3a0e0a1d39bf7aa9b940322ebab466ed3978663db93677bdb96ab56eb8db72363b014c293b61a982bb114379bbf4285b3a29e7b63ac3fa5bbadd21e5ba796d9a39f696c03a2012b6bab6f5d8b9317c623a5094ccb885132839a4ee67ba8a4a4aba85be44bb4fa71d3b9f5abe3a2c8388bb7acf673abb332b3a831d353bdeca46bb46ff1cbbbee7023cb9f319bbd2f5c0bcf356b8bce4d5fd3c1b76f83c407aa8bb0014bcbb2ccc643ae96e313cbee45238fa86cfbba12b863bfd401e3b6d0667bb63fac0baf629053b98b8503b3d9c593b22f1c33ac9cc01bb00422abb51df7ebb7f5c1a3c79f712bb8cca4dbb344b023d2417cbbcb040dabcc089bd3cc933193eed640e3e00af42be07d742be207dc2bc0999383d85675c3cc80204bd57ce633c2b5047bb3b706abbd2dde6bb0acd1d3be158d03b3732aabb883468bb11f2b13bb16095bb11c30f3b0502e0bb46efefbc89e1273da29f05bd28721a3df2fe2c3eedb551bea20c1e3e48b157be21f6883f303e8a3f303e8a3f21f6883f5f775739eda6a33a2b129fb90f0695ba653dca39e4a46abad7ca87b8faa1303a7d3af0b945a222b9820b093abf68fb382d328e3a3c0d213af8c81bbbb5a863bad81f3b3aef1bcb39cfd3acb8ef03bcba2a35dbb9fcb9d03a329289ba088f81b97b84203b50b3823a0f1ed7ba6a5703bb4bcb2ebbe145acba7f899cb911168a3be7de0d3b95d295ba9457243b3ff468bb7e7345bb347f5c3b23437238691f83bae62655bcf3813cbca251a83ca0458e3c98ab5bbb39e607bc11ddaa3b0843f63b23df9fbb44c363bb5e8fd73a22bff93bfefdefbb362010bc8b3f253c4bf8e03bd5183a3a0f82a7bae562003baf02dfb96e751ebc23dea73b293f703b58c1b53a0a55ae3cb134ecbcabc591bc9ce5f03cece0073e094ced3da09030bef5722bbe34c078bc2849493dcc34b83b0eae1bbd3967ae3ceb6f463b27ad2fbc0f2366bc2d9e453ce429943cc78081bc18ff6ebccfa1693cd72fae3b088b1fbc749e65bcfd8491bccd913f3d596b1cbd5867d23c14d8353e68cd44befd650f3e5af25ebe4f82883f91e08a3f91e08a3f4f82883fb5028fbae20c5e39b004d83a56cb3bbaa59d193b6f4c5739dd292abb99fd1d39005852bb722a0cbb2e665c3b5c090a3b07fb0e3b367c123bb4e325bb53b220bb9348cdba2c0b36bb9f31a13a6f353b3b5afd373a2c84423b2e38edb919225abbfbdc123bb4df383ac8d939bbf53f2eba37a4873b6d3e973bb4bf3bbca87c903a4dc56c3bc3854f391395ee3b0e4f4dbc5e61053cd1f86a3cdd588ebc86fbdebb016cd9bb0dba14bcdd99853c24dd2b3c3918443ad540883bbb171ab914a565bbe2cc44bc1aff81bc7ef5083cf9f2b23ce06db5bc8a80acbc2924e43cd8739b3ce24de9bca334e2bc6825193d9932c23c8960dbbc76ff62bcaf5d643ce404f33c606c343b4d9d3fbdf597243cc8eb203d329be43d3492cc3d89121fbec62718be242207bc261a293d7ebea9bb0647dfbcb70a373d1842ff3c863deebcb28149bd03f96e3dcbbb853d75498abd224872bda09d823d39d28a3da9af9bbd75cd79bd63281d3d4e84603d2e3244bd626af8bccbce243ef62f16beacc4ce3d931256be9cf3883f18038b3f18038b3f9cf3883f612aaa37fc8797391c70b0b91aed6539410e573acdf47f3a971f05ba1b79bdba6ada113b771e04baac1209bb80e7bb392558bc3b49c6c23b423e04bcee57eebbfa3cdf3a83412b3b89009fb920808cbb5049ea3942b6c83af22d13bbf3e5bb37ceb49b3a664f0d3aaf5859b9295bb6ba6f288aba6c2c21ba3603a13a9428063a871d4abba7bb21bbbf07c13a113e883bd6a4edbbd0dbb23a1974263c4b4e88bb2d2712bdad2a06bdaf90323d0e6a2d3d6e6d29bb747b47bc0247713a4319743c1be456bbf0bda2bb0247a73ba9aa513bdec331bbcb603dbbdc4c1d3b12ba633b997d1c3b2fc79fba97e4baba7a0a123ae7e085bba20b493c829e4d3a51af17bcf180f23c9e90ecbcdfc602bdd7af0d3dd0282d3e9d211d3ef8de54beef1253be2342d2bcd1994f3db7ada23c7d142fbd7fd8943c32f384bb9b2018bce8439bbb48fb39ba4fa5c43b4bd500bb84a15cbb1285233c9c9425bcb01fdc3b2f7e33bc9bc12abd219b5c3da51e33bd86434b3d8f4d413eff565ebe7fa8283e3ab868beb289883f59668a3f59668a3fb289883f3dead239d2f36c3a911527ba8f640ababeeae3b712125638d42968b7f5ed95b8e28d0539d4d29cba840bfb39dae44b3a81763f3b0ef23a3ba9faaabbc9d65ebb347c023b5562e73acfabacbad3984abbc64c133bc411463b5c7052bbe01a29bb12316e3b7cc7583bd73b57bb8be981bbc71c07bbd4b3b6baa350ca3a10d1e43a352b55ba447510bb1c04813a5d48103b6d7a263a6ac9973b4f38c23afaf9f2bb6c61bdbcbe018fbc4a4df03c150ed93c3c22d0bbe38c5abc78fae73b52b6743c0cb42dbc195f16bce9e62c3c2bf42a3c15981abc4c7d3abc69d6273cf1853b3c6362c6b93fdfabbaf9ccae39609c233b2e60b4bba6a5b33bbc17f33b8e17f6bbccd8f13b23d007bd32cf82bcff4f3c3d407b193e2000ff3d00c13ebe1d2137beb88117bcaee05f3d70d8be3b68a050bddff1003d1517523ca5e5d7bc29c29cbcada42d3ca28a973c1c624bbc44ad87bc7481983c6c9de6ba6dd782bbfd108dbcd978cbbc7675853df4af64bd2d20023d9d1e503e3c2447be0eb70f3e1e4774beafc6873fa9458b3fa9458b3fafc6873f1649573adc6803392acca139e02629bac16c47bb5e9012ba7330c03af995283ba078d0baf4d263bbdbba5d3b06952b3b3c86a0bae2778dba25211c3a2e9df5391bfceeba3c9b4cba403a18392eb7103b7803243b5266153aedfa46ba84b25bbbe13f393c9c08413c456b60bc15ac41bc67ccc63bad7f943b50afe4bbf16dd6bb4baa323cac652a3c898f63bcd84f25bc2980813c083b753c68ea61bcb052a8bce414cbbbe0069cb98bbd233cd1d70d3c783adfbabf4d79bb3ce1673b89d8a13b155e91bcf3f06abcfc359a3cdb86953c08b238bd1a3f41bd4d34493db23b4a3d217925bdf95f0dbd5db72c3ddf0b233d243657bdfd3932bd9357673d7836383d10aa07bd535790bd8394f63cd1bda33d596af73d36c3bd3d59fa22bec3a915beb043cd3b5376773d3a497fbc800b60bd3df29b3d9c16603d930c91bd28b688bdd898b93d3551d03da2d0c1bdf46dcfbd9be1d23d3898a63d2790c3bd2730c4bd76e9803d5c43063e49f9f7bdad776dbdcbbf6a3ee93008be0f4dad3d61ea89be6696873fcf018c3fcf018c3f6696873fc6965eb9074ad5b7600016378c1e20399cd455b8dabc46ba033faf395af9e1393b1ad4b94744a3b70ee517b903bc9d395272c434c49c70ba44a9523ae7e215b9bbfedfb9d3f7233a618427ba859c21398e502c398418e3b8a03aabb9443ca639faa0a2b873644c38144994391ce18ab989624eba7cd41db96eb66c3ad07698394db15a3950ab643a516134ba06c536b9d1eb65b9072a89bb88648b3bf2fc903afccd6d3be268603be5560b3b36d3e03aff2789bb1ccce5b98a59ff3aa7296f3b88598639a550d1396b0b4db990ad99b873327ab7930f64ba36c51b3afeeee2390e33163bc2c2f03abe07f8ba775119bb9ad2d23a0e03093bd3f36fbb1ec4343aa93d033df0bb0bbc7f8681bcb952a8bb26b6a43db264a13df7ba02beb99e02be51570abc3a95093d50f5ccbb5b2b87bccdc6703bc5b4c63a6b0cf1b83baf91bb906b033b3ece753bbe8480bb7b7907bb277b75b8c8f1cd3a77b108bb122cdb3837fce23b831ec03ad8327d3b50abb1ba0e8fa43db41a03be3290a33dc23e04be7c638a3ff08d8a3ff08d8a3f7c638a3fab0ee0374b5b43396a6e45b98ed5de36d1999339e531e5b9abae8039319c72b9c3e436395b73d63a32b4c1ba31c340ba03002eb950fc53ba30207a3a0d0e1bbaceb7f23af405863aebab0abb1999b0ba2e718cbac2fe95b73df61e393d6e503af58266396ea864393d6573b97c315cb9d12b2bbb9947c3ba6e56363b0a96ae3af50e9cb96525d0ba4d3cc93aba2af03946fca1bb3edba6bb3fa49e3b4174cf3b7b2d19bb80bc6cbafdfc0d3c30c9c73b19d9dbbb17ddefbb98d3f33bf87a063ccbd6bfbab3f4e0baf6b2b839472e5e3be1b200bbc00338bbbc44533be6ba083b2bbbcf3a33c0073b0f6e17bbb8d46bba6595e03a2790473b1bf768bb3a59863997de223d9750d0bb3f3eafbc23c60ebc773fb43d6f16ab3d58020abe292e07be035661b97eb3413d957080bc6c31ecbc7b4e163c144ee33bdb839cbba23c35bc17e9d83b06a90e3c1cf908bce7e5ecbb075d9c3bfdfd863b9507b7bb20e890bb1443183c9cb6e63b501086ba74c494bb3e49ba3df76004be5682a33da0290fbef21c8a3f17ae8a3f17ae8a3ff21c8a3f27d381b89d2526389c9cbbb8e85700391b9a3d3afb2aafb83571ba39c00351ba63b61d3a0783923a0462d2ba550be4b975ad233aff1a3dbaec3ea0b7e34514ba1502463b8d7f9c3af6bd16bbb31138bbe7b284ba4076d83a21cca1baabf1543969eb7bb8b6a17cb977c1c539d9a585b8430a44bbe110e53866fac43a4df3703af97049b9bff66ebb313e153abd30323b5ec803bcd4035dbb70a3df3b98d5a73bc043cbbbd9a505baa736113cb021123c65a9debb094036bc8df5313c2a9a193c1c68f0bbbda3c2bbc9e8c93bf132103c6b8a2bbb21359dbbce939a3b50d7773bb6a227b7aa5abcba6334863ae89b063b16f7213aca3dd339de4696ba2f9c283bcb7f0a3df4b78fbb56a1a4bcc07eacbbebeeb23d6aa09d3d7f9306be885702be045c573c06f73b3d2b5c9dbc3baa1bbd11f69e3cd21fbf3ce3deaabc7de2b6bc056a583c4955943c1b3273bcc1b18dbc72a18d3c2379343c563b81bc5b0d66bc1f7ea63c3f2e893c4ee936bc8c2886bc0f2cc33d14bbf3bd2ae6903da21d15be28c0893ff2108b3ff2108b3f28c0893fcd9732ba76a2013843bcb03814050c3a6f38753a44190bbaf59db7394a5e35bad114a4bad9dc48ba4d68a039a7a3ac3af0b6813a89145938e656b9ba04117ebaeeb149b959873a3a1858efb83a5f8dba1558b8b9ba0e263a809a8cbaa9d1483ab93c1bb8be9c59bacc98743abb7b32b9f27d9ebae76bd439d25a333978db373a871327ba511d0e39d4549139acdbae39b7cf10bbd65868bb5210cd3baebd753914e51dbc746e03bcb760853c3ce16f3cc626fcbb8af8c4bb64bca13b656c283c95a45e39540643bb894e403a5b6f283b723992bae2a1f6ba2c123d3b999bef390da9093bf38b543a178faeba9adcd3baff78b5bba385be3b9944e3ba3d3e183bd2a80f3d703292bc75b3aabc1142f43b7c31f63d0365da3d255025bef59c23be02045ebca577563dbc9ccdbb7330f6bcc7012d3c5056adba43ec5c3a178a1abc1b6b853b82fbcc3b1ea4d8bbf8d187bb3d9eab3a0ea8433b81749fbb0237faba7cb693bbe61a983cba6a40bc34b24c3c2ece083e97102abe1072e73d059334be472b893f0fda8a3f0fda8a3f472b893f88cb9cb9011a06ba195a0f3a28c69139239dc839185d2b3a321215ba702283b9a7ca8bba2e3bf6bad549c73a3f2ab23acdc9db39f3cbb43aff6f0bbb48af54ba097a163b0fe515baa89731bad78bfaba1e9e3d38a582563b430322bbafef97ba82de923a6ffd52b95dc6bbb87a8b81ba099658baa688403b360a2cbb409d863998fbad3b1b0e06bb539c303abf4398bb1780cfbb6d3b803b400b50b8bc4d063b3464f7bb1a4d09bc478c913c5c9f363c2c7f3dbc0b8a34bc41581f3c23f5753c3fd8afbba9a2efbb96b3e03b6d95e73beeff06bc82351ebc09d4153cc4771e3cca797bbb110ad0bb7191023c22bb533b862098bc7eefa3b9a91fde3b6a1f623c932cfb3c15e2d0bc01be56bccec75f3c7c1ffb3dc88dc73dbfcb24be38031dbed4fb1cbbd5cd8b3dd0e9a6bc91bf32bdfccbcb3c42be003c00f039bcd644b0bcd4c1843c2840c43cee91a3bc2e79aabc329b8b3c776b763cd28fb2bc031c5ebc0a4e303c348f083d68aed0bcda917dbb4834193ef4a01dbe6f0ac93ded6143be4b40883f48c98b3f48c98b3f4b40883f5cb841b8747d81b9240afb38c4e11939014321ba6e81beb8d31b0a3a7a37203a8f9703ba54d50abbfa7dc53aaa96af3a2661b6ba0ababc3a0bb616bab53c9939da61be3b1115093a6dec6bbb375884bb31221e3a5f6b9b3bb25967bb957a1cbbc49ce43ab0264439aec95fba0529afbac2e8d43a4fa6713bf5454dbbb8a04ebb401a123c0c23833b32c9f3bbe32dffbb50869fbb679a823bb66f8b3a44e573bac588e939b60b28bb56a40c3c6a84953b965b8dbc90cb34bcfd21713c6f06883c97aa2fbc14c15abceb855f3c94774a3c6325cbbc4da3c8bcf895cd3c1507da3c5ae68cbc888380bc9ecf9a3c370f8b3ccb97f8bc56cf7dbc9da6b73c5b6ce03c1654f03c08d0f3bc4e2d13bc93c3833c18f5d43d5fb0ab3d24cb13beeb650dbea768803c539e8c3d7b9111bdd48442bdaaa51c3d32aef33cd54afcbcd3ea1cbdc838493d571d5e3d34474abdabd461bd14b7383de7391f3dcba447bd36c720bd70f62d3dfd78393dc7e920bd9b6f14bd3a4a0b3e6726f7bd13dc963dd6ef3fbe4c9b883fefcf8b3fefcf8b3f4c9b883fe1432ab94d67ce39b15882b916ddc038d841e6394e0ff4399c848ab9f12e1fbad26b6238751b88ba57cef33941080a3afe1b5b3b3e74323bf2e89cbb649c75bb42de723a53a7e33a2619b7ba16caedba85e8933a272cf53ad676f2ba9738acbab95b8d3abb1a63394e9c1bb9afe88dbaa67702ba89d104bbdbef9f3a0124b33ade3045bb5bad613a50a665388b73093bf98bb5b901dd12baa7cba63bfb3891bbe0a3cfbca0a4b1bc16e0053d218bf23c9af10cbcbda505bc6e2c8d3bd63b653c251aabb9128c07bc1741a33b2529823bc65899bb1d3810bbe1a5493b8dce843b63a49c3a6bd8bf3ab19a83ba1a55a4babe875ebb4005c93bf28a343ad4105ebb36a0953cd3d0cbbc399da5bcf92a003d1b0c263ed2f0033e51a244be205943beff99bbbc7ec7713d2d1e6c3bd7031cbdfb88923c2b3834bb540f5bbb33ce39bc0bfd4c3b571b0a3c8cb7debb3e27a1bb6a96073cdffd85bba07985b9c9cafcbbc6b0e4bc5f3c343de52809bd3bd30b3ded5e3c3e541e4cbeba080e3ec29f5cbe0cb3873ffc7c8b3ffc7c8b3f0cb3873f228f3238907f893aa2c1c7b96f6e29ba87cc89b9a215b9ba6ddf913ab2f4433acb5fddba084a35bae4b9b73a940db43aea3a683ae306a9b9cf0801bba6d904b88f9a003b2e5a593a34038bbaad8b2bbb4372023aed29223b98052cbbb7574cbafa095e3b0e8ff83a855417bb852663bbc47c93b9d013c1b9ed6fa9ba3388cf3a98cf893bf549163bf6982fbb53988dbb3a167d3be092e43bc996aebbd3b1f9bb5ff862bc08e302bc67f2b03c49d35c3c0ad530bcd46535bc8f27203cc62a783c60f4fbbbb26340bc5c54293c00852f3c4f5f6fbc99fd68bc7610733c5db37e3c94e4d9bb18b694bb40a1fc3bf499ab3ba26089bc521d9abbbb06833cb651d43bbf64fbbbfded27bd1aac0f3b80385a3d24891a3e1030c43d8a4434be332426be188082bb8040a23d1228a2bc93b667bdaa6f193d5bad4e3c4882a8bc8170f8bc4b86b03c5ba2063da270debcc963e4bc009eec3cd8df423c3d8db1bca817c5bcf192e1bba19d863db9166dbdcae87b3c618a633e12062fbe7f56da3d3c947fbe6bf2853fa4618d3fa4618d3f6bf2853f9ffcf1b83198e4398e38a23a70c9d9bae474f83907de8738c9c80ebb0572023bbdff07bbccb839bb82bcab3bed1c093a1e9b4abbc2ae2c3a9584aab991af303b635496b8ac7cd8bb7aeb4a3bec104a3ba7a671bb6bce693baef5b539a7076fbabeb4143c61bc893b5f4f09bcd217d6bbcb7abd3963c00c3b6850c8bb2d6f283b744f313c06115bba24c2b7bacd3333bc4f47103c3221be3c27bab4bc9dba6abc12951c3c442837bb3ddec83b8ca726bb92a01abc38766e3cc7741c3bf8cb7ebb24ef32bb9336b4bc7352283c5f6d973c1cd540bd44e919bdc124423dcb432d3dab2f98bcaf9ba1bcb80fed3c30da6a3cd2255cbd99da4abc595a143d0e910d3da0e096bcbe7db0bda8600a3d5fe1a33d8c17db3d5dbda03d221614be6f6909be79a7a73cf2e5683d37302abdfae922bde1dc553d3af6463d666b1cbda74b89bdd103a93d59d2b83dd702b4bd93ecb0bdcf22923dd1cb7a3d2d589ebdec3d82bd614b813d1ebca03d3299bcbd496d0cbda743553eccd9d0bd05a5a23dca0b8ebe236a873f4f868c3f4f868c3f236a873ff282deb969c0a539be8c10ba659c6d3a5b738f3991eb5d3928a9ee39bf0791baa8e5603a890ab6ba15b563ba51f3dc3a1705d53b0226ce3bd0a517bc0b84ebbbf69d453baefb573b59a2beba9770b4bbf9328d3a3fd1173b6ee639bb1ca35ebae6efb73af7406d3ae4a08db8d7ad0cbb0e880bba4df5f0b9a8fa9b3a169233b9ac61ebbad257e7ba891000b9d1bd743b0ee4a0ba3c1f913bcda9b13b6aab18bc8cd520bdde19fabcccdd3c3d43e9283dcaa8f1bbb1db8bbc568ebf3b6455a83c04ae95bb093904bcbe66e23b2aa4bf3b4f6367bb3c8e67bb10d2273b493d9c3b877fb438b44a7ebab4516bba724c133bc11348bb0cdd143cc54a8d3be54730bc79b82e3c7457febcead4b4bc7501413d38cc3d3e999e0e3e170558be933f52befd66c1bc4f30913d85d2d03b96af57bd4e06be3cf5ec9cbb9c0501bc055324bca3a191b9772d1d3c7cd693bb2151a2bb22894f3cfc9616bc0bb8763b97bf3fbc46f426bd06a9673d585839bd0711423d7bc8573e9e4156bec806133edec171beb2c6863f802a8c3f802a8c3fb2c6863fcfd628ba3fd2c939817710399f2ddf39ce1d1cbaa2f663ba0a23c03a1903e33892695dbbba4c30bb3d36503b31547f3b4235043b7ca899b872f77bbb45041dbad41d903be0305f3b3a926bbbcd52bbbb9e06453b9fe2873be923aebb20a135bb6e47ea3b2005db3b0384ccbb924608bc141a4d3addc92abae98013bac954b8b8036c133b7896ef3a9e098fbbb40b59b8c583633c6df4343c552925bc29df93bcab39cbbc73b4e9bbc607e63cda539b3ce63c80bc5ef6b5bccd409f3c947ac13c25a084bc6c0f82bc2134883cf2128d3c984c8fbc9b65a9bcbbff913c9254b13caba7dabb2e5781ba7b537b3b999eb63bfe6f47bcd169f5bba47bb83c66220fbbf0791ebd0cf04dbd4ed1903ca92aa23d22c2313e7519b83db47043bec43228beaa6d333ce6bacd3dc34e08bd49b0a7bd0f69493dcc2faf3c50bf0dbd52e516bd11fd863cae64073daa25aebc1113e7bc9346e63c2423503a6eba63bcf2b8a4bc8eb429bc0cc7a93dee2498bd176d8f3c6894893e848122bee4b9aa3d488e90be83c4833f5c518f3f5c518f3f83c4833fcd611b3baf60ac3ae52444bb230c53ba0a79173ac37e153bb1623d3a0c5b68bbffcd58ba32f240ba285c833ae4d3423b641cb8bbe01a31bb5a30d03bcbea033b97fac2bb0eddcabba7757c3b9651093cf8a2acbbc9e2e9bb83c4ea3b9e4e823bf4478b3c75997c3cc7dda4bcc1a783bcdd33f0bbb5fed7bb15c6033c5f33b23b8a3e9a3aa5c9cdbbc3b6c1bbcee7043cac3ee03c6cb49a3c3587cbbc2bb9f9bc825b173c6228a53cfdd539bcafb102bc22d8713c726b533c8dbd50bbbfae97bc99e465bc1546243b6959263ca5f8193c08586dbd9c3f83bdb5c1823d4f45823d9fb4e6b9a84d8a3c1001b6bb68c0c8bb041122bd5f8205bd9f1f883d18666b3c23b9f8bd282ed8bd362cb03d0dda1d3ec6b1013edc642a3cdc1a05be4ccccebd8178653ce14ab33db16c6bbdecd76dbd6cace93d575d753d2d38babd74d9bcbd7d6b913d2574db3d1253a1bdc39fc6bd60486e3dbbf1483ca3f44cbd67b602bd25f89f3d8145253e249b21be0b338dbd6799ad3e1c1190bd88bc533ca3b4babe0e3d813fc8a3923fc8a3923f0e3d813f40816bb9c9bba8b8288b2f395fe7093963be01b92d1d84ba6f50ec39a0c02e3a233e19bad26a153ad052cf394ac72fbafb8e7eb999168cbafe433bb904caae3ae5381a387727243afc820fb81f2856ba0bdf15b9aa0eac3944be42ba9fd60f3ab78b4b388d10eab973560c3a4bf520b9025faabac61aa83962d24d3a321f8739335d9c3a1c1ccf394b1b86ba4f178cb997b5fa38cca077bbc460493be705cd3abc19883bcc61853b1e4d2f3bd9d163b9a1cf67bb421389ba12d8c53a0eb8833b0ca1713a466b97b91652dbb9367776381aea89b86574643ae2fdd6b81df006ba2beee83a2ebcef3a2683e4ba464004bb983ab43a4ef6cd3afb3041bb02d9443a36d1f63c0bae21bc83e354bc3dd29abb8500a33dfe12a13d3ce402be889001bec4f208bc27b1093d2f79dcbbe7f383bc3eb0133bc0b4ec3a3aa79db9c3585bbb6497233a9c18233b277a27bbbcf141bac35af1b963a8163b006a45bb011c643a0bfae83b9f923e3ad6869b3b1b09e5ba9d63a53d7a5502be6a9f9f3de73c03be82568a3f75a08a3f75a08a3f82568a3fdcccc1b771e74f3979511a37edf040b91c6e90b91bca5fba056ebc3a1c31c4b92c6c20baab8f903a3e7ee6ba49b96a3a358221b89d8f91ba1769a23989338339de291f3b3bd6413a2b13c7baf40e0fbb3662f2baf138903a0c212bb9b0923f3a1667b339dbfa30b9150d5039673cd5b98fb4fdbaac17aebac1a4f1391927303b939cea38812c1f39bb83543a5ca382bad7127ebb79705cbbbb209f3be3f45d3b8f3dfcba2f7b37bba8050c3ce050023c4e02aebbb272e5bbfc6fda3bd537f43b1e5c0abb285f1bbaf8aef23905b9373b1c3e3d393fd7d6ba6287983ad3f8483a2c11623ac3b5f23aff9a77ba7bc7baba520894bae7c8d13a74fb12bbc17b4c3b5f941b3dc7e423bc1b319bbcd7f7babbee04bb3da89daf3d08c90cbec8420abe387506bb5b18433dcd6263bce3aef1bc12000d3cf0f7c93b788ca2bb689b1cbc0c3b6a3b7fb6a83b1ea58abb8d57a1bb03f9823be75e8f3be7edb7bb516471bb4943383ca5a4fe3bbf4f16bb7878b3bbba20c23da7d705be5ff2a43d06c711beefe9893fb8d28a3fb8d28a3fefe9893fabfccdb80ac22c398310dfb75e0aefb7959fc0394b590eb9fdd90e385cbdf0b7e59fbeb9b1bf95b9a7b65439a6c81a38006dc43954a9493aab415bba7e948aba1b71ccb73cfcb9bac4b489b97bd3333adad088bacc9e0c3a9649383ad96d06ba8a41443a65c048ba4e6bb138b07586b8de30143a32baa639361816ba74f15bba3f5681ba3e0b743af54a4fba9940bd397928dfbb4ed6debab6687a3b20efa83b19748bbbf1ee76bb48e14b3c17d9ee3b4a58d4bb8494f7bb94a8fc3b6687153cd3958cbb056e4bbbf4b6d83aabbeea3b946f903ae5d9dbba11871b3aac0b9c3af6fea3bbf1dcf7ba5ebf943b1b955f3b1f0d1cbb9ba141bbf2d2bb3ad27bcc3b39aa073d2ba137bc21f16ebc69d437bb4116be3d16ef9f3dd7cb0dbebffb01be12867d3c7ab7543d9507bbbcd4f732bdf2ca743c7076a13c5d8a69bc9e6faebced9c883b100b343c0e4b04bced810bbce79c533cf80c213c446a62bc0da91cbc4c6ec03cc2d3753ce5c150bc9cc878bc2983da3d0bdcf6bd9109913da7281fbeccfd883f21c58b3f21c58b3fccfd883f912ca7b9b0bcb5b84ccb4bb8c930d9392cbaaab84385d7b94637353af684feb8b2af17ba30b3b5ba18f7e23915679d3a71aa443ac1b56739eb3ddbba2f8119baa5253e3a3fc3363a9e499bb7498911bb4a4bdeb92bac793a46e5dabaca4b8d3aefec8639475cf4b91632573aaa3b35ba8c6c90bae748663a2b598db9b7ee0d3af9c6a4b871dc14b81c9794b99d51f039a28df0bad3ae0bbbdf07b83b2fdd98ba921b1bbc9ca50abca6238e3c0aaf623c9bad1cbc122ae5bb9b09bc3b9bf04f3ccce98aba4b6d91bb039a213b8bb96e3bd3c3a5baa63f00bb05e4113bb90caf3a1533d1397edd343a487772b9ede05eba941bbabbdda0863bfbdd82b90f1c313b3bbdf53cb97c93bcfc1797bcc3b02f3c6354ff3d2a51d13dffeb24bed91324bea6c843bc9c3c6e3d1bb73abcda5306bd0a715c3c5b24d3b9a70b2c3945744dbc4f3c633b1593e83b5c0fd1bb9eea9abb7d3e403b9359373bf2f1bebb35c612bb2bc248bb94a3ac3cbd0168bce2e6303c06bf0e3e26a826be251cda3d844737bed2b8883fbe4e8b3fbe4e8b3fd2b8883f60a2c53925ec2fba28040139d3e12539f83cbabaa0c4693a3e233d3a0dab9538ef9b853aaef544bbd10bab3aee19493a313b19bb96f4e83a943ff5baf2bea23a96dba93be9c593b91ca5e9baf5bc87bbbfd1fcb9cb665b3b301a48bb19a807ba81e8dc3a39c5a73917756eb93dd200bb065233ba5270263b61a8f7bac9774ab89148c13b91cbf0b9f79d39bbd4696abb350f81bb8749953b6c73793a1f5036bb380801bca390ecbb4acb873c6377403c2ce286bc573e5dbc82987b3c0e32913c05ef04bcf74a22bc2f8e113ca2a7333c724905bcc33038bcafd61e3cce682d3c43656fbb44aeb5bbe748fc3b56fc1a3b3806babcbb6108bb11a3353c9beb7e3ca45f953ced27f8bca95cccbbef05d13c576e093e15c5b43d8e4926be42321ebe5af8673bec2eac3d8acc0bbdcddb58bd516e023d278e4b3ca7f671bcd6fdf3bc3182693c0047d03cd3dc9bbc7dd2adbc65b9923c266b463c11beaabcd2634bbc9ca8823c3f6f223d706d0fbd974dc0bb1a322f3e86a413beb0d1aa3d614454befd08873f3bf68c3f3bf68c3ffd08873f94527a39a8751bba776ab838fdf04f39658da4bae5a3f8390321823a7bff8c39d0074a3a00fd3abb4c561a3af8ffff3a379d59bbf155583a13a0cd3a4c73523a4f2dd23bf39daab976c994bbc56246bb8feca93a4982a83b8eee72bb63c477bbcd0f4f3b3a45043bb73b28bbfba945bbbfaaffb94f5c7b3bf5561fbb2659bbba611b3c3ca6cf6a3aef00e2bbf001f6bb1d10febb9544ea3bcb85193a12dfe2ba54644b3af7c921bb4517183c0d87833b185ccbbc803163bcb577b43c9a43aa3c0f4424bcd7cc7cbc01dc5d3c885e6f3cc1a28abcc552a3bc4e978c3c2da1ab3c570813bc57e714bce4973a3c2ebf003c51a608bd199420bc58b3af3cb970cf3c4724bf3cbb440fbd8d4484bb0164c33cb290eb3d79d69f3dc19a18be8aed0dbea23fdb3cc127aa3dd4c14bbdc93876bd418a213d4a96023d4096f5bc17c52ebdafbab83cbf1a0f3d8817c4bcf5ae0abd9fe5cd3cee158d3c40b0e6bc6c3788bc3d58393d930a323de2123abd93e2fdbc00ad1e3e5537e5bd91c8833d24ee52be8f8f873f7ac38c3f7ac38c3f8f8f873f5069f2b943d6d839eaf4fcb92698263a8c55eb394dc604b980e496391a5b13ba87f71dbab3b884bab30c413a5a4d863a2aac653bb3eb183bf416a7bbf01257bb7304103b41f02d3bc72b13bb87e259bb3a3a203a29aa203ba65d06bb86c7a2ba86cfb73aad2fcbb9744ee338bfd18dba446a023a4b25cabaac2a933a79cbb2b8428c47bb0f76d33a826493babcac2a3bacc0093b82eabf39f4e16e3bbc8ae2bbbe1ee1bcf11ca9bcf0ac0a3da811f33ca7b832bc9d012fbc6ec9e33b0175893ca0311aba5b762bbca883c23bb5c7b43bf062a5bbd220dbbae78b463bf457823b3c9380bae3b7c33ae795e437fd5875b896b8f5ba40b7773b2b06193b920d90bb6f99c43b27b4c4bca2e979bccea81e3d9747333e7338f23decf745bef68544bed967c4bc71dc933d7f99a5bb47ee2dbde4a5b23c163b39bb50522ebb4c517dbcc39f093b4bbe1c3c672bf7bbaf9392bbaeca163c5b6084bbff7bebbabfece6bb9ab0ddbc33a5393dd5410abd6221033dfe144a3e1a8f47bec482fe3dd03460be1a67863fecc98c3fecc98c3f1a67863fcea58cb7593e743a87d02eba4f3f7cb91a3da638341a54ba10f15f3ad87b1638aee12bbb11ccecbacf9d423b60b30f3be3d22ab8fde655baf1a1e3ba04e5b23a5a19443ba90c3c3a21eedeba187460bb4c6ea63a2eac583be58780bb2ae7b8ba8d6d853bd5d73d3b653339bb39a799bbb4bb8538905483ba2581bfb911df9a3a55223a3bec570d3b577265bb356b01bbff313c3c1fba0e3c46c42ebc86c755bc9d8d7ebccc7738bb8d7aad3c9eb8283c3b7a8dbc475b81bc62f3903c59d2a53c9e9042bcac198abc588d6b3c0c1c873cf4387dbc5ca581bc2d327f3c66bc8b3c55d4b2bb80a381ba4ff4b13b8c72253b24067abcdd89dabb2a849d3c35386d3b2c6f1dbdd48834bd00a7ad3c410b913d1cfc303ee3568e3d196a38be2a001ebe6e25ae3bfbf8e33df37b37bd2a609abdaa57483d6b868f3c5cc0c1bcd87130bdbf398d3c59250a3d5248cdbc066bd6bc8ba9da3c291aa73b21b997bc844096bc59ab96bb0575923d80a285bd3cad673c64ae873e50011fbeae00913d0f778bbe8dd8823f927c903f927c903f8dd8823f359d73b937a600bb390a953b0e691ebbaa730b3aeeb5893b9c8a0fbcb1d0823bd1dbbc3a9f9f07bc51e15b3c145eb9bb830408bc852c3b3c795e3cbcb361103c20379e3b7cdfb4bc48f88a3c1fa1a4b9b6f1e7bbbeef873cbad34cbc5c6e973a649d5c3c3598693a29cec0bbe16320bc9edc38bb5de1be3bbc980dbc6783b93b64fbc33b8b8f7abc5bfc7d3cb90ce9bbbccbf13ba27f0a3d3b3429bd87e4c5bba5439a3ca1f876bc9774a73c2cf770bc8a5fc6bc5a3f033d48166bbb7a16053b9b1f15bc0fec37bdf29bfe3c6a79ea3c7a1329bd3ae2dfbc3a3c0e3d734c133dfff9063c9e2766bcd0e8883ccdc91abc002357bd4188d83c4334013c287ab93c71eb14bd4efdeebd33639f3d04a1b53d3b92d53dccc2923dd09b22be3787e2bd8729823dd2d4933df4da99bdc85f8cbd73097e3db0a09b3db0a142bd5152c0bdbf82283d85825a3da68344bdfb1537bd1702853cfd96c83cf0d412bda0623ebc96c3a13d7ea9543dece7bdbd6870ccbc53e9813ea37658bdf93bff3c5775a6be87f1843f050e8f3f050e8f3f87f1843f6f1ea9b9058e80395ab71cbae2906d3a5128b5b792fbd438b1fa6d3ad7f096bafed9d3b9e5e9f6ba3110a5394a17263b24f1df3b975cae3ba7cd1abc8428d2bb41978d3b712d923b498249bb92fbd8bb0ab4c03a72bc533be3f64dbb3c96f6bab17c8b3ace17453ac2decb38e070ebba380932b96cdac1b9889eab3a29bf56ba9a89f6badd3273ba9090e5ba35979b3b9200963b1b8db93bbb97203b734e67bc482f32bd31f3e0bc88fb3e3de4d22b3d0dab2ebcf0faafbc7e1b383c7120c13c985aabbb83e232bc1647003ca2f6093c09ca39bb7f3548bbb7df0a3b068b823b61427dbacee0773a731f06bb6f372e3b6a84e6b92e00a33b16a6f33be5654fbcf57903bcd665f6bc147e65bcef836d3d3302503e0677fd3dd28e59beba3e53be35cbd0bc476fba3d9a24e4bbcd0670bd7ee0e93cf8accbbbc5e5b6bb79ba7fbc075825bb0f2b2f3c3a2ea5bb696461bb5715583c99071fbc76a6363b0b3b2fbc82142abdbdfc693df10434bd14c43c3def2a6d3e3dc84fbeb713fb3d4e4e78beaffc843fa7f58d3fa7f58d3faffc843f64a0a8395f59433a960960ba1c691fb88e1af539afc365b9a0a9813af40eadbaa28392bb0b921ebb0e948f3b9abf873b24cfacba89d608bb9e7789ba51a4293b265ec23bd08f893acaf18abbd2aea0bb18b58a3ba927d23bd6b5f5bba32294bbb811073cc5a4013c134be6bb8bca1ebc135064ba35b7efba8eabfb3ad0de223a1cdac4bade0473ba86dd48bb07cbb23bca6acf3c79b6473ca0c197bc0cb7c8bc207fb3bc1985a83b6975b13c9845213cac1ab9bcf8fcccbc9976f23ccb70cf3c074dbabc651dc3bc7908b23c0a45dc3c49608ebcd276bdbc265e973cbc02bb3ccc2ea9bb29cb963b54956dba25ee3e3be304caba7835b0bbc964b53ce86c6cbc5dccafbd33a65fbd32b73d3dcb4ad83d6d47483e0e11433ddcfd41be840616be5302cf3c5cb30f3ecdc08ebd4a14d3bde761763dd6c5d23cf52c02bdafef59bde9241f3cad320c3dbb5299bc3c2bcabc2b5ec63cf80af2bbef741abc154052bcee1861bc921aa53dd7a39cbd794dc53c2d9ca83e6d0b0abe8359023d4493a1be5eca7e3f8bcd933f8bcd933f5eca7e3f454d353a299cebba728536badd45ee3a6f293e3a0799193b100456ba46b572bb122dce3b9152603b76f7d5bbe2459aba52b682bbbaa8753bc212d93b1c7eabbb147b2cbc996b10bc7d32d53b48605b3c0a10a3bba48529bc4b34fb3b786f9f3b5e45923c4c79873cad36abbc050084bcbfd189bb28700e3bbb28b03b9f300fbbd47d7cbc2410a1bc574b5c3c07a8b93ce7c2a53c9cb1803a9a5a99bcb25c6abce2f8a83c21a9b83c00b1dcbc9ab421bc3c39b33c6021d93cbad719bbedb515bde91232bd2ba030bc0a25083dd2a8ff3c0ba230bd818275bda3e04d3dac865c3df5bb363cdcd3933c0063c7bc3d5eabbb937c8a3cefbc983ce4e1cd3cf10a5abdab7b34be6d05adbd992ef63ddb27263e25dffc3db83d85bd8384d5bd399b45bdb0175f3ddde9ff3d5947f3bda85da9bd4d73133e551bc13dd892d7bdb2540bbeb897513c5246863dbfc0c7bcb02b45bd87ecbd3bfa7612bd0a7a003ccc976b3c7ca44f3d24eae73df8071dbe79bbd0bb4c71e43ede06afbc8e0c8ebd95fce0be40cb733f5f4a9a3f5f4a9a3f40cb733f057676b93290d9b8197a15b9266cf139dd4adc38d5245f3900a7a737b90edab94d4a82b914013fba83041f3952da1a3a452c29bae216c1bab151713aa8798b3aadcba339a3158a3a4428d3b9b7039bba2d0d30b9337855b9922551b9b1d7143aaf519a39828ad63859c92639219e0bbaaeca63b8572f8c39b2aa37b6d9899db86414d4380872cd39d860bcb99f6df7386532643917265abb93d4503b9027433a594bac3b36da863bb653c13a71acc6b8854d46bbd92668ba2098913aa638693bbf7e623a5591a23afd6bbabaffdaadb9f68ca8b921db253a424841b9c7ae8bb896ea043af79ec43adae156ba4078a8ba3feba03a5f66d83ab49636bb0a7f293a2eddf63c492d25bceda153bce75f94bbe373a33d878d9d3dffe301be530501bebab124bc63c7023dd3eba6bbb4af6bbcdbcf663beaebb43a2775bb37c9bc96bbec3728ba4d4f0a3bc781c3bae03426b95ea1b1b98695c03a743a1cbbb987823a02f1d93b84ffa83a1e3e9c3b9956e8ba5458a53d666102beebc19e3d9e9b02be82448a3f93b28a3f93b28a3f82448a3fe4baa7b875518e38981785b82e39a8387021e838a456e0b96b6df139078169b962d5d1ba41ee903a139a0eba19b4333a7662093aae1b20bbb9430a391136a33a7bf7d13a2f685e3a1b5b0fbabcd11cbbdada01bb71912039bd303e3ace68883a2a590238b5e42e38685caab9839b9a39cef102ba70e23aba3a284a3958297f3a94ea4739130e6d394e2aff39d51e74bad46538bb93ea2ebb73b35a3b56384f3bd1d095ba1b98e939f2540a3c42dd853be9e1b6bbfd84c3bbffc8ab3bd5d2fe3bb440c43a3cd498b95cdaa7ba1634353a7987c33a9949503aece059baa430aebae4c8e0b90c09e838f63759390b42ad3931b5eebabaa9ef3a1ddfceba99fd293beafd113dc72f4fbc419384bc76895ebb4785be3d3616ac3dabc40dbedd7909bee8b99dbb3b333b3ddfad36bccf36e2bc173f9c3b3d1ca73b9ce1bbba65be08bcee1da1bab5fc273b5841d6bab61c21b9ef50283ba69e833b9da8b0bba206d7ba776c1d3ca82fb53b272c07bb1301a9ba14cec63d086b05bea9e6a43da94614bee1e3893f95d48a3f95d48a3fe1e3893ff3cca3b85cc05e39a21959b88077aab82c0d8d3a11e8f9b98c5313b9d389bab90b778bb8d73d553ad97053ba94ff9eb94f55ccb89e250eb858c1d0ba1d80643a4e8785b9c433e8b8da204cb70df61bbaee8468bbe818c6bac813d53ac1b86e3b2042d6b9f12820b9404a7b3a3afb94b9a2a992b9335c9c37e2f6f4385ac0d5383a03523b8bc9ca381b2a62b73dbe76bb9090f1bbddd7a0bb67b8db3b9a5cb93b94fea9bb3a7afdb9ac811f3cbcb6003c735e88bbefbefdbb52b0ce3b20720e3ce300a13b3abf7bb9f8e09cbb203daa3ace120f3c7eb7cb3b2e2ba9bbb0d31fbcd9a3ddbb1fc69639bd96ea3a41ef943b4c50eabbc8562dbac229833bca41af3b99bf013db62786bca7be5fbc5780803b8216c93d21de9f3d67c50fbe7ab605be0abb393c1ced6b3dde00a7bc0d0845bd6157853b043e6a3c1b2a63bbccf683bca5a314bc396bb1bb882aa03bdded093cf0d5d13b9e9eccb9ab7956bb96f6f1ba0703a43c4755363ce98363bc3d9bbebbec86eb3d068becbd02e7853dfa0627be3afb883fe7b28b3fe7b28b3f3afb883fb2b3b5b886ba79b9599a1339663f0b39f12904bad9c6d5b723a9073ae4bcd738812985ba93b7d4ba217dc43aa4a6443a2beb913abb6c88ba74dc0cbb11175b3af9fd973a10bcfe3a062841bad39352bb14f00cbafd46863a529e9ebaf2ae1b3a81e3a739e7c81eba4134683a295d2cba440e1cba30a9a839eeb2ad392f333338d9f8a7b9f38e2f3ab006a3bad6987e3a31d47bba16e2d2ba9c21933b5e1cceba8ae617bc54f4e8bb3f0f8a3ce48d533c95b43ebc085df5bbbcb7d83b227b6b3c558bfa392c4dacbb931a403beda82f3bbaeddbba33ccd1baeaf1c23a21c8043b2961143ab040943a8cd13fbaa9c68ebac3a8babbfb243b3b94bc7739debc633b47e3d33ce85395bc555271bc2d0e413c14aa043e8dd2c73d907a25beed0824be9f3467bcfea8813d5fa673bc9ae705bd4bc1723c981beeb8780fbdb8a95161bceb75073be7d1d23bcf69a7bb760784bb74d0183bd740113b7b5fbdbb8cf572ba73e2bbbaaa2eae3c2b3062bca5260a3cb7bd113eb71c24be2b1ccc3d54cd35bed62a883f41e38b3f41e38b3fd62a883ff3ef693ab67131ba149de9b7be3261b90b3adfba23adbf3a63a830390b999f396425933a33a07abb4b30f33ac2b5843a21fbffbafc78803bbfd96dbbd6600b3aa932d03bd273eaba115e8aba5f25a1bbcc39e8b776a3b13bf55495bb151bc9bab7078c3a001a1ebaec68143ad9d093ba0d8918bb2150b73a48ea03391818543a0a40aa3ba11fd7b9cb336ebb070ae8bae44276ba600a593b1e947c3a2d5ea8bbf4ff51bcfbfcc3bb8c6b943c719d663ce05d9bbc9c3694bc7858ad3cefa9a33cb05f15bc5c3b32bce990d63b17cc763c08df36bb82f6f9bb6680d83bdb748f3b91cfa6b91aad28bbd0a0763bbdcc00ba02bd92bca2891a39ca931f3cf5d6173c9a058f3bd046ebbc0451bebabd470c3de70a1a3e1b98a03dbb2f29bef3b021be2e4cb13b6d9dc83d8c6034bd749e76bd8a95f03cca97473cc6c321bc1da6ffbc37578c3b4f5e813cea0b2abca62d29bc6d9f143c19d08a3b675141bcdd068abbb8f1383c0863123dea680abd065abd3a6f71413e0dc40fbe8e36903ddbeb5cbebbbb853fd8358e3fd8358e3fbbbb853f98940439005d86bac14c003ba4aa8fbac98423ba9b4ccf3a4de28cbb25bb653b8a9b983aba8711bc6176403cd3c266bb038cbdbb5c7a7e3c02cc76bc52f9963be4df693c5f139abc973f043c086badbb3cedefbb4661b83c0c2631bc3772afbba8dd843b258ef2bb3cac013b47d7bb3ad3e7acba7b77c83b3070b4bb0730303ad29c073cc573e6bbfd134c3bbca5a6bb1144cebb5f36953c211001bcd53cd7bb673adcbb1f92aabcb05aab3c19f39d3ce815f4bc822e95bb76cadd3c55a94b3cff1624bbb03ff4bc62ef0b3bac78043d158e61bb1ae2753b4a70043c9ebd05bce3e4be3afcef57bc3a4d033c562b653b26abf3bc38236b3c76b10f3c9a77083c6da0a33c412256bd37bbef3af84d233d6e37023e889ac13d5c161fbe9ddd23be8910283d4412aa3dbaf983bdce037cbd2472483c0a571b3d694a67bbdb363fbd4793913b819f1a3b7f6f3ebc6517813bf2a5debab8b8723ca69d14bca6199dbba32c213dec1b333cdce41bbd4db57c3afc7b293ec3a3c8bd7f52773dc6b567be7aa4873f91808c3f91808c3f7aa4873f93077db9779b8939e060f0b9aa5f0e3a8affbd3988c6cd3970763e37eaa947ba9d2068baf4d5eeba9a04ec3adabb973ae2d2883b92ecf63ac01cb8bb79f046bbf4d30c3bd7eb5d3bf4712cbb78c076bb75daa83a6f990c3b87af09bb81c2caba96b2223abe6bea38462ee639f9378cbaf65085393e59c4baf6278b3afec92c394b5751bbc92a993ae7f855ba3989473b93d29a3b11d0d13abd92d53a626915bce3bff6bc040a9dbc15a50e3dd337f63c887957bccafd57bc3d3f1a3c79599f3c6cfc97b90b953cbcd0d2cf3b6dccbb3bccb969bb0e2c91ba8816b93a55d9613b1c6080bab8a5243bc4c55bba142026b9cd2db83974a5e53a682c5d3b9332c6bb00f5a9bb51e9adbc35703dbcec2e353d8e04413ed32adc3db3d246bed08d46be8fcadbbcc4b0af3d8f3357bcb2643bbde31cc43c67e1a1bb314516b7efa390bc1e1039bacc260f3c55ffc9bbfb061bbb4f9c093c6d14b1bb80c756ba3648bbbb3b14eabc1b42393d2a0803bdbc5a023d981b563e698245be6af4e23d28a660bea52e853fd9028e3fd9028e3fa52e853fd7393eba8c38af3957b398b9712e473a51d4b73aa20af1389e8d3e39d194eaba307775bbfe5e01bbdc19623b04de513b44346cb943ec84baf50ab7ba4145c73a35fda63b131c3b3ab18d60bb7c978dbb2c14213b2ff2b83b3095c8bb392a42bbcf51603b9f420c3ba3e7bbba4cd48dbb1f8f053abadb77ba67bf0c3a727ddbb8010eecbabe388f366ec5d3bac9796a3bdfac933cb9b6f33bca7552bc3ba68bbc8ee19bbcc33fae3acbf7a93c928a263c1098d8bcbadcadbc538ce23c7125d93c051358bc5205c7bc19f78d3c7230b33c6ef10dbc1e741dbcf053fc3b31c1343c458137bb708f683bcd661db83cb36d39961b81baf25d74bb88405d3ce86315bcd8358bbd4f1c0cbd14fc003d783da93d49784f3e122f2d3da7f33abe446f1ebe6f0be13b159e143e6e5b8bbdd0d3b6bdf6334d3d703c653cfe905ebc3d3a48bd1ceb333a0bfab03cf1664abcd87a25bcb1d1623cf80dccbb0b08d4bbeadfafbb5f2178bcf5f17d3d593b61bd5da7be3c6bef993efe4f1bbe8f18143d62248ebeaef27e3f15d9933f15d9933faef27e3fbd01a1bad9e7f3ba4fef983b35e8ccba8fbcdb3a1022ae3adff5d1bbe2134d3b3b9fadba25a7e1bbc992423cefb848bb4d7fe7bbdb5d163c31830dbc42feed3b8722a53bde03aabcf5e5443c4710033bd12a713bd1bdc13c87f2a4bc6b8618bc13240c3c2fd6a1ba88033bba9f53d6bb79da6bb9e3c6103c5b032abc3f1d013bd4bace3a5f3956bc4ecd803c017d6fbb9bd4e83bf718de3cf77816bd95674ebb33be953c1fec6bbcb2f1b33cb30888bc5d9857bdbbf8963ccdc7aa3cb8efba3c25fd53bc4c7b87bd429d1b3d2080363dcf1e88bc64c857ba25c9c43bd80f253c4071333cfc885fbce486ec3b92be9bbbcabfb0bc0cde103dd56d9abbf39f10bcd7fb65bd56c6b4bde8bb933da532b53d8d0f083e89574e3d327d27be0e65e6bd18d6c33d1f46f53d083fefbd81ecdbbdc480073d290b9c3defd659bcd201c2bd3ff2a8ba413bfaba79ef00bcd150563cc2e3a3bcddf68e3be773c93bf07fce3bb3ce203da5b46a3c0beb93bd35d8013d25959a3e38fd63bd58019b39cb5aafbe62df813f00f7913f00f7913f62df813f91e912b982d22b39660d8db9b018f339e2ccf2b974a5343a33a2ab39193c3bba308c73ba2eef5fbb60a9053bcf84413b54dcd83b55d1be3b2ba72fbcbca8b0bb5e65bf3b242da03bd55563bb6f170abc6feed13a4951863b8b1e85bb9f70f6ba93ad7e3aa49cfd39b1a35c3a96c805bb053b3cb9c1e660b94c218a3aa37c37ba8b6d2abbb461d1ba80c69eba1844bd3b4e8a163cd115dd3ba66894b9f29890bce6043dbda523d0bcfdd1423d96c02a3dc27d72bc3fdbd0bc72b77d3cfc54e53c670a82bbbd1c4ebc3e82f83ba298113ca54cf7ba43c2dabaa656143a4ed1463b8b85d2ba00f5d63aae1326bb4d1e4f3bbfa58b3bd4d1773b2539ef3b682d87bc1e95cfbc178ad7bc76ea04bc0fc2883db1c6623e1ad1dd3de3b35abe135755be31cfedbcb819e03d55c592bc908381bdedfffa3c2b6e21bc0773f1b98cbe96bca7a4bbbb941f233c5ed995bbf72644b94a233a3c1f6f32bc8ada683b088108bc1d2534bd7419693daa3f28bdc8d83b3db2637e3e507d4ebece23d73ddf4879be6c35833ffbc08f3ffbc08f3f6c35833f6849c8b922088f390165a1b956072f3acf15033be33eca3a5f7acaba849525bbdbd869bb9c2611bb80e7ae3bd3711b3b1b4692bb140dd0ba6d2f10ba3cf4a63b6ab4163c036459bab52ba3bb3ce4c5bb4a8bb93b2fdd223c975938bc33f2c6bb5a45c33b8b83c03bf46e55bba1c20abc6b6d3a3acb2ec7ba35cce63acc9492bac3bc23bccf386fbbf6143e3b78b7413c6a65063d87e3d93b7805b2bca35acabc2a73a9bc4642663ccc7a843c3dcb9d3b7c95ffbc3957eabccede273dea70e33cbc59edbcc79f0bbd367fd73c1b741d3d80d9c2bb9ae16abc2427013cd7ce463cbc3493bbd517d83bcd1c9ebbce05753be20da93c357df5392cb83c3cef3c08bd413bfebdd1671abd276e773d8208ee3d43aa653ee34b963b8cd03ebebf4a0bbe2840e43cc17d393eaef0cabd098ef3bd82a5813d45e3bb3c57a495bc080484bda30516bc8719a93c17fddabbc24f92bb73bf543c6c7b74bc008bbe3aabd881bbd15e00bd2789823d227e7cbd5ebb2e3d4847c13e1ac805bef1704ebcba63a6beeaed753fde52983fde52983feaed753f24d6a7b89c9aa8b9f5826c3a50b151b825fa5abbe159e6baf92c353a83eb603bc196233cab95a73acf1be0bb2f5d8bbb613ebcbb7534053c7f28853b5c2988bbf07845bce5196abc10464a3c6ba6593c0c9d243cd8db89ba67674fbc165599baa76e3d3c2e2a883cdba934bc8f4389bca922913b54f67f3be06572bb371cb2bb90b350bc8a5257bb94eb793c3a40a93b3e2de9ba3a3e92bcc9d322bb23a2473c06f9293d9f57d13c10bc29bd6979aebc5c925ebcc805b73ce7a2023d1591d0bc0b1199bd92dd61bd0c267f3d5848973d7c76febaf3d3f6bc8ba9023c9643ae3c137016bc4b4750bb67a2bcbb8473943cf2828a3d278fe33c9596d7bc895592bd83ef34bef57a83bce37bf23d501ed13d4496f33d2564f1bd531bcdbd7080a23bf57d133e8e304c3edb224cbebfd62bbe602fa33deb7ad03dffd72bbda79c05bec735d4bc0f1a693b01e64a3c3fa1443c6d978dbb65378dbc36ced13c2a32bebb440842bdbb5e953c0e5896bdd570db3dfdb20a3f9a9e04bdb51319be0356e8be07ec643feee1a13feee1a13f07ec643fb7a1273789758135cbee39b9b81c193919311bb95124eeb9a1330f3a70f2b7b77e838ebafd1edc39e105ca39a552ff38cd91e5b702ffc8baa2a7ac39d382943a3ccf993ad54ea1390b56eeb9c554a0ba649d8aba2ee0053a84f3c0b81c082e3aa8d3d3393bd0e539cfed1ab9abdd35bacf77adb9530b5e393dac0339ad988c382fae77b820203d39a99f1eb93aaa9a393dbc123b5a184bbbaf2aeb3aabc5ddb8be219c3bc942933b0b33de3a95882eb962e679bbcd19aab9b09fae3a679d633b8fb4973ad4f47d3acf87a4bae91929bad15c5b39da054c3ab8f2a1b9f50021ba5e0f923ab657213a054719ba06efa5ba0790813a1a47a43aaeea17bb42d85f3a2440ec3c59082dbc731044bc908c7ebb778ca33d3fbd9b3d41b301be9b6200beb9122abc3914013d3462a2bb2f2e63bc057c463b88ae523a656f783ac09d8dbb399c1bbafb39bd3a856809bb67c28a3a747f67ba2ac2173b0e7d0dbba50c023ac455d43b5c2ed83a5cc88d3bc084cbbab4c7a43db96601be7de99c3d013d02be44468a3f09b48a3f09b48a3f44468a3fe6fbbab9f3a67439989699b7b6c61339ae0c57b9b57988ba33e7593af5d79239038624bb2e11603a45aba5b9f0dcd73a58fc3a3a8f540dbb0511ec39f235313a3bbb963a10fc8c39b67606b9e67fceba2182d4ba218ad9391fa90ab97462ad3a2ef0f9393e8788b993468a3917aec1b9f3a2513a577da0b9f0084fbac70d8339ada367ba6ca8373a0a68863a51863aba0216113aac4e27bbd338133bc0e3293a373936bae3badf39a2e1f03b3c95963b69d13dbb4ebb77bbd9f4163b1978bc3b5309343b9ab11d3bd4876dbbfea6bdbafc53963a64b0113bc8ecbfba129301bb7a4be8ba09a64c3a174a493947712d3a7961bfb98e379a3a00470cbb09b4153b1805013db23143bc92e953bcd3e760bb8d51c03d61aaa63d9b930cbe1a3409bec5c00ebc20ce343d05c618bcc7d6c4bc065ec73aaf459c3a2d770e3b073e9fbb56812cbb8dcd25ba0f96fa39bc80243b31e5c439760c943a93a632bb2f637e3a2861e93bdc8dae3b81ac8eb8975336b960e9c93d62f808befed9a43d71b611be419f893f141f8b3f141f8b3f419f893f7e9b0e3840873f39c8919db9e23fcf3898012fba5fde08bb5b26213b0222c6391842fe3951544cbaf2108fba943e893a3a1986b90fa9043b690f81bb1b99a63a3704d5ba912173bb555cdd3b9d93feba08fd8bbbdd006039968f8e3a6cf1763b8d5ccc39f92784b8f484ad391b9f12ba0a007d3a06a70b3b69322fbb1809e3b9175b143b8f861b3bb43292bab8ab6bbb5c79ebbbf8fd5bb8a692053bb1a29a3b561406bc87d164bbc156263ca540653c77f83a3b8bb61ebcfc3ab23a5420093cdf0d213c55d7f33b77de11bcfee80abc1095e93b281eac3bc518dcbb41f7c4bb20141dbbdd8433bb6e6b423beb99c33a15f19bbb0084fc3a1b98553b8bb96b39ce53ce3c902a8bbc323815bc928fd93b90f0e23dbf229e3d4d6711be600410bedd45fe38ca757a3d08db81bcbc933cbdb59c33bc98e3683b3a22663ba7a13a3b7edd25bcb689ecbbeb92b13ba0bf3b3c6e160cbb5880a63aee1691b9a8f7ee3a91ae0e3c066f663ba8d7abbb0e89cb3bcf57013e8a3d00bea695823da8d525be8a09883f87888c3f87888c3f8a09883ff4de87b94b96ec365ffa9db817f3a0397a24ee3760dd03baf895a83ae64354ba4df3d2b950e0b3ba8e00823928c6a33a8911c13947dca6ba7a4a71baeb54073a7e79ed3a0581073b0376eeba57a33fbb104b08ba0d81a73a681983bab8b51339f9707ab729cf55ba67316e3abcbb05b924bd1ebab8e17539a43285390b5e14395e33d1ba4de6f1393c666bba908b123b9e8f253a61e0c7ba83dc843b287d38bbac501fbcf772e6bb7f568d3c66ca533c685743bc632cefbbc753dc3b13286d3c4ffdd0392a05b2bbd477243b84d0503b992223b8edca1aba08a94b3aca31bd35fc995a39e6fd7b3ac29d85ba6b55a6b999941fbb7f795d3bc50b36bad070fd399ad6a93c78e288bc911255bc87bf603cacda0a3ef009bf3d4f3825be315626bebdcc8dbcbbd6883d67628ebc20e1fabcf763703cae6ce2ba617eff3a5c2561bc8665a7ba83c6a53b05b15ebb3f5b8bba25435d3a61e41d3a2efa81bb042c273a993676bbcfd59f3cc77034bcfe501b3c0819123e526422be66e0bf3da7a831bea2c6873fce4c8c3fce4c8c3fa2c6873f376b163aae850bba1964d93881532db9f85f05bb7447ba3a874f1fba49b2aa3a0c7ccb3a2dc640bbe4d61b3b582a5aba435401bb3d86fe3a358386bb9fbe393b3363f63bd87ec2b9069884ba373ffabb9d9e97ba5a97bb3b7a8b96bb8c850aba900983393825e0bae92be33a158bdfb88152a9ba6bc81d3ad3e0523a1f8d6fb8ca86c23af201d2b9a447c7ba03f50f3a68624e3b8bbd163b18833dbac91ddbbb962490bcd31999bb8e73a73c0a85803c479e9fbc42b1afbc5e3eb73cdc9bbb3c021d8dbbe61d22bc6be1313b30b54b3c086f423b5f326fba4ac5ad39149021bbf3a0b43afcf936b9b3aea7395365cabacb1ce8bb6424ef3a60757c3b533dac3ae4e531bc21a3a8bcc691393b5df7193dc5b62e3e01eb873de54c2dbef0e725be854e8dbb2160e63d21e940bda2ac80bd8e33ad3c377e0e3beb91053bc207c2bc8f5dc6bb883aa23b5f57d3ba1ef6fd3a4afcf739b31bebbad18346bb79461c3bbaf2faba8a73de3c28aeb6bced4f443ce1b14e3ecb3016be17c46a3d1ce255be0e0c843f73d78f3f73d78f3f0e0c843f7364383ad915b2bafcc7ad3ad7822fba31cc98ba5eee263b90cc52bba456e93a78ed6e3bfc8010bc5799153c614468bb825ef2bb072c843c982e85bcb8c7d33bfa1b8a3cfd2287bcef10293c005351bc3d9e53bc23058b3c8f64fdbb4170683b918e3c3b9f42e9bb93784b3b5b09c33a763845bb4350a53b0f1440bb300a7c3a0f48963bed36c2bb1d6e203b9f8d47bafe9cbbba61ab293c7ebdb4bb0d1dcdbb8e409dbce5e048bca6a1c13c552fad3cfc86a3bc5b3ea2bc9345cc3c8034ab3c34b0e03b2ee418bc17142ebc41bd5f3c84e0b33b7bc2cd3bc8ce0c3b83466dbc83d5d53b13b609bc2dcc673b4bd5fcba81dd81bc1ad2613cd2e6c13a9fa408bafce303bb718a12bd83e2ef3bf5d6273d96bb223e5328973dbab72cbe1bef20be5a3dd63c9cb0da3dc9584cbdbf06b2bd13c63cbccc1b6f3c8da6da3bfff312bc1d8da6bba2de18bc0ee7883a16a4553cd7fa36bcbcdda03b46e2a13a41ae803b95f8ce3b251eb53b84fe9cbc1e07bc3c36384c3e47aef1bd9c6b2f3dff2063be1ec7843fdb328f3fdb328f3f1ec7843ffafaa3b941768f3912330fbadf24373af2950e3a8d045339353171380a415ebaefecb2ba411201bb493c123bca31b93a02a8813b073a193b7c36ccbba24231bb1a33513b27d1883b372b70bb2c559abbb3c0673a8000233b8f57feba60f4ccba216f183ab8593bba05416d3a03f928ba6e11103a118f95ba1fa7b53a974052babc577fbb3ce6993ad1e98ebaecce883b1d0ce93beae4753afde7c43a114433bc15d502bd2b35a1bc1f55143da94dff3c5aa77abcf74f69bcad37343ca113af3ce7988d3a6bfe45bc768aaa3ba6f5c23b815e4dbb50d8f5397bc3253ab81e0a3b82a6adbaa2560a3b2bb6aaba9c7f713a04df913bfccdc23a8f14233b8c6019bcb9f073bc306b89bc07301ebc9078453dbecd4d3ec78dca3dd4d946be0dbe4abe630301bd727fc53d5334a0bce4b63bbd8f65c93cfd6008bcc9389b3b4e0b9cbc29d33abbbd10e83b441cb8bb9b402a3af375d13be9c9bcbbfa2c8c397a1f86bb4c82fcbccaff2b3d06d9e0bc6d68053d40c65c3e9b4b44bef33ecc3d0c3e5dbef731843fee008f3fee008f3ff731843f77abb3baa024a339c054233825e29c3a5f2f123b19c95d3444e41bba6b8503bb155c87bb2a6cdfba63e0823b2511373b67c7dab8966f8cb93ee522bb5908cf3a76680c3c6599973a3891b1bb5335d7bbc2a51e3b29f0073caadae2bbee6e98bb1ddabd3a3bb931b99c69a53ab82b13bb0b26283b2c5a73ba19bfac39284d09bb283b02bc1cd781398826993a58f2fe3bb228c93c5800f33ab1d44cbc4f0a99bc98b5f1bc2912713b08ffc63ccf827b3c254b01bd2f47e4bc1318113d4a2b003ddf4df8bb5c37d9bcbd80373cb74cbf3c6767e0ba76517fbae2e7f939407bff3a1f1989bb9231a63bbe512dbbf88d1c3bfe389c3cf56e54bb0266623b0a64b2bc31edbebdcf5944bcab6e073d3016af3d55da793e403e843c7adf3ebe2e482abed5922fbc1767363ee8f2a8bd83c4babd830d2d3dc1bc3dbb231a173cc0db35bd760546bc276c123c76aa97bb0592e03ba3f39a3b24742bbc457f0a3b24f73f3a9da113bd8c943c3d9f9afdbc8ce7133d828ba43eb3c326be93f90e3c854285be2564783f5413973f5413973f2564783fc2296db99e459ebaf5dad13afa18d5b8dc4f95ba80b009b8570d67b8fa2d713acb0d39b9649c26bb6907f33ab6178b3a5213d4bb6904cc3964cf933bcb050f3b31edd73b62fdb1bbc26507bcea108b3b549d493c95667f3ca3c807bce806a9bcebc966bb57b04dba3c86123ae01c903b6e95f53a0df18e3b65f4a7bb2699a1ba021b7bba90357cbbf035da3b2da32db92685293ccad8b43bbf5792bca4782dbbb937a93a916b1b3c34f6503c72d05bbc9b6e74bd6e7ed6bc52104e3de344403d855659bb529428bdfc641c3cdeb8093d3893a53b421a023c3ef366bbde132abc70a261bb60f212bb3699933af87eab3bd179ce3cd86c223c82bc25bcfa29f3bcab24c9bd059497bc68c15f3d2364a03d9bcf543e415b0fbcf87636be9f1de6bd831c803de73d4d3eafeae7bd8c6623be4c5ebdbb2bcaf83b60b5d23cb16fb2bc6d3624bc983214bc8dc79ab904ce9a3c482c2ababf90bcbbf326293cf906cabb089782bd4d21913c3b8a92bc6b17a33dad32c03e78a905bed89d18bdf02f9bbe3a68743fb54a993fb54a993f3a68743f2805bc396ff129375b4021ba5e3afc39b90bfeb92623613a1414ea39702984ba5120ecba98ef65bbb27c223bd9cd6d3b84f8f43b58beb83b864e3bbcc898b2bb02d4b43bb6d2b73b3d6d66bbf96c11bc8c61b43a088d8c3bbf9385bb812ce5bac742a63966ec06ba3ef3f83a9255b9baee250ab8acb869b921f9b03ac24fa1ba560b84bb80d999ba0defb1bae2cdeb3bec79553c9abbb53ba54e66bae050a4bce9264bbd2963c7bcd224483da97d2f3d0dfe85bc60b5debca3ca8e3c8041f23c0479d8ba0b7b4dbc9628b73bf15f073c8bfd90ba24251c3a965e53bada86ad3a841f02bb35b30f3b908d3ebbacb05d3b41a31d3cc545203b0543b73bd6579ebc43a31dbd39dca4bc91d4a7bb2c93923d87e3743e0da6c33da65e5bbe82c959bed9771abd5499fd3d7cedc8bc75ad80bda28a003da94e86bcda27d43ba66f9bbc680106bc7187103c845399bb70cb573b5611203c5e5037bc2a0b823b3146dcbb523645bdfbfb5d3d22410ebd22613e3d9d5f843ea08350beb139bc3d047d74beb5cc813f932b913f932b913fb5cc813f32ba00bbe2fd9db8d749b339206f083b124d993b0f5ed2398e3206bb391280bb5f9eb1bb0758f4b929aea13b5f61373b4fa884bb3a0fadba051f89ba1eae9f3b558e5a3c099678bafdbeeabba29606bc5a1da23bfbb5673c9c0344bc71e509bc3abab03a707d4f3a2aa61c3b5ead79bb2436c23b2f8a3cba0f529437f72fb9bb4e4fa7bcd98e9cbab0fdce3b6107913c578f2b3db87288ba14e1acbc489fddbc0172f3bc2a75883c71889a3cbd9f113c54e627bd6fad11bd2b3a523dd9150e3de3449cbcddb619bd5eae893cae6b223d6026a43b11bf3b38cd2e71bbd07d0bbb660e1bbc542fc23b132889bb0f290e3cea633d3dbf881ebb86efbfbab8f13bbd71201dbe75c6efbb8edb743d2d22f13d8bcd8a3e003ec9bc4a7743befa1919bebec20a3c0f825d3ea294e5bd10ebf8bda1b5483d78617a3a577d453c20b664bd12e4b0bccefccf3bd3460bb925046d3c8d23bb3b88e774bc4729e03b943b47babdfe6cbd2ea73b3d152efdbce1e06a3d1302cc3e25741bbee81a1fbdfbd799be1da36e3f6ff39b3f6ff39b3f1da36e3f035589b98731533a6254e53976450fba4788d6bb18e69fba346f5e3b462d8f3bac13123c51b607bb053dd2bb7df491baac03d0bbc38c0b3cac50c73baf9cbdbb3b1f2bbc8ff085bc3a29c83b6f80933cadd8f33cc5086f3ccc12cdbcbbe0bdbc8f6e15bcb3a8bf3b957bb23b429a8bb9fbf02f3ce21ce2ba00dfd7bb770293bb426c15bb2ebe113c612e013cdcce29bc582a6fbc98f799bce0d4843b7834b93ce0234e3da34cc33c823322bd3153f4bc425a86bdeaa9223bb7229e3d225e8c3bdce644bd7cb69cbd5998fa3cecbfbc3d4c7cd43c3e5ae43bc13e4bbc015bb5bcf27812bd9c806a3ae38f1b3cb727e73c2e47c13dc6c034bc86a12dbd07714fbdfd1c2cbe22253c3d277ac63d4277563df8f4213e23f609be720507be8a0a743c4c97303eee15893ee6195abec2b87cbefc47eabc533c193d20fc433dc3b72cbd002a2fbc515c97bc5f6d97ba7c83e13c853eec3cf285fd3855ba0f3c1aa61fbd112829be550ab93b50046d3c9ed6213eec96163f2ba4fabddd0534be35b6c7be6703593f0c92a73f0c92a73f6703593f976b96b81309a6388b55e5b7699d9437844292b9097a13baede94c3aaea0b037068a22b9b7260eba5711283a2d111ab8fb4539bae96da5baa1563e3a79f8963af812af3a056c8039631457bab85677ba1a672cbacb29913a857839baf4c89b396673eeb7975f63b96a915739e71cb93893eb8a397f6dcf38823ba0b99bb2d2b7a8edd939400f3cb83f66a6b7052de8b8703dc83afa5b31bb33739f3adcca4d3a988cd53b0d168f3b2f75dd3a774df2bafed084bb505cd6393a830f3a9d1f6d3b48336139fc93993a23bec6b9636049ba0a77ff38db918c3a3e9b2bba409710bad4eaed39ea2c613a831e74ba541a0fba90e10e3a375e0b3be9ba39bb39de823ae287e63c1a373abc778f24bc58418fbba461a23d6e0e9b3d154e01be910100be6bc53fbcb004013dd61897bb7ed252bc6ac2453b1fa051389ca92a3a8cfd51bbe981d0b956f4a03acb0865bad604dab8fb12a3390631f5392a39edba23c2613af4b9e13be3a0ce3a436b913b37e907bbfe1ea23d107600be2d7c9a3d098800be0f3d8a3f14c28a3f14c28a3f0f3d8a3f7cc72738863cd5384b1c0db89652f0b845cdafb9f6ce22ba38f4233a42240339286d3fbbb0b2a3b93521983a800ff13a32254f39ac16dcba81156fba69970d3b10f42e3bb61501b9e57c083aaaac5cbbe37130b9cea68139421383b9e3b6a13992b2cd395cddb2b8ef6454b865e08eb938977e3902cd113a7bb877ba45bdab38a7f2b4badc6a103ab9d8e539d53e243a656ffd3a069233bb17d5bd3af29f85399b55373a5a62413bda19c83ba2eb093b937000bb22da76bb9ebe123b69118b3b387ed73aadad7e3b9c3b9cbb18bb48ba49656bbaaaafde3abb8395ba0f095039fd210ebba748283adf99f7393544403a5999d53a2a57633a4a150fbb977b383a461bef3cc96941bc4ffd32bc0f2a65bb86f4c03dae64a23d04780cbeeb8407be68e36ebc65a4313d01e3c3bb03d5abbc5153913ae1fc21bb768c853be11d22bb43a83dbbae6818ba70d06339cfa6503be81e7aba9c58893a5bc02ebb1c44213bf2f87a3b629eb03bb6f0cd3ac42b9e3a5678c73d12bb0abeb0a4a33de39f0dbe1298893f112d8b3f112d8b3f1298893f2a710139efafcfb8f91aa6b8b4c412384e4e26baedb327bb1b133c3bb929eb397a968eba8e372f3beac82cbbb178513a04f7883a5ea7c339075d5bba63ca00bba85882bb0b7280ba817f1f3bbebb333b931d523acd3d69bbbf93c13a79d2303bfa32eeb871afdb39d4e8af3a90a4cdbac554443a65583e3b2a5935bbc92f64baaa933f3be699983a229c23b99c0187bb380a83bbcf2564ba2be07c3bbdf8883902ad8fbcff2831ba7023283ca6a2b33c5fb9df3ced7170bc741f38bbcf8203bca92a903b1b52cb3c6ae153bc9f4898bcead62dbb41b7553b8bdc26bb92c9cd3ac14aa7ba66eb87bb803df63a3f8b6a3b12bff1bb20dce03aa6cc613a3ce17a3b9a538d3c959969bc0fa419bcc31f4a3c45bb033ef50a933d3f8e17be277615be7be49abcd0ca703ddab9e63b169e4bbd2f03b7bc04403cbc62ff2bbb162d113d7c84013b496db0bbbad0543bb2cec23a538ca23a07af30b98d3e133b03bd96bbfeab44bc5be6163c27cf34bb837da73c8009093ebabe08be1509863d865024be7faa873fbbc78c3fbbc78c3f7faa873f6a15a8385f505cb896770fb93771cd38b42611ba5ed45a3959259f389021683934eb36bae49d09bb0b48033b4f00f53993a9ba3971558abada0fcfbae7fc7a3a101ad03a9046f73a7de095baec694dbb1468a6b9d145b93a2d2dbbbaf34558391c26a3b9474896ba39a7b43aea028738155e40b951e38138e7bce539cc619ab9ddf70ebb4748d9370ce44639e05e173b63dd7a3a572d79ba1728383b99e61abbb3c4fabb367802bcdd27913c16b93c3c1c295bbc1ecfc2bb8ca4c53b5ea4753cf487c73afc23b5bbdd0a093b9f6e2a3b8a2bfc367c3b733acbba19ba9e3bc0b92a1d2aba8354b33a26fcb2babb78ce39a6b3e6b9c079683bab6162ba4366debab411993cd68a7abc74b55dbcc8c2733cf3590d3e6bf9bb3d8a4224bec58128be329ab0bcebdd8a3d889492bc3e3fdcbc7d6b6a3c711194bb5cd6a73b57095dbcb69012bb8504633bff3b37bb01fe633a911ea9395c4164385cfe48bbac14923a07a2b0bb973e913cd9bd15bc863d2f3ca5e5103ee81423bee81fbc3d31ac2dbe6493873f53838c3f53838c3f6493873f346ef039e6e60eb94259cb39fac337badc9018bae5f1fd39a9b8f8b967aded390592e4b986e70dbb408b0f3b0944013a987d4cbb4d1c013bf24f82bb44267c3b6b13263c2493ddba32bf83baf4ed10bca53c6fbb9814ab3b371d3fbb78798b3a5bd38639a27908bbb741083b7fe485b6d63d4dbae5b9353970e2c8b934e5743a237b13bb620c773793f00a3aea102d3b6e41133cb53618ba68d48eba469319bc32e0b1bca52e36bb7a9ba83ce6e0943c7e3991bcd9589abca7f8a73cbf4ba63c2a62073b9ec60bbc0e50d1baaec4043c3ea3473b961b2e3bc3e2acba2dff99bb15339539c3655b3ae88cd7b906a040baf0b2bc3b4e7d363a85b3a7bacdbbdabbe6e0dfbc4e92d6bb5f643c3be27e253d9d2d493ecb0c483de6a92bbe057830be3bbae0bc0f34003ea8ec45bdd49655bd1b7f8d3c17bf33bcb4796b3c69ac8fbcb23711bca69ea33904192fbae06c073cd0150cbbe46937bbb2e7dd374c825b3b198294bc4a4eac3cca3602bc1c69a23c0f97563e827321be832d383d140645be3d3c823fd0a5913fd0a5913f3d3c823fbe1c93391af83ab91bfc7a39a48782b9eb8bb2ba7841bd3a03bd00bb7d7ee43a0b61803a0955f6ba1e208e3bdbb440bb2ddf943a4170603bdea624bcacee773b34b7d73a2f7e92bae5d4e83b5e4b1cbca8769ebb34be993a4a792ebbcbb2ec3bd55fa73891f221bbb11d053b992378395299593a2f71a3ba3476913aa46a93babf2f78bbf1d0ec3a8ce74fbaa38e8b3b06a3823c068cdbbb1a1f8cb8835a53bc4c1c4fbd1e8a643cd1eca83c44bdfd3c1e7eb53cb69b50bdf24cb63c90d0593c81bac8bb9acadf3c2728a4bcbc0a85bbdeabfd3b7cf577bbdeca693bbca4dfbbfec6deba43d6a93a2f9d1d39e6f1923abd5a643c966bbeba2f139cbbd81439bcce414cbdbf2cbdb86f05673c2b043f3d5fe8673e3afedf3ca14c3cbedccc25be9d750dbdf2fc1a3e76d0cebc97fccbbd225646bc5d35e5bc79717b3b1fec263d47f2033a96704cbb0f58e73b406db0bb23708f3b86488bbbb53ad9396e2244bb805545bd1b249b3cab99043cebb91a3d2e86803ec57025bed6fb3e3cd42748bee1107e3faaaf943faaaf943fe1107e3f896030baad4f16b974bd5735add2793af5f08d3a6558483a9fa179bac60782ba4948dfba798309bb7f3b3f3b5930a33a08e4973bff8bfe3ab3ecddbb7df528bb35f1693ba81b9b3b38a589bb313fa7bb97d7703a2351223bb62281ba9d9c21bbe2421e39ec5948ba08113d3add54a537d175673ace9e69ba3dd9473a1d2b5fba81f1a7bb0d92483a34647738538fa03b67110b3ca358193a9efd383a377639bcd1f608bd8184a4bccb491b3de9ad013d3b818bbcbd0273bcd93b393c87f7be3cf4b2533b8e5245bce2b9813bee47a03bdead1abb704fba3afef62ab932d8893a2a95e4ba33884b3b6e1edfba3124463ab5fef53b2247243afc75ae3ae46f31bc7ac1aabc658549bc232b18bc48844b3d0c50593e7bfcbd3dec3047bec1b74fbec8f21bbd99fad33d59c7b8bc66a732bdcdb5c13c5a824abc13720d3c722f8fbc9ac18dbb69bfbc3bb76785bb40a2ee3a05a6b73bf920e9bb03e8b63a9f913ebba3fb08bd5f29263d0765bdbc6e21043dcfbe5e3e556d46be2fb8be3d565756beac76833fc7ba8f3fc7ba8f3fac76833f29d3c1ba3696bd39de9e8939b72a8c3a8ccb493b52af7b3951a4adbac4c225bbc022b2bb1ab10dbb0c0ea93b86755e3bd81eae39e709153a34e48abbd95ce73a15ed493c73ebc73af7b4d7bb65aa1bbcaac1feb99b880e3cb504a0bb1d4482bbc607123a3ca5d6ba3f4afa3af02f98b9c6f4743bb07cf3ba54bcb1398d2d2cbb213268bcb46c323ba08a163b78cb393c030c0b3d29c392bbd40e2abc12abc4bc140e35bd6655bd3b7ad0d83c0774d93c08c1fcbcaffb02bd9c251e3d79bb003de7d33b3b1a8fcabcd4375b3b3f6c923cb97414bac6b1b03b91d413bb09c645bb09e2a5bb9715b93bfca739bb9773433b167a083d059cebbb6acc8dbb60c4d5bc5da2e5bd15c7553c7fafef3cd44eac3d7c36943e152ed0bbbb7340beaddd40bef86c37bd4db94d3e852ab0bdae3c9dbd90250f3d46cab4bc652dec3ce34111bd69705bbcba34623b750faabbf5e7593caad77e3a872cfabb5cf21e3bf6a4103b067a46bd0964093daf0ec7bb9000143d5058a33e3f4037beb0db20bcc71365bea059733fa39d993fa39d993fa059733faa85cfbafbc42e3a77457f3a7455873976d904ba0784003a042fe0ba2e48a03aa5acfbbabdc4dabadade693b42cdae39670805bbe38213bb8e8ec93ace8e2f3b4dfc193ce3a1233a589f2abcd1f337bb6eb79b3b2125413cfa0044bb209759bc1c0886bb4a867cbb8bd9f73ade7bcc3b8f7a083c41d667bb3fbb85bae1ce98bb03ef5dbc4a999a3b1bd05b3b37d9073cbb0f033d55bd42bcd6c821bcb35079bc18cc2dbd67e6e13c8ae6823c70ec373c5e10f2bce0275bbd49d5593d43e6253d0136b43bdc2f56bcf01d5dbc8f0f8e3c960da33bcff7083cd2adb13a412f68bc42fe73bc8672fe3ba9b5643a1149fe3be2a8563daf3b29bc1ec48abcb4dd00bd0b2108be01aeec3c65ea433d87ff923d2b05963ef0b747bdb13e47bea28e10bea694c4bc6b5c783e1076b0bd1f1c12bee521b0b92d8731bd1fc91b3d3d9e5e3c88e9c1bb91f967bac1ffc5bbfdfc2e3c82313c3c5274d2bb812a38ba470ad7bb3dd2c3bdbd1bd83c22c5c33c3e127c3ddf42c13ef9973cbe857e76bde97d68bec7676a3f9e259e3f9e259e3fc7676a3f374d1fb9fdb1e7b94466fcb90fd1aa3a370d7e39a11eb13a58fcce39a41a0abbaf3efcba010d61bb13ea1f3be9db6f3b29a8043c8651a13b8d923ebcc9c6abbb3878b03b18bad33b250972bbee5d18bc672b993af64f4f3b7afc3cbb3733cabaeb61ceb9f05e87b97372f43a950972ba47b3f9386a141839c4c4be3a862bfbba2ec3bebb169dd3ba7e243aba141c133cb67b783ca173b63bf8d2b1ba5987b2bc633e57bd64a8ccbc10894f3ddc46373dda798cbc74f5dabc5a0b823cc692003d66e00f3b200139bcfe06853b1a48943be1e49aba8890c73a1fabe7baeddeb43ad722ecba4be7213b75b86dbb81b16f3bcc06703cfe0cf8390b2b9f3b058cb5bce33640bd472d4bbc4999dcbbb343983dd948823eadc0af3d0a8259be366861be18dd44bdf76f083eaaede3bc433071bdc4bff93c38b7c0bc2a684e3c334a87bcc36119bc299e053cd0d58cbb8a8d933b4a7d0b3ce14739bcd3948b3b68ddb2bb883958bdad92533def01e6bc0d42413d1c0a863ea14055bef3ecac3d51bd6bbe7dcf803f3529923f3529923f7dcf803fa80885bbe8ef9339beaf623a0f73633b7cb60f3c9c3da1bad8cb21bb71a2c9bb42f324bc2b23173aa310ac3bc44ec33b50a249ba68f353ba035e68bbfa0d573b8da4953c6f6b793a0fa812bc82c15abc350c3a3a0b46733ca06a23bcb628cbbbd4b3d8baa1ab7fbb0726d83bee6623b931781c3c0bcbbbbac8e7c6ba48fbf4bb3e5bf2bc8dd67d3ba2fb013cd43eac3c4446613d1dd2febbaf9b9fbc71500ebd3a2151bd49bc653ce086e13c48ffcb3cc69330bda3a924bd0165533d48fd253df1798d3a1cee08bdb41c953be816d73c18dca73bb8ea303cfaf708bc12dd03bc1c5a56bc84e0bd3be3cd5bba21141c3c70f97e3d51f432bca57629bcf80940bd7e6031bebbafc83c47194c3d3babee3ddd93a83ec25f35bd2b9045be1c783ebeae8814bdb0b6753ecc7be4bdfb87cdbd1cbf1b3dbf71d0bcf4401a3dcb272ebdbcd5b5bc64a9aa39481543bbbc3cb83c1beb383b7bf926bc6761883b9303653a700693bd08500e3d7dee8aba08885b3d9970c63e402f36be372251bd1e4881be62146a3fc8339e3fc8339e3f62146a3f5549c0bb37f8243bb2571b3b7d39fa3abf9f163bdaba87bbc5a4fa38cad16a3a12ba96b802ff453b67ec53bb1669213a633f02bcdbbbc3388b71023c4a5aa03a08ab2a3c597bdcbba90613bc8685933af80c6e3c8db58a3ce59345bc228ba4bcae3a45bce5b973bb90d2e53b46dd1b3c2fe8bc3c73bbbabb60b317bceafe30bce993c9bc25f84a3c0d28533cc3f07c3bc1ce023dbb49b2bc65386fbced9d47bb051b11bc04ac053da54de9baa58a3ebc993a9abd231418bd6b879c3d2a194d3d230b2b3c417e30bddcccb4bb78d70b3dc5845c3c18a2803c0115ccbb62b6b8bc53053abd24870f3cbe395c3c9ff0de3ccb31c63df460cdbcae0114bd22c23cbd013e45be2bb9743dc611a53d02a59b3dfb4e973eeefceebd12533bbec4a7b8bd10a51f3d36cc953e181c16be46de49be7058cdbcac2909bd033e663d4737543c6b68cebab0959dbb00c208bc83c9383c4caf213d88f1b2bb9a59d7bbe0e2f4bc8b281ebe03eef53c64d31e3d4675d13d1d36fd3e4ab23dbe58770abe4b2d8bbe093f5a3f0570a63f0570a63f093f5a3f904096b8dfeae4b7f923a6386b14933750118b390d3da0b98d4dcf3842d5d4b71940ee396a3e74ba2a11613a030a0fbac1b7a2394f3eedba4837f53902fb613aa15edab889efa03a3bee64ba968bd0b96ca910bae4958c3a1da32bba04110039d20bb938f32e63b9db735739fca7eeb7041b92b976e44c3aa57a13bab890ae3704ddd9396131a8b77bdf3cb8ec0fe7b8c1260f3acac339bb83510b3b50e6823a99aee13b6f6d913b17a2ce3ac8d507bb3c0652bbc03c53387ad62a3aafb8453ba78249baeca6993aaeaac6b907cb6039daeb9b39342e913a8e7e39ba2c782cba00db21b915f6273a60470eba011619b8725fc83a615a9f3a846531bbc1dd4d3a2d8de63c279524bc093d3abcfb3e8fbb9a1ea23d8f7c9a3d3e7600bedd8700befbd952bc5107013dc70e97bb0fcd3fbc56136d3b279cd63943b50f3a81d584bb3d6377bae966803981f656baee0baf3a1e7639ba6e5c3e3a7a71a5ba1e13973ae180d53b7c79dd3a67188f3b0629f2ba3f61a23d3e4e01bece0e9b3d680100be133d8a3f0fc28a3f0fc28a3f133d8a3f29442838b9dd0cb80453d5381fc4f0b886227d39b18a77ba0cf5113a4fccab38ca290ebb9ab2f7392f28283adf78403a4cd379ba44c62ebb5150893a0d3f213b9de5503ba4a518bac0f562391ecf3dbbf6c14f390c81de3abf8d95ba7be26aba92d38eb95582b2b8f3fa53b8aa89cd3956d7afb95701243a82e022ba2e4e03396608b5bacba6e539fa6b103a367d243a18a2d53a240f0fbba744633aa85b383aa4cb7a3b7615ce3af3a3b03bfa639e3a0cc621bb7f1e22bb067c853bcc21913ab12948ba1c977e3b1c629cbbaaebd73ab917a239672a81394a2b83b9e11630b9d3683fbb3e0e983ad274a3b9d30af13a8549fd3a27d1bd3ae98f33bba52a8639d823ef3c050c33bc547541bcf00a65bbd076c73d32a6a33dfcba0abee59f0dbe1be7abbca9ac313d1da3c3bb76fe6ebc6f208b3b0bf876bb66a4123be25900bb1ede5cbbd51902b93d62083ab3372f3bb02c4f398f296fba2204dcba9b950d3b2dd5363ab029c83b1275413b62e4093baaf2c03db9770cbe9666a23d2e8507be2a98893ff42c8b3ff42c8b3f2a98893fe5ff00391384a6b80f11d0b8a2051638dfa3443ab62835bb91853e3bb4e065baef3ba8ba5d26f63afdea87bb1a336b3b0be9a33a0929133bb67630b9582997bb4154c53a67a9b0bb684b543be984013bf9e3c73a8667563b653526bbe1d22bbb245ecdba1545da398c8caf3a593ee9b8725626baaf293c3be3a027bbcdf0e9390a5e403b39e826b9851f983ae94687bb951ff2bb5373633a9bb6e13ae6cd7a3b93f444bc9f0434bbcf14173c0482a73cd2a7113d1f243dbc63872fbb1b38b7bc3f7498bc8489cb3cc37253bc470a8f3bb5be323b9d6568bbde53c33a6bd0443ab9b18fba7ae52cbb4e232f3b99f8543a8c9383bb0a477d3b168a62ba8f358b390bbb8d3caa251abcb2156abc66264a3c02fc083eb212863d1dba08be244a24bee3d24bbd6d02713d6277e83b31519bbc8ce203bcee4371bcc96b3bbb6798e03c34a7333b8b4d81ba04251f3bd3d181bb4e178a3a8ce85bba8204c339a65c01bb53e08fbcd85b283c76012ebabfb1b33cefac033ee38817be4015933def6f15bedfab873f33c68c3f33c68c3fdfab873f87efa738f68b0fb90a015cb8639ccd38c46d40b904c7e539d2eb813834679ab967162abaebffb2ba2354b33a8778ce395f0ca93966fc48bb6bc26438df11923a5700643ac707633b933b37bbe49412bb0131c0b97334733a64bd19ba8c6ffe36f7ef86380e4696bab1a7b43af32ca3b90e2711ba0a419f383ac55a39fb226839cbf60ebb06f94639f878d937895c173bdebae6b95f5e62ba7477683baf61deba24a1b0bb0abe15bcc73e913cee3c2f3c160a5dbcc21294bb1ed6a73b026d6a3c9c6d2a3b3423b5bb8a0b093b0985c73a254f5839fe44b93a352dbbba4d69a6b9d2d236babb46033b46a109bb94f2f439c1de7a3a4f25383b2c2879ba9ae51abbbf11993c4ab55dbc928a7abc57c2733cb4e5103ec91fbc3dfd1423be1dac2dbe6e3fdcbcfedd8a3d099492bcc09ab0bc6aa5753ca8cfc2bbbda3c53b80295bbc876d4dbbd242f73ab1df95ba8c24d03ae245ba39fc0dcfba744b8aba0a187b3a06c3fabb3528913c737802bcd6b73c3c0d5a0d3e9c4224be49f9bb3dc08128be6193873f56838c3f56838c3f6193873fbd65f0399855cb39efdf0eb98bbf37ba4d434dbabce7c8b9bbc6353979e9743a253495397c8cd7b9a7645b3a7ba040baaa190cbb2224dd37fc6737bbfd855b3b6b6d073cb69aa33918162fba3d3811bc19ff99bb331c2e3b52e3acbab6a2473b367c81b62f7908bb1141083badc286394b8418ba00b2f8b9b7e9fd39d095ed394e7e13bb62f40a3ab40777375b132d3b11b4bc3ba7b2a7babd7a363ae7bcdabbd48194bc7e3602bc1f4eac3cd168a23c7fac8fbc40bf33bcc1796b3c3a7f8d3c91c3043c21c70bbc734cd1baef66073bc6778b3a8c14ab3ba51c3fbb063c6fbbe286e4b9888b0f3b64e80dbbc040013a5241133ce4d08ebae93b18ba2e9319bcbbe0dfbca0643c3b5792d6bbcc7e253d1197563e8a2d383d857321be150645be089755bd1034003e9eec45bdf2b9e0bc2c4ca63c80589abc5ef8a73cfb3991bc17ee10bc3d93ddbaadc083bab313263cca7d4cbb995082bb8b1d013b90267c3b11e0b1bc7b9ba83cb82e36bbc5e0943c992d493ee5a92bbec10c483dff7730be3d3c823fd0a5913fd0a5913f3d3c823fbe1c93391bfc7a391af83ab9a48782b95299593a3476913a2f71a3baa46a93bafec6deba2f9d1d3943d6a93ae6f1923a23708f3bb53ad93986488bbb6e2244bb406db0bb96704cbb0f58e73b47f2033abca4dfbb7cf577bbdeca693bdeabfd3b9923783991f221bbb11d053bd55fa738eb8bb2ba03bd00bb7841bd3a7d7ee43abf2f78bb8ce74fbaf1d0ec3aa38e8b3bbd5a643c2f139cbb966bbebad81439bc805545bdab99043c1b249b3cebb91a3d1fec263d5d35e5bc79717b3b225646bcbc0a85bb9acadf3c2728a4bc81bac8bbcbb2ec3b34be993a4a792ebba8769ebb0b61803a1e208e3b0955f6badbb440bb06a3823c1b1f8cb8068cdbbb835a53bcce414cbd6f05673cbf2cbdb82b043f3d2e86803ed6fb3e3cc57025bed42748be97fccbbdf2fc1a3e76d0cebc9d750dbd90d0593cb69b50bdf24cb63c1e7eb53c5e4b1cbc2f7e92bae5d4e83b34b7d73a2ddf943adea624bc4170603bacee773b4c1c4fbdd1eca83c1e8a643c44bdfd3c5fe8673ea14c3cbe3afedf3cdccc25bee1107e3faaaf943faaaf943fe1107e3f6a5c30ba14045135b95e16b9b9d5793a7b77673ae8dd473ae49c69ba95335fbadd91e4ba1b27dfbadd884b3bc829463a27a4b73bb9f0b63a7220e9bb53913ebb3daaee3ac7bcbc3bde6685bbc7c28dbb3ed6893a7756ba3aec002bb93dae1abba8e9a5377c6248ba7e073d3a3c621e39bdf08d3a409c79ba9f5b483a050c82bafff0a7bb60627638a991483a0a90a03b6efdf53b0483ae3aaa3e243afd6f31bca4fb08bd7c65bdbc6c29263d8f21043dc02f8fbc5f804abc4f700d3c0bb6c13c5548a03bc85345bc77bd813ba9af533b979d21bb4954223b882381bad3d6703aa849dfba123b3f3b3e8609bb0937a33a75110b3c2602393a2e5e193a9c7639bc19c1aabc2d2c18bca58449bc1f844b3dc1be5e3e2eb8be3d456d46be545756be34a732bd5dfad33dc3c6b8bccaf21bbd2df7be3cbb0073bc4139393c99808bbceb3ea7bb591a9b3b81a689bb91f3693bc2e2973bf5eaddbbed91fe3a29f728bb03f708bd1e4a1b3d3b85a4bc1dae013d0650593ee13047be78fcbd3dc1b74fbeac76833fc6ba8f3fc6ba8f3fac76833f0ed3c1ba83958939c88ebd397c2e8c3a16f6743bf1adb139b776f3baf02f2cbba8e2a5bb46a439bb0b15b93b5e72433bbaf87e3a83ef1e3b152dfabb65a0103b94e6593ccf36623b4a10aabb1d6f5bbc2ac245bb89aeb03bd2cd13bbc88414baa23898b9369dd6ba0144fa3a8a07123a38cd493bd69dadbafc907b39adc525bb7a3268bc4d89163bf36a323b87cc393cc879083d85cc8dbb8c9bebbbd8c3d5bcde7946bdee0dc7bb1564093d4500143d244211bd9fc9b4bc2e2dec3c9c250f3d376c923ce68ecabc4f345b3b0bd63b3b524682bb0a870e3c9001a0bb9b9dfeb90524b2bb4c0da93b3ead0dbbe4755e3bc50b0b3d9c0e2abc11c392bbb4aac4bc74a2e5bd8aafef3c21c7553ce74eac3d4b58a33e1bdd20bc354037beb11365bea13c9dbd42b94d3e8f2ab0bdd86c37bd89bb003d5bfb02bd80251e3d92c1fcbc09a91bbc96efc73ae4b5d7bbb2eb493ccd5dae396ae48abbeafd143a5553e73adc0d35bd78d0d83cc055bd3b8473d93c7a36943eb27340bea430d0bb9ddd40be9d59733fa59d993fa59d993f9d59733f1787cfba10457f3aeac52e3a1a598739ca7a083cefc385ba43d267bb1bcf98bb27fe73bc79bf643a3671fe3bf948fe3b64313c3cc52738ba5074d2bb710ad7bb07fd2e3c66fc67ba7affc5bb82e9c1bb712f68bcfcf8083c36a3b13a2e0ea33b6a7bcc3b85887cbbdddff73a0e0886bb20db04ba4c26e0bab373003a7648a03a32ef5dbcc8d05b3bfc989a3b5dd9073ce6a8563d77c48abc213b29bcb0dd00bd36d2c3bd2fc5c33c9c1bd83c36127c3dc69e5e3c7c8731bd72c91b3dec33b0b9770f8e3cb42f56bc1e1e5dbc6136b43b409759bc1026413c4a0544bbe0b79b3b4eabfbba41dc693bcebfdaba4dc9ae39b00f033d66c821bce9bd42bc625079bc0d2108be6dea433d10aeec3c85ff923ddc42c13e507e76bd05983cbee47d68be161c12be595c783ef275b0bdd794c4bc4de6253d25285bbd92d5593d7510f2bc36f437bb21a2233a399f2abc42fc193c230805bbc58ec93a588213bbd88d2f3b20cc2dbd76e6823c65e6e13cb3ec373c2d05963ec13e47beb6b747bda48e10bec7676a3f9e259e3f9e259e3fc7676a3f254a1fb93d61fcb927b9e7b914d1aa3adcccf9388fc5be3a961118397f2dfbbaa925ecba49b96dbbc7e7213b4cb36f3b7f7d0b3c16958b3be64739bc0edeb2bb0c8d933b2f9e053ccbd58cbb8f6119bc33e0b43ad090c73aeeabe7ba83e59abadd0972bad25c87b99072f43a3464ceb96f107e3977f3ce390821b13ae91a0abbfec2bebb30233aba879dd3baf41b133cd806703c2b2b9f3bb60bf8390e8cb5bc6c3958bde601e6bca792533df441413d454a87bc3cb7c0bc37684e3cd2bff93c4348943b150139bce906853b19e00f3b3034caba8d4f4f3b8afc3cbb632d993a0c41fcbaa3ea1f3be80d61bb78dd6f3bb57b783c80d3b1babb73b63b5687b2bc033740bd7699dcbb1d2d4bbcc243983d1a0a863ef2ecac3da04055be4ebd6bbe3f3071bdf56f083ea7ede3bc11dd44bdcc92003d5ff5dabc4b0b823cee798cbcb85d18bcecb9d33b750872bb9d77b03b7ca8043c97923ebca151a13b7fc7abbb4d3e57bd09894f3d63a8ccbccc46373dd848823e0a8259beb0c0af3d366861be7dcf803f3529923f3529923f7dcf803f8b0885bb25b0623a45ed93390873633b2d781c3cdee7c6bacccabbba49fbf4bb295a56bcbbcd5bba9ee0bd3b1f141c3c26eb383b3f61883b76f926bc3804653ab83cb83cf5a9aa39221543bbbfd5b5bc05dd03bcb3ea303cf7f708bc02dca73b566a23b9a5ab7fbb2a26d83be7b3d8ba69b60f3cf7cb21bbe13ca1ba69a2c9bb3a5bf2bc9afb013c73d67d3bd63eac3c71f97e3db37629bc57f432bcf50940bd700693bd65ed8aba03500e3d03885b3dca272ebdbb71d0bcf0401a3d1dbf1b3deb16d73c1bee08bd961c953bff798d3ad228cbbb1746733ca76a23bcda0c3a3a38f324bcc510ac3b2d22173aad4ec33b4446613da39b9fbc34d2febb74500ebd7d6031be4a194c3db7afc83c3aabee3d9a70c63e3a2251bd412f36be1e4881befc87cdbdb1b6753ecd7be4bdad8814bd4bfd253da2a924bdfe64533dc69330bd84c15abc2f6a793afda712bc8ea4953cb6a249ba555e68bb28f253ba150e573b3a2151bddc86e13c4ebc653c49ffcb3cdd93a83e2d9045beb95f35bd1c783ebe62146a3fc8339e3fc8339e3f62146a3ff047c0bb435a1b3bdafa243bd429fa3a81e8bc3c7db317bc59bcbabb04ff30bc1d053abdf7395c3c46870f3cfdefde3c04b0213d0a5ad7bbf4f1b2bb1de4f4bc0ec9383c6e959dbbbbc108bc9168ceba95b8b8bc09a2803c5814ccbbf0885c3c73dd1b3c69ba73bb34d2e53b953a45bc549e163ba244fa3888bb87bbcce76a3a7294c9bcbc27533ce7f74a3ce5f77c3b9231c63dae0114bdda60cdbcbbc13cbd91281ebe56d31e3d95edf53c7675d13d3d3e543c962909bd263e663d565ccdbccfd70b3d557e30bd93cdb4bb680a2b3c768aa4bc59b58a3c8d9345bcae0b6e3c22e796b821ea53bb7b00463bdc5f213adcce023d13386fbcd349b2bc50a047bbee3d45bed711a53d5cb9743daba49b3df235fd3e55770abe43b23dbe242d8bbe4fde49be32cc953e251c16be98a51f3d51174d3d071418bd69879c3db7399abd2e77933aaa7adcbb100613bce7ab2a3c163e02bcb970023c1eb0c338bd56a03a212011bc1254e9bae4ab053d19843ebcda4e973e09533bbee9fceebd59a7b8bd093f5a3f0570a63f0570a63f093f5a3fd3ac2637f3063ab9b8908c35ee2e19395882adb9c09a03397a1b5e3977c58c38e50d923ab64b19baae5d213a57eea5ba607c67ba127d0dbbf4c1173bd10a023abdbc8a3ae334bd3a7c6609bbed8d1bba38f720ba380f4c3aa802a2b98b2b5b39f3d635bacadfe539b90d1bb923c7d3397d061bb9d23f0f3ada3beeb98f57b9b7dfbe77b8b9911eb976193d390aa99a39b18b813ad4ec17bbe84ba43a60df5f3a9d57d43bc3c98d3b5c28d83aed8bcbba519e8dbb7caa523ab073783a207d463b091429baa9fb7d3a428ca4ba5eb2973a65ff2d3a4cd5053a699fc0b80b998aba167d8eba021dca398206dc394cf3fe3849bd123b262feb3a461a4bbb9bf6ddb82340ec3c2c1044bc6c082dbc5b8d7ebbb2c7a43d7be99c3db76601be013d02be972d63bc4a14013d6863a2bb0c132abc599e633b4808aab9aa9bae3a67e779bb4056a0ba8c45a139b049eeb94ad0993af908e7b7fe89ac390df8c8ba6289943ac9219c3b1332de3ad142933b88812eb9668ca33d47b301be50bd9b3d956200be44468a3f09b48a3f09b48a3f44468a3f2b0dbbb95cbd99b7f29c743983f8133913ea513aea134fba10c9a0b9f6e582397c52e8bafb7449393cba4c3a475e2d3a1ab1c439469e32bb13fa933a1c837e3aad9b243b75f425ba4d9dfa3930922cbb398e01bb98b5113b14e9bfba123a963abcb6c1b9f59088b91c378a39be14fa39348657b9a5e0593a825c88bae6a99239128967ba2a63863a45af373a3aa03aba618dbfb98b4c0cbb5c399a3ac2be153be365e93b9eb98eb89d8eae3b890537b997529fbb99529c3aa26d0e3b8fb7c73a3298bdbae9ae1d3b097f6dbbbcfb333b3a76ad3ac86cd939ac7b0ab93495d4bace9424bbf276a5b96ff95f3a79f9d73aca55113a9233133bb64b27bb10ab293af304013dede953bc3d3343bc69dd60bbf0e8c93d5adaa43d4cf808be85b611beb4d4c4bc31ce343defc518bc5dc50ebcff66bc3b4bb677bb81f2163bb2b13dbb8a96ceba64118d39415106b935c8963a34193b3a560bec3975610dbbe651313ae79636ba03e0f03b39e8df3903a0963b6751c03db8930cbe9caaa63d0a3409be449f893f111f8b3f111f8b3f449f893f7e9b0e38c8919db940873f39e23fcf380a007d3a69322fbb06a70b3b1809e3b920141dbb6f6b423bdd8433bbeb99c33a6e160cbbee1691b95880a63aa8f7ee3aa0bf3b3cb689ecbbeb92b13b7edd25bc41f7c4bb281eac3bc518dcbb1095e93b1b9f12baf82784b8f484ad398e5ccc3998012fba5b26213b5fde08bb0222c639175b143bb43292ba8f861b3bb8ab6bbb15f19bbb1b98553bff83fc3a89b96b3991ae0e3ca8d7abbb066f663b0e89cb3ba7a13a3b98e3683b3a22663bb59c33bcfee80abc55d7f33b77de11bcdf0d213c6cf1763bdd006039958f8e3a08fd8bbb1842fe39f2108fba51544cba953e893a5c79ebbba592053bfafd5bb8b1a29a3bce53ce3c323815bc902a8bbc928fd93bcf57013ea695823d8a3d00bea8d525bebc933cbdca757a3d08db81bcdd45fe385420093c8bb61ebcfc3ab23a77f83a3b9d93feba912173bb555cdd3b3704d5ba391986b9690f81bb0fa9043b1a99a63a561406bcc156263c87d164bba540653c90f0e23d4d6711bebf229e3d600410be8a09883f87888c3f87888c3f8a09883f5ad487b9d9b99db8fad1ea3652dfa03912b91eba012585393bd975390f721439129b5a39719d85baa3f77b3ab449a6b9ae435d3a38fb81bb0ce41d3ad933273a6a5e8bba9bc5a53bc7b15ebb125da7ba4880a9355bc81aba33af4b3a2a1423b889b105b9aad355ba822d6e3a37ea78b75256ee377194a83afddd03baed4154ba773bd1ba24646bbad2f2f139918d123b01931fbbd70f36ba807a5d3b7e63fd39f03576bb6b7034bcd4d59f3c72501b3c062561bc6f67e2bad880ff3aa062703c20d3503bee05b2bb6774243b8e10d13951bf1339ff7fa73a581883ba904d08baee14d3b91102823990dbb3ba6bc9a33ab88b253a04dd843b32e2c7ba477c38bbadd6a93c611255bc7ee288bc3ebf603cff18123e61e0bf3d416422beada831be1be1fabcbbd6883db9628ebc6ecc8dbc28276d3c1b2cefbbba54dc3b275743bc41a03fbbcf84073ba077eeba736ded3a9862c139f44571bae6e4a6ba3339073af0501fbc31568d3cfe71e6bbc8ca533c9ada0a3e443825bee409bf3d235626bea2c6873fcd4c8c3fcd4c8c3fa2c6873f8770163abd73d9387c870bbaf5692db97d4fa9bab3e3523a46c41d3a73cb6fb88ba1b43ae8aca739c3f236b9e365caba7623f839188246bb1320ebbaba411c3bcceffd3ac03aa23b1a59d3baeb5bc6bbca9021bbe2356fba02caad391b70423bf9dddfb82826e0babb2de33a5e1b83390c6305bb9c521fbafa48ba3a85b8aa3a768dc23a8449c7ba2602d2b9bcea0f3a541ee8bb7c747c3b3227ef3aa342ac3a4cf9faba5eaeb6bcc273de3cd050443ca807c2bc747e0e3bc291053b7733ad3ca6b64b3c341d22bcc8de313b03208dbbd5810aba5797bb3bac8b96bb37a097ba6679cb3a89d61b3b21c540bbdb275abaac624e3b4b893dba6dbe163bcc1ddbbb6ae631bc3a91393b0ea3a8bc7af7193ddfb14e3e13c46a3dc83016be1ce255be84ac80bd1e60e63d28e940bded4f8dbb479bbb3cafb1afbcb63eb73c9e9d9fbccc3efabbc67ac2b93f9784ba7762f63b1a5401bba98286bb0984fe3a66be393bb42490bc9b73a73c0c1a99bb2e85803cceb62e3ee34c2dbe02eb873dfbe725be0e0c843f73d78f3f73d78f3f0e0c843f7364383afcc7ad3ad915b2bad7822fba763845bb0f1440bb4350a53b300a7c3a83d5d53b2dcc673b13b609bc4bd5fcbad7fa36bc46e2a13abcdda03b41ae803b16a4553ca2de18bc0ee7883a1d8da6bb83466dbc7bc2cd3bc8ce0c3b84e0b33b5b09c33a9f42e9bb93784b3b918e3c3b31cc98ba90cc52bb5eee263ba456e93a0f48963b1d6e203bed36c2bb9f8d47ba81dd81bcd2e6c13a1ad2613c9fa408ba95f8ce3b84fe9cbc251eb53b1e07bc3cfff312bccc1b6f3c8da6da3b13c63cbc41bd5f3c2ee418bc17142ebc34b0e03b4170683b23058b3c8f64fdbb3d9e53bc78ed6e3b5799153cfc8010bc614468bbfe9cbbba7ebdb4bb61ab293c0d1dcdbbfce303bb83e2ef3b718a12bdf5d6273d36384c3e9c6b2f3d47aef1bdff2063bebf06b2bd9cb0da3dc9584cbd5a3dd63c8034ab3c5b3ea2bc9345cc3cfc86a3bc005351bcfd2287bcef10293cfa1b8a3c825ef2bb982e85bc072c843cb8c7d33b8e409dbca6a1c13ce5e048bc552fad3c96bb223ebab72cbe5328973d1bef20be1ec7843fdb328f3fdb328f3f1ec7843ff6f2a3b935310fba686a8f39e524373acc0e103ac9a5b53af18c95badc3f52ba42abadbac5afaaba9c550a3bea80713af176d13b651b8c3964c9bcbbdf1f86bb3d372a3a5912e83be61db8bb04d13abb2e200a3b74c9f539e6c5253af85e4dbb63fc28ba8a563bba89496d3a5869183a09960e3ae431713863f95239a53e5eba76587fbbb0e48eba05e3993ae1ce883be2e0913b4e10233bfad1c23aea6019bc4382fcbcedd8e0bcb8ff2b3d6c68053dec0a9cbc376208bcab3a9b3b5865c93cd4f4c23badfd45bc0b88aa3b939f8d3a50f4ccbafcfe223b0b55feba91c0673afbebb2ba1c3b123ba31001bb1330b93ae10be93bd3e5c43addee753a394433bc53f173bc482f1ebca56b89bcbf78453d3dc65c3efa3ecc3d974b44be113e5dbefeb63bbd8d7fc53dea34a0bc390301bdf113af3ce35069bc9439343cc7a87abc2b559abb40d1883b7f2b70bb4933513b17a8813bae36ccbbe538193b9f4131bbd6d402bdba54143dd134a1bc8d4dff3cb5cd4d3eced946becf8dca3d0ebe4abef731843fee008f3fee008f3ff731843fa0aab3ba6a4623380926a33970e19c3ad825283bedc0ac39965a73ba1b4d09bb8a1989bba4512dbb4431a63b5f8f1c3bfaf39a3b317f0a3bfc732bbce6f13f3a7192e03b186c123c68aa97bba30546bc6c79ff3a5b507fba3fe6f939be65e0ba7e2b13bbfeb731b99869a53a86d9bd3a5c2f123b61e41bba73e463347c8503bb373b02bce626993ac1d5813973f2fe3b16399c3cdf65623b976e54bb2a64b2bca8a113bd9d9afdbc87943c3d9ce7133dd1db35bd95bc3dbbed19173c9f0d2d3dd14cbf3c6337d9bcd980373c654ef8bb856e98bb11f0073c90dae2bb15a51e3b3f5c87bb6ee0823b8a6cdfba9411373bbd28c93cc9d44cbcbf00f33a560a99bc30edbebdb06e073dcb5944bc2c16af3d828ba43e79f90e3cb4c326be844285be87c4babd1967363ee4f2a8bdf6922fbc4e2b003d3c47e4bc0a18113d174b01bdab35d7bbf099973a3191b1bb8a680c3cb6c9dab82de522bb84708cb9a508cf3a98b5f1bc0cffc63c9b12713ba7827b3c52da793e79df3ebe333e843c2a482abe2564783f5413973f5413973f2564783fe81c6db996dad13ad4459eba0126d5b86195f53a60f4a7bb12f18e3b4e99a1ba33a361bb8098933ac4f112bb2b7fab3b07282abaf726293c0c91bcbb1f07cabb08ce9a3c8c3214bcb1c89ab97a3624bcc5132abc191a023cacf266bb0d93a53b251d903b9aaf4dba1485123a4eca66bbbb5095ba0c0a67b8caaa09b8f32e713ae7187bbad135da3b6d357cbbf5a82db9db79ce3c80bc25bcd86c223c052af3bc0e9782bd608a92bc6d21913c7317a33df86fb2bc32caf83b66b5d23c585dbdbbebb8093d569428bdfc641c3c065759bbcf06a9bca4667f3cadc807bc1b9d493c2f1839b97508f33aaf9c26bb5d188b3a4585293cb85792bcd1d8b43b81792dbba824c9bd6cc15f3d129497bc2164a03daf32c03ec19d18bd7da905bef22f9bbe906623bee63d4d3eadeae7bd8e1c803ddc44403d807ed6bc61104e3d9b6e74bdef108b3bc7fdb1bb9f6507bc52edd73b7113d4bb22cf933b2c06cc396e060f3b5c39a93a26f6503c9a6b1b3c9cd05bbc95cf543efd7636bec05a0fbc991de6bd3b68743fb54a993fb54a993f3b68743f57ffbb39e54121bad24e2b370a39fc39ab020ab81bf7b03a54c469b9a44da1ba7a2002bb3f8c3ebb08b40f3ba6af5d3b9511203cc20a823ba85037bcc545dcbbb3ca573b7287103c2e5399bb620106bcf588ad3a3d231c3a475e53bae9fe90bab757b9ba8feb06ba4df3f83a8949a639e405feb90a1cea39ff1d613a5f2a84baa00b84bb83eeb1baa1d799ba9dcdeb3b7ea31d3c7642b73b1445203bbf579ebc693645bd1b410ebd0ffc5d3d21613e3d776f9bbcb54e86bc9327d43b988a003d7e5f073cfe7a4dbcd128b73bad76d8ba7429e5bae38c8c3bf89385bbe45fb43a5222ecbaa37c223bc4ef65bb11cf6d3b5b7a553c045166bad1bbb53b1251a4bc4ea31dbd2cd4a7bb55dca4bc3293923d9d5f843eb639bc3da38350be047d74be76ad80bd5799fd3d82edc8bcd9771abd8d41f23c77b5debca6ca8e3c08fe85bc356d11bc2fd3b73b326d66bb05d4b43babf8f43b994e3bbcacbeb83b1999b2bbfa264bbde024483d4863c7bcbb7d2f3d89e3743ea75e5bbe12a6c33d86c959beb5cc813f932b913f932b913fb5cc813f7db900bbb947b339a4f39db8656e083b2536c23b24c294378e8c3cba1830b9bb760e1bbc6c2889bb612fc23b49290e3cb223bb3b8c29e03b5ee774bc204247baf3036d3c6cfccf3b844f0bb9c7e3b0bc847b0bbb96df3b38892f71bb5a25a43b9baf79bb3f7d4f3a5ea61c3b41beb03a6e4d993b9f3206bb275bd239551280bb3b4fa7bcd2fdce3b3c8e9cba3b07913c02643d3de0edbfba54891ebbd6f13bbdd9fe6cbd492efdbc15a73b3d34e16a3d34b664bd69667a3a9f7d453c8bb5483dab6b223dd3b619bd51ae893ce4449cbc40e509bcabb5673c570344bc151da23bee9fb1bbf7ada13bb54bf4b91863373b598f2b3d22e1acbcec7188ba4a9fddbc7c201dbe72db743d78c6efbb5322f13d1a02cc3ece1a1fbd1f741bbe0ad899be02ebf8bd06825d3eb394e5bd7bc30a3cc0150e3d6bad11bd323a523d4be627bdd19606bc4a9178ba2abfeabb4c8e5a3cf9a684bb1e1e89ba3412adba58ad9f3bf671f3bc54889a3c1c75883c08a0113c88cd8a3e3b7743bedf3dc9bc091a19be1fa36e3f6ef39b3f6ef39b3f1fa36e3fb15389b93152e5391531533a88440fba24f12f3c46dfd7bbaf1ce2ba8d0293bb147912bd4c901b3cec896a3a7a27e73c9e3eec3c31ba0f3c5c50fd3805a61fbd7483e13c5b5c97bc096c97baf9292fbc435bb5bcb65be43b2e3e4bbcee7bd43c7a908bb9d5a7bf3bd07ab23b166e15bc6088d6bb34705e3bace99fbac12d8f3bb06c15bb802e013cbabe113c64cf29bc4747c13da7a12dbd86c134bce6704fbd1a2829becc046d3c790bb93b98d6213eb3b72cbd393c193d02fc433dbb47eabcf9bfbc3d89b69cbd3b98fa3cc8e644bdeee0bdbc67096f3c9912cdbc65d8f33c4e13123c803dd2bbb1b307bb3bf591baef296fbcc8d4843b20f899bcce34b93c041d2cbe397ac63d44253c3d1e77563dec96163fdc0534be2da4fabd37b6c7becbb87cbef215893ee2195abe4797303ed85d8c3b7aa8223bbe229e3d3d5a86bd7a80933c72f085bc6328c83b271f2bbc1103d0bb8051c73beb8b0b3c629cbdbbc8234e3d943322bd2c4dc33c6153f4bcfff4213e7d0507be2ff609be7e0b743c6903593f0b92a73f0b92a73f6903593f9a6f76b9c85115b9f38cd9b8fb55f1396a1765b8536e1eb69dff8b39affa9cb83f1b053ac2fd56bae0a5c43a5f89a8baefacb1b9a33c1cbbd891c03a4e91823a15a225b91c4d0a3b8e73c3babb6e28bad1328db8b3e7253aa34342b9d8cda7b94cb00bbad8b8d6386d3427394a399a39d8f3dd3887549f377d745f39aa23dab9f8b8d238b512bcb9f097cd39f229f7386419a13ae5a436bbd874d83a7f3d293a9bf6d93b80379c3b8c28a93a107ae8baaabc96bb99ebb43ab9c5b3379ddd663b0c28aeb9e4a0a23aed4dbaba8051623a2aeb143abb7755b9818151b96e0330b94a3883b9d32f2039b63e3fba8f451b3a27f66339f5d1503bb2275abbc446433a55ddf63ce9a253bcda2e25bcaf5b94bba257a53d84c29e3d8f6102be669b02be13b36bbcf0c7023dbaeba6bb60b024bcbf4d693b818268ba43ad913a805746bb190c9bba74218a3a1647d3b9b8dda33927ff28ba2b47713a1b13c1ba7f638b3ae04aac3b0154c13a69dc863b381ac7b80074a33df4e301bea18d9d3d770501be85448a3f8fb28a3f8fb28a3f85448a3f6ebca7b8212085b8875c8e38763aa838c7ee02ba2cdf49392dca3ababd207f3a0ee0e0b9353e5939552be8381e4dad39b851283b58abb0bb32a0833b7b04d7ba721221b9e702283b9c51d6ba1b1ca1badf31aeba134b503a6ad759ba1384c33ad6999a393ebf2e38d95daab94a990238ff75e838a08af139e27be0b992a469b97d1948395264ff3984a56c39132b74bab0b5eebacfd9cebac9a2ef3a9cfe293b0c6b1d3c9f2c07bbb332b53b8600a9ba50bd08bcbd1ba73b2de6bbba653e9c3bf830353afaad98b98ce3a7ba4c41c43a9866883a22c32039052d3e3a9cdb01bb7dd7d1baeea40ebae7ed903a7fc4333a636938bb0ab85a3b28eb2ebb5f384f3b30fe113dc49284bc78314fbcaa8a5ebb07cec63dbfe6a43d0d6b05bea84614be4637e2bc1f333b3dbcac36bc58b99dbb0dd3fe3b8c82c3bb58c5ab3b21e1b6bbe4cd1cbb66775e3a17770fba6cf5d13abf60093a44620a39fe1920bbf32fa33a23d495ba04550a3c5c84e939ecde853b4f85be3d91c40dbeff15ac3dde7909bee2e3893f94d48a3f94d48a3fe2e3893ff4cca3b8a21959b85cc05e398077aab8a1a992b9e8f6f438415c9c3760c0d538d9a3ddbbbd96ea3a1fc6963941ef943bf0d5d13bac7956bb9e9eccb996f6f1badded093c386bb1bb882aa03ba5a314bcb0d31fbc7eb7cb3b2e2ba9bbce120f3c3afb94b9f12820b9404a7b3a1f42d6b92c0d8d3a8e5313b912e8f9b9d489bab93a03523b1c2a62b78cc9ca383dbe76bb4c50eabbc229833bc8562dbaca41af3b0703a43ce98363bc4755363c3d9bbebbccf683bc043e6a3c1b2a63bb6157853b203daa3a3cbf7bb9f8e09cbbe300a13bc1b86e3be818c6bac813d53aee8468bb0c778bb8d97053bad63d553a94ff9eb99090f1bb67b8db3bddd7a0bb9a5cb93b99bf013da7be5fbcb62786bc5780803bec86eb3d02e7853d068becbdfa0627be0d0845bd1ced6b3dde00a7bc0abb393c20720e3cefbefdbb52b0ce3b735e88bb0df61bbac833e8b8d7204cb74d8785b94d55ccb858c1d0ba96250eb81e80643a94fea9bbac811f3c3c7afdb9bcb6003c8216c93d67c50fbe21de9f3d7ab605be3afb883fe7b28b3fe7b28b3f3afb883f24e4b5b8f27113398ed479b9f7950b39b31e1cba6dbbad397ebaa8390a7b3338d79a143a70c63fba753e943acbe68ebae7d1183b1260bdbbfe3e113beeef72ba0c0f84bb4dd4d23b6c66a7bb387a073b39d3043bacdcd1ba30e1c23ad3e4dbba72612cbaabc11eba1e3a683a4bd3a739032304baffc1073ad605d3b75c26d6387c24a8b9820ea3bae2862f3aa3c47e3aedacbabbfe8677391a243b3b34c9633bb4fabbba6e2e62bc862fae3c71260a3c994d61bcedb5eeb80de0bdb8efbf723ce5a52f3bc14aacbbd21d403b8466fa39dca61b3a2849863a549a9eba9af30cba081f85ba406dc43a63c5d4ba88c9443a5fc17bba2823933bdee2d2bae12aceba64e4d33caa5171bcc05395bc040b413ce1bd113eda1bcc3de31c24be2fcd35befce705bd45a9813d4ba473bc233767bc907a6b3ced5ef5bb70b6d83b7ab23ebc139652bb1cb6fe3ad82d41baac0a983a7fe2913a5bdb0cbb166988ba7a1d5b3a82eb17bc39108a3ca9efe8bbda8e533c44aa043eb77a25be46d2c73dd70824bed12a883f46e38b3f46e38b3fd12a883fe2ef693a9b88e9b76e7231ba253261b9218918bb99e40339d251b73a3c16543a38cba6b9d29f763b30ac28bb7ece00ba449f143cfe5041bc61cf8a3ba9068abbb22d29bc445e813cc10b2abc20578c3b0b758f3be2f6f9bbe480d83baddf36bbcecf93ba6f1c1ebae569143a78078c3a9f3adfba3ba6303990adbf3aab9a9f39e03faa3b93326ebb052ad7b93509e8ba02bd92bc0a941f3c9d741a3909d7173cfef1383c05690abd1963123d7059bd3a24a6ffbc0198473cecc321bc8995f03cf1cb763c413b32bccf90d63b995f15bc0e1cc9ba0da4b13b675595bb2728e8b7f025933a512ff33a1ea07abb23b6843ac74276ba63907c3a4c0b593b2c5ea8bbb9058f3b1750bebadc46ebbcb7470c3d7071413e8d36903d0dc40fbedaeb5cbe679e76bd659dc83d866034bd1a4cb13bd4a9a33c5a3694bc3958ad3cc75d9bbc4a25a1bb0f76eaba2f5c8abaae32d03b65faffba22da6dbb4c79803b4d5e0b3a290052bcb16b943c84fdc3bba39d663ce60a1a3ebb2f29be1e98a03df3b021bebabb853fd8358e3fd8358e3fbabb853f98940439c14c003b005d86baa4aa8fbad3e7acba3070b4bb7b77c83b0730303ae3e4be3a3a4d033cfcef57bc562b653bf2a5debaa69d14bcb8b8723ca6199dbb6517813b819f1a3b7f6f3ebc4793913b9ebd05bc1ae2753b4a70043c158e61bb47d7bb3a258ef2bb3cac013ba8dd843bc98423ba4de28cbb9b4ccf3a25bb653bd29c073cfd134c3bc573e6bbbca5a6bb26abf3bc76b10f3c38236b3c9a77083ca32c213ddce41bbdec1b333c4db57c3adb363fbd0a571b3d694a67bb2472483cac78043db03ff4bc62ef0b3bff1624bb3772afbb4661b83c0c2631bc3cedefbb8a9b983a6176403cba8711bcd3c266bb1144cebb211001bc5f36953cd53cd7bb6da0a33c37bbef3a412256bdf84d233dfc7b293e7f52773dc3a3c8bdc6b567bece037cbd4412aa3dbaf983bd8910283d55a94b3c822e95bb76cadd3ce815f4bc086badbb5f139abc973f043ce4df693c038cbdbb02cc76bc5c7a7e3c52f9963b673adcbbb05aab3c1f92aabc19f39d3c6e37023e5c161fbe889ac13d9ddd23be7aa4873f91808c3f91808c3f7aa4873fde0b7db9f567f0b9d3a98939cb5c0e3ae955853917278b3a1659c4baffc52c39ae5e80ba69c85bbaaea4243b8f1026b9409c093ccdca56bab813b1bb6748bbbbd6051bbbb7260f3cd4ffc9bb4b0f39ba06d9613b192b91bad915b93a89b969bb84388cbacc62ea385134e6394fb1223a1301be3900833e3743c8cd397bab47baf35651bb87fb55ba0b2a993af089473b3d21b839842c5d3bada8e53aa632c6bb4914eabc2d0803bd2742393db75a023d0fa490bcbee0a1bbc44915b7b51cc43c43ccbb3bd9943cbcd4d2cf3bc30098b901c2caba159a0c3bb9b009bb26dba83a152168babf05ec3ac7d7eebac2bc973a80d29a3bee94d53a0aced13a626915bc01f5a9bb0b703dbc64e9adbce92e353d9a1b563e68f4e23d6f8245be21a660bea4643bbdbeb0af3d8b3357bc94cadbbc98599f3cf7fd57bc5b3f1a3cbd7957bc71c176bb43ec5d3bbc712cbb4ed40c3b05d3883bb71cb8bb1aecf63a83f046bbe4bff6bc28a50e3d120a9dbcbc37f63c9404413eb3d246bed12adc3dd38d46bea62e853fd8028e3fd8028e3fa62e853fd13b3ebaeeb098b94236af393f30473a6592053a2cbd0c3ab8da77ba138ddbb8d08037bbc6771db8aa8f683bf6ab6d399cd1623ced07d4bbb80dccbb12e0afbb0e7b25bc24fab03c2a674abce4ee333a59c1343c42741dbc0654fc3b7cf10dbcf4d38dbb29420c3b5fe6bbbaf250603bcfd3b73a1e903e39a20af1389b94eaba370cecbaaac6d3ba06fa8f3625796a3ba41d81babf405d3c8e5e74bbba6315bc2d2178bc633b61bdf7f17d3d53a7be3c323a48bd503c653cbf905ebce4334d3d5630b33c3c05c7bcf6f68d3cb41258bc602a42bb46f2b83b1595c8bbf813213b817775bb2e1a623b1d5f01bb24de513bd1ac933cc57552bc84b6f33b20a68bbcd2358bbd10fc003d3b1c0cbd6b3da93d67ef993ea518143d03501bbe5e248ebebad3b6bd0c9e143e635b8bbd7e0ae13b4b25d93ca0dcadbc2d8ce23ce197d8bc77978dbb9c1b3b3a7d8d60bb29fda63b1d2d6cb9ab0bb7babceb84ba7144c73a8de19bbcc7f7a93cbe3fae3a998a263c46784f3ea4f33abe072f2d3d406f1ebeaef27e3f15d9933f15d9933faef27e3fbd01a1ba4fef983bd9e7f3ba35e8ccba79da6bb95b032abce3c6103c3f1d013b4071333ce486ec3bfc885fbc92be9bbbc2e3a3bce773c93bddf68e3bf07fce3bd150563c413bfaba79ef00bc3ff2a8bad80f253c64c857ba25c9c43bcf1e88bc9f53d6bb2fd6a1ba88033bba13240c3c8fbcdb3adff5d1bb1022ae3ae2134d3bd4bace3a4ecd803c5f3956bc017d6fbbcabfb0bcd56d9abb0cde103df39f10bcb3ce203d0beb93bda5b46a3c35d8013dd201c2bd290b9c3defd659bcc480073d2080363d4c7b87bd429d1b3d25fd53bc6b8618bcd1bdc13c87f2a4bcd12a713b3b9fadbac992423c25a7e1bbefb848bb9bd4e83bf77816bdf718de3c95674ebbd7fb65bde8bb933d56c6b4bda532b53d25959a3e58019b3938fd63bdcb5aafbe81ecdbbd1f46f53d083fefbd18d6c33db8efba3cbbf8963ccdc7aa3c5d9857bd4710033bde03aabcf5e5443c8722a53b4d7fe7bb31830dbcdb5d163c42feed3b33be953cb2f1b33c1fec6bbcb30888bc8d0f083e327d27be89574e3d0e65e6bd62df813f00f7913f00f7913f62df813fb3e712b9d7108db991d42b39cc19f3394d463cb918238a3a10db60b9e27f37bab381d2bafa1526bb85f3d63a431f4f3b0a233a3c0ddb683b916e32bc6e8108bc761e44b97f1f233c8fd995bb96a4bbbb55d0463b94c0dabab151143ad349f7ba37c705bb918dfd398aac5c3aa4a67e3a86cdf2b9cba2ab39f6a5343a873c3bba226d2abbcec79eba3462d1ba4a44bd3bf7a48b3b513aef3be8d0773b5e2d87bc022534bdc03f28bd5a19693dd9d83b3dbebe96bcec6d21bca36ff1b9f4fffa3c1599113c2a1d4ebc0383f83b410b82bb8b72f6baf551863be11f85bb37f3d13afd8873baf1a8053beeed5fbb3683413bd489163c7b6194b98215dd3bbd9890bcf894cfbcbaea04bcee89d7bc04c2883db2637e3ecf23d73d507d4ebee14879be8d8381bdb619e03d51c592bc3acfedbcdb54e53c18dbd0bc66b77d3cbf7d72bc13170abc322ca03bb25463bbf964bf3b24dcd83b35a72fbc2ed1be3b52a8b0bbcf043dbdefd1423d7323d0bc75c02a3dadc6623ee2b35abe17d1dd3d0f5755be6c35833ffbc08f3ffbc08f3f6c35833f3653c8b90e63a1b9fc088f39e50a2f3ae76e3a3a68cae63aca2dc7bae39492ba8a3493bb711c9ebb9e17d83b0205753b74bf543c2b8abe3af07b74bc4ad781bb934f92bbab19a93c3cfcdabb870616bc22ce463ca7e16abc4627013c46d8c2bbe6c10abc4583c03b276f55bb4e44c33b3c15033ba279caba983fca3ad89525bbd5bc23bcc6143e3b88396fbbcab7413c8e0da93cffb73c3ced81f539bf3c08bdb85e00bdff7d7cbd4b89823dd1ba2e3dfb0384bddee2bb3ca2a495bca4a5813d20741d3dcf9f0bbd487fd73cc659edbceff2c6bbabdd223cf35938bcbe8bb93bafd469bb38e7ae3bf62811bbf3701b3b6365063d8005b2bca3e3d93b945acabc2b3bfebd566e773db1671abd4108ee3d4147c13ebe714ebc2ec805bea163a6be2e8ef3bdd87d393e8cf0cabd603fe43c3b71e33c5857eabcbbde273d7c95ffbc9fe3c5bb5c6a59ba962ba3bb75b4163ce04792bb112d10ba2b09d0baa6f4a63b4173a9bc117b843c8642663cdfc99d3b53aa653ea6d03ebe4c49963b9d4a0bbee5ed753fe052983fe052983fe5ed753f7bdea7b8a7826c3a639ba8b9cb9851b8b722913bbc6572bb26f67f3b3d1cb2bb107016bc5aa2bcbb564750bb8173943c73978dbb30ced13c5c378dbc3432bebb39a1443c161a693bffe54a3cc535d4bc9643ae3cffd3f6bc8da9023cc975feba8e4389bc2c2a883ccda934bc9b6e3d3c14f95abb642b353a7358e6ba44ea603bf4b350bca6eb793cfc5257bbfd40a93bee828a3d8c96d7bc0e8fe33c835592bd430842bd0b5896bdb75e953cd370db3da39c05beed7ad03dffd72bbd582fa33d5348973d89dd61bd04267f3d061199bd705599ba85dc89ba56674fbc1d9d243cdc96233cce1be0bbb895a73a605d8bbbac2ae9ba71d422bb1d3e92bccca1473c88ef34bee07bf23de17a83bc591ed13dfcb20a3fb81319be8f9e04bd0156e8bebcd62bbe89304c3ed8224cbef47d133e1491d0bcd105b73ce7a2023d6f925ebc6fa6593cd1196abcfa454a3cf47845bcb23ebcbba828853b5e34053c0f2988bb03f9293d09bc29bd8957d13c5c79aebc5496f33d521bcdbd2264f1bd5d7fa23b07ec643feee1a13feee1a13f07ec643f0b6d6bb9c77d2f39fdfaa8b851fa09393960aaba1caf4d3aed5ca839e3278739c0dfe83aaf6ee4ba2eafef3a363c04bbcd55f1b9486745bbeca9163b4e08643ad81342ba8c1e233bb78427bbf1c9233a56ad06ba1060643a79ddd4b8048e8db8a90b21b93738eab9134a0c3a9ad04d387d7a02b919daec39142784ba7fc12e3aaa609c3a953a86ba3219cf390fae8bb97e2db43a941841bbe3d6cd3af6d5443a49ede83b9c8b9b3b54553e3a44c6e4bae5595bbbc0b4ec3acf229db92ea2133b15a77b38559e97b9b7dfdbb9e5a9713a74c20f3a8f26ac3905ae42ba64ed15b989d418ba1490ce39c2bd153a9d2430ba9550fb38fe61493bb19e77bb08f4cc3a55d0f63c74e354bc9fab21bc7fd39abb8f64a53dca9e9f3d535502be3d3d03be58f283bc6cb0093d1778dcbbfaf308bc1fa9833b8be988baa8c8c53a9fbd67bbabf655bac71b243ab17c0fb85db0173858697fb9dee43ab9b8208cba49e4ae3a1121883b01542f3be45c853b5a8564b97b00a33d4be402bedc12a13d679001be7e568a3f78a08a3f78a08a3f7e568a3f8b4dc2b736831b3755ea4f3985f340b9e291fdba3b1ff139a518aeba8b24303ba524623affcd77ba59d9f23a49d7baba94e6823b00d5b7bbd64b8f3b214a71bbb242a1bb8ca2a83bf98b8abbf9076a3b2ac7483a8cb1d6ba315b983a84493e39c919d5b99bea30b9ca2450398a33b339c38990b95a7cbc3a2ec45fba7350c4b99868ea38997d543a5d2a1f393a9d82ba343894ba90e612bbb7d7d13a8a7b4c3be340383c7f3716bb289bfe3b0277b3bb2c941cbc4be7c93b667da2bb47f90c3cf0a9373baa401bba7935f23906460abbc47c3f3a9222903a4d412bb90942f2baa99b20ba2d70e6bae997903a69c36a3ace0b7ebba81d9f3b6a735cbb7ef55d3bd2961b3d49349bbcbde623bc22fdbabb9a20c23d23f2a43d10d705be5dc711be2badf1bc4a17433dd75f63bc8e7e06bb2639f43b4c6de5bbe56cda3b6705aebbab010fbb19db413a880ac7bad3171f3be5631fb84959a239739e91ba3d2c8339203dfcbabd040c3cb57837bb1651023cd504bb3dffc80cbe599daf3d9e420abef5e9893fb1d28a3fb1d28a3ff5e9893fabfccdb88410dfb70ac22c395d0aefb7de30143a361816ba32baa63974f15bbaf7fea3bb5ebf943bf1dcf7ba1b955f3be79c533c446a62bcf80c213c0ca91cbced810bbc100b343c0e4b04bced9c883bac0b9c3ae5d9dbba12871b3a956f903ab07586b865c048ba4f6bb1388a41443a959fc03900da0e384a590eb95abdf0b73f5681baf54a4fba3e0b743a9b40bd391f0d1cbbf2d2bb3a9ba141bbd27bcc3b4c6ec03ce5c150bcc2d3753c9cc878bc9e6faebc7076a13c5d8a69bcf2ca743cabbeea3b056e4bbbf4b6d83ad3958cbbd96d06bacc9e0c3a9649383adad088bae59fbeb9a6b65439b2bf95b9a1c81a387928dfbbb6687a3b4ed6deba20efa83b39aa073d21f16ebc2ba137bc69d437bb2983da3d9109913d0bdcf6bda7281fbed4f732bd7ab7543d9507bbbc12867d3c6687153c8494f7bb94a8fc3b4a58d4bb7ad3333a3cfcb9bac4b489b92471ccb7016dc439ab415bba54a9493a7e948aba19748bbb48e14b3cf1ee76bb17d9ee3b4116be3dd7cb0dbe16ef9f3dbffb01beccfd883f21c58b3f21c58b3fccfd883fe921a7b9943f4bb8567eb5b85707d939a86390baae758db96944663ac2ee0d3abfc4d03968a172b9fee2343a01a55ebad13c403bc8f0bebb9a5a373bacc712bb80e29abb0490e83b7b12d1bbae37633b55f8ae3a103900bb9ced113b8fcda5ba143b35ba7862f4b9942a573a70ff86390d15abb85a21353a8cb4d7b9ded5fcb825efa3b8026f94b9e05c14b832e7ef393b17babbf0cc82b971a1863b5510313b71b748bbe80268bc77a2ac3c5be7303cd3774dbcd401d3b90a7a2c39f4715c3c7cbd6e3bdc6f91bbf996213b53e28aba144e8d3a60a8793a56e6daba214adeb9aac317ba1c30e339f5a3b5ba5d559d3a6494f0ba1907b83b9aaf0bbb29d298bafebbf53c9c1897bcaf7c93bc5cb42f3cd3be0e3e7e1cda3dfaa726bea54737be925306bd153c6e3d70b93abc97c543bc4bf14f3cf127e5bbc80abc3bd8af1cbcb48411bbd1ce363a87f39ab7f8053e3a29c3443abb3edbbab58367399d8c19baad161bbca0228e3c09a80abc5aae623c0854ff3dd8eb24be8251d13df91324bed7b8883fb94e8b3fb94e8b3fd7b8883fe5a5c53904060139a2ee2fbad7e22539f85233ba86aaf7ba9c70263b80374ab890666fbbaa49fc3b66aeb5bb2cfc1a3b75b9923c0abeaabc566b463c25644bbc86d2adbc9f46d03caedc9bbcc082693c85682d3cfd2f38bc77d61e3ca84905bc48d200bb07caa739a6806eb9c9e8dc3a903dbabae6253d3a4bc5693ada9a95381c49c13b609f39bb6dc8f0b9e2696abb2f06babc3da2353c035f08bbb5eb7e3c6fa8823c5e6d0fbd336f223d454dc0bbeffdf3bcaa8d4b3c16f671bc566e023db0a7333ce94a22bc448e113c2eef04bc76a807bad3655b3ba91848bbb8d5fcb9059c853a000cab3a27f644bb121b493a840e81bbdd7a793aa847953ba94f36bb7e5f953c415bccbbe627f8bcb405d13c13322f3e82d1aa3d6fa413be5a4454beb9db58bdf02eac3dbacc0bbda4f9673b0c32913cd93e5dbc58997b3c57e286bc66bd87bb78c393b937a4e9baaedba93b1b3c19bb3342f5ba8bf7e83a40c0a23aa60701bcebca873cd390ecbb9e77403c5c6e093e874926befcc4b43d41321ebefc08873f3cf68c3f3cf68c3ffc08873f7d527a39bf6bb838ac751bbaa7f04f39f7a9ffb9e8551fbbbf5b7b3b125abbba5f0813bc17983a3c5ae714bc13bf003c97e5cd3c1eb0e6bcf0158d3c7f3788bcf3ae0abdc31a0f3d9217c4bcadbab83c28a1ab3cd552a3bc5d978c3cbba28abcf6a945bb0d45043bb03b28bbe40f4f3b468da4baa220823a89a3f83960008d395b1b3c3c2901e2bb11d16a3ad901f6bb4ea608bd79b3af3c499420bcac70cf3c4858393de4123abd800a323d8ae2fdbc17c52ebd4c96023d4196f5bc408a213d865e6f3cdfcc7cbc08dc5d3c0c4424bc28c477bbd682a83b60ef72bbb0eba93af6064a3a17521a3a3afc3abb6700003b2110febb7a81193ad044ea3b13dee2ba4124bf3c284584bbae440fbd1164c33c01ad1e3e94c8833d5c37e5bd24ee52bec13876bdc427aa3de4c14bbda13fdb3c9543aa3ca63163bcc677b43c115ccbbcd56246bb8fa3aab946c994bb762dd23b119d59bb83a2cd3a1853583a3571523a09644b3a0a17183c7ec921bb4287833bad90eb3dc49a18be84d69f3d8aed0dbe8e8f873f7bc38c3f7bc38c3f8e8f873f066ef2b969f2fcb932d3d839cc9a263acc67023a3f2b933a6b25caba35bcb2b8c99380ba4dabe43704b7c33a903975b8a7ca163c697cebba436084bbbaece6bb159492bb6dbe1c3ca12bf7bb75a0093b0258823b9a20dbbab38b463bfc62a5bbddd08dba2c32cbb9915ce3388eceb73a5157eb395ce196391fc004b90f5c13bab38d47bb846193ba3773d33a12ae2a3b80b4f5ba7d04193bbbb8773b8d0e90bba2b0ddbccf410abd2ba5393d6b21033d58517dbcd13a39bbe3522ebbf9a5b23cb9c7b43b62762bbcc283c23bf6311abaddc7a2ba2caa203bd85d06bb853b203ad3f71dba450e413a04b984ba214d863a54c2093b67e06e3b21f5bf39708be2bb5299c43b8be979bc32b4c4bcd2a81e3d00154a3ec382fe3d198f47bed33460be4eee2dbd71dc933d6599a5bbd567c4bce274893c80012fbc33c9e33b69b832bc7de259bb81f02d3b2d2c13bb9104103b21ac653b1317a7bb05ec183b091357bbde1ee1bcffac0a3d0a1da9bcc211f33c9147333ee9f745be6f38f23df18544be1a67863fecc98c3fecc98c3f1a67863fd60f8db7b8cc2eba9b39743aee307cb917ca85389e86bfb9c55183bad7dc9a3a6dd3b2bbe5f2b13b3d9d81ba7270253b73a9da3ceeb897bc9f17a73b034096bcbe6ad6bc28250a3daf47cdbc33398d3c3dbc8b3c3ca581bc49327f3cfe387dbc12a799bbc1d73d3b743339bb846d853bb769a638dfe95f3aa31054baaffc153889203a3b207065bbe8530d3bb56701bba4067abc6d849d3cd089dabb62386d3b27a896bbc8a285bd6175923d12ab673c357230bd6a878f3c81c1c1bc1b58483d7c1c873c0b1a8abcb98d6b3c0d9142bc7aedb8ba89af583baa8880bb2b71a63ab2e12bbbaa9e423bb0cdecba67b30f3b09333c3c96c52ebc3fbb0e3c5fc855bc3a6f1dbd22a7ad3c1f8934bd630b913d65ae873eb800913d6a011fbe06778bbe04609abdbdf8e33d757b37bd0223ae3bddd2a53cee5b81bcd9f3903c9a7a8dbc9d7660bb1d183c3aadf5deba6b1c443bbe952bb8f99ae3ba16f455ba83ebb23a918e7ebc237bad3c237938bbb7b8283c36fc303e396a38be2e578e3d49001ebe8bd8823f947c903f947c903f8bd8823fc59a73b9410a953b44a600bb36691ebb58da38bbf4980dbcdce1be3b3782b93b72f8063cfee8883c042866bc36c81abc4202853cd4d412bddf96c83c27633ebc031637bd95825a3d9f8344bdb182283dc14c133d5ce2dfbc453c0e3dc21329bde56420bc909f693a27cfc0bb709e5c3c156f0b3a808a0fbca8b5893b4fd1823bb7fac33ba8fc7d3c918f7abc8e0ce9bbba2257bdc433013c8488d83c9779b93c6ec3a13df4e7bdbd7ba9543da36fccbc5952c0bdc0a09b3dcea142bd81097e3dce78ea3c0dec37bd019cfe3c861e15bc827a973a58ef873cecd24cbcc4f4e7bb67e0bc3affe05b3c579f07bc285fb9bb9ecaf13b313429bd787f0a3d83e2c5bb67eb14bd3e639f3d5bfdeebd02a1b53d57e9813eda3bff3c8c7658bd5b75a6beef5f8cbdcdd4933df9da99bdb729823dd819053b9a3f033d9b186bbb2760c6bc19bea4b941dfb4bc13f88a3cda389e3b2d0508bc635e3cbc782c3b3c5662103c5f449a3ca774a73ce2f876bc81f870bc2b92d53dd09b22becbc2923d2787e2bd87f1843f050e8f3f050e8f3f87f1843f6921a9b92fb41cba308680397b936d3a120e32b95c9fab3a82dbc1b994be56ba4f447dbaa41e06bb04df773a5d372e3b5815583c11a7363be0071fbce13a2fbc506461bb002b2f3c472ea5bbf15725bb1b8b823b353648bbd3e10a3b62cb39bb0e72ebbaf51e453ab483cb38c27f8b3a79b2b4b7f0f46d3aeb0ed538d5f196baac8af6ba788ee5ba1e3873baad979b3b8682e6b978a5f33be400a33b10664fbc88142abdee0434bdcbfc693d0ac43c3d59ba7fbc55adcbbbbde5b6bb7ae0e93c9df6093c4ae232bcc646003c445aabbb8a97f6baf8bb533b2ef44dbb6bb0c03a7ddbd3b99115a53937ebf6babe17263ba300963b7197203b618db93b894e67bcdd7903bc147e65bcec65f6bcf5836d3def2a6d3eb713fb3d3dc84fbe4e4e78bed50670bd4e6fba3de224e4bb2acbd0bc7c20c13c06fbafbca71b383c1aab2ebcbffbd8bb162e923be18349bbac978d3b1cf1df3ba3cd1abc915cae3b9328d2bb4d2f32bd96fb3e3d5bf3e0bcf1d22b3d3402503ed38e59be0377fd3db93e53beaffc843fa7f58d3fa7f58d3faffc843f8ca3a839c30c60bac95b433a25791fb8714d64bafda9fb3a1ab6efbabedc223ac62ea9bb8f986dba97cb963b12ee3e3b295ec63cea741abc050bf2bb124052bc302bcabcaf320c3db75299bcc7241f3c9a02bb3cb176bdbcfa5d973c22608ebc54ca1ebc5aa4013c064ae6bb7111073c3411f539b3ad813adcdb65b9630dadba10dcc4ba0fdb48bb8e0b73ba41cbb23b6205cabac264b53c8235b0bbca6c6cbcde1861bcdba39cbd941aa53d794dc53cb1ef59bdf0c5d23c042d02bdea61763df744dc3c811dc3bcbd08b23c114dbabc712394bb6c28d23bcbb6f5bbf5b58a3b7e8392bbd5928f3b44901ebbbcbf873b0f6bcf3cfbc197bcfcb6473c45b7c8bc63ccafbd4bb73d3d46a65fbdcf4ad83d2c9ca83e9259023d6f0b0abe4393a1be4714d3bd5bb30f3ecbc08ebd4c02cf3cd770cf3cd0fcccbc5376f23ca21ab9bce2ada0bb1891893a41f28abb6a5dc23b72ccacba0b7389ba48d808bb64a2293b747fb3bcc475b13c0484a83b2b46213c7247483ee0fd41be1811433d880616be5eca7e3f8bcd933f8bcd933f5eca7e3fe24a353a6c8436ba689debbacd47ee3ac5d189bbbf28b03b01700e3b78300fbb07bc363c0463c7bce6d3933c785eabbba6ecbd3bfd79003cfa7612bdca976b3cbd2b45bd5346863ddbc0c7bc1b98513cab865c3d7e8275bda8e04d3d11a230bde0ff83bc3679873ca136abbc4345923c042c3e3a0e0556bac399193b68b672bb0e7e7cbc714b5c3c4410a1bc38a8b93ca97c8a3cd7e1cd3c05bd983c000b5abd78a44f3df9071dbe21eae73d2fbbd0bbb1540bbe551bc13dcf92d7bd4673133eb1a8ff3c0aa030bcfe24083dd51232bdac6e9f3b648529bc0634fb3b790fa3bb3b2dce3b90f7d5bbcc52603b97469abaf0c2a53c9f5a99bc5bb2803ad55c6abcad7b34be9c2ef63d7105adbddd27263e4f71e43e960c8ebdb206afbc99fce0be9e5da9bdd6e9ff3d5847f3bda7175f3de6b515bd5821d93c46d719bb2939b33ca6605b3cd56b10bcb132d53b507b2cbc12b682bbab12d93b6ca9753b9f7eabbbdef8a83c00b1dcbc15a9b83c7bb421bc24dffc3d8184d5bdba3d85bd389b45bd40cb733f5f4a9a3f5f4a9a3f40cb733fd0925eb90eaf1437d692d4b7a4182039723b4eba2ec16c3a3b031eb9c73098391e2f163bc10ef8babfc9f03a4e4e19bb8a0076b89dad08bbf7e9cd3a8091db38637707bb0ecd753b188480bbf968033b50c4e239e21e64ba87da1b3a0b6874b749c08ab98bda4c384c3894392724a3b8c58357b84127af3913b046ba2331e239a85b5b392e4b34bafc93643add7737b97fadd23abffc6fbbdc0a093b440f353a4000e33b9e377d3b6d0fc03a53bcb1bac2ad91bb10b9c63a1645f1b8bdc3703be5599bb8af33d139d9e94cb982cb86397553a639d201e3b82548abb930262c39e70fd4b953b517b97b48a4b7b1a89d39051f66b926658b3b3d2a89bb5504913a243e033dbc8681bc70bb0bbc7f56a8bbe18ea43d3690a33db01a03beae3e04be362b87bcd794093d4ef1ccbbc5570abcfd2e6f3ba5afe5b9fe52ff3af12a89bbf21d2139c1f2233ad47b27ba51c5dfb92ddb3e3563a3523a319a70bae92c16b96bbb6d3b01540b3bb86a603bb3f8e03a30b6a43de0ba02be8a64a13dbd9e02be7c638a3fef8d8a3fef8d8a3f7c638a3fe475e037307e45b9c6574339e341df363b3a2bbb0b64363b8146c3ba899aae3af1aecf3a095f17bbf5ad073b86b66bbaaa6e9c3be51eb7bbce10873bb2f590bb25f7ecbb1fb10e3cd90309bc1fffd83b6ac5083bac1338bbe055533bb5bf00bb49675cb923986439227773b95dd5663989a993396a8380397b3ce5b9456072b958eb9bb9703bc93aa326d0ba6c0ef039f6bfe03a810869bb8a89473b625286393b45183c463e86baf2c0e63bd2c694bb444235bce95be33b42919cbb2b54163c113d5e3bcfffe0ba6e12b9390600c0baff82503a635191b70f131f39878d8cba598937393dc0c1ba736bd63affca40bafdfea1bb69a69e3bced9a6bbfe73cf3b3edc223d323bafbc6c4dd0bb58c30ebc5b49ba3d9282a33d7b6104be59290fbeaa32ecbc6eb4413dd17180bc58fc60b9817a063cede1efbbebd5f33b2dd6dbbb0cb0b0bacd02863a54af0abb4fd7f23a3f842eb9cf277a3a87e153babb081bbaab2e19bbe6fd0d3c1ec56cba2cc9c73b823fb43d56020abea016ab3d492e07beed1c8a3f1dae8a3f1dae8a3fed1c8a3f27d381b89c9cbbb89d252638e8570039430a44bb67fac43adf10e5384df3703ac4a227b76334863aa95abcbae99b063b72a18d3c563b81bc2379343c5b0d66bcc1b18dbc4955943c1b3273bc056a583c50d7773b21359dbbce939a3b6b8a2bbbd9a585b8b6a17cb977c1c53968eb7bb81b9a3d3a3571ba39f92aafb8c00351baf97049b9303e153abff66ebbbd30323b16f7213ade4696baca3dd3392f9c283b1f7ea63c4ee936bc3f2e893c8c2886bc7de2b6bcd21fbf3ce3deaabc11f69e3cf132103cbda3c2bbc9e8c93b1c68f0bbabf154394076d83a21cca1bae7b284ba63b61d3a0462d2ba0683923a540be4b95ec803bc70a3df3bd4035dbb98d5a73bcb7f0a3d56a1a4bcf4b78fbbc07eacbb0f2cc33d2ae6903d14bbf3bda21d15be3baa1bbd06f73b3d2b5c9dbc045c573c2a9a193c094036bc8df5313c65a9debbb31138bb8d7f9c3af6bd16bb1502463b75ad233af03ea0b7ff1a3dbae34514bac043cbbba736113cd9a505bab021123cebeeb23d7f9306be6aa09d3d885702be28c0893ff2108b3ff2108b3f28c0893f4c9c32ba9dbeb0381ca70138c7080c3a4c759ebadf8533397561d439f0c4373ac2a7093b2e8daeba258a543acadad3ba479cab3ae9749fbbb5a8433bda34faba3bd287bbd7fbcc3baaa4d8bb866b853b9990ef39339ef6ba46113d3bbf3892ba406632b9579f59babf9a743a5e861bb81942753ad298b739c6160bba846735ba441d27bae64b91399f240e39c4f3ae399979b5bbf843e3bac185be3bd63e183bfeb593bb3e6b40bc0a1b983c34b24c3cbd8a1abcc656adba2cea5c3a9c022d3c866e283b420543bbe84c403aa7a85e39d4d1483a9e0d263a079c8cbadc4fb8b9e916a4bac86ba03997de48bae6a5ac3a26d210bbe90fcd3bc65868bb0df17539e6a80f3d2fb3aabca23292bc1c41f43b2ece083e0d72e73d98102abe039334be5f30f6bca077563d529ccdbb48045ebcb76c283cdcf8c4bb7cbca13b3727fcbbad638dbae0843a3a3a3cefb8309249b938b3813a9c59b9bac654593852087eba9ee41dbcd160853c926e03bcaae06f3c7831f63d235025be0165da3df49c23be482b893f0fda8a3f0fda8a3f482b893f93cc9cb9bf570f3a841706bab3c591399d8f58bac30c2cbb1e8b403bdd8b8639c7797bbb9991023c530ad0bb7dbb533b3a9b8b3c1890b2bc0a6c763c131c5ebc0579aabc1a40c43cb291a3bc7cc1843c77771e3ce6341ebceed2153c3aff06bcc68981ba2d2853b96174bbb800dd923a9d9dc839801215ba645c2b3a3e1f83b94bfbad3b309f303a7a0d06bbe74398bbce2098bcbc22de3b920da4b9751f623c9a4e303ce0aed0bc608f083d77937dbbf744b0bcb8bf003c7af139bc1acccb3c6496e73b1ba5efbbcbb5e03bb2d8afbb49f097ba8584563b4d0522bb79c73d3819cd8bbae14fc73a1d41f6ba5c2cb23a1480cfbbe42651b8c43e803be84b063b992cfb3cf0bd56bcaae2d0bcb5c85f3c4d34193eab0ac93d10a11dbef16143beb4bf32bde0cd8b3dc7e9a6bc9bfb1cbb5bf5753c168a34bc0f581f3c227f3dbcad8afabad0e515ba689731ba9179163b3ccedb39b86e0bbb7ec9b43a05b154ba4064f7bb2f8c913cab4c09bcfd9e363c7a1ffb3dc3cb24bec58dc73d34031dbe4b40883f48c98b3f48c98b3f4b40883f80ad41b85e06fb38e97c81b9d7df1939e0e9d43a8c464dbb8ba7713b49a24ebbd4e58cbc56cf9a3c858380bc010f8b3c2db7383ddba447bdd9391f3d31c720bd84d461bd581d5e3d11474abd7238493da606da3c22a3c8bc8d95cd3ca124cbbc1a28afba4b26443992c95fbae99be43a2a4621ba101d0a3a6788beb8703a203a0d1a123cdbc8f3bb4222833be52cffbb1398f8bcc0a6b73c08cf7dbc416ce03c50f62d3db4e920bdee78393d786f14bd16eb1cbd6faef33c304bfcbc00a61c3d98764a3c6cc05abc0c865f3ca3aa2fbc537a1cbb016b9b3b465967bb64221e3a659503baf27ec53a7ed50abbeb94af3a0f889fbb08748b3ab299823b33da73bab753f03cc32c13bc4dd0f3bcfac3833c4e4a0b3e09dc963d4e26f7bdf3ef3fbe808442bd439e8c3d589111bdfe67803c2c06883c53cb34bc5621713c0f5b8dbc825a84bbf61e093a5aed6bbb3263be3b5561b6ba86ba16ba21b9bc3a7e4c9939c55be939f3a40c3c880e28bb8a87953b2ff5d43d26cb13be5eb0ab3df5650dbe4c9b883fefcf8b3fefcf8b3f4c9b883f7b3f2ab9cc5a82b9eb69ce3955d3c0383f7602ba5bef9f3a87d104bb9623b33ae8a49c3a379b83ba5dd9bf3ae055a4ba5096073cfd7585b903fe85bba6cafcbb0e27a1bb411b0a3c64b7debbb1fc4c3ba0ce843b473810bb14a6493bd85899bb7ce98dba63216339d5a21bb9655c8d3ab53fe639f8818ab9010cf439a52d1fbab02f45bb694d6538deb2613a5f72093b4e895ebba291343a9304c93b890f5ebbb5b0e4bced2809bd653c343d34d30b3d20ce39bc953834bbf50e5bbbf288923c1e29823b098c07bcfe40a33b6619abb95d38acbae32bf53aa676f2ba67e8933adb8b623826caf339c11a88bacf060a3a8c97b5b96bcca63b61e212ba523891bb45a0953c499da5bcc6d0cbbcf32a003dee5e3c3eb9080e3e531e4cbec49f5cbed8031cbd7fc7713dfb1d6c3bfa99bbbcdf3b653cc9a505bc8a2c8d3ba2f10cbc22c9edba51a6e33a2818b7ba45dc723a9e1b5b3bc1e89cbbfb73323b149c75bbd0a3cfbc0be0053d8aa4b1bc108bf23c1c0c263e53a244bed3f0033e215943be0cb3873ffc7c8b3ffc7c8b3f0cb3873fb5bb32386bc7c7b92a81893ac87029ba087993b9456fa9bac71bc1b95788cf3a50e7d9bbeca2fc3ba1b794bb7c9cab3b5e9eec3c7b8db1bcbde0423c3318c5bc6864e4bc8da2063d2d71debc1587b03cf6b37e3cd9fd68bc7710733cb05f6fbcf12663bbbe8ff83ae65417bb650a5e3ba4db89b9a0e2913a511ab9ba3eff433a3cd0893bf8992fbbc34d163b579a8dbb0d6089bc7206833ce01c9abb0850d43b4c96e1bb2e166dbd469d863d15eb7b3c806ff8bc8dab4e3c4c81a8bc206f193d1a842f3c106340bc1354293c6bf3fbbb00514cbace27223ba6042cbbe26f023ab25eddba74b7b73a624535ba9c0cb43add137d3b9c94aebbd490e43bd2b0f9bb3d65fbbb39ab0f3bd5ed27bd76385a3d628a633e7056da3dfa052fbe4d947fbed0b667bdc240a23df628a2bcaf7e82bbe929783ce76435bcc626203c2fd430bc8a882bbb0e4f593a5dfc8aba2b97003b2745683a970b01bbb5f2a8b9dc8505b835f862bc15f2b03cebe202bca6d35c3c1c891a3e744434bedb2fc43d262426be6cf2853fa2618d3fa2618d3f6cf2853fdbf9f1b8b437a23a9d9ce439d5c9d9ba1a6abd39af4fc8bb66be0c3bc071283b002f98bc990fed3c869ba1bcc5d86a3cca22923d38589ebde2cb7a3de43d82bd8cecb0bd49d2b83dd202b4bdd503a93dae432d3d43e919bdb524423df4d440bd8916d6bb78bb893bea4e09bc17b4143c7876f83971c80ebb14d88738a671023bda4f313cf6c3b7ba840f5bba083433bced255cbd4f5a143d54da4abc22910d3d744b813d1c99bcbd12bca03d816d0cbdad4b89bd58f6463d706b1cbddbdc553dd06d973c8a36b4bc9b52283c6ef332bb72146fba3ad0693bbde0b539b4a271bbdc0008bb9abcab3b56b939bbc722093ac347103c3dbab4bcad21be3cd6bb6abccae096bcab600a3dc07db0bd6be1a33da443553e04a5a23dc0d9d0bdcb0b8ebebbe922bdf0e5683d2e302abde9a6a73ce7cd7ebb63756e3cc5761c3bc69f1abc45124a3ba67cd8bb26ec4a3baf9496b8b1994abb9381aab990ac2c3a4dae303b33941c3c82ddc83bfe2737bb12a326bb9817db3d1d1614be4dbda03d726909be246a873f4e868c3f4e868c3f246a873f7781deb9818e10ba4bc2a539109c6d3a43880bba5dfa9b3a15f6f0b9678e33b96279b438a2506bba5d4a7eba784c133b14894f3c1db8763b159716bc82bf3fbc5351a2bb8b2d1d3c81d693bbc99f91b9d93c9c3b6e8d67bbd5d0273b436267bb51ad0cbbc63e6d3aab878db8abeeb73aba6d8f3937b3ee3921e55d393e0791baf960ebba2b1b00b9f656e7ba94bd743ba81348bbc54a8d3b2bdd143cfa4730bc42f426bd5f5839bd08a9673d0511423d285324bc74ec9cbbb80501bc5506be3cf3a3bf3bf93804bc6866e23bb6ad95bb47a45eba86d1173b50e639bb25338d3a98e7603ab0b763ba550ab6bad7f2dc3ab8e4a0bafca9b13b031f913b51ab18bc39b82e3cc7d4b4bc9d57febc8601413d7dc8573ec606133e9c4156bee1c171be91af57bd4b30913db0d2d03b0467c1bc7f55a83cc7db8bbc9f8ebf3b23a9f1bba170b4bb9bfb573bf3a2beba399e453b1105d53bc5a517bc1326ce3b1884ebbb85d520bdc2dd3c3dce19fabc3ce9283d37cc3d3e160558be999e0e3e923f52beb2c6863f802a8c3f802a8c3fb2c6863f9dd628ba267d103959d0c9395e2cdf3917174d3abf7d13ba73ca2aba3952b8b8cba7dabb62547b3b395981bac69eb63b9846e63c71ba63bca023503af1b8a4bc3213e7bcb464073db225aebc25fd863cb254b13cc465a9bce8ff913cbc4c8fbc944608bcb605db3bf484ccbbe047ea3bc31a1cbaea1fc03a96f163bab8f2e238db6c133bb00a8fbb0f99ef3a801b59b8c96f47bc9e7bb83cad69f5bb09230fbb91b429bcef2498bd0bc7a93d226d8f3c59e516bdc62faf3c45bf0dbd0d69493df9128d3c3d0f82bce033883c24a084bca49f35bba7e1873bd222aebb1505453b81695dbb2b38503b2c4e30bb9a537f3b2983633c952825bce4f3343cf0de93bcde791ebd0dd1903cf7ef4dbda72aa23d6b94893ed4b9aa3d7d8122be4b8e90be49b0a7bde6bacd3dc54e08bdae6d333c7c7ac13c78f6b5bc06419f3cec3c80bce653bbbbd2305f3be8916bbbc01e903b8733043b33f97bbb418799b889f91cba5039cbbc6607e63c31b3e9bb81539b3c1ac2313ead7043be6819b83dbc3228be82c4833f5c518f3f5c518f3f82c4833fa2611b3be32444bbb061ac3ad20d53babe33f0bb11c6033cd2fed7bb6e33b23ba8b8e6b92201b6bb9f4d8a3ce0bfc8bb80486e3da7f44cbdcdf1483c86b602bdd89fc6bd2b74db3d0753a1bd7d6b913d4c45823d9b3f83bdb5c1823d06586dbd9ba783bc5d997c3cdddda4bcfa478b3cca76173afa633d3a7a7e153b985a68bbd6419a3a4bb7c1bbbcc9cdbbcde7043c3c1122bdbe1f883d278205bdad646b3c0cf89f3d239b21be8345253ef8328dbd44d9bcbd315d753d3d38babd65ace93dcaf8193c0346243b9f59263cf9e465bc574d823bb7e2e9bb98c4ea3be6a1acbb7acc58baa85b833a23f440ba6bd4423b5c3ee03cfc86cbbc9ab49a3c5db9f9bcf0b8f8bd022cb03d5c2ed8bd34da1d3e6999ad3ef1bc533c101190bdadb4babeedd76dbdec4ab33d9c6c6bbdb677653c9cae97bc406b533c64be50bb5ad8713caa51093ca7dccabbfe757c3b6cfbc2bbef1bb8bb2230d03ba21b31bb51eb033b5b5b173c01d639bc6228a53c7fb102bccbb1013ed31a05beb9652a3c8ecccebd103d813fc6a3923fc6a3923f103d813fcf96fbb8fdd108ba538e0f3ac04809383dba8bbae95a893a8ee885bac631a13ab0c6383b192e2fbbcf6d083b2b3918bb31e746ba452d10bbab42063b4308c539ffb93abba138513b90d233bb2722153bcaa3023a969297bafe957d3ad60d3fb91d320bb9719895b99dd2573904b77439f4af65b9dec1c43aa42435ba0f4422babf0d193ad8b365b95f665f3962d399b9f688f63aa90993bb6a716c3b0a1b7bb9ba75d53b6bdac13b54039f38f87bb8ba8fdba1bb049f2c3bbb6865ba5aec693ba67cfa3920fb8539960593b9e1b12cb803701db93ea1f43904be4eb9b3bc1fb9ea8b1c3a900adab9e1ec2eb8020af4b942f09eba7d1a623bcbe171bbe75c203b5c70073d50f482bcd96709bcaacfcbbb1c1ca83de4f9a43de38205be8c8204beae9386bcd27f073d43ccbcbb5c5f05bcacad963b2b93b7ba6448cf3a14cb76bb2d3a10ba499a4b3a470b48b9e3c5abb9c2e7d1ba4912ad390d7013ba8382ce3adbe95a3b1ea6783bee6a163bbdf4cf3ae4b4a63d2a8605bed21ba63de62403be814d8a3f509a8a3f509a8a3f814d8a3fc0357ab9e73422b9323a4c39277546394afe2fbbcd59023bd2fc1cbbc9cb503bc575793b65d786bbbeb3983ba0fb7dbba5b5043b662b7cbb4d4f1b3be462fbba79a401bc3cf50b3c8347f0bb9943df3b55f6773bfeb056bbbcc4553b6ee55ebb0c7a2cba6eb80bb96019883976630c3a51362d3a35a19a39ffc1e2393e20babaf829f5bad558253b2b8beaba178eab3a204e8c3b2a73aebb9c1e923ba58915bba748db3b0609e03a07f8983be99b27bb334d03bc17c1bc3b0c1fb1bb7e4c083cf6ba1d3b1aedc6bacafed63ae0fe08bb91cd643a473e573a19a070ba6cb366ba43a50d3aba8eadbaaa97463a6cc7fcb983f7abbbed93d33b0d47b5bb9e87b83b74f02a3db0b9c6bc560c63bbf9b231bc6b49b23de2e5a83d1d1507be5d2b0bbee146dcbc2e59383d660063bc94fbb0baaffb023c3687dcbb5856ec3b82f7e1bb442b00bb1686c23939e258ba5a68f03a29f797b99f96b0b9ec277139e19466b9c5f31abb6b4c083c02a44fbbcf390c3c1d19b53d2a4509beb67dad3d487d09beff388a3f1b918a3f1b918a3fff388a3f8c1603b9e103a4b8b64a0039ea90c7384809b5bb4118223b3d0d89b9e6ff5b3bfb4ac63b814db7bb21f6763b5c4035bb8de62a3c9e5c11bc896bee3b4e5838bc698787bcc4c5863cb74084bcddb5853c569fb03bd299bfbbf20add3bfdffb3bbcab593b8d7c3a8b87b42a03933f1d5b8d304733a36115db9162448b9339a12ba077f06bafb74b43bb06c9abbad405ab9e23fba3b9f5e51bb0326fa3a31d441bb47fd3f3c7211a8bb2ffa243caad5f5bbbf7795bc66b6993c792887bc8390853c622c0a3c72b2b7bb49d9803b089ebabb0cbe3fbae9055d3af413fcba2315c83acd41423aa03dbfba8241b83af8a186badb8e03bc9ad3d83bb842bfbb8e5c023c9294143d8567d0bc1494453a726ffbbb4fa3b73da4bb9c3dd9e900bed83a0ebe457306bd2400333d10178fbcd0591b3c74b2083c980002bc4b2b1c3c301e0abca7b8d0baa65f223a66bee5b92db65f3a571d933a682916bba030243b23ccfdba6f1185bb0682293c774bd7bb77a02e3cb9e4a53d76d503bee8dba83ddad503be10228a3f9bb98a3f9bb98a3f10228a3f1fb04dba1f56a3396e7cd4b870980b3a3c74eabaf5cb1eb90cb9a53804e0063b5377693b07140abb5b72f03a984965bbca623639934c38bb20dd6a3a7bbb5aba732896bbc15fa43bd6c191bb9524703be684d93aa11b10bb5b4d0b3baf4ca3ba07f5a0b932730cbabe390f3a2fe868396d727e3a55bd1939990f36ba2541c7b9b4f038ba50d4a93a626a923960110dba7f2792bbe6055bbb3f96c83b5cc0213bfec803bc3a5e21bc3846903cbe187a3c6d8fcabbeb2b40bbf8409c3ae7c20d3cc1749c3aa5d9c2ba9ebdcc3971edb0397959093a235d823a968531ba181163ba626b44ba1845dd3988802fba7a25e13991848fbbf3e7ec3b7c6a89bb225b113b9aa5253dcf9bc1bc787d81bcdd4e1b3bfa28033ef536f63d137e2ebe2ada31be50b8ddbc8ded403d8e97c8baf04f80bc1b38163c6938b1bb5ec94e3b693fbdbb991366bafd4e94b99ac0c139db6816395a2a423a2f40dcbabbf4183aca5a60ba17b415bc28f7803cbcc212bca08e803c7a05ef3dc7e225be7772e43d4c5a24be2eae893fb2538a3fb2538a3f2eae893f5bea35bad65d613ac84f43389d8551b9d5877bba391a12bb9d1bc0389de1463b0b454c3a050a303b2d1987baf656febac330ea3bbbd337bc0a18f83b6ec9cebb079434bce803673c93005cbcd0c7223c03144e3b6c7a96bb15e0dd3b5b499bbb719daf39f28a1dba5aeec7b9cf54183a8a6a0b3b8803eeba412ccf3982dc36bab8405bba0581be3be14a1fbb93682ebb13f404bcd5f789bb9215cb3b897eee3b200580ba53154dbcf685b23c228bcb3b76a056bc1fb2903aae3053bb3aca803c47d6f23bff46cdbb33d3063bae892ebb94b8e9bafbe11d3b36246dba74791f39ec890ebbfa91063b19adafba2cbfa13a51439ebb84e9c53a32c93eb9da5b7b3b6268233d5219a9bc5ddf96bca5ba633b8f8f073e9665e63d139c28beb14835be1c3505bd48de583d5f50e3bb10e22cbc64a6013ca83abebb2220b33b36dfcebb4f3c093abb8d88ba489d9939ec1f88b97a83083b632040bbc3d0f03a29cb0cbb42680dbc69158d3cb14415bcc9e15b3c38bce93dfa5422be160cd83d2ed31ebe0669893f1aa78a3f1aa78a3f0669893f44e4acb86810293947e082b92eb052394f98f73ad05733bbdd892b3bf1392fbb19cd5fbc78527d3c64026bbc8fc6773cb4c3073d9c9a0ebd047f013dbb8506bd332e0fbde65f0e3d703908bdbe62033dfa3a583c63924bbcf630523c43bd44bc3ce4f2b8d15aa5b82f205d38a9bb1339fc5aa2b71e1481b97eaff239e38220b97020eb3ab3f11cbb8503173b639135bb333d63bc9ca4ca3bf0379cbb0329773c2024ba3c8da9b3bc0f90e93cea828ebc7e0fdabc85c2923c20c293bc644fda3c35fa1c3c202d13bcecf8093ce18d01bcc1e611ba141e823a48d08aba225ae339ab2e90394f2aa5399ece26ba334d94b8ff4028bb8bf5423ba42ca6b97e769c364d67123dd5e97fbc9c9f99bcf611623bfa74ef3d9a46b63d12dd0dbe199129be93ad0dbda648623dca8f96bc7e6c283a0429203c69790cbc9b17023c5d39f8bb1831adbae804d0399e8e2dbaf567913aeed36a390b0f9eba73177c3a5a590cba5f3d9abba5b92d3c9a3986bb71691a3c301bcb3d06bc13bea2d6bd3d814711beeeaf893f1abf8a3f1abf8a3feeaf893fa37bbbb7a91979ba49808e3a23d608b86b134eba38811f3be90c49bb57f4c43ac6f6593b876102bb5d01c73a0f0d2bbb79a6b13b2f510d3b858c94bb2bd6dfbb8d5e69bb8e71d13b4c6dabbb029a1f3b8c02533b9995c3ba82ce083be5ac6bbbf9b564ba1087f4b859e417393d5a693a4d0e5d3a9bc6bab9a0b81b39ce3529ba7bdf88bb7d922b3a8fae6d3a6553343bb6d77cbb5c8e11bb9b631a3c69b351bb557ef0bce30506bd6549283dbac11a3d43dce7bb775345bb93ee6dbb699d643c188e1f3b7fbcd0bbc338863b28f98c38c7f0eab9daa5c23a0939b4ba21b39a3979d9e1393bb7bcb94b6c2eb91ad04bb89d8343bb5ca0023c4bb51bbbb7951dbb8ee3013d933fdabc1307cbbcf23fbe3ca7432d3ea9221e3ea4d851be3de757be744b04bd40d5383d7f045c3c7d52c2bcb4c1313c546bbbbb25625e3a81dea8bb54f3e6ba09d4b53a5bbc5cba8a9b613affc9343bfab981bbb63a273bb34977bb35e0c0bc3bb8fd3c6f21b8bc933af83ca533193ed19d42be2b460e3ee1c442be24f4883f24408a3f24408a3f24f4883f49146d390d359bb9ab1fa43aad1299ba59462ebb7e5f97b905e7b1bafbb98a3b630a3c3a8521023b52c8aabaacbce2b9354d6a3cc5c420bc64e3af3b6c4b66bc77a06fbcf9d3943c981f82bcf917463c775de23b8b6b10bcc201263cd464f2bb8c3f03bbde01863a3791dbba86fb203b4856c7392f68bbb8f56168ba563d363a46bb0a3b53f5243bdfbc8fba07d868bbd6f31ebc698a6e3b2df8a83b29c3b93af9e591bc9cc91cbd0601403d06dcd23cdd9767bc7016463b747d2fbc9322af3c354efa3b5f1668bb54c8d93a7f6a9ebbc6828fb9a180d03ab58f87baf2e2d4b9dc8bf2b9c3fe093ac12d1eb9eddff638409641bb2fcf6b384e5b5a3b46f986ba8a1eae3c8e0b91bc60b0ecbc86dff03c161b363e7d7f0f3e8fef44be342c5fbef3a31bbdbaa9493d0731b53b6c0b79bc3d1ff73b4e2a07bc956baa3b3b645fbba148bcbabff1c93938d4afb838c13c3a805a8b3a7da81abbe65a1b3a292e5dba668c54bc4b00a83cdacf3bbcc1de8d3c7fda073ee08530beeb1aed3d3c5f2bbeba80883fdce18a3fdce18a3fba80883f8dee92ba5bbcd43afa6f78398f8d35badd9f823bbfed3ebc29499b3bbb62aa3a7fb3ecbc9c80193ddc70e2bcbd66c53cde0e843de9409ebdd41a8d3da9a17cbd450a76bd1bf3863d5d848bbd8f6a723db9689b3cf8ecaebc8253e73c0bedb5bceda934ba1a582c3abf4837bb7d61143b6d4b1d3b820827bb9c433039f319cc38af267d3b12f6f73bbabd30b75ae351bcaa3cd9bcc2246a3cd97d67bc7ba5f03ca8c31c3d7e3041bd860c5e3d9f69f7bc182f47bdbf26ff3c951aeebcef1e353d22d6b43c11f17fbc614c043cf95c47bc6e3e58bb3960473bd04307ba2c67313ab6b754bb168e5b3b3c390cbb02cb0c3be0b2053c23b18fbcbe686d3c1c56e0bb6fc62f3b7605243c64fb3fbded83213dc1da243e45e5ce3d8e4316be0b1f56be0e0ddfbcdfad283da9b8a5bb3cc308bc21596ebbd8258a3b71dd85b9efb06a3af23d3b3bda1538bbb4ffa43ab62cceba7dfa0f3b105e26bb7a41133be09e21bb43a2dabbac16863c6d8d15bc382d2c3c1b7fe43d56021fbe005dcc3df70f18be29f2883fe0038b3fe0038b3f29f2883f166b9d378099b2b949a794396850703981e689ba7079a23a1e8022baab5e043a998e1d3b8ad3babaa157a0ba37be0e3a2891233c951cdc3b149a25bc2a8133bcacac5cbb484ec53b9bce01bba95b3bba77a2643ba8643dbb8f041d3b854732bb7b18b7ba4c0c0d3a85954fb9fb309b3a12eb563ad42106ba3381813a574bbeba8dce4abbb4dcc03aa10522bb67c1883b079b86bbe4864e3afc3a493c1c9617bc86c82abdcf2333bd98a35c3d0c494b3d23659bbb78be85bb46ff17bc4e01953cecb5513b0526a3bb70caa73b6d3157bb02aea737d1d5c83a4fac13bbe079ef39bfd1123b5a3809bb69ba04ba20fbb5394c32eebbdc8e263c1835b33a051688bbad9cf23cc8cc02bda9a9ecbcc6b30d3d8859413e8faa283ee05b5ebe10c168be442b2fbdabc94f3db886a23c0c52d2bcca56743ca5e447bc84e5743a3ea229bba3b18cbb0d402c3ba758a5b99965df3a0e2fbc3b642704bcac9bc23be21eeebbea1912bdf482323d961706bd0e592d3dc12a2d3e33de54bed21d1d3e541153be5289883fb1668a3fb1668a3f5289883f7bcbcf39b4a226ba72ef6d3a45260aba865607bbad55ca3a4cf0b6ba2681e53adaadc7b92138ae39fb68abba36aa233bc98d983c02dd82bbb2c6e6ba2d1a8dbc44ba87bc6f94973c0c754bbc01bf2d3c39983b3c1a9b3abc14fa273ceead1abcd8e881bbf280583b2b3f57bb997c6e3b0484dab7920786b7fc8d4f38b8db91b89cc052ba0312813af87b10bba3980f3bf854b4bb2e2df33b09a9b33ba945f6bbb67dcbbc46ba64bdce7b853d8d20023d83cf9cbcbb2a523c92f7d7bc5bfb003d25072b3c294916bc62c92c3c92c32dbc446229bba440463b756d52bbbc56133b1b9d0539bd3afd390e149dbaeb6a4b3aa115273aa30fc23a18ba973b61f3f2bb6dbbf13beac682bc1fdc07bd7e5e3c3d8b26503e4db60f3e952547be5a4d74be9dac50bd7bf45f3dd9b2be3bf78917bc4ccb743c849d5abc852de83bb251d0bb89574abbaf57e73a79f3acbad461023b24823f3bd905abbb56033b3b75d95ebbdc59bdbc2844f03c03f18ebc57ffd83c567a193e51bf3ebedef7fe3d661e37be7cc6873fec458b3fec458b3f7cc6873fa945593a56ada3397de8f4388e2c2abac5e5c63ba97ae4bbba56943b3d9fd6bbe97a25bdf9ce2c3d2a770dbded0c233d01f8d23dea9dc3bd61a1a63d2a45c4bd9e7bcfbdb969d03d9ae9c1bde2a4b93d4c574a3d2b5341bd0045493d5bc838bdf8c941bcfa4e413cb6ac60bc344c393c3e6e48bba921bf3a6e910eba6c3a293bc989323c050764bc84de2a3ce23525bc895e57bd5639673d5b1832bd0862383d36d7803df021f8bd9859063e27556dbdc3c688bda1ec5f3d57f590bd7f029c3d885e953c111a6bbc5e4d9a3cdd3991bcdde85bbb9995103a0ef742bade87243bbdcacebaeef45d3bcd3464bb3aef2a3bfdcf813c51d961bc7403753c628ca8bcbe8407bd7be8f63cdb6b90bda1a9a33d44d86a3e0961ad3d543c08bea1f589beffde5fbdb598773d8fdc7fbc14d3cb3b0c57a23b04eb77bbb514673b9bf5e1ba571b113ba2da4abaae3c1139bbcfefba89baa1baab0e1e3a8f3f8eba93b7f939e56bcbbbb7d6233cec219eb9c1f20d3ca067f73dd6f822bef9bbbd3d73a615be1996873f16028c3f16028c3f1996873f809395b9d8360bb9b5bc7439fac75739f89997ba0eab023ab7273fb925a47d3a2d36513b11b93abb7520153b83cf33bb9a2610bb84ef46ba5c26c539af3a063bad302fbb69c8383b063c18bb4671083b2758893a77b78bba1032a13a35e885ba8dd908bae972fbb837f4083883960f3abba1f43995681db9e6ba1fb943c64eb9bb0d8639a775fa39a1102cb8862293b92fa12c3b84dba1bbeceb693b547065bae3dcc13b8b74d53bda76b8ba72609e38420b93bb9988f63a690c7bb909746c3b1e8965b95406193aceca99b96d455f39dabfc43a25aa65b95c4422ba842135baafa04b3a7d4010bac0c3abb96d1448b9898eb7bacfac963b48ca76bb3745cf3a297f073d3c9386bc9d6005bc61c6bcbb01faa43d0c1ca83d898204beed8205be3bf582bc7f70073da2d0cbbb106609bc581d623b5def9eba005d203b13e571bb0eefd9b90f841c3a3c09f4b91d6b2fb8426113ba1783ce3a80e4d1bab1e8ac393965163bb5fbcf3af0e65a3b61ab783b961ba63ddc2403bed0b4a63d0c8605be509a8a3f814d8a3f814d8a3f509a8a3f6eb80bb90c7a2cba76630c3a60198839feb056bb55f6773b6ee55ebbbcc4553b3cf50b3c79a401bc9943df3b8347f0bb662b7cbba5b5043be462fbba4d4f1b3b65d786bbc575793ba0fb7dbbbeb3983bcd59023b4afe2fbbc9cb503bd2fc1cbbe73422b9c0357ab927754639323a4c39473e573a91cd643a6cb366ba19a070ba1aedc6baf6ba1d3be1fe08bbcafed63a17c1bc3b334d03bc7e4c083c0c1fb1bb0609e03aa748db3be99b27bb07f8983b2a73aebb204e8c3ba58915bb9c1e923bd558253bf829f5ba178eab3a2b8beaba35a19a3950362d3a3e20babaffc1e2391686c239442b00bb5a68f03a39e258ba3687dcbbaffb023c82f7e1bb5856ec3b2e59383de146dcbc94fbb0ba660063bce2e5a83d6b49b23d5d2b0bbe1d1507beb0b9c6bc74f02a3df9b231bc560c63bbed93d33b83f7abbb9e87b83b0d47b5bbba8eadba43a50d3a6cc7fcb9ab97463aeb277139e19466b92af797b99f96b0b902a44fbbcf390c3cc5f31abb6b4c083cb67dad3d487d09be1d19b53d2a4509be1b918a3fff388a3fff388a3f1b918a3fd6c3a8b8cab593b833f1d5b87b42a039d299bfbb569fb03bfdffb3bbf20add3bc4c5863c698787bcddb5853cb74084bc9e5c11bc8de62a3c4e5838bc8a6bee3b814db7bbfb4ac63b5c4035bb21f6763b4118223b4809b5bbe6ff5b3b3e0d89b9e103a4b88c1603b9ea90c738b64a0039e9055d3a0cbe3fba2315c83af513fcba72b2b7bb622c0a3c089ebabb49d9803b66b6993cbf7795bc8390853c792887bc7211a8bb47fd3f3cabd5f5bb2ffa243c9f5e51bbe23fba3b31d441bb0326fa3afb74b43b077f06baab405ab9b06c9abb36115db9d304733a339a12ba162448b9a75f223aa7b8d0ba2db65f3a65bee5b9980002bc74b2083c301e0abc4b2b1c3c2400333d457306bdd0591b3c10178fbca4bb9c3d4fa3b73dd83a0ebed9e900be8567d0bc9294143d726ffbbb1594453a9ad3d83bdb8e03bc8e5c023cb842bfbba03dbfbace41423af8a186ba8341b83aa030243b23ccfdba571d933a682916bb774bd7bb77a02e3c6f1185bb0682293ce8dba83ddad503beb9e4a53d76d503be9bb98a3f10228a3f10228a3f9bb98a3fc9720cbae7f1a0b9cbe06839b7390f3ac41b10bb8e84d93ae34ba3ba344d0b3b9d5fa43bc02896bb8525703becc191bbed4c38bb744a363900b45abae6dc6a3aa1130abb2277693be84965bbce72f03a51bd1eb9ed6aeabad6da063bd9afa538ec53a339b5b44dba6f9d0b3a7678d4b81a5d823aa357093ac20f63ba008531ba10d9c2bab0759c3a35e6b0398abfcc392a2c40bb8f8fcabbfdc20d3c30419c3a315e21bc09c903bcb4187a3c3f46903c43065bbb392892bbffc1213b4e96c83b5ed3a93a50f638bad6090dbaa369923916c41939ec787e3a4251c7b95e0f36ba454f94b9f81466bac56e1639cbc0c1397838b1bb3438163c773fbdbb28c94e3b8fed403d58b8ddbce94f80bc8d97c8baf636f63df728033e29da31be127e2ebecc9bc1bca3a5253d564e1b3b7d7d81bcd9e7ec3b5b858fbbe15c113b786a89bbf946dd39dd6d44ba0b28e139ff7f2fba84f4183a3f5660ba0527423ac340dcbacac212bc758e803cb5b315bc27f7803c7672e43d505a24be8405ef3dc7e225beb1538a3f2eae893f2eae893fb1538a3fec911dba9ca2af39e652183ac7e1c7b9f57896bbc2124e3bf3489bbbbededd3b4903673cd69334bc97c7223ce5ff5bbcc2d337bcc230ea3bb4c9cebb6f18f83b0d0a303b9a444c3a5457feba191887ba5e1d12bbc6837bba81e0463bd86dc038925c613aa2e935ba388551b9734c433860e31d3baab9e9ba657e1f3981286dba9048cdbbf7d6f23bad8a2ebb8cd6063b5eba903adda056bc59ca803c533453bb28164dbc7a0280bac18acb3b3a86b23c77f689bb67f404bcbe7eee3bd214cb3b5581be3b0e415bba4e682ebb384b1fbb2e03eeba726a0b3baadc36ba4b2dcf39618e88bab53c093a392188b992a09939d13abebb66a6013c6cdfcebb7c20b33b5fde583d243505bde9e12cbc1c51e3bbaa65e63d8d8f073ead4835be1d9c28be1a19a9bc5968233de1bb633bc1df96bcafe4c53ad5429ebbee5a7b3b939c3eb9ef93063b918a0ebbe3c0a13a9ab1afbadfd1f03a57cb0cbb8c83083bc42040bbc24415bccbe15b3c1d680dbc49158d3c060cd83d2ad31ebe3abce93df85422be1ba78a3f0669893f0669893f1ba78a3fbc5ca5b884dff2b89eb913390f235d383c924bbc6e3a583c6abc44bc9530523cdf5f0e3d122e0fbd8162033d533908bda79a0ebdccc3073dc78506bd067f013d11527d3c41cc5fbc24c6773c50026bbcff5733bb019af73a813b2fbb998a2b3b1610293996e2acb85baf52391fe082b9f01d823a2ce611ba9059e33942d08abac82c13bca1f91c3cf18d01bc11f9093c9cc2923cc40fdabcbd4fda3c46c293bc89a9b3bc0f24ba3ccb828ebc0190e93ce1a4ca3b5b3d63bcc728773c9b379cbbbff11cbbae1feb3a039035bbcd02173b341381b9c380a2b7597e20b9a6aef2397009d0398c33adba6569913a518f2dba4c790cbc9928203c0a38f8bb4e17023c9348623d61ad0dbd0560283aa48f96bc9246b63d1575ef3d2c9129be09dd0dbeb3e97fbc3467123df013623bb79f99bc7cf6423b634328bbf7f0a0363a33a6b9f229a539d32f90396b5394b848ce26ba4d167c3a58570cbac3d36a39390f9eba6b3a86bb716a1a3c1b3f9abbf3b92d3ca7d6bd3d884711be401bcb3d09bc13be1abf8a3feeaf893feeaf893f1abf8a3f1087f4b8f9b564ba3d5a693a59e417399995c3ba8c02533be5ac6bbb82ce083b8e71d13b8d5e69bb029a1f3b4c6dabbb2f510d3b79a6b13b2bd6dfbb858c94bb876102bbc6f6593b0f0d2bbb5d01c73a38811f3b6b134eba57f4c43ae90c49bba91979baa37bbbb723d608b849808e3adaa5c23ac7f0eab921b39a390939b4ba7fbcd0bb188e1f3b28f98c38c338863b775345bb43dce7bb699d643c93ee6dbbe30506bd557ef0bcbac11a3d6549283d5c8e11bbb6d77cbb69b351bb9b631a3c7d922b3a7bdf88bb6553343b8fae6d3a9bc6bab94d0e5d3ace3529baa0b81b3909d4b53a54f3e6ba8a9b613a5bbc5cba546bbbbbb4c1313c81dea8bb25625e3a40d5383d744b04bd7d52c2bc7f045c3ca9221e3ea7432d3e3de757bea4d851be933fdabc8ee3013df23fbe3c1307cbbc5ca0023c9d8343bbb7951dbb4bb51bbb3bb7bcb979d9e1391ad04bb84b6c2eb9b63a273bb34977bbffc9343bfab981bb6f21b8bc933af83c35e0c0bc3bb8fd3c2b460e3ee1c442bea533193ed19d42be24408a3f24f4883f24f4883f24408a3fef01863a8a3f03bb8ffb203b4a91dbbaa76b10bc445ee23b9e65f2bbd801263c14d4943c56a16fbccc18463cac1f82bcecc420bca84d6a3cc44b66bc85e3af3b5a22023b6bfd3b3adfa7e2b9fdc8aabaf36397b97b452ebb99b98a3b3ae6b1ba56339bb9d4126d39751299ba431fa43a2f81d03ad0868fb92de0d4b9059087ba671668bb124efa3b456a9ebbf4c7d93a3516463b379767bc4c22af3c7a7d2fbca0c91cbd10e691bc2fdcd23c0001403d7b8a6e3b4af31ebcc7bdb93a7ef8a83b08f6243b1abb0a3bc5d868bb7dbc8fba496abbb8b051c7395340363a6f6268ba2beec939cc46bcba0abe3c3a0fc8afb8372a07bc951ef73b7d625fbb426baa3ba9a9493dc7a31bbd220c79bca831b53b807f0f3e111b363e312c5fbe91ef44be8c0b91bc5d1eae3cc0dff03c75b0ecbc52a06b38b69441bbd9fb86bacd5b5a3bccfe093a238bf2b922e1f638282f1eb9425b1b3a652f5dba405b8b3aada81abbe9cf3bbce8de8d3cd78c54bc6100a83cf11aed3d465f2bbe89da073ee48530bedde18a3fba80883fba80883fdde18a3f49572c3a95a934ba6b61143b8f4837bb01edaebcbf689b3c07edb5bc7e53e73c14f3863d3e0a76bd8d6a723d59848bbde9409ebddd0e843daba17cbdd51a8d3da580193d87b3ecbcc066c53ce770e2bcbbed3ebceb9f823b6c63aa3ae2489b3b1bbcd43a7fee92ba028e35ba807378392c60473b5d3e58bb9d67313a6a4407bafaf07fbc19d6b43c0b5d47bc734c043cf626ff3c262f47bdf31e353db71aeebc663041bd9dc31c3d9669f7bc760c5e3d79246a3c9d3cd9bc67a5f03c837d67bc1cf6f73b93267d3b65e351bc5b8130b7480827bb584b1d3b661dcc38923f30398c1538bbc63d3b3bbd2cceba84ffa43a9e258a3be3586ebbe4b06a3af1db85b9ddad283d0a0ddfbc30c308bccab8a5bb41e5ce3dc1da243e0e1f56be894316bea105243c27c62f3bf183213d6ffb3fbd1fb18fbccfb2053c5e56e0bbed686d3cd68d5b3b95b754bbfbca0c3b18390cbb3e41133bc89e21bb62fa0f3bd05d26bb738d15bc472d2c3c0ba2dabb9816863cf75ccc3df50f18be197fe43d53021fbedf038b3f2af2883f2af2883fdf038b3f720b0d3a0118b7ba8b309b3af3914fb94b643dbbfda1643b174732bb37041d3b684ec53b0dad5cbb355a3bbadcce01bbac1cdc3b1791233c1b8133bc1f9a25bc87d3baba8c8e1d3b70be0e3aa457a0baee79a23a1ae789ba2d60043a448122baf297b2b9304a9d37c554703988a5943948d6c83a2d89a737497cef3992ac13bbe125a3bb89b5513b0e3157bb4ccaa73b5dbe85bb20659bbb4c01953c50ff17bcd22333bd85c82abd0b494b3d9aa35c3d40874e3a0a9b86bb1b9617bcf83a493c5bddc03ae2ce4abb8fc1883bef0522bb6f2206bafeeb563ae24bbeba9081813a30402c3bbab18cbbf465df3ac559a5b9cce447bcfa56743ceea229bbd8e7743aaec94f3d482b2fbd0652d2bcb386a23c8daa283e8b59413e12c168bede5b5ebebfcc02bd9b9cf23cd0b30d3dbda9ecbce48e263c5e32eebbef1588bbcd34b33a733809bbdfd1123bcef9b539efb904bab99bc23bef1eeebb1d2fbc3b6b2704bc941706bd0c592d3de81912bdf282323dd21d1d3e531153bec02a2d3e33de54beb1668a3f5289883f5289883fb1668a3fb280583ba4e881bba07c6e3b1c3f57bb229b3abc3e983b3cecad1abc0ffa273c7a94973c55ba87bc01bf2d3c0d754bbc12dd82bbd28d983c2d1a8dbc8bc6e6baba39ae3929b0c7b988aa233b7669abbadb55ca3a9d5607bba080e53ae5efb6ba83a326ba1ccdcf3932270aba3ef06d3a6540463b216229bbc356133b686d52bb164916bc0f072b3c99c32dbc6bc92c3cc72a523c84cf9cbc59fb003d94f7d7bc4aba64bdb67dcbbc9020023dce7b853d0a2df33bb054b4bbcc45f6bb20a9b33bd211813adebf52ba94980f3b097c10bba5fd85b79f96dab730d891b8638d4f381d58e73ab0574abbea61023bbef3acba7d9d5abc47cb743cbd51d0bb812de83b7af45f3d9dac50bdf88917bcd6b2be3b4ab60f3e8f26503e5e4d74be922547bef1c682bc8cbbf13b815e3c3d1fdc07bd0410c23ac214273a54f3f2bb07ba973bb53afd39789d0539576a4b3afc139dba23033b3b38d95ebb2f823f3bd505abbbfaf08ebc51ffd83cd859bdbc2144f03cdaf7fe3d651e37be557a193e50bf3ebeec458b3f7cc6873f7cc6873fec458b3fdf4e413cbec941bc184c393cb5ac60bc285341bd48574a3d5cc838bd0145493dc269d03db17bcfbdeaa4b93d9ae9c1bdee9dc3bd0bf8d23d3145c4bd63a1a63dffce2c3df87a25bdfb0c233d2e770dbd037be4bb64e6c63b499fd6bb9756943bd9afa3395243593a212c2aba7debf438d497103a6cea5bbb3289243b82f842ba061a6bbc875e953cef3991bc694d9a3c88ec5f3da9c688bd75029c3d58f590bdea21f8bd22d7803d00556dbd9559063e6f39673d9d5e57bdd961383d3b1832bd2b0764bcfd89323cc53525bc65de2a3cb121bf3a426e48bb663a293b5c910ebaaeda4abad81b113bdad1efba794411392eeb77bb1557a23ba9f4e1ba6914673bbb98773dfade5fbd0bd2cb3b47dc7fbc0a61ad3d49d86a3ea7f589be4d3c08be16e8f63c8d8407bdcaa9a33df96b90bd0cd961bcd0cf813c828ca8bcb003753cadf45d3beec9ceba4aef2a3bf23464bbdd3f8eba94b7f93962b9a1ba520d1e3a80249eb9fcf20d3c4b6ccbbbc6d6233c0abcbd3d84a615bead67f73dd5f822be15028c3f1a96873f1a96873f15028c3f71644c381ce18ab9faa0a2b814499439930f64bafeeee23973327ab736c51b3a3ece753b7b7907bb906b033bbe8480bb77b108bb297b75b8122cdb38c8f1cd3abe07f8ba0e33163b775119bbc2c2f03a6eb66c3a89624ebad07698397dd41db95e001637c6965eb98c1e2039094ad5b78418e3b8443ca6398e502c39a03aabb9a550d13990ad99b8885986396b0b4db9c5b4c63a3baf91bbcdc6703b6b0cf1b8d8327d3b37fce23b50abb1ba831ec03ad3f36fbb9ad2d23a1ec4343a0e03093b516134ba4db15a3906c536b950ab643a033faf399ad455b85af9e139dabc46bad3f7233a859c2139bbfedfb9618427ba1ccce5b9a7296f3bff2789bb8a59ff3a3a95093d5b2b87bc51570abc50f5ccbb3290a33d0e8fa43dc23e04beb41a03be7f8681bca93d033db952a8bbf0bb0bbc88648b3bd1eb65b9f2fc903a072a89bb0ee517b93b1ad4b903bc9d394744a3b7c49c70bae7e215b92671c43444a9523ae268603b36d3e03afccd6d3be5560b3bb264a13db99e02be26b6a43df7ba02bef08d8a3f7c638a3f7c638a3ff08d8a3f6ea864397c315cb9f58266393d6573b9c00338bbe6ba083be1b200bbbb44533b06a90e3ce7e5ecbb17e9d83b1cf908bc9507b7bb075d9c3b20e890bbfdfd863b0f6e17bb2bbbcf3ab8d46bba33c0073b6e56363bd12b2bbb0a96ae3a9947c3ba6a6e45b9ab0ee03789d5de364b5b4339c1fe95b73d6e503a2e718cba3df61e39b3f4e0ba472e5e3bcbd6bfbaf7b2b839144ee33ba23c35bc7b4e163cdb839cbb501086ba1443183c74c494bb9cb6e63b1bf768bb6595e03a3a5986392790473b4d3cc93af50e9cb9b92af0396525d0baabae8039d1999339309c72b9e531e5b9f405863a1999b0baceb7f23aebab0abb17ddefbbf87a063c19d9dbbb98d3f33b7eb3413d6c31ecbc035661b9957080bc5682a33d3e49ba3da0290fbef76004be3f3eafbc97de223d23c60ebc9750d0bb3fa49e3b46fca1bb4274cf3b3edba6bb32b4c1bac3e4363931c340ba5b73d63a51fc53ba0c0e1bba03002eb930207a3a80bc6cba30c9c73b7b2d19bbfdfc0d3c6f16ab3d292e07be773fb43d58020abe17ae8a3ff21c8a3ff21c8a3f17ae8a3fb6a17cb9d9a585b868eb7bb877c1c53921359dbb50d7773b6b8a2bbbce939a3b4955943cc1b18dbc056a583c1b3273bc563b81bc72a18d3c5b0d66bc2379343c6334863adfa227b7e89b063baa5abcba67fac43a430a44bb4df3703ae510e5389c9cbbb827d381b8e85700399d2526384076d83aaaf15439e7b284ba21cca1babda3c2bbf132103c1c68f0bbc9e8c93bd21fbf3c7de2b6bc11f69e3ce3deaabc4ee936bc1f7ea63c8c2886bc3f2e893cde4696ba16f7213a2f9c283bca3dd339303e153af97049b9bd30323bbff66ebb3571ba391b9a3d3ac00351bafb2aafb88e7f9c3ab31138bb1502463bf6bd16bb094036bc2a9a193c65a9debb8df5313c06f73b3d3baa1bbd045c573c2b5c9dbc2ae6903d0f2cc33da21d15be14bbf3bd56a1a4bccb7f0a3dc07eacbbf4b78fbb70a3df3b5ec803bc98d5a73bd4035dbb0462d2ba63b61d3a540be4b90683923aff1a3dbae44514ba75ad233aed3ea0b7d9a505bab021123cc043cbbba736113c6aa09d3d885702beebeeb23d7f9306bef2108b3f28c0893f28c0893ff2108b3fbe9c59babb7b32b9b93c1bb8cc98743ae2a1f6ba999bef39723992ba2c123d3b82fbcc3bf8d187bb1b6b853b1ea4d8bb81749fbb3d9eab3a0237faba0ea8433b178faeba0da9093b9adcd3baf38b543ad25a3339f27d9eba78db373ae76bd43943bcb038cd9732ba14050c3a76a20138ba0e263aa9d1483a1558b8b9809a8cba540643bb5b6f283b95a45e39894e403a5056adba178a1abcc7012d3c43ec5c3aba6a40bc7cb693bb34b24c3ce61a983c9944e3baff78b5bb3d3e183ba385be3bd4549139871327baacdbae39511d0e39f59db7396f38753a4a5e35ba44190bba59873a3a3a5f8dbaeeb149b91858efb88af8c4bb656c283cc626fcbb64bca13ba577563d7330f6bc02045ebcbc9ccdbb1072e73d2ece083e059334be97102abe75b3aabcd2a80f3d1142f43b703292bc5210cd3bb7cf10bbaebd7539d65868bb4d68a039d114a4baa7a3ac3ad9dc48ba8914593804117ebaf0b6813ae656b9ba746e03bc3ce16f3c14e51dbcb760853c0365da3df59c23be7c31f63d255025be0fda8a3f472b893f472b893f0fda8a3f6ffd52b97a8b81ba82de923a5dc6bbb882351ebcc4771e3ceeff06bc09d4153c2840c43c2e79aabcd4c1843cee91a3bcd28fb2bc329b8b3c031c5ebc776b763c7191023cca797bbb22bb533b110ad0bb360a2cbb099658ba409d8639a688403b195a0f3a88cb9cb928c69139011a06baa582563bafef97ba1e9e3d38430322bba9a2efbb6d95e73b3fd8afbb96b3e03b42be003cd644b0bcfccbcb3c00f039bc68aed0bc0a4e303cda917dbb348f083da91fde3b862098bc6a1f623c7eefa3b9539c303a98fbad3bbf4398bb1b0e06bb321215ba239dc839702283b9185d2b3a0fe515bad78bfaba097a163ba89731ba0b8a34bc23f5753c2c7f3dbc41581f3cd5cd8b3d91bf32bdd4fb1cbbd0e9a6bc6f0ac93d4834193eed6143bef4a01dbe01be56bc932cfb3ccec75f3c15e2d0bc410b50b81780cfbbbc4d063b6d3b803bd549c73aa7ca8bba3f2ab23a2e3bf6baf3cbb43a48af54bacdc9db39ff6f0bbb1a4d09bc5c9f363c3464f7bb478c913cc88dc73d38031dbe7c1ffb3dbfcb24be48c98b3f4b40883f4b40883f48c98b3fb02644390529afbac49ce43aaec95fba4da3c8bc1507da3c6325cbbcf895cd3c571d5e3dabd461bdc838493d34474abdcba447bd14b7383d36c720bde7391f3d9ecf9a3c5ae68cbc370f8b3c888380bcf5454dbbc2e8d43ab8a04ebb4fa6713b240afb385db841b8c4e11939747d81b95f6b9b3b957a1cbb31221e3ab25967bb14c15abc94774a3c97aa2fbceb855f3c32aef33cd3ea1cbdaaa51c3dd54afcbcc7e920bd70f62d3d9b6f14bdfd78393d9da6b73ccb97f8bc5b6ce03c56cf7dbc32c9f3bb401a123ce32dffbb0c23833bd31b0a3a014321ba7a37203a6e81beb81115093a375884bbda61be3b6dec6bbb90cb34bc6f06883c965b8dbcfd21713c539e8c3dd48442bda768803c7b9111bd13dc963d3a4a0b3ed6ef3fbe6726f7bd4e2d13bc1654f03c93c3833c08d0f3bcb66f8b3a50869fbb44e573ba679a823bfa7dc53a8f9703baaa96af3a54d50abb0ababc3ab53c99392661b6ba0bb616bab60b28bb6a84953bc588e93956a40c3c5fb0ab3deb650dbe18f5d43d24cb13beefcf8b3f4c9b883f4c9b883fefcf8b3fbb1a6339afe88dbab95b8d3a4e9c1bb91d3810bb8dce843bc65899bbe1a5493b571b0a3c3e27a1bb0bfd4c3b8cb7debba07985b96a96073cc9cafcbbdffd85bbb19a83ba63a49c3a1a55a4ba6bd8bf3adbef9f3aa67702ba0124b33a89d104bbb15882b9e1432ab916ddc0384d67ce39272cf53a9738acba85e8933ad676f2ba128c07bc2529823b251aabb91741a33b2b3834bb33ce39bcfb88923c540f5bbbe52809bdc6b0e4bc3bd30b3d5f3c343df28a343abe875ebbd4105ebb4005c93b50a66538de3045bb8b73093b5bad613a9c848ab9d841e639f12e1fba4e0ff43953a7e33a16caedba42de723a2619b7babda505bcd63b653c9af10cbc6e2c8d3b7ec7713dd7031cbdff99bbbc2d1e6c3bba080e3eed5e3c3ec29f5cbe541e4cbe399da5bc36a0953cf92a003dd3d0cbbca7cba63bf98bb5b9fb3891bb01dd12ba57cef339d26b623841080a3a751b88ba3e74323b649c75bbfe1b5b3bf2e89cbba0a4b1bc218bf23ce0a3cfbc16e0053dd2f0033e205943be1b0c263e51a244befc7c8b3f0cb3873f0cb3873ffc7c8b3f0e8ff83a852663bbfa095e3b855417bb99fd68bc5db37e3c4f5f6fbc7610733c5ba2063dc963e4bc4b86b03ca270debc3d8db1bc009eec3ca817c5bcd8df423c40a1fc3b94e4d9bbf499ab3b18b694bbed6fa9bac47c93b93388cf3ad013c1b9a2c1c7b9228f32386f6e29ba907f893aed29223bb7574cba4372023a98052cbbb26340bc00852f3c60f4fbbb5c54293c5bad4e3c8170f8bcaa6f193d4882a8bcb9166dbdf192e1bbcae87b3ca19d863dbb06833ca26089bcb651d43b521d9abbf6982fbb98cf893b53988dbbf549163b6ddf913a87cc89b9b2f4433aa215b9ba2e5a593aad8b2bbb8f9a003b34038bbad46535bcc62a783c0ad530bc8f27203c8040a23d93b667bd188082bb1228a2bc7f56da3d618a633e3c947fbe12062fbe1aac0f3bbf64fbbb80385a3dfded27bdc996aebb3a167d3bd3b1f9bbe092e43be4b9b73acb5fddba940db43a084a35bae306a9b9a6d904b8ea3a683acf0801bb08e302bc49d35c3c5ff862bc67f2b03c1030c43d332426be24891a3e8a4434bea4618d3f6bf2853f6bf2853fa4618d3f61bc893bd217d6bbbeb4143c5f4f09bc44e919bdcb432d3d1cd540bdc124423d59d2b83d93ecb0bdd103a93dd702b4bd2d589ebdcf22923dec3d82bdd1cb7a3db80fed3cab2f98bc30da6a3caf9ba1bc6850c8bbcb7abd392d6f283b63c00c3b8e38a23a9ffcf1b870c9d9ba3198e4396bce693ba7076fbaa7a671bbaef5b5399336b4bc5f6d973c24ef32bb7352283c3af6463da74b89bde1dc553d666b1cbd3299bcbd614b813d496d0cbd1ebca03d595a143dd2255cbd0e910d3d99da4abc24c2b7ba744f313ccd3333bc06115bbac9c80ebbe474f8390572023b07de8738ac7cd8bbec104a3b635496b87aeb4a3b38766e3cf8cb7ebb92a01abcc7741c3bf2e5683dfae922bd79a7a73c37302abd05a5a23da743553eca0b8ebeccd9d0bda8600a3da0e096bc5fe1a33dbe7db0bd27bab4bc4f47103c9dba6abc3221be3c82bcab3bbdff07bbed1c093accb839bbc2ae2c3a91af303b1e9b4abb9584aab9442837bb8ca726bb12951c3c3ddec83b5dbda03d6f6909be8c17db3d221614be4f868c3f236a873f236a873f4f868c3ff7406d3ad7ad0cbbe6efb73ae4a08db83c8e67bb493d9c3b4f6367bb10d2273b772d1d3c2151a2bba3a191b97cd693bb0bb8763b22894f3c97bf3fbcfc9616bcb4516bba877fb438724c133bb44a7ebaa8fa9b3a0e880bba169233b94df5f0b9be8c10baf282deb9659c6d3a69c0a5393fd1173b1ca35ebaf9328d3a6ee639bb093904bc2aa4bf3b04ae95bbbe66e23bf5ec9cbb055324bc4e06be3c9c0501bc585839bd46f426bd0711423d06a9673dc54a8d3bc11348bbe54730bc0cdd143c891000b9ac61ebbad1bd743bd257e7ba28a9ee395b738f39bf0791ba91eb5d39aefb573b9770b4bbf69d453b59a2bebab1db8bbc6455a83ccaa8f1bb568ebf3b4f30913d96af57bdfd66c1bc85d2d03bc806133e7bc8573edec171be9e4156beead4b4bc79b82e3c7501413d7457febccda9b13b0ee4a0ba6aab18bc3c1f913b15b563baa8e5603a51f3dc3a890ab6ba0226ce3b0b84ebbb1705d53bd0a517bcde19fabc43e9283d8cd520bdccdd3c3d999e0e3e933f52be38cc3d3e170558be802a8c3fb2c6863fb2c6863f802a8c3f2005db3b924608bc6e47ea3b0384ccbb9b65a9bc9254b13c984c8fbcbbff913cae64073d1113e7bc11fd863caa25aebc6eba63bc9346e63cf2b8a4bc2423503a7b537b3baba7dabb999eb63b2e5781bae98013ba141a4d3ac954b8b8ddc92aba81771039cfd628ba9f2ddf393fd2c9399fe2873b20a135bb9e06453be923aebb6c0f82bcf2128d3c25a084bc2134883ccc2faf3c52e516bd0f69493d50bf0dbdee2498bd8eb429bc176d8f3c0cc7a93da47bb83cfe6f47bc66220fbbd169f5bb9e098fbb036c133bb40b59b87896ef3a0a23c03ace1d1cba1903e338a2f663bae0305f3bcd52bbbbd41d903b3a926bbb5ef6b5bc947ac13ce63c80bccd409f3ce6bacd3d49b0a7bdaa6d333cc34e08bde4b9aa3d6894893e488e90be848122be4ed1903cf0791ebda92aa23d0cf04dbd552925bcc583633c29df93bc6df4343c3d36503b92695dbb31547f3bba4c30bb7ca899b845041dba4235043b72f77bbb73b4e9bbda539b3cab39cbbcc607e63c7519b83dc43228be22c2313eb47043be5c518f3f83c4833f83c4833f5c518f3f75997c3cc1a783bcf4478b3cc7dda4bc9c3f83bd4f45823d08586dbdb5c1823d2574db3dc39fc6bd7d6b913d1253a1bda3f44cbd60486e3d67b602bdbbf1483c1001b6bb9fb4e6b968c0c8bba84d8a3c15c6033cdd33f0bb5f33b23bb5fed7bbe52444bbcd611b3b230c53baaf60ac3ac9e2e9bb9e4e823bf8a2acbb83c4ea3b1546243ba5f8193c99e465bc6959263c575d753d74d9bcbd6cace93d2d38babd249b21be25f89f3d0b338dbd8145253e9f1f883d041122bd18666b3c5f8205bdc3b6c1bb8a3e9a3acee7043ca5c9cdbbb1623d3a0a79173a0c5b68bbc37e153b0eddcabb9651093c97fac2bba7757c3b726b533cbfae97bc22d8713c8dbd50bbe14ab33decd76dbd8178653cb16c6bbd88bc533c6799ad3ea3b4babe1c1190bd362cb03d23b9f8bd0dda1d3e282ed8bd3587cbbcac3ee03c2bb9f9bc6cb49a3c285c833affcd58bae4d3423b32f240bae01a31bbcbea033b641cb8bb5a30d03b6228a53cafb102bc825b173cfdd539bcdc642a3c4ccccebdc6b1013edc1a05bec8a3923f0e3d813f0e3d813fc8a3923f8d10eab94bf520b9b68b4b3873560c3a6574643a1df006ba18ea89b8e1fdd6b89c18233bbcf141ba6497233a277a27bb006a45bbc45af1b9011c643a63a8163b2683e4ba2beee83a464004bb2dbcef3a62d24d3a025faaba321f8739c61aa839288b2f3940816bb95fe70939c9bba8b8aa0eac399fd60f3a0bdf15b944be42ba466b97b9367776380ca1713a1652dbb9c0b4ec3ac3585bbb3eb0133b3aa79db9d6869b3b0bfae83b1b09e5ba9f923e3afb3041bb983ab43a02d9443a4ef6cd3a4b1b86ba335d9c3a4e178cb91c1ccf396f50ec3963be01b9a0c02e3a2d1d84ba7727243a1f2856bae4381a38fc820fb8421389ba0eb8833ba1cf67bb12d8c53a27b1093de8f383bcc4f208bc2f79dcbb6a9f9f3d9d63a53de73c03be7a5502be83e354bc36d1f63c3dd29abb0bae21bcc460493b96b5fa38e705cd3acca077bbd052cf39233e19ba4ac72fbad26a153a99168cba04caae3afa8e7eb9fe433bb9cc61853bd9d163b9bc19883b1e4d2f3bfe12a13d889001be8500a33d3ce402be75a08a3f82568a3f82568a3f75a08a3fdafa30b9673cd5b91667b339150d50393fd7d6bad3f8483a1c3e3d396387983a7fb6a83b8d57a1bb0c3b6a3b1fa58abbe7edb7bb03f9823b516471bbe75e8f3bff9a77ba2c11623a7bc7babac3b5f23ac1a4f1398fb4fdba1927303bac17aeba79511a37ddccc1b7edf040b971e74f39f138903ab0923f3a3662f2ba0c212bb9285f1bba05b9373b1e5c0abbf7aef239f0f7c93b689b1cbc12000d3c788ca2bbbf4f16bb4943383c7878b3bba5a4fe3b74fb12bb520894bac17b4c3be7c8d13abb83543a939cea385ca382ba832c1f39056ebc3a1c6e90b91c31c4b91bca5fba3cd6413af40e0fbbde291f3b2b13c7bab272e5bbd537f43b4e02aebbfc6fda3b5b18433de3aef1bc387506bbcd6263bc5ff2a43dba20c23d06c711bea7d705be1b319bbc5f941b3dd7f7babbc7e423bcbb209f3bd7127ebbe3f45d3b79705cbb3e7ee6ba2c6c20ba49b96a3aab8f903a9d8f91ba89338339358221b81769a2392f7b37bbe050023c8f3dfcbaa8050c3ca89daf3dc8420abeee04bb3d08c90cbeb8d28a3fefe9893fefe9893fb8d28a3f65c048baaf7586b88a41443a506bb138e5d9dbbaac0b9c3a946f903a11871b3a100b343ced810bbced9c883b0e4b04bc446a62bce79c533c0da91cbcf80c213c5ebf943bf6fea3bb1b955f3bf0dcf7ba361816bade30143a74f15bba32baa6398310dfb7abfccdb85d0aefb70ac22c39cc9e0c3ada6d06badad088ba9549383a056e4bbbabbeea3bd3958cbbf5b6d83a7076a13c9e6faebcf2ca743c5d8a69bce5c150bc4c6ec03c9cc878bcc2d3753cf1d2bb3a200d1cbbd27bcc3b9ba141bbf44a4fba3e5681ba9b40bd393d0b743affd90e38959fc0395bbdf0b74a590eb93cfcb9ba7bd3333a1371ccb7c4b489b98494f7bb6687153c4a58d4bb94a8fc3b7ab7543dd4f732bd12867d3c9507bbbc9109913d2983da3da7281fbe0bdcf6bd21f16ebc39aa073d69d437bb2ba137bcb6687a3b7928dfbb20efa83b4dd6debaa5b65439e59fbeb99dc81a38b1bf95b954a9493a7e948aba026dc439ab415bbaf1ee76bb17d9ee3b19748bbb48e14b3c16ef9f3dbffb01be4116be3dd7cb0dbe21c58b3fccfd883fccfd883f21c58b3f475cf4b9aa3b35baefec86391632573aa63f00bbb90caf3ad3c3a5ba05e4113b1593e83b9eea9abb4f3c633b5c0fd1bbf2f1bebb7d3e403b35c612bb9359373b487772b91533d139ede05eba7edd343a2b598db98c6c90bab7ee0d3ae748663a4ccb4bb8912ca7b9c930d939b0bcb5b82bac793aca4b8d3a4a4bdeb946e5daba4b6d91bb8bb96e3bcce98aba039a213b5b24d3b945744dbc0a715c3ca70b2c39bd0168bc2bc248bbe2e6303c94a3ac3cfbdd82b9941bbabb0f1c313bdda0863b1c9794b9fac6a4b89d51f03971dc14b84637353a2cbaaab8f684feb84385d7b93fc3363a498911bba5253e3a9e499bb7122ae5bb9bf04f3c9bad1cbc9b09bc3b9c3c6e3dda5306bda6c843bc1bb73abc251cda3d06bf0e3e844737be26a826befc1797bc3bbdf53cc3b02f3cb97c93bcdf07b83ba28df0ba2fdd98bad3ae0bbb18f7e239b2af17ba15679d3a30b3b5bac1b567392f8119ba71aa443aeb3ddbba9ca50abc0aaf623c921b1bbca6238e3c2a51d13dd91324be6354ff3dffeb24bebe4e8b3fd2b8883fd2b8883fbe4e8b3f39c5a7393dd200bb81e8dc3a17756eb9c33038bcce682d3c724905bcafd61e3c0047d03c7dd2adbc3182693cd3dc9bbc11beaabc65b9923cd2634bbc266b463ce748fc3b43656fbb56fc1a3b44aeb5bb61a8f7ba065233bac9774ab85270263b2804013960a2c539d3e1253925ec2fbacb665b3b19a807babfd1fcb9301a48bbf74a22bca2a7333c05ef04bc2f8e113c278e4b3cd6fdf3bc516e023da7f671bc706d0fbd9ca8823c974dc0bb3f6f223d11a3353c3806babc9beb7e3cbb6108bbf79d39bb9148c13bd4696abb91cbf0b93e233d3af83cbaba0dab9538a0c4693ae9c593b9f5bc87bb96dba93b1ca5e9ba573e5dbc0e32913c2ce286bc82987b3cec2eac3dcddb58bd5af8673b8acc0bbdb0d1aa3d1a322f3e614454be86a413bea95cccbba45f953cef05d13ced27f8bc6c73793a350f81bb1f5036bb8749953bd10bab3aef9b853aee19493aaef544bb96f4e83af2bea23a313b19bb943ff5baa390ecbb6377403c380801bc4acb873c15c5b43d42321ebe576e093e8e4926be3bf68c3ffd08873ffd08873f3bf68c3f3a45043bfba945bbcd0f4f3bb73b28bbc552a3bc2da1ab3cc1a28abc4e978c3cbf1a0f3df5ae0abdafbab83c8817c4bc40b0e6bc9fe5cd3c6c3788bcee158d3ce4973a3c570813bc2ebf003c57e714bcf5561fbbbfaaffb92659bbba4f5c7b3b776ab83894527a39fdf04f39a8751bba4982a83b63c477bb8feca93a8eee72bbd7cc7cbc885e6f3c0f4424bc01dc5d3c4a96023d17c52ebd418a213d4096f5bce2123abd3d58393d93e2fdbc930a323d58b3af3c51a608bdb970cf3c199420bcef00e2bb611b3c3cf001f6bba6cf6a3a0321823a658da4ba7bff8c39e5a3f839f39daab9c56246bb4f2dd23b76c994bb803163bc9a43aa3c185ccbbcb577b43cc127aa3dc93876bda23fdb3cd4c14bbd91c8833d00ad1e3e24ee52be5537e5bd8d4484bb4724bf3c0164c33cbb440fbdcb85193a1d10febb12dfe2ba9544ea3b4c561a3ad0074a3af8ffff3a00fd3abbf155583a4c73523a379d59bb13a0cd3af7c921bb0d87833b54644b3a4517183c79d69f3d8aed0dbeb290eb3dc19a18be7ac38c3f8f8f873f8f8f873f7ac38c3fad2fcbb9bfd18dba86cfb73a744ee338d220dbbaf457823bf062a5bbe78b463b4bbe1c3caf9392bbc39f093b672bf7bbff7bebbaaeca163cbfece6bb5b6084bbe795e4373c9380bafd5875b8e3b7c33aac2a933a446a023a79cbb2b84b25cabaeaf4fcb95069f2b92698263a43d6d83929aa203b86c7a2ba3a3a203aa65d06bb5b762bbcb5c7b43ba0311abaa883c23b163b39bb4c517dbce4a5b23c50522ebbd5410abd9ab0ddbc6221033d33a5393d2b06193b96b8f5ba920d90bb40b7773b826493ba428c47bbbcac2a3b0f76d33a80e496398c55eb391a5b13ba4dc604b941f02d3b87e259bb7304103bc72b13bb9d012fbc0175893ca7b832bc6ec9e33b71dc933d47ee2dbdd967c4bc7f99a5bbc482fe3dfe144a3ed03460be1a8f47bea2e979bc6f99c43bcea81e3d27b4c4bcf4e16e3bacc0093bbc8ae2bb82eabf39b30c413a87f71dba5a4d863ab3b884bab3eb183bf01257bb2aac653bf416a7bbf11ca9bca811f33cbe1ee1bcf0ac0a3d7338f23df68544be9747333eecf745beecc98c3f1a67863f1a67863fecc98c3fd5d73d3b39a799bb8d6d853b653339bb5ca581bc66bc8b3cf4387dbc2d327f3c59250a3d066bd6bcbf398d3c5248cdbc21b997bc8ba9da3c844096bc291aa73b4ff4b13b55d4b2bb8c72253b80a381ba2581bfb9b4bb853811df9a3a905483ba87d02ebacea58cb74f3f7cb9593e743a2eac583b2ae7b8ba4c6ea63ae58780bbac198abc0c1c873c9e9042bc588d6b3c6b868f3cd87130bdaa57483d5cc0c1bc80a285bd59ab96bb3cad673c0575923d2a849d3c24067abc35386d3bdd89dabb577265bb55223a3b356b01bbec570d3b10f15f3a1a3da638d87b1638341a54baa90c3c3a187460bb5a19443b21eedeba475b81bc59d2a53c3b7a8dbc62f3903cfbf8e33d2a609abd6e25ae3bf37b37bdae00913d64ae873e0f778bbe50011fbe00a7ad3c2c6f1dbd410b913dd48834bd46c42ebcff313c3c86c755bc1fba0e3ccf9d423baee12bbb60b30f3b11ccecbafde655ba04e5b23ae3d22ab8f1a1e3bacc7738bb9eb8283c9d8d7ebc8d7aad3ce3568e3d2a001ebe1cfc303e196a38be927c903f8dd8823f8dd8823f927c903f3598693ae16320bc649d5c3c29cec0bb3ae2dfbc734c133d7a1329bd3a3c0e3d85825a3dfb1537bdbf82283da68344bdf0d412bd1702853ca0623ebcfd96c83cd0e8883cfff9063ccdc91abc9e2766bcbc980dbc9edc38bb6783b93b5de1be3b390a953b359d73b90e691ebb37a600bbbeef873c5c6e973ab6f1e7bbbad34cbc0fec37bd6a79ea3c9b1f15bcf29bfe3cb0a09b3d5152c0bd73097e3db0a142bdece7bdbd96c3a13d6870ccbc7ea9543d4334013c002357bd287ab93c4188d83c5bfc7d3c64fbc33bb90ce9bb8b8f7abc9c8a0fbcaa730b3ab1d0823beeb5893b7cdfb4bc1fa1a4b920379e3b48f88a3c5a3f033d7a16053b8a5fc6bc48166bbbd2d4933dc85f8cbd8729823df4da99bdf93bff3c53e9813e5775a6bea37658bd33639f3d71eb14bd04a1b53d4efdeebd3b3429bdbccbf13b87e4c5bba27f0a3d51e15b3cd1dbbc3a145eb9bb9f9f07bc852c3b3cb361103c830408bc795e3cbca1f876bc2cf770bca5439a3c9774a73cccc2923d3787e2bd3b92d53dd09b22be050e8f3f87f1843f87f1843f050e8f3fce17453ae070ebbab17c8b3ac2decb387f3548bb068b823b09ca39bbb7df0a3b0f2b2f3c696461bb075825bb3a2ea5bb76a6363b5715583c0b3b2fbc99071fbc731f06bb61427dba6f372e3bcee0773a889eab3a380932b929bf56ba6cdac1b95ab71cba6f1ea9b9e2906d3a058e803972bc533b3c96f6ba0ab4c03ae3f64dbb83e232bca2f6093c985aabbb1647003cf8accbbb79ba7fbc7ee0e93cc5e5b6bbf10434bd82142abd14c43c3dbdfc693d16a6f33b6a84e6b9e5654fbc2e00a33b9090e5ba9a89f6ba35979b3bdd3273bab1fa6d3a5128b5b7d7f096ba92fbd438712d923b92fbd8bb41978d3b498249bbf0faafbc7120c13c0dab2ebc7e1b383c476fba3dcd0670bd35cbd0bc9a24e4bbb713fb3def2a6d3e4e4e78be3dc84fbe147e65bcf57903bcef836d3dd665f6bcbb97203b9200963b734e67bc1b8db93b3110a539fed9d3b94a17263be5e9f6ba975cae3b8428d2bb24f1df3ba7cd1abc31f3e0bce4d22b3d482f32bd88fb3e3d0677fd3dba3e53be3302503ed28e59bea7f58d3faffc843faffc843fa7f58d3fc5a4013c8bca1ebcb811073c134be6bbd276bdbcbc02bb3c49608ebc265e973cad320c3d3c2bcabce9241f3cbb5299bcef741abc2b5ec63c154052bcf80af2bb54956dbacc2ea9bb25ee3e3b29cb963b8eabfb3a135064bad0de223a35b7efba960960ba64a0a8391c691fb85f59433aa927d23ba32294bb18b58a3bd6b5f5bb651dc3bc0a45dc3c074dbabc7908b23cd6c5d23cafef59bde761763df52c02bdd7a39cbdee1861bc794dc53c921aa53dc964b53ce304cabae86c6cbc7835b0bb86dd48bb1cdac4ba07cbb23bde0473baa0a9813a8e1af539f40eadbaafc365b9d08f893ad2aea0bb265ec23bcaf18abbf8fcccbccb70cf3cac1ab9bc9976f23c5cb30f3e4a14d3bd5302cf3ccdc08ebd8359023d2d9ca83e4493a1be6d0b0abe32b73d3d5dccafbdcb4ad83d33a65fbda0c197bcca6acf3c0cb7c8bc79b6473c0e948f3ba28392bb9abf873b0b921ebb89d608bb51a4293b24cfacba9e7789ba1985a83b9845213c207fb3bc6975b13c0e11433d840616be6d47483edcfd41be8bcd933f5eca7e3f5eca7e3f8bcd933f4c79873c050084bc5e45923cad36abbc818275bdac865c3d0ba230bda3e04d3d5246863db02b45bdb897513cbfc0c7bc0a7a003c87ecbd3bcc976b3cfa7612bd0063c7bcf5bb363c3d5eabbbdcd3933cbb28b03bbfd189bb9f300fbb28700e3b728536ba454d353add45ee3a299cebbaa48529bc786f9f3b0a10a3bb4b34fb3b2ba030bcd2a8ff3ce91232bd0a25083d551bc13db2540bbe4d73133ed892d7bdf8071dbe7ca44f3d79bbd0bb24eae73de4e1cd3c937c8a3cf10a5abdefbc983c574b5c3cd47d7cbc07a8b93c2410a1bc100456ba70293e3a46b572bb0799193b996b10bc48605b3c147b2cbc7d32d53b6021d93cedb515bd3c39b33cbad719bbdde9ff3da85da9bdb0175f3d5947f3bd8e0c8ebd4c71e43e95fce0bede06afbc992ef63dab7b34bedb27263e6d05adbd9a5a99bce7c2a53cb25c6abc9cb1803a76f7d5bb122dce3be2459aba9152603bbaa8753b1c7eabbb52b682bbc212d93b21a9b83c9ab421bce2f8a83c00b1dcbcb83d85bd399b45bd25dffc3d8384d5bd5f4a9a3f40cb733f40cb733f5f4a9a3f828ad638219e0bbaaf519a3959c9263921db253ac7ae8bb8f68ca8b9434841b94d4f0a3bdf3426b9eb3728bac781c3ba743a1cbb5ea1b1b9b987823a8695c03adae156ba96ea043a4078a8baf79ec43ab0aa37b6acca63b8d9899db8572f8c39197a15b9057676b9266cf1393290d9b8337855b9b1d7143a2d0d30b9922551b95591a23affdaadb9bf7e623afd6bbabaeaebb43ac9bc96bbdbcf663b2475bb371e3e9c3b02f1d93b9956e8ba84ffa83ab49636bb3feba03a0a7f293a5f66d83ad860bcb96414d4389f6df7380872cd3900a7a737dd4adc38b90edab9d5245f39a3158a3ab7039bbaadcba3394428d3b9d92668baa638693b854d46bb2098913a63c7023db4af6bbcbab124bcd3eba6bbebc19e3d5458a53d9e9b02be666102beeda153bc2eddf63ce75f94bb492d25bc93d4503b653264399027433a17265abb83041f394d4a82b952da1a3a14013fbae216c1baa8798b3a452c29bab051713a36da863b72acc6b8594bac3bb653c13a878d9d3d530501bee373a33dffe301be93b28a3f82448a3f82448a3f93b28a3fb6e42e38839b9a392a590238675caab99949503aa430aeba7987c33aece059bab5fc273bb61c21b9ee1da1ba5841d6ba9da8b0bbef50283ba306d7baa69e833bf6375939e4c8e0b90b42ad390c09e8383b284a39cef102ba58297f3a70e23aba981785b8e4baa7b82d39a83875518e3871912039ce68883adada01bbbd303e3a3dd498b91634353ab440c43a5cdaa7ba3d1ca73b65be08bc173f9c3b9ce1bbba272c07bb776c1d3c1301a9baa82fb53b1ddfceba31b5eeba99fd293bbaa9ef3a4e2aff3995ea4739d51e74ba120e6d396b6df1397021e838078169b9a356e0b92e685e3abcd11cbb7bf7d13a1b5b0fbafd84c3bbd5d2fe3be9e1b6bbffc8ab3b3b333b3dcf36e2bce8b99dbbdfad36bca9e6a43d14cec63da94614be086b05be419384bceafd113d76895ebbc72f4fbc73b35a3bd46538bb56384f3b93ea2ebb139a0eba63d5d1ba19b4333a41ee903aae1b20bb1136a33a7762093aba430a391b98e93942dd853bd1d095baf2540a3c3616ac3ddd7909be4785be3dabc40dbe95d48a3fe1e3893fe1e3893f95d48a3ff12820b93afb94b91f42d6b9404a7b3a7eb7cb3bb0d31fbcce120f3c2e2ba9bb396bb1bbdded093ca5a314bc882aa03bac7956bbf0d5d13b96f6f1ba9f9eccb9bd96ea3ad9a3ddbb41ef943b1fc69639e6f6f438a1a992b95cc0d5383f5c9c37a31959b8f4cca3b88077aab85cc05e39e818c6bac1b86e3bee8468bbc813d53a3dbf7bb9203daa3ae300a13bf8e09cbb043e6a3cccf683bc6157853b1b2a63bbe98363bc0703a43c3d9bbebb4755363cc229833b4c50eabbca41af3bc8562dba2e2a62b73a03523b3ebe76bb89c9ca388d5313b92c0d8d3ad389bab911e8f9b9cb33e8b80ef61bba4d8785b9c8204cb7efbefdbb20720e3c725e88bb52b0ce3b1ced6b3d0d0845bd0abb393cde00a7bc02e7853dec86eb3dfa0627be068becbda7be5fbc99bf013d5780803bb62786bc67b8db3b9090f1bb9a5cb93bddd7a0bbd97053ba0d778bb895ff9eb9d63d553a8f250eb81e80643a4c55ccb858c1d0ba3d7afdb9bcb6003c94fea9bbac811f3c21de9f3d7ab605be8216c93d67c50fbee7b28b3f3afb883f3afb883fe7b28b3fe7c81eba295d2cba81e3a7394134683a33ccd1ba21c8043bbaeddbbaeaf1c23ae7d1d23b760784bbeb75073bcf69a7bb7b5fbdbb74d0183b8cf572bad740113b8cd13fba2961143aa9c68ebab040943aeeb2ad39440e1cba2f33333830a9a839599a1339b2b3b5b8663f0b3986ba79b9fd46863af2ae1b3a14f00cba529e9eba2c4dacbbeda82f3b558bfa39931a403b981beeb8a95161bc4bc1723c780fbdb82b3062bc73e2bbbaa5260a3caa2eae3c94bc7739c3a8babbdebc633bfb243b3bb006a3bad9f8a7b9d6987e3af38e2f3a23a9073af12904bae4bcd738dac6d5b710bcfe3ad39352bbf9fd973a062841ba085df5bb227b6b3c95b43ebcbcb7d83bfea8813d9ae705bd9f3467bc5fa673bc2b1ccc3db7bd113e54cd35beb71c24be555271bc47e3d33c2d0e413ce85395bc9c21933b31d47bba5e1cceba16e2d2ba217dc43a812985baa4a6443a93b7d4babb6c88ba11175b3a2beb913a74dc0cbb54f4e8bbe48d533c8ae617bc3f0f8a3c8dd2c73ded0824be14aa043e907a25be41e38b3fd62a883fd62a883f41e38b3f001a1ebad9d093bab7078c3aec68143a82f6f9bbdb748f3b08df36bb6680d83b4f5e813ca62d29bc37578c3bea0b2abc675141bc6d9f143cdd068abb19d08a3bd0a0763b91cfa6b9bdcc00ba1aad28bb48ea03390d8918bb1818543a2150b73a159de9b7f3ef693abe3261b9b67131ba76a3b13b151bc9bacc39e8b7f55495bb5c3b32bc17cc763cb05f15bce990d63bca97473c1da6ffbc8a95f03cc6c321bcea680abdb8f1383c065abd3a0863123dca931f3c02bd92bcf5d6173ca2891a39cb336ebb0a40aa3b070ae8baa11fd7b963a830390b3adfba0b999f3923adbf3ad273eaba5f25a1bba932d03b115e8aba9c3694bcefa9a33ce05d9bbc7858ad3c6d9dc83d749e76bd2e4cb13b8c6034bd8e36903d6f71413edbeb5cbe0dc40fbe0451beba9a058f3bbd470c3dd046ebbc1e947c3ae44276ba2d5ea8bb600a593b4b30f33a6425933ac2b5843a33a07abbfc78803bd6600b3a21fbffbabfd96dbbfbfcc3bb719d663cf4ff51bc8c6b943c1b98a03df3b021bee70a1a3ebb2f29bed8358e3fbbbb853fbbbb853fd8358e3f258ef2bb47d7bb3aa8dd843b3cac013b1ae2753b9ebd05bc158e61bb4a70043c819f1a3b6517813b4793913b7f6f3ebca69d14bcf2a5debaa6199dbbb8b8723c3a4d033ce3e4be3a562b653bfcef57bc3070b4bbd3e7acba0730303a7b77c83bc14c003b98940439a4aa8fba005d86ba4661b83c3772afbb3cedefbb0c2631bcb03ff4bcac78043dff1624bb62ef0b3b0a571b3ddb363fbd2472483c694a67bbdce41bbda32c213d4db57c3aec1b333c76b10f3c26abf3bc9a77083c38236b3cfd134c3bd29c073cbca5a6bbc573e6bb4de28cbbc98423ba25bb653b9b4ccf3a5f139abc086badbbe4df693c973f043c822e95bb55a94b3ce815f4bc76cadd3c4412aa3dce037cbd8910283dbaf983bd7f52773dfc7b293ec6b567bec3a3c8bd37bbef3a6da0a33cf84d233d412256bd211001bc1144cebbd53cd7bb5f36953c6176403c8a9b983ad3c266bbba8711bc5c7a7e3c52f9963b038cbdbb02cc76bc1f92aabc19f39d3c673adcbbb05aab3c889ac13d9ddd23be6e37023e5c161fbe91808c3f7aa4873f7aa4873f91808c3fbe6bea38f9378cba96b2223a462ee6390e2c91ba55d9613bccb969bb8816b93acc260f3cfb061bbb1e1039ba55ffc9bb80c756ba4f9c093c3648bbbb6d14b1bbc4c55bba1c6080ba142026b9b8a5243bf6278b3af6508539fec92c393e59c4bae060f0b993077db9aa5f0e3a779b89396f990c3b81c2caba75daa83a87af09bb0b953cbc6dccbb3b6cfc97b9d0d2cf3b67e1a1bbefa390bce31cc43c314516b72a0803bd3b14eabcbc5a023d1b42393d682c5d3bcd2db8399332c6bb74a5e53ae7f855ba4b5751bb3989473bc92a993a70763e378affbd39eaa947ba88c6cd39d7eb5d3b78c076bbf4d30c3bf4712cbbcafd57bc79599f3c887957bc3d3f1a3cc4b0af3db2643bbd8fcadbbc8f3357bc6af4e23d981b563e28a660be698245be35703dbc00f5a9bbec2e353d51e9adbcbd92d53a93d29a3b626915bc11d0d13a9a04ec3a9d2068badabb973af4d5eeba92ecf63a79f046bbe2d2883bc01cb8bb040a9dbcd337f63ce3bff6bc15a50e3dd32adc3dd08d46be8e04413eb3d246bed9028e3fa52e853fa52e853fd9028e3f9f420c3b4cd48dbbcf51603ba3e7bbba1e741dbc31c1343c6ef10dbcf053fc3b0bfab03cd87a25bc1ceb333af1664abc0b08d4bbb1d1623ceadfafbbf80dccbbcd661db8458137bb3cb36d39708f683b67bf0c3a1f8f053a727ddbb8badb77ba57b398b9d7393eba712e473a8c38af392ff2b83b392a42bb2c14213b3095c8bb5205c7bc7230b33c051358bc19f78d3c703c653c3d3a48bdf6334d3dfe905ebc593b61bd5f2178bc5da7be3cf5f17d3d88405d3c961b81bae86315bcf25d74bb6ec5d3ba010eecbac9796a3bbe388f369e8d3e3951d4b73ad194eabaa20af138131c3b3a7c978dbb35fda63bb18d60bbbadcadbc7125d93c1098d8bc538ce23c159e143ed0d3b6bd6f0be13b6e5b8bbd8f18143d6bef993e62248ebefe4f1bbe14fc003dd8358bbd783da93d4f1c0cbdca7552bcdfac933c3ba68bbcb9b6f33bdc19623b307775bb04de513bfe5e01bb43ec84ba4145c73a44346cb9f50ab7bac33fae3a928a263c8ee19bbccbf7a93c122f2d3d446f1ebe49784f3ea7f33abe15d9933faef27e3faef27e3f15d9933f2fd6a1ba9f53d6bb13240c3c88033bba64c857bad80f253ccf1e88bc25c9c43b413bfabad150563c3ff2a8ba79ef00bce773c93bc2e3a3bcf07fce3bddf68e3be486ec3b4071333c92be9bbbfc885fbc5b032abc79da6bb93f1d013be3c6103c4fef983bbd01a1ba35e8ccbad9e7f3bad1bdc13c6b8618bcd12a713b87f2a4bc4c7b87bd2080363d25fd53bc429d1b3d290b9c3dd201c2bdc480073defd659bc0beb93bdb3ce203d35d8013da5b46a3cd56d9abbcabfb0bcf39f10bc0cde103d4ecd803cd4bace3a017d6fbb5f3956bcdff5d1bb8fbcdb3ae2134d3b1022ae3ade03aabc4710033b8722a53bf5e5443cbbf8963cb8efba3c5d9857bdcdc7aa3c1f46f53d81ecdbbd18d6c33d083fefbd58019b3925959a3ecb5aafbe38fd63bde8bb933dd7fb65bda532b53d56c6b4bdf77816bd9bd4e83b95674ebbf718de3cc992423c3b9fadbaefb848bb25a7e1bbdb5d163c42feed3b4d7fe7bb31830dbc1fec6bbcb30888bc33be953cb2f1b33c89574e3d0e65e6bd8d0f083e327d27be00f7913f62df813f62df813f00f7913fa49cfd3996c805bb93ad7e3ab1a35c3a43c2daba4ed1463ba54cf7baa656143a941f233cf72644b9a7a4bbbb5ed995bb8ada683b4a233a3c088108bc1f6f32bcae1326bb8b85d2ba4d1e4f3b00f5d63a4c218a3a053b3cb9a37c37bac1e660b9660d8db991e912b9b018f33982d22b394951863b9f70f6ba6feed13a8b1e85bbbd1c4ebca298113c670a82bb3e82f83b2b6e21bc8cbe96bcedfffa3c0773f1b9aa3f28bd1d2534bdc8d83b3d7419693d2539ef3bbfa58b3b682d87bcd4d1773b80c69eba8b6d2abb1844bd3bb461d1ba33a2ab39e2ccf2b9193c3bba74a5343a242da03b6f170abc5e65bf3bd55563bb3fdbd0bcfc54e53cc27d72bc72b77d3cb819e03d908381bd31cfedbc55c592bcce23d73db2637e3edf4879be507d4ebe76ea04bc1e95cfbc0fc2883d178ad7bca66894b94e8a163cf29890bcd115dd3b60a9053b308c73bacf84413b2eef5fbb55d1be3bbca8b0bb54dcd83b2ba72fbca523d0bc96c02a3de6043dbdfdd1423d1ad1dd3d135755beb1c6623ee3b35abefbc08f3f6c35833f6c35833ffbc08f3f8b83c03ba1c20abc5a45c33bf46e55bb9ae16abcd7ce463c80d9c2bb2427013c8719a93cc24f92bba30516bc17fddabb008bbe3a73bf543cabd881bb6c7b74bccd1c9ebbbc3493bbce05753bd517d83b35cce63a6b6d3a3acc9492bacb2ec7ba0165a1b96849c8b956072f3a22088f392fdd223c33f2c6bb4a8bb93b975938bcc79f0bbd1b741d3dbc59edbc367fd73c45e3bb3c080484bd82a5813d57a495bc227e7cbdd15e00bd5ebb2e3d2789823d2cb83c3ce20da93cef3c08bd357df539f6143e3bc3bc23bc78b7413ccf386fbb5f7acabacf15033b849525bbe33eca3a036459ba3ce4c5bb6ab4163cb52ba3bb3957eabcea70e33c7c95ffbccede273dc17d393e098ef3bd2840e43caef0cabdf1704ebc4847c13eba63a6be1ac805be276e773d413bfebd8208ee3dd1671abd7805b2bc6a65063da35acabc87e3d93b80e7ae3bdbd869bbd3711b3b9c2611bb140dd0ba3cf4a63b1b4692bb6d2f10ba4642663c3dcb9d3b2a73a9bccc7a843ce34b963bbf4a0bbe43aa653e8cd03ebede52983feaed753feaed753fde52983f2e2a883c8f4389bca76e3d3cdba934bcf3d3f6bc9643ae3c7c76feba8ba9023c0f1a693b3fa1443cc735d4bc01e64a3c36ced13c6d978dbb2a32bebb65378dbc67a2bcbb137016bc8473943c4b4750bbe06572bba922913b371cb2bb54f67f3bf5826c3a24d6a7b850b151b89c9aa8b9d8db89ba165599ba0c9d243c67674fbc92dd61bd5848973d0b1199bd0c267f3deb7ad03da79c05be602fa33dffd72bbd0e5896bd440842bdd570db3dbb5e953c9596d7bcf2828a3d895592bd278fe33c94eb793c90b350bc3a40a93b8a5257bbf92c353a25fa5abb83eb603be159e6bae5196abc6ba6593cf07845bc10464a3cc805b73c1591d0bc5c925ebce7a2023d8e304c3ebfd62bbef57d133edb224cbeb51319befdb20a3f0356e8be9a9e04bde37bf23d83ef34be501ed13df57a83bcc9d322bb3e2de9ba23a2473c3a3e92bccf1be0bbc196233c2f5d8bbbab95a73a7534053c5c2988bb613ebcbb7f28853b9f57d13c6979aebc06f9293d10bc29bd2564f1bd7080a23b4496f33d531bcdbdeee1a13f07ec643f07ec643feee1a13f3bd0e539abdd35baa8d3d339cfed1ab9da054c3af50021bad15c5b39b8f2a1b9fb39bd3a67c28a3a399c1bba856809bb0e7d0dbb747f67baa50c023a2ac2173b064719ba5e0f923a06efa5bab657213a3eac0339cf77adb9ad988c38520b5e39cbee39b9b8a12737b81c1939a57581352ee0053a1c082e3a649d8aba84f3c0b8d4f47d3ae91929ba8fb4973ad087a4ba88ae523ac09d8dbb057c463b656f783a5bc88d3bc455d43bc084cbba5c2ed83aaeea17bb0790813a43d85f3a1a47a43aaa9f1eb92fae77b83aaa9a3921203d39a1330f3a19311bb96ff2b7b75124eeb9d54ea139c554a0ba3ccf993a0b56eeb9ce19aab9679d633b62e679bbb09fae3a3914013d2f2e63bcb9122abc3462a2bb7de99c3db4c7a43d013d02beb96601be731044bc2440ec3c908c7ebb59082dbcaf2aeb3a3dbc123baac5ddb85a184bbbe005ca397e838ebaa552ff38fd1edc3902ffc8bad382943ace91e5b7a2a7ac39c942933b95882eb9be219c3b0b33de3a3fbd9b3d9b6200be778ca33d41b301be09b48a3f44468a3f44468a3f09b48a3f3e8788b916aec1b92ef0f93994468a3964b0113b129301bbfc53963ac8ecbfba8dcd25babc80243b56812cbb0f96fa3993a632bb31e5c4392f637e3a760c943a174a49397a4be8ba47712d3a09a64c3af1084fbaf3a2513ac70d8339577da0b9989699b7e6fbbab9b6c61339f3a67439218ad9397462ad3a2182d4ba1fa90ab99ab11d3bfea6bdba5309343bd4876dbbaf459c3a073e9fbb065ec73a2d770e3b81ac8eb82861e93b975336b9dc8dae3b00470cbb7961bfb909b4153b8d379a3a0a68863aada367ba51863aba6ca8373a33e7593aae0c57b9f5d79239b57988ba10fc8c39e67fceba3bbb963ab77606b94ebb77bb1978bc3b68d13dbbd9f4163b20ce343dc7d6c4bcc5c00ebc05c618bcfed9a43d60e9c93d71b611be62f808be92e953bc1805013dd3e760bbb23143bcd338133b0216113ac0e3293aac4e27bb45aba5b9038624bbf0dcd73a2d11603a8f540dbbf235313a58fc3a3a0511ec39e2badf393c95963b373936baa2e1f03b61aaa63d1a3409be8d51c03d9b930cbe141f8b3f419f893f419f893f141f8b3ff72784b81b9f12ba8e5ccc39f484ad39281eac3b41f7c4bb1095e93bc518dcbbb689ecbba0bf3b3c7edd25bceb92b13bef1691b96e160cbba8f7ee3a5880a63a6f6b423b1f141dbbec99c33add8433bb69322fbb0a007d3a1809e3b906a70b3bc8919db97e9b0e38e23fcf3840873f39dd0060396cf1763b08fd8bbb958f8e3a55d7f33bfee80abcdf0d213c77de11bc98e3683ba7a13a3bb59c33bc3a22663ba8d7abbb91ae0e3c0e89cb3b066f663b1b98553b15f19bbb88b96b39ff83fc3ab43292ba175b143bb8ab6bbb8f861b3b5b26213b98012fba0222c6395fde08bb912173bb9d93feba3704d5ba555cdd3b8bb61ebc5420093c77f83a3bfc3ab23aca757a3dbc933cbdde45fe3808db81bca695823dcf57013ea8d525be8a3d00be323815bcce53ce3c928fd93b902a8bbca592053b5c79ebbbb1a29a3bf2fd5bb8f2108fba1842fe39943e893a51544cba0fa9043b1b99a63a3a1986b9690f81bb87d164bba540653c561406bcc156263cbf229e3d600410be90f0e23d4d6711be87888c3f8a09883f8a09883f87888c3f29cf55babcbb05b9fa707ab767316e3aedca1abaca31bd35992223b808a94b3a83c6a53b3f5b8bba8665a7ba05b15ebb2efa81bb25435d3a042c273a61e41d3ac29d85bafc995a396b55a6b9e6fd7b3aa432853924bd1eba0b5e1439b8e175395ffa9db8f4de87b917f3a0394c96ec360d81a73ab9b51339104b08ba681983ba2a05b2bb84d0503b4ffdd039d477243bae6ce2ba5c2561bcf763703c617eff3ac77034bc993676bbfe501b3ccfd59f3cc50b36ba99941fbbd070fd397f795d3b3c666bba5e33d1ba908b123b4de6f139f895a83a7a24ee37e64354ba60dd03ba0581073b57a33fbb7e79ed3a0376eeba632cefbb13286d3c685743bcc753dc3bbbd6883d20e1fabcbdcc8dbc67628ebc66e0bf3d0819123ea7a831be526422be911255bc9ad6a93c87bf603c78e288bc83dc843b9e8f253a287d38bb61e0c7ba8e0082394df3d2b928c6a33a50e0b3ba47dca6baeb54073a8911c1397a4a71baf772e6bb66ca533cac501fbc7f568d3cf009bf3d315626beacda0a3e4f3825bece4c8c3fa2c6873fa2c6873fce4c8c3f3825e0ba158bdfb890098339e92be33a5f326fba149021bb086f423b4ac5ad39883aa23b1ef6fd3a8f5dc6bb5f57d3bad18346bb4afcf73979461c3bb31bebbab3aea739f3a0b43a5365cabafcf936b9d3e0523a8152a9ba1f8d6fb86bc81d3a1864d938376b163a81532db9ae850bba5a97bb3b8c850aba9d9e97ba7a8b96bbe61d22bc30b54b3c021d8dbb6be1313b377e0e3bc207c2bc8e33ad3ceb91053b28aeb6bcbaf2fabaed4f443c8a73de3c60757c3bcb1ce8bb533dac3a6424ef3aa447c7baca86c23a03f50f3af201d2b9874f1fbaf85f05bb49b2aa3a7447ba3ad87ec2b9373ffabb3363f63b069884ba42b1afbcdc9bbb3c479e9fbc5e3eb73c2160e63da2ac80bd854e8dbb21e940bd17c46a3de1b14e3e1ce255becb3016bec691393be4e531bc5df7193d21a3a8bc18833dba68624e3bc91ddbbb8bbd163be4d61b3b0c7ccb3a582a5aba2dc640bb3d86fe3a9fbe393b435401bb358386bbd31999bb0a85803c962490bc8e73a73c01eb873df0e725bec5b62e3ee54c2dbe73d78f3f0e0c843f0e0c843f73d78f3f9f42e9bb5b09c33a918e3c3b93784b3b7bc2cd3b83466dbc84e0b33bc8ce0c3ba2de18bc16a4553c1d8da6bb0ee7883a46e2a13ad7fa36bc41ae803bbcdda03b2dcc673b83d5d53b4bd5fcba13b609bc0f1440bb763845bb300a7c3a4350a53bfcc7ad3a7364383ad7822fbad915b2ba23058b3c4170683b3d9e53bc8f64fdbb2ee418bc41bd5f3c34b0e03b17142ebccc1b6f3cfff312bc13c63cbc8da6da3b84fe9cbc95f8ce3b1e07bc3c251eb53bd2e6c13a81dd81bc9fa408ba1ad2613c1d6e203b0f48963b9f8d47baed36c2bb90cc52bb31cc98baa456e93a5eee263bfd2287bc005351bcfa1b8a3cef10293c5b3ea2bc8034ab3cfc86a3bc9345cc3c9cb0da3dbf06b2bd5a3dd63cc9584cbd9c6b2f3d36384c3eff2063be47aef1bd83e2ef3bfce303bbf5d6273d718a12bd7ebdb4bbfe9cbbba0d1dcdbb61ab293c5799153c78ed6e3b614468bbfc8010bc072c843cb8c7d33b825ef2bb982e85bce5e048bc552fad3c8e409dbca6a1c13c5328973d1bef20be96bb223ebab72cbedb328f3f1ec7843f1ec7843fdb328f3fb8593bba03f928ba216f183a05416d3a50d8f539b81e0a3b815e4dbb7bc3253abd10e83b9b402a3a29d33abb441cb8bbfa2c8c39f375d13b7a1f86bbe9c9bcbb2bb6aaba82a6adba9c7f713aa2560a3b1fa7b53a6e11103a974052ba118f95ba12330fbafafaa3b9df24373a41768f398000233b60f4ccbab3c0673a8f57feba6bfe45bca6f5c23be7988d3a768aaa3bfd6008bc4e0b9cbc8f65c93cc9389b3b06d9e0bc4c82fcbc6d68053dcaff2b3d8f14233b04df913b8c6019bcfccdc23ad1e98ebabc577fbbecce883b3ce6993a35317138f2950e3a0a415eba8d04533927d1883b2c559abb1a33513b372b70bbf74f69bca113af3c5aa77abcad37343c727fc53de4b63bbd630301bd5334a0bcf33ecc3d40c65c3e0c3e5dbe9b4b44be07301ebcb9f073bc9078453d306b89bcfde7c43a1d0ce93b114433bceae4753a493c123befecb2baca31b93a411201bb073a193ba24231bb02a8813b7c36ccbb2b35a1bca94dff3c15d502bd1f55143dc78dca3d0dbe4abebecd4d3ed4d946beee008f3ff731843ff731843fee008f3f3bb931b9b82b13bb1ddabd3a9c69a53a76517fba407bff3a6767e0bae2e7f939276c123c0592e03b760546bc76aa97bb457f0a3ba3f39a3b24f73f3a24742bbcbe512dbb1f1989bbf88d1c3b9231a63b19bfac390b26283b284d09bb2c5a73bac054233877abb3ba25e29c3aa024a33929f0073cee6e98bbc2a51e3baadae2bb5c37d9bcb74cbf3cdf4df8bbbd80373cc1bc3dbbc0db35bd830d2d3d231a173c9f9afdbc9da113bd8ce7133d8c943c3d0266623bfe389c3c0a64b2bcf56e54bb8826993a283b02bc58f2fe3b1cd7813944e41bba5f2f123b6b8503bb1ac95d346599973a5335d7bb76680c3c3891b1bb2f47e4bc4a2b003d254b01bd1318113d1767363e83c4babdd5922fbce8f2a8bd93f90e3c828ba43e854285beb3c326beab6e073d31edbebd3016af3dcf5944bcb1d44cbcb228c93c4f0a99bc5800f33a63e0823b155c87bb2511373b2a6cdfba966f8cb95908cf3a67c7dab83ee522bb2912713bcf827b3c98b5f1bc08ffc63c403e843c2e482abe55da793e7adf3ebe5413973f2564783f2564783f5413973f57b04dbae01c903bebc966bb3c86123a421a023cde132abc3893a53b3ef366bb983214bc04ce9a3c6d3624bc8dc79ab9f326293c482c2abaf906cabbbf90bcbb3699933a70a261bbf87eab3b60f212bb65f4a7bb6e95f53a2699a1ba0df18e3bf5dad13ac2296db9fa18d5b89e459eba95667f3ce806a9bc549d493ca3c807bc529428bddeb8093d855659bbfc641c3c2bcaf83bb16fb2bc4c5ebdbb60b5d23c3b8a92bc089782bd6b17a33d4d21913c82bc25bcd179ce3cfa29f3bcd86c223cf035da3b021b7bba2da32db990357cbb570d67b8dc4f95bafa2d713a80b009b862fdb1bbea108b3b31edd73bc26507bc6e7ed6bce344403d9b6e74bd52104e3de73d4d3e8c6623be831c803dafeae7bdd89d18bdad32c03ef02f9bbe78a905be68c15f3dab24c9bd2364a03d059497bcbf5792bc2685293ca4782dbbcad8b43b6907f33acb0d39b9b6178b3a649c26bb6904cc39cb050f3b5213d4bb64cf933b916b1b3c72d05bbcb937a93a34f6503c415b0fbc9f1de6bd9bcf543ef87636beb54a993f3a68743f3a68743fb54a993f66ec06ba9255b9bac742a6393ef3f83a24251c3ada86ad3a8bfd90ba965e53ba7187103c70cb573b680106bc845399bb2a0b823b5611203c3146dcbb5e5037bc908d3ebb841f02bbacb05d3b35b30f3b21f9b03aee250ab8c24fa1baacb869b95b4021ba2805bc395e3afc396ff12937088d8c3b812ce5ba8c61b43abf9385bb0b7b4dbcf15f073c0479d8ba9628b73ba94e86bca66f9bbca28a003dda27d43b22410ebd523645bd22613e3dfbfb5d3d0543b73b41a31d3cd6579ebcc545203b0defb1ba560b84bbe2cdeb3b80d999ba1414ea39b90bfeb9702984ba2623613ab6d2b73bf96c11bc02d4b43b3d6d66bb60b5debc8041f23c0dfe85bca3ca8e3c5499fd3d75ad80bdd9771abd7cedc8bcb139bc3d9d5f843e047d74bea08350be91d4a7bb43a31dbd2c93923d39dca4bca54e66baec79553ce050a4bc9abbb53bb27c223b5120ecbad9cd6d3b98ef65bb58beb83bc898b2bb84f8f43b864e3bbc2963c7bca97d2f3de9264bbdd224483d0da6c33d82c959be87e3743ea65e5bbe932b913fb5cc813fb5cc813f932b913f707d4f3a5ead79bb3abab03a2aa61c3b11bf3b38d07d0bbb6026a43bcd2e71bbcefccf3b25046d3c12e4b0bcd3460bb94729e03b8d23bb3b943b47ba88e774bc132889bb660e1bbc0f290e3c542fc23b0f5294372436c23bf72fb9bb2f8a3cbad749b33932ba00bb206f083be2fd9db8fbb5673c71e509bc5a1da23b9c0344bcddb619bdae6b223de3449cbc5eae893c78617a3a20b664bda1b5483d577d453c152efdbcbdfe6cbde1e06a3d2ea73b3d86efbfbaea633d3db8f13bbdbf881ebbb0fdce3b4e4fa7bc6107913cd98e9cba8e3206bb124d993b391280bb0f5ed239099678baa29606bc558e5a3cfdbeeabb6fad11bdd9150e3d54e627bd2b3a523d0f825d3e10ebf8bdbec20a3ca294e5bde81a1fbd1302cc3efbd799be25741bbe8edb743d71201dbe2d22f13d75c6efbb14e1acbc578f2b3d489fddbcb87288ba29aea13b5f9eb1bb5f61373b0758f4b93a0fadba1eae9f3b4fa884bb051f89ba2a75883cbd9f113c0172f3bc71889a3c003ec9bcfa1919be8bcd8a3e4a7743be6ff39b3f1da36e3f1da36e3f6ff39b3fb3a8bf3b429a8bb98f6e15bc957bb23b3e5ae43b015bb5bc4c7cd43cc13e4bbc515c97bc7c83e13c002a2fbc5f6d97ba55ba0f3c853eec3c1aa61fbdf285fd38e38f1b3cf27812bdb727e73c9c806a3a00dfd7bbfbf02f3c770293bbe21ce2ba6254e539035589b976450fba8731533ac5086f3cbbe0bdbcadd8f33ccc12cdbc7cb69cbdecbfbc3ddce644bd5998fa3c533c193dc3b72cbdfc47eabc20fc433d50046d3c112829be9ed6213e550ab93b86a12dbd2e47c13d07714fbdc6c034bc612e013c426c15bbdcce29bc2ebe113c346f5e3b4788d6bb462d8f3b18e69fba8ff085bc6f80933c3b1f2bbc3a29c83beaa9223b225e8c3b425a86bdb7229e3dee15893ec2b87cbe4c97303ee6195abedd0534beec96163f35b6c7be2ba4fabd277ac63dfd1c2cbe4277563d22253c3de0d4843b582a6fbc7834b93c98f799bc053dd2bbac13123c7df491ba51b607bbc38c0b3caf9cbdbbac03d0bbac50c73ba34cc33c3153f4bce0234e3d823322bd23f609be8a0a743cf8f4213e720507be0c92a73f6703593f6703593f0c92a73f975f63b9e71cb9386373eeb76a915739db918c3a409710ba0977ff383e9b2bba56f4a03ad704dab8ea81d0b9cb0865ba2a39edbafb12a33923c2613a0631f539831e74bad4eaed39541a0fbaea2c613a823ba0b993eb8a3998b2d2b77f6dcf388b55e5b7976b96b8699d94371309a638cb29913af5c89b391a672cba857839bafb93993a636049ba4833613923bec6b91fa051388cfd51bb6ac2453b9ca92a3a436b913bf4b9e13b37e907bbe3a0ce3ae9ba39bb90e10e3a39de823a375e0b3b4066a6b7a8edd939052de8b8400f3cb8ede94c3a854292b9aaa0b037097a13ba056c8039b85677baf812af3a631457ba505cd6399d1f6d3bfed084bb3a830f3ab004013d7ed252bc6bc53fbcd61897bb2d7c9a3dfe1ea23d098800be107600be778f24bce287e63c58418fbb1a373abc33739f3a703dc83adcca4d3afa5b31bb5711283a068a22b92d111ab8b7260ebae96da5ba79f8963afb4539baa1563e3a0d168f3b774df2ba988cd53b2f75dd3a6e0e9b3d910100bea461a23d154e01be14c28a3f0f3d8a3f0f3d8a3f14c28a3f5cddb2b865e08eb992b2cd39ef6454b8aaafde3a1009503949656bbabb8395baae6818bacfa6503b43a83dbb70d063395bc02ebbe81e7aba1c44213b9c58893ae099f739fd210ebb3544403aa748283a7bb877ba37977e3943bdab3802cd113a4b1c0db87dc727389552f0b8863cd538cea68139e4b6a139e27130b9421383b9adad7e3b18bb48ba387ed73a9c3b9cbbe1fc21bbe11d22bb5153913a768c853bb6f0cd3af2f87a3bc32b9e3a629eb03b4a150fbb5999d53a987b383a2a57633ab9d8e539a7f2b4bad53e243adc6a103a38f4233a45cdafb943240339f6ce22bab71501b9abac5cbb10f42e3be47c083a22da76bb69118b3b937000bb9ebe123b65a4313d03d5abbc68e36ebc01e3c3bbb0a4a33d5678c73de39f0dbe12bb0abe4ffd32bc461bef3c0f2a65bbc96941bc17d5bd3a656ffd3af29f8539069233bb3521983a286d3fbb800ff13ab0b2a3b9ac16dcba69970d3b32254f3981156fba5a62413ba2eb093b9b55373ada19c83bae64a23deb8407be86f4c03d04780cbe112d8b3f1298893f1298893f112d8b3f71afdb3990a4cdbafb32eeb8d4e8af3a41b7553b92c9cd3aead62dbb8bdc26bb496db0bbb2cec23a7c84013bbad0543b8d3e133b538ca23a03bd96bb07af30b9803df63ac24aa7ba3f8b6a3b66eb87bb2a5935bbc654443ac82f64ba65583e3bf91aa6b82a710139b4c41238efafcfb8cd3d69bb79d2303b941d523abf93c13a1b52cb3c9f4898bca92a903b6ae153bc04403cbc162d113d2f03b7bc62ff2bbb27cf34bbfeab44bc837da73c5be6163ca6cc613a12bff1bb3ce17a3b20dce03a229c23b9aa933f3b9d0187bbe799983a1b133c3b4e4e26bab929eb39edb327bb0b7280babebb333ba85882bb817f1f3bed7170bccf8203bc5fb9df3c741f38bbd0ca703d169e4bbd7be49abcdab9e63b1509863d8009093e865024bebabe08be0fa419bc9a538d3cc31f4a3c959969bc2be07c3b380a83bbbcf88839d02564baeac82cbb79968ebab178513a8e372f3b5fa7c33963ca00bb04f7883a075d5bbaff2831baa6a2b33c02ad8fbc7023283cf50a933d277615be45bb033e3f8e17bebbc78c3f7faa873f7faa873fbbc78c3f474896baea0287381c26a3b939a7b43a7c3b733a9e3bc0b98a2bfc36cbba19ba8504633b01fe633ab69012bbff3b37bb5cfe48bb911ea939ac14923a5c41643826fcb2ba2a1d2ababb78ce398354b33ae7bce539155e40b9cc619ab951e3813896770fb96a15a8383771cd385f505cb8d145b93af34558391468a6b92d2dbbbafc23b5bb9f6e2a3bf487c73add0a093b711194bb57095dbc7d6b6a3c5cd6a73bd9bd15bc07a2b0bb863d2f3c973e913cab6162baa6b3e6b94366debac079683b0ce44639ddf70ebbe05e173b4748d93759259f38b42611ba902168395ed45a399046f73aec694dbb101ad03a7de095ba1ecfc2bb5ea4753c1c295bbc8ca4c53bebdd8a3d3e3fdcbc329ab0bc889492bce81fbc3da5e5103e31ac2dbee81423be74b55dbcb411993cc8c2733cd68a7abc1728383b63dd7a3a99e61abb572d79ba0b48033b34eb36ba4f00f539e49d09bb71558abae7fc7a3a93a9ba39da0fcfba367802bc16b93c3cb3c4fabbdd27913c6bf9bb3dc58128bef3590d3e8a4224be53838c3f6493873f6493873f53838c3fa27908bb7fe485b65bd38639b741083b961b2e3b2dff99bb3ea3473bc3e2acbaa69ea339e06c073cb23711bc04192fbab2e7dd37d0150cbb4c825b3be46937bbe88cd7b91533953906a040bac3655b3a70e2c8b9d63d4dba34e5743ae5b935394259cb39346ef039fac337bae6e60eb99814ab3b78798b3aa53c6fbb371d3fbb9ec60bbcaec4043c2a62073b0e50d1ba17bf33bc69ac8fbc1b7f8d3cb4796b3cca3602bc198294bc1c69a23c4a4eac3c85b3a7baf0b2bc3bcdbbdabb4e7d363a93f00a3a237b13bbea102d3b620c7737a9b8f8b9dc9018ba67aded39e5f1fd392493ddbaf4ed10bc6b13263c32bf83bad9589abcbf4ba63c7e3991bca7f8a73c0f34003ed49655bd3bbae0bca8ec45bd832d383d0f97563e140645be827321be5f643c3be6e0dfbce27e253d4e92d6bb68d48eba6e41133c469319bcb53618ba408b0f3b0592e4b90944013a86e70dbb4d1c013b44267c3b987d4cbbf24f82bba52e36bbe6e0943c32e0b1bc7a9ba83ccb0c483d057830be9d2d493ee6a92bbed0a5913f3d3c823f3d3c823fd0a5913f91f221bb99237839d55fa738b11d053b7cf577bbbca4dfbbdeabfd3bdeca693b96704cbb406db0bb47f2033a0f58e73bb53ad93923708f3b6e2244bb86488bbb2f9d1d39fec6debae6f1923a43d6a93a3476913a5299593aa46a93ba2f71a3ba1bfc7a39be1c9339a48782b91af83ab934be993acbb2ec3ba8769ebb4a792ebb9acadf3cbc0a85bb81bac8bb2728a4bc5d35e5bc1fec263d225646bc79717b3bab99043c805545bdebb91a3d1b249b3c2f139cbbbd5a643cd81439bc966bbeba8ce74fbabf2f78bba38e8b3bf1d0ec3a03bd00bbeb8bb2ba7d7ee43a7841bd3a2f7e92ba5e4b1cbc34b7d73ae5d4e83bb69b50bd90d0593c1e7eb53cf24cb63cf2fc1a3e97fccbbd9d750dbd76d0cebcd6fb3e3c2e86803ed42748bec57025be6f05673cce414cbd2b043f3dbf2cbdb81b1f8cb806a3823c835a53bc068cdbbb1e208e3b0b61803adbb440bb0855f6ba4170603bacee773b2ddf943adea624bc1e8a643c44bdfd3c4c1c4fbdd1eca83c3afedf3cdccc25be5fe8673ea14c3cbeaaaf943fe1107e3fe1107e3faaaf943fec5948badd54a537e2421e3908113d3a704fba3a32d8893adead1abbfef62ab969bfbc3b40a2ee3a9ac18dbbb76785bb03e8b63a05a6b73b9f913ebbf920e9bb6e1edfba2a95e4ba3124463a33884b3b3dd9473ad175673a1d2b5fbace9e69ba74bd5735896030baadd2793aad4f16b92351223b9d9c21bb97d7703ab62281ba8e5245bcee47a03bf4b2533be2b9813b5a824abc722f8fbccdb5c13c13720d3c0765bdbca3fb08bd6e21043d5f29263dfc75ae3ab5fef53be46f31bc2247243a3464773881f1a7bb538fa03b0d92483a9fa179baf5f08d3ac60782ba6558483aa81b9b3b313fa7bb35f1693b38a589bbbd0273bc87f7be3c3b818bbcd93b393c99fad33d66a732bdc8f21bbd59c7b8bc2fb8be3dcfbe5e3e565756be556d46be232b18bc7ac1aabc48844b3d658549bc9efd383a67110b3c377639bca358193a7f3b3f3b4948dfba5930a33a798309bbff8bfe3a7df528bb08e4973bb3ecddbb8184a4bce9ad013dd1f608bdcb491b3d7bfcbd3dc1b74fbe0c50593eec3047bec7ba8f3fac76833fac76833fc7ba8f3f3ca5d6baf02f98b9c607123a3f4afa3ac6b1b03b09c645bbb97414ba91d413bbba34623bf5e7593c69705bbc750faabb5cf21e3baad77e3af6a4103b872cfabbfca739bb09e2a5bb9773433b9715b93b54bcb139c6f4743b8d2d2cbbb07cf3bade9e893929d3c1bab72a8c3a3696bd399b880e3c1d4482bbaac1feb9b504a0bb1a8fcabc3f6c923ce7d33b3bd4375b3b46cab4bce34111bd90250f3d652dec3caf0ec7bb067a46bd9000143d0964093d6acc8dbb167a083d60c4d5bc059cebbba08a163b213268bc78cb393cb46c323b51a4adba8ccb493bc4c225bb52af7b3973ebc73a65aa1bbc15ed493cf7b4d7bbaffb02bd79bb003d08c1fcbc9c251e3d4db94d3eae3c9dbdf86c37bd852ab0bdb0db20bc5058a33ec71365be3f4037be7fafef3c5da2e5bdd44eac3d15c7553cd40e2abc030c0b3d12abc4bc29c392bb0c0ea93bc022b2bb86755e3b1ab10dbbe709153ad95ce73ad81eae3934e48abb6655bd3b0774d93c140e35bd7ad0d83c152ed0bbaddd40be7c36943ebb7340bea39d993fa059733fa059733fa39d993f4a867cbbde7bcc3b1c0886bb8bd9f73acff7083c412f68bc960da33bd2adb13a91f967bafdfc2e3c88e9c1bbc1ffc5bb812a38ba82313c3c470ad7bb5274d2bba9b5643a42fe73bc1149fe3b8672fe3b3fbb85ba8f7a083ce1ce98bb41d667bb77457f3aaa85cfba74558739fbc42e3a2125413c209759bc6eb79b3bfa0044bbdc2f56bc8f0f8e3c0136b43bf01d5dbc2d8731bd3d9e5e3ce521b0b91fc91b3d22c5c33c3dd2c3bd3e127c3dbd1bd83c1ec48abce2a8563db4dd00bdaf3b29bc1bd05b3b03ef5dbc37d9073c4a999a3b042fe0ba76d904ba2e48a03a0784003ae3a1233ad1f337bb4dfc193c589f2abce0275bbd43e6253d5e10f2bc49d5593d6b5c783e1f1c12bea694c4bc1076b0bd857e76bddf42c13ee97d68bef9973cbe65ea433d0b2108be87ff923d01aeec3cd6c821bcbb0f033db35079bc55bd42bcdade693ba5acfbba42cdae39bdc4dabae38213bbce8e2f3b670805bb8e8ec93a67e6e13c70ec373c18cc2dbd8ae6823cf0b747bda28e10be2b05963eb13e47be9e259e3fc7676a3fc7676a3f9e259e3ff05e87b9950972baeb61ceb97372f43a8890c73aeddeb43ae1e49aba1fabe7ba299e053c8a8d933bc36119bcd0d58cbbd3948b3b4a7d0b3c68ddb2bbe14739bc75b86dbbd722ecba81b16f3b4be7213bc4c4be3a47b3f938862bfbba6a1418394466fcb9374d1fb90fd1aa3afdb1e7b9f64f4f3b3733caba672b993a7afc3cbb200139bc1a48943b66e00f3bfe06853b38b7c0bc334a87bcc4bff93c2a684e3cef01e6bc883958bd0d42413dad92533d0b2b9f3bcc06703c058cb5bcfe0cf8397e243aba2ec3bebb141c133c169dd3ba58fcce39370d7e39a41a0abba11eb13a18bad33bee5d18bc3878b03b250972bb74f5dabcc692003dda798cbc5a0b823cf76f083e433071bd18dd44bdaaede3bcf3ecac3d1c0a863e51bd6bbea14055be4999dcbbe33640bdb343983d472d4bbcf8d2b1bab67b783c5987b2bca173b63b13ea1f3baf3efcbae9db6f3b010d61bb8651a13bc9c6abbb29a8043c8d923ebc64a8ccbcdc46373d633e57bd10894f3dadc0af3d366861bed948823e0a8259be3529923f7dcf803f7dcf803f3529923fa1ab7fbbee6623b9d4b3d8ba0726d83bb8ea303c12dd03bc18dca73bfaf708bc64a9aa39bc3cb83cbcd5b5bc481543bb6761883b1beb383b9303653a7bf926bce3cd5bba1c5a56bc21141c3c84e0bd3bc8e7c6ba31781c3c48fbf4bb0bcbbbbabeaf623aa80885bb0f73633be8ef93390b46733cb628cbbb350c3a3aa06a23bc1cee08bde816d73cf1798d3ab41c953bbf71d0bccb272ebd1cbf1b3df4401a3d7dee8aba700693bd08885b3d08500e3da57629bc70f97e3df80940bd51f432bca2fb013c3e5bf2bcd43eac3c8dd67d3bd8cb21bb7cb60f3c71a2c9bb9c3da1ba6f6b793a82c15abc8da4953c0fa812bca3a924bd48fd253dc69330bd0165533db0b6753efb87cdbdae8814bdcc7be4bd372251bd9970c63e1e4881be402f36be47194c3d7e6031be3babee3dbbafc83caf9b9fbc4446613d71500ebd1dd2febba310ac3b42f324bcc44ec33b2b23173a68f353bafa0d573b50a249ba035e68bb49bc653c48ffcb3c3a2151bde086e13cc25f35bd1c783ebedd93a83e2b9045bec8339e3f62146a3f62146a3fc8339e3fe5b973bb46dd1b3cae3a45bc90d2e53b18a2803c62b6b8bcc5845c3c0115ccbbb0959dbb83c9383c6b68ceba00c208bc9a59d7bb4caf213de0e2f4bc88f1b2bbbe395c3c53053abd9ff0de3c24870f3c60b317bc2fe8bc3ceafe30bc73bbbabbb2571b3b5549c0bb7d39fa3a37f8243b8db58a3c228ba4bcf80c6e3ce59345bc417e30bd78d70b3d230b2b3cdcccb4bbac2909bd4737543c7058cdbc033e663d64d31e3d8b281ebe4675d13d03eef53cae0114bdcb31c63d22c23cbdf460cdbc0d28533ce993c9bcc3f07c3b25f84a3cc5a4fa38bf9f163bcad16a3adaba87bb597bdcbb8685933a08ab2a3ca90613bc231418bd2a194d3d993a9abd6b879c3d36cc953e46de49be10a51f3d181c16be58770abe1d36fd3e4b2d8bbe4ab23dbec611a53d013e45be02a59b3d2bb9743d65386fbcc1ce023ded9d47bbbb49b2bc67ec53bb12ba96b81669213a02ff453bdbbbc3384a5aa03a633f02bc8b71023c04ac053da58a3ebc051b11bca54de9baeefceebdc4a7b8bdfb4e973e12533bbe0570a63f093f5a3f093f5a3f0570a63ff32e63b9fea7eeb7d20bb938db735739342e913a2c782cbadaeb9b398e7e39bae9668039ee0baf3a3d6377ba81f656ba7a71a5ba1e7639ba1e13973a6e5c3e3a60470eba00db21b9011619b815f6273aa57a13ba041b92b9b590ae3776e44c3af923a638904096b86c149337dfeae4b7e4958c3a041100396ca910ba1da32bbaeca6993a06cb6039a78249baaeaac6b9279cd63981d584bb56136d3b43b50f3a67188f3be180d53b0629f2ba7c79dd3a846531bb725fc83ac1dd4d3a615a9f3a78df3cb804ddd939eb0fe7b85931a8b78d4dcf3850118b3943d5d4b70d3da0b989efa03a968bd0b9a05edab83bee64bac13c5338afb8453b3c0652bb7bd62a3a5107013d0fcd3fbcfbd952bcc70e97bbce0e9b3d3f61a23d680100be3e4e01be093d3abc2d8de63cfb3e8fbb279524bc83510b3bc1260f3a50e6823acac339bb2a11613a1940ee39030a0fba6a3e74ba4f3eedba02fb613ac1b7a2394837f5396f6d913bc8d507bb99aee13b17a2ce3a8f7c9a3ddd8700be9a1ea23d3e7600be0fc28a3f133d8a3f133d8a3f0fc28a3f5482b2b8aa89cd3992d38eb9f2fa53b8672a8139e11630b9b917a2394b2b83b9d51902b9b3372f3b1fde5cbb3d62083a2204dcbab02c4f399b950d3b8f296fbad374a3b9d3683fbbd30af13a3e0e983a82e022ba56d7afb92f4e03395701243a0453d538284428381fc4f0b8b9dd0cb80c81de3a7be26abaf5c14f39bf8d95ba1c977e3baaebd73ab12948ba1c629cbb0bf876bbe25900bb6f208b3b66a4123b1275413b2cd5363a62e4093bb029c83be98f33bb8549fd3aa62a863927d1bd3afa6b103a6608b5ba357d243acba6e5390cf5113a86227d394fccab38b18a77baa4a518ba1ecf3dbb9de5503bc0f562397f1e22bbcc21913a0cc621bb067c853ba9ac313d76fe6ebc1be7abbc1da3c3bb9666a23daaf2c03d2e8507beb9770cbe547541bcd823ef3cf00a65bb050c33bca744633a18a2d53aa85b383a240f0fbb2f28283aca290ebbdf78403a9ab2f73944c62ebb0d3f213b4cd379ba5150893a7615ce3afa639e3aa4cb7a3bf3a3b03b32a6a33de59f0dbed076c73dfcba0abef42c8b3f2a98893f2a98893ff42c8b3f1445da395a3ee9b8245ecdba8c8caf3a9d6568bb6bd0443ab5be323bde53c33a8b4d81bad3d181bb34a7333b04251f3b8204c3394e178a3aa65c01bb8ce85bba4e232f3bb9b18fba99f8543a7ae52cbbe3a027bb725626bacdf0e939af293c3b0f11d0b8e5ff0039a20516381384a6b88667563be1d22bbbf9e3c73a653526bb8489cb3c470a8f3b3f7498bcc37253bcee4371bc6798e03c8ce203bcc86b3bbb75012eba53e08fbcbfb1b33cd85b283c178a62ba8c9383bb8f358b390a477d3b851f983a0a5e403be94687bb3ae826b991853e3bdfa3443ab4e065bab62835bb67a9b0bbe984013b4154c53a684b543b1f243dbc1b38b7bcd2a7113d63872fbb6d02713d31519bbce3d24bbd6277e83b4015933defac033eef6f15bee38817beb2156abc0bbb8d3c66264a3caa251abc9bb6e13a951ff2bbe6cd7a3b5373633afdea87bbef3ba8ba1a336b3b5d26f63a0929133b582997bb0be9a33ab67630b99f0434bb0482a73c93f444bccf14173cb212863d244a24be02fc083e1dba08be33c68c3fdfab873fdfab873f33c68c3f0e4696baf32ca3b9f7ef8638b1a7b43afe44b93a4d69a6b9254f5839352dbbbad242f73a8c24d03a876d4dbbb1df95ba744b8abae245ba390a187b3afc0dcfba46a109bbd2d236ba94f2f439bb46033b3ac55a390e2711bafb2268390a419f380a015cb887efa738639ccd38f68b0fb97334733a8c6ffe360131c0b964bd19ba3423b5bb0985c73a9c6d2a3b8a0b093ba8cfc2bb80295bbc6aa5753cbda3c53b737802bc06c3fabbd6b73c3c3528913c2c2879bac1de7a3a9ae51abb4f25383bf878d937cbf60ebb895c173b06f94639d2eb8138c46d40b934679ab904c7e539c707633be49412bb5700643a933b37bbc21294bb026d6a3c160a5dbc1ed6a73bfedd8a3dc09ab0bc6e3fdcbc099492bc49f9bb3d0d5a0d3ec08128be9c4224be928a7abcbf11993c57c2733c4ab55dbc7477683bdebae6b9af61deba5f5e62ba2354b33a67162aba8778ce39ebffb2ba66fc48bbdf11923a5f0ca9396bc264380abe15bcee3c2f3c24a1b0bbc73e913cc91fbc3d1dac2dbeb4e5103efd1423be56838c3f6193873f6193873f56838c3f2f7908bbadc28639367c81b61141083b8c14ab3b063c6fbbc6778b3aa51c3fbb3d93ddbab313263c17ee10bcadc083ba8b1d013bca7d4cbb90267c3b995082bb64e80dbbe286e4b9c040013a888b0f3bb7e9fd394b8418bad095ed3900b2f8b9efdf0eb9bd65f0398bbf37ba9855cb39331c2e3bb6a2473b19ff99bb52e3acba21c70bbcef66073b91c3043c734cd1ba80589abcfb3991bc2c4ca63c5ef8a73cb82e36bb11e0b1bcc5e0943c7b9ba83ce93b18ba5241133c2e9319bce4d08ebab50777374e7e13bb5b132d3b62f40a3abbc635394d434dba79e9743abce7c8b9b69aa3393d3811bc6b6d073c18162fba40bf33bc3a7f8d3c7fac8fbcc1796b3c1034003ef2b9e0bc089755bd9eec45bdc10c483d992d493eff7730bee5a92bbe5792d6bbbbe0dfbccc7e253da0643c3bbd7a363a11b4bc3be7bcdabba7b2a7baa7645b3a253495397ba040ba7c8cd7b92224dd37fd855b3baa190cbbfc6737bb7e3602bcd168a23cd48194bc1f4eac3c8a2d383d150645be1197563e857321bed0a5913f3d3c823f3d3c823fd0a5913f91f221bbd55fa73899237839b11d053b34be993aa8769ebbcbb2ec3b4a792ebb2f7e92ba34b7d73a5e4b1cbce5d4e83b4170603b2ddf943aacee773bdea624bc0955f6ba0b61803adbb440bb1e208e3b7841bd3aeb8bb2ba7d7ee43a03bd00bb1af83ab9be1c9339a48782b91bfc7a397cf577bbdeabfd3bbca4dfbbdeca693b9acadf3c81bac8bbbc0a85bb2728a4bcb69b50bd1e7eb53c90d0593cf24cb63c1e8a643c4c1c4fbd44bdfd3cd1eca83c068cdbbb06a3823c835a53bc1a1f8cb8f1d0ec3abf2f78bba38e8b3b8ce74fba2f71a3ba5299593aa46a93ba3476913a96704cbb47f2033a406db0bb0f58e73b5d35e5bc225646bc1fec263d79717b3bf2fc1a3e9d750dbd97fccbbd76d0cebc3afedf3c5fe8673edccc25bea14c3cbebf2cbdb8ce414cbd2b043f3d6f05673c966bbebabd5a643cd81439bc2f139cbb43d6a93afec6debae6f1923a2f9d1d39b53ad9396e2244bb23708f3b86488bbbab99043cebb91a3d805545bd1b249b3cd6fb3e3cd42748be2e86803ec57025beaaaf943fe1107e3fe1107e3faaaf943f7c6248ba3c621e39a8e9a5377e073d3a4954223bd3d6703a979d21bb882381ba591a9b3b91f3693beb3ea7bb81a689bbed91fe3ac2e2973b29f728bbf5eaddbb3e8609bba849dfba0937a33a123b3f3b9f5b483abdf08d3a050c82ba409c79bab95e16b96a5c30bab9d5793a140451357756ba3a3dae1abb3ed6893aec002bb9c85345bca9af533b5548a03b77bd813bbb0073bc99808bbc2df7be3c4139393c3b85a4bc03f708bd1dae013d1e4a1b3d2e5e193a75110b3c9c7639bc2602393aa991483afff0a7bb0a90a03b60627638e49c69ba7b77673a95335fbae8dd473ac7bcbc3bc7c28dbb3daaee3ade6685bb5f804abc0bb6c13cc02f8fbc4f700d3c5dfad33dcaf21bbd34a732bdc3c6b8bc78fcbd3d0650593ec1b74fbee13047bea58449bc19c1aabc1f844b3d2d2c18bcaa3e243a6efdf53bfd6f31bc0483ae3add884b3bdd91e4bac829463a1b27dfbab9f0b63a53913ebb27a4b73b7220e9bb7c65bdbc8f21043da4fb08bd6c29263d2eb8be3d545756bec1be5e3e456d46bec6ba8f3fac76833fac76833fc6ba8f3f369dd6ba8a07123aa23898b90144fa3a0a870e3c9b9dfeb9524682bb9001a0bb96efc73ab2eb493c09a91bbce4b5d7bbeafd143acd5dae395553e73a6ae48abb3ead0dbb0524b2bbe4755e3b4c0da93bfc907b3938cd493badc525bbd69dadbac88ebd390ed3c1ba7c2e8c3a8395893989aeb03bc88414ba2ac245bbd2cd13bbe68ecabc0bd63b3b376c923c4f345b3b5bfb02bd92c1fcbc89bb003d80251e3dc055bd3bdc0d35bd8473d93c78d0d83c11c392bbc50b0b3db4aac4bc9c0e2abcf36a323b7a3268bc87cc393c4d89163bb776f3ba16f6743bf02f2cbbf1adb139cf36623b1d6f5bbc94e6593c4a10aabb9fc9b4bc9c250f3d244211bd2e2dec3c42b94d3ed86c37bda13c9dbd8f2ab0bda430d0bb7a36943e9ddd40beb27340be21c7553c74a2e5bde74eac3d8aafef3c8c9bebbbc879083dd8c3d5bc85cc8dbb0b15b93ba8e2a5bb5e72433b46a439bb83ef1e3b65a0103bbaf87e3a152dfabbee0dc7bb4500143dde7946bd1564093d1bdd20bcb11365be4b58a33e354037bea59d993f9d59733f9d59733fa59d993f85887cbb0e0886bb6a7bcc3bdddff73a1026413ce0b79b3b409759bc4a0544bb21a2233a42fc193c36f437bb399f2abc588213bb230805bbd88d2f3bc58ec93acebfdaba4eabfbba4dc9ae3941dc693bb373003a20db04ba7648a03a4c26e0baeac52e3a1787cfba1a59873910457f3afcf8083c2e0ea33b712f68bc36a3b13ab42f56bc6136b43b770f8e3c1e1e5dbc25285bbd7510f2bc4de6253d92d5593d65e6e13c20cc2dbdb3ec373c76e6823ce9bd42bcb00f033d625079bc66c821bcfc989a3b32ef5dbc5dd9073cc8d05b3b43d267bbca7a083c1bcf98bbefc385ba66fc67ba82e9c1bb07fd2e3c7affc5bb7c8731bdec33b0b9c69e5e3c72c91b3d595c783ed794c4bc161c12bef275b0bdb6b747bd2d05963ea48e10bec13e47be10aeec3c0d2108be85ff923d6dea433d213b29bce6a8563db0dd00bd77c48abc3671fe3b27fe73bcf948fe3b79bf643ac52738ba710ad7bb64313c3c5074d2bb2fc5c33c36127c3d36d2c3bd9c1bd83c507e76bde47d68bedc42c13e05983cbe9e259e3fc7676a3fc7676a3f9e259e3fd25c87b93464ceb9dd0972ba9072f43a8d4f4f3b632d993a3034caba8afc3cbbecb9d33b9d77b03bb85d18bc750872bba151a13b7ca8043c7fc7abbb97923ebce80d61bb0c41fcba78dd6f3ba3ea1f3b0821b13a6f107e39e91a0abb77f3ce3927b9e7b9254a1fb914d1aa3a3d61fcb9d090c73a83e59aba33e0b43aeeabe7ba150139bc19e00f3b4348943be906853b5ff5dabcee798cbccc92003d4b0b823c63a8ccbc4d3e57bdcc46373d09894f3dbb73b63bb57b783c5687b2bc80d3b1ba879dd3bafec2bebbf41b133c30233aba96111839dcccf9387f2dfbba8fc5be3a2f9e053c8f6119bc0c8d933bcbd58cbb3cb7c0bcd2bff93c454a87bc37684e3cf56f083e11dd44bd3f3071bda7ede3bcb0c0af3dd848823e366861be0a8259be1d2d4bbc033740bdc243983d7699dcbbb60bf839d806703c0e8cb5bc2b2b9f3bc7e7213ba925ecba4cb36f3b49b96dbb16958b3b0edeb2bb7f7d0b3ce64739bce601e6bcf441413d6c3958bda792533df2ecac3d4ebd6bbe1a0a863ea04055be3529923f7dcf803f7dcf803f3529923fa5ab7fbbe7b3d8ba566a23b92a26d83b1746733cda0c3a3ad228cbbba76a23bc2f6a793a8ea4953c84c15abcfda712bc28f253bab6a249ba150e573b555e68bb2d22173a38f324bcad4ec33bc510ac3be13ca1ba69b60f3c69a2c9bbf7cb21bb45ed93398b0885bb0873633b25b0623ab3ea303c02dca73b05dd03bcf7f708bc1bee08bdff798d3aeb16d73c961c953ba2a924bdc69330bd4bfd253dfe64533d4ebc653c3a2151bd49ffcb3cdc86e13c34d2febb4446613d74500ebda39b9fbc73d67d3b3a5bf2bcd63eac3c9afb013ccccabbba2d781c3c49fbf4bbdee7c6baf5a9aa39bfd5b5bcb83cb83c221543bbbb71d0bc1dbf1b3dca272ebdf0401a3db1b6753ead8814bdfc87cdbdcd7be4bdb95f35bddd93a83e1c783ebe2d9045beb7afc83c7d6031be3aabee3d4a194c3d57f432bc71f97e3df50940bdb37629bc9ee0bd3b295a56bc1f141c3cbbcd5bba3f61883b3804653a26eb383b76f926bc65ed8aba03885b3d700693bd03500e3d3a2251bd1e4881be9a70c63e412f36bec8339e3f62146a3f62146a3fc8339e3f69ba73bb953a45bc73dd1b3c34d2e53b59b58a3cae0b6e3c768aa4bc8d9345bcaa7adcbbe7ab2a3c2e77933a100613bc1eb0c338163e02bcbd56a03ab970023c7b00463b22e796b8dc5f213a21ea53bb88bb87bb549e163bcce76a3aa244fa38dafa243bf047c0bbd429fa3a435a1b3b09a2803cf0885c3c95b8b8bc5814ccbb557e30bd680a2b3ccfd70b3d93cdb4bb071418bdb7399abd51174d3d69879c3de4ab053d212011bc19843ebc1254e9bad349b2bcdcce023d50a047bb13386fbce7f74a3c7294c9bce5f77c3bbc27533c59bcbabb81e8bc3c04ff30bc7db317bc6e959dbb9168ceba0ec9383cbbc108bc962909bd565ccdbc3d3e543c263e663d32cc953e98a51f3d4fde49be251c16bee9fceebdda4e973e59a7b8bd09533bbe5cb9743dee3d45beaba49b3dd711a53dda60cdbc9231c63dbbc13cbdae0114bd46870f3c1d053abdfdefde3cf7395c3c0a5ad7bb1de4f4bc04b0213df4f1b2bb56d31e3d7675d13d91281ebe95edf53c55770abe242d8bbef235fd3e43b23dbe0570a63f093f5a3f093f5a3f0570a63fcadfe53923c7d339f3d635bab90d1bb94cd5053a0b998aba65ff2d3a699fc0b88c45a1394ad0993a4056a0bab049eeb90df8c8baf808e7b76289943afe89ac398206dc39167d8eba4cf3fe38021dca39da3beeb97d061bb98f57b9b7d23f0f3ab4908c35d5ac2637ee2e1939f3063ab9380f4c3a8c2b5b3938f720baa802a2b9a9fb7d3a5eb2973a091429ba428ca4ba4808aab967e779bb599e633baa9bae3ad142933bc9219c3b88812eb91332de3a461a4bbb49bd123b9bf6ddb8262feb3a77193d39e0be77b80aa99a39b9911eb9791b5e395882adb976c58c38bf9a0339e334bd3aed8d1bbabdbc8a3a7c6609bb7caa523a207d463b519e8dbbb073783a4a14013d0c132abc972d63bc6863a2bb50bd9b3d668ca33d956200be47b301be6c082dbc2340ec3c5b8d7ebb2c1044bce84ba43ab18b813a60df5f3ad4ec17bbaf5d213ae50d923a57eea5bab64b19ba127d0dbbd10a023a607c67baf4c1173bc3c98d3bec8bcbba9d57d43b5c28d83a7be99c3d013d02beb2c7a43db76601be09b48a3f44468a3f44468a3f09b48a3ff59088b9be14fa39bcb6c1b91c378a39c86cd9393495d4ba3976ad3aad7b0ab964118d3935c8963a8a96ceba415106b975610dbb34193b3ae651313a560bec396ff95f3ace9424bb79f9d73af276a5b9825c88ba348657b9e6a99239a5e0593af29c74392b0dbbb983f813395cbd99b798b5113b123a963a398e01bb14e9bfbae9ae1d3bbcfb333b3298bdba097f6dbb4bb677bbb2b13dbbff66bc3b81f2163b39e8df39e79636ba03a0963b03e0f03bb64b27bbcb55113a10ab293a9233133b45af373a128967ba3aa03aba2a63863a11c9a0b913ea513af6e58239ea134fba75f425ba30922cbbad9b243b4c9dfa3999529c3a8fb7c73a97529fbba26d0e3b31ce343d5dc50ebcb4d4c4bcefc518bc9caaa63d6751c03d0a3409beb8930cbe3d3343bcf304013d69dd60bbede953bc5c399a3a618dbfb9c2be153b8b4c0cbb3cba4c3a7c52e8ba475e2d3afb744939469e32bb1c837e3a1ab1c43913fa933a9fb98eb8880537b9e365e93b9d8eae3b5adaa43d85b611bef0e8c93d4cf808be111f8b3f449f893f449f893f111f8b3ff82784b88d5ccc391b9f12baf484ad39dc00603908fd8bbb6cf1763b968f8e3a912173bb3704d5ba9d93feba555cdd3b10a9043b3a1986b91b99a63a680f81bb51544cba1842fe39943e893af2108fba5fde08bb98012fba0222c6395b26213b40873f397e9b0e38e23fcf38c8919db9281eac3b1095e93b41f7c4bbc518dcbb55d7f33bdf0d213cfee80abc77de11bc8bb61ebc77f83a3b5420093cfc3ab23a87d164bb561406bca540653cc156263cf4fd5bb85c79ebbbb1a29a3ba692053b8f861b3b175b143bb8ab6bbbb43292ba06a70b3b0a007d3a1809e3b969322fbbb689ecbb7edd25bca0bf3b3ceb92b13b98e3683bb59c33bca7a13a3b3a22663bca757a3dda45fe38bc933cbd08db81bcbf229e3d90f0e23d600410be4d6711be902a8bbcce53ce3c928fd93b323815bc0084fc3a15f19bbb8bb96b391b98553bdd8433bb20141dbbeb99c33a6f6b423bed1691b9a8f7ee3a6e160cbb5880a63aa8d7abbb0e89cb3b91ae0e3c066f663ba695823da8d525becf57013e8a3d00be87888c3f8a09883f8a09883f87888c3faad355ba37ea78b789b105b9822d6e3aff7fa73a904d08ba51bf1339581883bacf84073b736ded3a41a03fbba077eebae6e4a6ba9862c1393339073af44571ba90dbb3baee14d3b96bc9a33a11028239fddd03ba5156ee37ed4154ba7194a83afad1ea365ad487b952dfa039d9b99db85bc81aba2a1423b84580a93533af4b3aee05b2bb8e10d13920d3503b6774243b1b2cefbb275743bc28276d3cba54dc3bfe71e6bbf0501fbcc8ca533c31568d3c32e2c7bab88b253a477c38bb04dd843bd2f2f139773bd1ba918d123b24646bba3cd9753912b91eba0f721439012585399bc5a53b125da7ba6a5e8bbac7b15ebb6f67e2baa062703c062561bcd880ff3abbd6883d6ecc8dbc1be1fabcb9628ebce409bf3d9ada0a3e235626be443825be7ee288bcadd6a93c3ebf603c611255bc807a5d3b01931fbb7e63fd39d70f36baa3f77b3a129b5a39b449a6b9719d85ba38fb81bbd933273aae435d3a0ce41d3a6b7034bc72501b3cf03576bbd4d59f3c61e0bf3dada831beff18123e416422becd4c8c3fa2c6873fa2c6873fcd4c8c3f2826e0ba5e1b8339f9dddfb8bb2de33a5797bb3b37a097bad5810abaac8b96bbc67ac2b97762f63bcc3efabb3f9784ba0984fe3a1a5401bb66be393ba98286bb21c540bb6679cb3ada275aba89d61b3bfa48ba3a0c6305bb85b8aa3a9c521fba7c870bba8770163af5692db9bd73d938e2356fba1b70423bca9021bb02caad39341d22bc03208dbba6b64b3cc8de313bafb1afbc9e9d9fbc479bbb3cb63eb73c0c1a99bbb42490bc2e85803c9b73a73c6dbe163bac624e3bcc1ddbbb4b893dba2602d2b9768dc23abcea0f3a8449c7ba46c41d3a7d4fa9ba73cb6fb8b3e3523ac03aa23beb5bc6bbcceffd3a1a59d3ba747e0e3b7733ad3ca807c2bcc291053b1e60e63ded4f8dbb84ac80bd28e940bd02eb873dceb62e3efbe725bee34c2dbe0ea3a8bc6ae631bc7af7193d3a91393b3227ef3a541ee8bba342ac3a7c747c3bc3f236b98ba1b43ae365cabae8aca739188246bbba411c3b7623f8391320ebba5eaeb6bcd050443c4cf9fabac273de3c13c46a3d1ce255bedfb14e3ec83016be73d78f3f0e0c843f0e0c843f73d78f3f9f42e9bb918e3c3b5b09c33a93784b3b23058b3c3d9e53bc4170683b8f64fdbbfd2287bcfa1b8a3c005351bcef10293c072c843c825ef2bbb8c7d33b982e85bcfc8010bc78ed6e3b614468bb5799153c5eee263b31cc98baa456e93a90cc52bbd915b2ba7364383ad7822fbafcc7ad3a7bc2cd3b84e0b33b83466dbcc8ce0c3b2ee418bc34b0e03b41bd5f3c17142ebc5b3ea2bcfc86a3bc8034ab3c9345cc3ce5e048bc8e409dbc552fad3ca6a1c13c61ab293cfe9cbbba0d1dcdbb7ebdb4bbed36c2bb0f48963b9f8d47ba1d6e203b4350a53b763845bb300a7c3a0f1440bba2de18bc1d8da6bb16a4553c0ee7883acc1b6f3c13c63cbcfff312bc8da6da3b9cb0da3d5a3dd63cbf06b2bdc9584cbd5328973d96bb223e1bef20bebab72cbe718a12bdfce303bbf5d6273d83e2ef3b1ad2613c81dd81bc9fa408bad2e6c13a13b609bc83d5d53b4bd5fcba2dcc673b46e2a13a41ae803bd7fa36bcbcdda03b84fe9cbc1e07bc3c95f8ce3b251eb53b9c6b2f3dff2063be36384c3e47aef1bddb328f3f1ec7843f1ec7843fdb328f3f8a563bba5869183a63fc28ba89496d3afcfe223b91c0673a50f4ccba0b55feba40d1883b4933513b2b559abb7f2b70bbe538193b17a8813b9f4131bbae36ccbba31001bbfbebb2ba1330b93a1c3b123b63f9523909960e3aa53e5ebae4317138686a8f39f6f2a3b9e524373a35310fba74c9f539f85e4dbb2e200a3be6c5253aadfd45bc939f8d3ad4f4c23b0b88aa3be35069bcc7a87abcf113af3c9439343cd134a1bcd6d402bd8d4dff3cba54143dddee753ae10be93b394433bcd3e5c43a05e3993a76587fbbe1ce883bb0e48ebaf18c95bacc0e103adc3f52bac9a5b53a5912e83b04d13abb3d372a3ae61db8bb376208bc5865c93cec0a9cbcab3a9b3b8d7fc53d390301bdfeb63bbdea34a0bccf8dca3db5cd4d3e0ebe4abeced946bea56b89bc53f173bcbf78453d482f1ebcfad1c23ae2e0913bea6019bc4e10233b9c550a3b42abadbaea80713ac5afaaba651b8c39df1f86bbf176d13b64c9bcbbedd8e0bc6c68053d4382fcbcb8ff2b3dfa3ecc3d113e5dbe3dc65c3e974b44beee008f3ff731843ff731843fee008f3ffeb731b986d9bd3a7e2b13bb9869a53a11f0073c15a51e3b856e98bb90dae2bbf099973a8a680c3cab35d7bb3191b1bb84708cb9b6c9dab8a508cf3a2de522bb8a6cdfba3f5c87bb9411373b6ee0823b6ee463345c2f123b7c8503bb61e41bba0926a339a0aab3ba70e19c3a6a4623385b507fbabe65e0ba6c79ff3a3fe6f9396337d9bc654ef8bbd14cbf3cd980373c3c47e4bc174b01bd4e2b003d0a18113d9b12713b98b5f1bca7827b3c0cffc63cbf00f33abd28c93c560a99bcc9d44cbcc1d58139373b02bc73f2fe3be626993a965a73bad825283b1b4d09bbedc0ac39186c123ca30546bc7192e03b68aa97bb95bc3dbb9f0d2d3dd1db35bded19173c1967363ef6922fbc87c4babde4f2a8bd333e843c52da793e2a482abe79df3ebecb5944bc30edbebd2c16af3db06e073d976e54bb16399c3c2a64b2bcdf65623b4431a63b8a1989bb5f8f1c3ba4512dbb317f0a3be6f13f3afaf39a3bfc732bbc9d9afdbc9ce7133da8a113bd87943c3d79f90e3c844285be828ba43eb4c326be5413973f2564783f2564783f5413973f9aaf4dba4eca66bb251d903b1485123aa4667f3c1b9d493ccf06a9bcadc807bcc7fdb1bb52edd73bef108b3b9f6507bc2c06cc397113d4bb6e060f3b22cf933baf9c26bb2f1839b95d188b3a7508f33acaaa09b8bb5095baf32e713a0c0a67b8d4459ebae81c6db90126d5b896dad13a191a023c0d93a53bc5132abcacf266bb569428bd065759bbebb8093dfc641c3c807ed6bc9b6e74bddc44403d61104e3d9a6b1b3c5c39a93a9cd05bbc26f6503cd1d8b43b4585293c81792dbbb85792bc6d357cbbe7187bbaf5a82db9d135da3b12f18e3b6195f53a4e99a1ba60f4a7bb8c3214bc7a3624bc08ce9a3cb1c89ab932caf83b585dbdbbf86fb2bc66b5d23ce63d4d3e8e1c803d906623beadeae7bdc05a0fbc95cf543e991de6bdfd7636be129497bca824c9bd2164a03d6cc15f3dd86c223cdb79ce3c052af3bc80bc25bcc4f112bb33a361bb2b7fab3b8098933af726293c1f07cabb07282aba0c91bcbb608a92bc7317a33d0e9782bd6d21913cc19d18bdf22f9bbeaf32c03e7da905beb54a993f3b68743f3b68743fb54a993f8feb06ba8949a639b757b9ba4df3f83ae38c8c3be45fb43a7429e5baf89385bb2fd3b73b05d4b43b356d11bc326d66bbacbeb83babf8f43b1999b2bb994e3bbcc4ef65bb5222ecba11cf6d3ba37c223bff1d613ae405feb95f2a84ba0a1cea39d24e2b3757ffbb390a39fc39e54121ba3d231c3ae9fe90baf588ad3a475e53bafe7a4dbcad76d8ba7e5f073cd128b73b77b5debc08fe85bc8d41f23ca6ca8e3c4863c7bcfa264bbdbb7d2f3de024483dd1bbb53b5b7a553c1251a4bc045166baa1d799baa00b84bb9dcdeb3b83eeb1ba54c469b9ab020ab8a44da1ba1bf7b03a7287103c620106bcb3ca573b2e5399bbb54e86bc988a003d776f9bbc9327d43b5799fd3dd9771abd76ad80bd82edc8bc12a6c33d89e3743e86c959bea75e5bbe55dca4bc4ea31dbd3293923d2cd4a7bb1445203b7ea31d3cbf579ebc7642b73b08b40f3b7a2002bba6af5d3b3f8c3ebbc20a823bc545dcbb9511203ca85037bc1b410ebd21613e3d693645bd0ffc5d3db639bc3d047d74be9d5f843ea38350be932b913fb5cc813fb5cc813f932b913f3f7d4f3a41beb03a9baf79bb5ea61c3babb5673c151da23b40e509bc570344bc4a9178ba4c8e5a3cd19606bc2abfeabb3412adbaf9a684bb58ad9f3b1e1e89bab54bf4b9ee9fb1bb1863373bf7ada13b275bd2396e4d993b551280bb9f3206bba4f39db87db900bb656e083bb947b33996df3b385a25a43b847b0bbb892f71bbd3b619bde4449cbcab6b223d51ae893c6bad11bd4be627bdc0150e3d323a523d1c75883cf671f3bc08a0113c54889a3cec7188ba598f2b3d4a9fddbc22e1acbc3c8e9cba3b4fa7bc3b07913cd2fdce3b8e8c3cba2536c23b1830b9bb24c294376cfccf3bc7e3b0bcf3036d3c844f0bb969667a3a8bb5483d34b664bd9f7d453c06825d3e7bc30a3c02ebf8bdb394e5bddf3dc9bc88cd8a3e091a19be3b7743be78c6efbb7c201dbe5322f13d72db743d54891ebb02643d3dd6f13bbde0edbfba612fc23b760e1bbc49290e3c6c2889bb8c29e03b204247bab223bb3b5ee774bc492efdbc34e16a3dd9fe6cbd15a73b3dce1a1fbd0ad899be1a02cc3e1f741bbe6ef39b3f1fa36e3f1fa36e3f6ef39b3fd5a7bf3b166e15bc7a908bb9d07ab23b67096f3c65d8f33ceee0bdbc9912cdbc72f085bc271f2bbc7a80933c6328c83beb8b0b3c1103d0bb629cbdbb8051c73bb1b307bb4e13123c3bf591ba803dd2bbace99fba6088d6bbc12d8f3b34705e3b1531533ab15389b988440fba3152e539b65be43bee7bd43c435bb5bc2e3e4bbc89b69cbdc8e644bdf9bfbc3d3b98fa3c7aa8223b3d5a86bdd85d8c3bbe229e3d2c4dc33cc8234e3d6153f4bc943322bd20f899bcef296fbcce34b93cc8d4843bbabe113cb06c15bb64cf29bc802e013caf1ce2ba24f12f3c8d0293bb46dfd7bb5b5c97bcf9292fbc7483e13c096c97ba393c193dbb47eabcb3b72cbd02fc433df215893e4797303ecbb87cbee2195abe2ff609befff4213e7e0b743c7d0507be44253c3d041d2cbe1e77563d397ac63d86c134bc4747c13de6704fbda7a12dbdec896a3a147912bd7a27e73c4c901b3c31ba0f3c05a61fbd9e3eec3c5c50fd38cc046d3c98d6213e1a2829be790bb93bdc0534be37b6c7beec96163f2da4fabd0b92a73f6903593f6903593f0b92a73fd8b8d6384a399a394cb00bba6d342739bc7755b96e0330b92aeb143a818151b974218a3ab8dda339190c9bba1647d3b91b13c1ba27ff28ba7f638b3a2b47713ab63e3fba4a3883b98f451b3ad32f20397d745f39d8f3dd38aa23dab987549f37f38cd9b89a6f76b9fb55f139c85115b9b3e7253ad8cda7b9d1328db8a24342b9e4a0a23a8151623a0c28aeb9ed4dbaba818268ba805746bbbf4d693b43ad913a69dc863be04aac3b381ac7b80154c13ab2275abb28f66339c446433af5d1503bf097cd39f9b8d238f129f738b512bcb99dff8b396b1765b8b0fa9cb8516e1eb61c4d0a3bbb6e28ba15a225b98e73c3ba99ebb43a9ddd663baabc96bbbac5b337f0c7023d60b024bc13b36bbcbaeba6bba18d9d3d0074a33d770501bef4e301beda2e25bc55ddf63caf5b94bbe9a253bcd874d83a6419a13a7f3d293ae5a436bbe0a5c43a3f1b053a5f89a8bac1fd56baa33c1cbb4e91823aefacb1b9d891c03a80379c3b107ae8ba9bf6d93b8c28a93a84c29e3d669b02bea257a53d8f6102be8fb28a3f85448a3f85448a3f8fb28a3f3ebf2e3849990238d6999a39d95daab922c320399cdb01bb9866883a052d3e3a66775e3a6cf5d13ae4cd1cbb17770fbafe1920bbbf60093af32fa33a43620a39e7ed903a7dd7d1ba7fc4333aeea40ebae27be0b9ff75e83892a469b9a08af139875c8e386ebca7b8763aa838212085b8134b503a1384c33adf31aeba6ad759bafaad98b94c41c43af830353a8ce3a7ba8c82c3bb21e1b6bb0dd3fe3b58c5ab3b5b84e93923d495baecde853b04550a3c28eb2ebb636938bb5f384f3b0ab85a3b84a56c397d194839132b74ba5264ff392dca3abac7ee02babd207f3a2cdf4939e702283b1b1ca1ba711221b99c51d6babc1ba73b653e9c3b50bd08bc2de6bbba1f333b3d58b99dbb4637e2bcbcac36bcff15ac3d4f85be3dde7909be91c40dbe78314fbc30fe113daa8a5ebbc49284bcc8a2ef3ab0b5eeba9cfe293bcfd9ceba552be8380fe0e0b91e4dad39353e593958abb0bb7b04d7bab851283b32a0833b9f2c07bb8600a9ba0c6b1d3cb332b53bbfe6a43da84614be07cec63d0d6b05be94d48a3fe2e3893fe2e3893f94d48a3ff12820b92042d6b939fb94b9404a7b3ae818c6baee8468bbc1b86e3bc813d53ac833e8b84d8785b90df61bbace204cb797250eb84f55ccb81d80643a58c1d0bad73d553a0a778bb894ff9eb9d97053ba11e8f9b92c0d8d3ad389bab98c5313b95cc05e39f4cca3b88077aab8a31959b87eb7cb3bce120f3cb0d31fbc2e2ba9bb3bbf7bb9e300a13b203daa3af8e09cbbefbefdbb725e88bb20720e3c52b0ce3b3b7afdb994fea9bbbcb6003cac811f3cddd7a0bb9090f1bb9a5cb93b67b8db3b8bc9ca383a03523b3ebe76bb402a62b7285c9c37a2a992b959c0d538e2f6f438396bb1bba5a314bcdded093c882aa03b043e6a3c6157853bccf683bc1b2a63bb1ced6b3d0abb393c0d0845bdde00a7bc21de9f3d8216c93d7ab605be67c50fbeb62786bc99bf013d5780803ba7be5fbcc8562dba4c50eabbca41af3bc229833b20c69639d9a3ddbb41ef943bbd96ea3aab7956bb96f6f1baf0d5d13b9f9eccb9e98363bc3d9bbebb0703a43c4755363c02e7853dfa0627beec86eb3d068becbde7b28b3f3afb883f3afb883fe7b28b3fabc11eba4bd3a73972612cba1e3a683a2849863a9af30cbadca61b3a549a9eba1cb6fe3aac0a983a139652bbd82d41ba166988ba7fe2913a7a1d5b3a5bdb0cbb63c5d4ba081f85ba88c9443a406dc43ad605d3b7032304ba5c26d638ffc1073a8ed479b924e4b5b8f7950b39f2711339acdcd1bad3e4dbba39d3043b30e1c23ac14aacbb8466fa39e5a52f3bd21d403bed5ef5bb7ab23ebc907a6b3c70b6d83ba9efe8bb82eb17bcda8e533c39108a3cdee2d2ba5fc17bbae12aceba2823933be2862f3a7c24a8b9a3c47e3a820ea3ba7ebaa839b31e1cba0a7b33386dbbad394dd4d23b387a073b0c0f84bb6c66a7bbedb5eeb8efbf723c994d61bc0de0bdb845a9813d233767bcfce705bd4ba473bc46d2c73d44aa043ed70824beb77a25bec05395bc64e4d33c040b413caa5171bc1a243b3bedacbabb34c9633bfe867739753e943ad79a143acbe68eba70c63fba1260bdbbeeef72bae7d1183bfe3e113b6e2e62bc71260a3cb4fabbba862fae3cda1bcc3d2fcd35bee1bd113ee31c24be46e38b3fd12a883fd12a883f46e38b3f6f1c1eba78078c3acecf93bae569143a0da4b13b2728e8b70e1cc9ba675595bb0f76eabaae32d03b4a25a1bb2f5c8aba4c79803b65faffba4d5e0b3a22da6dbb1ea07abbf025933a23b6843a512ff33a90adbf3a9f3adfbaab9a9f393ba630396e7231bae2ef693a253261b99b88e9b7e2f6f9bbaddf36bb0b758f3be480d83b413b32bc995f15bcf1cb763ccf90d63b5a3694bcc75d9bbcd4a9a33c3958ad3c84fdc3bb290052bca39d663cb16b943c4c0b593bc74276ba2c5ea8bb63907c3a052ad7b9e03faa3b3509e8ba93326ebbd251b73a218918bb3c16543a99e40339445e813c20578c3bb22d29bcc10b2abc0198473c8995f03c24a6ffbcecc321bc659dc83d1a4cb13b679e76bd866034bd1e98a03de60a1a3ef3b021bebb2f29bedc46ebbcb9058f3bb7470c3d1750beba9d741a3902bd92bc09d7173c0a941f3c30ac28bb38cba6b97ece00bad29f763bfe5041bca9068abb449f143c61cf8a3b05690abd7059bd3afef1383c1963123d8d36903ddaeb5cbe7071413e0dc40fbed8358e3fbabb853fbabb853fd8358e3f258ef2bba8dd843b47d7bb3a3cac013b4661b83c3cedefbb3772afbb0c2631bc5f139abce4df693c086badbb973f043c5c7a7e3c038cbdbb52f9963b02cc76bcba8711bc8a9b983ad3c266bb6176403c9b4ccf3ac98423ba25bb653b4de28cbb005d86ba98940439a4aa8fbac14c003b1ae2753b158e61bb9ebd05bc4a70043cb03ff4bcff1624bbac78043d62ef0b3b822e95bbe815f4bc55a94b3c76cadd3c1f92aabc673adcbb19f39d3cb05aab3c5f36953c1144cebbd53cd7bb211001bcc573e6bbd29c073cbca5a6bbfd134c3b7b77c83bd3e7acba0730303a3070b4bb819f1a3b4793913b6517813b7f6f3ebc0a571b3d2472483cdb363fbd694a67bb4412aa3d8910283dce037cbdbaf983bd889ac13d6e37023e9ddd23be5c161fbe412256bd6da0a33cf84d233d37bbef3a38236b3c26abf3bc9a77083c76b10f3cfcef57bce3e4be3a562b653b3a4d033ca69d14bca6199dbbf2a5debab8b8723cdce41bbd4db57c3aa32c213dec1b333c7f52773dc6b567befc7b293ec3a3c8bd91808c3f7aa4873f7aa4873f91808c3fcc62ea384fb1223a84388cba5134e639159a0c3b26dba83a01c2cabab9b009bb43ec5d3b4ed40c3b71c176bbbc712cbb1aecf63a05d3883b83f046bbb71cb8bbc7d7eeba152168bac2bc973abf05ec3a43c8cd391301be397bab47ba00833e37d3a98939de0b7db9cb5c0e3af567f0b9192b91ba89b969bb06d9613bd915b93ad9943cbcc30098b943ccbb3bd4d2cf3bf7fd57bcbd7957bc98599f3c5b3f1a3c120a9dbce4bff6bcbc37f63c28a50e3d0aced13a80d29a3b626915bcee94d53a0b2a993af35651bbf089473b87fb55ba1659c4bae9558539ffc52c3917278b3ab7260f3c4b0f39bad6051bbbd4ffc9bbbee0a1bbb51cc43c0fa490bcc44915b7beb0af3d94cadbbca4643bbd8b3357bcd12adc3d9404413ed38d46beb3d246be64e9adbc01f5a9bbe92e353d0b703dbcada8e53a3d21b839a632c6bb842c5d3baea4243bae5e80ba8f1026b969c85bbacdca56ba6748bbbb409c093cb813b1bb2d0803bdb75a023d4914eabc2742393d68f4e23d21a660be9a1b563e6f8245bed8028e3fa62e853fa62e853fd8028e3f29420c3bf250603bf4d38dbb5fe6bbba46f2b83bf813213b602a42bb1595c8bb9c1b3b3a29fda63b77978dbb7d8d60bbbceb84ba1e2d6cb97144c73aab0bb7ba1d5f01bb817775bb24de513b2e1a623ba20af138cfd3b73a9b94eaba1e903e394236af39d13b3eba3f30473aeeb098b942741dbc7cf10dbc59c1343c0654fc3b3c05c7bcb41258bc5630b33cf6f68d3ca0dcadbce197d8bc4b25d93c2d8ce23cbe3fae3a8de19bbc998a263cc7f7a93c84b6f33bd1ac933c20a68bbcc57552bc06fa8f36370cecba25796a3baac6d3bab8da77ba6592053a138ddbb82cbd0c3a24fab03ce4ee333a0e7b25bc2a674abc503c653ce4334d3d323a48bdbf905ebc0c9e143e7e0ae13bbad3b6bd635b8bbd072f2d3d46784f3e406f1ebea4f33abe3b1c0cbdd2358bbd6b3da93d10fc003d8e5e74bba41d81baba6315bcbf405d3caa8f683bd08037bbf6ab6d39c6771db8ed07d4bb12e0afbb9cd1623cb80dccbb633b61bd53a7be3c2d2178bcf7f17d3da518143d5e248ebe67ef993e03501bbe15d9933faef27e3faef27e3f15d9933f2fd6a1ba13240c3c9f53d6bb88033bbad1bdc13cd12a713b6b8618bc87f2a4bcde03aabc8722a53b4710033bf5e5443cdb5d163c4d7fe7bb42feed3b31830dbc25a7e1bb3b9fadbaefb848bbc992423c1022ae3a8fbcdb3ae2134d3bdff5d1bbd9e7f3babd01a1ba35e8ccba4fef983b64c857bacf1e88bcd80f253c25c9c43b4c7b87bd25fd53bc2080363d429d1b3dbbf8963c5d9857bdb8efba3ccdc7aa3c1fec6bbc33be953cb30888bcb2f1b33cf718de3c9bd4e83b95674ebbf77816bd5f3956bcd4bace3a017d6fbb4ecd803ce3c6103c79da6bb93f1d013b5b032abc413bfaba3ff2a8bad150563c79ef00bc290b9c3dc480073dd201c2bdefd659bc1f46f53d18d6c33d81ecdbbd083fefbd89574e3d8d0f083e0e65e6bd327d27be56c6b4bdd7fb65bda532b53de8bb933d0cde103dcabfb0bcf39f10bcd56d9abbfc885fbc4071333c92be9bbbe486ec3be773c93bf07fce3bc2e3a3bcddf68e3b0beb93bd35d8013db3ce203da5b46a3c58019b39cb5aafbe25959a3e38fd63bd00f7913f62df813f62df813f00f7913f918dfd39a4a67e3a37c705bb8aac5c3af551863b37f3d13a8b72f6bae11f85bb322ca03bf964bf3b13170abcb25463bb2ed1be3b24dcd83b52a8b0bb35a72fbceeed5fbbfd8873ba3683413bf1a8053bf6a5343a86cdf2b9873c3bbacba2ab3991d42b39b3e712b9cc19f339d7108db994c0dabad349f7ba55d0463bb151143a2a1d4ebc410b82bb1599113c0383f83b18dbd0bcbf7d72bcdb54e53c66b77d3c7323d0bccf043dbd75c02a3defd1423d8215dd3bd489163cbd9890bc7b6194b93462d1ba226d2abb4a44bd3bcec79eba10db60b94d463cb9e27f37ba18238a3a7f1f233c96a4bbbb761e44b98fd995bbec6d21bcf4fffa3cbebe96bca36ff1b9b619e03d3acfedbc8d8381bd51c592bc17d1dd3dadc6623e0f5755bee2b35abeee89d7bcf894cfbc04c2883dbaea04bce8d0773bf7a48b3b5e2d87bc513aef3b85f3d63ab381d2ba431f4f3bfa1526bb0ddb683b6e8108bc0a233a3c916e32bcc03f28bdd9d83b3d022534bd5a19693dcf23d73de14879beb2637e3e507d4ebefbc08f3f6c35833f6c35833ffbc08f3f4583c03b4e44c33be6c10abc276f55bbabdd223cbe8bb93beff2c6bbf35938bc5c6a59ba75b4163c9fe3c5bb962ba3bb2b09d0bae04792bba6f4a63b112d10baf62811bbafd469bbf3701b3b38e7ae3b983fca3a3c15033bd89525bba279cabafc088f393653c8b9e50a2f3a0e63a1b9a7e16abc46d8c2bb22ce463c4627013ccf9f0bbdc659edbc20741d3d487fd73c5857eabc7c95ffbc3b71e33cbbde273d8642663c4173a9bcdfc99d3b117b843ca3e3d93b6365063d945acabc8005b2bc88396fbbd5bc23bccab7413cc6143e3bca2dc7bae76e3a3ae39492ba68cae63aab19a93c870616bc934f92bb3cfcdabbdee2bb3ca4a5813dfb0384bda2a495bcd87d393e603fe43c2e8ef3bd8cf0cabd4c49963b53aa653e9d4a0bbea6d03ebeb1671abd2b3bfebd4108ee3d566e773ded81f5398e0da93cbf3c08bdffb73c3c9e17d83b8a3493bb0205753b711c9ebb2b8abe3a4ad781bb74bf543cf07b74bcff7d7cbdd1ba2e3db85e00bd4b89823dbe714ebca163a6be4147c13e2ec805bee052983fe5ed753fe5ed753fe052983f2c2a883c9b6e3d3c8e4389bccda934bc85dc89ba1d9d243c705599ba56674fbcd1196abcf47845bc6fa6593cfa454a3c5e34053cb23ebcbb0f2988bba828853bb895a73adc96233c605d8bbbce1be0bb7358e6ba14f95abb44ea603b642b353a639ba8b97bdea7b8cb9851b8a7826c3affd3f6bcc975feba9643ae3c8da9023c89dd61bd061199bd5348973d04267f3dd105b73c6f925ebc1491d0bce7a2023d8957d13c03f9293d5c79aebc09bc29bd1d3e92bcac2ae9bacca1473c71d422bbfc5257bbf4b350bcfd40a93ba6eb793c26f67f3bb722913b3d1cb2bbbc6572bb161a693bc535d4bc39a1443cffe54a3ced7ad03d582fa33da39c05beffd72bbd89304c3ef47d133ebcd62bbed8224cbe2264f1bd5496f33d5d7fa23b521bcdbde17a83bc88ef34be591ed13de07bf23d0e8fe33cee828a3d835592bd8c96d7bc564750bb107016bc8173943c5aa2bcbb30ced13c3432bebb73978dbb5c378dbc0b5896bdd370db3d430842bdb75e953cb81319be0156e8befcb20a3f8f9e04bdeee1a13f07ec643f07ec643feee1a13f3738eab99bd04d38a90b21b9134a0c3a8f26ac3964ed15b974c20f3a05ae42bac71b243a5db01738abf655bab17c0fb8b8208cba58697fb949e4ae3adee43ab9c2bd153a89d418ba9c2430ba1590ce39142784ba7d7a02b97fc12e3a19daec39fdfaa8b80b6d6bb951fa0939c77d2f391160643a048e8db856ad06ba78ddd4b8559e97b9e5a9713a16a77b38b7dfdbb98be988ba9fbd67bb1fa9833ba8c8c53ae45c853b1121883b5a8564b901542f3bb19e77bb9550fb3808f4cc3afe61493b3219cf39aa609c3a0fae8bb9953a86baed5ca8393960aabae32787391caf4d3a8c1e233bf1c9233ad81342bab78427bbc0b4ec3a2ea2133be5595bbbd0229db96cb0093dfaf308bc58f283bc1778dcbbdc12a13d7b00a33d679001be4be402be9fab21bc55d0f63c7fd39abb74e354bce3d6cd3a7e2db43af6d5443a941841bb2eafef3ac0dfe83a363c04bbaf6ee4ba486745bb4e08643acd55f1b9eca9163b9c8b9b3b44c6e4ba49ede83b54553e3aca9e9f3d3d3d03be8f64a53d535502be78a08a3f7e568a3f7e568a3f78a08a3f9bea30b98a33b339c919d5b9ca2450399222903a0942f2bac47c3f3a4e412bb919db413ad3171f3bab010fbb880ac7ba739e91bae4631fb83d2c83394959a239e997903aa99b20ba69c36a3a2d70e6ba2ec45fbac38990b97350c4b95a7cbc3a55ea4f398a4dc2b784f340b935831b378cb1d6ba83493e392ac7483a315b983aaa401bba05460abbf0a9373b7a35f2394c6de5bb6705aebb2639f43be56cda3bb57837bb203dfcba1651023cbd040c3c6a735cbbce0b7ebb7ef55d3ba81d9f3b5c2a1f399968ea383a9d82ba997d543aa518aebae291fdba8b24303b3b1ff1398ca2a83bf9076a3bb242a1bbf98b8abb4be7c93b47f90c3c2c941cbc667da2bb4a17433d8e7e06bb2badf1bcd75f63bc599daf3dd504bb3d9e420abeffc80cbebde623bcd2961b3d22fdbabb49349bbcb7d7d13a343894ba8a7b4c3b90e612bb59d9f23aa624623a48d7babaffcd77ba00d5b7bb214a71bb93e6823bd54b8f3b7f3716bb0277b3bbe340383c289bfe3b23f2a43d5dc711be9a20c23d10d705beb1d28a3ff5e9893ff5e9893fb1d28a3f65c048ba8a41443aaf7586b84f6bb138cc9e0c3adbd088bada6d06ba9549383a3cfcb9ba0971ccb77bd3333ac4b489b953a9493a016dc4397e948abaab415bbab1bf95b9e59fbeb9a2c81a38a7b654394b590eb9959fc0395dbdf0b7fbd90e380ac22c39abfccdb85e0aefb78210dfb7e5d9dbba946f903aac0b9c3a11871b3a046e4bbbd3958cbbabbeea3bf5b6d83a8494f7bb4a58d4bb6687153c94a8fc3bf1ee76bb19748bbb17d9ee3b48e14b3c4dd6deba7928dfbb20efa83bb6687a3b3e0b743a3f5681ba9940bd39f44a4fba32baa639de30143a73f15bba361816ba100b343ced9c883bed810bbc0e4b04bc7076a13cf2ca743c9e6faebc5d8a69bc7ab7543d12867d3cd4f732bd9507bbbc16ef9f3d4116be3dbffb01bed7cb0dbe2ba137bc39aa073d69d437bb21f16ebc9ca141bb200d1cbbd27bcc3bf1d2bb3af0dcf7baf6fea3bb1b955f3b5ebf943b446a62bc0da91cbce79c533cf80c213ce5c150bc9cc878bc4c6ec03cc2d3753c9109913da7281fbe2983da3d0cdcf6bd21c58b3fccfd883fccfd883f21c58b3f7862f4b970ff8639143b35ba942a573a60a8793a214adeb9144e8d3a56e6dabad1ce363af8053e3ab48411bb87f39ab7b583673929c3443a9d8c19babb3edbbaf5a3b5baaac317ba5d559d3a1c30e3398cb4d7b90d15abb8ded5fcb85a21353a567eb5b8e921a7b95707d939943f4bb8103900bb8fcda5ba55f8ae3a9ced113bdc6f91bb53e28aba7cbd6e3bf996213bf127e5bbd8af1cbc4bf14f3cc80abc3b09a80abcad161bbc5aae623ca0228e3c9aaf0bbb6494f0ba29d298ba1907b83be05c14b825efa3b832e7ef39026f94b96944663aa86390bac2ee0d3aae758db90490e83bae37633b80e29abb7b12d1bbd401d3b9f4715c3cd3774dbc0a7a2c39153c6e3d97c543bc925306bd70b93abc8251d13d0854ff3df91324bed8eb24beaf7c93bcfebbf53c5cb42f3c9c1897bc71a1863b3b17babb5510313bf0cc82b9fee2343abfc4d03901a55eba68a172b9c8f0bebbacc712bbd13c403b9a5a373be80268bc5be7303c71b748bb77a2ac3c7e1cda3da54737bed3be0e3efaa726beb94e8b3fd7b8883fd7b8883fb94e8b3f07caa739c9e8dc3a48d200bba6806eb9d3655b3bb8d5fcb976a807baa91848bb78c393b9aedba93b66bd87bb37a4e9ba8bf7e83a1b3c19bb40c0a23a3342f5ba27f644bb059c853a121b493a000cab3a4bc5693a903dbabada9a9538e6253d3aa2ee2fbae5a5c539d7e2253904060139fd2f38bca84905bc85682d3c77d61e3ce94a22bc2eef04bcb0a7333c448e113cd93e5dbc57e286bc0c32913c58997b3cd390ecbba60701bc9e77403cebca873ca847953b840e81bba94f36bbdd7a793a6dc8f0b91c49c13be2696abb609f39bb9c70263bf85233ba80374ab886aaf7ba9f46d03cc082693c86d2adbcaedc9bbcaa8d4b3c566e023deffdf3bc16f671bcf02eac3da4f9673bb9db58bdbacc0bbdfcc4b43d5c6e093e41321ebe874926bee627f8bc7e5f953cb405d13c415bccbb035f08bb2f06babcb5eb7e3c3da2353c66aeb5bb90666fbb2cfc1a3baa49fc3b0abeaabc25644bbc75b9923c566b463c5e6d0fbd454dc0bb6fa8823c336f223d82d1aa3d5a4454be13322f3e6fa413be3cf68c3ffc08873ffc08873f3cf68c3f0d45043be40f4f3bf6a945bbb03b28bbd682a83bb0eba93a28c477bb60ef72bb8ea3aab9762dd23bd56246bb46c994bb1853583a119d59bb3571523a83a2cd3a3afc3abbf6064a3a6700003b17521a3a89a3f839468da4ba60008d39a220823aac751bba7d527a39a7f04f39bf6bb838d552a3bcbba28abc28a1ab3c5d978c3cdfcc7cbc0c4424bc865e6f3c08dc5d3ca63163bc115ccbbc9543aa3cc677b43c7ec921bb09644b3a4287833b0a17183cd044ea3b2110febb13dee2ba7a81193a11d16a3a5b1b3c3cd901f6bb2901e2bbbf5b7b3bf7a9ffb9125abbbae8551fbbc31a0f3dadbab83cf3ae0abd9217c4bc4c96023d408a213d17c52ebd4196f5bcc427aa3da13fdb3cc13876bde4c14bbd84d69f3dad90eb3d8aed0dbec49a18beae440fbd4124bf3c1164c33c284584bb499420bc4ea608bdac70cf3c79b3af3c5ae714bc5f0813bc13bf003c17983a3c1eb0e6bc7f3788bc97e5cd3cf0158d3ce4123abd8ae2fdbc4858393d800a323d94c8833d24ee52be01ad1e3e5c37e5bd7bc38c3f8e8f873f8e8f873f7bc38c3f2c32cbb98eceb73addd08dba915ce3382caa203b853b203addc7a2bad85d06bb81f02d3b9104103b7de259bb2d2c13bb05ec183b21ac653b091357bb1317a7bb04b984bad3f71dba214d863a450e413a1fc004b95157eb390f5c13ba5ce1963932d3d839066ef2b9cc9a263a69f2fcb99a20dbbafc62a5bb0258823bb38b463b62762bbcf6311abab9c7b43bc283c23b80012fbc69b832bce274893c33c9e33b0a1da9bcde1ee1bcc211f33cffac0a3d21f5bf3954c2093b708be2bb67e06e3b3773d33ab38d47bb12ae2a3b846193ba6b25cabacc67023a35bcb2b83f2b933a6dbe1c3c75a0093b159492bba12bf7bbd13a39bbf9a5b23c58517dbce3522ebb71dc933dd567c4bc4eee2dbd6599a5bb6f38f23d9147333ef18544bee9f745be32b4c4bc5299c43bd2a81e3d8be979bcbbb8773b80b4f5ba8d0e90bb7d04193b04b7c33ac99380ba903975b84dabe437697cebbabaece6bba7ca163c436084bbcf410abd6b21033da2b0ddbc2ba5393dc382fe3dd33460be00154a3e198f47beecc98c3f1a67863f1a67863fecc98c3fc1d73d3b846d853b12a799bb743339bb89af583b2b71a63a7aedb8baaa8880bb1d183c3a6b1c443b9d7660bbadf5deba16f455babe952bb883ebb23af99ae3bab0cdecbab2e12bbb67b30f3baa9e423ba31054bab769a638affc1538dfe95f3a9b39743ad60f8db7ee307cb9b8cc2eba3ca581bcfe387dbc3dbc8b3c49327f3c0b1a8abc0d9142bc7c1c873cb98d6b3cee5b81bc9a7a8dbcddd2a53cd9f3903c237938bb918e7ebcb7b8283c237bad3c3fbb0e3c09333c3c5fc855bc96c52ebce8530d3b89203a3bb56701bb207065bbc55183ba17ca8538d7dc9a3a9e86bfb928250a3d33398d3cbe6ad6bcaf47cdbc6a878f3c1b58483d357230bd81c1c1bcbdf8e33d0223ae3b04609abd757b37bd2e578e3d36fc303e49001ebe396a38be1f8934bd3a6f1dbd630b913d22a7ad3cd089dabba4067abc62386d3b6d849d3c3d9d81ba6dd3b2bb7270253be5f2b13beeb897bc034096bc73a9da3c9f17a73bc8a285bd12ab673c27a896bb6175923db800913d06778bbe65ae873e6a011fbe947c903f8bd8823f8bd8823f947c903f909f693a709e5c3ce56420bc27cfc0bb58ef873cc4f4e7bb827a973aecd24cbc41dfb4bcda389e3b19bea4b913f88a3c782c3b3c2d0508bc5662103c635e3cbc579f07bc67e0bc3a285fb9bbffe05b3ca8b5893b156f0b3a4fd1823b808a0fbc44a600bbc59a73b936691ebb410a953b5ce2dfbcc21329bdc14c133d453c0e3d0dec37bd861e15bcce78ea3c019cfe3c9a3f033d2760c6bcd819053b9b186bbbe2f876bc5f449a3c81f870bca774a73c787f0a3d9ecaf13b83e2c5bb313429bd918f7abcb7fac33b8e0ce9bba8fc7d3cdce1be3b58da38bb3782b93bf4980dbc95825a3db182283d031637bd9f8344bdc0a09b3d81097e3d5952c0bdcea142bdcdd4933db729823def5f8cbdf9da99bdcbc2923d2b92d53d2787e2bdd09b22be5bfdeebd67eb14bd02a1b53d3e639f3d8488d83cba2257bd9779b93cc433013c042866bc72f8063c36c81abcfee8883cd4d412bd27633ebc4202853cdf96c83cf4e7bdbda36fccbc6ec3a13d7ba9543dda3bff3c5b75a6be57e9813e8c7658bd050e8f3f87f1843f87f1843f050e8f3ff51e453ac27f8b3a0e72ebbab483cb38f8bb533b6bb0c03a8a97f6ba2ef44dbb162e923bac978d3bbffbd8bbe18349bb915cae3b1cf1df3b9328d2bba3cd1abc37ebf6ba7ddbd3b9be17263b9115a539eb0ed53879b2b4b7d5f196baf0f46d3a308680396921a9b97b936d3a2fb41cba353648bb62cb39bb1b8b823bd3e10a3b4ae232bc445aabbb9df6093cc646003c06fbafbc1aab2ebc7c20c13ca71b383c5bf3e0bc4d2f32bdf1d22b3d96fb3e3d618db93ba300963b894e67bc7197203b1e3873baac8af6baad979b3b788ee5ba82dbc1b9120e32b994be56ba5c9fab3a002b2f3cf15725bb506461bb472ea5bb55adcbbb7ae0e93c59ba7fbcbde5b6bb4e6fba3d2acbd0bcd50670bde224e4bb0377fd3d3402503eb93e53bed38e59beec65f6bcdd7903bcf5836d3d147e65bce400a33b8682e6b910664fbc78a5f33b04df773a4f447dba5d372e3ba41e06bb11a7363be13a2fbc5815583ce0071fbcee0434bd0ac43c3d88142abdcbfc693db713fb3d4e4e78beef2a6d3e3dc84fbea7f58d3faffc843faffc843fa7f58d3f5aa4013c7111073c54ca1ebc064ae6bb6c28d23bf5b58a3b712394bbcbb6f5bb1891893a6a5dc23be2ada0bb41f28abb48d808bb72ccacba64a2293b0b7389ba44901ebb7e8392bbbcbf873bd5928f3bdcdb65b93411f539630dadbab3ad813ac95b433a8ca3a83925791fb8c30c60bab176bdbc22608ebc9a02bb3cfa5d973c811dc3bc114dbabcf744dc3cbd08b23cd0fcccbca21ab9bcd770cf3c5376f23c0484a83b747fb3bc2b46213cc475b13cfcb6473c0f6bcf3c45b7c8bcfbc197bc8e0b73ba10dcc4ba41cbb23b0fdb48bb1ab6efba714d64babedc223afda9fb3aaf320c3dc7241f3c302bcabcb75299bcf0c5d23cea61763db1ef59bd042d02bd5bb30f3e4c02cf3c4714d3bdcbc08ebd1811433d7247483e880616bee0fd41be46a65fbd63ccafbdcf4ad83d4bb73d3d8235b0bb6205cabaca6c6cbcc264b53c97cb963bc62ea9bb12ee3e3b8f986dbaea741abc124052bc295ec63c050bf2bbdba39cbd794dc53cde1861bc941aa53d9259023d4393a1be2c9ca83e6f0b0abe8bcd933f5eca7e3f5eca7e3f8bcd933f3679873c4345923ce0ff83bca136abbc648529bc790fa3bbac6e9f3b0634fb3bd56b10bc507b2cbca6605b3cb132d53b6ca9753b12b682bb9f7eabbbab12d93bcc52603b3b2dce3b97469aba90f7d5bbc399193b042c3e3a68b672bb0e0556ba689debbae24a353acd47ee3a6c8436ba7e8275bd11a230bdab865c3da8e04d3d0aa030bcd51232bdb1a8ff3cfe24083d5821d93c2939b33ce6b515bd46d719bb15a9b83cdef8a83c7bb421bc00b1dcbc5bb2803af0c2a53cd55c6abc9f5a99bc4410a1bc0e7e7cbc38a8b93c714b5c3c01700e3bc5d189bb78300fbbbf28b03b5346863d1b98513cbd2b45bddbc0c7bc551bc13d4673133eb1540bbecf92d7bdd6e9ff3da7175f3d9e5da9bd5847f3bdba3d85bd24dffc3d389b45bd8184d5bd7105adbdad7b34bedd27263e9c2ef63d05bd983ca97c8a3c000b5abdd7e1cd3ce6d3933c07bc363c785eabbb0463c7bcfd79003cca976b3ca6ecbd3bfa7612bdf9071dbe2fbbd0bb78a44f3d21eae73d960c8ebd99fce0be4f71e43eb206afbc5f4a9a3f40cb733f40cb733f5f4a9a3f8cda4c382724a3b849c08ab94c389439d101e3b830262c397553a6392548abb9c0f2233a51c5dfb9f11d2139d47b27ba319a70baeedb3e35e92c16b963a3523a7c48a4b7e70fd4b9b1a89d3953b517b913b046bac68357b82331e2394027af39d792d4b7d0925eb9a41820390baf1437e21e64ba156874b750c4e23987da1b3aaf33d13982cb8639e5599bb8d9e94cb9a5afe5b9f12a89bbfd2e6f3bfe52ff3ab86a603b6bbb6d3bb3f8e03a01540b3b3d2a89bb051f66b95504913a26658b3bfc93643aa95b5b39dc7737b92e4b34ba3b031eb9723b4ebac73098392ec16c3a0ecd753bf968033b637707bb188480bb10b9c63abdc3703bc2ad91bb1645f1b8d794093dc5570abc362b87bc4ef1ccbb8a64a13d30b6a43dbd9e02bee0ba02be70bb0bbc243e033d7f56a8bbbc8681bcdc0a093b7fadd23a440f353abffc6fbbbfc9f03a1e2f163b4e4e19bbc10ef8ba9dad08bb8091db38880076b8f7e9cd3a9e377d3b53bcb1ba4000e33b6d0fc03a3690a33dae3e04bee18ea43db01a03beef8d8a3f7c638a3f7c638a3fef8d8a3f229864395dd5663949675cb9227773b9645191b7878d8cbaff82503a10131f39cd02863a4fd7f23a0cb0b0ba54af0abb87e153ba3e842eb9ba081bbad0277a3a736bd63a58893739ffca40ba3dc0c1ba7b3ce5b989a99339446072b969838039c5574339e375e037e041df36307e45b9ac1338bbb5bf00bb6ac5083be055533bcfffe0ba0600c0ba113d5e3b6d12b939ede1efbb2dd6dbbb817a063cebd5f33b1ec56cbaab2e19bb2cc9c73be6fd0d3cced9a6bbfdfea1bbfe73cf3b69a69e3ba226d0ba57eb9bb96d0ef039703bc93a8146c3ba3b3a2bbb899aae3a0a64363b1fb10e3c1fffd83b25f7ecbbd90309bce95be33b2b54163c444235bc42919cbb6eb4413d59fc60b9aa32ecbcd17180bca016ab3d823fb43d492e07be56020abe6c4dd0bb3edc223d58c30ebc323bafbc8a89473bf6bfe03a62528639810869bbf5ad073bf1aecf3a86b66bba095f17bbe51eb7bbb2f590bbaa6e9c3bce10873b463e86bad2c694bb3b45183cf2c0e63b9282a33d59290fbe5b49ba3d7b6104be1dae8a3fed1c8a3fed1c8a3f1dae8a3fb6a17cb968eb7bb8d9a585b877c1c5394076d83ae7b284baaaf1543921cca1ba8e7f9c3a1502463bb31138bbf6bd16bbff1a3dba75ad233ae34514baee3ea0b70783923a63b61d3a540be4b90462d2bafc2aafb81b9a3d3ac00351ba3571ba399d25263827d381b8e85700399d9cbbb821359dbb6b8a2bbb4fd7773bce939a3bbda3c2bb1c68f0bbf132103cc9e8c93b094036bc65a9debb2a9a193c8df5313cd9a505bac043cbbbb021123ca736113cd4035dbb5ec803bc98d5a73b70a3df3bbff66ebbfb7049b9bd30323b303e153ae610e538430a44bb4ef3703a67fac43a4955943c056a583cc1b18dbc1b3273bcd21fbf3c11f69e3c7de2b6bce3deaabc06f73b3d045c573c3baa1bbd2b5c9dbc6aa09d3debeeb23d885702be7f9306bef4b78fbbcb7f0a3dc07eacbb56a1a4bcca3dd33916f7213a2f9c283bde4696baaa5abcbac9a227b7e89b063b6334863a563b81bc5b0d66bc72a18d3c2379343c4ee936bc8c2886bc1f7ea63c3f2e893c2ae6903da21d15be0f2cc33d14bbf3bdf2108b3f28c0893f28c0893ff2108b3f579f59ba5e861bb8406632b9bf9a743a9e0d263adc4fb8b9d4d1483a079c8cbae0843a3a309249b9ad638dba3a3cefb8c654593838b3813a52087eba9c59b9ba97de48bae916a4bae6a5ac3ac86ba039c6160bba1942753a846735bad298b7391ca701384c9c32bac7080c3a9dbeb038339ef6babf3892ba9990ef3946113d3b420543bba7a85e39866e283be84c403adcf8c4bb3727fcbbb76c283c7cbca13b926e03bc9ee41dbcaae06f3cd160853cc65868bb26d210bb0df17539e90fcd3b9f240e39441d27bac4f3ae39e64b91397561d4394c759ebaf0c4373adf853339d7fbcc3b866b853b3bd287bbaaa4d8bbc656adba9c022d3cbd8a1abc2cea5c3aa077563d48045ebc5f30f6bc529ccdbb0165da3d7831f63df49c23be235025bea23292bce6a80f3d1c41f43b2fb3aabcc185be3b9979b5bbd63e183bf843e3ba258a543ac2a7093bcadad3ba2e8daebae9749fbbda34faba479cab3ab5a8433b3e6b40bc34b24c3cfeb593bb0a1b983c0d72e73d039334be2ece083e98102abe0fda8a3f482b893f482b893f0fda8a3f2d2853b900dd923ac68981ba6174bbb88584563b79c73d3849f097ba4d0522bbd0e515ba9179163bad8afaba689731ba7ec9b43a3ccedb3905b154bab86e0bbb1d41f6ba19cd8bba5c2cb23ae14fc73a645c2b3a9d9dc8393e1f83b9801215ba841706ba93cc9cb9b3c59139bf570f3ae6341ebc3aff06bc77771e3ceed2153c1ba5efbbb2d8afbb6496e73bcbb5e03b168a34bc227f3dbc5bf5753c0f581f3cab4c09bc4064f7bbfd9e363c2f8c913cc43e803b1480cfbbe84b063be42651b87a0d06bb4bfbad3be74398bb309f303a1e8b403b9d8f58badd8b8639c30c2cbb1a40c43c7cc1843c0579aabcb291a3bcb8bf003c1acccb3cf744b0bc7af139bce0cd8b3d9bfb1cbbb4bf32bdc7e9a6bcc58dc73d7a1ffb3d34031dbec3cb24beaae2d0bc992cfb3cb5c85f3cf0bd56bc920da4b9ce2098bc751f623cbc22de3b530ad0bbc7797bbb7dbb533b9991023c1890b2bc131c5ebc3a9b8b3c0a6c763ce0aed0bc77937dbb9a4e303c608f083dab0ac93df16143be4d34193e10a11dbe48c98b3f4b40883f4b40883f48c98b3f4b264439e99be43a1a28afba92c95fba016b9b3b64221e3a537a1cbb465967bbf61e093a3263be3b825a84bb5aed6bbb21b9bc3a5561b6ba7e4c993986ba16ba7ed50abb659503baeb94af3af27ec53a6788beb82a4621ba703a203a101d0a3ae97c81b981ad41b8d7df19395f06fb3822a3c8bca124cbbca606da3c8d95cd3c6cc05abca3aa2fbc98764a3c0d865f3c53cb34bc0f5b8dbc2c06883c5521713c880e28bbc55be9398a87953bf3a40c3cb299823b0f889fbb33da73ba08748b3a4222833b0d1a123ce62cffbbdbc8f3bb8ba7713be0e9d43a49a24ebb8c464dbb581d5e3d7238493d84d461bd11474abd6faef33c00a61c3d16eb1cbd304bfcbc439e8c3dfe67803c808442bd589111bd5eb0ab3d2ff5d43df5650dbe26cb13be4dd0f3bcb753f03cfac3833cc32c13bc08cf7dbc1398f8bc416ce03cc0a6b73c858380bcd4e58cbc010f8b3c56cf9a3cdba447bd31c720bd2db7383dd9391f3db4e920bd786f14bd50f62d3dee78393d09dc963df3ef3fbe4e4a0b3e4e26f7bdefcf8b3f4c9b883f4c9b883fefcf8b3f63216339655c8d3a7ce98dbad5a21bb9e32bf53a67e8933a5d38acbaa676f2ba51a6e33a45dc723a22c9edba2818b7bafb73323b9e1b5b3b149c75bbc1e89cbbc11a88badb8b6238cf060a3a26caf339010cf439b53fe639a52d1fbaf8818ab9eb69ce397b3f2ab955d3c038cc5a82b9473810bbd85899bba0ce843b14a6493b098c07bc6619abb91e29823bfe40a33bc9a505bca2f10cbcdf3b653c8a2c8d3b8aa4b1bcd0a3cfbc108bf23c0be0053d61e212ba8c97b5b9523891bb6bcca63bdeb2613ab02f45bb5f72093b694d653887d104bb3f7602ba9623b33a5bef9f3a411b0a3cb1fc4c3b0e27a1bb64b7debb953834bbf288923c20ce39bcf50e5bbb7fc7713dfa99bbbcd8031cbdfb1d6c3bd3f0033e1c0c263e215943be53a244bec6d0cbbc45a0953cf32a003d499da5bc9304c93b4e895ebb890f5ebba291343a5dd9bf3ae8a49c3ae055a4ba379b83bafd7585b9a6cafcbb5096073c03fe85bbed2809bd34d30b3db5b0e4bc653c343db9080e3ec49f5cbeee5e3c3e531e4cbefc7c8b3f0cb3873f0cb3873ffc7c8b3fbe8ff83a650a5e3bf12663bbe65417bbce27223be26f023a00514cbaa6042cbb0e4f593a2b97003b8a882bbb5dfc8abab5f2a8b92745683adc8505b8970b01bb624535bab25eddba9c0cb43a74b7b73a511ab9baa4db89b93eff433aa0e2913a2a81893ab5bb3238c87029ba6bc7c7b9d9fd68bcb05f6fbcf6b37e3c7710733c106340bc6bf3fbbb1a842f3c1354293ce76435bc2fd430bce929783cc626203cebe202bc35f862bca6d35c3c15f2b03cd490e43bdd137d3bd2b0f9bb9c94aebbc34d163b3cd0893b579a8dbbf8992fbbc71bc1b9087993b95788cf3a456fa9ba8da2063d1587b03c6864e4bc2d71debc8dab4e3c206f193d806ff8bc4c81a8bcc240a23daf7e82bbd0b667bdf628a2bcdb2fc43d1c891a3e262426be744434bed5ed27bd3d65fbbb76385a3d39ab0f3be01c9abb0d6089bc0850d43b7206833ca1b794bb50e7d9bb7c9cab3beca2fc3b7b8db1bc3318c5bc5e9eec3cbde0423c2e166dbd15eb7b3c4c96e1bb469d863d7056da3d4d947fbe628a633efa052fbea2618d3f6cf2853f6cf2853fa2618d3f78bb893b17b4143c8916d6bbea4e09bc3ad0693bb4a271bb72146fbabde0b539a67cd8bbaf9496b845124a3b26ec4a3b90ac2c3ab1994abb4dae303b9381aab956b939bbdc0008bbc722093a9abcab3b14d887387876f839a671023b71c80ebb9d9ce439dbf9f1b8d5c9d9bab437a23a43e919bdf4d440bdae432d3db524423d8a36b4bc6ef332bbd06d973c9b52283c63756e3cc69f1abce7cd7ebbc5761c3bfe2737bb33941c3c12a326bb82ddc83bad21be3cc347103cd6bb6abc3dbab4bc840f5bbada4f313c083433bcf6c3b7ba66be0c3b1a6abd39c071283baf4fc8bb49d2b83dd503a93d8cecb0bdd202b4bd58f6463ddbdc553dad4b89bd706b1cbdf0e5683de9a6a73cbbe922bd2e302abd4dbda03d9817db3d726909be1d1614bec07db0bdcae096bc6be1a33dab600a3d54da4abced255cbd22910d3d4f5a143d869ba1bc002f98bcc5d86a3c990fed3c38589ebde43d82bdca22923de2cb7a3d1c99bcbd816d0cbd744b813d12bca03d04a5a23dcb0b8ebea443553ec0d9d0bd4e868c3f246a873f246a873f4e868c3fc63e6d3aabeeb73a51ad0cbbab878db886d1173b25338d3a47a45eba50e639bb9bfb573b399e453ba170b4bbf3a2beba1326ce3b1105d53b1884ebbbc5a517bc550ab6ba98e7603ad7f2dc3ab0b763ba21e55d39ba6d8f393e0791ba37b3ee394bc2a5397781deb9109c6d3a818e10ba6e8d67bb436267bbd93c9c3bd5d0273bf93804bcb6ad95bbf3a3bf3b6866e23bc7db8bbc23a9f1bb7f55a83c9f8ebf3bce19fabc85d520bd3ce9283dc2dd3c3d031f913bb8e4a0ba51ab18bcfca9b13bf656e7baf960ebba94bd743b2b1b00b915f6f0b943880bba678e33b95dfa9b3a8b2d1d3cc99f91b95351a2bb81d693bb74ec9cbb5506be3c285324bcb80501bc4b30913d0467c1bc91af57bdb0d2d03b999e0e3e37cc3d3e923f52be160558be9d57febc39b82e3c8601413dc7d4b4bc2bdd143ca81348bbfa4730bcc54a8d3b5d4a7eba6279b438784c133ba2506bba1db8763b82bf3fbc14894f3c159716bc5f5839bd0511423d42f426bd08a9673dc606133ee1c171be7dc8573e9c4156be802a8c3fb2c6863fb2c6863f802a8c3fb605db3be047ea3b944608bcf484ccbba7e1873b1505453ba49f35bbd222aebbd2305f3bc01e903be653bbbbe8916bbb418799b88733043b89f91cba33f97bbb2c4e30bb81695dbb9a537f3b2b38503b96f163bac31a1cbab8f2e238ea1fc03a59d0c9399dd628ba5e2cdf39267d1039c465a9bcbc4c8fbcb254b13ce8ff913c3d0f82bc24a084bcf9128d3ce033883c78f6b5bcec3c80bc7c7ac13c06419f3c31b3e9bb5039cbbc81539b3c6607e63ce4f3343c2983633cf0de93bc952825bc0f99ef3adb6c133b801b59b8b00a8fbb73ca2aba17174d3a3952b8b8bf7d13bab464073d25fd863c3213e7bcb225aebcc62faf3c0d69493d59e516bd45bf0dbde6bacd3dae6d333c49b0a7bdc54e08bd6819b83d1ac2313ebc3228bead7043bef7ef4dbdde791ebda72aa23d0dd1903cad69f5bbc96f47bc09230fbb9e7bb83c395981bacba7dabbc69eb63b62547b3b71ba63bcf1b8a4bc9846e63ca023503aef2498bd226d8f3c91b429bc0bc7a93dd4b9aa3d4b8e90be6b94893e7d8122be5c518f3f82c4833f82c4833f5c518f3f5d997c3cfa478b3c9ba783bcdddda4bcb7e2e9bbe6a1acbb574d823b98c4ea3ba7dccabb6cfbc2bbaa51093cfe757c3ba21b31bbef1bb8bb51eb033b2230d03b23f440ba7acc58ba6bd4423ba85b833a7a7e153bca76173a985a68bbfa633d3ab061ac3aa2611b3bd20d53bae32444bb9b3f83bd06586dbd4c45823db5c1823d0346243bf9e465bccaf8193c9f59263c406b533c5ad8713c9cae97bc64be50bb6228a53c5b5b173c7fb102bc01d639bc9ab49a3c5c3ee03c5db9f9bcfc86cbbcbcc9cdbbd6419a3acde7043c4bb7c1bbd2fed7bbbe33f0bb6e33b23b11c6033c2b74db3d7d6b913dd89fc6bd0753a1bd315d753d65ace93d44d9bcbd3d38babdec4ab33db677653cedd76dbd9c6c6bbdb9652a3ccbb1013e8ecccebdd31a05be5c2ed8bdf0b8f8bd34da1d3e022cb03d278205bd3c1122bdad646b3cbe1f883d9f4d8a3ca8b8e6b9e0bfc8bb2201b6bba7f44cbd86b602bd80486e3dcdf1483c239b21bef8328dbd0cf89f3d8345253ef1bc533cadb4babe6999ad3e101190bdc6a3923f103d813f103d813fc6a3923f719895b904b774391d320bb99cd257393ea1f439b2bc1fb903701db904be4eb9499a4b3ae3c5abb92d3a10ba470b48b90d7013bac2e7d1ba8382ce3a4912ad39e1ec2eb8ea8b1c3a020af4b9900adab9a42435baf4af65b90f4422badec1c43a538e0f3acf96fbb8c1480938fdd108ba969297bad60d3fb9caa3023afe957d3a20fb8539e2b12cb8a67cfa39960593b92a93b7ba14cb76bbacad963b6448cf3aee6a163bdbe95a3bbdf4cf3a1ea6783bcbe171bb42f09ebae75c203b7d1a623b5f665f39bf0d193a62d399b9d8b365b98ee885ba3dba8bbac631a13ae95a893aa138513b2722153bffb93abb90d233bb049f2c3b5aec693b8fdba1bbbb6865bad27f073d5c5f05bcae9386bc43ccbcbbd21ba63de4b4a63de62403be2a8605bed96709bc5c70073daacfcbbb50f482bc6a716c3bf688f63a0a1b7bb9a90993bbcf6d083bb0c6383b2b3918bb192e2fbb452d10bb4308c53931e746baab42063b6bdac13bf87bb8baba75d53b54039f38e4f9a43d8c8204be1c1ca83de38205be509a8a3f814d8a3f814d8a3f509a8a3f6eb80bb976630c3a0c7a2cba60198839483e573a6bb366ba91cd643a19a070ba1686c2395a68f03a442b00bb39e258baec2771392af797b9e19466b99f96b0b9aa97463a43a50d3a6cc7fcb9ba8eadbaffc1e23951362d3a3e20baba35a19a39323a4c39c0357ab927754639e73422b9feb056bb6ee55ebb55f6773bbcc4553b1aedc6bae1fe08bbf5ba1d3bcafed63a3687dcbb82f7e1bbaffb023c5856ec3b02a44fbbc5f31abbcf390c3c6b4c083c0d47b5bb83f7abbb9e87b83bed93d33b2b8beabaf829f5ba178eab3ad558253bd2fc1cbb4afe2fbbc9cb503bcd59023b3cf50b3c9943df3b79a401bc8347f0bb17c1bc3b7e4c083c334d03bc0c1fb1bb2e59383d95fbb0bae146dcbc660063bcb67dad3d1d19b53d487d09be2a4509be560c63bb74f02a3df9b231bcb0b9c6bc9c1e923b204e8c3ba58915bb2a73aebbbeb3983bc575793ba0fb7dbb65d786bb662b7cbbe462fbbaa5b5043b4d4f1b3b0609e03ae99b27bba748db3b07f8983be2e5a83d5d2b0bbe6b49b23d1d1507be1b918a3fff388a3fff388a3f1b918a3fd6c3a8b833f1d5b8cab593b87b42a039e9055d3a2315c83a0cbe3fbaf513fcbaa75f223a2db65f3aa7b8d0ba65bee5b9a030243b571d933a23ccfdba682916bb8341b83ace41423af8a186baa03dbfba162448b9d304733a339a12ba36115db9b64a00398c1603b9ea90c738e003a4b8d299bfbbfdffb3bb569fb03bf20add3b72b2b7bb089ebabb622c0a3c49d9803b980002bc301e0abc74b2083c4b2b1c3c774bd7bb6f1185bb77a02e3c0682293cb842bfbbdb8e03bc8e5c023c9ad3d83bb06c9abb077f06baad405ab9fb74b43b3e0d89b94809b5bbe6ff5b3b4118223bc4c5863cddb5853c698787bcb74084bc66b6993c8390853cbf7795bc792887bc2400333dd0591b3c457306bd10178fbce8dba83db9e4a53ddad503be76d503be1594453a9294143d726ffbbb8567d0bc0426fa3ae23fba3b31d441bb9f5e51bb21f6763bfb4ac63b5c4035bb814db7bb9e5c11bc4e5838bc8de62a3c8a6bee3b7211a8bbabd5f5bb46fd3f3c2ffa243ca4bb9c3dd83a0ebe4fa3b73dd9e900be9bb98a3f10228a3f10228a3f9bb98a3f32730cba2fe8683907f5a0b9be390f3a235d823a181163ba7959093a968531bafd4e94b9db681639991366ba9ac0c139bbf4183a5a2a423aca5a60ba2f40dcba88802fba626b44ba7a25e1391845dd39990f36ba6d727e3a2541c7b955bd19396e7cd4b81fb04dba70980b3a1f56a339a11b10bbaf4ca3bae684d93a5b4d0b3ba5d9c2ba71edb039c1749c3a9ebdcc396938b1bb693fbdbb1b38163c5ec94e3bbcc212bc17b415bca08e803c28f7803c7c6a89bb91848fbb225b113bf3e7ec3b626a9239b4f038ba60110dba50d4a93a0cb9a5383c74eaba04e0063bf5cb1eb9c15fa43b9524703b732896bbd6c191bbeb2b40bbe7c20d3c6d8fcabbf8409c3a8ded403df04f80bc50b8ddbc8e97c8ba7772e43d7a05ef3d4c5a24bec7e225be787d81bc9aa5253ddd4e1b3bcf9bc1bc3f96c83b7f2792bb5cc0213be6055bbb5b72f03a5377693b984965bb07140abb934c38bb7bbb5abaca62363920dd6a3a3a5e21bcbe187a3cfec803bc3846903cf536f63d2ada31befa28033e137e2ebeb2538a3f2eae893f2eae893fb2538a3ff28a1dbacf54183a719daf395aeec7b9fbe11d3b74791f3994b8e9ba35246dbabb8d88baec1f88b94f3c093a489d9939c3d0f03a7a83083b29cb0cbb632040bb19adafbaec890ebb2cbfa13afa91063b412ccf398a6a0b3b82dc36ba8803eebac84f43385bea35ba9d8551b9d65d613a6c7a96bb5b499bbb03144e3b15e0dd3bff46cdbbae892ebb47d6f23b33d3063ba83abebb36dfcebb64a6013c2220b33bb14415bc42680dbcc9e15b3c69158d3c32c93eb951439ebbda5b7b3b84e9c53ae14a1fbbb8405bba93682ebb0581be3b9d1bc038d5877bba9de1463b391a12bbe803673cd0c7223c079434bc93005cbc1fb2903a3aca803c76a056bcae3053bb48de583d10e22cbc1c3505bd5f50e3bb160cd83d38bce93d2ed31ebefa5422be5ddf96bc6268233da5ba633b5219a9bc9215cb3b13f404bc897eee3bd5f789bb2d1987ba0b454c3af656feba050a303bbbd337bc6ec9cebbc330ea3b0a18f83b53154dbc228bcb3b200580baf685b23c9665e63db14835be8f8f073e139c28be1aa78a3f0669893f0669893f1aa78a3fd15aa5b8a9bb13393ce4f2b82f205d38141e823a225ae339c1e611ba48d08abae804d039f567913a1831adba9e8e2dba73177c3aeed36a395a590cba0b0f9eba9ece26baab2e9039334d94b84f2aa5397eaff239fc5aa2b7e38220b91e1481b947e082b944e4acb82eb052396810293963924bbc43bd44bcfa3a583cf630523c202d13bce18d01bc35fa1c3cecf8093c69790cbc5d39f8bb0429203c9b17023c9a3986bb5f3d9abb71691a3ca5b92d3ca42ca6b9ff4028bb7c769c368bf5423b8503173b7020eb3a639135bbb3f11cbbdd892b3b4f98f73af1392fbbd05733bbe65f0e3dbe62033d332e0fbd703908bd85c2923c644fda3c7e0fdabc20c293bca648623d7e6c283a93ad0dbdca8f96bca2d6bd3d301bcb3d814711be06bc13be9c9f99bc4d67123df611623bd5e97fbcf0379cbb333d63bc0329773c9ca4ca3b64026bbc19cd5fbc8fc6773c78527d3c9c9a0ebdbb8506bdb4c3073d047f013d8da9b3bcea828ebc2024ba3c0f90e93c9a46b63d199129befa74ef3d12dd0dbe1abf8a3feeaf893feeaf893f1abf8a3f1087f4b83d5a693af9b564ba59e41739daa5c23a21b39a39c7f0eab90939b4ba09d4b53a8a9b613a54f3e6ba5bbc5cbab63a273bffc9343bb34977bbfab981bb4b6c2eb979d9e1391ad04bb83bb7bcb9a0b81b394d0e5d3ace3529ba9bc6bab949808e3aa37bbbb723d608b8a91979ba9995c3bae5ac6bbb8c02533b82ce083b7fbcd0bb28f98c38188e1f3bc338863b546bbbbb81dea8bbb4c1313c25625e3a6f21b8bc35e0c0bc933af83c3bb8fd3c4bb51bbb9d8343bbb7951dbb5ca0023c8fae6d3a7bdf88bb6553343b7d922b3ae90c49bb6b134eba57f4c43a38811f3b8e71d13b029a1f3b8d5e69bb4c6dabbb775345bb699d643c43dce7bb93ee6dbb40d5383d7d52c2bc744b04bd7f045c3c2b460e3ea533193ee1c442bed19d42be1307cbbc8ee3013df23fbe3c933fdabc9b631a3cb6d77cbb69b351bb5c8e11bb5d01c73ac6f6593b0f0d2bbb876102bb2f510d3b2bd6dfbb79a6b13b858c94bbe30506bdbac11a3d557ef0bc6549283da9221e3e3de757bea7432d3ea4d851be24408a3f24f4883f24f4883f24408a3fde01863a86fb203b8c3f03bb3791dbbaa180d03af2e2d4b9c6828fb9b58f87babff1c93938c13c3aa148bcba38d4afb8e65a1b3a805a8b3a292e5dba7da81abbc12d1eb9dc8bf2b9eddff638c3fe093af56168ba4856c739563d363a2f68bbb8ab1fa43a49146d39ad1299ba0d359bb98b6b10bcd464f2bb775de23bc201263c5f1668bb7f6a9ebb354efa3b54c8d93a4e2a07bc3b645fbb3d1ff73b956baa3bdacf3bbc668c54bcc1de8d3c4b00a83c4e5b5a3b409641bb46f986ba2fcf6b38dfbc8fba46bb0a3b07d868bb53f5243b05e7b1ba59462ebbfbb98a3b7e5f97b9f9d3943cf917463c77a06fbc981f82bc7016463b9322af3cdd9767bc747d2fbcbaa9493d6c0b79bcf3a31bbd0731b53beb1aed3d7fda073e3c5f2bbee08530be60b0ecbc8a1eae3c86dff03c8e0b91bc2df8a83bd6f31ebc29c3b93a698a6e3b52c8aaba630a3c3aacbce2b98521023bc5c420bc6c4b66bc354d6a3c64e3af3b9cc91cbd06dcd23cf9e591bc0601403d7d7f0f3e342c5fbe161b363e8fef44bedce18a3fba80883fba80883fdce18a3f1a582c3a7d61143beda934babf4837bb3960473b2c67313a6e3e58bbd04307bada1538bbb62ccebaf23d3b3bb4ffa43a7a41133b7dfa0f3be09e21bb105e26bb3c390cbbb6b754bb02cb0c3b168e5b3b9c4330396d4b1d3bf319cc38820827bbfa6f78398dee92ba8f8d35ba5bbcd43af8ecaebc0bedb5bcb9689b3c8253e73c11f17fbcf95c47bc22d6b43c614c043cd8258a3befb06a3a21596ebb71dd85b96d8d15bc43a2dabb382d2c3cac16863cbe686d3ce0b2053c1c56e0bb23b18fbcbabd30b7af267d3b5ae351bc12f6f73b29499b3bdd9f823bbb62aa3abfed3ebc1bf3863d8f6a723d450a76bd5d848bbdbf26ff3cef1e353d182f47bd951aeebcdfad283d3cc308bc0e0ddfbca9b8a5bb005dcc3d1b7fe43df70f18be56021fbe64fb3fbd6fc62f3bed83213d7605243cd97d67bcaa3cd9bc7ba5f03cc2246a3cdc70e2bc7fb3ecbcbd66c53c9c80193de9409ebda9a17cbdde0e843dd41a8d3d7e3041bd9f69f7bca8c31c3d860c5e3d45e5ce3d0b1f56bec1da243e8e4316bee0038b3f29f2883f29f2883fe0038b3f4c0c0d3afb309b3a7b18b7ba85954fb9d1d5c83ae079ef3902aea7374fac13bb0d402c3b9965df3aa3b18cbba758a5b9ac9bc23b0e2fbc3be21eeebb642704bc69ba04babfd1123b20fbb5395a3809bb3381813a12eb563a574bbebad42106ba49a79439166b9d37685070398099b2b9a8643dbb854732bb77a2643b8f041d3b0526a3bb6d3157bbecb5513b70caa73ba5e447bc3ea229bbca56743c84e5743a961706bdea1912bd0e592d3df482323d1835b33a4c32eebb051688bbdc8e263ca10522bb8dce4abb67c1883bb4dcc03a1e8022ba81e689baab5e043a7079a23a484ec53ba95b3bbaacac5cbb9bce01bb78be85bb4e01953c23659bbb46ff17bcabc94f3d0c52d2bc442b2fbdb886a23cd21d1d3ec12a2d3e541153be33de54bea9a9ecbcad9cf23cc6b30d3dc8cc02bdfc3a493c079b86bb1c9617bce4864e3aa157a0ba998e1d3b37be0e3a8ad3baba951cdc3b2a8133bc2891233c149a25bccf2333bd0c494b3d86c82abd98a35c3d8faa283e10c168be8859413ee05b5ebeb1668a3f5289883f5289883fb1668a3ff280583b997c6e3bd8e881bb2b3f57bba440463bbc56133b446229bb756d52bbaf57e73ad461023b89574abb79f3acba56033b3b24823f3b75d95ebbd905abbb0e149dba1b9d0539eb6a4b3abd3afd39fc8d4f380484dab7b8db91b8920786b772ef6d3a7bcbcf3945260abab4a226ba1a9b3abceead1abc39983b3c14fa273c294916bc92c32dbc25072b3c62c92c3c849d5abcb251d0bb4ccb743c852de83b03f18ebcdc59bdbc57ffd83c2844f03c18ba973ba115273a61f3f2bba30fc23af87b10bb9cc052baa3980f3b0312813a4cf0b6ba865607bb2681e53aad55ca3a6f94973c01bf2d3c44ba87bc0c754bbcbb2a523c5bfb003d83cf9cbc92f7d7bc7bf45f3df78917bc9dac50bdd9b2be3bdef7fe3d567a193e661e37be51bf3ebe1fdc07bd6dbbf13b7e5e3c3deac682bc09a9b33bf854b4bba945f6bb2e2df33bfb68abbadaadc7b936aa233b2138ae3902dd82bb2d1a8dbcc98d983cb2c6e6ba46ba64bd8d20023db67dcbbcce7b853d4db60f3e5a4d74be8b26503e952547beec458b3f7cc6873f7cc6873fec458b3ffa4e413c344c393cf8c941bcb6ac60bc9995103ade87243bdde85bbb0ef742baa2da4ababbcfefba571b113bae3c11398f3f8eba89baa1ba93b7f939ab0e1e3acd3464bbbdcaceba3aef2a3beef45d3b6e910eba3e6e48bb6c3a293ba921bf3a7de8f438a945593a8e2c2aba56ada3392b5341bd5bc838bd4c574a3d0045493d111a6bbcdd3991bc885e953c5e4d9a3c04eb77bb9bf5e1ba0c57a23bb514673bec219eb9e56bcbbbc1f20d3cb7d6233c7403753cfdcf813c628ca8bc51d961bc84de2a3cc989323ce23525bc050764bcba56943bc5e5c63b3d9fd6bba97ae4bbb969d03de2a4b93d9e7bcfbd9ae9c1bda1ec5f3d7f029c3dc3c688bd57f590bdb598773d14d3cb3bffde5fbd8fdc7fbcf9bbbd3da067f73d73a615bed6f822bedb6b90bdbe8407bda1a9a33d7be8f63c5b1832bd895e57bd0862383d5639673d2a770dbde97a25bded0c233df9ce2c3dea9dc3bd2a45c4bd01f8d23d61a1a63df021f8bd27556dbd36d7803d9859063e0961ad3da1f589be44d86a3e543c08be16028c3f1996873f1996873f16028c3f diff --git a/shaders/ravu/ravu-zoom-ar-r2.glsl b/shaders/ravu/ravu-zoom-ar-r2.glsl new file mode 100644 index 0000000..fa19384 --- /dev/null +++ b/shaders/ravu/ravu-zoom-ar-r2.glsl @@ -0,0 +1,218 @@ +// +// 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 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 . + +//!DESC RAVU-Zoom-AR (luma, r2) +//!HOOK LUMA +//!BIND HOOKED +//!BIND ravu_zoom_lut2 +//!BIND ravu_zoom_lut2_ar +//!WIDTH OUTPUT.w +//!HEIGHT OUTPUT.h +//!OFFSET ALIGN +//!WHEN HOOKED.w OUTPUT.w < HOOKED.h OUTPUT.h < * +#define LUTPOS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x)) +vec4 hook() { +vec2 pos = HOOKED_pos * HOOKED_size; +vec2 subpix = fract(pos - 0.5); +pos -= subpix; +subpix = LUTPOS(subpix, vec2(9.0)); +vec2 subpix_inv = 1.0 - subpix; +subpix /= vec2(2.0, 288.0); +subpix_inv /= vec2(2.0, 288.0); +float sample0 = HOOKED_tex((pos + vec2(-1.0,-1.0)) * HOOKED_pt).x; +float sample1 = HOOKED_tex((pos + vec2(-1.0,0.0)) * HOOKED_pt).x; +float sample2 = HOOKED_tex((pos + vec2(-1.0,1.0)) * HOOKED_pt).x; +float sample3 = HOOKED_tex((pos + vec2(-1.0,2.0)) * HOOKED_pt).x; +float sample4 = HOOKED_tex((pos + vec2(0.0,-1.0)) * HOOKED_pt).x; +float sample5 = HOOKED_tex((pos + vec2(0.0,0.0)) * HOOKED_pt).x; +float sample6 = HOOKED_tex((pos + vec2(0.0,1.0)) * HOOKED_pt).x; +float sample7 = HOOKED_tex((pos + vec2(0.0,2.0)) * HOOKED_pt).x; +float sample8 = HOOKED_tex((pos + vec2(1.0,-1.0)) * HOOKED_pt).x; +float sample9 = HOOKED_tex((pos + vec2(1.0,0.0)) * HOOKED_pt).x; +float sample10 = HOOKED_tex((pos + vec2(1.0,1.0)) * HOOKED_pt).x; +float sample11 = HOOKED_tex((pos + vec2(1.0,2.0)) * HOOKED_pt).x; +float sample12 = HOOKED_tex((pos + vec2(2.0,-1.0)) * HOOKED_pt).x; +float sample13 = HOOKED_tex((pos + vec2(2.0,0.0)) * HOOKED_pt).x; +float sample14 = HOOKED_tex((pos + vec2(2.0,1.0)) * HOOKED_pt).x; +float sample15 = HOOKED_tex((pos + vec2(2.0,2.0)) * HOOKED_pt).x; +vec3 abd = vec3(0.0); +float gx, gy; +gx = (sample4-sample0); +gy = (sample1-sample0); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04792235409415088; +gx = (sample5-sample1); +gy = (sample2-sample0)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (sample6-sample2); +gy = (sample3-sample1)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (sample7-sample3); +gy = (sample3-sample2); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04792235409415088; +gx = (sample8-sample0)/2.0; +gy = (sample5-sample4); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (sample9-sample1)/2.0; +gy = (sample6-sample4)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.07901060453704994; +gx = (sample10-sample2)/2.0; +gy = (sample7-sample5)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.07901060453704994; +gx = (sample11-sample3)/2.0; +gy = (sample7-sample6); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (sample12-sample4)/2.0; +gy = (sample9-sample8); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (sample13-sample5)/2.0; +gy = (sample10-sample8)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.07901060453704994; +gx = (sample14-sample6)/2.0; +gy = (sample11-sample9)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.07901060453704994; +gx = (sample15-sample7)/2.0; +gy = (sample11-sample10); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (sample12-sample8); +gy = (sample13-sample12); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04792235409415088; +gx = (sample13-sample9); +gy = (sample14-sample12)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (sample14-sample10); +gy = (sample15-sample13)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (sample15-sample11); +gy = (sample15-sample14); +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04792235409415088; +float a = abd.x, b = abd.y, d = abd.z; +float T = a + d, D = a * d - b * b; +float delta = sqrt(max(T * T / 4.0 - D, 0.0)); +float L1 = T / 2.0 + delta, L2 = T / 2.0 - delta; +float sqrtL1 = sqrt(L1), sqrtL2 = sqrt(L2); +float theta = mix(mod(atan(L1 - a, b) + 3.141592653589793, 3.141592653589793), 0.0, abs(b) < 1.192092896e-7); +float lambda = sqrtL1; +float mu = mix((sqrtL1 - sqrtL2) / (sqrtL1 + sqrtL2), 0.0, sqrtL1 + sqrtL2 < 1.192092896e-7); +float angle = floor(theta * 24.0 / 3.141592653589793); +float strength = mix(mix(0.0, 1.0, lambda >= 0.004), mix(2.0, 3.0, lambda >= 0.05), lambda >= 0.016); +float coherence = mix(mix(0.0, 1.0, mu >= 0.25), 2.0, mu >= 0.5); +float coord_y = ((angle * 4.0 + strength) * 3.0 + coherence) / 288.0; +float res = 0.0; +vec4 w; +vec4 cg, cg1; +float lo = 0.0, hi = 0.0; +float lo2 = 0.0, hi2 = 0.0; +w = texture(ravu_zoom_lut2, vec2(0.0, coord_y) + subpix); +res += sample0 * w[0]; +res += sample1 * w[1]; +res += sample2 * w[2]; +res += sample3 * w[3]; +w = texture(ravu_zoom_lut2, vec2(0.5, coord_y) + subpix); +res += sample4 * w[0]; +res += sample5 * w[1]; +res += sample6 * w[2]; +res += sample7 * w[3]; +w = texture(ravu_zoom_lut2, vec2(0.0, coord_y) + subpix_inv); +res += sample15 * w[0]; +res += sample14 * w[1]; +res += sample13 * w[2]; +res += sample12 * w[3]; +w = texture(ravu_zoom_lut2, vec2(0.5, coord_y) + subpix_inv); +res += sample11 * w[0]; +res += sample10 * w[1]; +res += sample9 * w[2]; +res += sample8 * w[3]; +w = texture(ravu_zoom_lut2_ar, vec2(0.0, coord_y) + subpix); +cg = vec4(0.1 + sample0, 1.1 - sample0, 0.1 + sample1, 1.1 - sample1); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[0] + cg[2] * w[1]; +lo += cg[1] * w[0] + cg[3] * w[1]; +cg *= cg1; +hi2 += cg[0] * w[0] + cg[2] * w[1]; +lo2 += cg[1] * w[0] + cg[3] * w[1]; +cg = vec4(0.1 + sample2, 1.1 - sample2, 0.1 + sample3, 1.1 - sample3); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[2] + cg[2] * w[3]; +lo += cg[1] * w[2] + cg[3] * w[3]; +cg *= cg1; +hi2 += cg[0] * w[2] + cg[2] * w[3]; +lo2 += cg[1] * w[2] + cg[3] * w[3]; +w = texture(ravu_zoom_lut2_ar, vec2(0.5, coord_y) + subpix); +cg = vec4(0.1 + sample4, 1.1 - sample4, 0.1 + sample5, 1.1 - sample5); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[0] + cg[2] * w[1]; +lo += cg[1] * w[0] + cg[3] * w[1]; +cg *= cg1; +hi2 += cg[0] * w[0] + cg[2] * w[1]; +lo2 += cg[1] * w[0] + cg[3] * w[1]; +cg = vec4(0.1 + sample6, 1.1 - sample6, 0.1 + sample7, 1.1 - sample7); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[2] + cg[2] * w[3]; +lo += cg[1] * w[2] + cg[3] * w[3]; +cg *= cg1; +hi2 += cg[0] * w[2] + cg[2] * w[3]; +lo2 += cg[1] * w[2] + cg[3] * w[3]; +w = texture(ravu_zoom_lut2_ar, vec2(0.0, coord_y) + subpix_inv); +cg = vec4(0.1 + sample15, 1.1 - sample15, 0.1 + sample14, 1.1 - sample14); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[0] + cg[2] * w[1]; +lo += cg[1] * w[0] + cg[3] * w[1]; +cg *= cg1; +hi2 += cg[0] * w[0] + cg[2] * w[1]; +lo2 += cg[1] * w[0] + cg[3] * w[1]; +cg = vec4(0.1 + sample13, 1.1 - sample13, 0.1 + sample12, 1.1 - sample12); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[2] + cg[2] * w[3]; +lo += cg[1] * w[2] + cg[3] * w[3]; +cg *= cg1; +hi2 += cg[0] * w[2] + cg[2] * w[3]; +lo2 += cg[1] * w[2] + cg[3] * w[3]; +w = texture(ravu_zoom_lut2_ar, vec2(0.5, coord_y) + subpix_inv); +cg = vec4(0.1 + sample11, 1.1 - sample11, 0.1 + sample10, 1.1 - sample10); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[0] + cg[2] * w[1]; +lo += cg[1] * w[0] + cg[3] * w[1]; +cg *= cg1; +hi2 += cg[0] * w[0] + cg[2] * w[1]; +lo2 += cg[1] * w[0] + cg[3] * w[1]; +cg = vec4(0.1 + sample9, 1.1 - sample9, 0.1 + sample8, 1.1 - sample8); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[2] + cg[2] * w[3]; +lo += cg[1] * w[2] + cg[3] * w[3]; +cg *= cg1; +hi2 += cg[0] * w[2] + cg[2] * w[3]; +lo2 += cg[1] * w[2] + cg[3] * w[3]; +hi = hi2 / hi - 0.1; +lo = 1.1 - lo2 / lo; +res = mix(res, clamp(res, lo, hi), 0.800000); +return vec4(res, 0.0, 0.0, 0.0); +} +//!TEXTURE ravu_zoom_lut2 +//!SIZE 18 2592 +//!FORMAT rgba16f +//!FILTER LINEAR +00000000000000000000000000000000f3f086bcbe9386bdabe7bebc9852343b8aa36dbc0bd882bd2059afbcddb52b3b37065abc4c6c79bd34fe9fbc4db3523ba6ca43bc04a945bd4f9c86bcd494e83a89bb3cbce4cf30bd24aa76bcbf718f3ac3da1bbcc62308bdb70c2ebc878f353b8ceba3bb96f39dbc7ec3f5bbe8ab55ba00000000000000000000000000000000000000000000803f000000000000000017e25abc70f18a3f6c8ed6bb6b2c92bbb82fd3ba07b7673fb387593ab28c02bb4ab0dc3ad2da3e3f911b283b43db08bbc5054337f497133f19f753b92be9d0ba111e34bb77a3d83eb3a9acbb56dc06bb62e9fbbbb33a883e8ee147bc21532ebb158896bc91cee83d98089bbcea3b4abb000000000000000000000000000000005b663ebc0864f2bc251895bccbdc06bbb7987bbc3aca84bd3563ebbcc07aa83a25b863bcb1ad8fbd41ede1bcfb07f63af33457bc6c998bbd6c87e8bcd00c063b522f29bc915759bdd120b9bc7fa0b13ab4e920bc2b9f4bbd17b09fbc80782f3bdd96d6bb217810bde3a967bc96b6923a6e1a6eba961d94bcc3f5d7bbf6ac753bd9dfcd3aceed31bbf339f6b9da37df39b2cd3dbdee69893f43f7fc3df056b8bc10bb3cbd6883813f53dbf33dacdcb8bc33d5cdbce9675a3f4be7dd3d7dc25fbcfbc391bcd8ff333f5560bb3d277549bc09855dbc6064093f66ec8e3dd6811cbcc0de95bc7e7fcc3e4ce2433dd36a31bc29aca5bcf04c803ef531b53c122f1dbcce3be3bce149d93d610744bb0be128bcfc35b8bc1e6187bc54be9fbcd148f7bb267e23bcc08d91bc565466bc071e8fbb6aa948bc99ab37bd2614e7bc3afd09bb866c16bcc5e958bd41b6f7bc57566bb8753a09bc4ec266bd0d3101bd445aab3a2cd9d7bb70352cbd6aaab8bc1009b93a07bacdbbc93a2cbddbb8bdbc52e1a63abaa76dbbc4c5e3bcbdb579bcd0db9b3aa26a373a025664bcceb301bc7b83c83a62f7073bd6c5ccb9e30c92b9b5f3923ac39b61bd814b683f75818d3e39d10fbdd4f976bd4be15d3f3e3f863e0c0917bdcd451dbd1fd53a3f1ea86b3e6a7bdebce2fa03bdcb781d3fe5b8453e5c4bb9bc0d51bdbcc45ded3ec0aa163e7bad8abcc856d8bc8eabb33e3e34da3d377a97bcf06ccbbc9d9a613effc87f3de31184bce2bde3bcf3d5cb3d52f29e3cb3f181bced5facbc34cbdabb533658bced373ebc46ab0cbc3dea51bc68f030bc3e8499bb9fec0cbc7d4214bd0c37e0bc917088bb7fe1e0bb252a3cbdff7f0dbdbb14acba313cb6bbedcf42bded4f0fbd8f28f938f14bf1ba7a4c1fbd408702bd24998bbad2341bbb36450cbd82acdcbc71e9c83a40e7dbb9e914d5bc53f693bc238ea03ac329993aada742bc142015bccea4b63a2721103b867ed5b9206f07ba45cfa23a398f5dbdd6863f3f77aadc3e977733bd885b77bd397e363fec59d23effdb47bde08b36bdc0141d3fed89b63eae0a11bd598816bd36f5023f6974983e038dfebcea6cf1bc8e06ca3edc226c3e108ac2bc58adf4bceac5953e98062e3ecbdcbfbca801e3bc35383e3eb98bd53dac99afbc7674ddbc83c0ac3dd1952f3df13ba5bc9cd09fbc05317ebb96000abc45b56dbc1913febb191733bc7ff631bcc683cfbb35e1f7bbc5a7f3bc585fedbc2f05aabb70fa9abb5c6d13bdccc70ebd959219bb41c69abb768925bd2fe120bdf8e4c1ba106412bb747cdcbc8564d4bc4a6286ba9281e7ba8b23f8bcba03f0bc3a1592b9a8855cba9d7ca0bc68be9cbccf536939bbdd0e3b5f5f21bc764d16bc3b676e3a65ee283b7be6d0b9cfbddd3a248fb93a224b46bd2359163fb14f163f4da547bd4fba5ebdeaa70e3f2b950e3f03ef5dbd39591dbd36bcf33e8360f33ed98e1abd982b0ebdc7e4ce3e264dce3e39850dbd3351b4bc2ea1993e513b993ef3f8adbc76c1e2bc7e186e3ecabe6c3ebb0ad7bcb8a0bfbce3f6133ebd03133ea058b9bc3289c8bc3056843d5213833db5b6b7bce27991bc595ab3bbff47b7bb909292bca05ae5bb986947bcec7f49bcd419e7bbace7b8bbc14eecbccfd310bd9e61d8bb642e41bb817512bdff8937bd9eb86dbbfb8b04bbb2fb19bd170a42bd27e280bb9c033ebb94d2f7bcf9f716bd77b9abba8002b2b85077e1bcf6150cbd70cbd3badb2f7f39d82a9dbc43fdc0bcbfc8ccb91d40d53a15ae1ebc6cef39bcda1e973aa8d2c33ab35f9cbae64824bae4f05c3b79f531bd5f01dd3ed0653f3fe03b5bbda40f48bdaaa3d23e525d363f9eff75bd304418bdd53eb73e73fb1c3ffef735bdb46604bd508d993e95ea023f0c2d10bd2f62c7bcfd196d3e6c6bca3e71fef1bcb808c9bce2802e3e9ea9953e7243e7bc8a9cb8bc82d3d73d5e4f3d3eee8dd7bcc54cafbc9b43323db4cbaa3d6d7dd0bcef3c7ebca6bb0bbc60d19cbbf60398bcf700abbb1cd36cbc5d7092bcdc65fdbb748f64bb273ceebc71c239bda72d0dbc915dd2bad69702bdb4e852bd3fb3bcbb1ad6f0b977f909bd0eb663bde65cbdbbec4adcb9b08ed0bcc7d828bdf9f491bbe5c387ba4f73c2bce1df28bd329231bb873d893a10a087bce90fdbbcce5507bbf848443bd69415bc938b67bc40e9c43a5ac0c33afb859eb977b6f33894ddff3a9d990fbdd9bc8d3ea6b9683fac8563bdaaee1bbd31ce863e8a755d3fdc5f73bd3c02dbbc3a246b3e43d73a3f2be31cbdaf45c1bc3d83463e5a8d1d3f375605bd92248ebc7aee163e81feec3ed7afb6bc8d1fadbcddd8db3d6893b33eae76dabc6d6f85bcbeaa813d4fb2603ecc69c5bc8a9a8abc2a2aa33c71c4c93de120debce31d45bc9d784abc9c42dbbb7643a0bc7a860abb19d2a7bc110ff6bc182d1cbc6e70533a6b30fdbc608883bd7de949bc4e55763a31a9fabcfd898dbd11d728bc3bed923afd7ef9bc05d289bd7c5a44bc2361683a720fc3bca80757bd7a85fdbbf455c43ac063b2bc5b9546bd5524f7bbe960a03a999a7cbcafa40ebda302a1bb0e1f213bb189e9bb7e5a94bc4bbe4bbada58f7390dcd84baa8db03bb87471c3acc2cc4bcbb0c003e1999893ff6373fbd1962b0bcacdff53d1382813fcf0640bd21d276bc42ede03d1ad4593f98bdc9bc9f3250bcbde1bf3d78dc333f6e7488bc758224bc7bb8903d0662093fbe4153bcade124bc1605433d2a24cc3e2ad889bc4fcd27bc54e7b63c33567f3ee980a7bcbde81cbc8e7f3abb5fe6da3dabded0bcfc9df2bbf488a3bc47d585bcce0fadbc000000000000000000000000000000004d6fe439f357cebc760385bd5f1958bcfc48263bba54c6bcee7785bd26f758bcf609ba3ae76ab3bc596b75bd5dc526bceea18c3aaf1394bc1f1445bd543a22bc911e463a325587bc313e34bd678c13bcf8614f3ae32c3ebc29cf04bd532ae9bb77fd5d3a1e57d7bb0b9f9fbc2150acbb0000000000000000000000000000000000000000000000000000803f000000001d5795bb2310dbbb650e8b3f7bf953bc07f9cab93b2fef3a2753683f0662e7ba7801d8ba21de063b806e3e3f10f1fd3af8e6ebbacdee2a390ea4133fcfe24938a2272abb6410a7bbc86fd83eeae75fbbee1c2abb6b3326bc8fdd883ec0a119bc90904fbbb082a6bcf81be93d357695bc0000000000000000000000000000000000000000000000000000000000000000cf9402bdfdd6fdbc33b69cbc32cddebbbf12eabc972a12bd02308fbc0673d8bb937dd8bc08ce0dbd772898bc906cf9bbd4dba5bc3d4efdbcf2258abccdd602bcb510bbbce9f8dfbcd9ee73bc6926d1bbf5ec8dbc5ee4b2bcbdce28bc2c7babbb6b025abccd0a71bc6f8c07bc87c763bb00000000000000000000000000000000000000000000803f00000000000000006115913cc3157a3f3cd55f3cc37e903bc5179a3c8f3b543f1f5f7d3cb98c063c0a258e3c5f25303f5846793c5030143cb7b0523c85290b3f65c1423cd366f93b9241f83bb4ecd03e11991c3c2570ad3be3916d3a46af883ee918233b26c9253b0071f9bb5216043eee1393bb06479dba0000000000000000000000000000000001ecc2bc1d4974bc6fe938bccf4c0fbcd8f909bd417702bd1c33a3bc30083abcca0406bd654e18bd0dc6b1bc1bdf38bc381e03bd44081fbd22c2b7bc561a38bcd0f2c9bc6024f8bc378690bcb98e14bc2980cdbc8bf5f8bcca0191bc097e11bce6639ebc0421b9bc5fc255bcd893dcbbd1f865bc4e6b55bc06e5e9bb651485bbcd44d0bb8c1701bb00f1b7ba36d30bbbebff913802f8773ff9650c3eaf0eb3bb8b7bfd3b5958623f7797063e12c793ba8d24523c21d9403fd8d7f13d568c823bedd25a3ce3b7203f8dd1d03d900bc23b2889123ca8f5f93e8d8ea23d9fd7963b4d38913bc459be3eae71763d66cd2a3b36295ebb3142793e7e51153d57df56ba387f52bc03ebf23db7e2493c73bbb2bb59d46ebc96ac8fbadf3af8bb681301bce688a0bc1a4708bcabd2b7bb374d26bc1ad8f3bc5c79bdbc1ca185bc313762bcac3be3bcc7eee5bcc9fb99bc4a3f57bc78dfe7bcb41d03bdab25b5bc691c60bcc9a0b0bccd10c6bcbc4787bcabd525bca077b8bc20f5cfbc0ed998bc090046bc722787bccf0f8dbccffd39bc264efebbe09c44bc1f3612bc4201c2bba311c4bbe3cdb5bb9d02ad3a31f8f6394b4217bb44c000bc65e9523f41248a3efe7f2ebc4c143dbb6a57423f6710823e7cce04bc0d3f533bd235253f179b603e4051deb952049d3be5730b3fa80b413eb6ff793a8eda153b191bd83e7320163e2044d13a6d5403bb3f72a53e0c52e63d32f87dba5397dcbbef55583ee451933dd8856fbb74d26abc200bd73d52dc043d72af0dbc6ee56abc733aba39da269ebbb49908bc56ba95bcc508dcbbfc7faebbef7040bc15b4d7bcc5019abc510b6fbcbdbe85bca59ed4bcb2fbd3bc8c8ca9bc484086bc2724d2bce243e8bc2f4cb5bc59b984bc14b7aabca6eabfbc10ce95bcb71a55bcc6cfa2bc9dd2b2bc5ed48cbcc6114ebc81a67fbc2e6d80bc82ee49bc8a0b23bc893431bcc3ccf6bb7673c9bbec38bcbbd75b86bb22f5a93af052693ac25853bb50f73cbc312d2f3f156bd03ebb3f48bc95240cbc4d2e213fbf2dc13ea4631abc3c1df1ba9a130b3f2081a83ee2bc4abb406513bad992e93eaf8d8d3e328da93ab43bbeb90e2ab73e72b65f3e920c0339ce6390bb1ed98a3e9b5b2a3eccdf14bb0d630bbcbf12373eab47df3d9805afbb93f86bbc7c8db43d0b06573d3b642bbc1d8653bcdf92e33ab37232b962fd1fbc0a1463bc9495cabba70d81bbcb5830bc1760b3bc4a4785bc8aa362bcb52f9ebc53d6afbc876cb2bc47599ebc59aa8bbcc698b6bcf895cdbc7103babccd0795bc3dd16abc9dec95bcd59b88bc3ade5abca8fc8fbcc09ea4bc7f2396bccb026dbc7e594ebc428c55bc0b1648bc495030bc511ad4bbc3ebb4bbcbdcd2bb2f5d13bc379598bb2463a53930bc533a9f219ebbd04d4dbc46a90b3f93a20b3f9e2f4abc5cdf3abce829ff3ee3a9003f697e0cbc47854bbb8317dc3ee9a4dc3e42d6c6ba5aa610bbd1a2ba3ec270bb3e7606e43924291dbbaf318f3ef963903e98735d3bad98afbb46915e3e1b07613e4a20f4ba06ec01bc3107113e20ca123ea1f8a3bb82536abc6793903dc9c3903dc97217bc25724cbc243947badacc573af0bb2dbc4bc865bc646af7bb99b29fbbb48d6abc12a0a2bc1c0a8cbc62198cbc0cb1b1bcf730aabcbd6ebebcb78dc0bcd9e3abbc2b05a6bc4614ccbced60cfbc60c0a7bce66d91bc337ab3bc2ce3abbc8f6786bc4d7473bcf5dd95bc2f16aebc781c8cbc483549bcbfa363bc456464bce1b450bc431afdbbc591d3bb4453d2bb22ac1bbcc30326bb89b4833a98109a3a8f178ebb3b5e51bc6744d03e75202f3f555735bce3b33cbc4487c13e0db0213fbdd200bcbf1f8bbb33b0a73ee0560b3fa9fb0b3a376f2fbb32368d3e1783e93e0eab193b15f611bbb63a5e3ec2f7b73e00bd253b3a1798bb9fa9283ee4358b3ef5cfc4badc7a05bcad40db3d65c8383e2af5a4bbb6af4bbc383a4e3d7076b83daf7330bc3a4c37bc49a7eebab8984b3b212333bc9a9140bc43f91bbcfb19d7bbaaa186bc3dfe8dbc85b49cbcbd37a4bcec75c8bc957590bc964ab9bc545cdbbcb935acbc072990bc9cedcbbc327dfabc3419c0bcf50d59bc895c99bcb227bbbcf6fa8fbc946d67bc48849ebc8b3ec8bc49b591bceb6c09bc9fb357bc46f388bc49d776bc6c7bc5bb3c54cdbb1a1f0dbc325d37bcce5919bb6f1cbf396a3cb738c4b676bba29028bcde968a3e824d533fac7408bc47c90dbc55f9803eaa2a423f44ff1bbbee613dbba3c25f3eb773253f1b6ac93b87f5e5b50c69403e92de0b3f5ead073ca5cf6bba0620143eda9ad83e4bb0af3b8d597dbb4498e03d55e0a53e8713453b1654bebb088a903d4972583e0c3627bb06b23abc244df33c0facd83d3f0937bcc7ec33bc7f48b5bbff38fe3a8d8f38bc8b602dbcab8066bccc695abc958f98bc7a2476bc81dfc0bcbb0ff6bc609ae0bc0bd775bcd25acfbc19f210bda7dfd8bc2b217bbc9effd6bc050c19bd8a56d6bc647b45bcf274a5bc3dc4eebc99a1a7bc1a363fbc457ca3bcdaffefbc337faebc948606bc304f66bc792eafbca89289bc381086bbf128f4bb76f14bbc61a754bc0407daba718689ba77aeebba9280dfbb20a3cebb82dc0b3e97d9773ff89b953acde8f4ba8cd2053e3e3c623fbeae143cf65f243bfcb4ee3d8e06413f341c783c802f483bc7c4cb3d4513213f50a0863c2ef3153b9dee9d3d1567fb3e3ed6433cc475d43782946b3d33a6be3e3ba0fe3bf14767bb25020a3dba647a3e1926f439a4c305bc9f79153cb68df43d40cd0fbcd64213bcef1119bc16634cb9a9b540bc00000000000000000000000000000000d4b23abc37ecb2bce7bcfebc00e1c4bcdfa23abc6732b1bc64a608bd974bb9bcfd2237bca705afbc239d08bd706eb3bc85fa39bc4f0391bcd661e3bc994895bc31b006bca46d87bc830dd9bc24af92bc097ce7bbdff856bc3e4eabbc7f4076bce23b59bbb3d41dbc31c25ebcfbc03dbc0000000000000000000000000000000000000000000000000000803f00000000244c9d3bc523503ca5c5793f11149e3c6b41e53b3941683c6136543f4485a93c3d19fc3be3b9563c6b38303f7d3ea03ced17b83b4cd7213c11420b3fe013803c8887603b3293bd3b7053d03e14ab2d3c78c35b3aed1aa639b30f893e63d9853bf46498bb3c20dabbd08a043e44917ebb000000000000000000000000000000000000000000000000000000000000000059862cbc846585bbfd17fcbba5b8cebba59024bc5438dfbb6b5bfebbf940bfbbe58f2abc6b68e9bbe70a0cbcfbd8ddbbc57df5bb1f129fbb1cdfcbbb433aa8bbf8e00abcb896c7bbcd1a00bcfd32d1bbaafeecbbb0b292bb69d6d0bb0635a5bb39f8d3bbc9951ebb95a4a0bba00780bb00000000000000000000000000000000000000000000803f00000000000000003f04273caf83653f61d70f3c8da5ed3b0c39063c7a32453fc1230f3c358afd3b3500ea3b452f243f0fb9063c8a3eeb3bdbf4b63bd2a9023f3bc4a43bfb16813b441cd63a34afc53ec0b2c13bbb35a63b01e4063ab702833e08acd43a629dc33a188397bb4337013e49c020bb85202cba00000000000000000000000000000000a7b021bced3a11bbed5ba1bb9559d0bbd99445bc4aa7b8bb18ca02bc81d009bc24412ebcdb12ecbb563d2fbca56c2fbc77dd34bcb9cac2bbe77902bc607f01bc835a00bc3a25c0bb0a2d00bc37de04bc0bb422bc8a1ab6bbdad400bcdabd00bcad6e00bc983878bb50b2bbbb69c3b8bbac90d7bb7c5bc43a7c2a9bbb64d59fbb17ba43bb1fafb83ac46cc0ba107229bbe2f2cb3bf922653fb788083e1e18823b26ac173c21b84a3fa7b0f93d77b1023c4921033c88122e3f8f53da3dd1f5e93bf713d13b51f7103fc77cb43d5b31bd3bc7097d3b725fe63ebae48c3dcac4a63b685cd73a9e92ae3ec20e5b3d7fd2113ba2e120ba8b6e673e6c4b093dcec730b90b4df0ba58fded3dabbe553c7f999abb6e68e7bbbad5acba798e31bb572d25bbf7a016bcf56980bbe95cb9bb0c38d6bb461e55bc23a881bbe24dbcbba3a711bcd44a3abccd04afbba6c2eebbf05a11bcfe0b5bbc3df701bce29e0cbc75af43bccce11abc6f79aebb931bdabb613a08bce5712bbc3063acbb8419e4bbc9c909bc5a5909bc9b061cbbfccc60bbe3f4f2bbf26edbbb253040ba5e6d3abbc7ffb0bbc8a354bb1ff9bd3a58b14bbacad140bbf9a2a13bdd98443f6a04853e3c8fa13bd217dc3b188c2e3f3ec36f3e0815e13b675dc43bc31f153fdda14c3eee1fb43b60f4de3b5c0ffa3e9e6f2e3ee3dee03bd1278d3bf89fc63e10cb083e9f1ac03b5a6fd23a0343963e196fcf3daca2fa3a48a751bb0ef5463e0c038b3d1eebd2390a62a9bb7cdec73d11a0023db3b286bb3428babbd96daf39285e8db9b7d79ebb895d19bcc38bffba61fa20bb608ad0bbbaf836bc400594bb1a89a5bb3fff14bc988c3ebc8c3dd8bb845ec7bb858f38bc77b628bcdd47debbf497e5bb352002bc60702dbc1e1cdfbb00bad4bb11900dbc763c36bc3859d4bb174da6bbb664febb18850ebc7ce7a9bb513c2bbba844d6bb834de1bb6e26ceb98826c8ba0b6794bb9d3146bbd907ed3a85465d3a38b88ebb8a36623bab03243f58ecc53e7d50313b214dac3bd344113fc918b03e7137a63b7c07d73ba988fa3e4c97983e1973e63bef01913bf7b1d03ebe217e3e58c9a33b05ca6d3b1a82a63ecc65493ebe15853bb22cd83a0cbf7b3e3aba193e022b1a3ba104f3ba2967273e229bcb3d79ad41ba09e0bfbb9ed4a53d3de2463d73eea2bbd7c2aabb9d4a883a3cbe0737dd8dcdbb3247dfbb3c1dfcbaafd79fba7539bdbbb80d22bcd462bdbbf761a0bb75b801bcaf2115bccdaed2bbeb10b5bb5a4213bc3d3448bcd392b5bb7793debb881b2cbcc3bde7bb8ccc85bbe87068bb1f85c1bb931b1bbc7c0e9ebb4105c6bbde2af5bbf5b3ddbbdcab2ebbdeae8ebb715fc5bb26aec9bb18f194ba82a892ba52cac5bbb3221dbbae9cb63ae5a8ca3abb4624bb5b30f03ae11c033fa82a033fa4bf0e3be157933b2918e93e7657e93e9dc5a93b7031963b7504c83ec050c83ed1e4bc3b8d1c8d3b2fd6a73e34f7a73e7775e33b6bfabd3a1131843e556c843e2b27193bcef9d9b8fc51493ebe3c4a3e939fe83a511611bb2754053e7add053eb58192ba43bda9bb8bff843d5aca853d437539bb29d9a7bba8b8b1b943601eb974baabbb4b9e11bc807f50bbc79087ba7d77dabbfbec27bcb055b2bb4d865fbb5c4318bce2fb39bcc13ff1bb0a3ba9bb58191ebc952135bc11aff3bb83f2b0bbb1881dbc84541cbcdac18fbb68ef29bbfde306bc3da613bcac54b5bbd6a778bb2f2320bc6aaef8bba8657bbbc66f91bb4ac30dbc1333bdbbe95ccdbaaa0f9fb7e10da8bbc0d712bb4a0fa73ab68814b908492bbbb65edd3a7822c63ecf4b243f0144933b3ae0643b23a7af3e95c7113f1663e53beccba03b0396973e711dfa3e6498de3b741e4b3b56b07c3e698ed03e86dfdd3b7efef6394d114a3e25d9a63eae99843b5940dab7b5b8173e141e7b3e989acd3aebfa4dba6394c83d930a273ebbd394bac0f5a9bb7e19453d19aba73d1ccc89bbeceab0bb2e051fba7238983aa4229bbb42dc02bc5ebaadbbed8813bb0761eebbe9ad12bcf53ef4bb731b7bbb11bb1ebc17ab31bc2931fbbb5e94c6bbde402bbc6c0134bc9b7b28bc5a10b5bb714b1dbc25c825bcf2ef09bc1793bebb04d910bcc15e06bcdc3218bcc6b6cabb4cdd09bc8679f4bb0f19a9bb153c1ebbadcfcdbbc556ccbbd66370bb84821abb4be1fbbba16abebafec0d4b9b7e4f73a2a7727bb8571843b8239853e8ecf443f5836bc3bd0cea43b85dc6d3e9c3d2e3f6e91f53bdc96c63b52e34b3e77a9153f2e7bf53bba79933b9e672c3e6556fa3e590af33bc222a33b0511083e69d4c63e1818a63b5f07d13a2a25d03dd273963eebcd913bdf818b39ec6e863d69bd473ea84524bab0cfc1bb7ea6f53c9ed0cd3dec1328bb295db2bb5325d9bae590b53a6f5785bbc6ebfbbb7dfad3bbbe8d1abbb921e7bb74c24dbc935c1dbc1577a4bb179f2ebccdc131bc2678f2bb57c0c0bb868938bce2b823bcbf1d32bce7b6f0bbd80f30bcfc44d5bb8e3eaebb0019ccbb2d7de7bbaf5e18bc1c010fbc9ae0a5bbad86edbbfe7102bc67cbd0bbe38b43bb0aefe2bb35b184bb72c27fbbef9365b91ba2acbb56f253bb505ed1ba99a8ba3a0a373abb08498d3b916d093eacb7653f31c9e33ba5dba03bae14fa3d2ef44a3f1356243c487ccb3bf52bd63d1ed82d3f31e61f3c72bdbb3b7493b53de964113f23091c3c8fa0f63a0f708b3d8f85e63eb12ce13b3790a63a0ac6533daf4aae3ef15e533bd46f84ba9a8e0d3df476693e4ef58039c15ea5bbab87573cf678e63dd15187bb508395bb8ea01cbb63e6dc3a87cf73bb00000000000000000000000000000000f80104bc59920ebc691b6dbb437eefbbb87211bc1aa300bc2305e3bb19f613bcee7d02bcfe2011bcae14c9bb4c0afcbb48accebb34d6e1bbf9a095bbd5b1cabb5d19cebb62a3f8bb6538a9bbe7aef1bb435bb0bb5e44d8bb16d67dbb3ed8d2bb544b69bb03ab94bb88c9d4ba17a5a5bb0000000000000000000000000000000000000000000000000000803f000000002c941e3cc954043c1fa4653fe412473c9d3cf33bf232143cfc12453f093c243ca733b43b609bee3b6933243f88e9d53bc474923babf4873b1ce4023f1059383b7f88383b66306c3b040bc53ee3a1863b1c05203abd435e3a7ccb823e9147643a27d626bb962e2dbb82ec013ea0028dba000000000000000000000000000000000000000000000000000000000000000009788c3b373e19be755214bc53801c3c3fb304bc86da0cbe4ec17ebc1f73083cf3ee87bc9fd7f4bd5dedc0bc5839bf3b3c1b95bc984ec2bdc0f4bebc4f1fa13bc67e4fbc308a92bdca7996bcaf31903b4f2b8dbb75ba33bd7acd43bca58f9d3b53122c3b46708bbc312f6ebb0414343b00000000000000000000000000000000000000000000803f0000000000000000e30aa2bd0d94a33fde849bbd9b74183b51462dbdb84d873f414d15bd4a3811baca028dbc62295a3f23ea2cbcaaced0ba96f200bc0f06243f8806a2b962e314bb3bc2e3bbb92edf3eecdc9a3a1867e4ba3d7cd8bbd12e733ea41ba5ba711259b918ef04bc79ad493ded3905bc34ca0e3b00000000000000000000000000000000ebbc653cfc64bdbd6e58ca399970643b9053c53ccaf915be23dfc9bbd712353c1788e33b9ebe1cbee755b9bce772373c39c354bb22e208beb4dfe7bc9f00f63bd87feebb88f0d6bdcb94eebc2790cc3be87727bb02349dbd5f4dc0bce5fac43bd2e47c3b7bd045bd405d79bca8e7ca3b3cd0233c221892bcea31debb51fc8d3bb23b273c7bcccc3b176b023b75c3ff3a0c2917be87bda23f91c14e3dd987bbbc3c2123be528a9b3f4b69223d7e7bb1bc1c0fd6bdf92e863f9cb0843dc92eafbcdf188dbdc993573ff5ed973d697ea2bc482536bd93dc1f3f63f38f3d87577fbc9fa50ebd8b51d73ebc0c5d3d8c595bbce90ec7bcdcd4623e65070d3d961f14bc81c5d2bb95832e3d6d8c893ce616c53a47f62dbc7d669ebd4c7a26bc80239cb87cd9053c82526fbd21a115bb2eea72baca345f3c01fdefbd3dc3bfbcf325da3bae578e3b442cf6bdc84e18bd5e478e3be12efd380109ebbdc1fa29bdf8fd9d3bae937abb9daab4bd1a1b18bdb7be0b3bfe79fe3ada768cbd9cb103bda5cc893baa93a53b8e3e2cbdb184a7bcf90c953b1bdf3d3c62ac8fbc583a27bcc857b13bd1ff2f3c19908b3b983faf3a81a38a3bc65c12be11a3873f23da793e70f650bdde4a22be2999873fd1cd6e3e90e863bd73e6dabd7d05653fa0f7663ee0c82bbdf358b1bddae83e3f2b6f4b3e533d1bbd1bad69bd44800c3f6ffc263e40c8e9bc17f14fbd4955c23e4d15f93d6b2fd1bcfe9413bd1084573e2ebb983d4f969ebcd763aabcdfc15e3d1569003dd2fb3abc60326fbce4f942bdb237d8bb35b1f7bbe7fba1b6bbf129bdb15c41bc64181bbbff76fe3bb2d0b5bdd9df2abd48b7273bcd9f8b3b4bf1cfbdf10a62bd4ed3173b252ebe3a1c1ac1bdfa196fbd67b5193bc4bc90bae506a1bd672650bd08c3aebafe0d1b3b114d6fbd212b24bd023a5a3b1214f63bd2dd1cbd18fdddbcd3ebdc3b8338343c6cf981bcd45a32bcdb19c83bbe3a153cd73af53a24bb873a6d39bb3bcf2df7bd18ce5c3fdb97e53ece4e9ebd8b240dbeb75b5b3f7366e13ea1b8abbd4630debdf2d9403f1a53cc3e0b4c8bbd1522a8bd33661c3f56c8ad3e0cc05abd6c0d81bd1518ef3e23278a3e266e2cbd925049bd537fa33e218a453e1e2515bd184a24bdb44a373e5f25ed3db1b6ecbc970fe0bc9079633d9b6f3c3d91e3a5bcd979a6bcd3c4efbc94bb25bcca2180bc29b82cbb5b75e0bcd244b6bc438819bb8208653b0ccd81bd550d70bdcf59adba7e8bf53af2d098bd194692bd75e11ebb4506c13a851d9bbd3e5495bd758d6abbdf4678bb41f75fbd169856bd4d62e6bb79aa463bc6754cbd4bec49bd4f9c01bb27efa33bede7f1bcb821eabc3efda33acfb40c3c71ee53bc7c4a5fbc4ad4e43bb6a5003c12dce13a2814173b6d89bc3bed55c9bdce98273f7bc1273fee77cabd30ebdfbdb6dd243f3cfe253f11d6dabdd2f1aabdd912103f823e113f3628a1bd74b390bd9465f23e37cff53edfbd86bdc94528bd600eb03ee828b43e199e16bd7a0242bd280b833e37f9873e19952dbd6bee0fbd4d51143e9a6e1d3e043f07bd72ecd5bc06ef473dab18693dcefcccbcb3aca5bc0cb5a9bc14386cbc9c71a7bc86eb01bb09e384bc6bf513bdd4250cbb66bbc03bb98b36bd0b0cabbd4015033b1ca4fe3bcc9d6fbd26a9c8bdc121c1ba03adbc3bf86e6fbdbd90bdbd5b4970bba450443bdbc758bd7c1c9cbdc18bbdbbafafd03ba2e721bdf9a26bbdb227ebb95818f53b2b61dfbce9e314bd15e7793b964d043cb4543dbc66db72bc05cf083cbd31e23b98cea63a98f4f63af521013c38689cbd0151e53e25c15c3fbd63f5bd5a50b0bd2382df3ef4a35c3ffeb70bbea02591bd44c5c83e9d14423fadccd4bd79ba67bd21e8a83ee6781e3fec869ebd01a63cbdea1f853ea09df23e62ad64bdffdb1fbd06133a3eda1da83e24533cbd90f4f7bc234cd93dffb13f3eb59715bdc406a3bc95d3163d99c9863d75c0e6bccf1177bc04447bbcb5c9bebc6644b1bcbbe1bb3a1d15b4bbcf395ebd2a68943bcaa4223cacfcdbbc0ee2e5bdfd2cfc3ba63a053cf08d1bbdb1cdefbdd7811ebbc324053c1cab2abdfefee5bd0a87babb3ab5ab3b72231abd2742afbd35580fbcba18d93b38fefdbc90c689bdbb3a60bbb8cce83bb69daebcfa9f24bd83b4b53a4fcadc3bdd6820bc17a68bbc1a390b3c85cb9c3b832b613a4c9b643b77d1243cf3e954bdced57a3e7598873f523512be894664bd17e66a3ee9a5873f58821ebef8ff33bd72a85e3e5f39663f9942cdbdfa6622bd588a423ea556403f20baa4bdf10efebc6ae81c3edef90d3fa3694abd610fd9bc4c38e33d0c55c53e90a231bd22e9a2bc59f2853d87325e3e83c203bdf44621bc2f6ebf3cdfc2753d7370a4bc9252c0bb80e732bc5b7d2cbd1e9b87bc66f85d3b269f06b9ce90b5bdf9b31e3c0ca75a3cc7ff8fbb3b0713bec0b8793c1426633c94b5acbc3d8219bedd5ce7bade3d443c9f48e2bc775307be355d1ebcd323233c53bce5bc28e1d3bdd83761bc5123153c8269bfbc79949cbd580cf2bbbdd5ff3bb8127abc43a842bdddb1863a658e893b2cfcdfbbc0258dbc7308153c2f82e93aba84153b4f29d63b190c143c482bb7bcc0754c3d96c9a23f145b15bef501b2bc54b00e3dfd8e9b3fc0e81cbe4a7cb5bcc51c703d0b7d863f9799c7bd1932aabce45e823d1e3b583fce4d74bd8ebe8dbc988b753de398203f2caf0cbd62bc71bcb795393d501ad93e6c57d8bc44860ebc803bdc3c8430653ec15791bc769eea3a64554a3c6d463d3d9524c2bbe771d83aef4f50bc4dcc97bdf33738bc000000000000000000000000000000005488373ced2cdcbb1b6418bef74b51ba13e0413c0b8870bcf07f0dbed1034dbc7879203c8418bdbc1081f2bd3e87b4bca511dd3b207eb5bc466dc2bdcdf9aebc3866e03be6318cbc07598ebde6fa95bc9738aa3ba34924bcb05630bdb38205bc32f0153bcee229bbd5598cbc4adc503a0000000000000000000000000000000000000000000000000000803f00000000d897123b37e1a1bd4879a33f58e499bdc5f48bba7c232ebd5e68873f6da70ebdc09032bbcc2494bc546f5a3f389610bc116344bbcb07f9bb9b52243f660acc3a48e114bb493ddebbec3fdf3e45cd093b5a85d8398e34dfbb307a733e18dc73b9ce5f813b7f6634bce68f4a3d6c23cbbb000000000000000000000000000000000000000000000000000000000000000060268abce854e3bd727bb9bc98f4083c01aebbbc1c62d5bdc1abdebc4bc6843b8878f9bc5025c1bd995ffebcba705bba9d97eabc8edc9fbd47d1ebbcdc9d22bb9173a5bc110b77bda5cdb4bc67ffdeb88d4413bc8e6629bdb0a26dbc39172f3be4153f3b8f09a6bc2d7fbcbb61a0883b00000000000000000000000000000000000000000000803f0000000000000000719117bd159f993fbb0c0bbde8e7d9bbb0eb51bc0ff47e3f0fc2e0bb1029f0baf1c88c3b759e4e3f788b3a3c324b6c3b8f03823b8ac61d3f628d653cd454773ba9b4d1bb5936dd3ee5ff043c07f674b982ad69bcf1ce803e3704cbbaa975233ad904ccbc59119f3d33f664bc688bc1ba000000000000000000000000000000004378a5bb3eda83bd6e3933bca6eb5c3b1e72dd3afd98dfbd00649fbcdc93293c11e25bbc8082eabdeb3206bdc7208b3bbb19a5bc04cad2bda2c30abdeee6573a9407a4bc6ff6a7bdce5806bdce3418bb369d24bcd3a685bdebd9d6bcc75f4e3ad90070bab25f30bd831d8ebcf40f793b0565183cb8f0aabc1c000dbc4605883b3a86383c468c393a1731f5392a96933b12fdc4bd0c37993f7b26b83deeb008bd0405e1bd50dc913f81dfa03d3cd708bd7dd379bda7c1783f0720c93d33cdaebc5b0f17bd7c43483ffc36c43d3c2277bc1fdbc7bca41a163fbf55ac3db0cb14bc33d1f8bca16cd13ebcd2743d27e12cbc1d9207bdc3746f3ec76f063d080e0abc9c22e0bc9605923dd8a5483c6a2dec3964e5e0bc14864fbd6c0f89bc360392bb4e7cb5bbe22c23bd05d406bc2414a4ba3e22adbb7b31afbd9eeaf2bcb6a13bbac9e37fbc5229b4bd14c725bdffb3bbbb1e966cbcdbbbb6bd944a34bdf995e9bb065b88bcad808fbd64701ebdf719ebbb1ff9d0bbaf0f6ebdb40e04bd5b5e62bbce3dc5bafb7a15bd8e94adbc4f245aba0100133ce64d97bc092b31bcdb57863b7df50c3c50ddd03ab636c93a9f2e963b7d2bcfbd424f803f8f02883eda5a54bdfab0e2bd24247d3f5b01833e7eab53bd0aa677bd78b2513f16227a3e594ce7bc9ba159bd2ec4303f38795a3e177fd0bcef8e1abd22e1033f2ef92d3eac7883bc4be82cbd8cf6bb3ee988fe3d41259ebcfc781abd597f5b3ec2f6983d2aa38bbcff0e13bd331c993d8f0fef3c134e6abce01cdebc397bf1bc13ce15bcad1634bcc86634bcc314ebbc5e1147bc272d0cbc937e00bc7f6e87bd451f1cbdb920ffbb934a3cbc7efea1bd66ad55bd33822fbc344147bcc81c97bdd61758bdcd0750bcfd463ebc41f182bd260542bd8d2257bcb1e289bbb13745bd24c11bbd638cfbbbb8c0363baf9708bd1d8cd4bc067b2ebaddce0a3c23a660bc5b4658bc8fc5763be98f0c3c0059913ad862ba3ac827a13b312faebd3a06523f821ce73e7ca07ebd69dcccbded494e3fde24e23e037987bd355194bd33a0333f9ab1cb3e972234bd7ca864bd476e123f4239ab3edba600bd1bed39bd5337e03ec7bf883ed10ebfbc954d3dbdff249d3eba90443eff26cabc836437bde453383e6e84f03d1a50cabc244720bd891f883db5a6423dbd70bdbcd50af2bc94f1adbc76961bbc92ecaabcc1d32dbca018a6bcfb3889bcc31845bc87e4f2bb29fe52bd6b6245bd1b9864bca6a414bc66c57abd4e5079bdbc8c93bc16d016bc6c6f81bd4e7180bdc26b9cbcb69e5abcb89744bdf71947bddcafa1bc04f948bb128c2dbd9d8834bd2b2043bc421d0d3ba5a2d9bc0777e2bc2eaea7bb67f5e83b514d4abc6f5453bc4eaf213bf1b1fd3b56549b3a3496cf3a3802be3b456f95bdcf7d223f23bc223fd05f95bd9d4aaabd5e231e3faab31f3f552499bd6dee6bbd37c8083f93a70b3f6d673cbd201f53bd0f53e53e1411ec3e570c0ebd06b4f1bcd889a93e9e50af3e70f66abca79433bd04bd7a3e8174843e2351dcbcce5f1ebd38b5113e5e5e1e3ed712e7bcebc310bd12395a3d4343823ded0be9bca4edd8bc360a8ebc5a053dbc57ccd3bc303bd1bb69778dbcaec5c5bcad183cbc4eaeadb9101e29bd654981bda65880bc43123dbadf9057bdf08aa0bde1b3a7bcc99fe9bafa6a54bddc2d98bd5586babca5f251bbbb0c3ebd9a2984bdab15b2bc4987083b1a9b13bd06da4cbd5a5e70bc4343c33b1f4bc2bcb50409bdfddd9dbb9385ff3bfa8737bc0cce7ebc808c543b535bc93b18bf7a3ac6fdfc3a76d1cd3b52ef82bda6f4e63e5754523f8aa4acbd3a1396bd04c2de3e0ec34f3f1466b8bdfe706dbd3bbcc53e96c9353fe97769bd1ef23dbd76c1a43e5b27153f1ccb18bd4dbc23bd99c5803e976fe63ef928d5bcd80420bdb6dc353ecd06a43ed642e6bca15b19bd8a52d13dc1e8433eef67f3bc7ddde6bc76c0153d83ff9b3d2ffaf8bc2c14a5bcde0b82bc92ed81bc7026e2bc413dcc3abd6f47bccedd12bd0e8c00bcc756043c80b402bd5130abbdd81f58bcf230423b8bfc25bd1d3fb3bddeb1bfbcefb2963b38f42dbd80bab9bd0dcdcdbc2e24053805b717bda2778fbd4e7ac8bcc57ac73bd23cefbccbf271bd7cd289bc484baf3bd4faa1bc49bc19bd25dd04bc74a8dd3b516f26bc59ce90bcbbed5d3b0130c83bfa518a39a97f8f3a93ae0f3caf8959bd20c3863e8e7b803f3311cbbdf1146fbd6a4b803e58467e3f6ed4d1bdef0820bde5c46f3e0c31533f2fd13bbdef2526bd7e504b3e753f333ff31f0cbd8370f3bc9e8d1f3e3125063f3b2c8ebc4a8a04bdaf9cde3dcc34c03ed08bbebc9c62d3bc905b803d5869643ebd4dcbbce81788bc78bfa13c09a0a63d7443e5bce46037bc25bf80bc2aa0c5bc1615d0bcaa42e63bf4cd5abc19db7fbd4b62f3bba55d9b3ca538a1bc6fbadcbdb57007bca04c7a3c50ffebbc0fddeebd8c6bcebcf61a543c46a803bd2e09d9bdf93cf3bca53cfb3b39e8f2bc9871acbdd725f2bce317233c1a49b7bc089f88bdf04ea9bc66cd1e3c527b6cbc017a37bd022b0abc412dc03bf3feedbbee6caebccc7aa73b86787b3bb7f6bc3a4f01903a6f18183c5a710cbd29a3b63d7271993f0fcbc2bd433220bd2ca3903d6470923f13b9cbbd9b0905bdb8e0af3d54577a3f367232bd9370ddbc9c1eaa3dc49f493f24c582bc7e8db4bcf1c48e3d5c9f173f324b86bb37b8b4bc1090393d2e08d53e79411cbc4a2983bc954ba83c2dc1743ed34a89bc0dfe92bae4b7563b513e9d3da1cda0bc7aa523bbf99ea3bcdf2e43bd7441d4bc00000000000000000000000000000000884c833ce949b7bc9848e6bd6168b6bc78034c3ca1e2cebcdec2dbbd989df6bcb292c23b5e49e1bc46c3c5bd78a415bdc3bc943b74a6c8bce86ba4bd4e890cbdaf0fc53b562ba3bc150680bd649adcbc154dda3bdf583ebc81812bbd7dff6cbca2b7cf3befb768bbe374a7bcac88dfba0000000000000000000000000000000000000000000000000000803f000000003c664ebcf8a022bd2cf1993f1dfee2bc308c24bc03eb80bcccc97f3fbcac2a3b9fb7fabbe7ae30bae2904f3fad40ae3c027c01bc1286933a848c1e3f065fb33ccfe40bbc9c738ebba473de3e9490453cc2bcbabb12ae39bce453823e7ed9dcb9aea92ebbcba9adbc01ffa03d91fb81bc0000000000000000000000000000000000000000000000000000000000000000f64611bd21415cbdd838e8bcf7d64fbc6a6909bd0d6a5ebd6e58fdbc6db98abc549d10bd2f5c52bd030e03bdf152a2bc1e35fabcf64733bd54cedcbca89e99bc742cc1bcb5da0fbde597b9bcec8160bcbcef75bc9d31b8bc226760bc78eed3bb12c2c0bbf70b24bc8c79a0bba94812b700000000000000000000000000000000000000000000803f000000000000000024eb9d3c701b873f57d3953c52078c3c158bcf3cbb53623f8ebbdf3c3e8dc03cc68bd23cb189393fcb8d033d6051dc3c4574813c48780f3f8d59cf3c0223b03c22a3373b9621d03e57e94f3c1d243d3c330157bc9628803ed1e290ba06a0a33af2dbedbce5b3cb3d0f8b89bc321f21bc000000000000000000000000000000006bbdbfbc7fe0e7bcbb477ebc78fd0dbc95d9eebce2994fbd9a34cdbcce894cbc21cc0fbd1aa863bd4ecd07bd075b9fbc5bcd0abd43ba53bdca1e09bd96a4aabc14bb00bd73dd31bd74a6ebbc633b9fbc6579b9bc5db509bdf4bbb8bcb60b66bc8b5959bc79bdabbcf7805abc48bbeabbb691a1bb7e4403bc50e83dbb120aec3a71d5813a7b854b3be24f3e3b89b9803bde7c39bcd9a7853f1cad063e6c5ae6bb0ba40abcc0ab773fd6de013e351456b80972363c4694513f8e42043ef06e923c4ae72d3ca2bf2a3f5a95e73dc689983c2448fb3bf071023fb009bb3d3127913c71e91abc74b6bb3e8a267b3d2fb8cb3bca45cbbce307653e784efa3cc2fd8dbb73330ebd590db73d8322043b0f7949bcff6f04bd40ebd1bc41f89fbcc6808ebc3451a0bcc9c38dbca37e2abc3ce732bc2712f7bc40f126bdd446ddbc5801a0bcab8305bdd0fd34bd579c04bdc037c9bc8f3002bd8af642bd633712bde4d9cfbc4fbfe8bccd701abd7efdf5bc9c2ebabc39f4acbc98cef6bc297dc2bc3bf28dbc26f364bc29479bbcaf1a75bc0df239bccb5babbb2289cebbd7b586bbde4101bb9abd863ac71d833b6d5b773bb8e23a3b1ea0a3bcba4b623f2a7d8b3e73eb6dbc667f5bbc2bdc553f136d873e577ac3ba5242d83b4a26313f3fd7743e9803863ca08b713b5da9153f8d11543e4c58853cda80ea3ab312e23e324e253e728b803c143e7cbcc4c6a43e4d3ceb3d2d6f2f3b597ea7bc0d804a3ef1b18c3d7cdca4bb2d2913bd395ba73dc05aaf3cbc6f8ebc6aceefbcc34f85bc6a8c63bcf79396bc73829fbc0f3b71bc1a4633bc1ddb86bcb935e7bcb2ca0dbd4fd0e6bc327dc6bc939ff9bc13a132bdfe9f18bd81a8eabc8018f3bceb8b2bbd64c216bd166ce7bcf516dfbcf48615bd5f8206bd003cd6bcf8fc96bc1f3cdfbc77c4cbbceba9a2bc503b3abcc05388bc65726bbc55f845bcf01678bb79ea94bbfc8682bb8ed597bb31e48f3a17c1833b4eba6b3be5f2d139628990bce91c3b3f9c7bda3ef18f37bce64959bc64b5303fe790d03e2b7c41bbdfa9deb90cd1173f248ab83e3d0e813c9de3dfb9f5def93ec9a19a3e4d077c3ceb0c26bb1813c03e54cc713e3a71733cb62a96bce8c7893ed1c72d3e0764ea3a75edeebcb5dc273ea3edcf3da8a733bc61c814bdb5fc8a3db870233d9c5aabbc5f94ebbc17856cbc3a2f43bc471cafbc7cef90bcc8675fbc07c640bc12578abc25cdc9bca711fbbc1a0ef6bcb7abeebc49aeefbcb8e215bd1a6219bdf2b100bdf2d3e1bce7861abd29851ebdff8a0bbdd2b3c7bccb7001bd16f002bd27c4d9bcbc448abcb33fcdbcc089dabc04edbdbc79191dbc05b26ebc785181bcfe397bbcc09919bb1de384bbc060a4bb532ef0bb372e0a3b6abd9d3b17f48e3b2723f5b7d9a170bcaba8133f85e2133f17fc44bc845231bc2a280b3f68590c3ff19306bbbf25713a9b7def3edcc7f23e875d833c9ca7b1baa105c83e9561cc3e5acf953c18e50cb9cd64973e6f209b3e7df0823cd5fd8bbc08745c3e1953653eefaa5d3a5badd3bc02f7043e95560c3e9a8523bc9f4506bdb085543df0016b3daf66b6bc6caae4bcdc6a73bc865f47bcb8a5c5bc6fda60bc8e7952bcb9bb70bcbb0e9fbce0b69fbc75ebe9bc680912bd3f87f5bc2adabdbc643b17bd323034bd2a0c0ebd426cb5bc783c12bd4f0035bd11e709bd75bdb0bc10c001bd909c16bd9bbbfabcf49a59bcaee9bcbc57a9e8bc4ae1cabc07b1d9bbaed95fbc55938fbc3c9c89bc43ef9dba36433fbb1fdfa1bbdcf7f6bb27d9473b4da18b3b798c6c3bf4dfd6bad9b964bc0e7bd93e81013b3f317359bcb29249bcf067cd3ea0b7313fb84f47bb7a986aba592eb43e6e95193f41358a3cc7dc22bba0a7953e6676fd3e80069b3cba18b6bb47ee683e7237c33e44f4863c066297bc4e1f233ebdbe8e3e34e0bb3a8642dfbcd04cbf3dc9572f3e91db3ebcd10501bd1cea073da99c953d02a3c7bcae53c8bc3c9f7bbcb0a944bcc008cabcce4500bcd6834ebc59728bbcd70c99bc57005fbce2f4e8bcc1a327bd243a05bd488197bcb45c02bdd8843abd831e0cbdf2ae92bc2f7f0abd395046bd8ec617bd035590bc6a6deabc20e61cbde8d3febc751524bc6144b0bc3ca601bddd09d9bc26ebccbb51415fbc990da0bcdb9793bc82893c3bd8b272bb6ee8e6bb9de816bc26218c3bb205833bbfbf613bc7f59bba082591bc71918b3e24bb623f28ad95bcef0b47bcafaf843ecbc7563fef7731bb650dbb39aa2a6c3ec769323fdc92a63c69e022bb0db2483e0efb163fa2c4b53c7ee380bb4c82193eaebee53e21d59d3c31538abc4ffdd43df1a8a73ea62a7a3ba0db9fbc9977753d586c503ead3fe3bb13f1d7bc9e10753c9e0fad3d58f6c0bcc56aa0bc9d3886bc8a5b65bcb6f3c6bc00d2b6bb005191bc9637eabca8afbabc77bd3cbb4e81cfbc70bf51bdfebe0dbd5baf27bc93e305bd17ed69bdfa871fbdb13d53bcda2b02bdf1d65abdb9a91ebd397762bc039ce0bc8c922fbd29c60ebdff56e7bb95a497bc617818bdafd8e5bcda3dbeb9d3c330bcf4eab3bc2da898bc20a0a33b6a9c0bbba7981dbc608e0bbcf2c9bc3b80ce6d3bf29c443b5750a9ba5c5b14bc4153063e20b9853fe70507bc1e5636bc89bcf83d038a783f624e233b4b15fa39d91df43d607c523f51beda3ca50b49b8bb83d23dc6092c3f8ab1f63cf355c8ba6fa8a33dce33033fc9e5cb3ce0e742bc0cb74b3d431ebf3ef2a8273c2e1bacbc62c29b3c2b18693e310ff5bb110da7bcfe4c8dbbc5f9be3d4925b2bc08ab9abc2d04b8bcc902c4bc34b0dfbc00000000000000000000000000000000bd9600bce4e5efbc36cb62bd8d090dbd41e72fbcc2bef2bc2a0361bd1d8f14bd7f8063bc09c1f7bce17653bd070b17bdcba368bc1c0fdcbcf0d92fbd31b903bd4f0ff4bbed7da1bcaeb00bbd8ac8e6bc708facbacc553ebcdfafbabcc60099bc67e2a23bc2823fbb4f5b29bc86b421bc0000000000000000000000000000000000000000000000000000803f000000008708da3bd323493c043d873fd1c0e83c40f2243cdccd9f3c84b0623fc381163d0312133cf916ae3cc4ce393f78141c3d246e923b80157a3c7215103feb67f93cdf6f96bb9c81983a74c4cf3e733b833cb39650bc931c12bc1e4b813ebf568cba6274a4bc8f16bdbcdd9ecb3d4e4b94bc00000000000000000000000000000000000000000000000000000000000000007953813c9ef633be79a1813cfa68ad3b0e457d3ae74b24be323a8b3ba9e5cf3bce285abc794812bedc88f5bb4c04ec3b2e656abc7cf3e7bd6ce221bc510e633b283e50bc1ea1a0bd63413dbceae9823be5070bbca37534bdca57fdbb28a8ec3a55c242bb1ef807bc0d425bbb3a2ae93a00000000000000000000000000000000000000000000803f0000000000000000ca68f3bd8312ac3fbc4501bec41f343c3b2a93bd19998d3f7f8f97bd3bc5793bb2fb21bd0df1673fd82d2ebdc1b086b8af56a1bcabe82b3fba259fbc154e32ba3fef52bb3abbde3ebbc45abb2f9893397fa34b3ce67f5b3e61833a3c61fc5d3ac2eda13cc22db83b9e8c6c3cb81c103a0000000000000000000000000000000053a4da3c0b37ddbdd5d2593c05bc4a3b52f90c3d37401cbe759d543c7a63a13b12ba813cc2702cbe098e70bbdf2b1f3c7c5bb23bce091bbe6c6542bcc568233c74ea72bb0e4cf0bdbe119cbcacde023c065254bbd87daabd1d1d83bc68a4a63b40ee2bbb9bce3abdbbdb42bcc436983b7bec1fbb87b25fbce9f1fdbbb7fcb63a2b1fbd3b69d4383c3d6faf396bab343b37ee4bbe82b7aa3f2b80283ca4ba66bcad2541beb6fc9b3f21cc6b3c208634bcb32015be035b8c3f9f73023d64aeb2bc6820d5bd10ff633fcaca323d68b8b5bccd8e84bd1556283f4e87573d5a6b83bc1757f6bc48ced83ed33f543daf3b5fbc4a0afc3923024d3e2a333f3ddf1b18bc13cf013d2bba9f3c40c6343d2c8ff2bb87ee993c9e3ae9bd1e90113c4961dd3a4dbeb63c042b8abd3ab0e93a2c2ab73bda0de03c18d505beb1c378bcf792483c373f8f3cc19810be4be1edbcc9b15a3c4976283cbc0907be27d30dbd5b25523c24f12e3bff2dd0bd703f04bdcf1aa63bab85583bc8309bbdaecce1bc5cbdf93b53549b3ba96e30bd7f3c99bc4c11ed3b65f9703b04e568bcc8f6ebbb0f4f823b91a9e33bc56daa3b5b1c063bb8ce673bdca64bbe6ad18d3fd821683ef62e75bd943552bec1008d3fc045583e59097ebdd9da26be9f74783f67334f3e6b976dbd565d00be8e4c4b3f59993a3e334541bd1f139fbd44e7143f1f58203e72fb10bd873b42bd9865c43e71d0f53db69ed8bc89ff7abc389d3f3e7241a03dd0696abc6d1b343c77d7df3ce584223d455daabbcefe863cd4ea94bddd7481b902e7b73a4ee2633c82a849bdbc4391bcc0552c3cb10fc63ceb2dcebd56f935bd08b5a53c77f7943cf010ebbd4c7a70bdca678f3c120d243c88e2d8bd01936cbda0634b3c2851d93b1d12b7bd279957bd0aad1f3ca3c9b83b7bea80bd78af24bd3aa60b3ce4e4b93b45ac21bd14e5bbbc7c24eb3b2916da3bbf3176bcbad515bce7d9aa3b49dc1a3c9975d63afbab8f3b1968cc3bbb333bbe854a6c3f42dfe93e55dde4bd6edd46be814e673fe594e23e3495ebbd185a21bea6414d3f609cce3e118ccdbdea42f2bd3f99273fb2d8af3e918a9dbd8705acbd9f35fc3e0a208d3ecc2a71bd1df94ebdeaafa43ee73f473e8ba11bbd032dadbcad27293e191ae93d5f359cbccfad9d3bb5bf093d44d01d3d4e251cbb1953af3b847154bdd569a5bc1024113b4609273cb5f607bd73b410bdc3e4843cd4d3973ce7268dbd427799bd6968b93cd83a403cef49a7bddec7afbd6766733c07fc2f3c904ba7bd85b4adbdc95d5d3cf5682d389e1082bd73737ebdb2b7dd3a4c56d23b9cbf57bd117f58bde66cc63b6e25913b2946f8bc6452efbc5cc0c43b7832c23b0c9169bcaff41ebcb356bd3b09bee73bdd101d3b3d0ca93bb221043c3fbf1cbe7733323f05e0313fb0031ebecf0922beb00b2d3f47112e3f2bdd23beb598ffbd0803193fe19e1b3f63db02be1854d0bd4562ff3e3260023f71a3d6bd791682bdd076bc3e5b45c23eb74e76bdae6f3ebdf8e1843e98ce883eed0642bdbe74afbc9a250d3efe03103e09bba8bccd66f537d41f253da0c10b3de71c0e3bf45a423b529805bd7d7720bdaefe783b7424e73bb9d173bcf8555abd4a599b3c20db733cc5b928bd4c1cd8bda967e83cadee5c3cbab164bd620defbd92b9a63c3fe1313cfa136cbd9eaadabddf523d3c83070b3c317b58bd81e6b6bdd11ac93b2e27bc3be59428bd447181bdc923d43bb330c63b53b6e5bc5e250cbd9defb63bb970913bed9757bc615120bce995c43b4bd5be3b3431693a346fb23b41a11d3c3490dbbd84b1e93e16b96b3f13fa3dbec9b5e0bd5761e03e70ab683f819849bee750bebdf5e9c93edb214f3f2c0425be81df97bdf4d0a93e431d2a3f6ebbf4bd47e261bd42bf863e368b003f1f62a9bd073110bd688c3c3eb3c1a83ee84146bddbb291bcadf1e63dd4b0283ec8109ebc6d9191ba422d2c3d062cf03c6e03bf3b57794d3b9cff8dbcc48f68bde7bdc73bf5bb8a3b18a0383bdcb691bdbecbde3c68b8083cff1a63bc8e5408beb0fc033dab97293cbbb5debc6d5313becc0a9b3cae7a063c47090cbd237105be5b8f5d3ca58ab13bd1300dbd1780cebd8b2a9b3ab836c43bb0dcf8bc0c8a96bdac31833b637c3e3b17abaabc0e0d1ebdacb7a83b7bae7f3b6c5a50bcaa8638bc3fbf913b8f7a443b688414bba91c153c53deef3b064173bd1711693eafc78d3f0adf4ebe0d6169bd4ea2553eaa3c8d3ff1b154be4e4c56bd5d2c4a3ecfa4793f13cf28bedfb02dbd1795313e2d694c3f6fe7fdbd10a3fbbcb262183e4414163f1b6999bd196eb3bc9989e93d87c3c53eebc439bd90fe24bc76b19f3d42e63e3e91467dbc1f0568bb0c2c363dde4bb13c690b5f3c3b9a2d3b83ed853b8b72a1bde1a8853c3f8fb73a48da703cc363e2bdc5ff013d53f3cd3ac7964f3c972a1fbeccec1e3d67610b3cdc96c4bb1d382dbe32a6983cd22f103ca9fc78bc36b01abeaac3083c3255c03b9d49a7bc5f93edbd70736fbb8b03773bff2e9bbc3426abbd252dbaba10512b3b688c7cbcd1b837bdca6828bac454183abdc34abced2825bc166041bbf833543a4d17c4b909ca593c0217db3b20af5ebcaaca433ce661aa3f208e4fbebd5eeabb5d806e3c122b9c3f5c4843bee6617ebc2266f93c1f638c3f32a215be2b6b6dbc09572b3db0a7633fa58fd0bd1f7837bc24be443d416f283f17f56bbd4db3c5bbd0e7453dd63bd93e2e16dabc270180bbebb6443d18314b3e5fa4ac3a940b92bb24aa433d37c8663c4f870b3da667053b6b29453c429bf5bd54cd9e3c00000000000000000000000000000000880ab53bf33e4c3cb05034be605d9b3c3de9e93b4901ee3a096b23bef8b4e5382990ba3bd16124bce55d0ebe43de71bc1277953b188e5ebcdc21e5bd24da8fbc6dd0853af25839bc3d899bbdb2f878bcd3373f3ae1242cbccef72abd90060fbc260d2ab9816ea5bb427a0dbcc1690ebb0000000000000000000000000000000000000000000000000000803f0000000090497d3c9c1bffbd75c5ab3ffb54f8bd8d5c033c6e5a9bbde9648d3f783088bd4611063ba5513cbd5572673f51e702bdf6998d3b4a71d1bcafcd2b3f976613bc93389a3ba58dc5bb4759dd3e2044503b0f2eb33bc3ea0f3c639d5a3e270c8e3cc8a9c23b01b4893cd26b043b23fea23c000000000000000000000000000000000000000000000000000000000000000087c68c3c44ba1fbe99b511bb12c42c3c16d98f3bface0abeb4885cbc9ec88a3b51b037bc732eefbd8295c8bc42ce0bbb60374bbc5e1cbcbdb241c2bc7187cebb965506bc39aa86bd4d9792bcbda100bc3e3ba1bbfcd61ebd53f746bce0f8d7bbf28a1d3a966645bc46c05abb159b71bb00000000000000000000000000000000000000000000803f00000000000000006413ecbde5eba83fc9e3d2bdab2cc4bad78d98bdb5a9893fc0914bbd6f6b4a3b7b1627bd35b75d3f24d017bca54ddf3b089bd8bcba3f243f44cb983b5a8d6e3c491e8dbc7225d83ecc0e133c2b0c8c3cb019a3bb28255e3e7f296e3cc1e7af3c006ead3bdcc18f3c96e9063cb1c7923c00000000000000000000000000000000d4e8e03c3c6ad1bd0a9e743b3e800c3c7d7a363d6ca818be7f0957ba9f9e113cd94ab53ccbcb18bec2e5a9bc09c2cc3b81330d3c5ac200be8374f4bc150f833abb8511bab289c3bd0db7f8bc3bf2c8bb1cd79d38156591bd9b60bdbc37acc3bb6878e93a75a02bbdfed75abc5e9ecfbb60580fbb8ada64bc2e9cdbbb8988b3bb75806e3b9db7f03b392c833b69cb1539ed113ebe3537a83f0d0de13c6bf4dbbc3cf650be467a9d3fe0939f3c5ba473bc84bc14bef130883fc9f56a3dde8b9dbc1968d3bdc989583f0fc09a3d252833bc739089bdfaff1d3ffc13a13d0542633be67929bde560cf3ee5ff813dee55123c9a8c49bcbd52473e9d6c443d41045b3c1750e63c7cb77f3c1cde143de0da703c026d8c3c6456d7bdebd189ba430cf43be71cd63cbeda8bbd15b4dabbb246253c26870c3dc405fcbdc59be7bc2d71463c73859e3c6135f8bdbcf029bd3a056d3bc996503c980bdfbdf5393fbdcd2385ba50f6303b747aa5bde1a529bdf58d1abc98b2903b28167fbd3d5809bdd0ced2bb5437743b033910bd20fcb3bc75b480bb0a1d0b3ba01a53bcca450dbc529e3cbb410e623b4fc49e3be1ac013b2bc0013b69f040be978e8c3f02bb743e71028abdbf6951be40f78a3f9fd6693e18517bbde3f41bbe7e8d6c3fc1966b3e3e7641bd17b5f7bdd0e43f3f4011543e0aacfebc6e1b9fbdae9f0a3f51cc333e76a842bcef0963bdf62fb93ebdb7043e1cd792ba4bedcfbc4274383e1481a53d1a47d23b969b233c6233bb3cd2da093d5c494d3cd10d8e3c66188fbdeacd00bcea47d53be1ce8f3c23c954bd2ae4babcb6ad403cdfa2f33ce918c4bd1e854fbdce5b7d3c6078b83cd8cbd0bdd45984bd9d96ad3bc7f15c3c7c00bbbd4c0480bd54042ebbac6a053c8c9994bdcb4c68bdc88e13bcd4c7c53bed6d5bbd770c2abdb9fcfdbbcb12b83b6b2305bd7426dcbcf364adbb9875a43bdcf458bc28df34bc818d99bae115973b6e96383b95cd173bf077a83b76832dbedb89683f1117ee3e8f4bdfbd19f140be730c633faa3fe73e7fdcddbddb8a1dbe4fdb443f33b7d43e3379a2bd849cefbd1aa31d3f370bb63e9b764abd46b7adbd0d98ea3e6c37923e2deae7bceca95ebdb12f9a3e2e594c3e07192fbcb32adebc5de81c3ed6e5eb3dbe3a0b3b80c8a73ba063da3caa43163d39e0423c3d50e93b3e6057bdd981b9bc2e7d923b1b366f3c611d16bdf4df12bd810c5e3c3ba5d13c26868dbdb5f29abd578f7c3cdc12893c16f797bdaa4eabbd199af939b2b1793cab4f93bda5daa6bd3c7dd7bb04347b3ae15759bd667f74bdc55199bc94d7fe3ba0f234bd570050bd9d031abcecdfae3becf5d4bc3ff4f7bc9a15a7bbc8a78f3bc2d936bc9e1a53bc9fa9033a13124f3b2cc60a3be40f223b49a3e33b83fb11be38bf303f7394303f4c6e14bee37e22bed4a32a3f14da2d3f34e412bed617febd3b58133f0af6193f4f9ac6bd3842d5bdf628f23ebcbc013f9c8e8abd884881bd0f42af3eb3d9bf3e1e61c1bc5c8d5abd4b94723ec21c893e6e0194bcbc75d1bcb341f83db611153e855662ba5364b33a0c86de3c1524203d881f3a3c67e7f63bc68c18bd870711bded8ef43a7eb03f3c0f41bcbc121052bd87eb823c9058bd3c7b983dbdd240ccbd8fb7a33c7915b03c67435dbd64e8ddbd6cd4433b7f9b733c62245bbd63cdc6bdce230dbcd7a53e3c22a936bda282a5bdd73b7abce74f093c7f0311bd4e2a72bd0c6c41bc13179f3b4af4b1bcc51316bd4f689cbb6923213b4ae311bc7e1a7bbcb78022b90d30333be6b1eb3a5446b43a200c193c1335dabdfd10ee3ec731683f4c602ebe47f0f2bd19efe03efeb2653f679233be113bd2bd0c6fc63e01344a3fc1b8f8bd520ca6bdf2c4a23ee6d8243f53d59abd0a9086bd1bc3793e5cbcfa3e688d22bdfd2a28bd356a2b3edf3ea83e20c19cbc71f79abc874dba3da889313e3b1887b802153d3b41d5d23c0f071b3d1ad06f3c8d37f03b0dcec5bcb2ca4fbdde0a2c3bad111d3ce486b8bbadea8cbd6107d03c9ab8943c4f51aebcbcdb01bec794bf3c44ac953c288305bd1a1c01be39da8cbaaa908d3c56ca14bda3b2ecbd04432bbce6a8033c661100bde0a6b3bdc0809fbc5e4f0a3cf4dedbbc3ab98abde2d159bcbbd7843b2ca588bc3be322bd3edcd2bbfee7553a765cd3bbc3b27bbcbfaf9cba40f1ce39c8fd903aac4e1c3be362fe3ba2e084bdae19773edf458c3f650d44bea2db90bdf62c5c3ef1e68b3f085040be61d289bdbec3503e1bdd6f3f2fbcefbd86e771bda41d303efa98453f92839dbd6e072abd8bc40d3e5394103f3b62f7bc7971e2bcfacec63db952c33efe3250bcda9b3fbca2a5683d701b483e3236543b5026823bd21abe3c9e0dfc3c72a7a93cc0e7f23b8da6d9bb28118cbdcb61563cd54f183cfc1e943b55a0d3bd118bd43c95936c3cce068c3b52071abe159e053dafd9a03cc1bc55bcc7ba19be7c175ab9910c8a3c208a96bcf79a06be47c576bcf2232f3c1517a3bcd3c4c8bd71ccd5bc2a03e73bd5e68cbcd55b96bd4ee597bcc151833b78be38bc318134bd58c138bc3b5a11bb0ee3bdbb615875bc6928c1bb5a28bcbaedef9e3a095ef13b7018ca3b0d84ccbceeeced3cdb01a83fc10d3fbe2300b2bc286be63bd4c99d3f16143ebefcc918bd928e0d3dbbfa883f9a7adcbdc8420cbdf285313dcdbb5b3fc7c063bd9e30debce9692d3d117b213f54d14ebc1e2c57bc82ae0b3d7202d53eb6ae793beee359bb3c8bf13c48bb4f3ee46e943ce3ceeb3b106ede3c516ca43c49fc223ddf96433cb9ccc139b627d5bd76bd403c0000000000000000000000000000000057b58e3c723a8e3ba49a20be6096353b02a8883cea8b99bb64270dbe878a94bcf540523c1fbe67bcb0cbf3bd35010cbdf0de0f3c3d0473bc7ed1c2bd5f6111bd6716a33b6f0742bce62289bdb2fadfbc82ff873ada3c11bc1a8d25bd8d2d87bcf77005bb376f51bb6bd741bc786841bb0000000000000000000000000000000000000000000000000000803f00000000fd1a17bc16d6e5bd58c8a83f674cc3bdef8e73bc8d618ebdd8fa893f7b0f10bd96067bbca87221bdddd35e3fc4f0fa3beb0437bc5c27c9bcf4c7253f0a40cc3cc40c94bbc8a56cbc8036da3ee267d33c930bb73b99927abb0539623e7b34e63c16eb533c9f91b33a70ca953c5718923c0000000000000000000000000000000000000000000000000000000000000000f637b23a36b3b7bd93d5f6bc1f5dbbbb9a94df3a37d69bbdb3ea0fbd6250aabc7cc38fbb169787bd9cd31dbd3266f9bc568dcfbb23344ebd4f340cbd612200bd2a3c89b91f4525bd73aeddbc0d0ecfbcfe401e3b5e51cdbc55a195bcb20d89bc25acaa3b018a32bc254602bcc2f5b9bb00000000000000000000000000000000000000000000803f0000000000000000a44e88bdc5ca963fa6d2a3bc76c7b63b77c455bdf414743ff433753ce519093d617129bdad8a433f9399173ddfcf5b3d677b13bd8e5c123f89481c3d2092623ded163ebd3639cb3e0f65f13c5af2513db4352cbd98b3683e7e6c813ce8a6343d635010bd09a8803df71794bb4192d73c000000000000000000000000000000000aeea03a16866fbd51088bbca047c73bd7ce813c5875b0bd9053ddbc12cea6ba43fffd3b49b89cbd459923bd4fc1dabc27dcc63b3ee984bd58a82abd745f10bd505176ba753e42bda6aa1bbd10410fbdee0cb33bff7d1dbd1357f2bc06eef8bc7a43e13bf7b5c3bce7f89dbce496a5bcab06f03b3dfd3abcfec42dbc3ffd1dbca6449f3b48d73f3b42f0e539583e213b7c72c9bdd97c973f9b1ec13dce241dbdd1dd07be6af58c3f8670b43dd5dc58bcf655c0bdd979673f74b5fa3d03ffdc3ce256a7bd8216373ff8d5fa3d24b2403dd83a70bd5b0c063fa3bbdc3d53f0573d88108bbde02eba3ea482aa3d02c05e3dd2676abded1d503efcc84b3dd622293df2c301bd15ef6f3dc118a53c99060b3dbe0592bcac0d58bd1fec8dbcf269d93a0447373b6cad24bd81633ebcf9b28939042f4b3c90968ebd520711bd2c3262bc6e01d93b98df7abddd5137bd299309bdc6680a3c060065bde5033cbd547f2cbd1571903ae4252cbd27cd21bdd83625bdd4f7df3b6ff704bd651701bd6a2f0cbdfe1cc83b90c39ebc5ec5a1bcb582b9bc1717fd3b154318bc531d35bcb2eb12bc81ed753b1ff1f83a1ab16ab907d31d3b4beae1bde50b803fe08c873e7b6d5bbdd7760abe3652753f2607863e12e6ccbc4ac8bdbd9111463f82ef813e7fa4a83cfa8ec2bdb8c8203fba79693e25df283d8fbb87bde2f2ea3e3ad53b3e0509413d65679fbdd3d9a43e87b10d3e25fa3b3dedf47abdef8d3b3ec250a93dd630043db01725bd8d48673d6d24043dde2ba53c4db66cbc429d05bd552a3dbcb19c39bb0bf5c4bac0adf1bcd77585bc7c5ccdbbea42673c97635ebdbac02cbd5532b6bca575573ca7815cbdc02549bd9dc32cbd9394223cbead3cbd818f4dbd6fed3fbdd127ac3b883e17bdb7a82fbdb08939bde1f6f63b7748e4bc19ec0dbd16d713bdad4f023ca4369bbc83dfadbc7fb3bdbcdba6e33bfdc505bcab6030bcbc8c1fbcc89c363bbe78f63aa3fb573a32e2413b63a7c6bdf2a0523f29d7e63e17ca83bda71704beeb4e483f7503e13e8ba718bdc667debd0a60263fb5e3cb3e5e10573c81c6c6bd9bd5043fbca0ad3e99fb193df51699bd5d8ec53e540e883e0299373d6200a4bd7ff3893e7db4493ec8432c3d374f82bd7f6a1d3ecf80f13d12a1e03c28e426bd124e503d190f423d150a533c49d08abcc680c8bcd3e76dbc804f3ebcc83c983a706ac0bc6d56a9bccc7e1fbca5247d3c7e4a2cbd4d2246bde41defbce9016e3c000b31bd2f866bbdd6e93cbd2f11773c99bf20bd89b165bd55ac59bd9b3efb3ab092febc957133bd987d37bd1afe333cb830c7bc2cc615bdd82724bdb367f93bb54f6fbc4ad4bbbc179dc6bc0c2fbd3b8e2fe2bbba8038bcaf6917bc4f9ba73ae55b2d39f7cb043b8eeb9b3bcc1eb3bd40ce223fca4b233fb8da9abdd112edbd0b27193f2ca81e3fe32e3ebd9929c7bd154eff3efce0093fa1cc6a3cbb72c5bd6b1ccf3e0f2fe83e0650153d210581bd352f993eac69ad3ee5f32e3dc622a1bd5e0a573e88bf823e08291c3de8157abd66baf33db05d1a3e58aebc3c639217bdc4b7283dfd9d713db368d73be8de6cbc9dbc9cbcd7e784bcf64387bcce3c933ba72b9bbcdc0be3bc99e239bc6620a83c233706bd65fb6ebde86506bd7504b73c592513bdaefe87bddcf34cbd6f5da33c0a4a06bdb0ca7bbd5ee468bd08f4313c4e0ddebc60b94abdad5650bd96e7563caee5a9bcc94f1fbdb06a2ebd17421e3c72d356bc45f8cabcb9e1d4bc3269b43b10d5cabb84e644bc806818bc3239c63a0f6a053bf3b2ac3a46fb613b11a599bd8e9ce63eff8d523fa3a6aebde9aed9bd8f3cd53e63474d3f56ca6bbd5694c6bd96a8b53e467f2f3fd8eccb3b4942bfbdc4a2933e987b103f48fc0b3d893995bd30055f3ee3b0d93ec708353d19bf96bd3e98193ed0349e3e43ee1b3dae0667bd2db0a83d87993d3ebb25b53c800df7bcd7cbe13cc2b48b3ddd0ca33b55e81dbc4e1d87bc1a19b9bcee4a96bc35ea373caab572bc922817bdc18cf2bb3231ea3cea3addbc463e98bd3da802bde58cc63c7f33e4bc115093bdddfe59bd5ccccd3c6a22e0bcd99f8ebdc0fd72bd11614e3c1aa3bebc850e53bd82305fbd18e5803c44e991bc715c2ebd808b31bdcf35153c9d7932bc0819d0bc1d71d3bc0f3bd13b776ce9bb3bcc48bcda5410bc3b7528ba7b0ecdb9b4d2133bdfaebe3b92cc81bd1d31873e4407803fd391cbbdc1b3bfbdac80723ec5547a3f5c6e82bd9cfba7bd0457583ea7fd4d3fc0875b3c7855b4bddbf8313e2b312b3f920e213d8c0681bd2a2e093e0947fd3ec409453d3aa18abd3519b73d2377b73e1f19273d7a1840bd596a423da904543ee2ffb83c6920a4bc8f073a3cb15b933da99d9f3b9367b3b8f29b63bc8a70fcbc05d772bccc028b3c5f2984bc57a967bd916f3ebcca8b203ddbad90bcaec4b6bd62b3ebbc0aa8183d3ea6b8bce7e4b5bdc43965bdee85fe3cb053a3bc05059ebdddca7fbd140b963c08b59dbcdf3073bdcaab5fbd4ce4983c894c72bc59763fbd5e7138bd7680463cf64e18bca92bf0bc501fdcbca1c9a23bf6b4c4bbd26d67bc57ac17bcf1488fbae31fa33a5b95143b514ae43b1a8c48bd6191be3da887973fd55aaebd8922a5bd5c93833dc4f18e3fe7f478bd27c2a5bdef109c3deee16e3f7a52a93cc04da6bd1498853d0632403f8178583d0ebb75bd1d34663d69210e3fdd83713dc5536ebd0dec003df93aca3e71ba543d42881fbdee373f3cc5d9673e92eaf13c367b8ebbb1a33a3abc1c903d750e4f3cf80cb93b12ef92bc371c52bd356999bc0000000000000000000000000000000038a3183d6401a2bc25d1c3bde6e42abd9cfb083dd1de92bc6549afbd9f955ebd3224d53cc5f9abbca2d79cbd66c773bd8c969f3cfea59ebcfcf771bd871a5ebdde22853cb86e52bccff43cbd49762fbda7a42b3cdf090dbc940eefbcb20ed7bcf36c9d3bd8ff93bb6f6d3dbc555bcfbb0000000000000000000000000000000000000000000000000000803f000000006c4860bd5f7b39bd4965983fadfa8cba0ff572bd9d5bd6bc8dcf793fb1803d3dc64265bdc97a3dbc01364a3f958d8f3d80823fbd7aa922bcdf20183f86b48b3d938334bdb71789bcfa3cd63e504c5d3d2554d6bc89bb8cbc24b1793e2999083dbd99c8bbe1edb1bc4a648f3d1f350f3b00000000000000000000000000000000000000000000000000000000000000004ac8e13cf4103dbe25f9113db2a2c83a481c353b63c523be5dc8793c63d4a93b6b5f1abccfc819be7e34883bac58553bf01f4abc25f4eebdb72393bbef8eb43a86d37bbcf5469dbd8741e0bbe64866bbef7e41bc220535bd6cf6f7bb2d98e3bb79c885bbfbd802bc184cb5bbfffdffbb00000000000000000000000000000000000000000000803f0000000000000000cd6008be551fa93f65751abed81cdd3cfbc399bd72a1883fb285a0bdce078a3cab2648bded33643fc85c5abd9460783cbd94c3bc2395283f1de29dbc47d4713c91b8aa3b0735d33e74a43f3c2054733c161cf43cea31513e7689043d031f1b3cdc721b3da821263b9f080a3d3438283c00000000000000000000000000000000d60f0d3da080eebddd9ad23c397d52bbaabdf53c214d0fbe43d2973c0d631d3aeacaa03c04ac2cbe35b4ba3b4b30113cec0c343cee1e1bbe3d9de4bbb0d9a13b47ca73baa604f1bdec5045bc74e9113b8a5294bbc8a3a8bd983b7dbc23eb1bbb8adb43bb053a28bd4f4c84bc64a5d1bb8089b0bb5c3a78bc2cba18bc95cdd7bb221c8d3bbce54e3c368a91b95ef064bb312153be937daa3f302da6bcc3bf0c3beb3525be662b933fbd60b13c0e5ca0bbe0c814be448a883f90ea443c34f793bb9491dcbd7b315d3fedcb0e3dde9100bb63696fbdc7b7213fc9df5f3dff0326bad32f6fbc8575cd3e9b15873d160c0a3bb90d683c3c17403edabe8a3d18cd413bbd45163d24e9173d6b5c4f3db3ff40bb778f153df575f5bddf35a43c5ef5713a8db0cc3c6b9589bd1933b63bce72533abbd0eb3cd01806bebdcb00bc0be3e23b987fbb3c99cf18bef978b4bcb214383cc6044b3ca56406be6cb6f9bc9a97d93b6d4f4f3b4541d5bd13b1f9bc0540d9ba1298843b43c593bdf91bf9bc78691dbbc5c3103a9f211abd4d0ec0bc104089bbf680a13bbdb464bc15bc2cbc1367d2bb7d00c43b079ff23bf99e89ba3650c3babc8a47be13378d3f1fd54f3ec14c47bd673049be2ebd8a3f77133e3ef78345bd0af82ebe1802773fb89e343e947c21bd8bddf6bdab1b463f39732d3e28aef1bcc33595bd883e113faae41d3ee52598bcd1f502bdcccbb73e40780c3e5f3338bc7d37093c0443293eaf3fd63d65c473bbabe2c53cbe29c83c497f5f3d1ca105bb3355d43ccf218fbdd9d9c33b202bd53a169d9d3c5e7357bddd3883bc46aa163c0e70dc3c15a1cabdfe682bbdd922723c25b0b43ca9b0eabd618c5bbd12944c3cd262373c7a1ad7bdde8f6bbd4911d63b5e881d3c51f4a9bd75a15cbd7131e6394704943be9ef6fbd875f27bd77d5d6bbe9e1613b7ef302bdc83fe9bc62b99bbb8154993bd5ce58bcdb003abc0adfa9bb5435e53b332caa3bb103e23a0aa3243b228040be9bbd6f3f1ed4d93e2d5cd3bda74e3ebedac1633f7b1cd63e7202d4bdf03522be5304493f4c6fc43ef60bb6bdd308e7bde226223f1ca5ab3e90b984bdf98291bd5326ee3e5c698e3eac1237bd480a05bd3647973ed13b573e663fbfbcbdec4f399924153e1b2d083e84da02bcd088a73c7ea0003de7d4583dd38d0d3bcffe863c46585abd341f68bc1b193f3b7d50813ceb1805bde42a27bd4504693cb44e9e3c8b9684bd086a9abd5c9ca63c33c0903c475fa7bd9150bbbd10448e3c9ca4603c904799bda5a3b5bd478cc63b1815b03b2e987dbd02f48bbdc84fb1bb24f6fb3bb23040bdc7bd64bd995ad0bbf118573b3104e1bc596900bdea05dbbb1e8a5e3b2a4730bc28e648bc4dd44ebb8883da3b985aa13be54190b9bb65c93a625d1abe3adf323f3c202f3fa52222bec6ba15be91f4273f8e77293fa9351cbe3082febda4d9133f3c511b3f63ae01be434dbabd4fcdef3e4bfe023f8a19c5bd230063bd4171b13e206ac93ef1e75dbdc9a4d8bc0baf6f3ece4d8e3e761504bdc5e51dbb7cd9ff3d48c3183ebf6398bb97d1453c6f271a3d4bee403dadf9c13b84a2873c569b02bd76420dbd3601d33ba3fcc13b9a8befbbd0507bbdb0609f3c3e7a3a3c891ff7bcf298dfbd6600de3cd1f5823cd2d539bdd44ef8bd05ea863c6e0b313c53b647bd899ae8bda17fd03ba424f23b1f7938bd368ebdbd0ef8a4bb2170df3b18351cbdf3ef81bd7cdadebb2dea563bc169c6bc707516bdbb43a8bbfeff923b026444bc400e71bca8d5a7bb9ef9443b3a54323bc4177b3ba699683bdbf5ccbd9d51e33e29cd6c3ff82048be542fc8bda8fad33e3cc4643f5a8144be9857a8bd7dc4b53ef1764f3ff1fd21beac926fbd7d72973e47552c3fe316ecbd760413bdc1d16d3e6924033fa8c998bd2553a5bce7442f3e50e6aa3ee2fcf0bc26ea78ba84f6dd3d4c762c3eb0fcf1ba81ccd83bf0df443d103c1b3d33205d3c9a40213ced020cbce5ce69bd28ac3d3ca64a66b96c673c3c2b3797bdf83dd23cc0b9773bd57b193b3bcf0dbe43d9e53c7baaff3bcc6e47bc8ad518be2fb5713c7476113cc077b9bc9c9b08becc112b3bc4d3bb3b24c6c1bc010ed8bd5ffe00bcba08343bd8cfc3bcb3f596bda68c25bcac3bf63a50869bbc0faf1cbd15990fbc3b0be939a0501abc3f8c4dbc6409d1bb1ce2303a6c3e14b9e8bf903b71af203b464142bd251d5e3e331e8c3f47d14ebe126c36bd6f9b3c3e4b3c8b3fe13f4cbe69d80dbd3c79193ef69b7a3f7dec29be09c1d8bc23be0c3e07c44c3fc915f1bd707f6fbccd52f23d05d5183fb82b89bd0fee0bbcb9a5d73d853dc43ec4f8d3bcab78dab8cc14aa3de420383ea31d063c7a1c9c3b99b8513d32d3eb3c2474aa3cad6d033b290e3a3c7c888dbd3c16a63c34e098bb8e33f63cdddff6bde081163d30766abb9d83ac3c8f8910be4db4f13c325bd53bb788e03badfc28bee7c07c3c5fc8153cf30285bb7dc017bebca28fb8d75fa83b330c27bcf6e8ecbd147836bc22599b3b906d62bc6cd1a6bda0e071bc4ec91cbabbc777bcc53825bd4c8450bc08e2a1ba511d31bcdd5b6fbc81ca3dbcbc5d3dbb09e09c3ac291343c81dbcf3ad76af0ba6c1027bc346caa3f4b9859beaeffe5bb521aab3c8294933fb57b21be85e9c0bb65419eb91fa3893f5af00cbe854fe8b9ff3d5f3cafd55f3f0351bebd0bf7fa397479f43c4bd6253f18da35bd7366833ab6843f3d48bfd43eb4d433bbc1ddb53b53f3623d57dd483ebb31973c3722f2baf2683e3d03512c3d241b183d203f2b3b2e16e43c1297f5bdd3cbfd3c000000000000000000000000000000003a09dab93793143d8fd638bef3e4ce3c1a40513b6f53663cfb911ebe9224df3ad8f7603b3857e83aa1b40fbea5e992bceba46f3b5ae87abb8235e3bddf3cbebc8cc1023ba74106bc206a95bd7668b8bc865b69bb09793bbcdb4916bdf39c92bc6f8412bbcaf6d4bb3bb7d5bbb2c71dbc0000000000000000000000000000000000000000000000000000803f00000000aaaba73ce5241fbe045ba93f29b902be7e5a433cb99ac4bdc311893fc0eb64bd20be6f3c39c191bd964c653fa7bbd9bc3288803c1a9e28bdbbdc283f024a923b8e87563c3eecb6bbd8d5d33ebb60f13cc345193ccd54af3ca52f533e66b6223dac7cdb3b1af10e3dfeab803a16c71f3d0000000000000000000000000000000000000000000000000000000000000000d912113d88b62ebedd8d973c14b9823b65eaaf3c38e110beb4639fb99020e7bbdd3bca3b3c47f7bd447e72bc0a1989bccc2d8839dd9fb9bd90ec78bc659bc6bc2c4eacba9cb06ebd62be7fbcf862dfbc709604bad911fcbc7a2186bc2944c2bc8016153b3abca4bbbb30f9bbe73084bc00000000000000000000000000000000000000000000803f0000000000000000d67622beffcaab3fc09316beb0519c3c32dfe1bdb2f1893f683e8dbd5e33c73cf1a3a2bd299f603f5224d3bceb7adf3cac7e5cbd2395233f16f0353c5f78143d079ab7bceeeeca3eca1e093d67ad143d9d971e3ca688403e7450423dc9b8fb3c8eb8f43c45202cbc29602f3dd3dda33c0000000000000000000000000000000087d6153dc393e7bdf2315d3c20b2133c0883283d80160bbeec29d63b60e0b8baeab8013d6ed714be989348bc672af1babbb1ad3ceae3fbbdf338adbc55644bbcf8af213c5e26b8bd130fbebc7a42c5bc93f4c43bd33472bd85d0cdbc4c52cebc441a6e3b98aff2bc4b2899bcb717b9bc3f3ddb3ab0cf12bc4f3f45bc8db37bbcfd829f3b575d1b3cc1fce8b9b45437bbb8f951be741eab3f06199fbc302de1bbef563dbe7023963fc4af6c3cd3ddbe3b5e6e31bee5cf873f5570073dc567f03a591b07bee576573fa06d763d6730723c5012aebd383d1a3f3616a43d93d3dd3ce54a1cbdfa8bbf3ed747b13d4e12fb3cc29e4b3bcfb4273e9f71a33d4816bd3ccb6d013d63cb453c13296f3d57d2613c02c9233dd73cfdbd85127c3c3d52b83bccd8f43c0e768fbdd7c2bfbb1c08253ccbac183d6aebf3bdcd36aebc27bff53b43a1063dd906ffbd1dc511bda98b21ba3873c13c15ebd4bd72712ebde1f57bbcb7c6433cc3ae9cbdf4fe15bdee3fcebc01df263c2a2259bd4d6d05bd2a7af2bc7cd7de3b1d96c3bcee78b8bc3a07d2bc8ff4a73bde14e7bb8ae652bce0de72bcac31993bd830f23b5ace76ba37b24cbbeee744be6e408d3f71f54e3e110737bd11a456be420d893fc55c4a3eacfa1cbd712440be37b66f3f2dc94c3e1c4ed5bc4b1712bedb5f3d3f30dd483e2578a5bb3de4c4bdcba3063f759c333eec339c3c997340bdfc8fa53e2c281c3e6a8ac63ceec29dbb8d52103e89efd23d439ff63c3023b33c5c86ac3beaf65e3d2c3cb83cbf3a083dff96a6bd6bed283a7d96fb3b0dbeb03c46a45bbde2e1d1bc34a6863c6325033d893cb9bdd2d354bd441c7e3c2337de3ce264c2bd14eb87bd9b57783be1ec963c48f7a5bdd75b84bd7f1e74bc4fb8653ca55275bde28f69bdbf21e3bc24cfd23b6fd420bd3b8f32bd79a6f4bce82bd23b28c4adbc3643ebbc6f08dabc73c9ad3be8ffaabbac4171bc04408fbc57db9d3bc1c2d73b5e2c54bbd6f43e3a91c939be76846d3fdff3db3e1082c9bd105046be37f25f3fa836d93e84cdb2bde1e12ebe65d9413fd988cd3e7eb081bd38e204becae9173f17acb63e286cdebc66a5b7bd298bd93e54df953e6aff443b23933bbd58f1863eff595d3e0677b13c2bdc0dbc2c24fd3dc94d063e1f1e013d4c39973c35b16a3c7ca8433d577ae93c2bcdcb3c66ac7ebdcf78bbbc322f813cb585943c769208bdc0234ebd8ca8d53c846fc93ccf2073bdc0a4a9bdbd13ab3c8f12c23c9ca688bdb674bebd9a4f463b1a52953c2baa68bd5ca1b2bd8cf273bc7c55093c59db2cbd9bda88bd068d03bde050093c780c01bd857957bd5c9cf8bc518cdc3b7b3686bcc3cd00bd4163dfbcf046923b56c69dbb710e74bc200686bc3aaa5b3b406ac43b5c5616ba49e137b795b616be8865303faaa82e3f015c18be5ef31fbec0ed233fa0902a3f9dc507be34ab0ebe63f00c3fcde31c3f96a3c0bdb53ddebd5df5dd3e207f043fbe2b55bdc19b92bd9b2a9f3e44ebc93efb2d00ba019d26bd1cfe4e3e07e68c3eacfda13ccfea1fbcfee7cf3db55c143e0dfc0f3d917f213c2912be3c7b9b1c3d29cb1d3d0526a03c2fc229bd214f34bd88bcaa3c47452c3c626555bc56f98ebd71e8eb3c1d62823cdc2cdabc11f4e4bd0346df3cb6fd8a3cec8616bd7b4af4bd36c6043cec275a3c1a420cbdc8b9d9bd7dcd7ebc770c223c3e54eabc4771a9bd8b80fdbcc9bce13b6ccfb2bc977d6ebda0530fbd5496953b20045fbcc18908bd65bbecbcd02ca43b4cef9cbb49387ebc684d86bc0823ff3a3872a83b877dfdb9949713ba9525cebdfdf3e13e783e6b3f764039bebc68e0bd1b8ccc3eb397653f73e42cbe9524d1bdf2d5ad3e4e994e3f98a3f6bde3fda0bd70438a3eae432a3f9c1781bd6ccc76bd5a234e3e7d85003fe9f237bcda5d0ebdbc95103e474ca73e97adc93cb3c94ebc682cac3dfe5b273e6c232c3d1379de38f850083db6afdd3cf319433da3854f3c092670bcc29880bddeb9bc3ce9c38f3ac6390c3c5214a8bd822a113df604073c633889ba1b650cbe39cbf73c69d4493c579d1dbc3ffd11bed4f6f23b1a14203cfc9f55bc383f00be825a80bc48fbc23bd7ca6cbc33ecbcbdee6d0abd2a18873beb8053bc8d8f89bd11860cbdf4e28c3b017829bcb2f712bd1a5defbc8f0aa23a194142bbbb0480bcd85397bca6df7eba89597a3bd10f093b4c0a3cbac2434cbd5c1a583ea0d58c3f241245be79e474bd04db353e86d78a3f089f35be20be80bd35df143e49cc783f5d0301bea65956bde955f93dd46e4a3f8c6981bd89411dbd5260cf3dd106143f52786ebbb1c5d4bcbc51ac3d0f21bf3e6c06ef3cd04719bcfd787d3d6e2f313ec382533de48f37bbdd17243d4e21973cfefa623d7e4e7e3b9b9b003cc7bea8bd7c3c073d059ac53af45db03ce748f8bd0db4283df199aabafcb4ae3c73a013be3061033d72cf2c3c6469d23b18e01fbe88629a3bf25c2b3c00ec0d3bd9a608bea5bcadbc5bcfcd3b625499bb6318cbbd6bbe1abd6c0a8d3bff4603bc52568abdf0d621bd2102353beccc09bc64de13bd6a4506bd1d96813a8a6aa4bb4b5c40bc214fc4bc27db4bbbc864083bb042123cc03900bb6e343cbca4d007bcc6d6aa3f917053be796594bc5b490a3b9bd8963f9b611bbe8c7808bd336a7cbbdece893fbffedabd0a8aebbcb39c113bbd1e5d3f39ab35bd8371bcbcf833853ca57a213f14756c3c3e9c89bcc26e0a3d552ccc3ef8023f3dcd74f2bb8e07333dad733b3eaeb1783d23692cbcc859393d0295aa3cd91c863d365da53b2679c13c291400be4d57203d0000000000000000000000000000000076c2cd3be283003d630733be222db33c1de3b43b1a60763ccead0dbeaf7d55bce52abd3b1e96a23b6202f9bdbfa623bdb2c17d3bfd58ca3a990bb8bdf55a46bd6da2d33a06085dbb46f476bd7dd33bbd30dedd3a004aecbbe7dd04bdaa4518bd5f47a9395c2cc8bbc6e8eabbc8699abc0000000000000000000000000000000000000000000000000000803f00000000e8e54aba865223be11e6ab3ffad7fbbd26490bbc7dcbd9bdc3348a3f9b391abdf0d942bc393d9ebd900d623f57eb843ca6c004bc525c54bd5cf1243fdf4d3e3d8d2786bb1a786fbc8949d03e0bf9893d6536c8ba9ea5783c1e07473ec4db943db035883b36fd0b3dd22ec9bb08356a3d0000000000000000000000000000000000000000000000000000000000000000580d753dafd60bbe6fffb7bc5369f0bc7ec7813dbd78b9bd7956d8bc1fcbb0bda280653da27788bd97f2f2bc0dc7debd7b6d333d958636bdaea7e8bc68c6d1bd77a5073d0d270bbd3e7693bcc7f1abbdafc8843cd93498bc92ee1fbcb71f5dbde599193b3dbe8cbb3f28a1bad82fb1bc00000000000000000000000000000000000000000000803f0000000000000000934241bebc5aa93fc2f394bd17fb023d5c924bbe3409813ff039593caf4c093e1cfb49be1035433f72c2623df713483e7ec12abe71eb073f70778b3d6863503e48a509be8509ad3eb54b493d2fd8433e87e593bd4d3a253eea19e53c52990c3e328911bb6a3c8ebba045ff3bb3a2713d000000000000000000000000000000006f7e0e3d313fdfbdfb0449bcb1e4983c520d923d502502be6968a0bceb9301bd47ce8f3dc553babd0fe402bdafa3bebd3a86803d407d82bd5dd9ffbc80d1e7bd2cf23d3dd19229bd39dcf6bc67d4dbbd55e6183d246505bd02469dbc3c7ab5bd98c58b3c363075bc72d818bc1c7667bd3686a03bfaea8eba704782bba11ee9bc353a66bbdec4df3b81ec953a66409f3b75972ebe677ba93f5660063d520e4abd487180be6d5f9c3f8eb2483dd0a8fd3cbd3176be786c763f2c64f43dc594013ee5d370beca2f373f45250b3ef398443e4a7d38be5b7bf63edd89063e67864f3e732617be31f09c3e2e41bc3d1508473ef9b29cbd70cf0f3e20c6413dcfb9073e93e130ba591ae0bb4842c03cdc868f3d492fe83cb67ebebd889061bca0c577ba4f4c023d419a9fbd158b9bbcb286883cfb03893d355ed6bdde1017bd06b01dbd5ed18b3dd3e68fbdaf8c32bd2924c7bd83bb7f3d1f6e59bdd3431abdd5c5efbd6163373d1ffd06bda3e909bde4e5e0bd6111143d97e0c8bc072eb4bce6a2babd12e4893c7fbd42bcc76f59bc3e1d67bd73fda63b82c8d1b969d284bbc851e3bcd7b722bb3927ea3b43e40e3a8f2aa83ab01e32be4e078e3f74c96d3e1f838ebdf2157fbe3668883f8e3b763e0975ce3bf1d27dbeee81543f1f8e873e5117eb3d832d75bed78e1e3f0d5e793ec1843c3e89013bbe4438d53ea49d523ee97c473ecd1b1abe5c4a863ecba4103e7077403e5dbf98bd0f19f83df76a943d918a023e02d6f9bb4390a8ba338ba73c6f2b883de326cd3ca98988bd635c87bc83b0be3a6e16e03c2a3d7fbde97001bd91434f3c9013853d5adda7bde5bd51bd62f42ebd8881893d70526cbdd81f4fbdd8ebcfbdb974763dc7e826bd359b33bdf0aef6bd686b353d23c8d3bcb3cf14bd1cbce4bd5aaf063df4bd8bbca200d3bc0e63bbbdd1638a3c7c5c24bcd9ff5ebcf74f69bd6c4bb33b1ff4dd3a745cddbb1033e0bcb72416bb0976c63b8eee32ba0b90803b1f331ebe5954693f5050e93e8e81d4bd53c070bed3835b3fa32cea3ed237acbca1c674be98d62b3fab84da3e9cc6d33d0fa56bbe0d59fc3ead7fba3ee3b5373e05d23abe7294a93e3fe7913eb1d4473e476e13be4b01543e2b79463e5a563c3e7e299dbdeb5dbc3d1ab0cc3d6b6d043e290718bce8b927bbe511bb3cc4c7893d4d999a3ccdbe56bde200debcd728bcbaeb85dc3ceba950bd53ae34bd7d5b7f3cb5ce7d3da8d077bd9ce086bd78af40bdadcf883d887b29bd5a7c78bdf059dbbd3de7753d3dc6edbcc38451bda2c2fcbd70b12a3d4245acbc16fb26bd464ee1bd948e153defa164bc4a51efbc3a62c1bd61e9743c2a0bb4bb37d47abc0d666bbd93839a3b81dc263bd2bedabb257ee0bc63d611bb8af4ac3b415a1dba9ee29b3b50a008be5e9f313f8e2f2e3f615109be1d7152bea758233f065f2c3fa4963ebdecd060be182afd3ef985173f6896c13d647c60beee18b93e7a47fa3ea2e6303ea1bf29beb3f1793efdf7b93efa42403e5ec90dbec48e183ec9c47b3e94f83a3e58ea8cbdf10a833decf1fe3d2c5afc3dd0f62cbc543ca7bb9712d13c7f928b3dd837a33c87c22dbd31a818bd07b4efba4cbed33cb72c0cbdc1006bbd6f86443cb9b1713dbd4e28bd1920a8bd9cb73ebdcd5d873dfadde0bcc84990bd0e81e0bd15eb763d3d37adbc4a0b65bd73bf01be2a9b383dcf2757bce16236bdadd6eebd609a073d47eb07bcf527f4bc3886c3bd3379683c6d1482bb1a7f86bc96f468bd6c29993b9abb433b5ffcfabb21cfdbbc8efc1ebba2588e3bb40740b9c134b33b9f0dd1bd60aaee3eca17663f6cdf1dbe827330bebf8fd23ed638633fd03c8bbdada14cbe746fa43e4947403fb3d2b13d7eb94bbead7e6a3e66491a3fd7f02d3ee4bb25be21411d3e2b7fe33edb8b443e0a8b00be1801b53db8ec953e41083a3ef54280bd6e84143df097133e7b2ffe3dd8f306bcb567d7bb0c87c13c71e88d3d2d48983c14d4eebcda074ebd23cfc8ba022ecc3c57c8c5bc854d8ebd3a7ca13c670c673d3a0cb6bc71c4ccbd9cf13bbdbe5c863d59387bbc671aa5bd302be1bd696c703d959425bcd9b37ebd565104bee2ea2d3d3cb4e1bb7cbc40bd8ed3edbdeb36023d4df08fbbfbe706bdba7bc1bd7c58543cade7b6ba8c2596bc71a367bd73297a3b6b08fc3acf04e6bb8a66cabc4f3b56bbb1a48f3bde5303ba3a77b93b518b87bda370773e6f438c3f176d30be89460abe16a0483e11198a3fb791a3bde78d33bec10b1f3e2f49643f2eccae3db2a43abe795bd33d2b8a353ff0db2f3e0cf115be40a88e3da38a023f6282423ea111e6bdc1e3e13cc0afac3e39333c3efd6660bdfed1f23b1dd1283e4a60003e0302ddbbfdc0d9bb466c903cc7c5903d56da8d3c5ed88fbc51907cbdda45bb3b9c46f33c525d81bc6532c6bd795f783c6e49613d2c92cabb50c4ecbd34bd1fbdc068863d96e30fbb3345babd047beabd9491773d35a061bae7118cbd85ce07be34b42f3d954483bb62374bbd149aefbdb92e073d401389ba67120dbd0f6bc6bdbf01403cb034ecb81ce189bc239569bd7f5bda3a2852803b17c0cfbba114dabc2c6db4bba2738f3aa930563b526b253c984f35bde669393d1e47a73ff93c2ebe9a3ac9bdfc4eb73bc12e9c3f7ed6a3bdedeb1cbec4183b3cd952803f9a94cc3de7a029bef03beabb5f3b483f9abb403e573c09be479b20bc8dce0f3f9c3b523e582ecdbd787bd1bce87abb3ecc29473e3b0334bdafb299bc16552e3ec406063eb6347abb06dccebbc1d6503ce233a43d52dabc3ce6c827bc3e25b5bd3c9336bb00000000000000000000000000000000837d823d6e2c213bc55105be6b1d7fbd9d7a803da0eccf3ba019b9bd2490e8bd1599633d0deb6b3b3bb293bd2d1a05be7ff42c3de1860d3b46325bbda39af1bd9014e43c28ffed3acd0b11bd4d5bbebd0de3393c0447b73a7586a5bc056564bd99e10b39acd042ba1c42bebb3e448fbc0000000000000000000000000000000000000000000000000000803f000000005c89babd7c69efbdd41da93f28c9bcbcbe3b08bee7ddc5bdc92f853fb895093e80f512be510fb8bd9603523f15595a3e81cdf6bd66f494bd8a30193f41175d3ee0a3adbdd1be84bd28aec53ee614463ed5d314bd21da28bdd73c413e6c51093e0ffefb3b788968bc0a98cc3b77b26e3d0000000000000000000000000000000000000000000000000000000000000000d93bd3bc97a9b0bdcbbe57bc26b7f639a2e3d5bccc15a3bd9c2a63bcaf65243bbce5c4bc25658dbd7d2080bce47b313bb7c4a3bcfe9b66bd232c48bc0bd58f3a1a5586bc2bcf37bdd74345bcb41e7a396f5332bc640d05bd3e101dbce8a3b0bab49674bb3f8398bc0853bcbb9e9355bb00000000000000000000000000000000000000000000803f00000000000000008168c9390fad8c3f7e8956bc57dc03bb95c3e13bd4f86a3f94caa5b99f6eec3a118b123cae7b3e3f1dba9f3bbe662d3b3363bb3b6ad8133fa8a23f3b7c11d3b9a59e52bb3effd43e9e07ee3a14e99fba875f41bcb7c1843e8fbb7bbb5f4e9bbb2845c0bc66ced73de67444bc6af50cbc00000000000000000000000000000000eb4878bcc5106bbdcf9218bc5142beba6828b1bc4410bfbd66a195bc2ad6cd397b2ed3bce015c4bd478dafbc95b1013ba6d9c5bce3bbacbd910ab0bcd9221d3bfbfdaabc698a89bd2828a6bc5a33f939b0537ebc172a60bd37fa8dbc8e6ceb3982a801bc23c41bbde38c4dbc7276dbbaa13abd3afaeb9abc6078a9bb2ca596bad558a43b55311dbba8bba8b9a1fc41bb318404bd1cc28b3f173de13de7b291bc12dd02bdb598843ff09ed43de8b97bbcc74c3dbcb41c603f6542d13dfde5eebb5af8ebbb4790353ffb4cb63d27f699bb5fe6f8bb1c690a3f45c5963d4b74bbbbc60a62bcd7fac63eb614543ded87f1bb3bf6c1bcd9da723e7c93e23cb69934bc0dcd06bd7ae9be3dd9b4713bc85f5ebc0921ebbc78d4ccbc33bb66bc4bd450bcec6d31bcd2ab23bd0f3717bc099d8dba4f9692bc619398bd3204abbc0ece3a393fe884bc680f8fbd299dc5bc21e3133b735f93bc018c96bde612e3bcccaefd3a798250bcbfd963bd2e80bdbcebbead39e31925bcd13743bd8af6aabc286ab1ba284c8bbb1adefebcebad6cbc44d29bb9b39a093bae9785bce61af8bb899db6ba4e86c13bb144e7ba6416e6b9bf4e0fba1ef61bbde0a1693ff32d853ee071d0bc8b1a22bdafd9603f59eb7c3ed63ed1bcdcfbbebc2cc5393f62ea643ec30c86bc18c094bcf9491d3fc220403e5f6e3bbcc10970bcefb2ec3eb0ec163e46cf01bc6e87adbc21f4ad3ef03dde3d4c1c3fbc2ebbc0bc57d9573ea642893dde2b48bcca1d02bd3c57b23d9f5ecb3c414281bc2750c4bca0c56fbc68780ebc196b6dbca35714bca337f7bcf14f34bcabe0313a36dc5cbcafff6ebd4e13dfbcbb36213b63316bbc0bbf88bd4d8d0dbde63c543b943e58bc83537dbd56350cbd9a7a403b713b2abc771452bd1cdff4bcd777a93abceef0bbb2552abd38b5cebc0fba663ad51253bbd894ecbc5c079bbcb0f33aba0c08263b991477bc9d2310bc579035b721f8953b225f0cbb8c08a6bab21b1ebaba3510bd2a773d3fd5e7d43e9c5eeebc079923bd87d9353fb1f7ca3ecd99f5bc5b4fe3bc06741d3fcc34b33e7fad98bc0af6b6bc1c11013f4e5e953ef73761bcd922a7bc0399c73ecbae6b3e39823dbc50b6bcbc5045903e6c712b3ecb754abceae7d8bc9d58333eb3a6d83d647b69bc295ae0bc84fb953df46a3e3d76bc8abcc9cca7bc8af426bc342eb4bba12d38bc4ee2bbbb77fccbbc24dc7fbc48a0213b6f4732bcbc1042bd0e5a10bd067d3c3b1df623bca29f59bd8de724bd7eece73a611422bcd83056bdc8e62cbd650b473b368ae0bbcc310dbdc6d6e8bce206873a7f96b5bb8fbb13bd2945f9bc51ff233aaf26fbba1b06babc78e2a3bc522988b92c431f3bd70e2bbcfbcb38bc33b1a9b9dfd52e3b2ea300bbcf3195b92e7eb938c67f05bddd30133f8c64133fb52d02bdec6b16bdd42c0c3fa5730c3f1bbbfebc8380cabce69aef3eb9adf23eb09986bc8aabb3bcf761c93e6433cc3e203e5cbc435b73bca4f8953ec77a983e1fefe8bb6868b3bcc64a623e54c2693ed0a039bc81b4b0bc75280b3e0d61123e94223dbc96efbabcb25c693ddef0833d905b88bc022185bc61da29bc337e99bb7a3e3fbcf0bdc4bb30aab1bcf9efb9bce59c693b6a570abc4c1326bd6df947bd7e16b13b0b4a00bcafb845bdf31967bd53e57c3bb107dcbbcacd3bbd50b559bdf6ae233b8eeababb387521bd72fd38bd56afb43ae90370bb8e9f00bd2fdd14bd73f3bab8b8f6c5ba6f4ab2bc2e88d6bc094bd9b9bccde63a1cc81bbc314554bc5916003a12e9443b9cddc937b64ed7ba69ea983a672df2bc44b5d43e67d43d3f1fdc09bd39550abd9206c93ed8df363f4db50ebd0265c9bcd088b03e417e1e3fa4a79cbc01bba8bc422f923ee076023f37fe41bc3f429cbcaa7c643e50a4ca3e5d140ebcb730a6bca527243ea668933eae4f22bca8d6b3bc55dac63dabbf393e7e3353bcee74b5bc5a6a163d5d3ca53d96f57abc791f7fbc4cf746bc5f1db1bbd9c03cbc94466cbb7030b1bc06ea08bd5e19913be4a8a4bb7a4619bdde1f87bd971b703b660a5cbb440d20bd7c9281bddb5aab3a126cbebb57992abdcc468bbd8b23003a18c99abb5dc902bd7e6950bd03f174ba16a926bb72fbe0bc33b534bd40580abb62721abaef198abc75ace9bc9646c9ba214bca3a7affe0bba04f80bcadd4efb972caf33aacb6883a888669bae206ef3ac6c5ccbc5003853e1dd6693fa9f810bd380cdbbc6408793ec16a613fd40d09bd775d95bc5fe55d3e1d063a3ff6cb4ebca28e6dbc75ce393eeb621e3f0ffac8bbc86357bc3f370f3eb7c0ef3ee35220bbfed98abc83b6cb3d4e6fb03e40cfc5bb5a5c88bc8f3a713d5ba15c3e11a440bc9b1090bc42287d3cdb43be3d678286bcae2d51bceff981bc96362abc895453bc51470fbbd5a6b5bc070859bdd6dc403bebbe3eba4e540abd8344b9bd0e3f55ba711087ba53a91abd4d2bbbbd95095fbb5bd943bbb9c610bda17da6bdf006bbbb4c981cbb8957eabcbe4f81bd606bd4bba57ab4ba2c6abfbc9c4257bdc08ddfbbf63820392e726bbc392018bd6e39b3bb037fab3aa6d088bbc7038cbc166f77bada09b93a60a4453b6c9e10bb7a2f203a9af38bbc48cfdf3d9fc28b3fd41de9bc085986bc7f2fcf3da6e4843f591dc3bc50282ebc608fc43d873b613f10d6c9ba199e0fbcce6aaa3d8441363f8511e13b1e880abcfc07853d861a0b3f5741fb3b76bc39bcdc6e2d3d66a7c83e22861d3bce304cbcdf65863cd895763e8160babb4d7540bcc6e3f1bb7d60c33db78f75bc53d32fbcb837b8bccb29b8bcf17b7ebc00000000000000000000000000000000289a24bac992e1bc8a50aebd59e69cbb6654e9ba4532dabc08b9a0bdb869fdbbf87405bb26dcc6bc470c88bd6a5e13bced9d00bbf3efa4bc7aca64bddaa11abcd5abd1ba64da80bc8a4a31bda7e81dbcaf7f28ba02ce21bc955802bd8d7814bcabc116b7334278bb17809cbc1397e9bb0000000000000000000000000000000000000000000000000000803f00000000ebfa29bbd7637dbc21d18c3fbac3c73b0ed671baa79c9cbb976e6b3f2333833cdbd798ba6620c3ba7f043f3f2e1f933c2dd280bb8fa0ecba77e8133fa77a8b3c7cc38ebb90bbc7bb8a5dd53eac001b3cf4a8c8bb1b4947bc1109853ef7f6393a158f05bcd6fd9dbc29dada3d95e413bc00000000000000000000000000000000000000000000000000000000000000009f432cbddb6f4ebd057d66bc9b4100bb3fd224bddf794bbdff9f6bbcb82837bba4f41cbd37c841bdc92081bc21120bbbf0f404bd909f27bdb32288bccb723abbd7c7e0bc219f12bde35f61bc67c284bbdb6da4bcc779e2bc22813dbcccaaa4bb54ac40bca9309dbc3ead14bc42c59ebb00000000000000000000000000000000000000000000803f00000000000000002ac4dc3c66907e3f9ee6623c6d44163c7c5bc53cd427583f8eaf963cbde74d3cc330b03c1b4b323f3dd4a53c14936e3ca51b743cdb7d0c3f3f9e903c18e7533cdfbee83bb5e9cf3ed15a543cc722143cf592d5baa1c6863e0587c53b4a717c3be8b32ebc01e7f73d8fd5f0bae36802bb00000000000000000000000000000000a1f6edbc7e7704bd18f314bc312b11bbf41532bd00e75ebd80c38abc379f51bb55f239bd714078bd5688a3bc517a4abb901d39bd392371bdbef3a7bcac3ea9bb01d211bd3e2c4bbd79289bbca66488bbdcf500bd7f0536bdbad89fbc6ff9e1bb10fca9bcc3b704bd81f26fbca5b3cbbb5cad0dbcab1b9ebc709e19bc9bdcdfbbb072a5392db1b6bba1775fbba126a0bbe9202f3c6d1b7c3fe7fe063eeae176bbded29a3c10e1673fd7f9033e92fe5f3bc873b63ceadd453f7750f73dd36e3e3c5db69b3c0ceb233ff50bda3d53f6703c8e7a4c3c0025ff3e2f2bae3da0984e3c019ce43a6c94be3e1f7b853dca5b1c3c5252c2bbe3e0723e0c98203dc22c133b07d68ebc5957d83d0082383c5551edbb7cdf8bbcbd3f38bcd72709bc865110bc6f02b8bc65feccbcc8ac15bc42213dbbe09915bd2f3f3dbd989092bcac745ebba4550ebda8593dbd630aa5bc93b950bb34651dbd774a57bd238dc7bc2b1aa2bb056cf4bc9de629bdc4dfa9bcab0ba9bba6f1d6bc868821bddbbbaabcb25fd2bb354a8dbc135de4bcca6b66bc3e52a1bb9569cfbbfa8f88bc035e29bc7050cbbb0ea29f3a2b388cbb477c65bb4fb294bb0b74273a971b563f9316893ec84491bbe1650c3c8941463f4a33803ee1a08b3902f6293c4357263f4e5b633e3d23083c85dc2e3c8c0e0d3f773e443ecdf0603c1621c43b72cdda3ec8891b3e80633b3c07747dba7294a33e2e39ec3d61c2033cf9c707bcec1d523e655d973dc23c373b597a89bc4b40bd3dbacb063da52aafbbd36968bc395501bcd9399dbba1000ebc529695bcc9d6a7bc786700bc1b368aba1036fcbc3cb625bd3ddca0bc99fa60bb15f40bbdbf4a42bd10f0d1bc99ed96bb7cac05bd9a4f42bde891ddbcb098b2bbf06ee6bc27912abd1777d0bcc6c2cabb9a8fb4bc49b110bd14e6b6bc4b73ffbb9d4366bc92a4d2bce2568cbc4f40f1bba98ab9bb5d2c82bc5c7a44bc90e6e5bbae53913a171e15bbdc2a84bbab1883bbc2fa9dbbbf02303fbc1dcf3e31b1b2bbf8e05b3a6431233fb2aec13e180ad43a707ebc3b20110d3f3fc2aa3e2ea0323ccde5af3b3a8cea3ec279903eaa85623caee0053b3132b83ee864663e3537593c19c18bbba9e8873e8f232c3e890b143c69481ebcadb92e3e4ddae43dff0d1e3b0db062bc0f3f9f3dba644b3d17620bbb7f1f70bc399cf3bbcf9576ba8660f5bbe75e87bcc343a6bcd68f0fbc97c4f8bac1a4d1bc6c1313bd8a08b5bc50885cbbce94ddbc612323bde47eddbccddda3bb5720edbcbdb52cbddf1c02bda233e5bbb672a2bc4008f6bcea7db9bc1b6bc1bb5c41aabc649102bd68e8cebc98fd11bc498641bc002fb5bc99879bbc4114e8bb4305a9bb0f9042bc4d953dbcfc49eebb20daec3a7db92fbb585b82bbc5e23cbb380bafbb82850b3f82510b3fd1e442bb43353dbb8d6e003fd690013f1614aa3b89dff73a6e38dd3e9bbfe03ebd215e3c4e5e21ba3233bb3eb4d3be3e6852883c20802e39f1ae8e3ebf8e923ed05b5a3c233788bbc589573ebe44643ec46b573c2b991bbc286d083eb97f123e8a86b83b1c8c69bcb00f703de3108d3dd7bcf5b955b946bcb74709bc32e3abbae3db75bb7a0764bc0021a2bc025a49bc5d817eba24cac6bc68880fbd95c7e5bcd64772bb6911d0bc941627bd2fb010bd7516e6bb4f43cabc0d5426bde21e15bdf60c02bca27eaebc826110bd62a005bde3920ebc60a789bca3fcf5bc38bef2bcc4b11abc08cb2abc4314b0bc1a5ebbbc676b08bc35043cbbc67d34bc7a1b67bc83a5cbbb06c6023b8c31e8ba1e9d94bbe7c838bb92a60dbc27f4ce3ee7a3303f6fba963a8f76b5bb8650bf3e944d243f9ca1273cfa6fd2baee26a63e636c0e3fda25973c1f6e1aba803a8b3ee286ee3e93acb03c6af217bb701b5b3eef75bc3e22d29f3c5dd0debb0ff21f3e90a58c3e9117753c446b35bcae57c63d11b9373ecac00b3ca3b073bc45ed1d3d5ec2af3daad5543ad95e41bcd7a12ebce297baba31d44fbb3ff83abcac8ea4bc5c2f8dbc22e2d6babb06a3bcb75411bd4b9712bd0f97b4bb08d5a1bc239f0ebd791617bd1c5000bcd1a3b4bc94d91ebd74a831bd025f32bc822896bc9cf1febcc08010bda81e37bc1c295bbcc4e7e7bc53a20dbda78424bcbc9b0cbcbe5997bc1341c3bc63f112bc5717c2baecc218bc918383bcd590f3bb78cb4a3bc9e238b9567fbcbbe06c8cbbcd2d17bc95bb873e3ded553f3431b33ba837dabb979a7a3ebb12473fd4168e3c3e1095ba022d5b3e1b5f273f6a42bd3c295c9dbae686393e1cc70e3f701be93caca0d8baeb53103e10fedd3e10d0c03cb6c6e1bb4b39d03d3259a63e0af3a23c7d5e14bc79337b3d6756583e0dcf263ccffe70bc2865903c2e7dcc3dae58f63a99dc28bc7bc775bc99c714bb78e6c8bb40373ebcda5cc2bce59ad8bcd07a63bb87b887bcfe9a0ebdb5443dbd284209bc841ea6bc81671cbd289856bdedfb5abc761aa9bc0a4618bd959552bd88fe7dbcf42c8abc2b3af7bc879f2ebd323c6dbcbea257bcd120d1bcdee225bdd28063bc2d47fbbb7cf38ebc33d0f8bc07195bbc107710ba33e6f5bb2a4b9cbc969619bc99cf443ba1089a389676d9bb0d228dbb9b8fc9bbf9a0043e8f2e7c3fac01823cc9a086bb225ff93ddff2683ff75af83cd9419539cebde23dffe5463f0b161a3de1ebb7393663c13d2b0f253f75201f3dbf889cba10bd933d219d003fd264fb3c0b0ab9bb740d493db45bbf3e2f09ce3c448f1fbc961dc43c487a773e91aa6d3cd02964bce9bb18bbd369e33d4d6d373b308c4abcc85199bc457b07bc159b6ebb00000000000000000000000000000000464089bcfed502bd8bd038bda67c2abcb6cc87bcc348e6bc669d34bd7de362bcb0fc79bc5681efbc760034bda25d5ebc0ab86abcb4ffc3bca1e817bd7ab768bc24cf3cbc748ca3bc164e08bd45fd6dbce627debb3d6061bc96a8d6bc47dc51bc600c10bb0a30e0bbbea598bc894f2fbc0000000000000000000000000000000000000000000000000000803f000000006475393b30e2d63bfb377f3fee5d143d5e6d593b6a682a3cb631583fe07d183d6d25943bc91d193cc890323f6f54153d9f94b13a5faddb3b04f90c3f5642f03c2d490abbecee863aaf02d13ea77dbb3c74d1b1bb63d8cbbb21b0873e5a34633c561b22bc90797bbcea3bfc3d8c7a933b000000000000000000000000000000000000000000000000000000000000000036e359bc677038bc2117b8bbacad17bb155c64bc386349bc128d9fbb6d98b7ba374159bc980a43bc1844dabbadcd4fbb4ffd55bcc9ef23bce26fbdbbdff933bba70036bc047b29bce98fd5bb0eda68bb4a2409bc92f503bcb264b1bb1a8650bbda9df1bb5340f1bbdc9cbebb08078fbb00000000000000000000000000000000000000000000803f0000000000000000d6ab1c3cd062653ff4bf1c3caaa5143cb8ac1a3cdcb0443fc6013b3cddcd153c497dda3ba403243f276b213c59b51e3ce657a13b3886023f37dd0e3c09f42a3c8755453bf692c33eeff2f93b6b45033c7b71623af0ca813ed88aad3b5b18c23bf3103dbace1f013ef0ac603b44988d3b00000000000000000000000000000000a38220bc955bffbbe63689bba47101bba56172bcf45849bc76a9d1bb652631bbb1f886bc035e6fbc9c1adcbbafa833bb447784bc10786bbc58a905bc488a74bb97fd56bcebff41bc4500edbb6bd86ebb1c7057bc834447bc52b8fdbbeb068cbb6db139bc9f1d32bc538dc7bb231767bbfb74e7bb95e5e4bb964caebb8f686dbb0a245ebb0d2f65bb175b4bbb7ecd20bb9860cb3b2856643f7fe2053ec821ce3b4947213cf2184a3ff683f73d9a61203c84c6163c62412d3f1addd93d6a8f3c3cecbe033cf185103f4ae0ba3d05544c3c3e48a73bebd9e53e7d01953d2860263cb9cb753b3eecac3eda166b3d5ca0303c54ac8a3ab5d7643e821b1b3dc968f03b8cbce9ba00a2e13d95049b3c36f8893b29d736bb114cbaba4d7fcd399b18a13a389e0bbc7653d7bb41815cbbdc93b5ba388b62bcc3603cbc0f65d3bb89f735bbfb8645bc3a7f2ebc67eccfbb7fd434bb9cf670bcdf7658bc222804bc9f1b7abbbd7d3fbcd48c2dbc4e7ee0bbcd8b69bb1c2a53bcee9d46bcce060dbca77daabbaa3a13bc0f3ddabbba9295bb255c1ebbe526c8bb4b61cebbb43bacbbfdda81bb6c2dd9bad247f8baf794e8ba5201beba7d0daf3bd5df433f7bcf833e977f9d3b8c2a033cce6b2d3fa8ef6c3e9f281a3c303ec93bf8e8133fb2334b3ed422133c2618d43b850ff83e54592d3ece2c3b3ca409843bcf21c53ea6ff093e16f1143c52e9643b01a0943eddfbd43d03f2233c0db768ba0781423e600a8c3d7a68c23b5f253dbb3922bf3d33b7063dab06073bd0da09bb4ea738bb5d92b1ba9d005dbaf737f5bb70ffc2bb1e1052bb44d2a7bacaa953bce3cf34bc9f61d5bb007a3bbb9a8c5dbcc3f943bcb04ff4bb198d55bb53bf77bc4dc860bc6b8217bcdb869bbb65f847bcc16437bc512ff7bbfdd179bb8d6b3fbc384e33bc5aeafebb71578bbb021a0cbc668d05bcd78ec7bb3d0b69bb0ffcb8bb2da3b9bb5bed91bb23e335bb7ebe0ebb65b117bbae480ebbd49eddbab545883b6e0b233f934bc43e56de9b3b3193d33b1b7e103fd945af3e76871a3c2b21d63b4045f83e2da2973e8bbe5d3ce3bee43bcacfcf3e1416803eefdc593c4ef0833b3127a53ec7e14b3e4d212c3c06980f3b87b2773ebf141a3e4f64193caaa4b8ba2c65223e1c05ca3d832be63b38e88fbadb229f3d7b61493d42213d3b7d0383bb3e1167babe554b3a1ce4af3afa1d01bc1f4addbb68568abb966e04bbdb6152bcdf133abcce25b3bb39ac76bb20746fbc44115fbc17c003bc8bb908bbf4de5dbcffc74cbc524b0cbc333083bbeca91ebc1d0113bcbe65d3bb75ea57bbbe7835bcabb62cbc42bb02bcecab8ebb73e016bcc60e14bcec4cb0bbba0247bb700a96bb20df9bbb6124c1bb9d5a8fbb024a10bb546b25bbbc3c27bbe68e17bb9537913b4fbd023faeed023f1a55cc3baaa4cb3b18b7e83e07b3e93ec5f52b3ce9d8c73b3be9c63e544ec83e54843c3c4c09a33b502da63e96f4a73e6ceb453c7815363b99a5833e7c14853e9c570c3c8c90ed3a0aad463e6c714a3e0b151a3c6ab7ff3995af033ed9e8063e6cace03b588949bbd2557c3da8e5833d53ec1c3bed6d44bb75de16bbb371aa3a311fe03a9c72fbbb5683e2bbb97590bb18810dbb7a8c29bc4ec237bcf3d4f4bb240b5abb73414bbc416c3bbc2c8a03bcb1845dbbb28b5abc40ec4bbc20ff14bcc3628cbb850359bcc1e62cbccb0903bc533984bb0d0034bc82712dbc1d850abcc2489abb10060abc7cf309bc43c4ebbbbcf198bb677aa8bb4e8ab1bbbaa89fbb6cd85bbb567cdfba068104bb8e8f09bb464ceeba5cec6c3b5363c43e6870233f8874da3bc902963b17edad3ee755113fcd5f283c4c7eb33b9f12963e859ef93ed9fb4e3c439e953b03b77a3ebcc6d03e626b503c0255443b9ad6473ef0a3a63e0c0f313ce1e5a83a0374153ed09b7a3eec34183ca50988baa16dc33d5fb2253e0d6ef73b650404bb61003f3d9c31a63d5af9723b6ff418bb0695f5ba86e83db84fa9233adf7d11bc6fe108bcdffcbdbb722c75ba7dcd41bc334e31bc0ee3eebbb26319bb37f330bc96aa26bca046fabb83cb5fbb572a5abc781c4ebc928920bc923797bb9f8e1dbc1f6712bcce7ae5bb4ac24ebb3ce41ebcb02618bc42faf6bbd8b1babbe89ae2bb0844e0bb4ef6c0bbb6da6abb0858acbb86e7b6bb440fabbb337871bb59baecba21d913bb199a1abb511efdba1e16543b357e833e3ea8443f64571d3c6f6ac53bd1af6b3eb61c2e3fd219483cda2d823b408e483ee296143ffbdf343c4ce4903b648e293eac96f93e51c7633c7af8e73a627a053e9df3c53e2a19203cd854543ab5eac83d9259953ef1f11e3c1fa5e337960c843d90f1453e180fc23b1d1714bbd236f83c9454c53d7801733b6bf626bb9e0716bbd8dda8b9ee5e253a2fd604bc78d302bc2450c3bb0e9d28bbb5e953bc9c644ebc39ab24bc0c6234bb8a9245bcbaa13dbc3e763cbc9ad2c5bb88b574bccef25cbc4c845dbceb2d8bbb5e4c2ebc3f5325bcb38811bcb7a39abb0f0a3dbce14939bcbba32abc840798bb4084fabb2921f8bbfce4e8bb8a4d90bb4954adbb70b7b9bb6c91babbbbe785bb6e2eecbac9f90bbb15ab16bb50ccefba804b873b1992063e9af1643f16ef203c899bb73bfa03f33d2a794a3f28bd6f3ce28ba93b9e85d23d0d2f2e3f0e90733ca49fae3ba6d5b23d783b113f39a7633c3605373b04d08b3df0bbe63eea953c3c0fe1033bb9b0533d83bbad3e949b343c9f9488b7ed73073d225f663e1584b03ba79511bbf5c8683c13e4e33d697d733ba2b60cbbb5200cbb89fda8b9832da53a0000000000000000000000000000000038ba42bc65f21dbc86c602bc799e3cbb198726bc4e9e1ebc9b4d0cbc865679bbf57023bc2ade1bbc5d290bbc243185bb5f6317bc96380fbccacd02bca9268cbbf7e704bc55de00bca612f7bba3a490bbff98b1bb4b45f2bb0350b4bb8c3eb2bbff2694bb83739fbb5bffa6bb5f497abb0000000000000000000000000000000000000000000000000000803f0000000071b8aa3b1ee9fc3b14b6653f1f3f643c49c58c3b2403e23bf095443f9a494e3c7159823b2db4d63be6e2233f1806483c8b67203bb22c993be0c4023ffaf8223c8aebb23a2659553b9f19c43e18d8093c394ee8ba0a8011bab54b823e4182bd3b836eebba6b179fbaea48013e2cbf573b0000000000000000000000000000000000000000000000000000000000000000162a943b64f117be111705bc3617023c9ee0b7bb80f80bbe498491bcf5e8fa3beec687bc18acf3bdca3ec3bc7d57b03b0fdd8fbc6c0dc3bd0e20c2bc53fa933b05843fbc6ade8ebd5a25a4bc12826c3b420273bb29f534bd372752bce01e983b0d547f3ba4ce8dbc423d87bbd9a5543b00000000000000000000000000000000000000000000803f00000000000000002b819fbdf737a23fdb1f8ebd6ed80a3bf0a12fbd2365863f3485f7bcaf8ae9b97148a1bc8bce583f2b2e72bb337fe6baa9274abcd52a233fd64add3b1ba9d7ba664d3fbcaa59de3eba81fb3bdf4331bb40c046bc6a93743e38a8703bf55010ba464b5abc96dc583d91d7c1bb3bf8c3390000000000000000000000000000000033465b3c40cbbdbd71fd0a3b0c5fbc3a24e7dc3cbb5815becda3fdbbb3d11c3c8609183c73641cbe936fbebcfbd9083c5f6adabafe4608be55baefbc327fd13b5316a4bb7927d5bd9958f8bc99e58d3bf2906837fd1b9fbdd2a8cdbc762acc3b4ab9d63be69d46bdb55e8ebc1a81d53ba208243cbcb68fbc636de0bb19a3a73bebb8353c1640ba3bcec00b3b3ed4283b2fc310beb396a13f45f6623dbd3cbfbcb53520be6ea99a3f05cc353dd4ddaebc9c7ad7bd1102853fea1f983dd9fcaabc50e090bdb715553f6abea73d85db9bbc27a043bda3271e3f44b3a03d2a707fbca9ba28bd2de0d43e86ac803d8d3c64bccd68f3bc0141623e7676293d451f28bc39c41dbcd7a9323d23cb9e3ce356173ae1c569bce92e99bdf66f0dbc813e29bb80501c3c699f7fbd73b833389bee60ba3267893c6ca3f2bdbcc1b9bced0f7e3bdb44d93bf803f7bd108216bd3e84323b73c7533bafc9ecbd65082fbd8472533bbd0399ba72d9b4bd40af1abd15d78c3acfbca33b0c8e8ebda6d807bd41964a3b8573083c5ecc2dbdc52eb1bc08733b3b583f463c30658cbccc9d23bcd6b8ac3b94da383cb452633becb2d03a88977e3be4890dbe38b0863feda77c3ef84355bd092c21bea860863f9845743e691e57bdf62cd6bd34a3613f525c6e3eaae925bd51b5b5bddd253c3f12f3543e6d7513bd050a7abd3f260a3f28f22e3e4a53d0bc76c55ebd5df2be3e5c54053eda5bc9bc447225bdb7a3523eee98a73de7de99bc86cec8bc07fc593dea2b123dfb9439bcd71182bcada441bd7d67a3bb869d09bc78629c3af55d3abddd8e06bcf87d5bbb031a1c3cc23cbabd6fd61ebd12f01d3ac926dd3bd8d2d4bd2b515ebd1a12733a7d2ba73bc16dc6bd8aab63bdcd856c39c59be53a3dc3a3bd985254bdb760a5ba7b59ad3ba6756cbd31ba26bd94c42e3ab028213ca23a1bbd03dae3bc87f58f3b4812523c9fe37ebcd74243bccc9dbb3b78ac1f3c3f09f13a9041a43a1020b63b44c7eebd404b5b3f00e9e53e2c909abdcb210bbe2495593f2042e23ed058a5bdbb6edcbdd8d33d3f7fd8ce3e420283bdeb57aebda4671a3f1971b03ef6054cbd961f87bd4e17ea3e51f58d3e6d7d1dbd1c6a63bdc4c29f3ebc084f3e29bc08bdf1f730bdd33b323eb9a9fd3da5d1dcbca10400bd45ea573d338e4f3d01d8a3bc1123b4bca40501bd13eebbbb53548dbcfa53bcbadd2e01bda9599dbc02367bbb35d1c23b1e7e89bd334a65bd9cd0d8ba32af773bc5989ebdcb248cbd6fee30bb028a4d3b19259fbd301895bd9c8a61bb3c4f1ebb321265bd135757bdef80dfbbe99e903b380c51bd0aef49bd61d6d3ba69d5f63b48f7f0bcf11bfcbc6a6e963a0c2a213c643351bce09865bcbed5b03bb2741a3cc709e53a22bfa93ae08eb53b7825c4bd41c0263f8050273fc278c2bd54eadebd15ae233fa5d7253f9736d3bd5201a9bdf3a50d3fe1b9113fce9497bdf5b895bd35c4ec3e0672f83e97546ebd072b38bd7443ac3e98c8b63e071cfcbcbbde4ebdd8197c3e8d6e8b3e102314bdc9e61cbd40820d3e5b79223e468fe7bcca4aeabcf2ad363dd2b9823d50a9cabcb73daebc02a1c3bc88202cbc601aa9bc09d695baca24a5bc63d007bd0f7dc5bae78e1e3c4de543bdf9eba5bd9d4df0b8e3e1243c990d77bd8ab3c5bdefd461bb24dd093c13fa72bd3472b9bd25c0a1bb6e54cc3b328a5bbd5ad49dbd7393cbbbd674103cf48826bd7e3c6ebddf976bbb6878163ccb70d7bc51c818bd6cc9f03a7b35153c5a502ebc08f07cbc8033d83bf393c03b62850f3b9e77d03a16cde23b890d9abd692ee63ecf325b3ff1adeebd3839b0bde823de3e5a6b5b3f32fc03beaba391bd7e4bc53e8615413f514dc1bda0746fbd296fa43e9d781e3f75e78bbd6e2849bdebdd803e4b5af43e1a6244bd166027bd6876343e62afa93e98e01ebde9f602bda4dccb3d7ed6463e62dd05bd3a78aabc299c023da1008f3d4f5fd7bcb8f761bcc771a0bc36a09ebcc737b0bce6973f3b52fe0cbc50ec54bd36147c3b42983b3cdb48e6bcdb32e0bdc485923b76ea363cb56126bdc1d3e9bdbed668bb8e7a403c455a32bd5be8e3bd112805bcc080d73b2d701abd1d4cb0bdcc0511bce0f8153ce3f500bd911e8dbd586562bbe5550d3c401b9dbcd15425bd6060a9ba8411d83b27da13bc79b595bc51ab063c3ce1843b6d490f3b45ed483bff46203c66cc51bdbc637b3e83dd863fd5170dbe268265bdc07d693e4eec863fd15417bee65539bdb17f5c3e9e3a643f8c3cb8bdee332bbd5c533c3eb57b3f3fe8d58bbdf67e03bdd78a153e2aea0d3f787724bd6a71edbc34fbd33dd1f5c63e5a860ebdd9a1b7bc125c733d524a613e04b3d2bc448a2dbce674943c6859883d2dd2a0bc8909a6bb4c4868bccbe11abd50138cbcee84853b09b342bad985b2bdafdd113c1fd7723cbec892bb0eb10fbe15e40c3cd7128b3c7e20b4bcceac18be73d890bb1f347a3c6f37eabce0fe05be37ef4fbc8da13f3c2358e3bc3e44d4bd51f073bc067b303c3506b2bc0a2c9cbdbac021bc8a74073c9d1266bc590643bda258a0ba790a7f3b6a6cd0bb27448cbcf71cfd3b0994903acea6343b045faa3b74b0183c606cb9bc8706583d79bba13f8b480fbeff4cb5bcc063153d57b69a3f29e015beb5a9c9bcc242603dd3d8853f60c4b1bd847fb6bcdae3783d74e6563fdce444bd885d9cbc820c653da1fe1f3fe12dcebc3a747bbc3b711d3d54c4d93e058595bc311817bcf974ad3c28de693ebec371bc5171103b2caf243c2e7d4a3d3dc0fbbb36dcdf3a999060bce35a8fbd17bc62bc00000000000000000000000000000000a5d0503ce02ef4bb30be16be85b556bb9a30683c51c571bc0f6a0bbe9bdd79bc0fef343c85d2b6bc11f6f2bd1ebfb1bc65c3143ca17ab6bc54adc1bd1dd9b5bcc216ef3b8d2b85bcfe348ebdb47297bc96c2c53b5b4319bc5e4b36bd9f5d13bc204a333b7d2d05bb6f338bbc37919ab90000000000000000000000000000000000000000000000000000803f00000000d132023bf54aa0bd4d52a23f542788bddab722bb596033bd8084863fc764d8bc963f99bb9d43afbc0be7583f6365283a84ffb0bb5f0844bcbc8a233f56b42b3c57e492bb8bc631bcc8eade3e91d5143cae60d938a6273dbcc895763e18235a3b3096413bb16b6cbc4271603d7d909dbb000000000000000000000000000000000000000000000000000000000000000023e450bc193ee0bdcb72b9bc8382103bec3f8fbc766cd5bd52c9eabc193195ba1ecacebc9720c2bd15a101bd468d83bbb95faebc4549a2bd39ccfcbcfcd2c8bba6b867bc75627fbd1654d2bc088e93bba0035dbb52052ebd686582bc0a07c4ba5d10de3b7a4fafbcf7d9d5bbb0e6703a00000000000000000000000000000000000000000000803f0000000000000000843a2cbdc0ab983fd7ebd4bc4b6e82bb4426a9bc532f7d3f482e763b774c4d3bfbfc0ebc58314d3f042cb23c4ccb073cb0e60bbcacdc1c3fca12c83cec201c3cd5d98fbcfe97dc3e4b8a9e3c7909073c9e07c5bc6915813ecf90f23bab8a533b954c02bd4194a13dc6bfebbb19b613bb0000000000000000000000000000000053f035bb65d488bdff8d09bc3c1c5ab700ef2e3cf58ae1bdd899b8bc4938413b6c2467bb0849eabd0d8112bddb0885bb59de1bbc3f75d4bd3e321ebd433dd6bb690133bce2afabbd94ef12bd4eb809bcfb0c8fba2c4288bda0f5f2bc5b0a9bbbfafce43b18da39bd2b0997bc8404dbba0d57553c124fb4bc1cac04bcdf3c613b533b543cbc4ba6b9a76bca3aa184143b2cfbbebd9a2d983f5c8fc03da2bc0ebdc18be4bd1f7e903f5baeb53d9c75f5bc62208fbdc1b2753f5d45e03d80b66bbcd74d49bd6fc4453f07c2e13dc236f1bbc4301dbd4953143f2788c73df05cd1ba3dcc34bdf412ce3ee0ed963d6da094bba93c34bdc5f56a3eeb02353d7217acbbbe910bbd67828e3d12c5893c716a4039823aefbcf06051bd1ba659bcfa57fcbb29de14bb453131bd774ce3bb5059a8bbf61b0d3b3830b4bde82c01bd62ddb4bb6a3b20bc40b9b5bd92f526bdb1c515bcdef7a7bb5e87b8bd01a13fbd5b6442bc42e8ebbb6a0d94bd61aa2abd860254bce4b1ed3aa9fa72bdc8dd0ebd6eef00bc4071cc3b61631cbda92fc5bc1c3b9dbbb8bb5e3c13ee9ebcdff335bc5f01a639fd52453ca505f039a2a4043bc74a283b0b58c9bd37217f3ff5b7893e1cc955bd11c7e8bdfd107a3f9a29883eaf2c3dbd67718bbd676c4e3fc77c813eed33b5bc6bf488bd0dac2d3f456b653ed32a8cbcd5974abdf128013f62dd3a3ed5b9bfbb99435fbdcc6eb63e2a580c3e4f0032bccab641bd6c60553e0a5fad3dd9d742bc814e27bdca578c3d46ba153d03fb38bc9450dbbc811d0cbd21fbeabbb7e95abc19e40cbc94d609bd288e1fbcce8811bc90c75aba28148ebdcbad1dbdff3945bcc373b1ba65e2a6bdd9735cbd6a6579bc8136b7ba32a19dbdeca063bd20b888bcfc24e4ba3fad87bdd90f51bd02028bbc7193a83b450852bdffac24bdcdc751bc312c283c82750dbdc926ddbcc626dfbb3fd9673ca4c789bcf87257bcdf008a3a16cd3e3cf1299bba12db0439218a5e3b03e6a7bd6d93503ffe0ce73e958879bd903fd3bd872e4c3f1f52e43e674d74bd4915a8bd756f303f4d5ecf3e8fe00fbddd9f8bbdeb180f3fd120b13e15b39fbcce4172bdf1a7da3eac5e8e3ea5f13fbc858f6cbd1417983e7161503e95e64fbc5d165abd2326313ea881013e017786bc3b1b32bd0427743d7d315e3dfad69cbc9072efbc848ec9bc7c6daabb34b0a1bc1c12ecbbc321d5bc82f274bc43082dbc7cd9adbabb4d65bd157744bde8e380bc376dc7ba776081bda6b281bd07df93bc170147b85de882bd2fff88bd37a6a8bc8740c9bb4b4f4bbd6b1c53bd5920a6bc5ff6e73b827139bdd94944bda1857dbc41a7143c6b8de2bca4e1fcbcbf400abcbbcc413cf1515bbc5a7f6ebc5b0b9439dd96243ce3848a3a47436e3a72b9713b71c794bd789c213f184a223fb48d8ebdeb30b3bd8b491c3ff410203f850989bdb6cf8cbde719063feef50c3fd4c40abdfabb85bdbbb5df3ef73df03e645eaabca94228bdf61ea43e094cb33ed5e908bb83b864bdc4d86e3e3a9f893e8bd759bc27b143bdebe3073e93d1273e623189bc011323bd108c3a3d4053913de727aebca8bee0bc4e18b7bc9100f8bbded5b9bc796967bb9ddcb4bca9e8b3bc15f213bcba33c83be34e37bdb93281bdeaa087bcc8e40b3cbfb660bd4168a3bd27f6b3bcb938173ccd865ebdc8b1a1bde4d9bdbc9068e33b1a0942bd696b8cbd9604c2bcd0a42a3c06ee13bdabd45dbd98478cbc37d0523c559dc5bc173716bda4a80cbc24cd393c4f7a3cbce8ba85bc911bde3a3b23033c1f0cb53ae2d0ff385ebcb13b44d386bdae46e63eee3f513fb4cea3bd3437a0bd61f1db3e82a94f3fd753a5bd8ea18cbd388dc03eb3a9363f41b936bd364176bdcbb79e3ea29a163f4270b3bc901f5abd696e743ef064ea3eb47311bc49f64fbdfb08293e13f7a73ec93a45bceb2939bd0299bd3d9d7b4d3e187b88bc03d604bd055be53c11d3a73d1131babce7dcb0bc0ef8b0bc31f63ebcd114b7bc7e917d3b45af89bc0d140cbdc944dabb1d436c3ce5be0cbdaf69aabda01d80bcd01c1b3c46c530bdcd38b5bd3510b3bc304d773c72f432bd0c86bebde185dfbc04f80a3ca31f19bd3a2198bd3cc7cfbc4aae643ce710f9bc736780bdbf9e97bcbf3b1e3c6828a2bc2c611fbd149822bc4768193ce97c0dbc9189a0bc3d9d3a3bdfa2a43bde42413acac94d3a3ae8103cae9c5cbd49a6883ea79d7f3f1e57bfbd457584bd400a7e3e900e7d3f414db7bd4d9a45bd0de0683ed299523f89b8fcbc27ae56bd4403403e2ec7333fa3ad84bc7da02abd79d6133ee83a073fb61a03b982ba2fbd9e93c93d8cf8c33e54e4aabb22da09bd0b125c3d99696a3eb4a32ebc05c9b1bca6ca313c98cfb13d140ea4bc5e4e19bce767a2bc8d83b6bc5152afbc2d07093c2eeb82bc8e3074bdaf50c0bb2ba0d13c6595a4bc0907debdfbbf70bc2d74bf3ca6a9f4bca9d1f0bd08d3debc9ef3b33c70a702bd6866dbbd67f90cbd91b2823c2195eabca7e8b3bd892afdbc18b9883cb180abbcbb388fbdfcd2c1bc0e8d4e3c6e4e3abc404a3fbd4c1d37bcc1dcad3bdcd2bfbbc1f0a6bc5501813b57f0303b3380323b4a33ea39e3bf1b3c0e7c15bda94dbc3df034983f4c74b1bd0ff338bd4da2943d418a913fb47fafbdc3642bbd992fa33d0444793f46c1d6bcc4fb24bde569943d369e4a3fe4f3113bfd420ebd2fea6c3dbf7b183f1926733c62fb03bd073b0d3d86edd63ecf14023c1abec0bc73c5333c58877a3ec50234bbb4c791bbdb4689bbf4cda83d17d761bc5ac5ccba0fcfc4bc616d37bdbe46b3bc000000000000000000000000000000004a0f9f3cea38b0bcf472e6bdfa9fbcbc4bf2973caf51c0bc9682debd57a702bdbeab743c2503dcbcb5f5cbbd40a617bd466e4d3ca309cbbc9a3caabdc24b12bd5e691d3c484687bcf08b84bd9ffce9bc9a9a253ceed217bca7d932bd4a368cbcd037e03bca30a1bad26ab3bc861a30bb0000000000000000000000000000000000000000000000000000803f000000009bc499bcc24b28bd383f993f1ad78cbcf3f69fbc6ad1acbc4ad37e3f23227a3c9278a4bc622839bc3f614f3ff195113d858591bc25bb05bc72c01e3f1c96143d71238cbced2b6dbce7fadf3ea22ade3ccfcd50bce7f598bc369a833ec5d12c3c6fcebcbb4c15d6bce532a83d909d17bc00000000000000000000000000000000000000000000000000000000000000007e1409bd48845ebd9c23ddbc4af84fbc1fc208bddebc60bde5c2eebc41336ebcf4340dbdce435abdc01203bda1bf86bc1bb3f6bc3bdb3dbd60a8e9bc457980bc640aaebc8ab21dbda22ecebc3e2980bc69c51fbc76b2d5bc772291bc9ba748bcd65dc93a9a2a63bc1e2b2dbc88cd1abc00000000000000000000000000000000000000000000803f0000000000000000bf3c803c4d9a853f8ee2b43c3bad893ca615813c83c5603f298d043d8387d63c7fd36d3c2955383fa5311b3d113d043dca42003c013f0f3fc0fe063dacacef3cd07b7bbbe482d03eea9abd3cb3dbab3c1d0b7ebc50f5813ee54f093c0d970d3cc68ce0bc3d2ad53de94e05bcd92fccbb00000000000000000000000000000000d66abbbc39eaf8bcba7780bcf66631bc5da4cebc974652bd29afdfbc68ee85bc67f4f8bce8e672bd0b5d0ebdb0789ebcee89f1bc44fb64bd524513bd297ea7bcc7bfd0bcdd7745bdf4f806bd9cdda5bc5c5c6bbc82231ebdb737e6bcc29399bcb8446bbb06a3d4bcca9da4bc313479bc1cdef83b287747bcbea50cbcb5520dbcf234193c67085a387f9cbcba15e29abb13fdf3bb16c8843fcf76093e5b7008bcb0642fbc25f2753fe89c073eea3fcf3a83c7a13a2b98503f93fb093e6e31b13ceaa8daba12902a3f7da3fb3d2cfdd93c161d78bb4361023fd048cc3d2887d53c3abc8dbcd7ddbb3e94ee923daf06853c9d9de2bcebd8653e64b01f3dc012293b300b0dbd0c48b73dea43e13b61f147bcd408efbc4362d7bce3d98ebc6c909abc21b28fbc8d1aa5bc898337bcbd054ebc8154debc2de93cbde700e4bcb89d8bbce6a5f4bc337043bdc62004bd41019abcf894dfbcb6c04fbdf6a320bd2133babc2f95bfbc772e2abdecd70cbdc5ffaabc6bef41bc45670fbd7afdf6bc8767adbce69eebbb00f6c2bc80c5aabcd0fa7abc5ff1c03b4e572bbcf2aa2bbc915f2bbc872d123c82b3c83ab2d000ba217970bb1baf92bcbff6603fc0d08c3e957b5bbcaec78cbc9d4b543f3ff2883eb542e23910377fbbcbe72e3fd0be773ea51f963c6adf13bc9a00143f0db65a3ef361d23ccb4533bc3678e13ec2ad2c3e7efec63c8e47c6bcec89a33e4000ff3de93e6d3c66acc9bc101c4c3e0bbe9c3de18c803b663a15bd715fa33dbdccda3c527053bc5738e1bc3be497bc43b84ebcc22c96bcb1c99bbcf029a6bcc35f34bc12623abc3e09ccbc0c3a1ebdce0ae9bc4770a2bcfb32d8bceaea41bd25c21cbd4813bdbc6695b6bcf27140bd615621bd26d1d2bc81b5a7bc155f29bd995017bd94ddc7bc2c841fbc179701bd2d36ffbcfe07b4bca12742bbcb21adbc8f42a8bce04c8dbc29660d3c383524bcd16b3fbcc6c736bcb111db3b7412db3a6757deb87d008ebb92fa8abcb5ec393f3a34da3e411121bc23cba4bc667d2e3fecb1d03e2cec2b3ba08c5abc930b163fd541ba3ee1aba73cc0147bbc53dff53ebc7b9d3e5951d33c1ea287bcde19be3e5b9e7a3eba50d43c0d36e5bc2c9f873e4c05363e49c77f3c1cc510bd299e263e7471e43d58ef293ab68619bd352c843d2f54393dde9152bcd9e8dfbcf0268cbcd2cb27bc21238cbc55a597bc480992bcfc6938bc45b726bc0510b9bc4c4112bd64bff9bc3197a4bc9a25bdbc51492bbd205720bdeb59c0bcf025b0bcb22034bdf4792dbdb3bed1bc5eeea9bc8aee0fbd2b640cbd06a8b1bcffa513bcea35f7bc308508bd5f95bcbc468dd2baba8799bc163db8bc0cab8ebc0856b93b87a8b4bb975b40bcc60844bcb731103ce423163a138a37ba592f3cbb7dd382bca3b3123f2e99133fb56b21bc55d4abbcf94d093f564b0c3f1d0fd93b71b96fbc8581eb3e7895f43e4f7ebc3c7a0889bcc54ec33ea596ce3e5f55ef3c042549bcea32943ec8b69d3e18f1d93c0a3fe7bc5c04573efe456e3e957b8b3c0b0805bd1a9b003ecb3a143e5bc17a3b49bb1cbd100b413d661b843de03633bcbae6dbbc99a092bc3ad221bc6ae18cbcbb4576bcd04391bcc2d34ebc2cb120bc47689cbc51a008bd182e0bbdf00a9dbc51208bbc868c26bdb90f3bbd82f9cebc090580bc9bbb20bd3c2e3ebd0315dfbc5f5562bc2ea80ebdaf9d2abd3731d7bc3ecfa3bbf8d1d9bc1e410fbde6d0c0bc353fe03af16589bc1f8bc9bcef4693bc60e6d43b3d5dddbb9c2938bc57da0cbcb5e1da3b1c32713ab4fc0bbaf0d599b97d2894bccee9d73efe483a3ff1db06bcf83dc4bc2f77ca3ed27a313f3095b63b6f0e9ebcfa44af3e037c1a3fe161c73cc574a2bcb391903efe54ff3eed1e013d7d9cb2bceb1c5f3e6227c73e7226ef3cfd0803bd09b51c3e7d49923e90849f3c26530dbd50dbb03d5465373e4ce1983b78bd10bd2472e33c09799f3db32526bc9eb8c6bc6626a5bc044836bc1ebe78bccfc914bc813a8cbc485a84bc9edd17bce2e02fbc18f602bd79602abd777dacbc091684bcce1c11bd18e036bd2c8ebabc5b6929bc4a5c12bde7ac56bd0d82f0bc7ef929bc7946ffbcdc3d31bd7174dbbc8f3c93ba0f64c3bcb2191cbdcde5cbbc33d0a93916cc8dbc7a9ad5bca2ed90bc9b2aed3bf018b5bb2db83ebc5bef01bceb5ee03b0c46093bf1d2a43a51af273af6b4b0bc9dec8a3ea8ae613fc54e13bc8e8ad8bc85b6813e5323563fb16e283cd0dc68bc3e15643e3787313f604eed3c7da2b2bc6b1a3d3ec595173ff496163d9eff9dbc202d113ea184e83e8df7053d4472fbbc0b7bc13db624ab3e5eb0af3c9edcd5bcb5bd633d0d0a583e5b01193cb50507bdc843003c26b4b83d318615bc655ab8bc8d0facbc86e84ebcb3ec80bca8f7d6bb8e57adbc30e6ddbcb82a53bc9975e0390863e9bcca4056bdec71bfbcf4869abbf47a0abdfc4c76bd59d8f2bcfb2b8cbb15b704bdf68c6dbd911103bd44edb3bba60feabcaf944abda713eebc70ca1d3b49789abcb3572abd2250debc2525ed3b8e0944bc2bfbe9bc25d99fbcac80313cab3c3abbad8860bc7b740fbc5efdb93b6a1c463bffe69a3a25dfce3a910989bc7f0a053eb01d853f424e483ba50ad6bc9e2ded3d3dab773f4cb6983c5b759dbc0bdcdf3d80ec523f81b7263d17d2a4bcba7aba3dfa542c3f3840373d5fb39cbcdd718d3d71c1043f53cd213d58efe9bcdb541f3d30d9c03e6d08d43c9845fdbc84c6473c71916e3e546e213c8b7ce0bc68da2abc98ddc53d333906bcdf6fb4bcc91ddcbc26e4b2bcb27789bc000000000000000000000000000000006174c4bbc800f6bc57685cbd4088b9bce2a8d3bbd59cefbc41bc60bd6331e2bcf39c12bcc417f3bc2c7e59bdeddbf5bc39b2f0bb91a9d1bc7f043dbd55f8f6bcb3991ebbcbb9a1bce45520bd4b7bdabc773c803b963d34bcaa47dfbc41a0a0bca0f4f63b6df750bbde7a6bbc2fc72fbc0000000000000000000000000000000000000000000000000000803f000000000d3413bc6d2bc03b5b08863f6c9d1d3d9cc209bcf85b1f3c49a5613f9dcf3b3d0df507bcba322e3c0851393f77ee463d366d32bc45c5a23bc582103fdaa42a3dd8dd87bc91d39bbbe13cd23ee6b8f63cc21aacbcd28681bc188c833ed1db5c3cf34ec6bc3763dfbc2d7cd93df4429cbb00000000000000000000000000000000000000000000000000000000000000001c53bb3cdb5f39be3f382c3ce916db3bc1070f3cc9b328be2f29b4b9fac1183c0d228dbb6b9118bed65a58bc5fe0083c4662d8bbfc5cf4bdda9071bca6d9863b62f2c6bb80b0a9bddbe14abc6dcf323bbf838bbb0c8842bd886d11bc9b7b533bd343cfba9d4d15bc768f83bb5496a93a00000000000000000000000000000000000000000000803f0000000000000000df91febdd74eac3f24baf9bde7a64c3c9759a4bdfcaa8d3fd4f186bd2c5b733afe5750bddec6673fa01dfebc63693fba95c6f2bcedf52b3fddff10bcede4c8b8019965bc9b91de3e460ab83be18d9639c3c3c23bfd2b5b3e9c41873cdc7c953ad5298b3c41f6ad3ba2c68a3c817dc23a0000000000000000000000000000000002a1f03c0214e5bd360b633ca2563e3bad292a3d225521bea319353c622ac53b0929d83cbd0233be310516bcc9ae283c4488823cde421fbeeb4aa2bca32f3f3c9a5ce13b4c6ef9bd7249c3bcb9060d3c31df253bef25b1bd3c9eabbc75cee53b03c7253b75be3bbd7b3f83bc06b8c13b27bf1ebb1f9172bcbf9f01bc06660d3b3da3833ba6c15b3c2f71e63a4be7153bd4184bbe1a1cab3fe7ca013c97e464bca4e543be35df9b3f06d9a73cf5024fbcd7871cbe67208c3faf9f2a3dce9fb2bc6157e9bd67ba623f8efc663d1dc5aebc5d8794bd7745263f16a98c3d0a5d91bc720814bd9209d63edff2833df0ac6abcdc44abbb4efa463ed0365e3d132e1cbc8f5b093d8781813c93a33e3dcd7bdcbb6e92b83c46edf1bd9e58ec3b7e59013b1e3dcf3c1af191bd421c8e3a80410a3c24480a3d257d09bef4909bbcc927573c3198d43c5f1514be233d0fbd561c503cd2b78d3c354d0abe4ce429bd1304603cc2e3363ca493d6bd311021bd9fb3cb3b9f051d3cb9839cbde55d03bdba50e53b0ea0d43b13f929bd3cdda9bc1b4b9f3ba7678b3bfb1b6dbc506a0cbc19548d3bd901b53bb94cb43b931a7e3bf041343bfbd64abe3ddf8d3f1b2d683e61e176bd32ef54be93928c3f474c613e07b980bddf122ebef8da763ff9c15d3eb9d16ebd77bf07be0585483f99f74d3e958346bd3803b0bd1d6f123f61c9313e180010bd5a4955bde805be3ee8ee0b3ef5eed7bca21a92bcf6eb343e7521b63d3d054fbca27f573cd3b9a33c64863a3d6b8299bb4f51983cee3799bd076317bb9af4053b1a79883cf8c461bd52a580bcac26373c6bddf83c9f82d4bda17e47bdc4629b3cbb75c73cf298efbd8f3682bdc3b59a3c557e8b3cc61cdabd16df83bd6069433cd5946b3c451eb7bd5df577bdb23c113cfacf243c744981bdfed139bdf082cc3b4841113c740c19bd54d4ddbcba20d83bf72bdc3b3c1365bc47a723bcc150c53be854cd3bd13d833b88357f3bb3fbf63b4a673abe490d6c3fc57cea3e794de2bd085747be833e663f7e06e63e6b4ee9bd18b626be641a4b3f8a9bd63ead80cebd5a2ff7bdab52233f7f05b93e625a9cbd8982b3bd59d9f23e23ac973ef2886bbd6c6356bd209d9d3e8a15593e027814bd5994a3bcae7a1b3e32a9013ebccba4bc4af0c73bd3aecf3c1353373d74b523bb830aff3b7d8363bd28ab9ebc7240ad3adef9533c588f14bd26c00bbde6d8773cd477b93cdd1292bd35479dbd20fdb63c481a933c8cf1a8bda1ffbcbd6fde7f3c2e038a3c48bfa5bd3dd8babd5c884e3cde35ef3ba9de80bdbb2f8dbd034937399eda1e3c96ce52bdfb7a6cbd769fdf3bb495033cb9a6efbc94ee04bd9c79c93b4edfaf3bafb74fbc50f333bc042aa83bc630c43b8929593b83dd9c3bf1b0173cd47e1abeb82d323f7fdc313fef031fbe5dc921be09542b3fec71303f164224be8e5602be7fda153f914d1f3f82f601be8125d7bdcf13f63e430e083f3d82d5bd37d986bd4d5db33e1773cb3ec5b56bbd1cb241bd2ba8753e51de913eabfb39bddc80adbc1bb6fb3d20201c3eb67ea0bc11c8973a9f19fd3ca1af303d903e033a40fad43b274919bdb02d13bd6f5f343ab6eb0d3c6cec92bc686256bd2ae5993c15e9853c576429bd6188d9bda3a5d43c1acd923c0f425cbdd6defebdb110953ccb907f3c2b5968bd3b9fe4bdd6d9143c5a43493cc19b55bd9f76c1bd670ead3b24ad1f3c08651dbda83a8bbdd6a79d3b9316d03b3387d5bc89f11ebd1e31ac3bfc05da3b4ef45fbc063243bc1abdd83b5e809c3b19230a3959facd3b5d4c0c3c1060dfbd7dfde93e918f6c3f003d3ebeb3e8ddbdbc57dc3e5e676a3f770b48be6b8ec7bdcaf9c33e90f9523fb6ef20beef9b96bda351a13efa992d3f261bedbdf63966bd04f1783e6f80053fc216a1bd1f8e15bd4cf52d3e121ab03ed8603dbdb4bd91bc9ae3ca3d9b64353e1e528cbcd959ffbade8e0e3db1f1103d96e0c83b70a6893b715d97bce14561bd2765883b3ed57a3bfd7aee3acd258ebd85fecb3c69232d3c3b1c60bc2dda0bbeb06cf53cf8706a3c6cf5cdbcbf6517bec3a27c3c7b083b3ce9c604bdf7c90bbefda5143c9267173c30c100bd531fdbbdac1ba839cdcc113cc003e1bc4420a0bd4892cd3a5cffe13b320ba4bc03f82abdb7664f3bfc2e6c3be7cc3bbc2b653cbcb01c933b1e101d3be4fc0cbb7a51193cf0b6063c3e6d6fbd5c3a693ed41d8e3f406c4fbe489c6fbd0b61503e500d8e3f460152bed5aa56bd4daa3b3e447c7c3f2a6122be28e12fbd67eb213e8940503fb272f1bd84c3fcbc94d8043e4ab2193ff4798cbd893ec4bcc2abcb3db81ecc3ec4d518bd11151ebcaedd843dde4d473e4ce624bce11b70bbeaf0163d9d6fd83c732e633c4a20e23a37020a3b83959abd89a6573cea73f33a2d276f3c31c3e4bd5962f43cbab99f3a9c84803cf9f220be409e0f3d16f22c3c8dc73ebb2bc832be29288b3c244f213ce91933bc97031fbec325673b2213173c6af68fbc05b6f5bdd3f3b3bbc1e5c13bd45e83bc9675b1bd2969a5bb6b67903bfb8b61bcbbf83ebd15d7d1ba1fe1173b808b4dbc707338bc532a18bbb1408ab7b8df21bbc8026c3cc8f9ec3bfcc74fbc9b182d3c1005ab3fe97750beed3addbbcb33213c9d989c3f1b4840be27f36cbcd817a33c30758d3f2c2810be315256bcd30cd03c0a47663fbd3ebfbd532b2abccc48043dd7fb293fe86e4cbd8911bbbbbf93173d480fdc3e4d7896bc46ce69bb7b111a3d3a66503e8369b43b4b86bcbbc0d8323d5356933c1062043d06fc263b42d4643c3f14f4bd2528873c00000000000000000000000000000000c5a9f53bde48813c3de237be1ff2703c9db9013cecdfa83b117426be676481bb6f80123c4011ffbb798c13bebb3e94bccb33dd3b9df312bc9af5ecbdf97da7bcba72823b92c021bccafaa3bd0b9a78bc5463913a3d8415bcd3b532bdcbaf11bca3a93c3a9729f3bb537cfabbe5ecb5ba0000000000000000000000000000000000000000000000000000803f00000000b2b66b3cff9505bedf3eac3fc23cecbd6ea9de3b4bd6a9bd80ab8d3f20f06abd72f44d3bedd265bdc863683f0ae4b1bc5ebd613b185a14bd636c2c3fa0d25b3a1845643b26988dbc4927df3e932a723cf9aab13bf14c633be0905b3e804ebc3c33b5a03b5add6a3cbd06313b99a7b63c0000000000000000000000000000000000000000000000000000000000000000257d083d8def20be4e9e39bc1a79b83b9644d53c89090cbe1a63e3bcade6b0ba87d34e3cc4ffeebdbb3219bdaf4d34bc13b00c3cee01bebd7bc709bdaa1e5cbc5e2a053c561b85bd2be6e1bcbc8e79bca56cc53b91061ebdd4558bbc3bc12bbc7178293b15fa39bc28e56dbb5749b3bb00000000000000000000000000000000000000000000803f0000000000000000b59208be8a51a83ff45ab4bd042e833b856fdbbddf43893f23dbc7bc750f5b3c64f7a8bd0d7f5c3f36278d3c6cbcbd3cd0668ebd8e8d223f53b9133de6eef63c797e60bd56c6d53e2e3a143dae3a0d3db1c5f9bcafc1583e9586fd3cdb40033d646e74bb327b843c3e69593c4676bf3c000000000000000000000000000000000682093db0b1d8bd222cdd3ad5b20c3c9e30783dbda719be7b9439bc8164f03bb435353dc48916bef99710bda7b7ceba3a42113d844300be301835bdead025bc1b1fbd3cb2ffbebd17bc2abd98df94bcf8ef9c3c525a8cbd998c02bda57b8bbcd33a573ce56221bd82f1a0bc36fc58bc9eb3e13ad2d846bca139ffbb5cf219bcd530563a15e7023c8e7c823b6a85173b78d23cbe2e25a83f147fe53c4a23e5bcb73c61be34c89c3f7b790d3d30072bbc00b537bee1e7863ff49db23dad69f7bb968b14be2290553fcccddf3d1c8dbb3b984ddebdba551a3f02fae53d1c75ab3c5b219ebd987bc73e98acc13d0a2fe43c5ce510bd71033d3ed470873d72bde23c1342b03cc935333c854a243d440ec93c6245c23c61fbd9bdb5f886bbdf55e43b35a0003d4d0595bd8195f9bb82ad2a3cf5014a3d79c5fdbd6da012bde494013cd1ac293d8609f3bd74495fbd2210afbbbc61163d3063debd5a036abd7c2260bc0772bf3c95e3a1bdd2d655bd0f8ca8bc53fdbd3c007a73bd2ac528bd23e28ebc8489723cb6460abdedc5c8bcc6a358bc2b01c63b040d38bc8de92cbc2be7b7bb716f813aa84a873b13c0433b072d6d3bf1c03fbe46278c3f6f87773e42b68abd368961beb2bd893fd53b7b3e768462bddb5739beac26683f7f6c843ee6a108bdd0d121be8c763a3f3d74793ef2a948bc226aeabd674b053f7f5b563e99603d3cacdaaebd2d79ad3e4d3c253ed27d923c0e1435bd96ac263efa67cd3d43beb73c6476923b271c533c32a82c3db947af3c3177c43c914d94bddf3f0bbc89caa53b511ab73c07446abd25e8abbcdd91333cac8d353d0696c4bdd40471bd44821e3cbb9f2f3d662cccbd87e097bd0d90b1bb3e1d123df31bb0bdb33096bda3e08cbc3324f33cccf48bbd8dd183bd6cc2bdbc02cbb73c3e4e44bd95014bbdefaba6bc8dfb813c35f2ebbcc87efcbce0fe52bce9deef3bfac435bcd64651bcb0838bbbdb0f253b29c58e3b87e5963ac3b5dd3b47402cbe7863683f99d4ee3e11b9e8bdc24851be4b23603fc7b5f03e00ebcdbdfa7d39bec15c3f3f145de43eaa0c82bd40c718bed477163f9e92c73e0073e5bc2ecaf6bddb39da3e4a09a43ed8f633ba34ffa7bdd1498b3eb8c16c3eee01603cba3a34bd7735053ef1890b3e8bbdab3c534cebb9d775603c0e25403d7a88ac3cd4706a3c63cd69bd911eb3bc3d00273b40ea9d3ce0172dbd80be0dbd3d47603cf369173d98c58bbde72da3bdb70bfb3bc285163deb9e93bd6b54bbbdd9f549bc9401103d4f5e85bd380bb8bdfc66b1bc3260993c394645bd86208bbd7117f6bc7632c23c38811dbd35b663bd379ec7bcc3f9763ce546b2bc8a9e0abda52565bc8cf4d93b6ac704bc97246ebc33343dbb0043ca3abd60f13a0d80253b25c5083c1c8212be0e51303fc535313fc26e16bec1542ebe3446273ff802323f25770abe0c7b18be364d0d3f988b203f08ea9bbd2a390abea2f7e03ec0260a3fdc1228bdbd34c0bd1ebd9f3e046ace3eaf9ec03b60dda0bd3c8e4f3ed7f6973e58b4443cfb102abdff53c93dbeb2273edebc9a3c9de148bb193c3e3cb516483dac1dad3cd84f5b3c4f842fbda5fe00bd7a4b19ba3082783c6c6bd7bc43604bbd71cb653c32a0073db51233bda3ccd1bda4d6253c03a0123d770946bdde01e9bde3b333bc21f3063d29a53abdf09fd5bd3adfd1bc9f13ee3cec281dbd9d4eb1bd74f600bde5f5ae3cd7d6e7bc58ab7fbd83d8d5bcc24a5f3c6fbf89bc01021ebdabcd82bc5a7aaf3b7db2c5bb6f4f87bcbeba8abb6f0a5e3adb49ab3a4d82253ba7bd173cffabdcbd1975ee3e934d683fc5da2fbeeb0104be3908d93e15e5683f2b7626bef4adfcbd9da1b83e783e503fe39acdbd1b77dabd0a7a913e29a62b3f2b103abd8ca4b9bd98a2533e2183043ffd84c4bb3c6678bdc83a073e19d7b33e83d3523cb62805bd7130813d1cfa423e692ec33c75ad6fba4e2e1d3c35da433d8361c83c06e25b3c9356f0bc7d673cbd02df8f399e273e3c04bb14bc25f984bdc873b03c2eafd63cc7d793bc87c401bea23e3f3cfa89013df489d7bc19d103becbf983bc2361ff3cdb99dbbc12f6f2bd4878f0bc9bc6bd3c6298c5bc85fdbabd45a514bd8393ac3c8c039dbcec3e90bdef97ebbc1310413cc6462dbc07bf2cbd5a1089bc9d24823be50c90bbc3bb8bbce20c9ebb3c91c8ba429bc83af6a9063bcfd1043c71ee82bdb764753eb03a8c3fcbef42beb212a6bdd1144d3ec8138d3ffa9832be0e22aebda759363ec5ee733f4de5babd53b6a3bd217f0d3ed4334a3f33012fbd73ca84bdaa83d53db568153f7f91dd3bd4b73ebd9c6c823dfc26cc3eaf61b33cf179c7bc5e65013dc733553eb91ee53c42bbe0ba7100203c69d3233d33fcfa3c70f2553c21ae40bc16c483bd9a731c3c0df42a3cd4975d3bd058cfbdb0a5bb3cdbbf8c3c38433a3ce69917bef909973c1a1ce23c3b0c50bbb6fb19bec04a92bca888f23c557c1dbc407f04bee8ac15bd3f67c63ce2883ebc3ea9ccbdbbbc2fbdb45f893cca8d20bcc23d94bd5e320cbd19282c3ceb61f3bb54a92fbd2582adbc57e4a43a50bc82bb0ff481bce0fa1cbc00ac7cbb08fcaa3a8207d43b965c113ce786d7bcae23f43c7800a83fd45e3fbe4f0df1bc3e35a5bb1a259e3f22d02dbe83534abd0b2e063c54248a3f6541a0bd244f58bdb218113c4c455e3fecc377bc62493bbd86f8093cc05d243ff771e23c4a93f0bcbe217b3ba8d8d83eb9f9293d66b25ebcec209b3b3308573e6c0d393db8bfa639b701923c5e08d03c0e42483d2166623c84087cba3ff0cebde672023c00000000000000000000000000000000581cc13cc14a203c30ea1fbe72f917bc40c4d63c6e838e3b40440ebe098409bdddfdca3c76a293bb5121f6bd32ba4dbdb9c3af3c02bcc1bb438cc4bd30724fbd4107763c782889bb9ff58abd5e5827bddbf2e83bc81c69bb4eb425bd84b4cbbc368b31b9057716bacf1e50bc1e46dcbb0000000000000000000000000000000000000000000000000000803f00000000350480bcf375ffbda9e7a83fbb82a0bd8b68e0bc131fbcbda72e8a3f239a24bbf93009bd1bb88bbd357a5f3f2478383d733dedbc2d1763bdf59f263f0d0e833dda359bbc4e3932bdc8b8dc3e638c7f3d3fc6a4bb8cebbcbc3deb623e1a8b5c3deddf023cbe3303bc209eae3ce5a4fa3c000000000000000000000000000000000000000000000000000000000000000084ccc03c272abebddfa42dbd1c098dbcf6cd013d81aaa4bde4e150bd7c8713bde2e7e63ca7288cbd3c675cbd752545bdd7a4d03c7ccc58bd59e944bde4b345bd5f69cf3c6eb523bd491818bddbfd28bd77f8b33c59e4d1bcac28bebc635feebce1a46b3c556a2fbc262003bc536e50bc00000000000000000000000000000000000000000000803f00000000000000006b1cb5bd7eff953f055cc13bd547913c9a22c3bd6792743f825e3d3d477c703d8ffabfbd7a3e433fdd63923d48a6b03dea08c0bd3dbf113f1ab3903dc58cbf3d04abbfbd237fc73eb643683d2c4eaf3df7839ebdca3b613e2c54083d748e8e3dae6158bd5243683d34f2ca3a3a2b1b3d00000000000000000000000000000000d8d33b3c0f2287bd8430a3bc7a6fdd3a3c0b363d0290bdbd611024bdaac370bc36353e3d3f27acbdfb2261bdc23e36bdd78a433def8c8fbd062e70bdc4336cbd1956213d478b55bdff8051bd61386abd9d521b3d034c1fbd2a0f21bd4c9548bd659ee83cc370c1bc1addbbbc97080abdb7df853c2a3a3abcfa5219bc58dd6fbca7da993bb2844b3bfb93523bcff6943a7d7bd4bdc4bf973fbf67d83d518523bd00342bbebba38d3f13cef03d6ca622bb11621ebec19d693f2213203e7de15a3d33c218be7c4b373fdc27273e72d6ad3d726106be8d78053f3db0143e6af0c23d00b502be8919b43e021de83dffcfbc3dcca7cabde55d413e7f8d8c3ddad1923d88793bbd543c423d2349be3c72953c3d194067bc074972bdcd0ca3bcf18a68babb4b313cff1439bd3d0f77bc75691bbbca251f3ded6d99bde68d39bdfcf5d5bc40ef213d1c1e85bd3a5d70bdb86551bd90a4463da9aa6fbd407b7ebd45477ebd9c82173d8f1d2ebde1aa54bdadec7abddc5e1a3de0faffbc96bd22bdef5a54bd41bcd83ca3dc9cbc090ddabcb1c206bd6c4c903c69940ebc60ba35bcf12d85bc52913a3bbdc70a3bf3e7253b39e2343b2f5bebbd6915803ff2c98d3e903e64bdd2ad2fbebd55753f0f58953e0f5458bc4edf14bedca2453f5cab943e8689403deb7c26bee8461f3fa274893e11c0a23d855009bed7a6e63e8f3c623e4d43b53db50b0bbefe899b3e85a92c3e069bab3d46bac3bd2db52a3efccdcd3dea3d703d4e2659bd7a81313d8078183de4150e3daf3321bce5d623bd2ba66dbca4cd9cbb0411ad3b00d00bbd0fd69abc9a491ebc1584193d28997dbd43484fbd29bdffbc2571463d125965bda6d187bd891f71bd17f8433dc2ec40bd06e080bd61548dbdbccd393d639814bd9ba96bbdaf738abd52871e3dbcc6cfbc4f332fbd9f4963bdef13ed3c562578bcd1f1d0bcf09c1abd4e1a843cb3a8b8bb5c384cbc51f366bcbfa8f53a94f01b3bd6ef3f3b1e07463ba5dad2bde052533f2288ed3e4c9589bd657724be5709483f2804f03ec58fcfbc667c2abe4ced253f1308e03e157c253d755827be1803023f918fc23e3fa29e3dd09318bea42abd3e1f7f9d3e872abb3ddc710abe1d4f7b3e97f5673ee19ba93d22a7d4bd4166063e91630c3e499d783ddcfe63bd2f2c0e3dd410523d0d30e63c4a2a64bc386b06bd457d87bcb9303fbcf41aec3b7546eabcc972b0bc161d54bc858f133d8ca83cbda8c862bd131a21bd54d5373d973031bd282f8dbdbbc97fbd0f245a3db9f81cbdfb6691bdd5b897bdfea1073df6d6eebc645c5ebd398580bd2a8a283db2d2a5bc3cb733bd4f4672bd020be03c614636bcce72dcbcdd3a18bd4ef76c3cb70f9bbbe5342cbcfa5681bca9ed073b98810b3b03eb263b8adf883b7246c0bdab49243f8c9b253feb7a9abdb83b18be0c4f193fea4a253f17d40abd840f1abe3033fc3ea369133f6e2e1a3de23624bef0ebc53e1523fd3e966ba03d7fd6efbd51ab8e3e540abd3e024ea83d7e8a09beaf403a3e8f14903ebd3aac3d1fadc3bd97e2c03d44c72b3e231a633d1c2554bd6d38b33c2e7d833dcdcecb3c782556bc3ed5e9bc509096bc78116dbc8230023c6fbac7bca961ddbcd1f749bc960d2a3d6e0315bdc2f888bd72532abdbfde593d3ecd07bd889aa2bd8c9b89bd55135c3d2275e7bc397498bd15719cbda26f433d4e61adbca71f80bd69eb94bd8d94273dc5617ebc20983fbd40c56bbd160ae43c0b5304bc6365e7bcc9a81abde827593c9ada20bbe6944cbc7ea067bc0b8e033abb92df3a9f3c263bc30daf3bf6eaa3bd7977ea3eb41b543f4a3bb0bd4ddf0cbe804cd63e1494523f46c42ebda2e01bbedba5af3e4843393fbcbd133dee1f1dbe53e7873e8c9a193f4ca6a03d4caf10beb2bd403e99cced3e8debbf3d1c4cffbd5c61f13d0a00aa3e96a3a93d5204bdbd76ef623dbec0493e7ea4713d9e492ebdbd57b53b7837923d09d6be3c4cca01bc3d4bd3bcb5dbbdbc214877bc0d865a3cfba39dbcaed310bdb8fb04bc4b2e343dd9cbd7bc28bea0bd0d492abdd7f84a3d62ecc9bc3c8ca9bd5e8989bd15c76f3d3311a3bcdc4ca6bd1fc3a5bd1906373ddcfb7dbc09da82bddd2892bd6395263d26bf0fbc2cc149bdc61677bd1fe4cc3c5d8483bb6da7efbcf69318bdb12f593ca19058baca0f66bcaed270bcb20fa2badaace33aa4f3e93afe47d63b220289bd95e78b3e5924803fe229cbbd8266f2bd895c713e96b47d3f0da54cbd91aefcbd84a0493e2727543faf4e363db89212bec465143ee573333ff1b2ae3de14bf9bdafb8d23d1e38063f1beabe3d9958eabd5df95b3d9e06c13eb1c2b33df0f09dbd1a92a43c59715f3eea17633d072c0fbd8fd01ebc08299b3d92b9df3ce466143b84d2b1bc049b05bd1eaf45bca9dca03c57b39cbc794867bded0f4abcac78523dcd9475bc1741c0bd3b2b1ebd8a6a7b3d70ee4dbc3ff7c9bdee1397bdc4807c3d37a631bccd56b4bd3cb3abbd5c1c4f3deabd06bc42308fbd59a89bbda955283dece07ebb783657bd299178bd274ad53c4ca2473a040102bd03a922bdbad50e3cd3569539a1aa79bc33fb44bcd8bf43bb36ef1c3b5b974d3b5dda103cd97e50bdd7f5ca3d1ff4973f088eaebd5eb2ccbd58777b3d0e49903f056436bd14c100be546c533d604a763f40066a3d05ee05bec303093dc375463f522bd23de0bdeebdc9617b3c2bea143f7128e83d4db9cfbd14e5b4bb1a74d03ef988cb3df5b18abdc75da2bc7af06c3ed0818f3d71f287bc67b3a8bcab28903d6b27083d0fb3043c88ddd1bc7f9e58bde99881bc00000000000000000000000000000000a99a453d19a960bcf31ccdbda5a450bda0436a3dcd4423bca949c1bd7b8590bd31ab533db17ef1bbf10fb0bd152aa3bdba343e3de2d7e3bb5de38ebdfd0897bd227b153d7adc20bb9c6f4abd707a70bd1947b03c494af4393483fabc265813bd92befa3befae3a3bf22949bc1d1835bc0000000000000000000000000000000000000000000000000000803f00000000d71398bddd4554bda97b983f57d5cc3c5553c2bd916341bde0e97c3f0599a83d5c3bc9bd96cc2ebd7b434d3f3b46eb3d6569bdbddc5a39bdfc671c3fedc8ea3d4fb5a4bd310e4cbdf847d93e7e32c33d27a952bd84c938bdcb217c3eeaba853d9c2388bc67861dbd237e903de0c99c3c00000000000000000000000000000000000000000000000000000000000000000d1a243dd68250be2b17c33c3835293c8457a63c6a713abe4ec2d6ba632d763c5a06ad3b38612fbe19ea95bceb857e3cb5f9bb3abed610bebd98b8bcdb720b3ccbb825bbffe1bbbddb06bfbcb439c23b697bc4bb3e3257bd5e949dbc825539ba4f7aefba785334bcbac515bceab4aebb00000000000000000000000000000000000000000000803f00000000000000001d1d0fbe2976ab3f0e190bbedc1b983cf433b1bde1a98a3faa9167bd6e31e63bf4247fbda9d7673fe174acbc0ab3733bf1961cbd0fb92a3f4476123cea54fc3bc11307bcba05d53ecaef053dabf8823b8470a33c63fb503edbe23b3d1d646a3b683a073d63bf0cbbeaf4103d8d49a73b00000000000000000000000000000000fb14393d19c501be69e8de3c2cf02b3a5a71333dfbd421be810f353cc2d1ad3b8995093d969d3ebe625b5abc0244873c9ecdc33cb03030bec9b8e5bc63088e3c2baa5a3c094c0cbe354d0dbd73143d3cb135e33ba2eac1bd1b1006bddc3bb33b7c9a233b4a9c49bd1256dcbc2a0b143aaf7425bafca79cbca4a180bcf98b07bbe866ca3a956a823c368caa3a793a16bbee6b52beee30ab3f430a9ebc16bf69bb18ce27be5552943f19e9183de2eb45bc741c1bbea240893feea2333d86d47ebc6471e3bd81d65c3f9d15943d77ca62bc6bd38bbd6008213f24ebb83dfd3c1ebc2ab7cdbcaf92c93edbbac43d58ea01bc44e20e3c7318353ec26eb13d7c76c7bba37e063df246ed3ce356683d334fcabb5291263dbe08febd6c2d823c43d70cba91620d3da8ec99bd6a48fe3b6f7d6f3b41e2273d15ac10becba1a3bc1ad75a3c55de1c3df6cb25be1b5636bd1e50a93c6217e43cd93116be7f9c61bdf518863c30858f3c6adae7bde66d60bdd42af53b80722a3c5ab19dbd113455bd08ffa33b6ae2113cba5329bd09a414bd10fe23bab6b3d83b92d057bcdbda95bc8f2cfbbab51ad63b33c9f33b2f705a384cfdc239252048bedc778d3f7ca9513e2da24ebd87d84cbe86d48a3fdacf533e5f635fbdd06831be02cb743fa6bb593e9d5446bd6b54fdbd94c2423f922c5a3ef0b224bdd284a7bd03650c3f25d64a3e16ccd1bcbf3603bd0643ab3e8b032f3e710094bc50de703ba797143e216a003e38fe13bcc684c73c03f0473c5751803da09633bb10a1eb3c0a3299bd955f833bf02c5abb90e5d23cf7f664bded7184bc7039113cab620c3dcbb7d7bdabb961bdb35da43ca6a0043d05baf8bd524aa6bd1858b13c1d2cbb3c6d91e3bd9d84b3bde4fb5c3c93ba993cd515babd3cfca8bdc43b073c03cf3b3c721272bd343b89bdc9593c3a25ef2c3caf510fbdd2b632bd76882ebb7706ba3b83a028bc1fcf95bc0663e1ba24fb8a3b856ce63bab27e939c04bf139435841be2e8d703faae3da3ed718dabd6d343dbe78b8613f33e9e13eb97cdabdbaa41fbe3e9a453f58e1d93e07bfbebdf72be6bda05f1c3f3d39c63e220091bd7e3497bd0a44dd3e139fa93eec104ebd0ccaffbc0983873e5d6d803e7794e5bcf5d7853832ccfe3d6fab203e678855bceb8b8b3cf1066d3c9e60783df882ff3a012aaf3cad0e70bd2a6340bc6e03bcba6ea1a53cf7640abdd95324bd5dbf7d3c6ce7d73ceaf588bd6064bcbdd0fad33c8ee0cc3c92eea4bd4eceedbdcf71b23c5b61b23c9fe9a1bdabbbf2bdff6d5c3cbb733e3c2a6077bd4685c7bda578dbba0a3f563c296239bd9ce0a4bdb50f313a9487f43bbbc2d8bc61be3bbd33d88cbbdbf8003c984844bc0170a4bc63e52fbb946b023c78c1b13bdb11943ac28fa73b68c01abe0568333fc9ec2e3fbca120be762017be1968273feaf52e3f506d1dbe617afabdfa690f3f24e4243f4c3e06be4235b5bddfe1df3e0e0f113fd59acabd44ef60bdea15a03ec68fe23e7ffb5dbdd5c9debc9b3c4e3e921fa23e8ad309bd076f99bb2244d23d3480313e104e9dbbd18d3f3cfe6ac03c1ba65e3dfd21d43bfb6d633cfee020bded340fbd978b1f3b66473a3cfbee07bc69017fbdfefdc03c1f81823c1063e4bca11d01be8038f63c14a7a43cd1d22dbd3fd51abee9b5ab3c2c17983cdf3e36bd302b10be04ab113c03ad6f3c437430bd6ab1fabd72ba523901a5463c3f4d0fbda1f3b2bdea6e8cbb07c2163c5ee5b9bc049d52bdd7adacbb914d803b83052dbc955aa0bc9782eaba961a873b74bb2d3b6bed3c3b3b229a3bdf5bd0bda444e53e1c1a6d3ffdfe4bbe312bc9bdc4e5d13eb18e693f47a83fbe8c1ea1bd5af9ad3e3277583feee71dbe7b7b70bd8077893e9b88363fabf4dfbdbe8910bdefb24b3edd1b0e3fe95f85bd1ff3a8bc754b103e656ebb3e1b44dabcd8d9c0bb446ab33de6a6403e677218ba169e8a3b8994183d4aa2343da0c86f3c2eb1183c70ea1fbc687465bdf402dc3b373ec73a244a7d3caf92a1bd81d5e23c118fab3bc527af3b17f51bbe02c6fb3c9fc7713c1a3736bc2b4d35be5b6ea83cce4f4f3c72d1a0bc0a1a29bef7cccc3ba60f373ce355b2bcaf7706be646ecabb26ec1c3c4962b6bc3f9fc7bdef4cf9bb1b72fe3bb895aabcf03055bd42c204bcac51ca3be04a52bcd25794bc9fb894bbaee54439288d283aef4b9e3b3f12d33aaaec45bd07dd603e98828c3fd9a550bef6d646bd6f56363ea1608d3f025247be560a1cbd6ef3103e3038813f961621bee0a5d5bc14a4f13d3b6e563f0fb8dbbd084faabc4b6ac13d63fd203f53165cbd43555dbcb714b13dc44cd13e949493bca578d7bb674e8b3d40fc493e02b9553c852374bbc7a4363dd9780a3db6f1c03c03bb5dbae0a73d3ced0a8cbd1c6f773c6b948bbbc33d0e3d691102be0752203de06217bb9831cf3c6e5821be8a400d3d69f8193c587b3a3c96ec41be4bb8873c540e493c97bb3e38349135beb73b733aed1f1a3c8a0928bc06750ebe6c2f4cbcdc870f3c904e48bca095ccbd84066bbc7f84c13b09e967bcde925bbd04d873bc8d6b3c3bfd9b44bcb88ea1bc11433dbcbef4b5bab423ddba21ed513c6d0b593b4d25b0bb2a6cf9bbbd4dab3f39cd5dbe25e01bbc2e1ca83c2c2e953f519b1bbe1e0910bcf9d19fbb1b288c3f7b0ffcbdcfbbeebb8f46bc3aedc6663ff97796bda1a168bb19c0753c03522b3fded6cfbcf58d8dbb36db013da52ddc3e0ded073c4b27c3bbcb9a403d441d523efb7aee3c41b1b7bb54c3313dd789273df1ae1f3d50de14bb2e7bfa3ccd32f7bd95fac43c0000000000000000000000000000000032af203a7d04203d762449be673de53c06e9cd3bec9d8e3c73a532bef99b87ba9b5f233c849c933b9b8626bea9aab5bcc4bdf33bbb5e0ebbe31902be6bd4dabc28b7983b576604bc694eafbd88a4d3bc97fb133b516726bcae6741bd2418b2bcdb7677baf00600bc68daf8bb656431bc0000000000000000000000000000000000000000000000000000803f000000000643a23c36f61dbe765aab3fb033f6bd57db173c0e23c4bdb1da8a3f88dd2ebdcb06003c4a0499bdfd92683fb8e0a2bb08f0f73ba7ed47bd40c12b3f08bbcc3ca3b4cb3b1e6d3dbc0980d53e7373363df8f8f93aa5fc943cbf4b503e9908593d6ae8f8381a6c113df3548cbb35e82b3d00000000000000000000000000000000000000000000000000000000000000005286803d3c073abe906e6dbbae82703cbe80573d030118be7683c4bc675298bbb0d2313dda2afcbdd04d1cbdcfb4b7bce0bf0a3d202dbbbde72b14bd020e0ebd90f3b83c469167bdce07efbcc28116bd2437713cd147ebbc0aa19cbc2e4a0bbdd568aa3b4cb106bbfae322bc4f6795bc00000000000000000000000000000000000000000000803f00000000000000007fe743be9eccac3f2426fabd2272a43cbae42ebe30aa893f5a608bbc6fa6073d16cb1fbe3a2e5b3fe1844e3d790d323d693e01be4c7e1b3f1c9aa53d4c12683d1a67a1bd81d2ba3e9000b63d80bc653df062dabcd123273e0f6d9c3da1953a3d861e903cddb68bbca2bb2d3d35b3ec3c00000000000000000000000000000000e22b383d09a0fabd74b81f3c758f903c434f863dc60916beed0826bc4b58123ce2a3863db35e1dbefbd619bdb63c5f3be78b6b3d5bfcfdbd5f5b42bd2e098cbcc7e42b3df9d7b3bd9b5d35bdacf10dbd92fef93cf2aa67bd2fd513bd684c1cbd93a18a3c8444d8bcead0dcbc1463edbc686bc33bdeafa0bb146877bc723c9dbc2086d0ba6c9b453c0adbdc39e8668c3adcae52bef6e2ab3f75089ebc5da731bc20525fbe7f08963f43d92d3d51dbc33b350763be32de843fc5c9c43d653bbd3b5fcd45be42ca4c3ff552103e2dbed03c39c111be488d0c3f19f2253e84a2473d94baa4bd377aa63e9fd1173e976a3e3df687ccbcf9b0073e41a4df3d2506253db87ead3cb2144b3a5dca7f3d4fcfdd3ce30c4b3d6accf5bd3ec8bb39dbd2243cf45a143d7d099cbd08ca10bc3f6b943cfa22763d72dc01be066b25bd652e883c3e23833d4d0700be53a181bd8a2e9d39d1c85a3df8b9cdbd3ae583bd3bcfb7bcfcb5293dd8308fbdc1726cbd223b2abd8fb6013dd4953ebd124e38bd686a24bdd1a6983c23c0a0bcc75bfcbc64dc06bd8be43b3cd9ae90bb939a93bcd40f85bc9f71a23a7823e63bba50b0ba12b3803bd03647be25cd8d3f4d9a523eb6fa5ebdcdaf6fbe589c873f29dd703ee9982dbd7d8b6bbe549e653f63668b3e0389acbcb5dc41be807c2c3f7a72913e26ac4f3cddf70bbeb626e83e6b74853e24c42f3d5bcca3bde904863e8121593e25153f3d9c2ebebcfdbeca3d362d0b3e498b4d3d58f8503ca73806bc46416f3d60d0133d53371a3d5ba49dbda6d316bcfbee3f3c913e003de21372bd254805bd2afad93ca8cb523d2ffebcbd2f438dbd2b2ea73c9e3f653dbbe5bebdd4bab7bdac2ba33ad0c73a3d316694bd6ca3acbdffd1f5bc9b811e3dfac658bd76ad90bd615d38bd8c2aed3cab8702bdf7425fbd132342bd765b933ce22879bcca5412bda24b13bdd077273c708d1ebb641791bcdf9395bcde11363b43f1ff3b097195bbbde7ea3bbc8f3fbe4f6e6e3f67ccde3ee8dae3bd99d95cbead0e5a3ffdc4ed3eb6c2b4bde7e651be1ef7333fbcf5f53ee5de68bd245d24be4f46033f057ce23e2a3785bb46a9f8bd04d6ac3e5d46c13e0fbe053de4fb8abdd051433e6f1c8c3e6a865c3d0553c2bcd8609e3dc2fe223e99b36e3d46ef0c3cd66052bbcb78593d68d73e3dacc5e43c11926abde4a9fbbcbe5d763c8565c43c3b3d1ebd8a605ebd8c290e3dbfae263dc2a56cbd3301c8bdac24b33c14383a3d44607fbdc43edcbd14a700bc25a22a3dca834cbd4900cebd4e220dbd13b7f43c5b3406bd7bd799bdc4a366bd8001d33cbe07b7bc47336dbd747657bdfaa78b3ce5811abc493a16bd0c0318bda0df303c8d3130bbb69391bc2447a1bcdf2d083b0d23993b2f4015bba8c3043c7a281ebe8e51323f695d2f3f930524becf8334bea8061e3f0129343fd67b04be1aea27be8d2afc3ef2122e3f30659cbdac450abe2379b23ed244193f6e6096bca487cebd5b6b643e1798ec3ec9ed493d058b72bdaf6a003ecaf9a73e37477a3d1827cfbcbcb95e3d366d2c3e00fe8b3d8222b73a71f8b53ba114303def21653d29dbb63c214514bd98954abd07728e3cfaef863c7d3677bc89f193bd8244103dcfdaf53c5389e0bc428ffabd5471c33cf633213d9e570abd651a05bec80e19bc17c10e3d7e89ddbcf1d1e5bdd01934bd76f9f13ce7f09dbc883ab5bd7d807bbdcbd4d43c701a81bcca4a80bd862d6dbd6997973c54641dbcc3411cbd6e5c32bd01bb1f3c46b4b1ba1b3f98bc95ccafbc95e4fb3ab7778a3bb23801bb242ff93bf534e1bd9ce9e53e5ccf6b3f7ced45be4b55f6bd6d41bf3ef1906c3f5b2523be26e3f1bd0ced903ed2485c3f5e10c3bd63d1c6bd7f89423eeb03393f769b5fbc5a619abd3cc3f03d51150e3feb63343d0db34fbd3ee19b3d13e5b73ea944993d5287ddbc7ae5313d27df363eb2f4a53d43c2e6bb98c6893c0867073dfeed853db3293d3ca7a138bc56cf8abdc47aab3ce17de23b6e26a93bf431abbdaf5c1f3dc10eb23c3cc9e5b7528611be0d00a13c6117ee3c72d1febb81ea14beb9f884bcaa3c033d846d13bc98daffbde1db4fbd12add33c9a3dd9bb9693bdbde4df8dbd538ebf3cf72700bcfe1988bd502b89bd3872763c0b0b9abb7e5e1fbd049841bd9ad0143c880030bb067681bc19ddccbcd86ea43acc7e1f3ba6bd573a2831f83ab3da60bd24115e3ec3b08c3f70b84fbe0cfd94bd63cf1f3e6d6c8d3f434124bed8839bbd39e0ca3d2993803fcd3fafbde5e585bd3a11703d384e523fdf1a57bb6f5260bd0b28f23c9e281b3fd0bc893d566f23bd8978e03ce127c83e1763ba3dd582b1bcf9f3cc3ce8c93a3e3803c33dcde75ebcb534f43c9b899d3c54f7903d3ccdf5b831af443cb815a4bda15be23c6ae1953b22d1a23c8271fabd91cd363d20722c3cd0e3a53ca36c14bef6ff963c7817d43cd41eed3bdc1c1abebbebccbc03ddd83c8e6b543be5ac01becba674bdfee8bf3c123dc53adaa1bcbdee61a3bd5ab6a13c0ef7fcbab39283bdc2ac98bd1cbc6b3c8e655abbd2f514bd91575abdee14043c76ae4dbbdd5a60bcf36009bd0570c5ba222abf3a4dc6c73b33042a3baef686bcd784d0bb6f44ab3f22155bbe0751cabcf1a683bc64fc973f6b6604be700f2dbd6a9329bdcb518b3f449d5fbdb7a71fbdf6b949bd21d95f3ff9a0f53c83191ebd21b826bd4709233fa471c43df59fefbc921243bc35f8cd3eb0e4ef3da594b9bcc78e803c31e2383ed029de3d3af8a8bc2f34183d16a59a3c7782b03dabeb1bbb5374013d4a79f5bd59cdcb3c00000000000000000000000000000000b141753c1c32ef3ce9842dbef241073b37758b3c979d883c315e07be60b448bda77a9b3c30f8253c1bb2ddbde196adbdd982933ca55fc73bd366a6bdbc06bdbd8894733c04ec063b0bf65bbdefbda9bd71881d3c66640ebb5feaf4bc840577bd2790b23bb3b593bb8e1ff8bbe74dedbc0000000000000000000000000000000000000000000000000000803f00000000692598bb44bb36be6512ad3f2764bfbd7ffd6dbcd6010fbec09d8a3fd12edc3ccee7b3bc5493ffbd83735f3f18add93d0a8091bc904ec9bd3d82203f5fea153ed2fc61bcb7e254bdaa9bc43e73c9163e3ddb46bc6aa06cbbdc31393e05ddf83dbd0acfbb52da003de25d44bc4e8c963d0000000000000000000000000000000000000000000000000000000000000000b0a5bb3d920422be69de86bd0bd1c63b7559bf3de14fe4bd403150bd16b890bde5f39e3dd3e79fbd1a1409bdea4ce6bd601e743dca564cbd94d34abcc3a7f4bd972e1a3d85c0f7bcc781ef3a7c2bcbbd71e8933c6a4f45bc9d7cf73bef8f87bde279e23a4927553a28f1043cb3a9e3bc00000000000000000000000000000000000000000000803f00000000000000004cf56fbeb229ae3f8ac686bcae4ab4bb4d1a86be2377873f364fd73d3babb03dfe7a7abefa82473fa8af1c3ebb032c3eeefb59beebfe053f601b0f3e616a543e0a9319be03cf9a3e7061c03d1ee9453ef98d99bd442df33d52113e3dba2d183e70c32fbbd4a2dabc64f66abb8eef9b3d000000000000000000000000000000003dfe6a3dc6e100be6d8621bd92d7423de2b7c93de00f18bee1e657bd01872b3c65a0c83dc7f0f2bdfed44bbd20408abdedd4a33dd377abbdb332bdbc5914e1bd4d436a3d746d43bd134163bb861cfdbd0fd70b3d1650dfbc81c5ee3bee90cebd24c3843ce6a91cbc69e21b3c2cab8dbde6a4b43be2c7873afdebac3bb65f16bd64e6f2bba6e1083c7ef07b3b25ed9c3b5af64abefc3aad3f33e2fd3ca56579bdb5789abe0ac8a03f9568ba3dc4e0c2bb0c5f9cbe1150823fc875533e8c72723d5c878cbecd133a3f9f086a3efcd1133e53c65fbe55b2ea3e4b0b4b3e0a174d3e007a11bebba4823e4bba043e7f393f3ece3e79bd3b2cac3da7607c3dfca1143ed721a23b4ca6f9bc0226d23cc506b73d01f3213d7090cdbdae97ecbcf242353c7891463d3868b8bdccdf21bdd4e12f3d39b0b83db397f7bd607e8dbdfc6d94ba04f5bb3d4a76c4bdada457bd25be9ebd5759943de78c85bd0d46ccbcef12ecbd0b91533da5fcfdbc8d480bbc5d6000be53c4073d19218ebc4f909d3bfb9ed8bd7689753cc37b57bb9c91b53bcc6f8dbd0e09a43b1ada883bd570883bce4b11bdb0f182bb0e06cc3b8fe28339c04d3c3b790a4cbe0440903f8ea6773e9ffab3bd42d894bebc908a3facf89a3ecb6423bdd5159abe1f9e5b3f5b55b83e1fe1633d23ab85bebe06193fd7f3aa3e6f61173e49d051be02f9ba3e843a863ed8d8513e369607bec97a433e0d662f3e7c4d453e0a8e6bbdcd986a3d28c49b3d9e361a3ef244773b353306bd469a6d3cf484b43da24a113d381c90bdc581dcbcf195753c4c86383d924c97bd3e4f6ebd95cf273db80da93d391ac2bdd5c7a1bd864be8bb6087aa3d2c2f93bd261d6cbd500fadbd183d893dbea739bd2a78d9bc65a800befbb23f3d0937b3bc36b961bb8d3a06beb11ce43cffedfbbb6dbdbf3b6aa0e0bd931b433c274bda3aa443103c2a1193bdf952bc3bd5688f3bb498173b8e2c0dbd0b6254bb3234c93bc7491ebb103fa13b833a3bbe5c166f3fc2e5f53e60870bbe35db8bbee2605e3f8ef6063fc6e797bd3e358ebe62072c3fe20c073f46ce2e3d57fd72be4575e63e6305e43ec3df1a3e03dd41beaa3f843e9a3cab3e63175c3e5175ebbd4081f83d212f563e6db04c3eb25741bd24b9b23c7ec9b63de691203e2ad4993bd4bd0bbd11db163c226cc43da1abfa3ca6aa60bd52e429bd8a0f3a3cfd852c3dbfec6bbda7fe90bdeb5e243d244e953d43fe8abd224fb4bde4797abc1d769d3db51c48bd92da74bd3a0fcabde1c26e3d64d1e7bc3480c9bc81e907be9388333d073bf0bb208534bc3d4606be8c64b53c2ae75e3b5f84193c182ae7bd455f263cbcf7e13b9f9dde3b43cb91bd6f729f3b3b2fdc3b0371f33a30ba0cbd0dc627bb8e98973beb3e6dbb503ef23bb9bc24be310d373f15ef353f6bb12ebea96c71be6fbb223f4b1b3f3f3be7cabd95fd76be70eff03e9e44303f65f03f3d0f6955bec99f963e1f4a0e3f15f9243effaa29be91d2203ec67ec93eb9ed613eb4ced0bdf9494d3d95ff783efbfb573e1ab221bdacf605bc920fce3dee4d233eebf7833be6f309bd52765f3b941ac83d7957ed3cc58b2cbd027553bd7ac42d3cca77133de13a26bd49ada3bdec11193d0272893d7f0035bd161fcdbdaa01aebcafbe8a3dbfdce9bc372382bddbcfd2bdeffa513d035d3cbc7991e8bc3c250cbe10850c3d4701983b086c65bbac1c0cbe2d5c9d3c9521203c6f66bf3be603e8bdfa16223c103b1f3c1c6cd23bf01697bdab479a3b35a4ea3bb2095a3a7ee90bbd897edaba46789d3be7e48ebb1875c13baee6fcbd4f57f63ee0eb6d3fefac43be0b8041befcf4cb3e51a0733f0ea6eebd36cb4ebe4d098e3e9d46563f6b1b303d70252dbed4ed173ed783253ff57c2b3e5a6f0bbe4049313d74dfe73e85276e3ea8d19ebd3c625fbcab408a3e9f84613e3386dcbc22db17bd59ebde3d7dd52c3eee4c863bd9c000bd3b10ffba46e2cc3d87e7c83c5ec7ccbc1c507fbd06250f3cb28ffe3c00c4b3bc31aebbbd264d223d42976b3d54cc9bbcf7cfe3bd60cbe9bc06bb723d5e78cabbcbe88abdab71e5bd69403c3dd4e70f3bbe5cdbbc66e812bec0bb063d9b1c4f3c43e3cbbb28ae0fbeb5c18a3cb9d6893c24f4a73b3e6deabdbdce0e3c9dc6503ce830913ba39493bd3bbdb53b2c1ff43b57bfae3a5f940dbd8faaddbaf4576e3b272770bbeecab23bc622a1bd58b77e3e09438f3f470a52be25650bbecacd2e3e965a903f137de7bda7e226beddeec83d4dd0743febe9763d2efd0bbe70a0163c7cc63a3f38ca3a3e9266e2bd7c8535bdf840fe3e919d7a3e491a72bd914395bdd46f953e183c6b3e2a3aacbca0b074bd2036e83d2ef4323ec1ec193b4db9d7bc16344fbc8f57d23d24d7903cd1edf3bb6e3595bd279f7b3c0a5b123d64a433bc4af4f5bd71bfef3c56273d3d2ac79c3b4860eebd01cdf1bcf54e4f3d04294b3c51688bbd9fe2f7bd85e4203df62a923cef29d9bcd7a51abea80ec93cc3c8b93c7bb917ba10e212be80584a3cfd0dbc3c6c6c2f3cdc4af7bd4546eb3b3eb2733cce57df3bcf129abd7aced43be150f23b4b5beb3a0d081cbdc25426bbfadad1390e8a4abb1227343cc65650bd5fcc383dab6cab3f808e4bbe3d09aabdae1c1bbd0bb7a03f717ed6bd983bf3bda02787bd09b3853f457eb63d2784d1bdef27debd3737453f96fd5e3e88e7a1bd95ba0bbedeb0033f93a38d3e1e9515bdd24b02befae4953e2c68833e0a7dfcbb8b5e9fbd8db5d23de17b403eba08b2ba453a83bcbdf3c4bc7319ee3da21ea03c1491143cebd5cfbd2f09fd3a00000000000000000000000000000000fb935d3d7afa523cf4c0f4bd301189bd9e3c3d3d201eb63cfee66dbd205902beebc0173d466fc53c09f8d9bcac811abe4721d03cbdc5dc3ce3925bbbfd520fbe8825263cfd23c03cd87fe93b8d43d9bd0154a23b331e823ce081a63ba1f188bdd7a0f93a0e30973b6c0b1a398f03c1bc0000000000000000000000000000000000000000000000000000803f00000000eea7aebd101114bea29dab3f7c1d8fbcfdf1ccbdf8862abe3d2b853f2a45203ecee3bdbdcd293dbe9fbb473feef7863e3eb38ebd847245bee8ba073fed29933e874901bd2fd027bec1629a3e5a697f3e1d6186bba8b5d2bdfe0af03d4e223a3ef0ae443c71aecebcf4afe1bcc359a23d0000000000000000000000000000000000000000000000000000000000000000b930efbc0bcbaabdc8ae0ebc7dfa0c3bdb70ecbc8f339ebdd0d724bcfb19693b5075d7bc41f487bda7d333bc695c703b5da5bdbc05f463bde29f30bc94333e3b992786bc566633bdad8232bc4b017d3a498721bc0f6004bd19e03abcb10fd3ba630f07bbad3a9dbca375dfbb93ba6ebb00000000000000000000000000000000000000000000803f0000000000000000d4df02bcafbc8c3fe2234bbc52eb1fbbbdd0173af5f36a3f4403a7394fa9a63a1c14173b22923e3f451cb73b5898f03ad57190ba8ba0133fc293c83b42a8e4b9e0fb0bbc3685d43e5841553b1b4506bb10e194bceaa2843eb75a2cbaf622c1bb8c10edbc9922d53dd6c914bcda0d0bbc0000000000000000000000000000000076bc9cbcc8e464bdf3a5ebbbbc83a9bae0e7dabcb29abcbddeaa4cbcf34bad39853ef0bcd03dbfbd21e585bcc85c713b05a6debccf37aabd47cb91bc529d843b1c05b0bc960d86bd240887bc56362f3be8fb7dbccfd15fbdeae486bc146ccf3a5ce7e8bb5e2c1ebd12e650bcc04128baff284b3b0ca99fbc4974ddbb495504bb42b9d33b00185abb56e7c2baacad39bbbf191dbdb0148c3f86a3e33d74b99bbce8f71abd0bc0843fc3cfd83da53583bcf35aa2bc9ffd5f3f30bcd33da03d10bc6f176dbc363d353f1afebb3dcc31c0bbe27f72bc2bf7093f4096983dbc2aacbbce62b0bcba95c63e5e55603dedf5fcbb4b0af8bc96d5713e1840013d7ab930bc3c4c1cbd6b06bc3d080af93ba5a559bc700d0cbdda80d6bc628538bcf88755bc463973bca03b24bdffb5bbbb635846ba0431b4bc579396bdcb4783bc48fd573ba9a3a4bc59b28ebd0e15a2bc8b15a83b1935aabc220295bde523bdbc8997a23b1d6579bc02a25dbd8db1a0bcefdd403be02e36bc60c846bdb149a3bca071dc3a58a58fbbce97febce1916abccc639fb940e36a3bc7ba8cbcf5d815bc31f5e8ba83dccd3b9ce21cbba2c6f8baf2a7fdbac1ed28bd670c6a3f4116853edd1cd6bca7d341bd84e4603f13237e3eb06fd5bc93beeabc6e2a393fba33643ec3047cbc3a85d7bcb8fa1c3f4079423e051345bce1a4b6bcc893eb3e866d183e43af12bc7465eebc92aead3ed9c2e33df3603fbcd2b5f2bca968553e69028f3dc68c46bcc4f916bd2b6fae3db359e93cc77b76bc71c0ddbc221381bc4827c0bbab3140bc066d60bcbc09fcbc245ad5bb1c3fae3a327796bc9b2a70bdb9dcb4bcfd23ae3b8bd394bc75258bbd7385f2bc674ae43bd36377bccb1280bd5994f0bccf90d13bc9884cbc108255bdfe1fdabc461c9b3bbf8bfebb739a2cbde4dfbfbcdced3e3b131c22bb96bef2bc506f93bcea1166ba9529403b82d879bc85021bbc786b8d396c6fb13b26e277bb6baa10bb14707fba85e51fbdaef73d3f37b7d53ec9edfbbc623b3bbde9ba363f1994cc3e0eda06bdd14c0ebdc68e1d3fe063b43e3fbfa0bce574f3bc5cc8003fc9bd963eee836ebc9f32ddbcf4bec63e10876e3e471835bc2639f2bc382d8f3e0bdf2f3e1c3a3ebc60b202bd45ce303e43b6df3dea5759bc126f08bdbcf5913d523e4d3d3f4272bc8cfebabccaed3fbcfb2640bb57f82bbcc08c14bc700be3bcda8148bcff4c913baa3b61bc2d7c48bd7f04ecbc82aa0b3c686d4ebc158958bd91550ebdd2ff0b3cbce13fbc59645ebd3ad719bd02cffe3ba13b00bcf8cd11bd65f3cfbc906e8f3bb5a3c0bb70ea18bdce41e8bc0c84543b1f0bd3badcbbc2bcbc159fbc6b0d8e3acce61e3b602b49bc177b33bc6cf4a0397395433bf94eaeba2f646fbb046f75ba04a60fbdbaae133fe920143f5a9006bded3128bdfe840b3f870f0d3fb53909bd228ff4bc8965ef3e1666f33e45db9cbcdda9e6bc1db3c83eb7c4cd3e1b4d67bce81da1bc9005953ef3ae993ed113eabbed3ae0bcf0cd5f3e9e336d3e7bd629bc0de5d4bca41d083ed7b5143e495a2fbc1a4be1bcb5515f3dd7118a3d13714cbcb3a498bcaca736bc0cb5a2baf65314bcbbcefbbbededcabc2b4493bcac9f073c03bc23bce4433abdd84c2fbd9887413c0c2a08bc1be553bdb3b34cbd3330253cbc5f0abc4c8c46bd17f148bd9ce6033cdcb7dabbf8c826bd2ab229bd3458b63b500f71bbb67206bdcaf80ebdd4554b3b89db0dbaecb5afbc862bc6bc8d320b3b454e273bcda22abc11065bbc00970e3a38aa663b701b1eba6c4215bb27149a3a210100bd0728d43ea4763e3fd83011bd21a719bd54e3c93e4524373f3b8f19bdab60f3bcad86af3e38281f3f8500a9bc79decfbc3e4e913e3f25033f022b4fbc7f94bdbc7372613e37a1cb3e415f02bcbc68c4bc431b213e43c4943e132d06bce97ad7bcb182bc3dd6093d3e5cc134bc4924c3bc1488093d32b0a93de95153bc493f83bc2f5366bcadfa4cbb2f150ebc483198bbc64ec4bc78cff0bc21480c3c503aafbbfab32abdb9e877bd99a4303c1619ebbb32802abde6e269bdb7e1133c1b6ab5bb86fc32bdaf0282bd5e2a103c45b888bb8f9d06bdf29f40bd6122593b786520bb3856ebbc9e862cbd89cbe03ac5a6b7b8837a92bc4f9ce2bc2a7bcc38a32d123b8bf7f5bbbfe784bcd6819d3a1ea26e3bb765d13a2708f1baa587ae3a5701dbbc3c17853e8f306a3f84a71cbda097f8bcc34a783e322f623f0ef013bd4d61a3bcc0755b3ed1043b3f43016fbc9653aabc138c363e1c0f1f3f36e8d8bb440b8fbcde180d3e310ef13ea3d10abb80bba1bcd141c43dd458b13ee03884bb334b95bcba51633da85a5e3e5437dabba97d9dbcef124a3c7660c23d632b50bc98b444bc68c79dbc254e26bca5150fbc7661d9ba03c9dbbcdada49bd12ab263c840bf739f63f1cbd753dafbde702d53b6f4b05bbaa2a29bd4e1ab2bd4be89a3b15102abb02661cbde1cd9ebd23f7d73ae0eb17bb4eb5f9bcd4a977bd7c9a29ba768c63baacbfc5bc2b0a4fbd6edb2dbb565f4d3af78572bc928015bd97356cbb1a0d4e3b1e8f5ebb78a194bc9477e4ba4543323b696f0a3b2a8b3cbbf600063b077e98bc6297e03d303a8c3f92b407bd228097bc144fcb3dbf18853f21b8dabca4a560bc3a47c03d715f613f937624bb912044bc96a0a23db4f8363f3153c93b4b5440bc1ffd783dd3480b3f945b053cb82a55bc76a11c3deb23c93ee1fe993b532c5bbc1dbc643c5e5a773e748a1dbb938451bc7baa31bc012ec93df3524fbc33dd0dbcac85cfbc34a8c6bc08f52abc000000000000000000000000000000005a6919399fbb01bd8050a7bd77640f3b855e75ba98b3eebc8bfe98bd490402b9a4c503bb9876d8bcd69b83bd809930bb3abdf5ba3311b5bcb7c858bd801798bbafdb01bb32b887bc02ac2dbd3c57d3bb1f0625baa06335bc0a7100bd71cee1bb0a7a3f3aac0c34bbc03d9dbc069cc7bb0000000000000000000000000000000000000000000000000000803f00000000eefa97bb998f94bcf22f8d3f5d69a23b6d9952bb118eebbbdcb36b3fb60c7d3cfc7c71bb6ec383bb46413f3fdd13973c085a88bbf1659cbbe442143f7de8893c0f30c4bb463618bca87dd53ec01c3c3c7ee7b9bbe78976bcd2f3843e0c95723b7e60debb4f41c3bca8ded83d9a3eb4bb0000000000000000000000000000000000000000000000000000000000000000036b4dbda47841bd3c8ec3bb8ba38c3b06bb3bbd29da3dbd13a2e9bb4a61393bc8b131bd6efd38bd32240cbc7c197d3b3c5e15bd33d020bd23be0abc6d48bb3a839cf9bcf2c513bd7e9a2abca53ce4398683aabc1ca6e4bc069b1dbc89ad0fbbdabb34bce0dca5bc0ea313bc0b48acbb00000000000000000000000000000000000000000000803f00000000000000007fe8ae3c1b307e3f75b7613c30c9da3b06f28b3c20eb573ffc57943c30c51c3cd71d723c3224323f86a0a23c1f12363cff0ae83b342d0c3fb338953c0ae84f3c157b5e39b3e0cf3e55a97d3ccb2c173ca25706bcdd58863e2b830c3ccab0833b63be92bc95bef83d648d8a3a43c3daba00000000000000000000000000000000fbd31ebd6ea0fabc86a94cbbb493153ba6175abd263459bd0a8803bc7a5d633bbec963bd0d4d71bd380c52bcca733a3ba75053bddff369bdf06c64bca7d42e3b58712abd281844bd26f758bc92a8eb3a53060fbd78ec36bdba396fbc215a80b9d0beb9bc34d70bbd998d56bc6ffda1bbd67322bce288a9bcfb8422bcc8cdbcbb8ade793a8454f4bbf050b6bb46f3cabbee67013c636b7c3fa210093e1dd0bbbbf641473c60d9673f747c043e388c0a3ad62a853ca599463fcb71fb3dd5bb1f3c2d611a3cc997233f6081de3d348d333c1093813b1fd3fe3e3b9ab33d7e7d3e3c367798bb6620bd3e7b838a3d0cca0c3c49f16bbcbc0f723e0157313d072f5a3b8f2bc0bcd0e4d83d092c8b3ca6ee8bbb96b3bcbcb5953dbc48e392bb70efe7bbfa4efcbc5342c4bcc720aabae6cb893ac1013fbd15ba40bdbe3d26bc408a9f3b07a72bbd113a3ebd16454fbc21d6633ba0053bbda7a859bdfa3b87bc918c543bfabc0bbdfcf92bbd4fe27cbce6798739a203eabc1d8233bd422488bc03dccfba940b90bcfa72e5bc540a54bc568226bb7fd2e2bb89939fbcb74d3dbca123bfbb95acf63a02d6c3bba133aabbf8b799bbf2e23cbb9e1f563f2809893eaf771cbc5f99143be539463feefb803e2991d0b9c2a1413b3d17263f2dfd643ec3c0d83b41e2153b03150d3f39f1483ed93e343cd47a38bbd193d93edfdd1e3e5741363c5ae441bcda49a33e4f89f53d62a70b3cd5b960bc583a503e2b219e3de5c46b3b6df3bdbcabe7ba3d73d7133dc33029bb529596bcf22c39bcbd147abbe5029cbb2b21c9bc834fb5bca31629bba317463ba84d20bda3c02cbde97a31bccf639b3bcfd329bd0f6349bda64695bc1f0b3d3b56c61dbd0b5c46bd6575a5bc4e3d153b7f8e02bd31d62cbd19379fbc28b8fc39c1c1cbbc931e18bd017c9dbc29bc9dbafde880bc4204eabc9fc18ebc2df596bbe013aebb6ca78bbc42e446bcb7b9dbbb49711e3b36d4ccbb46bf83bb9a1084bb47f5bbbbc6e52f3f987fcf3e0e0edbbbfbed93bb22f8223f308dc23efd8e7b3923d1a2ba57e00c3f8b59ac3ef5d2223c6ba067bb4c61e93e52ce913eeeed593c7b46d4bb4cafb63e7b27693eef59593c283b41bc4cb1863ef1b9303ece0e303ce5fa93bc3d762a3e53d5e93d073ec63bd689adbce6ee983db08e633de835023a65fb82bccaac28bc0c56aa3afaa962bb6c89adbc39eeb2bcde7c7ebb4e81953b668605bd1ecf1ebd4df464bc033cb43b2ba207bd5dc52cbd3479a9bc362e253bd23008bd01c137bda1ddc5bcb1b7003bf608bdbc398400bd721894bcb40e14b827efb2bc74970ebdbdaeb8bc1c5a17bb1b8354bc0661c6bc0fb193bc6db998bbd56c6ebb7fe56fbcccff55bc7ad596bb278e9f3a851fb8bb5018b3bba6ad45bbc7d40abce5530b3f28ea0b3ffb5787bbf82b0bbc6042003f5c1d023fa5126a3b8005d0bb0032dc3e608ee23e217f743c805bdebb77d6b83efb4ec03e1390883c51e0d0bb836c8d3e53d4933e7f12653c35e757bc5c73543ef7b1683e5afc603c3e8385bc86db033eb06a183e5583323cf2d9a0bcb7c3623d0dcd943d89f5483b3ead67bc0e7b23bcc16fe83ac5ed28ba60d58abcb633b1bcceacf7bb6a8b803b19a4f1bcc46b1fbdbd74a1bcbb2aca3b0a3ef8bc0a2834bd875fe4bc5192633be1bef2bc4f3835bdbf65f2bced4fb73a143bc2bccf2017bd04f5dfbc55c389ba2b1793bcd97503bd3153d7bc5f9e41bb606e10bcf414d1bcbadac1bc710f8fbb234ce1ba24d951bc9c5d74bc387f9bbb84675c3b60fd35bb3b72cdbb5aa256bbe9c13ebc46efce3eb123313fd00303bb9bc235bc8d8dbe3e14be243f14be123c99800cbc7581a53edf0f103f4a659b3c16460cbc844f893ea1d4ef3e0ba7b23c3f681fbcec95563e389abd3e847ca83c9a0260bcc8751b3e39588e3e7158903c9cc486bc848ebe3d23c13b3e22a9513cc5e3a0bc68da0e3d9d15b53dbedcb63b3d9557bc571453bcc0dd823a6e3ab039d93a79bc538dc4bc1fb940bc2382f43b7e5ec1bcefb823bd6a43e6bc9b95b33bc4fdbbbc46271cbd7449fdbcda18ce3a8675c6bc93d72fbd47d716bd3a9df2ba6f6c9bbccfd103bd581dfabcf8c738bbb5c683bc9c73f4bc689002bd8fddc9bb5553eebba9349ebca9f4babcc7b0a8bb4b463bb98e633cbcecd494bcd616d9bb8772433b043ac0b93b2cb9bbe9a18dbb922232bca498863e310e573f79e9743b607945bcde65793e8db5473f433e893c32a706bc76af573e2add273f47aebb3ccd600cbc0517363ed6f00f3f35f1f03c6d0a15bc803f0b3e0a07df3e8118cc3c16e36fbc942cc23d32a6a93e386ac33c95f064bc106b683d7bc65a3e9b1f603c460b8cbcd6786c3c84e5d03df7cb013ca73359bc9e4389bcf8df29ba31dab13a0adc4ebcd935e1bc0807a1bceaed9c3b373799bc501d22bd619f20bdabb5363b30e3afbcd57128bdfd6940bd958036ba0819aebcec0c21bd80eb3bbde41d9cbb9b938cbcb66702bdf83e1ebd72a9d0bb088648bc2ee4dcbcbc3816bd97ba07bc2979c8bbb1699abc18ccfabcf06a2bbc23f9203b7a7900bc120ca6bc0b2305bca869b63bdc8b9cb9b69911bcac03b3bb36dd10bcfb83033ed5fe7b3f274d7d3c8c9d1bbc6e32f33df243683fb9b0ef3c333ddebba694d93d1964473fd5301c3d54d5fabb7999b33d9646253f7d951f3d09c209bc20fb873d18f6003fa3e4033d8c143dbc333e313dbb8fc03e365de73c2b7968bc07f18d3c8d84793e9bf89c3ce1e585bcee81f3bb9d17e73de62c003c21fd54bcf401b8bc9c4debbb62aba1b8000000000000000000000000000000000cbf88bcfb940bbdb8e020bda5ef85394f0d87bcf6bcfbbc781926bdca2f8abbfade86bc97d0f0bc630e1fbdfe3bc5bb19fb5bbcf965c4bc937d08bd8d320cbcd36d2cbc7e02a6bc68a3febcc49216bc945db9bb3b536cbc1b02c8bcf9080cbcd756c6392e69ddbbabdfa0bcfe7420bc0000000000000000000000000000000000000000000000000000803f00000000ad1351bbb46c7b3b24bd7e3f7c51163d3e9ec9ba75cadc3bc11f583f839c143d185366bb2015a13b6fde323f1524143dc05786bb27dce839ecdf0c3f315ff43cf247e9bbb3fa82bb1c3cd13e3416ce3c6fe408bcabd724bcff23873ea647813ce49747bc25daa3bc1563fd3de5b10c3c0000000000000000000000000000000000000000000000000000000000000000ffe658bc942e0dbcc9aafaba413a753a0f7456bcbcd016bc0af624bb0e49353a1fbe59bc55681fbc6e5952bb2c629039d31a2ebc707603bc384741bb7c502eb8537a36bcc12b16bc301a93bbceafc7bac28913bc6682f5bbab3879bb246187ba2099f0bb3ea0d5bbb8207cbbbcd9d1ba00000000000000000000000000000000000000000000803f00000000000000004050c63b7184643f9e18fb3ba703c83b16dda43b8ec5433f66280b3cac65ea3bfd837d3bb213233fc2d6113c47b5003ca7ca173b1418023f5fa3f73b8e61e33b867c8db7ee92c33e9aee033cb247f73b478d36ba19cc813eb6f9be3b2664c03bf0011abb9704013ed3a4873bbec1953b0000000000000000000000000000000014cf2abce0b7c5bbc56a8ebacc032c3a65e983bc504a2cbcf8c837bbdaab2d3af58a87bc71f83ebc81776ebb2f51f439ee4486bca02046bc823f8fbbdc856f388e9c6bbce11a39bc5d19acbb6d6e093a521764bc007734bc6ebdaebbdfb379ba481031bc6ce914bcfe9e99bbf60ebbba73d2d7bb4e1500bc1533a3bb760b2dbb2da86bbbc06667bbbefc2bbbad21c1ba38a5903bca0c643f7d6c053eb0d65c3b30adbd3b4d4a493f87ecf33d3c55e63bbb01aa3bb49b2c3f50c1d63dabe20f3c7c03833bffce0f3f3d6eb73d19291e3cb4f3773a5486e53eb530953d52d1183cba962a3afe0aac3e0120673d562a113cb71597ba3576643e86b11d3d37c0e73bf17f75bbc9d5e03dcb00a03c5357883be8fb45bb9a7046babd0cf13acb29163bb73d1bbc425fb6bbed549cba7712043ae6776bbccbf414bce0fcf9ba59a283b9203c52bca81d16bcea4750bb20d11d3919db94bc5c0239bc78c379bbb5f2f1392aeb4abc25881dbcbf2689bb88750dbae3f552bcce3624bcbdae99bb9de061bab9e810bc0a7af1bb389b83bbad8aa8bac6b2fdbbc16eeebb95eca4bb3c0a72ba145583bbfb260fbb1ccc5fbb3d4f0fbabe863b3b8162433f902c833eda204c3bb1e6ad3b4d7c2c3f5fc86a3e1fbfd93b5c17433b534f133ff50e4a3e5811e53beab45b3bee17f73ee7ca2c3e72a4223ca0e19a3a3f6fc43edec3093ea121053cf2f00f3835b0933e1562d43d0849163c4b9ba4ba0888433e12538c3d4194b93bef1589bba1a1c33df6fa143dfff7a73b4a560ebbf344ea3752dcc7397008303b962105bc5ce6a2bbb7a47eba02d7273a50ee5ebc1f8419bc71873dbb4302273a84256dbc3a0b30bc9ac384bb6c8c41391a3082bcc5c649bc6c38b9bbff3736ba72da55bca2902dbc8a67acbb8c2e78ba3c9149bcd4c225bcc1fca9bb82b98cbad44423bca5400ebc7affa8bbfca5fdba29c4d6bb69c2c7bbdfd083bbfac0efba044529bb1a5630bb45c80bbbee92a5ba8d88fe3acfa8223fecbfc33efd28473be47b3b3b48ca0f3f3161ae3e8017e13b04182a3b5fd8f63e98bf963e79b80e3cd7e71c3b9a64ce3e81897e3e93f5313cf0561e3ad142a43e2e204b3ef9d6153c33cde5b9bf66763e934e1a3e04c7133c538310bb99ff223e6c43ce3d7a25d73b39174cbb254da13dff78523d55fd993b5c8a32bbf1fc62ba9e71ce3a56a7f63a6ec8fabb8a75a5bba9449bba4de5433a243c4fbca9eb15bc95ad47bb594a423ac62d56bcad9b24bc668c87bbb2a4273976726fbc1cf51ebcbcc074bb1ef373ba82211cbc502bfdbb64c880bb646422ba7ef936bc2f8d1cbc0294afbb60a9b9ba33da0cbc53d6f9bbd92698bbe2d7cdba3bcec6bba7e1c0bb1f7f83bbb094edba318613bb4ae324bb11730cbb30e0aaba321eac3a4c14023fc352023fabec613ba88e073ba727e63e2766e73ee712ee3b6576f73a346ec53efb3dc73e2068103c89362c3bdf8fa43e2be8a63eea351c3c64ad8f391ebb823ed898843e54daec3b55986dba0af2443e1eed493e42a3073c57d3f6ba046c023efb1a073ec341da3b5ffd49bb170b803d530c893d482c9a3b90582fbbf62ca3baa9cfb63a9a8cf93acaebfbbb4b99b6bb52d0c1baa60a513a22ed4dbcc57c1ebc2e1c6abbc477403a670161bccd7c35bc7f67adbbc5bb58b98f2467bcd2c13fbc86aed2bba64cc1ba547939bcf81f1abc5489a8bbe1cf0eba8c6d3abc2d1428bc4e2cc3bb931a01bb27bd0cbc048bfebb84e8a3bbdcc6e3ba8c95bebb948abcbbe82985bbeee6efba1e6f0dbbf4ce24bbbe3708bb2b6aaaba1e2b523a7344c33eace6223f46b08b3b6d2bc93a28feac3e0569103f7abe083c05e3893aa380953ee36af93ecd503e3c4e66f53a91d8783e9c1ed03e9892353cdddc2d3955f8453efb26a63e6922193ca738bdbaf1ae133eb60b7c3ec4f4273c389106bb7db9c33da887273e20cceb3bbd7549bb7df93d3d3ddca83d92aaa13b05e030bb19ccd4ba2cb79a3af728fd3a8269fabbf667c3bbaa92c0ba23cdc83ac38f4ebc153c29bc46818fbbf39c4f3ae83e2ebcbfb211bcf39891bbe65f353891535abcf22638bc1926ddbb1737c9bae4f92abce16a13bcd89eb0bb408b8dba9dd35bbc4e302abc244c96bb9fc6ecbaf322e4bb5e87d1bb371c8fbb3d81d0baae31abbb987cb6bb5ca293bbb17924bb02f3f2ba50391fbb08e30bbb8a3eaebac91c2fba010b833e655d433fc7828e3b513bac3a3b14683edf302d3f9212273c39dc8b3a1569463e44e3133f8e42143cfbd8df375ea4253eacebf83e7509443c84e641b9425a043eacfdc53e5df3193cf048a6ba396cc73d8ca5953e8409243c4533d6bab937823d3138463ed5f0c73bf2f86cbb9ea4f03ceb3fc83dd0d8a13b894131bbabde0abbf6ea623ab9b7053b2ae318bc7b1a09bc28141cbb35d8a73abda454bcf2c63bbcff75cdbbc2a3cbb9063b59bc3d0a3ebcc2ded2bb07b0acb91ea252bc9af036bc8e85e6bbc8df8eba703147bcb69530bc152cbcbb9ebf82ba327129bc9d6019bc62c5dbbb338315bb0dc202bc43b6fbbb166cc0bb3d0823bbe532a7bb7c57b3bb911399bb247b21bbcc94f8ba6ade24bb56ac21bb2a2adfba504ea53aad61043ea548643f4011f23bdb16263b664aef3d81864a3f5fa6523c3eb8af3aa9ddcc3d121c2d3f416d4d3c4ac83b3a4d79ab3d7f76103f47ab4f3c5135d539f8ca883daca0e63e0aef343c5ad89dba4eed493ddd46ad3e0538233cac6714bbd93e013dbec0663e6435fb3bf1104dbb96ce613c7b5fe63de002a73bf8d938bb7f8a2fbb0f41ee389973ff3a0000000000000000000000000000000041d41dbcca822dbc7d81a0bb2c69e8391a3826bc1a5e12bc44d1c1bbbc9733bad50d26bcce690fbcaaabc3bbd0a08cbab9450dbce102f9bb3860b8bb396de3bade1906bce654f3bb7cbcbabbe04a0bbb0e6cd2bb07d9cabb1884a7bb8ea31dbbcf5e93bbdb239abb22ea8cbb7bc522bb0000000000000000000000000000000000000000000000000000803f00000000c4c1893a3d3aa83b45f3643f88d2353cb133973aa4d5943bef1d443fa75b303c3482603a36d78c3bec7b233f3864323cd4788db9b332253b6168023fd64a0c3c6a7365ba4d06e83aeef5c33ea06a053c68bceeba620a8eb82f59823e669dc83bef5830bb54d7f1ba9fca013e5e9e863b0000000000000000000000000000000000000000000000000000000000000000d8dfeb3b2de417be10d010bca928fc3b62944ebb71f40cbeaadd94bca8cfce3b200164bc9d27f4bdca4fc5bcc1f3ad3bffff66bcb2ccc2bdf8d6c7bc3bcc8f3b6fac04bc363591bdc565a9bca3656c3b95e6ffba385c37bd7cf147bcfc7d903b0637a93b260a92bc8ae6adbb557d613b00000000000000000000000000000000000000000000803f00000000000000002a0fa9bd777aa23fcea38cbdee61b83ae2e746bd8b53863f585cd7bc9d66dc387a3cdbbc2bdd583f176685b9812cddba53e598bcb830233f10ab303cf95a22bb5d5697bc00cadd3e1015533c63d633bb38b06fbc8d29743e31bcc63be9e0acba79866dbc0955573d9a655ebbc9c225ba000000000000000000000000000000009d0f843c90cec3bdeb8c233ba97f7e3a3e1aff3c1e0819bea7250abc62f7093cf2cf653c73351fbea2f5bfbcf38de13b84d94d3b53f20bbef37df1bcbac2b03ba173f5ba19f4d8bd6e8efbbc4623993b5e69583bf817a2bd7aabdabc69bcbb3b9a49083c295745bd05ac8fbc2850b93b3ccb273c89cd8abc8318ccbb8cffca3b2e47333c6dacda3bb7f6953a47ae0c3b510713bea5e6a13f81fe643dda4ac5bcc44721befd689a3f11d3453dc879a1bc3251e2bdbc2e853fb4879c3d3e64acbc54ba9ebdea22553fa51bb23deabc9dbc147f5fbd60e91d3f920dad3d0ec289bc099a3dbd7f64d53e9c91893d47eb72bc531408bd2871603e16c6353d756d35bc4aa914bc38092d3d7cd4a23c6cc4a5bab6c34bbc1a099ebd8fefe1bb440f2ebbccb9123c77c482bd5b440b3ba04110bb960ba13cb049f8bd57ebb6bcfbe8473b47cd053cdbb1fabd41d610bd6e5f0d3b3917ad3b31fbf0bdc25129bd0ff0433bcab6d73aadfbb7bdbe4c1bbdf40bb2391d81f73b51e88ebddbc006bdb493153b42811d3c08132bbd1e53b8bc7c161f3b27405c3cdb658abcdae731bccf8cc63b9c5d4f3c83b8913b1aba953a141a423bd1240ebe6b0e873f3e167d3e4bee57bd108222bec65d863f0415763e2a1455bd6516e1bd057e613f6933723ea38f24bd51d8bfbd01bd3b3f759d5a3e177313bd29f289bdcc0b0a3f6b33343ecc40c9bc69c972bd138fbd3e82220b3eb169c7bc800432bd3e4e503ec739b33d181b9dbcccb9c5bca8e84e3d1650193dcac754bc64fa85bc175e4abd92270ebba6620cbca5d7b93aaf9b44bdce96b2bbf03983bb8659403c9274bfbd2cef15bdc0158db91c09343c72aed9bde0cf5cbdd0b567398731d93b30aec6bdbab762bd4bb97c38a0b6993b985da5bdbbcf50bd0f9a81ba65d2123cc6e075bdc33a2abde59d13393f26443c42ec18bd8131ecbc852f783be6e55b3c77c074bc1abe4ebcff60a63bbaac373cbfef3f3b8d39f4390bae793b8a2af2bd5e525b3fd73be63ec2f19bbdad2d0ebe9036593fe50ce43ee563a7bd08a4e8bd608e3d3f0f0cd13e55df84bd66fcb7bde44b193fadf8b23e77394cbddb648fbdde4ee63eb510913e744c1dbda5b571bd2ff69d3e4ac4543e7a9005bd115d40bda90b2e3e6f05043efb79d3bc828afdbca889463da89b613d146aa2bc6e6cb6bcdf610fbd76d35dbb2f6081bc952cbfba1a8d0ebd85877abcc52584bbfc7e133c73cd8ebdc25364bd14a34bba2f84da3b5a6ea3bd22888abd67bcb8bac3e4d53b98cca3bd812993bd35154fbb946293ba93d16abd602953bd5e5da1bb04c0003c142853bddd8a4cbd523f2abb98d91d3c12d8f6bc7436fbbc1a95a6b9ddf72f3cdc6f44bcfde979bc11358a3b638b0c3c3c38733b9e2a84366c19973bf65dc7bdad04273f3f7d273fcbf4c7bd4762e6bdf735233f40a0263fb960d5bd4a67b2bd11e20c3f6400133f437b98bd69c29cbd9af5ea3edde1fa3ef21472bd79e948bd9f3aaa3e5d31b93ebfdff7bc3dc259bdd8d0773eae578e3e1b9f11bd259c27bd220d093e22c6293e564ee6bc6122eabc5dca233dc32e8b3d2304b2bc9aefa2bcc24adabc141be5bb5d1e9fbc19abb4b8ff16c3bc31a0efbc1467aeba11c0323c8ef64bbd442da1bd0c2e6dba9e2a543cb32581bd3defc4bdb87c3ebb126f373c797a7bbd35d3b8bdda2093bb1f281c3cb54565bd4be299bdab36b6bb94e1263c3d4126bdc3796dbd65b97bbb5051323cf9cfdabcb11a1ebdfc65b53abf332e3c92a829bc7e2585bcd184bf3b3e18eb3bd8b9333b9105433a9fdeb63bbe2a9bbd4fcee53eceae5b3f3f17f3bd01c9b1bd3d03dd3e68155c3f36e604be922997bd40f3c33eb181423fcc1ac3bd31627dbd1c2aa23e1520203f90ba8abdf88f56bdffb27b3e8690f73e9c7e3ebdb29631bda9342d3e24f0ad3ed4ad14bd6e3906bdc2cec23d19734c3ed4eaf8bc4a14a7bc1ddadf3c783a953d833ec7bc4b4754bc9c41b7bcd6db8dbc7ceda0bcaa83483b692b28bc463d49bd7966ff3abd0b573cdb3ef3bc4b3ae0bd2226943b7f32533c07642cbd5c4be9bd41d157bba27c6b3caf6938bd78b5e4bdbc0dd6bb64071f3c60f01fbd5487b0bd2ad806bca5803d3c05d202bdf8038cbd93f59dbb2847183c7bbb97bc3e972ebdb23b7ebabd8fdd3b81c809bc9d1a96bc7294f73b7a43933b64f0223b614e623bf7f80e3c4aa751bdf36a7c3ef3f1863f28510fbe156864bdae45683e583d873f664918be84ff3cbd1477583e1446653f038bb9bd21b02ebd9041373e9154403f93218cbdbd580bbd60fe0f3ea4ed0e3fbf051fbd11cefebca665cb3d5d9dc83e982b07bd83c8b7bcbfde643d2463643ea8abc0bc126f1dbc2c086a3cbd0c8c3d5e6f9dbce4b1a5bb235e86bc4c5c17bd019987bca471b53be0e181bbe6c2acbd1e44f33bd659783c6f4f9dbb6a7b0fbe12c7bb3b24b0973caaf8b2bcf63319bebad7bcbb0b30913c1746ebbc987507be721653bce4195e3cda28e7bc9295d2bd120769bc55bc4a3c7302b3bcb4eb9fbd902325bcc61b0e3ce98b4ebcc76341bdab5223bb16462d3bb78e9cbb09aa93bcf85a123ceefd4a3a40197f3bf253b23bf4be023c9046b5bc86605b3d27a6a13f351110bea7b4a5bc54000b3de4de9a3f1d2014be9caabbbc0b92563d6a02863f57b9aebd2ea5babc1dc6633d9c5d583f5c4144bd8ad7a2bc7193493d4996203f74ccacbc52476dbc9b1e093d4466db3ea70277bc8fb513bc6b8b883c37e86b3ed18841bc982e123babfee83b2540503d8a8504bc0cea3d3b013588bcbd218dbd80984cbc000000000000000000000000000000009096693c5d3cefbbfb3717bee0696bbbede3813cbe8b79bcb7820dbe8bcf71bc2e85483c87a2babc5ef9f4bd96a691bce8c72a3cdf33b5bc3073c2bd4e1db0bce24f143cf2e57cbcf1f091bdb93a93bc5e5abe3bdcd60cbcfc3e36bd92b61dbc0df8203bfdbaa4ba89588fbc3865cfba0000000000000000000000000000000000000000000000000000803f00000000dd83c53a7595a3bd3197a23f154e89bdc74c36bbee933bbd19a4863f133fcdbcbba169bb2afedfbcce42593f9131a83a972ebabb3a4586bcf3af233ffc45543ccaa097bb5da883bc3376df3edb195b3cf917bd3981875dbc6cd2763e3e7ae53b8b589b3b507b89bcf1bd5d3d8c55c8ba0000000000000000000000000000000000000000000000000000000000000000bf9b1ebc21b9dfbdb95ac0bc9d4f953a3b5a54bc63b8d6bd6ceef4bc9aefe6ba22faa6bc09b0c4bd0cba05bdaa446dbb10599fbcc93ba6bd6b10febc037a49bbb45b1bbc518482bdc0e3e1bc357185bb1e901fba724135bd806588bc069ceaba49d3213c076dbebc0c451ebc909d863900000000000000000000000000000000000000000000803f00000000000000009f9b3ebd550a983fa9e4afbc0f9190bb7289f6bc27db7c3f9cac133ccb6c613b9a30a1bc3b814d3f406ce93c999ff83b88bda4bc864b1d3f1250023d6cc3073c5662ddbcc805dd3e29b1db3c0775bc3b67fcf6bc2cc0813ee2225e3ca270ee3a6a940ebda793a53d0cde50bb8c6342bb00000000000000000000000000000000364c30bbda8989bd690905bc98d631bb9fde8c3c8f76e5bd9f14cdbc8d2ed5b95683383b4b4bf1bde9021abd733b97bb4d84dfba0bc2dabd0c0f2cbdb436d8bb2d1648bb1769b4bdb5a01abded6b0dbc7cafa63b2c178dbd0aab04bd0075cebb5e0a583c568640bd08b2b6bce40e2cbbe0077d3c3e08b1bcf47efebbaf7b333b95126c3c47f4f9b958843d3ac858433a9a94bfbd29cf973f1eecc73d58ec09bd62cfeebdecf28f3fee8bc63d6f1fe0bc2c94a3bdbc77753f4df6f23dcae783bc833281bdd87e453f185ff33d2622edbbbc0552bdac32143f933dda3da5ef29bbd92264bd95f2ce3ef47faa3d6c179fbb89e95abd183b6a3e85c7583d4cbfc0bbb80a1ebdd43f893dcfa9b03c7a0e2ebb4941fbbc790356bd533228bc9c7722bc0cdf1fba5c013ebdb5ebbdbb8682ddbb3708ea3beeadbbbdd06af6bc0c6df1bbae7e8bbb201fbabd3adf29bd75061cbc90775a3b7213c2bd967f47bd203745bc8893a3baa4019bbdd46d31bdaf1d39bc7383263ccfc57dbda21c1ebda4b624bc6071363c1d0028bd53ccd6bcb35ecdbb39bf8a3c4e24a1bc29aa4abc19f404b93f16763cb295e6ba0cd8df3a52a0213b1627ccbd1bbd7e3f03a78b3edf7c54bd0e09f6bd8d43793f08d08a3e5d0d3cbda4d2a0bd68254d3f6cfb863ecde5bfbcfeeda0bd4fb82c3f52c9713e6d398fbc64e27fbdd79c003f38ea453eddf4cbbbabd389bd436cb53e738f183ee70129bc96bb5cbd7aba533e8a42c13d14862abc3ea63cbd5e98873d33de2e3d453f49bca6afefbca45614bdd93281bbf74662bc72620bbc289c17bd41dedbbb912a0cbc91787f3b36cd96bdbc0115bdd1f444bc0711ad3be50dafbd75d85ebdaa6c6bbcb642b93b9748a5bde7cb69bddb937bbc280baa3bcbe48dbd06625abdd56f85bcf9d24d3c45b156bdddeb3bbd5dbc45bc851e8b3ca93f15bdd945fdbcf6c202bcfbad8c3ceb2888bca98578bc7a68cbba0403623cc3242bb9cdb599ba16f24a398d76afbd8e83503f479de83efe997ebd0d58e0bd82ed4a3fd8aae73ea8e675bd6972bebd8c822f3fac80d43e615e13bd2e29a6bd521e0e3f5209b73ee9a6a6bc906890bdac59d83e18a7943e01f32fbce3168cbd658b953ed2a95d3ef0ee4fbc02c77ebde1802a3e340f0f3e7ab462bc0c0840bdf956653d30a07e3d4dac90bc368efebcef49e9bc7bb78eba2a4996bc3f57dfbb711bfdbccb8f26bc0eb50ebc6125843bd00576bd3a7238bd84196cbc08e5a73b5ddf8cbd1e6d7abd897687bcd7280b3cd9be8dbd6cff89bd3c509dbc07f70abb940c58bd9fbf51bd8a088abce4405d3c521d3fbdd22850bd4dd282bc1844673c5f37efbceb7508bd1b7123bcba29763c282463bc3ad783bcccc1d6ba20f3473c73cb5b3916265fbabf5aad3a50c599bd4b8a213f67a4223fbbb892bd9dd8c4bdb16d1b3f3e90213fa98a89bd2eb7a0bd96f2043f8ca50e3f623a0cbdea549bbd132ddc3e848bf53e3d22a8bc0f1b52bd4f6ca13e62e5b73ea6898bb967ec84bd1360683e0efe8f3ed31218bcd0905bbded6d023e33a2313e060a3bbc40622fbdbc1d253d5835a13d6fc19cbc112be4bcb8fcd2bc5aa400bb29dca6bc9f0114bba236e0bc4e3c93bc158004bc2798403cd6be4cbd8c2e75bd68f97cbc88e5803c421271bd958da4bd9dc8a9bca1637d3cc4756abd8d88a2bd0446aebca84f6e3c3b0b50bda83c92bde8e5aabca429893c184c1abdb6336abde22e8cbc7845933c0e2dc7bc669522bdd5ef25bcf39a673c15472cbc96f097bc650e30baf225233c89f7543a3872a5ba8508483b557187bdd1a9e63ed88a513f67d6a5bd9038adbd4d04db3e5e39503faae8a4bd58e89dbdb34cbe3e3da0383f390c32bdbfe58dbdf4579b3edd52193f9547a7bcdcfe80bddca76d3ec2d8ef3e65b7e6bb59fe6cbd6201213e9ce0ad3e9aa9f6bb63254dbd8ddfae3d91c2573eca204fbcdb9309bd6ef9ab3c47e7b73d91659cbc7094a6bc0230cbbc1edcecbbc205a7bc5a4eaa3b5b45a7bc1265f9bc393ddabb3d379b3cabbb1fbdabc4a5bded1483bc68e8713c534c3abdd6d6b1bd743aa3bc7a3eb53c7bcc3abd451ac2bd2c9bcdbc1eca713cac101ebdb28a9bbd56f7c3bce74ea33c5f9c00bdfd3483bd437197bcca806a3c55e6a9bca0612abd34b631bc343b373cb1fa0dbc392ea0bcec23a13af6b1d33be8f4bf3a41c1123af413073cc7865dbda03b893e75897f3fce84c0bd81b98abd8e4d7c3eba957d3ff859b3bdef8760bdbc86623e4a9c533fc180f6bc485872bdd5d0373e2df7353fa80d56bc1f164abd843f0b3e2ca0093f1ce6843b515742bdaec5b43d0753c83e13fe33ba66560ebda6d83f3d42fe6f3ea3af95bbc3a4c1bc50c6be3bbc12bf3db5fc86bc56751dbcc43fc9bc777ca4bc774d9dbc72052e3c3d52a4bcfd4e66bd0df5c2bba8d8ef3c8486b7bca067ddbde1c188bc62c6f63c841406bd3be5f3bd2644e1bc43a5e73c244908bd32a1e1bdc73f03bd1b5db93c88e7f0bc7d33babdd4aff5bccf81b13ca590b1bcad4c95bde2b8c4bccf1a8d3c776d5abc450144bd81b646bcfa32ab3b4f466bbbaea3a7bc9151373bcd2a263bcf75663b0a65853ad58a033c631d13bd8539c03d2a14983fc4a3b1bd677f3abdef20923da086913f19e5a5bda28739bd1e77993d2a587a3fb738b4bc1b4935bd6232853d7a574b3f9fc1fc3b43171fbd3e1f4a3d1c681a3f7cdaa23c573b0dbdc261d63cfc21db3ef5376b3c5ee2c5bc2f1f4d3b82a1803ee483cd3a8cfb84bb7e0e27bcee03ad3d01053dbced8366ba3b4ddebcb5392ebdfc5ea6bc00000000000000000000000000000000394ab93c0f44c0bc1a0ee2bd25deb3bc029ec83c11b4c8bc1274e0bda97afbbc066b9e3ccbd1e1bc56b7ccbd0b0d0cbd01168b3cdb65c4bcff5eaebd34bf04bd5dca833ceedb87bcce4a8abd4736e6bcfef1443ce66406bc8e1238bdf0a48ebc3ef0fc3bd6a46db93762b4bc25c7b8bb0000000000000000000000000000000000000000000000000000803f00000000b3e8a5bc81c433bd1cce983ff3255fbc84b5bebc6d08e7bcd8567f3f74009b3ce8b5bcbc8ab993bce2a24f3f2c93233d794fc5bc968186bcd7661f3f4ca72e3d4d4ca9bc92a9b9bc7270e13edd4a053d70566bbc39c7c3bc6eea843e2ac0873cc68b92bb08b4fcbc7432af3d94068abb000000000000000000000000000000000000000000000000000000000000000018811dbd3eea4ebd098ca8bc4614b8bbcb1b14bd4f0657bd69a5c2bc45cbbcbb23671bbd924257bdd15ad2bceddadfbb60f305bdb5e93dbd30e7c9bc5bb602bc9aa9babcec3b20bd4331cebc4a4633bcb14c2ebce839eabcaf019bbccd2018bcbd6d703a6f7b86bc6dd369bca33842bc00000000000000000000000000000000000000000000803f000000000000000071d9083ce914843f47c6b63ce4df463cbfabec3bc4d65e3f136c073d9b49ad3c27cda63b3e77373fa6f1223d00adde3cae6454bad9650f3fce91133de3d8d13ce94912bc62fed13ecfe3ec3cd04fa83c1ebe9abcd0af833e1c4f833c49ff243c55e5e6bc3cf4e03d25aa16ba5e4715bb00000000000000000000000000000000244fe9bc2c7deebc077d37bc761ce6bbf1d2f1bc52fb4cbd2424c3bca17733bce7050cbd8df26fbdf4b8f9bc7bdd36bccfac03bdaef26abdc1cf05bdb99c46bc84f0d7bcd7d94dbde96203bde0913cbc80b767bcbe3f2cbd516cf1bc4d387dbcdf133ebbd420f5bcf002c2bcc0417abcb4ee223c1fe779bceebf5fbcdce156bc87c53a3cb6e716bb692cc7bb55463abc50e432bc0699833f5ac30b3e57181abcd50379bc43d4723f8ef60b3e361d733a9e1d07bc97b34e3fd55e0d3ef8388b3cb3b714bc245a293ff629023ece03b73cad0b66bcde86023f7b36d83d3b9bc13cfc50c1bc850abd3e43eea03db0b8893c48de00bd43dd6a3e2cff463db4d9ba3b95b419bd4a23be3ded3d813cf2ae02bc66a5fcbc5cfabdbce54d2fbcda155ebc4a49bcbc92a1acbc9808ecbb56da0abcc577fdbc6acc36bd5bf1c1bc7f5d35bc11d008bd79953ebdf2efd6bcc60c20bcd561edbc5c9c5abd29850bbdb8d86bbc4bedc4bcfa9637bd88aa00bd503f6dbc165a2cbc29a522bd6e8702bd9be591bc6157e3bb5d83dbbcacd6babc8f4657bc99e6153cddea68bcc1327ebcd3d16cbcd5ac423c6c0991b99a6dbcbba90311bccb019fbc5a275f3f610f8e3ef3a673bc8a60c2bcaf49513fe2ad8a3ef805e8ba29f759bc3b222d3fcd4a793ea5587c3c6f2ca0bc61ba123f4dcf5e3e5bc7ae3c3b76a6bc19fae03e6d50333eb82fbc3c8f58febc7608a43e0cd7073eb4678d3c0f32f7bc249c4d3eb0bbaa3da031033c4ee01fbd806ba83d989a103d1f2f25bc20f9ecbcd40f95bc5466d3bb987352bc9232cbbc93efa2bc2d51bfbb826aaebb6b26f7bc32741dbd34c2afbc46d02cbc020febbca43b48bd32d403bdae2767bcf9dfcabc396646bd5b9217bd7ae66ebc0a0ba9bca1b131bd998a11bd749c8bbcf2b41dbcc04211bd52b003bd7c5393bcf9e598385c09cabcd6aad3bcc0298fbc81ee0c3c5b4d55bc182879bc44dc52bc26ac173c7afcf3bad900aabbd71e04bcc150a0bc6124383fdab7d93eed9e43bc6f2adcbc3e472c3f269dcf3ecd10b3bacd75c7bc85ab143f951bbb3e6282823cdcdbc7bc8c4cf33e01799f3ec4b1bb3c04d0e1bcaf6fbc3e66c2803e39b5cb3c5b170cbd9fc1873ec0df3f3e8ca08d3c81411dbd2796263e74fbf63d70f2e93b09191cbdd2a5853d28b15d3d09f9bdbb5df8e5bca39c84bc331766bbce8a2cbc622cb2bc4906a1bc5d3caebb0e4786bb0096d7bc7eb016bda2b2c4bc446a24bc1b36c7bc50592ebdccee04bd8eea50bcba26b3bc306a39bd234c1fbd86fb84bcf5dab2bc822716bd1a2e00bd518c5cbc1abcfdbb82ec07bdcecd0cbd1cb198bc5dde73baa3d9a8bc7202ddbcd23579bccdf7013c4a5431bc395f75bc184466bcbeef323c463719bae0b6b4bbe0a0f7bb3e1ea9bc16b4113fe0d7123fa0d931bce131d5bc494e073f870b0b3f29b43f3b4218c5bc2b77e73ec170f33e3f2b993c1949e4bce169c03ebb19d03e4c39db3c5e6eaabc3263923e0d9d9f3eb216d83cf80811bdf62e553e120f773ef2f3ab3c2da70ebd0a89003ebcae1c3eedd6223c0e661fbd3f7e453d5403953dd82ac8ba1df0e2bc584995bc2a105cbb11880abc0bc49ebc270d9dbc385fe7bb735f40bbfbeea0bc21760ebdb9b7dabcfebf19bc025b9ebc94a527bd926521bd72a465bcbfca6bbcb1c628bd71b62ebd385f8fbc17fc4abcfc2a1abd119926bd6c3c9abc8a9e24bbb3cceebc75bf15bd6b09a1bc85e0943b6362a2bc3af8dfbca2c096bcd3cc1b3ce66522bc9be271bc4c093abcffe71e3c8b4c2b39902c95bbbb89cabb7e19aebcac2ad73e202e393f23661fbc5af0f1bcf2cac63ebe6e2f3f045e643ba7b0eabce45aac3e106d193f70d4b53c15a1fabc96898d3eaa06003f7621f03cba0b00bd620d5b3e909bca3e2aeefc3ce72315bd24eb183e6d68953e4b71b93c6b571fbdea82b03dc796403ee8963f3cac6813bd8d3de33cdd43b23d40fafaba3fa5d3bc2c4da5bc6ebc2cbbdd92fbbbaf8f27bcf6379ebccdee25bc624878bb04dd2abc21a116bd2bdc0abd289b1cbc50c46ebc012819bd494e21bd7d3d67bc14c3f0bb0f4c1dbd59aa4bbdc0d7a8bc5d6cf2bbebed05bd8fca2bbd6b7ea0bcfba7fd3ac075dfbc2f7923bddfa4b4bc3939c03af7fb94bc8b12dbbcfaa575bc5c983b3cfa3df6bbb4be83bc158235bceca4233c8c79873ac0cefcba657456bb9449c1bc78c08a3e10e55f3f35c816bcd0a007bd535a813e5773543f7b6f003c91b4c1bc47e6603e85dc303fc0a3d63cc2ca02bdf613383e78fc173f6ed60f3d7cedeebc3a9c0b3ef99dea3e10320a3de1680dbda9efbc3d5826af3e46aed23cf945eebc56d6533dbd835d3eb9725d3cc60c0abd9639cd3b967bca3da8b058ba012eb4bc4631b8bc952408bc2fb206bcd117e0bb84d5c2bca815aabc897ba7bb81845f3ba2bffdbcd66943bd6c2c7ebc0fcb3ebae81e0fbd215363bd2a46aebc124f60baea510ebdb84466bdd962c0bc06ae65ba8724f5bc5ddd4abd1366c4bcf69d063c378ab7bca75635bda4feccbc2833473c939d62bc3e0806bdac1cacbc1ece633c5b2f5abbbf3d89bc8f3a3fbc135d2d3c71bfc13a29fb4bbb866869bb215ea5bcc5f4033e1f04843f8f13483b831900bdef20e73da79f753f505d993c190be8bcf64bd13da1ca513f89641e3da8e1e1bc5a20ae3dfd522c3fce5b373db453e0bccd4a813db1cf053fb90c283d8a1904bd1017103d536ec33eef78ff3c4a9605bd400b143cab67773e113c8f3c93d9debc949c74bc796ad53d75f15cba03d8a4bc279be2bc782984bcfb9b23bc000000000000000000000000000000003555a2bb7dd0f7bc3e2f42bd70b159bc4a1048bb9c9ef2bcbdbd51bd33639bbc835bb2bb2f02f7bc2e024dbdb891b2bce682a4bbf459dabc920335bd33e7b2bc44f73a3b6508aebc8c7828bda798c6bc4415f43b85a848bc7ec4f7bc7423a1bc835e343c12759dbbdf8e94bc94d061bc0000000000000000000000000000000000000000000000000000803f00000000a8c775bcf05db13a5ba1843f0063143d0ffd7bbc2a11633baf16603f35b12d3d7c9686bc35fc523b3860383f9735433df9ba8ebc0e828bba4b8d103f47192d3ddf83a9bc1b8815bc85ffd33e6b590a3de8a9b5bcc06e95bc4839863e4fcf9c3c936db6bc94b7e1bce4afe73dc9fa393b0000000000000000000000000000000000000000000000000000000000000000f5c8ea3c88de3cbe37f70e3c4f8c143c82eb853c6b542ebe53039bbb2c08153c3748843b82021dbe59018fbce82b1c3c1f263039a873f7bda0489cbc7d0c073ccd3c04bb1bc8b0bd1ffc75bc9f60973ba7f040bb105a40bda3b731bc56dd973bf1d6b0ba530a18bc130e41bb88fd7d3a00000000000000000000000000000000000000000000803f0000000000000000cf3604be8e80ac3f43c9f3bdcff2353cb575b0bdf8de8d3f96996fbdead2163b2fbb7bbdfd17683fb5eab9bc09cc57bbf8862bbd5a402c3febfa9838d7936abbf228acbc095fe03e0f7d443c628946bbc1c7c93ab5765b3e8a91a03c58fdd138d1cb813ca06ea43b29c18c3cc787c33a00000000000000000000000000000000dbe5f73c9629e6bdb5384f3c6138933b7793423d937124bec110df3b252dfd3b25e5043d195236bef7e864bc1d976b3c9301c93ce3c024be74f3c1bcac316b3ce447623c03d8ffbd0632f6bcfe96383c876a173c96bfb6bdee42b6bc0e95e43b760f5b3b616c41bdbe0989bc178fd23b1a2a0dbbb4c66ebc707f1abc7cca6a3bf04c103b2d01803cf74d2b3be61fff3acd8649bec71aab3f9944053c4dfb61bc79f644be515e9b3fb92ecd3c92334dbc30b622be1ed58b3f806e573d2c5ed8bc3ec4f6bd6abe613fc6728f3df478d3bcbe0fa5bd7b7a253f7d5ea13d89c1a1bc82792dbd89c0d23e32e99a3de02d83bca0dbb9bb672d433eab957c3d79f738bcb67a073d3b0d5b3c9a23473d549adbbb4730ce3ce6d9f6bd001cfb3b90d0833a1053db3cbb5299bdac87243b486bee3bf4de133d33dd0abe6c41a5bcf3c1513c8ce2033d67d519bec19619bdd94b703c968ac03c31390bbeceb63abd4b31723ce8446b3c8bc5d7bd2f2632bd1aa80e3c3eb3473cb4069ebdccd00fbd35661c3c1afc103c42d727bd0773bfbca69ce23bed93a03bb50766bc8ced19bc93059c3b89a2623bbec5e03b66b96f3bb243673b4ea949be9c268e3fde40683e76aa78bdbcba53be1d068c3fa7b2653e948b7fbd629530be170e753f321a6b3e91e870bd76ee09be5849463f80bf5b3ed6da55bd1941b7bd85780f3f2468413e6fd817bdfa6b5cbdf2cfb73ecc011c3e485deebc72eaa4bcf3be2c3e6457cd3dacd078bc8a4b5e3c926c803ce15d4d3d7195b9bbd260bb3c548ea1bd66f8bf39bc4a773abfcb953c60106bbd3f7557bc3970203c8dde043dce3bd8bdcf1a4abd2e9da33c58f2ec3c8980f0bd20c28cbd1493953c9c3bb33c5f98d8bdb76194bd1673573cf2258c3c7efdb5bd216d83bdf1483c3c58b6533c002c7dbd14e449bd7cbafd3b89ab0f3c73b310bd76fbfdbc3a46ec3b824bd43becf554bc9edc3abc892bdb3b6797e83bb4d0a63bd88d983ba6baaf3bc6ff3abe3c696c3f100deb3ec54ee6bd627147be386a643fa4cce93e725eebbdeabc26beb32c483fe5ccdc3e949dcebd59f2fcbd664a203fb4d0c13eac8ba5bd6703bbbd0adbeb3e490ea13e5c207bbda91950bd720c963ed088683e32cb24bd2dcaa7bc08fb0f3ef1030d3eb338aabc099eee3b5a6e943c956f553d602b88bb91b6393c2f9678bdc62290bc8089bdb9021f413c932c16bd78570abd3f61693c8f6bd03c348591bd4ddfa5bd1e14b33c8387ad3c40d7abbd7746c4bd3b36883c4c01b03c6a56a8bdcf81c6bdd75f4f3ccb6e283c86d679bd79b29abd0195163be44b503c1a2a4cbd731681bd2fce093c5793103ca882e2bc801711bd4ce0df3b16fade3bb94850bcc2665fbc67b9de3b2e66bb3bd4b77c3b8d90a73bb38b163cc8d517be75c1313f23e6313f94c31ebe003b22be299c293f8820323ff5c722be4c7501be7cc0123fa1d4223fa4ae04be522fd6bd5442ee3ef0040d3f378ad7bded9489bdb80aac3e83d2d33ead8f70bd406a41bda1da643e78b59a3e82fa47bd8a44a5bc8a5ee43d2dd9293e576fb0bc6f5a0a3bcbd5be3c53e14d3dea14afb86269d43bf29e22bddb3308bde76ff839a407053cf2679cbc0bb852bdc3f18c3c3e988f3ca1e721bd3412dfbd3283d23c64e2a33caf0f56bddbe301be9b0f943c3414843c7d8154bd85f7f3bdd50e3a3cb054813ceff845bd5e29ccbd2aaeb83bb6762e3c7a6e15bd51e691bdf402c73b33c40b3c5370c1bcdb6029bd0fbcb93bb791a93b86063cbcee6966bce9f8213cc036a53b1335743ac835de3ba79af33b0feadcbd7280ea3e07de6c3fa86b3ebed348dfbd5820d83e78506c3fa75b46be5c78bfbd83acbd3ea8eb553f614822be132692bd5c33983e9bdb313f4845eebdbb9361bd9631663e0ec8093f9d85a3bda1b30abde3f01d3efb38b83eb5b43fbd4bde89bc54adb03db125413ef19994bc1316acba68a3de3c39782f3d1a5b973bb282c13b4963acbc747756bdee71e43ab1ef843bea54513b16b692bdbf05c43c2068193c779b2dbc46ac0bbe7691d93c887e5e3ca209b9bc15ff1bbee634773ce7447a3c3a39e9bca0f412be26da053cb5621e3c4620e9bc77bbe2bd1260253801101d3cb92ec8bc8c38a9bd3468cd3a3f5ee03bda7688bce52b3dbd3cf28e3bc4df8b3be8a649bc288950bc9f9ca03bd95a273bd44c79bae0f6053c93cb083cc9ce6abd4148683e55478e3f748e50bed57f63bd89b7483ec2868e3fdbc94fbe2ff84cbdddaa303e17cc7e3f2d1421bebd912dbd9d02133e1e65533f3f97eebd37a8eebc4e23eb3d71e21c3f879887bd9012a1bc5550af3d0ac0d13e0b6d1fbdac333cbc7ebe613d50804f3e334523bc386146bb78f4043d5dfc083d00062e3cc159533bf65739b9d8ee94bd8c201b3c18db363ab2e06a3ce434e4bd319bdf3cf9edb9b99b8da13caab722bef5e2033dbe5a1e3cb9e1b93a521336be0cf55c3cc7ef443c984c11bc540e23beb030213ab70b0f3c6fc747bcd71601beaef69fbb4067d73b04fc73bc4504b5bd5bf593bbbc04a53b88755dbc787647bd6a85b7ba7f40523b35675cbca94945bc20b91fbacc73863a7eb04fbb2e41693c6c98eb3b532349bc582b2c3c0735ab3f6aad4fbee456c9bb83b3c83b3b9e9c3f949d3abeb6444fbc37391c3c92458e3f38580bbecd7c33bcf7f8733c49d9673f654eb4bd206205bc92b1a13cfe542c3f04ff39bddd9188bb91bed73c6b01df3e4a9a86bc2e3b3cbbc062fc3cfec1543ea7e00a3cb602eabb0c0e293d5795bd3caf36f43ca4af613a2a336a3c9098f2bd57376b3c00000000000000000000000000000000408dc63b0de2923c40143abe8de6543c5bfee53bfe5e213ce84e29be1de7acbb9311223cad7b54bb2b8518befa728fbcdc35ea3b6f91fcbb970df0bdcb7fa7bc7537883babd9d0bbf761a8bdc63d83bcd26dca3a4fb3e9bb9f5a34bde3be2cbc60489a390ef9c7bb633906bc5e5ac4ba0000000000000000000000000000000000000000000000000000803f00000000c8f8843cace807bef946ac3f218ae4bd00aa283cfd00b9bd30d08d3f77e45bbd97a5a53b3c5583bdc7a5683fd5b189bc06226b3b044c39bdde422d3fc497ee3b073dd23bd6fdd6bc855de03e1408a33c8cb9ba3bbbbd22bb9f425b3ea6a0da3c965a833befbf5e3c906c5e3bd6abb23c0000000000000000000000000000000000000000000000000000000000000000eb072d3de29d23beba2cafbcc78f1d3cb4a1183df4ff10bee70c1dbda5168c3bd31fe03ce3d6fcbd0bc747bd44a534bbf79dad3c6dbdc6bd371339bd0704debb0767843c296389bd815816bddb2512bcfe512f3c49b223bde964a0bca03cecbba705943b49432fbc4218a9bbd46c5fbb00000000000000000000000000000000000000000000803f0000000000000000068b0fbef00ca83f80849dbd843e053bcd52f9bdc124893fe07a74bb6e85c53be164d2bd2d8c5c3f697f273d95384a3c68a5b3bd9cda223f8cce6e3d8340993c20b08fbd2c51d53e38ea673dbcfebe3c13dd1abd2cb2583e59a52e3d8eb7ca3caf04f9bb1211723cfb059f3c1e0e8a3c00000000000000000000000000000000b2491a3d1c71e0bd2408413a08921a3cc4768b3d0cde1cbeb1a890bcece9273c435e6c3d1e361bbebad540bd9602923b0bfe433db12f04beaa6867bd85f380bb76f20b3d7bb2c3bd803057bd34c027bcef59de3cdf8e8bbd07be27bdd35e33bc4d1f7d3cca611dbd1eb7cebc639712bc3aadae3a3fde33bc3c2615bc0c309dbb984d83ba98fa0e3c83eaab3bbab61e3bac083cbe5b8fa73f2a66043d038ce6bc776c64be7a049c3facd7503dd0af85bcb01e43bedadf853fcb68e33d36be92bc20c224be2d30543f7b3a0e3e2a85fbbb329600be560a183f0a2c123e32abf33b325db2bd8416c23e9b74f83d8520633cfd261ebdfa4c323eb54cb03d6954903cb8d2b43c2562a43bfce9453d74ae973c76fae33c5c60ddbd01a49ebbbb44b53b949c0d3de2c89bbdf461f5bbab7c1a3c531c6a3d8baa00beb00533bd6dc5303cb672523d08bff7bda7bb84bd06c2b2b9b320453def0cdcbd5a3891bd0cc304bc117b0e3df836a4bd90ab7bbd524583bcd1dceb3c84d069bde0d050bd4c5363bcdf4e8e3c3863f8bcf1c3efbcdf5422bcafafe03be67b2cbc1a214abcf5137abb326584baba04a83ba9f67b3b31488f3bd3dc3dbe95c58b3fc0857d3ea15490bd41f062be1871883fd4f1853e47c47dbd710243be4e52643ff6cf923ecc3d2bbdefeb2bbe6353363f96638d3e8fb4bcbccbecfebd4afe003fec84763e89a7a9b90f1cb7bde12ea33e3a9c433e44ab193cf26d3dbd5adc163e5f38f73d64957c3c4cd6053c749ef83acba15a3da620863c937efa3cb0049fbdd5531abc79889b3bf08fd13c05cc78bde02cacbc43492b3cfa90563df6c2cbbd199883bdb5b3383c2736503d11fbc9bdcd84acbd17ad28bb37173b3da5aba9bdc5eab0bd9c8f55bc04ac1c3d5bda85bd36359cbdaf0ca0bc8666e33c166b2fbd6b6067bdfcae9bbc075f913c2d86c7bc058c0dbdad174cbcf10eeb3bf8580dbcffdf75bcdf65f2bad80d043bdad28c3bca48983b322fb23b8ea62dbe9bca673f58faf13e3f79ebbd749152be813a5d3ffc0ffa3ec891d9bd15213ebeffa03a3fc45ef23e040d93bdf58a1fbe813b103f4fecd93e97421bbdf04100be989bcd3ec082b63e89482fbca0efafbd45407c3e02cf853efecee43bdf7c28bd9d16de3d8ba2213ee682893c217e9e3b32c1b53995cb6e3d8b3d8e3cdf3a903c231481bd8a16a0bc2994a13a87a2b73c5c213ebdbd4807bd6a02383cfe032e3da5008ebd8565a6bd7e81dc3b2a082d3d9ccb8bbd147fc9bd7bf137bc00962c3d2bb578bdfafdccbd875baebc09bce03ca8ba35bdeee69bbd08f4eebcfa0ae13ceb2200bd72fa82bd8573c0bc749a7b3cfa1683bc41241cbd963b62bce2bfe43b956abdbb5d3479bc0d0559bb4815903a39b15e3be0bc313bf498043c9a9a11be0516303f5c25323f991c18be465b2fbee0a4233ffbf2353fe2410ebe0cbb19be9792073f5d63273fcd5aacbd32dc0abecd1ed23e1a89123f69443dbdeca9cabdc3cf923e4e35dd3e93c2113bcf429cbdb5ca303e14d1a63ef2f9ff3b2aaa1abde64d963d5ac43d3e7fd7913c6da57d3ae83e04bb8356753d2c4ba23c19858f3ced154ebdbdbef4bc7bc51038d07b8e3ce111efbc3e9c45bd59574d3c8f4b103dce8a2abdf128d8bdbe640a3c1e4c213d3ecc31bdf65ef6bdb8e94bbc5d76123ddbcf1fbd233fe1bdd272c5bcba65053d88e300bdbf3dbdbd1d6307bd5867b63c9662a4bc6aac8cbd707fd7bc62aa6c3c46a92fbc30f22cbd4a0685bceb2b8b3bd9e06abb508d8cbc05235bbbdaebb8b96b10293b3f9d2b3bb8cf103cc152dcbd0203ee3e9712693fc72131be5a3301be9be5d13e6d216c3f746c29be1fa1f5bde7d5ab3e2b25563f8611d5bdadadd6bdae62823e39b3323f38aa49bd2fceb1bd2ac7313e34e80b3f60f60cbc923f68bd1b2ecc3df619c03ed8c97e3c5032debcdbf81f3dc2a5533ebc1ad03c991a823b1f2a93bb3b1b663dbd7bbe3ceb69893ce87915bd07b530bd1332b13a0174323c58dc1dbcdda181bd7181993c33bace3caa0951bc8c6d03be857a073c9e11033dd292a1bc008707beac49a6bcc01d033dfabe8dbc6d1700be83eb02bd670cd93c4c2780bc606dc6bdc45719bdcfbba93c799f39bcc60496bdd40000bdb492453c3858a0bb002532bdf9579abc3a1c9f3bc5d15cbbb0cf8cbcaca7a7bb3a5aeaba32d34b3ac0234d3b8276fe3bb33380bd4879753e3b848c3feaee44befb749bbdbb213f3eba108e3f665631bea2819fbd3e7a1e3ed7a9773f4183b7bd87a492bd64b3da3d9b7c4f3f110924bd48ab76bd3d61943d66d81a3fe0ee193c83861dbdacd40a3d1444d43e04cdd03ceb3faabcb5152e3ca3e6613ed767063dd8ec073b3b6135bb8ace433d52eefc3cdd69743cf5bf6cbc2cf47dbd3875f73b4c2e0a3c1689ae3bf55bcbbd8c3c9a3cceb9403c4ae9a13cfdb616bed3a3273cab22c13c209d063c121c1bbe7773b9bcd74ad23c6a893c3b7d9106be74312dbd04a1bb3c8771d4b93a87d5bd9a9445bdcfbf6e3c988ba339730797bd551e19bd6c00003cc6abfdb9ae192dbd67f8c5bcbb79053b81523dbb868185bc810612bcbf0f78bb1f9b073abea1e53b03fe203cbbb8b5bc13e6da3cd6e0a73fbeab3dbea794a6bc65c795bc265d9e3f8cb327be1aa11fbd734e77bc021b8b3fe99794bd84c926bde29aa1bc76c0603fd745e3bb54ad0fbdc621acbc0f70273fdc6a193d68a8a2bc28c6c0bcd81ddd3e69264d3d57f909bc27e35dbcee495d3e4200583d8207dd3a82c7053c295af83c76cb433d0808573c314ed9ba8576cbbda625ce3b00000000000000000000000000000000cfc5963c48d58e3cef621fbe51b86bbc461fb63cc0e56c3c6c250fbe98f61fbdecd9c53cf04daa3b5e0cfcbd02ad5dbda93e9f3cd3369a3bd417c7bd2f1a5fbd1270693cdd94493bb8788abdbd9a39bd00e1c93b3370f53a1dd41ebdbc2ce6bcbe57abbaea963b3a7dac2bbc6391f5bb0000000000000000000000000000000000000000000000000000803f00000000b83ed5bbb2a90abe94aea83fd16290bd661596bc6fd6e1bd6a6b8a3fea2a8a3b0325c6bcab69bdbd44e7603f81a8643d9364b4bcf93da0bde558273fdd759b3d4c3373bc079e81bdaabcdd3ebffd9b3deb5134baf5df1cbd0f06633e6f3e7f3d5dfd113cd56650bc7c7da73c4ac8073d00000000000000000000000000000000000000000000000000000000000000004003c13ced3ec2bd6d954abd8939c0bb36cc033d569db1bd5b246fbda88392bc6a5cdc3c0e909bbd0bf573bd6713d3bceafbda3c88e972bdf8b265bd213801bdb951d53c1a5537bd024335bdbec9e3bc2a4caf3c4ccbe6bc773fdebc8327a7bcab166b3c930133bc2d2613bc01b941bc00000000000000000000000000000000000000000000803f000000000000000050c4b6bdd28c953f5cb9a23c9594963bfea2cabdf476763fb2807d3dd0530b3d6a7dc6bd09ad453f39a8ad3d2da5633d3da3c6bd05b3143fc5d9b43d3632863d6ef7bebdc527cc3e9f94923d96c9773d3aeb9bbdd89c663e01073c3d742b463d35d753bde1dd713d4004e83b27d9e13c00000000000000000000000000000000ee1b453c1ab584bd35f9adbc71b3963afb38413de141c2bd4e8048bd7113d9bb9a5c473d1ad1bbbd876f86bd5e63dabc6ec1433d19e69dbd8c9e8ebd9c7f13bd89452e3dc7c971bdec8b79bd996a20bdf6c01a3dcb0c30bdac713abdf1330fbdc157ea3cc9aad3bcefa9ddbc506bd2bc58e1493c473d12bc8eece5bb92b733bca2d6663bd621933b1f16e53bd45535bb7008dabdf2ad963f7011ef3ddc6c2cbd3f8f27be8bb18c3f45b70c3e0cfc95bcbace20be128e6b3f6472363efe87ba3c3d2e18be204e393fb5a13c3ee9e6493dc0780bbe2cc0073fc6772b3e3b3f803d986efebdbe61b63efffa053e1eec793d758ec0bd80b4423e785ca63dd9db473d3dc023bdb5f1363d7c78d63cb158053d4f0e70bcf73680bd3fa2a9bc75c00f3ba0da583c36753cbd9c8591bc153c01bb4b0f233dd5519fbd9dd558bd4f3b7cbc68dd203d935e92bd70e786bd1ae305bd18bc453d39cb84bdd42090bd806133bda5211b3d06fa46bda45f70bdc1e534bdc0121b3df7470fbdce063cbd21e324bda0a8d53c65b19bbc5897e1bcd5d9fbbc65fe6f3c2909e3bbd72d0fbce05a6cbc61971f3b06758e3b4a00b73b734769baa961edbde7c77e3fff18933e0c0274bd6ac42bbef3a5733f2d8e9e3e4e46fcbc5d4914be28bf453f44fa9d3e4e29a53c2f3926bedc59203f5468953e964c3a3de1e30abe6ec5e73e045c773e69cc773dc29c04beabc39a3ebf413f3e5d27703d2e97bdbd610b273eb7ece73db797373d0b5644bdae7f183dca892d3daabdda3caea115bc496e3dbd9c397ebcde0c0abb9bb0fd3b124d1cbd16d29ebc64110abc4f8b153d4b1780bd171a5fbdfe64bfbc9c1b413d28ac7dbd76af94bd76f62abdbd31403d1e4e55bd70e392bd5cfa4abde1cc3d3dce0924bd0cf681bdca1156bd40af1c3deb70dcbc8ba542bd1f363cbdd81ceb3c2d5d7cbc2c46e6bc138405bddf8c6b3c160b92bb3e810dbc30597cbc606c6a3b89e57f3b6399db3b50ec40bb8899d6bdea13523f846df23ea2328abdb66d23bebb40473f9e91f73ec5c52ebdaade28be0932263ff338ea3eee7e583cca5a22be2764013fb2f5cd3e1b6e3e3deef319be3cedbb3e0308a93ede85843d4f3d02be6a90743ecaee783ec21e7e3decd2c4bdfe8efa3dbf3f193e673a413deb3248bdd368cf3c12bd6a3d770fb93c752a81bccbd02abd45a46dbcc488c5bba1e2ed3bad4f00bdbbd59dbc1b4828bcbabc133d1f284fbd600771bd282ef2bcf3462f3d365144bd028495bd8d243fbd1f7b493d37a828bd33ce98bd60b26bbda9160a3dfd92ffbc9ae86fbd62f651bde31b213d8a34a8bc77d441bd55f84cbd59d6d63cbcd923bc52f6dbbce80f10bd35575f3cfcb00cbbe15916bc55d983bc77759b3ad6d9cc3bf865bd3b6abab5ba9c8bc8bd2af8233f09b2263f8cf69cbd588c14be2cbd183f0348283fc61044bd98bc15be464afa3e117e173f51b07a3cf58e1cbeeb1dc33e171f033f7f7f563dd118f2bd7a388b3e9693c53e9d6c8a3df4dcfcbddc7c2f3ece87983eb9fd823dd7ebb2bd3014a93d6da4353e9990453d01ea39bd4acf273c1aaf8c3d6291b33ca2db5dbcda7817bd1d4b91bc2445eabb8ab1103cf7e4dbbcda45cebc7ae332bc4e251a3d9cc51fbdd2c786bddcd407bd0d41423d837e10bd4a8fa6bd93df59bdaa1a473d7d14f7bcff3e9ebd09297bbd1605413d62f1b0bc308889bd39707cbd6686163d1f735ebc76a040bd3a0754bdf51fd53cbf3eb1bb87d9dcbc952e17bd23ce333c8fe6263a319a18bc2ea483bc8bb63a3ad391923b5c2cfd3b92422f3a901caabd8918eb3e8c1a543f9393abbd7a7a05be1eb8d53e90ab533fcda864bd40de11beff47ad3edabd3c3fdfc3573c5ff10ebec4d1823e215c1d3f0e1b603d2ecf08bec8a1363e6c6df63e7799993dbeafe0bd4cbad43ddedbaf3ec1778c3d5f1da5bda45f253d985d523e8d3c553de07415bd77b4abbb4f969d3d7183ba3ca36802bc257d16bd3b80c5bc8aa90abc47fe5f3c6beda3bc577209bd919c10bcf3f91c3dd380e4bcb92d9dbdded60bbd82e4363d322ddabc2be0aabd3e545dbd8c264b3d4ef0a3bc429aa6bd1f4588bd655e263d90ed6cbc44f585bdc55d7abd5917133d4d7fd5bb92e045bd384361bd7e8eb73c27c72ebb85b9e3bc973f13bd61f2263c6e7f023bc63e31bc9e2b80bc4dda2bbb4548283b6d31e53b1b0ca23be08d8cbde2878d3e1fa17f3f13f3c4bd0a58dbbd6d866f3e41997d3f60df75bd4a1fe5bd7cf5433eec1f553f89dff43c1e0c00bec5ff093e0e88353f728b833d1647debd9c50b53d8cdb083f6412a43daefcc4bdafdb153d6ae6c43ebac89f3dda8e83bd0f35d83bc911653e76b3553d5fcecebca377b2bc0b6da03d9907d83c860e6d3b99f3f3bc7f0304bdfb9805bc89938c3c4ce09bbca0e354bd453442bce99b253d7ede41bcb217b5bd638519bde5bb4c3d5b2f3ebcf637c5bd7d9581bd102e533d248507bc6058b4bda81c94bd163e343d40efb4bbb3928dbd87078cbd9d8a0e3d6670c7b8dd374cbd0d926bbd0890a83c1d61983b7960edbc33b719bd78ea993b1fcc5a3bcb0d24bceab34ebcbeee7abbb38b933bce3be83bc775a23bc48a4dbda982d03d6ceb963fe019a7bde026a7bddfb6733d4c778f3fd1354ebde683d1bd309a323d9b92763f275b253dd21ddabd1ae7ac3c0317473f8b25b13d3564c7bd822a65b9515d163f59a9cf3d8934a1bd1459c4bc8bf3d13e7a1bbb3d399a4bbd977714bd0d836c3ec1f8893dfeeb08bcd5d005bd3d1b903df8eb093daf8e1d3cbdaa03bd24d25bbd6cbf13bc00000000000000000000000000000000fb32263d3cb066bc1079c4bdb32435bdb8143e3d3cf6dbbb8a1abebd55d17dbd5a87383d906fffbbe55dacbd93438cbd72a7253d96f33ebbb6858cbd3d5e88bd6621073d92b058ba57b64abde90f6abd2702923c6a208e3b343eeebc985414bdf3f1af3b54aca93bd339fcbbe7a46bbc0000000000000000000000000000000000000000000000000000803f00000000347676bdd2d055bd5d2f973fc596a63cbd9198bd9c0064bd46dd7b3ff9cf933d6d4aa3bdea185fbd4d404c3f447bd63d20599cbdf66870bd07b51b3f901adb3dd08b77bd222a82bd868cda3e0ba9b83d493b12bd53fc6abdd4b9793ef18f813dc8e40dbc58c347bd1d4a8e3d5324b83c0000000000000000000000000000000000000000000000000000000000000000586d453dd6d954beba628a3c9eee543c55cae33c03d53dbed0df5ebcccaba73cd89c493cbbbb34bec447fcbc4d3abd3c2df7f33b2efb10be341218bd8a95933cfaa41abb71a9c4bd766f06bde1ff4b3cbcd387bb89515bbd4865c7bc21758a3b4b4776bbd04356bc728e16bc052facba00000000000000000000000000000000000000000000803f0000000000000000c81511be979aab3f36ff02be9a3a6f3cc9d6c3bd81358b3fc63e30bdc7cce6b771379fbda251693f7fc097bbe6c713bbe1da4cbdbe782b3f4f80d33c1400eaba2cbf8cbc35ddd63e83ca3e3dba9f0bbb8ce8333c57bd4d3ea8a3593dd88843395031013dd3b746bbdece1e3df1d9143b0000000000000000000000000000000060d2463dcab803be559dd43cdd307c38c89b4a3d588822bed18cb63b96b1e43b30882f3d633243be028ecfbcb622c03c638ff63cc78d2ebeef543dbdd809cb3c283e8d3c0c730bbeeb094abdd9dba03ce136163c63ecbebd9ea146bd61937e3c1018653b305749bdbbee10bd15588e3bda5baaba1f978bbc882ba1bcda44ab3a4f7aa43adc706b3c4ce6f03a8f62deb9f92155bea321ac3ff92598bc578c6bbb7d332abe06a1943f5ce2403d2cbf8dbcb45821be12ac893ff2e2753d9ab3b4bc3f24f0bd64d85b3fc7bdc13df04ac3bc18fc98bd8d811f3f2219e63dec009bbc141bf3bcb4fcc53e51a0ea3d945e7ebcf7a2f33b100f2e3e56aac83d9f802abc1447013d59c2bf3c5029733d9241ebbb3e35393db23803be450c513c5c44a4badbc21b3d727998bd04f1dd3b069f13ba5ce13e3dca7212befadffabc732a8e3c7fa3293d435522be99ca74bd180fcb3cf7050a3dede00fbe11439bbd3ad0c03c9001963c4bcddcbd13c29bbd2624973c353e2f3c7bde94bdb9f38fbd81c5583c825ee63b5f370cbdf0d940bd3cabda3b5c2c903b26271cbc935ac1bc66f4113b0bf9823bb43e1e3c5e7cbcb9a453e23a5f6648be42e88d3fc04a523edad957bdec0a4fbeb2808a3f086b603e39725cbd702f35bea6bb733f8836713ef2ab66bdf54304be0c403f3f1a23773e68f545bd5e68aabd0411083f30ec673e069f01bd225106bd4d39a33e84a54a3ec661dabc562ca63b5ab3013e609f103e68776fbc3e19ce3c589af23a0e8b8a3d231787bb78defb3cee32a1bdc0c50c3bf7d2f3ba180ef03c7e9668bde4c587bc03f5163c3c941c3db431ccbd1d9e8abde15caa3cfa39093d4b6ee6bd1162cdbdfc4cdc3cbc0bd83c625dcfbdedb1e1bd6db4a83c5228843c07759ebd2b88d5bdf583623c5ba3203ce26c4cbdcfeab3bdd9c2033ca1dcc83b476bd2bcc91165bd9f64963b9bd0da3b618405bc373dd7bc32b2223bd9fca33b8b9f2d3c257c0bba7ef9833b784141bec950713f2031db3e9bf7d8bdcd6d3dbe77f6603fbbc9ea3ee214e3bd007a20be49ae423f9278e73e5c12cebde740e7bd526c163fdaead73edbc3a3bd951987bdf86ed03e1583bb3e07fb6ebdab15ebbcb4e8783e8f92903ebbdc0ebddbfca93a1123d13d8829343eae8183bc2e6b963c5781943bcdd6903d0e7753ba5f23bd3c518e85bd3b6e89bcfb86dc39c963a93c535b03bd26572abdafaf563c7291d93c2ec078bd7fa0cdbd0443ad3c7f73d83c736792bd1ad008bea5adce3cbbe09f3cb5bb80bdfa5613be2878933cc745333c5fc143bdc881ebbdd38a163b9425113c359909bd3dc0cabdf3b5b23b7676a13b01d797bc33ed6dbd7c3de0b82edc8c3b815688bb2755d1bcc9da943a1e93a53bd494d73ba4c88cbad876c63b69ee1cbef78b343fb57f2f3f713f23becc6815beab1b253f87b3333f66b61cbeaca4f2bd22050b3f11472b3fe6f808beb9f6abbd343fd23ee3401a3ff952d6bd173a49bd239f8d3ee345f53effb76fbd07e997bcf5702e3eca7db03e123d15bd2f89cf37ad14a23d9412453e69b808bc7aaa3a3cb21d593ca9ab703de6928f3b606e903ce11a22bddf9115bd2e42333beb59373c23f76abbbabe8abd1bbeaf3c76ed823c430eb0bc27c30cbe51a3f43c496c953c9a8605bd8f242ebe1853ce3c5b888e3c2d3803bd7f3f27be49dc4c3cc718343cb68aedbce80314bed319b43bf1f6093c1f5cc5bc4ab4dabd4123be3a3127083cd90586bc468d80bd6b1e1bbbae347a3b8360cabb9f26d8bcae393eba9332223b9fafce3b97c779baa97daf3b0bcdd2bdab1be73e3bf26c3f890249bec53ec7bdcb3ecd3e2e176d3f49783dbe295f96bdb684a53e38305f3f4adb20be45644fbd6dab733e0e553e3f4fd1e1bd2df3f3bcdba42b3e6ede153fde1486bdf46383bcc976ef3d7a9cc93ef410e4bca6044cba6a9a883dbe364f3e1ec0003a79b7793b5e4bd63cdfd44e3d30d4693c1517033cf90064bc506862bd9af1e53b7d7d023bea4e983c2ea1a9bdcc8cdc3c55bf613b7468533c781528becdc6003d4718023c3f522e3bb54243be00cb9c3cef6d373c1396e1bb06e73bbe66a3153c43f7c73bf5bdfcbb45731abe3cce3cbbdb92b13b1a8a30bc8798e9bdad4f2abb41d84f3baf7625bc7add81bd4fa5e0bb09788e3b23f7d1bb5177cebc4aa78dbb7036da399959973b126c0d3a9b25ba3be46f53bd858e633e26b58c3fa8214ebef49034bd4b4e333e615f8e3fbcb444be9e4900bdf9f3003e0165833f114f1cbec5cdaebce067c43d62725b3fc631d3bdba8627bc909b903d242f263ffe7b53bd7c3effbbd7f6813d9474d93e2cff5abc1a4a32bbf5714d3d6a33563ee6fd833cfd183fbb3bc70b3d3efa163dbe69d83ca0d0ffba94fc243c428591bd385e823c6f219bbb428a183da15e06be2ae2253df68839bb7b33043d70262bbe1569083d5c1f053cd81e9c3c71a950becefda13ce311123c7dad213c20cf3fbe463466b9d928063c618e50baa16b1cbee30e0fbc4307ea3b2868ffbb4387e1bd95375ebc41b61f3baeaa18bceb5b75bde11c43bc73fe9b3a778808bcfa2cb8bc75f716bcd903d4bab5468fba97ca363caffd763b058980bb28e69ebbb35fab3f00635ebe34e015bc69fa843c6a6a963f402019be96f5a2bb413786bcd2a08d3f0917f1bd9e8e94bac5983cbc41d8673f639286bd79e2413b2f807bbbf2ff2d3feab89fbc7107c93af269973ca903df3e667f843caa6d04bb3dc0123d9b97523eac55003d9558dcbb41ec233d1d0f1d3d113d1e3ddae42bbb416b013da742fcbdb3b2b13c000000000000000000000000000000000b369cba81133f3d2b2c53be5ae7ce3c82c49a3b0b12c73c89e13bbe9df4d3babab2b73bd53b0f3cfa0631beaa3597bc2a55483b69d6c03b1fcd0abe44b1f2bccc1c523b63874bbb7c3ebbbda0a3edbc7734fcb88d4cfbbb714251bd448da8bc8934bd3608aedebbc63934bc8df20fbc0000000000000000000000000000000000000000000000000000803f00000000abf1ae3cd83b1fbe3fc8ab3fe709edbd5f45873cd667d8bdfc6f8b3ffb3d06bd8441793cda29afbd65f1683f12fcf13bb7675e3c75456fbd54f22a3f6100253d444b2b3c4223b5bcefb3d43e5517733deefeef3a782b543ca613523e3b51733dfa073bba67940e3d580c0cbc6e8e373d0000000000000000000000000000000000000000000000000000000000000000a6118c3dcaec4abee80faebcb13b1d3db3a25e3d2ede22bedefd6cbda335143db9552f3d305809bea1ce8ebd3b7d8d3ccb7ef53cbe7bc3bd1ba785bd97881abac1e19a3cd0256dbd38e03cbdc40b44bcbdd8f13b4807edbc4f17e4bcaf7965bccb43d338f45d11bb621b1fbcc1ceebbb00000000000000000000000000000000000000000000803f000000000000000010e343bee852ae3f2822d8bd3e46e73a3fb835be89768a3f6570f83c2e914abcecf727be3caf593fcf58df3ded733ebc8a0f05bed31b173fe43f193e25689e3b5d71a2bd7376ad3e1f17153e7f884c3c2300cbbc8dd2103edf16de3d7c098b3c5146b13cfb89e7bcabd94c3df96b703c0000000000000000000000000000000068ff5c3dd51809bee145603c5441ad3c7ff68d3d320c21be7b15b1bc0a4f033da228873d789f23bebd308cbd42931b3df558573d36f900be92fca1bdb8b49d3cff560d3dcc7fb0bd37e98ebd66340bbbd26db63cb7195dbd7c6c64bdc22921bc0274273c98c3c4bc3a4f13bd4a2d45bc9cedd33acf81d0bbae189dbc40a6b3bb0dc28abbe6f8433c12a0933b2abe973bbb5856be009cac3fe7dbadbcfbf45ebc3b8d5dbe4277953f647b8e3d3bb9bdbc6d2060be9043833f4f8c183e23a71ebd16c539bed497433f89d95d3e9c41dbbc503403be8e94003f5836753e7a1c0cbcd46889bd33778f3e2778543ea639813b39e612bcdad3c73d3c54123eb1a8693c4939da3c41b018bcb243953d3871303c7422583dc022f7bdfeacfbbbd485103c4232353d848cb2bd25aab7bbd881b83c5cc57b3d0d7705be8a9263bdf9ca143d5a307b3dcfc700bea996bbbdc543f63cc5bf403df8f8c9bdb060bebd163bea3b1af3f93c291582bd5e18a4bd253e86bc1c84b33c0cfd24bdb82c73bd5f67afbc44662e3c0f7a92bc9af311bd0bc096bc49d7703bf82886bb654b90bc6303d6bbb9e252ba294fa13b2c88c1b950a40e3c1c1b4ebe15b28e3fe0a8563ee7f87cbd35316dbe20fe853f9a288a3e267a91bd4df760beae775d3ffcd4ad3e120e88bda96929be0be51d3f6901be3e080934bdaa10e3bdedcbc53e76a3b23e93c7debbe10858bdce8e493e45768e3e2486413cad7441bb5e5c633d888a2f3e3e90e83cd67add3c9fa4d7bcf6038d3d55e1c43c2439323d485097bdfc1196bc6c4b1e3cbf3d163dac7689bd46f4f3bc8d28003d22695d3dca47c2bd605dabbd96c8103dcb714a3daf85b3bd8679e4bd93d1b53cee62183d6f6a83bd9922debd4b17ebbb7e57c83c9cbd25bd7ef3b2bd5c2df8bc26fb903c20e5c6bc5f8e80bd6c1ff5bce273543cdcfb71bc8d271dbda815babc4de8eb3b3625babbed5f83bc06f019bc75a8873a8b7f3c3b2acd6c395a35223c5dc648bee4c3703feedadf3e5aa7f3bd32b455beb712553f9e55013fd2b8eabd3ec537be4735263f17100d3f5158cdbd59bc04bee1a5df3efb85083f3ed854bd468da4bd13f07e3e8c9eef3e30d62fbc9c640abdf9acea3d33a2ad3ed8fe9c3c6027863b72b8ca3c84cb453e556b163df583ba3c26a4c5bc019d823d9d7f213df094113d0f6f6dbd644615bd7e33633c2b22f93c871130bdaff165bde68c163d13ae1a3de16561bdaf76dfbdba4a023ddc4c1d3d6a4c4fbdc7c304be8a76193b801bef3c70b81abdb0e9f1bd1550c7bc9f4f9f3cb6c5acbc30c1a9bd95074abdac217e3c575f67bcaf5782bd176138bda47a123c03c2e3bbf6bb13bdc95ff3bc8a48ff3bf62dbdbb29f88fbc128042bc9243503bd1a0eb39554f32ba0428233cfe8d24be847f343fcfa9303fb5a72dbea11424be652f173f802d3e3fdfd81ebe52bc09beab7adc3ecd06403fd91ddebd3525b6bdc9f4863e66872e3f45e959bd734075bde0a20d3e4ecf073fb0c2bd3c03748ebc1ccd3b3dadf4c33ef680283d3e11133b657cb03b284c493eeb38723dd9cc973c7b8956bc13144e3d60d33e3d2c27de3c8a260dbd16125cbd6021753c9e559b3c0e3187bc85b798bdf34a183de2eac33ceff298bcf6bb08be5b2ddc3c2376d43c7761a2bca9e412be889cc2bb8099b13cb29d6abccaadfdbda59818bdc465723c72d3e5bb48a1bebdc1d86ebdcfbb683c9246cebbd1ed84bdc6bb56bd5047483c4c4116bcfcc119bd59941fbd757efe3b41f6d1bb107484bc01d688bc1d11ec3a54c63bb98753d1bae3fa0b3c0e99e4bd9181e83eb85f6d3f554d51bec4c4d1bd432fb03e930b753fec8434bee7879fbd8d81623e8f5e6b3fc2c5f0bd85e841bd276ae43d8f07493f6e2319bd50a0b7bc396af33ce82b1d3f89b2e13c54d7ddbbd007093b4ac9cc3ecad9863d502ad63b4bfd703adb91493ee6b0973d6f181a3c5e2b6d3a6302133d741e733df6b7893c1fbcf2bb099c8ebdf3438e3c8bd4bf3b5e24043c32ebb6bd8da92b3dcc2c523cbb67093cb4dd15be97aa953ce4ad853c49accc3b21e11abe911f94bcdb8b7a3c7b02373b5acd02beb7214dbd42b0483c69059c3b178dbbbd3d2e8dbdd6da293c9ed9c3b9e58580bd0f9779bdb6d9113c943155bbf2ad19bd3d852bbd488def3b49d4c0bb4e2a7cbcda85a2bc20d3343ba92a58bbc557fc37e431bc3b865465bdb1e7633e70328d3ff25157be0a9742bde02f023eab35903f25372dbef9f20fbd668f293d0f93853f588dc4bd841061bc207372bccf9c5c3fbf3733bca9d89dbb5e6935bd1595233f764b823dfd0d963b13c717bd90e1d23e32aebb3d38dac13b113c22bcd168413e0f0cc13de107723b14ee6d3c52faad3c49518b3d6b25553b81f98a3ca281a5bd588da33cacafe93af986d43cf55702bee720313d67d6943a3eaeed3c013319be623b803c3c183a3c9c36ad3c23441fbee96e01bd0e3d323cb4da6d3c2d52febd8a8e83bda0a3103ccfcc2d3c7188abbd95d5acbd7b20293cede5153bb71973bda7829abdb7d9fb3bf1f97ebb43e308bd966246bd1330df3b7f3200bc4ced4fbc2ecde6bc87f6593a12f960bbe45e883b9e59d13b039f0ebc054908bcd773ab3f5a815dbe955c5c3b33861dbd5a20993fb82105bea5eb553b6f2fc1bdef978e3f544b5cbd1dcb2a3cd074dbbd9944643fcb0b203d0d80583c891dcebd6a6b243fc272e03d7b7d533c579177bd83aacc3e96e6033e4855f53bb46917bc6549313e2e83e63de0cac6bbc851f73c6b2b863c6e82a43d6d535cbb085a233dff42f7bdaed6893c000000000000000000000000000000005a8ee23a50bf2c3d450f31becf51c9bb7dc89c3b1d5eea3c25df01bee4a56fbdfddbf83b42a79f3c9a5acfbda3f0bfbd66f4a03b78c3813c31f88ebdee3fcdbd2cd1933be394ce3b85ea2fbd692babbd1088a03be46e59bb2b2ec7bc515f67bd299f4d3b2d72cdbb9fa2cfbbc8fdb4bc0000000000000000000000000000000000000000000000000000803f000000001dfced3c28f851be3decad3fa5d4b2bd20b7d53ccf893dbeaa5f8b3f2fc42a3d44a0cb3c8d0c33be36025e3fc686033ece96c93c629313be08b71c3f097e2f3ebbc5b13ca0daafbd76a2ba3e92c3313eda0c2e3c4e1eaebcf4d7203e18a50a3ecdb217ba8373013d879dc2bc70d68f3d00000000000000000000000000000000000000000000000000000000000000006994af3deea309bea358ecbd397a423d6bbb9d3d5735b6bda63addbd5c25dbbbb47f6d3d78716fbdb777a4bdf34669bd3afc193dc582f6bc21561fbdc871b1bd0d6f8d3c14a04fbc27e7853921ebb8bd2291563b0bcca1bbe5e4893cf9b389bd651166bbe1dc373a395c953c12a6f3bc00000000000000000000000000000000000000000000803f0000000000000000ca5d73bed87caf3fb4e5093c518b56bda0e380be4031883f64343e3e68d10dbdb61468be7bcf453f1fe08f3e969d403cc96c3ebeec33fd3e9e0b8f3ef29b853df7a901bedaeb853e42d5583efc1cbc3d84265cbd35cfb33de96eeb3d0eddc53d4385b33bbd7b23bded971d3c35c9853d0000000000000000000000000000000065a75f3dce17ddbd5c6064bd834a673dcc1bad3d7232e0bd7f08b7bd3813223d1ee99c3d7995a6bd1f3dd0bdd0b479bc3887623d1dd541bd25977fbd726a94bd4741e93c6a86abbc5d6a6abce48ed4bd25342b3cba9a00bc4179803c2369d2bd0b11933a545977bb5f4dbb3c75cd91bd538801ba41b4a1bbadc8003c85c3e1bc3169e1bbf66e3f3a5929283cf33eef3b55da55be0795ae3fe646ad3ce18e7bbd91f598be00db9e3f7fc5003ed18261bdab5595bec6f47b3fe6b0a13ea22f81bda5377cbe990d2b3f6041c53ede9893bb5a3e37bebfdbc63e6268b53e1589783d09b5d1bd4bae323e9cc0853e2a6fbb3dbf7df8bc3f8b083d8618083eb5c7c13dc95bb23c42b3efbc606e163dc41a8d3d660c373d3aedb4bd70fc76bdb0d7d73c5d063e3d681992bd69cd61bdc7df4a3d37da923d4490adbdb05dc9bdcf1dcf3c561c843d3ab26abd21f0bdbddaf410bd80c72f3de618fabc328f38bd6567bdbdb440b43c5d461fbc4d68a0bbea49ecbd52a3023cf5ffa9bb2862c93cf327dfbd6cdd90ba7014daba901eda3c167193bd797e71ba563780bb50614a3c8edfdcbc4f3d63bbf9253abb7b053e3b78ec0a3c65af57be9215913f51027e3e29ebccbdd00591be9b35873f023db63e8a5cc9bdb6158bbe61e54c3f9e81f53e1c9275bd56c15dbeae52033fb475fb3e807a6e3c3e611dbe04288e3ecaa7ce3ea9b6bf3d6a87a4bd3c79d33d59a4903eac94eb3d0cb7b5bcee87fe3be7d4023e6e1ae83d6295963c275e0abdcbfa833c78819c3db0ee263d75a847bdb4bf68bdc5e1c43c742f2d3dea5269bdf2c993bd594a423db65f803de05e6bbd0028d3bd8b83433c166e583da9b713bd330ea3bd988769bddb85053d76377cbc7d76fcbcb90ce2bd32ce393c6e98ff3acd72773c6d3406be7eb40b3b9e034f3a05bd043d8db3ebbde74a93ba99f9b1bac586ea3cbcf195bdf1f0a9baf7c91cbba3e5353ce5d1e4bc49ca51bba24767bb6fe21a3b6c49533c9ca94bbec254713fcb4efd3eaea61ebe425585be56c6543f929a173fd8590abe3c1472be370c183f267d273fded08dbd212f37be54bab13efaa3183f184b053d6a63f4bdb94d163ef066ef3eefcce73d1d8363bd6b73fe3c747e983e87aa103ea369f9bb1236acbc5445003e39b6043ed975b23c6810f5bccf0f5d3b6184b23d1575093d574612bd143594bd0cd0a73c760f203dbdc12ebd82ada3bdbdda353d02e14e3d30d109bd0f02cdbd05769dbb3c142b3d42406abc7f638cbda49ea4bdad72a53ce1a9563aa64933bc47ae05be97e9283ce089ea3b3742783c51f006be485c95bbaa92063c4891353d2aa1f9bdccf73fbba5b35039a8bdfd3c5b6495bd688eb4b9a51a61bb02ea433cb090dabc934244bbbc5c63bbc5a8b9ba3733593c121f34bebc2b383fb6693b3f2d8645be997559bec29c153f013e503f1b7720be248343be3296c33ee3744e3f78f04dbd371c0cbea469383e22822f3fc6f87a3d175dcabd3b7d893d088bf33e86ab1e3e0bc605bd44341bbd93409c3eda8f2d3eb4fb103ba86f36bd430dea3dfc1e163ee7a0a53ce665cfbc285d42bc1c06c13d76f5083dc79b9abc4bc4a9bdfe199c3c8777023d960dd8bc39d2aebdb9351a3de9d6203d310049bc3e29cbbda3da93bc5695ea3c6d90cb3a95d153bd97acc9bdca64543c2fc30a3c3ca93fbac2720fbead497bba9ba15c3c0db81c3df4c518be3f0e72bb0a9ae53b762c2b3d2979f5bde50f85bbd203e23ae5daf73c820a94bd1329bab9d07984bb96831a3c01f8d5bcfbd499ba7cc18cbbc55e29bbfd8a5b3c9a5b0abefbf9f63ef604743f02605abecb7d1fbecae1ac3e16c8813f3d292cbe86390cbeca46343e2376703fdaa71bbdc223b9bd29be0b3d51503f3fff7bbf3db7a43fbd335581bd9e10063fc5ae363e0a6918bcb46eabbdaca19a3eae15453e12a0643c9ba473bd6a0fd93d6a9f243e8d88b03cc01297bc1ceec3bcf821cb3dbde7c53c60671ebb49fdb0bd29df733c6d90be3c2a3312bcd45eb2bd3c42063d26c5dd3c60b7213ca532c9bd5c530fbdab129f3c41ac813cf4d12abda5e8e8bdeef2cc3bce4e8d3ce7722f3cf3e61abe3a100abbbafc9b3ca12e0f3d7e4b16beda26c1bb6ee5153c6710423d2561f8bdbf0371bbd7b8403ba503ea3cf73f94bdcc4f133a5f5b23bbf5ca133cdeb2d6bc6c6d2eb81a665bbb0d69cdbbc10c503c10e4a9bd7707783e7fcd913fce1b64be0901c1bddfbfd43db219973f59041cbe4ff2b8bdc88d513b062d833f3207653bd3af49bd2a5cc4bdaca54a3f0371063e7119bcbc051805bea4a3053f0c5c593e5c18273c684c04be4753963e64ae5f3ed4dda33cac6793bdec00c53d0586303eeee9803c54ae20bca0fc08bd03d9cf3d8795713cf1bb853c41f1b5bd5966613c7fbcc23cb535733baee8e3bdae26ac3cc928563c5829ed3c20adbbbd8ebd2fbdf156ff3bc6b2eb3c014addbcab6505be578fbfba245fcb3c440bc53c9e9527be2b1ef4bbaf0b9f3caf7e473d804e1fbed6ce01bc5ded203c50c8463d9ea2f9bdd7754cbb7e51f8391f39e83ca6e38dbd1630193b553307bb6bb6ab3b6dcbe4bca10e78ba10af7fbbe6d5d7bb55168c3c40c546bdd110dc3cbf69ae3f3d5b59be3579debcc1eae5bd3939a53f626407be07ea15bdf1f926be1b7d8b3fd1af503d5c2c13bccd0e4fbebd8a4b3f585f443ea33a7e3cba0951be8ff2013f900a863e9f9a083daefc23bec30e883eb97b833e078bd83c331090bd07278c3d6393473e67ebcd3b574e283c0b4d37bdb466e53d751c203c7d1e093d206fe5bd73e6613a00000000000000000000000000000000629e9a3c76b6ee3c6485b1bd96aa9dbd3134a03bff29163d903e83bcea730dbe55e962bb3956f63cc9c4c03c47e021bee42909bcf404b73c19df3a3de0e913be44a420bcd5c1783c80dc2c3d0127e1bd7c7583bb4109823bedf7c83c828681bdad78c5b8b08774bbd81f4c3b928d59bc0000000000000000000000000000000000000000000000000000803f00000000265cf4bc5d6257be1e4fae3f375f05bd3c8e6dbcd8cf80bebe70863f1c2d0a3eaa42da3ae30584be2d95433f3d887d3e6746bd3c8bf978bec274f93ee958903e2f49103d3ee13cbebe1e813eb604843e7bc2fe3c0f6cb9bdc591953d2b9b403ed13c8b3c3bc728bb5d4e63bd736ca73d0000000000000000000000000000000000000000000000000000000000000000507800bd54efa1bdb729a0bbd645073b7c03edbcd58797bd5492debbe920ab3b18cadbbc1d5481bd5aaeeebbea7f8e3b8714b3bc729255bdc5880fbcceb25b3b85d381bc35cb2dbdb4171dbccbe8a03ab2d80ebc002e03bdf68c1cbcd79192ba374f18bafd12a3bc8b2708bc9b2677bb00000000000000000000000000000000000000000000803f0000000000000000a0c77fbc8db58c3f679c4cbc89f170bbd8b0f0bbd1d86a3f2b81d0b9c5be94ba66079dbbed2b3e3f1d4eba3b29e04e39eb8802bce41c133fbaa5e23b119a06ba51d264bca0fed33efaa2993b24332dbbb62cb6bc25b4823ea2adbaba433c65bb24df06bdad52d33d7c18c1bbef5204bc00000000000000000000000000000000f331bcbc756559bde4fb04bbf82ff7bad4d8eebc6b46b7bd161c05bc0fa0233b24a502bda922b9bd460a34bc6c84943b797eecbcfa95a4bd673959bc61ffb73b97ecb3bc113e83bdaf3167bc05a67c3be44a79bcccdd5bbd96ff6ebc5d24013b53b8bcbbe7ec1fbd750d57bce7ca04ba4358963b9a26a6bccc3a01bc3ab738bbc10b043cf5c881bba3139cbb186e92bbd8eb31bd97028c3f06b2e13d3cc8a5bc86a743bd0dbe843f0f17db3df9f291bcb750f2bc36d15f3f62e3d63d1b0031bcb05ac4bc8b22353fa592bf3d6357eebbdec4bbbc84d8093f65209d3dde73d9bb8b72f1bc3f95c53e440d693d764b0dbca80815bd65b2703ec0e80d3d70f22ebc161f2fbdacd1b93d02e82c3cef6d54bc6f4515bdb088e1bcb5ab15bc626b59bc834e93bcead71cbdf86d40bbef3c4b3a3958d1bcbbc492bdc11031bcc539983b6719abbc0ee68bbdc23b81bcbac20c3c30eeb4bc2b3992bdf5c398bc0c46ec3bdc0481bcce0e5cbd488288bc0b82a33b3d2631bcf56447bda80194bc07075f3bb93c6abbd83703bded1762bc0c9c293a00e89c3bc2b498bccf4227bc7d88b8bae89fea3b1a5160bbd72436bb7ea9c3baaedc40bdc13c6a3f7c46863e63d8e4bcef4564bd220e613fda5d7f3ed4cde9bc70e310bd1add383f05cc653ed0a08ebcc60110bd4fae1c3f41ab443e7e8b60bc1bc5f4bcad90eb3e0aad1a3ecfd01fbc712516bd5ef9ab3e2102eb3d03ec3ebc327110bdd62a543e3a82953d762a3abcf5942cbd0bd5a93dbbaf043df0af61bc59c6febc8f7895bcb6a76dbba23c3bbc6d248abc6042f8bc121f18bb3162913b5679a8bcde4671bd3bba7cbc841f113ce48da5bcb72f89bd47f9b8bcf92c213c60698abcd8f57ebd740dcdbc55501f3c722457bc67b657bdc097c2bc67e1ea3bb460f8bb01452fbd23edadbc091eab3b8cbae5ba3471f9bc51729cbcd6971a3b63f37b3b8af586bcceb634bc96bbdb38b386a13b46cb88bb09f46bbba22d89bad45135bd471d3e3f945fd63e023704bd6bf158bd3312363fcfe3cc3ecd4f0ebd864832bd503b1d3ff776b63e6264bfbc823a1abd32cb003f88d5973e9e1884bce4690ebd9f28c63e562a723e23e651bc20f111bd4be98d3ed2bb323e68be40bccc6f18bdf36b2e3e2d83e63d3d0a4cbc815d17bdc9b68e3d44fa583d3ed451bc38f9cebcab9457bc9311e1b799e618bc897b4abc5ca5f0bc1864c5bb4de8053ce22c83bc8bad48bd5adfb9bc9d844c3c495e6dbcf0f45abdab60ecbc7d18523cefa250bc47aa60bd21cd03bdaef94b3c1c1308bcf96e14bd09c0b8bc296ee63b5203babb5bad1abd5eeadcbcc079ae3ba854e6ba501ecbbc57a595bc2e2c483bf4852b3b1e5c4ebc729f49bc1729613a31c3973b95f254bb6b0863bbc4be063b7a8b20bdf2bc133f2276143f182214bdd5cb40bd19020c3f40ed0d3fb27a19bd252b14bd9db3ee3e9931f43e6d8eb1bcc1f40dbdaa8fc73e54f8ce3e402580bccb56cbbcd5b7943e861b9b3eac910bbc503b03bd60985d3ef8eb6f3e625c22bc109af4bcd147053eb941173e31bff8bbef31fcbc1c57523de7d38f3da0df31bcb4789ebcbdb27bbcff500a3a10b600bc1ba412bc86c2d7bcb85f51bcd002343cfd2d36bc312644bdfeb20fbde14d843c48a620bcc45261bd67bd34bd55c7863cff7c0ebc3a094dbda2b631bd73e5643c99a8c5bb84a829bd07ce1cbd1c751a3c538f7abbb72f0bbd97da01bd5e5ee43b23b6b738b157c5bc3649c7bcb3035a3b90df373b96c641bcc42046bc9648c53a7d30603b946cdcba0f455dbbaaf3943ab3150cbdd121d53e1cb53e3f89d51cbd41fe2dbd413bc93ef516383fc31028bd50730fbd6dffae3e1212203fec8ac3bc7f27ffbc9f04903e94ad033f981c6abc8cd6dfbcc9ee5d3efb4ace3e262d1dbca1ace4bcdf2a1e3e3ae0953ee15d05bc3480dcbc3a22b93d2ba53e3e36f909bc151ecfbc3e2cfa3caba1af3dae1415bc5eff83bc418e81bceea2cfbadcdcbabb43659abb685bdabcd9d8bdbcad0b5b3c65c89cbb63103bbd32f558bd949d8b3c6461a6bb204635bdffa755bd54966a3cc276a4bb052a3abda94568bd53bd5d3cd06d7ebbdbc70dbd73db31bde05b0b3c9b93d5baf88bf4bcdf8d22bde77fb73be58ef83a09379cbc60e8debc09ed033bc89e613b215bfabbc5af80bca6b1d03a8469643b5165723aa8b089bbd5d4f1388abbf1bc9993843e60e46a3fd08d27bd8cf209bd3d5f773e9fd9623f0e332abd2828d0bcb47b5a3e494b3b3f6a188dbc4dd9c9bc3a12343e88931f3f2bcc14bc7abda5bce5b4083eb802f23ee23e3ebb8cb2b7bc5ee8bd3d1a3fb23ea5d94fbb9099a4bc4bea553ded845f3e2453b1bba91ea2bca2290e3cd781c53dbc4000bcd1aa3abc7c54a3bc84a4e6bb566ebcbb09a74fb996effebc6a6933bdd0c1713cec04b13a6cac2ebd67b39ebd6639483c13bf74ba1e4936bd0228a8bdf0044f3c97eef3babae323bd1a8492bde68e163cf4bfdabae26b06bd9f256bbd051baa3bfc4f96b98b3ccfbcb1c546bdfd3f8f3a5bff133b19fb7bbc9d700fbd015076ba3c1e813b379f92bb97ca99bcb7b074ba94fd3d3b1724423b693280bb1a6d07baa0df97bc7d32df3dd34c8c3fee250ebdfa31aebc310aca3d6c4c853f256900bde52e8bbc6fb4bb3d58e1613fdc7acebb904a7bbcb3699d3d3f1b373febb38b3b18876fbc93606c3d8ae10b3f3ba3013ca27571bc164f0f3dfde0c93e4acab33ba69062bca843223cc55d783e49b1d43947f63abcd71152bc8eb4c83ddb63fcbb7c4aecbb7620dabc83c9a7bc08b4f5bb00000000000000000000000000000000b86ce73a5ac70ebd5d509bbd29a71a3c62124a3a60a5fdbce54c8fbd4a53db3b9780beba2884e5bc58ab76bdb7db583b119f86ba1f25b9bc3ad74abd35940c39d43820ba870c8bbc630827bdfdca4abbe51178b8f20228bcd9c3ffbc8a0bbabbfdf9d23af49e09bb57d59dbc30f9b8bb0000000000000000000000000000000000000000000000000000803f00000000ca4acbbbd352a5bcfb168d3ff493b8b8f001c7bbc8412cbc08f56b3f7bcd3d3c9c08b8bbe2c6debbeb323f3f3f9f863c48f1cfbb0d3002bc8df7133f9bf27f3cf892d3bb34ac42bc1361d53ef365453c02fb8dbbfa8693bcd176843eb64adf3bc01aa4bbde78d6bc7d25d73db87d30bb00000000000000000000000000000000000000000000000000000000000000003d5268bd71a72bbd6390383b337af73b1b8b55bdfb3530bdf7ca2d3a0695083c31f93ebde64d2abd37e402bbda72053cfd8820bd6d591cbdf19130bb10ad9d3bb03501bd7b5d0dbd8a44a9bb7a06803b22c0b9bc464aebbc6d60e7bbf4b730b8c6c62cbc1c05b4bc726706bc2dcc7cbb00000000000000000000000000000000000000000000803f00000000000000002d21753c039b7e3fdb41473c9a71943a70a3403c48b5573fce4e973c2fdcc53b9b0ce43bbc0e323fb665ab3c25ad023c8b20b33ac7520c3ffd54923c0ba3033c46addebb3acccf3e8382893ccb99c43ba60579bcb524863e8de22d3c5a560a3b074cc7bcb48ef63d24d08e3b50a8ebba00000000000000000000000000000000ee0638bde0cfdfbcb1c6853b25b2773ba51e7ebd363d48bda5c7c83a668bfe3b177678bdf50561bd384010bbe38f173ce56269bdafa560bdc915b0bbb5370b3c345d36bd6c393ebde0b4dbbbf380ce3ba6d916bd630e34bd44bb15bc3ca6693bb74abebce9bf11bd657d2cbc55a61dba3a8001bca9f0c5bc41612bbc77efa3bbcc958a3a18d230bc8c6beebb84c3c9bb4f1e393bf2dd7c3ff6ff063e239c1dbc7b7b893b514f683faf7d043e3be78fbb0019843bc556463f6430fa3d61a67e3b4882503bea40243fd0f0dc3d48f1cf3b7560c7bbed7dfe3ec34cb63d750dea3b21f26fbc7668bc3eb628903d5797c73bed52c0bc4839703e8fc13f3dbb1e0e3be41202bd8e1ad53d79bcad3caf0c97bb477cdbbc821b55bc7bda6eba8a96bbbb64a50dbdddaabfbccbd60b3bd35d953ba4455fbd1f8434bd67a08c399b55113c20613dbd350d37bdf9d38fbbf6fb103c75e64ebd694852bd5a5007bcac8a0f3c98c017bd57e928bd575412bc7b20c53bae2c03bd45de29bdd69044bc7ab46d3b158797bc3420f3bcbf8a35bc30880cb99999d8bb7936bbbcd5dd3bbc10d88bbbf69a0f3b0a0413bc1608e4bb2197adbb7ea0c6bbe84a563f803e893e74833abccbe0c6bbee5b463fc81f823e8617d5bb5568a1bb740f263fccaa663e87f4333b66100bbc23a30c3f286b4b3e9741e23bc58436bcdf71d93e877b203eb4eb023c6917a1bca3a8a13e9c13fc3d7b8ceb3b0760b2bc68d34d3ed584a53dc231793b776bfbbc6cc1b53da8ac273d1cf886ba6b3dbfbcac0938bcab6f883ab38319bb8d62ffbcbd81b5bca067683b1c30c83bc45640bdab0a2bbd816211ba451d433cb2214cbd074a40bdc38a0dbc08fa333ca48e2cbd148d42bd04c731bc73e62d3c396717bde6532fbda9a050bc2fadea3bd724ddbc35001ebd066073bc1dae753b70a888bc3e62f8bc901967bc4eb22e3abe7eb2bbdc3ea8bc398247bc0aa635bbc21a0a3b2c5607bc017d09bccacb47bb378320bc04b9303f0393d03e998008bc6e1e51bcb433233fec74c43e4af79abb633c1ebc69280d3ffb5ead3ec53a963bda6c6abc8f49e83e17fe933ec090193c588d7fbcdd3ab63e83506d3e5a67393cf080aebcfb52853eeb72343ec84d263c24c9cbbc7e0f273e9714f03dacbdca3b9763e6bc643c913d3123763d81e4463b3cbda2bcf53a32bc16ae933b8717b339d836d9bc3b27bdbcaf79133bbd6d063c2e8d1dbde72223bd17669cbbff5e523c7b1518bdb9582ebd655339bc69d4403c7d1f15bd49f73cbd41e684bccd53273cb559c7bc5d9503bdb67257bcd0c2b53b899abdbceb6b15bd096995bc7c7c743b065e55bcdb0fdabc8f7983bc6551f0b9bb1c0dbb752289bc945864bc1bb09ebbb275133b111ffabbcb02f1bb312e36bb480f2dbc40420c3f657c0c3fe1e8f6bb3cc87abc3b90003f7e09033f93b4e439270458bc4da4db3e9553e33ecf74213c26de82bc11d2b73ecb47c23ecc936d3c07f15bbc7c0b8c3e222f953eef124e3c7a22b1bcb99e503e69d36a3e44516a3c87e9bdbc8af9013ea5c31a3e0ad8313c5d5fd1bc41e5503d01be9f3dbbb0ac3be8fa91bc23e851bce661903bf47f183bb926b6bc80b4d0bc3012c939c9de2e3cd65403bd56012abdc5c82bbc335c693c8d7f09bd215b3cbde76a98bc6f3c563ce902f8bcf13237bd6258b5bc8d14233ca2cacdbc329920bd7f4bb7bc92f7d23b082380bc0bc60ebd3744bdbce3fa333b17832cbc2088dbbc59fca7bcc4c19a3a327d58bafad784bc3b277ebc740e28bb56367b3bfd31c2bb5f7700bc32d82fbbc6b35dbce955cf3ef86a313f51158fbb85e294bce842be3e3b9a253fe918963bde6a89bcd549a43e585d103fc48a813c866990bcf269873e419ef13e29cca03c0e2f96bcfeb5523e2dddbf3ec2f7a33c57b8b5bce709163ee2df8f3ea563903cab04b6bcdfffb53d24623e3eba4e5e3c21f1bebc35ebf73ce633be3d1dad123cc80682bc03b681bca8af883bd0338c3b5f5687bcef77d8bc3c579cbbe5d9473cf616d2bc18b233bdf2178bbc4296863c2ffdbfbce94722bd65a7bcbc5e1d263c3541cbbcfd9432bd8bc2f3bc9ac6133ca19f96bc84740bbd2c70d0bc478e953bb8814bbcde1004bd39f3e4bc3f77733a2750c9bb3a4baebcc75faebc99ebbfbaf5812b3bf5ee4abc1b1295bcdf5873bbbe69b83bf30b73bb391f06bc066037bb71b96fbc26ac873e7f27573ff0a2b8b9746ea1bce0df763e3997483f17834a3c441879bc6667543e88d7283ffa0ea13cc1fa90bc03d02f3ebc3f103f16e5de3cb40f86bc7efa053e344fe03e7c1cc23ced5caabcebffb83d57f3a93e2232cd3cf3919bbc7e7f543d912d5d3eacee823c36b5afbceac20c3c0c52d93de0233c3c8c8764bca2f1a1bcff2ca33a0ac4a73bb6835bbc0a26fabc5b065bbc65964f3c18978fbc324a30bd120900bdd278503c0daea7bc4e3535bdaeee17bdac171a3c60ed9bbc3f6727bd7bb31ebd1730b43b520387bcbdec04bdf3a310bd3607353b982d17bc3eaee2bcdcd306bd50eba7ba6c503abbf017a1bcb604ebbc05b8a3bba60c9f3bec251ebce4e3aabcaa97c7bb5338fe3bf217f6ba7d6d2dbcd2c79abb326d3ebc0dc7013ef4db7c3f51f5393c38a089bc2534ec3d09ef693f5907d03ca8a579bca38acd3d9840483f8ae00e3db16080bc18d3a63d21af253f7a8d163db7d36fbc055f7a3db5f7013f6647013df6789cbc3bb70f3d04dfc03ebc2de63c181798bcdbd2443c72a37a3e8989b13c643a93bccd984ebc8910eb3d1ff24d3c5e8455bcc31ad4bcdaf9abbb5a27aa3b00000000000000000000000000000000e1866dbc82b312bd957f05bd0aa71b3ca9eb82bc310c05bdafa90bbd810fb73bdd636abc6d7df9bc0f070bbd2e3df73a0ac828bc901ed1bcb096fdbc301b293ac7abb0bb421eb6bc981dfbbcfe5b83bbdcc311bbc18c6cbc519cccbc33becebb55e1763b9cdbeabbd638a4bcf7caffbb0000000000000000000000000000000000000000000000000000803f0000000028881bbcdc6467ba0e1c7f3ffa1e083dcc620fbc4175193a1b85593fdff70c3dc26924bcb0e6b9ba3efc323fac7e0d3d68eb33bc322dd2bb6a980d3f3de3f73c468444bc8a2f21bcc15ad13e5194d43c1f3d53bcb94c88bcabed873eb1e99d3c685b5fbc5037cdbc4219fd3db0dd403c00000000000000000000000000000000000000000000000000000000000000003eb361bcde53e1bb7931f73988341d3bdb0862bc7577f6bbd1c7533952972d3bf40552bc343cf8bb085968b98beb213b4cd746bc376807bc156803bb664d283b6b8830bc8f45efbb1b99a2ba9f83e13a58f01bbc51fee5bbcc6007bba84d113a88c2f6bb12e0cabb722d1fbbe53709b900000000000000000000000000000000000000000000803f00000000000000001a06703b79fc633f4ba1d53beb56803b217b493b8a74433f28affd3bfcafa63beeeb063b07cf223fb8bc013cb390b03b337018ba8ca5013f9674fe3b31e2ba3bcdb806badd32c33e6e1af33bec8cc03b56d80cbbc1bb813ef7d9bf3bcadd9a3bbaa76abb1f1f013eac8b923baeefea3a000000000000000000000000000000006ec73bbc85369fbb0698433a937feb3a6db688bca16003bc5ad2813a9faf763b91e07dbc516e22bcd86f16ba3b7c2f3b5afe88bc76b72abc56b7d0ba77aaf13ae8975abc4ebd0cbcd59da2ba9328033b651f65bcde711fbc2a151cbbe0fbb13a5b0538bcea6009bc32802abbbde5343af5cc14bc068400bc16ae77bbe8eba2bad66780bb5dc274bb7bbc00bbd4740bbae96a263bd6a5633f65f2043e38ce033b4e517e3bf5f4483f34b1f43dfa17cf3b3c700f3bdb072c3fbf30d43d9584c33bb1d4373a74ac0f3f3a21b73dd41ef83b5631e33612a3e43e2610923d15a6ca3b398be1baec96ab3edba9643da59cdb3b5f7341bb4a59643ecb431e3d4dedbd3be740b1bbca92e43db91eb23c7813a73b81c574bb39ec14ba7b04273b6f6d183b66c022bcefad8dbb6d7c6c3a11d8e93a6fef83bc1b1b1cbcfd0f8f388686853b6d7c62bcf91905bc262713ba45ba103b244c80bc9cf620bce6b794baef4c2b3bb9a54fbc59530abc9f4fe2baf1fad93adde054bc1ac214bc5ab604bb894a013b89941dbc9f49f0bb1b2e23bb7deed43962f5f5bb555cd2bbe2d934bb4238d7b85e609abbb7e8a4bbecd2ffbaf60646ba4783a83a0987433f81e8823ec5fed73ab020bb3a19f12b3f0ae86a3e682a9f3b16b2683a2e13133f77a8493eb750de3b9ec2a039b913f63ee47e2b3e7884e33b2e9c76ba34e6c33e9b2b093ef0fdc93bc320e5bac099933eaedfd43d59dfc23b222843bb5a35433e6e408d3d7215a53bce4c8fbba602c23db4ad153d6b59953b4c47b8bb2e2f7dba2923833bc3a7723b4c8034bc9708c8bb6921b63a6cb7293ba39f76bc586b0abc535d003b2919413b8b5e80bc8d731dbc3d1a25ba6ce0573b25ea7ebce3a727bc8bd5d1ba00cf293b9b6257bcf60715bc648c04bb151bef3a546c56bc40e71fbccd9f3fbb3c639d3abf8f1ebc82baeebbb505edba1861e5b86159fabb3bb5ddbbe39646bbf54156b975e057bbce4e65bbe9c601bba0c0f2b9c0b1893a0ea0223f9dfec33eb4852d3b5105d63914750f3f5422ae3eb97aaa3bc724be39ab6ff63ed3cd963eefaef33ba8e313ba4238cd3e07b77c3e2922f43bc34cc3ba18a5a33e99a34a3eee49e33b7add3fbbc181753efc361a3e8f49f03b532c91bb5e5f223eaf3ccf3dec9fc33b89a996bb5cf2a03d97ba563d291fa13b9ea969bb07787cba2e8a2a3be0ce2c3b1c851dbc7203b9bb7021e83a166f503b94ef63bcd8460ebcbee993b98b83453b0f1e65bca58a16bc9752acba78e1303b183a6ebc618624bc3f7c0abbbe9a203b7fae29bcba98f5bbdafb06bb7fbcb83a1e2b43bc01e016bc7aca4bbb99588c3a47251bbc7365febb5d834dbb3026c339207fe2bb6f9bd4bbaaf245bbe6a955b9106158bb27e562bb19cdecbaaa31bfb89bcd6dba2ebf013f3cfb013f1922473b3c8e02baa4b2e53e8675e73e1b40b53be8fa05ba5fdac43efde6c63edfb9e23b682597ba5949a43e31dba63ef4bd013c5089c6ba8f71823ec8ab843eed46c93b88b343bbd64b443e70694a3e969bf73bc1226fbb4307023e4eda073ed7b8d13b8e5894bbb8137f3d9b358b3d5054a63bdded58bb6d817bbaf270463b2975673bdfb107bc944fa6bbce56ed398860183b36b551bc305b0bbc63ab21baa9f8523ba5b15ebc082d1dbc3a6df7ba40c82f3bea2664bcaef026bcdad32cbbe785203b538d40bc84bf12bc440f43bb96f0c23a171e3abcdfd015bcfcb56cbb85ad703a88eefbbb8a970bbc75ea8dbb6da824ba76d7debb5056e7bbae928ebbc771b5396df570bb0df08ebbfe2ba9ba0d5f45392ef0d2b91716c33ea3b3223f34a6403b05ac2bba4e6dac3eda0a103f6745cc3b4b4482baa40d943e86eef73e0f6af63bb663c2baa02c773e759acf3eaaff0e3c30d10dbb2aa6443ee0e1a53e30d3003ce45853bb9e43133e6cc47a3ec06a033cda1d98bbb18ac03dae10273ead28f93b641bb8bbda983e3dccbcab3d3b3db73bbe9d97bb893b97ba609b3c3bedea613b116639bc4961e1bb2fc4633abcae6e3b981550bce8a21cbc429d93bad10d543b980932bc709506bcefbb09bbfb52153ba86b4cbcfd9f21bc1c2d6cbbab24c43ac89828bcbc9305bc693c52bbed7d9c3ae74931bc267715bc4c9e8abb625d073ae78de1bb5e9dc1bb086d8dbb7cbe41bae03a8fbb20f3dbbb4bb01cbb91ec5f3afa2d23bbed675cbb4ebd1ebbcbe35aba4c10a33909d3823e408b433f495daf3b1e0875ba32af663e43842c3ff859ec3b7ead84baf981453e0bb4133f5777f33b7d0207bb16c3243e8157f73e39aa063c49400abb2944033e829fc53e3bdcff3bfd395ebb3b09c43df64a953e877c093c7e5916bb13ea7d3dea44463ebc9bbb3ba4e9bbbb53ecfc3cd800c73d7f51933b4d636bbb057828bb1519d93a3f9d373ba84909bce33dd7bb191962baa8f7293b0fa861bc78f719bc583505bbe7286c3b272f4dbcf88b25bc09e475bb7e01123bef0042bc7d9b1fbc8d6b88bb06b6d83a42a327bcda2c0cbc900f8dbbb2051c3a9e231fbca8a00abcc00d91bb0349253a0d03eebb83aceabb1db496bb8cfe1fba4223a7bbfaaad3bbf317b2bbdabe36bbeaebb6ba885634bbee111cbbb31c5aba389b5cbab063033e2bce633fdbacb33b596947bafa4ceb3d9352493f3d48233c54dcc9bae86fc93d9c992c3f8209263c6f43eaba4a1ba83dc7f90f3ffae6263c357524bb2b63843d7bc3e53e910f0f3c8c5446bb2c243e3de771ad3ee9ebfe3b088881bb4141f93c52e8663e4514eb3b8075bfbb5e90353c9548e73dde76e23b6c015cbb329349bbb5258d3ad5df3a3b00000000000000000000000000000000377927bcf3cc0bbc80804bbb50490d3b106719bc73b5febb9a3968bb7099cc3a04ee0abccbf314bc35beaebb8be4c93a0e16fbbbde2bd7bbf6fb6ebb58a6303a5fe3fbbbd732e4bb89a795bb2bef02ba0f24b4bbf7f4b5bb3dc684bbd3a547ba8e4155bb3eff8abb94e36cbbd5ff9cba0000000000000000000000000000000000000000000000000000803f000000007c506eba590f603b5ddc643f923a2f3c9a9980baeed64d3b9aae433f3518103cd2183dbbc739873aa03d233f98ab153cc39bd6ba27fde53a4d6a023f292a063ca5b141bb60a6a638d1a8c33e18c4ed3b4ad149bbd2877dba1977813e1a09c83b6b8369bb65402cbba546023ea9e38e3b000000000000000000000000000000000000000000000000000000000000000062bb0f3cc92418be962e08bc1138cd3bd84ca0b9159a0dbebdbb8ebcfe04cf3bc3b147bc922ff3bd8584b4bc81cbab3b883547bc414ec5bd8caec2bc38b78d3b9b12eabbe48d92bd67f5a8bca995ab3b8ff81c3a5a5839bd022d62bc4f57a63b4397ab3b8fda8bbc8523d7bbcbd47f3b00000000000000000000000000000000000000000000803f00000000000000006ea5b1bd93aca23f53cc8bbdd836213bdee55bbde27c863fa7d1d0bc078e19ba565e08bdfe12593f18c0783a0b852cbbf798c4bc9d6a233f2b904e3c5d533fbb457eb4bcb690de3e4731643c716890bbec3493bc71c6743ec01b143ce5ff1cbb387c6fbc46a3563d9d44d4ba6581d3ba00000000000000000000000000000000a109803c50fcc4bd2c9e943b756f65baafed103d7eb31bbee7e02ebc7c790a3c40118b3c329621be07bbccbc5b78023c5519ec3b50d80cbee4cbf7bce63bc63b4770a53ac0d6dcbde267ffbc782aa93b5cc5c93b8e0ea4bde21ed5bc9d12b83b762d233c543146bddc6b92bc1d54c63be3cb303cb82079bc76e1e8bb12acd03bdb17373c03befa3b81bb463a0a2b2b3b583613be81f3a13feffe5f3d7587b4bc124024bebbb19a3f170d503da09ea1bccab8eabd522f853f0afda43db93cadbc17f1abbdb22a553f3cedb63d1579a1bca82f7bbd29511e3fca97b33d06888bbc727a4bbd8b06d43ed1f4913d3a5886bc29aa0cbd3ffe5d3e3210453d6add51bc09b6e7bba2641d3d6ce4aa3cfff341bb4c0245bc9702a2bda8aaacbb8f669dbb913e2f3cf40787bda638433bc6076abb5f13b83c70b1febdab49acbca5c9413b113e3e3cb26affbdb57c0dbd2cb93d3b116d1c3ca446f5bd3e4723bd8a198f3bac9a873b55d6b9bdacc719bdadcf813a051e1f3c0e2a92bd62f909bd5be8873b31764f3c5a882fbda3e8c3bcb15b553b173e793c76d289bcf6192abca8d9883bf307503c26cfa63ba8c1933aa3c5373beb770fbe273c873f37cd7c3eb67251bd63bd25bee035863f79a8783e40cc59bde69eeebdfde7613f113c753e99c02bbdc16ecbbd27003b3f67ee5d3e532820bdd1ef94bd467a093f7a65393e22b2dabcdcc47fbdbc68bc3e8ce6103eabd1d7bc6ecd3abdc7bd4d3e0886b93d37aba3bcc266cabc25b7413d88542d3d1a4053bc07be85bcd7705abdd554373ad5db24bc12c9b03afaac4abd1a48c5bab2fb7bbbb5a1663c6714c5bd64290cbd7a69a6b908fa503cd125dfbd3e9254bdce08bb3aba48233cfc41cbbd409e5ebd9663873a3a2fd13b7480a8bd72ff50bdf95b2e3a68c8383c2daf77bd6eb62ebd0c799a3a006f663c47021bbde7edf3bc0dc61b3b1f135f3c998069bcb72072bc5882b83bf5f43d3c0039243b207d1d365965423b95c8fabd96ce5b3f346ce53e29a69fbd1ea410be30f7583fe144e53e7621a8bd46ffedbd38e03c3fceb2d23e4a8886bdbb25bfbd1a9c183fa02bb53eb73f51bde35a9bbd0d66e63e1940943e2cf221bdc79a7dbdda239c3e8d155a3e92b608bdbba041bdbaa02a3e43a5093ecb07d9bcf3c4ecbc4560373d7643723d77fcacbc71a5a9bcd08b15bd2fb884ba3e6787bc385584ba90a718bdf20340bc1c4895bb8792263cf7c095bdea9653bd7c97c3b998fb133c6f5fa5bde87d87bdd22488baaeb0153c2bbea8bd31e191bd91afc4b839dc9d3a7c9d6ebd06694ebd400b2dbb087b263c625f56bd71204fbd9d6a62babfa1393cb347fbbcc83903bd1bb6343a7a8a4c3cf9b135bc466b7bbcb9d86b3b44c3323c7703f53ae01d91ba938d3e3b08aac9bdbf59273f40a3273f06c6c9bd486ce9bdb2c9223f1c1d273fba1ddabd1bafb8bd9a480c3f21f7133f32429cbdb583a4bd4b6de93e7641fd3e477d7cbde72958bd180fa83e0ffebb3e2a9b05bd021b65bdc2bc733ec922913eee5a13bdc14029bd206e033ee2a22e3e1f11e1bcf6c6ebbcf875153de238933d89b8b8bc3102a5bcc57bf1bc75a280bb286c93bcf10eee3a90a0d1bc1adbe4bc5151c6ba382a4a3caf895dbdce019bbd08b699b9e7fe793c74ff84bd2810c1bda71969ba46ae613c56bd80bd3bf5b5bd960243bb97b3273c8a2364bdf02c9dbd47627abbac54483c568729bd4d6071bd9750cdba56f5433cecb8d2bc2ff61fbda3cfc03aa784263c210618bc663d95bcb52fa63bf788e33b97b76e3be6585bbac4f9873bf65b9dbd65dfe53ec30a5c3f3677f7bdcd6ab2bdf942dc3e41a55c3f6d9f06be8fbb99bd11f8c13eca77433f2babc9bdd10681bd456d9f3e5c47213fb5198ebd7a515abde85c763e932dfa3e527d44bd47eb34bd575f283eff43b03e34a41abd0b4508bd4f91b83d0615503e2a2af1bc4384a3bc2deec23c8f599c3dcba3bebc675046bca2d2c2bcca0756bc732092bcc6b0573b13a554bca47d3fbd8551f43a45316c3c3fbd03bdb678d8bd7e4eb03a1d74633c526e31bd8a9be8bd2bdc8f39870a843c89713dbd4d12e3bdac3b9bbb0a05413cdf1124bd32e3b2bd51aba6bb17bb4c3cc4eb04bd7ffa8bbddcf09fbb6e7e1d3ca1489ebcc9b32ebd9c63f1b9e0effd3b9ec9fdbb460b99bc7e60d23ba9ff513bb3c15e3b06f6343b3e48f33b73394dbd25fb7b3e5215873f8cc10ebee45565bd459e653ef185873f1dbf18be709e40bd4a57553edc4f663f2157bfbda51731bdc729323eab53413f29978ebd75070ebd08310a3ed327103fb0c71cbd0dbce7bcafd0be3dc640cb3ecd0202bdc3c7abbcc7354e3dc092673e8030afbce84623bc3ddd3f3caf2a913dc3288abce5ab43bb7bff9ebc11270fbd8eb281bc5f8cbd3b6944c1bb939fa9bd1ea3c53bf1f1793c35caa1bb38a010be059a6c3bd6b3a53c69a2bcbc67d019bef4d2a1bb9c3b993c6261f2bcca2f07be18792ebc77d16f3c78a1edbcd286d5bd9a424ebcce30583ca7e8adbc7c949fbd679403bcecff0a3cb3e842bc29c444bd997325bbf6b90c3bbad761bb3d488ebc6208033c03ce8139d936983bed96943bfe33023cf500a8bc85585a3d01d5a13f609510be8ead94bc5e22073dc7579b3f52c614be7d03adbcac56483d3a61863fe7a1b2bd267caabcdc4c523d7282583f2e5543bd7ce795bce758383dc7c9213f8032babcf47560bc6de4e63c3322dc3e5e5f69bc26700cbc67225d3c74ca6d3e3f4c2fbc85ff1d3b1021743bf497513ddc46e5bb2e51813b251890bc12598cbda8d54bbc00000000000000000000000000000000b3886e3c83bd14bc83f215bef88f34bb3241813c6a7f7dbc18390dbeff774ebcec78653ce92bc0bcd9f6f1bdba5298bc02ef3d3c9481abbcc1f9c4bd1fe490bc5e93023c10a47ebc13bb8fbdd2a87fbcc2c4c53b337de6bbb49837bdd2eb13bc216db03a66f4113a77718dbc636a0dbb0000000000000000000000000000000000000000000000000000803f000000004ab28c3b7ebaa8bd2484a23fa01b8bbd28193db95b6751bde7ce863f48f7d4bc9a0256bb8479f8bc8287593f1137ff3ab85dafbb4516adbc37f7233f31f7533cad5440bb1ff5a1bc0afbdf3ea4a55a3cb33c8c3aa8c08bbc3ccd753e07a91c3cd31db93b8f8890bcd897553d3d11543a0000000000000000000000000000000000000000000000000000000000000000dccacdbb1f8fe1bdda20bcbcaab2e53ad4b316bc191adbbd805febbc14e0b43a18128abc8cdac9bda997ffbcfa83b3b70b7373bc60b7abbdfdbffbbc050948bacf1bc4bb9bff88bd095fdfbc624390ba8ead933b9ef840bd80b2a0bcc095f4b9f45d403c9129cebc575925bc48c3c2b900000000000000000000000000000000000000000000803f0000000000000000caca5cbdd932983f46a3adbc8779abbba1991dbd121c7d3f1a05393caaae0dbade48edbc3ff54d3f6b1f013dc425123b6769eebcc2011e3ff965123dc623183b58ea0bbd2a51de3edc5cff3c6a76d139d98713bd091a833e11f0993c5d8bcfbaf69317bdc545a73d25679c3aed56adbb00000000000000000000000000000000ecb524ba0c008fbd8c8ad4bb9c0a69bbbe2cbc3cce19f2bd3f2cd9bce13dd6b99418213cad53fdbda8641ebd749f13bb33b9a93b2dfce6bd81392abdf5f683bbc0762d3b0330bdbda2f724bd44baa1bb1451553c7c849bbd3a5f0ebd49b756bb4b9e903c5a534cbdd0eecabc71cd17bb96c0943c4e74b2bc322215bcd10c6e3be10e7e3cb91c0739da9a8ab8c9ec8cba08a4c9bdc1f8973ff73ecc3d0b6109bd3ad5f8bd6445903f65c6d03d3cd7e6bc9c89b7bd55a7753f2d9cfa3db44590bca93996bdc1c2453ff54e013e07e750bcb69a82bdf74f153f99adea3deb220dbc43e181bd1fc2ce3e3476bb3d18ef18bcb2b06cbdfc0f6a3e694d753d10b21fbc30d320bdb0cb863d567bc83ca7d3edbb2a3bfcbc766961bd0b8df2bb8f4e21bca91a373aa91a4bbd5c4c7ebb3a47d2bb7c9a4f3ca9d6c4bd7c66eabc3086e4bb2cba2e3ace60c5bd0fe51ebda3ddabbbf446143c2c0ecdbd019a49bd6ac4f9bbc0cd943bcc29a3bd9dc531bdb706f6bb4369803c5dca87bd992324bd9e19f1bb17486c3cab0c30bdc817ebbcbc2da4bb4749a63c0c20a6bc3c4d6cbce8728ebaa6cd833c0fd88d3abcb418bb22f06fb9a5c8d5bda3167f3fb3208c3e00c052bd6cb702be3247793f84728d3eaae646bd1278b5bd634a4d3f2e95883e4306d7bcd747b9bd22062d3fc2a8793e01e4acbc2f4694bd1453003ffac54e3e8a8f50bce23e98bd37adb43ecd8f213e8c026ebc61bd6ebdca5f513e0974d33de8184ebc9d0840bdb5177f3dd994463dd3b45ebc97b7e9bcaa1020bd2b12c2b7b20c5ebcea08f9bbaa272cbdb1d905bb7d5de4bb3532113ce373a2bd54750bbd99c90bbc61c0303c6da6bbbd069554bd367f16bc1c3c463c3e8eb0bd212c65bd11c81fbc3d01483c0d6899bd11a35fbdb8e337bc60b99c3c66616ebdde0b42bdba6822bcf8f3ae3c91d721bd79720abdb657f2bb17aca93c6b468cbc79518dbcbf793ebb025c6f3c29f86ab9b0f313bb330734bb3bf8b9bd93e7503f7f54ea3e47fb85bd3ce5efbd9de64a3f108fe93edd8987bdb430d1bd51e52e3f7de2d73ee1d32ebd7ddcb9bdb7590d3f7532bb3e78cdd7bc06aea4bd9db4d63eec379a3e7e1380bc9bc396bd995c933edab8683ea42e71bcbfc284bdb9e3273ed2a9173e5e2b84bcc68342bdf2f44f3d396b8f3d4dad8fbc7091f9bcc04a08bd6da06a3b6cd970bcbc4ca4bb05e610bdff1bd1bbc79f07bcb688f63b1bca84bd51922abd2a6258bc9bcd223c620896bd7a0873bd415c3fbc355e643c98f997bda41e88bd67a85dbce932073b0c4c65bd9fc44dbdbd5531bcccaa9b3caf854ebdf06858bd8c1350bcd944993c0c73fabc97a116bd66de19bc133b9b3cd79772bc650697bcedaf7cbb570c6a3cdfdf333a643d62bb0927a8ba24b3a4bd14f5213f04a5233f2c1398bdcc80cdbd65211b3f3eb2223fdbdf93bdea57b2bd7840043f60c3103f801f2bbd5fe8abbd9eb7d93ede2ffb3e6c46cfbca08e70bd37e89e3e9128bc3ed6ac88bbe5148fbd2227623e7979953e1ffa49bc79be66bd46b2f93d24323d3e368437bc7b1031bdf03d0d3d0e0cb13d0ed885bc0c1ae6bc6d41f8bc8e250b3bf23a84bc9e62e4ba45dcfebc4f1353bcbc0aa6bb16e4823c24d964bdd09666bda85644bcc56ba63c956583bdf53e9fbdc4bf6dbc6ed3b13cd9027cbdf698a1bd1bfd85bc839a9f3c86875ebd6a1994bd645e83bc31d8b83ce5032abde5a974bd9a7964bce4bea33c3618cdbc773330bdd10119bce852853c45fb3cbc93e7a2bcff13b5bae72d463c3da8113b99765bbb4f233fbaf6f390bd9d0ce73e3127523f8655aebdf13db5bd26e1d93e9269513f4981b0bd350fa7bdaaccbb3e465a3a3fda3a48bd448799bd911b983e28971b3fc406cebc766d89bd9488663e1fa8f53ed0cc2fbc66a876bd23671a3e784db33e6abd14bc8a3046bd14d3a13d06e4603e91bb32bc80ce04bd73a38f3ca7a8c33d41dc87bc6836adbce79ceebc744f2abbbf2485bce6a2f33be0f7d2bc3502d8bccacababb752cb73c57d632bd78a79fbdae2a67bc0cf99f3c529d4ebd2547acbd0f5865bca8e5d43c743c4bbdf785c2bd3f809cbcd3c7a23c76db2bbdafe49dbd4daf9bbc868cba3c6261fcbc3b9c88bd8d508fbc60fc8c3cccd19ebc3ac236bd4ae32cbc79d54a3c0a46e5bb2ffcb8bc245624398904cf3b74194a3b48ca11b9a1a8913bf0a25fbd7bc5893ef6b77f3ff798c5bdfee38cbdb30b7b3ed4b27e3f3008bebdf6516cbd3f645c3ee1dd543f24800dbd0c8578bd032b323e1c26383ff86699bc48bd51bdac90043ea9ee0b3f4f34a03a8e5846bd5799a63d1f4bcd3e3bbaebbabe8614bdf2e0203d725e793e5b4659bbd3f1a4bcc9272dbaaf48ca3dbf9e81bcc32bfdbbc7fbedbc491279bc71448abc074f433ce057c2bc638757bd53e9b4bb20e5f23c954ad4bc757ad9bd7d848bbc1f0c033d4e8d0fbdca97f4bd9cbcc2bc51aa013d468e0dbd76d4e4bdcf03e1bcbc0bd93ca36b00bd85f6bfbdc91cd2bcc75dc63cc417b1bca7a998bd4836acbc1f718a3c124d35bcdddd49bd96f54fbcb603a03b3b31ccbac258a8bcc5e9223bc721183b125cc83bca51083a34bfbb3b3f2e0fbdd47cc03db730983f234cb7bd849625bd5b638f3dbed1913fcd12acbd7eb52fbd15ce8e3d95b27b3fe582d0bc491831bd0cb56a3d5ff14c3ff0a7be3b354e17bd1403293d43361c3fc91b9d3c471c06bdb686953c7485dd3e734a7a3c8f58bcbc8c6e04bb895f833ed1ff963b252e22bbee5581bc5d3bb13d666930bc9bee8d3a4d6f00bd1cf027bd9e3293bc00000000000000000000000000000000afe9c53cde79d1bc3c42e1bd49ae94bc3481d73c81a2cfbcb3e5e2bd3ebbd7bcf6cdb93ce0ece7bc7892cebde557e3bceebfa83cba12c6bc3611b0bda1b5eabc277a913c2ea089bc01f68dbdf51dccbc48c95d3c126df2bbff0e43bd25d28abc29b9cd3b97ab103b3eccbebc2223dbbb0000000000000000000000000000000000000000000000000000803f00000000be658cbcc07744bd1bf4983f4b528bbc23a4a4bc5dbe08bd60527f3ff6ad903c1408bebcf32ecdbc2051503f98261d3dc29dbcbc7365cdbcd99d203fe4692f3d01e79dbc5071dfbcc8d0e23ee4ca0b3d32542dbcd776f1bc9381863e453e963c5e7770ba8bd50cbde13db13d7e6063ba0000000000000000000000000000000000000000000000000000000000000000b6d727bd7d3b3ebd0b6f57bc0e57273a78dd19bd77f84bbd241b8abc3a9ac63adf5d1fbd143651bd221993bcaa850e3b71df07bd3e2841bd762ea5bcc76f15bafc5abfbcc54a24bd124ea7bc00bf3ebbd4af2dbcfb8001bdfe599abc551ce0bbb1bb183b852ea9bce9238dbc7a6731bc00000000000000000000000000000000000000000000803f0000000000000000920819b8ad43833f44f0a13cd710903bb4d2acba36d05d3fe997003d547b493c62c850bb5a1d373f6b09243de93a8d3c472a0bbc55aa0f3fdfab183dac43a13cc3687abc172ad23ec00dfe3ce43a6a3ca2afa6bc8e42853ec4fa983c6906f43beb6bfabc9c87e73d64d6b63b5d2548ba00000000000000000000000000000000452508bdc160dabc4aacb4bb412863bb930002bd0a8948bdc57596bc8571bdbb82b716bde16d67bd5824c1bc9be724bbf9c70bbdecc465bde8a8d9bc2f8249bbc294e0bcd8c54fbde547d7bce83b8cbbf83d86bc3b5e35bdcbaae1bca70c04bc1eeed7ba777f0fbdbeb7cebc17cc46bc6be6333cdefc99bc64d59abcc7e073bc0a39493cdd03dfbbabd83abcde0743bc85b180bc46c0823f52780b3ea2d74ebcf490c2bc41c3713fed9b0b3e5bfdc6bb12f496bc33794d3f5d550d3e80f2f73b2ba0a2bc25bc283f0b26023e2f1f603c333db5bc0356023ffc7ddd3dac9d813c18c9f2bc5207be3eddb2ad3d6ce83c3c5f9814bdaaa46d3ee355633d62c2663b45c323bddf4dc83dd70ebd3cbe9d03bce2e506bd4a44a2bc11488dbb5e0721bcfb95dcbcd508a9bc704b10bbc49c80bb23d60abd228e32bd9ba081bce53d9cbb313411bdd6ce3bbd7921a4bc8f6d55ba5977f6bc6adb56bdd696ecbcc29c70bbb939d1bcac1e3cbd3ca1e1bc5dd1d0bbbad45abc3fc826bd4620f6bcbf1b26bcbbaddcbbd2dffcbc5e59b7bcf46d12bcbe67263c916d94bc83f7a2bcf56b67bc6a1f663cde33c7bb53571fbc333434bc0e2fc9bcccd55d3fb8308e3e4c088fbc182102bdf1754f3fcf0c8b3e825f1abc5400bcbca6ec2b3f3e547a3ee7c2e03b2b53ffbcbd7d113f6a84623e07256f3c41c1f0bc04e3df3e5d3f383edb598c3c42b51abd5eeda33ed5460f3e7c5a413c3b6309bde5d04d3e7d34ba3d8331f13bf2652dbd83dea83df063373dc4045fbb8eedfbbcff218fbcbba370ba03daf5bb2113e9bcb0e7a3bcb9d6c0392e3e4cbad74903bdb4b022bdc45b61bc03ccf3ba6b42fcbc90624bbd3273d1bc8d3580ba1cb0c7bc960748bdf4c0f5bcc677afbb7852abbcea033ebd3e52f6bc89b2d3bb5968fbbbfea41ebd90b5fabcb5ab45bcd7878f3aec09f1bcc6d5e0bc471155bc3a662a3c0b4489bc5c8dadbcf59851bcd7dc2f3cd08492bb2b8c22bc506f1dbcde80cebc4695373ff9e0d93e820a80bc492213bd2cce2a3f1bcdd03e1efa28bc28d60cbdd865133ff614bb3e8632df3b774815bdd00ef13ec44ea03ed819853cf5ec14bde196bb3ecca6823e424f993c260e2dbdfa66863e04e5463e1fbc6b3c5af92fbda8dd263e0f50043e50820b3c506527bd7c0a893d0788823d2c9729bb3bedf1bc092983bcf6a4553bb28ba1bbb505d2bce092a2bc2f24a83ac71f373a13f9eabc28e419bdd64e5abc144b2a38152bd3bcf1cc2dbdb166cbbc2e45f0bab691b1bc7f0741bd3f5c06bdf5faa8bba1b2b2bcc8c01abd649dd5bc3b5b73bbd2f0ebbb7bb617bd2e0108bda61b36bc54f7cf3a5011d5bca45adcbcf87344bc6491253c07476cbc91dfa2bc975550bcceb32b3c6112dcbb05330dbc43b1f9bb108bccbce4b1103fd015123fde1070bc28740dbd9b91063fc1950a3f5c7beabba11409bdce4ce43e514bf33ee529343cce6117bda903be3eb80ad13e1bad9e3c1790e7bc77e3903e31a5a03e1671ab3c6cf827bd85a3533ee51f7e3e46d3a03c718f20bdf2d3ff3dc950253e11854b3c7f781abd0ad1423d74f8a33ddba5a23a1089dfbcb6e085bc3891b93bf05f19bba627a7bc5931b0bcdbff9bb95c45823b3ca6a8bc7e130cbdb4d4a4bc257b723ae10c8fbcbc4c34bd2d7a03bd8f263abb4db654bc2c4b33bd109a19bd2c60ccbbcd6c20bc176520bd72d11bbd70e21bbc66dd1b3ab1d80bbd02cb16bd240a3bbc047bf93b7f98cbbc206ffebccc6353bc45bb3e3c10aa4abc68e398bcbcc437bcefd2373ca7ee70bbe37d02bcc106f0bb736fcfbc039ad63e2422383fb3866bbc16951cbd0befc43edc242f3f333e62bb3af118bde5bea93e843e193fb88a703cb0e71dbda61e8b3ea9a1003fc2cdcc3cf4ff1ebd2f52563eb64bcc3e844fdc3cc1782abd560a163e0d81993ec61eb33cd4152bbdf2dcae3dd4cf483e0511733c52d215bd3547cd3c5e27c23dcd4ec23b84cad2bc994ba2bcbde8223bad5c13bb99a532bcfa1cb2bc1d25afbba65d5c3b3c311bbc910e16bd43cae1bc236d9bbabcac3fbc0b771dbdfc330bbd656d5cbb23c993bb40dc26bd4a8e36bdb34f1bbce8488dbbb9b311bd691528bdef0f23bc5e14b33b6d43f9bc9b9225bd798079bc8b47913b8323b1bcdbfde4bcede23abcfbae6e3c809436bc3cba9dbcf1d735bcd56a313cf36b4eba750eb6bbe235a3bb9108e0bce2a88a3ea4785f3f5da44abc7e131abda9eb7c3e43c7523fd3002b3b4e46fdbc4aff593e4829303f8f03a83ca19e1cbd601b313eed03183f25c5fc3c256a13bd1976073ee6e0ec3e26d5043d5f0522bd5a26b43db62db23edff1d63ca9bf01bdebb64e3d8105643eae898d3c1dff06bd6d0cb43b9534d83d73c8c73b0123abbc2606b9bc4a8c01bbec342cbbacf7bebb6de7d2bcfbb47fbccffd513b4889ae3b631d0abdb1e92bbd76fe8cbb4819423b28a61bbdf33555bd008411bc38e06d3b129f16bd34e759bd645f5dbc119e813bd7b903bdc16c45bd5d6d80bc76a23d3cfa0dd5bcd2963cbd30e793bcf937793c83da8fbca39512bd79ab90bc7335863ca1c8d4bb585fa0bc7f8845bcbee74f3ca7d9a7ba7c5ad7bb6940abbb128fc2bc0553033ea554833f590af2ba4bb30cbd66f5e13df624743fcdbd603c53f409bdd281c93d1e3e513f5ac4073d503708bddf54a13db6062c3faaf0263d93a001bd17b36a3d6e3f063f2fb3223df6390dbd6af4043d5743c63eb89b073dbe6f02bdc494f53b02dc7c3e81ecba3c4146cfbc3da275bc1804e13da713c83bcf4e92bc8b2fe9bcb0922bbcb4855abb00000000000000000000000000000000bf5cfdb91fe002bd309d29bd68b99ebbf5d8d339fb34f7bc11e240bd47b219bc7487abb9df7ff6bcb67841bd34bf52bc6873e439535ddebc87a233bdcaed7bbcaab9a33b7806aabc8bc620bda89189bce0e9303ce21967bcff5803bde28d89bc61aa633c9370d4bbfcb0b1bc71cc68bc0000000000000000000000000000000000000000000000000000803f00000000b1f59ebc2bd882bba8c8833fa980013d76d4aabccd0a2abb08105f3f6d72243d7119b3bcc3ed50bb32d7373fc2fe323da100c9bc3ddee2bb2626113fe0292b3d390ac7bcf42672bc2635d43e4669063dedc6b0bc9b06a6bca717883e35fcb43cbb7ba1bcc55fe9bc5c57f23dc8230e3c00000000000000000000000000000000000000000000000000000000000000002fe5fc3cf18b3ebed0c1b63bde100e3c83f9b13cc40a31bea99ed2bb16fa483c3736193c413f21bea1d694bcd5fc443cd691d23b028504be3aa7a7bce335333c7155993a811eb3bd833e8dbc7808043cbac1bbbab8a146bd48972bbcfe28bd3b23789bbaf51326bcc80950bb4853ed3a00000000000000000000000000000000000000000000803f00000000000000006d1105beea3aac3f04a0e8bd4f1b323c038cbbbd95988d3f1d9357bdde4f643ab9458dbd7a13693f34ba88bcd6d1e1bbfef141bdaa462d3fe5c6be3b6e6bf5bbc8b6dfbcb997e03e8191943c5558dbbbbdbc1fbbcfcf5d3e636cc13c139c45bb4289823c32f5b93b93dc953cdab216b800000000000000000000000000000000822c043dbff8ecbd58c05c3c8c5f393bd529463db0ab26be6f58d63bb9be083cde91163de5463abe2fd083bce1c9773cb4b3e43cc10d28bee937d6bc20fc853cbeac933c9d3c03beb77afdbc10fd563c5958203c610db8bdcd80c9bcfcab373ca02ebb3bf9b04cbd39b588bc0ccce73b26483abb297e5abc262e10bccec5853ba574d73a4f9c743cd5be463b6937213bd43d48be301dab3ff4c30a3ca5d954bc637741be94469b3fcd12f33ccd3a7fbc699123bebd588b3f38aa703d2269e3bccd0e01be53bd613f818a9d3d8dc6e7bc24b9aebd89ef243f4460b53de59dd1bc3f3a3dbd5f5ed13edb3eae3d0323c1bc4fe6fabbb9cc403e6e748a3d12dc74bc52ce033df6744e3c6a16473d764bfbbb1962e83c498bfabd4c0cf73b00be32397d07e03c58049cbd5738ad3bfad6c13b7bf4233d4add0ebecbedacbce0de6c3c2189173d7b341cbe8fe227bdb7eb8f3c6e67ea3c768d0cbe117b4ebdb30f8c3c0712953c83b4d6bd7ef840bd9442533c2dca813c120e9dbd1a1825bd06656a3c47b8233cf2ed24bd24c3cdbc05380a3c0a32b53bf76765bc261d1fbceed9cc3b9d308c3b430efb3bda03513b61339b3b9d7b48be1ffc8d3f6636673e334d7ebd756954beb7c18b3ff1796b3e8f2784bd07a332beeae8733f8edf713e5c0482bd93a20cbeb58a443f412b693ec24369bd7facbfbd99f00d3f15244b3e7ca739bd195a60bd04c9b33ee67a263e96a406bd243299bcad1a243eb6fbe03d2b59a3bc3b3f7a3c1c1b2f3c2dde5d3dcb9915bce49bc93c6bdaa8bd26bc693aeef8d939ace69f3c066276bd112e3ebc9020043c84330b3d6e15dcbdba924fbd223b953c46ee053da36df4bdb86e91bd1c23b03ca98ecb3c5928dabdafa39cbd07c28e3c4af6a63c7717b2bdb45393bd8ff2693c88326d3ce26879bd786b5cbdd213313c3681323c44be0ebd275705bdd4e31b3c1e66f03bdc7943bc15ba59bca084e23b854dc53b805bb23b91dc7c3b05b6c33bfbbf39becc1a6c3f2e19ea3e187be1bd794b45bef15f643ff7adec3e0af9edbd490828be0fbb453f1df4e23e955bd7bdd1c7fcbd3da31d3fcc65c83ea086afbd7a31b7bd52ece53ec0ffa93e641689bd5f9155bd3977903e0b6f783ee6e53bbd7de8a5bc0221093e44b8193e95e1e4bce7cb0f3cee9a673ce788693d46b6c2bbf0a2603ce70382bda6493ebc865becba69457d3c2ee62abd9e63eabcaad22b3c1268cd3c7e6097bd1e58a0bd1685a73cc6a3b63c1826a5bd5e31cfbd2241953c7dedb03c9beb9fbd8265cfbdd9ba723c58f74e3c475072bd0e2c9ebdccef973bdbce5e3ca7e53cbd07c68bbdaba82e3c9038073cb4b2cfbcd20520bd29e0e93b76fadc3b76292fbce4656abc3667143c45d4963b14162a3bf02bae3bb386223c2bab18beee1c323f3459323fc6d11ebe89ff1cbeb392283ff24a333f03e623befac700be8281103fd04b253ffed505bebc3ad2bde109e83e4453103f7a5de1bdcb9789bd38dea43e5505db3e83dc82bdabb73bbdef2c583ea895a23e65835ebd97c1a5bc6b32d33d2da3353e1cb5c4bcfccd303be055933cc2d2603dec03c8bb6a8c2e3c008d38bd6997e9bc098683bbe9c0003c480fa9bc7caf4cbdda65833ca0fe883c3a2018bdf324e4bdc64dc63cbd3bad3c6ff74dbdeeb407be85f2a53cc538903c90cf47bd28e5fcbdce50353cb5ce793c091f32bde77bdcbdbfa8073ccd5b3b3c3c0d07bd66269dbdeb81083c09e4293c5e79b8bcc72c39bd7769173c1880e23bb4f939bc388f6abc54330c3ca195a73bcf2f163a896dc43b806b1f3cdd1ed8bdb676e93e466f6c3f05a13ebe2e65dbbd57aad63e17216d3f332c47be6e37b9bd9a5ab73e3da8583fe30326bee1768cbd6411913e2bc3353f6629f3bd1be954bd809a583e0b610d3f9d4bafbd601cf6bcc1730f3eb944be3e01aa4bbdcc9a7cbc539e993dfd464d3e929fbabceb1022b9941ebe3ca876443d6cfc5abaf239c43b6a19c8bcc2a344bdb53ce739fcaf393bd4731a3b0de58abdcdbca43cf67f143cd852fcbb88c10ebe320cd13c37aa583c16ab96bcee2821be07bd743c79dc4a3c07abb9bcd88317be9f640d3c39ac293ce36cc1bce582eebd06f8683a3118013cde69b3bcf260b2bd4c367f3bf4e8ea3b4d8976bc390f46bdac93813be3459a3b5c6d2fbc0cc56fbc7992c83b182b113bc28ccebadf77df3b49d8233cc03b6bbd5655663efd688e3f13f84dbeea7960bdfc87453ef9098f3f344c4fbe0d6c3bbdd55b263ecf78803f837821be542814bd4a17043ec8f4553fcaebf2bdde18ccbc7887d03d509f203fd69d8dbd8c9394bc87e39d3d6295d63e606a25bda13cf3bb4cef3f3d5455593e4a7941bc800678bba6bce53cfef2193df3c10b3ca601633b9c19af3ad55b8fbd111d013c842a0d3acf31803ca7cae2bd5058ce3c5f03a8ba2995b63cdc9624bef27aea3cdde8ff3b14fbe23b83e239be7ad6583cca75183c9596a6ba2d4d28be2bdedc3abf24ed3bb76bdbbb458205bee66e97bb472cdd3b1abc25bc72f8bebd531e1cbb34629b3b427637bc8fdd49bdb7195dba0621873bd47463bc8ef543bca7f10e3af183c73afe2185bbfff2683cf4971e3cf7e53ebca96d333ca408ab3f030a4fbe65babcbb451dad3b79b49c3f610036be306914bcc853413bee848e3f8a7108be96c8e4bb51e2b63bc053693fd492b0bd1b908fbbbc112e3c48972d3fb39435bd060fdbba0e04873cb3a2e23e2bb988bccbbb2cbbb617cd3c20cd593ec4fff53b1d2000bc799b203ddd2ccc3caf73d23c4b548fb950ea713c6bc6eebd4b65333c00000000000000000000000000000000b9868e3b6d12ba3c9ce53cbe68663f3c7893ce3b3b425d3c2e222dbe2d007fbbd80ce43b7d39433b0f8e1dbefec789bc3f3aed3b85d457bba718f7bdbab2aabc3694233b73b17dbb3477abbdc20582bcdd58253b4242cebb610e38bdedf83abc8861893a1198dbbbd5600ebc2ff90aba0000000000000000000000000000000000000000000000000000803f00000000f3b4973c179f09be95f1ab3f217bdfbd657b553c77f4c4bd34c18d3f479d52bd4f50483cb71995bd9ce2683f54a57cbcc86ff63b08ed56bd514d2d3f60d5213cb81f273c386607bd2d39e03ece08b33ccd97a03b627ab0bbaf5f5d3e302fdf3c43849a3b589d433cb8ac2d3b0353c03c00000000000000000000000000000000000000000000000000000000000000003f6a393dbbdb26bea517c4bc5036583c2911353df91a17be5b0c3abd5f606c3cb409053dc2f803bef08566bda9d1223c937fde3cce42d1bda8cd5fbdf403f03b97899a3c06758fbdb58c2ebd14c5923bec6d333c1b9a1fbd3fc4ddbc1481953ad0ae3e3b24381abc210dc6bb706ba3b900000000000000000000000000000000000000000000803f00000000000000006c0610be62caa73f317e91bde00e95ba452901be648e893fe69ead3b6375dbbba6fddfbd1c415e3f3a145e3d03c516bca12dc1bd9535243fb18b973dcb7abebbcf4095bdc181d63ec07c933dcfe4e0ba35dc17bd0b5d573eaf976c3d11056e3bde0b8fbbe0384e3c3f1bdc3c0cb2be3b00000000000000000000000000000000e86f203d1e1fe5bda9004d3bb782c73b7e548c3dce761cbecb85b5bc4b3d613c73b2773de1471cbe242a62bd702e5c3ceeca553decff06be06a289bddec43f3cd0161f3d4e5ac7bdabfa83bdef84823b3e70e63c856887bda23b57bd05ad313be1116f3cc4120fbd8f41fabc7093023a2daea1babd3b1bbc519328bc8f3df2b87f1061bb84852e3c559e123c0267ab3af6db39be7e84a73f6292053d6ac0d6bc2cc35cbe97d19a3f629d743d99afabbcf73b43be3259853f3f49033ebb010abdac5a25be8347523f6f6c243e4e6303bd76a100be35fb163f28c92a3ef3e1a5bcc4c1abbd02cabd3eb8dd133e2b2a5abcb1150cbdd48a263e9240d63d10cf3fbb7dbbeb3c78ab40bbe26c6a3d1206be3bbbc7053d2584ecbd72bb66bb63bf9e3b3917183dcd14a3bddd55d5bbd9cd003c682e6d3d568d01beb30539bd8cbd693c6d8f5e3db74ef6bdd2d998bd53f1303c6c084e3dfeefd8bd8732a9bd2075a73bae29133dc07f9dbd556698bd88d2febac1e7e13c450c51bd469c7bbdbd6700bbc41f813ccbf5cfbc6ef11abd334e59bb12e4823b54bd01bcc82753bcc4b7a2b986e60fbb965cd43bc941c03bc12f773be8463cbe46a08b3ff318803e60b18dbd4c815dbee30b873fd1478c3e049c91bd4ff63fbe5181613f951e9d3e5e9674bd09e227be824e323f1dd29c3ee40147bd4202f6bdd4d1fa3e8b178a3e1dffe5bc87baa5bdaff7983e2c0c623e00d588bcfb901abdf922073e02e6123e1ae53dbb8a588e3c1cda13bc31f4853daa007e3b2e070c3da6b0acbd49c7d1bbedf67a3bbd9bea3cb2f888bdde4b80bc75ede73b1627553d6539c5bd4a8f87bdaaac4a3cafaa553dd99ec4bd0a5cbfbd4824b83ba685373d7d6da1bdba14c9bd865662ba2633173d83f36bbd4bc5b4bdddf3eabbbf45cb3ca1a012bdd77a8abd598313bc308b7a3ce5f798bc81d524bd4752c9bbeb588e3bdff8a6bba70675bc1b8d8c38691791b9f738e33b1773bb3b9db9593b2ae92bbe5394663f39e1f33ecdc8efbd225b4bbec2fc593fb9c9ff3e60dbeabd358736be3007363f9309003fba16b9bd768d16bec4a30b3fe925e93ef4f283bdca8feabd7a52c13e4093c63e4ee319bdb77590bd62f1633ebdba943edd598abc8b7ff6bc4259b23d919f3a3e28fb96ba4eaf5e3c4be851bc499c8e3d736c043ced86c53ce89395bda4345fbc962e463ace5ec33c67e648bded38e6bc2433283cd3fa293d00ff89bdde14b0bd9d91303c9cd5273dfd5083bd1bb4dcbd692e2fbaf42f223d39145cbd5c69e2bd7c5937bca29fdd3cff0821bdbbdab2bde20994bca02abf3c5fd0c1bcc2b694bd3e166bbc3b59503c593d2bbc63cb28bdc55131bc8ebf8f3b8447eebaeb0f8abc9b2595bab1bdf139fa7e843b38337c3b4f83c83be83e13bec1a32f3f59f5323f0f7d1bbed46127be87aa203f9651393f20d917bef4720fbea255023fa9bf2d3fc86dd6bdbf13fabd29fac43eccbc1a3f769c92bdf275b5bd7789873e5aceeb3ee37b9dbcb63f71bd7773123e2f8cb63efae457bceb31cfbc1b53583db7a5533e89686e3b404f323ce89391bc1e5b943dd12d333c3adbbd3cd5306dbd4972d1bc1fb24abae910993c465408bd863034bd98a31b3c11ca013d214414bdb6d9dcbd4d47143cbdd0073df62906bd149904bef2acdebb1a61f63cec51e1bc677afbbd3b478abc034bdd3cd832a0bc6dced5bdae08bcbc69348a3c66551ebc797a9cbd4907a6bc88a3273c53025fbbc1ac48bd6bcb4abc8348633bc01f37bb6aff84bcbb9c84ba56d9d7baaef08c3b0209753bfa25053c2d5cd9bd7a7dec3ee9056a3f653033be6914eebde0f1ca3e45126f3fe2f531beffacd4bd8f829e3e6bab5c3fcf5df7bd9d19aebd49af653ec19f3a3f5b7e8ebd5f0c8bbdf2c1133e662b133fe043edbc40f31bbd9ea3923dbc84cd3efa8c09bb4fcb51bc6d0c923c119a673ec7f3443cde5d2a3c54057fbccb0d893dcbd2703c3594a03c54232dbd21751ebdcdfbb53a173b1c3cc5a304bc03f07bbde51a793c88c0953c036692bb473f06be711ffb3bddd6c63c16a004bc92630fbe8ed571bc6de7c23cc249afbb74cc09bea127ccbc01fca13cb28fa4bbce98d7bdcf4d04bd7b2b5b3cc35453ba974fa5bd15bedabc5c37073c63d46d3aea533bbdb05c90bc5e6f363ba37ed1ba912090bc69727dbbe9e104bbba611e3bdfe97e3bae050f3c34ee79bda03c713ecafa8c3f6e3145be7ec77ebd6bf3303eabf78e3fd8d836be011e7bbd2134073e7d607c3f3f63d1bdf0ed4ebdb2b5a13da186553fa11569bdaba121bd655a403db957203f1bd9b0bba10facbc2e042d3cee5ade3eacd65c3c79f10ebcd2c2ccbb0d106f3e4f97c93c4d0d0e3c7e2c2abc731a603d3b6ccc3c0c776f3c14709fbc234972bd1ca57d3b1a4ea33bc858f03b564ac7bd6895653ced8e923a06e4083d9e501abe5843eb3ba193463c568bbc3c563d23befbb5aebcb397713c418d823ce2d40fbed3131cbde8db503c90bd453cad8bdfbd6c222fbd5383f53b62361d3c69cd9fbd608a0fbda6d14f3b9ead9c3b7fa638bd221cabbc06c0163bf44a85bb3d8f7ebced62ccbbc8a733bb11f116bb451e2e3c60770f3c8bfb85bcb96ac03cbb05a83ffc593dbe9e33cabb02b903bd23cb9e3f513825be0f5c8dbc58121bbde8c88c3f3315a2bd1c0c8dbcccd42fbd4a0e653f6d918abc330a47bc03fa41bd36e12a3fe226dd3cb4ae0bbb43bd2fbdfac4e23e4ae6363daf336a3b8c7bdfbcb855653e040e3b3dc9db5f3ba504ba3b57c80a3da641253db591253c8409cf39abecccbd4d99a53b00000000000000000000000000000000fb370b3c646ae83c5c0d23be7bcd69bc3874353c4b8fdc3c627313be036019bdb4f3683c0dc4903c426503bea1d056bd0652503ca6156a3c5897d1bd9ba057bd6009ec3bde47483c367d91bdd63a37bd9d30233bb8a3e33bedc620bd37dceabcd8060ebbd0bcdc3aad031bbc1c44febb0000000000000000000000000000000000000000000000000000803f00000000986c1c3cd79115be4f7ba83f59aa91bd78d69a3bad8c04beb7e18a3f4b71033bffe569bb09fddebdc20f623fe7a3503d75ddd9ba75c4c7bd1a8f283fece39a3dc4c5783b85589ebd7c24de3e37b1983d6510fa3b77753dbd2f94623e3d9d803d86e41d3cf7eb6fbcc6319e3c52b1093d00000000000000000000000000000000000000000000000000000000000000002429b43ceb4fc9bd12aa3fbdad329d3b9ea4f23cd461bebd5d7375bdf7330f3af524d93c84a4aabd6f8b84bd259f83bb5c04cd3c84a28abdd2cc76bd3376f3bb6f43c03cd54b4ebd36cf50bd172f1bbc6d84a23ceb90f8bc54cd0dbd273400bc6ffb5a3cecbf3abc832c6fbce59608bc00000000000000000000000000000000000000000000803f0000000000000000d060b9bd1b50953f754c9e3c8c0e20bca18bc2bd4666773fdd93823d8449bd3bade7bebddcee463fc504ba3d803e923c95f9bbbd6fac163f44c2c03d13e2c63c43a1afbd5bbed03ebccba73dbfb9c23cc05a8bbd65c06b3e8dc25d3d5fc0a83cb5e439bdadda7d3dbaba8a3c10fe303c00000000000000000000000000000000dbf94b3cafe187bd6c4797bc005d113b7771453d8d06d0bd5ea658bdf78bb23a1de2453d3766d0bd4e8d90bde19296bb1544383d3d31b0bd348e99bd1dc73dbc879b233d608b88bd874b8fbdade281bc70830f3d798c3ebd845766bd37c589bcdb82c53c3ce4c7bc68410fbd03406bbca8190a3c99719abb7da40ebc68e9adbbe884573b5cd0123c323a703bc16fc3bbb89cddbd62f8953fb78bf53d11672cbdc94b22be190b8d3f6597133e5eff00bd5c7f1cbe5e1e6d3facd53d3eb0db2fbc247a12bea4503b3f537a483eaf2ad63bbd2402be7ed7093fbd3e383ea56f993cec44e6bdeebab83ebfc3163e11759e3cfb70a7bdfd8b423e8684c23d0c69923c1b5b09bd7346223db4c70c3d5bcd4f3c3f1162bcb9778bbdcb305abcc6339a3ad694833cf4d74ebdf7368bbc6bbd16bb2c7e213d9012abbdf74059bd493f7bbba332153d96df9dbdc7a98cbda8b258bced18373d99a592bd76049fbd2bfaa7bcd39d123d43dd5fbdbdc888bd3842bcbc38e2103de6b614bd5b656dbd8d05c2bcbddfcd3c20a6afbc80b71ebd2ca5acbc6f52303c310424bba3b049bc3a4a51bc5726033b479c003cbf5fee3b54ebc9bb843af0bdc2bc7d3f3894963eda7a77bd2daa27be1c7f723f2459a23edbf747bd0ace0fbecac9443f7a2da33eb81b2ebc11b619bea240203f83b89c3e0c52893b8f3601beb04fe83e27de833eefcaa83c459ff0bdfe609a3e8356533ebae1c33c03eaa2bd62f5263e8ac8043e169fb13cc2821abda337fa3c16f05c3de807613c2aeef7bb8c645fbd98342dbc48c032ba7994063ce2af27bda23781bc13444dbbc9a6123d3e688abd048464bd14a249bcd090303d6fbf89bdeecb9fbd18e69fbc05822b3d72d766bd525ca2bdba66debc65ed2c3d335234bdd28f9bbd6e5001bd1acf083da77cd9bc13326bbdeb3804bd6052c73c13b43fbc2ea613bdcacddfbcab12423c06980a3976064cbcb78f86bc40b93f3b39490c3c9506a23bc23c01bc39fddfbdb1b5503ff25df33e1b5f96bdc1bf1dbe19e6453ff18cfb3edfb176bd73401ebe766e253fc37cf03e3644a8bcbf6513be3c67003f75fed53e432cc03b342e07be07dbb93ead4fb33e0acee53cf181e0bd486e6e3eecde873e265df53c36daa1bdeb7ce73d2a552c3e68bbd73c531320bdb0ec863cdd3b8f3d59c77d3c822d4fbc83cf4ebd9e5e05bc458b0f399b67143c5dbc13bda40889bc7a44a3bb0416083d4d825dbdc0d773bdff398abc50ae1a3d5fc650bdf8c89ebd50c9d3bcf114323d1a3936bd3161a9bd964117bdea00f63c469910bd035886bd042405bd3cb70b3deab896bc20ed6dbde7c320bd814bb13ca965ecbb974c0dbd31fefabcdd1a2f3c60e23d3b680041bc75a59cbcb8722b3b1f4d063cbe80bf3bef0004bc627fcbbd87fd223f4334273fbc62a8bd6c6f0dbede18173f7da8293f9fe885bd9d7109be4b58f63ed0191a3fe8cb7abc5af90abe70c2bf3e80b5073fc6bb793c7534d4bdd159883ec788cd3ec4d0203d22fdd3bd8a34263e6162a33ee4ef233d618d8fbd828d963d7c0a4a3e7b90063d99bc0fbd243daa36d0e3a73d841c953cc8f82bbc315a3abd37ed38bc5c4b59ba9024293c156bffbcecf5b2bce717cdbbbaa1043d407d25bd041888bd36afb1bcc3b6223d24841dbdb5eaadbd5b6f13bdad46233da5b3fcbc566bacbd49562abdac9e263d6751bfbceb7b99bdf41f42bd754beb3ca8ac27bc174867bd36e926bd78cead3c963318bb50af0abd68fd07bd9899fe3b7d59873b96f331bc3a6b91bc704cb23ab51ad53ba1edf23b7048c4bb23b6afbdde15ea3ec453543f94e8b6bdead3f2bd979fd13ee5c9543f182393bdf33ff6bd8f0ba83e4a01403ffc1286bc3542ecbd9e197b3ef56a213f39e5a83c88f5ddbd4ca72b3e1422003fcea7393de332aebd83bac33d4560b83ebc13423d966172bd35ccfa3c6faf613edc13183dc1e2bebc35e485bc58d2b13ddecc9e3c95eeaebb864830bdfed683bc8a9192ba528c4a3c434cbcbcb0f2f5bc2d6ff3bb65f4f83c1a07d0bcdae89fbd902edbbccc9b0a3db65fcdbc71d2afbdc34119bdaa311f3dd20289bc6503b9bdb8b050bdd3c2033d139959bcedd595bd2e4948bd239cdf3cd44b37bb63ef68bdd6f53ebd93b9923cb242183a9ed70abd6b4412bd3a96a63b0540f63bbaa42ebc8f2f8bbc6e6c51bb1b96d53bb1951d3c700d09bb26cc83bda57b8c3e34a77f3f4161c9bd5fa3b9bdb266693e54e77d3f005d95bd72a0babd593a3b3ef4bb563fde2aa73bcc29c5bd22cefd3d0c03393f23e6163d5f58a7bda100a43d23ca0c3fb8a06c3df4918bbd7b5bec3cabd1cb3ed669713de6443bbdbfa607ba0d98723ed14c3e3d081466bc7e05febc0349af3d838bc13ce176c33b25a61bbd44daf6bcc3da28bb5767603c984784bc98264fbd797319bcf2a0e53c4f0518bc6ca5b6bd65b207bd17780a3dfcf4b8bbf62cd0bd704353bd69590f3d1816edba6760c1bdbe8971bd44f2033d31cdd3ba23339fbd34c269bdc705c23c46f4973bc1dd67bd903f56bddb68513ce0c7073cd8a900bd0c4416bd20e7e8b99211e33bd381e6bbc6ab5cbc330789bb6766c13b31fa263cc0d7fe3960863cbd6b4ccc3d6927963f4e92a4bd1a8b60bd6a1f5c3d86488f3f70066cbd504d8abdd1fa0b3ddf9b773f1b36a13c200690bd0968383c8037493fe37f803df26681bdd5d123bc8752193f44eba53d51243ebdb1f002bdb590d63e64a59c3d1117cebc3aa036bd8464743e63fc6f3d3768563ba40123bd5440913d9829e93ca9263e3c091716bd71e359bd286cadbb00000000000000000000000000000000d0fbea3ce39408bc90dec6bd3a2d11bd21ee053de1105dbbb0aec3bd118549bdc79b073d37015cbbc506b8bd9ab167bd1d47ff3c88bae5ba95ec9abdcbde65bd964bbc3c8437933b8eeb66bd08cc52bd93a53f3c65affc3be53103bd6dd718bd9b411f3b8cf4f43b868403bcd06e9dbc0000000000000000000000000000000000000000000000000000803f000000001c5a1bbd79b574bd3e9d963f0f7b203cc8e637bdb25683bdebb37b3f10a46a3d96444cbdac577fbdbfc64c3f5d47b53d6c3141bdb64183bdaa3a1d3fcaa3c13ddc9911bdc7b688bd842edc3ea037af3d18c881bc11bd7bbd43257e3eac53783d66b5223bfd8c55bd231c943d77abe03c0000000000000000000000000000000000000000000000000000000000000000b9b8573df88d53be41af2f3c394e5c3ceb65fc3ca09f42beb71b9dbc9eccca3c3f1fa83c097233be005023bd7443d13c0e7d363cd2ca12be83c129bd0111c43cecb8e23af2c5c7bd37321fbd4da9963c92b743bbe06254bd5043edbc36061e3cefb9bbbb29093dbc297627bc62171d3b00000000000000000000000000000000000000000000803f0000000000000000993016be2e4fac3f4739fdbde4874f3cdae4cfbd03bd8c3f364210bde60e5ebbdd5bafbd35716b3fa7f217b92fd616bc64d681bdfaee2c3f722f0a3d7b3e26bc4c17d7bc4483d83e8611583da3990dbcf5c3a83bd711523e080b5d3de06097bb2515f93cddfae9bb307b163dd9f4c939000000000000000000000000000000001dc7563d02c804be5c3bce3c27d3a1ba6547583d159f22bede4689bb6180223c904e3c3d56013fbeddf313bd4be8c53c7a02043de6cb2cbee4c25bbd8216ec3ceac6b03c04be07be747884bd5f12d03c183ed83b4357b6bdc80565bdebd6ab3cf37bc93aa16d36bd917627bd51973b3c340680bbc3265ebcae86c2bc92b8a63bd8b49ab9aa89643cfd74653b909033ba3eba51be0e4fac3f777b81bcc3a0d6bb958b2bbe414e953fb1f45f3d05f6abbc6e5528be26e2893f5857933d6c6fe2bcccdbfcbd98a55c3f899ddc3d76c7fbbc749fa1bdf94f1f3f2395003eb19be2bc56080bbd5838c43e0d00003ecff2cbbc2335c03b0ab9263ef3cecf3ddc0f86bc807e033d3924993c9db27e3d3f7b38bc2937443d27c606bed48c233cabe62fba216a173d614497bd04b0923b4f1933ba8b7f533daec20bbe4b171bbd37b0763c6ce4313d1bc11bbe0a1295bdd29ee83c7b8fee3cbcbc03be6f04b6bd39ddeb3cf238953cb37cc6bdb0bcb5bd9c77b43cf5210c3c1ddd79bd8a50a2bd7ac09d3ce29fa33b49c2d8bc6c0a5fbd1b0c193c0b60ed3a5e50b2bb421edcbcdd7dd13b90044e3b79593c3ccc0c8bbb5ccbca3ad52848be68aa8e3fabee533e7f984cbd82c255be994a8b3f3f4a6b3ee41571bd447335be7610733f0929813e3b5980bd861b03be44233d3faae4863eb43a71bd8418abbd9dac043f9271803e869039bd3b4b03bd4ef6993e088c5c3eaf6421bd6099a73b15ede83d3b5c1e3e5d62adbcbe57dd3cf2d0e3bb7f8b933d89f00ebca2f0043d15f4a9bdbf5ca33b1d34a6bb07ba003db2ac5dbdb47599bcc43dad3b6c1b1b3dc8cec1bdfd069fbddb8ba73c9a4d003de111d2bd4d8be8bd351ede3c3b02be3c06ccb4bdb72c01be7c71bf3cf4464b3ce07e86bd78adf4bddcbf993c2fb6bd3bf7b618bdfeadc9bd0e0b533c5827363b137782bcafb084bd255ef63b941e6dba3529333aa6fa02bd6617aa3bb0fa9f3bd87e623ca39171bbc7a11e3b313643be7166733fa04adc3e44a7d5bd15823fbe0dbb613ffbd4ee3ecbd4e5bd58421cbe8f71403f495ef23ee422d9bdcb5fe1bde981123f1f54e63e90ebb2bd3d1b80bd33a6c33e6f9acc3ede2093bde10aaebc85d75b3e87c39c3e122b3dbdee3bbe3b8586b03dfc1c433e69e0b0bcf15ab43ca7be88bbbc039c3d6f70d3bbeb4cc63cd46b8bbdd2cd89bc0c3b2bb92867b83cddef01bd689735bdf1c4313c9770d83c4f7355bd0a0ce7bdc843b53c08afc53c53a179bd3bde17be36e6be3c905b913c22c146bdf27f21be89a0823c742e0e3c4f350abd416508be82f1b63bd0ebbf3bd0d9bebc28c8e2bdafa7dc3bd0706c3ba479f7bb093b8ebd9617483bab5f5e3bc40c8c3b0a9e0cbd9f1aeb3a24de353bff67403c7badeabb567eea3bdd551fbe5c8d363fa8ef2f3f604a21beee5114beef3c253f2583363ff89b21be4805edbd54dc073f4b50323f45500fbe43f196bd4027c53e375e223f3637eabd470621bde604803e471e033f0e0792bd1e7643bcd99b143eea62bf3e98df40bd2bc0833b9847753d4ed8543eee4d60bc00475a3c2570873acb9f8f3d8686dd39f3fd933c1c5233bd4bf609bde8167cba7936313ce22c0bbb751b8bbd22f7763cc478853c0fd45fbc5d3b14be3991d13c274c623c853a9abc2f4d38beffe69b3c6d48213c694893bc5a4135be4d91313c5039de3b772e6cbc67a41dbe773c333b4a13833b9e3930bcfc6af1bd130b4e3a56c50d3b64efcebb475d90bd9323a2bacb35c23ac1f86bb9c2df04bd4888b43add25353991a2263ce319a2bbd387673b4e28d0bdad02e93e34e66d3fac6248bedfb8c4bd6fbacc3ef0ec6f3fc4353fbe5d3e8cbd35cf9e3ecfef633ff21624be2d0328bde1ed5d3e5f23463f0a16e9bd592e8cbc694c0f3e41d51c3f96ae97bd4dffebbb021cb93df4bed23e228301bdd944eb3a11b1543d19215e3e190db0bb00b1ec3b965c8d3c95c7633d4bcd503ca557033c4a8867bcf0cc65bd842a063baacee639fe10b53cc625afbdfe20b93cf95e813bc8378b3cd7dd2bbe1063ce3c7392c13b8a55343cc8a84bbe029e623cd62d8b3be8718d3b792643be1f88823be16ef73a23ce05bb9fa420be881ee4bbc47fb239214d66bb39aaf1bd8cd89bbba2a82c3bf5b15cbb1fe18fbdf46fd7bb7e597eb853cbe5ba8c6de5bc9b3a3abb1804293b9c90b33bf03466bb51d9763b784653bdb3e7693e0bca8c3f3f274bbe4db234bdc3bc303e17da8f3fd30f44be6073d3bcf730eb3d3b7a853fada21abe774c3abc9a32a03d4f8b603fd7ddcfbd12c1dfba28664e3d1a332b3fa6e750bdc50286b992f73e3deed1e03ee6b48ebc3a229f399339123de8865d3e84525e3cda1cf7ba6eb0ed3c83a4223d93bcb33c2443fcba7cbaf93b77058abdb048273c8b8889bbf3ab253d1bd707be9335113d62b88fbbf12b1e3d8a4130be1a35f03c773e7a3b5927db3c74f055beae90483c6819853b9f058e3c904948be6f58d5390699893b91c50c3c01e624beaab958bc12032a3b654074bae946ebbd606c78bc493efa3a3329a8bbb16584bdcd362bbc4d35833910f895bb5f0be1bcce6212bc10d83fbba0fc113b13c4123c6b78a23b19c0c7bb793987bab0c6ab3fc3875dbe6e3ad8bb42bb6e3c0afa963f33ec14be5769af3a0066abbcebd48e3f3fa6e8bdc334063c2f2cc3bce0b36a3fff607cbd18fb423ca5ba90bc9f752f3f09f441bc213d013c5ff0ac3b0c31e23e7044873c8a1ab93a5fd3d03cbb7e563ee600103ddda5dabb1c71103db12d293dd56e1b3da8724cbb9e61f63c5f1dfcbde6778b3c00000000000000000000000000000000503865bbbe974a3d6f0354be9b64b73c03349c3af798e73c872c3cbe8c5eafbbfc96b73ad268973cb6dc31be259acdbc0c7c3ebadaaa0f3c19ee0bbeb21fedbcf72cf4ba642a4d39dedbbbbdd223d9bc645c90ba87f4abbb892c4cbd328bb3bce46929bb1fed91bbda0939bc8b44f7bb0000000000000000000000000000000000000000000000000000803f00000000ca07d13cd8b522be3342ac3f557fe1bdbf0ea73cfec7e6bdafae8b3f97a7debc39deb53c0595c9bdac68693fc7a8933c1162b93cb4d78fbde5b22a3fe84c493df950903c8372ffbc8949d33e51a37e3de306ab3b1183853b91bb4b3ec53e7f3d07198cba105b083db26330bc4186353d0000000000000000000000000000000000000000000000000000000000000000a9b5873d5b5d45be29d19bbc13030c3d3989513d113b1abe467b89bd4973473de5c2173d83e8f1bd57a7c1bd1287273d18cac63cee34a2bd413ebdbdde2dea3cc81f343cbebe32bd052a8cbdec235a3c3b5b2c3b76c5a2bc5aff21bd8b22e53a1c2ef0ba8a6a86bb2ba20bbce8f82bb800000000000000000000000000000000000000000000803f0000000000000000e8f942bef843ae3fad9dcfbdf951ecbae34735be4b818a3f90964a3d5a2b39bdd24529be3d7f5a3f8994193e946b83bd50e404bef44a153f2f61503eb9508bbd92819bbd6083a53ebdda4c3e34025abd12d3abbc074bff3d99c41c3e528be9bcecbeca3cb32f0dbda120813d19cff7bb00000000000000000000000000000000453a623d9b8509be2da5bb3c5708053ce711843dd42616bef5779bbc63cfda3c3d02693dc5de11bed0c5a0bd7d432e3d259b2a3d3524d2bd5665d0bdfb500f3d92dfcb3c756781bdc096c4bd9d948a3c5cb3373ced4916bd105a91bd1573913be805df3af17e85bcf12c1bbdd4a925bb4eafc3bad76406bc0d1198bc66e23c3b84a79bbb5974823bc5055d3c5debfc3bb82756be5a60ad3f0f29eebcde93cabb3f7c56bef4ca933f81faaf3d3b2e1abda3db54be07fc803f1a683f3ebf199abdb5072cbe960f3d3f43908d3e5caab3bd1b83eabd0fa1f03ecb0a9f3ebad9a5bd1bff53bd0cad7a3e4e8e8d3ea70b6fbd6524543b09bb8d3d82403e3efbd9efbc3b0f043df7ec87bc3797b43d9fe020bc18f7653d4874f1bd00f58ebcb118af3b627c303ddb0daebde212643b103f4e3c76f9633db767f1bda70064bddbf2023d0d9d4d3d5ad9d1bdca1dd9bdf6a3153d1898043d61ec88bd1b11f2bd8740ac3c68c49c3ccf201abd3c58cfbdb00ecdba2082ec3b3efda3bc37ef92bdc0631bbc2bea623b390b34bcb94d15bd0f6e33bc065dbd3a5e5f08bcbc213abcdee4eeb9f8ceb7ba76104dbb47d0253c0dcdf83b830e50becf548f3f12df523e6f826cbd252166be52c4843f2903953e686cb5bd22534fbe5f5c553f0f16c83ec82edebd9d1311be7990123f8d6fe43e5d2fe2bd91ceafbd7be3ab3e5996dd3e96eba2bdf2bcbebc1188143e0a52b43efafb53bd2e176d3cc46fc93c4f985b3e3e116cbc38061e3dc5af23bd3fffad3dacbcbc3a3c93433db05995bd7dbbd7bc3ca4fd3bd0ec0b3d9e7d87bdb6cfb7bc8b0baf3ca8ea323d56649ebdbafeb3bd7ef7013d9539063d3c4f65bda7bc03be9629cd3c9706ab3c9d8902bd0a8605beb886f83addfa2b3c006e55bc5734dbbda29092bc47e3833b49ebfebbd4418dbd4a7ad2bc94a0343b3665f4bb40ce12bd8eda8ebc7ca62e3b24c10dbcd4ea2abc7d20a3bbead7cd3a2213cebbd0502b3c53bc183cb4a54cbe9146733ff85ce13e54f9eebdf5d74cbe11ae523f278a073f122e0fbed3c91fbe0ba71c3f9c3b1c3f444417be45e4cbbd60a1c33e7f371e3f9efff0bdc31a24bda83e3a3e3e3d0e3fa47eabbd32031b3bb583763d0139d03ed09611bdbb36df3cea2221bcf5cc6f3eb5d5963a93201d3d978316bd8e949d3dfc8f5f3ca97b243d6c9265bdc1b83dbd42953f3cf360d43c33bc2bbdbd653abdc807de3c0584da3c7a1010bdd51ee6bdad4cdc3ce813aa3c30119abc0e8513be9c18da3b28a13a3c2fc919bb6c0008bec9939ebc9635c03b5c388d3be88bbebd918838bd4f9b473a21380d3b0d5383bd2c251fbd3631063b8a0859bb7aebf6bc0299e5bc937b453bce4212bc6fea0ebc380115bccc6dfe3af1b50ebc0980233cb98b113cf51428be8a24373f5ddd303f968630be39711abe1146133f35aa453fc0c136be0afed9bdc863c43edb03513f8cd722be93f045bddbaa463e2c65443f8f03efbd581daabc4d30943d61e51c3fd4b61bbdcb33af3caee54ebcafe9e53ef35957bc619c003d149fe8bc60a1693ef08fdb3cd814013d000ad3bc3fe77f3d9b9ff43cfc21073d134905bd33586fbd87791b3ceba6703c98db6bbcb72f8fbd6325eb3cfe47323cee01a63a721c09bef024ba3c67d70a3c1358293c24b41abe658235bc0bfcc53b5f9c4e3c51c802be05052dbda849323bbbe8483cc895c6bdc93265bdfab6143bd01b833b17d577bd214752bd9c28f33a238561bba85204bdd2590abdc9808f3b78741fbcda2905bce10c64bc8358493be2fb19bc6cbdee3b4178063c0ce9e4bd62ebec3e15336e3ff8b352be183bb3bd3f19a73ecff67c3f93b74cbed0ad38bdaebc2d3e13847a3f315620be8dc0e8bb354c4a3d014e5b3fe24fadbd3386c43c4bea0abd4de62e3f4e5ec0bca292053d9cf43fbd3a92e53eb408d23ca302073dd948fbbc3327653ea57e463d0e34c93c745532bcd46f4d3ddda1243ddc3aa33c8a49fbbb15e999bd3d664d3cd839ef3ad5fd303ce918a9bd2550073d760309ba9d25d53c143215becb963c3c498db4b89ee4fc3cfeaa19bec66deabc3fee1c3abaa5d33c154801be382268bda7cfbb381ce8a73c764bb7bda61e90bdea972cba3b08d43bd7b85cbd9dfe80bdda09323bd1c891bba03be2bc5a772abdb140a13bce7e39bc422d0cbc260a84bc16ab283b1a4e0cbcb81f313b3987bb3b896460bdc9be663ef9008e3f15eb59be0ce0edbc6981db3d705e933f639740bec2bc073be9e836bbabf58a3f73f2fabdb6aacc3cd3368fbd18736a3fdd3c38bd38d01c3d618bc3bd720a2f3fb91aea3c7b9a2e3d972197bdde0de33e1a317e3df0b2ea3c9defffbc296e533e5309963de3286d3c8046cf3b91ecf33c9d724e3dff03b03b5f239a3c7a069ebdc6b7343c54f1d7bb32350e3de76ffabd166d0f3dc5033fbc0e11343d7c4213bec02ecc3bb4a9b8bbee07333da1b91bbe487222bd433c8fbb7727163dcdacf1bd8dcf92bd054a4fbb72c5b23c8a63a0bd52e7aabd1da2b6b953648a3bb45438bdc8b39bbdc700d53a4702b0bbaab0bebcaa4442bd50858e3ba0a12fbce13415bc1f2eccbc2bd0a33a3e5111bcc8d6973ba283433c8ce670bb45811bbc2736ac3f8e3a61be35eca93c136f64bdfb6c9a3faa910abec9221c3d80170cbe5ad9923fd94391bd75144f3dea081ebe95936b3f65b7a33c92e9583d582b0cbe1de92a3fed15b73ddea6343d86fcaabd36e3d23ead04e33d427dd03c020da8bc027a373e5d57ca3d1774203bad99c03c2505d53c46448c3d8f51c2bb2ea7313d2354edbd1475e13b0000000000000000000000000000000007a654bce3597d3d254630be8ed04dbc480b29bcb807493da5daf9bd02af8ebd7e9d9ebb04bc023d3065bbbd6011cdbd4d1370bb0712a83c7a2962bd4f8bd7bdf70cadbaa82dac3b48e7e7bc05c7aebd5ee1c33afa9fb0bbdc9257bcfc3160bdef2f433b550326bc04fd35bb62fc86bc0000000000000000000000000000000000000000000000000000803f000000003a7c633dc16b6cbe7958af3f9654b9bd2d99803d3cf363bedce48c3f621d1a3d2f9d823d8b1e4fbe4c735f3fbb06fc3d3add743d23ce26be00571b3f1ff52b3ec6db353da3e9c2bd680bb33ee0402e3e6089b23cda6abcbc383c173e1f48083ef09d7b3aa41efb3c829ad5bc727c823d00000000000000000000000000000000000000000000000000000000000000000f6b803dd52eedbd3cf2d4bda5d74a3d2449473d544e61bddd2618be067a213d3134063d5b1ea7bccbc018beafd86b3ca0a7913ce9802e3c203ff1bd46875fbc0dd7243b57d0cc3cbe2f91bd8beb11bd726383bbd62a863c25bcc7bc894213bdb28bcebb6f6ede3bdff52d3cbc57bbbc00000000000000000000000000000000000000000000803f0000000000000000bbdb5dbe10a5ae3f7abfd8bc86172cbde70159befd4b863f28d52e3e493496bddbf840be2d5b413f28879c3e4dd1a6bd3cc01cbe2984ee3ec289b33e029b74bd55f1cbbd9547653ec932a03e27dde0bc227712bd0646543d4a14563e553c493bd3e8353ce53381bdb215843d2892d03c0000000000000000000000000000000001c53b3dbd34cbbd64a419bd1b61223d55965e3d66f38fbdcbe8cebd3ce12d3d5873243dad9cc1bc231322be7934ec3c01b7b33c32b8483c45e213bee0abc0bb61a77b3ba804063d8cefd1bdbe4d1ebdaafba6bb4935f63c25d949bd621a67bd4414b9bbf20e513c592b22bca9613cbd3506e9b9ea012bbc2a7d623b56183ebc18da9abbf9d116bcdb0ed93c7b620d391ee953bea9dcae3fdabfdc3a138c24bd0d1685be03179b3f43d3f63de4d75abd57e976bef1b36f3f6563ab3e90cad2bde07644be079f1b3f67d3e83e845ccbbd6de203be689aa33ea08df03e7c4c82bd5f9a82bdc748d73deca1c83eb7c5cdbcfc088bbb0abda8bc263b743e02fc2f3ccddc083d56763bbd3c3e913dea6cd03cd594453da0fcb9bd53a88abd5569013df25f0b3d69cb58bd670b4bbdcd3a233d4711283d13871ebdf162f8bd6f6e1b3da450f33cd61290ba40971bbe4b13153c54714e3c7f6bd53c033c00be5265fdbcfcffcd3a68ac093d0e66a2bddb8577bd993388bbe9f7bc3c1836f1bcf54892bdda507ebb6db7d13b3331853b245762bd3c902cbaa9381dbce4773a3c7c1d98bcf04d66b9605b94bc32b8b23c276ed83b0e2452be3659903fd623753e1b61b6bdb5367cbee591813ff8f4bc3e68b7debd4dff5abe96983b3f0281063f75c6f3bdb3ae1fbe3ba8dc3ea852173fd9e0bbbddaa4c9bda0954b3e81ca083f5a0313bd16ac0abdf8b6cf3cd234d73ea7968c3bfe1b753bd5b11cbd70d0613e8f0d2f3dae7eff3c6fa234bd44fd323da1c3363d6ab92b3d58b719bdb6b3adbdb0b9fc3cc503df3cd03d13bd449193bd185b313dbd91fa3c53790fbc345908beb3cfdf3c728e843cc823cb3cab5711be88c95fbc0542803b2488173dcc24d4bd62036abdc1b4c3bbf91e173d22e34dbd31deaebd3256b7bbf5f9913c65a526bc9459b0bd890087bbbab3023a63af633c52bd7abd8a2ae0b5875268bcea05983cd697abbc25abf4ba68d285bc729abd3c2050a23bdec843be365b6e3f7832fb3ed1b714bedb635dbee55c473f65db1d3f314120be3e7c30be51c4013f9367393f996508befbafe5bdb517803ef146373f2bc39dbde83e62bdf3a15a3d6e5c1d3fdbac3fbc1a7bfabb44a524bdc17adc3e39d11b3d7db4ba3c5e9d80bda230573e24e9893d0418063d8add0abd5206853ca7e0803dc45b193d0c57c7bc6e9cd3bd9f1c163d5a81b53cf67f9dbcc335a8bdcee7253d26238f3cb4bb883c479a08beef46483cb97eda3bd7091f3d6fc3fdbd184f20bd69e584bb3a1d2d3d5e1b99bd61b5aebd09b927bb26c5fa3c64ac0cbdc237c4bd7f21f3bb47f5683ca281253c2ed9c9bde6724fbbdc3c7fbb8aa6c13c960787bdd93838b9111777bc98eaa63c0e12c7bc8f9403ba65698abc296a973c834fdd3bbd3928be17e7333f54af3b3f83d441be6d9029be13e8053f7f6b593fae3938bedc7af8bd5ab0923ebf4d633fccf5f9bdc39186bd3b58a43d117a503f599b3cbdd25b31bd8e8381394159183fc6e74b3deeae6a3cb694c6bd86fcd83ebba1a13d1f8fe13c01fe8ebde722363ef75dcc3dc550fe3c0201afbca7f8cdbbc8219a3d9069fd3cd3061aba7784edbdabd70a3d63a0633c34a3d9b98d21b7bd7bdd093dbfdac93be911023dfafe00be2c6ac1bb42aaefba7df2363d1579cdbdaf6183bd4931b4bb30c2133d717451bd2eedd1bdd7fe07bc04b9cf3cffb195bb11d3f5bd9a47a7bb378eb73b5c2ca73cfa8cd5bdcaf940bb27ccf7bbc9b1db3c51078abd8ea33dbaaed759bc1389923c274dc6bc97877e39025484bc5824663c12be083c7290f9bdb8ccea3ef34c763f244d5abefc0ecfbd36268a3e960b873f9b8644beaf377fbdb8d6a23d0cc3823f738ad5bd0b20abbc173d55bdaee95c3f27808fbb8eaa3f3c9a3003be3ff5253fd03ba03dc247f23cfe55f2bda3c5c93e186cf63d9dd00e3d6c7089bd7e78193e0945f93d1e44d33c885e81bb4b1dccbc835eac3d5956ac3ccd65963cd86af6bdcc70d63c22d38a3bfeba723cf004b8bd8134e93c55473abb12e0333da3f9ecbd9ea5d5bcc0e499bb86dc3a3daf2aa3bd08d4b0bdebdef3bbff24073d0e7be9bc8fdafbbd2796d7bb89a5993c886cc43b1461ffbdac5abfbbf077bf3a4e55fa3cdf23ddbd4d06fabaa7d62abc21b1f43cada48abd87d3063a9f894fbca47e853cb8fac5bc5a12c33a17aa47bc9c45a33b2255343c140d85bd63915e3e162b933f69f461be7f9615bd07e1153d12a69b3fb7e231be368eacbca36994bdcc848b3f390a55bd69357d3cebde24be9158633fffc8473dac51e63c29ef27be740a1d3f0d78093eb8d2303d3b970bbec845b73e664f233e88580c3d1fa67abd7f4efb3d3f2e123ecab7823c05ea163c2e6217bd0112b03d4111063c2958183d1a08eabdcbc59d3c74860f3b010ed83c7ce2ddbd86be753c38bf41bc04b7483d5985c6bdd6c234bd92d627bccadf313d3b455fbdcd76e0bd6a251dbce215dc3cbc7bb3bb403a0ebe95130bbce0a12d3cda61e33c39b80cbe7b526cbb9eb409bcb8e11e3d7e9de0bdebb9343ae04f80bcf4d9ff3c3e3687bde90be539e75108bc3fa6073cabc1bdbcae228eb90fb411bc2efeda3a7f44723cf6d7b2bc07c332bcd08caf3f470855be6c48ea3c102125be567da73f3e960cbeb40c0e3d4d1f69be3062923f06608a3be6b73e3d660872beceb65c3fe1c6013ed2cd653deb0a54bea317113f9a654b3ee86b543dabff05be81e0973e9c2f563e6167f93c970820bd97e39d3d1eb62a3eb53e703b758b033defb63fbde551b63d0473163adf31553d477f07bec776323b000000000000000000000000000000008272c6bbb62b473db463c5bdc35c90bd15f353bc42243c3d0b440bbd8261fbbd06383abc9667ef3c8d2b423bf1ab13be79d617bcf330453c3b5b013db57e0dbe1ac4bdbb309a94bb92542c3d7e60debde14ad3b72a4963bc8494e33c1a8e7fbdd3bee339e00246bc278b383c3d7164bc0000000000000000000000000000000000000000000000000000803f0000000009370c3d6bff88bec3afaf3f044029bdc31a4b3d040594bec8808a3f2d22ce3d10145f3d87cb88bef5154d3fcdcb503e7b79783d0e9c63be4b7d043fcfb87c3e10ed5b3d81ef11be3294873eea946d3e1a4d063def7135bd86868c3d8fca2f3e75f8223cb701e03cf78d92bd96729d3d0000000000000000000000000000000000000000000000000000000000000000912bfebc77e294bd5f3321bbd373003b932becbc129c8cbd3fb55bbb34d98f3b9996d4bc28846dbd2aa1acbb15e4963b313ba8bc36e44cbd292aebbbbebd803b02e769bc4cb329bd3aa00cbc1d28023bc245dcbb430902bdac0820bc6c9370ba8860863adfa3a6bc73d71dbc0e6778bb00000000000000000000000000000000000000000000803f0000000000000000da5fc4bc489b8c3f798456bcd235afbb68726cbc285f6a3f7b962439e2e417bbd90b45bc67d73d3ffa28bc3b688a6139cac469bce0d0123fe55be63bf7e5f1bac9b69ebcac47d33e3ef2c23bdb2b48bb8e39d7bc62d6823e72b4fe3a508db2bbc77013bd1b0dd13ddab188bb89b903bc000000000000000000000000000000001c2ecebc5cd647bd911817b87ae7ebba8a2c01bd08c7aebdb79991bbb375f93ac7b300bdb74caebd133b03bc4c7dce3bc176e5bc45ef9cbd820927bcfafbd83b91ffabbc53a17bbdca493dbce09bae3bc29062bc28c056bd4b9059bcc389463b8e83a0bbe20f22bd21656abcb859003abbf8d33b5315acbc2dfb25bc620904bb21ce0a3c885cc5bb5de5c2bbb37e8ebb357750bdc73e8c3f8819e33d8097b0bcc69271bdc403853fd7abdc3daf469abc760523bd23c25f3f95d4d63d99b44ebcc5e708bde3c9343f12fac03d8d0e1abcb9eefdbc5e49093f75e29e3d28d7fabb13e015bd6cc2c43e695a713dd82b1abcb5bc29bdd2256f3e92da193dad7331bc73f53ebde9e2b43da00c5f3c291944bcb1631cbdb2c8e9bc3e02b7bb4adf39bc9bb4b2bcc90b10bd47fbc33a7d02bab9b6b8ddbcb32d8abddd8cd0bba206d23b5a77babc7e7b84bd78c234bcc866f93b16ceb5bc43178cbdec676ebcb522143c103f88bcefd454bdda8f61bc8f2be13b1f5523bc98cf45bd76f887bcdb02973b870e37bb1e3903bd5d825fbc3c9df23aeac1b03b95aea1bc93432dbca5f1f9ba8b52e73b9a31b0bb56d9c2bb876bb1ba91b15ebdaa066b3f493d863e14c4f3bc92c784bdc511613f0da5803e258d01bd09a638bdc7e9383f1fd7673e846d9ebcd7fa35bdd7681c3f7801463e96a081bcdf6e16bd1f06eb3ec5631c3eb8be36bc1bc82cbd57ebaa3ebdf8ee3dd3b151bc4bb924bd6b21523ef72b9a3d6eba39bc8e2b3bbdc120a73d8a63133d8c7665bc545604bd5600a4bcba3d3338ef871ebc1e718fbc254fe9bcf2beba39dd83843b2862bdbc866169bdc8ac1bbc4801373ce91aa5bc0f9585bdfa5b8fbcdb6b5c3ce07b8bbcab3977bd9e9da4bcd6164e3c175556bc423a54bd3389a3bcdc70283ce29df6bb014b30bd60c89dbc86e9f43b8224e7bafe2801bd73fc87bc7d96783b7621733b0e1d94bc349d39bc78b0ae3aea5a923b342692bbc42f9bbbe0afe0b964f444bddfe03e3f4823d73e506f0fbdc3757cbdd652363fe33ece3e25a21dbdc5b855bdb14d1d3fd12ab63e21b9dabc59d138bdb235003fcdf1983ea72999bccb6029bd7bf5c43e5a45733e8b9063bc6fb62bbda7ec8c3e4332353e8fad50bc207d2cbd50322c3e6eddeb3da1094bbc9c7326bda3488a3d6389643dfa4340bc3e63e5bc1b0576bc87c2da3ae10e0abca00871bc2e02e3bc087cb9ba12ea313c15c094bc0ed94fbd9bef6bbc975a733c798b7bbc1f765abdc44ec3bc9662853c349065bc31d061bd6293e4bcc7ed943c096506bc7bf513bde2249cbc7ed2263cb5a8b3bbcbf41bbdf09fb4bcba4b283c8eba2cbacd03cdbc5da498bc07d3713b3c56473b33e879bc3d393bbc474c4e3b30d6523b9ab164bb137087bb14fb8c3aeb703bbd9976143f1d5a153f66b01ebdf01759bd7bee0b3f3a5f0e3f3f982abd9a672dbd797fef3e6495f63e0d46d1bcca402ebd315cc63ec13cd03e65a2a8bc2447eebc5273933ee1919b3e390d1cbc88a61dbd5a8d5b3eb912733e9a7426bc7f550cbd20e2033ec434193eabe610bc0e6a05bd4c364c3dbcf7933de9800ebc52b9aebc21027fbc4453113a6295cabb4b5825bce00de6bcc7aaf0bbaf97533c70aa34bc2cd047bda80ddbbc5ac9a53c201026bc18fe5ebdb21f16bd1233af3ca8cc02bc82df4ebdff7c17bdd63c993cfd3dcfbb95c72ebd79c105bdff37713c2e604dbb69a80dbd98deecbc5926213c7a40feb5f596ccbc4ce1aebcd5a8af3bc9e15f3b62fe51bcca8b58bca3cd5a3b886b933b61129bbb7c0b56bbf9a52f3adf521dbd9e53d63eeef83f3f451c2ebd40c042bd7236c93e40b7383fbfaa41bd228a28bd8c6cae3e9d7e203f0c4bf0bc06d314bdeb4b8f3e774b043f43f599bcc50006bd0abb5c3e9c22ce3e718c33bcb10201bd009e1b3ed5d9963e7fb215bc4481f7bcc174b43dc34a403e1258dbbb13b6d8bc9488ea3cb63bb43d95caf2bb449c85bc1fac97bc7eca5e3a06d88cbb3c9ce4bb745bf5bc48078bbc604c943c7f098bbbc44347bd6fac30bd51a1ad3cd8ba78bb36d23abd06db38bd1892a13cdbd690bb2c8243bd41374cbd59c0973cca5c52bba1ef11bdff461dbd6a12563c12098abae95dfebcd41414bdb4a8193cde7e9639a4ef9dbc8693ccbc7f2ea33b9663573b2cb718bc71047cbc23be2d3b2a155c3baed171b9d1628fbb28eaea3aff02f7bc1fe1843ecaf26b3fb61743bd2b891dbd5014783e6860633fccab45bdf12af2bc3002593ed8a13b3fb851babc70d6e9bccafb313e0f76203fb4a062bceda7bfbc87ac063e9afef13ea9e2a3bbb3c5c8bc5469b83d53ffb23e766a8bbbaf81a7bc21514e3d0529613e8abb89bb1fb297bc357bcb3be269c73d3aaebdbb807e33bc38ffbcbca51291bbe3421dbb8ce70b3b73080fbdeb7913bd3e658f3c0b07823b437a3cbd142190bd82d89a3c1fbccd3a1af73ebd8b3b96bdae1b893cf54aeeb84ac82bbd253885bd47077f3cec23e0b995e806bd52fc56bdf2d6243c21e9853a8c47d3bc8d223abded7dac3b5077f63a9b8282bcae770bbd6fb0a03a226c913b485397bb1adb9bbccb0211ba27d1113b4c52123b5ebb8bbb6dd4dcb9adf8b5bc8801dd3d2bda8c3f437631bd4d0abfbc10d1c63d6485853f19fc23bd1356a3bc28f6b73ddd3f623fb4cd4dbca63e96bc1dcd973d173f373fffee56babf7285bccd8a613d34be0b3f1eb6973b50c778bc37b9033d12d1c93e3ce08f3b9a3f55bc1db5043c7445783e345a843a132f17bc03df7cbce7b0c83d268b57bb1bddb1bb6695e5bce23fa5bc45c390bb00000000000000000000000000000000c7b0803bc2811abdabb68cbdf9b17c3c3b28123b07f707bd36e683bd77153f3c0f1292b8271beebcdd6464bd78a70a3c4b77773a7a98c1bc8bcf3fbd77e9833bff9cd03959ca8bbcf4e91fbd27468cb9742fac3adc5321bc2912f8bcc46557bbd919d13a439f17bb96b99ebc65e99fbb0000000000000000000000000000000000000000000000000000803f00000000e3570ebcb595b2bc4a338d3f5bd6dabbaa4bfdbb42ba4abcf2a16b3f439fdd3bd867fabb43311abc901f3f3f1e5c563ccfdff9bb51582dbcb159143f38bd5e3c2d7ce7bbe8d16cbca0dad43ef9ec313cda14afbb01d2a1bc315a843e9f67cc3bcc9f4bbbac18e4bc86c7d53d00b8a2b90000000000000000000000000000000000000000000000000000000000000000870e74bdce3b0abd7a40203c805c113cc5c15abde37d15bd0ceae53b536b1c3ce3c943bdf1a714bdd129ad3b55ea0a3c29441dbd13f606bd91ee3b3b7c24f03bb090fdbc8bdb04bd01b3d3ba8e54b23b4603a5bca1ace8bc9d108ebbab27f43a98f819bcc220c1bc3af7f5bb0dc12abb00000000000000000000000000000000000000000000803f0000000000000000ad52df3bb6dc7e3f5b1a0f3c243aa0bb4132623b6593573f6c67863c013bde392c714bbae611323f9036a73ce7fecd3ae1facabb80f40b3fcbe1983c18d63e3b116e6dbc2d18cf3efae08f3c6e32123aba35b4bce2c0853e2110573c75c292394e8cfdbc8dabf33d2f07e83b1edae0ba00000000000000000000000000000000880f50bda3edb0bc56db223c86b9913b301689bdb6e128bd9ad3173c0816133cf14a84bdcab642bdd5f9d93b0031433c01cc6ebd424446bd0697613bec04443c98223bbd75ea32bddef9213ab566273c905514bddd2c2bbd23939dbbcaa8ce3b9107b7bc3ab912bd99c7ffbb63d80f3bd629debb276fdbbc2a7922bc8aae3dbb18fda63a002271bc2f8709bcac3098bbc23a6dbb56227d3fe731063ec81f60bc464fc1bb1f65683fce78033ec85229bc044dcebb4d6f463ff9a3f83dc0074bbbcc332fbca956233f05ebde3d08d8b139e8778bbc5789fe3ec2a5b93d3a583c3bdde3cfbce9a7bb3e54c8933d68ca733b983a05bd9dde6d3ebe894c3dd1163cb9593921bd7a6bd13dfe13d53cf1e276bb28d103bd782870bc9656803b5ca174bb12dc30bdaecda5bc2949263c47d6d23b9ca674bd86a11ebd33ce153c5f4a3e3cbca84fbdde0d26bd2d65563bae6e4e3c60a656bdcbdd44bd1456283ae1fe613cc87020bd432f26bd852017bb868f333c365b03bdfb4628bd037fe6bbb4eaf63b6d2b91bcc9a6f4bcfbf5ffbbfc12563b79bde8bb0924ddbce4f22fbc39a84bba8349e03a627c51bc86dcfbbb82d621bbf61547bc0423573fefda893e3ffb78bcc62483bc18b9463f54a4823eba0b4ebca69f62bc0c1f263f7194673e339b4bbbd92a9fbc2b920c3f98c94b3ecc758c3a6bc8b4bcc25cd93e5ea7233e34e0423bd602f5bcf487a03e0253013e4b3f753bc55eedbcfc054b3efb2cac3d05634a3bb3021bbd5246b13d88e73d3d2a025d399cdff4bcd2e34ebc7669e13b7840bbb9b4f411bd65e4b2bc0cec2f3cfd58193cf7e458bd17171ebd44e1063c2d987a3cc2914dbd347f39bdd9e0fe3a56e1873c47ac37bdaa3d3ebda0104bbbf98d7c3c6a0914bd7c6a2dbd2cb2d5bb5926483c09f8dfbcfa1422bd6a7322bc2551143ceb207fbc727209bd00a340bcc6aa9a3bac73a2bb6694c5bc91c53dbca6fe6b3afaa3983a84bf47bccce2f0bb0c2537ba02ef89bc9a65313fa4c8d13ed7e864bccf00b4bc5ed4233ff84bc53e23ef2fbc3c73b3bcf1840c3fd15cae3e6a8cb6ba6bbac4bc10fae73e3a9a943eebf08b3b51b5d6bc10d5b43e9c01703ef98cf23ba93900bdedc9833ee1ac383e6827f73b2dee0cbd7a15253ea145fb3d24b5e23b7b3f0fbd32af8a3d5fa7853d0f28943b6f18c7bc26d254bca8c7e73b81063f3b128c02bd7834c9bc4263373c20df623ce3ce2cbd207221bdf7bca13b1dc0923c8cca1ebd3a6a2abdc43d14bbdd938d3c02d419bd58cf3abd8468f6bb126a8a3cd6b7c8bc777504bdcbdf02bcf54e2c3cd642b6bc4ab31abde08656bc7882223c23534abc1eebe8bcecc34ebc07b8a93b09da3dbbfa94b1bc76464bbc9b4d053bceb26b3b203338bc76a01ebc84e211bb08ac92bc0bc70c3fd9c80d3f6ec461bcb251cabcd595003f7cc0033f1e35dabb7570b7bca7f5da3ee56be43e707e563b1aa1d6bcb771b63e45cdc33ea13d113cb495abbcd0f28a3e4c96963e4ff41f3c6794f9bcb9f74c3e94256f3e826f493ce859eebc7db7fb3da2691e3ecbcb293cfc8ffdbc4a0f443d37a3a83db86d103c0123b0bcf33f7fbc82612f3c225eae3b6cb7c4bc08facfbccc38f13b4240733cd7d00abda80b2ebd2fc29ab854f6ac3ce3a00abd516d40bd8b1f00bc6505ad3cdcd0f2bc8e4e39bdd6125bbc7a91933cdab6c9bcda2921bd57ac7cbc342c623cf02186bc4c9112bda60c90bcdd3e1c3ccbe809bc8cf2e7bcaf828cbcf664a83b706b51ba88049dbc397371bcd405053b5bdf7c3b407717bc0c0b0dbcac6768395a0d9dbc45a4cf3e3122323fa2a60ebc15ebdbbcc8f8bd3e2288263fb96d0cbbf8d5ddbc880fa33ecf10113f724d163cffb0ddbc6ac9853e9462f33e23676c3c29d2dabc37994e3e9073c13e69d9883cf72deebc7c37123e9e13923efe98873c53f2efbc8c25ab3d86fc423e821d733c5cace2bc65d9d53c7bb1c73d3296473cb5f494bc780e99bc0a1c023c2160063c9ece94bc2a16f5bc3bf76d3b6276903c8690c5bca9e93ebd49d9f5bb1136c03c18f6b0bc052d28bd16e577bc4bd3913cd303b0bc2b7232bd7438afbc75f78f3c986092bcc6eb0fbd845ca6bc5374573c63f033bc10600abd8201bfbcc6f8093c7a8e7cbb8fdfbdbc1aad9abc96556e3baae7743b84b685bc26f58ebce0f6223a1cb4d13bdcb6dbbbdb6319bc718c1cbabc65acbc5bd9873ec107583f3a9e86bb4305dbbcc8af753e483d493fe0f6be3baa93b0bc2e27513e0e8d283f9aa26e3c0f4ddbbc16c22a3eb3df103fb3dcb33c5d25c2bce4b5003e0948e23e3d47b43cfd53ddbc879cae3d06b4ab3e151db73c40ffbdbceb6b423d9db25f3ead1c893c0ddec1bcafbd833b9f19e03d25526d3cc1a378bcc9cdbcbceaab853b1c53123c5b0844bc68a808bddcc09dbbb75d9e3caea86ebc30293cbd9c3ea6bc62cdb63c36357bbc9edc39bdc7e5e2bc8d589a3c1aaf81bc54452dbdd423fdbc78536c3c1f553dbca1750bbd84b4e8bc77671f3cd7eaa7bbed7eedbc5ea7f9bc4652933b4b7a1d392420b0bcd679dabc2790133ab426f63bfc9637bc36eeaabcd14a23bba4b50e3c1cb584bbc8573fbc38bf3abb0ec895bc6393003e60a77d3f35fcc03bb27bc3bced13e43d76016a3f0083943c7ecababc4014c33d387b483f0048e73c02c2bcbc28d89a3d9b2a263f3fd9043df418b1bc2b565f3d9a18023f60dce53cb862b2bc940bf33c3223c23eb7d4e33c7d89aebcf56ed53bdd417c3e85a8b63cf41794bc8ca289bcdcc5ee3df04c7a3cdc4b4abc7bcae8bc905f56bb0658193c000000000000000000000000000000000dcb24bc42b818bd6b42cdbca5b5983cb1192ebcc45f0abd0990e4bc2be34f3cc72122bcb0ecf6bca341e7bc04610f3cf89bfabb1571cebc914edabc8bcb9a3b0c936dbb6f88aabc1f03dabc0c58b63979c65e3a042057bcaedabcbcbb9dfbba7c1edf3b3caafebba58fa6bc5bdcbabb0000000000000000000000000000000000000000000000000000803f000000002f0e76bc47e2cabbd6487f3fc9d8e03c5c4370bcfb8292bbaeb5583fa72cfb3ce8d172bcd0eac7bb5c6e333f0463fd3cfb5173bcef0021bc69150d3f3910e13ce3907abc35457ebc05c0d13e88e6cf3cbada72bc3b0db5bcd301883e2fcb9f3cdd6e59bc2b90edbc49f1fb3dda60703c000000000000000000000000000000000000000000000000000000000000000021a775bc234684bb5e485d3bb202653bf5cf6cbcba1bcbbb29e2823b12c3a03b4b7b58bcdfffbfbbd74b1d3b1dd1843b237c46bcafe4d3bbf15e833aaf62403bf66b2ebcb20acdbb9580ea39015b213b1fef19bc9ae0b8bb2173913a6056be3a3150febb47a7bebb62e96eba27ba9a3a00000000000000000000000000000000000000000000803f000000000000000061b1293b88dd633fb3b5c13beb03e43a67114d3a92b6433fe352d33bf09c143b3ccc273afad8223f37f2f93b49a2663b85f8a0ba14ed013f6e6fde3ba00c613b186414bb03b1c23e25e7cd3bea2b5c3bec5622bb4380813e708bb93b56bc4c3b2b5a9abb5823013e69cf9c3bbcf9413b000000000000000000000000000000006ddd4ebce34c5ebba313423b5aa32c3b2d3f8fbcf734c8bb9360643b61bb853b6a2198bc5dd10fbc4ca5543bde10953b81798ebc088f0abc39f10a3b1b8f8a3bddbe64bc5041f6bba264913aff59613be37865bcdece0cbcb601a0393768523b971f3dbc58b1ffbbc8b2f0b992fe193b3fe41abc79cdefbb6d77a5baa209bd3acb0fafbbe62896bb544996ba6e31563a9baabb3a71aa633fa224053e6d2b333a4f5dc03a00a6483f2566f13de574143b8ea6693a8d0b2c3f01d8d33d2c69733b3ce475ba0b440f3ffe7cb43df46c903b691503bb2b6de43ebc88913dd1e6893bc5ed70bbc58cab3e094e6c3d058fd63b02289ebb9310643e6c4f1e3d12508c3bfdc9c9bb09dde23d43a0b23c9af9803b57e8a0bbfbe88bb881d9803baadb453b07d942bc066959bb82d2683b3e1b6b3b402d8dbcff17dbbb5376573b28028b3b26eb72bcbf38dcbbd414163b098f833b6a838cbc81df0ebc53dfe73a170d8c3bee8b5cbc79eaf6bb1cb0653aa1c3603b1ef267bce26713bc629a44b8990a503b863e3ebc0d3ce1bb96f017ba85df013bf27216bcd3ebf2bb061dacba47a7db3a0eca9ebba18a93bb57a7bdbaf17cde397a7a113a5f3d433fe5c6833e6d50b3b959ba9fb9ef0e2c3fbf416a3e0014283bb0f962ba941f133fb5d4493ef92a643b708400bb0704f63ecc702b3ee07e943bc6b92bbb4ae3c33efe61093eee55933b4a5495bb1022933edaf7d33d77bda83bb95698bb085c443e864d8f3d9d46823b22e1cebb4038c23d411a1c3d35299b3b612ca4bbcef040bae2036d3bb3e4343b3e463abc36e78bbb1e792f3b25e4363bd67186bc27daebbb3c2e4d3b4def943b1e3e94bc032e02bc135d203b5c0fa83bf7ae8ebce49329bc9d5af93a5f70a23b129462bc532a0bbc2d6fb53954b76c3b8f5d61bc867315bcbd5f41b95e2b763b501d36bc0c3408bc26c996ba738b193b83380fbc8f0305bcb0c9f4ba3c29e23a55b2b4bb4974bebb9fe872bae7c28c3adba150ba6177223f47b2c43ef7c1493a69eebdbad76d0f3f9e10ae3e1606473b7870ebba7448f63e70ab963ee127ab3bec3990bbb665cd3e205d7d3ef298ba3be27074bb906ba33eeced4a3e7b23af3b4ca9a2bbf057753ee75c1b3efa36dc3b509bc2bb7357223e0359d13d908dad3b399aeabbc146a13dc2ff5d3dc349ad3b534c8fbbef1833ba2fec893b30a46c3b14082cbcdbdd95bbafc4303b76d15a3b64fe6dbc554fefbb9e662f3b9851963b1dca73bc2cc00dbc3047513a94c57a3b6c097dbc752220bca22da6b94e18ac3bdf182fbc9475eabba763ceb93f3d2c3b2eeb56bcd77622bcacb974b9da09813bfc0d1bbc0a6302bc73aef4ba3699d43a0414f5bb843ce7bbe8c5fdbab2d7b43abc206fbbc1b08dbb49dbd5ba3ed1223a8a18a6ba6513023fe85b023fa444c23a585c10bb4e66e53e3ae7e63e7456693bd23a60bb0437c53edc5ec73eb8f18c3b913d94bbfb6ca43ecf39a73e1f81dd3bcbdd72bb5700823e9a90843ebb81d53b4172d4bb7874423e24b24b3e3842ee3bba5ec8bbc5a2003e8ed0093e6806e53b86f5d3bb8b4a7c3ddd518d3d1103aa3b8e529fbb7556ebbab40f6f3bd772633b7fe632bcb61fd4bb54d73d3baefa813b75c96dbcd76f0cbc6696f13a4e05a03b567764bccf5210bc62fe733a2306993b5c6a72bc8d3f29bc69e888baee0da53bbb3343bcaf230cbc1eae60ba58b8583b0f8943bc1ae817bc8168dabaa229513b2cdb1abcf9c010bc2df347bbb8bc383b67d9d8bb2377e6bbb8ea17bb7e5ba63a68cd65bb6d2f93bb300202bbdb2f7e39736eadba045ec33efbe1223ff5bc213bd4d855bbba58ac3e0147103f1aa9af3bf8bb5cbbddb7933e43dbf73e0929c53b8dd3a8bb4409753e2ad4cf3e9150ef3b423c95bbefc7433e6a02a63ecddbd43bd6d7c0bb1675123eadd57b3eb905f93b12f0e8bbf8dabd3d9190293e225de73bf43dd5bb562a383db122ad3de405be3b8aeda0bb421522bb1990a53b4d71633b2db00cbc8023aebbf1580a3b8092723bcb0165bc51761fbc6b56e83aac0db23ba3723dbcf75104bcdaaf15b9d6df773b00e747bc5f6c09bca30fa7badc84793bea1c2abc61e803bcc978c5bacabf363b87d217bc9bc8fabb42853abb52760e3b8f30edbb7a70e9bb310225bb6f3fb03a7ea3b2bb9baadabb7c1438bba1b3633aed1fe8ba078351bba2974abb443516ba0ce9f9ba364e823ea630433f4ae5383bddb38cbb27dc663ee39d2c3fee19c33b91fd5dbb2372443eece0133ffec9c03bd567a3bb10fa233e9bbaf73e5ec3f93b98f793bb2310023e92a1c53e3a22dc3b8050d4bbdd93c03de969953ea7a4f63bfef8b2bb71317b3d4827473ee638c43bb7eecfbb476ee73c0ebccb3d83d9c23b9be1b2bbef9891bbe50cd23a35079b3b253820bc1733f5bb8e7f1db88c05903b891740bcff9e10bcd1c8e7394304a03b958539bcf31b12bca41c85ba76e3833b673857bcb4d535bcfe03f1ba13fb403bd1f118bcd1f802bc3f221ebbef381d3bb93413bc997f0abc0ca548bb9abbfc3abffde5bbeadcf9bbce8362bba075933a159d90bbdc43d4bb292e67bb7a7d6739cfbbe9baffc57dbb7c7c23bb8c4f28b9da71bebab0c2033e76b8633f267d913bb35a51bb509ce83dacba483f963be53baf0f72bbf2cec63d8a322c3ffbca003ced0dcfbb0f74a53d9d4c103f0e410a3cdb8794bb56c1813d3da1e53e7206f63bedbeb8bbdae03d3df01ead3eba19033cb945c5bbb773ed3c2d7d673ed03cf23b564dd3bb5068383c7a56e93d9fa4c73bb9d894bb86be83bb1f38023b2daf7e3b0000000000000000000000000000000089c90cbcf6c5e7bb12f708ba93b2783bc33610bc87e0fabba60300bb2c8c393bf673f5bb1927d5bb364b0bbb5ed6123b3754e1bb739cd0bbd63326bba3fee43a2221e0bbcbcafcbbf459a7bb11f78b3a2d7c60bbc39bccbb4c4e7bbb1df62ab9e87955bbf33ca4bbb7ed68bb642381b80000000000000000000000000000000000000000000000000000803f00000000d66720bb36291a3bf5e1633f0152d63bf17e56bbce65d03ad375433f8edfe23bf83051bbafbd8a3a62b6223f73addd3bc71c6ebbf27c68398042023ff090dd3b79c4b8bbd62aa7bac8efc33e2537f63bf3d6acbb514341bb3433823ee6b8ae3b0657a7bbbd6380bb37b9023ea80ea73b00000000000000000000000000000000000000000000000000000000000000003aa2463c99f317be1e3625bc4af8da3b8c32763b700b0fbeafec8ebc99e3fc3b477313bc728cf6bdda9cb4bc9b86f63baee503bc7b33c3bd179ac1bcadb5ac3b4bca9abba3e193bd32efaabc5664b53bf4b7103be62d3cbd1b3075bc8cb9a63b20a19e3be0f478bcd988ebbbb3353b3b00000000000000000000000000000000000000000000803f0000000000000000f49fb8bdeb7da23fa11688bd1cd3353bfaf973bddfb3863f6fb3cabc680047ba124b1ebd84d7583f8e03ef3a01521fbbf9edf7bcb4b1233f68875a3c4752acbb6c89d5bccc32de3ea619833cb1fd9fbb218e89bcdcc3743e942f2a3cf08f66bb74c956bcfe24513ddae6b2b983ef05bb00000000000000000000000000000000efb2853cc393c5bd9346863b0cdb3dba1649173d8b571ebe7a1141bc5ac7063c0d04a03cde5823beb14dc4bcedba093ca725263cd4090ebeeb9afbbc79d6b13be8228e3b577fdebd8c25f1bcc6cfbc3b6ecc143c6ee5a6bdd245d4bc996f923bd4ef2f3cb54441bdbafb94bc3ac5df3b2dee2a3c00f968bcc2eac6bb2edde03b2dad343ce2ee0a3c521a653a9517a83a00fa15be453fa23f7664613d1aeeb3bc710e24be550f9b3f67bd513d631799bca446f4bdc55b853f3f09a73d12fcb9bc0109b5bdedbd553f066fbd3d7ef1abbc36c287bd75d41d3fd6cbb63d2c7b9abcca4355bdaadad33e836a993da1478fbced2310bd1b6f5c3ed979483d89395fbc56dfb6bbd65a0e3d905fb83cf0bba3bbad9522bcb4e7a6bd7b9393bb01ae8abb69d8373cdb238bbdb8d9723b44fd44bbf6c5ce3ca26300beb1b2a7bc91ca1f3b560b4f3c192000beb94109bd5481903b6c94433c5721f8bd522c21bd72d9b93bc246e23b58adbbbdb46117bdec94653b19af4f3c953492bde3760bbd9c9e993bf445563ca65b2ebd71aec2bc1d75613be266713c1f7e71bc8fa647bc3acba93b4511503c0c09bf3b5ac018ba9719423b56f512bed8b0873f53647c3e71b251bd770f28be9a47863f7ae5783e741159bd2d7df7bd62dc613f6de4763e1fbd34bd830dd6bd11143b3f2f3e623efaf325bd6f8f9dbd67fb083ff3b33b3ee99af2bcc11b84bd57cfba3e6185143e6d2becbc66ac3cbd9b014b3e6bb6c03d6919b5bca4b1b7bc269b333dca1a353da2ae74bce5ea63bc1c6561bd6304c53abcde25bc30865e3a230b53bddd28433ad062a3bb3ac87e3c5a94cabd16f503bd7e35153a5653683c854ce1bd37d74cbdb8be413b5ed0413c3157ccbdf9305bbdcd9e703b4db4153cc078a9bd41c94ebd4b33143b3e73473c9e127abd92442fbd21b8593b97a0803cd0331abd2388fdbc570a703b8429803c361c61bc4ee287bcb260ab3bbaf53d3c52132b3bd2cc0eba44d0073b94affabd3ffb5b3f2c55e63ed0519fbd7e3413bed244593f6a45e53ed900abbd3990f5bd7d713c3fe555d43e80c78cbd78e7c6bde315183fc4bfb63ea2af5bbd5ecfa0bd4cb6e43ebd5e963e085b2dbdb33780bd360c9a3ea3a95f3e55ae0fbddc2242bd0734263eb0680f3ee978e4bcf757ecbce2f0273db51c803d96cf9ebc3e858dbc9efc29bd4cb2023bb02885bcf924a9badc9a24bddca6fdbba07aa5bb8f743e3c2e5598bdfca83cbd65470fbbfdd7173c055aa9bda45f7fbd95de1c3b33cb443ce07ea9bd27ec8dbdad6e003b421e323b753971bdfe3544bd0f2b71b8c468393c8f9d57bd46f250bdf2f41c3ba13f2b3ca35ff7bccedc0abd310bf83a9aea5b3cd9a94ebc77b677bc8e1b933bb976283cfb1f2e3b9bcb2dbb28e5243b562ecdbd5854273f6aa4273f409fccbdbaa1ebbd4229223f3205273f0094ddbda71fc0bdfac10b3f596f143f0335a2bd097baabd7840e73edebfff3ecae786bdc1ed63bdadbfa63efc86bd3ebec513bd530666bda2676e3e4d61933e22161ebd15e92abd4c66013e9a7e333ea079e2bc3d30d4bc8977073df5019a3d24acc5bc18a69ebc9e0700bdc02595393cd087bc1ab19f3a71f7f6bc5f88a9bc5cbbfcba90d5583c536963bd0a2199bdd7b1a139888c733c4bc188bdb353bcbd24c87a3a92936c3c9a9b82bd64cfb3bd0118033a4b91423cc9c168bd099b9abdb8aa27ba071a5c3c1a9728bde42272bd11db74baa870543c1aa2d2bc357b24bd5d3b153bf9b21f3c4e7612bc33428fbcd4e5823bff14f93bfe2c3f3bb9d2afba2d5bb13b9c0c9ebd0c66e53e91665c3fe7a4fbbdf44ab3bd9dd4db3eaa3b5d3f267a0abed3709abd6176c03e3e35443f5b83d0bdf4f582bd2dd29d3e4003223fea7997bda6c461bd853f723ec22afc3eab5b4fbdda4e32bd7815243e15a2b13e7d2c1dbd4d8206bde7c4b13db94b543edec5f5bc842b9cbc540fa13c8402a43d7d69b6bcdb4a42bc32ebe0bc1fbb4abc2fdb8abc6c747e3b9e3680bcf2b538bd0ffb8f3afcac6c3c8dea06bdd72ad6bd14eb0f3beba27d3c60743dbdb43ce2bd660b303a1030883c025a41bde06de2bdbad201bb84505a3cf3402abd8d99acbd49845cbb41e94e3cb7b002bd942f8ebded7bfcbadd2f1c3c2b199bbc4c3430bdb61bae39ee8df33b73c9cdbb6f0ea9bcc106b73ba6bd8d3b8ec32a3bfb51353bf6cf023cc9b247bde4f57b3e5055873f289a11be89685fbd63df633e07c7873fda2d1bbebe233bbdb9bc523e0836673f42f1c6bd7dc32cbdb4392d3ea8c8423fa2de95bd70c009bd881e053ef0a1113f1d6b30bdd955e9bc2392b53d3dd5cc3e64e608bd5251a2bc60bc403dd8d76a3e3b60aebcabb211bcb50e1c3c1fbb953d10fa88bcbb0f5fbbd5bca7bcd8af0bbd1aeb7dbc4623c23bb73413bc7a9fa4bd615bb63b7d85633c09e9b1bb465d11be02c6633aff919c3ccfabc9bc649a18be13017bbb45219c3c9326f3bccd1a08be573213bcc194633cd2fce6bc66c9d3bd8a341bbcfedc4b3cf058a3bc7a59a0bd03dfeabb8171133cdc4437bccd6a48bde283a0ba9b848b3afaee17bb7a3584bc849cfb3b114baa38f5479e3b019bc43b1caece3bd4b89ebceb6f5d3d1904a23f8d8313becfec6fbc9da9023dc6959b3fc05513be542c98bcf0c93e3ddbce863fae45b9bd3f7597bc6c52413d0062593f2a7a4fbd4c6485bc8d34273daa1c223fa197bebc616d50bcc033c73c064bdd3e3c4377bc0a9ccebbe22c203c6a1e6e3efea11dbc8b4cc63a57133b3b72a74c3d8ac7e7bba7af753b373c99bc821b8fbd557d1fbc00000000000000000000000000000000142b613c353913bc72b314bed1c766bac817833c2b5a88bceade0dbea90146bc38fb653c97d2b7bc6e54f4bde1e943bc0ed34b3c665aa9bc2c36c4bdea9b80bce27c0f3cd0316dbc6aec93bd595d61bc2a2f813ba7f393bbe0f03cbdab0517bc6882d43a5ab5a83a45bf94bccc3c05bb0000000000000000000000000000000000000000000000000000803f00000000383fcb3ba736abbd0361a23f63bb90bd6a1a423b156b59bd9cee863f0e2ae8bcbe4035bb28b009bdc5b2593f6da59aba1d5680bbfe21c9bcbe1d243fd03f3d3c8a14fbba5088b8bc96e2df3ecd46733c8ec6e23a4f11a1bcac74763efbe33c3ce973b03b5bca9abcbc8b553d90132d3b00000000000000000000000000000000000000000000000000000000000000003ac073bbda93e6bdeb0d9ebc6354563b23c487bbef49e1bdb6e7d7bc2a919a3b6d553dbc27b5cebd350fe5bc6a089a3bf7941bbc923bb2bd1384dcbc309f673b5549f9ba580b91bd8219cfbc21609f3ac904e03bc99e49bdfa639abc514b053b54704b3c22bacebcfbde40bc4c9645ba00000000000000000000000000000000000000000000803f0000000000000000042b79bd2e9b983f7ea8c2bc1900d4bbe87a42bdac0d7e3fd9e10f3c694ba8bbf92822bd9ca64e3f6372003d152c48bbc3461abd08921e3fe4d7103d2ab0c3bb7eee26bd27ffdf3e6521093d7da0efbb41391bbded91823e55d9b63cf893edbb347617bd0bf0a63d631c6e3b45f7f3bb00000000000000000000000000000000b7fa313a4e3493bd338192bb79f658bbb12be53c6e62fdbddf06d3bc88ec3b3a92fb783c161106be649f0dbddbbdb63a5e60213c7b08f2bd941120bd6efddf3902b1f43b89b1cabd495d17bd503291baae5c863c4f82a2bd1fa910bda0bed238c132a83cdf9d5abd1ef6d0bc1a1a21ba9051973cf8a5a6bc9cc735bc91e8673b1d25853cba2f863a57f83ebb12ce13bbfa4ad5bd1072983fa42ac83d840d07bdfe3202be9cac903fc97fd23debe6e6bc1f77c8bd3da7763f1aba003e709bc4bc6b63a7bdb5cc463fff5f033e662aabbcfdce8fbd32aa153fd890f33df0a182bc1aee8abd844dd03ef097c33d63ff90bcdb8a6dbdf95b6a3e8e18843d8d0583bc214b0fbddf8b7e3d44e8ed3cc68f3dbc2a86ecbca75074bdfcda66bb9bb12bbc21220f3be92b5fbd0dc39d3ae177dbbb3960943ce1bed3bd28d1cebcb4111abbbdf98a3be86bcebd909409bd266797badc41673cb988d8bd42d137bd6bf412bba051273c0e33afbdac9b2ebd137601bbd89aaa3cf72991bdeb8226bd0bb464bbf66f923c82813cbd5341f1bc693a2cbbe45eb53c477ba7bcb9368ebc105ca2bad3048d3cf7658b3a876e91bb6cb20cbb25aeddbd3f8b7f3f6eef8c3e5c755cbd2e7d09be9a95793ffb9e8e3e2a5c57bd6253c6bddea94d3fc757893e497a14bd38a2c9bdd60a2d3fe6a87e3ec9db00bd5c50a4bdf1bc003f0ce5543ef2d0b2bc7c9da1bd86afb33e20912a3e4963bcbc779d76bd04384e3ecce6e13d534c90bc78c633bd03a66c3de4bd613df42687bcbfc6dcbc494c31bd3090c13b6a205bbce1b8b6bb5c1c3dbdf0fe773b606fd8bb4301603c0e9cb0bd3809e3bcc6cbbdbb2d96813c7cd2c8bdaa053fbd226f7fbbb1818d3cf690bdbdf3b457bd3c5462bb4820893c14a2a3bdfb2857bd141896bb26a4ba3c4bca7cbd5cae41bd35b49dbb831ec93cfb662abdcd0516bd934289bb6b8eb93c46388ebc8141aebc753124bb29038b3c1aa6a1ba01c3e4bbed7741bb2d3ec7bd3453513f447dea3e62bd8dbdfcc8febd59eb4a3ff9d4eb3e5e8694bda0efdfbd1bb62e3fba88da3e1f4753bd6e19c6bdfef60c3f85bdbf3ea7141ebd6f33b0bd659cd53eda8e9e3e8b13e2bcd7969dbd3300923e86a8713e2016b8bcc1b981bd789f223e8113223ec401b8bcf47a38bd13bb3c3da9c8a03d5d869cbc2ed3edbc0ad416bdecfd2e3cc69d68bc8b988abba4d829bdb0b4153b2d69bebb3fd64b3cb2e193bd92730ebd4ba0f0bb2ad9663c0020a5bd676553bd2e477dbb63a2953c399ea3bd854b80bd073ba7bbcb6acb3bccb178bdae9a45bd167166bb041bba3ce9955ebdd5905dbdd243c4bb4a04ad3c18f80ebdbb231ebd2619adbb4fe3a33c185c63bc6e28b1bca68195bb799f803c6a9ed1391437edbb0fd10abbbf16b0bd3a2f223ff800243f1194a6bd7cd6d8bdefd51a3f1989233f6c89a9bdb414bdbd327d033fe57a113f1ab153bdb8bcb4bd74fdd73e6eacfe3e836119bd9e3481bdac429d3e7c93c03e9ffc62bc2f1a90bd5a185c3e100f9b3ec54aa3bcc99f5ebde73af23db35a463ed8ef81bca40327bda71ef83c9683c43d742897bc5dddd8bcde9b0cbd8bc1303c4f516abc2e76573a70f01abd1fd0a8bb69e795bbdf6d9b3c20627fbdae3a4cbdc12412bc9c0dc33c5a8290bd3a0294bd5084eabb14e8c93c5c7c88bd6d5c9cbd5ecf0bbc15e2bf3cdf9870bd28f78fbdccae0abca8e8c53c140231bd539679bdec3309bc6a5eba3cc725e5bc12d137bd6285d2bb9ec2953c309133bc2a0fc0bc9380a1ba67234c3c1e428f3ad0f0bdbb36464dba975494bd340ae73e2cbc523f68d4bbbdacb1b9bde815d93e4b6e523fb9eec2bd6ae6a8bd5c61b93e80243c3facd07cbd937799bd2c77953e79a71d3fc04f16bd045f8abd7d11603e1c94fa3ed45da1bc998d6bbda8d7143eaadcb73e027c8bbcacd83cbdf694963dd6796a3edf457dbc9877f5bcf304323cb69dd53d720295bc98778cbcc3f10dbdc121693bcfc159bc4e190c3cabb8fdbc8ff4a0bc975dc8bb47b4c73caf9b48bd13b496bd9fac2ebcc718ab3ca5965dbd5e50a6bdf3aff1bb00afe93c33ce57bd9ad7bdbd3c2f51bcf9a5b73cd18a36bdbae29ebda6b62fbc7f8fc83c027209bd5cb58bbddd9b30bc1897953cc4d7b0bc17b63abdf5b9c6bb5c30483cd899adbb3271cebc50d310ba49a7de3ba731893be2f003bb8dd83b3bed595fbde715893e4a79803f006cd2bd7c1888bd5793773e10ac7f3f3e85cebd748d6abd99a9593e7791563fd0a539bdfcee71bd7d402b3ede553a3f8d26e4bc23e648bd91d5fa3dca500e3f52cfffbbe7ab33bdfc459a3dd901d13edef8fabba0cc05bdb057153d62287f3e6f4cacbbc9d779bcf4d8ebbb7b32d33d352c80bcbe22ccbbcdc701bd605546bcbf907dbc5b3c483c40dfe0bc489047bdb65e8ebb70a1dc3c0883e5bc4ba5d5bda7018cbce880f93cc94e18bdecc4f1bde3ff8ebcf9e4fc3cc19f18bd920ee4bd5fda9cbc769cd23c96bd00bd31cfc0bd3bf799bcc74cba3c7fb8b1bcba019dbd550291bcfb00863c821f36bcf0cf55bd648c31bcab6d813b095b983a0a73b2bc7c36d13a7ccf053bceaef73b62f974ba9f8a813bca0e04bd10dcbb3d91ab983f2792bfbd99cd07bd353d8b3dcf4b923fa252b9bdb8b113bd3c17853da0ee7c3f280610bdb99b14bd0765563df7734e3f09e28dbb06d004bd435e0f3db4dc1d3f997f3e3c7ed5ccbc4487503c00b0e13e70991b3c855c82bcd77acfbb1a2f853ea6d5c63add2428baee37a3bce3e4b53d989a25bc26d1623b36790cbd14e320bdfcb977bc000000000000000000000000000000008a24bd3c646ad6bc7f54debd287f55bca7e8d83cd45ad4bccf25e2bdaac2a9bce0babe3c16dae7bce41ecfbd7c69a7bc6630ab3c586fbebc7246b2bdc556adbc78a08e3c769976bc853594bd0802acbc34553e3c5bd4adbbd40448bd083775bc8d66c13b93f5f53aa160c6bc34e0ecbb0000000000000000000000000000000000000000000000000000803f000000002b6849bc549c56bdf00e993f3afeb2bcf91e71bc090826bd2829803f4bcc3d3c516594bc249e00bd0039513f03bc053d093f91bc0349f9bc5ce6203f59101f3d8f6754bc73d908bd5e1de43e7191013dda9cb3bb1b4809bd1295873e0bb3993c04d77a3b2ab114bd5469b03ddbed8d3a0000000000000000000000000000000000000000000000000000000000000000235e2ebdc0dd2bbd0e77a8bb83428b3b6cf119bd6df63ebd839817bcdb88c63bafe41cbd680e3fbd2e1117bc64f9e23b506307bd117436bda5952bbc8f18ba3b12bfbcbc315025bd4ddd64bce851e23a33a824bca69c0dbd037362bca95303bbbc28073b5449c5bc3ee991bca93809bc00000000000000000000000000000000000000000000803f0000000000000000152b00bcecd0823f34d1773cadef2ebbabfa17bce15f5d3f85dae23c6bc96f3b01fd2fbc3b27363feec70d3d5166e43b74fb82bc2c730f3f3ae80e3df94dd33b09a4aabce34bd23e81c3f33c8baabf3b370ed7bcf5df863e0ce5aa3ce8e4acbadfaf08bdca49ef3d112d1b3c59309fbb00000000000000000000000000000000ee5317bd007ec4bc75ea9c3a13dd3bbbe37b09bde14b46bd15ae27bc4a5392ba9d2c17bd39cd64bd63ad60bce93a4a3b5a5608bd22bc6abdb8f086bc99ca673b707de6bcb4da53bd14eb96bcf37d343bc76580bc05e842bdbf7bb3bc7960d1ba649ae7bae1021bbd53ebc8bc5b9cf1bb824a453cc16ecabcebefa7bc19f232bc15284b3c5faf43bc5be373bc80f33ebcfc3fb5bc9ea2823f0266093e585d89bc0921f5bc4665703f0fde0a3e330d4fbcdaf9debce1da4c3f77c70a3efae51fbbac94f3bcda0d283fde60013ebeee493b1822f4bca063023ffe69dd3d23de9c3b8e8b14bdda26be3e5b4ab23d4de9333ba54f28bd3bb96e3e3d8d733d61f907bb8ed32bbd639ec83dc67dea3cebce0fbc8aaa0ebd4bb998bcb0eb523bb9a410bc70a1febc3e76a9bcd3699f3b0ce6bdbacc4c12bd90ad2cbde8c6b7bbf392253a6e6315bd68623abd0c3d2dbc6c2da73b6d14fabcb0335dbdfc7f96bc394f833ba7aac5bc353444bd25baa2bc38170f3b5a3e42bc9b583abd3dffc9bc363d14bb7f31c8bbf39408bd7e22a4bce73786bb18812c3cee7ebebcf434abbc1deb29bca7b45a3c623f1bbce16f48bce4a722bc8f9cf1bce1d45d3f89828d3e7554b3bc46b426bd19324e3fb187893ea42990bcf72e00bdd09a2b3f2899783e845f52bbb0c81dbdb7fa103fe0b2603e15a6c03a5e9a18bd3dc5de3e8c423b3eeb49b83b8c4f34bdd261a33ed41d123e1eda623b8bb11dbd10344d3efba5c23d8e70273b1e3f35bdba2eab3d2478513d57029bbbe70102bd247791bc5524d13bb837bdbbc9d3fbbc398ab3bca9600e3cb4c4483b1e3708bd9d9620bd994063bbd33f2b3b6359fcbccba848bd95fa4fbcd3d7d23b2eb3c9bc6cc051bdec82a9bcf0e4a03b4296a1bc1b5946bda97bbfbc44fb363b7c0e05bc3aad33bdd0b7dcbc173ea9ba2e64153b903e0dbdb0b8d6bcdfeed1bbc9d4423c2741b7bc1aafb9bc7e1c11bc3a88363c8e7e2dbce92d49bc0280f0bb172d03bd472d373f664ed93ec6acbabc4b4731bd00262a3ffd73cf3e043c8bbcc89d36bd4ac5113f039aba3e2b4b88bba53431bd7524ef3ef62da13e2015623b961335bdbbe2b93ee2de833e8a351a3c313f3abdcb82863e01984b3eab20f43b3fc43bbd264c253e33f40a3e079b973b71e831bd41b8873d4e20933da0b99a38781700bd0b4982bcbfd0313cf15538ba47f4eabcee87acbc17ad063c820bae3b0ce1debc591820bd72de89bb83b2e63b0cddcfbc23ee36bd03b077bc66ffe93bd427acbcbce24dbd63d2b7bcb920853b840da1bce79327bd50cea1bc61c79a3b637fadbbf4e324bdc41be9bcea57c0bab5ee213b094400bd25bfc9bcaec38fbb73145b3c385fbdbc46eaa9bcf9aa06bc4c7c4d3c95032abcf8a059bc2e4fa8bb325efabc7a07113fb621123f8a87acbc0dd22ebd0caf043f01830a3f470384bcca0928bd83b7e23e30cef23e709d0b3a32aa33bd6415bc3e28aad13e29a0103c66bc0ebd98fc8e3e4533a23eed576b3c622240bd5f9d503ee17d813ebfb55e3c62ae2fbdd565fc3dfd982c3e82fe2a3c523f24bd1094433d8c96b53d3580ab3b0af6f9bc339b8abc24074b3ced9ceb3a711dadbcca49bfbc6cb7f33bf271f73b564d93bc2a9921bd36830bbc1cc7f53bea0e81bc0bc038bda739b0bccc99033cd2ca18bc66fc43bdfe58f0bc2a9c843bb6b401bc379133bdbd26fcbc81ddc23ad719583bd9971dbdf9cd04bda34284bbae47183c1337f7bc18d7ebbceefbd1bbe2b56f3c6a6997bc448aa6bcac63fabb406b4e3cf76308bccadb33bc488ba7bbc5d800bd6cbcd53e464d383f13c3a6bc895636bdeaadc33e4e732e3f82985abcf81e39bdf752a73e0c13193f0f9f6f3b84bf39bda8ca883e4ce9003f434b613c9aca32bd870b533ed401ce3efef49c3caab637bd6415133e87f59b3eaf5c913ccc382fbdcacea93d72fe4f3ec534603c67ba18bdcf05d33c9d66cf3d84f3bd3b08edd4bc3e91acbc015e2c3c4544863bb1bb2fbc025bcbbc3c12cf3ac629e43b1791e8bb6df41fbdfbb98ebcc082e43be6c234bcf3a420bdc508cebcfd17c13bf96019bb35ac36bd8e6816bdfcb2053b9d1cb9baca8519bdead512bdf4e5b73aa9d5053ccfb40dbdaca516bd0e9fb4bb78e8ea3b8385ccbc5f70debcd3d2b3bb0f457a3c687e6abc2bfeaabcd72df0bbc8795d3cecb1a3bb77090ebc683f92bbf9f9ebbc190d8b3e75d75e3fe9849cbc9ba92cbd4e85793eef20523f133ef7bb444e10bd1066553e0343303ffed8423c703c25bd7bc92c3e8d2c183f3289b23c17ba21bd3491023ef097ed3e9bcec93cb6b026bda258ad3d9ff8b33e6adfbf3c06f406bd2326423d5e43693ee38a8b3c20f7fdbc2a25853bcaf0e73d0830043ceb2ea5bc4152c2bcc48b783bbd0cc73ae61168bb9847e6bccb4f11bc0f93243cda5f083c2b471dbdb91a06bdff7f7e3b44f4d23b9ae527bdcc2635bdf883513a1ab1fe3b1ba823bd90bf43bd0bf0e9bafcbbf83b806e0dbd5ad434bde5cbaabb45c5653cd8c8f3bc609431bd384c27bc2a1e8a3ce767acbcf10813bd17753bbccaa08e3ca43c18bce5fab8bccc5f2dbcb5b45b3cd97f6abb213714bc9fa3bbbbf9c6dfbc2385003e242a833fe69aedbb14f610bd4c0bdd3d072e733ff252993bf0f711bdb9b8be3df704513f025fd53c5a5513bd154e953dc7502c3f3a6c093df6a010bd620a583d9905073f33950d3dd2a10bbdfc30e23c1982c83e360c013d479ef0bc6a7c973b5324813e45ccae3c0495abbca22685bc61d8eb3d91a1073cc61a7cbc23a8e8bc6331bbbb7c6e9b3a00000000000000000000000000000000b808803b2fd907bd002b11bd2398803b7f75ff3bcdb804bd9d052dbd099abbba4b54833be5ad03bd42b62fbd66c759bbca47953bec57e9bc47f823bd4976e9bb0421263c29a4c2bca59d1dbda6442fbc8e814b3c523e80bc3276febc500236bcfd5f803c578110bc2d1ec1bc79eb4fbc0000000000000000000000000000000000000000000000000000803f00000000ca84b9bcb96b0bbc498b833fdd4ac73c7263bebcbfdf1ebc8dd85e3fd3030d3d8c55c5bcbe8a01bca5f4373f2e3f1b3da67cc3bc567732bcb5ac103f51ed183d0d6cc0bc784592bc9618d53e4944063d24b8abbc728cc0bc9fbe893e6c3baf3cf61589bc6b58f8bcd5e7fa3d17d64f3c000000000000000000000000000000000000000000000000000000000000000084910c3dcba940bed1cdb33b3df8123cd9d8cd3c91ca37be522721bc38d4723c986b763ca0e325be2f78a1bc9f21643c82b8113c860206be7814a9bc0e6b583cdea0983b7356bbbdcede9bbc3ac93c3c01acc33926684fbd3ef742bcd707f83b3b2e82ba107635bc177132bb4a68623b00000000000000000000000000000000000000000000803f00000000000000007efb02be04deab3f6910e4bdeaaa2f3cb863bcbd252b8e3fe3c751bdc59c12bb099594bd66a3693fe6d775bc79e624bca7bb5cbdc5452e3f8fbee83b7a054cbc290ef2bc42ade23ec1d7a43c637037bc4c3915bb82775d3efda5d03ca054eebb35fd703c2503d83b08478a3c56350dbb000000000000000000000000000000008f87093d3833f2bdc57b7f3cb307843ad9a7453d07122abee984d13b4ebe283c01e5213da80b3dbec7768cbcf1cc8a3c91ebff3c9a922bbeabb0e3bcba34993ceb8da93c1ed707beec5200bd8b97863cf1b8403ce30dbabd55cfdebc5451683c74acc63b295147bd555499bc61be223c6d8b2abb397e6ebc15aadfbb16cb813b3ad5eb3a82b4833c622b813b22bfe43ad77046be3a19ab3f14b90d3c90b04abcb45b3dbe4cdb9a3fe9a20d3dcbc798bc03f121becafe8a3f832e823da386f8bcdd8a00be50e8603fab0eaa3ddf8205bd2972abbde8c7243f045dc13dcc8afabcb22036bde3ebcf3e02deb43d6970d4bc27a50abc14f63d3e20a7943da97195bcf16d053da01e3f3cd1194b3d0bcd11bc1cc6fb3c12a502be17fc0a3c03f74bbabb73e03c1302a3bd5492c33b9405b33b4be4253d146f10be1ad7b1bc0da0833c216a123d6ebe1dbee2f12fbd08d39c3c2e09013d5ff00dbe6c3455bdeae4a73c8eafac3cf321debd1e1351bd9984893cb2ba7a3cf8ca9bbdabd22fbde7897a3c682c253c09a621bde0b4eabcfb322c3c1722b53b78e357bcacf126bcabe8093cfe25103b7c520b3cddf87f3b82b8a73b52a445be1c1e8e3f86e0673eacb270bdebb350be34278b3f6ccd6f3e52e88bbde35330be2772733f10f7793e7dd989bd80790abe3eda423f2f42713e172880bdee37bbbd64cc0c3fbd06563e0e5953bd61de58bd7326b13e4b6e303e536428bd3caf85bc51f41d3ebb8ff53d9020cbbc09c3843cc5b2c33bb89f6f3d03664cbcfbcbda3c0404b0bd342d643ba56622bbd9649e3c850681bd1672b8bb4260b13b16f20a3d9b7bdfbd22f448bd1e45973c11da023d23acf3bdfbdc97bd6839ac3c788bd53cfcb3dbbdf232a4bd914ca93c533ea53c6dc7aebd64b39abd41299d3cd5b46f3c584b6bbdea2374bd676c823c31402e3cf3f701bd936c1dbd6bb84b3c6ed7be3b922122bccf2c67bc76370c3c6cd4d13bfee8d63b9cd1603b7750d63bcadb37be71446c3fa042e93e3cc2dfbd389c42bed649633f7445ee3eadfef1bdbc0c22beb4ff433f8bf3e63efde8ddbda667f4bd0f301b3f81b4cf3e2522c0bd8a88afbd2551df3e8222b13e82cf9bbd0d8744bd8c978a3e3bc4823e061163bd64268ebcae6afb3d87ee253e2aa807bd4804343c7ff8cc3b13c5863d9b3f37bcaa1e643cde3c8abd4c2521bc42333dbb59d5743c1dbe3abd7b62bcbc3fd5f33bbf57d43cc9b196bdd8a3a1bd3200a13cc9f1bc3c661ea7bd5072d0bd533d9b3cf933b73cf7df99bd4d3dddbdc2e5973cc7ec5a3c2e7b6fbd1c6aaabd2eb21a3c0d5c5d3c32ca34bd2d7a97bd4127623cda7e143cff2fc0bc6b1f31bd5751303cf9d3e13b29dd23bcd52c7fbc2b4b223cc02abe3b8d66aa3baa09573b201e093ce22f17be1dcb313f2924323f3d281dbea1781bbe0b2f273fe9a6343f319624be88fdfabd15860e3f2fea273fbebd0cbe02c7c6bd5b52e13e4a26143fefc4f4bd6ad783bd1cca9f3e91a6e23e540b93bd496a23bdf6da493e954aab3e5c8e7bbddf6c75bcb8c7bd3dd445423e745a04bd4ed3933b1d402d3ca425833d30062abc86f2243cc4dd4bbd8accbbbc140952bb3d65e93bff9fbcbc5f9232bdea99273c42af863cdb1924bd6e80e0bdc2b5bc3cfad1973cfefb43bd157d0abe52a3a53c632c823ce40f36bda42105be3073673cb3285e3cf47928bdadb3e4bd70e1503c42d71c3c5225f3bcde24a9bd76833b3c1d620e3cf977b0bc3ea840bd39e73f3c88e1f13ba27435bc9a9187bc81551e3c6aa4853bab533b3bbc25a53bbd451a3cb841d9bdc764ea3eb8596c3fa4463bbe1887d3bd6f8dd43e5b1b6e3f86a047beb36dacbd7b3bb23e92595b3f5e2528bea41581bd3dde8b3e4fc0383f8b28febdace939bdf0004a3e9186113f25b3bfbd646dcebcc567043ed888c53e307b6abd39d126bc0c7d873dbcdd563ed98de8bcd9d8a939066f9b3c6911653da45191bbd4cfe93b771ceabc65a030bdb31756bbe05c353b838b183a8e1787bdecc7893c8c09c63b6b96bdbbafca10be25f4c93c831d3f3c412373bc7df522bed38d803ca7d0463c925f9fbca8731ebe5f155a3cd9891d3cf0a3acbc18dbf9bd8927d83b7b69153ce12797bcf25dbebd6050f53bb4b9f93b5f495fbc250f50bd624e0a3c4d33a53b8b9f2dbcc7c47cbcb6c3f33b00878c3b392639bb760f0a3cf3eb213c23de66bd7c0d693ea7398e3f60394bbe09cd53bd48a3433ea0428f3f724e4ebec1042dbdfde01c3efb2a813ff97523bed70effbcd294f73d0acf583f34fcfdbdc4cfa7bc0179bc3dbbd0223f170a9bbd40246dbc2f11883dfd80dc3e527746bdcbc1d6bb2a69223d6284603ecd7293bc3a744ebbf16ad13c89ce323d7bdc773b41a53eb9a72a02bb8fd28bbd52efc23b7947dabacdfa863cf768e1bd0b53ae3c808a31bb2ff0d93cd8f226be5a92dc3c43969d3b8d3f3d3ca51d3fbec895523cc90dd43bc8e36f3b76812ebea176573b79b1d03b86dc99bb18f30bbe811e2dbbaf96a03b235de5bb0937c8bd72dbb33a8028793b94c422bc24fb59bdeef2ec3adba7a03bf3fa5dbca7b258bc122f513b6f8b2e3a19a66ebbc5b77b3c443cdd3b7bd62dbc8be04b3cc740ab3f7d024dbeb8b0cebb9cf4ac3b8b639c3f87db31bead97a7bb971611bb52fa8e3f0a7f07bef794edba2a17a5ba6d296b3fb50fbabd426e393aa1615c3bc0be2f3feff84cbd7c8e393a53b3443c3750e53eb23da4bc4f8a0a3a157cad3c030d5f3e842e073b37a9f9bbbb0a133d73afe63c7e43b53cab4d8138ab6a6b3c4579ebbd98e8243c00000000000000000000000000000000f264273bd556d73ce79c3fbebc2b3d3ce3d2753baa9d9a3cc70f33be7f4090bb2723be3b59c0fa3b397122be49a36fbca30d933b88790c3b4fba00be01cd89bc0e39003b432b2f396f81b4bd84216dbc369c9d3abcea95bb5a1b3bbd28be1ebc04f4a83a0b9fe3bb7224f5bb2680a9ba0000000000000000000000000000000000000000000000000000803f000000001ec1ae3c40770abebee5ab3f2151dbbd93c8913ceb97c9bd6f008e3f906a4cbd8d4b6e3c215a9fbda216693f0c077bbcca675b3c60a773bd05582e3f49de083cadd4393c228f0ebd8e9fe13e6f48a93c83d8f23b89e707bc08435e3ebf91db3cdd27313b0c82443c497a823b9f44aa3c0000000000000000000000000000000000000000000000000000000000000000afe9343dfcb027be3d58b1bcf367413c8ec8313d20da1abe412631bd6e129a3cba450e3d757b0bbe80fe5bbde012973c0cd8d83c0187d8bd94f55bbd28e4823c8d5da73c942799bdf3e937bd57b9633cf451153ccefc21bde0dbe8bc222f1f3cc32a173a778408bc5923abbb72b86a3b00000000000000000000000000000000000000000000803f000000000000000095b10dbe22d3a73f8e9d9abd9032e43afe0cfabdcacc893fa78bb03a95825bbcb772ddbd9c435f3f0ef4493d3ec3c1bce456babde93e253ff843953d8f0acbbcedf289bd8817d83e124f963d6d43b9bc93c601bdcd4a573ea0d8783d65d265bc9403bc3a040a1b3ca78ae13c343886bb00000000000000000000000000000000d78a1d3d0f0be7bd3e04d43b8a212b3b8b8c823d7be91abe51cfc2bc4006893c19506a3ddde51dbef90a66bdd97ca13c1fc24c3d561208be83fe8fbd5b90ae3c056b183d0bd0cbbd6b468fbd4c939e3c917fba3cd5227dbd228171bd4578813c1849323cedcb05bd581910bd75f31c3cdf4483bb1c1b05bc958a09bc46b38b3b8c05c4bb5caf683c791d233c23c977ba92a536be594aa73fdfdbf43ceb0aa5bc78f64cbe0386993f297c813dfa06cabc235835bec06c843f72d8033e790f2abdf4c51abebd64513f2f16293e8e8141bd8979e9bdced6153fbbcc303edc982dbdaa0692bd66f1b83e92521e3e2cab12bd5706b9bc54331e3ecc48ec3dd5d2b8bcd55b113d0e4e46bc00097f3da2f89cbbc0d41c3de786febd2794f33a150cac3adf2b1c3d33a2adbde7aa683a735b8a3b6afe5e3d26e6ffbd102731bdc97b813c1c3c503d9c07fbbd541997bd0ba38f3c04fe3d3de4e9d7bd8a7cb4bd262a973c7f69043d6b629bbdacd7a4bdb3cf5d3ce52abb3c4daa41bdeb3e8ebdf188323cbf152e3c4b60b0bc74cb2ebdcd4fd73bdd80e738781bb0bb86cb49bc1639203b3abda4bbec37243c98eb033c5e5be43ab17238be93018b3f6aa37f3ec4768abd57cd51bec282853f9a218f3e43839cbdb21b33bee0e25e3fcaa9a03e2f9897bd2c6317be2b3c2f3f26baa23e237291bd8a35dabd88f0f33e6cfc923e3a7263bd919480bd0983903e2ee5753e593534bdc0b8b9bcaf92ee3d12c7253ec180ccbc71f3d93c03b4afbc4ed09a3d127aedbb83fe263d38d3c3bd6747493a40809d3ac9a9f03cd00a93bd68fd03bc48659f3bc8fc463d034ac9bd60be81bd29197e3cbd003c3d8efbbebd6ebec5bd3e05753ce3531b3d6e659abd5107d6bd5051663c1caafa3c28e855bdc743ccbd41f6103cf4d08f3c1445ebbc1f7fa1bdd426d33b30b1103c59b941bce95548bd1a42803b2dc32f3a992db4b9af9a87bcc6207e3bbb473fbb7ae7103cb2d6c53bb09dea3a52502bbeedb9653f73d3f33e80a5e9bd3e293ebe7a8a563fadb9013f2239f9bdf36123bed17e313f5e4f033f75c2dfbdabb600be2cb0053f5351f43ea0aebabdb98bbdbd84c1b53e3d66d43ef4658ebd362e4cbd30ec4b3eb9b8a23e30cd41bd70df3dbc0f6e883d64c2523ef9dcd7bc218ac83ce781e7bcd5fdb03dd80fa6bb26d8ff3c565badbd87ea99bb9c23dfba6149ce3cccc065bd270ba5bc44fdca3bac8a1a3d782b8abdfc3daabdc4e64c3ced120a3db0957bbdb1e2e3bd80f7223c6e2c043d25993fbd2089fabdcfccae3bea0cb63c7ef517bd82dbc1bd9e9f24bb2f767f3c129678bc65e2afbd18440abb882dd63bc3d798bb8ec353bd35829d3afdb0f239d1bee53ac2e9a1bc42a2d43a4de02bbbc6ad273c42b5953b497a383b471a10bebae52d3f2ef5333fa3c21bbee1b018be36eb1c3f4c183b3f671720bef0f9f7bd7077fa3ec913323f442600bea7ffcabd2701b83e9aa4213f9519cfbd2b7c92bd5aae7b3e36acf83e205845bd8dd516bd45bdf73d36c2c63e717534bd6498fdbbf39d103df8f06b3e0e139cbca173ac3cb51700bdcb07b93de52729bb79dedf3c161892bd143757bc28032ebb8e55903c23e515bdc8e00fbdd373d93ba9e1c53c47bc08bd4444dbbd3d6f373c3317c13c9d38d0bc2a940dbe7656873b4faea23c0b42a6bc095807beacaa0bbb7eca8a3c54fe2abcdea4f1bdb4c31cbcbbc31a3c90fe99bbb725b4bd45e7d8bb5da0973bb5b99b3a65165dbd3d3f6abb33508539336dddb9e47f9fbc26db513b92f654bb19af023c49bb863bd0478a3b0754d3bd2892e93e02be6a3fb7fa34be51d2d0bdf381c33e5833713f88c33abea54ea6bdfade943e3058613f4eec0fbed44274bde2f94c3e0000413fa970c5bdcc3524bde8fef53d5ce41a3f33fe73bdd2cc83bcc516533de335db3e4caeeabce0418e3ac05e2c3b4be57f3ee05d2fbc18f2a33cdc02debc79b1aa3decf4aab8b7b7b33c596352bdec98fbbcdb7ea33949cbed3b22c22cbca5d15fbd97951c3c9fe82f3c55fe083bebbd06bec6dc1c3cdaf36b3c8b249abad58f15bef810c0bbedff413cb9b0973bdc2815beb8744dbcf62b323c988f123b38e3ebbd9da58cbc146fd23b37e1e33b02d5b8bd73af7dbc20ba613b7da0883b326d5bbd42f300bc65a58e3abd93413a4b84a1bc42158b3989da00bb9b98b339e029de3b127a053ca92564bd72626d3e28de8c3f13fa42be9e4347bde6fa213e4607903f76903cbe23421fbd7633e63ddf2f803f387bf6bd59b2c9bce2026a3d596f5b3f2338a5bd17498ebcaf67d63cfb9e263f854a01bd57e40abb7337dfbb1eb8e93e13c826bce41ca03b58ea90bc3153813e2ec5ca3b532a4f3c0ee495bcdd068b3dc07b433ceb3d723c3878babcfc445cbd1ba2eb3a038b34b978a1313cbb64bfbd0e9b2d3ce09fddbbc93a273d6c061ebe077acb3b702a6e39dea9043d8dca2bbe979563bcd495473b8d2fe13c540d1cbe0137d2bcc2305a3b4e23a93c88c5fbbd8f3d01bd48aeaf3a5b36753ccd25b4bdcde5c7bc755d61b93753eb3b36334abd90f96fbcd740063b6ba6a1bbb10b85bc40d02fbab5b854bae4ee6ebb647c493c8d27003c627a21bc91b1833c6130a83f8cd23abe9926903b3d3f15bd11149f3f0b7f25bef3b0913b1e2850bd6c1b8e3fcfe0bcbdfaafcc3b9d826bbdaac5683f7f7718bdc346143c541971bdb5932f3f95fdaf3bfe4f523c541751bd8e20ea3eafd6c33cb33e3e3cf10efebc1ed16f3e2234fc3c2449193bc9f9ed3b1822223d4801de3c1512ce3baf298f3a12b1c7bda10a953a000000000000000000000000000000004099ffba28b7193d2a4229bede2229bc7864feb8f6a91d3dfca81fbe5ac1f4bc903d4f3b06d9d63c961b0ebe811d24bd51fe423b2426ba3cd206e2bd144134bd07eb573abda8893cf3249fbd1e4012bd1b19cdba7cac263c99ad2cbd476ac3bc78f2a0bae982883aa694ffbbe562fdbb0000000000000000000000000000000000000000000000000000803f000000002702cb3c53b11bbe56cfa83f9d759cbd1799b63c625709be698b8b3f2277e7bbb53e8f3cfdfff0bd5527643f6b671b3dcc3d893c7403d4bddaba2a3fd9bb803d6057883c453aa3bd9093e13e41e1853d44d7473cf05c39bd1827663e45e1623d5d17f23b3d1d46bcb285a13cff56fd3c00000000000000000000000000000000000000000000000000000000000000006eb5ad3ca218d4bd3f7d10bd15f9e23b04ffeb3cb8cad0bd98444cbde3e5253c08bbc13ca87dc1bdcca45dbd441f4e3cb8d4c33cc113a0bd3edf62bdd34f123ccdb1b53c1bae6fbdbaab4fbdde55c73bdc80913cbf4915bda13118bde8c1a53b927f433c729336bca23cc0bcfee43bb800000000000000000000000000000000000000000000803f0000000000000000cb8dc0bd48c3953f22f5e63b560475bc60ebbcbd9216783f113a593dceef58bc1f06b5bd62ac483fd190a53d9f3b69bcdb81adbd9183183f14d8b43d7ff829bc7b46a0bde814d43e9142a83d10dd09bcb1fd6ebd0df5713e2e83733d78691ebcfe2923bd2ce4803d609de53c8178e5bb0000000000000000000000000000000044b8773c7be097bd06c612bc4159293a4d58403d2d92e2bd2ad031bd2a0c9f3b62be343d7db2dfbda4f782bd7fb1f33b74dc2d3dabd4c7bddc2591bd2c2eae3b1026163da8499bbd660690bd8420743b3a1c033d3ce958bdf5b07ebd5f8bb63a461eb33c1b36d4bc97ac3dbd26c8533aa74cd53bc8372d39cca2a5bc797add3aee09503bab234e3c9b33a4bb0743b3bb132de5bda8ee953fedbcea3dfadd27bdbaec1abe049f8c3f94f90d3e46841ebdd56211beb5796c3f842d383eb8900fbd953905be79fd3b3f2be3413eb54ee0bc291cedbd7dd60a3f419b3b3ef07ca6bc8d64c7bdeea8b93ebb241e3e2b9691bc84078ebd855c433e81ffde3d8a0755bc8b29cabc41ff0b3d473c503dae76fcbb0f7f2fbce74097bd2fa6273be0006bbb5d528f3cda616abd6e20cfbba29e0abb0f16243d7963bdbdb50439bd1717283bc210143dc89eb5bdd41f76bd10076e3b72b32b3d7485a6bd28bf9ebd6f75a2386607073d66a779bd438694bd4faf12bb1cd3ff3cd74d2bbd603886bd6d6dc9bb35a7b73cb9a9b9bc4ea145bd7e31b0bbddf60f3c8fb8b23a9f87c5bc19cfbbbbe347e03a260c643cab9f4dbb38e6d5bbaedef4bd50077c3f1f1e953e63e07ebd773b21bec3e1703f38aea03e44b77abd05570abee600443f8910a23e6a5325bddab10bbe3bb91f3fa7939e3edd6006bd4acde3bd6af7e63e939f893ecaf193bc8149c6bd1b3e993e8e9a633e573666bc270189bd716d213ecbb0183e907697bb6638d9bc6ef6b13cfbb7983da47838bb7f7360bb903a82bdeac7ce3b0f87b2ba20e4593cb60453bd0855acbbf68ea2ba3e7c133db6179dbd42063fbd42412038c260253d098c9abd1a3494bd13778dbbf5441e3d95a185bd0ad5a4bdf490acbbb656193d83c04ebd83b0a4bd7c491cbc9225f03c6222f8bccb8e8dbd0cd74dbc89c0ac3c50c730bc6a3157bd3e9c46bcfdae143cbc78863b1d93cdbc725c34bcf433573b2af25c3c3f67abbb3ca724bc0b13ebbdafb54f3ff5a1f23e01f6a2bd74a617bec6df423f9a31fb3e4370a1bdf9fe0fbeee3e223f9341f33e32c958bd057902be2702fe3e84cada3efa3502bdbc7be6bdefd5b63e4855bb3eff876bbcecc4b4bd926c683e7317923e708497bb6eee7abdc143df3d8ea0463ecabfafb9c7d0cfbc87e6e03bbe91c03d528cef3a8a0b0ebce84771bdd7c1383ca2a5b83a213f4b3c3d723abd6e84abbb3fa3fbba61ad013d222a79bdacc253bddff9c6bb44e70b3d65846fbd7a6f9cbdafb4adbb11811e3d88d74abdabacb4bd45af64bc1babd83c053e23bdb3bf91bd63ba1fbcc466f03c77f4b6bcd11294bd74a89bbcc1469b3cc4c1f1bbcaab52bd15809fbcf7a5033cb557ee3b0187c7bcc63167bc79564e3b4064523cd2a994bb6b2a27bccbd6d1bd0b0e213fecb9263fbbeab7bd37ad03bed1d2133f769d293f8449b1bd76f3f3bd6ae5f13ea28a1b3f16f644bdb34aecbd8fd1ba3eea2d0b3f5390c8bccca9b5bd6fac853eeaf5d43e6b0ac23bcc93a1bd4f0d213e2ae7af3ea36dd93bc0ab4bbdb4fd8b3d63e9633e3fb4363c9933b0bcaa5500bc7ac5d93ddfac043c1a17cebbefbe5dbd63500a3ca8dc423b71f64d3c1fb81bbdccc953bc791a0abb6c62f13ccd1c3cbd3a5f7dbd389b30bc89c30a3d77b22abdbb54b4bd9f0475bcb9c2043d09f307bd5681bcbd91b4a3bce44a033decb4c8bc925cb4bd20c7c6bc1622bf3c70e331bca9de8ebde73ccfbc30957a3c8bd1463ae15a49bdf287b7bcf8e8b93bf4a8f63b3151b5bca8b980bc620d3e3a2e804a3ce50480ba601d18bc520bb1bdf4b4e53e4023543fcbe5c6bd936ad8bd3471cb3e637c553fc564babdd835cdbd5867a23e629a413f35a34abd85a8babd4463713e9fb6253f0e5583bc8d4da4bdbdc9243e9091053fd709153c62f575bdcf04b33d7d92c53e73e48e3c1d5b18bd788bc23c1f087d3e2c8d953cc5a427bcf2ddc4bc0599e13d9ef7343ccd669e39e60858bdb62757baf4b7873b04f34d3c8cd2d6bc0742c3bc460da4bbc146cc3c5ab2e1bc50c59cbd445082bce335e33c0553f1bcd7a4b5bd7612a4bc2380e93c3b5b8ebc52c9cbbdcdbcf1bc3b67c53ca29c43bc26e4acbdfaa2efbcf0d9983c5bd08a393f8692bd4b42febca8755a3c6d7d4f3b137649bda180bebc6bdfdb3ada78273c3e8f96bcdf4a74bcf9144abbad452f3cc985973b906b90bb0ca07ebd36f6873e89c87f3fefded4bd085096bdcb6a5b3e4e347f3f5571b8bde0ad8dbdec99313e796e593f8e76c9bcd19283bd13bce63d004e3d3fd913ca3aa10c65bd24f6903d483f123fe34ce03ce76127bdb712b23c7cf6d73e3b3d083d58bed4bc4d8cbdbbe7f0833eb723043d05a331bafcad1bbdff25d13dd636893c628c073c28bc38bdcaf58fbc671b423ac704373c1f7c87bc88ab43bdffd99ebb3c50873cbd2613bb7624c7bde479cbbc2536ad3c9907e3ba995fe4bd62d007bdc15eb03c85a5a13a4e87dcbd61e520bdc851aa3c05c3b23a06a8bcbd817424bd25dd513c33f81a3c82468fbdfc871cbd1079b23bc44d553c4dd133bde16fecbc1d6446bbfca31f3cef5e32bcb36c52bc07d2b6bb79b3253cea4e063c3d5273bb9d4f17bdabc3b33d6874963f2a32b4bdec2d00bd86b62c3d5b2f903f444290bd55c717bdd59dba3c22687a3f92d8d5bbd10111bdec77473b072b4d3f75d90e3d4a7901bdfe6b73bcbeee1d3f9c5b643db90fa1bc5ed207bd44dbde3eedbf6c3d7a17adbb651940bd0379833e0dcf363d039a3b3ccf2332bd4083a73d0cf4b43c93216a3c9ded28bd282045bd99ab5539000000000000000000000000000000001964943cd7b2bfbbb4a8ccbdd300b3bcb1f7a03ce8e8d13a9b77d6bda6e10dbd847baa3c98de24ba8b94cbbd09c623bd9478983c395e433bbccab1bd227726bdcda55d3c3034ec3b26f388bd173124bd4d7b9c3b68ea363c51c627bd696301bdef1de7ba41cb3d3c171958bc501d9cbc0000000000000000000000000000000000000000000000000000803f00000000029d6bbc6f5b92bdfec5963fde3e82bb42926abcddd590bdbbc37c3fd22d1f3df6ab9dbc34998bbd28334f3f4fe28b3d9ab38fbcbb8989bdeed81f3f49699f3d817e24bc52c18abd7e74e13e9d77973def67d53ac77c7cbd0142843e36285f3d24ed2a3c40c55bbdcf06a33d9d6be93c000000000000000000000000000000000000000000000000000000000000000099f8663d2da954be4575003cb5bc273c700b1c3db60b3fbea91bc9bc7f0ebf3c8780ce3cfecc36beb1372ebde8d7f23c8b2d983ce5ac13be862e43bd4b50cc3c68dce53b8e67c2bda3d327bd18d4b63c9af866bbdfbb54bd9e37f3bcaf376b3c6fec9ebbfda53bbcb3cf06bc838f893b00000000000000000000000000000000000000000000803f00000000000000002ce414be21e1ac3f6b1ceebdd0cc563c3decd8bd77a38d3f3b5406bd492f0fbc89efbfbdbc766e3f2c8ada3bb999a8bcdd3b8dbd487f303fa5b2193defe5babcb6090cbd665fdd3e7ab2553d0772a9bc9f259cbae737583e07db563d91627dbc3fb8f43cf917dfbbca6e083dcd589fbb00000000000000000000000000000000abf4663d82a104be51a9c63caebfd8bb37e3653d06611ebe8b0ec3bb0035b43b8e6b473d11673cbe44cb27bd28aaac3cb9631b3dc87727becf1e7fbd3d79e13c5092b83ce5ec00beb7277fbd9924cb3c246a0b3c5d2fa7bd7ebc7fbd60aab23c1342053a1f0619bd3f5135bd73ad623cc7f2d4bbe3232dbc26fcc8bc7100e43bf22aa9bb4f71913c4f14853be18bbd3a558f55bebb11ad3f80c95fbc8e90f339fec32cbec9a6953fb605733d8669bfbc476729be70d68a3ff943a73d35580dbd36cb00be54655d3f776ef23d079c28bd0bfda8bd141d1f3f94ce0b3e023d35bd3ff415bd8dc3c33e5f230a3e89d11cbd86edec3b1efc203e84b6da3defa4e4bca3090f3d3302743cf7117f3d754585bce9d34d3d99070dbe1694303c1b9d7bbaf949283d5aba99bd4a0a083c4223ddbb547f553da2df08becb7629bd8bb22e3c7a96413dc67f13beb590a1bdc754bb3cbb09023dddd4fcbde81fc5bda596d23c1589a53c0017b4bd75e7c4bdf3d0b13c6c9afb3b79ae45bda0dfb4bd9176a53ca79a8e3a7dc49fbcfe776cbda219243c2911eaba9cfd783a9c5ae7bcd526d03b6fc805bba39c743c61e158bbf6c1cd3a43e149be546a8f3f0a3f533e223448bd118e52be85088c3fb9a9733e452984bd9e5c35beb98c733f277e893e452398bd896302bee1973c3fd9e0903ea3e09abd94aea0bd5563023fb0798b3eecf08abd357febbc8e1e943e67f3703e0a6169bd1c9c1c3c3098d43d48942c3eefd31dbd2be7003dd0f06ebcb3c3a13d51709cbca06a183dbd30b5bd06aeca3b8b5df9bb772c073d5d2276bdd7f740bc83d884bb32e9303dd360b9bd225f9dbdc435643cb051093d16f4bfbd02f4f2bd9631b73c344ac43c09eca0bd303507bea6929f3c4e153e3c3ef346bdb41c05bea4e3843cf4f9a73ae277bbbc4716d6bdfc5e5a3ce11b8f3ae4f9c7bb372291bdd95aab3b319968bb3575b13b0f2006bdea673a3ba10ad13a5e79873ce780b1bb3c1d283be17b44beadf2753f7d97dc3e1a83d2bd41b142bec04e623f51d9f53ec221f2bdc62d1cbe5707403f9a4efe3e971df7bdd24ad4bd3c13103ffd86f43eb0fde0bda71e5dbd6e26b93ef479dd3e5f37c8bd3c683abc866c473eaeb0ab3e60de8ebd9d886f3c8aa5903d09fc543e29631abdd5ebdb3cc58354bc4075ae3dab5a99bc7a9adb3c608799bd25b727bcf02cb0bb56cbdf3c46280bbd9ddf13bd9b3a5839472ddb3c79e248bdc2fde2bd59c2593c9386b53c6aaa46bd28551cbe5730833c9fbd663cbd2a10bdbc6d2abebdc9503ce9e59c3b875e92bc6a7c0cbee041fd3a8b9127b94932d6bb297befbd483b8f3ba5f935bba2d8a33a54408fbd464a903957d7c539a496fa3bc31c15bd35a8de3a41fe9eba2fd4733c8d17b3bb3036123b33e025be3ded383f21bf2f3f0c201fbef52615be6b6f253feaf2393fc79529be9d98e3bd2cdb053fad26383f45761dbed2e380bdbb6abb3e42cb2a3f869709be66dfd8bcaad4633e48e20b3f6fe0c2bd2f6b4dba155af13d81c3ce3e8ff587bd187a763c64a3333da6d7653eb882f1bcfe06aa3cda1f0fbc472ea53df8e818bc1f429d3c4a6045bdc0e0e5bc8e2992bb31e6743c7b97b5bbf08c79bd118cb33bb9ce833c1ed2dbbb14ab15be14c4833c948c3f3cdb03ccbb064d3bbe31b03a3ceb4f043c18cc69bb8b253bbe660d303b34061c3b3fcee83819db23bef94c2dbb2dd483b8c380183a0290f3bd0df9bebb2bb02f3a1b3e143b376e9dbd5d6ed9bab31951ba8411dd3b38a212bd4c1a70ba2dab16bb7ae4583cb7fa05bc53856a3b70cbdbbd8996ed3ead606e3f38a945be4f41c2bdc4eacd3e636f733f2a6944bec0507ebd9c1f983e1cbe6a3fe90f30be55f8f6bcd9d2473e11874d3feaac04be301a79bb5c98eb3d1c89253f8b2dbcbdcf088f3b78d9903df1d0df3e6ad04bbd6527083c2ce9073d6a3c703e7bad9dbcfd1d113c739bf63b76048b3dda860bb9377b133cde41a4bce8d435bdf9369ebb07ff263b443a8e3c04dd9cbdff2c633c000f7f3b5b30ac3ced172bbedc838d3ccc8b883b391d953cfc6d48bef738743b608bda3aa108623ca9d943be647eafbb1a12ebba2460063cd94323be42cb48bc2b576bbbabffcf3bee63f4bde00bdfbb0af9d0baa567cb3a75468fbd323503bc755bd9bae955473be0e600bd1b5f69bb88436ebaa595f53bc1a78fbbdf07ad3b9d615ebd7c846f3ef7628d3fbadf4bbeaaf328bd90f42f3eef48913fd5c448be388185bce894d23df6d2873fe7de20be79795eba176e833dcf5c653f65bbe1bd58ad3e3c66540a3d1c1f303ffca081bda7f6243cdf7ae03cf541ea3eb7d7e9bce48f1d3c3a01c63cca8e693e5c2100ba3915053aed27af3c322e4d3dea0a273c0a0b26bb67cbe33b087e83bd7504853bd65591bb24701d3da2d702be71afd93ccbadccbb07462b3da47829be82d49a3c51a191ba0e52063df70253be356b793bca1033b98704bb3c347347be9a3f08bc7694a9ba4651823c0b511ebe874594bcb19597ba27115d3b3ab2e3bd7cd88fbce75b5739ce2034bb3fae7bbd8fdf72bce04c0dba2c7153bb29cbd6bc3ab114bc93a5b8baefdee4393bb5d43b4db6ce3b308fd4bbff200a3bbceeab3f501a5abe2623d6bbaccc5a3cf7dc973f298213bee86c203c1708f0bc6c47903f1147e9bd3f1a853cbce80bbd87a16e3fa2ce85bd88a3a73c65d4efbc0a3a323f229fabbcf8694b3c894df1bb0cb4e73e4615353cab01c93b050d823c55f55b3e2719e93cccf5bdbbd180fd3c089b363df285003d63f003bc7cf4fc3cc42cf6bd7e3c283c00000000000000000000000000000000703fd5bb5a2c5c3dac7d53be22836c3c110596bb0b5f0d3dad4a39bed82353bcd56be2ba053ab03c479d2ebe222001bd8b7397bb1914653c310d08be1daa16bd5ce60fbbe26a5d397f4aabbdd2e40dbd3dd728bbe0b58abb104333bd964cc8bc410c32ba7f31aabbc42505bc0f6c08bc0000000000000000000000000000000000000000000000000000803f00000000bb27f83cc64b25be9dc1ac3f67b4d9bd51f4e83c095fecbdc4138c3fbfedacbc0840083d04a1d9bd1b67693fd1fe9a3cc8aef53c12e59fbddc182b3fcf06523d69dab33c1c331abd4d21d23e07b0883d8691143c9abf0fbb263a493e18167b3d5c6451bb519be03cea6f37bc38b1223d000000000000000000000000000000000000000000000000000000000000000077b8803d0ad63abe81ca6fbcd78c963c7c143f3d62800cbe11f98dbde9c8223d9c7e0c3ddd38dabdc1d0d4bd475b383d0783ad3c516088bd2d0edcbd451d2d3d1c0c103c1f16febc634fbabd3f50063d7ea797ba462453bcee355dbd23d1973c0f8e84bb24919cbabe9108bc11b2e93a00000000000000000000000000000000000000000000803f0000000000000000bd0633be231aad3f3781cdbdf0a3a83bfdf324bec7b78a3fbcc5313de25639bd1d911dbe540f5d3f900e0e3e03a59cbd5deff6bd8db8193fc1f9453e8029b6bd940e94bd7909ae3ed69f513e2989aebd7ddd8ebc032f0b3e4f5e223eaccd72bde208cc3cb09b0abd0f78873d14b3a5bc00000000000000000000000000000000a308633d198b07be8711d83ca85086bb0322643d2a6609be062eacbc399e863c2304473db10d02be65dcaebd36fc1d3d16c70e3d8185b1bd5387eebd74bf233dc885873ccfe343bd774decbd5461063d9953573bf91db1bcd25cc1bddccbbb3ca73124bb6a7f3abc7dde41bd522be73be0fd9abb7a4c21bc42896dbca63f9c3b2eeee9bbb9a3c93a9d7cce3cae4c89bacc0450befde5ac3f2d62ccbc3e539a3a49853fbe1e64923f7896ce3dfd662abd4fe342be3e73803fbae1483e2c68acbd1e601abea9823e3ffc53903e63e2dfbd30d1c5bdae04f53e7506a43e71f8e8bd2db319bd8a88803e76f0943ecaaac4bdee27373c85aa943dd5884d3ebac071bd2bf4183d681f9abc1c21b73d5cc9bebc25e5793d78c103be7e9099bc7fabe73bd48b2d3d1465abbd8962363c41c7a639908d4b3d501bdbbd3d5268bdec0db43cf63f1c3d27bca8bdb73defbd488f143da039ac3cbd7c38bdc34e0ebe8885053d3a71103c33df95bc84fe01bef5bda83c7c171fbb1d40c1bb1b17b5bd35e5f73ba35776bb652182bb576630bd36b194bb277c80bb7bd604bcd90c95bb46ff67bb657e67bb5fabe5bba60dc83c11660db7423a50be796c8f3f5cbe553e7b2060bd93fa57be36da833f8a819b3ead6fbebd85bc39be1307543fe780cf3ebeb304bef5fef7bda096113faa20ef3eb02211bec3f486bd8663aa3e00bde93ebbba02be5843bebb51040f3efedfc03edc7bcabd8a7aea3c56e89d3ca838703e45e441bd6932403dcee343bd2179c53d5c1180bcf91f563d3a1daabd60faebbcc14c0e3cb67f0a3dedb089bdd83630bc82dced3be8dc143d619585bde84fadbd6cffb03c7e5fa33cdbdc17bd707a10bedb99e93c2f8e153c03f53dbc178619beaf46963c8151d3b9fdae973b7bcf01be1de2e839305883bb2cdae43aa2d3aabd7a5c3abc291e87bb0e1885bbf27d1ebd4f2432bc001de7ba344709bca9932dbb3d3fb8bb99fef4babb7511bc56cecf3c5c1b28bb99784dbec1a1733f23dde13e64c2e6bd8ab03ebe481f4f3fdbb70c3fa6c815be0b9509be42d2193f2129223ffeb12fbe36c694bdf867bd3e397f253f76ca26be5aed8ebced2a313e596d163f3b1708bec338a43c30535b3da787e13e669fa7bd27f3313d33ed97bcd9aa833ebbec13bd55bb443d158354bd6a02b63d03fd6abbb7e0403d285e8ebd7a0330bd2a3f673c83f8cb3cd55234bd0ec006bda60a483c621c983c5bb2dbbcc7e9e4bdd3e3b43c90f1073cd3c6b8bab3e720be8dbc7d3cf8008eba1ee5383cc84819be6bd1d7bb701964bb44936c3cf09de3bd3dfecfbce7b0d0bb87cd013c7c6d99bdd992d9bcaf2b58bb2a9d78bae66802bd4927bdbc023e07bbea991fbcfefaee38358c55bc1d9f9eb9a6571dbcf309bb3c2dd0e9ba756428beda49373fb614323f9e4629bea4bd09bec0b0103f21074a3fdd9c41be0335adbd688bbe3e509b573f5a8743be599aa6bcbfa93a3ecfc04c3f4a3127befa23143cfbd9693d0811273f2620c0bde466323d886cabbc0d57f53e7ba76bbd3eac393d8c2025bd6dfa823ed77705bc30bd2f3d2f7224bdb7259d3d5dbc373c798a103dbad235bd686270bdfb16623c6803393ce05c6ebcfbf669bdecf38c3ca058223b266e123cee9304be0444813c6b2c97bb0fb4b13c397d20be8b9060bb03d1a4bbcaeab23cda530dbe315be2bc00e1ebbb0619a03c5117d7bde79128bd9434d7bbdc4bed3b733d8cbdcfc81abd388789bbe98700bb6bfce7bc77ddf3bc9f99a9ba9b590bbcaca59fba8d8f81bcfadc6aba645f1dbcd5a58e3c3b072939e5dae2bdd11aeb3ed4cd6f3ffe1050be09df9abd2fa9a33ea479803f291057beb2f0b8bc0c0d263e439f7f3f682f3dbe12ee773c4979333d9534613fb81602be6c36333d77aa1cbdd39f353fa14a91bde3894e3db0e74dbd962af33e145994bca4a0393dd60328bdbe4b7c3eddcb553c9bb6ff3cb2f4c2bc6018803d761dae3c37bda13c0c0258bc382490bd3bcc503cd091eaba3bcf1c3c928390bd405faf3c4f6902bccdb8fb3c2fcf0dbe85befd3b863f31bc89ec183d38931ebed10ea3bc960e3abc6dd50e3d606b0cbef53b22bd9840edbb9479b23ceb7ec4bd0fbe5dbd9b6fccbb87860d3c3f2977bd3e7048bd85d822bbd5947bbb26afd8bc22800bbd26d5a53a897b20bc284324bb25e874bcec082e3962db17bca449373cee22093bd2885bbde81b693e68678e3f361d56be9a858cbc3cf1d23df92f943f73b048be952baa3caf6cacbb03908c3fde5316be0070443d674b91bd7f406f3f49a2a8bd2321673d3ac9c0bd9356343fc64752bc4caf5c3dffa999bd309fec3e276caf3c9014193d73b317bd013f673e55d2293dba458d3c24006ebbc13b253d7397063df4cfb73b209c4f3c4a7b96bd6b001b3c7fa443bc074d0d3d4fabe7bd69b2bf3c23d794bc0f643d3d667c0cbe8614c43ae58984bcdd8c4b3db85120be03ed06bd1f3640bc88bf153dbad9ffbdfd496ebd28bbfdbb7282983caf6dabbda32991bdc10398bb7bd9943b22f748bdf9a27fbd4771b5ba0fa384bb1be7b0bc375f2dbddcd29f3a8b2122bc7fcbcebb27dea2bc7b83a6b9d516e1bbad8fe53bcfef223c560fa33b69c438bc6e90ac3fda4f5bbe7715c93cf2803dbd10c6993f8b3c08beb9975c3d1d6503bed24c923f9156afbd9b2e8a3dd05715be78a06d3fb40c4cbc5a7c853d2cd100be3ef12c3f910f583d2c244d3d1ff4a5bd60a9da3e55979a3d58d0de3c6d71cabc9d67433e5b27983d76e3923b61e5873cb9f30c3d35963b3d8abef4bbb767123d255cddbd975fb23900000000000000000000000000000000706eaabc5296863d972e2fbe2b574bbc225395bc7ecc563d6d9803bea6b66abdcab63ebc8b60043db9adc7bd9c68b0bde55b0dbc8d728b3c78ee6bbd7db5bfbd9e8549bb8868c53a6022dfbc964ea0bde67386ba24fab9bb7b8034bc32914bbd9fbd373a57dc0bbcb81285b91d6c53bc0000000000000000000000000000000000000000000000000000803f00000000820a8a3d0d6166beeec6ad3f154fb3bd07a8963d979d54be35798b3fc763d83cea7f983db78340bed0165e3f44cdcf3d4193863d7cf214be9e9d1a3f6c1c133e71772e3d866ea6bd618eb53ea22e183e6b879f3c3dbe95bcfc4c1a3e8c09e93da03851bbc9b4e33ca7c9a6bcefff4a3d000000000000000000000000000000000000000000000000000000000000000084f8523d2ad3f3bd891a86bdc4d0ea3c7563153d86f45ebddf1c0bbeea204f3df799ba3c4b5f96bce0362abe96297b3dd93c233ce3153c3cdaba2bbe783c5e3d4fc10fbbf772043d36cf0abea4fe2a3d36dff3bb31a1e33caa06a1bd344cdb3c543b08bc61a9713c4f9398bc553d593b00000000000000000000000000000000000000000000803f00000000000000004c3c45befca1aa3fbf4556bd1ab53fbc10913abea663843fb67ce73d9e3973bd718a27be6320453f6af86a3e1263d0bd01a6f8bd4bf4ff3e5fc1953e11aaebbd7e129cbd72d6843e7091953ea0c5e0bd1f33d0bcd9639b3df7b9613e2adaa0bd93e28e3c644778bd3a11ce3d5a2a01bd00000000000000000000000000000000cff42b3de362c5bdf9da1bbc2540473cce55303de30371bd6c8bcbbd6775283d6e88db3c24448dbc52842dbed1646a3dc5aa293c3fc4b93c508145bea0ff653db51968bb8e93393dc52232be2b88343df8d022bc654b273d0dd4fabdc166c93cfae814bca2c29b3cf19c5cbd1c55463b5f284dbbc1dd32bc7076453bf80ecbbab93ababbef8228bcff22293d754b67bc29814fbee620ab3ff856073c28db83bcf5fc67be4e8e953f4d4e003ecfdb42bd9e0252beaa826b3f88c3973e25b0dcbdb8f621be6526203f8d08d13e0cc10bbec96ecbbd6c93b43ead23e33e64aa10bef8f61dbd5a490c3e7620ca3e4292eebde5cf363c669266bb30ba873ed71088bdfe3d2f3d2fd657bd0690af3d816ef3bb0d155b3dfb7fe4bd082929bddd14e93cb26dfd3cae6e3fbd27b717bdba07c33cff00ee3c37e0c8bcee3400be3d8a433d8783853cd7c8373ce2063bbe4075643d9cacc9b8f9182c3ded2542be8c0a353dbf61cabb1d87323defd11abe4d62c63cf00321bcbfeef83cbe6dc1bd84cf1539bd3aebbb6a2b363ceae312bdb1266bbc787235bbf5107abcb295863cdd598fbc9ad41abb6ac9b5bc97ee503ddd3aa6bcf62a4cbebf5e8c3f99de803e557598bd565260bea8e5783f3984bd3e9d81e7bdf05e35be2dfe363ff2cf003f388b15be8850efbda503e13ec901133f4f2021be48027abd81715c3e62050b3f540809be83854abbb81e423d66d1e53e29e0c7bd5293d33cb7ad06bd82ab8a3e20d311bd19a54b3d63fd79bd5c34963dae24903c916d523dd74e87bd386793bddf6c3f3d0f82b73ce985e6bcc6ec69bd8c9dfd3c169a923c7fe2ea3b031218be12ce443d90030d3bbf5d223d86aa3dbecd64293dc9a8e5bb45d0453dd88b2ebe7c0fbd3cbbc63cbce3e6363db3e900be4f7c5ebb47b20abc9f3aa43cb9a189bd409dc0bc69e1e2bb3868e539d2f74cbce7a30fbdf12628bb4a2d8dbcd000df3cf491e8bc87168fbaddedb2bce729583dbf17e4bc6b9942bed758653f174cfd3e09bc05be5b2640beda8e3d3fda0f1e3f01de26bec38205be1f87f93e7f50373f262137be66868cbd1a18823eca96383f719824bec5b260bca0df8a3d9f07273f254100bec26ace3c9917d9bcddfcf43e889579bd0eab433d9a6c8abdf8058b3e03be61bbef704c3d3c4469bd00c3563d2217293de4f9323d5be347bd8187bbbd9fcd773d09f5823cb9471bbc9ddb9cbd4e580f3db34f723b606d0b3dc6f81fbe34781d3dc26fdcbbe2b74f3d8ecb31bedbdcbe3c18f045bc8e4e4b3dff1411beed3909bcdd0f19bc4c1f163d6e24d0bdc884c8bc2a5129bc3319733cab0a24bde0c14bbd31aa9dbb6f5e6cbb8b3e643bf0544fbdab409aba63efabbc175f0f3d59281cbd59431d3a31e1cfbc6a04593d821bddbc8a6f21be0af9293fa44d3d3f3c3437be9f2f0abe70c1f93e68ce5a3fb0cb4cbe0af49ebd3d548c3e9938633f20b03abedb51a3bcd64cad3de479573f9e1f14be9f05cdba22123c3c021c263fa11977bd7b44403daf73aebd12a6fc3ee704a0bcd010433d55bc98bd87d97c3eac41223d4c69363d4de628bdae7ce33c7aaf873dc802103d7867d3bc07a5dfbd4893883ddb989a3bc4a0453c2483b6bdc884123db4c6d8bbb7923a3dcc8017be437faf3c19803cbcefd7453d22b715bef72ba8bb60d240bc1f52103d8c07e3bd090115bd15704dbc0170d63c13fa81bda79976bd6308f7bb9f61743b12a18cbc30778cbd5a4892bb49b72dbc72fa913c80917dbd2d711138f9caa7bcc0930d3d6f4f22bd77793b3a169eb1bce373373dcddbc5bc55f1e2bd8cf1d83eb8c4763fde6053be100e95bd96be7c3ec790873f57d558beab7596bcb304993d4323843f6fef2cbedbb9bd3cf3f20ebd4721653f59f1c6bd5ed7483db2c5dcbd49d5353fd36adfbc8585693defead8bde861eb3ece751d3d0a38523d9ef696bd77ad5a3eb1359a3ddbb2073d42ffb9bc6337893beea2a03d79a3ad3c8347af3adec2fdbdceb1813d541688bbe51ece3c7cecb5bd9ff3df3cfdba37bc8817383d0a2607bea50387b95ece66bc73a53a3d65a9fcbd8ae9f9bcc4485bbc40ab033da65dafbdf03481bd8a3e1bbc997b823ccd1e2bbdee34a5bd7bebddbb8742e838591e18bab661adbdda56cdba95c05ebc0149c63cc3ca8ebdc749843ad3f698bcd537ed3c78a01ebd9bee1a3bb87b87bceaffde3cc32520bccbc861bd6c77443e358f933fc27f5cbe8b2952bc23a7163dbb8c9a3f407c46be5b2ab53cd69981bdc63f8c3f7a53eabd397e5c3dcb2207beb7406c3f7a9718bd40fa703dc8030cbe84882c3fba68393d777e743d8edcf1bd916dd83e6d76ba3d14772c3d13227fbd7377363e357dda3d2b22a73c1dc6b0ba7beb44bc93b9a83d7141c73b3a3bca3c16e4f6bdf8ca263ddd7111bcab47073dd5ccdcbd1fbb8f3c5ba593bc7bac3e3d4e1ae9bd207ed0bc3d2387bcd782213dbd53c7bdc0ba7dbdf46b4abc29a4bc3c83ef61bd8d38bebd485b09bc2a3e513bb77f1cbc9294dbbde4d473bb87e626bc11a0a93cf530c9bd51971d3932aa8abcc270ed3c9a1292bdf1f8773a63b81fbc9acb4a3c80f5d6bc1697633a8e632abc86ff893ca1a2703831d9f8ba61d6dfbc78d4ad3f3b0050be7671363dff4907be6861a43f6f8711bea7c1883d8cd042beecf8913f0ce43dbd2f85993da1fe48becd47663f0dd6483d466b943d0a9f27beb73b1f3f39adfb3d3270623dc8aadfbdeef6b53eb4b51d3e146df93c1caf12bd3102fe3d335c0e3ec912743a46e4c23c5ea1ddbc2bcfa13d7027ebbb8c94343db8240fbe5538aa3c00000000000000000000000000000000488c93bc74f2503d168ffabd5fbe1ebdd58489bc523c203df7b09cbdf31aa8bdfeec4fbc019ebe3c90051bbd0bebddbdb66ff2bb934bbc3be4b307bb3f2fedbd4dfa1dbbf07938bc1d6cc43c2179d9bd625dbe3a6fa57abcfe57e73cefc294bd803abc3abb4d3ebce821923cefb9ccbc0000000000000000000000000000000000000000000000000000803f00000000bdf2883da5a37dbeaad8ac3fe16170bd05b2a43db12d7abe4fe58a3fe1865c3df207993d595f5cbe8afc543f8c2d113e751d883d4c682fbed231113fa04e453e65074d3daf0dd4bd5036a13e0e484d3eb1f3b63ccd1f02bd06b8d43de9d3243eb82b6cbafd53c83cb3f861bd20129d3d00000000000000000000000000000000000000000000000000000000000000000f87f7bce4d688bdb2f407394c8ec93ab507ddbc76777fbd2a4824bb521f853b84b9c3bcdccc62bd559d4abbca40603b1bdf92bc507045bd15c1c8bb1a5e4f3b4d7754bcb36921bd239910bc2f053f3b16ccb8bb99e5fbbc307227bcefe17bbaa68fde3ad3cca6bcca9a32bc53d97bbb00000000000000000000000000000000000000000000803f0000000000000000497808bded8f8c3fa9f955bc0fe6ccbb2648b8bc8df4693fcbdae138d49e63bb60b78ebc4daf3d3fa11b8b3b03271ebb2efd9cbcf158123fab6a0d3ceee2acbaf93ac2bc5351d23edb3ff43b69a792bba248ebbc51dd813efa43203bb659babbc05a16bdce82cd3d386e48bbbceefdbb0000000000000000000000000000000062e7e5bcb5d12ebd431bec3adca3d5baa163fdbca0a59ebd1c6686bbf9ac173b836cf1bc28c1a2bda9799cbbd024e33bc1dbd4bc542091bda34402bc3768e23b70f19ebcf7176dbd10171dbca37db13b64053cbc34dd51bdaa5e57bc6d18353b5d957fbbedda1bbdf9d65ebc3e736c398f35de3b0b94acbc04e03abcf989fbba2032013c8473e7bb24bbfcbb6ef293bbfa1472bd3f858c3fcb94e33db425c1bcdb768bbdaff9843f615fdd3df803adbc86ba49bdf6b75f3f78a3d73d2d5e7dbc87af2cbd1d51343f0da7c23dde183dbc5aee1cbd4036093f74b79f3ddd9d1dbc7c842ebd6463c43eb193793d20631abc4e8139bd97de6c3eee9c1d3d032f34bcd91647bd206bb33dd6ef803c1cad3ebcaf481fbda7c1f1bcd56881bb978018bcb642c0bc8db402bde859803babcd863ac21beabc09537cbd9cac2bbb11afd23bc41ebdbcc39b77bd53b602bca820193c26e8b6bc3ea384bddc5846bc825a343c74e078bcd20a47bd878041bc79c4fc3bbd0a1dbc3f753cbde87573bc82dfc23bf1215dbbabd905bd605a4cbc69a75f3bd0c49c3b0b38a8bcfec544bc6d4c3dbae27ec83b426ddbbb667cb9bb1fe2c3ba49fa77bdb0ff6a3f56b8873efb4202bdfc0e99bd8444613f2579813ea8050dbdcb1d5ebd5542393f981c693ee385babc546255bde06a1c3f46c9463e6f0295bc0c8c35bd252aeb3e5c8e1d3e173748bcc8c246bde52aaa3e0aeff13dd34365bcb9cf2dbdcad0513e21519f3d1a5e53bcebcc3dbdc21ba33d18d3183d0bb73cbcd07c0bbd4d899cbca873bb3a2a5d18bcec65a5bc0fabdabc6cfbb13ba65eb73bef3fc8bc59c559bd8bc584bb3744443c3200acbc762778bd8cae46bc3f41713cec7b89bca32d6cbd7f5c7ebc9146693c09d45dbc0a0c4bbd951169bc154d0e3c093ce7bb5cf42abdaf4388bc18c6013cdcabd9bab83902bd060e82bc20f6a93b5bc7443bb7f392bcd29048bcaece453b0c97853ba544dcbbdfaf83bb847daa3acb625fbd4f223f3f627bd83ec90d1ebd0d5990bda18a363f7c60cf3e451d2fbd1bbc75bda0161d3fe352b73e8411febc020d59bd720e003fd0d7993e2145bbbcf5f541bd1d53c53ec93d733e6c3770bc94d13ebdfd998c3ec7dd353ecc737cbcaf133cbd67ec2a3e76ceef3de55456bcea9b2bbd8e10853df4f3683d55d331bc1ddfeabcb91671bc1535433bb8100dbc71eb86bc0916d9bc1e08893bf8773e3c47cb92bc821043bdf7e403bcb8778d3cce1768bc148e4dbdb4ee7cbcc0838f3cf4634abc736657bdec1aacbcf83b953cf2082cbc8f140cbdddf876bcd590423ceebca8bbbc6f1bbda4bda1bc0be4383c724877bace5bd5bc6a9380bc2680d33b37f7fc3a8cb78abce1e927bc78655f3bd95d6d3b2552adbbf37885bb805e003bae8c47bd9583143fad9b153f367f36bd641a77bd6a310c3fcfeb0e3fef8241bd3ddc47bdb6c9ee3e0dd0f53e0faf00bd239444bdac80c63e86c4d03e4849c7bc083e0dbdc1bb933eab849d3e016b62bce6d129bd83025a3e5a86733e854b57bc350d14bd75c1013ed0641a3e91b716bc532c0fbd4b64453d60609a3d08ef10bc28cab8bc6ab584bc3bef8a3b5bd2bcbb3cbc25bc0f5aedbc182642ba554a643cdedb3fbc9d014bbd9f8399bcc251af3c76ad17bc5b2f5cbd9208e9bccc8ac63c589103bce1ee48bdd326f1bc84d6b23c82aab1bb4a6135bd645fecbcf68e9a3ce63530bbdffc0cbd8a00cabc80de4d3cc6c06f39f6a2cfbc8999a6bc49e1fd3bb6404b3bb5e566bc3e0047bc35a6a13bc7802e3bc10da1bb54e261bb4df7403b4d2127bd7cf0d53ef54a403f015944bd47ac5fbdcaeaca3e3e6d3a3ff6aa66bde82a3fbdbf84ae3e2902213fdf7d16bddb7d2cbded4f8f3ed5bb043fb919c7bc589217bdab145c3e997acf3e5b2581bcfd7c0ebda18e1a3ee45d973ed5ca3ebc16bb02bd0373b23d0f03423e8dd90ebc6bd4ddbc3d40e13cd839b73de2bce0bb3f7690bc86ae97bcd0bdd73a5e6851bbf45290bbee1bfebc67a919bc3592913ca70092bba4f54abdd47608bd9b95cd3cefc655bbacc540bd80d413bdc594b03c18311ebbdb1142bdd3b92abd5cb3bd3cf28027bb519512bdd63207bd5f76833cf2ed4a38aea203bd489705bd16ee373c2c179f3a12aca8bc1e56bbbc2fbbd83be7dd5c3b098e2dbccc1f69bc3698733bad353a3b03ec0abb962941bb0bc31f3bee240bbd8e0c863e0c316c3f09e25fbdd5f12abde2ad773ef1a8633f26d86cbd0bbd04bd96d9573e4b213c3f5a44fbbc005005bdbde3303e3f0e203fe535a8bce9a1d7bc7621053e8d29f23e283e25bcaa71d2bc3abeb33db6b3b33e8a73ccbbfe54b2bc1074483d9b27633e8ebdb3bb656995bcb9959d3bf25ec93d65e892bbb6ab31bccb2bb7bc5269a8bb44940abb0701203bfd621abde2ffdbbc2a3aa23c2f90c33bb82148bd131974bd41beb83caae8243bd58645bddec380bd69d6c03c8f1d073729da2dbd534069bd9659993cb12a883a303408bd3b8a3fbde650613c1071993ace3fd8bcecb728bde74d0b3cf8e5583be80981bcdd8b05bd4d88103ba9ab793bd13aaebbad4895bc2b5c81397d502f3b0d769f3a4ccf87bbf067f439cf84c5bcced4dc3d20398d3f6f9b53bd43cbd1bc01dcc63ddb87853fb0f84dbd1c12b8bc9815b53d2be4613f9a2fb0bcd240a2bc2e35963d076a373f64270ebc62d58fbc38705a3df18f0b3f4ff1a9b9311c84bc0329fb3c2496c93e5fa8f13a181c41bc5d19bb3b8e53773e1a419eb97264f2bbcf0f85bcd196c93da06c3dbb323e81bb4012eabc62d4a8bcec2a37bb0000000000000000000000000000000012e8db3b562023bdc7f074bd11859d3cba3e993b0b240cbd035f6cbddd16873cca52283bd74af0bc71364dbd26ef383cbc7aa63ae8c7bcbc52452dbdf32dec3b4477d43aba0a86bc060512bd9a42463bcb6ef13a09cf20bcd20deabcbdf7feba08f9093b4fd632bb4a179dbcecb39bbb0000000000000000000000000000000000000000000000000000803f0000000099bc24bcb31ebdbcf5188d3ff85b75bc2cd411bc6ad660bc1a6f6b3fc794deb9931a0ebc9c5052bcd0293f3f0a600c3cb83d02bc9d0e46bc038b133f7fb9203cafd5cabb5ea478bc5dddd33e9ffa093c153486bb68eeaabcb8c0833eb8a5bf3b4eb7adba5d17edbc52d6d33dcba59d3a000000000000000000000000000000000000000000000000000000000000000081fb69bdf534bcbc8463523c4a44be3b3d134fbd8c36dabc00b03d3c69010d3cfb4733bde0f9efbcc4680c3c6b3c0b3ccd0e14bd3fdcf1bcdac0033c31d1d93b6fe9dcbc64eeebbc3fb7f03a8ee5c33b36449cbc3b36dabce40706bb3428333bcbbcf0bb0321cbbce636c4bbbef802ba00000000000000000000000000000000000000000000803f000000000000000043e414bba83f7d3f6bf4fe3b8f7f1abc43f0c4bbb6e4563f5435583c77679ebbaa2f15bc691c313fc9b1913c949841bb5e9874bc3fa40b3f3356913c1aec7abacae2aabcdf67ce3ef4f08c3cbdbd9bba3f5fddbcfba1853ed8e8603c2ece2dbbc43d10bd5cdef43dd867233cfb10a3bb0000000000000000000000000000000063ed59bd67b07ebc0e027f3c0155943b87d487bd6bddfbbc3426703ce320043c21927ebd1b171bbdc6d74e3cce4d393ca07760bd03ef24bd9247193ce1db423cbf6b2cbd4be819bdbd31a23bd026283c9ff909bd5b7221bd5ae39cb90bcff83bceada8bca19e14bd05f643bb31f88c3bc58dd3bb8f35eebcf2540fbc533883ba3cf722b9266495bcb593f5bbc107bfbaac2166bceef97c3f4ae9073e8d1387bc690b8ebc43c1663f24c5033e7b0985bc493a94bca77b443fdbe1f73d214e1bbccaebb2bc872f223f19e4dd3d0d1ac0bbef4acfbcdcd8fc3e112eb93d73cf39bbcfb70bbd4352bb3e453f953d1f1b3abb895226bdf85a6e3e1c62563dd4de4dbbd96737bd7701d13d4f98fb3ccfe5acbb53ee13bdfc0d66bc00770e3ca3887dbb70493cbdb8f770bcffd77e3c19a4c73b5bc87bbd271901bdc29c853cd31d443cb6fe4fbdfe080bbd7512453ccd8e4d3c91e549bdd0122fbdfd8ac23bdc2f783c14fe14bde21414bd57fa3c3bd4a9413cb89df4bcbd9827bddef138bb5150333c13738ebc430601bdadc3a7bb672aa83be810b1bbbad9efbc4c1c17bcb7d6683b2d2f07b9763788bc80c9c9bb1d6f10ba20aca1bc14d5563ff6748a3edaa09cbca519e6bc0699453fa59b833e005a97bc625cd5bc4d3d263f791c683e97651bbcffcd02bdb1bf0b3f7fbf4e3ede73afbb39adf7bca6a6d73e381d243e42f0afbaddbe1dbd36399f3e346d043e13ab5239fc9a18bd9ca8493e0526b53d8c306a3ae5a637bd030aae3df05a543dc201383ab0ca01bd2a404ebc58d2273c88caa2b8aea826bdd42694bccd07853c6b3d173c51f459bd07cf08bd3de58d3c5dc8833cb31250bd753124bd60bf2d3cb7da963c19462fbd27ff2bbdc444ae3bb75c923cc85b0bbdb04f22bd98144c3a559c773cf180cdbc0f3a23bd88bb8ebbd665453c510b7abcf6530dbdeb99e7bb8611143ca072aebb90dfdfbc88d30abc5345b13bbcce6aba47de7bbce47bb5bb1b69ad3a177ac2bc1ba5313f1ebad33e32cc99bcd13506bdd02d233f03f0c53ec4c393bc8be006bdaac30b3fe51faf3e39530fbc65280dbd603ae63efd19953e3a8942bbde3211bd5873b33e4536713e0eb8ec3a02651cbddfd5833e46213b3e7b02363b5b9f28bd02ba233eebaa013eba8a833b573425bddc85893d4844903dacee953b6cc2efbc4d4a57bc50e4423c86eb943b92a811bd04fcacbc6897913cbebb683c63e030bd2fbf12bd3240773c21d8a33c0ec91bbd0b571dbdd4e3ef3b3d90a63c4ceb11bd4d2f31bd0072ce3a45aba53ce055bebc6b0201bdf027c6ba2316683c724bacbcdcc119bda90971bb6546633c62a536bcd21df6bcf83206bc1dbd223cc6003abb8bd7ccbcf57819bcd196de3bfc6ebe3abca18dbc87d8efbbacd6363b8664ccbcf1cf0c3f94330e3fbbc783bc05020cbdee31003f85c7033fae696cbcb71503bdd111da3ed0c5e43ed89d8ebb991713bdc42bb53ec70ac43e6315313a0c04e4bc3df0893e054c973eef47a43b91b918bdd1554a3ea881713edd5e003cf26616bd0decf83d8957223e89800a3ca0740fbd59e73f3da415b23d10520e3c5c26cdbc31ed8abcd5f96e3c2d36033cc653dabc7a24cebca1528c3c46e98b3c34140dbd19b826bd84c3443cc4f7c43c8773fcbc72bc39bd0150143b74a4d73cf539dcbcaebf30bdaf4c88bb4256b33cba95b9bc9a5220bd2acbcebb981e953c5d2c71bc0d8516bda51d32bcaf0c753c9e33eabbf8d4fbbcde3e4cbce2242f3c2f59373a3082bebcb73a41bc52d7dc3b6c82473b38ba57bccd46efbbcc146f3b6f0ad4bc5990d03e13d7323f27fa82bc00f412bdbed4bd3e4e22263f868932bca5e914bd5e09a23e47d9103f731fa438559415bd1354853e0c01f33edf2ecb3b293209bd57c44c3ee3c4c13e051a2a3c318a10bd7a16103ef93e933e27904d3ce7d80bbda676a73db2fb463ec53e593c3cc3ffbcbf90c93c5511d13d1bfc463c7722a9bc91a4a2bc5481403cd96e323c8b0689bcd8f2f7bcbed3453ca584a73c9f64c0bcc7f63abd6b3ecb3b32f3e33c307ba5bce1e82ebd3fc77ebb9654bd3ce98a9abc0c0336bd555d28bc87e9c03cea075abc918e11bda77246bc19c28a3cdf4b0dbceecc0ebd0f2885bc807b6a3c159d17bb4e72d1bcc0927abc6e20033c92bc9b3b8daca2bcf68372bc5bb9ba3b59f9c23b28ec2cbc52e50dbc5036553b0edcd3bccfba873e67e0573fe54d2bbc52e710bdb1b3743ed371483f0da077bbf6baf3bc8c27503e27042a3f2902c23b408e08bdbbe3283ecfa3103fa90b683cb43fecbc3032fe3de5eae13e21a57d3c450e00bd85d3a63d57dcac3eaef8933cf428d8bc541e363d35b1633ef44d6c3cd4aecfbc3b4f303b6e42e93d8bf37a3c220385bc64b7c8bcf2f0fb3b570d3a3c9bd927bca76212bd46ecd53b5008bf3c2d1621bcf0fd3ebd5cdee2bb24f2e33cb7f12cbc40043ebde45c83bcf485c73c879a0fbc30a92dbd8479acbc18feb43c159dd2bbb2660dbd873facbc455e763c335609bb460bfbbc414bc2bc8429303c1698503bf934bdbc8d4cb7bcf5d4c73b8c701c3cd90d5ebcfaec9dbcbb1bf93a0870013c1eadd5bb94e74abc563b98b9bc56c4bca9c9ff3dd55b7d3f47ececbaa12bfdbc8215e43df321693ff01fe63bba11f2bc94fdbd3d38e4473fa0b5993c11e4ebbccc16943d167a253f63e6c63ca124d1bc5939523d619e013fc189bd3cc54ccfbcb756e33ce24cc23e81c3bf3cb443b5bc35cb993b7a5f7e3e2c4fa63c302d97bc506597bcd8e7f53d1e3b843c73802dbc23fdfabc34395abadbd23e3c00000000000000000000000000000000c73e91bb0a481ebd27ec6dbcee73b83c874b9abb604508bdef709cbcdac78f3ca311a9bbd34bf9bc45ddb6bc05f4683caee8bdbb45d6cfbcaa6ea3bc685c253c8a6469391595aebc518ab4bc7f6ebb3b50a6543b08f46bbc817ea9bc8ce8073adb690a3cb3a31fbc17ab9dbcabb1e6ba0000000000000000000000000000000000000000000000000000803f00000000d199a7bc52390fbc9da37e3f0fc89a3c26d396bc38faeabb417c573f59f6be3c17ab9bbce9fe0abc1e40323f1327c93ce8da7dbc9ef03fbc29de0c3f4e93b13c929e86bce58a8ebc61e1d03e1ebab13c787255bc9adec6bc3395883e1af88b3c99ba38bcd622f6bcca23003e4dd76f3c0000000000000000000000000000000000000000000000000000000000000000441d7bbc0e861bbb92f9a43b442a3d3bae3267bcd88566bb4fc08b3b00794a3b46465dbc335d82bb849a893bcef0543b843a37bcfe1989bb2368483b0a12403bb59c36bcef2daabb30db253b2a6c483b3e6e19bcecccadbb3f55bb3a7e39263be2420dbc0eadb8bb041f7e3a3d5b2e3b00000000000000000000000000000000000000000000803f00000000000000006502523adf26643fdc33aa3bce09eeb98e8fa2b95655433fae08c03bc152b33906bba0ba56c1223fc99ece3bf075253abff00bbbcfec013fc494c03b17f2873a0a196ebb8912c33e9f4cd43b072bd73a3da29cbb6fbd813eca7fbc3b3761f23afb56cabbb9e4013e52d3c53be704273a0000000000000000000000000000000008316cbc1ccbaaba44bea83bc73c273b4c2d9cbc515970bb61f7c43bef977e3baebca1bc0b6fcebb9900cb3bc198a93b632295bc0557cfbbd7349a3b0962963b0b5d87bc4046bbbb5a697c3b1e8b893b2dce75bcc363ecbb8013453b7b6e893ba3674bbc8a1110bc0eab1c3be4ea8e3b8ee935bc931cf5bb8c31333a3b0e493bb4b5c9bb3ef09ebb8e60ab3724fcec3ab070a93982df633f5bb9043ee214a4baf37345ba51a7483fce76ef3d34918bb9028845bb78502c3fa49dd33dc9d7e73abf5d4cbbf7660f3f1495b33de20fe53a571b65bb3fbde43e379a913d3d22083b366ab8bb6ab5ab3ec146653dd8512d3be91ed0bbdcf6643ec2d1243d31d9783b535708bcab4ce33d36e8bd3c319c533be3f2c6bbda7600b9edf4963bef2f113b610a62bce88a28bb9bb98e3b7c54123b8996a4bc71e89fbbe733d33be8029f3b93368dbc4c30b8bb0eb7963b8edb903b4aac96bcb0cae9bba5cfa03b8203ba3bffbf75bccfa9f9bbcd756d3ba4379a3b3ac077bc0a3404bcdd8f2b3b38b99a3b50cf3bbce288e5bbb848b23ac9ad6a3bc1bf2ebc570ffcbbbf04f839ef744f3beac6c7bb3633a7bb159b3bb92e06013ba423d1ba929e433f7cb5823e31a2a439b9d028bb70622c3fbc7c6a3ead9eb7392b9c54bbeb4d133fe7ca493ed07eaa3adb9293bbf25df63e32202c3e73c90a3beec3c8bb022fc43ef4d0093e69e5403b7133e1bb552f933ef66ad53db285683b6690dfbb27fd423e82ba903d8c2f603b53130abc9b91c23d6902213d01b9843b729dcdbb9b6336ba8977a23bbe463f3b5d5c4cbcb5953dbbdf7e9b3b94d24b3b51ca98bcde3cbcbbe572cf3bccb3b53b022394bc56ece9bb04dca53b74f0b53b91448cbc228900bc0224803b77bbb23b175976bca915f4bb93c73c3b21dca43b798057bc1e5f16bcb0f1693bbba0923b79dd5bbc6f2722bcc70ac73a1792923b808c21bc5f2708bcc89abab9a9a49f3bf2d9bbbbb11aacbb0ae49fb990a40a3b774107bb57ac223f6ed2c33ee133ffb9dda979bb98af0f3f496aae3eaadf993a2f439ebb234cf63ee79d963e776c193ba5a9bcbba1e8cc3e53eb7c3eba66593b2740c2bb4a5ca33ea84b4b3e6bb96f3b8e6206bcd252743e162a1b3ee8a8863b0c61fcbbde62223ef7c3d43d95b09b3bf33516bc9b149e3d9bf75f3d9a00cb3b37e7cdbbfc609cbaf0c3af3b1de96b3bc72b26bc47428fbbccae703b7144293b4e8c8dbcca3befbb7305d03b69f1c83bd91a80bc800e03bc2fb7923b0a44b83b3f4a84bc9f7202bcf8565f3bae1fb93b3a3532bc9b58cfbb2861e13aab54823b55cf58bcee330fbc9c8fab3a50229c3b557b25bc5567fdbbd9670f3a56bf833bec0a01bc72b516bc5dfe84395a50833bf27c81bbad6fccbbd8229139a0d63e3b26306bbb0ddc013f5891023fbd30603a0ebab7bb2202e63ec35de73e3de4053b7cc5c7bb4c9fc43e49b9c63e41c73d3be24dc6bb71cda33ef608a73e6e4b843b9556a8bb69f1813e4ec6843ef9d3663bcf7b00bc9e01433edcca4b3e3f4faa3b43cdf6bbc2ad003eb682093ead6fb03b528021bce6de733dfe48923d3f2ecd3b03ade6bbd3b04abb3bb8c13b0aa89f3b502c3bbc60ad9abbb6a9943b81738a3bf6cc91bcd6181fbc0d9ed43b6dc2f23b690774bc30e207bc8147743b071ed23b422872bc137317bc51641b3b8fbab63bed3a52bc8fe408bc2262c93ad8cea23b1fe63fbc3c6a11bca5af2f3a87cc993bd84e20bc71fa0ebc00f896b9e5fc813bd0f306bcfe8317bcb68ff4b9437c6d3b9d4c68bb67bba7bbf16078badae4f73afb416cbb145cc33e9be9223f32a44f3a123cb5bb1dc6ac3e5a8a103ffe39f23a5a04cfbb0c8f933e7329f83e404b8d3bf5b5ebbb4512753ec6a3cf3ee187da3b603adfbbb418433ec959a63e43a4ae3b956202bc4149113e33187c3e268dc43b389a0bbca1d9bd3df8352a3eb6a1cf3b689321bc84b1353d0e65b13d7c0dd43b11a2bdbb62da48bb580c943babd98b3b73641fbc86cdaabbde8c843bb409953b83216dbc7a4d0dbc4f068e3b1a8bd73b431d45bca06ffebbb5321d3bbd9cb13b6ae059bc55a01bbcdc8cc73a2e0fc03bfb123abc4bb9f7bbd65a413a33689d3b60e12dbce27d1dbcc34c39ba9bb68a3b7940e0bbb84cf0bb4f694cbafedb513bdc7adebb8102edbb2219a8ba342a4e3b1dfcd7ba4a73bdbbc0d00bbb12f7843a6b3670bb4842823e043c433fa77cc73a18f2c6bb10ec653ef8c32c3fa62c6f3b3a17b9bbe0fd433ed9d5133fdacd963b0de2eebbb006233e002bf83eb9d9ce3b53b3cbbbb931013e941cc63edb25cb3b6d910dbcb2edbd3d9530963e7d47f03ba353e9bb2bdd763d7b83483e503ac73b36231fbc6fbcde3c7e7acf3d774ce23bd8cc92bbe2b296bb359f5d3b9175c03b01ea0dbccce9c3bb2b124a3b56ca9a3b62d44abc65ed11bcf8ab483b77a3d43b88bc2cbcd1a822bc3aa34439e455973b872a33bcf7e415bcdf6e17399a47a93b44b713bce20404bc4fe92fba4df6863b8fa403bc77210cbcbbb9caba5b076e3b3da502bc80dd2bbca58e90ba059c713b1502a2bb7436d6bb551e17bbdcac0a3b9e88ffba5c51a6bbd5990ebb436c9d3a026080bbf094023e8c92633fe3e0363ba4d3bfbb2913e73d50fe483f8b8cb03bf2c7ecbb9550c23dc3912c3f0796e83b5127dfbb5ed9a13d68dc0f3f1f69ed3be418d7bb11077e3d6ae4e53e953ce33b350bf7bbe412373da566ad3eeda8f33b417407bc927ae73c7bf9683ef9f9003cba83e4bb296c273c2d71eb3d31a0d83b331dbabbd892a8bb35a4463bf55da43b000000000000000000000000000000000dcc0bbc42bcdcbbba47b2b851b4b53b5781f5bb9290d8bb5919ee38658a853b2575efbb89d8e4bb1b2d63ba20de693bdecb94bbb3d6d3bb40b2d5ba9abd283bff64adbbb3bad0bb2a4712bb3f92183b353a58bb6ea5bcbb292f1fbb42ced03afb4314bb728cbbbb21a43ebb0b85903a0000000000000000000000000000000000000000000000000000803f00000000015a80bb6c541439fd22643f99a3ba3bac0292bbe34a373a6f3a433f45f0b43ba642aabb691296b99cd7223f4a5eca3bac6eacbbf3d1b7ba4914023fe569ba3b5356b7bb683f2cbbf6afc33e5fe5c93b0ba0b8bbec757abbbd9b823efa32b73b00c8c1bbc945b2bbf2ab033e88c5b63b00000000000000000000000000000000000000000000000000000000000000005149623cc78717be0b7d43bcdeb8eb3bee1ea43b7e610ebeacba89bc865ff73bbbd29abb668cf5bdbac5aebca2abc43b1ea9c7bbe06ac4bd5995b5bc9779b03bf4b2f5ba62d393bd51ad9cbc03f1ab3be650163b128036bd467956bc99c58f3b1beab23bdd5488bcc53ee5bbf1e22b3b00000000000000000000000000000000000000000000803f00000000000000004b05bfbd7cada23fc3d588bd4f06763bcac280bd88cb863f8a14cdbca86392ba101735bdbf8f593f987191b8120d6cbbb37b08bd0480233f39f2543caefab7bba16de1bc8e99de3ed6b1723cbbffd3bbf6fa8cbc71fd733ef3ba133c68aa8bbbcf2734bca77d493dbc6ae0b92dd60bbb00000000000000000000000000000000bd5b883cde30c4bdd4171d3bef849fba57ae1b3d71e41fbe763441bcd718183c28edb33c947e23be9ec4c4bcc5a4ee3b07c1423ca1130fbe7966f3bce7270b3ccab4d63bed96dfbd2fa3e8bcbbccc03bfb172c3c96c3a7bd93ddd8bc5c32da3b13b0473c188545bd0f2a96bc9784d13b4b701e3cb03d44bca89fd3bb5e72de3b3b2e313caf910b3c5f7a0cba45db0e3bfac317be4f62a23f67ce643d8114a9bc069b23beb0089b3fbc80553d13a597bc660dfbbdf88f853f959ca43df311b0bcbe16bebd72fb553f1e3dbf3d7929b6bc9e6d8ebde7211e3f9b58b83da8cdabbc978f5bbd3220d43ea4199a3da8909dbc299609bdb5c85a3e49704f3d179974bcc73c2cbbd71d073d4153b73c6110bebb960bf2bb37b6abbdc45960bb1535babb1ca02f3c868e8bbdd8e0b03bb46885bb7dbfd03cdbc000be8fb99abccaea463b28ab6b3c614401bec46d00bd669eac3b661b6f3c6f7df6bd07911bbd28889e3bb51c073ca259bebde81c17bd450cbb3bf36d603c365f91bd11620cbd489caf3bdf8a683cd5e32cbd2f01ccbcb49ba73b0d35743c83b956bc256564bcb5b0b83b68f6563c1be2cf3b81d223bb61913f3b729013bedf93873f253a7e3e89b653bd78142abed765863f84257a3eb4ab5dbd583cfebd1c00623f0057783e8a8a39bd49cedbbd01a03a3fbb8e613e37dc2cbdec4a9fbd0a03093ff6be3e3e28e604bd400184bded0eba3e23b5163ee524f8bc77f037bd013b473e4cd0c73d2503c0bc5f6aaabc487e243dc7403d3da85383bcd52f39bcc3476abd18a0863ba2552ebcbf45d139eaec53bda642863b88c7d3bbd7258f3ca2b6cdbd3581f3bc839c4f39686b833cbca6e3bd9e8a3cbd6b8a7c3bf2e95c3c5139d0bd342851bd5c8cb03bb8ef2d3c966cabbd7d9e46bd0a16963bcabe6e3cd2dd7fbd0faa2cbd51779f3b7e0b803c221017bdde3e03bd679f9d3b5383843c68436dbce34b91bce712aa3bd7b7483c32a0373bf2478ebb60dc043beeeafebd490e5c3fa94fe63e0186a1bd419715be291d593f47d1e53e716cacbd6029fbbd12623c3f2c4fd43e3b3d92bd85b5cabd83aa173f1eb4b83e65bb6cbdc017a5bdb734e33e4bbb973eb05543bd8dcd81bdb821993e18a0623e8bff1ebde75d40bde3da233e2231123e773f00bdddfecdbc01c91a3d1481893d347ab6bc855b9abc635b2bbd2c01cc3bd41476bc2f0c16bb08f022bdfaf00cbb5d3cc8bbbb5a353c12339bbdb9dd2dbde8e0aebaa2bf3b3cb00bacbd6bab72bda964153b42a4273c0905a7bda2b084bd637a4c3b1633273b73a76dbddcef3ebd40f6643bad884c3c225359bdf38450bd05238a3b0796513c7715f4bcdb910bbd924b6b3b1612533c5d5d31bc554ca2bc532e903b2b102f3c791c243b836d72bb27316e3b02eacfbd5845273fe87e273fe7f1d0bdae61edbd5827223fea45273f6a78e2bd0e3dc1bd3dfe0a3f75e7143f0ed5aebdf689acbdc9b8e53edf0e003f275a8dbd3f8a6abd9050a43e4433bf3e5f9f1dbda89769bdb4d06b3e9557963ef5532dbd5bbf20bd2410fb3da70f373e94c7f5bcaa5ccebc69a6fc3c6f9ca33d44e6c3bc88f68fbc370a0cbd6aa11e3bd90791bc70f8053a67c5f7bcdc4685bcfbc485bbb47a6d3c24996dbd2ab18cbdcff1b1ba0b77893c8b3e8ebd4a02b5bd1ee4373bb12c743cc26385bdcb94adbd5cbdd23ad175503c0e5a6fbde51397bd785c543b2039603ce6e42bbd008072bdbb81583bdc1f4e3c11bcd2bce58829bdb307853b655b353cd0530ebcc679a5bc411ab43b6a54f53b8c88bf3acb1e0bbb39479e3b384da2bd283ae53ecec55c3fce1cfebdcdacb4bd148eda3e38af5d3f3d1d0dbed59e99bdb85cbf3e1c0b453f6c68d9bd8ba781bd44389c3ef704233f9996a0bd22c561bd09a6703e009ffe3ec68d64bd1c1a30bdd4a51f3e0803b43e53d92fbdd74efebcce5eaa3dabdb573edd9401bdd8709dbc3448903c2055aa3d0610c1bc955123bcd17be7bcc8d514bc638c88bc29179b3bd33fa2bc782325bdb91c0ebb1d6f733c4abd17bdcadbcebdab51933a5725883c21fb44bd51dfdabdd8001f3b71d28a3c6fd747bd7368ddbd8d21d238cb1d473c0b5925bdf2d7abbd792c3bb98f86503c1cea06bd2c798abd386052ba17481e3c395b94bcc4c832bd5b52e23a93fbf13b8f8ababb7402a7bc5a76e43b7226803b0d92593be990e33a741bb93b632b47bd95e67b3e9994873fce5313be740656bd6320633e2c02883fecc71cbebe813cbdae7c4f3ed3db673f93cad1bde23f25bdcf122b3e6a4a433f307ea2bd59ce04bda911023e8fce113f0c8341bdaa21d2bcbc49b23d4551ce3e3ff815bd383fa2bc91e6343d8adf6c3ea1e2bebca24a03bcf50ec73b9740963d961991bc6a7331bb7a26b7bc1b2002bd3d4e5abcfcddc83b46f331bcbd659ebdf4da583b03a3493ccb12cdbb5e8611be156d053a6cf8933cbbcacebc471b18be526127bb501c8f3c05b004bd88e207be74828cbbd0f46f3cac1becbc8cc7d6bd87b4c2bbe38f473c21f5a7bcb1a3a3bd31379ebb7732fe3bfd960dbce3744cbda80502b9b3b6a83a865efabaafcc8bbc7416043ca587793a633cb03b670e913b6d89d33b59489abcfffe5c3dc55ba23f910715bed47745bcd084043dc08e9b3fad7f14be61307dbc7c3a383da0fd863fa2dbbfbd288773bc2cdc3c3d1e215a3f867169bddb0062bc0f201a3d1949233ffd2debbc63b334bc22aab73ca10ade3ee4cf8dbc0362c0bb7889003ce0c56f3eb4ce2bbc714aa53aa45cb93aee2f4f3d542303bc46602d3b9fc8a1bcbce28cbd0c7214bc00000000000000000000000000000000acb15f3c71a43ebc911614be6e442139836d783caed387bc4e810cbe7375f0bbbec2653cc983b5bc86def2bd7a7422bc9675383cea1ba5bcaf7dc3bd0a6733bccfd9043c195461bc8b2d93bd192a27bc21149d3b5f9594bbf4f43dbd1a22efbb29544f3a94f9173bb2bb91bc7b5643bb0000000000000000000000000000000000000000000000000000803f00000000b28c103cf670abbde396a23f0b7295bd87d9a53bdabb62bd79ce863f562b02bd2cc11a360d4314bd2fbc593f900eacbb0fd59cba8f52e0bcd42a243f81020d3c1673143a4176c9bc67efdf3ecf9a4a3cd0413f3bcfcda5bc7da1743e60c6363c212cb53bd552a3bcfdde513deabea83b0000000000000000000000000000000000000000000000000000000000000000be55b1396195e7bdfc2f8ebcc6e0483b2aab923a584ee8bd7a21a8bc3488a23bcf25e6bb960cd4bd9d8099bc4dac723b44939cbb0ab2b7bd056eadbc3be3783bbffab03aa29e95bd67e1a8bc4e90263b9afa053c5a6253bd202584bc8a18f6b739fd4c3cc83ad7bc0cdd4dbcc290aaba00000000000000000000000000000000000000000000803f00000000000000004e288ebdd73b993fdf3be4bcafc5d2bb62b763bd94e97e3f90e2c13bf58001bc3bf244bd449b4f3f56c1d63c07c52abc749936bddb571f3f7588083d37da3dbcfc2c33bd40c1e03ea396003d273a4cbcd2551cbdf9b0843e88f09d3ca73b44bc73f40cbd9197a63dedf1a23b263d21bc000000000000000000000000000000008904243b452397bd36e986ba8b43b7bb88ba043db86a06be91daabbc9fa8173b89b5a53c88510cbee201e4bc5196383bbdbb783c75b000bed8c604bd6f4f213b936a4d3cb255d6bd549a02bd9c02f83a9949a13c49ebaebd26daf1bcc6b2253a682eb13c9d5862bd5d8dd4bc18175c3a537b943c5c5aa4bc540142bc199ef03aa362863cb6af7e3ac956debbd5da20bb331ae0bd52d8983fe487c63dcde703bde30807be7d47913fe9a8d13dd6aee9bccbfed8bdfbeb773fc592fc3d8720ebbccd0bb6bd6122483f05c9013e7f8be0bc8f869dbdc9be163fe28df13d6ac3cabc677b90bdf831d13e2156c73dd695c8bcf21863bd9434693efe75893d92cdabbcd521f2bc444f753d3a94ee3cef174abc807ccebc4ce77abd179a633a5a3b40bc1ac6a43b291576bd335cf83b4d65f5bb39b6bc3cab20e2bd538b89bca5a641bb67752c3c8965dcbd99dcd0bcf6e1093b133e993ca72ce6bd9b0018bde3e7d53abebf783c9401bbbd578711bdd709663be2a2c43cad329bbd27cb1abda7baa8394cf8a03cba7148bde2e1eebca407fb39b61cbd3c825aa6bcf581a5bc1e21f0b7f8d7953c96db1e37fa10d7bb5678f9ba7187ebbd824a803f79e28c3ea0f461bd2b3710be2c857a3f9e468e3e4ba56abdb009d8bdcf9e4e3fada3893ea22e33bdd8fcd5bd7b6f2d3ffb07803ec4c329bdccbaadbd8084003fae6e573e8fe802bd0fafa0bd659eb33e47ad2e3e9bed00bd977b71bda4694c3ee0e8eb3df610c4bcaf4e20bd1d765a3dbfdd793db3f7afbc27cbc2bcc44143bdaec7293c648c5cbca6ee2dbb4a3b55bd3abb583cd461fbbba061963cc16cc0bd188582bcebcb72bb2c86a13c804ad6bdca2d15bdf367bbb9457cb53c7410cbbdc0eb32bda2fac13acf39ae3c96d8b1bdfd0842bd8896a63aef01cd3c83a088bd4c6635bdebd6343ac944d93c1b4337bd3fc819bd26234bbab566c53c3f7d98bceef8cbbcfe4bb1ba1370933cf55a67bb45d032bc32df81ba42bad6bd5afc513fc129eb3ec47299bde3fc04be37d44a3fb871eb3e9304a3bdbca5ebbdd3d22e3f3c50db3ead187fbd5cd2cfbdf4d80c3f62a3c03efaa64fbd1ab9b5bd1707d53e4705a23e841122bdb7cd9abdc700913e4eaa783efc3e0cbde5a778bd876f1f3ef108293ef179ecbc977d21bd9bb7273d4856b03dedebbbbc139ed7bc0e0426bd707d993c23fc6fbc8d6aaebae40642bdd16e583ce40ae3bbfa848a3cb4cca1bd2cd1b4bc8d9ea9bb2c66963c86e3b2bd33a229bd1906273aaf19ba3c122fb1bdeadf5bbdccff8b3a11fe1d3c937484bd1adf25bddf76873b0e57d43ceb7571bdf80c51bd5be562396d8db53ce6df18bd0ede1dbda75a40ba3debae3c2ac282bc744bd4bc4d68593864c78e3c0e2210bbc63339bcfbb1f8b9e37cbcbd0849223f0e45243fe78ab3bd70e0e7bd21df1a3f9ec3233fe491babdbebec5bd6a30033fa27f123fe99283bdec74bbbde2aed63ec3aa003f1cdd59bd91028bbd2c649b3e9c7cc33e3279d6bcf82b8dbdbd4c593eea529f3e249300bdd81351bd960be83d64ca4e3e4921c4bcf8ba13bd5636cc3c367ed43d748cbebcd8b6b7bcbab31ebd1c95993cc1f26dbc405d643b37cc37bd21c0c73b6427acbbf7abb33c42728ebdd4421dbd9877dabbaa9dc83c28359cbde7fb7dbdebcd1bbbcbf4d23c4efe91bda5808cbdd0df93baf99fd83cde0084bdc49985bd8c5ebb390ed1c93cee2840bdb8aa71bd30629dba2668bc3cfadff6bca2ee3abdb89de6bae1ed953cb19733bcc187e2bcacbb44b9bc6d563c72f0b339e3c31bbc98c8bf3ab6e89ebd2511e73e4256533ff5c2c9bdeacbbabd6e08d83e0bb7523f9c68d7bd5ad5a7bd7b82b83e54e03c3f780999bd8b7c96bdeaa4933e77241f3ff5fd55bd46c786bd4a5e5a3e42a8fe3e082f0dbdddff57bdd9d40e3eb62abc3ef94edcbc519927bdd43b8d3dab17733e029dbdbc9b85babcbf5b8b3bba56e63d4736abbcb56c76bc21641bbdaa7b393c84026cbce7041a3c168812bdcd1f42bc8b2c00bc5566c63cc2f65fbdb0a682bd778813bc7139b33c0bb66dbdf21595bd9864f5ba149ee63caec969bd8cf3b2bdf67593bb1128b43c70ab42bd880796bdd50c64bbc701c33c39a410bd4d318abd1de182bb978b9a3c56c3bbbc441042bdd8b9f7ba673e433c7c2992bbb1bddbbc0373503a011ed73bbf1ea43ba9b29cbbe3a8503bd2fd61bde4a9893e73bd803f11c4debd44e281bd9567753e1f2f803f39cce2bdcc9161bd9149553e7572573f1d696dbdcaae57bd1b12263ebd8a3b3fdc4232bd398533bdb18bf03d90cb0f3f77b2a8bc5db919bde13a903df58dd43e19cc8fbcd2b9e1bc4dadfb3c6d2c833e44ce48bc2a8d35bcefbb47bc78d7de3d03ca95bcfc4085bbe4de13bd5ef8f6bbbc136fbc7e1f493c2b31ffbcbf2b2bbd75529abb5847b53c0d85ecbc63e4d3bd053e75bc7e67d73ce3a31dbda47deabd21be48bc72cbdf3c7b1120bd3fbcddbddab539bc774fc23cac7307bd8297c0bd336728bc7e23a43cc1dfb6bcf64a9ebde2f724bcdc325d3cde5b1bbc470961bd54b8dfbb17653e3bdf784b3b9859c6bcf699ab3a0b89dd3ade3d103cd88b18bb7716173bad3ef4bc8787b73d7707993fe26ecebd478fcabcd05c863d2c92923fbfadc4bda9fbe1bcf0d2793d00e37d3ff35e3cbddca7ddbc6dde423d50a24f3f75a987bcf0f4c6bce272f93cb2921f3f01f6853a4b528bbc0bb9093ca48ce33eeeb4033b020d18bc9f662cbcffc1873eb19240bb5ac44a3befdcc6bc0c14bb3dc86051bc3377c43bf9ff1abda5a116bd9fae5abc000000000000000000000000000000000be2a43c69d5dbbc5d00d6bdf0c609bc0aefae3cf21dcabca6cadebd84064bbcb43cac3c5c94e2bc177eccbd40ff44bc2edd9d3cc28ec1bc9b07b1bd2dca56bc045a763cb5565ebcc88195bd7d8b55bc6d13183cf6ad8fbb99184fbd9fff36bcf7782b3b61fdc23bc5dddfbc1e7ef0bb0000000000000000000000000000000000000000000000000000803f000000008612b6bbea5664bd011c993f21c8f3bcc1fbc2bbc6f62dbd950d803fa8d8773b706430bc835612bd9f5b513f9735ba3c24af32bc38380cbdbb8f213f0e6af63ca248b6bb898519bde585e43ea6f9e63cf7d13cb9099c0fbdb607883ed2fb823cfbc5f33bc1291abdeb4fb13d760b553b0000000000000000000000000000000000000000000000000000000000000000641c29bd32d614bdc507043b1033a93a143f18bd0f7b2ebd4931af3ae27a843bb17115bd0e1b31bd213ddfb6cdc0d23be788f7bc4e842abd8c4736bbd060d83bd198b4bc879321bdf147c3bb9f4f303b6f9708bc424e0bbd92f536bcc2d500bbad4d893a7849e1bc481b64bcd2d5d4bb00000000000000000000000000000000000000000000803f00000000000000000fe868bc5699823fb8a6173cabe9f5bb810a7abc0c5f5d3f2c39ab3ce643c3bbe76089bc8d3c363f6146e83cbc6f96bb189ea7bc4a310f3f0092f73cb6f41bbb5dbfc9bcd7e2d23ed109d93c3e31a6bb8e7ee5bc6d61863e8643a33c6547fabb925506bd936ef03d59ab313c799928bc000000000000000000000000000000009dd41fbd632fb0bc7f4f113c61c895bbf7fa0dbd656534bd377f43bab2a54fbade9413bd0a5f5dbdcf8e5dbb86cf933b7c4209bdadc763bd86ab9fbb0b14913bdbf5d9bce2a257bddca10cbcb0a4b23bc49b78bc8f3d4abd77c251bcb55b093ab12c03bb93d32ebdf4138abcfd5282bb77d04e3c7fb6fabc50c99bbc343c1bbc24c02e3cd62688bc2f8e69bc37fc02bc347aeabc7485823f8bf4053e057eacbc00ca2abdcc51713fff6a043e8bada4bcbad310bdcebd4c3f451a063ee02647bc9e440abd2cf6273f17a5f53dbc9a21bc63be17bd8eb8023f422bd73dba11febb07f123bd60bdbe3e8184ad3d5be11fbc55ce31bd8db16f3e5e7b773d283737bcc27731bd993bca3d3ecd023d57ee65bc77480fbdef709abcc018fa3babb921bcc6b506bd145ba5bcacc73c3ce2d155badb2011bd8a2730bde8d2003c2e669f3a288314bdeed636bd6b66533a7723db3bd258f3bcadef5ebd8d77b9bbef9bce3bd7aabbbca57748bdf1c229bc447bec3bc26930bc956148bd7e1576bc6e06213b1a24bcbb498219bdedd667bc5727073a7cee483c88a5f5bcfa879bbc665dc9bb7a435f3c4d0481bc882574bcd4d1a3bbe9461bbd19b95d3fa6ae8d3e6d84d7bc1fd450bd46c64e3f806c883ebdc6e5bc366322bd82c92b3f5bd5763edc5162bca69f37bd6ef1103f78695f3e0d133abcd73832bd0fe6de3e203e373e8e16cabbe75945bd946ea33e551b143e8edcf5bb1e502dbddf9d4d3e0102c83d84c395bbcb493cbd92e2aa3d1881693de0321bbc187e08bdba7185bc9b07583ca0d8bbbbbef207bd96c4abbccc31953c6843253ba1d805bdc46f24bd6dc1173c1a14a03b0e43f1bcde024abdb37da7baa963073c78bfc4bc2b7152bdf70fe9bbe9d8f83baa909abc67234dbd9f9831bc4a5f0c3ca481b3bbdc1342bd288183bcc907a93b50207a3bc86023bd2bd1a4bc74b455b8baf4523ceaf6e9bce9b397bcfccb5ebb933e2d3c937580bca51b49bc75da15bb91161fbd415b373fb6fbd83e57a6f2bc04c554bda49b293fa99bce3e844eefbcd64c4dbd5363113fe82fba3ebaa28bbc9ef550bdfcceee3edc89a03e24892cbc390349bdbb0cb93ef56b843ee3e18ebb58564ebd82d9843e8fe34c3e64718abbe45248bd04aa243eb8bd0f3e0acc3dbbf9e236bda6dd843da362a03de7db8ebb348701bd45aa8cbcc1ed953c4100ccb95d63f1bc2409b9bc5d959d3caf91c43bab9edabc232d22bdf14c1f3c3d86123c4ed3bdbc86653abd18a93bbb600c313c8b2a96bc8ccf50bd25a828bc5d8f3a3c1d3c8bbcc7eb29bd844517bcec1d2f3ce28f5bbb5e5338bdc5799ebc5a6bbd3bdbaf343bef1b12bdda1693bc82a1c33a44765c3cd8acdabc213392bcea4a89bae82c363cf68a7bbc79ae33bcda8e07ba68381dbd9ccb103f9e4d123fab80f3bcdab14fbda5ab043fc8080a3ff441e4bcbc0c41bd7166e13e4671f33e201d45bcc6c74dbd11dbba3e2f8cd13e7dbabbbb8e1327bde13f8d3e3be6a23e568b7a3b723647bd41754e3e7b40833e13da243b438f32bd9394fa3dbc46313e81c9db3a36db28bdd0bd373d59ffc43d22da863acbaef1bcc6be9bbc7272a13c08be183ba7f6b2bcaccdcabc0258953cc8cb163c420d7ebc9cfd2bbd9ced9f3beb7a383c33d649bcd0af48bded8b0fbcceaa533ce74a00bc64de4ebd642e86bc98d4453c8d6f9dbb393241bd6cc4a8bc482d233ccaa38e3b3ad12cbd0e0cc2bcb989b93b80e5393c2c5410bd483ac0bc721ce23a2439873c64efc4bc74a49abcceee69ba9673573c6ea260bcfc312fbc0b4fc039f2fb15bd9e04d53e4520383f3348edbc090c4ebdf197c23e905b2e3f9a5ad5bc8c544abd762ea63e3d5f193f672d28bce7e941bd53c2873e6731013f68747fba514e40bdc7af4f3e79cbcf3ecaf3b23bb2f039bdc6b7103e8ddc9d3efd39053c6abc2ebd772ca53d2ae6553e3db7c83baffb14bd16adbb3ca79ae23d7131803b82d3d1bc2e57b7bc752e8f3c9a1a573b88181dbcc0dddebc32a73b3ccd20223c638e58bbd9692fbdf49aa3bbf8b0443cbe35ecbb7a2a2ebd88e064bcc7f2513c7c8b2b3bb1eb41bde82bd8bccb9f2e3cff795e3a49ea25bd7ec2dcbc38b3103c223a293c94021abddf22ffbc0f4b3a3bfbda043cbf75e7bcffe1bbbcb8dcbd3abdd5953cf35192bcc4a0adbc1a0b4fbba1e3583c7b9515bc7bc52cbcbdeafbba63550bbd49d7893e08fd5e3f3722dabc54533bbd083e773e1252523f1a99a6bcb18923bde8f8523e977f303f5237253a45ef32bd7b65273e689e183f0fb80c3cc9441ebd10defd3d113fef3e63567f3c01ca1ebd53cda43d04b4b53e8f2b6b3c5f3902bda384333dba3f6e3e01e33e3cde00e7bc78d5183ae734f13d31dc023c75a695bc404dcdbcdd5b323c4396943bbc16c1ba64dcfebcdb20ef39df1d463cddfe423cb2ef2abd1738b7bc4f62233c8ce8203c15b233bde4810cbddbb11e3cdc94253c27af2dbd48811abd5938d43b3744333c03f51bbdd8bf1bbdaa67913bc6177c3ce90f09bd608513bda92817bb84178c3cc44ecfbcb85704bd97f98bbbdba8943cdfd54cbcbdd4b0bcd8d5f4bbaed7623c06c6a2bb5a4238bc944b63bba0f5ecbc35f7fe3d9f3f833fd4de88bc64e412bdb84ad83d196a733f3007aabbebe20ebd2634b73da31c513faf37533cf6650bbd7281913d44912c3f41a5b23ce0df01bd27473e3d0e18083fd2afd33c63ecfcbccc51df3ce2f4c93e1b7eb93cdf26c8bcc0c2f23a9a1e833e34cc8b3c32228bbcec6c99bc1168f93d7790f33b3e0658bc2f3ceabc7353b6ba5d3f8e3b000000000000000000000000000000009413013cf7470cbd3332e1bcd7982b3cf1301b3c20140abd861f0ebd675ae83b0b50003c3b0103bd3bb114bd23bf903b549f273c0b56f3bcb58f17bd91e83b3acfca453ca9f8c9bcdfd10dbd8e5554bb617b7b3c5dd596bc343b06bdb69fb4bbaa51673c168f20bc87a2b5bc53760cbc0000000000000000000000000000000000000000000000000000803f000000001457b3bcca8c48bcca3a833f3f2b663c6eabaabc72e23cbcc8b95e3fd8e9bb3c06f0b5bc00f449bcb087373f521cf33ca056b8bc64758abc9340113fb87dee3c0aeca5bc47e9a5bc0142d63e2827dd3c3b8f72bcb8f8cbbca0b18a3ecb01a53c068f32bc0142febc6649fd3d021f363c0000000000000000000000000000000000000000000000000000000000000000877d0a3dfc9641be5ae3903bbbd4203c602fdb3c53b039bea6acf1bbc777763c83b0863c0ce52bbec9db76bcb97f683c7f4d483c92a209be0df38cbc32fa453c700bb63b32f0bfbdf30d81bc019c363cff4ffab9f11155bd031e0cbc47e0f43bcecce7bab47f15bc2032b4ba20751f3b00000000000000000000000000000000000000000000803f00000000000000003f3200be0fb0ab3fe619e2bd7214283ccb4bbabd52168e3f9bca55bd24b121bb871096bd82986a3f1296a1bc2127febbc7025ebd95872f3f6b4be5b9a0bf1abc22b5fabc4d40e43eafa06c3c51853fbc8e799aba7fb9603ea6eea23c1ff6a5bb90c3743cdabc003cbbfd5b3c40487eba000000000000000000000000000000008410053dabfff5bd6eb5883c80f8513a50433f3d90202cbe1ce0033cb32d203c9a9b213d986141be834b65bce755763ce2cc063d48d030be962ad0bce204913c4f82b03c256a0abe148aefbc3e0e8f3c6282613c333bbebd20ddcdbc227a693c14ceb93b2f3e45bd863b92bc6f911d3c3dc58abbe84436bcc22fd0bb2046993b0821c0b9de64953c62485d3b082b933a150742be1d04ab3fa785233c2e6f4abc619e33be94309a3f91c21b3d5b19acbcd4151dbe53c58a3f375e833db747f1bc6a11f5bd4777603f2cdcab3d08990bbd2eb8a6bdb4fb233f8904c03d7b4f04bd79cc30bdfe21cf3e73d0b33d4530e9bcac1fc0bbff70393ed9fc943d60d5a4bca5e4023da5d41b3ca7f1413dc34c10bc89ce023d91fb04bea1f80e3c8853f839c0c1dc3c9832aebd2ae95a3c8dbc963aabac263d6e3915bed5998abc5ed5543cbdf4143d90f020be9b7b22bd7d72943c38aeff3cc18011be27cd52bd08a2ae3c646ca33cbb55debd99cb4dbdbea9963c78a2783c17bb98bd019334bde89b853c6e811d3c10a918bd4c99f8bcae43573ce308873b1b3c25bc83ef4fbc564cfa3b4858153bf638483c226a153b5e65843baf6741be12308e3f4368653e01456abd833f4cbe46308b3fdd936f3ee9d888bda3fd2abe9dc0723f4c76793e3d678bbddaaa03be26cc413f1b4b733e284a82bd0baab1bd89550b3f0fb55b3ea14869bd169343bdf370ad3e627d373e563a43bdffc44ebc1341173e4fc3ff3d400bf9bc1f88923c58650d3b085d813d4c297bbc80c8db3ce7eab8bdca0df93bd397bfba7096963ce5918abd0d73243bf9ed6439b1ab093d456fe7bd426d36bde842843cb2ae043dad73fabd42db94bd9e19b63c6176cb3cfcb7d9bd3d81a0bd4496a73c2dd2ac3c1c6aabbdf2f5a2bdd537bb3ca285593c856562bd3c5883bd07cca33caddf1b3cdebeebbc370a28bd94c8693c74a0cd3b4467d9bbf0438fbc548f453c5d27a43bb3ab103c30731e3bdb6bb43b37ae34be86586c3fa66ce73e9474d6bdcf653cbe1c5d623f3eb6ee3eb7aaefbd37131dbe85e6423f31f5e83e811fe3bda9a1e7bd3ae4183fc080d23ef680c8bd11b4a1bd05f6d93e0f22b63e26f9acbd98bc26bdbc76843e32f4893e8eaf81bd5e1040bceea7e93dd6d22d3ea43f22bd8cdc413c0892abb9a206953d759c8cbc746e7c3c4d2a97bdbc7d83bb239695bb504d553c463349bd268067bcf1e6ac3a173bcb3c1ede9bbd866199bd16fc823ce2d0a93cdb65a7bd05d6ccbd758ba43c53bbb73c7ee09ebd6cace5bd4a0cae3c5627373cd60965bd634eb4bda0cd7f3cfe463b3cd1bf22bd395ca5bdd463973c37a50a3c0d4bafbc3c073bbd28d6593cefa3e83b0992dcbb2f8da5bc5ca6533c3cd1ab3bd47fd13b53d9c13aadf30b3c607114be1cc3313fdbf4303f25a918bef66616bec751263f4cc4343fa7df22be9000edbd07ad0c3f0767293ff7e20fbe3923b4bdc2eadb3e0a19173f271200be1cf86abda0009a3ecb2dea3ec54dabbd45b806bd80183e3e9483b23e4bdc93bd77645bbc5b6aab3d77d64c3e237e21bde685cb3b20d79d3bf66b983d5e6c95bcb45e343ca1625ebd8ac781bc1b74c4bb8a83fb3b4a98d8bc69e218bde479993bd1d5683c24751dbd9c4edbbdc57e943c102f883c29fd38bdff9d0dbe9c8ba83cfc75603c67552dbda4ca09befe77a13ca7894a3cb49414bd8a91f6bd814e963c73eb223c1800d1bce9c2b6bd73328f3c6e4a053c18e08bbcda355dbde367723c079ad63b8b2114bcc08a9ebcbc54613cf7d5803bc5cb8f3b825d803bdbe41a3c63f0d4bdb7ede93e6a226c3feaf436be73b3ccbd080ed33e69436e3f0c7644be0488a2bdcf87af3e26fd5c3f812b2bbeaf4566bd81f7853ec6663c3f45690bbeb03820bdb16c3f3e0b11153ff204d4bdbcb4bdbc7303f63d9301cd3ed3548cbd430011bc19fb733d6c82643ec31719bde91e6d3a7953593c5d86833df2434cbc5e2de13b64be03bdfb3f22bdf96d92bbfffdbd3aba9385b927f37dbdc039363c6ce1b83b1909afbb3f160fbe6a3db23ccbe5143c792d5abc719827bef6b48d3c56030e3c3b025dbccf7f25be4beb6f3c9ef3ea3bf7a882bcad3904be4974463c7115df3bef1e68bc8addc9bda739513c423ac13bc82834bc66ab61bd85b3393cc311be3b8634f3bb7d7499bc568b273c87fd463b97dc76ba1c52e33b9e72293c0a4068bd66e2683e1eea8d3f104046beafac4cbd2ba8403ef1798f3fbc384bbec67016bdda7b183e803e823fe04a28bea7e1d1bc8604ec3d79e75a3fb59d03beb9e184bce14bac3dc2cc253f6367aebda7ae33bcda20723d21aee13e169b6bbd13d185bb14c1123df34f693ecce2d1bc944078bb659ca93c2cfc473db84a11bb08a5ce39989d8fbbecf280bdb78c143b18ede3ba7f647e3cb22ddebd924f953c500c6dbb1c28ec3cb01528be9b17c63c59fe013b96d4893cbe6444beab4e763ce14c8d3b1ef5013cbea237be9085143ceea69b3b88a8cc3a253e13be9aedb03b406e8c3bccd99fbb709dd3bddfbfce3b2b618f3bbe7a04bcf96769bda993c03bee4eab3bc50657bcc7dc71bcff59e03be2b3203b703193bb1d18813c3fbefd3b1c1037bc4757633ce811ab3fc73749be750a04bc841f0c3cdd389c3fbb422dbe237f6fbb6a77a7ba6b508f3fd22909be532e263bb80099bb1fa16c3f7dc4c2bdc1d3533bf7befdba0ebd313ff0d36fbdbb65fe3a481b183cc447e93e7edeedbcaad78f399dca963c3cdf643e085c95bbdd21f3bb5f340e3d84f4043d382f5b3c15610abb468c453c2a51e6bde61fd73b00000000000000000000000000000000995185ba0592f23c296543be0f4d483c1057dc3a6181b93ce2303abede9e043ab4cb0d3b84f9423c610c28bed80a09bc60b7413b4646b43b0aa906be024e41bcb96bcb3a3100333bc5acb9bdbcc546bcbd284c3ae90a14bb152549bd7e4fa9bba6285939fdb3a3bb58b0dabb4b36e7b90000000000000000000000000000000000000000000000000000803f00000000b605c33cb21408be866dab3f614bd8bd21af9a3c706ac6bd14cc8d3f26ec56bdc5ac8a3c0b8d9cbd5b106a3f2b51b2bccdf8613c557a68bd8b322e3f1ffc363bd2cb463c05ff15bdd876e23e6ca48b3ccebedb3b8d8ae3bbd3825d3e6298b63c216f0e3bcd683e3c4fc6863b188f9b3c000000000000000000000000000000000000000000000000000000000000000003c31f3dafaf27beecc97dbcb7e03e3c488d193d6d631fbe1b6e05bdad0d9d3ca882fe3c196912bef0be25bd3532973c797cc63cd3d9e9bd4e3528bd1854953c468b883c990fa3bd458a12bd05bf783c2a31f63b273c31bd496ab3bc9fdb2f3cbe079eba97aae6bb508b9cbbc9fa373b00000000000000000000000000000000000000000000803f000000000000000042d302be5dfba63f335ca3bda5978a3bf1c3ddbda78b893f94e959bca5c935bc4542c7bdbb04603f9518033d8f24b1bc3fa1a6bdab56273ffd755a3d0446d0bc84546dbdef33db3e1414733d6b13d2bcc155c9bcfc725b3e6426453d89047bbcbeecb23b1a98243cf546c03c4e35a0bb00000000000000000000000000000000856b183da9cbecbd3180303ca36f103aede25d3df0841cbea38990bc3132803c18a44e3d7a6023be2db435bda2cfa83c51192e3d3cf50dbe71b46ebd8506b73cabc0003dc76cd6bddf2677bdda01b73cbf6fa43c774f8abd383d52bd3e6ca53c4e09d63bd03ef8bc463006bdd5c74f3c30dec4bb7d93b8bb779c68bba594fa3a50d0d4bb22849f3cab7be03bf9ead8ba2d342fbe135da63f6aec063d5bf59cbc7eaa33be5fc7973f9857853d393dd4bce80f1ebeed0a833f1a97fc3df06132bd9cde02be16bb4f3fa9901d3eca674fbd9699c2bdbe5e153f6861263eb5b14bbd92905dbda29db63e14ee163ecece36bdc47c2bbc01da173ec54ce53d191cf6bca734213dc39196bcaf30753de6d3d9bb456d273d49ee09be223e243c56cd0bb9b88a0f3dcb10b7bd7b9e553c5507ecbaafef4d3df9d907bed9fe02bddd0e523cc339353de5af03be509e79bd060ea33cbea41e3dcfd3e2bd8c6a9fbde3d4ae3ce09ad53cb8b3a3bde6ac9cbd5395b13c9a93823c6c363abd458790bdb1b4a23c8741dd3bda3ca2bce8f238bd13e4543c9e126cbb067c1d3b142298bc17a1c23b52d5ebbb35a8953cbb41663b42e05b3b47bc30becc318a3fa1177d3ebc5081bdd08a3cbe94d9833fe1ae8f3ecb179fbd17071dbeef0a5c3fe14e9e3ee4bfa6bd0249fbbd43ff2b3fd19fa13e537ba7bdd78daabd4d03ee3e9344943ee91892bd615f2cbdfedd8a3e890e7e3e32db80bda8b9c0bbad13d13d7930333edaba32bdc86f113d555c15bda8a9bc3d44b3a1bc75e53a3da689e7bdf041843c4f6e6dbb3766fa3c406aa6bd730e173c07906bbb616d2c3d1ee7d5bde89846bd84a2323c25b11d3d7e99c9bd163aaebd3637943c31f0f93c85939fbdc901cbbdf15ba73c4827bd3c3fc355bd6cbad0bd3895993c185f473caa42d4bc5df9aabdc9939d3cfbbe7e3b4f3ab1bb5c7b66bd86ab583c9ba20abb2bd1f23b527cd6bc9c54163c5f7c82bbcb199c3c37779fbb5548b13b10b823be4634633fe54bf23e4689e3bd0c8228be9ca8523f4152013f73e5f5bdd1eb09be26502d3fe108033f630bf5bd7e14cabdd064013fdea9f73eaa07dcbd2ff485bdb135ad3e85abdc3ea50cc4bd6bd2f2bc39b9383e65e6ac3e75cf98bdd154963bc452513dd11e6a3e453a4ebd3c7f053da08b3bbde1c1e33d493bd0bcb9180f3d6b4dd1bd913f9c3cb9e433bcca44cd3cc84688bdaad3f9398f4d8abbf943043da1a797bdc4bb8bbda1fffa3bc706db3cf9c983bdcd15d4bdfad67a3c813cb53c86993dbd46b8fbbd2cbe813c020f7f3c6ba415bd3b8dc9bd2ef55b3c840d1e3c86c62bbcfa92c6bd21a9563c19724e3bd6990b393a4581bdaccc2f3c9a2decba31ef043c2b22e5bcc61f153c5e943dbbb47f833c5b169dbb0f81c93b760308be9e902b3f9163323f686016be053604be0b06193f8d233b3f840722be1cf6c9bdbdd0f13ee39f333f55d40ebe43608dbdbe56ad3e478a253fcffc01be4c3d49bdf78d6a3e1377013fc5c5a3bd59565dbcd32dd03d8049d43e5a379dbdf9bbc33ba625993cc366853e07d03ebdf0c1ed3c273442bd3039ef3d5779d0bcd9b4fc3cc0b2afbd0e5a133c9e8e37bcd8ff873cc75933bdccb79abcbb1b09bb3b78a13c32b91fbdb82dc1bddd60e33b128c893ca6bee2bc870708be44a0173cfe7a3c3c5af683bc80ef0cbeb17a1f3c4b0e133c67a8cdbb6c7203be66b4fe3bb6ec833b6966f13af095cfbd402c0e3c81d4d43ad4becd3b1ba185bd6cef233ced33b4ba0e54ea3b3199eebce317193c6fb226bbcc08363cd47e6eba4af3f83b5c95c6bde5ece43e9eeb693f946c30be2af4abbda40abd3ed978713fab533bbec52473bdca568c3ede4f633f59bf21bea59012bd44e43a3e5fe3453f03bafcbd853c87bc29a1ce3d61f1213fcb38c3bd2ae35eba1c251a3d2a3eea3e9ead84bdb04c593c4df931bcbb228e3e674126bdee18b63ce72e25bd30fedf3d59d0acbc9435c93c9f7d82bdd93417bc096c40bcaa7af03b05ca76bc69ef2fbddb76fdb95f58ba3b12c95cba5401febdcdf9d13bb792ba3bea8e223b6eec18befb43443be714693bb2ad193c91551ebe73f559ba25915d3b26f9f93b9dd902be26d130bb63e9b83a635b423cff34d4bd4c4202b8e0a69cb9303e213ce58085bda3854e3b2e09be394800813b99badabc5b03f53b135ee6ba63b0803b824b6a3b494f1c3cc39e52bd3506653ef9cc8c3f19cf3cbe0ef115bd86d71b3e4805903f2c503ebe20cea8bc49efcf3d0ac5813fa8880ebea14790bbd96f383d4941603fd08ddebd8c5812b91bab803c2e062d3f010282bdde29353c46e680bcba04f73e4b532ebdb8de4f3c7edfccbcc2068e3ee9a2aebce47e783c756ed8bcda59b73d2d9834bcfa4f783c18ff00bd9c8326bdf7a2d5bb036fe3ba14af183c1565b1bd365da43b58f318bc0eb3273d5fd11dbef03b8d3b1a2bbabb867f153de1d133be180ab3bb772b8fbb42b6073d0df929be3fee41bcdd8f15bb3a6fcb3cde880bbe3ea351bcc92141bba1f1a33c78b5cdbdae9a1ebcb8255cba39381f3ca6f571bda1f586bb17f2fe3aa7508dbbf4ff95bcd499d13b0eadb738eb0747bb0c0a4b3cf882ff3bc7b507bc6a6b6e3c09efa73ffbcd36be604bc13b4b60f9bcffbc9e3f044a22be3ddf513c46ce46bd74ca8e3f90a8d8bd7d339b3ced6e75bdec0e6d3f965881bdcb21973c4e5473bd76dd333fa285cfbcd313963c9ee856bdbcfdf43e323cd3bbb176583c278f03bd867d813eeaa6673bba93a93a1bd9b13b93a44a3d70a5133c4781863b37a0efba66aabbbdf96858bb000000000000000000000000000000000e82f1bb3c902a3def822ebe30fd97bb9e7be8bba144323d85a42abea0bc97bc2c2182bb14f3073d72aa1cbeaeedcfbc3ce250bbd964e73cd4b101be4552e2bc2d1537bb3680b03c7323bbbde2c7c5bca33b3fbbc4f1353c86464bbd3c6f69bc5b5ba0ba82379f3af1cd31bc24f69ebb0000000000000000000000000000000000000000000000000000803f000000009df4f13cebd117be5145a83f0736a2bdee49f63cfc0806be75f98b3f6f4aa3bcbe9be43cb6c7ecbd093e663f30c88b3c6947cc3cd3f3cbbde3702d3f741f1e3d705ba63c08369cbd5d8ae73ee1bc3b3dcf7f543c45f526bdd0256f3e24bb213dfa52913b591ce7bb83ccba3cbbfcb93c0000000000000000000000000000000000000000000000000000000000000000205e943cad99e1bd4f7f8abc6e2d983b44f1d23c129be7bd0847f2bcc61b043c3bc5ae3c8234d9bd227af2bc03d5253ce0f8ad3c4609bdbd2adf03bdafb5443c5c45983c169791bdc0850ebd7ed81c3c749a863c86ae3abd83c9f2bc9a37203cccd42c3c264a88bc8628ccbc15dac33b00000000000000000000000000000000000000000000803f0000000000000000f4d7b4bd59b7953f9cfe16bcd27a58bc7f65abbd74d8793f3712053d68b894bc205ba5bdecca4a3fb29d723dce37d1bcf20f9bbd4c521b3f3e7b913dda14e4bc3fcc85bd0e55d93e0a8e8b3d33abeebc86a349bd82e07a3ee654583daa44ccbc7787f6bc5664893dd8f6f53c9eb6a9bc00000000000000000000000000000000a69f8b3ce10fa6bda62c673b75accbbbea8c393dd0f8fbbd8299c6bc0571923b5a44293d5fb101bef30d24bd5816e13bc6db1d3df283eabdc5df49bde6c61c3c17ea0b3d85a6c1bd76ba4dbddddc243c040afa3cc64c8cbdea9359bde58c203cb402a93c746a14bd9d9037bd85ee1a3c82b5d03bfd2bf9ba35d9e9bc88641e3cbc055e3b8a88893c71748fbccf28073b950eebbd2f00963f8d41d83d006a11bd40370fbe8f878c3fe5c1fd3d3bca12bd4efc01be27a36d3f0a15253e571830bde07fe8bdea923d3f0c80333eba353dbd2b14cabd996c0d3fb3dc2c3ec13d35bdf6dea3bd3196bd3e2c66193e6efc31bde7cf54bd7003453eecc1e53d388712bd9e8a47bcda74fc3c84dd7c3d7167bfbc4df6a1bb4fc9a9bdf1dc913c4b2d5dbca295bf3cad2395bddef7513c8e61e0bb21c3233d6682ddbd7568b0bc45bd5eb80735133de500d8bdcd1f17bd8d66c93b5fde223dba5accbd45d369bdf2ec063c15affc3c83239dbd3b9d6bbd5506103ccb85ea3c91b75dbdbf4d7dbd4798003cadbe9f3c3b48f7bc3eff4dbd7c77cd3b17fdf63b80bd113be23b17bdfdb9973be2ca383b4279853c02d799bc3a6597ba6171fbbd56387c3f7957923e9c9480bd690f15be1cca6f3f05549b3e0f158cbd9af7fdbd9094443f77259d3e7a8d70bdab67f1bd9761203fe84d9b3eb0f774bd4df3c2bdafbbe93ebc13883e9a074cbd34f898bd0e7f993edfb7693e9e0a3fbdace343bdf2ea1f3e42aa253e5b6602bdc76f40bca3e55b3c6c8ac53d5f69cfbcdac0433b5cfb92bd3635e03c71da23bca34d903c8ded88bdb7ad943cc0f0c9bb22291d3d06e2c0bde17ab2bc498725bbc2431e3d9814c1bdf9c656bd329e5e3b99fb0f3de3b4a3bd449687bd7937d33b878a0d3ddee184bde3d394bdb715cd3bcb19d03cb6bc2abdd9958fbdb3c5723b447c9a3ce71d91bc51c373bd8033153bedcedd3b7ea1d03b22652bbd923b8b3a78bea63b8371693c9d41b1bce9bdb3bac902ebbd9e524e3f5ab9ef3e02ddabbd2db20cbe40ed403f229ef73e070fb7bd6716f9bdb7c3213ffa75f03e14f89ebdf9b5d5bde1befb3e48f7db3e3b0d87bde628b7bdb666b63ed6adc03efcee63bdc25b7fbd1b5c673eae2d993e217030bd0eb224bd0201d73d31355b3ef22205bdee2905bc2bbd34bb66cdf93d6c0ab6bcb53054ba4fe18abd60d3163d58e319bc12ca8a3cbe9f75bd290b983cc6fdc1bbb9fd093d7c5ca1bdfa7be9bc15e06abbe9cbff3c5a2595bd0fa76abd67e44e3b13900b3d310784bd92859cbd51ac323bf057bb3c877951bd07467dbdf480be3bee97c63c79a3efbc3d5e9dbdac0fd2b8d2f46f3c56a029bcb93c76bd507f86b85644d23ba5a3f73b8c8823bd05f6dcba008f7d3b8e34733cbb3fa3bcb8d939bb02b8d2bdd61a1f3f1846263f829ecdbd07b7edbd51c6113f4423293fa54dd5bd754ccbbd5e32ee3e0ed41b3f993ba0bd4652b6bd37d4b73ecd6c0d3ff2ab86bde5c08bbd29f0833eb472da3e9fd402bd89cd56bd09051c3eacaeba3e78d810bdb408f6bc37977d3dc0dd7b3eb2bababc3c7d9ebbb4758fbc7dc2083e055c87bca406513b8e5a86bd3cee113de012d8bbbeb18b3ca8ca52bd692ac93bf5b562bbf402f03ca44e74bda47d37bdd74cb1bb9fa2fa3c2d8b63bd3e2e9ebd322352bbb3f5dc3c5e7731bd71bcb4bd435333b98de3d13c871603bd2381b9bdd5e34cbb720c8d3cae277cbc66f0a3bdbb6276bb97383b3c5d7002b9493584bd2cd3a1bbabd6703b2c041a3c3ee61abddc3975bbf614bd3a97c5713cae7c78bc58607dbbbc88acbd6941e13ef62f543f883dddbd4c75b9bdb73bc63eb316563f16e4e8bd5c1b9ebd07969e3ef906443fcc9caabda33f84bdf3c06b3e11d7283f2aa86bbd861452bd0d0a1d3e3c100b3f93ce13bdba0706bdc0a9a53d8737d23e1613bfbc083b88bc75c58d3c0a8c8c3eee3273bc2dce4d3b881008bd63140e3e9a292cbce905de3b33257abda992bc3c9db888bb21f55e3c34880abd01ff47bcd164cfbb010cb63cce2f10bddf5c8ebd274200bca7ecaa3ced200abdd115adbdf8c982bbde78ab3ced06b9bc25d4d2bd91ae14bc86a5843c518d70bc4b7ababd6b1c0dbca5014f3cc00e4bbb3eb7a9bda1293cbcdd61083c8c34fe3a2d2a70bdc0d90bbc18399cb8af5c523ccfa300bd96b19dbb44cc23bb03ac653c546ed6bb037ccbbabadb68bd1d4e833edc5e803f47a3e4bd4ef065bdec91513eed40803f9251e2bdcc883fbd7d4d263e68195c3fa6cc6cbdba9817bdf44fdb3d6964413fc67220bd7930eebc654e863d9fd3163f5d012abcef2975bc7da6823c0e8fe33e651187bb2388fcbb227a30bc8d4e8f3e610c693ba33e293cdc333abd0f92013efb7f92bbc81a4f3c010657bd9fd2f6b98166aabb522f323cd5c8b6bcf9922dbd717356bb475b193c1bc07dbbf937cbbd69257fbcb17c383c3a0c1bbb83e4f2bdbb928cbcc723463c2d0610370ccbefbdd9af99bcc0781a3cb726203b1791d2bd1d0aa3bc6d5cb33b48dc233c4701adbdb05d9dbc6f688b3a6390693c82306abd5ef675bc9351a8bbdc92573c30dbadbc1ea3ddbb63a48cbb79054d3c5925453a441459bb69f3debcc624a23d9871973fc04fcbbd56db49bc5dd80c3d72f0903fb8cbb3bd483728bc3e457f3c692a7e3f3ec018bd44e10abc7ed519bb1517523ff7cfc8bae2996fbb28888ebc6e8a223f0fb79b3cda01273b4cb114bd53d4ea3e745ebb3cd8f9023ce10242bd515e8d3e81d99a3ca976833c0da53cbd2e61c83d090d673b31c96d3cde963abdcaca0fbd7f2d23b800000000000000000000000000000000ae76123cdc60e7ba9a24d7bd07bb27bc46af0a3c5833b53bd0ace7bd02009fbcf36f253ccc6b713b9b50dbbde363aabca4d51a3c024bc73bce3fc6bdb0dac2bce0a4bf3bf4800e3c5725a0bdf621c3bc20881a39b207573cbcde5cbd67f3a2bcb66f6dbbc753643c7393bfbccce77bbc0000000000000000000000000000000000000000000000000000803f000000002bc89d3be85ca0bd1875973f7370bcbce526fd3b0c5397bdd8777e3f7d27833c24df793b30c291bd3493513f5a2b2d3d1f616a3b5c628cbd59a5223fa489533d6341053c311f88bd61f3e73e8aea533d6a2f4c3c9dc36dbd963e8a3e57d31c3dc2e9703cb01a4fbd84f2b53db8efa93c000000000000000000000000000000000000000000000000000000000000000031e0743dc0a254be3c637e3bda74f93b2455303d84d240be4ec1b0bc9ecb863c423e053df17f3abe14af1bbd7df68e3c37c8c53ce1d513be9eb926bd952f793ce961423c976ebabd730f19bdc7607e3c80156d39ff0841bd3f42cebcc0f0293cf06baebb1af71cbc4756debb8e58673b00000000000000000000000000000000000000000000803f00000000000000004d620fbe8a75ad3f2677eebd22fa623c2426d0bd2bad8f3f945b25bdc72b1cbc628bbcbd4d56743fc0ed07bcd02e76bcbe6c88bd5be1353f6251b03ca50dc9bc38b609bd93fce43ebfb41f3d4237bebc76b6133b26785e3e38ae233def4c71bcf050033de2e489bb06a0d43c231d99bb0000000000000000000000000000000028be6e3d55220abe2651cc3c297630bce8d96f3d4dbc1fbe47f1aabbd7ef35bb24e0613d76f03ebecef924bda498303c4e112b3d395b26be442a77bd0934953c60f7d33c4988f5bdfdd888bd9ea6953c21c83e3c282098bd5e147ebd99c5833c17cf453a4e50f6bcfc663dbd519c133c8501edbbbef884bb5e4ccbbc7530a53b25f5a3bb5a12b83c9a0a833b498cc6ba191250beb0c2ad3f41ca5abc5c21443bc89026be0897963f33ae7a3da27ab3bc5a7920bead758c3fa00ca73d0a9209bd1175eebdeb56603f02ddee3dfed33cbdebbc91bd1d4c213fdb070c3e9aee50bdcf87dcbc334bc53e082e083eea963bbdbd48503c4152213e2f0fe03d82ee0dbda7b1103dc7794b3cec1a893d21c1aebc6901533d078d16be0b6a3e3c9f976bba89643d3d548faebdf069933c976384bcb6455b3d5bfd0ebe7deb09bdee139cb814af403df6ae14be37e697bd1790263ca337073dacdeebbd4319c5bd792d713c8822ab3c3f2da0bd050ec9bdcfb3713c0556363b6a4617bdbcacc1bd818d653ca446a43950b0cebb9dde84bdad28063c02280cbb7cb2de3bb81101bd76ab823b4ddb93ba20979a3ce5a3f2bbe092b5bb5eae47be4f49903f5ce1513ef39138bd561d4bbed8058d3ffb3e753e164a85bd9ee928bea7d4743f90b58e3ef68fa7bde9b8e8bdef193d3f8a5d973e2973b5bd7ec283bdd62f013f4311923ef7b3aebdc7924abcdbf28f3e5618833e007e9bbd9ef69a3cb3ffc53dc5e93b3e02ae69bd7c2e173d2b22bbbc0a18b93d2d32e9bce625153dfaf7cbbd068dab3c0bb608bc2ee9113d47e594bdf4f86c3b52e290bce76e393deb5bc5bd110b88bd094c09bb95a7123d085cbbbde774ecbdd3b2273c02cdaf3c892288bd409c09be757f3d3c0bb1073c399a01bd50060ebe2672243cdd30d43aa7f48bbb4aeae9bdfd470c3cb530e238fb1cc93b80379dbd0acc893bc1c7d2b9fd3b6b3cdad122bd4628863a996230ba679bd03c456f46bcb83ababa4c3c44be6f6b783f592ada3ec662bfbdd3c038be914a633f1e1efa3e5a71fdbd67600ebef3d33e3f84e4023f9cea09be76c5b4bd76fe0c3fda17003f361207bea53801bd7138b03e32d0ec3e5fc900be3bb312bb961b333e30bfbc3ec7a3ccbdc195a53c77415f3df2e5733ee55785bdf26bf53ce2a6dbbcaf2edc3de54114bdd742d33c1aa1b3bde8bd303c2e5d5cbcdb2fda3c240435bd52f98bbc9c5a96bc9bb2d73ceb1041bdd464d0bdb4cb59bb6717a93cf1e82ebdbfcc19bef424823b96d3233ce03ba2bc9b7c2dbea93ecd3a7ebf3e3a6bc3be3a50f619be5c6a3cbb61690ebbfb580a3c4ddc00bed5792d3a3e7bc0bafcb6603cda13a3bd059300bb16c47cb9b988973ce70332bd151b08bb46ecd439a9ea9f3c7d4f29bc4ea362bbbe0321bea9b13a3fbb342f3f8efe16befa780ebe3b06253f1ada3c3f3aad2abe51fbc3bd099c033f2eee3d3fd6c32dbe2db139bd00a3b03e2930333f87f223be50270bbc7d2b4b3eaa17173fef4d05be8d133b3c2d55cc3deee0e33e16b0d2bdfab1a23c82b0d23c581a853ed0ac77bd28e5903c9821b3bca21edd3d541ef3bccb0f993c525772bda03526bc9d6e54bc65ff763c407c4dbc726125bd065e3bbc7cf45f3cee4a29bcd53a06be0a63c93a7bacdd3bf5941b3a82d036bedc9937bb639c243ac37d233c32f43bbe0ac798bb54822fbbb7847c3c16692abee743dabb7f0b95bbab81573c193505bea77dcdbbeae0a8bb45f9743c5fd8a6bd55ee4abbb35534bb6209693c8e032abd95bf36baa583cdba881c783c3c620fbcbc03ccbaba5adabd3e95ee3eab026e3f60e13fbe6e3ab3bd6651cd3e76f4753f7e3e4cbe061c4fbd3436933eac09713f019c40be4c637abc302a383e0ebc563f8a9524be69fb0b3c1d25ca3d16c42e3fb65f04be19836d3cda3c613d3b49f53ebc11b2bd63228a3ccfb4a43cd617883ef34b54bd7aa5443c439367bb4165b93dc006bdbc02bc703bdf13d3bc8fb9f7bc94a443bc9c011d3bccc2623c436780bdd0a197b952e4213b6561af3cf44a22be27a6e13ab7062d3acd5fdc3c0e0248beedeb8abbda2c76bae1bac43cc6f447be136a12bcd9304dbb3b19ae3c91a62cbe63b65cbced22c9bb38ca813c6204fdbdcd8004bc36530dbb94612b3c4fa197bdf83a0bbca55ef5b7f87dc23b016006bd1c0680bbb71286ba086c1b3c0071e7bbeae22e3a3f9566bd6181723e21508d3f2f4a45be6a2d15bde7962c3e79fa923fad134fbef49e28bcdb8ac73de63b8a3f554034be24ffd63b2a91563dcc6b6d3fbaa910be5ffa933c50b3b23cfb23393f4b85cdbdda8e833cb8e9573cfc54f93e151684bd7665283cc9a8423cbd3c813e273aefbc3f2cdb382b6c753c97a2873d070614bc191194bbaace1e3be7b858bd55064dbbdd60b1bb2392163d1071f6bd268e9c3c508efcbb53182b3dbf0d21be525dda3b5701a9bba3281f3d858b52be6aab38bb327822bb3f22f03ce29948bef4765ebc6b3a9bbb9132b83cedd724be872a98bca4cc91bb94ff2b3ccd0be9bd54bf94bc5f7f4cba98bc92bad44d7abdf90644bcee0683b8064c1ebada2abdbcd53b4ebc656d34bb7bdbc73a3bf9e83b1ab5ee3b5d3a02bca6271d3b2384ac3f98cb54be8e42e1bb798b503c3fbd983fb64b15be97d4473c59ed02bd5d57923f374404be684e963c98511abd2b70733f5b30b4bd63b6ab3c9d5203bd0017383f0f624bbd84eb663c5a031dbcb248f03e75d292bc972ea43be7a0333c54c8693efa500d3ba75be9bb94a6c53c664f533dc7f99a3c5c2933bc53f3ed3ca76df0bd4ba5853b00000000000000000000000000000000601208bc5fa25d3d8b2754bee1084d3c1b1fc4bb14b5163d3ea33ebe716076bc098b9abae095c23cf9a432be7f09cdbc6032b5bb0c7c6e3c1e4e09be6a740ebdd09a11bb7ce5a03aac67b1bddc2dfebc84043dbb35dbbdbb8b8f25bd8552d0bc6ca855bbb3f119bcd62f67bbe655dabb0000000000000000000000000000000000000000000000000000803f000000006c50f63cfd0c22be9b12ad3f27e9dbbd1548e13cf241e8bdc82a8d3fc296fabcc54c023d66fbd0bd17b56b3f9c4069bb7411f13c417294bd9f5f2c3feff0003dd75da13cf6840fbda3c2d53ebaa43a3ddc40013caed477393d344b3e7e933e3ddf1021bb8f43fd3c3b7467bc3435023d00000000000000000000000000000000000000000000000000000000000000004179543d661733be14884fbce396d13b4dfd1f3d347a14bee21133bd83af853c3c54db3ca3d5fcbd847586bd34e6ac3c2f66973c8c67b0bd4bf38fbd0e17b03c8d37113ba4f339bd32ab81bdb4b69a3c02b4bebb7a439cbccb5c20bd1d20293c0f18eebbf64425ba1b2a1fbbfbec89bb00000000000000000000000000000000000000000000803f0000000000000000123f1abea958ac3ff84ec4bd8607f93b1d5b0bbed9488d3fd35c0f3cc1cdc1bc6ebe02be39fc673f1212903d636632bdc159d9bd16ae283fb827e13d9cce5ebdba6678bd9b22cd3eb3c0013e475e6abd9b867dbc42883a3eb884d13dd65c1bbdc60eaf3c3e1685bcb3722e3db3fa0fbc00000000000000000000000000000000ede3493de36c01be4b92c23cd9e419bc0078373d6fb008be63ef0bbc39fef4ba95fb293d751d0cbe65d964bdcb3d5b3c48bcd63cd19bcdbdf04facbde04fa53c9ca5393cc04083bd4006b1bda9a9863c51e2c2ba71f7f1bc120f96bde0e3393ccb6dbfbb6b6454bc38f417bd576e07bbba4ffabbc87ea5bb650bdfbbdc4feabbb9e442bc5ab97c3c583ec53cd30a24bc346943be13d2ab3f933a66bc7f4c53ba805c29bec5e6923f7e6bbe3d37ec05bdac0e28bec8f8823f514c233e02ca7ebdb10e02be45fc483f8e3c653ed278a9bd77faa6bd3997083fb819803ebfe9b2bdf88f00bdf0c9973e7e036f3e5e579ebde30e143c50b5d23da9372b3e135244bdf0e80c3d6d0a8fbc7126a93d59ef78bc3409863d20e222beadf255ba8f8bc43ba263153d6d47b3bdaea4bc3c778659bc8628243df5a9e6bd5d5506bd1c4523ba4fd2df3c3385b7bd7e46b4bd1efa6e3c0720373c29c46abd4ed9dabd0826533ceff81239d232cfbc6ac3dbbd82483e3c356ef5bbc9b1f5bba1c79ebd85e199ba24ae0abcd712873a989020bd8d932ebc181019bc8a97a23b4d9af3bba9fb2ebcfb05e3bb1451dd3b46c8bd3c5f7f82bc8ee044be192f8f3f1793583e5fe251bd0d4f42bef142843f8ae8953e4602adbd32461fbee248583ff063be3ed91ae5bd22e4cebd69e41a3f85a8d33efe43fcbdc42446bde32abd3e6f19d13ee34bf1bda2fee3ba01fe2f3efc9eae3eabe8bbbd0933f23c219ad83cd04b6c3e11c153bdc6db5e3de38091bd95cce83d33a9adbc99c07f3dd82fffbdf59fa03b34e5ec3b3869e03c46d396bdee42633cb90972bc1882d03c0dd991bd20906cbd467060baa5863d3cfd3938bd2522dfbd4398e43be433e1bafe8592bc4be703be4df5a23b52d903bcd8efbd39aa89e2bd6d71ffbb783d14bcb94fbc3b67f59ebdcb7686bc06f41dbce109173c5d583cbd1afe8dbcf5cd09bc54b4ef3b849801bcbc115fbc4f6abcbb1f9a093cc811a93cc64487bcba5340be08ec713fb2a3e03ea6a8d4bd6e9128be45774f3fc160093f3be50cbee9acf0bd01f31d3fa3711a3f2f5e22bed6866abda949cd3e7b551c3f34791ebe80da07bc17564f3e29290e3f135c07be78fcb53c11bc8b3d4ed0dc3e6eb0b6bdde82413d32d4edbc9f1a903ee7b056bd3b1d733d95a7afbd8720033e610bb0bc58d55f3dd912e8bdc9246fbb1e842b3caffe8f3cf27a54bd0be0a9ba58823bbc0658233c57570ebdd2e3a2bd4dfc1ebb159b3abb28f5c1bb7f9f08beaa1c6a3b21890cbc18c4113cfdbe06be53fb40bc238115bcf42c623c34f7dabd669fb3bcd72235bcada9853c9427abbdbaacc9bc972b29bc1fd46c3cf4d335bd09fc9cbc51c6debbf9180f3cad6d0abc2e276dbc253d86bbdd8c803bd23aa33c9af954bc80e11abe26d5333fabe0313f67d11fbeee4cf4bdaf18113fbcd4473f45b338be364583bd7a2cc53ebe91503f3f733dbebb456cbc18e6533e11bc453f2e2427be80078f3c1e1e993d67f9253f02a8f0bdc506383db80985bc24d7fe3e0f73adbd1c8c5d3df01d83bd9cbd9a3eadca3fbd478e4f3dcdcfa6bdcd45fb3de69864bc3878303d44f3aabde2719bbc5ace0d3ceabc353bd9bfb2bce077d3bcedcbb9bb8f0a5dbb0db51cb9de57d2bd12c645bb3f6b33bc3d1e843cd2980bbec10375bca72d3cbcb0bca83c3dc504beb85cf8bc8f0945bc6198cf3ce573eabd3efa0cbd93ba32bcfef9b63cdf85b2bd6c1bf3bc04af1abc99ef673ca1f63fbdbec4cabcf3fe87bb1dcc923b44ff0ebc520356bc4efc11bb6c2a9638dabb8a3c3d5623bc9ea2cbbdc784e63e70d66f3fae1d45be276083bdd49aa53ed80f7e3ff03b4ebe40dc99bc6812393e3db87a3f105239be1b6e5a3c8c458a3d5b7c5e3f49d90abe63602e3d4e01c6bcca3b393f29fdcbbd4ca8533d0a4075bd4956043fc0ad7cbdc9704c3d2af186bdc2d8973ea504c2bccb99123d3bf66abd2b20d83de72e93bb4483c83c56c331bd687a25bd429b103c22fb10bc5a350a3c1d2d40bd57dc9b3a2f6b3ebc415fba3cff03f0bd6be60dbcc4c64ebc3286063da4e611be8217cfbcab7f66bc3493143db66814be8f8314bdc3b54bbca580033d5f75f5bd326c1bbd412120bcb49bc53cf6d4acbde2de13bd5107d6bb3045313c899039bd5b52ccbc58f8cbba77e859b8029639bc3c5b31bc96d112ba4fb58cbb44a9283c914a15bb4f1544bdae10603e98b18e3ff3d349be54c984bc30b3e93d9513933fbe613fbe324a663cc0bf963c84998a3fc02f16be8409293d718143bd4701713f798bd5bdd954593dd590aebd229e3d3f358e80bd3fa24d3d0737a8bdb111023fe4b7d4bc520c1f3dff7872bd2e6a8b3e0330eabaece7a93c6935cabc92dc933d1250063cfc10df3b0deab8bbc7af63bd3065a93b24936cbc76b6eb3c9da0bfbdf8970a3cf19f7ebc4c331f3d93fefbbd27e0c7bbb54b92bcbd56563de52527be1dd1c3bc14b187bc3f70433dcef018be6c021bbdbdda24bce46e083d1aa1eabdbf1c3cbd53efdcbb5ed9a63cd8569fbd65fa20bda4d041bb732fb33bddbe19bdb345edbc69b6923acb45a7bb72ad45bcef3646bcae05debadb7ad1bbb2322a3c2cd5213cc4a18f3b1d5edabb8c65ab3f321648beb597403cf673d4bcae80973fb464f9bda02b2c3df671cfbd5db9903f6d50bfbdc4a6653d892f00be8cc0703f949b39bd57b75a3d3569f1bd6a9d353f26dbc4ba0004293dbffeabbd6652ec3eae47b23c169fc53ca7a71bbde935683e1214fe3cde0c513b2b97413bb1d9573d8529cb3cc07bf1bb6c63003dbe2bddbd699f22bb00000000000000000000000000000000c47ea7bc2cf4843d158f33be1416f7bbe0bd79bcfead5b3d15ec1bbe25921abd78a82ebc172d283db49e04bead1271bdc7a4f9bb70efd73c409ababd8da585bde98a1bbb2d2f3d3c4d8565bdff4a60bdb0d418bb0dfa143b5b8bcfbcbae013bdcd02b7baa5eacdbb239ee239e65311bc0000000000000000000000000000000000000000000000000000803f000000006f475a3d962e48be1eebaa3f1803a3bd3282673d0cff31bec3208b3f0ba8803b3ea7683d6ff326be32f4623ff82f613dfdd24b3d87b305be74ee223f5fdeb43daf33053ddaf49ebda768c53e447bc43d2f06573c1f77bcbca3f1303e3a52a03ded0995bbe1fed63c04c3aebcd368153d0000000000000000000000000000000000000000000000000000000000000000596f533da09811be0e07d8bc1a612e3c3b1b4d3dd411e7bd0ff28bbdafa50c3d7105293d2332babdf2a2b7bd48bc393d38b9f93c31b769bd461fcbbdb12a603d22cd623cdde0b2bc683dc8bd8b95553d73a1563ab960173a4a5484bdeb851d3d3cc6c4bbcc86233c10d198bc91915d3c00000000000000000000000000000000000000000000803f00000000000000009ecb28bea538a63f9a9d86bd3230d039b26025bee369853f29d12f3df10824bd85901bbe496d513fd006f13d8ead97bd976800bee130133f23e2263eaf7bc4bd2444a9bd04e7b03ed3fe323e8f64cfbdf44f08bd2320103ee1060e3e8b969ebd429a093c7155efbcf0488b3d470b1dbd00000000000000000000000000000000b706413d6e99e3bd4476393c737036bbd5e0613d3faed5bd61756abd0a58053df7e3473db37fb6bd661dcebddfee403dfbaa143da0ce6abd152900be6e6d673dc098913c781690bcc17908be37cf6e3da0b9583b6e6e4b3b5c6cd5bd04303d3df8a081bbc8c1843b5d2647bda7419b3cf7ad14bcdfb38fbbb9bf2c3c4f3f9dbb80108abc23f0653c4e30d23cd15778bce9333fbef800a63f45f0bd3ce7b43dbcaeef48be6c60923f8ac7e83d5d4157bd16663fbec2ef6f3f4e00613ec2a1c0bd8e361bbe2a47303fd0d3933e0c01f4bd45d0d6bd738ee13ec02ca53e4dfa09becec74cbde2ef633eaeac933e4294eebdcc670cba7cb0563dbc524d3e779c8ebd93cd283d21c344bd17d58b3da58497ba2d06893d099a16be883d9c3a8b9c803c2f513b3d66cda1bdd779c83a2368f13b8de5473d5bc0a4bde88290bd8358143dd8d6173d42fc5ebd7e35f2bdc080523df480a73ce83cb4bc735d11be73f5603de5c5b03bb4b1163b9e8607bef35a463dad3b84bb8218f93beb0eb6bdd0cdb93cd16c10bc33badc3b0de12ebd92427f3af91b6cbc64d3f73a82900b3ca76e9abc15ea83bcee72083ce178103df31bebbcbfdc45be97b7873f572b823ee3568dbd26854dbeacf3733f82c8ae3ec523dfbd694a28bec21e3c3fa2bad93e662610be3388eabdf6a6003f3463f23e8a6c22be4d4873bd5ce4913eae03e93eaefc17be75570bbcd473e13dabf1c23e7e71e4bde6a2eb3c09a70abb4df9803e8c8654bd96b6873d762fadbd0fa9d43d5f7d063c873a933d4e5f00be1f1faebbb9061c3d6437223d35968bbd74f4aebbe7e61c3caae91b3d83554bbdb718b4bd7045173db983ae3c0de6a4bccf630bbe737b473d6fcddb3bbed3253b223413be53832c3d3f378abb3f8b733c6de3f2bd6d659a3c822e2dbcc1f72f3c18d896bd7e9a4abb22e77abcfd2a323cee1305bda4bfa1bccdf188bc2166b13b70dd2d3cbe55f3bc51ac71bc664ae03b2d2d0a3dfc2e16bd86a93cbe17445c3fb7e3f83e88dcfbbd597e32bed3c7393f2b1a143f04ce23be06fdfcbdb0ef043fa824243fc7c638be6ac687bd1e72a03e019d233f30ec30be35b868bc8e910b3eaf81153f579014bedecddb3c9d2fc33c0c10e43e1d2ba2bd5411763db20572bd1586943ee42edfbcb8779c3d12b6cbbd42b3f43dd9c3c13c56ef883d5bafe5bd3e3619bc8d75553dc183003d1d574abdaba6b3bc03499f3ce720b03c351b81bca3a5debd01471a3d2209c43b61cabd3be7ae10bef5a5163d694a8bbb12cd903c590906bed3d2773c41c007bc21048b3c40c0dabdbbd0cb3bb13091bce9d99c3c18a985bda8b8e6bc82c88ebca4b15d3cc81ee2bcd3f50bbd2cb382bcdc99923b1173513c02bd23bd846d3ebcfeefe03ad603143d436e1abd1e7e1bbeba25213faff9383f780730bedbb001beda15f93ed633503fb1824fbea3ce8dbdd7e29c3e16d8523f063c46be2f6b90bcece8103e4b5d483f1f3a2abe779d413cbc25623d629a203fba88d2bd283d763d9e8057bdacc8fe3eb5d254bd68d18d3daca0a9bda1a89a3ee9dff53a73dd943d3dd4bdbd3cf2e33d0c2d2a3d5e01683dc3bdb0bd3adcdebc5e59763daf31973cb398b7bc229935bdf9b5bd3c7281ca3b70ee023c08fbefbdd006cf3c38ae96bbea39a13c55b805bede21073c4e781dbc9af29d3c166ee5bd5f8176bc883b93bc1fcbc73c081bb8bdd89d12bdb50f9ebcd7129a3c65a060bdead935bd338c8ebcc875673cc90ca2bc326741bd890d46bc2f8bfb3a8df5453c2d2d23bd704ef1bb202e8ebbbdc8203d49e015bd83e4dbbda1bbcb3e418f723f30cd4cbe41e48bbd5a31833e1102823f39535dbe297f99bcfcc2f73df2cf793f0e2c37be935d983c175cbc3cbe085a3ffe54efbd2626723d4de66abd42c1343f7f6e7cbd2cf5913dcfddb2bd4472ff3e3771a6bb1b478e3dea1fbebd5906943e970a083d4630693d146491bd4579b73d6ed45e3d2e381f3de49e5cbd461365bd0460843da427593b61b8123b4b7f72bd8d698c3c00717dbb407ea73c457ce9bdeca9313bf90932bc2dc7d73c0251f8bdc7a36abccecf95bc5838f13c2b46dbbd6f2423bdf4369ebc6e2bd23c6578a6bd6dbb4cbdaf6a9ebc9fa59a3ce78e3abdcb0276bd15e55bbc356f053cf50c5fbc33e451bd0a11febbb0c5c6ba06e12b3cb85c1cbd5aee23bbd6dec8bba7a4d33c236f9bbcd5234fbdd4d1373e3d36913ff14652be9ae492bc99a1893d9d1d953f14a243beefa99f3ca79323bcdaa7863f5e1700be89e9673d73f09cbd7362683f2c397abdf0c7903d0b19cfbd653f333f9f82ceba019f973dc898d9bd14f5f63e332e273d0cda6d3dac48a5bd1602843e17c8813dbabd193dead024bd75d46b3d43fc803d1c49903c2ff180bc39599cbd5aaa443d9abfaebb31859a3c7adfb9bda7625c3cfde259bcb4cf053d2f06e0bde166b5bc48cbafbceb491f3ddf95f3bd28fb30bd311dbdbcc65b103d29f8c6bd0c3b81bd2fb9a9bc041fd03c3e1a82bd42a69abded697bbc87a2583c47a001bd961093bd085e18bc9cf5103b93a180bb78ed6abd0b1621bb3daa78bb55176eba604a95bcb666d3b97794aebb7507863c6b8b84bbc1c548bb7c6f6abc7f2caa3f69c945be033abe3c3bfb91bde29d9d3fcd4ffebd8ebd793d5c4201bee7268e3f6e485fbd11d49b3d3df70fbea2aa673fff7c633cff139e3df22508bed39e2b3f83b48f3dbba4823dfdaed3bd9693dc3e0c4dc63df209293da5235fbd42244f3e1499c53d755d483c17a5203bd5c1b93ce30c583ded383bbb6752963c9899e5bda9d2bd3c000000000000000000000000000000003977bcbcd151433d06540dbeabf2c6bc8999c7bc340b403df032e9bdab856ebd2c93b3bc48f1123dea8cb4bdc3f39abd62ad92bca12ec73c85b266bd76ebaebda68f40bcc280303cdc27b5bcb991abbd6e9f9dbb8c146eba048cb0b9ff9b6ebd0ecb7ebacf317ebba623053c01cac6bc0000000000000000000000000000000000000000000000000000803f000000000ed8823dcc2840be6a73a73fe1d960bdf3b19a3dba5238be582f893fe4201b3ddefe9b3dcc0728be02835a3f7688ce3d2ed48b3db87a09be07161d3f45ea103e594f463d72c2bdbde55ac33e0f061d3ed42bc13c55031bbdef382b3e66fcfd3d95be55ba51a5323cc0d893bcb4e4873d0000000000000000000000000000000000000000000000000000000000000000c29de6bc20ae6bbdb26fefba6520d33a43a6c2bce5316bbd2c695bbb0a7b923b65f4a0bc0cae4cbd531c7fbbd99b933b688d81bcd0d62bbd5b62b5bbd1e4423b6f1438bcd05816bdc82f07bc3123913abaacbcbbe643e7bcf3cb2dbcbad69dba21729a3ab0d5a0bce08c44bc79e290bb00000000000000000000000000000000000000000000803f0000000000000000732a2abdf8638c3f13bc4dbcc9f7fcbb927fe4bc0c026a3fdf19cbba954383bb2036c3bc4a7d3d3f25d0d33ba7cab2bb6740b6bc5000123f4e95d43b9bd781bb6048ccbc2eb7d13ef9fbb03b03ca93bb6d91eebc6f04823e3615f03aafe1babbf24710bdc338cb3d6d5275bb30d6f5bb000000000000000000000000000000002fa8ecbcf6400fbdb708b43a714c37bbf43bf9bc57ff8bbde06487bbb966f23af7c6eebca4b48ebd22739cbbaee5a83b98b2c8bcc35e83bd1749ebbb5435c83b07259ebc281a57bd24ce16bc161e9c3bb77c40bc97a53ebd628d49bc673c353b882b87bbd13e13bd7f4362bc8050c838b641b83bcb9da4bc771f4abcd7d011bb9294bf3ba058e4bbb59d07bcdab37ebb4fc289bd72788c3f7fb5e83dcc30c3bc1f219cbd50e5843f4393de3d6189b3bcb5fe6fbd542b5f3f60a1d93da8c98bbc015248bdcd22343f7748c23d62fd5cbc8f652bbd7a9c083fe1b49f3d28d533bc47e834bd818dc33edfe1743d1a0f35bc11703cbd99e46b3e68ae1c3dcf6236bc6bbc3cbd9ca0b03d7b4e7e3ce4522ebc741b1bbdfe5ff1bced5648bb812317bc1b9bd7bcb49fd1bc9f4ba73bd6037c3a9935f8bc264d59bd69cf82bab41ccf3b05dfb8bcb7d759bd42a2afbbcccf0f3c51edb5bcb6a667bd43670ebcf0a1253c4cbc74bcbfa135bdefbe1cbc12c3003c69fb29bce16731bd5a7d49bc59a6a83b294948bb94c8f1bc59604cbc09cf213b439f263bd6efa4bc37c23bbccff5bd398e0d823b6118edbb3021d3bb9c5043bb0c5e8abd7dcd6b3f354d883e345609bd309eabbd9f51613fb3bd823e28b019bd1b8d77bd63e0383f029e693e7ee5d4bc496e76bd0a431c3fbf48483e2b93bdbc4b5c47bd3f37eb3e0b781e3ea66d86bce64d55bde0c6a93edb53f13d147f89bc2a4f35bd77e9503ea0809d3d22674fbccb6746bd29a0a43dbaf7193d05344dbc3c6f04bd6ff892bc1abd4c3ba46c15bc9277bcbca7b1b1bc1cff103c95bb9d3b5b4ed3bce8ff3bbd7b3c303a63c2323cf635abbca1525cbd253ce8bb8a81653c95ff88bcabc155bd95183bbc09585f3c88e14fbcfa7639bd2eef55bc0d97413c1a0fecbbb3321dbd4b9b6dbcb622113cb85f35bb8ffbf3bc207566bc4b799d3b8fcf1b3be22596bc96aa33bcb652073bc8b3053b8eb3e5bb1f8ab9bbdb1d9f3a786a75bdd7533f3f299ad93edf9b29bd59b69ebd8af2363f5d70d03ed18444bd6ba58bbd7e541d3fc4c8b73e373813bd7cdb6ebd32feff3e97fc993ee7b9dfbc234753bd009ac43eab53753ebce8a5bcc3e849bdde638c3ecbb3363ede8d8abc03d840bda1772a3e0241f23d604c5bbc0ca02cbd547a863d11676e3d84ab40bc37aeefbcf7ee86bc3a94843be7b2e9bb0f4697bc40d1b9bcc3ec043cef10043c80e89ebcf45730bd6528b5badc9c823cda2189bcebe837bdbd7413bcbb5c9b3c8d2a51bc102249bd947075bc5f998f3ce77002bcd71e05bdc8e940bc9df4403c810ae2bb1d4f12bd9dd684bc85bb3e3c229a34bb13afd5bcd61e71bca2ea6d3b2b00da3a106585bc448b1abce89e933b8bdd173bd9add5bb5e9c25bb7556303b68fd58bde80c153ffc62163f18f643bd26ea87bd73750c3f6c500f3f5a2060bd2a7960bd29d9ef3e43bef73eac201abd635658bddefac63ee059d13e9a67f7bceb8313bd7d1b933ead4d9c3e8e4f84bca0bf32bd24835b3ecbe0733e3d2b8abc9c731cbd6446043e81b51b3ebb213abc4f770ebd7814473dad959a3db16518bcb8adc0bcb1ca87bc763ab13bf421aabbef173cbc69a9dabc79c5c93be691703cf9444cbccb4f3dbdb63c1bbc7332b63c838413bc8b4750bdca44a2bc942ac03cf352f7bbbec141bd35d6b8bc1808af3cb459b3bb11e825bd8d67b3bcd4468d3cc6b826bb15f207bd486daabc9a88503c52f61639be11c8bc990e89bc09e1f63b7a5cff3a82166fbc19542bbc199bab3b2f7eab3afd6dc0bb88a71cbbfb96643b253a34bdfa9ad73ed9f7403f7fc362bd8e8f6fbd54d2ca3eebf0393f568481bd35fd50bd96b6ae3ed411213f30e63abdca2738bd25158f3e85ad043ff0ae02bd14ab20bd99bf5b3e40afce3e50d5acbc8b2013bdaf601a3e8268973e241f77bced1b04bd517eb23d3717413e27453ebc940de3bc2f83df3cc376b73d0320f5bb125e93bcd09095bc64f2243b016639bb1060edbb613201bdb08dd2b80a457e3cd85542bb372947bd17a2babcb3b1c83c23be30bb8a8539bdcda9e7bc0dc7b53c31198aba00f03bbd7f670bbd2aaebc3c042d12bb4a3411bd0ed0e7bcc1b6823c725f58ba1dc1f2bc5342eabcd6c75c3c7f5dac3ab85ea8bcc9dca1bcced5f43b1340233bd11e3cbc5a6f42bc05dd633b8237163ba07545bb32c4bcba34221e3bee5516bd7c79873ee2f96c3fd1e07abdab3836bdf33d793eede3633f7a738abde7a713bdd96e593e38103c3f1ecd1cbd51a10ebdd4b2323eb357203f9ed9e3bc0ebde2bcc78b063ee0ccf23ef08183bc147ae2bc1652b73d475eb33e8cd144bc8965b2bc84d4473dce63613e19a5eabbac0891bc073aa63bc1b4c73db47074bb1fab26bc320ebfbc7473acbb550ff9ba2c100f3b13c31abdfb0c88bc8cd39f3c7f23df3b842d4dbd1b344bbd9f7ab23c7b759a3b731b46bd56c856bd4269c53cf8b1423b6a162ebdda0048bd0d8ba63c78e7073b230506bdeb4f25bdcfa56f3c47cf2b3b4ef4d3bc88e317bd4bb6143c01f1413b213d8cbca980ebbccd4a703b7dcf6f3b492cdfbbacdd90bc38c6a43a47df0e3b55dd33bac8fb70bbdfd4c6b82092cbbce3bbe03da9eb8c3fdcc776bd2067dcbc6179c83df8ae853fd53677bdd6b8c4bc1e9fb63d29ab613ffa7604bdb7f6adbcc7c4953dcdd3363f60e388bccb9a90bc75565b3d33530b3fc373cfbb2a8f7dbc3ce0f93c35f1c83ed7812bbb01963dbc61a3e83b6e11773e8846c5ba519cd0bb654888bc8655ca3d795b81bbac5352bb9cf0ebbc67149fbca54581ba000000000000000000000000000000000130103c92502abd86934bbd77f3a03c4cd4f03b2d580dbd26364fbd2edc833cd79a703bc00eecbca1a433bd7321593c13af2b3b2114b6bc36d21bbd27a6063c99439e3ad4b079bc73e60bbdf2604c3b9aae643b415918bc60c7dbbc69f6ecba30301b3b959463bbd2f999bcbdd393bb0000000000000000000000000000000000000000000000000000803f00000000d0161cbc2fb8b3bc0ff28c3f37c7cabcfb5a1bbc5bdc65bc461b6b3f6d6709bc865a0abc530333bcce5a3e3fb283893a5cf4fcbb36ee4abc8cfb123f3203a23bb20bc0bb4ead84bce95fd33ef15ec43b2d4269bb2d0ab2bc6a95823ebbc9853b20eff8396e5bebbc4f14d13d0c46bb3a00000000000000000000000000000000000000000000000000000000000000006ba75ebd4e9e57bc8ecb583c84e5103ba3673cbd98429fbc0e063d3c05629d3b69c223bd7ae9bbbc4906243cf6f3bf3b086400bd93a3b7bc3728de3b7b679a3b8932cbbc23d5c5bcb5ba2f3b67262d3b3d0b89bc9693bebc4ad665ba6b5f743ae22212bc1407aebc4ec18fbb28bcd2ba00000000000000000000000000000000000000000000803f00000000000000007ea839bc10ef7c3f0e80a73bcb3f54bc07fd4abcb208563fb2bd3e3ce1660dbcf56e84bca47a303f692d7b3cd786c5bb888d97bc8d0b0b3f0ca9763cb483b7bb6168c4bc5c8ccd3e61c4803cc878c6bb91ecebbcfe27853ea1f83f3c7389aebb707814bd27b6f53df31c073c0b9ecbbb00000000000000000000000000000000700960bd153da8bb0d96823cc35c96baa4b686bd50cdabbc0433993cf4d6ad3be65370bd9c37dfbc9f9f773cb187f23bf44556bd0da1f7bc160f423caab7ea3b9be222bd8d99f8bcdfd5043c5ffaff3b283703bd892308bd119c7e3b8633c93b7d1f9bbcd7abffbcfd83c7392ed23c3b64ae0bbc72c5e0bc91dbcebb313f43ba4baf5fbbbd5893bcb25faebb69bb84ba8497b6bcb8ce7c3f537e073e3950a1bc30d9f9bc63cb663f8676033e7d78a6bc7f38e5bc2f21443fd246f33de45e75bc2427f0bcfba6213fef96d93d001142bc4b7c02bddebafb3eda24b53d318e01bc28421fbdbd60ba3ec880933d7b92ebbb677b2dbd092c6d3e31e7503d018edabb479b3ebd47c9d23d49a1fc3c3350b5bbb42c18bd53f94bbcd3e9123ca7a48abb75ef4dbd4916fbbb7d93a03c3479653bb8bf80bda823a7bc6561b43ce86b0e3cb7964ebdaca3cdbc20d3803caa5b2d3c38c047bd894805bd30c2553c32fa4a3caff910bdd430ebbc2078e63bc10a233c060bf9bc7eb40abdd772543b4f011a3c1dad9cbcd724f0bc9bb7023ab539e43b9e4216bc7ecfdcbc5eef90bb81c77d3bd21b6fbb09d08dbc8ce07bbb27c1163bab06eebca628573f9f8f8b3e51bfbfbc72831dbdce63453f6875833e4d67cdbcb81a0abde442253f7250673edcab75bc62cd1fbde3fd0a3f1ae04a3e5f6545bcad4a10bd0befd73edca0223ed4f0f5bbfb8432bd25589f3eff8a023e52bbd0bbb91528bdb8454b3e008db33d470b32bb97933bbd92c0b23df1b3543d50a433bbcf6f0abd6de440bc63ef543c0cac1ebacb7a36bded0241bc3ed0bf3ceaac033c46a665bd2b28c8bc21a6c93cccc85a3cf7ff50bd3bc5f8bcc8f29a3cf9cc853cbc3a30bdae650dbd45424f3c6018833c18a60dbd05240cbd15b6ce3b15d7773cb148dbbc1e5708bd718e2f3b9911543ca1e48bbcb9f4febcdcf79cba2368223c34f80ebc1c8adebca32892bba84a093cfc7871bb91518bbcc7422bbbb032a13be74300bda4a4313fec43d43efe16c2bc9c782dbdbe4d233fc977c63e7c9dd2bc8d7b2dbd96e90b3f8208af3e84c289bcc1b32dbd3026e63eaed5943ed7c019bc67292bbd4d21b33e7fd5713e202f9fbb3a4437bdd82b833efc2a3b3ee29036bb751d33bda499243e793d023e8d7c39badf8d30bd9d578a3d5a13963d94a43a3afbfcf4bc27fd47bcf2ae803c0ae8453b0b511bbdccd887bc0139cc3c2ba73a3c20413cbd7e07ecbc16efc83c3a02903c207a1ebd6d9a04bd903c8a3cb3fe943cdc9b13bdfa4116bd7bcc303ca657a53c492fbebc46fbe0bc7f439d3b8ec2653caf09b2bc039f0ebd5e32ceb8e2cc813cadbd54bcf670e9bc087c1fbb215a333cdb37c2bb0060cfbc37ca82bb96db1a3cd82428bbd4258bbcd6ca2ebb94d8de3bd31702bd793d0d3f74a50e3f24ddc2bc49b32cbdd489003f8623043f7286c0bc25ce1fbd328bda3e1634e53ecf6a58bcf0822cbd5248b53eb12cc43e5a5509bc58bc02bdbf048a3e8148973e032aa7baa0ad2bbdc6514c3e378e723e5a8fb03a3f9b17bdac8af93ddd7c223ed8f44b3b415217bd53e9433dbfabb63dc897bc3b430adcbc2ea181bc51e4863ce457d13beb8afbbc80c8afbcd233c73cd88e713c01380fbd279614bd8cfbb73c911ebf3cb43301bd04b920bd4ea35e3cfdb8bf3c74b1e4bc20d71fbd081bd23b5829b83cafe8b5bce45d13bddb83053bfbefa23cdf8169bc692b0ebd2e313ebbfb67893c4d9101bcf6c4f5bcd4b2a1bbe364453cf881dbba465dcabc8131ccbb0858273c8102913935957fbcdf2158bbe13b023c67affbbc7408d13eb7f4323fbf58b2bca2a130bdcddabe3eb1d7263fc364b7bc768d28bde7f7a13e6db3103fae902fbce7c422bde29c843e59f8f23e550335bb0ea21abd3f2f4e3e8e1ac23ef6c3cf3aa47f1dbd73a80f3edf85933ee3b3b43b35f010bded97a83d7fa3463ef1d3df3bba5104bda52ed03c1080d63de3421e3cf327b3bc38e19fbc6dcd793ce183063c7a8aa3bca77fe2bc8830b93ccd41953c6237bfbc70d627bdfbe8923c8a9ed23cfb5ea2bc88101abda516ee3b9121be3c8caf8dbc125627bd42a45bb9f26ccf3c6cdd33bca74e07bdb65581bbb97a923ce3e708bcc2a105bd83e703bc7a41883c35dc47bbf36bcbbc93a007bc03c93a3c0b0c973b23acb4bca8d61cbc6f1b163c18f9b93b7fe95cbcc9a2b1bb7072d23b41def1bcaeca883e3b3d583fe291a2bca6541fbd03e8753eb71c483f7e1b85bc89bb09bd3e32503e75de283f0bbe78bb3de215bd94b2293ef465103f85632e3b6b56fbbc5328fd3d3241e13efd23d63b214703bd17bdaa3d6e33ac3e520d2e3c3ba6d7bcf7c83a3d40d8623e5e922b3cbd0dd0bcfc864a3b712fed3d0b4b4f3c211a88bcf7a5c4bc4c98303c1410323c0f9523bc847c0dbdc5d4883ccc68b43cf7560fbcef6239bd6bc6ee3bfa74d43c5e330ebc39432dbde93989bb6c31ce3c3dbff5bb6d8f1fbdceaf22bcb342b83c279597bbb49f03bdab0f4abc0db18c3c5742e9b9e9f2efbc0a838cbc72ab5f3c8e997a3b990dbbbc09d487bc48bb183cc3240f3cb69087bc140a6fbc099d953bc074023c10a033bc5b6106bcd7d3863b3c5ed7bcdcd7003eba9b7d3f13aa41bcfc4b04bdfbfee33d769c683f7cf3b4bbab72f5bc6427bd3d674d463f1196cd3b7bf9edbc1aa3933dd07f243feb155d3ce1e3ccbc529d533d6745013fbedb673cf42ec6bc0ba0dd3c879ec23eab188d3c93b4aabce59a9c3b026b7e3eb5847a3c157881bcef8f92bccadcf93dc99a573c4de530bca9ebf8bcc01f163b7835573c00000000000000000000000000000000172faeba5b4516bd65ab4dbbb912bc3cfb8aa6ba131200bdd3ca2bbca46f983c0bbfd8b945f7e7bcade469bcc62c8a3cf9c4dab9feccbebcdea179bc903c3e3c9c81003b55dba6bcbeee87bc085d063c58bcca3b2a1981bc7e0f9ebc940e8b3b5e5f113c1cea31bc287f86bcbb6ebd3a0000000000000000000000000000000000000000000000000000803f000000008e6ea6bcdd9617bcbb4f7d3fa82f0e3c465494bc35e909bcb2d8563f95fd623cd97c94bc9fe62cbc58e8313f0634863c0ae480bc56ca56bceb2d0c3f8625893cba6b70bc552c8abc8e09d03eb371873cda4921bca41db7bcb9a6873e10ae693c947d0bbc10a3f5bcbdb1003e6eb5553c000000000000000000000000000000000000000000000000000000000000000081bc68bcc8fdaa3ab5cfa13b02f0703a991f66bcae6bb1ba035ea73b8bcf023b4cbd56bc69a910bbe5339c3b0b6a103b36d32bbc5e66c6ba0d0fae3bfb3dd33a1e7e34bcba145cbb3823713b4bea0f3bfc9d22bc6e5b7cbbd7db3e3bbb3bff3af011f2bb10a189bb7d602d3b9852ce3a00000000000000000000000000000000000000000000803f000000000000000079da4c3841d1633faa38643bc7cd3cbb7afc05bb1143433f5e759c3bf78cb1ba10d736bb3dc2223f1bfdb23bd0e666ba322f1bbb0cd3013fb4119a3b22fa52bacd8b96bb052bc33e497fb73bea3c54b96664bbbbac06823e37b8b43bf68d8e39d2bed0bb60a9023e49b6983b74d2adb900000000000000000000000000000000238263bcfb98223a64f0b53b007cb03a0742a5bc735ad0ba0c3ef73b3fc22e3b818795bc5a7a21bbbc8bd83bc223463b350c94bca8bd72bbe771d13bce805e3b201082bc16036dbb683dac3b7e72613b344174bcbefba8bb87e09c3b8119663b60af59bc6ef0b5bb04f46e3bdf5d583bd36f4dbc1e84bdbbf995603bb5d97f3bc0e6f7bb484687bb3a7fc23aa939073b915ecfbae4c5633fd697033ed28d34bbbb397ebb26dd483fb45eee3de4361fbbf8f087bb66f82b3f3059cf3d86cfc9ba985aadbbaa840f3f6cecb13d6bee71baa3f0e4bbe8e4e43e2234903dde00a338dce3e9bb84e0ab3e50fc623df43ac839105d03bc8bc2643ed8bc203d0c5b723afe0c14bc7621e63dfd26c53c8fa2ae39274edbbb56e2243ae39ca23b3dee843aa08d66bcc4dc08bac48fc13b98f6f63a48f2a4bca28911bb065c033ca3315e3b602f8bbc9a224fbbeb4bd73b4c33833bb0339bbcf26ca3bbaf79da3b17a58f3bf7e46ebc3c02a4bbe3739a3b150f7a3b95617cbc6af8ccbbd0769d3b3bd6903bdc8947bc99c9bbbbf60a623bbce9733b4d6449bccaf8ddbbb4963b3b093c803be762f5bbd3ee97bb37bbba3a289c3a3bcaac59bb5151433f96fb823ec6da1cbbb127aabb16632c3f2bb2693ede1513bb00d3a9bba856133f679d493e37da07bb113aedbb825af63ed1302b3e518abfb8ae6be2bb06f3c33e1f4a093e4394343add450dbcd96d933ef359d53dba0ab13aff4a05bc87a8433ed47e913d24a2d03aa1e322bce237c33da985243d70731c3b3468f2bb00aaaa3966d3cc3b6e0ee33ac63d5bbc6d42a9ba061ac93b83f7263ba1cd9fbc0d6b5ebbd57c043c65788a3b9cf692bc61789abb6802de3b30aa953b8a4292bc8b2ac1bb849ad03bad11a83b49a673bc3931c2bbfd79a13b76db973b0dd16fbc7891e2bbb5ab953b4355a43b16c859bcd5d008bcac0b6d3b85698f3b48f945bc18f3d1bb8ee3373b69308e3b62a7e4bbdcce9ebbccaabd3ad08d3f3b91f27ebb91b3223f6ad4c33e114cfcba4424d5bb16a80f3f6517ae3e52f4c5ba7e6fe5bb3fe8f53e450e963ea66026b8e0de03bc2721cd3e35ea7c3e887b783a460bffbb046ca33efa3d4b3e322ac43a50e114bc7f47753efedc1b3e3412133b67f82bbc8b7c223e7698d43d2989893b1b8e12bc666ba13d992c663d7367543b0338dcbb496b19ba71f3c53b4cba283b075066bc1bec10bbbbbecf3b7ffb5d3bf8bc90bcf5c58dbbde77013ce120ac3b3ee676bca5c4a4bb4e1fba3b705a923b5f1a87bc838fcabb157ac93be0d2c73bbf9140bc9098b9bb80905e3b2d20873bb82a6fbcd9080dbcabfb9d3ba0dfc03b986b22bcf283cdbbe25d2a3bb55e893b6d0321bcc39d01bc1844433b8459a13b5ad9b5bbc29fb2bb249db53a00114f3baa318dbbc43a023f326e023f014a85ba4482e1bb0bafe53ea61ce73e495ae9ba3cf9ddbb9210c43e722bc63e9a804a3ae85e02bcb7fca33e6b5ca73e2fa0613a8ae1e6bb50ec813ebfe8853eb939dd3aa04b2abc6928423e01dd4c3e08c26a3b92ef01bc2de9003e215d093e2ad4523bd36620bc53c4773d6211943d8f708f3bd653dabbb36a42bb106acf3b459e603bfee436bcc40e65bb6f05c23be76f6a3bdf8889bc558bc4bb6468f13b7432b93b0d947dbc311502bcb30dfa3bfbe9b83b65ba7ebc58d800bc479ea83b4f5bc63b1b184dbc6520e8bb5049733bc756ae3b55a462bcdb71ffbb22f05b3b8a2dba3b87d728bcb886f4bb58c01f3bc024a03b6b5a12bcab9b00bc8efce63ad7149a3bf241b3bb7a8bb1bbf9cc513a19824d3b6193a2bb4428c33e77c8223f158a40ba3f2dffbb3a2aac3e9313103f2d920b3a2623f5bbe91b943e73f3f73e3feacb3a2aaa15bcc82b753ea3edcf3e89363e3bb2fd05bce310433e8662a63ee793503b69a214bc657b113ea20d7d3e24768a3bb53812bc1ff4be3d67be2a3ec94b8e3b727d1abce7ec353d648bb33de752a73b725dd4bbe79f25bb79cbbf3be309803bcfdc18bc58d4a5bbbf9db93bb2dc853b9dea6abc571fe7bbb95de03b5548ce3bebb74cbc67cfe6bb8710993bfb50bd3b74d15abc35eb09bc4339863b1205cf3bf7792ebc8aa9e4bbc6eb403be93ca73bcdfb29bc2a080bbcf68b0c3b1dccb53b6e33d6bb162206bcafdef93add609e3b1a12eabbb67f03bc28b4513a331f953b51977cbbb696b3bbc0d59f3908c9443b00e6b4bbee18823e4b66433fdbf88eb92a8f00bc20be653e4cb32c3fd715c33a433ff8bbdcac433eadf6133f3b62343b5f9d12bc26b4223e7e4df83eef30843b199bebbb8b0e013e4a33c63e030a873b25dd14bc7867be3dc676963ea227ad3b5ed611bc4fe2713d60dd493e75efa73b49a412bca64ede3c7838d23d189ebc3b522cc7bba49d78bbb1f1af3bf11c8c3b610afcbb8bbaa9bb0a54963b2dba913bb94e43bc294c0cbc8f168b3b7b46ec3bea6f2ebc77dcfebb138e643bcc23c53bdce028bc95c308bc6161183b2a83bf3bf62207bc9144eebbd3f6bb3a537ba53b5999e8bbed420dbca5d1053a572ba13bd2aec8bb31b1f6bb9b078337ffaf883b01979abb02e3f3bb267ab7b93cd0803b910e22bb7e4cabbb59e14abab7da1f3b50d0a2bb961e023e8088633f0e13993a064304bc0895e33d571d493f28186c3b2c2ef2bbce17c33da6522c3f3b088b3b5cf302bc7c95a03d51ed0f3f8713ac3be3eaeabb50ab7c3d5c18e63e02f4af3b19d20fbcf3db343df4caad3e346cca3bf4ccf9bb910ae03cf4dd683e2ecfc53bce15fdbbbbbd253c6ddbee3d908cd13b2644b0bb49009cbb1745883bd974933b00000000000000000000000000000000657ddebb17dfecbbabea163b19579b3b7affe3bb83d8c4bb5508ef3a5621913b7f6ccfbb189ad0bbed132b3a92938a3b916a9dbb3575c3bb7a94b6b9f9c2433b0b909dbb070dc8bbaeb014ba995d573b785d6fbb7b09b8bbd36a44bad657343b77b69aba8cde9bbb70f2f8ba46fdf23a0000000000000000000000000000000000000000000000000000803f0000000099848abbd19d0eb9edb4633f5847723b52e2abbb72958238b146433f8723823b5cb3b9bb66bc79ba0ad8223f34d89d3b8ccab0bb3f1007bb6c10023f2340813b3775bdbb36663cbbcbd9c33e2035a83b18aeb0bb2a4276bb47e5823e6135a03b2e7f9ebb8778bfbbddc9033e5a19923b00000000000000000000000000000000000000000000000000000000000000005cb06a3c910f15bebdd343bc9082d43b6adad83bf3e20cbedcd291bc2387f03bb16271bbe928f1bd6a3da1bcdc14c53b40d7abbb1672c1bd2dcca4bced469b3b343ac4ba3d0091bddbffa0bcc7667f3b500c3f3bdb933dbdecbc40bc39b5653bac6ab03b41e183bc9beadabb9d6c2b3b00000000000000000000000000000000000000000000803f00000000000000006d20c2bd288da23f035a88bdc39a7c3b580a85bd54c5863fbf67dbbcfedd2eb8c9cb3ebd683d593f1b668dba351878bb54930ebdcccb233f9c0e283ca9cdb0bb53f3d6bc03cdde3e80f4473c9b0eb0bb09af7dbcf9d5733e3bd4043ca64d6abb2c3807bc54ff443de48b28bb43e6a9ba00000000000000000000000000000000917e7d3cb121c1bd266b083b263564ba03b01d3d04c021beb48b4fbc70c41c3c31c3b13c17b522be00c6babc96a2013cfb3a4c3c8c020dbeee45e0bcc37dca3b75d4d43b13bedbbdd233e2bc5819ae3bc8303e3cf026a7bd3f2bc7bc5da2ce3ba6bf443cf65b45bd23b992bcc0b5a43bdb6b2b3c44a74cbc977bcabb4e7fea3b2d0b383ca91d1b3c4f81e8ba3e4ff33a07d518be8194a23f0d85643d3e91abbcd80e22bee8099b3f19505d3d7fe293bc21dbfabd6c78853f5f14a53d9999b4bcb47cc1bdfd0e563f7999b83d41bca8bcb9b28cbd97211e3fbca9b33dc667a9bc8f8558bd597bd33edfd2933d290494bcf8fe00bd07e75a3ec9d7483dc5835ebc02895ebad58dfc3c013eb53ceb5ab9bb302ec7bb42e4afbdd6f64bbbc452babb0f460f3c26f786bd5ddfa53bb035a7bba160cc3cdc91febd894591bc931e233b7bde693c4acdfebded9ff0bcdbeb7e3b50e4613c5c40f4bd3e0811bd29da933ba0f1123c3a35bcbd449208bdfd139c3b6d906d3cf34793bd930403bdeb2dc23bf1b7643c6a212ebd9880c7bcd05e953b04f7803c082a62bcbfd571bc522bba3bc919603c0aa58b3be29438bb99e2743b73f112be2581873f3eb27e3e67be51bd516428be8c37863f0dc4783e79725bbd0d2600bef7f4613f010a763eb59c3cbd87a5dbbd6cbc3a3fa619603e1f6c2fbd81cca0bd371b093fcff63c3e0a8909bdd82182bd9e11ba3ef386153e710305bdd7262fbd2240473e4831c83d7c60c2bc11e890bc876f1b3d84593e3d292389bc5a0945bc7e6567bd8201b93b17594ebc93381ebbe4b845bd199ae83b4dd409bc3fc17b3ce04ac8bdc4d9cebc2b65a3ba2f98763c278adfbdf7fa2abd3eb83a3b2114573c314bccbd9bed3fbdfaac703b81eb273c1b20a9bd836337bdd859703bb654673c90657abd0ec523bd3b6d6a3b6bab863c0cfd20bd212ef6bc60069b3b02de8c3c806068bc430d96bc1d6fc83b7ecd573ca8e2893a429eb9bbecd07b3bb33f00be63415c3f6a0ee63e8569a2bddeff14bed9ca583f5b2de43e95edadbdd54efdbd73fd3b3fb6c3d33e580394bd8f66cabd3554173f0fddb73e298c79bd8987a4bd1c6de33e9f4f973eb78548bda9e27fbd8b0b993ebc30633ea7de25bdcd3e37bd0b3c233e3705133e21c605bd6e3ed2bcadd5193dccb38b3dec14c1bc7a1c92bccb242fbdfcaa393cd14591bc448c2bbbbdee24bdc7423c3b0d0a25bc3fc0303c09a49abdb5d413bd70a47cbb5b39223c7e89aabdca385abda21f853904853a3ca18caabd179272bd07555b3bf90d363bd1be6bbdd56829bd36bd6b3bc8e44f3c81975dbd9ffe3fbd10ee5f3bfa954a3cd97302bd75f006bd7f06aa3b07b9673c221a48bc4b31a2bca7268e3b070f363c84e6b5392e199ebbf6c2583b6143d0bd1fdf263f9e87273f1413d1bddb45eebd1eb6213fcbfa263ff4abe3bd90f4c0bdc1360b3f0530143f16fcb0bd42d5adbd6822e63e022c003f544d98bd71db69bd6acea43e4528be3e97e432bdb23c63bd74986b3e092b963e6e443dbdfc5b1abd70ccfa3d1e4a373e326f03bd24c3cbbcb6f6f23c3593a83d02c7cfbca9da84bcdf590cbd8f41d83b8c6f97bcc7f50f390adc05bd347938bc4f2bcdbbf37f6a3c9b3074bdf30480bd3ca071bbf4ff813c50af91bd225fa5bd067fb83a441a6e3c8e4389bdb12fa4bd9689a63ae950493c3fb86ebd290d8ebd517c3f3b4afc5f3c8f6e31bd4f2366bd5b925b3b8d25533cf227ddbcc04126bd04367c3b6f11473c48092cbc4bab9ebc5036b23b2147f73bfa5a84ba1007c1baa2ea933be3529ebd184be53e1efc5b3f382500be9c37b2bd4006da3e13085d3f22700dbeef3197bd8f08bf3e976e443f360be0bdfa507dbd92379c3eea42233f44eeabbd08dc59bd70086f3e8a60fe3e269f7cbdf47328bd0fb31f3e4247b43e8a1239bdb4bbf7bc6ff2a93d63765a3e62e10bbd63038dbccf0a8e3c821baa3de2b8c4bc9bfc30bc0a4fe1bc749906bc6a6e85bc1afa823b48c7a8bc832a12bdedbaadbb6d7f6a3c090d1ebdf3b5c8bd134d6db73bce693c0e6a47bdda33cebd8c8c1a3b083e883ccc424fbddf39d5bd12e3d3399539393cf3f62bbd1ff5a5bdffba3c3ba870513cb6d804bddcdd8abdef80ce3a2af6183c805aa1bcdb072dbd4ed22f3b8b37f13bdeaec6bb0b3fa4bc0fcecc3bf182b33bf76f7e3a56a6cf3a19eccb3b24c246bdc8187d3e6b82873fcf8912beb9f24fbd1c0f633e2927883f14ea1ebe97df33bd06264f3e112c673f356bd9bdf22f20bdb4692b3eeb20433f9aa2a9bd203400bdf5a3023e06e7113f9e835cbdb2dac9bc362dae3d1b12cf3e6f1527bd046991bc068e363d85cb6d3ee160cfbc608c03bc8826c13b4016983daf5f97bc24dc18bb4a97bfbc5d4aefbca73271bcc16ad13bda626cbcf0c295bd0229e13a248a4c3c3c442bbc704911be49baa23962b78c3c7f15e8bc6f0615bea6c966ba3014923c54a005bd8cad04bed7e75ebb9697583c4202f7bccd6acfbd208083bbb1ab393c0373b4bc5ec69cbdb88f6bbb9200e73b2fb327bc6c154abdcbb7103a73777c3a14ec62ba0cee83bc0d7ae13b7abc263ac9abb83bf27ca33b5da8b03b26878fbc9513603dd56da23f865616be563949bcda73103dd07f9b3f172113bef61b6dbc6d9d3f3d9af7863f3f62c8bde07e71bcdcf93b3db3175a3fc5607cbd8bf93fbc4e3e1b3d671d233f5be80bbd78c410bc8b58aa3c35e9de3ec33caebcab02aabb3fee113c26ba6f3efb104dbc28cf6a3963825f3977de4c3d817afdbb1d6e4b3b347caabc85df8ebda2b5f0bb0000000000000000000000000000000070bc4a3cb9cf58bc1a7511be78a8853ab8f7723cf25c9bbc1ffd0abef4ea90bb2391463cd130c8bc6438ebbd0ae9bbbb1682303c6477aebc14e7c0bdb20505bc2b44e73b5e0b53bc29cf92bd351f0ebc1d66733b233490bb6ef040bd919dacbbdaca0a3a1f54293b19e195bc4f8b3dbb0000000000000000000000000000000000000000000000000000803f00000000d9a9173c2857a7bdfc9ba23fb1479ebd14d7ab3bc6b455bde5b2863fa72616bd278e023bd7a80fbd7a8e593f20a53cbcb55b7a3a0450dcbcf917243f313d3d3bc268f83add32ccbc47eadf3e375c1f3c8ee48a3ba25f9cbc0f14753e05d3123ce2f9cb3b2f369fbc28684c3d2934b83b000000000000000000000000000000000000000000000000000000000000000073e5903ae9aadfbdbf5a6dbc52ed393be0ca053b8ba1e3bd93647abc2540253b5079b8bbe9e4ccbdedd362bc59a61b3b2fac58bb1761b3bdfba07abc608957ba793dd43a2a3194bd69db81bc1c9e8dbac857fa3b2c424fbdb07471bc710302bbc5983e3c2909e2bc65924dbcc76851bb00000000000000000000000000000000000000000000803f00000000000000008cfe90bddeb3983f89cbf6bcc5e283bb956c64bde1be7e3faf99b8366c07c2bbc83044bd0e3d4f3f310e993c65d930bc1b9937bd7cc01f3f830dc73c83dc34bccc9d28bdeea3e13e0959c43c63842ebc77df08bdff85843eca7d6c3c608d19bc13dbf5bc0567a93d67126b3ba06c03bc00000000000000000000000000000000469b3c3b20a994bd9bb4a93a1599ccbb888e033d94a007bebd3685bc63b5493bacab9d3c51c20abebf43abbcee41c53a9f7a823c79affdbdfb65b6bca2ca95b89474463cf6ded5bdd108c3bc2948083945139d3cba4db2bd2d6dc6bc0b0ab9ba2335af3ce4a170bd01a3b1bca58caa39a577a73c165fb0bcd2cf62bced6a313bcffe963c10fb04bb71e422bcd02cf9b9f093e5bd4cd3983f7a29c43ddea8f7bc9d6e04be1f33913f5b09ca3d1864dbbc967cd7bdd742783fa8acf23d7c9ae8bc2f6eb9bdce76483fa755f53d05b2e4bcd01d98bd4e27173fea72e33d284cd6bc8c1184bdf24cd23e68beba3dc066cbbc0f864fbd85be6a3e7958813d7ba6abbccfffd3bcd4af703d7a15ed3cf47e4bbc5eeababc76087fbd2a91533b20e348bc9717a33bddf171bda03b513ced1f20bc520abe3c3ab6e2bdc191cbbb9098babb77db303c78e1dabde34974bcdb0caeba227da23cbedceabd04f0c8bc36ca85bae005733c10aabcbdf713c9bc552cc3383746c83c6401a4bdd246f1bc79e880bab20eb13c37495dbd5634c4bc456095b96725d03c435ccebcd90da8bc34ade93932e0ad3ca6b497bb797325bc11c8ad39c1e0efbdd324803ff2848c3e67d15ebde14f0ebe9987793fdd728c3e825370bdf212d9bd5a514e3f070f883e0eae44bdf79cd2bd4a902d3ff82d7c3ed36d3dbd48b9a8bd7de4003f18a9523e35861cbdcd6e98bd81a4b43e056d2a3ec28e17bd6c3e61bd94ff4c3e947deb3d4edfe9bc3dc30fbd3795593dc3df823d1462cdbcdc33b4bc1dc644bd303e893c47af84bcafee74bb1e5155bdeb0dc83c8ec858bc1db6a23c2b42c4bd40b766bb797d12bc583ea73cd59adabd8bcdacbc42a93abb253eb13cfd0fd0bd69f7f7bcb52249bae66bb43c5f9eb8bd4b7907bdc8a234ba4333d53c127291bd82c212bd25f38e3af81de13ca88c4fbdf92c06bda137e137a0fcdd3c9f20c5bcd964cfbc43d1e63946d2ab3c2bba15bc0d7643bcf078b93aec7cd8bd9841513f2d02ea3e99259ebd85f703bedd754a3fd330ea3ed189a7bd4408e9bdc70e2e3fe251d93ebeb98cbd2bc3c7bd3b930c3f8917bf3e595370bd8f73afbdea52d53eb841a03e85324dbd2b518ebd36ae903e06f3783e41122fbdbfa861bdecbd1f3e8d4b2c3e315517bd365211bde14f243d4fe3bb3d9539f6bc7656d5bcbe7c26bd4704d63c8525a2bcb4e90cbbf5ed44bdeb46d03c577f3bbcac0e8c3cf3c4a9bd0f6ec4bbeb4c06bc9507913c05b2b4bdc66cd5bc516d2abb414fb73ccb14b9bddfd61bbd353224396dc41e3c1fd487bd4259e2bcaba0933be79ad43c752085bdae7a25bde290643adb09ba3c41082fbd20790abda459da3a5a67cd3c5bcfb7bcb4fdcabc7401ad3aa9f8983ca464f4bb286e3ebcbac1143bf5b2bfbde4dc213fe812243fcf83babd6334e0bdff9f193f2c9b223ffcf6c7bd7b3abebd2ea1023f6b81113f381397bdae70b3bd44add63e8c0c003fa20083bdeef183bd97ea9a3ea964c23ec8cb1bbdb7b081bdf5b0593eff8d9f3ed59235bdaf083ebd8c3cea3d0544513e913b07bdf5e8ffbc80c1c53c4216e23d71e3fabc0158abbc15e623bd8471d93cffbaa1bc7208773b707d40bd43ff983c724930bcbe5db23c7f9796bd9a6ebdbc70e62bbcccabcd3c5555a6bd37a03fbd308943bb6f39d03cb5819abd9a6b5ebd7c7242bba045c93cc0bd8ebd31a656bdd83ec83af3a1d33cbb375abdbebe4cbd33f2893adbccc13c3e6011bd7ad426bd4f06783a7ac9a53cb5537cbcce38dfbc413adc3a63d3783cb48ea2bbb2c312bcebf3733b18d19dbd5da4e53ec23c533fa45ed1bd49e5b3bdb8fed63ed13b523f1c36e6bd2452a1bdf69cb73e208b3c3fc1f1b1bdd78c8bbd8e56933e49451f3f0c9b8bbd56fe70bd8c8e5c3eeb95fe3ee0ff4bbd884844bd1a430f3e0c74bd3e441827bd7e8711bdec32893d7f1b783ef3490abdd5b7aabc958b833bba28f43de1c2fcbca3fb4fbc715e1fbd3296973ce5df99bcbd5f193c4a2f25bd583514ba37b443bcc649c83c8a2774bd8bd250bd84e635bc31e4ac3cd3797dbdebe476bd385f32bb017bdc3c638b7dbd881799bd1a0c17bb48bcb53c169652bdde1c81bdbd6bd9399ac2bc3c511624bd57c47cbdae3602bb66779d3cc426ddbcdb802cbde96afab9d3435c3c5bf5f6bbed22debc78e4d33acb701a3c43d2da388ff5cbbb1baa923b93635bbd2a2d883edeb1803f23bce4bdbb7b73bd5f1a733eab957f3fa2efedbdf7a350bd4191543ee9a9573fd40890bd6be63fbdd94e253e3adf3b3feb846ebdf4c21fbd16fcef3d4711103f666713bdbdd2febc39e58e3d5763d63eee1601bd0b34c1bc38aff43c1b01853e45b3acbcbe4a0cbccfc660bc9388ec3d8d4ad2bc4fb850bb4fed18bd9fac2abaa931a0bce2b6583c213b13bd89c10abdf1eef7bbdbbba33cdf640bbda351c4bd06ee70bc9b26c63ce0e92cbd0025dbbd9c8b12bc2f93c73cd4952cbdca0fcfbd93c200bcdd87b13c22ec16bd20e6afbd2086a3bb14c69b3ce844d1bc772e98bd8ba5cdbb62f8433c207e3ebc66e75dbd091991bb7b9e3f3bad88263b01a1ccbc309aa13acea45d3bf0d8d33b3fe587bb982b113b0ad9e6bcbd6bb73d2c24993ffa25d8bd27c3b0bc6d008a3d5040923f18cdcebda9d2bcbc7506793dcc3c7e3fe78f71bd6fe9aabc3a3d443d6112503fffef03bdf37598bcf103f93ce3da1f3fb6e879bc348e47bc0ca8173c99c4e43e1b8032bc2580bbbb745724bc5be7883e20c04bbcd985703b4539cabc6cd6bf3de0a091bcf654c53b513e1ebdc40f07bd118377bc00000000000000000000000000000000ed47933c1a88e4bc5011cdbddf3ae4bb2fd0983cd1d1d8bc8880d4bda71404bcddca9a3c5ca2f1bc3a39c1bdf374dabb37bb8b3c11e6cabcbcd7a6bd55f8dbbb314e593c811683bc493a8dbd5f4e0ebc953afa3ba47a98bbe4c852bd2af510bcfcd9023b6033a53b16c7f3bc1baad3bb0000000000000000000000000000000000000000000000000000803f0000000052bb66bac20d6abd4122993f04291bbd5b116abacafb2dbd95cc7f3f9dc4e3bb6966babb17c40cbd37d8503f48942e3cec9fa0bb5ea20bbdcf91213f2791963cfbc1c2ba27e011bd4d68e53e62dc8b3c360d813b6a8c10bd87e9883e42781e3c8c8a063c06a214bdb592b63df61233b90000000000000000000000000000000000000000000000000000000000000000866022bdf6e2f9bc1937bb3b5557e0ba77400dbd41c313bdf943843be127a239bb9d0bbdab3d1abd44e7ab3b34caa23a29a4eebca7ac15bdeb29ac3a3bde65ba8004b1bc37b310bd8a8743ba1eedb6ba68661abc08e104bddb90ccbb8904babb4124a1ba9544e4bc262b34bc71f6ffbb00000000000000000000000000000000000000000000803f00000000000000007e25a4bc8779823f40aa8a3ba59231bc341292bc740a5d3f09e2643c09c417bce3d19fbc3f24363f0633a63c04732ebc18e8afbcaad70f3f0edbb63c78a51cbc0ba0c6bca310d33eb1f4a43c846733bcc2c0d7bcc949873e3c35623ce0fc42bc0ce3fabc9cadf43d23b7183c8adb65bc00000000000000000000000000000000bfa729bdb94982bc2a193e3c516ecabba9c908bdd6fe24bd5a43ce3b745598bb3a6d17bd20da47bde9c3e23b761ec3badda10abd137d4cbd1fe94a3b0a2ff83946cee1bc651644bd1f8d9c3a0557583a176183bcbc8147bde39298bbb87b25bbb77547bbad8337bdfd0a1cbcced4cdbb7d1f2a3c6e9c08bd16a67fbcb4c917bc9ab21f3cf0a1afbca5e039bcf98ff0bb54fd0dbd998d823fe54a053ea6adc0bc164432bda856703fbd50013ed53ab7bc392c20bdff6f4d3f0308003e0e27a6bc131a17bdb66c283fff5fea3d16ad8cbc24771bbdfd1c033f1debc63de4ed8abc798121bd855abf3e3986a33dd70089bc95b02fbdccf2713e4f0e6a3daace8abcf52925bd1c5ace3d4b73fc3c771d90bc08700fbd2ee37bbcd102403cab6561bc43860fbd8dde87bc2bcc9c3c84d3bbbb92b615bdf95214bd9834813cb4fa8abb4f8d13bd219e23bd79c6383ca5b2143bce8bf2bcab2b4fbdf5e6cb3b9cd4243b76d7bdbca2d83cbdb428213b563a6b3badb845bc409643bd2e8e9dbb7eda043a7102f0bb178417bd39aecbbb448ef5b7ca8d2e3c0ce109bd1bbf48bc614f97bb0cfd313c3d3facbc040304bc14e359bbe2ae2fbd58d75d3f4dcb8c3ec3b2ffbceeb25cbdd8b94d3fbcd6863e643e09bdf65f33bd52cb2b3f4ae3713e390bbcbc140d48bda823113ff087593ea45eb8bc80f736bda24cdf3e111e333e5ff98abc032f43bd7503a43ee7a8103e7cb994bc2da127bd721b4e3e289bc73ddb2e5abc3ec733bd00d1ad3d0240743de45486bce0e608bd34206dbc68a69a3ce9ee29bc5f1512bd6a7d91bc6f62d53cc2942cbb4f2403bdbb8f16bdb826ae3caf1f03bab6abf5bcd23f3ebdddc14f3c37c0933b2554babc8c994abd474cb43b8a5f023c0a2797bc94214abda6dccb3a02b3da3bad6ff7bbb10741bdbcac8fbb8af9673b9eedd93adfe52cbd543112bc6cbd013b4625363c831904bdf14731bcbd9673b92cb8213c41dcaebc59b9d2bbc147443ae60534bd8023373f8784d83e7ac30abda58f67bd2b42293f4c26cd3edfed1dbd64245abd7d89113f8e91b83e53f3fbbc03755abdc2a5ee3e3f119f3ed975b4bc0e694dbde909ba3eca3a833e1e058fbc9ff047bd3057863e56de4c3edff280bc021642bd2658263e7cbd123ed6a46abc6e742cbdf8d0873d97b1a63d534446bc0e8a04bd84a879bccf22c13ccf83cebbae26f0bc521cb9bc2c8eeb3cc4e6b43a7e92d9bcb8ab1abdc0f5cd3c7170693b4801b5bcf1d834bd87f83c3c9390073c0bf09ebcce2a43bd213a873b6aea1b3cd95a92bcd96b1ebd30e2e23a4463273c3c4e86bb194f3abd1f0ee5bba9ebeb3b961e893b2e201fbd144411bc8d2c993bdf38563c655803bdef2823bc7f34703b1332243c9acfa7bc1331b6bb2178853b97922fbdbead103fa848123fd59417bd70fb62bd596c043f68d2093f97051fbd94e94bbdb744e13ec8a4f13eb8e6d3bc8fdb4fbdee78ba3e72d4d03e1a11a7bced042bbd54ff8d3e3b80a23e7a5f09bc4ad73ebdaa5a4e3e10eb833e59e42fbcee282dbd39b4fa3d5754353e87eb05bc92f520bd8bcb393da940cf3dfb50fdbb6cefedbc624a90bc8d7cd73cc7dc29bbbd1bb7bcec58c2bc66a9e23cda4cb53b9ad565bc3bd82abd334fa03c7b66f13b34ef26bc417849bd5fd5b93bd6243e3c77a8cabb3dd449bde0fe29bbeda2353c646c83bb920344bdd0f2dfbb0f553d3cc011b03b37103bbdf41b51bc439d013cf275313c18d419bd90746cbc30a5b03b05a0863c6672edbc5ac735bcc586483b68b4433ce7c59abc930aafbb5ca3963b219f24bd7f0cd53e30ca383f2d7d19bd250d55bd9a22c23eb2f22d3f1c6720bdae704cbde594a53ee5d5183f3b38cdbc433d44bd34ca863ec571013f709586bcde0b38bdd0444f3ea527d03e8f5519bcf77133bd06b8113e93e59e3e216ad2bb96eb1cbd5875a33dff935a3e487ba1bbb7ab08bdcd97c33c8a91ef3de1d9b8bbe605cbbc871ab1bc82bec83c23b45aba1b520cbc963ee6bcb54aaf3cae08f93b2d85f8ba627432bda51e1d3c8fa0233c95abdabb4dc127bd2e43ccba360c483c790a243bd98444bd601042bcace54a3cc35af93a93ec2bbd8f545cbcd494343c953a393cfbe129bdb4b99abcfcf6ec3bb4320c3c5521fcbc7a7973bc3581ad3b7bdf923cbf11c6bcfc1e64bc6082143b7d31643c3f5e67bcd9d0bfbb4cfc3e3b423d12bd6936893ed00d5f3fe6240fbd485636bd9975753e6edd513f71dd08bdbc0018bdd9db503e7276303f37ad56bcfdf925bd975a283e99bb183f23a9edbb7f7212bdeba6fd3d01afef3e6e84cb3876b511bd81c3a63d7054b73eafbbb03acb7aebbc742c373d8f08713e5781153b5cbdcbbc2f50f03a4345fe3dff3ecaba00938cbc7933cebc385b8a3c08ca34ba4d4d993ac1a900bd3a632a3c5c5d233ca2c03f3c5f092cbdff3914bc1f4f483c9f7e3e3ce7573bbd6cf7b0bc78e5503c9c0d443c705234bd3e09d9bcf064293c1154443c9da523bd65c0e1bce4800a3c1108783c72490fbdcc03edbc76fa793bda90883cfe50eabc2c9be0bc83e484ba682b903cde8f84bc0c6899bcaae160bb484e6f3c705129bccfc029bc4526863ada0ff3bc2bcdf93dca7d833f54badcbcf636ffbc80fcd23d9fe0723f011d9ebc7d4c01bdd0acb43d594d513f740f98ba5505f5bc65e78c3d4e292d3f600bf33b866fd9bc7f08433d8a58083f7d364b3c38d4cabcd943d03c3792ca3ed2202d3c92c690bc06d55f3b451a853ed727e03b273f57bcb7308ebc2b3aff3d5ff411bae5e925bc79d200bdb1b1be3b5f493e3a00000000000000000000000000000000ff3e333c26760bbd60a899bc6f844f3c61223d3c8aec00bd2facdabcf930133c224b2b3cffb801bd8bedebbc9f81063c98f01b3c5813e7bc8e96e6bc52a6bc3b76655a3cde7dcdbce804f7bc37da4d3bd214613c834e96bc629ad6bce41920bb542f733c63234ebc429db7bc1eb587bb0000000000000000000000000000000000000000000000000000803f00000000676c9cbcc99977bc9517833ffb4e463bbe8f8abc8bbc55bcb01f5e3f9781633cac358ebca3076abc234d373ff2019e3c35ec82bcc3db85bc1fc3103fadcba33cb04a6bbc65d3b1bc11e0d63ee2e0993ca5bf29bce5adc8bc42b18a3e558c563c7208f0bb24d4f1bc5de6003ed47a0f3c0000000000000000000000000000000000000000000000000000000000000000d7290a3d063244bea050bc3b4960123cb994e43c571941be7efd8639e2de4c3c9ef9893cc63630be5a6006bc5f8f2f3c60834b3c1f6711be85c234bc0de92d3c6cd6fb3bd13bcbbd8f9128bc20f4e63b6046e5b889655abdcee36abbdecd9f3bd66c36bb660025bcef6a14ba848ffd3a00000000000000000000000000000000000000000000803f00000000000000006ba1f6bdc868ab3f8ddae0bdd3b72b3c5a94afbd9a0f8e3f8ddd6bbdef4a023a44638dbd2ad76b3fb95af4bc4d7e66bb93bc48bd4490303f7c4800bce0c6adbb567ae6bc45bce53ee42ea03bd025b8bbc18afcbae145653edfa94f3c206b19bbf4f18d3c546b0b3c3133223ccbea833a00000000000000000000000000000000537d053dd707febddd65a73c857ba7ba60c13f3d717435be4302683c572bf73bd712233dc04b47be350afdbb464c343cec0b0d3d999638beb2048ebcaa687a3cf0a4ba3c632711be1e26b9bc127d533cb5c7673cdc25c6bda8b994bc7817263c4e92cf3bb3c24ebd067e6cbc8b16f33baa195bbb4bcc1dbc6ec6e8bb8039913b4f54aab98e30b23cd5e1ad3aef21a03a5c8c3fbe030eab3f94c2243c0b0551bcf2912bbe475c9a3f97121a3d63a5afbc267416be73bf8a3f9f5a6f3d8c8dd6bc0adee8bdd231613ffcc49a3d9050f1bc05c39ebdfb10253f17faae3db4ece7bc87ef21bdc56dd03e3459a43dd5abb9bc2d6392bb4aab3b3e2761893d5b3590bc958ee53cc759ec3b26ee493d3ab206bcf433f83cc2aa07be489c393ca1c6c4ba89badd3c6369b8bd8d0f9f3ca76bd6ba1d54253da2ad1cbed4d00bbc6025f73bd89c163d798b27be943102bdefc1733c4e63003d92461abea82f2bbda6bb813cd71eb33cfa7ce8bdfaa133bd3043833ca9337d3c96dba0bd0e6c28bd15ea833cb2da1b3ce4d01bbdd081f9bcdfb13f3c43a2963bf8abe7bb5ab376bc4072163c851c473b08a15f3ce4da28b9e203d73b78c43dbe834e8e3fbd9f633e713067bdaa2346beee1b8b3f77bc6d3ebc2986bda77823beec40723f13a9733e1cbe83bdb7d7fdbd14b1423f66716d3ead257dbde51ba8bd0a3a0b3fe8b0573e78a45cbd06a238bdc57aad3e0c2e333e68c540bde61f40bc5e1c183e51c6003ef3a200bd59f87c3c624a95ba2d528a3dda5991bcd784d03c154ec6bd6228553cdf01cabb1f2c963c995395bdaf241f3c7366febbd7d50f3d47f2f5bd725011bd2549253c1072033d8be404bea9c17dbde40b793c7303cf3ccd87e5bd6f5a91bd065f993c2439ac3c046cb7bdb55a9abdee2ea13cbae8763c1cb26bbd5a0b82bd42fb9a3cc786273cc14fe3bc8ead2fbd3b48933c9ec5ec3b50c3bbbbb684b0bcfc89633cc720fa3b3afe3d3cfe846dbb6b66153c458c30be936c6c3fa311e63ed2cecbbd7d4237be5d93623fb192ec3e639ae4bdcd0c15be91ed423fd141e63e726cdcbdf8d3e0bd0a89193fd5dbcf3e4d5bc2bd3b9b9bbd98badb3e655eb53e4827abbd25db21bd2330853e0bde8a3e1feb87bdd3a651bcc2eee53daefd323ed38737bda5b91b3c0184e9ba5e1ba63d0c84cabc5c674a3c2ae89cbdf0d9103cc37b57bc66a3473c023355bdf1e955bb4fdadebb990fbd3cc115a8bd529388bd58a1093c2a77ae3c523cb2bde375bbbd75c5663cda7fae3ced13a2bd7dabd9bdbd769a3cc1524f3cbe1673bdc4cfaabd7eb1753cbed65b3c6e6f2abdd558a6bdc5b1a83cf765103c95b4abbc602a4bbd202f893cba6cff3b0d3589bbd4c6c2bc0dc8843ce8cfa73b35bb213c1f79fcbab497423c717212bed397313f3421303fa53112beeca710be1ed5263fa094333f709b1cbe1eb1e7bde7bc0c3f6703283f66890bbe7b0dafbd680ddc3e24f3163ffa9200be966665bdcca19a3e6407ea3ef9bcb4bd84ef0dbd2b3c3f3e9f8fb43edb2aa3bd5eba62bc7be8ab3d29fd553e036145bdd812723b5324f0b8c307aa3d63dccabc7a3c103c763d6cbd69ee14bc319062bcad71d33ba6d102bddc25e9bc219d5fbb2cc8733c612a35bda66dd0bd20ca573c2059833c95c340bd7cc109bee800a03c80044b3c6ff933bd497809beafe59c3c9a3f3f3c59cc12bd6493fdbd657cb83cc986143cd57cd1bc87edbcbd2a63a63ce07d1e3cf2ee89bc8e6f6bbd5b0e993cd382da3b6c5db8bb8db1c8bce1527f3c532baf3be0fc8b3bfdc139b9344f4f3c18e8cebd0214ea3e66cb6a3faa6f30bea0a1c4bdc48ed33ef3866d3fa6cd3dbe8f709ebd1d35af3e86285c3f90682abe7b8d59bd2239863e162c3c3fa3a60bbe40771cbd6fd73e3e11f2153f7113debd9615b6bcbaf3f53dfd21cf3e6fd59cbd6ef337bcd7fd763d35156a3e258b3bbdb8d7ceba701e2a3cfe64953d7a89a6bcb793af3b859c0fbd67d8f5bc43df34bccb6daa3a49a937bb734963bd422e9e3b7fdad73b828acfbbd3370dbe04f8913cb56ef63ba0d466bcfc9727be812c8a3c4722023ce4fe5bbc6f9827be31e49c3cae38103c847787bca78808bed401873c3492f03b3cce59bc4411d4bd87c58d3c072fdc3bb0293bbcb09475bdcd73833ca8acd03b17f5dcbbad25b2bc323a643c24a6b73b41fc5fb9d72ec43b78943e3c7da367bd73976a3e42c68d3f2d213fbe7fce52bde9d3423ece278f3f290846be908512bd78531c3e8224823fb69228be72efd2bc0201ed3d2c075c3fc5d908be1cd299bcba60b03de637273f107fc2bdb3053bbc07fa743d763ae53ef20b87bd1e86d4bb8f2a193db2e6703edebe0dbdc60870bb4d87943ceb396d3d0b462ebc5f30b6ba7738f5bb6db971bdae5f27bb476bbdba14f0813c3903ddbd40b5653c32938fbb61b5fb3c4a4d2dbebbfabe3c32bd5d3b8f85893c8fda49be8d5f9e3ceb0f843b1d6f2c3cffd43fbeb5986f3c9d82663b6299633b7c891abee2443c3c8ac8843bc363ecba216fdfbd6c47363cda8a953b7af3e7bb0cec70bd71d0233cf9f3ac3bc5ea48bcb0236bbc718ae53b302d103b2b419abb430f883c3e21093cefe555bc981c873c8eb4aa3f09f041be49dc3cbc3921593cba229c3f86d426be020bdbbb7c4d4f3bfa618f3fb3a20bbee7df29bbaab1b33af33e6d3fcd60d1bd3700553a5519713bbca3323f2ffe87bd513b95baa5a83e3c6048eb3e9dcc1ebd026e2abbd805a23ce10e6b3ec7f55cbcad93d6bb36b8063da275083dba2b0d3ce7e72dbb27ed5f3c4b8fe8bd80efb03b00000000000000000000000000000000c88d5cba110a013dc95948be2961833cd7961ebafbb6d23c9fe242bed4d2e53b62ee1a3b76825f3c4f8531becfe09f3a06ac1e3b2c310f3c7f1711be554359bae3ae1d395c4aa53b22c8c8bd607d55bb6a955e3ab4d3cfb9cc1a59bd943bcfbabdeee1395dd2babb25faf1bb732a673a0000000000000000000000000000000000000000000000000000803f00000000c912a33ccc2503be9b1eab3fb494d7bdebd5803c76beb7bd3ed28d3f8c7067bdef2d5d3c473593bdc6ff6a3f1659eebc5b17373c8a8c65bd78962f3f80a6f4bb048f2d3c727b06bdba3de43e681ac53b0229813bd9f3b2bbb3c0603e1e59873c2565403aea14403ce7bbbc3b44ed893c0000000000000000000000000000000000000000000000000000000000000000db5d153d8bf52ebed00ea4bb8434103cec71103dd9952cbe1bc731bc0df51e3ca387ed3cfacc1ebe970671bc4813ef3bd1dabe3c6d5c03be23ed84bc3288c73b1439843c0a08bfbd8edc59bc2ebc923bf845dd3bc5d64cbd574fbfbb04872e3b5670cdbad91806bcf2ad5b390e06dfba00000000000000000000000000000000000000000000803f00000000000000001703ecbde1ada63f07b7b4bdb310163c62c4bdbd03e9893f636704bd1ae9a7ba889ca9bd7298623f023cc4b9cfc4f2bb96b187bda6232a3f1ba0a03cddc719bc55b93cbd1054e13e32b9da3ce57716bcc18b8cbcba23633ea9e5b83c31f930bbfc300f3cdfd9493c95f6433cd6136a3b000000000000000000000000000000004321203d922c01be1276b23c7e2886bb44b4603d21fa31bec4c99d3b65a9f53bb78d4a3d933439beb5c858bc6d1d1a3c2b0b2d3de73925be814dd4bca69d293ca1e6f43ce21a00be4f1cf0bce1da313c183ba33c1523a8bd2f04e1bc8ddc133c7126be3bd4b916bd612daabce0acbe3b596009bc8415513be77cd4bb660c6a3bb1cfebbbf7fae53c7cdc5abbceaa103b3dd628bed45da63f0f2af33c83e562bcafaa1ebe5f7b973fc7d16a3da5fab6bc3bb508bec453833fd82fcb3d5ac905bdb818dabdee74513f505bfa3d51610dbd488e97bdd277173f1c31033e4a410ebdb8991ebd7a49ba3ef070f43d4e37febca39806ba8385183e9fedc53d6a15a9bce285243d9fe4f1bc8d4b7b3de141d0bba9e62b3db12e18befc81b83cc77e7fbb8855213d9422dcbdebc8113db7575cbc0aff503dd6e81ebeb4334e39875bb6b9cfae3e3dcc631cbe1025d5bc970a7a3b97dd1c3d8f5e06be933538bd1ff61a3c8de3db3c3a54c8bd65244abd5b4e343c09b2853c0bf770bd479456bd791f6e3c2cccd53be2afbbbc230628bd8fc7573cc4a39abbd6f0203ce978dcbc10d2383c051be0bb21e0e53cb81752bcfac81f3c951523be4e67893fa4bf763e73035fbd7b0427be7342833f71e6863e8feb87bd4b7008bed9f35b3fe42d933e03478bbd8867cebd073e2c3f17dc943eaa5894bd725285bd13f7ef3e8afe893e57f788bd0c06e1bcd95b8a3e1912703e4c9a7abd8e2a043bd16ac93d29fa333e046244bd51111e3d72594fbd4150df3dc8ca04bdafdd393da76d04becaae283df6729dbcfa1a053d9f1dcbbded11293def66b4bc8f80393d04aa04beb3f035bcc575e1bb5fd2223d439cfbbdea6145bd1f412f3b5e33033df6cfccbd762889bd2706243c5cf7b63c4db38dbd24a9a4bdee3a773c7cbc4f3cbcb815bdf0db94bd5879953c3637983b2192ddbbe67379bdce6e973c5fec42bb4efa773c25651ebd1fe29a3cad2beaba2e96c93cfadeabbc9611813c1a4e17becf97613f5814ec3eac90c5bdfb4f14be541f513f9be4f93e07addcbd0f92eabd78bc2c3f1190fc3e383edebd6d2fa5bd91a1013fd958ee3ed408d7bdfd993fbd7062ac3ea0c9d73e3afeccbd84e582bc652f373e2313ae3ee417aebd515e3f3c8e2f2c3d7187793ece7a8abddda30d3dcf117ebd255c0f3e48e445bd60f60d3d4cb9edbde64c4e3ddb930abdc08be53c7605aebd958f063d0f50c8bca98f093dd06bc3bdd36e02bd379113bcbb4aea3c9871adbd176592bd7572cd3a5c6dbc3c0c1d85bd6c02c7bd4601013c76e2823c3dcc48bd6677a5bdbceb493ce68e1b3ce2809abc1d1fc0bd5174983c37f68c3bdecda9ba62ce8fbd1cc9af3c88b0f3baef0b853c512537bdbab7ad3c3b2005bb725dc13c9592b2bc9b688f3ccf16f7bd3818293f67c12f3faec206beccace2bd18f4163f86b4363f255e13bec902a9bd53c5ef3ef26b2f3f164c09bedb135bbd0270ad3e3a08233fb99904beb88e15bd13de693ea596013f1c57c6bdbf608cbbb286c93d7e21db3e515dcbbd34fa1f3cbec0623c0fd9903e7b0d93bd2f23e63c924b78bdca2c193e30b05ebd3484f93c0d94d1bd93aa323d7bee11bd30209c3ce9d278bd2585533cf4f0afbc45c6ac3c639a64bdd6e48abde24c07bc41ee963c1ebe38bd3832e2bda5e9333bbec9423c85c4edbcd5afffbd41520f3ca39f183cc15575bcb36e01becc207f3cb076ab3b275f69bac3ded8bdce07a43cc5e4cb3a3636113ce1359ebd5afca73c1cab01bbb48a753c038539bd18c3b53cf7a5a9baac4d913c272a8dbc91af963c5e87abbd4a94df3e85fb663f209a21bedd8192bd322bbb3ef43d6e3fd8fd2ebe752949bd2cf48c3e962d613f40f720be9b18d9bcc5823b3eaee0453fc8a40bbe158b12bcffdfcc3d483e253f1d07f5bd3e47433bcb3c103d8f11f43e20d5c2bdc08b643c350e92bc35239c3e99b092bd1b24be3c61115abdc863113e417256bd2dbfc33c9f429ebd710ba73cf86f10bd66ab173c7f39d9bc07e7b1bc93b773bc5167fa3bed6c50bc45d1dcbd185942bbbc8bcb3b816a00bc8fde0cbedbdc393bc7fa863bb6964e3b76ea1dbe1599ee3b17e4233b4d8d783b83a807be219b3c3c471c243acfb93a3cc4c9e7bd20f76a3c529d1aba8b754a3c9ec29cbdf9118d3c230284ba444f2e3c770c20bd43c5943cd01cbfbabbea253c1eb2c7bb2826823c35533ebdf035613ecf128c3f60422ebef6e804bd9f241e3e4b0b8f3f188436beb55d95bc61f7d93d1552813f06f915be4f706fbbb6fa523d8943623f234f03be25fb363bd669a13cf5de303fb077c4bd7081383c738069bce24c013f28249fbd37d3543c3f48f9bc36f59a3e9cb061bd65ca653c58210bbddb16ea3dee0b1ebdc33d523c6af52bbd609990bc70b2d9bc5ef1bfb83ebf8d3bf28ea5bdee6e5dbb0ae1bcbbc672173dd7fd1ebe8b8c8a3b865b4ebbc833063dee793abe0ac8533b089e6abb16c2fb3c7e4c35be0c354a3ba7fd0cbb17d9d13c47781bbe7e8d823ba56213bb8b4cb13c6fdeebbdb017ea3be1a8f9b954e6573c5c1195bd46d31d3ccc392c3bd0c200bb303fbbbcdd13623c7e8f6b386a9b963aa47af63b74951d3ca3f419bc458b8c3c1589a73fc7722cbe961765bb02418dbcdd239e3f434d1cbe245e9d3b4f2411bd6a788f3f7d17f5bdf34b323cb9f635bdb6666f3f6611b4bd3eab5a3c2fbd45bdbbd0383fd50f77bda201443cfd2935bde95efe3e02b427bd04c50c3c2935e2bc5da78a3e15d5cfbca3c499ba2eed5e3b51127f3dcf0459bcf6db713b0ea411bcd0afa8bd3c4549bc0000000000000000000000000000000098ab04bc25dd293df51d36be0522633b39acf4bb25fc333d06fd38be09d166bb28208abb597a083d863e2bbe08f8c0bbfa319cbb5ac0f63cbd3a11beb15606bcb3bd69bb2167be3cdb7ad5bd362702bc8d4833bbedf8613cc22675bd8ad379bbfbe6b9ba8895823ba4e27fbcbd9980ba0000000000000000000000000000000000000000000000000000803f00000000a118bb3c1c770abe3e17a83fad70aebd0152b83cfc69e8bd0e7b8c3f278e18bd5a59af3cb8fbcebdb766683fe32526bc4c469f3cfb25b1bd67c0303f31cafb3be31a7e3c5b2f86bd3b3dee3e856f813cc2a40b3c19ce0bbd39d8793e086c8d3c4c652c3af29d7fbb765de23c079d473c0000000000000000000000000000000000000000000000000000000000000000b0a78b3cc0f7ecbdc04013bb04c56bbb273faf3cc0dcf7bd7e8bbabbf11eaeba1c178d3cca5aebbd893e8dbb1da46bbb0d598e3cce98d1bddb22abbb3ce93dbbc0cd803c793fa7bd59e025bc541019bbf05e653c183b60bdc6b53abcf10fadb9855d353c5a62e5bcc6785cbc69121d3a00000000000000000000000000000000000000000000803f0000000000000000f877a6bd5c04963f6d3becbc4e3439bb0c538ebd799d7a3f52d2ed3b9b1710bc48af86bdb9034d3fb6cdfb3c511186bc50fb77bd30091e3fe6f2293df6eaaebce94151bdfc8cde3eb01f273d4a0bb2bcbf1c19bde773813e96bd013d9574a2bce047b9bc87a79d3d7bdc993c91b296bc000000000000000000000000000000004fbc9f3c924cbabde46ba83cc7316bbceb67393d9eff0ebe637b883a3a82a2bb03de233db9e815bef130e5bbec6396bb75e9193d879009bea0535bbcf60850bb3fd5073d69a5ebbd424288bc1c705bbbbe54ef3c637fb6bd50ccbcbc534abe391d79ae3cd87f5abd1fa3d8bc49ab723b480e143ccb5435bc7025b4bc65800c3c54fffe3bc219d13b2474a9bc24e3973be1a3e1bd97bc953f97ddc23d4ca0d1bc633cfdbd80928c3f5844d53d949fc6bc10a9dcbdac916f3f33ec093e3e150ebd4dfec4bdb328403fe001153e838e1fbd62fea0bdcc16103f59cd103e23ec28bd14a178bdb83cc33ed45c023e78912dbdc7ea16bdfd694c3e736aca3d5b5d15bd82548abba697f93c0e00743d98a4dcbccf8586ba6f8aa5bd6f74df3c7aeaafbc984bdf3c3132b1bd36e8123d9f829dbc712e2e3d150a05be15306e3cff6665bc2d91113df978febdf2fca2ba86d5d9bbf3d2203dd885fdbd255289bc2737a3bbba42fe3cfd58c9bda1bcbdbcc3bd8eb9e85af03ce51d9cbd9b590dbd5e5efd3a662caa3c2db93dbdc0dd03bd3bd7b33ba6832a3c44460ebc7ebd11bd115a133c7f7fee3b746a143caa1dcfbc4938213c79cce9bde75a7a3f74fc8c3ef8c458bd20a502be06826e3f09f9913e16ff77bd6875d7bde300453f439d913e77976abd890dc2bd5628213f36898f3e808b81bd9f2b98bd24a5ec3e22ea7f3e7dc66ebdf57f5ebd0f429c3ebdbe5d3eee5070bd792a08bd0dd8213e437b243e124646bd69c9a6ba2e72353c37d2df3db48d2ebd7b00ec3b76429ebd678c423d552feabc75adb83c9094acbd01b9483db19eb3bcc706293dd023f1bd6917953cadae97bc4037233d64c7f1bd79d813bc246c1ebc7c3e193de4a5dabde125d8bc4ed078bb0994103d477fb9bd05fb18bdc38596b99e37dd3c398182bdef9c36bd3fa2bb3bdce5a83cd94d13bdd4c044bdfe82ed3b0069423c4717ecbbaacc2abddfc7183cc20e193c17c0d33bbf27e6bcdbcf333c5fd7dbbdfb2c4c3f9472eb3e5471a3bd91e1f1bd4f4e3f3f014bef3ed7f8b1bde9abcebd5232213f47c7e73e8fbbabbd2575abbd941efd3ef599d43ec686a1bd975c88bd27f0b73e89bebb3e30d598bda94530bdbb75673e09539a3e6cbc8cbde5c4babc4e23d43d3a41673e6c3e77bd237842b9153bb4bbe840123e9c1449bd14085d3bb8a495bd0d677a3dad4a05bd4be1bd3c38e6a0bd37be473d802bacbc1f87153db902cfbddb243d3ca3829abc01f9073d5a2cc5bdee058abc88f1e1bb131b103d0070b6bd22381dbddd2769bbca20c43c0c588dbd92190abdcccbc13b7349d63c20af53bde67f67bddbb9b33b7498883c4b01debce7c24dbd3d7d173c8d982f3c75c280bb03512dbd7c78133cb587103cdb5ff03b0889efbc3645263c7912c1bd31401d3f5240243fd7b2c8bdfa5ac7bdcd660f3fa103253f3d13d6bd5e57a3bdced8eb3ee9c7183f7194b9bdebcc89bdf499b73e5aa60b3f8016b2bd359756bd2d0b843ed57bda3efa3273bdf6e208bd213e1c3e0209bf3e69498fbdb25183bcafeb7a3d3a2c863ec4a066bda5c41c3b97a4b4bc9eba273e67eb47bd63fdb33b36e590bdd47d833dc06f03bdf755ab3c9bcb8abdee7f173d71b89bbc52aefd3cf241a5bdc6fd0abcac4f8fbc6bcef33c8e089cbdd5ed34bdbd560abc0914d73c4c8983bda59f73bd841625bbb403d33c3d0c59bd073c88bdc29e193bab07973c353407bd01f488bd5603a43b8422563c55266bbcae4171bd6761c03be981c63b3d5c1a3b48003abd9f2a043c1f32ab3b475e2a3c4ebfccbcb7121b3cd7f097bd49e4dc3e5b77523f1fafddbd561993bd8df8c13e142a533f65baeebd8c6263bdb2c49b3ee6e1423fe60bcfbd99a42cbdb7d7683e18dd283f8c5baebd02c304bd32811d3e7a980c3fbff191bda1948bbcf3efa53d71a9d93e9b3176bdfbcaa4bb89768c3cd5cb963e77f159bdad01273c447a19bdd9572b3e970535bd0ee8103cf3168dbd3677523d5d95debca622873caac747bdb0a23c3c8c1e8cbcfd7baf3cd50751bdf0a232bd579081bc8006a43cc1a146bdf4be79bd4a6584bbd51c9e3cacc71ebd0ee0abbd6f5426bb953d893ca4d8ffbcc414a1bdb502033b6aa0403c3dce73bcd1bf9dbd6f34f23a2c5d103cc24307bcac3a69bd8ff0ab3b95d0323a30b8263c959d2bbdf4f4f03b5abbadb9c44e553cb17895bcc771073cabe43ebd6c067f3e6ebc7f3f9dece7bd286422bda5f94a3ee75f7f3f973cf3bd976d01bdcaf6233e17865c3fc3b4a6bdd6e2a6bc9975da3de414433f0dcd92bdfedd6dbcbd94853d43841a3fe66555bd2b1949bb4f7b953cf357ec3edbe434bd21095c3a0ef140bcaf78993e7f5805bd7bac683cf43248bd90c01c3e32c315bd6d56573c83df71bde531cd3c1b11d2bc68253b3c01bdf9bc2a6cdbbc53b810bcc74fe03b280254bc0b39b8bdf7be7cbc828c0c3c965e5bbc64b3dfbde5d11fbc1b5f093c453b17bcc9a0e5bd26bbadbbca87f03bc05accbb56ebcdbd2d2893bbfa70793b4a23293bb62eb5bd3c166dbb723cab393fae2f3c640088bd952814baf63a9ebbbcb0703cc80f09bdddd64a3b806468bb0c5f783c8e963ebcf155743b6ddea3bc9baa963ddf42973f0089d2bddf3026bbf0720b3d1b0f913fb46fc6bd7aaa9839b0cf8a3cd89c7f3ff9617fbd916d5c3bf98a193a0171543f573d1ebdabe4be3b05a763bcd675263faf5caabc5afb2a3c8fe207bd3ea7f33e109378bc33d73f3c5b7a32bdce08973e18908fbc212f6f3ca9603fbd2f69f13d1f60afbc29a5613c63784fbd49037fbc36947abc00000000000000000000000000000000fb8a953bb42f81bb2bd0cfbd19ab64bb2f3d863bce7b043b6675e3bdc20fbabb86cbbf3be795aebaf4d4dbbd5d4cb7bb8b29a13b2c29753adc31c7bde5d2cbbb222c353be5e7d33b09a7a9bd5987ffbb0b871bbb28a9433cabb274bd4ab7ebbb0a3992bb248e7a3c0fa00cbd8872b6bb0000000000000000000000000000000000000000000000000000803f000000007e17483cd3669bbd8245973fdb0e1fbdb312743c350690bd01657f3f676ad3bbe87b4e3c263884bdab02533f0e5f413cd97c543c7c3a81bdc3c4243fe7b3a43c0e9a523cfbb178bdfdc0ec3ebaf7bb3cf99e6f3c986a5bbd0b6f8f3e1952723cfec35f3cf0763fbdd8f3cd3d8e25e13b0000000000000000000000000000000000000000000000000000000000000000d45d723d383559be6503e53ade27b53bd0d73a3d1b264bbee3084abcfd72683b2a9e143de82141be0b12afbc33209a3a2b66e23c4fd71cbe519ac1bc0c99eaba3b8d643c7059cabd4356abbc2e37e4bab131f23a18d250bd54477dbc52ba4cbbfc8db1bbf226acbb6b7551bb83312ebb00000000000000000000000000000000000000000000803f0000000000000000003e04bed95dae3fa903f0bdb7455a3ca7c3acbd5d60913fbe5669bd6f4fec3a8f3d90bd48d5773fd55014bde6c0d8ba9a213bbd02dd3a3f94a118bc79e8dabbf12076bcd18ced3e7e43073c0fd3e3bb3ac07b3c4ce96c3eeef28d3c186bdbba1b6e0f3d23cc00ba4475603c7dd94d3b00000000000000000000000000000000169b7a3d4ec716beba26e43c02bf28bc0d3a733d502c2abe23a7a03b6f8844bc18aa5e3d02e14abec7a4a9bc48242fbb702b343ddb0934be18471cbd80d24cba6ab3d93c6a1903be4f7037bd58c5193a5c07423c8f1b9dbd429c3dbd299be838bee41a3b3f48efbc30921cbdd0558c3b650bdabb179ccb3ac937dcbc22e17d3b937ed3bbbf67023d200d9ebb953c043b681249be5ee4ad3fbf6551bca27886b7e0071cbea96a973f4acb5d3dca4790bc00ab0cbe80808d3fdf1c803da217dcbc17dac0bd8201643f7d47b33d624207bd2c555bbd810b253ff130da3da3dc14bdc85919bcb27cca3e434fde3df54e18bd9249a93ceecc283e9cbdbe3d8b07fabc654d153d66e92b3c1f2a8b3dd297cbbca132503db55325be615ee53c211d02bccfeb353d6621d0bd217e313d231ce5bc9cce623dfb9b1dbe1a1b16bc88dc83bc93414a3ddafe22be9f3e34bd66da48bcb742023d225704befc3f85bd558990bbca6c8c3c4c66a9bd24909abda01d2ebbc4e3e53b373219bd813c9abd609584bafe1fe1ba31aed23abf8f80bda168323b3bc6f9ba05018c3c372119bd6204d03bad0e76bbaa60033d095488bc3a458f3bbba63fbe5c11903f84b9483eb0de1ebd46563ebeb7e78c3fd3b76a3e07dc6abd226413bea74c753fecfc823eeaf38cbd8a0ebcbdd8463f3f97e7883e3f819dbd25953dbd2397023fe765873ebe969cbdb94893bb745f923e3834773e759d9abdccb0b53c1002c33d11b3413ea39e82bdc80c0a3ddf450bbd7882e43d56b637bd00a7073de612e8bd67d62d3d39c8d8bc9fa50d3d539fb5bd803e143d61950abd2cf52e3d356de1bd6e54f2bc5345ccbca254083ddedad7bda1baa3bdcfd726bc5658ac3cef669ebdd51acebd8e3ec7bb665f023c82e7f9bcc8c4ebbd09dab1bb5edd633aecd05cba016bdabdd80b333b826aeeba3f2b8f3c7a14a3bdbf13083cfea45ebb5862da3c6e503fbd2681183c700fe6baa0c3043dd06ab4bc439ee63bd2f135bee9fc743fd462d63e0e4da8bdb74f29be3f20623f0b84f13e77e1ddbd5722f6bd07a13d3fd6bffc3e0ec7fdbd2cf78bbdcfc60c3fa0b2f53ecdf702be554abcbcbd78af3e2cede63e696efebdba96443bfa8b343e6d5ebf3e18eee1bdb70f993c91304e3d382d843e1ebabcbdafd9d43c35501ebd608d083e2b4a74bd67fdab3cb97fcebd8d57363dc3c213bd4d8fce3cacaf76bd2ff4a13c787421bd7f60d33cbf3285bdd44382bdac15bebcd78ca23c202158bdfc00f0bda0f877bc2687093cbf29b1bc8fad11beb45d5fbc394c253ad763883b1fb30ebe814fb1bb1ee08cbb705aae3c10de02bee4c1953b271a00bb12d7ca3c1d23b5bd5f243c3c3be60dbbc8a2ea3c07d04dbd74ca193ceb0b5dbacc23033d2026b7bcd3760e3c412513becef8363f06892c3f5ae206be2a6afdbdf022233ff26a393fe30221be1e5eaabd1cea013f6c623a3ffaad28bee4d31cbdb2ccaf3e7bf5303f912725befff9e9bbce64493e786d183fbc6d16be1e06e93ba8edc53d4be9ee3e8c400bbe92fc523c38bdb23c9699933e447bc6bdb80e593ccdde05bd87190e3efce67dbd484a203c8a3993bd0b8fb83c6ded20bd5b823e3c4e0ec8bce4eef5bbec280bbd75be283ceb9f7fbc6541d2bd59b174bca30c693b27f861bbddc21bbe05846fbc18b12bb940b34e3c35f12abe60c852bc3c97bebb66dad13c288f2abe2c165fb8134b9dbb4820d23cd7f005bee7c7a33a7fa8a5bb7f7ace3ca9abb3bd5cf4cb3bc8ce47bbbfa2c63c8b4c37bd92f7ad3b43b776bbf22fcb3c2f8388bc48c3183c18fec3bde869e73ef17a6c3f937330be59aea3bd6eaec73e276d743f17c844bea86226bd6888903ed7e86e3f3bcd44be21477cbc5f54343e981a573f21ab36be71566c3aec6ac83dcf82343f61e129bee6c3da3b9f7b5a3d84cf003f741605bef81cd43b360f6c3c8915983ecbb5b8bd0cc7833be6fa5abc1438f13d03c659bdd82b3dbb17c909bd52a909bc690a10bd337532bb991d103c242d21bde81373bc850990babf6daa3c27f60bbe56bc0ebc870a8dbaf735e53c2c0f3bbef94b0cbc88e077bb3218ed3c81cc44be517431bbb287dbbbfe0b033d6c512fbea78cfa38c594d3bb4818b83c595005bef5a3b73ae83190bbf956893cfad9a1bd1d76833b3eb8b5bb4220773cf4ae0cbd0e848d3b8a6929ba62fb523ca4e82fbc5f58ee3bfa4c47bde3b7643ead3b8d3feaa33bbec6690ebdf2ed233ede28933ffcdc4ebe5da838bc5284be3d431c8b3f2e6443be1f8dfcbac5976e3d38b7713f943834be2604db3b0c79d53cf0163e3f36c410bef473bb3b1bb1aa3cb1bd023fcfa0debd64163a3baaaa5f3ca4348e3e352590bdb6ac93bb4289333cc889a93db32d0cbdfd2c28bceee0153a44b016bd330390bc364de9bbce7b113dd124e1bd234f183c2bd009bc38fc213d8a0c1abe371bcd3b7dbe9cbb165e283d4f6351be8254b3399ad696bba5cd0c3d933a4cbecdea94baacfa9cbb75f5d63c5cb328bef4c3f2bb0296cabb185f7d3cc794f1bd6f1af1bb8ca254bb7075e03b1abf7dbd0d2eb3bbc47d8eba69b47bb9f7aab5bc3c13cfbb6a2c62bb6831333b28e8453c0ca5443b883fe7bbf26b95bbb525ad3f628c4ebe0aa2f5bb98b93b3c9785993f24961dbeef25333bcf80cabc28c0933f3d281ebe299b183c0f7aebbc7932773f901f01bee40b2e3ca3bfb8bcd4b83c3fc2d1bfbdc4dc043ce85664bb31d6f93e867378bd398009bb09944b3c1593763effd0e0bc310215bc0b66bc3cd28c7d3dbd94c8b9748f41bc04a9de3ca051efbd32a9af3b00000000000000000000000000000000ede713bc3d6a633d180259beca508c3ccca6e0bb6c2d1a3d1b0749bebe63993715619cbb1db5e93cd7c53ebed0d747bcef647abb311b8f3c055c18beafd593bc0edfe3bb6d2a033cf585b5bd8bd6a9bce0784dbb7c5b86bbfe3032bd5f159bbcc78d77bb0c2606bcbd2a8539ea9d44bc0000000000000000000000000000000000000000000000000000803f000000002e97bc3c0fb318bea26fad3f1373eebdab86923c6633cabde11c8e3f12857dbdff19a23cf6faafbd50766e3f1db810bdc479933cd9aa75bd874e2f3f28f428bc74b21f3c7b38b7bcd82cd83e15390a3c38fa3e3ab81fd63bbd7e4f3e3c1bb83c42164cbb65b3fb3cd1738abc365fe63c0000000000000000000000000000000000000000000000000000000000000000f8d9493d76e546beebca45bbfc85c23b567d153d9a3e40be8539803b7ad9acbb60aae53ce1a237beee31923b22dc4cbca5d1a03c0d9313be328dff3b9a017bbce6f8a63ba4bab9bd26271c3c8593aabce9cbfabbe0802cbd5963013cbfb896bca8a742bc2bef433b08503e3cf79c82bc00000000000000000000000000000000000000000000803f00000000000000007f50fdbd5470ac3fc9ece1bd97ed3d3cbb16afbd32288f3f82275fbd3889163c519099bda003713f477a0fbd8c8a473c169656bde7a1323f87467abc993a7a3cd681bcbcc6fde33e5299fe3a4270803ceeb0ff3b91c0583efe50283c2e47893c13aaef3cd1dd49bcc02c6e3b80cdab3c00000000000000000000000000000000c6af523d0e9d1dbe38511b3de02946bcf299373df05c2bbe3f17f73cdc9c93bca993203d425340be3e03413c23b68abc3d8fd63c6fa120be1a75b7ba482993bc4be72f3c5994e3bd0ad701bca344a5bcf3628cbb749171bdbe575dbcbed191bc793d2ebc507161bcd43860bcb15073bc97cf7fbcc661143cdd5086bbf3ec3dbc7045a2bc4c10403d284579bae087bfbb6fe32fbe3f8dab3f737a91bcc52badb90f9a03bec615923fca475b3dcba55abc3a22e2bde5d4833f8ce99c3d2c3380bceec092bd05574d3fed45e13da5e7a3bc2bc80cbdf6ba0e3f8450033e174a91bcea40d13ad94da23edf16073e5e7c91bceac1ab3c2982e03d40aeeb3d3cc758bc0e79283d451101bdba52ab3d6f2638bc6301843dd0bd49bec1552d3d944b2fbb44c0213d19f30bbe64b3a93db25824bdd0a72d3de7ad28be3541243d0e4b0abdcd0eea3c5ef41abeff2eea3b8f3df6bcd83b523c4f5ae2bd695582bc0bcdf6bc67a835ba100974bd8f410dbd2d56d8bc7c3f18bcadaf92bc6c1924bdfab2adbc5f564bbce9e5663cc85315bd14b75dbcf44490bcf51e173d0ae4f9bc395484bb75f874bcdff0463d99bdd0bc567b193c01d618bee3208c3f9f35333e5c34e0bc92ba10be020a823fbc616b3ed66f2fbdc01fc5bd5f85563f7bd68c3eb25655bd4f5451bddeb11b3f12ee9b3e527f63bd1e524cbc06dfc03e74cc9d3e0e3163bda99c733c42f72f3e3379923ea24359bd3b56f53c158a543c33126c3e3fb237bd3aff573d03a4dcbd24e3263edd5a1fbd4cfa593d502233be2d20c93d07ef16bd7022de3c17e705bed546d03d13576ebdf804d73c63c400be87bb023d13ca34bd9e54293c7896c8bdb78282bc80f218bd1d935fbb644f59bdd9d53cbd2a350bbd2b4016bc17b336bc6ee488bd05ebe8bc5bf65cbcb1fd883cb50f90bd78318cbc359183bccbbb1f3dbef68fbd11d439bbd1a77abc0e65443d42ab67bd59ce293c587649bc2f674a3d197d1cbde3c8963cd66807be01b2673f4c14c83e775775bd9a8bdcbd9b33473f510bef3e671dadbd762780bd404b193f7a55033fad96c3bdffecafbcadc6c83ea3e4053fdc04c8bd5bfcb13b7ea9483ee18d003fa3b1bbbd95349b3cf72a763d3208dc3eb6c6aebd0abf133de1eb62bdc74ead3e29dda7bd7e6e4b3d83b905be38c9683e256d91bd77b3293d9acf28be35f5f03dae4a67bd036d843c88d1ccbdb468bd3d0e0b85bd6d282f3c0c33a5bdb191e63b8cff3bbde1fa27bbd9d733bd1f8d55bd0a401bbdb92606bc5ba5a2bb4947adbd4b4510bd3a4334bc23229e3cd005d0bdd0b0a2bc8d3a63bc5c9d283d3c2cdfbd207205bc9e5c68bc6f70523d3975c8bd866d723cfdf04cbc20713c3da4a286bdbc9f933c4b1be8bbc54c2a3d8e5224bdee2ad93c17e6c5bd3b79273fb816243f47f8c6bd682d8ebd2d57073f1730363f7e20fabd1aa1f1bccbd9b93e75ae3e3fdfd304be63067bbb795e473eb0893a3f116001be8b51263c9ec68e3d7b92253fd841eabdfe2de03c78c305bd05380d3f67f0f1bd8a27073d5ea4babd79a7cc3e3a6cdfbdbd66143d2bd0f1bdd3f2753e3aefadbd2ec5dc3ce38303be8764d03dd3f089bd6232733b8c5173bd5bb66f3d924c64bd890585bb4e59dbbc414f19bd189816bdaaa21dbc7e09583b209cbcbdb18d0bbdf3bd2cbc2a4ec43cb555f1bdbde6edbc09dc4ebcfc74403dc44c10be05f159bc0ff24cbc3bc0553d14f408beb114023c18a439bc9b97403df0d7d0bd4326863cec91cdbb3ffc153d674a84bd34f6a83c48eb86bbbe06d23c49c6f5bc0815c83c92f45fbd4741cc3e52bd633f193a0bbe261b10bd27b9943e3f8f713fb43320be178e2dbc73d3273e2c69713f3b1c1cbe2e9d3e3b0eb07d3d8cdc5d3fe7f60dbe5167833c9b2acebc13c4443fe8270dbee60fb23cd95f87bdb47b1a3f8e4109be6fcfce3c6338afbdb082ce3efb9edbbde2d09a3c2de9aabddf2f5a3e7b549ebd1bbd5b3cc7079fbd76327c3d64196ebd289327bcb44d3cbc17d5223cbac115bd69c60dbccebd663ce4b4adbd3f11babc5fd92abcaeff0c3da49308be9b1ac4bc76144dbc0673523dffdb27be973656bc75d13bbc8ab8613dd4cb2abee743bf3ba3f21ebc9e8c443df6140ebe993f243c7c5ed4bbb0cf143d5ed9c3bd3afc973cbe8f45bb54dca73cbad448bd908f7a3caf8574b9b882283c8d7e70bc2921943c86f7bcbc8d91373e4f4a8b3f4d2c1dbea9d161bcf70cc43d4bf1903f74782abe9fe6d5b93197a53c6b338a3f665c17be451e133c5dad10bd6157793f82ac11bec2f6883c436d91bde0a54f3fb30a0cbea67b893c0e5f95bd1090183fe099e7bd27f2393c380676bd4cf5b93e0ea3b4bd8265d03b33f81dbdceb31c3e11e351bd9f7b13bbc93dabbc70b7ac3b11e10dbd57c42ebcda66d63c4b17a0bdb3a988bb127f3ebc4f01213dc19af1bdc8faa2bbaff34fbce4c0683d948836be1e5c9bbb939828bc2b167a3dfce442bed373d739a12bebbbf9ea493d66242dbe03072d3bdfefafbbe756103dc3b500be54b99c3b526a1cbbb2d19d3c11f099bd81fac23b3177053b7a69c83a1641efbc200f823bdea203ba8764acbb2c941b3c5d6d243cdbb1a9bae23d93bc688eaa3fd2a131beef8af1ba017cb1bc6272973f7496ffbdec881f3c9eae9dbd6623933f7facfdbd16413b3c6362b7bdc6667d3f0083e4bd880a4b3cb36fa8bdacf3463f3543b8bd70e60e3c832b6cbdd694083f0aa285bd345bcd3a19cdd8bca64b933e10c21dbd0bcfbcbb9b0abc3b0239b73d398237bc4fdffebbc8c0dd3ccbf5c6bd52bf26bc0000000000000000000000000000000004895cbcc4878c3de7524bbe8de5423c9b610fbc53c4823d7c2049be9c40f43a2c1ebabbf85a5f3d498f3fbeab73a0bb771d76bba3b5233d08b218be17070fbce3697439160dbf3ce5a5cabdaa1954bca491ec399599af3b7f3040bd0abe1bbc200104ba9244fcbbdbc909ba21a3a9bb0000000000000000000000000000000000000000000000000000803f0000000070ad963cc66e24bed6f5ab3fb9cec8bdb9a8593c0fc602be78ee8e3f469b4dbd5d88453c2ba5e9bd36306f3f553d06bdbde3f13be6fbaabd3fc5303f2f84f5bbe28f983a0ac53bbdd392e03ef5eb0b3c2f9d53bbd79dbcbb0a53523e2925953c8aed06bc300f0f3d04799cbc42c2bd3c0000000000000000000000000000000000000000000000000000000000000000713c423d2ce83bbe1735a63c231385bb088f423d29653fbe0e54273d72ed97bc1f472b3d173138bedf6c6c3d9a8214bd7cb40d3da91719be823c6b3d93c020bdf7149c3cdda8d1bdc65c3a3d0d6618bd04a4a93bc8ae4dbd6e22113d66deecbc1249abbb5b7683bb7d638f3c424c97bc00000000000000000000000000000000000000000000803f00000000000000006e05e2bd7fc2a53f50c0dbbd8f9a883c1982a9bdaea1873fc94988bd57a8cb3cb12c94bddf785b3f3bfc31bd243c0a3d0e2358bd334b203ff89985bc53c8043d5d78dcbcd161cb3edf33603aa81cf43cfef285bab6a1363e6190e93a2f63f83c89e8963c9ac39abcc10a943b6248af3c00000000000000000000000000000000a657543d7e3f26be1288883dbd14c5bcbd22673dee2343be5a88483dc9d490bc5b744e3d85fc48bead10683dc4a114bdc780233d371c2dbed8834a3de1bd27bd6922b83c50c8f9bd4ab6193d492c28bd8566ec3be38585bdd9019f3ce29205bd52f3a5bb4c768ebc1464de3bad17adbceb2e5abc33afa23c3045ec3a6588c5bb1043b7bc227d743d34fb03bdeb8f383c398511be6124a53f04ca52bcbfdfd13b5775dcbd96a8913f32640c3dcb0aedba624cabbd3399733faf868e3d9123e53bfecc58bd14a2383fb51bd53d4601173c6d5ba5bc19edf73e8be3fc3df9ef093c0ad9993bd3f2823e3204033e8d66c93b26c4ba3c2818793db9bfe23d165e993bc7100c3ded2d9cbda1b48d3da212133c5f6e443dcbff43be2bf3883de9b192bc501b523da4ab22be8328f83dee0273bd6fc2553de3ca3dbea980bc3d0cd764bd6cbd203d9dec24be1a08713d11bf54bd579cbb3cf660f6bd4312ed3c366343bd4fe3f83bd18489bd82fd15bbcc2e0ebd98c57bbbd6efa8bc5b40bdbc90fab8bc39dd28bc0545983c352d44bde8e4aeba6230b8bcc675663dc6fc7cbd8cc1903cfde2c7bc89c1913d862690bd3ee4123df3d9ecbda1bb843f5b37353ef39055bb317ac1bd32386f3fa6535c3e473eebbb53d970bdab5d3b3fce738a3e6daf8bbcc0ddb7bca120043ff7e39a3e1c8dbfbcb989c53a40bf9b3eedd49f3ef349fbbcc820a43c8cbae73dad6b983ef1dd14bd1afecc3c5de45dbc1c70803e6cf026bd8bb52e3d870c06be6c58493e1df73ebd55a13d3d8dff3bbef4df053e75e070bd52982b3d61b21bbec7a1173efbd1a6bd2a1f1d3d07021abe96f3ba3dbccf90bd9036b03ce146e6bdfe4d133db83b70bdbb3bd43bafbe81bd886dd1bbd99e32bd2afd87bb59ca8dbc411450bd6f52ffbc55392abc5e009e3c81809cbd7435a1bb78679cbc880d5b3d3bedd3bd0375a63ca525c6bc328c963d05e0dfbd9223313d15a1b7bc14b3943de95fbdbd9f654d3d7a5ec0bdada5503f979ec83e7338c9bcd0b17abdaa19303fdb69e23ebe590abd88cfd3bc4f65003ff4f0fc3e8ca349bd9a823d38d0a09e3eb3dc013f8f8e64bd0705873ca4f20c3ecbff003f4a4584bd0003a13c81b19a3c1cd4e23e95c590bd41f7023de0f2a6bdde88c03ee710adbd05d81c3d8cdc15beaea58f3e1180c7bd282d1c3d81342bbee2dd273e85e8b9bd89ba033d1cb7fdbd60310a3e1e3ba8bd38dba53cb9add4bd7804883dd65c99bdcb33c63bb35273bdb5cfa2bb98af47bd7cea77bbb4a963bce38370bd76fe18bde6110bbc79d84b3c9fb4cbbdaaf29d3bbe7e93bc36ac623df0f20bbee6c88d3cd10fa8bca30a883d213f0dbee105353dbfdbb3bce7209a3db6f300bec7216b3dfd2e92bc0d5c803d5adfb4bde41b553df5fa80bd0f71143f49be1f3fd45770bda9c5cdbc6ba2e23e86572e3f9b1986bdd88979baf68c933e7a22353f68aea9bde5cd4d3cdc0b083e8006353f3156b7bd94d0883c3ad5593df33b203fe69bd7bd3949d23c482d72bd01de133faf52e5bd68c8f03c770ad7bdacd1e23e1b99ffbd964ee53c426b0cbec0209d3ec0e1fdbd56afdb3c7bd60dbedef21c3ee151c0bd4e1e873c2975afbd68a7c63d851c98bdf56ca13b84194fbdfd242e3cdc367bbda2ad39bb029322bc055476bd844f25bdf08924bc97a0cb3c9ae7e5bd02f180bce56592bc3ec26a3d369d23be8b084e3c9dfa9cbcd20c8c3d307e2abeccc3293d8d25aabc8b6f943da4f41bbe73d65d3d6eb986bc3da87e3d24a5ebbda4b2693d6cf152bc25df3f3d80d790bd9a253d3d5a2fd8bcb7c3b33e8a145c3f0000b9bdf51a74ba25a7663e0e0b693f8099c7bd4b05e53b6091dd3d2713693fd62ed9bdae5e303cc275b13c749f593fb73cdebd3954ae3c2c3b62bd6d8d463f3671ffbd458bac3c567bbcbda641213f18c10dbea7d8bc3ccc56e1bd1e75eb3e4a4409be7105853c46a8dbbd3a818e3e94cbf3bd229d5c3c1ba9c5bddf42e13dcf5ba7bdd0350f3b76e20ebd24cb123dea6d5ebd183255bb152320bb4fc45cbd8d602ebdb7e011bcf3f4ed3c7f8df8bd946b64bcc36284bc75c76d3dcb8431bedf21fc3b112e92bcc52b8a3d84b73fbe2458113d92d992bc4a878e3d776032bed9173a3d741978bce0f1663d59f80abe89ad4d3dad0a24bc6c5f263d00c1bdbda3f0413d24d6c7bbe2cfc53cb14325bdf4401c3d2c0039bb9feb133e761c893fe992dfbd91337d3b34595c3d9b128e3f453bf0bd786ec23bf93d44bba909863ff918eebd6bdc643c959572bdc4d6773f6e72febdd887823c9ce8aebdde09503f3da507be4e2c7e3c0918c5bd83c0213f5c7506bef8fe503c566dadbd63b5d53e5e2de8bdb42c993b66806ebd3c37593e6cd4c2bdf8ca053a0bba20bd16cb193d629b83bdae829dbb5db6f33b5bcd5bbd9537c0bc798809bca848243d814df8bd0ff6b5bc1b1173bc5546873dc9163fbeb6d2673b739698bccca0993db37e56be7e3bdc3c7c2788bceae6903d024c46be29290e3dffce53bc6db5663dea3f1ebeda8b103dbf6b17bc45d31d3d65bcdbbdde300f3d084955bbd462463cc77754bdda23003d2d12a0baec934939d4120cbba668653ca145e43b85a2c6bc09c0a63fc86a08be2d528abb5efe43bdfb779d3f5e49d7bd2023653b06e9aebdac75943f23b5debd23fb283ca029d0bddcc7803f141be6bdaa50043c07d9c4bdb36e4d3fc5fad2bdad06a03b5f4a9dbd4208123f0394acbd8e79c43a231238bdbe07ac3e40f38cbdbc00e1ba58a6d0bad6c6e13d98a363bd0a835ebbce5f1d3c09c484bdbf5fd6bc000000000000000000000000000000003f5095bc04b2863db84142bea830473c3dd681bc38a2913d439f4cbedda58d3caa0476bc42038a3dd7cc4abea4d1bc3c9f1946bcf353673d89082abe309f823cba7607bc0773203db9ddfabd0e40593cd6d42cbba9cc8e3c685883bd889cdb3bd6f751baff1fdeb9f9fd66bc3eb164ba0000000000000000000000000000000000000000000000000000803f000000003660993c0db716be09dda93f3cffabbdb798193c304001bef156903fc78b60bd2cde083cfc43e7bda761703f0c2e1dbd4dfe9b3bf9ceb9bd2336373fece58abcda5e7aba2f0b6fbdf5b1f73e01aea1bbbf6fbdbb0c02a5bc5eb17e3eb865b83a5affb0bb8a757f3c28f5bb3c74930f3c000000000000000000000000000000000000000000000000000000000000000085c2d6bc92cb4bbde01994bbcfe01c3a5a94c2bcf63f40bd6a6c66bb1606b2394d1697bcdb712fbdb6c3b2bbebfd463bc42681bcbbe81bbd0e54c8bb86a6203b528627bcc57a07bd93db10bc088b9339a8adaebb7375dabca53c33bc99eacbba154a38b93fc391bc4da84dbcc88294bb00000000000000000000000000000000000000000000803f0000000000000000a1e23bbd6ee98b3f6c5363bcf48fc9bb95f801bd4311693fe3dc0fbad8d076bb4879d9bcaeed3c3f46c2a03b7129b7bb5e67bfbcb8b4113fcd73a03b9c0ab3bb1dd7babce31cd13eababb63a487c21bb50f0dcbc6d27813ea9a55c38f44b8cbbd77703bdaf11cc3d6fe9b5bbd320adbb00000000000000000000000000000000e22ff8bc5869dbbc339e48ba402b49bbb3a2f8bc0f096bbda46aa9bb8cc1303be992dfbc445478bda4f6babb2be28e3b3f84c1bc66cf68bd858b07bc0fa28e3bfe3187bc6c4141bd84491dbcd0e8493bc91c4bbc39342bbdecfc49bc38beb43a1102abbbdd5103bd6dd566bc879a76baf137363b222498bcf2cc45bc11f6e5bab99e583b158fb1bb8e1911bcbf4b82bbb7e597bda78c8c3f7dfbeb3d8286c0bc5fffabbd51b3843f54efdf3d6aacc8bc0fbb83bdf1c65e3ff287d83d6ad494bc0bce53bdef12343f2ac2bd3d32f859bcd9f13cbde3e1083fb2ed9e3d540248bc6b2736bd6107c33ef1ec703d31b641bca60a34bd69416c3e2257123dd5a829bc49a72ebd8e02b03d76564f3c91cc26bc71a90fbd9629e6bc39079cbb255e06bc2d70e5bc1b918dbcef2ed43b78c9b6ba3970fbbce6f92dbdcfa3483ab25d5f3b6ef3bbbc9ed038bd9f6895bb9ba0c53b9123afbc5a0f4bbdc15409bc9a56e33b7f626bbc35471dbde7a603bc3b1ca63babc815bca9cc16bdf04a59bcef81613bd3339bbba0ced6bcb0ef38bc196cd83a845eb03abd3287bcc48139bcb66c89b9c06fd239af3a6cbb30e8d5bb4337e2bacc2c94bdef676b3f7981893ee14c11bdf7ddb7bded4c613f3fbe823ea5c424bd420e86bd7e2b393f3fe4683ed6a9e2bcefd382bd09781c3f2003483ec9dbcbbc3d3e4cbdf6e3ea3e01f41d3e3e999bbcc6285bbd77c0aa3e0c64ed3d4d1980bcdcf133bd9b8c513e701b9b3d2fff59bce15538bd329ca33d3f12143ddcc641bce51401bd8b458fbc3cad843a7c260ebc439accbc60bf70bc7db7353cbfe4e33a23d0debc7de41bbda9922a3be463043c77deb4bc838539bd8a3385bb51cc3e3c154b8abc790336bd148b0bbcd736403c1f095cbc64e420bd953d29bcaa661e3cb1950abcb54d09bda0ff3dbcea64d43bf79d71bb2499ddbcb0c452bc06e5803b27125a3884c883bc69bd1bbc13bc093bccbd53baa9b1efbbdd3791bb51ff1d3bc3ff83bdcb943f3fc04eda3efab635bd504eacbd8694373f3fc1d03e0ee454bda94b96bd49591d3f84a9b73e4e5d2bbd33e37bbd8537003f90a1993e503004bddfad5abd6eb9c43ede5d733e476ebfbc8f2b4abd24958c3e42c4343e18cf97bc23b73abd6e8e2b3eaf6fec3d40c083bcd4952abd25ee8a3d81e4673db9374ebc7ab6dfbcccd352bc43ad9d3bb68702bc5f12a3bc6b3299bc37747b3c1317b73b64dbacbc513210bd0249883b89254e3c9fd87ebc2f8823bd7440c3bb6e8c6f3ca7446ebc6aa02cbd16771bbc39a8743c619707bc5247ebbc013211bc99c2273c7b30e0bb27f102bde9db5abc6599233c7fca4cbb7ed8b9bcf0ae39bcfe30b53b8167d6ba55c474bcc55afdbb51f5823b5e57093b4aa3babb16bd8eba53acde3a7b886cbd0b73153f809a163f27ca5bbdf6068fbdd5c20c3f7a5f0f3f532377bd06446cbdee5eef3e069df73e2e142fbd582d61bd0064c73ee227d13ef57512bd1a3118bdc09e933eadb69b3e240da1bc961835bd35405b3e055b723ec016a6bc946d16bd9552033ee0341a3edc936abc88920abdb71d4e3d8591983dc92a31bc04e8bbbcce0c70bce280a33bbae1f2bb8c7485bce9e6a7bcd2b15d3c09a32d3cc79f5abcdd9422bd7b2f82ba726b893cf47723bc9aa437bde37d53bc65f0ab3ced97fabb925130bd4b3c82bcbe60923c6807c5bb9b0a13bded738abc9b47783cc58547bb2f55f3bcaa5189bc56c33b3c6582f9b9e839b8bcbb7c6ebcf43df23b741fe13af07564bc155807bce486a63bb1545639ad46c7bbd70a6bbaf76b6f3b4cd74ebd358ed83e95ef403feb9f75bd959275bdf860cb3e9ba4393f996b93bd16c358bd1189af3eaf9c203f03fe55bdf48438bd73ad8f3e8d3a043f417b21bde4ea22bd7f675d3eaacacd3e0f5fd9bc975b18bd9fa21a3e71d5963e2cce9ebc191c06bd2407b73d42fe403e7f3a5abc8be8e6bc7357f03c0359b63d715b12bc631f90bc2f1f89bc0e14233bbf9586bba2a3d0bbc61be7bcd2b3aa3b69813d3cee6094bbe0f73abd0fa86bbcf371a33ce78437bb3d5028bda9f6abbc111e9b3cdc246abb10ea25bddcb3dbbc1dcc9f3ccd2a27bbd7b304bd633bc5bc48457b3c1b18243a1b13efbca3b2c1bc8e7b2c3c098e5639ab90a6bcdbe884bc7282bc3b691bdb3a4cd052bc3dda26bc93a4733b92a8de3ae449c4bbf87dd3b9a034433b124118bd27cd873ef1896d3f037a8fbdaab73ebd86077c3edce7633fe1fa9ebd311917bd2f305b3edfa93b3f19b33fbd0f4a0dbd6eec323ea0761f3fc27914bd6649e4bc36aa063e4a32f23e211dafbc82edd4bcabf2b73df0ecb13e3ad975bc3e1bafbc8d79533d8e8b613ea58c33bc860084bccd5cd73bc50ec83d1df8e1bb015627bcea33abbc5b6890bb99f137bb0967ac3ac04f16bdcb3f01bc30f5803c268fc33b0be947bd973b16bd85129f3c4b06a13b368c3dbde35332bd553caf3c2df87f3ba92e23bdd54e2bbd51b8933ce828fc3ab57fffbc4ae00dbd4d62673cdf30233beca4d0bc7d7b09bd323c123c9625423b5b4f8dbc3fd7d8bc66625a3baf247c3b2218febb238e7dbc0d580a388fd2103b499c61bb88b773bb68d4713a5e67cbbcbbf6e33d7fde8c3fe11a8cbdb40cd4bc35b2cd3d6748853fba3a93bd3abec0bcbc70b83d2d12613fb93e2cbd3b27a8bc7834983dbb87363fb612d0bc3c478dbc96cb633df0060b3f86187cbcfa5b6dbcf1ccfc3c7059c83e0e41dcbbd5cb25bcf90a023c0bdd753eddcb99bb4d0fa8bb09dd76bc977ac63d35699cbb04650dbb713eebbc3cbea5bce63ee73900000000000000000000000000000000b80c133c309222bd384b2bbd32a0913c6bbee13bead405bd7bc62fbdc7f4703cc7ee8e3b33baedbc382a1ebde3843f3c32a8773ba0dcabbc0f240dbd8e3e003c987a723bc0d28bbcd83906bd037f883ba25a763be4611bbc17efcbbcbc5300bbf2970c3b8e07a4bbba4694bc01709cbb0000000000000000000000000000000000000000000000000000803f00000000089919bc097fb5bcbb808c3f57a907bd063004bcd51c53bccfe5693f87587abca4c9c8bb6ff926bcba183d3faced60bbbaf8c2bb67f537bc50a6123f562cdd39d8a1a4bb246f86bc6d66d33e2097633bdc136cbba9c19bbc84ce803e0fdd493b54fd433b9b97e4bcf6a1d03dda33c53a00000000000000000000000000000000000000000000000000000000000000007bf550bd693d98bbd4632d3c54f39eba462a2bbd6ece3cbcdccc1a3ca6725b3ae9f312bdc25f7dbc7f49073c8233c73a6f86f6bcce1078bc5cc28f3be4cd35b70062bfbcfad194bc4c56eb3a167e85b8ceca83bcafbd8fbc901dddbaa1a00dbbdef431bcda298abc9daca8bbe62b8dbb00000000000000000000000000000000000000000000803f00000000000000003f5b9dbcbf547d3ff04f1b3bddd15bbcf6e38dbcf3cc553f1f18083c0e7121bcb0ab99bc4c70303f36f2333c05e509bc3882b0bcdf520b3fa82d2b3ce8c205bc1548c3bc280ecd3e70fd253cca99cebb4c40dcbca0cb843e5b2bf33b62dcd7bbbad505bdeb1ef63dd1d6823bb7f6e3bb0000000000000000000000000000000049b869bd9e12923b6ecb763c192c2bbb260387bd3849fcbb7c778c3c884dd0b88dfa68bdf2ff89bc99ec6d3c8f66323b5f134dbd710aafbcc66e4e3c69797c3b42141fbd49dbb0bc6aec083cc3725a3b60d601bd88afd0bcaaea7a3b9339cb3a577ababc7c7dc5bce7e382bace3782377e7156bc5a32b0bc7e1c9fbbd946fbbabaee14bc2d5f5ebc541770bbf66e0cbba5ed01bd43d37d3f802a073e3f5db3bcaa6c20bd1ed7673f8f66003e464fbfbcc8b20cbdf995443fb846ec3d4bed8fbc775612bd5c21223f32b7d03db2d268bcefba0cbd998ffc3ef7b7ac3d75e133bc15451dbd8f14ba3e1f7b873d438b3cbc64f12abdf2696e3ee42d403d673f10bc57ec34bd6256d63d414cd73c10e413bc941612bd595322bccb65e43be165b2bb36cd59bd333fca3ad145ae3c621746ba8a0487bd9c7f01bcf7a8be3cc956183bd3364ebd3dff76bc7e4e8e3c2c5eb43b52b04cbddcc2b0bcee62773c33c7e13b8d001abd9d6fb2bcf845283c36c8d13b105a03bd76a1d7bcc67e9a3bfe589d3b71a1b3bc8ee7adbc45be8f3ae1406e3b320c7fbc31ffb4bc7e1b03bb8a1e033b75a615bcad545cbcaae627ba88f1f63a707718bdc3f1573f8d8e8b3eeed9d7bc1ebb41bd9ed8463ffc68823ea01af9bcf21320bdaab8253fa541653ef49ba1bc681835bd211d0c3f6ab3473e8f9391bc9dad21bd4c01d93e673f203e65883fbce51336bda3eba03e5222003e698336bca55420bdabce4b3e0f74ae3d5476e2bbf02a3cbdae97ba3dbeb74a3d6c70ccbb9f8506bd4bf20abc29d0483c9a1a44bb839845bdead639bbecd4d63c29e9313b77d571bd697b54bc7660e83c52d9003cc1ea58bdb1c5adbce544bb3cd3a01f3c93da35bd8835c3bc2023893cc4b6343c87b615bde097d0bccc0e253c75e93e3c88d0edbc3c98d5bc4bf1c93b6a0c233c2fb5a8bc373dc7bcfdfd4d3bb3fff03b452f63bc36fcb4bc5b1a043a0764b73b558c23bcdb1371bc32ea803af841973b55751bbd95a2323f7b8ed43e716cf0bc0cfb4ebdab3c243f251bc73e810303bdca1b48bd6ee80c3fec1faf3ee38cc8bcf2913cbd71d8e73e0fed933ef0449dbc658a34bdc5c3b53e24bc6e3ecc0e44bcd51637bd5616843ecaa2393ee32d09bc29b439bd9a98273e4f1e003eebd5c9bba0632dbd8b7f913d5a93903deaa1e6ba69a8ecbc809f24bcb2567d3c374f16bac6f82abdce8f0dbce221f33c85e1cb3b795b48bd2b4e96bccfbf013d9e01273c65e323bdea73b5bcc55aad3c4db34e3c5c3a1ebd6d10e7bcba758a3c41606f3ce556cdbc2c78aabcfe6d193ce55c2f3ce664c7bcb96adcbc8dfa093c4899473c549185bcdad3bbbc925a303b1cc4183ca01b36bce28bb2bc3e45703a13c6193c894beebb39b469bc8f91223be9a5ed3bf43c18bd11b70d3fe6e00e3f680df3bc009943bd6b5e013f16af043ffe2e06bdb0812bbd2f16db3ecf15e53ea467afbc45e23abdf5d9b63eb883c33ed53e82bc911007bde5258b3e81e8963e7685febbc83e29bd53e74d3e0024703e947ebcbbc23214bd6aa1fe3dee62213e73ca10bbfbee14bd77704f3daa96b73d736b6e3a6356d7bcd1854bbcaf7e903c563c273bc95806bd2ff07abc5c5f023de8a3303ce76620bd2ba1dcbc3701073d81677b3c4b660bbde88ff7bc7588b03cb505973c9136e5bcf66d02bd0237593cf1ec8c3cdbc7b9bcee2af6bcbaa4273ce936813c12b386bc2653e2bc9211703bf556653c95603ebcd16ed2bceb8e863a74d5523ccde3bbbb625eafbc95d482bacbc0183cd86f97bbdd606abc1cebfc3a19b9093c3c1710bd0ea6d13ebaf4333fbc1beabcf4b63fbdeb18c03e979b273f993907bd4e8832bd6f41a33e7d27113fc61eabbcd3fb25bd702a863e03b4f23e201b5cbc25b920bd49874e3e8982c23e086cf4bb6d331bbd2102133eb9f2923e0ee719bbd2820ebdb81eae3d4de6473e5e91d13969bdf8bc4920e03c1c78d63d82fda23bff95acbc715086bcf4558b3c5dabb33b15e1b6bc273db2bc2233f33cc0d5553c695dcdbc01a009bd1700e33ca4419d3cd5dea3bcb703f3bc0175643cf96a993c762e96bc61720abd959e083c31889d3c69b15fbc7962e0bc84686a3bf354743cc86b1bbca0d3e9bc5e89b9ba27e6743cc4329abb29edb2bc1e0f2dbb3faa293c49b9cb3a1e49afbc9b547dbb37de3d3cf9df693aff5e5ebc64441e39d60d043c4d7efdbc22fd883e42bb583f9ae0e9bcc11325bd361b773e8dac493fb6b3e3bcc48f06bdd8a9513e35d1283fb1c566bce97511bd85522b3e81a4103f45e4ecbb9a95edbcaff8003e69ede13e596c0abb6be9f6bc4f4eae3d841aac3e0999283b47c1c4bc4840453d6a57623ef54a783b05fcbebc331c9a3bcffdf13d32f9e63bf0b97abc23e6b0bc4a6c523c2506e93b78c43abc1bfef0bc02edcf3c75fb8b3cac9117bc214d22bd8a0a8b3cf36cb53c3ac203bc377715bd1243a63b75d8af3cea8ae0bb38360dbd34b430ba7a1b9f3c19ea9cbbb36de4bcfccdc1bb00d07b3c01b9b5ba1716d5bcc1e81dbca62a5a3c463f2f3bc878b2bc8b3b37bcbe8e0d3c2736f63b9b178dbcdf1b1fbc268dd63bea00bb3bd34643bc3641a2bbf149b53b44dcd1bc680f013e3f227e3f5f30b6bc8e99fbbc03aee33d0a39693f329694bc1538e2bc2125be3d0ff0463f9805babbf04fd9bc0cf8953d8830253fffd6333bc115b7bcdf67563df41c013f65acae3b9dbdaabccef5ef3c7740c13ed19ef33b99e58cbc8d6ad83bf4287d3e14fb253cc2be4fbc74a287bcc5f6f83d29200d3cf2df0ebc0e02e2bce3f1773bd3c4093c0000000000000000000000000000000070356438b2ae03bdeb23953b47979c3c3a4886b9112cdfbc652b8abbad25843ce9ae7639dbc4bebc9b340abc92735a3c6c7acf3a0570adbc88813dbc5f86443c79b4333b391e8fbc150a57bc47d2ff3b5e42b93bf2ff61bc3cda62bc20b0883bf0c90d3cb4e040bc17db55bc1b401e3b0000000000000000000000000000000000000000000000000000803f0000000058d08cbced721abc60697d3f55ca0fbb47ee76bc05600abc668a563fc0dfaa3bbff35cbc725716bccd18313f9600083c624838bc410558bcdc5b0c3f5a74373c110c2fbce88588bcd031cf3ed1a6393cb874f7bb8f9aabbc9cdf863e2aa61c3c3bcca3bb6038e8bc1c25003ea43c133c0000000000000000000000000000000000000000000000000000000000000000664564bc3d83ae3a0c419e3b4219c539abd938bccf34b43913a1893b8c19f4391d4d43bc4c4e56ba5dbd813b04e3263a642c1ebc745d8abaf666633bc6e5493a697410bcf06d7eb9f37b3e3b27f3163a980010bcd0c0fabaae223e3b4347503ab0fee4bba2411dbb5d88253b6281393a00000000000000000000000000000000000000000000803f0000000000000000b3d75ebb18a9633feea6503b9ed52ebb19ca47bba6e7423ffc49613b2f4a10bb3be61ebba97c223feb32803b2ec2eebac6af84bb2ad5013fd0de793b57e8baba85e678bbbca7c23e317c7b3bc690b6ba341bb2bb9e0e823edab8813bf70493ba4853d8bb03b5023ef9d37c3b13bd97ba00000000000000000000000000000000df0458bcb7c8013bc0c5a93bdb9021396d0089bc1bf5883afb5bd33b5b79393a0f4b83bce1bdaeb93d23cb3b33579f3adfac84bc056fc9bad414c73b5a6dd23a5e6663bc03a933bb882dce3b3d6f363be98c46bc26037fbbedb3a53b78d2e33a8c0d38bc120b33bb089d883b616dc63abb9146bc85dd48bb3b178a3b2c9b003b5df709bc5ccd1cbbc37f3c3b158eb53a156f83bb3ca0633f8392033e91f05ebb14bcb4bb3153483f8f69eb3d8cc266bbbc0fc1bbedaf2b3fa810cd3d754630bbd0c7dfbbf93c0f3fef7fae3d46d611bb1a41ecbb853fe53e27d38f3db4ca19bbcb190ebc09e8ab3e55e25b3d2c11b4ba381df5bbd91c653e9756193d08ac9abaf7bc18bc8c92e73d8a75b63ce4c82fba37aae5bbe096f23a52179d3b66dd14ba48f963bcc2f08f3aabb8c93b97034a3adec998bca09c563908fc023c5c4ccc3a149f7ebc031280baec9ad33b8b78ea3ae7289dbcaf6b65bacad70a3cb275163991894fbccd59ffba6e4a803b079c2e3bfba780bcd45a94bbc4eddb3b563e693b7bee45bc58ce54bbb0a7933b75e72a3bdf8c4cbc537883bb8bb69d3b060f323b22b60bbc148e48bbc4c4523b8aa7003b7335b3bb6e33433f7cd8823e141556bbe4abf9bb05192c3f72f2683e1f2c75bbdfa8e0bba817133fe81c483e99391bbb462512bceab1f63e786f2b3eedb107bb4624debb0337c43e0081063e7beb3cba92ee27bc7d0f933e428dd43defc239b9c13206bc4277443eb4818f3d907b2db9d00f21bc3a58c63ddb00223d652f3eb95fb6e6bbd574d03ae869b63b79e5ee36ad1f64bc3d3262bace5cf13ba175da3a447996bcb87be5ba2faefc3bd7e3383bfab588bcc39cf7ba64b8f93b44a22a3b2d1e8bbcc30287bb7801023c582a833be5c482bc381f55bb6bfece3b0164513b85d26cbc87de88bbb0e7c83bd6065f3b59ac65bcdb457cbbfe63bd3b13f9873b8c2746bc6e4b99bb9f29953b22605e3b02e7fabb2bd73fbb1e42853b22bfcd3ab0b1dabbece6223ff829c43e9fb93ebbe74d11bc61340f3f5916ae3ec38353bbfe0307bca3bff53ea186953ef7aa18bbba9421bc9e47cc3ecc5a7c3e5ff212bad11609bca7aea33e03924a3e6ded3aba993d1cbccbf8753ee0021b3edb3e6eb94af515bcb421243e9b01d53d3a1bcdb9a12a21bcd3aca33d4350643dd935803a812ed4bb7dd5a73ad265eb3bebfd87b82e7d46bcc72a80ba17b8dd3b859ad73a604881bc35a406bbe5a40a3c9cac403bf0f967bc9eee30bb8d7de33bdd454a3bf76078bc75f565bb7b62eb3b6000743b20e130bcda7d57bb636f9e3b29563f3b55a660bc71789cbbeb8eba3b7ab4823b62d831bc20fb8dbb6f16963b723f643bd77633bc5ac7a3bba75f983bb0db7a3b1a66bbbb2d7886bb64924e3ba0c13e3b6c5ec8bb3610023fc64b023ff98740bbca4b07bc5d22e53e7661e63e91932bbb855bfebb8603c43e15dac53ee49ea5bac5450fbc27f4a33e1574a63e2afc37bac0f3e4bb492a823e3eaa843e8a01a1b7c3a124bc3fe4433ec57c4b3e7fd1333a2efa07bceb0c023e1849093e592b823adb2017bc288b813ddc08933dc875c03a30d9e7bbb033d5b95239d73bde5ab43ad9de3ebcf62e39bbcfdcc33be16c553b7f966ebce9765ebb43a8103c65ac7f3bb09f82bcdd6da3bb87bf0b3c9ef2993b70806fbccbd1a9bb92c7e33b8375943b983248bc825ca0bbc417bc3b4a128f3b4fbc53bcbaf996bbce45cb3baa38ab3bceb41abc31b3bbbb1ea7963b1fee893b391116bc5569c0bbbc36a43b4315ab3bf66703bc946288bbc851653b29387c3b11a7e2bbfa98c23e5dfc223f67f6c9bac8c80abc8febab3e24dc0f3f1d3c02bb3b191ebce6e1923ef0cbf73e2d9990b921561dbce26e753ed780cf3e34295f392da70dbc139b433eb160a63e18e87d3a1f8229bcf6e2123eeefb7c3e87b5f8386eb419bc0ed6c03d6b9f2a3ea126f83a22721fbc33183e3d7404b63d1141c73adfa808bc8b888cba3541f13ba550353beefe1fbc26e459bba9b7e03b85ab4c3b1ccb5cbc060da3bb89540a3c0292933b746348bc3789a1bb4b01d33ba33b8b3bed165bbcaf73e9bb8d2ee63bb648bc3b400f31bc1db695bb5339a03bbdeb943bb4181cbc8ab403bcde368e3b1c0fc93b938cfabba1d6adbba32d633b60ae7f3bbec504bcda5bd0bb77687c3ba688923b7b8aaabbc4e396bb6f642c3bb48d543b0aacccbbf6f3813ed958433f5b2ca6bada930fbc5f61653ec67b2c3fb7de74ba5e15fabb85f9433e0eb9133ffe659e39573327bc63ff233eb972f83ee733fa3ac474e2bbcde9013ef423c63e39df1eb81e052abcda61bc3d5406973e9ab2713b11fbefbba7067c3daf53493e9f6e153bfd630bbcfed7eb3c3388d33dc2bc483b39cdc0bbb68019bbb7e5cf3b64e21d3bcdf507bc0b738dbb7784cf3bd779743bf26831bc4928cdbbaccae83b42a2a53b46cc17bcb32bbebb502aa13b9fd4973b8f7512bcf54ec5bbe8038c3b40a0a13b8bdc03bc443ad4bb06c68e3b0ecf623bab80e5bbaea9cabb4e9d3f3bbac78f3b4248c3bbc8a3c1bb379e1a3b974c803b9adfa0bbf94cc5bbec110f3ba275743bc7d469bb58699ebbc976e13ae7cd493b677ec3bbe903023ed5b1633f82bdbfb9d1cb03bc2065e53db1a4483f8bb3623a4c8beabba2dcc23d4fe92b3f3a9ee43a63f5efbbdc6aa13d45ad0f3f5fa63c3bc696f7bb04127b3dc584e63e975cf63a820af1bbe0a1393d8097ad3e1e9a543b4640e1bba61fea3c08e4683eaa72543bfae4d9bb95d13e3cbe29ef3dbcfe593b80adaabb987672bb0cfea83bad46443b00000000000000000000000000000000cf46cdbbab09a7bb84b5843be622823b7e56b1bb44d29abb4ff8313b7a3c723bc041a0bbce1d9dbbbbf2f13a7c894a3b2cf487bb578890bb2d47b13a39dd4c3b4b7c76bbf07d99bbebbe843a2e0d3d3bf58f4fbb94bf94bb4c122d3ae0d22f3b8e4835bbebb095bb0e80753a2d72383b0000000000000000000000000000000000000000000000000000803f0000000082b1abbb3229b439f19a633f1cf2cf3ac9e19bbb927bb9b74c04433f16c3163b4e319cbb8d6e4bba7d8b223f48bd0a3bf10693bb2ff9a4ba3610023fe653323b641598bbcfac0ebb68a9c33ebeb3433b884893bb6a5e43bb79ca823e68574b3b797095bb01107dbbc309053e4d5f493b00000000000000000000000000000000000000000000000000000000000000002e41593c64af10be4ab369bc2452033c2c44d23b814f09bea78791bcd95ef83bfe523bbba7d8e7bd941aa6bcf7dba53b730b86bb1c0ebabd7eeba8bccb6f553b65c2fdba7eee8cbd07c395bc9803343bf689463b8f6f37bd4da546bca86b5a3b6054b63be59992bc48cfc6bb1fb90f3b00000000000000000000000000000000000000000000803f00000000000000002df6c1bd9631a23fa79088bdae496c3b91d581bdb472863fb1ade5bc19861d39e4853cbd8bb5583ff3719dbb53cd1abbcad708bd0230233fc8159c3b0e296fbbeb27c5bca9fbde3ef4aa153c107c01bb4a9b4fbcdb08733e68f29b3bf360e5baaf20dfbb1e50443d56eb49bb94e3953900000000000000000000000000000000cbe95c3c9904b9bd45d0c7bac84be8b9199c133d163e20be8d575ebc85301e3ca998a53c30bf1fbe50edbdbcb2adf93b5f19383cb2ac0abea6fdd3bc5b89b13b496cba3b7bbbd8bd6b77d1bc2463823b68143b3cd41ea6bdaf55b5bca055993b97164b3ce1074abda2b285bc4c6c933b7d104a3cb90d64bc4d70acbbe534d53badd5513c6024dd3b12b101bb7058183b244218be1c7da23ff5826b3dc87da6bc0bb31ebeefd09a3fe8e1603d9e5496bcbc80f7bdd564853fcac5a03d8781aabc99a7bdbda01e563f43b7b13d46c0a6bce12f89bdbf7c1e3f0e3baa3d593898bcf1d14abd840cd43e761b8a3d2a3987bc28ddf0bc295a5b3e1e00423d866253bce71e83ba69c4f73ca163ab3c65e0c0bbe4f2cbbbf212afbd1cb2f4ba2af8c4bba9a5b03b061b7cbdb46dc63b87f0ecbb43dab23c5b39f6bd8db78dbcd50bb93aafbb4e3c6927f3bda8a2d9bca6ce1e3bd08d483ca479ecbda3d00abded0f393b9c72d63bf1ebb2bdf853f8bcec35253b34fb533cf66f90bd4e1df5bcefa6283bbc69673ce8e22fbd3391b4bcc57a7e3bbdad883c611488bc705f59bcfcc6be3b2844723cd374603bdf5e8dbb5dba983b313512be9a72873f7b8f7e3e74ce49bd092226be5119863f167c763e32ba57bdd09effbd538c613f0f6b723e4ef73bbd23b1d8bd1bbf3a3fa44b5b3e81af29bd69b99dbd6229093fa341363ec87e08bdf8317cbd45d7ba3e6396103ecf46f0bc366b26bdf405483ea541bf3d8582bebc371a90bc0cac203dc25c393dbe8b88bca22a43bcc5a464bdbd1c893b547a39bcafa885bb89cf34bd66b9143ce78437bc917b483cd3c9bdbdb96ab6bc0c479cbb946e5b3ce2fbd6bdfbeb1ebda6eef9397479333cd182c5bd965529bdc171b83a21c81a3c51e8a5bd017626bd6608653a18a15e3c5b447bbd4c2112bd5ce3203bc0b5823c59fc24bdb903e3bc31a5553b00b7933c4d918abc26c682bc68c7863b4144683c8a38d9ba0f9387bba74e433b8a96febdb12f5b3f22a2e53e5e099ebd781912be15dd573f86fae23e78baaabd8c07fabdb00b3c3f5189d13eed1793bdb419c9bd85b7173f9b03b43ee90572bd1c41a2bd80b1e43ef742943ed4c247bd576b77bd04379a3ee89d5c3e85c526bd159230bd44ce263e46c50f3ebfb600bdd728cbbc187c233d2562893dbfbcc0bcda569abc005922bd1c3d193c2cc08fbcc154d5bb6a770ebdef2faa3b968f41bc086a023c01d593bd90d202bdd8cedcbb5d83063ca618a4bd414740bdd29b25bb0f9e163cd2fda4bdea3c58bd8c5e67baae69873a3d0462bdc5c110bd2ba21f3a759d433c9bdd5cbd3d542dbda7e7c43ad8d64a3cc4360cbd938ce9bcb410f73ad5826f3ceaea7dbc36278dbcf38c7f3bd95c3e3c17fb16bb4f8077bb6c5e813b90c1cdbd7264263f57fd263f1ae5cfbd757ee9bd7e66213ffbbd253f0216e2bd6a3ebfbd93410b3f4a6b133f9e15b5bd6bcba9bd469ee63e7432fd3ea1549abdef5667bd3d0ea63e83ccbb3eacb13bbd52625dbd2a0b6f3e3805943eb6a441bde7be15bd829e003e5316343ecb8007bd0cbbc0bc4e73063decbca43d0c69d6bc320a8ebc956900bda8f4cb3b29fb9dbc4a77fcba9736f7bc7af3c9bbc2ac3cbcb005473ceaf275bd90ce63bd13d9cfbb9be7693ca65d8fbd8a4d99bdc7a0b3ba0135563cc17d87bd7c3d92bd5526c1381bf52f3ca6ca6cbd54be80bd16c5ac3869de4b3c259f33bd004052bdabe0dd3af8be443cd2cee6bc9f3d15bdac67453a2e77443cbd375dbcfa8095bc0525ab3be6a5053c0c427dba8766aababd73613b9fdb99bd4191e33e831b5c3fcbfffdbd6351afbd45a3da3e08ed5b3f26e60dbe603197bd01a5bf3e5d32433ff3a1e3bdf8897cbd7ae09c3ea96c213fed9caebddf3c52bd21e8713e8adefb3e532383bd98ad25bd7f80233ea414b23e720243bdf4d8f4bcc71ab03d9806583ed6f70fbd76da8abc59e5a63c3519a93d897dc8bc001e3fbc01dfd6bca15dbcbb82a598bcf014723bfcfeb5bc7de600bd1b3ef1bbb700603cc45c26bd009fbbbd5ced37bbb9986f3ce42653bdde41c2bd5cd7053ab6217d3c31bc52bda598c8bdf036473abfad303c08562ebd42ca98bd55018fb897cc483cc5b40cbd2e7580bdecc6793a6572183cd529adbc6c2025bd550c0e3bdf3e073c9ab2f2bbe8d897bc55d19d3b10fdbf3b224dfb3a06b9843a9708b53b1c6045bd92be7b3e4f56873ffebe10be7df34ebdc41e653e0c79873f10c71cbe20f832bd6296513e3ff1663f00a4e0bdc92e1dbd264d2d3e5c79423fabdab3bd848af3bc2525053e184a113fc85166bd6fc4ccbc5cecb43d609ecd3ebcbb30bdf8148abcfb4f3d3d571b6c3e9b85dcbce7dc0bbc814eef3b653f963d201d97bcd80d98bb457abfbc8280fbbc27b254bc73e4e03b4e1d8bbc977890bd00afb0b88c9f5d3ce7f36cbcbdba0fbeb4e8ec3a9b5d8b3cb93e03bd957611be4edf81b95767813c6ba411bdba0900bea1d54dbbe14c4f3ced1d00bd8da4c8bd816b60bb240a373cec98b6bc38509cbdf04852bbe1a0e53b5cd42bbccffe42bd82ebb3b912d9c13a008efab8180a81bca445b83b3a28913a5045a63b6fd1973bcf74963b2d0b96bcdac5683d5562a23f2a3e16bec3495fbc7809203d2d569b3f81e112be1c766cbce6fc4a3df7b7863f5f6acebdde8460bcd238483d60e3593ffed388bd00be42bcaa55243d2acc223f276120bdcf1817bcae52c63cb1d1de3e76e8ccbc11ebc3bb39cf273cab726f3e80216bbcee613bba3910613a8107473dc190dbbba91a1c3baed1a7bc30188ebd9278e5bb000000000000000000000000000000008a32603cd6a792bcc38b0dbe9eeb553bfcf86c3cafecabbc7cea06bea2001cbbccd53d3cbbbecfbcd1d6e4bdbde296bbbccf223cf31da0bccacab8bd7aefc8bb006dd73bc04864bc1e928fbdaca7e8bb4de0753b9a8f9cbbc18e3dbd7f0cabbbf7e01ab8c1ea2e3befbc99bccec34abb0000000000000000000000000000000000000000000000000000803f000000006c4d043ca0c9a1bddb2da23f2fdda1bd7c999d3b2d754bbd705a863fe86e29bd12fa213bfbca07bd81f0583fbbd699bcd4b3393a5286d2bc52bc233f4246ccba9364443b5e2db6bc9371df3ed04aa93bd6748d3b954b9dbcf86b743eeb05f83bcb06c53b1e1195bcf4c64d3d2385c53b000000000000000000000000000000000000000000000000000000000000000071ed01bbf274cebd6ff87dbc50c6933b7e2d89badd99d0bddc197abc117d673bf65f0fbcd8f3b8bd086061bcd2eac2b9bf28c7bbbb2ba6bd418755bce3db02bb6183d6ba1bfb87bdde1766bc06f553bb0db4e83bf7eb4dbd15db4abc3f5f53bb46b7423cf5e6fabcad223fbc9cf439bb00000000000000000000000000000000000000000000803f0000000000000000b01a89bdf9c9973f80f004bd8851e1ba961e4cbd83407d3f7f1cbebb926461bb8d0d28bdf2694e3fa2cd193c199fd1bb139018bd22361f3f26fb793cb80cf9bb0e640fbdd294e13ed637573c59a4f9bb0ad5edbcbd2f853e3af1e83b80939dbb6f24d3bcc990ad3d4be31cbb4e2551bb000000000000000000000000000000000bede6b94bfb84bd637e5b3a2249e0bbe569e63c712f02beff8953bc35981b3b4ee9723c46dd04beb16f8dbcffdf9eba1de6303c72b8f1bd77738cbc892e0bbbeeaf013c69cccbbd77768fbcf2328ebb9035913c44efb0bd750d9cbc185661bb2b60b93cd7c281bda63588bc393e61bba9c3d03c8733ffbc07ac21bcda7cda3a408cb53cc79721bcff5e0bbc9ffd91ba7ea8dfbd1c0e983f9cc4c43db87ceabc268df6bd3843903f2e57c53df571cdbc446ec5bd82f4763f9404e63d0792cebc57cea4bd7ca9473f12bce23d01cecabccebd86bd011b173f668bcd3dacbac1bc01426fbd01c8d23e2e36a63d11ffafbcd0c438bda5d56d3e481d683dee5d88bc9117c3bc65af753da21dda3c34da28bc5958bcbc0de36cbdadfc0f3beabc2fbc5ece58baf54254bd4dd8793c51da69bc89bca03c1655d4bd354b3abae5300cbcf647e33b2777c9bd9404ebbbfdb1cdbb5979733cb650dcbd923f84bc439a00bc28bf583c47b2b8bd28c68bbcafc7bcbb4b53bd3c22dba5bd5bf8a7bc51a6b7bbd587ad3c562463bd8d438bbc6e1c81bbeca3ff3c2f4d0ebddb2083bc5d5d03ba6f17d23c966c5fbc97c9e1bbddd3f238ada9e3bd40827e3f03058c3eefc653bd2ad606beba73773ffba98a3eff6168bd8299cbbd49274d3feaac833e69cb43bd7a9cc0bd3d462d3f6041713e10a72ebd71489abd7739013f52334c3e534720bd37ee87bd730eb53ec2c5223ea3f617bd7fae4fbded34503e67cfe03d9c53fcbcba0708bd820c673da784803dfd17d2bc035cbcbca42235bd4ccf933cdecc95bc60d605bcafd331bd3072f23c2b469fbcd522743cc9c6b3bd30e1dc3b44c866bc3cb6823c37dcccbd264d1abc71d618bc9bdc943c5036c6bd85c188bc47180abc0b6e9e3cda41b4bdd02d9fbc8345d7bb1449c43ce8b696bdc804bbbc4a8ca8bb6c21f23cc2716cbd462ab7bc034b49bb8f06023d03e310bd28248abc945adfba0ae7c23ca85184bce28cfdbb73e2893a7f97d1bdf8d44f3f9cede83e3b7698bd76b7f7bd376d483fbcc8e63e0137a5bd1037d7bd94152d3f9fc4d43e9c478fbd7a8bb8bd5a560c3f0754ba3e711d76bd3c879fbd3d0bd53e363c9b3e653e5bbd3ad680bd8f8c923ef193703eab643fbd483251bd2113243e5c15273eb4b625bd108b0cbd4686343d43f1ba3df48b0bbd948dd6bcd98a12bdeaddf03c60becbbcf55c9cbbc2832fbd805d0e3d833aa3bc4943643cac1d9fbdd907e53b0fa584bc34255a3cc9f4abbd1a8737bc9fa132bcdf8fa03c650ab7bd9e62b2bcd36ce9bbc307d83bca8882bd343068bc479d34bb603cd03c8c2a8dbdcad3d9bcd10ba6bbd1fac33c58f647bd535cb5bce9c12fbb0af5e43c9a4302bdde258bbca881debaf613b63c8b8b86bcd52ecdbbb570143baeedbabdeea4203f2374233f321dbbbd56d4d0bdf30d183fb6dc203f6a86c9bd72f9b0bd10e9013f69d60f3f3844a0bd9649a3bdc199d63eb037fc3eb2bd92bd09e270bdbe2f9c3e3948bf3e05993bbdf36068bdc4235c3e7e159d3e884853bd128b2ebd2fdaf13d5224503e09b027bd37a1f3bc1274e83c1411e53d845117bd2c5cabbc41e717bd7aa2023d2398d7bc19ba693ab5932fbd064ae23c92ba9fbc764fa33cecf592bdd7fe08bc16b98bbc6e59b83ce9faa4bd9a6bfdbca48c2dbc1e60bd3cff159dbda1ea1dbdbb03e1bb1633c73cedc891bd4eee18bd16daaabb76eccb3c5a416bbd2ca715bd2da7afbbe291ce3c966a32bda858f4bc432e4ebb46edca3c5abdd5bc7b57a4bcc13482baacf6983c29615ebc17c381bb18f4263b389898bdc6fde33efcbd523fd36dd4bd3b62abbde1e8d43ea96a503f7733e9bdbe5d94bda32fb73e34413a3f0694bbbd39ea80bd6935943e78301d3fd68c9abd083f5ebdd58c5e3ea385fc3e613576bd622f32bdd101133e957cbb3e8c314dbd96df08bd5ad8953d9d3b773eded732bd358cabbc4a67003c5be2f73d913719bd25db64bc81f913bde499c23cce05d5bc86250d3c853628bdb68d0d3c9b9494bc1ab0c73c147182bd24eb19bd6ced80bc51f6a63cdfc082bd201d3fbd3986ecbb0030d43caf6387bdf57f6dbd794ae6bb0c80aa3c05ee5ebda68a4abd2f1678bb35dabb3c1ef845bdfaff4dbd3d4697bb9031a03c77b205bde64207bdbccbbdbae088893ca53088bc8890acbc5e6b80b988114b3c44bbbebbcaa83fbb4594673bc61252bd49a4873e8649803f81f4e4bd270167bd6b41723edf297e3ff924f7bda70640bdb5aa553eebbc563fb041a3bd6be62fbda207293ecb1e3a3f068c8dbd9cb00fbd8195f53d7c6d0f3f4a9945bd6e1fddbcef1d973d9174d63e882936bda061abbc37ca093dc843853eb8ea02bdc93213bcd9a728bcf429f23d607709bdfd8496bb3fcd12bdd77c963b5f6bc8bc35f2643c96201fbd59fec3bce5db45bc909ca83c92fd25bd0678b3bd110988bcbc7fbc3cc15045bd188cc1bd910639bc33f2bf3c19d645bd7852b4bd2ab402bcffc7aa3c73692abd8aeb99bdad04edbbc9d7953cc458febc02d585bd072cd9bbdfa6533c17f78bbc5ca346bdbe94a9bba694ad3b475b7abad424cbbc187139baffa5a93b156b2d3b42505fbbbb3ab13ab600eabc5e7bb73dcdbc983ff88bdabddc52b4bc13228e3d5722923fe311d4bd546ab2bc5dfe853d011a7d3f12b38abde0f19cbcc6f1543d1b8f4f3ffd9036bdee5a81bc7f3f113de4891f3f5ed4e1bc912b3cbca04e643c7872e43e5d9dbabcbf8fb7bb64d5cebb10ca893e26e1aebc3356aa3ab323b0bcbbf8c53d1cd9c2bcaff9be3bba381ebd5503e9bcc1ab9ebc0000000000000000000000000000000011eb903c2f9602bde215bdbdb99f95bb85b1973cdefef6bca44ac3bddf519bbbded08d3c1036febcb247aebd81b6c1bb8e4d853c5855e3bcffb89abd0fc2a0bb55c44f3c18099bbc036883bdb866f2bb3df3e53b033501bca50546bd091b07bc731f323b331df03a2491f0bc6e7bc1bb0000000000000000000000000000000000000000000000000000803f000000005ec9a9baff6257bd0b3c983f835436bddba2b9baf8801cbdb2577e3feb2c89bc0f893fbb8a17f3bc098d4f3f1bad503a46de3cbb9ccaf2bc0533213fe5e2993be7adc0397f3dffbca9c7e43e1042da3b7bde5b3b48ebf8bc93a4883eba43053ba377e73b77100ebd83d8bb3d48148dbb0000000000000000000000000000000000000000000000000000000000000000e7b814bd9626bdbc48345d3b5ee6b6bb35eafebcc55ef1bc805e2e3b536c7dbb993b05bdb3b1edbc6c71403bb1a282bbf51ee5bccb4af0bc2f95163b1934a4bb82e6afbcaae7f0bcc0fb00bae246d9bb173830bc5cf5eabc1d26bbbb2dd808bcb2a084bbcbb5d5bccf7707bc725e32bc00000000000000000000000000000000000000000000803f0000000000000000238cbabca843823f51c288ba11b622bc356897bca7085d3ff7fbe03bb99e12bcb5969dbcc901363f1e7f683c571b21bc4daba0bc32550f3f20e76c3cec9d38bc8f5cb7bcbb4ed33e0e99473c2a6f41bce25cbdbc43e7873e4933e23b8fa147bcc8ede1bc8cf1f83db7e5603b707069bc00000000000000000000000000000000230e25bdeee73bbc9c024d3c0b1226bc8a8b08bd2fe002bd3d05103c44e911bc9d1114bd0b5526bd1875173cf20bc4bbb25f04bd11372ebda9ffe93b8409edbb5a0fe9bc532d26bd7255b53b17fed3bb46a89dbc11ce29bd24beaf39610504bcd30ce2bb23f825bdff4480bbc53b20bcd2a0fe3b213f0bbd7c3117bcefae4bbcc5ba8f3b4314aebcf6c79dbb18eaf9bbf57022bd7498823f9e11ff3dfadebfbcaf573abdddd96f3f2658f93db6bebfbcab8524bdfd0d4d3fc8aaf03de81fadbcdb8719bd9e33283f50e0da3d2861a0bcd02513bd2024033fcecbbb3d25a19bbce26c1abd6b86c03ee89f953d7dbfa4bc3f5f1abd77ae723ebd0d573d32d3aabc726b16bdbe76d23d68bbe73cb6769dbc5ca107bd3ae347bc9337083ce26a81bc6f0118bdf0372fbc77b5c03c8b003fbc3fc610bd50dcf4bcc41aad3ca0701abcbda813bdf26401bdea33813c476091bb4445fcbc98a62dbdbf4d523cfd6347bb4e18cebca73924bd0d27253cd05a79bb00a568bcc56931bd4e7b753bb251bbbb2d9528bce4960dbdea49b23a027895bb6a2a013cfd4710bd26e04ebba085ebbbb48ddf3bf2a6b6bc7fc8f9b9969d5dbb03ba3bbdc99b5d3ff9aa8b3e90c708bd0dc165bd7c654d3f80f8833eb8de17bd2fb232bd31d22b3f703e6c3e99dfe0bccd2743bdc31b113f4f06533e626ae4bc9ee830bdc890e03e5c142d3e72d3c2bc92e535bd4b18a53e5eab0b3ef9b4ccbc58b61fbd2877513ea283c03d791d9fbc328125bd9155b43da500713d1ce9b5bc70a1fbbc86cc39bcdb8fa23cf35c85bc272d15bd166159bc4b73003d594ff9bba54b02bd1ca6f6bc52fae83c3e9d0cbcbdd0eebcd00023bdb95bb63c8edd80bbfc9ec5bcac6632bd7a3b823cbd9d0bbb9dd9a1bc5d1537bd46a93f3c066b31bafc6e22bc3d3b33bdd255b83bde1cb9bac9cb8abaa1b129bdf5d40f3b384029bb968b1a3c5b3211bd77274e3af5d7f6ba8a1d873be64db3bcb7cb803b3bb6f039fb5d3dbd9094363fef80d83e75711dbdf64f6cbd88da283f2dceca3ee67a35bd6eaf59bde45b113fdbfab63e280d19bd94e04bbd6206ef3ef7c59c3e9e6100bd931744bdd8b0ba3e37ac813e40b4e0bcf0cd38bd3940873e64e64a3e6b16d0bc596631bdb35c293e51c9103e02b6c1bc679f23bd277c8f3dd945ab3d6e3ab8bc8fa000bd9a603fbcbc4cef3c05eb67bc4dc904bdb8cf82bc2a860d3d8f89c9bb2d69dbbc4d5e02bd6cb0073df6b297bbd47db8bca3911abd0cbabb3cc48aaa39a930a0bc7da332bd8578853c1c10e23acdf39dbc59bb12bd7cc35a3cb2b5a23bec71d9bb5d8631bdb77ce73b98d5ff3ad9e84839230e1cbd260a6c3b73f0c73ac5d9493c70de0dbd8771163ba9f0aa3a24e0b43b988bb7bc3272b03b34df973b9a4039bd5890103f41c8113fa5952bbddfa358bd8ae0033fd5a9083fa01140bdf2874bbd1423e13e92d9ef3e49d60ebdd0a646bdfcaeba3ef05ecf3e06a5fcbc699a1cbd23008e3e2ef2a13e361a98bc61fc31bd9e99513ee24b833e2e32b3bc56ef1bbd384a003ed408363e28079abcf70617bd9fee493de0b9d73d80fd94bc2311ddbcd63864bcde1ffe3c0a0127bc0c83b3bcfedcadbcef60113d251531bb03d15dbc13e619bd2f2d023d13e8a2ba72d53bbc9d0333bdcb0d9d3c47b5483b379df8bbc8e53bbd7f163f3c1392833b06ebb5bb741538bded68ef3b6b3dac3bde5e1e3bed9432bdb6f9de3a5c8d743bf983ee3b59de1dbd03e2f0b9795b883a544a733cb9d104bd93fe29b87fab473b587a123cb5a4b7bc1a208a3b261fa23b899428bded39d43e338b383f22802ebd1d6a4bbd60b6c03e66852d3ff44e45bdb1773dbdeb43a53efb78183fdd2a14bd368a31bdd326873eb0c6003f87e9e6bc7fce27bd0a06513e7d3cd03e70efacbc02701abdd72c133ec4299f3e8f319ebc257509bd18c3aa3da4635c3e192997bc38a2f0bca576d93c644bfa3d58bb86bcdd9cc0bc77e39bbc9f53013d4ef027bcd8a40cbc44dcdebc7064f93ca0c77838a06ad4baa4c124bdc113b53ccce9153b145f9abb4ab228bd41181d3c5ba5043c435ccc3a8dbf3cbda67bee3a9fe5e13ba35edd3a698327bdb26f87b92628f83bfb9b163ceb242dbdbbeea8bb2d0a9e3bf191fe3b476d05bd9d4c99bb78776a3bfca8863c0e67dfbcbe5284bb51ede93a11555f3c929d98bcaa0f9739d61a9a3bfc8008bd5134883e20675f3fe75c2dbd98f927bd7608743e484e513f015c34bd661e09bd5a9f503e5a7f303f213ec1bc792a09bd4375283ec16e183fe482a9bc451bfbbcc7a4fe3dd0f3ef3ea32b47bc6e58f8bcd9a3a83dd02fb83e6c774bbc67c2c7bcd78b3f3d95ef743eea0827bc85feafbc2bd0863bf77f053e14b659bcdc9c7abcd733c5bc7369c73ca32207bc878aaf3af4e3fabc6639a83c9c49b23b18d63d3cc73d27bdc420153b0d2ca43b359f203cac1433bdf77008bcfe26e83b5d9d2c3cdaba2ebdba5666bcf866013c4b1a2c3c7b3f22bd0a1e7bbc7dd3e23ba323673c73b515bd78df8ebc4e48543b05f4783c0f3af9bc325b8cbcc1a07039f73a923c799ab3bcb6bd5fbcfb5f26bb276e673c97ea7dbc6aeb66bb484c653b3a9ed7bc90eef63d1e23833fb9b008bddb49cfbcd4e3d03db7ba723f4cc2f6bcc599c2bce3e5b33dd9e7503f6bf772bc3895bdbce3da8d3d0cb72c3f8152b1bb1d81afbc276a493d0126083fc96e97bac8cd9dbc0b3ce43cceb2cb3e6847dfba30187abcae6dab3bcff7853e5e5a54bb24161abcce2a74bc57de033eb5a90cbc570513bc9918debc6de8273c5676aabb00000000000000000000000000000000ce0a443c5a5d0abd8aba12bcf493213c5a37473c49befdbcadc39ebc8f76003ccdf2353ccfe9f7bc0732a6bcf1a3fa3ba03f3a3cc8fbe7bcb796acbc44639e3bd3c3343ce6a0c9bc88dab6bc92a6263b14df5a3c8fbd9ebc9263b0bc42f513bbd8bd613c8b3b75bc0bea91bc672228bb0000000000000000000000000000000000000000000000000000803f000000004b5258bce15884bcc9d9823fdd26c0bb21832bbc81f857bcb9c85d3f6227893b4f194cbc71c15cbcc81b373ff6dd1e3cd81f33bc258582bc9fcf103f8836343c43c416bcb6f19cbc2850d63e6a301e3cf372bdbbe9a8bcbcfac28b3e9bf8953b019e65bbc15de9bc5e44053e36138b3a0000000000000000000000000000000000000000000000000000000000000000e31d073d50b546beb2771b3cd97cf93b9113ec3c0d4043be9274113bd964313cc36d8d3cb7c132be8e819abbd8a10c3c5abc593c602812be172406bc308dee3bd006073cad50d1bd2a91aabb1c91b23b19cc823a0a9660bd282abeba31c2543bbf83edba1f431abc968322ba2b36163a00000000000000000000000000000000000000000000803f0000000000000000a831edbd3f18ab3f9ddae2bda46a1d3cc181aabd3f308e3f59e678bd6ba1cd3a85d080bdcd9b6b3f16cd0bbd5301a2ba53293ebda992303f817c6cbc426db2ba2322cfbcbbfae63e786fcdba101ba4ba660706bafbae663e5559ec3bacb03ab99e7e773c02a5193c5247073ca6176f3b000000000000000000000000000000001ea8053d225903be8a36be3cccd0c5ba25e3453d730b3dbe4981a43cd82d603b5cc3273d6b4450bea2836bb829bd153cfa710f3d8a0840be864720bc250b2f3c2f9cbf3caf1f17be2d3d69bc8d413a3cdec7883cd701d5bdeff457bcdbc4033c25fef73b11c757bdab043bbcf048e63b139e12bb161810bcaf13ecbb0da4ae3b19a7c73a8aa5a63c14e76a39a63b0a3bdc973dbec458ab3f8db8383cb97d68bcd2292abefce49a3f14f40f3dc6ef9ebc95d810be19448b3fd9045b3d88c4d1bc7a2be4bdfd79623f55d3883d2df5cabcf4c49abdfdbb263f91ed983d651ec1bc9c2121bd54bed33eaa33933dfa5c9ebcf68cdebb6bd2413ec236763dd8146fbc9c58d13c7adcc03bafa94b3de0cd2cbcf127e33c7b0c09be3642753c16c924bb0c48cf3c6c90bcbd845cc53c8f34c1bb2f32253db43623bef5a6aab96ca9493b08fb193d27282fbeab35b9bc18e50e3ca147073d156821be196008bd38d5413c65c0be3caad4f8bdd8590fbd5bbe473ccc1f943cd843b0bd529309bd684c4b3c7f114f3c9e9b31bd93e3d4bc1e452d3c4f8fc83b3fae2dbcb37c72bc988b093c5b3ab43b8e714a3cabe178ba25ecfe3b97ba39be4d238e3f5cac633e8ba55ebd1d333fbe715f8b3f57eb673e89367bbda99521be0ca3733f6fa66b3e962875bde664f9bdc866443f904c603efa3d66bd246facbdd7cf0d3fa0cf4a3e716545bd804840bd4643b23e8dc9273e5f2625bd352088bc1d131f3ed611f33de0eaf5bc4d6b573ce3b5073a856f8c3da80f9ebce43ea53c0a34c4bdd5008f3ca08c17bc68927b3c297c95bda764663cb2ad46bc7df90c3df2cf00bea033d5bc38776f3b0189083df4e70bbeb88b57bdc11e173cacc8d93cdca2f7bd21ad7dbdcd50403cb340c33c1590cabdd2ec82bdf570623c69d8903c66e183bdcd7f59bd69ca663c196e3c3c36e407bd2f4219bdec06583caa55313c59a1febb908c9cbca3ba683c603e0a3c7d8c053c6650b8bb8f97443cbe6c2cbe5cf56b3f8caee53ed63ec6bdcffa33bea51e633fce49ea3e0025ddbdbfb013be8730453f2002e13e263bcfbd2285dfbdfc3d1c3f68afc93e449db4bd4852a3bdb799e23ed04fae3e89f19fbdd78839bd64598b3ea5d8833ebfd675bdf0c092bca883fb3da65b2d3e06b733bdaf63b03bf26538bae961a63dca1dd7bc5567173c15689bbd59ad233c794b7cbc43583f3c850b61bde8c40c3a65d155bc8f70c13c7b1fb3bd53eb62bde52c3c3bedf7b93c25eebebdfb0dadbdad210e3cd733ba3ca025b5bd9a19c2bdad9a5c3cb6ae443c0e1d87bd0e2495bda9be193c29b07c3c87ae49bd1e5d93bddde2883c054d4a3cc550ccbc85543bbd7aa27f3c5ee9183c7bac07bccf4fb6bc3a7a693c9759013cdb1de73b5df566bb5c52433cf7870ebe7a32313ff03e303f72c10cbe833d10be2167273fc6e6313f253b15be0029e8bd5cf50e3ffe4f253f410d05be6f12b5bd4ab1e23e26fb123fd714f8bd3fea72bd38b9a13ead25e33ec5d8a9bd307b19bd67f34b3eb347af3e429b9bbd0ab29fbc8c85ba3d8f71503e30dd42bd8eb0ccb825496a3b7358af3d1f6ae8bc68d79b3b7e506bbd5c7598ba05cb8fbc548cc53be69cf9bcf5bab4bc545a08bc632b853cb2c547bd42f2c2bde162d13bb6aa8f3c052a5fbdc47a01bec411503c630b803c443d54bddacc01bed67b833c9844803ca79a34bdee8dedbdef59903c4557423c534ffcbcaa64b4bd64e5963c9ac2243cfa50a2bcef2261bd81b18d3cd3721e3c13f401bc9773c5bcdc217b3c4b60d83b08139e3b616fe2381ee1553c45b6cabd0eeee73ea2bc6a3f51d52abefeb6c8bd2032d63e3d2a6c3ffa0638be96eca1bd786fb53e8027593f0e7c21be37e07dbd6f3a8e3e7147393fb58d06be35332fbdf85e4c3eaf5e133f0e4ddabd0644e4bccf7f063e66a5cb3e672a9abdc1e079bc3a2c8a3ddf44683ec6984bbd3d3b93bbee385a3c45a9983d2bc6c3bc5e69403bc25513bdec41ccbcc4ac82bc9779be3a42585ebb48525fbddc3de0b95d94d13bdc0117bc52360abeec07843c2397273c67dd99bce63125bed38b853c6b810f3c3ca693bc1d8627beeee4923cf69a153c085393bc399b06be1f03873c08dcf83bff5386bc3a3ad1bd91b7983c1872dc3b5db71fbc487079bdc512783cd0e5e03b9f43fdbbe6c7aebca349763cb39dc13b6ddd50bac1cc853bf8a35c3c6c6368bd5ed9693e03d28d3fb50f38be995056bd24e3473e7bcf8e3f12d241be016226bdea7c263ef345813fe4c723be5069f5bcb3d3023e915f5a3f735707beb19bcbbc9879c23de544263fe957c2bd86407ebcc57e8d3dfe3ee43eab538ebd1b9b00bcf19e223d5a62723e15b818bdaab6e6bbf92cb33cb553653d590475bc635832bb8ba9debb477660bd4f68dabbcb8d36b994bb5f3c40eaddbdaa87613cfead24bb60dafa3c89a631beea28d53cb7fc8d3b5ee8733c7cc34cbeb3a3af3cd8d3a83bb2d8063c92a941be870c9d3c2bcbad3ba0d1d3380d4a1dbe8dad7e3c1512a53be0cc0ebbb371e6bdb4297e3ca3c3973b7ae5cbbb9b3a79bdcc40453c1eddcd3b718965bc6f6753bcf058f23b911d433bd25354bb880d853cc0d1e83bb61f68bc3a1c883cc20bab3f92f540be302466bc768a833c7f319c3fe9c624be46ef32bc5072363c2c0b8f3f4a010dbe7100dbbb450f0e3c41056d3f9f22d9bd8cf594bbf1a9393c026e323f3d4492bd471263bb10e2873ceedceb3ebbb433bdfb3388bb7301b33c05a96b3e7c0d9bbc30140dbc5902113d80350a3d09deb73b939463bba34a413c3aa0e7bd55c2a83b0000000000000000000000000000000002ab843a142df03ccb854cbee269a33c91c2e53af325cc3c976948be5610563c881c2f3b2e28523c7ecd37becc10cd3b4072133bf843123c17f515bef31b5c3bde5d063bcac6853b7bf6d2bd091e883a0a598f39b6174cbaa22f5fbd071a453ad4a7d539110080bb4b96e1bba61e2aba0000000000000000000000000000000000000000000000000000803f0000000077707b3c8275fabda73dab3f9c8ddabdb236513cb377aebd4be98d3fc3fd76bda2ed2f3c81b18abd21686b3fb9110dbdcd0b323cec194fbd2a9c303fe55b84bc5fb8053c652ef7bc537de63e2a6396baa355a33ba4ba8abb31a2623e307c463c6ba6233b4ef1313c79fcb73bc4c2843c0000000000000000000000000000000000000000000000000000000000000000a677193db9a133becfa725ba367e163cc181183dd68d34be58664abb7178063ce923ea3c267f26be9b0c65bba4cd913b9d65c63cc8ee0abece56bdbb73cf363b95778f3cd7e1cbbd4fd374bb3c36013bd133023ca68964bd103471381efbb93a00544e3a556843bcb90d0b3beaaea2ba00000000000000000000000000000000000000000000803f0000000000000000e110e4bdbbb3a63f3a97babdc915173c52a9aebd6aba8a3ff10e37bd393a543be8c794bd634b643fe092b1bc5f68fe3a9aff6fbd4ec42c3f17c9a2bbc0480c3b8a9f22bd88bfe63e1c00813b1537153b215a5cbcaefc6b3ef41e923b2cecc83bb90b0b3c7630913c29da2a3bd7f3083c000000000000000000000000000000003b7b3b3dec240cbec450f63cd66af4bba834863d00d04bbedd42c33c10248f3a6e0a643d6a624ebea8e9f93bc2312b3aa57e483d462a3bbe32bf46bbc3a9113b5a401c3de2a516be8aa5b3bb1d8c063b4413cf3c4b74cebddfc411bc56c97e3bc6ea3f3c4b8e4dbd5f6901bcc477433bd7fcecbb52d9463bbc1d98bb29969f3b3f68caba7c33b83c24e683bba25f853b591328be58dfa63f485dea3c2df952bcef771dbed53c993f38e1433d8d8aaebc735d02be0fd5843f1c53a33db2bdc4bc1e7acebd6a7a553f33abc43dd71dcdbcbfb88dbdd25f1b3fe121cd3dda7dc0bcb2cb0fbd7c7fc23e5887c23d436bb1bcc252d4b9e31c203edde6a83d4b2287bc0b14283d418217bd0f73803dc4121fbc023b1b3df9fb1abe1474eb3c355614bc2b75403de824ffbd289e5d3db130bbbc79f67b3d5a9738be6400e73ca65756bc3bab5c3d158934be4cf0023b8f0802bc9a3f483dabc323beb78258bc0abc26bba7e1103d537ffabd0cdf9cbc9d9babb94c65d63cad84a8bd13e5d7bca973a73b0b0e703cba4628bd13bfc6bc9951ed3b8ce6933acee6133b7ed5b2bc9a1e2a3c49e0763a28a6a73c5b7d42bce66c333c28871fbec9b8893fb9c1703e741e4abdd8dc23befb4d843f26877d3e58826abd4faa00be26d85e3f5a77873e97876ebde058c6bd3891303ff2f4853ed76b75bd557d7fbdcf91f83e38ba763e192761bdb7ffeebc8513923e72a2593e766056bdb0ca9639e903dd3d8c32283e02b33abdcb49113de6935fbde9a3eb3d5a4b19bd4e29243d25450cbefc2e693d900eecbc15d61c3d5832e5bd22cc803dba2f12bde859643d80a11ebea0159b3cbf69abbc3ef14e3d288d1abe355159bc334663bc59812b3d7f4904be958dfdbc0fa6d7bb63380c3d7c41cfbd56b735bd056ba4bab569b73c4eb17abd6f3142bd37b8e03b1f2a663caf83debcf9fd30bda8cc303c92378a3ba99a823bc46602bd9b1d823c6978903b5f29813cea0da1bc029e713c77ea0ebea936603f76e4e63e2f74adbd50a40ebed178523fdff9ef3e6ba9c0bd5655e3bd4f3b2f3f4023f03edec6c3bdbd86a1bd84e0053f0995df3e6f8abcbdb8c545bd8b8fb63e3f8ac93edf95b4bdf4869dbc2a76473eac23a53e9e9aa3bd5c1fe13b0d85553d77ab753ec64b8cbde467f83ce02082bd3061193ebd3569bde6c3f93c9aaafbbdf0398c3dcca432bd8004043d387bc7bd1fca713da5dc28bd8c982e3d9ee8f7bd4f0a853a2707dfbc032f133d5fbbe1bd57c50dbda3c986bca5900b3dbdf8c4bdc90d78bd60ea0fbcfee2c53ca56f94bd405c49bd951105bb7841993c072137bd198e88bdd03d033c64de453c8c989cbc2e3557bde9c2613c44b7873b4fbcd53b050f27bd9f9b913c2d59993bcf87693cbe83a9bc0ada953cb68de8bd0f55283f527b2c3ffacbedbd7bc8dabdb562183f20c1313fafc502be3ee0a1bdb8fdf63e31b2283fbc1bf7bd657e67bd4bedb63ec5641c3f7914f3bd7b2b1bbd43a3783e61aefa3e8678c3bde48711bcd724eb3de3ffd33e52c8c7bdb631ad3b8062a73c2240913e65c6a4bdebefcf3c5bf185bd7ac82a3ec6b785bdccf8d03c2210debd9703863d9c315cbdb97cc33ce7a497bdf0ec143d764e1cbd4627f03c9440a1bdf8101ebd41cfbdbc8cafda3cb24b90bd9904a5bd153039bcb638ab3cb53d60bd8a1dc3bdef6f0fbbed919a3cc69427bdfe4fc9bd3a0f8c3b7d9d383cdc99adbc8bd5b2bd482b563cb52aff3b6a499ebbea6d8cbd4e1a8f3cf2e4013b84ed173cc9532dbd108da83ce6fc2d3b75125b3c91dd97bc57699d3c358aa2bd06c1dd3e71c7643f52aa12be235290bd9611bf3eb0a3693f2a2f20be063a51bdd8e5933e59235c3f270c17be359dfebcf5624e3efe11413fbf0108be38897bbc85fef53d21f2203f9269f3bd303f1dba06c7473d9cf3f13ea2bdcebd2b3a1b3c67444abcebeba03e07ddaabd5515a33c1f8a6cbdcc01223ee46088bda0b7ab3c8315b1bd023c373d255455bd58e75a3cbc6618bd361fe6bbb2cddabc86ca683cba7de2bc6a31babdeeba48bcbe98623ca049ddbc4e21f6bdd03eb3bb6a9d363ce0d484bcdd320cbe1d018e3ada170b3c1ec150bce96cf1bd51fae73bd6a7d23bc8cbb7ba11afd7bdc737683c7075943b99a1333bbeef90bdc98f833c03ccfa3a31cf053c307721bd894d943c692611ba978a433ce1ef30bc85fc8a3cafd837bd76f5613e5d4d8b3f8a1e22be2ac612bddb58273e2cc48d3f15692dbe62bdb9bc5724f83d372f803f714714be9c8937bc4e978d3d710b603ff8a106be11235abb4b300b3d5304303f90e7d9bd65746d3b78fc1cbbb016023f4775bbbd9234033cdb09bcbcff6d9e3e11908fbd6651493cb0c215bddd35ff3da0cf4bbdbbee5f3c02f94ebd5f03d9bad2c71ebdd3535c3b0db485bbb04892bd52431bbcd7ca22bbeddcfb3cebf720be842cb93bcb74eb39e44ebb3ccc4e37be4c1aba3b62bdae3986feb33c459c32be90afdc3beeabd239fffc953cce9319bed27d0b3c7e2efeb9050d8c3ce4dbeebd4f78403cb58d183afac5363c090195bdf00c573c3ca3203b9d6d00ba34e4adbc88175e3c2c7f93b96f88963b6f8c6d3be8152c3cebca32bc3f4fa03c2e8ba73f581727be28a502bc979ee5bb4e1e9e3f2c061abe75f534bbfd2ca4bcd73b8f3f8f3400be7751153be52af0bc92626f3f5563cebd48e6ab3b702b0abddda1393f49469cbd851ed03b2b6503bd065b003f63606abd40ab8c3bc225bcbcb59b8d3eb84a20bd69bbcdb9d47d253bebdb7e3d4721a6bc0650793b1d4375bcfb739abd6a019bbc000000000000000000000000000000001556b7bbb4b0103d0e3e38be9487113c10d89bbb54421b3dfc723dbe9495e03b22a540bbd073e73c87822fbe99a3e33a70741fbb66abcb3c248515be1c5ae83a8e3462bb5c10b33c6a2ee4bd04c9cd3a34a330bb1e33773c966a86bd5b52133b83bbc0ba392ce43b6ef9a5bca9e1553a0000000000000000000000000000000000000000000000000000803f000000007574733c7fedf6bdf6a5a73fa5c9b7bd28d64b3c7441c6bd0c738c3f809d4abd150c4d3cdde0adbd62da683f61e5dabc5609363cd19093bd42e3313fcda43bbc1b731f3cc2485fbd16f1f13e9e1143bb73436f3b2309dfbcb5e37c3e4d7c833beb4456ba9c526abbcc5eff3cc234f23b000000000000000000000000000000000000000000000000000000000000000001cc693cff3fe9bdbe15933a1a8e9fbb16f1923c8be1f5bda917013bcbd7adbb1063363c5e05e6bd8eb6873b646624bc1596573c19a6d5bd2795b33b02d444bcc49c3c3c9453b0bd37f70e3b481b2fbc792e503c206280bda64c64bad857e5bb21cd2f3cbded11bd45a286bbfa9592bb00000000000000000000000000000000000000000000803f00000000000000005f6491bdf2d9953f26ce30bd4cff123c0c2d6ebd53be7b3f03a165bc8860953b3cca4bbd95de4d3f9a329a3b26fadaba358d39bdd508203f62ba5b3c4a0b9ebb40ee16bd876ee33e156d703c5373b9bb94fad6bcae3c863e8d7e123ce553a2bb874b8fbc7fa6ac3d970b3b3b10ffbabb00000000000000000000000000000000ceafb63c3210c2bd8d44e73c73159ebcdf96443d9ef21dbe3cb6a53c552c3dbc997f203dcf5821be801b673cb4b366bc2cfc143d1c0118be9d843f3c4bc97fbcfb58043d81af04be26c1153c08b182bcb989f83cab50d9bdbc48d23a006239bc96efc63c44fa93bd9d0419bbd487d5bbf774883c98c209bdf62cabbb2714df39a3b9903c39c466bc563ee1bbefdd0b3b370ed5bdc341953fabdaae3dc65384bcc6bbe0bd96938c3f62d8b53d428b62bc2010babdce07703fc912e03d1477a1bc082e9dbde50c423fb944ee3d53fab7bcc9d57cbdd18c123fed0be43dce3fcebc475a3ebd440dc93e1430c93d09fdd7bc714ed5bc6fdc543eebce9d3d2d0ac6bcdbe37db9f7b0153d6ba6543d86b5a4bc9a405cbb924e9abde1e8df3c5addc1bcc83b003d1fc7c6bd8be75b3d41a4f2bca0dd413d050216bebbdd353d44f0e5bcfdc9193d6e060ebeef28f23c89b6c3bc37032e3d3b1f13bee2ca903c7ed8aabcbc660b3d257ff6bddc07263cdea481bc343f0b3db5f3cebd3c6745bbf14440bca78fe63cf7a891bdd19a8dbbe7e0c1bb1c3baf3cd16e15bd29614dbc9b25803a16049d3c90b582bcb38d0ebc86a6cb3be6f6d3bd6cde783f9f69873eff1332bd3957e5bd72566d3f64de863ec17339bdf1abb5bda0d9443fbe14873e7ad542bd84be9cbdb3fd213fbf81813e3b2452bd95bd6bbdfbcaef3e296a673e800252bd636d23bdc6d29f3ecf944a3ea7c157bd5ed1dcbcad412a3e593f1b3e777d49bd6118d6b937f0873c8638dc3d014a3abd7627893be9839abd77776a3d369d1bbd50f9d43c4941bfbd93bb903dd0d21ebdf2993b3d70ad0bbe292a5c3dccd716bd7a81333d4d8610be0edef93cde94f4bc36a9263d71b205be2350793c640dbdbcf607243d36adf1bde3ea983bd8df9abc30bb0d3d12f7bcbd3ba0e1bbd2742fbc7462ee3c842f89bd78e783bc38198fbba944b83c60db14bdc60b97bc9bff443b3bdaaf3c4b23a9bc626811bc8271fa3b57e9c2bd3bd3493f6d19e53ed7008fbdf819cdbddd403d3f44b8e43e405195bd7143a7bd635d203f3ec8db3ed4fe94bd332986bdf36ffd3e3960c93eea7a93bdc1cf4fbda481ba3e5a32b23e7c0d95bd270b0dbda908703e8638933e31928ebd22f881bcb9b7df3d69b1633e0f3489bd2b6d073b9eff1cbbad4d1b3e9e4380bd9120a83a2e4195bdff8ea33ddefc51bd0b39df3cb0b9b8bdd19a9a3d41ac23bdebc1253d72f2f7bdae55523d34dd1ebd01e9153d556cf1bda87ac63c3f74dfbc12d12c3df525efbdfa3da83bcca2bebcf186e63ccb1eb9bd1151823b18711abcc92e0c3d23c9a9bd840d8dbc16bb24bccc6acf3c5cae65bd1f5994bcc7ce83ba1e39a63c9e7301bd7069b4bcfee6983b5687a03c69f98ebcb41037bcfc222a3c6856a6bd3c171a3f4991213f3a34b5bdf6aea1bd7cc20c3f7f53203fe3e7c0bdb53a83bd83c5e93eeffd133f0ed4b2bdef9c61bd1600b93efd40073f5cb8b3bd412d28bdbc57853e3efad63e1ec392bd3729c9bca582213e90aabc3e478ca3bd532739bc1da6863da8bf883ebca190bd1f14a53ba037a8bc9065373e10468fbd5aee803b387194bd7d27b03d488660bdd08fce3cbdf5a6bd07c9853d1e4118bdd845103dedecd1bd877ceb3cbcfe14bd09550b3da86acabdd08dd0ba460fe2bc03e0003d21efbabd6868a1bc5ce493bc3398023d4107a8bd9d57dabcd9de3ebc4681d03cce327bbd052d09bdf073c0bb2ebea23c058d26bd80e20cbd8426bb3a241b5d3cb58f9fbcddb9f5bcf5c4fc3b37ff613c29101abc5b2f67bc8242613c49077ebd433dd73e636a503ff6dbcebd9c7565bd3925be3ed5284f3f7e98dfbd12f236bd18f69a3e5e9d3e3f5cc9cabd7dbe01bd24206b3e1c38263f765ebdbd8539bdbc3d02213e24590b3fe874b1bdd88641bc96a8ae3d0937db3ef0e5a2bd8c79ceb8a1d7923c46389d3e1a309bbdc805333c8d1f20bd81dc3f3e8af18fbd0eff0d3c3bf091bd3c9e9b3d926858bd57eea33c23ea7abdf12a0c3d695c04bdd9d0c43c4b5792bd4ea12ebcdd87fdbc00eebb3c6f3d8dbdac17ecbc7df793bc7191c73c3ce382bdf1b34bbdf9f864bcdd8e9a3c985559bdeceb47bd73f0e2bb74898b3cd75f1dbd98f356bd0185faba5d1e593c2a01d5bc03ee29bd1e7d893b3b6cc53beb59cdbb2bf10dbdcc3d073c203eb83b2a3aae3a677163bc990a3a3cc8f91bbd355e773e0e0e7e3f3998d7bdd49df0bcd857493ece877b3fde57e6bdd4b5b3bcb976243e4f9c5a3fb3e8b4bd9a6076bc12cfe33d3f01423fbb29b1bdc5cbcebb59ce8c3d671f1b3fc56093bd872955ba9001c53cf05df03e02ab90bd33493c3be5b103bca956a03e38f671bd4a25653ced894bbddd79323e1bf87fbd6e8a353cd08681bdf08f443da5cc45bd9f68573ca8c725bd194df3bbaccda8bc24020b3c4223d5bc65f998bd8425b1bc2d10253c604dddbc5d78bcbd98a459bcdc072c3c2194debc000ebcbdf6bd15bc604a1a3c2256b1bcac15abbd5855abbba83fe13b9ade5cbc40f29dbd65a2d5bac877673bf04897babaaa78bdba7e103baef250bb1c30353cc47f18bd07bbd33bc46356ba76af3d3cec5e8ebcdc5b213c8a9263bcd1ba8b3d0bc0963f2904cebd3bdef1ba02f51b3d5056903fd875c5bd7d7c1eba22c5cc3cb9b27e3f86b399bd5d765e3b08e41b3ca88b543f5dde6ebd34cfa83be403ffbbaf3f283f03ca3ebd7c99043c7bd2c5bc7041f83e4bf92ebdb6cc063ce4351abdb7c19d3edf2227bdda293c3cfa643dbd17fa083e82bf2cbdbe5b3a3caaef5abd857c993b2ef809bd000000000000000000000000000000005176643b4aa63abce7afb7bd85888abbde8c163bc432a5bb1a72d3bdccbb89bbe4e8993b58602dbc36ebc4bdc24321bb0c816d3b4fa1dbbba8f7b6bdd729cabae472dd3a8483d7b9319ba0bd016588bae7bb38bbecb1013c444379bd56760abb9a709abbf5665f3c2d5f26bd46ae87380000000000000000000000000000000000000000000000000000803f00000000e82a403cbcdc90bd9e66963f197137bdaa9a5e3ca31679bd494b7f3f5521b3bc51af463c7ceb65bdffea523f8f720ebcebc14c3c273361bd9aef253f1f8428bb43a42c3caf554dbd8c84ef3e246eedb9506e2b3caf2a3bbd25d6923e024d84bbd2c7123c42c02bbdfa09e43d88f012bc0000000000000000000000000000000000000000000000000000000000000000c473653d8dd359be9e24aa3bd63aca3b12e3353d5e6f4dbe91ab5dbb5c4d3f3bb8830b3d1bd146be694966bcc416e43a8658d33c76821fbe8fea82bca66ab8b88c907b3c7206d6bd546b56bc05ca80bbe4f1ea3a164e57bd54c743bce2cc6bbb2fe763bba249ccbb36903dbb504375bb00000000000000000000000000000000000000000000803f0000000000000000743fffbd3d90ad3ffdc2f1bdb9f8073c51989abdce05903fc74e75bdce4955bbb47a73bd988f763f54bd31bd4c8cebbbe51717bdd331393fb569b5bcf1fae6bb255480bb86c4eb3e1d09d9ba5012e2bb88628b3c0ff26c3eae4dea3b39eb66bb961b193d9a7117ba656e283c1e1b703a00000000000000000000000000000000c829713d693b1bbeca55083dba1029bc8d03703db08032be387ca93cd19158bcdefe5d3df10754bee42585baf9e8c3bb17bd333d938f3ebe3bc46abcc75a73bb41d9fa3cb1510dbe775bb9bc53869abb6d24903c1d28b9bd7636cfbc72976fbb6088333b798c09bd1739bcbcf54488b906089cbb84b804b7a9f7a4bc8e53ba3962ce71bbf77c083d906f3dbb9b802f38c8834cbe2de4ac3f254703bc73a61bbb6f5719be8213963f6e8e4b3d70e9a3bcd21c08be001d8c3fe35d593d8a66eabc888cbdbda9e3623f2a27993d951e03bdae1c58bdc01c243f1014b53d04d706bd773253bc8f00cb3e708cc03da1be13bd8075973c7d0a2c3eca2ea93dceedeabc8b5d143d37541d3cef39833d5fb0cdbc9295493d7a9c28bea69dfc3c790343bc6fac283d96c4dabd812e543d3084d8bccca0623dc97826befc52433ca12999bcc27d523d1d7531becaa689bc555139bc4b3e1a3dc2f212be016310bd070f2abcff9bc73cfb36d1bd64e22ebdd852d7bb9c7e4a3c0fa34abde28f40bd704057bb37b2943b8a3818bcd5d328bd6426143bd782a5bad5be733c3eb6c6bc86bfb23be86e07bb66d8ef3cf8dc50bc2709d53bece33bbec0d18d3fa4ba4c3e6a3b22bd199e3ebe8b398b3f2ee8613eadd562bd27a216be0d05733faebc733e298e86bd3320ccbd711e3f3face4793e62f88ebd9dc55ebdce88043f921d713e04478bbd5d1d6cbc92cc953e43f35c3e489088bd4540553c088bc73d75492f3e1e216abd4d3dea3ccb2c07bd658adc3d3d5f37bdd59de13c86e8edbdf916523d41f4febc3cc5043d08eebfbd2b204f3debf713bd0387323d4a88f8bd2bd805bc00d7c2bc965c1a3de46ff0bd11283dbd6c0d7abc0557d53ced37c0bd9b4085bdc0073abcee75803c0b4953bdb17f9dbd9b81d2bb3cc9a63b943776bca9c599bd6114173a844da339c5081c3c71456fbd6bf7053c4be1af3a4525c83c715b0cbd10db3f3cb6368bba5aef103d8ad08cbcf2d96b3c554e35be9bee6f3f2befd63e7403a3bda9a12cbe40de5e3fd7dce93e85fed4bd8ba603be6dfc3c3f18afee3eb314ebbd382cacbd9dcd0e3f2a02e63ee4b7e6bdd6f728bd30e1b73e3da1d33ef39ae5bd20f721bceaae423e8c19af3e5726d5bd6483b33b751d6e3d143f7b3e66b7adbd4a21763c90b01dbd5e0f093e7b4b7fbd6aa8893cfbc2dabd2ded4f3d2d1d2cbdef2dac3cb94281bd5d20173d15d821bd345fe63ca69595bd9c6919bd3db3bcbca10fcd3cc33d8cbd5d44a2bd0e0283bc94d23c3c920b20bda07dd4bd47b857bc7f0f6c3b7a7967bcbf8ecdbd1bb3bdbb55750f3bf04b0f3cbc6ec7bd3027a33b212640bb1044a83c0efd83bd8c63363c6d5344bb77c6e83c736420bdee08833c2c9c93ba0cb3093d1edf94bc10fd923c866511be2ba1313fb85f2b3fdec401bef57e07be5eea203fdf2e343f347c17bedb94c3bdceb8023fcd02323f21911fbe33de56bd87c1b83e2970273fa9471cbe4a5accbc2501623ee8960d3fac9509beb44cd8bbbe0ade3dd276e03eacd504be730d4d3ba740fc3c7e698d3e0c5ec1bdf45ef63b3540febc2de70c3ef19786bd9d03b63bee5ba2bd38ed153d7f2c41bd9280fe3bc0d8d1bcaa71b03ba17708bd9c0b803c60dad4bcf62c9bbd2a7c83bc1552353c38c588bcf445fcbd246d4abcf3fd223b77c5ad3ab11f0cbe1e4708bc086f37baed17423c22a10cbee13ebc392bbaa2b93a9a9a3cd2c2dabd1d961f3c3b2b81bbf2b3b83c0ac193bd4624543cc1ab05bb08c2c03cd0cc17bd4051853c8791ffba1ef7ca3c3a4369bcfa39923cae20c3bde608e03ef41b6a3fced126be44acb3bd7815c53e30726f3fcf873dbe64bb61bd76e3923e448b673f198f3bbe5479e8bc612a453e595b4f3f4ef62ebe4e6849bc7352eb3dfc712c3f4fc41fbe7ef20ebcebd2823d76d9f53eceae02be574bffba10b5b83c0a41933e6baabcbd968b3abb958a27bc9ae7f93dbadb6dbd42df11bb83e420bd48a25f3bc52234bd6c0f81b92b5ae63b9bd9eabc53d77dbc74dc7e3b91957e3c7c2f00bee6c787bb209e64395cf2c73caa7d28be4f0314bb2178f9ba9aadc83cfaf831be63098e3b22bc5bbb9c28cf3c95051ebecd1de13bc79832bb1938b33c37b9f0bd6698363cc68391bb15f6933c66aa8fbdd988513c468f3cbbadd0683c6c18f2bc142a493c9ab1b3ba6e9f673c996808bc58158c3c66115abd79715b3edb5c8c3f2b2533bee15731bd8ede233e5e41913f8dc74abea647b8bcf3d4d23d6066883f9cc841be248b5dbcbc608c3dbdf16b3fe4ae32be6c3187bb2cd7213dcfc6393fbf6614be09482ebb5304ec3c426a003f7382ebbdbf3b89bb27569a3cdcf38b3ede7f95bd0cfae3bbc0f4263c3498b13de93d24bddb9939bcf52e3bbb768fecbc585dc9bc7ba897bb35200c3d3b3ae0bd72494f3c08ba2abc25d2283d348215be4fa55e3c01982bbb8fab1b3da9f149be6c90263c90c8b2bb1cb10f3d31b943bef1a71c3c8aa9dcbbae7cd93c611824be21e2c33bac73cabbf050913c82c9e9bd3e05203b2ae28ebb182cd13bb46077bd5aca553bbb8126bb1a31223aa7319cbcd9d582baa92767bbf3894e3bcb05383c1accdf3ba8920bbcf6e90fbb5d67ac3ff6784cbe29fc18bca23a8d3c9437983f690f21be8a1f1ebab0488abcd738923fde6d25be9df6a23b756a7fbcdd07743fbed508be2612093c25bc38bc17133b3f2afed8bda998bb3bca713f3b0db5f73e4dbb92bd2a9e9f393f34ac3ca1f3773e8aa419bd77a1d9bb8805cb3c82c3823d21e8a9bb48fa28bc5bf1e23c891bedbd0eea113c000000000000000000000000000000000fe107bc35f75b3d35065dbe1fc7d33c155cebbb6199273ddfcc4abe8864203c88e5bfbb0054003d8f0744beb52189b91805c4bb2e7fb93c41c31abe7e80adbb4573babbe7622a3cc0e6c1bdb8eb24bcd54be7bb2db5283b3b5643bd42d244bc89d192bb8e79dcbbdb7f1cba744222bc0000000000000000000000000000000000000000000000000000803f00000000928ab53c27c30bbe4ee2ac3fe00c00bea3a9a13c65a2b8bd06068e3f774893bdf3c2af3cf39b9cbddc566f3f2ac46bbd7c589a3ccc1158bd3692303fa794fbbcda03613ceb689fbcb43cdc3ecc31ecbbe4ac053c0ef0e13be375553e5a6c223cfb8e833a54a1043d0a5885bcbe27db3c0000000000000000000000000000000000000000000000000000000000000000b66b633d036453be3766363a4e27003c899c333d286d4ebebbfd173c8232663703eb183d60ad49be3a78353ce31a01bb8ce7e73c99ae26beb0cc773cde98d4bb54e86b3c270ae0bd3d724f3c394c0bbc014f4f3a90605abd10f0323ca1b4dabb90c627bc86c83cba7314253c0efa0abc00000000000000000000000000000000000000000000803f0000000000000000d14005bed2f7ac3f4e1ce1bdd109133c1809aabd84848f3fe89599bdd421233caaab8bbd3f95723fc21f8bbd394b863c399732bd3223353f029b56bdbe79ac3c6b4266bcdbffe73ef69420bd4145ae3c3a51343c6bee5d3ebaa8b5bc45b9a63c8d0e173d185c81bcddd941bc60b99f3c000000000000000000000000000000003a0d803db23b38bec239583dfb597fbc9b156b3d08fe47be6462543dc637bdbcdf62543da5eb59befb2a0e3d72819fbc1940183d395b3ebe3789d53c5aa795bcaba6a43cf4190cbee12f643cda288cbc98359e3b03d09bbd856b193b634f46bc8a4afebb40efb6bcdd5ddebb7217d8bb050190bc47f3823c6f5e25bcddcfc8ba4704b2bca22a613d1c661ebc0cf1883aa11838be7b31ac3fe2cda0bc33eefeba2d0307be0d58923fc0e8063ddd53bebb7300debdff61833f3fe1303dadfe35bbba3b82bdeb114d3f3859843d944bb7bbb621c9bcb8b00e3f10c3a53da37a93bb765a043c4895a03eef87c03de6dbd1bb76ab063d34eac33d426cc33dfb234abc1fcc4c3d25755ebdeb7cba3d6d1398bcc3758c3dd93b66be594e873d8e6b49bc41f3473d97412abe4fc2ea3d3b1f49bdd0055c3dfb5b48bea0fb993d531839bda1d8273d3d873cbe062d343d12981dbd4afacd3c05d90ebecbff983ce29b02bd6977253c0c70aebd110ebbbaee7ed3bc755f19bba503eebc0d55c1bc0c2284bc80fe17bcd3d82b3c92390ebd792422bb502c93bcfbe5383d49042cbdc461dd3bbecb99bc3e4e7d3dffdf1fbda229953c0eba12befc688a3fe3731e3e4d5863bca7a507bef1e97f3f31ba473ed0cbbebc4b4bb2bd1878523fcda36d3e19ffe5bc4c382fbddd6d183f8683813ed8f50bbd920a99bb185aba3ea870853e305e14bddfc0a03cfab01d3ecc4b853e9ca62bbd7abc1d3d3c6f5cbc99fb6e3e2b0d37bdf8215a3dca4c08be9383463e102350bd600c603d58f056be8611163e0b325cbde635113dc8f620be6e44153e23e595bd15cb1e3d886a1fbe16eb9e3d0bfa78bd2282c63c0cd100bea551e53c87b255bdbd0b0a3c235f9ebd2037ecbb5cce19bd34d0b0baecf8d1bccafd2cbdf2bad7bc96e4febb8d69303c120d86bd0cd00ebca35466bc20c62c3d4e1a9fbdbc4f293cb51293bcb790753d880f93bd0294d03c285081bcdb7d863d612583bda9da153d1a6eeabd5eb65d3f549cb73e15e907bd1870c6bd57bc3e3ff2d4db3e482a5fbd31eb60bd177e113f6859f03edd2480bd7af36bbc5c66ba3e0ed7f43e515692bd1a961f3c9b68323e2708f53e68b7a0bdf1cdb43c307a0b3d22f9dd3e2e42a7bdee56113dba04a4bdd261bc3e261cb9bdfde7333db31720be15ad8d3e79a6b5bd950e133db67c44be295a3d3efb05adbde0bcd73c91bd00be383a0f3e1396b1bd454a9d3c5ac2d2bd1a84543da07983bdd8891a3cdbac8bbd097f11bcef394bbdd8fe6cb98b3d94bc9e1f70bd3f540fbd8c16bbbbce498c3ba00da7bd4a7290bcd74936bc9485313df749eabdfc2def3b10e533bc3b9b573d10f5d5bd1528dd3cd1ad66bc6d266f3db4cfb2bd57fc1d3d6cc645bc18f4733d211c89bdf973443d716c9bbd637f1a3f8aa11c3fe42e86bdda4564bd52a5f73e9f9e2d3fcf36b8bdbf0ebfbc4712aa3e2d19353fe7c2ccbd95960639cbcf293ebeff343ffddee0bde6e5723c3452533d13c0253fcda3e9bd1f71a43ce1bf40bd766d133fd09200beeb1ac83c033fd3bd8d71e13ef20b00be8567dc3cfaa40abe8a81993e36e1dcbd05b7ab3cda5f1abeed16313ec339cabdd793113cb06c96bd602cc63dde039fbd550b903b0f381cbd04bb1fbcb29a4cbdc1ce30bb8a74aebbec6692bd10d70ebdb029f0bb676ea33c4af5e8bdc2909dbcf39e23bc227a3a3da69e13beb65acb3a64cc1fbc5c164f3d45bf10beeac0ca3c48a639bcbc215b3d3fdff7bd8e641c3dd35f1dbc4f24443d66deb1bd3020373d35fcdbbb0b11263d807a68bdbaa0473d1cb626bdad52b33ed7d45e3f676cd1bd780ee8bc1eca803e026a6d3f625103be4ba318bcb72d0b3eadfc6d3ff0810bbe73a9473b4754333d00ec5f3f08290ebe471d213cde9e05bde2504a3fc86219beafe13d3c080585bd38e0213f520816be6da0613c7f09b4bdd7f1e53ef5b404be281f3f3c730ebabd35a1873ee235d7bd27a7cf3bba86b4bd3ba2f43d1f02bbbd8e70e8b9a82d93bca551e03c7d103cbdbcea89bb35e4763c7b7aa4bde6cdb2bc83e5c7bbfa55023d4f040ebe310747bca7dfdebb2fe23d3d805a2ebec9a8983b146d04bc7f0f513dc45a31be491fc13c1bc4ebbba64c453d6ba21ebe00d50d3d8e7ae0bb52ab223dd8d9e0bd098d223dbf59a8bb87e7ed3c4d5f89bdf82a243d59fa24bb0326873c70ef05bd0bb42c3dde288ebcd22b113e2ff78a3faecb07be6f6c54bc55e5943d5538913fc2f021be5083c8bb29cb5e3c7ef08b3f78ce1dbef9dd0dbb5d41e4bccf827d3f816c1fbeefe9a33a3c644ebd8651543f38ec1fbe1a58b439fbe850bdb14b1f3f18500cbe4732ae3a599e50bd16b0c93ea04ae0bd895f32bb4569fbbc4b543b3e2b8697bda44591bb9dfaa6bcb88c063d404572bd80d1e3bb29b8f13c063fb2bdb6b985bbe83a09bcf157293d56b505bef274243cf62b08bc6819553d7c6c41bef7a3613c8effbfbb4b28583d789d4abea1c2b33c6cefcabb98433b3db87034be619ece3cd0489abb568d0c3d677e0bbe19ebe43cc206eaba0a94903c7102a9bd7675bb3cf982b3baffd2cd3b1d0215bd1619973c5cbdc939025ddc390914cb3bd3b4a23c8128d0b9226d0abdfddeac3f70332ebe0cc5b5bbb1bdaabc3315993f96a90cbeed2807ba94eb5ebdeb1f943fdedb0ebe464455bbd1cd73bde0067f3f4bb408be49bce7ba372a50bd3249493f958ce7bdc93382bb93f5efbc71a00a3f0463b0bd1dd8a5bb1cda19bc09a3983ec6565bbda20904bc7240703c8ac6bf3de5df8cbc20fb28bc442ce83c30b7cebd357cf7bb00000000000000000000000000000000f3934cbce0758b3d5a005bbedd41f03c76bc00bc7147743dcd2b52bea19ad73c4bfedabba3ba4f3d90504abeaabfad3cfc7facbba4751e3d6e7624bee81c793cb10e4dbb92b8b63cf6f3dcbd6937163cbad206bb0812e73bc63050bd80d29c3a102b96bacd9ec0bbe35b8a3ab0274bbb0000000000000000000000000000000000000000000000000000803f00000000de64fb3bbf3008bee18dac3fe08de8bdc44ed9ba0019bbbd7a968e3f5a4f94bdf93d2abbca6e95bdf86f6f3f119e70bdceed3ebb263d54bd01bf313f9f7e11bd00feb2bb62218fbc36dadf3ebf2052bc97a3e4bb15433b3c97bf523e41b1043c0aee03bc369c1b3de06eeabcfdabef3c0000000000000000000000000000000000000000000000000000000000000000e6b1373de3844bbee162b43cde839dba3d97133d8f774bbee7fa2d3d346a5dbc9dd1df3c836c41bedfa0713debb2d5bc06d9a23ccec221bec7fa823daccb03bd931a213c5e4eedbd45b7793ddd0d04bd9451bdba74bc68bd0abc383dc0a4c8bcea7900bcccaae5bb1a00ea3c4a199bbc00000000000000000000000000000000000000000000803f000000000000000012adcebd23f8a93f1fc307beb8f9893cd00357bdc6f08b3ffc60e7bd5a12e33cb74a0abd084b643fe755e3bdf38a353dbe346ebcf8f6283fa7dfc9bdc5b84f3d11fcd23baa58d93e63cea7bdc782543d2956ac3c2a6e453e32e780bd4f43443d41d4023da8ade0bc7aa908bdf33e173d000000000000000000000000000000003b5f633db22045bebe3fa63dda63edbcc1a64a3d0ebe69be33ca9f3dcc10eabcf3e50c3dc32162be0bb1ab3d2a8326bd4827b93ce07843be3d019f3d33e735bd5147003c71850ebee391843d1c132bbd96c965bb72899bbde76e2d3d9b4d03bd02f43abc97bd9abc5a639e3c61c7a9bcf34894bcae72223d84981abbb24fa8bb08279dbcba36843d5f5fc9bce4261f3b34affcbd9d12a93fd0c249bdcc5a783ccf7d8abd4128953ffc3c98bc0dc30d3c0c81fbbc0642783f0d7059bb5021d13cf4aae73a9f303d3fcf648a3c8d17023dfaa8e83cd65bfb3eb99c243d69a9023da2f0263d01467f3ec9b0703d21ead43c48573f3d41cd133dc152a53d1b74453c81a53e3d55010abeb38cb73d9b5415bafa85503da4ab7ebe99f0ce3dd240a9bc08c7303d51353ebeca80203eb7ec94bd4a7b0d3daa3158bee6000d3ed5a296bd4602ab3ce8f939be1748d73dbf4791bd4297c93ba0e80bbeb3c9943dc51c82bd4da228bb816eadbdf57f293d6f3c54bd00a13dbc3ef3c7bcb28dba3aea200fbd702d62bc12d3943c30e9f4bc35a67cbc199d9abc19be833dc4cc6ebdde019d3b6741a9bc252fa13dc6b995bdd918e53c6dce83bd9a2c843fe5b6ec3ddf60ca3c0efdccbc87d96a3f4e810b3e63acb63c27b2b33b0e49363f59f1413e32339c3ce4c30f3db7b5fa3ec0e5653e717b563c2e27443dba958c3ea6df823eb3e5cbba427e4d3d8f64993d24a68d3eb3c78bbc9bfc3c3d2b4489bd370d8b3efce21cbd39f22f3d77de48be9f89863e3d296bbd124c343d72b67cbe6d925b3efb63a5bdbc3ce53cd7ca2abe3d04473e65f5d9bd8a9b8b3c14652bbe15ae193e1176cabd33259f3bf50800be713eb53dc3feaebdcc2cb5bbdce79bbdafc2273db7498dbd1e9d3ebc1b4fdfbcd5b377bc74cf3cbd9a045fbc565c913c0bac66bda42ebdbc1da382bca0ed553d74abb5bd23949d3b8f7b86bc7cf39c3d21cddabd0bdaee3c610f7fbc29139b3db619cbbd26c5313de3cfe7bcbc47463f3f95a63e2ba69c3c70f8623c0933223f2ebabb3ecff7543c2108103dc2dce43e9000dc3ed2ab8abb2c02423da82b833e0e8dee3e6ebba9bc8a684d3de740b23dc760fc3ecbec32bd160f213d266d1dbde3d9f33ec9668abd8aad133d9b1c0ebed2a0e23e19a6c5bd11f7de3c3bf24fbe627bc43e88e1fcbd1243d93cbd6562be567c8f3e83110abe31a85f3c4e2707be83a3413e48beedbdd5fe36baa27adabdfeccf13d29f1d4bddc809bbb47718bbd15ac373d9c8d9ebd82b750bc5c42a3bc000dcdbcfab367bd3a6c13bc0ae293bbb3c763bd300bb8bc53f071bcd37a403def48edbda69db53af4a54cbc96ca713d36d400be9a72ed3c5cec37bccd03933dd87c03be265a443d8acb2bbc4b4f8d3d0388dbbddfb96d3d6e6d033c2b53023ffaa8123f140fe7bb0cef283dc4e6b93e9020213f46e081bc6c562f3dbcea653ef1f22c3fdb3c2ebd17e93f3d7417973d7143353f77fc89bdb255143d40913e3c5527253ff587d0bddf29f43c2014dfbdc7a3233f867600be5eb79b3c1e5e13be322d083f84a41bbec8bf0c3cb78f2fbe4f49db3e8e9c2ebe80ae173c7dd734be433e8f3ec2d823bebae3433a58eeaabdd008103eebd6d5bd758102bc6d1a3dbde5a8473d2925b3bde22d30bce74828bcc16d0cbd285774bda10f30bc3efab23c3bdebabd8ea6f0bc7f074ebc0f743d3daa120ebe002b473955342bbca7ea6b3d53791abe95d3d23c790a0fbc6a637f3de08e17bebcce483df978ccbb876d733d0e8801be0764753d635dc9bbd937573d37b6bcbd9f02763d5bceea3cfdf28a3efc6e553f4b742ebdd0d6233d17f7163efd24653f13d669bdc0ed0e3d692f4e3d706f6b3fe137b0bd70a2b73cc96acebc32d0623f5a71debdc9dd993cb146b6bde14f543fc46f10bee6c4f73bc504e5bdd610353f3c9b28be4fcab23ab79cfcbda3f00e3fd27d3abe3510f7bbec16edbd4f0ec93e1dce3cbe6da3c0bb181fe6bdbec6603e78871fbe7290d5bbf609f6bcf71e693dc9c49ebd643000bcdb1bf43b52ed34bd0d6c62bd245210bcb0dcd73c5195debd0a14d5bc1f0510bccb9c3d3d22b124be4ebb2abb1c9ef7bbc331533da19531beb7b3eb3caddfc6bb059c583dabd72ebea2173f3d41869dbb12043d3d960311be4761683d3eb6dcbab5f1103df10fcdbd3784713d83ce50b7de55da3cb58b6bbd5a7d523d9447d93c9bcdaf3dfbd4893fa0139cbd2702933c1f205a3b45e5903f245bc8bd3696503cd4970dbd105a8b3faa2ef9bd05ab893b00668ebd7061823fe87212bee64c91bab3b5a4bd1a605f3fb2d52dbe9a5f03bc9110a3bd0dfd333f3ffb37bef43524bc14bb89bd9510fd3ed89731be045677bcd2b12dbd3a05933ef2ea24be30e67dbc46c519bdc3abdf3ddaf701be796b0dbc6ec0803c181e5fbd2a2204bdd3b199bbdcd1333d5ee30bbe840997bc83798bbbe18d4f3dc6f040be8d079b3b857292bb30585e3d92bf53be3138e73cc1a12fbbcbab433d876a45be9505223d65c67db9e7bc193d15d721bed3ab463d838467ba2cf5c53c0984e1bd51ca453d71436f3ad5bc3a3b1fc242bdbe142a3df6f25d3a2059ad3a200423bc03d1dd3cd77d633ce6945bbd23b1aa3f532cf6bd49dc15bc0c7854bd55cea23fe1a7e1bd845e49bcb8407ebd36fa983f2aca02becca78ebceb7972bdc5b3853fe3b114be33279cbc8f3b43bd6e5c573fbf6219be31eaa8bcf0ffe9bcafd21b3fdf5b11becade86bc4ef6e0bb2449bb3e9579fabde2d71cbc8bd7bf3c559cf93de4c2bcbd689d39bc1b67b43ce00247bd41ae76bd00000000000000000000000000000000ebd7e9bb45b6683d4aee4bbe03f4b73cd00877bb898f643df60156be0f29ec3cabb74bbba492443de6b350be32f3113d90c573ba59881e3d805934be11e9133d6f9cca38121ed53c587805bee4c3fa3c42a7333bb810003c6c7e95bd4a66bb3c61fb9a3a5ce6aabb33b292bc8351213c0000000000000000000000000000000000000000000000000000803f00000000e3a80cbc1756e7bda38dac3f8324d2bd8a9ba9bc472e93bd9e6c923f71feacbd6e61abbc349e5ebda957753f45ecaabd2dc4bcbcfa3ffdbc22133c3f5b748fbdcda4bbbc86c8b8bbbcfafb3e230b5abd219c93bcf5a9b53ceca67e3ea9bf10bd5a7637bc2c5c263d708c383c6f0adfbb0000000000000000000000000000000000000000000000000000000000000000bb75bcbcacb72abd6289edbbc961ed39767c9abc6ba730bded04cebbf7f30b3bd2cc80bc4ac81ebde748d2bbbd3d053b590962bc8a510bbd0faffabb95fb983a67a51bbc87adf4bc9bdd1dbcdb00eeb9f249bebb84dcc6bcb2943abc96c30abbb48ff2baa1e882bc6d6f56bc46ac9abb00000000000000000000000000000000000000000000803f0000000000000000fbd54dbd70a08b3fa6f961bcd0e4efbb85ed0fbdfc8e683f969715bb1c2399bb04e2dfbce24f3c3f2ed20a3b404e93bb843ebfbcd674113f60a63c3bfee86bbb859bbfbcb8efd03e97c18f3abdff6dbbe2f5c5bc781d813ef9612cbb239862bb8336e8bc38bccc3d70e20cbc314a29bb0000000000000000000000000000000072fcf0bcc2808ebcbc5408bba9118abbab0aedbc7f3f40bd101ff7bbe5b9263a452bcebc26e952bd567903bc021f453b6464aabc02ff44bd88c814bcfebf513bde9b8abc43c125bd2a7b24bce7220c3b365c39bc7f6615bd218d54bc99fbfd39e661d0bbcee6e8bc3d386cbc399ba4ba71fd4f3aa01f85bc5bee5bbc92351abb95b37c39ce0a89bb48c914bcd03a84bb9db3a1bde3508c3f1ef5ec3d5ff3c5bc221eb5bd595e843fcaffe03d9b60c8bcaa708abd938f5e3fd93cd63da71b9cbcce1061bde8a1333f409cbb3daccf7dbc74d835bdfd7c083ff734983db0fc47bc725a2fbd797ac33e18605f3d97c239bc22d628bd0b186d3e3c03063db07a1dbc64e01fbdee45b53d09d62a3ce36ff4bb6250ffbcab98dbbc6177ecbb298bf0bbd8e3e9bcc7a019bc3aedb63b474c65bb2ea8f7bcbd2d02bd01e5fab913886e3a6938b2bc818915bd27af99bbc3178d3b1771a5bc1b4727bd565005bcbd88a13b15706cbcd31a05bdd4de0ebc5c40703be99b30bcdcbb01bdba3b4abc9a080b3b2a44c4bb270fb8bcd0033fbc2f5005b9409d94ba9d5661bc5e3c34bc537651ba79becdb9366954bb5dbba3bbc63a93ba7e249fbdbeca6b3f9a198a3e3b2417bd8062c1bde75a613f41ca823ef6932ebdb4548cbd53fd383fd1b2683ebcdbfdbce5d786bdce901c3f9c14453ec911dabcdc5f4ebd7c1ceb3ef14e1a3eb8e79dbcd92a4fbd9d34ab3e01f2e83d76f795bca8fb2bbd27cb523e60c9933d4e2c6bbc7cb22dbd83feaa3df254083d31454abc46d1f6bc23ed7bbcca3bdcb90ee70ebc1749d9bc0f5301bc90264b3ce96ca0ba4a71e4bc1a83dabc175b9e3b17a3583bcafcb3bcc66813bd36a861bbf663e83b249a8cbcb2d916bd3d99f1bb7924053cdeed59bcde0005bd511b16bcc8e9d43b2bc218bc39f5eebceb9933bce86ca73bf0f7b4bbbb98b6bc34b53dbcff74323bc20135bb2d8348bcfab714bc8860ab3ae9899db916e69fbb68192fbbd590ea3918578dbd6634403f7ef9da3eaedd3ebdf722b1bd5947373fb587d03e4c7665bd8d6898bd297b1d3f9609b73e248235bd962382bdaa81003f81f1983ead490dbd1dbb5cbd87cac53e5293713e095ddfbc387949bd4f8c8d3e3151333ef9ceb2bcfed536bda7cf2e3e6476e73decc391bcb4b91dbd3aa38f3d79935f3da86261bc7d2be2bcee663dbcd594353bcdac13bcecf7b9bc4d673abcbccc843c5cf2f73a9903b6bce935debcd2660b3ce24be13b53bc81bc098103bd8f7426bb16b6253c70f05abc8a9d10bd7fcf06bc858c393c4b080bbc69acc0bc466edabbfe75b93bd8120abc617ce6bc9d3f36bc53fbec3b9ef97bbb1bb7abbc52ce1cbc7e328a3b51bfe8baec5c52bc4a99d7bb8461383b8be70fbb920ea3bbd5a2b73705af553bc35375bd1765153fa0d3163fd4ba64bdbcce95bdee7d0d3fc7a50f3fa64789bd050773bd8733f03e64fef53eaa9045bdde3a65bdfa31c83e0fb2cf3e12b923bd7f0218bdb089943ecc0b9b3eba13bbbcf96c2ebdb84c5e3e3f1b703ef412c2bcc7780fbd1e59063ef398183e764389bcca8504bd0816533d8a50953dc8dd5bbce9dfc5bc711836bc30cfa03bd3afdfbb14b781bcd8f286bc8535903c15cd8c3bd5ab70bcb20e04bd2209613bc3af263c0e8141bcc03c1abd3ebc05bc3a1f6d3c1e2a05bcdb2f13bd583150bcaf67533c4d9db8bb988a01bd3f7067bc60ba3b3ce0ed7dbb4b06dbbc083570bc2413093c032fe5bac776adbc3e674bbccdaab73b386cb1b9d5f657bc1bb2cfbbb3a1813be94987b991f1e8bb6ab19eb93a50393b6f0f46bdd32fd93e6ad1403f5bf586bdd1c37cbdf835cc3e4ea3393ff8f9a0bd559b5abd87b9b03e5072203fadba75bd66433dbd1924913e7406043f7f9f39bd91171fbdb35b5f3e4bd7cc3e9a7e03bd8f9211bd57b11e3e02b9953e2955c7bc384ff9bc2016bb3d625f3f3e46cc90bc65bdd0bcdfe5023dc779b33df1be4cbc0c6588bc400567bcb19a463b9ff6e5bbcd5d0fbc3518c3bc66df383c028ada3bf388bebb598020bdebf8d9bb2466593c9af32bbb5a690ebd5e6a73bc23b43d3c90a93bbbcdac1abd334cb0bc0f627e3cc4130cbb03b3e8bc76b798bc256f363cbf4b8cba4561d8bc73e5a3bca41a0b3c6768f03905c998bc725d75bc6a48a83bbb58e33a26564ebca9000dbcabce403be3dc0b3a6ba2b2bb2e6d313a20253a3b79c01cbd85f2883e06cd6c3f23f099bd44dd3dbd856f7d3ea131633fc539afbd798d11bd8c245e3eeee33a3f502a56bd3ef70dbd9afa343e8a621f3f13ab36bd6938d7bc5162093ef164f03ef977e2bc0402cebc7ba4bd3d304db13e543ab5bca5c9a0bcc046573d850b5f3ec0526cbc42b085bc680f123c12d1c63d419228bcd76828bc05f59ebcfcec8abb94bda5bb38e2e8b991eb09bdbbc7dbb9eea2293cc890a73b5e8036bde3a1fbbc47c4573c13ff813b69932bbda70116bd9cff843c8d21553b1d2b15bd97b013bd31df673c0a68133b8dbeedbc166800bd579a2a3c0616173b6456c4bc1e98f5bc4203cd3bb6303b3b3d5a8fbc8efec6bcc1a30a3b94ea6a3b473f1ebc72ca6dbce22866b915d2b03ae01694bbc71fd2ba24ad053a121fcabc5a99e63dcce38c3f1f4299bdea49d3bc5454d03d19e4843fe88ea0bdf8dfb7bc8a30bd3d063d603ffbc84ebde48e9cbce5369c3d2b6b353fb19b05bdceec7fbc0686683ddc490a3fdcb89dbc590e52bc9fc90b3df039c73e86e156bc23c912bc971c253c7d8e743e1fc80fbc228a8fbbb4fa52bc8f4ac63d2842e7bbac2631bba86dd7bce8c599bc11d071bb00000000000000000000000000000000bf7c033ce7e316bd6d130ebd18125e3c59b6e43b8451f7bc3ff61abd792a3f3cfc089c3b1b64ccbc313c0dbdecba1d3c00585e3b3edda4bc84e7ffbc2a1bcf3bafa6543bab8f80bc3dddebbcdb5a0b3b70bc473bdfec36bc37ddc8bc1e1bd4ba882d113b5a97efbb0e6f8bbcc0b56dbb0000000000000000000000000000000000000000000000000000803f00000000262406bcc387abbca41d8c3f918725bdf439d1bb593b42bc652a693f444bb0bcf72dc1bbda6515bce3fb3c3f9f6231bc21189dbb568422bcfd15123f3a5888bbd5343ebbaf5e60bca6d4d13e8f3493ba304e97b986e699bc8cd1813e39d3e0b9f50b793ba7e0d8bc8494d03d181ab9ba0000000000000000000000000000000000000000000000000000000000000000655d34bd42acf53a5ebdd63b648750bb42ee0ebd7c55bdbbf895b73b11a6a5ba3171f5bc70c115bc4b89983b011a91bac358cdbc64583ebc6a0c083b9606f0baeb6a99bc222d55bc63dae8b9bc8fe8ba9c1680bc62df53bcc9fb40bb8d8888bbc8f94abc223140bc41c0cebb50f4b6bb00000000000000000000000000000000000000000000803f0000000000000000fe57c7bcd5d47b3f8063953af2e547bc8e87a3bc40c2543fa980ba3b579115bcbba29fbc0c9a2f3f2f29023ca44202bcdedfa6bc23450a3f7ed3e93b0f9fe7bbb7f4b5bc2bbfcc3e722ac93bec2cf4bb6a96c8bcae2e853e7eedf13a3241c3bb155ff0bce29afa3d1c3418bafd6acdbb00000000000000000000000000000000d89c5abdf7574d3cc21f5b3c0741c0bb84a77cbd0eff683bf038733c8c8a18bb6b4052bd1eaed3bbc01f4a3c4bb2abba564736bd58f73cbc74a81a3c26b058ba0f4810bd1c7a5abc7bacc73b6a9c21ba992ffbbc098488bc27b7023b6326dfbae9d1bcbc90168fbc5b3421ba611fedba7f5d8cbc816b68bc341db9bbf04e96bbecdb5bbccadefabbefad1bbb5a5f5cbb1d411fbd5ca57c3f19de063e34c4b3bc84033dbd0314673fbab1fc3d0b23d0bcd32022bdb8ee433f0366e73d17d999bc834319bd836a213f763cc83ddf8482bc5a310dbdcd11fc3eb458a33d40d947bcf10c1cbd248fba3ebfe77b3de6563cbc8b8f22bdfcd86f3ee9b42e3d83f62abc42fc25bd285be03dade4a53c9495e3bbe52a09bda35d9ebbafd87d3b9408debb039a51bdf73c233ca70aaa3ca51da1bb209781bd48684a3be5e5bf3c92a03ebb5e203dbd2820b3bb3a68883c048ede39109d40bd8c7b3bbc26ea723c1319cc3ab28511bdd75e49bc86c3223c7622bc3adcaa06bd3b3c7ebc9fc3e03b6ea09b3a054bb7bc34636bbc3a18393b431a82b943f5a4bc8ebb50bceca4c639e24c61baed1c64bcfe2bffbb12730b3bde7bf23a633132bd16be573fe4cf8b3e079ee5bc6e6760bd958f463f827f823eb04805bd14cd2cbdd64f253fd797623e2b3ab8bcbe8f3fbdfb110c3f6177443e6a36a9bcf91123bde12ad93e4d5f1c3edce773bc22ae36bdb5f3a13ef058f53d9c1f66bc182f1cbd4db24f3e85f3a73d7c592cbc00702bbdf364c53d076d3a3d207021bc933a03bd186c4ebb2110283cae71d5bb90c746bd05a6c43bc95dde3c34c22cbb21826abdaf4aadba4e2bf83c9c77e9b8de8852bd714c10bcd33dc33c1f0e563b4b1830bdb0c35bbc842b963c0371963b008d19bd19c66cbc81605f3c3afe8d3b13adf5bcd28a8bbcad7f143ce17e843b73b3c1bc062089bc9b5fc43b75a87c3bcb1aa2bcefdc6ebc2f209a3b79a4423bc2b664bcaa6c0dbca377b83b02ad583b52c82dbd4fa2323f449ad43e2ef900bdef3564bde457243f44c2c53e818218bda35f50bd5bd60c3f0522ad3e7263eabc1e3e44bd497ae83e7e49923ec26db6bc1a5a31bdf13bb63ef44b6b3e62b88dbc879b34bd857e863ebd9d353e792f69bcc6a134bdae812c3eb448fa3d567327bcc1fc24bdd2aa9e3dbcb68f3d2aa30abc91b8efbc18616abb23a1773cc89e8dbb6cf72bbd524705b98b97013dd68595b99e3c46bd51a2eebbce0c0b3de22b4e3bd3861fbdac9442bc6436c63c7f1ead3bd21213bd33148fbc2846a73c4149f23b6673cbbc388955bcf487433cf9bdb93ba4f5d1bc352094bcd701353c4271f63b10c793bccff486bceda1e93b8dd4b63bc82880bcf6d47dbcebeae03b23a8c23b5b0341bc65cd25bcd5def23ba61ebb3b18e527bd17c90d3f18bc0e3f18a609bddddf52bd0693013f0240043f5dc21dbd8aa433bd76cbdb3e67cde23ed137e3bca5303ebd1d4bb73e8afac13e7921bdbc246105bd2d5e8c3e2c4b953e969a53bcf95d26bdaaab523ea4f36d3e95ae66bca5640abdb91e043e334a1f3e000e09bc06d60fbd3dc26a3da1f6b33d2496c0bbbff4d2bcea69debb42ea913cf91c28bb5a5909bd9932e3bb6a5f0b3ddcab343ba64c20bdf92380bc2ccb0c3d3b66d93b4b260bbd31eba7bc1549dd3c6b06243cf357e9bca16caabcfc30993c2dbc223cd9dec1bc2c7fa4bc48845a3c85a51d3cdc25a0bc70f2a4bc0a9d173c831e0f3c407275bcfcac9bbc2796d83b7ecf023c0d5824bc6c0e8fbc1ae0d33b3288fd3b520a03bce15b3fbc4747f63b7b7bb93be11717bdb149d23e7843333f70fa0dbda28a44bdd935c13ef40f273f449a25bd62c636bd0acca43e2351103f764df0bcfcc426bdd362873ed82bf13e657bb3bc207115bd1379523eeb0fc03e5f116ebc019014bd35aa173e1eb7913e1d7032bca27109bda992b93d700c463e8d56dfbbf4c8f1bcdb2e0e3dee5dd73d5a7780bbee64aebc5f1c3abc4129953c8e8d3fb9d01dc3bca37e63bc78d5143de31fb63b4211d2bc1ff1c7bc728f0f3d43cc1a3ca032a7bc86d7a2bc7553963c0e06263c1f2a9bbce610ccbc13da6e3c40df503c548e6abc5f59aabc0a480c3c78d2283c708b3abca46bb7bc8809a33bc6f4223cfad7dfbb30e390bc22ed2b3b7596ec3b3a1760bb062595bc711e6b3b6bde033c67a239bbbf594bbc9bffbb3ba3adeb3b7fab01bd9fd6883e08b7583f6c0b18bdae3c20bd6ff2783e549b483f19601fbd40af03bdef53543ef9f1273f10f4afbcd1e508bd2c852d3e42710f3fe9c28abc92b8dfbcc89a043eca5de03ecb5721bc987be5bce859b83deb28ab3e91e8e3bbd160b5bc70bc573de533613ee42e6bbb88feaebcbb9d383c57eff03d804e8bba263474bc9fa48cbc9d636f3c9aa55a3a1c5059bc310fbabc6e53fd3cd0ca1b3cfcc32bbccefff9bccebec63c72165c3c634f0ebcddd1f0bcf2bf2c3c64496e3ca64de1bb8fd3d8bc92ffb93bfbfb4c3cfed6b4bbd874b4bcba7351b90555293c3f1edabadd85b3bc100086bb37d70e3c76804d3a48179dbc7a60aebbf6a5ce3b76c7d63be55b88bcd63c9cbb5318c43bc1fd2b3b800e49bcbf1fc53a0866b53bf92fcbbce5ca023e398b7d3f2800f4bc499ce1bce262e63dfe1c683f5249eebc378ccbbc98b7c23d3104463feeaa6ebc0296b7bc0ff89b3daff1233f86f206bca6219cbc871a663d013b003f29e940bbfff186bc156a093d81fcbf3e4fa822ba3e016ebca370373c87d37c3e2159233af95248bc3a785fbc062afd3d550a133b80eb02bcebe9bfbc0c95e83b9531283b00000000000000000000000000000000de24c9ba8b7ed4bc6bf1253c05bb4f3ca9968c3a473cb4bcced053bacba43a3caecdca392690a2bc83748abbcaf4153c0780ed3a8af485bcedd9f4bb68a6023c928e393b354a75bc31601ebc2332a63b6d38ae3b778f53bcc7722cbc69ae393b5576e73bdf6448bc1bca13bc91def23a0000000000000000000000000000000000000000000000000000803f00000000133c57bc4253f1bb78347c3f4db625bcd16a31bc9e87e0bb0993553f539d0abb4bc629bceec3dabbb011303f719eae3a035d0ebc499b20bc6b560b3fa2ada03be86cf0bbe48d61bc7824ce3ec582903b95ae97bb153a95bcba80863eef17833b123526bb8cd3cabcab7c013efcfb6c3b0000000000000000000000000000000000000000000000000000000000000000546236bc8ce2233bbfdb623b80c537ba3f621ebc5fe0ae3a4e72563b54d7f1b92b6824bc73a01dbadbad7e3b16567239a2c300bc3870303a00f9f03a326041baa69118bcd9044e392381433b0a5e5ab93ff605bc0230c2b93741233b532e98b9c87104bcb880fdb9ac2c2f3ba2ddf4b900000000000000000000000000000000000000000000803f000000000000000015ff8cbba37a633fecc4103ba08d3bbbc88d82bb8ad4423fe0372d3bb1361ebbca5956bbbcfc213f23fdd23a23b4dcba5dd778bb6bed013fdf5c033b9cf30ebbf082ccbb11f6c23e00f64a3b4e8afcba0b0ec6bb3722823e71073c3b40caf0ba8497cfbbae5d033e323b423be9b911bb0000000000000000000000000000000073c849bc2cdc5b3bd10f9b3b97cd7ebab75084bcd600443b2453c93b15742abaacdf60bc4d53cf3af798b43b547a6db9d2d55cbce8b7243a854eb53b4c2d0eb88a4543bc6d5ffe35fb449b3b21382e38ea3d41bc255ce9b9091e9e3bb1324038c5a43abc64c336ba7225963b13ff8d38bd5541bcb3845fbadb5c9e3b7ac95038eb0008bc9cece4b952d96a3b58fafa37edc6bbbb188d633f6a53033edcab7dbbb513f9bbbb5b483fb2cdea3dfe4f8bbb246fddbb0b942b3fd915cb3dc2db67bb4167ecbb951e0f3ff020ac3d82ee57bb07ace3bbafa5e43ebfeb8a3d477035bb3d39fabb13e8ab3e4915573df46c3cbb4c1508bc53ec653e708d163db41e2fbb4ad519bced6ae93d4c06af3caa8234bb8f13dcbb28b5363beac2863b839306bb23595fbc19ea2c3b2f47d03b644d07bad5ed94bcf8011a3b3776083cfbbfe1b85f8574bc0bc79c3af9b2cf3b911a2d3ab4ba88bc7d579d3a0962c53b4e33893a514658bc265948b912f5d43b7827ea39bfc57ebcc172f53971c6cc3be736213ad1dd35bceefc74ba16eda73b6acf333a77de55bcea9c9eba737bd23bf46a703ab5db18bcc55257ba22f69a3be025413a943fefbbca39433f50f6823ecbcf89bbca8c22bc81292c3f81d7683e69dea5bb47e3ebbbe1ef123fb480473e530b3bbbccf52abc0097f63e44be293ecc5b5dbb9fa30cbc786ec43e915e073e0ffa49bb07d72dbc76bf933ec0f5d03d37f44ebbbdeb06bccd0d453e95718d3d343a17bb3f2e2abc99b5c93dad12213d5bd72fbb56ebf5bbc8f23f3b00f3bd3bf18cefba0e9e3cbc6bcad03a5e1fee3b77ac6e3941f690bc0ca8943a7bd7193c28eb0e3add577fbc6d6593398b93053cc1d5673aef7e7dbcf39e61b8a71a0b3c7c09b93aef0e7bbc470916b8a0e8d73b455f673acf3462bc516590bada5c023c44b2533acd4c5dbc5f5aa4bab47ce03b4393ca3a151454bc1aaa68bb4735cb3baecb203bf85b1dbc54cf03baebfab23b92a5b03a6305fcbbe59a223f90dec33ef86e76bb5bd92cbc9a6d0f3f18b2ad3ec748a1bba1351bbcebcff53ea260953e61577ebbdd4040bc9265cd3ed17c7b3e718863bbf92b0dbcd48aa43ead96493e7fe647bbd01d1fbc362e773ef628193ed63e3dbbf65320bc74ae243e31ead23d8b910cbb31d033bcfc9ca73dc33d643d752924ba426c05bc92513b3b2358db3ba976b8bae14543bc528cdf39306ef63b6adaf0391e2081bc263bafb87fee1b3c79c8933aefb559bc599351ba019d023c3487a33a4a3470bc1792d1ba9d79033c3814c53a4f802dbcca8bd9ba9d00bb3b48ffa03ac15d57bcc0cd1dbb8ab9143c6716e83a67862cbcf92f0abba881c93b8857f33a925937bc547b1dbb2524e13bdf230f3b318705bc15a7e7ba8122ab3bab7ce13a1359f2bbacfd013fcd5c023f7d7e79bb39da21bc4f34e53ec388e63e85688dbbc95c0dbc643bc43ebbb5c53e93db5dbbe3c123bccbdba33ed524a63ee41b52bb0b08f6bb5b46823e3459853e564507bbcb5b22bca0cd443ed4e54c3e8ba614bbb9420abc600e033e0e2d093ee370bcbaa93517bce403853d1907933dfa1bbebaac61debbe06ac23a042fe13b7c6164ba249438bc8d4c32ba2e22083cf14ad83ae8247cbc223757bac691283cc95f383bb3385dbcff5405bb28c2133c3a401e3b4e9856bcf42733bb8d6bf23bbec2403bb03c46bc02bd38bbe6bbe23b73cac73a38d145bcde2242bb8e1efb3b773e443b8b2032bc45d84bbbcc2cdc3bd35d2d3bf2532cbc2b1b57bb9c5fec3bd61e323b1f5d11bc9e960cbbbfc7ad3bb413143bab2cf7bbc10ec33eb5fb223f62899cbbfeef22bc1d4cac3ed5f50f3f77bb7fbb7a5519bc8989933ec472f73e4d3265bb1dde1dbc9d59753ee486cf3e4f6404bb3ab715bc2124443e62f9a53e0c599d3aca551cbc1ab0133e57b17c3ee23343bb00e512bc6a2cc43d919c2a3e3fb687bac75d16bc9611453d2655b53d26eb85badc7c04bcdebc393a7abfee3b47dea0b9dbbc26bc9c7cf3bae3cb0a3c957dd43af0145ebcee3d48bb80e62b3c44952d3b8a6225bca6e62ebbebd6ef3b917c193bdbeb3bbcafa07cbb699dfc3bcca9933ba7861abc050661bb6645d23be231413b36c327bc85e26abba199eb3bb062ef3ab0c510bce3942cbbc167af3b92fb273bfbc413bc7b8d83bb94bcd83b8a49463b51c0d1bbedae4dbb5f13a53b7fd91a3b3a9defbb8e25823ecf78433fd48451bbbdc122bcb0ab653e4ab82c3fa2af5cbbf130f6bb4bfb433eac89133ff5f8ebba409f12bc17aa233e6ac9f73e5ed19db9603df9bb8af0013e8858c63ed1a95fba05b50cbce9eec33daba3963ec9eed6ba404a05bc61a0813d7022493e4c96a2b79aeb08bce644fc3c2ee8d43d7e4492b90d16c6bba4874ebab74ded3bd37b4f37dc60f7bbf6ec3ebb4a44ef3b6b0f0d3b5d5f23bcd75084bbfcda0f3c419d4e3b429810bc479d81bb0402e13b0f9b4a3bb6fa06bcc6e886bb060fbd3b72c5423bc391e1bb45467bbb828c9b3b1f51323b17cae9bb6a658abb6278983b6256373bf081c5bb859881bbfd26743b3ec9283b782fbdbbb2fa8abb047e9a3bec9f313b56c092bbbf7e65bbd60c7d3b0ab61b3b56bbc2bb60d9013e5d9d633f92a3feba93d301bcb572e53d1bca483f7750eaba7a9cecbb9afcc33dde182c3f0e864dba055de4bbbd89a23dc5990f3f6e8404b957edc7bb89a7803d5acbe53e74f31a393d16dcbbf1be3d3de168ad3e0f44be39adf6c7bbf30cf53c94a8683e69a8d639d00fcdbb16335a3c8a4af03df0f2e0399b1ba1bbc9d810bbcb40c03b083f303a000000000000000000000000000000000132b5bbb5327fbbab27b33b7866373b531f9bbbf55461bb0026833beedc313bda6386bb7b7851bbaac4533b768e293b0f6b51bb1a9e64bb6c4ac23a5b12353b04705fbb3d8835bbf6c7333b88bd303b8bfc46bbf21655bb1c22083bc8b5ea3a5f3b2abb394261bb0d6b153b83c0f53a0000000000000000000000000000000000000000000000000000803f0000000062faa0bb4f4a9439cfb5633fe13c4db8d7b28abb7bb48a395311433fff19353a4a7781bb0ed90cb9748f223fb9bd963ab51b6fbbc2b7b2ba7a31023f9c12b93a61ad62bb919553ba5cbec33eb60657b9fde86fbbcbfc02bb40c6823e0f03603aa2476fbb05493cbb0dd5043eac41683a0000000000000000000000000000000000000000000000000000000000000000fbf9493c0aa40dbeed9a85bcea9b133c0f3ed73b2c3105bef316a3bce2890c3c0b1015bb01fee0bdf551a4bcd2f5be3b657589bb236eb4bdbaaea2bcbd51363b808ad0ba48c28dbdb8c78cbca1b61e3b585b4f3b162939bdbf4d30bc00bd673b8f35b13b365996bce76ac9bb3f6f323b00000000000000000000000000000000000000000000803f000000000000000054c2bfbdedc1a13f72c788bd5f16933b02ac7bbd0f28863f4e00febc3ec3b7396e6f39bd166c583fd2fd20bc940b15bb5e2205bdd762233f48d6bb3851ebb0ba6ab3aebcc1d2de3e5cc87f3b35182ebb9db424bc6658723e41e2653a7e232e39f1299dbb3589493db90ba8bb8edb3f3a00000000000000000000000000000000fbd52a3ca364adbd10cd80bbb141ccb905f8073d129c1ebe4fde62bc4d272d3c555a8c3c8ef31bbe4566bfbcd1b9e43b6be9073c605505be4e42dcbc87eaa43b40e9983b8800d3bd391bcfbc9f27953b04d8113c4e7ea3bd40edafbc787a6f3bd1e23c3cb2694dbdb82e71bc074e8d3b95ff683cc6ad8cbcee1268bbdc73c33b9a55533c31a08c3b9c238cba4ff6333b097817bef33ba23f1623703d63d49ebce0981bbe1db09a3f8968603dee419ebc029cf1bd0031853f12bd9d3d7db2a3bcdcaeb5bd97cf553fd153aa3d5eb29abca92c84bda0c61e3f81aca03ddc4e8cbca6693fbd01b8d53e0dac813d48fb69bcda39d8bcc3555c3e36182e3d8f353cbc77e2e0ba9f8ef93c0daba53c0930a9bb9d31a4bb6fd7aabd439f8cbb87b6a8bb5a44283bdd3664bd5452913b080ef2bb50319f3cd200ecbd2d078ebccf0f823942101a3c35dce5bdf7aed7bce8e4d239a237243c11a1e3bd653805bde0dabf3a4b02c43b2e01adbd2ae5e9bca4a0503a506a413c4b178ebd09f9dfbc8617d33aed875e3c2fdf35bdc955a9bc7e34303b93108d3cc0ad9cbcc42f4ebcd093ef3b1431703c51a7083a02e2d1ba940f623b47f410be4e03873fd6ec7e3e531f44bdf1fe22be08c9853f6794743eba0c53bd9297fabd9b35613f8bf86e3e92f535bda6fcd1bd64e63a3f2a4c553e054b23bd40a39bbdf489093f6d71313ee90703bdb0c070bd9794bc3ecba6093e0cece9bccc211dbd4ea24b3e3d11b93dcb55b7bc9cca84bc06eb2c3dc671303d3ffd89bc7eb22fbc2fa362bd4b217f3b454342bc8036f6bb92ef18bd578a0c3ce34568bcf3bc203c724cb4bd0158b1bcf28cb8bbb9861e3c264dccbde1a517bd133d1ebbbb880b3cfd8bbbbde8a71ebdf1fd87baeabdda3b974f9fbdb15b17bd57deebbae5b53b3ca44676bdf1f108bd1fbf5938c5b5793c15e929bdfb31c6bcd346293bc68e8e3ced5c9cbc7b5875bce4046b3b6e2d5b3c8f15deba69f78cbba7dd583b0914fcbd34e25a3ff738e53e68679bbd6ec610bea678573f8e11e23e20b1a9bdc160f3bd53f03b3fb5e4ce3e6f6b91bd5a33c4bdaff6173fecc3b13e593a72bd68109cbd8edce53eb06b913e05f548bd379b71bdda4f9c3e6eab563ec2c021bd2e3f2bbd32472a3e0e100a3e30e401bd09dbc5bc2dff323deeee813d800cbdbc97d4a6bc536313bd4bc1053c24e58bbc481e1abc0435f0bc6a51f53bcbce80bc316ea83b4c1387bd2aeaf4bc91e01bbcb7d3a13b69609abd694e30bd281291bb79b5e43bdd039abd90e74dbdaa9086bb68e69dba017d4dbdcbc806bd75c102bb9d461b3c61795cbd978e16bdb37ac7baaef62c3ca54108bd1546d6bcdf759239e341753c627f92bc74ac7bbcc536713b8818363c39c4a0bba956d9baf6554f3bc3cfcabd1feb253fb269263fba6bcbbdeaf2e5bd1f40213f0bb5243f8749e1bd8f72bbbdd8d40a3f3690113f90adb1bd8035a5bdf58ae83ec7acf93e245f9bbd28f85fbdb352a73efd1eb93e411342bd158f50bd88d2713e2f25913e5b1c48bde5f811bd1d77053e7493303e743508bd5495c4bcce4f183dbe219e3d935bd9bc39558ebc2c08e1bcfb66a13b4438a9bc05f884bb19c7dbbc335065bbf99960bc9508173c39576cbd416453bd3cdf05bc74fe4d3c38968cbd6c4f8ebd84d096bb8a912b3c13de83bd4cdd88bd15880bbb56651a3c33676abd1a116dbd9cfb00bbf013393c35f036bddf5043bd66394bba483c3b3c6ca2f8bc9a5b07bd17ce9a3aa309623cb91781bc43fb84bca0c8553b06e9093c2f7238bbdd92573adf47713bd5fc9bbd4919e43e585f5b3ff953fdbdb17eabbdc17dda3ebac55a3f52740bbe964494bd18edc03e50e0413f8efae3bd2d1e78bd8f969e3efe25203f57d1b0bdf5204fbd4495743e8d88f93e7e0d87bd009322bdce28273e8040b03e860149bdb364ebbc43deb83d7c6a533e2d0214bd3fbb91bc6663b83c4822a73d11c9ccbcc30856bc8f11ccbc6072c4bb872c9fbcbd972c3b50b3b1bc1419e7bc67fc2fbc4bb05c3c16222dbd8ecfb3bdd8a650bb5a614b3c120353bdf337b7bdf779d7ba208a6e3c69ea55bd458ebcbd06b298ba51dc2b3c371932bddc348ebd1b2762bbbff0303cfc8a10bd9c8f74bd9c04b5bae3d6203c14d5b7bcdc4815bd1177323ad671073c47a515bcbc278ebcf0ec833baaf6c83b65bf11ba552df23a1e7d9f3b746d42bd35247d3ea126873f1d0c10be312f4fbd5b75663e39f9863ffc0b1ebe125131bdbaf0543ee799653f0245e3bd9db117bda9d3303e1810413f99aebabde334f1bcab6a083e5a94103f9cda71bd7691c5bcccfcbd3d5522cc3ecca23abdc7af8fbc9f3d4a3dde20693ed642ebbc82d115bc69391c3c1751943d9b859cbca785a9bbd7f6aabc7cc1fbbc83d160bc98d5f53b50faacbce93489bdca54b7b93d9b5e3c2e5395bc0e8d0ebe97ab323b2299873cdf5608bd7bf60dbe6a8907398caa6d3c6fa819bd32e6f5bd7f2067bbb9f5363cb3b709bdff73c0bdb8f24ebb84a3233cfd5bbebc3ffc95bdfaae6dbbc224c93b250544bc41fc3dbd1431d4b95f9d3a3b7e2fb2381fbc82bc86019e3bb3fdc73a43c9793b9f139d3be683823bf79d98bce77e6e3df858a23fc68e17bea70178bc77122e3dce359b3fcc7f11be832884bc12175c3dd666863f4e76d3bdacfb5abc88f6563da7f3583f376691bd0e754dbcbfd7313dad70223f676f33bdfd9809bc012de23c0107dd3eadf9e4bc6c9cadbba038553ce3ae6d3e23bb7bbcd5b501bb5e641d3bc7553e3d3e5dbcbb0a9c013b47cfa8bcf7e98dbdf83ad2bb0000000000000000000000000000000054e5603c6328a3bcc51b0abe74df833be17b613c2f2bc2bc701503bec64ca5ba7e1c4f3c7950d8bc67c9debdc8c255bbcaa6173c63a2babc7decb3bd8523d3bb8b4afe3b763a82bc2d0b8ebdf732c6bbeb08873b34c4b8bb55373ebdf16996bb47a448391d2a193ba9f7a0bc0d8f11bb0000000000000000000000000000000000000000000000000000803f00000000c6f6ed3b3df49abdfdb4a13f741ea7bdeee5913ba0a93fbd851f863fa8db36bd3ef51c3b6f0ffbbcc0a8583f4a46b2bc90ad303b593fb6bc5bb4233fa6e6ecbbf2f7033bcab5a5bc432ee03e2768103b2c768d3b4f5285bce863743eda85993b44d1ae3b68fb91bc5938533dfe70bc3b0000000000000000000000000000000000000000000000000000000000000000675c59bbb885c1bdef3390bc5ce7ba3b144840bb565cc4bda5d78abc6caba23b32191fbce6c4aabd16f983bcd7dfaeb9ae1108bce36e95bdaf0281bcab1c65bb01ee23bb0da381bdb9d97bbcb9a022bb6b86a33b34b84dbdcc7a69bc2a4cf8baa0f5493c160809bdf6c340bcbc00f5ba00000000000000000000000000000000000000000000803f000000000000000022ac83bda533973f241613bdc9750e383d6d38bd20cc7c3fafb131bc2de39ebae9ec15bd59da4d3f5a25143b7f117fbb28c502bde7c21e3fafd5d63b861b80bbe922e9bc6233e13e5dc0013c57666ebbc975b8bc2171853e54c2a33acad19eba13a7b6bc90ccb13d0754e8bbf63615ba00000000000000000000000000000000b3fc5bbbf3b667bd9b3d83ba2d7edebb3793bb3c7599f5bdd9d84cbc32051e3baff22a3cc9c2f6bd163474bc17c964ba35edd03b95d2e1bd41c88ebc94967dbb0c53a53b1c82bfbd503c7abcf7b2b2bb41925d3c9209a9bddde885bc91cdb3bb1060af3c0b9d84bdc6fe5dbcc89858bb5b39eb3c19e21cbd975cf7bb1d83bc3a4ff0ca3cd90691bc850382bb4c7007bbdb8ddcbdab7c973feab5c13d310ed6bcd091e6bd31798f3f37c6c33df975bfbc1d9eb8bd97c0753f4bbfd73df02bc2bca9e394bd64b3473f4ab4d23dd34fb2bcf8d974bdc97a173f68dfb63d9bb8a5bc8ea750bd24aad33ec02c933d069096bcee0120bdf939703e7c444a3dcfff75bcb974bcbcd8f8823d27b3bd3cc99e12bc2c3fb6bc89085dbdfedd4d3ac28624bcc73d9bbb929a31bd498a893cf74f87bccb64753c55a8c4bdacada93a55c130bce622383bc845b9bdfb150ebb39c631bcd1a43d3cd9c9d0bda43238bce6ea18bc9783133ca0fda9bd32e72fbcce3829bcc854aa3cde64a3bd419363bc0b2e1abcdb22a63c7c086cbd89ea31bc7524e9bb6b9c093dc34b30bd883a0dbc743b6abba7b1df3cce7daabcc4f28ebaec23d9ba5b3adbbd95f77c3fb3a18a3e58c34bbdc4aefabd1cdf753f617e883ec22961bde588bdbd8fdb4c3fb807803e7e5739bdbb5fafbd29da2c3fa20d643e899031bd4b9f8abd3f9e013f7fc83e3e0e6814bdf79b73bdf1ebb63e4fd5183e1da10fbd6c5b3bbd8075533e4268d03d4c9aebbc4960f7bc69f0773d66406d3d73adcfbc3372aebc9bf122bdca0f873c5d209ebcebc641bc43c00ebd90cb013d5eabc5bcdfe82d3c2ca0a3bdf9cc583cfce7a9bcc640403c327ebdbd25930ebbbdf380bcd8265a3c3101b9bdd7b5e9bbd7f487bc0f9c6f3cbd0aaabdc41b23bc8f756abce68cb43c3b5a98bd3dc254bc14d73ebc7cf0de3c2e5776bd694646bcca372bbc7b04083df22e35bdaab3ecbbda94b3bb55bfca3cbdcfc2bcbf0ce43ab63733bba1dec8bd25b44e3f5a10e73ed85793bdfff0e8bd1e01473f5074e33e6afca2bd0e79c9bd64ae2c3fb3e9cf3eda1f8dbd6112aabdad9a0c3fa2b5b33ee9176fbd0dfd90bd31f9d63e0edb953e585f5dbd8adc6cbd7ec4943eb6fa653ed82e40bd148e3bbd77622b3ed52e1e3ee80026bd79a701bd57a74a3dd996b33d6e1412bd113ed0bcc648fabc16c0dc3c9489d9bc61480fbc516a12bdffa11b3d10a0e2bc7856133ce70690bdb07a803c6782cdbcc22d143c83889dbd619628399b1290bc8f507f3c3758adbdb74e22bc0a1386bcdcf9953b756e75bd170d62bbed343bbcd4b5af3c98c48dbd35686cbc9df552bc6fefb83c192f59bd12f835bc578613bcd3abf33cda7722bd7d77fcbbd067c8bb5e09bb3cc54dc1bccb2ead3bb46528bbe36badbd735b1f3fd205223f178fb6bd5421c3bdf72e173f14df1e3f955cc5bd0cf7a2bd2978013f46080d3f7446a2bd3c4f97bd30c0d73e7f49f63e40b793bd8a8158bddeb49d3ef900bb3ed46b4dbd958453bde218623e700a993e58b65dbdbf8e1bbd1792fb3d6ea2493eb22d33bd7463e5bcf2280a3da6dedf3dc68e24bd8c70adbcf033fcbc03ca073db69ef9bc338ceaba5cd41cbd00a7103db28cd6bc3803893c73298dbd116a123ba717d3bcf413a13c5dd0a2bd4b0286bc268d9dbc3cf8a33c73c69cbddae2c2bc671280bc6bddac3cd61192bda3c8bdbcbd1c6ebcc304c63c4a4f80bd5a12bebc1cd442bc73abcd3ccb3e49bdd11c9cbc2d0f1fbcbdf3d43c385e0cbda4d522bc6845d0bbd68ea13cd117a7bc1dfb733b556186ba1c838ebdadcee13e3a6a513ff4d9d2bdf42b9dbd6072d33e20544e3f3895e6bd7ee685bde788b73e0e8f373fc744c2bd060c63bdb3f9943e35bb1a3f40a39ebd8e7c45bdd9d5623ef3bff73edecd83bd9bdc20bdb6b7193ea205b83e777d60bdd549f2bcf6969f3db4b4723ea08041bd285691bc15d3493c29fcf53d33772abd3fef64bcd14307bd9234d33cc25bf9bc98cded3be4811fbdd088783c257ec8bc40adb23c596981bdcf9bdcbc5a36babc62028d3ce5687dbdb84704bdf96577bc7113bb3c5dbd89bd03e833bd253780bc7b45963c404566bd49be12bdec043fbc544cb73c211951bd9d0915bd2bbb4abcd9dc913c3b1519bd257dc5bcd602ecbbb759a23c1259c1bc058f61bc1554afbb2bec633c767242bc7e244b3b8dd718b816a547bd0fa8863e41937f3f6b67e4bdc56a57bd126e733e1e477c3f7752f7bd97bf34bd8af2563e6395543fb53fa9bd693e1fbd1da22c3ea55c383fbbd69abd2804fdbcf25dfe3df5e40d3f50b564bd9a84d2bcac7ea43d9fddd33e89f048bd779696bc84181c3d26f6833ed0bd1dbd43991fbcd533cfbb3b9fee3d9ffa15bd4348b1bb3f6907bd785bbc3b4d3adbbc21b85a3cef9722bd1d808abc4dd88cbcc83eaa3c2d2736bd7c39a3bd02218ebc092fb23cd5f950bdddbaaabd6e7d67bc30e9ae3cf75f4ebd72979cbdf43249bc2a219b3c373736bd169f85bda3953dbc15898a3c0b6f13bde93566bd1e1e2abcabc65b3c2231bbbc39442cbd181f0abcd1abe33b9f5fd9bb49b3b3bc7d2083bbdf22f33b9fc05dbbb2abe7bafae88d396c55d9bc9dd0b63d1f53983f8f01ddbda5fbc2bca7b7953dca69913f314bd5bdb7ecabbc0a088f3de66b7b3fff5f97bd70548fbc18f6673d843e4e3fc3b355bd059e61bc9e39243de9df1e3f954915bd038f28bc33a4993ca709e43e48ff00bd829db8bbad86c6ba3542893e118edabc05f5eab96f988dbcb31cc53de223d8bc172e883b2ba315bdb161c8bce0d8b5bc000000000000000000000000000000006c5a883cd2a00abdff93acbdd409cdbba5b9803ca39e04bd77c4b2bd916eeabbd0cd813c9f350fbdf3b49ebd4a73e6bb2f5c643c63cee3bc156d8cbdca0206bcb84f353cde76a8bc12196ebde8c20bbc2502f03b51e33abc919b3dbdf25614bc410d2b3b7bed68baa974f5bca9ffb8bb0000000000000000000000000000000000000000000000000000803f000000008fd7a6bae86b48bd4fa9973fdde848bd33a8bc3994c70cbd60997d3fbf50b6bc85ea5dba74b0e3bc9c6c4f3f2a9923bc54603db94261dbbc0ff9203f1828cfba573caa3a2897debc0073e43e8f25f3b9d29d633b7054dfbca36e883e49163abb11d4c13b37ecf8bccf45bf3dfcf6d2bb00000000000000000000000000000000000000000000000000000000000000008e8807bd41c77ebc2d52dbba9eb2b8bbb9c8e2bc4f93bcbc9baea6bafb2280bbfd5ef7bc4febbabc464475b95aa7ddbbc427d1bc0756c6bc2a722bba7af802bc7516a4bc0661c5bc088c59bb61a91bbced0031bcda8bcebc2696f5bb477332bc153fc4bb5fd5c2bcced017bc5c8849bc00000000000000000000000000000000000000000000803f0000000000000000e0cbcebcb887823f5ee5f5bbe867f5bbcff899bceff65c3f33ac0c3a0884cdbbb4c392bcf06a363f8e35a23b1cbf0dbc48e79abcded20f3fe44acb3b679b1abc14d0a8bc3f14d43ecd70a03bfbcb2dbc6b20abbca078883e87621e3a8ce128bc4736cbbcefadfc3df3a85ebb458b39bc00000000000000000000000000000000861a21bde5ca0ebb2d2a2e3c44cd57bcbd53ffbc6568cabcf040cd3b0dbc2ebc976d0abd2df900bd3964e43b1cf826bc169601bdb67a0fbdda51e13b41482bbc70c2dfbca0630bbd28b09f3b929343bc9e1ba0bcd7c514bd9e7138b99fe952bc13cf0cbc2b1d10bd23483cbbc95c6cbca415cd3b19700abd1311cebb6f0365bcb9b4c439dcd5a5bc7f4a01ba0d0433bc4ed136bdd5e8823fc0cefb3df23dbbbc60033ebdd9a3703f70d3ec3d7558aabc83ed25bd46c14d3f46e4e13d0320a7bcd18e11bd0a0e293fe8b0ca3d4be9a5bce8360dbd954b043fc4d3a83d1b0c9cbc56320fbd2390c23e7af4833da0e9a0bc0c8310bdb5be753e588d383d1fd6a6bc4fb409bd3a15d93d5e6fbb3cce779dbc3b61fbbc356f04bc4c9ae03b16c289bcabcd12bdd20b76bb19d5c03c5a5685bc7acc0abd7288adbc70d5b33cc0ee80bc66290ebd9398c4bcf0839b3cdf5a44bc2ec4ebbc33f90abd91ee7f3c1ac158bc2b8ad3bcf82105bd271a643cbac626bc2b6c7ebccb5f1cbd2f5b173c19da60bc967549bc8f7ff1bc8cece33bcc6f24bc88db953b90470bbd7259893bfa734abc79a34b3b0c71afbc5005bd3b9d5fcbbbe9164cbd5b2a5e3f26748a3e0da606bdfd4b6bbdba184e3ff67e813e516917bd44b83cbdf3582c3f7d8c683e8874f7bc5cb243bd3f0c123f243a4c3ebf9001bd17d02bbdc647e23e1a87273ede9edfbc4b932cbd2f4ea73eaddc053e56cee9bc006b19bd798f553e216fb83d5bbebdbc31c213bd4016bd3d378e623d1a7dd1bc3be6efbc8379d4bb61b4923c34ba93bc6b871abd8dff94bb2578103da9ac8dbc4152f1bce688bfbc8bd60c3d82768abc003decbc407cfbbcd0e7d93c03b25dbc5712c3bcf90811bde6d1b63c5bf54cbcdb8ba9bcfd5217bd6930a23cff5d29bc75a53abcb6e020bd7461743c5dc433bce22e8ebbb2ff19bd5b39363c7df82bbc3dc1d73bddc90ebd485c333c2e0315bcb258d33a4d3cbbbc8cb1693cff2a5dbb50e451bd1e57373f0a5cd63ee9972fbd3f9a6ebd364e293fac76c93ebd953fbd51ac57bd0dfd113fc280b33ed0fe27bd3b7e4cbd84daf03e12de993ebecd13bd794b3abd6e92bc3e75ef7d3ef3d406bdf5ab2ebdc65b8a3e0422463e880c03bd18b21fbdf5602e3ea5130d3e368ff3bc52a911bd2191973d76dbaa3d57cbe4bcd7f6f4bcd817d1bb1ed9f43c8bb4a8bc350b02bd37e730bcc24e253d358274bcdcfdcebcd1b1d5bc8e89213d431673bc7af4bbbc9e7600bd9b85f83c4fe023bc6e6099bc78251bbdb4b6d63cb7820ebc9e57a7bc1d12f0bceeafb23c2fb085bb52cffebbfc5e23bd1d0c933ce993f3bb8ab916bb3dc511bdfaf7773c888e8dbb61350b3cd0480bbd3db3753c4a898fbbb2d4423b15dac1bc8cf6883c71542fba714f41bdd4d0103f8640123f05a23cbdda9257bdd02a043fcd0c083f571e58bde30440bd2b9be13e3511ee3e125328bd8fd93bbde447bc3e59c5cd3e89571dbd540119bd1851903ed0e6a03ef00ddbbc583224bddb52553ed737823e4ec001bddd3a0dbd0a61043e4ec9343ee5c6e4bc10dd00bd9fb7543db0bcda3d1c97e4bc3f6dd6bc81b326bcec1e0d3d006ea4bc5c91aebc4eb48dbcea852f3da1a944bcbb185cbcb6ae04bd0ce3203da45a52bc1ad733bc1bc71cbdeae4ed3cebea10bcfddbf0bbb4612bbd476db63cf11ecabbd013d4bb42aa27bd5d969c3c20779dbb8f36403adba327bd8f4d5f3ca12fa4bba10bef3b0d0a22bd108b523cb30de1bb4199503c9a3e0dbd083b483cd13d81bb9f53f83b06c7c1bc9d937e3c4882013b1d592bbd5d2bd43e3e98383f25e346bd35a13dbdd2c9c03ee5232d3f73f35fbd5aab2fbd53a2a53eb03a183f07ac35bdeba21cbdc606883ed036003fea9f19bd26bd15bdb9a2533ee264cf3e0c2202bde0af07bde2f1163eaae09e3e0ecae9bc7bccf7bc9a0ab23d42df5c3ee559dcbc4f86d6bc8e28f43cea7efc3d2bf7e3bc1b1aa0bc762189bcc188123dd8fc8ebc7b9c28bcc73cb3bcc4d21c3d15f50fbce24071b9b51119bdebd0013d96ca10bc8e38b5bb7a120ebd391da03c8ded48bb0a6d543b9bf632bd3ff3703c0f812cbb6dd4513a43ac21bd5990413cd49495ba1349023c463429bd0e26df3b5ae634bb9ea7fe3b057f07bdfe95d33b8c8fbabaac8a863c11dc03bd061de23b6a9075bbb8e0383c79c2afbcd1f43b3ce2bee839f51703bd5e51873e80555f3f5a8042bd010618bdfa1c733e3971513ff7a155bd3f9df8bc4144503ea585303f7cb302bdf2d4f7bc46ee283e7abe183f65cf01bd7fd1dabc2739023e1e87f03e98c1c4bca2bac2bc5d94af3dfaf9b83e9026c6bc173ab6bc9a7c473df5a7763edef19ebce4598bbce4ae9c3bc388083e7768bebc7f895ebcb35eb5bc2e33e23c13618abc7105453b2c2efebc5287ee3cfff73cbbea0d463cf5d923bdabfe413c19187cbb853a283cf98725bd0f00dd3a39db86ba14cd1f3c77d326bd3f2479bbd2b0273a1705143cad9a18bdfdc093bbc85450399c714a3cdff614bd0d51e4bb9e056dbb8765653c065703bd5e6cf2bb34d293bbc2e3883ca4a4cbbc976ea4bb6bdccdbbfc25663caf42a2bc681a853b327a6e3818a5b7bca802f13de66c833fb3e824bd0ea1a9bcd90fd03dcc50733f542922bddceea1bc278db43d9c73513fb5bed0bc063f8abccf888e3dd16c2d3fa7ad8abc82f97bbca9d0493de4df083f662c5abc6d875fbca935e93ce123cc3e47d647bc83e132bcc671d63b1636873e8be76bbc6af7f1bb251673bcce51063ed3eb90bc4c4ccdbbaa48e9bcf13d7c3c87c557bc00000000000000000000000000000000d9ed423c5c5403bd99da27bb5b045d3b2ac1483caae8ebbce4d64bbc2860763b3b7b363cf7f2f1bca7505ebc0c746c3b56552d3cbb90e1bc2cad6dbc09ac3b3bd6ad393c4af2d0bca6c47dbc03cbcdb73159413c4205a8bc21e684bc7ff16cbb87bb4a3ce81a94bc1a184ebc5d9780bb0000000000000000000000000000000000000000000000000000803f00000000d53cf9bb1efa8dbc221b833f1dc34bbc6771a3bb887c72bc61f95d3fda426fbbb2d7b2bb2d3868bc416b373fc7f6fd3991a7aebbe2987bbcfaf8103f6531e33a1f6081bb843199bccddbd63e00bee23a7ddc16bb327eb9bc2ea48b3e4ab103bbfade9739c7cbe2bccb58063e6aafa9bb00000000000000000000000000000000000000000000000000000000000000006c12053d727348be29a52e3c9b08063c7144e63ca4c545bed633b53b906c123c0c09973cfaad36be91622fbb04270d3c1653573c44c514be6558d1bba1ad143c4f24223cebdbd7bd80e893bbff76e33b4b52473bb11167bdc815f7ba8228943bcfb9e2b9a53344bccabc353af42ba13a00000000000000000000000000000000000000000000803f000000000000000050f1e9bd6a05ab3fde61e1bda9e11e3c7d509cbd12fa8d3fa07e81bdfcf70a3b955977bd3ca76b3f87db24bdf9f3613a71c529bd2506313f86dfaabc8bfad4bad043bebc03b0e83e9161d4bb47c416ba21c864ba10f0673e16c9713b26bd2ab9210b663c93593d3ced76ea3b7603123b00000000000000000000000000000000396afc3c0d9802be735ab73c231f9fba7a87463d371c42be6d88d33c475dcf39254a2c3dfb6954becfcaa93bdd57dc3b0ddf0c3d050944bed53da4bb802d2f3cfb81cc3c38ee1cbe4f661cbc9de7ee3ba043863c2d31d6bdec833abc37e8ee3be2ecee3b67ce63bd486d07bca07be23bfe3627b9a8092abc7e01c0bbb2d28a3be626383b96ca8f3c7753ed3937794e3bd0903dbec89fab3fcbc9443c98126abc584627be105b9b3f6d29023dc74f9cbc101f11beafb48b3f528c433d5ec4b4bcfa82ddbd34ed633f7f027a3d8edfc1bc9d4097bdb94e283f8e52873d55fa98bc34ac22bd6ffed53e8c07863d9d0a84bc245e16bc625c463e206e643d310f4cbc8710bc3c1c06f83b7bc13e3d60c324bc0d84c63c9c8406be74385e3c8f7516bb3deebc3c806cbbbdad15c63cc21cfbbb5b901f3d05ba23be2e3f163b1f27143a93a4133d129c31be9dbc8cbca137b43b5250063deb7028be083bdabc52761c3c82e3b53c4db1fcbd9d47f8bc8ee7f13b85689e3c685bbcbde9f5dcbc7e1a0a3c01af633c5e144dbdc5029cbcb3910e3cb0ce093c4c8962bcc7f840bc24dfdc3b034df43b12c32d3ce840ab3ad0bd483b7b4037beb3788e3f36cc653ee0fa5ebde5283fbe2faf8b3f2895653ea79972bd6ac01ebea3b0743f0283643e23c266bdcdccf7bdf2b6463f3d0e573ea73754bd63e7abbdf2c5103f9b623e3e739a31bdfbe14dbdf28cb83e2a901c3e564216bd45c697bcfa6c283eae9ce13d0862e9bc5b10023c4adbb83bf677853da33494bc18e2813cde32bebd61569e3c830733bc6e723a3c56208dbd583e7f3cfeb347bc9896013d282803be51eebebcd9fe1638e3a9003d3f030fbe03bb3fbdb228b63befe0e23c674102be703d59bdb4021c3c31c4ca3cd12cd9bd72fe68bde7262a3c6e7b9b3cea6394bd86173fbd80a12c3c5ccb733ca7a427bdd480f3bc4de4193c8824433cb4705fbc5e8563bc32bd273c243a303cf952543b69758bba940dd83baff52abece196c3f4949e53ec306c0bdfbf030be3306643fc271e83ea448d5bdba8b15be2418473f629bdc3e4917c6bd6068e7bd78f81e3f7684c43e079aabbdcd6aa8bd41a1e93e75e7a63e149198bdb64751bd3d8b933e89c17b3e376468bdc3e1bebc2f09063ef52e263e4b8126bdad063fb9c4a5ec3b96ce9e3de25bd0bca83e9d3b836290bdfdda133cd68a82bc3133013c10b855bd3d61393b72f97fbc49d2ac3cc930b3bd612258bd1fa5233a92c2b33c73b2c8bdf58f9dbd11a6aa3b69dbb73cf186bfbdc7f0b5bdbe54193cebb8573c1a9a91bd6bd886bd28f1c23b9803943c8eb066bd4fb887bd68274d3c4e484a3c6b0405bd45f71bbd4c33333c64fd4d3cc37946bcbbe493bcadfa2a3cda54143cf5e5723b2cf885ba9eac0e3c12000dbee00a313f9007303fd91a08be475c0ebe4996283fe1e2303f433e11bef4fce8bdb83c113ff8fb223fe04bffbd59ecbcbd0ba4ea3e20250f3fe19fe7bd044183bd112ba83eeb0ddd3ebf07a1bdcd1431bdfef8593eb23ba93e8ce98fbdac1dc3bccd12d53d3598473e96f23cbdd8ded3bbff06303c31e1a03d2bb1d4bcf0c24739fb8759bd10ee3cbb259984bc78b58c3ba4eaf5bc61dba7bc700d30bcb7fb793cb86044bdf6e0c1bda02cb63b1eb6833c7c6873bd6e98fabd4877323c5a27873c7ba967bd387cf6bdd358563c145d853cb7d449bd60efe1bddc94563c2fd3493c9e2a12bd9e62a8bd0acf6f3c2013463c0d42c3bca5a64dbd0e02703c65e2293c6a9f1ebc7a77a8bc40365e3c9045f73bc5a02f3ba4ec043bf7ed013c6d9bc6bd4ce8e73eb6c36a3f7ff826bebd6bccbd86d4d83e4e326b3f209132be2d17a7bd773bbb3ee8d1563fb4001bbec25083bd3cd4933e1989363f7c9402bef28242bdb2455e3e408b103fd2a2d1bd5c930cbd4918143efcd6c63ed51695bd1495a1bc857e9c3d926c623e5e3540bdc6f603bcd0279a3c196b913d7488c2bcc58107bb9db402bd1e1bcebc8e1484bc22158838cfdbe6ba6faf60bd69840d3aa6d0bd3b6e4b4bbccafb0bbe891d7d3c95122e3c2d3ab4bcfe6421bea2b77d3cfcde363c2a2fc2bceff321bea8868b3c27ac123cc860c7bc9ad102be25a37a3c59f62b3c77adabbcc8f1ccbdbfcc8d3c6614133c2ca67ebc248661bd0142593c89920b3c454331bc0b619abc6d53283c9640da3b969387bafebce13b45dbf73b643664bd6e3e6a3e78bf8d3faa4c36be5fbd55bdb6a74c3e9aba8e3f2ea03dbe717633bd60082f3e2062803fc8c921befaac12bd3e110e3e4161583fea4605be5f7ad4bc4d5eda3db26a243fc2f4c3bd0a6ea9bc1d97a03d45f7e03ecb098ebd599d51bc0018423deba26e3ed8271bbdf4a112bc3851cf3c916d5f3d665641bc2bc059bb8290dcbbd66a6dbdd0818fbb41649bb7d5f25a3c06b0dfbd109a613ccb3727bba3caff3c550e36be7711ed3ce7a3b83bdb1b5c3cee1e4fbeef49c53cde12c13b5a41cc3b8c1345be123eac3cd2a2b23b249023ba47ab1fbe11a2883c7925a93ba8095ebbf79ae6bdcd35783cbb4d8c3b8f09dfbb7c5a7ebddfa82b3c2cd2c03b184a5dbc460236bcf1e4cc3b389b2d3ba5290fbbdb2b823c9cc6c43bea0187bc650d8f3cc243ab3fe8843dbeca5085bcd02f983cb7ad9c3f870525befae569bcb6497f3ca6e38e3f9b570cbece3437bcb785853c79b76c3f3abcd9bdebece8bb1e2a903c4c70323f938b97bdf659d5bbd1c4a93c5cdaeb3ed57743bd4ac9b2bb37aed33ca9f66b3e35ea9abc81470fbc65be153d7971fa3cf846bc3b299268bbd2ab2e3c07b7e9bd9f59e03b000000000000000000000000000000009923d83a1235d93c80cc4fbe02f6c03cbb4abc3a124ec13c6ced4abebfd78a3c285c803bb27d253c28523bbe22b02f3c4dbe093b4a95f93ba7b918beedb9b33b3876ec3a8cb9c13b638adbbddaf6a73b56094ab9cadf573945c468bdc6dd463b7ea1e7b8ba0f0fbb80e31ebc45fb60b90000000000000000000000000000000000000000000000000000803f000000004d0b6a3c2e65efbdab17ab3fb2a2dcbd4909463cc5ada6bd83f78d3f7f5780bdb148fd3b81c478bdc0cb6b3fcf4229bd6b83113c766833bdaa5d313ffa6bbcbc611bd13b2da1c9bc3bfde63e58c3c4bbdbc9823b458240bb1787663ecd56c83b9123b93a0f7c423cc024e13b6384703c000000000000000000000000000000000000000000000000000000000000000092fc153d359934be595ee13ab4081e3c304f123d8deb36bef2addc396447123c5f9cd63ce56025be985657bbaafdcd3b30f3b33cdfdc0bbec4f925bbc2cdb13bdde6933cea5ad1bd2e6810bb67b4933bbdd7203c37b279bdaa44733ade2c683b4dcca13bdf2697bcc3a3873bb9d8a13a00000000000000000000000000000000000000000000803f0000000000000000be73e0bd70b5a63fbc43babd9dfdab3b49f1a3bdedf18a3f636c50bd29bd453b1b9886bda92f653fa201f7bc42b7883b98d853bd4e4b2e3fb4c38dbce1b8583b6e3211bd7ed3e93e0d3a0cbca8b6523ba6c02dbc5127743e41fc22bb62b69e3b5dadb23b201fd13ce8c01ebbcea9f93b0000000000000000000000000000000062ef3e3d88a40fbe295d083db4050fbcaf23903dd6ef5bbe9cfd173d9451bbbb2df7703d94b05abe416bab3ce0636cbb97a5583d70f348be8bc7543c79d99fb9c2012d3deaca24be08c3013c22f81abb1a6a053d24a2eebda38fc83b1a6d8438f730a33c4be985bd26b79a3bbc88fe390e95553b3eec31bc2e8aca3b3ecb813a7584163c2028c83b81aeb43bf033113a254225be57a2a63f231cf83c64b35cbc24621dbe913b9a3f33ee313d066fa7bc77c601be5529863fbf628a3d44c1b0bc172fc9bd68ef573fe190a53da538bdbca7928bbd3b181f3f80d3a93d9d6d9fbcad3422bdfbfcc83ebbff9e3de5a78bbc831bbabba2112e3e657b8d3d6caa66bc0df0003d9cdef7bc5d616b3db7cd3dbcc5afea3ca95b13be11eee23cec500ebcdb8c463d44f605bea4c57e3dcc6be2bc3e08873d07af45be083b333dc3d89ebc9f776d3d994043be0fc9b93cf7a47dbcd5f55c3d8fb736be37d7313c08cc62bc8a7b2c3d3fd00ebefd3a9b3b765c24bcc4fa133d21d9dabd9e8593bafa25cabb451dc73cbd437dbd6c7960bb56932fbb165e693c27e6aabc310e81baa7462e3a1900333cb27db6395750983b0c861e3b462519bef154893f54806d3e599038bd326621be9a0b853f845b723ee63b58bd0a94fdbdae33613f55b97c3ed91754bdd0e9c6bd29a8343f5a77743e2a3a4dbdcbef85bdd333003f503a5d3e9a9440bd30b508bd79399d3e8fcb413ee7ea34bdc7a70bbc3a42013eb9e8153e871f20bd7ab1ca3cfd5d2bbd8ff4d63d2a7208bdab7f003d912c05be2b36623dbcd5e5bc4bf01a3db1c0e9bd36eb963d692830bd59ed723dface2cbe34a9223d09a808bde2c2603d28552cbe6b86483c9505dabcc1234b3d46c41bbe094f5ebbec669ebcbcb1373d35c801be7edf4bbcb22f87bcfd3e053d837fb6bd92037cbc657814bc1f56d93cc0535ebda7c276bce32a26bbc047863c48c7a9bc979decbbdb5ea13a0805843c19b7debb12c92e380a12423b65180abed1475f3f024ce43e11ea9fbd66b90cbedab2533fa639ea3ec150aebdc964dfbdfc88323f8b73e53e455faebd71fea7bdc96c0a3f167dd23eecc3a6bdf3e161bd5e65c23e2ca5bb3eaabe9cbd0ad8d9bcafaa603ecea6973eeddd8cbd257741bbaede913df2fa613e2a2479bd44bdad3c807250bdec21123ea0e051bd4fb7b03cb7c1ecbd0766913dedcf30bdcde7043dc7dcd4bd8979983d1d8c52bd00c0413d6d7d0abe3b98cd3c40a625bd2e2d2e3daf5804beba71bdbb7c4ef6bc44c52e3d9185f7bdac92dabc5439c0bc215df43cdfc1bfbd75a78abccd1c9fbcd1b3f83cbfdd94bd0e6911bd9afc01bcb76eb73c15ce31bde02cc4bcef1723bbd88c813c063e90bc71b179bc688c833b3058733cbec7b9bbe6aeb8ba3d269d3b3281dcbd4c72263fad6e2a3f91cddabd7999d8bd90151a3fa51a2d3f7c35ecbd77e4a9bd5c8afd3e33bc223f3271e0bdc4ce7cbd6e8ac03eda3a153f86fad9bdb81d2bbd0fc3863ec176ed3e91ecaebd6d899cbc6d140e3e7050c83ebf9bb3bd16aa6bbbaffb1a3d89b28a3e832c97bd20087c3c4f215fbd084c253ee97181bd418e983c7ddfd2bdb1a6903d014754bdca3ad03c08aba5bd3057543d802e45bdeec2083d46d6bcbd81668ebce32e0cbd4ea90a3d18bab8bd71ba54bdd103d6bc71b5e93cd9519fbd1ae783bd2a598cbc7d82ec3ca1c689bd2b6487bde74750bc5d72a53caf5331bd8ac56abde1682ebbcb398b3c4170d4bce97c37bd2fd59e3b2fa43b3c0c3ea4bbf952d1bc84c8103cb1a40d3c6e30e5b92da2d0bb95a00b3c37d09cbdf3b1dc3e7534623ffc0808bed27f92bdc7d5c23e3e64653fb5b515be190966bdb6489c3e42ae563f7f740bbea76619bde61e643e29bd3a3fe600fdbd725dbebca97f103eec0a1b3ff9d2e1bdcf401bbc7f538a3d2564e93e71edc0bd398a393b98e6e03aa1e29a3edfaca7bd26113a3c8d2756bd1121203e0b7f83bdfc06933ce2afafbde9914f3d8b1259bd280f893c182635bd57b7813bd79a10bd1a6fa03c00d22abd14de9abd4746a7bc660c9d3cdd4939bdf544c6bde93e81bc42f8923c5ce613bdb8ffe7bd53ba08bc77cb783cb008fbbc2897c2bd4c3ec0bb44b6363cb61899bc11deafbdaab3763b842c183cbca828bc478f60bd0fe5da3b64d3dd3bc3e68fba4e05f0bc2007413c389d643b7a5da93b2fde67bbfb1b4a3c55a536bdcd16633ef9738a3f8c7216be3d3421bd9aca323edb3d8c3f7a8424be0a2bddbca6e40b3e28e37b3ff2970bbeb44299bc7a7db83db8ae5a3f80d001be143f12bcec17503dfdad2c3fd228d1bdb87216bac9af653c68b6fd3e7a10b7bd7b06443b706061bc11f89b3ef9948fbd00940a3c5f9a0cbd879f013e736654bdc73a383c34a955bd46d36a3be97f2fbd3533b03b7c8e11bcd3b985bd54c967bcf066bf3a14bbb13c90d21ebeaa26b63bfa0ea53be8eb3d3c512f2fbeae0b873b2f2fc73b9b45053cf09628be3d9f913b29dca93bffd9e83bf6560ebe5189a73bf7fb4e3b886af73b71c3debd42a3143cf1c25f3b9576b33b2d288abdccf92e3c9c50403b080e1c3ad94699bcb293323ce1ebfa394a2ecc3bdca5df3afa1b1f3c6d654ebcfcbfb03c9c14a73f805420bee18b44bc4a86933b66f69d3fb68416bef9a918bc6af791bb72208e3fbca100be247c98bb9bca60bc69936d3fde20ccbda5b27bbae872a3bcd115383ff92ca5bd2d3c223b5378afbcfa84fe3ee56b7cbda9960d3b54d490bca1f28c3e99d62cbda85e363981b9a038a5277e3d98b79fbc5c657e3bfa619cbc57928cbd9e78b8bc00000000000000000000000000000000eaa340bbc59cee3c187136be29e33e3c926e24bbecb7013da62d3dbeaf8a243c9c6be1ba2e9aaa3c087f2bbe7246c83bb24fdebac30c9c3c4de813be4b82a43bd2909fbaaa06a23c9b06e7bd8df4b03bbef833bbd5ff763cbe678cbda4eec03b501c3cbb68aa313c72b7d5bce5f7b93b0000000000000000000000000000000000000000000000000000803f00000000f1cf263c5a8fe2bdfc04a73f9fffbcbd8490043c7c59adbd790c8c3fea0864bd2a601a3c96fe94bd06b9683fb6291abd2f06fe3bce0378bd487c313fe663b5bc74075d3b58ac3cbdca1df23ef61b52bc1bee5c3be332bebc102a7f3ee5944dbb4a7a653a1e2d90bb62c90c3de31a313b00000000000000000000000000000000000000000000000000000000000000001624303c9d7bdbbdf17ba4bbb3b4e53a5f965e3c990eeabd3a3753bb55bb7b39ec1dde3b6cfcd9bd18b295ba3ccfddbb7737f23b5d45c4bd169e8ababceb27bcc66b123c2c69abbd9bccb7bad4bd01bc13ed393ce76a82bda62388b99cd0c2bb238c5a3c711235bd8e27913aefc5b9bb00000000000000000000000000000000000000000000803f0000000000000000909b82bdc998953f55c243bdb0fc083cd18446bd911f7c3f7245cabc144ae73bed4924bdfc554f3fecba47bc5e38ca3b1ab20fbdae80213f5fc3a0bb0edfe13b442df6bcb011e73e626980bb36947d3be5d8b1bc87f2893e58d209bce29aca3b9dab90bca7c7c33dfe8d58bcad83973b00000000000000000000000000000000bfceb93c3198c0bde1f5e23ce70096bca460493ddd6c25be35a4e43c70ca66bc3a701f3db5dd27be93d4c03c7c688bbc9ab50e3d793a1dbe02279c3c6a1891bc1be7013d8c5c0bbe89cf913cdc549ebc6106063de9a5efbdcfde773c99dd87bc1db0f93c1ff8babd630c613cc2eb43bc8312e53ce94f65bde3de4d3c75458ebb7c4cea3c718a1ebdd3864e3c9138cbbb5328c7bd403c953fb7e3a03d940f3dbc85c7ccbdb57c8c3f7fd9a33d492a13bc9421a5bdfd50713f88a8bb3d68d13ebc666f86bdebf7433fd683bf3d524a42bcd65354bdcbfe143f3198b43d1b135cbc583a28bd0204cf3e5922963d6a4348bc1fb9cfbc896e633eff7f6b3d63d848bcf9fab9bbe2c4453deb400f3d00cc1fbc3ef902bccd5385bdc4de923cbece89bcf9bc033de133cbbd5f067c3da3dc11bd60144c3d83df1fbe16b3653dc41f10bdddfa203d3e3f15be27673b3dfd7007bd6815373d9e0920be8d831c3dafacfbbc42bb1d3ddb2c0bbe716d063db61ae7bc0e5a293d8499fdbd4af1d73c2587d2bc3a6d123d574ebebd8a60b63c67879fbc02770d3d88748cbdced6863c5b3643bc35480c3d37ad3cbd030f9c3ca4b9c0bb4e05c0bd9d7f773ff350823e91b410bd243dcfbdcb846d3fc79b7b3ef76e08bda8fea1bdc978453fa6e5783e644511bd726d89bd7601243f7754693e0cdb17bdc8884ebdcf3df43e04534d3ef91e1abd9c921abdfca1a63e8137303ea67c12bddd62c8bcbacf343e5f47073e5cfb1abd026b87bbb6afdc3c7041c43d619315bda19d7abae9fd8bbd7a94603d487d09bdec8eef3c09d6c9bd4c89af3d1ad84ebd3a9a463d623f17be24fe993de9b04abdba873f3d56e51ebe5b98683dbf7c39bd79163a3d420319beb4c13a3dbf3d24bd46ac393d00c00ebe64a71a3db8d91abdb3e92c3d917af2bd6e18e83ce6e7f3bcb651243d9408ccbd7f74b93c4a6fbabc159a153d255b92bd7b828e3c11495ebc920f103d522854bd388ec63c4506f1bb18fdafbdfe57483f5533de3e5bf26abdc8a0b4bdf3f73b3f5a8ada3ea4fd71bd8ec293bd1bc0203fce29d03e9dd96ebd67bf6abd1876003fecd5bb3e61d968bdd4e334bde6d9be3e14cfa43eae2374bda31cfabcd2ee783ee118883ef67d6abdaba574bcae62f63db53a533e865567bdd93130babf2d993bbbba143e02bd69bdaa2302bb3a758bbdfe62a53d9a2959bd6afce43c3292c5bd1b18bf3d486f63bde4bb353db76a09be907ea13d127765bdff7a213df76807be7f4f623d6eb03ebde0bb383dbdaa0dbe7d9c303d11ab36bd98a6063d49b8dabd788c1c3dae6efabc9475293d68f2e4bdf42fd23ca97efdbcec790f3d8de9aebd6b07a73c8f5fafbc2f300c3d7f788abd4f20943c0c0069bc98fc053d279449bdb96db83c9cf8afbb04d290bdbf9d183f22371e3f0f4a9cbd424d8ebdd3550b3f7e2e1b3ff6eda1bd9d1063bd5469ea3eeb550e3faa3099bda9bb38bdc1e1ba3ef641013fbb0e9ebdcc3613bd6c8e883e3d1fce3e5a6d89bd5b9aa8bcbcdb293ef9f7b33e2edc97bdb0f747bce836993d17f6833e1b4b8cbdba486a3a6a1c72bcfbf5363ee23390bd1efd583aad328dbdaeebbc3df4057abd92f6e43cd085b8bdf848b03d10175bbd21f31c3d965bf1bdfbf3713dd9f765bd86991e3d80a7f5bd1c6e053d182b40bd0479133de750eabd124da33c056e22bdd7161a3dd6c0dcbd8e88603c51db0abddcec073d58a8b6bd6984d43b3fcecebcf20af43c73be91bd1c08633b7eb992bc9b30ce3cbc1452bd4f8da33bae9c1dbc1167cb3c6a6819bdd469843c4c34eeba36ef5cbd5178d33e30e44d3f3fddbbbdee4f4bbd95e7bc3ec2934a3fd7d1c2bd5a7324bd96829c3e798a393fb60db9bd1ddee5bcb9d0703e96ca213fb97dadbd9068a4bcfbef293e9e8b073f69c4a7bd34d44bbc6d83be3dcf89d53e15bba1bd1c901bbb02afc83ca36d9b3e29fc9dbd341ff53b523a0cbde56a443e2be298bdbc5cc53bfdda91bd0c36b53d060984bd075db53c5f1b93bd7e365b3d4b7f43bd6818e53c2b55b1bd7473773ce8023ebdd27bd43c4bd9abbd8dcb383a3f2114bd22cce33c5672afbd618a88bcebbb06bdcf00cc3ce85395bd89e879bc7f20c0bcdd40b93cafb480bdaa83abbc02cf9ebc77159f3ce32b41bd620b51bc4a3d32bcab2f653cd04ee4bca5ee30bc6f152cbb6e9d613c5a4196bc9064b33bf0e5093b213a0ebd1bc5743e09a07b3f5a46c6bddf81e1bc11a5493ee317783faeb1cfbd9a91afbc8681293e50b7573fee02afbdcd4f63bc3bd5ef3d29c33e3fdcabaabd5f521abc0da29c3d2f0a193f27a599bda31e7fba8a66f73c8e97ee3e69d499bd8b46843a542675bbc245a13ecf6289bd1dd1223c70fb41bd0d893a3e74b391bd2bd60d3c617382bd5ed1773d569274bd543d783c650644bd4b59d23b5f9c03bd77ec223c2d1f13bd062371bdec2002bd4cef533c867c2bbd546f92bd11c5cfbc6f45513cb69329bdeda58fbdc1eaa9bc74094c3c3be51dbd176d7abd6ebb86bc603d173cfbb4ddbc49806bbd5f983fbc7418dd3b48d164bc243a3fbdfeb790bb076899396cd4403bfee1fbbc705a5b3b83474a3b4623dd3aa21015bc2bd0bf3b129d54bc6c5c8b3dd629963f4bb8c0bdc515d5bb4aa8393d21358f3ff281b6bd53dc97bb4e3f0a3d1bb97c3fe3a296bd440f85ba05899e3c3457533ff02081bd96ee1b3b8a51023ba1be273f3d9061bda445873b0b4582bcf715f93e9eef54bd9d1ebd3bce6505bdea51a03eda6653bd477eef3b36be2ebd5728103e4f9652bd6480143cb9515cbda3337d3c0de93bbd00000000000000000000000000000000e6876c3ba34f71bcdfa8a7bd178c1bbc49a0eb3a917d29bc65d6c0bd7357fcbb3a7b5e3b762173bc0899b2bdf62e8abb1833533bb51852bc7a67a0bd6868b6bb1bbdd63af878babbea718ebd7e5d5cbba6b159bb6d89893b31d66dbde730cabaa24985bbf0f7543c08aa2dbd0195fe3a0000000000000000000000000000000000000000000000000000803f00000000c5c1e83b4c5f83bdf209963f1a373fbd58130f3c6ca553bdf1137e3fd49ad5bc8068123c33fc47bd7205533f80509abc8a6ffb3b1f113bbdd2d4253ff7126cbc84a3d63b21e631bd0cf0f03efa1255bc64d3023c3c3023bdc6a4943e0f2e73bc645bb73bb3491fbd0464ef3d24ba93bc00000000000000000000000000000000000000000000000000000000000000008843613d05525cbe2e00493cbe81b33b40dd2a3d4e574fbe4ac4b53b33aba33b61ad0c3df5db48be843463b9475dc73b5607d53c434923be1215afbb1394273b6d3f5f3c514fdbbd31dcc5bbdd62b23a07e93e3b2af962bd1828adbbdf6a7e3ab15754bb357500bcb04d42bb85d04dbb00000000000000000000000000000000000000000000803f00000000000000000b0802be21baac3f7217f0bde0230b3c7f469ebd769b8e3f637481bdc594f2ba4efa7dbd17bd723f76ac40bdd273d6bb9ede1bbd001d363faa47dbbc1a879dbbf66422bcf028e73ef1938fbbe93f74bbcdc46a3cf67e633eb5e8113c138569bb486c183db900acbb6971603c6822033b00000000000000000000000000000000f9d65f3df79118beea10173db6e817bc80a0643d3a9b30be2dfbd03c23d222bc11a2583d57b453be4dee013cdc4c41bb7f8d2f3dc3d440be025d5fbb969e5fb9ff10fa3cc70116bec2bd17bcc7841c39c19f9c3cec4abfbd126780bc60da08ba44f0a43be30326bd4d196ebc2b53aa399dc680bbc6de0ebb47a77fbc2dcabc39cfb920bb9c4fd23c2813adba79a1e0ba3cb84dbe09cbab3faf0dfbbba0a7dbbb17b01dbe4b46953fe1c53f3d94c4b6bcb1f60dbe974c8b3f842d3a3daf96e2bc81dac6bdfa7a603f2f2d8a3ddf930dbd53eb68bdfe27233f250fa13dfd2c06bd6079a4bc0dc6c93ed3d0ab3d2ae104bd79c1553c84132a3e83529c3d9fe1e4bc582b033d6fb23f3cfcff7e3d4a26d1bcfc1b393da69820bea008073d5b1235bc802c133d77d7d0bd80074b3dea04a6bc498f573d38c827bef7a1913c097b2bbcdded473da42b34be325f98bba8dae1bb09f01a3d251018be6882a4bcd5552bb8cf04d73c9470e2bdaae3dbbc4f9697ba69767d3c553379bd51e60abd02ba143bd719f23b9b828ebc9152e5bcb6b0603bb435153b90d7193c965ca2bcea2aad3b2eb87f3a9963e03c7f2be4bba299bc3bb3ea3bbe17db8c3f87fb4b3ebc5930bd44ef41be273e8a3fdba3593e25286fbd7db51ebe7855723fd8dc643ee14c83bda68adcbd6d823e3ffa46663ebb7389bd3ce587bdb076063f0bab583ee40383bd38a2ccbc3d9d983e77de4c3e2f3b80bdc3f4373b5489d83dbc88233e6ca057bdb474953ca5b7d9bc0a7ed03de63c26bd1399b73cc0c2e7bdb1e54f3dfdeaedbcdd63d03c108aaabd34ba363d94e7dfbc3f9d2c3dea34f4bd639868bb4e8485bc87ba1b3d6b50fabd709213bdfa5bffbb67e5d93c2a6ac6bdfca051bd22ad10bba195ae3ce96a88bdb68278bd49229e3ac7b0473c4572e6bc91d760bd37b9a43ba646be3bd5f821bb612b35bdd2d8203c72b1b23b2c22903c930cd1bcdf08223cdace8b3b3b9fe63cc3e906bcce552b3c9e5134be59556c3f2823d53ed996a9bd27ab2ebe5ac35c3f1c17e63ee295d0bd14410cbe64a03d3ff895e43ebb88e5bd8a6cc1bd5b02103f67f2d73e3036ddbdaf6f65bd6611c23ea198c43e52c2d3bd5a4dd8bc8f4f513ea7f4a03ed9bbbbbd6146a1bb7e09913d6c81633e49d79abdef72083c827ff2bcb2dcfe3dfa3556bd565c233cc2d1cebdf7a84b3d710d1cbd04bb973c498c5ebdebd4f73cd29bf0bc7bf9d13c7a6c90bd956a0bbd48dc5ebcfb6cd33ce0848fbd01f595bd85abe9bbf2539e3cd6724fbdb943b8bd289219bac1263b3cc574e9bc2e1da8bd4fd374ba57c8223c42d8cebb9ec8a1bdba0e1d3cf955543b47861a3cf4da4dbd4f9b503ccd74953afe04a73cbecee2bcbc8f673ce4966d3b85d1e53cac0839bc5595833ca48112be1f062e3f921e2b3f950c02bed7f308bec3971f3fa80b313fcfd016bec77fd9bd9eab043f653f2c3f9ef216beddee89bd51a4c03e90ad1e3f3dd113be87d524bdb2ff793e80b3043fd92efdbde715adbce89d063e60d4ce3e4070ebbd7cbbd6bb5dcb323d62d7813e0d30a7bd03d5793a4626aebce9f0013e3daa6ebd0a2fe63a0a3a94bd9e4d063d0dda2bbd8c1aaa3bba49acbcb00b6c3b0537c8bcadd7823c1cc5c0bcfeb49ebd416772bbadbd703c9758a8bca45eebbd517d3f3a528f0e3c0fdf01bcd41a01be16166e3b1af10e3c805a0cb99b70f9bd0e5c223c7c2fa83b45a5e03bb3b3bcbd06db683cf100c03b30d9663c0e1f6fbdec32863c27438e3ad11b8c3c0c38f6bc59b98f3c74c314ba7554c43c9c130abc5f31a23c4d8ac3bd9ec0da3eba19693f4dac26bec0adc1bd4b7bc53e15b96b3f91543cbe2c7686bddc97983e338e613f91e935be80062cbdda66563e9887473f20d826bebc37d0bc97c0083e0e49233f44c615befdc0a0bc86b4ae3dc9f2e73e9c93e9bd178929bcfb910a3dac21893ee0d2aabdb82611bc483b35baabd5e43dd79a56bd0f36bfbb70660cbd5504163bcbad1fbdf02fe7bae524583c011117bd1eb5e6bbeeaaa83be0f1893c050201be71fa113c253e9a3b5547933c5ddb24bed2a4373c4b35c53b79969c3cf7972bbeb6b6773cfef5803b7147893c4cd415be2fb08a3cbb866c3bdd79593c8e1bdfbd2190893c33c1d03a42c93e3ca5a483bd0c348c3c8074173b2985373c612cdebc9863783c3f6890b96e1d693c84df79bba6ba913caa5658bde21a583e91888b3f985633be7bbf34bd3a53263e803c8f3fe73047be5607efbcf25dea3dd0f8853fa7c940bebaaca8bcb280a53d0372653f74ee29be985f33bc3cea6a3d5a2a333f10590bbec37d2abcf855383d87e0f43effb9d5bd292e35bc069a0d3d28f7843eb71285bd817420bcfe0c9e3c2d379e3d6d7600bdd60921bcd18d27ba007105bde8feb5bc095785bb8733183d5fe6ebbd5778a83c9d92c1bb9b8a1b3d2cf415be86eac13cbdb62a3a2943193d566b49bec420ac3ce73c1a3b25d2ee3c2db540bee37faa3c5c08af3ac31bb23c50e920befe93723cd67e103bee74583c8c8be5bd59b7613c0a95e139231e513b041572bdf730f33baec6403a74803abaac1593bc2ab15f3b046cd2ba2376663b8a47433c3f390f3c58f21bbcc5133ebb1ea1ab3ff1904abe2eef41bcd650ba3c91ee963fd2d623beedda74bbf70debbbc340903f0fb021bef328b23966f509bc9251703fe53508be4463723a0aeb953a7707373fe544d1bdfee788b8715e543c4745f13ed36b8abd5c9872b9ee95d23cff7c6f3ead0a04bd5af518bc199fff3c7a71723d232d55bbe2750abc540df33cda1feebd1d62423c00000000000000000000000000000000d1a68bbbde344f3d5e255dbebbb0083dd1b482ba517f173d72c44dbea8caaa3cce8c0e3b9d53e33c1c2f45be3814293c8c07053b5f9aa93c493f1dbe0258ab3be6040bbb38de383c861dcfbd0b535ab885dc12ba26fcc53ab2d14ebd8b2392bb31481dbb3a2094bb882da5bb69d1c4bb0000000000000000000000000000000000000000000000000000803f0000000048849e3c1a9b08be8254ac3fdc2303be6b1f5c3c4364acbdf4668d3f9ffc9bbdb6d56a3c810090bd32366e3f6ccc77bd98e9653c35a33fbdd8a22f3f324f10bdcf68213cf4277fbc5909dc3e9c252cbc2c417e3bfcbd043cd5bb543ee6ac2d3c451f573a61cd003d0a916bbc989ee33c0000000000000000000000000000000000000000000000000000000000000000d950633d787155befb920f3c97ddf53b65fc3c3d262e4fbe52234f3c69b7903bd010173dbf3149be262b3d3ca8ea653b1db1f93cbb9926be3b7d6d3c4cfe8a3b4911753c971be2bdf90cfc3baf850a3b1a96f43a2cde65bd4b9df53b23178e3a568280bbfdb4debb247a0a3cc76a75ba00000000000000000000000000000000000000000000803f0000000000000000773809be98ebac3f5e82eabd16d9b73bf6edb1bd9a568f3f1eb49fbd5fd5b53b861289bd46a9713f24568fbd6c80ec3bcb4f3bbdd342353fedb06bbd9e84c93b48904bbc9e3ee83e1ea42abda9a1043c9ca3533c22225e3ebe6db4bc5b56de3b1e8b033d185b65bc0dcd61bc436fe23b0000000000000000000000000000000058c48a3d9e9a43bef079823d80ee99bc3ada833d212553be967f883d9ea8d4bca6f36a3de1f363be4c9d533d1b22afbce1e93c3d46da4abebe2a273dc0f282bce115ec3c850619bed480ea3ca58a6fbc43714a3c37ccb0bd1399913c7bed42bc8f6f623ae96ffdbc5808c53b5b41fabbfbdc42bcfdcd703c4a0993bb9f8080bbd9482ebc9cf53b3da44a863a45909dbbaef842bef81aad3f1699d1bcb3d009ba0fbf16beb778933f6a87ba3c6b9fb7bb62f5f2bd77de833f2b24f63cd3fe06bc32eba3bd97134f3fb01b493d035526bccd6e15bda020103fdf11853db06f38bcde7bcfba913aa13e248da23d68f774bc9b77c93c6213be3db1c6b13d25158cbcbf24343db10289bd4792b63dd281ccbcb90f763d683272bef7f1823d05eb72bc9da35b3d414736be51fe013e53b56bbd64dd7d3d5d4455be97f9c13d908552bd705b553d93454bbeb8288d3d3c8226bda8b6143d6cce1ebe061f3c3d02c51abd6929bb3cf279d7bdc8c7dc3cfc83fabcfad0123cefb737bd65c9a03b7b0ba8bc7d5e61ba30a563baa2ab11bce1a13fbc4a45dbbbfb3f133d6cfeb1bc381381ba0f6c2cbc4fbf5d3daf0872bc4ea2933bed0f1bbe721e8a3fd4fc1a3e9ccd44bcf27a14beacec7f3fcd8c3b3ea079afbc9ec9d5bd8635533fae405a3e1c4ceabceb8876bd62fb193f50db6a3e458e00bd50b2b5bc9081be3eed9c703e09210dbd34babd3b4b5f1e3e58f1733e714e2abd746ae93c5fcc6abc32e35f3eef4432bd6ede2e3dbc2e16be31323f3e8fa63bbdd350433dd8c769bed35d153eb81238bdfc8f293d9b4428be6571243ec30ea9bd5311423d55892fbe9850d33df9d58dbdb8da133dd23c0ebeca0e633da68364bdb089b73c5e87c5bd9d11d43c6ac243bdcc10303cab3240bde48f20bc96c612bdaba6373b73b1afbb25a0eebcfd5fa5bcd3e181bbd0d3d73cebc728bdafe362bb8231c6bbe463463dc68835bd26d0393c24a1ffbbac43713d9fe10ebdaf7c7f3c9988febd8053593fdf41b63e0e1fefbc35fcddbd24463d3f5a26d53e6c1448bde50297bd0259113f2b29e43e544771bdda3616bdd673bd3e9625e73e8ca77fbdb344adbbabd5393e6331e73e6ce48ebd3c9d363cb6ba0e3d34c9d03eb4d195bd4398d13c3953aebd3498b13eb175a0bdbf1a0e3d586d2bbe374a893e2a3ba1bdbdc3063d9be35abed1c6423ed2ba8dbd8184fa3c67fa02be2e231f3e7b6cc4bd25a6ea3c5f88e4bd379da03deecf98bdbbe2a83cab26a8bd33d0c03c6c9278bdfc971c3cb98b16bd8474c5bcff4739bd0c11b53bb394a0bc8e7913bdee1e0abdd2d3cdbaea02d23c4f6b94bd52310ebca2a45bbb767d203d883d89bd5ce10a3c0919d5bb07485c3d408085bd7091d13cd77ac6bb51c6693dde6e4bbdc028073dffebb0bd844a163f21191c3fb85264bd21ff8cbd6dd7f23e395c2b3fc2029fbd997d29bd6085ab3ec8a22f3ffcb5b9bd44a06dbc0f6f323e109f2e3f78c9c8bdc1f64f3983708d3deda01b3ff04ac0bd73aa613c33203ebd7b750c3fe39fdcbd325aa53cfe63d5bda72dd63e9756d2bd3ad5a53c6d3a17be9a0b983e45bcc4bd4398ac3c212e31be52d83f3e9a30b1bd9c0d873cb1169dbd1cc9e63d7067b5bd051b3f3c344b32bd1168183cb85b6ebd685be73b6c068abcde6f37bd07df2abdad1b803a58e6f23b886ca9bd49a7e4bc104da3ba4b8ce53c7608dbbd72dbfbbbdad239bb7b551e3dde2fd7bda293573c8caf8dbbbf46383d940dbcbdf58ddb3cc3b684bbe06d453d9caa96bdbf94333d372a92bbe79b3b3dd08545bdfb213e3d5ffa4cbdac69aa3ee36d5f3fcb59bbbdb6d920bdb1af7e3ec7956b3fcaf8edbd0fdbaebce10f113eb37d693f9f8efdbd69ccdbbba96a543d98fa593fa44efebddbf1343becd3aabc3452423f0eda05be74b0993bc72971bd3cb61b3f9e0001be05d51a3c404fb1bd4c42df3e9814e8bd20efe23b1854c3bd3baf853e581ec5bd8c65b53ba025d1bdda310d3e7135b4bd634b183bb17787bcb3e9f73c3e5a5bbd9225243b9ece283c02d194bd89e2d2bc9247fdb89f66c93c35eff6bd36e47bbc47ed29bb4e7f1e3d5a0519be2c3bf63a57b3deba6242193d4fc518bea48c743cf50871bbf920293d4fcb09be8a69fd3c8d4910bb814b153defd0c6bd482a243d8294b4ba07def23c60c284bd7dbd3d3d7752efba2f8cc23c82f505bdb467433de64bb0bcc107083ec8e08b3fe445f7bdb6418cbc25e9903d2062913fd8d117be7de60ebc23559e3c054e8a3f6c6517bed370aebbe65b8abc0c39783f496c12bee45386ba5d2e12bd91c94e3fcf640ebed69ea0b92f3e29bdd12e1a3f720cffbd24e95abbe8222ebd16c8c33e7c36d1bd94399cbba618eebcd1593a3e862b95bd852087bb6240eabce1b6353d60967abdb611cebb0ddd063daa32bcbd04e721bb94f2e4bbd14e253d559507be6ee5783cec1692bbe011383d074838be9b85993c9b1db1bbb242423dcbad41be388ed43c39b7a5bbebfb2d3d4df22cbeddb5f73c0fa550bbc066ef3c07e101bef081f63c6c3ae8ba4c1b9c3c5165a4bdeb25013d82d92dbabc7da63b457206bda6b8d93c86158f39a3959a3bf99824bb64e9003d47c25fb96a53fdbc3005ae3f35da28beef393fbb1e3087bce0249a3f4f3d0cbee9a213bbd90c2ebd86f2923fb3350ebe57859bba6c032dbdf7d17a3f331501be452eb6babb2510bda037453fa3dfdbbd1dbd5cbb52108abc00fc063f26eb9fbde44a83bbebadab3ad1a3923e325a53bd8369f3bb0d1e9c3c5216ac3de4fa7dbcacc526bc72ecf83cda49cebd66f837bc00000000000000000000000000000000ae3f30bcf482813d251f5cbe46e0143dc43208bc07545f3def6a53be2a04093de863c5bbb56b3e3d9d7c4abeef49ed3c6300a8bb2d931e3dd2f428be0f85cb3cef0b6dbbb98fbb3cea10e5bd097e913c46d159bb489c113cc51560bdd238213c2a0cfaba588f6dbb576e97bba8c9953b0000000000000000000000000000000000000000000000000000803f00000000e3d0243c467af2bd8cffab3f1e69f1bd6d063d3b86e19bbd49d28d3fb9cc9ebdfe00373a4f8274bd66316e3f40d687bd6d6c0cbb121319bd2952303f04ee29bdd7dc8fbb8db5f2bbfdfdde3e0e03a5bce3438fbb51ac693cc3754f3e4933963bfdf4c6bb6bc82f3de19afdbc9adfde3c00000000000000000000000000000000000000000000000000000000000000001e17323dcc3b52be66b1113c52a21b3c13c6113d9e6251be450ea93ce141dd3bc11cf83c6b1844be001ede3cc4273a3b9e3ec83c0a832abe130a0b3dab13253a05a1863cc27cffbd4d54093d1f9d01bbf00fec3bbc1892bd38aefd3ce2721e3a2d11583b68bae6bc4ac5fb3c2441d8bb00000000000000000000000000000000000000000000803f000000000000000086adbfbd60ccac3fb24a01beeb4fce3affe959bdb66e8f3f3cefddbd9965a23b908f1abd98fd6b3f4631e0bd45d05c3c6a3b9bbc6d91323fa3c7d2bd2886963cc7958abb1d45ea3edb89babdfa8db13c6a61513c3ef55f3e1caf95bd9381a23c3ec4cd3cbc9f00bc0e4369bdc025c53c000000000000000000000000000000002411803dc9955dbe14ff9c3d4505b5bc11316f3dfc1289be7cbfc03de07001bd4e27363dfa2782be8939b43d47c203bda8b60b3d2cca65be9ed9ad3d9e0707bd7970b33c106434beafb59f3d544004bdec561d3cd872e8bdf61f853d44b0f1bcf7749bb9a00a4cbd74954d3dacc7ddbc7cad52bc0cb17b3c808d023d6002acbce90accbbd93abc3c7ce8003d1e04eebca216e8bd6146ac3f92fb80bdf2e9273c95408dbd9075993f51fd33bd73c7eb3b9d4f12bd0479803fd76ddfbc41185a3c2bec0ebc9670453facaa3fbc0fe4873cd91a6f3cddf3053fb1198b3bedd18e3c90bc023db9608a3eb53ae63cfb746d3c492e2e3db3d7223d5d735c3d2518083c92e85a3d655225be6b3aa23dfd4d94b96260553d8e5488bef383903dae48c03b42b95b3d551361be82e72d3e972c91bd7d7d3f3dc57880beefcb253ef86797bd8a07113d04b867be88d4103efa3099bd82b0b63cb3bf40be5b65fa3d0f639bbd9843373c6b9e0cbecaf7d23ddcab91bdbeea8b3abb889fbd72c9963d1adc86bd5242a1bb6223f1bc4b964f3d777267bdf80341bc1d5dbd3c0927ba3c05dd45bd9a6966bce74d2e3d781c5e3cffaf1abd536f63bd0941853f58c6a03de7e7e33c6ab6e0bc5fcb6e3f4662b73dcb62ea3c2ddca4ba998c3b3fdb2b063e37a1eb3c3d6abc3c931a033f7f79273e206ad33c66a5203de523963e04df3f3e2601a13ca1543b3deeb6a93d3b045d3edb1c1c3ce998473d4982a3bd7bfb663e3b0655bb4ebf473d8a5d6cbee0a9763ed68f8bbcbc4e463da56396be0057573ee9d9fbbc7c8d193dff804abe2575663eab0ce7bdd19ce93cc2de53be19994e3e1db1eabdc7c1823c576f2fbe6352213e3611e0bdf7a0df3b693604beecfefc3dbf0ed8bdb85f21bbd168a5bd30d0ad3d4cd8c8bdc635c8bbf23e0cbd1a29493d393bacbd460922bc637c823b427f8e3c35bf8bbdf56253bc9160253d0a28efbb3bbb52bd3c2d5cbca7ca4b3dc01842bcb9f102bd9a56b5bc7411423f3b258e3e7116133da3f5203c31191f3fd6509f3e69bf123d37e3e93c97c5e23e5bf9ba3e6921d03cbc46213d8577843e2724cb3ee3d0793cc5bd3f3d3e08b43dc01bd93ed7598c3b9deb2e3d1b7e52bdbe1bda3e755176bce198253d1f7026be951bd23ec69616bdf9580e3da6e479be1d80c23e340c72bddcb60f3df00c8ebec3129c3eeb399cbd3109be3cdfb126bed3b9723e6d710bbe26c1273c44ac15be739c453e10650cbe8fde5a3bf014e2bd35b2073e5db9f9bdf6b2a9bb2d388fbd4537a73d1f61edbdde0118bb340a5dbda0d36e3da34bbfbdb8a73ebc7528033b5cda2f3bfff9a6bd5e5322bc9556b43c0c6794bc743861bd600542bcebd5573d08c234bd848c0bbdb58260bc17166e3db2f427bdc16d31bc64f5ca3b7f40f83e15db063f34dcd73cbd99043d538dad3ef43f133fda77c33cd2b7123d21c35a3ed11a1d3fb1884c3b233b2d3d85f58d3d53be243f35df1abc6cf1103d8bf7e03b388e163fb90d20bdd2c40a3dd77b00beff4a193f4f8062bdd181d53c0bc12dbe0d9e043fb095aabd03f08e3cba405ebe4c58e73eca49d7bd87c6a03c54586bbe51d9a93e4756f5bde481de3bb2b0e3bdca1a4e3e295610befe7b62bb93c59dbdfb34003ef7ad08be367e64bb2dda3cbd8072663d9237ebbd99cde7bbb6f697bc69b71f3cff62c7bde04d1dbc515fd83b225b07bdb5909cbd3e990bbcfb52d13c76e36abd990149bdff9311bc4525243d8f048abd6968dcbc05c9f2bbd0314e3d045597bd7d15a1bbe52d00bcea2b683d845c7bbda2617e3c2dd1c43c94e4753e748a4c3f354b0e3b2653133d1a36fa3da4c05b3f344808bc1befe53c65731a3d11d5603f9b81fcbc0161d23c9d1f1ebd34375a3f652a5bbd0c08b23c41fac1bd09fa4b3fcd16a0bd61e8723ccfa201be0e0f333f443fd6bdc9ba103c6f2c16befd30123fa47400be0d2d5e39cc9915beceb0df3eaf9a11bec71ab83ae44320be7b3c973ef60414befc9569bbcaf030bdf679d63d790aedbd852acfbb919747bc1cb1433c0d3cc8bd6202d5bbfba5fd3a163d38bd6ece9fbd37f9c2bbf784a03c2b8fb7bd2c865ebd71f0afbb02b7d23c60e8d4bdf95a09bde6c6cdbb1992133d6beae7bd4d4f15bcd2cbadbb07a91a3d4500d1bdbbf7563cd2ab6dbb8763123dceebabbd54efe73ccb4216bb3cb1113dca606abd2b40153d2261a53c5ad47a3dcdf9883f287905bdcc89923c62c94bbc422c903f6d9561bdfd02583c1b3721bdc7578a3ffa9ea0bde1c1d63bb5f488bd2f99803f9f53cbbdb1fa073bb59e9dbd58405e3fbaeef9bdd8c1efba255fa3bd1ce1343fcb0f0dbeca80b3bbef0597bdc3a6043ff83219be990d1ebc77c15abd487ea83e71c719be05761cbc918570bd00aa2f3eec3510be156f08bc6f5d203ce384fdbca04c78bd80158abb692b053d9a3c00be1b2009bd1aed70bb3766093d180425bea5638ebcb5a48fbb0689123d65f835be19ed5a3ac2f781bbd290123de56b2dbedb66923c9dfd3abb949eee3c4a1c10bedff4ea3cc81318bbb52caa3ce9e1cbbd5844173dbd6d0abbd6d6173c439e39bd902a223d4cb900bb532a603c07a00fbd34053c3d91832d3c8af474bd2226ad3f5ef3c1bdde7948bb0a8d40bd2d4aa53f4531c3bd5882acbbdb5f47bd9b1a993fbd69e3bd88eefbbbb78724bda6e5843f9371f9bd1d931dbc7d87f7bcba61563fb15f04be4ac028bc496276bceb9f1b3f8b4001be044f0ebcfb4ba23a43bcbc3e6445f0bdb209c0bbe801ca3c6eab023e3f98c1bdbd1e2abc2b4fb03cbde090bcbe13c6bd000000000000000000000000000000008079f8bb03f1473dbad14cbe8ce8b53cc0368cbbe22f423d178e5cbea3a7023d88c9b4bb3d05343d02a053be21051a3d180e50bb53f0133d46093ebe1eb7293db41142bbb9a1d23c862813bed896283d1f5fd7baf6b4663c14b0b7bd3390153dc5e5e3bafdf26c3b920e2cbd551c153d0000000000000000000000000000000000000000000000000000803f00000000d0f8a8bb2660bbbd1f7ead3f5357d9bd655f63bc6bfe33bdacb8913fa0cdb0bd3c2663bce34b00bd2ada733f5b23adbd13636abc29f326bce9e23a3fe35da6bd42495abc22b0523c267dfa3eec8287bdc64a2cbc1cd5fe3cdb7c7a3e0f1b42bda6b709bca0f74b3dd121f23bf8f909bd0000000000000000000000000000000000000000000000000000000000000000915fa0bc30ba0ebd7a763fbc030bcd3900a579bc29eb1ebd7b0f19bc7d27033ba3eb4ebc3db80fbd239311bcb211da3ac8f229bcfe1e00bd348e19bc0e09bd3a89c701bc7f3be5bcfa5332bcadf7eeb99154bcbbd186bebc21e342bc5c2bcdbaa80d36bb0c8577bca6e955bcccee76bb00000000000000000000000000000000000000000000803f000000000000000064e759bd6f798b3f86fe72bca26ed6bba45e15bd6d75683f3c4e86bbade344bb1f6ddfbc3dd93b3f64f7db38c1dd84bbf0a5b9bc583e113f3ad0603acf3d3cbbbc19abbcb0b9d03e808fcbba691933bb7fc9acbc71e7813e0a7faabb32befaba7c15c7bce9dbcd3d7a9f34bc7827f8ba0000000000000000000000000000000030dae0bcfaee1cbc765cafbb8a1595bba481d8bc23cc1bbd008e3cbcd4c8833a258cb2bc378431bd454338bcc998f93a8c5994bc2d142abd901b42bce72f063be6fc75bc7a910fbdf29037bc82ae393aaa2d2dbc8f9206bd868469bc1f67003a92ac02bc728bccbcf8a476bc8ff0c2ba223c8fba29f56cbcaf7c60bce807f9bae8e15dba3406d7ba27590fbc8afa67bb3457aabdaf418c3fff7fed3d2242c3bc0faababd2d5d843f9494e03ddc40cbbc24c08ebd133c5e3f25d1d23db3bb9bbc2ce762bd0781333fbe33b73df59080bcb80731bd2240083f94aa903dbe8752bc332627bdc4e7c33eefe1523d933e2cbc497318bd4e5d6e3e2365ef3c32ac11bc38650ebd2d36b93d78b9da3b34ccc9bb178ae9bc4d1fc2bcb9ed20bc5c33bfbb3c8be0bce0099dba8f0d7c3baed6b9bb9d63eebcbf15babc7f3963bbe2220fbb5871a2bc8da1e9bc7388cfbbfcd4e13a4f6091bcd04807bd1ca620bcbf034e3bc9db55bca2a1ddbcfe5626bc2cdde33aa6912cbc9ce0d7bc512350bcd2f3443a8d80bfbb555c97bc85f636bce31c2db9997a39bb836b34bcde1035bc36e890ba30d21bbb72c8e1ba7939b2bb7b3d8eb945d9a5bdadd76b3f446c8a3ed3a81abd4293c7bd36e2613f9568823e098635bd2fc68fbdff0a393fa235673ea43d04bd9ecc87bda36f1c3fb8f4423e0d76e4bc1f2b4dbd8ae3eb3e5af9173e4998a6bc32eb48bdc635ac3eb414e33d010b9bbcf73c21bd034b553e58278f3d3e7d69bcdf4c20bd19d2b03d61a9f43c037846bce2a4dabca4ef5dbc290d0bbbd19215bc084bd5bc3812e6ba85243a3cf000a3bb67a0dabc44418bbc2bc4753bf42084badfe9aabcbe6dddbce5ce28bbe757a53b08fe8abc2d06efbc8fe203bc540d253b13904dbc8882d0bced1806bc8111763b342b0ebc0289c3bceecf3bbc97ad2a3b7c57bfbb34aa98bcdb8936bcda52a43a8cda50bbdb6b2cbc4457ffbb6968d6391ccd2dbb0bb326bbec7785ba5e3fddb9632392bd570e403f35f3da3effac46bd0e32b8bd478d373f584dd03ed52670bde3f39dbd1ad61d3fe913b73e5d6d47bd3d2c82bd6cef003f98af973ea5b318bd70bd65bdfa7ec73e54006f3e6ffaf2bc3b6c42bd414b8f3ee80f303ef4c7c5bc76342fbd4888313e59dae13ddf299fbc380017bdc858973da6a9543dba287abc0df1d4bcd23fecbbf8e3733a3b3c2fbce471adbcfb3013bb996a803cba9a0cbbe169b8bc82319abcf6f6023cd81ecc3ab8d874bc96d3c7bcad2314bbb383953befd445bc0ee9ddbcd00b08bc4322013c1e72f2bb1c6095bc48a1ecbb43fc5a3baa74f9bb54afbfbc049837bc3a48583b5e438bbb50fa84bce0ec09bc4a96083bfa3050bb84503abc18f3b7bb8aa4443baa6b3fbb0b3388bb096fa339315dff39bd5576bd7830163fae6d163f7a7774bd34f29abd20ad0d3fac490f3f637e8fbd080f77bdedf1f03edf06f53e05ac56bdde9163bd9dfcc93eee76ce3e149a3abd729812bdacdc943eab9d993e6f9ed0bc45972ebd7d73603e81606d3e95abd9bce88d09bdac49093e7755163e3641a3bc6dc2febc86cb673db6ab923d9ffd7fbc5f02b6bc0f0613bc6e7e2b3ba2d01ebc4d8286bc09362abc049b8e3c6a5105bbc8dc80bc7a6ec6bcfa0ec93b5a746b3b531232bc1d80f8bcf41bc4bb36db013c6ab303bc6031f4bcc10039bc96d0083c97fd00bc6a46d5bc5daa4abcc6b9da3bb75272bbd7bac7bc5e2f41bc2234b23ba146a1bb4741a2bcff4847bca9c7703b924498bace6146bc03119bbbc575203b1715d0ba71b59fbbda9d203bc3432f3b42194bbd1755da3e570b413f54288fbd1d8380bda773cd3e1aff383fd02cabbdde835cbde7e7b13ec6f61f3f4aac87bd74c93bbd9536923e3244033f0ee34ebd442e1ebd37e4623e28d0cb3ebdba14bd351609bdf645223e8f03953e4da8edbcca6be8bce393c23d8bc63d3ef434b1bc943bc6bcf739113d1041b13d6f0388bc9efa85bcbe443abc8ec1fa3a48bc1abcf89d17bc1e7e9cbcdeea5e3c30a36c3acc53edbbe1f602bd5b5b25bbe569b63b4b6785bb7d26f7bcd81950bc84bc033c48673ebb8be503bd93b093bcf1c3193c07281bbb0071cbbc911385bc53d6e03bced436bb8e22bebc018895bc3c45b43b28738b39270891bc39804dbcec24373b3d897b39d71825bcc7fbf5bb5080c43aa84fa3b913bccdbb1f78113bacc0173be8f920bdf044893ef9e26c3f2cd0a1bd3e443dbd2faa7f3e4dbe623f6a71bcbd29f714bd94935e3e9c6d3a3fdcf472bd91d809bda2e4373e9d661e3fd18652bd6c79cfbcd4390c3e07aaef3e64c208bde934c7bccf57c43d7271b03ead53dfbc2e189abc6e42623d89205e3e0a419ebca67582bc30d75a3c66f1c33d9a9e78bcea8b29bc296589bc6bf998bb972f0dbc58e614bb93beebbc63473c3bb4c65b3b03935b3b7c1622bd9c09d0bccbe1df3b181c4b3b990f17bd8cac02bdd3af263ce2e9293b26db03bd891805bdc5ca183cebb7333b766cd9bcf1f6debcf083df3ba7a50d3b3f6cb6bc8ea4e0bc03015f3bf6b7f03ad6e28fbc4e03b6bc4d74393a2f72273b288f46bc27b05fbcb73012399c79083a2160ccbbe43865b82b81ed399d4dc5bc36dbe93dc5a28c3f5492a6bd4f5ccdbc3497d33dc79b843f0710adbd9ccdacbcc03dc13da5805f3f2e7f6abda1d194bcd1bda03dbfe2343fdcbf22bd41776ebc6e336f3da7050a3f6dbbccbc26293dbc1301173d4b4ec63e724b99bc3b6306bc46cc543cc393733ef6bb58bcdd5b87bbfa7417bc9b21c33d3a6b3fbc9b662bbb6a6ac5bcae3c96bc9547f3bb00000000000000000000000000000000328de23bb97507bdd8baf5bc61a80c3ccb1ecc3b6bb0e9bc79510cbd1a9df73b6689943b00c6b5bcec9c02bd5a1ccf3b79c3863be33993bced56eebcc5be793ba3fa5b3b1fe177bc7536debc2023563a9231393b349244bc2d3cc3bc332e0dbbc54a133b1caf0fbc98ae85bc1f6a77bb0000000000000000000000000000000000000000000000000000803f00000000e45bd3bbe3fa9dbc669e8b3f98b43cbd0efcaabb238f28bccb8e683fd9d3dcbcf6ee93bbf546f6bb845b3c3f3e3d81bc963c92bbaaf61ebc05c0113f3e7515bc0e7ec9ba2bfa41bc8f60d13e2b49a6bb7aff8f391dcb8abcae5d813ed11882bb5f08503bd18cc8bccb8cd33de8cb9bbb000000000000000000000000000000000000000000000000000000000000000025b515bd2becc53b45bbf53a3c7b86bb80eee4bc87350cbb4803cf3aae101bbbc92dcebccb47b9bbdbe3473aee0204bbb1d0a1bc50d3fabbe5d268ba4faf21bb54e78abc90f11abc7e6542bbebcc4cbb58bb5dbcacd81abcaafdbdbbbdd689bbd3d54bbc2957febbaf8506bc040ebbbb00000000000000000000000000000000000000000000803f0000000000000000367ae4bc55f97a3f849099b86f6432bcdc3aadbcdffe533fc04c843b918605bc094f9cbc96ed2e3f3a83a53b2124e4bbad2599bc8c110a3f311b843b312ac3bbdd8da5bcab79cc3e6707143b4595b1bbc316aebc4726853e5d34b6bad76da1bb3bc7d3bc1ac9fe3da6b95dbb681eafbb000000000000000000000000000000008fa440bdeca89a3cb0ea273c811703bcdafa50bd6c29333c17db253c9c72b6bbc08131bd183b4b3a78db023c171a89bb092a1cbde8e156bb383ffb3b01118ebb1ab6f5bcb25bfdbbc50a8a3b3bb20dbbfe77dfbca38c38bc90afb13951b67fbb5d26b9bc3c8426bc0b6b00bb2da67abb453d8fbc94be07bc0fbac9bbf875a1bb0b9d7bbc39d2daba026ad2ba750995bb795432bd7ef07b3ff58f073ea6b1b3bc605847bd1fc6653fdf63f93d03b5c7bc74a728bd76e8423fdd55e23de1a099bcaf991dbd8379213f2856bf3d18e385bcf2c009bdef96fb3ea63b9d3d353940bcdf0114bde37abb3e506f6b3d721143bc0a6b15bd97ab743e1e2b1a3d9fd33bbc0e4f18bd794ce73d77638c3cd53710bcb48900bd5fec713895fe4c3a3eec03bce1583dbdb0db8b3c4d8e993c26180fbcdbc262bd3114423c4122a23cf4c6dabbe21426bd29ea183b1e6f6e3ce03e5ebbe4e727bd07cb2abb00854d3cdc3e57bbd56300bdc171acbb01cf0d3c0c5907bb492a00bd95af04bc85aac83befc22ebb07b6b4bc2076e3bb9973703b39371bbb20c9b1bcb137c5bb9ccf203b7d4e41bb234286bcea51e6ba71ac813b658ef0bab7ee42bd9c55573f38368c3eb336f0bcbdcd70bdc955463f9199823e6f3110bd33b732bd04ed243f515d603ea6e4c0bc4cfd40bd93f10b3f2858413ecf95bebca77b1ebd24b6d93ea70a193ec9738bbc1a452bbd2684a33e54f5ed3dc77188bc8d5610bd8b1c533e69019e3d69914bbc5f1524bd9763d03d5c8d2e3df72647bc5417fcbcfd711b3b329f083c995911bcac9339bde472603c7cc1dc3c629e22bc3eaa57bd5c60293c56b7e83c457fbcbbeebf36bd516dcc3a6e87af3cce4381bbf87621bdf89f7fbb7e3d953ce3e2c4ba66b705bd094dd1bb240c5d3cb8fa96ba0989eabc3a4f0dbcd05e2d3c390609bb718fc9bc0d5c17bc405ee33bb73accba1ae8acbcf80f03bca11b043c1fefb0b7a3c686bcfcca18bb0841163c8866853a129b44bd2b48333fc855d53e0bdc0bbd1a4173bd5afc233f7dd5c53e4d1229bd8d1056bd32bd0c3f7f13ac3eb68b07bd45de47bd77bde93ec70f913ea5dfe9bc2e4c30bd7174b73e8a17683e4f41b4bc94d32dbdf64f883e9402323e6d85a4bc33a825bdd7b5323e48e1f43de3c584bcb8f81fbdd59aae3d6695883d2b8550bc4f9ceabc0b79313b325f713cd14f24bc306022bd9e93013c1784023deaf2e6bb764b38bdd581453b85c00a3d0f09b5bbc26d17bd8ab611bb31a3cb3c3a6e06bbb6770bbde804e6bbbf15a93c1bdd0ebacdb0ccbcb617c2bb3f025f3c414f483acbcacfbc2d6622bcfeba4f3c4343fa39ed61a3bc2b7615bc7b0a233c9bfc6d3acb0493bc4d6304bc068f303cb582773ab5a971bc292596bb6656373c4856fb3ac79b34bdb8000e3fefb50e3fe75f1abddc9f5bbdebae013fcf6e033fe39e30bd21313cbdabbedc3e2fade13eefeb05bd477739bdb71ab93ec622c03edc2aeebc9cdf09bd9a268e3e438f943e93f98fbc929620bdac92573e21736a3ef4e4a0bc15210abd39630a3eaeba1d3e6f9067bcfa9408bd4d80843d4e24b13dda7b57bc95a4d2bc32b2f3b91375903c85de0dbc79f706bdfb64a3b996cc123d9e3ca9bb42971dbd82ba91bbb16e1e3d33d635bb10e0ffbcaba920bc1e0aed3cc0d28a3ad40fdfbc846932bcd218ae3cf5f7bd3ab3e3bcbc7eef48bc0bd47d3c9013e83a94d6a0bce2d76cbcd73d4d3c89a1053bcaa373bc8c3652bceea91d3c445d123b10e747bc94ff3ebcd6eb1a3ce877003b77ac29bc536808bc6243493cb4444d3b0fbd21bd6faad23e6f41333f6d0523bdb9034dbdc9c6c13e4a27263f9fbc4abd401931bdca43a53e7e4b0f3feb6d18bd635f25bd2079893e3496ef3ed4f8f1bcb09b0abd857c563e585fbe3e73cab8bcd0270cbd2c6c1d3ef5f8903e8e169cbc28fbfbbc43b3c43d9d3f433e4aa176bc1da9edbcd1582a3d28d9d53de46137bc7689abbc5c70e3bbc5179b3c0f1f05bcf124c1bcbc93e8bba9b6153d8b7c52bb699fd5bc2fe764bc021e163d117c19ba2be69cbc59ac53bc3ebcaf3c3a57c53ac83297bce02c87bc461b933c6446603b56cb67bcb49865bcee413c3c20f8353b34fd3ebc1b2583bcf37e0c3c823b323b7eb51dbc51c048bc965cd83b9a13013b1758e3bb76de51bcaab5043c0b91073b6c74b7bb5df012bcdfc0293c1e12443bfca503bd29e78a3ea313583fdaa827bdf57a22bd42627c3ed35f473f68c53abdf8adf7bcacc4553e6699263ff825e6bca71a02bd03b3313e55850e3fabd2d5bcdb66d0bcdbb6083e9dacde3e0cd293bc304ed0bcb047c33d3ceea93e743685bc2c1eb1bc4a876f3dcafd5f3ee7e13abc5f81aabc1ab98a3cd32ff43d8b1a38bcfb1275bce5353dbcba9a823c7aadeabb7dfb5fbc583981bc655b0a3debd4eb39172930bc58f9b4bcfa07e03cbd4f373bf5551bbc590fa5bc9620803c228f9a3b2976e8bb5f9ba1bcf6d4013c6da6b63b965cc1bb73b191bcf83b223b78546c3ba16451bb869596bc09d09d3907d7f53a6cf683baa80a84bc594d82ba5f85003b64da823a071187bc25d4a63a14a90a3b157ba7b8756436bcf9e1cc3b644f323b897bc1bc52ce043e069c7c3fc90413bdc974cdbccfe1ec3df48f663f6e4c12bd5d68babc16b8cb3d1870443fc019ccbc1fa0a0bcbe41a43d6c83223f68e77fbcfa7a89bc7320733dbeacff3eeb183cbc2f3c74bc46861b3d9712c03e4c3f25bcb6c044bcd1d2863c82187c3e5422fbbb764f07bc99fab7bbff2bfe3d00cf11bc48ef00bc42c39abca0ad163c2143b0bb000000000000000000000000000000000fd123ba7d12aebcb6864e3c7b2cb03b0f274c3a846b8fbc8c89193b8522a83b7deb2e3a74c27cbcb373eebac74a8f3b9c40a03a52bf5fbcfe5998bba4ce5c3bf3f1293bc42d56bc745fe5bba2fa083bc178813bf96746bc7ee1fbbbe97f0c3a673ab33bb5024abcd4c4b8bb426f30b90000000000000000000000000000000000000000000000000000803f0000000021a932bc6a8dcbbb07467b3f264785bc945105bc6b7ca2bbd4aa543ff07b00bc03f7f3bbe8989cbb8f632f3fe42b88bb2513c8bb34d4e9bb04820a3f883400bbbc7790bb0eef30bc8d88cd3e93bc90ba904c31bbb6d875bc777a863eb571cdba98e49fba99beacbc4c58023e2dbb89ba00000000000000000000000000000000000000000000000000000000000000007dd728bc1c8d8a3b5a752e3bac08d1bad46c0cbc6f4b303b9456133ba161a3ba4a9708bcffd7ec3ad5f1163b330b90bac157f5bb9ab7a23a0de1063b444897bab7a7f6bb9c6f963aff280c3b02c5a1ba4563e5bbb731813aef07f73a1d6fb2ba1218f9bb16252e39b6a9513b535b6aba00000000000000000000000000000000000000000000803f0000000000000000e360b4bb65cb633fa3dadd3a64784bbbc69994bbadfa423fadffe23a6b3122bb01d69fbb3b8c223fbd1e0c3b163f19bb57fb9bbb20ec013f8aa2073b87f70fbbce4dabbb063fc33ecb69113b251a1abbc0a3b1bba960823eb92be93af3c61fbba909cdbb0d2a053ef1bf6e3a039611bb00000000000000000000000000000000f2404bbccffab13bba59953bede70bbb8aa97dbc47d1ae3b96a3bb3b5fe70abbc48459bc71cd733b020da83be7a9dcba7a0f5ebcba1e373b9237af3b6ac7ceba850e35bc9a0f033b2261993b908488baaaab59bcaf990d3b9afba83bdc8babbabcb33abc8605d33ac773993bdc68e0ba702b49bc0382f43a6534a73ba071e4baee8719bc5614fd3a3f7a893b831ac2bad739ffbbccfa633f9f75033ec6c894bb360620bc93c9483f7129ea3d0549a8bb33fc08bce9f02b3fc401ca3d9de48fbb9e8314bc70980f3f88c8ab3d98f890bb1a19fcbb8a35e53ed95c8a3d76f1abbbdb5429bc34d6ac3ea942563d75de7cbbf81215bc2a58673eb67c133df5058abbfc8a2abc46ceec3da27da93ca4708ebb01ec03bcccf6913bacce813b767b69bb86b15fbcbf7d9f3b37c4dc3b1bd105bb896293bc26e0af3b0533123c50bb16bb9e0261bc4dfa563b5ccedf3bc150bfba96fb8abcef113f3bef9e013c2efac5ba7cf04ebcdb33fd3ac73fd53b1310abba9e0c69bc7601f63a2045f13b3b05bdba90e73bbc81c1c03a6a92c53b4548a4bae3866bbc3500003b8338043c7a2811ba2fa82ebcd13fd63a7e59bc3b0b1978ba5fe519bc0494433fca24833eff54b0bbf63c49bc02ac2c3f133e693eb34ddfbb8d021abc386d133fa585473ef985a3bbc6c42ebcf1f8f63eef24293e72a0b2bb67db18bc1d10c53eae86073e701095bbb74f35bc11dc943e4fb5d03dcd03a6bbb42818bcbb9e463e6f438d3d3a598abb8bcc44bcd230ce3d0f11233d3912c3bb0a9916bc4101973bc47ec33b195b73bb3caa5abcab85733b0c2c043c776fdaba7b6191bcbab48a3b7d50303c8575fdbafe2285bc0f9e383b1da11d3c80daadbaa0a780bc9ed8173be6671b3c2269b1baaef14fbcdbde3f3a426def3b5cf2ceb84e7068bc75eabc3a47fd0e3c9fab98ba786c5dbc02eaa13acee90b3cf5ca93baaa9f66bc230ba23af300143c3d146bbaa4c02bbcf27c7c3a054ee33b577c88baa02a1ebce6ef223f2062c43e7a57b8bbfca552bc26f40f3fa441ae3ea779f0bbd50042bc52c0f63ec3f0953e180dc6bb46043ebcb725ce3e70d17b3e6a4cc8bb64883cbcff44a53e81514b3edf98cbbb9e413abc78b0783ef9ad1a3ead1fb4bbe23f35bcf0f9263e9bdad33d7d93aabb7da641bc7652ac3ddd49683d3cf4a5bb3948e1bbeb79843b5f05eb3bf5ae87bbc75743bcbfee3c3bbcaf1a3cc92214bbb6b381bc86d32a3b2c5e383c485d98bae3e978bc5e00173bd9f00e3ca505b6ba5cb16bbcec19993a8a5c213cf0985bba96fa2dbc1ff9013b80b2f53b11668eba505454bc0e72143a7394143c43163dbaa54d40bcbdda0db907cd183cfe5d7639128a4dbc2513353a6b79173cd3a508bab4cb20bce48809bac26eff3b47293e393f4210bc2968023fa9d3023fb106cfbb93db43bc1ae7e53e1932e73efb97e9bb3d941fbcd152c53e3507c63e59a6c2bb184536bc3bcba43e3fbda63e50fbb5bb0ef00bbc22ef833e62dc843e7a0ed1bb1b8d2ebc43c5463e24cb4b3e096da5bbf02622bc9465043e1afb0a3e73f673bbdf2e2ebc54c3893db033953d357b9abb76f209bcdcaa053bf2b9073c75e142bb4a2a4bbc6a67903ae0f4203c8d9ca0ba43a679bc218fa43a199b503c45e689ba1c8965bcad84c7398ad0363cffa0d9b9f1735fbc48e7edb8c6f92c3cbccfafb9f44f34bc9287383aae59063cbe3c643a7c014dbc2cfdf0b9081a1d3cbe1fd1b88f323cbc444ddcb9e9bc183ca198a5b9452c44bcd26f0dba14f8213c6a27e7b801600fbc48b783b9dfdaf63b879d6f3868251fbc0893c33e3dd2233f9c26c5bb7bc843bc97dfac3e1c8a103fb8faedbb84c136bc5d2e943e2e61f83efdfabfbb3f7d33bc2b88773e4200d03ef9e7b0bbffc411bc82bf443ed932a63edf38b3bbc9b12dbc322a153eff6b7d3e3ebf97bb8fc521bce81ec83d3c012c3e323c99bbf02d2bbc25734d3d94d9b73ddfd794bb4139f7bbf4da0e3b98bb0a3c290052bbcd3f26bc649687b8e8a1303ccbd6f8b95f2164bc41c6d5ba24405b3ce0da4fb9a5d825bcb8da63ba9a3e183c9f7f4539b11d39bca773abba415a253c22e762394a7118bc1612abba2492033c674080393ecc27bc75b9b6ba402d133c06777339c7de08bc07caaeba8e0cf43bd113df38b03a25bc2964daba9e351a3ca49ab83951eff8bb9e0ea0ba7d0eef3b5876093a940206bc5f74823e4801443f0ba2bebb24c43dbcc161673ed44d2d3ffaf6d7bbd25108bc06c5443ecef1133f805991bb51701cbc7be9243ef195f83ed56c9dbb53ba02bc7e57033e2794c63ee7e871bb958411bcda6ec63db8c8963e9c197fbb4be5f1bb8155833dc0344a3e163659bbd46214bc2279053d8384d73d3df480bbc0e2dcbb3b26553a4c19083c9c1f2cbb261302bc21a6d4ba4aa31f3cfaa59a39af681dbcfecd15bbd825373c1066073ac65409bcd6f124bb1067123c9b7c4b3a5ed8f4bb03120fbb6ce0043c1944953a85cac6bbeca5f7ba86cdd63b265a453aa1f9e7bb6d132abba49bdf3b3f49ed39a420c7bbd22823bb8ee1ca3bd87ede39316ccfbbb77226bbf5dfe73b811bcb391dfeb2bb52a60abba5edc43b7280383a8e7dddbb2e35023e0e31643fec8b8ebbf33307bc152be63d984a493f499a9bbbf648f0bb86c8c43dee8b2c3faad35cbb35d70dbcd284a43d5c19103f88fa26bb0205f7bb95d6823d0e43e63ea37716bb7215dabb125c423ded15ae3eeb4133bb2506c4bbf8dcfc3cd88e693edcff1ebb93e6cbbb739d713c00c8f23d2abd3bbb8154aabbbc4585ba927ee53b056501bb00000000000000000000000000000000371a96bba15085bb6806c43b741be73a102a7abb81962ebb20aea13b51e7673a52c774bbd0462abbf61d893b60515e3af28c48bb684d10bb31bc623b71ac303a8a1839bb539c1bbb2ba5513b0658dd393ea627bbbd531bbbc1ba483b3a087739de813ebb4a452dbbde76753b6b7d033a0000000000000000000000000000000000000000000000000000803f0000000057f287bbb31a5dbae451643f152b5bbba8ef74bb8eff4938d630433f5fce9bba0dd57abb956782b97acb223fc41c88bab9e348bb2e11ecb91322023f145f81ba6f164dbb1eff80baa6a4c33e464284ba82f641bbd5a9cabae5db823e6c767bbad8fd62bb1a9c13bb6586053ee580a6ba0000000000000000000000000000000000000000000000000000000000000000548d403cee570bbe6ed98fbca599273c0a31b63b72a202be1ff9a7bcee35fa3ba2105dbb532fd8bdd692b8bcf15aa33beed2a0bbf002b1bd85a1a8bc894b773b5967e8ba24e988bd196790bcb859633bfe0bc93accee3bbdc9d32fbc2a08853b3df1893bc304a1bc3b0da5bbc30c283b00000000000000000000000000000000000000000000803f000000000000000034cdbcbde37ca13f502588bd23887e3b80bf74bd4eca853f86ef02bd2c50f83a3eda2bbd96d6573f16a24bbc170c05baf4f0e0bc812b233f800f4dbb826b98b8c5a1a0bc1183de3edaaf4ab9dece8fba5c6bdbbb6b84733e981e46bb9643f03a121616bbca3e4b3da3b1ecbbfe1d1d3b00000000000000000000000000000000be3c063c2312a4bdf2d0d1bbe07c2539c83bea3ca9341bbeeebe6ebc04a6293c6b30663c7bac17be3523cdbcc788013c1735e33ba67801be7fa5e2bcc844b03bbaa90e3b7c6dccbdd765d4bc05e8723b91d1cc3ba3b89dbd6557afbc669f8c3b08c02f3c444e4ebd0fb859bcbb69413b27ca733c9bd4a6bc0b4d2abbb4fabb3ba851503c92244d3b54f723ba178a453b218c16becbe9a13f22a9733d47d29dbc362f18bec17d9a3fa9f35e3d40f097bc50adebbdf13c853f23fe973dccf39ebceafbb1bd3c83553f5d08a03d33998ebcb6c97bbdfb311f3f49c7953d25b780bccbf932bd363fd63e13046b3d513769bcf60ec9bca3065e3e8fbd1c3dbda418bc78e9d3ba66d5033d10d29c3c424dbdbb9d2ca1bbd37fa8bd2437c7bb3901a4bb8f3fe6babec74cbd9a21f33a76c204bcd02b6f3cf3addfbdc70ca1bc339da0b6ea96d33bd23cd9bd5914e3bcd8069ab9120fe43b9eeed6bd876505bd7c51ab3ace06443b04a1a1bdf6c6e7bc07619eb9cb54193c98028abd9656debce07dc63a43372f3c7b8c2fbd6e4497bc930bd23ac817853cf8baa7bc903822bca687773bec2e743c9bf30cbbd1e948ba4e856b3b5db00dbef0db863f13bb7d3e19653ebd871c20bee781853f6b82733e6e1e4dbd4800f3bd60fc603f93a26a3e5bb331bd93a6d0bd923b3b3f53c54f3e0ab41ebd306896bd58430a3f19a9293eea78f0bc409c60bd1da2bd3e1671033efe6fd8bcdea816bd1d8f4f3eae9caa3df41ca9bcd7a88dbc2a4e3f3d35c3203dce1573bcdf8a38bce4be4fbde473e73a0b663abc94ca35bc62c6fbbc377aef3bbf9d81bc127fb23b5b63a6bd9f2bb5bc12bcdbbbdf29d23bfab1bebd264116bde7eb53bb4334be3bed52b1bdfe601dbdda8361bb7024943bdeac96bda69611bdbe6a33bbd29f153ca02471bd26bbfabc15d4b0ba4bed4b3c5c2427bd1878bdbc98f3fd3ac3728a3cd4e7b9bc179e53bc917f803bfac8453c1b8287bb696cb3baa3591f3b4caff8bd872b5a3fdfbce43e01049abdfd910dbee150573fe337e03eb9eaa7bdc7adecbdc6c13b3fc046cc3e90528ebd39c1bebddd79183f4056ae3ed4726fbdaf0197bdcfa6e73e02498d3ef42244bd68f062bd51039e3e50ea4f3e01fc1dbdb2db21bd99b3303e88e3023e9a9300bda0d8bdbcdb24423d14bb733d07e1adbc47ad98bc0d2401bdbfc1af3b582296bce2aa3bbcedb4c1bcb050b13b837887bc26857c3af76979bd631defbc222542bc765b023be51a8fbd3f432dbddb24d3bb6aeb823b837792bd29363fbd2db3c1bb98ac16bbd43944bd4a5bf0bc4e58abbb758eea3bafe94fbd39f511bd973e35bbccf7123c70f709bd5098bfbc474546bad407583c787896bc6c5e5ebc3480c03aee341c3c557da6bb32ef21b9d9c0543a7193c6bd7d09263ff619263f73ffcbbd2642debd83e6203fde9e233f4135dbbd93bdb8bdb3590b3f4874103fbf6fb2bd1d5ea1bdc281e83ed596f63e097e99bd6a385bbdcd1da93ee99ab63e06e646bde8b34dbd646a773e56508d3ee41342bd2b560ebd607f093ed9e32b3e490008bd53ecc3bc97132d3d4769983d691fdabc832993bc6d95b6bca414923a66c2a7bc9c93c5bb12eeb4bc740d36bb2bf88ebc300cc23bf5ed59bd0ec14cbd684d21bca0741e3c915780bd1e8d8dbd20aacbbb40bafe3b6a3b77bd340486bd7ef0a0bb9390d23b1e295fbd8cca5fbd7a72afbb21d01e3c24c230bd99e838bd161937bb8c84233c560efebc2d1400bd2705cdb985673a3cc94682bcc57b84bcbbb7423bd71b103c56fca1bb8500723acca6743b960598bd6251e33e98955a3f281df8bd62cea8bdb994da3efeb3593fd7d80abe51bc91bd20c8c13e9cbf403fd028e5bd28746fbd7245a03e51b11e3fc356b3bd804d4abdb031793e9051f63ed84188bdce3218bd17632c3eb37fad3e4f1c4fbda9f2e4bc56b7c13d48c84e3e5a2b16bd7d9e8cbc6d0ddf3cf608a03d2c35cabcb38d4cbc6530a8bc7f2504bc83919fbca90bf7392123a3bc4e1ce8bc0e5d4cbcb2d5323ca00225bd5595aebdbe4490bb9a49253c5bf048bd0eaeaebde38c3ebb9a524a3c2fb251bd8db7b5bd4bf794bb3856103cd1292cbd8c8387bd7e4599bb111e173c197412bdb22565bdaa5251bb2310063ce9c3bdbcfce910bdb4a8dab7611c033c821127bc79ae85bc7f01753ba220c13bdf39dcba27ad323bfcac9a3ba1343fbdb2347d3e1c2a873f9a990fbe9e9b4dbd8147673e0b8b863f19ed1abe55b92abdd998573eb2f3633f16abe4bd861818bd78b1343eddeb3f3fddceb9bd32b6ecbc18940b3e8c370f3f63327bbdec29c3bc22e2c53ddee4c93eb7b23bbddf3488bc2d345d3d942f663e80a7f6bc845021bc16dd5b3c36788e3dcf2798bc974eccbb53aa93bc3cd902bd658164bcfd2ee53b7ae1a2bcd14289bdbaabd9bad265623c96b3aabc73e20dbeda96bc3b3dc4743c72e00ebd56500bbe4c5c263a86c8633c0a911abd265fefbde2116bbb32fa2a3cd2de07bdcd35bbbddd459bbb078d0e3c748cc6bcbe6092bd92f36ebb4f42d23bdbda4cbcd08b3cbdd77808baf34c453b250c0bb9b84489bcc405ac3b06e4123b577f3f3b9215973b0a127e3bd3e598bc2606723dac55a23f1e8916bec0f287bcae2b423d20c79a3faf4111be2cb487bcd8866d3d1115863f56f5d6bd62d55dbc4e61663d8e2a583fb93a95bd4a4936bc688f3f3df2fa213ffa1a42bd951608bc3a3f033d1e87dc3eefccf5bc444fc8bba8697f3ca79f6b3e059d86bc8d4334bb3e7e733b68ae393dafaa9abb7d32493acb829abc0c708ebd6637c5bb000000000000000000000000000000004ea3513c2d5aa5bc695d08be5a07ab3b6aae443c1693c0bcedc501be34dfbcb70f39343c1a18dfbc6a20d8bd4d3e43bbfe2d0c3c1152bdbce5dcb2bd9942c4bbedeaeb3b23a984bce73089bd623cccbb1090503b8835dbbb3fb939bd289d93bb3e6c0e3a299cd23a03b7a9bc7ea702bb0000000000000000000000000000000000000000000000000000803f000000004fe0c53bee4b98bd5595a13f6792aabda09a943b509732bd94fd853f4d4246bd213d343bb3cce0bc8d30583f7931d5bc92dc1a3b237ca2bc468e233f815d45bc5146603b74b890bc5a33df3ef8839aba5cbd9b3bf9db70bc9e11753e63075e3ba7ada03b9ced82bcc417513d6038b33b00000000000000000000000000000000000000000000000000000000000000003cb272bb749db7bde06fa6bc55b1143cba3b8abb626fbcbde3dcacbc41a0e43b0d0d2abcde6aa1bd430d9ebc2daa1a3b980913bcdada8abd56e89ebc6088f2b9de8e75bbd6fe77bd873698bceaad8dbaa7ec883bda4347bd115579bcc0ec683a74dc253c55210fbddfd736bc61656c3800000000000000000000000000000000000000000000803f0000000000000000e8417ebda315973f36db19bd8ac520baeac724bd40577c3f92545abccdfdc2bab95d03bd74fd4d3fff26c0bb6de490babaaddabc96c91e3fed622939aa87bcbad300bebc8376e13eb97e80baa4fd99ba7f7c99bc493c853ebda2a9bb462d5d39314495bce34eb43d6ca336bc68fca83a00000000000000000000000000000000bdf9b0bbd76e4fbd43cd6dbbfa19babb36748d3c32c2eabd0e485fbc910d833b9811ae3b3a60e8bdeffe85bcd84c80bac6f4a33a8135d2bd522f92bc6024eaba5fa4853a9869b5bddc4c90bc277386bbbd56123cb7459fbda34e88bcc7da85bbd949943c5cae86bd879e44bc138a45bb7267f43ccfe434bd5eff49bbc30cc83a8ac6bc3c8c54a3bce29e2cbb82a4f4baebd1d9bd4a64973ffbe5c13daeabcdbc6edcddbd775c8f3f8adfbc3d737fbcbc1e79acbd0403763f3ea1cc3d68ccb1bc8ed789bd8ec1473f84ccbf3dbc7c9ebc4c0c5cbda148183ff220a53d184988bc9ce334bd2f62d53eaa0f813df3547abc69e80bbd80f4723eef70303d805146bceb8fa5bcf48a863d17ad993ce7d312bc0a8ea4bc71e649bd342760bbb0d318bce6d102bc3e990ebd73ee5e3cd21e8cbc0d270b3c78d2adbddb6ac8388e9e38bcc808a8ba1d3da4bd2fd9b0bb554641bcc736c23bcffdbbbd7e273bbcd70740bc9a25be3b06179dbd04c41cbcc7e33bbc09dc7e3c91839abda39844bc219627bc308b893ccdce60bde5e007bc7db00cbc4651003d4b6e3ebd9c8285bb68da9dbb6e32d63ca6b6c5bcfa83903b55434cbb6382d5bdf7b27c3f77168a3e8bd845bdc410efbdbe54753f56f6843e9eb452bd3185b6bd15234d3fd5ca773e5bde33bdfa70a4bdbf8e2d3f71a95b3e1baa27bd18b980bd8ab5023fb580333e97c110bd5c515cbd9e4fb93e528b0c3e2d5d02bdb1c729bd2b63593e6039bd3dcabed9bca5cbe0bc49c8863d01654c3d8988b2bca867a3bc211410bd00b4443ca98092bc02f777bc4bcac3bcc6a0ef3c1abde1bcb7399e3b90ef90bd15ba493cc339b3bc29f1c43b2a5aa7bd1e7e00bbe41a95bccc5cf13baf19a9bd10e9e6bbdf3d8bbc8889293cb4d29bbd4a700abcde2f84bc4f75893cf8fe8ebdf7d00fbc31757cbc12ddba3c735974bd668cfebb96fb4dbc2ffefc3cf5133dbd178d30bb93f007bcfb66a63cf0fdc1bc7533e93bbc97bebb116cc4bd64c34d3f9d91e53e676b8ebd3a61dcbdfed8463f5e64e03eedd79dbda1eabdbd94ed2c3f3526cb3e859688bd0b969cbdbb9d0d3ff2dbae3e983570bdf8c286bdc532d93e6920903ec7de55bd73d656bd12d5973e20a45a3e98d830bd1ba328bd7fc9303e9945143e4e9618bdf01af0bc9c9d643d6a96a03dd7de04bd27fdbcbcc021cebc185bb63c2a50d9bc6e5f63bc0ae4d0bc75bf1b3d0a2f01bdaa40423b0c8072bdfba0823cfeafe8bc65fb4d3b55f58bbdc077003b07b0bebc52f8183cac9f99bdb0ec99bbbd8bbfbc83d571b85fbb56bd8c6f64b975cb8abc4b208c3c066b83bd27822ebc7dae93bc31e0953cd07d54bd735187bb867b69bc19f9d33c68af2abd98e393b920ec27bc7c209e3c30c6d1bc7d6b1f3c3ea9ddbba16aa5bd970a1f3f3e16213f5c13b1bd819cb6bdda8c163f02be1c3f5531c3bd3bea96bd5624023f35c40a3f959ca0bd577b8abd6314d83ed0ddf03e012591bdd6e54cbdd85fa03ed4deb63e540750bdfe8443bd2e17693e76ff933efcfb5abdf4a20dbd5d0f053ea7c7403e0d5c32bd462ecdbc41a1293d8937d13d588521bd46f5aabcfa6cbebc3508eb3c456501bd77d180bbdb3000bd05b2113dc76700bd4ae4373c0af47bbd153e993b4a15fbbc723e6a3cdbcd92bdae0c43bc64fcccbcea25753c276e92bd4b8897bc0e47b0bc9103763cf9f187bddc4884bc8bc2a4bc2108993cf2bd76bd8d5585bc4e4d8dbc709dad3c9a054ebd68ac44bc207b64bc1007ce3c195d1fbdc4618fbbd33f15bcb8a8973ca591c1bc8dba223ce0d496bb619f88bd5dd5e03e07a2503ff69dd0bd948f93bd6d20d33e913b4d3f1e60e5bd692881bd2466b83e53d9353f4994c2bde1f957bd5277973eda5c183fa6c0a1bdb47236bda17f673e6728f33e50d287bd2d6b0ebdb7fe1e3e074fb33e917e65bd920fe0bc9c1bae3d228d693ead6043bd3e3294bc5cac963cd44ee83d71b429bdcf8969bcc1bed6bc3e28ba3c191202bd1bbd843b43030abdc7a58a3c9df5f3bc51748b3c296d70bd9780b7bc7b44d8bc6fec563c16446ebdaf27e1bcbc41a6bcecc1973c02b283bd5e7a1ebd1340a6bc7039823cba1f66bd918ce2bc8d8394bca6a39b3c602c54bd0681f3bcda7382bc0105793cd80e1ebd5b7e99bc2cc73cbc5461933cdf99debc6acc29bcfe3208bc5e03633c812978bccb37d13baafc6fbb599540bd4a69853e215d7f3fb4f4e2bdd8af49bdbfdc723e70e67a3f5ccff5bd63d823bd88ba583e1379533f2244b1bdebf00fbd6745303e14c1363f16e59ebd0bb6dfbc3b6a043e855b0c3fc8b575bdfbedbebc13d1af3d07dccf3ed50656bd8b8483bc2f89333ded03823e2dd222bd88ad1cbc1270ecb98ad3e53d260e16bdfefdcabba278efbcbbd8983b1355eabc29f13d3c629617bdb04f67bc490aa6bc9951983ca3e731bd36239dbde95099bcfa6d943cfe3e4fbdc37da3bd692684bc03d9953c9e704ebdd5e88ebd22fa88bccf727b3cd5503bbd14916bbdd07284bcac10773c626a1abd6af851bd118171bc9406473c052ad0bc2a861cbde92c32bc4e17dc3bbca217bcb55ca6bcfa0655bbf762133c86f8e4bbca209bba8f8805bb10aec9bc94d8b53de30a983fa388debda58dc3bc23669e3d21fd903f95b0d7bdec9aa1bc03f7943d0a0f7b3f53279dbdd61083bc9892773d93084d3f07af6bbd80b24ebc6816363d1d2c1e3f512c2abdfab817bce334bf3c1c09e23e4f1d08bd79ebbcbbe423473bc86b873e7944edbcf38abfba32b658bc8349bc3dd1accdbce010093b1a8e0dbd7022c5bcbe4cbbbc00000000000000000000000000000000e934763c08f608bd078ba4bd3bc0edbbc6f86c3c84a7ffbc69e1acbd5639ffbb7559543c885604bd72d790bdb74619bc4b0b453c4f74f1bcb59281bde6a01cbc2181133c1a4db9bce8885ebdda262bbcaa48d83b649850bc30b23abd899a06bcae50513b537d44bb152ef5bcf587c0bb0000000000000000000000000000000000000000000000000000803f00000000936dd7ba17f540bd9c7e973f8ba858bd3efb87b9e3aef5bca5417d3f2c95e3bcaf2a4cba9418c3bcf4114f3f54d682bc28674b3af989bcbc2835203f14f713bc8cb5f23aa474bbbc406ae43e7854ccbbfd32363b5639b9bc79c0873e0ab0b9bbf434923b3b9ce8bcd304bd3d811707bc00000000000000000000000000000000000000000000000000000000000000006f2be2bce4cc48bc364f09bc786b4cbb4aabb7bc698facbcea92e9bb921138bbc503c8bc3d959ebc7b830dbc2c26a8bbbab4b9bcac729cbcecd103bce830ecbbaf398dbc0b74adbc44de1cbc493b14bcd7522cbc5c26bdbc115e4cbce62812bc0ac0d6bb7a26a5bcce445bbcbefa1ebc00000000000000000000000000000000000000000000803f000000000000000076b1dabcd65c833fb05b4abcc4ba8ebba0fa90bc6c3c5e3f831983bbb10f44bb2b9490bcd28e373fbed1b7ba037493bb885390bc489a103f9a7bb9ba2951b9bb80c592bccb13d53ed78857bba3d3afbbd85599bcccff883ec176d4bb175bb3bb14d3bbbc6e53003ee79830bcd2d7d0bb00000000000000000000000000000000724b14bd139d9c3b7afd913bab2353bcc7d3d5bcb551a2bc843b95394c742ebc67f2f1bc349acebc8c4d5b3a27fe2ebc96ede7bc5683e0bc169813ba0c1641bcf478d2bc4aead3bc247d02ba76e364bca15199bc9ed400bd0859a3bbe32f62bcd2bf18bcb74c03bd943cb8bbea8468bcf532993bb35403bd6e3702bc0c1566bc650f1abb8e6284bc6cfec6bad7424bbc221645bd7fa7833fc797f13d4b6b9fbc8c4f46bd9e86723f48b8e13d4f1297bc02732bbd40f84f3f3c9ed33df59a8bbc664718bde4172b3f5026b93d63e687bc08480bbd59a4053fc9fa983d4ff185bceeae04bd9b04c43e10e5673d0c4587bc0ed603bd48b07a3e679c153d695982bcfa5ef2bc5bc3dc3dedae723ce58576bcfca5f0bc00aa48bbd5a1d5b97e7e75bceedc08bdae747b3b15d19f3cb8899ebcedafeebc0cb664bcbc7c893cceb998bcf24bf9bcde5e8bbc6edc793c850c7dbcce70d8bc8b6bdabcdc6b4b3c9b288dbca101b4bc2081d4bc63a2373c77f281bc85c67ebcc37a04bdf73e083c5c368dbcbae440bc637dd3bc441b1e3c049374bc76924e3b498600bdc5c5d83b002e82bc5239e6b9d76a9abcc7fb2c3c4b1239bcb46858bdb0445f3ff449893ea4c306bd376f6fbde7c54f3f0f177e3efa1213bd757d40bd701c2e3f0675623eee25e9bccb1e3ebd61c6133f907b443e2c08ecbc848e25bd7c1be53e28fd1e3e0cfde0bcb66924bddb72aa3e4d76fa3de45be6bc0b7012bdb833593efb9da93d1af8c1bc5f410abdbe5ac63d2daa463d04d0c7bcf401e8bc3b69ecba4c5b6b3cb2c9a3bcb7880cbd84ba003bcdf6093d824fb7bc3ee3ddbc793880bcaeb2033dd5e3c9bc4ea9cabcc9a9c2bcf9f6d93c8dfda7bc8c73afbc617aeabcdea3b63c1d609cbcd018a2bc33e0f5bc5a6fb33cfa96a5bc8c2239bc08ca07bde4b6843cf32393bc2d4ac4bbd8c504bdd7a8763c6dd195bcab6b853bfa0d00bd2783733c23cc8ebc969e40bbee2293bcebd0a53c33a031bceebd57bd69fe373fad2ed63ec1182bbdcc206fbd7bba2a3fa0a3c73edfd93ebd0f1756bd180b133f9f7eb03ec4cb2abde51240bd3240f33edb40973e767917bd5d2e34bd262bbf3e2c8a793e69170fbdeba521bd70e98b3e7f1f3f3e9c9c06bdc2e516bdcb9f333ebba5063e189cfebc2a1e09bde4c5a23da54b9e3d8570efbc44e8dbbc5403dfba16afdf3c878ac5bc1c6aeebcffc961bbef49283dd7cabbbc76b0bbbc180e94bc53e2233de14bc4bc1e70acbc1146c3bc1fd0053d9f399dbc1def8bbccf3801bdc44aee3cac9da3bcb5159cbcbdfdb9bc094cd43cfcbf59bcc4720abc4a8205bd0b05c03c478680bc31648abb1ccd01bd2a1fb03cb2bc6fbc22c8913b0e6f00bdf250b93c249e63bc127331b7278aabbcde13d93c491524bc9fee43bdbe54103fe123123face042bdff5952bd8c29043f6a63073fee8356bda94d3bbd36d8e23e46ecec3e61a232bd539b35bd9363bd3eb2dccc3e7e8332bdd02111bdc43f913ed6d39f3ead3500bd0cbf12bd5842583e18a1803ed93513bddef601bd69c2083ec38d313eb65a00bdcccae7bcc0366e3d549ad33d4e4001bd5ed4cabc990cbcbb0826103d42f9cdbc1af5a7bcff4936bc14713c3d860ab0bca1cd29bc6a7dd9bcad582d3d0a37d3bc157518bc0d8c0ebdec170e3dc5689ebcbcc0d0bbdccc15bd371dea3c217f8abcbc7fa6bb5d011fbde17add3c10d382bc6ad8d03822d71ebdb9b4b03cdb397ebc3cdab13bd96619bd9006ad3cce3779bcef44393cc5db10bdddedb73c6eb64fbc0a168b3bb559bbbcb46cd33c359bf5bb598b28bd7e2ed43e570f393f76c255bd711931bddc79c03ec2ce2d3f9e8f63bd97c720bd077ea63e2359183f0a6d4bbde72c0fbd62b3883e2029003f1f152fbdbb4506bdc6d0563e1e1fcf3efa751ebda24bebbcd84a183ebd279e3ef2b713bd0d27d2bcdcbbb63de1a25b3e540e0ebdc049afbc4ff6003df715f83d567609bdec1e9ebc60424abc4c3b133d77bad1bc968ce7bbf5d4a6bc2f812b3d0caf8fbc855514ba3ad80bbd945f153d5854a2bcc6d0e5baea400abda829d13cfef152bc7e8b1e3b7f7e23bd4081ad3c3c345abcb856de3a585b19bd4817a43c949155bc15d4d73b646222bd572c783cf3e260bcd8be933bd4f102bd64806b3c0a9735bcee156f3ca9e50cbd2f9e8a3c26ac58bc4c311b3c4139c2bcff0aa53cd539d6bb928cfabc2394863eaca5603f18dc50bdef4502bd6501713e7567523f34e469bd25b6e6bcc6fe503ea69c313f0fd921bd9bc8d2bcb6582a3e7c34193f874122bd4680b0bc1711033e7621f23e6fbf06bdee21a9bc5011b23da31ab93ee4dc03bdd50296bc967b503d92af763e374ce1bc6b715bbc84baf43b37b4073e6866fdbca6f92fbcb2c19fbc870ff13c7e65c2bc85c1633bc4bbeabc73840b3d88f74cbc367b453c0a231fbd5fbb923ccba177bc137b103cc5c720bdf548f23bdaa132bc48ca153caa0820bdd8a60b3bb03b19bc96451e3cf40c1dbd555b553b6c350ebc3d482e3cfe1417bd95a210ba040c33bc8e72403c20a309bd92f093ba53d245bc5a88713c4ef5ddbccabfdf390d2e4ebc5701403c2b9bb3bc82263b3cd774c5bbef7796bc7d40ea3dd65d843fd8883dbdb71681bca733ca3dd94f753f72bf3bbdb6836cbc70b6b13dba8b523f34ed06bd1a9d51bc4dc68e3db9fa2e3f7bfacbbc320d39bc0ce74b3dde80093fc8c6b2bcf86f15bcaa09eb3c6dc1cd3e5313a9bcb461f3bbf608eb3bdd77873ed750b0bc660281bb43426cbc4990063e31a0bcbc507584bb0202edbc667a903c33f89abc0000000000000000000000000000000046cd3c3c3c54f9bc67b2ea39c5d04fbb16f83e3cba73ebbc3cbb19bc86b82cbb53df2f3c76eae7bc839a15bcafe822bb17f3253c66bedcbcc8121fbc167683bbb2e91d3c3bd9cebc9f503ebcb5b2b8bb5b9e1f3c77f6b3bcac5b4ebc5fc512bc6c52323c2545a6bc425f10bc52e900bc0000000000000000000000000000000000000000000000000000803f00000000034765bb4ee1a6bca2c3833f05449ebc0f88c2ba85aa7abc1a885f3f22da16bcdf3810bbb45e68bc3c67383f82f2eebbec65b6ba850382bc719b113fdce887bb56d233ba525396bccdabd73e1c2aadbbe7a0053afdd6aebc0a578b3e72f0f6bbbda8c03ab4e6e1bccd95073eab0841bc00000000000000000000000000000000000000000000000000000000000000007bdbfa3c95b449bea964533c7874fb3b5a00dd3c7f7c48be96e90e3c760c173c6437903cd9ec34bedc804bba81b41b3c57974d3c65ca15bea53596bb84be123c4d47023c2427d7bdbbf966bbd709d53b27b00b3b80d664bd83bbdebad3c3943bcfb0a139d52843bc63332bbabad0543b00000000000000000000000000000000000000000000803f0000000000000000fb58e5bd4908ab3f0494e8bd44c32c3ce49498bdf91a8e3fd4fc86bd3d41493bc97d6bbd61a36b3fccb538bd090660394a9828bd06d7313fdb4ee3bcdd89ac3a17bea8bc31fce93e4d5e2dbcaf84983acef501ba5c956b3e2f65e1b8f59d123a00c4613cada5553c8b46c93b8b3f6f3a0000000000000000000000000000000003d4e13c374100be380eb33c057914bbd06a403d2f9d45bea1b8ee3c5b24523953a1183d5c8a55be8c1d003c230cd23b15bc083d73bf46bea926dbba5ad80f3c5040c13cd9d31ebe87873ebbdff4fb3bef37973c8b44e4bd8e82f4bb2fe0f03b5371233ca7746ebdaad0e6bba8d8a23b9f3209b99e5a34bc952990bb9da7803b86aeb13bb620633c98cd443b24430739dcd23bbe9ea0ab3f608d683c955e71bc591f26be1ece9b3fed75f63c7061a5bcdc270cbe79858c3f11dd2c3df6bdabbcd95fddbde48d653f5fbe533d8a5fa7bc6f5697bd3cf0293f19746a3d8a229fbc16842abd4f49db3efdba633dbb7d7ebcd4684abca5224f3eee1f503df77a4bbcf088973c5eef3d3c51b8323d73b21dbc66619e3cfc7202be3525733cd2fe68bb50e7953cda9db0bde820c03cd0070fbc9fba113d03d922be69f7433b10b610393ebf063d147a30be02c982bc7a9da13b04f1ee3c15a127beed73c6bc5011fc3bec5db73c16c202be2255dabcc759e03b39e3a03c6389c0bd8c49b6bc22c1e63b5db5693c12d15abd5e138dbce4c8ce3b822f2c3c4e958ebc6d93f1bb5df0ac3b125f213ca07baa3bc876433beeb65e3b9a5734be2f2f8e3fb82c663e7e255cbd6b673dbe577e8c3f5a35613e62306dbd504d1ebecd74763f5ae45b3e2e3a59bd9fe2f8bd1068493f47d44b3e9f594abdb2f7afbd9298133fff30333e2d3c29bdcf1e61bd3310bf3eb7be0f3ec8860abd8d8abfbc81c1353e0a9bcb3d09b1cebc1740f83af493673c683e693d39dd88bca5c5173c5689afbd5ba3763cb5aa08bc0e74b33b70387dbd6cf17b3c452b82bc8bcbdb3cdb50febd4324babcd86b02bafa56df3cdc140fbe698d35bd87e0943bb446c43c586001be59334ebd9fbddb3b1782bf3c5db1debdd1c34dbd1b1d063c40f48d3c76589cbdfe1f21bdfdad123ca1ed843cd70639bdd34bd8bc7be5df3b34e0633c2d9795bcdaa90fbcff56f23be3b5313c0d69983a8ced983b83ef723ba63827be4cf76a3f7409e63e8463bebdcab32fbeaab0643fbae6e53e30d3cfbdaf0f14be98b0493fa197d73e0549b9bd9915e7bd5789223f8e4fbc3e3415a3bddb2faebd80ecf03edb119e3ee3fb8bbd2ce160bddd469b3e15cf6a3ec7c752bda711eebcaf33173e8f97173ef5da17bd04baa4bbbe88833c77188a3d67c1abbcf633e0bab9fd80bdeb07ab3b705754bced18253bdbc62ebd2f60f93ada7b75bc5706913c443eafbd5c4b5abde3915cbad9c58b3cbca9c3bd4a0b97bd3bbb583b4361b33c9554c3bd6505aebdc84ee73bdf5e3e3c458f94bdf11c79bdb4bd363be14d8e3cc3d476bd36d675bd5904143ca9a4683c838816bdefe50bbde3ac013c9c384b3c618c72bc79f276bc1277dc3bb434213c8afcbfba4471d33a2dd2e13b84b707bedf16303f86f22f3f6cdb06beffb60cbe11c6293f1ee92f3f6a8a0ebe7d01e8bdbf8e133f52b71f3fe54ef7bda05cc3bd25e6f13e9fde0b3f73dadcbdf3d586bdb48faf3e6909d63ebe259cbd783e4abdcf976d3ebd42a03e5d1388bd3a0ee7bca5b6f13d99803b3ec88129bd6c0a33bc6527af3c9414943d6f2cc3bc7c579abbb10d36bd8af00bbccfa18bbc9a348fb88bd4c6bcc3cbb3bc5c1a61bca791333c600e3bbd4988c2bd12cfd83bbdce7d3c975877bd245ff8bd28d12b3c85a7673c28c96abd9327f3bdcdea473c8395853c2aaa60bd64efd3bde3db613c97bb4a3c182324bd298f9ebd19ea3d3cbfe54e3c93e8e1bc812442bda9fd373c7ba2203c6be752bcf06f87bc62633d3cfb16203cb180d8bac2cb843b02a0ce3b3390c4bda491e73ec0dd693f019121bed1c8ccbd82cfdb3edb3a693fa9f22cbe2a85abbde26cc03eeda4543f991918be2e8f88bd0ddd9b3e1f36323f7832f9bddda45abd22696e3efc7f0c3fde7ac9bdc65016bda43e233ee6febf3e06ff8cbdb7efcbbcf374b63dfa44553e2f8232bd049035bc84d5e43c6eac803d8676a5bc5e60b5bbc228d5bcfba0f0bcaf2b3abc32f0a1baf379c0b937ab64bd8b32c5ba8796c03bc18a31bcf6a20bbeb93b813c6a6a173ccaf1c2bc339520be31947c3ccc89443c08f7d6bc1bdb1fbe50aa873c690e123c3913dabcd98d00becf0c653c47ee1f3c1657b1bc3917c4bd92536b3caf2aff3b6c2173bca19c60bdad74403c9ee3033cd5914cbce1aa77bcab920a3c1ba9c33b1939c0baab83153c1a1ce83bc41c6abd1b576b3e93cf8d3f7f4831be7c875dbd39e1503e59298e3f6cb43abe81ae39bd9869393e64ad7e3fa0e51cbe8a4823bdfa481a3e23a6553fdc3102be952ce4bc2daaf13d9020223f2f16bfbd7adfbabced18b63dcc8fda3eea6e83bdf64482bc90506a3d7ddd663ea50515bd261920bcf190f13c1a57433d6f8a2bbc851fafbb094a68bb6f137bbd0fca4cbb6c33bcbad2f4503c1a6cdfbd2eb27a3c3c452abbd2b9f73c816e3bbee35d003d2f5d9f3b971c293c123250be9fafd33c83e5e63be74d333be4ec43be8167bf3c0d28d53bcc83b5bb4f501dbe83eb8f3cac08973b6c9fb0bb6d0ae7bd3813893c5c45d43b7d2127bc074f71bd39b2293c35a8b13b779661bc7d661dbcd59e663ba2fd353b215130bb26d0883c4ff2913bcab573bc9b8a8a3c7b61ab3f5d873cbe64ca8bbc7aa8bd3c969c9c3f761122be997f7ebce2f6bd3cc17e8e3f534e0cbe35634fbc6c74cb3cf77c6b3f2545ddbd27771ebc0feee03c04a5303f908398bddcc9fdbbfda1f53c5bb1e83e29a93fbd23dcfcbbba52fb3c0dc7663e0927b0bcb1ca06bcee1b1d3d5b92de3c6e010d3ca33474bbf6d93a3c8d49eebdf1f90b3c00000000000000000000000000000000033a613b396ebc3ccc7d4cbe6a6ad23cc5383e3b2b24a63c904a4cbe37ffa73c7be3c43b583dec3bdaf23abeb7205e3cfc03633b4b74ce3b70ed1abe23b6163c1eeb453b5083763b8b8cdcbdf17ec63bf395033a730add397f4a75bd0ab6bd3b0aff79ba1b0c98b9b2b431bc44d7173a0000000000000000000000000000000000000000000000000000803f00000000c763523c78a0ebbd45b3aa3f01d5debd0678263c1f6c9abd72c18d3f22b686bdbb9edd3b868d6ebd64546b3fedcc39bd70f1da3b7fc31dbda223313ffed9d3bcc3a9c43b309cb9bc6d97e83ea8e72fbc2a9e4e3b735b11bb1564673ebded7e3bf896163b3169333c2344183c3f7e573c0000000000000000000000000000000000000000000000000000000000000000d0700b3d53ec32be2ff8113b2edd163c3e44053d9e2e39be6d977a3bb1ff093c0282c23cdc0c22be838541bbe838fb3b08efa43c9b1c0abee57395bb9db6003c8647843c6d0cd1bdcdbd03bb0d07c73b66f8323c4ae37cbd0860043bc5b7833baa8e123c22cabdbc6741923ba29b2d3b00000000000000000000000000000000000000000000803f000000000000000082dddabd0994a63f6adfb9bd0e11913b710d9cbd3b8f8b3f4bcc66bdbca50a3ba2067bbdbeb9653f702c11bdbc1b773af03641bd7e392f3fc22ab9bc23a52f3a588305bd3ae1ec3e978470bc693bed3aad2d43bc1ad1773e51640abce20e5d3bff9a8a3a85a1063de2f9cdbba479cb3b0000000000000000000000000000000076202c3d98560bbe4309033d417c0abcf8838c3dc0e25fbe8d5d343d1491fdbbc0af683d84405dbead66d93c1e65b1bb46594a3d0e2d4cbe832e9b3c014d27bb7faa2a3d0abc29be96e5813cb2f07fbbd6340e3d51a0febdee5d793cb67a63bb8e71cd3c34a19dbd9193883c1f574abbff564c3c0733c9bcfeed933cdadcb8bb40869b3c289e15bc6090913cc0e7a0bbd66823bed3cea63f1230043dafa879bc94381ebec68b9b3f4f44203d0c7eaebc7d6901be806b873f65d4713d40f2aebc9bbec6bd1e6a5b3f8925883d2859a7bcc7388ebd8b5f223f64658d3d693b97bc926e31bd96aad13e66967e3dca9773bcd5ac51bc4c133f3e0cac593da2a855bcd08e9f3c59e881bc52d6433dced52abcc0138f3cd7cb06be2e8e8a3c23da8abb51782b3de69dfbbd387c773d9c4edfbc57d27d3d43df44bebbd3443dfab6c7bc308c603d44f642be469bf63c6690a3bc9fe45b3dda073ebe6fa3b83c52a591bc10b8333d36b519beed0c953c458772bcbad5273d449afabdc9c88e3cb2204dbc241b063d44dda4bdfd7d853cdbaf49bc6b1fce3c9a2c2ebd0bb3983c2f0518bc805aba3cc7f2b5bc5d5dcb3cffca0bbcc8c814be0421893fdccf6e3edc1a37bdc87b20bef3d9853f9c716d3e89ac49bdfd5ffdbd0926643f96c26e3e06bb43bd2ab4cabda30c393fa649613e44ee3cbd41818fbde091063fa68a433e883f29bd04872fbd61bfa93e8b44263efb1f1bbdab3c90bcd4b8193ee4a1003e076303bd2f48253c277199bce982b03d1793d5bcd3b18b3c409fe5bd5a502d3d1b97b3bc0b91003d2df3d8bdb726973df0903abde630593dc1d12abea01b4b3d6b201abd8a96573ddc4f31be0ea8da3c909601bd55d0433d689521be325e6d3c9635eabc8da73d3dbdbf10be0c8b193ced69cdbc1aea1d3d500cdebda88b093c8d1f9fbc67e20d3ddbbb9cbd9002433c686a77bcc08ae63c09b038bd21f0823cab723cbc5656d53c352ef2bc5cbacc3c3da118bcba6503be38eb5d3fe033e33ef44b98bdbd1b08bef103553fe7b5e33e3d72a5bdd77fe5bdf263363fd384da3e0271a2bdec79aebd2adc0f3f29cfc43e0c2d93bd779c81bdff49d03eb964ab3ee8e087bd1aa718bd69fe7f3e69b4873e39e571bd09fc7fbc055bce3d9465443e596453bd43a5d63b0fdfe1bc1b8cf83d841d2ebd1013233c2164c8bddf755f3d156419bddc91cf3cd05cc0bdd3d1983dae3956bd83cf2c3d12d808be697e123d02af40bd4b2d203d20f407beb0f02f3cf6be1bbd2ee12d3d46bd08beac1b2bbb915a0cbdcee1f63ca9f1d1bd40a7ab3ba85ffdbc46bc173d8686c0bdb9b4a4bbe029bcbc7e91ea3c5b7d81bd1a37813bc7608bbc1b0dcf3c868a22bd4d76263ce2753cbc56edc03c0189e4bcfda2ba3c22c80ebc7993d0bda6ba253f6547293f3878d5bde3c8d4bdd5371b3f43b2293f6226dcbda2fda8bdec41023f0d881c3fcadecdbd628586bda503ce3e5a620d3fb5b6c4bd546736bd4708923e4811df3e399fa0bdd8a8eebc43fb2b3ed3edb63eeb7b9cbd212a5fbc9789853df572783e381181bdc4cd6e3badda01bd6296103e01c957bd4c25053c210baebd65e56a3d51fd3ebd3d71b83c63379ebdb67a693d9e9e5abd89bc0b3dbfa7c8bdca799ebba0a228bd3bcc103d8afacdbdc79c0fbd91a406bd29f3063d7b5ebebd0fa031bd61a5debcef88053d557cb0bdb0c424bd7da6c0bcdd7be23caa4281bd773104bdbd0581bc080ece3c1d293bbd0bf6a7bc257c1fbc00fa973cba65d6bc0be74cbbdcadaabbf2788a3c465e96bcc35d833cfe848fbba1c296bda9e2db3ed468613f2abd01be6a2d98bd2f15c83ec5a7623f67d30cbe1fab75bd1504a73e94fa4f3fdf0301be3a763dbd3ded7f3e3d75333fa43de6bdfc5effbc7a9c2e3e6b5c133f7b01cbbd2d1aa2bc8cb2c43d9f72da3ef3b7adbd1023efbb2dc4d23c99528f3e1ef98fbd643fb13bccda0bbd6b660e3ebbcc64bd2728043c9e0b94bd3deb2a3d33594abd13686c3c604836bd0cac073cb0041cbd58cfae3c2d5d48bdb9a688bda847c4bcd356b73cb13061bd4839abbdb477aabc4085b63c91bb4dbdb729c2bd0f878ebc27149b3ccdc937bddb3099bd3c0f72bcb732913cfc8f0dbd23f085bda7caabbbf620793cbfd5c6bc170a1abde8df21bb97b7263c6b5337bc2ba571bcbb3ab83aa620143ccec2cfbb2b93173c3d2e193b23b433bd637d653e1bef893f9f710fbe09a930bdfb813e3e9eca8a3f4f351cbe297308bd90491e3eba33773fba9f07be1abed0bccf82e53dbc56553fd95eefbd114d77bcea3d943d43e5263f6632c5bdccff19bc4bc2113d92c0f23e7f1eacbd886730bb4182093b20a6923e01c283bd1635803be263c9bc9cf2ea3d2c8637bd2924e23b283d44bd09de47bafd2c21bdbbaee03b78b553bcb64383bdbbf870bc283d9f3bd7f9773cf3521ebebd1b0b3c61de093cbaed3b3aac2228beaf9a843be9f4073c739460bb3d221ebeb1d4893b0571143c618996bbd3d405be12c18c3b088be23ba733adba9452cbbdc269bf3bc28ab43be9dcc0b93ac174bdda990b3c03af4e3bc1c29fba364376bc2852163c6d9dc23aadcfbd3bf6354e3bc0370f3ce31c72bc14d8dc3c0b06a73f10151dbec80f6dbc86cc5a3c63859d3fde6114bed0ba30bc2ace033c33308d3f1d2600be1242fdbb0c42663b16fa693fb813cdbd1040a8bb123420bb5bd5343fbe99a4bdf778abba4a0f17bc0e31f93e209179bd526608b95b5e14bcb784883e3cac2ebdb7cbf73a2f4bc83a018e5f3d25df9bbcd7e23c3b459ba6bceb2c8fbd0001b4bc0000000000000000000000000000000056f49db97e1ab43c7b8335be86666d3c25312b3996aece3c716d3bbec270793c6307ff3abe966c3ccfce28be32de043c61fd053bf5c1563c6c7b10bef77ccd3b956c69ba3a63723cc2aae0bd3287ed3b34d386ba0f37683c39208dbdf48d163c04be5bbb6bae503c3b10f4bc190b1d3c0000000000000000000000000000000000000000000000000000803f000000001d56043c2156d2bd7fd3a63f3282c1bd8258aa3b36de99bd1ad18b3f60e477bd0793983b68d77abd4848673fbb5b2dbd547e8c3b31fe4fbd1505313f2e43f2bcc1d1843b18c71cbd3973f03ecc959abc75faf93a23ad9ebc46277d3e945ef1bb8237063b42ddcebbd100183dda5e99ba0000000000000000000000000000000000000000000000000000000000000000e614233cd770d4bd116e3abc3f7cac3b271b323c52dce4bd87baf5bb7c5c563bd9beab3b6d97cdbd47c821bc7d3c54ba2efef33b2530babdc2892bbc98ca02ba20b0eb3ba321a5bd5926c6bbc6ca63bb31ff463ca18c85bd827658bb61860ebb8c476f3c9e2b48bd0366b43a4ec736bb00000000000000000000000000000000000000000000803f0000000000000000c5dc77bd05e4953f944548bd7b8bdf3b6d0d2cbdd33f7c3f886be1bc8699e33b0de311bdc62b503f57a096bc5d57bb3b584d00bde853223f3f5552bc956cbf3bf591d1bc13e5e83eb45a5abc9d10d13b2166a0bcdceb8b3eee6576bc7166e73b24b185bcfeb2cb3d0763a5bcca56cc3b0000000000000000000000000000000025dcca3cff93b9bdcfe4c23c85ef74bcb1f3443dccaf28be8b77003dfef32dbc7fce1e3dc6f628be5d6ace3c71b083bc2dec0c3d85271ebed021b13ccbc57cbcf41d093d37700fbe2d58b23cf6648ebccc6a0e3d6c6fffbdb002ae3cbe5682bcf8c4133debc6d4bdba30db3c3b0875bcd45f233dc16b9fbd3b70ed3ca5ff2abc0658223d5b066dbd26fde23ced9e2abc71a3bebd7ecb943f3e2d9d3d7cf826bc435bc0bd15788c3f83a19f3dd97158bc2da299bd2904723f73beaa3d0f2038bc24d96fbdf5d2443f1c23a73dd5cb1cbcb70d3cbd13be163fdf55933d44eb09bc99f712bd7cb8d13ee5856f3d80ee09bc5c5ecbbce6b96a3ed1ea2d3dd88b15bcf39134bc2cb5683dfbe4d03ce7e0c1bbe4375abcad985ebd0d75cd3b269832bc5cc60b3d07a5cdbd5f6e7d3d337b15bd08da503dc8da23be1d84843d3be617bda3b6253d106e19bee86b563dc91413bd48fd403db4f527be49f24f3df28d15bdbe092d3df5b312bea1563e3d054b12bd75a2433d96a00fbeb570413d103609bdcaca303d96f2e3bdba02303db006f0bc08f2473df0dacdbdf5e8473de77dd0bc3ff9393dfe1897bddd93423de18c9fbc071dafbdde6d763f0911803e8644f9bc3d4bbdbd0fae6b3f220c743e50a4f8bc6cdc8fbd5d21463f38456a3e098deebc162e75bd92da243f3f7c573e8429f1bc58be39bdbf0df83eb4c8383eb185e5bc6c1d0cbd2299aa3efd8a1a3ec0dfe7bc8c2dbebcf1e73e3e8d20eb3db8bceabc0485f5bbb2ea1c3d055da43d0043dfbc38a486bbe3ca70bda859353db9efe6bc1c0df83c1f22c9bd4196b73d83e260bd0dd24b3de4ed1dbe9e3bb73d87696abddecd463d599b26be2c55983dd8415bbd713b453d0f5223be32068c3d570859bd7ef7513d9e9b1ebebdf0843d1d5f4cbd8776473d0aed0ebec0a1733dc26139bd8c964d3d70af00be715b6e3de02628bd19b54e3d2467d7bd1ffe703dc2190ebd2dee393d73daa2bd7500743d90e9e1bcba3e9dbd88fa453f539cdb3e072f57bd1cfd9ebd04763a3f9608d53e9f2756bd892a83bd082d203fc666c73e9cec4bbd652055bdcb6a013f8c75b13e2a4543bdb49023bda922c23e223a993eca024abd8e7be4bc4db6813e907f793ec9673fbd2a9d90bc649c053e82543e3e641e42bdad63a2bbb3418c3c8f6d023e4b773cbd8da39abb5a8b70bd4a6b903dccab3abdcdbcee3c4b85ccbd96a6d53dc85f83bd8117353d965d10be39edcc3d932d8abd434c2a3d383110be6ccc9c3d9d2e7bbd57c7463d26ad1bbe95af983d213f7cbd9ffd0a3df51af0bd227b863da29f4dbdc2c1433d62ae08be746e843daa5459bdf89a2e3dcceee0bd5f65753d7e4e2ebdcdbc353d1075cbbdf3c0803d1c781fbd54b12b3d5aee9bbd310d803dc0c1f1bcb00a77bd9b96153fb9a61c3fdbd68fbdbb9c71bd8a35093fcfe8173f676195bd46de4abda907ea3edc1e0a3fd44588bd77b321bd5330bc3eebb0f73e962d8abd6ff7f5bc1b288b3e497bc53e868474bda825a5bc8282333e7147a83e637f82bda8754abcc771ad3d70b7763eab5576bde6cada39de18e1bb5b062a3ecd3b7dbd693e06bbad607fbdc87bb13d470467bdfbe5e93c3469c2bdbe5dd13d22518abdca4a233d7b2802be52f7a93d73e291bd9a7c253dae0d07bea9637b3d650b82bd28ba203d279f05beb89b5c3df00575bd6263273dbb5e01bec7da513d3a9367bd3ddf1b3da43de5bd5dd23d3dafb447bdad39143d605dc7bd335f373d38b526bd2a2a123d0beba3bd5ffd3f3d00b30cbd6170073d2c8b7fbd85005b3db0ebc4bc20993cbddfd8ce3e31854c3f316cadbd938934bd31a9ba3ed9bd473fe2d5b4bd8b6c0fbd449f9d3edbc7353f7ad2a8bdc0b3d6bc7821773e9b1b1d3fb7a09ebd1cc69cbcc9a4313e26d9023f294c9abdb42535bc53a3d13d0375cc3e927c91bdf2e594bb01ed123dd38d933e617c90bd694c523b0358dabc8276393ec7af8bbd29c9223b22a284bd6ea6ae3d370681bded15b83c01789dbdaf5f8b3df57e75bd6bd1f63ce2aec6bdc2571b3d755a78bde141e23c5acec1bd7715cf3c0cb758bdf573f53c26e5cabd1673713cd89e53bd0233db3c5232babd76c8913cc04d39bd92d6db3cf7aba6bdc0eb613cb38924bde434c43ce7df87bd06ef993ce043fdbc9806a73cce9d52bd5088b33c0fd0bdbce677a73ce47618bd47410c3da91188bca42ef0bcb7c56e3eaefe7a3f9428babd2a41d6bc146f483ea132763f1500c7bd6f60a8bcf8da2c3ec360553fd931a8bd5bcd6bbc2515003e977a3b3fb8c3a3bdd05efdbb808fae3d71fc153f24b195bd941a93bb1b9b283de3f2e73e87fd91bd4833a0bab640913b5af99c3e77e086bda233de3b960d1abd9139323e679b86bd905c7f3be81771bde6de703d9ed078bd6d4a793c524656bd012f8c3c88772ebdfc3a483c211b29bd75e14ebd801e15bd0e5e783c31254abd65f865bd00970ebd4f806f3c9da04fbd5ffc56bd58d202bd7392533ca14f46bd478925bd137efabcb94d3e3c843621bd509219bd4fb4bfbc679e2c3c2a5ce0bcd3b4e3bce2d275bcb240c33b98e21dbc6de585bcbceec4bb9a95cf3b13dd1cbcef51923b9afe8abbc2223ebce0b3863db556963f3a98bebda89b26bc2fac4f3dfd038f3f6be3b3bd3aafe9bbf2a82a3dcd767b3ffb8796bd6c089fbbd119f63c0edd513f428682bdaddf2fba37f3423ce111263f91686cbdfe6d823a4822aabb9c69f43e159d59bd554b1a3bdcadacbce6ff9b3e75fc53bdd06e723ba0270fbd0708093e906e48bd81a6cc3ba5634dbd1cce8b3c2f5649bd00000000000000000000000000000000809f753b97507bbca019a3bd578e40bc6b90023b7c1432bc776dbabd536228bce43b423b6a868cbc958ea5bd8c4224bc721d313be7d485bcc38a92bdb48f23bc0ba0b53a4a6b12bc89a981bd0d1102bcdd3e16bb85b0a43a3e9862bd10b61bbbb3e86abb98fe0c3cde5026bd01461b3b0000000000000000000000000000000000000000000000000000803f00000000bce8813bcbd06dbd1811963fae1e48bd4b70863bc7e42fbd35dc7d3f6ea6f4bcca9f8e3ba24a1abd9432523fa100b6bc2c9a953bdba316bdfe74253f6ce6a6bcb3a7703b005806bdec73ee3ef6f68abce978523bc86df7bc4618923eda0e8ebccd1a723b88c900bd3f7eea3d5b97b5bc0000000000000000000000000000000000000000000000000000000000000000f17b523dbde75bbe8edf893cf9a3763b01a91f3df6374ebef4c9d13b316df03ba601033db40048be256309bb9b6b023caf8dc13c15d123bea119e4ba5ae8bf3b5a434e3c4b12d7bdfe62cebbc9eb4f3b99a2673a80a85fbd217305bc9ddfb13a5329b0bbdc3902bc001742bb81cd90ba00000000000000000000000000000000000000000000803f0000000000000000217202be5f48ac3ff617f1bd5f99213cf18c9bbd60128e3f199283bd0dc61bbb445676bd7425713f95594abd9c7f0cbbe0481ebd5449343f0465d3bcb4994fbb9f6d15bcf43ae33e6bc0cbbb8312deba263f6f3c652a613eb2aefc3b288453b90d6e0f3d1c44d2bb577a7f3c075cc23a000000000000000000000000000000006223533d36e614be1034073dab6c23bc085c5a3d01e72dbeb7f4cd3c226824bca243503d733953be05d1283c8b2f16bb01232c3decca43be5c09d3ba37e5ba3aa4a8f73c8cf118be3b0ee3bb9475c73a11c78e3c4d15c9bd68573fbc7c1296390d97cf3b69d93bbd07b453bcf236223941a911bbc65db6bbe90252bc05cbd6ba1a0a85bae757d03ce45cb9babf75e3bb3fb74fbe4893ab3f0ee6d2bbcb08ccbb689622be1303953f4a9f313df09c91bced5e12be92f38a3f5c4e293d95c6c1bc535dd4bdd5da613f9bc66a3d8bb8e2bc1c3384bd2abd233f004b903dc099d2bc5e89d3bc3f68cd3edf989c3d4889cdbcadb3c93bee89303e5a27953d6106b2bc8f8cd33c1268863cb289763d4616a1bc24bc2a3d1d7e20be01760a3d184d04bce916063d5a05bebd840d363db52ebbbcc0354a3d733020be47cf5b3c67eb49bc5d4f483d54c233bea0bb2dbb99ced9bb6ce7263d03c51cbe36ab9dbc9b1b09bb000de53ca5cfe9bdc894d0bc7546c2ba4f59ad3c784f8dbd2502eebc04a788b9c57f3e3c5ec9c8bc10a1d0bc3b41cbbae042c73b50897a3a3e3d8bbc256a963a7465973baaebac3cee2a62bb643e82b963363cbea1898b3fa9c54f3e8cbd33bdd89f44bec8dd893fa703543e1ad258bd310d23be1db1733f8622573ed20569bd198df2bd706d413f0edc553e87886cbd1c769abdaa1d0a3fcccd463e916e5bbdcbf11cbd7720a13eaf9a3a3e74e64dbd09f6cdbb2625f93d006f143ed1e92bbdfe944a3c238a67bcff20bb3d2152f6bc21f3893c2586d2bd5fbf443d7475bcbc87e3bf3c2f6c96bd5811223dd5cae0bc9c98233d3628e9bd144822bcf56d3ebc06dd1b3d8856f7bd333314bd768149bbc013023d2764d1bd708a52bd414e50bb8a40db3ca9849abddea45fbd7f3c183bbb56863c82c81bbd48e449bd89697e3be4b74e3cfffc33bcd97522bd7f4db03bafcd0f3c4ecd2c3c4e96a6bc44d1c93b3258be3b7caebe3c81ed66bb6519a03b82e033be88ed693f43dbd43e9506acbd2ec932be90e45c3f30d3e13e6ccbcdbd508912be31a73f3f14f8d93ef64cd0bd960cd8bd6c97153f46c5ca3e59d4c3bdc9c68dbd3c35ce3e51fab43efc24b6bd0fee18bd809a6f3e17b8913e65daa1bd55c55ebcc803bb3d6f514a3eed0e6dbd64cc943ab7764bbc9700e23d698925bdc0fd3a3bac5eb1bd2b34293d309af0bc5e888b3c72f037bdd07ba33ccbd9f3bc0254d83c242f88bdd54621bda6b148bcee54ec3c21b295bdf42590bd47ae8dbb52b3d13cbff46ebd2421b6bd076f803ae9d6813ccb0822bdeaf299bdc7e4b3b93821703ca14693bc12fd8fbd138cf93b9e600e3cad65d9ba857537bdc565ef3bc3f7013cd78e653cc715b0bc01e1283c291f983b0655c83c4c909ebbe5bf1f3cb65210be2eb22c3f36252b3f86c801be92270dbeb03f203fe4792e3f59510fbe807be2bd5d4a073fa18f263f1c610fbec0f0a7bdd009cf3eaf68173fdba105bed1c555bdbc168c3eef87f73e932adabdddf6fdbc7eb6233eea0fbc3ecd51c1bd60fb70bcba438f3d96cb6a3e696685bd9ebcf2bbfb48edbba58ddf3d4bbc33bd00eddf39a42a75bd6a72a83c7fee02bddeb50c3c2b1e15bc374e21bcdfefc3bc6be2883cabde9dbce2cbaebd5c187fb9e87e983cc5ccafbc7106f5bd7084be3bd1389d3c8ff690bce13cffbd19da963b839d633c54f3ffbbfbb3efbdeb40413c7024333c47881fbba621b2bd35e3683cdb15313ce103aa3be44b69bd18475d3ced839f3bb37f3f3c2b0ad2bc07dc7f3c2c97803bec2fa63cef32f7ba392a6d3c2b82c4bd5ac6d83ea535683f54bf22be40dec3bd5216c63e347e683fc90933bebccc94bd6b8ea03e749f5b3f7ab12bbe27205ebd79be6f3e78d93f3f969f18be21f112bd8170263e50601a3f89cd03be18a4e1bc99aae23dd00ed93e7f95cabdd524aebc7a93743d2160783ed56382bd42ad33bc6d237e3cc71dbf3db49c1abd662f02bc79b8d0bcbbd40cbc054addbceb1f053b2b579d3c359737bd081756bbab3a043c0b199d3c80e908be853a863c6412533cedf5853c22b028be32dc823ce80f333c66bb873c68952abe74749a3c1a3d2d3cd851203c700712be9a4c923cd23c0c3cc37b3d3c8c42e0bda2ad9d3c6274f23b720ba93b044271bd47b8793c37e0873b381dda3b1a3ac5bce88f6f3c3cf90d3958fc4d3c0d4c17bb3ae84f3c41d858bd78ec523e66148b3f088831be59a143bd25e22b3e83ef8d3fc53042be3e360abd80f6fe3da264833f7dfc36be9049dabc2833c43d499b5e3f983a1bbee4dc95bc37e59a3d7e0b2d3fe705fabd87fc84bc3f20843d98cde73e1b26b5bd57675bbc3456413dfbcc743e37105abd40af53bcf975093d2f9d823dff4da2bcb2bc36bc3cb7223c4dc01cbd57ba38bcf0d0a5ba84cc1f3d0fd9f5bdbdfbc83c87888cbadd2f203de1bc1dbe9031093d2b67133c161afd3cb74749bedb22e93cddb2f43b7590d63c57b445be7bade73c115be03bb7a4943c833220be3714b63c818a8c3ba7b21d3cecfee2bddc24993c3ba0693b5de3ac3b0b3973bd9e62313c6e80743ae83de039d40c92bc5083863bece613ba497ebd3b228f553c3af7333c34d3fdbb6e9558bb0d66ab3f57d648bee04877bc8983b93cc61d963f2d3f23be0db812bcb6ba0dba10758e3f41ae1dbe9c7ab6bb3246f93ae4046d3fe42b02be430098bb081b073cef22333fc1d2bbbde5a773bb7feebc3c15fce93e084272bd5b5fc3bbfeeb063df5e8613e639fb9bc9b0f14bc71070e3dd3544d3d3fd7bb3bb6d90ebc6801013df24afdbd3eee913c00000000000000000000000000000000c0dcf0bab492403dc0915dbe8f851a3d30fb3f3bf05e103d71274fbec081e33c79dbc23b9d9fc23c3f0b49be33eaad3c1ea6363b9dbe9b3cc2ef22beea83833cbd0e943ab793293c4c26d8bd5414103cf39832ba6a3ce93a047b5abd786fce3af17706bb3b9134bb284cccbbac86d6b90000000000000000000000000000000000000000000000000000803f000000002689973c23d201be9c3eab3fadf800befcf14a3c6cfba7bd44fd8c3fc4859fbd94d5313c0d3086bdde426d3f9d727bbd5591313c00f02bbdf5112f3fef941dbd6395fc3b0c1975bcc71edc3e5a6a46bce3459c3b6d3c1d3cfce8533e8740173c08935fb9387cfc3c552c8abc5105e73c0000000000000000000000000000000000000000000000000000000000000000978c503d287a4fbe420f233c0628fb3b2a7e2c3d665748beffe0573cc5b6cf3b44c9103de5a041be3f790b3ca84a1c3c1b27e13c0ca51fbe0c340d3c5c18063c3632823c5f7cdfbd1eadf33b7813e73b21e1853b90805bbdaf549b3b1bcead3b2bcc1cbbecdb1ebca096833b8985143a00000000000000000000000000000000000000000000803f0000000000000000e7a008be4091ac3f13e8edbdb7199b3bf470b0bd1c6d8e3f6fc19bbdaa96b439dc768cbd4c476f3f607389bd6a7844bac40a38bd3c78333f1fd94bbd5bdc4bbac7f67bbc2e96e43e3ba10dbd56dbf93a1c41f63b2d8e5d3e016f82bcb896233a76c6ee3c953922bc0bcf13bcc0367f3b00000000000000000000000000000000f729853d093742beb0ed753df76c87bc81068a3df81257be938f8c3d9aeeaabc233e733d849c66be82a95b3dc71f5ebcb3874c3d596b4ebe3c3f3f3d8b8837bc43910a3db4561cbe06661c3dcc3008bc3a3d9c3c1811c8bd359dd23cc8920abc8ac9e13b71d52cbd647c713c927db2bbb11299bbacbad63b1c11be3b0c1b92bb31b822bb4b21ed3c05a00e3c4473d7bb5c9242bea95cad3f1551b0bc03d5b7bbbad61fbe0a96953f524c9b3cc0e562bcc61604be5b52853f4dc3cf3c084979bce578bcbd612d533f0f8c263d846f9abcabb158bd78d6133f1e3b5f3d94439dbc01df81bc97ccab3e9f67893d85ed9dbc37de2b3c01e6eb3d657b923d91e0a9bcb3d4053dd23d4bbd69e39a3dde11c5bcaf84353dde5957bea909483d7c1565bc287c6d3dd96435bead2ffa3dea1e3fbdb12e883d0f6e5bbe9697c43d9ba11fbd86a2773daf7e54be08339b3d289200bde4633f3d4d462fbeb539783dced6dcbca4ae093dae9a00beb2ef383dfd18cfbcfbc69d3c209a88bd5929d53cb46994bc49ae3a3c6c10cfbc8a4d993c2a8546bcc1a4973b04c3363ca8a7ce3b1bfe09bc4c9bf7ba9b7c043d55a8763c67e126bce8c921be5f008a3fb16e253ee1e3c6bc6f701fbe5464823fe356383e71200dbdb4c0fdbd1ce65a3f58094a3ea65322bdf04aaebdfa2e233f99c9513e945122bdd15e48bd1707d63ee1f14d3e2af917bd2c1d8dbc744e4f3e92874d3e11532bbdd177e33b3adcdd3c4bca333ea0eb2cbd5924b33c84dad9bde43a143ef47623bd2ac0f33cbabc49bed444de3d8f6606bdea0a3a3d6f9d25be24801c3e981f95bdeeb6693d37d532be93bddc3dfbc36abd42a7383d034d21be435a913d5e3243bd7972103d6e9df1bd64ec493dcbc32bbd72b9c83cab829bbd2d8dda3c411904bde619673cfb6913bd22950c3c3f66b3bc75bffe3b8b6bf2bad85d1a3b9ebf5bbc3698483b2ee5b13cb4c84cba478835ba98f0b2ba8012073d6882413c1cfd5cbbcbb905be776a593f6618be3e5f7626bd820f02bed7a0433f18cace3e531877bd7117c1bd2f111c3f64ebd63eae9387bdd8457ebd07cbd93e3959d03e4fa687bd0d1807bd6e307a3edf18c63e7a058abd82a247bc4889bd3de065b03eb22b8bbd584fa73b59ac0abdd09d8f3e8c2284bde8dc993cd64402beaf9b523e9d5483bd8889af3c28943ebe72c30e3e18b953bd629a123d6c5a04be38fa1d3e5012a7bd8cdb1a3d16a1f9bd3383b63df4da83bd057ef73c7217d4bdb8cc393d93f85abdfe3abc3c2a9186bd60ca303c962b1fbd016a823cdb5f4ebd58ef613c62f01abd696d193cd52115bc08b3afbc9a6876bcc5a3a73b022ccf3b03153fbcb4c3a5bb9535bd3a623fd33c7c3744bc81e20a3cc5d81ebb9e72113d2ab20c3ba1b0fc3be41bbfbd53d0163f87371d3f0e978fbde187aebd500d013f3846263f672eb5bd1b5e7cbd09d2c43e32be243f64c1babd4c361cbdd219743eba861e3f00e4c5bd12ca9dbcd023043e51a1083fb38bb0bd09d096bb2cbc823c9127ed3e2c2cbdbd200eaa3bab1364bdbc28b03e8edfabbd9a9a483cf997eabdab4b6e3e89929cbdfa28883c8bdc1cbe859f103e57658abdca84af3c3a349dbd130de03d719399bdb447c23cd66266bdbfa3aa3c8c713cbd2e42973c554b1dbda99dc9bcba4304bd23a66e3cdd6591bc0a3f42bd55ddacbc340f223c153714bb88c277bdc3530ebc0345fc3b57c71e3c00a56dbd1390973b394f653b0bb39a3c1be03bbdcfa7ac3c262af73aa463bf3c723602bd0f8d023de2eb1abbbaaef83c858f03bc06e6e43c3fb572bd819ab13ee9295e3f1af3c9bd90f55cbd4d29903e64b4643f796ef8bd967c1ebd2d73443e76c45d3ffda201befaaeccbcbd5fdc3d122d493f9bb6f6bdade647bc5a780f3da15e2e3ff2d1f3bd8d5602bc4ed9e7bbf5e7073fc5f4e1bdf57a083a1e8442bdc5c2ba3e0f71c6bd1dfb733b48ee8cbdf943563e22f1adbdf556a03b0477c4bd3bc1d53d6e2099bdac7dff3bbc299cbc4d1aea3c30fc2fbdae21243cf111193b4c7884bd4eba59bcc9cc163c3200103c3ef4d1bd8e2d30bb117cc03baf4f933c7789fdbd298a113cd877a03b940e973c12cfe6bdc624743c814a7f3bfba8a23c0bd0cfbdc3fdf73cfe53513bd7a7a13ced508dbd26921c3d4d45b73a57358a3c634e25bd4862403d2924b2b91b2d903c038d61bc3083223d08afd5bc07ec163e3ebf8a3fd79afdbd17d8c3bc29a9c83daed18d3fb3a71bbef27685bc5a1f5b3d860c853f0f611abe05c62cbc4788a83cf0b56a3f477d11be82dd96bbb28582bbf42b3f3fa12e02bebcb7a4bbaaac47bced7f0c3f19c6e6bd2c0297badc17a9bca39bac3e89fac2bd9739d4ba3a4e86bc9195163e3d7395bddf8280ba3271dfbc080eea3cb41e6ebdee2d96ba7774f53c548bbdbd9fd9993b58655dbb9d6c133db9ba08beb0a6ca3cb451223a857f143d11472fbee21fe23cd643de3950070c3dddcf33be0f020d3dd64978ba70f2f43ccd711dbee508183d5679583a963aa33c398defbd66f5263d6c66e9396233223c9c0390bd25931e3dae52873a916112bbba4dbcbc798b093defb3b8b91bb7b23b449b6dbb8d2d2c3d594ee3ba6fa6b2bca00bad3fc6812bbee78813bbffde1dbc9533993fd46917bed9b4fbba71ffe1bc9a36903f535112be6fdfcabad0c0d3bcd1b0743f07a404bebe027d3a26b5a6bc6bff3d3f6321debd0bab27bb2f8ffbba71bb003f23eca9bd0d25e7baec99213ce54b8a3e414065bdea423abb9153d03ce6018a3db8b8bdbc45a3d3bbc595ef3c9beccdbdd270bbbc0000000000000000000000000000000032b516bce0996c3d62e75abe9d1c303d8788ccbbd99e453d1bb350be90051a3d7e98a9bb1c602b3d803948bee584113de9e87dbb8296023d9dda26be013d0d3d695e39bbc52ea63c47cde5bdc447de3c610ad0ba6067ce3bda3871bd2aa99d3ca718c6ba745011bb289275bc1c5a9c3c0000000000000000000000000000000000000000000000000000803f000000007af0603c1194ecbd3f70ab3feccefcbd198ed53b426d97bd1a7d8d3f1191acbd49f2bb3badec72bde6256d3ffb0090bd6bb9803b13a215bd6a3d303f67ef50bddbe6f63aef0225bcb66ee13ed426efbcffca0d396663693ce5e8533e36738bbbb80411bba90e1e3df74cafbc610c6a3c00000000000000000000000000000000000000000000000000000000000000001c164a3d67a754be850e17399058603c2498303da35658be30cb653c53c1263c0ca1223d3b0b4dbe90086d3c93a12e3c70da163df32836bebc0e933cb980283c2449013d8c1e12be5509ae3cf15cea3ba3f6ad3c8eadbebd2976cf3c6892b83bf05aba3cae8d7abdd580e43c18345fb900000000000000000000000000000000000000000000803f000000000000000030eed4bd109aad3f3f5eeabd6e4695bbd9df8abdc3cb903fbf99b7bdd9b064bbd03f5fbdeaa1703f95f3b2bd1145bb37b17b2abdf442383fcf69acbdfd9c633b6767d8bc508bf93ea1369abd9d5bc63b9f9de5bb99777f3e61ca79bd0b9ebe3b26d02f3b065b0f3d1d1a7abd662a613c00000000000000000000000000000000dceb9e3db83f74bec078a23d69939cbc2bf7a33daa9f9bbe75f0e63d2d8305bd0aa38d3d1bfc94bea02cd03d13fa04bde9b27c3dffde88bec410cd3d645106bd27f54c3d702d65be1645c73dfc910cbd74ef1e3d8b1a2fbefffeba3df94a10bd0231d93c7d6ae4bd6dd3a73d97ba11bdad95333cdaa141bdb85c9b3df90d1cbdfe3e933cd37740bdc5f6943d2bc71fbdf15902bef621ae3f261264bddf70f73b20a8cfbdf9e29d3fb0db45bd679a233c20569dbdfc3f863fa80112bd5ceb6d3c3f2c5ebd9e91533febbbafbc3385613cc653f3bcddc9153fbac75fbcae1a8a3cf4f00dbc7e0faf3e3614a33a9ed07d3c2bae473cbfaeda3dee0f873cee3d703c4d210c3d0415dabde401213d475c303cca85063d35a453be13bb373cea639e3cac7c9f3dae6084be70803a3eff6f89bdc5979f3d51509bbe2aa4433e1e1c9fbdbfd58a3d4eff90be94a8313ea7c3a2bd41625c3d0dba7ebeeff5253ed2a6a3bd21ab2f3de50551bed87a173ef24da6bd24f3f73c15a21abecfe2093e1fafaabd4eb9953c05c7d0bdc822f53dfbffa2bdb4c4f63b4e5854bdc4aad33d88f1a9bdca621d3be458dabc686dd03d3b7f96bd6372afbd91d7873f938e953db8a6ef3c6015a1bd84e67b3ffd60933dbe1a0a3d1ec259bd984b4d3f127bce3de9e4073dfb3affbc9520183f50d5e03da1f40a3d249233bce692c43e1fe7f63dc1b4033d84b3b33b2dc8353e05cb063e9801073dd135ad3c02769dba3b1d073e4162d23cb0e60e3d8efd28bee6050c3e82c5b13c7e472d3d38da80be392cef3d590d693c3d227c3db77270be97f27d3e10c4e1bd50676b3dee4a84be9ac8803eae6800be49413d3d7ca96abe7b0f5b3ee538febd349d113d3d7b45be1df3433efd43febd07fdbc3cd8ec19be0bb62d3e5d2900be581a743c9cefd7bdb193153e7cb2f0bd4414c33ba08b75bd5ceef73ddd73e9bd01af61bbb89d8ebca277cc3d2982d7bdd7d4a8bb84a3e8bba13ed03d8797bbbd6c2c69bd265e473f7110843e80463b3de97f3bbdf15b2d3f4ecf8b3e21734f3d1dade7bcc100053f44ec983e7062473d981848bcfac0b33ed5519c3e76eb393de43d313be8243f3e41cf9d3e94c52d3dd9ba5c3c4a801a3d6201983e18ebff3c2635af3c9975c4bd9234903ed605b63c3833003d285c53be3902853e9b23513cdf6b103d37a286be3633533e2f665fbb9c64253d5b3646bec30a8c3e1b0314be8b7f093dcbbb41be2a60813ea1181cbe21d7da3c75d526be1726533e7ae015bead7a6e3c74dc02be0d12343e530017be662d513c654ed7bdf2891d3e1e7506bec18892ba75db63bd0488e93dc39005bed89d0ebbf9f1e6bc16cac43d5a21ebbda28337bc51944c3c06b0883d684cd6bda9ca3fbc06f6983ceaca913d207faebd5541f7bc492c023f3680fd3ef6d5363d56279cbc161bcd3e08a2033f6fe0463dc6becebb7c3a933e8758073f4d37153d73294c3b4194213e2b5e063f7306113d87f7303cd3c3923d5ae9f23e81cd513c2f3f9f3c886c72bded09ee3e7cb9393c306cab3ce7cb05be1421cc3ebd411cbc75bdd23c8e2556beaac9b23e733696bc3be2003d7c7b7dbe8aab893e028b22bdbebfa73cbd5909befadd783e48801dbee7f4693c0f57e9bda81c3f3ef8ec21be84d70d3cde5ab3bdbb38063e34ee14be6354de3acaea78bdeb60bd3dc6fe0cbe82a699bb4b6d11bde6a9823de7b8febd4a28dabb70fd46bc9f192c3dd81be2bd7f0432bc11522f3c3051bc3caea6b5bddecc5fbc11da0d3d9ac3453b93868fbd435f5fbc7622143daedbc03cbb1768bd550725bc9bcb8a3ecdb5433fcf41d53cd296abbb91f53e3e7f774b3fb66fc63cedf4263aa3b0e03d05254a3ffb95313c54d4e53bed92063dd92f3f3fdad7383acee9463c09c815bd1d372e3fdc1552bc4d4f5e3c70f1b7bd0d49173fae16ddbcd55b813c83b509be9ae8f73e6a3c38bd4b4a923c7e632dbe3706c13e4c4975bd027ba33c223946be5b0f8c3e3c5ba2bd9586bc3bf03e71bd7a060a3e857b04be0b191f3ba76c0ebd25125e3d74f2fcbd39b291ba0294c7bc43ec9a3b6db5dcbda87e6fbb3cd102bc7196f3bc6823bebd040e9abb17da923b9cee30bd8ccf99bd0e20f5bb14f4903c0d856ebd434e6cbd609106bcdc47c83c1ee15bbdc7d314bd72b909bcec3b0a3d08ff58bd35e059bcf56a1abc0276183d6c81d6bc2b0341bb520bf7baaa71c03d29a8853f1c4e66bcf0e8363a42051d3d03d18a3ff555d8bc6e1d8e3b0ab9c43b331e833f330724bda79c5e3bfd9dd9bc78376e3f9c6352bd736ea23b0a4b4ebd54674c3fefd286bd22a7c63bcf028dbdea55263f560c9bbdc6ce033c2049a6bd3d0cf43ed4a9babdca40a13b4616a3bd6585a03e3b1ec6bdd3da003cf477cabda0123f3eeda2dabd0da7b4bb77b3883b315fc8bc7cbb8dbd0e9261bb2df4b93c6f72f9bddfa415bd825b9ebbfa01af3cd09012bebc0df1bc65ecbbbbcf69e23cbacd20bef42d72bc48d2cfbba99fe83cad0818bee17389bb154acbbb2fdfdf3cecfc04bec0587a3ccf69ccbb42e6c13c597dbcbd44d7b83cd34193bb5ccc833c836d61bdfa66213de4f8acbbc415ca3c22cb54bdd071393d3c93893b164c1bbd2cf6ac3ff436abbd33e35eb9d74708bd94f8a33fa99eb3bd4be14c3ad75319bdf34a963f3a2bbfbdd49a2d3a15eb19bd1b12813f3d0cc4bd9e898fb9edb503bd42b54f3f0cd7c5bd41389e3a252edfbc6bf2173f75cdcdbd2ad7e53a44f49cbc2c4dbb3eafe0c1bd02f6e63acce5d13ad3360c3e95bfb1bd90169bba38130dbc0e249c3cf21fdabd000000000000000000000000000000002c343abc8524443d2ee64dbe4339c23c83a1fdbb30ef373d09d65dbe9284133d96c502bce3ed263df61054be41911f3d5f07e6bbf58d1b3ddddc41be98673e3db4e7c6bb2446043d0e1420be0f82413d75448bbb452ab53c5528d5bd8d3f4c3dca2080bbeaad8e3cfd568bbdfd916f3d0000000000000000000000000000000000000000000000000000803f00000000c74f6c3b839ebbbd5186ad3ff2edd9bdef2800bbce2454bd1675913fcaa9afbd8f841dbb34a021bdcd94733f3521abbd88305abbe938c3bc71ac3b3f1477a1bd20bd7cbb7490e7bb3738003fb2958fbd0d122bbb4509313cda54833e94ce60bd4f1579bbc2edfb3cdedc0b3df13a5cbd0000000000000000000000000000000000000000000000000000000000000000ce1772bcd9eff9bc092078bc82b99b3aa71635bc36350dbd03524dbcc0fa313b03a826bc65d102bdf53638bcbcd3e33a0dbff6bb6ed1ebbc04d631bccfe3c73a2b67d9bbce30d6bcd91441bc4d23f4b8027aa5bb5264b2bc77974bbcc7888cba9cab56bbca0967bcebed58bcc3182cbb00000000000000000000000000000000000000000000803f00000000000000001bc55dbdb1168b3f845179bc9d2bbebbf4de14bdddaa673f6727a4bb7e826ebbe83fe8bcaecc3b3f402bf0ba94c571bbef34aabc6122113f19797fba665503bb853497bc9c9ad03e37f07abb04eef5ba3e4e91bc0342813e8bcf05bca9a24abac0c8a4bc1a35d03d70306abc93ad64b8000000000000000000000000000000004fd1c0bc27b13cbb5a6513bc1db2a6bbf632aebcc525fabc506b85bce28895b9d7a18dbc30a115bdb9c676bc65c996b9560f63bc058112bdd74272bc3a219e3a3bff3ebc5e9404bdcc875dbc51ae6c3a7fa108bc62f4edbc94b57bbcee21b7b9c078cebb8d31bcbcaa7f7ebc5c048cbaf64c03bb6ff853bc2e5763bcaeddabba77adc4ba22eb3fb92deb08bc050d50bb6812b0bdac398c3fc15dee3d8037c2bc41babebdcd0a843f3501dd3d0c68c4bce86e8fbdd70a5e3f8403d03d5e789abca2945dbded4d333fc948b23dc80880bca65630bddfd6083f9e88893d9e7843bc386319bd4f16c43e6c1b453d476127bcdc8c08bd88ea6f3eea3fd23c05e6febb271bf9bcb43fbd3d8bd33c3bcdfe9bbbae59cebcffbcb0bc503c4dbc001da6bb9328cbbcc866ac3bc7d98a3acdd8fdbbbd5bc8bc1c4d5abccdcedbbb29a880bb3c8487bcdee9afbc831411bcd528aab92d0476bcf81bd6bc38bc48bcdbb8e739faf02abcc8e9b3bcc7813dbcaa3fc3b848210fbc670eb6bc3e3163bc69c309bab379c4bbd18482bc520730bc1897b1ba78104abb591109bce00e37bc66efb1ba99f3febacd122b3ae37a95bb7295b6ba18c4aabdc3b16b3fc68e8a3ed23d1cbd6b07cdbdfe05623fa726823e362136bdb07c90bddf0b393f905f653ef8f808bd0a0f87bde6a71c3f1fc0403e6980efbc6c8847bd27c2ec3edd62153e6f4cb0bc4d803dbd7730ad3e9abddc3d2217a2bcff5615bd4ebb563e2b908b3dab805fbc60cb0dbdd7ccb73d885fd73c5cc34ebc6a8fc6bca34e1fbc1e81abbbcb520dbc8edbc3bcb46bc93b7344183c07600dbcb4dfcebc57fbfdbb03bd103b58588fbbdbae90bc8ce49bbc495bd0bb712d87ba41af58bcbc33b4bc8cbf1dbc25240f3ac53428bca79aaabcabc729bc3ec3273ac268ffbb77d89dbcc32d3ebc9332d6399babbabb99d274bc69f036bcd36b07ba968379bbc55d02bc79aefabbcdf6c8b9dcf143bb72d947b91c68a6ba5f6636ba153498bdab26403f2cf2da3e6c6d4cbd0d27babdf2bf373fbc16d03e987b80bd3bfa9cbd82061e3f4627b53e01f64abd8be281bdc43e013fdf53963e881324bd8e9357bd7121c83ee5d66c3e752704bde1a139bd0358903ef9262d3e6a2ad7bc554921bd61b5343e72c6db3d3342b1bc6b680bbdaa009f3de1d7483defb28cbcb564c0bcba68a2bbb62b0bba76143fbc7e00abbc706e483bbdf27a3c235e0fbcdc3fa4bc82b717bcc775da3b22fbb0bb7ea14abcf87a8dbcf01242bbc30d32ba56de35bc288baabc884404bc35d19f3a21f5debb4ed572bc6c32d6bb12f6953a52afd2bb550396bc8a5d25bcea3e8c3a4c2e9abb8ba15bbcc18605bc75469d38c7d04abb78e00abc97e690bbe2b3fa3859ef2dbb0598f9ba0d72cd3ada6c7b39efe180bd5241163fbab0163ff3d27cbd8ad39bbd67dc0d3f9ec20e3f651a95bde6ba79bd02b3f13ebf09f43ee6c863bd75e163bd6b64ca3e586bcd3ee6a747bd628313bdf97d963e2305993e1421f4bc187025bdfff3633ecd4b6b3e905d01bdb7ec01bd85b00c3e9e2d143e1a80bcbc46efecbc65d5783d78c28c3d627ca0bcab1fa8bc83caa5bb8a17fc3a6b4959bc46c288bcb5c26bbbac21943c95ca01bce78373bc0bbd80bc0d27d13bf9b893bb2d9825bc113bbabc5485b9bbce24573a2084f0bb364dbebc27302cbc05b61e3b9295bcbbcf5bafbc7adc41bcf358193b8d0f63bb341fa1bc350a4cbc4ef7d33a867a45bbbeb583bc09f722bc5f933f3ad267c4b9aa6c3bbccc6b5cbb4317783a5d9007bbc4e780bbf0d3343babffec3ac45c52bd8468da3e31c2403f61d893bd268b81bd6143ce3e4c9f383ffab7b3bdd4b25cbd42bdb23eb6491f3ff5d28fbde96b39bdf957933e2f94023fe25c61bd5f4c1cbdabb2653e7202cb3ed6d92dbd71af05bdd9d7243e90c0933e301e0abdead8e3bc9ac9c93dfab13b3e9e30d9bc81cecdbc14ac1f3dce1baf3df504a8bc7d0e80bc99d304bc204e273a359a49bcf2ef32bcd39853bccc7b743c9d9be2bb502ffbbb79e8cdbc022c8bbafbd428bb9f879fbba3a2c6bceec947bc56de333b388754bb036cd7bc47f589bc4ee8403b182436bbd8f2aebcefbf77bc546e1f3b955af5baf6b0adbce82387bce0e0c93af61895ba452881bc35da40bcffcc2f3aa9e9b1b919314fbca2d6e5bbb868d5b911ab82baf608bdbbc8f15c3b13c5753a30cf1fbd8bf4893e7f5a6c3f5997a9bd4f1b3dbd34a2803ee478623fd8eec8bd6f1414bd830b603ecdf4393fec6a83bd53d405bd353e3a3ebcd31d3fe06669bd8b0ccabc3b980e3e25f5ee3edea31dbd636ebebc69bbca3d5ba1af3eba3406bd46ea91bc2ce3703de6f85b3ee54dc0bc7b1870bc47e0843cfe73c33d72e0a9bc8d5f28bc17105dbce08c9ebbaa3a4cbc546069bb5a88c1bca837a33b14ab86bb505efe3a57440abdbbd0b7bca910ecb92b4b093b097d01bd9100f3bc40754c3b0e32dd3a24a7e3bc0128f6bc2f5f593be505df3a74a0b9bcc884d7bc24953d3b45b1bd3a89d6acbc33f7d2bc235ee6398ae8a73af77f8fbc79baabbc187c84ba77d4ef3aa6a650bc632243bc9d078dba5257a2b9db3efbbba4402f3aa0d605b92f41c3bca885ec3d80698c3fe684adbd8aa6c8bc74d8d63d7148843fbba1b6bd187aa7bcf197c53d4bcf5e3f228081bdb6cb8abce0b5a53d582a343f718839bd1c6154bc28c17e3d0f81093f6b3403bd9d9531bc85b9223d6f86c53e8d64c6bc7ce5f3bbefd4873c33ac723eb45599bcc65572bb6ce2debb969bc33d8e6a78bc5e2d46bb2807aebc5d8995bcb60a40bc00000000000000000000000000000000c540b23bb62deebc453cdbbc3bfb2d3b4a60a53b5cecc2bcf47a03bd1dff613b47c1833bd0baa1bce2e3f5bc5ae0303b0f76283bdb0194bc73cde1bcdc5ba03a108a243bf69173bc50cecdbccebccb3843e5193b2a514abca466c4bc82942bbb44529d3a8f4232bc5de970bc651459bb0000000000000000000000000000000000000000000000000000803f0000000013f2bcbbddd394bcc9458b3f74264ebd9e6293bb65be17bc0e01683fcd82fbbc5efa6fbb4457c1bb83ed3b3f788ea3bc546650bb363a00bcb868113fa29550bcecce92ba694a29bc9054d13ebe1106bcb9e0763ad16a70bc179a813ee630f2bb8549443b3702b2bc4264d13da31004bc00000000000000000000000000000000000000000000000000000000000000009959e5bcb17b1b3cf2bd1abba76384bbcf91adbc8207a7394ad519bbb6a6fdbac67296bc28627abb653e3bbbc9aaf0ba185e7abcf51ec1bb1b6871bb43f41abbbfe85abcd36ff8bbad15cebb37cb5dbb1dcf33bc5580ebbbcf15f7bbe8836cbbeaf453bcaf80aebb27501dbcc91793bb00000000000000000000000000000000000000000000803f0000000000000000e1e4e6bc8d887a3fd70e84baf03b20bc049aa7bc4298533fded1ee3afc02dabb8a9793bc13b72e3fb12e183bd1c6b2bb77c088bc81000a3f93c0ab3a197c9abb70bf8dbc7b72cc3ea0e5e0ba99a89abb0a0390bcc2ad853e2ddc9cbb38aa62bb79e0b4bc0000013eb0d611bc3fc15abb00000000000000000000000000000000e3ba1fbdaf2ac73c0667d13bd14223bc26922abd0327853cdaaea93b3b96fdbb89bd0cbd1c83c93b7a4a423bc6ebc6bbd324f3bc4e84dab79c36a53adb468ebb147cbebc35f404bb492210bb16f27ebb4740b3bca392aebb091626bbc98a91bb5dfb9cbc2bcfaebb3b309cbb92dcadbb659685bc23c43cbbfa39d1bb4883b8bb703673bc1c3e583b02b012bb52fab2bb2bc13cbd21e37b3f0aa9073e4718b2bcfba74fbdc138663fce15f83d6ed0b9bc26bd25bd7223433f1cdfdd3d780f99bceb4b14bd9e44213f89afbb3dc01a76bc957b00bdb2dffc3e1fdc903d675e42bc779f03bd451cbc3e77f95b3d4ae357bc2b4801bd8fee753e302a073da29222bc2f8407bda952f03dc709483cd6f212bc1054eabc74df803b93382dbbc38507bce01726bd7649bf3c033a883cbc3e3dbced6a39bd1d48a83cb2ec803ca6bd50bc50450fbd3583163c1cd0343cc51e06bc86350abd43c6963b0f190f3c798f00bcd9bfd9bc98d8ac3a4671c23bd586c0bb7641dbbca3a739ba75a8863b93df0cbc3508a4bc5ef29aba1563173ba116b6bb4f5ba1bc8f07c23a1e7fb03a0c52ccbbb0d684bc6ce7923bce28843b607d9abbdcee51bd6311583f13d38c3e7b0d00bd3acd76bd190d463fb494813e041513bd0d183bbdc103263fdc4f5f3e7e08d9bcb25f3dbd31d30c3f8b113e3e22c7cfbc763619bd23d9da3ec1d0153eed239cbc2fe626bd3258a53e7720e73d9d059bbc698609bd8054573e2c71973d458073bc8ac716bd21dbdc3d88521c3dfbd671bcc423edbc10c7f43b482db53b17c93abc14c11fbdedcca73cdb19c73cdef366bc005b39bd44f3963c2ea4d13cf1796cbcaa9517bd83b0233cce08b43c6e8d47bc1c1208bd31048b3bbdf2733c8fca0bbc26ffe6bc3219bd3a45a63f3c0720eebb8af2d3bc95f64db9cab9183c0050efbb69aab6bccb1c80ba4339f23b4937c3bba8aaafbc3482adb85024ff3bac8bbfbbd76580bcdd9c8b3b73e8003c4767c6bb8f7e4cbdb8de323f7534d53ec2ee17bdaa107bbd02a6243f1f03c53e069c35bd4c7a53bdba3d0d3fe1fbaa3eb14112bd6c4944bd49b6ea3e336e8f3e85cc00bd6c522bbd7151b93e983c653e0d1fd7bc63a027bdf8ba8a3e62e82e3ea82ac4bccf111abd292a373ee411ec3d28bda2bc68aa12bd2471b83dcab5803dc30599bce1feddbc6e75253c3ac64c3c3be560bcfd3810bda6f0763c73f0fb3c95696dbcc76320bd70404b3c9703033d813a6cbc3a6a00bd2a78963b95aeb13c32b72bbc2404f2bc4d68e63a3af69c3c612c0bbcbb80abbc48b62238736d523c89b7bcbb52aababcb5351bbb89824b3c9ca8d5bb765599bc9cbb45bb5ae7363caa448bbbbbf691bcdcca6dba6ed3403c4efc9bbbfa2c74bc21aff43af225513ce37f70bb51f23bbdbd5b0e3f13ef0e3f4aa82bbd973d5fbd1032023f0648033fd11f46bdc8c037bd36fadc3ea0f5e03e75571abd328f35bd92c8ba3ee2f1be3e72970fbd6b6800bd2a868f3e946b933eb13cbdbc826b19bdf54e5c3e14f4673e5ef0d5bcdbacf3bc8f4d103e95be1b3eb31faebc0b8905bd5a02913d06b4ab3d9967a1bc2849cdbc32d2a63b297f843cee8876bcac69f3bc2fb6083c1bc9103d929a79bcc52708bdc1eb873bc30f1a3d5ae177bc9122ecbc7b8902ba053ed93cf12124bc2c34c6bca34934bb52f6a93ce2bf0dbc5e63a8bc42bd98bb5f77803c90d7cbbb7e1891bcaa2ec6bb36b04f3c5e5cbdbbee3785bc2840d3bba03e4b3c5216aebbd47863bcbe439fbb2654593ce2468dbbf08847bcedd1acba4d3a6d3c4b5845bb6e6e24bd4c3ed43e657b333f2c463ebd870249bd5a56c23ec556263f5ef456bd356e2bbd57fba63e06860e3f2b5730bddea91fbd10338b3e19bbee3edc3d18bd47fb0abd25bc5a3e3292bd3e08a9f2bcdd0202bd850a223e6a998f3eb736dbbc3d3df4bc4537cf3d10d2403ef87fcebce28dddbcb47b453d7a22d33ded35adbc87c2a8bc54b29639b366923cd5bd7abc4a0eb6bce8ccccb9f19a153d43c24fbccb5ebfbc8d97b1bbebe8173da36a5fbc5e1a91bc7eadcabb3d32b33c76e7fbbb784885bc98ac05bc5902973cca9accbb1c1850bc18170abc4ee0463c1d8ba7bb7cdd42bca4b426bca8bb1c3c9e78afbb6d9310bc5f140abc2106063c85a191bb8f4807bc812b18bc9171323c9bfd87bb2ace1ebc73a58abbf0f3453cc23646bb186b04bdc67b8b3e9e24583f59dc3bbd3c8c1dbd2c227e3ec32e473feb735cbdbce6f5bcd004593e5800273f92e612bd44c9f2bc50fe333ee9280e3fc2ac08bde22cbfbcb42f0c3e6e01de3e7efecdbced06c4bc5097cc3d7d17a93e5ec5c6bcfa0b9cbc0e487e3d5b755f3e13549dbcf6f39bbc1e95c13cb5a4ef3d69c9a0bce0097bbc1e97bebba029883cf14676bcd80c56bc7df11cbc06a60c3d074d20bcd7f432bcb85779bcc04cdd3ceb2e0bbc7fa206bcf59a68bc5f567b3c4373b4bb261cbabb4d3d65bc3d750e3cf9448cbb6ed5b5bb1c494fbcff9c9e3bc9285cbb2c1a7fbbe5f86cbc296ef83a00b191bbf0fe3abb7fa459bc17841c3a5e8890bbd6253bbaf88065bc0aa63c3b5dee8bbb26272fbbfc6e12bc7f6c163c0cb527bb886ababcafec053e6a957c3f15272bbd693ab5bc73daef3dc50d663f47552dbd25f9a0bc1bd2cf3db68c433fb6a2f7bc529197bcb5a1aa3d8b0b223f6cd8c5bcd0c868bc3b96813d2cd7fe3ee3e0a4bc2f9952bcbd02263d8ff9be3e76828dbcf00530bc78eea83c2e9f7b3e54fb80bc610105bc32b216bbcdcbfc3d717d83bcfa3afabb816c6abc97c21e3cf8b255bc0000000000000000000000000000000029199bba5a3487bcf3ed7c3c171031bb3bd9ed362ec161bc8476833ba6a98cbab859a03a32fd37bc60e896ba54699bba093c503a49d43cbc7aeb66bb8113a7ba8194bf3a96e333bc760ac0bbf17d03bb641d2b3b6b0d37bc6e23c8bbb0cf37bb81d9253ba8ba42bce3404bbbbe2548bb0000000000000000000000000000000000000000000000000000803f0000000059cc11bc64cca4bb551f7b3f04aaafbcd9ddd3bbbc6f59bbc5c3533f87554dbc30e28fbbe0d30dbb59f72e3ff7621cbc15a986bbc618aebbb8590a3f1759ebbb82a64bbbd05307bcbd3acd3ebda9d6bbef46b7ba6cdd4bbccc3d863ed0f4e5bbdfc46cba750592bcf665033ec6e810bc0000000000000000000000000000000000000000000000000000000000000000042121bccd42ec3ba8cde33a973e09bb4f73ffbba6be913bb2a8a63a9c32f0baab26eebb3ce0923b4602eb397ad20bbbd16bd8bb1cba4f3bebed913abe3ef6baab7edfbb3924403b5f6c883a571c09bb16e8debb9d07363bfa73773a899c02bbfacafebb48fc4b3b74ef1f3bb16d1dbb00000000000000000000000000000000000000000000803f000000000000000068fff0bb2a5e643f4699953a5fe767bb9b32b5bbf750433f408e943a168d2ebb3e80a7bb5719233f3271073a15822cbbddbda6bb3d47023f22f0943aea2032bbdae8b6bb88d5c33e987c793a58e03abbe7b6c9bb2df5823e8c43203a83302abb2f26f8bb3257053e9945d73a6afe60bb00000000000000000000000000000000323543bcfa29093c98e78f3b9cd071bb3b007dbc30780f3cde88a73ba27f8abb3ad54dbc1373dd3b58ad913b53c659bb7aad4bbcd60dc13b3602913b6b3e56bb286838bca06d943b5afba33b396230bb5b2c5cbcb71bc53bdf209e3bd8624dbb8ef535bc8022ac3bf94f493b90a584bbfdd045bcdecbab3bf760993b3b206ebbc36717bc10d2bb3b666b643b3f0e56bb2c4f1dbca67d643faa8f033e7241bebb037c4dbcb9fd493fbf1aea3d4af8dfbbe5f723bc36802c3ffd5dc93dbb98b3bbc93b23bccb11103f6cdea93de52cb4bb7df41bbc8504e63e991b8a3d83559dbb23e846bc4758ae3e1739533da575adbb815e25bc61306a3eedc40b3d125680bb48d93bbcf69ef13d7deda03c65febcbbd21f0ebccabbba3b1335363b766ca3bb02ef56bcf988013c0de4e33b1d6c87bb43ff89bc16ec173c90c8123c3583a2bb36a052bce73dd43b1a71dc3b762a77bb07936fbcab06d93bdba6f93bac7288bbf4504fbc6647aa3ba159e23b8eae76bb00ce4abc60a6d93b97f70b3c3d698fbb3e303cbc16db933b95d6cb3b186e5abbe5256abcd4b2c33b3ecd023cfb778dbb8ba637bc3f1a803bd8eaf03b518b89bbaee536bcb507443ffa5d833edd10e9bb165e6bbc75402d3f0194693e518111bc9ce432bcfeef133f2ab3473e40cddebb5c844dbcf745f83e92fd283e5b35f5bbfe5635bc2862c63efe96073e5f22dbbb78b854bcc7ad963e419dce3d3ffcf5bb8d572cbcb9cb483e63b28c3d583fc1bb6be159bc503bd43df3651f3df64afabb81d52bbc0c72053ce06adf3b692dd9bb1ff45abc7d4ce63bb864153cd21391bb75de89bcb8f0053c23c83a3c3339aebbf19b7bbc1a37d33bf2231f3cd1bc67bb11e075bc102ac23b8380233c3fe491bbfc1a5ebcafd9a53b2aa8133c7d1c81bb35478abcfc1cb93bad7a213c977b9bbb06f65abcda01a33baf6d163caaf08fbbf90464bc72c2ae3bb3b4223cad8b91bbdb173cbc4dc2a53bdba9083c83d952bb851b3fbc2581233f56f4c43ef39604bcc11470bccd82103f06a5ae3e947126bc03815cbc4fd2f73ef5f4953e883a00bcd41059bc384dcf3e4f467c3e14470dbc595248bc6604a63e2bd64a3eb899ffbbc3ae64bcc4867c3e92501b3e8e4404bca8374bbc02b4293e3d17d43d6f8905bc93b555bcaf5ab23da601693dcfd208bc624c31bc482fed3bd1b2023cd349cdbb5b4b51bcb530b73be38d2a3c948788bb4a0c79bc0ac6db3b9d225c3c4708b6bb4eaa55bcbaffc83b6bd51b3c94e888bb97c765bca689a23b611d403c5560a9bbf2df36bcdec24f3b13200e3c881574bbc2ca63bcf5fb9f3b23c7353c09aa7ebb6ea534bc099a2b3b52c01d3cebe637bb24bc54bcee68503bf8703b3cf32675bb923124bc0363603b3ba4123cebdf53bbf7d339bc78cb023f4415033f118006bc840c7cbca646e73e5e72e83e69172bbc70563abc5961c63ecf2cc63ec05109bc61624ebcdf21a63ebbada73e31fd1ebc908526bc40f5833e1a62863e1d37e4bbbd2a54bc95164a3eab3f4b3e5e6507bc69fc2bbc0ce7053e83a80a3eea60eebb9a9549bc58d78c3d5219983d415b01bcaba418bc77d2b43b28ec103c217ed8bb5f9e3ebcba05873b1307463c8c48a9bb8adf73bc11a5953bb3aa6c3c5194a2bb15af5ebc24f3673bdba1523c4cec88bba26666bca188ea3a143b553c9bb157bb8d4541bc40df333b532d333ce64d74bb53bb48bc6eaf333b7a90393c84fe83bb432733bc24bdf83a4f39303c9c0c83bb8e7e4abc8fa03b3b2658443cf9b781bbe43a1cbcd20f213ba0361d3c778a41bbc7b42bbcd96dc43ec2e2233feeb11cbc49085ebcc4afad3e2ff4103f17f22dbc116a4bbc9218953e5830f93ed3ff16bc36f550bce5057a3e6986d13e37eb05bc6dad33bc6fe5473e8659a73ead9305bc2be53bbc5851173e0f807e3eabac0abca37026bc3a0dcb3df7c42c3ead6d07bcc5933fbce942573d0f02ba3d9f4e0abc43db11bccdab8b3b05ae1e3cbd3dd5bb552c31bca9cd493b485b563c495a91bb748e4dbc467e143bc113753c8db193bbcbac1abcdc9eb83affec313cfa1b57bbdf0835bccef8463a5e62363cc52b8fbb6ea21cbc7bc79a3aa1532d3cbf1665bb88a527bc704b563afdd3323c536b63bb2a010abc0d493b3aa42d173c673041bb27d828bcd205913a9142403c62a46fbb9d1001bcd9a6853aebe4183c174d24bba93524bcd96a833ee688443f2ca112bc820642bc74f7673e64b92d3ff53f2abc0e1811bc96d0453e984b143f8395f3bb1a572bbcd58f253e55ecf83ec697e3bb401613bce6f1043efeb2c73e7b35f1bb8d0a22bc4c25c93d258d973e9f64fbbbf07006bc1448863d578a4b3e774dd3bb771024bc47470d3d4c79da3d3bdc03bc73d5f6bbdafb173bb5c51c3c0373c3bb438ef4bb782dc5b97c982f3c29fb07bb4a6710bc3ba39ab9bbbe563c5d6852bb021801bcea8cc4ba45ba3c3c760f15bb711beebb10d5d6b992a72b3cb6cd39bbc68ad3bb40ccabb943a9fb3b0ab32cbb5e9bd9bb730589bab1fd0a3cca962dbb5a10c8bb48ff86bad1fc053ccc1a2bbb69ebdfbb96ca8fba4ecb183ceb965abb1d60c8bbdf6915bab3dc073c91c601bb16a3e9bbf734023ef0e3643fd115d3bb82860abcec5be73d46be493fbde002bcda57febb1933c43dbc272d3f78cdccbb251716bc781da63d26b8103fb046c9bb4b82cdbbd63b853dd0d3e63ea006bfbba399dabb7d85453dcab6ae3edc17bfbbc973ccbbe636023d56376b3eaf90babb989ce7bb474a803c275bfa3dac1ae7bbd089c5bbbf3617386bcc0d3cb29aa4bb00000000000000000000000000000000fa6a9dbb01cbbdba063f033ccbd8d9ba053040bb9473f0bae428ca3b211a94ba8e2b51bb9cfd05bbd16daf3bcbff70ba22b242bbcf3af4babbda943b82a783ba3ca625bb2b9d1dbbe0a2aa3b2c5a31bb1ca21cbb5b63f7bade3b8d3b8a1eb8ba688848bb44daedbab802bf3b0f4524bb0000000000000000000000000000000000000000000000000000803f0000000037e69abb84678f3a7047643ff0b790bb57c049bbbe37beb76f73433fe62451bb2c0a5cbbc2b94cb9030b233fcf2128bbf8664cbb7c4c0bba8d67023fae6f21bb67393dbbbddcd4baf49bc43e48f921bb3ed434bb8057adba3360833e2ef349bb379e6bbb06e3e8ba0f56073e3d2d96bb0000000000000000000000000000000000000000000000000000000000000000ffce2a3cd38108be8bd49dbc65be333cb73f833b358500be659db3bc686c1e3cd19b55bb4707d3bd6fcac6bc1491db3b3ec39cbbe941acbd1f35b5bc6659903bdc1b57bb240487bd63cc91bc710b3e3bf43b8c3a38b039bdbc7e25bca75a263b3abc823bdf94a8bc809c7abbb4b70e3b00000000000000000000000000000000000000000000803f00000000000000007abdbabd2f6ba13fed6a88bd03d5773b1b1c6cbd38bd853feaf408bd2af9d73a90ea1fbd5fb7573f2a6186bc336d053a8c58d1bc5b31233f18d1c1bb9092a03914cc81bc9501df3e8b337ebbaa4d603abf2eb6bb06ec733eb60a98bb9599ed3a5450d0b975194e3d668c0cbc9c5a333b0000000000000000000000000000000083ecb33b13209dbd6aae14bcbd419e3a4408c23c34b817bef0f987bc38bf263c5583483c78b614be4d9fd4bce71e063cd50a6e3b81bdfdbd40c9f2bcbbacd43ba98fa139ea32c3bd3c63dcbca769853bf410803b24709abd753fafbcd7479a3b040a0d3c7e8b4fbd244551bc6cc1963b0a2d5d3ccd5ba9bc421484ba6afca83bf5ae3f3ca40f863a83cbb53a19b30e3b554516bea1f0a13fc202773dfe989ebcc1bf14be5d6e9a3f7d0f5c3d4d3296bccdd5e7bdd415853f0203913d7b379cbcfbbba9bd9259563f2a17993df9778cbc1d8a73bdc0551f3fde72853d182b5dbce53d25bde650d73eb812563d0eda38bcc104b1bc0027603e1361083d539d19bc211404bb446b093d7f9a863c0ff2b0bbe57d9bbb5dc6a0bd87ed13bc6b2f6bbb20437ebb7fe432bdf55c11bb3b54fabb31041e3c16b4d1bdfaf2b5bcf170163a8359753b20d7ccbda77ffcbcf0723f3af277483b6455ccbd4f9410bd13cd903a5870be3acab09bbd0c78f6bc2f8c96b97e7ad33b1ef885bd98b9e1bcf7ce0f3b09210c3c6ef625bd62e194bc0330ae3ae43e783ca8a0b2bc36cb06bcfcb9723b39fa4c3c3bdb25bb7be094394b57753b3d130dbe9594863f65f17d3ee8173cbd71ac1dbe917e853f4eda713e3fd04cbdbee0eebd9d3f613fa198663e12de2cbdd76cc6bd649e3b3fe8f4493ef1a418bd586090bd09260b3f86cb233ed0c0f1bc312c5ebd742dc03e53e7fa3dfc75d9bc9ec40cbdf308543e37ed9e3d63e3a0bc368388bc53104e3d3820083db0d467bc76e33bbc3fd340bd382b0cbba34522bcf8d156bc31e4c5bce4242a3b1def82bc0a07573ad48995bd8da1d1bc5389e6bba19b363bf3a5b1bd924c27bde6d764bb9cc9ff3a8c44a5bd1e3128bdcf0a5cbb2226fe3a59e88abd5f3916bd174887bb8590e63b268966bd23d0fdbcf3ee9dba5d691f3cf6e821bd7a87bdbc99414d3a449f673c3b8db0bc1f1234bc89125a3b61ea1d3c4a79a5bbca1e5b3a83abc23a952af5bde5d6593fad97e33ebb8492bd925109be2b17573fc76fde3e16d3a4bdad38eabd22943c3f28fbc93ed6948cbd561ebabd5544193f0001ab3e180f6dbdda4b93bd1947ea3ecfa0893ed2d33fbd7ad05dbd2404a13e2e39493e63dd19bdc9741dbd4136353ea29afa3d71d6efbc7cb5b9bc887b5b3de2375b3d7397aebcce7e8fbc5994d3bcaa69903905d890bcd7e16abca7a187bc6e64713b817f9fbc81f036bbb86c54bd4a7ef6bcda6c54bc927246ba5b1781bd599332bde61c01bcc3b2f33a92f586bdc77244bdd3c8d8bb57ea4dbb301632bd2a96f7bc1dc0f0bbc81f673bae0644bd9cf610bd59d98cbb7e65e83b343603bd19dcbfbc83e9efbae6733f3c64be9dbc91c868bc0bda1c3b3810003c32729fbb2669c83974a6183b3df8c6bdd24c253fcee3253fbfddc6bdc6cbdcbd59ce203fc7f2223f3fb4dabdc8fbb2bd8cc80b3f9abd0e3fe029b1bdaeee9cbd00acea3eed8af33ef0a799bd8d9554bd5f31ab3ef2afb33ee4bf49bdc2f445bd8cd17d3e7f81893e61d143bd8d870abd6cc5103ecdcf253e133e0abdfdbec0bc43533f3d3ca48d3d2ee6cfbc780e9bbcccfc87bc1f9314bbd924a9bccde514bcfc0c86bcfcf49ebbc67c9abc5845403bb5273fbd4fda55bdc29a33bca9a4bb3b7c416fbd37328cbdbf8cd4bbe79da63b25af68bdfecf85bdc100ebbba88f983bb55d51bde69c5ebd3838cebbca84f03b4bc428bd78883cbdb304f8bae92d0d3caaf5ecbce17efebcfbc589b93503283c155e80bc061e78bc1c99273b2875e33b23f4a1bb6e3ae839a78f423b20c194bd5de7e23e985d5a3f6cfff6bd7b63a4bddb87da3e5dc7583fabbd09beabc08dbdb0e5c23e017b3f3f1cd9e3bddc8c69bd0c6aa23e242b1d3f2ffeb3bd0e4548bdfbaf7e3e9ad9f23e69748bbdb38f17bd84c8323e2a51ab3eb0a751bdf087e3bc12e2cc3db818493e2a9517bd586195bc1eb7083d6684943d1634ccbc26b367bc734f6dbc10dc36bcabc39cbce84333ba1c6e89bc24c9f4bc79274fbc34840b3c1e991bbd77d3b2bdcdd123bb6123093c6f013cbd0883aebd15448dbb0068163c384f42bd1e85b4bd560a75bb3090cf3b496a26bd032586bd2caebcbb65b60d3c63910cbdb6ba66bd6be043bb2ee7da3bea54b9bcc0750cbdd1c5b4ba0a63023cc8a342bc5ad286bc607b9e3b5c77a53b6296ccba3d9d053b3c53b03bd1d240bd44567d3e32f2863fe7670dbe4f614abd8aab6b3e7629863fe6cf1abe5a3f2abdc8455a3e8224633f48f9e8bdf52516bd5003393e46d93e3fc9abbcbd7d3ce7bcc15c123e83440e3fc81f82bd59f9cbbc65d9d23dd62cc73e9c2c41bd4c1c8dbcc5ca6e3d46be623e9b11fcbce87a28bce54a8f3c527c853d444590bcaf9aedbb68d16abce9dd0dbd4f7e57bc511fc53b5c0c9fbc7b4c85bd2740e7ba5f055a3c79d69fbc20b90ebe5412e93b63524e3c143807bdcf7e0abe2fbf913acdfa443cfd2616bd50f6ecbd2c3a4dbbad4e223c091805bdb5b2b8bd4de88abb15ff003c34e9c9bcf40892bd209f43bbff90d03b6e8a4fbcf2a140bdadc5a13a4cea633bc4849e39d5a38fbcaf05bd3b8f2c393babb70a3b1821813b212ac13bb7969ebcc18f753d9df5a13fb68615be3b6a8bbc3f66403d7eea9a3fe6b710be5fb885bc62f47a3dbcab853f0372d8bd254d80bcc829753db774573f2f6e9abd826e49bca9b65a3dda0d213f51d14cbd5bb611bcb52b143de00fdb3e201006bdb1c8d5bb651aa83c7ad7693e3efa91bc665274bb5370e53beca92e3df53e70bb3e3a07ba5f058bbc4a2c92bdaab8cabb000000000000000000000000000000002540583c4316b2bc85e606becb9ac23b3f5a3d3cbdb3c5bcadf8fdbddcc7ef394fe8373c8faae3bc5c0ed4bd914983bbac9aef3b41a2c8bc8c6cacbd0011dfbbf8eac83bafc88cbc52e584bd7e81dabbe918863b270600bc32de3abd81ae73bbe6d4d53a47f96839ab18aebcd83153ba0000000000000000000000000000000000000000000000000000803f000000009b8c953bd0f691bd6f6ba13f8b06b0bd29f38f3bce8c24bd609e853f89f34cbdf819293bb99ecdbc220e583f8f29f5bc46511c3b6f1290bca335233f1d0965bc3e19643bb2c76abc15c3de3ea26bb2bbef0b5e3b36e24fbc36fc733eb9ab1c3bf144913b8ff37bbc930d503d66638f3b0000000000000000000000000000000000000000000000000000000000000000020096bb67dbb5bddc43c2bcb501243c6f9da5bbda3cb8bdbdd5babc81e21b3ccfce22bcaa2699bd37f2c8bc3c988f3bc48228bca3f186bd4beabbbcee6f753b43b7a7bb5c156fbdb007abbc2d9b213b201de13a64de47bd2c8578bcf3a4113bd302023c5a720cbdd51725bccb57da3a00000000000000000000000000000000000000000000803f0000000000000000a3d778bde76f973fe7d224bdfbeb03b922eb1bbd0cf37c3fcb889dbc2df00cb9d1d5efbc6bbf4e3f28a31fbc7b8932ba8093b9bc145c1f3f0e42c7bbfa018c3acbe58ebc209de13ea006d3bb750b17bab07e66bc8bf5843ed96c03bc0e11973a71826dbc9f02b23df3fa6fbc422af43a00000000000000000000000000000000be5023bccd7c2fbdf67223bccfb830bbeaea2b3c3c59debd49867fbc1c71b63b723eaa392253ddbd2621aabca9dc443b4eab3ebb8097c4bdeac0c2bcda02323ae23a80bbd72ba3bddba0b8bce46b09bbda84763b694297bd20e399bc018650b9d4b3483c2b2878bdcd8a4bbc214859baa5ead13cd33234bda21f98ba4bdd1a3b22b99e3ccabb9fbc2dee9fba5081de393eb9d8bd72ac973f0a95b93d22e1bfbc0fe4d8bd5edb8f3f2066b33d758abebc02bfa6bd80dc773fd027bd3d1cf5b1bc9d4c82bd192f493f398aaf3dff6891bcb9b84abd065e193f0cc6933da14a87bcdd3d22bd48b0d73e03985d3d2fec5abc986af8bcaabb763e26ca093d53873dbc3e0c8abc5a38893d09a1673c548908bc621c9bbc112738bdf8352fbcf6cee8bb4b0653bc85f7d3bcb895043ced1179bc9d8e6c3af9e996bdc41fafbb06d21bbcf523c6bb188e8ebd478b51bc31b01ebc8c9e56bad427a5bdc56f88bc541d11bc14910cbb212e86bd8e307cbcb6201cbc0607033cb9a089bd1c8784bc572805bc319f203cb28f48bd69ff20bc92b2efbb1a28ca3c283132bd8b8a81bb4bd48cbb211e973cfdc8a1bc2c5d7d3b4be444bb5459d4bd643a7d3fc07f873ed9943dbdd66febbd5b6d763f9bf8813e779f4fbd6304b1bd4b6e4e3ffda46f3e42f12abd51349fbd39382f3f254c513e10c01bbd7da36cbda46f043f7063273ea44bffbc12c24cbd97a1bd3e95d4ff3dcc3be8bcf4a91bbdf5ee5f3e797fa83dbc8ec4bc397fcebc8017953df8c1233d40d494bc154e9dbcc588dbbccd0d873b840581bc9d3da4bc330d3abc3e72b73cd730dbbc864e5bbb49d765bddf9b503bbde4a5bc44230ebb921d8dbd548b03bc6e1294bcd5a9ad3989be8fbd28a232bca83187bcc157cb3aa7ad85bd4a2a37bc55d791bcad3f193cfa017abd1c0f40bce00058bc1988743ca93858bdc12713bcc56f39bc9514ba3cac0629bd16eefcba8a94e0bb23d4823c3719abbcd497093c71f3d8bbf01cc2bd28274e3fa74ee33ecb868bbd4871d4bde735473fdc1edc3e00cb97bd541db6bde23f2e3f3f86c63e1df583bdc0e395bd830b0f3fb6c2a83e832a62bd83c87cbd271cdd3eec90893e7f0545bd2cb847bdaf159c3e767d4c3e8e2c29bd511b1fbd65353a3e9258083e96f810bdd3cddbbce18c863db940893d23deebbc6f74c1bca56685bcb20d633cdcc7c3bcfba88cbcb9ee67bc97a6033d24c204bdb7a3babbbbde34bd3005253cc861ebbcea4710bbce6e62bd91412dbba3cdc5bcdb063a3a54a07ebdc43028bccbe5c0bc72e39fbb36cf2ebdb00dc9bab78aa4bcd2e10c3c3edd62bd01c029bcf1c999bc3882273c2ace34bd5ee7b0bbcf1a6dbcbd6c963c0cb517bd65e14dba263422bc6036563c4e62adbcffd5313c34291abcb33ca3bddf571e3fed78203f0153adbdaa50b2bda50d173f944d1b3fe717bdbddfad92bdf1ac023fdcde083f96fb9cbd214384bdf367dc3e5affea3ec2788cbdcf6444bd11f7a33e39fab13ef72750bd2a2239bd8d7e723e34908c3ec9f451bdb61f0cbd6b340f3e9ed8343e493228bd97ddcabc21f7493d2b87ba3d7eea0fbd32c2aebc23eb4cbc324a9c3cbfa7e5bc470c30bc85afa9bca84b023df2eb0dbd0abb6c3bfe4b4bbd50e7b1b9f6c8ffbcdb7cc13bf52474bdf17188bca26fd7bc45e0043cd26f7abd9d99a9bc4c00bcbce4d2003c71ef71bde5f58ebc9551b8bc7b40243cdc8753bd810491bca8e097bcd2026f3c7ed339bddf244bbcf5c77bbc3eb3933c0d4911bd15945ebbbdda18bc598c4b3c822ca1bc1d7b513c77b5d7bb880385bd4e02e13e935c503f8b44cfbd95d68cbda781d33e642e4b3fcb9ee1bde98e74bdd5bcba3e02ff333fe5eec0bd72324abd2fb6993ee05a163f1fa7a2bdf9662abdcfd9703e7fa8ed3e527884bdad6907bdce2b273ec1bcad3ea9f85ebda40ed5bc84e2c03d87525f3e9a093bbdc7b18fbc66f4ee3c5a42d33d5b1e1dbd12c36cbcab8599bc944e823c4a4804bd8600c63840f9ddbcfbcb553c7290f1bc77142a3c7f2a4abde28cdcbcc5b4d2bcaca6053c8e234cbd9699f6bc576ab5bcf2b5433c37796bbda48d21bda734bebcfefb203cb9194bbdc7fae7bc79a6a2bc9b15563c0eb643bd5f40f0bceb3b90bc69083a3c92350fbdd7f290bc9ccc4bbce9376a3cfb25d7bc47713dbc6fefd7bb41ac303cb66c6bbc9791d23b26213abb8f3034bdb100853ebed97e3fd6e6e0bdd4cb3ebda6ca743e9b067a3f6c82f5bd6fd11ebd1e455c3e0097523f64aeb3bd57410abd2b9f373ee539353f2553a1bdf8adddbc266e0a3eedaf0a3fbef27abdbae6b2bcc2dcbc3dafc0cb3e916158bdf5a091bcc3fe553dd5d47a3ed65d23bdbfda13bc2fc6cd3b269dd43d72ec0bbd0e36f4bbdf49b7bc36f498badfeeddbc8c5a0a3ccaf10cbdb71a90bc36cbb5bc9ce7793c7c381bbd3a9fa4bd4fd076bceea4653cad7939bd6477a3bdcd698abcf042553c403d3bbd18be90bdea3192bc1e6f593cbc012cbd8b4b6dbd01cc8dbc40aa333cdb7412bd3f8952bdd4a263bca05d233c88a0d1bcbdd720bdae8c26bc5981ca3b75e70fbc6cc5c1bc882982ba2ec3eb3bb87e04bc479870ba96ffe9b8bae4babc5a2cb53dc898983f8e4fe0bdd508c5bc52d2a13d11e0903f403cdcbd0ff596bc0cd29d3d5f6b7a3f60cca3bd942e7ebc53f5843d9a6e4c3f003976bd4f004abc78a14e3d073a1d3fc1063abde2c916bca3e5fe3c9871df3ec96015bd921ef2bbc0943b3ce43b843e3fc5efbca4aa70bb1555c7bb975aad3db22db3bc7ddf663914a1e7bc4a7ae9bcf173b7bc0000000000000000000000000000000075a15a3ca56000bd8a9ba7bd0963eabbec995b3c7bc5f3bc577aacbd978004bc9dd4353cded101bdae9c91bd0f0f3ebc35a6143cf97df0bcf3467bbd10e83fbca89c073c65dcb8bce77d5cbd9d5420bca02d993b01334fbc8fd338bd5a85ebbbe1d33f3bd226b5bb988df3bce33959bb0000000000000000000000000000000000000000000000000000803f00000000cdb89fba0b2f39bddad2973f0ace6bbd71048aba119de2bca49a7d3f4b3003bd9d86103a3746aabc93a84f3f2744b3bc1b000f3ade6398bce2ff1f3fd07556bc01d7893a88ae99bcd16be33e958a3ebca115023b22e099bc8e4a863ee62bf6bb187a573b07edbfbc3a75b93d1b151ebc0000000000000000000000000000000000000000000000000000000000000000ada9aebc619e3bbceab276bcff7a683a2bfa92bc2e12a2bcfbf877bc2de007b92947a3bc5bd18ebc35ac75bc8a999cb9b6679cbc25bb7abca38484bcf97548bb540d88bc7a93a4bc236987bcbe6b73bb38ac14bcd091aebc114991bc33bd72bb612adebba83692bcbf5a97bc7f65a8bb00000000000000000000000000000000000000000000803f00000000000000005defe1bcfb83843f112489bc5e88c7ba09b199bc0161603f84b829bcb3e6f039381487bcee26393f6a79f2bb0220c138cbcf85bc6ee0113fec3f01bcb9d691bad4837abca1e9d53e173a0fbc6f539bbae6ac87bc3f3c893e421d43bc6772a3b9a568abbc86dd003e26358cbc68510cbb00000000000000000000000000000000fccdf7bccf843f3c6d8759bb61ed30bcd946b2bcb6298abc6cd8d3bb4a4ee2bb7b53cbbcc7bea3bc8019fbbbc28702bc255bc7bc1ecbacbc10aa21bc7a6f08bce8b4b8bc8f72a8bc656708bc8f4c2dbc6aa78dbcaaaac7bc39f33bbcf7fa41bc0e1223bc5804e2bc7a1b3dbc8cf836bc20ccd03a12a3e6bcd06e27bc94d620bc88a889bb9a9c14bc310a9cbbaee525bcca8557bdd217853f2e5de73d721b88bc14cb48bdad7c753ff366d73dfcf975bcd36728bd1382523fc359c63dabd265bc35bf14bd71952d3f241ba83d010b48bcba2309bdacd9073fdcc0853dd02b47bce3b501bd5ce3c73e3b77433d775137bcf928f3bc831e7e3e7617e63cfda63ebc6959ddbc1ce6e13dd1cef63b01c222bc5aabeebca706fb3a990e03bcd01d2bbcc3b3f6bc716f313cb689633c60daaebc0e40c8bc896cb0bb50ca243c7c2f9dbca297dfbc2768f6bb72120c3c99e56fbc3e51c1bc25c092bc3ec3843b20798ebc19b7b4bc07dd81bc323d893bab188bbc5f1889bc262ac2bc6da42e3a09dd97bc55d14ebc5ef599bcb21d923bf80d89bc0d4e0eb92fd5bdbc26f9533b8cef7dbcb08082bb99b72bbca7600f3c367e54bc056663bdb365613f33bd873eb34ffabc88407abda5a3513f9fbc773e648c02bda7a245bda5f7303f38a55b3e650cdcbc8fd03bbde9fd153fbc133c3e2166d6bc252624bd0dabe93ee121173e027bcabc178320bdd0caad3e66f9e53db769c2bc56e308bd80ff5f3ea7a29a3d36a6b4bcc0b2fdbcc9b4d33d1bba1f3d9d78a5bc04b4e1bce2b49e3b04cffa3b66bf93bc253404bd9058343c802ef43c2af7ddbc1f0ad6bc1911c7bb1628dc3cc164e2bc59ebc0bc08be69bce47ca73c60f3c5bc1478a9bcfafe9bbc4c408c3c73a4bdbc38ca9dbce91bacbc2dd6913c722bbdbc60d252bc2ea9c6bcbed2653cf981b7bc708ce0bbdf11c7bcf690493ce141b0bc58e235bacdbcc1bc329b713cb4b799bcabcacebbb0132fbc2548a63ca34082bc903b5cbd7b2e393f8a9ed53ebfb128bd5e236bbdd9742b3fe6edc53e63b036bdcba255bdf4cc143f90b9ae3e17b424bdea5840bd43b7f73efc35943e29a115bdb2f42dbdd26ac33e7db7703ecdbd0bbd3c961cbdd17f8f3e5946383e174803bd6efd12bdbdf0383e78cbff3d08e7fabca05ffdbc9ef6ac3df32f8e3d3f98f2bc1b11e4bce6f4ca3b598bad3c4829cbbc6920e1bcfa67303b758d263daefbebbc3eb2b4bcec0e1cbc395d143d5a6eefbc7776a2bcbd2f7bbc19e8fa3cf275d3bc33c689bc791bbebc5bc0e63c0f10d4bca67394bc1aef68bcdae2d23c8806b7bcd5c52ebcca7be2bcbb36b93ce9afc9bcc4f1dcbb2aabc5bc1264ba3c5914babcb9ab0cbac53bc4bc5fbac73cd684a6bc9a4eb0bb881857bc92b5f23c13378fbcb71946bd7a4a113ffa04123ff9a04abd93b44dbd2ea5043fd42f073f99eb56bdf66e33bd99f8e43edd17ec3e2e8438bdb8ca27bde8d2bf3e33d8ca3e317e31bd242e12bdbec1943e54609e3edb6e10bd51d60dbd2af15f3ead347a3e235e17bd753700bd89a10e3efb382c3e781a0dbdfc48e6bc2bf8843d8affc63db57105bd3780cbbce4a1df3a9177013dda62f0bc9da99dbc40b1bcbbd4da3e3d5d3defbc8b4030bc6183bfbcc9d9343d1dc0fbbc3d5319bc6ad9dcbca92e0c3d9362e1bcaa42fcbb51bff9bc6d83ec3c23eedabca3c9eebb651501bd1292e63c68edd6bcca6f14bb6a2909bd19e0c43cb4dfcabc7034953a95bc08bddd65c33c5d29c2bccbffb53ba08a01bd73f8d23c0122adbc38d082399d64a5bcc9e3fa3c4abf85bc42bf22bd9c62d33ebf0d3a3f8ecc5ebd278526bdd01bc13efc342e3fe7137bbdba5d17bd2131a73e0655183fe9045cbd406706bdca618a3e9b3d003f7df23fbdb523f8bc02cc583e40c9ce3ed42d30bd037cd9bcc04f1c3ed4a59c3e257022bd4584c0bcbfebbf3dd5ca573e93e419bd8f6a9abc46a5143de615f23dabaf11bd688788bc025311bcba0e0c3db82ef6bcad59ffbbab6088bc43d8323db7c3dbbce39d9fbaa4b2fdbcb241183d9e30fabc89f984bb7b29e0bcbce8de3c7e25c4bcefc1cd3aea6f15bdc850c43c4cddc3bc04c03238adad09bd7b1db93c42c7bbbc92a3533b9cb616bdcf659f3c9e40c5bcf5e2263b3c2900bde71d8d3cded99ebceb07213c4bb308bddba2a83ced2cabbca8a3c43b0d6aabbcd12ace3ce1057ebc1cfbe4bca836853e40fe613fa32964bde1d5e8bc80526e3eaafb533ff5d77fbdaeb9cfbceec9513e6e57333fb4dc40bdacc4b7bc0d922a3e39af1a3f956b34bdbcff97bcd541033ed195f23e17231cbd6c668fbc18ddb73d57e9b83eef811bbd61348bbc92df553d6de7753ee74e0cbdcfed36bcda102a3c6ea0053e04a20ebddd1c1fbc2e3892bcc398e23c23cce2bcf1f20c3bf408dfbcce23133d8b90b6bc9d76013cdfae0dbd0c437c3c7a71babc07b5ef3b84d714bdd3790e3c9ecbabbc0d1fe33bede01bbdf8e9c03bf5aea5bcf37ec13ba06c14bd6c94ed3b5f919dbc8f64f33b785118bd2b3b5b3b614aa0bc41b90e3c6d5f08bd4fedc73ac9ada6bc8843263cc2ebf0bc85f4543b53f893bca0140d3cd2bfcabc50ee903cb3b15fbc0bb47fbc1759e23d7772853f170356bde2f767bcc656ca3dc742773fa5f14fbdb14942bcc863b03d10ac543faf591dbd001020bc75b98d3d7435303f0b6f05bdfb620ebcf6c24c3d39c80a3f94f4f0bc6ac0e3bb85a0ee3cc0d5ce3e6e37e7bc5730cebb165c153c6b94873ea2e5e3bcab2e3dbbff6846bc1295033e0767e1bc1f4438bb9f72e2bcdbf2963ced1edbbc00000000000000000000000000000000a7ab2e3c56fefabc537d9239cbbb36bc0c8d113c4ed8ddbc89fa14bce6b321bc7fd2e93b4f06debc388902bc7a191fbcbe62073ce717dcbc589f0dbc42d429bc18efbe3b4918d6bc134e26bcbb0b45bceb20e53b8366b5bcf6922bbc607e47bcc0fd083cbd93b4bc39e9cebb0a8045bc0000000000000000000000000000000000000000000000000000803f000000009ffdabb9caafb4bcab34853fb4cecbbc6e0afbb9504a7bbca154613fb21e70bc83dd513a03c067bc577f393fa04118bcd58b5b3aab7d83bc2c5c123f1b8d20bc97bcbc3abd7f95bcae72d83e202c28bc0b4ae93acb80a3bc494f8b3e5fc332bcb332dc3ac6b1d8bc1e26053ec5cb80bc0000000000000000000000000000000000000000000000000000000000000000f0e6f63c535b4abebc8d763cea07ff3b5c6dd13cb5214bbe91a7373cc9a5013ce0a2793c534736be7946b2ba80031e3ccf345f3cbeef17beeb872cbbef3c143c2659143c472fd8bdb0df22bb7194e53bb1977a3b272b6ebd7022e3ba2778a33ba340783a28a662bc9785b1b70ade1b3b00000000000000000000000000000000000000000000803f00000000000000003e35e0bd5a96aa3f8a4de5bd3b8d0d3cbac48fbd56238e3fdb6f8fbdf696873b0e005abd59de6b3f70cd45bd6f97493a53e915bdcd74313fff0eebbc0381ab3a87c394bc9a05ea3ea5fc84bc61de093bef1404ba00256d3e7fc5c1ba51e9fd39f8244c3c20997d3cf364bf3b28c4a83a00000000000000000000000000000000821eb73c164ff6bd9e229f3c624817bb0c56273d71dc43bef50bfc3c9e483cba2a3a053d3cdb53be8e591d3c9186ad3bf72ee63c885747becbf3a23a6e4fe83b03b2b63ccad81fbebf9895bb46de053cc0955e3ca9e3e1bd121dabbb2c57d93bad96113cdc7772bd5d33bebb047c963b3603213b720048bcf2bfc7bb09b0583b61bec43bcdd8493c470c393b6277903a633e3abeb097ab3f13e8793ce0c777bc305423be156f9c3f76cfce3c52af98bc55e20abea4fa8c3f485d153d5db3a0bcd64cd8bdba3f673f2786353d345f8ebc907898bd872e2c3f9f1b433ddf9f8bbc7cd832bd0a99df3e8966403d4a4570bcfc4b6abc18f1543e10b92f3d26a52cbceb8d523caabc8e3c3c682b3d122b23bce9f0723cbdeefbbd31c1403c127f65bb7e7b323cac5aa2bda26a9b3c93e7e6bb30d8df3c20311cbe986985ba9f4d12b97b0dd53c2e512dbeca0a8dbc7bd3c93b2ed2d03c35ff25be8640cabc3971fb3bff579d3c05dc03be91e2cebcedccd93b04849d3c293ac8bd00d2acbc61a0d93b3af7623cd3c865bd148b6abc96ffc93b1870203c411f9abc6631ccbbb749653bfee5143c7c36603bebbaa33b14aa723a67d62fbe1eff8d3f7f90663e8d8558bd18363abe7ff98c3faacf5c3effb361bd00501bbe41b7783f8f3f553e50ae53bde073f9bd42734c3ff2463f3e085a39bd96eab2bd2f0e173f1ee9253e50ea19bde1396fbd8433c73e376d033e1d7b03bdd438ecbc3ab1423e83deb13d7426b6bc31013bbbe873c43c083e473daca653bca99bdb3be236a3bd54cc0e3c4505fcbbb9f5b6ba9b7b53bd0845ef3b409b7cbc9ff8ad3cc02cf0bd8aecd9bccbd7a0384864a63c9f4b0abedb3041bd1551923b05e59d3c8680ffbdfc4d4dbd5411e93b6a429e3cef99e0bdc0e749bded77cf3b77b0963ca20aa0bd77ba14bd963bdf3b600d543c8dd13ebdbcd9bebcd006cc3ba4715f3cf142a3bc332f11bc29a8a43bbb66323cdb36c3ba3052ef3bbe45de3a349f23bedfc26a3f886ee63e213ebabda0eb2bbe11fb653f956ae43ec54ac9bdfb3012be08c94b3f5e4dd23edb2bb1bd6475eabd6b88263f8d61b43e081697bd6f4ab2bd72a4fb3e92b3953e5fe580bd6fc975bdb519a43e7263573e4b5640bd606603bd9d10263e96f4063ebe8401bd388150bc122a023dda186a3db57c91bc7867b3bb057b69bd65a839bbca742cbc3be4bfbbf7f806bd7f22cdbb682b82bc39e8103c10579ebdea6c6abd2e3bb2baef40313c3823b9bdaa769dbd72f3a13bf89f893c0a1ec3bdd809acbd9ed6ef3b5425e33b27d08fbde54f76bd1e7c833a793c623c11f57cbd873e6dbd81710a3c1f0d3e3ce02415bd18f7f8bc4755993bd2663c3c1bed8dbcf28830bc68df8e3b91df1c3ca44661bb220fa03b2661673b89d405be094f303f07a92f3fec7e01be193b09bedec62a3fbfe82d3f98bf07beb446e7bdcfb3163fc54c1d3f4722eebd3cd6c6bdb409fa3e49a1073f2736d1bdce6789bdf19ab73e00b9cd3e5c6d91bd2b6360bd4bd7803e4d8f973eba1e73bdfc7f08bd5058063e58ca2c3e5de91dbd1e1375bcd886093d28fc733daf5b9abc4ba3e8bbaddc0fbda19186bc2f8343bc71c48cbbf46783bc510bdabcc97251bc3d67ef3bd03e2ebdf98dccbd560ccd3b0e2e2e3c3b136abd51b5f9bd3d243f3cd8ae4c3c9d2070bd361df2bded1c373c39c95d3c2f0566bd4ae6d2bd7acf323c46d1433c6f0b2fbddbba99bd086d2e3c7ec9393cf175ecbc34a134bdcdad283ca1d3143c59a87ebce96a5cbc87a3c43b7c33f93b009457bb3f56db3b6c4f5a3bf39bc1bd4d20e83ed15f6a3f397b20bedd54cabd23d0de3e7d79683fd16827be43c0aebd3ecac53ec201523fb49013bef33d8ebdf167a43e62c72e3f3c14eebd7fc465bda94c803eb08c083f0b8cc0bde16d2bbdbe0e343eb60bb83ed91784bdd347e5bc5329cf3df316483ea57819bdc27283bc7458193d575a543d627176bc8cd000bc115f8cbcb7ae16bdccf501bc7fe566bbf2999a3b60217cbdf453f5ba6b9e823b422804bc300c10be131e973c5c3ff93b0700c3bca82e24befdf7793c41a7293ccddae0bc306320be2d1b8c3c2107213c725ee7bc6dc1fdbd2464443ceeb80a3c30aec0bc8c63c3bd8fa4603cc7fff73be0c58bbcfb2355bd4a312d3cedc6063c33bf51bc66ae6fbca50ca43b8f67a43b41a905bbc9ec223cf038853b18395fbdb29b6a3e6b068e3fe6642cbee06d64bd138b563e56b28d3f26ce37be5f9a3ebd5343443e32287d3f56ca17be5fa628bd8bef273eab96523f248dfbbde5f303bd20bc053e83751f3f4a16b9bd5c3ad3bc6f54d23da721d53e8bd07bbd28dd97bcc83e8a3d481b5a3e731007bdfdd24bbcc1c71d3d9314243d38a5b7bb5924e7bbc3c2383ae27287bd26311f3b3911a0babab8773c7630e6bdf128813c1357fdba57f5f23cb5a43fbe13bb133d3c48b23b575b113c3eaa51be1504e43c7b02c93b017c243b7baa45be1b32c33cc002c43bb33293bbd44f20be3e17913c61fe9b3b27e2c7bbee64e5bd31bd763c727f963b1bbf14bc248e6dbd08421b3ca824883b4a6848bcc5680cbc82e8203b3429213b33c9b7baedc9903c62483e3b9f6081bc12ac923c1749ab3f43f937be4cf38abc93b8c53c9ac49c3f904122bea10988bc4380ef3c36108e3f45e609befb1b69bc33420a3d06f6693f7f5fd4bd6c1b2cbcd1ce0a3d3a3b303f06b696bdfca11fbcc3e6173d1695e63e9cd43cbdf81808bcb839153d62555f3e09918abcd49212bc20bc2c3dc3d8b23c4213283cff485cbb6cbd3e3c0442f5bd097d433c00000000000000000000000000000000d70e7f3b7644a53c5cbf4dbe4aabe13caeb1813bbd418c3ca4934dbe3833bc3c7418bd3b246fa43b71653bbe520a6f3c71ea943b2b13f73a1ec619be536f333cbf31e53ad9f4223b65d1dfbd68061a3cfb07903a02259fb844c071bd51d6a23b071117b9aa131fbb3ee03fbc8c69e63a0000000000000000000000000000000000000000000000000000803f0000000059b5383c48e0e4bdb7a4aa3f315fddbd3900e53b205991bd94c18d3f23bc88bd0c38bb3bc2bb56bd2d9d6b3f5d7c49bd366a983bc6d213bd5971313f0907f7bc7516c13ba12e9bbceb80e93e3e256cbc11a3423b731b96b87373693ec05b8b3a0ae63c3b85a3283c4d29463c81ce403c000000000000000000000000000000000000000000000000000000000000000006acf13cc80632be09916b3b6ff9163c5c86e13c668235bee0e24d3bdd540c3c57b5943cfd4120beb9e862bb9ed6183c9531883ce99306be601180bb536b163c16b14e3ce4a4cebda0972bbb0792e03b9985313ce15081bd2cd4663be9837d3b0e1e243cb8facbbc57b5b73b0bf9363b00000000000000000000000000000000000000000000803f00000000000000004781d3bd3605a73f7449c0bd22ac8c3b712990bd8d708b3f350c6cbd087de639628564bd1512663f92e521bd9ea6ee39dd2c2dbd475e2f3f3e2ae8bcdd7904ba4331dcbca293ed3e0e07a5bcc19b1a3a802b50bc9f2c7c3e635733bcbe372e3b0aed1ab8ac32153d84da13bc4888743b00000000000000000000000000000000b3a8fe3c6a6100be0be4c63c8d40cdbb1267753d492159beb5f92c3db8d20fbcebe2443d4ae956be4453ce3cf6917bbbb96a2d3d428247be39af953c213751bb1a39153d630a27be551d7e3c63dc09bba58a043d517800be9ef7873cb9d735bb62c7d93c96caa4bd2c8e973cfaf596bb2c8d953ca20206bd8119bb3cfc7816bc9deabc3c899c8bbce5e6b53ceec3bdbb1aa71fbeab53a73f73d3003de8c984bc6c941cbe09479c3f37b3133dad6fa2bcae0400be13f3883f0b1b4b3db97ba6bc7822c5bd146f5e3f49dd683d611da9bcf88b91bd3c16263fb23c5d3d3b798cbc2be93cbdd5f2d93e49044b3d3b8770bcf94caabcc2c0513e6fc6243d1b1c5dbcb87b1a3c48ae773a6419173d283df0bb9becf83bd795eebd366dfb3b2de886bb8cf9e23ccafdd6bdb82a483dd5f4d0bcff97443dd35734beb606253d102fb2bc01b62a3df92436be5790b73c9dd68ebc03fe2e3d5f4233beab5d913cc01f77bc745f163d6a4b14be9b358e3cb1df7bbc3250163d45ebfabd8624993cb57968bc50b1ff3c89f6adbd6151b03cd74149bc0595e73c560e53bd1ea2d53cd89b6abc2ed3d73cfc6700bd3fb90d3d00345ebc38d50ebefe1c893f5eda713ed15640bdaa991dbe7df8863f8064663e1ffa4abd607afbbdf4eb673f26e0613e2d673abd250fcfbdb9823e3f08c34d3e6aa936bdda8d95bdfc400c3ffc8f2e3e874b18bd6ea24cbd4c98b83e2eaf0e3ed2ba06bdc513cdbc73ac343ecbe4d03dd2edebbc7ee519bb6a34123c5bf3803d00ce9cbcc2588d3beb03b8bdf7e4d03c6bc985bc8eef803c074eabbd5a97693d2c9926bd4bab1d3dc8f416bef8ce1a3de6240abddd2c213db05922be3a5f983c2f79f2bc65351c3d9d7d18be09fb213c777ed2bc42161e3d52680dbeac36363c352dc1bc7d8d0d3dbb1dddbd682c5c3cd599b1bccfb00a3dfa57acbdab0ca73c4ba6a3bcbbcb033da51665bd196cea3c406e8abc988fe33cceae15bd4fb7103d823586bcbcb7fbbdda0d5e3ff4efe23ef76196bd1d4306be4d70573f0af7df3e8efca5bdca56e4bdd8583b3f1cced13ec9319abd7b93b7bd8f03173f816ab83e40208bbd24e68abd028ee03e3ee79b3eb4537dbd46a43cbd7d30913ec3006e3ec18653bd7681dcbc5d180b3e302f233e02672bbd26bee5bb5242c53b15f1b83d984709bd90ca59bbd75b90bd51ba033d9f09e6bc6212453c697397bd42ca803ddb1f51bd864df03c0239eebdfc8ad33cb4692cbd8c00e83c03fef4bd35c8c23bd11f13bdb5680d3d097302be7a16ffba0b0908bdd185b93c8344c5bd649ed83b7f9102bd821b0b3da89cc7bd751f453bbe83d3bcb1eddc3c61628dbd998d4e3cc648b1bc6b52d93cecce4ebdecd7bd3ca62388bc6a01d03cbc7711bd426e0e3d63568ebcac6cc9bd75ab253fd618293fc93bcdbd2da6d0bdf1c91d3f1372273ff935dcbd4ae3acbd9357073fbf97173f38dbc4bd423192bd9e76dc3e980f063fab15babd4cdd4abddc04a03e44f6cf3e8fae8fbda5361cbdf70d513e2ac2a53e0f6c8abd18f7c1bc3d81cb3d86c2563e0e045bbdca7dfabb6c39153ae9d3df3df9012ebd431e3ebb0dc57dbd2326083dcb900cbda598473c33167cbdae8c403d4ca34ebd6f1ace3c4f19b2bdb30e50bce60d18bdcf63e03cbd26c0bd6aaa19bd4bedfabc48dede3c5cf2bbbdd7bf22bd5c9ee1bc04c4ec3c8ca5b1bdd16305bdeea6d0bc049fd53cca2f90bd5b4bb7bcda42adbc47cdce3cf15b59bdda3c01bc3d1b7cbc8523ad3ccbe614bd38f6213ca2553fbcbb0f923caf9fcebca4b4da3c1f424bbcde8490bd8e12dd3e3da6603fcd5101beee5699bd936acf3e20615f3f45450abe32f882bdfff7b23efd684b3fa8d9fabd030f4cbddf988e3e7b452c3fbe89dabdfded21bd19a4503efeae0a3f3a19bcbd9882e1bcc144053efa33c93ef68e97bdbf458dbc615d6e3da6627b3e391477bd2b4db1bb296c64bb2611de3dd4a436bdc088c4baac0948bdbd3a9f3cbcae1ebd94212f3cc86f12bdc0b998bab5ca0abd4a37903c1b883bbde88891bd3b2a95bc13c4963c71195cbd1035abbd0420a3bcbf85ab3cd9b357bd7cd6babde27b76bc8598993c8f774cbddfaf8abde54e80bc12fc9a3c142f25bd86b66abda2220fbcddf1673c76bdf1bc8b2cf1bc0c35f5bbc5ef573c199b96bc258eb3bb708038bb2f2e253c37710abcec65843cd1856ebb2a5b39bd6877683e76de893f8bfc0dbee8c535bdb88c4b3e37ea893f05ee1cbec1c510bdbfe62f3ea390733f0aa104be920402bd707c0d3e032f4f3f357ce8bdd409b4bc398ccc3de429203fd36dbbbd567a8ebca898823d2b12e43e73bd97bd9d4e1fbc8196e23cc5c1853eb02a5ebd0dfd28bb5f1075bbda6eb63ddfd011bd8e09ebb9315d02bd7a5ea0bc4723f0bc86f6d93bc0f533bc32958fbd0ead27bcb35bc03bc3045a3c283424be39b0853c91bd213ca96789bbd45427be3ca8093c996c1f3cfc4107bc9f451cbe74e5ad3be4522a3c78533bbc6c52ffbdc3a5823ba0971c3cf1f7fcbbbee3bebd76bd9a3b62adda3bb418b0bbd95f5cbdc61ac53b85a8503bcca92eba72ad53bc9bd8e03ba2d3073b50e48c3b418da83bcc6ec33bd7dd7fbc14f9f43c7456a73faa841dbe491786bc7db2a43ccc6b9d3fab8d17bedd224cbc15cab13c25098c3f80eeffbd3dd139bc19e1963c23f9663f71c1cabd858c0ebc3e24643c9510313fff229dbd7a70b7bbe5fafa3bde40f13e08d86ebdbcf344bb3e7f5a3b4f2c803ea83a1cbdb162adba8b21113c81c22f3dd87b4dbc2d33033b961d6abc5151a3bdad1980bc0000000000000000000000000000000027e61c3bf8ec8e3c564635bef5729f3cc1ef483be5968c3caddd39bea066903c662cb03b924cf33bf7db23be1a463a3c0fe3753b464e063c040a0ebe4506f83bcd52353ba25d0e3ccc68ddbdbd4e203c502444bad409323c678e8abd3147183c869b29bbfd6d4e3cb92cf1bc6419113c0000000000000000000000000000000000000000000000000000803f000000005c06e83b267bcabd3dc7a63f24d0c8bd2741673b010f8bbd617e8b3f342280bd4c2c223b698556bd8a31663f469f41bd8ef2133bf4792bbdc205303fc9d607bd7607053bc58600bde10def3e02d4b7bc2bff583b27eb81bc8c677c3e4d401fbc9d3e1a3b1be4d3bb04b4133d081d00bb000000000000000000000000000000000000000000000000000000000000000078d10f3c2e51d5bde50a7abcc0291f3c9606123c339de1bd08d440bcfa70e53b2264693b0770c8bd584b6fbce91d833bd2d7a43bc0d4b1bd946365bcefa7873b53a8ca3b14689bbd19b830bc1da5343ba7e94a3c543382bd9308aabb029e1f3b2ead8f3c4bce43bd73230bb9bfcb163b00000000000000000000000000000000000000000000803f0000000000000000065778bd4ef2963fdafb46bdde173e3bb9bf25bdd23f7e3f0356e5bc90ca9d3a898302bdebec503f0146a0bc87661d3b90b6d0bc53ec213f5e6081bc1f77693b0405acbcd5c6e63e0e076ebcc18f283b822a8fbc6824893e21ee5bbc9c19f93a524f9cbcee0fc33d1eeda4bc373c6c3b0000000000000000000000000000000055e7bc3cc2e0b5bdaa489d3cd27f3abcb8d7343dcc8728bef230073db7df5abc30330f3d298529be5e40ca3c3bb76cbc50980c3d4e011ebe43aeb33c016666bcf8b2093dbc4811bee013c23c2f7a82bc04d8193d9d4b03beb998da3c02907cbcb8ca243d7e2ce3bda644073ddb3380bcf801483dafebbfbd3913393d85146ebcca273f3dd76e8dbd98c6133d91b94dbc68d5b7bdd96b953fd6d19f3dc85e46bcf412bbbd8d028d3f5a6e9f3de53a8fbc3d5a91bd9462733f088fa63d8b487fbc298d61bd232a463f64449f3d141b66bc9aea2dbdaa9a163f61df8a3d634445bc5f6008bd4978d13e2d705a3dddb930bc74e1c3bc36246a3e81271f3d9e823fbc9cc83fbcb2c4663d0db3b63c7bb226bcc08c6abc41f25abd5c9f843ab34008bc3d1f043d10a0c7bd7c5b823d7e771abd54bf463d383e22be82e38d3d47d31dbdabb0273d8c5017be35be603d44b019bde599423d328528be3d496a3d3b651dbd5769313da12916bef7e65e3d13df17bd37f8543d967617bed91d723d833716bd85864c3d10a1fabd47376c3dcde10dbd682d7a3d005af4bd32d28d3d352206bde2d75a3dd161b9bddff2873da443e6bc229ca2bdab85743f63e7803e226f0abd6057adbd57786a3f1f0c733e168a0bbd2d3186bd9ba7463f12bf653ee61e00bd7e2b5cbd8ff0243f30934e3e2272f9bc8f6926bde751f93eb2b72d3ef2c4e0bcb72bfcbc5f0fad3ecf0b0e3e2ff4e6bca849b4bce662433edc8dcd3d0851d0bc906345bcdb8e3f3dfa76893d2e99cabc4c08dfbbda5d56bdde53063d43d5c3bc9656e93c235fc3bd6544c03da0e26abd3ec74c3d47511abeb750c33dcea87abdbd92473d174a26be526eb13dcd3f75bd0fc24a3d44e423beeaf7a33dbb4570bd9e55573df1fe21be12f2a63db17d6dbd3c665b3d99bc18be9f93a63d92c460bd263b6a3d5b5f0ebec2f1a73da70657bd53a37d3d9a6803be2bb0b43d1b0e46bd919e543df3fdbfbd3bdaa93dd68822bd6ad78bbde967433fdcdcdb3e270653bda10f93bdcf97383fd93bd53e821363bd2cfc75bd14d91f3f9372c33ee68152bd3cbc3fbd7cea013fb659ab3e55a23cbddf1112bd584fc53eebbe913e36d23dbd0e7bdebcb718863ecef2663e4b4333bddc5893bc001a123eaac72a3e6b9622bdde2d09bc7396f23c47e4e23d7edb25bddd81eabb78563cbd6357583dda8119bddd9cdd3cde75bfbd6803e13d3f4f94bdc9c02d3d4ae909be1a64dd3d46f89abde3281e3d74760abeafb6b93d660891bd8a483d3dca211abe556ab73d902795bdaca5053d4fecedbd1e8ca23d46207dbd47ea493da7b20fbe1fceb33d9ff388bdd8a3393d55e2f4bd88c2ad3debc66ebd95e5553dea23ecbd4d09b93d94bd62bdc63d3c3d3072b9bd648db43dba0a40bdeb9f61bd2148133fe9551d3faf9b90bd94e45cbdc46b073fc0ea163fdac494bd067434bdac69e93eb337073f658487bd7a9012bdcfaebe3e195fef3e6edd82bd58b6e2bcf0568f3efc2cbd3e864265bd9873a5bc035d403e50419d3e80c76bbde46f61bc61f1cd3dfdad5d3e90c758bd18c4e4bbc989583c94d2103e965854bd6b2db5bbda593dbd6e228b3dd49f46bd0707d63ce1d3bebd28a4e13d09709fbd8088263d758103be0e74c73d9874a7bdb900213dd38308be154d9e3d9bbf9fbd7cbe263d74800abed3b79a3dcf009abdf5792b3da91e09bea2b29b3d738e96bda1e8283d72e2f9bd6ba1953deb4687bd30ef2b3dc6d2e6bdeb22993d192879bde4d72c3d2d60ccbd4121a23d23a25cbd178e1a3d4cc99ebddf17aa3d76cc3cbd9ea028bdcbe8ca3eaf384d3f4210b0bd3c6928bd8537b83e8a6f473f49ecb9bde4900abdfddd9e3e2c83333fd63ba9bd11c7d5bcc7237f3ed819193f788898bd55099bbcbd093b3eeb69fb3eeff591bd621482bccbe5f33d0f83c03eb8e186bd60ec08bc506b573d9360873e9e8475bd52b3fcbafea9f9bb1e1d213e3a4573bdbccd36bb360354bd7be38a3d281c59bdcdddb03c98709cbd460fa03d049c8cbde894fa3ca53ccbbd2466503d959c92bdb781df3c27adc8bdea25233df77687bda4b1f93c0aa8d4bd22d00b3d82b38abdb794e53c446cc4bd472c233da17b77bd2a8ceb3c6688bbbd0863243d92836dbd26e8d63c7c9b9cbd1fdd353df2be49bd4b52e53c211d8abdf150563d4a652bbd499fbe3cc0534abd2c596b3d54da0dbd807ed8bc5794673e23a27c3fd117bdbda846cebc4345493e3424763f3aafcabd5f64a0bc2ecb303ef172553f84d6acbdb13d7fbced270a3e5193383f4f429fbd365c41bc3c58c73d05b8113f74288dbd800ddcbbb075653d969add3e3b6585bd791a7fbbb3819c3ce582913e575270bd340f22ba1bbaa5bc3b001a3eba5465bdeab1fd3aeec839bdb0942d3d4bff4dbdca8f6a3cd9ec50bd6bfdaf3ccdb54bbdb2938a3caf4e3ebd2f9740bd1a6622bdf7e48b3ccfd05dbd985a46bd391f23bd6088803c08ac63bd184527bd393d2cbd2ade633cbd4157bdab00e3bc6c7f20bda4a4673c3aa435bdd021c4bc62ec09bd93e9523cf38008bdd3f64cbcc990c6bc67ec1f3c93b88cbcc9511fbb6ce552bcd087093c913c85bca5498a3c28807ebcbc3442bc0a44813db382973fe5e5c4bd959c47bc240c5e3d4cd88f3f87cbbcbda17b0abc9f78453dc1a67b3f1cc59bbd4a23ecbbd98d243d3654503f361a81bdb0693fbb0df4c03c263d233ffcc95cbde83355bb47a4123c6e22ec3e8dd04bbde3d21aba0eaa15bc958c923e5e8036bdc778a93a3431a7bc4fa4e33d2e1321bd4b42c43abaee22bdecd7cb3aafd42dbd000000000000000000000000000000002ea9723b3a106dbc5a3eacbd4a803fbcd82e383b0e8450bcd627c1bd801628bc113f363bfeeb82bc9794a3bd635a6ebc612a803a822a7abc73f28abd28d870bcc20f753af7ab15bcc1257abde7740fbc4b30cebab8446c3abf8a57bdc89674bb9d1b39bbcd02043c893419bd61b8a63a0000000000000000000000000000000000000000000000000000803f0000000068e5013b7b0c5dbd63e4963fdd5454bdb94bdc3ab50009bd5b767e3fc2dd05bd5866c53ad0e4f3bc9df1513ff428c6bc0b53fe3a789ed6bcb23b233fbd0ba1bcd652cf3a7c1bc5bcda72e93e69b190bc6c9cb33a6f29a7bcbdd58a3eaaec75bcc9d9b239f7dfc9bcc7c0d03da65c99bc00000000000000000000000000000000000000000000000000000000000000003d39443d42855ebecaf9c23c59de823ba7e60d3dcdb651be5fb3203c0bd9be3b5f5cf23cefce48be188b42bb8febec3b1b80b53c601224beb9b356bb9b59d23bb4f1133cd72ad7bdef51a7bb8ba6173b199aae3a53875ebd577024bcd644013b04b594bb053f8fbb24d3e0bb4bd444bb00000000000000000000000000000000000000000000803f0000000000000000dbff00bea326ac3f0341f2bd8da52e3c11a097bd4f5b8e3fb84885bdca312e3b239e77bdd379713ff4c745bd1931983ad2ee14bd4a61333fa0eed3bcd647feba8a5512bc2ae7e23e96fe9cbb2d97fe3af61e3b3ceb40623eb97b483c260a5bb9853c023d9c9b0abc8794b63c8f57223b00000000000000000000000000000000a4ba353d42cb0cbe208e153d7bc234bc6265493d55c727be0ee2d93c23141dbc889a403d614852be504f343ca6e5bcba887a253d42d341be3f36e03aeb338bbaa7b8ee3c668b18be30a9febbd002b13a33289d3c8096c9bd508138bc3e5708bbd82c1c3c082638bddbbc77bc96ff21bb5e6c82ba639ab0bb52ec55bc755f31bb7587f13af838bd3c947dd6b8d4f2c7bb76864dbebf85aa3f95a35fbb3d47e0bb4cb822be4b96943f184f273d13c680bc6c3813be008f8b3f19fb0f3df3d29abc8296ddbd3ba6623f0c01563dbdeeb7bc967a91bdd6e9263f6aca7d3d3b1da6bcbd7fffbc4cfad03ef6688d3da5fb98bc534982361e65373ee7768f3dd6a190bc9b58993cb2e5ad3c448d6c3dd1ec63bc54d00f3d17ee1cbe984d093d4010c6bb8489c83c1d19a7bd1d0f2c3d87a1c9bc6583323d867a1abec1a95f3cb9f648bce0293c3d930530becc59d0bbe513c5bb7617213d550b1fbeb70687bc8d8b79bb4a31f43cf158f7bdb64eb7bc522774bbbb9cbd3c62579bbd7608d2bc04dd87baf1d7773ce4fc02bdfdedb2bc8daaaaba62ec193cb025b5ba82718dbc40cb76ba1716153c0608903cb11c563a90b464bbc93739bea0918a3f2ddc543e4e262ebd0f6645be59fa893f5a3a523e428353bd6ebf29be5922763f46464d3e02c951bdef9901beb93d463fcdce463eb68f50bd95c9acbdd3a30f3fabbd363e8db43abdc52448bdc228af3e6b2e263ef26535bdcbb38bbcfd29123e63a2033ef7100bbd74b6ce3b13b049ba3e82aa3d5125cabcda953f3c97fec0bd724b223d87ea9abc7da3813c8d4271bd1499013db215e3bc79cf153d864adbbd814208bca48840bc9f431d3d40eaf5bdf8c023bd65528abb5796043db88dddbd629c4cbdec2949bb23f7e93cbd4ea5bdf97d55bdb8b9a1ba305ab83c34bc47bd524f41bdd9d47e3949108a3c3e5c87bc2c9309bd5c37123b1777763cf704823bff77a7bc2d3d723bd4de273c6b7c973c6b74c63a2fb69c39362034be39a8683f7b28d83e63abadbd5b3935be402d5e3ff81cda3e2284c4bd2bc01cbedc59453fbd13d13ec022bfbd180bebbda2ff1c3fdb13be3e4704b2bd976fa5bdd67de13eb177a43eb7f29fbd46cd49bd42c7883ec067813e162980bdd701c5bc1277f03d8169313ecaa946bdc83cf6bbd463da3b7194b93dbf7402bdc63cf239911c9abdbe9fd93cadf0acbc0c17ef3b37ecc3bc76941a3cb01fd3bc81e4bc3c84876bbd60743fbd882e25bcce87e03c292892bd110698bdc87c5bbbad50de3c5a037ebd9422b3bdaf5ef5b8bfc08a3c31793abd71108ebd33010cbb0fbb9f3cbd97dabc386283bdf19ec53b4569583c9e85e0bb62a41abdaecbc63bbd871d3c0900073cdf9c90bc17861f3ce385063c8d199a3c0369fbbaecbe093c87db0ebe15142c3fce462a3fc27101be9baf0dbe330a223f7bea2a3f15f108be4371f0bd4f850d3fc4ad203ff16a04be77d1bcbd0503e03edb130e3f6d39f8bdb89b80bd3804a03e747ee23e8101bebd354837bdbf514d3eed56a93e76dda4bde89ecdbc66a0c73dfbfc473eaa6368bd530f69bcfd2d893ca0d5ae3d7b9a12bd9598ccbbb3143dbd1ea33b3b305eb6bc7ef12b3ba7703f3b910895bca130a4bc21a18c3cf84662bcffdebfbde6589a3b5cefc33c02f4c0bc23e8ffbd20a9f13b80aaa93c8c71b9bc61eaffbd5463273c8a57933c4edc93bc25dcedbd3e38513cef4e803cd2cb29bca9f9aabd243b7d3c548f583cf1165fbb5c124cbdb90e753c6386183c9b88c83ba177bdbcc66e763cfdacb53b8b3d993c62cb1a3a8e5a7a3c1e1fc2bdcea7d73ec3a9673f590222be64e0c6bdb9b7cb3e9e4f653ff8992fbed689a8bd83abac3e3486553f779123be023583bdc29f883ead90373f04790ebedc3740bd37b94e3e4a35103f9d88e9bd29cd11bd04ef123ed868c43e5c7dadbdc32bd9bcb2b4b13d57e2573e9d615dbd7dd990bca0c91a3d74028b3d2c3bd4bc179815bc2fb55ebc9c41dbbc7ccbb0bc0296903993fbe73c16fa5bbd0e69a63a8ecd1b3cb260b83c5f150fbebb96a33cc8706a3cc0046b3c538431bee003b53cc4148a3c6ce30e3c697931be0f25bf3c33fd623c2ff3ab3bccf310bef1b39f3c8025363c78d22a3b2becdabd98c7b53c5d332a3c430c603b381c6dbd5201883c11f7bf3b0478033c46fdcdbc96a78a3c0f494c3ac1252a3c3ba7df3baeec683c7f685fbd27b8553e35118a3f5a712ebef50056bdd61f383e45658b3f908f3cbe484125bdc0aa133e6aab803f5d562cbe3fd312bda06fff3d63bd573fc7f310bec860cdbc046bcf3d769e243f94fce2bdb217bebc2641b73df9e8d83e06419cbda16ba7bcc40a8b3d8e09583e2c1722bd9f438abcb9e13f3d9a7c283df33533bc736c2fbcf9ce803c951b77bd7cfd63bbddf0b53a83472c3d684001befb01ec3c1cea283b0396203de60524be8946163db1571e3ccdc0003d64b453beb716133dd1da533c54cbb93cbe834abe83bdfc3c71b30f3c1e1b723c989424be8c2aca3cc638e53ba5cfc33baaa2e8bd0387bb3c5ac0b93bc209503a1e5f77bd47a8723cd895ca3a0e2cf5ba913c93bce4b2063c44191cbbe604f23b723e833c9128313cb4f247bc5254043bf71eaa3f865e46be47868fbc4993df3cb52b953f86811fbe8eb570bc2eb7423c4ee18c3f1bd817beac8137bc87a48a3c44eb683fdf74f9bde9f105bcd1bcc63ccba62e3fb439acbdaf6822bcd0621a3d7b22e13e4abc53bd9a1411bcdb483d3de9b7523e1c3d9fbc3e5631bc9ff8343da27a183d2781163c6afffdbb5314153dff430cbea4a3b73c0000000000000000000000000000000080972e3b52b6313d16aa61be61a02f3d30b9cf3bf413ee3cfe7056be210ffe3c9c5d333c148f9c3cee5850be771dd03c842bc03b91ed553c76ce29be3df9b03ca2b4793b4db1e93b60e2e3bdca23503c5fd27c39c755293ad95a6cbd750d9a3bcddba1bb3057abbac2bf10bc00d4393b0000000000000000000000000000000000000000000000000000803f000000005601773cab19febdb0bfaa3fddc4fdbdbe95073c59f797bd18bf8c3ffaea9abd9be9ca3b7e1773bd1a596d3f2f8c77bde3e6e83b25e90ebd04932f3f601b16bd6adbb53b2c772cbc4228dc3e9fb653bca74a1e3b9611473c38a0533e7efd013c340eac3ad20c043d2456aabcf568e93c0000000000000000000000000000000000000000000000000000000000000000b08b333d1f9749be59ac7c3ce63eca3a519a0f3d0e6441be289c8c3cd4be8a3b6dbfe93c003036bee57c2a3c258eee3b7bafad3c680917bee79e2f3ca777d53b8c923b3ceb4cd2bd0458bb3b33f8dc3b6c5c463bbd3553bd8d1f483b612ba33b6189bdbac27515bc1c2c603a45113b3a00000000000000000000000000000000000000000000803f000000000000000095a800be9c2dac3f603cefbd38df0c3c26c1a6bd9ac88d3f30ed9cbddb4e543bd2dd81bd20016d3f35b87cbd763d9b3907522bbd1055323f2c713ebd5c10b53af44c81bcd216e33e476ce5bc0e7b8a3a7b17e13b77905d3e639732bc4d329a3a6d83d23c9c20c9bb987205bbf36a8b3b000000000000000000000000000000007ef06e3d077333be34225e3d5f6dcfbc2771763d80cf49be24b97b3d15b4d2bc0eb7523d2e075abea227523d9b38a0bc3a9d343d990d48be4285373de7c183bcd71d003d03321dbe5f7c213d7cbf5cbcf28f8d3ce6e2cabd4bfbd63c44484fbc211eb63b277145bdd0348b3c41d43cbc396e83bba2cd85b98d2c273c7c1459bc23c98f3aaed95b3ca0af7b3c8e2673bcff903cbef42ead3f294455bcbadccabbfc351bbe5fca963f8e498c3c124428bc973702be6083873ff54f9e3c5b0250bcc2d6c1bd4073593f4b92f53c299b5bbc4fab69bdbc191c3fd70d243d3a8a51bc912dbabc08efbc3effd4533dfbe141bcf471d83bba89193e25fb583d868016bceb08f73cefc4a4bc00bc6c3dab931fbc6934223d13cd34be4be80b3dbfdd61bb38a7413d0f1e1cbe3af3d23df17d58bd9a686e3d53204bbea661a93d9d1732bd378a553db36c4dbe21cf883d69d220bd772c2c3d2d7a31beceb1653d55f909bd547ffd3cf55a08be8e603f3d8374f4bcb0b48d3ce6bfa7bdb416073d4075e0bce318323ce59430bd71b8e43c3616c0bc3838b53b4f54bfbb602cac3ca484aabc80b1943924245d3c2960f43cdc34c8bcd20919be3a68893f2009333ef872ecbc0fea1ebeff37853fbc28353e5ad10ebd5c5a01be6d5c643f9724393e92020cbdb6f9b8bdaa6e313f855c343e861b0bbd138467bd1ca4f53e0e1d2a3ed32803bddf16d1bc9b6c8a3e31251e3eac2fdcbcb683ef3a1fb5b73df2c7063ec233d1bc6f9e913c6f4153bdc57ecf3d46c7a7bc711fc33cb27713be9fb7853d3bd95bbcf2b1163d65960cbe6896fd3de24f8bbd34d0413d981127be7994b63d0ce775bd02d7263da08f1ebebe527e3d81454bbd53ad0a3dc46202be81a9523da1612dbd8fbdc13c4f78c3bd2145133ddfaa22bd87256f3c58a45ebd15e9f93c1e8006bddc94283cf45fcdbcf0bde13cfb40d1bc03982e3b519b663b7910dc3c9297d4bc82bf6a3955e56a3c67c72a3dd6b2d5bc392301bea24b5b3f22abc33e12cb58bd3b2102beaee84c3f7496c83e496a81bdbb82d2bdb5802b3f63edc43e74cc83bd96f895bda145003f1b80b63ecb747abd456537bd6e3fab3eceb2a33e27025fbd46cdbabcbcda333e6ee0873ee38a46bdfb7451bb501a2c3dec7d4e3e40a02dbd30cd6e3c63136cbdd651053ebc6e00bd7e59553caa2305be3c4c9d3d5a8fbcbcbfbbea3c9c6ee0bd9b53fd3df82c9fbda6c9093dcb2cedbd410d8d3df1a480bd967aeb3c9a26d8bd302c303d592653bdf57ecc3c0a85adbdcf48a03cd44d3bbd31ef8f3c81208abd2b0df13cdc5a2dbdd3fb513cf7470fbdc26e1e3c1452eebc75e9073c40a183bcc0b4a53c64e7c6bc62238a3bd7d67a3bdaf2ec3c2bed9bbcda82503b18c5723cd3af113d8c9198bca3d4bcbd39eb1b3feb1a1e3fcc55a2bd19dab6bd3ba70c3f24a3203f4db1bcbd039e8ebd7308e53e9de1183f840ab6bd36bb4bbd5e39a63e910d0c3f6a9dacbdc0edf3bc66dc573e7f28e83e12c694bdacc96bbcafedd13d611bbc3e982289bd39f127bbe6397b3cc87f803e2e645abdf38ae83b6a1f54bd69c0173eb6442bbd6c0b3f3c4521d3bde4a48d3d4b080abd5f9d913cb72b7abdb1cdae3d28a28bbd8784ad3c784a58bdad61c03b32452dbd89b08a3c553136bd0e47d0bc5f6d04bdd523433cd64e07bda8f60cbd5204cfbc5dfa533c0251bbbc2e4712bd1f1e95bc55aaa63bfea512bc86e5d5bc99e43bbc7420ad3b5ba18239041f0fbc742288bb7d8b4e3b1c68333ca9ddac3beb98c8b985ad393968139d3c9ac1de3cc8b60bbc2c606cbd88abba3e976c5c3f4623debd4cfa70bd9907a73e84e35c3f2faf02bed42536bd98ac813e8911503f7959fcbdd893ebbc19c6363e4a75363fc21fe2bdd4be9fbc4d09e43d0313173f8f2ccdbd68a21abc78cb713dda7ade3e2d50a9bd17346bbb450f643c96398c3eae8182bd546d203b236ab4bc1648043ef53c3cbd3344333b2ab271bd2e4d1c3d545111bddb8b033cb5bdf7bb5e003a3c7fb408bd4a8a013cb5ec4b3b6d6b95bd8f481cbc72b9243c7f31bf3bea1ed2bd3c5c23bb62a5043cb064173ce1e1ddbd068fb23bb61acf3b8ce2013c149cb8bd75b3c03becf4773bcb6f2b3cac3395bd4998793cdfa38d3b3bed263c491116bd06cc823cd718e73930bf543ca78e67bc03bf893c1d0f8eba3312a13cc2d94e3c6a3a383caa9501bd17282a3e7596883f893406be9339dcbced89023e62008a3f8b931fbe3184b9bc7a52c33d7bc67d3f9c3215be16dc89bc442a873dde085a3f74cc04be475026bc91d6383dc4822b3fb123e1bd711103bc2d3f0c3de337f03ec795b5bd8040a9bbc078813c2e57883e627182bd4ba024bb2043363c5defb23d796b23bd434b3cbb57b7f0bbee5f98bc364fe9bc58987cba9dda053d653acfbddda83f3ca83341ba2b97203d72d411be23d3ed3ccf53b43ab2e00c3dba6f2abe69d5ed3cf7911c3b1094f73c55402abefb9c093da002bc3aa244cc3c56500ebea78e003d2baa993aa3e9743c5152ccbdb2e4023d4984043b7776233cce0863bd76c9d43cf91aa1b927044eba59f70dbcb6929f3ca90b40ba5724723c1f81603b5696ce3c873533bbad657bbc748aab3f9a2b32bef1f6fabb83dc6bba0779973f6b931bbe6a1f90bb8a6b4fbc1f9c8c3ff5a513becbc055bb53e92dbccc406b3f75d2ffbd67672ebb8ed73abb7748333faa12cabd3c300cbb0168383c460ced3edf7291bdd4911cbba653af3c1f126d3e45882fbd51328abb7eb00b3dc24a223d14ff50bc68a586bbdd74e73cd78bf7bd877600bc00000000000000000000000000000000f62de1bb8c70643df94859be2910383db26f9bbbef883a3d048d4dbe3ce6273d9b3365bb530a1b3dc81c43bef451193d1d379cba0212f73c36cc21be1463123d347d72bb7372a63cf660e4bdf39ae73cb7ce82bb0c81e63ba5646bbd1a16ac3c887f86bbd9f7d23ba3c88cbc06b09c3c0000000000000000000000000000000000000000000000000000803f000000005ff4533c219af1bd8209ab3f337c02be707ff43b28059dbdf4e08c3fb424b2bd9614e43bf57d78bd8b9e6b3f00e491bde0678f3b42b929bd32ab2e3ff6e05fbdddcf813ba5eb70bc7c4edf3e66e8f6bca862603b59e10a3cd11c543efbf7e2bb79ef5ab79f11ea3c89648ebc89d2063c00000000000000000000000000000000000000000000000000000000000000003daa653d455847bef0f098b8b0c51e3cd9a1483db98046be76e94b3c71c3b73ba3ee323d0bb436bedc85e83b5d0fcc3b639e293dcae31ebea911a33bec2ae63b304b0f3d92caf7bdce5d0e3c47d9913b44faf43cc3efa5bd8cbd643cc2af373b79d6073d8c2853bd838c183cdf70743b00000000000000000000000000000000000000000000803f0000000000000000b05cf9bd5ed3ab3f5c84c8bdf2b26c3a947eb3bd9f378f3f48208ebdb92623395eec92bdf9486c3ffa516ebda1d7ecb944986abd478a353f32c155bd55545d3babda28bdb965f53edd1829bd4918543bcefab4bcf25a803e3252f7bcc5c68f3b864e2fbcde424b3d663d07bd8f72033c00000000000000000000000000000000d555ad3deb9d6fbecf49903d5e7febbcb81dba3db60697be79efe03ddec824bd01bea53d325291be982cc03d701a0ebdd897983d6fa286be3722bd3d858212bd8da7843dbd456abe6fe5b83de3350dbd87ec633d2bc735be0ea6b03ddcb60abd07c93e3d356504bebeaaa93d817d08bd4b200d3dfa569bbdf049ab3dfac610bd62be353d70cda8bd5a86893d68eedabc0f1a1dbe2009ac3f24b9b1bc880e7a3b918d19be14e59e3f229f97bce3cb0b3c341af5bdbbc4883f860423bc4e371c3cb1edc4bd121a5b3f5b37b4baad920b3c62738bbdaaa91f3fbb57b73bca7f463c3d6238bd5c06c83e789bce3b2c073e3cc58ca2bc93252d3e8c9e3a3c4bb9673c7447a83bbf5f17bde259a43cbfdd623c838c4d3ce12f0fbe663a09bccf0c863ccb74a53db9de85be3dcf2e3ee82c88bd526eae3d75cc9bbea54f373e21529fbd6c79a13d295895be63eb253e60c596bd82b58b3d666089be3894203efab78ebd2dee7d3de4c76bbe08b2173eb04e88bda8b9493ddac13ebea9cc133e595f85bd2f06343d6ff616be9f450b3e168c7dbdfbb7083d9ee2d4bd71be053e52f87cbdc2e1f13c24f6b8bdc2530f3e25eb6abd8c82e5bd0bd8853f5665f23d89ff353cd0d0fabddf11813fcba5d83d58977a3c8c3ecbbde096583ffb92ef3d53ec623ceaf79abdc009283fba85df3d2d638a3cebd750bd274beb3e1b02cc3d86df8c3c4fe6efbc469c873e6eaeb43d8d99963cd26a1ebc564bb13d65f1963d80628d3cf20b383cb12c8dbd43ef673de171b03c814abe3cb5c72fbe1261113d804e873c04ef853db1297abe1d87743e667ecabdeffc803d58b187be7fff793e9c77edbdd1cc683d2a5180be1acf603e7827dbbd64ef453d425f5fbef3e9513e9403d2bd71a42c3df96c45be89a84a3eed6fd3bde331083dc7ef19be4d1b3d3ee020c2bd1734d53ca93cecbdcfce333e25d9b4bd1387aa3c81d1a6bd40f62c3e6622acbd13c4af3c1fb99cbd0f45383e604ca8bd9f33a4bd2957453f3d1b9a3eea84533c6b5eb5bd4801383f0629973e9ee99c3ccd4e88bdf17e163f1438953eeaa7923c945e45bd7a72de3e88f5883ec7da933c1fb5f1bcfe04903ea8f7773e6642aa3c631b5ebcdd020a3e8638523e42c0963c7fed6d3a098d893ab3e3283ed521963cbfce923c4aacedbd6ac4fe3d086e9b3c0516c33ce54a43be7ef7b43d21c25e3ce117453d1cbb56bebd178d3ecf1206beeefb2c3d1ca558be0216853e0f5e0ebeb96c163d69f845be6cd56b3edb6e02be5300f43c3ee62ebef0295c3e22e400be8f96ea3c7b321cbe6b5c543eef0aefbd91db963ce9e0eabdb9c2453e05bfe3bdcef57f3c34fdb7bd2c703e3e2c1fd7bd68b4193c42ed5abd769b333e9d5fc7bd7a0c473c023454bd30cb433eaa31c7bd5c6653bd27ad043fc9c4063fe756483bfa1952bd1a3bea3e9224043f96ba073c391a11bd38efb73e0555fd3e3ab49b3b1ad8c9bc2585813ef648e63e37ac203c211efebb732d1a3e0940c83ecdff6ababb72293b95211b3dbee0a83ed3da013c38ff313ce4884abde4a6833ecce89c3b907dc23c3fd00ebe7795453e7f6dcf3b629ae53c97e346be14b50c3e64e9a0bbf699c03ca7bf13beb4c4823e30690cbeaced993ca3f405be5c994e3e26f50abe932d753cde01efbdc9c72b3e525300be6d932a3cd721c8bd52a7193e2e8ef3bd6678e03b311aa5bd5df0123edce2e3bda332173bf7fe5bbd719e083efb79cebdb84dfbb8088d0ebd23c0003eb3a4bbbdb7b365bbdea40dbc023ff13d20769fbdaabe7abbe5531abc50711a3e574bb1bdb73afdbcc39c983eec60463fa87d90bc0a81fdbc8d50833e152a443f1f8e7ebce545a8bca2a2413ec0d3383fbcbb6ebc0e5228bc5fbbf33dbbb3243ffdc263bc304aeab9da2d3e3d3ca80c3f555655bc28b8d43b01e499bce6c8e13e2d1a71bc870a5b3c560d9ebdc70fa83e847c57bc8253b13cedd803be3abf603ed73e37bc6e30ae3cadd228bef2be1a3edf0ec9bcf35bd13bcc1881bd80c6143eda2ee0bd75a7093b427e35bd11c0953df57fd1bdd4a6c5b8b7ae24bdb8523b3d38d4bcbd843eedbaeda2dcbc4bb0ee3c3680a9bd256a3cbb6ba99fbca145fa3c67f29fbde7f2bebb397eb1bb6c34d03c2b4270bdc78679bbdd8f4f3b908a043d824049bda2aec4bbe3f6843c1865163dca4119bdd70f04bc580e973c0898893d299437bddcff77bc848b023ebde4833f083242bd7a7d4ebc082ab53d5b5a843f98126cbd721ca6bb4f3a723d6b1a733f816663bd6489f3ba23ccbf3c1684533f663a4dbdcaea603beb8cf8bb77212f3fe93b49bd9afde93b2e2c0fbd05fe053f593b39bd13e9323ccfcf6fbda185b73ebe4840bd729b6e3c38f09dbd8d7f523ef8ee2bbd02937f3c2caccbbd7d19dc3d0b5831bd48f4ebbb1e7d113c44b7abbce63668bd058098bb32e39d3ca011efbd746b6ebca80bacbb5a57943c85dbf6bdc23973bc0b707bbbd2f9973c2c70fcbdb0e507bc3f89abbb7fb9903cd799dabd3db8b3ba383250bb3c38a83c0845b1bd5b1f143c6cab7abbd0a4983c94bf63bd5c31863c6222a7bac5ed573c8d56cfbc1623023d57a281bb2578ec3c9a3898bc7c21ac3c0209f6ba6fb8a2bcf88ea93f72dfe1bdf28167ba8b43d4bc2c609f3f8fcee2bdf26995391f48febc67aa8e3f9643d3bd6492943a4b6cebbc5b1c713f83f3bbbd067d4a3b7dca07bd8c323e3f5379a9bd45398c3bcf06fabc35c4063f54e599bd06334d3b151ec1bc61ce9c3e43e287bdedbaa03b7cb770bc4b90c43d053e54bdcb83763b1f94cbbc0f49c5bbe93686bd0000000000000000000000000000000075d945bc40883d3d433f4abe9b3b0b3d93bc0bbcede0253d23304ebecfc6283de222efbb8438123dbf0d41bedb351d3daffde1bb18010d3dd1182ebece28353d24f8b4bb5a4ce83cdb3b0dbef597303d7c6e89bb3363bb3c3919c1bd32243d3d9b54c2bbfff1c83c35f38bbddb6b553d0000000000000000000000000000000000000000000000000000803f00000000e5f3e43b9cabc2bda3dca93fa344f2bdd9cc8b3b197e8abd4d658e3f5c41b7bd033f253b592b58bd80116c3f1e789ebdf38b353a926b21bd856d353fbeb795bdf2c0d43a9515ccbcb4f6f63e45826fbd36ae9a3960d21bbcf4e17e3eb60e3abd180d90ba02e4ec3bbd1e293d73b136bd00000000000000000000000000000000000000000000000000000000000000007bac3fbc86fa8ebc78c67dbcbf395d3a098904bcd03cc0bcd9ea53bcc145033b6259d8bbd01abdbc80013abc6cc1ab3a7b02bfbb6a95b2bcf5e62fbcfafc4f3ad034b4bb77bfa8bccab537bc2f7f1739cee8a0bb3ee091bc198442bcf9ad76ba5e7589bbbaa440bc58b847bcfb0d09bb00000000000000000000000000000000000000000000803f000000000000000083cc44bd6733873fb5a043bc547ec3bb1cc701bd60fd613f1e4890bb83807dbb6fd2b8bcf8a5373fc4bee2badef254bb4b0289bc8aa20e3fb49924bb946e0cbba6b86abc7ea8ce3e8a9ca1bb4f60baba864b63bccfde813e7ecc1abc4f4ca93a57fc82bc58e1dc3dbbdd75bc055ac93900000000000000000000000000000000063a9cbc9131e33bb46d25bca9b6d6bb12c596bca4ed58bc436082bced2b1ebb8faf5ebc7a5eb1bca8147bbce9b33bbad8ad31bca00dc3bcb17e6fbca74492b9d3ae11bc3712b9bc190c65bc546438baca10f9bb9fdbafbc2af96abc029f9dbab74cd4bbeac08fbc434f6dbc50c3dcba6a5f90bbf8c423bc947259bc9a2c04bbf5794dbb44158c3aae7907bce3ec59bb98aa9abd3075883fde33f83ddbfdb6bcbdb2a8bde7d67e3fb190e13dbc84b8bc0f397abd97c6563fd43fce3dae5893bc6cb03ebdd2f92d3fbbdcae3d805b6cbcb15812bd52d9053f1098873d4ffe3bbc92f0fbbcde5bc13e76a53c3d61561dbc5d37e2bce4e4703e03eec33cadd2f5bb02a9d3bcdb4dcb3d3af6ad3a8e4ba8bbe105abbce4c35cbcd36255bc5ad3a9bbf2daadbc5ce85b3c8ff7f139890716bc8c88afbc2e60ee39d663dabbcb76f5bba1a75ebc3d6821bc8f51f1bbd81b70bb97d942bcf3406bbc127f3dbcb0a127bb1e0511bc60015abc4fcb2bbc2630eebaa9d0f6bbf2b573bc527251bcb20f13bbfa7eb7bbdff22dbca0162fbc0f9414bbcea393bba64da2bba2a81dbc56ac28bb2b1354bb7c27eb3a83afa8bb3b200cbb45c897bd2ae0653f380f8a3e50bb0dbd05e1b4bd25a7593fcc3d803ec75c25bd42457cbdccc1333f577a5f3e7af2fabc8ba768bdbee5173f94753b3e9c2fe1bc7fcb2abdfb92e73e9175113e73e5a6bce04b1fbdc5e6aa3e28b3d43dce0b9abcfd55f8bc2c4f573eca02843d29fc6dbc7fc2f1bc5e7cc33df11dce3c933054bc09e6adbcf67f8abb14d7e2bb675c17bc3508a5bc4ec0633cba80083c65e83cbcfb77a8bcfa93863ba7abfa3a940925bc71107dbce137f6bb982392bb1a8ee1bb03a334bc00e838bce35e07bc805368bbf4af10bccc6344bc38ef12bc8d483ebbb466e3bb031d41bc458827bc738022bbeba7c3bbcf9a20bcc2ba24bc697e06bb6ca995bb108f90bbc0bcd2bbc95943bbf26948bbb5170e3b28bf17ba676bfbbae32e86bdf3293c3f4cf7d73e89df38bd8077a4bde0d4313fbb6eca3e7d1660bd151f87bdcd60193f0051b03eeed538bd133960bdbb77fb3ec9cf913ea5cb18bdaa5337bd3ad7c33e045b653e3b12f9bc517b1dbd8f158f3e4f09283e3b2ed3bc1c5009bdee55363e9f5fd43d5a66acbc6f41ecbc82d3a93da186443debb595bc8cf4a3bc8af8a73931dd18bb3eeb4abce53498bca4841a3c4eaa723cc5144ebcccc699bc95d5693ad595e43b17063fbc2fa347bc0e68d4bbe93549baac41bebbcb1516bccd5629bcb0629cbbbeac9ebbfa5ea7bb1181fcbb6152c6bb56a262bb0d01dcbb682f43bc5f1115bc97f97fbbe94aa9bb258312bcf80fcdbbbb2220bbf20658bb961388bb58f10ebb210a2ebbf4fd3cbb11411639ddb2083ba7f308bbb34165bd9b5b133f01a1133fcfef62bd98b48abde56f0a3f09a60a3f29fe8abd193259bda6bbeb3e2247ec3ed3fb4fbd791642bd70edc53ebfc9c63e02c33bbdab5401bd77e6943e0185953e542cedbcfcb30fbd09c3613eea25653e16c7f4bc67c2dfbca1b00e3ebfe9103e1bc3c0bc4f5fc6bce850843db58c8d3d763bafbcbbb598bc23bd34bae725123bc5d068bcb4cb81bce7bb643b9a65943ca8e852bc556869bc3cdba4bbbb061a3c2c9f42bc102a1abc7df040bc3fa5dfba269ddcbbfa8400bc09555ebca7c5debb245b82bb8394bebb501a5cbcf87f09bc753c5abb98bd9ebb35ed5cbc538011bc2a3d1bbb9ad177bb803936bccf48fcbb982832bb12ce71bb3e2a06bce53918bbc84ef2ba3f7742bbdd5b38bbcce5363b3942a0baae953bbd1cd7d73e743d3c3f3d7587bd109661bdabd4c93ea81e323fe7dca0bdc1e53fbd0841af3e6271193fb9fe83bdb73f23bde81e913e3036fc3ef18a54bde37806bdff98633ed784c43e36ce27bd0ce1e7bc9b07263e262e8f3e10050abd07c6c4bc5650ce3df27e373ea0b6eabcb639acbc6641373d6c5fae3dad40bebc1b2f6bbcf8de77bb6255d23afb4083bc445433bc1f389fbb9c1d893cb36555bcad0820bc7ac862bccebdae3bae7635bc9629b9bb1de773bc3707c6bbcab6aebb756c94bb207b8dbcbe3637bcea6987bba5d96fbb1fd775bcd2462cbcdfde33bb3c3850bbbb2881bc24c14bbc270e40bb9b0930bb7a964fbcb16012bc4ea214bb4da814bb287933bcdb1a66bb27de0dbbe43628bbc9c0acbb6db96c3bc9a07abace330dbd32438a3e0588663f53d696bd5bab29bd76c97f3effdb593fcc1ab1bda17703bdde035f3ecf72343fcf4373bddf80edbc97973a3ee947183fd20a5bbd8f71b2bc757d0f3e5f25e83e111f1abd17f8a5bcd671d03d953bab3e8a4608bd418b81bc1d687e3d6c4d583e960ecbbc420265bc7832b33cd0dac63d27ecbbbc8fe527bc125614bc850614bbc7d87ebcf901c0bb3cf177bc2a6c343c62b031bc1895f6ba882bc1bc65ec29bcf60f09bc473532baca81b4bc91549abc59718dbb762361b8d4e1a2bc0a1caebcb59c52bb54671cba547d92bc61fe9bbcc2abe1ba1f5d25bad6648cbc193ea5bc32a845bb3f0633bae0da82bc117986bc193166bbb457c5b9131a59bc0c711abcf79f36bb1e6231bb91d2e6bbb344173afbf21dbba1ceb3bcb12df53d064f883fe6e99abd6d0dbdbc47f1e23df9477f3f1839a5bdd3e497bcaf08cc3db1f7563f219670bd036579bcd3e6ab3d1c362e3f8a1f32bd5e4e45bca382833dbff5053f38d702bd69a11fbca959323d96c2c13e7a3ed2bc8ef7f4bb0273aa3c3ea2713e54a2b3bc81ad98bbd741e8bac409ce3dbf659cbc4c144ebbb5948abc285158bc295581bc0000000000000000000000000000000044180d3bbd62acbcca8381bc3c7e53bb07a72d3b4a3193bc4956b7bc3187c4ba8b9b1d3bb43175bc1876b7bc20c6c5ba6d08be3a75865abc0e49b2bc185af3bab268743ae2b64ebc63f0a9bc4cb430bbd0f64a3a281a49bcb25e94bc229e54bb2d388eb9e24941bcf77748bcf0ea61bb0000000000000000000000000000000000000000000000000000803f000000005c3dc4bbf1d950bcd634873f91d93ebd385591bbbe44bcbbd516623f31b0f4bc16cf57bba00840bb3da7373f61f0a6bc56de06bb93777bbbe2b40e3f1aff69bce6cea6baff09ddbb63ecce3e1d7936bc93a133390f703bbc6dd8813e68f61fbccc97c53a6c8b90bc26a8dd3dfbc630bc0000000000000000000000000000000000000000000000000000000000000000637fa2bca47c403c2272d7bbed8868bb6ae35dbc50c9ef3a763ab1bba40486ba7eb547bcc86508bb9157bdbb3329c0ba22682bbcd24b82bb25bdb7bb4e54b6ba27f024bca1a0cdbbb862edbbaf50c9ba141c10bc03ecc7bb2b330ebc1a7be4ba96d722bc180042bb21ac21bc52a237bb00000000000000000000000000000000000000000000803f00000000000000003361e1bc1c047a3fcafc37bb52ed0bbc016194bcdf42533f0c1e1b3afb458fbbcf9a7bbcbd782e3fa79ac53897a89fbbea415dbc0ebf093f53b416bb4fa355bb073867bc7f05cc3e06bc5ebba7243bbb6bb96bbcfb71853e6915e7bb9d6706bb823e87bcc9f8013e6f9435bc709af9ba000000000000000000000000000000005e90f3bcbc62e43c5ee0143b7f472ebcbf4500bd2826ab3c62ada8ba9fe70dbc2f97dabc81cc533c74dcf6ba2948d9bbaed6b3bcbbef843b7f175ebbe338a6bbad3d9abcac04203a041c73bb8828aebb924c8bbc1c158fbadc69d1bbaf61aabbb49d82bc8e96e9ba33e0e8bb1603aabb79ba6ebcff43833a8b75fabbc008c5bb6ef73cbc690bce3bfc0480bbf779b8bbfd763bbdaf7c7b3fd16c063e2b05acbc9be04bbd19cc653fb5a4f43d23e4b3bca24426bdf5f7433f3563d33d86468ebce28608bda427213fcc8cb43d36dd7dbca73feabc3e7dfd3e553f8d3dfd794bbc1ea4e4bc16d1bc3e54d9483d1f423abccd05e3bcf4ab773e98f3ec3ca54523bcd19debbc8271f53dd44a0d3c4f741cbc3066d2bc38a6013c79e9bcbbeb1208bccc4d02bd443ee73c7a04413c235a79bcf46f1bbd05d3e53ce8bc0d3cdc459abcd7f2d9bccfa45a3c5107cb3b43f12fbc0e02c5bcc7321d3c13fbb13bffad28bc232ca5bc905bda3b6a31533b29b51abc317baabcd297823bd9d80a3bcc080abccc3e87bc28d8603b3c5776399614fdbb5e9d8ebc8b9fda3b4ea53eba555d11bc86b464bc2863133ccd643e3b220adfbb263e4dbd6b59573fc8b48b3eb45ef9bc8ee673bdfb96463f1b35803e231410bd869631bd0f1b263fdb9c5b3e7c2bdabc118631bd926b0c3fb8533b3e3e61d4bc8efd0bbd42fedb3ef372133e6b49abbc0f010cbdd21ea73eae02da3d47b4b2bc17cbf0bc3eae593eff83903da21c86bc1e9c07bd3c6ce43dcd9b0b3df7637ebc01cbd3bc762d383c5cb5403b908c58bc4cb6fcbc696fd13c7bb5a33c03f096bc81a415bd40c7d13c4be1aa3c4cf2a8bcf540ebbcb69d883c73ea773c890989bcc412d4bc4b95343cdad1303ca21e5fbc4bc5b8bcba8dff3bce730d3c9c415dbc1acfa7bc6e50af3b7fb6c93b358739bcac9f9bbc7598a43bf0c0ab3b48932cbc6f2992bc1e9af33baa3bc03b139b22bc829168bc6374173cdabd0d3c12c912bc556f44bddb7b323f5b21d43e3d7c18bdd1a474bdc09b243f5bb1c33e78793bbd840d4dbd9f150e3f8044a93ee17920bdb07336bd8e42eb3ee86d8d3e2bda08bd7ab81fbd1979ba3ef90f623eb2b1e6bc9e1916bd55b88b3ea2082a3eeab6d7bcedf20cbd9af03a3e38bae43deeebc2bcc81907bde294c43de72c713d9e6eb3bcfa9ccdbc05cc4e3c6f8b093c85fa8ebca29ceabc7d86a83ce7aad93c0f28a9bcc25503bd7f40af3cef16e53c0ba8bfbc99d5cebc88ba473c6761913c394787bc692bc3bcef220f3c3edd7d3cfd017dbc0f207fbca11ad73b0f1f1a3c32743dbca8cd9abcf425853b270f243c92994cbc338c7ebc8be6603b09880c3c8ae926bc92667fbcdc12ba3b2f2b083c15c83cbce7cc5ebcca2be33b55b03f3cde8309bcf7e634bd060b0e3fc24f0e3fbe8b2ebd36d858bd6f8c023f5bb5023f1ce054bd56092ebd06dddd3e68b0de3eab6221bd88d92abd9188bb3e4ee9bc3e4b221bbdd7dbdebc03f48f3e003b913e7ec9d8bc99750bbd759b5f3e1bb5633edbd0f5bcd563e7bcd118133e901a173eff77c3bc064aeabc80fb9c3dec0aa53d5427cdbc906fbcbc31db1b3c33d9633cf38f9abcc6ecd0bc765d723c7425023d5fb8afbcad3be0bc8d70423cc537073ddf89c3bc635cbcbcedece83b5787c03c97039cbc8482a3bc2ce9573bd851903cd65283bce2188bbccec31e39c4805d3cffc461bcbfac80bca0d78db80680313c2e924fbc6dd06fbcd5f960b916a6253cecde70bc9a0362bceaf9983a01bd4a3c6f4027bc61043cbcf987583b930f573caed20dbca09620bd4d31d43e8dd8323fa31e3fbd01893fbd7838c23e5c0b253f1dfe66bd7e4e27bd16e2a73e8b180e3f8a2242bda76512bd8b0c8c3e94daec3ef5d327bd38b9febce82f5e3ee41bbc3e63e40cbd29fdefbc0397253e65a38d3e25c600bd6663debcd1e3da3d1a11413ec45a01bd0ff1cfbc77155e3d2d4fcd3d1bc8e2bc2ce09cbca8939c3b97367f3c593ba4bc1c529cbc973ec13b6a64083d8c83acbc22b0acbc6789023b0156093db68abbbcb67972bcdaa81b391ccc9c3cb99b81bc508976bc3935d9bac5f1823c433f89bc4e9d40bc9a6483bb5eb0363ccd835cbc756a2dbcba01bebbf3b9ff3b13d663bc765010bc823193bbba19043cee682bbc961526bcbc8b48bbe593423c55e42fbc348f04bc528996ba90b84f3cdeb805bcb74c00bd37788b3e7e8a573f251746bd31da12bdcc137e3e269c463f05ff66bd713de5bc50de593ecd22263f21b020bd85e5dfbc07b8373e345e0d3fdb0d26bdd4a8b6bcf600103e2d48dd3e147400bdf6f7b0bc0c6ad23df51ba73ef9f5e4bc704790bcd924873d7da55d3efdf9c9bce8f78cbcc306ed3c09f3ec3dd039dbbcd3bd67bc93abddbab5c4693c5ba1a5bcc1bd48bc14637dbb52b7063d13ae9cbc128619bcfc2e01bc8a06cf3c409b95bcb60901bcec9a09bc4693673c640867bc0492cdbb65d114bc4508083cf7635cbc3d45b1bb07390bbc0d3b663b69bf2bbc48129bbbbc971ebc0447933a1bdd27bc1e89b4bb4b582fbc84dbea3a254c15bc55d653bb766932bc79725d3bc5b415bc81e1a7bb3d53c7bba6d71d3cf156f5bb10efafbc7681053eda337c3f199638bd81d3b2bc3ff9f13df2df653fcc1e40bd74b599bc9430d33df8b1433f1c0312bd04eb81bc90dbad3d64a9213ff488ecbc407d53bc7949863da329fe3e24f2c4bc3c3244bc3bae3a3d3c7fbd3e522eb9bccbfb38bc0e9acc3c3a5c7a3ece67bdbc95ee03bc3250523be6a7f93d6ad6b5bcbf5607bcc9f41cbce9c3133ce49a99bc0000000000000000000000000000000011560abbd9e23bbc1fb9523ccc3d2cbca22f07ba042422bc49e3673b12b5e3bbf0b0fe3806e810bcf77a85bab0d3c8bb980cd5ba75d005bcfb323abbdfd7b6bb693fba3897d61bbcc4ccb2bbf864b4bb0518373a5fce28bc95b0babb1ccbe4bbdc7312b9dc4232bc9518d3baf28ccabb0000000000000000000000000000000000000000000000000000803f00000000149e01bca7d976bb52ee793f9702cfbc0cddb3bb829df8ba925c533f7e0985bc150b8bbb97e0babac1722e3f883c53bc9a4c48bb68b298bb14ee093f9fb02abcb9c329bb6cbbd1bbfd95cc3ebb6a24bc2fbcd7ba856321bc9443853e190a3fbcb99fa5ba6a4669bca031033e3b535abc0000000000000000000000000000000000000000000000000000000000000000782003bce5e2083cccb79138fd5032bbc625dcbba01cd43b0b378eb90c8e0fbb49e2c7bba17ebf3b47fe8db9b5b505bb65ebc0bb15eb9a3babf4f0b98080faba532bcbbb453a9a3b6692c4b9fb3809bb1b23c4bb036d9c3bcaa10fbaffe213bbb950e1bb5c7ebb3bdf563ab956e437bb00000000000000000000000000000000000000000000803f0000000000000000771ff3bbc66f643f5829ca39771263bbe1a8c3bbe9a9433f9df565394a002fbbff43f3bbc837233fdf654e39cc731ebbb2edb3bb318c023f594229383f2d1cbbf7dbc4bb008cc43ed82fefb812d72bbbe1b8c7bb85cb833ed89f1cba7cb92cbb2256f3bbdd80073e0b2a06bab01158bb00000000000000000000000000000000ed551abc09962a3cb94b2c3bc5f2a5bb3fd444bc31d3433c0894553b6023b6bbffe030bcff0d253cdf8c2d3bb2c7a0bbbccd28bc2735133cf3652a3bf65b8ebbd15115bc092ffd3b5a50013b82d58cbbb60e1fbc417b003c716e0b3b59c095bb747a1fbc4ea3023c5387123b00c29fbbc17c2bbcd8010e3ca319363b03c8a4bb0b211abc6469113c22656a3b8a8ca9bbae2f1cbcc7af643f95d1023ee3fcd3bb2a2f43bcc4c3493f1a1ce83de744ecbbd1d92cbcd41b2d3f778ec73dfda5d2bb888d26bc0f87103fdd78a73df311bebb47ef14bc6d44e73ebda6853d67a9b1bbf59a20bce2c3ae3e07284b3d0a39bfbbbbf626bc7ffc6b3e31ae093d71a7c7bb6da736bce293f63d255a933cafc2cfbb3b5c25bcfa3c243c3f623f3bf2d1ccbb73af38bcfaac363c4e42c13b288cdabbd96869bc7eb8483c6878ca3beb4cf0bb423b30bce44e1a3c4efdaf3bc1f6c2bbc1064fbc4a302d3ccf75c33bc2fadbbbb51e2ebcea160c3c72e6a33b7b51c0bbad3f41bc38be153c01abb73b445cd8bb462a29bccf910b3c7a03aa3bd7e1b5bb3f0045bcfa821e3c8b21cd3b5a94e0bb7c1f1cbc3b66043c9a3fab3b2895b1bb7ce140bc238c443f4355833e7de00fbc79ae71bc139d2d3f14fb693e87f91fbceac833bc9d50143f3a08473e91e301bcf57553bcef57f93ebcfd273e254115bc143c31bc0249c73e2c58063e505ef9bb639f48bc8252973e0cbccd3d86150ebc301131bc56cb4b3e49698b3d2120eebb057d51bce3f8d83d0f8a193d643912bc523125bcd9981a3cc291a03bb0c7e6bb639f4dbcbd73273c12d0183c62d400bc879b78bc9688503c481e1f3c968617bca37356bcff282d3ca26d143c455c05bcd06d65bc4ca4273c0722193c9e541abc516a3cbc27640c3cbf43ff3b96abeebbdddb4bbcf01f0f3ce7210a3c54cefebb5b7f48bc3a9b0d3c308f093cf653f7bbf43f56bc6ba01f3c76f81e3caf730abc89a31ebcebdbfa3b8a7af23b18d3cebbf80450bc0401243f576bc53e09c92cbc1ef181bcca2e113f2554af3ee97e4dbc404f60bce54df93ed51e963ecc2535bcc3c66dbc51cfd03ef78c7c3e06082abc2bdb44bcec13a73ebb1d4a3e0eba1fbc7aa355bc29d17d3e9b791a3e4ad228bcf8c552bc4b5c2c3eff3ad33d3b0126bc7aab62bc0074b83d2f0e693d15c531bc512c28bc4003143c345fee3be9a807bcff2530bcef60043c82fb233ce6b0f4bb469457bcf4181a3c6d73443c50c015bccdd73dbc563cf63b24941d3cd7f5d1bba8b643bcdd17023c995f2a3c035b07bcb83716bc8f6cc13b0eb0013c2d26ccbbb7bb3dbc6b40eb3b80bb213c5c10febb7ff216bcc1b9c93bb59b0e3c1c6ae9bbac883cbcfd43f53b6a45293ceb3500bca9fc16bcae95cd3b62360c3c55a2d0bb26d738bcdc0d033f4f29033f43e526bceee262bca5bce73e9710e83e46694cbcb93847bcfa85c63e7acac63ebe9838bce5094ebc84d0a63e6f4ca73eba0039bc590b1dbcebce843eb640853eb4470bbcfe0548bcc13e4b3e278e4c3e00872dbc9b201dbcb2d6083ebd7b0a3eafbd1cbc9eac47bc097e933d6ca7963dab7f2cbc05d81ebcc24bf53b4d040f3c3f390bbc604a29bcd347cc3b21a4413c2bc8febb5a7558bce43d083cc6aa753c77872abcccdf3dbcd32adf3b6799513c282412bc03853abc0adfca3b7ea3493c3c7a0ebc900428bc3c00ac3ba519303cfec9f6bbd77b2cbcb51cc93b8f7a433c89b418bc998e2ebca62ca93b7fc9323ca98b00bc829037bc2fa7b23bf4b2573cfbfc12bcb42619bc6a14a13b532d2a3c840fc6bbda5032bc4bbec43e0dff233f41d230bc8d3766bc8a92ae3e4541113fac9c68bc32d54abc85d2953ed87af93e5e2d4abc27f346bcc3f07a3e0d0dd13ebaa443bcc49e31bc38f3483e918ea73e05ab2abcdfe336bcdb95193e1c8c7f3e1eb649bc711138bcfc29cf3d0e912d3e6b3531bcb08c42bc04365d3dc446bd3d338a46bcb02321bc7b31c43bac85313cebd314bc632f0cbc8a327c3b3c214e3cedb1f4bb095f2dbcf5bd943bca8e753cec7c15bc999907bc977b663bfc0c223c0f20f6bb8c7518bc80de643b48c4493c25a801bc533f02bc7350333be7632c3c7642ddbba27811bc5ec4493b2353423c08f602bcf51ffabb4c4b2d3b9fd11d3c8152d3bb545810bc78372a3b4429423cd2dc08bc4a56febbc833463b3254283c9276c9bbf45715bc8e0e833e9a88443f8d1d2dbcb60b3abca427683e8ac52d3fdf3851bc03fd10bc1f92463e85a2143f268326bc18bb23bcb807273eb0bbf93e522e33bc85b009bcb43d053e9faec73e304e19bcd4391cbc25ffca3d4605983e204531bcf61705bcf038883deb084c3e33a40fbc27be13bc361c173d035cdb3d1f8338bcdcc005bc4f5f6f3bd688313c10030cbc6d84edbb8acc6839197c5e3ccecef1bb1267edbb9a17913a0a17613ca0b6f9bbb104d9bbcc82233ab7ae3f3cf4a9d6bb2825c6bbd143c039970b2a3c502dccbb94ebb5bba9344339700b163cb2ccbabbe095f4bb88e8e839bb041d3ceff3cdbbfd8bc3bbd8a6923916631c3c9adcccbb5cdfcebb0135223a86b72a3cc430dbbb2b51b6bb056d1a3a1a25103cedbc97bb9de6fcbb98b2033e9e3e653f70be24bca69201bc4c10e73dc0ec493f7bec2bbca10fedbb3c39c63db2442d3f209412bcf979d9bbdc61a53de19a103f82ea09bca233c3bbd7ed833d948de73e19d2f6bbcbdcc8bb2996473d6138af3e85b709bcd1e6d5bbf0ff043d75cc6c3ee3640bbc4b18debb9f89893ca357f83dc87818bc103cc0bb4ade443a5b0b173c1017e2bb00000000000000000000000000000000e0b05fbb17ff9eba3472193ca62099bba20736bb6ed791ba2004e83b22b37cbbffb51dbbc231acba1d43cd3b9d0678bb32fc0bbbf5b9afba264fb33bcac465bb1cd10ebb0936bdbae886b43b2bb36fbb44d916bba567b3ba6eb3b03b581b7fbb9bc43abb50c7a1ba2473d83b60f890bb0000000000000000000000000000000000000000000000000000803f000000005a2b7dbb71901839f396643f71f8cdbb674e48bba02f253804bc433f571aa3bb349334bbf4f205b9863d233fa7c09bbbaddc14bba2c41eba599e023fe7d891bb7fac1fbbeca735bab5b0c43e484398bbe3d12dbbd3928fba22ef833e923ea3bbbf2d4dbbc5b7a2ba8c14083ebfdac7bb000000000000000000000000000000000000000000000000000000000000000012a0ef3b073e04be4846abbc525c3e3cb944223b41a3f9bd5a1dc3bc99e1243c1d7156bb6e84cdbdf712d0bc37b8e73bec49c7bbdecdaabd89a2b9bc540cc13b28a485bb48ac85bdef5c85bc2e08583b2d211fb92cb43abd2a5c1dbc615f773b649b273bb41fb0bc258a37bb21bb023b00000000000000000000000000000000000000000000803f00000000000000009645b2bd16a9a03fac8c86bd910f803b252563bd4652853f8c9610bd893a2c3b0c610fbd2f5e573fb8b492bcd9ae813a65b1b8bc02f5223f4fe627bc8bef283a229346bc92b4de3e4bb91bbc4749d23a873e48bba447743e11a1d5bbcfbccc3a66f2623aa9ba533d729137bc08ff453b000000000000000000000000000000006b8fbb3a55098fbd68d25fbcd6e22e3bc35f903c538211be816ea2bc63783c3cf506023c79e50dbe10ebecbc10ab1a3c9ac4bcb7eef2efbd4ca206bd8c89053c440f58ba6ef4bcbdb67af3bc44fba53b672a3c3a247994bd8cc6b7bcc6deb63b5571b33b888746bd836957bcfd3f933bbd923f3c8298b1bc5ca02f3ad217803bb101263c797baf3a5cb8b03ad7071e3bd5ae12be2d5fa13f7fa17f3d938897bca33311be12f5993f19d75c3da9269abcee17dfbda4ca843f55bc8e3d190c94bc74bca3bd3d86553f58288f3dae2179bc856c63bd54d01f3f5ad97f3d1e5759bcb1901abd8041d83e55a4413db20727bcb7bfabbcb511653e5709f03ceb840bbcad0930bb6e921c3d1b6e513c3b288ebbfd93c8bba2bc96bde42137bc6e0a41bbb9f40abc86a212bda49deebb7513d8bb48e7813b08e6c1bd6b03e0bcf2150e3b698ac6ba597cbcbd5dcb02bda2ada2387c057cbad2cebdbd48d11fbd5942133bc4ba56bbd0cb90bd510406bd540ec239737a1b3b5f2479bd2da1e4bc427fb43a3da5803bea4e1bbdefda9abcef5c0d3b907c333c7769a2bca08110bc90e5973b3a651c3c388041baf1195138dedf2c3bb9720abe9642863f84977d3e065b39bd56ab19bed14f853f8e0c6f3ec28649bdbe05eabdce24603f9116613ea29225bd7461c2bdd9203c3f0700443e793112bd603889bd64ad0b3fca3d1e3e0e2ee9bcf27154bd605dc23e3225ea3d76dbc6bcfebc07bd5f0b583ee49f913d962f9dbcf33688bc8861633d3996ed3c1ce451bc26e94cbc8c222dbde1fec0bbef7b22bc59f287bc7dba73bc267437bb626972bccacf95bb519880bda15bfebc9026c7bb065a13bbfe729dbd397b32bd319250bb8bdcdcba10e097bda37931bd70701fbb012d20bb83337bbd127321bd224e81bbc8b2df3a671c4dbd297504bd9d735aba0d67ca3b7f3713bd52e7c2bcdf868f3ab84b1e3cfb14a5bc988450bce91c673bb918e93bcd0252bb09156aba15170d3b1999f2bde657593f6f44e33eec2290bd9da407be448f563f828adc3e5e1ea0bd95bee2bda2693c3f89c8c63e3dbd89bdc696b4bd9eb8193f33a1a73e1b4165bd73b88ebd38f4eb3ebbed853e92af3abdc84556bd9d6ba33e9803413e7c1f15bd71c217bd6c0e3c3ede3aed3dfbade6bc55eec3bceac17a3d9a52413dc768a1bc2084a3bcebefa7bc426c78bbfd3383bcdafa8bbcce1b0abc62962eba1002a4bc614be0bb47c133bdf9fd13bd03b93fbcbd058dbbd8bb5ebd0a2543bd1e5d0abc71226bbb789473bd77a44cbd4b7bd7bb60ccbcbb341c17bde63f04bd46ca12bcfdc1a2397f5234bdf6b11bbd33610cbb7690273bb080e7bc4f6ccabccd524aba8c0fe53bf9608ebcc8c45cbca31d683bc871b93b6af24cbb745f20ba4f6b1c3bdb96c3bdb8c6243f0218253fdd23c2bd9b60d7bdc8a0203f6d9d213fe777d5bd4c57afbd032b0c3f0e670d3fbd66aebdcade98bd05ffec3e2238f03ead2b97bdbdc54ebdc62bad3ede4bb03e991f45bda94645bd5f99823e2de7853e1ac946bd0ad904bdce14163e52711f3ebe0307bd3a93c2bce576603d1725813d7b14c9bc54889dbc1e923abcbe17b5bb1b68a5bc4e144fbc3a4b23bc462e03bc321d9bbcb6e50ebbc6f61cbd861d64bd55b91ebc899d873a17a850bd2db98ebdac01febbc338d03af63e4dbd26c288bdeb78bcbb98e5f8b986a939bd8c7b62bd050ad9bbf683793baf0317bd7a243bbd7a5e67bbbd8ba53b0caddcbcb65005bd11e4c6394070ea3b4cad69bcb46986bc3a3c8a3b2c229f3b8cee84bbd51d2b3a8c5d513bcd7990bd25e5e23e7086593f6400f1bdc7d09fbd1f9edb3e042b573f73ce05be51658bbd30bfc43e0f2e3d3fb598e0bd87d464bde044a43e5bd01a3fb37fb0bd97803fbd167a823e6b11ef3ec04e8abd87dc16bd9e74383e3ec7a63e905c48bd7e49e3bc7502dd3deff5423e010017bda96b99bcdd5a243d0ab38a3d2114c2bca13c6ebc0c0e32bcfec770bcc78d9fbc375b78bb4a9a49bc04d2f5bce5e751bcf42baa3b22f706bd2708b4bd92db13bb71a6b93be3d327bde3bab0bd934c8bbbe90dbd3b1bf92fbd88eeb2bde17189bb35e8653bf19117bd157685bd1912b5bb0141b13b7fff03bdb4bd65bda2e304bb1a30a43b43e7acbc23eb0fbdf6079f3a525ad73b05201dbc029098bc1603d13bd2a48e3b8c6e66baceaaf63a545bd03b2c6937bd90457d3e3a5b863f476e09be952347bde8a06c3ea361853f1e3e18be416e25bd9cd85c3e601f623f8cefe4bd255f15bd4da33e3e0ea83c3fc80fbabde8abe4bca6f9173e97ad0c3f0a9183bda8edc1bc6630db3d14cdc43e0f4c45bd903195bcf4bd843d2c145f3e3d02f4bc91d433bce128b93cd03a793db7c58bbca4110bbcd33432bccf1d17bd70635bbc696e8a3b2a8984bcc1d986bdbee40cbb5d9a533c1064a9bc95630fbeee9e333cb8813e3c085002bdcce208be4ca7ec3ac6f31b3c93fc11bd2face9bddc3439bba747f03b160200bdd2a6b7bdf44ec0bb7be0de3be693bebc7a5190bde97b0cbbbc56ad3b36f756bc42553fbd3b04de3ac7327d3bbdc67739a0869bbce040023c9fc52c3b5cfbc93a477e323bef22d53be8ef98bc489c753d8979a13f3cbc13be14a99dbcb76b563db63c9a3ff23a0fbe05b08dbca585863d82cc843f0a5cd8bde56079bca725853d8a34563f9ad99cbd4f3943bc502a633dec85203f106852bde98e21bc7129283df697d93e7f3c0bbd1f7e03bcaa07c43c67fd673ed05ca0bc37c88fbbd63b203ce640293df15b48bb1ebf11bb7b3d75bc34f492bd10ead3bb00000000000000000000000000000000a515493cf8a0b3bca4a103be0615d03bc04e383cad08c5bc88a4fbbd1ff99e3a00e5183ce409ddbcc1b1c9bde9a096bb3ba5023c494ac3bce036a7bdf8adccbb5b91bc3b7e5e8fbcd5b883bdf073e9bb60859c3b06d117bcbef937bd93df15bbc69b003b9de187bad712b5bcbb6f433a0000000000000000000000000000000000000000000000000000803f000000008deaa43b48be8bbd46d1a03f8a11b0bd2a94523beae21bbd0056853f148a52bdc94c3f3bfde9bfbc5258573f7f8905bd3caef73af57568bc68ed223f10b498bc014efc3a454c38bc6631de3e786212bc426a4f3be26d3bbcd8bd743eb7222b3aa4745b3b682d54bc3810563d5e16283b0000000000000000000000000000000000000000000000000000000000000000ba9ca0bb22d6b4bd78fccebc75012f3cbe8ebcbb20acb5bdb060c4bc18c6213c01d139bcb14197bd4532d6bc0c32e83b5fea2abc66e082bddfdbd3bcb57bb53b34d802bc91f764bdfbaeb1bc2649853baa034fba33f547bd4a5a6abc9aa9753bdd38933b919c09bdc91009bc86ae173b00000000000000000000000000000000000000000000803f00000000000000005e6177bd4aee973f5e2130bd5662c9b9fbd611bda59f7d3fc916c0bc162f1b393db2d1bcd9fd4e3fa7586fbc141725390c189cbc728b1f3f6c403cbc9bb2983a86256bbc19f5e13e346332bcd623a23a352025bc3989843e48323dbcaab8b73af0fb44bc4f52b13d1cba8ebc216b013b00000000000000000000000000000000690d65bc0dfc0abd51408cbca903cc3939efdf3ad2f9ccbd877cb2bc7302e73bb76dcfbba8aec8bdc0cadfbced35ea3b11b20bbc85f5b1bdb63ef7bc7c7c533b56ba10bc172394bd3bbbe3bc5ba10d3b7a3239bb9aca86bddd17c3bc20a9123bc7e49e3ba1135dbdfbd677bc4f2ffb3ac65e8d3ca81920bdd9dddbba6d7d323be0e3423cd1755bbc7b4e4bbb6e03e03ab6cadcbd0a2c983f5156b33d2998b7bc6964d7bd974e903f2e19ac3d83cbbebc3816a4bdf8df783fd4cab03daba4abbccd757ebd1e504a3f6b77a13dcab37ebc2b9e3fbd1aee1a3f3f48813d1d8462bca55c16bda116d93ef29c393d9c3b3fbc027ce5bca2e57a3e6e10d83c98c126bc3b8a83bcef9f903d2925063cc455dcbbcb2c93bc3a9725bd0d1784bcd8fc8bbbefb4a0bcea6853bc346409bb443c44bc0bc715bc6ca970bd650493bc1748b2bbc6284dbcf71766bd8342b8bc72dac1bb39a728bc447f87bddedcf4bcbe6f54bbf92d1abc8d1056bdad83cbbc3cd6c0bbcff12abbe07f5abd2fbec9bc757024bbca4a3d3a8e881ebd6cc987bcfd105abbcc086a3c6e2808bd78a117bca4fe943a1439313c1d9f41bc818c57badf6132390a58d5bd29177e3f1209863ec24537bde150ebbdcccd773f70d47c3e431043bd59a7afbd0528503ff7ad673ebaea21bd45be99bd8833313ff41b453ee29f14bdbf666ebd775a063f7fe21c3e1ed3e0bc2a6645bdb8a1c13e0753e83d392dd2bc086e15bd168b693eb0088f3d4ea4acbc78e7d4bce7a2a63de63cee3cc0c980bc21afacbcd9fb95bc11e494bb9c214ebc9535d4bcda15293b8863273c597cc4bc47f553bc1c9d16bd12c637bc7f5f8bbc53cd33bc0e7850bdf032b3bc728946bc75da02bc19415dbd5cf8cbbc3d2745bc4f8ff8bba6ae45bd2c79ccbca6f738bc070dfcb9458544bd4958abbcc6040cbca3e76f3bdd6021bdc7a493bc096ab2bbb7314a3c0f4af5bc03e328bc677f10bbcd02b63b043a1cbc9b63cb3a60a382bb79ecc3bd8ba54e3f766ae13e450783bdc7ccd6bde04b483f80c9d83ed53a90bd5904b6bdebed2f3f82a7c13e20cb78bd12f095bd7955113fd253a33eaf6258bdf90c7abd2e72e23e2348833e1a5037bd70fc44bd90e3a13e82843f3eb32b1bbd3ed621bd5b21453e667ff43d86c701bde6a6eebc4aa29d3d82005f3d5184c8bc3b2bc7bce59692bb8ee0743b9039abbc1f24c0bc7d488d3a7f549f3c696feebc7ac667bc2c31d8bcec5ba6bb7d50c6bcfba13dbcdd9f1dbdf7fd70bc6116a8bc046c15bc22a636bd6daebebc383e99bc36a93ebc5e5ceabcab6740bc25b993bcafed25bbc85d25bd0c5faebca9745cbc1284a13988f101bdd8af6dbcefc31fbc3da3ef3bf02ad1bc91e60ebc8dba8cbb85b1a43ba94027bc6f15613b89ff91bbdcd7a4bdd31b1f3f14981f3f17ffa9bdafb5afbd04c2173fa743193f34dfb4bd83ac91bd436a043fd221063fe3fd96bde4ed82bdde64e03ebc71e53ec05d88bdc92642bd5938a83e2ffbac3e7be948bd5e1636bd4b1c7e3e9da6853ed96642bdfa410ebda1811c3e3430283e701b1bbd95bed9bc8fff813d2e479f3d1be3febca209c1bc72e04bbbefa4223cf5afd9bc95d27ebc2d9fdfbbbbfd9b3c782604bd68dcb6bbab4dfebc12e172bccad4d2bcbc7f44bb17852fbd664bf6bc1614b2bcb308d7baa68e3abda7a104bd60dca1bc813b1dba6de435bd607becbcb3709fbc5c59063b111c24bd77cad8bcc32f6fbc7a64983be1260cbdeeecb1bcb21618bc41ff133c6cf9d4bc626d4bbcde7943bb60246a3b971932bc10ffab3b48c564bb79cb80bd7963e03edb824f3f10c2c8bdd9e48bbd201ed53eda154a3f6effdcbd2d8071bd4ce6bd3edc08323fb9d8babde4164bbdeb4e9e3eb712143f65be9fbd73562dbd7a01793e16f5e83e1cbe81bd88ce0bbd03bb333e0f1ba83eef7f56bd520ee9bcc795d93d8db3523e9d2530bd061296bcd183243da918bb3dfff408bdf9ec85bc1a3affbb8c14f93b105aebbc5912b9bb661781bcaa92533b3bfcdcbc30c7353b1eba0fbd1c0e21bdfa7fa6bc84a5df3a583c1ebdc98123bdb73da5bc76268e3bb22735bdddea47bd45e19cbc1834373b410d1fbdab0016bdd74b8ebcbfdfc13b42ed1cbd075d18bdc61844bc6f25923b84a3eabcd776cabc55fc14bcd2a3153cbe279ebc2a2c98bc70319e3a7542b83b60b230bc404bfb39e9ebac3aff8631bda7cb843e219c7e3f68d4dbbd3ad63bbd9ebe773e2dd2783f7e3ef1bd0a521abdacce613e2fff513fb779b5bd700b08bd2c683c3e2f75333f9527a1bd81a2debc775b133e8e69083fd16374bdce67b6bc53efd23dc70bc73ea3d753bd225d92bc81f17a3d7496723e7cfa20bdb24c53bc0e1e8d3cddbebd3dd4d8fabc201603bc93ac66bc645b18bc4d03c6bce16a903b16bed1bc3baabfbc63339dbcc1e2343c99ebfebc4fa4b4bd3f1719bc509d293cf2d51abd9ec5b1bdcd9959bc396b163c9a7823bd9a9c9bbdf03c80bc0334dd3b3ff514bde35c7cbd2bcf82bc7c36df3bc03dfdbc25855fbda07a25bc761cba3b52fab4bc8a6e37bd419a98bb15949a3b38f8c5bb8af0eebc88dbc73b55ffa13b93f8e1bbaf3693bbdcfa7e3b0458b5bcb6f4b03d0178983f4e62e1bdeaa8c0bc9263a63d0dd9903f4c2adbbda7fd9fbcdbfca63d3ccf793fb941a6bd8fa37abc6cad923d451c4c3f070b7ebd056f45bc1d3c663d87f61b3f404a41bddec82cbc25191a3d312edc3e737f19bd4b4a0abc51dc973cc80d813ee2daefbc9a7aa7bbc6dca23a4cb09e3d08399cbc3575f8ba7b88b9bc23bd09bd58d4aabc00000000000000000000000000000000dca64d3c4dbde8bc8a26adbd27e5d1bb7ec0233c2e7ddcbca75db0bd701105bc21cc133c8d13f0bc75b192bdd53a3dbc26a9fc3bcec4e2bcc2ef7abda25343bc0f1bc93b6c6ebdbcfc9c5dbd6a2121bc9ede843bbd2e5ebceff83bbd62b596bb1a923e3bbdf8dabbe987ffbc72aab0b80000000000000000000000000000000000000000000000000000803f00000000cc246bba03bc34bdbffd973f781574bdb92d9938de4ccabcc1eb7d3fbcbf0dbd0d5e1939915f8dbc38184f3ff5abc5bcd980823a6c4d71bc91f01f3fbc528bbc04e2c43a5d1378bcd3c5e23e93684ebc5cd9793a867859bc2096843ed41e22bc40ea413b2aa6a5bcad1db33d02aa2cbc0000000000000000000000000000000000000000000000000000000000000000cc308dbce371e6bbb53fb5bc7e71ab3bf4596dbc977499bc918ba1bc7472843bcbb684bc05e87dbc8ba5b2bc701f363b393f7dbc6e3841bcd3aeb5bc700ced3aa8ec74bc3e4977bc10d0b3bcc0cbf23a7dec25bc3dbf93bc8ecaabbc846a6d39ea7f0dbc8e6c62bcf206a4bc899e8fb900000000000000000000000000000000000000000000803f00000000000000005500e2bcbf95853f831caebc5c5db139bb138fbc540b623f654a4cbc83bb4d3a0c8b7ebca4c63a3f854541bc287c153a680769bc7d68123fac734dbc1e018d3a9fd058bc7b99d73e59b169bc82b2023bd66968bc52a2883e46fe79bca4946e3ac5c696bc1208fe3d4204adbcd629403a00000000000000000000000000000000331ee7bccd1cac3c33505abc945cbfbb6509aabc5e220cbce3f875bceff813bb121cbdbc838846bc3cc198bc183c2dbb4c93bbbcb39a5cbc9819a3bc373769bbee66b4bcb12814bc4b85a9bcb3ca92bbde7a99bcbf017bbc8644a8bccef4a6bbdd3d63bc291991bcb4f1a4bc57ef9bbbb91770bba50e9dbcac3486bcd68c64bb1cef26bc49dc7b3b3ac570bc989a74bbd5f85ebdf419863ff1ecdb3d930c66bc82734dbdf861773f9eaece3d77f05ebccc4f2abd6e95543f3d50bc3dbc9c3ebc6d4f12bddec52f3ff25a9b3d971027bc3e1f03bde593093f077e6c3dfcf112bcd349f8bcb6bfca3ec67a213d4b1200bc6428ebbcc66c823ed19ba33c00e4f7bbccedcabcc9dce33ddc21f53a1729c6bb203aeebce76b1b3c3b2a8fbc3863c3bbbb71f0bce155c43c6cc4533b751480bce1addcbc269f113c328440bb846263bc363ed8bc553c783b55cc4cbbf6bf61bc46bfcfbcaf5aa2bac40f1bbc51db54bcae8dc5bc7c4332ba8a8dfbbb981c56bcb3cba7bcb735dcbbecc43ebc247b4bbcc6e892bc1ec08fbb5e32ebbb88194fbc75fd2dbc74c2e8bbd62e27bc769d12bc1e2638bc6f319c3bdb2126ba09911abc4c0068bd6494623fb272843e8f09dfbc25ca77bd0f48533faf4f713e288be8bc6a8147bd9bb1323f8b2e553e2f49cfbc731640bd83b7183f2377333e22d3bcbcf5fe25bd1607ee3e8e390c3eab01a5bc79791ebd47a8b23e59afd03d4bbe9ebcf3e50dbdb4b9693eb5bb883d0c8d98bc4291ffbcd323e63db2d2f13c23b574bcd2aaecbca9d3723c0e12d4bae59b6dbc7f82ffbca861c23c715b953cbc22c8bc6e48e3bc5767283c00eb4d3cf302c1bc7350d5bcf1f3473b8ec7c73b66e3a9bc1752c2bc281b32bbddb0713b6b71a7bc0d00b3bc66b4a1bb15221d3b488dadbcaa839ebcbff1d2bbc98a0f3a945e99bc615b6cbc607109bcd52ed63a4ba093bc734b2fbc34ddb4bb35d2423bf91d7dbc74e15bbc7df4ae3b9654333c655377bc2b3962bd48283a3f7263d33ee5b821bdcc6971bd60da2c3fe4f9c23e51d72cbd7e5757bdbfa7163fdb1bab3eaa111dbde6233dbdaf9dfa3e8d57903ec4a10bbd919d33bd8a4ec73e73f0683e82b304bd14ea1ebd1c70943eb3452d3eaa0aebbc1c3a14bde64f433ee63ae93df354e0bc8f9b04bdf2edc73dcf016e3d0d88c6bcfa3cf1bc68308d3ce9813e3c66c4b8bcd2afe2bcaa31833cc5d8003d2158f9bc6691c6bc5169b13b593dd63c6899f6bc2d48b3bce7a08dbad1f8a83c25f3dbbcfa01aebcc430b6bbb5a6843c2b3ee1bc490badbc382b89baac98893c8929c9bc791b8cbc6dcf1abcd4e1513cd9d0cdbcdde281bca698fcbb4309563cb872b8bc99b316bcaa9706bcb705813c2bb9a7bc77f64dbc2cb31a3b9be8a83c7a119dbc92b945bdb33b113f6f8d113fc90847bdb0c94bbd0e00053f3414063fe1cb51bd159638bd73ace63e3129ea3e429934bd11902bbdd43bc33e8759c73e7b9731bdcad10ebd30af973e53989b3e5cbc10bdc8c90fbd04f7673e54d5723ef2f617bd04dd02bd8c37183e8d6a233eb96c06bd27c5ebbc2029993d3d9eb33df443ffbc3889dabc390b523cf901bd3c9d72ecbccd39a5bc556b633bc31b243dd83a06bdb63c88bc3fbe09bcc5b7063de1300abd3ee763bcd03a66bc7545cc3cca32fdbc79844ebc338592bcdd64a63c1940f0bc48bb52bcb7498bbc1f04a83c50ceecbc19c81cbcfb9fa8bcca8e8d3c6527ddbc2694d9bb87ffa9bc77f3843c4661cfbc5c4484bb515693bc0c498e3cb2b4b3bc58f1e1bb62ec00bc6864d03c3e20a2bc4db01fbdc6bed23e3a3c3a3fee9962bda84823bdfc3fc03ebe312e3f727c78bd665115bda32fa83e58fe173fd2bc5bbdb24304bd2f048c3eaa55ff3ec5eb44bdb6c0f7bc38375f3e1919cd3eb45238bd1ca9d8bcc6b8223eb46d993e2aaa24bd28a9cabcffbbce3de941513edbaf1cbd66acaabc14813b3dc075e13dcbd90ebd9660a2bc0a6afbb82231eb3c395600bd68972fbcc6841fbc3f9e1e3ddb94ffbc0da3e3bb51a699bc3e30ea3c369908bdeb98f5bb753d9ebcc359b73c4f9eeebcaae49ebb37c7dfbcec74903c460bf5bc44fab8bb166cc7bcb464903c2b6fdbbc17d95fbb384deabce9b6573c275ce1bc475c90bbf6b3b2bc2431673cd8d1c5bc5a0e593ab8b3cbbcb9c16a3c9f7daebce4b2c8bab3647bbc80ffb93c639396bc6754ddbcb1a7833e4923633f27d06cbd4377e8bc63f86c3ee780543fc62d7cbd0598c5bcb62a513e8609343f01fe4abd33e0b0bca6bd2d3e3f401a3ffc8543bdea7598bc817e063e9edcf13e9e852abddd0e8bbccd0cbf3dce10b73e226825bd377083bc5035713d14fa713e9cea11bd790c48bc54818a3ca8a5fd3dff8d0ebd3dd03cbcc65842bc8c8ac83c3d53fbbc6ef749bac071bfbc78f0073d1f12eabc22ec363b6b33dbbc793bf43b8007dabcb898083b3341e9bcadd64e3bc619d5bcfec5e53a0c0f00bdebb8dd3ac25cd2bcfa55663ae438fbbc4ca0853bceddcebccd819b3a0a13fbbcd45de2b9c322cabcc6f2df3a8797ecbc7aa70fbb1a36b0bc0872483b5822c3bc9a7560bbd26688bc60e6303bedbcb2bcea3b883c1e8488bc80355dbcfeead83da17a863f945464bd672a5bbcf6c7c83d09d1783f8f7b59bdb7dd36bcf6aeb03d0bb8553f44d82ebd64841dbc873d913dafdb303f4d9d14bd7e7402bcda4b563df6db0a3f225e0abdd022edbb6869093d43e7cd3ea33efbbc3545c9bb48e45a3cf628853e3c46eebc75478fbb635ab1bbe7d4f73d1c26e0bca73475bb3914c4bceee5803ce2bdeebc000000000000000000000000000000001a44e83b49c4ccbcedeb34bb087284bc2cebcc3b4a57b5bc244b64bcc79f65bcfa98823b6d20cebc6cf11ebc1c8c7ebca339a13b5f80ccbc8a8315bcc8538abca521b43bea99c7bc709e3cbc391475bcfc5e633bb5c5acbc2bdf73bcfd4355bc1d38803b8437c2bc041e0ebc5d7a4fbc0000000000000000000000000000000000000000000000000000803f00000000d6ae6bb999ebb7bc92be853f3262e4bcdb1b7f3aad266abc9c2b623f31be80bc82384f3a756164bc12b63a3f4bc679bca6dfb63a9cfc71bcf1d6123fc64551bc9f5a7d3a1cf685bcc4edd73e698456bce814c53ac7208cbcd4da893e8aee54bcdedf1c3bb589c3bc63e3023e1b4b9dbc00000000000000000000000000000000000000000000000000000000000000007945dc3c99804bbe53698e3c8a46d73bfc67bd3c5bbe4bbe9e5f5e3ccbfd063c4419693cc85838bee89f833a51321b3c7b2a3b3cac721abe824b54b98b32203cb6ef013cc3abdabd2e06ebba15d8013c4cf84d3bb3e670bd8931b9b983f4953b4db8a83a11394abcb8208bba0a03373b00000000000000000000000000000000000000000000803f0000000000000000f613dabdbdaaaa3f9880e8bdf025153c47c089bd94208e3f210f93bd2fca703b5eaa49bd9ed36b3fb78250bd1cbc343bde770cbd7e1f323f76a50abd883de53aa93889bc89e5ea3efb76a1bccf80f339a3ce0338f4a96d3ee1df14bba1cc823a9016393c7eeb743c9564c93bb6997f3a00000000000000000000000000000000797c783cfee3eabd91e4853c23dc10bb8c320b3d00753ebe6590f83ca6a6f1ba3e45e33c650b51bee05c103c79e9d13b16cbbf3c5bf945bed6b2fe3907a3153c3979953c99e21dbe31bcccbbf6ae003c5ee9783c6a68e2bd42c5b8bb87e3d73be24e0e3c669079bdc1ddccbb6eeebd3bbffa1b3b2d7a32bc5ad20abc1f1e793b6d2aa63ba5cc4a3cc6723d3bfff1a63acbd236be155fab3fb6657c3c7c6b78bc52e01ebe8e7e9c3fb550ba3cba498bbce26a07be637d8d3f1034fc3c5ca096bc365bd3bd3ff5683fa5f9133d0d7995bceac894bde2f92d3f8592273d7e2160bc3c1a34bd01ede23e9d7b213d8b2b48bcd8708abcc9675e3e12cf193d8f772ebc9c17123c7bd5bd3c6a0e153d97ec00bc2c18383c2ee4efbd2ba4fc3b013e0dbb9c1a413a150a8bbd336e373cd9c2f2bb66ab903c8ecd13bea4e6b9bb7420f53a61b7893ca0d725be888fb9bcd948f03b6f278c3c481222beba1decbc04421c3cc8174e3c967cffbdd209dabcf5fe073cb769663c0d20c5bd9bf8bfbcf6ebf63bf0bf273c6e725cbd853b75bcaeb3bd3b3fc7133c263da4bc450f01bc3a52983ba5b7cd3bf21c513ba6f8a23bcbd4a6b949d92abe1add8d3fe1b1673ee85d4dbd1ae035be76258d3f15bc5a3ea8a75ebd495116be38507a3f4b1f4c3e7a3944bd3d1bf5bd4b3d4f3f408c353ebeb12ebdc788b3bd1b521a3f9ae8153e89d109bd6b7a73bd6be9cd3e28afea3d9d12dabcea42fbbcc2084f3ec0da983d1e8a94bcbd8803bce8f3103d56472c3dde3f50bc5265c53ab73190bd37a5493bde5ba2bbed7b38bc8fb21bbdc49d16bbcd3a2dbca837003cb1eed7bdbdae0fbd53d1373b2910403c83c701be8d9e55bdb42aca3b5d253d3c1d6df3bde8dd60bd72fb1b3cf4bd4f3ca3ead5bdbb815bbd50280b3c0387383c31619abd932a1fbde6ddd13b0f1e3b3cebd73dbdd052cdbc6570023caa9b243c776d9bbcf451f9bb8cb67f3b480bee3bd5f65eb9e97d003b0e9e0e3b14aa1ebe031e6b3ff5e0e43e322ab4bde27026be6a36673f4216e13e1c73c1bd47df0ebe6c7d4e3f1387cc3ee181a9bd6f92e6bda3432a3fe49aac3e15e58bbd25dab7bdf48a023f781b8c3e565868bdee3780bdb4c0ac3eaba2483e051629bdd1e719bda4c8383eac58ec3d9a27dcbc2f4d89bca595353d03d6353d5c205cbcc29320bc7a2635bd6d843bbc2197c7bb9aad7abcd8639ebc9e0089bc536f79bca48ecab7852386bd4df388bd595e0f3b7390483b8536a9bd5aeba6bdbe33c33bdb00f23be92db6bd41c6b7bd9886153cc97a1b3b89d881bd985682bd4b39aa39c284123ca21b74bd8e0272bd0de41c3c5383e23b637c11bdeda503bd4650b53b23c0003c028580bcb1d342bcd3b18c3b5d47f23b118b623af4d0b03bfa66463b8cffffbda623303fa2132f3fd757fabd603e04bed95d2c3f17f82b3f177603be44fde4bd1852193fcd4b193fea8adfbd77bac6bde89c013fefd8023f68c0c1bd57498abdca20c03eaf32c33e43a784bdf75268bd171d8b3ef6ac8c3ee3375bbd509f16bd59481a3e3fd3193e13a0fdbca81498bc920f453d3ca22f3da29368bc23fe64bcc200d1bceaeee1bc18e9efbbaa0e51bc20528abb840c1abdc3a426bca2af22ba6ccd04bda5dfdebd7db3283c85b8903bb4604ebde46704be890d613c8f6ad73b382961bd4a48fbbd97e0663c2763f03b30b455bd0f25dabd58494d3cdd98fc3b035222bd18cb98bdbe7b0c3ca5420c3cf5e4ddbce1dc3abd1f3c1a3c36f9e63b37d15fbcdf9473bcb57ac13b646d813b8f21f5b915af993b77d6373bb949b9bdf3e3e63efaf6693ffc5318befe63c5bd51a9e03ebd54673f3ece23be4b13adbdadc1cb3e4a694e3f6ee40cbe9bf18cbd4363ab3e5a572b3feaade3bd1de971bd585e893e7ab9033f1d3aafbd11cd36bda625433ee09eae3e43a26cbde3a802bdf9c9f13d8d92373e506608bd5702a1bc057d4a3de8cc1a3deb0302bcf49932bcae410bbc64c647bd072437bb2e6116bc5bda583ca4218bbdd202963bf64259b967e02dbb3ab118befdabb83c10ba943be6bdafbc2bd026beebc99a3c2454ca3b2062cdbc3bc924be88e7a63cea4ad73bf366e0bcc63300beee02583cf67d003c7f3fc0bc47f8c5bd60c5763cc9aede3baab191bcecb151bd52ba193c013aa83b6ddd33bc412c72bc6a66b83b2504373b635d59b947be253c5bcf733bc23e55bd98826b3ebc618d3f3cdd29be87b85ebd693a5b3e80168d3f735933be3de53dbd6b134d3ecb7c7a3f224616be584034bd332f363e44a54f3f2bd8f2bda3f50bbdaec7163e26041b3ff4fcaabdce54ecbc2d78ed3d9825ce3e532b69bd1b12afbcbc36a13da3fe4d3ed82ae5bc193f64bc06f3403d6118ef3c4a4f76ba238512bcfd45f53b58f799bd5796d73b185e14bb43d8893c94feeebd3428923ca86febba02e9f33cdc4a45be890b1f3d3bc7443b38d30c3ceca853be83a8013d2e9eb73b7c31683a91d548be3903de3c2f99ab3bf68eacbb7abf20be8bbe9f3ce0f0843bdacae8bbf74ee4bd2e6a853ccf72613b12de1bbc9db977bdd8bf153c868f183be01926bc1bdb0abc5a7ed33a3e05953ab5da083ae1dc833c6dfa213b3b3c85bc3c209a3c5f38ab3f7b7835bed49c91bc0064e53c85909c3feea71ebe222082bcbce20c3d783e8d3f7cc508beaa3577bc7553273ddc62683fe811d4bd0a184ebc80cf2d3d673b2e3fcf8596bd40c817bcab523b3d289ce13ebe0a32bd485011bc611b303ddaf75a3ea5127ebcb67106bc7128333de932833c168a5a3c51cd3ebb61c25d3c9772fabd10cb843c000000000000000000000000000000003bddb33b80db903cfb9c4ebed55bf53c6142e33b21e7483c1c1c4ebed43cc93cd986e03bb474d13adf183bbed7c7753c84cabb3bb3756aba16421abe6a283d3cf25a8b3b547ec3b9a38dddbd3518f63bef13ce3abcacdfb9605579bd12d7af3ba9afe4b941a3b3b87dbc4cbcb1054e3a0000000000000000000000000000000000000000000000000000803f000000007863273c9caee0bd817eaa3f82d0ddbdcc49c33b14a58cbdc3d58d3f40198abd4be69f3b0ce53fbd58576b3f44e547bd5f93813b55dbfabcaa33313f46f900bd8b73a43bcefe8abcc252e93ecd0883bc1a36343b383fbd3a04e5693e3c6b113a56aa4d3b6eb3143c6456473cc4ec543c000000000000000000000000000000000000000000000000000000000000000078a2c53c790b32be9267c33b4d88df3be79eb43caef033beb636dd3baa98053cb422643cab721fbee7971dbbf0000a3cf5c03d3c227707befd1283bb48b0fd3bf9891f3c56edcbbdb59d88b91ac5bf3b57471b3cb2c87ebdef34ae3b6901263bb3771f3cbbb8d3bcf4ace43b9032b33a00000000000000000000000000000000000000000000803f0000000000000000f59acebd7a66a73fca5ac5bd72aed63beedd89bd7fac8b3fcc077dbd0a07853a8c634cbd3178663f261c3fbd84bca93a83691cbd10b62f3f68eb04bd7410273a962fc0bc5d86ed3e5f41b9bc68e8333a2b4a1abc61b2793ebf1e50bc30d2e03a659e25395370143d74fa1abc3f47473b0000000000000000000000000000000002066c3c2bcdd6bd794d453c9bc601bb651b323d7d2747beaab2fb3c15e53abb2569063d5f9546beef50553c2fdcbf3ab177e03c11b236be1296cb3bd684383bff3eb63c78e015bec2a8ad3b590f043b18a0b63c226decbde41f053c3a9f083aebca993c4da08fbd2fdd223cd5320eba34b3743c374adcbc736d763c428dbabbe0ab923c3cb82cbc0973833c16d739bb5a2a1ebe1d8ba73f2090003d6f9e84bcf96a1cbef1919d3feda9ef3c4646a3bc14bffdbd419d8a3f92041c3d94c99dbc4a8fc3bdc10a623f59c4353dd18e93bc67a791bd72d4293feff7273d45ef75bc41f345bd5a46e23e7b990d3d086a51bcb145cabce12b613e783ce33c93a31cbce941da3a2878803c57cada3c7fcab7bb22d9da39aa9bd3bdb803aab9613251bb15b23c3b066088bdd1e6b03c687081bcef94a93c32f80cbedf711a3c1d370dbcb4bb893c3b1d14be7e2174bb9527cabb4f729a3c4a2014beb3fdb7bb6ae98ebbf77b763c4f24efbd3c42cbbba714b2bb2ed4a33c0d91cbbde0e24fba576183bb5666883cdf1e87bd1d8fb33b56b1c7bb192b953cb7b520bd758b5d3c4b8adabb2d56853c25fc8fbcdd43b63c5a2700bcd06f0fbea5a6893f64e96d3ee29336bd713d1dbe2984883fa89b5e3e491547bd5e0efcbd40056d3fdf29513ee82030bd37b7d2bd1184443f114e3a3e83222cbda2c89dbd1035133f84ff173e878107bdff846abd20ffc73e860ce93dda25efbcb7610bbdfee4513e68089d3dada8a7bceca15abcc9261c3d5926243d801871bc1278bcbb6a3c85bd3613f53b838f3bbc4a8430bc996218bd8cd4b53c41cfcfbc874b263c3830cebd31a35abb512082bc75f04c3cf510f0bd1b5999bc979941bcc795693ca68ce7bdc1a9a9bc13a22dbc57dc693c52c7d1bd5dda9dbcb90b26bca4927b3c1755a8bdc75948bc0bc703bcec378e3c76e278bd2cea45bbaccae9bb9125963c15971dbd55ef443cead207bc6f184c3c0c8a9abccb1ba03cb74e02bc4571fcbda2385f3f9efae03ea3a396bd3e6107be9ab95a3f26ebdb3eb09fa6bddd32ebbd1d3c413fda3dc83ea53e96bdb6b4c0bdbf871e3fd700ab3ecc2582bd78b097bdba1af33eef5c8b3e0d4a5ebdd5cd64bdd142a53ece744c3ef09c34bdcc5219bd8777323ed993033eb0020ebd51c58fbc30142a3d02e76c3d75e0c1bc2eb957bcca7f1fbd8a56883b0d0792bc4d7d5cbc7728d9bc1ee09d3cad250abddb10eb3a59448dbdff8081bcc656b9bc2efd5e3baf59a1bdc96ef7bc2d729cbc488b3b3cd276b4bd5ea128bd2f0e71bc9cfcf23a792383bd3964aebc84f196bc88bf4e3cf54889bdfd97d6bc95351cbc2fff3d3cca1d3abd781024bc957510bc3122563c4bae01bde3308a3b9fb8c5bb1c4d403ca92185bce9c58c3cfca211bc7874c6bd6bf7263f1752283f40c9cdbdcb90d5bd704d213fbc7f243f6c18d9bd5c52b4bdeab90d3f960b123f1962bebd4710a0bd9beaee3ec0bafc3e80baabbd4ad863bdf4c8b03e306dc03eb52682bd3fbb46bdeb477e3eb0b8903e4faa6ebd1eef07bdc7fc0c3edc1d313e6de330bd56b5abbc15b9233d2ad0973d8a01f4bc5f3c5abc4fafcbbcf5890fbaf9d2b8bcf93af7bb8830b4bc1b9efb3b859d05bd8c6e533b0bd943bd917d56bd751f75bcde4c1e3c2ecc77bd4f4896bd6a4130bc5558163c83f37bbd270a90bdc1fe10bcdf4b363ca6c571bd271f7cbd7e8616bc02e9353c6c903ebd406739bdc0d7cbbbd2852b3c69b60abdcdf9dfbcb31331bb762d183caf9198bc9c4317bc383491babab6e33b429438bc51e2403cad1b5fbbbf1c92bde723df3e0e61603f0da500be995d9fbd381bd83eba225d3fc1320dbe427a8ebdad91bf3ebce7453f2d39f6bd621a6ebd39079f3e2fe0243f2ceccdbd866b45bdd303793ed651013fd783a9bdc5c316bdd7352d3ef869b53e1b3386bd008edcbc606bc73dfd15553ea4ce43bd00cd83bcc3d5013defb7953de9eff2bc10d835bc57b9a5bc65652cbcdbfed1bc5cca64bb587a1dbc4b68f7bc00fd87bcc6469b3b615ca4bc289ed3bd3da19f3acbe1953bed9f02bd1adbdfbd819629bbd996143c727e0fbd2b13e8bd7663d339beab023cfe7608bdc939b0bd478c63bb0430ea3b0195d7bc589394bd9cac473b66f4c63ba58b8fbc06a32abdb305303b99e3b33beada15bc7f9d72bc5719723bf7b01a3ba7bd703a4266b23b558e213bf47932bd7dc16b3eb9d9893fe28211beaf193fbdd135583ea03b893f53d61ebe7e691fbd56d8433e06fc6f3f27ed02be5e8513bdd4da283e8d25493f0e97e0bdf02fe0bcb099023eb55a193f6effacbd3e1bafbce146be3dbcd8d33ec25f86bdb65d88bc6ad7673d4b176a3e5dd636bd0fee24bcce9cb43c41ce763d459fbdbcbc68e2bb4f0917bc5ea33abdfa696dbce24e0b3b879a013aedc9b2bdb524e03a415e003aa7aea63c426735beff95fa3c9946a33b8afee43a713535becbefab3c974cf73b72e974bbba1c27be1b587a3c9c3ad63bae98d9bbdfac06be6851333cf089a53b056d48bbf324d0bdf2014a3c061c6c3b6c536abaf1fb6cbd9fc9193c882580ba47f7913b318b7fbcaba2103c3a373aba39670c3cf34516ba9f55173c7df77dbc86d4f83c05c3a73f937620bec0e085bcf9e5d63c0bbd9d3fce411cbec44880bc8882083d52428b3f1a1603be1d7e73bc8ee20f3d802a643f3d32cabd0a864ebca7f9ff3c62c62c3f31fa98bd05ca20bc1fffda3cd238e73e10895abdaa59d1bb1b56a33c386c6d3ea93affbca7cf53bb4d99ad3c2a05c83cbcd874bbed8fa4ba2cd39abb7de3bebd7c65d7bb00000000000000000000000000000000ca09a63b4e9d3b3cf7ea34bef0dbc23caac7a43b98f5393c4a0b38beedfeab3c1531d83bc20d8e3ad9de20be74e3473c0e39bb3b5ffb293bb3330bbea5f42e3c9386813b30aa2c3b7574cfbd089e143c861c733a35f6f83b070386bd7263263cb35fc9ba0a34293c565ae5bc3b45173c0000000000000000000000000000000000000000000000000000803f00000000aa51dc3b2b5dc6bd9324a73fd37fd0bd9dc06f3b6d4583bdf27c8b3f4e1187bd2a3d033b69d63ebd5993653f7a394bbd3562223b4f2212bd464d2f3fb7210cbdcbbff33adda5bfbcc443ec3ece98c5bcc8400e3b859b3cbc2a41763e5d6813bcdb22363bb518cdbb45a40a3d7a243aba0000000000000000000000000000000000000000000000000000000000000000625dae3a2811cebd7c1495bc5a15163c08114c3bc17edcbd30b66dbc1023ca3bb04de7ba8040bbbd1bb98fbcf3fcb43b75864639cd3ba5bd21887ebc5667973ba6d2603b21688fbdaae459bc5278583bbb201a3cb26371bdbca175bbde244d3b5dfb803cac3536bd3d14333921dbf63a00000000000000000000000000000000000000000000803f00000000000000008fbd6ebd2e0a983fee624abd602e8b3a6ea61cbdece87f3fecbcebbc93307e3ac272e5bce723513f3199a5bcb92ee739e9bcaabcc3b6203ff8597cbc742cd4392ec893bc86e9e23e89c24fbc066facb93dfe64bcacb7823e621530bcf1d3c1ba1fe27ebc23d8ac3da33680bc25a863390000000000000000000000000000000006b49c3b0eb98ebd34eaa53ba07dd5bb592ba93cf8b90ebee8bc6f3cdc82f0bb58d76d3cc36a0bbe6673d03b38d0f9bb24a3673c6e1702be070ea83b819a10bc4eab7c3ccc62e5bdf252a53bc78a0bbcb991b13cca32d1bd5341423cb2621fbc8d78e53cbf1eb3bd5527a13c9e792bbc6926233d7a7a9dbd5790093df5512dbccaf30e3dadc355bd2d47be3c2910e4bb5e28b8bdccc6963fbff7993d4cae70bc52d9b8bda28a8e3fc67d953ded678bbc63fc8ebd5ce3753fc25e9a3dc36a7ebcec0e5bbd57d0473f9c19933d6fb56dbca5472abd34cd173f5f0f7d3d0a5d60bc0ea203bd86b1d13e7f26443d289a4cbc3662d1bcde5b6a3e1102023df26954bc47488abcd273643dd356a33c18c036bc0c998fbc5e2649bd8a4948bb0cca01bc41c6993b79f46ebd3591103d1354dcbcb327853c1171d8bd24d60a3d3b66d6bc52cf593c9b5ed9bdb8bbc53cc248cfbc38e4933c2e12ebbdc4b8c13c1c4cd0bc02e2963c6c0bccbd3670c73cee71c8bc38f1d63cfa1ccebd86f5f03c8dfac0bc2b8eed3c3326b1bdc2bd033d74e2b9bcf6ab243d4525adbd3542333df949b1bccfd60b3d178c6abdd908303d361d8ebc156aa1bd58ce753f82647e3e95c903bdbccdabbd8fc56b3fdd9c6d3ebc350ebd094789bde0b54a3f9d665b3ea36dfabcf77865bd20f8273fc995403eddb2e8bccaf832bdbc6cff3e59321d3e5f4dcfbcec7d13bd5c5db33e8ab8f83de981cfbc450ee7bc204b503e8610ab3de5bbb5bc63a2adbc7399863d7735493debd3a9bca2968bbcbee902bd6eb9773c0cb08dbccfd00bbbeff732bdad775e3dcbbb2fbd30ed513c6c50b6bd9345553dd12736bdb7b57f3cd83fccbd1abc273deef629bd3cb0823c28ced1bd75771d3dd86226bde1a4903ce7d1c7bdce741a3d4b9423bd44e6bf3ce6eabfbd6c472b3d0b1b17bd3f44e53c2a1cb6bd3eb13a3df0c60bbd4426113d8f74a7bd057c553df273fcbc2761e33cbec059bd15ef4d3d2ff0d0bc75be8abde076443f3ed1d83e29e94abd6ed190bd5c4a3a3ff7f3ce3e001a5bbd3b6880bdd528233f8704bb3e4dcc46bdacb24dbd0636063f9cc0a03e4c292fbd5b5427bd47eecf3e9436843e2c7b28bd59140abd41fc913e5fd5493e04e016bd315de1bc9dbb2b3e755c0c3e23a608bd1d8a9cbcb1d8723d06f8a63db66e06bdaffa9fbc401a75bc0f7fd53c4357d9bc2fc8d2bad71e1fbd547f893d4f325dbdb4ae9c3b77648bbdea986e3dd77060bd7f89be3bad6f96bd0adb3c3daf4c51bd643a393cc5bcabbd78b72f3da7d553bd50c1933b57bc81bdadc0293d429235bd0ab88e3ca2f0a3bd0cfe343de15339bde5be8a3ceedb8abd632b3d3d8b1f20bdbd13c53c028986bd4604563d34f80fbd483fa43c5c093dbdd1ee603dff88f5bc5e7164bdbad0133fc97e1a3f8f2685bd55b360bd4f9d093f2bad113fe1d987bd03483cbdafc4ef3e8f23013fabe46fbd9ace26bd97d4c83ee378df3e4ba762bde82d06bd515f9a3e6fd5ad3eca053fbde53aeebce0835f3e9bb0893ef1d03cbde024c9bc849f073e9f163a3ef7c92bbded369bbc7201503d1f50d43df70817bddf938abc1a596bbc8ee50f3d737012bdc1f1b53a9ad337bdf4548c3d00a876bd40452e3ce39392bd2a8b453dd15c76bdc1e6423c2b74a1bd8e4b0b3dfc6769bd7918553c3d1aa6bdea5d053db5b861bd7c47703cabbda1bdc5b80d3d420d57bde736803cdb0d99bd1ce2183d14f040bd69039a3c03db8bbdd51d213d683823bdbe58b23c789273bdb0003b3da6e70bbd60ff883c17e027bdaef5543d6f9d00bd110531bdca0ccd3e954a4b3ffb13a6bd41b62bbd3951bf3e0d61433f8585b0bd5dc01cbdb190a83e81d12d3fa97a99bd47de02bd0cdb8b3e7ea7113f5e0488bde815d4bc9841593efd52e83ea2466fbd49f3bebc00151a3e04a8ac3e82b556bd41f79cbcc1bab43d4bba633e454947bd7b7a6fbc7fdff43c5c2aeb3dc18632bd61fa54bc85808abc25e8003dc5ae19bd06c22d3b4d5824bd5e5d2a3d4cc857bd073f313c873768bdb69b3c3cd6a556bd5ca41e3c393a75bd049fb53be7b053bd85c62e3cc17984bd5fe5d33aeb094abd39611e3cf91774bd5ebb3a3cd18843bd0867463c1daa67bdd2174f3cc08a29bde49a363c825441bde0138d3c902508bdab57573c5eb41abd03c5c93c03ccd3bc53e21e3c44f4cebcc50d0e3d7258afbcce95eabca14b6e3e0a517b3fb6e9b5bd9130eabcd3af553e6e83733f7797c3bd10adc1bcdcdf3e3ebda1523f7dd79fbdd76badbc2c17223ee44b313f368e8fbd647991bc5aabf93d9bdc093f105370bd06d081bc4ed8ae3de8aec93ed81554bd0e444ebc0ce8463d64a07c3e89173abd952d22bc8f89413c1ebfe23d6da922bd26a2fcbb13788cbc1cce123c08120dbdaf65c43b4fbcfdbca21cb3bb888e23bd5795183c9394f0bc2aed8dbd89d3d2bc42491d3cd74f19bd03478abd02b3f3bcc047fe3be7051ebd47966bbd4667fcbc61d0a73b8b3910bd8d2832bdfa44e7bce7a4e03bf7ceecbc0f4813bd4dd5babca684c63bba48a8bc1a9cb7bcebfb7bbc6e9e653b6e0aa1bbebe674bcf11400bb61d7763bae29a3bbc242a73bcf46ebbb121055bc4512893d1e52983faaadc2bd758f66bc11a57c3d8d3f903f260ebfbd908c2abc05a3793dcb7f7a3ff2b49bbd98de25bc18bd633d3fc84c3f279879bd0c43dabbad5a313d62501d3f6c6c48bdc79107bc9489f03c1990dd3ee4f127bd4b9bdbbb353d533c8763813e03550dbdf783aabb6212b63a71afa53d5e9edbbc1a4178bb8404a5bc5825dabcd53fe9bc00000000000000000000000000000000a241b63b814581bc66f0b8bda29b14bcd4e3843b320953bc1660c8bd1799e9bb9a6b4f3b4b7c83bc94e8a8bd41bc3fbcdb3e2c3b56b774bc20c18dbd6bd83ebc6d332e3a0b2e1bbc450b76bd2120fcbb7926f0b90b1b4cb8218f50bd857b23b8e607b5ba48a3c83b04e112bd2bf3933b0000000000000000000000000000000000000000000000000000803f000000006072d63a8ec44fbd7b35983f7f686abd3979183a4104f9bcb2fe7f3f9e4c11bd578c3a3aaee5b0bccc80513f2ae5d4bc8cd113ba6ec28abc8341213f11e9a1bcde3b4836a33d7abc7c1ee33ea98881bcac664fba25134fbcee5c833ef5ea4cbc57fa10ba5f3c89bc998baf3d2cfd6fbc00000000000000000000000000000000000000000000000000000000000000004f61333df38662be6e7a013d01d7a039ac5f173d14e358bed7fe313c251c773bf573ff3c5a3755beea06fa39e09aaf3b2a7bb23c7e452ebed74c97bb1175223bacd95f3cce0decbd085f24bcbf74243be357f83b37d67bbd9bc62cbcf5016bbbb6d130bb562824bc20868dbbf293d0bb00000000000000000000000000000000000000000000803f0000000000000000d6ebfebd7099ab3fdd0ee7bda2e65e3c23499abd755d8e3fd89470bd9e26883bd3467cbd431c713f777b27bdc00a583b9c7b1abd177c343f932c92bc33fe7439ecc63ebc33c7e43eeeeaa23ba94b093aa1e6cc3b6fd85f3e0dc1b63c839cdc3a8fe4e23ca18e2abc6ee6e93c8d2bc33a00000000000000000000000000000000b40c1d3d4af20cbececb343d51a137bc9954493d327031bec16bfb3cb5524bbca743413d64425ebe7faa4b3cc72f8d3a07012d3dcd8150be84ae0cbb9f61d03a2de90b3ddf0529bec58dddbb057460ba7c02d53c1477ecbd1f2a64bcc55ccbba0a3d713c461365bd2ff464bce15384ba955e113cecb650bc220856bc23c2afbb775bfa3bce8cb73cd146973bc9540fbc261748bee1a2a83f89e73b3c7ba6c2bb15e320be5c5e943f6345633d778b93bce9f114be9b228c3fc5fc3d3deee994bc7814e8bd5e31663f73be703da6849ebcfc0b9cbd25ee293f39088b3dfcea94bcaeba29bdbb0cd83ea77d9c3d4dd48bbcd11b13bc1b66423eb257913d1d0586bc6158273c2de0e43caba7703db3113abc486ede3c0c251bbe1d88123d4c55a8bb37208c3ca6af9fbd1d4c273df89e99bcac9b203de3c620bed002473c4470ffbbb5ba2a3d9a3d3cbeaf76f8bbab77e5badd9b2b3dc0a42fbeebb194bcf84acdbae9e50a3d824e11bebe5db9bcfdf2f4b6cc7fe73c9236c0bd9803e7bc66dc15badccbc73ca37b3fbd76b1a7bc6d94cabaa154973cc1173fbcc6732abc06353aba84306a3cc784803c5e99a33b6ef215bb23c232be73ee883f10e55f3e83312abde16e40be1289893f7fd75b3ef69a46bd9f812abe60047a3f60e24c3e1d5a3ebd1fb008be9b714b3faf76433e13fd31bdb42ec0bdf7a5163f06e92f3ea52d20bd9eea72bdd0f9bc3e3f4b1d3e3dcc15bd13e0e7bca5cb273e8067f33d4921e8bc9a3ea5bbf13d143c081c993db577b8bcdc371e3b7e7eb4bd1e2cff3cff6f7dbc98d11d3bf6174cbd3895ba3c37969cbc6245e33ceff8e0bd2038a3bcea62c0bbf811063d165207be915342bd01c8363becfd013d322501be72ff59bd33e21b3b0167f13cd5fdd7bd3cde55bd6ae4553b2394d33c1cd489bde5d23fbd791fc23b23acae3c6ec614bd6c61f1bc785e723b20f4a43cbb07f5bb450331bc05b48f3bcac0643c89dd8c3c2095db3b2ffbb53b979728be3d9b663f6a4cda3e4496abbd50e130beda83613f35eddb3e65bcbfbd8a821ebe1dce4b3f30d4cc3ef47bb4bd69c2f9bd3016263ff02cb43e6f629bbd1032c5bdeabff93e000d973e186689bd842d81bd740e9f3eb398673ee7e067bd089d1abd4fa5183e63441a3ef7b829bda2699dbc146cd73c535b8f3d697cdebcfbb739bcb21a8abde2d8ec3b400b89bcfcdeccba4c6f94bcd5c311bce25084bc0a368e3cbe9281bd456881bd07196b3a47a0af3c6a15a2bd0fcebebd68dc053c6f68c43c341da5bd2dd6c6bdd4051f3c7084943c65a579bdf4c599bd51c5a53a11298e3c532438bd17908fbd9a44503c98fd853c6f04a3bc227e14bd6dd7403c4214833cc52194ba20aa65bce85b2d3cd8ff1d3cccba813cb6dab63ba865263c8d0e0abe03032c3fc0002b3fd327f9bdfba70cbed2d9263fd9152a3f1cdd07bedcdcfabdbdbc163f36ec1c3f2c63fcbd0c54d3bd0f69f93e216e063fd504d5bda78d98bda9a1b93e04b5d03e9481a7bd4cb36bbdbdf47e3e02da963ef0fd86bd5c8d1cbd3530073e0b55253e8fe731bd8762ccbc0a56263db4526d3d5df6d2bc3bc979bcf82f02bd2ef4b4bc9d9740bc012efdbb785d6e3c4b1523bdd55645bcd4f9e83bcaa767bcf099eabd61c7813c1057873c252306bde78013be1200b13c8ae3923cb33213bdb89410be5ac29a3ccecd883c46610ebde437fbbdaee6b13c6e80673ca161dfbcab57b1bd76279e3c6a95563c255576bc7c8d51bdc7109b3c33ac243cbda01dbbc38089bc6ef3973caf9ae43bd158753c8eb41d3ce4d3823c570bb6bdd6a9db3ea2ef663fff611dbeee01c4bd49dfd63eed01633f960929bec2d0b2bd0788c13e31bb503f4a931abef31593bde3b6a03e5c682f3f122e01be65c275bddf87813e18d5063f3b0ccebd104a46bda45b423e94f1b13e9bc591bdb80018bde3dffc3da297343e84722abd14d5cabc5135703d7791123dd5f290bc7f6b8dbcfb0d06ba928f60bd4e1d34bc3dbacabb3260183d8e5791bdd0ae1e3c37dfa03b5f9ca53cddf523be3186003d93ce3d3ca461d73b5b3f43be7500103db647623cbaedcdbb76fa3dbe1b8f033d1e5e423ccb1814bc30e619be6c62e33c00e0123c05e22dbcdddfe4bd9901ef3cc850e83b11a5c2bbac656ebd51e9b13c49193d3b9932bd3a71bbabbcd0a0aa3cac04a5b981a8303c3bec2d3c8d129b3c5e1150bd6af05f3e8abc883f3bee2cbef75559bd613b523e39fe893fc08639be92cc4bbdcd063c3ef4047c3fdd3a2abe68f827bdc8e72a3e4e81513f74700abe244914bdefe3113e00ec1c3f0ee3cebd78ff0dbdef28043ee495c83e942586bd1ab6dcbc4c7cca3dfc85383ef25504bdfcd4bfbc0029873d53f0853ce588b7bb325386bc8e90c73c6467adbd4c32223b1cb4aabb9fd5493d40870cbe4f1b143d3a5146bb4f55233d03fb33be20c7363d46b5ea3b9509b23cc1da64be3ef0363d6907283cb9d1433c933158bea28d203d57d0173ccf6f9d3bb52c32beeac1043d3461403b58ef81bb4bb5fdbd90e7d83c0bb76e3ba551b5bb426387bdd80f9e3c179139bab05ca9bbf45489bca6d4393cf13cdebb81cf183cc83aa23cf9814c3c96de27bcb0632f3c450ba83f906a41be36e3adbceb23453d88ee933fd39e1dbea6dd8bbc49821b3d5a448c3f4ddd17bea49b9abc5826353df762663f2e79e9bd77438fbcb0b85e3d2b352b3fe46ea6bdf2734dbcbc00823d1b30db3e84753fbd36707ebcbb4c823d42b2433eb29865bc8d4059bc3b3f5c3d23b2bf3c1832473c058102bc5f3a0b3d4cc219befbf0e03c00000000000000000000000000000000f278173bb5ea1b3dc7f465be95c9393d9507c33b7632a93c1fff5fbe0a48193de009183c8f7f1f3ca69059be445bd33cf461e63bb1463b3b529e30bed155b43cf73d023bf19521bbc981f8bd75f7973cddd0dcb917fc96bb228c81bd5b9fae3b710bbabbe99350bb90d316bc7790ec3a0000000000000000000000000000000000000000000000000000803f00000000a542643c4e50e6bd08d2aa3f1efafbbd3bed993b587c7dbd8c658d3f3e899bbde2f6b53bfdc63bbde8e86e3fcb6775bd6288a33b96cbb7bc36df313f868524bd2c67123bec8b553bdb49e03ea8dd71bc4854403bf03c9b3c4f44583ea154ce3b0e833d3ba747fa3c42d286bc363ed73c0000000000000000000000000000000000000000000000000000000000000000f940123daff349be7591123d1a7f81bbf571e93c8fb63ebeae3deb3c8d533dbb8708b43cb10136be73aa993cd747a13942e08d3c2f6b14bebb937c3c41b761b91b4b233c3016ccbd8704223c0f1464bbacfd943a0d5f4abd52ecb53a7edf5cbb3165bfb9631c26bc8765f63aaeb5d0bb00000000000000000000000000000000000000000000803f0000000000000000889bf5bdd1cbaa3f0af2f6bd26504f3c45da9ebdbd0c8d3f324b96bdbf96d33bdbe37fbd1ed56b3ff3ab60bdcaee903b050f26bd5cda2f3f04dd19bd8a3ba93b75539cbc68cddf3e9a4054bcaf60663bf4a9953bed7a543eb25d043c9a1f5f3b241fbb3cf7d524bc4530a13c90988e3b00000000000000000000000000000000d8c7183daa5817be6335543d84359dbcc3ba2f3da31c30be7054643d6ad5adbc7d4c203d99c34abeb958303d3c215fbc0cc40b3d33323bbe9bd6143dc74a76bcbe19c73c489813be647dfd3c174c82bc5374813cfbb9c2bd4e6a9b3c12f86fbc80dc0c3c0fdc43bd99863a3ca3d65ebc1382c8ba954dbdba6f3fe43ab1b687bcd43c823b7b444b3cc14d813c522a8fbc246a3bbe115daa3fdfec143b5667f4bbcca71dbe2012963f5ae3d33c693d0ebce1a60bbe6316893fb9bad73c4f633dbc0f70d6bd892c5e3fc7830f3d892734bc3dc38fbd294c223fabcd3e3d530a2ebcd15313bda9f6c93e1546643de5cd0fbcb8b8d7bbd4812e3e5e1e693d7dad04bca475a13cc54e68baed9f713d81f2aabb6a69f63c6d1e20be92942b3d76c998bb13319c3cbbffc5bd11ca7f3dfa7607bd3c0c0e3d7dc420bee354413df1ced9bcfa99033d22762dbe4d500c3d7c0fb1bcdc2bf83ca4ff1cbed5f5fc3c6230b1bc5474b43c48baf4bd1347d33cd4acbebcf0f66d3cde2ea0bd174e973c23e4a6bc4a882b3c39b925bdd6318c3ce62aaebc33d70e3ce94ae2bbb643763c3987a7bc4a63353b817d4c3ce15fc73c28d8bbbc18841dbef81b893fe1544a3efcf40dbdd5b227bef41d873fcbca443e053820bd55e60ebe54cc6d3f46e93a3e7ab410bdae8be5bd269a3f3f429e2b3e1b7c06bd6c3399bd490b0a3f39c11a3e42d6e9bc04c43fbd8c6ea83ea9e10b3ee110d2bc4b9d84bc05ec0c3e145dd83d70ad8abc6468853bd47a3cbca5bf973dbf1a71bc38664f3c0585dabd32242c3d06260ebc2d868d3be9a298bdb4c56a3d09c020bd1255c33cbb37efbd2828ed3c4396debce929ae3ca23600be0ae5733c742dd3bc2482853cff9ce2bd3348453cb887b4bc10d7893c590ab4bd2e66e33b3ab2bcbc34e50b3cf60c61bdcf3b0b3c9db9bcbc2092a53b1bcbe3bce8e2933c48ce98bcb58ea03a141149bb2f7d9b3cec7e9cbc2c53043b4643403c8521013d463dbebcc7fc07bed79d603f8b9bd03e47af85bdbf9510be4371573fce75cc3e0afd96bdede1f9bd21ad3c3fd50ec03e810f91bd6442bfbd1f98153f5d4ea73e94c577bdde328bbde6ead93ecd8d8c3e1be756bd8dd326bd1d17853e3db95a3ef55c28bd5894a1bc403ce43d0079133e0e1e01bdbcf88f3a1f2facbb1e9c9e3d7f389fbc77bfe13bb11aa9bd70bec53ca6383ebc817a413b687633bda116153d994319bd5c14273c7dff90bdbe6da0bb3f08aabc77ea3f3c7a779cbdbe1ab6bc8a7f8bbc55414d3ca83090bd9b67f1bc43ba89bceb6d4d3b5d5756bd8f5818bc219a9ebc9e4ca13ba99c09bded8942bc6aaf33bc8d731fba669c66bc5b329c3bf29652bc3933f838b382553bb3b2803c478328bc6f39cfbabca7763c2306ff3c32c445bc55bbd2bd8d91233fca0f243f32adcdbd6ab1d9bdefc61b3fe8e4203feb3ce1bd1b84b3bdcdab063f9498133f057fc7bd682895bd0c21d93e90e9fe3e0a5cb1bdb6844dbdffdf9c3e8e61c63e5f0688bdf9940fbd981f4a3e94e5903ef28660bdd2bd93bc0d22bf3d5b962d3eb8cb16bd7c3bd9bbf01a453cc2ea8a3d1cb895bc9e0c1b3a266355bdf1a06bbb84514ebcde206cbba66cebbb508ecfbaf89ebdbca90acd3bf5cba0bcf8aa83bd7a2bdaba1b2f553bf14dd1bc4a59a9bd8a68c83be7b5103b896ebdbcf7ce9fbda0165e3b0156793b20378dbc5c5c87bd2b6d8c3b28fa0cbbb2f309bc27242cbd9906b13b9d0a2fbb51914a3b6a5290bc3224aa3b6292a4bbc08c2b3c7ff73ebacebab93b2d79d8bb11bfbb3cb714a93c6dbe0f3a757289bd29b8cf3e5bce5e3f40b808beaf9c90bd572dc33e12895b3f22ef11be9f0d7abd14dfa73eb482473fd0ec04be540d45bd6271873e067f273f57c8dfbd383712bdefaa4b3ea533023f5f1fb9bdd218e8bc7f4f113ec80caf3ef45a80bdb6858bbcb361a33d8e3a373ec1e017bd3e64f2bb782a013d546b3a3daf2285bc66e1d8bb430a7fbc699728bd7aec24bc260102bc99d1b93c58cd50bdce6b6d3bb30d0abbc94eaa3c9e7c00be9299b33cfc0226ba9f2a4e3c505d13be2e05c73cac3859ba38a4363c97bb0abeac13e13c481018bb9e33fe3b55cadbbdeb78a03c9519b1bbe032ef3b32c7a0bd2b0dab3c20a1cabb126f1d3c45f325bd5d9da13c7c72fdbb11f5523c60eb54bcf0408b3c508fdebb3a119c3c15b61f3cc2a5fe3b489a0fbde2824a3e90f3873f106b18be62750fbdc185323e0af6873f25c62abe9024f9bca527193e95c2753fbdec18be9703e4bc5d00003e9a544b3f2965fbbd4ac2a5bc7a89d43d4f7a193f8269c2bdc67b89bcaefdb43d9117c73e997983bd525a4bbc4ec8843d5ff03f3edd1812bd9b6822bce224373d13e9a93cca7617bc55fab7bb5894993c44baa3bd11489f3bc17798bb6fd52e3de4f206bed93a033d25680cbc60d5403d8c5b26befd14383df34886bb2bf70f3d4d073fbec46e283d42dd99bbc9a7eb3c6b5a35bef8b81f3d548b90bba10aae3cdf1210be564d043da937c6bb78f1813cd250cabd5db6eb3c2c7f01bc9c741e3c6b2057bd0720aa3c789d17bc4b73fc3a8243f4bb50b2613c8376fdbb6daa893cb2e1e03bdfd5943cff2fa5bb65419db9606ea93fad733bbeee8f1fbc93269f3c9e9b953f0a921fbe8f0f17bc3ef5673cb70e8a3f428911be1568e8bbf5078b3c3155633ff6f2edbd2461dfbb53cbd43c092a283faf5ca7bd4766c4bbc6aa143d09c0d63ed7ed51bd4a12c1bb904d2d3da57a433e338d99bca277a4bb4f7b443d2e68d53b6342193c741ebcbb7c1a143d858d18beb0599c3c00000000000000000000000000000000a54a71bba2ac423d200454be527b303df0d2a2bb1094273d918847be1395183d1f6d60b92235ea3c96bc3cbef6cdfe3c73fe87bbcbbfcc3c7c9c1abe4d3adf3c5d88b7bb72d7943c0267d2bd6529a03c4b8bd6bbf401f83bb0fa56bd94625d3c9f3f05bc0302073c39c08cbc787f2d3c0000000000000000000000000000000000000000000000000000803f00000000ca8e4a3cb155f7bdd11daa3fa971fdbdc29b0b3c2dc1a3bd23c18c3fcb23a5bdfd01913bd8b66fbdea846a3f62d882bd4112a33bb20a27bd8e7c2e3f15b93cbd13dc883bcb367fbc4515dc3ec4acabbc344d5a3b6ec9fe3b59354d3e97dc85b97de6393b5942cb3ce57386bc57a1913c000000000000000000000000000000000000000000000000000000000000000088470a3d0ab325bebce817bc1c8b943cac9af53c67e320be5e6dc3ba7e82643cbd76c03cd99e0abeff4f11bce187553ca340b13c510de4bdac703bbca713653c58f0a23c605da9bd80494dbc3ff8443c8791833c771a3ebd0fd325bc033a0f3c5fcfaf3cbf09cbbce2e25dbce63b463c00000000000000000000000000000000000000000000803f00000000000000006289e0bd8c87aa3fb5c3c2bde41f073c06c29fbd76c88d3f222785bd39e7923b342b7ebd2f6d673fe6d84dbd39e6813b8ad043bd35ce2e3fbb4624bd5301a83b1c8f07bd9394e73e7e64e6bc7d7ec23b35e98cbc8f6d693ef3db8cbc1bcaa83b919a2dbc55f8f13c10a773bca930043c0000000000000000000000000000000034f5483d5d2a32bebcf84a3d2acee2bb83a37a3d9fa56bbe0752973ddf3a58bceb26523d98f562be4f13773d24b12fbce4a1413d657c51bec6aa683d2a3c3ebc2f85313d341b2fbe21675a3d177d45bc2055213d8f5f0bbe2555573df1f64ebc0755123d2d2dc6bd2841493d29885fbc1204013db91472bd49ec4c3da44169bc63d9323d993f87bd13373f3dc9d325bccabe14be472ba93f7e45793b17cb32bb8b7213beecdc9d3fb4e4853b706af5b9dc0eeebddb62883f4c93723c7dd69f3805ddc0bdf83c5b3fc538a43c772ec23986628ebd8f64203fec20c03c6bcb5f3aeadb49bd1486cd3e51e3b63c3de2453bd4f6e6bc13ee393e6b5cb63cb619b13b65dcebbb043b22bc5031c93c99ecb33b03c20abb0c68f5bd838c9f3bda203a3be2d6513d614c48be2f20043ea7df3fbd2b89673dc94e72be8bd5023eb6cd39bd01745d3d8a3c6fbe98cbee3dd3b233bd89c14b3dde9360be8067ee3d33be35bdecf1493dcebc47be4e99e83de29632bd7e7e413d13a429be0c90ea3d836e33bd9ab4373d98a00ebe7331ea3da75330bdb8f4353d7686ecbd9994ed3d7b3e33bd0916313d58a4d9bd02bf013ed8932cbde619ddbdbd1e833f26b03c3e8ba087bcdb27f6bdbe92803f0d8e263e3c8f56bc787ecdbdceb15d3f2b70223ec9a06bbca1fca8bd2a17303f6a630f3e50bc29bca80780bdd824003f164cf53d4dc40fbc518a40bddab3a13e8d10c53d0fffcfbbc4f9f0bc3a42123e424a903d3d9274bbcd944fbc1cbcabbbe47b353d7e38e238b8d995bafe30d5bd8ebbc43cdafd88bb6990333d2e2040bef73e3b3e0682a3bd3e1d493df45c61be00a7383e1acfa3bd30253d3d4d515fbe5b1e293e9fcb9cbdb27c383d787153bec7cb273e14f09fbd404e3b3d316843be614b293e898898bdccdd2e3dc55d2abedcc2273eca3593bd61172d3d26d314be2044293eb57492bdb862333da06605be2448313e9e7a90bd96a0283db988f1bdc15c343ed1f188bddb47acbdbb39463f62a6c53e528310bd3e69bebdebae3f3ffa5db93ed83900bd6f319fbd9235243f3b17ac3e5bfdf4bc24a581bdb4c6013f616f943ef761b6bc2d5e50bd8f9dbc3e0421783e918ab8bc892914bd493f693ec59b3c3ecbee86bcd1c1cfbc5930c93d918a053edabe51bc85e464bc7eac75bcac0ca23dc0a115bc93c0c6bba705bcbd136b263d1d2330bcdb120a3d57c929be3741593ec58dd7bd5a331b3d7b043dbe8e6b4a3e5e11d2bdcd9a0c3daf6436be0803383ea69ac4bdc0cb143d795535be7e9b3a3e3724cabdfd6bfe3ce4381dbe4ddd353ea517bdbd5782123d71b21abee5433f3e0ec7bbbd3715053dcae801be9f743c3eb9acb1bdfbee103ddb67f3bdd600463e14adafbdaa0f0e3d2607d9bdecc84b3ec135acbdb1a577bdaf810b3f8669193f739158bd4ec87ebd2bea013f010b123f04bd51bd7bea53bdbecddd3ee9c9033f81973ebd9a8a36bd6401b03e6171e43edde624bd2e3c06bdb0d27a3ecfd8b83e8a7614bd46f4d7bc8ae3193ef1b08e3e555bfebc0649abbc154b813d87a3423e8345d0bc05ba4ebc101f98bcf600e93dc95ba6bc4acebfbba0f2a3bdb845643db86ba3bcf1a0b63c10d8febdb3ea4b3e2cd6e0bd0653c83cdc3007bec944233e61acd7bd7236cb3c03b303beaa16133e1786cabda0c2b33c5228fdbd47f6153eb13cc9bd2ae5cb3ce1b8f7bd0b241c3e1a43c5bd3050a83cdfb4cebd6fde223e1bfcb7bd3818a83cbeddbbbd4d4d283ec4f4aebd040bab3c7e11a3bde7f12e3e4c66abbdc928a03c514d8bbdaebe3c3eef9eadbd91b33bbd5b76b13e7531523f335b97bd291e3bbd57b3a33e18f74a3f1f8a91bd95fa2bbd74a08b3efbf1353fbd4383bd38bf0cbded815b3e0ebf193fa83b61bd25fce3bc9b531a3ef025f53ecaf039bd3b5ab5bce041b23d592eb23eba551bbd63087abc3e28f13ce0d0613e48cdf0bc5da022bcb5c0cebceddfdf3d91a29abc004fdbbb5e4a82bd2ef92b3d8fb2c0bc8c16f43bff8971bd8df8e93da084b4bdb30af03b3d225cbda9c5803d5f79a4bd6cadb43b0c3e6cbd2eb2403d977f99bdda7ccf3b395960bd42c2643dc7d196bd1535a03b39b753bdf765923d569696bdf52fa83ba74e39bd8d61a73d72238abd088aac3b111120bdd6afc13da38c84bd06de893b9396efbc1417e13d028579bdcfd0503b2c92babc73fb003e993382bd921fddbc469a273e79a9853f57bbbcbd65fee2bc1d30103e0166823fa1dbc4bd02e9b8bc452af73d278a683f2de7abbd34bfadbca12cc13da102403fa8808cbd901b85bc14ee853de932153ff65069bd3f087cbcc3941d3da661d03ebb652dbd64452bbc340f323c87b26d3e0ac103bd0afe23bc9f3368bc1749ab3d633ea5bcba58dabbc81911bdc3d49abbb94098bcfe86dabb8b771f3c244af6bce75333bdbbc7dfbbcb3d983c7b5fcabd4ce533bc3813e2bb3f8d193cd8d7b5bd4154acbc24a0bfbbb7d8a13b092396bdd380bcbc8940d0bb4d4d233bc5bb4abda5c7bdbce8e3d4bbe3baa03a878ababc556cadbcd55ff0bb6c78053b28ddcd3ba93facbced7ae2bbb04a213942a2ff3ccc1a80bcec4b27bcb929893c13a5ef3c435f9bbc63f93abc454eb6ba1defa73fb8d903bef10e46bc6e6320bca0619c3f67a2fcbd95c12cbce663b2bb1ffe883ff75fd2bd20a22abc983c6fbb52745f3fa19ba9bd4cdf1cbc4eae3abaece4273fe6cd83bdda23e4bba07780bb2666df3e961341bd2b5900bcdafdf8ba396e5d3e2bdbf8bc8d4edfbb39f3963b0da4a33cd8a33fbc272596bb578c33bcb280a4bdb38188bc00000000000000000000000000000000c65e31bcc2cb293dd70531bedc24953ccd6d12bc287a153da9022cbe9443a93c3b8208bc0e24ef3cca3b16be91a16b3c755c13bc3203df3c237b00be746b663c338713bcb441ca3c5e2dc4bd59b1443cc52514bcf6b6af3c44b277bd4a9c413c853e41bcfa45e03c386f27bd9be25d3c0000000000000000000000000000000000000000000000000000803f0000000066bef53abe66c6bdea26a83fec14d1bd4eda1a3b61328cbd0aa48b3fd1e893bd1488e8ba0afb5abde106643f53ff6cbd8c4987397f6631bda0572b3f339b3cbd21f236ba9449ecbc0c3ae13ef2dbf8bcaef79dba980581bc22175c3e6f7085bc0aaf39bb5094ecbb9be7853cb90637bc000000000000000000000000000000000000000000000000000000000000000086d570bb362e81bc9e02aebcf672a83a6233ecba9bfeb6bce29a8fbc9d48473b78750dbb84f1bbbcfa3276bc25916f3b65ead3ba4618b1bc7da64fbc8c19dd39c1ab49bbe8c8a8bcf6144abc02eaa93a9ccb61bba89b94bcfbe644bc618c763abce259bb52be5ebc237734bca56677b900000000000000000000000000000000000000000000803f000000000000000010a43dbddf3f873f48e459bcbb35aebb6576edbc7416623f8afad5bb9e997ebb3ee1a2bc1e16383f3ee69cbba88083bb26d453bc6be60e3f9c3a95bbc2eacdba714527bc9dc9ce3e0c0e04bcbc3a83ba26a014bc5f1e823ee4b54bbc5bb4083aedba25bc1151db3de00094bc0f35da3a0000000000000000000000000000000053453dbcb17b3a3c47b081bc8ea6b7bbf3e10cbcbcd220bcae8bc3bc74c88dba27d19bbbf78f9abcda41b4bccf4a92bae9376cbbbe0cafbc0d22a1bc0c27afb7fe4f52bb2e57a6bcf8d58cbc84c589b98a6d6cbb83c1a4bc69638abc1de842b920164cbb946591bc0fd776bcfc39f2ba13db5cbb5ec324bc50bf49bcb9ea92b9f93411bb7078313b38a30abc58d414bbd0889bbd1065883f4cc3f43d8c49b2bcd6a7a4bd00307f3fd924de3d0ea6b9bc2a6f6dbd822c573f46dcc93d982c9fbcce162ebdf5562e3f8837a83dab606fbc585bfabc2ce5053fab09813dd30b3fbc3db5cabca63ac23eeea32a3d5bbb21bcc4c4a7bc99a3713e9d05a23c5aaed8bbffe59ebc98b7ce3def0590bb047d7fbb148f81bc3ba04dbc4d368cbc48037dbb9dcd5dbc9e98943c3295babb35222cbc2c3b40bc149cc03bf12a72bc9c5710bc3abdc4bbbd17bcbb190278bc750b9dbbb25fa5bb07b535bc699f9abc01679abb542643bba2652cbcc9346cbc183449bb2d4155bb73604bbc2cfe80bcd74e3bbb8cd21dbbc16e0bbcace14bbca92b10bb4c772ebb58ea38bbd9892ebcd08a00bb738b3fb70d6e893bbe74b3bbd3da35bb2ac796bdbb4c663f3d0f8a3e9ee20cbdd61ab2bd0e3c5a3f90fe7e3ecd3329bd848671bd7b6a343fcd745d3ecdbc00bd84395abd730a193f70be383e4cddedbcdb3017bdc768e83ed2e60d3eca93acbccd3107bdbd13ac3eabeecb3da294a5bc87a4c9bc8cd2593eb03a763d64d580bc7b15c0bcfd18c83de055a73c7bce5abc480c86bc1e0612bb23cb2abc73821fbc292b61bc0cbe903c076cdd3ab3037cbc27ad4fbc4b092e3c8d6cb3bbf42d79bc15560cbc47250bba898940bc1fdd12bcfd6991bb0792dbbb37f860bc259ed9bb8e7269bbe92609bca0d05abcfec2b6bbeb4909bb68dc1bbc776f3bbc854ebfbbc31d39bbfc05f9bb526a41bc9e5076bbe1d124bbf0fd54bb04cadcbb475701bb929faeba3a96973b01ba16bb662a3bbb664484bd0c7b3c3f111cd73e8bde3dbd267ea1bdfd6d323fdec3c93e2d3869bd767085bd6f161a3faeddae3edf2747bdcff752bd55cefc3e432d903e672520bdeb5228bd6674c53e7629623eb91b06bdf65e05bd0e6f903eec94233e1b04e1bc0d82e8bc68bf393eaf5ccc3d7ac2c3bc4065c3bc557fb03d927f343d6607abbc13b582bcf086243bf76b9fbb1ad265bcca4e5fbcc33b7b3cfa8c123c12b394bcae5452bc7cb0f13bc2ffaf3ad6118abc2724f4bba23968ba734bf7bbb6ea3bbcfdf291bbc426b7bb23f533bc586713bcd0ec4cbb0460acbbe1c80ebc074ab2bb666265bb68070bbceeba3fbc83f0c4bb7df95fbb84acc1bbe99b1abc122474bba45ff6ba33e42dbbda0ec1bb719c8fbb047de3ba9bd3a33a00bd8639b13236bb509e62bd1dab133fde57133fd2ca63bd328b84bda4ce0a3fbb100a3f22ce87bde4ae4dbd7b84ed3eded4ea3e048758bd619f3abd2858c73e7efac43e218144bd7276e8bc27e2953ef2e2933ea164fbbc9b6dfcbc3d3d663ea798603ec1000cbd3b0bc6bca3c4113e1e040d3ee3add1bcac51babce7918f3dce2b813d0d1acebc5bd474bcd0fa3a3b230cbdbac09b8ebc28444bbc5c13103cb36d513c5d9aa5bc20eb3abcfe80ef3aae69193b76a7a5bc5f23c8bb166c95bb5df5fbbbbd0c65bcb5f4aebb1b1dd0bb926146bc727f4fbcbfd944bbb91b17bcf70649bce36006bc848c2ebb800c2cbc69ad44bc6e57d6bbccf836bbbdb81dbc159918bcf4eba3bbaedc03bbde5bc2bb83ad78bb823e6bbb50dc30bbf77953ba3cc73939354b26bbd0fc37bd0ff4d73e88bf3b3f4d3a85bd855464bd7a82cb3e77ff313f53f9a4bd10f13bbd0ad9b03e04d3183f224489bd310a1fbd75a1923e1a7cfb3e0d5e62bd2414fbbc2245673eebf9c23eda6538bd38d5d2bc0990293e83d18d3ec7551dbdf4ebb1bcb35bd93da4e2343e4c140cbd1af996bcecb64a3dc485a63de68af2bc64074abc8b116f3a05d2cb39ba5a9abcd3c32abcb4fec53629605b3c14c1a3bce98704bce439bcbbcb702c3af9e2acbc705e80bb1b7f0ebcb39523bc8ce654bca2a129bbb65a3fbc262a78bc1fa637bcb5751dbb391c35bc5ad25dbc90d507bc127259bb462e53bc3afe60bc0b8efcbb778e0abbd79432bc258d2ebc8a4cabbb9c1c34bbc99728bc41d19bbb37b388bb1c2406bb126088bb9543513b726a34bb006c0ebd9da08a3eabfd653fb4d598bd951728bd25ec803e7064593f5911b6bd550efdbc950a613e3b9f333f338f7dbd8d49e1bc455b3d3e1ba4173f6ec56abda79da7bcdfb6123ed5b5e63ee4b12abdda61a1bc6db1d93d38d7aa3e84f61ebd8fff70bcbcc2873de5ea553e1323fabcb5945bbc862edb3c850dc13d9193f0bcdbc92fbc3d63debb0ebac6bbfedfa6bc139ed8bb134314bcb97ad43b258f9bbcd19e2abba8597cbc6d5a76bcdb9d89bc3bec57ba945475bcd8f7c1bc98d851bc8fcfbab987f175bc1df1c4bc401426bc57a17eba59f661bc2216b4bc401100bca54b90ba3c6774bc9176afbccfeae4bb072ab3ba2ffb74bc255290bc24c6bcbbbee509bbde455fbc11bd20bc8c0f5ebbd9354cbbc2a90dbc1467813a115933bb1cf3b4bcd0a3f53d3d60883f59b89abd17bbb8bc3f43e43d72647f3fdfcaabbd739594bcc04bd23d3da4563f14527cbdd6f070bcf425b23d3fe22d3fc9f542bdd56d3cbc3fdb8b3db176053fed1615bd453020bc67d3433d7dcec03e4e7b01bd5d4cebbb9d1ad23c0708703e3709e6bcb966b8bb8a33453b2633ca3dce2fd5bc83aba2bb1a9647bc24a469bcd791abbc00000000000000000000000000000000704f1b3ac7bb7cbc9ca68cbce74732bc4612be3a0c8356bcdd97bfbc01da01bc2952993af0073bbc5ac9bdbc253bc4bba3f2a03a91b84abcff1cb1bc37e793bb4c1de3b992c344bc1be5aebc4a35b5bbc75b1cba3e4547bc729594bc979e91bbdaa8f1baf2e950bc02ee3fbc95247cbb0000000000000000000000000000000000000000000000000000803f000000008b38c3bb773a37bc9225873fb78a45bdebb086bb863963bb05f0613f7d1e05bd907166bbe58352baba97373f31c8bebcfebaf1bae79de9ba20710e3ff6729dbcbeac8dba9a3f8ebbd75ccf3e0c5167bc92d5abb99aa604bc13b7813e4fdc70bc5862a939f5e666bcb341dd3d493987bc0000000000000000000000000000000000000000000000000000000000000000741224bc7fe8593c34d254bc98ac2bbbab10e5bbadbb4f3b819d25bc4b9b9db907c9d8bbe5fb08bb83b20fbcf045dbb96c30b4bbcbc681bb97e012bc26122f399f73b7bb0c40afbbfece16bc4346383844c7bebbe997babbe81d24bc3063343a246fe5bb685bc9baf6f043bcf82dadba00000000000000000000000000000000000000000000803f0000000000000000a49ecbbca9127a3fc9006abb81a60fbccefe83bc51b2533f7ab606bbdfccaebbe60950bca2a82e3fe6dadfba629496bb2a511fbcc5be093facb682bb817161bb79a21fbcf77bcc3eb75acbbbaf032bbb754728bc87cf853e110d25bcf0f1abbab8ad5dbc6eea013e4b3c80bcf3f381b900000000000000000000000000000000ef6799bc0712093de37c8bbb6c8130bc45ef96bcd7abd03ce0060dbc247d1fbc722d6cbcd3116c3cd03d0bbc41f1fbbb2b9944bcec96e93b978316bcb5a4b4bb8c382abc3aa3353bffda01bc50ada8bb2e0f26bc8eb4633a955c21bc8721a7bbc7731ebc68695d3af71123bcb3528bbb670413bcd16d683b66282abcaf3b61bb01dbf4bb96ec1e3c6519c9bb25609dbb31c737bda4657c3f6b8c053e2f6db6bc594b3fbd7fdf653f72b7f03db19bb7bce54e11bd618d433fed40d23d2ae598bcd3f5ebbc5d75213f46deac3dff0d86bceb34c0bc1483fe3e607a863d494867bcb916b6bc1473bd3e1f4e383df92b46bcc6d9aebcaadd793e3048c73c38b323bc32bab3bc67f7fa3d08074b3b798609bcae6a9cbc20da163c10be25bc65be06bcdfefadbcd21c093d1ba7b83bd0ae9bbc3eb0bbbcb93c083d84a00e3b5e0ba8bc2b1483bc0d2b9f3c8dc0ef37a9fc70bc76fc69bc967a7d3cd6122ebbf6c466bc3f0855bcd18e3d3c88d98dbbee7d31bc252b56bc2b69153cd3ee9cbb5b1336bc4cd822bc979ae93b830683bb539710bc4ffc2bbcdf6a2c3ce0bc91bb396215bc51c2febb3cf7333c6449c9b99e7410bcc46046bd3581573fde918b3ebfb000bd198866bdf183463f087f7e3ef38818bd603520bd7d0c263f0a1e593e04dce4bc598c22bd25590d3fdad5363ec76be4bc322decbca2a1dd3e41680f3e515dafbc0809fabcd21aa83eaa6bd33d97c9b5bcb50dc2bc29815c3e045e863d46bb8ebc199bd8bc253feb3d1e45ea3c6c8193bc4001a6bcd824733c30d0d8baf7f365bc1458b2bc68a2093d8fce473c5f16c6bc7f97c2bc86ba053d49c9443c68cfe0bca186a8bc26ecc53c0960f23b95f5c0bceca173bcf1c5933c03ab793b0c169ebc60645abca2ec4d3ccc85cd3a91a78dbc9e2652bc9fa5343c87afcfb8c38a83bc832f48bc40f6183c57a921ba5d7768bc6f3034bc559d443cb41d9c3a392759bc4a0e0abc93b2583c47305d3b6dad3abc37d840bd017b333f6b2dd33ed1261ebd752f65bd7ee5243f0367c23ec74641bd353547bd8f580e3f72fba73e78352abd685428bd2d2ced3ea4b98b3e194813bd3c2f0abd69bcbb3e4d365d3ea2ca01bdf484fdbc482e8e3e5b25253e6b7fe6bcaf11edbcf397403e9560dc3d40e4dcbc5172ddbc75afcd3d4caa5a3d1a4ccebcefcaa7bc52ed833ca85f8e3b09aba1bc3bd3a9bcf27ddb3c5691a73c0d9bebbcdb88b4bc835ae43c7f36a03cd561fcbc0d188cbcbe939f3cb1594a3c871dd0bc3a7080bca2477f3cc296113cbcbababc82d831bc940d263c85dfa73b735687bcbff860bc7e92243c24ce803bdd4298bc42fa2abc7d5d053c1ce4623b6bd280bc661136bcb3ac273c6d3eb73ba6997dbc02320cbcfb25383cd46dec3bccd657bc77f82fbd646f0e3f3b2c0e3fe2d436bd0f7a54bdffaf023f629d013f983054bd5f3925bd7d78df3ec93fde3ef71131bd1a471cbd5a48bd3e3173bb3e460b2fbd455ad1bceed1913e3521903e1a1deabc3608efbcf65b643e540b5f3e11400cbd589bcabc7201183e8fb6123e0feeeabc936fcfbc5faba63d53559b3dd655ecbcfa039fbc7d9d653cc7e61d3c7595bbbc9f329cbcb17cab3c5639d53ca4fb00bd0fd9a7bce065ab3cd06acf3c0e8e14bd6e1889bcc329743c41f1853c8f1aebbc23606abcd4f6343cda2d183c955edebc24fe48bc2b7c043c286f0f3cdb90b2bc503534bcfbccca3ba067883bed33acbc1ff935bc3201a93b466eb43bd67893bcb90b24bc2202c93b345eeb3b8fa68ebcaa9afabb9d02d03b27ea173c28c066bc77221cbd19bcd43effbc323f862449bd4bdd39bd6aa8c33ed292243f8b5574bd91c91fbd3120a93eba590d3f4d9552bd4e2005bd1cfe8d3ebb98eb3e70903bbd9273ecbc45f6613e9fe2b93e76b81dbd5497d5bcd9c62a3e3efa8a3ed4be18bdba08c7bc3739e63d7bfe3a3ea9e109bd9e17b5bc21af743d2ddec23d138306bd8a8b89bc6edb063c88c9433cc6a3ccbc669c7abcf83f4e3cc148ec3c9f8e01bd940386bcf0c5353c4edddc3c464e14bd8dd139bc5799e33bb1c96a3c7dead4bcbb7836bc11fe9c3bdd37373caaa7d6bc227509bc708fba3a5f4af13b7d02afbcac8517bc64e9a9394849763ba6429ebc2aa0f5bb2db795392e667f3bcc8e86bc7e7e09bc33ad3ab9bf8ed93b72e58bbc88b7ddbbddac353b6bd5143cf26861bc8ec0fcbc3a2c8c3e810c573f9a204ebd085214bd1072803eb031463fdb5f75bd5893dabcdbeb5b3ee184253f90422fbd547ad9bcf5453b3e07cb0c3f4d1734bda62fa4bcc0c2113e1b3bdb3eb41312bdb3c8a8bcbd3cde3d67e1a53e34690fbde4b983bc5d47913db944593ecb28f3bc1ac783bce9770f3d85b4e23d9ac807bdfa7e5abcfd8b4f3baee1343c31e9d1bc225c32bcf6d9353ba67ce63c9a4ef8bc912419bcda0b3fba11b4af3c3aee01bd7914eebbfa559bba4ccd303caec1d1bcc572c9bb048f37bb3ad88b3b9d2db2bc7817a6bbd13a94bb66191039d30993bcfeb7a4bb28fad0bb37c2d6bafb498ebc7216aabbad62e9bb0eb4e0baf1037abc6d7aa7bb414b02bc9b7ab03aef7c66bc21f1c0bb996381bb8b8ee73b44cb52bc6d76b1bc4ef5063e8fdf7b3f6d913fbd810cb8bcd93cf53dd3b4653fbd014ebd9cf595bcfb2bd83d81fa423f102c22bd104061bc2f54b53dec02213f60470abd5fc84fbc6d168f3d73a1fd3ee568f3bcb80b46bc7298553d7bb3bc3edf4beabc658124bcf816f13ca979773e4b92e4bc9e370fbc98730d3c4454f53d0a5bedbcf4e010bcbce9b8bb0f21d23bd99bcebc000000000000000000000000000000006e8020bb284aaabb76c12c3cc65b96bcc80eb8bad1e3b7bbb083023b77046fbcaa2ab3ba6a0ab4bbd0d905bbeae14fbc0942c8ba631bc9bb6ebc96bb24e224bc9d2ad4ba457ee3bb8706b0bb594f25bc7acee1ba139115bc63a3d3bb25bf0fbc896eeeba2b521ebc1eda48bb16ec1bbc0000000000000000000000000000000000000000000000000000803f000000002c21f9bb2bb7d4ba14277a3f0b12e6bc4978b6bbf63120396953533f36269ebc50109cbb94d5163ab6552e3f22eb82bc28ea55bb5a808dbab2a2093f54615ebc4fca53bbd49d49bb4f85cc3eb10b6dbcfb870fbbb651e0bb0b95853ea36075bca18da6ba205e29bca125023e2f9199bc0000000000000000000000000000000000000000000000000000000000000000db5492bb38ee1b3c87eb26bba0ee78bbb3fc6fbb5a4cec3b949bc1ba34502cbba60371bbe31ac43bb406c8baabeb05bb61f45cbbb5ddb63ba687d0ba4dc40fbb5e9f33bb669a933bd0a4dbbab490e6bad0367cbbd9f0ae3bac16c2bae1dc0fbbe91995bbc0dfb23b425c5aba2f223abb00000000000000000000000000000000000000000000803f00000000000000005418c6bb2f91643f79773e3a03ae89bb9edd9bbba9c8433fc0e8b6b9aa5446bbbb5b96bb8129233f46f000bae6b921bb26398dbb78a3023f074e53ba62541fbb297e86bb2a2ec43e7db394ba14aa08bb9f21a5bba1ee833e92dea3bae1bd1fbba0d9c4bb56be063e368269ba0f1c4fbb00000000000000000000000000000000a3fdcabba1d7493c4bd16d3a4815d2bbcc57f7bb063e663c1d252f3a20c8e7bbad38dcbbf75b313c338f09bad4a8b4bb8f3d9cbb1e3d2d3cfbd8b039bc04f2bb5b8de0bb5af81b3ce40152394efaadbbce3acbbb4ff1193cd5558b384257bbbb8309ccbb0cf0143c7498f83841ecacbb6a87cdbbb2fe223c821d9f39b412c4bb324bc1bb4dfc033c0f8f973ad001b3bb4ad010bcb5dc643f0652023e180ee1bb219f2abce3004a3ff512e63d38b3ffbb09ac13bc98092d3f58c2c33ddb5dcabb346e0fbc58cf103feb24a53d4191c4bbe7400ebc7bc0e73e5ef0833dbdbfbdbb82e705bc792aaf3e53af463dc26fcdbb186409bc50536c3ed419043d0358bfbbccad0dbce13ef73d5ceb853cee43d3bb34b602bc11522b3ca2b2ac3a2ae0babba00e06bca604553c069d763bf5d309bca21d0dbc47d5763c82c78e3ba8fa27bc6834dabbf12d313cd4a53c3b160ffebb973c03bc52c1463caebc563b80aa11bcf4b6dbbbddb0273c137b2a3b25b4fabbbe1af7bb7c5e353c43e9373baff30abcf07fe0bbcfc4253c5b3f373bff8417bc724806bcd7da3a3c21424a3b315a10bc37e1bfbbf3e7243cccb63b3bc2a2e8bb33ef35bceba8443fb607833eafb612bc63c847bcf2d02d3f1def673e51a135bcd08e16bc314e143f45d9453e5aee07bc48f331bc61a5f93e1abc263e04381ebc1ab815bc2592c73e741d053e8e5407bc413228bc61b8973e6b75ca3d52a315bca83314bc27b04c3e10a2883d3ffdfebb363235bcfc4fda3d0e35113d49261abc066b04bc344b2b3c2b09603b465ff7bbeb93efbb0cf4403c208ccf3bb45d39bc29881bbcdf165f3cd95f093cb84f40bcf38409bc49ae4d3ce673cf3b28563fbc584f17bc91093f3c0585ff3bf78e3bbcd28efbbb2ebe303cc6e6ad3bb5cc28bc02990dbcb3973f3c4c73b83ba4bf2abc173ffbbbd8a1353c802ab03bf12529bcc6dc0bbc59373f3cce8dc33b0cc72ebcab6dd4bb05f51d3c8fb39f3b49cb0abc88ee27bcd3f5233f86c4c43e6ac641bc8cb557bca8f7103f0dbbad3ea6624dbc5c0f40bc5a68f93ecaa1953ed99f4abcd5b438bcc5fad03e1d8f7a3e534146bc7a6f2cbc4095a73e4713493ee12333bc06493bbcf9427f3ea5e3183efec633bc07722bbc07802d3ef5bfcf3d071e34bc24933cbc6e4aba3d561f5f3d64613abcccf60fbcdb6d253cc5a6be3b8bf011bc762d09bc2870283c7f2b043cdd7329bcb9f714bc1d33503cc0c11d3c5ed472bc56a8fdbb378b143cdb41063ca43b34bc343a03bc8a99263c2e4df33b76672fbc00dbc8bb9219ff3bbbbeb83b1e8113bc666409bc45411a3ca67ce63b630e37bc7822e2bb04721b3ce28abe3b25f923bce5bffdbb62162c3c177fd63b715436bc1d37c8bb4c5f0c3ce9dbdc3baa371fbc220a35bc423f033f3e0a033f593a32bce6d648bc5f73e83e22d2e73e5d9b5ebc0ba82bbcd180c63efdd3c63eedb63ebc445f31bcdf29a73e9d81a63ee1ca58bc62b907bcf139853e2eb4843e62f019bcf90617bcfe184c3ee2f34a3ea6d63fbc260b18bc53130b3e706e083e9b402ebc86512bbc7422973db44d913de8d641bc2ce004bc09f50f3c0f3f013c0cb128bcc824e9bbd95a053c9fbc1e3cafc93bbc0f0d0fbceac4253cc8413d3c998769bc362903bc3591123cd83d273cca5a6cbc4f3cfbbb99ce0c3c6d01053cf38251bcda8feebb482c023cc2b8093c0b873cbc1f97fabb034f013c9185133c17db4abc01edfbbba6b4033c60490b3c90933cbcd38de5bb2253003c35ff0d3c1fde46bcee34b5bba210ef3b8c99f93b355615bcadf61cbc5eedc43ebdd6233f5ece44bcb09841bce495ae3ec4ec103f8f7575bcb14f31bccc0f963ebd00f93e42cb57bc86ce28bc7fae7b3e3b92d03e14c25dbc57d31ebcea4d4a3ead10a73ef34145bcd91826bc5c341a3e99bc7d3e3cb15abc072026bca189d23d06222c3e6eaf47bc16151cbc690f623dcec1b63d1bb253bcefce17bcc985ef3b7603143cc23b1cbc2a45cebb9a56b73bf06d323c0bd34dbc8a3ef5bb2c510b3cbb66433c37f064bc4c49bebb6bcfb23b9d431f3cf49d32bc7745d4bb8092b93b7329223c2b4046bc226cb7bb8fbf9e3b62f2073ccf7229bc2ae6cfbbf6b2b13b60b7113c39dd3ebc2052afbb1ac0903b051af23bce7519bc90dfddbb8015c53b7ac0203c6fe553bc7eaeafbb77e0a93b34c80d3cdbd423bcb46506bc0d2b833ea16b443fdbe435bcf2da22bcce4d683ebdf02d3fcd846cbc6addfbbb2625473ee27b143f70e741bc076e0cbccaaa273e972af93e19804bbc4c1af2bb5732063ea521c73ebe582fbcd31b08bc787fcd3d6d3e973eda1247bc3155e3bb5b018a3dc2b34a3ecb6e20bc54d60dbc0b02193d7b44d93d289e5fbc779fe0bb04b89f3be30d223c40082ebcd2609fbb056cb53a1b6d403c93d929bc2a27abbb19f3393b9d753b3cd6bf37bcd78294bbac341f3b8c161e3cca062dbc5be59bbbc98c1a3b7fcc123c708527bc25f988bbcbbb093b2574043c4c1526bcbb86c7bbe89d0d3b85f0023c145b22bc266b7dbb42a1493b36a4eb3b2dd81dbc80d6a7bbadb1133b8949123c466628bc7fe695bb9e0d163b5f58003cff0b04bcc2d8cbbb146c033e8fff643f362e2cbc3d41debba735e73d558b493f20af37bcb09ec3bbf907c73d48fb2c3fd09c2abc70c3c8bbf1eea63d5186103fd57623bc5e74afbb6af4853dca6ce73ec55305bc4c42acbbad1e4b3d3619af3e702030bc8125a6bbc41f0d3d6d1f6b3edb1e26bc8e93cebb272b903c4a32f73d4c0236bc552db4bb632de13a0f6f113cb8510ebc0000000000000000000000000000000081612abb2fe43e3a700ff33b07d1ffbb3f2c12bbb45b6eb96a99d23bc3eed6bb7182eaba9eb038ba2bd0913bf419aabbcc7702bb2af614ba2e8da23b7deebcbbc8eef1ba98ba20ba4faa963bd221c1bbe07d0bbb3b363aba520a9b3bb93cbdbb131c58bbcbb9053a491fbf3b7ce0dfbb0000000000000000000000000000000000000000000000000000803f00000000119756bb1e17623a92a0643f263cebbb7c9a2fbbe45354394fa5433fc2a8c3bb01310dbb138c3cb9fde7223f6d9ea0bb1ed81ebb4e2c02b91097023fb5f5afbb2f2910bb312acdb9bf5ac43ef0f9bcbbbf022dbb3eb25fbac2be833e9f40c6bbf6696cbb903e333993bb073ef0bcf0bb0000000000000000000000000000000000000000000000000000000000000000c2dfec3bb51005bec2a2b4bc4581483cda0e1d3ac439fabdae59cdbcf4ce353cb40a18bb09b0d0bde482d5bc755a143c13d5ccbbb51ca7bd2903c3bc0832dd3b45109abbf76684bddb6d90bc4410ab3bb2bf02bbf2b139bdba331abcc5a0483b293bdf3a62aeb6bc2d4b63ba2195b93a00000000000000000000000000000000000000000000803f0000000000000000d708b0bd5ff0a03fe76489bdc8b1903b834358bd1151853f89fd1abd2f78433b794d06bdbd62573fa757acbc71f3c43ac75a9bbcf6e5223fefcc55bcdbefeb3aacbd08bcd1dede3e121234bc2af5123b89f62eba9a95743e019819bc18fd7f3bc4e6033b6776583d6be957bc6b60653b000000000000000000000000000000001f5d85ba1c7e87bd2b4c85bcea94863ba1a8523c571d0fbe08a8adbc2fad4e3c1f4e7c3baa2a09bebac201bd5fba343cb3e981bb730fe9bd48d714bdddbf253c12a15abb9d67b6bd0e9c00bd23c0e93b1774c5ba460a90bda609c3bc6af9c53b1398a33a07a93dbd290a64bc97e8c83b57990d3cfb6a9dbc66d6723ae426733b041cee3b2da8013b9e27ef3a624af93a2d5613bebd5ea13f91e1783db6989dbce4c710beac579a3f578d523dd37295bca81ad9bd13c6843f8153873d330490bcb8809dbd1d48563f75f2883d2b2c7bbc14c856bdf74d203f4230683d5c4c46bcf2480fbdf0afd93e6ac4283d947e20bcf29b99bc639e673e221acc3c8b6404bc7fb44cbb4f0c273da012193caf9287bb14a9c1bb643193bd5a4c73bc829cc1ba70aa37bc3facf8bc191b5abc7e0fa6bb8a7d65ba299fb4bdd10c06bddac49d3b04f01cbbf634b2bdb88a25bd762f8e3b45fb89bbc4f3b6bd676d31bd79d8ac3b57bf71bb2fcf86bd82f414bd324a183b887687ba0f4868bd6013ffbcd91a903b44dcc33af2c911bdc3a7a9bc15f03a3b4965053c71839dbc8d1111bce6a8b93b37b6cc3b31cffd3ac445323a7f063a3b9eee09bed57b863f8eb07c3e84d039bdee2a18be8447853facfc6c3e700148bd6092e4bd1270613f3bab5d3e052026bd5473bbbdcd863d3f2c013f3ec2eb12bd3b1484bdd8920c3ffab3173e139be6bc6f7649bd4912c53e558ddc3df4bec3bc19b300bdf1545d3e531e863decb98fbc6bae85bc3802773d422ac03ca3d43dbcfc2e4bbc668c19bd851529bceb1814bcf8b992bcf1a10abc179411bc2cfb5abcb668fdbbfc8b67bdb7801abd986a0bbb4d0bbfbb342b91bda40b48bd1fa454bac7be99bbdd208bbd7a7a4cbdf46b1abad91aaebb3ecd6bbdd95a30bdfcbaa8baa40192ba4c3843bd00d312bdbaad203bb30b193be16505bdd404d9bc05b47f3b9cd4e43b6b1b96bc23204dbc42e8c03b12b3843bb2d30aba60f046bb6333a73bcc63f0bdfc82593fdbc8e23e33ba90bd62d505be44d7563f9e25db3e1f29a2bd60e7e0bdd2643d3f4e0bc53e9e2f8bbd98d4b1bd1e3e1b3ff746a43e27215fbd85198cbd2692ef3e2601823e576740bd33de4dbde1e3a63eec2a393e8ce116bdab5515bd84f2433e8563dc3d30dae6bc454fbfbc3149833d42e6273d12b3a5bc647798bc9b1180bc4a101bbc422a85bc3c0ca7bca41fb0b9f6b31fbc4f6e8dbc533e38bca45912bdac9630bdfd6f12bca922e3bb7cae42bd0f145bbd9a7ec1bb7319bdbbf06955bd1c186cbd98a464bbeb1de2bb914505bd887017bd7434e8bb681b41bbcd9f1dbdb12e27bd4a07dcba205017b97db3d0bced9cddbc29d3be3a63277c3b19126abc350b84bc2b4bcc3bc8525c3b1a6c08bbaf67b4baec1e313b512bc0bda3fd243fb1fc243fb82ec3bd2f55d5bdd243213f84d9203f72fdd5bd7e80acbd2a130d3fd51d0c3fd60caebde73896bd7a22ef3e75cfec3e78e899bde92646bd320bb03e6747ad3ea4af4ebdacc83ebdb2f8853ede33823e4a1043bd3c7e06bd4ed71d3eae60173e4a5108bd7b25c8bcdebb7e3df28b633d9621c2bc031f9fbcec9ba6bb276b31bc1b9d9ebc001570bce77d1cbbefd264bcc2f096bcb393a7bb81caf4bcd43a7fbd6f02bebbfe6236bb3d5032bd1426a0bd943a3fbbc8a306bbe24335bd352694bd2ba676bbbd652cbbd6b41dbd8f717bbd69c95cbba82bcbb9cedc05bd042b4bbd8cb8883a66a9553b5d96d3bc30f00fbded22863bee869f3be4f65fbc608591bc820afc3b09912c3b0d5fd2bab2f900bb0958c03b5de590bda020e33e643f593f6137f1bd5b6b9dbd9d89db3e870b573f169407beee5e88bdb5d5c63e024f3c3f9654e4bde9ed62bd1367a73e65cb193fd900b3bd22113dbd8957853e9ec2eb3e2c8b8bbd625512bd10f83f3ec000a33e055052bd695eeebc5740eb3d24863c3e138916bd9f929bbcf7db3e3dca0a7f3dba16c7bc3c8382bc9105abbb9b02a4bc65f5a1bcdd53dcbb6a81f2bb3e1710bdd38a25bc315e0e3bf9f1e3bcb85abcbdc95ae03aaac9413bc57f11bd6550babd99de1bbbda0a413b943c20bd417dbbbd407c31bb769daf3a9f0a06bda7018dbd71e779bb30ef4d3b1271f6bc82fc70bd58893e3aebf1213b54469dbcc2db17bd9394113ba5e3b03b077019bc11469fbc0a201f3c19e9893bf984d936a575853961a40c3c0fae30bd7a957c3ef145863fb0e00abee9cf4abdfe896f3ee9fe843f27b618be834524bd0578613e32b0603f2b65e6bd8da812bdb7c2433ee5c83b3fa08ebfbd40a4e2bc28cb1c3ea8620b3fb84089bdefcec6bcf098ea3dcfa0c13e0fc951bd7f5a91bcddfb903d9f64583e5b4704bd92614cbc0fefe73c2618683d45d98bbc861b20bc9113c1bb90ed28bdcc525fbc30a4233bf7415ebc050c8cbd6edd793937a5363c613799bcbaeb10beea8c7c3cca150d3c9177edbcd11c0cbead96aa3b3a79f13b054305bd18c2edbd355c43ba4074b53bcf29eebc75f6bbbd5ef365bb2159873b87bab2bcb42a94bdfcd6963a79339e3b56aa55bc4db944bd715b8e3b12739b3b34b60238888aa6bc23a5293c479c1f3b8153833abacd123bd60f0b3cb89397bcd1517b3d1689a13ffef113becaaf92bc361d5a3d95e6993ff36c10be7d8a91bc50108d3dd3d2843f70daddbdfcd06fbc3ff08c3d17b4553f22a0a1bd0f6941bc4a397a3d80591f3fb00760bd83fc32bce3fa3e3d8593d83e11211abd033b01bcda97e93c6223643e1554a8bcca86adbbf39e533c9bba173d1cfbd6ba9ec414bb79d63abc1c6197bdddc7b6bb0000000000000000000000000000000009053a3c5e8aabbcf28c04be0d0f023c8e2d2a3c03acc0bcfe89fabdb1e3003ba440033cf4f5cfbc0646cebd55859abb1ce7a73b6b37bdbc71f5a7bdb989b8bb91c49a3b640494bc9eee84bdce77aebb65ee963bfdc233bc2d6e38bd63e753bae19a123b41f726bbb340adbce4eaf03a0000000000000000000000000000000000000000000000000000803f00000000e87d8f3b002d89bd7adca03fada0b4bd99056b3bd12514bd3a42853fdd5c5dbdbf8c9c3a2c4698bc71f5563f6a4913bd5287643a8fe237bc5db8223fa997abbc4afc093bf4b70ebc585ade3e351043bca1693f3b36ee0abc18db763e36abdaba7e853d3b6ee841bceb9a543de3edfc3900000000000000000000000000000000000000000000000000000000000000000d72c5bbd541abbd02cfe7bcbdc5493c60f4f8bb045eb1bdbfaee1bc9627343c71d03cbce4a891bdfe85eabc5e18093c026d39bc1fbb78bd1539e1bcb28c0e3cb0d840bc17dc5abd967bbabcb585ce3bbcb48abbef5c3ebd2e0d62bc3c8d9b3bd7082f3ab41b02bd4777d3bb5b76363b00000000000000000000000000000000000000000000803f00000000000000001d5c72bd45d4973fb81d35bd26b89dba46960dbd4cf87d3f7ce3d0bc15d5093a4a53c0bccd094f3fe4e895bca3255e39b5e783bc39a41f3fba3e81bc7181473a7e0135bc5662e23e9aa780bc56ea133b8d800bbc3dce853e4a3783bc03cc8f3aa63a27bcd249b33d25b3acbc74872e3b0000000000000000000000000000000047489cbc41e2c0bc9d88c8bc4372643b06fde7bb928cb7bdd0bdf8bcf7f7313cd4f54abc8992b2bd176c15bddad71d3cb82074bccd8c9cbd415d1dbd139b0a3c44f976bc7f1f80bdcc8912bd1ae2db3b926812bc301c69bdfb3af1bc2a18d13b4b0444bb26063bbd1a35a2bc19e0943b4361dc3b2c00f7bc31b4bfbbed92943b810ca03b02ddc8bb2d54bdbb91bf8c3b8e74ddbd066c983f8436ad3d1e63acbc23d6d8bde6b7903fc4e3a43d78fcbcbc6a3ca3bd48a3793f2c34a43df3f5a0bcbaac77bd8fa44b3f15c28f3d182f69bcd0f439bd38f81b3fa282623d746a49bc1a0316bdb045dc3e8b3e183d37f932bc14bde7bc8694803ed351903c6315f0bb370c87bc14069d3d028d903a62f4a8bb0397a6bcb84f0abd3109babc5a2de9ba9fbad5bcef63163b51fa84bc2ca6adbbc56ca0bce8661ebde5d30abd3e35083b4fda9cbc89932bbdd30418bdf840d13aba9d96bcfd274abd4c0d31bd08f81f3bfb108abc2e6819bdf5c11abdbc6efe3ae8fb37bc95341ebdf2931abd99b99e3b359d10bc5107d3bc2dc5d9bc6ca0483bd1b1183b0772b2bcdaf890bcc59ad93bf2101f3b8f556aba793601bc0fbf8c3b9062d9bdf2837e3f85a8843e75bf31bd7272efbd5598783fb805773e317d3dbd73abb1bda2b6513f8bc8603e5a061dbd7ef79bbdfb3e333f7f8f3b3e0bfc04bd9ab770bd3997083fb20a123e953fdabcb3d349bd9f8cc63e5852d23d4acbb8bc09e519bda002723e7b5e763d8b508bbc1bbaeabca675be3d4757883c5ebb3abcfd65c5bcb0c511bc16df5fbcd5e00dbc7606fbbc6c76993c9063b8bb593191bc2372c0bc0da486bca0e1fcbc9baa01bce1fda3bc9d59fdbcf8bd28bdf80094bbfbae98bc76300bbd28a632bdfbf35dbbfaa08ebcfff9fabc8d8c27bd463062bb31e14dbca6a2e7bc9a401ebd4ae8ac3afd24f7bb7279c2bcc63903bdddaf193b75954eb952217cbceae1b9bc1394fd3bf1502abb833acb3a02cd25bc81e28c3b09b8c6bd423f4f3fe62ae03ec4b881bd085ddabd17d7493f7677d53eb5be8abd7eb5b9bd6ce5313fc3d6bc3e9a4674bd643b9abd79ba133f08e89d3e691c44bdc1ef7fbd42f9e73eff99793e1acd2bbd8f9d50bd8ef7a73e7c68313e634d0ebdde3729bd4546533e0570d83d86b7e4bc9f1d06bdcceeb73dde9e273db6a5a6bcc2e4debc0227003c94b807bc9dcf88bc9f20f0bc6146983c7c9e443bd99ed7bc84ddb9bc497cefbbeaa4bdbc39e785bcb936a2bc696391bc184b10bda80f59bc96fb8dbc1bc8cabcc6692abd10602bbc66298cbc148d58bcb136ddbc4adb4ebc04cb4ebc423ebdbcdbda1abd95c98fbbc22d0dbc4fa485bc5308ebbc6a0a3bba52b48cbb919542bc7716c2bcefc7dc3b64f186bb6576563b5e57f5bbb344303b42f8a6bd35811f3ffa911e3f655ea2bdebaeb2bdd461193fadd6173fe5c5afbd973396bd2a53063f272e043ff21b92bd699486bd2b77e53e9cdddf3e2a0084bdc1ff43bd1edcac3e27a9a73e15d841bdd8c340bd13d2853e529a7d3e0ce138bd3a6e17bddc1f283e76371b3e2d8e0ebd14d6f0bc87059f3d70ae803dfe53e3bc5bd4c8bc07e1003cc1b4e9bab444c1bc4535babca2d1343ca8c55d3b9a96debca30375bc11e94cbc992111bdd8bb7abcbcc23cbcc57dbbbc077e4dbd993b51bccde62dbc2423dbbce3e04dbd7f8632bc7d134ebc608ad1bc55f93abd607e1dbc3e6300bcdebfcdbc49422fbd0c5664bb712d61bb6b58a1bc997916bdeebcf83a165f81ba52ea57bcce34e0bc3317123c5b0605bac760babaea77e0bb2edd853b053d85bd1918e13e9a9b4e3fb386c2bd62cf8ebd4189d83e9c74483f4351d7bd47c177bd02f4c13e0a07303f0c36b9bd0cba51bd0a91a33e0ad5103f08a795bd022a32bd684e833e1a58e23e78877cbd97b418bdfd14403e74bfa13e06464bbdb42100bdd713f63d60bc443e215523bd8759b9bcafa75e3de964a03d92a3f3bc962babbc82d9693b084381bb2e47d3bc790c47bc03c01cbb9b5736bc349facbc918b85bbb14e99bc4f6f63bd953d39bc795fb1bb9f79c0bcc9c45cbd649167bc1b7c93bb97a8f3bc98fb81bd584150bcd6358ebb5593d9bc72d34dbd583f2dbc22002cbbc001d5bcf7a555bd182275bbd56d3bbb1ec09dbc0a7417bd6b553e3af785bb3a1d0a32bcbedbf8bc3c54473c36135a3a64aa02bb618414bc1958133cb0c032bd73a7853e1fbb7d3f51dcd5bd075f41bd1fcd7c3e2072773f3312edbd547921bdd545673e1019503f7191b0bd36530cbd17b2463e80e3303fbe2f9cbd41cbe1bc1ed61c3e9445063fa9b771bd85fdc9bc3ed5e93d61eac13e0ebe4cbd86daaabc7b44953d86f7683efeaa1cbd452077bc5f91f03c2db6a43db856d6bccbbd55bcab5195bb7cd08fbc67acb4bc91c78f396c7a8dbcb42d04bd243e84bc2a7b013c36e8b8bce5efc7bdf0c5c7b9e3e6a13b84f6ebbc2ad2c3bdf8fd04bc9c8a933b8766ffbcb25badbdf8512ebca608203bb061efbc48938ebdef5529bc0a0c123bc1ffd0bc87d082bd52f784bb1cc1263b667c89bc378453bdf161403b534e413bf5f659bb898519bd24d3803c16e2083bdda465bb084943bc333d303cb859b1bc297bb13d6127983fa610dbbd125fc1bce4ecac3d6531903fb05bd9bd48d59bbcc7ceb13d01ac783f8ca3a5bd38f281bc44e1a03d65654a3faf0d7fbdf9255cbccbf0833da6891a3f473c45bda76a3ebc47593d3d1c5ad93e99551abd35c01cbcbe46da3cf9217b3e3c57edbc1ca8d8bb86fb0f3c3066913d9ab48bbc499692bbbcbf84bc028622bd054fa1bc000000000000000000000000000000007d40313cbbfcd2bc4e22b0bd781dc7bb5cf0223c1531cebc4d5ab3bde489d6bb989ff73bd6f4dbbc560598bdd4c02dbcc1119f3bdf01d7bc93fe7ebd8b9b3abcd74d963b1b61b7bc266162bd02f901bc1880773bc99773bc165542bdabccaaba1ebf1d3bdbb210bc053c06bdb1a6883b0000000000000000000000000000000000000000000000000000803f00000000f802e0b782ed2cbd4ac7973f459778bd7962fbb925eca9bc45517d3f481218bd45cd18ba961d5bbcafd14e3f5d4cd3bc3b1d653a85e32abcfc7a1f3f6410a4bcbceaa63a138830bc8ff4e13e5b7f77bc45d2bb3a853733bcd063843e9db433bcee7e083b73538abc156db13d1d0a51bc00000000000000000000000000000000000000000000000000000000000000004edd7cbc34bb4bbb59dfd1bc3eb2f53ba18059bc6c954abcbe5ac2bc65dacc3bcc226fbcf0d924bc3aa5cdbc7146b13b5fd263bc032cf1bb9206d8bc7506ac3b487e6cbc9ea537bce39fc4bc51c25f3b9dca3dbce5676dbc998ab3bcb250393b2f9751bcdbce0abceadfb9bcc67b873b00000000000000000000000000000000000000000000803f0000000000000000aaf5ddbcda94853fe9a0c2bc0c3f15393e2f87bc15ca613f9f3878bc07e62d3a6d2d61bc91763a3f98b96dbc164c413a038645bc370c133ffeb576bc5eecd23a266d48bc543ed83ee25989bca5a3263a73d83abc4d068a3e154d99bc8809223b925290bc49a0033e610acebcf1dbed3a000000000000000000000000000000008ba9e4bcdf0c073dc77fbabc4cadb1ba5d70c9bc8013ef3bd411dbbca4ca1d3bc977c8bc885b573b0e67f0bcef75373b7e36cbbc41f1003b6fa6fcbcab09ca3a7252cdbc24c9683baeb8f4bcdfe8b43ad36cc3bc09c4b6ba06c300bd56b5153b2be6a2bc52f116bbfe81debc653b6c3a6ce979bc15fb6bbbbcb0c2bc3e0a443baa5780bcb5b37f3c06efafbc7e5a123bcacc62bddd47863f7d1fda3d1e3763bc5f1153bd43e4773f2807c73dd4e055bc209b2abd7763553f358caf3d0e5040bcc85310bd1291303f11598f3de96a1bbc5c5504bd07920a3fc03f543d529c19bc5338fbbc0426ce3e3eb5013db31dfcbbad6eeebc4c09853e12c9683c689fdabb6cd4d6bc665af93df45dc0bba8758bbbf7dce7bc3614833c41dbc6bc6e7381bb1ac8fbbc935d223d84fb3dbcbc4b36bcc76400bdf69ddc3c6446a8bc67c3f4bb78d1e5bc626baf3c69899fbc0c6d00bc5a91eabce57d793c8f91d3bcbfc7bebb03b5debcb552993cc47fc4bc3646d2bbf056dcbc2d1f593c62f8dfbc7b3490bb1e08bcbcad2e4f3c12b0afbc658ea8bb40eaa7bca5c1663c3ee3c1bc3f28b8b923e28cbc41e3b03cbc2d7dbc505453bbb0406abd1e5e633ff548833e2d60d8bc1f887dbddaaa543f88ce6d3e9babe2bc434d49bdd65c343f75c64f3ec152c1bc900a3fbdf1141a3f6dee2b3e97c8b3bc992026bd3240f23eecf6043ea4d096bc190c21bdb763b73ed513be3d150191bc17c20dbdfb2b713e9aa4693d65cb84bcb0070dbd88a2fe3dca9c893c18bf51bc176df4bc725ac73c84e950bc7b7b35bc6c0d08bdbea2223debb7843bbce6b0bcc09f02bdcefc003d127de9bb142086bcb0a4f7bc6833c23cc2644dbc973c85bc3982e8bc9df3a03c21b486bc67aa66bc493af2bc90fd9b3c643782bc63b968bc1f7adbbcf891783c2fcf97bcc4de35bc770ec5bc6ce66f3ca0f194bcc43a12bc5cd5a9bcf930883cca9e84bcda3ec0bb96be9ebc7f8dc83c1ac9b7bbf8e20bbc1cca66bd7cb83a3f70abd23e1a0021bd3ed974bd97ec2d3f754bc03e3aa12cbd495759bd861f183f22f4a73e698e1abd719241bd54f3fe3e50d48b3e6e0607bd98c134bd9e41cc3ecc815e3e3417fabca0fe25bd629c993e4cb1223e94f5dfbc68fb12bd6555503ea247d03d85b3cabc1a380dbda467e13d7e873e3d3489aabc7b41fdbcb285e63c194e833abc58a6bcb3abf3bccc24013df53e8b3c08aeedbcc4e6eabcddcbd53c36ceb33b89f2d5bc2f69d6bc2788a13cce03a53a7049bfbc5b7bd6bc28b87d3c49126cbb9304b5bceb8ac4bc03d4883c94d328bac49eb6bc90ecc3bc913d463cad2af2bbefc49bbcb810b8bc4d56433ccf06bfbbac4987bce0e99ebc03485d3c82b2a8bb8a7c63bc107e95bc4e5ba23cccbb313b29f861bcb49145bd18ac113f9b3f113f861646bde5d74ebd823a063fc91c053f8c5d4dbdf63036bda5b6e93e4f9ae63ebeed33bdf2632fbd5003c73eb930c33e9d9633bdabc20fbd41969b3e06f0973ec1b610bd1c7314bdf07b723ed02c683e256e13bd847306bdfb70223e6a9a183ea05302bd6d13fbbc8a53b33de1099c3d77deeabc12f3e7bc0343bb3c0af4463c9460dbbcdcebc4bc8b31943cf881cd3ce8dd05bd451abdbcf5023c3c0ba64e3c842ef4bc39fdabbc28bfc53b5abe8d3b0536e3bce078a4bc08d5823b6fae54babf29c9bcb67aa2bcc051133b7ddf9eb9833bc6bc63de8fbc182e20ba640b82bb881faebc84a27abca418eeb944148cbb3ae393bc107b6cbcf6abf43a198964bb927854bcec906fbc95991f3c5873033cb4986fbc264821bd866dd33eddf7393fa9d262bd83642cbd36acc23e7dbf2c3f7edd72bd08de18bd61d6aa3e69cb163fae6a61bd09350abdfd8e903e4d93fa3e8faf3dbd85f400bdcbf1663e219fc73e3fa62fbd5f09f0bc99b62e3ed0ad943ea84123bdc0e1d8bc1278e63d2549453e77b916bd1444bfbcf7de6d3dbd2cc93d0d6707bdc82bbabc8bab3a3cf421963c1e79f3bcc6e974bce9b23e3b8b4cce3c2cb4febc7efe47bcd13a8bbb7489323cb0b2e8bc4b4651bc79e3a1bb19d2be3bcb71e6bc1b684abcfc3026bc02b4f637b10bdcbce4bf4bbc392519bc9bb1043b5b2bd0bc2e232abccc014dbcb6a184bbee9eb6bc065046bc9b3c16bce2d8aabab5b39ebc005d16bcdd3d12bc45266cbb29543fbc4a0f02bc79ff24bb5f4a033c41215bbcccbedabc614c853e8781623fa82b69bd84efeabcf65a703e6083533fd23b7dbda319c6bc1ec6553ee64a333f52184cbd9ca8b8bc6b3f333e0985183f7ffa42bd7d849fbc1b530c3ebd7aed3ea18829bd3d09a3bc197bd03d9dc8b33ed7c723bd968a90bc681e873d36d4693e37b811bdec8778bc130ae63cc887e63d56c507bd2d0656bc7a65a2bb93db873cc914f5bc190ec0bbe5715dbcf7b6b83c539af4bce505f9ba317b87bc62eaadbbe444bdbc77652fbb1f5c9dbc632816bc269fcabc618cf6ba4d22b1bc1b6113bc6088c4bc382881bbbd74a7bcb3aef2bb9223bfbc8e8099bbbad7b3bcb31543bc3e14aabcc9be9bbb1a7cabbc13d05abc6fd882bc4fc145bb953792bce20073bc5af1f4bb840685bb779b6ebcecd1823b25453abc488265bcc396dc3db515863f046e60bd2cd250bc6b61cc3d7210773fbf1651bd854e3abcca01b93ddc58543f7b1b2ebdcfcc24bc1981993d39bf2f3f115915bd92de1dbc77126e3dc7cc093fae8707bd95de01bcf60f223d12edca3e7a1901bdc0baf8bb5a53a33cfa62823e0cfff6bc27d4b4bb9518ec39bb72ed3dd916ddbc390bc6bb232f8dbcad3e2e3c84a8eabc000000000000000000000000000000001a02a23bf4dbb2bc6d3bdcbbe50a97bc2d9c6e3bf559a1bcf67187bcc11687bc4b064b3b17bca9bc35575abc3ed28dbc3ba0163b7600bfbcdded4cbc2dc18abc92a9883a4eb0b4bc266269bcc81e72bcd9a3523af3d1abbc780490bc3d292bbc44185c3ab0f6aebcf83056bc920d17bc0000000000000000000000000000000000000000000000000000803f00000000f7cab339d3b9a8bc8f7f853f5adfe8bca1a40a3b87ca49bce079613f911895bc20d5823aec8f32bce93d3a3f282a8cbccaf1dc3a54ee59bc735d123f54cc84bc30719d3a2a1558bc377fd73eb4cc7bbcbb5cbd3a168677bcd285893e57b76fbc550aeeb8f946a6bc805b013e8e399ebc000000000000000000000000000000000000000000000000000000000000000015aeca3cdd264bbe6ec2a13ce476b13bf4bda53c43de4cbee59d883c8776c33b66ed563c497138bed7a8a93b62cf143c5fac363ca3be19be14d95b3ae6c7193cb0e1073c7c02e0bd600355b9af1fca3b66b85e3b373d74bd3ee9643a3ee3923bf2b1073bfea746bcaf8a1fbad1c86d3b00000000000000000000000000000000000000000000803f0000000000000000b959d7bd666daa3f3daae9bd8982233c65b482bddb128e3f999597bd7bdf7c3bc5943ebd880e6c3f4a1e64bd999f053bb90eedbc46a5313f68cc1abd2a78493ba2b161bc05a4eb3eb283b6bc0173a13a07b7ec3abaa26c3ef33caebb677e28393dae353c7b27733c984fc23ba545c1390000000000000000000000000000000044810a3c73baddbd9c26643c88094aba52f2e73c9bd13abe63a1ee3c871e34ba4e2fb63cf8794ebe2db31a3c88e8e13bb0b89a3ca06a42be4d618bba587a283cb4d25f3c28ea1bbeeb9e91bb30ea0f3c64714c3cb2fae1bd1cb9d5bb681efb3bef1a143cc54277bde4f306bcd9e6e93b1413413b426a3bbcf09118bc70b9773b8277bb3be9f33e3c8debd73a9052d73a998733be253eab3f3ffa633c61db72bc058d1dbe0dc59c3fcb43aa3c7eb38abc660605be44058e3fdb00c63c00608ebc0853d1bd973d6a3f582eed3c4ae090bcdb5197bd752a303f11a9fd3c7dc04dbcdb7d33bdc369e63e9958023deb6b2abc20c3b0bc7d2a663e5480f03c394412bc5b25a53b3022ef3cd0c20a3dbcdbfbbb5443073cb927e5bd8127de3b3abbdbba04bbeabba06066bd2f7c473b5eca3fbbe9011f3c11a409be2f7f59bc937bbb3b7dd2183c4dee1cbe10b5d7bc0ce4303c38914f3c936d1bbe0c5ef8bc4fc2473cf4e9f53b7897f5bdfea4fdbcc3ac293ccb6e353ca9abc1bd8a29c8bcb0b21e3c9a03173c06db58bdfc0786bcff29f53be960df3bef4599bc9b8329bcab35d63b6198d83be589f53b1e0b1f3be488053bd1c928be45df8d3f94ff663e4f0156bd6e6f34be51ad8d3f922b553ea2635dbdbc7516bede387c3f5e7e423ee75e43bd9f2df8bd23c4523f4617263e3c5824bd5c41b3bded041e3f886d073e2cf300bde05d84bd9772d63eda88cc3d93a7d8bc86ee11bde0715d3e0d26823d7ef584bc9d5b30bc4816403d7929fa3cb48b0dbcff6782bb9a1380bd057899bb3c979cbb0473a5bcf643c7bc0d9975bc5be7cdbb81ee14bbd1c6bebde6e93ebdca64273ca3927e3bbc75f0bd066779bdd3c3653cace4ad3bdc18e9bd3d817bbd33326f3ca831c63ba455cabdcbcd6bbd7f476d3c94bd033c084c98bd312f2fbd7f39483c7cebd23bdd5639bdcf52efbcf2a22f3c76490e3cd2849dbc29530cbc2f01ea3b59289f3b458f263bc4dd4d3b7996773b777a1abe25666a3f4330e53e666db6bdb80024be8ebe683f2a45dd3e6513c4bd9b3410be0b4d513fc894c63ee203aabd9e9de8bd070f2e3f7dc3a43ef7b288bd1626b7bd1fd0063f2dff813e2c4c5ebd5d1984bd58ffb73ea7e6323ea1691cbdcbb42bbdc9214d3efa10cc3d99f0c4bc2dcba7bc162e693d24ce003d890e24bccea358bce3470abd1f4ab2bc2d5595bbd7c6c3bc2d3885bb959201bda64ab4bbb2500abc5c6a53bd8e48a6bdb74d433c73629cbbb8f68fbd1063bdbd90c8483cfd3ecd3a0a16a5bd6720c5bdebd1753c64ac82bbaad869bdcba68ebd5faaeb3b1a35b13b436a64bd082583bd06e15a3cd536903b588c03bd72610fbd8ecd2c3c965db83bc9ce73bc38b573bcecde053c46cf823b7539e43aa777b73a55fbbb3bc984f8bd6cbc2f3fc0812f3fda2002be871105bea0c02d3f91062b3ff4d305be98a9e2bd17041c3f8b59163f865be0bd9b95c9bd549e063f3470fc3eac8ebfbd1cca8fbdcb88c93eeecdba3ef1a884bd63df79bd02c0953e3920823e098653bd3d8b28bd32762d3ec293083e99ceffbc0eadc4bca5d3823d07a6f43c70ae2bbc25047fbc6aea38bce89f22bd409681bb9b7e97bc0620223c97e65bbd7e9fbdbacfc0f7bb6d4daebcedd8f9bd59caa53ce1f099baadb531bd5e5b0ebef97fbb3c3dcaec3a7f3f40bd9f8c05be3176a93c8960163bcd9642bd32bce3bdbcbd993c14bdaf3bf3191cbde1dea4bd4570903c6ea0973b1242d1bcbed73dbd7e9d423caa5aa53b918a43bc671985bc97ea073c8dac493b33c3223b1690a73b98d0933bb402b6bd0a1ae73ee98f693f277f1bbe139cc4bdba33e43e8383653f580d25be3c85adbd8b4fd23e9fe94b3fc1340ebe0eb096bdc7a2b43e1d69263f9bfadfbd61d876bda58a933eea72fd3e951db1bd59e945bdf1775a3e523fa43eb64f67bd44c20fbd1bd10a3e1a96243e4e79ddbc84efadbced1c833d0dd3bf3c0b029bbb7c4f4dbcd297b9b99ba071bd1b8e21ba18584abcc20bae3c5b21a4bdb2f4253c1adfb4bb0b429a3bbf6223be7f5b023d6430fb3a9d236abc627231beebf6e63c637e803bca34a7bc449f2bbe7db3de3c6ac1543b3bcbc2bc27d503beb05d953cfdb27b3b14efaebc9260cebd0996973cdd6f873bf54475bc83d360bd0a76633c44715b3b2ec428bcbe1675bc6094e53be83f193b7553033b3610023cbd2ca13bbb6e4ebd39b4693efdc78d3f87a32abeacf85cbd0dc6603e2d9a8c3fad1f36be38f148bd6578553e9b47783feff116befe5135bda570423e59384c3f2353eebdd59510bd3609243ea4b2173f01ddacbdc8d0ffbc4a9e073e7838c63e2eab65bd3e6cc1bcdb8aba3d290c403ed571cbbc2d8b81bcf48d663d3a31913cc1648c3b8ded2bbc93b2713c2714adbdd0f5213c839729bb2574a93c0ad9fabd7284c43c2b874abb1d65043de7234abe78483a3de4213d3b6ef6123c32eb5abe566c163db3c09a3b393686b849ac49beb382fb3cbbfa933bcdb697bb207623be37d1be3cc3cb693b4cafcdbb410ae8bdd2e8923cdfda063b7deef8bbb9f47abd8533333c1ab1863a3fdc06bcf9e418bc17d3983a8dea813a0138d13af7c57b3c1b646a3be41c76bc3eb58b3c9b08ab3f73cb37be1d578fbc4a24fe3cbd129c3f497a20bed3608ebcff7c2a3d154f8d3fbed609be9b3189bc1aa94e3d2fa2663fc487d5bd7d4470bccdd6513df2662c3f844c94bd432e2ebc48f4593d333bde3e3adb29bd72f520bcee49503d29ca533ecd1e81bc0def0dbc68d3423da85f303c7584883caeae86bbba55833c59c701be22d7973c000000000000000000000000000000003cbde73beb767c3cda784ebed594fe3c08e8023c44c2253c25704ebe8bb1e43c0900043c6917c4b98baf3bbef243923c1a50fb3be5e913bbc2051bbebca9573cc371a43bcff721bb55b5dfbd3da11f3cbea3323ba15eb9b9094d76bd9ec2a13b2802133a18de15b93e904dbc7ca9813a0000000000000000000000000000000000000000000000000000803f000000001c921d3caf4ee1bd9a8aaa3fa301e0bd0caeac3b626783bdbeb08d3f46c08fbdc99d7a3bc99d2dbd492e6b3f38015bbd83d7483b209ae0bc0f10313fd05a17bdfeb8423b38803bbc52d1e83ecd81a0bcfbe8543bca05313b4599683e6a80afb76102593b7f71163cb593473c61444a3c00000000000000000000000000000000000000000000000000000000000000008657a63cc23733be7822333cb71bc73be72e9e3c1ddc36beada0453c2fe1cf3ba2113a3c0aa321bebfb9de3aabc1f63b2b5a213c8c3509be0f36933a250fea3bb68b023cdac4d3bd2218993b0183ae3bff54323cfb5683bdf233073c78f31d3b646d173cfdc1dfbc381e113c56674db900000000000000000000000000000000000000000000803f0000000000000000c321cbbd0859a73f34d8cbbdbdedb23b95e585bd5eaf8b3f976989bd6d312d3b760f46bddc75663f9f1c4bbd794df53aa0b00ebd00cd2f3f31511bbd422ff939c188bcbcf1b4ee3ed0ade7bc5a444139f84237bc8333783eb4ba6abc7720b0388bb8b1ba51dc113d5d9701bcc16fde3a0000000000000000000000000000000058b226bbf787a5bdc8d386bb033c643b2797cf3c64792ebe65bb803ca0428d3bf70b803ccecc2fbe8c4ecbba0feffd3b85fe433c59e11fbefe1fcdbb98c1043cc296133c64b603bee4f801bc1d21053c1bba473c1e79c8bdebf29ebbb494db3b0d221b3cb9e86abd8949e1ba50b39b3b2f23223cf78c79bc417e443b7501aab9d5dc253c8b3c17383c5d073cde7fde390df61fbe5bf9a73fd638e73c52d570bca10e1cbea1e19d3fab9ac43cf04092bc6e0200be0eb38b3fb1e5db3cb0c177bc4e6ecabdb502653fa88aea3c992b6fbc82c59abdeefc2d3f361fd03c92693fbc2c7f62bdee95e93e8d0a9a3c53490ebc361f05bd4855723e2eeb6a3c6ff0d3bbba8e16bc4ae5053d6051703ce58fb2baa7663abca3f2b4bdfb8c21bc05af9239181ac0bc7570b6bcdf1a7abcaf3a593a189fcfbb9661bcbd2eb6e3bcdc96053c2642fabbccaad2bd9baa18bdf4f8243cd80596bbd30fd8bda41c23bd211b533c8726cfbb4759a8bd7d4e11bd7007343c100a94baec618bbd52c0eebc55a3293c99a3993a82051cbdcc80a4bcebc9fb3b4888883b2fab6ebcfc6718bc9efedc3b47b2a93a94faa13b373f023bf7465d3b5f5311be5c138a3f74b1693e7cc534bdd6bc1fbe00df893ff0d9523ea14b36bdb3c505be60ac703f47f9403ec94b23bd6a1fe7bdac4b4b3f1e2f1e3e2dc20abd5824b2bd45671a3f09d3f73d50b6dcbc5f2c90bd8a8fd83e56c5ae3dfb42a4bcb8124dbd7f0f723eebed473d880c72bc2dbbedbcead18a3d5f096c3cd277e4bbab909ebc2f891abdbdf985bc0af18ebbdfae18bd6f457e3cca75ebbcfbf688bbc1ecb5bced0f31bda4fe68bd7716153c76c380bc712882bd09bb8bbd2ba8663c49557abccc1583bdeab086bdbbd5453cc0e13dbcac4261bdbd4986bd3de2703c420404bcf18c2abde7234abd8c4a653c84cb95bb7fc6c2bc4dd313bdb2d7453c2060b6ba529cafbbd075aabcbaaa2e3cef0e86bb6e861a3c50b60dbcdc25ee3b8d2901beb7fe603f2283de3ef5d790bd96210cbe10495e3f257ad53e934d9ebd7340fabdb4a5473f2d85bb3e06a389bda8e2d0bdf357263f653d9c3e124662bd5f29b3bd2de1033f37cc6f3efcd73abd924e8ebd2a4fb93eea43233e596c0cbdb41a57bd029c5a3edff5b43d2c40babcf28c11bdc53ba43dff78bd3c6ca44bbcec3de8bca2a9b7bbce74eabcf25adbbb55721abd2733f03cb7d911bd21e70abcacade4bcc364dfbba8599dbd1bc6003cfa50c5bc62a8c7bc0280b1bd53061e3c587c9fbc47c0ffbc9103c2bd5b4b673c562eb1bc424b96bc090d89bda5359e3bf35a49bc0dcfb1bc237d93bdcb0a833c0fd342bcab62d8bb128a3fbd91d6493cfd70efbb96fa983b8e8f09bd1b01633c97cfedbbf6428b3c37f17bbcb3013a3cec3fd2bd600b293ffd9e263f2c4dc6bd108ddcbd916b253fcf31203f868ad0bdb497c2bd3dc4133f1a060c3fc153b2bd9a0fb0bd8a01003f8c18eb3ef52f99bda41086bd4939c33e69ffad3e6a755bbdc84a7fbd9746953e458d743e90823abdd58139bd5f25383e2105073e9770f8bc799a12bd4af0a63d1f3c083d361a7cbc410eecbce31c113c65f90cbdd5c930bc58de00bd0a8aed3cff043cbd57709fbb19deb6bc2f48fa3b229ce5bdd8b8853cbb438abc756226bcdac200be36b9983c3ecb70bceb206bbc36e3f7bdbfe59b3c86a244bc61fd6dbc115adfbd56c89b3c91f333bcc769e5bbc5feb0bd3977a73cdfd701bc8d0a153afdbf81bd9ffe9e3c499becbb47a93f3c015f23bd2a579f3cfe9f09bcffc0983cae389ebcd98e5d3ce24197bdcf60e33e60eb5e3f7a0afbbd3b6da7bd685fde3e26ab593f12ee05be04f699bd7f3bcb3e5f30403ff2e6e6bdf9a985bd0788ae3ecf201d3f05fababd96076fbd8e5b903e82e0ee3e916994bdddb146bd6d81543ea9b99f3e4bf154bde41820bdb3e1093e85cb293e96950abdca73e9bc5dc88a3d5fcd063d705764bc8cdcafbcbeb7223c398d3dbd993e09bcd7fc90bcc6ece63c6a3599bde055ff3bae225dbcc3f4953cc3f616be8665e83c664c1dbc00c00a3baf691abe92b5c13cb50af1bb1b9e20babca11bbeab77d23c4fececbbd61c1fbab554fbbd8cc79a3c79ccc0bba75eff3af184d1bd84c4ba3c25bbdabb4204053c2ac58ebd125aa83c37aedbbbd7fc793ca84825bd5f2ca03c340feebbc814ba3c170391bcd81f8e3c7f9839bd90bf6e3eed86893f63a90ebe23db4cbd6d09623e6c10883f845f1cbef3c535bd1bd3573ef4746b3f27a2fbbd3cf231bd55203f3e2217433fc651cfbdfb2010bd7add1d3e60d7113fa5fc97bd0dbb04bd5b30fd3d66e9c23ef2705cbda8e4c8bc2acea83d894d4d3ec386ffbc4ad19dbc209c423d2cefe43c0c8e0cbc3f9973bc1d923c3cbca191bdcd69aebaa4bc94bb5d7d833c6125e4bd5322a13c234fd6bb86840e3d39a14cbe1576463d33030bbb1a75833c29f44bbe2506163d1c1501baad86253c19053abe04a7fc3cf6679339a350dd3b7a531bbe9c96d43c0474d0baa6e01c3c5b39f0bde0a3c43c6ccd24bb3087453c8edf94bd834c9b3cf25bb1bbb155883c0e76dabcbdfc6c3c4add97bb4afc8c3ccd4338bc27f5893c2fee83bcab71033dcdb2a73fb2661fbefc939cbc4a790a3d6dff9c3f2af91bbee7cd92bc38de373d90148a3f5729ffbdc5f190bcb1404b3d5c13613f716dc7bd75bb86bcc29e433d76f5283ff11392bd8fdf51bc5aea2f3da940de3e9a3c3fbd66d134bc5492103d1c035c3e3c5bc0bcb0da07bc89f1013def0b1a3c6055bf3b2d2d71bb4846843b9dc2debdf3fe903b00000000000000000000000000000000b80bef3b3dd7bf3bf27935be1507ed3c99c5e53b27bdbf3b5f9d35bec18dbd3c5eec153c26258abb3ab721beb16c843cd2b9ec3bd22d5cbb337207be9b685a3c34e9ad3be99b8eb9ad33d1bd619a443c7cb33b3b9884a53b168480bd0fef2d3ca198483a0e28ef3b3f35d8bc0f241c3c0000000000000000000000000000000000000000000000000000803f0000000041cbec3b37ccc2bd7d8ea73f19a1d6bdceb2543b076a78bdbfaf8b3f0fbf89bdb54a9f3a32d927bdb808663ff5a855bded7cd53ab431f4bc69012f3fff8d1fbd3d20c23aaf88a8bc3fe2ec3e2c6dd2bc9c76a33ab6a01ebc346b773e68db24bc9376823bb2a7c1bba4f30a3d46c76d39000000000000000000000000000000000000000000000000000000000000000096000cbca88eb8bda58080bc200be63bdef9d7bbb42ec8bdc40859bc784ab33b06a339bc7280a6bdddf486bc1c2f893b8ee345bc28168dbdf42f6fbc1bd02f3bd9a4f6bbab5877bd3fc821bc54bff43aad2fd23a0c7451bdf6f49fb80e7c7039e9ecad3b7c3615bdf9185b3b7e46aa3800000000000000000000000000000000000000000000803f0000000000000000f27967bdb20f983fc84a52bd9f8eea3a79110fbdb508803f66b703bd72e281394d7fcfbcae8a513f8aafcfbc8cdd4e3a58e098bc6068213fac1a98bc31b6183a23c66dbcbfa5e33ef2928bbcf6e210ba765d42bc6247833ea30565bc319a303ad8fd77bcfb17b23d6ab18dbc92b38dba00000000000000000000000000000000dd581cbd307b88bb186a06bd22d8e83be799d5bcea068abd1803fabc86992c3c5f78f4bcf35c88bdeb021fbd0117313c69cf00bdc6f064bd9a5d20bdbfdd0f3c6f24f4bc8c1434bd08d81abd3898fb3b2c6ebdbc691210bd1b6df3bcf222de3b63f375bc8f47bfbc4dd8b1bc08b7d93be99888ba620b7abc2302c2bbf0fea73b31ecc1bbe1b5ad3b429bd5bb03118d3bfa12c4bdb54b983f61da883d6bd449bc5064bbbd4e08903f71dd763dec3662bcb70396bd935f7a3f4630773dc2002ebc5de96bbde2754c3f2cd85d3d5e3d24bcfb0c3ebdb4211d3fbd902e3d0ebc05bca49426bd29dddd3e579ce03cd1e7e9bb960808bd8fa3813ee0223e3ce46be3bbc72dcfbc4d2ea43dda64cf3a1e179abbb495f1bc3dc3d4bce7ecb1bc23932bbba5c659bd0d35323db9072dbdd421c03b096b57bd0cff673cfdc770bd7d7c3b3c9eea51bdd1aada3bbb5f7ebd66842c3cc2d54abd483e7e3bb0138abd8651413c5fbb3bbd7a4d573cf6937cbd176b2a3cdbb323bd5747513ccd426bbde3b14c3c5a5b09bda1c2ad3c686149bdf4b24a3c4c49c8bc9fe4cc3cda7d23bdeac1613cd045acbcdc3e083dc2a1d9bc5f4b2d3ce993b5bd235a7b3fe08e6c3ec539e3bc2761c0bdc209733f32c8543ec8eeecbc43829ebd7db1523fa7ae3d3e735fbdbc741b8bbda45a313fc986203ee41da7bcee0d71bd477a093ff730f53d761685bcc9ee4dbd6e70c93e6d39ae3d63f876bcba0332bd8ef57c3ec84d3c3dfd0939bc5f371cbd6a87e33db6b24a3c9a611bbc17f409bd27560c3c7bb692bcf35103bcc36379bdc8ce923dcfb63fbd7a25463a6c0574bd2f2c4f3d825597bd745b343c80516abd0d31113d69faa5bd7069433cccd862bd92640c3dc900abbdd9d34f3c663458bd5c09163d1832a9bd4e305f3c4dd03ebd69b6193d02ec9cbd7627853ce2c529bd8423233dda978cbd1a8c913cfc570fbde1813e3da48d7cbd1a82b13c04b101bdcb515d3d869b30bdaef0873c93d6a6bdd7964b3f927ecc3e943b28bda6d7acbdaa5b433f8f87be3eadad30bd739c9abd08a02d3f6b2ea83ed66516bdf4d584bd9dcf113fe5fd8a3efd1d01bd238c70bd7958e93e206a583ef78adcbc26f352bd4684ac3eecd3183eb2a3b6bc1c263dbdbc2a643e7af4b33d7b8998bcea8d27bd391beb3d4513ea3c526162bcda281bbd40f4053d56859cbc2ff540bc1d4a62bd3d2c8d3df51e2cbd258b5cbb149765bdde407a3d5d8e8fbda1bdb53bce1255bda567483d318999bd9063de3b876d51bd37b2373dae76b1bd54c1263c6ef13abd75f7313d3ab282bd17da943bf68e3cbd2ff93e3d0906a6bd2aa5883cd53529bdb5c9453d214e91bd91dd863c35d111bd25854f3d566488bd117abf3c5e83fcbc44d46b3d1c6045bd1bfaa43c3e7883bd804f1a3f07c6133f07705ebd414087bd411f123f0076093fdd505dbd93016dbd653e013fb565ee3e26f23ebd16085ebdd093de3e39bac93e0c5621bd337a3abd8125ae3e0e4f993e844206bdf9ea3abd907b893efaa45e3e27f3efbca92121bd458e3a3e4fcb083ed12cc5bc09b318bdb0a0d73de10d4d3d7e0b97bc9f920bbdb5cf0f3d6a945ebc790d87bc92dc33bd5fc3683dac6f3abd70e301bb162a3bbd805e623de25db9bdb653493c619c30bd1d912f3d62d6cebd9918633c35972cbd0c67293d3624d0bd86966b3ca49323bdfa67263d4e40cdbd8c80973c90d516bde8fe323d8a89c1bd0635b53c81a80fbd0bc53b3da8e6b5bdff03f13c976bfcbca14f5e3d89aba9bd0b9f0e3d4c06e0bc59a9543d44e75cbd3a96d53c5de849bd96bad83e2393443f86f489bd21d057bdc768cf3edcf6393f26e790bd942043bd5fb5bb3e719a223fe4d577bdb62432bd214aa13e71d9053f1cf54bbd0a3d1bbd091f843ef31fcf3e384325bd8afb16bd4f764b3ed0b0913e0b080bbd56370abd52030e3e41f22b3e24a8e7bc9d6efdbc2d9ea63d9bed6e3da7a1a7bcf6e6d6bc5d09db3cefc48ebc7b6d8bbc837bdbbc47fe193d10de6dbd07809f3bff4ee2bca0aa0e3d03e9d8bdf8cb673c3068debc4e3bdf3c824ddcbde1d2463c56acdabc78d3d53c2381e8bd26a8863cda0fdabc9b32d73cc001cbbdff2e8b3c0172d2bc1366fc3c37b6cebd078ed33c174cbdbc51220b3d9bf1b0bd7910e03c265fb8bc7164383d48f2abbd8c26203d73e296bc75d9303d5b796bbd1ae7083d8cf006bd77d87e3ed4f2753fa8f5a2bd39700ebdf9f66d3e1cdc6b3f4adcadbd2fd8fdbcca0e5c3ec6084a3f3fc489bd0960ebbcf427403eec9a273f9f056abdb265d0bc81061f3ecb7bff3eaf6235bdd97cc8bc0e97fa3dae0ab33e20bf1abdbeb9babc3234ac3d3456503e29f7e8bc7a54a4bc58804e3d3e8c843d613eb0bcb54a9ebc95d2833c4bde00bdb5e887bcbfaaddbb9a18ba3b51088bbd791c353ba24d0dbc983a783c7c5a0dbe64e4993cdf8bf0bbf7c2fa3bce8f0bbeeb51793c1eae24bccb629e3b2aff01beaf284e3cdc981cbc17bdc33b4fd6dfbdd0366c3ca43f27bcc6ba513c80e8d1bd8ab5a63cab0b3bbc7469a93c1986b2bd1c37d93c9e2938bccc17093d89b39dbd28fd1c3de43401bcfeccc93c5fe651bda767083d92c97ebc37719a3d1aa7963f00c5b4bdb4fa93bc59d2973d0f448e3f65a5b7bd674586bcb1d59d3d2cd4753fbfa592bd677860bc6a15963d3d93473f4f2f53bdc41e58bc3f6a803d22bf173f38bb2bbd25e65bbc52ff4a3d5128d13edd6d06bdbbea50bc0c03023dc6336a3e30b9d9bc59e141bc30c1b53c6d21643d53d687bcaa7809bc544084bb070b4bbd336b8fbc00000000000000000000000000000000e5d8023cc15b89bcaf43cfbd1fa6023b3425a13bf65669bc1192dabd5c40193b4140c93b448693bc1f84bbbdd2a10fbb18db723b3b2483bc77f8a5bd93b19c3950243c3b2d174dbcd9388dbd1a7d2b3b22441c3bfe8c7bbbc8926fbd0d8b163c5201a53afaf39d3933623cbd51887f3c0000000000000000000000000000000000000000000000000000803f0000000035a4043b05b54abd4932983f154973bd8301013a9e5cf0bccf1d803fa5e924bd37f44ab88b649fbcb350513fecf6eebc3d4abcb8907f67bc5fb8203fed15b1bcf4ad0cb91e9142bc9bcfe23eae429abc17119dba642828bc3119833e514779bc725692bae6517cbcd777b23d127786bc000000000000000000000000000000000000000000000000000000000000000089bc343dd7d062be2de6133d9ec46bb99f250a3d35455dbe0b98aa3c5882c53bf81dea3c41a959be97d41c3c55e1e53b102cca3c457331be06ff5b3bdeff683bb00c7e3c9fc5f0bdc9ffedba5de2433bbc92013cdf8f83bda838bdbb4ffc55ba4c965b3bb61125bc0b2591bbe3dfc3bb00000000000000000000000000000000000000000000803f000000000000000015f5fcbdced7aa3f17e5e8bde94a753ceecd9cbd64bf8d3f3cd47abd76a7cb3b60db79bd4c246f3faaf92ebdc718db3bfe532cbd11f0323f9a3dabbcaf778b3b08298fbcb45be13e5a78873a8521423bba86023bb7cd593e7ad2b33caf02b63ac340b93c2cfc39bcdeef003dfb77513b000000000000000000000000000000004be7003d168f09be8972403de1f4afbb22f5253d53912fbe4f5f133dafdd91bbb2a8273d23aa60be3af4a83c4987013cb985113da26b57bef5e5343cae8beb3bc922f73cfa1f2fbebc47313b161bde3b5a26d43c4d4af7bd5c71aabbd4e3b63bdfba9b3c38dc82bdb7f192bbdae8043b24d3463cd33090bc6779c2bb43c06eba45f2433c854bb33c6fae083c1380b5bb96f240bed106a83f28e9473c9c2028bce0ed1cbea8d2933f54ce533d97d1a1bc2cfa16beb43a8c3fcb66233d7c468dbc9720ebbd8dda663f707e403d66167cbc9f34aabd2eb52b3fd962603dcea66dbc88cd52bd1aebdb3eafc8843d40b264bc5a7a95bc84bc463e632b7c3d463561bc88c4da3b41cfe23ceade583d2a9e42bccf21b13ce0bb18be9d01063d69bff2bb6860d33ad79389bd85c7183d6b37cfbbdc5bc43c30a21dbefa569c3c0472423b2f55e03cbca33cbe18933a3bc389203c4c83e43c12f739beb8d0c7bbaded763c3e90bf3ce81f14bed86116bc136b273ce17bc53c5d9cd3bdbab747bc577d0e3cf30ca23c427064bdce61b5bba6f3e03ba3f9a53c1f4b96bc5f029f3ad4e98b3b1cfb7f3c29255b3ce2c1413c6178003ad87b2abee77a883f181a603e56ec56bd5bb139be6bf4893f2040513e298856bdc7fc28bec62a7c3f8cc83d3e707342bd3b360dbe4295503f32dc2e3edb7042bd90c7d3bd80191c3f8ae3163e75c316bd663c93bdf69ec73ec67e043e251c08bd86721abdb104383e289ece3d2a80eebc12fb62bc43bea13c55cc7c3d332fbbbc2c71ddb80c4eaabd45c4c33c12fd89bcd6f484bc61ab0fbd575d493c884762bb94ea143cdbf3d6bd8f4f9ebc6ab2523c4a3f733c1e3309be709e14bd47a6b23cf2b7783cec2506beb8fd1fbd77a1a33cd027843c2066e8bd7d7123bd727cab3ce06c9f3ca5f5a4bdb487d8bcabf8903ccd97893c3f2334bd954362bc5604753c500d8b3c6b4a69bcc677fd3a69255c3ccf6e8b3c1fe0263cd9ed533cbab0063c193a1fbe5cfe663fe03fda3e6986bbbd494b2abe2c60623f051dd63e1b46c4bd80e51bbe98764f3fe583c23e1a64b4bdd1f804be465c2d3f5f5aa33e198892bde79dd2bdbb6d053f3e32833e27b574bd7ae298bddf96ae3eb356453e861050bde10047bdbbc92e3e8be9f83dcda417bd5486bfbc308e193db9f3573db6e8c9bc50355cbcff5357bd53fd6abbf9a57cbc5c61a4bc745961bba837a2bc14d1873ae0b486bbbf6c69bdc4c381bd48dda23c294e8b3ad847a9bd77c2b2bdaeced73c0823c23b35eab4bda8c8aabd5b8ed03c46d1a6b891ed8bbd330c7ebdbebf953cac01143c171372bdd8b94dbd8f5fc53cb8c8d93b80daf3bc18d4a8bc6107883ce77d2a3c8fa324bcb328aaba76058a3ce387183c694b353c0e9b883c7b8b513c1674fbbd25b72a3ffb512b3fa8c909be5d7106be59f7293fdccc263fe4c20ebe5cecf8bd2dc11b3f600f183ffecbfcbddf10dcbd9a92053fc829fb3e0d04d7bd072da8bd271dcd3e0bc1bc3e68e29ebd390c8dbd62a0923e5edd813e319175bd68483fbd56bd233e6f81073e8ebc19bdf3b9eebc61296c3dcda5113d63f5bfbc7e0790bc014fbabc8b890ebd212954bc2107ccbc8058ca3c3a504cbd471ec93bb22037bc873431bcbaa9e8bdf70f033d2f618cb9e8ef17bd27100abe7d7f113da12b89b85ac842bd620502becef8103d04c78f3853f52fbdc541dabd2690fe3c9c49573b4ba01cbda6da92bdc540e23c8fb8a33bdd3ad2bcbf7700bda6a8bf3c61b5833be44616bc51ad56bb1692a43c8b5e633bcd8d293c66e97f3c93a9703ccd64a5bd3994db3e0542663fb01c2dbec8f7b9bdbca8da3e5a5b603f7d6a31bef0c7aebd6296ca3e68894b3fba521dbe3b12a3bd83ddb03efab5273f7e7301be7c8887bd7802933eba1ffa3e6763c5bd3b3d6cbd7e71623e1399a03eb31c83bd41303cbdec6b133ee6ff173eb5361cbd1315fbbc7e60913d6151ab3c95f486bcf6ba96bc1a432a3c14618dbdc9e308bc308da3bc84da353d7506a2bdc9fbb63cede518bcbd59833c7c0822beecb4353d2e1582ba4aaaa4ba78263dbebf2b3f3d7978c1b83ece47bc4ee832befd893b3d797147ba7cb293bcc9e60dbe93221f3dcbc18639abf7a0bcaaf1c2bd73b3053d7c9bebbaa3d97dbc1d8139bd6543ce3cb05891ba9f541abc6a3c16bc4b3ec53cd4b984ba4cbfbd3ba3118b3ca37d903c7e5b34bd06d2603e223b883fb54a32becd1149bd8efc593ef44d893f9aa53dbe12cc48bdb6834b3e2648793f386f29be44cd41bd23ae3e3e94bd4b3f86e505be5fa327bdf666283e2f24163f911fbfbd294623bd2245193e2325bd3ef9a370bd2a6706bd24dced3d7512243e15d3c3bceac2c8bc43e7993d59eba63b8b7375bb2c0d90bcbf4f093d2a3dbebd1577a83b5cc220bcfdc3443d88bb0dbee3d2283db50145bca0b60d3defdc30bec181553d24cc61b8a06f743c0acb5cbec4a54d3db81e083b8f1c913bf53052bec5433a3d8601c9b94cbf0bbbb7ca27bead3f1b3dc6969939c57c33bc826bebbdb679ef3c4f8c76bb9c3834bc706765bddf0d943c06059dbb107a2abc805828bced93233c08e3efbb2445c93bae8bc83ce936063c356ff4bb48d4473c44fda73fec2745bed5ce9cbc1d145f3df9b6933f183120be4c3b9ebcfbc63d3ddc938b3f25af15be61fbc5bc1e366c3d7b02653fdef1e7bd0823b4bc6e9b873dd2de283fd56e9bbd81c0b5bc24bf983d8965d73e92df31bd087891bc56d9913d64ec3c3e76f611bcc4b579bceb45703dec1bb03c40c6623c28f3f8bb1501163d828420be0d55fe3c000000000000000000000000000000006640483b5337f73c8d2362becff9383dbacc8e3b03ae693c74f659bec6e9213df6bd033c444f5838222152be3c6ee63cfa52ab3b184a1dbb3c362fbee775cd3c66f9e03911c7d0bb9e4debbd30226f3ccbf241ba85b221bc9a3d76bd1051c23b6e7192bb1b376fbb92c51fbc4a4bb6ba0000000000000000000000000000000000000000000000000000803f0000000036662b3c943ce5bde503ab3ff444fabd8d19b9b97b6e6dbdf5068e3f401597bd87889aba54e128bdf550703f09cb69bd6637d6baf5d29bbc24fb333f753127bdbd5348bb1931a73b2f97e23e0a8b34bc3cb265bbaaa39e3c874c5f3e7212fe3b0e0dd5b97c89f73c81e038bc953fe53c00000000000000000000000000000000000000000000000000000000000000009b8c273d24b551be12d43f3d3b15f7bb52f4083db04445beca19173df8228bbb5275e33c46cd39bedf9cd43c067338bb6fd8e23cdf131abe94d9c73c0eed94bbe0b2903c2c7dcfbd6ecd5d3ce220d8bbbb72353cd73657bddae29d3b70e8e7bb01bc4d3c57c270bceb49893b9b9020bc00000000000000000000000000000000000000000000803f00000000000000006d6afbbd9908aa3f0380f9bd32b16d3c9fbba5bdbaa28c3f259c9fbdf94d083cc62188bdcd8f6a3f856d75bd64b6003c12194abd54232f3fe49c2abdf0a8dd3b1cc4c9bc6775dd3ebbf16cbc2614b53b674bdcba261e503e43aafe3b4da39b3bd018503cc6c76ebc0e55c93c7abe9c3b000000000000000000000000000000006ae1b63c0e3401be1f621e3d2fbe3bbb29360c3d1d6c1fbee658293db877a3bb1267023d59ba38be6608f23cfd64d4b9e9d7f43cc9b42ebe8286ca3c86c3cd39fc87ce3c87a60bbe412d883c5a3c68bb9f25b73cf8e9bdbd7dd40c3ca4313cbbbfc3783c1ba043bd4e1ebe3ba8b687bb3671153c8e5257bb4ba554bb44ebd7bb3efa6d3c9f09143cb5c24d3c4f9408bcd03039be1e97a93ff3a03fbbb0d88bbb46e01cbee8e7953f70587f3c79c2efbbad2114beed628a3f69b8153cfd0fccbb27b7efbd6482633fb12a5c3c9466afbb7a50aebda4ee283fbecbb93ca50b25bb98ac6ebd62cfd73e550e0c3df1b1a1ba0027cebc6177453e4ce61f3d23f40bbba561af3a2670723c386b2d3d3a5c58ba6ae94c3c12f213bec630093d78def1ba4fda25bc793939bdfa7d973cb1510fbb2c460c3cec38eebdf7e0633c83be133b84e3533c3b4d0bbe39d9dd3b37cef63bbf3a633cc48e04be3fdba23b101d633b3622133c301bcebd6027003bfeca3f3ba43a353cf5e78fbd3f5e3e3b5197873915ed193ce9a00abdf248723bba2ababaab04183cab60babb5167d93b4cb44fbb8345663b116a7e3c9d487e3ce324d4bbeda517befa3a883ff2f3443e72cd04bd836c29be7748883f81672c3e63a4fabc4a2319bedc7b753fd0c5143e5f3c01bd77f402befcc44b3f5bf5f83d80e3aebc1005cabd93451a3f4476cd3d4a8293bc122a95bd91a0c93ec99fa83dc4f161bc2ec22abd9933443e9b9e743d518708bced87a9bc108ee43cd6f61f3d7a78a5bb33fcbabbf19894bd9fec333c1afb39bb60bf0abdea7e2f3b102756bc27d1b93bf07952bc16d16dbddf7ce3bc57f97b3c2db310bc2fe399bd298e12bd445b7e3cfbe020bcb42190bdbf8500bd03d85f3cdd75c5bbd8bd76bdc49ed4bce3d7513c7459d0bb005707bd8c3d86bcaaeebd3ba40585bb98233bbc50ac8dbbee9c8b3b2f6c4dbb98b7c03b5a8ec93bde35313be1bf0abc45b0d43c8ef5a63c63a6f5ba807005bef2865f3f62cacb3ee26780bda5440fbee4805b3f947ac03e14338bbd8ef805be7f2f483f05aba53e979164bd74cbe6bd9073283f3912843eda082dbdb644bbbd3ad0023f8171473eb82a04bdb5158dbd3c9fb03ec74b0a3ed976a7bc9c004abd1502403ec446963d487e02bc9f55cabc2e28573d40a4af3cee19bebac9ee72bc7e8806bd675bbcbcf15095399c383fbd5c8f233db0f54abdb07e6c3cdfe405bd5464283b35889ebd7715c23c7e6ffbbc9b1756bc9a80a9bd8314bc3c41ead0bce575a5bc9cb09dbd6c2ac33c60bce2bc6087a3bbcff56bbd64de453c9526b3bcea3220bbda7125bd5070763cd966b8bc52644b3cac039fbce0bf493c8dac9bbc4e7dc13c7e87cfba967a8a3b0710a4bc7ba8193db44e453cd459b13bd49ac3bde264243fbd83223f3a0dd0bddeb2d9bdef6e213f1d161a3fd451d0bd9d1dcdbdfa90133f4b92053f84f3a7bd3de1b5bdeeb5fe3e8405d73ee86688bd766190bdc088c73e92889a3e200835bd22db80bd7f61923e7336433efa34e3bc11ee32bd2420313e7aecaf3db51835bcaea0e3bc5764973dbaaed83aaa181b3b1dd4aabcda81353bac4c7dbd93d0dc3bb92030bd181c773dec3c9abd03cd8b3cdb411abddf0c173de068fbbdb1cf103d462605bdc0b0ae3c26d005bec1a0163df24d00bd1ea68c3c4b02ecbd05e8ec3cb28ef5bceecd793ca229c3bdea16cc3c709df5bcea7a8f3c409b71bd02a8a23c7660d5bc6582b13cc102ebbcfb8c4b3cfd2bd7bc3fdad43c4657b0bbea322c3c8e16d2bca663183d5903223c1b09d73bda2587bd3f01cf3ef1d75e3fa9dc09be9ed991bd0093cd3e010b563f5c790dbeb31190bdf6cfbe3e1e6e3b3fbb83f2bd43217fbdd2dda73ed4f2143f406cb7bde47b5dbdb81c8d3e3776d83e105d81bd55873dbdb0385c3ecdaa823ed92318bd0f5b15bd566e163eaa08d83ddb2144bc56dad9bc6caaaf3da81a62bc59dbe53b17859dbcd226f63c45cfb6bd72221f3c46b912bd3a398b3d859ed3bd7d1e013d731002bdc7195a3da0d126bed48e4f3d118ad8bc63c2313dcda535bece05443df756d5bcf1481c3d810925be01c3343d492be0bcc60a023dd2b4febd26fc053d1927d8bc94cdd63c8579abbd9006db3cf466cabc197ac63cd80332bdd93c9e3ca7b2b8bca52ea33c93ca0ebce987613cc65edebc553afc3c79e3593c34a3123c6c840bbdf6424d3e7c7b883f30251bbec48d17bddeb1433e1c65863f7b6c26beb0ae12bd346a393e80056d3f79b00dbe51a71cbd9c6d2f3ed0013e3ff34dd8bd70cef1bc31921b3ee205093f967f92bd6e19f4bc31dd0d3e7e30a63e88ba20bdb95cbabc2847e13d3d37063ef6a313bc46f2a5bcb3dea13d81cd9cbc8ba8353c935262bc92a9453d1ec4f0bd816f9c3c9dc99abc4b265b3ddbc61bbed9d53d3dacd8c6bcea9b763d8dff35be14d8523d7fdb8fbc73b43c3d44d24dbe6616483dcfa68ebc10c31e3d50d53dbe698f333df5048fbcc9b00a3d187816bed050f83c842a93bc988dc83cdb5bc9bd6834b73c74ee8dbc85c2773cc0a846bdf6c5473ca9cf8fbc1af9923bb5ab89ba6484bf3a5f348ebc8cd69e3cf0d0343cfaf0093c11a5b3bbf775003bfd49aa3f65423cbe195409bc95cfd73ca0a3953f9c341bbe8ef45dbc6ab9ed3c7485883ff57608bea0cb57bc06a61a3d597a5d3f81a8d1bd27b447bc4d5f453dbd74213fc52a86bdbdb556bcf330703da338c73e1f6ffcbc68b419bcbcea7a3dd353293e6bd162b9736d13bcdac4803d6f7008bcb23ec83cb7ed02bcf83c353df04825bee9330c3d0000000000000000000000000000000021b99fba93bd163d01234bbee935243de915f8ba3ceffa3cd0a73fbef59c053d1088b3b980adbb3c860c37bedde6d63c1d179dba8c69953c6f4913bed1b7a43c0619f9babafe3a3cd22cc8bd0c6f3f3cd5e18cbb95b69a3b920448bdd4603d3b8570c0bb5da0683b316e1fbcc3a7a2390000000000000000000000000000000000000000000000000000803f0000000095cf3b3c8fd8f2bde751aa3f360bf8bd909ab23b080296bd81dd8c3fbc98a0bd4932643b43e261bd86186b3f510079bd91f08f3b20021abd5eaf2e3f4fd126bd375a313a2ceb30bc9af2dd3ef4b77dbc6706323b060ded3b296a533e4c14b93b47225c3b2f26ab3cfa4c30bcbbb7bf3c0000000000000000000000000000000000000000000000000000000000000000744c843cb5b82cbe25d7193dd28531bc5fcc9c3cab7c27be5a0c043dc75504bcb970513c673913be2f4fe03c809f0fbc168d393c1783f8bded85c43c386809bc82e5423ce832bfbd87f3a63c632e0abc88f3353cf3956abd1988953c21d91cbcb9f1553cb70c1ebdf15fcd3c66d83abc00000000000000000000000000000000000000000000803f00000000000000005106d2bd551fa83f598dc6bdfe6d343be86292bdc7ad8b3f3d2e90bdf493a53a121669bdf7d2633fa5c560bd5691fe37189836bda74d2b3f6a5c31bda13d8dba6edf04bd823be13ebe91edbc801a9dba716493bc743c5c3e374c87bcb7ab23baca5733bc56f3773cbe0c09bc779c33bb000000000000000000000000000000000c9555bdb5189fbcb09af03a1fd65fbb128aadbc8d7baabdab5df13bfaed99baa63101bdac419bbd48d911bb427cebba187a04bd9ef77cbde12ffbbbd956a6baa3cf03bd9e8c14bd29041dbc04d3e6ba1492f7bc01e822bc6d5519bca31046bae2f4eebc68c2993c679712bccea732bbd659bfbca129393d768722bc0958d0bad616e7bc32ba2a3d251f083c9aff8fbb18fe03be084da83f71cd98bbfedd14bc1f2bfcbdb7959c3fcd8f53bc1a0717bcf1dbd2bd1956893f70efbabbd9cafdbb5e0aacbd9afc5f3fff8683bb6799f8bbe65387bdea61283fa07b1abb1ba0d6bbcca34bbd85a1df3e500596bb7267a5bb330808bd42045f3e85427dbb2be99fbbf28674bc1468ad3cb2b041ba815c72bb6df69fbc3757a5bdf78054bceb0c5cbb68a0cfbd7082033e86b492bd695e733c0af1c5bdc741a53d70dd93bd4480633cf04fbcbdb70f873d549c98bd96495d3c64b0b6bd8c29993dc9b890bdc9c96f3ccdc7b7bd29fdb63d9c8a8cbd77a74a3c9411acbdd4f5cf3d174782bdf8bf443cb662a0bdafd6ea3db10562bd6ea2563cb1279cbd9fad023ee31b38bd3989323ca84c9ebd7207133e3ce512bdf868263cd571c3bd0f71863fb742263e1e27bfbca82dc7bd481b833f5bdf0f3ee189cbbcf92aaebd066f693ff596f63d1d288ebc929a91bde9b9403f2131c13db17288bc145d71bda3a6153fa9ba853d37bd5bbce3913cbd59f7d03ef9ae153d42790ebc1b5310bd354b703edbab133c8f26dcbb3190bfbccc2ab13d5f428fbc526191bb3be4babc58c687ba018424bd8c3a44bbf74001bea3f25a3e36f10fbe3871ff3c6133fcbdbbe5373e02c11bbee7da133dbce8f2bdcd04283ebe911abe367a073d42baecbd49162a3e978f14be2ce0fa3c5d69e6bd6768313e9c8711befb160c3d79f4dcbdd205393e6b0afebde8c8003d72c0cebdc2e43d3e0a7be8bd30f0f73c43bacdbd5280463efc86cebd4d85003ddedcccbdb5fe503ee886b1bdec69e13ca1029abd92d7533f3d2ab13e0b422bbd280196bdc2644c3f1395a43e2a922bbd704487bd8b43373f01368d3e39ec10bdc1ac68bd61601a3fc70d5b3ef2c5e3bc770e4cbded13f73eddfa1a3e19d3b0bcdf8f28bd0e1bb33ecd9ab53d7cfc84bc141110bd2874623e142ede3cbc3928bc89b2babcd4fae53dda75e0bc930077bb83abd5bc42e3343d10d38abd25103dbbb034edbd76e2683e78863bbe80bf373d7a9df2bdfc1e5b3e880c4fbeea67403d0e7be8bdd2754a3e64934abee7ba363da29be9bd97fb4c3e34d94abe091a463db4c8d9bd097e483e3b0931bee613283decfdddbd43de523ed84531be8af0403dbc00d2bde14f513ed74319be379b333ddbb2cfbd34c55a3ef40211be1d353d3d2399c8bd18485f3e264e01be0c48323db4cb6bbdf4801b3f014c0b3fdafb69bd810b5fbd8755143faa84013fc0ad67bdb88247bd9bad053f510cde3e9d5a3abda35238bda0dbe63ee47eb03e78d920bd960828bd30beba3e80987b3e63afe6bcb1bc0ebd1e75903ee8891b3e75a1a8bcddcefbbc6718463e2f69793d39da6cbc8c8dc4bc3a92f23dc9e6aabc8e12e9bbf93ec9bc54116e3d3760a8bdaf4096ba0b95bbbdc867493ebf2550bef15b5c3d8f29c6bdaa34493e679975be133b763dc1e8bdbd08693d3ed0e173be1859703d0a03bbbde294373ee37369be80a76b3dda00bcbdc4433c3e30855abe822e683dfe12b2bd30fe3c3ebef23fbeeda1563d13d1acbd1bbc3d3ee9762bbe8582613d7f4ab1bdf7a9433eaa891bbe766e5f3d86e3a1bd8948453eda8f0cbe649e533d18a415bde370c93ea7c7453f4196a2bd24eb07bdba02bd3ecf513f3f00b6b2bdd1c4fbbc493dae3e3c14253f870c96bd87bedfbc6db4963e18a8023f78576dbd7fc6bfbcacab7b3e951fbd3e150835bda60fa4bc3001403ef63e6a3e5635eebc41b390bccbd2063e1a85c73dbe46a0bcec9140bc0349a63d46db87bc7155e9bbf3da7dbcb7eb343db04bbebd0e682db9c4f162bdbe730d3e4cf854be4d5d793d3d4464bdaa330e3ea29b7fbe8a5c873d3a1266bdc269063e2e4181be08a6813d289665bd4a61063e64cc70bed501723dae8459bd2ceb023e31625abedf3b6b3d64c660bd119a023ec8ed3cbe74d1623dec605ebd1168033ee98c20beb04e5d3d3db954bd7229073edbb509be0cf8573db46153bdd9130c3eae98f8bdbbb1533d02a89abc9529413e34f9823fd628d5bdb6c77dbc8a702b3e0876803f9572ecbdeea778bcbc72243e30235e3fe550c6bd43fe57bc6e87123e7467303f98f99abd774631bc65ccf73d1003013f0b7b64bd39ad20bc2fe5c83de996a23ef87c24bd22c3fdbbf500973d2b6f113e2eccc1bcd80464bbd08d413d7d13cbbbd90ac6bbec2af7bbeb1fe23cdebad8bd731c883b5d0f69bcf428603d8c4538be83a7653d671ab5bcfbc2ab3d307f75be42c68b3d2c519dbcfac68d3da06e6dbeb1b36e3d6d37a7bc94bc863df1395bbe31f4583d2ff4a3bcafb4823d86593bbeddd3493d1779a7bc12a97f3d212117be798d353d9f74abbc36bd713d54c6dcbdeb90243da045b2bcaf82783d7d7494bd2be7103d2d628abc9ec75c3d9fca9cbd355d423d928d37bba3f9cd3b9519a93ff8b112be799969ba892e013c20bf9d3f0b3512becf6829b95516903cf868883fb716eabd59fb06ba8791b63c270e5b3fd365b8bdec0085390a0dd03cccb9203fb27f8abd1a170a3b726ecc3c2b87cd3e2fa536bd1cc92e3be406c73cf857383e839ac2bca0c22b3b5400ec3c76f32ebcf5dd54bb3e8c223b3fa40c3cafa4f6bd8bb0bd3a000000000000000000000000000000001a01923caa61f3bbd61a27be85150d3dfd57453c300ea23a4a9b21be98fbf33c3621483c93d5cdbb9d7a0cbee34fb43c23d8603ca40919bcd4dee9bdb4bcae3cfcaa393cb6a71cbc7cbbadbd2c23993cd5610a3c4affd4bbd2d847bdccd9663c16673d3c68053bbc34fdd6bc131ea13c0000000000000000000000000000000000000000000000000000803f000000002fe3ed3b8281c0bd51ccaa3f1e9de2bdc8a0bd3b02ca83bd03ba8d3f26c89cbd1c308a3b440e4abdbdce673f0d8372bd4303b23b521323bdb6052f3f03c23ebd72e7903b2d3ae2bcd542e83e729703bd1325a23bab2e79bc31b3683e134676bc3d20dd3baa3657bcb8e3ed3cf345eabb00000000000000000000000000000000000000000000000000000000000000000cfb063b2710e3bc4367f2bc9ca4a93bd2014b3b093203bdb8d5c2bc7edbaf3b777f283b88dcf5bc08cba1bc873e823b8e49653a8de7e4bc24e989bc570c5f3bcdc199bad23cd5bc01ac6cbcce843c3bcc7e2fbb0d36b8bcbdfb49bc87d7363b1ee369bbab3b76bcef042bbc522ea83a00000000000000000000000000000000000000000000803f00000000000000009db147bdc5b58b3f88faa0bca06d98bb6f09f3bcaf09683fa76f28bcaeff88bb521c9abc0af63b3f92a2f1bbf75769bbb9ca42bcfb65113f91fd02bc881d13bba84a05bc2303d13e1d6839bc6a7392ba4081cdbb5484813e9e8883bc586bba3af547f1bbd516d23dc50abcbc9e33493b000000000000000000000000000000000b4587bb09e0bc3be7eec5bc18b83bbbeec05dba4a34b4bce3160cbdb3a5183bd67e103b51f3f1bcf65400bd8cdb2e3bb2743f3bab2bf8bcbf51e4bcae26083b854ba93a754fd8bce00faabc41b5d03abbca6e3a7948dfbcd4c6b1bc9395073be4a414bbf306a7bcde2590bc18599c3adaf6b4baf2b345bcbd1f4abc999b083b36a4b7b90aea5f3a5de5f3bbe425d6b98b5badbd0a428c3f41d2eb3dc561c2bc17fbb5bd1d60843f3e9dd43d5bd5cabc783080bd7af75e3f79ebc13d8741a8bca47335bd054a343f4bf2a13db66089bca54afabc29b2093f6a61763dc1ae6ebcd963b7bc8aabc63e56ab163dce1b24bcd4059bbc30a5723ef4917d3c156ffabb64b076bc85b1c53da54e0dbca5854cbbbc6847bcdf068fbc6e68b5bcd91629bbaed4f0bbe68b813cf8f75ebc24be23bc51e35dbb96c406ba3b17d2bc7fc7e1bbfe47a2392c472dbcd2b2d1bcb30898bb2c4a273b723389bc8504dabc1ab809bb3bdb193be6c475bcece1aabc4e95baba0412933aa8198abc5a67acbcd8caa8baf121093aab6c45bcafb77fbc834405ba30bab53868a3c4bb11424bbc479c2b39b031ff3a33b2343b6d3ab6bba6dc8cb92fcda9bddb5e6c3ff0fe893e2d7b1ebda78fc5bdf989623f8ed27f3e77653dbdf7d180bd6a6d3a3f89695f3e813c0fbd4b2e68bdab2b1e3f590d383ea8ec03bd146e19bd3c59ef3e349f0c3ec6e4cfbc8a410bbda447b03e35cac53db51bb8bc1cb3bdbce6515d3e0570673d9e1b8dbc56a2a4bc3b37c53d5d9d673cd62964bc2a304dbc8aee93bbd9c172bc3fb219bc85d511bc136f943c13888bbb18ec81bc2638afbb3899dd3b0a5692bcc46073bcbcb383baa681c8bb94a1b6bc81d51cbc3926dd3af74519bc4823c2bc2bb3f1bb02d0103b392c41bc0998aebceee78bbb2cae113b6b0358bc986ca3bc41f964bb9562aa389f2617bc1fba80bcf04aecba6cadeb393db689bb5e722dbc6cadd9ba520d683aa1823d3b447177bb8a82b4bac95297bdf548413f53f0da3e96e352bdaaa0b5bd7d2c393f7c4ecd3e14797ebd19fb8ebd59ca1f3fba53b23e4feb5dbd0a7863bda710033fb49a923e49bf3abd011836bd9fdbcb3e5252623eef6e1fbdc15607bdb70b963ef600223ee0db05bd56c6debcf3c33c3e4c26c63de961dbbcb934afbcdf72b13d10bd183dd82cb9bc216c61bc7248fe3a8e1d1cbc49d678bced741bbc2ea0873cb742233baee2a6bc4fcbc7bb3fe0ef3b489125bc06609abc2feab1bade5950bb65a595bcf5ad38bcd81bc5b9573f00bc7b08a9bcb1ec11bc18401b3ab163e5bb0cb178bc8ae5e0bbf709e939513843bcd71da5bc250eb1bb7853dfb95d8d16bca76565bcd70c8dbb4b8645b695ee9cbb64c109bc0e4928bb8bdd1f38eb4f943a0983f8ba73081cbbe1cd7ebd931a173fe720163fe6f180bd734197bd98fe0e3f3ad00d3f80149fbd1a9367bdc085f53e15d2f13e052e79bd61164ebd2adace3e0f3dca3e12dc60bd11def5bcc1ae9a3e03a6953e992713bd663905bd291a6d3e87c9623e79d321bdfb24c0bca58f153e0ee60b3e40ee01bd0e44a4bcf4d4903d21bd763dc28de8bc4aef63bc5681393ba4cdd1bb5e68a4bc80e518bc53ab293c0099c93b3e5bbebccb17c6bb8ef82e3be3eb12bcac28bdbc03bb1dbb3d32d2bb9229a6bce6288bbcfcaa6cb88f3d25bc9004c3bc875a58bc5e209d3a5ddd24bcbd20adbca1531abc1248383a6ff948bc681b95bc1c93fbbbfc06b4ba418249bc7f3c83bc51a184bb9fae4538ffd7dcbb8fe506bc9f3558bb93bc40ba135ff6b92b2ef4b9003377bad9d64ebd0a05db3e6712403f739996bd5aa67abdc976d03e618c373f5d77bbbdd5af50bde0a6b63e01f91d3f120b9ebd5c6927bdbc3a973ed195013f036a84bd6a0203bdc1686f3ea84bc73ea00a56bd0c09e8bc4b32313e2e478f3e9f463abdf875babcb89be13d3c69333eb5311dbd93a18dbc1efc533dc7f6993d2ad409bd8e734ebc414679ba5c58e0bbb0e5bebc835c0abc43eccd3af058823b9674bdbc27e69dbbf18dcbbb339d69bcbc49c2bc20dc82ba57a912bca88ab4bc37337fbc493a24b8794444bcf5b0d8bc942159bca20ff3386e683bbc65bdb3bc3f0819bc4fbd24bab7566dbcf612b8bc500003bc1516cbb918a63abcb8ca85bcf7f7afbb67c5ddbaea853dbc692307bc97d025bb5b38e9ba0d2fa1bb0279873adef8f3ba681320bde4d58a3e00bc6b3fd512adbd9abc38bddcd7823e338a613fdc5acebd999b0abd5611673eafdf383fcc5891bd9547f5bceadd423e975b1c3f2d8f86bdab1cbebcdb6e173e1f10ec3e9d6a4dbd0bf2a4bc109de03dc571ac3ec8cb3ebdb43376bc2f7d8e3d28cc543e47d116bd72355abc042fe63cd64db43d8cfc0cbdc9d51abc483090bb91bc2dbc64c8c5bc974db0bb9b9c07bc92774bbb9413bfbc616222ba41a482bccc1dfdbcd2afa8bc69f38c395b726ebc179b15bd94c584bc66e0cf3ae73583bc55e217bdf95864bc9acb403a5a695ebc6e9302bd84072abca1219cb9e7f77fbc1dd1ecbc467704bc6902a0ba467281bcc6d4bcbcd286abbb00a6d9baac1b6abc5ace4fbc8cb9a1ba345d48bbd5870fbcbf114037e930afba394ac6bc6ed0ef3d4d358c3f9a2db1bd604bc8bc55c7df3dccf3833f21e4bfbde979a5bcd986d43da2f45d3ff91790bddaa97dbc51bfb73daa7a333f9ad766bde7724abc97468e3de447083fdf3630bd3f302cbcb0014e3d89dac33e209e1dbdced405bc3c88e23c8a076f3e01c90bbd645ac0bb57c7953b55f4bb3d4c81f8bce070aebbdb5840bcadc0b4bc15abcbbc00000000000000000000000000000000b4f0b03aa7207dbc144dfbbca9c16ebcd5ee1b3b6cbd55bcfa560ebdc96132bcfd14c93a785e43bc2ec604bdb206f9bb98f09c3a11783dbc7666eebcb2d6f5bb5efe9c39aa414bbc84fad7bc278ec7bbc3f187bab31e58bc842ab5bc697e90bbe7c751bb148464bc67786fbc5e704fbb0000000000000000000000000000000000000000000000000000803f000000002ec6c0bbd7576ebcd1298b3fe86161bd80cd85bb47de8cbbb990673ff6b018bdbc0a74bb48c52fba20fa3b3f0c27e8bc130733bb68cbfbb85e12113fe6a6b5bccedcd6ba8c022dbb327ad03e0829a0bc3a6a3abaf904e3bbf90d813ec88598bc823c4c3adca660bcd098ce3df9afaebc0000000000000000000000000000000000000000000000000000000000000000b8bd1dbbb3e1683ca95486bc93b774ba171563ba414c753b996a64bc2a6ad6397d07a8bae8846eba7e0d4bbc3a0f973a1f5db1badc676abbfc6c38bce495973a2195f5bafb3fb9bbe88835bc2a24093b1e0842bbf700dfbb982d43bc3941273a51a947bbd8cd4abb52373dbc70a91f3b00000000000000000000000000000000000000000000803f000000000000000024faaebc52697a3f834ea8bbe30712bc377852bc060c543f748964bb4151d0bb5fee17bcb3f92e3f1a6884bbf6b6a5bb95d3dbbb88400a3fa40cc1bbc8d287bbff48d5bb4d5ccd3edbdf13bc414946bb6fa5dabbce2a863eab105fbc9ca3ddb968580dbc945c033ea3e092bc329394ba000000000000000000000000000000006a8215bceece0a3d90932cbcfdc158bccc2911bc72ffe83c89747abcf6a927bce662adbbc5397e3cd33d72bcdd43ffbb623b8abb6de4193c7ea683bcf894cebbec197abbd4738c3b55a750bc33f8a4bbba9387bb87fece3a39a661bc481d73bba4845bbbd0c97d3a98065dbcfb3812bb014889bb30c33e3bebde58bc01fdfcb98e0f2cbb98cc143ccdda11bcd6cf29bb36fd2cbd3ba87c3fcbde043ed2e1bfbc7edb2fbd6599663fb430f03d4b84c3bcf994f9bc01d8433f8242ce3d65a6a1bc3a7ac4bc233d223f7968ac3d3d1590bc5c9396bc0dc0fe3e42e07f3d01c664bc39e388bc59e1be3e7565293df53a4dbc538286bcf85e7c3e8549a33c59812dbca42b81bc7adbfd3d34f40abba51205bcabaa59bcddf5263c2aa873bc07c7fabbcd454bbc7061133d0e0812ba29cdb4bc12f35fbc305b173d3674b0bbc7e3bfbc55c9fbbb8c1db23c0d4ad2bb682c8abc63b2e4bb8506923c417e0fbc609582bc72a5d3bbac88483c220b0abcceb64cbce06bcebbc3681c3c8a0b2cbc3f0342bca45a93bb8be1f53bd99809bc308911bc350ca1bb8f8e3a3cac6027bc08ea09bc067d18bb8f224e3cc2a7a1bb6f96f3bbcf2236bd4f55573f0afa8a3e361700bd9fc15bbd47bf473f7f957e3e28941fbd5d1c11bd6bd0263f95f3573e4983f2bca61b0bbd3e170e3f4005353e5360f5bc496ec6bc1640de3e6ab60b3e366fbfbc6de8c6bcbbd2a93e05c3ca3dae64c3bc9e899dbc79465f3e91197d3d20579abc5979a6bc8d65f23df2dec43cf2d29dbcb69768bcbae3813c6d2fe3bbc82b6cbcbf8e65bc0096113d058bfc3b7a9bf1bcaab957bc0a331d3d09c5a43b682a0abda87d32bc337ae63c988918ba3e47e9bcc960f9bbb8aba83c83d062bb558dc6bc821bb7bb26b5813c3c5c96bb27c2a4bcc84eb8bbfb994e3cb735c9bbb92291bc1e95aebbacc03b3c1af4cebbb0827bbc764f89bbf638553ce0a0a4bb38ee64bcacde77bbbcd3493c43149f39fb3d39bcd71238bd7a73333f75e9d33eb2fa24bd3ed85dbd028b253f4bf1c23eb4314dbd77f535bd31410f3feb60a73e33c735bdcf4115bd05efee3e66c58a3e76cc21bd8be2fbbcca16be3e6e905a3ee3040bbd21a0d9bcabc48f3ee093213eccf201bdf2c8c1bce2fb423e960ed03d581becbc938bacbc7b47d43da1f5423d69a7debc0d5781bc14e4873c4201d43aa2d7a0bc4b3978bc76a8003df29c6c3c22b90dbd61376dbcd9eb043d3f29453c0e7721bdde8f23bc213abd3c2bd1a73b3ceefebc449b0cbcf3c0a13c8db5e63ac0f6edbc3feabfbb54cb4c3c4ccf6ab89d57a7bc8323cbbb0294303c6759feba5f23b7bcb80fafbbe38b263cf06c20bbde3496bc2951a5bbabc5423ccf2c6fba1cab90bc2ce333bb487f4c3ccfc15a3a80927abc8c672dbd73110f3f5e410e3f5b963abd8a0747bd0e72033fe333023f477f62bd0e521cbd9c4ce13ed5eddd3eb89639bd0fe50fbd655fbf3ef79aba3eec4235bd2f68bcbc187c933e5c4f8f3ef7cdfebcf968d5bc7382663e30385c3e3b2618bd4345adbcf3b31b3e9b140f3eea4902bdebb4a7bcd366ad3dce2f903de09201bd5ba96ebc0db8853c21bfb23b30b0cebc3cd56abcf6a2bb3c7725ad3c167522bd441072bc9f67d73cdde5953cfc8b38bda58634bc79b0a23cefed1e3cf45c1dbd204010bc2c92753c01a58d3b20fe05bd8494efbbb3993f3c367df73a565eecbc7391d0bbc29c123ca0ca31bb02d6ccbc6d24c3bbab23fb3bf9ed01bb6a93b6bcf998dbbba829e53b86b0f3394528a7bc63fa92bb5844143c8697863b4a2c84bc80f41dbd9bedd53e60e8323f5ae046bdfce737bd3a33c53e88b6243fb8f87abd918c19bdf94bab3ec26f0d3f16e65bbd653803bd86b28f3eb586ea3ef41444bd6232dabcbd0d663ea85fb93e5f7a30bd2eeebdbc141c2f3eca838a3e81e824bd74dfa7bc541aee3d4fb6373e77891dbda14393bc9571843d822eb83d343116bdc2c86bbcaef7493c149cfb3b1814e1bcca244dbcf46f833cfe6ec13cb21822bde7f358bc24188f3cee4ea23c5fed3ebda6a20bbc24e2373c3343153c915005bdd4dff4bbb4b00f3c36ee963bc13c09bdc905cfbbf3e4c43b6c51e33a6482d0bc2dd8f0bb8fc5883b9bd7a3ba6c6fd1bcab1bb3bb3d440a3bac989dba437fa0bc6c21d7bb91c9cc3a325b593aac3ca7bc5b1295bb5fef813b1f40953bd4ad86bce2b7f9bc41258c3e9b52573f000e4dbd2af315bd7563823e5d72463f4a2a7bbd0869dabc39645f3e39b1253f9c6a3abd158bcdbc92bb3e3ebcad0c3f2cb33ebd8eb49fbcb953163e44e2da3ea11f1ebd0e28a1bced16e83d2d02a53e49e623bd205175bcb27a983dbece563e1f9b08bd4f9f80bccf2f203d552bda3d4ee613bd32e538bc1f98c63bff91f43bece3e1bc999028bc8cf8e03b4490cc3cfe2523bd2d740bbcbd3b903b564f8a3cffb729bd56d6cdbb572d6a3b3d56ab3b5dca15bd5010a7bbd66da83a3a460d3a28e4fbbc99b499bbc9a1bdb9542034bbfe00c6bc2b0993bbc50760bb50c7a9bb1082b7bc34a2acbb757a9fbb1707b1bb74a39cbcf345b3bbc8ccf5bbc69161bb1f1f86bcb92275bba82b53bb809b923b668979bc2d4bb6bc16c9073e455d7c3f3c6e41bd6edabebc5c29fa3d8cd0653f5b3d50bdbd509bbc5cbcde3d844a433fa54323bdd21d84bc5d54bc3dc72d213ff0ca14bd737952bc0027953dbf9ffc3ec42002bdbb014ebc42695b3d7f6fbc3e5f0506bd641427bcb582093dee12763e25e503bd756012bc7ef3593c6810ef3d1bb209bd94a6f6bb4d573fbb448ca13bfb3cecbc0000000000000000000000000000000050e161bba7d70abb0d79213c319fe6bc3ffe3dbbcee28eba27143439b989aabc5f20fbba93b267bb632c4fbb872097bc3b6514bbc6b37ebbf277c0bba65f76bc1e541ebbddd8b8bb5784fdbb58dd5cbc3fdf58bbbd4df9bb8087febb90c538bc7d9597bbba5f14bc1ab09fbbf4c035bc0000000000000000000000000000000000000000000000000000803f00000000694128bc3a3c6aba38707a3fed5aeabc8b01adbb6944513b1fc4533fd546aabcba1dc0bb5b92313b15e52e3f54dd9bbc3c7b9dbb9815b43aabff093f29e589bcec7f74bb08b71bba2797cc3ef0cf90bc4c254cbb1a7486bb6f8a853e109298bc6eef6abbb6d502bc8652013eaac1b6bc0000000000000000000000000000000000000000000000000000000000000000226598ba128c033cef870dbbc82f7bbbf1781bbb06e7df3b2635edbae1f147bbd7e0b7ba05c5aa3b1bb701bb4ab733bb4fa4e0ba85278c3b4818f1baa45104bb1b8e40ba4d4cc13bec3c4bbb17a8f9bafbe0b6ba81604a3ba9db1dbbe438d3ba3c10d8ba4483ad3b4193fbbabb1a43bb00000000000000000000000000000000000000000000803f00000000000000006eaf7cbb8c32643fb86db0b8cb4f7fbbc8488cbb5cba433faaec1a397a984dbb3a2c33bb00fc223f0c34c0b9cae03abb224654bb243e023f567614bae2e914bb1c0328bba4c5c43ed71020bba98123bb4e455cbb10b9833ed21307bbe2d30abbd3c67bbbe5be063e6881e4bac7cb4dbb000000000000000000000000000000005d4b26bbaf9e363c6f9de8b9a033e6bb5df180bba0ac593c3f2b28ba4d970bbc519f1fbb2ec42b3c1f967eba65edf0bb1fcc39bb6e6c133cd809b8bab1c3ddbbb43ff1baf951093c0a8e5aba69a3d4bb4ef633bb4713043c682e84bab40fc0bb7ba930bb27ea033c384595babed0bfbb15ba3fbbbb32153cfa268cba2dcbc8bb736006bb3860033c953b60baad91aebb004ed6bb1789643f183a023e7976debba3c007bc62d4493f1784e63d09ad07bcf89cc7bbe5de2c3f5109c53d7033ebbb84b4c4bb0dcc103f73cba33dec5edcbbf960a9bb0c22e73e62d1833db911ddbbf19abdbbb35eae3ed382443d4a67c1bb701bbcbb632b6b3e057a013d9e78cabbd05ed1bb7da6f53de8da7e3c6b7dcebb684da6bbb0b7093c9fb579b9d7cfb0bb188e27bb443e463c9635213b7d4524bc7a4ea8bb33e5763cd889093bbfd046bc27394bbbe503343c4da1893adb231ebc0e7a6ebbd9a2373c33c2d039476d34bc808334bb65231e3c0115343ae4bc0cbcdebd62bbbd312e3c8ed3423a97081ebc97e744bb71cc133c7e92213a8c6404bcf00a5fbba5ea383c3f757f3a40a03bbc378528bb8824113c7054363a718ee7bb47090ebc4942443f3ef9823ea7e119bcfadc2abc2ac12d3f7498673e285e3abc7c42ebbbfe5b143f2b99453eb53012bc26a702bcee16f93e7566273ecdb82bbc05dfdfbb5621c73ea719043ee08b02bc27a0f8bba35d973e9b76c83d210d17bc8ed0d0bbab544b3eb7e2853d3075ffbbe699f7bb1ad5d93de0540c3d380f17bc1e34bcbb8e4a153c3e05f93a4503dfbbb2475dbb193a2b3cb4e14b3bfcb23abc69d49bbbb13a5f3c5c60853b020664bcf05984bb0b64483c9d87493b74ce50bc3c1286bb3e8e4e3c891d543b057d4fbc48e658bb0e6e263c6d63b33a91e22cbc7d0d75bba67d2e3c3a74173ba1fa3abca29f6bbb74af2a3c5c2a0f3b666331bc99678bbba8c5233c814a403b7e6629bc48452abbe27c153cfe96df3accc51ebc86b300bc72f5233ff3e2c33e70500bbc0d7b25bc10be103f5657ad3e8c534ebcdd600fbc6ce5f83e7dc1943e465540bcb7e02abcc3fcd03eb077793e3d5e3dbc2f6cecbb70fea63ec6d8463e2a141ebce4e501bc35d97d3e76c2163e0d342fbcbab3f2bb28922c3e2a7dca3d0f132bbce61b06bc98f7b53d58c7563d88bf08bca0dfc0bbab86193c7aa1683bc7bf14bc355497bbac39293cda17893be9a348bc7d62a2bb98d7453c708bc43b006869bc25ff85bbdafd283cd69b943b047c4fbceb3985bb3cf0293c45da873be30e60bcd7d649bb009d023ce2444a3b008723bc0d0888bb52e0243cdd547c3be56e47bc32366dbbf29d163c3ef7513b85fe3abc30b573bbf6e9243cab16633b350b4dbcf4fb6fbb522f133cf5a13e3beea811bc1df20dbcd909033feced023ff63437bcf37a1ebc21b2e73e11bee63e735551bcf13507bc4edcc63e19d2c53ecf1e3abc1c0f08bc3b1fa73ebd9ea53eb21d4abc7f5acdbb6008853e91d5833e658514bc49a102bcfa464c3e85f4483ef3fc3abcde76e8bb8c810a3eb0f9063e771d2ebcedfaf4bbc7cb953d1e6a8d3dc6a83fbc0829dabbf4d4143c8b84a83bbd8d03bca90397bb71ea0a3cd31fdf3bba5b4bbca279adbb96d8393c76eae03be45082bc24ad8ebbb5841a3cfce9cf3b20156ebc9fc68abb75bb173cee93b43beba867bc374ca5bb06f8063c48bc9a3b2e3048bcb0f880bb97f61c3c64348a3be2a372bc49878abbc4910c3c74c69a3b5d0d50bceaa888bb9da3193c02e29e3bc06157bcc54f6cbb4c66e13b931c433b3bf624bc3f2406bc0ea3c43e8de9233f253f32bc1c8414bcb27cae3e53f10f3f1ad366bc194c0abc95d4953ef2c6f73e387b50bc439a04bcc1967b3e02f4ce3ec8604dbcde8edabbfeef493ef7aca53e854833bc7d89fcbb9b0c1b3e0c167c3e851762bcf6c2fabbb6ffd23d0945293ee8b640bcfc98febb640c673d6f39b13dd8d14abc925ed0bb266e0e3cda98ac3b851318bc768f74bb2dfdcd3b86abf23b702e4bbca41598bbcdbb093c3493123c2ed183bc9f066dbb4778d83be0b3cb3b93d953bca4f081bb6effed3b73c3d03b25356cbccff356bb905ac53be7f7a33b6edb40bc3b2a23bb4022d23bae30a13baf7458bc79335ebba9cfc03be1a2913bfd8a36bcc0cc88bb988e013c7b95923bbf845fbc766187bb1374d43bc92ea83b32d32ebcc161d3bba118833ed9e0433f8c222fbc82d207bcbd33693e43232d3f781e5fbca5b1d1bb67aa473e5de6133fc32233bcbc2ae8bb4fb5283e4e16f83eb3654bbcc7e0c0bb9ec2063e6400c63e410e2dbcfc36f7bbd663d23d55c0953edf7141bc6fe2bebbd9578c3d35da483e78b628bc8098ecbb12271f3d4b9ed43dbc2a55bc5417cebbf111c63b4033eb3b196525bca04964bb2802813bb830053c12d13fbcb52a73bbbff19b3b97720c3cf1386abc4bc648bbdf87933bc02dd93b2d8151bcae173dbbeaa9823bcc13b03bd8ea43bc26bf41bbef8a823b0a2cad3b506b38bc966d5dbbb56faf3bb89d893b114d38bc67235bbb4a27763bfcf6923b46632dbc8c3c75bb33d5933b33a2bf3b240144bc4be644bb04566f3b8e55933bcb5212bcd14daebb2441033e1372643fc5391dbc1e55c6bba43ae93d6752493f8ae93abcfbe4a6bb0dc8c83d8d9a2c3fe87026bc0b579fbb392ba93df4e40f3f88f21dbc71d7a6bb0830883d856ae63e4fd91dbc26dda9bbe4d44e3db86dad3eb4f420bce454a8bb32b70e3d7a23693ed5891dbc672dbbbb3df79f3c5487f23dae113cbce28595bb19ef403b65f3ce3ba3d60cbc000000000000000000000000000000003b7210bb810ecf3a3a0fcb3b2fd01abc889ae9bac04bac3991bdbf3b738c0bbc655811bbb7ad54ba3fc89a3b9379f6bb898bb3ba69107b3a3b64083b85cbbbbb803bf1baa6df613ae6e7313b60efdabb9814e2ba3c0da13ad17f5f3bb12c02bc374d1cbb7f9e8c3a92dc543b213fecbb0000000000000000000000000000000000000000000000000000803f00000000ddca55bb27b1963a5225643f6a8cdfbba2f017bbfc6ad039b0c1433f3a2bc6bb127124bba0fa1aba951f233f6394acbb701efdba36127f3aff0a023f428f8ebb853622bbae734b3a72c4c33e1f2cb5bb101f25bb0116943ab472833ec0c5ebbbaf114dbb0013093a2d68053e1d91e0bb000000000000000000000000000000000000000000000000000000000000000040fad03bcc6c06befa91b4bcc4b8543c1df9f73a21d9febd9a22cbbc1da54e3c462050bb4eebd0bd95e3ddbc0232203ce4d2aebba92cacbd337bc6bcc35d133c7006b0bbe63e84bdb13a9bbc5b1e793bbe1f3fbb53cb3abd81e4e8bb0815813bf3e803b99d18abbc3f66643992dd843a00000000000000000000000000000000000000000000803f000000000000000048c5afbdb372a13fa6ab92bddacdac3bb8884fbd9ec2853f0ff426bdb653043b4eb3febcc1d2573f2886cdbc4436d83a3e1e87bc2756233f95417fbcd13e293bdbf8b6bb251bdf3ec94d55bc1056123b1b27d63ae289743ec5b953bc5282413bfc2b803bf8894f3da96779bc9b49973b000000000000000000000000000000001b5477ba036686bd76119abc616ead3b6f0e243cf0d10ebecacaacbc033d5a3cd3bd3d3b608e0abe52d009bd16b8543c807500bbc05eeebd6f0a1abdb8ad363c8f9e98bbd713b5bdc66403bdeb13023caef3f1ba311492bdd4d4cbbc03c6073cade4633a01fd39bd436159bcfbb6b03b22dddb3bd80c90bc72524d3ad6be273b3ab3c83bec57183b7566fd3ad946313b94a915be4701a23f8301723de1a098bc2b6d11bebfb19a3fc9d7483d864794bc01e9dabdc1aa853f52b4793d00288abccf099cbd1dac573f16387c3d2d3161bc51374dbdf10c213fcf534f3d841e3ebce2c90abd3bc1da3e51a71b3d1ec319bca60890bc7174693e5edb9e3c7805cabb608486bb34ad2c3d72e9fc3bee8b35bbe740b0bb2b1392bdda318abc31a009ba3dd82fbc1f94f5bcf56684bcdaa9fdba62cff9ba3874b2bd1e5c1dbd38690b3ca3f842bb9f0ab1bd3ad93cbd2ddee63b6e5935bbf75ab2bd466044bd2616163c244b81bb50d685bd09cf22bda1c9b83b46cf60bace9461bdbda80cbd66f8e43bf91e9639247c10bd8020b3bc2f9ca43b617de03b51328fbc8f9c23bcf2c7da3be326ad3b3b64da3a3df1c2b9e4cb953ba3ca0dbe3203873f3a0e7c3e58383abd3fb21abea82f863fd7c56b3e4fbd4bbdf396e7bd60d7633fbb9d5a3e80eb27bd5ba2bfbd61b13e3f85f4393e8de218bd220685bd72270e3f993f113e463ddfbc001647bdcfd3c73e8d09d23d467bc3bc677100bdc917623eca57743da8db8abce72592bcf290833d8d368d3c1d1b39bc733149bc96530abde57c70bc601beebb4d4d89bc3797a6bb590679bc696633bcc6f804bce5e754bdd8533dbdbf9de43a8355a0bb6c448cbd70eb67bdbd5f7f3baa1ba4bb209a84bdb4a263bde8e7523b7c4fa0bb6ec761bdb1894dbd6fe47e3bfc6fe1ba140c39bd385f22bd3dfab73bdb62473a01fefabc7e2be2bc49d4e83bd688a83b87b18abcad3975bcc197133c075d653b85c9473a2a6d5dbb0de3ef3b2710f6bded3f5a3f8dade13efa7993bd5cb109bea3ba583f2953da3e2b25a3bd5496e5bd9a0e3f3f0a50c23eec988dbd668fb3bd34311d3fd308a23e4eb068bdc1938bbd4595f23ed4ed7e3ee0c346bd5a5b52bd39efa93e4956323eeae916bd8e5016bd9941493e67e0ce3d015ce9bcab84c4bc3a9d923d4a5c0a3dc37d98bc7beb9fbcecb54dbcd7e67cbc7ec281bc869f9abce8ef323b11a385bc5dbd7fbc0f1237bcb54103bd792056bda90286bb9d3dc1bbfb8032bd005c80bdc8d81fbbda597cbbe1fe51bd71c185bd8b2e083b987bd6bb1fe4f7bcae252cbd8cefaabb97121fbbe1de0fbdb4ed4cbd4be80c3bd3ddb5ba0c9cbebc6a6700bd8a5bb03b62b2543b4b5a53bc5c448ebca02e193c55a7123bb6b8efb9e63f8cbb4892d63b826fc6bdf2d1253f8554253f2268c1bdf844d9bde47e223f92bb203fb370dabd94a3b1bd7db40e3fc0b40b3f6ae6b2bdede99dbdcdaff43ea6dbeb3ee583a0bd98a149bd51adb33eb4b9aa3e9ac751bdfd2444bda728893e2db27e3ef5e644bd7b7707bdf322253e40b3103e19e808bd378fd3bc2ecd8b3d4908463da0a9c0bcaa2ba6bc144ef0ba2f6f8bbcaf3b9cbc854572bcaafc1f3b6b3aafbc07c56dbcf697c6bbaabad9bc3bc590bd93c9b1ba1b1450bb65b922bd7183aebdfcd332391d8b17bb796525bd7baca2bd932f9a39a3cc39bb779d15bd639989bd7114bab73e5d3739fe0402bdfa8e5abdf1a68b3b178df43ae928b8bc0f6919bd39abe43b8d6b5c3b71ee55bc0501a4bc5f0a533c1216803b02c111bbc58630bb4fc5073c38be92bde486e33e55c7593f65cbf5bde37ba3bd9f91de3ebd36573ff4270bbe3a258dbd5537c93e8d153c3f8626e7bdc29e67bdc4b5aa3ebe43193f56cab9bddb0d46bd350d8a3e7fd5e93e38c991bda7771bbd1360473e9988a03ec4955bbde8aaf2bccea4fb3decf2343ec02619bd6f61a7bcf3c0563dc0c9603dee09c8bccf828bbca195c13aa3d9d3bcbc3c9dbc61a1debbdb3830bbf62532bd729dbcbb3b2ec73a415abbbc1e13cebd94a9063ccd4fe2b9bce4f5bc7dfdcabd2533ed3a88cfb03a797511bd9c2cc9bdec1ae73a57e8b3395273f7bc8f1f98bd602a48ba6da0943ac1efddbcf72481bdf433b53bfade1b3b424d9fbcd61a2abd22dc033cc498bf3bdea924bc1f7ea4bc36f8573cd29e483b70455cba3e606dba95b34e3c700c3dbdb9387d3edca1863fdcd20cbe118647bd4ad3713e7e34853f26731cbe4b7c29bdf49f663e0770613f3a95efbd46e819bd322a493e2d473b3f908cc6bd000eeabcfcc0223eb6ca0a3f14828dbd3a29cfbc0f09f73dc023c03ed45e5dbdf6dba0bc47789d3dcb75543ea5f30fbdc9936cbcba4c0b3d7d344b3d46d18abc14322dbc0c4429bbc7d33cbd8a3352bc7b30b83aa9c517bc52fd99bded207c3bae4b283ce3cc84bccf7017be8ba2b23cc7fa093c5c29dabc225012be630d143cf5aeb93b9964e6bc4c02fabd71b9223b414e9a3bd872d9bcc843c2bded5d04ba19ef943bd15dbabc2be19abd803d673b8c8d973b446246bc60ba48bd8f40e23be1b1af3be06caeb938e0a3bcdb51513ce0661c3b615b4f3a16d7e63afea8393c54dc9cbc6e24793d70e4a13f01c915be1c8b97bcd6b9553db4919a3f6d3c14bebd0b8fbcb77e913d5a03853fc076e5bda03184bc7f4d933d1b30563fb247a9bd480367bc7b50893d6f0d1f3f887b6dbd678033bc9cec533d5cebd63e60bd22bd09df19bc0d80073d085a603ec1e7b0bc0d72b2bbf7ce7f3cdea9093d8b7bf7ba704b78bb125b0cbcc00fa0bd6dafb9bb000000000000000000000000000000005888293c183796bc73c407beb49c1b3c21560d3c2341b0bc53b4ffbda53f693ba388cd3bbf60c9bcd43dd7bda1d05fbb26dd543bb917a9bc510cadbd4606bfbb290b893ba2a78bbc84e484bd6f4093bb72a6573bc41036bcf76739bdf99d8a3a6b940c3b244e6ebbb9fdafbc27a3873b0000000000000000000000000000000000000000000000000000803f00000000d176933b2e2e88bdfa38a13fc0b5b9bd371e183ba38d09bda0b3853f022a6dbd835e4c3bc87087bc4dfd573f69d41abd8ccb2e39160610bcf519233f5b0ecabc59ff0e3aff0093bb128dde3e84cb6dbc47c8333bb55b8ebbca1f733e6c379abbbd9f453b88540fbc59d94b3d4555bcb900000000000000000000000000000000000000000000000000000000000000000ea7e9bb9a54a3bdc01efdbc63be673c07e80bbc4169abbdd2e2f7bc42ea483c192d33bc2ba18fbd852ffbbc0a50423c584040bcd3e374bdcd44ecbcaee8193cc82836bc40465bbd2ef2bbbc552ced3b4840f2bb206c39bd216e5cbc95d29f3b287938bbc8e5f5bce898b1bbd049633b00000000000000000000000000000000000000000000803f0000000000000000b66963bd4883973f48933ebd304d5abae53dfbbcaabb7d3f9ee5e9bcb7d559379380a2bce6c24e3f50eaaabc2833d8b9c66146bc8fa91f3f2659a1bc95e13d3a8b2b0dbc93b3e23e7941a2bc4d4ed33a42a1d5bb578b863e479aa3bc99f6f43a264819bc2d13ba3d9336cdbcd7cf563b00000000000000000000000000000000c28eaabcd57677bcde6f08bd2f1b0d3cecab71bc31a3a4bd15751fbd90f76e3cb9e18abca42da0bd65a638bdd1486b3c678390bc7acb8ebdc4bf3cbd71ab523c1d1392bcce276bbd07c32dbdd013393c1f4e74bcbd6a4bbd01450ebd24423d3cdd250ebc1cd027bd8872c0bc85ed123c654ab3bad010cabcaf300ebcb41ebe3b91ee9a396101eabae83aefbb4663e03b8769dfbdf22e983f16cbb13d57c2b7bc24b9d8bdb4e1903fec279f3d40e6c3bc502aa1bdeb2b7a3f1d8a9b3d8a2a9abc42e370bd4a404c3fd8e5833d3abe79bc49e132bdf3a51d3ff9a8453d85723bbc510410bd0696df3e17ebf13c7ce129bc90bce2bc8ab6833efc662d3cf51ad3bba01ea9bcd217ae3dbe82f7bbc05832bb74f2aebc6e16e7bc7984edbcd30e68b81e72e4bc1547463cdf4ae4bc9c3968ba381fcfbc9f20dcbc478144bd84c0213cff52a5bc2561f2bcc1e04dbdfee2bb3b5522b5bc2d4a21bd413e66bd11353a3c607aa5bcfa4de5bc019845bd070e103c20d78cbc3cebfabc91bc42bdf767393c48943cbcf1b988bcf7320dbd02bf213c7f4ec6bbee593dbc92c1d0bceee5583c9c8831bb4c05b33b1bd864bc55c1233c3217dfbd51277f3f3b71843ee27132bdb9fff1bd6891793f66ef733e93d53fbd16d5b3bd5748523f8f095d3e235612bd6b759ebd28f6343f5d77343e521507bdc8a170bdbd6d0a3f6879093ec46fd2bc6dcf4fbd9b2ecb3e73bebd3d5c79adbcaae51dbdb9077b3ebc90523de54986bc135307bdde79d43d9e4be53bbbf11fbc6d8dd7bc9a6882ba0653babc7da4e0bbe94709bd336af93c08909dbc79a03abc1be0eebcd6fd48bab81e49bdd913f13aa097ccbc8f118abccdc36bbd9578703b2552bcbc888faabcecd871bd6791c83b688cb1bc761f9abcddc063bd6ae3bf3b16de93bc9d2e8fbc720b50bdf9f1353c2e8a66bc6aee5cbc7e8035bdc1b54b3cdfb50cbc3848c7bbaeb808bddf0f843c429fbdbb98ca143cdfae93bc215a363ca469cabda9d94f3f0a51e03eb8a281bd4b1ae0bd4cf34a3f7645d33e4a6089bd5808bdbd09c7333f0734ba3e877871bd2b2b9dbd1ef3153f198a993e29004abd279182bd6b38ed3eba976f3ee0a92bbd795c59bdea3dad3e9f73273e63750cbdd39a37bd3da35f3e5ba2be3de814dbbc909a14bdedded03df6b3e83ca63e8dbcacfef3bc49f38b3c0c6291bc1a8f79bc83ec03bdfe3bfd3c650052bcc8b492bce320e6bc1bf4143c356f31bd4d64e4bb897bbfbcfb2c80bb532654bd13abb8bb63cababcb47733bcfada70bddb7274ba5b09a2bcc9171ebb0b5921bd92a6dcbb673b99bc206f35bce80c59bd850ec13b3c676abc2819b0bb4dcd2abd82100a3cb90922bc6cc593ba72150dbd63a37c3c15c50ebce6b34f3c48cd9abc65a3363c63e3acbd1508203f73571e3fdaf8a4bdee41b9bd86891a3f3289163f7f70afbdbb0499bd2d8e083f412c023f404391bde1648bbd4de8ea3e640edb3eaaac83bd66ac4abdb0e8b13e9376a23e0b7440bdfc724abd004c8c3e6fa7713e689036bd54dd22bdaf8b343e03c50d3e6ea909bd5eb70cbdb421ba3ddf45553da6ffcabc23a1edbc855aa63c888d63bc78c5a6bc9fcad3bcd1b4ad3cbb144abc2ed9b6bc3a0eb2bc9325473bd28e55bd3e32c3bb13278abc15e2e4bb4d8688bd55c193bbfd5583bce76d57bcfa718cbd1d66d8bab3e68abc2c6c55bc3a3a80bd30031cbac3065ebcd81e51bcbe026fbd6fe2d63b9cab2fbc641128bc783754bd532a553cc877e4bbf4d564bb736922bdea70ac3c44c1dabb1501e23bb242a1bc92295e3c161989bd165be33e641b4e3f9dffbfbd45f790bd8605dc3edbae463fa5a3d3bd199582bdf0a8c63eabe12d3f0f37b6bd165d61bd8235a93e3dce0e3fc83296bd24dd40bd6091893e18c3dc3efa837abd559825bd30974d3e37a29b3e605249bdd36c0dbdb9cf083eae3c393ed0af20bda81ce6bcf9c1893ddb87863d3598e2bc4af7bfbcd8c9573c854270bc4ccdbfbc4a8776bc3fb3fe3b5685bebc5f9d7cbc98f114bc6e61d9bba65690bd17cf0dbb8aa31ebc642b4dbcc7a88abd33b90cbcf96d0abc11f890bc098fa0bd917e44bb18321ebcdf8985bc337b82bdeb0f5cbbc05e04bc126188bcb36784bdea72cd3bd7a602bcb54b35bc45963dbd494c013c6b6951bbd059adbb0ad329bdf75ebc3c74a446bb854e953bf4f99cbc2fed963c1e603bbd727b873eee0b7d3fea87d3bd24e048bd9137813e5ef6753f0f51e9bdca3c25bd5e8e6d3ef0ee4d3f78fab0bda8c619bda013513e72172f3f25f29cbde3acf9bc44d4273e5109043f577372bd8353e3bc5d17013ee6abbc3e09b64dbdc5a2bebc699ca43d3baf603e10c91dbd388797bc84a6263da1aa943de8bfd2bcce817ebcb925a53b80c3dbbc790eb3bc0ee334bbf4e21dbcdde226bdd58944bc69adaa3b422f8fbc332ad8bd312c063cd86caf3a441ca9bc4bded2bda61221bb6d0905b97477c3bc5b2bc1bd72bc84bb7b2615bbfa49babc527da0bdf8f1a2bbca8e47baefeda3bc391092bdccca243b797451ba73ff53bcb9f574bd34e4383c981e1d3bddd5e6ba09ff2ebd60a6c33c518c90ba6b0f03bb77f291bc9e598f3cf74ebbbc97d1b83d5879973fa956d7bdee75b8bcd05bb63d73bc8f3f2a04d7bd8331afbcea8bc03d4812773f1e25a9bd336287bc602faf3d109f483fdba281bdca3c63bcc068943dd3f6183fe7304ebd0a224cbc48e35f3d7bbdd63e6bb922bd7e0442bc72a00e3d1391763e772f00bdf495d7bbd615673cabfa8a3da0f58fbcce13ddbb0fce22bc544b34bd65fc9fbc00000000000000000000000000000000e2b4203c4b95bcbce480b1bd4e46afbbf42a153c9a7dbdbc32fbb3bd770ab8bb0d2da83b49dec2bc12c396bd5d4e40bc3e34483b568ec1bcd47c83bd6ec622bc0206413b481aaabcc5506abd050fc0bbe770f93a696981bce86345bd5f17c73a2c5a5d3abdc12dbc9de70bbd49520b3c0000000000000000000000000000000000000000000000000000803f0000000092f4b4b92a5d20bde626973f0c807abdea14603aa7519abcc1b77c3f9f3d1ebd4d49bb390b480ebc1b534e3fc94df0bca581ee39812db2bbccfd1e3ffe0cbdbc9db51abaa37ccebbbd67e13e41cb9cbc396bfa3a2a7ef3bbb65c843eae4169bc6898383a1ddf4cbc8264b23d0e138cbc000000000000000000000000000000000000000000000000000000000000000077b929bcda1eab3a475df1bcd3a4273c158715bc6d2909bc8b2fddbc0333193cc90824bce1f5f3bb40a9e0bc9dbd0c3ce32c27bc76c2f5bbe336d8bc7517fc3bc98747bc17db23bc08eecfbcf9b3e53b22fc2cbccf094cbc85bdc2bcdff1e53bc2d842bc767202bca7a1b8bca99ff93b00000000000000000000000000000000000000000000803f00000000000000005567c2bc10ed843ff82eb2bc07b682ba93d657bcc394603fe7bd82bcf76e9139197b2bbc70b4393ffe517bbc77aed239afc814bcc841123f5cec85bc066c4f3acc2f27bcbc45d83e0ef893bcb9942a3aa40640bc94348b3edb5ab0bc0e46f23aaaf780bc10c3063ec717e2bc97691d3b0000000000000000000000000000000094f29bbcff2d123d3793d5bc1922b33a094cb0bc6464873cb15f09bd43bbdf3b2e2198bc75a6043c2cc013bdd536c93b82ea9dbc5b0dcd3bbb0c16bd6767be3bebc39bbcdc24003c78f40dbd6e5aa23b55bd9ebc3c60663b82ef11bdbe63cf3bff5f9cbc0912283b36dd04bd8bdade3b362a96bcccc7413bc437e9bceac1183cd6bc50bc8244813c0ea2bcbc7997f03b9a7b4dbd97f0843fe862e23d3ce679bc898247bd4a0c763f2e5bc73d4f5049bc38181fbd1c0f543ff78bad3d2f473cbc87defdbceaa52f3f0c6e8c3d3b252ebc8a71dfbcc3560a3f9fd54c3d35fa0fbc020dd5bc9937ce3e0527ee3c6d95f6bbd444d9bc6034873ea2bf123c6601cbbbd148d1bcb95b043eaf1b5fbc332151bb77a6d0bccdb3903c11b8e5bc405d61bb9649d1bca9c8303d15e480bcfc5a12bcb157e1bcc749153df782edbcc43b18bb1fc9bbbcdc87e03c4b71debc0254a6bb706ac5bc1d0abc3cc25f0fbd250417bab7c4b2bc946bb53c6e1304bd1fe5f9ba78c7b8bc338c8f3c8ee510bd24a71f3b7a30a1bc9a838f3cf11af2bc6af31d3a4d0aa4bc73b89a3c417004bd32370e3c061c68bce751cb3cdeb6a9bc76dc893bc7925fbd63a7613f002a853e94f1e3bc227a75bdbd9c533fd5216e3ed4cfe9bc811c3dbd8e57333ff5d04f3ec27ecdbc57a52dbdd9f6193f23502a3ec326b8bc492015bd0b1ff23e8091023e7feb9fbc341c14bdd287b83eb0a3b63dce6991bc52ae03bdcf72753e87485c3d03d987bccc210abd6944053e4ea0213cb95a3fbcbb05e5bc7487eb3c4a4f89bc2a0131bc9a9fe3bc144b3f3de40094bb3b56a8bce4bbf6bcdf31283dddb09bbca8985dbc2bbedabcd8c7073df924c9bcc6b74fbc476ecabc4f5fe33c32a6e4bc273a21bc14e8c2bca590d53caf50e2bcd94408bc386dbebcc21fbd3c1e77fabcab0ea7bbb9aabfbcbc7eb63c63e5f7bcfea1bdba5807a7bcade4c23c69f6e6bcac2e6b3b432f81bccbfbf03cd41d83bc3f8a31bb2cea59bd0ef0393f7615d33ea2da22bd560a74bd60b62d3fd215c03ed37c28bda2dd51bd2515183f6079a63eb42115bd05c037bd536dff3ed32e8a3efe8c08bd06902cbd3bcacd3e22f2593ea35702bd732d21bd6fa09c3e34bd1c3e5941e0bc065f17bdd6e5563e843ec13da4d0c6bcc82b0dbd1c65f13d92af1b3d0ed0a8bc9c55f3bcb2fc0a3d408abfbba9daa1bcdfbad3bc25ae213dd3a8ab3b1745eabc138bedbc353c143ddf7de9bbc9a8babcf65acbbc1956ef3c95a967bce5cca6bcf0d8cabc7cc7d83caf7ba8bc6eca9fbc08a4aabcb76bd13c311d58bc0269a7bcc72fbfbc6f32b63c2c41bcbc82d760bc4143b5bc1521ad3ccc45b5bc229c13bc5efaa5bce64cc23c5c12b1bc956e67bb74ef83bc2751de3c8e384ebc0396f5bb97d43fbde4b7113fe4bf103fd84642bdf9e553bdeadf063f9fff043f890d53bde4f534bd3c6eeb3ed0f7e43ea2ab38bd33762ebd0a1eca3eb670bf3efa6b2cbdd58909bdc4a69d3e3f54943e540710bd482216bd82c77b3eef0a603e6a0813bd53f606bd00492c3e1afc0e3e934ffabcde6d0bbd89f7c83db7bc853d0905e7bce0b2e2bc7095ef3c2b77fc3a48bdcdbc3157c9bcb8cfea3c8f2b483cb6f508bdf361d0bc186eca3c1d6638bbfed1e2bcdefabcbc52c99f3cedf931bc778bd0bce17ab6bce53a833c92ed7fbcc63abebcb3b4afbca0465a3c81428fbcb5aab2bcaf91acbcd1ee4a3c6d12abbca29683bc9d7ea8bc0214423cd72eb1bcdcdb34bc7f1c95bc2e295b3c04d9abbcc78761bb73557abc093b993ce02418bc20fa14bc23a524bd8318d53e1f9d383f49ac5bbd730d33bdd80ec53edd102b3f328d6cbd5c8e1fbdec23ae3ee276143fcb9a52bdf52011bd5112943e33c8f63e60e240bd50d10bbdcb14713ef7c4c33e93c331bdaa4ffebc21d1373e96868f3e1ee31fbde117f0bc3123fe3d796c3a3e3a7914bda623e0bc0f208e3d700db23d576cffbc3f0bc7bce523a83c600c063cf698ecbcb4d199bcf58e533cbda15f3c0c1203bd867d98bc5848243c95fd2abbe09aebbce9b675bc1affee3bbc20c7bbd4a8edbc42b698bc9fce863ba3f37ebc6304d5bceec089bca88e5e3bf39f59bc6424cebc3fd990bcf510df386b2aa5bcbcc590bc75fb81bc4645023bfe3b8bbce77a70bcd6017dbcd829883afaf0a4bc63a57bbbba854ebcee22f53baa93fcbbb16de4bb8108eebc9192863ea2ab603f967b5fbd8f68fdbccf80763e02e4513f370574bd4ebadcbc29b45c3e803f303f346d44bd40d8cebce31a3d3e1ed6153f6eed3dbdf4d3b7bc9a1c173e628ce93e021924bd77b6bcbc787ce73d7f25ae3ef95d27bda709acbcbf3d9c3de66b613e27fc0cbd77f7a3bc40c51d3ddab3d53df48f06bd68d791bc55dcee3ba796d03be4b4e6bcd0a328bc9e7967bb9130533c353e04bd8dd9cdbb57d9efbb112249bccdbac3bc4bd3f8bbbbe102bca52f87bccfccdcbc008d06bc92a523bc2b4490bc2a4adabc068443bc92af2bbc561a87bc3cb9c9bced9a0bbc4da550bc74bfaebcb3ef9ebceaa829bceb6c58bc1c52bbbc3c1c49bcce2129bc2f5043bcf509c3bcebcddbba47361fbcbeddd7bb98b2dcbbb10803bc4f1685bcd25eea3d7ff1843fffb353bdb8ea65bc0bb1d53d05fa743f44494cbd716a5abc3525c63daaad513f39a12abd446244bcd103a93d3ef12c3fb9bf16bd14541dbc0d15833deb8d073ffa7c0abdaef84dbcb6db423d99c5c73e540a05bde78c2dbc759ae23c63dd7f3e0dfdfabc118325bc9138fd3b4f8ce63d0841e7bc82a627bc7d140bbc88aa5d3b9a42f0bc000000000000000000000000000000002178293a363878bc837610bcd138bebc874c033b927484bcf30091bc971991bc8c64c4ba30906fbca1f37ebc4597a5bc9cdf51bbf1a484bcabc073bc88aa9cbc97d88fbb65be8bbc5ca392bcf2f371bc754291bb8da692bc4990a0bc9d942fbcd2b9b5bbca559ebc61d889bc0e99fabb0000000000000000000000000000000000000000000000000000803f0000000079d00fbaac6e90bc54b4843f8190e4bc3fcd6e3a4b5912bc3633603f1fb49abcd3b365ba0d4ecdbb81ae383f920e88bcc15ea3baa623efbbbc7e113f3e7d88bceafeb6bacf970bbc58ecd53e1a4d8fbc067282ba190d38bcf486893efe0e8bbc5c70dbbaf0188bbcece4003e5723b1bc00000000000000000000000000000000000000000000000000000000000000005652bf3ce6d74cbe3440c73cb0e1453b4aec973c39e04cbe45e0a83c3156923b320a413cdb0a3bbeaf29023c7977df3b17e21e3c304c1bbe094ea63b93f7e43b4679e23b5f09debd281f4d3b7c1ea03bb34aa63b274078bd7c842a3a9d596e3bfce4223b3e8b5bbc2933f0b941840d3b00000000000000000000000000000000000000000000803f0000000000000000650cd7bdcca4aa3f1f73f0bdbaa53f3c29627dbd14fe8d3f0d299ebd12dbc43bfae939bd1c136c3f7dd174bd544da73b6b16e6bc2c4b323f541a30bd5869603beac943bcff3bea3e56fadbbc9fe6643be50d4a3b5d156d3ee51faabb5f11333ae9a63a3c124e6c3c2216c93b39c7cdb9000000000000000000000000000000009ecae03b6e64d7bda5913b3cfc3f063b44accf3cff7836bee442f73c18e49cb8cf97a23c1a274cbe0ecc203c8759053c2f33933ca9eb41bef9dd533b2dc71d3c88fa833c62131dbe90dc6bbb23101f3cfeb25b3c9b85e3bd0604b5bbd400193ceccc2c3c46007bbdcee4b7bb298af63b67e6ad3b59603bbce96c18bc3675ac3b7accff3b0575533c6a17d63a895a373b7b7038be8085ab3fbee06f3c471377bc78481fbe3aca9c3f5eff913c2afe92bce98e09becdde8e3faada8c3c1e5b86bc36c2d5bd21e06b3f5e659c3c97d169bcc37b9bbdbc0e323ff1a2b33c36914fbce72147bd2f3ceb3e46f5bd3ccd3424bc6f8cbabc679c6b3eb680b23cf05801bc1fa7f13a7274083d7e7bf93c0a04fdbb1135433be9d9e1bd72ee6f3bb38df9ba978933bc957244bde41e3cbb1351ae3ab0d7053cc2cc03be9de886bc6fe2203cef24003cd7761abe8151efbcffb35e3c810e273c1c021bbe9ae3febc2838823c64a1253ccafaf8bdd6f2f0bc8231523c771b363c354fc0bd7e98ccbc54835f3c059c393cb5855dbd72c184bccb4c2a3cf28d123cf7f298bce6e31ebceee5003c80c1db3b21a1a33b4c7aec3a75e6c43b8e762cbe73218e3ff5fb663e92795dbd387c38be38458e3fd1094f3ea9a15fbdd4d61bbee6f57e3fcb0a393e17443bbd25cb01bedb02563fbd48183e0fbb20bd3cffc2bd5eae213fc060f33dad7bf1bc295b8cbd50d9dc3edc3bad3db2a0c3bc061c2bbd90cd6b3e14df4f3d861f6cbc2de78dbc299b663d8502ac3c096ebabbf50b10bc89295fbd0bb019bcc07039bb43fdbebc016560bc02e2d8bc32860a3bb05f88bb4d4babbd5cdb57bd22628a3c89d6083b1d89e6bd5bed87bd5dd69e3c91c85e3baacfe0bdc6eb81bd34e0a63c2a8eea3b6613c8bd99b072bd0a51953c9da90d3c503b97bde2b62fbd3c878c3c2ba5203cbe253bbddffdd0bc3b5a4b3c51a0283c1f1898bc2d8e1bbc050f213c1e57d43b519ab53a9e398f3be31e933b4a3d20befdba6a3f5cfce53ea84abfbd606e2cbe74ef693f2224db3e56b9cabdd6d315becade543f1c5ec03e16b1abbd08d4f9bde0b3323f89ad9d3e07e38dbd290dc9bd76c80b3fa39e6f3e66805abd67f396bd32f3c13e5cbe213ee70118bd120847bdb8495b3e1dc6a93d2b23b2bcfb17dbbc9d1c8d3dd48f973cb92700bc5f05a4bcfaa3c5bc41b106bd084a44bac11ccfbc769be33b72f030bd2e9f703b0ace31bc78ab2bbd9705bebd2a05b63c292ca9bbd86983bdc305cebd8c9bb43cfdf3493b0db69dbd0561d4bdc492c83c6aca31bbf54f62bd721397bdaf364d3c2061be3b897a60bd0e3088bd202da23c89fb9e3b784d03bd99d10bbd9cee583c743b083c748672bc9dc03cbc08fe173ca849b93b2f7ccc3a9ca7313b1e74063c1c7501beb640303f1b902f3f0e0b05bec9b20abe23192f3f603b293fb4070abe5706f3bdfc561f3f6d87133fca72e4bd539cdcbdf3dc0a3fc308f53ead6dc2bd9d589fbd9759d33eb7c8b13ee8b181bde7428abdfbc99f3e03b36f3e576046bd054443bd1c8e3e3e1b5eea3d7153d4bc3feb00bde783a33da992513c521981bb2f16b4bccd0286bb47ef4fbd725382badbecb5bc9d14af3c0ea785bdb67d1e3c359c11bc451269bc917706be3555003d148e76bb973315bd084f17be826e053d2227a238ef9836bd5ac40abe4a21ed3c6aa3583bfb833abd8989e8bd5e11d23cab78903b896813bd1dcea4bd40a5b03cca02ba3bcc8bcdbc790942bdbdb8863c7637c43bdf5c5ebc3ff65ebc16083b3c7e9d4e3bdcad863a90b98c3b458d0d3cf5debabd3031e73e56796a3f0e8c22bea6edcabde661e73edf83643f01bd2bbea08eb9bdad33d83e3375493f593c10be4c74a1bd4bcbbc3e411b233f2e3be4bd7f5688bddf279d3ec160f33eb977aabdf3955cbd60406b3e3d899a3ef2fc57bd267b27bd34941b3e9aac133e345cc7bcf4f6d8bc1f5b993d4ea4253c205fae39ceb395bcf676393c5a5a92bd912add3be0dc5fbceb38e03c091abbbdaf4fb83c401ee3bb1c40223cc9d82bbee548293d943da739fba535bc590538beb1d0193dc82d603b5a9c92bca5612ebe7a2b103d994a733bc9f0b4bca74e09be2165c83ca902763b9639a9bc0527ccbd4e92c73cf8cd8e3bec7f67bc457a5cbdfa417d3ceb77b83b0cf81fbc946a76bc2eb8093cfc9f8e3a01709d3ac5f12f3c7bb1d93be0f35cbddb0a6c3e3cc48d3f01a930be4ccd5fbd989e633e77488c3f00143bbe191659bd6dcd613e8812763fe4b31bbec20d45bdbd8b4e3e5bab493fc121f9bd4d4c22bd75fd323eba65143f4b78aebda3c50ebdd242153e3a42be3e114d59bdc248dabca3bbd23d4940313e66a7afbc5a44a1bc336e853db309c73b3e84f63b061f41bc9ec0a73c0c68c4bdf63f743cab1465bb67b7c53cdcd303be7b22fe3c3ab16abbe3310a3dc0a24ebe307a553da9455a3b9880243c1b8d5dbe6658363d77fec33b0089163a66b94dbe248e153dafbdb23b503348bb8f8725be5ce3e93c47867d3b297094bb1deeecbd32b4ae3cceef853bfcbde9bbf27f74bdda96353cc35ea2396393afbb1ab211bcdffe393a3f81273bbcdaf93a8a918d3c4e1d5a3b855e70bc070f853c0f40ab3f4e453abec8f79ebcb1fa0b3d6fd99b3f60a424bebf629abcf33c453d85438c3f91f60ebe6cd6a2bc81db6a3d7d67653f5f87d9bd549981bc5a52743d4dcc293f0ea299bd8e776fbc07767a3d7a87da3efe8c2cbd9ef44abce93b683d77b54a3e94c846bced230fbc00704d3d8f7c663baf7db03cb862c4bb3c438a3c257008be6e6cb93c000000000000000000000000000000008f7ee83bc33f463cff524ebe5b46113de923053c08c4ec3b11344ebea544f53c4c4d033c15fb36bacf2d3abe558eaa3c0c3dde3b2fb57fbbdb8f18be6f15733c1e40bb3b0f8b71bbcafedbbde1a7363c738e033bff3b88ba172f6ebdda9a943b7dbd073a876c6b39947044bcba6f883a0000000000000000000000000000000000000000000000000000803f000000001ea9433c6f6bdcbda5b5aa3ff7dfe8bd7d07933b216081bd4d278e3f60c899bd3c8f9c3b6f5a2abdd35c6b3fad6a6cbd351c423b40a2bdbcda23313f5ef523bdaf0b933b90f22dbc0b42e93e67acb0bc344d763b13022d3b24e4683e6190bcba11686b3b87be1d3c385b393c45b44e3c00000000000000000000000000000000000000000000000000000000000000003ad6873cf19333beca24903c579a553b081e8d3c5c9139be37eeaa3cc349923b4113263cc74827bec9eb223c4d21a63bdf65223cf97310be5a0b0f3c4693993b2c4f323cd7dfe1bde6483f3cc319223b0df3203c48008fbd8aa15f3c1cef8638cc7f3e3c965803bd97a95c3c9e1c06bb00000000000000000000000000000000000000000000803f000000000000000053eec4bd77f3a63fc07bcebd0e89b13ba30776bd48878b3fe7c392bde010623b849d37bdf0de663fc27b68bdf677b73a460e05bd9182303f1d2533bd2b6aa73a50d2adbc0242f03e90190bbd05a21f3b9e1820bc20d87d3e394d9ebc67e5da3a613e87bb2d301e3de35f0abc0b231a3b00000000000000000000000000000000660981bc10f782bd2f5166bc97d9153cb5bd2f3ce8e51ebe3462243c0d06fb3bc3ae3b3b812722beeb3badbb0a84383c40ec473be23619be8b2b15bcfe2e4f3c5238163b0c39febd6d4832bc055a3f3c0b289a3b2e51bfbd0f77f6bbe4182f3cd5c0d73bb6a05ebd77d8b4bb900dfe3b47680b3cfa5d5abca384a2ba1f70583bae97fa3b8a0f423b10ab8f3b7efc033b2cbc1cbe767da73f5d96db3c1d3b7dbca83c16be5ecd9d3ff7258a3c116378bcf937febd9c778c3f28136e3c60b85bbc20ccccbda964683f36474c3c6c8c48bc8d00a0bddf1e323f40ccfd3b2f1c07bc126c77bdf0baf33ebac0493ac4aebebb3a8627bdabaa833e4bbe02bbcafa0abb9c9d9abc70484a3d7421773b4760833a646aa9bc19af97bd975998bc5f5f603b690c21bd4902103c1cfd31bd8dc4683c1d74d3bcd0707bbdd31957bdfb23bb3c2f57b9bc928d9bbd83c373bddb9bc33c47589cbc37caacbd6e0b70bd9411ce3c2cbc9cbc3ac880bd66f156bdcb85a63cf9c21bbcc67f55bd19f836bd3e55b63c2b14ebbbafceddbc98c202bdb4b6843c949046bb05a68fbb2e169fbc625d5b3cb31e07bb204e813c9c1b18bc54d6193cdc090fbe84338a3f3c20653e6ec132bd21291dbeaf498a3fbd39473e5cbb36bd18f905bee6ad743fc0832a3ecf1b16bd1c03efbda855513f1ff3043e85d7f9bcb536bebd19f4213f2e4bbd3d08c3a8bc680ca3bd943ce83eb6a75e3d054d83bc9f1477bd319f893e3cf89d3c4297f5bb96aa28bd3481cb3d557635bcd73ba73914e20bbd67d451bc06aa16bd4067183ba92f64bdefa9683df7308fbd0dcd853c9cd630bd6b4776ba79d3c4bd0fa1023dbc1212bdc418e0bc3cb0cebd06df063db6fb04bd7304febc1c1ac9bde59c053d786feabce63ae5bcff58bcbd516d083d0a2cabbc0e4f9cbc0f1a96bd00ade83cead486bc8a2696bb70db61bd1c0cde3c014945bcb4cb263c56cd16bd76abaf3cf02f3ebcd715de3c650dd2bc40faa33cb28701beff0d613facbcdb3e745392bd9c6109bec469603fa614cd3e6bc899bd3f6efebdee684c3f74a6af3e00d181bd8f6fdcbdc9f42d3f1fc78a3e5b8f4fbd5ccdc1bd9d080d3f4f15483eecbc1ebdc5eba2bd0e49cd3efb66f93d2db6d8bcd75384bd4f02823efee9493d784767bc752c4fbd2938f53d71e55dbc6c250ebba1e931bdd70fd13cd3db6abd92125338b5b06cbd94e4963d1ef5a8bd8923943c50c047bd4507193d3df5ffbd1b96143d358e31bd166d863cbb0504be51320a3d1db21bbd20fbbb3bab8409be31fd253d939e14bda6d6583c150cd0bd37bdcd3cab10e4bca23a053c09a7d0bd2751153db2a7c6bc7d31913c84a493bd9b54f23c9a63a0bcaceacb3cc51653bd5927e83cfa9894bcfe8a143d8c600fbd8050c53c52a8cdbdf073293f0ca7243f1553c6bd5e49e0bd6d07283f15881c3f5151d1bdfe68c7bdd3dc183ffe0b063f7012a9bdfa36bebd84e2073f3cfdd83ebb7191bd90d995bd23b6d33e93c19c3efc2b41bd489893bdb624aa3e23da473e5c7811bdbfb76fbda39d5f3e08f7b93d84b3a9bc235544bdadf2f53de49cf4bb5b8147bbae0625bdcbcb273d1cf88bbdefd25e3ac3ae40bd6d8b8e3d896abfbd566fac3c98f928bdc59a4e3dae5723bedcb33d3d920614bd0d0dfd3c5e4c2dbe1f32403d0342f9bc80f0b03c978822be078d323d2219f2bcd6cd9d3c71c812be57a22e3d1462c9bcb803a53cf794ecbd6550203d72c7acbc09c4be3cf111b4bd570e183d9a80a4bc8023033dc17f71bdb9c7003d358384bc46a31c3dda241ebd6e44dd3c3b7d96bd873ae43ee7a75d3f42bbfbbdf9a4a4bd14a0e13e6eb6563f956706be51e49bbd828dd43eb34c393fff51e3bd8be78fbd5137bc3e59f3143fc8e9b2bd68f57dbd584b9f3efa08dc3e4f1887bdf8ec61bd1368773e9ca18c3e574b33bd642144bd25692f3e007e003e2d2cbfbc0c621bbdcab6cd3db05982bbb7f834bb673103bd0f09213d2168a0bd61aa313bec8efabca791703dcc8de8bdac90073d5abed9bc387b473d8ff33ebee0ff5f3d6235a9bcdc7e003d7e193cbe2544423df12f9fbc3577dc3ca65e3dbe81294a3de75095bca51fbd3c83b31abed91f223d16ca85bc9959d23c111b04be67142b3de26566bc4789cc3cb484b5bd0be2083d80dc7bbc58e2fb3c2a8762bd986af53cd29850bc1a1a123d43ce05bd8558d53c43c534bd3707703e890a893f946210be954748bdb43e683e81b1863f0f3d1ebe670e40bd4673643ea9d3663f3979fbbdb64d34bd1fe2523e9e153d3fd0cccebda0491dbd2b61343e25f90a3fe6c592bd822e13bd0c10153ed0e0b43ea79447bd4bbef6bc018ada3df2f92e3eba48c5bcb391c8bc7202923dffd39b3a809c033b7e75a8bc73f7ff3c988dc5bdf68b153c9f5f19bcae78f53ced7706be839e163d545f33bc34b8403d741661bed3c0853d8f38e5bb9793ee3c52395fbe2d285a3d7858acbb8e04bd3c65ff4cbe0696423d2d087abb1977a53c3ecd2cbe560f213d933ce8bbe69fa53cbc3f05bebd99103df333dcbb1096b43cd322acbd0068e53ce69e0dbcacbdcf3c46a70abd1bde923c12e6e1bbd208c53cbf2398bc579eb63c051d83bcc965073d7955a73f237821be3c9ca6bc84641c3d304d9c3f49e11cbe9a2ba6bc3ac65a3da7c0883ff5fb00be66ffa2bc7c67753db9285e3f8443c9bd3b7a94bc9bab6d3df2cd253ff7da91bd21d860bc6fce5e3d3bb1d73e86da3bbd634747bc03e4373df33b4e3ec26398bc9ab72abc2f4b243d38bb73bbaee1443cd2cad2bb2c9b433c270af8bd94b9463c00000000000000000000000000000000e22c083c2f81243b9bc534bead99043dd47f113ca40a153bbdad36bed15cfc3c9a9e113cccdb83bb9d2c23be982dab3c92490d3c3d3f8cbb871a0bbe2c3b963c6c20033c70730fbbcd62d5bd7bf5803c1cab7b3b9a29403bd1a483bd97b54c3c5951033b324fb33b390edbbc9065283c0000000000000000000000000000000000000000000000000000803f0000000083dbaf3bd35cbebdc54ba73ff552d8bd3228b23a9a9664bdc9818b3fcca996bd3154363976e61cbd993d663f538c72bdf914853ac3a8e0bc49d32f3f039435bd126db63ac9a28dbc7d26ee3e07bcf9bc21cb7c3adaa00bbc5f65793eb5e068bcd6989d3b9d7fe7bb8dc6133d64814b380000000000000000000000000000000000000000000000000000000000000000ea0656bcb5eeabbddd0b6abc52b9c83be60223bc174cc0bd931338bcf1168c3bba395ebc0edfa1bdcc6d7abc1f1c3d3b64e363bc0dba8ebde58671bc8626123bd4b01dbcd1597bbd3e2015bccd62a73afe3cb8ba4ae35abd06b72e3b0ec6823955ca363b1a1e1ebd3412043c216e16bb00000000000000000000000000000000000000000000803f000000000000000041ca56bdce8c973ff00b68bdda43a13a920705bd9d727f3f986120bdc9cda23a591dbdbcd669523f034d06bd2041ea3aad7c9dbcf1f8233f9054e8bcecf3e83ae82497bc2369ea3ecf60d6bcc658ea3a93647dbc96b48b3eafbabebcb2b609bae8daa3bcebfed33dfb52d4bce597d33a00000000000000000000000000000000c09251bde8ecba3c21d257bd080d743cb59f27bd7a8130bd80b943bdd6ce8d3c4f492ebd454b3abd6dd95fbda285913c776f2fbd8f401cbd7dcd68bdd6178d3ca80126bd1835d1bc77be5bbd0a1c733c98260dbda1c1a8bc1eff3bbdc32b673cf414cebcc0362cbc49550ebdbcad583c542e5bbc1408b7ba7c5f8cbc1f25163c6cd190bc5457993c1cca8ebcbf71183cf407c8bdbd31983f21f7793db05039bc0effb8bd7c3f903f504e4b3d0de632bc50f699bdc1767c3fe9d8393dc5be05bc71027ebd1317513fddea143d80ccc5bb3fc95bbdad6c233ff0e0a83cbc2e7abb7dc346bd23a9ed3e6613943bbaf312bb509d34bda120933e37da45bc0e330f39714c25bd1a67ec3d7698bdbcd3fc9a3ab58a2abd5899ac3b2ca62cbd50da4e3bdcbd91bdf466a93d4b95a4bd182ab33c21f497bdc074693d7014cfbd4c4ff93ca05b8cbd6a01353dfa6ecdbd9475e73cc9488dbde7eb1d3d9656dabd4e2ff63c66a483bd8fbe3c3d8707cabdb09be13c51fc72bd1a38303d76a8bbbdac6fe83c80064fbdbe11403df97e9fbdea77d43c80bd2ebd55155b3d0abd8abde07fe33cd2b314bd4d10723d686c52bd9cb9b43cb366bebd9b147d3f78e1643e2bdcd4bc12adc9bd20b2763fdef9433ebae6c1bcbbb6a8bd8c33563f1ee32b3ec82b98bc43fc9cbdde2e393fad30053ed30577bc0b078dbd43e8123f5234ba3dea4a1fbc6fc483bdb5ccde3e8ab24f3d3823d2bb1f2370bdd6b0933eda6c7f3ceecf4fbb987268bd89211f3edbd3d4bc0915023b29f44fbd3ad33e3de65142bd268f003bd96ea2bdcd24ef3d38f0c7bd1409db3c8257acbd0a1ad43d1ff806befdc8223d9570a6bdbbc1b13d5ba00fbe8ac5253da7279ebd42eda13d6eed0cbe9eaf233d51629abd11afa73dda700abeee6c253dcb888cbdfd39a03d016e01be2e07263d74b47bbd09e6a13d84dbe9bd1d9f273d4d5f69bd4bbaac3dd0bccebda8f2293dea693cbde9a6ad3de9d9a0bd7d76133ded0bafbd825e4d3f7967c93e3c9520bd0f15b3bd49a1473fb592b63e07dd1dbdc5dea4bdf2fe333f89e79c3e295302bd54c893bd20181a3f1de07a3e6299c9bc146a8bbd44f4fb3e645a383e0e228abc586f82bdd1f7c23e1dbae93d56e347bc4f4b7ebd63e6893eea83413d0dd1cdbb12d569bdc833253e17c24fbcf68a66bac9705dbda132923d8daf5fbdeeeb7bba6d7298bd42e0e93d91a9c9bdb457dc3c4e2aa1bdbde7e83da31b0fbe7e412b3dd55194bd95d0c53df27b0ebeea06213d1e6e9bbd10d3c33da3e41ebe28e6403d01bf81bd87e1ad3ddef0f1bd5265033d134c8dbd76e1bf3d2b5514be27fb4c3df34d7abd6299b63da5aef8bd88e5363d462069bdaa1dc73de666f1bd926a563d874e45bd6c56bd3d8a75bdbd85a0383d7c7e8cbd5dd61c3f2b23133fd4ff5bbd9f7b91bd458e163febd9063ff8a057bd96d683bda644073f937ee73ef9da2fbd5ae27dbda0aef03e4d8fbc3e42d40fbd450d5ebd618bbd3ead228d3e4a4cdfbc167e69bd41c79e3ef01a3c3e9e3fa2bc0faf56bdc847623e5044c43d8b9a5bbc376c57bd8208163eb2450b3c700ebcbb961c46bd2aea923db5214bbd59d885bbe2a06bbd1137c73d0006c9bd5228e83c28a881bd09f5d23d0ab21ebe377c483d918a7ebd16c1b83d14db2abe0724433dfbae77bd2cf0b03dfa4e29be67c7493de96d7abd2209b13d95c824be98e84c3d500c67bd8c33ad3def791cbee978523d43bc5bbd62e0b33dccf711bee26d673d1ccb49bdde63bb3da23005beec12783d891f30bdd476af3d6951c3bde0c9513d21ac53bdaf21db3e84ab433feee58cbd63145bbd22a2d33e7ed2373f831490bd57244bbdc052c33e8dc31f3f45406cbd0e513ebdb8e9ab3eb309013f9abe3cbddae937bde28a913e7255c33e8fe60cbd6a3231bdb2d6693e6377843e1bc7cdbc43e927bdad3e2d3ec58e0c3e940a89bc724325bd7046e63d767dd23ce1d80abc711019bd2dfd683d87b548bd39c7debb14471abd3fe48a3d13c2cebdb232083d2b7326bdc5bc943d955b24bebe32463d643f1dbd3626743dac501ebef6c62b3d58f51abd4a96743d39202abeac76423d6ea422bdf19e713d59dd19beeff9373d35611abddde5823d724719bed478553de8cd12bd49af7d3defb000bef2ad4b3dc3e813bd0530953da241fabd71a5763d5ccee5bc3caf8b3d5421babd65055e3da1d700bda83b7e3e47d6743f0f0ba3bd560a0bbd920a723e80c26a3ff7fcadbd5f56f8bcffbf633eb42e473f662b86bdfffff7bc36134e3e2819253f0e9d60bd2ff3cebcb5242d3eb6ebf83e618927bdc95bd4bc8c100e3e78abab3ead7d01bda916d5bcfe85d03d75ec403e5100b2bc3e29c4bcc2c68f3df3cd333db98a24bc03c8bcbcd8150b3decfc5cbdd915debbf0923ebc8701ae3c3c33b9bdbaf3b03ca5a564bc2b1e0f3d84492cbe6776353dcd607bbcf955e33c871c2bbe43a3143d5cbb7fbcbe7dca3c0ae122becbd10d3d7ecd82bcfcbacd3cc54c11bedbe9093d15c68abc3215ef3c58c006bed4d61c3d71be8dbced5a123d1cece8bd4fe12b3dacba78bca028463d7ac8c6bd1215493d46605abcc5731c3d154391bd594e3e3d7c5a60bca4f5993d9b9b953f50e2b5bd6c3784bc5cf09c3dbb248d3facc9b9bdcb3572bca3cfa33dd4a7733fff1a95bdfa614dbce9fb9e3d686b463fccb165bd724339bc21aa8a3d4ed4163f594531bdd1c544bce2e25d3df441d13edb9e0cbd4b9036bcc1531b3dddb0693e4585cdbc210a2fbce920c03cb5205a3d65f047bcb28902bcae375abad7095cbd1c6253bc0000000000000000000000000000000078e3093c771a7cbca404d6bd9736173cc3c6d63b0ed157bc4f06e6bddd62153cff35af3bfd8173bcbfcdc8bdf0e6933b3ebc6e3bef6570bcf577b4bd49c0a13b06db323b079934bcf2cc9ebd3362f73b5872073b9caf57bbf99a85bdc2e3463c6b3e913af11b3538d35d4ebd02de943c0000000000000000000000000000000000000000000000000000803f000000003124403b9cae4cbdc658973f64887fbdd522dc3a683de1bc2d1e7f3f84002fbdac14fc3a30fba4bcaa4b513f611805bde74f3f3b52bb77bc2784223fbf65debc5fa6433b77dd72bcf045e73ee871c9bcf423053b566a5cbc0a86883e05f48fbc88753b3ba18ea5bcb7eec53d45b29ebc00000000000000000000000000000000000000000000000000000000000000003ef2273d6b9a62be728a333d0a2a7b3aeb64073d063d56bed3ebef3cd474b23b6459dd3c214653bed1429d3c8c94db3bf52cbf3cc9492bbe09105e3ce2dec93bda75773c6853e6bd97ddcb3b2998513b5f47ec3b6aff73bdb07797baa7f610b93eda4b3b5d0108bc7e943ebbebe63dbb00000000000000000000000000000000000000000000803f00000000000000006ad7fbbd00d0aa3ff007f6bd604a6d3c95e9a0bdf4128d3f17c697bd676a293c8da17abd62456e3fed6b6abdea95193c46fd2bbdf24d313f921413bded3bf13bfd618abc9a69dd3e480c14bc8406dd3b7935623bf790583e52a8533c1424303b9ba6b33cc06e6abcc3a8fd3caa7af2390000000000000000000000000000000029cdba3c2190f6bd3e3c213d0949143b0224fe3c31c122bef6f2163dc561773b61aafb3cfbde50be2c45e53cf97a323c81baf03c6ac948bee9e0a43c258e473cf269cd3c28ff25be7bd25e3cc93f313cec40b83c7486ecbd5b0da63b91e11e3cc9e6903c5af47abd31b9ed3a98bfe83b77a40e3c27db91bc51e186bb5eb09a3b48d51b3ca629953c81a4c73b63e50ebab89145bec5d4a93ffa4ffaba8e3e22bccbc81ebe3000953f07f9f53c49cb8bbc7f6c17beca488d3f5ac93d3cbd2d63bccb6ff8bd011f6a3f6bea883c96e32abc6d34b7bddab92f3fe8c8d43cda5c3bbc770e6cbdac53e33e9ab1133d3fab34bcdb57babc7895553e702a313d4a4232bca7317b3b3106263db02d2b3dadca3ebc9719a03c5ffc08be634cfc3cd27003bc030917bcd7e840bde1f6d63ced29c93b1333433cd3b608be9c0a9d3c778d593cd9df843c2eba2abe463e323cd4679a3ca1cea63ca50e2abe2d2da83b2080b53ccfa5a13c1e3f0ebeb53aee3a5062873c7a2dac3c333ed0bd9b4be1b99eb08f3c4b18933c99476bbdaa3baa3a92ff683c8de6903c330badbce5efe33b5c9a1b3c35d96d3cfee9c33b7eaa3a3c3240df3bea872dbe7a59893fcfa94f3eb70e59bd02f63cbe143e8b3f3810373e803f55bd37a630bebd15803fcc81173e62352ebd1a7c14bee3ed563f97a1ff3d4ab315bdd2efeebddcec233f875dd33d9dd4e1bc01a5a9bd03d7d73ec340b83d712dd3bcb57f44bd9bc0583ed529873df1b3a0bc595ea8bcdea82f3d3f12233d7ee453bcf16518bc413973bdbabe693c26ad2abc03ffd8bcae954fbcbf38953a3e62293cad75b4bbd954aebdd0048abca613b33c1652643b0e1af4bd8574e3bc43dddf3c0e16973b15a8f5bdc461cbbcdbd5c93c797e423cae76debdd591a8bce5acc83c5b5f343ce401a3bdea1d33bc7508a63c3421533c47e53abd296803bb3aac873c99ef7d3cd9189cbca7ea0f3c86a5723c2637543ced328d3b009aa33c0eed3d3cd41c23bec5be653ff488d53e5f27c4bd19c92ebe4cbf633f6b68cb3e64adc7bd6a1925bea923543f8a70af3edd1cacbd23410ebe361b353f7033893e6b427cbd45a6f4bd3a460e3f67b1523eac424ebd2528b7bd03d2c03eb3f2143ee69711bda0766cbdc8fb533ef745ab3d4b01d2bc386c07bd516d843d62f7e13c846186bcd5fcd3bc33a6f1bc281c79bced6d09bc2b6f00bde349933c09a807bd88e7803ceca783bcd9eb21bd8ee27cbd5f4ffb3c15a8f8bb038286bde0139dbd8c64053d5c12a4397055a2bdf67b8dbd601b053d775c75bb13d384bd923344bdab74af3c0dfa963bfb5977bd50e7ebbcddcbbf3ca9e7ec3b7455f4bc0c9d29bce549a03ce0c6ed3bfd1987bc140d1f3ca3426b3cade5083cde56a53bdab69f3cf023283c323801be12d0293f6d102a3f4d9a0ebe3b590bbecc012a3f66c7213f06370ebe582c07be07ee1e3fdd570d3fe993efbd3e14fbbda9550c3fbe0ee23efcc5bdbde648c4bd502adf3e5910a23e73b77fbddfd6aebdf9f0a63e61e54e3e919f37bde1da70bdff94423e98f2c23d6a6eb9bcc6191abdb178b03d078a193c872d12bc0397cdbc15cd333ba98659bd58c28738730901bd43de1e3df75878bda982b23c02cf89bcd5197abbcf04e4bdad1d2e3d2cd410bc87a4f0bcd9edfcbd9821333d189ebbbbca651dbd579ee3bd79ec1d3dfbb221bb3f9f35bde9b0afbd77670c3d8607583a063820bd8c1e49bd5370df3c8229583ba286f5bc456784bcdc37a03cd81c823b262340bc3156e73ba516883c760f1d3b4a63bd3bdf10ae3c6d4e5f3cfa19aebde11dd43e4615673fd3a92ebeccd1bfbd0fead93e81055e3fdd6833bee7b7bfbdbfd6cd3e60d4443fcc041bbef77bb2bdbc50b93e8c391d3ff571e8bd5b03a2bdcc0aa03efd65e33e2fd8a9bd44c08bbd4e187c3ecca3893e13f54abd294658bd34c72b3e5e62ee3d1827adbc0fa915bdc988b33d01afd4ba7b908eba36d5cabc4d3ccd3c8296a6bd6621ad3bf491d2bc34b4423df859a7bd300b063db65352bc7f43a73ccebf1bbe33bf4d3d95c9cbbb37eeb83a3f3c33be69a24a3d7cda86bb446722bca3991fbe3885313d5cb509bbafa568bc7741fabd0370113dfccbd4ba7ca6aebcceb798bd7e19d83c2a0a91ba1e648abc8da1fabcb1798d3ce67a45382c271abca72c2f3b1f43463c7f19aabae676543a761ecb3cb82d373cbe2c32bde4ff4d3edd7d893f0fb837be2b3b55bd87904c3e4556893f6b3143beb41655bde142483e6448763fe2c427be782d53bd2c09403e43b0453fe671ffbd712445bd35aa313e9a710f3f1cf0adbd69d439bd2e191f3efac2ae3e9c6344bd939a15bd658b003e367f0e3ef11947bcd82ae1bc835ea03dacdb10bcbb41203c9f0a93bcf6ec153df29fc9bd9f63743c322011bcc2322d3db98b10be86dd4b3dfa1516bcfc85003dd9102ebeb3de553dcae040b8038b7d3cc6b353be73634f3d1d1d993bdeefa23b28d645be7f2d343d05ecb33a121e5dbb31a919bebe59fb3c6ea1dab960d2fdbbdc6dcdbd7b83b43cb459753a9b0711bc61c639bde18f273c67d411bbde661bbc08b044bb75b0b1ba3296aabbb2cc823b9c4dcb3c98045a3b97dfc2bb893344bbd7d7a93f466a4ebed51696bc58102f3d02b6943f4dfb21be4725b4bc328c173d51ec8a3f9dff14bea098c6bc965d533dbdb5623f8557e0bd99b6b7bce96f7a3dc990263fa09d8ebdc6b7c8bc2733913d8943cf3eb22808bd185b9cbca974893d90a4323e8431b3ba02fc88bcdffd663d7ca37b3cd45dcc3cf12a06bcc9b5073d334c1dbe606b103d00000000000000000000000000000000011bf13b9ad7b93cf4d85cbe01b9463d4bba043c194c3b3ce29051be4b951a3dc4683c3c0d00a53a5abf48beb22dda3c455eb83b6cfa3fbb308b24be3d0fb63cbcee703b801dc9ba9f64dbbd435a1f3c3549fa3a649cccbbf3c15abdd22087390405b2bb2f81cdbab80981bb3c57c1bb0000000000000000000000000000000000000000000000000000803f000000009694223cd84bf1bd4c9dab3f046300be5af4c7baeb5c80bd7af78d3faf2e9cbdb5786bbb19ca42bd9f03713faee67bbd940664bb22e6d6bc01e7333fc12f1dbdb9e15ebb562e9ebbc57ce23e126723bc44cd55bb3884363c50b6603e665f233c1edd323be095a13c3a3925bc8128043d0000000000000000000000000000000000000000000000000000000000000000c881223d1ad453be543e513da7a387bb3a8c143d284548bed1d62e3d56fff5ba3c65053d0aec40be64ef0e3d502ca2b9e0d90a3d335d1fbe14c9d33c293a9fb94f39d93cf995dfbd4a87873c1ee602baffe3933cf05165bd64f66c3b95c492ba5e47893c0df963bca0fc23bb79ed1aba00000000000000000000000000000000000000000000803f000000000000000007a1febdf947aa3f9e85efbd1b53213ced1ca7bd6e8e8c3f0262a2bd865dcf3bc18b90bd62466b3f879e7bbdd509893b948062bd32402f3f09552abd6b4f5c3b4b23fbbc202ae03edb1a81bcef191a3b6f6c13bc2296543ed276b93b1749093a39089d3bbe1c75bc0f8ef83c5154ffba0000000000000000000000000000000089fa9e39ac9ec2bdc08bcf3c36af2d3bdbf2923c6ca707be1918063d60746e3ad1588f3cf4f624becb05f43cf3d7763b45cac83c67e124be7ae3cf3c65f48f3bfd46c43ce23d09be4b94a13c1334993b986ebc3c5778bfbdf026423cc7f5083b2a74a73cafb04fbdea4beb3acacf373b27308e3cbe05f2bb6764c4bb9e09053bc0b9ad3cbc77083c036ad63bf9b20eb981f52cbe151dab3f228f7fbca1525cbb640c15beef36973fbcb76cbb6a89efbb4e2e0cbe64738c3fbf496cbc9d7cb4bb3b7bf6bd0a566b3f617758bcb28472bba397c7bdc4d4333f92e6b8bbff2763bb152193bd6d45ee3e2e26eb3b0aa2d0ba368237bd2bd8703ee7dc923c0212c0bac0a3a4bc05bb3c3dfb52ec3c81d880bbf4dc4fbc7954f3bd43b8e73ce7798ebbd03531bd3a17713ce9a354bc88ae203cb636a3bc42e283bd8bdf2fbb997a463c6fdf4abcfbc5c3bdc08720ba50273d3ccd6aa7bb0b98cfbdd63cb23b4097313c414bc6ba1f26acbd7b62033bd555203c9adefd3b408b88bd2056bd3ba6a08e3bc4413f3c565f03bd605bd73b20ab1a3b86665e3c52d1f4bb6b73e53b2842233b331f1e3c435b933c0fd8683c0f74b2ba0a34fcbdcd66883ff427263e60a7f9bc4ee916be1dad893f899c003ebc36dabc413e0ebe23d47d3f4521b83d226396bcebfefebdc750593f2d5f7b3db81384bca981dcbd3f602c3f8dda203d12261fbcf20cb4bdc65bf23e3c29c43ce0cc8fbb1aa186bd0d08883e70d55f3c3da8e9ba5daa3bbd3fedba3d48c7843b398825ba857e04bd5a2a7cbcc9d868bc1e07383a60fb99bd8f90b13d8d0282bd94f9a43ca61354bdf1fe4a3ceb6a67bdfbdfba3c85a822bd432d9ebcee5644bd5d4aa63c375703bdb974f1bca98910bd351d673c8384d6bc787404bd6fe4cabc1102663c1f7382bcfa01a5bc29e84bbcf3dd963b23aa1abcbc2f37bb1caeecb92455773ba87418ba543c1e3cdbb2173ce91cb7360d5eb2bbd571f13c6499983c3b5d53bb5ffdccbd88c75b3fa82db83e7e0f68bdc234f3bd69745c3fcaa1a33e3c2a6abd25adedbd36184f3f85e57e3e9ac733bd1be0d8bd3e2b363f409a313eece8e9bc950dc7bd5834173f504eda3dc104a3bc26dca6bdb3a8de3e693d613d3539dbbbfaf089bdb7ad8d3e5f60cf3ba36eaeba113f4fbdf7a5063e57a501bdf8bdbb3b806f2cbdc7fa283dce1a81bdcde8ec3b24e3a8bde606013eb089e2bd62ddf93cf5518cbdf11f9d3d7e44f4bdc1501a3da14871bdca82403d9c92e0bd5e91ff3c576553bddde2e43c99f2b0bdf0a7e43c7db23bbd0fc00a3d3e848cbd081b8d3c60fa04bd6da2803c2ff10fbd4e15323cbb7dd0bcaae1e63c907e85bc8558e13b61619bbc2af4f53c2ce6963b015ce9b8cdf79bbc59b5383d9605743c0c35c8ba583e99bdc15e1e3f33a41a3f04eeb9bd68e5adbdb445203f4a270c3fe450b9bd8482adbd6a2b183f17f6e23ec1d58bbdff0ba3bd8c7d0b3fb78fa43e5a8848bd072991bdeca6e83ec729543ea99fecbc19678dbddb35bc3e5000c43dcca33dbc692261bd3784803e59bc593c84ab413a514138bdd0ae193ed11e72bd7ca4353cadce19bd6537933dd3fae5bd3d0c873c6b6494bdf875023e971e10be1e43223d7b8f82bd9dccc53d2b892abe9d95583d001060bd7aae8d3dfa6e20be07dc333de9784bbd10836a3df0d602be73210d3da6962ebdd4683b3df8f2c4bd8fa9d93c1b320fbdd5a20e3d58e15fbdb1684a3cddfbe7bc1593033dd712a7bc76afa83b18dcb6bceae3093d2b3d4d3b0d10e33a1c39c3bce1a6383d15c6673ce18d58bb982c3dbd4c69c23e0f765a3fb4bdffbd018462bded1cc93edd3c4b3fecca00beffeb6dbd8b17c43e8d122a3fbbfcc8bd658d59bd9427b53e1c8bfd3e2bf78ebd733551bd15a3a33ed586a73e2b962dbdb90142bde469893eccce2c3ef5d68abcde1e2cbd74704f3e90f8103d891e0a3b0f2910bda8600b3e40e98bbdc3788f3c1213cdbcf3dea13d10900bbeed76a43c878c4fbdf5f6d43d45cd1dbe7239463d5c7c3abd10fab53db5534abe7476783d774d20bdc2af953da64f4dbe323d603dcd4b0bbdc8d57e3d541e2dbe674e313de3b7fcbc155d583db01f07be8d62013d632ccfbceeec193d2121a4bdc857873c5c3fb1bc8f7a0a3d95de16bdc018e53b17488abcc1cfbb3cdf9c87b983b798b9583099bcbc080c3d32b5993c2739bdbbf761cabc7c19313e5b34893f719c16beccb0fabc5d58343e2f70843f5fd31cbebab0febc5aed363edca6623fb97cfbbd5e4d00bdb93b343e88622f3ff734b8bd6197fabc7d1d2b3ef70cf23e4d5c60bd06e5f5bc6354203ee597873e2fdaaebc55f6d8bc4af0053e04a7a73df2f5453b0c79c3bc10cbce3dd91d76bd468bbf3c9ee094bcc86a8c3d60ab1cbeefd3fa3cae63b6bc3730713d1eb231be437c7d3d0f1dc3bca5f9833dbb3546bee97a813dcaae99bc05c25e3d98d356bef34d653d10d97ebc8579453d10f543be02d2423d732e5ebcf32a283d98a418be802f033d7a2636bc036f013d1689c1bd41de863ce5100bbcab87a13ce3252ebdc096bb3b490912bcef1d5f3c71abd33bfac411bc35c017bc8388983c1176993c23524dbb911bc5bb6efa49bc2540ac3f5a543abe73f70cbc30ec9e3cc2bb953fad3918bee74f46bc312bc63c796f863f6c3f02be38965bbccd06073d0a14573f7213bfbd4e664fbc248d313d42261a3f5e8464bd26354fbc32725a3d88ebb83ef319abbcb7d54ebc0fdb683da294103e8512f73b28124fbc0a2b723d880ce8bcfe9d0a3d605fd2bb0315153dbcff3bbe57a33a3d00000000000000000000000000000000d96d933b78e6853ccefd45be9b11403d85f3a23bc43b9a3cd28f3cbee76a1b3d1e40ba3bd0a2653c7a1e34be7914f13cd2620b3cc3c1383c3ea813befbeab63c358cc63b6fc10a3ce891cbbd884a4c3ca2289d3b2d49c23b4d0347bdd6a9633a6b8e463b2b6e023bd233babbf5fb8cbb0000000000000000000000000000000000000000000000000000803f00000000ad9df53be76be7bde5f5aa3f66cafdbd6cde413bd15691bd22e68c3f9e65a5bd21c6803abdf377bd42c66b3f451f81bd03cd403a90cd32bdee56303f404f26bd8107673920f0dabcaa3ee23eea3c73bc757669b9acc01ebc197d5a3e7ef5ec3b7a57853b25129138ac8bfdbb6382ec3c000000000000000000000000000000000000000000000000000000000000000063baea3c6da144beae22333d0ee459bc87d8123dbb424cbe52ff173d5a9a15bce24a0c3d10863dbe7422033db93f21bcc20a1e3d950b29bea958f73c5d3e12bc3eae213deda708bee6b9cb3cf7c409bc7fae283d0405b8bda488913c5260e0bbe55c453d97d97ebd0ba0993c32f60dbc00000000000000000000000000000000000000000000803f00000000000000003d8aedbd897fa93f04a3c5bd1c70d73b11dab4bdffc88d3f2ab983bdbb282a3b9456a3bd82726b3f619a5dbd523c033ba50c92bda001353f446f2abd6842133be0bf7cbd1234f53eb16bc4bc43069a3abb9744bd081f7e3e8d3504bc735e6e3ad89141bda9531a3d1a2e073c0e80cbb900000000000000000000000000000000b9d25fbdccf1c9bc3274183b7a26a5bbdc4982bccb59eabdbb9e683ca84fd4bbf49489bc77d8f0bdb0e0333c796bd1bb395636bcca61f2bdd166393cd4d4c1bb1a5d81bbe1b3d3bd2f43533c506edfbb09c7113cdbdda8bddf72463cd91edcbb5f16493c3e4b48bd36db203c2be0b0bb4c33df3c5c7195bcf8a6bb3b5f77b2bb21bec63cdf4084bc133bb73c0b25ccbbb7b2e6bd536ba93fa49988bcdd5394ba4e37e5bd15879e3f05c1b4bcb366e0383415d9bda40e8e3fa119c7bcc4176838ed13c4bd6fc46f3f8129d0bc5eeadb3a5757b3bddf843c3fbb85edbcbf356c3bc388a7bd25bf053f2cd6d5bcb8d3ae3b4b7c92bda4059b3e18cfacbce7f8933b303c6fbd305abd3d643248bc42cdc73b440e90bddd6535bc48deb8bc0dd3af3b438addbd39460f3eb93d8dbddb62ed3b62afccbd87228c3d68cf50bd95ea393b759eb5bdbaec1f3d106c49bdd5cf7d3a5ebda4bd38dcbf3cdc560ebd58b011bb591897bd3a56e43c7250f3bcdd4377bb62796dbdefecc33cd4ea63bce616bbbbfbf03cbd9922033da9cdf9bb73aca3bbcc9109bda2270d3d930cf93b486209bcf59e2abd86d78b3d740e663c1054f4bbdf645abd9ee2833f800f083e375c73bc43d079bdff47843fb776c63dfacf2bbcfe9e7ebd3af2713fc66a8d3d55ffa6bb054e66bd47dd523ffe32ff3c0a89033a912161bdd9272d3f4dcd903a13a4cc3bd93759bdf6a7043f1cbfe4bc7bde133cd0915fbd1676b43e020b52bdfbd0563c60bb4dbdcf644e3e780a92bd3e15893c86c34cbd80d3ca3d8029c3bd57097e3cd3960cbea1cb7a3e7ca715be78edd83c063209bea5cd423efe310abe8bbaaf3ced3ffebd7e1c223ee7d2f9bd82da903c6dadf1bd4016123e43a4d3bdacc5453c75ede4bd330e0a3ef4d1b5bd28d40f3c0bfec7bdf3d1013e9fb97dbdf55c323bd568b8bda2e5fb3d06e731bdb45e4b3846e89bbd2911e83d2e4f9bbcf77d5bbb9b66a9bdacd7133eafcd67bc490775bb3d54a0bc020c483fc3049d3ebbb3febca6d59fbc4ab3453f0f14883e0efbf5bc6d20acbcb6df393f52384f3ed5809ebc089aa0bc079f243fc0f5033e107530bc7e9695bcc4fd0c3f4cad6b3d65aab53a21db99bcaf2be03ee7bb78bb4898063c763a95bce48ea63e1fd788bdbcfb703cf273a5bcb060613e4f4df7bdf121c73ccabff1bc7ed9153e9ea91dbe7134bc3c823e08bee900883ebaa355be3684473d69310cbefea2803e6af158befba2333d9ec5fdbd2e6a5f3ee80749be849c203de657ffbd0a5d523e7e1a33be1409f83c2c41eabdce964c3e8e6c1fbe81bdfd3c1255debd51be3b3e54faf2bd6d649e3c5c61d1bde464383e5de4c3bd7952983c6a85c2bd8a972e3e7e817abd07ec0c3c749fc0bd42223b3ea2695ebd21e8583cc82d22396753093f3a4f063f4c4f5abd1349c73be2ff053f1e5aee3e35ec52bde58befba9a51003fea2dbe3eae2d13bdd6fc933ba9eae83e437a863e6aa8bcbc0ff1afbb77b7c83e596d253e640419bc6a3d433bbce4a93e493b533de486073bc1435ebb3643843ec2c720bdaaa3313c7b81a839b36b433e2f8403be147ac23c50e4e1bb0b2a093e7b833cbe45afe43c7de5d3bd53bc6f3ec9b978be1c588b3dc2bfedbdfa35723eec0988be0f8a893de8dddcbd5b81583eafa180bebbd17a3d51c1d5bdfdf2483ece9a62be538d553d2c81cdbdb546423e8e6947be2e353c3daf27bdbd9252373e17ea1cbe754e123dd6f8b8bd8b742c3e38b8f6bd1021f53c1aaaa9bd9533263e5292acbd8f0eb13ced68a5bd448b323ec3b39dbdb0ecad3c8e3c223ca95ca03e708f453f3fa8a4bd682d8d3c35199c3ed689393f2692b2bdbec8853c55b4993e216d183f7a3590bd592e6f3ce1fd8c3e8947e33ebf494dbd56116b3cd2017d3e50e9963e657a00bd75f65f3c2c3c563eb742163ea60a6abc58da533c8f762d3ed76c263c2340063b35394d3c3509033e1e9bd7bdfb028b3c409afc3bb277b43d31543bbe0d06c23ce3bf8cbd2b1d2e3e109a82be24c5ac3d6dce9dbd9864323e8b2498be2bdab63d6a7d95bd9f91233e372c94bec04fa63d06e88ebd17991b3e87eb86be4841943d19bd8cbd7f40153e29566abe79d07f3dc12087bd93a20d3eaabb3cbe92e8563de0da80bdc2bf083e2f0216be0fbd353d57187bbd188f013ead32d3bd6c820d3d6d5268bda3bc093e3c7db1bd234ef83cff00213cc6c3ff3da098853f3228e6bde11b813c94e5eb3d08d9803ffe4ffebdf8f06d3c265afa3de225593fdea4c6bd917e713c42adee3d1a1e293fd8879cbd7b6e893c2caadd3db3a5ed3e6e404bbdc5608b3c1e63c23dad598b3e3aa0f7bc0a69863c0b5aa13df2d7c23dcf620bbc197e8b3c5d387e3d3c8e87bddb9a323cdb667e3ccd57203df94b28bebc1cbd3cecd5e1bc388a953debe166be1657af3dd48717bdd3edd93dec8b92be86fbc33d353f08bd7a5bbd3d24988dbe9fedad3dccd50abd619cba3d5d3e84be65c19e3d77ba06bdc136b23d580861be9c4e8b3d8c5504bd0f00ad3db8cc32beb7c56e3da8ef03bde9b9a13dc80cffbdcdac493d6c3f06bda5cda53d608091bde28d0a3de63edcbc91c28a3d3c7aa0bd4a8d343d7a2aa83be7e59fbc5720ab3f09f71dbeb2fd3a3cdef183bc543d9e3f5fbe17be26da323cb541dfbb0c4b883fd7eef4bd9dde413c83469b3a12285a3f0022c0bdbea8533c6140f33bd07a1f3fbc3b8cbd2bf3543cca70283c1257c83e484335bda548723c3914733c77a02c3ef03fa3bc1844513c7616be3c0dfa0ebdf211c03b5f2f5a3c50093dbb586610be276e4c3c000000000000000000000000000000005a8f303ca8ea9f39fcd73fbe1332723d2493d13b782a3c3c15993fbedaa7553d8f08ec3bb498dd3b653430be5142393d1c49e33b61e9f03b20b519be9adb2e3d7ab8fa3b434e313c3893efbd6bf0143d822c153b18266d3c00ea94bdc942eb3caeaac13be438123c909b3ebdf5f2053d0000000000000000000000000000000000000000000000000000803f000000000066803b6130c7bd822fab3ffe6cf8bdd75e883b552c8ebdc4908e3fcbedb1bde2896c3bc93d6ebd8f836b3fe5f48ebd81c9ad3bc6874dbdb322343f13016abda668d03bc64b2fbdfd9af43ee6081ebd2fd0eb3b3c32f6bc08cc7d3e6ff2a4bc207e0d3ca95d00bd35cb3b3d15101ebc000000000000000000000000000000000000000000000000000000000000000043bb083c2f9cf8bcc31c09bdb303ed3b1ecee03bd2f511bd155dd8bc2e66af3b0774c73bf1d304bd9f3fb8bc3f2a963b75df633bb186f4bccd9d98bc18b9b03bc584963adde4e9bc3f8380bc5dc8423b87bc04bbaa86c2bc0d1638bc0a43523be51d73bbf11085bc364b11bc9776e13a00000000000000000000000000000000000000000000803f00000000000000001bed39bd79b18b3fca7ba7bc9b10dabbc707cabcc2df683fc79338bcc5d994bbdad36fbcae933c3f782110bcb6699dbbf9bf00bcbdcc113fdeed20bc9e0471bb891269bb5304d23e7ff068bcd58218bb2b3f30bb4ba8813e0f3694bca516503a28566dbb481fd13d5a19d1bc0754883b000000000000000000000000000000005c28343b0e55643b3ce5efbcc0b0d3ba88bec33bd08ad3bc09f523bdd089913b63921a3c8ffb04bda57c17bdc977853ba3640f3c62d505bd5e9c03bdabb25b3bcc02cb3b53daecbc870ad2bc1ca2813a7999513beb87e5bcf263b3bc5471393b95f78b399c1abdbc94408fbc40b60f3b3e438fba256664bc720c2dbc6dd7513b0bac7238acd52cbaa5e1d0bb48d4f739c000a6bd96a18c3ffcb4e93dd334c7bcd3c5adbd14fc843f519cd03da586cfbcbdea6abd324d603f8367bd3d404fb0bc6dce1ebdf50e353f10d99c3d989e92bc7c06cbbc6f1d0a3fca246a3d56fa65bc8bcb91bc66ecc63e18910e3d96b83bbc39ad55bceb8b753eadd54f3cb41407bcaff234bcaf5cc53d852c50bc1e2445bbdfb1ffbb35b288bc4085cfbca04818bbdc40b5b9e2e9733c67839fbc8dd71abc466ca23b194d30bb0d9c08bda9fdbebba477f73be5bb4fbc3464fcbcb25f61bb58e0233caa579fbc599000bd698fb0ba453ee63b096088bc4491ccbc0476d8ba26abbd3b20928dbce360d8bcf95feab897b4383bceaa59bcc2238abc19933b39e03dfd3a12f2e1bbed8347bcae55de3a31af263b05310b3b1f6db7bbb7d5b339227ea4bdbdde6c3f9b7b893ea9bf1fbd1e09bebd3c6f633f2c537e3eeb5a3ebd34a174bdd72d3b3fe8825d3e040116bd6f8b56bd4ea01e3fe770363e191706bdd9fb06bd179af03eea0c0a3ee91bd1bc9352e6bc48f1b13e33d5ba3d3037bebc64d89abc8c285f3ef41f5c3d029797bc6cf677bcce00c83dd004313c7d7584bcb42d15bc535c63bb1c3e8ebc381e37bcd4401cbb39129b3c943131bc838d82bcf1ac5e3beceefd3b1335cfbcb3637abcd570e33baa20c7bbb59afebcbda61cbc85edf33be68646bce43efbbc2315e7bbc7a4de3beda349bc48c1d8bce22bb6bb5a62b03bd31867bca63cb3bc1d1d7cbb427e443bf15a37bc7ff898bce2dd05bb3020293b0c2eb0bb597146bcb741beb94b670b3be4e2f33a907aa4bb998d88ba5d9490bd771d413f7edbd93eb9ed4fbd9499acbd90bd393f5be9cd3eca0084bd402b89bd7161203f2908b13e716b5ebd1c8850bdb91b043f65cd913eec583cbdae0e1cbda23dcd3e25b4603ea53320bd7ec6f0bc3587953ebe441f3eedcc0cbd721abdbcc0813f3efbc3bd3d3083eebccba78bbccdb5b43dff12093d3fbfc4bc78962cbc34cf373b117d4ebc82e183bc241588bb711d913cf67d96bbcf28b1bcb59eaf392e10113c1d519abc9663abbc42308e3b563dd7ba7910cdbcccbd54bceaa7da3ba688d8bb681ae2bced1a6abc229f633bb128e3bbd40e96bcb1f6ccbb3728543bedfb39bc7bbac2bc6ba6b2bb8e5e063b76c00dbc65ff86bcb1b592bb5c10013b3283acbb594033bc42541ebb0712c73acee43b3accf36bbbcfbd10bb161d77bd1d0a173fd220163fc3ae7dbd5ed890bd5d720f3f1e750d3fb5189abd665659bd6611f63e6a7af03eec9d7abd22cd37bda33fd03e29f8c83e56086bbd86b5d5bcfa9b9a3e215d943ea51b1abd373de0bc3580713efeee5d3ee66130bdbb62aabc2f73183eb782073eea9a09bdda3a89bc11e2953d64895f3d2a30fcbcd58736bc9dae933bd58e1ebcc93ab1bc7087b8bbb356493c9c106bbaf4d1ccbc6541c2ba43319d3bc1ca95bcf7a2d1bcc991323b1eae57bb57e9e7bc532d9fbcecf15f3b950813bc16cae4bc1b276dbcc026793bdab41cbc78afdebc411338bc97171d3b013b49bca7c0cabcc3910bbc9658803a712e40bc174d8dbc1759b9bb6b4a813a4c460bbc5cd038bcbcca4bbbffb5653960e30abbf95708bbd99affbad6cf4abd5663db3e0c3c403f32c893bd609274bd3d1cd13e2d87373fcb37b9bdc1bc44bd458eb73e72b51d3fad6f9dbd4af61fbd5687983e919f003fa64c80bdaa36f8bc36f3713e4430c63ed54e5fbd1966ccbcd8b2333e4dea8e3e21ca44bd0a02a6bc1971e63d0a512f3e62e727bdb2428ebcef7e5c3d30a8953dc94d18bdfa2729bcadb5143b055c19bc8cceccbc4269bfbb8678933b989b17bbeb78ddbc247904bb6fb245bb3537bdbcabb0e0bc18b3b73a3582cebbbbf9eebca0d89abc7328403bc1351abc853e0fbd311e91bc2fb6d63ab4c92abc3e56e1bcc6cf41bc0bccdb395f1e4dbcb8a7d6bc274614bc2b645c381d8b3fbca3eb9cbc5d30adbbe3cd85bad55838bc69ea35bcde5c05bb761592bafaf99fbb6a4b52ba05d39fba64fd1abd0dbf8a3e68c26b3f376ea7bd592836bd393c833e4695613f7516cbbded1a07bd5e28693e90c2383f199a90bd326be6bc9631463e48c41c3ffc6d8bbd1cc0abbca7f4193e1439eb3e38e24fbd88f5b4bcff96e93d7ee9aa3e315648bd884873bc79ff933dacbd533ec89f23bdf8ea50bc47f6013dd06aad3d9d491fbdddfa13bcddf301bb1d7e63bc38d6debc1a1ebabb0fecadbb5b6830bc0ffcdfbc68bd67b8b66934bcd56a1bbd78c5cbbc875aae3af12240bca0b133bd96d8a9bcbec5df3a1f9f47bcf41c2cbd02d48abc6c9eab3ae0aa44bcde1313bd477354bc9974163934c16cbcba5a06bdbbd921bc8a1138bb51737abc10dad1bc7ed4bcbbbfd809bb4fe664bcfa216fbc3e1f79b957f253bb39c425bcdd8ed1ba65e0abb9d1efc9bcab85f03de1ac8c3f3433acbd8529c9bc15a7e23d6843843f5700bebd269aa5bc14fad53d9a4d5e3f02e490bdc7d085bcf842bb3d845e333f1a7267bd40364fbcc8fb963d1079083f55dc38bd565c35bc5c445c3d177fc33e9f042cbd5b5415bccb54003d765a6d3e18601dbd8b29dcbb910e0b3c65ceb63d3ca710bd456fccbb6d6308bcc32cc7bc1945eabc000000000000000000000000000000000485d23979633ebc92d715bdd24699bc0d0a043b45391fbce7531fbd4df170bce2bd383b6ae329bc700607bdf6285dbc3f1f553a81fa24bc18fc01bd56601fbc679481b869b236bc31aee6bc3156f3bbe1527dba429545bc7b7dc4bc6321b8bbac9d6fbb66235fbc955875bc998513bb0000000000000000000000000000000000000000000000000000803f00000000d8ffe1bbcc4764bc95a68b3f8b215cbdc5369dbbcd8329bb9b11683fae0719bd991e4abba4dd243ba99e3b3ff088e7bc4c7577bbd53a003b5a5c113f396cc4bc27f244bb36d359b8a7d3d03e39c1b5bcf41fd4ba534371bbc5a1803e6d98b9bcd94603bb7f0025bc1a24ce3d75a3cabc00000000000000000000000000000000000000000000000000000000000000003288b63b6dc3553cab5babbc6d37b8b95ea4ae3b69ea273b53a790bc6074983a451cad3bb41444bb6fc583bcb81d303a77a25c3bd790b8bbaf1367bc0d11b63af47f1a3b8bb80ebcbe394bbc6ab9e13a0b4b8a3ace17e2bb62b54ebc82caab3b03416ab96be6d1bbd33450bce8cca73b00000000000000000000000000000000000000000000803f00000000000000005bfa83bce3de7a3f0f55c9bbd27a31bc095700bc4c91543f3861a4bbff5805bc1dc14cbbf1a72f3fa237c9bb9035fdbb58c0feba05aa0a3f8895ddbbc87dc3bb48556fbae7cdcd3e3c6c32bc17ccb7bb011267ba47ba863ec83a85bc836b4fbb1f243dbb33d8033ef23bb7bc273da6ba00000000000000000000000000000000f19758394dc7043d09a27cbc18035abcd336123b76bce73cd210bdbc4f982ebc1723ab3b9338763c1cdcafbc28b90bbcc4dda03b8cc5f63bd6d8a4bc14ecacbb9f32923b5e37f33ab7c892bc1c769fbb42083e3baf6620bab90b8fbcab3034bba579fd3a57bdc0b8d8bc8dbc27936a3a175dd13ac0d0c3b9f8d56fbc62c3d83a6a76293b4c22ce3b31ed34bc3527dfb996de11bdcb627c3fc1ed043eadedbebc62f916bd032e673f5872eb3df6ddd5bc333cc1bc14b8443f3392c93dc2d7b6bccd3488bce8c0223fb6fea23d7b80a5bc958930bc6d18003fe119703daa9f85bc5a9417bcb286bf3e1f571a3d9a5f70bc3880fbbb201c7e3e8e5d6f3cafa945bc1c27f0bbce5e003eb5abd1bb205d14bcc2feb6bbf2771b3cf7c1a0bc887a00bc4bce85bb6182193d79f8f7bb6165c0bc3c4db2bab91d163dccd36abcc86dcfbcee8ee83abccab03ca8c955bc70b59cbc01f45d3b1d7c913c986989bca6f092bc04953d3bf2273b3c024868bc18e75bbc48fa443bd355093cee4585bc69663dbc33bb233b1d62b93b975a59bc6de010bcad5f483b0feb093c8c6263bcccbbd5bbc7f1393bfef8233c1e3a0cbcc0b5b3bb605c26bd1413583f240a8b3e709903bd854440bd77df473f13d87b3e93c422bd269fecbc85d5263f3398553e48f9fcbc5838d9bc96c80e3f1e20313e4b5a03bdf38a94bc9a22df3ef429083ec5c6cebce72685bcbf6daa3e85a0c13dc22fd4bcf19b4fbc6208603e0a36693dbfaaa9bcf1812ebc9021f33d23cd8b3cc5aca5bce29ae1bb2f5e833c3c1f46bc66406dbc9f69a3bba79a173d3f96333a1f7402bd630650bb229d1e3dfe9fbfbb79b716bdd50b06b92a45e93c3ada19bc964cfdbc3f8c963a87baab3c039c41bcb50dd7bcd858093b515e6f3c5f174cbc6168b4bc827aba3aaa0c333cad9c4fbc4ec1a6bc5868013bbedc263c0cb150bcd1737cbc347e233b218c343c73ae38bc794e51bc38b4333bd6d33e3cf9f0d2bb9f6f2ebc675325bde287333fe92cd33ecd2127bd862342bd1f1d263f5bc7c13ebea24abd7d3d19bd3b8b0f3fa4c3a53e53ce33bdd487f7bcf6f4ef3e41f5883e681b24bd8a9fbdbcf436bf3e46c7553e794510bdf47ea2bc0297913e6be21c3e94e208bd69017dbc950c453e5763c43d94e8fabcfc2b52bccd06d83d9ccc283db772e8bcffba07bce6ae9a3cb5e2b6bb7500a9bcd210f1bb40e9043d3e2a033c333020bdf42be0bb507f163d6100123b117c3dbdeba9b5bac3a9cf3cc0f563bba4cd12bd5f0eefb9dee5aa3cacd1e6bbc6800abd83b9a2392448573c7e5cc8bb7e70c0bcd6d6033a6b21503c956321bc6cf3cdbc599e7d3aa671263cb9220ebc408da2bcf87f303ad192343c6319fbbb6bbe88bc224df13afcf3313c5aa591bbbba170bc5df11fbd97eb0e3faa240e3fb57535bd4eb638bd09b8033feef3013fe6135dbd48a70abd62dce13ec64fdc3ec05f38bdc65ef5bc92aac03e8c01b93e835b3bbdf15198bc9592943e86d58d3e90e304bd46cca4bcee446b3e3023573e689d21bd26ea72bcfffd1d3e2dd4093eb8ac0abd205661bcd588b33de985833da7e60cbd535c12bcedfe933c40d7a1ba72b5d1bc38e004bcf0e5d83cd788563c680a34bdbf81f3bbc959f03c4e76113c326f55bdb7a27fbb03b0b83ce9e9683ad35837bd74fbceba5aa4983c264599bb306a1ebd703dc5bacbca6e3ccf2cbcbb2336fbbcfc1181bafb61263cd7cc09bc41bfe9bc2b49c2ba227c003cb03208bc8f61c2bc5dc891ba72c9013cb824d2bb69ebb2bc704797b77054f13bd2d4f0baa87a84bc42f20cbdc6ccd43e2660323f8d3341bd45672abddda0c53e7e47243fedcb74bd45a909bd3a06ac3eb6cb0c3f02af5abd45bbe2bc8ba3913e23f8e83eb06849bd467eb7bc5f2a683e289bb63e361b33bd074f9fbc7178323e4532883e7e1d30bd907589bc435bf33dd0a5303ef43724bd526965bc723e8a3dbf0bad3d488f23bdcb9915bc5558623cf8f35d3a72f8e7bc26870dbcac4c9d3cf6698d3c57b03cbdc50802bc70deac3ca498493c557d61bdb60d8dbb6722863c0d2d183be15523bd17f25cbbafe34e3cf28e34bb2fc625bdc5c715bbf3030d3c7f0ca8bb4c7200bd913330bb98d3c53bd4e703bc0663f2bc7c5810bbc1626b3baa92e4bba8e2b4bc10dc43bba2c3ea3a2fada2bb4d64afbcafb306bb35356b3bd6ecc7b907dc8bbca90df1bc38e38b3ea427573fd10942bd81310fbd7357823e72fe453fff2d73bd598cccbc8076623e988b253fbc863bbdc076c5bc0c17423e411a0c3f5f8142bd00a78fbc8ca7193e53a0d93eab6c21bd97c88ebc282def3d8072a33e30822fbdcbf44ebce7c39f3de42e533e44e411bd3af050bc40cb2f3d4834d23d3e7027bd150f15bc55c80b3c2f72183b5fe9fdbcfe7705bc6441373cd1739d3c078444bd9bfcfcbb46ea373ca6c8263c383151bdd65facbbfc4e003cf767e9398f7f31bd707059bbf2f4bb3b1e67a8bb9cd517bd7a2264bb92e2843b217415bc6521f7bc1c686cbb35819239972828bc258addbcab3491bb5bce36bb021a2bbcfaa8b4bc61dfb7bb0d44b7bbd3d3e7bb104689bc48c889bbe0c372baa5b204bb233b7fbc90d0b9bc0aeb073e3b827c3f387236bd0878c1bc2fd4fa3de7bc653fc9af4bbdf47699bc3912e23dc525433f245d2cbd7a4286bc6f54c33d561d213fca841dbd5d625ebc33449f3d96a0fc3e9a8e0cbd2cd947bccaac6d3d8059bb3e647f16bd4d572dbcf4f61a3d46a3733e443816bd799b02bccb028b3cc13ce73d6b711ebde5a705bc91bae93a5c2b1fbaf3cdfdbc00000000000000000000000000000000ab0085bb48516b3bcb8aed3b48f117bd3e3d40bb97815b3a9df3d9baa2b8e6bce32bbcba08b2a03af317b9bb57abc6bc1beb42bb2b539bb8d11ff3bb4fd1a3bc8c2869bbc9ba7ebb8f8b14bce8d689bc686f79bb6e31b9bb4c8b24bcc9c061bce0bab0bb2fadfebb985ffdbb936c4cbc0000000000000000000000000000000000000000000000000000803f00000000718c38bc37d8cfb9988e7b3fa026ebbc5570e6bb81f1503b03f6533f514ab2bc87d9d6bb0a54b93b1d062f3fa0e2a5bc3944d6bb04fba43ba5170a3f86669fbcc01787bbb243613be3eccb3eda40a6bc743d9cbbce3f4aba2d5f853ed076b7bcfa60adbbd3e08bbb4680ff3d4cb6d5bc000000000000000000000000000000000000000000000000000000000000000047166d3a4922df3b4de339bbb2b69ebb2465133881c0a33bc124d6ba8a766abb15cded3a299b4a3b34b34ebb719d8dbb30fbef39ccf7573bd48c07bba70430bb12e1c13962b03a3becc330bb00d5d1ba4673e5391fdc503bd51108bbbc867cbb9bc2673a9915753bb75d28bbf08e2dbb00000000000000000000000000000000000000000000803f0000000000000000f3800abbd4e6633fb4147c39389293bb3cde16bbd44d433f073915ba881d2dbb8645c6386ffe223f09cd963ab1c912bb021695ba3414023f1bfcbfb9593c33bbfe0380ba8971c33e10b9acba0ec4e1ba256b87bac402833e6743adbaf32d1dbb72d441bafbac053e215710bbbb2a53bb0000000000000000000000000000000052fa2f39d444213c83b6bebaefedf2bb8edb5f38ef37313cf72518bbe48c13bcce67903a85e30e3c4a192ebbb8ff0abc36c81d3ad180f53b7c2022bb33ebf4bb45f67d3ad19fe23bbb022fbb4646d0bb65fe9a39814cd13b10f41bbb98c1d3bb8bfa4339402ac83bb03721bb4c32c0bb115ba339f780de3bcf882cbb441cc4bbc333e53a713eaa3bb9a516bb371ca9bbc6308fbb1b3f643fcc68023e4095cfbbc9839dbbea95493fc286e53d22c500bce82c34bb32822c3ff778c43de314f4bb20373ebbf7f70f3feaeca33d1685d8bbd84809bb155ae63ea87d803dd3fdbfbb5fa02fbb55abad3e1310423d0dcfc6bb157b31bb97c2693e3054fd3cab1fbdbba8263abbfc74f23d3a276e3ca167c6bb4a5535bbd0dfcf3be616c0ba039ba4bb988716ba3560253cfba74eb987bf1cbc47b800ba5b62493c2e021fbaf84047bc67962ab8bff9193ca40c7bba353f25bc2b6c73ba10d9183cebf10bbabd9624bc9ea50aba036e133ccf45d8ba2a860cbcd36a0d37369f0b3c90a6d7bac8de1fbc7ff5893ab008e93be9c2d6bace4608bce5ab093960f30e3c71f4d5bad9a414bc3f28a8392429e43b52a7a5bae68ae1bb1234b3bb25cb433f1c58823e073fffbb3d7cd1bb28f52c3f6834663e46d223bcb0d994bbf30f143f65d2443e9f1809bc9cf5b3bbaa20f83e7a58253ec5a60ebcbcea88bbddd9c63ef770023e5ecaf4bbfcba7ebbc1b2963efe56c53d7c560bbc55fb24bb1f634a3eccd3823d7d6cf6bb4b867cbb1e02d63d9c72043d79d307bccc7337bb0d7f023cb0cc143af5aaccbb74dd99ba2b7e203c75ab933a7e5f39bc9e6fe737b9c13d3c72ac703a31dd7fbc844b34ba83cb2f3cebccaa394d1454bc0fdeb4b9fb36273c46e752b95f8553bc61c99cbad7a5083c19b7cfb914363cbca31874bacf44243cb558b9b7327c40bc202a40b9175e133c1c5a3dba576537bc96f034ba05f41a3c10666cbaa6da33bc0b2057397e5cea3b857f0cba5f3c0abc7b37c3bb5343233fdc77c33e5f3f10bcaf7cc3bb93a7103f4a74ac3e683d51bc7b61bebbb214f83eec00943e6a6f28bc27f6acbb6dd1cf3ecb25773e710e2cbc9b7871bb442fa63e883b453e7bbd1abce2eaa6bbecc57d3e0394153e66281fbcd4378bbbf59d2b3e1748c73dfad11dbcb32ba0bb74cab63d302e4d3d96bb1fbc1d863bbb010d053c72c9f93a7d69f4bbd688c6ba6474143cbfe3773aa12951bccd054db928ad2f3c86f61b3bc1c275bcedc88aba7a69153cfe96bd3aa42d52bc72424ebbe045373c3e7a003aa4dc6bbc78c702bac555e43be9780c3ab4dc23bc6d148fba80e92b3c2305cf38b44555bcf64a26ba4b92003c5a02383978ce32bc841831ba04f40c3c6da5aeb930ce37bc9fe46139584beb3bf17d3f39c5ff1bbccfb8bebb63a4023f695f023f75b402bc2bfcb6bbe7e2e63e6bc5e53e61e739bc7847b0bbbe2dc63e64bdc43e527c1fbc4c47babb787ba73e6963a43e6a6039bc64e07abb0da1843e86e6823ef70101bc9d6badbb414d4d3ea744463ef3122ebcdca687bb6a98093e6ca9043edeb315bc602394bb7048943dfcf4873d2abb39bc069723bbccba023ccb734c3b825605bc8d7afdbae0f8013c09aa703bca344ebc19160ebb0749283c5c5e813bde0b7abcc2c5c7baf002193c64b1373b8f9c7abcb0a450bac637003cdaeab53a215179bc27fec6ba911cf43bb7bf273b0fa14bbc3ba6a1bae6990a3c8f56a73ad6bc5fbce4da99ba8acd043c97a2813a70ad52bca21e96babb25223c5710063b404469bc65424dba874ed83bd512593a19f725bc4f0eb8bbd52fc43ec9e6223fbe5214bc917ee5bb8af3ad3e06be0f3f58aa4ebc3ce5c8bbecb0953e5e9bf63e151536bc805fadbbd4097c3e4c6acd3e9c7a3ebc2806afbb8083493e7a32a53e923d1bbc7438afbb034a1a3e815b783ee54333bc23a29fbb35ccd23da389263e39052fbc82869bbbc7e1633d1692ad3d661148bcc44676bb16bf113cee07763bd0b00cbcc77903bb54a8d33baf41953b811556bc37ef0ebbcdaa083c87fca13b03b589bc54ffefbaeaa5d93b6516303bb8a366bcbc84d9bae08cf33bacc0343bac0374bcc5f6dbba942df53b7b89963a3e6b47bcc3e363ba8319cc3b324a183a269452bc1517b6ba7af3c83b53b6b03afa523dbc779cb4baa40dea3b97f2ba3a537456bc9baf88ba76d5b83bc18eb93a95c823bc18d3a6bb8b09833ec37b433f7ddb12bc6e67ccbbb4ae683e09682c3facd83dbc1ceaaabbb290473effc2133fba1023bcdf84aebb69a7283e91e0f63e83462ebc5a6194bb1364063e6860c53ed65018bc92c491bbcb4ad13dcf24943edc7b22bcf9f18dbb6ab28d3d56c3463e3f3e1bbcaac59abb14da1e3db0afcc3d737b36bc89c368bba248bc3bf6ae8f3ba92f0bbc90561bbb64abcb3b2026d73ba8c357bcc7640dbb01b1b53b948fae3b4b7779bce80acebab098a73b21355e3b0a835dbc9275bebaa8b89f3b9ad51f3b4a9c4dbcb012f5ba54a4613b5dca153b69b22cbcdcc0cfba5563993b9949c33a713741bc39b103bb7c66973b8ad4f33a633045bc3b5403bb2a0c9d3b4de38f3a9aeb38bcfd749fba19bc8c3bd924df3a13d518bc2383a2bba9fa023e2f57643f24520fbc59cca5bb1ae2e93d53cf483fb1ab1cbc429786bbf764ca3d68fe2b3f95f30dbc1cf780bba5c5aa3d72560f3fe58908bc919b7abba3da873d244ae53efc15edbb812f81bb749e543d218cac3e472c10bca5fe8fbb6cd0123dca66673eebc004bc84b78dbb2f02a73cd8f8ea3d282e20bc6afea7bbda77843b520b8f3b368f04bc00000000000000000000000000000000b61bbfba45642d3b994c923be4d937bc05c64aba392c223ba8762f3b9ce210bc0fa2c1ba01d40a3b7066dc3a66f501bcbfcc6dba03d8013b88bc843ae6c6f3bb9f9600bb3aefa73a3506bab844ddd4bbb060a33a6a99f33a451332b925b703bca893d5ba26e6153b32f09d3af75cf5bb0000000000000000000000000000000000000000000000000000803f00000000160042bb7a36cf3ae5d2633f4a30ddbb5bd77cbb6dda0c3b921b433f54ca9cbb2f5034bb8960f03ae56c223febed95bb3c4df5ba69f5023bcfd2013f96789cbbf78c4bbbbeb7b03a3da4c23ed9768bbb033effb933fcc53a91cc813eb0a7d9bbea9736bb27ed003bcd1e043e3c41d4bb00000000000000000000000000000000000000000000000000000000000000000deccd3b6b0e07be2860b7bc269d653c4d3e253b4c3301be466ad1bc0d4c493c7d4b43bb57e0d5bdffbde7bc485d323cdd8490bb22c4acbdd629bdbcd889023c9f94bfbb0e2889bdfab687bcf3f4d63bfaef60bb65d537bdc200d0bb475b633b15dae0ba46b5a6bc3d97d03a90f9db3900000000000000000000000000000000000000000000803f0000000000000000db06afbd8eb8a13f015f94bd5a67a93b9ff447bddad0853f81a62bbd6887973b2544e9bc7e4a583f0d45e6bcfc95263bc19552bcfb87233f0513a8bc29e12c3b1b8926bb72bbde3efe7a87bc26de4b3b7bc3093bbd78733eebf86cbca3927f3bbe11c43b96384d3db7738cbce441ba3b0000000000000000000000000000000049954bba470f88bd5baca2bcd609e63b1dc2cc3b62260fbe7a79a3bc27245a3cf6d62c3bb55c0abe8e0310bd9fed743cb3fdf6ba757ceebd9fb61bbdc148573c5ef37cbb0c2fbabd11ce08bd011e243cfae94bbb10ed90bd0bf5bdbc9bfb0a3cdbd8f93941703bbd2ddc58bc68c0bc3babf1be3b441d8bbce382063ad18b0a3b2497963b4e0e9a3b46b1803b50391a3b49f915bea145a23f57676e3d46d09abc56fb10bee2479b3f37f2343d99a984bcae1bddbd8e26863f316a6c3dae108abca30c98bdcf26583f1deb6b3d4d1c6cbc4ae045bdb0f6213ffb41443d85cd40bc96d702bd90eddb3e565a063dbf131cbc9e448fbc35486b3e9000853cad2ca1bbe9dea0bb66f0343d9c45983b6dae1abb7922b7bbebe990bd2c659ebc97b432b973fc23bc330ddebc7fa2acbc99310d3a7adc26bb1486b0bd722d2abd93f4343cacb3aebab38dafbdd98645bd8c55193c775e12bbc0f1b4bd3bae4ebd71be353c32fe20bb572787bdbc8b2fbd4bd0f73b7f9ca3ba2cdd66bd13330bbd6f480a3cf62d2a3adbe912bd127ab3bcdbd2de3b682aa93b52b686bc494324bcae21fa3b5942903b73121b3b1b625db9f3f5a93bcc6d0fbe7407873f22427c3e9b963bbde7871cbe0c99863f6650683ea52f4bbd967ce7bdd976643f521c573e7f8b2bbd890ebdbd1c13403fe7b1343e65aa14bd6e4484bd344b0f3f592d0e3e6e1fe6bcb96d41bd29c4c93e4551c63d11ffbfbcc141f7bcdb80663e5d915f3d05318dbc2d3e8bbc560d8b3de6f2563caf431fbcb23474bcf13706bd3ec291bc059dc4bba52e80bc36d449bb863db7bca4acebbb04e10fbc04c24fbd942b50bde5dd8d3b139d94bb5ae38abdec8f7fbddb48dd3bf69180bbb48e84bd98ee73bd8d1ce93b3fa894bb1b715fbd12ae54bd6e8ca23b9e59beba21f83bbdb1e030bd275c0a3cc483803a81a602bd6cadebbcb269113c14e3943b8e308cbc3e2a6bbce1ee243c1b57533b6c60383a0cdd8cbb1351fc3b669af7bdaca35a3fdcc5e23ec12395bd31680abe64a6593f0c57da3ee75ba7bde026e5bd6f83403f7ce7c03edab28dbd7e28b4bdbb541e3ff7e79f3eb48f6cbd5f6188bd0c2af63e63e0773ec60d45bd58a351bd5f8fad3e53242c3e30ce15bd83e116bd4f594e3ec4d1c23d711fe4bc4b28c9bccc2d9d3d4b2dee3c232496bc6ed09abc462408bc54e59abc49ea5ebc98f18cbcd69ec73b2962babc30a44dbc395528bc0e08ebbcb84b75bd350a27ba49e7cabb4dce27bd537c8bbdb455513ac3ec92bbc97843bd72fe8ebdea4f073ba3c7a7bb421af6bc608e3ebdcb2231bbcb6df4ba456f14bd46584abd644cba3ba0cf17ba33d4c4bc890101bd8bc1e33bd3fc343be37957bca1b691bcf9b13b3ca71b0f3bd26d73baa3af66bb9a58153c1362c9bd404f263fedc3253fc8d1c7bd0ee2dabdc62c233ffa90203f8470dcbdc34cb3bd2eef0f3fea6f0b3f383cb6bd461698bda57af63e41cee83eae66a1bd55c548bd12f1b53e66b0a93e5fd35abd2a3a43bd879e8c3eeaec773eea374ebd18ae0bbd5d252a3e76040b3e87b80dbd0b73d6bc35f3953d4b0a303d4536c4bcd8a5adbc8d094e3b320cc3bc81e8a1bcdef272bccb40db3b0cc8f1bc3c0e47bcb07cdabb8021bcbc78879fbd5c1c2e3b022162bb25e112bde270bdbd1edc633b9b3814bb38e21bbde4eeadbda3587d3b826d50bb5ffe10bd673392bd483d253b2bd31bbaaf51f4bc34316abd7dbce73b5252d03a27a2bcbcb8411abd8ad0273c12b67a3bbb6c45bc4089a5bc2403723c6900403bcda3eeba662680bb44bb293cf1e095bd58ece33eb9d9593f7c64f7bd9dc6a4bd311edf3ed227573f40340cbe0a5a8ebdf83ccb3e5f283c3f761cecbd6d6172bd56efad3e444a183f0d26bbbdbcee43bda2a18c3e19dce73e852198bda5b420bdc7114f3eb0bd9d3e0c3d5fbdf223f8bcad56033e9c4b2e3e361a20bdb24db3bcbc1c693d9549493d349bc6bc9f3a8ebc332baa3b4d96fbbc9b5fa1bc1419e2bb26ac2b3ab35f50bd7e1fe9ba7b1fab397b3d95bcee59ddbd40cf3d3cb8c8453a3e8ae0bc758dd5bd3b37a83bc3cadc39cbf502bd5f54d3bd84c3893b95da77395cfee7bc9506a3bdd528db3a2c8c973a92eed9bc53d287bd7954fb3b5bed043bd6aa98bc9dc129bd6ce8133c7fcd843bc30e25bc4830a8bca712833c661a933b5b79b8bae9d6a0bad5d9633c9cfd40bd07497d3e1d2c873fef030dbe2eec4dbd3aad723e9e9e853fe88220beb6ca2dbd6ee2683edaa9603f6957f3bda07e1bbd80db4d3e40f53a3fe87eccbd49c9ffbc28062a3eef290a3fe6ab90bdc0f1dcbcb07f023e13debd3efa2863bda05dafbc7e12a93d011a4f3e7b8413bd5c7578bcfcd8233dbcc83c3d19708bbc82a24bbc48a99c3af45f4ebd47bf42bc8df0a63a8ba2d4bb77a9a2bd0830d53b5619253cf2c67abce2f819be806bdc3c6a7feb3bbd32bebcf1de16bebabe493c331cb93b53c7e3bc085dffbd591aa13b9ee3713b43a4d2bcb522c9bd0c18b73a3716703bfa7baebceb1e9abd6c6fb03b59f4a03b41445abcd16b4bbd415d1c3cffa1d83be7c931bbe11a99bc9d1c573c25212d3bf4cbe739ef2b323b8e875f3cb7279dbc3b576e3d3125a23fd3e416be731d94bc4ae05c3d2a909a3f9e4f17be10e49dbc0d41963d4632853fb081eabda33b90bc1d699d3d71e6553f984faebd731c68bc526b913d5bd91e3fdebb79bd369650bc0c63663d787cd53e995730bda43629bc0c9d163d5b5f5e3e7dffbebcbc65bbbb613f9f3c14c1f43c76a1acbaab76a4bbbdd7c3bb23e9a6bdc84af4bb00000000000000000000000000000000298d0f3c913388bcddd709be8838243c52a8013c8baaa2bc7c0602be1bc7933be1429c3b13d4b1bc96f2d6bd985c86bb13b7323b3770abbc2445afbdaa3ebcbb5907263b70178dbcbbcb86bd9ee64abb6bff5b3b8d4c39bc4f0934bd0adb2d3ad792e73aa1fba3bbef8ba0bc2ea1b03b0000000000000000000000000000000000000000000000000000803f00000000b72d983b688288bd089fa13f2f1cbebd73590f3bd41309bd52ff853f93e072bd4e476639173556bc0603583ff19728bda515dcb7d59b71bb2bde223f3c3adfbc23cb9739bc1b3cbaa93dde3edb4184bc476ce13a607913bbbfcd723edfb2fdbb17e4da3ac0b0e7bb7fa0473da20730bb0000000000000000000000000000000000000000000000000000000000000000d368e9bbee72a1bdd9380abd3a8e803c90c30abc0fc7a7bddce000bdb912643c2a27edbb619e94bd28df01bd8950563c04001dbc52517abdd33ef2bcc66e423ca5e827bcd7c15cbd282dbfbcc592193c29840cbc263736bdb68e45bcca33b03b31a5acbb7c9ef2bce91d34bbc2474a3b00000000000000000000000000000000000000000000803f0000000000000000e1af58bd5f5b973f552a43bd28ebd1ba9952e7bc5e737d3f576b01bd9a5d64b84e817cbc14144f3fafcdc6bc11ab74ba2f9209bc6815203f36e3bfbce681513a3bc0acbbfdd7e33eb4bdbbbc357df23a954196bb999c873ef148c5bcd84a6d3ba66908bc3bbfbe3d6a87f0bc15939b3b00000000000000000000000000000000326ca3bc3d8254bcf6641cbde1de3b3cb9f592bce3a196bd02b337bd5325983cfc4390bc37549fbd070851bd51228f3cd5548cbcc7338cbd74684dbd3a74923c7bc484bc634c66bd73f739bd87ff7f3c81af72bc217b4dbd555916bdadcd6c3c755a36bc04e61fbdb4d4cdbcbfdb3c3cfeaa84bb517eb6bc905310bc4e1de93b9f788bbaebce88bad14fd9bbf91c023c56f8dcbda4f2973f8279b43dcca4c8bc9749d7bdc9e2903fa58c993dfd83bdbce6419bbd34c47a3ffa0b933d85c494bc5c7464bd89b34c3f37c4753d78a980bc54cb26bd0fea1d3f5751303dba8345bc96cf0bbd2bece13ebaeabb3c49c21abc3e6ee8bc90d3873ea945143b61c8b2bbc2f5c2bc67e0be3dc5c868bc623d97badf47babcdb80c1bc728e0abd731cd43a7f03e7bcd814943ce94e0ebd43fd4e3bc032d6bcd097abbcb96c6dbdf8c2873cc1459cbca73fdbbc02ca66bdd139533c5f37a8bc7f4f16bdf01a83bd85d1923ce72994bc4378dabc9f6661bdb65a5c3cc43f88bcdb09f6bc34d34ebd3ddf913ccf363bbc5e4c8bbceabc1abd81a1703c0296efbb5e1931bc3d3ddfbc1f8c8c3cf3b76abb734abc3b3d9f7dbcc1a45c3c4cd3dfbd08cd7e3fc3fb843ebcad37bddcb8f3bdeb857a3f745b713e780344bd7633adbdf5ff523f648a573e29b627bd23209dbd575e363fab882e3eeee60cbd25f36abdd8e00b3fa7c0043ec013debc2d7d51bd3b31d03e5740ab3d3746b4bc3c0920bdb3c0813ec6a3333db5448cbc270019bdb0e5e73d8cc4eebaa56b0fbce5efe4bc6db4b73bb1ece9bc373edfbbe37d00bd0e0e163dfe0af9bc4cced3bb91eaeebc159de43b7eac78bd406f1f3caee7d1bc623456bc81fd8cbde3c63b3c9e19b0bc731d87bc2f748fbda7f1563c4b65b2bc542a81bcafbe88bd3053713cd72090bc8ba481bc2a8670bd11b18b3cb1906fbc838b44bcab0d49bdc61fa13c5f1a1fbce21e92bb40b414bd7535bb3c7e35a1bb8cbc1d3c5c95b0bcffad843c9aa9ccbd0b0e503f3bf3df3e662f85bd585ae3bddc224c3f2475d23e0ee88fbdf864bcbde2df353f5568b73ed3e577bd9eb39dbd3d3e183f365c963e88cb53bd233c82bd64e8f23e677c683e0fbf33bd20c55fbdb544b33e880a1e3e286310bdb8eb3fbd5ac96a3e714cab3df1deddbcdafb21bd5e71ea3d8e3e9b3c1e9492bc4fc700bd0055be3ce18fddbcc6f869bce532ffbc707d1c3de5a2c6bc5df562bcfe75e6bcbf2b8c3c93ed6cbdcfb3a53ac980bcbc59b38c3b515a89bd466c0c3b27dfb7bc9bdfb0bb55cc94bd4324ec3ba49a8fbca5799a3abfda52bddb0fd9ba6bb991bcb7ca01bcf9ac7ebd7b31763ca82171bcc5ff8cbb41d54ebd4aa68c3c3ee627bc95ec92b9b83127bd12e4c43c7472d3bb6d95273c2ef1c4bc6f71903c2bf2b0bd00c4203f9b4f1e3fa788a5bd241cbdbd58441c3fa8ee153f42feb4bd34f29dbd789a0a3fd849013f85dc96bdd17b91bdbbe6ef3e2ba8d73ee2eb86bd93694cbd7e77b63e859c9f3e098d47bd8b085bbd53ca923e9308673e40bb3abd8c942bbd1c1d413e3e41053e134915bd1ae51cbda424d13dd679283d44d1d0bc1dcbfcbce9afe73c6b19bbbcf7a5a4bc3f4dd7bc44e6f23c5a42c6bc08b889bc84dfc5bc518f4f3c6c8887bd0c89d23a3e4298bc5af0b0ba4265a4bd18cc613bbb8e90bcf7dccebb184da4bdd6a7c63b5d6291bc7739fabb09be97bdf357e63b014871bc48ef14bc63fc8bbd8f23743cf6d448bca228cbbbd31a76bd4eabaf3cb66518bc6ee92abbeb8235bd4353e53cef1cbfbb6859f63bf123c5bc68509c3c84db8bbdf8d4e43efee04d3ff1d1c2bd6c6298bd6214df3ec1c9453f6086d9bd334885bd0df4ca3e5a6a2c3f8372babd8bac67bd46b5ae3ed5b80c3f7a3c9bbdddf14dbda87e8f3ee94ad83e65ec83bdcf4436bd36505b3e1768973e45b258bd371c1cbd9d8a143e2f932e3eaced25bd560105bdedf1a13d3268683d7450eebc5387d6bc3f09c03cb735c1bc6f05c4bcf9848bbc0dc3613c71e707bd362f28bcdc6343bc6efd923a3024acbd5993bf3b647742bc02b39bbbd55c9ebdfa3267bb1bf030bca7404cbcaacab5bdd809233bdabb47bc54f826bc1f1197bd22f9443b340533bc8e5359bcae5896bd3793633ca8d518bcbc3b0bbcc96059bd884f663c948ba0bb320a8cbbed1341bdf780fa3cfe3161bb14fd633ba021b9bce1e4bc3cb3853dbd6809893e527a7c3f93d0d3bd48e54dbdad3c843eea7d753f3688ebbda4072fbd90b8763e3b044c3f45d9b2bd516426bda47b5c3eb6172d3fc4f9a1bd5f8c0dbdacaa343e9b3c023fb46780bd7c34ffbcb60b0e3edaf2b83ec1155bbd2541d7bc4341be3d7392593ed0ec2cbd38a3babce8bc4f3db075883dd78ae3bc7e2093bc7457403c756e08bd0781a5bc3a7fb0bb22388cbb35c042bd1e140ebccfb1493b1c7b59bc7a46e4bdd3a9733c389e73b9799584bc90f4e1bdfc5d563b79a633bbf8f998bc4395cebdfd04f639c080a4bbb18b8dbc6c0eafbd0d695739a7ce8fbbee268bbc7e559dbd0b65fc3bf75e4fbbbec43cbcacda80bd041b8c3c4af5f03a343586bb226b32bd20cfe73c3de7fababaf2d7ba3a07a3bcccfbb33caff6c3bc48c8be3da811973f6e7fd5bd7724b7bc620bbd3d53218f3f0fe5dbbd0fb2aebc4a59cb3d8cbc753f77d1acbd004e9bbc3c98c13dd55c473f18fa86bddb428dbcc8d0a63dc5a2173f71ab5cbd9faa7bbc5775823dc7dfd43e89b933bd26e34cbc284c303d02e8713e8c190ebd28200dbce24e9d3c6aad873df282a5bc63d312bcb1cd5ebbdfeb47bdc1c0a8bc000000000000000000000000000000005197053ca9c4aabcfcd0b5bda6a3a6bbf935de3b1429a4bcf35fb7bdb1a0a2bb5239b43a61c4a2bc4f399dbd949139bc18feeab9dd849fbc5a5a8bbdca8920bc57c41fba4f0e9cbc5fa773bd463192bb9599083a23c985bc90514cbd719d973b4bfe08baacc236bc4b6c0bbd3974253c0000000000000000000000000000000000000000000000000000803f00000000c4ad0fb9b97b15bd51e7963fb76e7bbd780e98394d2f82bcbc197c3fafdb29bd6a3814ba31f48dbbbe954d3fc60004bda47dc3ba703718b65fe21e3f6692dfbc043293ba46c248ba12e1e03eb95dc1bc31b7033a11f478bb467a853ee33198bcb4f11f3ab9c72dbcb18db43dc3309bbc000000000000000000000000000000000000000000000000000000000000000060d936bb9252b73ab054f6bc02903c3cb5e14bbb859218bcb5e1e9bc684d4a3cee891dbb260f09bc3ee3e3bc73172e3ca9129ebb445a1dbc856ccebc33900c3c95bcb6bb95ca36bc572ccdbc39671d3c9d0000bca82550bcd71db6bca25e253c6c51e6bbe24e08bc80e6a8bcdafd2f3c00000000000000000000000000000000000000000000803f0000000000000000c60698bced87833f245ea9bc800a4abb69a514bcc2ae5f3f112480bc633700bb538584bb8b2c383fefa071bcecb222bbb4fa9bbb1287113ff6e684bc77d1cfbaa5f894bb4e7fd73ec0b799bc9a0048ba79cdddbbc6d48b3e74b3b5bcc24a0b3ad0e23ebc6eed073e094ae4bc8806ca3a0000000000000000000000000000000060a049bc4ba5073dcf6de1bc9367fd3a7db561bc8161873c2b331abd529c333cfa3520bc73f7013c11a91bbd9b6b013cf20219bc6ecb5f3b8dc51fbdeaa9093cdc9b06bccd1e783bc41916bdc32c0f3c29cc40bcbabb1eba1bae11bd597f223cb76f3fbc58e9473a1dbb06bd52e3363c61a843bc759b273a72d5ecbcdda06d3c4b48b7bbe3b03f3cdfdbb5bcb8f03b3c277038bdd3e0833fa330eb3d824693bca5162ebdf878743fdca8c83de37d7dbc0da8fcbc81bc513fc607b13de0c66abc5a79c3bc2ce72d3f99858c3d8aef46bce0ce9bbc846a093fe442493dfae63dbcf60e9fbc1c28cd3ed1b1e83c29ce19bcb016acbc9f28883e244fd73b4c5ffdbbda79bcbc9546073e414e7abcc58763bbe36ba3bcf174973ce843e7bc706394bbdd7891bc7cbd2e3dd0dea1bc615300bc34599fbcccea103ddfb604bd43b927bb577f58bc24dad53ca609fdbc013a84bbdd4663bcbed3a93c90c61ebd8fe4363a584f4bbc0a6d9b3c576f0fbd06c5b2ba2b3a5dbc56f96a3c49f71bbd131eab3bfc3837bc3499713c66b306bd4a94473b7ab444bcbb8b7c3cabb307bd315e5c3c2be1e7bb7f44a93c8b17b5bc648e043c42324cbd4713603fa809873e7cbaf6bc5e2a65bde9d1513f606d713e728bfcbcbafe1fbd9e79313fc3a64f3e0a7ce2bc411d1abd9ff0183fcc5b293e5debccbcaebcfebc6c8cf13e5ec8013e1319b0bc5784ffbca7d4b83e2d13b23d658da6bc8e93d7bc70fd763e260d4d3df1508ebc231ff3bcdfb7083ec837e93b542e5cbcc7b9c2bcadb4f73c4380a2bc9c2242bc1f62a8bc0d433a3db9f620bc3dd8b1bc0039bfbc45f12c3d7245cdbcbb145abc514396bc5f30093df91600bd60983ebc4d868cbc2c7ae03cb6680cbd5bd811bc61807dbc70bbcd3c61660fbd4dfbfabbbde77cbca088ad3ce7b815bdae58e2bafda569bc48479c3c56db14bd3734a23b64c152bc5506bc3c855803bd95a3103ca52af2bbd3f0c93c0ce2b6bca99d373b52834dbd57c6383fa1d6d33e2a8426bd9c6664bde3d42c3ff85fc03e70552fbd5a5643bdb2ab173fb8e3a53e11b61fbda3922abdbda4ff3e67da883e1cb711bd072818bd649dce3e63d9553e79f705bd6af80ebd140b9e3e2984183e7080efbcde7c04bd76755b3e153fb63d941de0bc014102bd25cefb3dc4dc093d27ffb5bc4eb4cdbc06ff0e3d699a52bc640c9fbc52f4acbc85ec253d23c922bbdbd9f2bc2570bebca0e31f3da73982bcac7ccbbcc0c09fbc5695023d5bf3b4bcbb35b7bc688794bc0da2e03c575ee6bc11ab9dbc6b7157bc28efcb3c8117adbcdf3aabbc0d1987bcc584b93cea4301bda9363dbcaea27bbc07a4b93c6e89e7bc2218e4bbb25365bcf913af3c6c60e9bc48bbcc3ac1e606bc2fadc03ca102a0bc3c5d0ebba4ea42bd59db113f1725113f9a0f4dbd066f4fbd14fc063f2407043fd10f4dbd69d329bdf00bec3e788ee23ebd1b33bdf15326bd92bfcb3e78e0bd3e579837bdba61f8bcf23e9f3e6efd913ed3ba11bd86100dbd6125803e93f3593e686817bdb84d04bd92c1303e9137083e37f401bd1ea301bde265d43df839713d65bfebbc2dc3cbbc2f310e3d517ba7bb6cd2c9bc3f24abbce6d50a3deef4393b03a312bdf06dcdbc7a04f53caa9347bc6cf8f6bc1273aebce41ed33c2ef5a7bc97a2edbce1ea9bbcd42eaf3ca2fcd4bc2ec4c3bc150996bcd3f3a23c3d99ddbc1026b4bc25b894bcf677833c77def5bceaf961bc48188ebca3526f3ce5dafcbc62ccf9bb773783bc3747763ca049eebc9f6d283ace4222bc6a209c3cb63387bc361692bb593229bd9184d63e7a16383f7d5655bdcc223abd9059c63e9be3293fb1b36bbd5d3327bdd4ebb13e1cc0123f9daa54bdd9e113bd53f2963e151ef33e9e8240bdce4a0abd9ab1773e3346bf3e892b33bdbd3d02bd7eb93f3e78258c3e63f122bd2514fabc3e27073edb53333e014519bde270efbcf632a03d3fdea33d1ddf04bd64f3c7bcb783dc3ce8f88eb928dee9bca59e9bbc67e7a13c77a29b3b03d00cbd1d3aa3bcc2128c3c619d33bc602a03bd7ca67fbcd67d5e3c8c6d62bcec6304bdad858ebc3d71313c6740c3bc2f5be2bc91d583bcd386343c1076c0bccbb0c6bcf99d90bcf458ea3be0b7ebbc16ff90bc9f3e7abca98dce3bcd90b9bc133967bce0a07fbc3914963b459de6bc6fdbbc3ae52a45bcd163153c15e97dbcd166e0ba320affbc9e51883e38115f3fd0fd54bd84c40cbd36c77c3e06594f3ff70b6dbd7056d3bca575613eff212e3ffb6043bd7c1aeabcec15453eacab133f902341bd4a2eccbc41931f3ea5e6e43e882229bd88ded4bc7689f93dfa43aa3ef99125bd3170bebce1b0ab3d2aed5a3efe4b13bd8078bdbc33d6423db027c93d4b770dbd7b56a3bc7cd9643c2c8a79b90ef4f5bcec4760bcc17b9c3bae95dd3b143b17bdfac839bc53aea33923aa85bc146debbc657538bcd50513393956b7bc694202bd724344bcc59c81ba9bccd4bc5b13f9bca8305dbcc973faba7aa8bcbc5929e6bcb45271bc723ca0bbc54be7bc4108a3bccdb16fbc4f22cbbbfc3bf1bc30fc40bc4d896ebcbc2401bcfcb0f0bc9766913a613947bcf652bbba6a3c60bcee4586bbf524a0bc9ec9f23d1a7d833fe1fd45bd2f408abce993e13db91a723f87f942bde04f89bcfabdd23df4314f3f986829bdfb9f82bcb850b93d57df2a3fbf5b0fbde94e83bcc4b3973d833c053f80090fbda2d475bc3d5c683d037fc43e8af607bda8a67ebcf0de163d4fc37a3e451806bdecba6ebc9501803c9dd4df3de172fbbc1e236bbc24f60db9c23708bb7577f1bc00000000000000000000000000000000f34679bbf5d509bc67db22bc4ea7eabce48461bb9a6efebb52cc96bc3c6bc0bc6b2cb9bb07edf2bbc3ed92bc4b0ecebc364dfbbb252208bcf6f59cbc6c57a3bcb6fb0fbc2b2130bca12c9dbc7b059fbc344d1abc326454bc2e23b6bc475725bc7ded27bcf20765bc5fa09bbcaa40e7bb0000000000000000000000000000000000000000000000000000803f00000000137f7dbb10dd48bcad13833fd5a6dabc1c672fbb4e188ebbb4ff5d3f10569cbc177894bba7509bba851f373fa93994bcfa798cbb989537ba8f82103fa32b9ebcc411c0bb77d938bb4e14d53ea9f69fbcb646b1bb9bd8c6bb91c5883eb3869fbc1167d3bb030430bcb208013e9049c3bc0000000000000000000000000000000000000000000000000000000000000000129dae3cd7674dbe361ce93c9df8ea3af60f8e3c5fcd4dbe5904d23c3bbf2f3b61bc243cd11d3dbe1e1a593cb4c8d03b2175063c07041dbef7e3e53b9270cc3bbb8af23ba0dce1bdcda9d63b9d0c7a3bcf53b43b367b78bd4094813bbdf62c3be76a353b9eea4fbcd80c32ba0b7c533b00000000000000000000000000000000000000000000803f00000000000000006bf3d6bde4b8aa3f331ff7bdbba54c3c295376bd56f68d3f7c18a9bd151be23b461e2abd4a7e6c3f98f684bda46ab33ba867cabc271c323f992a46bd4a4fb33b0e3d0fbc1119ea3e6cb3febc7ab55b3ba2fd843ba4106b3ec4681abcce359b3aefbf443cb25d3e3cbc07be3bd0d8cbba000000000000000000000000000000008897963b528bcfbd0e7c2d3ccd00133bb5e1b33c368132be880cfc3c18998f39520c923c4de54bbe7b14583cbb90f03b966f8e3c48bb42bed864cb3b3bdd153c87a67d3c746220bef16f2f3ba3571d3c0b63453c87a8e4bd295886bbb1d8323ccd9f3e3c5c747cbdb778bebbcddb063c3aa00a3c7c486dbc4cb917bc9a34e33b783f003c25c55a3cdf65c43af3a3543b2e8c39bef347ab3f5381863cff9d84bced6721be03069d3f422e703cea968fbc248f09be3c2c8f3f99d93c3c89c663bc16fed7bd19506d3fab57503c9ccb4bbcd12a9ebd8dc7323f0a6a443c0f7622bc403b48bd672eee3e98d5843c54e909bc4929c1bcce186e3e19e9943c8f9cffbb3fe702bb9f8b193db932d93cca34f5bb6c2a673a2d73ddbd7a884f3b01e7d3ba3e2938bcc5eb3bbdb32df6bbc850653b58d0bb3bd76800bea3dc8abc91e43b3ceb49f73bd2331bbe22bfd3bc6e7a8c3ce12c253ce6031cbed53fdebc5985873cda5b1b3cedcbfbbd15d2d7bc46076e3c9744533c9375c6bdca1fa7bc9f55723c40f7583cde8166bdfc1a5fbc98fa343c693d443c0d2db1bc9388dcbb68d5333c14653c3c86296a3b25e3223b1f6fb43b7a1d31be1d108e3f5631693e25a462bda07e3bbe73dc8e3ffdb14a3ec41661bd4c1a1fbec078803f93572e3effa23bbd545e05bec1a5583f71900a3e8fb11dbdacf6c6bd3ff7243f9496d63d21abddbc052998bd56aee33eb160933d12ceb2bc23113ebdbe1f743ebecf253d601a4cbcbaeab6bc207b833d49fc5f3ce864f3bb5cae6abc7e503cbd5ac574bcad1fceb9d568c3bc0d0904bc585a06bd1295e33b5cce04bc1a0fa5bd89086abd50f7ab3c9f199238c664dfbd4f7488bd45bcc33c36f9a73bcb52e6bd243f81bd4c56bb3cd2d3e93b605ed0bdc34864bda1ecb43cbb5c2e3ceaf09dbd534f1fbdfa8f873c55f74e3c08cb47bdeb77babc76b85d3cc8b9633c0163b4bc017ceebbe9db333c33712f3cc4c43cb9cfd58b3b90faea3bb53b23bed2346b3ff20fe63ed4dac6bdc4df2ebe7c536b3f1fe7d73e9eb2c8bd6b651cbebbd1573f6702ba3edab1adbd361303be1a77363fcdc2943e59b083bd4a50d8bdadd4103ff05a5c3e5df34ebd8010a2bd06a9ca3e85240f3ea10601bd24d862bd723c6a3eed46893d245495bc59810cbd4bcda73de1cade3b709799bb5775cdbc5e2070bc1dc521bd54fe343bdf20ddbcf1c5623c235e62bd199b3d3c11683fbcae4a28bdf32bcabd9cc6f03ca9dfc5bbb9e581bd4da3d5bd2774e33ce8b0d03a8f189cbd8089d1bdd50cec3cc0a28bbab13f67bdb75b99bd3e18893c9c26f13b41b76cbd0a917abd4729be3c0a7b0b3c69d513bddd8701bd0ab8723cbecc333c345393bce1013abc5a0a4f3c16d81d3cd2404fbaca48983bec731c3c259a05bed271303ff1972f3f530609bef42c0fbe1d47313fc981283f11350cbecf99fabddb1e223ff9ec103ff729e6bdba3de6bd01dc0e3f021beb3ed1b2bbbd463da8bde8c2da3e4346aa3e30397ebd21989abddeffa83eacf6593eaf9936bd336f53bddf564c3e2d1dcb3d4412b0bc178f18bdd7ffb83d66f11e3bf75ae1bae80dd5bc7d98ba3bfae977bdc47a8e3b2a4fbabc8d7dcb3cfd1999bd35af903cfc0934bcdc230ebcbf340dbe4f241f3d4bf708bbb04711bd2fbd1abe7524273d3383cc3aa0393abdff3b09beebae093d8fa5393bf1d940bd6625e9bd447a073d1203da3b206f23bdbf789abdf14dbc3c6a86f53bf9d2e8bcc47a2ebd7128903cd4d4203c8acf76bc3c0d32bce73f553c9a0e073c08eff7ba82bcd83b8655223c2e4cc1bdca09e83ee82a6a3f0c1d28bee102d1bd7396e93e45a0633f6c2d2ebe5df2c2bd8a7fde3e6d89463f99d213be5628acbdc14ac33e8d411f3fdb17e5bd5ffb93bdb21fa63ed8e3ea3eafacaabdeb5d75bdce2c7d3eee93913e6a584bbdbdd138bd12092b3e8489023e1bb6acbcc1c303bd5bc6b03d0f3244bb82cf953b6de7c2bc83a5a43c7cf2a4bd9e59033cca7f69bc9b6e043da5dccabd03a5e03c1ef0eebbaa0b553cc39133be8a90463d4492c0ba32cc03bc5c053bbe69cd373dd5f6803b1d29a4bcb17330be1846253d671e613b0a35babcbf3e07be8cd4ec3c9a846c3b7e94abbc0897c7bd6c67d13cff58cf3bc97596bcaefc57bd38ca903c762aa93bebf238bc9d9937bc10e8043c2fa6893ba41496b938f2413c9df2d53b838f5ebd56ec693e7ff58d3f29b434be30ad6cbd2f92693ebc018c3fd32d3ebe593864bde4c6683ef685743fd6f61dbe6c1953bd2b1d5a3e03b6463f2d3ff7bd48be36bd79863e3e0bc9103f8d7caebd46ef1cbd3bd4233ea630b73eb92c4fbd51d6f9bcf86ee93d2382253ebd1d98bc6399c0bce0b8993dd3b9c0bb1d3f4f3cf36271bc408fd43ce553d0bd6816a53cb94994bbdb56d43c24ca08bebdb3153dc8a377bb54d4023ddd454fbe5ce2673de4c1453b3aaf143c21fa5ebe7f4e453d25f8e13b0f95aeba542c4ebee9d3283d5cfeae3bafe783bb5bfb24bee3c7fe3cbfde9d3bc33bb9bbc77ee7bd8067c13c2bf86c3baa2ddfbbca4b6dbde6764b3c0024203b231fc0bb6f2001bc73b9d7b96ad5153b9961cf3a9874963c6a4c3b3b0dd575bc9fbc883c1d5bab3fee9e3dbe513694bcb646153d57a49b3ffe2c27be64f5a3bc77c8583da7098c3f523911be31f5aebc32de813d4751643f5003e4bdb9ee91bc6624893d606c283f1ec396bdf43f80bc7a94873d0e2bd63ec77c31bd170257bcbe2b773de848443ec70b40bc74252bbce965593d837dd3ba73dad03c814bbcbbc8109f3c85e20dbe0888dc3c000000000000000000000000000000002b97fe3b59732f3ca10e4ebe48e11d3d3e571c3c15189b3bf2884cbe481a053df07e0e3cb11c66bbd31639be88e8b03cefa0df3b809447bb854419be5dd5913c3213b73ba9648abb0472dabdfb16253cba26553b2d768fba8b0c70bded9a953b1771d3387b8cd53ab10f39bced843fba0000000000000000000000000000000000000000000000000000803f000000003f2f403cd9e3dabd28ffaa3fc29bf0bd11f7ae3b919276bd46098e3f959aa1bd4de0843b976919bdef5d6b3fe7ca79bd05dd6a3b796fa1bccb04313f6a6535bd6e38773bc903edbb1abee83e4b0dc7bcd608753ba9c6a53b1d1d683e59f5fdba6314b93b421cf83b15562e3c64766e3c0000000000000000000000000000000000000000000000000000000000000000fd02613ce8cf35be8089cc3ca604cf392e42673c632e3dbef15adc3c6ab8923824e81e3c8c722bbe15af873cd4195a3b1c77163c774f14be59de913ce795cf3ac1b9123c52ace6bd9cd78c3cc80e2a3ab0041c3c772f94bd2ef0823cb62990bac0e64e3c0c5108bde519733c6c0057bb00000000000000000000000000000000000000000000803f000000000000000057debfbdec28a73f0369d9bd4359db3b5a056dbd81d08b3fbe9e9ebd8a13783b6fcf36bdfe17683f863f86bd0d677a3b5333eebc8b7e313f44db5cbdd581323b4cd99dbccc34f23e3a1c2dbd51ee4e3bf17b05bcc92f803e7a5eb3bccfb4013b38e187bb58d21f3d85c904bcc1facc3a00000000000000000000000000000000db31a1bca4a06fbd1c6f8abcb9072d3cba9c923b38101cbebdd1773c13e9c93b5f0a193a536b25bef1a52f3a30e22f3cdeccdb3a9b081fbe565714bb4b7e3f3c2f903f3b9bc607be81b24fbbe481233c151ee03ba802d3bdf854bab98d52103c5cf6253cf0aa7fbd8386ce3a9c6cc93b6f20473c95c599bc8d0fa03aba07803b7807263cf5ef7ab9c3adfc3b2b5aad3a0c5c1cbe885da73f26f4c73ccbfc77bc189615be08f49d3fcbd70d3c55ed69bc853100befaac8d3f55d0563bed0434bc019bcebde67b6b3f5da506bbeca711bc6849a7bd8b2b363fab6c24bc3397a1bb4e4484bd7a0cfd3efa8f70bca97ffaba1e1542bdb7a98b3e733e84bc886eb83a1f72cbbc970e803dfef491bb181cca3a9feddfbc843484bd9c1bc6bc7177973bc3d334bd41018b3cbfee49bdd783923cd833f5bc8aca71bd8b4a5ebd4939d53cfab2d2bcfe599cbd6cc771bd1f0fd03cffd7a0bc74e9bbbd1f5156bd0c16cd3c34f978bc01c094bde04f40bd038cb13cd017e4bb2d1683bd561a0bbde45ba93c4f3639bb882b1fbd7c0ebbbcc514823c5030843b6dda85bcb40d2abcabe43c3cb43b893b8a5fff3b8e4916bbfbc6083c6fc60fbed44d8a3fa9be613eea0c33bd0f3e1dbe44728b3fd6a33b3edf602fbd04b907bec42d783f4e2f183ef3e203bdd932f8bd8910573fba67d63de9a6c6bc15b3ccbd74cd283fd1c7873d13657bbcc194b3bd4cb1f73e7953e03cc6e901bc03308dbd6411973e06e448bb869af7ba33475bbdc54bfd3de5d403bdda67c63b116e37bd18d99d3b7f515bbdf4aafd3bc77977bd8901893d102ab0bdebf6e43c9eb543bd8edfb33b71afdcbdcddb213dad5920bd9e22e5bc348ed7bd1e671d3da59e01bd859214bd7047c6bda887193d82b1e1bc0a140ebddc98b7bdd844113d304d93bc515701bdbab683bd1bbcea3c0cc91fbce4498fbce5493dbdb38ccf3c3a1365bbbb658ebb1074c5bc7f889b3c59f487bbee8c533c46a18cbc74cb8d3c5f7d02becd12623f0b09db3ee44a96bdf90c0dbebf9b633f63d2c63ec3b895bd846d04be2a29523fb35da33e878470bdc06eeabd54d7343fd5f5763e54de32bd4511d4bd364a153ffd53263eba54f6bc4af7b8bd7b9ddf3e9737b03d673886bc6be39ebde15a943e87ed7e3c8f3c58bb676283bdcc4e183ed32d2fbdcfe9fb3baeb561bd357c4c3de3d4a4bdb4c2273cb2d37abd5293b03df54ed3bdbbb8fa3c1c9455bdf5cb403d473114be64d9433db91f35bd970fa53c32310fbe2571373d03531fbdc65e3f3b34a011be60e6443d72ef07bd82e72e3c2d4adcbd3d72093dbfd5cebcf8172ebbb4dfc5bdde0b233d33519abc147dbd3b885886bda3bdfb3c4df74ebc9a512a3c6f7929bd863cd63cb4d5fabb7d94ba3c8b0ecfbc7ed5b73c59f8d1bd21252a3fbf2e253fe110d0bda63cdfbdc3f22a3fb01c1a3f373ed1bd5e08d2bdcc171e3f3816013f89dea7bd46adc8bde08d0f3faefbc93efd7985bd31c4a5bd6150e23ec0938e3eb6bd31bdeb0aa5bd3973be3e9959213e8608dabcd2188dbd2f00813e50b6683d13ab2abc726671bd9ab61c3e585725bd0ee7dc3bdca853bd41a1833df92ac2bd51fa3f3c242252bd5d54ab3d7462edbd16a4153dfa263abd342e7a3d919435be687b7a3d61c31ebd8bf60a3d97e439be7004713d1f6407bd95d4bd3c242e29be566a583d3a21f1bc1676883c8b8e18be4c9e4e3d0d5bc0bcc05d663c15a0e6bdf7cc323db5d58ebc8d9c633c6611a3bd0859103dbb1d68bc07cea03c00f23ebdb6f8f03c647630bcc91ad73c22ecf0bc901fd73c779894bdc6b3e43e90255e3f5c9903bebf9ca4bdc941e53ecf78543f6dcf08be2a58a4bd609fde3e06dc343f777ae1bd9cc096bd643dc83e45750e3f50dca9bdcb4d8dbd4988af3e79f9cc3eb5d570bd235382bd6a5a8c3e9b9c773e8a5b14bd1e9664bd85a44f3e8f4abe3d5f0d28bccf8144bdf531053e6bbb19bd1fc32f3c47c42dbdd8c4803d8a7ad5bda271553c37860abdd3898e3dee0408be27f1433d1306e7bc6f086a3d0b9a4ebe62b68a3d0b44cfbc2c181d3d70234bbecea9733d4ba0b6bcc74afd3c75c646bed441723d2ebaa1bcde4fc23ce54a20be274f3f3d259c85bcbe2eab3cfe0402beba0a363d6ab757bc87a0aa3c501eacbd482b0d3de7092fbc7eb5a63c624e32bd2137ce3ce51a0bbc3ab8c93c8876a8bc7786b73c26e032bd90d96f3e0348893f8da015be54e849bd8a266e3e68b4853f8db91fbe182245bd48a4713ed460633fd539fcbdb00842bd5c6a643e42b6373fac46c9bd516e28bdb2754a3e0c01053fcd748bbd923523bdb1752f3e2ae3a63e68ef25bdba5410bd5845063e07ee123eeb647cbc5d37ffbc0da0be3d57bddbbc7e8a673c0fc7d9bc59bb4b3dfd75f7bd7f89ae3c23fb3bbc5b9e153d64f311bec4853a3de6ab49bc5104493debf967be56b9973d25140abc80d5003d0e4865be872d7c3d97bff4bb1c43ce3c90a052be1277633d6fa3bebba2c3ac3ca24331beb5083d3d5d73d1bb92fda33c0ac905be42161e3d244accbbdf60923cad1ca4bdc7d3e03c2c8edfbb9c15ac3cd395dbbcc654583cbb5a80bbe993913c7c7636bc39a1973cd01074bcf7ef043d330fa73fcc2722beb7d79ebc2d2d2d3dcb649b3f0b7c1ebe9edfa9bc7d667b3dd877873f400401be2ec5a5bcc0c7903db8ce5a3fd9b9c9bdb2438bbc2228923d83cc223faec191bd060886bca7fd883d9742d03ea53a30bda0b06ebc2573703d23b63c3e854f48bc7c0f3dbc512a553db11ba6bcf1e5be3c4d360cbc2110b33cb7a209be0dfaa53c000000000000000000000000000000001f80103cac1d0a3ba5b536bec667183d1a12e33b08b7763bafb039be40ac0e3d270ff93b65414abb525f27be2ca0d23ca0d7b93bab4a5abb2fae0dbe9e35be3c83e8aa3b9ca9e5390decd9bda8e2963c515d443b23f9b43b37a186bd5e285a3cfe359e3aafc9ce3b85a8d0bceb241a3c0000000000000000000000000000000000000000000000000000803f0000000088c3ac3bdb53bbbd4338a73ff7bedfbdd34d073b075155bd0a4e8b3fd2179ebd363f283b6ed712bda781663fce5381bd142f123b5c07b6bc268d2f3f44f24cbd68d63f3b4c9d75bcc1b3ed3e2cda05bdeba09c3b7bb4e8bbf3ee783e7db167bcd5dcd33bd92fbcbbd40d023d57d3bd3a00000000000000000000000000000000000000000000000000000000000000009c2150bc2308a2bdcf8276bc394f8d3b54b302bce3babebda27523bc4a8e263b32ae32bcc328a3bd74f98cbc639c4b3bc72829bc2c6892bdb65f73bc79603a3b0b3009bc1dfe83bd268508bc4ad2ab3abc9804bb6e7f6abde5b40a3b480848bb646e943b2d1c2dbda424373c91654abb00000000000000000000000000000000000000000000803f00000000000000009ddd50bdb7c7963f04c27cbd7ecd623b41affebc03e17e3f0cc03dbdc9a37e3bde74bbbce72b533f533e27bd7403ba3b378b96bcb68d253f634221bd388b893b6bb198bc138ef03e60891fbddbef903b8d5890bc1e5f913ea28d00bded229b3b104fbfbc52e3ed3d494208bd8e79763b00000000000000000000000000000000231f36bd5255a93c4fd75dbdc43c853c9e471dbd4ce045bd40a532bdd65a6d3cc7c116bd667d65bd11cb50bd857b863c167c0bbd088a53bdff6d54bd1fda7f3c7a46f7bcf52025bd86164abd7f2d723ccd6fc1bc2a6019bd9d3020bd1d44503cc8ce81bcd673dcbc6910dcbc8ade303c3afea5bbc68f85bcf99310bc826eb13bec358fbb9b6da53b5ed410bcdc4fd93b5a31c2bd4113973ffe17823d819f4dbc0958b3bda7a48f3fb9003d3d79c521bc204498bd73807d3f0cbe183d9e7deabb546d85bd83a0533fba4bc13c3c0a80bb66da6fbd7188273f7d41dd3b701047baf80c5ebd38ddf63eeb6d17bcc4456739d2c259bdd8b29e3eb89bdcbc9881673bfcc556bd1dc70d3ece7c1ebd6eeb953bd9e14fbd2de8a93c070458bd4a1ef83b5f2380bd68e5983d0e47a4bdc212c83c8bc385bdb79c2f3dda1bcebd8210023db9c164bd003af43ce8aac8bd3efdef3cd7d95ebd6d68953c3c4acebd5ed5fe3ce40a43bdd856ab3c0d33bbbd45f0e33caa7230bd923d923c4b73aabd39c8eb3ce8fc06bd4655b93c24bf88bd62b9c73c485bd7bca9f0bf3c3c9a51bd8f9fb43c03f791bc99f0173d6d1f1bbd1f1b9d3c0232bfbd17e37b3f5cda6b3e22a6eebc9834c6bd9b31773f6684453e13b2d2bc281faabdcc30573f5a14273e83649cbcd984a6bd2e363d3f095df33d3a9e52bc0eba94bd1aa9173fb690a23de51411bcdb2497bd359aeb3e00780b3d32ec6bbb97608bbd1e8e9f3e27f149ba2198e2390c0e8cbd20da383e799433bdf355e93bf8b17dbdda06843d567a83bdccfee53ba4cf8fbdaef2dc3d7966cdbdbea9fd3cdccf98bde8aeb23da16d07be58792a3d42a28dbdfaab8a3db20b0cbe37832c3dda8181bd92316f3d41b309be4182273dc9ce6ebd07e16c3d50c805befa362c3da14c53bddef6503dcbcaeabd7b84243d93963bbd3bfb483d2e79cebde70a1b3dbe9e18bdced9523d896ca7bd22ae123dfc7cd8bc2c3a6f3db7e084bd3bf60c3d545aafbdebb84c3f7095ce3eb91a42bdb585b6bde1cc483f2d60b83ef0c12ebdb1d0aabdc74c363f90af9b3e2e5e0dbd7d879bbdd2a81e3f4a13723e2e22c1bc38939fbd26ab033ff8832a3ed48b8fbcc48796bd375bcf3ecc90c83d12713ebc0eae94bd76e7973e3107ef3c686157bbb8aa92bd2f16403e3369ffbc2b5a763bb24082bd8cbcb63de2628fbd15b1873ba9a98dbd357ae23d6702d3bd2346fe3cfb0b90bdd526d33d33e816be5898453d102984bd63c7ad3d358d15be0967303d7ed583bd12a4a13d133d1fbe62544b3d7fa557bd4a05923d4041f9bd7161143d0ee55fbdcb938e3dc95b0dbe383c4d3d430d3ebd8b9f833d93c5e6bd32ad313db0902abd18cb873d1254d1bdde773f3d2b4dfebcbe52893dc16ba1bde5372e3d7da78fbd11c71c3fefa9153f94487fbd5f5592bdf437183feec5093f814676bd47a386bdfb6a0a3fa718e93e9eff46bd468f8bbd3a1bf93e0df1ba3e0ec21ebd049e75bd67aec63e3b74893eab59f4bca15986bd5e07ab3efffb2d3eca8b9abc39f179bdc9ea7a3edea0a43dd51f47bc58c283bdc1c22f3e2e0d37bcc128e0b9718d6cbdd853b93d9a6489bd2534003a9ad86ebd12f2c23d99d1d2bd05bb003d0e0072bd61f9c13d69c821be522f593dbcb369bda923a43d5d0c2cbed10b563dcf1e61bd9275973d743e2abec9f84f3d1b7a5cbd59be923d122724be942f5b3d16d14dbd0ffc883d6eb214be4d07513dabcb31bd00ae823dcb5d04bea2cd543dcfc518bdbfed823de3c0dcbdbbc0553d6549f8bcd77b863d5294a9bd3b36443d702451bd6c9bda3ee825463fdafe9cbd93194fbdc51ed33eb7db3a3f258aa2bd4c1146bd6150c73eaf4c203f1df984bdc99144bdad3eb23ebbe6003f6b274dbdb8b943bd73619a3e3312c23ecbeb24bd337d43bdb8597c3ec9527f3e737eecbc079742bd2223433e2f30013e2a8f6ebc2dc241bdecb7083e5d8d473c307d8ebb87263dbdf193983db7dd80bd947493bb21b11dbd97478b3d454bd4bd335b123d7db126bd5f44903de59628be3891543d0f0e1fbdba976a3d2fde1dbe0dd12d3d23021dbd0ff15f3d6f862dbe251b4c3d038c18bd704a4e3d7d0218bed349353dc2fb13bde061553dc82615bef1524d3d33f201bd6832493dd82eeebdbc52383ddadde7bc5c225f3d8d6dd5bdecf94f3dafc6a9bccb07533d97729dbd4ac6423da0ecf2bc5f7e7c3e8e5a763f261bb2bd0711eebcfdde713ef37b6c3f1662bbbd2d56efbcdeb4693ebc10463f135e8fbd8397efbc2334573e7038253fa46777bd7e3fdbbc3cc3393e9731f73ed8943ebd0f5febbcc8bf1c3ef467a93e5f2b0abd7269eebcd1f0ec3d9c723b3ec10fbbbcd700e6bc1a63aa3d6d6a0d3d1f03e9bb4cf1f2bc3880383d6c5c7ebd1be83dbbff3d80bc17a9cd3c1541bebd3623c83cfd6465bc2432093d76d12dbe6dcc4b3d629486bcaefbe63cc7862ebee52e2b3d3f458dbc0c73c43c0f8222bebfd9163d671996bcb5b9ca3cb48914bef5bf183da27988bc6d62d53ce4e704be6eff193d3bb379bcfee0f93cfb99e0bd25791d3d89e041bcf484103d165aa8bd7298283de54054bc50ebf53c817a79bdc63d243d0f5d3abc1077973d6a54953f4c99bfbd9dfa24bcb49a9a3d980b8d3ff2ccc0bdc30f32bcdbf6a53d072f733f887a9fbd3a830dbcf0eba63d76a2453f71ec7abdec6b10bc7216953d4921173f184e4cbd22d508bc6c936e3d6277d23ed0ea19bd7cc51cbc539c323de992693ef14ecbbc757be4bbad5dd43cd6275e3db74f32bc5a2f1dbc12b7003c7b6f6fbdae3431bc000000000000000000000000000000001a46973bf11e20bceb45d7bd8110353ce001303bc9fdd0bb2a3fe8bd9f56523c618f14b96d350dbce116d2bdead4d93b0ba905bba37c13bc1c45bdbd47c0cc3b35b564bb906ab2bb5658a8bd117b113c67f6cfba2ea1f2ba20e287bd3249513ca37391bbdd54133bb3ba52bdf7b2893c0000000000000000000000000000000000000000000000000000803f00000000b0b6bd3b864652bd015b963f872182bd98d9d83bcfb5e6bc9afa7d3f7ef03bbd445edb3bd1b795bc95e5503fe6a615bdf118f63bb5c26cbc8b0d233fb5c803bd8ababd3b6cf165bc8f3ce93e8a94debc59e5e33b4fe183bc9b5f8c3e8826b1bceb8a073c4e5eaebc035cd13d5e0b98bc00000000000000000000000000000000000000000000000000000000000000009d28173df2c35bbe5dd2423d3d03f1ba30b9d23cfe2e4fbec3700f3d55ecc73a31aac73cb9d74dbe8969cf3cd611a23b9cc8903c7faf22beb815a23c459e4d3b2cc83b3c7139d9bd6ffb303c00a9963a8978b23b63c562bd4a40d03a4826023a907788ba6b16c5bbda1a19bb6f7175b900000000000000000000000000000000000000000000803f00000000000000006e1a00be4851ab3fc6e801be6861873cddc89cbdcc3c8d3fc312a4bdb1b0343ca5b280bdef946e3f59227ebda8d1fc3b2ddd27bde37f303f47d23abd2e67ed3b135b90bcc6d9de3e8c6b67bc70ed9d3b17a9e73bb20f593ea0a30b3ca8953b3a4ac6c03cc02181bcd801e93c44bfdbba000000000000000000000000000000001ba4a03c80d5e8bde5b60d3d1ff9883aff9cdb3ca20016be1a2b0f3d98e5413bf215e43c055547be494cf13c1082123cab3dce3cba9b41bef037b83ca6ef323c3d3ebe3ceada20beafbc8b3cd81d153c63a59b3cfdd7e5bd5313eb3bd0f0133c2745553c297e6dbd2ae6e23a0bd2e33b8dd2023c7dbc91bc195f47bbe2e99e3b76f11b3c08d55d3c171e853b368f933a45bc47be49a1aa3fb9f00fbbeaec12bcd0ff21be260c963f4741a83cbb5169bcaf201dbef0878e3f1448bfba665d0fbcb50003be6b786d3fd6df6139e834fdbb6fcbc2bdbfca333ff710123cac9fb2bbaf917bbd8a07ec3eb10aa83cd6689bbba1c9f4bc7fa1663edab8e33ca228cfbb33a8dc3a46065c3d5ab8063d87031cbca039603ce5eff8bdaffee43c7654f3bb4e593cbce68c0cbde299843cd496ab3b92b5063cbdd5f1bdb782183c9c395d3c4cf4553c407020beaba4153c7d2d713cf6c7893c775522be209c193ced8a803ce86d8c3c8a7c0abe5fd2003c7f2a4d3c9dfdab3cf8d2ccbd5c2a233b31bf4f3c5c118d3c9c2261bdede69b3bced5263c8301873c2803b9bcac88d43b8e170a3c79b6803cd7e2183b63703b3cf56ab03b57b32ebef6858a3fa5824f3e39c959bdb2b042bea2f88c3fe9532b3e9f2643bd4b2236be0feb823f5df2013ed4e117bd88f51fbec0a55e3f4078ca3dde58ddbc8500f9bdd6642b3fec34963d406aa4bc0a3fc1bdea43e83ea6cc833ddcb89cbcd0766bbd221b733e6ebc353db9e55dbc460dc9bc318a893db5d8c23c832d4cbcf1d771bc4f7822bdbfc27f3b22240dbc557cfcbc1d5c723a2c6d90bc831b313cc925c3bbe7e490bd687feebc2a62b73c6cc810bba5bee0bd8638fabc490bbd3c2b629d3b995ff2bdcf8cc7bc1ef8b23c7996183cf72adcbdbeeb76bca9bd933cbf632f3c501ca8bd6f7703bc1b71533c562d773cb91e4fbd42984c3a5c1e473c2b5f473c057992bc57fffa3b3f421c3cc495823c297e5aba40fd973c37e5b13b143c24be3709683f8b9cd63e60efc0bd94cf34bef9ea673fb6dec53e46fcc1bda8b32fbea8bd5a3f512ba23eacda94bd2cca18be6b813f3fa838733ebb5f5fbddbae07be3fb4193f4dc1273e0e1311bd7e10d2bd7893d73ea63bdf3d6462ccbce23f89bd769f783e5043683d566285bcf3c932bdb791c63d8a2cea3b9d3908bcfe6005bd0b86e5bbb54eeabcd0376ebb70c009bd7489ea3c42f04dbdae4daf3c079d9fbc24dee2bce4289fbd17b4073d0e69f4bb5d6f7dbdacc0a7bd877d053daabf57bb3764a4bde6e589bdc13ff83ce7188abbd7d788bd4dcf3bbda9139e3c3459013cbe6383bdc4f4b6bc1a529c3c327c163c233f18bda9dda9bb536a5f3c930d3b3c8141acbce44c133c90e7453c1856023c5f4752ba2cbec63cf2d70c3c30f900be45602a3fb7ea2b3f25920fbe124d0fbe1a982c3f6085203f443c0bbecd670cbec346253f5640093ffcaae8bddd5707be4913153f3f8dd13e1332a8bd7a65dbbdfe10f33ee7b78e3e54ed50bde5cdc7bdc4deb93e2ccf293eacbb05bdaea892bd42e8653e5bc3813da6eb5cbc9a133dbdc780e03d4cd60bbc861a26bb919b0dbdc146b73ca7aa8dbdded24b3b60ba00bdd1bc313d94b3a0bd069ed13cd07b8cbcad14263b9e83fbbdba27443d6801fcbb3562dabcea9d08be319a363db84288bb849626bdfc4ae5bdec07163d75a12e3a1e6d43bd9d0ca8bd6d1bfa3c6d1c503bd56033bd877631bd9303b83c3d85f93b9463f9bc5c943dbc187c783c5af4e13b34ce82bc7b8ff33b4eff273c3700033c55234dbba581c53c8fee353cdb60a4bd272dd53ec16b693f8c6033beb2d3c9bdcf08de3e07975c3fb1f931be021fd2bdeccdd83e3058403ffb6c14becbdcc2bd067ec83e8803173fbd9bdabd90ebb9bdf98bb13e0a35d03e0a7e8cbd6384a1bd2bf88e3ed61c6d3ef8be22bdefbd82bdb75f453e9a1cb73df0632dbc192d36bd5523e03d8446b2bc1ecd053c700804bd1c5c333d0ed5c4bd9f3a113cabfcc3bc8d06453d9cc0cfbdd7861c3d60d86dbc9b47c23c74d82abe1ef6633d3a5701bcf998333a26663abe4d235c3d26c28dbb094f58bc4a5423bee438363d90e105bb0bb396bca85ef6bdc0fa023d5dfc9bb9543ac8bc0ba196bd79c7b83c1b2915bb63f5a9bc4e3eddbc56754e3cd0721b3a9a8357bc3d6b793b5925d33b9d312a3a31202bba4672b83c96bdaf3b7c6832bd5cd54c3ed8478b3f9ecc3abefd2756bdd70d533e1b8c893f269644be4d7e6dbd812a573e3b82733f43dc23be399665bdef77513e0cd8413fad49f1bdf72457bde8af453e46d1093fe9239ebdc8405abd8191343eb82ca23e365617bd70c325bd8175143e76a6ee3d789cfdba219707bd4f4dbd3d4b7dc2bc5fa9a23c91e0c1bcf8543e3d71b2debd65bfb13c9ec7fbbb7c71123d891818be15a0633dfe4546bc8383eb3cdbda33befc466c3d99f1b1ba3eb42d3cb15856be4c2d5c3da57f65b766f69e3a0eb545be17063a3d57419dba3f83d9ba03af1bbe75fe013d82a6ae3a3cdd1ebc9576cbbdfdc2b63c9b0b6bb9279654bcd8262cbde46dce3bc71114bbc52c20bc42ed56bbbc923ebb294d88bb05f8b03a6fe5da3c339bf63ae076c7bbdc9971bba729ab3ffb5b50becd0d93bc6a692d3d0402953f926c23beeaf6b6bce22f2c3dfb158b3fc3e312bed4f6ddbc44a8733d2eb4603f5f26d8bdf71dd5bc77ca873da141243f024f86bd6852c7bcda72983d0bc2cb3ed27be0bc269fabbc6005943d755a2b3e958fc73b3a01a4bcded8713d150c133c7d69f23c1d1f1fbcdb710d3d8a2c27be2bbd313d000000000000000000000000000000001b08033ccebe823c12545dbe91ae553d60a90d3c95dfbe3bba0452be23c8213ddbd5243c5e8215bb6a3e47beb57ff73cc83deb3bbbdd63bb8e5e25be1956c53c3aa16c3b4e61a2bbfe81d8bd8271183c9a88aa3aa9e8aebb329852bd13d6eb3970024cbbfbb0b9ba59be9fbb2853c6bb0000000000000000000000000000000000000000000000000000803f00000000fd7b0d3ca65eedbd6349ac3fd1b300be893699ba53c879bd9c058e3f1b509fbd33c8b0bb2d053ebd1011713f5b497fbde97851bb1e9adcbcfa5c343f330711bd0aec3cbb4a8ff8bb180ae53e8c4223bc0ea5b1ba859bc83bc04e5e3e275b463c3842153b589e523cd64f0dbc5014143d000000000000000000000000000000000000000000000000000000000000000079a3213db0035abe72f2733d343ce7bb5aa1103d14f652be3858513d90e58fbba359103da1ed4bbea43e2c3de5e72cbb9324123d74a629bee2c9093d7d44bfba9684e33c9a20f5bd9382b23c8ee414ba2e37a43cdc577ebd235bb63b3ce10db9db799c3c24fe8fbcee737abb4e883e3a00000000000000000000000000000000000000000000803f00000000000000006233f8bd0657ab3f83b3efbd68d8313cdfada7bd23868d3f5a5a9dbd483aae3b151090bd49306d3f2a8972bd6986283b42995ebd098d303feb5623bdd802933a8c9fffbc0edbe03e65cb49bce61886baee87e1bbad25543eec96463cd50262badff8f63bef07a1bc2f6b1d3d172b53bb00000000000000000000000000000000975192bb993fb3bde7edbd3cafab8d3bdce2773c2ea303be011c003dec4c543bf4c1a93c59242bbe90ab083d0dcb8d3bc79fea3cc27733bed424053d2a3db73b15d4fb3cfe681cbe28cadb3cd214ab3bc9a4133d8b4af1bd30bf903cc943943b017d183df42499bdcd84c73b4361d13b4fbb073d0639e3bc112203bce00acb3b92b12e3d023e16bc0f4baf3a56957f3b107924beca05ad3f1f7ec2bcc3cb11bb890f10be8c95993f7dd264bcc5e7a2bb38d10bbe44b1903f1f590abdc6e166bb13ce01be9c93753f9b810abdf9ee3dbb18ced9bd80ea3e3fc5f5d6bc70ed5ebb6dd8a9bd9d4f023f06fe58bc5c3486ba6a5b79bda15c8d3e34b1223bd6e462bb3f68febcc5ac9e3d05e09a3c1dc287bbd8d5f9bce5f1c6bd46c3cf3c345994bb530452bd1bf81d3d2c85dabc1069353cc045c6bc83f668bd6e38febb518f503c4fe47cbcd37cc3bd815d11bb87b7443cd757403a8922f1bdd18b1b3c207e113cd4d40c3c022beabdc6c74f3c51a3f53bd580be3c9e28cbbd8dbc5c3c5311e43b561e073d63b38dbd37253e3c05c8b23b148f313d233b40bd1a0e163c6052af3bbb1b1f3d95c48dbce709543c80fcf33ac412edbde8ab8a3f506b123eaf17d4bcda6912be1e538e3f04edc03d935ca7bcb0d70fbeebfb853f8404423d759654bcddd80abeb2286c3fb739563c185715bc0a4d00beb775413fcc4737bc89365abbc940e9bd8c600f3f4985a3bc6a92bfba2bf5c1bd24b7b13eaa8cfbbceed3e039fa68a0bddcee233e7bc8c2bc10afc4b9ee0f87bdad5d1d3dc7db0cbdf23813baadfbaebd2ba2f63ddbf6aebd63c8ca3ccb355ebd62fb003dcd1e90bd5a48dc3c16422cbdfeb163bcb0fb4dbd3ee4b23cde06f9bc761824bd063dfdbcc651893c501080bce2876fbddcc133bcaf724e3c5e94af3a7fe465bd79e56fba6e3ffe3b34f44c3c09053bbd8b2e193c9ce7b73ba720fd3c60070fbd6f937e3c36d7ad3b3f83da3cf5b259bc63f8bf3cc4bcecba0d93b8bd86fd5d3f230aae3e9f435ebde5aee7bdff8c653feb1a8c3ee50145bde6d6edbd66c15e3f336c3a3e9def07bd9e35e9bda62b4b3fbf08c83d777697bc7abcecbd3b93303ff92dcf3c480c02bce238dcbdc5710a3f8e99aebc718d1eb917dbc8bd24a0c23e1bbe7abd2820ae3b4755b9bdc87c653edfc8a6bd5536e03bd4fc9fbd7c62ed3d9d9ad3bd726d1b3cce86babdac21263e5f2d0ebe5f451c3d6f1193bd15d0ca3de47908be2417203db53772bd01e6663d4e9be6bd9059003dd5d33abd928c8b3cfc4f99bd9fdecf3c485a2cbdd781823c2fe06bbd9a79883cecbca1bcebb98abcdc0c83bc6e4c243cdf4201bc1c6d3ebc8b96bfba0891c63b76809f3b7da748bca3359b3cd556a53ae646123c6741dc39bc47f33cd6f78cbaf10d76bd88561d3f133d163f2da3b2bda8269dbdc13a263f668bff3ee34ea1bd1b4ca5bde3af253fc09dc03ee46b62bddc19b7bddb9b1f3f3edf6a3ea5d313bdd414a4bddcd0093f2021fb3d91dc7cbcb45db0bdef14f23e1fa1ae3b466dc8ba2879abbdbf04b43e664c89bd006e0c3c0ab49ebd867a7c3ebbb302be17388c3ccb6493bd0d351b3ee26628be618fa53c069e99bdced1253ecbec2fbefbcd3e3d1af77cbddc16f73d93873fbe35f6683d717158bd902aac3db1d12cbe56d7453dd76436bdd0126e3dfd9103bee46f093d11c91abdff180e3d83eaacbdb5f7c53cb581d3bcdce9753c5b9836bd16c1613c896c40bc172b9d3b073838bc180ed03b1aed81bb816dd7b9fd288c3cfba3cb39dcdb6cbb10a4403ca7ade63ce4c615bac7e806bd9470bc3ebcea583fc4b6fcbdfefb54bd6ec6ce3ec40e423f047fefbd23c56bbdb2fbd73e23261a3fb1afb2bd3ad470bd4149d33e4881d53e1a4d62bdc59f7cbdf82ac93e2eca723eddc4ddbc27a483bdd3ecb33e965eab3da775c1bb100181bd4773933e2a3037bd8411383c484183bdf6ad613ea1cb0ebe5f0bca3c0b0257bd1f21183e87ea47beecc4d03cfd874bbd7daa063e25a73ebe3a516f3d764e27bd32e6dc3d900464be711a8d3d57ad0bbd5101ae3d236b5fbee50a773da4d1fabca5038c3d170038be508e413debd9ccbcefdc543dae1806be311b073d69788ebceb300b3d461c9dbd4c87943c1b5b75bc89e0b23cb31004bd3ad5133c2860b9bbe2660b3c23c2023c62001d3bf39de9bb369e703cf7a8f03c497d92bb30ed93bcaabd243e5db8893f90ee16bececaeebc8ad6373e6a03823fee2119bec8bf02bd604c4c3e1893593f684eecbdd4c913bdb11b523e9f9e213fbd539dbd92250fbd96f2503ee398d23e9d5e2ebdd09821bdc4fc4d3e7c7e493edbbd29bce4ab1bbdacaf393ec106963c02b0503c17bf2fbd2be11b3e700ff4bd575be93c1af210bd0275ee3ded8d53bebcdb113d624189bc59d1853d59b945bef18e8a3d73e7a8bc083e983d62205bbe43ce8a3daab566bc22ee753d395768beeebb783d1c9d43bc34c25c3d921f4fbe28c8503d6cdd27bc89752a3d56171fbe4c1a083dde6c13bcb971033d335ec9bda899913cf304a6bb579e993c25c137bd8697bf3bd4ab89bbcf17083ce327da3b4b460fbceaeca8bb72e2593c5bd6f33cf566b2bb19d4d9bb7f0ba1bcff79ad3fe8853dbec1eb1fbcfda7a23cda20953f135c18be95d356bcef3eed3c09e8843f9a1affbd70f485bc32df343d4a49513f77dbb7bd075d5fbccfd35d3de4dd133f31764bbd230d8ebcfa588c3d7548a93e7eb75bbcebe692bce3e2933d08dadf3da2494e3c5e64c5bc42b0a03d0eed6cbd327d1c3d20fa77bc137f4e3daacd5ebecf0f453d00000000000000000000000000000000eac7193c3527403cb3064cbed50f553d7f73c83bafd47d3c6fd545be033e343de75f103c58522a3c8b2840beca67113dc85d003ca030503c9b6820be84c2de3cfaf2083ca45e153c92beddbda41d813c35ebb63b78d6d23bad855abd90282f3bde1dcc3a57d0ce3bf80001bcb5ae63bb0000000000000000000000000000000000000000000000000000803f00000000e1b3783b8d6cecbdab74ac3fe2af06bee3f2533a468096bdbc408e3fa017b2bdfc3db73affcd80bd799d6f3f720b89bde6a6043b234f52bd2e73333f0fd92ebd9c989e3afb740ebd7094e53ebe8e81bc3dd5073a269a86bc913a5e3e70eb033c785e7d3ba0461abc77244bbc11b9f63c00000000000000000000000000000000000000000000000000000000000000000659c43cb4704fbe1b07423d10b735bc95eb123d78045dbe203b363d3ec206bc115e243d4f2356be4b25223d6e53f1bb2a88403d824f42bea2f4153de132b8bb012f4b3d6af61dbe9015f53c7f18a9bbf47b553d46ead6bda677a83c910f9bbbb8a4753d5a678dbd60ca703cc8dd8fbb00000000000000000000000000000000000000000000803f0000000000000000678bdebd5bcaad3f34e7b7bdb42d113b1aaab0bdc6a8913f4ee357bde6fa06bbe562aebdecbd733f8e6d15bdd41d57bbbb20a5bdeb6f3c3fad62b6bc73519fbbb42295bdfeceff3ed6448ebbe3b75ebb652971bd016f843edb3c5f3c459b5ebbff4670bddede173d1a8c013d9f9162bb0000000000000000000000000000000052b591bd4844c5bca2da4f3bb287cdbb1c7717bdf755fabda3f8ad3c0caf3bbba6e0ebbcf93712be282fa93cf2a5a8bb73db5cbc76ff22bed1b2cb3c95179ebbcc2da8ba20f61abe98c3d63cddbed9bb629d883c660408be790ed43c01ccb1bbc5d4de3c3126c5bd7a86a03ce7ddc0bb3ebe343ddfec64bdc99e503c922b9cbbb9f84d3ddf7868bd7beeb43cf23e8fbb0c82a6bdb809ad3f2a3721bdb4bc583b3d25b2bd947aa43f91e609bd613da2ba6062bfbd776e963f0cf121bd2b481bba7d3cc3bd1166813fcd4011bdf4ce7aba7e77cbbd0a2d513f8c8103bda979a8b94113d1bdfe95183f2888ccbc449ccdb94d68cabd4899bc3ed7c682bccd3ea839b3a5b9bd99c50c3ea27ba73b75380d3b67f3e6bd90fdb93cf0b3aabbf154e6ba315b06beb3180a3e99dc74bdf07aa13b4a43ffbd2a085d3d865811bda0a7db394de7dbbd99a2563bc789c6bccf548ebaccb7bcbd767103bd3ee00dbc630f60bb551d9bbd78e53abda5546e3b63c0c9bbc6cf5abd13cc7ebdd382733c2b93ddbba8f905bd369c6ebd1362b53c1ecfe9bb4c3c09bcc59172bd5205ff3c8c9609bc0de137bb693404bd0c75103d7dc60fbc55f5fbbbece7853f9baab83d166ec8baf8d3b0bc515e8b3fa378073ddd8aef3989741ebdb39f833f1163b63b67d13e3bf4e744bd6f316f3f81c2d5bcfb5b403bd58281bd0cd94d3f30a14fbda873a33b07f89ebd9458283f65ae87bd30fd623b5598b7bdb14ef73ec3fe9fbdf3eeb33b5e2bd2bd3c49a43e75759dbda9cc9c3bc038ddbd1655473ef850c7bd5eece13b98371ebea2037b3e92ef0abe28cea23c27cd25be8289413e7780eabd60a6573c3f8e16be5857063e0c15bbbd46ac0e3c90d60bbe3d3dbe3dbb6d81bdc643413b8e9101bef671803d393d19bddd366abb3752dbbdcb8e093d91a952bc7ecfb4bbcc54b1bd15308c3c28770b3c1d0527bc8ec986bd73a17bbb15cb0a3d8fa147bcf1ba50bd0f918c3c4e561f3d31835dbcb0ecfc3cec05433fd79b873e414119bc6a4dfa3c526c4c3f0f78393e9af481bb696d813c790c4b3f8b4cd93de2ba543a3fb0c33b87d93f3f661f003dff61b33ba7c71bbc8824303fd28f27bde36b123cbf90c8bc1b17193f3fabb2bdf577243c210942bd6987fd3e60cd07be8c92623c21b578bd92f3c53e7f622cbed809653cc604a7bd3ede8f3e595a43be49a58a3c7bac16be98cb8d3ea93c4bbe266b243d7da01fbec70e823e39ff44be55f6033df93f16be1de9533ee3d625be99facb3c386d17beb559333e55f703be3569573c237804bef63c1c3ed8aed9bd8116303c06dd04bec8c5e13d74695ebd4bffcbba8d29ebbde6cbbc3d0302ebbcf7f06abb8668cbbd41c3743dba535c3c6a9d4ebc300ba9bd5ceb853de10aa73cab1f3bbcd17c553ddd45fd3e5ea3003f822de0bc7715613dfd2b043fd363c93e17598ebc434e303dfcd0073feebc8f3e98a2cebbae87293d406d073f32601b3ecbad503b42407c3c6531f43edb3f8c3dc00e443c81458d3c4842f03ebcbe83bd1f5f883c8af8cbbb692ed03e710e0bbe6979a03c76f883bc4758b63e0dd256beab26c53c6f9f23bdacf58e3e114781be9b13e83c4f3ee4bd2c31803eb7e572be8c137a3d679203bed9a2813e54f884be09be6b3dc99601be24615b3e8c2a6bbe08ed3a3d20d500be1755443edb4244be0c87093d7d6a00be04852c3e3cab19beba83b63ca080f4bd85ec113ecc80cfbdbbad533c59cce8bd2a3df03dd2ba77bd402e9b3be3edd6bd8b7ebe3d5c948ebc717997bb2391bcbd36ccc43d896e16bb230ee3bb532c403d2e1a833e254b453f64625cbd2da0673d96078c3e62112b3f8c1635bd1247573d96c3993e4986023fbfd9c2bc3fe3473db0409e3e49acae3ec88534bc8db3443de1b89f3e6ccf363e7273933b69d70c3d816a9b3e84a0df3c3551463c90d4cf3c69e8933e8aa5cebddf24b33c201d703cccfd883e85fd57bed57efe3ca8cfa2baee195f3edf3489bea8a70b3dcc828abd50203f3ee38a86be35a09e3d0fe8a4bdd025453e0c7a9bbeadf89f3d04b5a4bdd67e313edb4492be53968b3d06c9a5bd049e253e312681be82d4633d163ea7bde529173e8c574fbef4792b3d2ff6a9bd58e3073e6be81abe11b6ed3c2b66a4bdfd86ee3d4af0d4bdf078a53c0e50a7bd6a27ce3de59444bd382cd93b143897bdd439c93d7723d1bc87e2b53ae427f73cfcac943d2b42873f4f86a5bd7cb0153d8a50943dec8c7a3f4ab99abd4963153db6b9cd3d1ad64b3fc99e59bd301c183d9d07e43df66b163f89c4f6bc2f9c153d3775f43d0c35c13e85df24bc0e43083d4bae083e1134313ea409bd3b552fe63cf620093ecd9f41bbc740a43cc7e7d63c0b9f103ed4ce31be4d2b0a3dc111943c4d10f93df04c83beb9a2273d0da5a5bc2f83a43d92e475be6767a23d9ad20cbd9e6be73d61019cbea313a73d318202bd3d6bd03d946395be1da28f3d3b4806bd97a4cd3daa5189bedb247e3dd5e208bdbeb9c63d4d5a67bef9bc4c3d7f3011bdc39fb63d47962dbe69641a3d83ce15bdd4baa73d1e7be3bde9ded93cbaed17bd2bb3983deed83cbd7cdd2d3c031b1ebd9f45903da62a34bd3f7c873c6e5f123c9bf462bd89ccad3f4daeffbd09d13e3c382f42bd927f9d3f2c8acdbda675853cd0920abd0809863fcf7e9cbda878783cd0b5a7bcec7a523fa4b452bd8e07953c171c5cbc4713153fbc9addbc7ff58b3cf433a93b9d14ac3ee825dfbb06059a3cafe7913c81ebd43d7ea9523c65a13d3ca2f4263d7c3fe4bddfef0f3d6277b73cddcf5e3cff1a57be896b0a3d000000000000000000000000000000001b7e6b3c7dae663a48a354be35334b3d9828293c64c1593c3e5b57be78db343d8b3e433cd22d663c78644dbe081f1f3da77c1a3c1c12a03c01ab38bee39e183d3dd1023cbceda73c78a112be680bf73c6f51cd3b98c6c93c5eb4bcbd6f90ac3c917d4f3a5e2cf33cfa717ebd254db63c0000000000000000000000000000000000000000000000000000803f00000000ab8a87bbc22de9bdbc44ad3fd36fcebdd0e60dbb1360b8bd2d56903f093687bd4ab319bbac21b3bd723b703f4d1b55bd2762653b5feeacbd64a3373f15a420bda352a13bd6ed97bd68e4f83ebccfbcbc2f7cc83b93e074bde3647c3e61cec2bbc62a6a3c4dc882bd8fee0a3d3ee3c63b000000000000000000000000000000000000000000000000000000000000000095c05e3cd80310bdf99217bd0e100f3c8a90283cf73b24bd36f4f0bc9c09013c2443213c47d216bd9b48d6bce185853b546bc13bff3105bd828fa1bc7599953b190f473b6b68f5bcb57f7fbc92849f3bcdff85ba7f02d4bc5d7136bc0dbc903b974081bb37e68cbc6655d4bba818273b00000000000000000000000000000000000000000000803f0000000000000000238d24bd1c2d8c3fc52aafbc375005bcd96fa8bc3de8693f48626dbc51a8cabb54e31abc2a3a3d3f92652dbcd80e85bb0e835bbb336e123f81ee45bc16a496bb287d4dba6df5d13ea1a677bcc9164abb2705a73aef74813e2ae39abcc415a5b9d9f934ba232fd13dc801e0bc2fd6333b00000000000000000000000000000000bc141e3cfcf631ba1d8a0bbde28974364ebe503c7748fdbc331438bd6faac93b2fa4813cb1691bbd153e2ebda115a23b8bea573cc19b13bdbe7017bd622d753b40df233cda6804bd7b09e9bc08f34a3ba4db8d3bbb3cf6bc253cc4bc244b413bca5d2a3be8e4d1bcc0478abcbdda8c3bd76d0fbacefa73bcc5641bbc4d1e6c3bbeb68f3a0b49b6ba387694bbd656bd3a93809bbd40d98c3f5313e73d1d71ccbc9660a0bdbb19853f0185cd3db8d4d3bcbc7a4dbdc01e613fddc1bb3d1136bcbceb7b04bdf003363f9420993dbf2fa5bcc40097bce7900a3f2c15603d85437dbc288e44bc5123c83e102f003de49251bc006f00bc1197763e3223203c2da236bc64c7dabbb2bdc73d254171bcf24162bbd3e3a6bb340c92bc0aebe0bc379b08bb04ddbf3b6980383c5293c2bc98180ebccfb7663c6631d9bbc74426bd64c79cbb81e65d3cf0cd84bcb9ab14bd496937bb3abb813cea7db2bc20291abdf727b6bacf4a3a3cdc5999bc1c6ee8bcd67b76baac49103ca726a8bcbfd2d8bcb43919397bbba53b0ed97bbc722497bc3b0e543a7216683ba07210bc98ac4abc271cfd3a79da473bb846643aace6b2bb9d7a493a0b919bbdc72a6d3fca61883e08e217bd54c4b2bde552643ff2697c3efd6740bd59035cbdbd783b3fee6f5b3ea74618bd36a43bbd03b31f3f7a61333e73a60cbdff65e0bc2a6bf13edf57073ed74de4bccf7fb2bcc89bb23e5a5fb93d0569cdbc567f6abc5d71603e20824e3d01e6a0bc8db146bcbe32ca3ded95e63b5c8c7ebc36cdb5bbb7ae60bb6f56a8bcb92423bc4654973b09c5853c4c5686bc022183bcfd22253c1301983b4d1409bd9aa75dbcb2626d3caa2f05bc9f521ebd9dd51abca9535a3c9a625dbc02f715bd6bc8e3bb8bcf3c3ca33582bc820401bdcaeeafbbfd290e3ca45676bcca21debcd65949bb6240c63bdef552bc01afacbcc472a4baf2688c3bca5edcbb1a934fbc769f4a3a7925473b5bd8adb868c394bbc434243a16cc87bda380413f6bcbd93e0d804dbdac14a3bdd9003a3fec6acc3e2a2283bdd64a7cbd4644213fcc4bb03edc845dbd567b3abd088a043f0018903e998e3fbde4f204bd2ca5ce3ec8f05d3e299f24bda018cbbcda34973e71701c3e07fb10bd3a7f91bc087f433e718bb63d4a80febc97686cbcfd1cb83d6210f73c1988d8bcff54efbb11cd9a3b19a085bc004c8ebc90a4443a1c8c8a3c4de337bc99b3aebc618dc63b340af73bf3f7e3bc7615abbc0cba3f3ceedc1cbb09560abd6f3977bc2a4a2a3c8fac0bbca8d212bde49843bcc2e6ea3b2de3f3bbfc40c7bc976cf8bb1988f33bd2a73fbc66ffe1bcdb49d5bb3c9f553b11ca21bce50baabce71034bb6389433b28fbe4bb580955bc022282ba30d4183b86af1eba9bcbadbb00a451ba26066dbdf61a173f58f8153f47e476bdc89b88bd83bf0f3fa0250d3f444596bd64314dbdea27f83ef613f03e2fed77bd63302abdaa23d13ecd8fc73e5a3667bd919ec2bcac1c9c3ed3c0933e58f419bdc11ec8bce24c733eb6d15b3e388133bdf47094bcc31e1b3e6dbc043e8a8514bd860262bcbb6d993d0e36523d32b503bdda230fbcd770b13b856751bc5430b9bc1be46dba9930613c1fc510bc4bdcd2bcb9b6633b0c4fc43ba1dae1bcbb07d7bc9c07ee3b2961b1bbd3ec1cbd686faebcb62dfa3b5e6ef7bb8f541abdce1e7fbc572cde3bccaf1abcf0e807bd86a757bc1daca63b36eb46bc9d98edbc244afbbb10f4b93a49f03fbc7296bfbcb8a59fbb6bb3f13a13980dbcff245bbcdb80e5baaa58a639d7774fbb8a2fa6bb095f0abab1ee44bdc2afda3ebfc13f3f29aa8dbd7ea16ebd3cd7d13e7085373f4441b6bd87273abdfb7eb83e76ff1d3f81569cbd4ba212bdd0329a3e453f003f793184bd9442e2bc5702753e0a5bc53e586e5fbd9ae4bcbc27af353e35368d3e4ace4abdd6c994bcb6d6f03d6d832b3eee1c39bd71fe68bc60f8683df5e48c3d4e8721bdf3b527bc4afda13b1edd59bc0514d7bcbb8d85bbdb02cc3be18025bc8c0ce4bc946b093a880e10390c8a07bd3cc5f0bc9f52943b1b0590bbafc517bd81f4a8bcec8d963b863c09bcb6e92bbd001d9dbcf237793b43bd18bc5d3307bd5a175abc18cf3e3befc64cbcd6fe08bd364c1ebcc0e5973a33ac3abc39a7b6bc76f499bb9bad6bbae45643bc2d9c53bc61c1b738e9825d394908c8bb491e67bb57d854b94f5019bda4578a3ee2d76b3f0dcc9fbd5b9731bdcdd6833e2092613f2f38c4bd6abc00bdbfa16a3e149e383f3c608dbd6a20dfbc1d10483ef5fb1b3f022489bd4d43a0bca6b01c3e2c8eea3e77d052bd7268a5bc5e16ef3df6d9aa3e1fb352bd87b769bc6291993d74bc513e5dfe2cbd42c858bc8b620d3db8aba63d69ce30bd48931dbcfd46b13ae3ad8abcfff7f2bc3afe93bb1936c1ba645f8fbc8fc2eabcd1d86d3a4ee1fdbb1d5345bd3e37e5bc8e99ec3acb0ff3bb4a5e5abd4619c0bcb123423b35f833bc84d042bd009ca5bc78ab1c3b6b9d2dbc8f2329bda21679bc5bd7e43a4bff69bcc0811bbdd15430bc419d9cbafbfa7abc9ed7f0bcb48eb8bbe8b4f4ba2c0565bc145a87bc2549aa3aa97673bbf8b716bc277457bb855ca23a0c79c9bcc716ed3d72808c3f2a9ea5bd507ec8bcbbb9e33d3a6d843fc8a5b7bd8898b0bcb528dd3d3bc55e3f17e38fbdce6583bcfd3fc23d9ef3333f8bc067bd083352bcb3d29c3dfb5b083f5dcf3cbdc2aa34bca7096c3da892c33e5d2936bdeddd2ebc14e4133d19c46b3e156c2dbdbee803bc21d8473c3509b33dd51122bdc7a6fcbb875ac1bb4624dbbc50aa02bd000000000000000000000000000000000c6dfa396122f7bbec902dbd193cb8bc4974153b88b6f0bb093f37bdf1269abc0df1ef3aa78fb9bbbb3426bd6a347dbca33aa03a058d06bc4d1611bdaa7146bc495be1b79e3225bc8b43fcbce8840dbc5a9239bbee1557bcded8cbbc0d2b5bbbc1398fbb09025abc1d9e88bc4656a8ba0000000000000000000000000000000000000000000000000000803f000000002416f3bb567d50bc68be8b3f60d352bd97e39cbb7201fabac5e2683f930812bde7ad99bb5d0c633b47b43c3fe27bf1bce7b08dbb291e973ba1d8113f9987d2bc58322fbbd448143bd3ead13e6c49d5bc3a8344bbc83658ba2d14813e849fcebca3617bbbd109e5bb8cd2cc3de507efbc00000000000000000000000000000000000000000000000000000000000000002649513cd10d243c8c5bd7bcc33e0ebabc2b353c07beddb86d68b8bcc1bc143b94851a3c2ea699bbcf039ebca24f7d3affd5d23bf034f8bbd61988bc1bbdd63aea1aa43bc16b24bc9e7f75bc5bfe563beb05393b89c935bca0e752bcf46cbb3b36b2113be9801cbc913056bce500023c00000000000000000000000000000000000000000000803f0000000000000000136023bc286b7c3f569ffebb4d1072bcfd89e2ba0792553f8358f2bb9bd63ebc41d4023b335e303f986602bc10b326bc1656573b117d0b3f316b2dbc21a10ebc2ed1a43b545dce3e2aba6cbcdd8decbb93cf943bfd9d863e3b669bbcf22b8ebbe1f08f3bb6b0013e8498d6bcf13329bb000000000000000000000000000000005508203cfe75023d29aac0bc74885fbca5fc523cc110c03c0b60febcb6e416bcdb39603c4863303c8b90e5bcfc1e18bc2255543c024f793b01f0dabcd602dbbb6e18293c678f1cba17b7b6bc6ad294bb3d0e0b3cf855a3bbe561b3bcff9ec0ba6fa7dd3b8cd6a9bb4514a1bc2f81843a6244a33b51eea0bb68aa81bc0c57853b956ae23b9787193bc64753bce0ea523b51a501bd81a47d3f3a97033ec3bec9bc54fae9bc984f683f4c6fe63d8c50e4bc9e157fbc038f463fb494c13d485fc7bc03c7fdbb73f0233f465d9b3d902cbabccfd335bbef97003f91a2623d6bbd9bbcac79d8b9c174c03e9f33063d38c48fbc94fcb43af6fb7d3eb283233ce1836fbc7188bd3a524efc3d7be75bbc374b1cbcfb6b783ba250db3be6eaccbc547003bce905b03b346e0d3d772966bc5e79c7bc54cd273c15c40d3de7aac4bc66badbbcbc7a273ca0909b3c0568aabc70a0a0bcfa0b4d3cdbb0703c5e3bcebc3d8995bcf45f263c5742063c5c74abbc5abf55bcd81b283c3a109d3b6fecb2bc590d46bc9364e83bf0070c3b1af48ebc271ecfbb5d36023c0ef04d3b972494bcc97939bbdb03e53bb0aef63b3de260bcc7dc26bbd29b11bde2b4583fd3718a3e3d0201bdb75b1ebdb9b7483ffd54793ea40724bd7e9fadbc4e94273f2dd7523e238e02bd033090bc87c70f3f042b2d3e32440abdad9d21bcb3b0e03eefaf033e5122ddbc4934d7bb50c9ab3e1961b73dc193f4bc626961bb1aa5613e234f553dcfe8b3bc2b089fba3a11f23d0247283cbe01aebce18bed398f148b3c609493bc0e0080bceec9233bde5f0f3d55dbf5bb56f10abdb923d13bcb64183ddc2582bc1b901fbd23bf1a3ce052da3cfb28a0bc29c706bd2c07243c27939a3c5525afbc29e4e5bc8a59203c1883433c03be93bcc489ccbc8805023c92fc133cf70aaabc14f493bcbcd6fc3bb943be3b7111a2bc5aac61bc362b003c3cb2ce3bee2090bc8bc423bcb29ad93bdab6e63b522938bcdb5befbb85b313bd2eda333f73e5d23e14681dbd50ff29bd4c1e273fd7b6c03e7e4f48bde0a0f5bc2d70103f264ea43e76e735bd58e0b8bcbd26f23eeb48873ec1092abddf3f6fbc1817c13e0a6f533e209b21bd37863abc72be913ec2ef163e28f410bdf071ebbb4480463eccd0b63da36506bdfaf570bbd0f4d83da27d0a3d10a9f3bc0926aebaf67d953c52553ebccae5aabc0c6995b92e88033d2ebb05ba49922abd7b8e3a3b372d0e3d7fe8fdbbc75546bdb5abb23b455dca3c156e4ebc057420bd3b32eb3b65faa33c3aa08dbc822216bd2aeabe3b3735433c38f85cbc96d3c8bccc45eb3beb8f2a3c8e629bbcc491d0bcf37cbd3bb2f4e63b1d4b86bc640298bcf424c53b4319da3bed8e7fbcf9a477bcd8ddb13b7d09e93b0d0225bc867441bc09fc0cbdf4f70e3f4ef30d3fca462abd6f1e21bd4663043fe1c0013f15c356bdcde6e5bc56d3e33e3414dc3e22b038bde6d7c1bc23b5c23e7bf3b73ea92d3dbd01b657bcadba953ea1388c3eb58106bdd4155abcafca6e3eb32e523e6e2429bd673a0dbce2d6203e7525043e9f1c11bd41f9c1bbb302b63de845683df63310bd67403dbb01fe963cf384e1bb1571d4bc261f40bba37ae03c8229a03b3d8f3dbdc0b78db9407efd3c7683f8ba53c86abdb621263b1d8cc13cab2f1cbccaf04bbd77af923b9d2e9a3c17486ebc2ab82dbdb39db33bfd805f3c2afa73bc563a11bd2b0c8c3b63a5143ce56f8ebcdcaef0bc5eed5b3b7f08c43b8ee787bc4400c1bc61d25d3b63e6993ba7a971bc4c0797bc87ca5c3b9864b03b60c30cbc102c62bc807903bd48f1d43efcaa323f9d9935bd88501bbdd47ac63ed990243fff5069bd9d6ff4bc134fae3e13390d3fcea255bd8d8cbebc3cfb923eec15e93ed2f247bd22dc99bc6bab6d3e779fb63e69ca40bd6c746abc805a363ee201863e01c136bd4ed438bc87c9fb3df3b12b3e8fb02fbd301a07bcdffa8e3df9a19d3d8a1728bd4eb398bb8b8a813cf6c080bb6695f2bccd50b0bb894ebb3c6a6c1a3cae7c56bdcdb04abb866fc23c5c5c2f3b40807dbdeed9053a38d9893c3984c1bb6e753cbd5e09103b4d817a3c8f1d3abc2b3d45bd7adeaa3a02f31e3c580b51bc3a030fbd3cb7a73af9ecd33bbd7f86bc021803bde208263a6d775d3b7b4c5bbc8e54c1bc185e4b38d668313aee2461bca18e9ebc390481b9b6d1de3ade6d19bc5cc961bc689ff6bc7e0b8c3ebd56583f27ad38bd656507bde3c3823e2496463ff93d64bd2bcfb7bcee30633e4f3a253fee1a2fbd6cffaebc15d2453ec7340c3f845d41bd647e78bc90f91c3e100ad93ef90325bda3ca69bc668af73dbcbda13e4c3a38bd656824bcb5e0a63dd76e4f3e5c8318bd0e1316bcad64403d57f8c23df23332bd35d8a1bbdf9e293c287b53bbcd6702bd7f79dcbbd609743cabc8613c4d0264bd8aac94bb434f6b3c6e031a3be4fe75bd220ac5ba12e83f3cbb28dabb333b54bd6a0daab9689d1c3c74ef44bc56d634bd0a210cba9b96c63b495d65bce8ed10bdc568cbbab45c133bc2c48bbc161ef8bcdb7462bb2c29f5ba23598bbc7873bdbca52b82bb4695a9bbd0546ebcb29484bc786781bb18bf0ebb31a7eebb4c195abc0664bdbceb88063e24717d3f18462abde14bc0bcbae5fe3d3255673fac843fbdea289cbc53c8e63da58a443fe82427bd086882bca887ca3d51b5213f31231ebd41cd4cbc0480a43d8e7cfc3e60d512bd38013ebcd7cd803d72f9ba3ec2771fbd5c9216bc6d192d3d13ac703ef21924bd5eb10dbc14f6b03ca8d8de3d401c2abdaca0ecbb35e79b3bed1a99bb669a09bd000000000000000000000000000000008826ffbac77de33b7258d33adbc435bd5fb6aaba02c5b83bbd9bcabbf56010bd0f747bba61bf903b132f1bbcf40ef4bc5639c5baebdff13ab63d49bc0eadc2bcd6cc19bb45e8c9b9bbff5bbc68efa5bc875c8cbbdd556fbb23cd59bc91f173bcc6d2a8bb94fecfbbc48f40bc36484fbc0000000000000000000000000000000000000000000000000000803f000000005b5462bc23bdab3a5c557c3f35fdcdbc0e7818bc356acd3bea07553f671caabc670607bcf535053c67b22f3ff0b1a4bccf24e0bb05f3f03b5bc70a3f2ad0a0bc4479d9bb2266d03baff0cc3e02c3babc6007dbbbbbfe4b3b5428853e0eccc9bc29d0bfbb542046b93501fb3dec41f6bc0000000000000000000000000000000000000000000000000000000000000000e9fe323be74eab3b6c4a8cbba26895bb3fff0f3b93fc6b3bfb415dbb4ef789bb4463053b4a303a3b5d9d4cbbd29d71bbddeefa3a26f7163bc93a3dbb838855bb91f3ec3a6970003bdcd145bbb4124cbbdf6ce23a2d11d73a393459bbc3d127bb1797f03a1e010a3b571c61bb76bc22bb00000000000000000000000000000000000000000000803f0000000000000000dc3fa5b856aa633f287a6238c6f463bb64080b3a85fc423fc934bbb8950b7dbb99911a3aa67b223fc92520b9c4c667bba9445a3ab4f1013fb29836ba6adb57bb171a583af758c33ec4069eba01fa5dbbbc3a853aa898823e714b0bbb2ebc5dbbb3bc6d3afaaa043ee2683bbb3b5f59bb0000000000000000000000000000000031bc083b837c003c03453bbb0505fdbb98fd2d3b6522093cbefe7cbb466e14bcb3cb5e3b5d5fec3b4fe168bbc20803bca2ed393b7613b93b028f84bb0088ffbb51f0223b44a8dc3b7ab1b4bb233296bb37c32f3bfe5a953becf889bb254be5bbcb48403b925a933bae6382bb553bc6bb0a4a433b3b8aa03bc8b6afbb6e5692bb9df9ab3aa6f51f3b618636bb6d5393bb656416bbfcc3633f0141023e754dc5bbf9b304bb988f483ff9eae43dbe40edbb9df078b91a3a2c3f3edfc43da2d9d4bbe98b5fb904950f3ffb89a23d4ff6d9bb98d78db738bfe53e28b9793d2be0bcbbf2ca9e392973ad3e53b53e3dbbc9d5bb8e5383baed7c693e4d36f63cd0d0c8bb5841723a4ecdf03d9a98443c6705a3bb2798ef3ae8aa963b1af0c1ba669791bba9f0da3a264e103cda0f3dbb155923bc78ee203b6f20243c73a232bb01eb47bc892f123bb152f33b840629bb47c320bc32f9203b3e85f63b162d76bbd03938bc87b0023b0738b63b7ab475bbdad31dbc13d81b3b8d26bd3b429a2cbb79b02ebcff94393bdf78cb3bbe147dbba46901bccc9a343bd18edb3bb0f54abb4bf410bc7096143b72299a3b79d361bb549e99bbae2d51bb4c8c433faf6e823ea01a00bc17f34dbba07c2c3f8975653e954a12bc680ff4ba6596133ff037443e491f13bc13e105bb67c2f73e898b233e80da0fbc7cc0a6bafec0c63ea1a0013e914102bc652c78ba44eb953e80a4c53d43e3e9bb1b7ef3b8281d4a3e8c567e3d1941eebbc777f6b952aed43d26c8ff3c15b30fbc2fb625393735e43bd5ad85ba81fdd2bb8e814a3a9d36033cc49d0ebab54f2ebcc184f03ae69a203cfd1806bb62bb5bbcc42f083b0033143c44bb0fbb94b85dbc0dc7093bdeb3043c409020bb749c50bc907f123bc0bcea3b2bec30bb2e523dbc55a7213b847ce53b69cc49bbd6b63cbcb3951a3bba2ed53b16d24abb0bef29bcaf422a3b21f0e93b0b6d35bba36e35bc9d220c3bdcf1a83b20f027bbeee2edbb8a7f72bbedda223fdf07c33e5823e9bb0aa679bb69f80f3f68d1ab3ea7d210bc997a47bba3a9f73e4a8e933e6c251cbc673c20bb0017cf3e1007763e0e2617bc4512e0ba0532a63e8d49443eca440fbc2d55aeba500d7c3e4655133ebf2516bcb96697ba9fd12a3e5342c43d829010bcb0f184babe58b53d2540463d549f26bce057b5b90066ee3b7876b939238ed8bb5656cb3991f3e93b42c1cb398cb037bcb554ae3a02d31b3c890fb538f33074bcd4e59e3af13dfc3bf5d059ba935853bcc86ece3a0444043c3ffeb2bad51d65bc5c4db13a8ad3b63b24edb3bafa991ebc9cb2f63a132fe93b273b11bb02d54cbcc632d83a266fc73b418607bb8cdf2bbc0e240a3b0ae4df3b59b9e0babafc41bcaeedcb3a9bad9d3b5fb0debafaaef6bb82f170bb6140023f11e8013fe295e5bb2e17babb7389e63e3e2ce53e3e7119bca0894ebb18bac53e4b11c43e3aff0abcfd9a46bbe731a63e73fba33e9a211cbcfd23e7bae345843e8044823ecfc3e1bb89bb01bb54074b3ef0e4443e5afa1abcbc95c9ba650c093e4235033ee43b07bcd944aeba0013933d09f1853d6f7925bc5f1a6aba44e3d43bd665ae3a673dd0bb18371eb94a6fe93b9222de3acd5651bcd07a493a5f65183c1155853a261890bc7ea02c3a8050083cb2e53939912882bca583783ad2f3013cc0dcd7b972687abcdc09943ab934e73bbc357dba74675ebc7234a03a6cd7e13b0025c8bae4495bbcbf729f3a0236dc3b4898dfba85d852bc998c793a9097d93b3b5ab8ba5c305bbca68ba73a5e769c3b7341afbaf31e0dbc30408cbb35dfc33e7d99223f7041f5bbe2518dbb70cbad3eca6b0f3f46622cbc9a0a83bbe98c953e8cecf53ef84c1fbc741065bb7cf27a3e9920cd3e425120bc7ec638bb39f5493efce7a33e524116bcdd8c29bb9bf6193e596b763e1bfd1ebcf0d21cbbd3d9d23d350b253e138721bca87531bb34f5633def06a83db13218bc0588a0ba750ccd3b7135093baf51e8bbef0361ba2bb3c93bee232c3b66d653bc76e4bc39045f083cfa84023b4bc792bc6dde2ebafc97ea3b0211a63a54b465bc26cca1b9a8f9d43b8d0b613870b378bc6bab023b3491ef3b478f4eba876554bcb633fd3a2379dd3b8c54adba3eae66bc2757453a09eca83b320f6fba7c3035bc3454443ade2ac33bd5a692bafe5863bc5137b83ada5b9e3b3efe71babeff15bc6c4a98bbebd8823e3932433f9a00e2bb1402c6bbb4f9683e29192c3ffb2d21bc6e4488bb5292463e422f133fdc60ffbb9a881dbb223b283e2fdbf53ee97f17bc10195dbb76f2083e7703c43e0aca0abcfdf14bbbc3d0d33d4fc3933e0b8f23bcf21109bb44da8d3d261d453e1db005bc05bc22bb96c11e3d5314c93d2a211cbc0b5938bb1a15c63be7df3d3b4bc3f5bba1fccbb997ccb03b5788303beaef46bcb97d4db87edeca3bdc51563ba35a86bc06830bb95fc6bf3b1b57023b092b78bc62305cb97986b13b929bf23927b95bbc323befba7c77d23b6f93b5b9646142bc47f40b381704953b4fba1dba5f4d3fbcab00c5ba8a239f3b9ea0b3b956624ebc0b93d7b80c308b3ba3048dba26381ebc7754c3382c1b633ba0982cbadd6e0dbcada55abbce19043e1d4a633fa881c6bb90c6afbbb91ce73d0952483fa392d7bb81ac63bba00acc3d14ce2b3f34a605bc10fb57bb2231ac3d36210f3f1f15eebbcb9290bbbffc8e3dcd7ee43e3927e9bba2642fbb2f9c563d40d5ab3eaf79fabbd6cf86bbb22e183dd455663ed3201dbcde3628bb3c81aa3c6d82e83d847417bcfbe9fdba343c8b3b6ddf303b993becbb00000000000000000000000000000000eee31dbab382503b02921c3b16e431bc650020babfb1403b85f6a23a441f11bc7337a2b910e8443b8486b539bbeb12bc3e5b64b995f52c3b215581b8085805bceee57ab9b71e283b1a930fba08f904bc815ce6b94395043bc95217ba37d2e4bb71995ebafdc31d3b2c1c0abab60c02bc0000000000000000000000000000000000000000000000000000803f00000000a4582abba5db073bd66b633fd21d8bbb7ba217bb00661a3bd5ba423f8a8c63bb1610f7ba8b093e3b8f3e223f44df8bbbeb8ed8ba62a7303ba7ab013f6b158dbbcac6d2ba22a93f3bf1b5c23e7a06a1bb4debf5ba3859303b1aed813ecf91a6bbe45d29bba3582e3b7c44033e9cd4cfbb0000000000000000000000000000000000000000000000000000000000000000f535d03bb49f0abe38d4b2bca491613c0339ee3994df02bef611c6bc4213653c82043ebba34adbbd8c9bddbc73fb3a3ce025a4bb1f4db4bdbdb9bcbc59951a3c7649d5bb24288bbde23270bcd3e5aa3bd50daebba83c3bbd6e5fc1bb202b573b59cef7badf61a3bc458d323bf220633a00000000000000000000000000000000000000000000803f0000000000000000a590acbd2c03a23ffa7998bd0e26d93b7ac83bbdad5c863f368240bdf99f823b6678c2bc09a6583f0753eebcf761af3a8f310fbc3675233fbd73afbc2f33c53ac96ed93a5c0cdf3e84b09fbcce5b713bf759963b8286743e21c880bc5ff4903bba0dcd3b1a564a3da36294bc6442b13b000000000000000000000000000000009d643b390e568bbd677797bcca39ea3b1dff973bc7330fbed60c97bcdd60613c19ed083b5afb0ebe65330abdef60843c47d63fba5e15f5bdafd514bd5264523c5d9a63bb586cbfbd850306bd4cb5313c5bd430bb601594bd1a1dc2bc1ab2163cd5de9e3abfec3cbde1372dbc741aa73b4213ad3b2be186bc48406db904f0ac3a6b1da63b853d9a3bf5f67a3b9914d23a947b16be586da23f7df6673db4dd9abceffb11be56679b3fb8232b3d333779bc1567d6bdedb4863fbe765d3daf567dbc7f3492bd4e88583fdeab583dd73a54bcd9e333bdca12223fd1cb3a3d9aba53bc6e38f0bc6d03dd3e8a39e63cf6e602bc72ea80bc817c6b3ed1a15b3cdc2da7bb4020bbbb88e13b3dca152c3bb4a71bbafcbad9bbe06190bd4961a8bcbcd2183b802010bc41ecedbc32d5c5bcbaa4263b71b3baba6795b2bd5a3031bd05484b3cf818943aaec4b7bd597f49bdcde3363c1d1d3fba7e8ebcbd50b854bdac7b483cf6e9a2ba6bba8cbdd4e12bbd69490c3ce8e91a3840bb6ebda74a0ebd7b95253cbb74553a241e19bd1037b3bcd310fe3b431a8e3b4aef88bc850303bcf514023c81f0c33b28cf1f3a5b400d3ab4839c3bfafc0fbe7a67873f14257c3e64593dbd86181ebebe37873f1c3c663e36a64ebdd1f8e3bdcd14653f1a2b553ebc4d2fbd5222bbbdd845413f1ac5313e3cdb13bd329578bd3020103f6253093edd68ebbcc3e43bbdcb0fcb3e00e2bf3d798dcabcb296f0bc96c8683e188c513d9b5287bce2f294bccdc3903d00a9213c3dc51ebcce414ebc0e7c01bd35b9a0bcceb99bbbc10457bce5f58bbbe508d9bc983aa8bbb7bbe8bb6fe458bd62bf63bd489f0e3c2ffc2cbbf7cf8ebd969b88bdef9f2c3cbc8087ba2de387bdccb27ebd52e20d3c9a5a0bbb14226cbd5f3f63bd75e8ec3b017a513a5d4943bd459430bd574e183c90b8b33a11f50abdd95fe7bcaa9f1e3cf3fe953b82db8abc5fdd69bc1978313c172a643bf5e485b6019438bb5a66073c804afabd13625b3f9fbce33ee58396bde9170cbe55d55a3f889bd93eff66a9bdbba9e5bd6eaf413f61c6c03e92c694bdd504b0bd2be71f3f46a29e3e39c071bd82e388bd5460f83ec599753e80db48bd55f94cbdeab1af3efce9263e5d391bbd7b8113bdcfd8513ee067bc3dbd49e9bcc206cfbc8c5ca33d281bc73cbdd08dbc6d7892bcde9bfabb56bdc0bc76a961bcb95681bc2760e63bd255e6bc678427bc70e408bc9125e5bce41389bdd3f4663b05aca1bb40d12bbd76e496bdc10f7e3ba4072dbbf20a46bd54ee97bd0005883b1d9801bb1a9afdbccf7c50bd7bd1debafa5e9cba31791abd6e6b51bd2a44083cd6803f3a7751c8bc590706bd19fa1c3c0fe7653ba22b80bc304b80bc2b1c4a3cbdae7a3bc1b00cbb0dea83bbba1a223c7a10ccbd6086263ffc7b253ffb7bc8bd4094dcbd1f32243f34c6203fce67e1bd0f46b3bdb614113f42010b3f8ea1b8bdfb2e9cbd5f75f93e45fbe53e3bd09fbd7c0743bde373b83e6620a73e17865bbd1da242bd256c8f3e8b55743e778e4fbdc7530cbd091a303e91e8043e407913bd0c8ad9bcaf039d3d3d5f1a3d4b35c7bc58e2aabc73859b3b2692d7bc748a8fbc0d8957bc9b210b3ca6b311bdd50b10bca37cc2bbc6aca6bcad08aebd0955cb3bbb638bba1f0213bddcc7c9bd536ee63b4ee3d3ba75ca1abd2bb9b9bd4d96c93bc641ccbad94312bd248e98bdc44b833b537fd83aae2d0abd475a6fbd7a92fe3bf6ee063b58e2c7bc571523bd16bd523c8b09873ba5cf6ebc63e397bc7c68893c5de3593bdef54dbb4ecff4baf7ec3c3c2e8698bd64a7e43e647d5a3f2625fbbd778ea8bd21bbe03eb679573f90530ebe11ae8fbd14accd3e629e3b3f8e71f0bd58ed71bda16fb03e4c3e183f4c3ec0bd5f4b49bd580a903ee4a7e53e749097bdaba023bd506b543e768c9b3e254b6abd9dfeffbcc442093e533d2b3e5a0226bd6da4bdbc60e5803d55c4333dd759cbbcf56d91bc5847d43bde2911bd1837a4bc388204bc18728e3bd58660bd6d76a43afe1250b984ab87bc146eeabd4d40863c9cd10d3a8690d1bcec04e0bdd5b2d83bc62d4c3a7b4efbbce4ade0bdd2f0fc3b6b6cdc396660e4bcef72a8bd050d993b040d033b2cbce3bc3da989bdb5fb153cef8ce83aba70a7bc0abc24bddd26243c8b89973bc8d541bcb66ba2bc50828e3c4353953b563b2bbb835ab2b8db34743c412f42bd44457d3efefd863f1ffd0fbe14c74fbd12a8733e86dd853fa34322be955b33bd12276c3efbed603f4b14f5bd858724bda183543e5ab33a3f293cd0bd54d701bd06732e3e173c093f899897bd4f42e5bc6b52083eda54bc3e97c36cbd6459b5bc6330b23d28144b3eeb5916bdcc0c6dbc9ac22d3da82a2f3d97c893bca30045bc7e115b3bea395bbd99604bbccc2c9fba8c3214bb164bb2bd91172c3c89c4263ca1b74bbc12a71dbec457fc3cc446dc3bb0b9b5bcf9a91bbe25fe7d3c8470a03bd41ecfbc54df03bed1c6cf3b55288c3b81c9d0bc5ccccdbd5305243b2cf5713b25c0afbc5b419fbdbf14d93bc518853bb2c962bc238849bdf01c233c650cd43bb71864bb48038abc5f215d3cf158333b675ad8ba8949853b1b625c3c24639ebcfcc06c3db191a23f16f617be0fa399bcea755b3d4ed59a3f72dd1abef7b8a1bc8fec963d5695853f981ef1bd92398cbccacfa23d0ebd553fa838b3bdec358cbccba99e3deeb51e3f58c383bd363467bcbb9e783dd474d53e16ac38bd9ea438bccfc3273df6665b3e5cdcd5bc8c51c2bba37ca03cb3f7fc3cde9123bba9baafbb466470bb81b5aabd5be5debb000000000000000000000000000000003bd5fd3b637a6bbc626f0dbe4b89403c2b69033cab179bbcd5ba04bea2dea83b4ed6803ba26c9fbc4ad0ddbd34b78dbb1e72453b3318a3bc1dfdb3bd142e8cbb3ec80a3b6f0e87bcf81a89bd292612bb8491323b815436bc7ab635bd2886283b39c62a3bd76fe1bbb88b8fbc540aa63b0000000000000000000000000000000000000000000000000000803f000000001973873b6ec18abdf217a23faf76c1bd42152c3a8578fdbc2958863f16797fbdc4f1bbba94dd2abc9f52583f7a832ebd900ecaba39b911397834233f6606f8bc5c6db9ba71af343bd70ede3e6ac2a9bc93538db9b281d83acb1c713e14b323bc984bc33a27e0acbba095433d261a7cbb000000000000000000000000000000000000000000000000000000000000000071cd9ebb66cfabbd5a3909bd6b00893ccb66ccbb5f32b0bd48ac04bd577c893cddefc5bbf7ef99bd874605bd3d34703c685d02bc98c089bd9a57edbc356c663c370f07bc1fda6cbda84eafbce951303ca890f7bb53213bbd56c526bc2a97b53b624bd1bb9d6dedbc30bd97ba823d4c3b00000000000000000000000000000000000000000000803f000000000000000026fd4abd4495973f33f64bbd59d1cebaf8e6c0bca1ba7d3fa41f0cbd0fef11baeea51cbce4044f3fd687e1bc559da9ba87962fbbbc4f203f009ed7bccc7605baa660b3b92f3be43e1e3adcbcfd1db13aad4e0ebbe535883ec099eabc92b5893b6563dcbb69c8c03d38b402bd7232d43b00000000000000000000000000000000a44e84bc72937cbcb37d25bd2d43593c95f990bcecde9dbdaa963ebdec43ae3c3d7761bcd2c4a7bde47051bdb7a0a63cd5bb42bc28cf9cbd869c51bd9091ab3cbe2736bca0d281bdff6035bd8ffc963c319b3cbcbb1a5fbddd0014bdb46a913ccda200bc7ef42fbda96ab3bcb6ff473ca93383bb7263bbbc4382c1bbd54ac73bfad86735fcd51dbb462d3fbbbcbaee3b5b8fdabd892f983f5719b53d28ded2bcc601d6bd5a76913f222a923dbc73b8bc681997bd79c47b3f64798b3d37f79dbc8dc553bd07674e3f4c90623debc989bc333d14bdc5ad1e3f677e1e3da2184fbc801efabcd48fe33e9c20903c889b30bc2de5d8bc44f0883ee55800bb3bd493bb8c2ec9bc4c64c53de8daabbce533b13ab8acb0bc32a4c0bce18e13bd9b5b373bb6f4bebcc97d803c026d20bd9669e03b505fb6bcca90d3bcdbfa7fbdd509ab3c2abf59bce9a205bdb48580bdb7de823c6e6882bcd65938bd7a6d88bd2999b73cbe463abc07f00fbda5736dbdbc5c913cf9fe2cbc218814bdda5c50bd7fa2b03cf6b7e9bb44babdbc466514bdfb32883cfca09bbb220875bc6202b7bc3d66993c2e8dc8b6711daa3a882843bca784653cb40fe1bdc5447f3ff9b6853e4f5c44bd53b8f4bd14207c3f9600723e677d52bd9461aabddf98543ff28c553eaf5c2cbdafb598bdab53383ffe9a2c3e2bb11cbd902853bd12c30d3fe44bfd3da19eefbc3b1048bd4dc0d23e6544a23d746bc7bcfefa16bd7c8c843e5b7b1c3d844495bc81d913bdb167f13dbb72c5bbc49d1dbc57bbddbc1c09d03bc32709bdd0afadbbe539d7bc078b0c3dd87a1bbdb56204bb97f8c4bc2c4c8e3bb0178dbda4317e3c697897bce9f585bcc94d9ebd2a33943c9b2780bc8534b9bcbe919abdd410963cc23567bc01f8b8bc5d358ebdb6689d3cd2414bbc0b15b7bc96f379bdd571b43ce2ed14bc06889fbc4cc645bd8d81c03c8b75bfbb5bf239bc40040cbd9ae5c93caf8e5cba42998e3b5b17a0bce8d5953c7f12d0bd2f29513f1a59e13e73ca8abd428be6bdd2534e3f552ed23ee0f39abd3c7bbfbd42db373f9dbeb63e4e7085bd99979dbd0c901a3fc99e943ebd1f65bd71da84bda9daf73ef875613eb06f44bd729c60bdd577b83eb394173efe811ebdf28d42bd10c3733ed04c9a3d73c3eabc31e423bdd0a9f33dee3a5b3cdbcb96bcaab2f6bc3481d43cdc5603bded236abcc27ddcbca9121f3d87e109bd2e7831bcf909c8bc8c8b823ca0648cbd49e8f53b15ad9abc1204f6b976ab9bbdbbbde73b606e79bc4a412abc059fa6bd4259573cbeae36bc8dee58bb93e36dbde155013bc91f4ebc07ab61bc1a558abd7328a23c867223bc211842bc3c234cbdbe9aa33c4aaed3bbb418ffbbf6911bbdb69fde3cf09ee6ba28df573b9812b9bc7bf7ac3c156fb3bdbcb2213fc6e81e3f05ecabbdc733c3bd980d1e3fc6db163fc749bfbdadde9ebd86080d3fa30b013fa39fa0bd2e3693bd8a40f53ed3fad53e75d991bd1e8948bd99a6ba3e53539d3e9e5256bdeca55abd4801983edc16623e6f774dbdf8932cbdf3a14b3e6bb1f93dc6151abd2fe521bd6cdfde3d56010f3d9e3fe2bcd1edf3bcdb9e033d7867f5bcbf99a9bce6bec0bc2054003dbf030cbdee7847bc4f319ebc8215523cb3199fbdba39093c50fd81bc8547b1bad5f4bbbddc2d113c505a6dbc4703e6bb75beb7bdbda2513c70306abcb2ff21bcddceabbd4f1e613cfdee35bcf1a154bcfdda95bdfd51a33c51c513bc2a3e51bc642375bd03d4d63cdb0ccebb5d9903bcc39b2ebd75b7ff3c4aa33abb25f3b23a9278bfbc64b7b73c370890bd3b34e63e93214e3f6fd5c7bdccbb9ebd71c1e23e20a3463f86efe6bd16178bbd7d21d03e10432c3fbb2cc3bd78a072bd7a78b43e19cd0b3fc7c7a7bd481558bd94b9953e4d57d63eda4b8cbd4c373ebd81d6663e5840943e726d69bdc6172abd5e521f3eaa70283ecbb43abd24580dbd8089b23dcc76493dad2f00bd882ddfbc71eae83cb9e4fabc7d31c5bc71f388bc01e98b3c576f2dbdfe72b2bb34c145bc945f053b4a5fbebd8373423cbb2b2abc86a565bb8eafb2bd3beeea3aa0ca30bc44012abc6a3bc9bd6ae6073c55631ebc139733bc2231a7bdaedddf3b977126bcaad34ebcadaa9dbd9ff59f3c4600f0bb1e602cbc4f4d67bd6fe8953c2a6474bbcabd11bc8cdb2dbde19c013dfc13f0ba87ce07b9b27baabc3383d73cc2ae47bdf8188a3ee6447d3f04d6dabda5815cbd790d873ee1b3753f75cef8bda90d38bd3f077f3ebfaf4b3f758abdbdd46c34bdbc19663e1b942c3f6bafaebd899413bd26da3d3e2d45013ffbe78cbd110411bd2bda183e9fd3b53e136773bd1cb1e5bc9e5ece3d843f543ec6a238bdbcc0d1bc78d26d3d2a2e783d4c10f8bc14cb9fbc68a08a3c72f51ebddb8db9bc654becbb030763bac2c161bd5ebb98bbe7d0073b6b1a40bcb05af0bd6f97a73cc5ddcfbab1f66abc3dd7f7bdf8021a3c086966bb6b0f86bca78bdcbdf23f843b8c25cfbb7a8977bc144bbdbd58b97e3bb8ab9bbbe3cf72bcc685a7bdd00e4f3cb0c92cbb096c61bc13e482bd434aa43c7bfcad3a9a38e7bbf3c621bdf032ec3c544d12bb027092bb7ed08fbcfc0ac23cee29ccbc9f55c13d7f36973f2e7edabd972cb3bc6f8fc23d6f7a8f3ff56ae7bd0d6fc1bcf905d73d0f3c763f1fafb7bd4ed4acbc3151d03d662d473fd56592bdc61eafbc23c7b93d2834173f872173bdf79691bc9090903d6f2dd33e3e4150bd2a4881bce2b6493d2ef36f3eb62222bd0a882bbc6cdcce3c3dba823dbae9bbbc753d30bcba959f3a30595abd08e7babc00000000000000000000000000000000028faf3b7fbd8ebc7840bebdf47466bb6f2c6f3bb9eb81bc015abdbdb7318ebb56b830baafb77cbc2e9ca8bd60ec2abc09b81fbb2efc76bcb78092bd4d00febb22a760bb6a9e82bc03ba80bde1cf34bb89d254bba72f69bcfcc64ebd9952be3b71a6adbad8963bbc3f1605bd2f78433c0000000000000000000000000000000000000000000000000000803f000000004eb652baf1bc0ebded01973f058c83bd5d59fa39facf45bcf3fd7b3f06ab39bdf86c60bbf1f00e3ba8a34d3f85bc14bd148f98bb4f15e73bf5c61e3f7d1205bd5ce86fbbbff4d73baa40e13e4de8edbc7058f1ba0477863ab29b853e2e9ebbbc0ac87ebaed4303bce5bbb33dfc5cbebc0000000000000000000000000000000000000000000000000000000000000000dba07b3bd2cb12bbae9f00bd18c5453c4164b03b84e348bcf4e3edbc174d403c7c884e3b29ad5ebc55dbe3bcdb35203c0643d93acbea55bc7888e1bcecc21f3c28b725bab83682bca0edc7bc19c82f3c48b263bbec3c79bc5ff8a5bcf92d3b3c406b8cbbdb964abc363e92bc3238553c00000000000000000000000000000000000000000000803f0000000000000000053755bc08d1823f24808fbc214df3bb50b13dbb3ca75d3f26806fbc52848fbba793bc3a01f3363fc0695cbc8d62babb115f033bc91b113fb0af73bcebabb5bb2fce043ba09dd63e0c8097bc771a83bbfe5b8eba6f428b3e21d5b1bcb4ffe1bacbdaa5bb5002073eb93ae4bc8d6c21ba00000000000000000000000000000000255954bb0dbbe03c3198ecbc4bdbf33aa7d182bba6583b3c34ce1dbd127b393ccd522db931b0ca3a6ece29bddbc01e3c83f54939fabe6dbbc7c421bdaa5c273c768140b81c1f99bb426516bdbccf103c257d2cbbb4ff05bccb9111bd48443a3ce816c2bb335c00bcc9a902bd1ba8623cfc11a9bb5343acbb502bcabcce7c883ca874b0b9e34f853bdf1a9bbc59895d3c56b521bd8658833f4c18f23dd37eaebccbde19bd147c723f80afcf3dbf31a3bc1804bfbcc56a503fb9deb33d8a459cbc511384bca9272d3fa3568e3d5a778ebc9b4f37bcf236083f5af54b3d2aa87abc9a6039bc0a3acc3e8024e63c81dd60bc50a966bcd42e873e9ef1a63b6ad732bc9b4683bc65b5063e05d275bc63a9e1bbb32e50bc08037f3cf092e5bcec91d2bb99760ebca9f9173da72eb5bcc8311cbc4e0f06bc92f2013df91416bdba3936bae38a21bbf901953cb2e505bd0033dabb7cb286bbd880463cadf627bda75a253af971d5ba49172b3c2be914bdbd2d2bbaf62a6bbb2c37de3b252224bdd7c1f63b0b0fbcba8f83a23bb7ccfebc78d96a3ba48c84bb9109d63b1f8efbbc2a58813c217a013a9ee1363cc5aaacbcbbb8423c0f643ebdf3c55e3f94bb873e758000bd251554bdd20b513fee0e723e981012bd5ca500bd91ef2f3fcb3a503ec699f3bca23ef6bc6f6d183f67cc293ee9f5f2bc081ab9bcb386ef3e2714013e2ddbd1bc3bb9bcbc1081b83ed49bad3d507ec0bc292194bc6e3c743ec179493dc1539cbc157fb0bcffb4073e6737d63b541c8ebc0a9787bc675bdf3c6a21b0bc89ec67bcb1d73dbc25322a3d47ca77bcec18b3bc703f4dbc16eb1b3d36c3fbbc34b264bcf53d00bcd692ea3c83851fbdfa582ebca9b0cabbaa6ab43c5b4224bd6c310bbc0a0ba0bbaf51963ca71423bdd577cebba7f090bb4f0a5c3ca29222bdae7600ba86c7b8bbd4a73e3cd7891bbd5040aa3be2b562bbc29a443c53da07bdd8273e3c5274603ab300813c2c63b8bc93fdcb3b13453fbd3624383f9cdbd33ed4b926bdda5159bdb6892c3fc44cc03e4f7239bdcc512fbd2c77173f12bba53e58022cbd60cd13bdf6f4ff3e1059883e94c71ebdf9adf9bc8cb2ce3e9ca3533e1f8212bdcf40edbcca8f9e3e4393153e376a06bdea8ddcbc55705c3e1b45b43d25fff3bc0d55d0bcbd70fd3ddbbaf03c5966cbbc1f4e92bcb2600d3dc14376bc6527adbcd26a5fbc0bea1e3d565211bc429dffbce28869bcbe531b3d8e7bc0bcf7ebd5bc7a1a2dbc64c8f33cb8b8e8bcfe7ebebcb2b406bc1d49c93cf29f12bd6af8a7bc8b1793bbc16ea73ccf29e4bc6313a8bc5f7201bcfa04873ca3b717bdba6127bc0d56b8bb4735743c2e1d0cbd87ec80bba1f3c2bb5ec3693cea8e05bdf427e13ba6d293b9a9b6793cf93fb8bc3ffc7b3a431d3bbdfdce113fefe80f3fcffe3bbd5dcf4dbdd5c8073f07a9033f777f53bdb31d22bdcfd0ec3e998de03e69e13cbda66216bd52b1cc3eadc5bb3e799e34bdee23d0bc905ca03eaaff8f3e4a1c16bd3974fabcbade813e50f5553ecb1220bd6249ddbc0c06343e1d65053ebec907bdaaadd8bc74b0d83dc5485a3d2ba403bd9b42a9bc6af40f3d9f6b0bbcfabcc9bc22e186bcb2cd083db8b7a0bb880515bddd9490bc7c64063dd1b0b5bc7dcaffbc29f652bcd00cd43cb6c7f4bce460ebbc477e3dbc0897b03c80360fbd7931cabcaa173cbc2c54973c59720fbdb3c2b2bc497b29bc73665c3ce34119bd6d514bbc2db014bcd8c42e3c7b5014bd5b83adbbcf241bbc9dd81c3cc22e04bd0fd79a3b16866cbb8084503cf53ea8bcc46d26ba4aec27bd5ee4d63e55e3363f1e364bbd8b863dbda9f3c83eafca283f0e126abda7fe23bdca3bb33ea16b113f417756bdc63511bd5afb993eac73f03e73fc44bd536004bd7b8c7d3e5b3dbc3edd8136bd65ec00bda324463e2b67893e29242dbd2e37fabc48730d3e50172e3e3ac921bd4825debc5889a93d3b9d993d87c210bd7b1dadbc77b4ea3c59e5b8bb3261e9bc1ab082bc5d2cb93cc89038bb2d6c12bd70678abc2de1a93c57d1a2bc48f60ebd908718bcde9a823c03c2bbbc1d700dbd2cc261bc1930783ccda206bd3afbf0bc725536bcb719483c7c8efcbc7a88cebc30cb53bc13a7083c6c9914bd18718dbca4782dbc03caba3b0254f1bc549a3fbc71c856bc841b803bcc2409bdfd8d853b2f51ecbbb8f4cd3b2960a4bc239fe73ae7db07bda8868a3ea1cf5d3f5a934abd62c316bde77d813e779c4d3f06d365bdf557ebbc4914673eaa0a2c3f5b1a37bd7b82fabcd4a44c3ee1c2113f7b9940bd48b3cdbc0c7c263e9193e13ef03026bd191fdfbce083053eea6ba73eb5e828bd99e6b1bc1eeeb83d5a55553e0d6c16bdb9ebd2bc3a39663dcc9fbc3da64112bdc8d799bc5cc9973cde5ebebbe123edbc05dc5cbc0066273c93b0afbad89520bda65c3bbc2553bd3b789ac6bc9e5a01bdd87e25bc63dd023cefd201bdf8a109bda6b52cbc9613ae3b4c5c05bd581104bd066b40bca6b28d3bdf0501bdc2f4eabc692661bc09a84e395fc90fbd2fb398bccafd5ebc455b46bb21e40ebd48032ebc54a56ebca42adcbb466102bde5ec863bd11b38bcc0c2c2ba41409ebca52e31b99dc3b6bcd946fc3ddc96823fab5b34bd7f51aebcd26ded3dd657703f2f5a41bda99ba6bcdff5e53d299a4d3f4ca823bde6539bbcab37cb3daddb283f419716bdb3519bbc6002aa3dd7dc033f91df0cbdff03a6bc6bd9853dbcd8c13ed79813bdba7b9fbc30cd3a3d892c773e65810dbd5fa79cbc8d62bc3c1c96da3de50d07bd70e58abc10a8c93b8e84f9bbb10ff7bc00000000000000000000000000000000af79c2bba7eadcba2c1376bc8a7907bdd3cdabbb64a294bada86afbc415fe3bc2152e3bb8229b3b9bf90b9bcc2c4f1bc6b28e7bbb885d0baaba1c1bcfee4cebc4f691abc569074bb3627c6bc2500a7bcf2271ebc763017bc5f01bbbce69642bcb5564ebc446a1cbc2daebbbc6cdfcabb0000000000000000000000000000000000000000000000000000803f0000000007daf6bb8106e2bb3646823f6d18c8bcb247d2bb69189f3ab6005c3f716398bc092e05bc8d22bd3bf6ff353ff59690bcd25422bc5b2dfa3bb81d0f3f7f6497bc3f481cbcf0f8a83be1b4d33e036ca2bc2c302ebc5997143a6f89873e8fbdaabc8cd43abc12a349bb4d9dfd3d358fc8bc00000000000000000000000000000000000000000000000000000000000000006c6d9e3ccd804dbebc2afa3c792a72b9fad46b3cda9b4cbe254ee63ca11a303b4d620e3cb1ec3cbeec52683cd6eeda3b82c0d53b5d3c1abe010f1d3c1695de3bb637813b80dbe2bdc2750a3c49258c3bd73e8d3b0f2177bdb832193b9e5a5d3bd87afb3af55b29bc15b0eeba631d853b00000000000000000000000000000000000000000000803f000000000000000055d1d2bdbdf2aa3fc4cafabd759d773c966076bde3138e3fc251b4bdaca3103cc1be1cbdaf386c3f2e518dbd68dabf3b1590afbcf4c7313fe4ac59bd4fa3c53bd8109abb49ade93e4fdf08bddfff523b2df4ec3b0d9a6a3ef1a92dbc4c987b3afd29533cc51f373c150b913ba63597ba00000000000000000000000000000000a1c5b13b0f36ccbd3496333cfacfc63a4433a03cbc7e30bebfd4063d1aa241ba425c843cb0c64abe5f49913c34dae03b934d833c44b042bea99c193c6e68223c763a593c43f121bec0a89e3ba894093c95cd673ce2ffecbdf3ee1f3a49c1143c22ad4d3cb02c85bda91486bb69ea153ca6351d3c6a2e8abc356718bc912fe73b25001f3c19ca443c2d11683a8ebf823b8d443ebe106aab3fad4b7e3c9e0883bc6cf322bebae39c3f88b1483c34fe91bca2440abe30848f3f1898b93b036872bc3035d9bd9b626e3f7217413b960832bc132299bd92e3343f0f8d933b9d6700bc003549bd5acef03eae92183c2458f2bb0c24ccbc7118763e81933f3cf503c5bb85d40bbb4e102b3dbd04d83c8e2d05bc60bfc4ba0fa6d8bd083d553be4f02dbbec573cbc50d530bd1b7622bcdca3a23bb4b11b3b9a4600be4d0a8cbce349503c9655f63b70a81ebe5348bcbcc7bc803c5f013f3cdbc120be593bbfbcc53b843c350f403cf74302beec9bccbc2ec6793c17dc733cd643d3bdd03084bc2c1c5e3c0a187e3c25427dbd2ee02abc38153c3c645c833c2e41cebcfc5482bb4879073cc12f5b3cb639ec3a3ad04a3b5759ab3b386e35be63228e3fd237693eb8d96abddcfd3cbe66618f3f48f4443ef35357bdb52d23be308e813fec1f243e0f392dbd279b08be01945b3f69c3003e83190fbdd8e7ccbdd7bc273f54edbe3d03d2c6bc68809cbd34ffe83e3d74753d481c92bcadb742bdf2427d3e652b053d24a12cbcf04ccebc0057953dfca7f13b510989bb837a87bc78a932bdc4bb86bc67c26f394ff9b7bc95a6c6bb57b520bd0f781d3c4ae7a8bb2f38a6bd3dfd72bdc8aabd3c728ff93a7b4fe7bdd91683bd2ebedd3c95badb3be136f1bdbf026cbd4495bd3c43ff323c1e3adcbd784c52bd5e0caa3c07f86e3c8343acbdbd950bbd7c0e983c1ae0893cc38164bd02bc9fbce9f2773c8196943c2c5adabc27f92cbb08f72d3cfc10713c5e87a9bb2960e43bed55cc3b71d127bed1436b3fab5ce73e9095c7bd2b5234be809c6c3fdd1dd63e607fccbd4bb020be38ed593f0c75b43e5b28adbd7f5507be55073a3f2c318d3e17567dbd207dddbd7510143fde0b4e3e68a43bbde4b9a7bd2120d13ec371ff3d77e7f5bcdc4372bd2a60763e09706c3dcaee86bc051718bd0e49b83d9e4fa4bafaa8f9ba13e0dfbcc35a39bc3bd434bd8468a93b24dfd5bc63a07b3c63777dbd8a87853c7cf03dbc049b21bdee9dccbdeade033d090e99bbd5088bbde593d6bd69d1fe3c72a55a3b9dbea9bd519bc8bdb7d9fa3c6f84303bd03d82bda96896bd8dd7a23cd0d01e3ca45c89bd21e559bd8880b13c22636e3cfa7e32bd1b1cd1bc23fa783cd9586d3ce381c7bcca36a2bb94d92f3c4696603c77c7c7bbf0ee133c1c0c133cfe190abe538c303f62ed2f3fcc150dbe043b13be32ab323fac45273f1f9d0ebe822603befa22253fcfcc0e3ff0b8e5bd9560edbded9e123f5868e33e6c91babd6220b0bd92d8e23e9eefa23ef49b79bde8faa1bd3834b23e01744a3eb9392abde5856cbd8a395a3eee64ad3d5ace8ebca91925bd25d5cc3d813e16bca58a703b279edabca7dc323c0c8087bde833043c550cb5bcc53af23cdb32aabd8472b13cfa591fbc37dd36bc2c4511be7cba313d5f38f5b97c5022bd2f3319be3714313dcb5d4c3bff5e4bbd2f9708be6bf3143dc038c93b88e35bbd3d6edebd9c81043d100c273ccf3c43bd079391bd8f1ac33cf1d2313cd93610bd3ca020bd22378c3c0a764b3cc8e4a6bcf6e1f2bbefb2213ca724383c5e00cebbe2372e3c005f163cac80c5bded61e83ec0136b3fb1e12abe28e2d5bd9d46ec3e7d6b623f73da2fbe0f24ccbda75ee33eb9bd443fed6215be65a1b4bdab1ecb3e42dc1b3f0a85e2bd9ed49ebd0aadae3ed464e23ed536a6bd9e4085bd6128873e4f038a3e31d740bdb25243bde66a383e9ecee83df47769bc1c890cbd8170c43d759523bc320d183c70cdc7bc7133c23c80aeb2bd78ed423cecf265bcf9920e3dd7f9d4bd2045023d3a95e2bb5f12373c30cb32beeef0553d930cbd3a80dc4ebcb41a3cbee957403dff54593bc6f4c1bc11702cbedcad2f3de2e8a93bc36fdabcd0d305be6edfee3cc450d03bb70af1bc5edfbcbdff62d73ccdef053cb00db4bc0cb439bd773b853c5cb4083cc5f686bcfd6af0bbd18bc53b68c7003cb07c5abbdab9823ca3db823b28cf5fbd182d693e1d208e3fe94637beefc573bd2b8e6d3ee8508b3f00bc41beafe46abdaa6c6f3ebb7a733f9d7020bec0c85dbdbe8c653ec1bc443f78b6fbbd865141bddd454c3e2a060e3f5811abbdbcf82cbda1b92e3ebe2fb13e95d346bd86680bbd1505013e2c481a3e92cf84bc0309d3bcfe42a63d428f3ebc6e878c3c6e1983bc451dee3cfe8ddabd995bcd3c87c294bb8a37dc3cc41a0bbe1a38233df7b077bac32adc3c82044cbeb823723d6bb6823bc60dc63bc0cc5bbe6910533db6c2ca3b2bf09cbb4fa44abedb1b303d0caed43b8de71abc1d4f21be7ab5043d26a1a13bdacd3cbcf4cdddbd94c8b83ce118973b148d25bc9ec561bd8ace393c146d513be88cf4bb73a1d4bb103225bba309393b4382cbbada30b33c9149cd3aafa562bc6a27773c5168ab3fff993fbeecfc9ebc245a213d40239b3fe2802abee891b6bc25b26b3d7d5f8b3f0f7514be7b67b3bc63f9913d465c623ff99ce5bdf1919cbc1a359a3d8fcc263f77699dbd577587bc9bea9a3d6a11d33eb5632cbd7fb26bbc47c2883d95073d3eaccf00bc35c429bc4c65693d91ac76bba416f43cf5aaa6bb2bd2a63c460e12be34de003d00000000000000000000000000000000e780f33b18a2ef3ba7664cbea4a21d3d3bc90b3c828f1b3b7d174abeb3ff073dfc7ed43b201c03bb9d8a39be9b2cc33ca41cdb3b3c42b3bb39541abef97b913c36f08a3bf00da9bba0aed7bd1331423ceb413d3bad2b10bb98b769bd086da43b3229a838876a0d3adfcb2abc2cd8bcba0000000000000000000000000000000000000000000000000000803f00000000d4c42f3cce3fd4bd471cab3fbf6bf3bdf62db03baad065bdcdf48d3f44f6a6bd8da48c3bebfd0bbdcc7c6b3f1e4385bd60c8a43a3e9071bc9667313ff92b3ebd9ccd343be5958bba9722e83e2b53e1bce2ef9c3beb6bf13b6dd4653e94d0e1ba7cea9c3b790d133c57fb1d3cc76a5c3c000000000000000000000000000000000000000000000000000000000000000030c02f3c0d9837bee49cf83ca53d19bb2dad253c8d8d3fbe175d0a3d26501fbb71b0eb3b0bac30be9e94c23c2fd03239139fef3b4a0c19be4d2cb33c84716639053ccf3b22d9ecbd3f2ea43ccd43c0ba66ebf83b455a91bd2ecb883c9e3bc0bab842f93b49b6e6bcb445423c24f127bb00000000000000000000000000000000000000000000803f00000000000000005b46bbbd0d80a73f1de2e5bdd2c6113cafe25abdd17e8c3f55a3b2bd6374df3b42fd18bd4b38693fbf469abd2767d23b266abfbc288c323f835c81bd883fa23b6b1555bc7748f43eee634abd2cd5a03bc6dd70bb5ee7803e3ec0d8bca03e2d3bb571f1396a6e133d726b02bc476422b70000000000000000000000000000000053388bbc76227bbd2f1558bce438083c27e5513a78ed1cbe2823ae3c5b1a523ba7f0193b90952ebec45b533c443beb3b38931a3b12842abe9d95163cd181e63b6b8bb03b4f5013bea0b20f3c7d49ba3b30a82b3cb5c9e7bddaa5503c71888a3bb231423c1ac894bde9dc073c9404823bdeae773c7591cabc250e8b3b7bf1003b9c16583c1f8512bb6bb0263ca18b77bae8eb21be89afa73f8e8da83c93435bbc253818be8ead9e3f40420d39942748bc259f01bee0af8e3f20552dbc3cc920bcbb49d1bda6376f3f23aa9bbc9e8b84bbb24da7bdece3393fb224d6bcb5f2eeb9ef4285bd7827013fa9e5f2bc69afbd3a7a5a3fbd38df903e7c3cc3bc91a9053b30bee5bcd70c8f3da74be7bbaa82153be9f9eabc48dd82bdc1f1c6bcd2c2c33bee6e21bd48c40b3c5be145bd2679993c39d1dbbc538b8cbd9f9041bd5a0ac13ce53697bce71fc3bd35b23fbd81eab03c4f482cbc9fdbe9bd5b4e10bd31dea43cf7f1bdbb2ad0c6bd932900bd03da8d3c0e5d953b13b8b5bd69dd89bc8ad1633c4ed4f83bee1f71bddb5a11bc39bf283c4d15653c60aa08bd86418c3beb1cc93ba073823c5373e8bb7d67f63bc0c14b3bc0cd18be461c8b3f7fc8613e9db437bd332526be52e28c3fd2352e3e4b6e19bdf09b0ebec5727d3f2b11073e6960e2bce0ab04bea1a65d3ffa8fa83d97c896bcbad3debdf2f92e3f9a61343d5513febbe183c2bd50b9013f3210a03b285998ba7be29abde88ea13e41ecacbccd849c3bc71f76bddae90b3e21542ebdc7de2f3c47c351bd1fbc3a3c132d76bddb3a4c3c062a59bdd6c5723decf7b0bdf03aef3c53962abd86ec0dbc3cddcfbdab00203dee56fbbcf7f644bdefe7c1bd2d89193dc802aabcf9947cbd8a50a7bdf332083d07aa5fbcf28885bd14368ebd8c70f53cc95311bbe1fb75bd44f633bd5bf3b83c3d3a453b1a953cbda834cabcd9fc8f3c015b243c601eeabc76a592bb8a27223cb4913c3c1b9329bc622b493bfb8e143c47460cbe7adc633f35a7db3e4bce9abd984916beaa40673fa16dc13eaf1491bd36e50cbeb007583f0680993e037b5cbd057c01be89f23c3ff2525d3e0c2c17bdbcbfeabddbb91d3f29510b3ecf1dabbc883bd0bd1de2ee3e23f96e3d3484ecbb523db6bdcf05a13e527ae7bbf491ba3bc57297bdac132d3e57177bbd7b84943c23767fbd72ac733d5ed5b7bdafa59e3c80c961bd5696a63d94addfbd5f74163d47c243bd8d620a3d692312be75e3543d7bda14bde728e33a71b00abe966c3e3dc84fe6bc34feb4bc627901bed0173f3d65f0aabc7c1a68bc2e37c7bdf33d063d223b2abce38909bdc57e97bde15c073dade12ebb48dec8bc346730bdca3db93c5ceda23b04e491bc07cf66bc65666a3c9469233c7193acbb05f88fbbe8cb6f3cbd97debd36f22a3f5588263fadf3dcbd4c05f1bd98a02e3f5ba1183f66acd2bdf926e2bd4089243fd601fb3e3e40a4bda3f2e1bd0550173f5f64be3ef70274bd6677b8bda41bf13ecf39843e059622bdbce6c0bdc5afcd3ee8ec043ef78682bc4581a4bde24d8f3e7722e53c045c5c3ab78e92bd6e0c313e6f9380bd01cda93c25187bbd0519a33d7b24e3bd7c08b63cc78547bd1a75a83d2cc5fabdc6ae2b3d547322bdc099523d869336be6b7f853df3ecf9bc997a983ceb3433be9e1d793d10bbc6bc0c7e253b5d2f20be3ef45a3d785199bcef7312bc6d2d07be0448453d76b129bc6d9872bccb29b9bd29930f3d3fe413bbb6ff6fbc500e60bdfe75dd3c6ee1263b029f2cbc641e9abc2426813c4e09b63b1b1f11bb89e238bb2c0c803c50e0a0bde2b1e43e34145f3f37eb07bee34fb2bd9c06eb3e4827533f57e509beeba7b1bd4be0e73e2def313f336fe0bde8f5a9bd956bd63e1039093f37e4a3bd9612a5bd9dcbbe3ec286bf3e05e95abd0b5696bd1ec69c3e144a593ed5d1cdbc677c8bbd9fa16d3e3342833da653aab87efa71bd35c31c3e858a77bdd699d63c685351bd3e439e3d331ffbbd1190c93cbab003bd5d7c8c3df6780bbe3c57583d6b3ccfbceb9b4b3d43e050bec37d903dc129a5bc3b31e03c37df48beb942803d989b88bc8f177d3cb2b03ebefaba733ddbf062bc3634183cdd6b15be1d053a3db90703bc88fef43861c5e2bdfeeb1c3d9ea875bb1fdd07bb18ba86bde5c3db3c3d232f3a8b550fbb879f9fbcba88433c7373673bc9155a3b9f92863a8030403c406437bd87cf703ec998893f732e1abe8d7a53bd18f1743e2835853f37ee1ebe98de54bde6cf803e8560603f2ecffdbd63ac53bd427c7b3e91a4333f84fac5bddd5b44bdca78633e72f8ff3e119d82bd727d3cbd9592483e00379a3edbe800bde6842ebd5e8a1e3e2c2cf83dc478abbbad0120bd1c4eea3d669348bd19ebf83cf1d901bdf8fc7d3d03970cbeca7a0d3d2c4445bc0bf7153d0f2615be1c644c3d82430cbcdb15273d390262beaae09b3d941be7bb316ac83c288963beb443833d9de5c1bbef12873cee684fbe65c46a3d9b7d88bb4ad7303cade52abe34333e3dc4bf27bb2d14043cbf9af6bd29aa133d815036bbfdd3c93b76878bbdb249a33c8545403a6064ec3b0f1f4ebca2cc393bb049e338f3e9d43ba9f4da3bc4ee093c4afd4dbc7459f33cee5ba73ffea526be9578a6bc2d89413d6e679a3f05821ebe6c75a0bc3fe4903df375863ff21502be3138a3bcea28ab3d5d66583f9e7ccdbd04e395bc81a8b03d30281f3fd5798fbdc2df8bbcc064a93db95cc83e930623bdcf4e74bce81e993dd8682c3e69e767bb073c5bbc2bd57e3d4f900bbd34b7123d0eea30bcfae6fd3cc48f19be8649033d0000000000000000000000000000000026dc043c436e1c3b3bd337bee1c31f3d1424b03bb922873a638a3abeb8851d3dc5b9743b8b76c2badbfb29beef99f33c1b891f3baa0bddb959ce11bee66ed13cf0b5c3394195c93a6bb8dabd71cda03c48a1e03afd845a3b8bd981bd23f94e3ce6fd86baacac953beb0ba0bc6c6bc43b0000000000000000000000000000000000000000000000000000803f00000000cbf0073c90b9b8bd922ea73f0784e4bdad79813b291246bd24298b3f3626a8bd07c5be3ba368f6bc1f2a663f180e8fbd187aaf3b266f82bcd3452f3fe51063bdfec6d13b14b107bce2e7eb3e72ed18bd4672e33b6fbd38bbe41e743e00a378bcc14d103c428da9ba0304ce3cced0803b000000000000000000000000000000000000000000000000000000000000000029160ebc72a6a3bd2dd583bc6282a93b2173e7bb90d3c1bd51c41fbcfa92333be59ec9bb69fbaebdc8f281bc6d069f3bcb1a7fbbd1d2a2bdd9145cbc06354f3bb3b30ebbff1b90bd7e5ae8bb03511c3ba70d52baa87d76bdf306aa3b2d4bdeba92b6883b7c7634bd9de2493c7f2b92bb00000000000000000000000000000000000000000000803f00000000000000002d1648bd5c6b963f0f788bbd1a29043c1315e1bc62087f3f205262bd65ba133ca05694bcd984533f98af4bbd2291103ccc117ebcef5d263f145444bd6ed8273c1d896abcd6cbf13ee6763abdc87b073cd6b06abce9e7943ee02a25bd60bcd03bcae79cbce507f23d56b81fbd757def3b00000000000000000000000000000000387106bde770313c373157bd1432913c9e9105bdb7886bbd1aa41abd89793b3c5a33d1bc1cb08fbd48ca2dbd89246e3c5493a9bc65918dbd3f0f2dbd6e84563c95af77bc7e2b7fbd6fbb18bd98ca603ccd4235bccc6e6dbd77c5dabcf915243cd54a7fbbb09740bd37006dbca494db3b6c9f743bbdd0ffbc83b12a3bc231383aadd7ca3b079d24bc0a8ce33a6d944d3b9d94c5bd1526963f4c9b8b3dac3d53bcecccb9bd94de8f3fab272e3d2cf0c6bba8bd9cbddd247e3fd11bfb3c7ac26fbb0e3684bdbcbe543f19df673c2c4a743a8d086dbd6f24293fc722c6ba8f810c3bcb2c5fbdc4e6fa3e77c59bbccfdead3b40de5cbdb552a23e7b8e13bdaa93e93b3c945bbd94ee133e9b4a38bd61290a3c61c93fbdc2dfa13cf4f366bd699e273c173d45bd19ac6c3d1ad395bd24ecc23c586652bd919fa23c48ffb8bdc68cf83cede50fbd6a8a6e3bc608b0bdbe4ae23c732614bd8f9860bc6cc8b2bd3251f03ca9dbcdbc479562bc481c99bdcfb3cf3c2cec9abce948a3bc3e4382bd15b2c43ca3ab47bc3ab83cbc89ac46bd7cfaa93cf82787bba60f2dbc8ed9e9bc44e75c3ca198d23a062ab33b462090bcedd7663c0209cabd96387c3f2842713e6f430abd7351d4bd7d45793f029b463ef63ee7bc412fb6bde4a8583fa12e243e12a8a8bc2041acbdf130403f943aeb3da3cc48bc29b89dbd4a561a3f3b65933ddd4108bcfc3da0bd2f16f13ecf3fd43cfd1b29b9a4798fbd90b3a33e81a1f1bbe00bca3a1aae93bd40943f3e812454bd56e54e3cf7bc7cbd1db1853d16b086bd75e3133c723167bd044bb83dd3fdbebdf594ed3c703f6abd2ad1833d7c66f7bd5852273dc9e34fbdd8a3133de521fcbd3205243d85dc28bd8252bf3cd312eebde8d51b3d970d0ebdbe91923c3631e0bda765203d1aaddbbccba30a3c5e2dbabd5ea3093d6e799dbc5c86b93b851791bdf207f93c153e2abc6585d73bf62446bd4f50cf3c6b4545bbdb758b3cb67d18bdb46aca3cb65abdbdde0e4e3fa01ed33ee8df5abdf158c3bd36d94a3fcbb3bb3e5d674ebd6110b9bd1f8c3a3f489f9b3eb5401bbdbb7fb2bd6975223ff7016e3e4c0be7bc4026aebda441083fb28e243ef3b4a4bce782a5bda841d83e8ac0b83d646d23bcd193a4bd18249e3e7784b43c479a19bba0bb9fbd3daa4a3e77f226bd2fa00f3cc3bb84bd71dfbc3d5c2998bd3182d33b205371bd5696c43d7f05cbbdafe3f53c9d2070bd7a00ab3dae910dbed9bd383dfe2144bd8aa8713db8c509be704d273d76ca3bbd135b3c3d550c11be2624423d64cb04bdb8c5273da04ddebdd9d4093d19e407bd58d6e03c0e8ee8bdcd6d363dc31caabc8cd4ae3c472ab1bd4845153d2ddb66bc3a3f963c225d89bd2e560c3d4fbae5bb0f92d83c761e49bdf7e9093dc3539dbd61a01e3f7c1b183fb1b090bd2164a5bd2f991b3f57630b3fe62d8cbd4df49bbd22690e3ff169e93eaea164bdefd39fbd23c4013f9296ba3e24db37bdd0da8bbd3ddccf3e010e873ee82610bdb4349dbd0150b63e4f79283e7738c1bce13192bde98f863e130d953db2394dbc162796bd6e4c3b3eb58699bc91b4323b665d81bd6d52c53dfac992bd46514b3897974dbd8f92b33d3a1dcdbd4af4ed3cf56d58bd4a5aa43d0dbc1bbe35a6503d136043bd6a987d3d577422be95be463d8f8a2ebd4b8a4b3dc01f1cbe89953f3d45bb1cbdf4972e3d69ac12be8aab443dbbc303bd24f9033d81c4f7bd038f323d4e2dccbc75c9d63cab84cdbd9a732e3d0abc8bbc6464b33c44b195bd1c481c3dfe591bbcc121d83c576559bdef95123d02c970bd73a0de3ed427483fc617afbd46fb78bdf481da3e1c383c3fa2bdb5bd8d9271bded92cf3e5d5d203f8feb91bd7f2972bdf6cfbc3ea5ebff3e036d6abdd1537dbd256aa63e6a58be3ede4e38bd2c8b74bd52858a3eecda753e3fd4f0bcb95475bdcbc6563ef7eef03d25c790bc859870bda92e193ed20d333a678106bb8fb55fbd7e8faf3df18f8fbd76bbb9ba33f81ebdc1df873dd2c6d1bd6532073d554c1bbde1217f3d413624be6d3a573dab3c07bd277f473dacd619be65cb2a3dad940dbd0e7a2d3d15dd22bebd3a3d3dce70febc991f0e3d4be20cbe19c3253d0e25e3bc8d81f43c429101bef91c2d3d3fceacbce8dbcc3c9b74c5bdaccb173d9f3d5dbcebf69e3c3ecb90bda902163d62b009bca809b13ca78f42bdd4a40e3df7cf0cbd4fd6803e28d2773fc56ec0bd1aa40abdae3b7c3e3a956d3f48b3d3bdda8d18bd27ef783e693a463fec9ba3bd850c18bd9e0c6a3e9935243f5f328bbd68fa13bd32da4f3e0b65f43eef7c55bddfad23bdc880323e0077a53eb52c17bdfe8323bd8de90b3e71f2323e02b6c0bcd36318bde676ca3d44d1d73cb62a8dbb40a913bdda7f6a3dc1878fbd37bd11bad2a2a7bc47baf23ccf13c2bd172abc3c384f6cbcc271f83ce39c27be43d54f3db52f93bcd14bd23c494a2abe2c8e283dc2409fbcaacbb63c73a720be10201b3d0dc0adbcf939ac3c233510bec9cb093d660f9cbc77d4993cd934fabd0e47123d875c66bc96ef8c3c9d02c1bd0653053d4a77c9bbf9837c3c09136fbdbaebf13c43b6f8bbbb6a673cd8fd23bdc52ef43cb1dc34bcfe7b9e3d9959953f6f84c9bd7a4815bcefd49d3d3eef8c3f0e43d1bd920b3cbc1d4cba3dd014723f3ba4aabda29552bc1d2fbe3d0ca3443f2eed8bbd4e896cbc6dfcb23d0fc8153ff1325abd6e334abc223b983da854cf3e6c1b30bd6fbe6bbcc6f56b3dcf30633e7090d6bcb4ec32bce9dd163d2bd13f3de24ad7bbf5b4a0bcd713b13cf8ee84bdaa270cbc00000000000000000000000000000000552bd5ba984839bb2179e0bdc352433c192645bb19be6aba40e6efbdf4546b3c281702bc9acdaf3a5f4addbdd2d10b3cf59b26bc89e4d73a49e2cabdc49d133c979a24bcfffb283aa920abbd051d233c00f7e0bb707bf03a41ac88bd7834523cba4af7bb10df4a3b75b83fbdbb2d713c0000000000000000000000000000000000000000000000000000803f00000000eb161c3cca964cbdd73a963f1d5e88bd5ccb063c0045c9bcabf67c3f82d14dbde161b03b7a014cbc5e25503f078631bdfe2ea63bf0b3d0bbb038223f060c17bd9eed683b1ed69bbb2ad0e73ea43408bd04fd9f3bc485febb2bdf8a3e83e7bebc1580603ba72b40bcd6c9c53df9f897bc0000000000000000000000000000000000000000000000000000000000000000c097053db5445cbe6673563deed0b6bb8143b73c28b24fbec1e61b3d695310bb4795563ce33447be39aff23c8799783a7a4b323c242c21be6f12aa3cb968d63a2de25d3b7604d4bda9381c3c5ebffe39e1d649bba81854bdafc2c339eca112bade1267bb3b469ebb439a90bbefcc92b800000000000000000000000000000000000000000000803f000000000000000042dcffbd3adbab3fddb203beed119c3cfb199dbd37ac8d3f41c5a7bd28583c3c5a3b7bbd7cbd6e3fc1da8ebdb8fb663c5fea1abd144c313f8c1b3cbd7f5b313cd2e745bc3c36df3ed85d87bc3927e43b4d6e163cb03d593e502be53bdba1953bb511da3c2f9551bc8791f43c38cfebba000000000000000000000000000000009c98883c1656dbbd1977083de19684ba5c8daf3cf66910bea78a073d15bcf3babc37b03c7a1a43bee0e8ff3ccc1daf3be496b53cbe5b3fbe8202c83c5b7ad93b50d78b3cb5961dbe3d0b943c85b3c53b6365793c23c8e1bd5a5e043cea3ce63b123f463c8ad16bbdb2306c3a14c6cd3b22cbe33bf1dc97bc77ec89bb1a17b73bae24403ca150603c30674b3ab92f9d3aa92a4cbe7177ab3fc48f81bbe5a814bca55222bee0f3963f3a07993cf8323ebcf88322be4561903f104043bc760097bbd6cd08be268c713fae9b1abccc4f70bb37a2d1bd59b7373fbb0f4cbbc7257838819c8abdb118f43e8d94e23b55bf04bbcbd518bd988e753e7f19b43c77e1aabb8412cebb7139883d650fcb3c077107bc2528e93b04ffe9bdbb59db3c31e118bcf3642fbce5cfd3bc60b75f3b9d2e603beff0163b2406e7bd6269083c8d00163c15f81d3c9f5d1bbeb42e1e3cbda23a3ce1e4553c507524be6c732d3c8305303c07af833c46870bbe7f65163cf0371c3c3f07b23c7542d6bd21c5023c0254263cf9f3a13c401071bd09769a3badb2ed3b25fea53c8818bfbc8434be3b9384f83b56c6a43c965193bae1240e3c57c6813b57be32be4e538b3f2341543ee98258bd468d49be5ad78e3ff605263e3dc530bd18b13dbecf91853f439fe63daa25f6bcb3a929befae4653feb50a23d3628abbc05b20bbea1a3333fe8a35c3ddb2382bc7c8adbbdc1eff63e6e922c3db54b54bcc1fe8cbd74a7863e9d59eb3c1f5834bccd6d1cbd9e23ae3d014b543c4f6332bcae92cebcc9dcc2bc4ce480bbb5252cbce984ebbceca41b3cc165f3bc6a274c3c86fafabb8a108abd4d8815bd3889b73c2a7d2ebb0f40debd8bd1f4bc7425b03cf984103bfc58f0bd5d6ebebcaaaf893ca34f0a3cf4cfebbd704212bc5b7e893c15cd883cc24fb3bddbdd3ebbd680503cc4e0a93c49cd61bd1910453b488f183c01c1a83c6817d9bc6d332d3ccfbc283cfeb2b63c50eaa8bb17f8873cb208d83b6bdc27be86f0683feb79da3e7392c0bddbd43abe63946b3f30bdc33e7eddb6bd8a3c35bed886603f1174993ef25986bd780527be2c03473f6af0563efb3225bdd9e615be628b233ffda50a3ef522e9bcac44f0bd6770e83eb222ab3de06f8dbcf93cb3bd54c68b3e3f87f93c4b58cabbffe36dbd50aaef3dd10a12bcdec2aabb468126bd8a99293c637029bded511cbbd9f707bd82e7243d285884bd661bd63cb42da7bc3f32cabcd621aabd96980d3dd5f020bc9eff77bd0804afbd2e53003dbe18eebac654aabdde3a7cbdc7bfde3c080f1d3a61299cbd293c24bdd603783c0937203c3db797bdf8348abcbcc57d3ca9d1613cb7803abda7781e3b55f7243cacf8913c9a59bfbc7101583c79bb193ce185953c3a0826bcbeb1c63c6921b33b365005bef8ef2a3f05d32d3ff79611be025e16be324e303f1cab1f3f1dd10abe5eee16becced2a3f01b6043f30afd4bdc67c15be8b111e3ff492c23e40c48fbdb5a8fabd7ff3023f7bbc7f3ea7a527bd8a05edbdec40ce3e7822083e11d9b3bc0601aebdbd60823e05c2223d68c8a8bb07a981bd8f7c063ec7bbdcbc661a063b969d3cbdca32183dca12a1bd8c5e973b55d803bd2871573de944c2bd14df013dd71da6bc7ef1e03bca3609be9ba74f3dfdb919bc0597f6bca1b10bbee5a4403d80f7bbbb7c853fbd7dbee4bdef7d0f3d20aa1dbb0c075dbd91f597bd26ccd83cba3fc63b602556bde30214bdcb06923c979d243cad8823bd64ee13bc9d135b3c2de5643ca92ccabc97a5423c6729223ce1bb763c2344d2bb059ed03cb713063c7480a6bd0b8dd33e35356c3fd71938bef81bd6bd9a78e33ef0895d3fbd352fbe9cdbdfbdff48e33e87743e3f3e7b10be4fbad5bdbd00d53e6b8d113f39d2c6bdc47ad0bd1750c23e624ec23e96246fbd82abbabdb0729e3ee099533e8edadebc8684a1bd150e643ea758883dbbd466bbdd446dbd5f4e033e1d8c13bd82bb2e3c713f32bdfa985a3de906dcbde358343c3797aebc402d583d65f9e9bd217a323d0e646dbc69c7a43c673e33be57f57b3dba6a06bcfd2e3fbb8dc63dbe36796c3dc3f592bb12609dbc16d526be3cb33a3d6f160abb1296dabc3476f1bdf6dc0c3db8c2953acc7201bd64978cbdb90bc23c7db98e3b7bcaebbcd355ccbc09ec493cf39ee23b998d9abcd263ac3b785c123cdb7cc03b2c83c4bb301ac43c6e60e53b82be2dbd209d4b3e9a7f8c3faf853cbe4ff55fbd301d593e8f3e8a3f70f642be8bbe72bdf05d603ead9a723f19c521beaf6a82bdf2c4643e46273f3f9d94ddbdbbd074bdc5d0593e1008063f15528fbdcb2175bd35414a3eb940983ed167e6bcc24758bdf1fa223ed92ecf3d3213e63b44c42ebd4621d43d2b5e0dbda451c03c4476f8bc58cc633d6bcbf7bd6edbd23c079a07bc79a5113d19e81fbecef2753de4ab30bc827ed03c72b43abe35be7f3d9d6af6ba042ae73bdb245dbe474d6f3d28f74eb61bde7abb615e49be0029463ddb5857ba2f5a25bc668f1abe28910a3dd33865b9d0647fbca9cacabd281ca13cf431b43a86af7ebc668e2bbd8ee8e23b1c0cc8365d9777bcd684d2bacc9e78bb40837cb964c273bb35a2dd3ca72c88386087cebb0340cebb3b0bac3f64954dbefa2da9bcb133403d9e81953f3f1421be09f1d1bc127e3e3d512c8b3fd7480fbe9993f4bc51e08a3d2b0b613fd695d2bd57c4f5bc13c79b3d0afa233f94aa7cbd6ffcefbcda61aa3d90fdc73e644289bc604ad8bcd7ff9d3dd161263e963f493cc2f9c4bcafd97e3d2783e43b9443093d84f04ebcced1113d18fb28bec0d8483d00000000000000000000000000000000fd3d053c843d123c7d4b5ebeeee8693d2cabc63b772f35ba43054fbe892a323d1775c53b0dbde0bb310f48bea0980e3d10cc6c3be704d3bb661224be6cc4d13c4ec9833a1fcd2abc51cfd6bdb7344e3c76a2f33900f9eebbed015abd5963423b42cc3ebbcb234fbb69ecc4bbcf718ebb0000000000000000000000000000000000000000000000000000803f00000000abdefd3be7a6ebbdafabac3f3ac503bed03ee7b9b21578bda49f8e3f4e59a1bd275b29bb70c83ebdeaf0723ffc2384bdcd9549bb198ed8bc6c33353f46f91dbd0be3beba818412bc8a8fe83e380317bc2c4282ba362a9c3b47bb643e0673673cfbb16d3b5c110d3c1007ffbbbe5e1b3d00000000000000000000000000000000000000000000000000000000000000005182083d121759be5bb6893d65021abc3401ed3cacff4ebe44aa713d2c9a01bc4b45db3c50ef49bef1de563d0d8c95bb43b3bc3c821e28be41d3313d389b5dbb69da813c0f3be6bdf57de53cfb225cbb9d44173c9c5b62bdb90c273c3d990dbaf147ac3b1f53dbbb456cb7ba2660783a00000000000000000000000000000000000000000000803f0000000000000000a07cedbd1ab3ab3f8d9cf5bdd22bd03b1d409fbd2c6c8d3f623e9abdd1f14fba481186bd26616d3f47a380bdeb3e8dbb395b38bdb261303f523821bdd4e6d5bb0b39c1bc49b8e03ec5181ebcd5bcd7bbc8b8593aba404f3e451f733cabb0edbb1a9faa3cecc5e6bc91362c3d3d6a1dbc00000000000000000000000000000000014418bc20f3adbd4258e23c5ffc52bb4bcffe3b964a01be3a6c233d238166bb650f5b3cd62933beeb613e3dcdf390baa26da43c051f40be32ee503df21100bbdde9d33cb3582bbe3b3b333d2b2ef3ba2433e33c184603bece91083dad57d83a3f90e13c5373a7bd36c2ae3cd193eb3a6796c43ce05207bd9409d83b3aaf353b8138fa3c6c7127bb3aa7ba3b1080383be93c22bee286ad3f3f3311bdfec4983a61bb05beeb169a3f0789d5bc6a0d5ebbdc800abe4dee923f1c9946bddb4383bbf72101be1bce7b3f76c642bd98ffa1bb1f82ddbd8045453f8f311cbd0ee3ccbbd599adbdc040083fa6e7aebc6d1009bcfaf969bd390e963e030a5bbb0c880bbc7a26c0bc65edbb3d1f7e713c88342bbc550eabbc1555c4bd434be83c4bfd2fbc9b847bbdaa3e263dcaaec5bc73bbbc3b2a4406bd455d81bd7a7bb03bfec7903be124bcbc0c73e7bdf440a53c13932e3b162ad3bbcce212be3bb30a3d220f4f3a74cf153c16ac14be2b381d3d30a30fba4da7be3c86e407bebecb253d6df6e73966d40b3ddbe4c7bdc830153ddf4d42ba1cde283de6e686bda722fd3c634c7eba7705303d76d003bd0e99c73c5494903a1aaae1bd6f8d8b3ffb69fe3de7cc7cbcb5c70cbe3b35913f08be7c3de1da48bc4e7010bed8b28a3fb8ff2d3c6c3c6cbb9f1112be9dfb793f2ef2d8bc5ce616bb00690dbecd55503f56d12fbd254f74ba683802be85e11c3f1ec44cbd2ea50fbb56e7ddbd052fca3e211649bd6fba64ba543aa7bdcdcd463ea87a13bd3bcc99bbe95d91bd1c8a5f3d91d40dbd3fc8cabbac9ebcbd1ff6f83d84acafbdd562ac3cf1d383bd3cffc43c19eb6cbd03998f3cb06c49bd397f18bd794dcbbcd86c3e3cbf2c08bd0e2d9abd5247903a18f7e03b4cbc69bc8353d2bd3129cb3cbb6455b976a3ab3be909d6bd7760183dfd4177baba3eb23c4f68c0bd6679343dfc4c0cbb9bdd0b3d832092bd4f363b3de7fe5ebb0b8d253df9b148bdccf7353da9534ebb554fa9bd5e655e3f3f48a53e53ad1cbdb495d8bd5ee36a3f6a086f3ef285e9bc33f4ebbd197f693ff341063eff2364bc4bf2f8bd83655a3f00d92b3d0702e1ba67c002bedff4433f09050abdf876f03b86f101beea1f1e3fe5d98abde36cf13bc577f0bd9dffe33eab24c7bd76a52e3c69cbd2bde7ac8d3e040dd5bd97b1003c232fc2bdb816193e3d2edfbd57cdb73b8cb0cabdceaf273e4b880ebe3022173deee1a4bd3e74b03d27e3fbbdc3450b3da58885bda22ef93ca62abdbde168c93ce34650bd556899bcf24c38bd3b204b3c540920bd703f01bd6f7dc0bce446f53bc9376bbc0aa78fbdfc37a13c559f59b9cc7f5d3b32dc87bdd6be0f3d5fe5a7bba0369a3cdd1a81bd004b523d39e405bc0578e33c436f52bd7c09733d3ec703bcc6933dbd10031b3f4e3d143fa99098bdea3b89bd00a12a3f6690ec3eb76067bd8b70a4bda8942f3febd2a53e1ba4fabc310cbabd24192f3f03da273e274495bb396fbabd237d1c3f5ab56e3d34befd3b2fe3d8bd0b5b0e3f52fa60bde681953cfed5d6bd813adc3e378de9bdaac3cb3c6efcc6bdc1b09d3ea44c20be98ecc73cb4dfc0bd04d94b3ee1a038be08fdb63cb034abbd877b283eb6bd34be7bc8463d685195bd635ce63d9b5638be8a59523d635981bd4cc0893d7e7119be700f253d813e5abd8b53fc3c97d1d7bd5e16cd3c705d1fbd34b1c5bbc7a65abd569d313c76f1d8bc3e74cbbc2d0c2bbca375513b9bc215bc1d8421bd76d9ac3cf02686bb0a43ac3bafe92cbdf7b2423d82f92abc51721f3c6d2010bd9442683da3b121bcc73cc1bc2463b53e7421583fbcf9e4bd34f322bdb355d33eed503a3fc47ec2bd05c34ebd9400e63ed4c40d3fe18771bd8f2b69bddc25e93efc87b83e39a6c3bc29af82bdad18e93e57ab2f3e77f1843b5cf293bd39b1d43e1b46c83c41089d3ce7e09fbd4d2ab73e8071c4bd4614093def7a9ebd51278f3e0d3b38beee1f263dbb6795bd9b2c4e3e224964be72661d3d796c6dbd9b45093e5a633fbe75e0793d8b8f53bdffa6cf3dc1e360be24228b3dcf7736bda0209a3d417556bee53f6f3d8bf81abd04c84e3dbdd025bea759233d6fb701bdd323e83c9a06e8bdb7f9c83c21d9bbbce9b9c53bea8452bd928c133c0c0873bcdbf303bc0c9ba4bb49afd2baedf8aebb5bc89dbcccb4f03cb53d32bc1672ca3abd1b91bcd11f573d94cf5cbc5e35e0bbcadd163eae24893f6be310be533289bc4f49393e63f07d3ffb3e08bed519bcbcd4e6563e37bd503fa7e7babdcce0debcbe116c3e87ef163f479c4abdaea2fabc24c4723e10d3b93ed7c551bc2abc18bd1bdf783e0243153e349e8c3c374026bd28ed623e7d5dd9bc95341a3d1e3434bd330f483e3ea620be7ee54f3d662b37bdd84c1f3e31a771be42f0563da500a3bcd5a0843d301447be05e9913d9343dabc8892893dcc5a57be8e858a3d0f95b2bca2f14f3d46ef67be8b53803d303294bc68eb2b3dd9ce4ebe940e473de13b68bc7e47003d7c291cbe4bf8ff3c714156bcc6638b3c2cbebbbd607e453ca933f7bbf478ae3bca4f11bd443154ba4af9a8bb999681bbc41a4a3c5e386cbc055ebabb20ddb7395ad33b3d96998abcca9944b97c8ad7bc60daac3f814c3bbe5cc863bb1a66bf3cd0e4923fdd330ebeedffaebb8bdd053d5f98833fefa0eabd4cb70cbc3c76513d47114e3f530f92bdcffd11bc80c3893d9c810e3ff8c2fabc1cda3fbcd6e8a43d2b13a03e43c0ce3b122483bcdc6bb53d4d8fb83d6230ff3c8219b8bc39c4c23d563098bd654b503db46b4ebc82238f3d987c77be19778a3d00000000000000000000000000000000f580f53b588ee53bd4a351beb562683d6f0c763bbb5a593cf1b44dbee5873d3d38ac433b32a6023c5a0748be5fc0243d63c82a3bca89363c938a28be8dc1003d59db3e3b71f3163cae74e5bddd118e3c992595b91de6cc3b5af965bd1f27253bba3a52ba664ac03b1cd3ecbb3609dabb0000000000000000000000000000000000000000000000000000803f00000000d018c03b4afde6bdfb74ac3f5e8606be9e39953ba11e9dbdf7298f3f40e2acbd9dd7f03be67b8dbdc690713f71e686bdfbd41a3c3c3a64bd83c4353f1b5f2fbdc5a01a3c6fe12abdc65be83e3eb64dbcbff8e93b4889b4bcfc28603e337c663c5304153c9fb763bc1f827dbc2d57183d0000000000000000000000000000000000000000000000000000000000000000a38ab33c41db4cbe03ea583d83140ebca3f7083d41695ebef46b523defa093bbaa7b223d533a55bed47d353d4b029abb7341353d30d73ebe1d17253d5d4d42bbbf0a313d235b18be62d8ec3cfd8204bbbd61223d6382bcbd8bf2743c3a357dbae86d1e3d8b583abdbe98c73ba225a6ba00000000000000000000000000000000000000000000803f0000000000000000da5fd5bd4b47ae3fa39cc0bdee52ddbb6d37b3bd7341923f19dd32bda96a89bc62d3b3bd7ae2743f1282debc70d473bc187da7bdd0bf3b3f192f21bc9bbc8bbc062290bd130cfd3ea0185f3c83f686bcb12353bd75047d3e212d0c3d90d653bce4a41abd41a75b3cd234563dd70c23bc00000000000000000000000000000000b43373bdf894efbc7be90f3c0af10abcc0cd00bd70f7fcbd7b5a0c3d135670bbb12a72bc5c6323be9a570f3d94df8ebbdcda383b451a37be46fd223dda4c85bbad979d3c21eb2cbe0593133d312c4dbbbccb043de85914bea0baf93cd28a60bb7f35273dc325d7bd237ac63cbd8e1abb67f5323dd7574fbdd4431e3cbd429bbaf6cf533da90529bd26f2853cae5bfeba2b9dbdbda5c5ad3fdd677bbd7dc9423c6ecfbfbd19f0a53f9dae51bd74a67cbbd496e4bd67a3993f8ad750bd1be4a3bb784af8bdad8a853f85b42bbd96cb2ebcd1c305be97c8573f5331f5bcc17c56bc537c05be1a831d3f064451bc58312abcb0fbf9bdce1fc13ee6f12e3bdf4f3cbc2ec2cfbde3d9063e30eeeb3cf3c807bce79bd3bdb7875bbc67a4b93c283540bc0212e9bde5dee03df6263bbdf76651bb8c1dcbbd42cf833c3cca51bc8f51eebb135c9fbd29d729bdfb1f853a3163b5bb842757bd489ab2bd6e11a23c26fec9bb901ef5bcfbd2d7bd024ce73ced29b8bba9c9febbfd16ebbd836d183da5cac4bbbe9a793cb59ad5bd3c95203d9bafa7bb8b19013d0c20b2bd8685213dc59380bbf1a9263dd9c881bd3a391d3dd05657bb53ebfdbc05d3883fcf54683d4d89b93c324154bd3f88903f11b1a2bc69dfa43c6ff19abd3ff88a3fac1b3bbdf4495b3ce4f8cabd7c06813fa5c490bd19e1ad3baf15f8bd87845f3f9bd4a1bd3f9ba63ac84f0dbe79d5373f5be1a6bd455d9cbb98551bbe4537063f4c9194bd64e5fabb14f31bbe596bac3ecdcb5ebde28b48bc0d6714be5e53373ec4326fbd33114cbcd75610bebd01553e2a5ee8bd225bf63b2a5609bea9ca053e6ddca3bdf4d00fbb02d4eabdfda57c3df7a842bdc22bb8bb6662c5bde291343c6984a0bccb9feebb3ca39abd1279fbbc999dd43b8a0712bcf1be4abddc7b67bd1481d83c3d1207bc775dd1bcc76a91bdb921273d56050cbc8f011dbb2316a3bd4b7c5e3df2b20ebcb9a4753c4ff37cbd0c91653d04be08bc5bd3b43ba32c4c3fefd86f3e9a8bcf3c218322bb2bc35b3f80bbe83de40c173dd024dcbcf756603fe10df43c9d6e023dbe9752bdf3d55a3fb4e939bdb380d33c44b19cbdb5f44c3f4506cebda605a33c1098d2bd1b39343f90fc02be718f513c4e0601be8292143f38f017be5ed0b63b4d6d13be82e0e53e548418bea88527bbcf5e15be77d4993ec7871ebe1f727d3a6a590cbe213b793e84362abec86ec03c81260cbe89774a3e95f518beab54173c8f4af9bd40490d3e5ca5edbdca94ad3b7c44e9bdd820b43d235896bdb82393bb732ebcbdfa10773d66b363bdad251bbbbaeba5bd88ea353b8a0643b9c92525bc55af58bd9daa9cbca222b13c926e15bcd94510bd28a430bddf1c563dc9e141bc81192cbcc91234bdccfa783dc06263bc2854f83c78a4053f3a7bf33e537d1f3cba8ae73c151a123f5ae8a83eefca163d90a2bc3b8d111d3fd06a543e50c6193d5bcdabbbee22243f4dfc753d2419343dd35118bd9eb7163f267d213bfc9f103d6e6a5fbd57461b3f1d6706bea229003d24ada9bdbf7d053f009830be67abc13cbf0dd6bd7386eb3e930b60bec84e6e3c901ff5bd3cd4ae3e01a76ebed2478e3c0e6bedbd01d56c3ec23c51bede661e3d3078eabde86d533e88dc58be6cbef23c4c24e5bd8cf5273ecb5e34be6fd68d3c46b5d6bd027f023edfcd06be51b8033c29ffc9bd66b1b23d1d24aebd868c9eba224cadbd29b5533db69818bd7d3cd2bbf3868dbdc9dd9d3c01fb933acbe323bc045355bddb5822bc6bba243df90a6dbc5c76febceb5e4ebcfb14443d040471bc56961c3d90fb8b3e3725413f82a190bc39e2263de2599c3ef4e11c3fa643663c076aff3cc7f6b93ebe37de3ecdc2fe3c9bc1863c15f4c93ef0f2803eba11243d172df33bd8b6d93e3ecba73d370b443d9be136bc564ddb3e886d68bd89a3353d280512bd65f3d43ea2b02abea95c243d07f66bbdbc3bc73eeb8480be52b80e3d824f9dbdf2529d3e9d0e8ebe8e3d0b3d81b38dbdf34d333e1e7f64be60e9593d380c9ebd73282e3eff8684be340c3f3d4e139cbdb008153e181b6cbe9daa143dd3db9bbd5eda033e14d646bec053b33c5d5b96bddfdad63dc94d10be82cb3d3c8d7288bdcc8b9d3d0701a9bdcb2313bace0f71bde5964a3d103605bd9b97acbb99334dbd4179bf3c3b3ea83c11dd60bcc3091dbdee5d593c4afd2a3dd8cd80bcae5fff3c29cb933d12ac843fc79352bd9a1b023da18fad3d4d066d3f8d47acbc0e3cfd3cec70013e8a623a3f10040c3bd504eb3c7464203e73d2003f0735e63c2811ae3c8e2b3f3e5e71933ea1a1243d70774a3ce45c5c3e37e89d3d2ac64e3d5079bfba70fb6a3ef23cafbd93554f3d6fc07abc44d1793e55cb6fbe9fd4503d47f4ffbc2c745a3e215e98bec0304d3d19bdb9bc249aa43d654562be571f803d9cce04bd7f9dc33d0e2b8abeebdb713d301706bddc54ba3db2d683beed373a3d35b901bd76d3b33d56716abe8da20e3d6c2c05bde40ba23d4f3038be5e0cb33c0590f1bc03b88c3d85fbf3bd1ef3093c1523e7bce6d0573d766160bd79eb85bad3f3b2bc5079053d8b1d483c8b034dbc077ae8bc44d8013d2aaf9b3c272d05bc53a8323c55d18bbdc689ac3f50f8debd99f0043c62823dbd3a61993f62e384bd147c7b3c0cea0cbd5644803fc6f208bda3aa893c5593a5bca63b453f8589b6bbaacba63c9a0af639d002053f2703933c3dce863cd343b23c3c7f893ed63b103dd850283c0ccb443d83e81e3de534393df7bba739f11fa23df5492bbe79dd5c3d94d48d3be3078e3d7f8389be70415b3d000000000000000000000000000000005857113cfd6e153ca7d054be60973c3debd1753b944ab63c1d8a53be0703183d2e6a7e3ba066f63c51b347becfe1023d86c2d3b9e3f80b3df21630be4775d33c3b3d28bb6639143d6af404be9f4b993c17aec3b788ab043da9b599bd99be033c9fcf01bc1bd5073dab8e05bdc84b303b0000000000000000000000000000000000000000000000000000803f00000000a07c673ae6f206be424fad3f0157c3bd9134d03be7c4e2bde77c8f3f970c55bd7bd5453c1e05e7bde88f6c3fe62116bda6d6a03cd838dfbdda58333fc5a49dbcbf2ba53c9d8dc5bdd610eb3e102c5fbb0189a23cce1a9cbd35c6603e88125b3ca232d53c08a07dbd944d0dbca7cad83c00000000000000000000000000000000000000000000000000000000000000002bd58d3c59552bbd3c3523bdbf08203c74e16b3cd53436bd30e405bdacc1f63bd920423c5afc22bd3417dcbc3e12a63b0c2ded3bfa2010bd336fafbcfeeb773b7d542c3b214703bdba1282bcd3d96a3bebe8aabaaebddcbc953523bccd98483b24697ebb2a7196bcd2d890bb03861b3b00000000000000000000000000000000000000000000803f0000000000000000e6a605bdeee08c3fd477c2bcbb9219bcfc546cbcb0726a3f9c326abc8e9bfbbb812381bba0f83d3f130b3ebc0229f9bbd6008f3aadf1123f6e2656bcdba8dcbb4402703b6b08d33e73e587bc1ea385bb72c7663b36ac823ea67cb0bce24a87ba292ce339b46bd23da547eebcdfeef73a000000000000000000000000000000008f0d823cbb81e4bbaa771bbd033a043b2052943c365f21bd5a2745bde0f0e23b6affa93cfaf837bd960b3ebdf9fcc83b9d6f963c8b4b2dbdd85721bda49c983be5d04f3c885016bdd29cffbcd440923be6fd053c61490cbda70bcabc2a776a3b9520303b0c1ee2bcfdb78ebc10a7863bc993cdb76b6884bc1737edbbc08e863bbf2e153ae8324dbbcf662ebbe08cfc3a5d8a8fbde83c8d3f06b5e53d364dcebcd53b93bd2ab2853fbc9fc93d7838e4bc4b392bbd98d5613f436ab53dbffdc3bc8ab3d1bcd8d3363f8338913d4049aabc49f14cbc23430b3ff0d4563df03e8dbcdd0edabb2d01c93e1319f33c47c469bca57496bb4f0c773ed7d8a63b928e39bc52ab89bbf70ec93dba0f88bc358a95bbcf17fdbaf68797bc4f96efbcb74b14bb5c034b3c0d36f53b4974f7bc882cf2bb7de59b3c011f60bce7bf3fbd17df11bb0ddc953c70b4a8bcf42928bdc64628bbb08da43c8df1eebcfc292ebdb78bb4bad0cf683cf9ffb8bc7c6e06bda23d97ba08974b3cf710cdbcdf43f3bcfb1c003982e7d23b8d0791bc5c0e9dbc16c2d03ad5e4743baeb33fbc30f457bcce2b3d3b10054b3b840b10baea7f83bbd7830a3bbf3e91bde7256d3f215b873e8d5e18bdde8ca1bddd5c643ff4107a3e039f3cbda72841bd21893c3f7af65a3e74bd1bbde5501abd3de2203f5d3c313e505613bd155bacbc8237f33ebce4063e8d6ee6bc873588bcba9ab43eb5f6b33dfd4ddbbcca0732bc11af623eb4c1453dd0dca9bc3f7dcdbb6c5ecf3dc9461b3ba8d385bcbfb052bbb73772bb1a39b6bc5dc11ebc9301123c34ba5b3cd612b1bcc6fe62bc7bbe893c70d0f6baf1cd28bdf3c84cbcd6d1a13c09bd52bcc0733cbd2cd510bc71f1973c656c8ebca4162fbdfcc4c8bba2187c3cb89798bc3cb118bdfc80b3bbd02a393c903695bc8a7d00bd7e8fc6ba5c79f83b799d79bc9c8cbfbc88b046ba626fc43b0a361fbc6e605fbc7ebce33a93757f3bff458cba834dccbbd4fb3d3a6c587ebd2eaf413f8247d83e781e48bd1c3995bda1663a3fe968cb3eeb6d7bbd80fb5cbd0d9f213fc008af3ea2535cbd854120bdec49053fb5798e3e5ddf3dbd42c2dcbcda88cf3e44c65b3e3cef27bd8d20a5bc4136983e4999193e213910bd9cc866bc44e7433e19d2b03d023004bd97464dbc5ff1b83d202fe43cca11d6bc932999bb1f21703b577f94bc0abe8cbcbe9cb43bd8f66d3c1fbd96bcb227a3bc4dc2433c198ea13b7f5b18bd2bcfa1bc0b9a6b3c2697a9bb8ccb26bde2346ebca104783c1b6234bcb83331bd95034bbc5d291e3cfa2620bc1733f0bcec3a02bcece0213c64f26abcf6d704bd5562bfbb5375c33b3c8a42bc69babcbc4df93bbb9126883be4a50cbcad9a7abc905cef3833fd483bc7feeeba2a5fcabbc0e0073a82a05bbdc2c1163fda6f153ff2f86bbdb4717ebd1f1b103f4b400d3f072793bd080835bdc7cdf73e54f9ee3e3db66fbd2ed615bdf567d23ea0b7c63e433068bdc026a8bc728d9d3e0b83933ed22e1bbd2c65a9bc521f763e91165a3e3bfa34bd6e1d6dbc05f21c3eb785013ec63711bde2643fbcd6679d3d50b5453dd4270dbdd490debbdd31d33be80578bc46b0bdbce42dc33a6c7f483c782d84bc01abc4bc3bb0053cf62a593b8e3a1abd56b3d7bc0122373cd81d8fbb62a940bdc4a2a7bc20a7363c5c8a12bcdc4a3cbd1ac47dbc4cc0273ccbff3fbcaae923bd17c021bc5d0f063c067255bc17940cbd581b06bc6a278d3b274b57bca91ad9bc50304fbbf9e8223b98f624bcce0683bcf77f513a0d96ad3affca66bb1af5d2bbf45a383a0c133abd3fceda3ed0c53f3f805086bdddfd58bd783ed13e68d5373f5a70aebd0c372bbd5f2fb93e764c1d3f11cf95bd6f9705bdf2279b3e5703003fc2ce81bdb401cbbce254773e4458c43ee3cd60bd1534b0bc781a393ec0638c3e7e2954bda97789bc855bf23d31322a3ea3bd3fbd88385cbc6d56723deb58873d86ac29bd73fe0bbc1ddda33b27e47bbcf7a5e5bcec91ecba61dbe53bd56695bc45d6e6bc4f493b3b846b8b3ae0d735bd0cf4f3bcc956e53b942192bbd7463ebd1bd0adbcb55de93bdde606bc3fe651bd60a2a6bc4d119a3be67a1dbc73e924bdfd6f5bbc50f8953b24ae56bc90691dbd37af1cbc0a3dc93ab6c047bcae83ecbc811b8abb6a5a25ba11114ebc3cfb80bc7a07113b278ef2ba867db2bb82d6a5bb1a99323b643e15bd42e5893e3af86b3f57229abde37131bd4901853efeff613f2d0dbcbd6df3f2bc62246c3e69ce383f541f89bd1ddcd0bcaf384a3e13881c3f29a386bd55429ebc1c071f3e26c3ea3ef4d551bd595490bc8f6ff53d6d21aa3e50bd58bd061868bc41639e3dfc87513e442531bd73654bbc7e40203d2951a13db7cf3dbde13b0cbcb49c1f3b7f2696bc30a3fcbc1b5663bb4bc8213a146fdbbc3e02eebc120dd73a57bdaabb2e5870bd1371ecbcfdcea43b0be3b4bb89db7abd1c38ddbc9a20a03b7ef403bc892d6abd1022afbc1d1a803bba6c1ebc035343bd70fc86bc3887173b9ca251bc44162ebd7f242fbc604302bafcbf6fbc2a1107bd843594bbae0bcaba2ce359bcfae297bcf5ee673b33fd83bb3c2e1cbc28e3bbbbe658643bc7f5c8bc6a1cec3d82848c3f3eca98bdb0a6c7bc79a8e33d90a3843f52dfaebd37b393bc0208df3dae585f3f59ee88bdd73b7dbcdfd1c43d7af8333f05b365bd67154bbce044a23dfe7c083f314d3cbd697b3dbcae40723d1660c33e3c8b3abd225236bc84b21d3d479e6b3e60253abd34ee17bc56757a3cc7b3b03dd4d230bd28cf15bc7b703ebb2215f3bc396212bd0000000000000000000000000000000099ea8c3ad2f5babbe9ae4bbd358edebca012253b18fa9cbbf1604fbd635da7bc15814e3ba0a6a8bbf9d238bd8ef98fbc85fb0f3baacfe8bb112d21bde34e58bc0c9ffc39b2c71cbc4bd60bbd6c291bbc7eebc5ba6ae53abcd674e0bc6649a2bb367298bb0d3d5ebccd81a0bc8ef8ab3a0000000000000000000000000000000000000000000000000000803f000000000258f7bbc54b5ebca3808c3ff2383fbdc532b1bbf691b4b85e76693fa2d80bbd69cc94bb8e7bb03b20f33c3f6509e3bcb68c89bba0bce03b4a05123fd563cfbc92429dbba995a93b838dd13e25dad5bc477d9abb7178af3af869813e7880e7bce60dc0bbc1b2a5bb6f72cc3d3f0b06bd0000000000000000000000000000000000000000000000000000000000000000d19fa23c6074983bb97205bd575cc7b77b40813c866d9ebbd4ece1bcfe9b193a4c555d3c09f401bc54eacdbcef79293a91e62b3ca73c3ebc8c38a6bcc8b7513a417e013cf5e060bc95e18fbc3bc16d3b8485733b9f927bbc8eab51bc6c5bb93b9e81203b43755bbc5ce03cbc497a0b3c00000000000000000000000000000000000000000000803f00000000000000009a2a2fbbf5ce7d3f23221fbcb67990bcf231ac3b40f1563f98c317bcaa9276bc4848013c82d4313fff451bbc619c5dbc47122c3c36ea0b3ffa2459bc3c514fbc57a0223c10b4cf3ea59a8dbc92112abc70ef263c4fdc863e7b83babc8f7dc9bb89bc1e3c308c003efa3bebbcafe099bb000000000000000000000000000000002d368c3c6c8dd73c42f5f9bc819039bcc90db23c3dc3833c72c922bdad7201bc43acbb3ce80ac43b0ac518bd4c5bfbbb687c9e3c10f32fbb7cb30bbd992ec9bbb8f1793cbc20cfbbcbcce5bc1f8484bbe20d543cdfe52bbcc41fd7bc8abaa0b768961b3ca00751bcf0edb7bc3602fb3a7c50d53b885926bcd77d8bbc1e9df03b75fec93b467390bbf7284bbcf64cd53b6206bebc4a037f3fad21013edbdfdabc51f9a6bcf93c6a3f46d6e03d80affcbc01e1c2bbf6bc473f5c46bc3d0cd4e9bce568e83aa523253f4f5a943d3750d8bc16c5bb3bcf64013f400c543dc9aab8bcd8fd123c03eac13ef18ae93c66b4b6bc9a15183cc0ca7e3eeb6a9e3b868c8dbc581f153c63dff93da5228bbc0a6a4cbc3932113c8234983b26d3edbca2b90ebcdec3683ccf9d013d97d5c1bc0805b2bc198aaa3c0f77f03cb4ac0fbd502fc3bcb02c8e3c200f663c6d1af4bcb0a09ebc18f3ad3c56f81a3cbdfc0dbd5d3892bcfea5833cfc634b3b640ce2bc8ab650bcfc1b7a3cffa8f3baaabfedbc98a70cbc2d7f2b3cbedd66bbb026b5bcc79881bb57db193c3fa979bb0b4dabbc758aa43a3bff043ce66bb6b857895ebc6714d83a2f9df5bca042593ffcc5883e82ceffbc6d9bf7bc5c0d4a3f0d8f763e11662cbd600063bc5ae5283fc7c9503e4fb908bd90900fbc5842113f3649293ee8d114bdd87cb2ba422ce23e87cffc3dab88efbc3267303be417ad3ec680ac3d1f86fdbc70ca853b044d633ebb6e413db462c6bc73a2fd3b45adef3dabb8953b3056bbbca00ce53b9a175c3c06c4b9bc03467bbc8f471d3c3b20013dd4f17fbc3bc705bd76d7833ce756fc3ca1b5e5bc6ddb18bddfad933c086fb43c6abafcbcdefe07bd033f913c18b6623ce4ef01bd2b45d8bc05df823ca1d9053c74eaf0bc0007b9bcbb9c633c4eaf423bd13cedbcf8e584bca1cb453cb2ea5439afddd5bcdaef2dbc1c443c3c396c1f3a4568babc39cfabbb9dc50b3cc3c3c03a77ba6cbc7ec349bb1205fbbc6d10343f4748d23e653812bdacc106bdafac273f07f7bf3e4ad03cbd3465b4bc449d113fd573a33e10ae35bde38162bcf4edf33e04bb853e5d412dbd2eb3e0bbde74c23e4d244e3e560f1ebde2804bbb4392943efcc5113ecdf319bda85c8f3ad0fa483e8f83ab3d598b0ebd32ed443b00b3da3dc059db3c6d9dfebc56f7ac3be1ca8c3ce11d8dbc4fa2adbcf538bf3b8b75f53cd70b0fbcf89e26bd06f2473c503e073d1ecca6bc67b947bd17dc463cedeaae3c02a0bebc586f22bd5b5d723caaab893c34e6e2bcab3f1dbd4956323cef6c153c4597adbc2465c7bcf4ca4c3c2510cb3bc509e5bc2748c1bc7f51153cf859d53a64a2bbbcb60777bc3d52333cbadb183ae802a8bc339941bc20a9f73b21dbfd3abe2170bccc09dcbb7e14f7bc82140f3faddd0d3fbed018bd67f008bd4905053f42f9013f64414abd43a5aebcbf1de53eb697db3e8d2d32bd013588bcde8ec43e1bc3b63e66ba39bd6a4ffebb1129973ec0e98a3e9a4608bd4535c8bbf22c723e86844d3eeca62ebdd4fc16bb5edc223e46b7ff3df88515bda0f425bb3f4cb73d177d523d4a6f1cbd6c14923afcc6933c7d8657bc378dd6bc8eab0e3b607ed83c724f53bba61244bdf533f83bc882f83cd01f6cbcaebb71bd376c213c47dbba3cd2aeacbcece854bd9b162e3c1e2b853cb6f7cebc410435bdab662d3c99e63d3c837cd1bcbb2912bd18ef173cc2c0d03b68e9ddbc6b30e7bcba36f03b2c5f2d3bda05cfbce36eacbcb78edf3be6148aba02c5b4bc7c3359bce23da83b2c04aa3a848468bc044b14bcb0f4ecbc93a3d43e36b1323f7c781dbd01110cbd4530c73e7ca1243fd7fe54bdb31ecebc711daf3e94f50c3fde8648bd94ba96bc1e8a943e1dd4e83ef02b42bd82a14bbc869a703e38f8b43ea05f37bd57201abc9e2c3a3e730d843e7bde3abd4cffc8bb72a0013e8ef7263e1fd537bd64d888bb2aa3943d5559913d37132dbdd1a74cb931ce873ca71422bcd4fff7bc01ff87ba44e9b33cbdd89f3a39e35cbd324c1a3b39e2c33cd16a0fbc2b8585bd95b3ae3b6c558f3cd29282bc0c0e4bbdbe17e23be1877d3c761eb9bcd42c52bd8775d03b8466213cc46eb2bcd53a15bd9ba6ab3b683b9b3b2ae1dbbc40ef03bd8847703bae05cf3aca60afbc9f50a7bcd744513b6e881cbaf148b8bc462c73bcdfb53b3bb801cc38ebe965bc43ec13bc692bdebc87eb8b3e0778583f76d81dbd90e3f9bcbe49833eab6a473f260f4bbda6b3a6bca452663e5fe3253fb11423bd365297bc507a493e5d780c3fe48839bdeb1143bcbe2c213edb72d83e2d8d22bdcf133dbc9de6013e8822a13ec3743fbd504febbbb89fae3d623a4c3e6f4822bd5d51e9bbc4e64c3d7f27b63d4cf13cbd03a987bbc8cf423c3ad617bc9ae808bdbfde75bb452e833ca83e9e3bc0e86bbd890bb2b847f18c3c610b04bcdd3c87bd7334683b2c557e3c7e548abc33736cbd134e703badca443c244dbbbc578a4ebdd0d1463b797ffd3bd549acbcf63e1abd0023073bcb71743b833fd1bc98e200bd1fd48db92332c9ba1586cdbcd31fb8bc83e52abb2b4cb2bbc509afbc8c1438bc1f580fbba1c08bbb57a260bc739907bcf7b6bcbc9a8a063e2d3a7e3f7d1d05bd20e6c0bc1acb003e96ff673f8a2c23bd55ba8cbc03c8ef3d4724453f3dd014bd069a73bc13fcd23d66cf223f432016bd43f93cbc0fb3ad3d1f94fc3e562413bd50892cbc9f7d8b3d6fa7ba3e4aaf24bd9dca1abcdf77423df4dc6d3efc4b2ebd37540abc677dd93c2a6ad63d8cf13bbdd58ac3bb7193ed3b6e0b2abcb81215bd000000000000000000000000000000001555c1baf2f2303cc4459cbb44da4dbdc8a7133ba0690f3cefee4ebc1d572bbd69ccde3af8a4023c9a9c88bc65590dbd969f2e3a97d6b13ba53e87bc743bebbc31d236ba602c133b3c4ba1bc09ebafbcdeb8c9ba5fab0cbb278897bc66b580bcf2107cbbda0e99bb31119ebc387a1ebc0000000000000000000000000000000000000000000000000000803f0000000036c75fbc6947353b9af97c3fdf4c9fbc75c330bc70ba063c06ab563fd58f96bcec700bbc7290413c49ab303faf62a4bc6a90bfbb85673e3c86130b3f2410a8bc620d06bc43314c3c59c6cc3eca2ecebc9281d6bbd811013ca5d5843ea697e0bccc31ecbb2fa6a03be644f83d74660ebd00000000000000000000000000000000000000000000000000000000000000009f35833b01667d3b31cda8bbc1f9d0bb2b1d703b34cf303be84c98bbcbc5a3bb535a693b2eb5f03a83d79dbbdbb390bb18674e3b7e05a23a764292bb32a986bb6df5463b0f72823a802198bb62e17cbb516a423b066a563a6cf291bbd6ce55bb0975183b64c79239b49b4bbbe04410bb00000000000000000000000000000000000000000000803f0000000000000000110bfb3a9287633fe0aa3839040eaebbf805123bc301433f8eb3abb8aaa793bbb9562a3b7ca4223fb23843ba668c95bb487f343b5912023f68d6abbac2c491bb995e503b4eb8c33e115106bb33199bbbd75f5a3b30f9823ed81a36bb323f92bb2825393b593c043ebd9488bb5fa652bb0000000000000000000000000000000061777c3b3279d63b522699bb255d10bc87d8d83b1090003c44c1b9bb4aa136bcd01c9f3b0c85ac3b0e60c5bb0a5c20bca27ca73b96d24a3b5493ddbbc0320fbcb3348d3b7dd84c3badb7b8bb8e75f1bb91ae8d3ba16f363b97c8d0bb64f4eabb8b40803b52c1143bfd4dc1bbc9a0c7bbef1e903b8b8e473b02e8ddbbd56880bbbc5e3a3b237fdb3a98c2a2bbed982fbb742baab9b3d7633f5afe013ecc67cfbbc3bf83ba0c87483f1d57e63d1660fdbb8469e33a8f2c2c3fb854c33ddd77f4bb22bd283bb3e00f3fca7c9f3da0defebb9ec5363b7cdee53e696a7e3d486adcbb5daa573b0e9dad3e1af3383d77baf0bb9d0e573be6f1683e6df3ea3c9734debb39d57d3b7de5f03da879313c2b5bf6bb13313e3baedcac3b50dd88bbbf169bbb38d04a3bb769e73b34f35ebb1d6a24bc51fd903be369063cc39ea4bbe24258bca280843bf369bd3ba9ce9abba3e034bc745a9c3be078c83b5db1babb8b5f44bca42e9a3b5d2f4f3bc5fc8fbb66030ebc8320953b2b92923b3592c5bbaab121bc09f57a3b47dd5d3b9224abbbf3e8fdbbbea57f3b03bc5e3b4868c7bb78aafdbb4a1b583bca8d2b3b7ad894bb542ea7bbf702d1bab65f433f931a823e0456d3bb83f959ba8c602c3f6f39653e22a80ebcae21be39aeb0133f69ae433e6bd5f5bb0bd7823a18d2f73eed34233ec6aa0ebc3020053be04fc53e8c2f003e87c9dbbb0e000f3b921c963e34b6c03d0a8d0cbc8964153b8771493ea2517c3d5338eebb1c4d1e3bac31d23d9346ec3ca18d06bca1a41f3bf38ed23b425b19bbc86ac3bbf68f1f3b95efed3b7d5d07bb8c1838bc5ade743b26d60c3c030b73bbf6a673bc1c76853b6224f93b71d88dbb42ce6cbc2ec58f3b4871e23b2ed1a7bbb51a69bc0380623b3254ae3b55c2a4bbbe653ebce00db23b94c29a3b3df3c0bbc45b43bc6a328d3b0f2b9e3b5550b3bb77f72bbc14358d3b5159943b19b3b7bb37b21fbc9fe28f3bd14b8c3b841f58bb0cbbf6bbf35e1abb6fde223f1638c33ef4cfd0bbc956edba00de0f3f00e8ab3ed9db11bc3b8646ba4293f73e775b933e27db11bc37ad51396883cf3ea26a753e271c1bbcbc4124b906faa53ee843433ee5f20abcf64d0c3bf6777b3eaabe113e63e119bcc5bfdb3a04262b3ed1bdc13dcfef10bce452073b8d0db43d558e3d3daabc14bcf5dd703acb87023c85d409bb7b51f9bb3499113b10d6f83b779215bb6b8a5cbc595a083b1848163cf190ebbabfe87dbce18b6b3b118cec3b90083fbb577672bc8cca6c3b48ede63bb87a82bb451277bc033b3e3b8ed09b3bfda95ebbf52e2cbc7d277f3b8027bb3b9b3f9fbbbe4753bc9391753bacf6a53b8fdab8bb770a3bbc8332923bc0dd6e3b14b4aebb94232bbc90316d3bcc367a3bd39b71bbf37cedbbe45820bbbf7e023f3e42023f834cf6bb61f24bbbcdece63ea55de53e097a02bc51822dba082fc63e5a22c43e575105bce01a47ba527ea63e40c8a33e348b15bcf88d3437c1a0843e3a1a823ee5afe2bbef860e3aba944b3e9ee3433ea20c18bca1197d3abacb093e489d023eed3319bc4549fe3a1f8b903d70d07f3d1fb016bc6650b6384e9af03bf71ea638bd84dabb29d2de39ec1a023c39495c3a215876bcca2c1d3b8e870c3cf4c998bab51d94bc505d473bb7eaf63b5b6c24bb1db490bc9a401f3bc8d6053c8f802abb3ab186bcd85c333b9371f03b13b819bb057c5ebc0a485c3b4437c73b589c85bb4ca46fbcfc77583b3e12ad3bcfbe8ebb1d9e50bc0239563bfbe99e3b7a9190bb366d3cbce2d42e3ba5915c3b29cc6abb1c0909bc6fa487bb5f87c33e02fd223f61c3b7bb9ed34ebbc8bbad3e005d0f3f9d750cbc61de01bb5bef953ed1dcf53ef9ec15bcdae7eabae1cb7a3ef653cd3eb4480ebc96574fbae8d9493e403ca43ee63f1dbc2bbd57b964f31a3ec0f2753ebc151ebc52127939a0a5d33d87a6233efa4e1bbc94cef839e5da643d7d22a43d634c1abc64a5593a5714d63b9b11263a4546eebb8100453a5229c93bc7b4623aa79364bc613db13a9770f53b8d71cd3ae56496bcfb5d033b6faedb3b1d046eba17f386bc61a61c3b44a5df3bfb0916bbbd8787bca620743a17e6c53bcb1008bb2c3659bc7922343be037bb3bf72b6cbbbd9d70bc1d9c153b2dcb8a3b647c61bb8b7e39bcd6192b3b1d1e963b61697dbbff2741bc94b2043b3fc9513ba4dc42bbabe307bc085e58bbbfee823ed932433fda71b7bb2fe26fbb3f82683e3c5c2c3f44ea00bccedd15bb256a483ece1c133f195ee5bba4dcfeba3e9f293efadaf53ec75007bc5024eeb95ffe063e514bc43eb3ede7bb1f8058bad4a4d23d8283933e24b516bcf598cfb9e6b88f3df933443e46d603bcad9a93b93b03213dbf19c63d748f19bc6d90c6371bafbe3b9ebfb03a611feabbf96f89b91851ab3bc88c203b18ea65bc375fcdb98e87f03b7d69d63a5faa92bc53af9c3ad0d6c63be325cfb936ff80bc1e23c93a33b5c63b3680b2badbd77fbc8d47d53aa93faa3b8acadfba62fb6cbc0bc1273b5e95af3bc45014bb4c7a5ebc2aa6d93a21d7903b384348bb11b947bc7a00333bf214ba3b1e719cbbc75544bcb3e3b13ad441493b2f991fbb0c5a08bcf9487abba929033eacf3633ffdb08abbf7c793bba75ced3dd888483f1204e5bb976a31bb33f5cc3dbfa62b3fd885c0bb6a1218bb4033ae3d533b0f3fc1acd7bb54c1dfba3d328d3de5a5e43ec440c6bb8e5a13bb92b45f3ddcfcab3e7235febb7032a2bae4861b3d7574653e19e505bcb4a1d7b9f4bcbe3c83f7e23d73ad24bc8a2b3dba2d1da33b06e2fe3a8380e8bb00000000000000000000000000000000606783b98f2b813b0597a23a2dd03ebc4c52333a6c148d3bc2517c39b73859bc5990533a2a16853ba4b92cba1ccf3bbcd9d94b3af551613b8be49cba0b6719bc9e085d3aecf34a3b6b9de6ba60c219bc6546443a559b313b663c09bbcbb30cbc7571203a2bec2b3bf49eeebaa3cffcbb0000000000000000000000000000000000000000000000000000803f000000000f014dbbde2f213b1265633f480e34bb9e6907bb7add713b4cf5423f4a574ebbbda6eaba61c7863b5e81223f7d7883bbd511c1baf3527e3b4dcf013fc58f84bb61e7a1ba8c24843b70dcc23e282ea2bb425c8aba64d17c3b3dfb813e82dbb4bbafd1afba8714743b57e7023ee920bebb0000000000000000000000000000000000000000000000000000000000000000caa0b23be9680ebe91ba9bbcb8be6c3c2d899eba05ff06be6fc4b0bc8493683cee546abbfd14e2bd9977d7bc88734b3cecf694bbce68b8bd3003b5bc531a1a3c52c5b0bbdfb090bd613361bc0b4eb33b2f73bdbb779f36bd01518ebb3fa1343b13cb32bbf7029ebc8d5f633b0a8091b800000000000000000000000000000000000000000000803f00000000000000003de3a5bd6f64a23f968aa1bdfb4cf03b269d30bdc2b3863fe84f47bd0777a23ba97f9cbc760d593fd55f00bdcde6003b03c091bb92de233f34adc5bc81e7d23afa435c3bacfcde3e6bdba8bc96d2863be948e43bfcce733ef82897bcc8d4883b6b06d93bb108483d3a8f9cbc6fdede3b000000000000000000000000000000008a48ec3aed4591bd191299bcce480c3c42a2633b268a10bee11083bc4605563c6aab2a3b498c11be209e04bdb183883cfb7b77ba9639fdbd061311bd7289763c39f32bbbb26cc4bd5db303bdff7a383cd104cdba16c997bdbc4fb9bcefe1163cfddd3e3addb845bd6a4e36bcdf23d93bf8f6da3b87bf83bcf6c5533a16238e3aae49893b5979833b78d9bc3b423f373aaf6216bebbc1a23f7b02633dd1bf9bbc76f413beb5b09b3f3afb203d4fc75dbc4767d1bd75f5863f42b0503d37997cbc3a858abd4ca4593f4e3f4f3d63ef6dbc84ee2bbd787c223f653b2b3d012b33bc7dbbd4bc7d99dd3e8c3ecf3cf35d02bc12b780bcb0176e3e49a82d3c057690bbe14ad0bbd3103e3dcf9ff93965b9ccb85d56b2bbff7290bde3d6a7bc73623c3ba0b6cbbb4e5405bda454c0bcf0c13a3b8e4922ba43b8bbbda19c25bd40825f3cda514c3b15eec2bda28555bd6a9e5c3cb8f5b339e6f1c3bdaf3051bdb93e603cdb38423a79a398bd86052bbd7915103c2207023b5fe97dbdaefe08bd07302a3cb8f90a3b4fa522bdcd269ebc4be0fc3b67a1a43beb4f97bcba7cb7bb9fafd13b93eac63b4dd0653a85b52b3b6bac933b792d10bed663873fd9347c3edb333ebdbe011ebefb9c873fadaa623e57694fbd0f00e4bd23a5663f774c523e5ae02bbd3616b3bde234423fbe9c2d3e2cc317bdde3b6cbdbbe9103fd35e053e2906edbcef0e34bd2da8cc3eb713b93de262c3bc664bd9bc7b146a3e8abb423d15398fbca73a9cbcd797943d6f30f63b3ab50bbc25684cbcdbf3fabc6269bbbc74a099bbc4f71ebcca17cebb7ce9f4bcded338bb9cf5a1bb820066bd78e46cbdf8f82f3cd1237fb9ea6b98bd1e848cbd4b23463c94d3863a751c93bd593f82bd4c64243cbec6993a1dce7ebdad6a64bdcf8a0b3caeb5753ab19651bda23a2bbd60f8203c81ab743b38f715bd24d3d8bcb0ee233cc92dc33b20c79cbc49dc3dbc5f343d3c53cb993b201a3abb14155b393a1f043c9fedf9bd298c5b3fe185e33e55f498bd2a6b0cbe94705b3f30aed93e9387abbd2465e2bd9807433f168ebf3eb3eb92bdf8abaebd55ce203f2adf9c3ec42175bdb3eb83bdb9d4fa3ef243723e6a0b4dbd384444bdcb8db13e3284233ee6461dbd3e5811bdccf1543e4a81af3d5359e7bcc3d3c4bcc1b2a63de093ac3ccd3d91bc520a91bc9fabfcbbf5bfd1bcae814dbc503a3dbc23eaa63bbd7e09bd9036f5bbbfa4cabb2dab03bd412090bd8917b33b67c94fba04c23dbd5821a0bd42bdb53b4d3dcab9d4b356bd7590a0bd7fb0d73baeba47392a7c11bd5a4662bdcac521ba2f9e1b3b81c127bdfe7257bd13eb1c3cd5b4133b49abefbc8a40ffbcc506173c0eeb903bad538ebc6d6e6fbc34264f3ccecd983b440382bb2800c4ba7997213ca5e6cbbdd8a1263ffaef253fba37cbbdec45dfbd7845253fe625213f779be5bda4edb1bdc979123f18be0a3f9b05bbbd43c597bd1a21fc3e6190e53ef8e2a3bdc26a38bdc630bb3e5f7ca63e5f955fbde67540bdb56e923e1cc86e3e9eb657bd685005bda4d4323eb0c6013efbf413bdec80d1bceb76a23df2810c3d3a7ec3bcdfc099bcd239a43be71ef4bcbf9096bcfc5333bcd1de0d3c1c902bbde503c3bb12bf8cbb51cfb4bc3104bbbd0cab183c37fe06bae2dc16bda405d2bd9e52203c8ecd563a067322bd021ac0bd1485f33b90c32a3a24171ebd99929fbd63afe53bee81123b8e320ebd602c72bd43952e3cd0a24e3bb028e1bcf1931bbd25da5f3c5b689a3bc1478ebc31cd78bcccdf883c04b9643b576d94bb107969ba3b9f513cfcc599bdb84be43e31255b3f0c52fcbd14cdaabdbe4be23ee8f8573fb4e910be987c90bd70dfcf3e177f3b3f1235f2bd4bec6fbde1beb23e9d76173f4b71c2bdbefe49bd7d3e923ec3a8e43e778a9fbd9ff71ebd7d94593e7af7993e4f8f6fbddafb01bd2f2e0d3efc93263e7a752ebd6f1ab8bcac0d853d4de4263d2f8cd0bc825097bc11c32a3c73081fbd2e81a8bc9e15e3bb801dbc3b682375bd9725513b5096c53aabdf7dbce9fcf2bd4dd19f3cce4cd83ab4eccbbc120decbdfe42063c66fbdd3ab55b04bd96cfe5bd32c9053c7a3f863ae576efbc2b31adbd9bb9c23be741363ba687e7bc4d538dbd0e8a2b3cda7b3b3b57ccb4bca66f24bd0db1393cfbf2d33b5ee34fbc2c1d75bc4870823c7db7a43b107b99bb03f85b3b778c6d3cbde03dbdb5617b3e9341873fdcc210bedc8155bdfda0743ef401863f096d24be458434bddb00703e09e6603fb3c1f8bd0aa325bdb2b7563eb2c33a3f69cdd3bdd2a902bd2637343e1d0c093f68039bbde0a3f2bc872f0d3e9fb8ba3eef6075bd3a40b6bc1e95bc3d5be8483e385825bd294c91bcc3173a3d728d1f3dd89996bcee163bbc2b23943b3bbd64bd1c1152bc4e6275bac5d4293ac530b8bd4fe63e3c582a133c4d4d4cbcbac41fbe45ed063dc44b013c79b8abbc2e891ebe01988e3cbe8eae3b9121cfbc6c6c08bee315ee3b2acc073baf73bfbcb018d1bd78437c3b360e6a3b90f9b1bc9c41a2bddff9033ced44b73b40b280bcaca345bd6a022a3ce368e63b1155bdbb58fc5cbc3c5b4e3c4cf22e3b709c03bb48cbda3bff87473cbdefa5bc07e0633d6eaea23f786718be4d6391bcbc5d553dd46c9b3fc4ac1ebe5adeaebc17659d3d1260853f40a9f1bdd71995bcd2a6a93dccb3553fee5bb5bd43118abc19a6a53ddbdb1d3f9ef085bd87a17fbce687863d6193d33e6f2043bd782855bc4891323dccc7593ebeb1e2bcbd2ea5bbfce2a73c0fe9f33c28742bbbd222d0bb57ee0bbbc3b1aebd145ff7bb00000000000000000000000000000000c5dbe43b3d7742bca37911be04494c3ca5d0f43b4dcc87bc28f407be9627963b25b75d3ba91e8bbc75a2e7bd49ed72bb2cc9393bf8fb98bc41d2babd586690bb6d74063b777386bc749f8bbda7fe1cbbed39113b802642bca99533bd850f2b3bb2a7183b3ae9c5bb0e308fbc8ff1c93b0000000000000000000000000000000000000000000000000000803f00000000a900833b7d0b8cbda77ca23f72e5c2bd694be839e3d9fabc4097863fd5c680bde1a13fbbede9f0bb7502593f24f538bde1a64fbbc1ba513bf452233f433e04bdc47477bb3373c93baa07de3eec17babc7d54a1ba88518b3b63ea703e50a84dbc5c14a7b9514b6bbb5042433d5246dbbb0000000000000000000000000000000000000000000000000000000000000000d8489abbac4fb6bd010106bd1f63913ca80fafbb3336c0bdf585febc73b2913c7ea6c3bb454cacbda7f8f3bc6c097a3cd6edb3bb5f7b96bd7f6fe2bc7131773c17bac8bb309c83bd65c891bcb1ab3a3c29780fbc75fa45bd2c14eabbc77de73b9e52afbb937ef5bcd0eb243b5b7a253b00000000000000000000000000000000000000000000803f00000000000000003ada32bde320983f11895bbd024884babad593bc0ec97e3f6f3a1ebdffa7d5b8785e05bbe90c503ffd07f6bce31103bb17fc9e3bdcd8203ff687f6bc6f8ba9ba08e1c13b06a3e43ef2adf8bc24f2b3398497183b71e9873e3f9afcbc9cb99b3b4dfa68bb778cbc3d9bf811bd5b08043c00000000000000000000000000000000126642bcdd95c2bcf16a22bd01e86f3cdb1075bc1446afbdd8802ebd0444b43ca0150fbc1803bfbd0ee747bd3a68bd3c7b38fbbb537fb0bd168446bd5cf3bd3cc939d7bbceed95bdaae32dbdd8e5aa3c256dffbb8fd583bdd105fcbcef388e3c4962a2bbae2445bdd84d99bcaf0a4a3cb7a213ba0906c8bc578a03bb0646933baf1b113b4bd7adbbebd0663ba0f7bc3b21eed8bddacb983faf4eb63d5f9de0bc199bd2bdfe0b923f6e148d3d808ebebcf42b8dbd7f517d3fa42e843d3e49adbcb71635bdaace4e3fcc5c543d8caf98bc3142e6bcd39c1f3f43ca0c3d52e180bc8f31bbbca97ae43e3702613c49b922bcd7c3aebcb4ff893e613beebb15e189bb3911c4bc7716c53d287eb7bc2572673be17599bc3290e9bcb17c1cbd726b7a3b3e5689bcc565083cdb272abddaec1b3c0e5282bc7d8b12bdea7583bd42abbf3c135ac5bb3f3131bd51397ebdbb61983c9d9ee4bbe7756cbdedff86bd816dca3ce38984bbf41c44bd51d45fbd797fa03c86e58fbbf9f143bd25473ebd2bb4b93c8e0e08bbbf1606bdb987fdbc1de68f3c30c45239d1e7b4bc4fb782bcfbff853c929d363b32b466bb9015a3bb8f1d3e3cdff3e1bd4b2f803f0d5c863e6b974dbd30b9f5bdfa2e7e3ffa0e723e572264bd7bee9fbd1c80553fc2e6533eec223ebdd0128fbd6b723a3f1770273e675127bd69cd43bd97fc0e3fca50f53db15908bd9a2431bdaa55d53e14c7973db3f1dfbcbd1b02bd3a02853ecd7f063dbeffa1bc256408bdc3f2f03da2382bbc183308bc7ca7c4bc9b40933bd59a13bd9a208ebb39809cbcf634ef3ce88932bdcf61e6b83ea48bbca3e1efbbdba994bd234da13ca3d62cbcedeff0bc6bfba5bd6e3bb43c1c4eecbb4f1e15bd9d959ebd8ea4bb3c60d28abbc7fe15bd33358fbd4261b63cd83d96bb689d0cbd1f2070bdf344ca3c919062bbaf9df5bcf5b72fbd4526c63c0779c2baefbfa0bce681cfbc34d3be3c3550523bacaea1bb524554bc26af8f3c9cfecfbd3154523f75cce23e797e92bdae41e7bd8849503fa1f3d33ea8c0a6bd11c9bbbd74493a3fc88ab63ee85b91bdc71498bdd5021d3f4572933e7a3f7abd698f76bd32b3fb3e2cbe5d3e094a58bde57a50bd8513bb3e073f123efa542bbdad942bbd7372763ed05e943db29f02bdec0617bda90af73d3d62013c17f79ebc525ad4bc829fc23c490916bd4f2860bc120c9ebc4f780b3d7c262cbd156bcabb330f8dbcdf81fc3b03f69dbd3dee523c82360fbcfe970fbc20c6a8bd83e2483c0d4104bcf2ddacbc6d6ab1bde9c9913cfbf33bbbee6357bc040b82bd3623cb3b67a7aabbee8ad7bc02c086bd0af9bc3c1fb92bbb1b98b5bcb4e947bd5b0fbb3cefea40ba45308dbc6b6ff8bc4934de3c57ce143b9227a8bb31b588bcdf98a83cd1b9b5bd43e5223f9def1f3f13feb3bde133c7bd6794203f21c2173f158acfbdba0d9fbdae5a0f3f1561013fedffaebd1d3490bd0334fb3e2707d53e31989bbdced23abd5900bf3e5bb69b3ecd916ebdd6a157bd26839c3ed51a5c3ea7bd65bd94932bbdffcb4f3eff15ef3d09a52abd09a617bd0ba8e53d3f55e33cc5eaf0bc55f8d6bc8616ff3c6b4710bd2e07b2bcfb1c97bcec60f23cec9131bdf6c706bcbea874bcc38c0c3ca280b3bdf354583c06291fbccc0810bc3277cbbd6790713c6c24ffbbec4489bc36b2c5bdcb4d8d3c6bc7e0bb82829ebc271db2bd7d018e3c2967bbbb2f0bb8bcd07296bd797fc13c319588bb1cc5b4bc3efb68bd42f2e43c8123e9ba21f981bcd2d110bdf639f53cd059b33a83dff9bbac0587bc7765c13c601b95bdc863e83ee7634f3f0c36cfbd1d6da3bd54a9e53eca52483f5b08f5bdbc138dbdf019d43e72b62c3f323ed5bd6a307abda4f1b93ec8560c3f0573b6bd90a559bdbbe89a3e1bbad43e3b349bbd393440bde65f703e73f0913e5c6580bdd76126bd2e5a273e2e62233e35a14bbd699d0ebd66fdba3d359e343dee1a09bdecffbfbc341be03c938e13bdbe8fdabc03ba6ebcd956843c0b7551bd758d9bbaed9314bc963bc1b8c6e1d0bd7ce3903c34acc4bb1397c8bbc7eac4bd2c8f9e3bc93fd5bb663f72bc8d90dabdcb28623c1ccabbbbef2976bcf0bdb3bd25d9323ca028bfbb5fc7a4bc18caa3bd7c85b53c2d0582bb861888bcf1c35dbde96c9b3cdf06f4b985a286bce6ea09bde761f63c77abd0391c70dcbbc18e64bc8722ca3cd5b450bdca478b3ef4417e3fb764e0bd36a763bd96b1893e4b29773f3d9504beffce3fbd64ff823ec8624c3ff77cc6bd38e83abd282e6f3e7ca42c3f0c0dbdbd866a1bbd2819483e51e5003fcce296bde5bb19bdca4c223e47c9b43e214086bd3692f6bc226ede3dade54e3e32df46bdce7fd1bcfd727d3dc729673df1ef08bd8c97a1bcf6d49b3c709433bd8c43babc0dbbeebb3abdd33a386683bd1425f3bad193a83a006f43bc252200beec3dd73cb35155ba8eae85bc188501be2318513c63f259bb41ab8bbc17c6efbd31491b3c00508cbbb4a08abce9cfccbdf2dc053c76f48fbb5e9f9cbc8400acbd938e823c258d52bbbc8087bc801281bdc088b63c19e4e43a93fe31bc0cd501bdaa3bd93c02a8f0ba46b3ffbb404a28bc2cddb43c2bd9d9bc0dbcc03d1125983f0460dfbdbb1fc8bcf0cfc43d4437903f6372f5bdfc58c6bcbb9de33d615b763f3ff9c3bd5ca3cabcac6ee13d7c92473fdfeca0bd4749c3bcca5dcc3d0829173fca5387bdb268aebcb8c6a63d693dd23e2e4769bd53d497bc5760683d66b26c3e520f39bde58d2cbc5cdbe03ccc96783dadc9d4bcdf174fbce305833b3d836dbdc72cc7bc00000000000000000000000000000000c185613b37ed65bcc669cfbd630cccbad173113b9dcc75bcde3fd0bda22accba57415abae1d73cbcc8cbbbbd2710f0bb20b147bb310856bcf621a1bd227cd6bbdb478fbb1b0664bc81338abdaf1977ba2bfd89bb76a957bccda64fbd656fec3b807884bb1e5e48bcc3d201bd0da2463c0000000000000000000000000000000000000000000000000000803f000000000e5defba2acc0abdacdd973fdc498bbd1ba853bbc1d4edbb30b67d3fec4949bdd433d0bb2d60ee3beac04e3fd0b72fbdf994f4bb18c56f3cbff81e3ffc1318bd6cdbe0bbebfc453c5d97e13ec3bf07bdf5db9fbbfe5b073c31bb843e92e7e3bca2d56dbb7105eebaa2f6ae3d755bd2bc0000000000000000000000000000000000000000000000000000000000000000ca201b3cf80724bc09a608bd46cf3a3ceecbed3b72959abcaa75f5bc4b4f423c4e8be43bdc0da9bc6f8ef2bc8692323ce02eb33b2ca3a8bc5b4fdbbc5194223c141a113b1b80b5bc7f0fc9bc67d43f3c49541cbb7535acbc43749cbc66b3583c656a57bbdba88abc8c506cbc403a5a3c00000000000000000000000000000000000000000000803f000000000000000021deb1bbc972823f19c87bbcdc1734bc79177c3b98755d3f89665dbcc5432bbc35cd0d3c910c373f55a468bc996732bc7255183c1f93103fdc7a78bcf2dd23bc4d2d133cb69ad63e845fa5bc352b0abc5e68cf3b07158b3ecaabb6bc39a4c2bb0fad863a9e32053eee4fe5bc3d4672bb0000000000000000000000000000000043c9903b4a379c3cf702f5bcad8b073b581b953b3c5a633b75cf25bd6f1a493cb34fe93b787312bc37fe2abd0b4f253cd9db0d3cee9062bc3bf52dbd0fa43d3c4d67c13b953375bc5a3317bd3231243cf12eba3a089a8dbc6bce0fbd72e1593c739841b97f008dbcba8df0bc7c587b3cb3496ebbae654fbc466ba7bc68e8853c3ff2e93a854556bb960d69bc72b75b3c9c3709bd9dfe823f6585f53d6f12cbbc7e55fabc0582723f8919d23ded7ddbbc7e0b6abcc512503f2514b43d217bc4bce3b9bcbbb3a92c3f0b248c3db51fbbbcf79dc0ba89af073fb8794b3dba38b2bc9f37f7ba3f99cb3eedc7da3c21a593bccbd483bb073d863ee141c23b91fc7cbc3dea12bc4ea7033e83017bbcaa1d08bc3925b6bb74372e3c973be9bc12c806bcb48f26b91d3ef73c5533d0bc9cd70bbc6685fc3ad203b13c29bb26bd341c83ba8d0bc43bdb6b1f3c248b1ebdba6682bb3725cf3b9adcce3a083b37bd5c6ffc3aee2ad83b6ba80bba125c20bd03af8c3a1063833b2cecc5bb34c027bdcbc5253c794a9b3b90ec4abbea2204bd7398f23b5f62a63ac73085bb7fdfe8bc3ebd8d3c4af5823b095cf43a817f91bc5618443cbb6229bd4d815e3f6549883e2a4308bd689936bdf710513fd2b7733e46d11ebd515ac3bc6511303ff6ea503e27290ebd23a3a8bc6017183fe2a9283ea7130cbde49952bc8735ef3e2ceaff3d0b5ff3bcfa3c4fbc99efb73e094fac3dca1ff8bc137325bc5dd6743efee43c3dadc6bfbcb6eb68bc8d64053e01bcb63ba1fba8bc225a08bc0345ba3c295ab7bc08e377bc2d0b4bbb12ba103d61e7acbc053fabbc6d3a46bb2aebee3c241316bd2e2359bcef1e453b39b9923cbbe32ebd8dfb30bcb597813b3ee62d3c936736bdcec8ebbb0838a33b31c6d43b4b5332bdfb35afbb6867733bb793ef3a68d92ebdc74d363b306c013b58d88eba638f1cbd0125053c2408ef3a31f5ac3a040905bd980d743cf4b1b13b60a5843b5287b1bc1ff61f3ce54231bdb1ff373f1d13d43e9eee25bdd14340bd210e2d3f753ac13e562747bdef9d13bde921183f76cfa53e9a3735bd3c44e4bc593a003f9ddf863e3cbc2cbd0ad8b0bc4823cf3e018f503e34da21bdc947a8bc310d9f3e7400123eeec816bda4d691bc09f95b3eed58ac3dd04308bd30328cbc758ff93d1268dd3c645beabc3cba1ebc0759f73c7e1595bcdd45babcc9abc3bb851a103d26ff84bc958df5bc1a2dafbb7334023d008605bde561c9bcba171cb98dd1ba3c88a119bdbee0bcbc98979e3ac42a803cf24a32bdf12991bc5b5e8c3b4194483c56e90dbd235c95bce4a9ce3aec00c03b82e331bdcaa1c5bb474e0f3b87304d3bda3d1cbd2a44923a83bfa23a5ae69f3ad5ed00bd5391113cf12f8f3b9ee4a13b160eb7bc116cdd3b2a1e32bd61c1113f301d103fc15537bd0d063ebd12be083f37ac033f958959bd0eed0abd89f5ee3ec67be03ec52542bde18cffbc3007cf3e0a79ba3e85df41bd7a819cbc92a7a13e868c8e3e55921ebd17d2bbbcff4b833e4c5d513efa622abd65149cbc69fb343ec767013eab1e1dbdd7a095bc1111d73d9721493d25380bbd2fca43bcda31013dc78463bc1bdbd9bc648b13bcf9b7fb3ce9a749bcde1010bdf3f828bc6fcaf03c9ba1f2bc6380febcbaa588bb35d5a83ce6491fbdaadee1bc509be3bacf607e3c41f62abda93dc3bc1a1a99ba255e3a3c562e2ebda0889fbc87ba0bbb5614b53b4e242fbda16118bcfd9565bb429bca39a1dc24bd5c1a55ba82a165bb79c9babadf2607bd71670a3c90efa83af816583bdddab5bc7db1a23b71761ebd9098d73e0d87363f23973fbd3a5a36bdac36cb3ec60c283fbd7065bd01a213bd026cb53e9eab103f567c55bd1a7e03bdb68d9c3e1d8dee3e620f4abd4233dcbc2eff803eec19ba3e44763ebd72abcebc03284a3e2efa863e179d35bdb8f1cfbc1412103e74ac293ebd8c2cbd93bab5bce3d7ae3dc64f913d94bc1ebda96565bce77be43c237b31bc51a8f3bcd1fc34bc5497b23cd8eb28bc57050fbd002b22bc2b36a63c035df3bca2810dbd9b229bbb96098b3c8a860bbde00806bd286eb6bb1b444c3c24112cbd234ceebcda5683bb9e09163c6f351fbd1b7ec3bce232c1bb678d663bc28e2fbddcbb61bc7ec389bb35079d3a77b40bbd9bd220bc34daf6bbf2ba68bb357b0fbdcf29073cf5925ebb5a8a70bab7afb8bcf4e4ca3b04e303bdc75d8b3e74ca5c3f190738bdd5be18bdd936843e6cbf4c3f9ee05cbdf8bfe8bc17126c3ea3722b3f1bd63bbd04aae9bcfc51533eb0c2103f296a3fbd5176bfbc96f12c3e256edf3e1e482bbd49ddcabc99d60b3e57d5a43ef48d33bd56c2adbcb9cfc33d831a513e6ea51bbd87babfbcd53e723def57b33de1071ebd8e2581bcd87d9f3cd7922fbce52eeebcfb662cbc29814c3c830f1dbcaf8b21bd908713bc5e33113cab0503bd507a04bd1d65d0bbca03063cafa923bdced50cbd0cb0adbbefe7e43b0fa32bbd4e5701bd8c86cdbba25a9e3b7e5322bd503fe2bc8aec05bccf3fc03a2ed636bd089380bcdf1726bc2fdcb0bb650421bd3335c2bbf04c4bbce37302bccc6810bd85e0093c1f8d12bc73dabebb613fabbcd68d943b9c20c0bc36c0013e3a31823ff28b21bd2921bbbc362ef83dde5e6f3f9f5936bdf9e8aabca3e3f03dce2d4c3fa01920bdad83aabc909fdb3d3eb1273fed4d15bd6cf39bbc541bba3d43d4023f263d0ebd2170a9bc46a3953d6a15c03e2edf1ebd1c61a5bc2cec553de3a0733e35441cbd1a1ea9bc155af53cc284d03d2ca614bdd1337fbcbff5133c2ec642bc01c1febc000000000000000000000000000000007cdca2bbfe21383b5ef3bbbc8d2a12bd40817cbb1737253bd40af2bc6c35fbbc4fce8dbb178c833b0247f7bc2054fbbc2d5599bb39314d3bddaff6bc5118d2bc8ab7cdbbc92b24ba0e33f7bc82f8a5bce1e90ebc3179b4bba20feabc1f2728bc4e6538bc5baf01bcde8acebcc09650bb0000000000000000000000000000000000000000000000000000803f0000000063b21ebc5628cbba741b823fce95b8bccff513bc3c21ee3be68e5c3fe25c99bc328128bc53c5643c099f353f589898bc82c932bc12cb4a3ca52c0f3f301da7bce4be4bbcc16f523cf11ad33ec6b6b0bc57d64dbc21e3033c65c4873e8743babcf84062bcd865263bb9e4f93d7a7fe5bc0000000000000000000000000000000000000000000000000000000000000000835e773c37724cbe3b190b3d73c5d8b970ca173c597f4abe6f59fc3cb8ecaf3aa6d8483b4af339bef7ae883c0d2c993bed92d53a6e4b1abe2b07533c93f1d43b60882f3b2632ddbd57b9e73b1918613b77922ab9e42a6dbd739b1b3b0545723baff35eb9ce633ebc242937bbb3845a3b00000000000000000000000000000000000000000000803f0000000000000000bfd2d1bd0940ab3f48f202be5887813c5f6c62bdf34d8e3f3448bebd923c383cddf803bdd70e6c3fa62d9cbd4c541d3c58365dbc4c8a313ff9de71bdff66e93b068d2c3b1318e83eb8b616bd34bbd63b7318363cc781683e22534bbcbd01ca3a0da67b3c5069343c7952e33bf97eb4ba00000000000000000000000000000000ad0ebd3bb4c7cdbd0fcf423c80a62d3a2a49923ca0042dbe8b9e073dfbc2cebad05b7f3cb8eb4bbe57c49a3c1c1fca3b6ef5633c675344be0ee15c3cb955153c5b694c3c99ee21be6f82a03be47a193c58ac523cc3f5ebbd36e8b03aa9941c3c9fa3543c670c88bd65c92ebb3d1bfc3b6d60313cad5194bcd5d51ebc6241123c4b212a3c2650583ca4c29eb99c06803b2c6940bed53dab3fe4d36e3ca61f7dbcbc8223be5aab9c3fbd57203c316974bc90380bbec114903f6c7b9abaf3ff53bc39dcd3bde6456f3f3ea755bb667e16bc2b0695bd6c76353f4a0700ba35d7febb77423cbd0d17f13e394b573b286fbcbb64a5babc4d14783e813c013c7d7398bb29869839a33e333d890ad33c6ccf20bc02a17dbb44d0d4bd886b703b0e45ebba2acf0dbcb99535bd4b5c2cbc2301b13bf992813b252500befa7577bcda973a3c9c95f63b214e20be2432a4bcf56f763ca520543ce01525bedd9194bcf4da6a3c49ed523c53ef07be1a2e9ebc435e583c7b7a8f3cfe4adabd4ea64cbc3d52473cbb23953c381f85bd581300bc822c173c5bfa993c5dbcf3bc877c3fbb67580e3c459d8b3c9c6037b93c7a9b3b3236a43bb71a39bedeed8d3fc3e46a3e45a366bd42e240be11708f3fd8ad423e58e859bd6dd124beee33823fc01f1d3efd2929bd5ed60abefa7a5d3fb4c7eb3d911405bde742cabd8594293fbe99a93d988ab0bc7eb899bdf7eeeb3efc885a3d89d384bc00be3ebd86cd803e9755d13cc4d8fdbbc3f0ccbc02629b3dcedd9d3ba2bd4bbbab1f92bcc0cc2dbd8dbe99bce2a7233b8a759cbc4dbe28bcdb8d26bdabfe603c7c4a3ebb97a0adbd10386bbd9bddc63c5a1be73bc726f8bde0907bbda15fd83ca1d72a3c5df6febd5a9d5cbd3c7cbc3cfc0b803c178af3bd1f4a37bd7a00b23c7b29943c6207bdbdcea0e7bc7e64873c113ca83c9d117dbd62b480bc8a18673ca67db23ce80f0abd66de1c392f481a3c8c88923c170af7bbadcc4a3c517d8e3bb36d2bbead1e6b3fd326e83eaa84d0bd53f437beb6b46d3f6541d43e39b8cdbd139e25be5ae65c3f8028b13e7537a7bdb60e0bbed2ff3c3f51cd863e1c7974bd419de6bde7a9173f6283423e807b34bd67f9abbda79cd63e49a4e73d5613d3bc412377bdee9f7f3e158e453d007850bc27e219bd74b9c23dcc1ca1bb05381a3bccd6dcbc416621bcd07846bd55d7c93b8628adbc3f72413c801884bd3a2e983c4233cdbbcef545bd8039c6bd4d5c0c3de083953a1d0f9abde5b2d1bd4934fd3c1640103c4269bebd929cbbbd41d9fc3cac9bf63b402598bd02278ebd8f74a43cb33d873c24939dbddf3a47bd8820b03c5ff9873cb0ba4abd2976b1bcd3f7473cae73953cf465f1bc33c0b4ba6ac5153ce149883c7b6821bc13b74c3c3cacf33b01c60dbe3aec303fc27d313f51a112be1c7716be5be5323fced3263f7c5311be704407be43e3273f8bce0c3fb78de9bd5256fbbdf8cb153feb7dde3e2d91b9bdc7b4b4bd63d3e93e152e9d3eda9974bdbe45a9bd7bd7b83eb06b3d3e727a1abd29566dbd6f78643eedb19c3d30b064bcb03a20bd2a4bd53d41a855bc5312d63bd6f1eabc96926c3c81fd93bd8b4e453c1c7890bc9172d93c886dacbdb375c63c4764adbb1d6162bcf00a12beec943e3d69dd553b027740bdde9915be0227343dfed7ef3b10486cbd50f105becbcd193dcd29503cef8384bdfcbed2bdb3d5fd3c48f4513ce63f61bdbd4685bd3d33a43c4d0d943ccee337bd379806bda39a6a3c4785883c6437dcbc53a8a1bab7400b3ce570593c703c31bc6cb8943c2565973b4e4bc9bdc7a2e63e63f06b3fd5042fbe3950e1bd6853ee3e0b51623f046d35be0831d2bd4358e73e4e05433f474017be2f08bfbdb2f3d13e2bfd193fb9efe4bdb1e5a9bd8a88b53e1523dc3e096d9fbd7f8788bd23028d3e9559843e18b32bbd2ac557bd625b403ecdf7d63d98e93cbc335a11bd5539d13de1d5aabc42f86b3cd541c5bc958bda3c1070bcbd2f938f3c014557bc158d043d9c10d6bd0c50153dcf866abb3496c03b339131be93ef5d3d79d4ab3bee87a0bc41c138be2544473da2d80a3c530303bd5a2829be23e42f3d6d64fb3b7f870ebd068000be600ff83cf456213c503212bd3981b2bdcee2ca3cfc01283c0675e0bc69ac29bd8f19673c84db393cfed1a4bcf77a85bb1de9903b6d031a3cb46eeebbbdcf9d3cb367e23ab06e66bd3479673e9f3c8e3fb2b93abe3b6380bdf814713e685c8b3ffc6d45be672d73bd6d58773ea042723f6be323be66d670bdb3db6f3e4882423fc9bffdbd01c74bbd67b5563eb9ff0b3fda0cacbdbf9e2cbdd8b5393ef7e3ab3e613a42bdcd9d13bd4f45093e51da123e879243bcc242cebcdd3ead3dc8d98abcd93dae3cf86a87bc7657f93c1fe9debd7c7cea3c64642abb85d1cb3cac580bbe9256243d2218283a157fac3c1d8446be5655763de5dacd3bbacd2eba2a9058befc41543d4018163c020136bcf35f46be2d29333da35ce13bcc4790bcc41b1cbe814f073d37b4db3b1c5070bc81a7dbbd73e6bb3c75f9d53baba367bc40dc50bde7a3133c61706b3b719032bc1976afbb32e63dbba80b863bf52340bb9336ca3ca34ddeba49895bbc371f653cea90ab3f834541be43e99fbce06e263d6fbc9a3f6e0c2ebe7a64c1bcdd45853d02148b3fda4018bed382c5bc6d2fa03db526623fa8e3eebd231ea7bc5abaad3dbbba253fb64da1bd7b40a1bcc216ab3d80d6d03ea19332bdc74864bc2e3b933d24d6383e1be4c7bb68b530bc90cf723dc22c68bb7a39fb3c69aa85bb0cbeae3c520a12be3e870b3d00000000000000000000000000000000807c123cdff9c13b928e4abea5d41e3d7b5a203cc15f08badef847be33500b3df954cf3b4f2a99bbf56b37be034dcc3c5274d53b3381f5bb0a2d16be2ed3873c7718503b110700bc6164d3bd5bc1463cde48aa3a3a1503bb147e6abd3b53633bd9a23b395ebf53babafc0ebcf21a29bb0000000000000000000000000000000000000000000000000000803f00000000365a2d3ccaa9d3bd812dab3f9b8ff8bdb2f9803bb74b5abddc548e3fcaf3b0bd4529fd3a114cf7bc89516b3f9dd98ebd23757b3a7e7511bc2907313f271355bd21de163b2124773b92b5e73e7408f1bc95827f3b406e403c2623653e4fe06fbbbda2953ba41b413c61ceee3b4516803c0000000000000000000000000000000000000000000000000000000000000000f9acff3b56bf39be332a193dab9b9dbb5451b73b809c41bec35d293d418db1bbb05b493b1c5333be6191f13cc31000bb6795d93a452d1abed307de3cb359d0ba63ca103b6401eebd536eca3c955478bb7b116c3b408290bd7b248a3c5f26d1ba7da1233b8688babc5e37143c31f97dba00000000000000000000000000000000000000000000803f00000000000000001750b5bd9b0aa83f629bfdbd19ab4d3cd6ae49bda6e38c3f125ccebd3fb53a3c35abdcbcd52b6a3f77bab5bde31e3d3ce8dd43bc5105333ff2b39cbd7c2d2e3ce55c0cbb4d40f33e11cc70bdb410103c5cfa643b7b47813ee67101bdd2ae383b8300c53bec880b3dc496febb1c6fbdba000000000000000000000000000000001b185ebc18488cbdd504e7bbdb7e9a3b28394e3b5b9b1fbe8cdff63cd87896ba521d4a3bbc1c39be6d3fc93cc752d33ad2a8d63b732437be117dbf3c18301d3b0e2d0d3cec101ebeeff99f3cc1ddf03aabc75b3c7840fabdaf029d3cd0667b3a6ab76f3c73d89ebd72f25f3c7c1a913ade15853c6a9be1bc33655c3b4b0f233bef43583c294e183a05fef93b07b582bac6f926bec5e1a73fd3d49d3c8dc03ebcff3e1cbe91049f3f493523bccf0712bc20c100be8bff8f3fbb8bc6bc10c087bb14f7cdbdd560713fa2490bbd9a1aa7b84b30a1bdd2783b3fc3e21fbd649f803b32b574bd2664023f8fe520bd769dc63bc7c833bd302f913e8767f8bc48d79e3b4906cdbca6688f3dabf795bba1819fb9ef2bc5bccf6e90bdf137a2bcfd91983b867efbbc8f254dbaa3722bbd475a813c63218ebcd60fb2bdc44907bd9bbb913cb87202bcf9e4efbd3c08f5bc09da843cd2067c3adbd00dbe30e385bce91f523cc90aed3bbb88f7bdccfe4cbc01912a3c364d763c5cf3e0bd2a1c7c3a1e48fc3b75df843c495097bdbdcc933bc065843b2ac8b33cf8e133bdc274303ca640863a6075a23ca4445cbceefb743cbf338bbad0d622be62578b3ff986623e836d3abd6bc92ebe646d8e3f0471253e5e9913bdebc614beada4803f6cccf03d2ccdbfbccb170bbeb7f1613ffd71823df38d3cbca926dfbd4263323ff566e03c647848bb1668c5bd284d043fb83214bce0c56d3b9bbc94bd932da33eab03f9bc62fc223c4c3c73bdb3230b3e84c83abd0155743ca1083dbdc49f8d3be49866bd3382713c13722fbd4f3f2b3d3442a6bdca73e73c53e7e8bcd69102bd5d70b0bd7db50f3d23f37bbca6fea0bda7de96bdbeecf83c1feb89bb44e6c3bd054a6bbdaa80cc3c84db863b4402cdbd137330bd163faf3c4518413ce2ecb3bd6c73adbca777623c25a8a13c052696bd9c1138bbcda7043c840ab73c089d3cbda895573c624ed33a645dad3cde26afbc7a3d893cbb43623a91d314be25d5653f5264df3e5deca4bd296f22befa686b3f6f5bbd3e16ba90bd6c8d19be79275e3fd030923eea5852bd17850abeaea9433f188b493ec167f6bc8e8efebd78b2233f7577ea3dfbf864bcf39adbbd8c14f83e97ad1b3d5f2c1439e834b9bde71ba63ebd66a3bc828e4b3c07f596bd67c62c3e50a489bdf070bb3c17b76bbdf27d4a3dca65bcbd3f61cd3cff9c38bd78b9863dbb4bd8bde958133dd36003bd5dc5dd3be3dd03be809c453d545f99bcb7e7eebc9d0ef5bdaf362b3d69da1abce2b275bd8939d0bd0ee21d3dcfea5dbb63413ebdf5069dbd697fd83c6ead203c1b558ebda0ea3bbdb3c3b03c45fd6b3cb7be60bd808e96bc5c494e3c7d44aa3cb85c2dbd616d083ced00463b3681a93cebf5c9bc78628e3cbc044f3b1a54f1bd07cf2c3f6b41283f7249e8bd2f2503be11d0323f6367183fbe01dbbdd6e4fcbdda0e2a3fd918f53e74a5a3bd7d5dfdbd189c1e3f85c3b43e848466bdbdbcc8bd5c33fd3eaa03763e72be16bd254fd1bd6c4ad93ec44bdf3d450f01bca157acbd8a8a963eb8df6a3c13bffd3b6d5797bdb8dd343eaf9c97bd52c4e83c74ef6cbd499d983de3a0ebbdbd52f13c0bca26bdc63b8f3d7799f7bd1387303db799dcbcea85df3c80ea29be527b7f3d93818cbc3e4914bc083023be1bbc653d0ed017bc33e1eabc9d610bbe55823f3d2c4033bbf4a32fbd53fbd9bd8d1b1f3df5acbe3b973041bde52686bd26b8cc3c8b3c513c180936bd3d32dcbc11196c3c96fe813cbf6813bd4312a03b6a9b353bb92e963c84e3a4bc46bf9f3c52ec4c3bd731aebda243e73e787f613f39fa10bed915c3bda726f23e5dc6523f06510fbe34a4c5bd93b5f23e32302f3f6f5ae3bdd6a7bdbde8b8e33e2e43053f88809fbdca4bbbbd9fa4cd3e1dc4b43e761d47bdda4dadbd9c5ba93e4ae2413eb2658fbc3ba897bda8087f3e60c8353d0ac31b3c5b397fbd87a5253e8d0a96bd2929183d6eae50bdc9a9933d417a05be6a630b3d427ad7bce88c6c3d001b06be11cb4f3dfbe692bc56b9053d00f241beb4b08b3d77f731bc8571ef3b12723abeaedc733db063c3bb7ebd26bcc83c2cbe9828613d7cc584bbc5337ebc9e2403be1575233ddf87323b04c1ddbc3916b1bdd360ed3c2737b53b9722cdbcc4e22dbd39997c3c72e83b3c472ac0bcf88d693b3c1b9eb951a93e3c962b63bc31b9b73c2cdbe2bae2e246bd27ae723e4df4893f4b2b1ebe78d064bdd351803ecd9a843f691b24bec29670bd7d4b893e00f45d3f3a6f02be417e72bd697d893e987e303fafa0c9bda2415ebdeeaa7a3ee5faf73ee55d83bdc8715dbdbd86623e38d2903e428cd9bc00c540bd6a59303e2645d43d4a8b103b067b2abd5a4bfc3d57f378bd3fbb223dd8ab05bde104823d0dbf11bed8b4373d035125bcfb000c3dcade13be335b4a3df3bb1abbfbaddc3c382152bede16913d4cc0bfbafe9a113c235657bea7be7b3dd03f8038739843bae86742be767c643d89899f3a5465afbb7f041cbe27fd2c3d44c8e63adcbfdebb7b7ed8bd6e95ee3c1652493b8cda1fbcfa7e50bd023b683cda2b8b3b6fc0acbb1cfaed3a9234d7bb7176af3b9a3d89bb0e0db93cb79e25bb49b83bbc67bde53ced77a73f9bc428be7a259ebcc588523d3467993f4d3b1fbe517cb9bcd2efac3d3482853f10f204be7abfbdbcdcc6cb3d2ad1553f1de2d6bdbf8fbfbc4023d93d89a11b3f5e1391bdfc309fbc3cefca3d8080c13e32331bbdd73e88bce19cb13de6041f3e8680dbbac24f3bbc8a8c8b3da2d926bd2bcd2d3d2a4235bc0d9d053dff1e1fbe6169273d00000000000000000000000000000000c279cd3b52db1eba901f38be62dc243d85cdc63b93d844babd4b3abe701d263dc1931f3b4d256bbb8b032cbe2eac043d4437023b5cac57bbcf8810bec579e03cbe08bab9dc8300bbbb78d7bd33fca53c43d952380fefba3a0e9870bda4c31f3ca37e96ba05e2b73a315f6dbc742ffa3a0000000000000000000000000000000000000000000000000000803f000000008a442b3c18e4b5bd3551a73f5322e9bdec2bc13b1edc33bd03118b3fe9bbb4bde8d0ab3b9e9c9cbcf3a9653f9e0a9dbd12ff7b3bc4ae8dbb72c12d3fde1e7cbd70a5b43bb114523b6e74e83e89272cbd41f1ec3b348b073cc0eb6d3eb2f278bc2ffc203c8801873bf9989c3c1899e93b0000000000000000000000000000000000000000000000000000000000000000eef09dbbe297b8bdc0ed34bc180f883b652881bbb36fd5bd6474c5bb87af103ba39827baf34ec8bd52d214bc430f9e3b77e01fbbd93ebabdee20d6bb7a025a3b4452bbbaccaca4bd32ab8fb914bce23acf5207bb8f247abd7490083cb08939bbe3bab73a29ae2dbd970b703c875498bb00000000000000000000000000000000000000000000803f0000000000000000a8d43bbd28d4963fbd4a96bdc895483cf2d3adbc94b27f3fe2c281bd5c02773ce89afbbbf46a533fe0356ebdc4c44a3c6ffd82ba0851263f9f9965bd8e02623c8fbf1ebaa74cf13e79b764bd2a97513c0d9c82bb0b70933ea74246bd11ae3c3cc31c12bc73a2e63d08eb33bd3711273c00000000000000000000000000000000e996a7bc1a5ed9bbf1052ebd0816703c7cb3b5bc7fb598bdd688d7bc7fcd083ca8df7cbc61f8babd3b3eeabc11f22f3cb8041abc0c33bdbde40cd6bc3df42e3c103769bbeee0aebddeddb9bc3ed0303c5ab101bb9535a0bd0d562bbc204fb23bd083283b53eb7bbd7c23b8bae51e533bd9a4d53b86551dbdad623c3c752d4bbb66881f3cdc868cbc9dfa513c5d5cdebad959ccbd06d7963fbc4a8b3d648062bc402ec8bd21fc903f76190f3d0896f5b9a02098bd9d787f3fb19db23ca80cb33a618b6fbd4c4c553fcfadd53b36e6863b2cfb45bd269f283ff3491dbc857aae3be5b32ebdcf5ef93eaed5e0bc2202253cd87c29bd937e9f3e28ec2bbdbcb5303c96dc2fbd11570a3e7b4444bdb727503c630708bd45ba9b3b9ae869bdee1d5a3c3c850abd6a561b3d7af481bd8a49ac3cf7d605bd227118bcf5d497bddfe4d93c1ff190bcfa3deabcea3790bd4722cb3c542b6fbca60b53bd91ce82bd6c23c63c6c73c7bb391f48bdb2115abdc169a53c78ed09bbef6e5fbd658723bde61a923c6f65813b3bf42abd3cefd0bcd138613cfc1f093ceb380fbde0819abb247ac73bd15f4b3c9f2962bc0524bb3a38a4b03bffefdabdc2227e3fe24c763e0cd519bdd71deabd77da7c3f549e473e24b4f1bc5d48b8bdb0555b3fed6f233e3798c0bcde02b3bdaf4c433f236ada3df1fd39bce07c95bd19aa1b3f231c893dd4c7d9bb28f492bdf201f33e37909f3cd32bda3a803c77bd1010a23e898848bccad98f3b7e3b82bdb66d353e19f557bd9e316c3cfd524bbd55d04a3d9eb486bd1091593c56361cbd08408b3d205dadbd1077de3c416518bd2c8b043d26dad6bdea001a3d90a5dbbc668099ba671fd3bd9840163d8be09fbcc69a94bcb719bfbd728a073d6e3f44bc25dae0bc572ea7bdb7e3083d016cb0bb63a406bd96037ebdbde6d23c37823a3a38950abd2fe82ebdac3cac3c341c043c7551ffbcabab90bc9a39623c40a3423c2b5471bcf3c212bc3f77613cd25bd1bdc882503f0660d73e5df281bd337fe2bd31634f3ff580bd3edd2069bd0018d1bdca6f3f3fd4179a3e8ca134bda62dbfbd531c273f2e1d693ed60801bd94e2b3bd5a550c3ffe451d3e120ababc74c3a5bd25a1dc3e4f96a73de93a17bc135e9dbd061e9f3ec1b26a3c1e94a53abeb093bded45443ed2f933bd22324a3cb2c460bd3ef0a13d556e98bdaf84213c12692bbd7128a23d6844c0bd5549ec3c340a25bd9bec5c3d0727febd1f4f323dd530e5bcf2a5d63c98bdf6bd466b1e3dc984c2bc5450d03be8dbf6bd1ea5303d58bb1cbc295f863b99ebbbbdec8bf63ccda411bc97a38fbcde6dabbdf14b123d70ec0abaa5e69bbc849263bd6925d63c67dcad3bd665b8bc9c39ffbc2f93a93c4e363b3cd90c52bc63688cbce49fa63c6697b9bdcfd6213ff50a1a3ff38fa6bdbac1c2bd53db203f1e9d0c3f03a9a4bd49f4b4bd73ba143f91c5e93e39ce83bdc4a3b8bde527083f1fd8b73e0db155bd308595bd1b21d83ee5ac843e805228bde606aabd4e96be3e21531f3e900dc8bc2b5e96bd0a018a3e02b87e3d52ee2fbc097e94bd8f613b3e5921c4bc30b5bf3b96b668bdeb0ab73d533798bd0ca5b83b589921bde1cf983dfa07c7bdfa3ced3c034321bd3ffb6a3d615a10be8362453d3fc0fbbc90b9073d5c6114be95f2413d4fe5c3bc4c22813cfed007beff522f3d61eda2bcb51be13b6ae8f7bdcdbc303dbfb316bcd28400bc061fbcbd4e930e3dc5b0a5bb1adb75bc9fd88abd52dcfd3c8224ef3af76d8cbcf23918bd58eac03ca390db3b4dfe19bc3e3ea9bc611db23cacd08ebd091ce53e706b4a3fe882c6bdd46097bd4eaee53ecf4c3d3fb1adcdbd9ef295bd2bd0dc3e375a203f8616acbd3a1b99bdb140cb3e23d4fc3eec5f87bdd96a9abd17f5b33ec668ba3e1a7758bdb7f192bd21bd943ebad76b3eaf6906bd180a8cbd9f71673ea500dc3d8f3186bce2f383bd15c91e3ef73498bb673d1a3b4b6b50bd428fa83d263c98bd33e72c3b865f03bd235a6a3d0518ccbdf6ef053d66a0f1bcdcf83a3d2ffb19bebf454d3d4d3ed1bccdf2043d643d13bec9a0263d36d3b5bc468e9e3c55e716be59553b3d1f2791bc820d3c3c916efabd49f4163db97a5ebcbdb7b4b97fcdd7bd45b21a3da9b3d0bb29618cbbde8592bd18b5ec3c1addc73a8da360bc25c714bd0d2bb13c3330b73b9da615bcadc772bc10fba03cddf832bdb3f9863e3a36793f711fd6bdec053ebdfe91873e9ff46d3fac70e9bd39c947bde662883ebe16453fe98eb8bdea2655bd990c833eff65223fb046a2bdf02e55bda42a6a3e2e45ef3e5c1575bdb15561bda2a34e3ef723a03e928530bdb0fd49bde8ba1d3eb4c7273e0371d7bc146747bd4149e43dd9c95c3c34b1933a1bd923bd1cd4783d62489ebdaade9b3b6181acbcf762fa3c53a0c6bd9fd7c43c10d63cbc326faa3c4a7e20be35684d3d074082bc343e8c3ca5da25bedae02f3d53e889bc0c784f3caa9c1cbef31f1d3d5e837dbc42e5113c83ba07bea451103d671b41bc8aae243b1411debdd895033dc009dabbda7916bba2e199bd272add3c9715ba3a8107c1bb22bc04bda25a8f3c2078f6398c0fd5bb89ca75bcbd6c923c6dec7dbc344fad3d2ec4953fe8cddbbd08327ebc9c91b83dece78c3f7182e4bdd806a3bcdfd6e23d5795703faefdc1bd2d48c0bc37deef3d7fc1423fbee69ebdd2acd7bc2defe83d863c133f58e082bd5f85e2bc592acd3d511bc93ed07444bd8fe9d1bc6498a23d4a1a573e457aedbc45f7a8bcfe9c543d6ee10d3d22a8a2babe6ccebcde3cff3cf68c9ebd06485abb000000000000000000000000000000000d8abbbb4984e53a58c2e9bdcbaf7b3c16bfb5bbbc36cf3ab4e1f9bd8113933c0dcc20bc0879cd3b846defbda637713c2f914abc4153b03b682ad6bd91a65c3c157438bc4802233bb24cb7bdd745683c109708bce61954392b7382bd1e9a663c7c32cdbb8bb220bbbd9f1cbde8664d3c0000000000000000000000000000000000000000000000000000803f0000000016efff3b410b31bd763f963fd6f998bdf74f683b29204cbce30a7c3ff52d6abdc900fbbadca5bf3b03ed4e3fe2cc5cbde2e4a0bba840573cb5da203f762c46bd0984efbbfd61843c1839e43e7f9f24bd9c5e7bbb54661d3ce7e5863e6aa8edbcc06fdbbb77e4a03b6ca8ae3d334799bc00000000000000000000000000000000000000000000000000000000000000009309d43ce51c5bbe19905f3d1dd5fdbbb566483caed64bbebcdb263d387fa5bb046fb43a464545bef7e3f13c00d3f7badabd0fbba8c21dbeb5e9b13c461e09bbbd43c9bbaf09cdbdced3373c6b71fcbad3b82fbcc68a47bdce97d738f62f2dbb535721bc8e2e11bb7aabb8bb81d701bb00000000000000000000000000000000000000000000803f00000000000000007f53f9bd7a6dac3f17e70cbefa43a63c8d4e94bd4cdc8d3f8c51b7bdfe15583c4f5363bd4b256f3f49fc9bbde438843c7f11dcbcdc98303f74a355bda373433cbc3ec7bb97bfdd3e7a68afbcfbe6fa3ba266103c8997593e2654a93b7e39783b7b99ec3cb62a4ebc1e13f83c189095bb00000000000000000000000000000000d513153c9b20d5bd00440b3d4129b4bb19f12f3cb81111bec9531b3d46e8e2bbfec8283c6a8648be6091193da2328839d604283ce70f44be2ded0b3d392c9bba4706e53b3e6723be7da3d03c1fae5e392cd6a63b7fa2ecbda3057a3c5ac7683aaf5b373bebef78bdc6ec023c5553af385dbedc3af009b3bcc1ede6b9afe0f53a87480a3caeb74a3c684bb0399b684b3a5c5e49be3266ab3f10dc69bb8d09ebbbd1de1fbe41cd973f7f9b803cceb418bc3a0c20be4f44913f58088abcea02f0ba6bfe06be7114743fdd628ebcfa9ec8399a3ad1bd56533a3f14bd3ebc79fe5b3b84558cbd32bff63e71b4403bb5d3cbb9a77d09bdec91793e108f7c3cc3cb8ebb0004ebbbb36a8a3de236c13c87220abc3ee9c93b7e7de8bdecfce63c7ba44bbc48259abcc50bdbbc4b06933bfb01293a71c69ebba7c6f3bdfdc4293c345db83bd6e745bab32e25bed300953cf9399c3b584d713bdef430be2332bb3c830fb83a42951e3c90a21ebeb8bba53c1284d73aec9f583ceca2f2bdbb3b983c1351443b97266b3c259894bd3d4a6a3ce9928cba0cff863c1e1e07bdea91523c9e90bc3ac574933cbd2918bc789c623cbfe9873ae5752fbef8558b3f6e055f3e54c752bd37bc47bef54c903f3d92243e75702bbd5e9c3fbee9bd873fd87ad43deaa0bebc98622bbe346b6a3fefab8c3db31d60bce73212bebc66393f7e052d3dc87fcebb0a4de0bd40fbff3ea7eb043de85d13bc19e294bd9e558c3e6d5eb83c2b6ebdbb0c8e24bd8270b83da2c8213c5d080ebc78d3dabc9573dbbcd20965bba3083fbc48c609bd1b3b053cdcf6f6bc51384c3c518a8dbca2ac97bdea9801bd99669c3c5ef134bc09aef2bd389fccbc519c9a3c7e24f7bb6da90abec529a4bbdec70b3c9811ab3be35f0dbeb034023c1b12d93bda17283cd2dfdabdd914483ce01da83bb3da7f3c5db791bd65799a3c11347238aadfae3c1a6b2bbd16dcb63c55002c3b7f73b03c15f59cbc4418db3c2425f6382a3d26bea0fc683fd1abdf3e325fc5bd5dbc38be26816d3f23e3c43e0a33b0bd4e4838be4cc6653f7b02963e37fb6fbd7f432abe6c9d4d3f116d483e41d907bd3e3f1cbebe9f2a3fcbacf23d78178abc03c8fbbd798df33ea5c68d3dadc023bc1598b6bd7998933ef23eb33c040b8dbbe9bb6ebdd9ebfa3dccb150bcff4542bbfe7b24bdfbf8fc3b29f62ebde611f7ba9ff327bddce5233dff0c8ebd88c0f33c2c5cccbc0e8704bd4d59a9bdc727113dab8489bc7044a0bdf06c9ebd8934f93ccefe3cbcc651cebd1c1b44bd31eeaf3c3f1690bbcb76c9bdb7bdb1bcc4c51a3c8925083cb5cbcabde3775b3b0b78f93b88a1493c9d0d88bdd2107f3cec3b8d3bda33933c43212fbd91e6e53c53314f3b960cad3cd23c9dbc62260b3dd9800e3a0bdf00be5a412a3fb72b313f920414be031b18bea3ff323ffaeb203f55e307be7b0b1cbe4d18303f9b91043ff3b3c8bd0a2f18be1abe243f044bbb3e9e4c73bdf85907be8d2b0b3f559f683ee6e6d8bcbdf2fcbdd9cbdb3e73a8ec3ddae329bc452abcbdc5978b3ee758fa3ca926933b002484bd03c80d3e2e3907bd77e7d43bfdb742bd087c143d9b18a9bd71ecf93b512813bdf6db553d25b8c5bd4c6b0a3de984cabc4106d9bae50706bed6e6503d124284bcc9a32ebd202904be6086403d61b553bc039f77bdb934cebdb94b073d3f384bbbfee99bbd43507fbd98efb73c9343b43ae62c97bd933eaabce3b12b3cc8834b3c31007dbdb05d123c6282873b3810853ccc1116bdc36cc13cbd44013bf175913cc96aa7bcddab173deb267a3a2233a1bdc09dd43e90246f3f167737be377bcdbd9853e73ee8445e3f01a22dbe017fe2bd3bf3eb3ebd223d3f55db07be0064dbbd8db2e03e3e370f3f23d0b3bd72f3debd9482cf3e3f8ebb3e40913bbd4481c9bd76b6ac3edc22443ecaf055bca255acbd6080733e55ba633dbefdce3bc02577bd1bdc083e1f3c31bd35e5a03cb78036bdaa0a5c3dddd9e0bdce38943ca43fcfbc4760523d62cce7bd4b46463d961883bc2f453c3cc7082ebe8582793d40393abcf8fd63bcca4d38be59a4683d1ee20abcb6a406bd6a3f1cbe7b9f2e3d47b941bb60eb31bdef8bddbd0d39fe3cdab9073ac0d94cbd43226bbd93788d3c3716163b7add29bdd45b33bcc8c2b63bcf90353cbb6e02bd91f6863c1e50f33ab3e9233c6cb54fbcd242fb3c34d84eba507d20bd0b394c3e30da8d3fe9903ebefb1365bd418c5f3ebfbb8a3f0ebe3cbeacb777bdcbd46c3ebb4b733f955e19bee4c886bd4df7743eb2423f3fc734d4bd819989bd1c726c3e51dc043f3be96abd342d87bdf22d5b3edb82963e3a2677bc887363bd85542f3e32cac73da066543c5e8631bd712fdc3dfdc613bd8791e93cef1903bd14474e3d64f9f6bd8ea0fc3c0e97febb3b4a023d966e1ebe6eec813d502b27bc5a848e3c026e36be98c77f3d219898bbc82b92bbbc5d59be117c743de6f991bb1cb161bcd36043be9b5b4e3d0d1a92bb7139c2bce8bc13becee1043d784498ba08d0debc4e95bebd4c779e3cc9c8ccb91a4fc7bc745c15bd078cc73b553ff33ad3839ebc22c8ecb932d9a5bb5ae6103b819cbcbbd50e053d8ce788bb156e93bbff32d9bb1e46ac3f1c1e4cbe6ed0a3bc9935513de8f0953fbfd21bbed16ed5bc7bd1683dec118c3f757a0dbe8573f3bcd7a79d3db35c623f19b2c8bdcb4dfdbc56ecb13ddff3243f917960bd52fa00bdb650be3dbc65cb3ea2da84bcbb0fe1bcbd08ab3d665d293e9509933cfd71cfbca7a6833de3b1e43b69951d3d55f029bc9406043d938329be5190573d000000000000000000000000000000003bcce93b0c97b03b46725ebe12f3733dc899123b71d904bc3c464ebe3ea33b3d84f5103bc9416ebc2cc449bece55183d22bfd93aeca875bc463023be5688eb3ca8cb5fbbf2906fbc50ced7bd2f4e833cd4d6faba43cb40bc1c125ebdb376833b9cf324bb3a51bfbb79098bbb8330a7bb0000000000000000000000000000000000000000000000000000803f00000000a1ea1b3ce346e7bd1dfeac3fdbf701be8ad72437b71b62bd9fba8f3f0bd09cbd66c536bba3e51bbdc935753fc78182bd7a6698bb0e649cbc0a00383f859f26bda5ae0dbb7ea520bbd05fec3ee49df8bbd6419dbaaed5223c89786b3edd1b763c4838423bfa79273c39462ebb2e871f3d00000000000000000000000000000000000000000000000000000000000000008400c73cb61454be48938f3d2b2d3fbca503bc3c98044ebe4f2a803de913f5bb092d9b3c411747bea9a75d3d2d13cebb6bbe6a3c406a24be734a2d3d4e493dbb8403f83ba6d6dbbd6cd3df3c766006bb0e81983a779f55bd3fdf103ca24d9039214069bbcebf92ba9d0d88bb2704bd3a00000000000000000000000000000000000000000000803f00000000000000000ccfdfbdaefaab3fa5b406bec6784a3ba90894bda75e8e3ff1beb9bd4daba3bb66cd6ebdd30f6f3fac4c98bdb291f7bb3fa91abd07bf313fc4c45abd43371ebc29937dbcf937e13ec86ba2bc1c050ebc5802923b3163553e43aff03be7cd1ebcf007c03ca138b9bc66fe0b3d386723bc0000000000000000000000000000000098ca44bc36049fbd31e0f23ca4db07bcdabdb6b9c473f8bd77b12d3d62cf0abc65c2f83b213838be184f6c3dc18218bc17c6843ca97a47be46f97c3deb3b00bca0d1b33c000034bec154593d00fac2bbd314c13c955409be213d243d15669ebb7f3bb03c52b6acbd1892e73c929b66bb84b5993ca81e17bd8d3f1a3c60e266ba617c9d3c689c873b5fa0043b99b63bb9ff5423be4cf8ab3fe8380abdbfd3ddb9de2401bec9eb983f4b78d9bc8a33c8bbae9707be3769933f7c707bbd6c1e88bbc96705bee97f7f3fee8d8abdcebab7bbef91e6bdb6004a3f5efa62bd3d2be3bb48bbb2bd42790c3f3bee21bd43f9d0bbf89e72bdec139d3eb27187bceba90abc7c50ccbc9676d83d473b8e3b2e66f1bba9937dbc91c9b9bdf04cb73cbe7807bcfeea64bde13c093d9b15b1bcbd9b0fbaba0703bd701591bdfd535c3cbc46acbb982f9abc0c8305be5de60d3db870f5bbcfb1caba294e2bbe89a3543dd5ae1fbca1bd913cccce2ebecce96a3d239f33bc0c94013d3d0f1abee2d3643dac8835bcc8181c3d0185e6bd1aa4453d8c5b13bc51a1213d3fc08ebd84d7113d9d68eabbc30b293d4e61ffbc3a1fbb3cdd5fb8bb655ef0bdef0d8a3f78b20a3e78b633bcf55114bef164903f2b99843dde13efbb09f016bed7aa8b3f3ed4343b23e493bac9091abe2d797d3f41bc17bd8dfb34ba081f1ebe2b6a553f22c975bdd7582a3bc9cd10be1538213fb28780bd8a35353a919ceebdac2dd03e34a474bd65ff12baf1dcaebd0de64a3ef77f2cbdc77c97ba6dc18abdd4f7423d94e8eebcd4999fbb5e39b1bd8746d13de04e9fbdb2d1423c32cb68bd31d987baf8c330bd2a39963b797d28bd3cfc83bd39edb9bbd4da90bbf2decabc58cadfbdcdc3b13cea7af7bb44a6baba985813becd09463d63c446bc0c5eb73cdf6c0dbec598653d44fa6ebc39040b3d68a9f4bd7dcc763de14f6fbc8390393d4322b5bda67f653da61061bc2017483dc62068bdb9033e3d62952cbcb85bb4bd8a035e3f0af4ae3e95e0fdbc80c3eebddb226c3f09d2783e2b3d94bc2c0502be41516d3f784dff3dcb0b47ba2ae006befc5a603f74f1083d998fc63b21b514be3d114c3f1f9032bdac78583c7d8315bef0b2233f4fce98bd1fdb743c48ee09be2f93ed3ee157d0bd4fb0813c9127e9bdf009903e29e2d1bd520f263c4c8bc9bd08c4093e0ff8c5bd440adb3b6014bdbdb7da123e2acf08be8adcf23c493b92bdcd42683d96ffddbdef9eaa3ce3f062bdc435a3bba96390bdaecd193c273723bd7d256dbdc4929fbc669a2fbbd1e2b1bc5fe6a6bd279b033cc68000bcc52f9d3bd42ce6bd0c713d3d583867bcf460d33c570edebd95396c3db08e8bbc48e41d3df9fabbbdbdd6893d512f99bc8902423d54728dbd6564853df98284bc397164bd7bd81a3f7cdc183f52bb87bd1689a0bd82b02d3f9278f13e1d8a2fbd46dbb7bdf7a7343f758fa23e836937bcd383d4bd9026363fff351b3e9a52363cfd1ce0bd26e9263fbd3f2a3d4b7f993cd43b01be016d163fa57f85bdffb4e53c2edf01be7f65e83e1754ebbd1b13e93c464ceebd6147a33e27b21dbe9982f23c448fd9bde7e9423eb8d825be1132c23c70cba9bdf07e153e76d929be5b0c243d7c8d8abdde07a73d283128beb101283d3a7b66bdfc13ed3c4c5e07bee76cda3c859e33bdfca815bc8826a7bd11e2143c09c1edbc87fa32bd29dedbbc98043bbb7ac33fbc101186bde1ef3c3c9b2b36bce8cd043c2bf1a0bde257343d93f190bcab62c93ccea69abdcfe1843d18bab9bcc335133d2a7d84bd79ec8f3d2bcba6bc0c42cabca0afb63e30315c3ff401d5bdce6b36bda132db3e4eda3a3f9b60a1bd592465bd1b97f13e0bf70d3fb1e829bd50a984bd8accf53e4a0fb53ea7ba58bb98a696bd8031f83eb257213e7f44a93c2be0a4bd6ca5e23e1994a13c8995f83cab78babd585ec23ecba7c5bd2556343d02cbbebd513c943e923d2ebe6c92443d6b56b9bd377c493e20cf53beb9f8243d1f1164bdaa18ea3d832b32bed265603dbf0c49bda4269d3de37050be6138683defa830bd5c0a3c3de7b140be6045373dc7d91cbd61d39e3c995714be48c9d23ca197e7bcee901fbb38acb5bd52861d3c53cc83bcee70c2bcae8ff9bc97abc8bb88eca6bb55a817bdde063f3cb04262bcd8fde03bdaeb36bd8f2d453daa6fc0bc87baa23c87132cbdbd63883d2111d4bc058805bc3dfc1e3eaf1b893f95e805be9cd69abc5125483e3ec77d3f25c2efbddf24b5bc97366f3ed7264f3f631f99bd00b9d8bc23b3823e5445153f4632dcbc7dec06bdc415883ea853b53ebfc4d83b0ad51cbd1f21883e99e20f3ea0c7053d22303cbd7ddd793edf99d1bcce86443d1efb5bbd7779553eb95819beb4c17e3d2a2660bda8f1223ed49e65be4f1a773d1df28bbc5285533d98943cbe7ea58c3d8a9cd3bcf8c4453d287e4abe5a7a743db33db1bc2422073dbd455ebe3379633d4b2ba1bc7b26ad3c67e344bedfb92a3de65797bc25df2d3c75c811beaa5ebb3c00104fbc4028b3392db1a4bd0ff88f3ba93e03bc16221bbcec7ad8bc2b7f0cbc463089bac7da5fbc3c9f833cc804aebc5a01613a795869bccb686d3d7d99d9bcb2dafc39cf5293bce863ab3f502b32bef46badbb66c52b3d1025913f3b1efdbdfe113bba0c6d3c3dd567823f6d6ccbbd109606bb6458933d98de4b3f5cae6cbd44dc03bb811db13d8e1e0d3f561c89bcdc9f9ebb1f84c93dfec79c3e827e923c03b110bcc5e4cd3de653bc3dd76e1f3d620297bc1e63c93d431a83bd1fd1653d3d1a50bc8372943d734c72be99ea9d3d00000000000000000000000000000000adf8193c98b989bb684d4ebea1c9613de6c338bafa5dc53bddd64fbeb48d3b3de8d96dbbac03c93b62504bbe03db223d81f200bc1de0373c420127bebbeef33c6bdd0dbc0f00343ce6b3ebbd28af813c95b9c4bb47a2e43bbfe768bd30df703ad8eb04bcfab6e73b03e07fbbc8ae32bc0000000000000000000000000000000000000000000000000000803f000000000c87153cf05dd8bdfc1eac3fbc9400bededf443c3bef8abdd3268f3ff832a5bddeb0863ce52b83bdfb61723feee885bd7117d23c72d94bbdd5c8343f39e223bdef2ac63c1a0c17bdbcede73e66982bbcdddba73cd9b5afbc31e75e3e66bb813cdef5a93c85a638bcd4ec92bcb09c2c3d0000000000000000000000000000000000000000000000000000000000000000cfb8c63c57154fbe94316c3d171414bc05d1093d54e45abeff05693dff78b6bb9982223d2ac554be0bcb433df11243bb4d17293d634538be83ef283d5af7e6ba898e0c3dbd9009be7c52d13c198214ba173bd33c1e049abde824de3b6e39e53a7e6b763c551fafbc72fd9dbbb802be3900000000000000000000000000000000000000000000803f0000000000000000e7b3d4bdbe30ad3f8fb9e5bdd4ab19bccc04b1bd009e923fd7998bbd1c7fb4bc7e3eb3bdc787753fd3b44bbda35ccabcc5919cbd5e3c3c3f5b4ae9bcaa5fdebc69db71bd14a6fc3e90f587bb1af5b8bc724d23bdd1d87e3ec803c33ccf5d92bc578b45bccf1d693cb8252c3d9edf32bc00000000000000000000000000000000f0befabc6b7451bd056d703c35130ebcec127abc978209be6c8c303d999597bb8331163c696242be81dc4c3d101cb2bb3a7fff3c1e7d57be876b5a3d7506a6bbd002413d56954abe9eb5423dd2dd8fbb65c0593df6a826be97c9163d7f38d9ba2faf5e3deb7febbdaffcb73ce12ef4ba7b2d3f3daf1252bd026c1d3bb7a10bba121dfa3cb1ca42bc00dcceb9d769ccb8bfb2f2bde749ab3f06566fbd3ae6803c5dfedcbd04e8a23f61d260bdf01f21bcf67a05bebf86993fe09681bd2aba51bc4ac318beeb8b863fa47374bdd42290bc8c0e21bed467593f953948bd6b6297bca67e19be622e1e3fe266e7bc6f74afbc44c206be0665bf3ee2ebefbbea8177bc1322d3bdb094063e9ce5a73c36de00bc0f9584bd6ee536bd7167ae3c4d4520bcd854a1bd889f833d0954fbbc16bcb8bb722f63bdadf91dbd5ba0923bdc000cbc5ff0b9bc39caddbd7c2bca3c292e07bc2a3d073ba27e24be92443a3d588609bcb278073d3b9f37be191b543d1dc406bcd499503df47733be14c0533da9fa09bc96157e3d766d17be5a54413dc82ac4bbee66843d0917dbbd7b0a0b3d706983bbc30d683d2e6279bd4495cd3c0126cabacb5a8ebd45ba893f84919f3d6756ed3c716fbabdc3d3903fd6a87cbb546ec03c6a0af8bd04c88b3ffa0826bd8b15643c12c814be52e6823fee9f97bd56ad853b5baa32befac7613fc5dfaabd1aeb2dbb02ff40be8d9a363f74d8a9bd5e6ba2bb295f3cbe3446023f28f195bdb80032bc6b3230bea111993e2d6239bd92ef59bc8b460bbe0756f13da14321bd40c754bccf9ed9bd39651a3e99acb1bdcd88403b5d55b5bd5e466d3d5b954abd4ad5d2bb7c1468bd860ae1bc8dea48bc0f5120bc66b9ecbc6671babd8686a03cc2bc2ebc9729aa3a88bc0dbe6cb7383ddfa55cbc462bf43c6d981ebe2877683d37223bbc2b49533d6fed1dbed89f7a3da9ba42bc0142863dfd2209bedecb6f3dd94913bc07a7883d88e1c8bdb4674d3dd879d7bbaa200dbd5ef4533ff6c0863e9ac7003dca7549bd9afe633f61df0c3e41de353d1222a9bd8f5b6b3febde203dcb81183dde8fe0bd8146653f8b950ebd3c42d73ca82513bef498563ff628c1bd425cac3cbcc532bef220393f90a2f6bd4de1203c0ed644be2d22133f9ff203be234c973ba5ff49be48ead23e2c0afcbdd53aa7bb86442cbe65d26d3e9c98ecbd970c9fbb513fefbda7d54b3e94890bbe881b913c836ed7bd8c28043ebfc8e8bdc41ef83a6fb29fbd0faa5b3d8f1792bd433b34bb7ba364bda0b8a6bc66deb4bc0ef736bcfe7aa5bc963163bd5758d1bb12e40fbcc4348d3b5ef6f2bd1c9a3c3da17c80bc6e7d053d30be04be8956693d40eb65bc837b5e3dd1aa0bbe2658913d123465bcc2ec803dc9f9e5bd8171893d69475cbc3ef85a3baccd103fda74003f9b6a373c1334cfbb58dc1e3faa9ab43eacc7453d13361ebd5f4b2c3f815b593e9d67403df53b7fbdd97d353f4548793d00404e3d7d54d4bde6d9263f0153393b16a3233d18a005bec833273f538cf3bd0006003d077122beb6920b3f35201abe3c52b83c44153bbef3e8e43e713e36be95c1373cf1a030be27c8953ec8ab39be61463b3c9f6cddbdf661523e3c0431bed8f3f73c6b06cebd20f1233e327f32be2a73a33c988caebd011dc73d618d05bec8acbb3b7ce487bd71dc333d2fdca5bd7ebd8dbbc32640bd1e4d54bc67fdedbc78a137bcf3aca0bc150266bdda39643c9ca75dbc8afdda3b60bcbcbd5441493dc1aa8cbca107033df515e7bd8739963d0a93a3bce1634f3d394dd6bd1f30973da48a8bbcb077d53c3ec7a23e218f443fb13bb7bcbb7dc63cdb4fb73e54301f3fad98bd3c2978173b293dda3e959ade3ed3cd343d25cc92bc852eee3ebab67c3eee30613d36a92dbd29c0fd3eea949a3d58cf613d5af18ebd11ebf73ef7604cbdd72e353da27bcebd4457e93e5fc518be8681253d38fa06bec75bcd3e66fd58bef855073d19b514bed6dc963e737c6bbe3a70eb3c5ab295bd8f5a293e1bfb45bea534393db55799bd2d26153e066461be93e8173dac6892bdcaeee93d411943be1538c83cfca682bd18a5a33df86712beef51073c352d54bdb331403d7d4fb6bd030887ba184208bd032d693b71def8bcd3f72fbcfa2f3cbc1d0efdbcbfbc6a3ca0b081bc2659153c7e527cbddf647b3d782cabbc7e2cf73c93089abddd039c3dccf4b8bc9d16e83c6cbcdd3db69c833f542e6dbd3f46fe3c52a8033eeb3e6a3fd1ba97bc791ae03ceb493c3eb5da333f00a1573c93c9963c5f33613e252bf73e15f3283d115a923b99b9813e36a8883e66e0513d0ffd7ebc991f8e3eb88d8b3d885f5f3d80d724bd21d78e3e6446a0bd6d5d5a3d623083bd877a8c3e3b7954be870c413dcf07b4bdb896673e3d3683beee8b403d1018f5bce2caae3d19234cbeb8146a3dc8c5f4bc5db0a83de34c71bed9a5553db01a28bd9e48b33d97a667be12a2173dd26234bd0de4a83d4e3949be7badd03c159b2abd3701873dee7112be3bd3283c336102bd4f053a3d23d6a7bd86d7f7ba046d94bcda8caa3c784bb9bcad8a29bc358247bb5dab28bbe4590b3d3656a4bc071bb13b23b3e3bc16e7743d0ac7a6bc00749b3c38695dbdf12ea93f0ec6f5bd415c5b3c93bac1bc8601953fc7ab79bd4231f73ca15f02bc446a773f117fd3bce2c51c3d70c5213c03f83b3f8e4ccf3b42b6173ddfc4133d9c22f93ef527003d34b4ef3ca6c16c3d75067a3edfe1383d51d5663ca427a53d63c9f23c7d7e473d2ec2bcba9d94bf3d355511be010a573d1c7fcebcf078da3dc7cb82be6855643d000000000000000000000000000000001c3a3dbb26f4b33c3d0251be4ccb3f3d0f7e56bca4cd343db2674ebe68e5163db802d0bc10f07d3d598e44bed3f6ee3c88d2ffbc34da863dfd1e28be985abb3ca0b8f5bc6a62743d837eecbd78981c3c16c7c3bc104b433df5157fbdd0ee22b9f69a8cbcab9bec3c2ff616bc1428efbb0000000000000000000000000000000000000000000000000000803f00000000d0c5963c88af0abe057faa3f9d2dcbbd9c11023d955df2bd94758c3fe10e51bd39c2443d01c7f0bd63b2653f2f490dbd7bc5683d4da0d9bdde5f2a3fe1805cbc5715643d3aa0b0bd12c0d93e94cbf33b0fcc553d8b038dbd7f41463eeaccb13c2b68243da3b216bdacb7f2bc8010063d00000000000000000000000000000000000000000000000000000000000000000e609f3ca41353bd195327bd9fb41b3c19848b3c31234ebd85db07bd9203a73b6fe24e3cf40f3abd4d80e6bcaa3cb33b7790063c510922bd95dfb4bc6e3d693b99ca4c3bfd960dbdcd4986bc4ef73a3b06efebbaa762debcf47419bcc2d4633b055c62bbcaa1a3bc63901dbb97654a3b00000000000000000000000000000000000000000000803f000000000000000020c9c8bc451d8d3f49e8c4bc84e129bca75abcbbfd4e6b3f1d1d6abc1d2d1fbc93df033bfdc43e3f49304ebc7a3d0bbc01a2ce3b0186133fbea461bc44cff6bb5a74ef3b8c18d43e74e98ebcb94abcbb7564833b3235833e8426afbcde910cbb68f4fe3abe61d13d43a8efbcb21ea6b9000000000000000000000000000000005dc2943cb6ee80bc6f641bbd2a17133b1623b23c4b1b4abd3d1e4fbdd2c9093c4198b83caee867bd35ca42bd1e01b13b037ca03c12f44fbdc8642ebd67b5803b7b036c3c87852cbd579b06bd929c2f3b8631113c338b1dbd99a8d3bcdf9a623b3e07703bae98f3bc512181bc0377393b9f86963ace0a96bce467e8bb3a96933bc1318c38f64d7cbbb06cc3b9e1d40e3bb36579bdc5688d3f9468e23df009d6bce3fc76bdbfd6853fe0a1c53dbe78dfbc995d0bbd46b0623f9992b33db00bcabcaddb80bc1e9c373fb718913d6d91b2bc7857b2bb6ae00b3fe762513d352c96bc97eed1baa7f7c93e006de73c0c7e79bc1ec6adb8f9d1773e9384663b243c4dbccc5864bb6b91c93d84f28cbcc739a9bb7f0a81ba2d0b99bc0bf5f7bcc4d834bb04c5853c5bea9cb90b0603bdbab798bb2eadb63c42cfb5bc224450bd251031bb303bb63cc695ebbcd9553abd84700ebbd2ecbb3c078e0dbdabfe3ebdd8e14fbaf0448b3c2c4be2bc60460cbd9d5f03bb4d844b3cc5d2eabc5edffcbca15b873a5fafe83bcaaaa9bcdfd1a6bc5d9b073b2753953b4cbc62bc4db545bca1c9763bde483f3bde4902bbf0124ebbdded253b57db80bd55006d3f1cef863eaa1d16bd2eaf8dbd0fb2643ff802773e9bfb37bd48ac1dbda3b33c3fd785583e27a115bd44beecbc29e7203f695c2f3ef12110bd6f9275bc03cdf33e227e043e5a8bdfbcbfea38bc1a6eb43e77dbb03dc0abdcbcd27df0bbd92e643ef032403dccadb2bc6792a5bb0341ce3d3918fc3a96d689bc5f4719bb7f1b6fbb4159c1bc7ac428bc6eda573c6647f83b2b15e1bc426e40bc1fc5aa3c8d420ebc5a3d41bd182532bca4d0bd3cb7fea7bc0f7955bd679803bca73da93cff48c8bcc66c41bd80f99ebbb98c8f3c540abdbcd7b428bd03e592bb2530533c3505b5bc5a120bbd5ae4aebade2a223cfaa898bc8c0ec1bcc6e20f3a3b2bb03b185c39bcf9156fbc731e463b4fba7f3bda2b36bb4df1bcbbb279223bf5fd64bd35f3403f5d71d73e115d3cbd294685bdffd73a3f8962ca3ea4ad71bd52b13cbd3768223f4f2dae3e8e6f56bdf22408bd14d3053fa2c18d3e52b53fbdf8bfb0bcc89bd03eab325a3eb8d125bdb2a47cbcce18993e86fd173e9e7d15bd8baa3dbc3b42453eb5b4ac3d3b9806bda9a801bc35d3bc3d3cbbcf3c3d32debc6cf566bb96786b3b2ae7a1bc77d38abca18d103c3588233ca4fbc9bcf7bd8fbc9638833cd05236ba03ff36bdb46795bc8bc78e3c6a532bbc66ba44bd280151bcad8c993c7b208bbcf03f50bd897344bce4e9483c56a24ebc21a207bdb2df02bc8eee463c3d1e8cbc5bbf15bd73ae8abb850edf3b466068bc0a67cbbc88942bbbf843a33b402e20bc7d5490bc7130283bc5c53e3b79d739bb1285c2bbfcc08f3ad3944bbdf700173fdf9b153f309a5fbd28d162bdafea0f3f556a0c3f49d98bbd98221cbd2ce0f73ed730ef3e64445fbd8de6f7bce524d33e3696c63e6b4562bda33885bc10bc9d3eae90923edb2116bd6b2287bc9793773e0661583e495c36bdaa564dbc9fd91d3ee961003e659617bde04822bc6e6d9f3d3f1e403d8b1f0dbdbad5c5bbae90c73ba6898bbc7e34cbbc24e0843b95dc253c445cbdbcf200b4bcc42a2d3cbbb88b3a096443bd9545c7bc7c45663c863c02bcab5165bdb590a7bc0a99643c354947bcad6a59bde11e7bbc7ac7423c16ea64bca3ea3fbd68e536bc2ce41c3c93dd75bc5f3120bdbb77c5bb45b8ae3bc5047dbc4c81fabcf08741bacb06503bf61b3cbc871394bc750c2b3b2160bb3a8aa48cbb5154e4bb7e12393b9ee72fbd0d22da3e42923f3f82a27cbdfe114bbd2685d13e0914373fe89da2bd220417bdc243b93e7c0e1d3f00238dbd1bfbe4bc4bcc9b3e88a0ff3e0fbe75bda0b2aebc47d2783e190bc53ef1855bbdd4ef8cbcedb93a3e3d128b3e606c4cbdd3c97abc8b4df53d73b8283e24533ebd6e7e4dbc0b02773d3848833de70f31bdf9c402bcd718c03bd54485bc7fc6ebbc7b68df38305fcc3b4975dbbcd710cebc1993903bf1b92139678160bd4391eabcf0fd113cf2cfbdbbc3ca61bd24a0adbc7ccb183c594520bc887671bd6217a5bc8d40d23b51b13bbc7f7f40bdc42d6cbc52aebb3b4c3b6dbc134732bd9b370bbc9ade3f3b8d305abc8c02fabcd32d2cbbde80d13a82a334bce9ca9fbcdf5f7a3b55198bbab778cdbb692f95bbd4e9673b97e60ebdcb39893e98b66b3f95bd8cbdd0511bbde87d833edfcf613fcba5aebd6ae1d9bc07d76c3e1aed383fd21b80bd1fe6babc08e34a3e408b1c3f0cd87cbde3157fbc6c841f3e87bdea3e4c5f47bd538b84bc5e9ff83d07c5a93edfa757bda01b58bc6f56a33d3cd84f3e7b1c3abd78cf41bce5f1213d50ed9f3d967743bd1d9b20bc7d1f373bcc57aabcb1e506bd355343bb72b5e83a658912bdcf2ce5bcb0853f3b5bca75bb18c28dbd6c49f1bc4107ca3ba3a7b5bb9de192bd998de1bc4e7fcd3b473804bc11d985bd44e5bebc2968ad3b5ed020bccb9d5bbd840c8abcaea3493b5a6c54bca1ba42bd3ba22dbcb2369b3a437750bc440f16bd596523bb9e170bbbbce25cbc8f1ba5bc3290d23b05fd84bbd0481abc8ef8f2bbc2dacc3b0883c2bc3d57e83df3838c3faef58abd2f6ac7bc0864e33d1ef3843f771aa1bda6a087bc5057de3d4b865f3faf6877bd39d060bc5fdbc63d253e343fc74850bdf9a13abc036ea53d3bb0083f050535bde2203cbca245803dd593c33e7fa63bbd8dd82fbc6fb82a3d188a6b3ececd46bda0e739bcc885883ce54eaf3dc5e33dbd1c8f2cbc163dbebac437f3bcf9881ebd00000000000000000000000000000000b10d093aecdb4abbb4de73bdf85ddfbc4b3a553bb7a655bb44f969bd4ecdbdbc15d0843b5f7a8cbb51b94ebd9a62a5bc5518663bb5eed2bb799131bde9c57bbc2a12fd3a6e4315bcbc711bbdb3a329bcc6c18138390541bc7812f8bc0bc098bb6f576fbb6b8047bc7cdea2bcd9ecc43a0000000000000000000000000000000000000000000000000000803f0000000058ca02bc8cd639bc89ba8c3fed6d2ebd1a7bb0bb7fb8b0396ccd693f6901f5bc2fc88abb2dd1d83b15693d3fc93ecbbc80ea74bbc5f5d63bb142123fa7e1c3bc21669abb1d03d23b81d0d13ed69adabceb00d5bb6e0e3d3b594c813e3337f8bc80bfe7bbc64b0ebba3cfcb3dde4014bd0000000000000000000000000000000000000000000000000000000000000000fcf5bd3c860a6ebb88e218bdc19c01bad132943cf22545bcd90104bd995e1dba0e847e3c986a6ebc3bd5e5bc03c124ba086b3c3ca0be86bcb31dc1bc6a8b143a30d0ee3b4f1c98bce18ca0bcc8fb713bbe2fa43b697499bccdf676bc0dacbf3b548b9a3a54fa87bcb2852abc699e203c00000000000000000000000000000000000000000000803f00000000000000008b9a063ced3b7e3f668022bcdd09acbc45a65b3c0bab573fe94122bc7f519abc571d8c3c94ed313f886e34bcb7d490bce0e08d3c06910c3f7e706cbc834485bc73508f3cefced03e87c799bcf86f66bccdd7783c8739883ec4bbc4bcb2d538bcc1cb563c90b8003e2118f6bc81bdf3bb000000000000000000000000000000000ca7b63c4ec28b3c583410bdd0a31cbc79a9de3c4c73ba3b37f239bd1b3ff6bb98c0d23ca0cfa1bbcd9931bde4bdefbb9b38b83c10d338bc190624bd62a0c1bbfc6a8e3cecbe5bbcf34a05bd761975bba0ad633c755a8dbc4b1af4bc2136a038c95f0f3c9e5291bc3f8ebebcadc79d3b5d79d03b350c82bc8d2f87bc11301a3c6fdb783b856711bc57e128bcfcfd0c3c8c1654bcc0617e3ffe9c003eb3beddbc21cab7bbd8f7683fb5fedf3dd20206bd76dbd63b5dbe473f7203bb3d9d92fcbc637d543ccc45253fdd9c913d64d7f1bc3bf77d3c3c8a013f7e054e3d0de1cfbcb6e3893cf89cc23ed85fd83cb7bbcabc4b29813ca77e7f3eb890683be8e5a6bcf2336b3c0281f73d6e549dbcb31c7dbcda433d3c81d5383be2b2f9bca61b21bcb41c963c5beabb3cda35e9bc25b09fbc3191cf3c5a239c3c02d229bdb281b1bc135fb93c8acdbd3b6cda14bdf79799bcc64dbf3c41045e39665a27bdee8288bc37bda03cd7bd5fbbffd00bbd5b5441bce089893c58dc17bcfe8509bd6578cebb3573383c2c761bbcd2f4cdbcc1c1c7bace15353c5c9524bcb08dbfbc6028ae3bbcd7d23b9139b3bb579155bc9f66923b8123aabc70bd583f32bc883e13a6f7bc7d7590bce22b493ff8a4743e8e7a28bd9cd4b1bbbb87293f8eee4e3ea3ea0cbd017e2e3b720f113fdf89283e490915bdf415dd3be6c7e23e5df7fd3df4c500bdb0292f3c7a35ad3e912da83dca6705bd1d612a3c6c04643e45bb363dddb6e7bcd0d7483c045ff23d8eaf383a165fcabc3c80263c05f3353c013ac8bc2ed683bcbe94763c7c06cd3c46f3babc5e13f1bcc38fb83c7f35c23c82e916bdf5c010bd893cc13c7f13723c0c9d29bd5601f5bcdb68b83c3bc7c93bc95325bd27b8d3bc8d5c9c3c415f773af7bd14bdf275a2bce7f68a3c91c668bbb0aa10bd244e66bc811b803c098bb2bb387cfebc65fffcbb1077223cfa03dbbb1618cabcfab252ba5079f33b88c570bbaaf87fbc2d24543a1deabdbc2289333f3272d13e563a04bdb489b9bce425273f3a7dbe3e7f6633bd49493bbc45ce113f1dbfa23ed54f31bd218673bb8317f43ea264843e580a29bdf4f8f43a5780c23ef7874b3e328c1bbd5b24b43b678f943e8c5c0f3edfcd1dbdc819f23b9061493eb347a63dc1a114bd9dd90e3c11cad73d9d6ec93c6b3a03bd2fa7103cb933833cf208a5bcf257b2bc6efc393c6f96c83c6b6a90bc8a1017bd5583963cf126d03ca5baf4bc76743bbdfdb1933cfde9803cd8f805bd895f19bd96b5a33c7b422f3c67151cbda2aa10bde0946c3c2487923b604ee9bcfc9cbabc0c2c823cb13ad239685d11bd4acfacbc9e10383c909c5cbb844ee6bc0fad3cbca842273cac95a5bb2bb2d6bcc246abbb0ff4e23b29f222bbf04288bc5102ddbaab25c4bc0bba0e3f862c0d3fe1ab00bd7896cebc5cbf043fa7b5003fa0d531bd55596abc710be53e800eda3ecfc220bd4e2301bc154fc53e8047b53ee79e32bd3a29aabaf21f983ed1bd893ed13005bdbcf7653a6537743e65104b3ef88c2ebda570493bcf9c233ecf4ffa3df25216bd9547bd3ba13aba3d972b3d3d71bc19bde9acbb3b3e548b3c3a7681bc2e3ee5bcca08e83bc69ebe3c740147bcbc6237bd3248523cd0a6c63c680dccbc577761bd93328d3cad748f3cff160cbd46f34dbdd5fa833c394f493c95ad12bd52192cbdf1316a3c1c9bd93bc4750fbdd85b07bd6cc2503cb6387d3b8cf110bdbd64d1bc1009213c9d7800bb5eb205bd40f988bcfefff43b725384bba6d9e0bc4f27f8bba0d8a43bbbf33fbb7ea88fbc3caa50bb7a16cbbc18a3d43e8a44323f81d403bd49f0d8bc71eac63e2fc3233f6bf530bdf7c48fbcbe7faf3ec4660c3f7b8235bdefa33bbc77e0953e2b9ae63ec0b431bd0df8bebb7e57723e441fb33e77ad23bdb8ff54bb1fd53c3ee5ae823efd9637bd70ffcdba5a80033ef0a8233e71df37bd183da43a0471963d33f2893df39730bd381f313b6ddb873cc02057bcc2ccf7bc9b175a3bae3ea13ce61dd8bbc9264ebd68e3083cc2b7b63caf06bfbce4407dbd5e762d3cfad1823c66efd8bcbdba4bbdd835493c5f4c523c220e0cbdb1bf44bde3411c3c30cc0b3cd9c3ffbcace713bd3b75123cf261303be26b10bd91dfeebc150bd03bd156bfb94ed9e8bcde3790bcc65b533b3f25b1bb458ee9bce599f5bbc921123b710b85bbc19890bc02ef45bb996cc3bc50c28b3e3a87573fa695f7bcf890d0bcafce833e2641463fd4f029bd3cdf81bc7fb8683ededa253fb4be0bbd839c50bc676b4c3ec2650b3f6ea825bd1de20bbc25c9243ed6ded73e86a418bd4019ebbbe87b033e2023a03ea23f37bdefb085bbe3ffb53daa7a4a3eddef24bd184014bb311c5e3d7219b03de07140bd379b82ba12d25d3ca79f45bc70420bbd180b8a37fe24863c443ca4bbd8f267bdc3487d3b1352883cde2aa3bc379e85bd7329f73b22827a3c47b4edbc64dd73bd06060b3c98f5473cd58804bd4c274fbd7220013ca497093cd68803bdd6201fbd4c8dd13b3e72553b097c0bbd78daffbc14c9583b59b9efbae5aa04bd1115a4bcc95c91395c7fbfbbc190e3bcbb2704bcd29862ba619fb6bbfbeb97bcc4733abb775aafbc0237073e038e7d3f587bbdbc3bf1afbcb74b043e1119673f2dd9f3bc658d79bceaaef53d7649453f031cfbbcb10040bc748ddb3d01e7213f9e8dffbc876609bc97e3b63db050fc3e7fbb07bd6b8afabbc6a4953dac6cba3e3a0f21bd6bf5ebbb570c563d5f9b6d3e049832bdca18e2bb6f4efb3c5e66d33d8b293fbd3a2194bbc7bc1e3c4e0e58bc7bc61bbd000000000000000000000000000000006072223b76f5563c1cb668bce96a5ebd215d6d3bcffb433c2648a4bc63de38bdc501973bc815113cff6bbfbca26022bd4cbd9e3b1384db3bfa87c0bce232febc4a7a683b19f5453bf139cbbcbb0ccbbce139d2391d52f4baab62c0bc7e8a80bca89de1ba98c6a7bbd18bbbbce51105bc0000000000000000000000000000000000000000000000000000803f000000003b936abcfee0b93ba2187d3fecbe4bbc530718bca670393cec67563fe95554bcb381dabb798c843c8802313f1b3b89bc205ac2bbeb50843c585c0b3f2bb09ebcda5ab7bbc3907d3ccfe9cd3ebd77cabc59ed89bb9254443c6fbf853e462debbcc572d0bb6973143c446cf43d3e1715bd00000000000000000000000000000000000000000000000000000000000000000341a03b64ed2e3bb5bcd0bb3b51eebb91112b3b5cb8023b5ac2b5bbeb56fdbb4614853bb16b293a71a8c2bba491c1bb80bc653b8cf8fa36f94dbbbb3aa7a3bb0dd9533b0c771cbaac10d0bbb8cd99bbbfc7383b85b584ba913bc1bb975046bb40da473b05f62ebabf7d98bbfc8f92bb00000000000000000000000000000000000000000000803f000000000000000026e45f3b7fba633f0a11173af854aebbf8f5993b7841433f0619083aaf1cd9bbc5c2923b5bbb223fd5764cbaafc5adbbd090933b2831023f0fccd9ba7278aabb89a9a83b0910c43ec1f633bb25e7bfbbc4e5a43bce02833e95b481bb0cf5b2bbed6bb83b2fd7043e64be91bbeeb2ccbb00000000000000000000000000000000d7ea9b3b8b10a43b9484babb2ecc12bc283bd13be236ab3b165701bcc7903bbcbc12cf3b755c6d3b90aa06bc01393bbcc717c23beda41a3b1fa208bce49427bc6356963b054b353a4858d3bbc557f1bb9683a23be949383a7fa205bcf06103bcafb08e3b59971c38a86fffbb0c7bc7bb1c167f3b3795d0b90996f1bb94eb89bb7f452b3bc47205ba41ceb1bbc23721bb3d87a83a49c5633f3c73023ed21fb8bb1718493b5ada483f8f63e53d51b0f5bb2319923bfa7e2c3fc654c33d7b0d01bc9bb4a83b54fc0f3f2fefa03d56fd01bc4aa1e13be8f9e53e20fd783d0955d2bb7bc3c33b8fd9ad3e8046363d1d1907bcd9f3c73b2a3b693ebfd1df3c620500bc118ecb3beccdee3dcd67243c87a8f8bbd56b953b5c038f3b1c0fa2bba89db8bbf2a2883ba3c3b63bea1497bbaf4822bc4593ce3b9b4ee43b8947eebb03ff72bc6adcda3bf234a13bf155e3bba4744fbc38f6d03bed53893b688f0dbc0ebf5dbc2966a63b46452e3b50c7e5bb09d420bc7c3fbc3bcbe11a3bb58110bcad0b32bc4cb9943b97a3953a9cc5edbbd6b2f4bb788c953bccee6f3a53b301bc5b8be1bb9025413b331cd639c99bacbb5a377cbb4c2a4837db3c433f3013823e71bcb3bbc311b03a6cb72c3ff5b6653ec8fd06bcb1a98d3be714143fcde9433ede7ef6bbb5b1823b107bf83e9ac9223e768415bc61af703bb91fc63ee7ea003efd6ff6bb8ec0a93b5e94963eb4c0be3dea1f1cbc493da33bd195493e1c7a763da14805bc6836b83b156ad23d5b37de3cdfa911bcae32863b5853b13bb07565bbf238c3bb0cd9713b94ebce3b904168bbcdc53cbc7490b93ba7e2013c9b78c7bb40af8abc52d3c63b39efd13b8543e9bb325986bc0de0c73bb013b13ba27af5bbdb1877bc771bb03bc7df743ba7fde9bb0bf74abc898bb63babaa533b7b8e04bcbe444bbcc5adad3b6d93373b07f2ebbb522744bc5b319a3b9b63c93aa4cbfbbb38cd12bc3f3a513bbb35643a5091b2bb4213babb51bd86badbe6223fab5ec33efb96acbb46297bb88021103fe46fac3e9b7b04bcf091e23a5c5ff83e5c93933e16ea0cbcfb64263be6f2cf3e4e7d753ed6eb10bc700d4e3bc588a63e4502433e13ee07bc9b81823bf3ee7c3eb370113e39ac1bbc0ed5913b5e6c2b3e54d7bf3d1e322fbc83b2a33b3c8fb33dd780363df6c418bc0c517d3b7abfce3b71322bbbe591ddbb676a5a3beba5de3b385170bb388064bc29029e3bae64fe3be98b92bbb3e28ebc5464a03b2b3cc63b7216b2bbbe9780bc3ae5b33bcc0ebc3b96eed9bbc78485bc8f71893bfb706c3b7303afbb156a3abc99bdaf3b40bf7c3b7cbcf5bbde2d65bc2e2f943b68543e3bf5cad9bbda8932bc6c0e963bf773113bc6c2edbbb84a25bc1907703b0c63be3a82eca8bb1df7d5bb1e44b8baf27a023f2a5b023f4a8dc5bb9efe5eba05fce63e329be53ea778e8bb481f393add87c63e1547c43ea41fedbb5dd6e23ad71ca73e54d7a33ecea609bc258df13a93fa843e7505823ec534d8bb9d5d4c3be36a4c3e185c433e324518bc75aa563b29190a3ee315013ea6a40abcd869853ba354933d377b7c3dcd471abc27d8783b0bcedc3be99ba2ba2f9bdbbb05d2363b35ead53b6f1dadba1f546bbc15548c3b8a8a043ca7535abbf35f9dbcf200a43bc129eb3b3865a2bb335697bc99eda33be897cf3bfb43bfbbc1e290bc34599a3b2c1da03b1b48c2bb3eb575bc513da83bbcd68e3bc7dcecbb64037abc48739e3be735703b50e0ecbb9efe57bc469e933b43441e3b8c33e9bb0d332fbcec064b3b2d80cd3ab08aa9bb3d7feabba12306bbac16c43e26d0223fe21b8dbb4a31d9ba4b0dae3ea3990f3f0dafd6bb8d908539277b963ead1ef63ef3c3f1bbc8f34e3a7eee7c3e6126cd3e93a804bc1719ba3a70484b3e3070a33e9cdc01bc47ae1b3b46f41b3e6b13753ef0f11bbcfde2363b0a29d63d79b5223e6cab1fbc1823623b8245673dd686a03d419f1dbc7e60293bccb4d23b282832ba9503ecbb212eff3a8b22c13bb30628bad9b065bcdaff633b0d1f033c3b5b22bb28cea6bc21d56e3b80ced83bc3bf63bbb0d690bc2161963b8089dc3bfa75a6bb8dde99bc82fb6f3b581b963b61849dbb858462bc26df973b3c53a23be1e9d2bb873e80bc24ba8b3b7f48193b3b65d7bb71964dbcc7b4823bc3e4453b5b04d8bb219b43bc666f2e3bf9e2dc3a3dde8fbb0c34edbbc5461cbb4bfd823e4e3c433f967765bbd31614bb84036a3e5a672c3f2cb4b7bb73848abac588493e5066133f146cb2bbfffa7fb99d832b3e7965f63e6c56edbb446a1f3a7a23093e86dcc33eb7a1d6bb0b4c9e3a46e7d53daa7e933e078d0fbc03f9e33aaa75923dd87e423ea3bc16bc75ff113bde23253d8d86c33d2bbf1fbc2617dc3abb24be3b69480639b992ddbb404fa83ae73bb83b45a7043a57cd69bc77ce283b5da2f53bac665ebae666a0bcbe3d473be906e23bc3a333bbad699cbcf2ca693b2954cf3bdd7184bbcae495bcc75a303b93279a3b05fe90bba55b73bc323e6c3bcf699d3b2980b2bbde6c78bc5ed2633b8fa5803bb846b9bb173b5ebc7c75483bed893c3bbb45bcbb91b63fbc4213153b154de13a448b8abb076bfdbb0fe43bbb6f29043eb5db633f975e02bb98c02ebbae4bee3d85e1483f819fabbb1032cfba5a3dd03d881c2c3fe54690bb35f936ba0822b23df9760f3f879eb4bb5aa087ba3b988f3d96b8e43eeab0bebb3e76cd39e9c9633ddadfab3e0777f4bb9f6e413ad903223d0205653e1fbf06bc8318803acc76bd3c5227e53dbf6f12bce56c863a5c75b03b91c2253a73b8e4bb000000000000000000000000000000006a73083b0250c23b3de1acbafce282bc3647fd3a06caa83b1a45d0bae6bb6bbc1c651b3b8075a43b820428bbfd4565bc6bf6093b08e37e3b5fcf38bb50e634bcb07d123bf2da5d3b7a3262bb827d2bbc403c2c3b58c0303bcd32b4bb96933bbcfd0dfe3afb810f3be3a384bbfd9f0bbc0000000000000000000000000000000000000000000000000000803f000000006cbecaba74f7903b1313643f07301ebb7ca9c5ba62aa9f3b3366433f37ce0abb50166dba4994be3b38e0223f458349bb4e8b0cba810bad3b22f6013fd0e067bb716464b9e126b13be1f3c23ec44495bb8a840d3a028af33b2424833ef958a7bbee0a8239cb01a73bed35023e8b44ccbb00000000000000000000000000000000000000000000000000000000000000009d6f973b88bd11be95b97abce4175a3c08ff3bbb4a9c09be1ffaaabcd6b3763cd02d9abbf329eabd4384cbbcfb1e443ccf40e0bbfefabcbd8555abbc237e103c303903bc04ca8fbda3925dbcd78ecf3b6700c9bb72fc3abd2da298bb3470703b6c102abb155b99bc9ec63b3b2b042eba00000000000000000000000000000000000000000000803f00000000000000009fd5a0bd88bda23f7f53a6bd4a660b3ce4c121bdc0e4863f85c853bdcb91af3ba2c862bc1d8d593fdf3707bdbcc9c93ac79d513a30c9233f434ed0bcfc87b83a720c003c4337df3e2339b4bcf0aa553bfa04fc3b828e733ea07aa2bcaa84993b7733bb3b1219493d6eb098bc3fadee3b00000000000000000000000000000000304b783bb39099bd0f997abcbb2ff53bf0a3503bb5ac12bec4e145bc0a82593cb98eb73a351a16beecbfe9bc1e94873c2d15adba5eca02be99d808bdb49a803cb86c2abbb78fcfbd3031f6bc1cbd433c78b4fdbacd919ebd00d3a5bc00291c3c8576d73a9dc045bd99ea10bc68e99e3b6901003c516d87bc5401e63af6f6b23ac085a43b7700823bff7fc13bd1f3d638dde216bed2dca23f25b95b3d7cef93bc5a1c14be18ef9b3f39c7103d03b150bcf3bdcdbdbe8f873f7254443d272f7abcd9ca82bdab2d5a3fc331403db50675bcfff411bd8906233f14b4233dd0493fbcadfdafbc9763dd3e938bc53c122412bca89a5abc48916d3e1228103c70e990bb73ffd4bbd7273b3d96f098ba193998392139babb0eb490bd1783abbc4377683b2bc600bbf7e917bda25fadbcf769863b9afbfa3af062c7bd5edf20bd2060583c47a5983b334ecdbd753b4abd9b3c623cc51b2e3b32d5d1bdf7e84ebd8898643cef3d173b13b89fbdb62327bd2137193cfdf25e3b9c8e85bdbbbeffbca30d263ca6f3433b672a2fbde1af94bc6c36ec3b8e13ce3bb5b9a2bcd946a6bb741bdc3bbe09cd3b3f28df37c6958b3bc61e653b282111be5ba0873f94667a3e2f6342bdfe821ebe2f05883f371a633ec75450bdf262d9bd54bf663f71a2503e4c1e31bda50bacbd18e4423fe6c52c3e6a5f18bd32675abdca12113fc172043eabebf2bc53c42abd8681cc3eb804b23da93ccbbc70bcccbc095c6b3ec1e53b3d8ef589bc789e95bc95cb933dcbd2dd3b7c9110bc8c9e3dbcd23804bde041c0bca6631bbbd73db7bb346952bc207dffbc8fbba4ba69bbcdba12517fbd6e056ebdb7bc393cbae6583bea1aaabd0edc89bde3b2533c5ca37b3b4928a1bd196e84bd8eac3e3c73b1563bbbb08abd1d8164bde255163c527d643bc21865bdb4d228bd541e2c3c1248ae3b4b6b23bdf22dd0bc2499323cffdad83bbc6fa7bc75aa05bc2b4d1c3ce612a63b66ee54bb740a0b3b9118e23bd685fabd021f5c3f4c7de43e7f709cbd2c8c0bbe7b5b5c3f2d5dd93e32f3abbd2383e2bd2745443f27b2bf3e9f7496bd70c5a9bd55ee213fb31d9c3ea6eb75bd3f8a7abdba4dfc3ebb756f3e38bd51bd7dbe3bbd5ea8b23ec82b233e0e3221bdd5060bbd6f85553e1d83ab3d2a81f0bc59e9c3bcb8dca63d9c359d3cf20e8dbc0a097dbcd89411bcfc43e0bcb13e4cbcaa7e00bc7d0f2a3bbffa17bdbd2baebb5b8b1fbb9a3e17bd448597bddaf4093c1a69263b2cf457bdd8fba4bd23e9fd3b1500453bf4666dbd324ca4bd450af73bc87a443bf5c324bd32ff64bdbb4d613a43146c3bb9663abdd9bb51bd41d71c3ca548743b78ec01bd570af0bcde0e1b3cd843b63bbd519ebc7df438bcb51b483cfdf0973b098eb2bb1a7c523ad657423c3a7dcdbdf404273ff364263f427fcdbd5928e1bdac07263f9588213f5cbbe7bdd791aebd708a133fa7b90a3f9274bdbd40cf94bd9013fe3e7680e53e83fea5bdf6602fbd4515bc3e67dba43efd0a5ebd05f336bd1caa933e5b036c3eb2935cbd6991ffbc0c28333e20b5fd3decec18bdc811c6bcc0bda13da652013d7a5bcdbcf39692bc776b3b3bab0903bd72039abca91107bca3b5cf3b6b9242bde03357bbfd9d41bab806d0bc225dc1bd20e6393c3943483b162a23bd497edbbd28ba413ca34f9f3b31c23abdb3b0c4bddf8b013cccda683bf57630bd9607a4bd2ea3f03b3ef9903b57e51dbd116670bd779d323cc169c03b7f01f6bcf95d18bd464b5c3c2914ac3bce948abc5c6458bc1920803cac535b3b618db9bb94962c3b72df3d3c4a2d9cbdff3fe53e1b875b3f8fecfbbd8256abbddc76e23e7ab6583f727c12bed3b492bdc689d13e431b3c3fcb25f6bdb51576bddc2db53e41a7173f5c23c7bd374d47bd24ea943e309ee33e08fe9ebdf67721bdb4435d3e2801993e94c976bd79e802bdfb390f3ec56a253ec4e535bd6603bbbc9e9e853dcf44213d7859dcbc45cf81bc671c003ca6dd24bd85fba4bc1cb498bbe5ddbc3b118b85bd4b8dd03b83d3e33aa51d83bcd6a3fbbdf058b03ca173673bf57fdcbcc09ff6bddfa82b3cb1a4803b85d90dbdc843edbd9f7a293c9b63533b0942febc340bb3bdda89b33b71369b3b24e2f5bc50538ebdf15f3a3cf202993bd9a4c5bc27d624bd534a493c312fc33b04136abc6dfa50bc3d77743cd3d2723b236b84bb7a2bb53b56fe5d3c96084abd3f677c3ed297873f9a7b12be4b2756bd07d1753edb80863f6fdf26be763d37bd04d7713ed4a1613f3f39fbbd775428bd6f1e5c3edbb73a3f9302d5bd8c6406bdb097373e0ba4083f85709cbd0a63fcbc1238113ea78db93e810880bdc011bfbc0fb6bf3dac00473e51792bbdf81c84bc5f833c3dfe6e1e3daba1a1bc01a735bc2e5a9a3bd0536ebdba5553bc977fbeba0165203bf78bbfbd0c3f603cb2f1043c951922bc29ae20bea4560b3de327d13b2924a6bcc82b21befab9963c5233cd3b1eb8d2bc20030cbe0b49113ce3c47d3bbfc7d6bc3a25d9bd1c5da63b8f68af3b727ebabc4d03a1bdb837093c8421a93b8bb78dbc74f143bdd958303ced5ce53b378ed2bba1e936bce9da313cef8e373b243c1cbb519a123c8e2c4b3ce694a4bcbc8e603d92d9a23faee618be96c28cbcacf94f3d01939b3f0edc20becc8aa8bcfd2e9e3d8595853f6074f5bd69c0a9bcd787b23d3322563fe0abbbbd03a89dbc0b1aab3d8f6d1e3fabbc89bdd3be90bcdf81913d1f65d23e17f64dbd4d4f69bc31c6413de550593eaa2bf7bcc12ca8bbbcc2af3c299eef3c0f0f52bb8e23d5bbc2f33abbcfe2adbdefb914bc00000000000000000000000000000000d5e6d63b6ed92abc099715be3537593c512bee3b90dd7cbc07fb0abe584c823b96a9a13b776d8dbcef97e9bd2eb8a4bb8edf6e3bdde699bc0af1bcbd402fcbbb91ac763b1ccc8dbc5dc38dbdb93e17bb28df7a3b930d4fbc99552fbd18c7173b41ab0d3b77e0ebbbae1279bc84fbaf3b0000000000000000000000000000000000000000000000000000803f000000001dfb633bb35e8dbdc7eba23f1f58c2bd1559123a96abf1bc29f9863f237681bd01ffa4bbe574b2bb87f4583f9c2a39bdf07994bb6d4c033c025a233ffe2208bd4a9fa2bbbe161b3c7701de3ed2d0d1bc79962ebbcd7cc33b6dab713e485c75bcfe52e4ba9faf9abaeb923e3d00a915bc00000000000000000000000000000000000000000000000000000000000000001d2a97bb657ec9bd8f23ecbc2437903c2fc2ddbbcc0cd0bd8ed6dcbc8244983c5adfbfbb293dbbbddbd7e8bcd40d8d3ca635ebbb574fa4bd3aabcdbc31ee893ce5b916bc28d78cbd245f79bc7b84483c0fdf0abc8b354fbd9eea94bb0cacdf3bde40babb8f3bf0bc18a4c13b315ff13a00000000000000000000000000000000000000000000803f000000000000000037771fbdbebc983f21e962bd160395bab2920ebc77977f3f5c7d2abdd914f0ba5e17143c5c9d503fae870dbdd6a390bb1503803ce011213f0d0706bd0975b9bb5950843c5b50e53e12dc0dbd92855938b7100d3c7f01883ebdcd0dbd2419993bac4761391621b53d02101cbde69f1c3c00000000000000000000000000000000f855cfbb1a8007bdaa5212bd538f5e3ce87d58bc2ccac1bd977c10bd6f24a83c739b02bc38bcd4bdb8d62fbd2d24bd3c2d43c0bb1d92cabdf02a2bbd1f6bbf3cf9e3afbba9dfaebd9e3215bd3d2aac3ccaa8b7bb746694bdb63cccbce1678e3c1d8756bb89de5abdefe32ebc7eba393c3b0f853a7ed2d2bc1e68313bb87c0b3b9403263ba01690bbc2dce33bbaba743b9219d5bd6009993f2b7cb33df5e8e6bc8b42cdbd1675923f8a24883dd1a1b1bc673a6fbdbfaa7d3f0bbd783d27dab6bced6904bd06a34f3fe6c3423d4b3aa6bc66666cbca8c81f3fa5f6003de6db96bc78fa3cbc210de43e9e23163c44903dbcf5f251bc975b883ebc2646bc6d00adbb833e91bcaf2ebe3d5944c2bc77aea13b0c346ebc773e05bd9e2e21bd5ea5bd3b773331bc7e57c9baad8920bd77931e3c54d917bc08a34bbd48b575bd0547bf3ca08fdcb91ee56ebdd1da76bd6e79a43ccf4913bb15f393bddf2c7bbd0701d23cf4e597b97bb97abdd2404fbd485c9f3c00e409ba7e7a75bdf56722bde697b13cd7f5af395db72abde7e9d3bca30f8a3c6386f93a0d7bd8bc4ad201bcfede553cbb866a3b5f6cfabb98ef0d3b92690b3cd3ade0bdbe97803f149e873e7b1e5cbdb931eebd890a7f3f57dc723ed9db6fbd6ac08ebd2a60573f004e523e052a4fbda87a74bd110d3b3f1a73253ed5053abd67e910bd0c830f3fb904ef3db35e13bd663306bdc02bd63edd6c903dc98cf4bcb21fb9bc3b6f843e51a3fa3cd930b2bcdaabd5bcb8fae83dcbb06dbcca6df4bb042596bcbc6f0bba03e419bd04c75ebb44d829bc3262913cf72c3cbdb0e5423bb5bd24bc0fdeafbcdca195bdd62cad3cc84443bb51993cbd4a96a4bd699dc53c971daab8c68059bdd0ff99bd42b9c83cdb7ab93a54fa4fbd5bd888bdc3d1bf3cc686eb3810c146bd54064ebda091bb3c50af983a54f425bdfebd0ebd6297b53c15a5df3a6524dbbcd3ea7fbccd09a23c6b2a703bb2b418bc0ace82bbcbe8673c9098cebdcab8523ff1c0e43e28cb9abda35fe3bdc00e523f3434d63ea076b2bdf550b1bd34d43b3f7fadb73ee7f09fbd622685bd29611e3f5230933eb5d489bd64d44abd386cfc3e43675c3e151770bd9f6d24bd1304bc3ef13f0e3ed4f63bbd60a40abdf346763eba248c3d89d50bbd91c7f2bc51d9f03d0a5ba73bcf4ba5bceb5395bcd251963cd7e020bdb9a04bbce1ff46bc38f8cf3c5d0549bd2630ddbafbeb0ebc303a9bbbe2c8a6bdb3727a3c25b015bbf223c9bc2672adbd6aae813c9dd614baf98413bd2bdab7bd0d8fa63cf024413b0fcce1bc125887bdf4ec0b3ca959253aaaa723bd37ce81bdd2eacc3c1f1b2d3a6c5c05bd6ca128bd70e0af3c9465103bcc72ccbc52f3b1bc2691bb3c400de63a611d42bc53f818bc62739e3caf2eb4bd85af233f1186213ffc7bbbbdd51dc5bd2625223fb446193f168cdbbdc71694bd18fd103f654d023fc813bdbdfab283bdcfa6fe3e224cd53e0c4badbd0b7117bd4b0cc23edf389b3e872981bd5d9b2abd7bad9e3e3ed1583e527d7bbd3a3a11bda882513ea07be83d4ff13cbd515900bd0cebe13df447c63cb5dbfbbc9ecb9bbcaf8ad13c90641cbd4689b0bcfdb44ebce361bf3c470054bd17df47bb4a1b0ebc33b325bbc17dbfbdbd22903ce00933bbff00afbcab88d6bd80c3963c71607ebaeacef0bc45b4cbbd5344a23c5201c8b92f8402bd21f0b3bdedd4a43c477d1eba849a0abd374392bd9a68cb3c2f418eb94942fcbcaa8445bd18eacf3c8318ddb95bf9c4bc16e9cbbcc401da3c22b51e3b09bd45bc579307bc1877a13c0ca398bd6d55e93e2fe0503f8a0dd9bdf6c6a5bd82bce83e00b6493f427e01be24938bbdebe6d73e79f52d3fab49e4bd7c6270bdaf39be3e2d850c3f6ab0c4bd134047bd8e719e3ea580d43e4592aabdca0b2ebd6fc1753ed0f5903ec8648ebdd59c12bda60a2a3e803d1f3e5bd85ebdc03ff0bcf8f3b73ded63253da92c11bd728b9fbc54e2ce3c141b25bd4804cebc860838bcdb46683c884674bd065f8b3b1ac4adbbeb03b2bb438cdfbd52c7ac3cefb9a5badab85abc5f96d5bd8e10133c47b3e2ba516fbdbc12ade5bd9dd4923cfe602fbac020c3bcfe1cb8bd0e7c573c707fa6ba1689f1bc06009fbdfeabb63c9b95b3ba355fc4bc493656bde8afa43c902af23999d69fbcc234cebcf048cb3cf24d5139e2372abccbcd97bba316aa3ce34457bd6ec48b3e640d803fafdeebbd5b486dbd8bed8b3ef75e793f594b0cbead4441bd5759863e90a84d3f6190d3bd1fad3bbd4f5b773e29192d3fdce0cdbd9bf419bd6383503ea28e003f5c93a4bd92761cbd004c2b3eab03b43eb19592bd9bece0bcd5e6e53d19434b3e44455abd1c8fcbbc3670833d86e1513d71930bbd466a87bc9b1c883c9aaa42bd5041babc9e48dcbb4f46b23a5bed94bd41d7ec3a09a8153bac2e73bc28f805be6cdaf63c0f847739afb699bc61f40abe898a963c669a62b8fb51b0bc0e46fcbdab895a3cdf100bbbb7ebb7bc2493d6bd9cc5453c3c0227bbdd4fb8bc4019b1bd22fc943c1c4353ba2137aebc810371bdbf21aa3c09dbb53a69c764bc76f3b8bc9b28ad3c16ba08bb751b17bcf0fd6abb52b5983ce8fcf6bc97a2c23db9d4983fe3c7e2bd7f45dbbc8fc4c63d9132913f7a0a03bec552dbbcca0ff03d723d783f9accd5bd5c3ce4bcaea1f23d96ff473ffceab0bdf983d3bcaf6edf3dd769173fbfe297bd6243cdbcd4aab83dc867d13eae4782bde501acbc1036803db1bc6a3e9c684cbdc8ad56bc8941ef3c3a94723d1ab9e1bc2bd945bc93ba703bf1b978bdfcd1c4bc000000000000000000000000000000003ff4fc3afffc5dbccd45e0bdf6d0943a06862e3b95bd68bc7fbddebd2963a23a19e61b3ab4c551bc83bfc9bdc57bacbbaac3623824fc67bc0c60afbd3e605ebb554118bb67d677bc8a6491bdd08eb63ae8f416bb99c767bc0a7a50bd8714093c33a156bba1e938bc08b0e7bc22a8443c0000000000000000000000000000000000000000000000000000803f00000000b53697bb5cf6fdbc5ae1983f84c592bdcf31d7bbf9f364ba7f747e3f094c61bdaa0021bc2f8a853c63324f3f209545bd47b01dbc9acabe3cad3a1f3f28ab31bd16bc3fbc4828ba3c551be13e158524bdf73a16bcb458663cb04d843e196b0abdf453f1bbcdd3e73a5772a83dd2e6f0bc0000000000000000000000000000000000000000000000000000000000000000e6553c3c6c6499bccb8d0bbd57be443cf524183c19f0debc1d3401bd5b2c453c8fa9103cfd95eebc0583f8bc9a56243cd5aca93b49d4ebbcbc85e5bcea64323cb43dd23a673cf1bca2e8c4bcab16453c697091ba8da5d6bc1b408ebc0c8c573c7ee0a7bb357eb6bcc6453cbc4be15a3c00000000000000000000000000000000000000000000803f00000000000000009d15383bc1be823f90ee6bbc67a990bc654f523cf1a25d3f51445bbcefc680bc175f9a3c96f5363f90f365bcaa1f83bcb4c99d3ca9d2103ffa7c86bc71187bbc92e1913c918ad63e41c7a3bc4fad5abc6110423c1ea08a3ead94c2bc74631abcfc36b93b6ca5023e2e26e7bc21b9c5bb00000000000000000000000000000000fe2b2b3ca13c3a3c7a9d04bd5e05053b478b1e3cbc2e21bc2da32bbd6143513cdea72e3c3cd7adbcebba31bd9873313cba892b3c8ac5e2bc855b2ebd4d83533c74fe043ceff1ddbc0d431cbd9fd7383c789f403b1f29f6bca0b90ebd38d88c3ce9cd80ba6669d8bcee97d4bc96217d3c699d2fbb72879dbceee480bc1e0e8f3c3507e53a30c41ebc194813bc5058673c469be0bce8fc823f53d8fc3d58a6eabc7ef2adbc3597723f7c3bd63d549e01bd2b163cbb40ae503f5653b53d6966f3bcc4e2c73bf0a12c3ff37e8b3d7aa7eabc1146363c86ca073fe835463d9ae8d7bcc6be373c6d8fcb3e3959cd3c756ec8bcb358cb3bd27b843e40caaa3b1e629dbc79fc8abae2e9003e24cb87bccf3b53bc5921683a9720e53bac1ff2bcee7c15bc2722c93bddc6b23cb479dabc84450fbc25cb293ce9a61e3c03aa35bdf0e1273a6a44493cff8053bbfcee24bdac1092bb8c994f3c799f4dbc101743bd2bed813b5c9f393cead450bc28c22dbd9c6d823bd974f43b5529a5bc516423bd95be2e3c1658df3b40bd89bce95df0bc9b8d263c8569473b926670bc3181c2bcdbe7903c345d363b3c98b8bb46a15abc1534583cb37511bd89645e3f90e8883e289509bd245f14bd7966513f7ecd753edcaf38bdedfe64bc6865303fa477503ee34615bdb4d017bc1acb183f1dd3273e775623bde0cfacbade28ef3ece83f93dd3960abdf7e174bab4f4b73e7218a63d88c409bdf6c40eba9d64733e1e36373d934aeebcf50892bb51fe013e40501d3b2bb1c5bcaa573abadf38873caedcc4bca0478abc861cad3b103adc3c3f88c9bcbbe19fbc162ce83b56929a3cef992abda5c341bc626b333c909eb73bd82c49bd27770abc7c4e3d3c375153bba6f448bdf6b8a7bb0901243cf7da00bc1d1f41bd6a8c0fbbd2de053c5e5e51bc9ff238bdd8eac43bdb4eb43b97fe54bcb2aa1abd9b1d2e3c480f743bee9a49bcce83e7bc4ca0893c96849f3be772bcbbe3e38fbc840f463c04861abd81fe373f0498d43e499525bde23b27bd63b62d3f18e8c13ebf7f53bd80afd4bc8bde183f364ea53ec50b4dbd3dba86bcff0f013f7e9e863eb47b3ebdb07625bca4d5d03eb7484f3e086036bd6728ffbb262c9f3e4310103ef41028bd491204bcf7ad583e5e09aa3d0ff71cbd02b8d2bbed17f13da351c33c33b503bd35311bbb7571cd3cf460acbc960ac2bc748afa3a8638ea3cd73fbbbc0457e8bc29e48a3bfc44ad3c78641cbd9cebb7bcda090a3cf41d2d3c1c2d32bd5bbca6bc20ea0a3c784f5c3bb0e44abd2b626ebc78272b3cabea9f3aedd027bddb8b77bcfd61e03b6416e5bb847e38bd49781fbba3baca3bc56f15bc90191abdbf5c5a3bb9de7b3b7e932cbc1111fbbc09c9533c69dbb73b057cedbbe5eda3bcde9a323c40fa1ebdc653123f2574103fa91a31bdd51f22bd8e69093fc0d4033f036d5dbdaaa7d8bc9efff03ec2d2df3e1af647bd4046abbc747ed03eb903ba3e8bf74fbd1f3f2ebcbe0da33eb9dc8d3e41c825bdffe450bc90c9833e1ba7503e9f1642bd7db21dbc0e90353ef584fa3d7ad325bd282823bc632dd33d702d3c3d9b9219bdebb65fbb1b5ee43c3e309abc1ad6e4bc105a3abb617ed03c8bfa91bc3b7e07bdbebb27ba767aac3cd4ac18bd8a82f1bc4252613be047283c67943cbda73dd7bc3c8ba63b3595b03bb1874bbdfb07acbc70f3b73b59f1663ab3c44cbdf5db84bc74f2873bb6e2b1bb586042bd7a96a1bbc0f7f73a8c1625bcd36d29bd66e4053b5b179a3907a337bc611f00bd915e533ced6bee3a76fdd7bbe8f799bc3f22083cbd9513bd6a9bd83ec9b2363fc85934bdca8b21bd30f2cc3e13c3283fa12068bdf7acfabc26d4b93e5fb6103fff8a57bdf4b0bcbc0e0d9f3ef7f1ed3e4e7651bdcefd98bc584c833eab75b93e8c8b47bd791c8dbcf4284e3e6707853e1f8a46bdb63076bc5340123e114d263e99db3abdcd2e7cbc3ceaab3df306863d71172cbd9673e4bb4185c63c03f175bcdfe4fcbc55359dbb747c9a3cce4985bc1a1b0bbd60a871bb7610853cfbcc1fbd259f01bd08b7173bf247143cfdd621bd379605bdcb72493b1135a73b29cc51bd8585d9bcee44753bb883153bc58039bddb82b3bcfa91533a7958c2bb731846bdcccf1dbc262a48ba9b0ed6bb8a9218bd96abb0bb323f51bbb04257bc1fbd0dbd8477443cb09c0dbb5e0f1fbc92499dbc04e1303c8341f6bcbbdc8b3e12ae5c3fa55727bd76d30bbd12e9863e4b0c4d3f229762bd81b4c6bc1cba713eb2812b3f60a236bd2252c5bc8b815a3e999b103fb16446bd736c9bbce40b333e8a7cde3ea0bf30bd7933a1bc3bee113eb981a33e611d41bdb77875bc979dc63d54af4e3edca825bdcc7799bcb6b57b3d2c4cae3d3fa92bbd4c043cbcf8d8923c6c067bbc936df9bccdb30cbc10444f3ca2cf8dbc7c921dbd57a4b1bb39a2cc3b6fa32cbdd9e8f9bc5557f9bae8f3b83b999b48bd5b3e09bdd92f853a142d4c3b68c250bdccd4f4bc199780b9a8c7913a1a4c48bdf8c9d4bca761f8ba97cd9bbb015d46bd51ce64bcf832d7bb17d825bc2d2630bdadff2abba58814bc734f69bca9460abd66e13c3cdeadbbbb462847bcfd749cbc6802083c31abccbcc138033e353b823f526110bdaad4babc5594013e61ed6f3fbd5035bdeebd94bc6803fd3d0a954c3f2a2d1fbd99099dbcd02ee93d9522283fd62e21bdeedb89bc79ebc93d0ba7023fe8b512bdb12798bc6390a53d8021bf3e661022bde83092bc805d6a3d3d22713ed5f225bda81e99bc2274053d00afcf3d0f1323bdcbb26fbc3da21f3c814b8cbc3d1e01bd00000000000000000000000000000000ce2b0fbbdc67653bbfc7f3bca7d719bd38a410ba4527ac3b1d9117bd02ab02bdff2e1c3ac00a973b30851abdd75e02bd55a6c7389d43163b2c6617bd1e43d9bcf0ef64ba5a1643ba58f914bd3007a3bc16a7aabb467ac9bb3d9f02bdbab60dbc023208bc1fed29bc8344e7bcde9b173a0000000000000000000000000000000000000000000000000000803f00000000112b23bc45d06e3bea4a823f1d4d9cbca4511ebc4dd5573cae7f5c3f1d9697bc639f26bcee43a73c63db353f39a6a3bc833731bc06fdb03ca2310f3f8f5fb0bce31940bc66629a3cdffed23e3068c6bc31bd4dbc366d6b3c9446873ebbc6d6bc85a56ebc940c0b3ca6ddf53d4102fabc000000000000000000000000000000000000000000000000000000000000000063a0303c8c5c47be58800e3de0b7e9ba429a453b307b47be3b92003d04e22a3a980643bb117634be06e59a3cbf85943bbcb7c5bb836116bea5a1523cecc5c43bf58b8ebb2855d2bd1e03103c4dff833ba71e05bb924469bdcdb98b3ab39d7e3bdfef65b9621b34bc222085bb1b4c983b00000000000000000000000000000000000000000000803f000000000000000087c7cebd8424ab3ff2fc06be1d04973c93c84cbd02638e3fec94c6bdb31f653cf705c3bccdca6b3f85d7a7bdba8c313ceb5981bbc606313f0efe80bddcdd2d3cdd91273c7f8be63e066428bdbdb6fd3b7f95973c316a663e3db05fbce498413bd1008e3c2bea1d3c2464013c3b3a19bb00000000000000000000000000000000f85fdd3b91cecebd9226523cb69b15b91589763c8c6327be7119033db89026bbb8a5443cb3284abee0a7b93c93877f3b30ff1c3ce04c43becba1703c7e52cf3b4ff3093c7afe1ebe0896013c20a4e83bceb7343c9e80ebbdcd62993aeafa0c3c74c1273cf55b88bd997619bbd3deec3bc61b2d3cb90ba7bc137815bc61f8093c46b9453cab1f413ccb8d95baa0cc713b930444be4820ab3fa984743c24cf72bcd9b823be0aa29c3fa0b8d03bfa764ebc580508be780f903f494012bc3d6fe8bb70dbcabd45a06f3f61c82ebcbf1985bb837084bde638353ff91a0ebc019a81bbb41d1ebde489f13ec68d9bbacf91d2bada1f83bcefaf753e0952f53b0ad762bbc0c9223badb0383d31d2b83cbc9f02bc8ef629bbbfd1d3bd64f2a33b6e849cbafc528abbeef73abd81bb25bcce63933ba3660c3ce3df05be47133cbc6983463c20a12e3c936a25be5ad382bc8860563cced76a3cf29828bec76f5dbc2a93713c7ce3753c1a5b0dbe41047fbc635d4e3c2dde8e3cb21fe0bd055a1fbc95b74d3c7a489b3c05a98bbda11d94bb4a950d3c4cb59f3c446df4bc0676f1bad367003c58aa8c3ccb78bbba4520933b48218d3b83ab3fbe0c098e3fc6aa693e9e0a68bd40ef46bebaab8f3f432b3f3e0a545cbd1aa227be85f0823ffd96173e20081ebde8a30bbe159d5e3f7d38d83d7db4f1bc7f38c7bd22b62a3f0240993dd94f90bc7e5590bdc700ed3e7ff83d3deefd58bcfcd82ebdbaf7803ec9d4b43cbe88abbb3703acbcfc84973d1e53923b0f4903bb46ee57bcc74a31bd54fd90bcd017313bf7c542bc7ca07ebcc63222bdd0236e3c5c0f6b3b648abdbd6d5e58bdc1c8c03cadf7233c95bd04be472a58bd8e58cd3cc58b6c3caa0b09be4a9138bddb20a63ce910993cc37d01beeb8e19bd58259e3c3df6aa3ce220ccbd48e2b7bc1a02683c5c1dad3c455682bdaa1c3ebc1345323c8730a83c752905bdf28fb33a6794f93b1d4c9b3c77a608bc40a22e3ccf478a3b377c34be54e16b3f3456e93e20dfd7bd0d553ebe16ec6e3f6753d33e2039d1bdac4e29be8d915e3fb076ac3ef0e0a2bd4f400fbea5553f3ff937823e380768bd32efe9bda8341a3f51f6363e040822bd7641a7bd1935d93e340fda3d1738b8bc85d563bde1f37f3e6fc3343def1a05bcb18703bdcc08bc3da4bef8bb2682c23b5a10bfbc374c52bc77b643bddb5e343c6cf97ebc9031c63b962b83bd7f91a13c7ef0bc3a0ee560bd2e2abfbdf8330b3d2a69183cc305b2bde994c2bd9df0fd3cc5be5f3ca544d5bd07a8acbd2c6fe43ca06f513cfddba8bdafc480bd8717933c836dab3c0869adbd99b427bde5f4973c222da83cd2676abdc0e186bc5635113ccda5a13c374105bd5f58423b9325d63bd502913c87ca18bc173b743c7c30a93b243414bea12b313f47c2313faebc14bea4d21dbe5acd343feb11263fee8215be06600ebef2652a3fb92c0b3fa709ebbd41a702be8c7a193f07b5d83e0010b5bd1d26b6bdd167ee3e2928983eb57d74bd570dacbdeb1dbd3e6bda313e35fb06bd12d763bdccac663eb36e8f3df1ce1fbcee2d11bd29b3d23d842c85bcdb851a3c08a6c0bcb68c073c46be91bd8c49773cfdf03fbc2b1aa43cde54acbd5846cf3c83bb863ba912e4bcec6409bebbaa443d5e7c223c255f70bd45040fbe08022e3d1216643c54c78fbdd6c7f5bd7c5a143d05d4913ce28d9cbd4f8dc1bd24f2f43c98de983c37fa84bd60ba6dbd4775a33cb5e2933c1c7a49bd14aacbbc454a3e3c64d98b3c3e70e3bc59579d3a6239b83b1e797e3c9c043ebc25498e3cbe818b3bf2b5d4bdf935e73ebaf76c3fb8d733be5e47ebbd5d17f03e570a623f25f03abe4389e2bdf7c3eb3efcfb413f2ba218be07dac9bd45fbd63ee869173f2b03e7bd2872b3bd6b2ebc3e81f9d63eab37a0bdcd0993bde76b923eb9cf7e3ec38223bd0c0859bdcd54463e5e02c63d6bb2f0bbfee600bd156eca3d882aacbcd40e8f3c591ca2bc48f3b63cbf79bebdada0b13cf47ff5bb7f40df3cc09acebdc708143d4e48263b57fc38bbf04728be9eb3583d21a2233c0c78edbc4afe32be752d4c3d9432573c6fa32abd7dc221bed0e02b3d66785c3c9ea532bd242bf2bdb8e0ef3c1f32753cc9143fbdf60aa1bd3d62ac3c8120663c08fb08bdd10e15bd3d08403c65283f3c5a9db0bce22b64baa624293b4ca9273c0500efbbbb22a53ce20547b98bf86cbd02a9673e436e8e3f82c641be2b3186bd96d1743ee9b58a3fcfac49beb29986bd06357f3e34d2713fbe6a29be895383bdd8ee7a3e154b413f560503bea3a867bdf211633e37dd093f9006b0bd545941bd09f8423ec6afa83e218e34bd82cc19bdd1d80e3ef2370d3efe2036bcdcd3bebcb572ab3de86b88bc048ac93c517e5ebc1458e03c5cb8e0bda8e50a3de6b339bbdb11c13c630d07be2590233da3e5bb3bd10c603ccd563fbe0921703d3f46353c74dc08bc6c9a50beecde533dcf0d503c7b5ba7bc603b3fbe4744333d927b373c0d10cabcba3c15bec27c023d68230f3c6b1fabbc2e1cd0bd5708b13cc0abd43b65d093bc588d49bd74bb0b3c7c16893b4d8737bc24568ebb1aaebdbb7c18f83aad62acbaab9ed53cadf945bb48096ebca47f673cff59ab3fcb0c44be25c4acbc8707383d31719a3f1dc231be9104e2bccd8a8f3da1bb8a3f0e961dbede05edbcfa29b23da473603fe2fff6bd9684c7bc0208bf3dcba6243f852facbdc83bb0bc5810bd3d3cccce3edaa037bdc6cc7ebc98719f3dd05f363e70a5d4bbf96119bc108e6e3d98e16ebb7d88073d127704bb8bbfa33c089112be325b193d00000000000000000000000000000000d218163c761a2b3b695748be6cf1213db6e2313ca241bcbb4c8944beb4ee0c3d011a1c3c0cd153bcd7ff34be4827c73cc235183c5ccf67bc466714bebb9a8e3c2d058f3b38b646bc530dd3bdc5e8483ce00a413b2654b8bbbfd56abd01968a3b343843baee2bcaba7a6b0ebc6dac19bb0000000000000000000000000000000000000000000000000000803f00000000bdfc3a3c4507d5bd1289ab3f311700be9530073b3a6d4bbd76518e3ff8acb9bd47d944bb088faabcaea76b3f370c98bdb62a3abbc70555ba9586303f126561bd87b2bebac58f263c3bfbe73e6bef08bd6372213b641d683c08ac663e9dbec0bb5d11d23b6549463c5d6f093c5b256c3c0000000000000000000000000000000000000000000000000000000000000000c7bcb3b8fe7236beed042b3df20ffabb83ac62bb5ab53bbea9e23c3d93d1d9bbb25bf2bbfd082fbeda53133d7a6870bbd5ff03bc291714befe94013d0aa151bbf5c8f4bbc76edfbd5c92d43caa942bbb022a4cbb90f482bdfbc0803c38d2e5ba2b43443a8978a4bcdcedd13bb434563700000000000000000000000000000000000000000000803f0000000000000000fd09a8bdca78a83f67360cbe1eb4ad3cd1db12bdf80a8d3f830af1bd8d20a63c14db01bc3282693f6e5bd9bd3831a33c433a083c261c323f2435bdbd29168d3c94028b3c5264f03ea49c90bdfc3a6f3c75a2883c2b077e3e65851ebd2cdade3bab72263c8e83043db72b0abc332c8eba00000000000000000000000000000000c479c6bbb04a9cbdf16d643abecfc33ad0b3b53935331cbec4f5153de10d9cbb3f52da3ab6a03dbe6669103dadb13cbb48461a3b2b6e38bed2f8063d43250bbb9214793b71631fbe9c12e73c2ec2f1bac228193c1a9df6bd4c87c73c2ec8a5ba6ca23f3cb8689cbdc5098a3cd70b72b9040a723c68abe0bcfd9f1f3b7d5ff83ab4b5463c24909c3bf0e1293ba177e1b900a92dbe8fe4a73f7e868c3c575c33bcdf541bbe81649e3fe4b1a6bc5a2495bb351ef4bdaa36903fb78924bde95f833b624cb3bdf13f713f0fe453bdabdf233c9a0177bd6d0e3a3f8da55dbde3e95c3c7e2a2cbd1fdb003ff96c52bdc546453cffa2e7bccc188e3e487f10bd77cd0e3c41c07bbc24e38d3dc8e257bbd5c33c3ae7f890bcb277a0bd662968bcbca8ce3bc7729bbc70e893bc0dfcffbc0270443c35fae8bb7b3ad8bd354488bc3670383ccad595b921d90bbe0cab42bca464213cfc4fbe3b0e5a21bea6d1253b9b23d13bab20533c752d0dbe6650a83b3de5ac3b07a4833c23c8efbd7d0a523c899ac13a24ca973cdc09a3bd0bad563c9ae7653a0540a83cb6bb31bded415b3c6d42b7ba2dafa13c988c2ebc0bd7533c593d23bb3c2d2fbec4508c3f4ca8643efd3f46bd497f36be459e8f3fc0d01e3e6cc211bdc3d014be188b813feea1da3de6e9a6bca96603be731b643fef91463d57cfa7bb5a12c7bd99ea323fa3ac573cccb38f3a351ea5bdbc10033f92cf9fbc4aa62d3cbb7b6cbde3429e3ed4e90ebdf3c9583c096231bd9405fc3d6cd634bd49d88c3c294c04bd20d62fbceb5640bd3eee803cea6fccbc42b7963cc02f89bdb4d1b93c5ff549bc7b817abdef0f82bda317d53caaf4babab99addbdc83148bdcc56b43c6c37083c3a6f00beb40300bd73bb793c6ced5e3c62dd00be7b1a89bc118e3c3cfb7fb03ce7abddbd48a812bb4333d63bbc5ebd3c1d63a8bd2b53253c8554293b7c9fc93c4d5245bd62b58e3cd9a121bb5f1ea23c8f64a5bc5cedb33cc96b66bb5d0b23be039d673ff07be03e303eb3bd8c8c2ebe1fd56e3fe703bc3ef63897bd5d9921be6bd4623fc11d8b3edee04abdf1ce0dbe1e74473fd41a383e27fee0bcb45af5bdd246263fc5d6c73db17806bc49dec7bda71ef83ed34ce93c60c1ab3ba5289ebd5e2aa13e8b91c7bca839833c657b6abd9d82193eee1c80bdadb1db3cb08d23bdebf1e73c38afb0bd976ce53c04ced8bc52741e3dc464b8bddac3ff3cd33c6ebc9c5ee6bc5f56d4bd0fc71f3de28e1aba88618abd6aaebabd117f013d5dbae83b6031c3bd0e9e92bdc363e03cbd49653cea54a6bd540658bd59d0983cf2ea9d3c6cc5c3bd8b6d9dbca869383c0df8bb3c726c93bd3a0f4a3a8f9d703bddc1c23c773848bdf03c943c398b3bbb25fea43ce0b4c6bcd78dcc3cd2e86bbbfe7b08becb12303fdcbd293fa006fbbd183a12be06da363fd1d6173fbfc0e7bdbb1009be7eb92f3f3721f13e244cabbd975406be5dea233f191dad3e131f5dbd3c8fc5bdde7e023f9574673e8aa21cbdc453d0bdce80de3e0eebc13d211498bb78669dbd36cf943e050ca53b7ee1563c8e4b73bd4ca6243e72858cbd2a7f053d4c7d2abd5af04c3d719ae0bd15bf0f3d1f45c4bcef3c393d200ed6bd8706133d0c9926bcf89dbdbb1c810dbe46ed533dbb1b8abaed0f3abdbe8203bebc183a3d59f2023c9a1888bdb38ad4bd246d103d32f53d3cae48a0bd17f698bdc747e43cce2e983c24559abda50f1fbdff016a3c7a99a33c626380bd62c3eabb21499e3bddfd9a3cacee29bd9daa963c27348bbb1465923cbdccc5bc6145e73cdfaf8cbbf00bc7bded31ed3e89c6613f7cc118be1b8edebdcbb4fb3efd82513f050c17be3a57ddbdcbd6fe3e37612c3fde46efbd23f8d5bdd65af13e39bc003f3211a7bd000bccbd157cd93e3307ac3e67964bbd76f8afbdfe1bb13e56bc323e90185ebc070492bd5914813eef90133dc8d9603c7b2c55bd92c5173e115693bdfa8d1f3d3ee212bd3e526b3d005ffebdd5fb203d92b676bcfa3d223d5be8eabd5ddf353df4f39dbb5b6f9e3bf06f26be55f6683d0bca1d3bffeebdbc087622bea3444f3dc56e0a3ce52e2ebd8ecc0fbeefe8353df0df313cbc2442bdf5b8d0bd030cfa3c648e673c548257bd84c97dbd309aa13cdc82603c72f82ebd6ebabfbcfff2fc3be5f8583c7eb4f5bc22913c3ceb57bbbb2d4d553c4ad37dbc4adaf93c986403bcbc6769bd17c6783e48c8893f700926be1e5383bd9556883e6e7f833fce0a2abe19b68ebda31d953e99175c3f6eab0abe009691bd1c03963e58d62c3f337ed3bdff2286bd02888b3e1ee5ef3ebf3e8ebdb9fa7dbdfd88763e01e8883e721eeebcc8d248bdc66d393ee5cec43d7958003b9f7e0ebde414ee3d07146fbda5c52d3d344ababcc1ee3c3d8d710bbeb8ef473d7cc88fbbfffbc63cb11207be64db2c3d3584973bfa98a03b62d336be5d39753d4aeaf13bdc7a5bbc730e40be0ff65e3de12a063c4f4ccfbcdda02bbe5a20433d4d6f093c4130eebc16a506bedae9133dc811ef3bd1e6e2bc680ab2bd331ab83cecddd83b9c72b1bc283e20bd9cfa043c565f623bade30ebc13fa383b27b80dbcdc6b6d3bf32ab8bb6102f93c51d00bbc52ab75bc8d3dfe3c80cda63f569d28bec0bcb5bc7952773deedc973f209e22be4773ffbcd6ecd23d78b8833f92050cbecf0309bdd36e013ea8fb513f721ae2bd5a2906bd49fe063e1933183ff88ca0bdc476eabc26c5fc3dbe0bbb3eab142bbd797babbcfceece3da2bf163ead37efba4dbcd1bb577c893d01ac05bd2f1e2d3d5c3bdfbb560dd73cc21e1cbe5c28363d000000000000000000000000000000005ed7fb3bc8f3bbbb8c3031be3f731f3d331d083c096944bc5aa030bea4891f3d2b26be3bf9636dbc250c23bea4fe013db648bd3b26077dbcfb6108be6382d63ca99c2c3bbc5646bc0df1c4bd7de19e3c354d943a3661d5bb82f555bd40800b3cf36615bbe4320738133225bc4ebd67b80000000000000000000000000000000000000000000000000000803f00000000f8ad293c26ddadbd76eea63f9b4af1bd5d29113b925bfcbc7b5b8a3fc2e7c2bd991482bb1c8ad73abf1a633f5950b0bde102d0bbd1bfa53cd6122b3f45f48fbde93daebbd940df3c35dae23ed6e750bd9e389f3a76b2be3cfb26653e9046a9bceacada3b9aa7443cab14583c4a8ec43b00000000000000000000000000000000000000000000000000000000000000000cd653bb4712d3bd569c99bb976f903b8224aabb7ec9e8bd4dbf043b63b2743b547982bb52d1dfbd3b6818ba0bbaab3b5cbcaabbf258d0bda3e8313bc531873b3922cabb8140b0bde2f3f63b67f2e73ab1eac6bb5c0c7cbd8539573c683726bb4d15efbbe09513bd9e16843c4cd592bb00000000000000000000000000000000000000000000803f0000000000000000e1b51ebd9095973f9cfca1bd1af9603c301c28bcb922803fcc9894bd481a863c5109343ce5fe533f6f498cbd71b8683c0899a73c3357253f4f0886bdca97743cb7779f3c245dee3e425684bdca5c813c9d586e3ce9a78f3ea4e561bdbb846b3c8280fc3bf1e3cf3d28f042bd1e0a5a3c000000000000000000000000000000006d0208bc3549d5bc739d03bd46734c3c31b377bc8f42bdbdbce24fbc614ee43b594205bc9ce2e8bd1d2d45bc8f9d083c6bc9bebbb314ecbd1b6b14bc8f77003ccfd943bb5e2bd5bdf1f3c5bbbdbcf43b22ae1ebba364bdbd8b6f813bd34e4d3bfd70a3b9b84e8dbd95be273cbeb2ff3992a4983b079412bdd7a27e3c6ffba2bbf62e843bcaac4ebc6b23723c6bcb44bbd940d6bd9e86973f3017933da6da9cbcf67fcdbd56e9913f5765fd3c08a0aaba82b387bd7963803f0ae07b3cc346d73ad8d423bd3274553fae35c2bad7c0ba3bee95c1bc6279273fb2ea8fbc230ffd3be10392bc066af53e56970ebd0b46453c782198bcbfcd983edda03ebde4a15c3c38c6c5bc6779f63d9ea84abda429793c8f8386bcfbc068bcb87f51bd00f56a3c233990bcde38583c721b51bd0287953c717077bc9aa32fbdb20b5ebd787dbf3cebe627bb873082bd00a948bd22dea73c9765a7baacb2b1bdae3e24bd2daea83c78eb983b5967a7bd0c28f4bc0d7f843cd0e7c13bcb1ba7bd705077bce1853f3c7a08023cff417cbdb967dcbb7df7163c2b460d3cbf9738bd612e2f3c123f163abf8e1a3c972da3bcc72a5c3c2b5626b85e6debbd4c14803ffd267e3ed51841bdb626f8bd2b49803f4f7e483e8e871bbde137adbdefb75d3fcbf11f3e1b09edbc5cfc9bbd8a9d443f8475d43d109e9abc70ba61bd71af1b3f829d793dab6231bc1b804cbd0f88ef3e462b4f3c9466f8391fc312bd02bb9b3e02616bbc67803e3b231421bd2a9c203ecb9155bda6c6863ca5bcdebcbaaae33c72847ebde483703ce5df9ebc4ba7203d533891bdd7d2c33ca5d18fbc63ce05bc9350acbd2c6d083d95eddfbb070d33bd13ee9fbd1157043dc4f0adb998fa7ebd7a3286bd9591e93c86b48e3b55f290bdeac254bd39afd83c5c84063c394892bd537c02bda01f9a3cf9c50e3c64fd83bda06c5bbcf8c44c3c2353383c01dd42bd375b863b52ffb63bad82283c6eaee8bc67be283cab08a33bf77ae2bdf447533fa0f6db3ec0689bbdf41bf6bdcb46543f2894c03e64b990bddd81d7bddceb433fc0749a3e02be62bd027ab3bd11282a3ff4be663e09d02cbdc7a89abd43c10d3f3fbb193e69aefdbc282a84bdfffedc3e2dbe993d7fee6abc3ac36dbd84959a3ee9182f3c2a8fc1babd8648bd306e303ee8e732bdf79d543c4a59f1bc95f5633dfda692bdf669403c2f04bbbcc373573d4c4da6bd3eb0ce3c4efb94bcbb1c6b3cec48d7bdf096203da9d508bcfbcd77bcdf9ac9bdb6e20f3dc8ab19bb713623bd6315bcbd10921b3de4c3063cc9780fbdd7618fbd6b62d33c605ae83b54ef72bd7d2953bd7ddcde3cc0e1353c885d57bd8b50dabc06cc923c8024443c853142bdc5950dbb9d46163c0777593cc520fdbc7c22ff3bbc7a0d3cd697cbbd6116253fd1a11c3fedb3c2bdfb7cdcbd5c12263fdf120f3f3103c6bdabaabfbd5f61193fbd67eb3ec5a7a5bdbb24babd8e160d3f87d6b63e993289bd87fe81bd9707dd3e1160823e644a54bd3c9f97bddb0ac23e3ffc183e77a303bd5b5b6abdd22c883eb2196e3d584d6bbca8d25cbd56a42c3e5931dfbc66b8f33b2d7b10bdfe888b3d09de9bbd54f2083c89beb7bc78c2503dd25fb2bd8479d03cc5b393bc4501b33c90dafcbdb65c3d3d87152fbcd45408bc9d61f8bd439e2f3dd2d247bb3f62dcbcd583debdd4db203d9246fa3904bd19bdd61abcbd39271a3d7870cc3b50c23dbd7f5683bd23faed3c4e5e153cccee47bd81b119bdd94bb53cd99a403c3c5639bd3d6ebebb4ae53b3c99c2483cf190f8bcd299cd3b6b9c223cc5a8a3bd00afeb3e5b6a4c3ff5d7dfbd5d85b6bd6411f03e2e983f3fa374f7bd0e22aabd5fa1e93eabd8203f015acebdec95a7bd4055d73ef9e7fb3e6b09aabd43d39ebd4fc7be3e3c0fb73e922889bdb2308fbdacde9b3ef065643ee35d30bde1f985bd97046d3ec893cd3db8e9afbc8b3958bd73b0183e0f1f1bbc138d363b15140fbd15278a3dcb4e9fbdb05cbd3b7f439ebc70651e3d9754b6bd6ddef03c1cfc7dbc9dea8b3c2ed208be06663c3d334ccfbbd1fa033b3d5f04be151a223dc73eafbbf1ee86bcd26801be8e10303d38ebea3900c1bcbc2848cfbd70280b3d5c7c4d3bd69911bd519e9dbd254bfc3c3ba2eb3b54b50cbd3a953fbd352bb93c0d41353ccc0f19bd518115bc0b91343cfb1f263cb6cadebc5d52223c6a15013cc1db5fbd04658d3e23887a3f81cfedbd048a78bd7880923e9df26e3f47b604be714980bd0762943ea7ac443f6796dbbd6c6583bd4793913e63fa203f465ec4bdc0ec7dbdbe19823e260aeb3e5f5697bd0c2d7dbdec6a633e94f99a3ef3165cbdbeca52bd65422a3ea34b1f3ec23508bddff040bdaa38e93deebfe13b7f08193a513bf8bc40aa543d986ea4bdf410083ce7c482bc06b9bd3c282cbfbd13b8ae3c3ef6cebbb51a663b522613be2c28443d97fccfbb0cc09fbb773019be8c352f3d24459dbbe3f72dbcb4680ebe8301253d4cc130bb7a856abcaa3bf5bda0d7123d3c621ebae38eaabc3dddb7bd4c33f73c80915c3b2d91c7bc98bf67bdc1bcbc3cd59e103c8437cdbcbc3f30bc8851143c79ede23b1927b3bcd91feb3b113a073cd785d6bca295c23d6716963f3056e6bdad87c2bcc8a9d93dbb988c3fb791fdbd840009bd320b0b3e52ee6f3faed2e0bd98c41fbd053a163e1248403fb0d5c3bdb96a31bd3cc1143e1e43103f2268a3bdc22b26bd37cf013e8a59c23e6f3678bd0e191dbd8160cf3dfa264c3e70a513bde587e7bc182d823d4bc7ec3cf69614bbc183cfbceb3c023df097abbdb3d28dba00000000000000000000000000000000a13787bb7235aeba4bdef1bd4886953cab5532bbf3bd86bbb8adfbbd067fc03ca22f87bb31ae03bbb5acefbd7ecd9f3c437d88bbd20c8dbb41fed6bd64c1a03c62c86abb9998edbb79b9b0bde66c9b3c67acd6ba6e0e2dbc4d4964bdb167693c77b0043bd5b14cbca533edbcd0423f3c0000000000000000000000000000000000000000000000000000803f0000000009d09cba99fdf2bce485963fb04aaabd56eef9bb8fbaea3b693c7b3f7ea993bdf15688bc23bb013d66fe4d3f79b58dbd5873a9bc8e442d3dd4721e3ff41080bdc320b3bcf7e42c3ddb0cdf3e55175dbd22cf96bcb673063d22fb813e40e513bd2b8493bc2191ac3c68a5963d6579b8bc000000000000000000000000000000000000000000000000000000000000000079f2723c147955beeed9653dc0cc2dbc2b8914bb7a1748bebe19313d62e8edbb0aac5cbc9fa63fbeb54fe93c8de29abbabe8a3bc747d16be0d83a33c332a84bb764aa0bc9a57bfbd65f5303c83343abb84e688bc47233ebd6f9252bb4f5566bb660a29bcb021afbae4a31bbc82dbdcba00000000000000000000000000000000000000000000803f00000000000000007d11ebbd6897ac3f15c016be5b0ec03cf0c562bd66798d3f13c5cfbd0387923c39eb0fbd0bb96e3fde14adbd42cb923c7b251ebce876303f229a82bd1c80883caeb7443c407dda3e72b1e3bcc60f0d3cbd04b43c3a9f573e3546733b8dd2283b6e2bd33c4e873dbcb7a5ef3c85378cbb00000000000000000000000000000000a008b23b4e0dd7bd5f810a3da7dfd9bbdc0b203b6c5017be77011f3d5a0fdfbbb8456ebab6314dbe2048253defa120bb4a51bbbb475649be980f113d3cfdaabb23fce9bbbb8128be7665c03c1400b3bab1d4ccbbb86bf6bd473e803c040d07bb9c3fe9bb465086bd1f999f3b7233bab9fba987bb26cbc5bc4682c2b8cf05ac3ad8f4333bde023b3c99403038867bbeb934714dbe9d23ac3f87c3f2ba9c57cebb2c691bbe52c0983f8d24693c528701bcfb8417be687d923f439dd8bc9230333bbc1af9bde6b2753fb344f3bcbdf7213c3a4eb5bda0f83b3fd6caafbcda9b243cf9496ebd1ea9f93e020c07bc0dccd43b966deabcdf9e7c3e3c33243c2f8f02baa99b20bbbba3883d7b41ac3c4e1034bca35c143a6417e1bd8322c03c6cd41abc380c87bc6d5c0fbd3fac803b1926803bf8012abc131304bed15b5d3c09068d3b451b2bbc2e1038becc97c13cb91c083b74de6bbb91b640be2797ca3cf1a7fdb92b1238bbb89a2dbebd7bc93cdf7902bb571b413bd82107be94d3b43c78fa08bbd8f8703bd75ea2bd044d613c68e65dba3718933b05c017bd9fa8343c293616ba401e203c08f722bc0cd0313c011caab918253dbecc6f8c3fed68663eedff55bdef6d4bbe3c84913fc0a9283e1f2c14bdc3d43fbe6aef893fd224cb3dd25d71bc66fa2bbe189a6f3fd15a653dba1ecfba1fe00cbee78a3c3f6ecbfe3c4922b63b96d2d4bd3e60023f4a14a33ca7cc7b3bfb2787bd6e188e3e9783293cecbd263bb5400ebda5bfb53d3952f03b75034cbbc3c7afbcaf9d09bdd00063bb79e5e4bb143000bdc066b0bbaf72ddbca218713c370481bce8aac2bd2508d2bc228e993cea8974bcd06717be6aa534bca8d04f3c99ea2ebcb91b29bebc46f73bf01a953bf3f688387f8426beaf44883c08d6f33953e1863b1a9502bef8cca63c4eaf103a4509f43bdc74aebd4098a93cc23b3abbfa9f193cbbaf48bd13acb33ce3812e3914822a3c931991bca06abe3c1ca45c3a4a1f32bea9e06b3fbb3ce73e7a04c5bd11d844be6166723f2bdbc83efdf8abbd135841be91ec6c3fb79a933eebc244bd973e33be4c34563f09cb383e73fc91bc786222be8279313fa274d93d6416f1bace0300be75e8fb3e44cc6d3dbf380f3b8ec5b4bd75eb963ea730813ca710de3be1425dbd9495fb3d768d83bcaafee03b87780fbda6b121bb53bb23bddae2cf3a89bd15bd96609e3c744e7fbd415bf43c4a79c0bca3dd6abdae0997bd92e20f3d11a85ebce770debd683481bdf6d2f53caa4c49bc4b990cbe145afebcce995e3c5c92a2bbf08408beee83b6bbacbbb83b4c84ab3b5ad8fdbdef4f553c8b35263b723df13bba55adbd31e2b63c8a359fba9fd0303c40a74ebd9c0ed63c7b268dba43d31a3c3042ccbc6df1093dd6cda138560c0bbec8022c3f5164363fa73b15be126d24beca62383f675d233f0c9c03bedf1128be60b1373f26a5033fe66bb8bdbb0725be92062e3fb956b53ecc3b36bd600d14be57bf143f8156573e808541bc97c801be8b7ae73eb6f5d23de49cf23bc390bfbdc253913eb6edb43c3e35863c538179bdc6030b3ec59e04bd25f68f3c936b17bd8d62d53c10c1a0bd0b117f3cdca302bd3a5a213db721c3bdd2c22e3dc590aebc5e99d6bc5ba3f8bd74b2543d1dbf48bcdd999cbd812deabd9f552f3d28f0ccbb7709c4bd5646b5bd2746e53c8ae07abb5957dfbd5c1832bd65737f3c2ad9973bac7dd7bd7d930bbcfe0eca3b2a58213cbb7ca2bdd04d433c6b4fa63aa3c1f63bb85443bde1fac23cd6aeabb9f70aed3b8b67babc1de50a3d0aba13ba0f1ab3bd7667d63e299d733fb68f3abe0547e9bdcac7f13e94e8613fa8272dbe1b3df7bd3a41fa3e47203e3f5a40febd86cafdbd756af33e0d3e0f3f4935a0bdbccff8bdc74ae13e361cb53e8b0901bdc428e2bd84e4bb3ee3ae393edc3317bac100b1bd6024813e2507573dac08923cb13169bd100e0a3ebe2b1cbd45d8e53cbd780abd058b2b3d39e9d9bde619c83c16ebccbce244253d6a9cd4bdeb80423df06e5abc00a810bc356623be373c7c3d0631b5bba4552cbde1c32abe5dad643d814556bb794e80bd6bf00bbed00c223dde0670ba925590bd25ecbcbd1841c53c5b72a73b643a9bbd044b2cbdebf24e3ca7e39e3be01c75bde8c188bbd99413394207e13b3b511dbdca058b3cd63e95ba5d8ab43b3c8167bc05f2f63c0fcc06bb983d2bbd096f4d3ee1758f3f644e3dbeec946bbd5a6f6b3e5f2a8c3fcf363fbe73dc90bd5aa8823e433d753f703c1abeee829cbdad0f8a3e0bc73e3fa20bccbd915f9dbd7c0f863e0ca7033fd3ce4fbd49f898bd95a3723e48bd933e862624bcc72375bdf3a33d3eaf4ec73d0994b23cd4862ebd30a7df3d9e9810bd548e153d7c18cdbcc772263d55c6eebdee561a3dc73c04bc5231d43c0e6f15be0a7f823d1f2813bcf6ccb73bef732fbe954c813d81f3e0ba600ea8bce91c50be8c9d7c3d4a225a3b34f91bbd5fad36be3996423dd566af39d65c30bd5c3b0cbefe4e0a3dee084c3b778035bd39e8aabd89d28b3cd15cf93a8eed18bd36f303bd5b865a3bdbb79a3b316ccdbcfcd7c138e560f6bb6b7a5f3b6c29bebb7572043d3289f4bb3f2f94ba77d90cbc20deac3f156148be910fa0bc045c673db0e2963f8d751dbee577d7bc45b58a3d1c9b8c3fd0110ebe19d213bdc9dcbe3d4b6a633ff89fc9bdb16c1cbdf9eddc3d7e9c253f19aa77bdfd520dbd887fdb3d0678cc3e1cea6bbc3844e6bc4b49bf3d92b42b3e6842973cf54dc2bc1dd1823d5262433c574a203db3cea8bb67e6c73cc8ea24be5537613d00000000000000000000000000000000ae6af73b7ab32ab87ddd57be6f087b3dbbb2b03b93ab72bc24674bbe3ce13d3d124b913bb210d9bc06ef46be59c8243dc07799394998c3bc748c1dbe957ee53cbfae183a698ec3bcea94cdbd2b257b3c97e672397f9b92bc17615cbda37f613b8adf02bb865d56bb7611aabb62bdc3bb0000000000000000000000000000000000000000000000000000803f00000000a8a44c3c3efce7bd627bad3fa24104be045e3fbb5f454dbd3065903f2129aebd798f7ebb4e41e4bcc2e4763f827896bdbdd3f4bb5d37aabb0fff393f30d942bdb64bcabb6893233ca247ed3e549e80bc91024cbbaeeea23cf6c86f3e66c82f3c626d4c3b12f9603ce098033a61a1143d00000000000000000000000000000000000000000000000000000000000000004cf5d73b89c145be5675923d56e080bcaa4a9d3a697746be7800913dce0845bc685401bc79d740be78d57a3d1fc408bcb6942abcbd7e1abefd9f423d789fc2bb535339bc4923d3bdb3faf23c63a96bbb36b208bca6da5fbdba66203c7c3733388d1678bbec1cdebb3171b9bb080de93800000000000000000000000000000000000000000000803f00000000000000007e5bb7bd71f4aa3fb04522beb998843c28b341bd59fd8d3f667807bef54a273c2d03dfbc513a6f3f5097f6bdc13c2e3cf417dfbbaaa6303fe16fbfbd0798103c8c1bd33b76f5e03eaa674fbd8beb6b399cb9763c6b185a3eeef152bc555a29bb8747873cce8c21bc70a8ec3c2d29e9bb00000000000000000000000000000000518b54bc8c2f88bd9ed6ac3cd46920bcfecb55bc3b5ce0bd14171b3de37531bc016d3ebc3bd831bed3f5783da63e61bc54ac68bbe90e42be51498a3d7b5169bcfe0b9a3a41982fbe1208773d2de548bc5168a23b990b06be99f0393d94980bbc5267083c4c10a3bdbb3bdb3cb3c7bbbb9671143cb79215bde7150a3cb74392ba17ba713c5b50993bc14902bb646fd4ba4f8d27bed438a93fb9df71bc7d6084ba6dfaf3bd25f9963f61b3b7bc471988bb0020efbd6482923fd8c7a9bd4aa4283cf88edfbdc1127d3f31edcebd40b8543c3c83b4bd6ce5473f5b38c3bd7bab6e3c53818dbd28590a3f872e98bd1f89393c49b039bd1711983e33e421bda2e6a73b0188b5bce948d43dfd7800bcd7658cba4940a6bc9647b2bd4217ba3c3fc9e8bb689e34bd25b9903c8e0fa9bcccb9a2bb4d9807bdc49797bdf75df13b533cc8bb2f97fabcc81802becc0e0b3db60f31bc16018abc9c8125be8427593da3f574bcb6810c3b6bc82bbe13f57b3dcc9e80bc218f143c0cc210be6235693d279d5ebce2dca13c372ccfbd8cad353d42a932bc727aa53ca3335ebd49bbf03c0babf9bb1fbfc23c2c279dbcb04e673c2cf481bb416316be50a38a3f9b243d3e460bcdbc774e22be1f20903fe243c43d37c850bc46c412be65fa893f1355723ccdad043afa9c0dbe9536793fb26034bd3833723cf60f0ebefc9f503fca57a8bd9b21a83c7f17f0bdda391b3f948eb7bd5897aa3c90ebc3bde70ac33e7698a2bdb31f963c437684bd760a2c3e0f135bbd7fe4313c849a4cbdfb74a63c143e06bdfe699e3b51ab84bd25078a3de73d89bd9e44b43b4ae944bd66c5e3bc908a12bd9b1944396a3730bd3f3eacbd15b685bb138f01bc992f12bd1beae6bd9970c83c57c14fbcee0b78bcbad90ebe00fd4b3d09d380bc99cdc53bb0e30abe0a156c3ddbe196bc5e2a7a3cc0eed7bda748643de1528cbc3087c83c66e98abdba2b403d7d3868bc4527eb3cf1be08bd0fd0f93c5cc6f3bb117f04bed216633f7da3cf3e177663bd803e18be3114713f3710963e5f690cbd5ac215be2cf8703fc0ed243e25ace0bbf8570abe32ab5e3f1820643db591ca3b2d2e0cbe2757463f508910bda6faa93cc7be09be6fad1c3f078da6bdb0fef43c6266e8bd59a7d63ee524d7bdcd6b033ddfa2b5bd45ef6c3e6a00d2bd9025e73c00e28bbda5cc993d07c1b9bd1df9973cba4794bdc920cc3d72d9e8bd3748c73c3b4768bdf03f823c5652b9bdc3cc753c4f0c3abdcb4a42bde61055bdebf4da3a229d2dbd95cf9fbdd4aa36bc07f8eabba625ccbc5291cbbd82189b3c4fe657bcc37110bc6676e1bd0e113c3d13bc97bc3ecf673cb07ac8bd51805e3dd9b49dbc3988ad3cd67e95bdc5596e3d646c9cbcf59fed3c12f92abd1b964a3dcb6174bcda9dc6bd81c2233fd9de273fddcdbebd4098f2bdcbbd363fe95a073f3f488bbd40b302be94d73e3f3a66ba3eace1dfbc6a76f8bdd8ca3a3f9fc9403ec18aee3a316de9bd992a273f3fc9833ddc836c3ca4dcf2bd9c9c0f3fa55b39bdb5610a3d33f2e6bd42a0d13e8c9fd1bd039b2c3dbe39babd4ce4833e47d80cbed313303da69198bd5750ee3d725b12be6672133daa0e86bdd08cdd3dd48e10be2e51093d77ec55bd350d183d6cdc0ebe2e82093d197438bdb85e1dbc6bf5dbbd5624823c5eb127bd676029bddf3b80bd7283ba39fe260cbd5fff84bd0e9394bcd59fdabb3b4cacbc09e88cbde12a703cfd466ebc0de94ebb640692bd2d81233d3ab4a6bc20f7513c14d877bde41b683dd498b9bcb35fbb3c30ab2bbda1b6613d30c088bc56146dbd17bbc83e9d14683f242604be99bea9bd37e4f03e7115473f1c75d0bd6d8ab9bd1fcb043f4049183fa31673bd6322bfbdf250073f532ec73e25fb8abc2ec7b7bd9efa013f279a443e6a692d3c6465aebd3ec9e03ef206433d4414de3cbc75acbd81b2b33e039f8abdc1e5373d6cfe9fbdee88763eaaed17beb6716f3d13ce84bd96e2023ee7c037beab1b443d77af34bd1fb1ad3de6ed17be91223a3d8b6b21bd4311293d39f335beb0a8433d0cf01bbd32f3073c703228be2b6f163dfaaf11bdadb162bc02a5f8bd38ce893c49d4f3bc243b06bd269b8abd81ee6a3af5bbc7bc5fae22bdaac1bbbcd9f70fbc588e78bc7b0317bde734473c81a46bbcffcd7dbb7e9a06bd67a4233d9a4cbbbc4d7f3c3c36f7e9bc96f9563d4d64a7bc5e15dfbc3557373ef8958c3f8c6214bef7cf29bdb28e703edc6a823f27be08bed59f4cbd5113923eedd5553f50b6b9bde45853bd91959f3e058a1b3fdd843cbdc21f57bd3459a23ef13ac03e15ccedbb989059bdab1a973e54612c3ea2019e3c5f4a36bd53f8763ed657563b81ae1a3d55982fbd3350343e67daf5bd1ef47c3d17e425bdeeb8de3df53a42be083a803d9b3a65bc59dc123d5dff24be68e7663d68ff9ebca8cae53c764d35be58a34b3d7e54a3bca7cf1f3c0f5e4abec908403def0dbdbcf2ed233a9bd62cbe0652043d56deccbcf0a10dbc6797f9bd7a428a3ccd70adbc74fd42bc6aa28abd0c581c393dbd94bc05b325bc5555bcbc603615bc0fa228bc6b76b9bb3532ce3b4b168bbc0530adbbaccd7cba37393f3d4c27c1bce6ee5abb418f3dbcd95eab3fc43f29bec8c684bcc485813d5b29923f4a55fcbd44be8bbcd60bb53d2aa4833ff728dbbd10da83bcdf26f63dc6e34d3fff8a8dbd657588bc4a900d3e947c0f3f937b0dbdd8ff4fbcf3cc0f3e8f65a23eaf17473b0bef57bcf848fd3dff2ada3dabf9d23c93ae40bcf142b73dce1011bd47053b3d486a8dbba312393d79754fbebc6e903d000000000000000000000000000000006922d13b45ca08bc650a48beb83e563d96f0b8bb3c8ff5b91d1346be33042e3d253e64bcb4f7aa3b884d41bef33f123d3a0096bcaed8f53b3fb71dbe9da6db3cd92db3bcd07c123c8768d0bd339e223c91b5adbcdc4d1c3ceda450bd3fd4baba0e078ebcd755343ca4ef45bbaf2e1dbc0000000000000000000000000000000000000000000000000000803f000000006d5e063c9370c7bd5188ab3f5bcbf2bdfbc10f3ce6cc38bdf72e8f3f79efaebd52b96a3cda51e6bc6564713f08199bbd978b833c7d7008bc83fa333f87d557bd3074973cbc21a43bb4f1e63ecc03c7bc3fdfba3ca3ca2e3c2e88603eacbd933b699cbc3c463f2c3b0a4516bc2ec6ef3c00000000000000000000000000000000000000000000000000000000000000006dca293c18fd40be0c158c3d6a1991bc3a3b9a3c0cd152bebc2b9d3d973f92bcf64ecb3c0f2d51bee80b963db3858dbc20619f3c70332ebee5c3773d107547bcfd67733ca7a301bee0af2e3d948707bc17dc2c3c696b95bdb2fbaa3c801631bba5030ebad4a988bcf44e463ad20d97ba00000000000000000000000000000000000000000000803f000000000000000040dbaabd55eca93f087616be101f553c619363bde0aa903f6f7802beb55ffe3bcc0127bd560f723f866befbd4c29fd3b6759a2bc9f6b383fb154bbbd4a70cd39de8c11bc69cef93ec8bb77bd243547bb39ee52bb31af823ec8ac95bcdd7313bc315d023cc2d9e03ceac6773c48a88bbb000000000000000000000000000000007f09cfbca38756bd43b8d03bd8efacbb0d07c9bcfe6af2bdc968213d05c306bc3908123a11083fbed6ed8c3d306c80bc6b96db3c382f59be6591a23d350691bc4cea183d1b304ebe9a759d3de49a8ebc2fad263d2b0e25be80837c3d1f2f64bce10e1d3d61fde6bdec0c2c3d87f11cbc895b123dd5f366bdb8298c3c123a81bb9e947a3c48395abbcf9ccd3a4d70e3ba976e06be13d9a63f581ccabcde84043c154bd5bd3d169d3ffd2249bd72eda5bb5573dcbd99ae943fbfb3babd5b4d163bec6be7bd510b813f37b3d2bd78c68d3b1db2d9bdff454f3fc760cbbd073c823b718db9bdaa9a133f025aa5bd59431c3bb53094bd22a2ae3e8a6741bd1bfbb3b93a3f82bdca50f03d36eb99bb9f255fbb9e68f0bc0a237ebde930f13b35c755bbea1075bd6c4d353d62972abdd9c49e3bc9c43dbdef413bbd90f3c9bbd819deba1c2780bc3d90f0bdcbdcdd3cab6104bcd967fa3b20f130bef041793ddbfd7fbc739f273d9afb43be7947943dddc299bccb3c4a3d67d937be2f89993d05bf9dbc8773653dac7b10be8092823d14e376bcddb8553d5736c4bd07a73e3dd4f23cbc05471e3d87df2bbd4228dc3ca6c6dabb50e9dabd1370883f8f0a143e2a4109bb0ac1e8bdbaa58d3f6d4e493d6abe863b1210eebd1418863fead0c0bbc9dac43b306200be03a8783f76cc83bd2e931a3cd8420dbecae9513f3c53b9bd2c19593c6c3b09beed96233fc3c8cbbda5255c3cb886f8bde646db3e5fe8b8bda754f73bfb9bcfbd8923623e239181bd49843d3b72ac8cbd59c5383d085431bd379167b943319dbd0077db3d4168bdbd0740993c52c68cbd10adcc3c626972bd68d6f23bd08027bdd1325cbddd154bbc8d920bbb9c2371bc40cddfbd75d6bc3cb9e505bc0cd56a3cb6a321be2e0f6a3d01ee8bbc8fc93a3dc8932ebe2b21963d53599fbc01d2783db5651ebe8a139b3dd31bafbc8bd7813d40aaf1bdb376863db6048ebc429d523d5cfd98bdf250513d137357bc7cacb2bd08a25a3f90f7b03e468cc6bc01e6bebda272673f615a623e296e523a7191d6bd648c683fc91bd23df1f9073c9a4de1bdd1575a3f8ebf923c808a0a3c61dc02be6987473f398a74bd66c3963c767112beaae0233fc3aecabdf17c983c550012bea3e8f03e74ceefbd4282a73cec1b02beb88d943e174ae6bdfc8b713ce8c5b5bd01deef3d2ab4ccbdb5c2273c9306b2bd7edd163e4a740abefb840f3d7322a0bdbccaa03dee3feabdc62cc13c259c5bbd743e8d3ba93489bda20c1f3c8f211bbd9e905bbd4c198cbca34d1dbbb090e23b9e42c7bd5a3c503c28cef6bb6f1e9c3c8f350bbea10a653d635e91bcfee94e3da2a611be7580913dfdf6a7bcc05d7b3da53103be1fa89d3dccfcb7bcd0f06d3d9a29bbbda2288b3d82e59bbc28ac60bddb5a1e3fd058133f989c6fbd97fa7fbda11b2d3ff332e03e8e06a8bc1671a4bd5002353f49ba903ec81680bad64ab3bdb971353f8f91043e760d5a3c4055ddbdb24b213f288d423d69327e3cf729efbd9385153fc64e88bded58c63c380c06bef3c6e83ea2e0e4bd2356d93cda8106beb970a33e3aea13bef87fe33c11ddcabd1b41243ec62e12be2d29c63ccb8fadbd7ed5243edaf127be36ba453d3b829dbd739ada3d3be324be0fcc293dfb8283bd1d5e4b3dca86f8bd69dfc63cce2b45bda7fe673b417095bd31ea1f3c4fe5fcbc2f7230bd5b77b2bc4e7710bb12c332bbfb8991bd4f018e3c7ec013bc1666b93cfc76d1bdf43b5c3d7a7b93bc7b7c4c3de9acdcbddfbf9a3dc892c8bc0464693d6556c3bd587f983d2295babc586eb4bcdb8dc63e4e33503f6360bebd2c88ffbcb262e03e87fc2d3f419e67bd8b9734bdcb1cfb3e9264fd3e8f3eb3bcd1405abd8d33023feefb9a3e701c583b2daf83bd83a4013feeb0053e94768f3c330393bd8999e43eb00e383cea039a3c4bddb5bd40dcc43e0cb2b2bd7ba9f13cac32d5bde267943e0b011dbe8a0b153d1dc9c6bdb316333e7ac630be31fe143d396b78bd9903073efb0d2fbe7c90643ddd7b76bdaf54d83de8984abe74ed653d7af16dbd45a08f3d3e7331bea314303da74655bd6f17233d7b5305be1ab5dd3c394a1dbd9a40eb3be8e199bd46ef233c296ebfbccdcf9abc5a6ecdbc1663a2bade12fd39bfca32bd7b07723c7eac1bbcf9b4a83c5b576ebd0ad7603dffb8acbc33b7263de67190bdcac1943da4edcbbc9b1b0fbbdb2b323eb98c843fb730e8bdb9d3c4bbf1ba593ef7b66d3fc9d8b7bde6155dbc027f893e06683a3f6c535abda1e3abbc36f1993eaaf3023f7376a9bcc1b3dfbc1f889f3ea45a993e6fe07f3be19a04bd99d8983e2714e33da397a23c993835bde6d1833e6cfc9fbc63f0d73c66944dbd108f513e55c70cbed238243d86ab83bd215e0d3ec1403fbe7d083b3d597cd1bc1724923d487330be0770643db5ada9bc063a643df6e54dbe8675793d0fc420bd46a7853dda8654be4c03603d0be537bd9dcf693d92c835be019e2c3d3ed332bd29e62f3d69dc05beb0b9d43cb47a0cbd79eecd3cf4e695bdfbf21e3cb284a3bc4de5573c91dbbfbc31b3c2baf7499bbbb279e63b7691873c45ba56bc0578583c16a6febc07fe6f3d88d7afbc7272d13bc1a841bc5e2ea53fe4480ebeb11c82ba02b6053dcec5913f125fd4bd360d1a3c16a48f3da0b3723f2098a4bd2ee7603c8a79d33d5e37383f9f0b48bda2265a3c2182fd3d3c9af63e03558ebcc6dd213c9552033e7d8a823e094cc43b4543f13b7cf2e33d1200753d1947a83cd93f0d3c0f0e943d6cf6a3bdd58e123d71d7a8bcb532913d178048be81b7403d000000000000000000000000000000001614adbb9d3eb83c8eaf41be65614f3dfaebbfbc2d2c3b3df8f645be0b6c463d6e0328bdf0ba823d65c73fbe5020373de2292cbd25cc723dff971dbe18d3133d05c428bd888c563dcf14e2bd5aa8b93c3c6f09bd7f66263dd6b266bd52efd73b3a1793bcca43ae3cf36400bc549d65bb0000000000000000000000000000000000000000000000000000803f00000000c0fe713c3ac6d9bd939aa53f9e61e0bdb64bea3c61fe8abd0899873f937fa0bdfb2c173d85812ebdc6125b3f97b18cbd7fe8183df94e93bc26d21f3fd4ab4dbd636c063d89e5ae3aef72ca3e6368d2bc71280f3d7fb46b3a7eae373e2851ed387b80be3cac91853babd2a2bcb1bc8f3c0000000000000000000000000000000000000000000000000000000000000000cd3a963cd1747bbd3fe122bd3f5dee3b53de7a3cac226dbd2c8f09bda868b23b66a93c3c0a6b51bd6ed6eebc7ee83f3bc8d8e23be8d633bd8e7fbcbc7e8d173b6804f73aefd419bd8fb588bcf72d083b8193bbbadfecebbcdc1d2abc0145d83a169f9ebb1969a1bcc0f510bbce761f3b00000000000000000000000000000000000000000000803f0000000000000000e54679bc64988d3faf9ac7bc88ad28bc5cbada3a16ee6b3fcb4e87bc4d012dbc9d8b0e3cef583f3f0a6549bc1e7112bc6080383cd405143f84b85dbc803e08bcb8022a3c3c0ad53e27148ebc3dedddbbbea6be3b9885833ede60b0bc4ebb63bb9b04103b7a21d53d54f0f6bc5fbfb3ba000000000000000000000000000000002e42a13c40a2d5bc90221abdcca92a3bb41eb33c35e979bd75ea48bdfd8bef3b4373b43c5f2f85bddef147bd16bc973b58e3a63c0e7f72bd083330bdd7c5313be29c5f3c1f0043bd9b200bbd6b7bc53a4308fc3b2c622fbd9d9dd2bcd560313b205c353b99ff06bdc45b85bcef74613ba4006d39ed359cbc0f8fa3bbd31c943b719326baf0719cbb2b99943a1485383bb5b459bd57338d3f6facdd3d13d3c5bc55b24bbd4cf0853f24d7c23de2b3d5bc204db5bc7c34633fe192b33dacc6bdbc804decbbcbe7373f7eb9903ddf07adbcde0fa03a046a0c3f4ffc4e3da5f397bc7f8d433b50d9ca3e2da1e93ce36984bcfc2ca73ab50b7a3eb8968c3ba5b550bc846826bbc6f9cc3de3d193bc282ce2bbe61e2dbb3b779dbc9581f8bcc2c27dbbec0b8e3c858c09bc2b0804bdc61e92bb43fac63ccc9a09bd1b1a50bda8320fbbcd6fb43c0c071abdac0841bd66cee9ba2ec4b93cde2930bddae044bdb128c0ba7e99843c8ba80abd5e2613bdeaea57baaed73e3cc51809bdcf9e00bd4d70513afa7ef43b9f5accbcaf39a5bc3c990c3b426f823be10a72bc124528bc3a1a803b92cbeb3a086372bb149406bb8f77573bacb762bd57a66c3fe440863e201b0ebd6f0b70bd7a9e643fafeb763efed72ebd47c0f4bc2fda3c3f87bc573ee9560dbdae11a6bca00c213fba252f3e1c8b08bd0ee317bcb2c9f33ecfc5033e672dd8bc7405e8bbec94b43e99b0b03dfd6eddbccee38dbb756e633ece64423de183b1bc241294bb29f8cd3d7c093a3b2a4693bc080a5dbbf6b699bb0e61c7bc359c2dbcfcbb703c49245c3a8a87f0bc18ee29bcd484b43cfd5a90bc01534cbd250427bc8401c43c0531eebc50cb60bde72803bc3a10a63ceea2febc9d5c50bdf5d3c9bb5e1a913ce93af3bcfa2435bd8a2dabbb857b503cf1d1d6bc71bf0ebdf199a8bae170013c0c78aebcba6ed2bc458b8b3a7da3b83bb27061bc06885bbc2c458b3b51ce3c3ba98662bbdeba9bbb5cdb553b3bc94bbd1191403f00bad63e87ff30bd829665bd1ef0393faa79c93edb2e60bd1a5e17bd98ec213feffaad3e4bae44bd8566d8bcd721063f36328e3eeccc2ebda1207abc52c6d03e31745a3eb6501abd034739bce339993e7439183efe3512bd025911bc8965453ecc39ad3d0f6704bd21d6d0bb01b9b93d73edd23c0153dcbca2996dbb76fa503bbd76a0bc1a0a8dbc8654223cc2159e3bebeae1bcdb0c7abc3588943c7e41d4bb455e49bdb4dc93bc3ad4933c12ac86bc6ddc54bd8c2c5bbcc5158c3cd31fadbc99d55abd87ad30bc07143f3cebae86bc0faa13bd2a7ae5bbf17e3e3cea74a9bcd79e1ebdd4b27dbb93f0d23bb59285bc9bccd5bc759a6cb9b3ac943b1ff152bca7a08fbc27881c3b6bc30f3b7ad31ebb20e9c7bb42c2763b47ec37bdaad4153f6192143fd3b14abddd0242bd40b60f3f946f0c3fdfe97dbde02b02bdabc9f73e4060ee3e23ff4fbd6d44d7bc55d6d23e6217c63e112e4abd804e4fbc0cdf9d3ea394923e36dc0bbd03725ebcf88e773ef32c583ee8d22dbda1772dbcac011e3e0465003e7b1314bd974535bc4a5c9e3db47a3d3d799b0bbd4810b8bb95deb93bbce78fbc756bbdbc1845b43b2040ce3bc1d3e8bc201fa3bc0544343c335f8fbb8dde5cbdbfe6bfbcd545733ce59445bc99897dbdf918a0bc570d6a3cc80581bc2ca776bd9ab578bcdd1d4e3c629389bc15a94ebd12154abc8920173c53b291bc836b2ebdd780b6bbf0d3ae3b2f7686bcf49f02bda7ec3ebad9f8283b2d2042bc9e7f99bc7df89c3ba6454b3a8c0fa1bbf3efe2bb0235973bc30821bd5f05d93e8c483f3f850465bdb43138bd97fccf3e1af1363fee8391bd635d02bdecc3b83ef5221d3fd9267fbd63a0bfbcad999b3e91c2ff3e72195fbd1d4f8cbc43e2783eee25c43e72f647bd7ed17bbc02723a3e4ec78b3ef12843bd723d67bca1e6f53d76fb283eb6ab3ebd3ead43bcd5de763dab58833dc0ac2ebd2f6106bca124b73bfd8389bcd9bee9bcfbb82fbacae6a03bb4ddffbc5e3bb9bc6117d23b370827bbce7c82bd33efdebc6313253cfc701ebcdc547cbd089aa9bcfda7213c1d354bbcc09f84bd3633a4bcfa4f023c2b3d49bc70d256bd3b4e5fbc00e7bf3b259d81bcd5a43fbd09c506bc9e26643bee3576bcf19609bdd8519bba9296df38c09e4bbcba07a5bcf37bb93b9ca47dba5d0ac3bbee6bd7bbc102e03bd4b603bd17fd883e12e66b3f181582bd84c511bd314e823e928f613ff5179dbd00e0bcbc978b6c3e2621393f3c686abd668ca1bc6c844a3eb07d1c3fedf65ebde28161bcd1ab203e245eea3ee44e39bdbe5873bc98d7f83da2f3a93e1ce44dbd26a649bca058a43df575503ef8f136bdcb7a5ebc1dee213dfc76a03d091045bdb19f1ebce92c933a5aeaa5bc47c308bd46b0f4bad023f33a5b1733bd5f58d7bc5eb5203b3a028abb4aa6a1bddd89f3bced43ca3bdd40cdbbe175a4bd30cbedbce6b0e93b759414bc7d5795bd40c6cebc3b789a3bd52026bc755c72bd047493bc3295773b736a5cbcc49d54bdbb3d35bc3c1b9c3965dd71bc776421bd46a51ebb4f4a1abbad8f40bc5f63afbc4d89f83b6efe7cbba5eb02bc75f3e5bb4708073cc9e9b6bc3026e63d016a8c3ff4bb73bd516fb3bc3360e03d8212853f3bb18fbd0fa978bc3cf4dd3d10db5f3fd9eb55bd0c8e40bc2f57c73d05b2343f80f636bd5f422bbc8ea9a73d2b1b093f0cb222bdac4e2ebcbcdb803d40f4c33e59ef33bdb55830bc6d8c273dcf336c3e369041bd2e2346bc17a5893cb539b13d4c3a45bdad3a2ebc561109bbbca8f6bc12a420bd00000000000000000000000000000000a0c1c33a680002bb21e989bd8f7ff0bc894aa63b105280bb022982bdd89cd0bcad1e9d3beb5392bb5c5466bd63bfb9bcdfe4883b0b46e0bbbecb44bd8d408dbc311f113bf48c14bcd8a526bdaf1f41bcea28cdbab0ef1cbcb29406bdb0a4b5bb65c96ebb00e63abc8424acbcc183173b0000000000000000000000000000000000000000000000000000803f0000000080b8dbbb328747bc4ac68c3f21ff0bbdb30999bb489be939cc246b3f353dcebcf52339bb8e6fef3bd3e73d3f2df6a1bc4dc042bb9255123c14a2123f915daabc89d08bbb821c023c90aad23e0c10ccbc66caa4bbcd935a3b3098823e2310f0bcbabafcbbbc02d6ba0e4ecd3d42ad1bbd0000000000000000000000000000000000000000000000000000000000000000dc45b63c98b567bc06b61dbd6ad5abbbbb089a3c2062aebc805d09bd1e5b82bb90a1753c12d5a9bc8747f9bcebaf8bbb411a213c14dab4bcefbbcfbc882f1fbb65a6ac3bf381bfbc5ea6afbc72dfa039d59cd13a29a2b5bc948b78bc3cb3a23bc27adaba7155a2bcf26119bc700c133c00000000000000000000000000000000000000000000803f0000000000000000c100a03c6c587e3fb6ba0abcfc2ea6bc579eb43c202c583f9466f7bb8e7196bcac77c93c0d4b323f5a5529bc07ad98bc2410b93c4a260d3f791b58bca6888ebc381fb33c5440d23e70188bbc7aab87bc4eac9a3c7574883e8b06c3bc64ae61bc9d49773caf50003e5408fbbc8b7335bc00000000000000000000000000000000bbb6be3c807ed83bf88a0fbd59d629bc483fe43c53c1dbbb7c4e40bdda3d11bcfe15c23ce86a82bc8dfc3fbdd29314bc2a56ae3c494dabbc6ead30bde99d1abcff486d3cf310a4bce8fa0dbdb05ec5bbb7da313c3a2bc8bc9035fbbcde935cba6afcc53b704bc0bc7036c1bcd8d7853b22260b3b94d1a0bce3fd6bbc77e61e3c526ee6b98e7243bc6609e4bb825d223cea1813bb4ee67d3f5370fe3d7d8ccfbcdb96d93b8a4d693f131fdf3d25adf4bc1803973c39a5473f0b57ba3d1d65f8bc5408c93c8979253f9487943d31a0f1bc5350bc3cbaa8013fe5d64e3d802dd4bc9b2bc53c95d2c23e58a4da3c70c3d0bc6c5dac3cf3967f3ec8055c3ba671babc115c873c8445f73d96109abc8ad190bc4989473c7ed546ba1092fcbc188334bc7307ad3cbd1c4c3c1a41fabc356991bc8146dd3cad17af3b77413abdc209b4bcd6abbd3cc913b0bba8582bbd6db39ebcd2e9be3c79452dbc3a8139bd604a93bcfdf7893cf2384ebcca4510bd793d4abc8ad0723c144588bca78713bdfa71e0bb12680e3c990e7ebc04afd2bc8edce1bac60fba3bd19d79bcd3f4a1bc1d7bad3b82de9e3ba55408bcef8434bc7834d23b665a23bc7f53583feeb3873e9c01d7bcd0519abb4c73483fa608753e8f1211bd06d3e23b5a86293fc3f24f3ed03fffbc4443673c44bd103fc7b2283e67910dbd85f67d3cccf0e13e94fffc3d6a0bebbc460a973c3a63ad3e5cada73de4b206bd01f77a3c14a2633ee009363dda07dabc39a2733c798fea3d75cd0f3b311ccebcac71493c5e69233c92dfd5bc524d88bca9ed913c1ba48f3c1e99dabc7f7dd7bc8a65c43ceef8433cb86d2abd188508bdb5eec83c0102173babf238bda5c4f8bc6130c03c06d559bb6d1d35bd315ae0bc3a8c9b3c3c88fcbbef2d26bdcfd7a7bc94c3753c10c938bc029318bd5d075ebc4aac303c34aa53bc668d00bd88a4cabbb5efe33b5ccb48bca842c0bc4571a63aa4747e3bdfa3f9bb7f2258bc9df9813b61f282bc6a12333fb822d13e7a8edfbca82a3dbcf380263f8fd3bd3ee25d16bdd4700eb9bc09113f10d6a13e0ea514bd94afbe3bb655f43e1da1843ef2bc11bd42c9213c43fcc23eea744b3e92b110bdedc94c3ccdff933e5d5d0f3ec6bb12bddad5563c8a59483e9ca9a53df7c20dbd662d4f3c86ebd23d5626c53c068e00bd02df163cc0334a3cbd0aa7bcdda7a8bc98515b3c3635923ce891b3bca2f707bd074ca43c03e37e3cb07913bd10df30bd5789a53ca5afef3b70c524bd768a17bdc0c5a93caf28bf3af7e132bd14d60bbdd906653c241802bbd1fdfebc9169b3bc63be6e3c81d7ccbbc59b20bd023da5bc59443e3c8f2f11bc7555f9bc7f872abc7917e13b260a22bc2a80d1bceb0c29bbd505823b9ae4d7bb1eb975bc52929a3abdcc8fbcebeb0d3f81960c3ffaf1d2bc8c6874bc4902043f572f003f4de00cbd3e0c93bbc223e53e45ddd93e40080bbd05ef023b0baec43e64c4b43e2a0e16bd35c69d3b11a6973e8ca0893e5cccebbcc1cafe3bb9f5723e5df74a3e624020bd20db083c8b0e233e5324f73db6cb0fbd2073123c2107b43d68753d3d2f1b11bd77feeb3be938673c500789bcec38c9bc9516203c8cf28e3cff7294bc85b223bd9f27833ce244913c0ad30abdff0255bdb737963c6f252f3cc3b427bd40be49bdc2fb933ca419a33b4bd72ebd69d22fbde84f863c58b8d6b9d69c28bdd79e07bd0ca8453c97848fbbc8d623bd79ffbbbc6685143cfe31f5bb25a20ebdc56170bc9890b43baf8814bc0d99e4bcaf3884bb69ca163b1187dbbb1a6188bc89f73a3a0fac9cbc0b56d33e9e8c313fde82c4bc0b5696bcf24cc63e41e8223f16490bbd47f414bcb7b2af3e19b70b3fb3310bbdde5641bb71ee953eee11e63e36c710bd3990bc3ada39743e3430b33eb35a13bd78f3063b37033c3e198b823e3c6625bd1c5b873b3fe5023ec85c233e876d28bdf4c7913b4d12923d7294873d7dc225bdac4c603b27e85c3cbcb772bcdeb2ebbc2cbdc43b86487b3c5b1985bcdba33fbd62bf413c350b863c94f804bd889276bd6b9c583c99b02f3c146810bd4e134dbd2bd4763c89e4f13b102d2ebd4c2f4bbd8817403c741f133be57617bd265d0cbd0c8f323c302202bb2f6723bd3a03fbbca4bfd63b4cc6a1bbab3e03bdb2598abcb32b423be3c40ebcc9f5eebcf239bdbb46d0023a4504dfbb749787bc8ff5deb96f67acbc72de8a3e9071573f957bb0bc6de59abce9bc833efde9453fd468f1bcdae61bbcee9f693e4ebd253f98fbd3bc9f0dd6bb8a2e4e3eca8f0b3f88f501bda9f9caba74ba243e4b47d73e8033fdbc9bf8d1b800f3043e77a79f3ef01020bdd7bb593a7016b63df81e4a3eb04919bd6f035cb864f2553d9827af3d18cd34bdebf613b98e2a383ce2875cbc691f09bd850efa3a352e683c116d5bbc25265abd51ef053ca76d6e3c167203bd65cd84bd4b5a3d3c5c6b4a3cccb11ebd379479bdc02c473c3480123c7f292bbde7c25cbd2f163c3c7949833b63e218bdd8c725bd17c2103c796c283abc1327bd89eb07bdef27ad3be96069bb3cad14bd8d32a1bc0edf94bae2ef1bbcfa73efbca5ceb9bbbbbeaabae83bfbbb27929bbc18bbec3a2cef97bcc2d0073ef67d7d3f501263bcabd986bc2970043ee9ce663fbfd39abc23ff21bce4fff93d32b8443f8cd99cbc2078c0bbb805e03d821c223fa094bbbc6f6468bb795abd3d572afc3e3f06ddbcc9fb09bbd78a993d03f2ba3e288710bdb05b1abb04a95e3d734d6d3eb01225bd2857b5bb94caf53c5351d33dd24736bdfb428fbb3c05173cfb4771bcfe3d17bd0000000000000000000000000000000084e0c03bb315533c2aa0c1bc160b6bbd9a1e033c5a0f313cd15feabc60ad50bdfaa5093cdeabda3bcf80f7bc1e6730bd6f87ff3b3184b73b73ddf1bcd94b10bd3569a53b74b03e3a74aeedbc58d2d7bc28018a3b9a0df3ba3365e7bcff2b90bc015965ba074bc6bb7d3ecbbc28fbfbbb0000000000000000000000000000000000000000000000000000803f00000000128320bcb8c7023c60757d3f1c0e39bbc930b4bb431d763cd4f8563f2373b5bb674176bb8b8c933ca3a8313fa3ec1fbc69bcf0ba51f09a3cdac90b3fe72277bc874622bb564b8b3c8008cf3e924fabbcdfe780bbea70803ccddd843eced6e7bcfc5588bb6d082a3c3843f53dca5b10bd0000000000000000000000000000000000000000000000000000000000000000c49c993b9cd08c3a7009e3bbbac205bca558893babdd23b984aee8bbcf7800bcd5df683b25fa56ba4f22e0bb9bebebbb2555373bde71a5ba6175c8bb1952c1bb1b16283bbed5ffba1c98d5bb71d5b6bbc167dc3a815b1ebb19a6c2bb1b4686bb1ffbe33a647a24bbd162c1bb73650abb00000000000000000000000000000000000000000000803f0000000000000000ce34a83bf7c1633fd7f7a53a20f58dbb2cfcc03b2d54433f927f123ac0459fbbb974c53bf3cc223fa9814ab9e1aca4bb50c9b93b2827023f5d5c8abaa3069cbb7483d73bdbc4c33efa301fbb1635bbbb4211ba3ba5ac823e246273bb4858bbbb8822933b9939043e5f759fbb55afc1bb000000000000000000000000000000005878a23b47b0573b7642cdbbc0b013bc7c1ecf3bf7d73a3bd47b10bc48ba47bca824c23b3078a73a00c610bc09f23abc8d11a73b49918538236a14bcad1833bce6f97e3b510840ba807700bc5dfc0dbcf97a283bb08b38bbbdc106bcf02402bc6560363bffd20abbc86c01bcd3b2c9bba297083b059c21bb320ae8bb69eb80bba4cfa43a8753f9ba263b9ebb825806bb759d3a3babb8633fc1cf023e2e7086bb86ccaf3bf9d7483fac9be63d27bfbebbc332e13be6502c3f0a39c43dc37acabbc992eb3b79d20f3f25eda13d46b7debb5619d93b10b3e53e3aed7d3d3057d0bbcfefda3b5adaad3e4181393dfe32e8bbe7d5e63bbf08683eb792df3ca950f5bbf4b4db3b76d7eb3d187f243c1f7ff1bba8149f3bd26c4e3ba5279dbbfabdafbbcd68983b4be0863b1476b8bb1f5228bc3d48c23bab9e863ba6690bbc2f6b6abc5e64983b3e300f3b1855f6bb095935bc7f4ebe3b8f85d23a480e1bbc92a15bbc717d913b42c9b739d56a03bcddb529bc69119e3b0e51d739511a27bc14333bbcdeff7f3b18e835b84ceacfbbc488cdbb6986483b2d78a4ba9c7716bca3d2d8bb95f6d43aa4e5b2ba09f7a0bbda3c26bb4794d63a0460433f8f4b823e686281bb6e1aa03b5c892c3f0194653e8418c8bbd102883b4d96133fa4d1433e1775b6bb5229ce3b9f19f83efa29233ed0c5ebbba8b0bd3ba709c63e5710013e9b5bd8bb30e2e63b302b963ece1bc03db97916bc9f9d9a3bf606473eed7b723da83004bc18bae03be9aecf3d0b1dde3ca27bfdbb3c2e993b0ba0873b299f81bb79a7babb7436a03beec0653b65bba5bbd8f437bcb9b8c73bfca1ad3b24b2f4bb624080bcd0b9c33ba2e46f3b97a908bcd98674bc0489c73bb348303bc12f14bc8a7d73bc6ab19d3bef61be3ab7bc04bc6efe48bc8d5b953b906b3e3a942f10bc6cc241bcfd72803be5022bb98b550abca9e31dbc26204f3bb63e4ebadb8afdbb693fe8bb6e50033be3ea62ba4477bbbb846890bb0fbab33aa2fe223f7eb9c23ee93d87bb6e15223be62b103f4d4cac3ee7acb6bb13cf813b0ffaf73e2869933e3218cabbb7a9b23becd0cf3e2260753eae14e5bb43cfa63bb425a63ee5ec423e14b1dbbb64b2c43b7e047c3eee42113e3cbf02bc2e53c83b07242a3e4030be3d70ab07bc9217c53b78c5b03d136f343d18fa08bcf20b8e3b56059c3ba6774ebb31b5c6bbb23d733b94e2a03b585ea0bb56c748bc3ae8aa3bde9fac3bc143dcbb23c674bcd6a6af3b7848803b319d00bc6b4483bc0950b43b5a47553baeca05bc93377bbc9f6c7a3b52ebdd3ae4cfc6bbbe242dbc7837953b75efb63ace9a08bc61fc4ebccffb713b235e263a7a64f0bbe1621dbcd63b503b72a21eb9b97ef3bb0d6a07bc07460c3b1e55f0b953d3a2bbc5f299bbe22b8b38c54e023fe01e023ff65c12bb321fbd3a88d8e63e0050e53e468fa4bb7cfe433ba3adc63e3c75c43ec4a8adbb9c07813b58e9a63e97aca33e053fcbbbafe85d3b79a9843eacdc813e390ca4bb5298a13b07704b3e49ec423efb11f8bb0101a73b1978093e48b8003e1243eebbced4a53bc789903d757c7a3d3dfe03bc9898833bdec6a33b2197f5ba60fcbbbbc472603b4c6fa33b753430bb5e374abced90a73bdab6c53b2e8ebfbbd40099bc6e93b13bf6c0a43b42b8e3bbefd991bc3c52b13bf68b813b4efefbbbbec58bbcad22983b2ad12f3bdf23edbb10af66bc92e5a83bafa4cf3a328c0ebc348c6abc9e68873ba3f19c3a650305bccac543bc228d613b40cd6139e41f01bcb32e24bc89af383b291b99390ae294bb79f6e9bb071617ba0ef0c33eb9b4223f01fc00bb3207373a5c37ae3e25950f3ffffc83bb3bb0083ba36f963ebc16f63ec2709cbbb6ef503bb2dc7c3eaaf6cc3ed305bbbb5785693b81fe4a3eb543a33e1ccdbebb540a943b90cd1b3ec845743e055dffbb7092923bd2dcd33df928223ed89a02bc81699e3b0ef3623d7f719f3d039d0ebcfe85223b5af1c03bdd811bbac6bbb6bb152a413b0674a33b8ddd1ebbfd616cbc64b09e3b13c5d53b1041a1bb968fa6bcf231a63b46b8b73b8216d0bbde7e8dbc4258b23ba7da983bcc4cecbb147495bc02e78e3b758b4a3bac23d6bbbf8e6cbce43a983bf4b1303b1ec802bcb3197bbced476a3bb1bbd03ae261e9bb275d24bc42672a3beb3cc63a5263ecbbc68633bccef3073b28b82cb7c17fa6bbbff7d1bbc1ba6fba9433833ecf56433fba3fb9ba6503b6393f9d6a3e87682c3fdb4c32bb5e4185b8d84d4a3ee286133f8e5e14bb3726443b68e42b3e401bf63e2cca9bbb717f363bfebf093eb4f4c33e9dada1bb3853693bd96ed53d2936933e8404e1bb73c3493b518c903dec9f423e2c04cebbf40a6b3b8dfd1e3d76a6c33d149803bc3d003e3b648daa3bcd2514bad832cfbbd355253ba0aca43bbd7ac3ba00f66fbc0fe0803b22c4ca3b109877bbfd56a2bcc08b8c3b1943b23b0578a2bbb76996bc9a2db63b43748f3b715bd8bb5d9f95bc990c833b65e8663b237fc1bb04926ebc95ce863b002e453b40cce5bb91bc71bc3076803ba5a6223beede03bce5645bbcab8c3f3b112e5b3abf2ae7bbd7382ebcc30fe43ae8dabcb78b7d9dbb79c9cebb19dc98ba44b7043e14cb633ff6cf6c37d212adb9aedcef3dd8ce483ff5225cbab451533aa8a7d13d6f102c3f20a8e7ba61381c3b4e7eb53dd5360f3f2c8765bbeb9e013b5506913dcb82e43e4f7970bb45d1293badeb643d4da7ab3e68aeb4bb64f73d3b045f223d4ff2643e1b92fbbb06a03f3b44abbc3c1473e33d08e301bca67b0c3b61779c3b500a69b94500cebb00000000000000000000000000000000fd336c3bca89853bdafe2dbbff5174bcd409543bc1c58b3b09cd64bb661f69bc351f733bda2a923bb094a8bbe2a469bc3527433b85a33c3b732e8fbbd61d40bc72d73f3b13531e3b7de8a4bbf1e632bc7de72e3b8867d83af6d9abbb78321bbc8d4b093b0e72463a0e09abbb029900bc0000000000000000000000000000000000000000000000000000803f0000000044a702b986e2bd3b5dd1633f50659239d7530d3a900ac73bfb60433f47ae90b91045933a9748de3b5ae2223fffba13bbd256a63a5c42c53b7ee9013fb46c18bbd769d63a84bcd03b4201c33eb36470bb44b9ed3ac4d0c33b82e3813e47939bbb70f9ee3a66c5ab3bd587013e07fbbcbb000000000000000000000000000000000000000000000000000000000000000070fe533b451c14be7baa58bcc541693cfe2cc4bbbba30bbe1d7e99bcf5c46e3cbd7b06bcfcf0eebd8bb3c7bcbc12523c150425bc70a3bfbd9ac6a9bcdcba2a3caccb2ebcbd0893bd486263bc22fdee3b333dedbbc3f23abd773e81bb59585e3bf26629bb75c292bc0ece5a3b44e5013900000000000000000000000000000000000000000000803f0000000000000000347c99bd51e0a23f8c1baabdecd6f93ba14810bd7313873f715b58bd5c819e3b7cb7f8bb4887593fc94a05bde4f7ab397d49d43b01e8233fab0bcfbc1654c6ba79ec403c8651df3e8228c0bcb79ecb3ad7061e3c1a88743eabf6a1bc21d36b3b827e933b7248433dee2e99bc2d8dbb3b00000000000000000000000000000000f544b53b27c4a1bdf81240bcbeb1e13bfb9d6d3bf91e14beda5312bcad255e3cec18843a136e18be8db5d6bca89e8e3c2b9f6bbb58ef05be2e3601bd43f4863c22b0acbb99b1d1bd4aeee5bc29f4453cdba951bbfb909fbdcb13a4bc21121e3c94e36f3a5e0749bd99ae0ebc6dd9b63b5a51003cecfa88bc83003bbaf718953a28c9bb3ba675893bc4bdd23b0d5dafb8b03214be7398a23f3d85573d59c592bceaf915be91329c3fab28093d682256bcbcacc1bd5846873f58883d3d0c6081bc39e46abd45e8593f97e3403de84180bcbdd1f1bc9293223f4793203deaca58bc1c7a9bbc53fadc3ef0dbc73c9c2122bc8e7529bc39fc6b3e09bf1f3cf4a77bbbefd8bdbb5d9b3f3d336ca03aadb69b3a91f9e1bb8dd093bdb1269fbc8f9e803bfb55c0b9230430bd829792bc7da2753b4e83833b7922d2bd893815bd1f545c3c2626943b5b40dbbd23283fbd0c17683c10ad023b0c75ddbd136444bde03b753cfa67eb3aefaea9bdc37822bd7bac1b3c7556053b09b78cbd211a02bd6230333c97de433bedcb2dbdd2b68fbc6431eb3b47d7cc3bb4b9a9bc269f84bb2752b53bb81ec73bbadac13ab2bb883b5978383b536e11be16bb873f8a5b7a3e170746bd4f091cbec405883fd66b623ee2cf52bd9824d2bdd486673f0d0e503eb17c37bd4dff9fbdffbc423f5a012c3efde220bdf37646bdb529113fc570053e469e00bd569216bd10b2cc3e13eab43db8a6d2bce70bb5bce2f2683e146d3b3d035a95bcc8d684bc4e218f3d6a08053cf278febb6dd22dbcfdfc0ebd49f3b1bcc3ed31bbbc2233bb97c28cbc3108fdbcb581c5ba9bd8583a4c8990bd87d363bdc586483c9c3ac23bf503b6bdfaad8abd74b9603c09627e3b4dedabbd56c081bd6ac12c3cb586383b6bd695bd660962bd58f81b3c1b30813bb8596abd3d3222bdadd4283caced8d3b12f729bde5e6bfbccc44283cb5c7ca3bd56ba6bc906fecbbc8e1193c4754943b6d4a6cbb632d353b90b7e53b9818f9bdda335c3fc1e3e43e64869bbdf8f30bbe43295d3f734eda3e97a5aebd85f3dabdbb81443f4c60bf3e997a98bd1ecca1bdda36223ff9e09c3e787276bde69b63bd166bfb3ec1fc6f3e76fe57bdbb2e2bbdfdaab13e81cf213e167d29bd9b11f6bc06a4533e35e9ad3de01ef8bc24daaebc65e0a13d9d95973cc53793bcdf2775bc11fa3fbc0730d7bc28343dbc7280a4bb339c8fbb060f1cbd047f3cbb18070d3a421a30bd84c797bd40c5123c5817933b029870bdb71ea6bd5106f33b3623683b590f82bd2385a4bd59b7ff3bd9b6853b13ce35bdbb4868bdc8b588bad7935f3b5c1949bdf1f24cbda2b0153c5d603e3bb02704bd95e6e6bc53f7183c1475ab3b2e0a9ebc434326bcf6a93a3cc013543b96448cbb824a463bf34f1c3c0206cebd6d2e273f33ae263f9996cbbd7aceddbdc088263f93f7213f63eceabd4615a9bd93e7133f963f0b3f81a4bcbdf90e8fbdcf29ff3e8a63e63e6166a7bdeea01fbd1d7bbc3e2fdfa53edd4e61bd4b5f24bd98d4923e3e446c3e5eb561bd0bf5f3bc4f68323e13aefb3daf8e1cbd534ebabc69eb9b3dbd51063dffc8d3bc0bbe81bc5b15143a636401bd808e97bc2f39bfbb85f7643b00bb4dbd719b09bb5dab843af8c1ebbc4bb7c6bd44d45a3c983a8b3b61083bbda0badbbd8f48393cd1119f3be2174bbde8e6c6bd9d2c0e3cbaddd23b893947bd2047a4bde2d6033c0170923bf2b524bdcc996ebdcb2b263c0f42ab3b8a4205bd43e515bd483c553c303db43b121b8bbccd6933bcaa5c7f3c519c603b528590bb5b62393b1962313c48779cbde237e53e2edc5b3f8e5cf9bd3d27acbd82fbe33ea513593f508713bec0748ebdac32d23eb23d3c3fe07ff5bde55b67bd11ccb53e575a173fffc9c4bd8f0633bd6dac943e7db2e33e9e52a0bde97f17bdff815c3edcc1983ef95979bd9afaeebcef530f3ecb6b253e09e036bd1e1daebc54dc7f3d1cba223dbc3ef1bc424c80bcaed0ae3bb2f621bd4f1ca5bc9b0d89bbcebfbb3b264e88bd965ef13b79be683b99bb9abc05a1fcbde1e2af3c8a3ea03b4daff3bc2a6efabd4b95273cb5bfb33b1eb119bde23fefbda5e91f3cb1a9993b77200ebdd07bb4bdf5919a3b2f69c53b60020abdd2418bbde7bd293c9a9aae3b41a1c8bcf26924bdf790463c7e72ba3bda4c76bc731b4dbc0c72613cabc3943b6b1b49bb81b9e23b83f0583cdc8c4ebd22e27b3e5297873f8f3411be49f556bd39c2763e8083863f123a27bedb7f34bd5f0d733e1b7f613f9b8ef6bd629525bd96d35c3e51ed3a3fc500d6bda63303bde18c393edfcb083fb9aa9cbdd909f2bc5129123e5629ba3edd6482bddebeb5bc258ec03d1d80473e94d236bd715f73bc994f383d43e2283dd2ccb1bca95227bc6176fe3acb5f66bdab9069bc1cb04bbaade5463b72dac3bd1708733cfd2d133ca98024bc908520be32600f3d48a6e83b2436a5bc12c222bea5438e3c6661be3b4117ddbcb6b70bbedcefed3b2c96b13be805e8bce5c0d8bdf51c833b996dc73b75c1c6bc8b0fa1bde60ff43ba20aac3b3df091bc20443ebd08ae313c71f7e83b5ee8c0bb457029bc2a45223c9736f23afef942ba45770b3c0a89393ce7bbabbca9e95c3d38e8a23f7c6c18be929b96bc4ccd4a3dfa9e9b3f6ad422be7207b1bcce0a9e3da8b7853fcc79f6bd3c4caabc76f5b53d85e9553f3335b6bd54579bbca795af3d85e81d3fbf9288bdff7890bc4c2c913d07bdd23e6f7052bd351374bc86ed473ddf75583e625408bd3310b1bb63aaae3cc47df93c1cb9a2bbead0bbbb1c2e80bb86a9a9bd13402cbc00000000000000000000000000000000e397ba3b0ee506bc362018be9b973f3c350ae13bd9956fbc46460cbe9ff60f3b3edfd03bdf1498bc1d49f0bd9f63d7bb98ba923b7a4599bc45d0c1bd25e805bcd4568f3b478b96bcef158ebdc6f37dbb8979ac3bb70050bc3d6e31bd5b9cee3af146093bf924d8bbbb8b83bcbbd4c23b0000000000000000000000000000000000000000000000000000803f00000000c0bb9c3bde898ebd651ea33f5425bdbd34794bbae13de7bcd9e5863fe6a07abde2fc1fbbc5c486bbe8ef583fdd9e2bbdda0db7bb5de1363ccc51233fc46d05bd79b0c2bbbc51433c65e8dd3e692bd2bcd5205ebb305d013c8f10713e4bd387bcf49031bbd95466baf909453d3a113fbc00000000000000000000000000000000000000000000000000000000000000007542edbb6e23d5bd0b25d9bcac68a03c38503fbc3747d9bda08acabccdbdaa3c111430bcbb73c7bdc9eee6bcde72a53ca6c755bc46ecadbd23a8b7bcba1e913c2ff460bcc4088fbdf9655dbc0261673c2b8342bc65f448bd168a1ebbc573fd3bac88ebbbb6eadbbc854ac13bbe9f3f3b00000000000000000000000000000000000000000000803f0000000000000000065bf8bce637993f1a0266bd127cbabbab41183b3ec67f3fd43a2dbd4e17e0bbb1c2ba3c1122513fe83a0ebdb1cf37bc7c87ec3cdf4c213f393a0abdabe71cbc00d4d83c9060e43eaf3b11bd854ae2bbb93d823c9803873e5d7c12bdc075393aa64c2d3b1899b13d28491ebd82c1f53b0000000000000000000000000000000056ce44bb2e8230bd4a9af8bc5f5c4a3c2ee25dbcfe39cfbddf65f2bc7e7cb33c7eec32bc835be8bde0661dbdd8aed03c61c12bbcabdadabd5ba518bd22e4cc3c940f10bcf604bbbd0f3705bd0489b13cd97c21bc53639cbd6a5ba9bc4cbf993ca12ae1bb4add5ebd5bfa06bc1ef54e3c04f3983af271c5bc0c46a23b1163f03abdfe073bfd1134bbff1a1b3c048bdd3a59cacdbd2af7983fbbdab53d1f59f3bc61cfc0bd6185923f7851853db6b3cebcde903fbdd0027e3f6a467a3df86ce4bcd73d81bc99464f3fac963e3d8e41d7bcc00e7b37f4ca1e3f9a3af73c117dbcbcf792223b1998e23e6b5d0d3cc85f8cbc9c5dc1bae85c863edbd436bc9a9b0bbc8acf37bce7fdb53d61dbc9bc80756a3bc23643bc46411dbd4f6b1cbdf031c43b6578c0bb446155bc85cb11bd8e8b193c33d6e1bb0b3683bd1c015bbd7f0cbb3c496178ba874f92bd471f63bdbd46a63c2e7d5dbbb654b0bd290a67bd3f52df3cbbd722bb971894bdc82b39bdb484a13c1545a0bb6bf087bd20850cbd6494b53cdea214bb718e3bbdf7e3adbc287b833c9d1c143af409dfbc031383bbb24b333c9eb4cd3ab23f93bbac58be3bb928d33bade9dabdb7a9803f01c0883e2d0861bd505adebdd1b87f3f72a2743e716280bd035467bd5ac2563f85b1543eeec062bd2fe52ebdf5f83a3fa225263e246b55bd7a53a4bc04f90e3f3b58f03dea552ebd52f880bcf4b3d33e4a2c913d4ee312bdf2d829bce502823e1979fe3c3943d4bc5dd589bc1cf8db3d634a52bc7fd51abc9eec50bc06c906bce76011bdc234a1bb59c88bbb1c228d3bb9112fbd1a8c2f3ba714a1bb05fa1cbd41d38abdd689a53c077fe1b9a76380bd69a49abd8418c03cfbe1373a502b8cbd70008fbd2870c53ca3274638233285bd28f97bbd7657c23c1168b6baad796dbd36223bbda966ba3ca7b8b7bafc133bbda5dbe9bc4edab33cddb7acb9754ddebc167f27bcd7858b3c8ebbb9b9851d21bcb007b23a1dc8403c12d6c4bda0f7523fde2ce63e83639bbd2490d3bd8941523ff053d73e1136b9bd02ab97bdd7823c3fb060b83ef085a6bdab1252bdd2a01e3f0c41933ea4e993bd5f830cbdfd67fd3ebd975b3e46f483bd3419d9bc907dba3ebca80f3effc653bd582bb5bca7b7703e02418e3da99227bd6369a2bce5c3e03d2bf5ca3b284dc0bc408f4dbc61af2c3c33971cbd124d64bc989aa3bbd2a5403c44723ebd4f97f3bafb2f58bbd223bfbc78909fbd5a4f783c86f8193b518f28bd7d8aabbddbbf813c5bcbc739ac3662bdd7fbabbdf812a83cc7798e3b010326bd272982bd10ea043ce0e5c13af26e4fbd4e0b66bd5dfdbc3c08de80ba758a1dbd1e3810bdcc8aa53c81444bba4b31d8bc921d62bcecf9a13c4dccb33610dd37bc92e606bb6aca803c8a20b1bd71d3233f34e4213f67adb9bdf1e8b8bd0c1c233f0c5d1a3f0fa4e1bd9f8583bdbece113fffd2023fb127c3bdab3e53bdcf9cff3e26cad63e1a24b6bd8c9dc3bc8cd9c13e92939a3e1f3285bd54b4f4bcab189e3e55d1573e98ea89bdcfdcb9bc7db74b3e9743e83d68694bbd61cca6bc9fa7ce3d8ab7ce3c0bdb0ebdd59a52bc5000893cdb991abd63e9b4bc194ef4bbf041563c688354bd2e3618bb37389ebbba7d85bc939fbbbd7f23843c0808e3396a9112bd0bc1d5bd912d993c1c682e3b722032bd714ac6bdc7f89f3c3185cc3ae5a038bd13dfadbdf47ba43c2052173a1c2434bd824086bd56a6bf3c145aa5ba9c021cbd660d2fbdc3cdc73c64c0acba6f99cbbcb83094bc99e2ba3cf464fdba1a9c34bc252f0dbbde1f8d3c415192bd7e86e93e5d90513ff7dfd3bd6a9b9ebd39ccea3e74b34a3f7e7903beb51980bd3f45da3ef1a22e3ff4fbe6bd29c048bdb96fbf3e058b0c3f776bccbd96d41ebd30969f3e787fd43e4b44b3bdd67d09bda4d1763eca47903e3b7b97bd63f9e1bc26bc263e3a161f3e850b71bd4323b7bcf410ad3da08c283d97ce20bdb8e765bc31578f3ca4f023bdd54edfbcd079ccbbb6bed83b935f73bd55b0743b9a040ebbb84793bcc38cdcbde362a83c4ad85c3ba7c4c9bc5093d6bd2c81033c0de7403b31fe19bd5007e1bd2c4a923c7d8a183b19950fbd09deb6bd2af64b3c7d99233af7eb1cbdb35497bd3943b83ce29e1dba7f51e7bc4e2142bd0b69903c69cc02ba1faab0bcb6c997bcbc83b33c6fc303bb038113bca9ff803a9f158e3cc58c5ebd70448c3e9127803fac6de8bd6fd966bd7e708d3ef3247a3f57ae0dbe8be62fbdac09883e205f4d3f29e8d1bd353d2abd4d867c3e6c102d3fad78d4bda1cd00bd9626553e0eb7003fc9f6a9bda85500bd0fbd2c3e0825b33e12849ebd19acbebc3792e63d5dd34c3e7aa76dbdece0a2bcdcd6753dc08d593dd55722bd20e14ebc41512f3cf4e841bd443fbfbce49fa3bb8709acbae9b697bdc708233b56c13a3b6afda4bcdaa505be569afc3c9c76623b1ed5e5bce2680abebe94963c7fc5303b8f0202bd2f73fbbdc86c613cbbb0503b839b00bd9212d3bd9050483c6a39c7b8991bfbbc43f8a9bd133f963ce0c5fc38b7efc8bc4e4160bd4712ad3c9337ad3a869754bcf40696bc9841933c3af317bbd48efbbb9930a53ab251853cd24102bd9e47c43d0f04993fa871e0bd8a64ebbc0b7ece3d1356913fce3206bee54cedbc65d6fa3d290a783f5df8d7bdf166e1bc8954003e35e0473fe417b6bd7320cdbc3bb8ee3dda82163f06ae9dbd756db8bc6592c33d4cadcf3e71a48abdb649a8bc9eaf863daffb683e668965bdd37c4abc846be63cf0e3733db88200bddca73abc5b3eba3aa57a7bbd90afd2bc000000000000000000000000000000001748553bee3082bcf56fe6bd524dff38e2f0a53bd35fa4bcb299e6bd320f973ae2a2a83b0c42a3bcb093cfbdd60ee8bb06fa3d3bb25ca8bc6854b5bd4f088ebb9eb2ee3aa1c8a8bcd9b193bd69a2bb3ae7815b3a262490bc3bad4abd100f063c68369ebaa16159bc7ca5cfbc113a4b3c0000000000000000000000000000000000000000000000000000803f00000000139ce3bb7817dcbc55f0983f73718dbdd88706bcb6eaa63b01fa7e3f322c63bd864126bc45fcc83c18194f3fae9f41bd4e7041bc2731033d8c231f3fee7d35bda0593bbcda73f43ca4f8df3ea4ca34bdf37c38bcac409f3c0d94833e35e91abd8e7e27bcfe77a93b37e8a33d32ec0bbd00000000000000000000000000000000000000000000000000000000000000005637243c33fdeabce7b70bbd3e4c1e3c12cfb83bd36111bd0261f5bc690e173cc56e8d3bb86b15bdefe1ffbc9139043c43a863b97b2116bd9c44e5bcbf551b3cbbfa48bb0ea10cbdf0fcbfbc474f3d3c5926b0bb88d7f3bcc68085bc14fb4f3cf1b20abc7df5babcc5e50bbc87b26b3c00000000000000000000000000000000000000000000803f0000000000000000ab8a5a3c54ff823f0f883fbc4d61b7bc0970cd3ce2d85d3fbe5045bc442aaabc1723e43cc18b373f8a3646bc57dbaebcef9de43ce7e1103f61ce69bcb519a9bc95e7d93c9a1cd63ed68db1bce9ae97bc5a04a43c3ea0893e6042c0bca4c867bcf0773d3c8eeffe3dd8b5f1bc4b0030bc000000000000000000000000000000006a203d3c1dff273a8779f0bc87097fbac7b7273cf10dcbbcbc5123bda2f9343c27471e3c5db309bd8c0331bdcafc213c7c5cc63b191b21bdfc0928bd370b2b3c82b1363b03ca18bdd1ad1dbda5b2373cd9e5b1ba6ec71abd1a3003bd1a467a3c396ba2bb145305bd2ff7c5bcf63a8d3cc80bd8bbe09bb2bccb1b4dbc95478a3c064591bbc55f3dbc8079b3bb51355d3cab6d80bce6d5823fd6befe3dde1de8bc7954efbbe0c2723f9574db3d48d80fbd0fb6443c4265503f4025b83d4d360dbdc97eab3c92592c3f7314923d0aa507bd8d7ec73c9c9f073f4458483db2d6fabc307ab53c5ab4c93e26ffd53c1fb2ebbc94ab863c0a14833e38d9833b4d48c8bc281bbe3b355bf63dc3e186bc5db082bcef8cb73b5bfab6baf38ee8bc741742bc36b5173c79eb3b3ceb51debcd2ea03bc0243433c92b1a9bb1d142cbdd16523bbcf9b3a3c9cd86cbc299d21bdc1e5f4bbbeb92a3c12bfd4bc20eb3cbdf918ec3a0bcedb3b2637c8bc31b12abd7068573b7c14d03a5bfaf2bc5de51abdd5a8233c26896a3a8d29b9bcd34fdebc4072063ce6472cbbc54ea2bc26e998bc4a268a3c6ac99eba10ca18bcdd1c14bcabe65b3cf2d9dcbcff605e3f2bc1893eaf5c0fbd7ac6afbc24e0513fd6ed763efb0c3cbd98fb31ba91872f3f9d4a523e8b3e17bd141ef63bee4f183fe218293e5b7a2ebdea503a3cfe18ef3e8eac003e3b0a21bd0fa24e3c8882b63e49a1a83d66161ebd15d7273cfb2e6d3e97843b3d611efabc7748af3b8edff43dfbab293ba5d5ddbc2c13993bddce2e3c40f8ccbc3de792bc95a3053c401b893ccb3acabc8fcf9fbc4bde2a3cc8a6893bd7ea27bdec7e67bcaf314c3cb5171bbcb0b444bd97dc35bc2936363c8d3191bc7a8d48bddec1c8bbace2113c9eaaadbccec238bd1fb784bbeddfd23bbcb1cebc01722bbd014fd43b3520863a5571c1bc734d0abdc4cf313c8818c7ba3b8b96bcb32ac2bc7893893cfee641bae46e29bc08aa49bcfc304c3c63fbf0bc1f27383f2654d53efdff19bdcf0bddbc80eb2d3ff742c23e15984dbd9d5d34bc8c03193f17e1a53e96804abd58b5baba361a013f3018873eedcf45bdc552a33bb13bcf3e302c4f3e5acf38bdb2aef03be65e9e3ef7b70f3e20ad38bd7dbbb63baeb7553e3e9aa53d8b6428bd91c6343bc517e33def98c93c0c2f12bd2000683b479c8a3c089ab0bc84a5c6bc260ab73b3b4f963ce94ab4bc3d6ce4bc8fb9dc3b24032b3cbe831fbd822acebccacc493c6cbd83bb8e213ebd9696aabc4abf343c029e32bcf5c850bd523e76bc39d7263c315c28bca60e24bd63838bbc4cb9a93bfd5ca4bce9f831bd003a2ebbc927b83a909596bcec4e06bd61f1e53ac849bcbaab0d86bc68d1ddbc4cf6603cf5b83bba1f3535bc6a3b71bc3475303c9860f1bcc7f0113f454d103f8b031cbdb683f9bcd471093f9ed8043f69134fbd7d0a59bc636df23e05dbe03e3cc93fbd8085eabbc7a0d13e5076ba3e5f3650bd217c083b1db6a23eebb78d3e1ca121bd3aa4373aea5b833e0c1d4e3e19b241bd4ee57c3ba7cc2e3ee4c9f63d0ccf26bdf4f671383312c23dad06423db23d1fbdb607193b9908a03cb75594bc8172e8bc1eead63a1961903cc83ca7bc733b02bd7ee7a23b8ed3143c1c9121bd25b2fcbc8bb9093c33df81ba7d5248bdebcfe4bc0923db3b8d2906bc240253bd2c4bb4bc5b5eff3b853247bc4c7d4cbdc3f285bc07d1843b3ff38dbc38773dbdbb36bbbb74e265390f5ba0bc7f0b22bddf0a8e3bb9796dbb3b0e96bcf1cbdfbc9d70453cbbd021bbf2ce41bc498081bc8ecb383cca65f2bcb28cd83e1af1363fd5b91ebde33c00bd8683ce3efd23293fec3956bd694895bc67bfb93e1705113f78744dbdac7f49bc4756a13e74b3ed3e5c224cbd85c0c3bbbc3c843ea31cb93ebb9e47bd5a6f97bb359a4e3e7d78853e16fd49bd81e58fbb7a2d103e01f9243e380c45bd6b54a9bb0cdda03d50d3863dc28030bd7cd9b4ba58b4953cca6f86bce58400bd362e06bb0272403cc488a7bc6c7103bd7dc8943a6640b23b2e5f28bd237b09bd891ac93b11e5afb2abdb2cbd46dc0fbd7362ef3b5b7fe7bb866d5cbdf432dbbcaa838f3b94c519bc588e46bdd74babbc5ab5053b582a81bc99c244bd73e31abccbce69b8dd8668bc1a030fbde11bcebb25cfbcbb23489ebc5154f5bc3ce0583cdd66b9bbf5d254bcc43c6fbcd09d423cb105e0bc09348d3e90a65d3f85521abd7fa0debc5e3b883ef9744d3f99e14abdfb1371bc6375753ee4c42a3f490719bda2c44dbcd9415f3e386f103f8d9b3dbdef3204bca3d4383e4b70df3ec44330bdccba0bbc344d133ee300a33e483a43bd89c6c8bb63f7c63d250d4d3ec6bd20bde0da28bc96e16c3d429bab3de1c239bde7a3bdbb2dbd5b3cf93783bc426301bddaa776bb151a043cd5b5b3bc054918bd03ae90ba91b94cbaeecc34bde7fa05bd9bcb773b73013cbb45bf5abdfa200fbd62559c3bc09ac2bb1ae061bd90c0fabc9dfaab3b681105bcde5d54bdc262cfbc188cd237b52366bc9b8248bdbee051bc900886bb569c8bbc29b22cbd5be696badbe616bc1cb29ebc889af2bcf12c4c3ce3a90cbc288357bc64b17cbceeb0363cefc2a7bc1a52063eee4c823f8ce2f4bc56aa9bbc1125063eec796f3ff7291dbd5ba85cbc54bf053e522d4c3f5df60ebde5e12fbc274df73d9491273f7c3710bd00c011bc5479d73db361023faa7214bdad6714bc7e78ad3d3b41be3e94ba23bd1eb73dbccfa9783d2e646f3e72c22ebddcc05bbc33a1043d6a10cb3dc3232cbdd18b3cbcfa8d023c2730a6bc71a60dbd00000000000000000000000000000000d506c13aff65e13aa7f819bd7d9a22bd17d8793ba725303a07292bbd8f2c0ebd375ecd3b1ee529ba074334bd9c350abd3534833b1d9a92bb498727bd025ceabc7c03253bdc42dfbb456420bd763aa7bc2e921abadc6436bce3810abd1e5004bc9245d1bb06fa64bcad0cdebc9c16eb3a0000000000000000000000000000000000000000000000000000803f00000000e1842fbca1db1e3cad6d823f775d69bced1bbbbbce2da53c21375c3f007678bc987e94bb0f48e23c3e34363fe51193bcdd5687bb11b7f13c01af0f3f24f7a5bca01ec1bbc776d83c6ed4d23e8c88c8bc008d0cbca4c6993ceb9e863e2fc0e3bc5b4a28bca9a9343c7f28f13dc5b804bd0000000000000000000000000000000000000000000000000000000000000000534de03b6a6545be2009103d97f879ba9f9d98bb7c5c3ebe1b02f33c8efa643b0e6449bcd5632dbe9dc0863cf00fc63bacf37abcacb70cbe39a1223c6845cd3b615e41bc60c4cabd1a45e53b1f9be43b4ec1d4bbcf7d5ebd63063239f2b39c3bbe3408ba0bb52ebcc75293bbb368a33b00000000000000000000000000000000000000000000803f00000000000000003ecacbbdb27dab3f066b0bbe11caa13cc73e38bda9268e3ff2ded7bd6b8d793c553c60bc19066b3fe784b0bdf9794c3c80f8083c9ed02f3f648587bdb642303c7960a33cdba1e53e3ac63cbd3f80003cbb19d73c7e2f643e68675dbc1e3fd73adea2a53c155c103cf74ad23b4d1bd3ba00000000000000000000000000000000fd6b2e3c8bebd1bd40d85c3c2e9901b96109813cd6a722be2802fa3c5f2b13bbf6c3cf3bdf6e45bee7f6b03c26e9b83b016d9e3ada2b3abec1a4623cde8fcc3b2f99cd3a62a117beaa80c33b319c2a3c58ab463b7d5bdebd9a68703a5ab30b3c27881c3b306977bd228f8cbb5358103c3e0f123c8c8aa8bc790c16bc132c0e3c66ab4e3c9815383c57b08fbaf2c3493be75a47be11e3aa3f414e6d3ca3cc69bc941e28bee26f9c3f8c52013b78881abcfeda02be5dd78f3f73d544bc21b2efbbf692b8bd8aa86e3f58b861bca51630bb861d5ebdc349333f2ea817bcb5a22ebb629dcabc72eded3eecdaa6bb9ccdb6ba299d9dbbb24f6f3e38d0f83b7d5830bbb8e90b3ca320323d447fc73cc39f15bca604ec3918dfd6bd8119ce3b3f24a6ba7aa33d3b6c9650bd899f02bcdc21e13b52e7443c2e6908be986316bc6f663c3ce0ac323c249e24be644366bcf5985d3c43282b3c511327be92584dbc65ff863ca095093cedc708be0b4076bce5914f3c3e3b363cb9f4d5bd049133bc0dec393cf6c9563c958b7fbd0762d7bbf41b193ce849683cf14adabce41633bb9986d53b41745e3c9da096b9f3259e3b60aa523b72c545be91d98d3f30a06c3ef85879bd36a64abe3aec8f3f704a3d3ed37e5fbd500b26be9fbf823fe421143e994a29bd73ca02beef2f5e3f6b74d33de731febcc321adbd72f2283f0fd9973db313acbcab5f6fbdcf65e93e2b303c3dc38a45bce83ef3bce3f6793e9b97b93cbb8dd6bb6ec92bbc97f68b3d7b87d93bd0ff91bafb77c5bb692850bd7daf76bc0ed2673b27eacbba287ad5bc8e8816bd869f723cd20d2b3caf3ecfbd76c240bd4e99cb3c8d23683c16c008beb2a24abd8655d03cbde86c3cc0f50bbe985c30bd0015ae3c36df663ceaf3fcbd7eb20fbdb227a33c2b28803c5767c2bd713bc9bccd547a3cbf41893c11fa7dbd11ec3dbc39183d3c17bc8b3ca3dee7bce262a2babb4cfe3b769b753c077b1fbbba67273c4501f83afa2e3bbed40c6c3fc090ea3e7518dcbdcd3d43be80646f3f4b6ad23e2968d9bdeaf12abe2de15e3f89c6ab3e9b09acbd5e5808bec8ec3e3f9472813eba6078bdfdced6bd16f2183f6fac333e60c72bbdb18093bdf32ed53e5272da3d2a85c2bc523a2ebd4fef763ec71f383da0df08bc2644b3bcbc50a93d21ea8cbbf23eb93b58576cbc5904bbbc126231bd2cca4d3cb0fca1bbfdecafbba49e77bdacbfb73cfdd0193c654188bd55f1afbdda0d0f3d0c01533c2164c2bd4686b3bdf650fb3c0aeb933c9c23e9bdd713a0bd1a18f03ca736723c60dbb4bd3c1f71bd60017b3c20e2993c4a77afbdbfe91dbd2d03913cf28f813ca76860bd476c86bcf922313c97a5833ce8addfbc59ce41b972cac13bb57f743c06fee4bb3367633cf0a56c3bff691bbe88f3313fb858323f147b19bef65a23bea7a3353f0a3a263f93d31bbe2a5310be2d252b3f73850b3f1f4efcbd090002beda031a3fe8fed73e4158c1bda9b1acbd3a75ed3ee9ad983ec9ec78bd6aa396bd0cb7ba3eb21e333ebb1614bda8143bbdb436603ead7e923d90b033bc12e7d7bcd9b8be3dbdad46bcb1d6393c4a8e6fbcbfeb4abbc07289bd99218c3c4487b6bb0ed7373c84aba4bdf802e33c00d81d3cf7241bbdd9f7ffbdae923b3dc964853c88488ebde3a605bed6452f3d31439b3c2534a4bdfb81e8bde2ae113df1c19f3c2130a4bd32cdb1bdad5fe43cf3c6953c5bc18bbda8bd5ebdce51973c5fbb6d3cf3a949bd1c91cdbcdc4a333c768f6a3cc4dbdbbc5d96b33973cb703b2d432b3c6520adbbd00f9c3c3059eb395846d9bd7143e83e9a7a6c3fa89339beb676f1bd26cff13e26be623fa23543befa45e4bdfaf5ed3e697c413fb8a022bee492c7bd313dd93e5cdd173fbb49f6bd99beafbd6f91bc3e6e38d63e29bdaabddb1f86bd8035923e96a97d3ede1d31bdf9b831bd3f87423eab17cc3d534e1fbc50a6c3bcc203be3dabbe8cbc97c8a13cdb0756bc0cb94c3c810bb6bdb24ac43cff123fbb9c45b03c850cc3bd5980163d28730e3c92ed5ebcea851fbe35a8543d3e01843c38531fbd1fcf29be20714a3dd6ae953c571c56bddfaf18beba302c3d14028b3cea4b5dbda9c5e5bdd9f6e53c91d2833c544a4cbd5bfc99bdf849b13c74496d3cbad812bd0f8c0fbd4c363b3c05bb0b3c04de9bbc075435bb8130163bd437dd3b59e678bb205e953c51abe8bae1da72bde1b4693e843b8e3f874146be5bf789bd19ce763e71c18a3fc6e750be605c8cbddc59823e2729713f6a7d31beefd685bdd389803e4d81403f927a0abee52959bdedff663efdab093f05aab9bd01a644bd53ee453ec010a83e485b4dbdf06e05bd5ba60d3eb8040e3e4c1748bcb42b8ebc7a64a33d55ff70bc80eacb3c028bf4bb9f3a9b3c0145d3bdb953133d034ea0b952a49c3c30c104be7704293d9267023c5141b33b231534be30656e3d665f793cce4786bc29a649be9820563df93f8c3c99ecf5bc2ec636be44422e3d9e5f813c01290bbdc7a90dbea274f73c669a4c3c2b6bf7bca8fbc3bd8254a43c0f20033c0522b9bccd1b43bdbf610c3c2487723b2e892ebc9dd1e8bb9b4190bbd495343bb16606ba3718c63c4ff897bb0c8d63bc455f5a3cd22aab3f5e2146bedc2ea9bc70633c3da1599a3f45cc3abeb5bfebbc8e9b963d78b08a3fc7d126bebb5003bd97f9c23ddfbc603f030405be5f37f9bc91ced33d17b4233f237eb9bddc41c1bc7db6cb3d7f1ecd3e501947bd5ad295bc2113ad3d361f363ed26103bcf0d011bc1c67713dc88582ba2c5e093db4c28b397f78733cea230dbe26d31d3d00000000000000000000000000000000b59f293cc3fb5337864c45be6e6c213d7d67603ca0a027bc683a3fbee05c103d598e513c3fd7afbc720a2fbe2076c93c7562503c758fadbcf5040fbe56668e3c7189173ced5093bc8651c8bdc33f2e3c21b9453b242628bc71dc5ebd917ba73b112b9d3afd2180bb246408bcd12e96ba0000000000000000000000000000000000000000000000000000803f0000000016dc403cfc9cd5bd5ad6ab3f099205bea0d502b9018141bdb0278e3f2d86c6bd120096bbfb2941bc8bc56a3facf6a1bd38fcd9bb5b44023c74f62f3fca507bbdcd71e8bbed53a13c0fb7e43e05cb0fbde7fdc9b6895fd63c3e84623e2c7215bca4c12e3bc704873c2d9c113cda66443c00000000000000000000000000000000000000000000000000000000000000005a8404bc82562ebe23922c3dd70de4bba9d0abbce1e22dbeb6033b3d99acc8bb9c65dbbc935f1fbef32a0d3d167c20bba30ff4bc687303bea05ff73c4bfec6baced2d2bccdf4c0bd15e4c43cb3e50ebbe7b87fbc740f56bd870e5b3ce91d70bab02bbdbb05a05bbcb621773b22fb98b800000000000000000000000000000000000000000000803f000000000000000029a99abd5886a83fca491abe5baaeb3cef1480bcea658c3f552909bee2f3f33c03a2b93c1273663f9e22f3bdcf2fd53c5985313d16232e3f5d15d5bd5e9bcc3c42284a3de86de93eda8aa6bdef8eab3cdc762a3def10723e8dbe3dbdf323373c4771ca3c9826d83c3eab40bcf3d6633b00000000000000000000000000000000569c1f3be52bacbdb0a9b13b2843503a05bf0bb93dfd1abe8b74273d847bf9bbfd8123bcccfd34be3df91b3d2e9667bb553477bca2422bbee65f103dc03426bb98425abc07030fbee724e23c73eb52ba053246bc33f8d8bda6c9c43c4873c3ba713c52bbf1f280bd9b39583c8cc05139583fd13b9cb0a8bc849389ba8aae223bf3a4123cfa25233c86f796baaa0d06b9e4a536be65f4a73f948b933cb0c03bbc4e6f1dbebb9e9e3feb6e00bd2a63363b6078d1bdd2748f3f248a5dbd3a262d3c38e16bbdd2aa6d3fde8285bd858a863cd0a6babcba1a353f714d86bd27bc883c7bdf1bbb96cff63e823a71bdc93e8c3ce00dcd3b4189833e683319bdbbb4513cda9ef13bebe8623da1c74bbbef070d3bd58597bbbcf1b3bddbfddcbbe2f8c43bc1ea04bbf1e71cbd2364a1bc1930193cfa82c43a3de5f7bd452e88bb96081a3ce413f3b9ab3115bec31715ba33af143c857c1ebb59ac20be670a143c3171db3bd05100bbd35b07bed23d123cc552b83b0d9dfe39dffad8bda577493c3b89613bad056e3be37d8abd141f2e3c5e36cb3a7daa163c4175f7bc2b4ce23b66a619b91eae2f3c69e9963afbd0a63b6133f0baed0f3dbe04db8c3f0213693e43bd5ebdb1aa3dbe5424903fa51b1d3ea96d28bdd7e208be3c5b813f41c7d13d5389d2bc84f8d6bdbea8613f9b6a313d8cd307bc639b7ebdbb0e2e3f4bbb2e3cfd5433ba5c502abd5ff6f93e15efadbc2dfa093c81d7a8bcf58b913e1e5505bd1a2b543c607a4abc7867c23d05470abdc5728d3c6cd92cbc494b0fbde57c14bd1c268e3cd8ef83bb307458bc3dff4ebdb961aa3c4565543b8ca8babd559d30bd9f10c63c029be13b912a07be676000bd146dad3cbd7bfc3b7bab0dbecaab8abc5125713c8696d53b5ccf05be0d59fcbb36f35c3c3a40da3b4affd3bda4ef2d3b23ffd03bdce2093cf09c8dbd4d3c073cb48a293b6cd5403c0cd603bd16061f3cc1256dba3f06053c37597ebbddb2623cfb0035bb2fd232be13886a3f7374e53e3f4acbbd74bd3abea5e2713f95f3bd3e8f05b6bd7c9e21be484e643fc21f8c3e6d1880bdd5d8f7bd81ba463f2efb383e785a23bdbe50bebdd9d6223f12d3c93d95caa1bc47b680bd5f41ed3e4e0d053d377262bad61224bd1f3d923eb34498bcf064623cd7ecb3bc7fdaed3df3be49bda9f8d23cb3794dbcfd40acbb953890bd4c5ce43caabcd9bbb7ab883b65e48ebd7bd7e03c311cbd3b4a5286bdf673a2bdf458153d247c363c3f09cdbd058a8dbd28f5013de32c753c44c8fabd450350bd9c9ce13c339c3f3c9455cabd72541fbda83a9d3c9a09603c282ccdbd1e3f30bcbd27443cd6be423c236684bd5e94303b62e8943b95f8233cba6704bd0edd333c1d79f0babc02ec3b94c2c6bbd7419a3c0e815fbb816a16beeebe323f67d02b3fe3ac0abe33c321bef45f3b3fd898193f5a0608be57f90bbebb5c333f9cc4f23ec2c0d4bd2ff100beea6a263fcfb9ad3e9ec097bda27e9fbd9943023f315b693edd3a56bd00e79bbd8096d63e9e2ecb3d812781bca3773bbdcd9a873e293b5d3c9f7e973b5ad1debc0f1b003ea6695dbd0ba0fb3c4c286abc0223753c04fabcbda1b2043d077ac6bb9a7f6e3c6aebb4bd33470a3d2580163ca45a3bbd60cce2bd21f0463dded1873c7fbaacbd8dc9d4bd5c41353d19d4a33c860bcdbd70fca7bd9bd3113def7f9d3ce38bd3bd7a5461bd441fd83c1e1a993cc89cb1bd2e1ce1bc6206723cbc986d3ceece7bbd757f94bb9852b03b2b74283c2c07eabc75d9153c190c3bbb02a8b43b15f8babb8349a63c22cf99bbf841e6bd4a11f33e0625643f977d26be1b5bfdbdb716023f4f10533f80b32dbe23f4f3bd4f7b043f16942d3fccc70fbe2c96debd6299f93e78b0013ff8ddd4bd581fc2bdf0bdde3e46a9ac3e8af28cbd44d396bd383db03e5d9b343ed8e2f3bc8a6f51bde474723ef28b373d985caf3b5d9cd2bc7b81ef3dbe455dbd80de153d9d364fbc2643c03c9cf2dbbda7e4193d256fc5baf882793c7578c3bdde38223d9db9383c2bd7f2bc32980cbe19f15d3d1a658a3c7b6376bdf07e0abee689503d4593b73c3acba1bd0f59e8bdd340323d5d6da93cb1389ebde896a6bd4eeffa3c71179b3c348094bddafb44bd4b4ba63c0765533c89c747bdf775a0bcc1240a3cb82a053cd902a8bc51824f3b88c658bb90863c3bb9c952bac21fad3ce47d04bce47e87bd1d46803e6a638a3f019232be2c219ebd04b7903e11e8833f1e1c3fbe3c6ba5bd6bf8a03ea40b5c3fa6e321bed289a2bd861ca33e5ef52b3f21f403be391392bdc7e8963ec3f3ed3e434ab7bd544f7cbd1f04813ec468893ed4643bbd6cf028bde6c3373eb961d13d524e1dbc53edaabc3d0dcc3da99b34bde7bc1d3db181b1bb2aecae3c7035f1bd9251453dd7b955ba50744b3c30e6f2bdd345223d4077673caf828cbc3dc422be9ffb753d02a0a43cb01040bde73127beab45643d2e2abe3ca60d71bd628814bece48483d6212b23cb3bc7ebd5e1be2bd7ece193dce5d993caaaf58bd00e991bdbb3bc43c33563a3ce1fe0cbd86ea03bd7b2c253c5c333d3b04d7d2bb39ffa5bb78ddb4bbb5cb86ba6779aa3bd5beb03cd70df8bb02baa0bc89180c3dc3a2a63feba031be2cfcd5bcf0e78d3deb3e983f7a5438bea6e235bdfb3c023ee04c833f554624be73d148bd9467213e9782503fd23009bef0d843bdaa0a2a3e63f9153f9514cebd38762bbd72721a3eb1fab73e385a74bddb0aeabc21d6f13da75f163e3d8d6abc177cc9bbe0d0843d7f30b2bccf641d3d98b38bb9767f493ce3b80dbebfef303d00000000000000000000000000000000a58d3f3c8bd99bbca1c928be4b20293d4cb3903c8adf09bd689323bee82d293d808a8f3cac5d2bbd86b114bef0dc0d3d72b0883c580131bda127f2bd4cb1eb3c6d41873c09e91cbdecababbd3e04a33ce5522d3c6290bbbc10153abdd91d223cebf2ee3a2f57ecbb510905bc421b583a0000000000000000000000000000000000000000000000000000803f00000000c252a23b00589bbdf1eda63f0af804be38df26bc583702bc25e5893f0ca8e6bd5c47a5bc0ccd093da5c3603f062dd4bdddc3cbbcd006673d13da273f03cdb0bd27aec4bc30677a3d7070dc3e88667ebdb9f369bcc893483d51f85c3ef302ecbcdd305bbbb22adb3c7576293cf02f3c3b00000000000000000000000000000000000000000000000000000000000000006ba12fbc414ad8bd404632baa0ef053c67b794bc28dceabd421cef3b8f24093cf3c7b0bce445e1bd12469c3b1c01183c9cb4c2bc8e8fcabd6a6ed53b1ff4143ce03abfbce680a1bdbb192a3cce38a83bb40ca4bca3235dbd23fd6a3c256439bab52d75bc52bfcbbca283713cc41062bb00000000000000000000000000000000000000000000803f00000000000000009d73babcdc8b973f79fda1bd6895a33b3e6e823c29e47f3f28ba9cbd8462ef3b2d132d3ddade513f203f93bd4c58a63b62895d3d2456233fd9178bbd545aa13bf7c2593dca24e83e1ba88bbd0b0e0e3ccb12213d61338a3ea95378bd0cd7553cfd07ba3ccb9eb83ddb9855bdca89773c000000000000000000000000000000001cd824bbd35328bdbe57c4bc3abd463cfe1979bcfe23d1bd71e257bbf2bf1b3cd51e8cbc18c1f6bdd19ac0ba3b6d413ca44e92bc383cf2bd58714139f6fe4a3c41bda2bc4a95d7bd7686673b5b9e2c3c3b2099bc507aafbdc5e31b3c2b88c33b50f280bc86d876bdc860713c5196ec3afffbb9bba528c5bc996d693c1d359fbbcdec73bb13c00c3aef66493c242362bb0de3cebd9f9c973f88229f3d6e90eabc8fefb5bdae9f913f5ae00a3d35ff45bc5c7318bde0e67e3fd8cd793c65903ebcfa9315bb0261523fab1493bba72504bc9bce9c3c06c3233f909ea5bcae3d90bb6273cf3c7b67eb3ef9861ebd4c7b843b977f9a3c489e8f3e07e345bd86a5153c85068f3b7813cb3d9f0043bd20467d3c6e4f5dba322e0cbda99442bdab48753cb03bafbbfa402ebca51e18bd87bb7d3c1c7910bcd6e78dbd949116bdd99ebc3c4a6151bbdfe8aabd789012bdc174ba3c2d4212bc91c2d4bd8cf8babcd6fcb13c90b6f1bba26abbbd7f0596bc8626953c5c902ebc8440abbd89a548bb9456603c9bf4e8bba3cf6fbd7c910e3ab9851d3c4efab7bbec4207bdcc60513c2850023af7c88fba07b9f1bb938a6a3c1b9725bbe64bebbd7579803f0baf833e74696dbd38b1e8bd36d2803f8cda503e439a63bda4fb6ebdb1765c3fe749263e322d48bde4d825bd249c423fa460d73d30b917bdcf3854bc07c4173faa7d813d1feee2bcd08eb3bb35aae53e65a9673c7b9a7abc87ba533b9bc08f3e819d50bc88ed04bcdd2b40bb4868033eba583fbd2a4e323c8b9396bbd6d7083b219262bd0091623cda9b6ebbdd67ca3beb925cbdaee79d3cf52fc7bb29cd36bde1f07cbd63f5fd3ce14715bb4e1f9fbdaceb61bd2809013dc66a56bad01bb9bd62f52dbd8417e33c7dd089bbd8b1babddc6107bd8dc8db3cc5956fbb2b27a5bd33a26dbc97d8913c4685acbbc2fc83bde999aeb968253c3cc54739bbecec23bdb255443c01a96d3b045bfdbaf87083bcbc18763cc629e43adad6e5bd1712553f0f0be23e086ab1bd5e43eabd5cba563f03d1c53e4363babd758cabbdd821453f7cac9d3ed7d7a0bdac4370bd684b2a3f5411673e543882bd555d19bdd6c30b3f44161c3e17ee53bdc8fbc2bc2a02d43e34f29b3dbc0003bd9c397fbcb5568e3ed909633c1d0a72bcebd93abc80c0103e29231cbd4d04943bd9ba85bb6378ca3cae3282bd5c37033c7770b9bb49238c3c4cb480bd8b60a03c9b736abb38ded4bce84aa8bd5f2f173d0294393b7e236bbde00f97bddf29073d9d60193b4c199dbd505d89bd6bc0173d99a9c93b62f780bd66e854bde6becc3ca4ad2339051c9cbd561a02bd8c91dd3ca77a233ae03575bd840b43bc525c833cdff4dcba331b27bd1c61f23b84d2e43b6ab940bb38f3aabca5bc7c3c62b76b3b5088cfbd04b4263f3ca61f3fbca4d7bd8933d9bd02e0293fa883113f6187f3bdcdb6a3bd15ad1c3f1c94ed3e7b1ccfbd4b7d88bd65840e3fd7eab73e8a32bbbda84d06bd525bdc3e9302833e28b78ebd3ce415bd1b8cbc3e9e9e183e69995bbd1b75bebcaabe7e3e8b01713d2783edbc142198bcdaef0f3e2902b9bc915971bb2b09adbbd92c183d31eb8abd774a8c3b4946dabb487aa13c46ba8fbdc9c7a83cb757fcba69c6acbcf46ecabd543c283d8dec4a3b4a3750bdf8d8c7bd445f2e3d0f6ae63bce6b84bd5ff1aabdd9e11b3db614e13bed8397bdfb5389bd74a2183dbf74b23b5a5f8dbd10c22fbd1ba4e03c53b6543bb05579bdd08e9cbcf2aca23c81f49e3af0ed26bde742803b06640f3cb833abbac5a5b1bccb5e693cd293953b7797b3bdff76f13e60994e3fe170f2bdf0e8bdbd6467f93eeb7e413f0fff0dbebec5a4bd88abf23ee9d4213f121d01be0a8c8dbdaee1dd3e9675fc3e5dcedcbd57b866bd1b45c23eddfab63ecb15bbbdad1e3bbd88969b3ea028643e208d84bd24b10fbd50425f3efbcecc3dbba01cbd4e3cbdbccce3ff3d94bd92bb78db11bcf2cf12bce1b71c3da08290bd9ad81d3b1b95e5bbbfb14c3cc84195bd10e2c63cbf6e1aba784ba5bc9c71e4bd31e7313d5db4d63b576213bd0fafd8bdd607173dfc8d0b3c7e696dbd695bd0bda13f2f3d21fd133ccae768bd78fea1bd063c083ddc96043c2a3681bd217661bdaf8efa3cf738cf3b6b0e4bbd2ef800bdedeaac3c92829e3ba32c17bd57193c3b674cff3b77c3b939999499bc0755893c03ad233b999881bd2eae923ef4f57b3f0d6afdbd05b18dbdb5119c3e077a703fa80a1abe57e170bdbaeb9d3e7d23443f003a00be083380bd9fe59c3e746d203fceb8f6bd8e154fbd6180893e8976e93ebb27c6bdf18147bd2c466c3e5654993e44ca9bbd243c03bd77a9263ebaf41e3e003549bd3759dbbc0643ca3daffc3e3c87f13ebc185e38bc0905f63c3ee599bd5eb9a43be015c4bb5eaacd3bfc9dadbd166f973c8d97143b3fdaccbc363500be951e413de940f73b8ec526bd9b3004be3492343d19a51d3cd9d044bd6620f2bd890e2f3d5659223c270353bd8954c5bd872e163d5690223cbe1559bdcb488bbdf6bbff3c5f5a113cfc3737bd60611abd0dcab53c5c6a163cb41be8bcdbb8b4ba3967dc3bea24d93a059294bcbaf85a3ceb11943b91b217bd18bfda3d023b963fdaedecbd973c0fbd2f68013e3dc78c3fc8fa10be7dc839bdba0f263ea63d6e3f952d05be845f45bda92f353e463b3e3f9502f5bd3ad83abd69582f3ee0ae0d3fe20acfbd2c8c30bd21151b3ed4aabd3e0fd9a8bd4c1b14bd5f12e83d4f28453e495a5abd3d3dc4bc02fd7e3d0240e83c39504dbcf58057bc3c70a33c0b83a8bd7caf4fbb00000000000000000000000000000000d356693b65628cbcd76ae7bde036a73c2ea8113ce5ecdfbc1301edbd2a07e03c8364243c0022f5bcc86edcbdc617bb3cd4132c3cdf1509bd9fe7c1bd334fbd3c247a353c9f670bbd65fe97bda756b33cb4221b3c8579ffbceda239bd6583883cee83b73bef63c9bc209994bcbbd13e3c0000000000000000000000000000000000000000000000000000803f00000000a17c61bc6b690bbc1804963fab31babded8b9bbc864f0d3dcdba793f1c5fafbded43d8bc43d9713d4c964b3f204aabbd62fef1bcdbda903d68d01b3f08ca9ebd3f41eebc54f58d3db77bda3e46418ebd0b10dfbc1d2f5e3d9c4b793e24c049bda118acbc5b3f033db05f8a3ddda900bd0000000000000000000000000000000000000000000000000000000000000000602d2d3cfd7c52be1cc75e3d56db10bcb32075bc6ee23dbe8c09233d9069f6bb62d900bdad1e31beac2ae53c450496bb38e203bd99310cbe55588d3c41d5c9bbd68504bd7bf8b3bd037fd83b29a48abb7916bbbcd01235bdbc627bbb4185baba810912bc4ce561bb9e9edfbbfa6c32bb00000000000000000000000000000000000000000000803f0000000000000000bff9d8bd706aac3f9d111fbede74eb3c061cedbcfaa68c3fdd80e5bdabc9d83c6a2d693ad5656b3f439fd3bdb1dfed3cc86af33cf1df2c3f50499cbd6c5fe13c53fb423db216d83e902616bd94bd8b3c8b19403d920d4e3e277d09bbbf0e023c8c150e3df64f30bc9686dd3c44255cbb00000000000000000000000000000000ede7593c4b8be6bd72f40e3d0ff69bbbe9c3693b9e051dbe8666263df6c1f2bb0768eebb2a2350becf3e1e3d38e1d8bab90786bc4e5446be4d24fc3cbe5a30bbdb9f9fbccde622bef30eb63c591157bba89399bc89e3e9bd9a9f2f3c407b95ba7d3787bc04b173bd918aea39234357ba4f9422bcf514c0bcdd169ebb7921e83aeadde43b1e00103c8a0a1d3a2166f7b8d3e153be747fab3f6f95223b58d9c8bb360611becd60983ff880343c9fb6c8bb1c67fdbd8fcd913f20f506bd01cf123c5ae6abbdd342733f18a11ebd5e798a3cf2a03fbd86eb373f7b500ebd99fba13cfa0a8bbca058f23eb8dd7bbc5586643cdedb5e3b066e6f3e1257c33b352bc93b63a3833cfded6b3dca32a93cbf24afbb5dfd203b7ed4e6bd5ca7dd3cc9df27bc047609bb66b568bd5bbd263c96e1b33bea679239380519be086c7c3cee98b53bfd40f8bb8bf23fbe9d87b43cddc18a3b0c6e32bcf4e345be5837a83c82f7b53ad1fc20bccdb729be0a819b3c22dee5babbcb10bcca9000be4637383c66fd88ba5ab903bc4b279bbd541cd73b261d4a39e8d01ebbaf8b0abda0e7973b53ede43a128c4f3b32ebb8bbc1eccf3b0161d4396ccd46be471f8d3fdbef6e3ed9806cbd8d924abeda10923fa2242d3efb791fbd3bee30bec382893f703dc83d3c4869bc957d0bbe76106c3fc7545b3d53a5553bdfc1c8bd711b383fd0efb83c17125a3c25a080bde025fa3eef1b873ca32c4a3c238ceebc10c9833e340a393ca0973a3c104a2cbc2a30953d2b95ff3b224db43aa2cc0abcb20b3fbd4c8ea6b96cef60bb1a2552bcdb6a0ebd6aadb1bceb76a03cb75309bb0fb800becedca7bca2a0af3c13b14aba726b2fbe8d1715bc954c7d3c7621bebbaa7437be1d30fcb8c5d3fe3b5351e6bbd9b02abe162e163c88fa933a5e229fbab3c003be8acb173c18ea1e3b4ea188bbaa56a6bdacf2113c60ede8badcf380b61dc733bda122563cb7e891ba1443fa3a95731dbcfb4d6b3c8487af3a2e2441beb3e06d3f00d0ed3e13f9d9bd024148bec3f3743ff03bce3e21c7babdc1863dbe8f856e3f68b2943e1ce467bd9cd522bee6a3553f0d263d3e97e99fbcf15c02be9a752e3fb2b9d23d9fd4983b1880acbded24f33ed5ea6c3d833ffc3bfdf54ebd7a4c8b3eefd7993c81f17d3cb8c6c1bc792bc53d6dc201bc0a8b693c3c4064bc561dd6bcb0a305bd86cbec3b98669abcf3382fbc26435abd3c89073d5b8869bbf734bcbda54f7ebd8f3e123de52e483be58b0dbe864f62bddfd0ed3cdb54a33b856727be4b65febcace3763c3cb6553bc3c014beb92b00bc7c2bb73bd58d043b5bacfcbd6144ed3a9a00473bc265a239ddb8a0bd11b00f3c76024f3a1f42173bc43e2abdd125673c5c53a03a9ef680bae9bc30bc5d9dac3c840f253ad4ea18be99c42e3f13ab393f5d4d20be566b29be8d823b3f8e63253f238610be88f22bbe95ad3b3f1579043f8a06d0bdcc4823beb49b313fdf0ab63efc3758bdda2e03be747f143f49fa513e47e864bc0009cebd6755e13e9caad13d83c6093cc60f80bde128853e0ca6e83c1131a23c06ce07bd6d95e23dd17be5bc2a2eba3cf7e161bc248f5bbbda4e87bdb599a83c05b494bc5e2f3d3ca4a5a2bd526c243d988b36bb041e6dbd2e82dcbdce84543d3a772e3c3ba0d8bd3c3ccfbd21b2293d857b333c6c6a02be37f9a2bddcbef53c9aea563c8aae06be64b335bdaeee7f3c53843d3c0ddfe5bd013d53bc4ddda53b6a09963b4175a0bd9d80543ad597533bbabd6a3bf17227bd192c343c79b8b93a31da463a784422bc9c8faf3ca7edfdb86c51c6bddf57da3e19ad763f330544be80f7f6bde7b3f83e8566623f90e53abe18bf06be4648013f76d73e3fa4b913becabe03be8421fb3e607a0e3f6ff0bfbdc9d9f5bdb7aae93e2a55b33efed826bd6b15ccbd7e72bb3e5173373ed8136cbbdaab80bd155b743e1a7b623d3a53aa3c6a9d13bdf4a9e63d992cfebc9b35003db17a7ebcd7f4793c688eb7bd9320e53c6ee761bc2822b03c3108bdbd07e74a3dd5e229bbe234edbcae1219bea817803d01594e3cc1af8dbdcdf51fbeda97673dcc8f7c3c87ddbbbdbdea02be1688273d4f9a843cf6bac5bdde19b1bdaa21ce3cfc1b8e3c7ed6babd9ad133bd4682543c2c1ae13b64ad7fbd57dc47bc40bae53ab4dc713bfd1111bd603df93b6560b6bac51b2dba2a7205bc3321a13cef3384bac8a440bd28c7523ec217903f290648be109e80bd9364783e306b8c3f822a4ebe7c2da1bd2e728c3e541c743ff2052dbe468aafbd0d26973e44343d3f4683f4bdb9b5a6bd3879903e0a5d023f98d38cbdefd795bd1614823edded913ea4bcc2bc528a56bd595a3c3e46c8c63d5de6993cb237e3bccbf1c53dfd53d9bc94eb123db89b0dbc7088aa3c7061d0bd8bb81f3da53d18bc6217bf3c7f4c0ebecbf5803dce14b4ba938954bb998e28be3ca9843deaa5513c942021bd283244be5d777a3d2d44963c66c16cbd9b6a2ebe3346403d9e19963c94c282bda43402be7d85fe3c36a07d3c449873bde472a2bd34cc863c85ce1d3cb79c37bd08d504bd942c7c3b0aeeaa3b164bc9bc5b8baabb58d0bcbb1b58afba3a8ad23ac034bf3c434dcbbbce0e103b0de52fbca0aaac3fe92a4ebe908cc4bcb50f863dc358963f22d828be8c5d18bd9ed6b13d4d9c8b3f6a5322bef00341bdec98f53dc369603fadcaf6bd923943bd16b90b3e7ea3213f94fc9fbde4c238bda242083e5b17c63e20ab07bd2b770dbdce2ce13ddfb5233e489c083c086ea7bc7e5b8a3d6894203ca0e30f3d02feb0b9dbad833c638518be5b63633d000000000000000000000000000000001b3afa3bb587023bbee354beb10c7d3dc64e803ce3f6b4bccf9344be143b3f3d9529923c21671fbdca883ebe4df5163dfebd943ce97d26bd813a17bec935e53c2e17583c374814bd31dfc5bd1056613ca6fe163c51a0d6bcd3804dbd4204e73a54a5823baebc09bc14b3ddbb07fd99bb0000000000000000000000000000000000000000000000000000803f000000003f365a3c5343e3bd37a0ac3fc10410bea53e19bc017113bd2c108f3f7498d3bdfaeb8cbcc11c92bbbda1723f481ebabd812bb3bca16bbe3c47f0343f376a86bd436094bc1e65243d6e9ce43eb2bbeebc4d5b4abc77ed213d1c87613e35f0e4b8c0144fbb8c03cd3cc14543bbfcb7fa3c00000000000000000000000000000000000000000000000000000000000000003c3d48bca89431be120c8f3db6c6bdbcb97530bd45d51ebe761c7c3db9ca9abcc7dd80bd5c070cbe13f4483dd80868bc4a278bbdb8d5ccbd99870b3d58353abc49ff77bd61b67dbddcfa8a3cdd2191bb8b3c1bbd5513ffbcd200803b5f60bcba28b009bc1795abbb38dbafbbed6a75ba00000000000000000000000000000000000000000000803f0000000000000000484a91bd611daa3fc0a64abeec545a3d0f88493c72fd8a3ff4fb3cbe06ab793de96b773da886633f30d432bedc417e3d9d3cba3df4e1233f30cb0ebea8bc583d8236c83de2c0c83ea73eb7bde797153d46a29c3df320383e9a2effbc92e3753c0fd2023d794167bcfe67b13c354564bb000000000000000000000000000000002721793b81fdb3bd14fbdc3c62413cbcedae62bc80a2f1bd3d932a3d89f684bc57cdfebcf43e24be97276b3de028a9bca79e36bdad5419be2eb65c3d3fbca1bc8fd547bd7dfbf7bd6b582b3d3da174bcc50236bde101a7bdb22ad03c013741bca496f9bc69ad2ebd4ceb2c3c9de2c9bbcf7b3bbc02eb94bc769b07bbc1a122b9c8a93a3ccd50d93be6e3d7bb3a5dd8ba36d543be6880aa3f8a244abb219c4ab9d375e8bdf03d973f94edf6bc7eb7293c5220acbdc177903f0e87e4bd65e2353da6b11bbd8927723f7fcc0fbe57b8763dd3cf573b4e05373fe61006bef495733de912c83c9961f13eb523cbbdc04b4f3dc92df13c4b03753e8c965dbdab65f73c10b48f3ce09b883d134a24bc2d271a3c5ee91ebc2cb5c8bd78e1d73c508189bb315e99bb7db913bd99d7603944cf5abb35a687bc5004e0bd96bd9b3c1202d7bb3f8405bd0b8b0ebe14fe093d0cff3fbcf11325bde9b613be37082b3d9fe57abcc47b25bdc081fdbd91eb263db4b587bcd9dc22bd7e74babd91fdf53ccd2844bcf403d8bc75a94abd179c843c184610bc391f44bca3a07fbc6c7ca43b720ab3bb5f4418b968b0cd3b93d279bb772919b9ddf048be48e78d3fea44633ee22750bdacde36bebba9923fa9f9e93d272cacbc184c0ebe2a6a8a3f909e3f3c7c72693c1f3bcabdab40713f96ea77bd14ab2f3da8f36cbdd0b13f3f26edcfbd76b2683ddb89cabce2f8053f2b19cfbdeb6f6b3d43519abb8994933e95879dbdced0393db418113ba737be3d74f236bd5b90f43c750e80bb41961ebd461d8cbc542f493c23d948bcdcbf83bc3324eebce46be93b3c6238bc48d0c2bd2cf4a9bb0009743bdcbea7bcf9e807bed626683cb405dfbb90d411bdd99d04beeb72b03c46dd2dbc493920bd7f76f7bdc10cf83c5f384ebc80b707bd9113bcbd2ff8de3c570756bc4864dcbcac0654bdee489c3c86c541bcfbdc66bc233e83bc910c123cdd8aeebb48cbffbbc7c0553c7976903a666e74bb7e7e43be304a6e3f597ce93e7defd5bd0de84abebe287d3f59e0a73e260293bd523734be47f8793f9ab5343ec5aab1bcb72004beb1825f3f0fd1723d9af15a3c6c1cc8bd04c63b3f117814bdc9c6393d704978bdfb10083ff2529fbd73556d3ddd21e8bc65bfa23e6555b4bd5c936e3d18835ebc7039013e88d899bd6c673e3dab969a3a2179c4bc9a8168bd391c053d0c0096bcd057e93b5c1771bdf0e9db3cefd502bc64ff97bd0e0628bdc1fa8a3c3230debb63cefabd2aed85bc0ce8d13b88a89bbc82a704be2b97b53ba70276bbb5a7cfbcb7b7dfbdf5d5613c1cca0cbc03f4e6bcf0ceadbd5859b83cc0d056bc79b4b3bc696643bd56168c3cfbc851bcea737dbc28b457bc28ab423ca60320bcd38861bc6d868b3c635bd73b95d9e0bb7fca1fbe34f1303fc713353f2fb420bee2b736bed72a473f871d123f36b7ffbd449738befcc54f3fb1f7c73e017b94bd4be221be69aa463fb84b503e5d088cbc2204eabd6ca5273f82ea8f3d2e258d3c1e70a7bd891f023fa3a1f7bc3636453df05a41bd8aaca23e2263a1bdc3f27d3d18259abc518f123e641fcbbdfbf0773dc794743a0ef6eebaccbdc6bd21e5503d512a96bce134b33c3e4badbd477e093dbd99a6bbd69255bd6865a7bd8606133d50e9da3a75a4d1bd275c5fbd80839f3c1fe90cbadf14fbbd75adcabcca4fbc3b7b6f34bc28c1e2bd32fc44bb4bc539bb0144a7bc53fea1bd04fd793bc197d5bb16e793bc8ed444bdef6d193c190027bce77a75bc68693dbc31ef433ce0444cbc9a8f8dbc106c983cbf9d253cce25f9bb2c4fdbbda5c3e03e8108733f2ba842beafb10cbe15cd093f45db503f090e2ebef2b21ebedf8a1a3f41481e3fcad8f8bdc08319be7bb01c3f6f52cd3ef31c82bd667f01be24e20f3fb30a4d3e56614ebc5e94b0bd0e32e13e1c107e3db12ab63ca31a5abdd23c993ee7a22ebde4eb553d23efcbbccb26163e8406d4bd7e438c3d96d3c63b1168563c0aff01be4f207c3dfb7b8abc5e33e83c97dac2bde26b2e3dbbcf92bb7fdf01bd649af6bda9204e3d0115133cf3b0a9bd2477cdbdf4851d3d8463143c49f6d3bd12c788bd019ba33c4b16c63b7cdcddbd221cfbbc12e7f03bc41d98bbfae79cbd9cba49bc9f9732bbc01a54bc9ea02cbd4a6093391051f7bb65ee4abcd52c33bc09bcf13bb45b38bc65b581bc3e46a93c3d16013c261423bce85557bdbea1563e706b8f3f9b8e44bec448acbdf145973ee2f0843f108f49be018edfbdd7fdbe3ee1fd583f387424bee1d3f0bd3a4cd43ee0cb1b3f5358ddbd7502e6bdac43d23ed3a6bf3e392960bde27eb2bd02a3b13ef2532f3ec67383bbdba048bd0f61753ee686a93c26b8fe3cd4ccc4bcecac023ea2c8abbddd1d753d5a86393b11d2943c9a740abea679923d39f432bcf532c23c2dd106be14ed5e3d2c99e5ba30b356bcdc290cbe7a2c543d1c66243c2c446abdcba012bee3b04e3dd237823c4644aabd8aaadebdd40e1a3d936a563c41e7b2bd721992bda37c9f3c5e9bd33b0ae893bd3e7b1dbd196de13b6f97a6bb1bb119bdb6f991bc69089fbaf1480cbc468d1abc8b9cddbbd121fbbb136e4fbc173bc43c97fe663caeef5dbc395a66bb9e771cbce8e9ab3f900643be6a040ebd64c9ca3d646a933f3cca2cbe80c377bdeb862a3ee689833fce462fbe2fc9a4bd31da6a3ea65a4a3f008f0cbec0e8acbd2410823ea3900a3f5590b8bd500591bdd5bc703e620e9b3e444b1ebdd2f434bdd055313eec44d53dab7a973b589e74bc822fb63da0e9a3bc9a5f123d3084df3b1343863ba09126be2860913d00000000000000000000000000000000acb3f43b5f068abcf63535be2c90693de731793cfc943dbd68921bbe3ffc3e3d672ea23ca92e83bd1e9209be8795183dcfc7aa3c115690bd30c2c6bd4d98ce3c279a683c5cd274bd76c366bd70d9283c0281093cd1c11abd8c38dfbc3d0f14391b6997bb90bc81bb9da58abbb27fcbbb0000000000000000000000000000000000000000000000000000803f000000000d6df93bb7b9b3bd8509ac3f3e201abe25ecbbbc961f8b3c4eb58d3f5f310fbe11bf1bbd668e963d45076a3fc27b0bbedafc48bd9dc7e63db5d92a3f13b8e0bdfc204dbd69baff3dd5abd23e92318bbd7cdd0cbdd409d43d7a54423ea4edb2bcbcebd4bb8524323d9e0e3ebcc57d9a3c00000000000000000000000000000000000000000000000000000000000000009d81d9bc4b180bbed253483d3fabb9bc23f06abd53b5e8bdce5a503d664ad2bc629595bd8b1ec1bddfee2a3d23ffbcbc0f17a8bdd4f875bd222dec3c70d394bc97eea5bd9c22e9bcc6d4813c58ca5cbc164967bdcfeec5bb02cd263b8d7cb9bb3e2ec8bc1196cd3b524484bb90e6dd3700000000000000000000000000000000000000000000803f0000000000000000e7944abdf1f8a63f39263ebe01f2713d82da1f3d8234893f35123abe357f933dbbeacd3d32035c3f45af2abe8c02943d834d0f3e99601f3f91150dbe889e823daabb173e5175c73e8e37c8bd0339463dfeadf33de447353eb7642ebd78a8c53c7a6a823d3e1b5bbc11a4fb3ba57d92b800000000000000000000000000000000e7fdf03bb4bcabbd4b59853c9d3778bb7ce4d1bc9a00dabd535f083ddafd4ebc2d1838bd91d0f5bd25ec2d3d32ccadbce4487bbdc92bd0bd853c2a3d858fc6bc91a299bd046d8dbd5106013d7a61b6bc0bdb8fbdaf4219bd63459a3c652086bc86c55fbd3ceb35bc6ab9bb3ba0d61dbc1f0387bc9f59b2bb39b135bad43272bb7d8198bbf8fd723ccdbebdbbc7bcc0b88b923ebeec04aa3f8f9771bcf561bbbb9b13f5bd25899d3f117590bd06639a3c24284dbd27558e3fe5e602be6d57623d2d93513ce703693fb20816bec39c973de7ae8a3d08e72d3fb3140cbed22b973d84d1be3d3c7ae13eab26dfbd0744803db5bdba3d35ef593e94307dbd2306313dd7643f3d92a6093d33fea8bb66b6783c83f6953c355adabd96635b3c06cb203973743d3c978d49bd8f75cabb6e05d03b67ba76bbe170d7bdfad4893ccc57cfba64528dbcedbff1bdababcf3cd14a13bc3e5e2abd95d2dbbd686afe3c060c96bc27844abdaa35afbde0b0fd3ccdf8a1bc852c6abd1b0b50bdd7dabd3c97709abc3eec4dbd522ca4bc7425503c77356ebcb7340fbd59f56e3b804e053be7720fbcb4cb9abca48bcb3c6789bdbbb4a357bbf62a4dbe6e92903fe1543a3e050b53bdd7913ebe0312953f5634853d11bea5bcdb3ef7bdfdd8863fc02638bc702f873ca3f573bdab6e693f5852a5bd4bb25b3d31f228bbe772353f98b9dabd7583893dbb6b123d2568fb3e0c1de1bdb03b903dff9f703da54e8a3e0a12b2bd009b6f3db2ab623dfbdd933d4a014abde4b8283de483283d27fb8abd0dc9a8bc575fa63ce1a6893c248efbbcfb080bbd3878b93cda20883cabfbcfbd9e3ab8b958652b3cf415b33a03a8f6bd338c763c6364bfbafc1097bc537fdabdd351913c17dd0bbcdb8b0ebd3ea5bdbdbae7e73c523895bc977e3cbdba396ebdc8fcbe3c71da9dbc8c9e33bd63e9d5bc335b993ca98298bc28131fbdf5f6f23b4b9ab13bed2e57bcdf4506bd58bdf83c3cfdc739029f0cbcbd8c4bbef7df713f63a6cb3ec5d6d9bd400754bee45e813fdaf2833e497893bd8f5b2fbe8401793fe3d0f23de9a5b9bcd910e4bd140f5a3fdd8cb43cc49c853c67767bbd1f2b363f4d437ebd9742603d3976b2bb3183023f6c64bdbd51928a3dd654e03cbdc09a3ea6c2cfbd15b28f3d34a8463da7d6d23d8e02a6bdbcd86e3d7ebb603dbbd72bbdea8c81bd7b952a3d73b3633c326d44bce5116dbdcbf3103de45ce73c5e6cc0bdd334e2bc5f8dd73ce8eee73c0a6703be1b3f1fbb8f85323c1c6bf73b2c9c00be2530613c2cae29ba9c6a3c3b62a3d8bddb43823cd141f1bbe6d3eabc1e5587bd1ee5963c673b82bc475606bda85e04bd5456813caa7b89bcda8e11bd48f1103c557e053cb83386bc9c4214bdf4dcff3c9254c43b8d6d5abc51782cbe400a393fa0f1203f2f331abe506b4abef2874f3f39fff73ebb1a00be3ec93ebe03fc513f8cc09c3ec3d595bd1a1924be8813483f4ab30f3e153cacbc126fccbd2ff2203f2d30633df5d71a3c67594dbddf47013fae7b6abdf17f6c3d3d9da3baebd49f3e36fdb4bd4e038a3d82730a3db343fe3da280cfbd12fc933daf29573da56283bc323fc2bdd9c66e3d416cf83b1612383b22a99dbdb0a7323dd4cff23c35bb9abd556774bd26d32e3dce95213dca4bffbdf6eae5bc086fdb3c3f810c3dda2908bed13259bbdecd253caa9f6e3cc7a0e8bd97f3393c0d1d03bb9935c3bb86ad8ebd5991213cb64901bc95c0aabc360410bdece05d3c52567dbca290e7bcc1f8c23be41d183ce0bd93bc18a703bd39f8eb3c1b9c213cdb2b84bcba8dfbbd71c0fa3e71ad5b3fd0a53bbe8f421ebeb100143f3fb0383f219b30be1d1933bef5a7233f54af043fc4df00bef83d2bbe7d2a233f25529f3e778b8fbd698a0dbeac02153f04810a3e652186bc364da2bd40ade43ec774ab3c77ccb03cab8ed5bc3dca973ec27d7dbd07e9663dc04d933ca58d043eb912debd12149d3d4a93343db4f8533bfcaff5bde8698e3d5724993be6e41c3c82bfb2bd2770463d4715013daf1572bd85e8b5bd6a16603d3719303d1cd5d9bd30ca84bd0ccd323dd722473d01a905be5bfcffbc6bc2d03c7ca21e3d6eb4fabd078dc3bb6084243cfcca8c3ccce1abbd8addcb3b9e8ba6bade73d7bababb29bdacc0b63b72b0edbba5aa8fbc7f26943b0ef9533bc8dd72bcda76d6bcfcbefa3c9e9c2e3c13888fbc4a0f90bd5d35833e3260873fa2b241bec53ee0bd0c61af3e5611733f31b84fbee6700bbe7e8ad93e98913b3fe0a529be522a1dbe85b5f03e847a003f4b67ecbde8b70fbe0f6ee73eb646933efd3682bdf380d7bd6080c33ed7f0dd3ded2159bc207d50bd0256823e5d82c2bb413cdf3ccc6aa13b9df0e73de9cebabdb4a0893d389f0b3dd58c343b967e05be0ff7953d0e7f7fbbb37e753c5e38eabd0d83473dba50fa3cb10e56bd7272e3bd96a8773d36ac343dc5d0c0bde50dc2bd77ea593dd495523d7b7ff2bd25037dbd27b9293d3708523df3a5fbbdc87fe0bc0ebfbc3c8a3a223d8343c9bda32a64bb28c2053ce0e3633c45c73bbd4c38c43a1f729eba024bd5bb32a5423cfe12c4bb93e2eebb2cf178bc572fb63c4558853ce9528cbc7c2b4dbc5bdae33c2e91a53f02923cbebc975cbdaf07f13d00ce913f5ae847be6229c0bda0a5643e51006f3ffa5b40be3107f0bd1a7d943e231d303f2ddb1fbe0a0401bebf26a13e02bee33e0f7fdcbd2f0ae3bd2f26933e40d4663e582f5bbda65f85bdf2194f3e5e25593d4451a1bb5a0c2ab95539923d66464fbd84821f3d610f7b3cc1b8bc3b709d19beac67843d00000000000000000000000000000000eaf83e3c1207d6bc719312be9f655c3d4b65043dba2d85bd09deedbd2cef583d4a7c233da769aabd4730c5bd679b393de68f383d7fb7bebd6b7d82bd26fb0c3d2f5e393d0f4cb8bdef28e5bcdd10963c1755fd3cf57970bd092196bb8c95843b895b1e3c0fcfa0bc38840b3c83439fbb0000000000000000000000000000000000000000000000000000803f0000000050d8b1baa66976bd8480a53f29c027bec16c23bd04153b3db7fa843f18f624be92a390bd4073f43d383f513f3d851dbe61adb8bd00c1223e7def133f390e02be27d9c1bd7ea02e3e0fa7b23e0d26b4bd34aa91bdd23d093e7261163e74ed19bd0ae50ebd18e88b3d0735cebcc326b03b0000000000000000000000000000000000000000000000000000000000000000f89f6f3c05898ebd8e9619bdb605a43bae462c3c4d6e87bd429f06bd5794283bba98153cc1c56cbdcae3e0bcd0ca1a3b1911663b61a643bd9adebbbcaed34d3a92fa1cba65a223bde07288bc2bec4c3a046d2dbb2ab003bdad35f9bb9eee703b3ef1babb1ee8a4bc5761e8ba0606073b00000000000000000000000000000000000000000000803f00000000000000001a7dd1bb057a8d3fc9a0bebc346511bcc2461d3cd3276c3f450861bca53202bc25f5603c5e733f3f81103abce87e08bccaed763c814a143fb1ad43bcf526fbbb0468493ce497d53e73437ebca4f3e1bb6934db3bd044843efec9b4bcbc4edbbbf7ad4e3ae7cbd63d57bdebbcd0773cbb00000000000000000000000000000000f166923c8ef90fbd4a120ebdd2c4a03a1829903cd75a91bd065d3dbd010cab3bb721953cf1cb96bd2f733fbd398e143bb58e703ce16b88bd43292cbd68968e3a89ed1b3c45215cbd3d1605bd5ee844ba3d9aa33b9f5046bd27d7cfbc50c7023b52343f3ad86510bdb4a681bc5d88383ba4fd34ba836da1bc2a1a80bb7ea3863be3b8a7b9c72696bbd3a9cc3a8b425c3bf7c532bd1af58c3f1650dc3dfb5bb8bc327124bd8ad7853fd500c43dd9b1c2bcc97a4fbc589b623ff686b33d6f2aa6bcec608539d40a383fbd9e933d9e3498bc009dc03b33590c3f0044593def4b86bc6012be3bb81ccb3ec677f83c0b5b7dbc5563023b5b4d7a3e361acd3b1c6756bc13848fbb57e0cc3d049087bc42b80bbcae328bbb8cba9abcfb7cecbc7669cebbdccc7f3c2aa787bc818ef9bc0ee98cbb5effb13cf3e333bd4bfa47bdfc6c55bb325c8f3c5f993fbdf83641bd307705bb6982993ce4fb57bda43d43bd91bad5ba6a685a3cf2c520bd3fde16bdf7535abb14d3113cae171bbd0472fbbc0b1062384b7b9b3b37d1d7bc25eea1bc7962d93a95bdda3a362380bcdcdd0cbcd39e823b6e30e33a88297abb33f001ba929b543b8fa445bd3df66b3f7a8f853e70bd02bda52d49bd56f9633fb66f763e3ea51ebd4841a7bc6a063d3fb82b573ebe3700bdc16967bc0fd1203fc007303ef768f3bc0e3690bb8576f33e8a50053e0f72c1bc397c6fbb724fb43ed0f8b33d9aaecdbc109165bbd5c3633ef4e9443dc0dcadbc9df89dbbe65fca3dd9cca43bf59a92bc06827dbbb5ada2bbcbebbcbc8bcf32bc00975f3ce9d8b7bbd4f6efbc169216bcaa91a03c4229dabcbe3a4ebd358422bce3dda63c0f001cbde9365dbdaae617bcecd59c3c72f21fbd8c5550bdc6bfd1bb1cfb683c38290bbd2f6f31bde8b2a0bb9516233c458ef6bc0d750fbd057702bbb35fa53bda42bebc57f4c7bc7bdaa53a8942de3a921f68bc253e77bc4a5bbd3b3fc6053b889d7fbbaa813fbbf7bf793ba10a35bdda09403f2ffcd53e3e761fbdc98644bd7065393faf2bc93e03ac49bddbd7f4bce5ae213f2aa2ae3eee2e2fbd7e3c9cbcc76a053f3b0d8e3e9f7f1ebdb53331bcd3b8cf3e6a4b5b3e385b0abdc43107bcc07b983e1ea4193e178205bd0bf1f8bb1bb8433efa3faf3d1e72f6bca8c5d8bbc78bbb3da0cfd13c0c9dd6bc68a2a0bbfe8cd23a6be198bc5fce87bc8d861d3cd3785ab96d9cedbcf52c63bc663d7a3ca4a272bc1d3051bd31f97fbcb0d6913ca209ccbcfd2f5cbdeb8956bc79cb833ccfabe3bcba4164bdd7ac38bc6b2e2e3c15079dbc24301abd357c03bcf815193c7ad8d5bcc3d21dbd788f79bb32b4a23b12cc9bbc85f2d8bc84e3c9b971c6413b804f4bbc184976bc56ba843b117fa23a1d3989bbf84a97bb959d903b228123bd1a48153f803a143f10c636bdcbeb35bdb6d00e3f05060c3f429961bd4ee0d8bc019ff73e3d8bee3e795f3dbd0f59a1bcc1c1d13e4781c63e7d2c30bdc9c230bced079d3ee732933e1e5befbc6e6234bca9a6753e2c85593e06751cbdb9711bbcba5c1c3e5f96023e1e0706bdc8b51bbcb8f89a3dc3b1433d97b105bdd00cd9bbf2bb843b97aa85bcfbbab4bc42c3a33b131c163ba884fbbc9f618fbc59b6383cbb4b0bbc3fa273bd59acadbcc1fe593c7de58fbcdd3386bd34989dbc863a523c1033abbc6df17cbd395b80bce4f62a3c555bacbc2bcb56bdd65a3bbcb32ecf3b10819dbccd1c37bd74b6e4bb83f6ae3be7f696bc013f08bd487287bab648b33ae74d4abc6f2790bcd5a6ab3b9617d6b9ea5495bbb94bcbbb9118b83bf37812bdbcb3d73e8d9f3e3fa0a14bbd75c823bd268acf3e0bc4363f1c1183bd7c2fe4bc4d5bb73e3e631d3f9b055cbdd72a9ebc8b9b9a3e3105003f9f9640bd032169bc526d763e8673c43efb2030bd21b930bc473c393eea278c3e88d02fbd38473dbc898ded3d0e7f2c3ead4036bd7a5a4dbce15a6e3df893863d0d4326bdb8af12bc1f3a633b434e83bc271de1bc9def0d3a7135183bde221dbdac2fa2bc156ea33b0d73a5bbc7708ebd87acd4bc8883103cf0bc3fbc369787bd7e98aebcda2e143cd91880bc097e8fbd9dd4acbcffb2da3bde0a76bcbe2a5abd94d46bbc8da3863ba5558abc478545bd68e408bc3d0f173b890444bc406e0abd069002bb52b077ba3c8a43bc15469fbc4e2ac43b714edfba4d95a2bbbe83abbb571cf43b3d05f9bc3a2d873e76076b3fde2d5ebd13d706bdbb2e813e2675613f1c6d89bdf8d0a2bcda086a3ee9f9383f6a2140bde50c85bcd308493eeecb1c3f98663ebd6e163bbc35001f3e0109eb3eafdf1dbdb8fa3bbc7b52f43d5e48aa3ed53634bd7f0248bcfdbc9e3dd96b503eeeb32abdf38564bc4799193df63fa33daf6d3cbd67e62bbc645d153ac6f0a3bcc17404bd99a203bb3f326c3ae1b650bd7a2fc8bcfeda073b68cbc4bbe480afbddddcf0bcb173ba3b33f010bc2eddb1bd91f5f7bcf7d5d73b89aa3abc4b59a0bdb4f2d9bcb447ae3bcc874ebca19680bd52759fbca5be4c3b42886ebc602d5dbd063752bc428231b977cc6ebc10e621bdea7569bbf0dc10bbc4a82cbc134fadbc9cb9e43bdbb58dbb8494cebbe257c4bb2205103cfe1bb1bcf2dce33dc1668c3fb02054bd6909a2bca4a1dd3d4211853f133773bdcb974cbc69dadb3d2110603fbb772bbd95711bbcd632c63d2dfe343f321910bd16d1fabbc250a43d9655093f9e7d06bdb57d18bcb7047c3daddac43e94801cbde24d35bc683f213d4f496e3e90dd30bd0cc14bbc0b02813c3ae0b33dd59c41bdf0e93abccf998abb4e29f3bc68b51ebd0000000000000000000000000000000074400e3b8c4f91bb351898bd47aef9bcc7cb873b937d97bb1fd18fbdccf2dbbcd3699a3b6187c2bb9aef77bd50efc8bc29b4813bf386febbac3051bdc4fa9fbcafe3ab3a20d529bc491a30bd46cf48bc1fb3363aa1e929bc40ac03bdf548c1bb710678bb407623bcc746aabcb3a5eb3a0000000000000000000000000000000000000000000000000000803f00000000c58ca6bb2a0346bc44f08c3fecbacfbc5b6638bb7161343ba5ab6a3fdf1288bc417ab5bab101f43b5a343e3f2cd65bbc5666f3ba003c143c090c133f8e947dbcc24578bb53a10c3c2242d33ee0f0adbc2bedbbbbb090683bf647823e695eeebc84f50abc568d40bb0ac1d03dd3a217bd00000000000000000000000000000000000000000000000000000000000000001e258f3c578ecbbc90a01bbdb2e219bcd3db3f3c168cebbc60190abdd7e41cbc81bc173c8b7ef9bc845df4bcf86d17bc308c8c3b4ee1e2bc5f6acabc54c7ebbbfb0d363aa362debcc294a8bccbe058bb2a6f36bbc6c2c6bc943a69bc63b6dd3a8326bbbb9df7aebca50c05bca92b073c00000000000000000000000000000000000000000000803f00000000000000000fbee73c59e47f3f6d13c8bb1c5483bc64d5013d4d15593f3c0cb8bbe2f776bc980cfb3c105d333fb82ccebb839471bc1b95f13cb48d0d3f89992cbcdb2178bc3302d33c1183d13e4e6b81bcbb077fbc0b07a63cd900883ee241b0bce6b467bc67d06a3c8016fd3d6fcaf0bc4b5f55bc000000000000000000000000000000004d709e3c3718a0bb6a410abd57ca3bbcae2ab43cd378acbc9b823dbdab305dbc3443a33cab8bedbcfac63abdaef87ebc47cb763c70e0ffbc03cd2dbdb5846bbc332b193ca782ecbc51f410bd536240bc58e29b3b346afcbc4e18f5bc98699fbb3ecf80b953c4e0bc611fadbcc1088a3a81df19bb750baebc4e252ebcc304ef3b7db442bb3d8344bcd0d978bb8e2f133c1a44bc3bbf0e7e3fcec5ff3d087399bc9d90943ce1966a3f8b4fe23d539ec6bc864df23c10de483ff236c03df020c0bc47c70c3d3cb5263fc6a19b3d3d15babc38aeeb3cfdc5023f56fb5c3dbfbcb0bc600dec3ca986c33e3dc2f03cb316c0bc9fafb53c0d087e3eb9a7bb3bcefdafbce23a843c75f1ef3df26d8dbc82d69fbcd6341b3cb9465bbb0faaedbcc86347bc5d648c3c05cb5b3b267cf0bc61648ebc675bc73ce8c2dfbb70a943bd8a06bbbcf42c8e3ccdd06fbc616726bd8fe7b7bcd30f923ca864b1bcab8c39bd492fb2bc65683a3cd4f7a8bcd88111bd9c127ebc6f23063c647fc2bc1a360abddb292dbc25a0623b31149ebc7f10bfbc50cf60bb4ea3e139f57291bcf11785bcdaac893b12cb88b91cb717bc9fa1d6bbf6f1dd3bb5c498bb040a583fd02b873ef5fca6bcdea0f43bc584493f2ac5753eb9c8e6bcb45b733ce628293ff892503e15c1babc904cbc3c1e88113fd8aa2a3e99fedabce498b13c9782e23ebfb6003e2850c1bc6f53b83cd4f8ab3e7610ad3def27debceb988b3cfe7a603ee47d403d46f8bebc5f13753c1a8be13dc7df703bebefc1bc8722113c0af48a3b0265c1bcbf4f73bc134a7d3c4b8b013c3755d5bc0a1ec8bc41d0aa3cdb124a383f2030bded3b08bd32c3ab3cb39b0fbc5bfd40bd935806bdda35913cf62c69bc7c863dbd9d72edbc2e36733c54f796bc35fd26bda021b5bc4eb52b3c732493bc1c9716bd7c6688bc0c41a93b4e0e95bce089ebbc77d101bcb060f23a1f6d7abc1a12a1bc02d3813a32898735b554dabbaf5a10bcbe15533bebce05bcd545323f0ca9cf3e8f73a0bc2d3f1abbd8bc263f66b2bd3e6d5be4bc2318073c418f113f4dbda23e7fe0dcbcf1836f3cc82af43e816f853e8610e4bc0f81963cace2c23e346b4d3efc2bf3bc0c7f873c9653933ea749123e0a4bfdbc8c417a3c9e17443e84b2a93d07e1f2bcb4c1433c17d2c93d506bd43cc027e5bc9f4bf13b3722253c1675abbcd6b5a1bcbe4a433c272d1c3c5f87c2bc8fcdf8bc2bef983c7512c73b978c25bd2b132cbdbe0c883c388248bb16f82fbd489718bd4d3b8d3c84a9ffbb03d93cbdef8116bdee44303cbcad03bc0db605bdbe53c4bc97962c3c3b8365bc93161dbdd2e3b1bc2292983b5a4b56bc736fe9bc454339bcd5252a3b765044bc476fb6bcd50537bb4c115eb8fcab06bc189234bcca452f3b38cc48bcd1840d3fbb7d0c3fd21c99bc3ef201bc6efd033f2db4003faa5dd5bc73f43b3bb681e53e0e7ddb3e8134c5bc982c033c3389c43ec172b63e2c58dabc86051c3ca6f5963ebaba8a3e46b1afbc9edd4e3cb8c9703e5ad14b3eb8a500bd86713a3c69ba1e3ebf1efa3d91f1f0bcebd6163c33f8aa3db67c3e3df8a000bd070abe3be7f61e3c0d0380bc3439aebc1ae60c3c3810443c020bb7bc700319bd807f743c4caafa3bbe2c24bd7e0850bda67d873ce4ec023b470a41bdf3a64ebd2165833c25c098bbf60043bd38db34bd85f1703c8daae1bb51b33dbd068714bd2ca8123c33eb24bcfc1823bd95f2d6bc5560b73b7eea4abc8a230abd9fcf82bc0d55513a244044bc91a4b9bc792e96bbf0f282ba9a3b00bc91434fbc8cf67e3afcb073bcbfced13ed5e5313fb05f79bc60a333bcdfa4c53ea0da233f2456bebc0a8f9bba650baf3e05cf0c3f842cb4bcf0c9a13b33c9953e17e7e73e9a86cfbc0668053c04c7723e7eceb43ea00adebc24eff23bd6d1393e08cb833e619401bdcd1ae53b8a05ff3d48da233e859d0fbd61c58c3bd996873db792893d887211bd2867293bf158113ce37961bcf15bc7bca1bfbb3b771f283cd90faabc5cdc2cbdbf413c3c27a8193c385522bd222875bd53114a3ca4ee7a3b67ae26bd04784bbd944b553cb2f471b91b4547bd834755bded4a1d3c928381bb8a7022bd4fca19bd45ea073c9a4cecbbbd0c2dbd6d3302bd71345e3bf39d06bce748fbbc9c2a8dbc0bd529bafe2f60bcb69fe6bcacc687bb3c5121bb2b5ae5bb70b867bc7e66223bfc8581bc59b2893e665f573fdfbf51bcdeee4abcb0ce823ec1dd463facbc8bbc6e4e41bb2207683ee5f3253f368076bc44578d3a24134c3eb6ef0c3fb59d9abc3b156b3b9397233e2aa7d83e36beaabc52a73a3bb77c013e46bba03ead7efcbcac45323bd84cae3da1614b3ecee8f4bcda0f09ba0255403d88a7b03d4c8921bd86058fba6d2fef3b8ea24ebc538deebc6aec863ba3d4273cde4cb1bcbb424fbdc65e163c227b203ce7cf30bd3c4a8abd8426343c9f6db53b864542bdcb0682bd12ab413cc8343c3b64634bbd975b6dbd94250d3c2af2263b859c33bd59be37bdd1c5e83bbca99abbe17a32bd510510bdee784d3b8a1213bcc91c17bd06e0b4bc732443bbd8ca24bc9311dfbc75f7c6bba62699bbe1020abc364f74bc782ead3a98d566bc59ae053e398b7d3f383987bb52b02dbc2be0033e9208693f570fd0bb016c67bb9ee5fb3d6755463f44b6d6bb0e06103a0456e03d4f95233fccc143bc7ae3523b950dbc3d69fbfd3e29aa9abc5574c939ff1d933d12d2ba3ed620dabcec527aba8933553deef26e3eec730bbd852c88bb4f34db3c8ba9d03d9a1824bd480785bb4a88923b961e73bcf4c704bd00000000000000000000000000000000003ef93b535a163c7a700bbd0a3174bd86921c3c6b9fe63bd72718bd99885abd67e51e3cab569e3bdda717bdf81541bdd490d23b35ec233bd7690fbd17db1ebda1a3e53b4e90d6ba9df005bdabc3f9bc28fb2f3b76cc8bbb3f7ceabc1cbca3bc321d1dbbb8a900bcecb5c5bcd4ee14bc0000000000000000000000000000000000000000000000000000803f00000000e5bba2bb75ce173c18757f3fe593c83b85c4e2380fe9883cd8f0573fc96c3e3b3bd5ff3aeef0a33c7232323f6127d5ba39b03b3b4445a53c1c830c3fb2ee0abc8b72c63ad7f08f3c33dbce3e9faa79bcf392b6b954a14f3c20e5853eee9fb6bc215945bb132d033c70e5f33d205701bd0000000000000000000000000000000000000000000000000000000000000000970c783b33e111baf8dceabb493410bc07bc423b629ce1ba3f5ff0bbe0580ebc6f6a033b00d533bbbd26bcbb0c22f3bb0716c63a61dc22bb451fcbbbaf41ddbb15f4403a502853bb9bd5d2bbaf12d0bbea73b639f70153bbff05b4bb7e2498bb4af5abb96b8846bb723397bb3aba37bb00000000000000000000000000000000000000000000803f0000000000000000e64fd93b30e3633f663f183bb5e624bb0581ec3ba566433f83d2da3aa9aa4abb6aace83b8dc7223f1888253ab30882bb629bd33bd81b023f68edc9b8545375bbc2a5cd3b2d60c33e1286b0bafbf793bb9bb2bb3b6c60823e471124bbbff098bbb8e9b13b6536033e8fe78bbbb47ca8bb00000000000000000000000000000000899b743be1759e3aafb2bbbb05b702bc1814993b957db439ccf10cbce05d3bbcb1e1993b49cb0bbb752e20bcc57f43bc1dc1613b977903bbe5c019bcd0f63ebcd277173ba02b18bbda2103bc12661bbc1d16f33a19504abb4a3d08bcc18513bc8e25ad3a183aa0bb03a7ddbb66a1ccbb57cd2239a97164bb1d06cbbbad0b8cbbb0d458b9aec427bb100585bb08bd13badb1b803b585d633faaef023e5145fbba609ddd3bcc87483fbbe3e73d6df250bb41c5063ca24b2c3fe70ec83db7ec9cbb46e60c3c05b70f3fff66a43d815394bb1b6ff23bd16be53e665a813dee3395bba32c033cadf4ac3e4e2f3d3d406eb4bb797cec3bfe41673e0677df3cf162adbbd3eabc3bf3fde83d122c3a3cd8f0c8bbad16723b6cafe53a4f7480bbf0c993bb6b09893ba5a92f3b6382cfbb2f4f19bc05b2a33bdee9cb3a3d1d0abc593351bc2a637f3b09ace737225d00bcbf1739bc4b9d7e3b6a3179babd401cbc8e4055bc51ad343b1a81adba2b2bf9bb36ca1fbc47683d3b12ae0ebbdd5214bce29d2dbc9c3fb83ae29313bb1b19dbbbe06fe4bb204af13a0a195ebba359debb8367a8bbfe535e38c72ffbba76ac68bb1058f6ba8b834c3b032c433fbb82813eaa8345bb2175b73b69622c3f0925663e56a24bbb4cb1c33bd48b133f3d6b443e3a2f54bb342df73b3785f83e81d6233eeae194bbf5acd43b3557c53ed6d1013ef51389bb9c9d063c95b1953e17a6c13dfe6abebbce1bc23be715473ebcd07b3d73e3a9bba656d53b8161cd3d872fe03c57f5ddbba05c5b3b7dca233b258f47bbd2208bbb8eae5d3b3ec21f3b506699bb14f713bcce41a03b966b083b3c4307bc368c69bc41fb9f3bad36803adf0612bcf22f68bc7d91853b71a88ab8250816bc624662bc17d7503bc3e349ba4a3207bc548a3cbcf193373b365dcbba3cc217bca1a03fbc462cff3a2d4af6baa140fabb280f0fbc4cd3753a053d12bb7ef6d5bbc583c6bb60099b3a13d323bad2289bbb3daa68bbb489043bcda1223f5800c33edc31c2ba2651983b25f90f3fbf2dac3e926343bbb6c2d73b19e3f73ea692933e491e5ebb6917da3b592acf3ec291753e1c3986bba2abd23b71c7a53e8673433e987d92bbc6ede73b29027b3ebaf8113e6e20babb6a62d03b9180283e98f6bf3d6485bebb04c1a63b493eac3dcab8373de6a1cbbb5bee843b4556803bbad05bbb42d8aebbad824e3b8242283b1e8d90bb215228bcd71c953b74be2b3bd06dedbbf8a070bc7c948d3b01debe3a4b6201bcccec67bcb1cd883b95c9043ad53c11bcf5f470bcc96d633bb7bd153a635601bc8aa739bc7be23c3befd352ba0fb309bc3d6440bce5f7043b80c4b6ba5583f4bb938218bcb5f6b13af4e4edbaef5fddbb0a81f0bbc817233a6779beba24d184bbf1d862bbad53ba3acb34023fbdf4013f3f99a3baf667673b7aaae63e1643e53eb8b80abb23049c3b0683c63e3162c43e4b272ebb19b4c03b7499a63ea4b9a33eb2ea6ebb7fd4b23b67e6843ed168823e4d3295bb6829ca3bdc814a3e7251433e7905a8bb24a3b63b2930083e9b05013e3865b5bb7359ac3b654e8d3de4407c3d48decbbbb723603bc4e96a3ba6b1ddba3d9e92bb205b613b69bb4e3b5d937bbb323835bcbb78773bd1be873bd567cfbb60b882bce607933b391df93a6e9203bcab7683bc422c913bbaf2a73a9d9f0dbc8ac880bcebff683ba561bf39420405bc94055cbcf2614e3baaa7a4b9b7c90cbc2f6154bc7c38463b902d10bb941b12bc98c43bbc977dc93a041ec3ba1905e8bb889308bc37b2033ad744b0badfef8fbbea3494bb9d5fdf3a0cd8c33e74ff213fe52a92b9e9b72f3b958dad3e28290f3ff2f7e3b9aa9d903b8305963ef1b1f53e221309bb9fdeb03b80837c3e1ae4cc3ea4523dbb8e5bad3b4b834a3e1c46a33e06f369bb154ebc3bc54e1a3eb7d0743ee3019dbba9c5ba3b127ed23d5b30233e2433d9bb13d4a23b6a135c3d102aa03d0475cfbb2a574a3b7b28733bd5ed91badc4d9bbb3d5b133b256c0f3bf82333bb496039bcdfdb993bda1f643b104fdcbbe6e390bc65b0783b0c1c063b35a9d7bb7d2d70bcdf6fa33bce86ff399bf018bc8a498ebc6141543be5d35d3a55d3e9bb388753bcb4704c3baed346b8bc1910bc045e66bcbe85083bb11f0fba48b4debba0e822bc8150bc3adcebb5ba9cffebbbfb2b16bcd0fe5b3a8efc94bade6298bb7a3d77bbdc18113ab0c7823e37cf423f4bf7b63a5d69c73a2f966a3e6d072c3f485e8eb966f75f3be35d493eeef8123f8fea68ba58faab3be9f92b3ed335f63e095253bbf3128d3b50c8083e8c9fc33e2e4129bbf718ab3b5191d33dd8fa923e532196bb23c2893b946d8e3d2cee423e7ccc95bb45fd903bdeb31a3d468dc13d1e2bd0bb711a573b747c823b50e2efb9cacd9abb3756213bb4ca393b2fb740bbfb2b3dbc2f89723b5da5423b40d5d6bba10d84bc6e9b913bc6fc3b3b9631e9bbae0d8dbc1bd5883bbc63073b864a03bc7ce38abc92715d3b702b973a171be4bbedce58bc8b425a3b5c3fa8baef35fbbbfe8a51bc722b2a3b601dceb99b54fdbb84c03dbcbab8b43ae49f97ba3561dbbb9b7e0fbc5f3a003ac280a0ba23628bbb2edc9dbba58c043a787b043e3f60633f9c37c03a1daf0d3b2a3cf03d73eb483f4add443ade567b3bc2f5d23dd4d52b3f7c6f013a4bd88d3bd8ffb33dc0310f3f343a4ebabd13883bac24913dd349e43eeb2eefbaef009b3b5b6f643de58eab3e2bf157bbecc4a33bcd52203d7d22643e33589dbb1f2b773b8ad4b03c9588e23d0d98bebbdf461b3b4c7c5d3b511001ba2c0e9abb00000000000000000000000000000000e76b753b04316e3b28b4a0bb877374bcf474643b7f7b243b5860b6bbc04461bc7e307d3b2ee0da3a4e11c7bb9b0a54bc09db3d3b9661933a60f1bbbbb04938bc521c213bb102083afe52cabbf3b92cbc51c6033b3d0903b95c83c7bb76d418bc5026993a616374ba913cbabbf596f7bb0000000000000000000000000000000000000000000000000000803f0000000002e675b9f538d23bb911643f75c2033bdf3f2d3b0110d83b3b3c433f5735a73a57db413b6bd6dc3bfe0c233f4f1703395df3523b03e6d63b0cdd013f739c84bac293563b4736d53b28ccc23e7fd111bb7a255d3ba108c23bafbb813e8c0f63bba458423b005f9c3b6811013e803299bb0000000000000000000000000000000000000000000000000000000000000000d13dcf3a5a7516beab3d48bc7317723c613f03bcb2120dbecb2b97bc4ea28b3ca2f135bc66d3f0bd341dc9bcf0b3443c37cf59bc0b8ec0bd2152b0bc26df223cfe9f3bbc236b8fbd494973bca851ec3bc5d201bc081f37bdccb1c5bbae82943b4bd32fbbe5dc8ebca485da3ace569e3a00000000000000000000000000000000000000000000803f000000000000000036d992bd761aa33f145fa8bdec99ab3b77a4fdbc0508873ff3f154bdfe326b3a575f83bb1093593f7ec1f3bcd8e665ba4151193c95f8233fa962bcbc30b242bb7c4d4c3c0cbede3e7c81a6bc339db8bacedd103ce846733eea878bbc5eb02b3bf4be6a3bfb504d3db5d49abc92bdcc3b000000000000000000000000000000002f3cee3b11a0a9bd5e530cbc3dc7c73b002a863bad4912be5685ecbb1b4c6d3ce45d0cba565a19bece98cfbc1a04943cc8cfdbbb79f706bef651fabc39e3923c8ab603bc3457d2bdd16fecbc3ac94c3c02bd0bbc26319dbdaabbabbc84c2353cb7e3ebb923e744bd7aae32bc2806e23b1333023c56e186bc498a27bbd0ea5d3a4dd0e03b6591a93bfdc6b23b05483cb9569c12be999ca23fe9cc553d5e9c9cbc71b115be37a89b3f04c8043de06173bc8f1fbabd8a20873fb5d9453df94894bca9cb56bd62fb583f5ee7513dc9539cbc6435d6bc1fbe213f19c6303d7a1476bccfb569bc8231dc3eb7e5e03c0abf45bc878f2cbc72af6b3e5694303c377fb0bb38f2cfbbcdd83d3dcacd5c3bf2c9223b2e2806bcdcd994bd4d6c98bcdc8c763b67a8ee3a07183dbd89107bbc692e853b8738ae3b47c3dcbdc80608bd55a2633c99a2523bb2b0e3bda59f3abdf8115d3c247205bad664e0bd47ba3dbd3fe16c3ce87612ba4f44aebd67f823bdac76273c0f1b4fba1ebd8bbdaa7ef3bca3ae253ce2158e3a916f2fbda7f68ebc4985fd3b4773df3b1467a2bcc5d09dbb86b0b83b7298da3b42b5a03a0311b13b3afd4e3b74790fbe2d5c873f7f4d7a3e593645bd00cf1abe4f0c883f14d1643e886e5ebd3549c6bd9b9b663fbb49533eaf4135bd371196bdbadb413f897d2f3e46a925bde15730bdcd67103fb8d3093e71810bbdeb180abd6ffcca3e5480ba3dd7e4debcf2d6b2bcf522663ef0b5493d151ba2bc880f80bcc9508c3d31f52a3c554b02bcc24648bcae5e12bde4cfa3bc5a507bbb7fe71cba862bc0bcedcedebcb88a23ba00b3c33a85519abd52a55abd3f5a2d3c92bd453bcb4dbcbdf0b185bdaccf4f3cb566003b8a29b2bdc3b580bd7eea333c56df6ab9878997bddad765bd9db4223c9762dd3abbe370bd27b921bdec83173c17d7373b28701fbd5727c3bc4865103c20039f3bb8829dbce996e6bb53ec143c01d4943bc68340bb7b0c613bb3d6b73bb3fff7bddf465c3f8f8fe43e5b179cbd422f08be88dd5c3f5c3adb3e6e8caebd5c59cebdb4ad433f69b2c03ed7ee95bd8d4798bd3d62213f32369e3e15b47abdef9250bda594fa3e559c733eb4095abdcd471bbdca5caf3eadfe253e7d1629bdbe04f5bc3ca14f3eeb49b53d79e001bdb089abbc4bc7993d8403bc3c6e769ebcce6673bc5b885fbcb6aac4bceb4244bcbe9679bb0c701bbc4cbc17bda134edbac0905d3948d644bded6994bdee9c0f3c4341333bc23d7ebd165aa6bd938bcb3b829b3c3affa98cbda506a3bdca78073c4ffda63a241344bd52f863bd7cae89ba0615d03a7b6649bd2e7257bd7bc5133c34470b3b866b09bdf8a1e4bc1bf50b3ce513a03bc90592bc073b30bc0ee84a3c28e1753b0b433cbb3aaa3e3b2a6e183c1cacc7bd7a27273f9285263f043ac9bde985d8bdbdbc263f1c59223f87c7e8bd0079a1bd4563133f4fc00b3f4186b8bd11fe82bd2bedfc3ec723e83e4b7fa3bd472f0cbdeeaeba3e360ba73ee99f5abdff7c1dbdbd2b923e91a6703ead4c62bd5d18d9bc032e2f3e2db3013e5a171fbd628eb6bcc956943da7af0d3d3f5ce5bc99bd89bc885115bbae0ef3bc2ce4a2bc2f497bbbaf2e4fb9e13c49bd6606c8baf4e8a63a670f07bd356bc3bdc811403c0278863b32ff4dbd64b8dabd087b333cb4f46e3b495057bdafb1c5bd80f8f53b31b8a83a69e045bd864fa6bd1386cb3b165a6f3b0bf62abdd3786cbdb18d0f3c29e67b3b0a66f8bc6aba0fbd0b92473cec9ba83b4a6486bc02d744bc9d72653c2e9e463b3d082bbbf6df4b3b824c383cf0569ebd6e43e53e26935b3fa008f5bd1992a8bdfcb7e33edc36593ff97d10bed7ff88bdb2d4d13e5ee23c3ff955f0bd65175abdb178b43e0d06183f3415bfbdd83726bdd744943e35a8e43e478d9cbda5f40dbd6387593e4dee9a3e761977bdaabce0bc634d093e0e86283e820241bd2228a5bc7560743d6d9a323de8c8f4bce1ca63bc4cc9be3af37d18bd4db7babc788e39bb5893893bef0d87bda0b6fe3bd402583bc4a1a5bc09b7fabd7cdaa23ca6bf923b29c102bdbff7fabd1b8e0a3c07be893b19dd19bdc1daf0bd9c64f53bb480443baf8b0cbdb9eab7bd3587313b82688e3be29608bdf75a8bbdce77113c2cfd823b0be2c1bc1ee422bda78a293c4effae3b945f42bcef7f55bce4fe553cc152713bbc440abb4a2bd63bbf6b493ca72b4fbde0687b3ea068873f121910be04155bbde49b763e3a75863f096325be322e2dbd95f4713e2f31623fabafefbdfe101dbd50e95a3e43df3a3f44a1ccbd9981f2bce56c383e15cf083f370495bdf4fedfbce5430f3e5fabba3eefda7dbd3feda9bc723eba3da48b4a3e7e7f38bdc97e66bc5e3d273d68f6373d4744c7bcb6ee1bbc8d902d3937575abdf6fd81bc92f3bbb9c2c6623b40bbc3bd910f693c0e180a3c915f1dbc543c1ebeae140b3dd54bdf3b1613b1bce88021be3a437a3c29f8ca3bc245ecbc66340abe1c92aa3b01d5b33b6ec1ebbc6158d8bd5019dd3a5245c93b0460c7bc8be1a0bd1797a43b1e0eb93b7cbc97bc364e40bd6c93313c763ee03b9ceac2bbc4cf40bcecb6123c04aff93a6108be39597f023c7953423c7f89afbcd9405e3d4877a23fdcf714bed7cb92bc0cbf463d0c7a9b3fa8f822be9af1adbc6b44a13d54a0853f5506efbd649da3bc03bfb33dda8c553f3d8aafbd219494bca0fcad3d90de1d3fc7f480bdd34a94bc69bd8f3dedacd33e24b94cbdac3166bc4f7d3f3dacbb5a3e096d0ebd6ff680bb6503ad3c53b9103d8be4d7bb5130a1bbf4c39fbb3893a6bd4bcd58bc00000000000000000000000000000000cec1ad3b132df7bba44017bea29f103c9195dc3b68e980bc28870cbef211d3b96179bf3b688caabc9b16f1bd0f3b25bceda27a3b488aaabc84c5bfbd885f39bc635c853ba98d9dbc21dc8ebd91ddb3bbea079b3b8f5d53bc980e30bd0c71f9392f45343bc55ce2bba07080bc9232ce3b0000000000000000000000000000000000000000000000000000803f0000000057b43a3b50fd8dbdf1f6a23fabf8b6bd9fde65b93e47e6bc37b1863f8e7862bdd7db34bbebf4b6ba23fd583f6a3419bde11883bb850d363cad3a233f13e0e3bc8f05b0bb40924d3cf7a2dd3e91a5c2bc18e745bbd4e00b3c27c3713e395788bc7602c3bab157d1ba9242483df31076bc0000000000000000000000000000000000000000000000000000000000000000428440bc0c13ddbda76ecfbc1a37b63ca29698bc9077e0bd8686c9bc87d5ca3cacd8a0bcfd26cbbd6d8de8bc283fba3ca445a6bc10e6acbd72fcc3bceebba23cbd4ea4bc79e18cbdb8a681bc3385873c63297dbc055e45bd2628a9bbe2b5403c2df5f5bb73e9c6bce54d9c3bc7ad9d3b00000000000000000000000000000000000000000000803f000000000000000025e4b3bc811a993fba5155bd411a55bcf685473c8d9f7f3fd4e120bdd12481bc00ab043dbcfb503f8c12fdbce3d599bc8285183dd29d203f7622fcbc2cdf8cbccdb5033d4e44e33e15d103bd6f364fbc84809d3c14f2863e7c2608bd42ccc0bb11f5003bf2aaaf3de31216bd034a323b0000000000000000000000000000000059e62bbbeb0949bdc7afdebcf5564f3c88b666bcd937d9bdef98e1bc0bbdd73c5b0782bc06d9f0bd22b314bd1e5cee3c9e9c91bcf9cbe2bd9acd12bdb119e83cf2378ebc7f6fbdbd065bffbca991c73cca1680bce5539bbd2203a8bc8939af3c6a8d1fbc0f3252bddc131cbcbf696c3c2a028a3a2563afbc79b4d43a6bad613b2d32683bc6d3c2b938f90c3c81b9d53aa368bfbdbfa4983fdbe7ba3d779508bd2809b6bde983923fb97e893d203c06bd15760abd66ed7c3f2269843ddd9213bdf7fc7ebbd51e4e3fd04d563d238910bdc089513c66931d3fa07f103d6c8b03bd0985313cafc2df3ebb575b3cf748cfbce7f2633b560b833e6944bfbb910d7cbc066b2abc8a05b03d60e4a0bc6455b4b700545cbc7e9f28bd09880cbd5e77453be57b8dbb05d1b3bc3653f5bc25c9063c847607bc4fe798bd0d5b42bd52f4bf3ceeeedebb79c8a2bdfa0f59bd0350a13c30df27bc3303bebdc58c55bdf8d2e23c16cd3bbc5c099bbd19182cbd3795a03cfc042abcf88c8abdf33304bdf7cabc3c7c96febbb08336bdb76c9ebc2950813c512280b7bb8fc1bc305796bb6834383cde29223bfb0a16bbae64903b3da9cd3b85e4cdbd6450803fdf09893e359d5fbdb183cabdd67d7f3fcaad763e42f488bdc53135bdb519563f3514593ef0406bbd995ddcbc3d93393fd1982a3e28876cbd415fd9bb877d0d3ff4b8f93de12142bd31bcbdbba949cf3e72ab9b3d67bb2dbd6b0093bb43a27d3edcde093d37cbf8bc599c5fbcf1d3cb3dd117cabbe9de7ebc19cb5dbca0d668bc8455ffbc30f0c6bb4ebe38bb1e94f8bb40dc12bd36a081360890ccbb273750bd6e6075bd92008f3cd599d0bb00ca97bdc0b58cbd531ab53c47badabb40a09bbdcd9282bd7290b33ca047f6bba3f190bd371166bd2b13b13c22b201bc6e4977bdab7d2abd001ab83ca5f7d8bb6f3337bd3dddd2bc2c9fac3c0afb48bbe230c8bcb0c710bc0585873c59b09fba9a76b8bbdbb0f13af14b353cc658b6bde17a523f0ff6e53ea6d691bdf65bbebdba03523fd438d83ed91fb8bd68e271bd4c6f3b3f60f1b93ee248a7bdb56e14bd58e51c3fe98e953ee1ce97bdd5e29ebc2200f93eed33603ec0ef87bd1c5163bcf55ab63ebc50143ea7d969bdc81061bcfbdf663e8d3f973d6fd33abda32c80bca455cf3ddc4b453c9124ecbc641745bce1c2a13a729106bdd2c28abc0d1ba8bb59e1c9b9802a26bdfd526ebbda3a9abb54880fbd9f4b90bd763a303c6dad3bbb453455bd84249bbd66103c3ccc709dbb4a5981bd81349ebde1138e3cf33212bb8d3c42bde6c26cbd67e0953ba19dcebb9fb65bbda86053bd6714a63cd7cbbbbbda7d1cbd101f05bdf91a9b3c34d267bb093cb7bc78825abce633983cef6932bbdad7e8bbdc42103a78da6c3cf2e4a2bdecce233f8100223fea88aebdc0eea5bdcede223f99691a3f2157d7bdd6604fbd7345113f6f01033f37eababdb2ff17bdbf5efd3efc59d73e32acb3bdb35d49bc36b2be3ebe5c9c3e187780bd1beb98bcd54f993e36225d3e50c78bbde6617abc42de423e4152f13d3f0f5bbd70da87bc3ef5bb3d18c0f73ca93d1ebd46e24cbcbf130a3cddb608bd4ae8d4bcc29aaabbfbb30d3bc50d38bd6ea6d6bb380090bb9c83eabc1d71acbdb16f493c314c2dbb194443bd3b86c3bd9fe3573cd5ce3cbb06b45abd2b2ab6bd2e57763c365173bb380359bd69149fbd7b5a7a3cb08288bb5d6a42bd5e2f73bdc94da93c00acafbbed3019bd978720bd3765ba3cc30f5bbb1806adbc064285bc4e5aac3cb1f97dbba3f7f3bbc46b8ab9b83b833c25338cbd91d0e93e3af8503f5974c3bd14ae90bd505fea3e63974a3f9d1afbbd030d4ebd5d57d93e96772e3fc33edbbd3a9a15bd6898bd3ed7b30c3f6149c4bd6fccd5bc486f9d3e2523d53ef0c2aebd8e60b4bcce626e3e629b913e767299bd38b4a1bcabb01e3ed504243e7a9182bd96fa91bcf4769a3d40da3e3d45b737bd378755bcb073113cb78311bdbb1ff2bc1881bbbbfb10253936a15bbdc724b53a35bb2fbb2a31d3bcfaf9cdbd1d147f3cf61d0739cb2912bdc028c9bdcd16873b314fb5ba88fd3dbd4943d2bd6e66483c9f0e45ba029b2bbdca1fa8bd0650163c736763bbe07d2bbd05a18ebdada3a43c23ee48bbd7a8fbbc6da92fbd1c228c3c6904d5ba144f8cbc19b99bbcd1d3ac3cfa6b28bb7a2f8bbb3d5f083aa0788c3cc2a856bd021d8c3e458e7f3f7661dcbd887e59bd183f8e3e046e793f8df907be6d950dbdedcf883ef4a14d3fdc8bc6bd20b000bd1d237c3eac852c3fa18ec4bdbfadb3bc5011533efc19003fa5daa3bd016db3bcc7ca273ea9e6b33e7a829fbde0867dbccf34db3dba424e3ebecf77bd9b2481bc0d925a3d0ff66b3d869037bd47b13fbc6f3c8f3b9fb92fbd402de2bc57387fbb45c2babbbdcc91bd641894b95e2a953adedbd4bc52bafbbda9bdd63c6b10083b4fef10bdd5dc01be18e14b3c1d969e3a42ea23bd1f75edbd1fa8163cd2224239fd3c1cbd343fc5bd49f3e43b5032abb90f6f0fbd9d889dbdf1aa793c0e5372ba67a5d5bc5c6a4fbd20df9c3c6da7203b83e32bbcfa439dbc7c96943c26873abbae1c6fbbc547933a2be6803ca62405bd6f13c73d9c78983fbf90d1bde019e4bcca41d23d13ce903f173c00beb819bdbc1653fc3d5c69763ff2c5c6bd6d3ca9bc5555023e8d98463fde49a8bd44e48bbc7654ef3d9444153fca6b90bda7428abc3ab0c13d4ec5ce3edae688bd015e83bc73e1823dfe04683eb2286ebdce3a31bc9914d53ccf397c3df66915bd181722bce9bd97bbfe5b6cbd7addecbc00000000000000000000000000000000075b3c3b6d049cbce7c1e3bddc846dbbe6bbb03b8730cdbc1fccdebd56b3a5bb73588e3b7bfadcbc09e3cabdda1b46bc9826523bf696dfbcc52eadbdd8c31fbc0231093be6cfcfbcbb7b8abdbcab0dbb527dcd385cec94bcefc944bd32eee23b34867aba1c8b46bc37f2c7bcf2e34e3c0000000000000000000000000000000000000000000000000000803f00000000026cdcbbec81c1bc1d81983f1fce7cbdb917acbbb8cc0b3ced7f7d3f330e3fbdb04aa2bbc7eeee3c9b124e3f34901dbd6fe3a6bbcc89103df1201e3f5b6919bd055adfbb850f043d439cdd3e729a22bdcc31b9bb3566a93cfefe823e35b720bd8c7102bc73d6743b8096a33d322918bd00000000000000000000000000000000000000000000000000000000000000005fcd5e3b6c6415bd4b3500bd99d8873b27bc55ba325935bd2d21fcbca9fcc23bf5e684bb689d31bdefa3f5bcd353ac3b2c1301bccc1d24bd764bddbc3327c73b621c1cbc87161ebd864cbdbcaef4153c2cfb44bc7eb900bd4d0b7dbc0dbc513ca3db46bc5d97b7bcb22213bcb54f663c00000000000000000000000000000000000000000000803f0000000000000000700dbc3c5231833fb80e15bc4495adbc6b2b063da5665e3fe3dde9bbde0caebc3a5d1c3d39b2373f67ec0cbc5891c8bc30b6153d50ad103f9c7531bca612c2bcf4cc023da8b6d53e342d83bc3396bdbc89dcb83ce918893e1627b6bc60749bbc54522c3cb187fa3d6824dbbce16977bc00000000000000000000000000000000cf88193c1d651ebc30e8e4bcf4ac35bbfb2e533b547408bdb40b18bd41bd113c55e973381b8136bdd5f521bd3453e83b91aa43bb48f341bdeef61dbd96b9fd3b42589dbbeb5a37bd2ac310bdc6b1173c59a730bc464f32bd96afdfbc8b4b5b3c872645bc14ae10bdf6f8a1bc0b03873cf23332bc41bbaebcee1215bcdb798b3cf390b6bb4e2e24bcc50b1fbb66a7523c956302bc51d8823fe6b8013e5d93d8bca04c923b9099733f11fbdc3decb615bdee59cf3c237b503ff111bd3d289710bd9e19053deb232c3f01e9963dc21f10bda77c103d17e1063f03f3553d251f0ebd441c023d22e7c73e603ee43cf24304bd528faf3cf7e7803e38f6b33bde2defbcf996023c064dec3d44bf7bbcb800acbc8ad4cd3a863faebb2876e0bce9c56bbca9b2e53b1394b23a56a1bfbc6ffc18bce6e6a33bfd209dbc7d541ebda2d6a1bb838db33ba484cebcda951ebd31ae19bcf7a1e93a2a5718bd596630bdb1e986ba615c0bba5bb712bd7f4215bd44f879393b22ccbbaddc17bd570e09bd28d0103c6ff0ccbb0720dfbc6367b9bcf8e7c13b82380fbc4dfab0bcc52f65bcab68813cd597acbb63d1ebbb03b89fbbeb144a3c42f094bca17e5e3f4af4893ee6a4fbbc45c213bcbb92523fe1d8793ea4a831bdb0aa443c9863303f61ba533e1b8e0fbd4847a33cf13b183fdfbf2c3ed4cb2bbdbc6bd13cfc10ee3ee8fb003e5e2420bdc54fbd3c83f5b33e6919ad3df47b24bde8eb8b3c1f29693ec2dd433d965b04bd7038093cadeae73d6e9e813b97c7f1bc1849213b8cbc873bc412cebccf3197bc6dc3063ce93ce33b6fa3c1bc63b7a0bccff8dc3b492615bca02d1fbd752680bc68d8d73b5076b8bcebda3cbdf0bf56bc285b6d3b5045f8bc2f793bbdd6140abccccb62ba62d201bd00062abd8c5be5bbcb6e39bbfde102bdb3ab18bd09a52e3b8dc4efbb8d47f3bce1c7e6bc5c78243cf42a10bcb36a9ebc67b692bc8dc66d3c3f62a1bb8e4126bc5aaa0cbc1945473c450db3bc2894383fa339d63e6bd209bd63a467bcd4442e3f7b26c33e98373abd54c34e3b2208193fff52a73ecd583bbdc26e5d3ce2e0003ff045883eda7039bd42c38e3c1f5dcf3e8edb533e45f434bdecbd803cc5599c3ef856133ed58735bdabef613ce2d44f3ee274a73db93d29bda71ab23be13fd53d1ebcd73c54b016bdedb4563b7b8f293c1dbba4bc7186cfbc4893733b3774fe3bed78afbc89f8cfbcfc12c23bbb4d7dbbf90018bdd097dbbc4665be3b503284bc1f0132bdd22bbbbc08b39b3b7ee7c3bc8f2243bd9b0598bc0ce3773b3fcaa6bcdd9319bd898396bcf30b18bb7309e8bc6d5422bd61d06abbf38b99bb7014c9bc90a5f3bc3a84103b5a2806bcbeb9a4bcaa2da2bc98d4413c8c29dabbcca621bcec2b13bc9b71343cc160b9bc3130123f36a0103fba5905bd9e3984bcf5dc093fb3b4043f7e3031bdba5f0b3964d0f23ea5cfe13ea3c52abd4cc5003cb34fd13eb962bb3edcc637bda59c5b3cf713a23e1b848e3e2cea12bd600b513c6540813eac5b4f3eb0973dbd2374153c1f0f2d3e0bc2fb3dabaf29bd8b2c993bb42eb63d43b13e3df12222bd75c08b3be70e413cdbdc9abc4c4fe6bc067b203bcffa013cdb89a7bccf65f6bc3df5583bdeab70bb28c71ebd533200bda91b9d3ba10b72bcb97d45bdf85debbc56a8253b3acbacbc117b4bbdd8afb8bc3213a63a5cd7c4bcd96542bd5c0c8ebcb9a11abba946e0bc8fac2cbdae81c8bbeaead9bb04cfd4bca62109bdb4104b3b93401ebc219cacbc2c06b2bc62b5453cf7c507bca4aa4cbcbff82cbc9cae463c4aa8b8bc9006d93ee1c3363fd24102bd45dca0bc7432cf3e0e70293ff89f34bd4091a9bbbeb0ba3efc86113f875630bd4e47833b534fa03e518dee3e695332bd01a9093c0a7c833e7676b93e6b5634bd562ce93b10214c3ebadf853e64ea3fbd1c56ae3b02800b3ecbd4243ee50e3ebdabe075b940b5933d9fd6863dab442fbd2934b6399dea263c39ef87bc5c72fabc894c72ba6feaa03bce65acbc23aef0bc0d845339b5cbc9bb69a52cbd0e3c08bd710d9a3b687f22bc341b36bd3c2d10bd64545a3be0029dbc5ed458bd587ce6bcf245f53af0a4a0bc8fba41bdbd41b4bcbe3271bb2933d2bc18d734bde55e14bca375b4bbfe02a6bcc4eefdbc753daabbbe9f21bcec56aabcda25bfbc3506393cb5d926bce0b941bce9690dbcf120443c92c6b3bccdc08d3e92575d3f8f22ffbcb16d90bcedb2893e2edf4d3f99b42abdf66476bb6672783e0c082b3f6a9503bd2ece523a83c8603e5ca4103fb7be21bd9e93b03b6e34393e2587de3e44b11ebd98c4723b97b0133ec699a23ec69b37bd2b0bb83a4751c53d9ab64b3ef12a22bd301a93bb3e60513d5831ab3df7fc33bdf60ab0bb3edec63b26d687bc55c1fbbc244d1abbb6f78b3a0e40d0bc3bfa0ebdf413ccba294421bca3a944bd49d2ffbca018323b59057ebc9a5461bdbe3111bd5e0f2e3b47bc8ebc74af69bdc9cffbbc9015e33af3089dbcbe5052bd537dd0bc75bf16bbd7ebb9bc59623ebd2df15ebc7230d8bb891ebcbc4a471ebd9fb1dbba184649bc034badbc6b2fcabc89685f3c2eee31bc5a3669bcdd393dbcf4b2463c8a4a97bc6af6083e1d63823fef2cb1bcb0f150bc620e0a3e4c0b703fbb5e02bd401c4cbb0c5c0a3eb8af4c3f7ab7debc502dc63ae8ac003e6dc0273f1be0f0bcbe03a83ba5d3dc3d2c1b023fbf75febc4eb3f03a32c4b23df774bd3e9ee514bd6bff4dbb7c74783d60ee6d3ea5f422bd0ec712bca8f7ee3caf12c73dbeff2bbd27981bbc29ec5a3bbb789fbc45af08bd00000000000000000000000000000000b8c4983ab650d5bb008d26bd514323bd602ea83bdf9713bc1bd53bbd714f12bd087acf3b848130bc42b53fbdeb7b12bd46e39e3b88e946bcc7a131bdf65ff6bc0f75da3a39f174bc04c521bdca0cafbc598441bb7b5888bc396003bdcac901bcac9606bc40ff8bbc9937c1bc6d57153b0000000000000000000000000000000000000000000000000000803f00000000a25b33bb3083593cc8ec823f9ba514bcc1cc1c3b7e30dc3cfacd5c3f867e19bc352bc83bedfb0a3d63e5353f30153fbcb9f7b03bd1880a3d68000f3fbeb97bbcb073923b6551f63cc1f4d13ee1fcabbcbccb0c3a4861ab3c76b5853e33f3d6bcb870a9bb6e92283c24cbec3dc54a01bd000000000000000000000000000000000000000000000000000000000000000088b9ca3be80340becade003d2742063bf87c1abc617f35be746dc83c7107973be8918cbcd5a225bed272363ca42a123c3000afbc65e703be6644023c7df4eb3b59928fbc032bb8bd770c343be562da3b4ed436bc485251bd231f4bba9eb0b83bf12479ba652015bca5c8a4bb2fa28b3b00000000000000000000000000000000000000000000803f000000000000000066d1d0bd72e6ab3fbb570fbe7256973c784631bd9cf58d3f7392d4bd567a553cd0280ebce80c6a3f13a4aebd2b01083c798a583c5b002f3f0bc084bd2481153cc6d0d13c2523e33e9ab233bdae559f3b0fb5063dcd6a613e2c5a64bca99c7e3a0135b63c6faade3b919be03b5b8214ba0000000000000000000000000000000036da803c54fed5bdcde8713c4ba84ab86c4d903c7c0023be5944f73c2eef9aba0cfdc03b3d0540be0dcb853c0f9e093c099f1cbbe36333bee0c80a3c65ce3e3cde33bebb87bd10be06e3043b48ce2d3c063178bb34b0d1bd3f4ad2ba2e80283cab2699b9757068bd1abdc1bb1424193c71819c3b8eef9dbcbb1113bc6190093c288a3e3c045a433c34998fbaba15db3ae0d74abeca00ab3f5f115c3c7c285ebc391e2cbe6ea09c3f6079d1baca9024bc2f8800bedf668f3f9cfd1ebc91d540bcdb20a7bd9e776c3f6b7f1fbcc3ca04bc94ac2fbd94e8303f00aff7bb074bf1bb0a427bbc8e88e93ef82a973984ffa3bb4148c43bc86d673e4d03133c4281b9bbe5609d3ccf461b3d80f5e33c936d42bc9cfc6e3b54e7dcbd892bee3bab1f24b9ef96223c2cbc69bd179f58bb2e8da93b0a3b773cfc580abe0a760dbc7308623c7a80043c575923bea3687cbc005c8a3ca656733b9e6f1dbe431087bcaaf58e3cd1a0bb3ab1d700be23b084bc38645e3caa3b943b8caacabd9e3964bcdb9f633c13f8db3ba83f69bd32891dbc8d17293c8317053c97eab5bc333c99bb516ff43b1023493c0e85363b3fbe303b3b9e4c3bc57a4abe790d8e3feb2d6b3e4a4e79bd58c94abee4b38f3f92d23e3e953f6fbd5e921fbea0e4813f3739193ea0cc3abddd71edbd62a05a3f2105e13d05ac16bdecf694bded64253f22e6a83dfe0dcebcff873bbd74a5e23e874c593df2268cbc45a299bc1baa6f3e75cbea3c2e3807bc0b0bcbb92f476e3df301443c8c142dbbda1555bbbb0463bd76e546bcf648943b31b6903bd4130bbd59cb01bdc890803c418d5a3cca1cd2bd045a38bd5a99c33c65b8483c99f107be47bf45bd9401d83c04c9363c5ac105bef6633cbd36cac43c8be10b3cf5ffefbdc7a920bd580bb03cea94123cd6c0b4bdff77d0bc15de803ca041443c6a7966bd8dda6dbce9474b3c6b6b513c836fc6bc046e01bb8ecbd73b98c45a3c3a7eb2ba4c3a053c0b19703b96ec3ebecf916c3fc914eb3e2684e5bd940e44bee8636e3f3fa9d33e890ae0bd2a7f25be350f5d3f9181af3ed092bebd4de5fdbd52543b3fe69c873ede738fbd4b9ab7bd0531143faf7c423e257255bd1abc69bdf397cc3e37e3eb3d127ef5bca50c00bde5a3683e825d593dc6a260bc3bef4ebc7deb983d0c500a3b3b52443bd6130ebc893900bd21ef22bd0e4a233cdfe0da3af62f79bc41f75bbdb4bca63c23b9613c2b4490bd432dabbdc6a1103d1485643cd4c4cabd5953b3bde477063d0acd633c3201e1bd523ca0bd7102003de1dee83b23c6aabdee6e6fbddf3b903cb557413cbfb1a1bd4a4529bd7374973c6e641e3c6dfd48bd4b3399bc2eec473cf355413ca0c2c4bc4d841cbbab91c93bdd7d453cb21832bb1a34413c18394d3b7ac11ebe7eba323fd2e3323fb2d61bbedbe621be5aa2343fd71b273f87a822be058409beb36b293fb2be0d3f51fb04bedd22e8bd3d43163ff8ebdd3e12d6d7bd33cb8fbd0fcae53e13709d3eeb0c8dbdbda978bd0c82b23e5af93e3ed68234bdda6504bdfed94e3ef489a43d8e3086bc4a406abc3e32a73db3c3b3bbbaea1f3c0d5333bc5ec335bcbc437bbd3331813ca44cb53a160efe3ac75395bdfb00dd3c67bf483c864433bdea08f3bde5a33d3d1ef7813c773e94bdcbd000be941c363d09a27a3caceba4bdc00ce3bdbdb2123d143d6b3c0476a3bdd758b2bd337aee3cce375e3c9ac486bd1e2a66bd47f8a73ca565413c6ee633bd64b0ebbccada493c3762223c2d2ab2bc58ca0abbeaaead3b88370b3c1f467cbb0eda603c839f2d3b4e21e2bd4461ea3eb4e76c3f70f33cbe8915f0bd1cf1f03e21de623fb23849beec70d9bda3d0ea3ed356433ff94a2bbeb250b5bd121bd53e75ec193f4b2b03befd8b99bd0d36b73eb53fdc3e4bd9b9bd62ca59bd49988a3e6aa2853e5d4757bd127006bd0146363e2727de3df9c672bc38256bbcd5f8a63dbc0a0dbcdbfe843ce0c5e6bbd78b893b73cba5bde077b93c6ab7ad3aac1e513ca6c7b8bde71a163d2860363c7cde8fbc57531bbe47f7543d1ca7803c8c0c35bda43123be2c0b413d2462973c711c64bdbca114be658e2d3d446d763ce07062bd27acdebd4a91d33c66864d3c6dbd44bd585d98bd9cd2af3c18d1273cb7240ebd30c714bd336c583c5595ed3b37b18cbc80afdcbb31d2643b1e80b73bd9bf1abb08758d3c2ee9cdba56e977bd69036a3e485a8e3fa82548be9e3487bde158743ed6338b3ff87957bebc0b84bd12fb803ea02f723f426f37bea43e70bdb14e7b3ec0eb413f569612be574244bd31b4603e0f640b3f13c0c6bd03011ebd54b03e3e4cabab3ef3a569bdd9cfc9bc00b3063e29bc133e8e948cbc22f943bc95e7963dd65a05bccfc7ad3cea1872bba0235f3cd90fc7bd4bfa053dbec8b339358c943c8d45ffbd115b223d3c93183c78ce0f3b192b30bea304733de64c6d3cd88fa3bc847f44be7d2b543d0c45793c25c808bdac0430becb522c3d0cb65d3c3fdb13bd268c08be1b12f13cdffa393cdd050bbd2322bfbd0c6fa63c3383fe3b92e0c4bc888043bdd3962b3cb7c86c3bbc174cbcd7ebf7bb789052bbb93c493b7667ff392baca13ca11c0cbbeeea5abc9b1d4a3c1717ab3f152c49be30c185bca4352c3d59e69a3fe74f45be5924dfbc86889a3da7e18a3f01d42dbeb996dfbcbee4c03dfb8d603f1e470abeca8ac6bc778bd53d3c20243f781abfbd08e1a9bc160fcb3d78bece3eaa785cbdc82052bc633ca83daaa8373e0f4246bc135ecdbbd3816d3d9b5d4b3b32f7073dd8bcdbb972dc663cca1a09be8b6d0f3d000000000000000000000000000000009f720a3c24e27b397ac942beb5cb253d0268633cc2806cbca4153abe637c093d26c3523ca132c7bcc41b29be870bac3cdcd1363c816ad9bc78c90abe55817c3cbb37283c99e8b8bc129abdbd7d8d1d3c83a4643b099c50bcdd4e52bd1489583ba5fac13a8cfbbdbb514a24bc9b7d13b90000000000000000000000000000000000000000000000000000803f00000000f7e54d3c05edd8bd3dfbab3f92e408be65b8de3a52b532bdecf68d3feb31cfbd8e1d39bb1a201cbc18346a3f7090a1bd1a05eabb8da1683c808c2e3f024073bddb7cbfbbac10d73cc73de23e900a17bd6f165e380c77ef3c2cf15f3e112600bcec60463b8806ad3c6451a93bf5cc5d3c0000000000000000000000000000000000000000000000000000000000000000d80868bc886b28be896e203d209068ba4a7b07bd9ded1fbe8036253dbe38a83a5e5f3bbdf45b0fbe1a4fec3cdaebc53b49c93bbd2034e9bdeea7cf3c47d1a83bd7ff24bd28b3a3bd8da89a3ce909833b8941cbbc7b9a3abd76182e3c76e7d23ac1e406bcb38b2bbcab43303beef851b900000000000000000000000000000000000000000000803f0000000000000000e08e8fbd328fa83fe1841ebef469b93caaebcdba1fab8b3fad120ebe920da23ccd563a3d32f3633f28c9fcbd299a703c3276863d75ef2a3f276cdcbd5897623ce249923d9d25e33e4d39afbd867a583ce312763d0cdc683e56514fbd6698263c04f1073de97aa73c96895fbcd6eea93b0000000000000000000000000000000031eb0b3c0365bbbdef240e3c9ccdc53a559ff73a163c1cbe192e2a3d42f4b6bbb19290bc58dc2dbe2de80f3d5c695c3b7419f4bc879a1ebefc15f13c8390c93b07f207bdddd700be517dba3c6e59d33b7b09e4bcc46bb7bd61e2903cff676e3b4c8e8fbc66dd52bd2b42213c1c27373b41c101bbe42c8ebcf4ed59bbaa62823ba4a3093c383a2b3c269b24bbeb034db91b523abe9111a83feee9993caae44ebc04941fbe9ef89e3fc0d51cbd4eebe23ac8f1b1bdcf558e3fc09f64bd9caf0dbaa9d4f5bc8571693f824882bd2a45403bbd48363c6403303fe61682bdeaeb8c3b3d26f33c15b9eb3ed27d6fbd74a01d3c7c3f093de48c753e1b4a1abde6020c3c79c1ec3ca0a92e3d6e10b43a990977b9358bd639b540c1bdb12c2fbb0e97d33b1666f13bad1b59bd6a245cbc81df233c2753a53b5f4204be09a3983af6cc583cd9e31dbccdf715be65872dba8981873cc3ea87bce0dc17be6ea5ce3b1fb5823c2ab2a7bc4147f5bd0fc0383b338f6d3c0ddd8bbcf5a7bcbdc431e33bc451213c653d27bc519f67bd9ac4b33bc85cd23bb7186cb9c186afbc0176093b24790d3b12f7ec3b78dad53b93cf983aa944c0ba686c42be46228d3f8f886e3efa166fbd6ec13abee930903f150f213e4ea557bd63b9ecbdf248803f7af9e43dc26d2fbde7539bbd53565c3f7a99583d3354f5bc5076dabc9050273fcff6b23c85aaa4bcd930d1bb818bec3ea2cc45bcfb35b4bb5379183cf89f833e75c7b9bcc4a8433beb90423c1b65953d176fcbbc6e19493c56c2c73ad6f94ebd4dd0d7bc4137843ca4bfa83bcb5005bdfa9c23bdc33aa53ca5f4c23b53b8d4bd839a14bd8565eb3cfb9ebf3aa50d0cbef6f2f0bcc67bf33c2b3bf0bbc0d309be351baabc65f4d23c1ca134bc913ef7bd82922abcd231b53cd73124bcb135b8bd1fb04bbbb1d9593cfe6cc3bbc84569bd43f2093b1b2cf73bf69f223b3afcb2bcf535093b8e9f033b12148d3b74b6723b66edf33b357bf1baf68436becb2e6b3ff043e93e4056d6bddf3837bea1b4713f2ae1c23e40e9d7bda2a80dbef2eb613feb89933e97eeb2bd2e10bdbd47e8413f61b44a3e045785bd5afa65bd9c6b1c3fd469eb3d5eb63fbd6a03c9bca843de3eb19c3a3defafa5bc314cccbb9989823e85525cbbd8fda9b93b0ee33adae4b33de50607bdc9178f3c6138f4ba9563dbbc80c761bd671bc53ccea2843b2ac18bbc04dd72bd85ade33c3cb3163c084aa9bd6c2890bddf342d3daf27fd3bf2cee5bdd71082bd1ebc1f3d0696213b3337febd987b4dbd85131b3d59f53fbb1703c7bd3ee81abdb32ad53cace136bb7b67b6bd8b2583bca90ba93cf227d3ba4ba85cbd861990bbf3701f3c56c1593b26beb3bc83fad63ae8a4353bf9047c3beaed8f3ba2a1103c257307bbd14d1bbee184333fa9942e3fbc8811bede8f1ebe5b213c3fbb291d3f8d9a1dbe8b9cf9bd1a89323f763dfa3ea5d301beba8cc8bd08dd223f093ab73e0287d4bd94f93bbdb76afa3e184f793e803d99bdc3a723bdfa6ec83e3dbbf13d3d8829bd9c5374bca85e713e7fc1f83c847425bc692a52bbbabec23debb116bd157ba83ccacd77bb389723bc679b99bda859ea3c258b6d3bcd62b8bb69d49cbd7906063d55a7523cc03a7fbd1dc3d2bd46065c3d4a30693c3a99cabd6bbfc6bd2b7a553d9ad0453c8bf0dcbd7d189fbd409b353dcb0df23bc941d5bd47b160bdfa10123d7362c53bcefaa6bd080000bdc4f0b53c941a513bed1759bd9bff42bc8ec4463c5e4c703b3b77a8bcec59463a35c5523a93eec23a1ecc9c3b92242d3c3d1218bb764beebdcae2f43e77dc653f77392cbe936bf4bde926023fdf1d573f758c42beaa1fdcbd678f043f279a313f21e62abe123bb4bd7d71f63ec99d053fabb806be467687bde7dbd73ebecbb53eb533c9bd6fc435bda260a63edd0a483ef12c59bd7e49c0bc12a7593e8bff833d359c69bc1cddacbb6f6ebd3d7bf907bd716bd33c30c40cbb0a2a72bac90ab4bd9a49033d0050313b5c6ca23a00e4b2bd7fef253d404e623c397234bdfd8104bedff9783db1db863caf2c99bdd23401be79fb6b3d53d9863cb232bcbde239e0bd8aa9593d7b765a3cf475afbdecdaa0bdc6101b3dd2dc273cf15095bd82be4cbd6523ea3c5c1fb83bb04f3cbd3f95babcecbf6e3c826a4a3b08bb82bc75cacabb70a9fe3a8949123a95630f3c150c353cccf6a1bb25af8cbd66eb803e2c368b3f2e773abef3059abdbde1913e8897853f2ce356be9ec596bd466ea33e16ab5e3fe80539bebae98abdcc75a53ea4092f3f0e4f1dbe543851bd2487963eeb88f33e56b5e4bd700429bd5bab7c3e27c68f3e7a0c8bbdc45ab5bcc70a2a3e71d4eb3d7118d8bc8419dfbbecd6a83dd4bfc8bc564dd93c0173c73a400d473b606ccdbdc06f2b3dceca283b34dcc13bf728e9bd0319263db1be5d3c8b24cebc8a3f1ebe26598c3dea3f9d3c12e276bd28e91fbeb35f823d23dca53cfb9d9abd3d3b0abe5158673d60078c3c3afd9abdd7e3cdbdbdcb2f3de0f76c3cf02d80bd982b88bd3034ee3cf92b013c318021bd710b09bd704a6e3cb82e323be59a25bc803317bcecf7e6ba42b9c6ba9278203c1d6c523c36bdb1bbdcc9abbc9b99063d9f37a73f6ae537bed0a4b1bc49258c3d02a5993f768850bedf8d25bd90320b3e9d71843f0d4a3dbeb54634bd641d2f3edca2513f1a6421be3acd1ebd73be373e999f163f1e8dfbbdfef4fdbca279233ef78fb93efef69fbda2839cbc1660fa3d95861d3e2801dbbcd7fd06bbf759863dbca24dbc5be7043d2f230a3be86c693b1e2300be7ef41f3d000000000000000000000000000000000257343cf49cc1bc7e8d29be6421473d85939c3c4b4b42bd16961dbe3876473d744f9d3c3ff06fbdc9cd0ebe4dd4203d2a38943caa6274bdc2afdebd7411013d91e56a3cc40c4cbd1cd09abdcf0dc53c1557293c891404bd232b2abdd63c5a3c18e4313bd6bc16bcad2318bc30c42f3b0000000000000000000000000000000000000000000000000000803f00000000c3d0323bed5294bdb914a83f6c9212be989842bc64d7c03b53ec893ff47502be80a0aabc0f7d5c3d2617603f0a50eabd6646b4bc13c59c3dc270263f3deac5bdadf493bcbe2aa13d84dcd83ecde297bd82ff37bc0dc4803dfb4d593e184417bde16952bbc692073d48d7393cddb635bb0000000000000000000000000000000000000000000000000000000000000000ea5bb4bc6166d5bd96b148bbdbf2913c084311bdf7badabdc74d6b3bdf7b9d3cf0eb27bdb7e7d0bd4c1c6b3b204da63c2fe32cbd3402b8bd4a34b33be2a2983c69992cbd363e8abdd7f2103cc4d6583c11c105bdd8912cbd73404d3ca1929d3b148ea8bcc2a96dbc5222413cd434b5ba00000000000000000000000000000000000000000000803f000000000000000038329cbb4854973f0a4d97bd28a772bc285f2b3d4fc67d3f0e5d98bdce1a72bc22b08e3d7d19503fcc9395bdde8ea3bcd436a83d9fb2203fb4c393bd0b1483bc5bcea03de9b1e13ebae792bdac9a0abca85d6d3d214a843eb09e83bd74cd113b1f06013df169a03db1d85fbd675e4c3c00000000000000000000000000000000aec059bb6e524ebdbadb95bcb0b1523c2c67bcbc6894d0bd6eaa043ad9f7843c9dba09bd48c6ecbde741073abdcfae3cb94f1ebdbe7ce1bd5c93853b68b6ac3c97272fbd9095c1bd0181eb3b96cb9b3c51ab1dbd68e494bd63653a3ca063513cc9f301bdb87834bd9c23733c5f61ac3bb4ad4ebc9d8537bc63c32b3c717742bbcc27aebb6cf0f93b1539213c677193bb4f9dbabd9220973f7e06b53d39911ebdf32095bd8e13913fec6a1d3df28001bda3b804bc79af7c3ffc57903cf2f115bd07b2123dc6e24e3f4a2381bb5b760fbd2e16663d48221f3f8ab3a2bc7eb7febc22b6733d6bb6e13eb08a28bd69538fbcbd22443d8e61833e965250bda7bb8bbb6522b73c79f8a43d250b3ebd42163d3cc5b8303b92e646bdc1e731bd10ef7b3c645378bb78dbdbbc5926d0bcb0cf523c291f62bccc89a5bd2fdae3bc1006dd3cc90d8ebc3fffbcbd8afbd3bc325ee13c86b5ffbc860fd2bd868f55bc13b5e93c8331e7bc4797b4bdfe5023bc5eb1c53c0c2100bd5dfb94bd0b82c63ab4fb9b3c1fb0c3bc070248bd1e5e833b78415c3c379d84bcfd0b95bc3e6e2c3cb6e11d3b1543b9bb14b1b43bc72d303c8eb369bbac5fdebd53b5803f4015883e9f1485bd78e6bfbd468e803ff71d5b3edc339bbd1fd5cbbcff005a3f58aa2d3edea391bd07ac443aa0ec3e3faae9df3d09488abdc220ec3cb063133f6630843d7f305dbd2cff093d1834da3e4a6e813c882623bd6f29073dc7d8843e106a22bc8ac6dabcf75e973ce448d03dac9e29bd6e21613ac2d2393be77ca1bc3cf23fbdbc67233cf4a451b91e8c80bcf2f01fbd081a743c54a800bc929f87bd74d73cbdbc8d013dff5b5dbc0734babd7ba629bdeaa9113da87097bce284c4bd84b105bd01cf0d3d29f1d2bc0c2ab9bdab82bebc87cb083d3f8ccabc066597bdcf0df7bb9ee4bf3cd0a9b5bc747351bdb733ff3a889d843c776876bc8ddbacbcd58e1b3c9e7fb33bed9331bcd82184ba8dd5503ce0888c3942ead0bd2f8a553fe3eee63ee13cbabd60b7c4bd0cc2573ff00acb3e9324debdc24858bd6c35443f5047a13e3317d3bd457091bcfa67273f75f46e3e627dbdbd4c89063c9186073f8571203efbe1a7bda1fe9a3c692dc83e6a67a63dc0f972bdbd18a13ccdd47e3ea88ba33ccb8318bd325c533c0319de3d963cedbce23c26bcec15d33b957cf3ba7ff65dbd0d2c403b95404d398e4ce6bb799243bd844f753c836488bb44795fbda74a81bda00e103da9f6b5bba646a0bd3fae71bdb0a2153d26b240bcf1beb9bd9ae04cbd8ae8263d45a605bc4ab198bdcd3427bd34a5f03c030c9bbc7c3399bd94b6aebcc377fe3c1c699abcc2fd4dbd8b6cd0bbff19993cf2cb61bc6112d8bc6730f63b56d7073c23e23abc8dfc64bb7e2f4d3c4b264f3b05e5c2bd3870283fc643223fa176dcbd421eb6bde4842b3f1374143f084f09bed2a757bd5a871d3f2665f13ec329fbbd7c68e5bcac410d3f78fbb93e25fbf3bd9e14883b95bcd73e37df843e0f2bbabde568b83bda72b33ec0ae1a3e43f7a2bd09dd453c0a06663e228f833df4f44abdc06c163c9a0edb3d76c55fbc25e597bc618c953b47c7db3b5cba6fbdaae047bbed980039e053a8bb7a0960bd00ba7b3c44acf6b8cead48bda2ffa5bdfaf6253d901473ba4ff39dbd8ea39bbd682b313db52681bb23b4adbd157985bd947c2b3df69a0ebcfe56adbdd61d49bddbc9213d381055bc879b94bd1d48f2bcb025003d05b34ebca27e5bbdd7222fbc430db03c24a048bc268ed0bc99c9a33ba17c153ca8001ebcc1ceb6bb90a3693cca4d2a3baa04abbd972cf43ec690503f828ff2bdf504a8bdf870fe3e5c45443f7acf1cbe480866bd6e07f63e30fd223fe10316be333f11bdcfe9de3e660cfe3ee18508be37cc88bc5366bf3e802fb63e5679eebde673e1bb89f8943e4ae5663ed217b9bd4726eeba853c4a3ea237d63db20d77bdb83b113b0d79c43d9a22043b0480bcbc46ad833ba708273c05bd7ebd78cdc1bb4085103902ebfdbb6adb76bd46d7a73c80947c3b3b573ebdb62fc2bd1efa2f3dde9fa73ba32985bd24c8b3bdcaa61d3de69cc73a7bbda4bd17e8a7bd5b76373d3b75b6b9018299bda4877bbdd0d9123d527d68bb6d6f8fbd348526bd6fca063de313b6bb26a54cbdd960bcbc6db9c23c3830b8bb00f6d0bc382f243b68200f3c74bc03bc0eb933bb06d86b3c3a218b3a810f84bd89ff953e75707d3fc2f4febd439585bd1139a33e0342723fb0a427bea4eb24bd4c7ca43e9743443f076c0ebee6c413bde3e1a13e03ec1f3fc2a110be5264a4bcaf298c3e17f7e63e5368efbdee8676bcc7846a3ee698973e6fc2cabdca4a55bb5f211c3e9afd1f3ebf538bbda3ae4fbbe3959d3d977e8f3c59c7cbbc208e0b3bb152c13b06ac88bd7aea45ba6be2ad3abaca2dbcdbf49bbde12c8c3c4d38f43b043341bddeace5bd2fb94d3d36da143c42bd87bd9b27e4bd3811423d3d5c1f3c39f29cbd7a47c8bdc1633d3d2a85f53b5a9498bd003d9bbd7a3f223d15333a3b8a1f87bdfc6c5bbd79290f3d6245ea3afea145bdfd17cbbcced9b73c2460c23aef93a8bc3c4765ba391ff93b1f03a6bb8a9db0bbee064b3c34df483bc95930bd6282ef3d4da7963fa17ceebd49e120bd5c5e113ee23c8d3f6d1420be44a314bdcb003c3e548c6d3f586517be07bf00bd92084a3e70fe3b3f4aea0bbe987cbdbcc5743f3eeece0b3f8545fbbd6a7ea4bc92af233e85a5b93ebc00d1bd929860bc7949e73df73a3f3efc258fbd1757d4bb5b65553dddb8fc3c0c05c1bc929813bb8a3d293b022e9ebd70a408bc0000000000000000000000000000000071cb1e3ced6e14bdc816dabd7f3fc03c939e4f3c753059bdab6fd5bdd7c1033d3cf4603cac4069bd675fc3bd5b71de3c71c4333c9e9d6ebdadf8a3bd70d7e03c72f00b3ca2a659bdaa7c71bd7443c83cdde3c53b0dfd26bd31a514bd84a5a13c912dad3a421bd3bcd38939bc81eb523c0000000000000000000000000000000000000000000000000000803f00000000d70e95bc4e40213c1bf9953f4568c6bd4e0684bc485b633d7673793f18a0c9bd563a83bc61f4ac3d3f95493f84b3c4bd65da61bcb8f3bd3d2317193fef29babd55991cbc6984b13d5a23d43e5c15aabd917122bc423b803df5e6713ec3aa7fbd4289d7bb78f6fd3c14117d3de1a226bd00000000000000000000000000000000000000000000000000000000000000007b942c3c63cd50be4805613d0ef7d0bbdf7794bcfe5039be773c113de10516bbec85f6bcad1b2fbe554faa3c28e7223a608718bd8c9807be1f2c643c23ff79b921e30ebdf995afbd4afd7c3b7e9e36bbeef3d0bcfcd83abd1756b9bb92ad37b944b514bcfce9c7bbaefeccbb1bce6fba00000000000000000000000000000000000000000000803f0000000000000000ca7bd2bd4f05ac3f445226be54f4f73c8acbaabc3b368c3ff11aedbd927dcb3c335a9b3c61c86a3f2641d6bdb1ffe63c30df4d3d0e102b3f479ba3bd1f85e03cb3f77e3dde28d63ef6f120bd70f4993c275d793d4f084f3e2676ecba59f5083c07b5293d30e111bc1a59d73c362016bb000000000000000000000000000000003035cd3caf93febd82701a3dd41b44bb0e40723c10fb21be3c54193d74e393bb8437253a663d50be90eefe3c902c0a3b657056bc880a41be715ebb3cc7a4463bf3d1a7bcd5e41bbe2966443c5d63af3a90fe9cbc4488e2bde40d793bd46a74b8dc5385bcd45377bdec6093bb8c463f3ba88815bc427ac2bce2b1cdbb918ae63a2edbe63b11adc43b0e5592ba64fb2f3a486b59be97c1ab3f117e933acd4ee0bbb9440fbe1139973fe9de403cf853eebb3eb9e1bd7cf48f3f6d5500bd2730f33b006d7dbd62916d3fa69d19bdbf7c3d3cada6a1bc3a4c333ffb80fbbc370b883c3c83513cf6b3e83e15b013bc7bf0493ccb55e13cbb41603e0066303c25ebdb3be8b2f83c916c4c3daa80d93cc257a1bbd170dd3b0a1ef0bd2514fa3c0846f8bb01364c3cf88f91bd28fd6b3c7608823bbcb4543cde6224be7bae753cb81e053c0cfe303bea6d43be0c54743c15cad13bf7c6b5bba68842beccb53b3c24d6bc3b5ac32dbc005c21bef234e33b59d2203b8c2432bcf685efbdd099d83a8c2a5f3afa1504bc5cb589bd12918fbafa8b063aec04d1ba056d04bd5113b7baf9792f3bcfe6723b37d699bb9727bb3b1a2956babb994bbeabd48c3f9c746f3ecf6266bd4be844bebef4903ffb112d3e934835bd01dc23be9b77873f1c33d53dd617b2bc1c56e2bd8445653f17577f3da6b3c4bb155081bd45892f3f5e92123da1ca5e3b2b76e6bc403aeb3ee603da3c41550d3c515c503a722f6d3ef4aea63c22a6ed3b2ccb1d3c01865f3da754983c09e8393b0aa8653bee6c64bd7717113b5b95213aba5e9c3b236165bd613a36bc5678983c67995a3c26b109bec26b98bce4debe3c0fa3323c41ba34beca7e8dbc5775953cf6a2eb3a41a433be169a66bc56c2413c33feab3832ab1fbe54bcd2bb69dd053c1d034fbb7eafeebd89f0d8bbaf8c7b3b6e6f15bbad1095bd7f779cbba541343bbe6b243bd95d16bd9488823bc4b1473aff488f3b6beae3bbfec6203c17521e3b604845bec80a6e3fcd0bec3e4398dfbdf81745bed01e733f65aacc3edca2ccbd325a2dbeb6096a3f8788993e596a88bd639b04be1a6c4d3f57e04b3ee65c0ebd433bbcbdffcd243f042df33d100a40bc5c0645bd6290e13e38a1963d400e3dba3b1399bcbc47753ec739093d7605233cec290dbbcf84993d8f9d4c3b61dc213c26ac34bb2f9826bd0a5ecebc6f1c073cbce7f5ba3b38eebc5ca836bd5dc5fb3c021d3d3c8d9cd0bd930780bdfa4f0e3dc4627e3c459812be8b6b82bd7f57f83ce48d593ca7c920be0b3e44bdd9f4b43ce1ebee3ae9b607beb30ceebc91def93b3618c13b51a4e5bd5c288abcb0d8903bf65f723b0cc58dbd6d68bcbbf234493b2997523b7faa07bd4917223bceff5639a27acb3b48aefcbbe3a04b3cf705da3a622d1fbee41b303fc0fe373fed8423be2dfc27bed0ab393fa086253f44a71abeb9ba1bbe85af373fa02c063f0579e6bdf6d407be730f2a3fd22bbe3ee04d97bd51c1bbbd081c0b3fb8666e3eb5250cbd65f188bd1f4fcf3e32eaf93de86c46bb50a200bd01f7693e6c5a313debda313c8d8829bc701fb33df15339bcf5c7a73ca4dc0dbce91baebccf7c58bddcb8be3ceb256dbb8c76d0bb66308cbdfedc1c3d9662393ceed28cbdf5aed3bd32f34c3d12e7af3ce806e9bd29a0dfbd087f373d7f729c3c8ca200be1f9db4bd4416de3cf607913c44e200bec3e073bd86eda23c802b5e3cb382d2bd9404f9bcd7eccb3b9df2f43bd6a28cbd2d4349bc05a8f43ab195cf3b471f13bd9c4b013b2fe32b3b4f71293bd86eccbb927f713ceac700bada9ad0bd3e88dc3efdff743fafa547be0994eabd2568f43eca3f623f796545be5560f8bd9a5efd3e85c33f3f4ed31fbe53cad8bda4f8f13e4d8e103fd724e1bd9971c1bddb23db3edd2abd3e48c67bbda6378bbdf488ac3ec8804a3e0bd093bce7711fbd98a3593ebb268e3d1cc44f3c4fa898bcd7d6be3db6dca0bcf4d1eb3c58f1a1bb76ea06bb4cdfa1bdc0faf13ccf63a7bb4c11103c1b3daabd04233d3d47cc1d3c06fd0dbdbd9b14be98da743d2959bb3c608799bd6b2720bee670613d40d0e23c2961c1bd539607be21dc293d491eba3c70a5bdbdd324cabd3bd7cd3cd479a23cc48dafbd8b696bbdec90633cf516473cc6666fbd1560bdbc7a81503ba6fcf53bafd4f9bc60e6ecbac45171b840020b3bf753b6bb2870603caaeeab3923a84dbd0f42553ee4f78e3f971049be2dda85bd3dd8753ec16f8b3f387f54beaa3295bdb0b48b3e6d09733f60b73abec7a69abda7e2913eb1dd3c3f2f7a08be065e86bd53dd8b3e9fa8033f8595aabdf5316abd776a783ee08d953ed17b08bd929015bd5df52e3ead56d43d1a0a473c91578ebc9466b13dfbd092bcb15c013d0d49ccbbd95f2b3c8191b9bdde39183d6fb157bb59e3d33c6da808bec0b1723d0e6aa73bbc84a4bbb18226be05e17c3da87ab83ccbcc1ebdea9b44bec2226b3dbbd0e03c360b71bd36bd32be632c403dc6ecd23c875486bdb1b606be4e97da3cda72bd3cbceb7bbd2c0cb3bd12b5823c6b29753c0e0233bd2b1d33bde573ac3b41a9fd3bcdc4c0bc7d7454bc3200adbb92728f3ba565f63aefb4993c5c2b94bb8e2403ba38b855bc4953ac3f6f4753bedd42c3bca189833d6e4c953f7fe22fbe45110dbdc33baf3d53828a3f2fd62cbefe9135bd9010013e70355d3f22f907be410c29bd6477113ed94b1f3f71d0b4bd5cc515bd9b680d3e6e7fc43e34952abd162be6bc0a08e63d29e7213ebc011b3bf56596bc7e7a8b3d719e823cde06033d26aa21bb81ae223ce8b50ebe4536563d00000000000000000000000000000000cb22343c62fab43bab9b54be55be753d637cc03c6dbbd4bc362143beeb54293d9fa5e43cc5222dbd993d39bec368ec3cd11bc83c6e113dbd019112be40c2aa3c21de9b3c42d22bbd5addc3bd2f16ec3b7e176f3cdeb3f0bc3a0b57bdc8018dba971faf3be68026bc721a32bc0fde0abb0000000000000000000000000000000000000000000000000000803f00000000f2be4b3ce2e2e9bd1b3cac3fc54a16be0e252dbc23c2fcbc0d9f8d3f1d0cdcbdbfcf8abca0f0f63b18296e3f6370c7bd4478bdbc08cc1b3d8b88303f08eb93bdcb7da1bc44f55c3dcc28dd3e1c0d17bd4d7f77bce3365a3dee03593ebd3ee3ba194e3ebbf4ed0f3d082abebbc143d73c0000000000000000000000000000000000000000000000000000000000000000932282bc960c2dbe5574963d039ad0bcfabd74bdd41302beb846693db6d7aabc4dd8b6bd3018ccbdbb0f1a3d9bb15cbce269c1bd9b7881bdefcdc53c1ce73abc6330abbd065be2bc89d4103b195d4cbba22c59bd5a9962bccf0dafbbd9056b3aba3784bcaa6a96ba981c02bcc0d3be3a00000000000000000000000000000000000000000000803f0000000000000000f8a2a2bda8feac3f54276abe1308893d3140fe3ca2e98a3febef5abe3d54993dca81ce3d8ab65e3fb9c94abec63d9b3d894c133ea0431c3f5a611fbe39a4873d4d64163e89cfb83ede10babdfb493c3d59a9e43dbafe233efe29e1bcd2c9a33cf5ed453d6c3e70bcb562c83cf8b54abb00000000000000000000000000000000759ca43c4b69dcbd2248133d1ae433bcd09d82bb4bec06be4db9533d7684a1bcee5713bd32931dbe8213653db87695bc73227abd902b02be148a373d52967bbcd3ef93bde555b1bd904fd33c1cc121bcfde482bd663f57bda476283cc279adbb3ce737bd7e1fc7bcee9656bb4a0a62ba9cfdaebc729518bc52a609bcb555f53a6c4d363c1689be3b348f18bc5cda333b414f56beb7b5ab3f26772dbcdeeef038f77001be91e8983ff7714fbd4147b83ce3ee9bbd063d913f190a0bbe870c5d3d4618a8bbcf556d3f4c6420be181c8e3de7c4593d64072e3f504a0dbe8e76873d02f49f3d3c77dc3e63cebebd6cfb543d4b71933d89b54d3e0df914bd2d3d003d3c63333db792333d24e8083c1fcc023c2cdcbebb9afecfbd97be093d9f12fcbb523a8b3cfcd283bd79740d3cdf619d39c055903a30ea08be46bf053d962ce3bb3dbecbbc5c6d1ebe9ff02d3db5a723bc91e72ebd1f8d0cbe4028193d187c46bc68fe65bd41c6ccbdef2de23c559026bc707560bdb31980bdf032343c652ed0bbff7717bd925bf2bc8cae20ba7d3009bbdae58fbc32318bbbdfaf15bcd6cd953ac8157c3b6f9f1b3c8dce15bcd2fa1839430654be1c0e8e3f9377673ea8ab64bd090e42be55cd933f9094d13db8ebb1bc87220fbef7478c3f171c21bc38e9883c7f489fbd34236e3ff6339ebd76ee463d7eaa6dbc1c18363f36e3d3bd67d86a3d764aba3c9801f23ef547b4bd13d4683d5daa1a3de25f723ead144fbda900273de681e23cd4215c3deec857bc0062af3cf003413b44a882bdc54a9c3b74990d3c70ab603cb67f51bdc0f673bc1794683ca62b323cc69500be5255143c6127bc3b17a79dbb826b20beee45ce3c1604d8baa5c9dabc18d40fbed434d73cfd29b6bb4fe429bd92d5e4bdb908cd3c04ececbbb7461abddb3191bd51e5243c7801e6bb1a93fbbc92f003bd2ed568ba9a3964bbfd6650bce259d6bb0b4801bc5d64c0bad8d5f8b8334e8d3c9c3b1abc5e1223baa8f44ebe9ee66f3fd802eb3eea72eabd28d052be0df77f3f61caa33ea6e5a2bd902838be8f957e3fa1cb223e5beae1bc4faafabd977c613fe2b31f3d2c805e3cda2c8bbdea5b363f32d236bdcdd2353d3a76a4bcc6abf83e3e557fbd64085e3dabde213c0594853e3b1660bd43ab4c3df31a763c49cf963de2cc0bbdc012183d738cde3b59c377bd81b4a4bc36a5c63c55ce103ca14aeabc6bfc38bd3b74f53c8413713cc46fd8bde58dd1bc8d9dc03c20c02c3c76ee1ebe108e293a3678463c1f4deabb83091cbe220d813c5f3a263b47b3c0bc5df2ebbd4c90953c5ea376bb0748e5bccc77a3bd2cbf1e3ca58b9cbb6ef2b2bc37ff13bd500d14babb1360bbf71a22bce0a96ebba3b8f1bb855f0dbba9b7383ae6cfb13caeb01bbc4eec48bb107a2abe903e323f958e363fc76c2cbe7f453dbea9a9493f585e103fcf1f11be0ca63cbee1c4563fcd30be3e04adb7bdfda620be5ad64c3f24e1363e645be6bc49e7babd90c7263f57e06e3dbc8e9a3ba24563bddcdbf93e545ee5bcb3c0333ddcf440bc0c0d893ebb0049bd40284a3d5ec28d3bb952b93d63e550bd66143c3d4a9eee3b821846bde5074dbd45e8273d3e53583ba1efb8bbd04e92bdab5a233d964c8f3c6c49aabdc79d84bd2267293d53b1ca3c7fdb10becca610bdf422e43c3a397b3c211c1cbef06122bc9b0e473ccbd60a398ec306bee21fe13b5dec1d3b7a3231bc42a8b3bd9867703b2dbf41bbdd314dbc557a32bdd8cc64bb694b48bb053eb7bb0e2afabb90f7f6bb4eff86bbd98a6cbb8479cf3c92bc06bc44577dbb9ebde9bd1919e33e0748733f99cf50beb93514be5c490d3f7b3f4f3f4d1145be4e7e29bed952223f89c9193f543915bef46723be42e2253f713dbf3e1bc3a4bd90eb03bee034173f087c2f3e32e8b6bcfdc8a3bd5b57e33eb0e7473d9bdd983c63cc14bdef62893e72ccc9bc26773b3d186616bcfe0dd23d35ef76bdda78643dd373f53b76810abd1f9e9bbdb8b44f3d1e38abba04321e3c677fadbd96ca3f3d8802853c7e3f65bdab2ddcbd15e0653d133c043d181bf2bd436babbd5857413d1c15fe3cb9ae0ebe1b5f3cbd323ee43c40daa83cc0dd07befe1494bcf42f523c6f2a003cf9b5c4bdc351b4bbeb4e493a619d16bbd96f47bd741a6fbbaccd28bb30b3d2b801a237bc4edfe4bbe5448dbbf59aa9baa412c33cda43d8bb5f85bdbb2de56abdd7645c3e923d8f3fcd9351be5ca5bcbd1ce19e3efca9833fe0165ebe664efdbd5661d23ebd6d533ffab33fbe55870abe86f0ef3e64a3113fd43904be7bf9f5bda58ee93e4519ad3e4ccd90bd6133c0bd9b57c43eb908113e361116bc421946bd02fb7a3e05ee6f3c558ee73c29758abc2db5d03da1b660bd8f7d553ddc0ebf3b2b78a4bc0351b5bdb1d56c3df059a3bb5717d03cf4a305bed86a723d3d4a693c1114cabc604806be9bff793d8b75033dcafeb5bd76b1fcbdc65a6e3d76f8163d2a32f4bd6582afbd232f303ddfec023d6d73f9bdb8ab3fbdc4d5be3cad5fa53c500ec8bd5489b8bc52a60c3c5514ec3b54595fbd722233bcff7af4398da58f3bf26299bc3aad2abc26a280bbbfecad3998d3c13c9458923a90101cbc88b068ba04838dbcffd9ab3f82af4fbee5872fbdaff7de3daded913f0cda45be6af7a2bdeabd543e78a67f3f664f4dbe6108d2bd2954933eb45d3e3fea3525be8e0cd8bd7d57a53e36ecf73e2765ddbda29bb5bd4f9b963ec5fc813e7d5e38bd0d9f66bdab7f543eb9d9973dfdaed93bb840bcbce80cc63df17094bcb16a153d8544a33b8a9f6bbcbe2906be08af853d00000000000000000000000000000000152d8e3c0e339dbc4d4539be19c68b3dded7163d8faa90bd41fa0ebea9bd5f3d20803e3d4988d6bde246e0bdc430273db9cf273d36b7e4bd8e898fbdf487e63ccc5f053d74d8bebd0bd30dbd47b2493c224aa23c83ea72bd6ea671bc4d60ce3a3fd74f3b41525dbc54bdf6ba76bfb3bb0000000000000000000000000000000000000000000000000000803f0000000092a27d3b9860b9bd1b71ac3fd7c535bea98920bd9f46493de7c18a3f00be2cbe470790bd0b9a103e36985d3f114625be0a48a5bd9c0f463e4ecc1a3f266a01be33db9dbd0ffb4f3e3c5cb33e7732a0bdc24b63bd0d2a243e2863123ef3fab9bcc928a4bc8a558e3d348004bddbafd53c0000000000000000000000000000000000000000000000000000000000000000c22f26bd178ffabd6612583da6d09ebcc1ffabbd5b1497bd07f02c3de8ff9ebcab1ae6bd5c251abdd9edbb3c88b55ebcad65f4bd541440bb8ab80a3cf19920bc6199debd336aba3c479f16bc0fcc57bb5eab94bdcefcd43c1e8971bce032863a01bde4bc8c5a793c0ce83bbce1bdf73a00000000000000000000000000000000000000000000803f000000000000000094da59bd4c07ac3fb43f7cbee9ea843d11ec723d76768a3fb1b37abe82c39f3d76af163e1906553f80995ebeb75d9a3dfd31473e45bf113f46982fbe4912893d6442503e1d04a33eb14cdabd29044c3d8cec213e5e1ee13d9f5308bdbf83be3cb7c4a13d617b4fbdbe2bc03cbe82a9b900000000000000000000000000000000662b7e3c066ad4bd13e5043d27d509bc2cc0e0bc82f4e3bd0c6d3a3d7c2b92bcc6dc83bdb125c5bdb490263ddf228fbced74c2bd74fe5bbd6fcecb3c70206bbc997edebdf9b637bc8c409c3bdbf10bbc6d90cdbdffe08c3c29fc30bcf3405abb7a1696bd6df3d23c1a458ebc20ea563a6bffe1bcffbb053c9ecd1abce28c0f3b727c153b35ea5a3ceab128bc605df53a42c04ebeb96dad3fbe2dbbbcc7fcd7bb379d0bbe4a49a33f220e01be8100253db0ab2dbde48a913f17aa41beb716833d3e355f3da3b2643f640649bea6ff983d0022003e240e203f30122bbef526903d3f2d1e3ed3b8b83ed5dadfbddac6693d51580d3e39e9073e770a23bd46b9033d86cd9b3d89528ebcb3a5af3ccad6b03af16f933c85b406be419a243dc99bb6bb0317cc3cbe96a9bd2b8e953c830b12ba448b8abb7ca701bef88d2d3d2b171cbc38920bbdde95f8bd73ad373d44e94abc2b8c87bd4bc0acbd3645083dc9cd60bc8d38a9bd067e30bde2f9913c7e5e28bca857b2bd9076afba3abb1139638eeebbf9c390bdfcd0ae3c073f5bbccc78febaeb8524bd85d8d13c8f268dbc9a555c3a256024bc73f6dd3c91c99ebcb6f7833b449a5abe6b03933f75584a3e4bd36fbdef0243bec4c7993f4bb4283d4f7790bcf58ae1bd88ff8b3f480478bd45b6893c970806bdad2e6c3f717e06be287c4f3df996453d671e2d3f4c5c0dbe66996b3d85c0bd3d5052db3e6ff1f2bd3a46753da843d93d81ab3e3e561185bd4d9d373d8444a73d450a5cbb5027a0bb127bb33c224b213d6184ebbd655bc53c9b50ce3bc4e4053dd005aabd8801da3bd4230c3c1419993c655c13befac9263d1b0122bb4f6e01bc795012bed00f463d0c8718bcdcfd1abd01a7e0bd51c9183d9f1534bcf6d680bdf0f183bd74abdf3c23ff45bca3608dbd60aca4bc2997ae3b4ae2ffbb169f83bdb550823cdac633bcd8605ebbadd723bdb707043d8ce3adbc507bd739a11eb4bc12522e3dbd69c6bcd7152a3b25af54bee6bf763febf5da3edb98ecbd902959bedeed863f273f813e0b08a1bd99cd28be0c98833f12d3a23d677dd9bc1f4bc2bd647d653f0b520fbdb6718b3c09a2d5bc9130363fa0cbdabd26da3a3dc1af1d3df1b7ed3e3799dbbd8b48653d64a3993d769f633e7cad9bbd6a1f513d8c90973dc254433c36bac3bc6430103d579d6c3dfdd1edbd0839a5b91cc7bb3cf1180b3d5b4291bd9f4956bc0d25a03c1684123d843d19bea13be43cd897083c8e34af3c55b42dbecc14453d41722abb73c536bc49110fbefa27493db6c622bcfa87dbbcb2ded0bdd611163d66bb09bcdef146bd370031bdb272843c57661cbc2cd856bdaaa5513bda3a9abb01fca2bbeb031bbdadc4fd3c5a89a7bc991fb2ba6c83d3bcde7c533d1586ccbce321dd37fbdf38be37083d3f7af22a3fdefe25be11434bbea3115a3fd745fc3e3eba10be7f0539be286c633f00d88c3ed689adbd419b11be7548573fc31cb33d3d96dabc6eee6bbda0ea263f943d273cf42a8fbb793097bce0eefd3e65c6aebd60d1333d31eb1f3d2efc803e85879dbd07c6483dd29e7e3d682e1a3d26df39bdd6eb3e3d9555743dfbc5d4bd6f83dabc20e4163dff2bf33cde4a57bd5bce08bd3f9fda3cd330323dff0011bed18f9a3b23ffaf3c1ba8233dfce33cbe6f401a3dea4bd63b57939f3cdf6e2cbebbe63e3d04a368bb52aba5bb008e02be10d53f3df27131bc2c9bcfbc2bd08cbd767fb03c32b70abc6ef212bd823f6dbc1f55613a049ad5bba522f3bc4bc0e03ce5f09ebcd865faba0fcce5bcfebc5e3d6e36ccbcf3539dbac2910abe18e5fe3edd7f653fdb9845be673028be10b71e3fff363d3fb60e45be5e9436bec0c2373fbae1f93e400b0dbeb90222be1a42383f0cef843e18f39bbd3c7cf5bdffe0263fc7ca903d28df9ebcdd3d75bd5170f63ecf3ac9bc923aab3cc87f2cbb49648c3ee6c984bd9c33343dad92293d67d7713de7ec6cbdf38e513dee24683d305dafbdcd4551bdfe863d3d185fa53ccaa7f9bc226252bdf2a80e3d2cd33c3d59fffdbd7f4fdebc7fa90e3d11565c3d4b2036be37c4193c58d5ac3cdb5a2a3dd7363dbe5ed7233d1e1b9a3bfafcbf3c8a421dbe4ec5313de69e3dbbe83e54b9b74ac0bd07e2f33cfa9cf0bb555d81bc14601ebd186a343c0cf8babb6d8a87bc35a35e3c31946dbc5ad83cbb4bff9abc93d3473dd319b9bc42fe1dbb1d6f9bbd4c63823ebbea8b3f62964ebedc09eebd60ecc03ec1f0773f868965bede5c17be0eb2013f3101363fe6f03cbee7f420bef11d133f7c5be13eeab101beed0807be2e490b3fe387603eba4b8cbda3c4c5bd6c61e73ef638413dd9ff22bc8bc20bbdfaa38c3ebb9704bd2ee3bf3c18f1873c3553a33dc1057ebdd00d483d30dd343d30348cbd6c9d8abdbfa35a3d4170203cf90fbabb967fcabdb90d363dfc93213d35d9c4bdf59581bd365e463de71e673d9acf2cbef40b97bca7f4053d67f9663d7c7b43bed3d3ad3ca965823cbe67333d4c1d34bea8b03a3deaa8a4b9ffb3bf3cddd7febdc7442d3d755ae6bbdde73a3ba59b64bde1bc993c9d33f5bb27a9c5badb69dc3a88db4cbc48e51abbb40d7bbca13f2b3d80c636bc4aa7cebbd36d9dbc548c5c3c5d2baa3f367b4ebedeb249bd4f6d053e170a953f6fe36abe4959dcbd2edd9a3e861c6a3f991a58be41560bbe7598d13e97b61f3f52452abef96f0bbeab9fe33ebb5fb53ea094dabd5c32e8bd2057cb3e04720f3eaf3640bd469782bd9c48883ec452be39d824c23b2305ccbb1841b43d131c51bd83c1273d899edb3c55781bbd498ee4bdbd6c5d3d00000000000000000000000000000000b7f6d93cd4667dbd63d9f6bdf3085e3d79204f3d7fb408be6da46ebd2a162a3d27b6713d2ba129be8c91b2bc2fd3e03cd517683d87f32bbee083643caaf5493c66a2343dfe240dbe1decfd3cf8d5813ade89c43cbe79a5bd004dcf3c3587adbbf6db833b136ea5bc6e15663cfbd3ebbb0000000000000000000000000000000000000000000000000000803f000000004caf41bc95923cbd5764a93fec5746be7abb79bd606fef3dd138843fec2140bebe1dccbdd5f66e3eda50443febf42abe6efae6bd1709953e6419003fe30d05bece22d8bd9e47953e0321863e6036abbd12329abd79de613e22d5a33dff36e8bcce80e2bcf3f0cf3df4c46fbdb5cf613c0000000000000000000000000000000000000000000000000000000000000000ee680d3c7a7b9dbdd4cd0dbdbfe9323ba696a83b5db192bde02effbc35206f3a041fef3ad4c77abdee4edcbc144496ba0a7c32ba35f350bd2e2bb6bc4c6e3fb8a9f2a6bbe1a330bd41948bbc7e56d7b9530fb4bb481402bd49321bbce6b18d3a319ec5bb3a52a3bc8300f6baebadb63a00000000000000000000000000000000000000000000803f0000000000000000520bed39f26a8d3f2460adbcf766dfbb1cf5563ca0e56b3f0d083dbc326fbfbb80cb8d3caee03f3f4a8af3bbb450adbbea378d3c3348143fe9671cbc240edabbc3b25d3c17f0d53e94f851bc4002cbbbff20df3b2820853e951e9bbc24f1c8bb9af6e8ba5b93d83de437dfbc801ea9bb00000000000000000000000000000000213f543c39422fbd4b4afcbc7d1ca8b742654a3c6a4ea2bd1d382ebd6e144d3bdee93e3c5260a6bd05da34bd138d55b21a5d073cf19096bdb2ae23bda9371cba662d8b3be35970bddd7c01bdf3ef4fbacfb0af3aa6584cbd06a6cabcdb248e3a92afebbabca417bd3c267cbc2ede753b0c2c91ba81dca0bcb8ea5ebb6044793b75d4feb94dbc8cbb35be503bb25b343b6a3716bd23bc8c3fa6a1dc3d40e0a5bcbaa901bdba92853fb323c63db786adbcf65bb3bb532a623f3762b73d67668ebc17cfb53b84cb373fa169993d34f882bcd999103c7d350c3f2aa4643df6a86dbccec4a83b0bc0ca3e5a66083de66a70bc97f37d3a73b7793e872f083c59194abce5adebbbe301cc3d773b71bc78ae29bcb926ecbb0deea1bc061be3bc6dcee6bbf5425f3cc36cc5bcc3aae5bcd5ee94bbeef1833c118d59bd39b03abddf476fbb151e583cc59059bd512f36bd693878bb3af0593c50ba6cbda85b3bbd5abc79bbce4f073c8e5336bda0bc0dbd8c2343bbd3459e3b794028bde963f3bc05d72aba8e98363bff6ae2bc0b629abc13e0a43ad32f7f3a87618bbcc6e905bcd47c773bd287c83a23905dbb44e2263a1ddf6a3b447337bd09876b3f7fdc843e68e6f1bc1ec72bbd8483633f34b1763ed8800ebda42980bc8dba3b3fe6f7583ee0bddabc1fd704bc2934203f2c1e323ec2dfcfbc1123f6ba8985f23e2a7a073e7445adbccba31dbbf276b33e19d6b93dde1ab9bc96ef83bb347e623e54d54d3d5956a8bcb65407bc5fb8c73de269fa3be53a8ebc726fd3bb933dd3bb8816adbcb3e33fbc3aca2d3cb08147bcbfe8dcbcd77206bcfcb57d3ce5cc0ebdff3d47bdcaf21ebc7cd1803c287139bd01775dbdb3bd13bc03af593cfcf136bdc2964ebd2defe8bbc81a203cbb3b27bd18e826bd6b18bcbbc7ebbd3bd7810cbd665908bd1b5145bb62a34d3b99edd1bc6300b5bcde3f023a9afd233bc8545dbc8f743cbc726a673b110a033a2b5142bbad4d6eba8f2a8a3b9cfe23bda6293f3fa69ad53eeaf013bdd5e42abd64af383fd7f8c83e6aee30bdb83cc4bced7a203f9451ae3ee84713bdabb868bc5486043fa0528f3ecf8202bde71412bcc121cf3e31b55c3ef1a1e3bc833b06bc8a9c973eb7ab1c3e334fe4bc9ee208bcd94f413eb036b53d93cbe4bc711a0abcbf84b53ddecae83c444ed2bc7159dfbb6134a93a13f39dbc5fd077bc2a83003cec01aabb5984eabc322242bc3865473c955bb5bcaa3f53bdabde6abc45a43c3c4aa6e8bc472159bdd2905ebc2967463ca4470abd83d264bdb44641bc8ad5eb3badbcbebcd3ac14bd6a4aeebbcb65d53b63d8dcbcd8291dbd894f9bbbb579263b0fd9a2bcb55eccbcc4bb33ba985aa83a55b54cbc79665cbcb3af803bceec0e3acc117bbb53345ebb8c938d3bc21615bd04a8143f350c143f814124bd78171abda41d0e3f77bd0b3f1c2745bd5277a7bc65f5f53e02deee3e05321abd06f081bc0a49d03ef092c73ef93a16bd9ed4f6bb5cc59b3ea280933e1319cebc858e1dbc70c2723e41bd5b3e4af907bd44bf1ebc864e193ed027033ea460f9bce48a32bc7e90953db31d4c3d16d6fabc333d03bc2696be3a772572bc18faabbc7d2a883ba8294dbb37f805bd2ba673bca397013c3d8d78bc542576bdbc2f9fbc8bb6293cad42c1bcb5d88abd32f399bc6110123ca46cd7bc0ea081bd46fe7fbc0299db3b695fc0bcfa2b5bbd0c9d44bcd875a13b91e8babc090131bd8801d2bb29f8193b66279abc2e14fdbc607d8bba8f7a2b390ba93ebca5ce86bcbae9973bb41509ba06886dbbfbaa80bbc472ba3b3abe0ebd12edd63ee3733e3f855431bd4df411bdc3a2ce3e901a363f772e67bddde8bebc824cb63e576a1d3ff62237bdaf857fbc23a6993ece57003f56b31abdb51f30bcfc2f733eab9cc53ea96114bdc2bf3fbc188a353ef8518d3e454316bd9bae4abc66d7eb3d2ee52c3e148b1bbdb3d85bbcce13613d51b78a3d23b718bd4f2721bc83d09b3ac0256ebc073bd0bc0a2d84b8875123bafd2d21bd969f8ebceb40883b9c9333bc875595bdf4ffc5bccc11e63b629a86bc68c48dbd42eaadbcb7dbe83bd8d09fbc5fb393bde73ba7bc779c9f3b69e392bccdc85ebda70e6fbcb97e463b2fed9dbcbd3b49bde75418bc58da5e3ae77a72bccc9705bd8a2322bb00e4c3ba0ecd31bc206e98bc284eb53bc373a5ba216963bb701b86bbba3de63b9000ecbca739863ef2696a3f7b4f45bd486ff3bcc92b803e7cbd613f9f126cbd479b8ebc028b683ea72c393f3b451abdbff35dbcd3fd463eba781c3fb03816bd814220bc6d1d1d3e80a8eb3ea6e7fdbc145143bc5b82ef3d2571ab3e973219bd0f292abc52c0993d11e6523e97a314bd86f670bc95960b3d121ea73d8fd72cbd1fef26bc31ab85bac3939abcea4ef8bc3ac107bb5564edba11595cbd75a6b7bc9b38dd3a702716bcd8f0b8bddce7e7bceb38a13b928b4dbcb694bbbd7917f8bc654fbf3b59c471bcdd6daabdd5e9dbbcbbc3863bff2c73bcb0ba84bd043faabc502e683a76878abc859b5fbdc98f60bc0747e1b9aceb65bc4b1a21bde43a9ebbe49613bb6bcb13bcf7a7a6bc5cc8b43b794096bbce678dbb345d91bb6a8b073cc5b4a9bc5a2ce23d77248c3fd6ac33bda01e92bc0ff6db3d5af2843fab5149bdece431bc5e89d83da923603f00f1ffbc0f68f8bbdd61c73d5f70353f957bddbc900bc7bbe8cba03de19a093f86fac9bca23e04bcc54d753daedfc53e4367fabc152930bceb30163d75a56f3e60821abdf43058bca2ee4f3c7da4b63d6e0333bd6a9f4dbc31b6ecbbc764e9bcba9914bd000000000000000000000000000000007a28023ba99dafbb381fa3bde759f9bc829b8c3bd518e9bb795e98bd7b52edbc4793363b5d800fbc461b82bdd80ac2bc7466583b12b61fbc066959bd1f6dacbc83aca63ab5cd31bc463134bdf55279bcf16941bae23b25bc2a0306bdf86a02bcb23e83bb9e8d13bc23a9a5bc6f7e12390000000000000000000000000000000000000000000000000000803f00000000717c64bbb2e841bcf4db8c3f0ee288bcca0189b9c416c13ac2cd6a3f312208bcb44573badc1dec3bb82f3f3f7a41d9bbaa5282b96dd2093cab3c133f6cfe12bc610999bab3e5b33b12e3d33e841b83bcb0dc9dbbaac50c3b46a7833e7215c0bc51c207bcf5dba3bbc500d33dc3690abd000000000000000000000000000000000000000000000000000000000000000062f70a3c200909bdfc6d13bd201b64bc57a4a33ba33a10bd299e06bd74af63bc7139713ac4ad0fbd95e5f9bc892269bcd4fbd0ba627201bd73facabcf30f33bc6d7e8cbbdacaf0bc05a6a6bc62e0e9bb53d7d1bbfd11d0bc519464bcbeab05bbc2c1fcbba8a9a7bcf6d3e5bb49ed7c3b00000000000000000000000000000000000000000000803f0000000000000000dc06043dcc44803fbc7619bb09b825bc92f9123db4e7583f87b610b8b37e13bcfa83143d2804333fa94e05bbb33229bcc80dfc3c5f4b0d3f8a179bbbdb682ebc8f47da3c285cd13efb122ebc69e947bcb120a03c1111883efdae8cbc1c7152bc8e8b463ccd7bfd3d0a5fd2bceb8961bc000000000000000000000000000000007253553c70565bbc50d9fcbc54634ebc0cb5543c623202bda74633bd04638abcd4d81d3c501a1bbdfde833bd4effa1bc2996b53b40e921bd7cc326bd01b895bcbc97ea3992aa0cbdbd8f0cbdfc807cbc594013bb1dff0dbd2792e9bcfbbb17bc4a0c70bb701afebcc4b2a0bc506814bbe49bc0bbc983b9bc1b472bbcf13fd63b27fb98bbdeb82cbce413daba600efc3b65de373cb4767d3f8460013e3ab460bc355dce3c167c6a3f5e65ec3db3ae8dbcc924103d7331483fcf04cc3da09776bcc976193d24e0253f744ca53d899f80bcffd0043d8526023fd76c763dc5b474bc3a71f53cf1b1c13ebc82103d8d9a96bcfb4cba3cbed17b3ea1742f3c64e89abcb7af543c7296eb3dab4c58bc4a7390bcf280af3bf156a7bb8d32d5bcd3bc52bc3306443c54bc91bb1134d8bcdd678ebc6d10733c909b97bc41c02fbdbb8cc7bc0d951f3c9443bebc02f323bd221cbbbc19270e3c5487f7bc0b5c33bd4bc2c5bc4b2a973b4703d7bc2d1e0cbdd0d795bc388f863ae0e6e8bc699e02bd11d859bcf6e4a9ba1250afbc9050aebc0167b9bb580b73bbfe0194bc81c858bc33b2203b48363cbb4d2609bca8d56cbb6409cd3bd1475839ef36573f8e4e873e790274bc145a4c3c3c6a483f09a7763e23c29bbcefaea83cc6dd283f2d9b533ede9b7dbc8f5cdf3c7670103f17eb2e3e146c93bcc326cd3c3803e13ede6f053e0f1e89bc0f7ac63cc584aa3eab37b73dd1a0acbcdf12853c06085e3e6596513d75899cbcf59f3d3c1056da3daa0e033cebfdabbc880da33bf1a5a93aea8ea6bc932763bc7a832f3cc429033a5fa4c5bcd75ab5bcfd51523c206717bca9e32cbd350c01bd7671583c2b2397bcce743cbd993905bdd25a213c6357bcbcad543abd60d8f6bce1abea3ba3bfb1bcccec1ebd0569c1bcaf94543b923cbbbc1cb20cbd350a8fbc17b871bacf50a8bc8499d7bc3f991cbce04113bb020c7cbc0c3983bc139e28bac3822cbb9d0402bc7a1ec9bbbb687a3b1bc3a4bb369d313f3b53cf3ece1565bc1f698e3b11ce263fb14fbd3edba59fbcd9576a3cb482103fc0e4a33e62318abce3baa43cce4af23e5d35873ea3f593bcdb709f3c65cbbf3e3b14513e3d89a0bc74c59c3c1aeb903ee4f6153e7f94b1bc7b717d3ccbfe3e3ecb0cb13d3382c3bca42f273c0595c03da58df63c7bfdbfbc5b918e3b6f0d933bda2088bcb4f382bc4ed5073c3b0e1e3b9798c4bc0a01cbbc5110303c0d9182bb99ac21bd294f1ebda316383cc7883dbc56d930bd7e0816bd35ea253c8a4986bcef8c3ebd4fa313bd4dc2b63bf6265dbc8c2605bd104dc5bc56cb713bdfd197bcb40018bd1f4ebabc84309d39eb1b7dbc59a3d3bc909f41bc917bedbaaef671bcafc09ebc7fab24bbee261bbb8c51ebbb9451efbbce3a473be2000abc9baf0c3fb2fd0b3f5e4a56bc43fc39ba7520033f388a003f48127cbc378f103cae8de33eb174db3ed18b61bca9f86d3cdbc9c23e68a9b73e2d7886bcc931533cd496953e4fe88b3e2a3962bc01136e3c571a6c3ee134503ed583b5bc80e5283ca40d1b3ee9af003e21bab8bc1d56e23b6814a03d0900523df69dcabcd11e273babf4b93b85475abca69892bc7dc5d63b1af18d3b19d8b6bc1cb4f9bc9422193c21f5e4babe5934bdfabb3cbdbd573b3c73b8f7bb02bb45bda88b3fbd4577153cd18449bcdcfd46bd77cb2ebdbfdcb93b52c953bc6d832fbd58fc0cbd4670843be8e173bc698e1ebd485ce2bc6267bbb9065e82bc21dd00bdcba086bcbfed31bb98a44cbcea2fa8bc1605a3bb3f4264bbc981e8bbc8480ebcd198fa3a153e2dbcf5c2d03e75fa303f7b8a22bc96548cbb8c8cc43ee5d1233fe2be5ebc9f28c43b2cdbad3ef9c10c3f72273cbc8868233c1c9d933e4da1e83e476f61bcc963323cec496d3eb046b63eb3b381bc1339293cb4fd353e3127853eba28b0bc3d7eff3b78a0f53dfcff283e1415dcbcb2b2ba3a1c267a3d2430903da5bde7bc7727e738c6409b3b48a53fbcc9dca7bc326d853b4e00843b1fafc2bc2eb713bd933a093c1f72d9393cf734bd1a785abd56ad103cc25c83bbc35a38bd61a340bd94c6153caca603bc198d52bdf4294cbd043fdd3b95232abc6d7d2ebd7c751abd954e693b6f604dbced4e2dbd752bfebc7fe61d3a12582ebc0ce5f0bcc2f197bcc19485bb230d3fbc7980b7bcc6f6cbbbdbbd8abbd993ccbb3fa42abc6c7fa73a426942bca9d5883e01e4563fecafd7bb70f8cfbb9607823e5373463fbf77ddbbdd16313b3b4e673e4318263f6fe3babb4c12f23b1caf4a3e3cda0c3fb3e00abcfd700c3cd120223ef2efd93e9d804fbc3d6eea3be3d1fe3d8699a13eb6c6a1bc5029703b7aa8a63de5ff4c3e9b0db7bc30ee5dba23d22a3dfd83b43d3a64fdbc2ae845bbd2ef253bde5036bc39bebabc4c196c3b4fd78e3b7a50e3bc066f37bda26cf43b6d97b33a52314bbdf9557ebd75700b3c013d40bb33055dbd7c9279bd2c41163c34cca0bb1bbd5fbd1f5d67bd56fccc3bfb06e8bbcb6e3ebd4cf234bd61c96b3bdc811dbc8c4b36bd4f3b16bd7c48c3b991052ebccff211bd1fc5bdbc2f21a5bbe3952cbc8c59c8bcaed8febbf519c7bba081f0bba0b234bc15ffab3a4c5a20bcd05c063e68157d3f89d5193baf7495bb9882043ed4e4683f8d58673b49a49d3bb1a1f83d9547463f9e36993b2488f23bd377e03d2ebe233f46e980b9fb81123c0868b73d4daffe3eac3ae2bb0c70cb3bfd33923dd42cbc3e1cdd7bbc816d093b031c433d14d86f3eaea5c4bcc89b96bb6560b03c3cf6d33d97f004bdc946bdbb49598fb908e45fbc8b65dfbc00000000000000000000000000000000b12ee03b2d50213bc72a30bd580364bd127d0b3cd7bce8399c0934bd3f3256bdacd7023c74a8ccba097b2ebda1f840bd9302c93b4fcf73bb4b771cbd6f6120bda6f00b3b3d06b2bb228010bd8a57f9bc63af723929f2f0bbfba2f0bcfe41b4bcc6e27ebb600d0abceb2fb9bce7cd17bc0000000000000000000000000000000000000000000000000000803f000000004758753a1b21453cba537f3fee26643c3c3db83b4942993c7c1b583f09f0383c0f79023cbe35ac3c6d35323f0642d93bb7b1fe3bcad8a53c61650c3fb1b685374691ee3bb074973cedf5cf3e7f1decbb4beb2e3b501e423c7056863eb7897ebc7b0bbfbaa108453b14a7f63d464fcbbc0000000000000000000000000000000000000000000000000000000000000000b091273b61f4fbbaba9407bca83c19bc0022b93a424a5abb2ff7f5bbb77613bc46b14c3a5b9676bbf07af0bb642511bcba910c398ade75bb720bd5bb7ac4febb268dbbb9606681bb9be5c4bb6508dcbbbf0a83ba82f77abba362b6bbb213abbba320a2ba430973bbcf2e8ebb125074bb00000000000000000000000000000000000000000000803f00000000000000000ce6fd3b2f07643fe07b633b81e5fbb741dc0a3c9985433f1d1b3f3b134a81ba426c083c17e8223f8791123b14fcc0ba9d22ee3b0323023ff9de9f3a293efdbae7bee23b026ac33eb38dac39d38723bb6acbe43b3803823ec3c211bb90f580bb437b943b9956023ee6022bbb075471bb0000000000000000000000000000000097ff193bffa2a03a8956ffbbac68ebbba2bc3a3bbba615bbf9eb15bc075a39bcc4e13a3b1d1530bb27fb1fbcc95537bce391b83a942988bb8c9b1ebc449245bc78cf1b3af9b77cbb29a201bc53bd1cbc79072e3a15f1b6bb680d12bc27ba1fbc5cdd25bb8b5780bb42d900bc675df7bbd64a91bad8fe82bb953db2bb7eac9cbb93c8cebaa8834dbb4a44f9ba059584bafeb3b03b98a9633f94e2023e98023bba59400c3c5ae3483f3082e93dcb278bba1168193c21842c3f6a3bc83df4b9d8ba14a8233c3ac90f3fd456a73d45a803bb0601083c405ee53e5925843d027819bb4d5f143c701ead3e263c463d56d092bb75e3fb3b7f4c673ef166f93c093766bb25b9b33b7b59e73d0d7f523ccc6793bba2cd903bfb9f123a6d2871bb218f89bbed2b283b2aea6537fcc3b4bb237b00bcbc1c503b32a0a4bad77210bcb90247bc42a20d3b933cf9ba897300bcb9102dbca8adf13a5dde42bb56ac1dbcee4951bc5eb3813a2ad645bb909cfbbb64c21ebc67a3e839866475bbd09d06bc60591fbcc11e9cbaf50787bbfa8de8bb5964f6bb82f52aba64ed5ebb0015babb4e2fb3bbde982cbafea812bb323142bb581e0abbe7c3803b541e433f6929823e79020fba7d8af13b82812c3fba8a663eb2f776ba071eea3bb775133fb30e453e670b6cbaec3d133ca578f73e1632253e620eccbad361f63b152dc53e2eb8023e4a2713bbadcc043c80f7943eda8cc33d40be52bb8446dc3bd547473e5d02823d52dc8abba886b03b8653c93dfee9f03cf97590bb221d3e3bec67d73aefb51abba92b5dbb7c001d3b8c12ca395f93afbbcd670bbcc07d473b82fc09ba075e06bc0e364bbc16ac0e3b0e5d01bbb1b416bc423e54bccffc093b26f721bbb9ac1dbcec1659bccc80b13aa3e136bb35c20abcd21339bceb60453a756c5fbbab350ebc0bd531bc4f8e9e3800ba61bb91e2f3bb9ae70ebc145ef1b9bc3b4fbbd716c0bbbc76c6bbb46a4dba8f950abb43ab4ebb5fa125bb396c563be1bc223fff0ac33e4c95cab9b956c83b34e00f3f9030ac3ef7ef1cbac626ff3b6db1f73e5788933ec515a9bae550083c671ecf3e1c85763e6b42cabaf45df83b0391a53ecf55443ef4fe05bbb310013c9d327a3e2cf4123e0d464fbbefaddc3b509c273ef9fcc13d6d6378bbbe3dac3b0238aa3df0f03b3d7ae98fbb3630213b4855ee3a3128faba36c05ebb2c5c113b177a2f3a111da0bb1f1513bc41303f3b7a8426b88ae9fbbb93cd50bc80a9263bb16c8cba2a3909bc2cae52bc27c4163b63e703bb6a451ebcc82b66bcca5aa83a5a0cf9bac6b2e8bbc9e620bcb4338c3a383078bb51370dbc1e113abcdbf187398de242bb9eb7eabb05f80ebcedf998b956af42bb8b14c5bbb1a2d7bb9a7691b9e936dcbae7513dbb10a891bbff6c2b3b8137023f95f4013f0b0165384fc4a83b4e85e63edc2ce53ec8d6c9b86c97d23bec60c63e057ac43e2191f1b9d496003c2d95a63e9908a43e65bf9cba173cc53b8c6c843eda40823e8f28c8ba49bef53bf40f4a3e3d33443eb82f32bb5e86c63bfa3c073e7da4013ee58668bbad6ea43b70908a3d61df7e3dbe868ebb571b403b4f1f2c3b4c4692ba5e294ebb88ce633b4fca0f3b6938a7bbdc1920bc988a3a3b2a730b39c88bfcbbb7af63bc2716343bfef23bbacf0112bc87706fbc62cf203b1c98c3ba4d4720bc9ee174bc2e61dd3a1c30fabaab110cbc0b0c4abc215f883a29be2fbb816712bcc90546bce5d5073a461f3abba0b1f9bb200220bc8a549db956873fbb87b0cebb06cbedbb5dad05ba9712ffba910364bb401063bb000fda3a3746c33eab3c223fbef7023b05049b3be2baad3ed0450f3fc197113a7aeecd3b5508963ec4d0f53ead3779392894ed3b5d3d7c3ebafbcc3e685017baa991dc3b33174a3ef257a33e5ff2bdbafa4fe63bd9b6193ef325753ee9b630bb19afd03b0b81cf3d80d0223e160364bbf2d19c3b2bba553df0cea03d770c93bb36752f3bf8f92e3b170665baa16168bbaa1b003b9a80593af7198abbda6c1cbc25a1343bc99b88397808fbbbbabb73bc411b413b8e1c4fb87809fabb7ae65cbc9cb71e3bc1d9a3ba638d1cbc65c57dbc2ff4f63a8fc19eba315bedbb16f955bc2bfd913a78c321bb67c811bcf32b4cbc8205b439eb4b1bbb6c11dbbbf18d10bcd66b9fb99c5a3fbb5bf7d8bbab8f02bce64819ba652107bb13b05ebbab656abb770bf63a71cf823e51e8423f7d4eb63ae4a6923bf6d3693e91ed2b3f71aad33a7476c23b65344a3e0d23133f6d211fba9306de3b82ff2a3e7db8f53e24e4d8381d33c23b48bd083e0daac33e8d1424bafaaddb3b358cd23d1cf4923ec8921dbb123da23b05788c3d49de423e87043bbb891d9a3b37cb153d34fcc13d969f94bb09791e3b39de1f3b1b212cba89b96abbe938b73adde7d2390c9752bb446a1fbc27c23c3b4e870a3ab28300bcab0d83bc19174c3b9e7e53b9588219bc813d8bbcb07d3b3b2a5b68ba873522bcec5288bccbabf43abd5badba839805bc8d6951bc949bbf3a724508bbda3a11bc4e4552bca609c3392a3434bbf1b703bc0a8a2ebc00a07cba7e4afabaae1fcfbb085909bc594722ba0fa208bb997d82bb99b294bbe070d33a4f7b043e2576633fcbd20c3bd6d0923b8b32f13d5791483f5893543b9a13db3b18cfd43da1fd2b3f75f61d3be904ef3b269eb53d3d500f3f0f03a23ad7d1c33bd946913d1747e43e86d9b7b8dc3fd73baa9c633dfb6fab3e67a3c8ba5bedb03bd5c41b3d428b633ee98550bbcfd8893b9b4ca73c3a43e13d64365cbb20f8243b0ee6243b63b603bad07b72bb00000000000000000000000000000000f185243b4e3e353a2d56d8bb7daf5dbc7ace573b602a313a92e1ecbb9f5661bcbd44103b013207baa871f8bb868e53bc6245e93a216d5cba7a40ddbb275b2fbc7bafa43a8194beba193ee9bb6f012bbc446ec539e09f13bbdb11e5bb4680fabbd04c61ba3b36c4baaea0b1bbf5cdf2bb0000000000000000000000000000000000000000000000000000803f00000000fea27d3bc7e5d33bacf5633f829b6b3bedc28e3b9eabd53b977f433f41145b3bf212ab3bf178f53ba396223f0991d33ac685a23b3ff1e03ba4d9013fab4b003a547ca83bcd1cdc3b59c9c23eb5634eba3ba0943b91bab83bed84813eb70d1dbbbba66c3b054f7e3b7334003e8ced20bb0000000000000000000000000000000000000000000000000000000000000000e2558e3913bd16be17ad33bcfd38783c7ff022bce56e0cbe3d4d93bc815c833cfc4c81bcd027f0bd1656c4bc125e593c2dec8fbc83a8c0bd4374b2bc32fc1c3c8a7a72bc7a2490bddef781bc7ce2df3bc98f0abc560332bdef72fbbb1ad2bf3bee71c0ba300990bc33b47a3a3202973a00000000000000000000000000000000000000000000803f000000000000000029b58ebd5bcca23feb21a4bd02e9193be031e7bcbcd7863f4f7e45bd0fc8eabae47385baf25e593f67e0e3bc25ea61bbc06d303c4a9d233f760d9dbc5ee7a2bb10953d3c4b47df3e64b282bc0ace37bbbf0fcc3b4420723ea4d866bcc2b99b3a04de7e3afe934e3d1b698dbc3458a53b000000000000000000000000000000003773123c91c7afbd1172c8bb3f0cc83bdf24de3b10ae12be6dace2bb04bc803c61a8e3bac7931abefc14c5bc96e6943c66de0abc821d07be597af6bc51bf883c6d6229bcedd4d3bdd90beabc28e2503c4c80e0bbe0ba9ebd0428b0bc8ee93e3c06a260b9b6a744bd4e7833bc9112de3b1376003c375e8bbcce567fbbc0c0e83a7bff053c3711903b8820c53b351f21ba70de10be3f4da23fd3f4593d41b8a9bcc90915becc839b3fad120d3db43a99bc77aeb5bd8477863fc5cb533d5455a9bcb6184abdf261583f9f6f603df947b0bc252bccbccbe9203f28c5463de2ea8ebcaf3681bcdbcad93ee6dd033d3e0e62bcdfe631bc63396a3ecb987b3c5c9404bc2bd5d9bb8fd3443dab09b73b60db3d3b615526bcf78893bd820090bc000d7f3b87f05b3bd16b4bbdaa1150bc0d2a693b1996b83b5fe8debd220cffbc01174e3c195a193b915fe6bd52ae34bd59bf473c3c2338bb1731e5bd1b743abd6fb06d3cb93b79bb5305afbd899820bde5a9093c841200bbc4048cbdfca8fdbce87c243cf7b6f539b5be2fbd96bb91bcf043fd3b0bcde23bc31099bca5edc1bb19e9b53b90fafd3bf2f4063bbc8b813b7f94363bf14a0dbeff27873f15607a3ecb2045bdca2219be55a9873f15e1653ece195ebd09c2bcbd7b72653f045d573ed3a938bd3f2691bd50fe403fb9c4353eb62930bd121b20bde45a0f3f39410d3e86280abd1b2a05bd1323c93e2427c73d4ee2edbc0bd3bebcad21643ede9c613db377b8bcfbea84bc3242863d2909693c42bf22bce86760bcca5c18bdc2f48fbc13268abb1b0c00ba716ce8bc5e58c4bc893564ba7000e53abd63a1bdd5a051bde9c9253c37f39c3a5cb1c4bd388a80bd1222413cdac041bacc0bb8bd6f9778bd2f2b1d3cd429f0ba05f29abd43f65ebd989ce93bad2c96ba995e73bd7b611fbdc2770d3cad05fb3a0d1d20bdd786c2bc1ed8133c42bfc33b45c396bce72a07bc7262093c3fabad3beb8fd2ba530e8f3b0213ba3bdcccf1bd80ad5b3f9160e43e72e097bd8d6b05be624d5c3f7d82dc3eb5aaafbd6512c6bde0c2423fd746c23e746b94bd085b8dbd2b36203f418ea03e892f79bdbfe742bde37bf73e88cc793eecbf55bd710d14bd59e6ac3e3daf2a3e7eed2abdc4fce4bc123e4a3ecaf2bd3d172305bdbd82b1bc2190923d4a9fdf3cd469a7bc1b0e85bc6e1190bcbe10babcb64649bcea2122bb48206dbcedbd0dbdd4f228bb5efc403af9f956bdae6f8fbd3f8fda3b6092c73acb1f89bd0695a2bdfe11bf3b4b02bebab96f8ebd48b7a0bd92d0ba3b312840bbaf764abd211462bd0e1e25bb09e2f83986024abd55bb49bdce02d73b4a8fa53a96410dbd3b34e8bc6ed5163c77b6923bc62183bc4b2f2dbca951293c292a603b5449d7bab79a733b8771133c7ca2c6bd36fb263f80d3263f3b8fc5bd5430d5bdda36263f73bd223fdb1fe4bdf2039bbd0411133f17b50c3fb92ab4bd83f977bd727afa3ec78ce93e52409fbdebecffbc7b46b93eb606a93e86de4fbd43480fbdc17b8e3e7044763e77da63bd8146ddbcec362a3e6c88073e23ed26bd11a0acbc61f78a3dad99233d75e4efbc8aaa8abcf671ddbb4538dbbcf975a8bc026c6cbb56289ebb2cd53fbd676d93ba48acb03a6d9813bd35c2bebd83fb223cd99c473b064554bdddb0d7bd9804093c42f20a3b152e5ebdfa3dc3bd8e4aaf3b48d75e3ab3504ebd6408a2bd5f1f623b1d74113b144227bd9e8d6ebd934ef13bd5946d3b65c5ebbc217f11bd2932353cb97eaa3b725173bc07484bbcef58543c0346643b8d6f91ba3a0a4b3b93962a3ceac29abd2540e53e126d5b3f4d75f1bd4051a7bd045ee33e338e593ffa2a0ebe88f583bd6d6fd03e241d3d3fa07de8bd5d374bbd25cab23e87eb183f7930b9bd38471fbd7b57913e1cb3e63ef21896bde57b00bd6ea9533ee1889c3ed68273bd80acd7bca3e5043e12a92c3eeef642bd3e299cbc784b623d7c4f433de90103bd075265bcafca80bbe4bf0abd5e26b7bc774817bba116003b338383bd2d1def3b6629723b5e19aebc40fef6bdfc69913c1aea4d3beb9207bdb1e9f9bd0316d43b10403a3bc5ae25bd80d8ebbd9c3a9b3b90551a3b120017bda44cb5bd77ed0f3a08124f3b292908bd52b88bbd7a2ef43bd6434e3b663dc0bcdaa420bdd4d60d3ca67bae3ba8383cbc9cf66bbcc68e4c3cd8f76c3ba70d51b9ff8db23b49db433ce7014fbd70ae7b3e0036873f79760dbee0d853bd7b3a743e507d863f267922beb06923bd03796f3ead77623f5392e6bd842f15bda57d583ef3483b3faf19c4bd3450d7bc464c343e8569093f15f58dbdacd0cdbc7dbe0b3e448fbc3e248977bd4d469dbcdbf2af3d5cac4d3ecbe233bdbb934dbc3b591d3d0e37463d528fccbcf09c21bc5dd403bbae454fbdbb818cbcbf3002ba5d424f3bd3ddc2bd5799623c64ec073c521a0fbceb571abe16d8f73c55e3c83b90f9b7bcd3e21ebe266d4c3cd482be3b14beedbc22c709be15c33a3b4c29ac3b26daecbced03d7bd52c306bba656b03bc4d3cebc3a2d9fbd27ee853b4eb6ae3bb1b68dbc93d53fbd0d1e0c3c76c5e23b364dcebb129474bcd30c323c701f153b0bc0063ad156073cba48353cd842b5bc59125b3d1071a23fc06213be95539cbca83c453d9ef59a3f8b2d21be189da4bc855f9b3d0971853fb46be5bd3f559cbc59a9b03d5644553f1f44a2bd319d81bc513fa73db92b1e3f3c736ebd329877bcce80893d4df1d33ec72644bdc9ca3abcc411383da37f5e3e32ec0ebdd91441bbc78fa33c942b203d941b27bc380993bba0f9cbbb9911a2bd04976cbc00000000000000000000000000000000bb15d23b9249d7bbd80b18be7d36db3b4df1c33b8d4272bc7dc80cbee75676bb6b99a33bde82a7bc217df1bd88f75dbc0bb4703b5a67b0bc80d1c0bdbadc60bc15599b3b334f9fbccff78dbd23c80abc1a6ea43b98284dbc5b742fbd0e6348ba7ed8513bfb52bcbb967a86bc0c14aa3b0000000000000000000000000000000000000000000000000000803f000000003ab33b3b156e92bd48eaa23f3220adbd979b303905e4f4bcdaec863fa3454ebd1ac335ba2ecf02bb968b583f92e6fcbc861cbabab76b233ccc13233facb5b3bc103969bb4ae4213c4bb5dd3ec80da4bc28e716bb5845de3b8ae6723e8c9b88bc81203ebae26f5abb0c924f3d02fe6dbc0000000000000000000000000000000000000000000000000000000000000000f72286bc8492e0bd534ed1bcb146c43ceaf1cabc2156dfbd53e1cebc0444d13cdf4ce3bc19b9ccbd9132e0bce112b63cb119dcbc58b6aebd15cdc1bc2e80a03c5761cdbc3e918abd57fc85bc91f3893cd6eb89bc745a3cbd6f94e7bbde61503c4424e9bb0a9ebabccb49273b0c71db3b00000000000000000000000000000000000000000000803f00000000000000007d1d82bce8e2983fdebc43bdfacc95bc02ba903cc2227f3fdf6f09bd3d71afbcc9101c3d8df54f3f0e9acbbcdedbbebc3a3e283d55e71f3f7629babc23d6bdbc73a2083d1116e23e6bf7ddbc8cbf92bc6d14913c31f4853e6f2ef0bcb7032bbc8e5847bafb3eaf3d946c0cbda636d2ba00000000000000000000000000000000ade385bbbbf65fbd5ca0b9bc4480423cf4967fbce0a2dcbd5a7ecfbc83e3ec3cb3c0b2bcb011f4bdd68109bd52d8fe3c5ad1d0bc9c71e0bd346011bd3debf23c87abd0bc3e27bcbdeb35f4bc6b39cb3c93f6adbc655497bd2b0da4bc3e5eba3c52bf4bbc358e4abd230119bcf286853c90a53c3b43d9aebc9ce22eb925fc983b9980ae3b99db7d3ad509b73b64db253b6291b4bd6157983f1e29bf3d79d810bdee67a9bd2de3913f0031903d2afe25bdeca5d1bc8fa77b3fb4708d3de2f931bddb4d8d3ba4674c3fb414703d54322cbdb0f39a3c29871b3f2454293d612118bd3497743c95a5dc3e45f49e3c30ec04bdaafe973b181b813e2da3e9bae847b7bcc4d721bc5949ac3dc13c67bc00de98bb044287bc64b32ebd8c13fcbc38c3b23a4c16b2bb69acebbc38afc3bcc19ed63b024243bcda76a1bd23632cbd58abb03c582062bc0234abbdab7945bdc58f8a3cb58f9cbc5415c1bdd23243bd3920cf3cb2a18dbc60839abd68a524bd5cf0923c8bfb7abceddc86bd3aa800bd3952b63c82f62abcc98b2fbddcb594bc322e743cdba34eb813b8afbcfcffd3bb98e8433c906d963bef9f45bac6ed843b85afb23b8c97c2bdbc01803f2afe883e4fe85bbd8d78b6bda9837e3f63a0773eb2068bbda20e0ebd355d543fc2635e3eb98469bd0c7c8abc983b373f70ba313e19467abd53f4c13aefc40a3f3e68043e8e8b4dbdb0fa5eba8140cb3e0474a73ddb7541bd7b3447bb4c63753eea282a3d171a0fbd669e70bc840ec43d6af211bac872a2bc3efa7fbc60f791bc7bbbdbbc0c820ebca63aacbbd7da73bcf7d7f9bcd9cbf7ba2c7828bc117874bd4a9858bdee7b743c935455bc966e9fbdc37080bdb1e1983c24ba6bbc96a9a0bdf65675bd8ae49a3c6b737cbc317592bdd02955bd27bc923c7f8f75bcc42576bd252014bdd2d29b3c80ff11bc315929bd6702c7bc6f339c3c433b53bb5778aabcdf8b14bce6e57b3ced109239dc232bbbedb3083b2ef6263cb475a8bd683c523fbe48e63e3d638bbdbc8babbdbbfd503f7af6d93e42d3b4bd48dd45bd9d99393fc202bc3e1ae9a3bd5ebac9bca8b01a3f137f983e707993bd79f317bce6c2f33ed655663e582d88bdd5bd10bc188bb23e50e7193e80a66fbdfff528bc29d15c3ead38a23db7c448bdd2047cbcd1d6be3dac4a913ccbe005bdb49e7abc9ea498bb972ce7bcb0f0a1bc3589cebbd9dc02bc8dc90bbd19e2ccbb09fd16bc890730bd609682bda112e03b603d24bc5c3d72bd02fe92bd1ae40e3c834e52bcbe3c8cbd4b4d91bdfc2e5e3c31ef23bc897e4cbd58af60bdd2368a3a52465abc8efa56bd65dd47bd2195943c03c917bc8e8e14bd2f84f8bc71b08e3c865986bbfc439cbccc0951bc0e378a3cba01f6ba402a70bb2d1f733a0b30523c7e7897bd2924233f17aa213f8821a1bddafb92bd59f0213f0dd31a3f9bafcbbd943423bd2ee00f3f09e9033fc39fadbd1228cabc3062f93e490dda3e2f89acbd694963bb1c3fba3e3bb09e3ecf9e67bde7ee32bc96df933e7a24633e988b8cbd6eb12bbce6c1383e21e1fb3d126161bd11d883bc0ea0aa3dce35163dd2c22bbd551b7fbc5e51ac3a8108eabc3a52dcbcf9a2e7bbf0f999bbf06122bd496804bcb3faddbbbb1d10bdd3749ebd8bf8e53b6f1313bc65805abd91b3b3bd9aed073c331917bcca3b6bbdb6fea8bd7a69253c932e28bc05855ebda6aa94bd9aa2223c18861ebc207f41bded2d61bd88ff873c1e34e7bb5c880bbdf16514bdc1b0a13c319736bb022590bc6f6288bcc25ca03c790b53bb9a223ebb623f973a2bfa5f3c4c5681bd8d4ce93eee5c503f4a39b6bdbf9182bd5f69e83e22b54a3f353cebbdb2561fbd9f6ad63ef37e2e3f1f72ccbda246d8bc5d83b93ee7810d3fc686b6bd671d83bc94c0983e195dd63e4ed99fbd2c6272bc19e4643ebc08933e340094bd2d0587bc26e7143ed4a2273e7c1383bd104887bc97c98a3d18dd4f3dc24d3fbda83a78bc811caf3a7b8003bd39f2fdbcf495c7bb28c4a9bb483d43bd4a44a3ba9b06c0bb0e64f3bcfdc1c1bdfcbd2c3cf4b984bbf72925bda6eebebd6ba22dba26fafabb738949bde29ec6bd1727dc3bf10efdbb50ab34bd98b19cbd70b46c3b222903bcb5db28bda70483bdbd29683c8e3be2bb4a39e8bca5da29bda4ea593c2c75f3bac66d7fbc510a90bcc3379e3caf438ebac0c5b3ba4095633a270d753c56c94dbdc5408b3e0e1e7f3f20ccd1bd1a7e45bd5ab68c3e751b793ff074ffbd01fddabca5fd863ec0e04c3f7d54afbd2ae7a8bcaae7763e40832c3f5773b3bd8a4a34bcdc954b3e2406003f4c1d91bddd9c5dbc525f203ecd79b43e0e9293bd78bc32bcbac6ca3d8467523e019067bd72324ebcbc283f3db8097a3df43441bd56ea4dbcbc0ab5baa5ae1bbd4db7ebbc21b65abbb4d302bcac038bbd786f0cbbcee633bace3edabcb11aefbdd0a9af3cd374e0ba3efc24bd1433f7bd12b9023c9fef57bb17cd33bd0ca0e0bdaee57e3bea0887bbb5fe20bde193bbbd0128033bbbff9abb96190dbdd8d392bdbee92c3cd204f8ba2025d4bc785142bde0758c3c304f3c3b65e312bcef5ca9bc54438b3cb1bb4dba4d305dba9e73113a1891793cefb006bd9988c83d92f0973f7fdcc5bda0a8d0bc71a1cc3d0c16903f33dcf3bd97ba91bcbf28fb3d9df8753fdebfb5bdcf6d45bc7981fd3df7e1453f77c693bd72c7fabb9b5de73d66d1143f33157ebd025305bc4ee4b63db1f6cd3ee7397cbda35e24bc5bb2703df455693e465a6ebdbe8fe2bb39f2bd3cdbcb853dc2f01fbd00fd21bc1eae08bc912b63bd3e19fdbc000000000000000000000000000000007902033b96c6b8bc1820dfbd08dbeebb36e6053b1a79e7bc7fd7d8bd4e1a19bce32c923afbf0fcbc72e3c5bd02f784bc9c7d043ab9e0fcbce44ba6bd3ae868bce91881baed3fdcbc6c5c88bd7521acbb61745a3840ac9abc6d323bbd7ac95e3bdd80a4baa0072bbc1347bebc206f3f3c0000000000000000000000000000000000000000000000000000803f00000000aba6b1bba742afbcfe34983f2b2d5cbdba5114ba7e18213c2d0a7d3fcdd71ebd7e4f053b0e26f73ced4e4d3fd0beefbc15fcf73ada6d103df02a1d3f693fecbcb9b1913a2c10f23c19cedd3e96d709bd9ef887ba8b56953c37bd813ed45110bd528f99bbc7aa543a36f7a33d9bd61abd0000000000000000000000000000000000000000000000000000000000000000e28c8fbb5e702abdf443fdbcc0c180b9216230bc135a41bde67ce9bc0dd7103bbeac57bc98233dbdca12f7bc8333abb843c179bcb92b36bd8e34d9bcb5298b3a38a597bcfff31fbd651aa4bc0368a93b1ac582bc8c4d05bd534268bc7454343c4f7767bc6439afbcc29acebbb9c9613c00000000000000000000000000000000000000000000803f000000000000000021b2f73c72a3833f1cd43cbbd3e2a9bc78d9263da3bc5e3f1a9594bba0a4b5bc8ab8353d6de6373fa91f8cbbbe2cb3bce9be2f3d60ab103f8fc4febb7383b6bc48200e3d3066d43ead9f6abc5e87b9bcd176b83c68c7873e78e1a8bc3785aabc24581a3c6be4f13d9038debcc853a6bc000000000000000000000000000000001ca5553b51ed7ebc06e8cbbc99d3c2bb4b4491bbc4842bbd13fe07bda53ad53bf9a819bc05b050bd84cf18bd9d7d363bfa2366bca24059bd7cb711bd8f7f923b289a87bc321145bd75c500bd9a4a963bac7b93bcf67a3abd1279d1bc36b63a3ca8e699bc9b2714bddae885bc4398833cfa0e47bc543d96bc5fdbe0bb32d2853c4a41d7bbe71ac1bb756c87b93a6f3e3c75ebafbabf14833f05e0023e7ae1bfbce173673c337f733ff1e7e33dbba316bd49650a3d9cc4503fc563c73d287a08bd05ce2d3daa152c3fe9a59d3d917f07bded28283d361d063f4503663d282b04bd9b22083ddc2bc63ebff2053dee760cbdec78b73ccbe77c3e53fcd43b08c803bda1f6a93bf85ce03d9c2680bcf8a2cebce15828bb91ff35bc3174debc572e8bbcd6bc373b512ec7bbe964afbc821122bc41e7a7ba5bcfddbc773716bd00d40dbc76e207bb2d7107bdbe3816bd20a64abccd6d16bc087332bdd38a25bd1186b0bb0f5240bc501f20bde51d0bbd67dd80bb43557bbc1f4823bd1914eebc4657bc3b7f312dbc542bdabc7d71b1bce2db873b5f9d3ebc15ab9ebc85e72cbc6d6b673c7cb89ebb52ccb7bb095566ba21b92b3c23f54bbcb8da5e3f27608a3ea025dabc69a8493b6e4b523fd6b87b3ee8bb19bd0248a43cbfc72f3fcf0f583e40cff6bc7bd5003d1b77173f92eb303e2ae518bd184a003da715ec3ee2b1043e435b0cbd6e0fea3cdc0db13eeab3b23da6ea1fbd2b7d913c928e643e9a394c3d501702bd85d6d03b2647d83d451fb63b450303bdf0b7f6ba9e402cbba2cfb2bc347aa8bccddd513bdccf51bad02cabbc62f4a0bc42d9e1b924679bbc254d14bdb44c92bcc2552ebbd56609bd8b4532bd744980bc26a2e3bbc9d519bd97172ebde9d43bbcd68419bc2bfd17bd7bfa1fbd264a1ebc45a765bccbaf14bd902405bdd214ef3a19b760bc80e0efbcecb4b8bce197ee3b715142bc83c59abc0e774fbcb186453cd6c8f2bb20acfabb0cf689bb4bbd373c876759bc8527383fc886d53ea9a8d6bc38c473bb2a7e2e3f1866c43e6b251cbddb7d873c262f193f700ca93ec5d819bdf41bc33c153d003f1d168a3e6bbc20bdf3f4e13c4bf6cb3ee144553eb5eb1cbd4fafbf3c7546993e0541143e10cd2bbd3290873cb594473ea67ca83d9cb92cbd2716ad3b120fc33d2b00d83c945e15bd1a5b4bbae5313b3b24489dbccb9dc7bc7d54ff3aa1be653a5ac5a4bcdcd7cabc92ef80bac6e37dbc117e13bdd6f4d5bc973247bbdf51cbbcba082dbdc74ec9bc8065a3bb879400bdfc5642bdebcfa5bca5929fbbd64adbbc965f16bd3ec3a6bc5e9738bcf30d05bd577915bd9d11ccbb1ea848bcf30ad8bcd3b4cebc6487bb3a96333abcc6ff9fbcb17f71bc134b203c25c10bbccd350cbc26ba96bb54f3273c131674bcd0f8113fc38a103f4bd8c7bc0e65c3bbc5170a3fa0aa053f8d9514bd74843a3cadd0f23e69cfe23ea0a605bdbf1da33cbe8fd03e1d3dbd3e39a21bbd9e52b93ce6d3a03e3ec88f3ee079ecbc58c8a73c30167d3e12a5513e9bef26bd70c96a3c528b263ed373fc3db03c20bd41a5973b1271a63d8c70453d5db21fbd86bfe2baef11813ba0c98cbca98fddbc7a463cba033bbc3aa93ba0bcca6ce6bcbc4a1abb787160bc353b22bdb311f7bc5af43cbbfbe2c9bc14df44bdad23f4bc62d3b7bb5278febc440b47bd5b27bfbc5961eabb4de4ffbc22b136bd058ba3bce8d233bce3ceffbc777d1bbdb07effbb376371bc63fee7bc0b7bebbc53ea213bfccb60bca0ce9dbc01ca7ebc9a12273cb2ec26bcf2d01fbc053bc0bb27b4293c230e86bc75edd83ed8d4363ff75cccbc4cdf09bc3cc7cf3ed8552a3fb87b13bd221d123cb549bb3e5942123f67100bbd995f813cdc83a13e1a8fef3ecb3810bd51f99f3c518a823ee455ba3efd2314bd5ba67d3cb8d2463e2451863e6bf026bdef0b0a3c62d1053e87ab253ee93733bd30cb94b8b731823d60cf863d4c9627bd12056abb0b16843b66ce73bcd0fcecbc124358bbc51b28bb5eb1adbca6a9d8bcab5890bbf3387cbc371b2fbdf8b806bd7d5828bb7fb5a8bc86bd36bdb8440cbdd498a8bb8da3eabcf9235abd970ee1bcbe51c2bbd4a1dbbc28653cbd691bbfbc591c18bcb53002bd77fd29bd69552cbcfbd823bcedb8babc7b6ddfbce6ddebbbd63673bce97da1bca8438ebcced8203c62972fbc541915bc99e889bb827a473cd82f8abc28a88d3e16865d3f04bdc3bcba8dffbb2a4f8a3e2ca24e3f94df03bde6ade73b1650793efb252b3f5bbbafbcc585623cecab613e2b5a113fd93c01bda89b883c964d383eb962df3e3e43f5bc00ea543cad610f3ea629a33e6c6a1ebda155eb3b0233b83d3cad4d3ed4a10bbd796431bb014a393d0ab4a73dcbcd29bd59db01bc05f613b985848ebcd72cf4bc4e8758bbd24abcbbe9b3dcbc45b501bd26468fbbc2a49bbcf70348bd0a67fbbcadcbaabae74bbdbcccfa6abd3c790ebdf8eefdbae620dfbc5fc866bdec0d03bd0dcd90bba12bd8bc062e4abd649cd6bcdf1f04bcb844f1bc788f32bde9ee65bcfae842bc80dbd2bc2d4807bdf55ee0baab4e5fbc114f9cbcc8b89bbcb45f3d3cb07749bcdf8636bcaa7dc3bb9dbe403c0ec74ebc9a980a3e336e823f271e78bcb63fb2bb8b5f0d3e910d713fcb7cc6bc5e810f3c5a820c3ed3f94c3fc70598bcf210603ccd58023e3713283fa256acbc48ab8b3c68b6df3d0ee7013f57eec9bcbbc4313c3a1eab3d5dd9bd3ef66df9bc3785913be726663da48c6b3e8cae16bdd86ac2bb0377bd3c63cdc33d82a821bde19917bc05457ebb3ef2aebc296002bd00000000000000000000000000000000f04d31394bc95fbc1c043fbd6b491dbd3b50743a3e3e8bbcc9a54abd07ce16bda0928a3a4d9b9ebc534e45bdb41318bdade4363a7dbeafbcc83f3abde71602bd67823dbb83cca7bc83b81fbd4a86bbbc2422e5bb2d239fbc50b9f3bc047113bc524747bc3e068bbcf25fa0bc76f2243b0000000000000000000000000000000000000000000000000000803f0000000034d4953ba308a13c6efb823f0d238cba02e3453c4348013deed55d3f78e220bb563a8b3caf3e1d3d8614363f1a0252bb273b8c3cd1da1e3dc8020f3fe2bb19bcc66b603cf535023d157ed13eda6d86bc93cf083ccb04ad3ce090843ee5dbbcbc43ff93bac223ce3b15e9ea3ddd6201bd0000000000000000000000000000000000000000000000000000000000000000a51fe03b0c8f3ebe8f57eb3c4262983be49027bcc52a31be72c5a43c20f4093c09f1adbcbeb51dbed6cdca3b81244f3ce9edc9bcc36001beb7023a3bc7df353c4f9fb1bc8104b0bd605595b8e28d063c979825bcfc994abd7a4b22bb2aafd33baaca25bb80eb2ebcb50989bbc847a03b00000000000000000000000000000000000000000000803f0000000000000000db31d7bddd3eac3f37210fbedb25833c960e30bdcff98d3f10fdcfbdea36ec3b2ac309bc8633693f8f3ca5bd10c97f3bf4bb943cb8ec2d3f017271bd6602ef3ae3c1ed3c6684e13e6f3620bd22e5dd3ad3a6053d13e75e3e0d8c34bcf9e3e1393c29d33c19f8f93b21a8e93bf6b2aaba00000000000000000000000000000000bc57913c4721d6bd84cd7e3ca7071639fa51a33c208321be89cdd33c0a78ed3a8d128e3b797b39be21894d3c9187403c603fcabbeeb82bbe635a293b93b08a3c99950fbc2d5e09be305e40bbdb7a673cb6c0eebb6a0ac6bddf7fadbba294623c5a7d7dbbdecb5dbdb8210cbcf0ec423cf111153b09439abca9dae4bbbc53f03b0f3a2d3caf583e3ce44b83ba592acb3ab1874bbe44fbaa3f0fa01d3c4a7e46bcb6462fbe47c49c3fc0dd90ba2f6637bc11ae01be00e48e3f7cbddfbbe37576bcafc6a3bd00eb6a3f1027c6bba9d271bc62821cbd14202f3ff5de9e37ade54bbc6edd41bcebc1e53e7fe6d53b109e2cbce174243cb492613e25f86c3ca3070fbc0b6bc83c20fb0c3d2018e43cd8c03cbcf662c13b6baedebd8d740e3cd09a2aba0b996f3cec1073bdf3c24ebb7f54023ca0e7903cf6110abeb80717bc67dd5d3c16f2ec3b65281fbe0bb298bc8dd6a43ccd35603b4fb718be8c69aebc0001a83cb73544bb1d9af6bda0b2acbce8a9793ce7f03a3a5c01b9bdd3578bbc2a5a743c4e02863b61d562bd4b5c3abc026f293c306ae93b2daca4bc68b8cebba755053c6903223c8440883badcb423bee80103bfc4c4dbe7adf8d3f49fc673e72c377bdaca84bbe5d7b8f3f4782403e90cc75bd96981abe7894803f74cb223e40555abd0778e6bd50fb573f9e40fb3d8d7036bdefdb83bdb1ac213f4245bc3db43e00bd498911bd3180db3edef2813d1dd9c7bcbee848bc1cfc663ee33b133d9aad2abccc92ab3b73534d3d89e87c3c042bacbb0edcc73ac63074bdb34b1ebcf2ac943b6cce063cb7e723bdaa76e4bca5966c3cb1df8a3c05c0d4bdef6430bd44a6d13cbbf21d3cc1b004becc8851bde3fde43cffc0fa3b427400be9c5e48bdc273d53c242b3a3becb8e2bd46d628bde034b93c9a1e9c3b8b99a8bde80df9bc92078a3cd52fea3b134a4dbd8db28abc3b25553cd0a3203c0057babc3cb08dbb5dd4fa3b237a383c12fce0396defc53b62aa863b3f193ebe0a906c3f59acea3ebdd9e3bdc5c342be61ae6d3f9903d53ed1f4e6bddede1fbe4a515a3f2791b43e3e66c9bd22d9ecbd3816373fc10d8e3ec9e29fbd8b4ba1bd0809103f339e513e8e136ebd9e5644bde3aac43e705d043eea4e17bd7a43b3bc1ac85a3edba0803d157e92bc3c9388bb44e6843d3cd91c3c8fa13d3a30b2c7bb2ccc0fbd98370bbd0d800b3c60f3a03b6b3da0bc518345bd0b65b03cba5a5a3c1efc98bd46a0a3bdd23e113d58b2353ccc1ac8bd57d5adbd4c77043dc9cf2b3c26a6d3bdb165a4bda730053d12e4403be208a7bde9e572bd45b5943c9c39ff3b043698bdc82f31bdbe29a83c4fb0ec3b129434bd0f82bcbc56d65b3c606a273cf0bdb3bc899588bb2822e93b921c273c807a3b3ae70b283c60dc233b175c1cbe1a65323fc0be313f8afc1dbe5ddd20be2c68343f45b1273f40cd25beff1a03be49d2263f06d10f3fa36609be9944dabd30fb113f09eae43e0837e5bd73f478bdbadbde3e9955a23e5f6f93bdc1344bbd41f9a83e2af54c3e1fa04ebdd828d4bc51af423edc90b93d7397abbca4cf09bc3099943d22e5343b02e8c03b80ddcabbc7598fbc7caf69bdc4c1653c682d8e3bb65d55bbe3f58dbdbefddc3cab56553c1f8e37bd0216ebbd4070373d12365e3c495a90bdffa9fdbd90e22e3d21f44f3ce5c29dbd6bf3e1bd9cd1153d74cb163cca2397bd033db6bd03b7e43ce750e33b1bfe69bdb5c16fbdb889a73cba0c103c80862abd30cafabcb4ec5c3c5eae003cf5889bbca317c3bbe5eded3befcf083c0bd6b0ba35d0443ccdae603b4c6ee1bd97b7e93eb89b6c3f0e8b3dbefd87e9bd697dee3eb184633fc8464dbe3a83cbbd308be53ec9b3443f0dae2dbe7120a6bd5f28cf3ecadb1b3fb54807bed5d081bd20b1ad3e577de23e4499c6bd844f2ebd0b60823eb9488c3e80dc68bdbe23cebc6beb293e6964f43d5bf297bc35c921bcc3c8943d06b8f9badaa03b3cfaccaabbb0feecbabc989abd59929c3c90782a3b62bd273c2478aebdb35b0d3d11ec363c6a0aa0bcf10a16be80014f3d590d503c0e1c30bd3e5a20be10e33c3d236f513cd7505cbd37ec0fbe6900213d82092f3c755f55bdceb3d9bdc055cd3c0e4d123c26c63cbd359c9bbde2b0b33c1301f33b54f800bd5dee1cbd412e613c3e16953b9fe287bcc974d9bb787f7d3b1b09aa3b4aa89abad6d34f3c1cb21d3a364079bd842d6a3ea6498e3fc2244bbe94147ebd64c8713eb37d8b3f846d5bbe77ba71bdda747a3e2c0b733f038439be72a851bd5513723ece63433f67f916becef61cbd4a63573e72c40c3f33c2c8bd65aff6bc721d333edd56af3e8ac272bd1ce891bce74af93d88921b3e6020a6bc171b0fbcb83a8e3de8c428bbe6989b3ce8fe46bb99f0353c8585b8bdb282f83cd670d43a48d7853ca14dfcbdb24e223d0f42d13bd244613b1f1e2cbecba1733d3ba8563cc232b5bc1c493ebebf33473de795563ccbf101bd06b82bbe7e1c1e3ddf691d3c772218bd55ec03be19b8d63cd240103ceb3d00bd190bbdbd85039a3c9f32983b6c6ec3bc25c83cbd73ef1a3ca04e673b46f75bbc17b92bbc946049bbf6e9553bec01933928a4993c42a22cba0e665cbcb78a443ced2cab3f1cf04abee55a49bc8c401c3db9339b3feab74bbe9891b0bc68ae8c3da7478b3f44eb2ebe3715bebc18dbb53d0630613facac0abe08fa94bcdb3ecb3d09ed233f3847bfbdba8265bcf0b9bf3d3588d03ec6465cbd5d3a1abc556aa33d24503a3ee97a46bc02d28abb27326e3d7d96863b8a870a3d77571cbac1e6633c78d405be1a8c033d00000000000000000000000000000000254d083ced08833a904441bedd311b3d6be6273cd2d562bc1b3435be2124f53c8241303c1d29c5bc40cb23be2fb5913ca474153c4eeed5bc4b3e04be576c293c69d4e33befc7b3bc17d1b7bd9054da3b1f485d3b996a74bce90349bda8a8d93a246d7bb986239cbbb40519bc3282fdb70000000000000000000000000000000000000000000000000000803f00000000887d6a3c41addebdb733ac3fa7830bbe3c98843bec573dbd1ceb8d3fcf07ccbdb43c53baec0e2cbc6519693f85019cbd8f2c83ba9d0d553c79182d3f0f9b63bd5dc3323a171dbb3c1e00e13e00bb0bbd845a313b85c1f33c9dca5b3e8e68a1bbf5ac9b3b6081b03c8d77603b3adb603c0000000000000000000000000000000000000000000000000000000000000000e83b98bc6fd522be3428f53cfe6f263c5b192bbd0c7c15bed85df73cf1a6693c580a67bdbeca05be7ebfad3c524d8f3cbe0765bdf9e8d6bd11ab863c823a893cb14e41bd8f3d96bd6d94703cefb5373cd84c00bd68d427bd83ce153cc525b53ba11231bc446128bc8225353b38d7ad3900000000000000000000000000000000000000000000803f0000000000000000fe7b86bd4f89a83ff62619be7d75e23b6f6cfa3b4de48a3f2e5806be98ff6cbae3b66f3d6240623fb2cfeabd1b6304bcc503a23dd001293fcdd2cabd2ac119bc7317a83dc210df3e8c75a9bdfa1535bba002893dbce8653ee9b24fbd36480a3b9808183d5ce3ac3cd9b990bcc372c13b000000000000000000000000000000006dd14e3c647ac3bd2048003c56e2b83b6ba7023b4cb719befc9b0d3db147923b1abfe1bced8224bea493d23cadfd813c283e32bddde310be23dba03c7b78a03cb8fd3bbdfb3fe6bdb1e1693cf0a08e3c91a122bd11fca4bd2071433cbc9f473c5c48d4bcf35b41bd4a3d063cd305ee3bc2f311bc03c689bcfcb5bdbae5bd983b1bee0c3ca4fdf83b0a9ef13928f9f2bafdbc39be2af4a73f7dc3b73c66639abc920a1fbe24da9e3fe4cf0cbd0b5a3ebc279a92bdbee88c3f931e2ebdc466bbbcb10718bce9fd643f288b4dbde5e2bfbcf9040a3df1572b3fc6a950bd9a60a2bceef0493d54c4e43ed7864cbdf5ec11bce2af563dd259683e6c410abd106603bb7be9333dc5f5143db86f793afc946dba0c165d3b653ec7bda3cfbbba821b123c7e574b3cf2d170bdbf1731bc2aca373cf0fa893bee3b05be4da18cbbae18b03cf509a0bc4e760ebed7960cbc5a2bef3c68c2f3bc156c0bbe194e37bb4d9cec3c57eb0bbd4be9ddbd6867a3bb8985cc3c52f2ecbce1cba8bdd219c33938809b3c547f9fbca90746bd8096ac3a311f453ce6fbc0bb083295bc7c2320b9f1b09e3b7594f23bb193a03b1c2e223a06a152ba27a942be22b88c3fbd0f733e21f37abd7d3733bee1468f3f45852d3e83528abd6d7ec1bd8a967c3fe4e9033e731a8abd83cf4fbd2a3c563f02a8993deb8d6fbda25a8fb98f19213feb642d3d1f4339bd2421a83c1fd5df3e21b8753bb3bddcbcfa71e93c0b56743e8e2b3abc0c2556bcd3fad03cb4b7773db48e81bcbc2eae3bf799863b58dc60bdd19eb6bc637d6c3c7471093c710225bd78a610bdf062a33c48ca873bfa69d8bda03820bdcda2153dca161fbc0f2e07be4e480cbd65a9213d1475a9bc979bfebd4cb6debc5e8e113d0ecde0bc9d6edabd298e9fbc12e4013d136ebebc09d5a4bdc73722bc8b91b83c85c37abccf5a49bd706773bb9b22673c866147bbad0b9fbc284900babd0fa23bf8b88e3bde179f3ba9b7993b6a8407ba237e32bea7456a3f17e4eb3efda3dcbd4b882dbe8d7d6f3fe577ca3e60c5f7bdfe0eedbd37fe5c3fadc09e3e53f7e4bd68df7fbdff1a3b3f2d08623e70b0bcbd9884bfbcf135143f1e4b103e7e0096bdf880543bff0fcf3e64c78e3dd1a63abdaab1883c08a06d3e1ba6573c606f93bc10e5863cc9ef903d5de8aebc73a31c3ccf78833aa25e10bdacaa3abd5b9ca03cc299e43bf6bcd2bcfc9c59bdeef0da3c4370f93b9b18aebdd9d190bd4d823b3da7f897bb5f97debda2e285bd3bcd3b3d61a258bc7285ecbda3f25cbde5b73e3d9eee9abca99db3bd8ebc2abdf688003df6ec88bc38f59fbd0897bebcc2eeea3c8f8b49bc808d37bd58c029bc007f833ce6ac0cbbaef092bc4d39f4ba6b26ca3b80ff933b5fdd9d3b35e0b63bd91638ba038d19be3c74333f90682f3f77ab13be001f14bea85d393fd9c3203f808b2abe0e1dc8bda5e52d3ffe61023f09c615be482387bdaa861b3f9918c43e9d2b05beca9a83bcb1daec3e5c70873e4493c1bda9dcfcbb5af0b83e5dfb113eb3f685bd801ef33b5b78583eb7384b3dc21aefbc64fc473c638d9c3d8a75a7bc51a30c3caccd19b9ae7db5bc553a7dbdc8deba3c349ad73b89a37abce7728dbd34defa3ce32d303c076088bdc1e6ccbdbb686c3d1c90423b6da7c4bd3e67c6bdc928703d4b1e89bb51a9cabd32b2a6bd22c5513d6ea539bceb3ebcbda18f74bd538d333dc32d1bbc55dd93bd25eb11bdd573f03caed902bc630638bd537c8dbcc93a973c15ee0cbbd06179bc81d5c2bbce54c43b3d7c403b84998d3bed56f43b046ab2b93d6fedbdaab4f43e3abe663f92c52dbecd6ee4bd5b13013f56365a3f2ecd51be9119afbdc286003f7fb3353f7dbd3dbe076069bd6b84eb3ef0c20a3f83981cbec31405bdfc1dca3ec0acc03e33c4f8bd96f932bc6552973e9dba603ede019ebd2b50533b1808403e2379ac3dd19606bdea222a3c55639a3de2028abc672c3d3cd454b33a20d461bc277496bd29b3ca3c3d8aee3be95955bb701fa7bda2841f3d08243a3c68793fbd7aeb03bef56f813d4760bc3b11779bbdf846ffbd57bf7a3dece4143b9464b3bdb801ddbd85596b3d88ef6dbb86fb9ebd5ffca2bdf0762b3d89d792bb131985bd41d454bd2ec1073dce5793bbb7f623bde4a4dcbc2d909f3c6c4b43ba0cc689bcaba7f6bb8e13c73bc8b00e3b0061d63baa3f013cef8d67bbd5248dbdd956803ec8758b3fca9f3ebe04318bbd684b8e3ee416873ff60f62bea5cb5bbd47f39e3e83bd613f194146be571e2fbdb3579e3e85ad323fcecc2fbef1b5acbc0faa8b3edbf0fa3e8ef301bef04935bcd903673ea8ca983e1bf5b3bd1b81903a61d5163ebf13053e25022ebd4959f63b6ec88e3dddf52cbcd21f6c3c35505f3bbd508fbbf7e5b2bd2727123d65e4a73bdee0063ba240e8bde802283d9a4e4f3c598fd1bc37741ebeb5a9973d5860373c730a79bd102d1ebe04d08a3d5ab4033c117196bd89df08be7181773d30443e3bdcd18dbdd220cebda8673e3dde068a3af24b6cbde15b8cbd7c220a3dfbbea0baf0cd14bd32ce12bd4c8c9d3c282ed3ba3e1a4dbc336d35bcf3cec23aadbed53993d0023ced24233cc33758bb2bf0ccbceba20c3dcc91a73f2f193abe749593bcbe23833d2c009b3fe4bf62be14f5e0bc4be3083e854e853fd7494abec486c6bcbc152d3e8379523fecc22dbe75686ebc623d2d3e0d0e183f184a09be6d79cbbb40bb193e2c92be3e8b13babd7293633acff3e43d38a6273e0b2022bdd508163c94557c3dd19284bb0b43d53cca4f7b3b194f8cba2abfecbdab4f053d0000000000000000000000000000000083cb3c3c1dbbe6bc78a628be6bfc4d3d6729493c172546bdd8e418be3c344b3da0cc123c9a8f7dbd76e405be45631a3d1321c43bcb3472bdb4fad4bd9ca2ff3c0800873b5edd46bd63ca96bdba80d13cdc6ef13aa2cef8bc657729bd41d9723cc4a899b90c7423bca9af15bc112ba63b0000000000000000000000000000000000000000000000000000803f00000000bed76f3b3ff78dbd7e50a83fae6a16be87f805bbd1d8253c6786893fdb5c07be73479cbb7c80683dd5165f3f67faebbd7495893829539f3d51fa243fed17cdbd65a9273b4a589a3d6d30d73e90639ebd9c21bf3b3c8d7a3d04095a3eec962dbddd1f083ce13afb3c0a3e483c490601bc00000000000000000000000000000000000000000000000000000000000000002d3a11bdc8a6c9bd105814bc06eaf73cb79b4fbd8541c8bdab1b51bb78c80b3dd32668bdd672bbbd072b6ebb5e3a0f3d4a4172bd97889fbd1af3713a1cef013da4b956bd059f6cbd8817a13bff03c43c6fc919bda83301bdf6090a3c512c4b3cb62dafbcfb2819bcfe6c1b3cd9373b3b00000000000000000000000000000000000000000000803f0000000000000000c989323c5902973f04837abd34f428bd20e8773d9f1e7c3f58ff84bdb9563dbd28dbba3d22a54d3f960585bda47d53bdfc51cb3d3b751d3ff15f8dbdc36f42bd36c4b53d2364dc3ee11e8cbd4f5817bdf9e0823d52ec7c3ef08d87bd7fa884bc02e3f43c815d943db49b5ebd5f5eed3a0000000000000000000000000000000046800fbc7b4c55bd324c97bce783793ceff608bd275dbfbd464ec1bb62dcec3c0e2952bdfa5bd4bd999cd4bbf889183d64a271bd1f7bc5bd2ed755bb14aa1b3d211d73bd5da0a0bd88c0b437272a093d79c961bd720e6abd1a97de3b8ecbca3c2b9d17bd164207bdc9d8283cb5625d3c726a7cbcd27401bc06d3fd3ba811893a3fa0e3bac5f82e3c3543d43b605d7abb7833a5bd47cf963f6883ca3dfd3640bde73666bda9ce8f3f3b95543df47670bdc441b13c9db9783f1766003de44b92bdfaaf843d521d4a3f9f14003c7ec596bd6e7cad3d42e2193f9e1d4cbcaa3788bd0620a83d9e2fd73ebef90cbd0b2b4abd7b247b3df942753e04b342bd7a84e1bca939053d83c5923d09c231bd8415083b692134bbd16f5bbd2ba120bd1997423c7221e3bb1dd004bdb386b4bc93f3533c33a0d2bcc481a5bd8af2e8bcee900d3dee631bbdfd6bb3bd54a8cfbcc00d133d006655bddca6bbbd848083bc78f8273d31334fbdf6599bbd482453bcad3e0f3d9ae447bd21a56bbdc1f912bb94f0ef3c597814bde3ab1bbd05c4b93ac925a83c3aba95bcc58845bc6dbf0a3c9a5ac03bea2439bbfcd0163c715ede3bf8f959bb7c55cbbdc741803f85568d3e89d68bbd079a96bdb8887f3ff5176a3e0675c4bdab50fe3b48d9563f02b73a3e6342c1bd46d91d3da5cb393f8c44fa3d4248ccbd87327b3d7d750d3fd8cd9d3ddebaadbd684f833d6ef6cb3e06cfd03c134891bd4833493dbb3e743ec240c8ba8a1444bd688cd73c17a8ae3daa950bbd327f6bbc6e4791ba56cef9bc207b26bd470aff3b81599cbb2ee2c2bce37503bd05993f3c08b9a9bc34c98cbdef542abd177d0c3d11e910bd7068b6bd1b7e28bdc0e2383d1ed52bbda562b4bd55f3f6bc12622c3d1f2645bd5b22a3bd3da8adbc39b8293d6aff30bd418e66bd3db535bc5805023d709b0ebdd51213bdea876bbad274b33cbf9a9abcdc5b45bcd65e9e3b24f6143c48e6ddbb877de33b64970c3cb2427f3aaf76b8bd065d553fb899ea3e158eb6bd4d0d94bd92fc553fc710d23e360dfabd78a964bc357d403f83dda83ee34900be5652c23c3335223f992c7d3e50f6f7bdfccc463dae40013f69a32a3eecb2e2bdf6714e3daef5b93ea610bf3d06b2b5bd284b293d322a643eae5be23cc9e776bd0e9cb83c142cb13d236c99bceadaccbcc531bb3a8a56a3bcc5f43dbd1c8d9abb0350aebbaabd99bcf0f91ebde343343c286c85bc817a7ebdaa8260bd4595133d668fcfbc31a5a5bd528256bdeca3253d849012bd4c03b2bdb01e37bd1611423d87ac0cbd27de90bdd71604bd180b013d237321bdc2aa7cbd68569ebc3a99173d6167febc5f6715bd6b51e9bbf278c23cbab8a2bc54885dbc2fc6623b6dca3e3cd4cd1cbc597ec33b7671293cbe930e3bbf8baabd8121283fcc0b243f270cd1bda43085bd7b8d2a3f095f173f903612bed4c18abc1c691b3f145cf73e58ed0cbec502823cb49f093f22ffbe3e6d9b11be97ba253d012dcf3ec2e2883e6886dabd675d2b3de421a53ef89d243e4d8ed9bd3a4c0f3df0cc4a3e223a933d52aa92bdb9bca93c4f0da93dbf5dc7ba99d813bdb4d6cc3ac2c82abc06c74abdb3f134bc046cf2bad4b098bc5da334bd3bfa323c20882abccb1075bdc73d8fbd5b5d213de05798bcf4fba6bdfcde8cbdeaae3f3d13b6e4bc6706aabd54a56cbdd66e3e3d434403bda8c69cbd54a135bd61a0373db42006bdbb9175bda9bde0bc2560153d05d7e2bcb0681ebd7b9e3dbc2519dc3cb5ce8bbcbdab60bcd45e8839eb73533c5ed629bcd16bb03b251f0c3cc92b433b442196bdd342f53ee10a523f38b0e6bd672578bd7b37fe3e904b463fdf0722be7ca6a7bcd30ff33eaeb4243ff62f21be348adf3b8fc2d83e0c96003f053919be51f2f13c1e6cb43e56afb93e5fd20dbeadce053dccc4883e83c46c3e574ce7bd3a7dee3c13932e3eeba5e43dc98da8bdd21a8f3ca61f923d5e24583cf92922bd4b85713b18531fbc71e359bdc21d31bce4daa13a22e08fbc13b755bd9475863ca4f283bbc5d067bdd898b0bd5abd303d3b2249bcc75390bd9738a1bd2bc5213dc80b99bcf91ca9bdf29c93bdc599443dcf1ebabc2b8792bd34bc5cbd24521e3d8af3c6bc7e9e74bd922916bddc8b193d3ceaabbc30fb26bdfc4ba4bcff25d93c767457bc76005ebc5a3b21bbc581453c61ccddbb907db53b856a0c3c73db1b3beeea7ebdd921973ed9587e3f90a4f5bd111046bd70c8a43e654e733f23782bbe049b1abc1941a43e75bb443fa35713be58d0903b0208a03e8d73203fa10e20be5abebb3cc42c863e9925e83e7adb05bece98cb3c4396573e2b38993ee7a2f4bd41f5ca3cdf68083e0ade243e5a72abbd96e3913c2d595b3d67a1dd3c16151dbd94ae1d3bb54531bc7a9964bd5d5af9bb1f9d513badd5a4bc11348dbd7b41603cc9963a3b606d66bdb558d0bdeeb84f3d262081bb477e99bdfb4ccfbd15c44f3d2ca132bc307aa4bd7fa3b2bd3272483dda5b86bc81e198bd443e89bd601e333d023d82bc92b073bd35e73fbd2a26193def8f72bc44581cbda839d4bcd267e73c615fdabb6e9e3dbc4a9c9ebbf349273c47cfe8bb1098423b0824113cf560843b2fb631bd21dcfa3d3462963f17dae0bd40c601bd1d1e183e0c2f8d3fcacb27be6d192fbc705c433edf0f6d3fc42f20be1940b73b15394e3eb64e3b3f42af16be67d39b3c61d63d3eb10f0a3fd83c07be5f77b63c46261a3e5aafb83e73ffeebd40689e3c0e2ecb3d3da1413ec828b0bdc4287e3c651a173df3de1e3df1860fbdb90b683bb71961bc7fb98ebdd77e6bbc000000000000000000000000000000006faad33b7cac49bd5d14cebd1652c23ca012613a997982bdaeb0c3bdd9e10a3d0fbd50bb527989bd72ffa8bde0dfe13c1fb4c1bbd15583bd5f0890bdd8d7e63c750619bc25695fbd0c8d53bd5880e23c32df05bcc3e616bd41a3f8bcd843ab3cbf86ffbbef0f94bc78c434bcf7147e3c0000000000000000000000000000000000000000000000000000803f00000000dac631bc989dbd3c7b91953f1de8bdbd2f64b33b68e88d3d8d20783f7b2bccbd68e7963c2c78c03d5b15473f7852c7bdb50bcb3cdcf5cb3d2a17173fcdb9c4bdb619c63c169eaf3d2919d03e03c0b7bd5f94a93cc6e56a3d97ca6b3e975690bd500a6c3c4fee9f3c11a6793d731449bd0000000000000000000000000000000000000000000000000000000000000000d25a8c3c052b52beb900533d896dfcba1a5a28bc6d563bbe82a4f33cb9da693b9153e1bc203130be28a6743cd4a5cc3b681b0abd23de09bef7ef3e3c9d70083beb69febc7681b7bd2b68ac39238e033b280bb9bc613f4dbd4e8f8abb82138b3a4e0714bcecff2dbc205ab9bbca0513ba00000000000000000000000000000000000000000000803f000000000000000076bce1bdf94bac3f4b0626be80b6c03ceb1acdbceb1e8c3f2e61ecbde21ea23c02ea6e3ca0976a3f1612cdbd112e963cf9cc393d68862b3f394a96bdf8a9863cc564823da3a2d73e518f0abdf0c3733c5757823df24e513ed1fb4f3ae5a4953ba193343dc063e2bb90fb003d174a4abb00000000000000000000000000000000639efc3c44f701be05fd183d129759bb9da0bb3c811b26be2da7143d5ee26bbbd0ff073cd23d50be0264e03c18a29a3b6912bdbb8f7140be11f4763cd608d23befce84bc229f1ebecc92fc3b5e3eb93bddbd85bc971ae3bd250c03bbb0f8a63b22045ebc26767dbd02f5a9bb7db8483b6a7c16bc1227d9bc8677e6bbc3e2533bcf28d23be30ed93b923fceba75bc07bad6d758be6b8aab3fdf1126bb1b94ffbbe38810be3c81963fc478373cdb0d18bc8e5ee8bdc0b38e3ffd6bdebcf1dee4baa67d77bd184e6b3fcc22d5bcc3b8d23a20cc57bcad2c303f54339fbcef1ddc3b78528d3c6910e43e8e743b382cf54b3b0e350c3de1b05b3eb8d4ac3cfbaa4e3a4b8c183d45343e3dfae3073d4913e7bb9be7873c0705f1bdb83ef73c6cda13bbb529a53ce87c9dbdac674f3caa2a823b2182c83cc7f327be876a563c7d10063cee5b2e3c40c643be8488ce3b02da193c2a58d03acc7e3ebeeee4f83ad987f43baed094bb810e1fbe717b86bb7b62c43bf7bcd4bbd61befbdb49fcebba3d3ae3b6e869dbb7b338abd9514f0bb20883f3bfd8d6aba569402bdd37126bbfb10f03a5f89ca3bcd7596bb95aa8b3be4d1093a68714dbe4fda8c3f3872693e28cb62bd157544beab8c8f3f39832d3e639b3cbd155319beea2f853f3ed0e63ded55fbbc12e2cebda520603fe7509f3de9cd8fbc275557bd5bcf2a3fc4f2583db9c7c6bbe7ce77bcc2dee23ecc08343d172fdbba387a593c5a12623edbc20c3d812428381975af3c9b4b443d7c02e43cb8bc0bbaf50ff93bb8b278bd477deb3b91bc8ebac798803c309d80bdd19d19bc0f10663c0838be3cd7fb0cbefca0b6bccf5fab3c95799d3cf9ff2fbe9c97e8bc75a5aa3cf1632d3c5ac62dbe429ccebcb3184d3c281b113b8ab01cbe5f2a9abcdec22a3c0429263bee02e7bdfbf687bc6e20ce3b8f84243bc8c990bde05c14bcf9b8633b1687673b397c11bd5a8674bae405313b763c9f3b148da8bb90eaf53b37a3db3a88aa48be95b06d3fa645e83e456cd6bd315840becc8b6f3fc91bcd3e472ccfbd07af21be7716643fd6939d3e7a5d9bbda303ecbd0eb0453f9aaa5f3e046541bd053f9abd117f1c3f73bf143e730abfbc2f3501bda9aad53e665bb83daf801dbc99c49cbb8714663e72b74b3d465a56ba6c20e63b0cc4843d1d5d593c530fe83b73405e3b29153bbd20cda3bcb1fa443ce390123cccf114bd5cb922bd3676e33c9edca73cb469d2bdedf67cbd13fe043d4860ae3cce2b0ebe56b592bd0fe1f13cf10c903cf63116befd1681bd7306c13ca073cc3b7f30febd765a27bda452313c7d9d1c3c2fcdd9bd6f87f7bc7c51da3b69a7853b649d83bd2a5164bc3ae9c33bf702e43b848409bda2b17dba0805c93af02bfd3befd2cfbb5cb6253cfa33143b94aa1fbe2dd12f3fed9a353f9c9522be626121bea0ad353f53a6243f44d51abe951a0ebe883b313f1ea5083fee8bfabd84d3e6bdff6d213fc459c83e3a7ba6bd763b90bd49dc013f615c833efe4b41bd70cc4cbdde98c03ecf60163ec23071bc3c9267bc0ee4573ebaf57d3d7be3d03a7e5ec3ba99d19c3d01dab23a2f1d7a3c2b91063a394de4bc0e7048bdca6caa3c0f3ad83b90aa57bcc28d84bda7b50b3d7ea0a93c496993bd98a6dabd1e62443d60f1de3ce949debd3bdae3bd9ecc1b3d9d47bc3c50a8efbda9c2c8bd9bafde3cbb04b23c6651f3bddfbd95bd4103af3c9a2e6a3c732cc1bdfd3232bd3a61063c9bc7243cf89c86bd49d2a2bc6269893be705143c1d3c08bd8b797abbc4a83b3b3fcfba3b1fd899bbf318623cc973933afb0adcbd149add3e52be713faf3e43be0bc2e2bdf4d2ef3ec161613fb09844be52bcddbd1505f33ebb983f3fe22721be5ec8b9bd38cee53e7258133f1040eebdc1ce8dbd9459cb3ec1c2c63efe8f8dbd81b13abd12c89d3e3e04613e74e0d7bc5eccbebcfad84a3ede01ae3d234eae3bf0c5e8bbc00aa83d485ea9bb8a07bb3cb03661bb0fe804bce67795bddd42e43c423a013b22dcbf3b53b3a5bd80c02e3dd0ec803c45fb0bbd07f113beeb7f6b3d1dd6df3c3bae8bbdcd6622be6047483dd74be93cc022b0bd60420fbeab8c103d3d42b93ca0c2b1bd5b40d8bddc3ac03c1960b03cb75ea2bde76b88bd8baa6b3ca4bc553cd62c5abd82d2fbbc94ba7a3b49a6043c18a3fbbcdcddc3bbec6dab3a4b83b03b22092cbbbc58443c600f3d3a6a1b59bd313d543e4e858e3feea84abe059675bdaa056b3eb4708a3f813d57becad97bbdaead823e8068723f42e43bbe7b716dbd4363883eec813d3fa7560abeff1741bd38e57f3ede73063f0052b5bd142115bd7f42623e14a49a3eb14b1dbd9c53a9bcf609243eb6ccea3d3ad1693b5e124ebc6fb1a73dc959d3bbb219e43c55d828bbf0cac63b7411b4bdd917173de4cf81ba3d68e43c617e08becd83603d1944333cfc8c8bbbdeda25be59cf6e3d055bd13c5ddc0abd803844bedd2b543d192df63c5aed63bd85ad31beb5a9253dd987c43c95ad75bda8180abe446cc23cb62ea93c64bc63bd80e9bdbd5cf55a3c974e593c0b3a2bbddf9f3abd84306f3b9c07e53ba839cfbc98636abc14c77bbb06c2d43a2c573039be928b3cefef36bbd63aafbb6c8684bc0be3ab3f23ac53be455bb3bc1c7e763d7ea8943fc53b32be34a7f7bc11169d3d55ca893f91b92dbe395af3bc2ae2e93d53c95b3fac3303be178ce0bc5987063e84111f3f3628b0bd5a11b7bcab37023e8a71c53e99f025bdaf3180bce8e9dc3df8b7283e795ce53a202233bcdcc38a3d2f518f3c89a0ff3c3c283cbabae8613caf0508be12a8433d000000000000000000000000000000001aec723c3ee9083cb9e255be80d2693de157ca3c2ca7b2bcdc2740bee9b00e3d8d83d33cbc3726bd398b38be04d99f3c2360bd3cb5bb2dbdd8b212bec431783c7a1e9b3c48f523bd0063c4bd640f483bfcf5263ce00bfcbc4c0656bda2510abba8542c3b39242dbca3ff1bbc782a91bb0000000000000000000000000000000000000000000000000000803f0000000045cb593c4034f3bd63ebab3f9db618be2420a5bb3cf505bd032f8c3f932ad9bd6df415bcd562b43b214e6b3fe241b7bd5af40cbc1047193db2a62d3fa13884bd47e3d5bb59615c3d33a6d83e8307f2bc23057cbb36fa613df2e8543e4320b2b7c59b89392f68243da36dccbb3d46eb3c0000000000000000000000000000000000000000000000000000000000000000d5f799bcf0332abeec73863dfa0461bcb5128cbdc7b1f7bddca5673dbdf350bcbecbcebdd5a2b8bd1db5193d91cda3bb1d77d3bd56e46ebd76ccd73c0508a2bbb73eb3bd7d97edbc60bbf73bda0aedbaa5dc6ebd1d1a4ebccda05abb8728473b226ea4bc494bb0bab95021bcb875633b00000000000000000000000000000000000000000000803f00000000000000003402aebdd7a8ae3f56d970be5aa0503d1f711d3de8788c3f385467be86f65f3d5ec4f53dc288603f832d59be84e66a3d7a9b273ef3991d3fb7fc30bef022673d6f6f293e75c8b93e9750d1bd77ea2b3d6cce073e262e203e6da80bbddcd6a83c020a823d27cd9cbc9eb4da3cbfad713a0000000000000000000000000000000022c2e13cbf1aebbdf432143d8c88f5bb09770e3a92c80cbed0324e3d66a053bcaf0c32bdc38c17be8c544c3d4108cdbb048896bdfd10f0bd609f2e3dd83d9abb7b02b3bd23b29ebde92ece3c1dc0edbaf1f6a3bd60e435bdd9092c3c1f6f1b3a94e651bd00b2c0bc2d56c6ba49e3233b2041f3bce025b1bb07d20dbc11ada83b8e86043cbb84b33b10b715bc6189353bef4d5bbe1386ab3f3d3644bc030c98bb36eb01be18c8993fff397dbd8a40613ccda783bdc1de913f3c1912be0be5093dfc82ba3cb7736c3f9c9626be6298363de150b03d08cb2c3f6e6115be7811483dd8b7e33d025cd73ea4dec4bd8a6d233d0e1cca3da9cd433eace404bda372c83c40d1853d88ca0d3dfc42493ce1f3453bac44993bbf5edcbde5b7183dfd459cbb6cfbe23c5a3f99bd43fc283c36f5743b66f48a3b08fe0cbe1290f13cc6ca9fb784d6f1bc07fd17be7bde113da98c293bf1766dbd4f7c00be789ffe3c46c67538b5fb93bd15ceb6bd662ebd3c0290993a1e8e81bdc8a26dbd3e551d3c7ef4f33a699f38bdaf4ce6bc3fd288b9c929153b3998a6bcb9830ebc87710cbce072993b3f7da03bed7ca03b8fdf1cbc54c0423b1f2856beb18e8d3f54cf633e19fb70bd406f38be32c8923f6744d33d8acb0dbd0283f3bd1cee8a3f0e5f06bc75f919bc5ff828bda47e6a3f656e98bda52bb03cb721f53cf436303f622bc8bd35d9003d110d753d0478e83e6416aabd8f44213d9be7943daa93603ef3f536bd9f20fa3c2567463dbc6e353d184584bbbe8f803cc37fda3b59c08abd766b4d3c770cec3b8d75c33c140a79bdfa3f67bc5ccc853cd9277f3c43c602bed6baaab934f6893cd0eb4abceda616be495b613c99d62f3cfe5b21bd1a4d05be8273823c868c0e3cfc2e60bddfb1cbbdc3e7853c4a018a3b56cc55bd411183bd31d3063cd2425d3b957a15bde15c00bd9b133abbba997b3b4c7f6fbc47a92bbcdb6f19bcc46d9c3b8defcb3b4c73073ccbe710bc2e381a3b5f384fbe7b026e3fb164ea3e4d7fedbd675246bef1b57b3f2174a63eb65ec3bd7a5619be951f793f416e2b3e507360bd5c63a8bd8ffd5a3ff15d443ddc4581bc8919bfbcc316303f9b6c1dbd5961803cbcc6ca3c69e8ea3eb9bd57bd196ee53c1a6b383daede743e4e952cbd9ec0013d46b5153da95f823dc64ab2bc8d85de3ca435d43b37337dbd939654bcbcdbb23c882cad3c4a4520bd34892bbd39c3f33c4c06b13cc6bcdabdee6d14bd9f5c033d3d99393bf4ce0fbec9e78dbc0a17db3c75fbacbce97c09bec9b9fb3a7de75e3c91962bbdce39cabd435f873bcade1d3c37b022bd02758cbdc5c0833bd316773b8a80e7bcf49006bdade6d0ba91b2de3a95474ebc9a3f32bcf5f414bc61677b3bc445fb3be1de1c3ca098f9bb0fea2b3a129d2ebe6c15313f00cc353fa7082cbedb0e31be2b64453f2214123f76c220be27461dbe37c74f3fd9d3c33e8db1ebbd3061e1bdece4433f40e2473e735572bd98a21ebd66ec1c3f54cfa13d8217e4bcda6a28bcace6e83eb21580bca0ab953c8a5ac93c0d89763e7d650abdbb1afb3c8ab0d23c28979f3d19d60fbd3c69133dcb0bfe3b084342bdd7b72abd4046183d9ad3933c841d98bc254e8cbd44fa1c3d3ffac33c57e6a5bd10bc9dbd3ba94b3d61feaa3c048403be5dc466bd64f42a3d7a0e43b8bfba04be2091ffbc7eaae23cb7b79ebc067de5bd276325bc8f78753c8328c6bcf6b199bdafccbcbbc78dfd3b0b2ca0bc1c1e26bd4515aabb1382493b46e1b4bb28746dbc3f25fabb6f36103b6aaad63b5d252c3cf9a4abbbd6fe70ba83daeebddf74e03ecc59723fde434dbe93f008befb4c083fc9ea503f265f54be3d2a0ebebb8e1c3fe5981b3f96262bbe085ae6bde9571d3f3c56c43ee98edfbd91d498bd48b00d3fc0403f3eeb494abd7d4310bd1f87d43ee94d723d4a2982bb2825c73aada3793e4c4c71bcd3b6e63c2dee523c6498b93d228e3abdba172e3d61b3d83bf7af14bdf1ba80bdb7e53c3d6601293c06d7b03b79a8aebd30813c3de845e03c256068bd0f55efbdaa8d803d4dcafe3c02a8dbbd523dcbbda7f7683dcd2c963c3875f7bdd9ae88bd91f3253d495d283a5271dbbdab9c17bde42fcf3c7fffd2bba97ba4bdfa5c94bc11f73a3ccf5e2fbcec2937bd551c07bcfa8c853b6e0eb9ba4d7e88bc1a9ff8bb72519f3aeee3073cd2f4e83b72f108bb5db155bbd6e16cbd0146543e4efc8e3f205152be4225b0bd32cb973eb80e843fd19d6cbe696fd2bda9dbc93e42b9543f18ee59be2ca5cbbdb47fe33ec651133f90671dbed0a496bd5e0cdc3e9983ae3e230ec5bd61ce4dbdee96b53ecb36193ece9d01bdcf335bbcd0b8663e731dba3c85915d3cf8858439895dc33ddf7f35bd2df0273dd96db33b772e8dbc3c26a1bda451573d2a91c03b96b1c13c7af708be83316f3db557dc3c446ad9bcbdd715be1718923d3cd1223dad95aabdd4090fbe15e2873d929f013ddc63d9bdb6c5cfbdc105533dcf558a3c9ebdd3bd4dce84bdd791073d54fea93bc142a7bd83050bbdf3ec8f3ccc283dbb3e3940bd5f167cbc17508d3b7f4d8b3a4930bebca3730fbc6b6c39ba72a6be3bdd462e3c48da7b3b951fd1bb52cea4bb6288c0bc0b77ac3f1c0657be262316bd3bc9c33df183933fa65f5bbebdd28fbd0acd463eb667803f77ec60be630ba1bd5b4c8f3eb1573d3fff6238be554e93bd36089f3eacc4f43e4b05fcbdc78258bdab798f3e33597e3e2df875bd2465d8bcdde7453e1ff9953d6cce6d3a44d2f1bbf049c43dd36d85bc45fd013d997eb13be7742dbc288df7bd18fa783d000000000000000000000000000000008885fd3c384cc1bc6b2142be52da943d3d6c303d916896bdc1bc17be87696f3d50b6223d905fcabd0173f4bd5f32343d4c0fc93c3035c6bdc5cea7bded720e3d0e7a413cc4ef9cbd68f63abd426d923cc16c633b687a40bde0059bbce8ba3d3bce192abafa0c6cbc16dca8ba2b9523bb0000000000000000000000000000000000000000000000000000803f00000000575663baf969bfbdf50ead3f3e5045beec4814bd80445e3d6ee4893fb90e39be06e363bd2992183e86705a3f9deb2ebeaa4661bd186f4c3e876e163f48590cbe9b8631bd3f414a3e8e8aab3e95a2a8bdae62aebcd7e41c3e72e0073ebe86cbbc201949bb9458883dd50804bdab07c53c0000000000000000000000000000000000000000000000000000000000000000f6268ebd8087c9bd6f28553d1049f0bbc760f8bdb9f612bd38c8403dc74865bcddc313be40850ebb946d013db3db3fbc43070fbe9cf4de3cb55c773ca22c2fbcb10de0bda691103d3c2b95ba6c70c4bb3a1a85bdb44bd63cff0150bcff4067395b658ebcb1b7273cdd034cbc280ff73a00000000000000000000000000000000000000000000803f0000000000000000ca9b1abd1c73ae3fdc6d85bee459f03cb946d13d44a7893f1a2992be8ad1443d969a4c3ebfaf4e3fcad088be5a8a5c3d8c2e773efa97073f45f462bee988743ddde7693e53988f3e55cd17beb30d583db2b32c3eb8a8a63dffe853bd49dc063d58a5993d79287fbd7f09c73c53a9113c00000000000000000000000000000000608e4c3c017cd5bd32d6d43c6d4d0e3b9ff637bd9c1dcabdb1bf563d0ee242bcea17debd57e36bbd94be393d52a126bc24210cbe06363fbcce69f93ce0e21ebcb6c90abe1e1db43c3eb34a3c5a7505bc9847e3bd2bd80a3d30b7f3bb1d62c9ba5d8a8cbdd4d4d23c1e7b55bc1792fd393560c8bc3b09b53b8d4719bc8f9b3f3b48774c3c858c8a3a803a11bc3f259b3a67844fbe7318ae3f8ef0dbbbf0bcc3bcfb0c04beffe1a53f78fc1ebe9b38c03ce666a33bfdcf913fef3765be7015f63c6e68fb3df4785d3fce7c70be02f8333d8ea3453e135c143f1b3853be4a14503da73b4e3e0147a13ee4900cbec56c4d3d38af253e6956c33dc70f37bd1d72f93c7dcbb53d421f14bd193bf63cd91e863a3434eb3ad32b01be3262483dea643fb94157c43cf68cadbd025c4a3c9a86be3b02d7dabc230fe5bd8635273dde7c6dba9978aebddc47a7bd6a2d403dcdd78bbba84bf4bd3a6c05bd1871113d7a2ce8bb9f4cfdbd1aff853a0911ae3cbc71d8bb0b7ddabd3ec1c83cdef8323b0b049bbb22f38bbd29a3d03c68fe20bceff856b94ac0dbbcf781583c5b3a52bcf2c6fa3a0f66173c6a16903b65da4dbc958c113b5e2b5bbeeadc913fb95b613ed22a88bd54152cbe8cb7993fbcb9413d74fd31bd3ba150bda3028b3f68fd95bd7505b7bcc93c4a3db5a9623f273d1fbe0ba51f3c2600053ea4471e3fa51025be0d40c43cff571d3ecc60be3e8c0b0cbea10f243d33fa0d3e32270c3e622589bd3264063dd480a93d1ecfb8bc8950a93bdcf4813c184c8b3c2cd9d9bd55fe0c3dd4ed013c7416f63c2182a8bdec3207bbd0bb693c4889f7bb16d7f8bd21ace93c11a9233ce8c486bd6feacebd6515333d74df7c3a264ed0bd210e62bd90b3153d1eca5cbba5f2f0bd488438bce34ee83c112002bc0798cebd843e533c0629fc3bf2f2a2bbdb0d8bbd092dba3c801bf0bb2170bbbafc3ac9bc2c8e6f3cfe6771bc7369c83addb2e83bd790353ca7ae79bcb148e7396f0a55be80d1743f0f4dea3e9daffcbdeffa3dbe4883853fb1198d3e8923ddbd2f86ccbde2c1813f35d9b53d782b8dbd2d740abbf6085c3f276234bde819e0bc2b859a3d649d263f7777f5bd180eb93b2bf0ed3d8461cf3ed3cef1bd491bdc3c02faeb3d74022d3e01c392bd292b033d658ca53ded9716bc778e26bc2292cd3c997bc23c72d5dfbd04e16a3c2b19b63cc329123dbb4f98bd561cb3bc8f5ac23c1655f23b80a700be972f4f3cbd6da13c8e7a22bd7873f5bd20c0033d292d443c9537a9bd47a19ebdc8ae273d7b468abaa37ac0bd8ffc20bdb5aef63cc81d07ba176dc8bd539c6e3b3e57863c4055b8bb052386bd1653913c70be27bb499f1abb3e3db7bc2732783ce8b767bc3ad64e3a67b3f03b3700893c7f4494bc31c2af39c8773ebe89463b3f52a0323feb8d27be903433becfd4563fd794063fc52a2cbeccd0edbd41c55f3f2c7b973ecd4603be95b536bdb2224e3f8503b83d737192bd5e664b3d558e173f28073d3c93d94cbdd617983d1d55dd3e2263b7bd3f4fe93bcba7c13d2b7a463e71c893bd1150d13c2160913d8b031e3c0bf1d6bca49df23cbec1e83c4219d3bdcdeefebb4c02073d4f09213dd79383bdb3a520bd7cd5e63caec8b23c7a1efcbdefde52bc16a60a3d3d8c8dbc87c90abe79dd963cb8b8af3c9ea464bda8cbd5bd01ca173dde37e13b57ddacbdbe7e62bdc2a8143d204731bbf8d8a5bd8ef494bc3e5d9e3cf9a252bbddda75bd53d9193c1154763a2d021cbbe8b0aebc24da4f3c249b54bcf0d6133a12cf933b0e6ea83c1b208fbc748398bafc0815be2675fb3e8f446d3fbdee43be12b919bef0671c3fa114463f04bc5fbe7c3201be6382363ffd30033fa0c235be0c4a93bd41ff333fae78853e1a36f8bd50dd36bccec21b3feb5f8a3d715a81bd3aa2123d47e0dd3e47dc0cbd821c6dbc5e78863d57945f3eb18b80bd2fae953c6994753de6d6fd3c59a31dbd8f20073d59d0043d470ebbbd8063ebbc89261e3d35f4063daf802bbd055e64bd0c12123d2909033d2f3be7bdeec22fbd6254363dc783b03bc5e214be9561c7bbb2490e3d21db00bdc7a2fbbd7be2b63c14208a3c89ef70bde755a4bdb7b0ee3cd458bf3bec7c89bd29d111bde85ec83ce30b56bb0ed55dbda9333abb8e74b83b70dbabba8f4196bc7112f13b70d01cbc26f07e39dba8de3ba74b973c6f4a82bc231dafba17d9b3bd22017b3e5b328f3f9b7c50be0359d9bd7a5cbd3ebd9e803fc8777cbeb07ce7bd2359053f3cab3b3ffa1b60be4276b1bda023143f0e23e13e3b6f25bec488f8bcf3c1053f01e25b3e1252dabd77dc843b56ecd43e5fea113d85cd24bddcb92b3d39656a3efb2d11bd8de9cd3a18a0323d4ddd5e3d044b41bd19fefb3c1f77e93ccd6e93bdd10136bd5f45303dcc440e3d3ca4efbc7327cbbd5157383dbf20113d8a15bdbd738296bd9ceb6f3d6d3ec33ce69516be1a3406bd4cc8383d15eb31bcfee40ebe6893ef3bd75adc3c403426bdc3f4cdbd3a19ec3cdd2d113cb47c56bd575067bd5844f53cd806d7baae003dbd4d0d6dbc7127473cf56c66bb712d3dbcb1e7bdba5fc725bc49f7ba3ab907ff39c6d7c93cc48813bc8e60a6bb3d0c22bdcd27293c0414ad3fc87851bef2dd51bd5780003e5b7b993f1a5285beebb8c3bdc797a73e28996e3f2b0477be3cd4b7bdff6ce33eae9b1d3f487c4abe502169bda0cce93e5d8aaa3ee1050dbe5a2db6bcff81c53e562af23dd17291bd7ed7643cbcb9763eb47f61bc2fbf16bc3f2bd23c5a7ea43d35bb3fbd6b4ff53c191def3c6ac471bd681bbcbd2dc0413d00000000000000000000000000000000428c343d1f0cc8bdd92cf0bd1d6b813dc2d0083d02aa10bea52273bd0e575c3d3517323cf4bf13be98a6c6bce80d183d9b1d66bc13d5f0bdedccb03bc6ffba3c4d9609bd9b3397bd256ca03cf20bf93b0f4a06bd719e03bdc4978e3c9c0dbfba1bd9b2bc22dbc13b297dcf3bfc11abbb0000000000000000000000000000000000000000000000000000803f0000000006da24bd0c999fbc431fad3facbb5abe78de89bd83912f3ef18c853f512e5bbe4e3093bde674973ed2a2413f6bef44be6f9e5fbd6e0cac3e71aaf43ed83421bea5f4b9bc64ed9b3e0e16723ea29bd7bd169e663b1dc7573ed065773d8b1a2cbd30aad13cf26e8c3dde8373bd9e16103c00000000000000000000000000000000000000000000000000000000000000002020023b21b1a7bdb902ffbcf4c0483a3e36b8ba33219cbdbd04edbcd6d281b9141a41bb7cbe84bd702dd0bc172748baf665b8bbefbf5bbdbfccadbcd892b9bac8a4d1bba05835bd3c028cbc61a0ccba924304bca55205bd0a691fbc59a8e93a22fcccbb29739cbce82465bbd4de883a00000000000000000000000000000000000000000000803f00000000000000008bc08b3bab258d3f976f9bbc0bc2a0bbbfa5823c7af56b3fa33010bc23f34dbb7780a83cd89d3f3ff85c9ebba616a0bbca7a923c3748143f6601cebbaa3799bb008b433cf972d63ecf7a33bcfd1ad5bbab1e973b900f853e920988bccfbbdabbdc2196bbbadcd93d6b19c8bc704ed1bb000000000000000000000000000000002b8c053c042146bd59afdbbcee1887ba7ff5ac3ba66ab0bd66cd1dbdb91b993a2ff7663b90b5b4bdfd5827bd3a1557bafd816a3a6819a1bddc8c1abd751a05bb33bcbcba45987dbd5e92f4bc16a0c2bad3066abbb0fa54bde902bfbc7883a1397e6485bb5d1519bd691869bc6598be3a58f800bb6b009ebcb6363bbbff4e573b3b8d03ba9bdc67bb3f148e3b2a4b373b00b102bd89408c3f1977dc3d36af99bcdc8eddbcd17d853fd20ecc3de1fe9bbc9226c1baed09623f59c9bc3d97e368bcd6bd023c0947373f62e99f3d45fa50bc242e1e3c8ad10b3f7b9a723d2fbb48bc4a21bf3b3d0eca3ee7a3153df74859bc1dcfb7ba2f2e793e6d13453c492e5fbc97e133bc72b2c93d89fa3abcd4d53cbc8a4f42bc7288aebc3e48d4bcf8a021bcf887133c1c27e7bcd568c1bcbeacaebb5bee2b3cd1d974bd2ad72abdbb3783bbafb7ea3b0ca972bdadc12bbd1e478dbb10f0ad3b385380bd4ed42dbddef980bb2a26113bedea47bdddbb09bd07f746bbc8d8743a427532bde469e8bc24eb9bbabf0a69b9690eeebc6abf90bc7c76323a25927d386c3587bcb59fe6bb815c353b3ce0c03a21c52abb8124b53ad427533b468a1abd219b6a3f8e4a853ee3ace5bcff2813bd3ac8623f94c3763e044f01bdbe535cbca14b3b3f8cc65a3edf66b5bc485ec0bb72e81f3f183a363edf7fb5bccb9c19ba9b6ef13e474f0a3e2a938bbc225146bb6cb3b23e3decc03d9417a5bca4ccc5bb916a603e8fe75a3d243c97bcdfd037bc471ac53d69bb203cc64398bcd69318bc4e5401bc1e049ebc817f47bcd6f9ce3b5f9499bc2eccd6bc423cf8bbbfe41e3c80ef2cbda0eb3bbd7cb90dbccbc9213c75c155bd752855bd89f80abca77ce13b138249bd72464abdfcc300bc2fe8ab3b7a282ebd948326bdd462bebb89c5393b57e512bd538604bd93572ebbf8c9983a41fbd6bcadfcb3bc747b173a6f15423bd32563bc057820bcf87b5a3b4db21c3aa10d3fbbf327c8b9a5336f3b3ac311bde0ad3e3f2862d53e7e8f01bd0bf717bd9cd6373f75fec83e453e1cbd8508a5bc3af11f3f9843af3ede41f9bc418c52bc21da033fba8c903efe88d4bca35be8bb9108cd3ef454613e3808c6bcc773f8bba400963e02f11e3e51eac8bc3fec12bcad063e3efae0b93d8602d7bcfa1751bc4666ad3d2cb4fb3c5a61bdbcc2b710bc188012bb933e7cbcdeb381bc0226b93b455838bcc586e6bcecf00dbcf7570d3c2263f0bc73d150bd409642bc9c97043c2d1d10bd3b7d5abd9fdf3dbc12a1e33b504b1abd2a2963bd6d1f1bbc3d488a3bc3cbd6bc0ba312bdbb34f1bb62a9e73ad4f5fbbcdcfa1ebd54c14abbe8a0ca3abd78a0bc0dccc5bca397eaba2ee8633a975152bcea1c4ebc38de333b302b8a3ac2f15ebb3563fdba00ac6a3b728408bd1732143f33ad133f6f5b12bda86c09bddc780d3f31bb0b3f953b29bdfb0596bc8982f43e7904ef3ef044fbbcea677bbcebabcf3e435ac83ee323f6bcb99bd8bb29b39a3e1772943ebe98a6bc2b0825bc927d713e85e65f3eb863f0bcb0293ebc1068173eaa01073e7749e1bc3ff75bbc135e903d205a533da3cedbbc02a133bc6cea8a38a0df65bcb11498bcdc03143b1deec3bb810002bdafdb3ebccef1d03b3affb2bce2fb78bd912e89bc032bbb3b64dfe8bc45658dbd8d7a8cbc6bf8be3bcddefbbca32781bd11e466bcfc82983bb2eae6bcec5557bdcb6d31bc088e463bf9bac7bc865b2cbd2dc8c8bb34b9bd39a83b9fbcf40ff4bc934cbbbaa1961bbae51830bc2f3c6cbcf87f7a3bfa3eeb37739f59bbc9434ebb5b08c93b1ff0febcb8bad53e04cd3d3fabbf20bd28b607bdfe65cd3e7eec353f03d743bd3d6bacbcb911b63e8c701d3f018810bd4adf64bc5ff8973e5787003f11c5fcbc61ae40bc2802703e930fc63ecaece4bcb4b036bc888b323ec2b58e3e4e6b00bdf96355bc1ab2e43da7ee2e3ef86506bd4dc76fbc71a3513d24998f3d96a707bd1e9130bcc04287ba938c46bc58ecc3bc377085ba88959bbb7e1926bd2e4b63bca9805e3bc99488bcd73399bdc864a9bc5d289b3b84c7a9bc2c3390bde6e39abc4ace893b2dafc6bc1ae496bda9749ebc75a8373bfe69a5bc8c2e5ebd5c8177bc0be0863aeed0aebca20a49bdbb6d1ebc10c808b82c2079bc5e2802bd15f75dbb9b5fdcba4ff71bbc25f38bbc9795733b61de24bb36a226bbc8553fbb05fcba3bc1f8debc39ba853e5ff5693fda242ebdfe19dcbca42d7f3e7914613f2eeb45bd8c4477bcb192663e0e3d393f70faf6bc825f47bc23fa443eeae81c3f16d3e4bc62f507bc49df1a3e7710ec3ed557bcbcaa1543bca126e93d7c3cac3e86e1f6bc18343abc7d6b943dc2f9543e6acbf5bcc7ab7fbc84f2f73c24ceaa3dc5141bbd291c54bc878e75bbf4a092bcc6c3d4bc874df1ba60bbaabb6bb666bd6bbda1bcc9cfa93adf6558bc7e22bfbd3d1acdbcf1995a3b5fe38ebc3b43c2bd27b1e8bc2c0c5f3b3d2e9abc8cebabbd3b86d5bcc9602a3b551e9dbc93af87bd855ca8bc403e753ada5f8cbc764262bdc9546bbc44897eba5cb462bc8d6b1fbd58fad0bb66a4f8baa243f0bb145ea0bc6b1c733b8b3072bb670a1cbb35e146bb3364e03b19009abca316e33df3158c3fb9bd19bdb3f287bc478ed83d6bea843fd0ea27bd37510abc65f2d73d584c603f6939b3bce25fbabbfa54c03d1247353f8b0e83bc3c80a9bbf74b9d3d7c1c0a3f8e6581bc97a9f1bbd6086a3ded65c63eccf8bcbc592935bc9d1a093d4d77713e78cfffbc1b8b5abcd8e2133c2a2bb93d868320bdffd14bbc62d426bc68acddbc2ace05bd00000000000000000000000000000000503ed63ace4c1abccd8cabbdb789eabcbc8f0d3b7c852abcdea79ebd5c42e1bc4cdebb3be01e3dbc63558bbdb5d2d5bce9d7113b5c2a48bc0baa60bdf59eacbc0598bb3a1c0730bc609a38bd3fd185bc38beafba301929bc17d705bdf79a18bc422c2ebbf6be01bc0384a1bc672608bb0000000000000000000000000000000000000000000000000000803f000000007a86f9ba7c0d3bbcc7b58c3fe29f13bc2af2393a3a0b813a37376b3f75cede363cce613b057ad23b63da3e3f899f283ad2d64f3a8dabeb3bdd86133f492b30bb2a211fbb3385703b9c26d43e372829bc6b6b94bb5647e5b9a629843ecf9296bc8baf10bc1b7c0dbc7490d73d0291e7bc0000000000000000000000000000000000000000000000000000000000000000fe9731b889bd22bdcaaf0abded5384bc7ef480bbb0db28bd6ae003bdecc579bca237c8bb5c4d20bdf88fecbc6f0c83bcd2870ebc8a8210bd2cc2cfbccf184cbcdd3519bc5a5901bd615cb3bc170e23bc87d125bc0329dcbce49b55bcf32792bbdf051ebc1bbca1bcbb4ae6bbdfbd853900000000000000000000000000000000000000000000803f0000000000000000bf70163d97137f3fbcfa573be53057bb381e1b3d1290583faa7aab3b7d2240bb4d70143db1f5323f94fd373b53be57bb102f033d79f00d3fa92b8b3968e2b8bba42ad23c5b64d13e512c92bbceefeebbd804913c302f883e4f3641bcf8e624bc850e153c8d14fe3d34c0a6bc6b574dbc00000000000000000000000000000000a2daa93bbbc8a7bc5a0cdfbc40514dbcd5cd2a3baccb23bd9be923bd901c95bca266ecba12fb3dbd308629bdace8acbcd3d692bba57d3cbdf1d523bd814bacbcfea7e2bbc11e21bd49f701bd964488bc554d19bcdc131abd8c50debcc06541bc486a1abc1f24f7bc5e6699bc31e1bfbb72b50bbcbb5dabbc0957e1bb0af03c3b8169acbbc72510bc4d3b06baf680aa3b4d346d3c74ae7c3f2139033e3f2516bc72bcef3ce915693f866ff13d3e4d21bce8ad1f3da0c6473f1eb9d93dcc89febb208d1f3dbfea253f41b1b23d6b87f9bb0f27073d282c013f512a873da0ea0cbc3c0ae33cb26cc03eac172c3de9e149bc7d529d3cfe79793ea7958f3c69fe6ebcf866033cbc51e73d50bb04bc490489bc61d2953ac98ccfbbd2eeb7bcca0f53bc26cbb53baffb3bbc4372c3bc822764bc08f6b13b07a8e7bc03dd24bdfb0cbfbcc334e13a1f72fdbc3f591abd2a6ab5bc54cc01bb18b818bd77872dbdebb7d0bc1b553cbb44d4fabc5e0b02bd4d7d96bc183db7bb6e9002bdaa3af3bcc1c582bc7037b8bb991abbbc60389dbc0ea4ebbbb4f4cdbb63b792bc6c0c37bccd159b370c595abb91afdcbb9fbeeeba15d18c3b3d09533bba60563f0c0b873e6ece37bc5571883c98d9473fcde9783e752449bc2425b43c3938283f89d1573e078300bc2eb9f53c6bd30f3f3789343e1bb414bc4e5ccf3cc732df3ef6ee0a3ea59314bccccabb3c8e0aa93ef3ddc33d997064bcc7f3623ca8695b3e4fe7673d8a1565bc7272fc3bb994d43df2ac4f3c415296bc7bdec53a21ad60babaad88bc6c484bbc3e21a23bdcdfcbbba3f2bdbc41dd93bc2ca7c03b418ba1bc228522bd5363e6bc5d51373b0330e9bc7a7037bda363eabcaf8b7d3a0264f7bc0edd30bd1ec2e6bcff6cdbba129ee7bc8ebd1abd1417c4bc8df356bb9a6ed9bc193603bd15ca8fbc08e7b8bb1a95b8bc86f2c2bcb33e2bbcf53f9ebb9a8777bc0d9b58bcc118faba33d398bbeccabfbbee50c6ba224b343be36718bb8381313fe8c0ce3ebab72fbc25db0a3c1904253fa477be3e031d3ebce6699a3c03ea0f3fafeba43e466b17bca78bb63c8261f03e3e15893e25c415bccbf9ac3c1c35be3e6166563ea78528bc3d80933c09f38e3e9c371b3e15f961bce0a7473cef103c3ebcf8bd3d531293bc98cfb63b6e36b83db7f70d3d170e99bcd193373a248f003bfe8970bced4a75bc3a5a873bef777dbb0ebeb6bccfb9adbc461bab3b303867bc4a981fbd9aba03bd93a9633b53f3a5bc85292ebdd24d06bdcba8deb881e6bebc707536bdcb9706bdeceab4b8dcb397bc76ef01bdc301babc66311dbbedc1babc912e0fbd3a64b0bcd5f868bbab2890bca618c4bc25f84cbc065d9bbbe67b5abc02a275bc283687bb37635fbb8375c7bb6f7d92bb8904043b0b3f99bbbc280c3f098f0b3f83690fbc504a633b013c023f954a003f53b40dbc260e503cdd1fe23ed53bdc3e87e3babb5e22863ca724c13e55e2b83ed964b2bb787d673c0d38943e1d468d3e4351d6bbe5065e3c3489673e94ec533e81505bbc9020123cc17f173e9ae2043e96a080bc3238593b507d963d9afb613d4ca39fbc77646fba59aa133b3f2b2fbce13d70bc06e65b3b428607bbba01bbbc8a88c9bc1875913b9f613bbc2d3230bde12620bd0ad4953b16108cbcbcbc44bd2e512cbd74090c3bedd4a8bc1fef48bdfb941ebdba83ec39dc95a3bcf2582fbdb5d201bd6f23e0ba3954a3bc44991bbd3618cebca98b7bbb310290bcb582eebc38d66ebc17f0a4bb47474dbc63a38dbc1b12a8bb36a095bb1230ccbba1beccbb7111433b2c48debb1104d03e724f303f7b2fbebb15ef00b99b02c33e162e233f6edcb2bbbbb91b3c36fdab3e70fa0c3fa6c0debac01b5d3c2a2c923ee95ae93ef60d89bba6e2613c6e8d6a3ef808b73e855ccfbbddc6333cf181313e2b98863e0bca47bc607fd03b01b9ea3d5ef32a3ed45490bc86e6bc39a297643d2efe963d973bb2bcb538a1baf228be39f1b51cbc9f8f8cbc9bb25c3a573933bb5c5bc4bc9e59f2bc149a673b35c612bcd2d440bd884b3bbd1d69563be19a4fbc46e83fbd7f812cbdd811423b093c88bc178959bd2ed437bdf6138539b7637dbc08782cbd0a980bbd56869ebac7e28cbc97d229bdd7baf2bce0fd4abb42d15abc1b2aeabca0f88ebcb743b7bbae383bbc1267a0bcefc3e2bb90e698bb8810a9bbd86dcdbb957fd33ae393f8bb5db1883e1ac3553f29d03fbb298aeebab3cf813e575f463fe236903ab495d93b9294653e1b2d263f8ad3233b0d8e3f3c6572483eec040d3ffa9ce13a2fa41e3cceac1f3e9f61d93ea0d247bb3b8f153c2db4f63d18baa23e17a120bc76f7503b7e2a9f3da59e4f3edc9767bcc69e24bb30ea163d4162ba3d5d93c0bc36f7b0bbd540b9bace7b1abc654999bcbb7db23aa2412cbb2c8903bd73b815bd964e633bd96303bcfdb15cbd539f5abd1b26783bcd7740bcd0576fbd3b695ebdccfa9f3b31b064bc77126cbd1d125abda1f4e13a2d1a5dbc78ce45bd0a0f28bddcba31ba555e76bcacda38bd6ac10ebdc62483bb562262bcac290dbdd291b9bc509cc8bbd7452bbc3f59b1bc68dd05bc860fcfbba3abc6bb3f3202bca6a7373af898bfbbb5fa063e9e9e7c3fe295e63b67461b3ae7c9043e313d683f9dcf3e3c4b9c123cc722fa3de968463f936d543c04b65e3c6cc5e03dd2db233f2d7f173cb9f83d3ce3d1b43dfacbfe3ecfd1503bad1d0f3cbb5e8c3da8d5bc3e36b5b7bb9f3d923b23fb303d59e8703e0d4e79bc0e6897bb515e8e3cbb2bd83d78a6c5bcb5aef1bb4f688bbb27f446bcd095b4bc000000000000000000000000000000009445873b1c62c6bb2f2b44bd84de4dbdb0518b3b447fffbb6a0446bd11ca40bd9ea3883bff9b06bc9cf93fbdb6e836bd2315df3a80f527bc0a4127bdec8518bd16e6dc39eed42bbcb18614bd3a0cfabcb57f10bbb94b24bc440becbce88baebcf87fa8bbc35713bc4207aabc14333cbc0000000000000000000000000000000000000000000000000000803f000000000386cd3b7ff3613cb6ad7e3f94a7ac3cf79b2d3c322aa03c0be3573f552f953c575a4e3c078ab13c2150323fa208703cf803353c958a9a3c6ed30c3ff6ceee3b8de81a3cc714863c20fdcf3ebc36d13830478e3bc85e1d3c90d6863eef9f0abc9e8fd8ba474fb03a7bc4f83dc28694bc0000000000000000000000000000000000000000000000000000000000000000fec3c438e24da7bbb7060fbce14424bc1260b4badc3997bbc740febb938c16bca8139bba39afc0bbea980cbc0d1c24bccd6bb7ba96b1abbba442edbbc9ab08bcd53f39bb1493c6bb3d86f3bb14fb04bcd74912bb54e8a2bba004c2bb6408ccbb30d6f4ba958881bb6c0399bb41f89abb00000000000000000000000000000000000000000000803f000000000000000074672b3c6d00653f3e1e993b7b35cc3a717c273c896d443fb0fd803b80760b3a87e7273cae58233fc6a4873b4e69653abc360e3ced6e023f1c273e3bded7243964440b3c922bc43ed331383a4351d1ba5442ca3b4c58823e9bb7ab389bb6daba4cd7623bd9fa003edfa168ba716400bb00000000000000000000000000000000e9a8683a015d36bb1947e1bbc1d703bc217adb39bf59afbbfc732dbc8a6649bcfa7a80bac59de6bb00003fbcfdac3ebcc51399baa2b4e1bbabf031bc29b14fbc799dcaba2153c6bb93c812bcff9229bc3f0e13bb1076d6bb7a0614bc523224bc51a050bb5273cebb7d2101bcb7c505bc10a51ebb40d383bb92abb1bb18b79cbbabe9e5ba9b2923bbfcc730bb09240bbbeec0e83b2d35643f8905043e7877793ae23b403c4dbc493f8529ed3d38e2cf3addb4453cb7f02c3ffe92cb3da5d84c3a7180483cff45103f563aab3d14ba583a41e5233c25fbe53eab52873dc8ecc4b8d73b203ca317ad3ecef5493d2e0f8fba7b4b0b3c2376673ec6d0023db7d238bbbc129b3b25b0e53dbf955e3c6b785cbba6c9fa3aa83b8a38b99f2ebbe4733bbb263c9f3a7682c1ba6f64b0bbb1050fbc8e58b83ae7deaebb443034bcab8555bc450e983afc446cbb400f0dbc99f531bc2c826dba46d5cebb8b5239bc8a685dbcbab114ba6b1bd5bb533001bc1e663cbcb2b5f7ba60afc5bb33fb19bc2be22ebcb737e7ba48b896bbbf64dfbb2a33f3bb4f360dbb4d468cbbde19bcbb303fbbbb22abeaba13cc24bbff7c97ba3c3588ba23d1ac3b1476433f756d823e19e4803a2576253c993f2d3faa6f683efd2b073b34fd183c90e7133f590b463ec3341b3b25f73b3c006af83eb2a7263e378b323a0fc41a3cb4eac53e72b7043e2df3113a37e8193c984c953ee170c63d716398bae139ce3bdc48463e9812823d21d2e4ba2fb6a33becd8c73d7391f63cef474bbb0e09ed3aa0d2113ade260fbb25603bbb603ec13a566066ba5ddea3bba638eabba99fbe39b98f65bbd66416bcea6f41bcb37bf2397fb488bbd29d40bcc76c6abcf8c18eb981d7aebb73e232bcbde45ebc314fb4b976ce8dbbf7af33bc5ebd52bc10cac5badba8b6bbb82c1cbcdad836bc469bb6baff7c99bb30c0f8bb282b0cbc671003bbabdd87bbf43ec2bb264cc8bb88a8a7baadd706bb29062cbb434418bb9acb563b0612233f4d8fc33ecb1fcf3a75ffef3ba69f103f2a88ac3ed1b9a63a28fe213c195ff83e0699943e31a2ee3ae941363cfa07d03e886c783e8c75a73a9ea71c3cfb1aa63e120e463ec2ba4a39e6cb163c5e807a3ecc33143e42277bbadfd5ec3bed84273ece84c43d1e11d3ba91239f3b6caca83dcddf3d3dfc1f4dbbea05003bad3ba13a0779c1bae1d025bbeb901d3aedf09bba2cb1adbbd5b603bcc38817b9e972c8bae39911bc57464abc623e1cba529297bb095928bc011158bced37c7b9f818a3bb229131bc37d460bc6f182dbab96a7dbb8764febb105f1ebcc1a1a9ba553ea6bb23a417bca9ae34bc43db26bb308fb2bb116f08bc5ea61abc966229babc1598bbb263d7bba82be2bb88a39dba0c6a00bb6ec325bb12591dbb53526c3b7e56023f871a023ff402aa3a2e6ccb3b07b2e63ef180e53ed989b03a7fd81d3cde86c73e48ccc53e3945453b37c3203c3efca63e3eb8a43ee14caf3a8792ef3b1b94843e53bd823eda9bbc396a970b3cb80c4a3e7f11453ef05e3abaf02ef53b26dd073eca72033e45b232bb7215bc3b9ef28a3d4b2d823d61a5f2ba4740f93afd61bc3a77bb8dba596722bb6878283a661f7fbab561a2bb18cf03bc8ea0203a45503ebb1fd817bc651c5dbcc5f05eba91df97bb47c130bc2dac69bc7768413756f392bba9972ebc1d3f82bcac9874baa6b79abb471820bc94fa4abcf51d15bbee4ec1bb174f2abcfa5e49bcca63c0ba2fb391bba30dfdbb674214bcc04da9ba3b4c69bbc3dcc0bb072bdcbb7b13e2baaa9619bb47cf3cbb5fd530bbdd92463bfbadc33e709e223f1864fe3ab2b0e63bd566ae3e95dc0f3f6fe04f3b913b103cc8d1963eb318f73e743bd53a9786203c804f7d3e31cbcd3e7347083be4e4123c29e44a3e0f1da43eddd28f3a928a143cc48d1a3e2df2763e04eec5bad840dd3bc563ce3da551233e77c0d1baa19e6d3b70874d3ded0aa33d120618bb31bf713aaccd423a01f8aebaa4df40bb98f7f039b9008fba7787a8bb3cc80fbc021c093abd1232bba8241bbc76616ebce7f78939f4064fbbbbb316bcc5a954bcd9771fb91fce91bb866a39bced017bbc085e1bb98769b7bbbb4e0dbcd01559bcc95e8eba3b049dbbd6db21bc5c9c4abcf21816bbc5f798bb3a03fabb37be0dbca24f01bba8068cbbdda4ddbb81e9f9bbc298bbba217f16bb9e2f45bbf30a49bba93d383bace0823e9133433f6505353bfe6cdb3b33ea6a3ee9992c3fd330893b5fafed3bfb524a3e606f133ff8df533b7e451a3cb1382c3e20cff63ea3113b3b6f60073c38a7093e766bc43e10e6d03af2290b3cb65cd33d239c933e3de7a138edb5bd3bf0398d3d1d3d423eb2e20cbb9fcea33bfc57133d8246c23d76984bbb843eee3a2968bf3a260a53ba420d39bb87742f3a04af85ba1597b8bb146a22bc5d6e193ae5a52fbbc08a23bce2227cbcb83800baf31d91bb15da43bc80a488bc920ea6b7c04a8dbbb27141bc0f7984bcf6f3cab9ea6f83bb29b121bcfef454bc70f083ba7c829cbb5f8c29bc551f55bc2789203a049092bbe8d00ebc27e12bbccfd409bb9b6091bb4359edbb94d004bc9065d3ba15ea2bbb0c9663bbb66b6abb478b5c3b9749053eb5fc633fccda903bc8efdd3b1200f33dca2e493f35d0bb3b0bbf1b3ce1c1d73d49b22c3f8499c43b98341a3cbeecb63d7bb80f3f56a3803b657e073caeee923de2dae43eb131043baf3e0a3c1030653dbdc9ab3e7aac153ad19ad83ba63b1c3d444c643e95558dbac5209f3bdf8ba53c0158e23d8c8947bb8029033bca35d53a6d1c68ba0c0347bb000000000000000000000000000000009735393aa022ffbad5e808bccf7051bca4f90c3a468e2fbb511919bcdb6b5abc91420b3a77b043bb268118bc5da853bcf2038bb9fb6e5dbba4b60ebcee213cbc89c414ba1a4f73bb73f00bbc40a82fbc74aaaeba853a7dbbed7efbbb535316bceb8ce0ba062e72bb1529c8bbd0b5e3bb0000000000000000000000000000000000000000000000000000803f000000001e2eb53b7af8ea3b9977643f59e4c03b8092ea3b13320a3c5cb9433f9706a03b1ebd073c711f163c120c233f9e43843b52b0e83b9bfdfb3bd20b023fbc95043b155de43ba2deed3b1a06c33e2b3b3f3a290baf3be73fb33bae96813e072c6dbaa336843bd737703b27af003e116919bb00000000000000000000000000000000000000000000000000000000000000004e5d15ba672617bead2026bcd636733c770843bc79750cbebe0691bcb5fd7e3cc4388ebc502ff3bdf610c5bcbc903f3cedcd97bc243fc0bd8389c7bcd053243caa2182bc14668ebd5b4f87bc55dfe63bc2d912bc109532bdfa120abc07f8b23b5b7a3eba62d18dbc22710ebaead1093b00000000000000000000000000000000000000000000803f0000000000000000f4f68bbd20a8a23fc904a1bda3f7863a45c8e3bcd2d3863faab936bd15a42dbba44dc3b916e2583f61a4b7bc304da2bbc327193cf079233f3b0b61bc0bebaebb06ba2a3c19c1de3e34d64abc6e0390bba5d6ab3bda93733e1c9b48bc30df55b97b7e3cbb4815553d55937ebc16a0973b000000000000000000000000000000003a58293cfdb9b2bde05188bb7a5ca13bb9dc1b3c3dc211bee470cabb6f22803ca26a0ebb60dd19bec132c3bcad578e3c338618bce30b07bee33ef3bc8dd0843c2a0b41bc6497d2bd691cf2bc094c4b3c2a210abcf2dc9dbdb4fdb0bc6fd2283c2a9bd6b919383fbd79ec6dbcb0230e3cbb23123c2aa392bc89f584bb9fc2dc3aed470a3c2251973bc958983b00d5ab3880ca0fbed2cba13f63e85b3d5fa9b4bcc68516be774c9b3f227d123d55ecabbc2206b4bdf219863f4880613d4792bebc35744bbd2972573f2630743d9853bbbc0543c0bc6a7e203f4993553ddb8e9dbc70cc95bcbc4fd93eec691a3df9c177bcc3ff66bcf568693e9231a33c6c7a18bc3b69e4bb605d463d8cf9ff3b7498093be10d30bc792c95bdb13d6fbcda5b5a3bd8b6b63b4f0056bdc23e17bc72c9213ba16fe73b79fae4bd53b7ecbc04a8413ca8c1453a729ee9bd27a22cbd5491383c628083bbd92be5bd993936bde003433cfa609fbbac67afbd522324bda9410e3c7f7c25bb893c8abd1bbef7bc41221c3c544d883a48bc2abdcb7c99bc2118d53b39ef033c1c729ebc9ad2edbb85b6de3bd87c113ca0ff8c3a6b884f3b16c5813beb0e0cbeb5d4863f9f507b3ebd2c4cbd768017be8c4d873f319e683e269563bd8a5cbabdc889643f11b45b3ebc2d3dbde7ab8dbd9ec63f3f329b3a3e80a429bdb93927bdc3ea0d3fd399123e083b07bdf4bb05bd0d35c63ef2cacd3de702f5bc26d5c0bc8d0e603ec5ae6f3dccabacbce7d990bc70b2823d8f0c973ca2dc2ebcaaff5ebc10a422bd8a2f6bbc68cab7bbc730c4b9715809bd0dadabbce40f8fba7b4f2d3bcba7a8bd847242bd117e083c4c0ad5b827f7c6bd6e9d7abdd32e1e3cc6da3bbb5dcab9bd573d73bde949063cced787bbdb2e9ebdf84b59bde3e5c23b31d6cbbadcec71bd2ef623bde559f63b3da70a3bacef1ebd858ac5bc03f7193c2f1bd13b3b6f8fbcd4091bbc52920d3c82c5b63bcea0263abf40833b9b53ac3bc3c7ebbd867a5b3fd9e3e43e14f596bdde9f04be07975b3fd926dd3e877badbd2c7fc3bd55e6413f47cac43ed2e191bd8a9d89bdedb01e3f754aa33e7c9375bd528f40bd7135f53e9c3f7f3ebf114dbd5e4517bd32deaa3e58d3313eb50c2cbdee34f2bcd4cc453e81f2c83d76b90cbd38ddbabc999c8b3d8454023dab59b2bcdda097bcf6daa4bc33699cbc69f173bc859eeebadebb94bcc91b03bd132328bb6897d239e65764bd5dda88bdeaa19b3b17ad63397c978ebdb7af9dbda9086a3b46b0dabac40e93bd379b9dbd4251513bac3677bba7a054bdec895bbd939264bb8bd5a5bab4044fbdc05348bd7bbcab3b97d2be3ad68afebc6531e4bcc2add33b58eda13b18b57dbc2d0d39bc3022173cf7029c3b593532ba0730523b7ed4083c2541c5bdb30c273fd3c7263f3221c5bd3b3dd2bdacce253f8d54233f189adfbde7d295bda426123f4b400d3f1bb7aebdaa776fbd7a6cf83e59d4eb3e705b98bd532ef3bcc06ab63e2d4cab3eee0446bde6f90fbd257c8b3edc527a3e774755bde42fdabc575d243e58d50a3eed9623bd53c7b8bc0db8813dae47363d0a40eebc2d7d90bc749225bc3d59bfbc4d68b0bcaa5b3abb684ffebbe73733bd9d770dbb1366983a75e81fbd4c8ab8bdbb53063c3d6f223b68775bbd7672d3bdca3bca3be9f2923a675960bdb512c1bd40d02f3b2e5dbab9674553bdac0fa3bd6f83053bcabcdb3aa4a726bd5fc96bbd5614b03bdf1d783bf704e3bcb3f113bd63931a3c10b8b83b65dd64bc6f8d54bc59ec483c44cd4a3bcc749eb97c68793bc1f8253ce63698bde7f3e43e05625b3f5928eebd6adda4bd5738e33e3d75593f2eb00bbeb53780bda17ece3e0b983d3fc06edfbdacb849bdb283b03e9b93193f424bafbdb92b17bd23e68d3e58f0e83e68fc8bbdc140fdbcb9224f3e75bf9e3e75c569bd8a82d8bcce23fd3dd3fd303e2b9c3bbd1a1296bc7eb7513da965523d302402bd9f0070bc7ea2ddbb929501bd0123bfbc470060bac490f2b9e7a97ebdd442fb3b0ec28f3bf3ecbcbc8ed0f1bd97897b3c12ef443b51c910bdf5c0f4bdd0ec7b3b43b5593b88dc27bdd12aeabdefcfc43a71f2903a7de41fbd052fb0bda325b5ba6dd5553ba58206bd5b728bbd2c509a3bafbb723b20f8babc3dd11fbd1f2fd53b3719a43b68243bbc666e75bc3b4d473ce9117a3bd027973ab94fa43b47992e3c77a950bd1c5d7c3eda02873f6aaa0dbe837059bd65c5733e006b863f049f1fbe074320bd4c1b6d3e62f6613f022cdbbdeb0f0dbd357d543e9d933b3fbf53b7bd5984c6bc67b7303e9cb8093f06ce80bd195cc3bc16bc053ea3ebbd3e329269bd507391bcaf52a73da765513e871c2fbdb69f31bcedc40d3d691f563d3d3bd3bc050d14bc1b869fbbddc93fbd36049abcb1ed653a072a523b5b96bfbd04fa483c88140f3c8accf8bb89be16be4036d93cfaa7d83bcd15abbc31fc1dbe5299253c2a50da3b97cbebbcd74908be99310bbb080b913b0dc6f4bc2018d5bd0c629bbb787aa23b5b4fc7bc52bd9dbdeaa5503a2c8fc13b086c88bcc69d3fbdd81cce3bb09bcf3b174fdebbc7e084bce8852d3c66a5343bd974ac3a2e9bdc3b5da5313c48e7babc9750593db105a23f613d11bec403a0bcf6103a3d17bc9a3fa6f51ebeeef1aabcbb19983d134f853f4b29ddbdfc5d96bc04f6a73d33ab553f335d95bd628669bc0f8fa33d63bc1d3ff89255bd66de5cbc0612813d4298d43ecb0f31bda7b11abcf543263d8e85603ecb9c02bd85cc91ba7d5b973c90522c3d83c234bc743246bb41f8ebbb2b659abdf4c178bc0000000000000000000000000000000000c9d83b1407ddbb921818be57a38e3b6f3fe03bb6f47abc99be0bbebd02d6bbbdf98b3b5cc8b3bc9a35efbdc9e47cbcc883873b3ec1b4bc0184bebdddbb8cbc2cd8933b6d899abcdb028ebddbf631bc7206763b330852bc6d3e2fbd9dd7dbba7c294c3b18719bbbf60389bc7ebb903b0000000000000000000000000000000000000000000000000000803f00000000a149203bdab590bd0d99a23fdfe7a2bd9e8d0f3a421cfabc7894863f45b638bdbbc481b723fcb8bba2ac583f846fc9bce0fc6eba0509ca3b6eff223f9f1583bc4803dabac877e13be9a1dd3e572f6cbc454d3bb99580573bf870743ed6b67cbc72ae793a6422a8bb726b523d6ae46ebc00000000000000000000000000000000000000000000000000000000000000003344a5bcbe53e2bd8339c1bc9538b43c88abebbc7ff0e1bd0a96c8bc7ab9c43ca62706bda75ecabde8c0e6bc8292993cc9b104bd5f22aabd8676c4bce9a7823c1972e2bcec5987bd74c488bc81c4733c14fb89bc40fb34bdb11006bc3c8c433c86eab2bbb7a2b0bc4465503afd03e23b00000000000000000000000000000000000000000000803f00000000000000007f6a62bce4ca983f317537bd2135a6bc59d9973c02057f3fd034ddbc9c10bebc28fb1c3d63484f3f8ac286bc8a4ac2bc139c223dd8571f3f7dd98bbc9e3ab5bc8375fa3c0481e03ed238a9bc5596a8bccd78603c66a0843e7b30c7bc7cfe5cbcb6a17cbbae3baa3dd3dcf3bc454db0bb0000000000000000000000000000000077689fbbaa8d6abd80d9a0bcd4ac2a3c7ee284bcc91adebd554eb4bc65edeb3cc642d2bc5e78f2bd67eb02bdda56ea3cb612fcbc3c9fe0bdfc9a02bdbf59e03c560dedbca90bb8bd7240ebbc0b78b03c1c83b8bc475192bd0b68a9bc7e4fa93c97034ebcd71b44bdfd2d3dbc24c7813cc9015e3b67469ebc6f7a81bb0c83b33b767a073c9f2d343a13698a3b8b63193bc0b4aebdf429983f17b1be3d80b113bd79dda4bd018a913fda95923d97ab3abd20bfb5bc06287a3fe7c39a3dc4a23abd958df33bccee4a3f420d853d672937bd9433a33cf4a3193f4d4c4b3df6db20bd8c0c633c7bead83e7d31dc3cf97c0ebd6839dc3ac4997e3e635fcc3b72d6d0bcd4e637bc8a03a83d281811bcc922b3bb0f6ca1bc0c7733bd9cccdcbc804373ba9f52abbba28e08bdb65e9bbc1991b83b2e5c65bc6bf6a8bdeed018bd1358983cb6c79abce7ceb1bd7f6b35bd162f613cca7cc7bceda7c1bd3a6d38bd9c8eaa3ce598bdbca0de97bdf2461cbd1735683cb4589bbcf4e883bdea09f6bc4dfe9d3c38ac30bc139d2abdaf349dbcbbd15e3c83a76a3a296ba4bc74a3e7bb14282a3c3654e43be720333a9e05273b13cf9a3b3911bebd4a937f3f7029883ed5fd5bbdc10fb0bde06e7d3f5bfc7a3eacf68abdeff7ebbccede523f5dbe623e0f995fbd006a46bcd738353fef69383ef64770bde42d763bf476083f956f0c3e2cdf44bd20129dbaee08c73e33c1b73dc54b45bdd9f2aebbb7f26e3e1a11463df65911bd04f274bcc5f2b53db412b83b006fb3bc572899bce15fafbc6093b8bc8ec117bc5d8bdebb7e54a1bc93abcebc715742bbc41d75bc331880bd956846bdcf582f3cf4cc8ebc1c6ba8bddbff6bbdb341633c8878a6bce94ca4bdc2a262bdfabb693c5518a2bc77ca8bbd5ae94fbdae02323ce6c487bc0e9168bd122313bdf0de803cb3ba20bc74531fbd30abbfbc21da7d3c14c8a8bad05196bcd6a31bbc547d5c3c195d3b3b05d64aba858de03ac9930e3c9c789fbdec2f513f9a44e53ed05c85bda80da0bd02ce4f3fe3f7da3e1050a9bd5f4432bde67a383f4624be3e4d8499bd7f7aa3bc4553183fb4b39b3efc038abd92f5c8bb04b7ed3ede1d6f3ef0a17dbd4a7fc9bb4cd6ab3e907b213e15fa6cbda96436bc8c20523e554bb23dce3a45bdf6b592bc9cf0af3d3022c13c63ff0bbdea7299bc246f1ebce4efc2bc5e87aabc026712bce34e4bbc734aedbc4b6bf9bb86be6cbca1823ebd1bb069bdcbb70e3b17a986bcba0b7fbd6dc085bdeb81733ba8489cbc857d8bbd701189bdcf47e53b8d9392bc3d1351bd1bc751bde59fb2ba572882bc62954ebd760037bd1a0f473cd0672abcd39c09bd5cc5e3bccd9b5a3ccff328bb661a87bc5b5950bc6192693ca7a6733ac8990bbad640a33a87043a3cc5668ebdf195223fbe69213f6b3b97bd1ba387bd62d0203fa7301b3fa199bebdf8ec05bdd8f80d3f59d6043ffd669fbd3af894bc3ac0f33e497adc3eeabe98bd00867f3a5e51b63eab48a13ed2074fbd1220f6bbfd668d3e060d683efca081bdebb72bbc3d7d2e3e7068033e831a57bd903989bc4ef09a3d31db293dc67e2cbdfe25a4bc3620b2bb0823c9bcac34e0bc29b406bc0ca91cbcbefb0cbd711711bc651836bc6a591ebdda9592bd149b493b307a68bccdc060bd233caabd474e513b4ab271bc61936ebd3841a0bdd9df993ba05a86bc2bac56bdd7a48abd9acc793b4baa59bcb3e331bd172850bd2309263cefa511bc5f5bfabc73fc0abd2b046c3cabb8ceba2d4473bc79567abc325f843ceb9fbbb8553e9fbac6b0bab85d5c4e3c24e67bbd7ac6e83e0b32503f9ed8adbd088a6ebdb093e63e0ccf4a3fdde3dcbd6d450abd5a15d33ed5622f3ffb73babd68de97bc05f3b43ed4020e3f5e78a1bd88100abc6d0d933ef44dd83e111990bd52622dbc36cb593ea060953ed9c688bd80cb6cbccda6093e43a52c3e2b9974bd382585bc752b713d07a7673de0a640bdb4c78dbc9dbe83bb3565d8bcfa61fcbc923dbcbb0e53e6bb05c436bdc76016bb5404f4bb69a600bd3b61b7bd1d4eb73b82a101bcee5627bdac28b9bdc15caabb006346bc1ffa48bd062dbcbd331130b8626639bc274a32bd493595bd3fc0afba078728bc126d1cbd8d8c77bd3251093cc66fddbb5a4bdabca2071cbd12a41b3ce9e1dcb95a1f4cbcfed999bc3533803c4f5a963aae1aea39e7045a3a4601583cc20c4dbdbf6b8a3ee8617e3f8470c7bd0ab436bd10b98a3e7300793f66a5f1bd6da2b8bcea7d843ed0394d3fdb749cbd805e61bcd8986e3e8cd92c3f8c8f9cbde649a7bb8a7c423e605e003f4b2f7dbdf62e0dbc3e4b153e9b81b53e649985bdf40b06bc77a8ba3dfd20533e542558bdfaa23dbcf7ef273d20dd863dfcce39bdc1b148bc473cb6bb5d6a0fbdcecbeabc3f2235bb4ef416bcc86287bd35e548bb991aa7ba3f07c9bcace0e2bdaf166f3ceaa8a1bbf24a1bbd357ceebd35eef93a5327ebbbfb0029bd5877d6bd78b94ebb785311bc80f81dbdef54b0bde2f8b3bbee01e1bb9a4605bd29698cbdaff2c53b8ede52bba32db3bcaa7e3bbd0f1f3b3c07272a3b9ce706bcba45a9bc606a793c0fa2303aa83c703ad1f92fba91c36b3c4ce206bd5415c73d1cc5973f9682bebdf02ad7bcd37fc03d7411903fd01ee8bd19215cbc948fef3dc82f753fe382a1bda239c6bb206eef3d6430453f8e0778bd7d4cbcba23b8d83db150143f8f3649bd8f0f03bbdefda43d289ccd3e99235cbda544a3bb7c5c4e3d01d3693e189454bd221e26bbf7fca93ce052893d1e431fbd909022bcfcb448bc0b0d55bd5949f8bc0000000000000000000000000000000039c7783ad0a7c0bc162cddbda20933bc3ecfccba11dbe9bc0a66d4bd430960bc154d67bbd97706bdf234c1bdbbdcacbcd6dc72bb3929f9bce90ca1bd10169abcded690bbda7edbbc24647dbd67b72cbc4553ebba322a8abcb51232bd07ffaf39c82d9dbafbee0fbcf1e6b4bc20ba1b3c0000000000000000000000000000000000000000000000000000803f00000000791373bb3ce1b4bc5a0f983ff14f3abd88f98e3b0468da3b4ff97c3f8be2f0bcb84c123cbd55dd3c0c154d3fdb3790bcc455183cb401f83c92bd1c3f88b9a1bc7c42e63be1bacd3cc77fdc3ea6e2d5bca4fc2f3b4a7e493cf236813e208dfabc58bad0ba097754bb7a3ea53d77e612bd00000000000000000000000000000000000000000000000000000000000000004c2b5bbc39f93dbddc15ffbc473f53bb81de9abc8fdb4dbd73bfeabc72c93ebbee9dbfbceca848bd9f9ff6bcb7b756bbe963c0bc80153abd7483dabca65da2ba7b26c3bc059222bda596a5bcb3f6093badd4a0bc9398f1bc6c7242bce49f023c8ded5dbc524192bc74c294bb24352f3c00000000000000000000000000000000000000000000803f000000000000000067b8113d2b6a843f3da10a3a556582bc8b9d353d5aa65f3ff791213b401686bcfde64b3df6d2383f056f7d3a4c6d99bc7c76363da04e103f13d80ebb7fec9dbccece0b3db999d33ebb4d1abc5d04abbcadcb9e3cbcc2853eebdd97bcdb7fb7bcdcf5583b6c71e63d57d9e7bccc30aebc000000000000000000000000000000006e7c9bbb2229b6bc9c77bcbcbebfbbbbcb5979bcef8c3dbd6bac00bd051b5f3b64f2aebceb1267bd1dbd0fbd933997390d31c8bc191c64bd56b908bd624c623a47b3ccbcc4cf4abda1c2efbc07af4e3a9467dfbcac1d31bd03acbfbcb10e1a3c4689b8bc419707bdda1652bcf43a593c723f32bcce1d7abc132470bbbbf4563c8c2a97bb4a9b47bb560f8b3a6751393c14d2333b7b11843f5d5e043ea932b3bc92b69d3cd736753f2e75e83dbf4800bd9549253d9484513f6c3cd03ddddfecbc3230383dbce12b3f4489aa3d2ffaeebc05702c3dfa70053fb8727d3de6cee6bc79320c3d2456c43eec500a3d763507bdd50d923c5536763e61910f3ca64606bd56febab9b9b1d33d350a64bca1f1e1bc85d51ebc1fb476bce0daddbc86efa8bc6c7e4abbe5b436bc19379bbcd44320bc20a13ebcb6ed11bdcebb0bbdcd8f18bc548063bc8b7d20bde10110bdf14f5bbc1a909ebc434848bd8b601ebd6ed8f4bb7767a7bc256d2bbd3f1803bdaa8ddbbb50c7b8bc41b01cbd205fcbbc4115563b53fe80bc29b5d6bc777296bc3593f63a18934dbc15b97dbcfbfce0bb20723d3c20295bbb5f3df3ba0a8f723af0ed1a3c3cba0cbc688b5f3f2c6f8a3ee9dcbebc2750103cf1ac533fc12e7f3e3f4d04bda82fdb3c6a37303fbb5c5d3e0b78c5bcf9df173dc898173f442f363ed29ffdbc25640b3da0fde93ec0490a3e8ce3ecbc3cfed73ce75dad3e7da4ba3da48f18bdff24803c3a435d3e1abe543d426cf3bc406c113aa9d2ca3d37eea63bda8609bd5d1a1dbce57806bccea1adbcec1cafbc4a484fbb9bf3e6bbf769a0bc354f8fbcb8c530bcd900dfbc8e0c0ebdb85693bc4d1574bc66ab1ebd023b2dbd09cd8cbc602a99bc8e3831bd874c29bde71342bcc2bca5bc88bf21bda06115bd80533cbc4b52aabc399014bd3166eebcf20ad9baf4829abc6c23edbc5969a2bc4895d53b4b063abc873e62bcacb81dbc02a71a3cffffd9bb696c91bb1ab0ed3916b4193ce7ce28bcfa33393f8a60d63e258fb1bc67c7823bea982f3f89dec63e532402bdc4edbb3c0f92193f14f1ab3ea356f3bcf93df73c9e1c003f26fb8c3e058c01bd56ad003d7b34ca3e35e9593ec15903bd0163c23cc0a3953e5e85183e3fd917bdf8d1533cc3b2403e647faf3d21751fbd68c212bbde52b03d2aefd43c244512bd67fefbbb5bd450bb7e569abca38cc8bcf76c8dbb322a88bbd5ac9fbcb9a9b2bcb7c825bccbebbcbc562314bd46c2cebc9c2452bc7f7805bd1f302fbd296ebfbc94c282bc79ca1cbd7c2d33bdfdb3b0bc50b268bc6af6febc998313bd54f8a7bc106da1bca5d90cbdacad05bd20e9e8bb4e038fbc13c0d2bca9b9b1bc6623953a841469bc647576bc3aa11dbc269c033c820ae6bb99fb9abb76dcb6baacb6123cf46b31bc7175123ff547113f3c54a4bcbf1af43a53410b3fd022073f1d8fe0bc39a4a33c55a0f33e2628e73e20cbd5bc7448dd3cb2d4cf3e5f93bf3e789beebcc851dc3cd77d9f3e9dc1913ebef4adbcbdceaf3c0679773e49bd543e5e5e11bd96ca383ca8181e3ead93ff3dc00815bd11f312bbf9ba933de462403da18d1abdd52332bc224cf0ba1cd085bcecc8d2bcfcc99abb1008bbbb0d969fbce88cc6bc9a1d42bc5ad3b7bc863520bde538e4bce3f251bcfc0d07bd85ca43bd09d3e1bce88182bc79ef13bdab4b43bd0527c1bc793091bc6a1b13bd2ccd28bda7eea4bcdd929ebc3c1600bd5aa30cbdbf6b0bbc91e393bce258d7bcbc03c3bc67db353a96636fbcfac37dbcff123cbcd7d80f3c93f307bc24e2b2bb38db9fba46841f3c253d5fbc4b04d93e81ec373f41609cbcffa9d8ba6b06d13e45412c3fca94ddbcde608b3cc24eba3e6f18143f08a7ccbc7a9ac33c7aa69f3e72a3f23e2311d8bc73c6cf3c6c6a803ef5ffbb3e6dfce3bc022e953ca973403e741a873ebb8612bd3844063c5757f83df255253e0cf120bd28b693bbb40d623d715e873dbe5323bdc2161abc7d5863bbf27289bc5349e5bcc083fdbb057d03bc79a6acbcc9e0b4bcef0d41bcc723bdbc456a32bd9049febce07422bc478fdcbcb9e33cbd57d407bdf15178bc965007bd11d752bd661ce6bcf21b72bcf71c03bde14734bddfd7bfbc20f88cbca82c03bd21321bbd981834bcefe578bcda89b8bcbb4acfbc92d5c3bb43fe5fbc158885bc4bf264bc00ac0f3cac2204bcdc1c4ebb6813dfbae471283cbebd69bc9a618d3ee9435f3fec01a3bc7ea9a4b9c5cc8a3e30a3503f9e5ac5bc8094813c94037a3e10982c3f21da5cbcf424b53ce0935e3e7a6a123f8067a5bcc33ecb3c6bf5333e854ae03effada8bc30e7863c5195083eb665a33ec0f505bd0be20b3c1dfcad3da58a4c3e15caf3bcb1e1b8bb6009163dedf7a73da8af22bdd60e57bcac6be6bbf6eb94bc9a91e3bc8e9bd2bbeba127bcfca500bd1d81d7bcb8824ebcb163cebc8b4249bdb995dbbc967a3fbc30cdffbccd6269bde77207bd7c9956bc60b607bd2f2b67bdc655f7bc057662bc7ead01bdd7c64dbd23a7c8bcab6284bc3b5de6bc5e5f29bdc56564bca7c688bc8b17c1bc2791efbc520221bb0bd15fbcd2db65bcce0963bcf65e253cfdce36bcc948d2bbf3b024bb0a264b3c118911bc0e430b3ef07f833fdce74abc4f50653ad14a0c3ea3dc723f53b590bc55ae8f3c5c930d3e86e04e3ff7a024bc0b88cd3c16ed023e4863283f55c340bcc018cd3c4c2fda3d3944023fc17e69bce1c4903c515ca43d5991bc3e49ccc8bc3a5e003c573f4c3d186e693effd105bdca8a09bce2ba763cb380bd3d07c619bd60a955bcf03529bcb0aac0bc91aa01bd00000000000000000000000000000000e47a9abba940a9bc74cb4dbd2cae18bdc3e2b5bb89dfc3bcf4c85bbdae850ebd20d7eebb67d2d6bc722a53bdbd7413bd15ec0dbcd9f7cebc05013cbdb96a00bda69628bcc73dc8bca5f91fbd8680b3bc8f8e3fbc15fe99bcf948e2bcf69316bc4b373ebcdc256ebc516b89bc6c3fbd3a0000000000000000000000000000000000000000000000000000803f00000000dcc1433c2fb1b53c9a01843f206cd33bac8da93cd55d073d10ef5e3fb93fda3b2b19de3c72cc213dce00373fd127843babb2d73cde59173da13c0f3fceccd6ba3df4ad3c0a74eb3c7d07d13eb76830bcce84363c7fc37f3c18af833e0cc7a3bc2f77dbbac16c9a3a60b5e03dc50de8bc00000000000000000000000000000000000000000000000000000000000000000c29c13b98323abef805cd3c891ae13b971839bc33822cbe32d07e3c77f63f3c095ec0bc0f1818be6132133b6b19483c65efdabc5044fabdf7e76dba4d2c4f3c3456a5bc2696abbd031586bb90dc1b3c946153bc38853fbd29be7ebbe5a5cd3b592b7cbb0a0729bc0c2e72bb9db4823b00000000000000000000000000000000000000000000803f000000000000000067aed6bd1832ac3f31fc0dbedc484d3cd93a41bde3298e3f554dc9bd542d643bb6ea28bc4c4e693fd28097bdf1d15eba66495d3c7a852d3f057655bdf89788ba3383cb3c6395e13e9b930dbd3ef2d2b78836013df6a45e3e391900bc85e0cfba915bca3c9057b93b09501c3c721a6eba0000000000000000000000000000000003e5b13cf21fdbbd9c7f703ce771b73a6eddbc3cac2b20be1c3ac33cd960863b3480853bc43035be5ed9bc3b7e5c723c5fd1cdbbd0a826be3367b7ba4e3d943c84df4bbc6e2002be5b7606bc83a6813ce55022bcc713c0bdc86212bc32d8783c9cadadbbc59454bd1ac606bc1457483cf5ddc6baa4fd8abcc9f01fbc2adf093c4230103ce60e4d3c4a8984bad8b0d43af43e4cbee9dbaa3f068e293cae5662bca82d34be2dc59c3fe8fec53902fb47bc508b00be0b478e3fddd88b3ad7f1a1bc33f8a3bdaa01693f1499d33b3506adbc1e8116bd653b2d3f45652c3c163593bc0a881ebc94b4e23eac1e813c783961bc42994a3ca8725b3eb549b53c4be33fbc9f75f93c68dbf73c910d0b3d672959bce8b22d3c755be5bda7d61d3c6c5e3b3ae81f923c1b0183bd261276ba200fc73b84d5963ca66b08be5bdc4bbc26ab873c430ef53b968c1abed670a3bc4655a23c8888d93af98713bec37dcbbc4ecdad3c5e7fa9bb1c52eebd51ccc8bc18b9953c6e1419bbf90eb2bd25cea1bcfdd0873c5acfa53a878f4abd8f545bbce4e7323c3ae9b03b189f9ebcb16fc4bb934ffd3b943d2e3ccb9e263b6d3a4f3b0f0e223b66374dbefdca8d3f2831693e262b75bd2fc94bbe3b038f3f8301453e548e7cbdbbea1bbe0109803f8c112a3e2d906cbd6517e0bdb489543fd7f1093e229b4abdb15b7cbd13c61e3f5695d93dc33f15bd4e8b05bd224ed63e10a39a3df8f7e7bc5bbd13bcbec25b3e32e63a3de20472bc2d38173c6e58393d5262ae3c5dd1e2bb6a09aa3b223d81bd164fe8bbe579a93b4b683e3c3a842fbd5b69c5bcfa8b553c39ba873c513ed6bd6cc12ebd8bdfd43c4238213cdfb900bedc265fbdfeadf83ca833a13b989ef6bd850751bd1e2cce3c6622e7b9e33bd8bd873c38bd4383c33ce20ded3ad8619ebd440303bdabb6893cbe549a3bd17240bd0f2a9cbc9ba2663cc301ef3b1045aabc5261d2bb31020a3ce483413c1bc6923a0d56f03bfb762e3b3e833ebe63746c3fe322ea3e1b37e3bd1d7643be75826c3f0591d73e4609efbdffc41cbed6aa573f5a2fba3ea16cd2bdd915e0bd8c5e333f165e953e25c8a8bd8ad495bd4b8a0b3f8c895f3e654c81bd84072dbd457bbd3e44c0133e0e882bbd2be089bc81184e3e389a963d896daabcd688aa3a41b3693d74e2863c8d88b8ba7d6a14bb47142bbd4689f9bc3b68f53bb2de013ca75adabcc4fb33bde533a03c62ce6d3c778195bdba439fbd5d200d3da2f5223c45bcbebd26ceb1bdc898ff3c3a71c43bf431cabdb44aa5bdcaaafb3c461292ba37b29bbd076479bd8717823c33ee373bc53887bd20df49bd4fadb93ccee1963b0b6d27bd1f28c2bcec59583c910cea3be1448dbc377accbb6061fe3b6cae233c2e82583ab74ce43ba170ac3bf9ac1dbe8113323fb5cc313fb13a1cbe38111fbe0183323f4ec2293ffb0329be3130fcbd814e233f880c123f76850bbe90a4ccbd165e0e3f0ba9eb3e8285eabd4c5f66bd44ecd63e6f1daa3eb8a797bd01c12fbd7fec9f3e0a405c3e76de5ebdc648a6bcf4d6353e8fe5d23d6205c4bcee4d6dbbb0bc763d595d303c408d103b6c8182bbf62bb8bcde4a45bdf38c293c5f2ed53b873cf9bb06b085bd89d4cd3c78df553cd91440bd7082e4bd934f323dc3883b3c14d28bbd9e42f8bddec5273db99a263cfb1299bda292e0bdca98083d421bb03b674e90bdbfb0afbd51d4d43cd10c9e3b75bd66bdb21d71bddc96a23c0512c33b8a6d17bdcb8103bd738b6b3c827ec83b3f079abc878efdbb22840e3cba0f033c4e8e65ba29b0313c2ee2903bafdee4bd2385ea3ed8826c3f05953dbe990de4bd5633ec3ecf38643fbd0a4fbe0896c2bd7d01e03ebe2c473ff8ee31be72ff95bd3f53c63e1ae21e3f424e09be9a445fbd1cf1a43e93c8e83eb0eac8bd0ec80bbd2db7743eff1c923e6cd772bd0e04aabcc9f01d3ec67d013ed4d1b6bcebc179bb52ce893d4276c23b2fe2143c8b564fbbe37700bc57718fbd51f2843cb0ac9e3bef70f43b20ada5bd5a0e0b3d69a30f3cce32a3bc8ecb12be18f3493dbfba343c4d4125bd6a901cbec22b2e3d1ea01c3c4dad4abdbf5f0cbeedb20f3df65cb83bdfb24cbd080cdabd838fc03c21f7d93bc4c32cbd6d0599bdf373a83ce6df5d3bd21fe9bc3ed01ebd8df7593c5507883b254886bcd882e0bb4918953b81deb93bcf23ebba9ffe573c54c4f43a1d257cbdb3246a3e30128e3fd4844ebecb2072bd45876b3eaee28b3f16fc5cbeb41e60bdbdae703e1565743fd3ed39be01d439bd354a643e35d1443ff7c714bee7c3ffbcc0dc483e661d0f3f6bd0c8bde715bfbc9dbb243e0c66b53e32a27fbd970d41bca729e23db95d243ed752b1bcba1199bbe102803df2f60a3b3def7d3c2a3f28bbd655103cfffdb3bd8e85e73caa63043b2cce6d3cbe57f4bd35b51b3d57e8af3b1f55983b492929be2dae683d8e4c0f3c92b694bcf3ad39be0189353da503013c3f4802bd11f925bed9e80f3d5d85d33b89b605bd28cf00bed08aaf3c735e8a3b4c93f0bc4366b6bdbd27803c6d2c203b9869b3bc354e3cbdd554163c47a456b8ad0a5cbc44a72ebc9a4b01bbf6a84e3bbf12d0b82d468f3cc1808338f2bb54bcbbbd2f3c7000ab3f48e44cbef7991abcb793053d9b7e9b3fcb604ebe8abb93bc1f54773d4a5c8b3f19972cbe68587abc8dc6a53deb32613f762c07bee33a3dbcd214b53d856f243f36ccb7bdce80f1bb65f2ac3d0118d13e2eba4cbd345288bb6eb6953dec9e3c3e721f44bc24700ebb5a75683dbcd9d03bb73e083dc961483a0f83503cde1101be6403ed3c000000000000000000000000000000004ec6ef3b998b023b17bd3ebec289123d5c08133c18b53abcdbba2fbef134be3cd18f033c40beb9bccee51cbe85fd2a3ce4fc753b808fc4bc6f3501bea194d53b0542653bdec3a6bce25db3bd22817e3bfb65973a871465bcf57241bdeda9ec39f61f53baee4dd9bb964015bc5639a83a0000000000000000000000000000000000000000000000000000803f00000000f18b783ce4bee4bd704bac3fa4a908becc810e3c04c150bdd9b38d3f3d20c5bdcb31513bdea888bc6b03683f8f938bbde313433bb760013c2cd92c3f0e3b40bd7f82a53b48949d3c8df3de3ec532e6bc91f6c63bf9dfdb3c3f4e5a3e13a312bbc08df23bf161b03cc8446c3be7084a3c000000000000000000000000000000000000000000000000000000000000000036349cbc16e41ebee052a33c8e81b13ce86434bd129a0fbec008973c67a0d33c0ffa78bd16a4ffbd7c3b1c3c32abed3c05906ebdfbbeccbda5bae43b4367cd3c07ba45bdec828fbdc196c73bb1d7973c14f305bd608325bd83a79b3b47ed1f3c02fd28bcece146bc58312e3b11c6003b00000000000000000000000000000000000000000000803f0000000000000000c1aa86bd4eafa83f144a0fbe2a5936bcdf95173cc9858a3f1d24edbdceadbdbc4c737e3dda5d613f2da5c6bdd9ec01bd0983a33d317c283ff447adbd6361dfbcd8bca23d3c89de3e51728cbd26699ebc6df38a3d1676663ea0332fbd39ffe6bbc12b163dd1a1bf3c64b288bc11c87d3b000000000000000000000000000000004efe723ccdb8c6bd3205ca3b7ff50e3c2e7a913b804e18bea0cdd23cc3ce723c2e38fdbca0491dbe4e58503c03d1f23c05e24bbdfba109be4a97f03b9c5c043d8fdb56bdf687d7bd8256803b0623e83c3f1139bdc1c59ebd737c9a3bda7fb43cfc26e9bc1d2f37bd77ba5a3bc8ff503c5e854fbcc08687bc2e0893baa628ca3bed1b0b3cce51d33b5aadc43ae65937bb50e23abeb39aa73fabccdb3cad62bfbcaac11ebe087a9e3f8283b9bc6b61e1bc2a1e81bd74538b3f363eaabcdd8f44bdb524a73a7d90613f9b25d5bc855b4bbd17bb303da6c3273f031ee4bc48b435bd88476d3d1cb3df3e50f4f1bc7fbaf4bc8d2c733dfa0a603ea3e9b4bc893475bc2216553d45ce053da46e873b860b91bb3a64bb3b5f75c7bd15eb7fbbd542443cc539753c8e0479bddc121cbc7288433c0805b63acdb102be8cdb2cbc0033f13c6235ddbcd22407beaa2482bc9a66193d18fa27bd2553fdbd55b272bc7c45213d5c5a2fbdc46accbdf15870bccaf00a3d31c718bd5a159bbd9430cdbb391dd43cbe7ac7bcb53c33bd59963cbb5920893cbf540ebc630699bc30e14e392d82f53b643ddf3b10ccab3b7974f7b8fad9d5b9a96640be5f638c3fa59a753ef63a85bd160b2bbe981f8e3f51ba3b3e8beaa6bd3ab7a4bd5907783f84c5193e3130b3bdc78201bdb726503fd2d7d03df965a8bde5617a3c619d1b3f00b08d3d88f38abd395a0b3ded6fd63e587ee53ce12246bd0f561d3d785c653e87dfa83bca07dfbc5d540f3d0c40523d6dfce7bb24a34fbb14f8e83bad8976bdfc9c8bbccad0563c354f173c5ada3abdff91f4bce5729a3cf056633bff5bd8bd9f3f25bdbe9a233d8c349fbc47def7bd0b0d24bdbbad3b3dffbf00bde7c1ebbd7edb10bd5a2a313dc7171dbd42a0c0bd3561eebcd75f253db5a501bd599692bd9cab90bc443df03c05caaebcdbe52fbd8b731ebc4d58a73cdc849fbb2d4c9cbce65e4cbb398c163c108dfd3ba12c4a3b0cbe493bfde56b3a671e2fbef6b4683fc9bbed3ebeacddbd7e6c23be78906c3f9565d13ebbcf08bec041c6bdf11f563f7c70aa3e532304bef68123bd380e343f30797e3e6c9be5bd711d77ba0c910c3fd2b92d3e6915c8bd632cac3c1504c23eec48c53de39d85bd8516003d741b583ec3490d3d2a0c0fbd3b67d43cbb8f783d4b9111bc76bc9eba7d9e933a24e62bbd197f18bd0977723c20ea023ca4c100bd5ddc40bd363dc53c0cd10a3b028dabbd532e8dbd6772463dcb6081bca5b6cebdc3428cbdebd14c3d30cae8bc3908d3bd86a176bd3e8d533d921a08bd5b63a2bdb33e32bd8aeb063d2354e9bcb3108abd63adf8bce239103d1cda9abce1a323bdcd4663bcab34a43cc216b4bbfdee89bce56898bbd2c8203cbfc0f13b42b6123b9b566c3b6ed50b3bb53316be2a29323f1949303f1fa613be61bd07be1b24363f5894233f8e8c34be086f9cbd4dc0273f2a5a073fed9422be3cc622bd782d133f4ebfd13e685115be0c68f73b8b42de3e0646923efbb1d5bdcacd803cdc45a93e75cc2e3e56e6aebd57dfbb3c9556413edfd4903d40d332bd4073b63cda5e833d0ae5d2bb54311dbb199134b95e2be3bc149a57bd786f903c81d5eb3bfca895bc11147fbdb41cdc3cd222b43bd91483bdfccfcabd87a76b3d471117bc704db3bd763fc7bd3c35743d7d3ea4bc47b1b3bd1305a8bd8d6c553db0adc0bc9c17a7bd23ca83bd6bb43f3dd703c3bc0df077bd16f12fbd0f03103d8e3e84bc71341abd453ac1bc0a56be3c8997c1bbd67c78bcec64f4bb7605293c6056b73b3dd9753bd319933b1ecdc93a0d26e6bdba57f23e8a40673f789b2dbe7678cdbde401fb3e0cb55c3f411458bead1181bd2a29f53e7aac393f4f1248be645ce9bc0c78db3e1330103f6c8d29bebcc21cbbec19b83ec4adcc3ef9fa08be23bd6a3c52dc873e43d8783e26c6bcbdd00abe3c1c85283ecd6fd83d671247bdb8a4ad3c70be7c3d3eb624bb2cd79939f20d9c39292c82bce58c85bd32e0953c97f3f63bfe1fdcbb6e049fbdba111a3df337be3bb96937bdb53800be4e80803d2b37cebbb1ae8bbd76a4f8bdd680733d39b668bc2c2b9dbd1b98d9bd3d2e693dc464a5bc462c8bbd9dd99fbd0d3a2a3d88e598bcbf835abdd8d764bda9f7103d23406fbc83bc07bdfdbbefbc4049b73c3435c6bb08a45ebc50481cbc7da0193c0e47743b4b6a733be462af3b41ef97b623788dbd84957d3eed018c3fec6f40be72ad66bd6793883efd27883fb7046bbe702f0ebdd01a953e9b27643f66684abe0e5580bced9d913e5fdc353f53bf36be9e2c053c29407c3ec69f003ff2e008be473b8c3c5f5c483e6af0a23ee715cdbd5de2ad3cfc09023ece1d153e83465abde553a73ce5796a3d86a89338e781843bd2f0793b7545d4bbfba2a1bd5d0be83cd5a3f83b56a0db37e248e1bdae6d203d8224fb3b804bb5bc43411dbe1d45983d00c6d9ba24905abdc7931abe4320883dfee01ebc9c8e7bbd986704beff75683d9c425ebc1f3576bd2f09c8bde56a353db30274bc1a7743bdcea88cbdc9280f3d87a458bc29ececbce08417bd6794ad3ce1e605bc2be247bcbc4339bc79889a3b2fbffb3ac6f6c43b85200e3ca9cdc6baf6dee1bc0de10e3d18aea73f2fc33cbebbc426bc47dd633d88c69b3f73716abec78911bc23f2f43ddeea853f1a914ebe7830333b3754153e8c6a533fc1982ebe4fa9763c3fa4183ec472183fcae308be6bf7bf3c6652023eb784c23ef0b2c5bdc874c93c9d46bc3d8c9c313e62fe3fbd09ccba3c7feb583dfeb37a3b593f943c5da3c83b272441bba10ce0bdaf3ee43c0000000000000000000000000000000056aeb23bda5ec8bc061224be94503f3dbe2cc13a240f3bbdfcb911be51783c3d7c45cdbba7285ebdfe1bfcbd5b92023d64c136bcb03952bd54a8c6bd90b0d83c20894bbc5a7a24bdaa838cbddc60ba3c695e25bcf0aacabc1f4726bdf965803cc2d798bb374bebbb72163dbced69e63b0000000000000000000000000000000000000000000000000000803f00000000efbbfe3b003995bd0c01a83f0afb13bef74f4c3cb48d8d39fd3a893f2c0b04beed269c3cdb3e3b3db0975c3f04f0dbbd218fc83ce1fc833dddf9223fb5b7bdbddac0ea3c09dc7a3d4fe7d53ea95b9cbdef5ff13c1788493d3dda573ea6c12dbdf35da23c461cbe3cb4bc7e3c67f72fbc000000000000000000000000000000000000000000000000000000000000000051733bbd55b7c3bd6aa162bca585273da93483bdb560bcbdbb33d8bbbeea453dd5b993bdd951adbd602cc2bb45c9413d0a808cbd693f8fbd570751bbc6c22f3dee9d6cbd489e4cbdc1fc303b77db063d6a721fbda151eabc31b0b73b04bd9f3c091b86bc752812bca6dcc83b0acbe43b00000000000000000000000000000000000000000000803f0000000000000000ed11b23cee48973fbed859bda3567bbdae419b3d6e587b3f730c66bdeb329ebd089edc3d2f324c3f78e369bd3230a8bd45b9e03d7eb01b3fba0d76bdbc659fbde401be3d0d50d83e340786bdeed481bd29f8863db16c793e53a774bd27751cbda3acc53cbd168f3dd1d151bd1d3b1fbc00000000000000000000000000000000bb3f47bc5a2f54bd131ca1bc98928a3c75ef1cbd22f5b9bd178625bc60d1293d693d86bdde75c5bd275623bc0308513d8c289bbd4f6cb3bd149ee0bb66b1573dd15893bd6d4f8fbdaa15a5bb29ee413d95857abdb0274abdc91a203b92e7133dccb027bd4b26e7bccc20a33b0c00b63c371d6ebc4e2816bcaab3473bf28fd13b0c587c3bee38ea3b0e6c6e3bef1226bbc72ba2bd15d0963f113fd73d126d53bd969645bd01818f3f6700783d57f0acbd68aa2f3d8d8c763f0c5f2b3dad61d5bd3765b83df93c473ff82aa33c48d3dfbd7db6d53d36f4153fc34c5bbbf2afcabd2624c33dd953d23e61fce7bc6185a8bd357e8c3d7e236c3e7c1c1cbdcf7351bd6e720e3d61378f3d985e10bdcb591fbc56fa19bc51075bbdffa406bd8028133cbfd71cbc424d05bd1faeabbc0938583c344f14bd303b9dbda938e4bca51a223d442860bd0f5cabbd9d89c6bc4257353d54b78ebd4170a9bdb9a696bcc5d4553d478489bd5ed383bdea7161bc62562e3d238f6cbd6c4e48bdff5064bb62dd183dc05421bd2215e2bcc6c8bbbaad73c33c29e78ebcd9b923bc2e77253bbf6a383cce667a3b9e1dc03bd1e86f3b8313d2ba631fc5bdfbd17f3f885a8e3e6dcf8cbda0886bbd8e9f7d3fee62723e1f01e2bd6f60f23cbf86553f7913433e9500ecbd247a893d7e05363fe3ee073e56e703bed371b13d52ea083f00f1b03d5340e1bd853ca23d7783c43e50e90d3dedfbcbbd4681683d418e633e86ef423ba01f85bde0dbe33cf41a9f3dfd5bc7bccd7edabc55b4d5bb841206bd493e01bdd3cc243b934346bcfa33d7bcad51e8bcd20a2c3c15c807bd2fe189bdb7801fbd44be1d3d9a3862bdaaf9a9bda02512bd844b4d3dcb1c83bd429ea0bd0cb5efbcd1da4f3d6ae683bd3c358abdf224abbc1288473d3e145bbdb20741bd96923bbcd7dc1a3d65d622bd0980ebbc153e6fbb4457e63c08e38ebc87a10dbc5653d53a7ac43a3cce7196bae0edf43b2cc26b3bc2d6be3a4faaa9bd5319543f75cdec3e7292acbdeb1c61bd5e99543fe590d53e2e1508be98e18a3c08053d3ff018ad3eab9213be6fe66a3dc0d11d3f03f0823ef67712beca26a13d468cf63e04d9333e965b0abe6b59933d56d8af3e23d7cf3d1ecce8bd3e8a5c3dcb86523ef7a91b3dba43a7bd32acd13cef119c3dd00e12bc08ae19bdb30108bceafcbcbcf18116bd9350f3bb00da2abc0a52a9bc8b2507bdcf61043c5939fdbc6cd075bd02c24dbd1a4b183d280343bdbd6798bdef0f41bd88b8333dd78b74bd026c9fbdaea923bd4de5563d035b5abdb12e78bd186ef9bceabd113d23995dbd9dd04abd248c9dbc7ba82c3d3ebd1bbd2a2bdabcbc2f1abcc1a9dd3c28af95bcb00012bc4bd2b7ba84b9733c8c555dba3c87d73b14ca8b3b47b2393b20aa9bbd3516273f985a243feee7c5bdcbb733bd03ff283f3af6183fd2c417bee120923cd5cb173f6e40fa3e9d1818bed516613d55fc033f4c11c33e97ee21be42678f3d9b39c63e6e388b3e7c87f6bdf11b8d3d5ec9993e29e32d3eecda01beaf0b4e3d5a97353e81caa73d6635b5bd7ef9b93c1bd28d3dbed3ec3b150541bdff01f7bb21b096bcae2021bd96a65dbc8f06efbb9b02a0bc54fd21bd5549023c27a8bebc42de6abdb1bd82bdcccb203df1632fbdd0b298bda0ea7cbd0e9f4a3dcceb4fbda60f98bdfd9e59bd9cfc4c3d70325fbdea9089bd5c5620bd13ba453d7aea3bbd2eae43bdf479d9bc106b243de1e610bdbcb0e9bc6e5d5cbc0a8ff63cdc708cbc6bba13bc61ab56bb19cb713ce47032bbe74bd63b7563983b28b3783bca658abd6cd1f23e312a523fdb55d7bd95532dbd2e29fa3e697e473f28b826be2de5813ca452ec3e6ec7253fae352bbe17e7463d0bbfcf3e9dc8013f233f26be59428c3d9228aa3e8c08bb3e94ff19bee957823d223e7b3e1244733efc7407be43474c3dc7e6193e003ef63d6d70cabd697ed23c70c6683dace7b73c317d49bdea70a4bb44e57dbc17c32dbd6e3b8cbcb8ed21bbb11098bc51123fbda399653cd2a681bc79f95ebd2e98a1bd92a32a3df32203bd3cb88ebd6ed691bd61cc293d5f363abd0b5b95bd282284bd9f474e3dc8d937bd14297bbd042243bda878273dd3702abdc5cc49bde38d0ebd46ee283dc33005bd5eb3f6bc72bfa1bcacd1ed3c5a0185bc49d00fbcefb2d5bb4b337f3c8973a6ba7730db3bbd024d3bbe9a4c3bc0956cbd5e15953e2d387e3fbf4feebdf3d8f5bcfcb3a03e58fe733f84772ebe24a7ab3c27e3a03e2542463f7e5f1abeadb7493d4d19983e7b02203f6d2228be97ab813dce79793e2734e73e635010befd897d3dd74f423e66189b3e870a09beec35423de165ed3d4789273e731ac1bd426ae63c08a52e3dc8d4123d30d148bdb9b393ba85af86bc1f3542bd81f017bce4fd4d3bbb0eb7bc316985bde39a3c3c6ec5d8bbf42754bdf13dc8bd372f503dc23dcfbc478e8dbddc49bfbdce0d553d7fb315bd263c98bd47f29bbd3ae1503d496c21bdbd9f82bdf9a86fbdb6d0333d1f5b13bd796b46bd9b672cbd7859243dd2e0d5bc5755e4bc61b6c9bc695fee3c546144bc9e1b09bcf09e18bcd5d9693c3a6262bbaba9dd3bda059c3bac4d823b698e2bbd0945f63df748963f2717d7bdf1548dbcde94113e72088d3f50e32abe126fcd3c719f3b3ed5376b3f354023be0ff3533dc16f423e88fe393fe38e1fbe0236883d005a303ed90f083f3a0210be3325803d4c5b093e4fa9b63ef48f03be34ce513dda64a93d9750423e7697c6bd5fbb0b3dd50ee53c2fff343db6812cbd1e72dc3acf25a9bc758183bd5c6070bc00000000000000000000000000000000f49c8bbb4b284fbdead9c4bd3fd2c93c473c97bc157d7fbdd8d0b0bd16000a3d8a3dd2bc66e685bd89f19cbd4002f23c15c6fcbc60416fbd0d5376bd816eeb3c0511ecbc76ce42bda9ad38bda8a7e73c44eaafbca50ff2bc541ae0bc29d3bb3c31584bbcbd302ebc07c92bbc31577d3c0000000000000000000000000000000000000000000000000000803f00000000750fac3b26a6c23c498f953f09afbcbde43a103d5668873d6f26763f6b1ecabdabb5673d46dbbb3deed2453f3090c7bd71a6883d602cbb3d68b5143fdc13ccbd9828813d2ba99a3d326ecc3e28b3c3bd60ad4e3d213e413d8867673ee45da0bd10dff83cc93cf13bc174723d17455cbd000000000000000000000000000000000000000000000000000000000000000064e4ae3c52fe4ebeb8e5483d0b6f5eba91e5edbb8c983bbe17e1d73c72e3b43b6e8dd0bcd3ba2bbe7f1b5c3cbb90e83b77ec04bd8e9d09be089aff3bd09f933b2cc6ffbcfb67bebd882820ba1349a13becb9b5bc401153bd19b78fbba5e3b93aec662bbc24af38bc8c9dcfbbf2a69f3a00000000000000000000000000000000000000000000803f00000000000000005b24e7bdfa6eab3f9a5524be8220a43c7ff607bd41ba8b3ffaa8dabd0b9c573c0726b03bb144693fcc2cbabd663c423c312e0a3d12532c3f1f9e77bd9793273c9a675d3d077bd83ef0daadbc28dea43b660f6c3d84a8533e71fd173ccf46ed39b9d83a3d47d3ebba2347073d8aec62bb00000000000000000000000000000000162d183d8d1003be642a153dbbdc3ebb1c32f03c650526bedbd4fd3c2a5209bbf2015f3c9c304ebe1e1db73cf29d2b3cad1437bbdbb53fbe31be4e3c2a352c3c2c287abcb15b19be3bdfea3acbd7173cd76b84bcc62ee4bd9e5868bb6e32073c6eb76bbc1a707ebdeda69bbb1ace9e3b285d40bc852ccbbc18fbf0bb1d1ba23b9c118c3b66f51e3c6c4516bb9a700bbaaec35abe2c14ab3f4f7dcebbfa50cbbbcbb014bed7c9953f01cd783cafd642bc889eefbd27908d3ffa79a1bcfcb51ebca8bb85bdced3683f679d62bcfb94c7bb48b192bc44512e3f3dc48dbbd253f0bab97f813c1fd5e13ee270823ca41eb9bb1fc1073d4fdf593e49a6fa3c1a6e8dbbf731263d46ca3e3d1c4f173d2bc922bc63b4b23c48d5efbd1fa7fa3cdc955cbb3077e03c13c799bd7aec503c3a40603a0d73de3c454e23bee6f81c3cac18023cb0279e3cfa393fbe91c557bb57fd413cd3b0e93b308836be166614bcc687563cda579dbb4a6915be018f4ebc5da52c3cc084cdbbf128e1bda9075fbcfdaa153c94e290bb134b82bd79a824bc9311b83bbe0120bbb185e3bcee42c2bbe123863b133e253baa68d23a7e23883a0e0cd23a94b34dbe92568c3f700b633e5f7e54bd48d645be75818e3f1121313eeeae4abd381d1bbe7af3823f9b43023e766816bdecd2cdbdb08b5a3ffa20c53dbed3dabcd4eb56bd67d1253f95f5943d301f88bc0f4d69bcc4e3d93e0d72833dc0723dbc6ba0813c18ee563ea59a503de009cdbbb3cbbe3c90543a3d9c7f083dfda227bb6464593cccd885bd4ff1263c0759cb3af2a6993c898b81bdfa7e20bc04f7503c2ca6ec3cfb8e05bea2eae5bc7faca23cd609a63cedf925be9c191abd8115c43c2f18343c9d5023beda3616bdc1149e3c1618823b17330fbede76ffbc5b12723c43c130ba6db0d4bd751dd1bc2033313cf03411bbbaf182bd240474bcc2a9023c59f92f3b5c27f2bc104e01bc1f31e03b5c12203c527923bb9cda9f3bdc16893b401946be52896d3f4b1de43e1d43d1bd7b073fbe58416c3fa087cd3e70b7cfbd89151dbe7dd95d3f7f1ea63ef57ba7bd86b8dabd72fb3d3fa4dc783e1f286abd32498ebd0efd153ff403333e16ab17bd2e7ae5bcef32c83e2950f53d8e28a8bca5d1e43a6909553e7d1b8b3d1b61b1bb34204b3cead26b3ddb6aba3ca4f88b3bae01853bbf2948bd1e2d78bcd7580f3cd072713c79481cbdbfb51fbd298cc63c3e0cc13c8df4cabdc61086bd7f64053db249be3c44de04bebcc3a1bdeea7023d7001773cdeb90bbe475d90bd4ff0c33c0db9673b135fe5bdb8bd59bde68e603c9b61cb3b2963c3bdcc3b22bd6825503c8f96d23aeae674bdd56a8fbc3871c23bcfaac33a3a46d6bcdd67d0bb192cb93ba562b63b003c3bbba212c43b6953ae3b33e721be384e2f3f2d2e343f52f921be08131ebe58d6323f733a253fcf9f1bbe3e8506be92352b3f8ed90b3f1f7502befa6acdbd2255183f2ec1d63e42acb8bdc99e72bda2e7f13eb0d5933ea16461bd8dc21dbda00fb23e0a3a343e57dee2bc9666eabb19d0433e5152aa3d83d329bbc93daa3b65a18d3d6c74343cb7e8343cd3fd6a3b3398eabc370237bd763da63cc0522b3cd6b13abc85dd7dbdfa76033d902aae3c3fa080bd22b7dfbdfb90343d0e92eb3c07e9c5bd1b43f6bda587223d90a7c83cbb69d3bd3177debd5941003d9220703c93eecebd8150abbdac00af3c2695263c1627afbd78ed57bd63da5a3c4c3eee3bbf2164bd02cee8bcfa0f213c1422813b03bcdfbc5a6f02bc514ad53b0c3e8d3bea6a13b9b0b7183cdd428e3b18cfddbd9ef6db3e2cb66f3fceeb43be5213ddbd5c26e93e4521613f06cf43bef1f9cbbdfb5ae53e40db423f67d326be55e19cbd5f1cd43ea660173fcedbf2bd6cdc6bbd01acba3e0b7ed33e660a9dbd3d5f0abda0a68e3edeb67c3e09aa0fbd54c879bc5275383e1a9ad13d93302fbb3b7680bb2eb09b3d3aacab3b6f779b3cadcf7abbd2eb0fbc27a78abd1926c93c13e47c3bca27e93bfca3a5bde490203d4292823ce65dcbbc3e8418be5cf4563d730dc93c501b67bd638b28be8701423ddb23be3c241798bde1cf13be5ee70e3d37d6903ccee896bdf67de2bd250fbe3c89754e3c0b318abd0c2d98bd60f2603c77a6c53ba99c3ebd4cf40bbd7cf1e73b7d69e93b8c8fdbbc55771bbc0a69503bb241573bcf875bbb102c343cdf9b7b3b9ff457bd6e94553eb6558d3f466649be0cda6abd2b7b613e9f2d8a3f6c5852be4a745fbd15be6f3eacdc733fb7b03abeb82d34bddc69773e9e72403f298a09beb42207bdb4496a3e0b05093f9b37b5bdf0f1d4bc3b674c3e6b2da53e48e31dbd9e0b56bc2134143e5a05063e7360323a648ee6bbcacc9d3d00c27fbaed63db3cd78086bbc7c3133cb27aa8bd48f8033d6c557e3a5a35e03c562606befb9c583dae09283c15e3f73a97d326be86636a3d06f7ca3c4b01ddbced0b47be2b104f3dfb77c33ccbfe34bdadf533be711a1c3d6ae4a83cd8c750bdbdc40bbe5035b83c3fb88a3c26914ebdee5cbfbd25b0483ce7c1bf3b2d531cbd056444bde52da13b7c2d413b3c15bcbcc28872bcaf82e7babe04043a7a71dd3946fb763c4bbf133a6481b7bbdb8181bce117ab3f336b56befa6c95bcfc1d513d1644943f462331be79caaebcd98a813d1964893f1e542abe0706a4bce24ec33dfc105d3f835c02bea9648fbcf27dea3d2404203f44eca6bd4f0660bc7484ed3d4fa4c73ee24b16bdffae12bc4d9cce3da396313eb091513b436beabb6cd48a3d0eccaa3c3295fd3c891d4dbba1208a3c135f05be8a5c3d3d0000000000000000000000000000000051b04a3cc32f883c058254bec95b553d0c0bc23c1b8c81bcc1cf3fbe1359fa3cd089d13cc12e01bd8c4534be54548d3cb456843c103716bdefb10cbe191c153c3d7b8e3c2ba316bd41cac6bd1fbced39896bc73b47d1d1bca19752bdbc3b75bbc88a8fb50a2032bc451028bcdded20bb0000000000000000000000000000000000000000000000000000803f00000000e87e6a3c829500be2f6fab3f39a018befdb0da3a91ea2bbdb1498b3fd41bc8bdc962d5ba326dc6bbc0a8683f4371a4bd0aeac13a066bdf3c0a652b3f4bef5cbd24df5dba66d3433de2fdd73e8f78a5bc6815873a98ac5e3d01b0503eaac5e63b4c716d3a59fa2d3d3a4a8bbbae3bf63c0000000000000000000000000000000000000000000000000000000000000000ac044dbc6e872bbefa184c3d78edce38673187bdeb8bf4bda3011d3d5aa2423b84e2c7bdb939c7bdc1d1d93cd262ed3bfcbad0bd9cfc8abd053ebc3c7db3a83b0364b1bd499224bde96b413c2b45a33bede678bd10cea0bc24b6013bde029d3b9dbdc7bcc2a2afbb594b82bb30ed753b00000000000000000000000000000000000000000000803f0000000000000000e677a9bd959bad3fdf2158be4406c43caae72f3d931e8b3fb3c347be83af9e3c87c7003e2fb75f3f28f73bbe00a4973c2efb283eef831e3fa6d31ebead28a83cb10b2c3e5ad6bd3ef2e9c5bd216d903cfdb00b3edb1c293edfd206bd5064b53b422e943dc7d5b2bc827cd83ca4c505bb00000000000000000000000000000000d934143de952f6bd22efea3c58ec99391f7edf3bf9c012be218e1b3df15ce3ba99e42abd762d18be3d16fb3c416f213c567d95bdae39f4bd3979c93caf5d413c3af7b6bdae11a5bdd529883c8017203c74a8a4bd793d61bddbbe273c2d6b1b3c72fd58bda7bffdbcab58de39528b163cb11bf1bc2ff42cbcfbdb7dbb2ab7c83b1877d63bf420833b386a7ebb91d66c3a2ed358beb01cab3f80a61bbcd62c36bcdd20f6bdcee6983f175d3cbdb67f60bbc0313dbd1ec28e3fde27d4bd67db49bbd1632d3d6a76653f66def8bdb0cca93bac45d83db9fd263f848ce2bd4d5d023c2ed8ff3dbc61d13e36c392bde2c60b3cfcbae43df0313b3e1f4fa1bcb14a493b1f12a03ddb25bc3c0240ab3c946ddebb9f22683c91a3e9bda3541b3d49a151bba24b0f3d6e50a8bd4e09b13bcbb1d23b25a9343ceb7410beb883623ca6b1533c6e13e4bc3c4215beb476573ce4dd8f3c6db867bd82c3febd94d92c3cfd61943c93e297bd6e32b2bdc139203ce6c56b3c2a3b8bbd621574bdde9f983b0639463cadef3fbdd1570cbdfbfc403afcdd1b3cf83caebcaece66bc797528bb4eb1c73b5020a83bdd6ea83a38b81dbbc3a5d93ac57f50be9d038d3fb942613e63ed61bda66e26be3ad28f3fe738fc3d9dee56bdb98bb4bdeabb853fff2b113d3ed92fbddc270abc86195e3fcdbabebc499abcbcf02f803df140253fa0464ebda14975bc9a90b83dfbb5d73eed5839bd7690acbadc20bb3d4bff4a3e7285b3bc2a57aa3b2f3c823df9c4f63cd8f7d73bf341253b759e773cea8e93bdf5183c3c00fe903b3daf003d571d91bdfcc696bcc693a53c9f1d993cf8f001be116588bc7d07e13ca6d272bcc6cf0dbe38be69bc4a1fe83c09aa39bd89cdf9bd058e07bc63f6d13cddd27ebd8b03b9bd9ea7c1ba4618a23ccb836fbd3bb17ebdd0662dbacac16f3c5ea428bd0c7814bdc9e53abbee754c3cbfad9ebc74237fbcf5ee47bbb6e5023c79ba023cc2f23f3add50ffba0814ca3a88b94abeb3296d3fb2dfe73e8effe2bd62162dbe5961743f4882ae3e386cdabd5462debd05006b3f72565d3e811eafbd0bbf03bdb3ee493f04a4da3d76ec6bbdc738e93c032f1e3f6629c53cbaee04bd24f1823d186ed13e88b0b3bb0fff4cbc88eb953dee16543e83ee41bcb39a643ba7be603d0f15433d3b4c2ebc9a77433c5cc2363cea1e79bdfaf95bbcc709983cb67b063d8e0455bda5b335bdb4de013db250c43cab8fd9bd14665dbd9fc82b3d31c564bbbef703beb9363bbdb5ce2f3d63e4f1bc378df2bd891401bddb8d113d9e1457bdc3afabbd838f92bc9109be3ccb8444bd7e1681bda4d210bc5176913c7f7611bd3c6e12bd110cabbb5cf24e3c621d6ebcd6698bbc7deb65bb3b2ef63b5b620a3c0177c739f4d51439aacbe63a16df2abebc62303f3bf4333f764024be547e16be89043e3f554d163fb04b29bed8b9d3bd9e56403f7337dc3ee96d13bea93f47bd5e082f3f15a5853e1b5fcbbdec08c53c7af9083ff1a20f3ef1708ebd9bea1f3d6871c83e9e19263d6b50c6bc5d04703d359f523e9da55bbba3569e3a3129353d56e2783d384dc1bc471fb43c5590403c38a43dbd4b0b26bd2b3eff3cdaaddf3cf33801bd86f38bbdd0741f3d5420f83c4658acbd380fc1bd4f2a753d7288533c03ffe8bd8f3eaabd243c653d11ed6dbc6e32e1bd10a07dbd841f363d894c0abd9b35b9bd47c11bbd532a063db34e1cbd4aab84bda69bafbccf96b33c8bf2e4bc5d5021bd766b2cbc3abc623c2f1c47bccf648ebc6d537abba85dee3b41b5093c9c435e3aecd4163b1a04d138c084ebbdce3ae13e22c16f3fb1b744be2a67debd6c3c013f5d50543fe2af59be2c28b9bdbb9d0d3f819f253fbda63fbeef262dbd3743093f1789e03e9a6f10be619f98bbb6ddf03ecbe07e3e331fbabdcf35d03c1eaab03ef65fe63dfd191fbd7e7c1c3dc4dd4e3eb170b23c1b410db95052123defe8983d8c5808bdf8a0cf3c79cf103cd522fdbc623683bd517d273d4631ad3c1337e7bb50e9b2bd62f6413dd4affb3c939a6dbd0a3105be07168f3d30d0b33c2a54c0bd37f8fabd0c9c8e3dce1a09baad7fc7bddaccbcbd8b51643d12feb5bc9528a6bdb39c74bde75c1c3d855cd7bc711881bdbba10bbdef20c63c8ea1afbce6091cbd34f068bc4171633c4dcb2ebcdbfb91bceda623bbac96bb3b8889db3b149090b9fc486e3bb34ac6ba9eff76bdc1df583eb4ee8d3fea374cbe6aac83bd2a978b3efd7a853f484f71be75f063bd3870b03eecfb5b3f2fac68be279301bd27cabd3e99871d3f2d6234be5abc043bd440b23e62dec73e309dfcbdb8f6723c6298913ec39f493e15b273bd977af83c22db373e36664f3dd4cf08bc5cd1c63cbad59b3ddc0908bd2f4aeb3c2e2cf63b21e93dbc3fc9a5bdd353463d8c09aa3c9d2d303cabf108be2c706b3d2ab3e33cd57af2bc27c61dbedc719b3dfe83023d11229abd538a1ebe7cbb973df7f84c3c946eaebddd4ffbbd3b32813d396df5bb2bad9cbd4ab2a9bd31d02d3dc90187bc9c3474bd34ba50bd61c5ec3cf6ba8fbcf39d1dbd0d4bb6bcb74a6a3c01e116bcf04db5bca2d189bb5ff7323b5cdb5f3b150fab3b04083b3c76a9c3bb852360bc382c98bc3ce9ab3f714855be5c3799bcf96ca33de8b2943f9f3a62be43d4f3bc8a43213ecb83823f295469bec5db93bcdb2f623ee8d6433fdc0345be0bc54d3a667c783e67ed013facba0fbe92ec2f3cd0125c3e9ce78f3e9d8e9dbd3718a03cc643193eb1fbc43dcbf37fbc6ed4713cd42aa23d03bc5cbc11c7d73cafebfa3beedca6bb53b7f9bd48ad653d0000000000000000000000000000000016e2153d331fe6bc852546bef8d49a3d4830eb3cb52b85bddc231ebe050b843d00236a3c8932a0bd67d505bebff64e3d3f42b9bb4b768dbddcbbbdbd3cee1e3d58c67dbc27e955bd668269bdb7c1cc3cbf148fbc082c0abdd9e5d5bc12c33c3c798821bc001749bc184519baa2f2b83a0000000000000000000000000000000000000000000000000000803f00000000d443cc3bedb7cabd6d56ad3ff00d4bbe519fd8b921af093d5ce6893fc8483ebeec1446ba7b3be73daadf593f7f1d2ebe90e56c3c04c31a3e966b173f2c860dbecedcaa3c0389133e56fdb03e2677b0bde54fcc3c6a99ea3d7388143e03aef8bcf10d973c2ec95a3d5c83e2bc4022a53c00000000000000000000000000000000000000000000000000000000000000006a1194bd1fa1b9bd9057f73cedd8aa3cd63407be7abe94bc1f92183dab8b8f3b86e01ebe4ea1b63cb22af23ce7bc44bba7c812be4b5d2e3d4e58d33ca7800dbc0f22e2bd20c9313db7ab7d3cf34726bc4e3d84bda959e03c2a0d513b0eb5abbb2d668fbc1f97aa3ba7e180bb0752203900000000000000000000000000000000000000000000803f00000000000000003c35f6bc4520ad3fa23d53bedd8c0abdcd9f053ec110863ffed37cbe39458ebc18e8793e8217443fd4eb82bec126c7b9f7f78d3e8cbffe3e5c237bbeb54eaa3ca23d803ec247863eaddb41bece18153decaf3e3e5d6e9e3daf96c1bd4b81063d288ca43df48751bd950cb1bb2fe19d3c0000000000000000000000000000000077be9b3c04dadfbd1a409f3b49b4be3c201e2ebd1406c0bd0687053d2b8d453c9a3501be02d103bd6392f53ceebe1f3c9f7921be44a19a3c7460d53c491482ba48c11abe3dba3d3dbc27a63c369c0dbc644ef7bda925413de889fe3b2d74d1bb0bdd93bde5afeb3c4d807b3a82fa77bbd5c8f6bcf98fe23b055c38bb55a6013bf4de723cb11fd4bb29cc7bbb7746c4b9906254be3ea1ad3ff3b8ef3c45584cbdccce00be1c33a43f6459d8bd9bc601bdcbc34d3d73538b3ffbf726be81cd20bd56ce3c3ece384c3fdc484cbe5ea043bcb539823e1de6033faaa651be3f4b6b3c90737f3e548c8d3e769e25beff02043d6979423e5bb59c3de13e99bd12c6f13cf068de3d828321bdb19fc93b3dcc083c682640bae60ee2bd29d4013d1952353c031af93cab26b1bdaa87fbbbc07dbb3ccc720bbda36bcabdecc21e3c4b7ce83ca365e1bd1fdd3ebd8289813c7673b63c121f16bef5f7d63b74778c3cc289003c85f810be636b013d3446843c265dd83af597f7bd446e383d4975313c9cd9f6bb15db94bd110af33cdc9e92b922efdfbad546e7bc83fb353c6bb25bbb6884e1379e28343c9fcba6bbe80688bb675191381d005dbe29f4903f6fd17a3ebf73a9bd24fc16be6515963f7f2bd93d9aeec2bdecd6113bf5c9823fb6bed83bd57bbfbdeba6013e2ea84a3f6e81b8bd2f605dbd1b82513e7395073fd38a02be3df4e7bc004b5a3ec9a19b3e495e04becf3a213cfbd42b3ec4e3d43da4a297bd9ca8a43cacf3ca3d9b35ddbc30786abc05fa8f3c4fb72c3cdedeafbd55267e3c00af7d3c98de053ddc0aabbdeb93cebcd7b3033da4609abc418cc9bd986d44bc0872223d8d3dbfbd913e67bd33b2073b6144013d0c9c0abe7c9bd3bb2d150d3c2d0e8a3c65c713bedd4b0e3db81e433c5a8b893a984df1bdbbc01f3d4577ee3bad970ebbaa2896bdafaaee3c46b744b91d010dbb7b45e4bc0536233c8cb165bb314f1eb9e110443c2279d5badde4bdbbd94673ba1e3c53be588f723fa4d3f73e8fdc09becc1f25beceac803fa6c3ae3e15ab20be9aa51cbdcad06e3ff68f393e1f0411be1726b73d43f53e3f73a5223dbca7c3bda3922f3eb747073f611b6cbd0dcf53bd49153e3e39de9e3ec84fafbd62a139bcbd17203e423cec3d83ca7ebd137f653c572bc33de8d985bc951fb8bcbcf6b33c5d39353cc0e3a3bdcc64e4bb342ad83c7cb4243ddc029ebd4b7e2dbda4bf1f3d4197ebbb681fccbde3760dbd55ad563d22d09ebd723e8bbdfff682bc3d8a303d06e9fabdfd8f84bc3cc2ecbaa47bc13c5d7702bef4e92e3c5125e83b7b92513cdf41f4bdc6f7213df94fbc3b1e2e8cba0b4b94bd7634f03ca6253a39d40903bb0741ddbc29834e3cc328b9bbfd9039ba6ade4b3c7cde6fb9bb1fa2bb386e10bbb25f40beadb23a3f3571373f28f930be03581dbebbd34e3faf79163f3a3d59be33994fbd722a4c3fc0b1c53e154044be73e66d3db6b02e3ff8c93f3e2be011be62eb173ee8a6f43efe48963db11cd2bdb597283ee307a03ec33810bd919711bd902c113e09abfd3d9aa938bd7ebc863a15f1b73dbcbe83bb4396f6bc8cfec13cbd53833c68b09ebde4f0b2bc908e073def4f2e3d53768abd831b68bdc912283d07be273c5ffecdbd1a7a76bd9aa5853d3e2669bdbc57a4bd63271bbdd560693d7036d9bd10120cbd70bd88bcc357153dc11d02be90f01f3c847f9b37f3e6723c9f11e3bdcf5be43c78a83db81425923b199b93bd640bd83c572646bbc32df9393a2ce6bc5bdf513cb05581bbb452c1ba5d843a3cf561513af4349fbb0e1f03bbbe301bbe4218fe3e057c6f3fbe5e46be5e9f05be9f7e163f4f27543f662d84bec97285bd6ff9253fecb1183f042675be32160b3d48ab173feeadb43ee0a53cbe0d01df3d3ae2ee3ec4e7203ea732febd90d00c3ed6d39a3ec56c0d3d26e973bdeff8013e4837083e7943b0bc22bb0fbca607ac3dacdb113c970e0fbd5067c13c7a429a3caa5e8ebd05dc1ebd05e7163dd8d6343d063254bd827d91bd31533b3d7d1fa93cd78cc3bd71ddadbd6942953d37bc1bbd05fbbcbdc65f78bdce328e3d7f79afbd9ceb4fbdd9ab04bd967e433d5f09e2bd3b8c2ebc837238bc18b2d33c86c1d5bd54b8933cfca49dbb784b293cc04891bd5e1ac33cfc1107bb1d93743ae6aedabc1516373cfd59e2bb4cea943a00891c3c7b316c3b35a175bba9ea70bb8a85c9bd280e803ec286903f77bf52beebf5c2bdbe9cb63efa4b863f26d58ebe0a2271bd5350f33e687b4d3f26d08abe8946553ca65af83eb587043f3d9861be2291b83d2aa7cd3e80c8923eaa9322be6a94e83dc574913ebc1ade3d1850adbd362ee63d874d073ed8fc273c93c2d2bc20b1963df19ac13c0c1b1abdc938a63cd444b43c27175dbd2c7355bd6ecb243dfca3523d1b055cbd5e21d6bd7caf573d48a1103d6da5aebd404de3bd7b78ad3d73f665bc934bd2bd361fa9bddcfea23dadd287bda68d85bdd66b54bd37eb743d85cbc8bdfbb0b1bc13afb6bcab56053d16e9c7bdaa9c3e3c18c338bc3c42693c554e8ebd15fea63c1914adbb36a2563bd160d8bca860d33b7f52bdbbee7d433aa1ffe73b33e6293c48138cbaadd3debb2f8c7cbda77ef33cdd45ad3fce7550be560254bd2c3b033e0da59d3f6a5395be3fd572bd96a69f3e12e07b3f3c9395bee5ba97bb6553c13e2d472c3ffaaf7cbe3dde723d1cf1b23ee3dccb3e10db3bbe731fb83d763d853ecd913c3ebb45ddbd6206c03d43390c3e4185143dfd9e0bbdc57f893d1a47273d0ca602bd33ada93c93f8c63cd1e166bd1fe4b7bd0a9a3b3d0000000000000000000000000000000059dc343d3cf1e2bd127107bee27fac3d7ed8f6bb680fddbdda82b7bd52e9a33d742858bd2d3fa7bd6dd679bd15b2763d84b0a5bd053728bd487d09bdefe3273d9038adbd1082a3bbf1176fbc2891a53c750582bd16604e3c8303e6bb3e72cf3b04c3e5bc12288f3c48b395baf49464bb0000000000000000000000000000000000000000000000000000803f00000000fc784fbdb6a3353c1c50ae3fa95970bea026ffbcf6763b3e8eb4873ff72580bee0056f3c542c8c3ee3ed463f953f6abef623843ddb598a3eade2003f47b542be0cf2ba3d93d3533e037a893e0bb105be856cc13dc341ee3dfbb1bd3df15a68bd6a17853d0384423cee4716bd08c08e3b0000000000000000000000000000000000000000000000000000000000000000708ebabb96b3afbd8533ddbcf23111b9abc20abc7617a2bdc2cbd2bcc2c00dbad2b21dbc4afa89bd7be3c3bcd884d7bae85f21bc6bf665bd7675a1bc83f50ebb3e5c2ebc9e3535bd4a5780bcd20fb7ba65fe15bc78c103bd73d621bcfe2855ba640cd4bbc6a599bc578332bb276f83b900000000000000000000000000000000000000000000803f0000000000000000597bd43ba2f38c3f4c4086bc00ef36bbb1318b3c82ae6b3f7437c6bb9a2aa0ba4e8ca33c744c3f3f4d2d06bbe6a2c5bab4f08a3c6c2a143f7d3544bb80a22abb78d32e3c278ad53e6ad2ecbb0b269ebbb4a0233b464f853e331854bca55dcebb474709bc78e2d93d8268b3bcfadc05bc00000000000000000000000000000000f7571b3b526f58bddf9bb6bcbfe4cbba18a004bb3b07b9bd5bb708bd18cc0a39b6dc8ebba556bdbdd4fd15bda166c1ba95fcd6bbaf01a8bdd0310cbd122a0abbeea9f6bb90e584bd730ee5bc7c1fe5ba4c58fbbbbe175abd2571b6bcb0aa41baf812cebb39fa1abde53764bccd49e43a1336ffba91729abc7d6134bb71be183b3ccec23946df39bbb8e9553bf0f0993ae309ebbc91e58b3f91e0de3dd6038dbc2195c2bc482e853f1644cc3d905c8abcd3472eb8c15d613fd677c33d447e33bc01f3013cb5b4363fd2a4a63d96681cbc6b900b3cdd900b3fa532813de60e1bbc11a75d3bb144c93eaaa4253d51073dbc4be5a7bbe19e773e9428813cd9e15cbcf6117ebc106cc73d668f08bccfe055bc105885bc5449abbce0cdb8bc37ce37bc766aa43b620e0abd67e8acbcaccc81bb7fe6413b355e89bd5faa1dbd53ba64bb9324ee3977ce81bd4b9e1cbdaf8176bb3e4c35b958b889bd155128bdace19fbb4198fbba74fa4ebd46c4f9bcd4fb4abb16da40bbc53139bd8a26dabc4b55d8ba437526bb8af5f4bc4cad86bcb4da5bb9b37d2ab9a4e681bc74b7d2bbed95fb3abf2ff23a42fd02bbcdc4df3af27b273b71ba0ebdd53b6a3f7487843ea01ed7bc6fea09bde037623f9f77783e94d8debcb51748bc746f3a3f65ab5c3ee5b999bcf801a7bbb1dd1e3f24a8383e3bd792bc4d22efbaa82bf03e5c2b0d3ed40f6dbcf4c5a3bbbf68b13eb8cfc73d239c8fbc3bb019bc945d5d3ea10a663d35758ebcf0377ebcaf42c03d4896573c4c0295bc20c154bc1a891fbca8a88bbc5c544ebcdc0a5e3bbe19b2bc3fbdb6bc05b2b3bb4ddc8d3badd248bd0d642cbd1db2e3bbe30d6c3b22a56ebd40784bbd9b51d7bbdea48539f5a05bbd85c13fbdde6cb1bb8879843973133cbd128a1fbd35caadbb18376e399afe1dbd973703bd6c8d0abbe3e7cab976b5ddbcea81aebcc89f56ba9c62b639c9ad5fbcac85fabb171bb93acf898b3aa9671bbb04b710ba2f68353b9e5708bdea023e3f67dbd43e5b27f2bcfc3709bdb227373f3252c93e561b09bd3feba2bcbb481f3fcd49b03e5e0ac9bc14ec39bc6c3b043f66a0903e1e4baabc00b8efbb7d83cb3e307b623e3b64a0bc881227bc80f0943ef8ba223e0576a3bc8f2444bc83c93b3e6681c23d490db5bc5eea78bc458ba93d5fed0e3d8a50b4bc6d5e3ebca6f08abb31fc53bc78ca73bce4bce63a787b7dbc9bf1d3bca77dfdbba192093bf5bf13bd691b3cbd172522bc6f9a523b5a6325bd1f8953bdcfe518bc48e8183b6e1731bd92f356bdd9090dbc8b691b3a03ededbc0ca70dbdf2edd0bb7f147639183201bdd02f15bdd18262bbb93718ba28aea6bced20b6bcdf0ba8ba597399ba29dd32bcd6f833bc875d233baf161d3bc7be9dba64cf403a4e19de3a0f7f05bdf6a3133f123e133f6b9706bdb47603bd49f80c3fc0350c3f29e01abd41788fbccdd0f23e1c68ef3e3affcdbc461f52bc904dcd3ef09ac83e159bbdbc0463e0bb642c993e7fff953ea3fc81bc05a731bcb9296c3e3bc3603e70bdbbbcfd6347bc1ad1133e9cf3083e974eb8bc194c79bc634b883d1ed4623d2634cbbca9103abc26f323bb40d226bc00ef98bc1dfafd391aaa26bc0163fcbce96509bcd86fe23a4a2bdbbc97be73bd66fa52bc38b4dd3a3c7a0dbd1e9088bd8bb56fbc7d2a473b18f612bdaf0080bd74944bbca062883a6adffebc178853bd856e21bce9f2ef398acad8bc621c28bd661dc2bbdcc3a83942d1a4bcf335eebc62436cbb70d0d1ba3d6334bc7d9e74bc4050903bc72b4cb9b09facbaadddbaba92d4793baab5efbc2431d53e2d873d3f398112bdba94f6bc0663cb3ebcba353fc02d26bd792f95bca11db43e59471d3f895ee9bc6b626abc8eff963e2b10013f7e19c6bc66672dbc9f5d6e3eb2fac63e23d7acbc6eb43fbce3ae2d3efbc38d3e9665bdbc8db773bcebebdf3d47e1323efd9be4bc467592bc8308433d3611943dd9fbdbbc791550bc303b9cbbc15e3ebcf8efa9bc320ebebaa5e809bc9b1126bdc41526bc6ba25f3892edafbc5e2698bd48a883bc715b803bb084dcbce2b78ebdecc188bccab5bd3a7844e9bca31197bd3a2588bcaa25163a8e0bc1bc0cbd60bd83f651bc95246c39e972b5bce6354abd4bfc0fbcf01c2aba856c79bcb376fbbc8df478bb48eac6b93fdc18bc54057bbc52552a3b46c784ba1f5b0fba56d7c5ba04d69d3bd692d1bc494b853eaa94693f64091dbd96eccdbce9557d3eb7ad603f999d27bd080a46bcc578663e36c7393f6a49d3bce40d37bcb13e423e91f81c3f123a9fbc25510abca725183ef0cfec3ef98987bca3b730bc940be43d0a7cad3e863fc3bcf3424bbc28738d3d4ec4563e8d8fc3bce7877cbcf083dd3ca675b03db23f0ebda57d51bcfc9b02bc152d81bcc1b2c5bcfbd001bb536813bcfdf66dbd60386ebc68dda939a72d94bc3560c2bdb1aeacbcedbadf3a8c9ebdbcd827c7bd55f9ccbce3f7e53a7a3fbbbc2edcadbd727bbebc1bf8323a1b09adbc7b188abdc0c59cbc136dc5b8b05b99bc292362bd567b64bc10fbaabaafe765bc10301ebd755ee7bb43d3c5ba4aa8cdbb462e8fbce19ac03af40729bb12e3a4b90ff210bb65dfac3b9cf08fbca4a9e13df5dc8b3fa4e205bdf56e76bc8906d83dcaad843f7cfc04bd9fd51bbc5ebed83d9dba603f28ea56bc78c59bbb7e56bc3da24a353f180cfabb6d0197bb9932983d084f0a3f5c0f06bcccdaeebbf8b55c3de8bdc63ed2aa7abc386035bc197bf33c9452723ed7c0c5bc035862bca6c1a93b6564bc3da55309bdfb366abc691757bc0debd1bc5e69eabc0000000000000000000000000000000049857d3a013361bc0c09b1bd0ca4ccbc0c77773acf9a62bc00aaa4bdab79c5bcd85e0f3be34f78bcd2d78cbd9756c1bc2536783aee5d6cbc6e8565bd331ba6bc08d6c7b924f956bc51ad35bde8838abc4614dcba981128bce48605bd96e625bcf53f47bba02acabbf1d99abce6c958bb0000000000000000000000000000000000000000000000000000803f00000000b2bb7dba9f6e39bc9ca78c3fb32f0bbb76c63a3b65eef7b939286b3fafc49d3b2a161f3b40eabb3b581d3f3f639de23be57eb73aed82c33b47a1133ffe75653bc2f8c9baa4a7303b6ae9d43e394f5dbbb0f599bb42ec40bb1f7d843e9b8053bc057c08bcf56a34bc9738d73d4b60c6bc0000000000000000000000000000000000000000000000000000000000000000717b3cbcccfa40bd03d701bd99d570bc8be357bcba2b3abd71e0fabc14567ebc533873bc55c832bd0d4be5bc958183bcfe1d7dbcbdf61cbdfd76c4bc85a562bcae7176bc5fd20abd7cc2a5bc5a1b37bc2b5959bc9c92dbbce0ee63bcecb8dbbb8fe44fbcff1997bcd573d2bb346ce1ba00000000000000000000000000000000000000000000803f0000000000000000e2a51d3db0f57f3f6c15d43ba3bf573b27781c3ddcb2583f3025163c6ebd8f3b53e2143d661d333f0267093c7bd4643bafa8f43c7a330d3f93a8de3bb426bd3a24dcbf3cba32d13e7c4d853acaf403bb71e86d3c56c7873eb0e6cebb1f55babb10429b3b415dfc3d2aa07dbcba0123bc000000000000000000000000000000003a6f33bb4bedd5bc8a6fc0bca44d37bc5d491dbccd2543bd70b511bda25689bc549468bcfe2758bdaa1f1cbdda0f98bceec77ebcc6cb54bde5b517bde92ca0bc699169bc6c442ebdeecdf2bc090584bc915585bc7e8c24bdc66ac8bcea945bbce0ea5ebcf93bfbbc38698dbc2d3aeebbe4e41fbc5ab69dbc8653f2bb31d8a0b9d00969bb8c5cfdbbd749733a0247753b1733723c6b957c3ff9d2043e7f58b5bbc221f73c620b693f5a93f83d0a5589bb360d1f3d3472473f2503e13d3e4e88b96b061b3d9afe243f66f2be3d737bbd3a1fb8043d5896003fd8f7913d04df0bbb0dd2cc3cddbabf3e599c473d7541bbbb35f1723ccc4c773ed035c23cf7fb1cbcbf9d3f3b4256e33df48f54bbdddc6bbc3d9887bb602b0fbc0ffca3bc1fbd53bcacf4afba970a8cbc8089a6bce60a3dbccdf7afbbe7f10fbdeb5715bd483fa9bc5be408bc6ce117bd5eba0fbd326ba0bcb32a31bc350531bddf0b23bd8609bcbcc37a27bc5d5514bd9ef2fdbc871294bc7e1539bcc46310bdea64e9bc727a76bc3c311cbcb826c5bceab293bc512206bc641df6bbb5e386bc92b919bc96bbd8ba50d03bbb3755a7bbb35c13bae0374a3b3a3b953bda07563f492e873eccb912bcc2e2973cbf84473f3d1d7c3e6516c5bba04cbb3c51a0273f56b15a3eab24deba6eabef3c35220f3fcb53393efde199ba3fc3bf3c0548de3eb486103eb6ef2cbbe09ea43ce7c5a73e516bd03ddfe0d1bb43a9293c6069583ec9d5793d677015bc749e083b31e0cd3d15958f3c0ed072bcd4a861bbf28462bbf02b74bccab045bceadf7eb996f34ebca42e9fbc7de152bc92a5bdbb7873e2bc9bab10bd739eb6bc42cbf8bb4ceb13bd60112bbdd39ed4bce61a0abc8bf015bdf64225bda6aec6bcd7f418bc4ce30ebd4c290fbd5b53abbc3a9c39bc304600bdc269efbc88b28dbc1a720fbc2bc5bdbc4377adbc23f728bc60f1d5bb5a2568bcd20833bc7e9f27bb38943abb025691bb52cbd7ba61c31a3b9ab7fb39e060303f2604cf3e5d9f10bcb55b0b3cf712253f0d4dbf3ecada00bcef92a73c3f2d0f3f6330a73edce5dfbafef1ae3cb7abef3ee8e98a3e086bb7ba7eb1ab3c7b50bd3e47a15b3e456a9bbae662843cf9ad8d3ed993203e6cf5f0bbcf9b133c868e363ea7b4c63dc2bb2dbc135ece394d0fb03dae991b3d1a2578bcf7cf67bb43f7c1baf81338bcfb3847bc219858ba53f316bc802ba4bc4b2a80bcf95268bb6a0cb6bcd5e314bdf30cd3bc52c1a8bb3c30e1bc7c1724bdbb9cddbcf4bd00bc3b4d04bd8ffc34bd07b7ebbcbb5bccbb6095b8bcc4a1f4bcbf90a0bc4c5006bcd614d9bc9e5d07bd2291a2bcdb68d9bbef3f98bcd922afbc96e337bca51bcdbb1b8c50bc4ff935bc97ca99bb07ac43bb3fc28ebb800942bb783ec03ab2416cbbb3ca0b3f825d0b3f2976c9bbcfb4aa3bfac3013f7384003f34a74fbb2083643c9195e03e2fb1dc3e023b023b9f1e923c81c3bf3e4bdaba3e97d2043b7bf7573c29b9923ef9a08e3e943ab8b8169c4e3c5643643eaf47583ef2b3b1bb04b3e83b5b70123e066d073e4edc29bc1d092aba209b8d3d0f196e3ddf3575bc16f885bbe55bb4bac4c90abc2f8648bc6f2472ba3233fabbe884babcff88a0bc966a64bbd25fa2bcfdf627bdd276fdbc593e34bbc76dd4bc5d1243bd759e09bd18ccb5bbb713efbc0cc240bdc20e08bd55faa3bb09c4d4bca0602abd6b96e2bc44baf8bb8b98c2bc200313bd387cb6bc3324f2bb09739cbce6b2dcbc07b679bca24ce6bb31cf49bc6b645cbce093c3bbe0d7b8ba298417bb8e4164bb7a347c3a40cbd3bb91cecf3eca76303fde6136bb260b7a3ac764c23e2782233f97b1713a231d1d3cca48ab3e8f3f0d3f3f0a723b0b6c6f3cfff4903e24fcea3e7ec9a83b2446343cfc41663eaad8b73ecaa9ad3a3c43193c753c2d3eb7ec873eff8c88bbf928703be3d6e03d85452e3ea19e05bc1a8f2cbb5593533d94a89d3dc97a7abc6654dabbb944efbaa04a2ebcb4af6bbce66c08bbb1b801bc8c2dccbcdc1db4bc3c9574bb173394bc23813fbd59a514bd066866bbb8a7a7bcc81140bd48970dbd7d12c4bb150ad0bca5d55abd233d1dbd00c8aebb90f2adbcc7a629bd3e1ef1bcaa3fd6bb8b10adbc60e323bd64a4d4bc5c3ec1bbdcc87abcd2cad9bc7b8f80bc536eddbbac352ebc57ae89bcdbcbd6bb53f578bbe83052bbfba27abb51fdbe3af61ad8bbf845883ed311563f848c033a0c5e843ae1ce803e425b463fc771e93b88aa0c3cd2f5633ea481263f972d253c0c93593c2f18463ea26b0d3f1bc5333cac503a3c3d251c3ea8e7da3eac7bb13b6ab40c3c6f3cee3dbeeba23e721970bade5b323b8ca4973dcca2513ec8c6f0bb1ac5bebbc48a003d54a2bc3d5a9a8ebcab15f8bb4c46adbbacb60abc8e3870bc4f3d01bb118508bcd62508bdb379eebc83f64fbb09318abc7e8963bda5ba31bdc6696dbba2eba9bc7d1c75bd1bec3abdf6ea75bb67ffb2bc2ae46ebd360434bd7dae98bb0982a1bc1ba64cbd425512bd42f0c8bbf0729fbca67a34bd6e6ffbbc12aab5bbfcf967bcb1be07bd5010adbc94dddabb63711dbc66749cbce96408bc2621b1bb4bdb7ebbb3c5b7bbbbb62b3ac0aa83bbb1c5063ecfbb7c3fc585283c0df1723b3104043eac82683f66be973ca06e403c5b94f73dce22463f2a82b03c95d96c3c1524da3d5dc7233fa55a9b3c5efb4f3cda85af3db83eff3eca07413c5c48123c8950853d294dbd3ee52c6d3b0ef0013b93b61f3de1d1713e7531e6bb87bbc8bb58284d3c65e3d93db73c8dbc8fc417bc84a00fbcd46947bc08a590bc00000000000000000000000000000000dc7c05bb61666cbc5d8e51bdbdc92cbd40fc14bba4f180bc9b614fbddd0f26bd659d1cbb021685bc91f244bd7f9a1cbd9f825abb31507ebc68dd29bd6a7906bd764ea2bba9e774bccdf716bdc77fe7bc86ebd0bb5efd57bc5893e1bc761f9dbcf71ac6bb02f70ebc457297bc17ad47bc0000000000000000000000000000000000000000000000000000803f0000000084fb1c3c34ad663cc7047f3f58efda3cd2585c3cdeaa9d3cbb2e583fb112cd3cf372733ca8d0aa3c5684323f73b4ad3c6533563c15a5943c879e0c3fb0296f3cb8de273caf446d3ce97dd03e87a8fe3b1615a43bedb4b23b9d1b873e12f1c6bafb0283ba3c3f8dbbed77f53d705247bc0000000000000000000000000000000000000000000000000000000000000000bd3952bb0c1406bc23f722bcfaa528bc501386bb274913bcca5a28bc10f231bcb14e67bbbcf621bccae115bcf8ac21bcb2228ebbbea2ffbb11a50ebc265e18bcd1fb8dbb0e54fabbe76708bcd31410bcc4e290bb2721debb0418e8bb7896ecbbcf207cbb3238acbb4415a8bb10f1a2bb00000000000000000000000000000000000000000000803f000000000000000057ba583ce4d2653f618bea3ba19a9d3b1e09533ccbb2443ffd14e93b8028943b814b533c130f243f233aef3bfd699a3b0ef71e3cb5af023f3efb973bee03203b38ac153c2159c43e3df9783bf96bde3ab726c33b994b823e63b89a3aade237b9f4e3543b6a15013e6a1496ba393fdaba000000000000000000000000000000006087dcbad35dacbb4d83f4bbbdc8febb895a68bb335415bcd4cb42bce5d44bbc979a90bbeb9923bcf95c48bcedef53bc49ff87bb1f793cbcd9765bbc9c6d68bc10d792bb682b0dbcd15924bcd5e32ebce96cb3bb1cc019bcd2412ebcba9635bc27f989bbd5e412bca566fbbbafecffbb9a5b9dbb438b91bb6562d9bb69d792bbdaf60dbbd70c25bbd6121abb2eae01bbb22d143c64bd643fbf8f053e181f523b70766d3cb2884a3f3566f23d252eaa3b422d733c8db82d3f2665d23d8f51a93b96fe7a3c1223113fd92aaf3dfaf76a3b626e3c3cbbbde63edb1a8c3d447b473bf4e22b3cb16aad3edae0513d6be4c53a92be023ce2fb663e5cca093d71e9e4394980533b47d5e23de7ff613c43cf2fbb27ca1f3a960767ba290728bb677f22bb227573ba65e8bebb8eb8d1bb68e7eabbc41423bb2781f4bba3e433bc0ca144bc76215abb7bc2f8bb10f828bca26735bc2fe2afbbe0dc0dbc2cc83dbc6e6b4ebc44c188bb010103bc8a6823bc6eba2fbcbb8f8bbb763c05bc4a0325bc3fbc2ebcfdaca1bbee16e9bbf8e402bcf84cc3bb09224abb2ae792bb89f6debbe330d7bb5b9cf9ba88da13bb527610bba213f5ba47f3033c9e33443ffd35833eb9f7643b1bf1613cc9322e3ffd9e693ec2347c3b80c4353c826e143fdbd7483eaa3d8b3b71e15b3cb86df93ef64d293e17b8873b07c4273cfc3bc63e0137063e4c752e3b9683343caa09963e53d0cb3d9d68153b146acc3b7d54463ea5c5843dca1bd4baac7b833b230ac63d44d1fc3cf34bdaba5a9a403ac642c1b93bd70ebbb89320bbdb4db1ba79d07bbb07f9d1bb34def1bbd19b3abba3e7e3bbd0f92fbce01d45bce25997bb566214bcfcc24bbcc4ff5cbc816aa2bbbf6a1dbca7f953bc65ee63bc44d381bb638901bc3c542bbc555739bcf59eb5bb9ceb14bcea7439bcd01143bca92367bb52e3c2bb671818bc86301bbcbef35fbb5a35a1bbd0f4b5bbc6d6b1bbdf08f0ba030b0cbbe4130dbb5f5bf6ba3cd4c23ba556233f7ff8c33ed93a373b4a97323c94f9103fff2dae3e67d2a43b93384f3cedaef93e7338963e0c2fc13b03445e3c2229d13e4ecd793e3210bb3b132f2c3c0a66a63e55aa473e5fa44b3ba96b273c967a7b3eae93143ef9b2e039d979d73b44a6263e59bdc53d123aa83864c4713b610da63dbc853f3dc39df8ba62dd1b3acac8bfb853b5e8ba17001abb8f9ab1ba61e95cbb7c4ac6bb4eacf3bbb10b46bbb970dbbb7eee2ebcf9fc49bce18d61bb8313f6bb3bed38bcaa2e50bc988690bbe1fe0ebc1d254bbc9a165ebc8e9b50bb51d5cdbb99d60fbc67721ebc012480bb8adcf7bbd60829bcc20a37bc5729a3bb8fb1eebbfd7110bc7be014bcc4a860bb23b7a1bbab59bebbc9efbbbb58f1e5ba4bc90dbbb26008bb290d00bbe270aa3be8b0023ff881023f77bf5e3b06ea173cdd4fe83e965de83e2155e93b7195323c0de6c83efa89c63ee432ac3bcf5b513cb140a73ea3a8a53e02998a3b3796093c16f2843e4e98833ed4d9393b00ee223c8cd44a3eaf29473e3233183b16f1d23be297083e399b033ea5cbfd394142533b7350853db9ce7f3d4f120abb4e634b3a07696c395b90b9ba1e1d16bbf2979eba31b147bb670fbebb122bf5bb807e24bbc2edc6bb63152cbc633d6bbc512874bb2ce91ebc8ec068bc4fae64bcebc669bbd30921bc335f6abc2f4a82bc46a37cbba903f5bb16ad34bccd8648bc83efa5bb34da0cbccda53ebca1394dbcc65175bb539fcfbb15740abcf44812bc08fc5dbb950aa2bbae09c7bb7bcdcbbb7bd7e6ba986e08bb2c4f0ebbc72b0dbb8ce2983bf34bc43e9411233feafc863b699d1a3c9a40af3e558c103f04eedc3bfe1c4e3c2428983e14f0f83ef0bc013c670d683ced7b803ede61d03e2a17033c06ef243c76594b3e18fba43ea55b783b0e8f273c36ef1a3ee59f783eef02513bdd92dd3b9743cd3d440f243e46a781396141743b0ff84c3dc879a13d0984f2ba6966483a6f5b933974fe9abaad7213bb4a41b2ba974559bb6aa2d5bb9a710bbcab603ebb02abd5bb5c4040bce7a768bc4da123bb08b7cbbb5a652fbcacca46bce4d891bb15c00dbc564263bc7da37fbc295556bb2902d9bb288629bc2a463dbc33fb8ebbb88601bcec803dbc81644ebcfff03ebb5175a7bb82f6efbbdea61fbc962879bbc6a8acbb9b18d7bbc7cadbbbdde308bb0e2519bbe8401bbb29c911bb5f7a9f3b69b2833ea7d0433fe330ab3b63fb1b3c86ea6c3ee0752d3fd506023c7d7c1e3cb5094c3ef426143f7cfedd3b73b6333ce9d92c3e61e1f73eb4e4c33bf41a193c43100a3ecd35c53ecc78893bca30183c3e52d33dc93f943e922d283b9684b93bea558b3dc648443e9afd3d3a5bd9513b779e0a3d5102c13d895b14bbbd8a3937fd18c2b9ab5adcba28d539bb4d8acfbaca257bbb50a5febbfa1224bcd97259bb9cb1e6bb819453bc6f2e7ebc315b85bb5bf304bc39fd69bc7cfb85bc398b6ebbf43e01bcef8563bc4e3081bc579678bbf1b3f2bb086146bc042b5ebc8d7380bb4e0afabb571346bcbffc59bc507f83bb3b3bdcbb59441dbccf0d28bc5b6473bbe784b0bbf3f4e6bbf9e0ecbbba9111bb2bd432bb0a9d47bb58be40bbc735b43ba4d8063e0fb1643f0120e63b6e6a383c7c51f63de58c4a3fdcc0383cb4212a3c09a6db3d63932d3f324e063c9b33483c2e84ba3d4a81103f3e0b043ce455263cafd5943dc0ede53e5cf5a83b85f5293c8455693d0edaac3e9efc7d3b755de53b8c6e1a3d08b3643eed62513a2244843b95159a3c34a2e13dc422f3bada32533a61784039d0fcbdba32f32abb00000000000000000000000000000000a3b50cbb81e5b4bbe9e033bc9e9d58bc424c15bbf692b9bb859d34bcca6451bc63155abb94f1d8bbf3d25fbc736d78bc814d2dbb3a4cb8bb2c681ebcbb9e31bc97646fbb800ad8bb568426bcd87634bc4eae4ebbed68b3bbd96308bc13a512bc95bc62bbe394a2bb43b1d5bb0d51dcbb0000000000000000000000000000000000000000000000000000803f00000000db0f143c6cb11d3cab70653f93761e3ce103203c7972263c7c75443fddc30a3c583c2f3c54ed333ce6d3233ffb11053c910f0d3c401d0b3c6377023f7626a23b1286ed3bb16ee03b7a44c33e04a22b3b6eb1d03b2dc0bb3b2403823e3c2c9f3aee41713b2a66333bd763003e8f99bdba000000000000000000000000000000000000000000000000000000000000000029e19bba6a6816be37761dbc6452503c30af46bc06a00bbec05f8cbc9988543cc20497bca20ef3bdf119d3bc13fe223c7acfaebc0494bebd7dc4babcbb0bdd3b871a89bc22e88cbdb28393bca4f3d13b55cf02bc03b733bd86cd20bc57e5993bd829a4b99d0288bce318eeba832f2d3b00000000000000000000000000000000000000000000803f0000000000000000bb8c8dbd7299a23f4f469bbdd4e0853a5765f2bceeb0863f356526bd912179bbe9cae5ba46a4583f5ed593bcf5b987bbed7ad43b8b9a233f2d2f10bcfed19fbbc44ab23b24a1de3eb466e8bbff178dbbd063f73a6087743e29c60abc385c6eba6a38b0bb341e553deb1354bcf118553b0000000000000000000000000000000090c52f3c1882b5bde4dac2bac6a28c3b1f144f3c7c0412be46fabfbba5f8753ca37153bab2e819be2f9abbbceeaf7e3c12a423bc3e1406be23f3e8bcf5956c3cc5504bbc8cc6d1bd0180ecbc2b87253cf3b5d8bbcb6b9ebd68f6bbbc27731d3cf78355b9b0993dbd3faa70bc467dfd3b0fed163ca82396bce7c6b9bbbe012c3b8666193c8406a63b85385d3b7ca9833a45bc0ebef7a8a13f2e63593dc320b8bcb92b18be2e0d9b3f76ae1b3daa9abebc4f91b8bd07c1853f83366f3d0ed1bebc109155bd7b81563fc862883df49ac3bcaf55e2bccd831f3fdbbe733d9a59a2bc126fb1bc8f86d83eb9602e3d4fe47ebc1a118cbc0ccd663e30cecc3c15f810bc5c1cf9bb1ff4443dae77333c65f81f3b97ba49bc36c894bd1d9351bc2adce83a75f5cd3be55e63bde24addbb0c290f3b7e03033c67a8e4bdb925ddbce57a173c9d5a48ba2a56edbdfc4423bdb13f0b3c420d8fbbdc39e7bd416231bdd6ca1e3c62cacabb518eafbd090d1cbdb0b59e3b394d37bb116d8cbde04afcbc2c76f33b1297c83aefed2abdc52fa0bcb6bbbf3b48410d3c47ea96bc22d0febb564fb63b3b8b033c974e2f3ba714953bd0f94d3b239e0cbefae0863f24ca7c3e7e3952bd7d7117beffce863f387a6b3eedc962bdd5f4b9bd64b3633fcfdb5f3e688b35bd464c90bd25913e3f68d2403e03c728bdc9d52cbd4ee30c3f2c511a3e0577ffbcdfb418bd16b7c43e22e0df3dd63febbcd0f3dbbcc8605d3e5283833dae78b1bcb8409ebc91817b3d8787b03c84e41dbc34757abc26a024bd6b3a5cbc6ca5c8bba10593ba7c4f13bd9f6b86bc84eba5ba82fa493b05e1aabd6ddc39bdba5ed43bc0d6aa3a5164cbbdeee174bdd234d93bd6d560bb3288babd51be69bd39d6c83b71569bbbc6e99cbdeb5156bd9b9c2e3ba391afba580c6ebdae5c21bdfdb0ae3b1c09113bef6218bd0a5ccbbc75a5f33b9e0b013c281a8dbc641612bc4c65003ca4a7e03bf3d2003afbf54f3b8a11af3ba181eabd78275b3fdf02e43e37e696bd722004bed30e5b3f6d7fde3e24c4acbda4dfc4bd7be3403fb525c73e027c8ebd8f508dbd30ac1d3fbecca53e5e3b6dbd34c845bd2eb2f13e12bd823ee0e73fbd740f20bddc9ea73e92c8373e358d24bd8cae04bd215a413e87ced63df98006bda008c8bcfd36843dd5fa0f3dfa03b1bc2e3099bc6b89c7bc28ba6cbcb39b72bca56522bb926eadbc3b37edbc937b62bb78ed4238631d6fbdc2f281bd4f91473bdb7e9dba0a0292bd228b98bdf438af3add6a03bb684e97bd395b9bbdf9a4993ad55fd0bb3c6b53bd7aad5abdb3f4cbbbac0fe2ba88e34cbd9f1147bd0d40373b216e5b3b1e5e00bd078becbc1514a63b548fc53b53596abcf15e40bc7baf043c7326a83be76d803aaa2d4e3bac5f003cc10cc3bd8cea263f6fd5263f53b6c1bd2872d2bda80b253fa1bc233fc557dbbda4dd95bd7aab103f06810e3f4802a6bd10c372bd23bff53eadbaee3e85e98fbd37f4ffbc7852b43ee67cad3e21022dbd827f15bda717883e0830803ee46946bdc7f9eabcd11d1d3ef015123ead111abdcb1ac1bc49ee713d1f2f483de1e1e7bcaf58a0bc853d62bc2e7ea5bc222baebce08d1ebb742537bc007c28bd4fb096ba7e0a5e3bb76327bdd3b8b3bd17c8953ba3dc0e3b170063bd455ad0bde7e6563b400fc23a49bc65bd2bb9bbbd94f511b7b3f00f3922e451bdc6a89fbdbe7a05bbcdab283b5bc329bd0dcc69bdb14f1f3baad4833beb75dbbcb94c16bd06db063ce1d5d13b449a4fbc6adb60bcfc2d303cc68daf3b5b0d09b9da24663b55d90d3cf7a098bda4e2e43e471c5b3f08c3edbd4b97a5bd52a5e13ea3e6593f86cd08be3be480bdaf5fcc3e33843e3f74b1d6bd293e49bd7a45ad3e90861a3f1e62a5bd66d318bde4f58a3e02ceea3e949880bdfc4503bdee73473e5248a23e16715bbd604cd6bc7bbaf13d9bd5353eaa9a33bd95649abcb9593c3d65a8653dd27901bd527978bc08a51cbcc04ce2bc751fc1bcac45d9b9bec0cebad5fe75bd510fee3be92ca13ba2afbcbcfcd6ecbd8cdf563cb37b5d3b42d912bd1dbef0bd9a95c8386ded493b34dc28bdc62de6bd0054dcba0fc37b3aff7117bd0f27b0bd4681aebb688e4d3b435e02bd258388bdb59fa53a5795563bf286afbca65521bd516a983b3547b73bddab2cbc2d5887bcc79d343cc132643b3cd28f3a6bbb9e3ba392393c78e952bd52677c3e00de863fe58b0cbe57e359bda831703e3d9d863feb2d1ebe273f1fbd42dd693efcfa613f6b95cdbd368a0bbdd8ec4e3eee4c3c3fb466acbd81cdcebc051e293e0ebb0a3f1d1269bd701dbebc2177fe3d19c0bf3e86d253bdb15593bcff2d9d3d2c93553e637e21bd3bb932bca8cbfd3c3cec663d6f0dc9bc2bafe3bb113105bc985637bd088a9cbc335fa53a5dd6203b539abbbd5bc5353c46fb1f3cbfa6cabb9f3414be9e13b73cfd06f33be637aabcca5d19be207e8b3bd14ddf3b47b0e6bcd6de06be039fadbb38deb63b6673e4bc1163d2bda5d80dbc8d6aa43babdac1bc50869bbd697647bb44c4c53bf88282bc7a2541bd33dd9f3b0de9b83b8ba4dabb950b86bc754a173c52893a3b90783b3a2adec63b97bc323c5494bfbc67a95f3d65a3a13f7b630fbefd93a9bc9b8a2f3d79b39a3f2a661dbe22f7a7bcf25c8d3ddf10853fe68ecdbde10197bca1e19f3df476553f6c9287bd58996fbcbf30973dd2f11d3fb87f34bdead653bccd20683d0477d53ee59416bdbaf01bbc43d0183d8394623e32f8e8bc0749ef3a42ea873c9a73353de2dd37bc5a792abbef430cbcc56696bd1c1b76bc000000000000000000000000000000000764f53be8d8ddbb1e9016be2979b33a5422e93b3c9775bcd9160abecff02ebc3a69b53b3b76b2bc8fb6f0bd8a229abc74713c3bcba0bfbc1745c1bd451194bc3f5f7d3b96e198bc476b8abd95ea69bc13559e3bd62f39bcec3332bdd988a3bb7c4e3e3b5db584bb1aa68cbca821903b0000000000000000000000000000000000000000000000000000803f000000003e33d93ac29b92bdd673a23f0d059abd7e64d139d08e02bdc97d863f7b1324bdc07c51ba1f1ff3bb6f86583f910589bc9737a1b7c1072b3b7750233fbedc13bcdf1c233aa903663ba459dd3ec52816bc72f8b739da9e163a15ff743e755e32bc586fa0b8f703d7bb95d9573d44d35ebc000000000000000000000000000000000000000000000000000000000000000033eea7bc86d6e4bd16c1b6bc9987933c1995f0bc5ffbdbbd4628cebc1571923c2eed10bd8f88c8bd6b1de0bc58284a3cff3309bd4cbea7bd3d46c9bcd04b273c64cfdbbc03a082bde0ce92bcec1d2b3cc4f980bc24f12dbdfacd1fbcc0c60a3c0cb322bb1b4ca8bcb1c4d9ba8c87cd3b00000000000000000000000000000000000000000000803f0000000000000000659a99bc8420993fcef525bdff1c97bc3bc3693c99b57e3f3894a3bc8f36a7bc1fee0a3dc8e04e3f9c16fabbcb9f95bce5710c3da7761e3f9e9adcbbee6599bcfb4ac43c3cf7de3e55b742bc480d93bc3bf10e3cf2e0823e23578dbc065149bc3b0d26bc7f03a73d81a1ccbc5a3dc7bb00000000000000000000000000000000871ab2bb352d79bd885c88bcf0e1113c3e264bbc6746dfbd6530a2bc26a9cd3c5868d2bc3656f1bdfc6bf5bc9679b93c4a13fabc9877dbbd0c7303bd7dd8a33cfb9cedbc8066b1bd528decbc7935673cee2cadbcbcc88cbdce4cb1bc61ee763c905f19bc569239bd412053bc5ee2453c650ea13b3ee5aabcad92a9bbdebd9d3b5c49213cb40fe3391705443bf5c6243b747aafbda265983f1234bb3d602115bd2ac8afbd32a4913f9ffb913d2d8b38bdda46debc7202793faf01a93df6512ebd6f0b7739f763493f1db1993d6bf41fbdd3fd553cbaf9173ff55c753d4f110abdacfca43b82a0d53e01f8173d36d1fbbc5d3abbbb4544773e2522633c25cdbcbc443c63bcf6bba13dc89c0ebb61b29bbb6e20babcfa3140bde6a0b1bc136904bbf570c2bb99b014bd8cc66bbc2d04413bb24957bc6111aebd4dee08bd3532533ce165b0bc54c3b3bd51bf2ebde976043c6238d2bccad4bdbd55112ebd93eb4b3c6cccc1bc599d96bd672217bd077bd93b68dc91bc167d7bbdad7aecbc0a26453c58fd1abc29b621bd4f009abc51480c3cfbe75e3b689f9ebcf36806bcf7bafc3b7810063c7cba353a51bece3ab04f9a3b30fcbcbdac647f3f60ca873e076957bd79ceb9bd1fec7c3f6561803e77e183bda18503bd0261523fd2fb693e9f0646bd195e8dbc22f1323f11eb413e265d4fbd6dc6ccba2d67063f2129163ec4f525bd834106bc0458c23e9f3ccc3dbe852dbd7fb833bcfb66663e651b663d13f801bd88fda7bc51c9ac3d3c025c3cd6d8acbc5a7caabcd6e3ccbc5dbe8fbcb4fb27bc8be311bcf21acabcf7d0a6bce3cc7dbba95876bc311784bd057e2fbd9042903b8237a5bc15f3a4bd31e05cbdb6b8e23b1e26b2bc79c09ebd614b58bd5e2ec93baaebb3bce1ff8bbd2c063fbd2aa38c3b005f75bc30565abd389614bd695a0c3c4fd0f8bbb9b015bd074abebcc6c9333c16cff83a3ed786bc92cb27bce92a1c3c166dc83b688f83bac9bb293bfe3cdf3ba73c9fbd7d0d513f39b4e53e307080bdd69ca3bdafe34e3fc94bdc3e722e9ebd883a31bddb16363f20f7c03e260b89bd19f3bdbc47d1153fdb569f3e92ff70bdc4141ebcae45e83ebc29773e36a152bd091148bcdd85a53eb2f42b3e3bf347bda0248dbc662e493eca19c23d71c535bd03d5babcc5dfa03deb58003da7c903bdd16ab7bc79d667bc60a99ebcb413a9bca74809bc38a890bcad58cbbcaf9e0cbcb65670bc73b348bd0d825dbd7623dfba3ca696bcccd181bd8d3f80bdeab331bb404ca6bc385b88bd301784bdb0b693babe1997bc5a5f4dbd706a4abddfd209bc0a0d70bceb7743bd80ae30bd708e933b0f9004bc3df7f7bcf9acdcbcfe6ae73b05608b3abd0672bc34d355bc69ea2e3c2186733beac1a13a2f31e53a8fc2fe3b2fb489bdc210223f0e30213f6d3091bd21e288bd709e1f3fe29e1c3f197fb3bde8a60fbd10130c3f4d8e063fc5b586bda611b2bcf1e5ee3e8a3ce03e664b7cbda26d20bbfa56b13e1ec9a43e813421bdbe2571bcfbcc873e97fb703e1e4f5bbdcbe386bcbd2a243ee6c40a3ed37a3cbd8820b3bc31c5883d2bea463d92021fbd0221b5bc00cf23bc7c4ca4bce9d5e0bc440b05bcd75d48bc94afffbc81d024bc36a737bc5e6621bd219789bda4b030bbfd7d67bc09bc5bbd19a2a3bd2ffd85bb286e80bc16d861bd07b39abd46707cbb100a86bc719a4fbd583084bdd9e685bbffbb38bcf0a426bda2a749bd3b702c3b767cc1bbde3ae1bcc49204bdf68d073c9f3cc23acd315cbcedc67ebc82cd3e3c0166183bb10cdb3a0547beb9d2b0353c0dbf75bd2862e63e03a7503fbe96a6bd9fd170bd0d8de33e0ec64b3faa70cebd96160bbde30ece3e1687303f75f4a2bd0881a5bc5613af3eee660f3f78d586bd6d7338bc7c588c3ec006db3e9acf66bd72174cbc36424c3e0517993e533665bd99da86bc2eaefa3dd4f1303eedf452bd37ba9cbcc442543d7fbd7d3d5caf2cbd7abfa0bc41341abcac4cbfbc90b3f0bc1e7081bb87d61abc09f32dbd5d491bbba48cb0bba83000bd6f53b1bdaf539bb873ce14bc296c29bd633ab4bdc28e2fbcefc73bbc039c3dbd4cdab6bdf52701bcd5804bbc674826bd908b91bda4881fbca71409bcd6da0dbd91626ebd4831a03a8dc5a1bb9d03cabcf6b112bd22c8413bc7e0003b0dc240bc681399bceb484b3c3d59873b779c10ba2193913a40623f3c4bcb4dbdfc13893eabd77e3fac42c5bd04e83bbd0ff8863e4c0b7a3fbc53e3bd0360a9bc85d27e3e21b54e3f0a9586bd5e2080bc0e42623e3bfe2d3f938380bdce79bdbbad70373ea371013fbc6b42bdffc223bc9067083e1a3cb73ed0a559bd57b12cbcb7dca63de001573e14b935bdf40c53bcf591053dffbf943d7e1629bdf86652bcdd9314bc5d8401bd1419debcb06e1fba5ae51ebcb15e86bd9e7f52bbc515453b6ff8b7bcdf65dbbd1a58ed3bfcd74abbe9bb0dbd23c9e9bdc7e1c8bbac66cebb4fe618bd549ed4bd643721bcae4afebb4dde0fbd722aa9bd96274ebc73b684bb1630edbc2b7986bdad3843bbb663bbba497196bcf55533bdc8d3ab3b8fae5b3b825cfebb7f70adbce4f2403c126e123b8883cb3af17f4cb9a38f493c3c150cbd0c79bf3d415d983f7e5fbebdc742e8bc721eb33dd14b903f8d13dfbd7c3276bc283bdb3d3a26763f518a88bd68c7dbbb9bd5d93d4a1a463f193446bd14d7cbba7664bf3da251143fc77812bd1cae6bbbc08b8e3dd9efce3ead8d2abdbc7490bb4035263d48136b3ee53d2cbdd8285bb8e46d823cef3e8d3d4de907bd346007bc1b976bbcd8814dbdff5eedbc000000000000000000000000000000005ceb153b8dccb6bcdb7adebdf6a967bc3fc07cbac163e4bccdf2d2bd71509fbcec9c97bb884700bd3f19bfbdfaf9d7bc2951cebbdc20e8bc6839a1bdf667c5bc6c4898bb13b6c4bc3b647abdc1a679bcf36300bb28727fbcc89129bdca0886bb5c4eb5b820b3eebbda84a0bcdc97bd3b0000000000000000000000000000000000000000000000000000803f00000000d7d6a4bb28a9dcbc128e983f760020bdc5838e3bb022003bad277d3f1c879dbcfe961c3cae969c3cc5114d3f3a4bb9bbe68b2c3c6265bb3c35cd1c3fe80fd6bbd79edb3b2d7b813c11dadb3ec25374bc6dd7843bffd7b63bc881803e6ad9b6bced22a6baabf412bcea28a43dc835fcbc0000000000000000000000000000000000000000000000000000000000000000e85bc0bcc6e95abdf22df4bcbba7b5bbd2e3dfbcbb9058bd657be3bc4097d9bbc196f9bc45185abdf6a7f5bce49af0bb5262eebc9b1e35bd2339cdbca7acf5bb1f30d9bc08b31dbd4503a0bc2957f6ba1806afbcef07d7bc2fa83dbcb63ca53bc05233bc30cc6abcc8ce57bbb220f53b00000000000000000000000000000000000000000000803f0000000000000000f8a21a3dc7d9853f21b0c03b7a6f12bcc860383d845e613fe595193c67a229bcc4934a3db561393f0a8e173c79c118bc1706253d0313103f0add813b4b8a49bc352cf63c6724d23e221899bb0b238abc4990603c3007843e533e80bc6840b5bc9d6a96bbc0c7d93d8a2cd9bcfdb4c0bc00000000000000000000000000000000af0431bc34eadabc63f7adbc74fbe7bbaa97c1bcdd9153bda488e7bcb5ca7f3a8960f5bcc78a73bda36b09bdf5808dbb36a6f9bcedf86dbd980d06bd321a43bb7c83f4bca1624bbd8bb3ebbc6b046ebbc204ddbc33b625bd345aa1bc72ad583beed79dbc01b0e3bc66a040bca17bed3bd70ae9bbd04c43bc69153abbd591133c28f74b3acde0393a7934223bd0b9d43b51baa03bf5f7843f886b033eee1597bc7966993ce65a773f9e46ec3db6c8dcbc54fe2b3d48d7523f8f75dd3d7644a6bcdc56383dd6332c3fada9b83d0801babc7873233d5ad6043f992d8b3d1499a4bc165cdc3c3d9bbf3e14b91d3d9b01edbc293c213c2d0b6e3eb4ef3e3cebb900bde02a00bc5a07c63d92f03ebc6a06e4bc095589bce3dbb3bc842ed7bcaaa8aabc34a111bcc80883bc123389bc33c913bc4950b4bcc85f2abd823902bdacf420bcd3cab2bc931a38bd98fe0dbd08e87cbc9a76f1bce70955bd429d10bde53d3fbcce9fd5bcc8b52ebdd081fdbc43e82bbc9799cdbc729919bd0de0bdbcc1a000bb469e83bc481bc9bc01a884bc3f009bba313203bcfc393dbc1a56b3bbc7dae33be240cc3a78b74c3a5a1ae73ae619d03bd02715bcb881613f35208a3ec393b0bcc046263cccf7553fafb9813e7c0ed8bc31a7ed3c732f313f7249633ef0867abc05d91a3d5fca173f587e3f3e0dd0b4bc8587023daf6be83e8bf9103e7f499fbc6e23c23ccba6a93e663fc13d2145edbc8db11d3c91fe573e235a5c3de6f3e5bcdb970ebc60e7b83d4ff8063cf97005bd4b136ebc889b49bc37a1b1bc52e0b4bced742bbcfb9958bc505c8abce9b274bc3fc9a3bca1880cbde1680bbdf9ec87bcb215cabc4e6035bd1b7f22bdf3e78ebc1d82e3bc18ad3cbd57df1fbd55bf74bcb5a7ddbc9a1526bd59eb0dbdd0485fbc8309bfbc76d60abd4602debcbaf298bbf7e190bca1acb8bcb04590bc5920953ab86617bc8ce738bc2f0ec4bb305fd83bcf97eebafe0f34395848b43a670ed53bd50101bc033b3a3f6fc9d73e7a7997bc808ce53ba92b313f4ccbc93eeaa0cabc0cbad63c74d8193f37bcae3e50ffa5bc4b05003d230fff3e3e2a903ec499a6bc4ee0f93c05d0c73ea1f25d3ef5bcb8bcd0a7963c4297913e5d631b3eb4a7f8bc0d07a33b7aa3363ee12ab33d801610bd498426bc47a69f3dffa2e03c64a013bd1e6572bcae5232bc47c3a1bc5c66bfbc2b412cbc49bb29bc925497bce44896bc685aa2bca6b6f3bc1c170dbd5743c0bc61f7bfbc36f51fbd0b002dbd1350c0bc4c33d7bc264d2dbd015f2fbd417ea6bc695cb0bc2c3009bdbe1115bdf422a5bc8a87bbbcda950cbd0e56f0bcd35304bca04f88bca8d2b1bcbbb892bc935f2cbb3bf032bc021237bcb08201bcc12abc3be35737bb9643aab9c07ac83abddaf03b5a3c0fbceb46133f068a123fa91a7fbc4da4a63b60ff0b3fac02093f923aa7bcc875d03cfe74f43ef232eb3e518455bcf674eb3c9e61ce3ea8dac23e301895bcf5c8d63c25529d3e14c2943ea8414cbca9e2943cad5b6d3e2756573e71d3e6bc19ff613b8b5b123e014c003e11d70abdbe8e2dbccd4e813dd6e0423d33dd0fbdc42789bcc04c23bc88bc94bcc929dabc13f132bcbe0a35bce5609abcff079dbc63eea2bcbc29e7bc059c1bbd9a9dd2bc9f22b6bc6c7c1bbd912040bdc17dd4bc1974cebcc4e221bdbb1a3cbd0e58bbbcd6fccbbcbf0d1ebdfd4a21bdbe6099bc306fb8bc40d1ffbc7baf01bd113c1bbc09ac8ebcd75db2bc922ba9bc17cd96ba34f738bc79703bbc3a80ffbbc69fce3b060568bb4e0a5bba88227f3a67d0e93babf422bc7b6ad93e5252393f3ae483bc148c0a3b0340d13e6da22e3f63d0a7bcd9caa43c0083b93edfeb153fa5dd64bc89c9d43c8a819d3ec7b9f53ec6f278bc4af4d53c0d447a3ea36cbd3e01e293bc9f28803c765b373e6c9f873e25f0e1bc10490e3b0ab1e23d1051253e4f4911bdb2ce44bcfd723a3d41bf833d064518bd8b548abced2225bc28848dbcaf90d9bc556050bc78553abc0443a6bc54a995bc29329dbc3b10e9bc239335bd19b0cebcb35d9ebc20db06bdfa9b43bddc22e7bcd28bc0bc2a331bbd433551bd723dd5bcb4d5b3bc95f907bd9e462cbd8963b9bcfe29b5bcf2b5e5bc67d80bbd175a38bc6b017abc421aa9bcc888c2bc1caaecbb6cc92ebc8a052fbc091129bc53e1c13b2ef67ebb3a1b35ba746db23a2ed50d3cf39d75bc27d38d3e7361603fcba280bc578ee23a5370893ea680533fcfdf95bcb6439e3c4857783e83af2e3fafec8cbb6809d23cae765a3eabb2133f3c3d26bc351dc83cc9f92c3e900ce13e43ef32bc9399613c8125fd3d6f70a23e844cd7bcdd798f3bf7f09c3d32c14b3ea218c5bc97a343bc7758dd3c3c96a23d0d7a15bd88658ebca00a49bc54299bbc97e1d6bc1cd62ebccf957dbcaf51f9bcbcc8b6bc7dc68dbc209eeabc3f534ebd1a13c0bcdc8794bc863d0abd07ba73bd7230febc38f6b7bcdcf219bdb48465bdb4a3dbbc3c5b9dbc2b9b01bd840c45bd0bb0d1bcd2bea2bc5494efbc675420bd341743bcf11f80bc4504a2bc2fbbd0bc8a7a72bb2e0e17bcd7e318bc6aee3cbc6b7e023c652abbbbe9f1f5bac9efdf3a6ddc0f3c793702bc7662093ed69d843fd79803bc16012b3b7dc9073e6692753fd20d38bcfe26b23c675d093ed950503f7f60e73a0eaeee3c1249fc3de9db293f7b270c39645eda3cc30ecc3d8628023f6f07a2bb5c438e3c793f943d9133bc3ec77f94bc2e0f5f3b15d5203dbdef643e2ed2e3bc300538bcf48bf23b04c7b63dacc50bbdaa4e89bc4f128abcf284e0bc7064f3bc0000000000000000000000000000000088c85fbc8345dabc286d5dbd892c02bd3e186dbc44a3f3bcfeeb5dbd34e806bda0e383bc8b1bfebc64135abdf2a306bd660382bc81abeabc8d873dbd7bfff6bc44d17ebc6fc7cebc4adc19bd6ea0abbc0f314fbc92a391bc9f8ad0bca41d10bc69b21ebc1f762abc8fe45cbc7dd0dab80000000000000000000000000000000000000000000000000000803f000000003a61893cc642b33cda68853f75906e3ca443d73c5a26083dd362603f731d803c325cf93c58f01c3d3943383f56cf473c4b0df63cd35a083dfb600f3fed780c3ca05db63c8af8be3c9364cf3e217f7cbbbda7113c2704043c2aa0813e5b9279bc1e60e8bbf602e2bb5d5ed73d845cd2bc0000000000000000000000000000000000000000000000000000000000000000a0a2e73b9b1438be8754ae3c6d030d3c6dbc28bc527325be6a99293ce9b5473cb6a1c4bc363c14becc0834bac021443c4f9cdebca03decbdb83c59bb6e6e373cc2a0afbc2c49a4bd9202acbbab011b3cd9905fbc6de13bbd1f5e94bb97b1d53b2a5678bb4b4f13bc75146abb2dd76b3b00000000000000000000000000000000000000000000803f00000000000000001857debd2e55ac3fd6580abe3d8b293c922d59bd07e08d3fc013babd749d6b3a959a77bc1598683fcd8281bd0fd385bb22c5cc3b0f172d3fed152ebd459fc9bbb9d0903c28a1df3e6945c1bc086953bbb52fea3cd1935e3e2b9f61bb835f1cbbbdf7c23c2e0ad63bac15283c83c7f6ba00000000000000000000000000000000b8d1b53c9562dbbd3ef0773cf1a71c3bad80d83c90eb1ebe115da93c360a9c3bcd10893bea2e31beb72e7f3bf513803c2107d1bb959121bec4539abb6f88943c01ff5bbcf86afabdf5413bbc6a45763c80f328bc9619b6bd495c2bbc3956563cc83803bc8bef4abdd6050fbcd0c12b3c79ae37bbdba583bc462208bc734dce3bd100053c8d173a3c2350833ac4b5db3a848e4dbeed09ab3fa1080e3c993078bc267038bea2c19c3fbfba393b03b555bc1b1e04beb1e58d3f8ebb0c3c269ac3bc1571aabd9f14673f81ed813cee2cbebcb9fb27bdd73c2b3f40c8c83c7f5aa5bc1ed650bcb900e03eff0fd43c49518cbc81033b3c2c84573e78d9ec3c5a4451bc8899053d1791dc3c9c8c123d4d0d37bce49e513c8b06e8bd9dd81e3c136f193acd95b03ce4a983bd41af4dbafa75f23ba75da03c3dc706bef57e4bbcb810823c3b1b0f3c3bae16bec55bb9bc2811a53c78eb3fbaa23c0cbe2085e6bce411b23c3538d9bb2276dfbdc6e6d9bcc95e803c92803fbbf315a9bd4e3ab4bc96d2823c3be9bb3a0c1341bdec866abc1e68293c770e4e3bb49088bceece91bb6d7dd03ba5d91a3c1172193b7764263b052f5f3bb18b4dbe41998d3fab95683eeac774bdc1934cbe5a6a8e3f6f084a3e8b1d84bdc20a1cbeb13f7d3f0d75363e0a2c7dbdaf88ddbdf384513f2f91173ebaa95fbdb32f7cbd09921b3fb3a8f63dbd0f1fbddf2a0bbd0673d03e743fb33ded22febc3a72f8bbb213513eeb525d3dee8c75bc88874e3cdbb41d3d1e5dd93ca5620dbcf86c203ca6a186bd7fc078bb1209603b3ecf433ce6403ebd735fb1bcd5b0503cdde0933c0b9ad1bd763f33bd4ac1d03ccbca263cb547f9bd46a45ebd8d8be13c69acf83ae716e9bda49d59bd819fc23c0a7edeba74a0c6bd8d593dbd5302a73cf76174b93ce391bd827e06bd61ca803ccb3b233b3c7536bd80a59dbc2dd34b3c19f5af3b40a191bcb84aa4bbe7e4f43b0d00243cc7c9fd3adc72f03bfabe7f3b74323ebe50d66c3f33f7e83e3a8ae2bdd05342be7ad46a3f3548db3ebc71f2bd6ee41bbedf01543fdb68c03e9dc7d6bd73aadbbde36f2f3fb25e9d3eefddacbde6fc97bd1654073fdaf2703e584087bd6b5a26bd3bcab53e5751203e7eea31bdf0045dbcac2c433e3391ae3dfc9fc6bcc6013f3b9fc74a3d66d0bd3ca9cd40bb7c59ec38f79c3abdf447e9bc75face3ba2a3203c3429d5bc4c7230bd175da63cceeb673c06d292bdc4ee9abdc425013dfab4f83bf584b5bde7f3afbd6ac5ec3ca14f883b6171bfbd2d13a6bdf754dd3c4c9e84bb92e490bdbd7874bda2d0443c0a33183b93c17ebd3a5647bd10f9993c3164b63a39001abd3387c8bc9042493c6d04b43bad208dbc1ab0e4bb3aae103cc8e4123cf279573a643c053cd5829f3b29521fbe2713323fcd1f323f0be520be12701ebe9e80303fedf92a3ff87128bee144f4bddf64203fc8c3143fddde0dbee02dc2bd4d3c093fb165f43e8e11ecbdf9cf54bd7913cd3efa2db13ee4ab94bd185a22bdc4bb963e0f246c3e3e2f66bdecee87bc75a9273e0db4ea3dcfbad1bcec173eba07e1613d1569913cebeff6390fa2e5ba26f1c7bc5e8140bd22a4203c5e02d63b6d2342bc00a170bd7d92c63c97a94a3cf45435bd2c24debdc2191f3daf57233cf64f80bda9b4f3bdbeb9123dffc1c83bfd938cbd7769d9bd043ee93c456e323ba3d07dbd8234b3bd7019b93c3fa7fd3ad36547bd78ff71bd86a78b3cb4038f3bbd9c09bd4d7708bd8cb55c3c0a28973b11f581bcf9b0f1bb03a4fc3b16def53bb0bb51ba4f7a2c3c06c7b93bf5c9e0bd1111ea3eed186c3f86603ebe3cfbdfbdd210e83ea29d653f33454fbe50d2bcbdb345d93e3353493fbaca30be420f8bbd3e3cbe3e80e7213fcf710abea38951bda41f9c3ef267ef3ed6e3c5bdb85201bd5614623e2e17993e290874bd4b7a77bc99630f3e09b50f3e8cb4d0bc4daff9ba6bf16d3d65bd543cf18cdc3bbf04acbada4016bcf6d688bd71c55f3c22a42e3bc215fd3b82a8a1bdd3b5033dc781f43b2bfb91bc7b820ebef9a8383d8171fc3bcc3d17bd769418bec66b173d3a8abe3b55ae35bdc95809becf90f13cda82163bd47c31bdaa6fd4bdaa5c8c3ca223483b144321bd0d7a93bdf033863c516af03a1b69d9bc8c3022bd8509433ca361c63ad14c65bc3439edbb7710c13b5d19ac3b91c11eba99ea3b3c78960d3b261378bd47686a3efcef8d3f009c4fbe42d669bd4661663e434d8c3f5f4a5ebe997c52bd07ec653e250c763f1cb537be2c4322bd4f63563ef9e2463fb05311be9b37d7bcff38393e3b79103fada4bdbdf49791bc8d1b183ea971b93e28067abd3bc700bc322ed23d840f2b3efb7cb4bc4be3f0ba2707653da87b0b3cda995e3cf14f08ba6c07f23bfbc8acbd2110b43cecc3f03a38ac703c0cc3edbd34f7153d33e1713b3c3bec3b3b7225be18bf583d52b4e23bcda163bceddd34be54dc1a3d3cd4853bf270d3bc0cec1fbe2216dc3c64c8813b147ae9bc547df7bdc8ee7a3cbde8173a8e04cfbc98dbb0bd769a3d3cfe5390b959219abcfcd838bd731cd63b8cee8cb94aa55ebc16011cbc4eb18eba60c9b43a97be8fba55358e3c7587033bae3a4cbcc231243c7220ab3fe0af50be7c94f6bb245eda3c5fa79b3ffa884dbeef1e5ebcd596523dc9928b3f2bf528bea7fa2ebc6bd18c3d5ecc613f842601bec29a06bc24f19a3dc40d253fa234a8bdca0f27bbce7a993df78ad23e391a3bbd3b2290badc4f863db34a413e7b6d2ebceedaa4baf36a623d40c6c23b87f0083de1932f3bf88e723c7fc000be3ccbda3c0000000000000000000000000000000008c9ab3b4f86c13b9fa83abe538bf73c0d90913b6a6be7bb56b628bec4d58c3c05bbc13bd98c98bc6a101abef23b983b0c299f3a2d11a6bcbdf1f2bda540d7b9f1324c3aa0118cbc4eaba8bd90fa96baafccebbabccb54bc8dbf3dbd599fd4b9fd4a81ba3e6db2bb23ba0ebc195afa390000000000000000000000000000000000000000000000000000803f0000000040dd823c92efe9bda6f3ab3fc83705be4a0a283ca0266dbd89578d3ff4aab5bd0129f13b93bfc9bcc7a6673faa7373bda84e143c844e45bb4e6f2b3fcacc17bd167ef83ba13b363c2777dd3e6861a1bc3e94283c7282ab3c1f0d5a3e1aa5b53abded073cb9a1a83c44f3433b9cfa4a3c00000000000000000000000000000000000000000000000000000000000000004af961bcfc3820be4ec6733c3f0bc63c9d8d18bd2b280ebebfa1dc3b7c3df13ca5af63bde839fbbdebe55db90a37f03c40bc5cbddd41c6bd300f1fbb86cdc53cbb5b34bdc4c98ebd753fd7b9ecdc983c9985f2bc90b226bdf9f547374c8d2b3c02da09bceb945cbc89f1d03adff81f3b00000000000000000000000000000000000000000000803f00000000000000009a6097bd09bea83f9ccf01be06e09bbc7cc4eeba7c4f8a3f6a34bebd626707bdc3f3413d9332603f2d5f8ebd05ae1fbde661843dab87273f990966bd591d10bd122d823d7216de3ea39e34bd3a2fd6bceb46643d0d1d653e1a08dabc66e826bc04a5fd3cff77bc3cd20e1fbcfd26553b0000000000000000000000000000000065839d3cfea5ccbde006ac3ba5e0283c1fde453cba1118be7e5d7f3c024ca93c75a9cebc47281bbef337ff3af9f8033d989e2dbd07fb06be946b8dbb8bb60e3ddf763fbdf9f9d1bd519201bc5a19fc3cf45821bdc7ce99bd206eadbb78e0b83c29eacdbcb64739bdfff00cbbcc4d6c3c7f1850bce20195bcddd6003af694903b780fe83b2387d03b79f12a3bd1ed17bb591e3abec5bea73f1277e43c2b8ed9bc1b7227be76559e3f766c05bc7ee70ebd285c94bdcc4a8a3f95fcc13bfabc68bda94833bc2a635e3f3a78bf3b977474bd4ae2ef3ce49d243f3746ed3bee985abdf4543a3d17a0da3eb8e5c139d33f18bdacbb443d25505b3ebcc0853aaac0b3bc43cd543d2052f03cee8a4f3c1a31afbb32b0063c9b3ccabd8c5477bb46e94e3cb5b2933c421b85bd571ee8bbb6b14c3c91a0b13b73bc01beffc178bc258cfb3cfffabcbc665004be3cabb3bcb268143d5b6215bd02cff6bdbc2bc1bc5c191c3d15cd25bda7ffbfbd9890acbc3ec6ed3c121408bd3b0c93bd2d7866bcef68d33c8c73a9bca2a52fbd55150ebc2cdc863c24d501bca23e90bc6a849dbac043e73ba8c6d33bf002f23a676a203b7686b73987f340be7e428c3fbc9b753efc1486bd359c2cbe611d8d3f50d74b3e7d71b3bd2e2fadbd8ab4733fd37d343e3667bcbd316519bdf0cc4a3f176a0a3e8b5cb2bddf04053c5ec4153f3eafd23d0d7f8fbd6054c33c94a5cd3e115a7c3d7d0069bdaf1af93c06dd583ea314f33c8bb5fbbcd78f083d4dfd2c3dc5aaaa3b7947bbbb208a083c694c79bd00ef6bbc63583b3c192e253cff4a45bd0d27c8bc97a28b3cb684a33bae18d5bd03f827bd15a7183d630296bcb5faebbd4ffb3dbdfff52f3d43ff03bd4242d8bdcce62bbd1950223d5e0117bdc35fb5bd56fe10bdb105103dc1a0f9bcecb885bd96dbc3bcb06bdd3cbed3a5bc5e4627bd51f464bc36169e3ce0f2d1bba8e38fbc60ea8fbbd4db133c0818ec3be894d03afcc1ac3b31c1d63a06952dbe1f65683f641fee3e435fe1bde29921bec616693f65ecd83ea1200abe5085c3bdafa7503f343bb83e71ea05be07a822bd2df32b3f1471913ead8eebbdc8898cbbd317053f4688543ec368c8bde26f8f3c3da9b53ee206063e7d4b91bd61b1da3c2e7d463e1b8d803d644f26bdf445d53c97c9523dfe34c13bd83ea7bb3fcee93a0d7c38bd458b03bd8203343ca4c7143c86200abd824228bd85f1ac3cf0e6ed3ae1f1a2bdf16a89bd13cc303da3b89bbc4377bdbd63418cbd07a1263def3ceabcb44abdbd5ae980bdce3d313de06b0bbd57b890bdcd5a39bdcde6c73cc449e9bce64278bd99e615bdba68fc3ccdd98fbc41b90ebd58219ebc3ebe973c2266d8bb104280bc622cc4bb36bd2b3c65a8f33bf0e35b3a9d9e823b9571403b54e313be926d313f4950303f1fa514beb7d704be8f15323f7bca263f88a833bea83892bd67fa203f2e230d3f469f1dbe1c9b10bde78f0a3f665fe03e997512be0b5fd23bfdf4ce3e5614a03e695ec8bdd1186f3c7a6f9a3e76f64f3e409caebd1af4b23cc2672a3eb33fc43d7b143fbd5013bc3c73805a3dde690c3cc7a7f8bb5ed49fb9c034f8bc427f38bdfc674c3c742cfa3ba57eb4bc8f9d63bd56acc53ce7cca03b7a117abd48bbc2bde3b04f3d9cbe33bce25ba0bd9363c3bdb45b483db843cabcadc39fbd2d53aabd5acd333d8eb2e4bc4f7e8bbd040788bda947163da9c1cebc73c453bd40863bbde6e5ef3c140d91bcdd150abdee65d5bc78beab3cd76fc6bbb20165bc422410bccaab293cca9da43ba458db3a5f6b9c3ba7c2763bab63e1bdd514f03e6710683ff3ed2ebe9193c5bdc03df23e53e45f3f060757be236068bd0783e53e36b13e3f0d1a40bed238b4bce139c93e3334163f637d1fbe53c65b3bb506a43eb1fcda3e74ad00be66cb953caca26e3e81da8a3e7ca7b8bd4509cd3c566f0f3ec25c043eee764bbdc086be3cfb54493d4a403e3c748c92bbc80b363a23639abce00e6cbd39ec4e3c4330e23bb02dfbbb79d192bd9c40093d4b86513bb1e21bbd46ddfbbdd406613d168a3fbcd4186bbdea84eebd5a5a3f3da8579cbc52137fbd5615dabdd75a383d4778d4bc0eff5fbdfc789bbd2140e53ccc06bdbc0fb036bd71596cbddf47e93cd3f485bcec6fddbcfd1402bdf6409e3c384306bc40a051bc643a15bc89ac0d3c08fa513b65fffb3a6cebaa3b474b253b1fe68bbdda247b3e01298c3fe84941befb1750bdd7447e3efa96893f707e66be4933dfbc0205863e5c77673f45de3dbe3b26a2bb0ca97d3e58813a3f9d6929be58997a3c1e2b583ed4fd043ff96af0bd307cbc3cb391293ea059ad3e3522babde54ddc3c0ddcd43d9fc7263e5fa853bdd26bc13cc4cc3c3db615333c768e773aaefbcd3b7371edbb7bbb99bdd62ebb3c7639fd3b6d7d103aa8b3d8bdc874133d896b2e3b8f6776bc3c8018beabc8873d0b3bcebba5bc24bd1bb615bec7bf523d97438abc1fa246bdb671fcbd88062e3d9ef3a7bc206940bd51b4bebdf161f03ca9e8aabc5d4a16bdfe148bbddd33d33cd0fc75bc5757c0bcb9931bbd688b863ca7002dbcccf428bc246d2cbcc28a843bade7a63a2d1e483b3eaa0e3c0ab4c73aecb2d7bcb21cfe3c45d7a73fd63b3fbef6f3b1bb920d223d0ba89c3fef2767befa2c923745c4b93de6b0863f617d3dbef1c15f3cde3ee53de8c4553f5c131dbe67b0cf3c61baeb3d6ea91a3fc9e9e7bdb9ce073d2cf3c93d2915c83ec2e9aabd2b46fc3c164a913df00b3d3e1cf827bd3d21e03cd4a3343db057093c47078c3c7f72d63bccb42ebb1bc2d7bd44cfb23c000000000000000000000000000000002283373b6bc185bc391e1fbec9891a3d5b34e4bb066707bdef7609bec957fc3c6cf878bcd1b52abdffbeedbd5933923ca37ea7bc0f431cbd6f9bbabd87ac5f3cb97296bcf752f8bcd4e384bdf19d4d3ce0216ebcdb38a0bcd2971ebd55111c3cc400fabbcb87a9bbeac344bc2154d23b0000000000000000000000000000000000000000000000000000803f00000000c942113cc404aebddd34a83f08cc0bbef786983c069d99bce214893f77b7e1bd0a67e63c9713ae3c02ef5b3f8033aebd3667153d9fde153d3aea223f3c7593bd11d01a3dc3b11a3d1e1dd63e99076fbd3f271a3dde40003dd71c5a3e1c3901bd2baed43cecc77a3c7a768e3c094ffbbb0000000000000000000000000000000000000000000000000000000000000000713954bd9348c9bd96fa72bcf858473db6d291bda550c0bdf44505bc5637673d12c1a3bd510faabd5e6129bca6745c3d638193bdcd268bbd6391dfbb2fc03c3d26136ebdaf0150bdac243abb52b6183d9bdf17bdbfdef9bc3470a839e045bb3cd38043bc096a38bcecd8243b7c88083c00000000000000000000000000000000000000000000803f0000000000000000f8e0cb3c1051983fb2fb4dbd7b7999bdacdea83df1127d3f412444bd1cefc3bd164eed3dc9ff4c3f9adc36bd7552cbbdd2a7e93d53bc1b3f237c3cbda7a3bebd3905c33df9bdd93e352f4abd255ea3bda806853d831a7c3ee82b38bdd15453bde1b69d3c8fe6913db7d822bde33989bc000000000000000000000000000000004cf861bc5bfd63bdbdc792bce21b9c3c22812cbd8fb0b9bd461d5dbcc430513d142596bd6a6acdbd3a8a48bc7747803d7649adbd9014b4bd4a8728bc5c6e813db0839fbda0a98bbdee180fbc2e71513d0bb980bd6f8d54bd2d0e45bb22562c3d144420bdfad8fcbc09110f3a014bd63c8f1c63bca99273bc249836ba960b333c1347f93bd79b763b2394da3a806117bb5f29a8bdcbb6973ffec6cd3d8d2e59bd1f512fbdaa23903f9ce8763dce58cebd56926c3d2dc7753f386f5a3df38301beecc5d13db260463f8502073d4c0007beb6c0e33df10d153f4ee4853c6a23eebde6abcc3dc5e0d03ef410a2bbfa0ad2bdf4ed8e3d527f6c3e8596a7bc96ca8bbda4db0d3d7269933d96afb3bc12fb8fbc02407cbcd2e75abd2761cbbce809053ce68318bc31ae0dbd7607a3bc32606f3c21532cbd574da0bda5c0dcbc5599353db4d38cbdb0bca6bd3ff7cbbc18e4523d0020a3bd54d9a7bd0f6a9cbc4f35703dd1a393bdc6dc83bdafc24cbc8bf0343d614378bd1d3c48bd5dd91bbcc2062c3d4c531cbd4f68eabc14f583bb0d23cf3c59e85fbca84155bc7131bdbae26d523c342ed13b4f91fa3aab6bcb395bf611b9021ecabd7024803f52068c3ee3e98bbd2fcd45bd0e5d7d3fde3e733e43acf3bdde26393d32f1533fdc684a3ed28d00be6fceac3dc7fc323f62d5143ef46614beb6a0bf3d5df9053fd830d23dc76bfabd7becb43d98c7c03edfc4613d4b47ecbdef0d683dd5ea5f3ea6a1a23c22069fbd2dc5d53c915a9b3d612c26bc7b8f10bd06e544bcc15400bde36eb3bca351f53a62e359bcd364d9bcd6ffd6bc9ed92b3cf4f22bbdb1a385bdce6113bdcff9273d47e08dbd9946a1bd220309bd0105623dfc789cbdd90697bd5267e9bc7bf35e3dcf8b9abdf5fa80bda4a5a5bce8e34a3dd1f670bdec733ebdea2a73bcd6a6283d4bae1ebd19cce5bc8324f8bb3fbcf03c1ea47ebc387154bcbe7038bb9a22723c3659923bd7e56e3bb0fced3a92562b3a7367abbd6e22543f1705eb3efc7daabd25d434bd316d523fc259d53e8b2b0cbed1ec173da68c393f4c65af3e08a71dbed7fda03d9532193f5362873ea44f1cbe2845c03d3d62ee3e21fb423eaedd12beaf5da93d7ee5a93ed6ebf43dd66000be0db06f3d98054a3e2aed5e3dc37abfbd2306cb3c8173953dbeadd23b2c7735bd88527fbc7285bbbccf14dabc554f08bcaae858bc2ff0abbc8fffecbcb064e73baa1724bddde267bd88593cbdf3961a3d53b080bd7f878cbd9a9d34bdd2163f3df9279bbda30a8ebdee7519bd4bb75e3dcfef81bd384d59bdb24de3bcf5ce063df0a873bd0b6e39bd9193a7bc91e72e3dc3201dbd66d6dfbcf1060dbc182bdc3c034982bc8a942ebcddd57abb3fc6703c7f236e3b28a43c3b6c50883a9bf4473b7c7d9cbd957b253f52dc243faac6c2bdb45c03bd1890253f8702193f1f0219bef585233d9e3f133f0104fc3e40bb1bbeb22da13d54d5fc3ef4f4c53ee12d27bef2d8a73dadb9bc3ebd7f8e3e26f9f0bd510fa83d8872913e213e3c3eca860abe7cfb673de8352a3e0611c23db1ffc5bd50d2c83ccf70843dd936ac3ce7bc57bdc05e68bc8a7882bc7ff7f8bc7e2254bc80e928bc518791bc623311bdd917ce3b069d0ebd15a34cbd18396ebdf4ce183d81bd76bdf3da86bd7a475fbd4541493d483d8cbdf85985bda55846bd69994f3d28228bbd95616abdf82510bda7303c3d5d7e62bdc0762ebd5dadd5bc2bcd253d55cc1dbd74dfd3bc20ad7dbcd2d8fc3c75878abce98530bc8d11aebb5c98853c6bc5313bd184673b8929b93a4b42403bbc3e84bd77e1ed3e1fd9523fca74d4bd7b90d1bc6ac8f03ea6cf473fb5f826bea2e02e3db035e03e33eb253fff2d2dbe33e59a3db961c23e0138023f6a9226be4368ba3d09849d3ebdd2bc3eb5351abeb1daa93d2c1a683ef0dd7b3e9d230cbe47467c3da00b0e3e80f7043e42fdd7bd9963f43c429b583df3300f3dacd467bd426122bcbe1e90bc9ca60abd94f46bbc1fb843bb844182bc8dcf36bd8de03a3cc151d5bc51283fbdfcc499bd53c9233d1a784fbde13671bd008a85bd5e1f273ddc4081bd698f7ebded0b70bd06da4c3d466d72bda00057bdb31931bd5370183d7df858bda3b128bd3e4b05bd4ec2243d0afd0fbdd968cebc15fd95bcca39de3c817584bcf20630bcd2cf12bcebff913cf5d5f73a802b263b7a700a3b4c1c4c3b05b565bd64388e3e2804803f1e37ebbdd52c4bbc3322963ecdb3743fac702ebef8d03d3d76d6943eaab1453f560317be2e81a03d7fae893e83841f3f004a28be12b0b43de7c2613e909de63e2f5009be2db1b03d3a6f2e3e23999b3e586c0bbe985d723da0c1cc3d96f22c3ef666c9bdc9ee0b3d20591a3d0c2b313dbe0d5ebdd18191bbdd386bbcc2f222bd2ec21cbcfde4b53a116ca0bcc27984bd2f0a313c73b676bc94ca25bd9ca4bbbd96a23a3df21435bdb6b968bdc69cadbd83fe483db95868bd711670bd53778dbd81db463d22bd67bdd06f54bdf5d44fbddd79243dee214cbdf96d20bd0fc81fbdf8b9213d17860ebd55f4c3bc5fdbc6bc496afc3c4d348abc0de902bc716c16bceba7743c4550aa3a60916e3b7db0c73a0e73b43b70b820bdc7bfdd3dc363973f080fd7bdb4b5e9ba4c4df83d0a178d3fdff12cbe45d45a3dbbaa203ecc046a3fcc6220be0fd7ac3df7ee273ea58f363f7c2d1abe2d12c43dee96153eae6e053fa04909be2d80bb3d0f4cea3d3a76b43ea0fc03be6d1c923d5f4f8f3db645423e0586cdbde9c23d3d27d1c63c38de3e3d86ae3bbd57f051b934bfa5bc162577bd51f35dbc00000000000000000000000000000000546689bc0d5832bd7bbcbbbd6dfac43cd16114bd6d1656bd3e21a1bdccd8053d0e5645bd10d95bbd41a689bd2248eb3c014f4bbd767b49bdeccf59bdd40ae43c5d9526bd54b91cbd270b23bdc408d93c1e28f0bcf305b9bc36add5bc7f23b73ca3fa62bcadc010bcee7422bcb48f783c0000000000000000000000000000000000000000000000000000803f00000000067e953ccde1f13b71b7953fb5c2b6bd5f7c743dc4293e3d7076743f1f6ac6bde6a9b03d0a91913df2c6423f5495c2bd69f9bb3de682933d9824123f5159bfbd5f52b13dce316a3d8ccec73ea8eac2bde53c8b3d66130c3dc2e3613e34d29fbda2221e3db368f33aed566b3dde015dbd0000000000000000000000000000000000000000000000000000000000000000df2ebd3c768949be893e323d2379813a5b09e6bbd8a030be70d0a63cb3430f3c7114dbbc230f21be2aebb83b4498203c1b7e06bd3a0f02be97dcf93ab946093c689a00bda360b1bdc418a3bb610bb33befa3d0bc552d3dbdffb303bc7125413b13e559bce15e1ebc402c7abbf193f4b900000000000000000000000000000000000000000000803f0000000000000000c31feebddad9aa3f2d6421be17f49b3cbdcc2dbd4cb88a3f8ab3cebdf52a103cf320f2bb7353683f7c779ebd0d2fbc3b3512c13c4b5e2b3fe6e043bdf7f5853b7a27323d053bd93e9b1428bcea5a353b72c93f3d625c573e4098a43c8b5d1bbb7957393dd47cbf3af993093d220c19bb0000000000000000000000000000000061fe1e3df220fdbd18e6083da42a99bbf3e8e93c692a20beaae7e53c56e921b9acd13e3c1c993ebe77ab3a3c97253b3c8e4182bba27c31be32db833b76b0723cef6397bca10e0abefe78debbda08413cf2d9a9bcfa66c2bd6b0742bc5e163a3c7faf7dbc260258bde7393cbcaa1af23b8ced4cbc3a5899bcaa7231bced8ba23b761c543b91941e3c04751d3a0cd487babce358be25f0aa3f80c716bc72dda4bb0db215bec020953f052c743caf224fbc22fcf6bd9af58b3f53e202bcd55c3ebc06a596bdb303663f8a38ad39b72d3fbc136fd1bc24bd2a3f95e77f3ca9d52bbc2317fa3bd334dc3e7eab073ddfbf0abccb4efe3ca43b533e34e82f3d8b7e05bc2f991c3d62343a3daaf62b3db42637bc8959d83c8797efbdd2b8f93c7aba6fbbc59ed13cb31d9cbd3eb77c3c784433baf87fd13cec4b17be1841b33ac2de1d3c5c0f723c85342fbe5aa033bcfd5d813cdac8053bad6623be9f1ba7bc8e448b3c86ae26bcec0203be560ab9bc0aed613c59bf4abc0125c1bd0256b8bc0a68483c8fc915bcd5ec4fbd8b9686bc24aae83b0fddc4bb04eba0bc65111fbca509cd3be76d943b949a253b7c9c833a93ba9a3a773e4ebe9c698c3f7557623ecdb357bd0d7043bea9de8c3f1f15363ede2f4cbd84091dbe776f803fea3b113e32cc2bbdb8e0d2bd11df533fa422f63d3f44fdbc52b16bbdde7c203fed5fca3d50ebabbce9e37ebc3608d03ec96eb83dddc198bc4798363c3a24483ec21a883def3cdfbb201db63c7f9e1d3d12d3303d1ca784bbde9a853cbbf485bdffae203c1d769c3aa0d7b13c643380bd6f53ffbb18902b3c8b48cd3c981ef3bd315100bdbd08943c24e5913c0d4b14be4afa3fbd594dd93cb131a83bbba50bbe77d748bd89abba3c650d67bbc5faf0bd5e8e2ebd94618c3cd09de2bb30f6aebd088f14bd00c47a3c1911f1bb004f4abd6a71bdbc25543f3c47f494bbf301aabc1bc32bbc82b6043c56c9943b46cedb3a3ebf793bb729993bc1dc45be22106d3f7285e13e05d7d3bd29a43dbecc2f693fc98fd03e7e95cfbde1c018bee0cf563fa238ae3ece44aebd2a6fd5bd32c2343f548f8b3ee9e07fbd9b9982bd5a160c3f78fa513e7e4333bdcac0cdbc037bb93e510d173e992ecfbce42c2b3ae14e433ebd07b83dd7292fbc83e27c3cd7264b3dbc8c0c3d8c18843acd72ce3b7f284abddb9c73bc3746073c73208f3c6c821cbdf9f016bd2462b73cb264a93cd1cfafbd8cfa91bd249e003de896993c3bd2e0bd3235b2bd9eeaf63c1e6c123c5599e6bd59c0aabdcfd8ec3c8f6591bbc1a0b7bdf3a181bd048c823cefd539bb46099abd7ad949bd8604853c666ce1bb76bc33bdf328dfbc48184d3cf3d6fcbababfa5bc748c2abc0e16193ccf2c5d3b385c0339bdb3b33b07e2fc3bb5df22bebc6b303fdf78323f43c220be4e8019be628d2e3f83d8253fb9351abe827500be576a233faa62103f4b9203bec45ebebd7d300e3f45cde23edfc6c0bdd2d74dbdd797dd3ebd28a33e7c5c78bd250901bd0b769f3ed344543e191105bd2a96b2bb63cf303ec609d13d3672b8bb77c2e33b8056743d27ceb23c0b9f1d3cbbaa3e3bf7cd02bdf9f026bd9d87863c6f213f3c14e565bc73166dbde119cc3cde25863ce0544bbd4c01e3bd5f002c3db1259f3c2e929bbdaa6a03be91c7243d2f35553cb717a5bdd5ceeebd4a38f83c1c7ac63b10f59dbdeda5c1bdfdd3c53c3492d2ba6a4086bd715483bdcca08e3cd8b780bb74a92abd433710bd7d35423c0e4059bb557a98bc534b45bc7e28143c68379f3b76710ab96049e83b55edec3bf9f0d7bd9204dd3e9f8e6f3f832846be9327d3bddc3ae13e2339613f637741bee7fab2bd3738d63e5961453f40e724be224887bd95a7c03e92cc1d3f8168f8bd29423ebd7323a53e19d8e13ee2209ebd9b0bc9bc9999793e7cb18d3e331e1dbd441bfabb8022203ebaf4fc3d04a242bbb8fbbab987c8893d166f5e3cbe648f3cd169a4b9fb9e2cbc7aae7fbd3fd7af3cd5b6333b021c033c92169ebddacf173d1b4f3b3c7dcf6fbc214716be75c73d3d8b4e953c9cc52abd3e0c2abefa12383dfc435a3cf9bf56bddc9918be3342163d4715c03b6eb252bd232eeebd4303ac3ccf8e833be44e4dbd1a3da6bdffb8a03c1c2b79ba6bea0cbde07b26bd76c71b3c7b3c3cbb902391bc6de159bcba06fe3bd0f5ec3a750f92ba33f3ff3b7a4ab73b78a350bd5e7a523effd38c3ff5b249be969854bde642533efb838a3f914a52bec76130bd31da543ead49753f502735bebc400cbdadab543edfd1423f658f05be41b4acbca28d423eeeac0d3fb156acbdce198cbc07a72f3e56d4ac3e9f2a23bd7be3afbb8bf8fe3d0296153e0fabdd3a7e5e65bb1b298d3d1e71123c9305ba3c422490bb0886093c5173a1bd6cb4ff3ce75d0b3b0e5ce63c83ad02be4b92433dd6b97f3bc846363c988324be4ca9513d26f19a3cf5d851bc052544be6e8e2f3deb3f793c21c5e9bc499832be88770f3d87b41f3c64ce07bd51290bbef390a13c9ce6c33b9d7709bdc672c6bd995c4e3cc8fee5ba30eecabc6bfa4abd3851b63b9eaa38bb3c2d8abc34c08abc96e62d3aeb99a9ba7c18f03a74816e3ce68e0a3b421bbabb21827bbc9787aa3f62e257bea81c1bbceec6223ddeae933f29ad2bbed7c34fbc38be383df1af883f740521be47d104bc60c18c3dc1925c3feadeeebdb26e90bbac7db33d1530213f4db795bd3b4c93bb19d4c53dcec8c93eef09f9bc621e13bb4be1ad3d3841363ecbaff33b925c41bbb215763de978e23c5c88f23c1e6963bb88af993c218001be19d9243d00000000000000000000000000000000b63f1d3c8550c53ceb4e51be6e51413d5402783c1c4315bb9d743abe6f01d63cfdff833c868073bc646e32be7b2d243c1a2f363c671db5bce5230dbe2191dd3b1f835f3b277fb9bc0cedc0bdd60c19ba48ec8538e902a1bc65ea4ebd4df1b5bb603d91bbd5481abc079733bc4d6efcba0000000000000000000000000000000000000000000000000000803f000000007e50973c128409be0348aa3fa1cf11be87582c3c1a2d70bd16f7893f35e1b0bd9367333c652fe2bc7797663f71df84bd3595263c216ebf3b9bbc293f35641fbd8fcf083c7743003d618ad53e5c0cbbbbaa79063cd3143c3db660513e204a8d3c36f29a3bd695233d33e907ba4144003d0000000000000000000000000000000000000000000000000000000000000000e0d6a1ba1b942cbe6658153d008d4e3cacf94dbd825e06be56acc93cd33c8f3c6f3faebdcb22ddbd2a667b3c8284993ceec4bfbd6892a0bdbdfb513ce960853cabeaa8bde0c654bdb2288c3b9736633cc0d777bd1bc9e1bcafe8dd3ae8fb163cc3f8e1bcd5b0dcbb5f7982b9f840303b00000000000000000000000000000000000000000000803f0000000000000000140bb5bd846eac3fb66539bee72dbabb37a8e53c7e428a3f435f15be143997bcfc2ecf3d3f215f3f4b3202be0feac4bcc38f0c3e20f2213fbdebcfbd508fa9bcff51103eafa5c73e51a65cbdf3fc66bcc1dff23d0d563a3e126223bc774069bc3e8d8e3d709f40bca34ef53c1fabe1bb00000000000000000000000000000000ceb6273d457ef4bd7b15c73cfafe253badd7653c129412be236de73c5cc4003cbbb7f2bc790418be6907753ca926c93c483a81bdf367ffbd4f14343c758dd43c2bb9aabd8377b3bd2a30083c39b2ac3c1c7f9bbde11a7fbdc9fe323b6d9aa83cf45565bd60100fbd3371763a63c2523c0bdf0fbd12812ebce834f0b948d1da3b9921513b1945d53b8e5dbd3af6150abb15de52be0968aa3fafd911bc938a87bcf432f4bd2d32973fcad6a8bc9d17debc49924abdd7798b3f713c4cbd43a836bd8918fe3c0ff05f3fb90e60bd77c92fbdcc42c13daf31233fa83f48bd6a6e17bd2ee7ec3d0f8bce3e0381a5bca4a101bd5a89d83d45103c3e90092a3c2c20adbcecccab3dc6c3b73ceb70093da576b6bc72fdc03c86d7efbde320f23cb679c7baaa1d193d68a1acbd1863033ceb9ebd3beb98a13c8c540ebe2ae6983b9102ac3ccf42acbcdd4313be8a58eaba5f91003d9b7056bdd0f5f5bd72b08ebb4af6023dc64f90bde951b7bd931924bb1d2fd33c61a687bd5acd84bd5d9438bbb862c13caa1b45bd9cba16bd0a2cbaba207e813c943fd7bc253065bcdbe08bb96fff063c55db273b462bd23a653d1d3b6c76103a25d447be84618c3f34e75c3e692366bd4bc11dbe627a8c3f73871a3e525699bd3eed9ebdb444803f9f4ec13d8ba2a6bd8d5389bbb4b5513f5f8a603dec9e90bdf660833d19151b3f5253e23c513f6fbda510b93d74cac83eab27b13caef831bdc29fb13d7e283f3ed5d0953c6cb2b8bccfe98d3d9787cd3ce9d7b63c6da646bcd290c13c3bf599bdafa6d13bc427453b17850a3d892691bdd7f074bc6a12873c6da1b63cdd92f8bd7868c9bcfd66023df06855bc99c103be8847e9bcc0c3263d5a443cbd65c7e3bd0ca4bbbcea15153d20a17ebde000b0bdb62878bc972bf73c250e76bde41f7dbd568f33bc15f7d13cc74839bd9b2913bd37e6ccbbdaa38c3c1ba9c9bc7fc280bc92b2023b6dbfde3b6788dd3b2ce4a6390558813bc90ed4399f0e41bec0066b3faa99e43e29a6dabdeeae1bbe6f506b3f49f9bd3e2fd6ffbd37a7b3bd42395b3f96938f3e2fdef8bd684a46bc5abc373f25a1433ea58cccbdcb3e343dd5fa0d3fea1aea3d58049fbdcca4933d7a9aba3e36cf903db42053bd1761a03d126b3a3e69f4163de93dc0bc08dc7f3d0ba8183dea89273cc25253bb97777c3c2f5076bd9c4d9bbc5043893c577f0c3d1d8758bd3d2829bd2f69d93c3c6f9c3c0996c8bd055a69bda9173a3d7eea1dbc1239e1bdf57f69bd48ff473d90af18bd85a5d2bd396840bd2f7f3e3d26f075bde47593bd4194f5bc5803043d574a5cbd1fbd73bd770aa4bc2eb6f63c6a5827bda91c0cbd2c870dbc852b933c1791bdbc62b870bc2ea1fe3804aa123cb6e7b83be0d0a5baaac2a83b1c77ff3a1fa820be08b92e3f6a70313f5aac1cbeee37f8bd8123333f024c1c3f31e833be76f18abd793b2d3f9fa5fa3e70302dbef17b54bc156a183f59a2b13ee1050dbe23854e3d7d1dea3e63c5653e46d4d3bdd560803daa5aa93e30b3f63daa9981bdaf9e883d36a52f3e790a483d4e27c3bc9cc95f3d6c5d443df1cd11bb7ffe873b5b76783c3db828bd042834bd0b14cf3cf5dde33c788e10bd291a76bd2f630b3da33baf3c2b4c93bd70a7bdbda4ae703df40c08bbf837babddd39bbbdc46e7e3d458cf3bca2f6b1bda5528fbd1020593ddcb541bd2ed290bd03274abd1f522a3dd97246bd896f5fbdfe62f5bc0cf0003d66ca1cbd1cd50bbd8a3044bc4492a23cd763aebc9c908abced3e1e392adc163c788aa63b091da7ba0ac4d13ba505153bf746debd125bde3ec4606d3f958c3cbe7bb6aabd547ced3e0c5d593f5e2062beea2b45bd9e2af43e65f7323f8bbe56be54b671ba7dfae13ef19c033fd61d2ebe6408153dbf5fbe3e52cfad3e2a6a00bed687613d8edb8c3e08b0403eb6f590bd21b2613d73de283ea3658d3d4e5fbabcab92383d1d50783d403248bc8eca533cde12393cdf30d1bcc7f18abdcd06133dea86ae3c474740bcee77a1bd8ffa273d7592953c46cb3dbd817800be7afa873de164a93885f488bd844bfcbd353b913d1598c5bc91458cbdfbbfcabd62df733d34d924bdcee575bd498489bdaa52353d95092bbd665643bd9cb030bda9f00c3dd7f511bdc8e3fdbc9dd594bc9d7ea83c8cdfa6bceb956abcdeeecebab126033c16b3df3a0f0a40ba1966003c106538bace875dbd35c9533e2d518d3ff6d645be1d691bbd7ba2733e5dac863f3d7f73be474245bcf2258c3eab2a653f06fb71be18dba73cc6488f3ece6a2c3f014e45be3a15463ddfc8843ed22de83e572311beb277503d32c95b3ef2ea853ea3acabbd78fa563dfdeb0b3e29ffc43d1a8dc5bce9d90d3dbb36853d56c787bcb756983cd097063cd13198bb11f9abbd575f323df658a33c0fb28a3b2e56fcbd27aa4d3d08e32f3c15228ebc564515be39f0943dbecbb93a97863dbd2ab718bed40d963d084a96bc16bf5bbd4bd1f8bdd879823dd1c50dbd833d4cbd4bf5adbd9ec8443d298e1ebdc8c027bd70d95dbd916e0f3dc331fbbc4e63e4bc0223c2bcf7199e3cb3bcbdbc338875bc1c7014bb29ae983ba5529cbacd7a993afb5b6d3c3ec581bbc5b059bc406e7bbc222aab3f86e550be72461f3c922c3f3dc817953f696561bec923713c7c8ec53d69a7843f428e6abe0b370c3d21e5103ed0874c3f043b4bbe047a5c3d353e223e9d6f0d3f5cbf18be7ab45d3d941f163ed58aa63e0a81afbdf2f0353d0d9ddd3df3ad033ebc8ed8bc8747f13c263a873ddd8c9abb089cbd3c3f3e083caaebbe3b8c0e00be9b33553d00000000000000000000000000000000d161803c238f3fbc023d37befe028c3dd4df7abbcecf0abdfc4912be734d6c3d97fdb5bc034a27bdfa92f6bd3dae423d76fe0fbd503c20bd5a63b6bdd6581e3d97d717bdfdd3f9bc48b761bdcebcdf3c27d30ebd62beb1bc134edabcbc60723c8ce697bcd6962dbc994603ba9df9a93b0000000000000000000000000000000000000000000000000000803f00000000746cb73c8e9df0bdba61ac3fe14346be9fdb1b3def812bbc4051893fc71235bef622473d93193f3df3135b3fdd9825bee397813de517a03dcb6c1b3f693b05beddba803d6da1b13d3b6ebc3eb8d5adbd7fb34b3dac849d3d4299293ecb97ecbcbb1dfc3c4c332b3d49aa91bc74fc8e3c00000000000000000000000000000000000000000000000000000000000000009c6d87bd6091eebd6d15743c1622593db5f601be7acb60bda2aadd3c356b343df8d819bebcc0b0bc74d2e43ccb04153d5f590ebe8abba0bace79003dde49ce3c63a6dabdb12f263cbbe3e03c886f153c0ced8abdc162183c01798d3c3616883bc25fbabc8d21ad3a7f85cc3b41a7423a00000000000000000000000000000000000000000000803f000000000000000033f786bc811bab3fac6a12bea322b7bdc89b213e4011853f0c632ebeb416d6bdc494873e897a473f87c644bef8bec4bdfa48943e8e0c073f030a48be97999abda8aa813efe8c9a3e82c22dbe229711bdf8353a3e7130f03d8482dbbd7212bdbb93f3a53de794e0bccaace7bc8e0f213c00000000000000000000000000000000233def3c4ee7f0bde83538bcd6c60e3d60f3f3bcb8c7ebbd003d133c5c67363dcfbcf8bd836381bdb6f86f3cb51a4c3d316d1bbedd32afbce9b4b53c92791b3ddee215be50aab33ba5b7d93c3e0cc83cba4cf7bd340b703cc49ad63c5bd7443c66a59bbd992b403cae0c8c3cd414c53b6e2318bdc8878d3ba7a7ef3bcc80ca3baebb3c3ce7dbc4badf582d397f2576bb16b949be512bab3fc3663b3d800055bd936ad4bd267ca03f128f13bdffd3b3bd0a0db83d8d62853fcc2988bd484afebd035c603eea4e453f1435ecbd373fd9bdcba78e3e5ddb033f6a2112bec8d8acbd1327853e52ce953ef74409bef3d124bdce6a433e8a71d23de904adbd78892cbc1299f03d9281b6bc2f0fa3bc92658bbbdecfa13a4a1fcbbd15a90d3c9e418f3c8ab91d3dbbaab9bd86ceabbc96aaf13c19e4febcceaadcbd435988bc8db06c3dcd23e3bda40e83bde97678bbdf156c3d172d14be4b2bc3bc6306bd3bd553433dc5a60fbe70c33cba7abc7f3caa38053d6f21efbdca7d533c3853983c54a8803c640c96bd85f6183cc725653c767f0e3c8cff0cbdbd15863b75eee33b2a1e963bbae8e53b2fe514bbeb61ff3a544addba18024fbedde38e3f6f31803ec958a0bd5f6be3bd512c903fb5272e3e17940fbee8847c3d8c83743fe40dc63d41d52abe4aa33b3e902f3a3f2125ff3bcd8812bebeee7a3e4d6afd3e8a5a45bd6eaeecbd79046f3ee4e8943ed7df9ebd5e5f82bdcc45343e5b4be83d9d2084bdf7a7c5bc8e5dcf3d40e02dbc9a4cecbc7b8af63af57d5f3c3f9993bda1700bbc5a7e8a3c167a073d2427a3bde73726bdc8ba1b3d73fabbbc404ac8bd34642dbd1ff5883d79b3d2bd5f7e78bd9256d4bc494d893dc32f0fbef02db2bcc06611bccc04513d664110be47f6383b6389e13bcd4d0f3dc443e8bd70593f3cca8c383c625a9c3c13909bbdf330303c1874303c2ac6263c06ee07bd252c883b5bf6de3b95228d3b2a0bff3bc678d7bae89fd03a88df1dbbaf4142bedefe6d3f479df73e47ecfdbd691beabda168733fb331cb3ea91742be14982c3dfa2f563fc0268d3e6c0552be00c12d3e3c8c253f8938143e1bfd31bec142703ef065e83eb9c4213d19f20ebe1329633e15b9893eb64497bccad1a6bd1da82f3e3702e13d1d6c27bd9cccffbcfe73d13d55fe40bbb2010ebdd91f083be368ec3bc0ac74bd4f41e1bc88a5cc3c78901f3d887f8fbd540870bdbba32f3d0ca28fbcabd2b3bd1cca8abdd2529c3d1fc5cdbd668a67bd9cd040bd374f9d3d444f0abeb95aa8bc33eed8bcabb6763d7f3207becadf02bcc3297ebb215a323d57dae7bd7180523c6021843b7742bc3c9cc994bd4240383c9d61033c1987223ca5cb0dbd64cac73bf08a8b3bb3139e3b1cdae03b1e0866395f85063bd68a34bb4e802dbe312e363fa898363f8d2223bec122c9bda0823f3fa879223f575c73be27633c3d3d5d303f51bdf13e84d37abe7777233e14dd0d3f51b3963e1c0559be28c0643e794bc93e3b821e3e69552fbe54f0583e88e0793e5414413d0388d5bd4482263e8091c93de4d93dbcd61c29bdcb98c43dd726ae3b346b16bdfd57853b82db103c4d1554bdd57a2cbd530fee3cb9c61f3d91b370bd867495bd7c393b3dcb290bbcc9bca3bd160ec2bd395fb03d0140aebd3dc562bd986f92bd18ffad3dee0002bead7fbbbcaa5330bdcdc5893da1b408be3bd0cb3a59428ebc7d143d3d1dede3bd2a5b263c2ac6b8bb6635ea3cfa3a96bd91db443c77c07f3afc295c3c86e313bd3bdcd13bd4d4903b4fe8a63b44f4d33b835041392f5a143b611f39bb88290abe948af63e627c6e3fb2093abe873898bd099e073f8d0e5e3f9ac88cbe29a62d3de977073ff7f12b3f4d7990bedfa81c3e9ab9e33e8fa2e53e3f5b76be40755b3e6768ab3e7d69823e2ebd45beae42503e7217553e6636f23db88bf5bdac06233e0412b73d0299a73c60b94bbd1436c23dbc562c3c9e4619bd91ac8c3b12160c3c651522bd8f8e6fbd2415053dabde283d1a6335bdc25eb7bd126e553d16cb37bbf0618ebdf200f7bd7103be3df2b2a0bd4c4963bd9ce6bdbd72a6c23dbd84f4bd2b35babca8b07fbd49a0993da52304be6a8a90bb4140f6bca7c95d3dc4ffdabd93cf223c215087bcbc58063d20fe92bdb2fc283c8e33deba5005773c43c415bd66a8023c0703533b097ba13bf24e003be543d73a59e8ab3b470f8dbb4794b5bd02e37b3ee3eb8f3f892c49be00d127bd6e3e9d3e1d3d8a3f862895be4934613d87d2ba3e404e5b3f684a9cbe1f151a3e1294a93ef51d193f414b87beaeba533e4d59873e6e2fbb3eac1d58bed5e6483e99802d3e59e1423e3ffd0abe960c1c3ed45f9a3d58ec5f3d8dfd77bd6ad3bb3d66f6613cc39d14bd5724603b58bb693cf190dfbc7c8b93bd7b1d1a3d36f23b3d276b2ebd9d06ffbdadc4723d8da8003c3ed95cbdc7c317beacbcd33d65cf89bd75ee51bd0690f2bd2490cf3de27ce7bd39c0b0bc1d95a6bdc5baa93da180fdbd437bb2bad40232bda68c683d404dd9bdc699293c4fa6ccbc6dcd133d49ce94bdee28463cb1eefebbd22a8c3c1fa921bdd37fda3bd812073bcbf2b83b3a9b9e3b4847903b8de5de3b6fd0d8bbc42d78bd3e780e3d71baac3fe34549be278bbcbb2f09c53d3106a03f72989abeb3f2713def58573e2161823f4ad89ebe3887143eff01693e53733a3f8ac58ebe32e9503e1cae483e4d02eb3e717a65be55a7413e81b3063ee1a7823e1c6516be1e14183e4be5753df4d0ac3db6b781bd6993bc3dda80c63c401d0abd64f5eb3b41a6223c9192eabc27dbd2bd49222f3d000000000000000000000000000000001843803bbf908ebde0f21ebe932ec13d5fec90bd51e356bd2b38e2bd4cd0c53da04ce9bd44b4f9bc38e599bdb7049f3d37e9f8bd6adb3abcfef23dbd6e25793df829cbbd36d46d3b4181ddbc585a1c3d41fe8dbd5a1a143ccacc27bc53759a3c15b2f9bc1ebe1d3c214f0f3b715af73a0000000000000000000000000000000000000000000000000000803f00000000f9ecc0bbaaf62cbc47b4ad3fd60071bedd51b33dc121db3de110873fb45e86be5fd52b3ea7aa1b3e39a1473fc2ec7dbe4ef9563e3857113e42f9043f03435dbe6677483e1ee2bd3dc34b9a3ed77f1dbed0cd1d3e8f05283d96c4f53d81c49abd42479f3d9bb97cbb68ffe0bcfa6f4fbb00000000000000000000000000000000000000000000000000000000000000001c9147bcbd709ebd51acbebc93d274ba4c116bbc551f90bd53f4b3bc4c41f9ba5b196dbc925375bda55fa5bcf40612bb2ae973bcdbf14ebded4097bc5bd055bb0efe54bcfb5e21bdcdd666bc8f0111bb013826bcaffeecbc5e2a14bc6e5545bb4865e3bbfba790bcf65683bb6e0fefba00000000000000000000000000000000000000000000803f00000000000000005c3c4a3c67de883f7e9713bc5d0e11bbbb9e9a3c9775653fec4b4bba06d79e3a3a339f3c14a33a3f139d0b3b8defad3ae09f883c9573113f6edf6c3a2f94a2b9c2941b3cb480d33e35ec4abb14a324bb8ef1ac3a2d99853ecf4e08bcf9b4a1bb04d219bc4107e43db3fa89bcdffe0cbc00000000000000000000000000000000b24042bb5a604cbd9e8a8dbcfad023bb7e2a1ebcb929a7bd4802e6bc2bcb31bb07d84dbca577aabd0aa5fdbc03aa54bbc9a65dbc4e4297bde127f0bc6d2e59bb4aae55bcc59771bd9f6eccbc2ea20dbb1bcf3bbce26e46bd5bd4a2bc01a71ebb7bd810bcc4590fbdc95057bc9c8ac6ba15f245bbfdcb8ebc6b69a3bb2aad9dba38f83db9d2015fbb64bbe13acbbb48b9c9cf8dbcd4c8873fbec1ea3d539571bc7ca626bc7b1e803f1c10d83d90364abca86dd13b8752593f146ecc3d5d58d8bbb609333ccf8b303f2abcaf3d3413b3bb8814093cf3ed073fa84b8b3dd4dd95bb602d583b630cc53e557b393d19d009bc7f98b7bbf003763edfa6af3c96da39bc19047ebc59c2cf3d0c082cbb4b0d58bcc9e882bce2b68dbcaea399bc23aa25bcb879c8baefa703bd63c085bc50587dbb5fd881bb3a3976bddc4301bdf302b4bb878bd3bb01f16dbd704b01bdfb5285bb968a01bc29037dbdb0010bbd07fb99bb9a62ebbb163e3ebd664bd5bc1b446fbbbe30e5bbb1fe28bd1d95bebc217b35bbec709cbbe59edebcc13d70bc0de7e2bac9c1bcba95b873bc86a9cdbbbddecbb98497c33a7c44f3babe6d8b3adec54b3a3a48c9bc50ca633fb091843e5f2ca8bc4d59b3bc0197593f9f88783e9c6aafbc5906c4bb8c1a343f52545b3eed7446bc591360ba7b1d193f2b65383e81072fbc9ad903bb5655e93edccf0e3e258316bcf63576bbb4d6ab3eb089ce3dba5e4abcf4a20abc8d085a3e4738783da83957bc359881bc7473c13d98a6963c6b0185bc12bc5dbc638506bc718457bc272148bc565183baec59b4bcec738fbc561391bbbed065bb008c3cbdec6810bd40f1dabb6b0685bbab9159bd3efd24bdc993cbbbce4e9cbb1e304ebdb3511ebdc3a3b7bb48c9cebbdb9336bdfdeb08bde76eaabb4b2b99bb29200ebdcb47dcbcd2b982bb3371a2bb68c9c8bce41d97bc89e91bbb524e13ba0b224abcec4608bc0665ffb86fbfa5b9d1095ebb2771fd387c91bf3ac3b6cdbc4572393fe22dd13ef77ec1bcf1e0cabcc590303fbf44c53ec35ec3bc16ff3ebceb1a193f5e97ac3e123a87bcf0a1e8bba8bbfc3ef7558f3efdd959bc5c0cf0bb61cbc43e8489633eae973cbc544b03bc3bf58f3e9798243ef2116cbc74143bbc01b6373e29a9c93d064784bc703c7abc9e63a63dc971223d17b292bc7c7f24bca47a8dbb9f8b16bc587772bca43d92baa7e382bc78bfa8bc6e7a9abb108b1fbb325b0cbd8d6b1dbd50d303bc907f33bb65eb1ebdebbf32bd94f6fabb915a47bbdacd27bd42423abd979907bc533a35bbe05fdfbcb8a1efbce334adbbfdb182bbb80defbcefebfbbc17a89ebbf7202cbbdc7e9fbc123ca4bca6eb4abbb4c287ba5b672ebcf71728bcdc1eebb8f670333a7774e3bad4d0abba487dec3a13c3c5bcd183103f8750103fea19ccbcadf8bcbcbd1c083fbff9073f82efd2bc3b5144bcb241eb3ebd75e93eec617cbce2c40ebc6f7bc63e6f2cc43e6eb156bcf4b5aabbca2e953e332e933ed28414bc18ea23bc6941653e7cb55f3e446f72bc133335bcd922103e3d110b3ea2fa7ebce44071bc0d1d843dd268743d9e9b95bc1e253dbc5fee72bbbbfde9bba04b62bc366222bbf62456bc493dcdbccdd4a3bb3d3330bb9a1fe8bc7b5a4fbd070f26bc87d648bbc9e710bd318e6dbdbbc53abc2f5965bbbd4711bd0f975ebd4f563bbc94d51bbb06c7f9bcb0cb36bd0c3b0ebc91616ebb2252cabc60fc11bd7c27c3bb1d9b2fbb5dc097bce19dd2bc58d082bbacd8bf39d9f019bcf6914ebce82ce6b85e65c9b9a10693ba35b7d1ba30d6103b923ebbbc07c4d13e784e393f4021c9bcad48bcbc83c4c63e1a03303fc4cfdfbc023a55bc2fdcae3e0e53183f95df80bc90371ebc52df913ece42fb3ee5af2cbc27bdffbba914673e27f6c33e2bb44fbc73292dbc3b10293e3e538d3e825f6cbc1d8856bc0260d53d4577323e8df391bc20b65cbcdd593a3d3fe39d3d4078b6bcf5a53bbcd988a7bb5d32e0bbbacb74bc972e32bb244136bc7bda10bda461f4bbf98842bb1a37c4bc7eed83bdb7074fbcf63aa4bad284d9bc94c379bd987e58bc4b46cebaf11fedbc99b282bdeb8e64bc52ab0cbbf526c1bc394a45bd228e38bc178f2fbb750db5bc41202fbdb6621ebcd68ef2baa1f36bbcb024e0bcf68babbb97368cba55460bbcd32c6abc48e4afb8356661baf512b1b8aafb02bb13622f3b0350a8bc96bc843e3fdd633f371ed9bc3cbb9ebcaade793e79bc583fc56ecdbc363228bc36685f3e1c89333f1c9530bcc582f1bb74fe3d3e40c7173feaf910bcfad0cdbb7247143e2797e73e209fcebbe9ef19bcae6fdb3d4e89aa3ef09d43bc6eaf30bc06d6873d0cff553e232f78bc95c681bc1b04c13c7eabbb3d196cc1bc54a244bc081912bc063d2fbc6c4592bcd32931bbec1b42bc861f51bdf79637bc2ea4c7ba378dabbcd109aebd54c19cbc9d2d99bacb2dccbcec99adbdf199acbc3dfd94bab07dcabc29f999bd8e6ba7bc099ce4ba6f82b2bc1a8f74bddbef8ebc23150fbbacfd9abc377048bd423f66bc5e5a25bbe14c5fbc88630fbddff216bc57a8f2ba8efcb1bb05b191bc1d73d9ba2c4e13bb0cbc8ab803f748bb472e183baca56cbc07bae93d00b9873f62a19bbc160f3abcf6d9de3d5602803ffcb76cbcdd399bbb7408d53d3ca5583f40b7a438830644bb25eeb93dcfdf2f3f7bc67e3bb7c066bb51af933d90f4063f12b3a33af795cdbbe210543d8ee5c33e3caea1bb8a9628bc8e34e43c58b8733e092261bc91a858bc8f4e483b11eec93d2992c0bc55944dbcdd2a6dbc147c9ebc91fdaebc00000000000000000000000000000000d680babaaa858cbc9f8f9abd6708a3bc9cd0a3bad9bd98bc74fa90bd8f34afbc393647b97c9e89bc54b47abd25cfa7bcf07f2cbb5ebc80bcad4e45bd74458cbc48bcf2ba3d195ebc6edf23bde42778bce7641fbb389327bc3e42f2bce5772fbcc78b67bb498fb7bbfc0f8fbcdb62b5bb0000000000000000000000000000000000000000000000000000803f0000000091cca2b9404cf4bbfb8d883fb405103c7f57e33a3e36613b0630653fb6ce623c091e403b05e3c03b33673a3fdcf55d3c74edaa3a2af88e3b46a8113fd5d52d3c229d67ba887f013b63b4d23e07e1383b03f394bb58e680bb171a853ebc39b6bbaa6308bc98db42bc8b87e43da20282bc00000000000000000000000000000000000000000000000000000000000000009789a5bc826f46bd842adcbcb69258bc0870b1bcf49f44bd8130d7bcd5f05bbcf376b0bc655934bddafeccbcf3825cbc1d74a6bc23fa1dbd23ebafbc5deb3ebc202294bc40d108bd38b398bc002d2ebc0e1879bc1e6dd7bcc90461bc0c2001bc1a8f35bcb79e92bc9d41ffbb501f97bb00000000000000000000000000000000000000000000803f00000000000000002d410d3d3b9a7e3fcc512f3cf248e33b57150f3df81e583f64834f3c9be5f23b38f2003d9812323f3f68663cb6670e3cf166d03c0d5d0c3fc705303c14ead73b14c0a33cbc85d03eb47da13b9697093be1bd2b3cb913873eac7cbbbab065a7ba0c86623aeb7dfb3de9432bbc1859e2bb00000000000000000000000000000000082631bc7788efbca40f9fbc06ab17bc642ba2bc1c0951bd8b02fabc3fe568bcfbc1bbbc70b264bd51970dbddbf98abc54c4c7bcdcfb5cbd6bc507bdaceb8bbcb862b1bc430b36bdc496e2bc4e9f72bcd158a9bcd66826bde9bdc5bc640251bc688582bcf960f9bcef238abc75aa10bc77c31abcf2fc93bc5d1bffbbf3a961bb6e2942bb2029b8bb6d193cb91755b9394ca6623cb0fd7b3f558e043e3df77dbbe4aede3c6f61683fd79ffd3df9fb393a7af00b3dd0ba463f613dea3d0078d13bf1de083d2d22243f11b0c83d5b3af13b7084d83c45edff3e318e9d3d8c49a93b7fc2a33c943cbe3efbb35f3d4d0e613a91691f3ca8e7743e01f3ef3cd12d94bbcc37edba9a16de3d0a1f313b431632bc7e58e7bbc2f313bc2a1d76bcaece4fbc3a89ebbbfb27a4bc5c8188bce5e30dbcad5d60bca06827bdc1d3fdbc204a83bc1fdf84bc652925bdc6fafbbc17317fbc6dfc9fbcd0003fbdc3e70ebd65da96bc339d8cbceacc19bd33bcdfbc048478bc8fd389bc8c1812bdc737d2bc48eb5ebcf1de3dbc4d1ac5bc7f3e8bbcbd4c0cbc75140fbca2cc76bcd66f0ebc7e1d6abbf9d61cbb8e9c35bb14e7a2ba20fca836d3cc763b6c8f553f802d873e0736dbbbe002753c644e463fc9707b3e386237bb852fa33c1b7b263facc45c3e04f65d3b181bcb3c96f80d3ffe943c3ec2b8b23b0c869f3cb068dc3e3545133e78ee7b3b07a36e3c4333a63ea65ed83d291505bafd3daf3b8da1563eec4c843df1ec9dbbe8109bbbd923cb3dd7adb53c981c34bc546cdabb23e3a6bb25dd35bc9a1022bc08bbc5bb9b227cbc6b4785bce90223bc9c1266bcc33c05bd1b1cfebc6a048dbcfa3980bc75fd24bd69fd17bd2927a3bce83189bcd26f25bd778117bd21a3a3bc78cd76bc632110bd96bb03bdee2e8fbc15d24bbc912801bdcabee5bcbe1c77bcc8c931bc23bcc0bcd455a4bcdc1c26bc7d37d4bbb6965cbc898a2abc5b1790bb063d17bb4b7f72bb04a302bb267135b9856006ba13bc2f3f2cbecd3e57f1d2bbee4d153c5422243f0c3fbe3ee8fba5ba75a58a3c43f10d3f194ba73e12cb9b3b7132953c9839ed3e720d8c3e8e88c33b8335833c555fba3e53675d3e91cc913b31ed2d3c437c8a3e20b5223ed372b0b97d1d8d3bf179343ebb26ce3d7104a1bbb34a80bb35cea73d97652b3d754f30bcaffb9dbb618e0fbb4169e2bbb7b607bc0970aabbb84f52bc121598bcdc9a2cbcbf1b1cbcb834e5bcaa9c08bd1c3194bc56824ebc556c04bd7b2917bdccb6aebc2a936bbc76b911bd49fc22bde124b6bc85f131bceea0cdbc4eeae0bc5afd80bcd69049bcfe4be4bc6b0ff7bc7c7387bc506312bc69699ebc8baaa3bc63c22ebca1f2bfbb3fb135bc239851bc4ebf84bbd122d4ba07ac29bb7d93ebbaefd15a3a7a6725bb573d0b3f68390b3f2dc7b9bbb6d27f3b66be003f6f41003f3ac7283a2866473c3f3ddf3e24b2dd3e50a0f13be94c6f3cb3eebc3eaae8ba3e4b18063caf462f3cc500913e34448f3ef6b0b13be6e70e3c2a585f3e21905a3ef372de3aa8bf163bb0e80e3e69c10a3e7a887bbbf5e088bb93d0863d677f7d3d3ca618bc7eb3debb194f82bb947ddfbbeef81ebce242b9bbf4b263bcbeaa8dbc1fc138bc291a29bce822d1bc4d921abd67b1babc357f46bc48d000bd0dd336bd8470d6bcbd0356bc5c7004bdcaa72ebd5fbbd4bc502447bc0365ebbc6e761dbd8ef2b7bcca1740bce336c6bce37c02bd884d9fbc722f12bcf3d49dbc1d84cabcd31257bcdda2cfbb07b43bbcc8dc66bc38edd3bb4908daba88e40dbbfec11cbbe3010a3a278488bba796cd3e476a2f3fa78884bb47cf343b47abc03edb63233f78c4983b3b671d3c0203a93e613b0d3fdd64383c501b363c81fa8d3e7f75eb3ed6d7563c821c2d3c8d42623e439bb83effe9123c1a03cb3b331b283e0980883ed385563bb25f443aebf5d83d1a7e303e61b041bb80a9afbb23d7433d4e9ba23d3c5717bcfb30f3bba66fa9bbbdf6bbbb13c01ebcd71cb1bb99d83ebc36bcbbbc8f4674bc7ade2fbc4401cbbc0d9a39bdabc6e3bcc7df17bcc798cfbc79bc33bde51cd7bce1f44ebc98f4f9bc2d4e50bd7a7fecbc91332cbc5eeac8bc7f8021bd0c9ec4bc40602bbc40f0c1bcb3bf19bd4c81b4bc9020f2bbd88282bcdb3bcebcb30867bc28e9acbb110f19bcb37e8bbc1d32d3bb2514f4ba436ed1ba0dab3fbb3215a3ba0156c7bb8633873e5967553f37181e3b93e6843af28f7e3eb197463f5684603c80a1013c4bb2603eae0f263fd489783c889b393c6ed2413e78490d3fd36f913c93ec113cc136183e051fdb3e8eb24d3c4aadbc3b1f0ae53d39daa33ea763d73b16e4df39f02e903d3fde523e2d6e12ba65a3d9bbc3d4e83c7095c23d16fa1abc149413bc480c03bcb54aecbba18932bc5063bbbb2d4067bce2e203bdbd1faabca82409bcab35c0bc38025dbdb42805bd410d2dbcf2dee1bc79ab6fbdb54d13bd276a2ebce31de1bc7c416dbdeaf815bd2a8224bc492bc4bcb3e23ebd0adaf1bc967221bcc522b6bc85fe2cbd3034d8bceee007bc2e8a88bcf8b9f4bcb0b79bbc541abdbb04da12bcfc9694bc6bf211bc38d54abb1c7b0cbbdbe1a3bbc9318dba05a431bbc7d8053e12207c3f9269473ccd1c8b3b087a003e465a683f45d3ad3cb4db363ce731f23d2a22463f0f85e23c58de573c83e2d33d45ac233f9604e43caeb2343c839fa83d7a07ff3ee6ce993c18fcea3bedb6793d492fbd3e5d9c3f3c3120c8b82bbb103d2478723e3b146d3a416600bc5ebb0a3c4d45db3dcfa421bc2e2c22bc22ac36bc1e4a2cbc0add47bc00000000000000000000000000000000d89408bc79e7acbc940a4fbd40fd04bdae09e4bbd7efa2bccd0c4cbda2b604bd58e806bc907aacbc65bb43bdae7203bdf674ddbb232891bc7e9724bdb582e0bc690700bc8b2f8cbc02610dbd8558c0bcde04edbb075660bcdb2de0bc333193bcd848c4bb96a30dbcfaaf91bc90ac2fbc0000000000000000000000000000000000000000000000000000803f00000000a8b0213cb8905b3c726e7e3f1340f83cdf08553c32408f3c15ab573fa6d2e13c9cf0513c49839f3cce34323fa6f7de3c7b5b393c01d1763c2f1b0c3f7a5d9e3c6b84043cfbba303c3590cf3ebea5513c13ecfe3a066c9a3ba459873e1c64ae3b30888fbb90f6babb47aef83d20e8c7bb000000000000000000000000000000000000000000000000000000000000000040c001bca3b73fbcfb8132bc36e721bc7f6d05bc79a03bbc4c602cbc5ffd20bc556e13bc827345bcc1df35bcd4582abcaa92f2bb4a6a20bc5e6915bc723c0bbcbd16f5bb5ede1dbc595d10bc75b10bbcdb23cabb0664fdbbdf4de7bb975fdbbb085697bb6b35b9bbde69aabb4681a4bb00000000000000000000000000000000000000000000803f000000000000000046637f3cae52663f831d303cc971183c9857793cda70453f62bb3a3c119e203c6ec4543c784c243f3dab213c1f50063cfe17213c16f0023fbf04ee3b50f3bf3b6f7c193cbff9c43e6229ad3be75d7f3b522b9d3be21e823e6068303b31d5063ba5f9b73a270e003e5eb520bae33544ba000000000000000000000000000000002341aabb626af8bbe130fabb28a3e6bbb30d0bbc4e2949bcea5244bcc01c35bc5efd15bc63fa53bc84f34abcca493dbc02c51ebcfc4d5ebc2ae154bccd4a46bce9ff08bc17d336bc7e8c2fbc9c9e25bcff6a0bbc058f37bc9afe2dbcd85f24bc3bf8e2bb4db80fbc2d8408bc866bffbb0215afbbc573d7bb1912ccbbcd0ab6bb3c2324bb676730bb403723bb739a18bbe73c2b3c4327653f1eae073eef4cc23b7b2e813caa004b3f9a37f83d3539183c5eae7c3cb4052e3fae16d83d63ff173c7af3723cbd3e113f4497b73db8a6123c65ed4d3c5fc8e63e4280903d1038c83bdfb11c3ceb78ad3ec8e05b3d8149a93b5dd9b33beb64653e80d60c3dde26133b1ecc143b4c8ee23d828a7e3cdc0cc5b9bb6368ba5252e7ba4e2a11bb13c301bba2cd8cbbb245c5bbcc9fd7bbad34d1bb3c0ce0bb8aca45bc79954cbc581240bc3e5ee1bb751d21bc9b7724bc255719bc6c6614bc09fd6fbc122752bca48045bc065fecbbe40722bcdf0f23bc9bb218bc6bb204bcbda02ebc83fd2ebc8ad424bcdb20d3bb0de102bc172cc7bbf93ef8bb8d229abb0cd0bbbb1027bdbbc99fadbbded3eeba97befeba0c93f8bab0b2e1ba6692093cc74c443fff0a843e4dc1a83b6dd36d3c47722e3fe6d16d3ed9391b3caac83d3ca8ad143fe8084b3e07c8f63bcd835b3c14d5f93e963e2e3e14f12a3c9586203cb56cc63ecf7c083ed54fc33bd954133c206e953e5466ce3daf40a13bceb7af3b5d12463ef0e1873d1dc92e3b97dbd73ad1a2c23dde07fe3cccf05aba2c4066bac9e8aabafc2302bb6353ffbaf68160bb8d27e0bba65cfcbb602cf2bb4680e7bb4ad523bcddf935bc69792bbcc2ba01bcba7736bc4b9044bc22f238bc00420fbcbcb347bca3b154bca16448bcb857f8bb6be829bcbe9133bcf7ab29bc4adcfebb5d2a29bc3e0c32bc0f2427bc6a48c5bb755cfcbb0ddb02bca169f6bbfa3296bbd7e9b5bb9221bdbbb218b2bbb6b4ecbadb63ffba026e02bb324befbacb26fb3bdab8233fd50dc53e193abd3bc2a94b3c486d113f9d84af3e15e9113cf940513c6adcf93e1920973ef217143ce9ca523c472ed13ef4cf7d3ebd2b133c8545253ca092a63e09fd493e2f70d83b6855123c24d07a3e251f183e1a0dab3bd1629f3baa74253ea21fc73df4baf53a100cf63acd9aa33d229d413db85b07ba840f5ebaaead90baf246e0ba85acf6ba1c617dbb5a35aebbeda0d0bbc891cfbb7facecbbf36321bc8a0e3cbcbc2734bc3f21e9bb700723bcbb133abc06812fbcc8e805bce6cf39bc5b8751bc0d4f45bc48aadabb222911bc16411ebcdc3b18bc54c7f1bb1e3b20bcffe830bc05a425bc6a527fbb1bf7f0bb37a002bcab5ef4bbb80495bb315fb7bbf894c3bb1cccb7bb94980dbb4973bbb9ddae1abbb3bf12bb4c44d53beafe023f97eb023f4b57b93b75392c3c7dbee83eab55e93ea36a2d3c615b393c9634c83ee3abc73e083d123cf4a7453c122fa83e2979a73e569b133ce7f2fc3b21da853e863f853e3598a63bb1e1053c57c6493e8052483e66d4a23b5c1b8f3bcbea043e35b9033e31d7e93ac8e00a3bea0d843d6104823dd54d5eb9b7c78abacafaa8baa090e8ba56c10dbba17d81bbb0aab0bbf4b1d9bb86c0d6bb534becbb79761ebcc85b41bc1e303abc646ceebb6fc824bc3b4146bcbfe33cbc175d11bc03e842bc023565bc57ee57bc9045e6bbb2d519bcbd1136bcbe852bbc1765f3bb9cd31fbcc79239bc2d812fbc2971bfbb1ac6f1bbfa5508bc742500bcf71495bbf2a8afbb6835bebbc735b3bb22bdfbbad72606bb9cc201bbfb7af8ba2553c83bc5edc43e247c233fb581ce3b8e433d3c684fb03e85da103f494b363ce45f3c3c40b2973eb73cf93e3b36253c328a503c0004803e93e9d03eef500e3caf3f1e3c9385493ea30aa63e0b2ced3b7f42083c6283193e2652793e863fb03b49b39e3b8753ca3d98a2243ef1fc183b7579c03a473f453de02ba13db2d73dba057c3abab56f62bac025b0ba7d97e7bab3cb8bbbf0c7babb260fefbbfa3befbb66dadebb30a81abc4f7349bcdf5742bce397f0bb06d71fbc83fa46bc02f93cbc54ed05bc61fd37bca78967bcb9ba59bc3899dbbbbfe913bca97c36bc32712cbcd8f5f6bbf17620bcecce3fbc89d834bcf0a2a4bbc7cccfbb762df6bb5619e7bbbe74b1bb4464cbbb89aae2bbeb93d5bb5417ffba4ae5fcba056804bb9f12f2bad11ec73b2c34843eba30443f58f9f13b0026303cbf216e3e67142e3f06ab403ce870283cafd44c3e55a4143f6316263c9981423c461c2e3e576ff93e0ef42e3cafb80f3c33e2093eb3f5c53eb83fea3b745a033c0a8ed13db7d0943e13b7bb3bc651793b3d04883d342f443e38af083bd707103bc6dc073d61b4c23dfd5dba383bfba7ba6323cabaf38b03bb6a2a1abb063696bba37dd0bbb27b0cbc6b1c0bbca26d05bca85234bca9e070bca41c66bce64106bc81fa33bc130572bcfcc763bc1f5e08bc4a0c39bceacf75bc4c2169bc8c08cfbbaec40fbcd90f5fbc78ba34bc5f60f4bb6dc520bc3d4d4abc56353fbc799ec5bb7757fabb03e919bcf12610bc4fde98bb7cefb7bb3785d9bbb032cabb79ff16bbf26c26bb82bd32bb345026bb6fcae83b544b083ea820653ff8281e3cfe57483c9331fc3d931f4b3fa4fd703ced144e3c5b68dc3d4f032e3f37985e3c661a493c6235bb3d5603113f2f5c423ca67b323c2f4d933d0141e63ee267f93bb12a0c3c86ac633d3921ad3e8827d73bbe26aa3b7c2f143d2ae8643ea12f463bb701d63af0f5883cb1c7e03d39c8fbb90f9b5fbaeaaab5ba473406bb77dc0ebb00000000000000000000000000000000f037e0bbc4d017bc835f33bc6ac848bc3d1bc7bb59f70abc62bc45bc7bae3abcabc4dabbaefc10bc76dc44bcb1473cbcad29c7bb3d3806bc4ad732bc7c4d29bc15dbefbb92ddedbbe51a3fbc210115bc215ebbbb3575e4bb29080dbc4bac04bc232d91bb9ddbabbb60b7cabb6afabcbb0000000000000000000000000000000000000000000000000000803f0000000057ca313c87a53b3c4f1d663f44df5d3cf5f32a3c291b333c88e3443f64903c3c9c52203cbd52273c64f1233f1224213c81b00a3cf8d80e3c27d1023fb35ffc3b9c85fe3b179ffc3bd34ac43ee77bcc3b88e5a63be57a333b943b813ef697c03a4bc1403bf43cbf39028cfe3d4fb670ba0000000000000000000000000000000000000000000000000000000000000000dadd5eba964014be262125bcf5ea313ce1784ebc93b308be52ad8ebc69d5313c6e7da2bc50faecbd8e86cdbcc816e93b5d03acbc6285bbbdecd0c7bc857dc03b386f86bcf9188ebddba19abcdcbda43bbbcaf7bb0d2d32bd6b8330bc3a6eb63bd995df3acd088abcf68a6abb305d4d3b00000000000000000000000000000000000000000000803f000000000000000031a88bbd99e3a13fca7392bd4cbde1b8bd5000bda523863fb63d12bd613450bbab63c8bb2917583fb18142bca8ac90bb4911a83a4303233f94ab68bba04b84bbfaeb473a926ede3e43148fba68c585bbd78982bb9e5f753eefdc83bbd24ec6badda917bc15355e3d55e34bbc3f17263b0000000000000000000000000000000070d8343c0082b6bd759166bac4505e3b71af803c012210beffd2d8bbda22543c5b3529b9172e17be1c28b7bcdde13b3c266619bcaff904be051be9bcf6b51d3cbf6846bc6286cebdb02ff4bc1ea4013c2d73a3bb0bcb99bdf816c0bccd0dd03b8622c13a90dd3fbd44d86abc6de9bc3b5247183c9ae996bc1903d1bb9e18803bccf8283c27698f3ba19d623b3b04953aa1300cbe7b0ba13ff5f9643d313cc0bcf0a919be8c7a9a3fbad7283d3d0ebebccfbcbabd66ea843f41e6883dd88dc3bc06bd5fbdbd03553f7c48963d2cf7b0bc191b05bdfe9f1e3fc2e6883d6a5196bcbfe8ebbc0f05d83e1d4f4d3d19a279bc1572b4bcbff0653efa96f93cc8fa17bc51191ebc9f96453dcaf46a3cd5191b3b2ffa57bc30c993bde5b03abc73e48239fed7dc3b3a5666bd49df8cbb0a62853a85f7083c3cc7e5bd01c1cbbc6fc2eb3b5e5387ba688aebbdf7591fbd97cea43b776396bbf7dbe3bd40e02bbd15b2d53b809b00bc71a6adbd922c18bdcc58113b1a3e16bb6f7e89bd6c9cffbc0bc5a13b023c103bdbb128bda265a5bc9e51a83b71080c3ccc848ebc71a509bc754da93b51a21f3cf186773b04651e3b83e0683b5fc20abe4052863ff2827c3e937f53bdf6ec16beaa2c863fed696f3e2e1961bd308abdbd7c5b623f8a13653ee8f129bd345895bda8ae3c3f6664483ec18720bd69723fbdaeca0b3f5a11223e0738f4bcd7f327bd6560c23e4a2ced3d4e64debced36fcbc560a5a3e15ba8f3d33beabbc92aab3bc74d1743dd4b7db3ca5b829bccae386bcf5ad28bd99101ebc898ceabb23b9c2b9c3501ebd23526ebceab528bb23ba563bb964acbd879030bd56eb5f3b4932b7383f92c8bdda2365bd2200523b961212bb007ebcbd613066bd89dd163976d9a2bbc3119cbd495e51bdedb929b99ebd73ba22456ebd881a22bd2c7f663b8e03943bfccd18bd8b46cbbc4776b23bcc341c3c448b89bc61952abcc106f03b5be2013c9ed3863adc733c3bc733b43b19a2e7bdb3875a3f05fae43e3a0498bdbc4f03be1cae593fdd0fe03e0d94a7bd6c4fc5bdb0013f3f26f0c93eb2bf8dbdcd598fbddaad1b3f94afa93e31e157bdf52458bd4312ef3ed0d1863ead1633bd5b1b30bd6330a53ef3a73f3eaa6c1dbd94b314bd5b5b3c3ebaf0e23d85f3fdbc4c11d5bc35047a3def7d283d16b9b4bce564acbc0f5dd0bcc16f4abc8e6980bc80f0ecba53accebcfbf8c8bca0f461bb157e58399bbc75bd749a77bd80f11db965d528bb8f8591bd77fa93bddb5edfba597c0fbb016495bdb2ff95bd6e0d27bb21e8d7bb094f59bdbe5958bd2adad3bba73d11bae01447bd692e46bdbbd722ba1dd3093b3853ecbc7bbdebbcdd2c423b154fef3bde9a69bc5df74abcb416f53bf101e23bb9d4803a3ddc2f3b1753e43b2ea2bfbda367263f366e263f54b5c0bd99d9d1bd2254243f632c243fd466d6bd29ae97bddca20f3f63320f3fcaea9bbde1b87abdc70bf23ea8e0f03ed0db84bd19ec0abdbe39b13e0624b03e8ca018bdb66e24bdeab2843e8c66833e037c33bdb84501bd48cb173eae4a173e5a5d0dbd2e67cbbcda2e5f3d0bd85c3d423ae0bc6d24a2bc0ea387bc615a85bc63edb7bc4d3b0dbb8bdd5ebc07451ebd88e912bb836d3e3bae752abd4f25aabd17d7213b50b7683b145367bde58bc8bdf398a3ba8663b33a998666bd0394b8bd6aac60bbbd6d113a6d5852bd89329fbd0a8b84bbdf71193b34cb20bdfcf760bde39504bb19349c3b1df2ddbc12d70fbd35faa93bf2cce63bc93a48bcb66964bc9a99113c3807ab3b1cf1a13a17414c3b68af163ce83297bd4318e53e68845a3f1747e8bdb768a7bdbebbdf3e9f8d593f389f04befc8f83bd3d15ca3e9bab3e3fd3e2c9bdf6bc4cbd3e30aa3ece601b3f49f197bd60d225bdca77873e8e5ced3e533b67bd23fe11bd7a2a423e114ea43ed15a43bdd867ddbc9163e43d09583b3e753122bd2e29a1bc2f672a3d4ea07a3d7fbff7bca6107abc14ff51bc2cebcbbcd5efbdbc4ee5f63a9a0484bb1bdc67bd33f4893bb648ec3b7a36ccbcc175e5bdb2a8ed3b31698c3b943b16bdd9fce9bd5de14dbb24029e3bad0228bd8467e2bde05ab8bb38a9053bc68117bda697acbdfdd403bc3018943b9112ffbc4d6688bd3b0911bb0606963b9695a8bc057022bd4a3f343b59b8cc3b95d726bc067c88bca083173c475e9c3b83530f3a1917713b407e353cca5357bda96e7c3e7a5e863f8f8209be95115fbdb6cb6f3e4f44863f64fb17be04f823bd5ca2663e68ab613f7903c1bdf0f112bdfa89493e8b753c3f199e9cbd8f0fe0bc0d22243e99650b3fa9bf4ebd7583c8bcf03cf23d0165c13e26533abdea4a9dbcad7c913df34a593ee70b10bde57c26bc8895dc3c4e547b3dd3edccbce998debbaf5813bc16b529bde99e9abc344c403b2f9c203aa576b5bd4a25213ca931343cd90aa4bb54ef0fbe9cd6853cfed0113c41cda3bc662717bee97cc7ba68f5e93bbc7cdcbc1af403be981b27bc518eaf3b80a7e2bc5f3ecfbdcdf653bc2d78cc3b93bdb6bc9f609abd8925d7bbc5a2c33b89836cbc0c603abdeafcec386dd8a63bc075debbfcac90bc541c1b3c902bf43a1c5d063b86a1b43be3682e3c7285c2bce202643d6405a13f90c70cbe5340b9bc18512c3d3e139a3fbc4118be0360b0bc1b92873d3fea843f63a8bdbdb12f9ebce5df943d4fd5543fb68d68bd89697fbc56bf8c3d303e1e3f1fea11bdf62f66bc8a32523dfb90d63e146ef2bc577f0fbc3f76fc3c273f663e69acc8bc9674e73a95986b3cde1e473d949033bc566256baa56d2ebcbcf490bdea8483bc000000000000000000000000000000007200113c61f4f4bb73e014bebeb013bbf21d163cc0717abc4ca908bedee160bc0001c53b1fcdafbceebdeebddcb2b1bc249b903b2987b7bcf3dfbcbd9725b3bc2417763b711a8fbcc46e8bbd7e8188bc5bd9923bd2fd31bc05792fbdc90ec9bb5fe8173bd9855ebb5fe08ebc429a223b0000000000000000000000000000000000000000000000000000803f000000007533903a15cb91bd9a16a23f1c748ebdcccac6b9f7220ebd01ff853f173604bd205537baa88c34bc0dcb573fa3f203bc98a1faba70979f394cc6223ff08ec3ba266cb5ba56d8d4b81ff0dd3e4a9ae6ba50f0ae37370a3abbf2f3743ef448cabb737a283bfebb21bc3cfe5f3d5e0d3dbc0000000000000000000000000000000000000000000000000000000000000000ad82a3bcd730e3bdbf7cb2bc1fc4483cfea0e9bc3b16dbbddb9ac9bcc97e2a3ca5210abd05f1c2bd2ecbedbca14b863bc97b05bda1d6a3bd1dc6cebc8d084c3b7cb2c7bc53977bbdee55a4bcbc027a3b725f4dbc4b8f29bd1adc3dbcec2c973bf5d3bb3916a3a2bcc1f04cbb719d8f3b00000000000000000000000000000000000000000000803f0000000000000000872fc8bcbd18993fe9e510bd018163bc0996713b6c147f3f13164abc5ccf44bca377ac3c34624e3f90d7463b90bff5bb722ab43ccba81d3f6eb98c3bd9b002bc95744a3c2c97dd3e8bf634bb7e7023bca126c5bab765813e31a710bc4277f1bb78e88dbc0c62a23d88eda0bc39efaabb000000000000000000000000000000008d9383bb7b3a83bd11f94fbcdeeaad3b4fdeb4bb9fc5debd3b8b9bbc23fc8a3ce68aacbc3096ecbd051bf5bc3cc9523c8233d8bce446d6bd227606bd88db1e3c44bbc9bc9a90acbd0460fabc7766a23b434287bcbac188bdf3adbfbcc725f03bd783b8bb4bd032bd56f56fbc4521e73b5be7de3b5800afbcca27edbbbabf8f3be053343cf2e1873aff4bea3a41312d3b6a6bb5bd2e8a983fae66ba3dedd810bdfc6ec1bd715e913fdfd79a3d95e725bd69de21bdb600783fd134b83ded9f07bd206854bc7d32483f2f69ae3d5879e8bcc42d04bbef61163feabd923d69dfb6bca8070abce17cd23eb1b7463daddbb6bccfd683bc06f7703ed3bbc13c97ee8bbc1cc29dbc873d9a3df9a0e63b91a66ebba081cebc68e84abd045692bce8668fbbefcba1bb98d71cbd59e439bc7264553a831339bcbac8aebd1848f9bcf91fc83b54249bbca51bb3bd69b82abdbc19bdb98e91afbcb9c3b9bd072d2ebdcdaa123b5360acbccdf992bdf8e618bdf333c8bad0795cbcc6af70bd502bf3bc65b7543bd2acc0bb12481bbd45bba0bc6b01663b42fac73b333499bcaee720bc5b05c43bb3142b3c4ab00e3a42b2723a44bd773b647fc1bdc78f7f3f7d0f873e5f0b58bd9e52c8bda9827c3f8fb5813ed6bd6bbdfa8024bdd269513fb9e8703e670120bd481bf1bc9c25313faf534c3ed1a01dbd5cea61bc1c62043f83f8213ed572ebbcfc20aabc5662bd3ecc7ee53d8d5f04bd1031adbc87f45f3e0c9c873da0dee1bcd635e2bc55f99f3d3181a83c44558cbc49d2bbbc0f99e1bc380658bc51753bbca0a00bbcdbe2ebbcc3a882bcfb50c8bb29c938bcd0b487bd6da524bd1f181abbf2a884bcf778a4bd75fd53bda1440cbb989793bc52779cbd2d4955bdd9a375bbf04595bca9e886bd882f3ebd34a6b0bb22f629bcbeaf4fbd41fd11bde4a6cd39b7874dbbac300ebd523ebfbc5c2c853b14cdb33b0e397fbc4ab83bbc10a7ca3bf805d33bdd378b3af5f4743a5c67cf3b3a55a2bd2911513f8be5e53e44057abda5e9adbdb0fc4d3fb53cde3e63cf90bdc4c15fbd5d01343f06a3c53e801462bd44a60abdd057133fb0b5a43e7aa832bdf45abfbc9a92e23e154a813e14a413bd5017d8bc6af99f3e9ba4363eefd616bdcfabebbc2f6d3f3e03e3d63df0620ebd7aeaeebc75f0923d05bd1f3dfec1e1bcee45d2bc89cd8fbcf61a78bc088cafbcee3528bc51d19abc826bb6bc8de412bc3fc851bc07764bbdc2b452bdc0f2edbb7f7680bcff9380bd03a07bbd001c30bc0ed989bc8fc885bd876c80bd21e922bcff3e8abc3f5349bd15ea46bdd26a64bca71c27bcaad234bd504c34bdff6d8abba1cc71bb07f3e3bc92f1e0bcede1a33aedfb503b80804fbcbadf53bc4af3dd3b5c31dc3b754f443af989703af6f6043c914a8ebd7b58223ff8b3213f1ca590bd202693bdd3ab1e3f6aaf1d3f7694a3bd4c732bbd1df5093f09c7083f592a5abde4d303bd9417e93e600ae53e628f40bd1d7e60bc7b8bac3e8af9a83ef65fcbbcf318cbbc7199813eddc57a3eedb420bd57dcd5bc4d131a3ed90f123edc2c16bdeae0e2bced19713d52d3613d3ebf09bd5e82c7bc0c946ebc26b285bc341cd9bc2dc301bc5ea071bcdb06eebca1d015bc5fb6c4bb991028bd819484bda73612bcfe2220bc9c015abdc295a1bd9cdc46bcbdaf25bc737357bdbbb799bde0f058bc5a8f50bc733044bd94c983bd37dc55bc2772b8bb0eed1dbda6834dbdaad992bbc705fabacceccebccb6305bd5ff5003b183a833b84503ebcf8197dbcc7caf43bc7909f3bb0be873a5f160a3ad5b60b3c6cdf70bdbc4ce63e82d2503fb39ca5bdd57d84bd8ac0df3eba734d3f9a56bebd10c12cbd763dc93e6a8a323f173c86bd312ef4bce29fa83e8c62113fe69643bd3bf1a7bc35d5853ea63bdf3eb6891ebd360dc6bc647e3f3e8c229d3e4e3d26bde6ecc6bc9e05e53de4df3a3e3ccd28bd27fdb6bcc02d2e3dcbaf8b3d050313bda575abbceac151bc921ea1bc0679e2bc197e06bbc97c25bcf1bb21bdfd7398bbbe39fdb933cf00bd451aaebd80cfbdbb5210d0bb02f926bdb7d8aebd57e990bc7b11d2bb0dea37bdc8a2b3bdc8e98abcff5800bce01d1fbd6b628fbd969e85bca2af7fbbcfa9fabcd2f66dbdef51fdbb3a6e7dba2be4adbce0e516bdd909eebad9a9513be61726bc7e4396bc19bd0c3cafdb803b86b54e3ab685133ac6ee2b3c04e954bd4992873e71857f3fa61cc3bddec94ebdd66c833e24a97b3fb01cd5bd150ae9bc920a783eff34503f54ec59bd5017cebc32cb563ecaa22f3f1a5438bde58282bc5a102a3e811b033fe3d0f9bc9b589ebc966cf73dbc59ba3e9abe14bdacb192bce691923d92be5b3e548c07bdf76364bceceed73cfd67993da7550bbd041e44bcb32e41bca52be8bcbe14cbbcfbe91f3b170434bc983184bd7efb9bbb013f273c202aa0bc2979dbbd126883bad9206e3be6fd00bdda0be9bd24e477bc1e4bde3961b20cbd2cbcd1bd804ba9bcaeb71fbb0cca01bd80eaa8bd0ac2adbc13e1ff3875add3bc681083bd6c4946bcde34313b906884bce97b34bd0c3777ba70665b3ba9fcdbbb5d15acbc49aa033ce17d3a3b5aa8bf3a550654b99161443c793c0fbdf0d2ba3dbb8b983f0f95b7bd1e590cbd146fa23d642b913fd483d4bde072b6bca4cbc63d70f8763fe98b53bdbfc379bc0b72c23d92b7463f0bfde8bcdea126bc3cb0a73d883f153fd1838dbc254038bcacff6b3d9a53d03eb4b1bdbce8821dbcd637003d925c6e3ee811e9bc495830bb2a6b2d3c17e9963ddf79cfbc4811cbbbefc788bc00a34abda22fddbc000000000000000000000000000000001449e43b819fb1bc6b3ee1bdf53193bc2d4d513b4220d4bca89ed5bde7d9cdbcba0bb2ba654cf2bcca79c1bd6bf900bd71ba1bbb019ae0bcd8ad9fbd7481efbc3eb92cbac0eda5bcad447cbdd53bb2bc7a1a813aa56a56bc304b29bd1b7613bc5bb9533bfda484bbb44fa8bc9db7113b0000000000000000000000000000000000000000000000000000803f00000000496804bc3b4d04bdf10a993fc31c01bd4953eeba6a20bebba5e37d3fc0bcc6bbb3d5563b5a6f273cf7ba4d3f494d193cdcd1403b23c7503c66071d3f88a90b3c760bae3a5e4fb93b32e0db3e9a7093ba0fb254b9f2614bbbcc21803e59a12cbc2e1525bb5b577fbc4b15a13d71b6bfbc0000000000000000000000000000000000000000000000000000000000000000f9aeefbc6dd767bd60a5f5bcef353bbcb7b803bd73ca64bd4e40fbbccecf42bc701309bd27875abdb663fdbcda6377bce63bfabce70237bd3ce6dbbc6f1c65bc607dcabc3b4014bdce5da4bc4bb00cbcf7608fbc754ec4bcd5733dbc16b21bbbde21b5bb3b0d39bcaefb71bb107e1d3b00000000000000000000000000000000000000000000803f0000000000000000b647123d5a07873f4f43533ce5da683bc31a2c3d9161623ff739973c02f9c93bd6732e3da26a393f3bf89f3c95280f3ca906093d2b910f3ff058783c0eb3993b80a8973c8cbcce3ea2afb43aff6f8fbb5cf4033b2fa4803ef4401dbc932853bc19ce6abc6ca7cb3d953dc5bcd644b1bc0000000000000000000000000000000038f17abc8db1f9bc2c6f9cbc2c2b0abc8034d9bc524a5cbd4000d1bc3977a4bb248505bd60a270bd066108bd1fe959bcaac409bda0c866bd913907bdb6745cbc6383ecbc208d3dbd1025edbc146b66bc3ebdc4bc7c7719bd3893adbca73fccbb0b716bbccabac5bccaf849bc80c199ba5961e5baf06319bc00eb67bb97fa193b33c9503b1276103b34ff213bcf41703ba3c833ba76b8853f8e95043e2dc96fbce2212f3c38fa773fe034f13df05889bc0576063d1ae1513f1124f13d225a00bb7401113da6592b3f2a69cf3d725799baedecef3ce4c6023f54109f3d109846bb975b5d3cedb4bc3ea6de483dcdd96cbcd3cef1ba924a653efb9e963ca6ebafbc311987bca9b1b73d4ee6e5bb0952bbbce86eb0bc0441d5bc567ec5bc4f6fafbc29eb51bcb34b9ebcac486dbc6c6b11bc14a3d3bc8a5136bd694ef9bc008e59bc4d68eabc932242bda03a0fbd1f44a4bc9d1b01bd9afb51bd4f6514bd109594bc2637e1bc468626bd5533f8bccfa98cbc829bb7bc6c2c0ebd2fe7c4bc324d17bcdd8c83bc26d2c3bc52d07abcf0bf5bbbb07e0cbb2ddd20bc826bd4bb00119a3aa971973b04392f3bf767fb3a650b443b63ef3abcdd22623fa8028a3ea15b99bc4f48483b4c7c563f812c833e7a2264bc2fc4cb3c0515323f382c6c3ecbce2e3a70b6e83c3e62163fd369463e767f29bb756dbc3c68dbe33e3bc9183e40b514bb3f781c3c8b2fa63e51abd03d3ba781bc197032bb13d34e3e3e96713dfcf295bc220794bc87e4a83d22295f3c7578d8bc7aaca0bc5f6f8bbc9e7c9abcc6afabbcbe2260bc308785bc236283bc80aa5fbc5351c9bccb111abdf8a802bda1f89ebc7ab3f9bcce6f3dbd5c751fbd60ceb4bc54b9fabca8163abdaf621cbd22efa7bc07d7d8bc9a4321bd88a90abd2345a1bc5764aabc0e7e01bd6383d3bc29af3dbc87f351bcfd94a5bccd1c85bc9a0aa4bb15e556bb63e801bcf567c3bb65e08c3ac9a9313bdbf2fe3a1b21de3af710753b9a0703bc5ac23a3f95dfd73e289d73bc3e09633bab37313fcee9cb3ea01b4fbc0586b23c6eaf183fd786b23ebf7663ba6e26c13c7d94fb3ea1c0933e18d9f1ba048ca03cb8ccc13e0583643e836c66bbaed2ca3b92338c3e2bb6223ea06c92bcfc47f6bb5bcc2b3eae96b93d8046cdbce884a3bccdeb8d3dd954f73cf492f8bc7448abbcde1174bc342591bcfedcbfbc522768bc441e72bc22ef85bc780478bc7ad8ccbc778506bdb4b80abd61a8b5bc9c9edfbc0fd928bdf34129bdc438d2bcf69ee7bc054630bd4e432dbdf8e8c6bc825ed1bc4e3510bd32160ebd5aeaadbca6a9a7bcb2d9f6bc8943e7bc5b855dbcc3b250bca0b698bcc3408fbc099ce0bb6f9b9bbb9d6d07bca0bcbbbb3482e63afd05c93a3b2fdb3a51a6dd3a561d8d3bfdea15bcbd1b133f9536133f30a350bc1b5e543b48990b3fc8610a3f40670dbce1f2a63cb495f13e9418ee3e3cce733b8fedb33c7ea1ca3eb023c63e29eca83a9fb1a83c07a5993ed736963e2996293bedfa993b69bf623ec7d2593ef15670bc57e8ffbb88cc083eb0dc013eb3b8b7bc650aaabcfa3e5a3d5d12453df423f8bce10aaebcd68a6dbc93fc89bcfca5c4bc939f5ebc13c066bc9d0692bc418c80bce5a5bbbcc4a0ffbcdc621cbd4261c2bc1544d9bc7bd921bd78243ebd4386dfbc4bddd8bc8d9822bdc3ea38bda864d3bcc2f7c0bcdb9211bd80c421bdd978c5bcec7a9cbca463e3bc7b93f9bc253a73bcb3d952bcac2b95bc3be69cbcd742c7bb3f3f94bbe647ebbbb35afebb5a6ec83aa56ba33a3ecde63aac0dee3ae2caa63beefd3fbc096fd93e93a03a3f5f1964bc64b690392cb7ce3e8bfb2f3f6f410cbc4a57893cc8c6b63e641b173fb93b873bf5e39c3cf9fa983e6f09f83eae4e663b9d1b893c46156f3e7fabbe3e51c4d33ae0f37b3b2f3c2b3e078a883e9aa34ebcf8c518bc9703cb3d4d4b253edd6cbebcfc71a9bc18d5163d4ed5853de1c300bd632db2bc7aab75bcd1fb8dbc607bc8bc05d649bc9a5667bcf71e9fbc7d3d5cbceff3a3bcc58bf0bc3e8835bd6955c7bc4c96b8bce5d00dbdd97542bd3aaeecbc613cc9bc318219bd595350bd627ce9bcdebfbbbc835e05bdf1d821bd4cccc3bcf77a90bc72ddd5bc724e08bd2c8285bc1ddf43bc66628bbcb5e6aebca4d61abcea3c97bb82edd4bbbf7e10bc51539e3aff989d3a422df63a19ea0f3a2deccf3b80f966bcf4e68a3eecab613f786679bc3de84fbb99ca853ee2a3553fc39d13bca0167c3cd9ce713e4bc6303fd786263c6028993c91eb513e1fd1143f5d62d43ba177843c3e94223efa03e13e1bf0a53be7c8393bf323e63dc9f4a23eddcb24bcae7bd3bbb644863dbf0f493e544887bc592da1bc3c52973ca01ba23d8e65e8bca550a6bcddf582bc2a4095bc6f25babcc9f536bcf10096bc6939fdbca73093bc00e261bc10ecddbcf52658bd7e7ec5bc3425a9bccbb90dbd84d76ebd3b5ffebc6541afbcfc6e0ebd0b1563bda96df9bc8b49acbcd8e6ffbcf78a3abdd7d2debcf54780bcd9a3c4bc888114bd6eb993bcf8352bbc8ca67fbc06aec5bc3b11f1bb60eb21bbabb89bbbe9c022bc94d0b33acf79843955189c3a7055a03a75fad13bf0750fbccf08063eb061853f2e968bbbba5147bb10b2ff3dcca3773f10a121bb8376883c5ff4023e2d1a513fdcab843c7f9ea53cc189e73d442b2a3f72ff843c123d993cd339ba3d98fe013fdecb313c11ecb53bfb83753d3a5cba3ee30d82bb5734f4bb0a6af13c44a8623ee27586bcdb0688bcf84b4e39c330b33d59a3cbbcd90caabc427aacbc848fdebce45fd2bc00000000000000000000000000000000dd7284bc0534f1bc624864bdacb6f4bc01ada2bc7c11fbbc987f60bd3d8501bd01c7a2bc115003bd72eb58bdcecf08bdf90397bc5048e6bc928e34bd4e9cecbc35676abceccfb3bc377517bd8c2dbcbcb2e31bbc29e36abc6af4b2bc7f6246bcb21772bbf55cb8bb755037bcbf7ce1ba0000000000000000000000000000000000000000000000000000803f0000000006be723cd77e9a3c04b4863fbc29c33c1f70c33cc966ef3cf5cb613f495ad83cad28df3ca6c6033d8ad8383f732add3cd4b8ac3c8210c83c6cd00e3f80a6933cc1e13e3cdedb5d3c0291ce3e4721ab3b08704cbaa992baba54ae7e3e311a15bc305f6ebca86490bcc612c93de9d8c1bc0000000000000000000000000000000000000000000000000000000000000000e8322e3c788b32be895a953cae25d13b316ffdbb816922be6d14083c1234193cedc9b0bc26ab0fbe14fba1bbd9943c3cc905b6bc864ce1bdd6b1ebbb02d7d73b664ca4bc159b9fbd0e1cefbb79f5c93b2ef82fbc1bae31bd8a8000bcc6e6803bba7f81bb516815bc663e49bb7e29323b00000000000000000000000000000000000000000000803f0000000000000000f684e8bd05c9ab3fb8fc04bea49c353c157775bdee698d3f1530abbdf49e073bdcccd1bc7e33673f112056bd174f8cbb0174acbb090b2c3fe297f7bc40d81ebb1b6d083c680ddf3ee56d72bc4404c6b9a0e6aa3c620c5b3e200c7d3b8ae25f3ad4daad3c3e44a73b99885f3c1ae46cba0000000000000000000000000000000003c6c13c85ded9bd783d753c52b1fe3af9f9e73c22751abe877f873c5e95a13b20be143c212d2cbe6f4e773aa10f4a3c0ef89dbb9cb517beaf2717bc1a656e3cd13227bc84d8efbde8ea6bbcb9843f3c4e5305bc6e61abbd655448bc0517f53b3a2db1bbfbd13cbdcea22abc485f0f3c3edf2cbb55aa6fbc582c00bcdf9d8c3b24a0e93b630b2f3cd384d13af033b63a1d5f4cbe80b7aa3fbf671c3c45e561bc221f3cbe35599c3fca840b3c9e464fbc86c70bbe9add8c3fb729a53c7720c3bc4dfabcbdb025653f071bef3c520abebca88250bd9210293fedcd1d3da005a0bcecb794bc2c4edb3e63c31e3dc94281bc048ce83beb64503e870c223d07f866bc73a9013d6d27bf3cd2c3253da83a30bca965803ce043eabda1b6173c9585193b382bb03cd45283bd89cc3ebae59cc53b70b2bd3cae6f04be65ec66bc9ace6a3c878b1b3c5c500ebe99afdbbcd7fb7d3c5ba1ba3a2a6c05be092d01bd83c68d3cc6b3cebb4c5dd0bd8810f4bcb2ae3f3cc65518bb4cb99bbdb253cebca5c6463ca1d20b3a304a31bdb0df7bbc1af8fa3b2a16393b242c74bcd51cdebb040cb43b412d0b3c9bf37a3bd40a233b83c75f3b11034ebe147c8d3f5e866a3ee6ab7abd110a50bedc818d3fe514523eba8282bd053520be06627a3fb539423e888171bd3fc0ecbd37984d3fb5262a3e9b3e54bd9eb891bd50fa173f23bb0f3e705c19bd2e6420bd91d9c83e6b45d73d5441ecbcb1d83dbcbd1b473ed6878a3d5bde6dbc9b47403c45f3ff3c5416093d951ab8bb873f3f3c59b18dbdabb4faba72ff213b8faa5f3cf8193fbdae56a6bced2a4c3cc319993c2f98c9bd29e52ebdb715b03cc883373c4aa5ebbdd4fc5fbd2649bc3c221e6d3b23c1d8bd743865bd34a38d3c4902543ad1e3b5bd0d2c4fbddfb4763c6954c339614287bd43ae13bd2c273f3ca5d1143bddb022bde62ab5bc128e1d3c7a70da3bf4d884bc3cb0ecbb2f36e33b43612a3c6d0dde3935edab3b3a59be3b73d43dbe8dee6b3f3978ea3ee74ae3bd85d542be16db683fb2ccdd3e933eecbda1101ebe00fa4f3fd101c73e8676d1bdb584e2bd05cc2a3f72e4a63ece2ea5bd7d279cbd787b013fa561833e050483bdf41133bdc94bad3e0a68353e746a2bbdcfdf8bbc220d353eecb6cb3d9933b4bc5e867d3b8eea283d29d0083dc76b91bb3a0a3d3a260440bdd203c0bc118c913bb678193c51cff3bcc35415bd70bf853c7796723ca0e08dbda71a99bddd4be03cbf1ee53b29c5a8bd4056acbd7ab7a23cb261593b9937abbd81b4a5bd940cb03c21929abb1adf82bd49e17abdafe3ef3b21d1a73ab78355bd4ef34abdded91c3c99dd223b69f108bd95b3d1bceddf243cf07ab63b7e5c77bcb93a01bc64b3e03b6f770d3c0e0e74399346053cf792da3b60381dbe04f5313f426c313f81351ebecb681dbe64bd2e3f0a722c3fb3c325be5bbbf7bd51721c3fe014183fd2be08be5dc0c6bde678043fc33efb3efeebe5bd1de160bdc4e8c33e9531b93e8a4189bd86e02cbd794d8d3efb38803e7d6d5abd0e078ebc0dea193eba78003e496ac0bcdc7d4cbad1a13a3d0de7db3c4b73a6b91d94ad36249eebbc0dcf2cbdab30e43bfb66093c9b373cbc49b570bd6834aa3c16fa543cc40225bd9cbbdabd580f0d3d5510313cbcb767bd3f9eefbd24f9e03cfe98a93be0f676bdc1ebd7bd7802a53c513b533b9a4261bd779ab4bd9392683cf30d4c3ba09c33bda1c27bbd93f2563ccfc3343bae35f1bc19a80abde516193cdc58923b91c756bcf96818bced09f13bf2c3c83b5f21c9b91c7cf43b6ee9023c9a1ee1bd32c2e93e35336c3fd85d3ebe0dbae2bd783de33efc12673f84db4dbe67cebcbdd494d13eb0494c3f34682bbef4e98ebdf84eb33e6d5e253f985201beb83c53bdcfc5903eda5af93ee616bcbda61705bd199e4f3e49aaa03e712566bdd43f74bc888e003e87521d3e7020b6bcacd35ebbc71a4e3db31eab3c1248c43b561e1f3a853f4abcad227cbded24193c4bb65b3be469913bc93396bdaf6bf93cc347e93b8e0170bcacfc09beafe2183d8ef3fa3b68e201bd94f612be9d20df3c32d4b93b224419bd17bf06be11bea73c21f8d63a67dc13bddb30cbbd4f3df23b38e80a3be37003bdc3ca93bd5c0d283c493ded3ade29b7bc62f21dbd80c7103c3b74143bf94857bcbe7520bcde63a53b24b4ae3b526bdfba12321f3cb1539d3b318375bdb12e6a3ea5cd8d3f16dc4fbe213964bdbb885c3ee5cc8c3fa0c559be43fb4cbd473b563ea74b773f3ce32ebe497a20bd7d04433e4875493f93be08be47d4eabc9b0b263e74ec133f9b81adbd275990bc224f053e72debe3e0ff257bd529c01bc211eb43d9e5e353e5ce299bc9de9e6ba36f84b3d7e49813c01ed553c014478390e32cf3b1774a4bdaf10a83cae23213baffa6b3c2925e6bdd56b063d2f3aab3a614f1d3c7e7e20be08163c3d9543d23b63f207bc35812ebe1f8ee33c5554ac3b8d4c9bbca56f1abe0513843c97bcd43acbcbb4bc8ed0f3bd0722e33bc549213beb58b1bc1b99abbd7657753b3c8d66b616a386bc38b32fbd00af2d3bbe3045ba096849bc2a7121bcdf1cb0ba56e8d43a9f33cdba2ee4823c0cf57a3b2a394cbcf556383c179daa3f46e74fbe1cf0c7bb63e8a53c9bce9b3fb43448be4e0659bc57d4223dd4a28b3fb1291fbef99651bc68a1623d9916623f6bc8e9bdcf1ecabb224e7a3dab80263f110491bdde9076bb49737e3d508ed53eec3518bd2a3023ba904a663d2102443eddc4a4bb2cd909bb8db8503dd3c0363cba0b023df8c1023b9907643cfbb4fabde1fab63c00000000000000000000000000000000c8d0893b03cd3a3cb19e36be7a8bbd3c879c6a3bd37d08bbaa3f24bef400f23b905bc83af7bd42bcc0d510bee0d999bb63a7d639edea80bc0529e7bd1e5d1dbc5effc8ba5ac258bcad409ebd65c51dbc41b8f7ba728335bc90bd37bd7dbe3cbb46d73cba0ebaa4bb827613bc10c798ba0000000000000000000000000000000000000000000000000000803f00000000ec91893cf0d9f5bd47f8ab3f403401bedaa72d3c42ff89bd97578d3f87bc9dbd6235e63b04d30dbd225e663fb2c439bd20edaa3ba4e855bcc15c2b3f3121cbbc90850a3c3684863a8b56de3ec11ffdbb423e033c16b88b3cf3c8573e2c562c3c7d6fde3bfbd0913c9663793b30cf883c0000000000000000000000000000000000000000000000000000000000000000e27a43ba9e6b21be4f26083cfedc9d3cdcdb9cbc83ed10bec0eaa4b97dcc9d3c77b317bd6a11fabd647223bc8494843c772017bdb4acc4bde8f12bbc1121323c7d4ce7bc02608ebdb63f01bc3722f33ba7db99bc343b2cbd9a3ea3bb6933893b80ef9bbb180e58bcd7d222b9b12382b900000000000000000000000000000000000000000000803f0000000000000000a311bdbd8f2ea93f9af8edbd55545dbc901a0abd7f198a3f8a8690bd8c3c9fbc3654243c65145f3f5eef26bd1a0cabbcd5afc03c2f08263fcba3cdbc881389bc28c4e13c0b4ddb3ea1628bbc142f23bc5d50ec3cd348633e66b6c9bbddcd2f3a02169c3c5b40a13ce572d3b868fd083c00000000000000000000000000000000a8abbd3c62a6d1bdcd47bd3ba7fd1b3c5951d43cc1f019be63ea183c1103803c7b8cbdbba8ff19be1dc204bc6b7cb63cfcaea8bce39005be50855cbc2d81a43c31b2efbcfbcdcabd3dda88bcc1e15b3cb487c3bcb7b297bdc0f84abced9d313c452e64bcbba535bdedd7debb548cac3b597a0dbcac9985bceab821bb3fa387b76ce1c63b9244e53bab5f493be2f2f3ba7e583cbef633a83ff7ffdd3cca65debc9a9a39bed50a9e3f3c078a3b6720d9bc69a8d2bdd21f893f3371023dcffe34bdb88053bdfea55b3f3dbb243d10e92abdf90d41bc30a0213f57ed2c3d9dfbfdbc3e1bf33ba24ed53e6591053d84f8a6bc7fe3a03c71d3533e281fbe3c9c93f6bb069e273dee43bc3ce959ca3c214d463b417c483c3f59d1bdeada1dbb0bdb2c3c8be4ad3c10f987bdc37594bb38fb233cf7fa9a3c592e02be033ea6bc82e1b73c4fb8b8bb00f900be984cfabcf91ab63c85c781bc6dfef0bd16a000bd2ab1a93c3dc3b8bc5f95b7bdf7efeabcc77a4d3c9db38abc2dc38dbd328dc1bc70dc3c3cf7692fbc199725bd6f0d5fbcc2a9f13b001a57bbc29289bc0b1c92bb7fea883b8196b03b1a4a3e3b3982353b8c16ba38e05940be68688c3ff1ee733ebfe687bd447c3cbee5288c3fb2ee593ebfcf9abdce24e7bde65c703f16194f3e4b2997bd724396bde19f453fe48d303ef5d185bd7761e8bc87a0103fa2390d3ed9ec43bd8fb535bc02a0c43e91e1c43dbe4c0cbd0573ba3b8534493e7f99663dc8f889bc3b1ead3cca670e3d48faa43c098b89babcaf403cb3e885bd4b573bbcdf64263c0143673c32fc4ebd1f5dbdbc881f5e3cb7a7753c77bfc9bdc84d36bdc6fad43ca36621bb3bdee0bd9a7159bd8634d93ce36c57bc2968cabd8fa84fbdd1d4a13c3b6e96bc1330a7bd890835bd38ab793ce5c47dbc914979bdccab03bd7520553c91d207bc9a141bbdb08aa4bc69b10c3c3fa865ba430889bc36e9e5bb4954ad3b5e07ec3b5a42f33adaf03a3b8d18323b07132cbe7a01683fb918ee3e638ddebdd5e32ebe56f2653f91f2df3e50acfdbd3490edbd525e4a3f7f97c63eaa89e2bdb73c92bd22ec243f41f2a33e3600b6bd8d1e13bddd61fa3ec2357c3e996690bdd64078bcf742a83e6f2e2b3e2d3c45bdbb024d3b1d51333ec4cdb83dc97fc4bc18a4823c8c531e3ddefcb73c9c970c3a2eb4473b154744bd4ef2cdbcf539dc3b76623c3cb4ca11bde66017bd9193913ce7903d3cf9d599bda2438ebda7a2ee3c0730a8bbf215aabd71ea95bdf463a93c3e8731bc973daabdce1e8ebd906e9f3ca038afbcfff779bd0e8751bd7465903bfaa064bc40af57bde9942ebd4665453cc56601bc17a002bd306dbdbcaf0b043c88a322bb44fc5dbce40119bc3944ad3bc7589f3b514eeb39e77fae3b1cb1a33bcd7e12be558b303fbe8f303f338e14be80590fbe105f2e3f31262a3f3de424be7b07bcbd5dee193f1055133fccff02be3a5980bd78a1013f07e5f13e1457e1bdf8acb5bc1922bf3ee690af3e4f0985bda06657bc00078a3e1285713e73786cbdddf91eb9ae58163eaceef63d6fdcecbc46d1563c5901273d5fc4cd3c23ac6cb9f0c0763be6e40dbd1dbc1dbd3afab53b26b1243c1d73b0bcb78b58bd89999a3c27a03f3cc6df5abd95d2c4bd5b2e113db5f3473a444e89bd21d6ccbd98e9df3c23ccf8bbed9585bdfd28b5bd3374903cc85d50bce8826fbdcb9493bddd2a503c8ed138bc523c38bd333a53bd24e32f3c3e8204bc667be7bcca0bf9bc523e193c4a926abb15b957bceb823abc55a7003cb554ad3ba230993a5b2d1a3b50aba63bf075ddbd5c50ee3e12d7673f3d212dbecde9d3bd424fe83e3720633f776146be6f7596bd3651d53e5154443f112522beee4632bd3373b53ef8771d3fc8e8f4bd11cdc0bc866b923e2901ea3e3ad8b6bd2a3dd3bb81da4d3e6d429a3e640378bd4201f53bb427ee3d410b1b3e174ffdbcfded6a3c6158223dee07d53c8d03803a5e84603baf32a6bc8b035dbdee16ff3b0fbd073cc425c9bb9bf38ebd1af4eb3c511e0f3cf065f7bc2027fdbd8683213dfe3d0139175834bd8fcaf5bd5433bc3c0b14c8bb1d5647bd779addbdf435963c089b43bc39c831bd05f6a5bdcedac03bb5371ebc581119bdd51a79bd8577133cb6ba09bcdfcab1bcd4650cbd19f6d33be9b699bb7cd51bbc918759bc0d18bf3b1b6dd93af69da33a191fa63bab89853b515285bd6783753e2e748c3f3a5842be450d67bd17b56c3eade78a3f335856be69542cbdaea86b3e88146c3f26711dbe3f7ecbbc5313573eddbf3f3fedc101be092b06bc20e7333eb4130b3f85eaa1bd5ef7633bbefc053e6872b83e476e6bbd4d512e3ca8a6a63df32b383e22feedbc9002763cbfba0e3d7b34b13c4b9efd3bde0ef23b4c72f5bb375b91bdc8fb8f3c08ea033c0657303bc18bd3bdde4ff73c166acf3b272c9fbb969617beb69f4a3dad9bf63a8f5ed3bcb35a15bec901d93ccdc578bb53930abd2f70fdbd8432583c2ca12fbc16fa03bd797ebfbdcd13573b479034bc1463d8bca4028ebd9c4fa53bb4d305bc611190bc8f0f29bdbce4ac3bb7cc03bc694207bcbdec49bcb6270abaeefbeeb83f5d303b7570003ccb65973b2fdfd9bc3a03f23cd25ba83f82de40beb94931bc959abc3cd6279d3f3b4754be9d2360bcfc067b3dbadb873f82c217be9dc97fbb516f9d3d6363583f235adbbdcc34e03b6e7fa03da5c81d3fe3cb8abd0b5d713c4690883d5ce4ce3e0f2436bdc8b39f3c5bf3473d3127483e2b0684bcc9b7a23c3ab3113d8903803cceddd43cb052173c85894cba75f8d8bd2f2d843c000000000000000000000000000000009428093c7ce5c7bb8b511ebe21b2a23c610b4e3a307f91bc06520abed1aaeb3b32b791bbe21de6bc90b9ebbdd3a21bbcbed125bc4f52e3bcdca6b8bd47a13cbc2ee71cbcfa3eb3bc275e84bd2f33ddbb72e515bcdb306ebc848519bd715769bb483b9fbb5f3baebb05c547bc5eb92d3b0000000000000000000000000000000000000000000000000000803f00000000e4c43d3b82b8ccbd45ada83f1d5fefbdb9b0f93bcb013abd667a893faac999bdc3f83d3c426c20bc8ad65d3f749f2bbd10e8973c77470c3c802e243f6a8fdabc37f9b33c79af323c594fd83e41009ebc32d7c83cebb26c3c320b5e3e30d095bbb011ac3cdf771c3c85e18f3c5113323b0000000000000000000000000000000000000000000000000000000000000000432f1fbde9c5c3bd534c9fbcb184103d9b4560bdc6acb1bd3f5d7bbce70a0c3d8c177ebd004a9fbd34f898bc5ddee23c2a9357bdb77976bd9f0498bc4433953ccf9832bd8a0345bd737f27bc0ab3923c043ad3bc5036f6bc5b9b07bc688d2b3c3f73dbbbeb845bbcbc2e1dbb2cf2a13b00000000000000000000000000000000000000000000803f0000000000000000d23499b98808983fa66a2fbda9c063bd81683b3d215c793fa499cdbc54de7abd319f933d8a0c4a3f336248bce69262bd96418a3d7d5b183f83111ebc06243fbd17c55d3d52b2d53efb4182bcb4d23bbd16a90a3dada5793ee16988bc4256d9bca8a87c3b5f8f903d9179b2bcce99fabb00000000000000000000000000000000955035bc74866ebdbd637bbc56fc8a3c9575f7bcaf66b6bdac4990bca7e5253de3b260bd640eb7bdd3e5b1bc04b8153dd8e37bbd9ef3a2bd1beaa7bc264e073df1bf62bd1f6977bd72c59abcabffa13ceac639bd1a4547bd21bc62bcacb6a53c353dd8bcf65ffebc6e4b12bcba145d3c7b890abc521663bc0db3cbbb567c893b037e003caf39c73a0202bb3a934288baba7faabdaf5b973f8dadc03dada94abd5bec70bd749c8e3f3821893ddc83a8bdc48dba3ce18b6e3fae309e3d6401a8bda461623d50663f3fbcd2863de604a5bd1389763daff40d3ff50f693d8c0974bdbb2b553dc712ca3e18a0073df72a6fbdd301033d3bd2643e17ba423c8f7f23bd2320643c45a5923d7130ae3a9a73d2bb573496bc68ab53bd11e491bc2a618c3b8467f4bb7a9716bd5ec489bcb1214d3cd38701bd680c98bd4e4dd4bcf849e83c770b52bd3a0e99bd7f1ee6bcc226d13c05fc6fbd4ff091bd67f4dabcfe63db3c2cfa50bdc6ff5dbdbfafbdbcc5ed6a3ccaa42dbdcf2a36bd50a38cbc271f883ce3f7cabc8915dcbc290035bc6a68213c7e93f3bb078a6ebcc0a5b5bb3c3cc93b3006c13b5cd3973ac206e839672af7b9c07cc6bd45f07f3f3013873eff1a82bdbe617fbd6dfe783fbaad733e1133bebd64d5493c37e34d3f4d0f5b3eadf9a7bd85cc223d50c62a3fa824313e83ffb3bd37e5433d1d03fc3e03b30a3ef10d84bd232f283deceab53e9a51b93de90f8bbd4ec7b83c6797533ea882443d7f7c3dbd19f6dc3b4066933dd6af403ccfc3b9bc9f5879bcfea9f6bc6af56cbc6bfe5339d8ce39bc0ccde4bc989f9ebc4b10a13bbd2602bd50e577bda7fb08bd09a3ba3c408f4fbdf1ab89bd3a9111bd9f7bc33c5dc066bdf8d383bdb6d305bd84d0b23cb0734ebdbc8550bd41d2e2bc2858493c494927bdde9027bdfb8faabc76d17c3c195dd1bcf792dabcbe1e60bc3b37383c5be714bcfea657bc922adabb8d3dd83b4c45ae3be332883ade204e3a3e00be3a1faaabbdf586523faa7fe63ef1329abd724e6cbd1b1b4d3fca2ed63e568cdcbd7cb6053c0d452f3ff085b53e0b17c8bd3adf183d990f103f6995933ecda1bcbd0bf0393d408ed83e36645f3e7e7e91bdfbb51e3d1a729d3e382c193e276f9abd3458ba3c74ff3b3ec6d9ab3db96266bd1566b63b2dc78c3de9afdd3cf448f5bc79ae8dbc547fb8bc346d91bc36fd26bccce529bc07f5aabcfe40c4bc9672e23ad783f8bc07334bbd05842dbd2ce6983c2cf43bbd93806abd0ce234bd6982833c752e58bde0296bbd0f9821bdc62e8e3c42213ebd784831bd84ff00bd318c713b760622bdbcfa1dbd81ceccbc3d29663ce49cd4bcece7b3bc10d27cbca82f193c2a511abccfac41bcbd86fabb2642eb3bdcbb723bdc01173ac8a3a43acf8f3e3bd34597bdb66c233f089e223fd23bb2bddd183cbd8aa01e3f9fe0183f7ea5edbd2ba5373c59cd093f83daff3ef851c4bd1c9a0f3d4305e73e299acf3e4838c3bd774f2c3d24a3ac3e29fa983eb6af78bdd3071f3d6f6d813e319d573ec4199fbd1e34bb3cb178183ea726f43da6be73bd748a0a3cf1f0703d9cc5253db0d319bde3d27cbcd55c85bc45e7adbc401273bc1e75e3bb1e0e8dbcb96300bd72e48f3acf62b8bc2cb62bbd681a5bbda5106c3c49172bbdc12c50bdc1935dbda9897c3cbcef44bdf77f4fbd412247bda658613c589939bd21e133bd897b15bd9b81eb3bf94e17bde9db0fbdc7f6f7bcbbc0513cd131c9bc6063b9bc361b9abcb637323c7fec21bcde7043bc14c20dbc1001083c9be4483b6a5d453a9ff98e3af77a6f3b927582bd1b70e73e6935523f6f8bc4bd8d6f21bd7027e13e2d2d483f423a03be21b3443c248aca3eea5f263f9607d9bdeda8163d7605ae3ea4a5043ffc2dc2bd9f7d333ded81873ee591c43edfb795bde33c293d9cd8463e3b1f893e3094a1bdddb5de3c3a04f33daf461c3e95a682bd8758323caa77433d0f204e3d7ca61cbdc9f137bc737f73bcc9e0d3bcee4c86bc6e0cceb9406258bccd9f25bd0731a53b99b78abcb45b13bdbaac8dbda510803cccbb10bd169d36bde6417dbd92cb203c829632bd936c3fbd84c669bd11273c3c607530bd344c1dbd408929bd9ae3613ba71811bd9ba903bdcb760abd28cf2e3cea80babc95b1a7bcde95a7bc5a92093c13a82ebcc55233bc5ccb22bc8c0b183c8b47e53a3bd031b90f35b63ad9e49e3bedf061bd1d0e883e12a37f3fef91dcbd6d8ed3bc24df863e679b743ff57d08bee78e983c4e90813eec4b463f59fabdbd91ac233d5382683ee99f203f3648b9bd8dae3e3d89043c3ed159ea3e5a1087bd78bd383d54950d3e465ca43e77009cbde5dffa3c74c4a53dcd713a3eb73670bd51b5a63c22a8023da0f9663da0d91dbd95be86bb0ac63fbc56f009bd33d554bc37437a3b635583bc6eb674bd74dc413b863b9bbbd9e5e2bc654faebd48a99b3cf71beabc10a325bd0941a0bd1bb9463c069215bdcce229bd019487bdda941a3c429b0fbd362417bdd03b4abd9fdceb3a7df605bd2516f9bcf50d1fbd3fa6153ce9b1adbcd62f9fbc15c7cbbcbd591b3cf7b737bc38a12abcdf1f43bc6698163c6dfe1e3b1a782eb9211b143b41f0c13bee471dbdf29ac53d8837973fea35c6bd55af8fbc7c81bb3dd97b8c3fb86f04bef10bd83c77f1f73d46e1673f6f8ebebd752f313dea8cfa3d24cc363f592ba2bdbee8493d2f14db3d53e3053f288c6abd956c5d3d1827ac3dfc4cb93e92d489bdc247283d277a463d45b74e3e151c66bddf0c043d65d7a23cc0cf703db586f9bc946708b9fe9680bc0f875bbd97a68dbc00000000000000000000000000000000486ed0bba172febc7673b7bd5a497c3b9532b7bcdc0d0fbd17b299bd273c3b3bc23802bd70d822bdbf6a86bdbc19d2ba75a302bddbfe09bd28c851bda51d93bb455dd5bc22f4ddbc7d5721bd8ffbb43a6b1a99bc7d3c94bce40fd2bc5e05923b73ff07bc5e970ebca0a619bc47ddde3b0000000000000000000000000000000000000000000000000000803f000000002e831f3be6d091bc606c963ffedd83bd1211003d36b56d3cefc1733fdd904bbd952b583d3ef2143d6140433f127920bdcfd2603dfdb4173d9d03123f80e00dbd22164d3d15bddf3c2029ca3ea9c035bd36a5323def0e843c2c11693e84df25bd5b1dc43cdca5a7bb6cc6813da37f08bd00000000000000000000000000000000000000000000000000000000000000002058ad3ce8a337beb9981f3d787eaaba338790bbd8931dbefd74833cb4f75f3bc10fb5bc59fb0fbe4255ad3bbda1323b5260dfbceaf5e1bd1e4222bbd3370f3b5aa4dbbcbb3f93bd19ef07bcf38943393ef7acbc990720bdad010dbc480a55bb15721fbc5090ffbbd67d72bb838ca0bb00000000000000000000000000000000000000000000803f00000000000000009bd6fabdb8bba83f255f20be0438bd3cf11b5fbda0cc883fb045c3bde168433cb57adbbc5130653f40a78ebd5254553cbf22613b6e84283fa39c0fbd4a38343c6e02e13c7897d53e6572c3b961fe1b3c344f223dedd3553eb39ac73c2524033cbb49273dd4cdb53bef3d153de18c243b00000000000000000000000000000000536d093d73c9ebbd4399ec3c6faadcbbee70d43cbb9b0fbec0d5b93c110b95bbc07d2f3c2c5029be9689083cad10073c46a68dbbc51418be7fd6e5ba131fcd3b189469bcaf68ecbd824b0dbc1e83573b15618abc956ea1bd847c66bcacab923bc0376ebccd0b29bd630f57bc2a3c29bac56241bccde168bcdbce28bce8c426bad01ded3ad7bb4a3c697fdf39236e1bbb417056be1434aa3f3a4e65bc5abc38ba66871bbe5566933f0e67733caf6fcebb238808be5a1a893f3a6daf3972bdebbb162cb1bd0f175f3f571e753c6bca83bb3c232fbd01f0243f8f03063da7d4c4ba20d686bbc288d33ee297433d9a27d5b925dcb13c28bc493e134f653d76e8923ad3af0e3d323c313d2ff4423d4f2fc8bb8433f23c4c0beebdd48aca3c33caebb9394bb43c49bc93bd6bcc443c89e434b9ceafbf3cb73b08beed60cbbae8d0ba3b24534f3ca89917be3fe175bcde4c1d3c24f183ba853007be5e1ab0bc24bd283c5ae209bcd192d5bd68f4d2bcf414873b65822ebc1f4295bd57ffcfbcc7f1ca3bb0bd1ebc8fd721bdeca090bcab673e3ac6c29abb83e94fbce88f29bc154f603a613bf03a21cc533bdae9e13ad0e0df3a3efe49be84a88c3fa38f573e4a3140bd6f4a47bed7db8a3ff19e373ed36e42bdccdb26be5c747a3fb4ea1e3e4dea21bdc4e6e1bd46394b3f16830e3e6ef40abd9ec08abd13e2173fa0c4ff3df5f689bc5fffd8bc81e2c23e976be23d11db6fbc99f7e03b18073b3e2fd2b03d394999bb7ef7a83cdbc10d3d855e563d518110bbb74a9f3cc9ba86bdbf02003ceff7813a2e067b3cbc2562bd809114bcd383f33b52e3b03c2a83d4bd9c580ebd7954643c0c46733c3edbf6bd06de52bda68b913c3766913a1cf0dfbdaf4b4dbdc932453c54bca2bb9125bebd03923ebd190b173c053403bcc00382bde30824bd2c67c43bdb6903bccd351cbda5f1c8bc11d5893bbd8c68bbd13084bc4c7c3fbc03ec733b7862b23b48f09c3b6a393c3be360333b678f45be7e3d6e3f229ddd3e7b18d2bd96e03dbe05a3643f9513d33e871dcfbd35f51dbee8d14e3f7c29b83e90e4b0bd5135dfbdf8442a3ff84a993ead1c7fbdae8f8cbdcd38013f0f79763e702e31bd3b0debbc29cca83e5c233b3e1bcac5bc4184983a62eb2d3e049de63d4093e2bbc7fe6b3c1e6e343da2983f3d6659543b8d64243c31f557bd7d5e48bc48210a3c7d19533c413f14bd00eb17bdd982803cbbb3813c1bc391bd09e58cbd057d9f3c87052d3c588eaebd891bb0bd52eba63c979d6b3b420cb1bd45d1a2bde517763cac2de3bb91a189bd788288bdb7e69f3ba808efbbd98b60bd3d8b4abd1265e73b522f04bce8df09bd9eb3d7bcf716493b44ef0dbbe7af6fbcfaec33bc0c83783bfc19263b828ca8ba28e6b33b377e783bca2321bef063313fca86313f22aa1dbe312917beb7632a3fdd35283f87121bbef400fdbd4ab2193f2688143fadd6ffbd176bb5bd3e99013fe488f33e6e74c5bd973e53bd05d0c43e0bd6b73e4f246dbd3550ddbc63ac8a3e5243773e0105fabc306510bbc018193e62f7023e2f6856bbe7baf43b06de413d8449163da3f2263ca466043ce581f7bcfd3814bd2313773c4730923b495a37bcb9f65ebd255c9e3cf4dc293c4f0a12bd9313d9bd3c43fe3cf707493c38d95abd4e0ff6bd36e2ce3c9363943b2c685dbdaadfdfbd1bca883ca60048ba0ef955bd9c1fb8bdfaf9243ce130b1bb8b4b2dbd009b7cbd273eee3bc2c5b3bbb0bdf2bc4cac0cbd6221923ba839aabbf2095fbc279259bc8d2b883bf6e8943a64316339df46bc3b373df73b6235d2bd3488de3ec33e6e3fff9344be727acabdca3fd83e7543623f09b342be6124acbd1c5fc33ed9634a3f53a427be2a1970bd60aba73ec995233f93eaf4bd110f19bdd3008a3e914df43e40799cbd6975a5bc7d63533e21d79b3ec8d013bde19d8abba794083eae12183e571deaba361d6f3bddde733dfd7afa3cb7b18c3cca5cdd3b522103bce7ed71bdf2cc8b3c1fbeeab9e0ee153c5fdd90bdac74e13c48408a3bfd3988bbfdf60cbeb2740a3d8bf01a3ca098aabc3b201dbed71bf63cc771883b2f77e7bc0d780abe8668773cc8e23fba9b2801bdfe11ddbdb72efe3bce6e7cbb917afbbc60059cbdb01cc53be87dd8bbe9d7babc7eec1ebd1f795d3babecb8bba3d855bcc6a568bc5fca873b424d5239d1ed94bad402d83b1c53963b6cb747bd6f04563e90f48c3f7c224dbec3ca38bd4588433ec96b8a3f80b84fbe937817bd7c1c313e12b9773fec9632bec9b0cebc63982a3e5c0c483f1cf200bee6ae62bcded1193e4bea123f20a4a0bd01c701bc8e5a0d3e1117ba3edc4906bd8bfb9eba7b3ed63d63af2b3e8fec453bbfbde93a9542753d270acf3c1869c03c488831bbe061373c7d8891bd1eabca3c74b460bbc244dc3c510cf4bdae311e3d78300abb1c47983ce59712be50bc103db79f0a3c9f5a943b32b72fbe30ffcd3cadf1c03b97710dbc9bc21bbe7d606a3c56a0353bdf6f83bc8140f6bd33d7023bb7214abb2be48bbc6158a9bd2069a839d918d8bbb49f99bc304c2cbdb3762abb261ec7bb7a9b39bcaa0380bc1cea86bb59c77bbb79734fb958504a3c2f4af03a555decba552a44bce533aa3f267d56be1db488bb8f08d43c0328933f413d27bece729ebb0532773caea1883fc8ce19be8dcaf53aa4f20a3d870c5d3f1abfdebd05c96d3b3259553d2677233f49ce78bd5265a13baf3f863d849ece3ee7f593bc789dba3bb4b98d3d4271423e4e77503cc84a03b8a1635c3d79d2173d14f3083dff261c3b2792b73c07d6f3bd85e31a3d000000000000000000000000000000000d7f903b43ae0d3dc10f3fbe42cc063d1614c63be210523c80ba25be6346103cebd2ca3b1b4d843a5c9d19be7ee28cbb829c063b0d8fafbb8d15f6bd889d17bc51899aba997028bc67e3a2bd6d2b42bc822ee0bb6fdc13bcce2633bd4dc03dbcd8b8ecbb7a61b1bb588c13bc6ce699bb0000000000000000000000000000000000000000000000000000803f000000007de8c33c1e6018bef1a8a83ffba80bbe0d0e803c50aba7bd84b0883f34529abd3faa6d3c08eb55bd262f643f348f51bdf6ed8a3c4a62a2bca4a9273f385796bc59826f3c678a1f3cccd9d43ed53ee93befc8373cfbe00c3d6cb1513e3ebef13c9cb60d3cdf57173dada81d3b0440193d0000000000000000000000000000000000000000000000000000000000000000d98b8a3ccb8f30beb43e0f3d4c58c73b70b58dbcca5e0fbe69a3903c2cf8093c11452dbd49eaf8bd471d1a3cf3e6b23b6b1349bd2284bebd5d392b3bd255863ba2833abd95a173bd06a408bb81b4983a0b0d13bdd95006bd786ca4bb9784cbbac0dc91bcfbeff2bb95c031bb239914bb00000000000000000000000000000000000000000000803f00000000000000004361f3bd095bab3fd87a26bedea9d5baeb2b04bd44608a3f4e5eddbd665f28bcef979b3ce014623f950da0bd71b284bcb2f0543de658253f6fb43cbd6cf33bbcfa898c3d2126d03efde93fbc325cdabb9b82923df8f9483e7b5da33ca3c1aabb502f693da7e9a4bb1beb083d33fcf43a00000000000000000000000000000000742a183dd09aedbd7b6bbe3c0f0d4d3a226dd83cc71a13be5947c63c1538443a11dc8fbaaccc1dbe9b01203c4ce54c3ce4ddb3bc471606be89dd113b8071083c27ed1dbd4c9dcbbd1bf240ba77e7933beaa41ebdf4208cbdd63fb4bbeeaeaf3bc4acf4bcfcf913bda859f4bb5ae2ac3a0b57b4bcc1ee38bcd9b13dbb9e16b9bafe46fcbac321423c595d223b1d259ebb193e51be80aaaa3fee7163bc3d653dbcb4d615be26a9963f6ec912ba2938a1bc1528d2bdc265893f426cd0bb64d60abd90e027bd9beb5d3f2e098a3b4e4709bd41a1643c220b223f1d828a3cbb7bccbc45e0353da903ce3eda83053d2e9aa1bc635b763d8929403e650a383d0da34dbc05e3853dcbe0bc3c725e393d85035cbcf426103d4d64f9bdbb88bd3c728c1c3bc96af43cd4d19bbd467ab83bdf7d8b3bedc4b63c7eca07bee7de3d3a9c9e2a3c5c2e173b83600fbeb2c316bc03b98a3c371c92bcc80cfabd298a52bc74c5403c66401abd446eb8bd012962bc27b9fb3b18e312bd420787bd2db933bce414923b4c70e3bc848109bdd71922bcd526b33a93158cbc655052bc10a63cbb2b118b3ac4e9faba7e5cb83becc3793b975509bbf4f943be39d08c3f8711533ea60a4ebd07eb2fbee7bf8a3fa117323ef1127fbd0680ffbdd27b783f5258153e3c9287bd49067fbdefec493fe23ffb3dce7064bdbc9150bbd0f8133fe388d23d56482abd326cf93c93cdbe3e48d8b53d2e00e6bc60ff423d5519353edff7823d589a58bc48fd523d5058b33cdc01193d8da0b3bb3dfcfb3c48679cbd51e7993b28ae1a3b402ec83cce557bbd82f084bc617f623cdc8a9d3c060bdebd389cf0bc7cefb13c6d55733acdfeecbdb9471cbd32e3bb3cba93b6bcc58ad5bd84610abd6871963c477904bd7089a9bd6543f1bc5a453d3ca12815bd859d68bd45dbbabce73bec3b1a71e8bc901106bd3ebb7dbc39b7863b75ae8bbc078949bc54cbc9bbc650403b271b273a11a23b3b508d733b0d7659ba843c39bea8bd6b3f3028df3e46a5d1bdaa4226be6c34653ff9c7cb3ef364e6bd71a1f0bd583a4e3f85c1ae3e43dfd9bdf8b46bbd5a6d293f0a128b3ea3ffabbd340b22bce45aff3e6a6c543edbcb79bd7b37c23c920aa83eac42133ebf4110bd1520353d00fd273e8e8bb13dd3be6cbc550c3b3d7277083d3e81f93c7d54763adf86b43c61ae72bd1f8c9abcf35a643c9019ab3c1d4a39bd5d1818bda53faa3cdbfd753cb079a1bd99df7abdfd3af93c1dcf5bbb8876b8bdbba387bdebe1e83c003f92bc2296abbd797677bdd528ad3cf9bc0fbd95aa85bd20642cbd28830e3c075307bda8a543bd744903bd45b51a3c63a2d2bc6d80ecbc676d95bccf59843b345d8cbc0b0a49bc6d01a8bb20bee63a1bea84b9bff66d3bc348553b24e9223b383117be0d6d2f3f4ec62f3f6ad918bedc6004be22612a3f48a9233fbfa223be612cbdbd87f31b3f9ce10c3ff73511be25854bbd344a043f3b81e03e7c20e9bd3d31133b9df1c63e0581a03e73d391bdae1a943cddac8b3e399e523eba5035bd45ea0c3d23c4173ec469cf3d9e4722bcf5f9173dc5d22a3d52749d3cbe164a3c0bfb933ce87e23bdd45938bd6267ba3c04bc533cde18afbc1cc873bdf4c6e33ce84d043c490648bdb67ebebdf75f213daafcc7ba5f6181bd323ac8bde3ce143d150d98bc72747dbd88daabbd9b23c83c11e001bd980a56bdc08f82bdad078c3c07b206bd400c2ebdd2e123bd69382a3ca84cd2bcc583dabc5912bfbc94609a3b23858cbc18a934bc4cc7e9bb928f893b6fdfe1bad72c083bdd48b53bd80dd73ab8d1c8bd8564de3e74b76b3fbc233abed68badbd7f44da3ea6c45e3fd2ba48be4cf779bd72f0cc3e7791413fdd8535bec4a7d6bc1b10b43e03d5183f05dc09bea9eb493b5f50933e15ccdb3e573ebcbd468ca93cea0c5b3e3af5883e643840bd1b38fc3c8abb063ee44bfd3d48a011bcc756ef3ceebc4e3d614a2c3ce0ef983c802b603ca3d28ebc2f6d88bd04c0e73cc2e1a93b7be5b6ba2d9194bd27be0c3d35df113b2f6aabbc938efbbd4469373df261e7bb24f20ebd3e8300be1f48273d71a69fbcfc0427bd886bd5bd88dfe83c9579f5bcf7491ebdfbb29cbd7a637e3c050f04bd68c802bd337557bd71b53b3c4746d6bc4dbfadbcff8bd8bc7ee1ea3bb4257dbc640334bc45810cbc6556773b86333abb8a76e63addd0ad3b1351913a3f6b37bda40e533ee2838c3f084444be9a5116bdde0d4c3eaa47893fd08d59be7f25c6bc29834b3e4804703fb80a44be74ad39bb60c5443eff753d3ffc3c18be681a9a3cf894333e109b073f19e4c5bd7ee6c63c98961a3e41d0a63e922c47bdfeb6e83ca0b0d53d5ae6113ecdc68fbbb7d1ae3c22686b3d9cc4433bbe11c53c8619ff3b60e5613b553baabd65b81b3d393fcd3be6207b3ce96bedbd4c9d273dbf2498bbe795bd3b6db20bbe387a443d94de98bbb2c359bcd34816be4ccb203d8b5c8ebca8d7a7bcbb9dffbd0a25de3c64a7e0bca5e9c4bc05ebb7bd4f15703c7af3dfbc30f3bcbc9ef770bd769cfb3bbe94aebcbbb798bcdaf3f4bcf0aedf3ab8d58fbc294f27bc8b71e9bb1f6b05bbfe043cbb563ecf3af9cd183c9a32ee3acd17dfbbc41388bccac6aa3fa1d650be33f0a53ba4649b3c8de9953f287443bea9e4d43a3dd3093d1699873f522435be0399793cda557f3d23de573fd0d60cbeb951eb3c9bfb9e3dad591a3fc0a4b3bdf340e53c8f18ac3d70fdbf3e2a6422bda40cda3c5214a13d6635283e157abd3a5986723c11836e3d00f9183cf810123d1aacda3bf7838f3c576202be99eb373d00000000000000000000000000000000d8597e39306b8d3c39f42dbeeb9a293d60813cbc7728c2ba400e0dbea9a1ca3cb7dba2bcbfba6fbcd47cf5bd7bdf2a3c1025e0bcede88abc6f9fb5bd0e5d553ba9d5efbc527a7bbc45246dbdc7fa653a8900cdbc1cbe80bcf4c8f5bc9181eebad83377bc9cde08bc3e9575bbbe05feb90000000000000000000000000000000000000000000000000000803f000000008bd89d3ccdc715be2ba9ab3f940324be2112ca3cf9ac8dbdd00d8a3fe166e9bde004e23cf60fe1bc28bf603fd20aadbd61a41f3d785b843bbcec233fe66d6cbd56631c3d237a033da2a4cb3ebdf8c6bc7a05ff3c8cbb383d80e8413e60e7ff3b0135c73c2eb22b3df3e81bbcb470f53c00000000000000000000000000000000000000000000000000000000000000001cc680bd362604be8173323bf8697d3d9fb7e9bdf44ab7bdf370c43bc5407e3d0da107beed3292bd4ffc763b8b226e3dcf24f7bd5f064bbdc04f763a0daf373d472ec1bd6a4403bd92d93537ec15fd3ce91b70bd1b918fbcd2bee63a9b77503c1e9288bceac8ecbaaf199dbabef8deba00000000000000000000000000000000000000000000803f000000000000000049f4bebc387ea83f9cfbe6bd9a81b3bd0e25073e75f6843f32c6c0bd22f103bec0e8573ec862513fc18bb1bd982810be29d35d3e2e1b193f91189cbd4c5afbbd8574463e2670c43eba7f87bdce09b2bdb0d0083eefd23e3e70372cbde5ea13bd97f66e3dd3df4f3bb2c36ebc72dbc83b00000000000000000000000000000000b4b1593ca8f6c3bd5e996cbc4f87e53c78c522bda5d9ebbde191afbb49b75a3dca61eebde815b8bd1e6d5cbb8c238a3d8bbb09be59e18abd886781bad51e7f3d73d2f5bd48384dbd5e78c8ba078b3a3dd797cbbd2cfc00bd05595db9122d0a3d364f72bd6cc484bcdd52d236afe6763c5f19cebcd7127ebbf853d03a26cc143ba5b24c3c7ab8c33bf9fe0a3a7c0503bc92662dbe168ea63f2481423da3ef23bd8ae3a6bd93aa9b3fb5071b3c422bc1bda21fca3d64df7f3ff5ca773c73e91abe0e8e3f3e47af473fe4d9c8bb617c25befa4f513ea7860f3fb4ae14bcb15209bee78a473e7fecb93e062ad5bc2faccfbd7a9e073ee1992d3e06e6a2bc12b73ebd66b2a43d8aff463c6409ccbbd28af3bb268f8cbbd5ddb7bd4f6429bce820bc3cb1fb993c07e28bbd7613bebc0d9fbe3c21e53ebd1915c9bd487bccbccf30683d1a25e3bd9a11a2bd0c2d81bc7c84843df3d105be4fea78bd88ba4bbc44a87b3da38aeebd4bad3bbd84bf04bce295333deb7ec8bdbf57e6bca7d5cebb5d9d0c3d91576fbd415f65bc004f48bbe081633c0f4cc4bc7dad17bb60435a3a6d48003bf3ace33bee784d3b50d3433bfcf2bbbbfde730be6fd88b3f61e8793e1dc383bd9116a5bd0e77893ff0644c3eb7e704be724ea43d599c633f3f2e253e6fba2ebe8ea42e3efb50343f0e46dc3d0f3b38bebe57443eb1f5013f10228e3d182915be0acd3a3e470dac3e8ba4ef3cc1a2ebbdc173fd3da138263e3b62193cd5da68bd3ae18f3dcc618d3ca7b009bc351c00bcecaa4e3b791c7cbd5ed993bc4432963c439c443cfd6c62bdbc8a17bd5fb9d23c09373ebde509a4bd1e4c34bd8710733d7217e4bd1fee87bd74f6f7bc6bd7863da6ed04be7c8457bd5977b4bc7b0f7c3db073f3bd7d9c2dbd86585cbcc7d2403deebfc4bdcfadd6bc98802bbcdae00f3dd66c6fbdf0635abc0104babb9a37873cd82dc7bc343443bbf1fd143ac37a1b3bf278073c82e54c3b5e062f3b2834aebbaf891ebed99c653f23aeef3ee651cdbddb738ebd34be613fb0d5d53e55162ebe9b32a83d758d3f3f3972a73ecc4d48beba8b2b3e0b90193f30066f3ea8a949be83bf433e7f27e23e529b1f3eb53427be7c0a383eb967953ef8ceb53d133003be768ffc3dd228133e30c0143df39285bd90688d3d7383b13cbd52e4bbf0b120bc51c424bb5c484abd1dc1f8bcf41d943c18793f3c586d26bd6d0a53bd2d5adc3c19d640bdefb882bd580c82bdbd1e7e3d0a0bd9bdf1da62bdd6b83dbd0f96863d355e02be334139bd25f808bd81477e3def14e4bd18961fbd684dabbc00f52f3da4c1c7bd027ab7bca7f988bc23b91d3dc12b72bd4cca20bc84e219bc2d44883cd6efd3bcc4d63bbb92a8ac3abe17323ba9380b3c5460303b937b373ba867a3bb22820abe6f222e3fc58a313f3eac05be29983fbdbcca2b3fa108243f6cd74fbe2639b93d3871163f0bf8fe3e6f5c5bbebf75313e6dcaf83e2a3abb3ea48d5fbe35be3e3e7354b93e82d67a3e38a829be70533a3e4e8f7a3e264a183eb2a610be725bfe3daa91f63d0f36883d68a090bd6857883da8dfb73c7a134fbbb20541bcbbb571bb7e8020bdecc72ebd1122b33c0708493ce008f2bcdd2687bd4d28ed3cf70930bd7a244abdcb2daebd8c80853d2f4fd3bd7a5040bd4d627bbdfa678a3d23dafbbd804e1fbdbef93bbd4c08813d0858ecbd8ae209bd0980dfbcc77b413ddf99c4bd49989cbc4ca6aabc8076133d11006dbd557127bc5ac732bcd12c8a3cccbdcfbc775f5cbaa327d2ba9e9a5d3bda4cc63b3550013ba54a8f3bbe3e8fbb5038d3bd3f3eea3e859c683f78401dbecc17bebc47a4e93e632d5c3f63f16cbeca02ce3d7e90d93e6b6e2c3fe74e6fbe9a73343e8685b93ec1e0fe3e6c1f69be1dc6463e3a00923e965dab3e85953cbed05f393e54c6443e4505563eaa5214be4546013e9b6ec53d1d75c13d0f8f9bbd59a5893deb70a93c3bfa47bb017621bc49f368bb1c6fe3bcdff85dbda477b23c0eb7603cd83f8bbc406da4bd5f7d0c3d57af1ebdf4180fbde298dabd76a0883d54aec7bd2c551abdd4359cbda3b78a3d779af3bd66af06bdd5c961bdebfe7d3da9d1dfbd2b7700bd94d90fbddfcd3d3d93a1bebd050e8cbce2c9dcbce795193dda906cbd1caf08bc6e8e63bc640e913cfdbdd9bcfe4cd6b9d66dc3baabce713bb0c38a3bd7e5243b460a953b52d170bbf9a08ebda21b6f3ec1b98d3f46472fbed8b6b63b02de763e2c2f883f255d7bbea1bae33d5e06873e4a32553f2d1d78bea3663a3ed0b8763eb84e1f3f2d3f72be483f473e35694f3e5735d63e95873cbeb8873d3e57b80d3e1d16883e52d71abeb8c3003ef336903d2a5afb3db5589dbd38bf873dae3d9a3cc59c9cbbfcc5d2bb8b5279b9bcdd88bc818a8bbdc3b1de3c6a85883c7d3c33bc2cece3bdb87f153dbf6103bdb10199bc98fc04bef683953dbd2ac0bd11eee9bce068bebd0d0d8f3d6866efbd4acadcbcdc448abd7898843d03fcdabd682ce8bc379b27bdf7b23c3da46dbebd93af66bc0f7a03bdf37d1c3ddcb976bdeb66cdbba77d80bc7cac9d3ce8e9e4bc3b95903a49d023bb2a44443b6da6c33b6e52533b30caf23be2efbabbc60b43bd09b00b3d8625a93fefdd2cbee3bd043d3ebe493dc0059c3fc5557dbe0feefe3d1b8df33dc8b5763f3be573be3cca413e78ac083e1d43383fedeb6bbe7f994d3e8c84043e8010f83eae313abe2112423ebe78b83df98e9e3ecc7e17beec1c073e333e373d0e19103ec8d19abd25ac8d3d4f08a63c5911cdbbb26804ba542e65bb7d9d6abcab65c0bd9a68f63c00000000000000000000000000000000f09f03bd93bc9cbc292010bec3fa7b3dd790b5bddf92c1bce398bebde2df833d082de3bdf356d7bc0f988cbde1636a3d4424dabd7285d1bcee7b37bd5085343d25abb3bdda7760bcb9ae07bd46380e3d3e1967bd60ecc3bb895992bc5a2a863cf5dab1bcdb64c2380abd45bb9ac3e63a0000000000000000000000000000000000000000000000000000803f0000000088cd073de51094bd7142a93fcac33dbe18ba083eb5394e3c5a72813f34604abe4889473eebbb583dcc41443f27e748be5333543e7f76893d3bed073fe74129beab49433edfa93b3defdaad3e624a0cbecc760a3e83f1d43c26fb243e631f93bd5009773daaf4703b581fa3bb97d510bb00000000000000000000000000000000 +//!TEXTURE ravu_zoom_lut2_ar +//!SIZE 18 2592 +//!FORMAT rgba16f +//!FILTER LINEAR +00000000000000000000000000000000c6e5233672c21636ef1d2536c2c12436e9284b36ec8a103633985b36fe9700375dfee23534dcbf3511efe33579922b36292a8236dcff09362ecd9b36c5a77c37574725367d90253624892e36c1c335378055563622c8f9355ff02f36220e3c3726377b361c3cf135e51f2736a5dae63600000000000000000000000000000000000000000000803f0000000000000000739e2136fe567f3f2a51b5374a508c3663e63a377e7c533fd71cc237d55831372b933837cf6a2a3f10c0c837d5a88e3657a79f372ee3ff3ec33de23783267437397a8a372d3aab3eb5aec637a4c825375a6a53371464303ecc5d9237ad141837b7837836fa44be3adb8d0d370a0409360000000000000000000000000000000068e47c365b146136b422933657a057378f3f1f3615330b36c8c11f36a780233632a90e361270f635b3fe0f36a9b51136dff91435a6e7ff3414422335ecb92535b82d0c3614fc003647eb0a36981e0936ec8bcf359552be354f38d4351c9810372c5232355e712c357dea3e350208433571f43536541824363f5d36369c4e393603d47936bc5c823636cba3366f2cb0366dac453670d57b3ffda6843c974e1737a6e20c36e5c2723fcab6043d88482d3608c40736c0b04a3f412fef3c2f9d1636006e0d35bede253f3ec97d3c57872535081e033686d8f93e33da383cf07910368cc5c83529a6ab3e75a32c38bf35a9365c952e35ac42373e3cb30337cbe24235b4c81a363aa5963c62c45a375df4363635803e36a46a9f36a85a8f3642068b362acf9036ba3e903648749e3686ada936ad6fe535e512b835b5f9f135125610366f4d113629760136d4bd0e3674643936380b3536ccc32736a98e3736e9e43936c1948f356f8f8235be309b355558993599fd4536d9ac40365f88473670734736ebc94736fbd82436af37433636a93e37c073373529c03b35f3c93a35e45b3b352cdabc360a14ec364ec80e3792bb133795ba4636092c523f843a373e683d9136157ca935299c4d3fca783f3e189c0036f853053685902d3f12742a3e6c502636c1482e3669050e3f97fbfe3d64353b3672128735202cd23ee841b73db80499353743423659a7913e66d4133d89444a36b5c52a3661ac1f3ed6ae233854165636a39434355b332a3c24b198374d45393565fe9136fbed5a37c8263b3725b0a2369be3d036ea03d636e70edc3660a7e0368f80dc35b3a5ad35e1f5c835a1e5fd3562777035c6cc2535557d3b35818ea3352cb21e36d2031736147f1e3639822836afa21d36f1a94035098553358e72ab364bc76036e2f72536a1222b360250f63676a28536657b3c3666a7733666d5bd365bc0143671410e3622701b3654f94136ce1ae43639fb02377e05073745101537ab4ca9368fad293f889aac3e9e21be36c992a835713b273f93d7af3ea150b63544cd2635aec30d3f55b7953ed0e9463563a8193641a8e53e3e526b3e003f223678da3b35a710aa3eb8262b3e9cbca9352230233613ac643e9bf7c83d4ffc2736a6c22f368560f13d5a270f3dd7a76036bf0aea35032e463b93b4cd37da6b0036dd849e3522d39837d576703730b4ad35fee8ac36e95dab368191ac36badbb13666cb773637477136794e703626137b36088ccf350864c8356550ca354d10cb35b7bae935cb71e2351e98e8358b50ee35ec67413724ff1f366b33303635bc673779a6ee35af01eb35f5baee356290ec35e31cce35bd10ca35d799cf35e8dcd13523a1f536347e8936f9e69c3623a6f8363835e5360e05ec36ce55e3368edfd73654a59836f807003f64e7ff3e827199364a0266361200003f97efff3ed46e6d36631cca35c429d73e0670d73e697bc735709de6356835ad3eec1dad3ea9d5e935bd7b5d36772c803ef79c7f3ef8a98d367a33ed35bc2e263e2524253ec034ea35fd56cc356485a33d36f8a13d2acbcf350e9e853682fa3238e219253879cc8336cc1cb13673668137b7bf75376032af36c508c3351a2ab835baeaa635cda3a83590dad9358ddea63525238e35d981c7358e37313657c02a363c2e263615192e363c4a2636310c1f3671d51d367d0d2436ce329536ef074935bbec453508575c365f90933641092536c0d02036b06f4b3671063a36cef9b03570389a3511edf835de007d3656cf2c36f2e52136d3c837368238f33618f3ee369b9bec36c281ed3623510335459dad3e7f2a293fb1d2d234d8ab95358a19b03e0d2b273f2f5a8335fecd2d36fcc5953ef0fb0d3f4ce82536718c2336678a6b3e3ba6e53e2eeb1936baf68735255f2b3e85a7aa3e5c523935946f2536eaaec83de6fd643eaa582036ea6ab03524dd133dff10f13dba628135c9c4173660cce1374388563b349408364c4de03695844d3728286b379efbd536d59aaa36b25ca13674459636b5079b361c20343516882e3572dc2b351153303526283d3689bd103645e2ba35d5e020365c0c48362da04436a9fc3b36a8524336b67d9f35406d96359c858a3540018d350c655f3646ec40362f573a36051a3e363492ee366b7e4c36301126360e965236de2ab3360b512636d1f71b36b00e1e365cf3b036426dae36c822ad369923ad3635268f365072363e1d5e523f0f855536d97e3235155f3f3e977d4d3fb47728350bfc2b36e19d283ec5e92d3f67e6f835a9bd46367e78fd3d863e0e3f773e3f36b8a89c35bd03b83d5d01d23efe2c8735130a423613d8113d98f8913ef7ce3736ac27633687181e38b53a1f3e15482936213c1d366c0dc1378fcb203c9cf00b366f9aa436cac2ee366ebe2b37435a91363911773666c1553628952336d2783936364d1a36134ae83515ce86359f93d03542b83d35be3d3b350ea8223569663135f1c1d435ec17ca35359cb135f644ce3502961036ac3e0f367f3b0436af370a3663062735657a2735f8061a35b5b61d35624a18362209133677f41136a8121536c541d736a6743536039e34363ee42e36869c6d37c346573771403f37d9e136371f05693673b88d3cf5907b3f6b0300361ecc1c365679033d5b11733f52d09d35a5b142350a92e53c3eff4a3f13c92835c2e408365a698b3ce3cb253ff7bbc135b9840f36b690433ca040fa3e46d00636c01f2935761a0138454cac3eea91173581641736f8e30b37084a373ef0ef1136c87a3436519ea9370df39d3ce7e62b36357b353726a35a3721c97837ed93853600000000000000000000000000000000fd31ce35d818c335f2cf9a350005c4354c126b36e61bfc354eebe0351bedf535fafcf23632482636760d1c36197226360ac85837fe6449365cda0736429993362d679736d43a06363098d33559fb0c36e6c66e37dcbcb33616055c36e0f00437fd283f3754e2b136864691369b0cfe360000000000000000000000000000000000000000000000000000803f0000000055bbdd35c84464377e9b7f3f72b6c035b619ef36143ada371de0533f6f710a376a611737ef62f337e35b2a3f14d38637c5ba6637e65ce037be03003f23f2a537172db236ba34b637781cab3eac643337fd9d5a379d14ac370ff8313e7aeb7f375f0ec636a9277f37dc36233bd8ed133700000000000000000000000000000000000000000000000000000000000000005f3d2f3623af2b36d1a35036c47b7c36b342953647e393366e85a936fdc36537eb26063689a504367f2fc836c8255b37e2ff5236c2f85036b621cb364eac36370f4432364e182c36dbcc40367e7957361caf8c36d2237d36da7d0c37f540693767174f37540b5e37811c8b37ef53983700000000000000000000000000000000000000000000803f0000000000000000297cfe370f256d3f59666938bbbbc1373a9fa43866df473fe79d71398d441238678608386e0d243f9cb3113894e4ea37a071bd380fc2ff3ef7f86539ab93c637fb1e39382173b73eec56523876d11938d3f6f037bfab5f3ec37f0838390bdb37d958ba37225d983d4a3bd6372d7cba3700000000000000000000000000000000ae03f33550e82d37397c5b3734065737354e3e36f4e93b3608ea4136527b41362af1b235e3e2b03526c9ba35d084b635fdcb3636ef573236e2c25536ce6607375bb6f0358711f035ed48f535d04df235c9574636685e233629a270376483bc37767fa235d6d8a23500966f36127704373e40a736fe36193721ea913735959d37fec00537829c5137bdf07937c01d5f37ebe6b6373ce66a3f7c14a83dd60bc7378bb3b2377937573f7c95ac3d583dbe3716790a383fd1363f70899c3d08d2be384f65073890d4163f0564753dd624ed37211fc137fd08e93ef247363d68a1ae378f5627388391aa3e23579e3c7b43f93844b2a6373c44543e5f041f3826ffc637ff9bb0373e44983dee763838c807e63733c2223719bfed370f8fbc374e3b80377bc1703602d9ac366e26bd3696deb5360b0f6836fbd17f3603a0a9367ce5c336e5ded935622bd73551af013674506d3683c8d2357eebd035416cd4353ffcd5354a3c04363de60036668596366adefc365ed3f1368b3ef136df634037be627137c095a4353e09b835f2d93836c9355a36767308371c4052371dd8923790dd873738fd9f373c2dce37f902db370ad4c73709bdc336424f473f948f623e7fe50d3736d75037425f383fcfe15a3e650591370187f537cba91b3f95b6393ea7f3e23857eb3c374ccd003fbb25163e353575375109c237b56fc73ee9eae43d55a6e5374f1eac373aa2903e9f578f3d0c1ac2379cbe5037c375333efad80e3dbe988c37e4f9543790f1853de9e77a3a7d16a137a1aa923780bf1138522206382ca1c237935d5c3759308c37cada9b37059d663762da3d36ffc4563656ea6336bc9c5e368d8f43366ecc4136c8674436e1b54336a0008836cbfc7c36d038bf36caf7e536e54e2e3646b62d361889cc3684771737269a1a367bb811368c0991360f28b636025f5f366830db362f4d3e37e5464d3743c15c37c9d498379e37c2377a9b9b37c0d18a379132cb37888fe037f403b2379f957d37669d233febabb83ece9d8c378b0424377412183f8ce8ae3ece325b37a8af6837a483003ff09b933e49a08f3783186237e6e6d33e01f16e3e71a2a037179ed0374d68a33ee844383e2c3eef37cb03f137105a693e69aefe3d27b30d384378ab373a380e3ee84f8e3d8e9ad93828428d3783ba4a3d6faa703cccf3bc3775126e3702d26b391c5c37396a37a437e784123650256437d40d7f3708dc973643958636f0468736387d8836eb708836c58217360bb11636ed6c283628664536fdd645365dab4436b6144c3685c75136e7c13a372eae4a378f176c3729297f37d8ba77366aa66b36986b81369b8da136f303e636b9daf5362666fc3679cff936c7b47d37d480a837fb99b037785b8a376e8f6c3719dd093951320d392710723703553237b96eff3ed5e6ff3e21ad3f37c3ee3037b04ced3e3862f03ee825483761ccfb36825ec93ee584ca3e1f651b376b189e3728b0a43ed623a63ec64cae37364ef2378a927e3ec1a5803e9a8b01386f5aa137bd60333e45df363ec099c03727b75737ebf1d43d234ddb3d454c64371bb393371929073de3d90a3dfe799e378dfd4f3757dad939afdefb39d8346237cb11b736b2618a3763a79f37c208b6361e05c436ec31cb3630e4cb36f3aec43656c1c1332f46c833785bc8331626c53358930736ca180836d78d083665d4093679a5c6365a41ab36d50c9936ce9dc736af1a0e3718790737d09afd36f01f0737b05f213780493637887e2537aa60eb363750913797c7dc3859a3ac377e9a7837b201b2379cedd53710e8d03749819d377cb86e37c336b83e6dbc233f6797583718463437f8f4ad3ee390183f8b742f3781a38837ef9b923ea84c013fba50963769d4d137c38e6e3ee149d43ef6c50938cc57db3717ff363e78e5a43ef2b0f03709c481377fa8f93dfc566c3e8cf4b837462ead37208c893d74db113e0d4ea3379be3d23710aa3c3c807f573d0946be37ad299d37750406383dfd10388c78943795e95937653f8f3767c892378c604c3717d9e735780ee8353132e235a1b5e1350144a4350663a035e71b9e356a7fa0350daae236c22fd5367eacce363c0ad23645c8a03639a77f3634f92636a7407036390fd635a266d335387ad635fadbd43597f6a137ae7a9937569968378ef14b3788a2ab37b98fbf372ed9ae378a8285372c3f2c37be156537f4d44a37fd03e1368b9aac371dd6613e477e473f92cb9537837422376fdf583ee6c2383fae7b2a37d5e821376df8363ee1701c3f055e5d379f58b037f112123e6639013fae0eba37319c9e37fd44de3d71b4c73ea870d63744dc5e37c6df873d334a913e34e76a37749f9239e754093dcd94343e3af66c390d26bd37ae93453a176c853d8875a23788fe2337f31ab937308ff637fbb4da36bdca7c36de8f3336dead9936e2031036d8114936bacf4836da674536ae424836f8529f35416e9e35b42c9d3574dc9c358fea2437f4990a36fbc53535470542352a48e9357a32ec350431e9351471e9359dd83b375d8605375adc5d366454cc365cb29f36f00d8736c1921c365c41393695858e3752b98537427e3237a3aad236e260b8373c14c4379aecb837b8788f37283e83374219a73d95116b3f057e9737e408a437326ea93dddbc573fd4aae137742c95377218993d07c2373f5309c837ca6c2038f11b643d2d5f173f195d6b397fcd82373d222a3d96dcea3e31b9ee37980ad1373e317f3ce69eab3e32a312380f49f138885d4e3a3835553e636c25394b35d2378f80f738841f993d4fe5b737c878b837268aec37b0aada383e729b3700000000000000000000000000000000bbb944361e454436cd6f4136cad94436794651364e274136bf8c29366bdb3b36c4503b368cab343603471e3663b62d36872a15374482a7366b0b5036fa5a9e3608c8823707792a371143a336da652137ba40be37643b99371d10613744ef8d3776448d37f6e7693736e23937863647370000000000000000000000000000000000000000000000000000803f00000000313fa537baf5fb37abe76c3f243eec3788d2c4377eea1c387103483f0c196b386f430338e8ce5e389e33243fb9b978383d0fbb370c27b0388be2ff3ebc556739fe5eda37a64102381cc4b73e025a043879330b38e40829385df95f3efd582d387882c737b9d6ec37035f963d65a3e03700000000000000000000000000000000000000000000000000000000000000004dafa53731d3ce374c8ec2375de6c237e2269d379c07ad37f86dae373a05b137dd56d0374956d437d2c6d6373d28da37fc01903973a7a039bc0ba839f1beb639b45993371818983707189a37f6f69c37c27838399ba571396ea2863947d48e3904d6b539f1fedd39ad3dd839188dd63900000000000000000000000000000000000000000000803f0000000000000000cba1023aec37623f3994413a3ce6e93968bc393a4592413f2a237b3abae2273a26a0e139567f203fb39d2e3adac2cf391260883ad459fd3e92229d3a1569803a22c31a3a3b83bd3ef1ab543a055d1b3ab7b2033a1cbe753e02c6133a5f8c043a240e0d3a8260e13d346e213ace79143a00000000000000000000000000000000dda65f3835328338ca8f8038aa7f72381887e936cacf72378de26537392845374f7bae37db25e637a29df837f20ffc37915cc2377abacd37730ecf377131d0372e03b137cb66e737fecb483846ae7c383c0dd237f147dd37306ade3762a7de37ae050639db9487397a06833987e46f39907d9a381a2080394b5b5539dc6216399a0af13785902e396faadd38cf2c3d38e701fa39531f613fcfbeef3d7c8af039e832e339434d483fd13ee43d5769f339d01b4e39b0da2c3fd214cd3d72607739b94f413a7f180e3f11b2993df0fa523a96fc173aa3aae13e48026e3d310f253ac668b939f349a83e9cd1213d9aa5d039afd8003a0d985b3e720da93c3a13163a3b668f394669d53d6f3ae8396c1da439a1e5c238e4f4d439f9e55a39b4a6f938a66f9737238e3039a5a00039fceee937319266374b24a0377be29837e16b8437e86da637610a0c3989bbe8388fcc7338e0df8938e0bd673991706c393c763a39b2574e37de19c8379c9494376ce684377b83b9385492803961866c39cb902e39eebf8038b0076d396a665139def70939ec54e9389b04043a249afd3990ed413995870c39c71195397f16763979ab113994b287393db2403f39237a3eddd08639a2d89c39f30d2d3fb1a0693e6b54b739bf51233a944e123fe08d403e60761f3aee5b2f3a88dff23e82d01e3e7e492d3ab862143a98fac03e26b2f83d895c1d3a0d4f0b3ab2618f3e2c09b33d69c10b3a75e7e9395c7d3a3e2c3f623d7e68283a11edec398ac3af3dc2cc9d3c67a3ff395ce44939c7012b3afe27e6397f0e4c393d3f2a395b64c3390102c339c34e7e390f3fec3645044b374a664d37ee4404375f78ce37c51f05386c13073850a8e637a840d4376a57e03772f1de37d986d63709dea938cfa85939d903773939fb3e39a7a328390175a939f436b3390f4a76398f03ff385b32a3391feda9391da85d39be9fca3924cb443a715a423a3086f439af96fc383efe9939f8ea953937ae2239b3d5d239dace1f3f727bbd3ea22ee03900282f393ccd0e3f142aab3e2ac87339f3b8b7399555f43eaf28923e1980d639040e7f39c4f1c93ec9b6703e3e16a4393bd5fd39ac2aa03eb8933c3e2a110d3ae5820a3aa2a96d3eab530b3ec907173a8df2c739ccd1193ee9c3b03d4afee339a6090c3ae38e8b3d0278103ddd7e183af1b62639935ee9390551c83919a14a39b3e40a383d2f4d39204c7f3956a4223847f5583752d188384996e1383f497837a3ab15389942303874f03438058e2138c07ad9379062e537ab49e437d5a6da37e048c537e85dde37dfe1e3374127ce3728c0e33747a8ee376d0cf037a92ee637f2a33038563ef1385bb41c39c9223338705a6139cd66183a9bb62d3ab59a713908b589385830cd393da1d2394dfaab388ae17d396e00ff3e8a39ff3e9e3088392c9aa939e391e33e51fbe33e9aebf539d2769739c090c23e8adec23eb4e6bf398c1f293a67f5a03e7181a13eac77483a9a4aaa395c447f3e02e57f3e647bd039f892153ad4b33b3e12763c3e64a32b3a1d129039a399f23d431ff43d03bda8394c54ab390d885a3d502d5b3d48f3d83972631339a0251d3a5f41233adcbd2a39833bc53759022e39722d6839c543d53761c24a38599d8339694aa3391c9a9a38ec348337dad1b13733b5c73769af9737e7112238bd9e1a396f5e53393bc28d386a1c1d390a7b6c3948878439c57824392edbd9375a2ef837fb4e02381414df37f7ab2c39504a953996e19f39ccd31b391382ca3869bb9839382cad39b1aa6138469fb2390e99f1390e5bf839615ba73951da6b39d8c2bd3ec05f203f26557639e538103add04aa3e45280f3f4cd81a3a938fc8391a5b913eae2af43e3604db3930690b3a43f46e3e281bca3e0269173a61ef043add943d3eefeda03eff3f073a79864c39c3020b3e371f6f3e59d180395256d0399202ad3d6ae1193e7821cf39e13961396d12143d94998f3dfbca3b391403c239b77f1f3a03ac433aa594ba3905f1f4373ff904395e0c723910e86338b9986837e0c380372aa4e137cfe367373554dc372059fc3706b50a3859f1e6374156bd3775299038eb8d1a397c19363888c4543702418937eac48b38a64a793788437f393284a939d2ebc93932718e39d8bbc039bc8bf939ad810d3a535dd03967f59c3906e8d1392c15e8399bdb7d39129037391f179139724fad3921f82d39820179391c3c793e32da403ffe0a9b39e5c40e3a2241623ec1a12b3f0cc0323a04b3123a0e3e3f3e1095123fa49d6e3a68d3043a70a91d3e2364f33e2e611c3ae92efa391388f83db36bc13e7a7c303abd30213a83acb03d8b388f3eb3c0303a1c74213a180c583d21713b3e9424303a0d41c639fc99363a2518bd3de7a4b239dac25a390eb5b6396817eb3919a65c398930e13771ba01385b4d8738f665e5379a8b88374c28a937b285c137af928737806453381a345a388e3a6238e96e4e38f050d0378cb7d237a36ad337a1f7c93754c4bc37004bd237fb206f3841fdb6370596d637e552d8376bacdb37562cd0371d6e2b389d6c3138899c7038eca018389a3a903987bfb239e995d639e6c17e3918fd8238a6884439a7d9ca394357803819443239d255ef3d74a2613ffd067c3993cd99398178e13d2d83483fe0f2d53918cb053a3bc5bd3d3b3d2b3f2bcf3b3a2aa5b939aa00983d6a420e3f2d74183ac133133ab46f6a3dc6d8e13e72a1463ad4c4353a8d191b3de15ca83e56e74e3ac3f08c3938b5f9393954643e225d7e399bfbdf39eee8163a07edd13d3e49d83966274f3929ad073a463c633a9c480d390000000000000000000000000000000029548b38359d9638f8e40b39fe1aaf38f59a4738188d2b3816d1ab38cc979538cfce923747a59137c83b9037c2068d37f224903958398a3961f69239fa0a8f392447ea378e89e5375dfeea37437de6379da6d53753efd437856bda37e584c9373bed81392b2d8d392944a0398dd674390000000000000000000000000000000000000000000000000000803f00000000b583163a57ed393a545f623f3e12383a0882073a418b263a4864413fad87273addf0063ae0905e3a841e203f5f06583a4256603a5de0933a852ffe3e60d8943aeb7a8c395eeaf5394881bd3e8b3edb390603033a31d0383a4754753e9bb31a3a39e3cd395375ee39dbdee53d86aad8390000000000000000000000000000000000000000000000000000000000000000d9cd143652f90936c9b91736c86f23361cd99c356b5b9335d83da63552ed0f36aec54c366e081636339d4c3600c26d36115a9f36535b8836770e9c3615952e37c72e6b37a82d77367b9871378bfde2379c2b1237241b913687b410372e1c4c370e78c33667bf20368488933698720e3700000000000000000000000000000000000000000000803f000000000000000030c31d3736b77f3ff18a2a3866b3b73714932a3786d15f3f2a70063801ab8937951316388fb42f3fc8b78538f2950338cccfdf37f5b9ff3e70671838581cbd37726d4f38e03ba03e74eb7538a063293878a5c937e5ccfe3d8df1303834c38a372d31b2376c1d843adb59853814c446370000000000000000000000000000000052c62b35611d2f35de04d135e4824536c4bc013492d80734b50f0c3459f70734c824fc3435b3c8340c0b3a3542b2b03524398434f962853498698534ff588434ce091634c3861a34ab631a3415b42a3513db9d368f67263667adc236d10f0937c26e3b36fe37db35a83b453619f62737fe72a637755080379b00b937fcf6e037a9310d37ee6efd361b981e376d572037ebe62c354aea7f3f0ab9a339900db836f2bd0434c6737f3f9b984439f2e7ab367a7d0236bb775d3f9913943820bfb636003a8634d4312e3f55a09638a0188d370a472b36dec3fe3eb7a21438afcc1f3785d71837819e9f3e9302893814b47d3798e8f53775bf013e50f3c339ab0925384410b6370bff913a10618b38fd9b11384684b236dddad337e567ff37bb2a6c37abdc603643748a369bede2368cf5ef3696f82435f11a2a354be56b358555ef3563fe303449963434ed57d634593885351724f7358550e135c1bb02367e3711364892003645c0c835a4cb543631a8be36be3af63418eebe345d231e3557b42d35fddcbc3770091a3757ced1372913143890f2ad36f6899f360ba2253774de8c374b2dc336fb4fba36a407cb36c94bbe368a5243368fe9623fd2a5e83daeb7053714522435762d623f6f50ed3d2af0ac36ff4f50358a683e3f3b7bdf3d907bb8372ce10336f8351a3f242ba83d0f2e20388fedb836d334df3e2aca833de0050738d7831c35fd258f3e413c093d551fa737f70125381992053e5fedc73c86f27a3845195336e783b538043e43397090ea37963b4036dba63037732b813752fae4362ed34234a2ff4534e7c4a0365107b236a3d49136c85697364acda0367588a2364f132f36aad3d635821c383629218f362cbee735a4d3903415d088355e8728365ee2713669227036d30e7c36ed9aaa36db2e1f37c651503613d55736d7dd8b37c2506335535ed73447c51535b3ea6936deab8b372ed37737b3fe91378fae93377c46e136a985ba36ceaeef36498bef363bfc45348af6303f8bf99d3ec416843639b2953603c32f3f7129a03e3db6aa36ce7e9936136c183f78b98c3e26da3137456b49361530ef3e54c15f3e83918c361117b8367c2eaf3e5c82213ee278ed36b4b1d33708795a3ebe3dcd3d8fd914381bf87735e579b73db3741d3d6e800e3751e45e377d27bc383585053980b19137f021a33525ce7e373635a53758cb95367bc0cd340d16d134a183d3348a5bd33409cbc4347d17c73421eec7344cc6c6345ad45234d37c59344fdf583494585234378b6b35ee3d683536546835b7cc8035f3592a362c179f341197b034acf62e36b9189d35ceef96350d2b9b356d559c35dc725936360354347d55573439448c36bf9d2237a514ea365959243757704537be050237d8fae836a115fc36271bef3680a5d0346278ff3e6345003f71a7d234ca2ac6347014fd3ec049013f1ce2c63456065534e6ffd93e0186e13e900754340a5c84354acfab3e5e16b33e41738535024f3437fe37793e436b833e4e9b5f372d279035883f1a3ebe1a283ec4b38b35f6a5bb36b174783d1017963d61cecc367f73733661f69638dce50d3a3a10db362ffdae3574b69e372996c83759895c36fd49ac35add9b5355165a535bd7a9735005efe36a4aed936a79c9b36906cd2361bb7d8349320da340820d9344ac9d734d9534a360ae14236449c38365e3e4a3612287d362c7d7b36125c773614b0783607fe79367936243613bd0a3636195b36843605386fb0b73782e38937153bb9375bd5d3370a6ad4378da5ee3793c1f337160d773705df683790957137dcf4663750189f356a1d9d3e5c68313f12367d35d1dd3437a86a9a3ef4c0323f0226f03699b2d534fd3a853e49a21c3fe7a8d734e9fca93737714e3e4f36f83e7cb0ed36f387e436e943123e3ff8b63e031eb7365ad82337aa12ae3d82df6a3e1679bb360ab53f38a230c13c2549d93db7b90b38220ae837b104c9384ca5fd393a0b95374b7b28375daa1738655f0738387416367d3f9536e95c89363b42d635f883c635dd74313644493136a7d81d368e511d3650399836430289363bec5e363aeb7b36e555f534b9b8ca341988b8347782b834b7689f366c311a36cc3bd4352f0c5c36d2f70937953a193647060e36ef281036fa929537c4ccf63653c7f535ce95743637bb0f37fea9ec36c12eec3660c4ec36a472fe36ba8cfa368548f236a534e436fd18e1369f4ae53d4058633f9630a434e4ec86365ecdda3dfb94643f57551e365df21f380ca1bb3d28e3403fb4be903607d92136483b8b3d5b711e3fd7a9ba34d2970438c8a4493d35c3e63e3daa2837f20b3d384e53b33c5148963e4151bd3707172c386abb5e3c07bb083e0635a7377d3b65378484c238af6b073aacb5a036da2efe3632ef8437f7a03a372e65b136ddf5e3365335a43620768a3546e505363c639c34a9999c3470769a34858c9a34f3ca84345fc017344cc415346be41534997e8e366d771e3654ad12363be21a3699502c3415111a3462ce183423451734cd2af6347a73d334d61a8a34dc7689347a51b13697208e36ae845136be368c36a387d8368ff7c43627a7ae365e61bf36a1c0a0367cac94366d3d78363d3863368faaaa374550c5388af37f3f4809443604be6737a7358a383aa47f3f671d9b34896d49373c719b380a7a5f3f582ff43575e72b3762606f381c2e303f62d7da36579e0d37b82f0b38379e003f28819036edefc8373feda6382093a33e48886637bdabea3652ceb738212c0a3ef7abda36a202fb36ebb9963846d8ff3a3faeb9368684a636294606371eb6ef361078033600000000000000000000000000000000cc7dcc35d256b235f67566359a0ca235708cb435889054341ac9523475ae50348d6a1737af924936a44a38363b3b4e36956a1c37f951a23669558f36d596a536506b0837e37a793673da5c36a6308136a9a1b437092c3537fc9c9536c9fb5837e103123845aeff376e26de37201209380000000000000000000000000000000000000000000000000000803f000000006b2403367aa84637eebd7f3f5228ff35502c0637436d8b376d1f603ff8093e37511d0e389cfb4d3878da2f3fec533138a32fbd37cde40d38ac1c003fbda4fc370067283877c09538d67da03e273e7d384dcdf837ad573f3842a3003e577730385fa11f389c09633854b9633a0dd443380000000000000000000000000000000000000000000000000000000000000000e5deb1352bc6a135a354d0356f53e835ecfac3347165c334f18fc23444bb0e3548962635ad692835543e3535f0f7353570a103350316043593da3235397247357253e9350792d43518ad0f36f2932e367e3c73365aaf413681298f36d877be365fed3036541e1e36a16f6836c636843600000000000000000000000000000000000000000000803f0000000000000000f6152b36983e763f6d3bce373ef26e36449878370879523f08c234383354b73701a9a5373742293f6df638380e5da337cacd1f389f75fe3e405c7f391ab019381a7111385de0aa3e94693b38a9aafe3762f09138bacc313ea717ac38a3fc6238c3623a38808f0e3da5ed7b383b910e38000000000000000000000000000000002e3e0d3661fb163644db533699516736c728cd3520adcb35a25f0836db971636796c6c33c441703353377433fbfa6c33b6332b3417da2a34d3882c34075627349d2b4636871e4836b4305c3660da5e369949a834309daa3451f3ac34a3faa7343862ab324fd3ab32ddd2ab328dab4a36860a1d36c4a02a3678c25436e08b813642272335cafe4b358e0a5635577048351b4a91368ee67f3ff76aa539d049bf37e5b55836ebdc733fcf7210395437ce37caeb94363a284f3f8d4f8339351f3f38174ea53645ec263fc8769238dd90ec371497ed36e4fcfb3e7d5f5539b63fa937a9fb1e382357aa3e50579839b4c4413892977f38a2bf2e3e10ff303c344d8b381eaea9375e0b013d05e9833a899bf0374ea73135133aa837f55d00389a880a374d28f73435dffa34a5dff9342b44983588a67036c79b6e36e3fb803621068736805e01361884f6359e000c36ca0314363ff41536d3ed093667101b360dfc243616ef9236dc1e8c36928c9d36f551ab36b91c203521602435cb872a3526042c35eb3b1636e2d3113603ab1936810d1a36b7efb236c053b836baf1ba360607b53631759f36dce8a5363a00ac3635dda6366c65f536bc885b3f6ebf113e93d9d537649ca136f6ac533ff614033e4256bf36335d4f362f472d3fe399013e372a60371a665d36f3a50e3f6e8fcd3d003c813631afe23644d6d43ee530ab3d6fa87f37900f2c363692923eae35663d2e9dd5379e11d0368e13203edbcc0c3d784a9737ebb214378adca03c537a9c3ccaeac937ddc99636c86ee337ca0915380f2dba3727f31036f6432d36ac5f5c3673d9613646436f3659846f3635587a36452083369a489835966b9335da3ca4351c21ba3594177435e8487a35f64e8235f6fe94357cc45f36aa8962363b176a366b3d7d3647c64f3617305236a5fe57365270583643b08336058a7e36c6a78136d2e2a2369c834a36ed295a36100166360cc78536b10bbd3656afc73660ebd3368a14cc3649fd9836a48f2d3f9ed7a43e20522737c07f9d36b801263f5b4d9f3e1757b236fe9ca436a3540b3f8cd3883ecc4e523765c6f035ddd8df3e6f685e3eafde3a375737b83678e3a73e6716303e8024a8373cca1d37de58623e3667f23ddbbfd3373cf029380493f73ded568a3dc13d5d38ccf0a237962d563c3bf1a63c02d5e6377311d736de16c23759cdfc37172228372b4b013588d05f356356a0354fde6e3574ee2636a4412e36e02c32362e3c2e36a89eac33bcabb1331a30bd3372f0a6337f19a634fefda534a8a5a33438369f340da0b636859ab636c58cb936d7edbc3699e2a2342ee0a434601ba7340634a034ef0cb83683319d369a14ab36ed9dcd36058d8a377401683783e48437b62f9d372d384a3603f95c36ee995236a96e383641d9f5358daafe3eb5a4003f1dd20e36fd47ce3604f8f03ec209fd3e4ad6fa3613adcc369c3ac83e65e5d63ee7df9e37dc43a2342365a13ee2b4b03e9c302037ca015037f0ab743e86ac853e222aa23724374737e292203e14583b3e81c6c1371d6b30388cd3ae3d29c7d43df16d4d3899c113383f5c443c9e82bd3c124c1c38e51b4d36a681083867b1193867d392363e641236d4121e36a8c019365ace093604a2873548ec823572c28035650b7e351a8020366a5c1a368e02133614981836ee6227363eb11c36fb1a1a363451213663426e36fca16536238e5a36ff177136c502de359b5acf35ece4c73561d9c435434aaf36208686365f0c80363737a9365d62c13637f6c136bd56bf36ba57ba362639d3362fd3d336aedfcf3687a4d63620db10376152a23e5ad12e3f7227ac366ebb1136161f953e86e02c3f0a0617364f6ce5368e99723e0c20133f6fac5437553d6d364743443e161ef03e4bf6b736eeb24937f7b5133ea341b63e041a8037bf1556372e68c63d9caa7e3e88237837f1400b38acd83f3d171c113eeaef02383ecaba375d783b3c1487ed3c4bf8b237d8ab1f378ba40a38608b153843621437ce595d36fad46036b6384e362f283d36ca35603692a85f36271d483674264c366456a4358f7a9d3541db7d357bd595357318293551492e355aa6283584f423357801ac360321a336ebc29636d1aca236078b54368bb95536d3ca4c3678434b3695d06d368a277036da206b36d0826336d919d036b7b2d336f929d036ba9ecb36d0de2c37177c293746ee2637aec1263738f8b5379cdb0a3e23435d3fffcb7b3601f6a23629cddc3d827b5a3f267f97366b8c8136e2d6d23df9d7343fd1eb5036a2b19a353cbf8c3d33c1163f99459c3531940037342f763dd4a9e13e77f81137fe4ab2360b77003dec519f3e5db97f366784c937ac9ac03c4f43313e81a9b837a073c33746f32f3cabf70c3d16c66f37b19a7037339c2a38253526388d854e37b0e6b33427bdb4341bf2b634bd8daf3487120735439208353b7c0835be42083549d99f32cfbda2325e78a332b4d6a2328ea9a334b2e4a334c369a2349b3fa13485125c36193a583622c84d3617f34d36b0292734454c2e3498f92d3480cb2834efeead36975966364f690e3637056e369ae59c361ebd9d363ceb9a369afa91360bddce36731dcf362a5cc6365b88bc3684f0b337e710b738f0f77f3f23b5ff35a778e935035d0038d8a9773f27b7c03536b799377d3294388885513fcfb8ed37e6b5913776ad8a38d7ba2a3ff62bf337d358193718b01038bdf2013f08148d374beb0538d3679938711cb23e4ce12438825b93380658fc39d786423e43439b38033d5c38709b05393c1b413d3d5b3e3876ff6c373cc0d6373f35d737cf31b8360000000000000000000000000000000030def334191ef134ab02f334de5bf6346c8eaf34a721b83408d7b134f265ba3498bf3d35d9f218356989e53401410d35313a033571f8043555560535676c073526942835ba112b3585172d3571da2e3527d8b93614a88b3616b56436eff89b36604465361e67623629ba5e36921959360000000000000000000000000000000000000000000000000000803f00000000f5e3fc34470b4b370117773f3b78dc366b9de636312d29386487533f4175353898442c374bfcec371f8b2a3f989f0138f38bbc370f7a4c389ab8003f18c64e381e92b53720de3f38a569ad3e14f2383894292d3818647c38e1fa353eef1f6c38e2f2df37e44543380dd11b3d02d615380000000000000000000000000000000000000000000000000000000000000000507f05352520083521291035435214352985d635755cd2359134e235c1eeee359af6be35d3f9b8352182ca35626fda3503ac0d358a910e3548352e3508b0ff363c681a3740e50e3710c08337f214c5378f2f263756602537091e3c37a3345037aea41f376a3e21372cd24b3798be973700000000000000000000000000000000000000000000803f0000000000000000b5e93e3860f86b3fb6a1a738c3757538fdc89a38488f453f6c43113ae07a49392bb1bf3882b2243f3c9e063ac41c59396666c338ba4ffe3ea33c123a5709c439d5082239d25ab43ea74c623ae295133a05662a3ced0a483e3ccf8b3ccf661a3abe3d603c21eb303dabbe8e3ca7d0293a00000000000000000000000000000000d94e553616a95c36840d6c36d3967636e0870e36ab7f1136a5ec153689b1193622b104364ff805361b500736af1e0a3615178d35a14e8f359e2d9135a99293353af2e4357c52e83537d7ec352aefee35e6d0d3354309d735dea1d835de82db35b686a63772cbad37caa1cf373fd80938529bab364f2fb1368919b1362531b236f760d0364462e936547b0b372cd73d37ac4e0f38b620743f05c63c3d0e328a38659fd938014f5e3f1716183dddde2139d2a19038820a3a3f4abd3a3da121d738e724aa3894a3173f1a843e3db3dfcf38e77e0a3977fee93e7e51313d15a8c73975d6df38ae9ca93eeb80e63c0ae12b3a6402e938372e493e85dff13c11b5313aff80e5387acc713d9569f23c4f497f39ce09c137658a0e3839641a38d4851c38b7e305376da60837cbfd0c37ab680d37dffd21369fbd2b3654563d3641084a36b79cb135e4edb7354664bb35ff5ebf352529da342a62e634cd6ce73404c3ef34cabb07367b46093678c90b36f7d10d36a9d2583673955e36f8336536bae46c3684293c37e6c64b37a6809a37e5a7cd37f620cf3664a30737f4044f3748dd7e37ed5d113773ba2137471b3037c1d93a376bbed03702af4d3f3607493ed852163864be0e38ec563c3ff0c4363ebf50b73819a16e38b2941b3f3945293e145ac338dc350538f7c3003f282d0c3e32abe4387435d038d04ec53e8f74e63d1cb7453a7b028138a6308f3e2a499f3d9ef42c3a6844a138cdc6333eaac2443d8b504c3a023ab338ea2e4d3d028e003d723585397c446a37c3209f372f65aa377dff92372464d936cdacde3609e4e1365b4ce4364572a6357af9a835481eac35f130ab351473b935e71dbb3585fbba351262c035cb87d835420cdb3591fae43555f6f035da1bc035475dc1356740c735bf7dcc35e27fc5351504cc35970ad1354731d635358e6b374ed474376b6c8737538a98376724ee366ad90c3730ba513751f46037b7010b3728992d373cc152373610643744247a381b6e263f27e8b23e0c0699380b1d4737abb9173fcf3da43e188f4c3868e22a38844cff3e2eec8d3e12b88038fc5c2438de45d03eae076d3e25f30439da9e8f38f573a13ef89f3b3e52e1ce388fce48380ce3673e33d3073e4c499239f620c2387be0103e5039a53de049403946e6da38ad872d3d7e6ffc3c12a6123c5823db3730b01b386b6a23386b9e04380e36b1363e41b7368bf8ba36609db936d765ec35d5ae0236ce490a365e7517365167d435998bd6353039db3580ace135e38d9c3585ab9e35ff8d9c355dcd9b359740c9350b45cf3547a1cf35c533d235a46bba35e66bc935dd31c7357813c3352ec9c137db21c8373583e2378fe60c38247e543761f274375075c637c64700383089e63655e2ec36f93fe9367a00e4363075e0379feff93e50fa023feb600e387df075386fabe63e1793ef3e5a0ac8385e30b438d124c13e0fd8ca3e0221da380b52933898679e3ef7d7a83efde1cf38861fc7387435793e2e4a833ebb1ef6380e719c384249313edcf03f3e762c2339e85eda38e74fdf3d4e0af03d7ee5ed38776bf038a910153dc6221d3d3178d33b3f3c9837962d0a3840d71138a3f0cb37f1dcc13602f9c53683aec536217fc4363852433696eb4b3638a15036fa685b36858e0f36eda51536b11d1736979d22364e29653526a86b357b31683542736b359c3ac2350eacc43548f4c435fe0bc7354c703d360ace4036149a40369b744536332eed363b34f936c985053723d148370fc3b83668b7cc368c74de36e6d1e13640d61b37e9291e3795503637cd235837b4dd0c38db8bb03e14af273f7ca02e386c10b837ca0a9c3e71e61c3fd8886138d3583f3819d4833edb1f053f68ac683885702538a891593e3537db3ed909ae3893a79938ecfc2d3e209aa93ee332ce38a4f89a38bdaff13d87de783eeab3243a6b7ff13875b1923d17871b3e5657f239d60087387e3e1e3d0936433d3c8698382f2537384bee7b38cb9d5b39348c563824fef136fc00f5368bfef036adb5f1366cb3ce35fa64cc35a466ca35b264c6357876823507e18335459a8035c1c97d35dd4123367e9721368b861c36c967223694b60736415307363270073604ec0936b2f11835363e1c35b0681835d333173566e7c03746ccb437dea6b93784c1df3722daeb36a5b8eb36f1f4e9364fb3e63640e88d37325a8a37216d85375f7e8237fcaf05381500443e44f64e3feb87313860f26a38ead5253ee68a413f40a0b038fcd96c38fa65183ef96c203ff39f8738952e8c384df0ef3ddc4d063fc869e4382a41d8384d96c73de064ce3ec8e9323a6511ae3807d8853decce963eb91808396769cc3bf2fe153df50f3c3eb1d2c33923451d3a2079fe3c39885b3df8a1f3396ba2f737dbc20e3807591b383163f4376f9ea9365cb5ac36cec6ab365426aa365c98da35e703ed3505eedb35c84f0036186008368f770636598802364f6607362341cd35f051cd3544bcc83500aac83535eaf4359d56f535c270f23581c8ef35c98afb350c99f7355a62ee35beb06536d3f9a9375ff9a33740809e372f02a837a0583337bf822a37c7752337583c6837087604374e2efb36e053ed364a1ce5361591383886c1243d91a4753f06232838bc98a83856e0aa3c19d6633f38d3f43847d2cb3877fad33c3c473f3fa3f8f4380207b338cba4dc3c26e11c3f375518396ed508397a7fe83c64c5f03eb4d8e2390493ae38441c753c7400b13e3710a93939a3ff38d59ad93cff754d3e32397439fc18dc3b3068d13c9cb37c3da7616039c299023800be1b38d4d62a38b3bcf03700000000000000000000000000000000ac5f3036f7e535367857323642e93f3697b9df35f817df3506ffdf350e81e535c91bee35f604fc350db2f03502a9fe35e1cb78351dae7a35ed4d703536490236b6931536bcab133683b8113612817936d2b918389db91238c85f1038997c1f38279ece372c72c837a78fd137c463db370000000000000000000000000000000000000000000000000000803f00000000c16f0138451291384ec46c3f1adaa938654623385d1388384fc3463fde42083996358c3862e9b2382251253f0e86b03980f184386a321b39f56e003ff1abdb39af29b63888b6263ad871b53e8aaa6a3a2022213a9dcd8e3ac65e5a3eb6fd4c3cebdee73b4df86b3c12f7313dd73a553c0000000000000000000000000000000000000000000000000000000000000000461783363aba693607c87736309c8336436a01369c49b5359c27bd35960bda35c4cdab36d54e9a36eec599368c4d9a36e8038e3688ec81366ed3843641738836fc8dfc3750f9c437fbf74338b3e876381bbc0d360b90dc35f180c73558f9b335988e5636817f40363a9c3b36b951543600000000000000000000000000000000000000000000803f00000000000000008bb3863702957a3faeff1e38e7d37d371e751f3886b25e3f33176c38ee8900381a33bb37a6f02f3f6069c8376424763766be9937261b003f6375af378ad546370dbedc388f0fa03e7913e5385319a838d2f3aa37979e023eee4bac375137fb36a1458b3722aca53c4123b53752650d3700000000000000000000000000000000caa50f351d9f1235ef3d8a3587968b355ea682369d086d3630268836eb649a3620cc8a361f017f3641507536a3bd8136b1d2c736f1a1af361211b236b845b236ced3f836eb82e1361a1df23646a6fa36dc425b3621584e3638294e36d5b6383785bc9536a24b8a3622db89363aca7d362b57b236b840a336a980a736519d9536a61ddf371d0fc737c6c536383d5037386e1c2435bf047d3f9dc34a3c44c1c1377e99783615a9763f73e59c3aaa944637844585360e015a3f81f89d38388b9c3763d6bf36caaa2d3f513b30380e92b936f7660f3827dffe3e594fb63823e22c386f0b3e3872f2a33ef225e838859e7838f0aa93365a940e3e714d363903378836687e95368b3a0d3dfd589e37d6f19f36e83b8a378bf6a13835f19b3876712b3819605936d1d0523625863c364d8f4b3699cde436304eca36c437e736efee0137e2875e36ee1856364c3968366afd6f36b6c52a36d65e1136597b2a36e41a2f361a5a6c36d1b54f36ec0c6b36fc3c623725bbac360d89b03630afb4368716b1362d365336e9a05d3682da6736521a6236034a423696d93036e9cf273674be1836689bae3529d0e535819ea335ee955035566409367454643f7ec7de3d539849363a9ecc36fef35e3f9631de3d3fa27b3752656e36bd50443f7dcd933d52dad7363f611b36b0b91b3fd2ed723d12319537d225c23733dce23ea9d8573de7d3153864d80037f80d8f3e7719343dafff2838782a57361163d53d6a234d3d2a7254360bb4333627c3a13a5ba6fc3b1ebf9a36458d5b3576b9ee37f2e34138001f7d351f227235b2705935cd8abb35e120c435d9351f36bd29f13510bdeb3534c80c36c56a38366c8b2736eaae393691a444362cc8a23689bd8d36574d9436e5029c368e188b367b4f4e36e9517736db0ba836f50a3f36b51241366f684336b718513619787836390b61365c4f6036ad946636eae23c3711a83137d39436373419443701067b3660fb5a369b8d553629b95836fc0e233573e4323f72489a3e57da2a35ebd876356bb12f3fccfa9b3efbd32b369d8c3f36cccf163fb16f803e8aff373661a29336bdbcf13e31f5523e063f6037b0597b368d2ab03e03621e3ed6ab5a3753df50361c94593e57dbe03df0ff4736c26a9436b44dbb3d2683753d6df6b0364ccd33377d34d43aaf58113c048d44377eb15a36d5eace37d2b71738104b4f36200a8637edd6123829a2f13782a601388e398f363a4a8736e63398366854a3366f329d3609cf96369f2d8c36d02e913665cd9b36d5d08836e10d8c36d0998e368faf0137d447f63646cefc361bc40237a7d89b367ea69836cb5e9436cf3494367d439b36326c8e362d369b3618a598368033b4363feda93646bfb7364370ad368113813857f37238c1fe9a3833ef7a38ee838637a94c003f58c8ff3e0fec8737b0f57f3644b6fc3efaf3003f719c8c366c719336a36ad73e7b34de3e8739923643e79336ddd5a93e0291b03eaaaa913699e3f936e752793eb48f833e010cff3657dfaf3601371f3e9b3d2e3e9fa79b373619a03669099c3d1aca903df03399368adc993687daea3aaffbba3a2802aa365f9239384a292c39e11b3439428dbd37cbca6336144246364e5844367d6d423639652737f82d1937f7450d37929b203786e06836333c5d365b3d6d36143077369a4f46365f7821366a142c3686ac3636c37b9736ad8862368a7d4a364a15833689c59f36b6729f36985aa2368175a236f30c3536e9253636d06c38365b0a4336aadb3c363282223633dd27361d921c36686e1036fb02f835a245f3357171c53539c13336bc629a3eadf7323fd2302b369fcd2437401e963e066b323f34a31a37dd7584369e35763eceda1b3f8cf953369270323674f8433ef7d4f93e7fa623365a5be136cd39153edab9b63e6a3bb3367ec3803737f9c43d701b683e1b8855378a0635361fa1913dc177b73d96c6643739812c36e6d0123cbb535a3acf8737367b23e035fdabc937c07b5b3743e6c735831e193511fe8434e807c8346acc1235887c40361b8efa357fb295358ee4fe35af245a36953c4e366e53483655535c3646dab13632a59d36950197367173a136c5120e379640603669ed5c3650218b3632532836c8232936ead1243665b832368e7a693610c85536ebf45236ae1d65365ce0123743570a373c2a1437557731378fbd82362bb37336826c6736a16e7836cb1bbc37bd15e13db6fb633f330801348b4f093606b3d73dcee2623f1c400e3649b95836d1c5723d9a9f493fe1ef4436c63589371120623dd9701f3fbcfa9a36d5ba083803274d3db655e93ee002d737d31888379ed33e3d7e0f933e44bc2837c78aeb3622236d3d286fd53ddc0a97360058a237af3ca93caf489d39e2cf3c3708de453649ec073857248b37bef95b36c0b724388976a937e30acf35c15bf0359f9c893613ce5f3633202436a1fa8036823f8c36d436863650fc6e3633c58636d0535c3677322d369cd71e3696993336e09a0137c582eb36a45fd5362a07f536e0bfc736e9ceba3605e3b3365ae8b736351f8e36ff8c79367ec2813637988436fba69336fad18236e4058a36804b8a36ee90a435922b95355acc8e355ab0943591d7c838f561033c4f337e3f6388cc35ee839636146fb9395031773f28c88136bd5d813692fb9d37c69f5c3f239f833667c73938099ad838ba832e3fe22ff23730303738cdc9c438e2bf003f06aa1f38f217ca366b6b13398d90a53eb1b0023767e28b3788b2033c51a5103e18a2d637e54ee8371f99a8388075113d0eaf6137203e24372d2923382396bd376ecb6c3500000000000000000000000000000000592657361caf4036554b4336dcfa4b360defe935b15db3359b2ab1351098c2352a88f43798cf4a368f96273672ef5236a8e793369060873691087f36e6bb84365874a736901a9836aa5c9436e04091360078bc3707bb2f37459afe3555395f37ba8b97362e8b85365e63783691a40f370000000000000000000000000000000000000000000000000000803f0000000056b1693652633937a2227b3f2bbecb368cf3053691ae423771a95f3fa8242337578d803896f2ca383355303f366ec238dcc5ec36bfcea2376174003fbd6aae3721294e3771e6e3374e8ea03ea39de8374d0b40380c359e387235073e95199a3897adcb3728f93438b4e6b63c14454a3800000000000000000000000000000000000000000000000000000000000000006b8d583493c88e34645b95346fedcc34ced7d43411e3f034413101351e24043526b2a234c66fb734d3cad334c27bd234e8579c3675fb9b36c132a8368373ac3656c6353656632e368eb23236281d503714b97435df8c4c3503276635f3bf9d368c9b1a37f97b1a37c0081c373833253700000000000000000000000000000000000000000000803f0000000000000000eb0f8f3701bf723f0ff43938be37ba374fcaca385e10533fa2c10739b0b6e138fe9d4d384dfe293f35a39a3835de76386f5da23895f7fe3ef2451a39fe989a384a91f5387cbca93e477c463980fbf238b874f13849b1143e2d9ce43cb60ca538714c5f382903403dbc2e7d385cdc3e38000000000000000000000000000000008765e5358917da35cf770136158b0036a2bd1435dd85273529124b358f3c573532969834e7aaae3477d8c934f252e234ea622f3576eb343586f2613572c369353c90af350b45c335b6acd9350a19d9353240a335893ca9351882bc35dab2f235a62da534f427c2345891bc34b11cb134daf494357c80aa35f9afe9351dd305362c6ece34ec7b2c3578c4f534a6273c358cbb00383e4c7b3fce92993c7f0493384872da35c05f6e3f0407d23b0268663835055e385e4c4d3f96791c3a3749af3880223338254b263fccbe313a431795386dae89389c2cfa3e3aed113b0aa4d638bcbee038eecc9f3e8e0dc13c0ee9eb38b091d338ede0083eb7a25f3dba7bad38737406385c09263d3a5a593c5c863138a4ac123591ab4e37c7caaa3755f22c3792df4336d9ed4a36b4f7563620b963369f3ac036dcabbc36d9a2c6360080d93677bf6d357b4b7435b16d693536848635c2476d354ca07a35e5dd7135f846743569b04a36672044362a524e3635375e36ea0168355287743576506d355acf6f3505a75d35756f7b351a5d5635a410a335f376e5340588733475e58d3446d88a347fa347352960f43434d4df3460ca2f35c1496c369567643f8529dd3d176e1d38847e0637bdfe593f973fc03d8d8f0a38570133372b4d353f3d9abd3d91021e38476b833897ca103f7723ac3dade5c738c25a9b36cc3bd33e6d68b13da505543881ed08375c898b3e9697963d8333d937f6657738c8e4eb3d843eaa3da49887380e083835a66dac3989a2213dba794d37252dea34e8cd0e373e89b837e79d7336fd2b31369e0435366a8f56368a5e6536e29915346ebb473487c748345a6b4334481f8b3542a10035b7092835d09be8350fbd31355c9238350c743c3532aa55359e6c6a36097b6b366603813643128a36c82e243550a73835554b393557783735019e8c3537358b35bc79913521e69035eac2c236c500c936d7ccd136cf18e736596a0236605c04368698e2359b58e535c047863644a7313fd39f9c3e725d043819678135008f283ffbf0983ed1155935853a5d38746f0a3fd861813e9f69bb3873be3437877cdd3e67a4673ee3ff1f3849a415370a25a13e5396393eb42a00380c6ca338bd81523e55560e3ee3dac938a5bb1a361bcebf3d29ecd03d7a297337a83511381ec50b3ca5b5f83ceb6044380ca703362858003841f51d388c018f37fd825336862b61362609563653a85f36115a39362ff53a360c622e368b935336dee60c3441f02134cdea353427694d34e387d6352330ae35f9309e357680d4350e8d9a35c329ac35ef98a535b121c73580f50636ae360436f7a10536282c1f3695910e37384d75340bd9a136fa1aaa37e110f136678ef0364aa1ff3606391637e18f7637e63e7637e021863711d59037619d1b38a10cfe3e1a0c013f510d2b38edde3a37c3b5e93e8882fe3e60db6137cc5d8638f8bcc03e1ab6df3e0f8ca53837889238d0d8963e8302ba3e0d79bc3801c9e3370d0a643e73568e3e62e025384f6ab2380aa8113eb1ec4d3e2eabc4387af6c2382632a43d29b2db3dfcbeda38954f1438ecce523c9f370d3dc87f2d38871b0938d1c76538ee6e6d3891c82a38ed62e835995bfb353e3f00361aa90b36a5509c36b1a6a036ac2e91362358ab3679068e35b7a59235da1385354547983547a516350cf520354ff31a35e0a9213571407b3631207f36cece69361a9f8536e57a61354c8e7035dc735a351c156e3530fc05367f980436fdccfa35f2dd2d36a082c535029ea23576448935743582356402853628a07636f5bd7936cbf87c36f6a7b43740f7973e1617343f1745153652be5f3726ae8a3e71b8303f14f64d37282faa35263c493e34cb1b3f8107c23544bf9c382c7a203e5802003fbe78a7385a9f96370689f93dca72c43e4160e637c292c83762daa33d4aef853ef7a60b3860beac38fd359b3d9cdb063e8761b738a639d13582c08b3c6406da3cf87dbd3516d4bc379fa34838994c3838a5bfa63765571a34f3a71c34c14fd7341f75ec342932a934e4a1d93478c5ea34e18bd0342f400735f391f034a6a1f4341f8c8135f23433350f9c3f350cad4c35a4485b358b9666367b9b6c36c4e16e3613dd7c36df06af35bd448535a62e8435d849be35fb4c67353886673508506f35c5736635f3120037336f0337416a06375cc60d379e2c56368eb35a366fe54436c6cf4a362f46b337f30dd13d59e6653f53a2dc3493250a35bbd2753d6f97663f781acd347d0650380a15f43cf9e7453ffc3e3e38e4263137c1199e3c5c96223f21fb8b37b0452f37846afa3c1f98f13ea5945d37bc66aa38f756153d6a39a13e076dbd383d38d837dd446b3d3dfd113e4ecd173835c8fa375229c13cdd18003d59120038f9805e3707a124389a0bcf37cd9343366a15ca34eeaa9034cae38d34596acf34d55e8c35c9409f35072b6035109984353fa04e347d30683453337134506f8934fe0aab3507129435f4fb5535426b9735f3e1c0353595d3354d38b135146bc2354909ab355ee3b3353a1777353ac49635c882463503df2835dba701358af5e434f6577435a7eb9935f6208535b2f099352e420336667e1236e49e073662101236a7ca0b38b0d3cc3a2cb57f3fc73c2c37dabe2637221410398562723f2f9573376c473f38df56fb381003503f77668f38254da838ac9708397a3a2a3faa7cdf3845285138a882543935a7023f11c6f73859f554388962ca385f8fb33e825f9238aeeda438822b283d33d8203eb2b3d838c7cc7338877b203bbee7783ddbdf77380f8e23386d1f7038dd816b380af90f3800000000000000000000000000000000b31e0c37f8780d3731a0fa36d95e0b3748165635b9195f3532f6353599655435c38a02362c6dd23522b98d359db801360166ae363a52b2366aed9536d5e2a6365d539e354984b235cec3523586ad9435740f9b37df47bb35f4460b3503e7563755ed8c3587f37435b302e234a2694c350000000000000000000000000000000000000000000000000000803f0000000013e0933700ab2438861d743f47d93a380c28ea37a4fd843887ca533f94df82383af8ab38f255e5387d552b3fbe76f538be526238b32ba8383eb8003f754ec73879862a38571e8238a193ac3e672085388441d7382660813cb32d1a3e7cb0293c133fcd37bd260939fac3553da7307238000000000000000000000000000000000000000000000000000000000000000042d952350ee95a35bfea6135fff96735c60041366f374636e85a4a36d1f24d36b3578f3657fd903645b1923697a29436faaf3a357547413579164435e9f14635cb297f36251782361f7483363b4284368ff39836687c9936e1d69936463c9b36ef2e1635d2a815352e65133533c0103500000000000000000000000000000000000000000000803f0000000000000000f8f49338a004693f4c2d7b3bcece163bc0a5d038e331453f448eaa3b0a269d3be0ed1b39f9e2213f7ee2663b5beb813bbbede9384185f23eb0d78a3c8d87483c1d621d390045a43e8b59e03c36e2513c4ea6823ad499213e4c2d363dbcd4c03c14eb1b39a6b1383dfbc3fd3c33972f3c00000000000000000000000000000000885eda342a2ce83400a8fa34d999fb34d95f1d3318ef243335c88433cf9ebe337f747036b03e7136f6957a3610757e3672058c3652888e36ab279136c0e39336159e8833070e8b3344ba97333b728e33f0b88736939c87362e938a366e798b36c2d09336b53796362f529736cc5f9836f02de0357afcf03536bef0353d5ae6356b94db35c772d935c7f9e135293edc357af9c43864867b3fc7ef8b3c8eb63a3a8517933658bd623fa652c33ccb6baf3b7383713834703f3f09eaad3cd54f913b54584639b2bc173f9f10273d3dc8803b53968b38b193e23e3ca6603d76ea343b554a48397361993e8dbf2c3ddd446b3c8e8d39395ad11c3e1fbc513d7defa43c72a880386ac9083dfd2d183d7b20003c52bbef35a94ff435ca54f2357b85ed35b172d235ce20d23500e1da358f80dd3580596e357a767a357e5587351820933529419436d6f494365db6993681f79d3618d29636580f993699099d364cd89e3611b7be351d4bbf35f05ac53525f9ce3525bc9e368b569e36a339a2361259a536cd2792365af49336b64e9736cd1697367a5c35362ed0343640993336f81e353612d74b350826423592c25235b14e55351f729b36f1125a3ff9ab173e93fb9a3993c0b537b28a463f39cd0c3e495c1f3acce16b381a2f1f3f1d4c173e756f663b8f312939a4d3fd3ebc8a113e200c2a3bea7c79389570bd3e4119fe3d6e61333b12fa6239ca997e3e3830c53d93fb593c89cfa5380262043e11e7843d6540fe3cbeb596382bc2d13c7c0d2f3d3c07f43bb87f5835ebca5c35b7846435ae4a6035f44678355fa080352e7e8535fe4587355292e2359f07ed358660f435c1eefd358df59736329e9a363ad89c366a669f3613949a365d989c36f1d39d3623eda036e141e335b968e735d36aec35d6b9ee3558f89836f7af9b36b20b9d36c5519e36af24bc36fc3bbd36f3dabd369111bf36f1494436bd994a368d424d36c15546362a390c362a5c0d36f4db0e369f690d362df344386c712c3f3942a73e832304395e931e3873831a3f12e69f3e9ef338399a1fa138c191f93ec665933ef6eb653afd0028390e43c53ebc5e803e6449423b6376e6388885963e2f09523e1d20063b98d92a397b90433ef6141b3e0af97b3cb88caa38f1fad93dbf57c13d400cba3c4796f2386e44df3c6afa4a3d485cb43963750b3674141136e85710365fc00f3673b10b351c871235b76f1c35003b1935c3ebf73436410735cf401d351f5a2135f5ff7d3689be7c36522880367e5782361bad8136418a8436330f8536bc1c883674b4653390da6633e2687a339f576c331f1f8e3624af8c3644f08d36c35d8f365d689836e1ab9a3666499b36ae439c362649f33501a3043645380136f4ccf6355a8a9935331f9435c60a9e3501a796351dbb6d385b60fb3e5957023faba6af38b2dada35a6e3da3e6acafb3e342ce138ed19fc37e2d4b03ec824dc3e9373d23af8702a3910678c3e5e47bb3e5151743a6515143828475d3e7893903e1c87033bbf6d2c39071d143eec9a5a3e9fddc53ab4689638bc8b973df569fc3df4b8d63c07cb163810a6db3ccbe33f3d5691ef3bab127e3535143d37651a9c37b8e0053710b1eb35bf1ce935e763ec35e6baf1354d0b7035c2bd7b35b7f47b35b01887353f1d9c3693059d36d8069f3648cea336dee091366dc59336573d95367e4d98366c2de635bcc6e635fa10e9358bb0ef35f33aa33613ffa236a055a536669aa8362209b3366606b536fcf7b736c17fb83672785136a9e4503628fb4d36ae194a36abb7be355bb4b035ba07b935a710bb35a8ec38369a2f9f3e0e7d303f4ca20e37edc89a38021d803ef6342c3f85163339e6dd1638ad1b4c3e76bf133f9430233a46982b39eb50253ef61af63ecc8c293a0b25fc38d6a7053ebf59bc3e4fb7943a93153c39bc31a03dde178a3e63ec613c58e90c39427b4b3dcef61f3e4d1c983c882de1385ccafd3ce6da583d997c5839c6d3c035fd96db35f686e1351216c935539007359882053504770435d3ea093551f1d6355c72db3538ccd8359ed0e2357e6e833688e884360db584362f9587369c7f9f366366a13684b1a0361df6a436cbd0bb35eabebe352987c135224ac835605fa936b081ab36c074ab36c77cad3691eebb368efdbc366a2fbd3660babf362d928d36587f90362d2d9036bd908d36e157ac36b61caf366be5ac361f6ea836f7230a398615053ee4c65e3f44610339e71b7a388bb7943d92055a3fa93d0f39d78f7b38b1578a3da1f9343fbd56633a37a3513933cd553db5be163f7882a03a4a406638ef51573df2dfe03e1a93453ce2003e3935ceca3cd559a43e42346e3c50c8e53855481c3dd47b273e867dd23cc575a2382684013dd03f603d2c017739fd78ba368a58c4362e25c23652e3bb3698e1bb358b90be350665be350bfcbe35e4803a344cf649340fec85346d5c943486bc7b36214a7a36c8a0793622e280360ddc8336956a8636c2b285360a098a36fef783333bf88233b68b8d330f5d8633e9bda03613219f36e3be9e36e3a9a13639af9b362b609d36ed429d36619d9f36f7e76735cf046a35654665358da96135539d44363ebb4336c34c3f3603673d369e98bd381c6f003cda137e3f8a5ceb38ec502236cb7003395ce66b3f2d0c1c396c4ed338a92d9f390d31463f6760c53ae2dd22392797803929d2243f56360d3a190c7538d3774c39c4cdff3ee1644d3a875f46394e43163a0ddfb13e2ec7753cae68c538ee67c83ca616323e3f4aeb3c1186d93859ebae3cfe465c3d892a263c625d3b366de940361713363629bc30360000000000000000000000000000000092137b3412cb8234d17b8634981c97343b7589360be48936f0258a36aa9c8e36995e7236f8b37436435d753662757c36ae4c5135a81a4e35529c5035d4675b35f0429f3675f19e36ed2f9f36faefa23682257236bce67436324a773659be793621e6bc358171bb350562bb351a47bc350000000000000000000000000000000000000000000000000000803f0000000090c281385fdd123991b1693fa1fb083adda4443757fb1c38c226453f920e683b25e29138250a47395f48233ff2ded03a044ed23859d513392593fd3ebd4b193b34a61539f11f1f3abef7b03e42336b3c026a4d3a26ff663cb754313edebd043d4deac338cc435a3c79e94d3dc7e3a53c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084803d359fc030353ea16a353925d435000000000000000000000000000000009099c331000000000000000000000000151f2b353a0a21356911f03411bc4a350000000000000000000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000a0ee773f42141b37000000000000000031e75b3f224e2d3700000000d6f9f5354111323f615c2139e5dbf835000000001b16013f3372f438000000008f83d834a0aca23e5d0d983a00000000efcfb8350365183ed49de939e3f6bc35000000009899273de7974e3700000000000000000000000000000000000000009a3b1734e40b073486be0434c9231f350000000000000000000000000000000000000000000000000000000000000000713a1b3328a6de329a9f163379fa2233fbed10349458a7338ee47933a605a23391e151329c983f3235ef3532ea2c323218c8da32b7f5a13204b1ea32793c063300000000000000000000000000000000475683350c6d6935bec56935c408a735930f0f3568eb7a3f228de03c1b9f4b35000000001b016e3fa9fd833c7d4eea33000000003749543fd72ea73a00000000e98c5c33af572b3f134b273b78183d33c2982d349f23fc3eb0508e3bdd87cc332f3810323aa4a13e9413ce3be12e5a3285544033d1360b3ed197073dc8dc1233000000006438243d87f6b53b00000000849b653585f14a3501a84935a9eb4635a0a03e3372f3bc3367a165346eeefe3341f79a34043f9d349e3da83479e7b83415769335fee57535c2999335518bc035a2f5393399d02233f1e647332bff1434bc5bdd34fd46cc3453e5ea34f080fd344fbeb3358ec5a535897eb43588d5e13500000000000000001fe64d33ac72413286bd9833a3d45c33b95299338b216b3300f3ba323ba2ab323679cf3290df3234d10e3f32db70633f372fed3d7b3a6937473cd334cbe75c3f6c81e23df75ae4349d678f35ae06423f24738a3dc26a9b358591143466fb173f440b953d67502434000a0d356474db3e3cb7963db7331735a913b6350fec803e93c8c53d1b30b835fbbbdc331b3db63df49cbc3d5d8cb9314c720234cfbee3391304fb3cdeff283400dbea326c061834da3ef933a78b0f33f30766349ba9c8344ce1de345d78ad34e23d6434fc516434667d39341f0173347c3050333c5348331feea633dab24c34aeed8035761c7335eeb67f351fc6c73599f4ff34257cf034124e013581ca1e3533e1c034d47fc4340f5abc34a89efd34a84d3c3590bd6135631c5535715e8135a4dba134f35699341a93b134fdb8c23426954d34ca513234500a1f342a32433412ddff332924373fe64b953ecd92f33470eb9134830b2e3f60d29b3eaf927934f547ea33f635153f0cb7823e17876734d07ede35ebf2e73ea0eb653e8f44d635b3840f35e19fa43e8d39403e2e420535a32ece34885f423e1ef0103e6ff70735861e9a35e7bd8e3df347cb3d2efda7353db49634d8ff003b0dcfc83c6cccaf3411f8ef3315bc1638c81b6d3830db1834d6f60035ff314135488b1635ca9033354b7f9b3300000000000000004d25c9347c031933e7ebb33248a03b3263e8873211c8e732331ec03277e8e632301ffa32b4dc4c34c50f2334265b0e34a48e1c34c4a21833d3bae8328e4685327cea97321bfdcc321ef9f932dbd70c330e212a3359e10e350308a5349ea7aa346d37083545bc7135f0a04b3598f78935e539ab3512aa81355fa1023f304dff3ed3273f35f9a32c35b5aefb3e9453013f2766cc3421121033f615ce3ea3f6e13e1766113361681733fe619f3e8b05bf3e4766fe32dde1693470e1653e0127923e3a273134b0b01133b7730e3e7ae0493e06dfc532eeb84033467b9a3d23acc13d8f40d3324ec396345738e63b45f2fb3b8d873f357b5089353d6c6e350fcd8935b65770352cee673497d15534615318341419e23366ef4934f3cb473470894c34f5445334e5a19335a3037d35a24b8c356664d13522d9c4340ce5a734e34d9034ec05a43414a9c0344d4ab934ba7cc5349415d734e32ed3356fddda359770df3574e3113688901d3311ae3933ec5da43362be9d3398811f3492e7de33fd0e23349c982234f6d3e434887bf43424051135228d2a35307406349c4da03e2317323f27f9e33310fb9b34b367993ef8ab2f3f3e918f343403a135cedd5f3ec6dc203f4bd4b535d0e2e534af4a323e3908043fef26d234074803358164013ea56dc43e231704358ae1d1359300c93d98417a3e606b073658001c34711da43d1154cf3d0080b93380f353342c78c83c99468a3b592e5434ff58ac3450063f35ee9191350ae983343c874633a9dd183368ab0933a8beed32cec54b34e5402b343950ac336bfeaa3387fe3a310000000000000000ee289533f44c7e35c42a8435ab7886351f2f8835f1ab113563bc0d35827107354f62143576112a34ae023e348456163426aa6034d1314235c22b5b35933a5b356bc75835506cd3341546e234cb6ef9345bc6ed3431cd8b349bee903498e7e734a48ca63477f8143321240a3ebde35e3f865e323353346134a8f5db3dabb25f3f6222e63333976833121c233d666f4b3f2264c1335a519335b481f53cde39243ffa84af359d7f22351e842a3dc5f9f13e6fb30d359f7f3034a57c843d1900953e634a763485e97735991d973d4e2bea3d623b8035c211e234d1631c3d5c5a103ba0b6e634c1e534343c534a386084fd3713c44534bba95035788d6e35e4a43735f083263500000000000000000000000000000000f1a74133820bdd3245c60c329ef188327f07563280056b32ca7e70329186863245123634073d073476479133555d90336735823362ed893334440233d6ebe9320000000000000000000000000000000000000000000000000000000000000000009c7434edd21f34821f2035cf94693551ad8935666ce13ccdea7a3f3ca154350000000077fe4f3cad3d733f00000000eabc2c3432d3163abf69583f75edee32214a733242c1ee39d8d7313f4f4741323ecd51343e1c3b3b10a7043f7c54e3337e0072336f94ba3b0d64ad3e0bc20e3300000000ea8eeb3c2e73203e00000000000000007ca0d73b31d2643d00000000089d5b352d18163588de15359926b5340000000000000000000000000000000000000000000000000000000000000000f5037635824b3f3555751535b0b8a935a3314733eb0c1d330000000000000000000000000000000000000000000000006ad5bb350547d0350540c53582c40b3600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f00000000000000000000000043de783f00000000b8dbb6353719f8357efd5c3f2840d335000000009bf40b35f24d333ff62d693300000000bc0620386b74033f62b22d342479d235c74e8339bb84a43e21eb093600000000eec4683a6b8f1d3e21cc293700000000652785379465323d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000239813324204d6324577a435abd798351009a5355741ea3578ad3b3437ecff3369652534081b5a3400000000000000000000000000000000a52d4435329c5135576e38353e707435ae8015348cec1934fc931e34cc548634c086f233702a1634e78b05342402683400000000000000000000000000000000000000000000803f0000000000000000d2c916375f73713f8bfa2d3abf3c993701540738f90a523f78757c3aa7ca0a3ae035e838f5f22b3f8e87903a9f45163a1ed6643a4b2dff3ee908383b9443933a4eb8733960c99f3e70ced63c152d1a3a3b42023ad2c10a3ed8e34f3d8af4db3900afe23891774f3dce30fe3ac010153800000000000000000000000000000000dc4fad34f7708d342a26de3488700a358d2ee532000000000d456c33f7ebee3335d9773572522b35fe6094355e98e8351c888d35dfc46835716cb635ef491236ebca88335add1d33000000000a926f33f420ef35dd0bf735f83d1336745f2836ed13c43589b4c8353ca8fa3525d916360019a73487709934ae93a33432b7b434ce53e8342abcc734c3d834352992063528fc2c36e978793f14b3fe3c3916cc37753a8737999e683f8a47e33cfb5d2d38c5da05383e0b4d3f39547d3b7e057139675819385468253fd585033cc6332c3ab63c57378842f33ed7deb53c3d5e4a3a12c4bf375c9c983e393f4e3d6729bf391a114b385799fa3df7849f3dd6179f3941ff0d38622f143dc549fd3c2b872b387f193035ddda82376bd3cd3718a68437779a77332ea68733e396a333669cb1331e157535d2b660353fe66935c30f7d35778ace34eef75734d6cb00351ad6453500000000000000002e8b3e34bd1a2235322f8b34566a423410baea337161043425eddf34b51db1342209fc34ba6a3d356c9a48352642543539918d3599be933581c7d834dbf3a134e79d7f34bece573434fb05355c26f2340ca5f234b841e434e124d5333bb3683fc031c43deca1c639067b9c3526355a3f915fb93d6e4781391651d035984d3a3ff09e9a3d3c2c7239783ba335b9a90e3f842ac03d19eb603a2cd320381a83cb3e39d1e43d5773883ad45e1837345f743ed102f13df2de143a48e2b037605fbd3d5097df3d82886339ccdb7d3772028c395dc06b3df4c1d83756bcc53410c5cf346e0d2936871bef3435ca9f334e4606339a194034186c7134c5505633924374335f07ca3353081334d13511354273e73426e51e354a527e35c82a3d334c9b3d338bfa343349be6d3400000000000000000000000020511d318503b034f8f09a3441528234c970f7342e7522342fa426341137a534185808353ed57735706c7935d022823550a57c3599f8af33f0fea533f224b7334b1ba53319674a342003383fcdc0923ea20b813625851a366ddb273f744b973e4d81f53735d6203778e9093f63f4863e6107a1389df5c134f602d33e2f7c7b3e72a9fa39bc52e539230e943e41455f3e283c5b3a6191aa3738c4343ede27383e8200163aff723937b98ca13dda2ffe3dcaecea3945d67c37630d8d3aa16f543dcf4cf737240abb339452b3339013fe368b152434b95db2349d5d96348ca70735b155543524d4f133cc44d83311d30e34004a35342d396d35854c3e355c508835f7b2ce355aebef355d01cc35abab043638ef373661f97534b84a503408a1c433bb321c34bb65d935ea68e235502c093654c420369777cf35c8edcc35ee8cf535e8ce1336051d6834a4fe4934193f4a34a36c5034ee905e35bccc7d35314da43506cc893501950f364cf3ff3ec824013f08510336e3555634b462e33e3828033f4f0c3434860215379096b53e676fea3e3a6e80373cc55437570c853e5affcd3e5a6e103996dce4364ece443ede34a13eb4d9b3397c4d48377516f63d4de06f3ed4da2439810a8f37abbd9c3d15da003eef3be03941c53f373b62a63be996453dd0482b37736d9b35ad9013368003ad36eb798535727f48333efa5f33632485332a499633ed8d29355ca12235cbfc22355afc3c35345a1e342a820734c542d7331567f03300000000000000000000000024c1a93439100234f0a7973383fd8732038af23241579533f73a703398552933a5ca2a33b487773504f07035c8ab8c35eca092352495a334cb55803480875334949b41347f57963435791a349af2da33857bc033bff60035183e933e6b06383f05d7a63337f63937f848723e7d34383f7498b9363c80a13616fe263ecdea253f9231e73540d9a5387311ed3da3410b3fe2a84c39a9eaa539333db63d91d5d83e995c6f3a0798d233cc328f3ddeb2943e1b37ad394d87e1375050993da5e80b3e6ad03a395e51fa37a329ad3c05b81d3dcda2d1378253503413ffcc36114eae367499a63423b22a3487980d34bb80583442c0ac34e1af8333b8c27533e8a0f0339be42f341948cc34b939a83465c9893486a04035f4833735cb780535c8b034354e498f354114c63336f8c8332dba1d33d75221346c89e134d796d43401bc9d34e9621135f8b5ac35d1a692350b09ba351a00d0357ad5a7357837b035d3a0bd35b2e2b73522a3d133782ccb338f4de833640bcb3397f88536868db43d4ea56a3f2fabfb34d1ce9237f8c2373de10d683f5e43c136d5e88337f169013bd9244f3f23ec59371e74c83507547e3b77ee273f75bfeb388265083a7e0e523bf94d013fc858073a63385c37a5ef123d0a5fa83e317acf39658987373ec48a3db141123eb8e10f38dc90c037b301f03c33f1163d0adec437a808d63340142237fe11143749105434c836cd3433b3b234063cec343fc12235e9cb943492203f347fdc593431808e34f23356350cc8233555ba2635db1c9935fbc906361913f3354df805363c4f2f3693c20a341e05c433000000006a852b335ebc6a35085c8e35a7f4ab35a5d4db354ecc00367c200136a9b80f36b21f233630c2a634b53aa6349f183134bfb72b348b66da34c223ac348f0ae1340164d9347f35fc37cc40993c69c17c3fcca08837621aea3745ff973a324b703f2315053880ead537fcf4b339c7ec4f3fcc572b3821463837d2dc4c3a527d2a3f76c05d392b1a8037e949953ae27a043ff310d63960e04d389c18483ce619b33e9691853975402b3831e3323da0f8273ead240a3a34a314388217ae390561903dbae621387ae40b357f8867370ae09837b3190f3500000000000000000000000000000000399a1834a846ad333b42a033e7bdb83327511634a9b7fc33d7bdcb3362aadf3332525635fd1d2035ac6a01350d3e4335000000006cbf1c3250a9693223b1ef31537bca338d41ac339bf1b53301e0ab33dc071036f3af103686460b36857c0436df8e4633a08d55339fc86e3320703b330000000000000000000000000000000000000000000000000000803f000000007f20f636319901387fd3743faa9df2373e180c35606e8438a660533f626252391505d5350075313ac1682d3f14cf3e3a2329ba3901109b3a89f8023f01339e3a88cf0038074bb93af794ae3ea472403ae70cd939907ef53c52ff1d3efdd0fc3b1e7d9f374f0aa339ed37863d1ced44390000000000000000000000000000000000000000000000000000000000000000b3e0b332e09281325e66683201d3f532948ec530249ca6303132b4300c9ec03003138f2f3166712f6584822f57588b2fb2b71234e01338343a45313428e467342abfb33073a297304fc4a330ac7fae30e7c803340298213463870634448450349d4c0834a5241f34915a1f34b20b503400000000000000000000000000000000000000000000803f0000000000000000d7b22d39c779643f93bc303ca310a73caf9e19398874423fa488b93bda62c33c60215f398e3f0f3ff2ec923b312db23d8c0551394646c03e8f1a093df090d73d71e853391da5533e09dd703da87cd33d37ea3439734b983df46fa73d3a5c983dcb899939f7f5b03ce7d00d3d4a2b013d00000000000000000000000000000000cb38ac336b8889333a019c33a63ab13300000000000000000000000000000000ddfb2433a94027339b455c33c2cb6333db36293429910b3424c31b34f19f27343048393305e01e33ffa0743355d79833dffffa33d90b00346c6d0a3491040e34fa763834a2942134020a2a3488682b3485e8543466c55434eb0c6734afda5d3453f80534a5340e34d2cd1834897d1a347bba6739eef2763f21e2ec3c291f2f3ceccc5739b54d5c3fb3b3bc3c0de2153d8ba536397b393d3f13748b3c8175ec3c5f388d39ce88053f3b49b63c566ad73d542e49397dcbae3ebe152c3d17dfff3ddc28813936c2393e17ce8e3d254ff63dd97d4f3940e3923d3559b73d60bf843d8cdbe239dd26853bf1e5343dbb4c143ddf2a6037165e82376ab38f379bab9737000000000000000000000000000000007cdcb63338f4a233fb149b330348ad33d0524e308c8f33324ea13e3012fb3f30044883321e1e693207b0713292c17332f3b1ae338bc07433acea58336d1ed533015549310a2b363175da3931f53d4031f8407f349918563464fa6a342be49034be09c1330cb3e533fe52ff337f86ce3354fe0a34dd942034c0ba143475aef7338d8347390236683f9d6baf3d6ea4283cee825039e0784c3fc5d3a43d5cca1f3d57cc263987d31d3f70c80f3e07abef3cb4777d390b7ed43e112cfe3d5576db3ddec63139596b8c3ecb8df13da412ed3dfea0853956b3183e3297ab3d9109063e90024939dea7703d851c983d2038bd3de9f5b6390284333addac3e3dbcf4013d1f430d374fef3837c9afef37a8941c38000000000000000000000000000000005bea4333dc765a3369a23433f6064c335d10e430da5fc0306e1fd0306652de3000000000000000000000000000000000d1eafe33bdc0f933e8541e34191f4b345a1e47315eee27318d6535318b2c4131cd95252f75950b2fd3ab162fb134202f4274ce34c771c534cc23e1342bb4ec340000000000000000000000000000000080058639d86c343fb09d983e1258ec39db7e6d39c94e183f02e1983e0dd3da3c68dc3a396d84e83e46a59b3e78a0e03c0039793925b9983efbd1823e286cbb3df5364739c3843e3e82814d3e6ecaf43d570b7e39b6ecbd3daaca0f3e3ae0063e012461393d86363d35a2b53db75bbb3d0e2a95390e4a203a42174b3d3476fb3c183da337bfa2fa37fe382538409e2f38a9c01a34caecf833cbd8083468431c34a7c417343c78ee3372f60034f6d01d3418bee933f14ce633130dfe3334d0fe33180e2a3407390c34cdc41a3471ae28347d53ff339d4beb335baf06341db81234ca57393477733c34364b4934d1e34934331501345f24d83340c3d5330c35da3320b740349080413410325034acc24934bab64d34f7ce5334ca166134539d5e343cfc5f393b39fb3e4f3c033f331d8239689e5e39a462c53eb454043f4b019b3c303f2639336f933eec1bf23e216cdc3ce722793937c0303e0328c53e7224b33d6eb42f3998c4de3da3ac903ea54beb3dcfa08039b92f253de6df483ef2e5043e411e3039143f443d0e4dc03d72f9a63da177ad398362993aba04543d973e013de2545037d15e7e375775ef370c01e83700000000000000000000000000000000b7fac733a0c09a33d63d8e3381ccd5332e218a2f2926762ff34a7f2f58a9802f8f75a831f0209631cda99b3100c09c315681a8330bcd40337ecb17336ff8a83328d82a2fe800092fcd871d2f4c10002fb476d1332bf72f33ec689133b2e9fc3399157f332c06a933e94ab833560e9033083c13327ac3d13281b95f3200000000e9ba703997d08c3ed35e3a3fd30c8339ae666a39b0c2363e42c83c3fbef1123c168244390372f93df33c233f012fd03cc71e7d392844463de79b013fc0e6ba3d77734639b4339b3cf6c5bb3e6ea7f73d195d83395795a53c83c2693ec3dfee3d34e86639f7403c3dc2f5cf3d273b9e3dc314b0394d76653a88ec593d0fe3003da2e75338529cb138b349c6388121c5380505bf33f4e7cc33bf6596338f21fb33e4d78a3367ce913320e78333a6589d33a842c832cae8d032668580331f77b633dce91b314731133140f81b318d031c3194dc3334e780313402b54f3412f97f34eed0193247330132a7050c32410015326f27f72f4047d02fa5d0e02ffff6ee2fa18d863476ad7334ef7a9a341a72a734000000000000000000000000000000007b258a39db198b3d6e5f6f3f1c338c39dcb37639f0b80e3a499c6c3f590cc83aae98213930dd3939217d473f63b0a83bdb48753975bdbb392d75143fe151883d51a82b395bbe2c3a481fd03ea66ac73d6c93813962173e3a330a833eecc1dc3d29a036396150163d00dbe83d7cb4963df57aef39c05a703ccc433b3d68e8e03c7ab329388abf7a38d38b94383e178838690ef533ceb3cd339809e233906af633b6172b34c639103425471934e0df3a346562283405ce263423d030343c8c3534af5006343dc0e5332b2ff83373ea0334fca85733577f5c33b0259f335de7b83324042b34a6cf2e347fef3b34a7b43d34e6468e33b57d7c33c1447733bcfe67330000000000000000e6d9db329f9fce32a595e53356a8fe33d01d093420c80734b8786b39999ace3a3041803f1437503a7bd74e398544c339f7026a3f0cdbd53bb7533439f9bf4839edc2443f36b2803c4cba753935d4a339a4f7183f54782a3d6c3637396fa17d39f6cbd63ee035ad3d6e027e399ff0353adc7b853eb856cf3d0d073c39949ef13cf6e6e83d91a1a83d125b83399e28f4394316473dd76e143d7f922138bdef51387b8c833889de8a380000000000000000000000000000000022d12a33446f0e3318de023328ad113376ecd6338e3cae3317129533f415aa33e9721731c7de0631d8d20b31f5da0c31ad7a1b3455bd1634727fdf33f5a9093435a5ff2f39a6e32f60baeb2fe8d6ec2fc743463385300034c3032334a962493361836e33ee319c3354628333fcacd1330000000000000000000000000000000000000000000000000000803f0000000047995b39499387396568683f0ed62e3cfadd1b39bb942b39d598453f7406f73b97af493959438139f4bb1a3ffa5a193d35de2a39862287397c2bdb3e61618f3d80f56739bb70873980a0893e0213b93dc53928394be7d23c5475e93dbe67a73d4ec4bd397db9083a0754303d7cd0223d0000000000000000000000000000000000000000000000000000000000000000a6e21e3721c30937835a293717293c37d7e21f37d3bf2a365fba7037c06c013805fc2837f0901a37e5b67e377d41d93741f22637236d7c366261813771f7cd37a641b7373227593782e6d437abd1fa37adb2bc3750157e37d51eda37b7d904381c0e793772980037149882378916be3700000000000000000000000000000000000000000000803f000000000000000045476037faef7f3f7b0dda370c689b379a5024386c4a553f01c75138c63223382decff37c57a2a3f07571b381a91fb37c047f337ac04ff3ea32e0c3807d3ea379b1b3038e6baa73eaf996e38858d1638d47a1038061c263ec11d30381e7c0338a64ad637bbdd65384d11ee37e2bea83700000000000000000000000000000000ce1b3c36d67d2f36742e453628b27736c1e8ea350168cb3532d417364be5493748db1d3658641136223c4c36098c3d3753d14a37dd172f3728d85d37520ad337d70209369cb30136ffe9f03658fed6374e016637abb81137afd671371a209037734c53374b3eaf36d59e793798e0d337e063b1375b894e37970ca8377266d0374ee19637673051378bfa7e374d289e37e96c3b36cff37f3f40e3c338ed8804372de875364028793f80fb5b3c571fd837265e013730bd4f3ffc6b783cffd87b374410b137cdcc273f0b1d053c555c16381b89cd370f47fb3efdbce63b087f003838e886378544a83e39b22038474f9a3774d4bb37bf082d3e59703a38abc2e2372e5daf3776dca83b8d031438ae90c537a960f636520fd9378199db37f6e6a23733659c376c2d3c37c2efb337d308ee376f49833594e72b354d5c8735a24cbe36cab4843640bf4536846a8636a6b69b372f68133786a9e735d7910837cdc4de37dc4f1a36c52a043654ba1136b69f52374095543798b28d36d31f3937de5c2a38e738a837300fe8360daa97379bb9f1373f03df378fa08937f2fbbc37d9c4f7376e9f983793b30837a8b74737a02c983788797b37f2cb543f6a862c3e2014d9374ec671354a00513f871d313edf380d377d901b375b032d3f9726263eee8fce3744efa237bcb80f3fb90cfa3d07580738203704374c3ad23ebfe9b63d8b2180374be2e337b5008e3e89d1203dbf6e33385eaea8377e6f1d3ee149ab3b43d6e8377df0ab370b6c4b3833b03838aa1ddf3740f84a36a519df379fe2e237eb7c5737ad5e2036bafe4b3313cc593685ae5d37f01aa636e56e86366663a8367b15b737ba942737dd2592362eb1d336ee79bf37b08a7936e35f3a360c39603666238b36b82b9d364a8289367f768c36495e8137501485379bf613374c0532373e9cc837fc3f6e37510aea3699c609378fd31538fb04b8371e7376375cd09b371496f637e7a0de372199d0375e88d437f4f5d93719d94d33714a2a3ffe4aab3eb6f73936c392e836afa1273f75f6ac3e2e3bac37c6a4663765be0e3f4388953e6001c73749d07a36ceb8e43eb3326e3e25a6e53693b72c37e2c1a83ecf2f2f3eaa5b8f37391b9d37650c5e3e52c8d53d8cffd8372a0a4b37fbdadd3d58632a3d0b4ee93733e97a37890a4d39b000b53843f69c377462b23732ace9373c650a389003c937c4a3cb364d6df5359ca4d436b9265637b93feb360d67c4366be0cc364c3a8637b643e2366ffa8c368c83b23680014637d5097337e37df536ca9809370a7fce374fbbad3795f10c3787c84137b8ddfb37e613ca3733053c376fa38c37ede3fc37cc60bd378fe807377cf443371bb1f237181eed3776aab137c061ce37fe5f033807a88537428a5c37ba976437f7208737ee10f7350ed5fe3e3085003f8ba99f36c2b1d5360f00013f70c2fd3ee8cd513746a1e3360e10d33e34a4db3ea49f4f37c3aa9c37325ea93e186ab13e0fe3d837308bd937b6917a3e6ca8823e1dd8073805e4d737c15b1d3ed6e52c3e97fffb3730cf8837a74c943d0a85b03d1847c53709d0b8376a13a0384e149d39e154d137e592183768169437b9eea437370d3f37470fae371bec883780b09237fad2ca3733ffbd36534d9936627698365a0b223751efeb362266c83639e7c736eedff63626c51d375d790d37fec20c37797b8a3763b8143711ef8936a06b883628aa70370ab195360d798136e5717836b7b85d37eb9ef837c3a9b637f945b737ebd008384ccb0b383ce1d0373b3cdd37be51143803e8a4372ef0403715223f37add4ba37f0d09a37c50fa93e3c662b3f51308a37adaac636b17aa73e03282c3fd4ebc636bf17ed365ee48d3e5ca6123f6a84ef3618a36d37842e5d3eefdcec3ea9b5a3379c2e443762791f3ef4d6af3e3a6b8b37415bae3692f9b43d27c86d3e185a7d37833de6372971d53c0632fe3d318ff7370715e837cf1b43383654ea3b34cdfe3760faae36b1dab1379d25fc378c8d0837d3d7ab36ea9a6434222e65347fdd19370e6bdd364ef2273674a006368fa630376edd1637dbbe4e35e9d435352c7c3e376c025a37b826953691587936f61b8637f9600837457610361ce005367d77163768c5e237c006823792972e3713eee6372fa2e43733378337875350373f6af23762c6af37f0b725374ac12a3753cabd370ca20038c210f8378f13f4377988013838fae0364136273e7123563f4cbe653416916337b3c2283e0fc0553f7c822037ae338637d6b8193ee1cf303fdaab963707b6d13718f8d93d8aa7133ff896093881b546376b009a3d3e7cd93edead7037829100381c70bd3cfc16963e1afa0c38d4c7dd37f3fd4f39ff5c253e61a5f937252b7e3764802839cf50293c3cdb9337bbb3e4379fe301388be61a384b75de37f9444e37f426dc369d3ba336174e5e3763e3073723daf636b0e3cd36e5440537b64bff369db28336c027ba354706ca367abd68377c7a2a373f91a136758c683702c68c3781250d36cf3a0836da8a7e375306cd3793d2833799244f37c99c9b378b67823773d1423724e5f8361c3f7c37eae004383bbf8637b37f7837b1a01238eed1da369d469036c29e6736fa4c9a368ce2a337219e63385cf37f3f2bff18372f0778378705713b8bb47d3fab964a3795699a37466cb93aab56543f9a44c137fa308a37d2d0f93789d22b3f28268f37ead1ce37d2628d39be75003f2a4b10387181f8374fb17938e227ac3e8f913f38be0c7b37b293d337ca65313e5ab387376ff3d1375a964c381977563cd78f173822a661362d1192362699e8370a7c4a360000000000000000000000000000000061ddd736f9b6c436958aa5364047d636e9639b37968216377c2e073700a081373c26c537c0e288373a3eee36b0a4b93707859f37f38626377efc7836d0e49137de88cd3740f38037cb5126376e92ba37bc211c381182dd3782018e37abb20e380451ad3738af8737f9b661371800b8370000000000000000000000000000000000000000000000000000803f0000000017960937f986c637eded7f3f5a1deb379c46db370eb808383a69563f140a4b3844f7e637759e3a38750a2c3f9f7689381bf0c6379653f737e169003f77cc0e38d65fe2370d080538d5e2aa3ea90f1a38aa001c3869b93d385a882a3eb06658389d97a4370951bb37df493438307ddf3700000000000000000000000000000000000000000000000000000000000000007b1dcf358d1ac9356e827536a6149137d8318c3619138b361e798d365c9873372ae5d836d5b8b236fb21ec37d76839381f7e863638c16d365b6a9637d043ee373da4643788083e37e1acd63759482f3861f22f37700eed366666b037b6a606383e750a377a54b036f8f8aa37607bfe3700000000000000000000000000000000000000000000803f0000000000000000906a2138bf0e703f53523f3820e12138b695013a84a8493fef76743a71701a3a684d3f397a71243fd44e1a3aef259539e9d43338b8dffe3eda025138605e3938430b8138389cb33e6b9f09395fe88338e5266839e66c523e65030b3a6f61913941542c3872e4653d4e694838788d2b3800000000000000000000000000000000d478d4361498d436dc672637990b9e3738d81d36e1521b36bd223636c5746b36505e0f37bf33083759132f375f758b37b26bf336daf0f236993efb36129f2c37455b8c36d21c8b36ace28b36dc98cd370d7c1737d01414379eeb1c3706892d37194e7437bdb96237ed6ba0377d36fd3746908837aae730379464cb37dec80b382088d0370a1fa937c7bce037a3570438689105381e4c6e3f53fa8c3da3070638f312a8374e765c3f39999b3d2bb8e0372ee91a3869073a3f90a4913d4d1733387cf40138e185183fca18733d99aa36388aaa303ab005eb3ee5b1373d2372833a650105382173a83ebb37a83c09a64738f4062c38aeb84a3e41ec083a29953a38b0a42638453a6d3de9fd1e3a733d4439413c04387e8c2539bd053739618dbc3848256a37bf246a370d8a9c377357c337fab2053516dbfc34580b113560641435dd773436fb3434361315bd36d6c61037f1bcc436bd6c95369d5121374916623792463b36322d3b36de9eb936538ed93765185437642b4037b8fb8437b5d7ed37e8d13b3712b82b379da9483755b95e3766633f37d04ce136632b75376ce1b237233e3638eb7fc237bbfef53785bf8638fea408393824493fbbbd573e407aba39d4f68037e5f43b3f8022543ec89ef13790b0be3747001d3f60aa3d3eeb7e0f38ee450738c74d013fd7e8183e6a188038562f74399ce6c63ed4d1e93d57fd3b3aa9f04c38fffe8b3ebee5913d1f6d8c398cb6b637ce8d2b3e98b91d3d89262b38f1cfd137cdb1483d4bb93838c5580438491d0e3897279e399e7deb39c19b8739c67993362494de36bc617837bf98a637bc58c534b081c534e029c93489d225378b6970358c2f6f35cad94236714fd636f7c529365a6b1936c1653e36781005376dad4f361d7b4e36c5db813601b19b37898fd636205e283671aa42375633c037eb306d37b6883137a69084374429bb377ce48e3784a02d3700b57b3757f9e037a1b923381f3dd537f47706381fae30382372cd377571243fe281b63e874fe63798e79637df231a3ff21bb13e2635e137ca8c67377d2c023fcbdd963ee18c0738c8ebf237f071d33e4d50773ed23f4a38cb01ff37ca83a13ee13b3e3e9b1729382f3c0438a982613e3444023e0e3d2538cd5fe33781d5023e4aa5953db0cd2a38e07af637f38a193d74b0623c14eb22386cd90d38231b0a396a6d9a39fe6ea73819db1337707c1037b83c3b378cc4ca376325e336f2ddbe36c53c1937280f5e37448d87375df87e376a318f374f4ab03791de2d37413d22377d7f413700378a377484f637549dac379af50d3840a36138c64b8437a82867378784853792c1a237df90cd371015be372a65cc378277fb37d309ee377fccc03703c1d937711a04382caa3538bd6a0638affc143814eb3a3870aaf237d017ff3e8f5a003f86f63d38cb76b637a4d8ee3eff35f53ecbc00b387ccde437f61fc83e7311d03e1a7316387f60a7370227a33ed62aab3e061a5138d5ca013ab985783e0de6823e197d853ac7cf0138fd8f273e77b03b3e609c57389bbf0838d7e1bf3de00edf3d504229388b9d05382e199d3c1eec0f3d15d9983827e61638307259381d478d380db0483891ee803798bb743716b8b1374ba4e0372350a235efcea13542eba2353a23ab35e383873528145b358d7785358d472c3743b72236165c1c36e3de2136be7a7937c9dc5236bf6f53361a0453366aef94370c9b983673437436c2fe873659509537a37d293705ca1437fdab1a37e1e47037f63ae6378ffcc6375e3ec9373d8aec37552d0b396076c5375a73c237aecf823875dcfd37877eb43e558a253fd24e613805a24037b262aa3e189c1d3fa9c51438517cab3788c98d3e59a5053fabcb2f386202eb376db5633ee924dc3e1fcf2e383b69f93763f22b3edc48a93e4c47343856e40e3826b6dd3d75b3723efb806d38233ab4371023593d6a2f133ed45138381d8feb378a0bb039bb1a523d9061ce38ca1cd2371348e538b559ec39948c3e392a524137156a1237e8f6823745a4be37c517d435f918ba35add7cf359a2022361b8fc636212ea2366b19ad3626fa1d3755fd433778042c3726773037f0189c371b5baa3640b03b3614c23936be9bb3378e46713704e55a3736bb5537349689372621423742de3237f3f42c37ed8b9c375849a13740ff4037a7b8343754dcb8371616f739ca8dab390fea2b3997ceb739f5211038cb5b533e37ba4a3f7446c239dacd6537cbd04a3ef8b0403ffc200f38704a4f3702362c3e4028203f9d6b7338642c2138564e013ead9d053f2ae7db3bc6ee14394effc13d7304cd3eb099883a0fd71438807b453d6d6f923ecef0373c2f6ae9379349a23cac73393e4174b33954b0dc3760b41438a2496f3dcadb19381f1c47390a709f39850d433acc07083a146311371fd4cd3675cd2a376a91bc376d51153686021736ad2114360b111c360f6c1e375437093796990237f6ca5737dad51737a00415372d961237c6e11c3720ba8c3643d78c3616068c360af26e3741cb2737c50c05375fd0fe36ce2e4d37abdfc437a36a9e37f9198a37de72dd3752e78437d715543730402c3750568037dd7ac337d97ba3376ecf9837b371c63773521138ceda7f3dffae6f3f4043203af990d2375c66813d2f91603fe508473aa4b5f137a211643d45b23e3fe8754e3a703b9a3719821c3d338e1c3fe725203a9028d639ebafbe3c4f37f03e8e54ca3a342bdc3731fd3c38f25aac3e23cd033cae801a386b2b3a3838e24e3ee4ad4d38bb00ba37d2d9ec3791f87f3d96a36939bf69d237c2fadf37764e1b3802700a3800000000000000000000000000000000bfe61f36139a1f3615dd1e36729d2336ffaa31363728d735ec99d335c6e6143702f1493725f20137275fc436bf09a9378dfb7c3743aa1e3761720f37c6e6b437bd011138fe35d9378a7fbd375aa82638bab7a137142bc0368b309b36e126b637b099e1375840b73783b59d379739db370000000000000000000000000000000000000000000000000000803f00000000ddd38837f7762038b664713fbc78223aca1b0138d6500b39bbca4a3f2a67893abd2839385061793864ed253fbcb70e3a1a191438ac9b32380849003f7fed433ae9667638eb60bb3879fab53ea016463a87e715393c5ba8392fc1553e5a247d3a81520a38366014381f677d3da0743a380000000000000000000000000000000000000000000000000000000000000000e338fc363b0c1d3718445637aaf28e37cb39e7373447f5377316be38d657593916ea0f3804a43638bb9754390bb59f39d164d7376b6fde376a9f183918e87439ffa54e392670653917e2ad393e0edf3996323b38eee669388c626239ae4abc3997bb9338de7f9838e5b23039f2a5513900000000000000000000000000000000000000000000803f0000000000000000ad334c3a7dde613fd094a83ac7bd893a71ca003ac651413f72fc4f3a32791e3ac5352b3a6621203f1ef89c3ae45c8a3ad4fe1a3a0daefe3ead6c7f3a8fc5693a05d25b3af5e7bb3e6a67863a15e67d3a83a02c3ac28a6b3e96aa553ad3d2493acfbeb839b182e53d408e033ab6dff93900000000000000000000000000000000f819b537f108b8383dbc3b39629d8139986dee36a60725371e906537fce6a43805c79c377c70a73788ecc2373d299a38eade02388c660d38bfd32b380618a53839370b38a7d10d3847f13439863d9539d91418386e8076386e35c1399a081d3a7eab6c39a8697a3996e8be3960f6eb39e1041d395e1218399d5e83392871a139aad04239fd5a4739b6eb793941358d3964b5233a42dd603ffc5cef3d8441273ad36b013a9cd4473fab30e63d6d26243a7c2b023a8ff42b3f9d1ed03db7af803a5cd47c3a15150d3f3a01a03d4fc1db3a5c292e3ae079e13e6a0d843d3b6f973a98e88d3a7be2a43e93b42c3df323aa3a93f9233a8b57583e5121d33c2f573a3a88b50c3a2f12cf3da6b8983a8ab4853aef389f398e76c339a560ca39330fcc390c67c83881e828390d287c3911c1973977fe59373ee68d37725fc13775d4ea37b3ccf1371f91033870401b3822e6fb38faf5d337c726da3738676138e6dc5439bfe546387ae0ab388d254e3966569d3909fd1938b9ea1f38c793fa3840947d3939d318398927213996f285393f10fe3992c39439253a95393418c5398caf013aba624639930a4a399ab98439a7229c39311df9391255403fa3e2793eaacd103a20dba0395e8f2c3f35166a3e6088f139a4dd713a7952113f3832413e7cd4d73a83b81d3a5bcbf13e4a45213e467f6e3a32ad263af9aabf3edc92fe3decbe5e3ae8c8ef39fdeb8d3eacb0bb3d438f1b3aa5347a3a14cf373ed41e6f3db91ba83afb8f2f3a3051a83d0f21b83c7a03873a1747b139900ef039c5e1fd39b362ee39310bfe3747ed0738479c4c395880953937e1ae378ce7c53758445b38bb5b4139e528143890491b38229a333836585839df610338e2b10b38ea3c0439f0f88e3902b1d237d7cfdc373d9aec381b8a6c391c5d34383c783538f142b938d7625f39ec5ee1372d80e63773bdba38968d3a39e494a6392dcaa03987e3c639893ce4396dda8c39cb948839059c9f39db59a5397943043a36dd1f3f191bbe3e3b6d133ae8394d3a63e40d3f105caa3efc7bd53a9d333d3ac4bef23e4b4e923eb3b08b3a72b6423ac44fc93e7ba5733ecd69973a4c1a263abcf89e3e7239403e5dda8b3a5379de39c8da6a3e02e00d3ee3313d3a6c90ac39578a173e9f6eb53dde86ec39d06d063ad9498a3dfb70203da5fb433a6bf1a4398b2dc339b798d73923dacd394ebe423949926c39e68ec5396757063abe3a2638ac3dca3800ea843983d7c439b7fcad3719b5ba376a6ba93810196039eb56c0372fb5c33737e3cd378924d83857f49339e5f097391cb7cc398494003a9d71cf374c33d03729e73338cf7b2c396ff86b39605e6539314999391201c539ab7c043a942a003a2ec3103ab93a263aae07c6393388bd39c80ddd39e7bd053ab895583a99ecf83e018b013f91c0803a70db483afee8e23e9422e43e9eb2ad3ae3d0893af680c13ea720c33ee281ae3a9cb1e6390100a03ef017a23eeb1cb43a1961a73aae5d733eb5c5763ec49b983cd896ef397ec2393eaf0b3e3ee838a03ae521013a3d5eed3da1b9f53d69eb423af2e75d3a9bd84e3d2a075c3d94c5963a3070183a23e03b3af3ef653aacbf593a373a2a39f4384c39b7499839e203ac39ec378937c5f49937d8360439254283393c39a03737f6a73774ceda379608033879d71638f7481a386ec82f381e1e223918efe037d43be837ff7ad438e8566b39293b0d3943cb0e39deb06a397739b53972aa9c39f3269239935eb439cf55053a370ebf3926cfb5393909cc390d1fe8395f765c396663593969b985395816a039cd60dc396d8dbd3ee916203fab1dfb394750ff3974dca83e6b190f3ff82c843a57d495398ff2903e37cef43eb809453a09a6d53976686e3ec3cfca3e7904883a73bc013abaee3b3ea3d8a03e3cea983a64be453ac571073eb52b6d3e06ab943aebf9493af9d8ab3d37841a3e7ed3893a1319613aa04f123d40d9903d00aebc3ae07cb139a6c1d63981f2053a017ef3396bdc7c386235aa38b9223739da526c396c7de2373e6ef13762176c38bcb94d3912938137b8598a37f120b63778c82c3943261138b3941338bd612738d8862539d8bdea389c60f43817533e39b03e9b390ac81338d12b0b38f880df38afd272393b544139d51e35397a6d5a398fb79f3951739a39b8608b393c579b392efcb2394718a039d3469c3938dea6393f44ad3936e7e339a0ff783e72a9403fc51b2d3a450b153af98d603e57a42b3f69c5cd3af8aa5a3a39c73d3ec115123ffb5fed3a2377dd39c1951c3e7377f33e12062f3a4bdf1c3a7d8cf53d0e16c13ea021743a821d0b3a8060b03d869c8f3e06a2763abee37b3afcd15c3d8bef3b3e300ad63a010ed5392b00e9398594c03d386ff1390482b13970f3bb39cb600a3aa093f03998aa58389402643897792a39dbee7439b645c3374c2acd3708aff637443e14388cf8eb3769c9ef374c921938b98f5e393aa30938d5c70b38094516385079b539b5250839e7180839f82e42396b1d9e396ff8353858393438a4bc3e38adf71b39caf68e39d0158439d124943954d5c739c794c8395798c439622ed239f9f2ec39abc1813993fb7d3998d9843968959e39c8eec7397467ee3d823e613ff58d0b3a8c7aaa3996dbe13d8e62483f1f6ffb3a72810a3a1755b83d312f2b3fee8e5a3a1171753a290c983d5c210e3f22c0c43a2020053ae2d5353ddb2be43edd41c53a8f075d3a2ae71c3dfa41a73ec06ef63a0d5b2b3a7f485b3a7f98623eb544893a7aeb083ad8b1103af7cdd13d0c2a1e3ad499c339b3b7cc3938b2153aa9e70d3a0000000000000000000000000000000027f7c637b27bc8376e7dd7375dbaec374a1fe3373ffae4372650f237ab5d2f382af20a3986860e39708d4739a261a7396749eb37499e013872498b38ffb435398c5b14398750143961fc3339644e8e39bf4b5d39c64a5739093d723907e99f395b99833738128037905c853766c88d380000000000000000000000000000000000000000000000000000803f00000000f31d8239256dfc39f470623f762a4e3a79eeed3961172f3a99cf433ff5ea803a9daa2e3a3a67603ab928203f21da953a50f5cf394786263a3faafe3eb40c823abf09ef39cf151e3ac07bbc3efbe0923a8a17e8396421fb39f6e5753e37ab203a879dce396191e83910cae63dada9553a0000000000000000000000000000000000000000000000000000000000000000b2dd1a355a8c2035a35b2535b680d9351164c9339aa8cc3347052834ca1eed355699e6343ad0ea34cf88f7349831f6348a426335558f0d35fc1db63547362d373478763478c97434df878734fe7a5b37feae3936fd19bb3515048b3607641037b300c23788c4ad379c38cf37543bdb3700000000000000000000000000000000000000000000803f000000000000000052757836a39e7d3f8b0e2438e08bab3786ceeb3689485e3ffcd5e637bf599037df7ccc36e0322f3f8d44e6375a772a37d4070e38ea12fe3ebccc74382c590638e8760d387f5f9f3e4cf240386c47bd37b2dd9f3780c8003e6c07ea377f451f372eae2d38c7e9273a30f77838f676df370000000000000000000000000000000019d672350e7f7735b2a97c368e7da437d5510c368ee50d36194b163698f71936458e58368ea95836fdbc60361b26633662d297358fdb9735f99dad351779b435fc6a92352ced9835429f9c3581d4ba379722243636332336686da63669a6cc37bfb03e370afe953551be85372b69df37ade8de37ec7da7370561d937b02dee375977f836e2cab7368f57c436d5bd1337bee43d3699dc7f3fa5d5bf39569b4138fdfe1136d3677b3f09a3e23957692738b8f1613606505a3f228814398dcabb3773f0af3566482b3fbf60aa38fd68e637a25bea379811fa3ed335c23866753f389d2504383a689c3e174341391e5b3738de180d384f7bfb3df33ef8381141183814ffe337a69a2c3a539fbb38128b173833d9ac3668d91b38417653387525cd37ff7e0436f672133601526c363bba8c36401b7936b33172362d348836900a8f362bb44c34332c2f349eddd035e8deb836379157340790c633996bcd34de7303356177263628702036bdf32b364b11b237ed5e8736dcdd0236cfebae364082d137e5ca28367bd89235cfe51836f1513637ea2a2637aae2273651b70c37e0a03a37c2fe5237355512379b456d37e83480371b0527366957613fea0af53d2a67fc366592833667795e3f0da5043e014dc83653f58436f24b393fb196003ebe1232379c0fe334038b153f96dbd13d96ad0138fe6f8b3757a3d73eaccea23dab632f3884e0a2374d63893e2057463d16093938bba81e37371df33d5472d03cdd33c737a165163643726c3857f3713ae2dba3376c8458354075d0375fb02e3858d2b637e2bfb335137ea4358b7dbe3557cea236fb45193670d20e367a671d36a02a2a368bc15b33846e583316506033c16b60337c06ab3548881035dfbde835ac522937198b28367f5020365c642836d8ef2b3796c2143483f3113419230f3430330a34b3d5d9366828ac36513cd536029cea3639765a37bb1ce63673fa38377a548037eeddd036da69c7364f67d336d374d03673879f357a45303fbb5b9f3e674503375a5b193612f52c3f3c71a53ef55b3f36db5163338f40133f46c3923ec2d0703354ee0f370528e73e5a5e6d3e3f7c0f389d380637a53da63eef37323ec8faeb377ed312348a9d4d3ee0b1eb3d0ddc08347880f2363783a53dbf6c533d3cb93a376592e236afebb53836c9d339a5ff863728c98836401471377087e437d4bad936791e54373e525e3772fbb5375832d237f2a013361cc1153645841636b144193677ef5736a36c5a3614775d361f9a6036705636368f70333644203536b5413a36e8e94e3744f65836d2d8ce365e4fc037b5f55536d90534361e7b3836182429376b19683676646336467e6436f78c6736776bf93783c8ed37ca7a11380cd814380e9f12385aea0738887e0f38b869163814586937d574fe3e81b3003fbb708b37012e153667dbf83e7c7c033f8f9b1a3656e15c36745ad23ee336e83eb26e5f3614d13b36f587a23e8387bb3e9f14213716441438f51b6d3ed769893e47d03438ddb55537e6110b3e0ac3383e3fd9a43706638936696f493d872db13d5be2ba36eaf7eb378c50c33849b1d938c7160738c670cb37fd5e7738ddd689387ab6fd379d407e360aaf8836ac6e6a36d0465936423e8c36e52f8d3639dc8936e1068f368b0d8e358c89a634457ebb346704c53549d8f433aea7f433fcfeea3391fbf7333d40863608c23136e9c92c3646f4bf36a9b2af3706cdef3675d2ec36696fd6375292683342756433c2fb5e33c1cf62334f59923791e1613795098c37e9e0ad377df5c637f048a237de3bce37168eb037ad46a736f7609c3efccf313fcc572936ada79d3637d3953e96f3343f19ae8e3657a2973691c0783e02f11f3fe4b88836686f0234fcec3c3ec2e2ff3e1f9f03349c79b737537c043eb87ebe3e9bd0a437160c203828c0923d9fe17a3eaf87173831621836c5589d3c6fcdf33d3eff603368514437fc91643812d89d3a3246253786585a375dbc5c385f07713811e5ef366a0ef43604419f369c125635a93a5e3560f7ee35ee63eb352f94e435e504e6351268583536404735e7fb1c35a49d5235ef258436ef1b903599ff1335a54f1a363af95e37c521303683c42636dc744837cbb74837b50d66353a2e3135fd152637efbb3337df1c1e37e6b713374d1a2b3794e8e23625c1d536979fe736e800f63664629536f1ac8e36c207b336dbf3e7362076a43748dbe33d4077633fcd9d1335f7e1fc35203ac63d34fb663f7b70e935e3d3dd35f926b23d83cd443f6f935b35f345e33759d5523d77b1213fad2a8337b1db1538ec6f183d6c8fec3e24220138f3180738e234cf39fd26a03ec576d2377447aa37cd5f8f3aef25193e112f3837a43ffa36967b9538587cb43a260cdb36c48990366554fd3756e90738d6b586362d0db936aea6b036414d9e36ffd3a636c3c56235e86b61356f02633540f16035b77488352ac18d354e488535866193356b56283654192736733226361de82536ca2804370585a2350dd29c35e1b5f43578f1a13652f3b135cd08a73598a8b335a04a4a378b0c6a36cea16636e10d3a37bbe7bd372a9f9e37157a9f37ed20f83792a58c37944d833770e29837c782b637f9d70138a8eee73891f87f3f253a9f36b8565037711daa3851c57f3f74df6535a66317370e4754387285603f5b5ff73660a3cb372e73813832b7313f6caae93715b413389997a03849f3023ff8f629389f5ec937f2c66d385a62a93e70410238335ff437386dbf384173163e5ac50038027528388619c1389d738e3ce2d504389c92d0375c4c4e38b2f66038dc4c56370000000000000000000000000000000032dd0d35795a0c352f700b35ee740a358372c4337ddcb933dcf3e432464e0d346a359434c0887034f221733474417a34171b0436059b0f3569a00f359db99b3569c6f834f218f3342bbffb34982e0035bc767237090e18373c6fbb362d157337b25cbe37cebe9737e5b38f37f50ed5370000000000000000000000000000000000000000000000000000803f00000000e49b9835f279d8370fd07f3fcdb59537675b51342d67e036e4c75f3f18ed23375d520237006edd370d46303fb0fd0938266da337ec5943384df1003fe8a7533863840b37fee7c637a88ea13e321cef376308a93773a30c38aaeb063ef23d0838c5e7e13741842f383483133c974623380000000000000000000000000000000000000000000000000000000000000000ec22bb35a4c1ab35df9df33568cb0a36aae6f0342149e2346971143586a64f3602682b36fc102436217a733657e02b382cf721368e901d36c7a42f361b2333362c0b903510f38f35ed7993353d9d2237a5a94637612f34371dfadf37e0072138eeec1c366bec1436544e8537fc6dd03700000000000000000000000000000000000000000000803f0000000000000000d9053236c148753fcab221381c90d6365fa7a1379696513fdd5a0039c6a68038ce7ee138f8c7273fc8b1653a17b50d39fc46a4377137fd3ee4292d39bbef06384d7c3538ca43a93ef4c6433a0d8f4838aec9ac38e9c52f3e5df2493acc4da4385c0172389890073dea37fb38c2613d38000000000000000000000000000000003021523486d954344d7b5534f55654343325a0335a8ac233275dd533ec39d933a0410f344d7d2234bc373c34173c493428f915345f001734ac9517341da81634c5ed1835b1212035c59654354e397735ce1c8134f8428934910c8e34a82409368ad56a356abc263573c2a735f435d03557d8ee365e60d3361c170637b2105d37706726345bb223346a442434d1482534f1d657340cb67f3f6401903ab65872378dde2234bf05703fe4d2c13a827a5f3830a5843617ec4a3f531b7e3a3faab33879ee16347767213fb3d5083c5ac33a38722a65365134f13ea861203cc3e84d38f51289383e04a23e5fabd13a0a03c93813174d383c45293e512bac3ad1599138b5160c381220ba3c0127603a9a771e38eb9821344789d03563e706379352e435a73c0f32af9b0c32e1540b32f7830d32d4d5a434d860b8343900ba34956dbb3469ab603451a581346b42a5346083b434614df734ef81ff34ced3063581a60835c18f9e35660aa33516c8a13587e5a1353b3bc4355ee5c63503bad035ab2be23518c68b35359b8d3520f18e35ddb58e35d48c1636c1421936d607163657231536c898c934959bcd34d06fca343123c434b7de0e32fd5d593f03651a3ee64ae436b4abe5349e884b3fefa71c3ecadbaf374c2cef343f33263f5be01b3e8efd67380c1b053528a8063f380a043e4de5043842d1a935a17cc83e1735d83dd61d2438832fad37e330863ee6f99a3de703473887d6f937ec15173eb72e233da926763859865037c9daac3ae69eb23c307cee3770fac934f1279636279da9375871a6366b9bb934dc3ebf346ee0ba342686b5345de2d2358444d735bf4ee73512f7f4353fcd733534e9793593c37d357196803536bac23569a3ba35ea94cc350136e9351732083637900936d10f1536acb31a36148c67347c247c34e0ef81343ef7b23423a1fe36cc43dc36e9d40b37efdc963762d43735fde33f3563ea4c35b1883d3548760332791e0132fed1fa3149b60f3425b96036b5cb2b3f1162a83e39d2c237c85c0736601a203fbed6aa3e0d0e573732f66836aeb3033f40ff953e7158a6374dfdc037e06bcf3ef9557e3ef89684387df33636c4ae9a3efb54483e27473a370946aa36fa40493e98800e3e2ac936388954363898ddd23da049a43d29748138634a4a35a0987e3a166cce3c79eff3368aa4f731d964063805d74838710bce37e9492d34028d2f34d2053034920b2f341452d93525a9db3584c3f9354f460e367877e93450bcf1346c80ee343568f234d417c1343266ca343d6dce342050d33414622f3654e02e36202834362bae3a3627c8df3443c0e8340030e13433c6f634bc909435e2ff8f3553988d352caaa635072a4437c11835373db44937208c8e3785463e3437263b347f073c3452123d3441e0313457dcfb3e290a023fc1a05b37209fa63675bce63ed739043f2b725a3745ed1835ae52bc3e8186e43e348c1f38f666783763a6923e0aa5be3e6ff59038125edd37a749603e91d28f3ed3e9813869e83c389efa093e0f70533ecf89a33868b41838c75e893d6e44f33d4a466f38af280738738a723aaef0023d109c3b38c6eada3533840d386c684838021faf37d8f6df310ab9dd313dd7dc314e83e0316faf2f35ea8e3c350e563235795b3335a5e385353fee8d35d78c8a35adcbbe35e09a5f3406846e34c0ee7c34a95082344e100c3607f01436a4831336a4a91d36d8840736332c0c3636190536bd4f7c3775f7c9361846ad3655adc3362469043771840637da759a3650890537df096237ac4622378d000e37c9782f37fcbe52370c285137c359a03e01c92f3fe4173737c8fc4d35b3e08b3e3a64333fc88f443567233e3733ab573ec52f1b3fcaa83338b784413655d7273e6622003f86810b38d6653d36cca6f43d1b1bc43eec762337d8104538ce3f943d4f4c8c3e1cdc8d382e14a537b5e2033d5858243e1cee0b38da4dd43702ded939288f253d629b0238f3c66c373a07263851158438b886a0374c19cf34b8a1d3340094cd34548fc7343d2f08363a2d0a3667610a367bb308367d5b7c35ca768035c7f48035dc03833535a0ac3586faa53539f29c35f9c3bf3574609d35b6869e35b0359f35e2ca9d35eea70935eb6c0d35d2600f353f2612350287d935d306ce35c68dc53543eced35df18ea3450a4f0348b34fb3407b8eb34ea57c53446fa1e328c561a35c2fab03515dc8d36af94083ecad95d3f6e2c003684cd1136e563be3dab47623f342710362496873581c1a83ddbf23a3f4bc61338d4c684374756283d23021f3f31032a38f7e384363c28193d465fee3e6c2a1b3831d1d236454cfe3b8dbcac3e64af1038fa173938d54c383c8fd83f3eaf5386389034bf37710e2a3a3338523dd042f0376d8802365cdc69371281bb37baea8936266f1734134a193494b01934c60319348c9a063564d610356f28083553673a352a8bb03323dab133990cb2330ad4b233b9748234a7338434aeea8a348b5493348a1644354a434b35d12533354e2f67358ed919346ee41834fab5193451811a3468cff135c9d0c13560faaa3552750a3644557135b199773544315235b5eb523607c066341df962343503643434576534a62a9c35fbc4b838b9fc7f3f496042355091de35fb250538f9f5793ff96859375ef9b233d96364386156553f383d45382f61dc377586c13862892e3f0bbebb385c4eb7355f665438efe5043fe83955389a5de536d6e66e3851e6b83e1795543865ba88386602ed38ce23533e97beca38c82143384f7bbd3814f6783d24f67e38533f60341aef50377143cf372c135e340000000000000000000000000000000019ba2535263e3635a50f293563f14135ea962736e2601a365de50c36e7585d36524a58351cb05c35e0e25b3530d97f352e841b36ef33223637661b36793a2636d6afb937c9bd5e37e5a37737136c42382d0523370e531337aa3f0f3724b63437a482703631b1743683296c36abc381360000000000000000000000000000000000000000000000000000803f0000000089976a35c3f88f37e479773f465d4038f5da373782c13c3800c9533f7146ac383671d2366b55023883262b3fa8fe6438d6c74536c520bd375359013fa651523836b9da388d080c39b05aaf3e4c46493adb1a30380c60953871f0383e52bd103aa1a6c736258cbb371a2b2b3d7cbd21380000000000000000000000000000000000000000000000000000000000000000dda90b36193e1636459a2b3659ab3e3632a7a63503e5b235cf6ed1356ff9ec35778c8c35f1ab8d3569758f35334e91356ef31336b6701636b5cf1d36b80025360c3a193654ac6936ab5f88370f75e5376cdf3137e98d4537f062d337952c29389ee41f372ac9203735d32a374d2f4d3700000000000000000000000000000000000000000000803f000000000000000046b6c737b57e6b3fd537c13855de2d39b36f8337a5fa453f4bf79139ea088a39635b2238635c213f2d41a43a49c8553ab6661438fe86fc3ecb31253adae5e039d4c56a384896ac3e96b6883cac602d3afaf9a2384995513ea8af593c936d71390fb5133c18635a3d3cd4433cbaa08b39000000000000000000000000000000007c468235b3f795354a29ba35efebe135b1bf8f36839096368f4ba436574bb1367c0bc735fbb9d5355febfc3590ad133636737a35b3d38f353cddb1355993d4357bf4953617909936b1629f363beaa53658ea2a367d482c3639cd343628363e36df4ba335a4eda7353f04ae35064eb5353f688036ae788036d9447d360f467a3634896e36d8566e362229713625847036431108382267713f6ef6673d5b376a38aa86ca36a114583fefb7613d6471f6381cd1e5377357343fc40a7c3dbb2cc33a2234a537841c123f39cf753db320923a59670838cc2ae23ee2df5b3d1b86ae3a3612d937d7c1a33e4dd1213dc53a713974980638067b473e32a3ea3ca695103a7a9bfb378822613d0d0ad83c4d68283ad1d3d93649b69337308cc4372baed2373b306033c55f67338c746033135d693334fc413674c046365f94523635905f360cf84f36f17a613605428136c58791365aa9aa348d68ab34ad59ec34b7c73435afb8533648be59363c8a6136659d6c36a80a32369e963236a5333336e52c3336b6d58b353fda8e355ef79535ec439d35a75b4836b0de4636c81d42360ea43d369a20543630b05336a4cc4d36c435a036f53b6c37ce874b3f1f07513eeb973e3932b97536a75b373f2754463eb4eb8239a8e3b8363da7153fb630363e742b233aa68970369174f63e488d1f3e4e7d563a1f0109388db9be3ee887fa3dbbd9343a751dbe37d1d1873e9368b53dc0352e3af2cb0c381a452b3e5d095a3d28e93d3a4a90d637c0024a3d0469d03c3c93053935e41637e420a3377cd7d237afa9d13746992534447524343c86253490d82734664c13362045163652011e36e57e26367554643490096234b8866334d7beb4344c67b63596a4b83589e8ba350095bc352a4ce9354950e7352688ed3545b9f9357dcc5335ea04583523266b3558f3823590408f36eac68f3675a3cf36ed662d37db5eef366bf3e6367631323744b38c3793ee3737156d4637979185371272a8379e1b2638b8bf243f29f6b53edda5b439fb44843628fa123fa24ead3e03248e38bc880f3725e7f43e054b973e26c0bf38f26128389ee0c53e281c7d3ebadef239260b8636e5fb993ec7e24a3e7f56313aa548df373e84593eaa76123ea4c1823a5fed46381f96123ef680a63dc75d223a1b701338b936323df0c3fa3cc65a6a399c7de63798ea1a3823384b3845223d38ae5dc53683cac7365d09cb36a2e7ea364e9a0d36cb131436947b243658c73936d288cb355627e03549d3f935c4730f3632be883608458c36722d913618ef993684a650361b3b5436aab359362917643611129b365bb29c36c9459f365bd9a336fac882360e998d368d2daa36355f6b37c91f943652f6923699509036cd7f0c37b9ed4b378bbf573746716f3756d293378323dc37af3bfc3e4dd1013f84d13e38aff05f36500ade3ec107f83ecd2c1b384f907537c8d5b93e30a0d43e4bb97c3975b6e83709e1953e03f0b13e28eeae38090b903708fb6c3ec940893e09d6063af681293808e9223e0fdd4c3eff4e1b3a9dd11f38c16bc73d8efafc3d8a852d3ae46be2377f7f013d70614b3d94060d3ad908d1377f2911384ad837388a4a20385edcce358471d93599f9a73623e751371844023682e00536065f0d367694183660393836cf634636676152365c656636419582340123833489f487344cac04354c93e135c891e63515bdeb35970fff358eafd935c3a5db3518b4e335485f783716030e35e52f1235d1391a35c4672c35332def36fb8ff136e93f51373a34c4373cc40b37dbcf0d37069e2237d6349537492d21388696ae3ee5a0283fe6b07c38dc0c2a36d84d963e6ccd213f0b6924389d42c737534c743ec034093f8bdde53959107c373fa0483eb5b5e43ee3e7843a33dfa736bbb31c3eac7ab13e4d167d3af62a5b38a9b4de3d685b833e94d5223ac0535d38a918813d3f63263ec1371c3a02536c383b95e63c188d703d297ed63970a6093875f05038094e0a3a01999b38db8c263670072e36056bc93656ff0e3798b99f35ca1ca53587b5ad35f214c035f733403539325435706d683521438b354e442d36523d2e36e1562f36e42c3036ae6b6336b2e565361ea86836b06a8f3652cdc535626dc935ce02ca358daed53595fdc336a402c6365b76c636b7b917371ee99a36458c8c36b6a7b8365bf2f836b7d85034edfa4a3496484434eb4a4334a94a22380b84423eeb524f3f8e2a73382c90e535dcba113e2365483fd50b62380c02163761220c3e022d243fab3d2e3aec088e3701f6ce3d34280b3f7c79783a8c571738502eaf3def1cd63e90745c3a13f1a4372dda493de7c89a3eaca12c3c0e310a3836f2f83c9fc3463e39c34b3c42d294390f76c93cf146833de9a16e3a44d1a437a15f40383491fb39a88a72381e4272364d37743649f6733622f58236ff18e235f2c3f33511520336fd771f368e70963526ed9735bb399935dc039c35e59e063622b30e365c7a143614dd2736d289a23645eaa53615dca6360e76ae360ffbf535c9f9ff35c09b033606620d361d095e36052d5f36a6325d36f42160361597fb360c6afb36abe0f636b982f636f1a60338b921053831ee0e3823111e38cac4ff37357f203d0fe1753f3c8190393de550360b26133c5884683fac5a3d3ad9749036434e0c3c8e40443f2d026b3a111b9737f55c0e3cda2c213f4d9b143b24ac0838a2dc1a3cb40bf73eead7393c0636cf373000913b2b9ab33ee9c1543c5139a639f3673e3cf9b4533e8faa633ccb444c3837d8aa3c10da873de64b5d3cd006383871574a384e6b6538d1fb533800000000000000000000000000000000b6a19036c07b98366ad69d363bf1a936b5f98c3542788d357dc2a3351a50d03578b4c735de64d6355280df35728af9353b6108363932143668e9153695fb213696ee973554ea973579b49735c7b2983560f71736b7432d369fd149368e590037341f0e37c3bc1237b2e98a378b47eb370000000000000000000000000000000000000000000000000000803f0000000032eec33680d13d3704e46c3f92021539fbbc013856427d382308483fa2469739a136193891c359380f14223fc5a0493c22eb9237aaad3a389f53013fb4e3123aadff063870b966387489b53e40a4553c3c8a0b38675a5438ace9583eb748693c3c06d238bc264f3cf811873ddd078b3a000000000000000000000000000000000000000000000000000000000000000069370037902a003772d9243706c32f371e5b0a37f39b02372e612137efb83837a2f58b33fa85d633da388a37997b5b38738ebe362744c7369f27ed37890c8338c613ed363be1f33688090137d9fe31379df98c3731ec9b36ff990f384a4c3638073636369d255136ba29433706779d3700000000000000000000000000000000000000000000803f000000000000000019972937e7157a3f72f882388e5dc8378cf01f370fcf5e3f749b2538f65c843767c2b938781d303fc85405391276d038bb4dd2388b95fe3e00860139d7dcbd38d275dc3777029e3ee8bc1838d0eeb537df9990386c7a023e6417ac3824b249383e90523873a1903cd1bc70389b6edb3700000000000000000000000000000000bf3735349c55903498ac983470577b34fb549f36953e9836db91c8369833da3635940c361b95ef35adb62436ab8b3f36000000000000000000000000269b7a36aba26c3694e5653608119e36b8695d3792fcef3598ffc3359aadd53510300136e611a73719426e3438aab637b64e3638a92dee37045ec037e1e208389ffb2e3806975835f2d23e355bd12d3563a229354ec7ac34e2ef7c3f672f4c3caec9f2348fcccd36f4e7713fe0e0473c4c2c8637747e1836a172583f48a0c238d7761938584dee33b9212a3fc91ac639d6e80138886bc337040cf83eda97b138a79a3038d2ed0b36d9db9b3eec691d385daa323702ac8c386c4b083ecda5ab3b8d7f823892c8403888989e3c3231eb39068f7038ce1f1c3565110e3748666537fb910d3698fff535312efb35c78a2c36ddd72a36b3ffbe352be9b9352256cb35e678073694b40a3679711636c2052c369d33443632e69936b7e28836fa59ad36908cae36fdcf4136baff40366f527036785a0937c131b635c81cc635bff1f835195207364a5ee836f921dd363a7bf6368261e436a7cfac3695e6b736be7ebe367d57a6369609163651072036ade1383612c627366db5a735a637643fc0c0de3d76981736fa3abd35256b5c3f9e82fe3de36d2836ee362f3605493f3f8a64b93d734b91370e3fb136f7ac143f8682b73d8389bf3642ae8a366862d53ef47da53d355e3938556df2351e5e853e5ec0893d7cc05c370839f736229eb93d9b06683db6b4f1361f7dbb36e21dd7387203003c0f5eb836fa8b01361a4ae336ce798c3731db6336c7ebbb351b07c535b414d235e17fb2373557ad36997ab136085cc4365b7be336406fba3645c0ac360bccd936d8dc06378d0ea935926c9935ff3ad535f29ebf35ef3ecb36601cd0361dc1ef360bf27d37f43c983665b19836c1cfb4363d72c236b7b6d436388abc363347e136cf71203720c777365e677236a5909136a14b6e36a951bc362c48c93640cebc362da4bb36be07b635b824323f88e59b3ef0ded63690c5a236ba382d3f3034a53e7baf81377b3ad136a4ba113fdf438b3e0da8f636cedad635b36ae13e9037723e1a05c235535c7e3782f99f3ef8db3a3ea4af35384a759a366095433ebee5033e2c40b236f2bb2a37ad95873d264da03d9f7b9437cf5b5b3617968938166aa63a105c7c361648923657ad34373e456c372709c6369e3dc23440cb3a367682993641f64636ce0df2367bbff736b6e9023739ee0d37de78c6357e43a035d834a13560994337cde07735f0e91e35c9d672353320a236a128f336ae7aed3620bbf0369d5b15371cc8c936e7cb43351fe5f8348c222f380f4e0a38c5e54837beb3c13715f04a38cc971f3780822337ca2a1f371c9d1a37686a923732d44c374959703785738437ac353d35d729003f99faff3e185f0036040705376574f33ee5bd033f4dcf0037ca77bc35cb08cb3ecab9ea3e8ba89f37f08b603671cd993e565cc33e45539135ec9d60378ed85e3ee49f903e2fb29a37fc0f10383583013edcc7453ea90354389da44338902d7a3d8d00b03d4b414238fb071937c578983ab0c6083cde871737cf3cde35892d21388645333801422f366396ba36c2b1ca36f020bc36a608ba367de235363b8a1b36c55a0936203b3a36ce7a9736f219a23684319d36fffdc836b877b336c1e19e362d6c9f36dfcfb5365156da3628a3d8369c30d5362b68f436e56fb935abc2c735245efb35c9fc0536359c07379ce7f93692610a37df110e379882673757a96237ab2b2e37bb440a38f2f9d9362f2e1636ab9cd7367792813757a3b7367aaa993e0464333f12b58436a30826360721923e62e8363f4b430d36ade4c236a7ee613ef8c3223f9682ac36d2d7c536a0bf273e84ab043f9c93a7361fa6f03787ceec3d4ed3c83ec689e837e5f0f43561b2923d1cc4813e9aab0c36a1411637eaa8553d82aedd3d0a950e37536afc377c2d633ae91ab73af63bb737170ee03537b13f38a95f2a38a7c6bc35c4aa39369237953637cb333694a36336c4a18236b6ed8d3672705536c07e9636b55bba36c7ceac361f68ad36c357da367f54b335f4feab355c17c63590f0b235791f6436d93c6636c3de6036931f82363c73a036332999366848a136c9e3b7367d9b2636c3e00e36fdea2236a4435636d78c303634a33036bfb23936837f1336bd1e2436866a4d36af9944363af42836d886c13625bbdb3d1e7f643fb2b9c635e3748c36aa13c53db4ab653f539161360613ca36d0df293d50ff4f3fad85bd364dcbee35558ab93cecbd263fd139b835092be5376421c13c62faf53efddb863755399a3636c3f83c85199a3e563ea336ba6f1f37743d1f3d24c6fd3d3b734b367a441d36c183653c77ade13aba4d2536def61036482e2e367f061636e9420f3688df3835ea094035183a2d35c2656735bb7a9036464d8836449c1b360f0a91360000000060d846340000000000000000bf311a368c6c07360a58cc353723f43519e59236a2e08536fdb44d36f3b195360000000000000000000000005a5e2d37f3e0723607f66d363bbc7b36c06d853761b9f3365fc7ef36cb78e0368821e7364a16a934327497340f508834c1446234bd95bd36e01fcb3aabde7f3fd15c12352a2a16386c8aea394db47a3fcb660d377e4801388472f238ab085d3f4c827337d786213653d0ef37e259323fcbab6f365d42eb37309a9938eb30043f4c1f1438b0832a38f3efed38cf66ac3ebc8f533875432a38e5cf3e3be8951c3ee6171c38c178ab376f1e6538d457303d98a67b3794896334db89cd369ade1837d006ac340000000000000000000000000000000004fe16360aa6db35469f453534b5193637ad333557af4b35e9bf2b35846041350d5cff3631d5e13628c4ce36c81c04370ac052385bccbb37cc3bbe36e37b29382dd947385e76c63725f1c836b16e5738e3eb2f37dc842337f1d42637f3563c376d9fb53762e98437624e3037513183370000000000000000000000000000000000000000000000000000803f0000000052963636fc22d837d9cd7b3f2a8e9837999b8d3698ce2d384bba5f3f6026473840563237ded6e8374c76313f7bc7fd379737a938c3b2df38e635013f6c6bd33822309538b825e438d8d1a03ec2cfd538dfea8537b1560938fe22063e85260b38babe0438f5f270382fddca3cab553a38000000000000000000000000000000000000000000000000000000000000000000000000000000005d34cf3320a2a1349d712d369b574c36e84eb836eb1af5364a72b6343d131f357aadcc35b0720e36a45ff0355176073632f51836286d2e361b71a936b634b136ce89d236ec951c3735de893635ede3365720c8378ddd23388fe4be364bbcbc369413c1367571cc3600000000000000000000000000000000000000000000803f00000000000000000c98083864c8713fa9f2a03918eaac38f6358c379d60513f42bd063bb158123a0a63483848d2273ff8889a3a3c60c3386efdea385c08fb3e5ad3d93aa0f50b39cbc414383db9a23e3e09c73c8855c438e702d13879700b3ee6ae213dfd23c3385d603f386b80313d02b9d03bd3672638000000000000000000000000000000000df4e934afc92c354c7b1f3580975a350000000000000000000000000000000000000000000000000000000000000000b4999234c66f9134c110a53451c99934266b8d339794bf3384df9a333d9582336123503328b07433d388d7349d1b3c35e009c2346ee7b534037a0235297d6f366a1f16350a173735c6e4d6347feaba36e2257e357cbb9d355a19523561ba6035dc3ec035bfb7793ff084cb3cff7b6038b0f81e33ef5f633ff1d4223d17ae8d38b2d9693647d4463f78ebb53c7f0e8438e0ff0e37a2e11d3f72dce43c8e659d386349dc372791e43ea680043d5417a938048ba137f6818e3eb6ed4d3d575650389c99353875e9e73d21f1823d791d8238c18207387e81843c082acd3c948f7838ea230735b22c46358a2e7e35f1998235d6592a35a07f3735e44e1e351a234135ecc803349b7d3633737370349f24d334c3a45033447aaf3336094c3352916933ebfda43502d7b9355a12ea357ac8ec35000000000000000000000000000000001b78ed34e680003515de163533c603353bc2ac35aea1c135fff54836214c9f36000000000000000000000000000000001840cd354258d8359ad5df35ad6ecf3562427e35d409613fc434f83df9b41438a7ea0835dfff4c3fbe7f083eb73732384873db37cece293f6de30f3ee491d238ed4c13366397ff3e04cd153ed01d9b381e5b533728d4b43ef5ec0b3e8dc98c38e55e19385998573eb753ef3d35eeaa387a2cc537101db73d1510c43d5f764f38f8e37f372fea6038e756053dc5994d38d5690336911823360859a8367e4a2d36d3d6b135d47ac3353186ab35301dc6357dfa8835a2259d3582e59b351f8fa6351f2ea235690eb635ce61bc35f98cc935e2494335bdc583351b7d5935f1db91358b482c35b41c55351f7a3d351c96693536f0e835ee770b3655e00a3658a31a3658348535876f9d34638b3037f5a50b38bb361d36d04a2436ca1e4836b8593636a74b11364626173635930636559afe35cff7f43598a12f3f9116a13e832600373cdbfc3541411e3f1dada83e71ff1438ca6753365ad9f83e664fa23e85b7db37c409ec37f704bb3e7631953e3588c538e192bd350478803eafe3793e7bef7938bebb3e36ac56153eaca7453ed0ad4f383cd0b638c38d6b3d283f013ee97e0d39a1f79f3635f073381d2a173d81364c38fc72e83585c926364de7183683edf2359530a935a9dcc2350e087735b9c5a83500000000000000000000000000000000000000000000000000000000ed7f0f31c14127336d501c3308a73e333bf32233e3f4803368c1a7335d647e3389194633a3a76a33e5838d33328684336e592e34e15d84313f6d1031e7bb5f3100000000073307347a3396340000000000000000ff9cd6356fedfa359233d535af28ce353c4ce8352f4dfc3edfe5013f8389b235e455b1319d4dd63e8c38093fd86cf23738bc2932653da53e378bfb3e63df9837ff108236cbdb693e6e4ddc3e8d78d937952f683673422f3ebeb2a83efb1435386a8ce936f665ac3df81d843ee9c50938c6d7e33626dc4c3dabf50b3edbf529386c53923794c3873849a23b3d19fb61384fb4af35bb4adc35a7c27b3625f60136b1dbc83566d9ca35b53ba83569d3b93577bc1c355c980c3525483535f6e45835c2aa5534199b8e34bb6554349dc757341d2eec35e54efa3553fdff354be100365f075735d1d54b359e1f473554982d35d356bc350589bd35a732ba35e32cb13566cacd357f10e2358c75d8359043da35a0e650367adf4d36b6de5836c5945636ea42f4359376f8351a9e05368a19e835a04aea35ab7d983efae3333f9b72cd3517680a36e071673e97c73c3f0c171437577a913857c4153eebac2b3f15d0c138177220365bf7c43daff2103fa205183854a155361453733d8f9ae43e76104538103755385bcfd63c96d0a23e7cbbab38100b24374caf243d8e62213e32e90a388f8c183723f66d3955ff563dd9142038d59d0f36a11799373459003858b63436ed21f6355f110c36665de0350f4af23500000000000000000000000000000000f8506335648ba535f0488d352fcda035a672bb3436c01b3525a4b934b1fad834000000000000000000000000000000004a2ee535bf4d0d3696d9f935567c0c3639e941333c7206346b049933e5f17937d6a25e35f8425f3595345b353e9689356b190c36de571c36dff00536e061db35e4acdc3660bad23d60bb653f3dc20f3691f8363741e2fe3cb9c36f3fa7087037b8964b3727fdf53808b7503fc30402388ecbf63796accb3843622c3fcad5a8388769c13750089938fcca023f2c0389380a7b723707fb9f382ddeb53e9a258d3801e89238c4bce33c8b342d3ea575ea38ef875d37212d0f3bba2e833de7222138977601368ece0a38bd482338626181373c74473508972d35740a55338642f8341b714932704ddd320a94c83235888e32d3d5a034ad51a23454199234cad4fb34df8b4a34b28226345b2d033399436b345eaddb333406f733f4aabc3371278933dbe3b134bd0bae34cc61a734d0b1e33400000000000000000000000000000000e17bc93295b8433300000000000000008b7dc035458acb35640ec23533bcb7351dadb035a25bc639cafc7f3fe3cd40357867b43619e46c387880753f85442b383ccb8e36b39923381de2523f8dd4813872c48e36ebb8e437710f2c3f86ab5738a7206d3744c06f389fa1053f8841a4381e204237466b6d38a562b63e12bba738b79cce3774243c3cd5dd423e45447939fe4ffb37893086388e3f943dddb88a3819e98b355d4b563759b8ff3747abd73500000000000000000000000000000000ef4b9e36ba619f36504c9b368b0cb136ae994136bd473d36ed8129361d637436e0889d3632d49e36015d8b36b00fb8365a952636c23e23368cd91d368d3533367f31053631e702366f17fb35fa522636277b133750af143705c414372ae1243769671d36fb560b36c82d3736c8d3e1360000000000000000000000000000000000000000000000000000803f00000000f7cfcd36cf5f14375574733fa02b673826f28737376a63388237533f26e6d638a9572e37f2a78c37236e283f4551553abcb58237ff60b9385a2d023fb7d91b39bae7253819e6943871d9af3e2de4a93aa6a0b5376d416d3b6de81d3ed1c6b23c6a74243845ca9038cc20643d3efdb738000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dd1dca33c0bd81343db60235bd272a35dd0c9b3325509d33fa589d331d9c9e33d0389a34cfbaab3410f4ef347943f1344418bc3675cbc7368fffd136bfb5d43606fd7b33cabc34346888b334d165db3486cbb73556c7b8353fd4be35c100b73500000000000000000000000000000000000000000000803f000000000000000000000000e932613fbc8e963cf808e03c6779fc35d6f73f3f97d2cd3bdbd5d13c0fbd9b3814a0183f512abc3c12cdf53cdad80b35b50de43e3d240f3debee073d0f6daf37200b983e3ef04e3d75b5e23c598d85389a581a3e5d31873d1f34e13c68058d37c53b373d5fc3193d274f483c000000000000000000000000000000005d53473483564c3413944b34bcad4f347fd8be335191c233f6b92c3496dd8734bfcec135ec85e53540610b36c9602336b202e2355a04043617de21366ce14d36fdda233583c630355ec452355fa75835ebbed736a899de36c48de5362f2bee36f95b85365d908b36f559903684c59336d7beae3522ddaa3531b9b3357153ab35c214a436944fa236ee06a3366c20a136590d363877fc763f93e90b3d87c9a03a5685e7340380563f0a91103d1a23173d74b675363cda2e3f0388673d07be083db5ea2b38351f053fc1a7ae3db3d6103db4267535f6a9c23e5778ac3dd5861a3d7cf04d387a477f3ec8b8a63d1542163dc27887386cfb093ed7c9813d7501b43c13d708383fc4a43c44b73e3d1896cb3a1e3ba7367dc1b4363b08ca363be85037ed864e36a44083360a9d9736150cb136b026ab31ddd11432a9237431ac9fc53149fcc032858f9a340e71173544526535b923b736a245cf36a662e436b225fc36d38add3123731d3245d7e731a4121d3200000000000000002dfca633491fa53481dc353619043d36ed093d36bc0643360000000000000000000000000000000000000000000000000000000000000000e5830238d9ad533f2005313e81ac8d39ebcde731cdcb343f9d5a363ed624e43cd9a10c37c98b0a3f677f4a3e70f6283d9a5c6938dd3ad43e067c423e5d91ee3cba146732635d9a3e4924253ebb7db23c4a7120386080353e6ea5053e29451c3df6372c3877edc23d06e9af3d3610193d5e840938a95b8c38e78b403dd7b6873c9da8d93317910535fddf8a355546ab35000000000000000000000000000000000000000000000000000000000000000097e30a36e25e1a36123d31366a6c413600000000000000000000000032900435062a96313f519831d327973198ed983156c2b236e4bbbb362765c836f5dacb36bb08d0346034fc343f5220353d94143580768934cc708a34d477a7341311993459102237f9b1223786da273772d326376b39e836fa0c283f28dcaf3e842344390000000059500a3f37cfb53e5362c13c6c3aa0378206d43e5e54ae3ef93ab13cf3ecd13796609b3ea0949c3eedfe003d53a99e31701a573e14637c3ebc7f253d6d8c1c38d957fa3d8c51443e06bb1c3d0e1c0438e68e673d2836013e838a193da7066a37debf4538c8aa5a3d046f823c29a52b37fd6d3237000b103891fd34388560b535f44bf0353fd20b3638a52236a5da3134b4d673346a2dc034b46df4348acb1036dc2720360e812d3612aa453695f49b36196eb2363554c6364cd1d9368587cd34bc25e0345b0908356f5310359877e1366969e636a1d4e836ef1fed36cc7e8736708b8d3693858f3683028f3652587d35d0a47435872e83355d5c7d3520ec5636e84c4e369357473639e13a36aead4f386bcbf53e672d053f293fd3389ee81e356413c03e625c0b3f6f365a3ba9b1c1375ffd8c3eba64f53ea44eca3c3b061637ba74423e62d2d63ed2e2f33c8e90233577fa183e51c6a13e8579103ddf57d237a559863dadfe803ed938343d46cf88388d16fa3c8606163e53c8353dbee12638879e9138e45f743df4ee913c003a3836e777743631e2093841730c383e322537d3fb2d3776f22e370a9a353700000000444919300000000042b53e3000000000000000000000000000000000d31583363d989736d0aea43686a8b736e47db031b98ead31f0c8ad3135f3ac319debbb35bbc9db355d8bf535558b0336e2ce9b3683e89b3645b19436b83395360000000000000000000000000000000000000000000000000000000000000000d1b1be383ea99d3e9730313fa9f6ce38bc542633a500523e75f7383f7659583b333cd1368d80073eb936243fb767dc3b5075cc376a4da43d8b13093f89ed073db7129a330068413d36f3d23e3db7373d6b063438cd58413c84ce9c3e92b42b3d38b5a1387b63413c317d323ed9521d3d4e8ec9377f59f139cea97e3db1879a3c3a5b15353e1d5d378210e437c4b1db377f295835b0d29d35a090a0354ffdab3500000000000000000000000000000000847dc035bf77d6352d8bec354c5d0336000000000000000000000000c259db33e445bc3186ef9f31cf60db30242d3d318a5b0437127b0537411e07379a3907371920f335ae79fd35b90706361aad0736311cc03313add0335fc627342919023428e40e376f0d0c37bef80a37c6f40437ad197238d16e0b3e78355d3fa8b74c380000000084ccfe3c2e48673f3e44123b11d4b3367e04d93b2283413fee97a23cb55354378e04cc38e47f1f3f8b89023d35e5b4311d9bd1310f97f03e44843e3dade2813765fb21391b32aa3eab290e3d966d1338b8be8b38c8843a3ef2e01c3d1c254238132b2e3b738c853da7aca73cf2730037b76a0a38d262bf389f66bf385e22bb364a31c6368d5fcb36946ed436f671c534cb6eef34eb4919357c7c3535ffee2736c9503736da0f4036d5955436a3179b3677caaf367710c0369d22d6362f971d3558ce2c3518654635b4c75135707967361e1b6d3681c66c36e2ad743668b567369767753691f27936094d8036ef516335cda26235caa56e35d65c633583f13c36be212a36419914362c0dfc3518ea8f38417a8b3a7ccb7f3f4132b938a2706d3552341d3754ab6d3f0c326b3b5a268936e7b8443887c5463f8736843bb851163768a1aa38f9d6203f0d52a23b1605703596477f354d7ef03e15dded3ca1eaac363c75e038e3bca73eeb81063d15ea03386771893806bc3c3ee6e1313df5ac0d38913c7b385b12853de7a7ce3c8bc6f037a4886338222da1382a879b3800000000000000000000000000000000d802c134f2e8fe3433b11235bc872e3547a654320c854d3267734e32c50e4f32c2f479366b7a8e364bce9b369eaaaf36de49a3345044c9348750d434b750ed34b292b1335bceaf33bce6af335940af334f29223619fd2536f9a21e36c0fd21360000000054be9430000000000e23b32f0000000000000000000000000000000000000000000000000000803f00000000f2326435c58396362f9d663fa494aa3bbe6f5132c6911238774f403feb04ac3bc659f036e1ce8037c3b91b3fa8478f3c7fa7103552811c351bcdee3e00c1ae3ccc6e3938813bbe381ae6a43e2825ef3ccb4e373691c8c83719d8343e9e412e3d2379cb302eddb930b10c4f3df1e5c83c0000000000000000000000000000000000000000000000000000000000000000bc3de1337073cd330415883468dfd634aad95633d8038733c67820349a9cec33366e8f351b387735b472b0355138b335e7650334f0faed33216f0035bbc32135f6340835addd0735f95b343505010a3585ea4d347bddd933cda763347e218d340000000000000000407c5d310000000000000000000000000000000000000000000000000000803f0000000000000000a568ae34dd53763fca38013795baaa3454e90234e0275b3fd2398b390f9e943301606f38ad81313fad19263a167fbb3989858f34aa19003f64dc033a67bbd2344bfd0535d133a03e51209c3a485ad234f145143a9118133e729ca13a8f1b5b3700000000e7120a3d000000000000000000000000000000000000000000000000b79b0d35e4c1f534fb9d853477771835c87623343ddb3c34150e7334b65f57347de7ec32ab47d932f5abf232ed3b1b33a1e6993564d502351fce7b359b1aba35f7b742320000000097f82332182ea732b898d932c72ccc32a06adb328bbf073327b782356739f834845b1b3510e1593593e3ec3310a1f833fe9c42345e624034587eb934a78d9f342b229834afeb973404e9ec34a7677b3fb208d13c18b511353f7fb13497ad693f7b2d123d94b59134e8e62633e51c513f1083483bccb2bb384c12a835ed3b273fd59cb83be704ef352c303b33ac3cf33ea235ca3b21a53633c1441133918a953edff2c83cf2c13033ca52da34b41af63db3f32a3db4bf963536803134fdb50b3d8f688b3b46a80c340c016b34e98682342e2c87345ce894348feef3343c17cf34d767dc34f592f1348785c33488d08034f375b33479aef33449c79534ae808b3371cf5f340351b3348836263559270835614c003560440f350000000000000000000000000000000034b2e2344070b334f08a7f348cba9e34ec76d1344bfe0a3566449f343a037634bd71c33382190f33ea21b23336951034078834359a1d1635d48f2b35939a1e357dc51f35501e643f193cec3d06f3f5348aafdc346870573fbc97fd3dfc55e0345a2f8a34fa34393f29a2c93dc5a40335c836643501b80e3f01cad43d84204d35000000007419c73e8004e83d00000000ef0713352e5c5e3ed8f6eb3d547432356fd81a35dcc2853deac1ca3d52fcc834c4cca8335c9ebe37f9e68f3c55e19533af701535a2490e35cc072f35b33e2f353ff10a350ad30135a16311359beee6346b00bc34def9ab3403d9bb346b5f003599a03d35915e1a3512c35135d30f2d35aa5f9235bf427035e1178d35b8995835c8c05434504f4d340f216834ef3da334c92aa63542929a35724abf35ed6592352b64e634e999ae345552d134859c4a34bfdde23482cacc34fc00d3341cfbe93461099d357a7798358cfcad35d5e5883590d535351e15383fce18943efde2d2346998c6347366293ff12bab3e3934e634531b3935b9530b3f6302953e61655235bf619435d6b3d23e9046873e13f99635dcf88034d7c3873e8f9b733e579e8d34953c983536f00e3e2ae83d3e0b638f35bd19b734a004433d6b6eea3d21c7db342e81e7347661b839a9cea93c52bedc346c6185353f8999351afe9a35ecf88135de103e35f39260357ebafc3491846835c4736733a652b033d0fdeb33be5e9233a6e325340000000000000000e8fff4321797673521e4bf3402343b351ca99a35514b273203a689320e110133d2309a324d0961351b6de033d44fd9341d492835b3a638357e3d7134d5f2d734abb7163598a1ab330545cb33deb80a341c3a063408aaac3526b94835d3069f352d056a358e2be0342d02053f806cfb3e4b2f9034f5fd2a349804f53e0480053f2c4aca3394cc3535d5c7be3edd70f63e70f0df3466f763354d7a823e16ddd33e2b76a335d6ee15336aa3373e677fa93ee03d48320394a635fe7ace3d2b807d3ee039713503352e349426493d3d6fe53d404c74357bb8e933adba313be0a4183c96a3bd33df250935bc3b5337256f82370170863408e16c3502e35e35c5b85635be245a35aef0b534345c9134933baa344099dd345babbc34f4d96734c1ea55340cd6903444ce8135862361352d254435ac625335ead84634f4672d347a824f34f0ac9a343782983536d88535035768353dee7335ef0d2e3520b1343522780d357b780c35852ad134c5bfb7340a51c5347cc800354bce263594aa1e35241a293571a91635b7219135ae4ba03e2456323f237058351344be345d0e923edd63343ff928c93431b59134a9d1403e71de293fde06c3347f049d354e09033ea0c00f3fb11c7c3561b28134718d993d7294e03e2cbb8e346bd19b35ec22633d47fb913e8aeb8f3573fb5a356ea9633d0f02ff3dfd9e3435271be3340ebdd23b6ca2093c9b20f3346980133522d20f3505db2835022f1d3545921435aa64093584861a356da8e7349f490a342cf6d6339952b0332b1cfd33efcbfe346654b534097dd63435e4a3342be7f7340b4ea7347484f634831e17340000000000000000000000004e351733b6c172358d74553540897b353e293d35e2030c3548d1d5349a6aeb3448805734804a04354a92ef34188efc34b3380935d0642d352cb03035ec424b3525e91b35a0a94b3525fb0a3e2b385f3fe12fdc349cb4a9339922c83daee3643f5055b233a6f8d8342bea9e3ce637543f5845fb3468fc1d3594dc7e3bb3862d3f4890dc3400000000fd51c03b8c18023f00000000fd905a35d1e8023d1c79a43e03014835cc660735f4915f3d46e30b3e492eb9345af70935ab86a83ce378bf3cbec8fa34b7bd27353f23383574573435fbb80c35c97ae534c3438134d7a6fd33ae6b50349168c733ceac2134a21b3d34e026f033295048340000000000000000000000003630093379a62e33bfa41033d2fc2733d4966a332760c43393189033d6f8853320d39d354520273534b93235aa1d7c356ddc203394305033bb022e33bc303c33cef67134282d9834b52ba1342bbea234baf7933550e44b3509b87d35f7f85335f776c5348412133d350b793f4b0d9d346560833492871e3b9a53773f3a6b1f34c8e84b35cdc30f3aac90593f83ab2d356d7d1533d687f23842d3323f4c37e3346acd4233a53a6d3a7470083f7477623364ebce3523d1ea39fd75b53ecd09d2357ef22b337466b43c5ae22d3ebfcf0338fa4c90340bcc563a527f743dc7909334c59039350af48a373a1a87372e8b0e350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bd2bb5329c01c634ea469f3402455234aeea9734f4e22d34b6d0b0343dd52f34b2cb3d345aeda63542ab9c354cec5e3591989535285a433305637c336a5d533316986333d71f4434029f8a34651a2a34edc76b340000000000000000000000000000000000000000000000000000803f000000001e7b9f30b67e29319d757a3f00000000ebda84321137b733d1b45d3f0b38aa397fa6d834869bd934ecb5333f2f7401353e66da34b9631c37fed1033f7aceed361f71ba3530981b3a1550a33e7f0c3b3a00ed7533f7971d3ab9f01d3ebd18ba39f5a2c234119791377681423d4c14c1350000000000000000000000000000000000000000000000000000000000000000c94da23427bfcf341b493535b9f13d355015ed3383f9043491ec2d34e8f3203451d43634ad4489349ff18d345cf53a352b2b843464dc9434e3251035843f1135efe286346a1b8a347f83a6341567b4369d109335e4448835408ba9351bb9b4358afb9933e44698332fab9933e48fa33300000000000000000000000000000000000000000000803f000000000000000093ce783524046c3f5c235b3c03e8ae392dc5d236520e4b3f40307e3c8127fe3aa7bb23352581233f602b623c3e51903ab40c5337fcb7e93e9ef1193dc752dd3a9c782f388f888e3e06a0863d108dc8387775af365584f03de67ca23d3a990637db8caf33b0d6023d741dca3ccd6b943900000000000000000000000000000000907ba6311aea0b3271bad631ca60fa31cb65df3369de173469bc14341f7a143498456433d5e57b336546933396c0a133b31e853211e9e0320057a632290dba322f4b5634256d7d34481d6734e1117e34726b64331f926d33ede67c337d6b8733b2b8c23260ec25337bd6ea322e8afc32831a39343c1e6d348ef447343a3b55349f735135df522a35fca63e3561c5393518dbbd379677743f99d74a3db1fc8638f17c66344078593fa010973dcbfed938ecf9d833ebd93f3f218e383d77d2383b681b3733116a113fa082933d3063b53a275e9734b0c1c63ef904da3d78ad833a8a9a463792d5663e42bdef3d62c1cb391e415c361fcac53d4789cf3d4b1bc13927368534db5b7e3a6c6e5f3d5e543737610202354b751a3503abc236074f9936ef478d30b46eb631ad1337313c19813187163e311f9b053333896332c343ae320bc3cf34fe94b234274da234e3a82f358bf6ba331d66cb337566b6334f01aa3356e486347e9c9634df9081343c126b344ba0a6347894d63431398b345032a5347b41ca336e22f033bbaa09348ea308341ab240346b0986345971b334f180a334ff8d5b35ad852c3551d7013590c9ed3489670632133a643f7023e63d661203380e224a332aac453f21671d3e3ce11b3914385e355f2e1e3fb5453e3eeae5533a36f36934eed6dc3e6eb55c3e0565f4394d1988342d6a903e0029553e75d8ac399b64c53448250b3e363e4d3e63443c3ae5df0f34d9ee4f3d46500a3e4116c6396baab7340d5c9936619d483d0a11c734e1d4f93408e2173518c70335f29cf93409837e353eb48135d53c82356849bf3500000000dfb9063359c82034a3aae83395257733a97e9d330f78f233b396e93350e6bb347402fb348d540c352429323596619b343ad0a3348cc16334c800523419d4023457140b3469cef133682555346b81a73591a99e35dbacb8353d14cd3500000000000000000000000000000000b24b9b331622833300000000000000008702f3351571343f0f3c993e8ce368372899a734dc11143fa237b93e3b0e5436f3d04534d58cdc3e26b2c23eb1ed683998e54b35d4f98f3ef43ebd3e4b62023a4a54ac348c3f203e6a87ad3eb367173a493e2735e357803da1c4923e1fd2eb393cc2d735cd0db23cb8de323e58c4e83900000000000000004b90363d000000000000000008436d37af11fe37240c9e37834ff33428ba0135b3c3d2343f6ab13408f12a34c88f5a3420c44b340b0f4b34e498543301ed6433297b8033d27e903385f0ae32d0481433dad4d7327d73ad33d0934234c0496f340ec452342cf767343c392633cb852333c8d22733211137331415273363206833d15b3634dcf9983474814734bd8d6d34aedc4c3436d8703431326f349cd07b3429a0a7348254c834e0559c376b05fd3eddd0023ff52f0938d0228734deaec13eaa00133fe8926434ca00a133d173803ed867113f37618b36c70b6334af8d053e9e4e083f32d802390359d736bddaa03d90d7da3edc80dd3995e80634c0680a3cc56cae3e764d1b390e2eaf345eb2a63c212c2f3eeb7492398b3485343577a638511e603d4df5ca3585b6ed368dd1fc375e2f3338a557f8370000000000000000000000000000000000000000000000000000000000000000a3905235872c5e35258d293534848c357f156c3467d0653477c52234db168934887f9e344739b834a062a5347f099c34b78bdd346ded0c35a4f8c0342ab0dd34a4ead433c401f8330bff06342ea60c3477991f334135cf33d3eb4a3433bc53349d3b3636a19c34366e9d203669e5093605582737ffdf913e2944383f5f06043700000000a76b3e3ebf02473f000000006c2ea735051c773d2877403f64521b39387516353721543a6c29293f2080a339e0ccc834db5a3b3a6629043fcdf09b39a2d8323665c2d139dd39b83eba38243af4c8523717a3a93c2fcb363e31cb073a524b8534ed349a371ba1893d04536b367d4e3136662e79362e0db33746ce10366160e334c98c033572700935252a1235640a4533e66b0f342b834634a0182f3470156e331de9a3331e12d4336d7fd333fa7780347429be342022d23420120c35b37b593488ac7334b06f383436fa47342273a433a7d7b9330dff963316089d3371f67035a4395a3543c183356d768f3573074f337b644433113e4c331d4061333ee00d3227ef0332b60c0a32c6f71932cbb919357d02c73dd936683fbd0c13351727f634a8c95d3cad8a713fbd98c434e77a4234016fce395887523f31722334350f2035ff59f03951922c3f316abf3928f394349322ab37b094053f7c2e95399f62d433d71e9438fb49ba3e8662023a73609135c74c9c3c85793f3ebb5a4b3a69e169335b3d13363285a83d83542c33f1d26f362aded1375ed1003814049b37eb900c35a85a16351ee3e834395a0835a36e35346f2f5834e8764a34a42e73344806283306522433c7af2b33951543332f6419337c0b5e335d373433130a553303474734630d803457605a340082713463f103331ad60133e0c40433ab781033ba8a5d333f058c334cdd7d3337799a33463011345cc73334d2780d34c11a5f343ca5323228902f32b5fd313239cf3d32a2147e37e2207f3bda39803f96ae3536ad1a8834c0d1173737ef723f4f7d2d37c05650337281a2337925503facbf80399108833330208a37a9442b3fc356b939cac59534ab57aa378849043f6b02953a4b3819332895a137f6d3bd3e390e2b3a234b9d33491bf13b0b04513e98882b3b75243e3482ec07374683aa3d6d7d54371712b337ab693338902e7638deef4338000000000000000000000000000000005c52163360987c3324703933a3cf59339f5a4d35b5d73435a7c51835cf0478357fc223349a605134e09b383488c28f34e39a8234ff4d93346ffb8c340143bf34e326e534371d9f349395bf340b41473538051934e0372e34b5043734c30d4234bcf4173547861335c8790c35ae9433350000000000000000000000000000000000000000000000000000803f000000001d8f9f33e9f88e33d49d733f39457339e8b5ae35a9a5ca35c0f64f3fee00723990ab4736e422dc3720cc2a3f0e86843a507c0c3541703c39bcc3003f1c028b3c5ec172353bbaa839181ca73eac6c043d8f806637bcaa923888fb2b3e6415053d05e14435a30cc6369cd38f3dbe09ce3a0000000000000000000000000000000000000000000000000000000000000000000000000000000053be033336252233347b3935ca1b553550778f352f06b33560b4403339588132a4898b342bb40a357739ae33ba6eb2337795aa3384669533cca0ac35d92eb735d72ad335cdefe3354af35c35aae346357c5597357dd9ae3500000000000000000db61733bc4a843400000000000000000000000000000000000000000000803f0000000000000000a19edf3545a9553f88a2183dd9078e3da3c50036460c333fbf54d83ce7df863d7c1ca635321ff53e2548513dffa6113e585d8f3356eb9e3e6fef853dbe3e2e3eb0ecdf37a7381e3ed381c73db39f1f3e0fcccf35bd2e873d30eedd3dd097b53d9173a1371da789392ef4623d113f3a3d00000000000000000000000000000000000000000000000000000000000000006de5d332f019e0323302ce32aa2bbc32034a3335f5e94335a93c6c3574a69435687f01347f4a3a34d9aefe34db1b5c352b336731bd986c31f6fa6131752b45319e004735f5384e35b5b16735c3d19135db892135687529351523703512099835000000000000000000000000000000000000000000000000000000000000000069048c37ecfe703fdac9543d2630263cce0cb4336766463f7ee3793d8228ca3dcdf9e53535401c3fe38da23d3635bc3d1f7aac350952c33e7b3d0d3eeb7f133e5c2a3c31157d663e3147093e06d2343e516e1738cb27c53dfd27003ed17f363e8719be35c6ec1f3da37cf53d4549b83d054002377fe1c738077b143dc822343d00000000000000000000000000000000a6a1eb3467130d3564ea2e35250d303538cc6034d0a76634ddf1603465e65234481bb535bdb7c63584b1dd35bb87ff355beddb34119ff33499a84335b06f6c3500000000000000000000000000000000ce2b6035ebb27635afa86a35f93a9335f761fc34d92c0e35daba1535610c423500000000000000000000000000000000000000000000000000000000000000004782da380b015c3f6fbde23d88b0053de92c7335c4382c3ff5f9223e7cf8c23d442d55376b52f03e9f02773e971a9c3df66d82384e80843e4a73803ecf911b3e00000000ff35113e8b784f3eeb883c3ea85e1f3835f8013df86e263e5bf7463e615fa638282c623ba7d3e43d9be5f93d98aebc36272d4438959baa3cee830d3d000000000000000000000000e18a30340000000000000000000000006311703400000000000000000000000000000000dd042c35ca54313550588035b872b2357b472235ff16223579296235308495352c20e4324e4dea32dc64db321f2ab9323e11b0358556b2351d73cc3565ebf0356c3ef835924ff5356b22043674901936ad938c33332c90331c188533b9c35e349ccac934356fdb349864c63443a1df340b615538d8c82b3febf3a93ea905fc38da1bcb3653aef23e0302c63ef9029d3d923102365305973ea0b9d83e2863903dad66ec3519e6083ee0b9bf3ec0971e3ea565e93478b0e73ca9d8923e1428513e90600d38d6bd25392959373efefb443e794e5037a82003390487bb3d0cd3033ee91aed34f185a037880c2d3c8fd4193dd7f31035601009353c900935251fc2350000000000000000000000000000000000000000000000000000000000000000b1bfce347cb7d634a46ae23421221b35611f6d34c5e18934e3139434c448c534000000000000000000000000000000007e99ba347179bb3417e6b6347475f4349d86a934fe60ba34e305cc3435c80135000000000000000000000000000000000000000000000000000000000000000059ed70380954f23e7e97073fd36101390000000002268e3efed41d3f68c1633db6a397358fff0b3ebc54183f9acc673d9dee46353b6fa639c599fb3ec49f2b3e0000000084a4be387578a13e760d413ecd22833524fc68382e0c253e51823f3ef7a832350996a4386d15d93d2620e43df6bfd43662c4573863e7843c05491a3d000000000000000000000000fc6cca37b2cdff34fc70073546c02835f9d32335cf37a233a97ba3339e365a34560297346c61df35f0c9f33529640136b2531536843acc34bb45e13444a2e534c90ae434126e0933be030a3349f90d33f8e50b33aa3f873544c58e3577728a352865a535bb3fe334e6a9fc3404d0f63429e8163500000000000000000000000000000000ae73fe34c87dee340fcfa6349f96ca34e6dfcb3859168d3e606a3a3ff4c9de3808e5613516309b3d91a7573fb04d163ded4546367c1007397b043e3f8b58303d334b8735ef10fb381470003ff178093ed57afb3282b579378a919e3e83c0363eba9ee73597cb1538c57a273eef3c393ebf5081357986df38a741c13d74a4fb3dad8ed936393b0c38bf47ce3cac4e2a3da7b658355df8b535e3f31738f142663800000000000000000000000000000000000000000000000000000000000000000cd03f3586cb4e35d13b79351bf0ae354c8be434c1a4e634bb41293510af7735000000000000000000000000000000005db9d035cf28d435471ee2351510063600bed73582d0d235dc46e73520ce063695f13b343d4c373498be30349b422034ff022135885a18352e690635690f143541a3e338c4ba903d038e6e3f88159b3800000000696a3c38b3f8713f55f5123b9673fe35317fc238ab0f403f2510963cca42b535dacb79386415013f3da1e93d00000000d1b64037af71a03e2d172a3e9e359b3670a61239bab3283eacc4393eafaa08366d01bf38f10acc3db041f53da7a9ed36cdb72038db2bf73c5fbe3f3d063a0738b1d7e038ee5e223936fd30390000000000000000000000000000000000000000000000000000000000000000cbc56635efe967356ac7613540d593351baaab34ee44c134501ac43405cd2c35c6f985319dcd863181038931aa488431e305263574772d3503a51c35c47c5f359e8ac4344e42d534e784213534a561354c2ea9327a699a32e565943204f1883200000000000000000000000000000000c285dd38a2ea433a175b803fbd2c503900000000921c963783a4643f855cf53ccc99e435ae770236c9e8373fe66c1d3d920f8e35d8106e38b7c0f83e66c2fb3dab306f31e68ccc36d96a953e8f60393e7585b73511b6d637e9f0153e72664a3eb9299535cc04be3802c6cc3d294b003e2dfd123752d56a386e3ca53c44c5493dc8949432f73df933b0604d37ef88eb37000000000000000000000000000000003047b333049f6534c4698d34f2e2c034586b7235b5a18935fec4903567d1b13526670c358103173561f12a35f3466335342ecb33d471cc33c2accf3366f1c833372c0835ad121d351ab71935823c5e3581860b354398103561fb42355ced6a350000000000000000ba6f96315e5908320000000000000000000000000000000000000000000000000000803f00000000bd5b5635224fca363d145f3f1c36023d0d84fa35e4500a36573b363fb464f63c42cfad35cf77c8351dc2f13e08aa023e947a103487dca1345a21953ece772f3ed157ad3569c0bc37cddb1f3e3276373e84e89f35ef8d4c380146b13d9968023e5ec98d33c05b8f37450f873cffbd3f3d00000000000000000000000000000000000000000000000000000000000000002245483581beae340943b8367faf35375eab10365f930636db02b836b96ea037f38e7d364d74743621f25337e85ecd37464cf3367a286c36b6a951373b7d02381a8e08379384bc36ffdd5037cae80d388429cc37b44688372885e837679c07384fadca364d795b366d5606373a5c4e3700000000000000000000000000000000000000000000803f00000000000000002b47f23679ef7f3ff2f6ec3740947c3715ce92377f16553f99d504388ee1c0372d7bcd3756892a3f0ba519380ca3df37976605380dd8fd3e844046383e3a0a383e0b0b38276da63ed39a0e3957340b38dae2083815b1243eb01c2838f3670538cfcf33378e0f1e38614f8f37cab31637000000000000000000000000000000003042dd36e6aeb536b7e44937d82cc23760997335a5015b35caee37361f57113755d09f364aac3f363ce8fc3638f6d7378a66a936bf3ca436750f15373cc0e5377d36f9363f458b3635001337bde3f937d8dc3e37b09ee7365e838e3798bbff3749da8137274604378edeab37ad640038e6447b37fc92f63685c57637114191375fab4c377dedf3361e392e37460659372bade436dd427f3f99b0323bdab1ce37a60300368110783ff9a2913ccd2771378a58313732b44e3f06379a3ca9020238b3568e379955263ff573553cacdf03381ccb5f371a02f93eec3c233c9d2d143837f1af37e704a63ee2ee5038e51d07389a6eb837156d283e5c4f93389144013858021437dfee103ae746f4376d6982376f6f8336a3bf8437c2909c37864b64372c772f35103e2535b8e0f4360c266d3728e00d35ed4e0735fa732435ccf0913785537737f97114378fbf9737bc03f33707723e3653609f350e7f9a364c108337d0b982366d2057350506e93606410d38b6cbe336699b37360d690337c1e07737e793db374b14ad37f7abe4375d301b38b7bfde37eacc0637d981b7374f211d38849b93370d9c7e37d0ff8737b74c9237dcf32a35ced7543fce5b2c3e0b6f2f37ed4c04359df34f3fff1a343e01fa5937548c8b37cec52b3fd95e293e986504381ed5823696900e3fece0023e75b386373a3a05375ff5cf3ecdb8be3d7ce90d386bc8d2360d2c8c3ebb8c3b3d123972372f97d63786a9163ed677053cf7c01638f644ee36c4799038efcc85388ae4e5372acb4837edb89a377d38c1379b4c8b3700e57a36d09d3b3620e47e373cb0c337ea28d4332e21c633eb8d03340b80ce372d7e3036135982353defac36729edd37ea6eba368c7dcf35a0a8a7366e64bf37123819371e2e873633d41037e5502c388b8d2337df87da35366076369a2d0038989ba33758d7e636b7978d375d1eed3791c7c0371e0e4437469ca037d81a0038b4be8b37c89d55370f2e6e37c0dc993765cf33361a132a3f60beab3e8ea83c37ccc8e133ee02273faa82ae3ea3c03f379ae3c936e8e00d3f5188983e0916d437be74c13623f5e13e91e2733e045ca037a53c6237c096a63e807f333eb5431538dd491a370153583ebd53df3d4e42e337ec4a7f3756f7d23d78f83a3d0bf3cf37d5a82537b4aa4438cfe95338f817af37917c0437283bac377c78fb37f5c26a37d336c6376030b037fbd2fc3706401838941e983592a39035904194351e6214379d9c4937034bd436d7a42337eb8af237f663ce37a2d30937849eaa3754ed303805299b3751e002378b357737331cdc3849a71738c1dcba37a50bf53710b83f385ceb0038826dac37e8c8d937112e1a38c54c7c37eef3fa364a1e5737a221a63780211b383155063897e30e3844501c38952bb237dc3afe3e4ecb003f3ebed337ee3c953502d3fa3e3786023f028a9835bbd26d372795d13e6905dd3e1349d837e12aed37ffd4a63ea756b43e3dc92a38aa55ac378559763e65af843ef334e837150c1338e5fa163e9859323eaae839380ecae037900c8b3d9be7b93d22650b38b41ee8368d55f437a8b517382a7a6b3798c3e537056e2138d29d6938f0f50f380947013781455b360c6efe363eb59a37b5288036098ea135ce75a0353c436637caf638365dfe2a367aa22d36c2d39037556d33368cf2d1358056d235ca1fb137df61a93763d9d736147cf136c117233878e985376776f636cdef07376f3aeb372e0f04385281a8379107bb37b51b1638c6a01d388137aa37df49dd37a02832386cc8cb37a2c9a1376d08ad37e32cc837cd68c03675dda73e440a2c3f89576d3630cf1a36ab8da63ecea22c3f51429136d4a2a73670c88b3ee503143fd6f7703732a6a536d966583e03b7ef3e0304a23745c5ad3734001a3e168eb23ec3fb133885416237d804ab3dd58c723e1dddca377ab7e93740a0a53cc879023ea5dc04385a019d3769dc6138edbbd23b4207f437872d7037c1cdcc3758292f38f5949b3717345f37f7a724378d0d34371eb48f37d992b3343d29aa34cc9aa534a7a81337f406af37857b70377f384937cdfddd379639e836ddd33936c39b3236137c2337049e6f37a0924536b55dd335ae55ea3767473b37f6d4cc363f70a936ed3b9337ed1e17386406cb370a48c437ff4b2f387742df37c9df4937f24183370cc50e38603f8a37f91b6537b5bc5937980187373c2f5e37c584243ed6d1563f2ba41037ee14bd346d21243e29e8563ff05bb134c7f9ba374833153eb1e7323f502de1378820ff36a2fdc93d89e7143fabdc0c3739bd92377a9a923de79adb3e1059043824091937890e923cbc41983e8fd397377af1f737a79095382f4b273e9938253835504e37e1f3313827ac3e3c929dbd37d1313c37ce7b7b37bcf3aa3787cb3e37d483fa3643a44036f25f83359b39383758c5773504217a3532746b359eeb6936ae6b2c37270ef136e9f8be36d9006e37171383377855f536ba7ac4360c6d9a37c6656837133c0237158bbc36721ea237087dc33740571637b4abad365fe5d5370439ed37dedb8637bad94437d72bfa3745af8537d1ce2c372a171f373b8c97377561cf375c83a637c868a437ab6bd437b2ba4b37d3ac233823f67f3fee054f367b2ff436a68ae9398cb17f3f01ce6a36df749d37ffd49238f8d2553faa2ce537532eb437b3f23938fbef2c3fdc8c0538b80fa83731d86e38e9e4003fe2b82b38944dcf37d59659382687ac3ef9111d380d88de375e462738e3ac313e2e7b1038995761371c62bf373a2a563c2260853742ea9b37f0d6c63798763638edbfa2370000000000000000000000000000000054835736feba293690f1ea353ae35c36564e9c3785a01437ce00ad367c48ac3751533c3726edd336b97c9f36bbf33b37f11fa037ee21fd36565e9736c1b0b0378908bc37b4ac4137639a853601c2ba37923cb337f71b513744a301371a09bc378330913758ff54375a4c4337bcdba5370000000000000000000000000000000000000000000000000000803f000000001d725e36be283b37a3f57f3fb10b8f37922fc5375f6706384ec0563fc7d02938f8b8803755380f3832a52c3ff5c6893911b8be37c518163801fd003f384a4e380b99b837dcd6ec3736cdaa3e571d1d38b588ac372f2bd03742632b3ed2b10638828f75375cd79337e6a454384b80d6370000000000000000000000000000000000000000000000000000000000000000c77aa136282ca4360ddf913794efca3731288f359aa99035eb6bd33657219937f7fc153732112937ed39cb3762cbff3780c5ec35897ef135bd504a3786d7923700000000000000006caacd36267e8237bd5ac736716ac8360a91be37f56b533928fe6c37b3716d375edbcf372ec8fd3700000000000000000000000000000000000000000000803f0000000000000000acb12338e0bf6e3f735c173c57cc5e381709e137e2ec493f544f4f3a1c45ca397e2511386f33243f5051393a647d973938e70f38ae7bfa3e2919393abc944d38ccb3a6379adab23e04089639681de637f955ae39db384d3e18ab633abf3df239e6e00838ec0d293d181c7438e4320b3800000000000000000000000000000000b2ea60367d006836ae860e37953d92372cb57a36e3357e368819a8361ca4e0378a2daa36b19fad361cd4ee36e346af37f2687f3604997b36ca47c0367200983739ff4d36801450365e858a36c33ba937e1b97636007b763631914f372ffa6839fa4c6a36076c2836f96978379c03b337f0e37937ab025e37e085b9371988dc37f1257f3732b25837d7149f3743efc63765d49f371d186e3fb7ce8e3d4dd7d237e3f80538a5af5b3ff19ea03d57309e385e77ef375f88393f9857983db60d5d38938ec23786ff173fe8c8843d4c9b1738ce60d7371262ea3e79854e3d7516ee398bbfa7399e47a63ed171dc3cec70893a0d38b23715e9433e32427f3986fff0371592cb3701e9663d79d98738efb325385a829f372b81fd3768d4893946902839fd9cef35df79f03501606437a075a7377f8d0a3695270c3639d3123648f766365435803670c4803681eae7363f23523709409b35d9779935abeb8036534b8837d31bd435cd61d5357d590b376918ed3784cdb336cac0b43642011237ac40b439c0920337bc5dee3620ba2e37d3fca137879e00378ecdb636d7c578379865bb37f3a2bc3705e69b37c4f2cc376481f937393c97374a6c493f1e125a3e1f15ba37df493b36a0383b3ff87d563ef386f0378e1f5e37aa731c3f545c433efaae493907838f3724f2003fe10a203e942d7a39517ef637eaa8c43ebe3ef63dcee69a381fef8e3912c0893e5d379f3d68b3993a6d9097378b55263e30e92d3d6e387f38325b96376dc1383d102d42399bd8f737d213c7378d5a1238bed8363834681c3864852b37fcd65a3704490138d32e2338ed37623619356636076576369e8d88376d4a2e36c12231364c343336a7d2b2368d75aa366efeaa36167bb13667f1253732170b36f3b30d3642ed3736d0659037b8576a37629d4537bcf7b737f0faff3743e97937bba93c37780dd237831416389d3e0a37ab33e23654e00a37302e7d373802d737843da9375028d237ae490238ed561238be05243fbc81b73e3ae33038fa945a37b230193f80a1b23ef5a80338a6f184368dba003fb1e9993eead42a3878a12037a1edd03eed9a7d3ea6589c39e73e8e37e5299f3e7456433e5ba27138a40df9377d7e5a3e6a3c083eb2d28c38234d0c383c0bf73d7dfa9b3d367d44386ed24237b9f8f13caee4a13c8d2ac737ba6ec53738ef0b381b8b923914766438585ea536fc52ae365d82a93733fc0638214dc736870ec9368147043707a3b637793d1136feb71036badd123646f49837578f673681286736c746fb362a8ac03748da1a376de8033769846f37bb8105385d1f1237c7b6b93670368637c20fff373cf906379a131d36c677873772700b3884b9d237677dad37e933d1376cfd1e38e855d337c0ce98379bf4b1371da8f737567ab3378f92fe3e369e003fb5be0c38fc3f8537c1c5ed3e9ef2f73e4075393841997537f32ac63ef245d33e72a85b388a51b4374c8e9f3e30d3ae3ea8e655399f38f2376f62743ed68c853e9e73e039e1ffdf3734f5203e38b7413e77706939dd5afb374552ae3db978eb3de33a5f38dae701382d183b3c9b0d223d41681439882aa737cdcc023826a4ac38b26d3c389856d2362c07fa36665dcf37d7b10638f2cad535e545ce35690ede3557d2d336167e413601d841361d7df9363ffbde374c630237895ab3367c48743779cde7371ba21536366f16362f4a5936eb839f37c6a6b536e3e6b1362965bd36755c7f37d19ca736851f84367796a0360d03d33765dec33795229337057ab637997efa37ef83223857e00a38bf41163825bc2d38611ad93730a3b33ef203263f27d81438f15e973614b4a83ec1fb1e3f55a7d3373bb0d3373d438b3e91ec073fb43d4c38adfddd374fbd5d3eaa7cdf3e745d8b3992ca99370824253ebd5dac3e9aab903981bf7937f55bcd3d97f4783e9c71f339364c9f37b6a5403daee1183eb4495038c5dedb3709e41c3853eb563dce57183802c615387e342c3816afdb39d1653739316121370406233780c6b937d4680838eedfa7363131a736dd56ab3654162237b60d3f36d4551d36bd409036a82f2537161eb436cf76b436b34cb4363a8807381b2b4f36f492d73587f7b2368204dc373036373706dfec3611e61e37e32db437e5098e375bb15437ebca6537a587af37dec766374bdff536800e0d375fcfbb373e989937d1c26f37d41684371b18a137806ced37ae92513e018a4b3f179a253892e3ee361f1b493eee17423fe83e113865d92437ea64263ed6ca213f0875f03912fe2238a001f63dc18b073fde5dde3a3b9cde37c032b63df3f8cf3ee7b6cc39e35fc037d31a2c3d171f983e871d103ac5efac3786a34d3c8e343d3e3f76fc39f8e37f37162e0838a87a703d08aaa739d33b843704179b37079af33778d5d23707eb1e375c34fb3683fd933742f2e7373eaf3a366b373d3637ea3a36f2966437ce04c235a69bc135aa92be35a63f3437f5f8783633827a364ec77736a8af8e3751a657361a9d5936e7c958369d4986372a3502370257e1362e5ad836ab76a53786087c3768963b37009534375429f737a6361738c029e23726a4e43707ab2938933ca2374d87823747537f37df96a63702abe937175a763de64a703fb3a4243a59b67f37f7d3723d9151623f356f9138143a7137b4bd413d8c513f3f36cd5f3cb515ab37102ef23c27831d3f7edaf23a0330a637049d813c55a8f23e0d56c53aa7e2c237f95e123836aeae3e5bd71339932fff37fcd04238213b4d3e8e1a6d3994482538ccbe4538d645803df686fa39adfa91370cf39c378ddd00382272dc3700000000000000000000000000000000a60f1c352e102035aa141c3598873a3709620236aefb02365e3501367b8858370000000000000000000000006779a2362afbe136984e7c3644923a365d086037a8c6cf374669b43718aba8377931f137b4f04437be78d936fb41f43644849837bf89fb37dbb9e137f1ccd2375a43f5370000000000000000000000000000000000000000000000000000803f00000000eeef613753d8f037977a723fed90373c48f48737d9123e39dbfd493f62a4083c291c163781faad378643263fe5a0333adb2f823732070938409afd3e60e66e3c3bcdfe37bb1c0e38b17fb63e39ce563ae0d7ad37a99bdf37bdff553eba2a4c3a020ef937022df03734736c3d074e2f39000000000000000000000000000000000000000000000000000000000000000008468f372c2b1c3885d57d39fa66b6398df42138aab22e380b45173916bdd03957b0f837721a10387d627339dc2ab23963ab7238d6d6093973f4a43963f7db395d5ad5374e7746383760f03962792c3a2810d53755161e38df153d392eb1a339f9994738ac7da6383a564c395dc3983900000000000000000000000000000000000000000000803f0000000000000000b03ff939f09d613fcede413a0e10213acfd0323a0b93403f9cc2863a448a6b3ab27c343ac9a41f3fea2dee3ac506bb3a82ba073ae734fe3ea919313aaf0a253a53654f3a33a3bc3e982d993a2ff88d3ac3e5d83909b9763ea1f1423a8475303a9079ad392688e73d6aee493a19be353a00000000000000000000000000000000de8461386a4459390070bf395387e839de0a2138eb90323828c689393ef6263a9cd492378b80ad3793a8d537bf6c05391f200d38ffdb1638799127389b8f32383003a837e24be337c35e9339686bf8398c8b893700e99837400e0839aaf8e33901251e38acefde38b03c083af3b2453ae0ec9e37e74da93700004f39035bc239d31348395a667e39b2bab539cc23f4396e840e3ae5b2603f8ac3ee3d86ac183acd667a3af603473fe222e23d9995b63ad87ad9399aab2b3fabdad03d412e833aadc0b23928e70c3f2164a23d57c08d3a421b2e3aa5a8df3e8b227f3de4bfb53a82691d3a5914a63e04123b3dfb7c883a829b5b3a9878583e3f05e33ccb2ea33a5cdac939d779d03dc6f4593a7181423aee13d33917961e3a67d9383ac82a393af0ae05395c9185394d0bce3957f4ee39a0cb4f370da57a376990fa38b3c19b3989ab643700f78637536610387d975039a09d7c37f8c1ac37061c673965ced139a3abc838ac124a39e9b0d139f5c5093ad644183818fa1c38f618273814c03139d9e7c937ed31df3703b23239a6b78c399ba685394a4bb539dfef243ae1f44e3a3b4b37391d99483997ae823956769939a5ad113aa21d403fad0f793e6acf343a04d1073aa9b62b3fdf6b683eaa36913aa1089939843e113f5d42423e4664973a0fec013adf23f13e8faf213eee92953aa371193a0128bf3e27cfff3d7bdfa23ae0a57339c6ce8d3eecc0be3df5e5953ac42a9539512d3a3e9ebf763d40e2333a84a9463a2524ab3d6b7ccf3c7d88aa3af37385391e8db439ed7ad0392f09cd39d5d9cf37eaf0b7382516d03961e10a3ab14ab836a5212c3700b75f3815bb9c3962b2b4373ab4ed37b2e23138081bb1398422d5375a819e38e852af391425043aa45f2039527080391d1bf9391ff9243a8fcec437c5f8e637bca52c383e1a72396284e0370123e73748d84e398dd9153ab63258374b2e6d37128446398adb043a25b0a13941afa639276cc7394b98dc39ed78183a909d1f3fdb94bd3eaaa0423ac9c9e43985980d3f9f49aa3e86616f3a4d6af1390bc5f13ee5ec913e0e478e3a5270143a4f3fc83e0aff723e882d583a7ad1313a9f579e3ebb71403eb0b4b43a3e9abb39bd496a3e9e5c0f3e7372a53aa3e9203a8584173ec7f9b73d9b09ad3a21dbe93905cc8c3d0eac2c3d56298c3a04cec839e699f539f7910f3a4d450d3a9e707d38c9521f39aefa9c39d84db6398e2924377c954e370e599b397533213a6bb8a937bdbeb9377f240839c60ce7395d9863388cde6a381c0a2e39eee2a939269af9372a740738d2c88738da7e2f3931496d38931f7138107a393957f7a639373af638ebb42339fd6cce396749193a001b003a995b073a1497313afff45c3ae0448639b88e8a39af46a23981b6b0398085c7395764fe3e8e00ff3e2a00393ad1a2313adddde83eccefdf3ecff1a13a5160083abc3bc03e3a91c23e0e1e8a3a8e76c23902199c3e381b9f3e9bd4ba3c44814e392e027d3e19d3803e2a1e523a0a7cae39a847343e26093a3ee64dfd3a05111a3a8a7def3d5bebfa3d386e7e3a2af1533a28fb433d5e6f573de642943ad6639d39cffbe03982d2313ac55b233a0ca661399edd94396cb5e4396798003a91051d3752ab4a3706b497370008963984a3d2376eeedc3765b8f7372b29aa395dc0c53744aaca37a4460c38002f413973974239f15d8a39ec48e539bf771d3a53bc213900dd503975dabe394fb7083a9a3aa438bc86fa389719c939cf7e1c3a2ad74d39fab94a39ac00bc39718b083ace7caa396daaaf39e718cd391dfbff397aecfe395c12bd3e65f31f3f8793173a026bbe391c5ba83e844e0e3f44c1b23aee4afb393f908f3e4f04f43e94f8d13aa415a7393f146d3e3aaaca3e2222b63a83b8273a56593a3e9e88a03ee8f6be3a7dac0d3a8235073e4c42703e4a26543a4e3f193a3e44ad3da93e1d3e41167c3a9d7ef5392b23163d1b1b963d6d22563a1c7bd9393cdb073ac1cd3b3ac513353aba752638d991c738783184396b5fa8399fd5dd37ffbdef3770909c390750293ae98499375a90b3376c1ef6370a6045390eb71838130a1c3883ba24385464093908c75239439c8139d5b3ca3909570b3a2e35b238e651f2384ceb88390479e13984f6ed38d3ebf13877a358392703a2399c21213a444f163a7158363ad7ce543a600fbb393459bb39326cd139cfaaef392525a939dd7c793e8caa403f0fb8f439e05b403a777f5d3ea1b92a3fee93083b25657a39e73c3d3e3eeb113fca26a03a71b74439c4c4193e00a9f33e2843e53a6caa163a158af23da7f8c03e022bbc3a0a95f939e14eae3d49f28f3e316da43a4098aa39c8635d3d19713d3eb5368e3a5ff0553ababf753a36fdc13d659d893a6758d639a3eef3391417323aaa282e3a06dd2338e62d2c3837a593397763063a649c4337f3b565379ae199376b9810393996c437d41bdf37afad11396e2a183a44ea9837c7a1a0371871b2379904b1399f786738c139cf382299813981ecf0398fb61d38bb572038dd312838ad6ac3387a43063978ae033926c084393657f83935d62f3af88c2e3a1f6f4d3a54f97a3a35f2b839b751b839e1f5ca392ec1e2394b30123aab05ec3d3df3603f081e823a54f38a3963bade3d96ec483f5cbfc53a746e403a1fe5b43d757c2a3f2971cd3a8901013a44f3923dd5c10d3fe20aaf3ac2111b3ae05f603d5340e13ea04ae83a3ee16939aaf41e3d0415a83eaefda23a0d8a153a3756413a62d7633ef981833abd54813a790f8e3aeca1d13dd4a1ae3a4291da39950ee6390077133a09cd113a00000000000000000000000000000000f7d076376135893784d9ad379d1c21395a83cc37f5fed237f07ce237cbe50239d557c637dcb6d537fc605339b4760b3ab49be73841bc103963227839366dc33976063138b97d3738f24ed538c9d07c3977949b381aa3b4383e91093958e7b63981076639c592663925b885398b63ac390000000000000000000000000000000000000000000000000000803f000000004e7c5b39699a2f3a81cf613f0d39aa3a736587395995173a0234413f9e42833a4c652f3a662f773a1ca81f3f7650ac3acc41e03993ef0b3a800fff3e266f373aae8c98397447073ae0f2bc3ec457d43a2edae939299d163a64e7773e7c25653aaba1b439fa2ac6399d45e93d60e70f3a0000000000000000000000000000000000000000000000000000000000000000a822233521912335cdbd923514ed013619e6eb355ccfdf35516d0a3665d91636a00c2836cafd223661c2ba3615a99337a0561535c61318354f58493596dad1361d627435d25f4a35bda77337c16ee8371e9900361e72d03564b74037a82e8f3722b88d3671c18936e9a00137632a083700000000000000000000000000000000000000000000803f00000000000000005758e43551a17f3fd2432238d852573773c90d36c8865d3f42a39c381a0aba3776709537e1512e3ff00e4138e18cc7375c305e3760b1fd3ecaaf4738585b8837c15b1838de2a9e3e0d96c83817d8fa375fd2e7379340fc3d3a144b38bba267370037bb3745ee8b3a94f92e38a8eda036000000000000000000000000000000008df4533513793c3571529a35a1a72037300ca7351a26aa352124af35a117d0358a281a35d3c01b355fc81d3550001d35015da3359784a23572bea2351dbba335375cc735e302a7353d41cc351aa29a3727b2883537308a352b278c357c227d37028491353d219235a56724376a10ae37f6b1af379e1d7a37f2fbc3373950d8377ed982353e235c359364843561ea99351f8e4b35e7e17f3f2b48c0394b06f4372903ae35641a793f3313373b7915fe374d9521358c27593f6d10033aef780138b4b2a535ade6293fb24443393eeee43666ff1b37501bf63efb8c0f3a6bd74c388ff13737fbf6973ed2fc8e399990f13788d5bd37a64cec3d1ff7473945bfb73712a1a137ffe7923837958538df35fa37ea7f2c3532d29337a8e21c38905611376205673596e65d3593676135a3665a3531a3b335973ea9350b2dcc3563cdd73583590a35fd0ce93480784a35366487350cf4af35e727ac351e33b035cbbeb135ece1f135fa71d8356f1dfc3584ec8937343bec344a5ef034c37fec344670fa342fa5dc35745bdb350b45e735be0f8237c533c537d2ef82371e500b38b2a42838c73d4135fa38703511b78435bf18993539544b358d96603f3bf5fa3daf915935496fb33513d05b3fb7b90e3ec103d835c1834535935b363f5f9d0b3ead0f8037fff9af355094113f969be93d3a043c38ee9dff356e61d23e5161b93d26380d384d35f834831d833e82b86e3df5754335fccddf358eb3dc3dcd90003dea43f437f63b4e37946abe38d1eeb2397e2454386efb463583d3b93625710938c5f4ba3610ce933514948635ac0a87368cb29c36f208d3368d6da3363f7262374df6a137807a1336b94c0f36edb32236b9bb2f3635837f35c93e6535500192351452873761a469369c5266363f79733662a2e3366d10f33562c5ae35a37c5436d417f537bd0c7c37b3e32137c145d337f90b26382b51573610035d363fb93f376fb4a537068fa0365fb47c352835ae360f1a153751e37335336a2f3fb239a13ef9566e36a505273768a42a3f5befa93ec902b437ad5d21365ccc103f3ec89a3ebcde1c3835348a3517fcde3e50d67b3edd2213387b7f6f3670e39e3ef7423f3eeedba9376f876c37fd4a413e1656fe3d273e5d38e2ced7372ea3863df3dc6e3d998f4338474b4d36426f98386710563a5e3fb9377443593542456f37095e003843eb3537ae162036d23945367b6fa9379fbf5c37772d113659240a361be26a36ba343d37e3e2e434d6d5e6346723df3480b5e234c61c46359a6b4735e84e4b358dce47354015ad37ed0667378754a037613e1e38ebde4c35ecda4d3594dd4a3599dcfd3666bd1335e5560735e9d7f934a6f5e1342af5f5370e4fd437c482f637324f0d386da27137ccf48237fb39b937aa3dd2379d1929367c86fd3efc32013fc8284336849263365ba9f33e32f6053f0cec26371362ea34ba8acc3eb0f6ee3ea448db344cb04635b4bb9a3e4b0ac33e06dfa336d4f908386cfe613ef1f78e3e55ad3e38674410367020003e4246443e6cb85d3749b0ee34a0f81c3dcbc6c33dfd78fe348bb4b7377e188238143f233afa8af4379b3d4036ebfa3c38e12a80384f84ad371ec37135f0b66835e3dd653523d06635f88b343629512c3631813636d44c4236851e9f35e7f79235ddf18c35f5ebb3358997a735853c33350f354035cf04db354a1b743645996c3640057136badaa436ca7ba6370335dd369b691537d439f337c60e31380a0d0338ac6f2538fc5d77383c76db37d62ece373e97d8375a6ee5374df2a23659599836c3fba336d5c9b4369d945c350f9b9b3ec621323f199b583588cc3936f0eb913eeddb363f83cc30369c1eb8351158713e08dd233fb792bc3557098737ded92f3e17f0033f4cc78d3768f1df3633a9ef3dbca2c53e171a283752e60c38ebe6733dc9a4843e4b9807384d6e8c38c8c0ca3993b2063e692f4038010fd03729cf7538a3eab93a2bd4cb37f3d17e3657d6e23795db14386dea8c369423813577808435d9478035d3238535467b0c36bc870f36948f0f36d05a0e36055ed0359977ce35ea85d035ca1ed8350cb1e634e362e6347ca7eb34a064f434197405361f5104360b72f63511dac2362bd96b3699bcaf3569ccb53579094a374a3baa35f5c0b235f10cad356573403702fb11364fd50e36f3dd0a3614f974360639553576405135c6ac5335cf445335786e30375188e43df771633f798a17350929bd37db74ba3da891683f0cc80a36ff85da3567dda23dee07483fb5b9d9351a60f0344c80253de836253f49ccee340570bb3719b6d13c1434f23ee82e98377c541e388f2cf438e65ba23eea50f237f5d49537c290a83803ea1a3e1b390737c68aff35312fbc3876e9063bbf4dcf35ce32553507515135677b883592c94f35c27b9235b74c853548003a350a32733550c02a35933a3035f5052435dcf929356aca9535a15594358f4590354a219335304786352b82853584d18535021e8835638fd435373ccf35733aa6354849c8351a21ae35de95a835f863a63584bba7353e1a9636e7307a352da24c35466360373f2b9a37d38a5d37df027c373f25cf375a7c48361d39f535ad3fa03621cc35370a4199378c77c83816fa7f3f1abba2345f99c4361edd6538d3f07f3fcc662635eae69635134b4a387b69623fbd788e35dca59436a1a57038baef333f91ed88370990c4379e5ea1389fcd043fd2e22838a042ba35b0404638f221ac3ed0b55037996ae7376b2ca938f7c11a3e78520d38079bdb37084f963847f4c43c40aabd37f4272337e80b163887af3f3874f8b33500000000000000000000000000000000957d8f3487ee8f34333c8734bdafa53431cea1357cee943541077635519ba03533144c35f1cf493504fd4235381e48351d3f873594f8183591e01535c0f9c8352f998837e1580e3766a599366f258d377b115b37061aa236d79f7c3646c9a63719b94437882ef636f9c5fa3624d59a370000000000000000000000000000000000000000000000000000803f000000004ad23235e33a8b3664bc7f3fc936ba36d445ae359607eb36c56b603fbe489937c3172c3780d7e93756df303f7e5976382776903624b6b6378e2a013f0f480e38e54caa3747450238444da33ec2fa3838850bba37028748380da9093e6f50983888c3673792a511387e1cb03aacb91138000000000000000000000000000000000000000000000000000000000000000071430236ef7803361a441a36c6242f366d896a35924a7035c6847a3508b880356da83036d3593a36da6a6a36bc888437c39c8f361f0e97364b1af536df52403716857535182c743540ee7535a4f6a03607f23c362aec5b369e455437ab80053836060f3612b40336053bba376d5ef23700000000000000000000000000000000000000000000803f0000000000000000bdd92d36917b753f011c5f380bc38b37010e82353d07513fa7049e38ebde6438735a1e3841de273f1603093ab680b638ac7d8637e58cfc3e6c3df2380df856381c72ec377053a93eb371c438dbd91f38414d60381e9a2f3ebaca113a98de4338682151381801f43c3f659d3858c2f03700000000000000000000000000000000118113352e57b03548674536524a7e364a6b8434168c8f34b3a0b5342d75c734a0945235e41b5735da9c5d35a14d60352ded9834ac159a348ae19a34e08f083571dd9d35872c9e35c3bda135d0d50f369cfb97340a3197347a4c993414c793341bd64035a4713f35144046356bdb7f37cee6d334af7896347baa303789327e37f75d3135da9c28359a4587356511b8353fb85b360baf7c3fd9b9523ceaa4c0375a62c034868b6a3fa511a93cdc38863886a35f3562f7443fedd1a13c605b7c386e9a0135f9fa1b3f7336c33cb6d27b38206a6c36d1e4e73e8018bf3c5af45f38210d54370e7d9b3e4e07163bfca67438977e0a38ebe91c3ef2ffb73a62e05f38accbcb37cb4e273a9f8cfb39b340d63734f27e35ae1cf0365a0cd9379f939b371f8ed93386e3d333f18ed833e82ddc337205143594aa1d356112353548265235c7893b35b61f4235f20383352c3ca5352150fc338651f633fb23f7332f14fa33443faa358bbeac3578ffac353c9eaf35f9855435c69f4c3565a85835027e74353888fe34d4befe348dc10c35b5780337db6c4c365ec4413640f77a372de6e1373bc088345f038934f5a9c234208d0535322cda33f480563f97e2253e4043fb3761c24d3508f7443ffda9343e7ea02c38c938a935db46203f6fc2343e33b7a537d8f6f6336ccefe3eebcf1a3e5520813870c1b035c902be3e727f003e73bd48388eaa8835254e743eed4dbd3d0fa70138c21517371f19033eb470543d46101c380ef91338991ee5383a48783c74ad93385dbdd034cbea9b351d22b63781786037e8de3335b28d3735232352350f888035faf97935f020793534557c3557ec8035bd8056350cef5835c9ca5b357caa5c35dd6fce34b3233a354ced1036852c71368c36e735a4b1e63540feeb3573a0d736e06dbf33d447c03333c1bf3316d2a53657f6503679004d36775b6e36585e8436086a11350d9c0e35ac751b363dafa936c905c7358807be351bfcc935a6f43e3606463e35430a2a3f93deab3e3406d236bf397835a6691a3f2063b63e4598d837a2d958357ab7fa3e1f3ba43e9a158238edba7636e7dfc23e501f8d3e2bbe7237aebffd3648de8d3eeac15d3ebebce23741b69037f0ce303e9a74223e48a19d380d0786366f339e3d228ec33d5cf1a837984d9e36c47e613807c88f3ce5e9b6371248c5350216f4365347d937364a5b37fac2c235b240e9357283243641462e36855b553498015634202858346a5e0235c8794235b0a84435fb1f4435b9ec4335df3a2335397c223589eb2135b5ed203578683235881d3535be21373517602c3719463135c9fa2f35dc6d2b35daf22e374d6156356d0454358a02513548c3d03606193137ab5f183774e84237688e8137e1db4736dcd94236024e42360a92de367c6a13367562fa3e2dc6023fdbc83d37942a56344e35de3e6c35093f00e96d372b1046355771b23ec422f13ede24693741c22635b281853e59e3cc3efa9d7c38941d8e37c7fe4d3e6b04993e892e4e38c184a0370e42e63db30c683ec1b385386f6b0037794e443d97c8073e4be7983782ce6c371d4e75381206f63c57c7ff37fc823536dee8a737a08b3b383868c93792161b3510246035c5f64036c04ba1362ca257341f407e347e2359344e6e90342a0259353b597135808f7e35f754c5355397ca33a05ac6337004c533bae2c533bfd0e93523e2ee357212ea35d96ee13618876f365a017236608e81369f2c9d36f39c6a3507296a35451e6735f37ed8376eabb5350cc3b1354f07a63527734537768cc3355294783556cc013635e23d36f8fdb13665f59f3e5eff2f3fe028a436f7eeae343b1a863e3974383f8bdb8436374c0436ed70463e5c33223f4503b336516ac0355ec8113e90bb063fbcde8a38fc4c2f373fffcc3d630dd03ec4cdd537ff9ca936a7d54c3d0478963ea33f913764f11f38e6aa743cc7c9323e99b79138f7e26c3733d89638e137263daa971138da30fe350ec96237090f2c3886d35237c014fc34118e1835ce9e6d35491e7135e7209e3515129d35d1989c359230b235488cfb347e76fd3434a2fa344386fa3456be133582962435014e263576ed61351b2daa358f44ac35c458ad350e9ead35d386ff33b5b2fe33eeaafc330af41c353dd1ee35655cf135d919f4352846f73560c96837df2f343791468d374205ed3730200c37d581c536880a3537d1268f37a1fa05370bc10b3e590f5d3f1dad56355e1cee35aff5aa3dddb9663f1df80c386493f834d7788b3d4e7d403fb084d33765738335bee2b73c858f253f873ab53783ceaf359301943cbf8ff83eda422a38d1e5643731c1b038aebeb33e42f87438cf97fc3577ae4a3847304a3ed35da43703e10538abea8238305f5d3dfc1631384d3652377d18033811724138ecfde037255ce034f952de349c055c35a99af4351fe00534d2e50634c9db0734d96c0734742a2b350c802b35e7532a359ef32c35931c8134fe39823473dc8334f7288434f27b97355e819b35c4c79a356d769b3599a73035c8113c35648c1e3569a42a35985505361006e535086bd73579dd803799f70d3596a41135a6200c35ccf466370eb7b136d65bb0363f44af36073cf43650fd3837ebbc7c3895f97f3fb45105379603083422748a3766b57f3ffe1d77379e60313554770c388768583f5c965838b2068734a63436380fa2313f369d853877950436cc0b3c38b31a063f4eceb1389ff5523597325f38aedabb3ef85b8a388c20fc370a1d8038719d573eea098138c09f10381d50a838ce56813d4d876a3893f6e836a7a1873754770138f74a633700000000000000000000000000000000667c1a35940d27351e59233553413035fc51ce35a262d53592a4cc35a907e635c40161352fc15e35df455d351b006635e5e4893626738a36b89a8a36b4b7ed364388843661db8436e9ec813673853b378bf1b535fa00a035e6229a3564cdcc36d1c58336fb196836dcd15f36d397ff360000000000000000000000000000000000000000000000000000803f0000000004ca3935a29543353f5c783fd56c6638b2f0ef3593483c37e2e7533f107893380d6d743552574437c94f2b3fb5d67e38cea11d37a36eac37bbb2013f9033b938e6860e3854c099386ee7af3e1a24e338f4bda437986e623810c03b3e309a9538f0ca2d373f188337ce07283d1b51e6370000000000000000000000000000000000000000000000000000000000000000fcbf103611bb26363f5c4436c7be5c360fa8863660888f3653e04037311718387e5fc9334f8ea134234a21352a195635d61c4f3402d8b834af101d35b2c02937f992b236c29e6637042533389e3b86388224ed35b445f1353ea67a3651043637e2db30385a004138ae016a38f42e743800000000000000000000000000000000000000000000803f0000000000000000eaba663680dd6b3fdfd3af39d15a8a3a2d6f593897cf413f06f4493c0d27373ccd898237b3f71f3f99511e3b4c02c43a9a280138a761ff3e42cdac3af535fc393515a138f0d5b13e1008d63a68b2073aa849a63744ce513ebf11683c1be18a39daa29939b50c8a3d944e4b3a30dd7638000000000000000000000000000000003c9a0a3510723d3539639735ed62c2355a4571369e858536afce9636d339a536919698357897af35815cd535d508f135eb511336b2b3263660d74636f32ec2361f309f3602a7a536cd02af36309f3e373772ac36900aaf366a8db5361f31b936e7b01d36d22022368a02a4373ae11e38cbd9b73600035a3702bb083810094138f712d234f0fad234caa1d234a9a9d134d19ccb3541ac6e3f44f1893de382bf389b37a736d096533fa1a39b3d2761533aac12f9355db7313f5fb7a93d9ee0983ab7e2bf376cee0e3fca269e3d7bfe843aaf8b0638fa23db3ec3be803d0f3a2c3a49a2c336dd769b3e26c14b3dc4a06e3a0a4c543854163e3ee5e0c83c7abb8d3a63ce663818e35c3d7ded973ca506a63935a6d034a3b000373a58a437899cce3722ef773625af7a36ed857e36858433373d114c3667414f36ed4e5336899c6c36a099a8313621c3317f954c33da302c37b4ce14364f96173636fd1a3654ef2536e428cd35deb7ce35d8a9d1359ac00c373c611f3527e93b35a0666a35f9b69337fd361436af501536472194368865b037a98c10378e248637ad500538799934388b2d14354bc7133528901335a12a3035042f8837a236473f8bd6623e44e08238d7847136b4b8323f76e2573ec0da0e3a385cbc376fb0123fa257473eca2c8a3a88d47a36fc93ee3ef142293e37751b3a33c09b375fc9b73ec6fd043e1df4783a1d52fa3720ab803e00bac63dfafc623a85d7063874eb1f3e2b48653d41d20e3a0c024b38af91313d13a8a63c8a3e423904e52c353602273606a3af3766dcd13781084035049443358c6b4735c0a50436975c2a3697532c362eac3c36abac5136b56f0636126a0a369a6320363d063736711e8f33abd7f53389ddbe34d8c4c0361d80d53559e5e63569950236c37a4a3734741b3603cc24366d412f3638fe0f375c9bdc368cec5337a9560a384a244c3833369b36bcfb9936a6a27d37d1f5c437ac868d36978a8f3690b49236f6549836f62fd136e3ad233f605cb83eecf42c387fe98236a2de0f3f0d23b43ebfd1013a55c0b336676bee3e74cb9d3e90eb2f3ae9c69e37ef41bf3ed000863e8061853abc3bbf37ee62933e8cee543ef8f88e3abe5b9b370aab4e3ee08d1d3e67bf0e3a12037238c5dcf73d8b70c23d953ca73979a4ed3752d4193d739f0e3db61941381a66933670473e371f7930383496363853fe5d34a2d062349a3a6434f4043c36fa268c36b92795363b10a03678b9aa36c4443835b3bf80351e8eb135c1b3fc35bbe571361dbb7d36e81988366df591368af5c93689f1ca363aabce36d3923737cfb598365bd59b36730da036a01e5937f00b1a3644ff1a3614eb8337743c2338413fcc368791ca36557a4637f88ef037f1f17f3499278034fd637f34d0bfe036d269483776c8fa3eac6b023fb51aed388a5cac36cdd0d93e5b0dfe3ea4e67d388d3c7d379437b33e0a7dd83e38d7183ca2ff5437b8b48f3eb2c5b73e23cfa03a8641b7376bc8633e57c08d3e86a2373a7406bf37f42f183e6674563e106e963a344553381f39b53dba2f043e6bff423917101338cf91b73c15a4643d3c568238cc69bc36f95c19386c12f639417db538bd029336addd9436ad4caa36172d1937847b1d36fd492e366667493609356336f28236348ad9993493e11c350a3d8e37cff8133620be1e3616d52b36257639365a1a0136db2c063685ef113637e460375c739135b4f09c35f81aa9357805d137f3e26a36c4f011375df5c03727751738df64263809773338a60c55382c1d6c38f939603523dc5e35f58e09378de56e37a2238737779eae3ed0a9283f35404938e1c668364037923ed957243f0c186a38dd3ff43767a46e3ef3ce0c3f8880fd39a5903e3713ff3d3e1f4cea3ed04d333acb2bd1373acb123e6895b73e1c63a23a12181c387346c53d236d883ef333773ad60e3d38a162643dfa232d3ebf12183a206b81384e92873ccd538c3df5bff639e7d4763794b6d737a6cce439103a16388439e834fd89f03448c34c361be9d3363bb917366da92a3645b33c36516754361e730f36dc9a1236f9f91336ed7a3536d583de34ec85153577323a354bd84837d509ca359ba9cb35ff81ce351a417837c9723236d4c137365a933a36306580374bcb9037f4eec437640a1938ce645038d908a037d39ab137bfb6fe37f4e12238cd54a537b093b5375ca0ea37f6e80d384d288d37d22d463ebb6f4e3f59700c381bd540374fe31a3e49d4483f40959d39ed9a4a37c27f033e4c5a253f21c9553c5a8bdf371f03c13d1a2d0e3f190c993ae5addb37221e963de01ed93e943e543c5bad023854b13e3d6477a43e9cd8fd390d307738da54dd3c7e16503ea52a773ab6a43b38844e713cce359a3d0feff63995af0c3831dd3138b184a7384ca17238a055c634a010ca35d8565337020ea7374e684f3680096a36cccb843620859c36e17ac6358341de35fd94f735a4e93337ba59a1366026a5360d98a93633deb1364f35bd361839be36c361be362cc6813792018d36a4ee8d3652830f37a9a403381fa63936616b38364c8523370035ca3715f1013836560b38088e2d386dcf5138a9bd3f36f5203a364603343691223336e2d8e4376041313dbfe4743ff6060a38455db53798ba093c5ed16a3faab5bb3ab2f3e1377202de3a907d463fa66d3e3c631eb736e3ee6e385f32213faa46843c7a561638b13ca93839b9fc3eb981723cd4353a38e17390389870b93e10ea8e3a54e9183854be973cf9f74e3e8c5a953a1abc6d381d826c3c40bea73dc72f2b39a992523614e60338a92b2b39ae7298380000000000000000000000000000000018f7b935f2e6f83597ef233641ac5b36f2a02335f5ca5d355bec85352f84a8356a999e363901a4362fc3ad36479b1738d7d05335b60c5b35e554673543abc53653faa5355aacb0351d6eae355aa06436c8491f3807543338332c5a38379784382ca28237450f8937728ece3746a310380000000000000000000000000000000000000000000000000000803f000000009eb86836968b04382b4a6e3f07afff3944d1b535490f0c36459a473f93ee883aad594938d65ba438d810263f2e00c53a68717437c12143383b1dff3e98c8973a77ca55370666fe376cb0b63ec0ee6d3c1a70963831cfad388e5d533ecf614e3c7e144838d17cb23963529c3df11bec3900000000000000000000000000000000000000000000000000000000000000003469b634d61dc2348b0bcb35a54c023627ea93350a449d350086c03569c4c03584b3e5358693b535686b0136f7fa0c3600000000000000000000000000000000e4809635d3369a356cefa0356fca1e37d4d0be351304d535d812cf35167cba351cf19f3409d6053509375435d044a23400000000000000000000000000000000000000000000803f0000000000000000d5169735ba577a3f05530a38cc7a4536750cac358df45e3fa4c2a137b8f0c036365b1536be312f3f15c669373c094a3600000000caabfd3ec7ce2437000000007385ba37c8199e3e2fb21738e6a48d37c6c0aa35390df83d53180d3715d2e035782f10356e7d613c8d8796346943f733000000000000000000000000000000002f6d163655ee1136b7b71936d7361c361e56e2353f25ca35a17bd035d3ba4e360edbf135a327d93515424a36d8107e36472f0636f3170e3698fb113635f70b3604f40a367cae0336fd3d02363a460836617e1f3639c63436f27b5036bac46a36c888a5355a469b3598729635f09c89350b64cf3524d5c535baeeea35381408369879f4353930f135ae120c36d14a1936ca711836987c7c3f870a703c072c17368572d135d74f6e3f5ff7b13c34968636976f1036803d563f9e417739bb6d4e371d051c36c6e8273f9c12b93907bb0a37401e0a36bea4f33e81da10386c671837da444b36bef5963e96b40d3afd2f5c37d169bd35834b023eba5c93390c69d8364df4dd35227a6c3c1512e4378f03d8359686e3354226f435065905365a690f36c5c2913435b80234a7bce6360bac9d373ed2f735235bce35f2f4fd355e9903363421a53658a08d36fc0fa7362fcbb636c9b6583585611035e9586f35a8d96e35a9880f368162003610d110362dfa10369ca2af36bdce9836d7c9c236086cca365f931636596e093618a4113663c10f36dd032b361c83493697af6136e9d847362e2b0c36c8120136b4934536609e8e36789473346a8f633f6d04e53d60ce3537ce22e035ba86573f080e0c3e43f5f935951d943607583a3fe7a3e43d4f8f8e388378713590b60d3fa904e03d79ee8937e6cd18364835cd3e8df3ca3decf20d36c99ba2366a4e703eb09daf3d1e3fcb36db971b361eb7923de874953df5a517365ef449365cc4b63727461a3cc2723e362c9ae93535d7fa3689fb2237a621d6362c79c436dcb5c236bce6ca364eccdf36517c1a36517509368a5d16363b4944362a7f2d3606ad1f36e19e273630a24b3666f4b83623a9a0366388ab3626c8c336c9067435496126353ae92f35532497359a221735b9831435b8ac0a351fde7035934fb036c7dda6361f07a836eafd123766b7c4356139bc35a233d435df13eb359d0db5370ee95f378e638437b131143776ecbd36f81c323f65249c3e8c1aca36d9baf9356ae7273fe984a93e04d84b3661b525360ff80b3f185e973e7a646f36e09cad36e46cd63e8154843e73d6c736b87518353bdb913e425f533e548285356dfc3035d7e72a3e7443193e7bbc8a35a7eba236a408553dc93ab53d6edc1038726fc035e0c525383a5deb3af27eda3500000000398032381e4487384bc28837ae717136a9415f364bd462363e8062360fdeff35a083f5357de3f63563ae5d36f7b3b33539c3b13577fbb3358cceb53560763436fc663836e4273436933a2a3685f31f3608592436a09b2636ff5b663645eb3c3611d63b3630dd3836c44f2a3646e7dd359c5edf354315da356c72bb3592a45136483d4a36be645c36a63c78366996653649835536c4d05a36b3b15e3604a06736c27ffe3e9818013f77da58362c0fb8358dbfed3e5a77063f5c92e135787d84351c66c43e8941f63e18a2b935465a3736458a8c3e2891d03ea1e53636bbd03636352e493ee6d19b3e481f4c36aea71a36e278d93dd8ab5b3e251c39363150e035cf94183d76ddcc3d85cecd35f67e48366cea8a368dae393c316e59360bdd4136062049367a5f5136af096236000000003b49f7378fdbb237beb9123782b0be35af1694357fefaa3521dfba35973db636c022a33650cca136ecdbab3696c322359e3abd342f712a3538a62c35e43c96357189443531c75c350a4f7f35aff0cb367004bc360a22c9365685d736d22b6a36f2dc52369e1d5f36c19e5b361e36473642884f36cc096236646e57360caaba367157b636c163b836ade1c5364d283137ff599a3e7f09333f0000000003c88e35062d8e3edba3383f3140a2354c70a0368a11503e06a4283f58afa736dc1022352ef20d3e69ec0b3f124e2a35933b6735638abf3d37d0d43eb3ad53350e5ab936abc7443d30e68d3e4812d4362c763b36b0cb103d8581fd3d8df852366f905236b41de13740355f3c2d4154363953a6364606ed363d66b636dcfec936c93c7e361979ba3659d57a364dfa6c3636041e3691440b36b9fd07363fd83136d45fee35aef4fc35e03bf23513b21a36b6ddba367251a83683a792363ec6b33674310436d311fd3586aef735e95e18363c865235f3795b35d7454b352a25973548bbb636fe81ad367c01a236aa51fa37c9390436fdf108362fa70d361da61a36039a3637c2e72837ff790837e1982f368e87d5366c19db3d5de3643f7bdb0336d92801369a74b73d10ac663f73c41536a5060536831ce23cbe4f543f7dbe083668deb036683c523bbfbb2d3f7027ac36c09feb35726c233ba447ff3ee64f0836ffe48c35d25e853c9a34a53ec9489a359a0e373877f3d33cbdc40b3e3a345b38df48fe350b40333aba22b03cc0840b36e4a4d3347bd64c38b4f01a380ea4c4343887123651330336e9ebf635783e0536fe6cb535cde8a635f82ca035578ec135d2c380356072aa3506746535ae0f7535ba902b36bb271d36d8e6dd35bbaa26368b6303364b0c00362e9bfb35c29613363e493536871b2e36ad051f369b781436c3d86f36c0d560364fd34f36eef1833616173a36e90968362dd34636cde26b3607ae1e3683481136edad10367d271b3639cd1436d231463a1506803f8ef8e6352cb3ba35bc25973754667c3f84d5bd35d91c9335cb8db337b8bf5f3f32daa03581854736e858d6372ec5343fcae82f3686500436255da4375c77063f041b2036f6f412369734c5372604b13ec8f0df36b3249136e3fc04386d26283e41012a373f9e43365d3614389879423d94a15f366c850136915b0436dea9bb36878f15360000000000000000000000000000000000000000000000000000000000000000ba0af13505dfcd354a83c235987faf35484dbd35338343354ca331359071243500000000000000000000000000000000448f5336a003313622f13e366ae053368b3817365931f9353614eb357d43d235e5674a3613e77b365ebb653640a778360000000000000000000000000000000000000000000000000000803f00000000000000000000000083e77c3f000000008112a6356879ca352e61613f3a40c63580b19234d6f85537e76c313ff672e1370000000000000000ad8d013f4e2d093715c22e36d383a136417aa23e6f535b37c002ab3589884b370a9b053e3914893707594136c8d5ee3750c6be3c909df6370000000000000000000000000000000000000000000000000000000000000000bb041e36922b1a3610cb3836cea8433671f10d35fa66fd34e81bff34a01404357b15e534dbe8d7346dc41235e95c0f3559294d350eb137351be03b355d0a3f35171619355a79213515920a35fa695837df0bbf34a0e8ba3487eac034d21f80366945d6343eaf9434fef55d3442ec1e3700000000000000000000000000000000000000000000803f00000000000000006607553656256f3f2e99553cbbfc9338ee958837ef22503f30b6f63adcd3cd38c660db3464d8243f68e08b3cd0e2d038fcf86c35a9aff43e180cac3cfe102a38c3c24c38b6739e3e9db6e03c6bb2a4384c179237ed4e193ea9370d3d9d277937bfa51b381e95133da5f11b3c9ff32e3800000000000000000000000000000000c33a4a36fd055136ce0487368d1ba436fd0cc635a5d2fb358dd42b3636162f368ee9ff35bf540736719a0b3697780e36d31dc63530b1be35c4a5c33541902736232ea635107ecd356cb77436d3f79d360990e8350d2cfc350826f3358f551936709a7636cd9d763642fca736d55f0937c92a0336e6d91136eee13436e27a2136b7463336125b4636464f403664174336e578963678e1763f8155143dc5c045373b033c3693a05c3fb1db7c3d07db25382f9e1436b526413fc0ea323d8cac3d3880685b36a64f153f4cad493d75c7263870e9ca36c435d63eb7e96f3db9b2c23728a5853629d2863ef9bd733d8bcda2370624e5378dacde3d0a19863d55e248387163d6374663f038e41ce43c0911863883af3736c2f8e736b080ee37f7f6ed37ffda2936c2232a364a966a369d857636c761f9358d6f0636833b0a36ece82736f215603659b27936c1c9bb36f3a1fd3620345636c5234a368331543603c5503609ad2436fd8c2e36bc643b3679f06336d61305375725073760cc0c37e83f11371b984936a4413d36fac240366e1a44366009583658ce793613828f365c0787363f3f1236f6e70f365de015361fdb41369a725c365b345d3f076c0b3e0edb6a38dafc25365649423f917c293eb4ef8c3827cc0637299c1e3fd591443e02eed338d80c4c3640d9e43ed12f423e92a40b38b7d48436850f9f3e456e2e3ecb2c4c3833381c3761e52e3e825b173e55f928396533c136ad665a3d9617dc3d88a726386e84933602748038713ec83c11b691384376e43564cde8366517f43713560138bf37863663d19536b18a9e36af14ff36c7759c36ce0ca0361f86b736604ad336cd0cb335a37bba351ad2db353320c7353b9b8f36068094363a2daf36f871da369bb9b236103db43624ced236d3b3f13682b52336c812203676152b366f4b18368c8ff93689effa3671e9fa36ec4b0737275fa5368586a53603adb536f232b036777f6e36383a603691ef4f36369153362e9ddb366c312d3f87f7a53e98f03c387ef6d036d645133fd868bd3e10b7eb374594dc351bc7e43e762ebc3e47840b38ce1dfe3632069f3e40d5af3e68e761380a460b3785344b3ee6e5983eb9d90738190a2236229cc93dcfcb723e19725f372e031437e3a1ad3ca5a31a3eb4f19e38cd33af36c986a637de6ebd3c2a26b23715d9513624c67836c88b7637643e21375e97a4363c30c0361c1dfc3634c5f23668b5fd341bdc37352f518535646888351e591536ef1f2e3680c163362c1d9b3656d3b73643c4bd3612d7e2367d400037d52c8036028a8e36ae709d36f4eda33649cc00378cc803375f2a04372fac0b378035d3360886d836452bfc36b09cf93607523936a84f633678cd8536df248c36754203375f15023799d2ff36d93bf636b31cfb36451bfb3e737f023fad0b113716c5b135a222ca3efcaa103f6502f2376d64c036b8d7923e05540a3f5ebbe137a96e1237bf73363e824ef93e9b169237375c35375180043e20d4bd3ee7837e38604820376129073dcad49a3ec87adb379dd33137bfae7f3c4fdd213eb93822386ee752370ebb8c38cbe8253df0678c382a4ee3365b600637ad7e9137029c5037e7c9ca35689a1836ac0f65365cf67236529bad354cb9b935f4d7b035e7860b36fceb8036c76b9d36e7919236319bb036944f173657061e360ad92936c8452436795fad36c119bd367a26be363f65d6363889e23682faef361a80e7361e9deb3628f7e235a36be935c9f30e3621bfba36419a00371df6083723cf2237f57534370deab936b8abc1365d23b23687df093781eb083714c39b3e3452323fd2b049368dc05c36c3d45d3eeebc423f79059b36cb74d6362062e03dc01f383fc4557a37baf11b369f29483df7f31d3f58860437043408379cb5ef3bd05afe3e85ad07385a860537d4575f3957afb13e388496386f1c2f3729a7853bdf7a3a3e1ab4363818ce5b373fb542389a0e623d8b0a3438132f1337afaf43386b8c8d38257f4438ab54973625292a379fae49374cd83f37b75344362276473607d74a36052b6c36d2d23a36d1a2383661013a36a99b2f36a4bada367775d536da66ca361d72fa36a62d4036e6e03736ca74413626036c36342f533669d85636bc904b362adb37367d2f1637a5fb19372afe1c376ac83737d6d35b3635805f3669fb613636565e36155d9236ad7e8c36cf318b3696969f3638d331389bcbeb3ddca6623fc3d9013721749436d7eed63c642d733f66af7c374ef33d361277433891fa563f6cb2b6375df61437de0a0939dea92e3ffff9fd388f5d8c3632c70f38603e053fdf342b38cb834e36d7d20538a687ba3e177d1f3859d89a3713daaa39ff54413e22231d390a141d3710347038d1fb9b3dcf32683862c92e371a503a38b2a7993876fe063876e431365fab4536144547364b1b10379b2c763598b27b353cfa8735d5267335460608361e1b03367439fe357cd00536766ef8350376fe35d729fa353a78ff358399ec353f0dfc35904e1536fc325c363135df35fd7bc435859aab35a383ed35821f1b36971e2036850d1f36cbcc1736cdf96636bfef6c3686c374360cc8693630c1db36af7cdb3632f5d736df71d136a9a4fd3779a7c839b701803fb6eba33727f16335f7563b382aee783ff3c5363870611436312d79376b96533facb47738151506363e5b7636f6882d3f2acc0538f01e9b368259e136e027063f5c6f133886b9323693d55637c79cbc3e53aa56384da82536b373be37e7484f3efc25553821488a36ad1b9237ed489d3d65cc253876e9d136d1b1ee36a1374a37efdbf3360000000000000000000000000000000061710a344b115434e8418934048e843459e7ce348196ab34ca5db734b647bd344ebd1535e8af2235afa03835796a4435618f1635348d19356e131b358329283523b81a35f1ed0235d0980135f7c90e35cee3ce34004bce34765dd334635d7737891d64361fb67636a20a81364b1b77360000000000000000000000000000000000000000000000000000803f0000000006858d347242b6343b73743f65fea538490aea341ebeb8347106513f8d632338e2863d352ca9023884a8293f3fe2903af3f0413541248435e934003f9f09c13abe782e350ebe1535604cad3efa2ef33afa482d38ce36a1387c1b2b3e3ebd953cee5fe33757fa5f38f000593df5ebfd3800000000000000000000000000000000000000000000000000000000000000007d3d1e345efe1b346a982034fde1eb363562bc33ca51c933ee09cf33541d2e35ed11b435eeb4d635b0d9f7359e9eff35a5fa8934702785340471833477cf2f37e6370136286f1236c5552736957a12379fb5a2352ef1c336cd98cd378d4b4838b3573535c986303569f6ca376f57483800000000000000000000000000000000000000000000803f0000000000000000030d103810c8603f761edc3c4eeed83c3fd98c37f2123c3f7b79e13cc626f33c14dd0936c2c91a3f9f32043d0ac46f3cc89938389c72ea3e1422283d2b82463c2b13b63765989b3e08c87a3d4c304c3a58528a384491363eb6924f3da8d8b539b1269d380d94653d3da51d3dc60fe03800000000000000000000000000000000bcc4473632fc60365ed778367e638536dc039634aaf19a3471e3a13456eeae343fb32f33bee4323367bd3533cdf6643398bd22360fe13236f0c47c36b4db9f36c687d134a3a5d034ca3ccc34d943cf34cd419d35a3b7b5355cbfff35460032368698d1356cdddd35dd10e935f0b5e53569c81535411b11351ef90635799bab377441293559f12b35b7892f35acd03035c5b29b363ed9723fb9d4503dd0f6e939d722b034dc5b503f96fc413daec0353d0abda83398a9263fef03bd3d8771163d7bc97837d5e1f93e7975f63dd486f13c7355d6347f73bc3e5c50e93dc68a8f3c717c4c3656297e3eea17d53d6b92023ba472f2355a09103e5fa08c3dd0c47d3a26a22b38e7921e3c0aef423d5d5a38390fad2935fb9c343592ca3c3554ad433761a9d634ed295d355ae8c835a9034c360b6f9a345e92a134c033ae3405b9be34c0ee0d350b821a352cf91c35d78924352add4c36cc8e6a3663be96361fb9ba365f0a1235649214354c400d35082a0b35da19a73531f9d43524ed0536471721367551463676595336be806d364a5283366c48743591376d35f52647357e4e383500d30935f23e1f3546471b35d32a1535b8f3bd36569a4e3f2efa443e61aed839e6f3b9347f3e2b3fd7d35f3e4343063ddb9d2d3551ff063fc2d1683eb358f43c484540376679c43eda74633ecf5ef93ca109e837fdcf8a3ea7bf433e045cc03c57250938e9a31f3e9b17173e5b92dc3c9ec51737e226973dd6cdd93d859fb23c75f74b3513b4bf373c59323d9947a03a06631f35e3f429354d2b8b36021c08381536a433095ea5335105a7339899a7338646f33479c9f2340a67f534d2050a3574349a352b1db435a7c20636277f3836c5c3cd3441d3e23424a45235e450a23578d81f350a062235cf812035fe8328353855553674ef6a360e10783610f38d362bcdb535c980b93530c2b4351df79b37d1875635be915835b1414835150456365ede2e35bcc5303590f12e35cb4a29358cceac33695c243ff073b73e513c1138562e0c35a5f5023f2130c73e6f439f3c20c76a36a3c8c23e9a9dc03e2d89ea3cf527c4350d84833e93f8b73ed7bbf53c24802c354fd2333e1b6e903e9b513d3db2bba5371d97ba3d99e5663e5520043d4fa93138ea19f93c62b3193e7502b53c4ef198378d388638f8225e3d35f90f3a19762f35da386535aa3c5b372119cb37ab735735b4205b35f0e45e35f9fc73358c9da4348269a634357dab34bb3bb834f01ff432ef6b5a3348faf533fa618334db86a5354177bb353228d2355a0f07361dcfd234a7bfd134aaf5cb347d0bcd342adfc1354f7ad235e55be535483c12367e145e35b1e364358fc0613594faaf3740e90135361a0035972b4a3691c7d03787497f3595f37e3566187d35ad977835ed5d4c37d0b1f43e1cb1053feb104e385e08de358325b63ed3b6133fb64aa5393baf5836f2af7f3e700c053faa3dab3c3e442436d09d223ef855ea3eed9a023d622f653685e1003e97ffb13e3515db3c7d92de373041193dd8aa903e79a6043dbf0b2338a9883f3c129b353e9009ae3cfb591f38a824a53830bc883d24cfc73984e97635625d79358ef60e380b3e3038ba503535e4743a3550c727374f1da537ffebac349d1bb2346204c6343326d534add17c35d2a78b35ddbd8c3585dc903574e20a360c921d36e4463f36f6817036c9a13b357feb3f35a43a3935bc0a383595a4953543f0a8356202bc35f790d435969a5d367b4a7236bbef7f36e4467c373d7f6f35944c6b35859b4835f493ae377044de33b42fda33b2c2cd33e903c633f34e0638443ca23e5af72e3f22cbd337fab8dc34d456483e60f43f3fd8e0b0382388a236fb43d43d6a7b2d3f4c56883cd0348537df43473d78af123f4597f53c1a5a7437c13d783cefb3e43e382e103d7379f435605f8838b72ba73e0b9ee63c44cdee37cf289e38ccaa413eb875d43c19510838f59aa9384b1c913d47401b3c906ad033c3ffce332515e037bb30df37a3845935887c7f368c7af937753029380608f634208fed34dfc4eb34d956083546c1f635c4ac1536c6562a36d1964d369fdf11351b6237356a278f3541fee035750ee63468b0e6342460e3347964f434d0afa036cd2ea9361115b136c77dbe36b37b7835d03080355d3372352bc46535c74fa235a21cb2352e14bb350e9ca035bf39a136e241a136ab78d836c59d6237680887381f54203e34ec573f24eaf5370b2d0a35766ef73ce5bf6c3fb94e193a6a176a3634cf0138aea9473ff303983c67e10936ae6e5338f19c243f73afdc3c743cef354a889c38e629f93ed58ae93ca916cd3649d21838435eab3eecb1ef3c36976f3583446038adaa443eb65fc63cdff826372a097238f972a03d7cddee3a64e88a37e5212538a18681382fdb82385c784f35c97d4a35e787563528ec59367d75bb34389ebf344c38c2345e0ace34daffba34830e1335aeef4e354f65893522a76b35f1b193355307b4350ac7fa35408cdc34f413dc341c59d5346e6ad534b4c12a3659b83c36ddcc6236eca888366b9c3335701440359e70443567934035f1fb043557a102359234f7349f86e83443ea9d367e659f360e5a3637d85794373c5bf437aa19583c72b27c3f5b239f37ce40d334bd0d0738dcee703f8528bf3a9b3d8e35ce8fac351648493fafb6913be70a1f36607e6c3787741f3fedeec13c9cfadd3499838e37b4cbf23e98a0de3c587e9236070643386e85a73eeb85113d38276735efc8c137aa66423e257cfd3c5d9ef33431a51a376f859f3d59f98a3c5e25c937290c7438e86bb7384b57ad380000000000000000000000000000000025d2d63486dee0342deae234c11eee3425cbf3345e130035817407355d821f35ebaa2335c3cd4a35b2d7773581a5cc35e11dae34d852ae34479aa5346b10a2343814d7354efddc35201ae935dce0f93562d95135ba65783590c59e35cd74c5365e432e3642ce6137a5d20a38bbae56380000000000000000000000000000000000000000000000000000803f000000006dd8ea34300b9f37ebec633f642e7e3c7215283567a50f383717413fa0c7883c5addfa35d6d54a37966c1d3f0a34a03c4b57ac34c6892f389249ed3ed86cd63c06370236148008360fd1a63e31b7c13c6964b9375c1866385ac1343e32e1013d8e0e8938f5f8c2381ac1563dc31d863c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013596e3440068433000000001808223448d16533f7086833288f6c336922923347a92e340b0e213458e00934b2b142347cce9f341c2d8f340cdf3f34ba960e34a660463340274b33e6a5473301706c3301fabf347609cf34b808df34ef81db3400000000000000000000000000000000000000000000803f000000000000000000000000ceff763f0000000000000000e9ea7834b5435b3ff368d438be98b634e1f51a35a983313f64c8a437615f85339b9359347699fd3e7da7d539cbf56939b735ab347d4fa03ec4151e3acb6f3a3409ea7a33c832143eb4b9a739c2735433428cc6341c6d1e3ddb18b9377303a93400000000000000000000000000000000bce316338aef0e33fd190c33a302e333cd2774341033333414bcf6331c4a7734a0ebdb32b8bee0325551143341e844339db925341e211f34a9cd4034f522433467eb20358fa1183563b5253545412135f9e20234e8e54134532ac4329e067d32a15800342f03fb333adc223437e71034e81fec34c881f13468720735133ec734bd7d4e3584733b35f40c92348e6ca634c2830a33d6e67b3fddd4c43c80d10e33f94528345998653fa4e7423d5efd4e37b35e243358f34e3fb1eab13b50e93639f66f8a348022233f6af8963cb7e58838735952363d52ec3e2185903ccb45e0378a23ce33534a933e025bc63c163652342f391b34207cf23dc8de1b3d55e2eb3330f1da345746213c4a93f13bce08c13424af8734a65b843404700535b3596835ca7ce5314628d9310105b8315ef101325d69463497234a3479db40348c91673453104f33115d563386f85333695970330000000000000000000000000000000053a92c33bfbe813304ca0833d712493378446933934e713390fa5833dc986433000000000000000000000000000000009ed34434cad529348e101434a204f9330ae885337d098433a98f7033ffb973333bfbbd312bc0643fd6dbeb3da13a2d34628d47347d1c543f9028183e5d26c1349b825c335644333fbb51fb3d2fda1839000000002886063f9f1f0e3e000000009a17fd32eee7b93effb3053e0d04db338a455a331c50433e20c0033e00fcbb3300000000f4045a3d59d6da3d00000000aa47ad332a576438357bed3bb893873384fe4733ef85493392c661333fa38233ba34523312992d333a742833b3e65a33eebd07340000000000000000a4772e3200000000000000000000000000000000438152335e9755338b3554336ae87b33433e3534e1611434c82ccb33b8001634000000000000000000000000000000003b995533e92155337fa15b33de8571330a62a23404d5873470481b357e51253569376c328508833235fb8f3280907d32767d4a339e69393f346c913e9a8f473300000000a655253f0b33ac3e48206e3300000000f6dc073f4c6e9f3e000000006f7087337d0fc33eb0d8953e09de64337557043451656c3ea796893e1f32f533000000008c3cef3d68b6583e00000000df4280337c790f3d3edbfd3df36f5d3327b82235200df93748fffd3ba3d046355e9d3432234b4d32c10a3d32dbd61f329fe7a734ad2d81346b134b3421da1b35139eaf3418ef8c3404914d344781ee34f3f0cc3398dcd433aedb0434a35d2d340542c5331c7fc233df75d133fd3ce5330ad7103525940c357cf80c35f37b2235e56dad337982f73386949b33657ec53320cc1334d2c80734d37a30344fbe14342b4e083583c5203540912535992dff3452a33a3597ca4e35032cd534a822e434378b1d35c118063f8334fa3e33568e340f64b4345292ef3eb074083fa19b0635341d1034bf75b33e1b97003f392a1734772e5534df036e3e287aeb3e08c9ca33ffab15359ca90f3ebcf0bc3e32def535a1559a33d9296d3d5520883ee7aa2034f8d4133482e6133d0772023eeef71734ff8ef5344a1cb7393929fd3b8ae9ec3472098334c833b534ab5aab35e94a6435c07b32326cd1273250540d3289284b3200d74c3420514c3434453c34bac76e34f7c92f33d9063733e3ce333378d84e33000000000000000000000000000000000bf0ff33a32a0c3471cddb33b8fe1a34fce93e3314214633b1683a33f4de4d33000000000000000000000000000000005dd71734b8ec1834f808233404b1ff3398116133b500573391f9583393625733ab861032d9f1a33ee207313fc0595032b1404134f8fd913e18bf373f48be9134ebad3933da292d3e980a303fa6cd8e33000000002012b73d42ef183f000000006191e833b67d4a3d0798f03e0d43503405d63b3389881e3d440b9a3e2477063500000000a86d163d9a880d3e00000000f871a1336167303ba771da3c4c718a3378b72d33f4c32e333eb64e37ad4b5b33c4157b3394ae6d334e623e333f248433fe0935340000000000000000000000000000000000000000000000000000000049927c335a1e8333ccf56e33c5d4983352fda833bbdfa43200000000c4a491320000000000000000000000000000000016037c33907e7e33b2537f33b8e99033b2467834c9828134f6f4863416958d348bb61432d6412732e4893932c35823323de68833991a0c3eebd95e3f156b733300000000d9f6e93d039a633f2eb42433000000005b99823ca748563f000000006f88a6333b5b943bc1c8303fd25b8a3355412532a97b5e3bb6c0043f71199d3200000000bbe2a43ce6b0a93e00000000627d9a3340b2323d73a0163e16ad85332fac8834cd687a3b6e64f23cc0866f34080ff3316ccc033277335234bb8b613452e11735437bdd34cb8f5f34f0edee3491867a34858a5634e6509c33132db8342515a933dab082339e985a338169e433fc22c032c2deb833a3328c32a9fd1633c3be0035c57b0135bb39eb3411d12b35c30f0d34b52508341e14093414ff343496f42633bb481933a33e48332e692a333deea23481bfb73452d2d134bc3fba3440607734347093343fb44a338e5bd23385fd4a359829f83cc2ca7a3fcb8b8d3403348034bce69c39e1197d3f86b6e534f785a533632b96394d4f5b3ffbdf17347a0f0c3407f30737ed9a333ff270e232e3c4713607db11385809093fbaa79f37cc931434e4d8de3950d6b63eb45daf346b122833b854a53c4105383eed714938ff21a634e49ffb3878f8803db4529134d4091033eb381433728c3f342067c234000000000000000000000000000000000a809e34cfcd9834ac87853411b1ae34ab1c2e333b78323301272333627c36338a1a8e328bc2843275822a328c14b13290071a347ca1263475b214341b2a243461fb5f33d4466a3344aa55333b3e6633e62ba33425b50635032ee83466d29a34000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f00000000d1a3903489d6a234507b783f79ace234303e2e33ce44313388d95d3f63d295387a74bc3336c7ab34a7a9323f0439103926ef19343af81334581d043f38ab133a56225a3336ba3d3551c1a13ee188a0399f74ca34f4d3a839de341c3eb42768390000000000000000f4b9343d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e145fd35d0e0ff3568261d36878637360cad6035395a933506c9cf35850b163600000000000000000000000000000000949717363f3f1c3670042936fdd73036b3ae1d363e663036bf343f36669c5036d8cb153596063635e88d8535cc02a93500000000000000000000000000000000000000000000803f000000000000000000000000818d673fc9f00c3d57bb033a7a3a3e36b07c433fc08b0d3da5b12b3a5a1e08366efc1a3f69c2063d710af4390000000036b4d63e30f8983def994639e80a343671f0813ee718c73d93db9b3970a437368840f73d6149943dcc730d38e4f679354ef0e63cb02cef3cb1c5d93800000000000000000000000000000000645883316b0fcb30fdf2bd33681744330000000000000000817c1932ffd6c0320b17923354e10f349d571c34015133353f15c034ee9ebb3458b5e834fe7e1535a91158320000000047eaa52f9910e432d6d60035ddcd2035d4494635dfce9635220da4342153a0342511a9342749cf340000000000000000000000000000000000000000000000000000000000000000305a4d328a5b713f14fc7e3d4856913746c46633f72c4f3f7a08e33dd0081a38b0cc07351ac8303f7cfcbe3dda45f039ee750935671af63e60fe243e9a64b7393a364f33b58ca23eeed2393e62d65f384acb8b35b491323ec36d2d3e1c000038b6f3b93469a7b53d1e46db3d79b4493800000000f8825a3913db363d60368f3700000000000000000000000000000000dc539234dd18f2341d80663522bfc33599d8f63335245f3443380d356ecfb335f352b035f3d1c235c10b013658ff1b364eaf8035e6e1b63592d62036210a5f3600000000000000000000000000000000e490c534a14e1c3510738935487c8e3518d0793554a57e35273ec935abe80f360000000000000000145fd73100000000000000000000000000000000000000006c17863575855f3f2546063ee88d8736c6568e3523d7353f62b6553e8a20b137c455313692300a3f9fe7893ef054963786585636d62bb13e2a639b3e18b28437000000002e95553e7b54943ecac563378af6b535e7dc9c3d7579843e17a1a8377f1e0536144fb83c3a5d153e6080783600000000864b1136e563da3c94cbd536000000000000000000000000000000000000000000000000161fb133a33d67340000000000000000000000001d00db33677d0d36f21c0a36ce6f2736c2df3636c3978935d25894359705ea35f5ca013600000000000000000000000000000000b54c51361ca7523607a16c36da7a76364a845f36797b57361447723666c770360000000086c2ee32ed6d4634e7bc1035513c9a3347e993330000000000000000b5e4aa3312a2313fa5489f3e0dcb17342a7a2733a6a5063fc8fcd53e20329f37ebb36536f628b23e1b74ef3eb4c797361b4a06368041493e8243ec3e8e70b63700000000e9d0963db6f6da3e9b7e9a3767ea8136b5f2b23a9d7fa83edf2c06384b2565360fcaf1384fe03d3eefe648380c268b330cda3a3783f8523c648f8a370000000000000000000000008c6c7f346e38b7327b1c9932d9805634180d19330000000000000000000000000000000000000000000000000000000026f08b323437ac348b608034a3407c341d8a8734000000000000000000000000000000000a411a3495d6fd33caf5e43391e8143416732534a70f943328e2c732182e89330000000000000000000000000000000031fd56343b329d33ea20b733bf9ec033341588328b77ff3e30f6013f0000000000000000686db13ea3461e3fb98d59369bca5c3302c93a3e150e263f357824364bcc2734c4082d3d811f1e3fbae8fb37000000001b26a239222d013f937ab4381d4904345c758f3858efb13e3a9e2f3800000000f68962373036343ef45f243800000000071e5637d40b273da43da13789e79a3150eb9b339749a532bcad78330000000000000000a9ae8d3461ad11350000000000000000b8bf0434ce843535169b4136c1434436eb715c36ca1b6e368026c935ab0c02365f273c366d316e36000000000000000000000000000000002c3ad43598fec635fb4def35a5c8f9353236e235f4dbe1355aef12367a131d36000000000000000000000000000000006f00b634d5242c3476ba56348e588c322701dc35824f993edae8343f00000000ccbca9345ea22d3eeba4523f17210635fc4d83364828d03a5fb9513f813aa937e2b76f368b3cdf37be5a2d3f689bf23700000000943b73379bdf013f06d9953829870136d31fac37215cb33e2ba2323818a90d3674a13936a28a463e9c69823700000000518a773729c17f3dbb64d03700000000b392d93316441137b48df1330000000000000000000000000000000000000000000000000000000049df1e339985e735cc1fe43509eaff35681b0236cb7790341ff78934b66f1c35c3c450350000000000000000000000000000000029323036bbd42936531d303611bf3836274f153645c10a366ce9193642161e36b5a71c35d949453571aa5a35d6f59b359e738335b0e35635b01f723504c97e35000000009c0ce33dd3e6643f0000000074690a3336604a3c213e773f00000000349b38365106a8363fac563f9c947836666d8c3575f5c33579572c3ff55d003800000000000000006b94023f40c2f638aa0d3036f4206336ac8db83e67a9c938d71b1b36be98333660ed4a3ece6c2d385f144a35d776f336154bb13d46f50038c0d24935b92093356c5242362676b8350000000000000000000000000000000000000000000000000000000000000000429a39341eff6634e8816334f8e196341ec7d7347be9b03411bbd13492bbe034000000000000000000000000000000007918c7349b70d334e885c33470d4e134d9445034a6ae0c34c0841d3487163f340000000000000000000000000000000036ec7634a8c9d133d925eb336691d632000000002f663c3bde3a803f00000000000000002e865236358c753f75dcb1373a46a034d94fb73421f24f3f878aab398118ba34c3a816355ff8293f0972f3390000000000000000f02e023fe9f8d13a26cddb34779f9537a611b63e4b7c343c03c1fd337d192b3759a6553e7810713c00000000edef50370832ae3da46c083800000000b84b4c32fb1c8937dc541e3700000000000000000000000000000000556dbf3468abac34b4020335dfef5835e3e20a36399cfe35f4190936869829367388cc35834acf35983bff35c9921d36000000000000000000000000000000007099e135d765c9351424db35f793f63593ca123608140f364a5c203670af3236000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000009c214435b8b16135a4f0723faa29073a893a2336d1db3836cce74f3fd5a3b43a2ff90836080b20365836273faf04ba3b0000000000000000564cf03ef38f4c3ded81da356084f93587c49b3e1979843dbd432136ba7d2d366dc82a3e5e162f3d0000000000000000a4c7863da351853a0000000000000000000000000000000000000000000000000000000000000000dd337434bb836c34e0c47a3482cea034356739353dfa7735c4bab235c1baf435fb497035d635603510a04b355b8c3e355a01fd34ff56d034eededc34ef640835ca6bb5340862fc34ccb473355626fd376a061135d754e1346c3011353b5b943795df3e35ef490035578ce3346b8b8a3700000000000000000000000000000000000000000000803f0000000000000000bd1ef2344597593f2f326b3db909413d7ebd75371210303f377c8e3d6d10893de0c11637bc33e13e06d2443ea47b323de2b1df347384903ef7b6663e6068773c8bd68b38eb0f273ebfad503e5402493c3606f537c83add3d524a0b3e35a7293c682226380cf38c3c550e963dad1a853a0000000000000000000000000000000034642433fb4e143337562333dd011f332d870433f522003373f209332dd90f33ce1da235a983b43524c3d5353c8eee35997e2635c098443549965a357d7d88352fc891335df18233ce3771331a638133b3633b35462f483566047b355252833582bf9335a3c19735916ba4353b680337b6acb23378849e335938803331fc8d330000000000000000000000000000000063721f3328cb6e3fec40903dcfef1239dd230833a184453f88e0be3d4f6d913d26920a36a2d70b3f3cac513edac18b3d4b248a35b4599c3e1fc6a33edbd9243dd5057533ee142e3ecdeea63ef44a623c9ef6a135d64f963d3666943e3bd38b3ce4d5c137af728a3d4e12163e3a13673c2772aa36f4b0a1387c49583d911a333c0000000000000000000000000000000091fc9a3363088433bfa4a2338f7c0835c9940e331ce81733542b4c33b2496233e3572c35123a3435df034935f732603571b85c33381081336ec88233bc438f334e170833d4141533b1d241338ba55a33e0f6f834d5d5f9346e9f043565490e355736e034c567cc34f4f3bf34757aa434bb1f8733261694333a00c333b648db3300000000000000000000000000000000c3682435d0b7593ff2f9073efc68a53ca2147533544c223f4d0e743e79b27b3db27b7535e1e2cb3e02d5c13e4d24503def6ba133838a403e6e23e43e3e09ea3c54086e337789bb3dacbbc43e8efe143d705e1b35595baf3c1ef39b3ed6de343dcc6ada3625b7df3c8be5133e308b103dcdf8f033a8a5c737439b873b0b8c723c9289142f0000000012f64834c991b53500000000000000000000000000000000000000000000000000000000000000003bef32359a974235f0f53a35dde50236beb86b35e9a3633581b84c353e4e5135c37e5f333020493340b183330c97ac3344f77f34615f4a3470a4743467f991349419743554346035724c423545f0383535608b32c3647432cc9a3d32e0395132000000000000000000000000000000000000000007ab293f1e0dae3e2efb3138749fd735cf1ce33e6da0f33eb96d023d338a1c36c0d8613e322a143f330cf13c3f3f73368ebc823d601b133f5642873c2cb3a73302d78f38a5adec3eb58b6f3df36ca8348c593a38e038933e6ea6a43db95e303521451c388d67033e5c54913d4d9e5f32617ed3374e6fc63868f8513caf0b10328941e931c3c15e35f48aee35e4c39c322d808732c4f29432adcc8a3200000000000000000000000000000000e2758d35b8239c3574b0ae359acdbe3502b22035c3453f357c7b4935558b6735563e1532596d1132b32a07321eda0a32bcb083359ac1933536b3ae35e4e2ac35d43ca03540d4a4350049aa3504baa53500000000000000000000000000000000810d36321505873283c395322b58a73299c585375a5ef53e3923063f21bd1e3800000000c6b4853e42a7353fca14da38c1fa9236b9027a3ded373d3f2d12c63cae477a350af592381fe91f3fd08bf63c2b040c322c567a39044acc3e2f78d53dd44fdb3563e3f5370052683e9db2fe3d99c3913501da1e38e7bac53d8008ad3d0000000067503838a98e673af29b033d3c6bb83229d3c332af749d36998625380965d135c75df635e8fd29366a1746364eb70832453118325ffa4d32fb3a6d32ca103a35b8e43635669a3d351b944a3533c2bb347b08bc34bfd89534b194ab341869ae3349f2c233c3f0cb33865dda33d8a82d35cdf9223584022c35d09837358b553f352c663335f3601a356c862935c845563370a655330ad2fe31000000000000000000000000035ff132efcbbf31f1718537194c9c3e2cee323fe044f6353724813244bb823db3ee6c3f5daea838756c5d3584be45385f234e3f40edc5382aeda93444ba3337e5d2143fd038683daeae02341e66053784cbb53e4663053e3a1b4335eee5b0378da7483e1ea21d3ec536da35c6bfe9376836bd3d6208ab3d0000000059b35838f3309f3c15da073deb899a33a66c0d33f477273717bd0a3876288c34013a373505249e35ebe9f136917bf733b9fadb337839af336746c63362b6be343356dd34fa37c4349bc5c834d239323586bf3435b82a2d35f431333557fd8033d4c96333a01133336cb844337a20b53322b4a533de87a1331d949c33e79d7735fc136535f4ea51359beb4b35f8427e33bbdf6b330f4a40339d5e5133c4a828336aef90339282a333520a2335018b40388935e03d68d5643fe33782357b713d354610e437c3aa7b3f1b3591384c3420351dc8083630e04a3ff80cc13b602d35357688e136b11f0b3fe566bb3da69e433332ce1a330bd4ad3e0da71f3ed079a43383b1d736d9bc333ec3492c3e894078353cc63f37b7f4c93d280ea33dc0e45933c5b29d37ad95053d7a7e1b3dbd886435096f1d36c6bfe537c7345e3800000000000000000a7f063674cf4f37aa8b4333ec755233c9048733124b9c33b5569135bab1aa352c45c7356ffee0353e80d7340ac003353ffa0a356abc2a352c8b883302938f3350a09533e84c9c33eaf390353d99a1354407b935fc59bc357a7fb335eebabd358213c735c0d5cd35ab254a3305365133aca13833dd8f2f33d25c22332488443318554c332a10433348d23338c3cd373b3105803fa221943648e6a933b1200037ab01693f3ba0f13cf1e10f36e7d81d36a7c23c3fe90c233deaa44735129d8435ada1f53ee737163edcdea6339b869833cb38993e90f54a3e3ccded355bad393741b9133ef05b493ed03aca350fde6537614bc83dba70b73d52133d33018aaf361e5ddb3cc8732b3d2b55633341a26833518d2c388f64833800000000000000000000000000000000a52806354e2b0f35320f2b35f3933f35a6b42d338d135b33e3956e33a0ec8933b29d7b344732ab340623cb34f1b9783587620e3529f8193575c62235904b31357a35233567552035275e2f35cb2a3c35e9f3b835aca1c1358e89c7350919e83551eec4340adaca34d3cbb734d44eaa340000000000000000000000000000000000000000000000000000803f0000000064b22f352a6449359e385e3f4ea0383d8ceda1337e3ab034d36f343f29aa393dfc10a33554e3c73749efeb3e84a52a3e7ea0323536ba3535fd79923ef2d44a3ed8703c35a2554437d297123efccc3f3e20f805362e964b38bd43c13d2038b23d1c85da34eec92d384c34493c28ec153d0000000000000000000000000000000000000000000000000000000000000000e1404e3497cd4734e136c6364293a537f5b6be359b15923580c5b43676929c37606df63536efab33b51061378f3cbf375011783729d8d136b0d5d537a0020f38a4c26b37ff03e436faf6af37266009380ac66e373ce80c37ed0bbb377b25e7379b888637b86839374d829d37561eae3700000000000000000000000000000000000000000000803f0000000000000000a6ee8e360aeb7f3fa94d24388629b1376499e036c1be543f17b31f385d46ac379d6a84376c012a3f4ad31238522ebf37f2c8f237cc6ffd3ee3df4138f8700a386cfbd0376ffba53e7ef84838fbe8dc37c2aabe37421a203ed5b91838509bc137a66e8a37726a333842a5d837d5218a3700000000000000000000000000000000f293ab34abe2a134bf44b534c8211337e7b4283682781936263539364c3c3936151201368023ed355f7cfb36cd64a63705b1683694df59367bdd6b36cf4708373e801b36c9e20f36e9431e367976d837ba310737454b34367b3d6e37cc5bc737a67eeb36a3238236cbc80937f02637372430f93622b55c35e24ef03691062837a91c4e363783da35f3bae5357403a2363438a034cbf07f3f60d6463857adfb3651cc243695b9763fac64b53c6f1b703634c6fd3571ad4d3fded9b63c5310b43786f861362b33253f471b833c94931b373b241936bb4df63e5f4c663c449bc937ca8236375257a33e07b42d38948cc937bb28d036b24f223e8ece503890142737553457357d3c0a38adcbb73748670d37690bd235b520ca36b8e23f370d31c836ac24b637ffb79c3713fef3377b94123847ccb7349dea7c3443280735da2dc836bb76ab3597b59935152ab835fef6a0367bda5336f7554b36af0afd36595fc03768f83837fd17ea3686285437b6a1a8370d8f053768a574368b3c1c37df82ca37e8c58f36b9a056360149da361fe7f737110c46373e8d83363cd344372d98963764fe1a3823380538d4a7133820862538ac77a437401b543faf432f3e362ff5373b1e9c3484f94e3f4ecf363eec5823355980a235f8752a3f6b012c3e66146436d13d523613790d3fc69f093e7bccbf37a36333375f92ce3e5508c93dbd939b37daebcf36f8e1873e280c4f3d40b4aa3795eb53360ce6103e409b5c3c757cbc37001c08361eaa023810f80c380c0770372f23cb37ebf32538a8fc4638706024387d19b1367a96c336bc30153860ab52387eb23e36232d13365abef536a82ba0378d732137b24204372f8c3a379e59e537bbb87736f73a483638e77c36fb3499371475963668b5e7358ce6a13668710a378d3ddf36a2b84736d0290e37e486c13786e14d372bfc1837320b46370e56ca37c9f2b03751968336a07f8937ac2a0538da3d8f37be7673373cc186376cb691373dd630365889293f48a9ac3e15eba437af6a2836b76c253f70e5af3e90232737427c1137acc90c3f3bf59b3e3a358137616469361837e03ede89793e5e0d5037a6916e3639d8a33ee20e393e9cf1f7362142a33662d9513e0f25eb3de50d9c3745c02237f624c43dd3a74d3da1b36937d1a62236ff645f3808448238d21da237302c2937014e8b372787ab37f8008937afedc43518e92235900f5437a8029837521fce3591f4c035fec6d23532490738d41bb9362c319d36a150b436fe11a137f4861e362548ed35d56a12362d8040370b7088371ef92236f27e5237d9cb2938aa0a3e3678fa1436d1502736b0af6f3740679137b0523037506a7237b1d5c637505821386a5aa137a28cf837e5dd3d388777823706702e3746f3543798699237ddb91f3571ddfc3e8c7c013f83f63f36b4e3c6351128fd3e2657013fa304b93624aaab364824cf3eb42ae03ede434f37b6d70c365289a43e2958b73ed66ec936b5c46737025e723e7fc5863e6d5d0a387fda21360f26113e08f4363e45e8233796b54c37ff3a803d6d51c23dd594983753eb5837270081383fc1a1380d97f5372ca38536e3138b377fb2cb3705775c37720a3c373efffa3646e66437cecfa237d6f7d935cfb5d83557bad535b0e3a7373619f636abaa4436adbaa6362f4353373a5a4e36c4714c36c3db4c36db95a537a770d03695dc6236ca568136bd670e37d7d91a37863b7c36bee58136387db237e398d33725268037384e843762f41f38309db137876d86373f71953779d2c137224c3c38609f033858191c38eace5038373201373a36a73e43552c3ffb00e7360b1edc354dbda33ea40f2e3f042add35ea7ad336488c893e42d6153fb6af1837ef674a36a7aa533e3f67f23ed51f7237bf3ab336abaf133e7cb4b53e03dfe53625859b364aaa9e3d2fa2763e5d966d3789738437716f653ca06f063e0031c937e1af7137bb82ca376e0d263c2ea79737c5a3a5375e6f32385ad48a385bfa143866b9fb37de11dc3714a50d383f343238d38ff5351c8bef354b49e73514c73537324052365dc84c36b3074636e61a5d37c042123745b8783679707136900e8e37b29173379b643e378d6f2d3797b79c37d0aaaf3732662a3731f415378863d637071bb136faa44536be890a36f1a22e3702f20e37b95336352a8e1d3696c2593717731038078e023853db023824681338c4ed0138bd95233e0301573fbad7be377d8afb35d0e21f3e37fd573f2ca5e935068a5136b027123e7dc5333f41feae36613207373d7ac43d0c85163fb65e6a37bc3b6d37d37e843db4fbdd3e26ca8a37bad59b371803433c340f9a3ed745b137ba74803685ed16388e132a3e8e50a936ea6d3935b49a9137eaf1513ccfdab43615c0f7371dc50b3829d92b389aa20138e8b20836f046d3359aebc93534ea03376ede4a3591233d35c43438353ee48d365ef6c136f8e1573600e20b36406807373bba5f3768c1b736f16e24362a54993714fb90360ff41c3656021636566379378daade3687c1713697ce6d363dcb2037b88ab437d9bd6437106a293770efc337a18af636a7624636fede43361c7f313754a31437c17dcd366394b3360fc90b3723d55336a5db13380af67f3fd063c335e53853357227f6376df67f3fb80a4335b2e7d43613862f385164573f264c0037e7017f372a33073853472e3f58d5bd3707f692366162003ae318013f5f28f137e36a9936189f8c374857ad3e96f042370ec797378691d937f33c323e09d8b53744894336953f393769f1653ce3507d3688998036e06bb5365dea583727ca5f3600000000000000000000000000000000d22f6c36c7f78d35ea0578359b2f3e3737fa493781612d36dc15f4351fa38f371a8e8c37fa1cff360a049d368f9bb7374723d8375cb67f3706d609373fbcf53779e89737ee660c376cb436362364a737fdf38d370d4de7361b0eb536c070b1373d9ece3741f66537b76372379f97f9370000000000000000000000000000000000000000000000000000803f00000000a25ce436ec7a95374bf07f3fdcf7c7378d1d69376bb6c43775e8573fb8221f3877b99d379126f83738f02c3f21bb79389286dc3794f209383d31013ff976453804279537b02bbd3759d7ab3e9afa06389ed18137591cab37fecd2c3ead2d123800e298370b21c53761b7863888270f3800000000000000000000000000000000000000000000000000000000000000007df67936445c8436defdf837174e393832a78136a232c236db830438bafa4238f052ad363d34e936fdbcfd37f3203838cc43be365623cf3622fc86375f77dd37ec082137ca102a37afb033388e027838ee4a0537072d0537b6bec7376ec60238995d8c3797eaa537350f25385bbe383800000000000000000000000000000000000000000000803f0000000000000000842828384586703ff3f3693a49f8b039a9d52d38340c4a3fca7f003a318b663826902038e392243f338d9e39508455386aadb337eaa5fa3e87be4a3966e51538b5ae563836bfb13e671be639d41f8c38523bd8371771473ef757083af6530738d51b1a38a6dd543d63846a3857eb2e3800000000000000000000000000000000e01ccc3584d8cc3644a6a637648e1338bce50a35ef4e0d3553c32035c91a6e37164ad6351be1db353df68936b564ae37c1606d36561a6e365ffaaa37944b1c3847b01136611a1a361e60a13678868637cee07c3602567b365f74b537709f0d38a651de351efad8353263a337501bf437d0194535cdac3c35cfe7ce3661ab4c3701c03a37d63f133770424d376b0c743768f2ae37d4af6e3fe722893dd7b9143892ade635c6fc5b3ffc53a33dee11c037a13a2037aa4e393fe80e9a3d33e805380684da3700d4173f2cb3863d8e0770381c94fc36dae0e93e34b85f3db2fdc93777fcc6371594a43ecc08043def1733386c439d37e723443eb740793aaa9c0e38fb4c253656ea513d23e6053afa54a737aa28ef36f1649437687ed23759d8ba37a5f4fa34f1ed40374b060c38e81526384c233e36aab4403678a2193792d2de37457ea435438da93523b32c367d161e3733f4f235784df2359e8ee3363d02043807191a365cde1c36f959a237a43e8738a1f885365f288f36bd9ef53778ca2d38545e8636dd5b7436d2b04b3760fac437bd09193755b3ac36352fbc37ab3f0d3899503c37f6221d374e6b48377df8bd3768c2e737324f493fcd8a593e4e841a38a527fd3607773a3f2143593e788a1638c37c2336c30b1d3f60cc4a3e62a1a9375753e3369182003f139e263e61a37e39ea30b237af69c33e9c90fc3daec6143aa487f7376847873e3145ac3d20d44f3823e72c37f96f1f3ef005413d019f053877028737207d0d3d6914203c55672738577e08377766cb37f65f6f393c400f383f3a23376be19937fef0143831df823956a3a336db15a436c91a7a37848cf3373f8a3936a9b33a3679a4673706982b38be7ea7369877a736e7561a377adaf13706302337329a22376e902837f1494638c8282936d4e41536ea30b837ad16a7390ea969360955ec35559a833744880538a57083374faa3b3725c2c037b160133829ebe13719dba13755e4f33714231c3819c8e9372417243f88f4b63e47d61e382e0c34373760183fa7b2b33e02840d393ac46337d21f013f3a659c3eaa251b39a89f19376045cf3e294e823e0c285c38845a2637fee09c3ee798493ebd86193ad7a4c137350a543e9d9a0e3e10ee463afff7753766f9eb3d5130a43db0b62538f121a1374269ae3ca741c13c12314a397194a5378b6d1e38a3ae1c3a9babab395fd08e3611b22d377f08dd370730fb373e6d8033286b7e33f5a0b336e8a6ab37cc76e1340717e2345772d236a57fa437ec7d2136d07e2236fb5f5436f740e53751939636f9ef96366563a3370521013844842a3649262836c4322c37c4a50438a6024537fb14163766268f375032ce37f33955371e3f0c37806e8e3794a0ff3746fad2377ad0af370c36cd3750eeed37adf3ab374456fe3ecea7003f4a8dec375958cc35b696ed3ec85afb3ea5f90638c989e236ab78c43e748cd53e709cee372bb0ba36a6ec9c3e604db23e62d85f38aac8ad37f028703ee9d6873ead624538b0dc4037e7a9193e4fa1473ed9db46382b358e3757f1a33d8c85f33def61ea375194693733a230385f24373d3cbf273862b9a8376deee5374611ad3991ac313829ce96353f0e7636e24a133896fea2397856ea3678d7ea3688e034379b3aeb376160e635b417ea35b6fd193613b6cc37ec431736ba571736b7887c37341f4d392770253707d22437a4fa2737bffcb6388cc42f37b5a7e73610eb67374e621938e30ec037372a82375279f43710ed53388b1fcd375c829237ae28cf371aac3539ec11a238f27dfe371fb50738c00ccf38a9d0cc37a023b33e7605263f321a3238fad604372934a73eb1c7203f4ada28390ce099368111893e2b67093f9a20673891b79b378ba4553e059be23e2ec5843ac57f583769431d3e49e8ae3e88f7543afede7f375f41bc3ddf767e3e3f707c386c450838a924193d93c21b3ef5d1a939cf0fc33788bd4939da0a583db304d2396bcdf537056e0b389c9e303a0c4ed6391caca63678d5b336f812b337248ec738db414736c9804536ee8bd636e20eec371d490a36fd85fc35b6016036b5578a37b99b8d366d99833645009137b82d263840f7f7368aa3433632c66f37d6eff13822ef1c376910cc36f0da1837db6418382a95c8361c4aa736ef48b3366e6d7e3748b5c0373e747437e90da137353f0938e6c31338c24af3376771fd37282b17380e3f3a37dfd9503e2da74b3fcec5023803250837e3b2423e3fea433f076c3538de488636d414213ee0ae233f4a7fad39c23ed737b050ea3d426a093fb0ed7139226db4372f87a73d2aa8d23e2b33733a163a9737b4c10b3d22bd993e02620b3ab4760d37d29dbc37c3d8403e48aeca37ddb2a637da690e3875b8723d439f38383d37ea37c07e0938d13e0a3a77c28739a174ad360bcb89361ad45637c2eeb93739aa1835d7141c354a3b1735b236d3364374d5357cd0d1350406d5351774b137de2e77361ac07836090686364d7ff137b2395b36d5244a366b854f36a173733787e5a9373d824a37a84b973748661738a26d4e37628f6636f037fe3692b9c037bffa4f37053833364403b1360cd98f371bc5ff373e00843719327e3739c50238366971372361693d5f5b713f0858df37f3d33435a7795e3d4b9b643f9459553ab6400a37475a323df932433f8c49a93acc849d373b22aa3c65ce1f3fbc31903a03850b37b993e33b4b0ff63ef374733a4cb7f937cc2f3e381053ae3e51dbb639e2498537d80ce13719814d3e2538263803761037639379371096783d66520838b7547a37fa7783377f28a5393593233900000000000000000000000000000000697315363bde0936db37153615f6f737b5a2b53683df95367795b636ca01ab37f4482f37f4fd1c37e2692437ae6e3a38caefe936c07ada36a1bcdd36739b9d371f989337935a4237054f6437887419382b020d38991ec237807de0377d3a3438a43c2038ee0ef037d9f202381e553a380000000000000000000000000000000000000000000000000000803f00000000adac4337f03f1438dd89723fa7ef8a3959f41437c721d937db914b3f58c4183c9de3e137ce1a603888ba263f96015a3ab5e92f37b459ba377b22ff3e50ac403c75bbdf37cb6420389961b63ee875c939aba1143863e53338aa82563e9063d439abfa143864b8243855a06e3da3663e3a00000000000000000000000000000000000000000000000000000000000000002d66073811dd2538019995396e8aca391d805137751bcf37cedc5d395f4bab39c24cef37a3901a389f793b395f6ed0394d4b0d38003a2b3971b2073afccc363a9cb2cd377098dd37221ca439ba2b183ad832203848c63638cd992b39d230cb39c3a35337e765de38dbe3e5393df3113a00000000000000000000000000000000000000000000803f000000000000000017a2cf39e431613f7e51b53ac900323a5d989f3988b8403fd253913a9164423a7696b939c001203f85fa933a736c4c3a4d7a263ab3f7fd3ea55b953a2eca783aaa39c8391a7dbc3e8bc7a73a2ab5853a10de32397d6d773e30e7883ade4d563a5c27d4390a0ee73d3942633aa944433a00000000000000000000000000000000945ef638b7fdbb397024163a68aa223aa1861b379fbc7337c75fc5371e6c4b39b4fb8037eeefac3751f62538a0a171393a7aa2370d28c037c0834f39e1c0c239d5a9c937b840e1375d84103a3143893ac1c2c437d5106e387db6d239f6052b3a32c1fc37d3650738cfa73d38d9f2ed3945ad263822c71539c7f9c53962a5fc3914251f391e4754392cbeb0392300d4391988253a3157603fe4d1ee3d252f2d3ac5daac385f35473f36efe73d949c2a3a0641163920602b3ffb40d13d30ccad3a3875993921fa0c3fb137a43dfc815c3a6a914b3a74b9df3e29937e3d15d9f73ad95de7394d1ba63e8d903b3d2635a53a20514838c8945a3e81b1f33cfbac943a7889ad39ebb8d63d54486e3a6b93313a2f5a91396c16e63976f3263a2922203a5cca7f38faf69639809f043adb71133a57bd1c377d137937e7a4e23736f9043a85bc643773be933752dbae3940605b3a05dec03758411238a56e64384abfad395ffcf637f1b104389cb30e3a7b78583aa44a0d3824af1638e65a863a834fcc3ac0039c3766eee7371e8423394d3ed439eeea89377f3fbb3715d5c538c7e7293acc8d8039287e93393bc4cd39b411f439b9f6053a2d1c403f91c6783e24b8213a63cad238401a2d3f91a96f3e17dba43ae4e2113a0ac0103fe913413e9597c23a41ee7038c927f13ecd58223ee8e4b73a7642283a460cbf3ea36d003e4b719f3a6f28903a4d47873ef33ea73d5dfeac3c4c331e39b99f393e728c7b3d6a92a13a662b1e385b56ac3d1f37e23c92beca3a8617b03918d4fe3912961d3aaf6b1c3a24b2173886bd53399d34d6391020eb39bf177b37c0920739a4f2073a0de6213a3a3d95376ce2bd377d4c1538ff6c76394e05c73769afe037a6283138c747fe393a5843378cacf6374724b439e7cf863aed79923711aac237c286263817057b391906f537ac500b38b6ba2139d2a1f0397095f037313efe37579df4380257db39d8d8c1397737c939dd20013a7a1b153a2070cd395fb31f3f7921be3e2932f839b28d073a3a5e0d3fee3daa3eb9a9723aec606f388588ea3e8441953e76b0383a99a50c39d8b6c73e87dd743e6ff89a3aa70dc739c8e49d3ec46a403e7962073b006e2d38136c683e958c0f3efbd66b3aaf44e0387d99183efd7cbd3df5056a3a8c470f38bdb8953d0000483d61f9613a12d2e539b49f143a10fd373a9f82373a0d552839ae669c39dfc4023a53b70e3a109856373eb600398dc1f239a8ab193afeae3c37841f7d37b51055382cf38339b5f5653715599837ac26c33930aa483a3c9dba39f1ebea3985902f3a37934f3a2c7166375bca8e37383bd739e6a7443a9791963735e0ba3755ab46389720373920dd7239ba0c8b39efc4e0398b050d3abe888239f5338d39350bc8397969ed3908f4f2395a32fe3e63c9fe3e29e20f3a8c30ef397513e13e06e2e23e156ea13adddb8d38623dc03e79a4c23e12ff9f3a9dcdf63957429e3e03c8a13e4c7bbf3aa672353a7c127b3ee64b803ef84ca73a42eadd398ff4383e82b7403ef298bc3a9e591d381836f03d5533fe3dd1078f3a619eca39fb97553d54ce723d1f7d963a6a63aa392961e439da36223a6c29173aaeb5a1394255e3397606293adf58343a6d3cb4379d22e2377d9dba39442a2a3af6e185370584d437b842eb38134b093a65ea9637bdccb83757ff1e384366513974064437563276382851af3919ad813a5abfe837d667f33764ae1f38c77daa39be44c237921ecd37e7ef0338af4de1389df68339a5e08639b846e6397849103aa210633943e46c39fc78a639ea27cc39f2e81f3a43d9bc3e89a11f3f7d7e373a7195c63962b6a03ee46d0f3f5504773abcec493939158f3ee572f33e5125873a0a913738afd86d3e67b8cb3ea4e5933a9975c339cd8b393ef415a13e9e2b133b2a952838b291073e1696703e62cfa23a00f304381492b53d7091233ed0064d3a044bca391b30103da19f983dbee8753a883390394b52b9394aec063a395e023ae691573907eea03913a70b3ad77c193a133e2e37319c9a37ff0eaf380fa7783a18ed53377c57a137bed5d338063b083ade760a38f2cb1338ac604f3aca28cb3a38c4ff37105005388f46ec393dc24e3ad3710d38344d22384a7256384daf1a39828b03383fdd1038105dc739dca3573a35718739a4395f3973760c3a6a9c523a8339e7390f70de390266ff3962560d3a7a17033afd83783e0f4a403f1f93263a33201539b0695d3e7f912a3f24b8093b0ab31239ead73b3e86c5113fc2f5e13aedfc793a3c870f3eca4ced3e210bb73cfb760f3ad459f13d9212c13ef96ab23a69045c382d62ad3d526e903ee97ccb3a58dfec39e75d5b3db3693e3ea64dcd3ae543023a1c3c573af70dab3de4b59d3a9904ec39a220033aa1252c3a984f253a89bab53882b73539720cda392b580f3a5da06d37826d8e3703d29639e67a033a9e02e6376e90f737cb4910388a7ef839fec9f1370a9c0e38d2e99d3985cf143a8fafe13709bee937c3bcea385feb583ab798d2374756d9378f612339be99b5399316813898c1693862de323942269b3948bed53797b6c73740b1a538128b963965c0d8391702d039ce66f039ebfc0b3aaaead539b6a5ed3d77de603faa44503a0c94b03932dbdc3d392f483f8a88a33ac8d51438ca79b33d2a4b2a3f19e2d93a5221ce39847e913d807c0d3fcf4c023b690faf39c4fd5a3d76f9e03e3ccd1c3b00516e3925bc143dda8fa83e705a963aa1ae6339e4fcdc39b18e653ea6dcab3a8d04d238d9a480395db1d93d7a7b1f3ab353e339cc93fc39dec82f3a374d333a000000000000000000000000000000002c83dc36a2e22537599de138c1ff023a381a183803872538a33452382b85a73908eac037b343cc37d572bd38f1ece5392ba88138296df43831008d393912153a355f1738cf461e3884683d38064d8c3937f1a038ae88b038fe89303942cc9139bb7038395d532c398fbe76391810aa390000000000000000000000000000000000000000000000000000803f00000000184889399b57383a6a94613ff1afa93a6bce143994b62a3a88ce403fb697aa3a3bd850399939373a111a203f7200b73a99b1c8397e71353a2144fe3ebc0a933a38a2e2384bb6bc391699bd3e2580783ae73c5e3984c09d39eb58783e88bd603a26037d39d86d9b39ae93eb3d02b7383a0000000000000000000000000000000000000000000000000000000000000000f3a54c35f765453593fd4735821e463540b28635f7aa843556d78335c55106374667dd35fcd0be35273d9136cd8f0437da688e35a0ac783585699b35bc560d37d39e9f35d2769c35afcdaf369098473795ec1c3634c4ed353a546337e4be9b372fccdf37ff68dc37ce9a1a3891ea133800000000000000000000000000000000000000000000803f00000000000000004dd94c358d817f3f6d316b3749a6ef3556030e36b1555d3f3b39cb39c7aecd374001c236ab292e3fadf4693886b4c637fa029f368a9efc3efd37d538bb3d3e3708706637c8449d3e91c91538b7c43b371a300f38cf01f83db4bc5b386f352437152450383f6c053a31689838e759d937000000000000000000000000000000008c8634364fe740365153713779def737cae3e5330345ee33bab6273609b2c736570c7d35a14d7f3510e0b13615da493770793c36f1862c36f8c36536662c2737a1ae8a3462402334753bbd34445b543743f76a35b8d36b35959e6b36f1886a37688e313672081c3610e16337a603c9378b0795336ec59a33160195339ac69233ede53b3669904436db6c47369a3e4b361de266369fc97f3f13083f3af542133867efed332f77763f99d9783cf3191d3875dc8f367bcf573f4d67873aa94e0e3857715a36d305283f5f86a83a3d0fed370949aa345204f33ef4161e3a7579b837c7774936c552943e7bb583396d3d99378d12783786ced53d25bfa73a41ddc2370b7c9233562255385a810438e2428e3339cb3a36d8c95136df7c4037b2155d36ef622a36c65c2d367b43be361116573757be2035ef5a2135eba12535ffe82435aee333353dde3335ec723d35f417be36df86c335cb2cc3352e57c5353837f8378fc40d35ee8810359a4f0b350d87c235a88116359bc61a3525541a372fb9fb37d5d89c367bd02a36a2897637940ee2371dd6053642cc843581063a360d5e7236275e9334ad9a9a34f7e896340bbaca34545e2d36e2995f3f787a013e44af3a37e5e120352e8d573f7e7d153ea5f83036f3c53a35dd1e343fcc44153e929101386098c2355eae0d3f948afe3dd8646d38f4c609357121cd3e2be5d03d8778cc36640e9536dd3c7a3e26a68e3db96e26383ddec13684aac73d3553fe3c52030f38018f4e3528e44438b4e3033a27433c3736f29234dc241c35d2814e373e0584362970ca36d506ce366599e63696d8f03649ece934f6b3ea34a622e534beb09c35764db135ef9baa35e1b30036d36a5637d8cf7b36343d6a36d9f98c3607fea836c63d823571fd6035219f8b3532b6b036066a61369a413a367e4c893784d11738adb1bc367de063365b30dd3762552138dc851536d40b0836fcfe1a3608201d3655db9d3730a56f375b22b437af52dc37a07dd336db0d2f3f92cfa13ecc71e836110de8341f8c283ff369ae3eb2869e355aced935866d0d3f34d1a03e191d053894728b36ad2ed93e3d27853ec9979437f6488535ec8b993e94f14a3e5d9ddb3688f6393791b8323e01c9093e51ca3e381db45f37290b543dc0bd8a3d6306353867faf635cd8263386d1fdd392a991736602a5136bb9b003882d06d385d64f137f671d1368782d836e25b7537091f67374a1e143546bb1835180d1535e7a956351807e836618bdf36a590f1361fcc0d37256ca03631b69736115dab36d379bc36d9526e345b3e8034022b693492702d37691bba36ce1cb3360a63be36a919ca36cbac2b37ab7b2137cb4d303765929037dba6753683f63b3658f4a0374e46c7371139343720b310376efa4b376d936b377a11d736a1c3fc3e0c9a013fbfa5e23668f51835cbf1ef3e40b7073fc9ab1f35fa21f036aecdcd3ee745f33eb5061737a318ad363abf953ef7c9c93ebd55c136668883342bbe583ee1a0933ed35898376487c0363cfce63dd6a84d3edd92c53607ee26378139c13cdaadcb3d3e2d603708e1f53599678a38d4e58d3a5c331e377d7aea36b0e3a737830e0b387b724337cebd1a37697c613787ddde37fac6ba371e026035fd32383545308b35b48db935952c1436b3ba0436437014369cc64b36016c3236c94c1936ee742736e4c523376661b1350b278e3524e78835d401853664f6a536efb49d36391ea2362fe11e3797b2e13753e8dd37ca59153890ed36383fa064369bdb433668998a3695c6d436c149f6364cd9f5369245ff3665fd0e3785fd4d37499e9b3ea529323fa4a32e36a4e286358d7e8f3e6329383f2ca78535be5630366882683edd48273fb4e85636cc2f4e3796d0283eac9d063fa90ab337caa07936b709db3d9450ca3ef1d19336d0493f374c624b3d7137883e16ecf736c9ca1d387273293a22ec073ee69e0d3819cc1136ffd6f537c9e67e3a57a03f36fddef03682b6f83747175e38b681fa369aa693349ab79d344982ea34e8d39a3415435e35aaeb4b35d75a2535c3f229354734f0356774cd35d458b235d74fe93542901a355afe1935e72b1635ba7eb236e79e383560481635a98b0935002f2b359d1f94372f010d377ce40237143408387e0b3937e623ca36c86e4837b300d83796011d36f8db3035af4d7936cd1b19374e0a1437e5ba0b370ce8273727e855370c1e53353641e43d1870633fd15e973434cd62351538b13da0c5693f47a52a355b9c603610c19c3d797c4b3fd1193c36172c8a37b95afa3c8bbf273f3bc9733740896f35da21893cbe37f63e46a66635153a3938f38af7387af1a43ed7221338fd11e137c3eeb9383a0c1a3ed04eaf3774972c3556b53638e3c9473c10622d355587a036e5ebdc3728b2103826344736eda8423621c24536329f3136dc6a363625d38d33204892337c9b923339628d333d08df3547f9d9353ddec835c360e83545ac72351a525f3542785d351f30a135108ad23467d3d334bee15d34deadc234b4ef8036f11474361e8d6a36ddf1eb36e8d88137376202379c940b37a1e0c437516f1f37f3a718370b8ab837fd8d05382b35ee374eacda3716f5e0370067f137904e5136016c8738bafd7f3f98bd2936c2168f33436a4d371df37f3fc7078b333eee0936b7101838d7f8643fc1f51f36c9dc2d3612330a3833d3353f699236376792cd3641531a38c44a063fc8939537902539372fcf3e38b947af3eeaf3cb373d0ec137c025693815b51f3ef840f63736b3d337b825a0383d9db33c8488ad37a994ca37d18d2038e3a24d380ce48f3700000000000000000000000000000000786311366c384c3567da2035ae9944363450363513683a359fc51935f8ad83355e02933519f493351dbb94350dc4cc35a6cc87356ea58c35f3758135845f2b363ebab53641aa9436291b8336e7e8d736e5e63937fca33536d78e4d3663e59b378ad45035cbc75435a0a05635c51bd9360000000000000000000000000000000000000000000000000000803f000000004c166a36393d09381fd87f3f61392a386a767c3503eaa736defb603f67a9eb37b24ac535e9f11637d253313f83ffd037eb120936d4984437fcaf013f69707b386f41e03637011838b292a33ea8cf4038d4bf8937e9da35384b190a3e091cd638f7867a35deac15378533ff3a8d1e34370000000000000000000000000000000000000000000000000000000000000000278d1536d5e81d3660312e361813853663612b352f592b35b0a91b36556cb2376d50fa35bde3fe350415b53641f888377ad41536524a1a3610e31e36ae89b13752aad6343ca3cf34aee6ef37c3ab743891c3213600cf2c36a2febe3696e8e13638726736a1bbd936914eab37a49ba73700000000000000000000000000000000000000000000803f0000000000000000f2ac333675d9753f27156f3940ee4e3863bc6636a4ad503fa5e3233a4477953865e303376e7a273f3a0a823a9fce503854e84f37bdfef93e010a8239c80e0c38b3ef4c3883b5a73e266e783a929d82383c58593780822f3e0c8d9d395e17b73637e4cf3767efb13c7de52e3847c39b3600000000000000000000000000000000ac171936d885263617a29736abda1b37d744bb368002c8362959ea36c0dd00370124b9350765bc3540efdc35578bd33690863a3581324135d4e66335e890a8353929fa36c0fafa367ea904374f1c0b379fcc1036ad570d36140e1e36aa07a9372766d235b0fdce3598862237482610384bdce236fdf9dd3631badc36caddd936796a18364a3e1636a9d81d36f0d91e367c756a3642aa7b3fc57a893c2f7a103847a5e63686bf663f8408053dc98e5438e671e235ff1c413ff53a0f3dda4db038ec06743529dd173f43c8203da6b41238137f06377586e23e8249103d20563e3802c42536c430923e565a303c77f44b38169bd637b4890d3e8e40aa3aa4483438f173e0361215c038c66f0d3a556fdc360e9e1736701b1e36a0b706371d17c736b0eeac35c3bf29365cff9b36e891fc36e8d64b36e95e6536a9a5a33611d7cf3630fca1351e49b2358df2fa3599df11364d15d033d73e103448f040347990af34d5145536d6a5583671d779367170f536219a4136988043368ac378363481bb36facdde353c59eb350285553681337a37a2331037f61211375b8b153729581937c2a09e367e06a136e78baa36ffd5ba3602e2833633a9543f1d552d3e38eea13720249c366fc9403f6043483e0848a137727bf035929f1c3f8e59433ebc614738c1972134dc02f33e87222b3e1283393834ae8a36094bb53e10ca113e3ab96a3888e1813674a95d3e2ff6df3d23a2a9374227723666b9df3d29f27e3d4dbf543820e9133745683738dd78e83a652ded3759c39e36def7c33696032738a28e0a38795bbb36b45adb36839503377e040a37aec302374ba80937888f2737b7b43d37501f9935f6dabd35e849063671fb3836be8d2636c4f72e363f0e4f368330753656c89036a9369336679cb03620ced3369b87723564c89935a63a093672ba8937e728943691a4953602ee073753321d38a171c436f1dec23611a5e936d7ae5537c4c03136587e30363a5d35362a9536368f5bf436e6df283fe741ae3e29cc0e371f0e2537fb0f173f97debd3ea3ca5737d00508366c65f23ec33db03e8c56083867c0553657e9b83e68de973ef5533c3858d0bb369f02803e8337783e89e1dc37f0b628360a87123ea2cd363e0f21393848bc8937d931673d27c4d73d9d009438e769d736e3d90d380521073b0b1cc53717fd2a3624953c36136008389728a937ceb576361c588136b42fb436b998d836416bc93684f2ce36b68eda363a4ce3361092b635a87ec035c9b2e3353d0b0a368911d23539d2dd356843fb35fae111363709ee36ddcbed36370af63698471e37f6f82036d8361f36cc35233689cf2e366a2717362809143673812e3775451738c082033793cc01376a4b19377439b0372f638f360a1d8f36d7e99036d194b0365e1282364dc2fa3e459c023ffc0ba936ab6dd936a385d73ed3e60e3f819ba537b04df1355dabab3e37fbfb3ef2365738a1660636c1cc783e9940d93e6eba9036cf93fd3619ec3e3e5f8ba03e05cd2a385ea92a361947be3d4f9f753ecef28c36057bc237e99ee73c1cb7133e4e3f78381bc711370f5d8738cac3aa3c9e72363839c18c367739c4365d4e6d37840d05373a1f1b36422a293615475f3605fbbb368ead8b36c6899636972aa2362199ae36d6172a36280a39360b046c360ffd94366db9f03482632835d45a9e359941433679f7b63695b8b6368383c13650b5d836c4e18c3646698c36b6e68e36d5470f379154803617be7736d9ee74365dba3c3703ae583722195a375cf45b378bac5b37a0c90d3789af0d37e0f00f37af600f377dd33736af45a13ef4592f3fb36d31364b82a8369122863efb6c3c3f9cf4e436db48833613163b3e6ecb273fc85c603809120036a0bc013eab330d3f74fe1e38fc60dc36f5a4a53d5c95da3e2458ae37e68e9436bc60033d87d29e3e9c753238d75e8036f5739d3821b33a3ea62d013858ee5b379ad12938d3f41f3dff178f37963b0c3701cd4237f6575438e5d2ad375e86ac3693bbc6367fae88378e8c5a37fd93f336954dfb366c6ffc36ae0a0437acd28634d6621435b6b4743503084736d4ac413657bb4336b616413618c28a364b2a82368fa77f36993388366b002037bd3a1f3579bb343540552035bc02b435612635364b853336d56534368ece5637a14a02379ca90037525302375fb56b37483eee369d34e1367843fa3616966537363ea6377c22123e2e765b3f601db136c7360437483aaa3df4426a3f3b620d372a580c36ec956f3d0223453f4de20838680c84361c2cc33baa152b3f35157a373b64aa363af42b3b063d003f171b4f3848d84535949171383665b73e53b7243827f4433690ac8b388f064a3e2a6b2638b2470237c3180338c5d4523d82ec8e37c13cdf3662309e378ef72c388d28a1374af72036b35e2336d8632036c96e2136ca11ae36d71cb13603aab13698c2bf36741c6b35b4c86e3560897235a852ac3506fddb351ce6e1353f8adf355fa00936690d0737c0960637b1550637ba390b375135c135f6ffc0359a97b935283ed835cfab6e36aa666336c9a16636097a0138d5831e3724fb18379adb16372764593762584a37609e3b37ed4c4a375f3d5f37989e23360ac7453818fc7f3fe1e41836d311bf3618d23037a6dd7f3fe79bd4363f2d9f35c1ddf037933e5c3fb9128638947608360ef61238a020343f1ff186382eea0a37980b163882bd053fa18280386620d63551d3d137d825bc3eb0283e38343baf37e494a93849a7573efc8aad38bc6e1837207b6338097d873da6fe0f38bce54537daf4d537cc994c3876999f3700000000000000000000000000000000305f9034853da4348e80a1345534b5344352ce35ffa6d435200ad6359333e435e494a6348f72a834c5c6a93492aeab3468471c36a13f1e36f5291c36b4fd4b36967f8236359f5e366a649936b78f19373d129b364bdc883660e8a93670f6f237fa2390370cfa4937af988837203dfd370000000000000000000000000000000000000000000000000000803f0000000046d1bc34cfe7cf34d3687a3f23051438c66bdd35d27d0c36890c543fa9b056381cb5a934a01afc376ab72b3f1ba90a3aacd01f36fdf66137d0e8023fffcd83382cdffc36ef280b38ed6ab03e7e518339f9fab1376977763810513c3e48d7b238795ad43753e12538e1c0203d143a52380000000000000000000000000000000000000000000000000000000000000000ccf45b35c3638135543199358ce50137e61c8e3676d7a536f8e0d8366819f437e74e5e36d47d8136af319d36f49b1d383f37933570a9a93660fd5c374d4dba375f3e223692f62a36cd3dc337860e5a38699a8436563abf36ab704237710b91378a764738a10b6738c55a8c382e3b8f3800000000000000000000000000000000000000000000803f0000000000000000338c973535356c3f3b4b9b3ab6ebbc3a2f1c4937fabd433f6cc76a3c977c553a05778137a4781f3f4fd89d3cdf10013953ef82372f46fa3ee043cd3a970c8138e3df01389a38aa3ef3c1803cfc14bd38f028a237b619563e0da28b3ab8c6753779bb96384057873ddc140c3ad4627638000000000000000000000000000000002510a836488eb83668d4cc36d45b99377dd7023662b40f36c9ec1d36a8eb5536feab8b364d379d36b50eb236b94fc336055a1236a63e33360e125736715dd937bee03236091e3736a0e4f136d6c42938b97107368b9e19362c5d2e36436bfe370bd1c4361a3dcc363248a237cd7d2c380ff97a36bca87c369b7ab536d96aba37b3dd7336379b7d362ce484365d818f36cbc1cb36d07e6c3faa6e993dd0419f395cf61f36e6bd503fd03cb13dace5463c99ebb636f7b72e3f0a9ab93dc019493a0360623669bd0c3f2701ad3dc2133b3a2501a337d6f7d83e6c65973d578ea9383079343602d1953e4a6c533d8012b2380ebcf3376726343e51a5e53caf988d38e98b23373b822c3d206f863c56cd5b3abec78336e2a9933657659037b6c9d237343e7f36cf06883643d7913607cbc337e98343366c00503677976236415b6f361d3db236ec1dbf3624f8ce3672dfff366cfa70364a0a8536cb93933671949237ed382536145e2e36b701a736890f0a38c2b2bc36bb37c536946bd23694ee3637589de2369810e63691484c371eaefb379b098b369fb2cb363714e6376e8626389157ec361033f336277afa364caeff366ba08e367eb0473f5d72603e88d08038ae8d6136499c2f3f7705613e7df32d3c4fd8d2363bfc103fabcf513e4d3f813a2eb39636d6b7e83eb2e4353ef0bf943ab98a5337f6bab33ee6e4113ea88c5b3a48ddd8365dbe743ebfefd93d46d3333a0696913793d5173e3140863d05b5ce391bc3ef37ef0ff53c8e3ac83caab65e3811d3f83616b70037788c1c38dd1c41389955ea365d6fff363eda80372fff1038d8290f3667941b361a6a36366e2b5a372edff436786e0737e1f51537be1124371f13ab36faccc23690f3df36089ffa3634f50a360ff31a36ad5c8036096de5372fcec836ae54da36770b7e37340c7338d84ad7365e81df3673f708376f61cd37f28ff0363c24f336db90b037c6aa1038e7940337bd270637c4e8073792cacb3746406837bf78223fb4e5ba3ece077838fa783436961a0d3f8e56bb3e7284063afee5173746c5e83e18e2a33ef8a4a33a8b3ce536cd99ba3ea6908b3e7560183a06cbe236bfec8e3e75ce5f3e866e8f3951c3c737c883413e5e24273e6d94e039109f57372f41e23da9dbd33dbf703539d4b8b6378da9c23cd961253d38937638a7c30837068b0138b5746e383ce77238e912a736e3bcae360a7ddd37dc901f38d8c72e368ff33836b3be7236f3e1b837a1aae0367aeaf43651910437b48ef637b49e773618c6873641a17137ec2d533835091436619b1736c466f537bb9675385fdb98368104d236d6af2b38ff1b893857c61237ee398837c90e0f389d5a4b3817e9bd37ffd8e8379bd12638fd4044384a92c236cddfc436588d8937caccf2378ff2bc37fa0ffa3e20e7023faa423a389e1b7036671cd73e5f5c013fcca53939d5ca0637b0b6b03efed2de3e0004293a2bb3c03720988b3e9494bd3e5e5a033a0b811c38b9745c3e40a8913e449b0c393fd5463850780d3ed1285f3e40139f39b08f25382f9ca53dca320d3ecfb784381d112b38506e633cd29f763dbeab5a380b3c5b37897a0e38d7775c38c76a4d38c08f0a373cb70c3721ad14382ea74538dce48536a7cba2368a6ec136b348da366c05b536a422bd369ab9cf362aa0e3361ed6cc36f866da36a913ec36e1525a386fb233365e4b3a368429bf364e870238fdfff03677a0fa3614c00337e6312c37c30c3737879d3737f6b58e371339063871388037dbbdb8373b2918383bb53b3839110d37adb40f3742a5b1378709163842610b385440af3e594d283ffa194838f6c4c136699b913e96bf263f1b59ce38da86d536a219673e0d400f3f816e203a178e7637deae363ef2caef3e3ba5243a39f837373b980a3e80a2bb3efbdb75393f9c0637b3c7b33dbf748c3eb98fb3392303bf3786e5423d33f8333e535c3c3a06161e38ed4bc03bf26c9c3dac4e513872ef9a370f78353891bf9338a56f8038ad8f06374fb706378abdd437bb5a1d3877423b36d07c513640f065364ce392371bdecd3615bdd6363292dd363cd896378e7fc43688aeca36a913d236817d18375644373662a86736d3d59437b4bc2838f67ba636a867ae36a74ef13661bb1b38fc11f2367601183727e1c237de1e1638402d1c370c02703799a8dd3751b10a38e5954e37178e7437122aba37522b2038d354dd378d82493e09924d3f85f40238f270673634e21a3e153f4b3f6ab1c339b8d2e0367b82043efbd1273ff663583a84ffd6366627b63dcd63103fd8e0753a38b2e93778cc8f3de779de3eceff693a5bc6a537948b1e3ddfeea73eea459c386ef3f837cf35aa3c5dc1533e11f09b3874adf037ed0c0b3c4751993d5bb39b390528a9373d9f3f3872cb043ab28980386706a8365d25ab363c6da4374075c83747aa3936580a49362d325736f7d9e0367b87c33608e7ca36a825cf36605aee372b122336251c31360d753a3623e0a53783303e36cc134136c3d2c037bdf34c38a7a28a36c2b68b369040ac373f342f382491ed36c2531437d4ddcf371a521e38c6cc09382dcb173827d64438c67d5c388c86aa37fc03b8370e5af8378c5a1f38cf26c6373ddc493d5059733f9fc68c372f785c366484113c55336c3f75ab143c5d8e2b37757d6f383bbe483f71df3e3cce81413665c480380cb6243f7b86483c85251938b9b59138986e003f33fbac397a4b0b3826eb7d385b75ba3ed6e1373abdf00c3892a460386261673ed7565738733f5438635f163a7d3eae3d9f6c5f38ba18fa379abc3738fa78503a6c005b38000000000000000000000000000000002b21ee3561fc0e36d13c2536334091374f380d36e3292e36b7594f3603217c36b44d0236a6a7113663ce1a3605d580379f94a135e1417036cc4015374f2c79372541a436d0d3ab36dcc5b1365787d137c24521372dd4833799fbf9370f27363881cbe137b7dce037686c0338485140380000000000000000000000000000000000000000000000000000803f00000000cc2b2b362c551338c7ad6e3f9913413afc46613653b6c636d3de493f09ad9f3a5c642336c297e0370604233fad31743cc5eb4037d583a137752e023f8e388a3a5aa8ba36607d3d38549eb63e915b7c3ac3ef1d388ab25e38ebaf603eeb00293ae1491738a9594e39af1c983dfe070a39000000000000000000000000000000000000000000000000000000000000000064981a36acc7dc35643d2a36570d3b365139ea3521a6c435016f0c3654ee9b367bd20f35fcfceb3479063935f6a8f037e2466e35bc454835b9db6135e42b8c3500000000000000000000000087fe82367aaf273857741e381bfb5238c6cc9738a224423588803835811f243590c21e3500000000000000000000000000000000000000000000803f0000000000000000de53323674257a3fe7f8533687c655369a90383633d55e3fe3861438a9c77d373421e03769df2f3f4ae9ab38a5b29238af8f7435924ffd3ed55ced3532a1d435f645a0368b9d9d3ee98ce637322de63651c8db382d4f003ec8b6e538b85fae38ee072035362a923c0b8c3d35ecc77b35000000000000000000000000000000002513903198b4d9306445af30ef65a531ac4a9233000000008ee6bb3504381136af3fe7354a2fdf358c02153647a119388e0f02364675f335c79c0536b31d05363d659e35c7b017358735a0351113a8356a0708369db106367180293639b03337f77283362fd7c035b189bb37b2f417381389c135456c783507cc9f35bda7a13552834335a0d139356a7605357cbc1135ba33003189297c3f5436843c290a00323e0d27326f1f6c3f813c023d9b73163658840536b6f3523f4a79a43a13249f38a598f835d2ae253f970d1a3aacca4d378de08f359c6fed3ea578d13bb0b80c36b9791c3640ea923eb5b8163972bcb137944ee7371640fb3d4c849d393a754138c6f09f35dc03723aa8900b3a8a6cf13596cb65353f3038353d57bf34dc5e73348fa08a3559324f35628589358e616c351331a234ba9f893460a1b2343fe7bd346a086c357f42583579f07735a30182371e5ba934ec7e3634c3031534713039347d92ec347a23cd341012ff34bb4af934e7c3d1356580d735d599e6350003493737052c38acb7aa377c4f2a3836116438e1844035b8bf9034a67f3f359d970b357211dd35a151a435e2b6a735e851823549f32135c8d4613fcaaff23dc75c7a3559ff57340a9e533f7354163e30eadd3546ea4835fc13363f3b48063e0fbc1f38e5b21234edde093fc158013ea66d783453efc53462ecc23eb455e53d24eab2354a63863630d15b3eab1bc73d795bce37394aed37345a673d18cb9a3d14c79538905b8634d5c360377a87ca3bf3e10435fc80863505126435bb1e83353486893514e984361f863436a5907a368bc28e36c130cb34ca086833bd60a4342d80f1346cbcec35a50ab03563a7d635858c1a37d2df89357c7f6f3542016135766c6035512e3d351ffd0c35b83e193508ac1b351a53ea3422df0a3565d0293572320d35de3a2037042e87364ccfce363e2ec9377d941d356a7dc8343f1ef2341fcab9344877a035d0539535df309c35fc799335b29012364c4e313fcac19d3ef4887c366fa1e432a85d253f074dae3ef53cda34147cc8351939083ffd2ba23e5b01203736d45b3587d4c93ef10f913eeec17835bd560b3541f4873ed51a6b3e67d81e3525ebfc34b51d103eebfd2d3ea1b6d5349922a4363cfa0d3deaaec63de69c2838cb1bc234379e4238107b2b3a102aad34e50dab353b63c9355d91a135caa98035105fc534a336db33fbb2da33127eb7325840943550d02435f3288c3549dab835e53a8a35f06b88352db6b9350e2f4237d1a90a3675d307369bd109365a010c36e2f2dc35533cad350af4d3354d4ae5357fbff7354ee8fc35aaa81b36fc2d1336079209382107e7374a740e386b3432381087c13592ec9535093acd354275d6352dbd9734db82de34e7f31034b15b6c32768b2032d18dff3e235f003fab0e5632dcf2e034c857e93e92dc073ffeda3835f828a9358256bb3e13db003f44529f364f5205368c4b843e58badb3e11910936789ab03592f6383e8e62a43ecfc6e7359d9c173680069f3da744713ecc18e93545cec6370d2dc53cf13fdd3d7eae1238c94a9b3513c4f035c4fd7b3ccf54e235697a05354a5ec43414b8fd35790d42328019b6358b009635a7d9a535c9439935415dbe342ecacf34cbf9f534c19adf3439132335b8eb0c35a4441f35d80e3135691953357cdbd5341e64bc3471b7e2342f96253522bd2235fa153c351e473335851a5c35799e60353c9d773581796635d1d7a8370ba72b37790e7c3798a0f737cc4621357cf42b3451164a357ce10d3505679c36d2819e3603cc933657b087363bf46235210f9b3e2ce6323fd7969d35e2d9a33471648c3e51013a3f6075d7343735f1342bee443ef65c2d3fa2f52635b69dcf349ebcfd3d0027113f073b0a350c7a23352f2b973d92f0dd3e2dcc20350867453556c3003dd9ce953e3f236b35762ca237ff93a33c6099073e2b1ef5375c094134b5738e37eacf753cb45ca2341d5f85362ca88436ad113438e66c823666aee63595967935e5e66e35035c8c3584d04035a9dc273342251134c539dd340f05903721a1d63639820035e9fa5036cf8134362baed4357665ce35a7b20336ef8e0f35dd9fd3341f3bdd3487e6dd34b9464f342d5580348b1e8b3438e65c34515566370d1503372a4f1737323cff37b2cd04356ef1a334b042fe36db01753746fea7352eb9923596ed7a359e785c35fe178035cd3ae03dfa30643fd27c8535e9c33d35fd9fb83d8492673f9731d133aec701389c7e933c5ed3593f5f2abd34c00a5c3733d5b83ac002303fc4d550373700ed3457b6033a881e023f56640d356a52cf343a3c3a38e159ac3ed38b43342ea5cd3729fe503c44ee143e2d38153808a3a134b4898d380d63e23c3778b534a0cf88350028a635199f11374ab04735000f2e3513baff348630e234a2b806353f5b9235866d8535595f653574a08835607eae352216aa35b6ccd3351773cf35c59e183621c1113636ba1236a0e70f36e0bb8c357c3971350ec2a03563529635f743f5359916f23591610c36ea20083627f30538669fef372c8fd6370f674438e194b43555a7ad353fb1bb35f0e4a7354112e931eedaa931749ab131da35b031b312cf34ce8b9a3a3fd57f3f5bca8f34231b7135b5b4c53779fe7f3f01556d355f53cf35f6888d3837b5603f0595cd36987812364192163858e8363f98bb6a36b08e663555f7e436485a083f9623b135ae790d36bd96e437d1f1b43e1b6e8a36c32e563832d7d238fa7c343eda0d933887d9d63559175a370e6f3f3df675c2351a9d3f3171f8bb3049827631af58833100000000000000000000000000000000b8e821351d1a2f351bfb3e3517402a35aea83837839fc534bc57b63477b6073700000000000000000000000000000000d9835835baf1543513cb663539065835fdc4b037b610c936a3fa0e3536d0b137947b28369722f835bf615536a18b0c37e18b173644ad2636a31c1f36c0601a360000000000000000000000000000000000000000000000000000803f00000000bbab2d359b1c253593d57b3f678820359a6ed437d1ce48387b53603f4563a93800000000c9560836139e313ff416a537becf4935c57f363561c1013fdc494a3525cee4374b12663899d3a03e37a79038454af2366c6c0f3813a0053e04e54038abd71c36a5dd24367664c53c27ea2b36000000000000000000000000000000000000000000000000000000000000000075b7a23557970d36b8268836087cb336ea772b3369652933680647333975823466a0ee35ab91f435f1c20b3607aac0367ffd0d362bbb8336a77ede367f640937c933c134616ec3348dd2b6345f98a835f093fe35305d0f36e7991a3689f9a336b1084737e204b937954b26380bf23c3800000000000000000000000000000000000000000000803f000000000000000065ef87366628713fbdeb7a3c8cebed36b93a43334b81503f020ab63c9356cd38bdf703362c8f253f6c60b63c52ee3838e0e6f63626b7f83e9584853c05abae372a295a358b58a43edd7ca83c5e1d25360408aa365807243e556b9d3c203230365689423877a7263df3f36639d144233800000000000000000000000000000000b2adb733557bcf33fede24353c11dc379f65fd334d631734a46c31349f362a3489e2b73263070533e8904834bec52e340000000000000000000000002dff0836000000000000000000000000000000000000000000000000000000000b19cc3520f4a83525dcb735709d7b36ea2283370000000000000000a8e37734f58c19370cc75635b4b7f734685928354e916f35fcacce3367be743f3226343d11b1273841642234df945a3f380d8a3d80116a3721c6fe33e415383f7f499b3d50cc4a38a9271b34eafd0f3f0a25983d4b9bed37000000004541ce3e1f40983d4aa3b43700000000c50b833e0365753d95f78f3709028337fc57db3dc04f693d4965d537000000008747073957b1a23c00e61638cfdae433c19a43368d0e4338ae554c38aea97c36dc6d7d36efdf90366a0d2b3802773c361cc74c3640e0ba369b8905370000000000ae3c343cb5a7341e94173687ead534cecb0f356dc824357ba6b1352d8b4736b40d91361bd7d336552465370000000000000000fc248235f8f5d9352d0e9135160e51365c5c9c37c4c02138ad9fb03644f3b2365af1b736958cb037ca743b36754f2f3643b53e36a59e4c3623348f3644f15a3f0945143e484afd383aa2aa36e32b3b3fa139493efb96ea37616214353f9d173fbaa6643e554c073892291e355043d63e3adf603ea42efd372af0e23691c7923e132e453e41834e38c9f9de356150143e97c3303e06a0d737705e0338d617063dd45ae03d37f38a38a0b1af36945281387f643d3b6725a438606b1936f0090937ed2797382686aa38eee5a736cbe7a836bc7cbe361ae013382573dd36fb9ff0364eb30837233d1737d7bc2935703fa535fb9af53580fb0a361a1614358406453586738435e2a49d3511be0d374837273796fa4337fd698c370a89e235642d0c3624bf16366f1d1f363d68aa352b5fc2357435d13540d8fd3656743737a2273a37fa4f51370e545b37eb580d37d174073702d30a3767600937a021b8363e3a2b3fb1b1a93ec44549388842053768f10e3fbd2fc83e47fb9f375bb1f0352420d43eaf5acd3eeae1dc3783a7583515358f3e3adbbd3eb1eadb37afc251371322183ee297aa3e5fe58d384f592336755d773d8f2d8b3e7e4e1338b454ac35e5314f386e92243e51a22e3842d04337bfb401386ad14e3b2e554a38835506374a85083744199e3881af863871810a36a2331e36fb212c36d8bd2f3618389e34ed801d355f429f354675da353092c132cf1e9233eb708034e3aa843500000000000000000000000029480f370000000088f929351b358835f42e7736000000000000000033f20034b120913764669f3446e9cb34281c1e36dbc785379015d035df1ce335521fec35cc38af36fd2a013683beef356e53ef3507b90e3670d32e362ab4ff3e473c003f4d691d36e0858e35f46cc63efe87153feeb65737c8a154340551863e950d123f164f0238ae590f37da1c133eb30e073fdc4c3d38c8637a364166c73d1656ce3ed45a503840cf8737e81636395db5a83e3a5968389be02e37980e5b38c78f2b3efce053389f5dbe35fe543738af20ef3c1feb7c38f7d9ea35844b063691e48f37d91f23374536023787ca043787f00238117ffb3794550837fc7a1b37b1132a37fe033a370241673589678d355ac39f350b32ae357251ce356093fc3547581a368660473650562837b8b03537d4534037ab1b503720b57135cc938d35e06da2351c80b135404ab2357859d335318b1536759c2236b1701737a6a8183759372937d20e2e37ae79d4368151c6364dbacd36c0babf37a681cf379f2ba03ec916303f97080837ed7c3837558c613e6cdf463f4fcf4537c697be354c12b23da4c7403f35548e37167f2c363601253c34ad283f8a3c8037272c5437eb2ab43894d0043f7ad29d38e73be935d2701038f250b33e0c53343800850436be7a1b385cdf3d3ea5be38384b0d1c379562cb37bc8c513d5a742c38037cc13662a63638c505a5382df17f381bab6937c2c72138a1f0753868e86338b7b49e36ce0e9f36e0489a3641ffa43659a33b33b19a36340ef3533438005035000000001ecf2a33870e9333859a98330f1f6f361d3b9236e565a8360f17d436b4821b3563541835657b0335da673535142427358d6249358ac1cf35baa3fc368b52fd367e9906371e8e1537bb151d37162af5379480ed37f04b2f38a9584238c34d923818b1063e6c735e3f85e9333788239437d66a153dc006763f0a375737dcae0a36d641a23824c25b3fe6596838ffc390347e35d237afe62e3f23e5e637bb83d136584730385d77053fa67c7e3843680b3524182c3851b1b93e615cc838fe7f1d36abd00038e0c33d3eee5b2f384c391337cfdfe637e962953d23691938a6a9233800eab338132c2d39c54dbd3841d4bb35131fdd36b8f09c370b09c837000000000000000000000000000000002b8c81350a2a8c35094e9c358869a03500000000000000000000000000000000000000000000000000000000000000000000000022b551345653dd336889d535cbe3663425fa9b3416b643344aae0033e4c456349d5d2c34a60b0934737a0d3489bb4d35348d1e35f1f15b36cab55c379b5c15380e8f3f3c14047d3f6ec16d37000000008cf20338a6067b3f5f501138b3eaa735a541df36bc2e563f4c404e380000000000000000e0602f3fe3271a380000000000000000bc03063fb5c12f39ee45dc35cbec3e379a54ba3e86e9b638006b2934f84bb537c809533e635ee83839ad603457ab9b34ad4fa23d769eec373daed236b602cb37f546603879283a3800000000000000000000000000000000f465613611f04836efcd4d369f539b36867f09360782093691a9113603d61936e87eb43440e1c434f020b434c803c334aa17903633778936f0e2a1369160d03684ba1a36d0fa1e3620eb1a367a73233668ca0233b28c4f33f19f15333f6e1633c0c2c7364326c1361d95d036a163d4360000000000000000000000000000000000000000000000000000803f0000000020678b363ec08637e59d753f79ec8f38fa912536e6ba3136bf0f523f69c8613ad46eba347548c8340258283f4f84ed3a7746c0368667f23674b2fe3e2a478e3ac5302c36f1229436a26aa93e62ceb43a0cb923335a6987379149263e6ef0aa3a5989cd3616b6e2360504303d91fb413900000000000000000000000000000000000000000000000000000000000000001dd8cb34cdd85c356b82cf3549ab9637c7fd3b36cf82503663a96836a607203847840336012025363bdd56362920a737b5282835129a42358175b93632780e38a792353667983c36783024385b5ba738eeb483362c918836b843b537f2574038c44ba43530949e35c97ba037c9c7213800000000000000000000000000000000000000000000803f0000000000000000b3afdb3557ea5f3f93102e3d6827553ca32a7236f7a43c3f47f6263d1e3b843c080b69367fe4183fd52e333dd279853972b294370b16ea3e0cf42b3d523d4a3816ad7a38f6eba53e45791b3d0d41cf38d95d1638c5fb423eca30143ddd484f38fe621738d551773d84dfd43c6d1bcc37000000000000000000000000000000000861c834eb6dd1341465dd34c06fd136689eaf3460d9ba349567fc346bf08337ea570c3654c329364f6b48362f33ae37672d9f342057bd3401a39135ff55dd37c4597635d4b98035f3898335308a84379be02036695f40363efe6636b8490138455b8a368ce9933673f08737abba5f3881cb3c369d3c3a3653bd3a36edef2f38caea1e35f9fd2435caf7293518474635cb3bdd346d3d703ff607583dbcb5bb3940ca18358ffd4d3ff96a8a3d42d11c3ddfdc4d3631c2233fbeddf23dc86cae3c1721c5355110fc3e5b3e0c3e822da5389de59635c7eeba3e44a4f63d09b80b399c7c7636bb43763e9937d43d351c91381fe40d38b303053edf3b813d68319538120eb13795468039c1ee223d756a7c38598b28351b715735a55fde3583dff73799bcf532bf90f4324bf748332abff23731e8883335838c331f738f33b1bd903309f22f366cbf613680348c36f91e7e3782fad434b0fffb34f5fb9c3529ccbc37cd3c1a35ddcc1a3545bb173501531135611ba33638fbb036143cbf36c0b5e7377d9726360dc0343617224636a632d037bd602a364fa02936799632362ce83f368da77635920c8c35c862a335491bbd350418ee32e3ee4a3f2e6d4f3ef73b8538bce28f333f8d273ff79a7d3ec143933c38ea9236c50c043fa790833e8a388d3c2b41bb357d62bf3e25d1823e371fbd3b3c681735d68a853e27e85d3ebd7eda39a87cc8366a77093e8734383ec7a010395b596a36eb334b3d03a6003e20887839d385333613a5a937839ae23c4fda833a2cb79f35349abd350172e335578cba37553338350a6a4c35da6f65356410ab3740e0b03495eb8d35db55073623842f36a7f21e351a1aa7351ce01136eeeede36b891c4359a87e93538042a36d1701538967b3c357a3b4335bb9e4835ca6ccf3790a63535653d85350aa1c435954911387cc674365ca37f367eab8b36a0511d3768b9a834a4acb2349fdfb434e5139c34f734d434319ef33459310235edb1013522886835a343223fe850bb3e8f4d0938e04808361aec003f2a0dd83e09cf89382f262136748cba3e50f3d03e1f6a873c3b733936123a823ea4f7c03e92927b3cb62f4c351a9e213e89b2a53e30f0723c4e93dd35086f8c3df8bc853eea64703ce3f58d36aa0e8c386826433eadbaeb3aec6aaa3451695a373791183d9dd62b3a6805f9345f590a3520d5a937cdd5593828b3c834237bcf34c1ea1238f4857d385ef21435a9f0183591e67f352191fc3700210e363dcd2b36b0275936d03bc0377de9db3407d88435b094eb35c18d9037bff86d3577b07835af15ae35015d6738bfc9e73576f4073691f61936f836f43701547936d5e98236c5dc8d36c7d90638d446b135a733ba35f120dd354832c2377b1bc5342094b93425c2b034145d1135f8622738799df43eb4b6053f3f15433882a78235c58eb13e4210183f768eb338ac0f6836971a6f3e0be80e3fcd0e3a3cfb520b36b3130f3e9d9bfe3ec7cc943c46262b374080e83d2953bf3ee35a553cd4162e36b932643c1425a13e8ef8883c639f91368ca999387792473e99bd103bcf17d4350b047338224d6d3d31d6a23ade2aac3474f49535351d85383608f23822dc233525e22535a91e1d385b0646387877173433ca6134aa828434f9968934a937263636c74f368952743699518b360ab5023520936735f413b735628aed37c6f16f3597706d3587e864358724e037f4a6173692272c36d93b3f36e7c2893784421f36e8862b36fe1b3b360dce00374bbf423675e43f3659784836faca503678bd9c35424e99355f809735cda4a33581914038ad8ea83e5bba2b3fd16f3a37eb877734a7ef4c3e9b23433f83a618385b308636c6dbb73d20d9373f06ffa5382c2adb35d86f093dc0951b3f13666d3c1e65653530c9443bc61af83e4199873c31285136e95b9c38f361b43e9ec5c53a42293d36bb692b383371493ef9a96f3c1bd74336666af1379782963da1afaa3ad1419735ed5ab035683c503842315839a32e2436ba0b423661a9df37c745c6379cd84e35d5bfb03505e80036f1dc2036716cb535a4a7f13596201536773e34366a81573642807936256393368fabad364534043569e70835efa20a3579ac0935bae80f35444714352a2b7d358343c43556fd853693de8a3659229636dca394376a17423465213334197e0334c88d9e33ba2e093556150235f4e2d7351302dd3789eb22384b5b363e4972523fcd09d53503380d36cfd21f3db8b16e3f519c30381a5a2936b24d3438b6c54d3f4f44ab3c6db09d368e76c5375d982c3f7473433c66a10d359ae213359c9d013f120e863cc6409435336ed7374d2bb93e4ea8673bf65d973696022938dfe1533efcbc5f3b5dabd1334389433765e7a03d492bc33aa637343638a80b382d3a973bc7372039524529361d222d36295eb737f350e137e16f2d358fc7433572d75835a5c38035d19092350c63db35abcf20364b19633621f39a357b87cb35591af935f68c3d36645a773522d77e35c5a28135caae82359a0bdf34b8953135821d90354da9da357d966836d0df723672a37936cbe96e37db3f0a36c6400836d10d0e36ae8be237abcab235d6eea53544699835a5345137be9b16383be1af3c8e8c7a3ff203d33594cf6235d121ab35cda1753ff994113a3eec3b364c211b3772bc4a3ff7837a3c4d590e36fc835b366563243fa0b0693c0364843544445636b3f2fa3efbd0ca3c6c2bb935a105be37295fb23e41adbb3cd0de7e364ce64c38bb4d4c3e9f9bad3c4d8c0e369e846738dd99b43d09ebd73ab5df96358318cb37bddb033ca79f0c3a00000000000000000000000000000000e862963472b1ab34e451c434dc4ddb344d0de43566210c365f153036f0d4633682b5ef359ead0e361b4120366b8f61371dd81335b05814354a051735bc069d35cfd01a36b1142d36e71146365b5b6336bb3b783633c37f36101c8136c04ccc37c26d1a36e4221b364a261e36665e8d370000000000000000000000000000000000000000000000000000803f00000000bebbc7341274df34f2d4643f7c08a43c5c12433608f17636f5f23e3f79cbe23c93292736aedf283843211c3f75eae63c42d81735f7eb7f37a00af43eb16ec83c42b056367a842c3747dbaa3e549fd03ca1cc81362d9c43386a1d3a3e321bca3c50131f36836dfb370dd84f3d8bee9c3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0ee0a33a5755633476b823323646233000000000000000000000000000000000000000000000000000000000000000000000000a1281033d2c553333f24e1320000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000000000006483763f0000000000000000000000002947593fbdca16397d438338885692334e332f3fe64d0538c75bb233000000008f82013fafd3de380000000000000000eb87a23e8ff38d3700000000dff39a37906a173e3d235f380ded233400000000c557fd3ce384d53700000000000000000000000000000000000000000a6627353e814735d30b3c35e67b4335a77563347d026f34f6948b34167aa534cea715310000000000000000987337337c4da935ab44a935aaa7b7351deabb35fb18d9351516ba3518afd535d41fd635e821073545e70935a63625357d7b53352ff057352472543567565935282c593577899335c2fd7435f8cb843521a58235819ec834aeb0bf346e93db34fc4fcb3457a7643500247c3f66b9ba3cae9f94354b65a234a4f4643fcb29513d0a7ddf34000000008e6b4d3f3e97ab3c25bcf034b639db350725213ff295843c02a0e63588a5d935c1f6e63e495eb13c3226e835f2340e35983e943edd54d33c3455a6350c3a7c355f7b013ef180e83c7fe47b353fee8535dfb7973bf6e7a13b98a48235de5eb334b4efe3348844e134bf97d3344e280434234a853435789134d732e53400000000000000000000000095d025349f5905336389e4320dc20933da9b7632801d3c34f57f383486f66f3443197e340000000000000000000000000000000042f2a333ad44bd33ea64c533a4889033b5728f3294689432223bd0328ec5c93200000000000000000000000000000000f5449c35900c7035d2ca8b3525b8a63545926c348b73623fdb24003efdfda7340000000014f4503f9734233e7ce36f34bb021233ee02303f22ee0f3ecf6d933174648734e173013fb0261c3ea53c8c3400000000d777b43ed8940f3e0000000051f10d341f57363e566b0e3e25373e339f299a32c67d3e3df21fd53dd01f9e3200000000161f9b38589a7f3b00000000d2bf3235545f5a35b7678b356fb9a63505b01e355ace3a3568629e35dbf3bc3500000000000000000000000000000000000000000000000000000000000000004bd33733b4098a33888aa13331d6c433000000000000000000000000000000003779d6334221d2335659f0331913933351221532ca79e632b90cd732d364d3328c223034cdf1a933c9c64d3367d92a341c2080346ff6693421f43f3462860135e5061d3512d83a3ffcb18f3eb0dd8c3500000000e1c7243f6875b13e00000000000000009703023f1a6ea83e00000000d0d0553348adba3e2b7fa03e62c15e330000000044105e3e8e84923e00000000d157cd33f7d1be3d14456d3e05b38c33f0670c33e2ffaf3cda29003e9594a7325e0bd0330ade59398e71a43bf198ba33ed574234a7a25b34cf807f3677264234677da33499d193344fb0a53401e8a634403833356f690835402520351c432535ce4fb1345c415d34f65398349374a63477aa8735d25481354a58763531fd733538c51836f49110369b181c366f0e1a366760873511eb6535a14e7b35d76888350fcf0035754fe43462bbdc341a25d9340a815c35fd762d35f7cb443552344335226fac3446939e348df4b23421caba346729ad348ebf073fa921f63eecbdde34bf3621351a36ef3e9e2d0a3f81e13935c3218734fd1dad3e594b053f48119d3427a6b53546075a3ede91f33e5bbaa43542fd21367b74e63d87e2ca3e11d72c36b49d8735ab743d3dc802913e19fcbf3520c9f8344b62b23ceb01093ee8890235ef453b35aec1db368b1cf63b17c55135f1f798346505b3348807ad34b9e4a234de663c345909843432928c34908cc234199f883446b6cf3483eeca34f45ff3340b116032e443c73219b5a632e104373288bca133839706347a11d9337e837334000000000000000000000000000000007bde2033262b52338b183d331183cd320000000000000000000000000000000000000000000000000000000000000000cffaa435553a733506ff73355ce79c35c4c05734f665a53eccd9303f066b913463e56c3422f4923eea4e383fc8f5c634e944fc32301d2e3e98f5323fe724df3090c8d833f0ca9f3d00a11d3fd78bca33000000003a90fe3cf816f83e00000000320fc033597ced3c6c00a03e40cf1931000000001434d63c1a451d3e0000000000000000f6ebdb370569bb3c000000002ca16e357f57893599878b354b1b943588cf843530479135d23cb835854cbc3500000000000000000000000000000000ac18863202a16b32913e0a325c3cfc31e6caad334da7f6331c6305348018063400000000000000000000000000000000aff18d34d640833435808d34021a6334ea911533f5cf3b33f7c12d3371d6423300000000000000000000000000000000f091ae343581923461503f344dfab834864e6c35adab163e60c95c3f38f66f35000000009463fe3d671b623f000000002c0ea132f7f2913ca49c583f6e8393328bf2c0336de1843bf4f3313f3975e63300000000f8eb543b44f4043f0000000022487934c52d8f3c68f0ae3e04bf743455280733cf7fd83c886c233e013228330000000080a1513bb53d083d00000000bb987a343aaaf336e8af3836a8dc503433a9e134f99fcd340818e1349ebede341c40893507d5763557557635ba4d7535f2f78535514e5b35821e49350aa65c3544612235567b5b35a0062b354d8552355f81ed35690ae735fa99e8354c16e135e2d6f335ee5cd3358a3ccf357d9cd735b32a61329501a9331518ec33ffe24934c882b634f99fc2343145ef346c7aca343f1e8b35976957356f756135e4c081359c7ff3346f69083dbe0c7a3f28b0f634ee0c883573aa823a19297f3fb7558d355ef673352ac96c359da95b3f9d716135e105b33539aa04363409333f683291359bb2f635f436323683ac0a3f5f9618361cace1353adbdd35c4b8bc3e06b8fc35f691e8342c1de13a809f3e3e67650835d1b5bc347910b537189d843d9bb246357f477435c5d2823591f27735556275350000000000000000000000000000000000000000000000000000000000000000ccc72d34e06a043443fcb333a828e4330000000000000000000000000000000000000000000000000000000000000000437b143425ffb233aae28d33c503633300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000000000009cc97a3f00000000f3be0d346c644b34bbf85c3f9e55a53600000000000000009e2e323f5df784390000000000000000e4b8013ff3ef5b361152cb3360c599376054a83e8db51c38000000007be18939ca3a223e685aaf39000000000000000059733f3d000000000000000000000000000000000000000000000000000000000000000000000000aeb08635c06b7f354f0c95357471b635ad940934bbe30d34c7503134600b49340dd1803523f28835fe289e35fa1e6936ee65d035661dbc354e5acd35a43c0236d66e9f34f059c234bd1ba234276faa34573d7c353f777a35687c873525a400378e3bb235e15796357d0c88358e6aa83500000000000000000000000000000000000000000000803f00000000000000009c0ba835f5ae6a3f3fa1173d306d7936e1283f3403a9463f9eae1f3d06ea47340713b93568e7183f3e396c3dcdeebd37f0e2e635ce19d63e0d0ac43deeb5fb353031b2340b22883e9e7dbc3da5a40935df481b37a8b8113e72ab5a3d6d94c035f798aa356e06043ddae8ab3c1761be350000000000000000000000000000000017cddb336f44ff33b6641f3455fb4b340000000000000000000000000000000000000000000000000000000000000000112920343d311b3486ac4134a66290345088ef33bd6e27344c444a3425aab83400000000000000000000000000000000819aa634b2c79d34072ea6345253c134e24fe5347a78c834d6238834f20add3436673d34e5903b3437257f34c7d3b634d6d91d34a771723fa2536c3d07a5793400000000507b4e3f1219fb3d0000000000000000628c2a3fde110e3e000000008a7849347fbaf03e6e0e483e6f962e3600b982340b459e3eb5a4533e48a29d34000000003c5c353e45fe393e1d1f99318fe4a0348cd1cc3ddea9b23d95b2a334afdcde3497eef634a5f4fd3c5405d034660077342aa77134a4f39534338f243500000000000000008bcfbe338feffe3304a674345af99a340c640935473d3e35755dd63491ac0635da60573546919e3574afe63324c4a233da1b14341901b53458039635a11c9235096fa535d941d0351ba13635b6ab5f358e6c8d353b64bb359a720c35f8d8fd34026ddb34773319358f9d9735b1e1893565b981356cd59a35fe14a534fc279134a83895349950c93471ddab339ef75b3f7a4d143e3c520e3362cfe93402cb313f9e80743e1e394c35e15e66358123053fafec9f3e3b4da135d75ef8335e25ab3ed08aad3eab801334c0dfb3353a67453ef794a43e6da5e735ad436035c820a63d2c91873e2ba4e635b458ec347052c23ae018123e443a21352c9f683536fd8a35d88eb73b1e4ac835afb583340aa29934000de134b1f2e534d688c1346824b234e62c09352fbd0c35be6a4d35d12b51351fc0813570e5a3352d520735b0f5143551e833357d2060357700843561719635da04b13593e4e1354bf0da35ce0cc73513c4ce350bd0f635e465f03443000f3534ec0e35db9b29351d8f4735a0896235496a89355cd29a35ae405b3502ed3c35ff491835729e323503e47134634e7f34416b7c34ca0974340daff634025e313ffc9d9f3e69a4ce36dcc5863598a2063f9b2adf3e61308935bf3126352d41a83ee7e1013f38214a353e0ed535cd38483e562dfb3e78c91637504ae435ad315a3ddbd2e83e38a5de35b3ed0b35d8254f3a3260a43e71ce833582e59f3599d90437b7371e3eaae811375cfc3335451e3b351e0c013b73be323539ff20341133683337674036142e9535518a3f35fa142d35690c2f35693b2535f0fff131b18fc8338972193439ba2f34202bcb33eb6b1934f9725a3412621d34472e7e3413f57534c8da8634b9be9c34563a933421238f34f9a99d340c31d534f6e69934a2398a3421419f34ebdb95346a2164345ed26e34e0cc7c3450395034c3674534a0250934dc1727345bf45d346ac4ba34799faf34af6cdc34a80b263563a745354f2b023f4e39ff3e2da3b2348bd13c344791b83e092c233f75193b32945b0a344bfb403e81db2e3f8c890e348c626b3487bbe43ca629273fa13271341b59ab348542a03a45b3003f3ecfb434e9a778344685e0357b02a73e714a9037c1f65b34cc2a3c3428300c3e4433eb33c0a03434260302349034043c33472d34e0accf346b2bb23426ab86359c176a35533f9e3454a5bd34254dda361b4d12356affb9348ed9c7343b720c359edc1c351bb4ae3490ad2935c9fd6c35ea5cba35361321350dc30c35c8d3eb34ac142135cfabcb3535d3c0355460b935820dd33524323c35e00f6835ee2589354139bb35d53d4d35bcf13c35677c1f35d4a427353d598235f6a171355b5f6035dd9783350c338e343efb9034d4ada134f108fc340621f3363ee8a53e08b82e3f9eda4734ba940e3568dc413ed6b1503f99402e35b6ed8735cc1b103cafdc573fe12ec5351d5c0735348e1f37571e2f3f0422b3350583bc358c52cd35331b003fedd08337292e87359274053774dfa43ed0610f3887a7263516ee2f35b5322f3e31db6935f4bb5e3520066835a4493a3d6a027137a0ca94349abfa1366b090738d7e997371f778b34bf7f89345300ca346092e73468794f350f4c5735be538f3515daa6351908c734a6a1dd347715ff34222c40357fc35e3588305335e7c6783526e0c4353957a535ee968935598f86353d11a635477b16330b99e6332375d533dd2b1a34dde15d35b3c65e35618f47356158673579c92a35670a17359ea7e734e0b117350000000000000000c67e7b32caa0b2322af65c36f1f7113ea8fd5c3fec93bb341ea89435fa11123d0ec8763fa7138f35773afa349f397035749e5c3fb96f6735b139a235c38bef35808b293f9306ab37b61da1352884a9351d32fd3e3255e937d5da0a345a8322344417ab3e73561338f10e4c35d3b09b35bd07333e62f6c5366f980635044a12359f1c973d7aba1b350000000000000000db06ea38da288b36f5bbf9348536e5349b67e534ea47b734000000001f9648339c8f3934111f86343b5c9b343cd79834d859a8349578b13400000000000000000000000000000000c64f6e344a844934132e68340b13b03405b48a340d257234d72664349b9a8d34000000000000000000000000000000000000000000000000000000000000000056845f343a302d3455e021342dbb3434c198c9348a62da3b22927f3f8d897a341ff52e344c00cb340f38793fd8818934aa8c95340db3ad348cbb513ff114863700000000000000008e76263f03358739e3dc82344b1da0346f7efb3e2722d9370f107d34900984343242af3e0bd0b83900000000000000004f614f3e000000000000000000000000b88f9a3d92bb0737270e30347a321d34616df438014d2537000000000000000000000000000000006ad863356ded5c35d5c96e35610da0356b51583523b45a355cd163356923a135534a9634067781342cbf3434cd3945341503d8355028ce359c93cb350599f435eb70b235aad8b13508f89d35b36bc73504082f341afe2d34b36b1a3487ab1734d1b49735a8659135c4418a356c8b9e350000000000000000000000000000000000000000000000000000803f000000003a866435e1be9335d5d1733f2a77833a33d17f3593989d35b0c44e3fdcfce13ad5ad8434ca3e6a34651b223f4c49843c9153cb35f0ddeb35d0dce33e2d84533dd404b335d889bc35f75e943ebfff7a3d72163534fb4a11349ef22b3ece13c23c5bab9235f7be9b3545514d3da92041390000000000000000000000000000000000000000000000000000000000000000ec16f832d2ef6533bc22e5332b3f3b3759623632d64a3332f8f25432444b8535e330a4348277d734cc77ea34a7cf86370df14e322aee5b32e69f5b32ad5188379621c734b343b234582c0f35b38bc137675e2e35eab42b356a901b35467dfd360000000000000000000000005ade463700000000000000000000000000000000000000000000803f0000000000000000ec3c1a34deb85a3fb0c89e3d81fe6638f3bc45321ea0333fb839c33d8be6c43c220cf8349b6ce83ee1d06f3e5a450b38cea8633211ac933efa4a883e1c2916383771f5344c4f2a3e952c743e48700938a7ba1935af0d023e0db7e43ddddec236000000001ced0a3d1290713ddcd362370000000000000000000000000000000000000000c86451321fd4283760b17b38879a57326179643313ce28347c2316384639b034e1f5d6342d112035250cf83781dbf6347aadee34c496da3476b2a6376fb7a3342301ad34f3cbb634c93ed9374f767c3504a188353522a835c8c21a386ae38c338f5092333abb8333f14cd937000000000000000000000000e2ec39375a92ea33ad2ed33366b5ef3339418134e91e3037f6056b3fcf89ac3dcbcabb38d18b3d343677443f8b2bfd3d08f8a73bf6d71f35ddfa093fdea38d3e707e6f387ff3df342acf983e071bcd3e715d41389042ae34b489233e7652cf3e83764138cdf5143729f2bb3d330fa93e5f6c40387eb58133ee5ea63d8848013e6f41363800000000b8dd0a386c9d703df6cd5838c222ea333e478634092480365a2859380000000000000000000000006a2a42389cadb332b973393395ae6c33da41b63750ce0931450086317e9f353562f9ab37ef3c3c34f0707e348b3d5f34245c8f37439b9a344cda9234fff78a34b44b033812a08334ce495035fad99e359d422c38000000000000000000000000c7dbdd3776657334b1ed5734b0643e34d24f2b346d86e2346250ee34ea6c29357e96543500000000f1aa553f1eec143e9fd7d3384b648633fba51d3fb7ec913e04934c3830cfed35471cc53e751aef3e78f75538d8e0a234f5d43a3ebde1093f7ba64138083b1b377336ad3df2b3f43ee30f3238c18e0f37515d163d3ae7b43e76cba538d9ef90366d17a73b56a51e3e9a297a3814dc3134323d103440402639902fca396d2f173554514d3550d09f35c63e5538951ae03499c41b35c45696353dd53e38f3aabe3384d3fb33820582341eee97370000000000000000000000002f752a375d2fd93425f60435dcc04f35ee47d936cb26d0346d3bd1342ef9ce34aedfb634b11b3632c935503412784d3558ada8377a1f273601ab2336c72f2a36866aba3600000000000000000000000000000000000000000000000000000000000000005e9f9035c0a1273f4cebb13ef8478638bac3da348241e03ebcc0043f81d7473800000000c465573e4f4e2b3f128b17381b719835d5be813d39f6293f17700a3854f6c43421d7ba395ab10e3fb67cc33780cc8435b80c8938cae5b23e532c98385cc94536396c0e38d342e63d492cc83800000000000000004f3507389c8ded39000000000000000027b02a37a6bdbf380000000000000000f1f56237ca0c8138000000000000000094d131341c920637c18d2a342cf09b344cfee83408c6af37cc3fa0345388b2349832c934207b5c379d390335e4a7ef3432100d3589af03350e119734d90b9934781317352789f936b98620346d07c73232dcb63427e5ad3400000000000000007afdf6307360bd320000000000000000000000000000000002c76d37c313fd3e0716023ffe10e137de463e34b9de8d3eb944383fcb436a37c8011536f3d0793db494543ff78a19385e20d93427e96538d8233a3fc03f69385df10435482c6d374263003fdb3825381b161935883e03387e69883e2a5a183ce9825333431c5d37ce2a863d266c393d000000000ec49d334f963038ec78cf3b0000000000000000d1c621387e05c83800000000000000008f6fcf38b340ec380000000000000000000000007a80c03753ba9535c05c0836b2c92a3647f99c36b54410325ef1193298fb203255f87835156dc7343405cb34ebc6c9346a4fc034afa79034e895a234bc6ac834c3ca2835000000000000000000000000000000009e863d346a9c2734740c1834f2a3f433dce3c0348df4dd34bda60c3502eb30356e10d4387106ab3e0d3b2b3f00000000d61d5f3670efdb3d5928653f00000000a6905e36a7bd3e385fc2633f21c56e386d51b434263bb037915a273f01ccc43875c1c4344277c1341464d53edffbf03cf377e634e1a7eb36af824e3eb05f983d0000000062a45a35facf873d5fed6b3d7e9c0134b96fb236ac3e503cd9630b3d883b17357c035e35ebbcc838f2942439802c5335d67389378b9885385c09b4383ddbda33c3daf7339a3530346fcd3534000000000000000000000000000000002daf7534420a703479807e34c7ed1f35029f76345682853423c18534fa1b80342e18fd34d7f31d3506c25e354c005035bb3320340e992e337fed8334b2dbdc35addbb933c0269f33db11853347ed45338e18ff32a5b6a734fbbe14352cd01937ccbfc63c29bef73ddbbc5b3f430caf355d2a4734a4c43839fd2f803f40b0ac37000000000c8f1b35d6a6543f7d724a3c0c4e8734c501a8355d0b133f769e203daf7e863455aa8534dd5cb73ee772ac3d3dea4135bdc46c358492383e58edd33d3190d234ef97d4365f3ac03dda6d6e3d033e4c33feb65033f95e703db6b4343d7b5b2a35d958f437a4a00d3c9be4643c5c3adc3456c31235c0c201386a4945380000000000000000000000000000000091205533375b4933600641330ccc7233c09e093532c51735883e8d350041ac359874b934a765923441abcc34fb34cd343ddbae3423eea034649ce934e2ae013578585434f9c1bc338b469d344e4fc934e49bee33fb036833a75eaf3387a1b133de3b3f340d4d3334f0f91535c197783732e32d38cfb9fe3c61ad783f5a123b3500000000c454b233ab65713f8f5992387ad27833db1e14349a593e3f31ab583d5a7b88355aafb7354f8e003fa885a33d7fd4be340a3cdb34d9ec973e545c123e96d4e33452ec8736d04b213eaa75173e9765c633cc03473789a2e63d0f199a3d98fd0733bbdb1a3706a67b3db01f3a3dce5f8c354c8be33776bfd038027289390000000000000000000000000000000000000000000000000000000000000000318a2435d4722635517d3935e44142355dd903358ae02d3514a08035b2d78c351eba93320e3b7e322f446e32cff356323044b4342165cf34b4e60035d520fd34e4109a3247bbab33286c8834b9109f34be0bf1334cf7c3334710ba3307369e330000000000000000000000000000000000000000000000000000803f0000000000000000000000000eb95d3f753a363d8dae4a3500008635acdd323f7788883dac648e35e82f91358c3ce93e4c12133e53a25d32502ad5325d508f3eb9462d3e5ca209354ed0a936d466243e2032203eda319934f5589734b801dc3dbef8983d62b61133808e2e33de3ef93c73ea263d0000000000000000000000000000000000000000000000000000000000000000bb693036335b25366e10de360692413727f01d36046a9035efae713780a00438215e5d37749ca5364e91e4377b4e17389243a636c5e63d368b8ea63782a5f2371793db360b95af3630b98637b8b3ef372b756e37e276d73654a5ea37418017383a259e3764d57b374371a237f7a6a03700000000000000000000000000000000000000000000803f000000000000000065a4313657f17f3fd354ab371dfa4137cd3819379d6a543fa3f48a38a082cc375c8ec73768df293fba5a4038c0bf1138c1489637e456fc3e04d21d38da0dd1372e3e4a37303aa53e15945b3864c69d37d946b637a2911e3e488a43381385d63775a7673743bc63388e9ed3371e2a8637000000000000000000000000000000008314333557c62835eb5e5237a5e9f8378c7d113578fb023562fe17359029ca365969d03599189935a18ea236c29abc37bb354035ae932f35ba69a836b04d8b37b254083717d62b362c645437f7a8b4377206bc3686a2233647c4a9370b2e1438cbbeaa367aec1136eed8113711444537b7281f373683a8363b6a2b37d23c61370fa58a372f6f4537727a76377b938e373d832b35df267f3f237b4b3b340b8c371e610d357717783f749bf73c076119353630d73514dd4c3fbebbc23c2d25a137f28d3635f528243f4df7a23c21b92e37a8a80f37dea0f43ef7d07f3cdd69873775d82e379711a23e05868438d2e9f237444a463673ca1e3e24676638c8583037595d54363b95f53764facb37929c46374428e436e85966375d34b13705f79b373525d53646a1bc36a2f49b373632cb37a6268936692c843682958d369e2c91374a1433361a332736a63a46366bac5937e3c6a136b86796361ec6d53624961738648108370d86023708fb0a37b8708b37d05d86365156733675da8b3627bd2b37e7712c371cf13a3645648c37f7f1f0373daaab36844fa9365839aa36d7d323376e869837ca856137194b9f3775eacc372a70ae360040543fd9be2e3efcce50373c188536e1ec4d3fafde393ef90e0137b92e2d36e873293fbce92f3e81c0513675e799368e320c3f8eea0e3e1621ce37e1720637acfbcc3e92eecf3d099844374d8977363b80853e92455d3df3ebc836d3243b3677c30a3ec8da873c525fb53729cda93628b5c43717b8253883c5ab36d867a936bbf0b4376ee40838a164c73768cf3937c04f3537e187ed3795320738accae136b978c6366f77033763ee1e3873fc6636077583351ee204378f4509387118c7369231bd36da08ca36bb96b737d0608137435220376ac0b337a49639384588c337eb0c79363e46053865e36c38d4421137d5dea83693933c370740f0372f92b137303e88378b89ac371ebbf2373966713799ad0f378c946c37f8a8a13788933137797c293f71ddac3ee84d8137764fc736bcc4243f9c86b13e41f1f236db278635bdb20c3f0b0b9e3e515d763753d6c33616c4dd3e1c1b7f3e1d925d3723442e37baf4a13eea283d3e0df7f337708b703719b44c3e469ef13d941636381002ac362a2bb83d4b285e3db2d35737dfe25f3793ad313848736c38946faa37ed5ad736d74a8e37affcec376e319337df10a336e6f583367ff802386e372038c9d09e3588ff98359e989e3597d254376855e0361957753611723e378dfafa37243ee336e46f8b3582c215374d720a381c025935c509583580815735f1db8d37257f813731c8ac3654b28437468b2338dd08c637e9886d37a430c537eb8a3038aa731837cb7aa7358e76013726188437aba4f837a3058e3742bfd437d9331838bedd37358180fc3e1dac013fc58c9c36926a9e350f55f73e4c44043f17b29e3580caa8367c4ccf3eadd2e23ebff892370450c735b06aa23e4814ba3e28389c3703035b3512bf6e3eed8f883e6faa5835365f1537f0a90b3ecb3a3b3e7fa4b63777678237c573623df6d0c53dfb35d2379df6a935df94ae377aab82382b2010379810bf360607f937e2f95b381919e4377ce4fc366deac13645df9537d921ba371e39303730e5c2368f5e49372c57be37e092a5364cff9b36a427a236e8cea337a5c9ae379d3a7b36554283373bf55b38bb10a837603c323726708a374165313899b53d371e42ca36db80eb361c7ac6372afbe337a4a03737b117a737c17c2d38c7e2d837d1683e376f3c8b37a6a14538583dda37c9e4b0371969d2375292fe37c48daf361448a63e2ec72c3f1c59a136cb85c4361864a23e92c32e3fe0eb1537dc979f368f26883e6ffe163fcbe9aa36bda7443707784f3ee55ef53e19280b381cdd6f37fb1f113e08d4b63e3415df3798fbcb36004d943d0e1c7b3e9ab66c37d70c4c375ec1063cdb8a083ef2bfb1374ffe2537d91a663810a01b3cd0be8037237c893791dcd83752212638fb89d93794bd833717f641370e22af3724bede37b1b3a536e93fa43621ada2364fdaaa36d90cc6361016363653973236303bbe37a5a791363d5e7b36730b79361c8d05371fea10377dca0837b5d40737b1c87e3781ddb73757c8a636264fd336de091638bffe0e37589b4d36ad2551360aa79f377a1b9837a18514371e045437370db9378796af379e656d3704fe9137c81ac337866e69378d9e1f3ee404583ff9fd91368c82a636252c1d3e82aa583fe67fa336e96c3c3602df0f3e5411353ff2ce1137439c8636b180bb3d08f2173f1756893616f60a378b387f3d0e1cdf3e13c314370fcd4b37996f153c61639b3e395ec337a98653368a180c3862282a3e791a5036f5db0537bf3abf37b486643c418c5337f9bc313789179f378e950738096a963793258137d5852f37f11b4137b82cba37bd058d3602dd5c3556855c35a2ee3337ab6ca6360e580c36fd17fb3599642d371e5e8f37aef33136d2ea233627fae337b49263370c2d1b371837f3367cd78e37570c12375d2f82369ad1b135cb1f3f37cecb8c37dc10f936d023c036f3e3be37e07f423694a21c35305a1d3567604d371a42b537db951237199b5b3747d5de37acba8037d4ee4d38eaf37f3fd001ea36bcb29236801afb3794f57f3fbef2063672889736c3262a38eb42583fbf38df367d78803732a34938f4e52e3f34b6f1379ebf573774291038b4a2013f3b8982374681ed36b22207384071ad3e89a51f37586c43379399d9376dfe333e8e71ac3768b92035a3d4f1366733143ae27f1935ba1b9e36529b6937c3b431383c153a3700000000000000000000000000000000e0362d37e52f9936e70d6a3667ac9c37b7838037efada236ce0d60366b72e637a31b14378c5dbd36bdc99336d246ba379c05aa37a189e336212453362a1dd937529604384e49c237975c9d372f7c1538ac91b73713c04237c4cf4637d4d50d383a146037f4e928371e3a30374e5488370000000000000000000000000000000000000000000000000000803f000000008b902037c3698e376af37f3f58caac377db12a37135703387147583f61253c387835f736abf7c3376b4f2d3f9f63513896a78b376881d3372cc1013f6a531c38f76af4370e0b1338050eac3e51fb303824b89e376cf7c5374c0c2e3ec7114c38b37936379094303742fe7a38041873370000000000000000000000000000000000000000000000000000000000000000907fc636f31be93644b8f83733911938710ffb35bf2c0436898e97377017d137a7979b357d4e9c3643ef393854996f38230be236c85ee73616c13d38b4af56395612cb36383ef7361285e8378a4926386eecbf36c1d742375b07f337bfc90238f7bf64374136a23788ef3138f8333b3800000000000000000000000000000000000000000000803f0000000000000000bfd3c237d01e713fc2e2303a974815380a8f48377e784a3fdb10303a5a26c03727dff33712cf243fbb2fba39eb6256385a430c3848d4fc3efc9d683af2eba9385998b3373d32ae3eabf743399d250d381e1eb837d098473ea42933389d59e93710cef537f2aa323daff9ff39214a243800000000000000000000000000000000dcca0f35df631135b55ad2372dcef037d681a636884cbf3683f82b37eac7b03711205b3694b35f3616282c3734f4fc37693f1e36041b8236b996de37b0111c38a3be8036b10086369d0ebe37840d0238a0c4c036b9c5d336bf2faa3714ce1b388964d236a916da3614d31738acd93f38d1f76a3618a55e36aa1d8c37b657c03762c42d376cdc10373aa1aa374411ed371c0b4d37d3646f3fd648843d9158bb37e2dbdc365a1c5c3fe1cda03d42adab374a73cf363743393f59289a3d5cd8f637ea33773775e4163f08c78a3d266b1e3806cd7337b5bee93eeffd723d80f60a38f0194537518da23e72930f3dad91d53859f7ba377b8b3f3e3317993c4f804438ec745d361459383d6941303a972bc737f18af6364b13e3372f4c2a384f75133820bd0936f5b50736fba5ed37780003386b33773610911b3781ddb137331400387df85e36e091683623bbdc3634c8b937a2521b35e04e9435040e5e3762d91f3897470336008b3936c55226373385c9377f3b0c3623fb0d364a528c37815d0f38f91e7136d52969364d5b0738593b39386bd1e936a0ddc0363468c137668b0b38d3e541376d7709370c699b378c90d43703f90537729e493ff148593e30f4b037969d7837f61d3a3f48a75a3eaafff2375234733694381c3fe7514c3e4908d2378fa45636e053003fed212b3ef6152b383109c4369c07c43efac3083ed96dfc379cbc9536e364843eda60b83dc9ef92385a6d7f37f0881a3e5567543dfa463f384e01ba36f96fe23c44991f3c2b3a183843c0d336cc63bc37749c193891f30438bdbb093780fd473771cc0a382bb41138f1b89835c9539b3501d41d3702fac437050e5735d1d8633513d9cd3567c09b385b7ae0339d65ea3381f4dc365ff61838445a03364017ff35257b2a37a8a5c83729b39b351e88953598d77b37c7600238a70bf334c066d03490208b375b3c033851c30137e7e6c6360e2134373515cb37a39a13377458b83626ea4c375fc69f3793e088374426243fb082b73ebce4cf37e9e59c350fb6173fdf4cb43e373c90378c2681357e45003f9dee9f3ea5827f38b957fe33ec47cd3e4ff4843e20772e38dad1ac36e3c29a3e03ce4d3efd59d93732f40836b22a4e3e55eb143ea9b80c38f93ed134d14bc03d3ba9bb3d6b7904381173bd366b0f273cd52dfc3c419bee376a38ad3636ec7b3765d09a38cfd51638899e2a364efde836be241c3870bb3b38d10bfc368fb7ff36057f043857f90a39964294363de295367cb2dd37977f003ab86bc436ede0d3365f966c37f6d9b937195c1837d9a02637da800738eafb613858cd4037e0603537c9a88437ff1cc737041e9637e585723738560938eeaff939c306ee37dbdabf3708e60f3801543038f43f9337eb716b3705b2993746a8e1370d1e47371633fd3e3f4b013fbaaaa137865053377746eb3ec176fc3efbff25389cb43437bbfac23e225dd83e85e7e239f5f0323717489b3eefbfb43e9329d5379e20a5373fc86b3e5b058a3e112e703839005c37574a123efd7b4d3e055bd43776b4bf371351923d595ffc3d694af139afafd137d12c3738851b403df316d638ae6b4c3722089e3775148638e2493a388542b136f607ae368a8cff37a4e15038d7dc6b36d1076a36516fe836af0bea3716044134b9b079345a8561368628f4374b079335d6048e3567fd293780e900385a789e3653337036e4410f37d21cca374d720d3400e21a344fe43237a49d2b3891cca4351d859d35c16310379e254b398781ec36984c71362c661a378eacb8372f14c2370c2f87375760b53756bcf837d69a0f37ee53b23e61c7263fd24f8637fcc46c367811a63eb76d223f627bb737bfdbaa349e82883efc340c3fedd60f38a6559135fd65503e5714e63e002e10390b8fda365035183e021eb23ef12a1939dc116d36c709ad3d6c4e823eaf512639bef8b9352a18e13c5339223e878a9039cbf0593690df9b371e7f613dd700dd37e15380376120b8379e4956383c5c1638b30f7c36d46b16372d7a00386e0f103887f9433562ab3e3577d38337a2971c38e8705536a7ac4936af24ae372575bc38336f28365c73153610be4237491be3385ea9fe363cd8db3638061d37e87de0374096633760601637833c793750d22538a58910378c5d8436fd99413718d4d037a506d037d1bbb33741e4bb37436c01389ceda23789bd0e3744dd7c373f45db374b2a95376d6c4e3e644c4c3fd2eed737abed4c3666ae413e2cf6453f13641d38c7404937c5021d3ea5b1243f1fb7a13969abf9361062dc3d70020b3f4656023ac4780e373f42783df865d83e6d507539de726937818eca3c82e89c3e590e3839b7a6f536fb98de373b9c423e5ce4f737ce47b23799bae0379684723d8450113812d2f636e7467437f5102b3834730b38eb541137c4a60637bd7c0038ab82223896be54365dca49366e195d365025e237850ed03606a9bd36c5929f371b023e38894e16376c5cfc3604b7483726175638017472372ddc2537a6178b37a62c03386cdf94372b331e37a8f29637df981638c3cc2a37c879033715530837599ae537023a8037fd79003766e21c371b5fac37363db337c3007137ec0b7f37c7e2c3375387a3371ac65d3d6d12723f766d12382e795a36f9b2543de3e0663f23bec23997449837c6eab73c2155453f85a05b3a34ce6837e5ca263cd4e8203f9b1b0a3c133f9c377e63093867c7f73e43962838d8a1a0379c0512385a62af3ed8e5853813ca0a37437d9b3740994d3e09a7fd38f4b0fe3679ce5c37381d7b3d48169439367d5737a1295f37ba31113806fa0238000000000000000000000000000000008141d236a242cf36e69a4f377b2f3038e643bc36add0ae363937f6360c0ce6370fadfe36ab2dc83615f42f37c60ef43756f47237d6f000371dcc883760e84338b5bb8537f5830137fa75623770cf4638eca82337a2871036271bb93640deab374c1a0138744db0370544cc3783400e380000000000000000000000000000000000000000000000000000803f00000000b1aef0368dc60f38a749723fcb28173cdf011e377ba4d33773894b3f045a1f3c965653375ad2da373aa8263f9ecb093cc6009937b0931738b2f6003fae0c873aac3d823746eafb37d3dcb53eb784a8394b33cd369c585a374cc4543e26c2f43906a6c837bcf4de377d8b683d138ae83900000000000000000000000000000000000000000000000000000000000000000ee8a037576ad738ff6af23997c60e3ac9acb037722221385415a23928ebc7397b509038a8aaad395e01283a857a363a8a646a38d4a57c38be216c39b44e9739ff981f38bf405c389207a239500ff339ff7c9238df14533929d7db39271cf839923f093835dd0c39df8ec0393159de3900000000000000000000000000000000000000000000803f00000000000000004796d539053d613fac9a8e3abec70b3adb6c89395a07413fd8fc393a3860d5398749183ad98e1f3f2554863abb2c3b3a3a58153961f4fe3ebdad243a94f5a5393eb6ea38535abd3e93ce8f3af8781b3a97e0a9398de6773e2c34203a7279023aaee968392dc9ea3d1724813a0033093a00000000000000000000000000000000e75e0d38abd39e39be64113a026a103a20c3df3704772938397d16397e3a7c3972ca2b37e473bb37a5c83d3989aea83915962038b1ec3f3882f8eb39ca874f3a03cfac370926ca37bfc6333a4dd7723af0bc0a389c811b381339473af921893a382ac537d3d42a38c9e6db395dd80a3aa5120238da442939a753013a07831e3a32a98037a1f91a3839658739c9b4d539c39aff3993a4603f8482ef3d87bb003a49915238855c473f5d62e53d5107953965155a3835782b3f501bd23daa79dd3957f882390b3e0b3ff5d9963decd9a73aefa6ce393d18e03ed1e8803dd62c913a863cd439dcaba53ec1b3403d21f0b73a5c9c763933665a3ee4fcfc3c68411d3a2d7596399344d73dbc0c5c3a0f5b3b3a198cae380ea1ca39cdc4483a2d96253a4bcf3b380ef9a339fc66153ad505193ae4b34737b1b6ce379d6ec939d6e9f73902d71437d15b7e37a5ced439162a3f3a64986137e565af37718d2139f90ea63925d7a638c87aaa393c6f363acc02783a1ba60a38d7c91e3881684539684b2b3a0b5bc6377e390038191b1c3982bec63966ed1338a9e72638466e6939d748c139eea723397a5a5939dbfbc239843af3394839ee3971fc3f3f43ab793e30f80e3a584655394aa62b3fa066693ed03c033aeabda6389ee8103f8074423e23d9703aa674f5374afef03e292d243e4995213afbde0f3aef81be3ee140003e60e49c3ab507323814628d3eb7c2c03d8e2e823aaadd1738d4b0393ed5067e3d1f88163ab03834388875ac3d7b0def3cb58e3d3ae7446a392323dd3940751d3a28fa143a0fda0738a5f3b138a7cb373a3bff343a3bf4c3370a8ab9381a58693ac27b9a3946d41937bc58ac376bf60f3906b1d539e9a142371038b937927e95390454e53981af03385ad011389d437739aca8cb393ca66a37d0a1863774f4d038cdc2e73929d5063894a81338d6a593397cae163ac494013974505a39762a043a0c82223af6834439bbd86339c228cb394499ff392864b339229f1f3fc923be3eb3bc0c3a323e9939df790d3f737daa3e3b7f9f39eb4af73771a2f13eba7e923eb6c23a3aee14ab38ffabc73ecda8733ea44d353a1d155738858b9e3e5b79423ec7dc0e3a4a7eb0374fc36a3e88fd113ec210523af3945e387066173e3089be3d2adc9f3a574293395f938b3d9080373da2ac3f3ab3c077392b73db390a15263a1c801b3aed51c038affaac399d291f3a27cf203a4703df377d55f837b15ffc393c5d183ab2d42239a2eaed395be9663a6c02863a5f0eaf371c770538b733083966be313ae6a0a4388a00ea383798dc39d4640c3a91c5bb37ba100138b4167238295f043aaafa013aff66163a0b49593a5ea17f3ab6a0ec38fa001439052ac63901d2013ab8537439537b8439c570db3950cb073ab163f239c30efe3eefd2fe3e408b123ace858b391a1ae13e1872e33e7cc13b3a40393d3a3e88bf3e3a53c23e4f418e3a44fc463802ab9e3e1d90a23ed6fc7c3a72df923935ff7b3e22f3803e3d22213ad6323638b7ed373ea9f9413e4cc9843a0fa7333acaeae73d2b4cfe3dab598d3a2b764d397dc2503d4d92793dc7034a3a363693393e9ee23970b02d3abd1a283a3ba425380ce98539257b143a6e5c193a4421783784f7da38645e243a70f93f3a6c40e437283908389880a539a5b6663a45d87437da6c893790c3a738c4fb013ada4f0938406f1338b4463e39f714c239f3dc8d375886dd3762677039a610d739c432b637fb4ecb378e00ae380a6e77390774fe373165fd3772ebba38b2226b39e7dd1238bafc13385a3786395a03eb39c8fdcd39e253bd3e38eb1f3f6b150f3af7b6c639036aa73eb6140e3f0660473aba32dc3840ab8e3e866ef33e9e8db83a1e94d73702e6693e7a2ccb3ed684783a9aab1d3891173a3efacfa13e1bb1303adf9d4438dccc073e290e723e96a7583a8932f437f130a83d8af1203e9f9d623a30950438dfff0e3d2f4a9d3da886bf392de635381e177539e008723ab880583ac0ec8538f9317539b5780b3ac98b173a21f40138e78f1f38f29aa4390cf82a3a18838c377852cf379ef0ca38166cfe39ceab1538ad082438c1c91239d296363aab876d39d360ab397864263aecca6a3ab129b437204bc337b31b8e38f2489e39eef4a73705f5ab3783a0b73926d3233ae3405e395efd2b39f91ab139eac3e2394b94d439b90bbd39be7dee39ac810b3ad309c539d69e793e6b3b403f8fcd113a878bbd388caf5d3e85a32a3f2e2f793abf140f383e1c3c3ecffc113fda79543ac5c837380af8193eb649f33e8105ae3a33c3023af5aff03d2430c13e6468ba3a73fbdc373fb3aa3d4805913e579a4e3ad1965738f014573d00b23f3e8c6b893a5e115d3996acb3396c1cc83d733d0d3a2989c139bb03e1395691263a7263213ae48b7037d3ecac37ce95f6393c132e3a886dec378dd204383022023a53bf333a43b9ab37906de637fd05a039d95c0f3a9f1b0b3869581338092a293a3733993a1cfcc0379c96c737617bfa396ac9643aaa6d603835b29b383bd4bd398bf1443a526c0b3865c90f38973b2739a4b19b39de233938e73232384c999d381b104739f215ae392c788c393d55ba39d2faed3947135139336df03de1bc603ff3934c3ac6dba0390f49de3d92e8473ff02f5e3ace5a2539fe80b23d2e3b2a3f3f794f3aae27ce39c5ff8c3d0b790d3feeadf63af6dc8939dd7e593d4156e13e0f0dab3a867c6b39a667f63c38b4a53e8e32c83cb0f99d38a0d6663922c0663ee215e939c9e239388b076a38aa6bdc3d06c2b939f95b88398b1f9e394cc5153a9a15193a000000000000000000000000000000006501d63723570038b2268e398045ec3921cd3b38b1c948382c099439424ef0394ac83d3839c04b38caa1863837a1c239fc9373380cb578383bc79b3885597139cb5c8c39df429c39fb91f1396726223a878f8d38daad5938e59334390c6da03926a44439b84e0f393f2e67391f1cb3390000000000000000000000000000000000000000000000000000803f00000000374a253987a9ea398743613f1276ac3aa5d96139a807e739e5cc403f6a0b2a3a394c7c38eecea239af1f203f1f98943a0167823839e24939cc80ff3e401e1b3ad5a6d2397a57123aea0abd3ec163543a2bfcfb389d976c39063f783ea1cbf839eb65293924c95739d3b4eb3d928c353a0000000000000000000000000000000000000000000000000000000000000000dd398235a71c4a3566141f367786543729df59352dc35b35d595193643cf2e37f57f5837658c403737239937024a3138ecd1f8356c8ecb35ec67103748a08a3736189736814b923660911637b36869374edc6537bbc88b37a8f40738c085163856c85037809b3037ddc9893738e2693700000000000000000000000000000000000000000000803f000000000000000001bcd935f5b87d3f71696038380bb5373aad5b355b195e3fdf3d443842f0b437fc2395375e952d3fa3b9a838c8094738af8b0c37009efb3e8d1e9038560383377ea11437122b9c3e20840f38c6972937833a38386283f03d90c89538adaec937cd3a6e37be6d9e3854c5323860dc0237000000000000000000000000000000005fa0963588f8973522c3a3372ac01838fbdd9435b1e09a354e21af3544f69c379d2acf357cafb935660e1036ad0ca536e81897341e3e9a3445b69a3488351538ad0d2536ae420636672986368d308837d601f3359b9ede356f5e833775b8093833c454356d594235bf15c337752ff437c62816376445b036c5d69f3702e7c8376004fe35d91ade352286813694411937ef2c9a35bda57f3f6d94a33a77a51038fea19d35977c743f1d8cb13c2541ee370607e735172a573f5166183bb50ad2379b6a9d343211273fd35be13a69114d3880c558360103f03ed671ba3a806bab37325066362029913e12b0423a559a0c3865775a37ff51c63d556dbc3884ffc737be63ac36846e7f380dbd8338311dbf37ce419e3510b40e373afdf0373a357737885e1c34a6255b346995483748eebe3729afdb352fb0c935855818361a938b372784bc356f05a335f84c0336478c78363b9a2836eecf1e363e125036231c1938e269ea331e7f05349bd01a37f3a6e3370449d235eb79c4351b5ee835a205d33762a482362b148136ed7fe53788ae1d38d8917637313507373e4cc7379ac305384470e6357ac75e35abf32336ece73d3704f24a3457d25e3f4a78043e599f8d37b446cf357ec6563f3cc9223e27178a3708f0c335a7cd313f9ba31b3e48fd8137e67d23362dfa0a3f8f45093ed8535a38c263083494ebc73ea488e23dbe44fc37000ecc3516f26b3e21999d3da9da0738ac8fcb36c6acae3de6a8163d00b023380220b134a1104f388935d9394f2c103814ced5343859d436f0ec9f38e162bd37d6e3e335d54ef235baf4ae368399a836b453b13572afa23521f21137f2b3c1375ecd59365b53543692737036db997f3630d14536ded24b36774c6c36d970843649970436eb3a033633fe1a36723e16377b32c9369f85bb363d1ad837b00c4938700f5a36b3d76036b754bd361b838a373d336a36172d6e36b72c823615041237c3637c3423cb6834bc33ab340b04a2344402e33571742e3f3d17a33efcd14a361ed5a035f7c4263f2e97b13e4dd26f3700f66036268b0b3fea67a43e85a727370d374f365e96d53ebb458b3ed16a87364a300436a445943efe0a543e6ab0f836f3cdf63683d8253e04f3123e005d3c3832c256363dfc223da016993d0f58d1360e5f6036781dd5376e4f9d39e63dc83693136434af65e234543fcd37bf4e84346b5c0e356168fc3486050e38d5b7d137a7e39a36ab329c36f7a4af3722f60f38643e1436008111369b208836dd750a37d8e3e2351b5e6235b8af53361a81933746a3883735672437a497a03753130c380132cc3605a79b36742697374a891838eabc5b37da7e0a37507fa9375eacf437b4d31a381d440a38801b40382bed5c3886dcbf361a2d4e36f974813749cebb376f2200358421fb3e2e67023f4766033554e79836bd1eee3eb3cc083f1d9f7f37bef11536a391c63e99b6fa3eac1bdc36aa971736db26923e1e5ecf3e7610aa376fca863712a8523e11a7963e1613fb37ee533437f1f7d03daa8c543ed9ebd337740d03377265883c637dd83d290c733789dbca3734e596389bc1ce396cf22e388971f73447d005386a867c38e8999b3761776734205e7a34a5fb7734236a7734eda45236e01a5736206b5e36817b673628a03a361665383626eb4536b989553669bfc0369570a53605aac0361689a037ca921236ec351436b0a1173691b7a336cfb08e36d27e89363b1e8c36e0b3933678ae4237412d28370406b9371f100438dbc0d7374c01bc37e5910638c24b1d38f3a3a0366b6491366420bb363955c536c1be673433fd9a3ef686323f22586834a2e94c36ebd88d3e7305393f059e413628d540366939663ef929293f60345036b439d9367def203e5088093f86f189373daa13362f69cc3dcfb1ce3e90631036862b89369c82203d472b8b3e88858936981f67377e4eca38cbe9083e0884e9369e599a372f3e683847d1d03a21a0b0370ed547363a589937bbbcc238bbeb8936e3b11e37c9999637f1fc9637d0ac8236b66cbe36beaeb43486e99b3461129936b52b6f36a2f86d3667ac60360ff06f367439c935450dd3353b57be35833dd2357fad90375d2dd236fb847b36855ca7370dfec737805176371e9a8a37ca841a38f39d5e367b42463637368c36cd298337b45c9c37582a6637de2eb7379c9be437e4bfd236d41d9036122a70372115953756548537432fe93dd1d4623f2b954f3482f54837614caf3dbfec693fb3daa833faa87936f30c9a3d507a4d3ff7d46d36cc5bde358909d03c91d82a3f32f1c83565dba437f7dd233c9758fa3efa648937bcd91438aad8e6388452a53e5a27c53793e80a37861484388d151d3e2fd85d3698c356371c913e3816310c3be5e5f636ce5f3c361e3b2d3822ee613814a26b34d0a913376f7ab1365946a7368afdc5360c34a13653789c360612933658139e360aba103568d118359d1a1835ece71735dd652436cfd0e0359d739c35b1556a36d4af71369d7242363a912f3633f58f3606ae5b37e433a23411019f347de9d437afdf4e36aff94e3655fa3f36a2b15637d668a637f0995a374362ab37b575fd375850e13779e9cb375717dc37e40ffc3769f65b374055c438c6fa7f3fdc11a1354c8aa43656866a38faf57f3f1c1c9c36534618359ba44138d327673f58761d355d1d8b36faac6d381137373fb2f3af37ec40a7368e38113801a4073fc1195037b2b1d6372edca7388ce6b03e62970b38fbb58d3606bb7038faea203eadf70c3769fc923768f0453856dabc3c485962374d80b33746772038a58f5338ae99613700000000000000000000000000000000ee13373654a5323694b32736ea734136e29d6d36a1c48c3533c876359e43bb3690039336a0e38736cdbd7d3695399c36f391d636d7841036f35b0436ab0f3437554ac937e4ac9537f246933708192138ea88183769d4bb361bdad93698f2bd37d45784371095203735bd5b371577d6370000000000000000000000000000000000000000000000000000803f000000002037453639ba093729f97f3fb03a7337e316a53693ac96375ae5613fef434138d28a9836c1ee0437bcda313f3435aa375c8fd4363c0c8637262f023fd6fce937f9f5ff370d2b7538abb9a43ec8ec8438dc89363712b216385c5d073e57771938ff29893703912238176d0f3c3019fb3700000000000000000000000000000000000000000000000000000000000000006c03063639c209362a1c143685ffeb36959aa232c11da332e6622934d607dd37fe298435f0da9d359847d435d06d19384ff3373602a23836ee02e4368cd326382cb6be35061cd735bba9ff37fc3e32387050b635116de235e0f5f537658905384b6c87361f4d8636547005386655cc3700000000000000000000000000000000000000000000803f000000000000000034180e367263763fca652b3a35e8f337f765a632ddb8513f39069739886645385863be35db71273ffa978e3af6f13b38a84a3f3613a9fa3e36388d3ac6ce0d3841ecdc37c60da63ec5d2a0388e36dc37f1efe4372739283ed85c0a39bb9b1536cc9bc33728e8503cd5fb8038f1c7633600000000000000000000000000000000704dd235c293df3546bbda364b05f3378fc1063673b60d364bd11736372c83378426453559c0513573716535f2c43637a672df35a746e93540e46a365073f936feb12636f7a02a36298a9b36a219c337a123e935377ef435212c9936db080538623ad435155ed43589b169373564dd37b60ba835e0aaa93534764236192898364c99123613ff273611ff73361f7ba3360d8ae035e464783ffabef13cb31b3138648f1136971e643f6a63493d94f43d38eb315735509d3d3f51af323d7f1a2c38d1242b3681b3153facee353dd7977c37b3972f36a58ddb3e63ad0c3dea94e63744cd0536bd968c3e75db483ce366fa374075d535292ffb3d23b5803a2d33673701b2a835ddfd6f38b5f3b1388df7723609872d3679e19136369dae3771d2ac376412e2359596f335838d1936db036b379f054936b2155f36d90486366d9db736d9e07535d9128535c29e8c35d6908d366318db35f24aeb35e31436362fca9336a0c52a36bcd23336b2f54a36d3705f36d4b35e35edcc6b3562d36f3522e3b436d319833545b28935f1019f35889c8c3700000000ad75d1321ff483344b5bf035000000000000000007677031dbb15e34de3ef5358c52533f6d9e323e80515537f9436f36e1c43d3f0dad563e02b2193751a88835aebb193f27ad4d3e5615b1370c21ef354781eb3e38f5393e83d6273786a14036ff25ac3ecb071c3e83733f37d3306c358ac3473e3fb0f63d96278137f5ee973563f2ae3d662f933dd8a4c537ed638d33f0fe8136b77b143a370f973600000000d249a3338cf60838c5fcea37c1b3453538788735c4e5e337182f2a38ddb88c3548a1943551909f353245a635ea5c793296cd8332266dd13209cc433533e654354733693576f98135c57c763740733936d475413615c84e363bd74c376a602335fa9b1e35f062f935a887ec37154043355e724c3502be5c35e44a1837d85a983649059b3626369c360ca59a36302f0b3618f81036aaaa2336acf5943777f18d355c27283fc285af3eb71fb03705d096351a43153fdac8c43e4b37b735e00c7f32be74eb3e8876b63eeabb853642ae733539a3b03efce5a23e20913e38998c4e36defa743e2b85813efc3ce137dcb1b135265a053e642d403e312f3538bc285535a432f93cf259ed3daa9e40377c19993626d34237c65c143acc77353704fb063632bfd1366d175a3810ca30388dfe4b36239a59376afa1038dc3c1438293207366c0f0b365fa8dc363e7c8f37a5778935fbb58f3514160336838cb637105306364859173694cd293600e30f379df113377f4d33376cd79d3721d92f38b49a3336f4473b3692b73c364a1fd6378500a736ac2ad3368825ce37d9c11b38e10ffd362b1faf36bddb81378aa7f6374137883723266a3785b6b93769e5fc375f678f372319f93e0c6c033f57bfc037672c0b366e79d83e5cc50f3fb8497537b5eb8e355844a73eaad2023f9f70093875f01f36aa546b3e94bbe13e3ef911389e077337c4fe303ed97aa73e6c794f382bef3d36e1a2973ddbb9823e39521438e0498137d7110f3c051f1d3e2e670e38a79ff036184e2338b39b7e3ce5a60538f1f35b37563bd537b1958f38d3c91e3819d20c365c8a2c369c9b1c388d8f093861678036f4368736221a8f367d5c9636a396263591d43e3597bb433577e046351ea40b354a9c2435b1c4a3355be04b375dce463645c44c36285f5036d7c358371d7f8a35ef919135bcaa1636aee6d337387b7933fa02b433e0ebb3343c92a4367b58c0356590bf35ef56c2351aa3bc35ea84163756aeb536cadf95372e330f381e9924379687a23e57b12e3f9c7a143685558b365473843e91ac3d3f2b969436afab4135e565353e39382d3f3212c73562cfa3351d54f13d4e6d103fbd931438fb5a5436db158b3d6b46e13e48e9aa37b427183695b1913cb65ba33eca4d1c38566af0330cf6c937bd343c3e2d2fa3360c48b835886b0437c03c063dcd1fb035b9034436e6bafb375293b03886a24638f67ff134149f1635cde1e4374a4ed43600000000d925113321e39c33178c3434968385351ff3883527b584353ab89835129a6335b6b86835c7d8723505cb7a36d00d6636b804683660ce5f36cf6361361aa771366fdd6836ecf48136eae29e3626579b351a189c35dd47a035810263372344ca36dab7ac3651b7f9363dfe3e3797754836e48943366d188c3635d1823733baff36cf32193e66ac593f0000000012aa2b34d8aaae3d8d0a6a3f4134a533ca7e943516a2613d64a3493f77d4423727596e353e401738c6382f3f15c8d536db246b36de12ce37dff2023f1c81d5362c2c8a369adee937ef8ab73ea914f03650b49f3571a0fd37e3554b3ec28897373024c53628bf9d376c8c493de3b50237a7d73c3679a94e377a923c387783853738969c366afbc6365be9833785cf8337fd80a9350776aa3592faa435ac52a4359922be359feec535431dc535fa42cb35e872d435ceb3e335e522e6358b886d363a3835366ddb333628c4313660b6e636fb7782362b3a7836706d8636b2e2b136a9cf923502198c359cde8b35f4e6413761f35f375c07cf36845ba637dcba1138ad59523710e6123772848537060af5375a0667377380a63945e97f3f6aeb83364749a9356954a33746fb7f3f0d4756361945c7353d9f05376f56603fb43f11389a72f735fb20bc37a991363ff352673895643536a27e9d37246f093f61442e382e2a9636f7a2ff36e8d9bd3e9cf6ca37d0a08d35f0a4163840db5c3e50481f38263b6137ff9d33382248743d0abaf4374e3211378d1f07389c59a238ccae07380000000000000000000000000000000030a82c36a4d531363a38393687945e36741b3e3541e54d3583d1533554a28735b64f6c352d1e5f3572858535953fe93677f13a36e6b83b363e7839367b3cd836ca14e5352d10e43521edde359736b837b1a0dd359bd51835646aef35ee20b33746cf293669292836c1962436596299370000000000000000000000000000000000000000000000000000803f00000000c7843f3657dc533614b97c3f69c76338d1026935c7e884353ae7553fd65d9b385971a435095eaf3684e92c3f17cc993857e03d36d967a936ab61023fc83a88397585e93547e6cf37a476b03e134e9438fcd81c36c377fa37c3bc383ee2afaa38a96628361f08a7372450173d3a6401380000000000000000000000000000000000000000000000000000000000000000907235362c585f366f0edf369e183e384d01253677807336a8fca236c5c2f73719f29c3608cbb536f99e0138b5fb5a389607b336287bbb36d1061938adca5538a2416136da736936a065c137b0a807389bf99336a502b337d8e558384a2a6b38b7612f37cf309e3755a5e138a3f0b83700000000000000000000000000000000000000000000803f0000000000000000ac367b36c0e1683f5b8e923c7bac6d3a8e6294366e8f443f43c8623c6f9105395521a3376d641e3f5e97ac3c02bd7c38fe35d43740b9f93e779e363bc0935a387dce8a373f8cb03eb7ce883a606ada371ec53e387d42543e00e71b3a8cb527384187e037daed813db9622b3aeff8503600000000000000000000000000000000bb8cb2362661e8363a8de73724954e38a2cf1536faed3636d8ac673618f9b937ecb163353e6a88354c4cba359ed0053833355f368936803625e89236bbedcd37a7b2b6363541c5360904d436fe5890375deb663679537a36ff248e37b9e8433803ed2c36a819403610388e36019703387c8a2d36d33b3e3648277f377992f137ad4416369e113236539c713610668f36ec3501379b3a6c3fe3e39b3d7c5487389e7c4f36bbc94f3f7b00c03d97610f3c57119a354e1c2e3f97fcc13dd5e5f3392a698c365a800b3f2589b63d651560381bbacf36cbb3d53ee9b69d3dd7f1053851e1853693ee933ea1a46f3de131863816d950360a332f3e81ba083d159d57380833ec366353d13c57fdf33c7c240438deda4a3608628a368d67cf372a4d1438dfb56d36f21ea33619112e37d8d2e13771476a3578d2d835b5664436d34c2d370141243664934136cbb361367d122138a7098d3610deb2368339d636f98506381deca536a4a4bd36db92da360ddb15381cfd843610f98b36fec5ac3605aa883777ddb036e2f2b536233ebd370e6d5638fd9ae436b577ee369e792e378c4c0b3800258b367beea236c2b70a3760fd1238f657b3365136463f08a95b3ea16f2c38d2f81636275b2e3f9a126d3ef08f733835ab5536cd5e103f1438583ebe0a223a5ba7ca367435e73e6b513d3ebf75ca396015cf3638c6b03ee07c183e1c950b3ac04aa236eda36c3e38b5e43d560f053ad6e4b936a0340f3efbee8d3dbafd9438689fef36e2f3ac3c933fc43cdb343a382e73ad36bc99d6371463bb3878e5c5397acb0036458a213637fabe37031d1338fc4392362616c33601c7f13643c349372c888c3667cbb4361a580037d0771e38acc69e3683d6ae36eacce23665ad3b38e2ebb5369583c436e7db2b3746c4233818062f36fe7641360f21ea37c75e52389b23623619ea723672515537913d0538494ed8362704cf37a2ea55383cdc7a383034a636173c0337cc837d379219d4376f09cb3691e3213f5afebb3e6df519386d2cd8363d200c3fdddbbe3eed809e39ef7ccb361bb8e53e7605a93ed5690d3ae954ba36e235b73e69f78f3e197c733a61ddcb3618ff8b3e7e82643e9c376e38c4673037b08a3a3ee3a92b3e46c57e3852248136bde0cc3de39bdd3d3fc51838edd517381763443c8802403d39ab6a38aec02e371404b537a96c3138afc42938ef8cf03626868f37b2a46738e367843864e451360e6a863672c3ac36d243673728d7d635e6e102363fcaaa360d4309385abc8736f3629536dd256f37d8854338ffecb3360378bc36f012113741a52c38df95a036b517a736ab3f0d387abe603868576436b366f136932c0c38c9893a382acad736d4d9db369393a137bec516380c040a3792bea0378fe62a38f6446838a98e0f385671fa3ea0af023f6e35713865829836c8d2d43e9411043f1e83583801e91136935daf3e47d9e13ed7763a3987b09f3695c4893ec84dc13e01dd8a38b485c1366320583ecee4933edf2b7838f34c95378c27053e147f643e43fc7a381018bd372a89963dfb16123e690d4a38990f2d372c815a3885a78b3de7b70d3865cade3787e0583851a8af3806d99038ceb3ae3667fe7537dd500c3877ee1a3848b011348369b134716e5e3730533c3887484b3644885c36f58e6d361c8eb037c96a453615bb533619ea7737df073f38c2f7cd365747d536d2afa3370a8132386de8cd36d275cf36fe33d237b6475f38b34d1737716c40379bf32038ad2c5d38bfae253795083e37f39fd1372cf400382ef3a236311bee36c9bab4370d820a387dbda937aa48b03e53cc273fae1fe637955c12354143913e903d283f39d98a383124683699e6653e1e26113fe60a63396a095d36e1bf333e80f0f23e6d2b89385f21d8361715063ef399be3e93786038fda34937f63ca43db20b8f3e2b3ee839be61d93749db213d9a6b393ec9095838b3f79437158bbb397b24a23d8943b9378200203795040038257a80399ae730381663e036c1f1013829b682380d948138aa999d36a4c2bb3622aad7365b939f37881ea5364871ac364d207c37c5514938ea388c365df4a4362c0abb36dc3b81373b4fca3651ded9361a0b7d376cd826382484e436fa7bf03666cce137204841386a7198364e309b3680d310388e5b7438b828be36a09b6237c932073834291e38cf0400375d9c1437d6bd9c374303fc37c45f4c384fa14d3e40674c3fbf692638ce74c83656d11e3ed3ba4c3f210360386fa2b1369c9d033e2d6d293f5b1aa239ccd2b7369500b23df5bb113faab7203a38ede43627798a3d69fcdf3e28162739b70d8837bff90a3d557ca83e10107038ce0fb237f9887c3c91af553e85ff77385087c737b8d84a38b4a2b23dfdb6ee37dda63937aef5ea37b3d6343c4ff06d38197dac36925bb53653c2f737fe2dec37a0be0136592e093689001b36a2b599377e732b36a2e13b36ea3d4a362873d637fdc77736d4f883360d88673798c645386507d8360507df365b68e036c250a937f8349d366f58a036c39952373098143844a80e36da3c6e37bee41e38a85b5e38445a083807de1538d8524738db5c4c38ada45c3869815738936470381be47a380265b8379a0e5a3d065a723fd88592361e921636dff55d3ce6546e3f11ba5638e8af4a36c962573a25554b3f0513cb39f18ac336dc197138a0fe263f19f295385baee33699d6d3374a67013f0fbf1c38a710a536c6e93b38884ebb3ebb0e4b3830800638284b7f38dff3653eff075d380f66303858ca7638bf60af3d37f03b3896bc5c38c6d77638fb193e3abc0d6a3800000000000000000000000000000000fd4d883533d3923555bce335d27b4436ddeb3e36323947360993563664e5f2370cd14d36432a583683c6653630a48d37e51fc036f58dc13669b45537d23326387113c436661ffb364cc8de37ee7d4d38f886c43661c5c5366951ae373b6c193835781338b3ae27387018673877f4ac380000000000000000000000000000000000000000000000000000803f000000005d1ab735b4e731361e376f3f6581aa3a81ee5236ab21bf37ba7c4a3ffd12843a7c0463368a7c6f37f930273f81826e3a0b9fc436c23622388f0e023fa642a23a47e8ac37915c4a38ddddb33ed99c0e3cd87a8737fcb92038c72e5f3e7f21de38d99e50389297ee383260913d7d2937390000000000000000000000000000000000000000000000000000000000000000ece8a6356994c235f5f70b36c65119360000000000000000f27803345fe379374c91213643e32536b1f45e3660fe6c36a25fdc359190f9357193623776a2d737000000000000000097e264377e56d036abcd4836b7e57036a6ee28380a2f253842acb3369a252d378204ad37471f9f3700000000000000000000000000000000000000000000803f00000000000000009df1cf3558657a3f74e9213831460a360000000016d55e3fa4c94f3841e7c337a436413616402f3f8c5bfe37b6d46f36dd64873747e0fe3e8ea16a38d6daa937af9a1d37e71c9d3e60ca3838e7f23036329afa3711aeef3dff1d8d3826eba0370d8e89377f7e443cc15445380c971337000000000000000000000000000000008bc0c7335c67ca3307e2c8338dcbc2373b5c113399326a3379519b3300113937b28d9b32d330ac333375f433ccf06f34152b1834495e173429dd0b3482750b34aeac1f3296039e325aa11a32a0b3ca37fe9c443487a8b23469571233c99704376116353403dd2a348d889f37384aed37d252073603ebb53466edd63749210838d884e133b459fd33473d1434e72d59345633c53365047c3f54af883cf898b237aaee04335bc5693ff7d6183dd7218d3748ea8032397b503f7f92923cae3d87367de646347485233ff9a3d73b3e200a368f131e32e8f6eb3e5bf4cc3991f5f7376cbe14345e988f3ecb0fc139e9af0d370688283723aae93d58d0bc39baaec137efe5aa34cabf2e392ae0e938b26326384472f333e0671834521b2b37c0943d3420fa8e35bf7f8135916ab536ebf4cc36b9c813366f0b2436bca82e36848da537fcc15033bbdd21330d271e33c6758934617b1936acf9f235d7385636af49bd37abdb9a35d742b03527f2a835a549043776e1a63474d30d35fe9c1135beca20359b988e374bb94037920e033883075238d21987356ca477351c609f373182173852b65b341bdb6334fc3f7c34dbde8034ebccef34b35e603feacdfe3d522eae36b2211536d456503fc5861f3ec32e90371ad32333d930343fd072143e6c85b734fbf51a36f9fa043ff1d00d3e46802f38661c873543c1b93ebf48fb3dfd5d3137df34a03465e44b3e7cc3e13d8f998a354c64e03745fc253debf6a63db34e7e387d2f2d3506209038f2022d39454169388d837934f0015b34ef30d9371a5629374185dc347664e3344e90e2341bb8cc34ebb4d33537f4e43555130336043e2637652b3836cf855a3634871437533d9e3797973736dc063536b32b2b36c7cf3336c1531c36737c243679cf1c3752c12538acf7a7365109b936784d3e377c6ea93715f7743546259d356850c134d7e51636e1301f36d7fb2436e1a5fc36e8aba4374bdd18362dfb2136637c5f36d0665b365bb3d03454e4303f45e49e3e2c3ed6346e68bd35bc81223f7aa6b13ecdceff3505b73336fd66043f6706ac3ec6d99e3798d22b3642b5c33e95b8963eefa13536480c6e36edde793ef3f17c3e2dc92238ac01de3644c1fa3d95603d3e88f9963743557c359ae8953ce0b1d63de7454535a0342536e1b22d38b432dd3902c2b3372d38fe35c3dd7e362088ae375a35b3369bbf933404298b340d9031366a98a435527b2135fc892235e13e1e354a442735b9ef7b347bca74349634a1340616bd3405fb1334b2610934809bf833415d1b341eec5c34ad104f34a44d693402896d365b96fa330083fd338211ee33d11c68369e55a63462619f343a4d8634d115613682063835527a2d3569ea2f3555964a36fc70773791a6873414f834374456df37dfcb8334ddc8fe3e5dd9003fbe256e3442161835afdae63eb0b10a3fd75d1b353bee5f342847b83e99ee043f7119b8348aab34343640763ef8ade53e89f511348f096234314d273e7ae5ac3ea3507c36e6a71b3423ee773d52d3813eba1b4334114ca234c6cf8c3ab5a8f93d72d00e35045f3535bb0500385ad60c3c8e131a359af79834bcaabc37e737dd3804afaf375ee34d36f4e18d36ea62b23662d17036ea8e163670162736f57e2136ea3c4036c3c4dc34723b0b35831497347fce1535b0fba336db7aa4361dc49e3637a420376ecd6e3700b28f36990a9b3692d1cc3714a330368b54403676e5323660243a36534c4f3767ca6737656eb1372097ee37d190d136b2d71236af71bb37bae51538f193d334728acc340b8ddf346117d4341e484b36a9d39b3e2f8a323f81a3043645391836f10d893e87613b3fd5de2936c3966b34a71d3c3e42e4313fa3940635839be936afc0e53d2cc7143fed92133760d3b237a3555f3d7417e93e3bd9c83719f12936b8599e3cb32c9c3e91c148362eec8e379b7bc73b8adb103e332dc4370e1d0336ff4e85385fe09a3c96dcc0375da5d73499b33836033ac737fdbcd0345d139834e8b46e3673a333364ca76434dac03c35dc285f351abf1035ce0e5e358da34d37f7e6f736d86bf03503cd363795ca6635b3b743355ad8f534a5a93835e5149d35ccb1ae355d3580353163a3353885eb36a23e9736cd83c1368d8a94377486f234a377d834a3f76b34b084173653b32a3696de3c36bb58ac37dfc204381ad21136bcec3836f83aa836e4078a36e7807534126de63d5e81633f77ce5e34767e91361545c03d6405683fa6b361351ad4a3373731673c28415d3f157c313707f39135c4006d39f021313f565f1c35b102ab350dd86c38b3df033f8b60d43553055d37a2a0e03819b8af3e0e8bad37174e18353dd8933b19c3163e68ff4634f683843683bd89381e3efc3c6cbf09378a4f20367d8c23378043ad37bc7e3936553373344b0d4e3405022a3437594634be89cf3477f3ba34ad64b034b39ed734dd50e033d2dfb833ed8ff033fa2d8534f8e4c33418e7253581209d34245a9234f0009b326c034332721705321e2464324434373449532f34781733344c4d1d34e3db8a3423957b34c3506c34ab40cf35ca0da53474a50735964caf36f19bc137a9c8003701cd2437ac951137bd76aa37f7214e3429e1553a2112803f66780334efc3d4356708ab385efd7f3f359fb234010d80332a2f55382825633f5a9bb3367dc54435b9020c3868ab383f2a948d3492141d32066c4b38914e0a3fc5840b38fbf34f340b588638169ab63efd2c873618bf90345b81243872e22d3e22a305360fd2a434e2b4543846c44a3dd7eb9437f5c72934b4d9f537a15d5938d99b873400000000000000000000000000000000c5536f357ed240359d0c2e35b91f8635c9bb0d366c860d360c1202363c764736cfa4c63200000000000000003f9e0b339e372636b2a01a36731a1f361d82643751c73f36384f493645cd3e36f7768436943970373bd62835df9daf36c2abb0373ba0053643340a368c521d36ab88c5360000000000000000000000000000000000000000000000000000803f00000000f3163535dab2eb36ac3a7d3f72d380372d7d2e363df86c37d559623f702f593800000000cab2f835fca8313f9b9707383a63ce36bc34b8371df2003ffcea1838a4f7773694c5c5369673a23e1ff5d7373a4e6137f76f2e388b27053e39ca3d38b1c80a3624973437e12abc3c2f11cb370000000000000000000000000000000000000000000000000000000000000000099f7c34977e8734fb34953418b89d341a2bbd35bb452636fc63bf36788bf136ba888a3662629136a4d9a636c1cce537f39b2c341ef830341e449e360d64043871913436f3262f36b2a74936a1b33c360b76753641b1753697eb8836b64c2837f58f103608f2f63683b3e93764ef053800000000000000000000000000000000000000000000803f00000000000000009c117e3429af703f3314433c0f5497349cbea636544a503f5190cf3c6bab3137a3dc9e360a21263f371b923ce32bf837b42e2334267dfb3ebfad513bf638a03781aa3336b65ea83e4302473b04cf2a3628b67e36d07a283ed5254c3a8f218a36c148ac37c5ba123d390cc939252b443700000000000000000000000000000000d9fc8635555e2836d0e9d03626e1c3376e4ba332fd293b353f338c367442e136000000008d7f13359969a836e7b9f33660842636b8ce3736b5888636a29b82375967c6358d65a135a864e5355a416d3753905d343c4dc1350a78723640889f37badc133601181a36e3a22e365ef22336ddf5af35aa0f8e356b77bb353af80a37ba7ead3556c04635f3b47d35a0409a35fe808636d6fa733f9145423d62644e37def825361df8553f14b5b83d4d580737e75d5636488d363f6a69ac3d910b0837807b4d367c350c3fa0a7a23dcf844337dff0c835fc16cb3e86488e3d38c36136b58357366b2a7f3e0420483d5a3a243701cb1e36ff39d13dfc4d213dc3a43f36e853b835c7b9ca3854fe1c3c15c9df37fbf9753586948535fb7be0373571c937dc3e78352fe1b935a605c23609ad0137a0e6e73584328b3636de18377ffc3c37e2331333ace3f9328ff82d35564a1e3645978835b1552b367cb6b7368ccfb13790d503355110d73455435a356cf6c9364f5c253669691d3626fe46360bd5823627e18635abac0136130f8b3696438e37ecd63c35c39edb34c7e13b35c5b1b53676fccf35e3f6b635271ea6353156cc35ea780f36a2ec573f238c203ed359e436404ede367954343f722b5e3e50b448377a5f65343fca123f7500713eaf043e36aa779d365accce3e22476c3ef3de9c37d4695535139e8a3ed9624d3ec6a99e36a2592a36486af73d567b343e3d4899368cc231360fdb963a2978f93db08fbc3785f33a35a1bc2d37f8a6f83ab229f137ac51ac35c3e6bf352a2f5f3719eb8a3738c4dd35213f09361279ef368d4f95370000000000000000000000000000000095ff79353e616135833c4935155a25351a877c36e3458a36cf93a336aadba736000000000000000000000000000000009032683619719236ae1bb4366f6c92372b2f2c3628183b365c596336a8d4a236d7978436417d8136663aa736b3aac83665c5d23556f6c935413aab3594e99c35f3ec1c3686e7293ffe66ac3ef8cefa3500000000dcbf0c3fa3d9ce3e00000000e0d92235f020ce3e1559d43ed2e7f234e9be9b36eb84863e01c1c63e84389e36000000000018063e6d2bb13e00000000fc23b636b4d7973ce67c973e07990b38f1b15336dbb4ef370745223effbf033889939136171cda3682b5993aca30d337a8b4ac353f1e97357daa02372188d9360000000073e6a433c2459f37ed8db6370000000025c397358612393699b1f8370fe4e234e0710e36c992643681729f36000000007477d034fb990735e41476370ae586351a1b713529c5863596f2e53715f302355070563457554b344f3896373a93133673dd4f36362887362f75a836d7bb0f3612ef25362b828236d2fdd237e4898e35216335354aa85a35da89b035f76cad342829fa3eed09033fb2048b35da4be935afb4c53e937b173fd54a863697415236e2c7813ef4ae153f6eecaa36269d31350e7df73d44a10b3fa70aec376e1a9735fed88a3d5ca3dd3eadb0393854e9ca34dfd8a038ee37ab3e90c2813875017c3651ebda36a1af263e3796e1365e323536a81bab377f21be3c5f7897385f8944350aadb135deff73387ad42d3845e5b835461bad3571e723360c22d4358d1f5536d9008136d47b9c366627ae366fe9423655834636989048363c6c63365e24ed35ff784836dde35c360d7e983600000000000000000000000000000000c8dd91360d4e9036f4029436606ba336ff6f003549d3f33422691a35f50a0735cf5e69310000000094e02c3200000000f6dd0836db40023612c6eb35ce0c9e369215b6350c08a33e34b82e3f97c2a735b00097360b94673ed0da453f3a27a036c4fc4336b57d9d3d6fca433fd045603627f68a3600ed6838af9d2f3f20f8c63700000000d39a9f369002063f0c36153666c0923626c99e36c95cb33e3127ae36165bfd34af896e35ef8b3b3ee20b8e3764c25b32b4cd5634366f3f3d10624837c8e6ed35e45b0236406c733865c706385fea053657d11d362cc76737df4a3536021b01358a0a7d35a05f6435d6d78f350a958c35b1d96435f22c4735afa5a43582df0136fccd1136d1f3313627274d36925596339cdc1c34319c4134f44d80359f3b7c3610f18236f493ac366c98e73666ee1d337e5d3434756543351a9b0f36e9c60b378eb21837a2fc2c379c6343373dc1a336c2ada736f601b4365704d93683637636c3bc133e56395b3f148c9b355ee9a23552775d3d3fbc713f8cd19434d38b77357f8b0238a5b3603ffb1d6a371a132d36bb38a0364b30343fee5aec3600000000b5df7936898a073f174aa3373caaa536f92f8b373472bb3e03324f387a5d0635196f4c36ddb6443e89a81737343220370bef4837c3e5a13d0a0bbf37963ca336bf64e8369dffb037b8012237ebbc4635ed908235a76f89352c59a33558729d35608995355f939635b09cb93543ff053637c307366a520336d36f2f360000000000000000000000000e1a09369ffdbe35b3e8a6350e66b935576ee335363f403656f03836843168360e4ac5360be863369a4f8d369323b5365eaced36123ca4364970ac3668f9c43669cbed366a00e53699c9ea36c2d3fe3673ab07379e8fa83580088a3cbfd07b3f66c78235dd5dc6357d0f4f3843bb7d3fc2003737f6830a3633e720368af65b3f552cf836951a1034fdff5c36b5e2333f322422382f24dd35137f2436b504093fa8cc913837617736d612d1368440bf3e121d8b38c52cb73660870237070e503ed4bf4d38051fbb3666d200370dfd983dc5d0fa3764c0f83620f70e371e0a6f381cd5183800000000000000000000000000000000e044b733499c80333e9da23390e718360792643665796f36af896436526383364d83fd35bdf00336c4581436d70329361d1335349ced4534093653340f52513498318f365cb79536667c9636a05ba7362d4c9236c3a4aa369a13d0368109ff368f8b863411199a343ba49e34e51296340000000000000000000000000000000000000000000000000000803f0000000005c3cb341eee26364fcf763f99d84b38cb177136c8278036d7b6553f665e0f3a69921636c31d2e36f4f72a3f45efbc3a126656345a594e349a61013f1eac253a8fcd9b36e4c4a336e168aa3e0b8ca03a3dcdd1367e38fd363fc9243e1246903921c8a834ea16aa34489c463df1eddc380000000000000000000000000000000000000000000000000000000000000000d65a0733b2258f33590c0d34d6310638c8ecc4341cc3ea34aa9f0935e66c03382ec9cb322f31d6323d8dde3271fc1e387b74a73452b8aa342c91ee373f058238c9e4c63587e4e935252f6e36dca39d3645988b35ba073036947fe53787312a3884903236659c3336da740438ee4f4e3800000000000000000000000000000000000000000000803f0000000000000000b6a1dd3306a8633f2716463ddcee4038db060035377e403f039e413df42bc13715e3d5321da61c3fd689283da465c637421d3e37a704f13eb23acb3c0c062b3862a53d364451a83e0570933c1d32463646f47237456f423e7e80593ccb670c37eb3aca3723567d3d89f8523bb066f13500000000000000000000000000000000342bc8339098f1331673923580e09a3897e3c234277ddf34903efc35a97cf73702e42a3696857f36bc13ca36d49d2f38884aea35473a183688519237982a4f38b113eb350840133616a80738a5fe9d389265813608849436e5a1a5360feac437113128365348583643dab13703f7493803f51e36d83424366b2f2e369497d237cd9eb135eb1ae535e9281636a71e3f36ed6c033493186c3f65a16b3d24f28638162b9235b8634d3fcfeab33dcd25673c7d4b9a3605bd243f58d1053e073c3238bd9334364322003f5226083e884c253821afb5369c2abe3e65e1ec3d19657c3872189f36b5e77a3e9d1ab53d70a60137a5d53537a41dfb3ddcdb303d58aea837f1802a3608c854385a5dc63c312b42375cd0fc3552492e36bcd9cb376c94593841fd24357717ce35d2d99636b93f5038a9a20d3616724036aead8e36e92b1b3811834135a1f7a735ef560c36034bf63704096e35b8f2db35a89f2f36bf9a46373397a635ab86f1352989bc37b6e8813818b08f35ecdba8350ed49837a39e2938fa4ea835dc97a93524002337c98def3709d724357e8b313574cc313593118635d689013547bd5535a3605d36ec96de36143e2136eccf473fe6ee503e3950323860746a3652a2263f4cfe833e0f9555384c3cd1353715053fa443863e6db4f9379ab91536dc94be3e068a833e2e8fe236059015367c2f843e576a633ede6d7a3835bcc536f00cea3da742483ea21a0238b471a835ee7e083d2f57123e3be5453897892f357bbc9135d29d1d3c817f0b39820bbd35767faf367304c2372d075638226b8a357262a735a87ec33731c12438dfe95134bce17434594e1a35af56f83747845e35ed5074351c008535c722083801b56a3502167a3537cd8235ad178a37002f83345af8b034d5abc0355a3064385b5c953596c19c352992df35e88b7637e339db35de4a0436ac1d2b3625e2c83749fde9353cee16366e274836843d6e36e0db5d35e75bd535e6ec9036eb19ea36daa70c365ecd213f9466bc3e1fc9bb37fd948f348393003f05b3dc3e5587e1374c097f35b59cb93ee413da3ee642173859588035d6ac7b3e28e7c73ef07a9d37995c0f3572d3183e8dd4af3e24129f386596c235be5b7b3d9d26893ee297253882c819362ef9ea37b3963b3ec2e449386ecc3036b1ec6836e04cc13ce00a313acfc23436da24c736ec869f379d86a5385ffa54353a996735963e7c379015e7377f7d48356e8e57355a1d0336f4701a37edf5f335af7a2e36844d9c36ef0bbb379a66c735ac950036856025366e0bca37ed5e9b35a16fa2359575843756f674389c900f360b1d2736b55a3936cfd4d1374f1a323647774836a3e193367d8e8a371a9b6235a3329235e567e535d0761936db282335b65a3a35dc5346350b708236baa4d335451bf73e5b72043ff78d8f36d01eb135b09bb53ebd82183fe1c31936ffdd5a366a52743e73ec0f3fb5a6cf37ec971536855e0d3ebdd4053f3594203848f1f735a2ffdd3de396c83e9381a7385baf3136c7bb003bb2bcac3e203233388d82633642d59637565e4c3e522f25381839b33570ff1336dc924c3dd4acbb38bd0e3c3509265235ea520038ecbe27388ee39d366f56f2362aadc437b1ef02387ced20365a064936e9d67736a2d1e4373760d335cc760f36d48e3936bdfce6377119af35a51cb635b5da0036dbb54637fb3f1b35713e30359ceda4350b464f38ed058a3556088e35bc3f8d35f5f9af3637189935c5389a35e225993542a466371e3fc9345c8b2b35dea48b35401f9037eb8af335f3100936ea3947360161aa3776020e37cf45ab3e556c2a3fd01ceb36b7355d365806593e889f433f44876a36573424362abdba3dedd3393f1e3b08383157e8350437e63c4494243fad93163868027c35b9bb8838aaf3013fc70aa838b61d8d351263d8363363ba3eabf11338641e9835b5db03377dee583ea9f6aa381aa24b35b43a02379f6a893d75768438b7660f3668d22e37f4ae403838c84b385d7e0637d12ecb37c39c493832e12038aa0514356a441a35348ba13558addd37b39e8e355fd1953567be9c35cb1c983726ff18357fbe2e35525c4435fc21403771e76435b8b8b635b5450936bef41638766e8935a955c935d4860736226b3136533207369ee7093680f21636731ab3371773973600da9c36ccbfa63606a7ac36a71765368cdf7f3608d6af36fab6e037ddc12738e8803f3e401e503ff3c5de3601718d35c4457a3df0f36d3fd8f08935bd409a35c912e23777ee523feb90913819833c35a9a34637d699303febb2e939951bf535cfd00f386b18053f2a8a8739ba67f535aaa82a36c1b9bd3ee6f02f3a93db123662809a37809f5e3ec9e7723a1cbea3369db0b036c0a6bb3d145dfb386e0992361279313776e3763c41249839d9458a36a8ae0b3720792538932f17386099293516f873350767b935a4d3e2352312a2340e2135359f8f9a35a1053a364327033636a52836b98c5936ca808d36cd5cb43514ccdf35cf6e193654c01138483af935424614361fca2a3691cfc83738b1a5369e4cae367de8cf3682ccf33731c33d36b2084636cd575236e367e1374fb0ae35c97da835e8ac4b3614e1f437658a0338ae110e3d971f773f618c4136aabe9b35deaff13535d7793fd51051381e348135dcee0c364958533f6891123c26464336d3688636ce552a3fd78bcd3a339af5350b9ec2378b1a033fc3afa43aeaec1f36f98b7c37d967bb3e2862503abeb6bb36d8c2b33778df663e96c52b3a2df24c369dc29d3726d7c33d91a4083a6d4ce93585d0af3734b3a43cc72df43800000000000000000000000000000000c454eb34af5eff34595469351703cf3586a92934ca1a3134f20a38341c102536ba8c3b35d315773544dfa335aeb5193631b99a3454a7a4344d89aa34cf7dba371eb7f83252ccf9324d08f832e48e403627ca3c35352f3a3532d53e351e824935c8b190347b71923452468334cf5fc0370000000000000000000000000000000000000000000000000000803f00000000cddb1735f56ab0352c1b693fd980ca3cfef83434d7ef8e35d567433f07780b3d0ed691358f48dd35c73d203f13dfe33cef80aa34ee4afd36b59df93eb4ac8d3c0689f2326af1f132d5e3af3e50d0753bdf6c4035fe415b3579c74a3e5a10553bb2f888342b82403786827c3db03a7c3a00000000000000000000000000000000000000000000000000000000000000002eca8635df8e8f357015a035fc0d973508e14132d0e9403242b58f32e6421a32755edb345a868334822f3135620e7835e6609c35532e9f354816b535c788a6353457dc3114d8b4315f6ed6314112bd311ce2bd3438d3c5349ea4e7340cdace340b804c3555c84f3599707c35e05c683500000000000000000000000000000000000000000000803f00000000000000005b876935eb51793fb4fb9635d61698359df15d328199583f3cab8537d2b2143163143c358604303f9a5f3f3810d0c535c92b88350669033fc2c32e3814e9a935df8ac53156c2a73e3d88d93567aba33116374d374b7c223e7483d237303f0a35d63682367397043d6df78f37b7d56b350000000000000000000000000000000061f6af32272ec8326b48fe328567cb320000000000000000000000000000000000000000000000000000000000000000531925339b413333d97447348539213583a06d3319fc8433bd4e9f3317558433d4295032c93333327d63333241a2e8311c041e35616add3449115e35d8108f357f5292334d8e9e339906c033e7e29d3394c26333858b2e342dab94337dc7dd33155fcd3222797d3fb6749e3cc070d332000000005b76633f35a1633d00000000000000008ddc4c3fec7ecd3c000000006cd29933aa69213f5650c73b98615b35a81485334924e73eec6bc33c35128733ad891632042c963ed0055e3bb721613010d47f3306d9063e0fe0503cd2a6c23505639f336f05913bfb587d3a6b91a4335ecd5234e028a834530cf934b6a78a34d05f2834c6918c34aef3f5340a6e4635dd120435782f0c358d88283571b240359ba6dc333f59cb33773600344d7334341313eb337c0c0a34e7f32e349d302034413029354f742535acf1383579185c35aae7ef3340eadd33d576fe33c78b30341a222a3380225033f1348533d9847233e85f8334a4868b3403bf9d34afccd33470a4dc337eb2f033d5cbac33c68dd933fc984a348148643ff8e2f13d1b15ca34e91f173519db503f2b7d293ed5663a356356ff33fa4b2e3f768f1a3e69473b3751f71d34c7bffe3e0a55293ea0d21f3413ba31351f69ac3e8107163ec02d4135e445fa33460d353e953a0b3e41521634e0da6e33956d503dcf1ab73d68ad7533852d93349fd7c734cd0faa3a8af6e734538cfa33bff13b34a8184334aea40834db6285334cb38733e2489833be1fee3388615635d9435a3504b77335067679358c9a4b3458c43b348a8f3e343c513f34953708347f900034abd60834c1200b3469f77635a4f96a35fd087e35f28889355eb570346f2b58344336533415335c34f490d63361ebd033a61de133974bdd330fb04135bf7a3535cce836359f0c403592283035a504ca34fd7467344edbcb34866f2b3349b63a3f1270903e3b77193471cb2135b1b4233f4f89b63e4e0b6535e4f12c34a914033ffe07ac3e07213934e4ed00346350ba3e9827a03ee89d1b3445b862351dc2593ea8f6923e5a648535acb5443482fbad3dbc27693e2f175d34f7b0ce3330e29d3c8ee2f03d494cf2336b6d2b35b7a92137b0b21a3b30fe4035c6c668347b9fd734ab64963519bce5340000000091392c3500000000af91003400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070887a3317f3b534b82c4b3500000000000000000000000000000000000000008bcb9b32667f5a3075fcba300000000034ba093fa2f2f23e0000000000000000be84f33ef5c1083f00000000000000007159b13e621a073f0000000000000000cd39553e06d6f63e0000000000000000e2d3ce3dd390d13e00000000000000001b2f453da55a8f3e00000000fd1e18368fff953c8f7efc3d6eae2c3500000000d16db03792fcaa3b00000000d1028e3356833a37918930370a604334d02d9a33a8abcf36675e8b3491020135c31d04356b7f073514742035bc2730357209c533dc18b533a6d9d033bcf70f347387f03366fc09346fba29346c5d1f3455345b351a035335f8136835edd58a3592f53134ae7427340df8293438884e349ba3be338060ea33dc1e1234265f09340ba1453581e844350d143a350dbe80357eee5f34d0d0613456432234de9443343fbf01344caaad3efb0b2d3f4cbf0f34fe970f35182d983ef1fa363f86421e35bc89c73320b9333e4ce3333f310cf333fd6218346522a63dcfe81f3f00c7223403855e358321123da688f93eb5b889359ec91d340942ae3c4d6da33e838a27344876f833a970b13cb020153e68332134a32a48351e2938379d80943c4e4f933565853234dc4faa36b6f63337d0734a34e58ad132cddeb632cd639733c9d4d933c9378c34292381347e4fa6344768b834c36dca3331d1b7339586ad332da2af334e1307347d56013471a6073466fc083422814935cf023f35ff2840356d855035718d8134400a6834db2f5934fe9d5d346cc2fc33bb590034fc4a0f34a3550c34f6c84c358ea13f351c3643358e61443541778e35415f583551ce0e3564742035d19be332e450263e4379593f35fb8d33047b82343f72083ee32a613f8cc496348816a2330193033d113a573f5ceab6333d6501341ac5a23b55d0323f7bfd143479633d35b573613bea4b083f5bc2583515264e34d8673b3b741eb43e41366734793903344346b03c6496223e8b94193459343635d161f43a3cfdfe3c9ec950357e4918354813603814417a35872c4735266be1354eb138374f6fd133a6006434144b8433ba674c3307418633061cab3371fa9f34c3be203357615a33158484330d949a3192f19c31385407315d87b73191796033e7a728331db55233869292335aea2334e721f832d41a26332c664a3300000000000000000000000000000000000000000000000000000000000000007b77ab32951e8232a606b632c204d73238c10537beb22d3d59f6773fa7701b335da18f33f106073b28a97f3f9977d3332ee26d33c4c1003779375e3fbdd91735d4c10c30c43e4831d537373f1cf64e32bd506e336ae06033b6680a3f9446b1338e92cd33380f2d397267c03e0b344b3400000000c88dae39a7173e3e3d3222330000000000000000fadd803d000000000ec5bf320bf3a2325a2072399a7d0c33000000000000000000000000000000000d604735f3812835d7643d35a3588335dd4cb734624498349575a9349e06e034b67395311dc1a0311c439c31635fac3195425d3575bd4a35f5654535a82ec1359690bd3542b08235a3972035bde9a83500000000fe569c30f7fe6e3101ccb331499b5435a5e04a357c1d473569d1b1350000000000000000000000000000000000000000000000000000803f00000000ceb34835e4d0603513897a3f0fa17d356100bc34a0c7bf3459455a3f34ee833659eb6d3150749c31bb4c303fad7bff31b2465f358cc4743577b8003f28c1da37cbdd4b35e0fe0337c696a63e16fd5a37000000002ce0883663df263efb14653587fc5735167a69357148203d344ec83500000000000000000000000000000000000000000000000000000000000000002a665a3572a8a635cbf714365e0b5336a4e0be33220efd33c784de3455a173351830703498b23d358855de35cde50836f3f3f7351ba21636a3cd2d3680b3db365d1c6f33d48e8933ac94b333eed4ad33b2caa3339a891934086e0a35e5301d357fa72f35a8967535e254073915f37d3500000000000000000000000000000000000000000000803f0000000000000000b512283654736f3f91d0003d9b5f7036e9c3ca345764493fa559563d295da335306902367680203fb02e603dad68d035cb9b403627d9e63eee0d8c3dbbc54436d231a4330be8973e71b4713dd2b8863457fd6a352a282f3e34fbae3c834f88347cbd9235ba93083d03fb493c0c3285350000000000000000000000000000000012bce633313b1434e42093341ddac63463b112355305193597313d35206a4d35d4d2e23375defc336deb0b34399f1e3461f93c3473e64c3440b972344ca696347682c935cdfec735d89ed5356052f03594f17234a5da853456127f34dd02a6348622a63314f4b533c38cc23310d2f3334ce15735bd93493573c94e35917c5535b045a833acc1b6330cee4334a6628c34e6352634b1c3733fa1b0553d65685734e4de28351137503f8f5af73da49c4d353d880b34d1ea2b3fe8b6133e84bb1f34cc666134f048fe3e6881363ec8d3ab34c9e2e235f690af3e6fd8353e0face735616b9434f125513e60fe163e4546ae34bd0ebd333db3df3d1e82633d9e25df33d07e5935d09f573594b9a63c72994d352a7d393469d241341924e43657a6c436a6c5d331efc9253200135832a074493200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f633bb31a3d13731df663a34567cd334836ce834a07ed834655c1835000000004a22713208ccab323869bd327f0583330550f5339c6bd833497e2534814c9933268cbd33e0788133012c033418c43d32205b5b3fc51d173e575f3c3200000000ede92f3f5070803e0000000000000000c135063f6924a23ef664943200000000f7acba3e6669a53e000000002780f733c8b65c3e48fb993e9ec76f346f1e0235c296c63dfb82723e5c1128355f07f9322c50c43a01f1043ecc120733b1e3343427415d3496831e39e1f344344709db33093fc0337b32ae33bf6b1634b99b563258efcf324035fb32a8714533f3b9ca336eaa5e3432ce8c34ef0e8c345aea8333261fb8332ffb02341f260534215517341e6b3934f5bd3e3433fc6334a1ed2a35fdaf9935f248b8358b74e2350aff07340d530634705619345f791334000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b9ade7320e30313fd13ca13eb1d30e3301528c34a61e073fc707e63e6a5361348d93d73343bcb93ea162003fa315cc33e33d47347414633ec694f63eb63e7034eb2dca35f62caf3d343fdc3e426be235dbb2cc33fd92193b7a55a23e1a17eb3300000000249224331fda0c3e409213340000000000000000fa95103a31aa423400000000000000000000000000000000b0aa253400c8b9339453b2348120e034100ee134c1aad534744e013578ef1035dfcef533f71f0134ba1d0534a98d0c34882d6b345b36743484d189340e7b9f34cf92cd3557dcc33582b8c035bdbec9356315823451758c3461537c341fd7a334c0d214340674163408911c3483491a3402f903350be40a35d71f153513091c357527943302bbd3337b9966343fa29c348155a533e80c043f338efb3e808379343183da347ab3bd3eff60223fdea5f334ca980634bf8f5a3e95e72c3fc1820734e9548234cabb873d1f85213f2deaaf344d36c7358fafa03ab58c003fe2b8c535d2cf9734bb418e348ea69f3eb485ae34c1951b3480662c34f11cf53dd35b0237a6ce0a35514417350d87de3a371d28352e99493484375334d67bd834cecfda3400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037602334752f0e34a48403344b0309347e1b61352dd6a035cca4b7354700e0356dbdf233183e223484a4d633cc0c71344d0e1134bb3e183488a1fc334ba20434d4a83d342e388734485f6734a64289340000000007da983200000000e1ad3d33000000005309ad3ea9372b3f0000000000000000ca6b5c3ec86c4a3f0000000083997734206c2f3d3de5533f98961834457a2634228d0134a7d12f3fba292a34e03bc0352474f235f22ffc3edf1b0c36a0da3934c29d3034f8269c3e9e8d3235a6d41f34831f12348de0123ec1e438366134923449f9a134c532ee3c2a920635b6d506331f98bd3256c9b5317bfd8f333603a433825cba33004fca33b6eefa33023a213342b71e340dede633e0c6e93300000000000000000000000058c4ba2fad1ebf34cb55d33431e5e634801e0e3500000000000000000000000055b45b330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009fc833314bfdd131e553e3316d4f0732382fc5334285263e71f3573f8fa3f8335b511e347e8a743df902723f9e75fa33000000008bb89a329fbd5f3f6c05f73125dae334c2921335f5c22c3f67f82d350000000007fa073471e5fb3e5378c23400000000000000005a3ca43e0000000000000000dc3652327f4d2b3e2cf859360000000000000000ab018c3d000000007e6e0032d7603e32d8e5c8398b3c0c3209b33734a4908e33dfe996379f90c934e3d22f35f5db283548623135b77b43353fdb9b33fc4aa033f4a39a33ca1dae3384a46434f13c723476fc8634b5049f34fc80db3503fad135917ed335fc8ee8350b9365340a957f344efe613428bb9d343b761a343c971c34e1c2233481612c34fe362735eff02d3534733935629944359fd31d34f29b193451821134355b7c34b8c23737fe38d33cf8e67a3f0f647834b12d2a35fb7c3a3561a97b3fb5a04035cbcaae333b51b1333ade573fa831453773678034d51aa434d1c6273f8be6d238c408d0354d6ad5350531fa3ea478e83777468f3406048234a692aa3e8af72d391f0a23346a173734f4b2433eadb00a38bb05313526733f353c16923dd773873550c32c3403d62134bdd71b37f638db34000000000000000000000000000000005dd80635be4a1f35a7866535a90d9435408e8833b4ce7333acdc5433a38c8e3477c9a033794ba933b640a233b889a83318a03d3674473f36eed73d362e785736096e6d35491c1735d2ce4235e301ee353e21963512c47a35d4d1623525958635a93a20361e28243667f94b36581b70360000000000000000000000000000000000000000000000000000803f00000000833e4c3566507935a7b2753f1d38eb39f16f8f33d2fee53353b24d3fbc3b1f3c77daa333da2cac338737223f9248993c8c723e3610f93e36f914e83eb3a40a3d955e26354231d5349703983e9ca4ee3c8f93803580f99335dbc72a3e7d27893aa6ce1d36e62654363869193dfc2d08390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d25b0c398da9a6357fbc0636f681733668426938975e5d344698b23494136136b7754638000000009b364c3413b73238807a0f3963b4cf35205d0536850bc436fab63b38cf87b2347520e334bc1cb5372a3b5c38f7de3d35c8861e35061190384e48ef3800000000000000000000000000000000000000000000803f0000000000000000000000000ad95c3f783a9d3d3d5d733865df4c3686ae393f1a80cf3d069b2d3843b1bb34b041033ff8c62b3e3dac8137c2e2973480feb73ee7cf333eff592638834e2b367bbc643eae431e3eac002136fac4433697cb0a3e7f0d403d815de5362dbdc137881c273d64bb083d2a4e403300000000000000000000000000000000b1753934b5660d355a1cf335a878833840015c3432e3a0348952a035ee69863810d09635f38806363b7e6936216e7438a93e353467f33a35eaacb2361fa881380cb2e5345a08a7342ecc8135d65379381397d635fc7b13363de0a237e3899538499c5334907e15351137b73780297d3855eac434b0575e34ccc688347cd6b137bfa83d352b365e35b8688735025bcd357fed7d3534f8693f477bb13d35105c3675a464356253413f7eac083e4c866f37c6e34136d23d123f93e18c3e911bdd37d1e59d3529f9bf3e0cedac3ef0c47737af99313536d77c3e05b1a83eb57a51372b9c5236c956053eb193793e0d07923761268135dc4eab3d446eb53d3cff793785e85234000f8437f791083d50cec237e0364f3585939535314ead37c778393a000000004b8bef34819d3437fe3f7f3800000000000000002e1e133503c6913806c0e533136a03347299e9346669a5380000000000000000a13ec636607b5a385616923429251c343b53343505792838279e82342f0cc03493bfcc376741c5380000000000000000d8f4cc375b3e8538dd1c543572521e353ce71b35537362355efe19320fd94c320000000082341b3488bd5a35b3414f3f7852223edb18b137000000007edf1c3f79399b3e8ec3b5371f3eea33eb7bdc3ef1c9e73ee7f8ff3600000000bdfe863e0285f33e6c5e443795e904354d760b3e668ad43e863c9e35aa7551354485883dcf49993e2f3d9b370a2cc0346846973809c20e3edeff5538e173393567755f358895d338c5b5493b000000003057d5339fd9113539db8d3c73b1c734750f02358001cb377f93bb38937add3431eb20355caa113509e5f0385f43b233194dca3483cc9537df3d85384025ab34eb3d0f3570eefc3614cc4c3830c18735cbd8a335d1faf63543469738c223b83325e03a34fb5920346a0852384ade8033644f1f34411df4332d5bac34d12e3b35f8ec6935e1cdac3535090a3619b09a3546d990359a20a035bc8bf435a4e50b35b3b2233f262db33e55526837b0503b356197e93e88b4043f1477dc37707c7c35c1d5873ebfc7223faa8ac237df912d360063083ead7f1a3fd35edc363feca735381e213dafde013ff6bdf43474e83c3410138b38a6b9a53e0ed8663808d62234f6f195343d26a53dedcc0d3cd6737e355796d635c3194c383d80b13c81cf813568559f35a50e40370f6b153a91418b352743db35c7147d38e97fcb3842a82a35c92cb03586ecfb35a9a5133825179a3551b656361280f136f4be183883a99d35afafd03532b38a366269d63722d49b34d09b8934999d063597b15837c6630a3531c96635769fa535eab412362d6d5235614b52354736c2350b415c371aa23235e2e30d352cbe1f3583f26b3509c3cb359240e2354a080a369ac433361d110e3695e6f63e38a9013fd4e4263670b0f53582019b3e6ffe2d3fd5b44335cf459f364f2f093e3dc7473fef388037c05d0136bf332d3c988e353ff20b19364238ee34614a8d378549003f217e0838cb9f983561d5fd35d9b0863edb44a33cff379435176f6f360fcc403da99f293d4d870b3567ca0835c41e32385907a83cdd35dc35da5c1036c1455c38adab683cda6781357187bd35ab481f3838a04038e55feb348bf59935f415a837ec574c38335e11344bcf1b347ca5d1339a38fa37000000000000000000000000e155d6376981ce34efaca034eeac8134d0a4f7340000000000000000000000001fec2c360000000000000000000000000c4a9d37a7b2bd34679c9334dbd98134aa619f3741eac934f3870735000c32350e908b367e2bd136ebb9ac3e33422a3f0b08c83515f9c735e4d8233e2118523f2909f7350128b0334af9e63914a4693fd12d233600000000e612f337b6b42d3f2d499a38ace2bb34198d1235c436dd3e1dfac53cdca61632ed740736fd515a3ef25d5a3d0000000000000000bbe7823df6591a3ddf59a834acd5ec340676e93b7bb8b23cf51f1a35eff40f365a2fa83856165a3cd89d273530bc3d359f8e083d599c2f38efb1d635e40be03502699436fd3d8e3800000000000000000000000023f49f3700000000000000007ba4993489b79c356f3b2f3543b346355931213526e8923500000000000000000000000038a37136a3dfde315a1417337013f833894a973500000000000000000233a23417820037822c1036058b0f368f0f2e3614e0093785bce4375212053e0a9d523ffea2e4337a80e6353bcfbb3c20cd793fa60a4d3500000000525883372fec5c3f11759d38b2cccb33e90d6935c3b0193fd5ba153d9d4b4335e5f77a3554aec63e1e2f833d000000002d3c47347571553e3bed623dd0f375333e90a9347570bf3daeb3e13c0000000042bee8349e4c883df6a1a53c8cdcfd35b42e8e366f09ee3cd836a23bb61a8235c7098c368e3197387d05a038f5f2ed3362593534e84f39346d54a934d027ae342921bd34a31ed234f2ff973585580135d9c00335315f9e35c0ff2736cde658345e92dd340f9e3935302a74359b86c834fecc4235986985353e9eab366c1b023617840336287d293635089c379465b234e95295343b50d634b0746235fce1a435921cca35a3c4e235a5260836f8ccf2370db8273d8dda753f32fac4358d428034b4a69634a4e2773fd9e82c38c6c0af3455a67e351fa0463f85e65f3debc2653529a8ea35a8be093f2842bc3d5a232035a6378235c9b0ac3e17bab83dbf7c5335a8f8b1358b20553e83c5a93df7731136f2b0403634e3003e6e6e013d4c14b4345958dc34c574ad3dfd75ef3cdcddc23531d4e935474b72381a2a113b00000000000000000000000000000000d165173352961533a1c41e3348de22333f28f033d81ce233887ed633144bff3332685a353ccd2e356ef72e357abbd135000000000000000000000000c5cb9a37b332f23488edf334013a12359883843673156c36d6e64d36e8b54e36f85df0370000000000000000000000005b0109380000000000000000000000000000000000000000000000000000803f000000009bce26337645253378ed613f39393e3d56aed73327c4df339d123b3fc191b83d4be934357ae08635906a033fd407e63d00000000000000009b16ae3e94ac043eff56183538d25735c1305b3e33fce03da91e4f366dff3737d96d003e8a254d3d0000000000000000dffa2d3dd507aa3c0000000000000000000000000000000000000000000000000000000000000000228cac367438a83664e4b2363f68793777d52337ee1ab736f3c7e9375e2c1a38028ece355cd3a6344a4e9337013df4375ccd7337dd14d9362406263817a8a8393751b237ee23853774210a388ff01d38ee7aa137360f8037ccfeef3771cb0738cd907b37d31d493700188d37dc1a873700000000000000000000000000000000000000000000803f00000000000000003fb5aa36d3f17f3fdea7eb37e3472337575a8f376db0543f93fc4838549e0a387a331037acd7293f48c33838e82aab37f9dce237f9c8fb3e7a685a3a23aa2438b312e1375efea33e0cd40a3ad33b07386562b637741e1d3e0ec62f383fedd6376f0b1d37ed454738404fc9373cb9523700000000000000000000000000000000a12e183693841536f4b47036df3684377c686536cf8c56360c42823629005837c93d503661ea2d36469e873660455337943a61368b875836458b04379940ed37b4dcc6362f2b6636f20065371c28073848d03036b7e699359f110f37d65fd1377dba8134dee17f3443e595357c63a937bd9670368737cc35b6b2cb36f8a91e370923aa36b3618536cb87b73659c6413798111336f2f17e3f64ab813b59686236f3145b3620c6753f8caedb3cbeee873690284b3686624c3ff301e93c3d68c0360b6e5e36d276233f5972b43ce7f07a37c5de6b36bbc1f33e9c658b3c72e68a379f3ddf35cf5aa03ea5e65a38367757372d377e34a3561b3ebdca723892369a36d56ec635db13c837ed6cae37ccacf8364b6e68363397dd36663ba337646a5137d1cb9c36f99b9e364190a937360bbc37df5d80360c963b3663684c37342020387ac6a7358a1a1a351d41a836992c7f373a236d3568864535512ba9364b2295371ac5a136ee109b362ea18e378a89133853d330370b7e08359cbd9c373c85eb372e75f336aedc3436528a7b3708e4e7374cec53362398c6359d99b136c8169c3742408a3725c53837ea78aa37afcaf537c4a39a3687b2533f5af7303e1076ce36bf543936c7694d3ff66a3d3e3bb81b3762084c359806293f30c8313e7eddf3369b644d350de00b3f20e5113ea757fb36a20d9d364888cb3e7bd3d63df994b437e6fab4355989833ed20d703d48dcb7372abccd35d0a1053e696da23c31898c3772f1be35a37b273873a26e386d12b9367e5dce362de6c2377f2032382e08ee37d88a3537ca4d6437d2531c38cc961e38f13f8b36839d2f3623e25b37eaa412388a7c3d343d7e33342a81783730110938fc5768374a41333596a7ee37baaa46381baad2363b4db336785b70377e40183825e70d362aaa82344f638f37df6d1b38375a6d371c69a936c25dc937ab1931385437cf377b2078379a93f53715402538ab9dc737c56571371700d3378e2d13380d460637c53a293f5862ad3e3be09137eff301366b3b243f0cd9b23e3c410937507c3a3496160c3f3b14a03e2baf97372ed68f36d775dc3e43cb813e8b070e38a6cab3369393a03e95b43e3efe119837bb4a84347492483ef599f53d59eb9137bdbf24368c63ac3d5f03673d0a8dc73759a6cd36a4c2493829258c38ebcfe637fd8dfe3616a6ea37b55b4138319ae63755dc0e37bd9403376ff6b437d267c637bb311536ccae0d36104913366ba09e379f24813626070c361707a23620dd0238d3c82d3650101e362ca72a36c60ebc372d255637583869360dfca03741895838c7e74a369fc32a365d03433676d3e437b14f4f37ea74b03676cc8737e9dc0a38ed4e4b36485d1e36d8d52b37e2f0db378f189c37ad3e7d3718709a373afbba3749598c3639f1fc3eb276013f47b2fe36dc510c363e43f63e66d1043f37ba143654b30e365397cd3e5c73e43ebc0d9b360d2d1d366460a13ee28cbb3e75303636b5ecb136fcee6c3ed078893e3725d237b6dd2b36045e083ea6a63d3e3c4147366eab9d36fe43573d95e6cb3dc8b67737c39b1e36274106387713a338bb699f367a4f22372ab38a378b0cfe37539a99379612103756783137aec61e389f831e388b94ba363363b73675daad37f11a1838d1c6c636bb4677352e2b0d37d2a11e38f187e7352018803426021b363a571a38cb787037e118b83648f93a37d1391b38ee6711388003c6378ac30738a2864d38e642e3374e858f376a82c937f75b0f3823eb9a37776e6b3738e89037f6b12938d0210038a81ad637877a02380ef61638d731e036ba12a63ef4e22c3fab4ec736d209b736ef18a13eb15f2f3f8aa7b93640dcc035e766873e8447183ff0daf536f7877f34b31f4e3e4132f73e1803f236b9f1b9365f9c0e3e24b1b83ea35469378555d637877a8c3df3ee7c3e951c08385b038337a3d59f3b3c570a3e3275ac37049b40372eff2538fe76133c63a57c37e416a0378abb003841a83e38a79203387afe6c378f705d37eb790a38fc69143846fdbb351050ad35b98fb035ebc45437be2fd23620a958342060c935b203b43719237f37e1ce0d36a366bd36d003e13728158f378ef29f361e4306378ea51738840e1637c63fa4360c32a636e4f795371f473c37ee51d136e637de36626e81375103d7379c953637d120a0374b5d35384c2b80378ff020378d3f67377d3d9e374a1333370ec01f3e64ff573f8827c83639aab035b9761b3e3919593f86c8a3359caf07362a270e3e03f1353f007c9f366fc1013705a0b83d661b183f66b05637474a2137d9c1773da2b9df3ef1ec8a375105c436c8849c3b3dce9c3e62c4bb368138cc36892fb537e5f5293e2240dc3669be0d376ace143870a14c3c61b85f37533caa365d516637d3a4f5373a4e4437484fee36211e86362f100937d5d88837e564d7357ce7c135efe3ac35b19e26370fcd7e34367d803487467734a9e4fa36df7cee36c3c9d235dda09735121884376bd17e37a62c0b37ac7bba362c59a837bdaf6d3776147336ab007136c0f7b93750e6013775d38c3667ad823607a257378ea31337cefb8736def29936d92a5b371abdb9361b867f3649c18d36fc53df3698bfb23646e4203882f57f3f80af65361568ca35c484163895f97f3fe9eaae352aaf7d34c9413c383b1d593f3fcf78347ef962361cea0f38eec32f3f9e68f236b2d345373cf70e3906b2013f8bca70372ac708372ff2133863b3ad3eff0a583769a598365a386137f042313eec8dad36659287360b60223776d7553ca05783366af63436a51c323650ffa8372f932d36000000000000000000000000000000007e481637999d2536144311368836a33730d2a4371b8d6c3636b0c533099ffa37f0ebf937e24f723726cc36374c1a24383f091b38e809753787ea44378d90c839e8aaa33760272437000103371cd4d237896f0d383dcbc837a0d4cd372c1921383ca375371ed5b636a2b3013740329d370000000000000000000000000000000000000000000000000000803f0000000071d6af360acc54371cf17f3f8bed8437ef2b80377d12e43702a7583f653619381cf0d0377c27103854b72d3fa583733933d5e5376a522a382785013f569a0e3a7ea07c377d9fab37df2eac3ee2950f38ea47ea379bf20b3808eb2c3e340e243852c2cd3699682237fa883c380a4b883700000000000000000000000000000000000000000000000000000000000000003e373e36f828a8368f3c2c3831323138b989ba363aa119376ab90038dc600538adf0b935756e1d3723d1d237f3d2d537c5dea4361eaf04372385073881dc0e385a81833669fd6837bc9b163806bd19384633f2367821813751242f38a8982738b9ebb7373dcac7374b9f0a38d791053800000000000000000000000000000000000000000000803f000000000000000046f55d37e1a1703f46e390385a26de375307a03794154a3f4576b33920d5ed371bb08437454a243f47280b3a1ae8b7370f9e983760a4fc3ef66d2f3a09aaed37596db8372662b03e25a21d3ab7fcfc378761a43711344c3ee4a46738cd55d137e11abc373970403d7ba285385d91e337000000000000000000000000000000003c30c834d1cd1035b66ef2378f1add37b629b034fcf9ba349457943739debd377cff58355e1f6735107bd537d503093800e1c7351a3bcf356173743755dafd37021c9235e5073f36e104083808142738085ac73583b3bf35244cc8370c3b2939f814a8362e25fd36bc00d83810bedb39cfac1e35d0b91c35fc3c3437115f923731efb136f2586536f43ab437307ef83723e94436fdf86e3f45c9873d11d671375c95c43449a7593fa2a8b83de5c75d370fb2743526ef373f83b29b3de6d9ba373fd5d435b300163f37178d3dc1618e3729541b371c5be83e644a793d372a1038289c3d3653fca23eb3ee243d0995de3778ce5237aa363b3ea15c993c3a6b163962941a354176333d3712e6396abd573765c43d36b898c137cb662c38fedc0d38da36b13646552337c7d3573884cc37389c3aa9361d00b3361c3cfe3720681638f1ce13368c5d90365fbcb13723e30338f80eed36922cef36bb6e2038eaf1c939785966367cf6673613419637279093391a95d5356d88dd35de8dab37a7d43b385ff2293799dc27371f84293881813d395d5af3362f6eb336600efc37ef9d9a3916bef534f24d3f31c23f3f37ab1aab37a8da2d37eb35493f8fca5a3e502bb737b595b43629e4383fb0a15b3e214aa5374bd8c336caba1b3f9b7f4b3e37c6bf37bfcaf0366980fe3e04122f3e44ad5c3815d0683699ebc03efaa0063eb6f7bf37672c2b363a87833e64c2c23d9a88eb37845c273780f5133e2f0d693d07f63e384df3ad36754eae3cbfec883c9894113942ce3d3110264437c5bd0538ac36d43726aa68348291a5360ba7fb375e04df373d1b1a36d2df34363e619b37b5c7ce37c636f1364f60f63620faf7378ab46a383ba98536188387366e86e737446c4a381aafa8369cafa9367b120738322460381303cb36c83ecd3632a121370e3cd2374045953637ec943636232e3734b4c637bcc5913723ab6b3794272038fd224a393fc50538b116d73780622e38ef8c5b38de019b3688c9233f484eb83edd7e4737f4833c36a9c4163f78ddb43e0024e336012ef536e7ecfe3ebc1aa23ec4dd0638076688361788cb3ed0fd863ebb5a1038454eaa36572d993ec09d513e920c2d383010cc36529b4a3e22e7183e76d370373abd9336f69fcf3d3ca9bd3dd5d36237416f44371d29883b499b153d848639384995a8373b56283841fd8938c5f6663885f78e3569f8433743df1f38392d1338afd14e3555264c357465d937716c0238c7a1393605253c36aaeee638209e5b3a7988d7352462d9351743e4374ae0bd397be36b37b8f37637bf6f0b38a05c8639d793323678ee4336abc1e637c0878e39fe62ff3688b6c1363cc6423930622a3a2685673749ea0f371842b937a9a8e837fbce973797cb43371414c037f2f60238e0e441370ac4fc3e6187013f30e1a937913850351651e93ed1bafc3e570ca8372e8c3d367720c23e817fd93e237883398aaadc3558fa983ea166b63efafe0b3843fe8d379aa4683e24838b3edfb431381100c73646810e3e2af2513efbc20b38bcf2bf366e5f863dba02033ee052bf393ba9c536bf85d73787d64e3d4825d937f5370c37a1dab33735213038d0b00f389bba3d370803eb37787a803824f977382ba315373947163757483d382334213aed908b36e8718d36597a02379c900038aca9cb36ae8bcb3671561337746ddd38be69af360b2bae361977eb3703afa7380b690f372a34f536dc66de37e5873e38b9c15b3754e60d375543fd37f04747384caeed36932e79364e121a37465cad37f2694137b08bee362c237c37cdfcbb377cdcf13718ceb13e85fa263f69052338185b16372291a53e088a223f07bb133829448e3640a7853e577c0b3f4da981375f38cb366a944d3e7d55e73eb7b79037ad85ad3687b9143e8e82b33efde93f38e8430437c258a33dc080843ee39e1f38dfe813377377b43cb817273e81dc1c38f1b071362c6efc369a576c3dcf6baf37ce57c1365fba4537cafd0e381e3eda37a996ee3114298636c520fe375812e737ad5ca93601fea43625afff37c85c5a3ae9d826372dcf253757ff1a38ae75113ac6aeab3661492d3617e899376ec8693825317b361dfd753692ce89379f80dc3918d8bf37c7dc9337cbe608380d3fdc3970514f376fa22f37ebb1953799e3fe37933398378c652b37978ba037ff4a06384737da372ab37d37560cc937fd78213856c3bb36878a4c3e34cc4c3f312a3037f68eaa36fce93f3ee3f4453f10a0fe37d88935371fdd173ed93a263fcc1a853859a0fa367b3dd33d716f0b3fa3472c3876c389365321943db22ed63ee786763975d7a7378309a43c651e9f3e49025e399c303437a805d9370059453eaa4cf4376f54163705179e37f324813d59670a3847b14737a3b29937805d843881e444380a69af36f05b0d37a3941d38ff212638ca1c22352243163563cb8236e301da37dacff036dc6ca8364de7043805fc513a0f63173775886036b01e5a37b789023a6f98a4375b3f5f37846aba37b16a2a38a15c1b37a6600936ed3d0937c56e013875819e3788593837ebea843760ce053894f95737c9470636dcc722373ed3a7376c75963797e63837b42261374107b337e5f58037574a563dd28a723fd083dc378ba61d352ab7553d4e46673fa520b337900766374734f63c4618443ff9d55d3ae4c60a371e990b3ce3a9213f7855233a9270903770751838bb54f83edcb93c386fa2b736b53b8537819eb03e919625385bcf433706549937330c523ea12c0f39d59aeb35a7600637ef81733d942fc537b8c7263760bb0f37d2a915381f82eb370000000000000000000000000000000079fc3f3703d0c636d359ac3705ed17384dd2b836d4033734bcb857376532293821596937e0f3cb368b1e9c376484713880158137323f0237812293370ca30e38e0d9a3376c7e653707f7843713f4d3378ddfd9373a309e37b725b537d146ff37c77cf337029b3f3788b7953703581c380000000000000000000000000000000000000000000000000000803f00000000d5475437d6e6d83731d1733f6f21b839736daf365a1ac43703ce4c3ffedf5e39235f513740c7e6371168273fc8b4353a4e4457376280d1379e46013fbfe1243aeb618237c8c89537a8d5b63e5161ad39adeba7374428bc37c0f1563eec5e2f3850254737ff4f60373628743d332f533800000000000000000000000000000000000000000000000000000000000000001706a33759b5b739affb283a37c0193ab2be50378e2848395d620e3a90d4053a83d7d537840584385637d139da18ee3920a71f3810334c39ecf50b3ad2a1093aed89443813d6863938df133a39ba143a550b16387d472938ffcad1398718d9396a85b837232513392ac1d3399350ef3900000000000000000000000000000000000000000000803f00000000000000008f1bf739860a613f12163c3a261dfe396339ad39f58a403f73d7523a1ec5e439d5ab5d39dbfc1f3f471b523a68d6b739bc609939b3a4fe3e5b3e343abdcfee39d780aa39e718bd3e3cc03d3a842d093aa40a38385f8e783e85e96c3a881cb239fee61e39578dec3dabd64c3a84edeb39000000000000000000000000000000004523193881dfaa394bd1173a8e76003abdbfb8373bc12538c48d0c3a16b3063a11646737b693c2376074613a99e4713a8452a0375b8495396d95623a719d6f3afc7f0f382d7e2b3811bc8d3a1083a83ae3e9a7376bf5ed37ef73a73979b1f43983bf1d38548cab39ec79503a48ac5e3a25aa4737365fa438c7ee003a4731243a8b5e19386f1735389ff27a39255795392058cc392cea603f5942ef3ddd37b339e6e220397a30473f0625e23d0fbbcc3912d4d937a4582b3f3ee2cd3d4883343a4e47e939a5540b3f4961953da7d5643adbf33238492ae03e038f7e3d1758a63aec8c083896d6a63ed4e2463d3d79be396c8ac739c4925a3eb00d003de6f1563acb329438b040d83d2483ce3ac645263a1883313868966a396a17053a384aab397698533752562939db03373ac682143a9a831238fb83e4383a00303a247f2f3a6dcfc237985c2738b2e2143a42681e3a1406d337d46b09382053ed397cd0103a4f1e2f3866df4f39ec5c893ae1ed9e3a667f343862ca423825a6413a3cfc6a3a3befb63716cbf537d348b239cdbd073abd7ee537688a0238eccf5c39eea1af39adbd2b3874b44c388d14ad39eb120a3a4839533920a1403fb3d4783e70cea339338b68391e7f2b3fffd6673e444e143a0f8b11397d48113fecd7423ebcd60e3a3d031738d961f13e628f223e51bddd39cbd591392f95be3e266e003e5d84913a8343a238fd1a8d3e4524c23dc151633a819b01387bd4383ece23813d8eeb0f3a0b9802384d7bad3d8ea3fd3c9470cd395f0744389b51bb393dd95a3af6013a3aebfbcb3786017b388bb17f3a8c03533a1ad92e373a056e39f329a33a552b9a3a24813e387680943991345f3a94e6653a3337243888ea4938d34b373a7134743aa9740b3856522138f9774f3aa4652d3a154c8838580ecb3943316c3a22d8863a39440238db6d8538cb28053a3f9f213a1130ff37542a1338cf6df539f7f03d3a5af42138e696be3815a1043ae449413a8602d938e8b51f3ff0fabd3ef689b9398edba639b6420d3f39c3a93e6542553ab821c93969d1f03ef2d3913e8ed1503aa6575838c8dbc73e63ef743e786d3d3acfc326382c9f9e3e945c423e8a22013aad81ec399f2d6a3e3f5f103e3a1a8a3a7e02bd38f6e7163e8732c23df764333a1d2513384372863d91f13b3d0b5b673a9c6b1039793cfb398a708e3a3a38743a39cd6c382063cd39487e3f3a212b303a3dfb853760478e392304c53add4dc63abd9900383d051438ea60403ac830543a954e2138b6693c389bb7bc39e7f6523a573d3838b29c3f392e3a0d3a2013203ac62c31385f4e3e38ce8caa399a571f3aa25f0e3888ba1638490bf639a5543a3a3d13883970cda539c1a9563a3cf9a33aead981397f2b9039b3af023a5be2213aa714e439e5b8fd3efaeafe3ecd200d3ac1d5c239f793e03e6c92e23ed953943a385e2738e9cfbf3e4db8c23e822d2a3ad4c04138561f9e3e34c1a23ebb0d3d3a49857539c2317b3e1040813e1a1e203aec5b413846df373e5e9e423e508c3a3a1c341b38c691eb3d12a7003e1d275c3a51259f397589433d96157d3d678bc33a6bc08539e896ee39803d463a03f6363ab2bab3378dde8439a2e6883a8f176b3ad314bc3708340f3846ea6d3af49b693a582adb371baf0638044f143a2224423a36f0de385249dd39ffc77b3a5a668c3ad83f15387df72238f662833917f42a3a250f32380c0b413861da98394cf7523a89db6e39593aa239f629393afb505b3a33375839d47b7a3978d5373a8cd3823a8385e337a115ec370a8c1639b9af0f3a02c89539e31cbd3eeb9a1f3f0ac5173a429418380f88a73efe7e0e3f65d3263ad1ced238623d8e3e48b7f33e888f2c3a6a73083aada5683e5147ca3ec429893a002627382c46383efc0fa23eb330593a74534738129f043ef3f6713e88d9873a651ead39531ba63d0cec203edecd6f3ae6fe6d390f2f043dadba9d3d87689b3a6a5def37c9105038ee3b823ab780753a0a5a3e38f8a666387fd14e3aaa03493a8e97e537c32907386698ce39b669143a5668b3370c6cf4373950e739fadd313adb173838b2d44138d9372e3a10c2813abdc0b43820a9593941ac4c3acbaea13a9fb10a38ab930f384f3573392aef053a803f0b393d1512399f14ed39f213183a21b79139f4037239ef3a063af937253ae878df3837868f38af708239bff1f839630b1b390a19783e77a2403fcb1b0d3a0d490f38f7595c3e48af2a3f15f0c139fd5b0638061a3b3e5a06123f7eb9283ae49845383737183e717bf33e02ad8d3a5e228f393acfed3d66bbc13ef950b93ae79113383943a93d0276913ec2c1333a39e62d39025b4d3dc3be403e8fc3283a09326e3945b8d5392bd6c93d0b6a373aca555138a9261a396ce4493a48c3323a309832385887483891eec939da9ee839a052463766b3a137289c163ae6cb663afca51a38f8ee5539c0d93c3a5c37713a380ea83773a0c637978c623939151d3a822a603885ecbb38141f623abc63b23a8e63cb3933c1d2392c993e3aef42683a8c278a388622e9374c6b8039586f493a75cd6039710db838cd45a239af58ed39d8f652395aa605399c519f39a182e539af9f70383bcaef3da33d613f4dd0d53957fcb638d6c5db3dddf6473f3fad6c3a5795af39038dab3dd83b2a3f039d963abb71ed37dce28c3d6bc40d3f12cc803a1fcd1a3904b1093d8717e13eb049a83c2c12f13969f2f23c6621a63ea77ab83c83ea07381fca4439cc7c663efa2a9b3a7594b338d15a40393d03dd3de794243ab6eaff38f1043b3926d8113a2f99143a00000000000000000000000000000000ba17b13724cbcc374367c13943da1b3a383d0e389aef1338958a63391c951c3afe73bb38c2891b394ccbdd394556193a2bcb8d384a17b6387329b839a53a073abef1bc38ce468c38e2d25239a4adb939204b963939cd5b397de9b4398309fa3906fcc5396b3b8e3952dad339aa690a3a0000000000000000000000000000000000000000000000000000803f0000000007c2d238764fde39063f613f58fb493aa2372d38c662a43966c6403f25af783ad07a7139a203f039cb02203f7b5d373a1f381d398993ba39a2d1fe3e1150283a711fc53869f538395303be3e48f9283a11c47139f39896393253783eb9d5303ab9648f395479a039f82aeb3da86c2a3a000000000000000000000000000000000000000000000000000000000000000095adc7339b33cb337be91337aca81038ad898335163564334ac4f436cfcd9e37b39705368ef2d7352e7fef362dbbc8370e194c34cc79c53310e0e63705ba4438f12a98361d94723600de1d375f288237e9157d37a6df54376c59d837df47d13713109b367cddbc3646387837d9eafd3600000000000000000000000000000000000000000000803f0000000000000000bb9dd73571997d3fa4dc8938f0ae0b386c418a36a54a5e3fa80e193865fd9537b39b3e36c3d42d3fcff63d3843a6b137799e9f37f207fb3e8df2ad3837612d38d029d036b0cd9a3e0f2c2138c69edf368769ca37cc1fe63d64354638d0fc5c3701764037a8c2d8388cbd41381e6f88340000000000000000000000000000000053f16235afca48353b67ab363698ab376d346934868d6c346542713478efad37517b9635a9bf9535b944b73514e207380ad9ac35921497359edce93594bc12386c8c9d35dda79535d1c1eb36fae3fc37a416dd356f9ce035332a0a38c39046383da89a3505c19235daaf9337d981c33706920535bc9d0c352a9d4137993e9337d2fc2835510e463559b97a3519fbf836231a203542857d3fcd281d3cd21d743764376f34447e733f204bed3c1e889b3744d89b350be6543fd76e873c6a68143862039e3547ba263f55fe113b0e2f163881fcba353e93ed3e522bad3ade160338d4dd0137ca418e3eaaff143acbad303820e4873542fdb43d72826f3ac6996f377358fd34dc1f5438f5ed763844378137b830f0345c901136cad1023810ab81378fa84b34368753345efd3f373965ac37c2f9483419ef4b344a500236347fe837a3690235fd9d06359383583535c65237e9916634d8407a34a6ce83348b10fa37b986e933f9cbeb337154ea33b96bac37e7f44e35bfbb4a3552448b372689173840cdf636a54dde35ff150238fdda303880a30b354f5120354a3d563500f68736d60c9a3511e59c35bb74cc36b0daa737d77d5234edd15d3f8385083e7f49c636dafe49340d99553ff1de273e2346883751f207350e81303fa06c233e6ff20c37641581340ee5083f4298103eb1cde8371569e733a7ddc43e502ef13d5a4a9f37a6924c358d5d643e049aa83d5b060338943f0135271e9a3d1c92243d265a1138c7befa3426ad8d37d76dea380029ae36f7658835a2b9c6362641363802f2dd3744c09134a2c89934ae09ca3700608837bb5c733596f27335c262c0359db2e9360048c73317e2ed338a31f5358f77103877e7f834f415013548204f37108c1f3830dd7e3356e3843380c0403755e21e38caa4a73429eea8347c4dd936628ad4371edaad37bc5483378d091838f7963d388abd2d371cfb0b3752280138291f1f38845cc535a10cc835b6a00e37c6b18b37fef19534c83c2d3fc588a53e3637963487e55c3594df253f7ad1b33ef882da35ebcee23305f0093f93c9a73e9b4aa6373dd300353bc2d23e8a2e8f3e1f0bf83737648133ee178f3ea8915b3e073cd437cd98a0346e061f3e84b4163e8ee41b3747f21d37afd6dd3c17cb9c3db43707386a4f3c330972613822de0e390b40e937e980c235d62231374ad94838f8c1453711365936f1e16336f2c895365b028d365bd74335bfa254351b78dd359adbf136bf96e236a38ec936c5ba2937f76f5237bbe3323669d92a36d9de30363c0f3b3793ad83371dc43237d89ab0373b66fe37737f3f36a4d13f364f28fc360d94c237ade25937ca444d37170368372d81b4378140be36cf8532361a6160378a329b37a07f82361c9b80367f4f87366bfa8c36d238443668ddfa3e5688023f0aa04c36c6e63635e959ec3ed7a2093f383f8e350e16d2361fffc53ef095fe3e2c243c37dafe2236280f903ece4bd23efcf93736bbaf5037b74e4c3e0cce993e5c4ec637d85e3736555dc03d04385b3e545c4636f2184637bcaeb93b45e3e13d1a9c4b372107ad3558800838e26e573ac68b0037857c55364dcc8a36d0b5113874478636268fc535fb6257367829b4371832833615443933f5ab48337bc615373db45937dddb84356b4886351e118435906dac3766da9d3479bfa334df42a034947c9834bf01ce3666678a338b99f636b6bbd73765e4cc3764ed89378d82d637ddd92538b9b6dd37d810af37f3c61d38cb8d48386d0ef63580590036e60e6637d601a3370bd1c234225b303687068737b608ad379900ca3512199b3e5b73323f7b05c1351aa92f33233a8d3e1d4f393f5d353933400986354780653e84152c3f6217b835512cab3404121e3e2e130b3fba9ca13430ad8936f32bc63d71a9d13e9f520e3772c4a137360a053de2518d3ec343a73751318c371a4bdd3843af083e027c9a37fd14e235d09408381ba75c3aaa6fd635d82c9334ee9ccc37683d553829a5fc352f262837b7bc8a374003c537ead3e83672040335455e0735e4340a3581c80435b6e83f36ef37023589b2fe34deb5c3367ccb0f3758ba4f35e7394c3594b55f37b2b2de333e15e233886de33327176536d2a89c37e001ec36d59210372210dd376feccf36e7c3943526e199361cff8937096ca4377eee8b3779abfa379b740a38bd9da136e95f95365d9e7137bf0a893726475c37638ff63d662d613fb64288351aba0a35cf26b23d9eb8693f19800435327d8636dd7f9a3dd5204f3f93f8f734baec1537337dce3ca2612b3fd7f843352e2cf0354633ca3b28acfb3ed8e6e63397cb843791508c380ae3a53eb6b8d2360fe8c0351bf93438a8991a3efc2171354fc3343782715738a202c13a0ebe5736c7a15f34ccadb3370f7d1c3871295934ad5395369a391f36e1b18136f147bd35be86f8345e49f3343b1fe4348d0aeb348d436c35ec5c61353eb30b35939d7a35166b8837086eec35d91de135e4a7c337da36ce366857f43595a9d8359ea55a3717f79c373eba0b36504bfd350499d53765ffd837954f7b375063a337be151938cd8b3c377552ff368ec39b3704d1d5377f00f136c0169a36ecc92437b1034a377f430a379c2085386ef37f3fe465c1341c5df4341ee46b3838f27f3feb7beb346fb174358e002c387f26693f5db96735418d93370d1a7e389bb2383f42eaec37f392db3617fd7f3826e1083f8fc8483709b697379b3a6638c753b13ee7088a373030c337274b6e384b591b3e581ead37ae3404375cc52a381f4da23c52e5e035bd96ff35160e973708bd0c384642c23500000000000000000000000000000000cb287e34f0a88434ad268c342b0a863493afa736c1215c36097e4136014c2637320681364122f635f3964f35ba59af3675479b37de578236308f13342adb0438e8bb2d37a6be5836ff4154364995bd37b86069374af32037048f5037a442bb3769690b38b789e8376df90c3803c13c380000000000000000000000000000000000000000000000000000803f0000000033a0873416f58f34a0fa7f3fbb1102372ecfb1368f183b378330633fe415f237af6289361118fe36d38e323fa565bf37b911a73798c04a38136a023fdac97538a6e31b376fe8d7373b39a43e15460138c5d15837cc9ac537ad97063edf6fbb37bb37f3370efd333804bb153c63431b3800000000000000000000000000000000000000000000000000000000000000000f20fe35b7b91f365a36d13688f84237157c92366bb3ba36d0ab9037f08f3338a22915363d25473660ff96366309c537f1fc4336c0804936f157153736d8b6372a69973682199a3656e1ba373569b13775081b361a560237625f0138eb41b1372fda323673b993369a06e937eeaff13600000000000000000000000000000000000000000000803f0000000000000000caf92e36b726773fcd82c73a2b524237d2c8d736d8d1513f92b17b3a48bd27381e2f7636ca93273fccbc15391eb9303708b957361a15f93e39fdb4384ad45f3663919f365f28a43e01f885382a3797360feb9637b0d3213eb08428382196d73564b0443747ec533ad9e51d38177b1236000000000000000000000000000000005bcf0f36e49c1736666a7837bc55143828f59935aafcae3519dcfd3516278637718cdd3544fcf235edda12365184fd37226805362b340b36b78b8737b2f3493838c2c335a4a20d36c7de5a3735dd163803e82136dfc924364ec5a237a3780d38624ee935645aef3599a92d3887c44238bba91c36ed322236a55056366a1a84363d19bc35aea9d03535390036142d70372ff718365e1f773fbc520d3d5aa5f9376e97b435f0f7613f2a1d793d6178af375a3a0136edab3c3f84d35e3df935f33729120e36f02d143f3fe93d3da5681f38333b4236055dd73e043b093dd4dec637ab012836b5c5843ef5369d3c426267373b0f2d363632d43d7f67823af7d19337e4b81d36f447ca3731287b38754e4e366117d635df112f36b5b748388e9841385c284c35f3a76535a903af3786c80338b1013c355c1f9b3593f00d36dd304236ba8e853547a58d3533919635691392377057833565cb893508ec9135943bd63759978f35a5aaac354942ed35a27a5f370bdcb635c804bc354494c035afe1c3371fbeef35b007013625408e37c8c3083896d45936412c63364e739d36bd271b37d1cdf73419f20835a16e1135253a2135b4dd6535506f513ff2013a3e4158823796ac98355af03b3f8dd1613e2bc53b36b2e18f358dee173f35a3543e1b0439379b238c35475ae53ed752443eb815b7376f54b235d674a53e1955253edaa82c378408be357ef3353e25d0043e0f9a9b3704c403363163853d93d7a13dbdb5e237ee535f36b81f0d3755f1ce39f4635237ab6a07355ee21535a42f333828ca0538d2a9a635a256ba35ca36283873b9193899d4be352b5bd8350719ac368d21d236fb88e935113011368f0c4236a4430338a2e2ee35b1981536d6803e361402593668ac5d3691a887368bd8c736d36306370acf0b36c3b21c360837c7378b9a3d385d960c36db2c1b36edb5c8368a86d637e1217236ca487636fe3f8736f866ac36915e523515226535063e8f3513207137b85cb835b527283f979faf3e80102e360141d03513cd133f1122c83e743198362c9e1536194de63e557fbc3e28ffc237e4491736ec95ac3ed61aaa3ee2939f363f4e913634f3663e6f61873e0cc2ed363e3c213617bfe93d51ba493efad2133830e51836b37b003c706d003ebbdc4c37afad7a36be77963692012f3a14689e36a30b7a350580983504bd5d38177c0c38db360736488309361502c937486a8437e3a491361573d13608091e37d087aa37468d92352b63a13586eb263764651f38cb2f3e36a6308636273a20373af4a837ffb40636aba11336e507f836ba1cec37efc2bb361e36e83677735737b7aac6374887163695395936dee31c3883064b38e1e70b3757dc0f3711242737c5071338678a08361b940e36fe5d08374dcf7a3713e109368c39f83e59e2033f997e87363523d236cd40d63e1a61103f2fa617379473a5355f29a43e97ca053f176df637b2df94365256603ee788e93efeef6537bd9d1436ae25273edb64ac3e6500ac3751ce0537ecb56e3d5188883e0398573793107536e4589f387473203e2edbff3791720c37539b043807cf8f3cfe54e33748ae0e36aa15fc368e1f2d389ae08e37e22a8f353d12aa3532ed2a38faaa9637ca384c36de116236d43b7936a14a8236b51aae35571ecf35b8ee0036c388eb36e2aa043643e21036e9b806373ade1f388ee7a2365ac7af365055cf36ac7b0337c335413626e74936f534513688e59b36a8b45e36581864366b868337d3642538e02d8436592f8136e662b6364d19e636a112c935d308cf35be402f37c02b07389bee9e3567d8a23ea98f2e3f0bfb773514215c36439f843e43893d3f0c897436962ad835f195333e92ff303f326f1b366608133677b5e63db37e133fa8f8eb379bfeb5362571723d65e7e63efb1fd63658eb4a3653f80b3b7942a83ed7974636fc0863363d4a89385c4c3a3e9a76ad37a5b17d363a44dd361e5c023d3e9bcc365a1ecd35ec057b37282ba238145e0338e09c2a3544d53f355fff17383d099f3657305436993d6a3683abdd36a0e8ff368474d6351031f4353ad1f73599449a37c0d9be358afac33585a4c23564975a37327ee7355863fb35e404fb3569d81f37c1a39f3559f8a935c5e7a2350fcfcb371b72c635834fd33542a68b369887a437f73e3736317138368ce43d3607358a366962613605f1da3582ada337707f043885652e35904d203e54e7573f82900f35b1f36b367052bc3de55b683f84de5b3611b2f435787a673d8c9e4c3fb0c72437cd0ec835e2074738fd4f313fe6a8ac364018ff358583e8375bef033f345580365ed4af3543002d386c77b83e5582583764e2d63533dfb437b39e4b3e467614376dbf3b3692529236902f3a3d16a21d3680a092354e12a737c9c0ed38ea6ca7370924c33604149c37d5fa3338b427d3376e8be335e5a7f3351299f435f1ba2b36de95db3598f1e1356d3be5358cc49b3783181d368b8d2236b0dc2136b53e8d37f4024636c0f04936036a6636fe67d4377d291236b07414368a8115366c342238921a56360c8047366a32a0369d2cf83777ac40360e1240366bbeef3651e8ac37ee878737e7211d37239dc937c27c103811dfe337f7e6533af4c57f3f4af7ed353261fa35b5f48537d9fe7f3f43702436d0dbe635dc92db378732653fc1cf4438778f233610e789378fb4383f9d971b386ccf63368bcdbf37ccb70b3fef511c385ec81636aa7711387bdabf3e29a537388b455136161dec37b896553e1804b137d1b13e36f74fd937cb51673d074c0d3682cedb361049c937b52a7d38b7f49c37000000000000000000000000000000005ec5ed34a51c1c354c7563350c326036d50ea135eb45a73596baac35c005df3644998436d0128836c6bb8e36620a9c361ed43f3654de4036176b4a3673b68d366a3484367d8081365e308a36d5757f3703db733756270c379ef5a837331737384d6d2737e55f0e373c3531371edc50370000000000000000000000000000000000000000000000000000803f00000000c78247350866ed35adbf7f3fa7c61c385b5dad35da67c235b087573fc81a3438efbd8c36ca9194361de32d3f9ff87f380cab4a36148f5b36d76f033fd50e513815638936b31f97360bc4b03e924a5438f6d64d3755c60b38197f373efe874a38cfe7153751e13a375e5d073d7af3353700000000000000000000000000000000000000000000000000000000000000007424f835454d39369c10b137462d57386eecee363ef54c371064193849907f38491839362bff803651ffb536f060973783c494362c59a23686e60b383201203827375737a8d55f3726461838d9421c38fcb1f636227688375bf80c39af7b02383f681638ac8b52385b5f803847863e3800000000000000000000000000000000000000000000803f00000000000000001c905536ea286a3fa5868a3c165fab39630c8c37ea51453fa98b483cdad67b3849e28d36446e203f7778583c643d2f379dd10137dab6f93e3598503ad2b5e237c9968c3788b3b03e9118523a0001cf376ffbbc3774d04b3edd6c603a2ab866377a9e6038d15e6c3d5c6689380d70673700000000000000000000000000000000914eb4362237d2368044a9377d031d3841708236358bac36b8137737d2e14d3822965e36465d8d368c3031378fa83438a80c8f36c4b0a6361f8bd536b05911387557e036f826f9360b571038268a72383ad74f36c6a36936a5a2a9376b303738b7dbdb36825bf236a23a1c38e5946638ad50c836797fd33679c0b837abf30a3870663936da9c5636a9b97536211485363f12d436a08e6b3fdd2ea03d91bc373869a0b036bf49513f76b4be3df7dcfe394003933604802e3f0511c03d628ecf39a358ab360f520b3f76a5b33dd74634389bebfb3646acd63ecd389a3d5ce47f3813306f36fc4f933ec2c6683d5d4f3b38ac9ff93628ef273e69fd023d069b6338017ed3369c1bd33ce8fd9c3c7fbded37950f5a366f3b79366fbefb37e0542638ce5bc1350546e235c124e1370b63543870d1e635b1281c36ee914536d89cb8379d863136650456362b526f375c7741385888a43659c8b03664b2e637c6958238045f433624dd4b36c14ed637f1e84738bf7171364c0a7d36b3b7ec36a8322b38dfdb89360e068f36d624f737884e2e3856fc6e36ee27813746424a386d1e6a3831111a36899f2d360b244836947f24372dc1e435c07c463f30e0643e7197463806d122362ce12e3f454a6e3e54460538b9545c3654c70f3f29d25c3e24f0d0398764b336e407e63e36fa413e65819538d53f8a3685c6af3ed248183e9a2f5738dcbb7d36a5b9663edb0cea3df85f2438dd0490364c14083ea337923d69651d38f3b793379952113cd207e73c57a74b38df673236c7f44a362d97d6377f1edb37d35e2f36c3528d36ae921d38fa694938799a0736f8403936c8a5ec37ca8359386410993652bbc836c5266737a9034f38f99f6436ebd78e36339b593749cab437ee9a90366e239e3694392b38e0ea813885ffa0368a83c63608b83237c443fe37cd74c436c84bd736c4dd4c38719f7e38954bfc36b3c8663711d62438629131389816603661e791369a5208381b144838ad6c9336862e223fbc70bb3ea55bab37efcb3e36e0eb0b3faa12bf3ecb465e38f9a5ce366ebde63e95c2aa3e0e4a65385d859836c7d1b63ea078913ee274ba378c86a1361198893e155c673e65197a38a8bdcc36c5e1343e5fa9313e8a2fc137125143373c71bc3dffa2e03d84f75738525a74379d52b038f2bc533db071f737ddbb72368e271838ded4d5399dab6538138bad36f257bc36006a673886c6683838700937de311637a80321373fc1e437d5eaf03650f10a37b4cb0338227f19399224bb36353ace36d4ea40374f1d65389ad419375725203788068e37ba2c0438ebe0d136d33ddb365fbccb37ea736838d15925378f732937f9924c3814558f395c6d2e3742312f376164bc37629ef037f37db536a826bd362bac22370a6c38380436bb367746fa3ec597023f9f39a13733fa163753fed53ed6c5033f4faae73718e40d372502af3eccfbe43eec6a1739c4c4d036f3d1883eadd3c23e6a6b5338d8a62037d273543ec5bc953ef618e7373d3ce4363c61013e6f2d673e11a226389cb83437d550883da543133e4465523880962f3717ec1138bc71893df4055d37266bbc364da49a37172b6a3abd426e38301f7a36f3aacc3741ad713819e763389ee6c23609a1d736ca2caf37c34b2c381df19436add4b936f0bc1a385e1c7438bf7d9f36135dc336cf5c2937390af0375e339a36d22ca736f0ab4238ffc78338540bc036337ecd3670379d379273bc37721e1437ac671537936d3638b0bb62381c8e3137d9d7d137a9d35638769b66387e499136a64ca4364e559437817826383d0fd73726aab03e167e273f461a1238867ad936e87d923eaf73293ff0ed2738d6f5be36b268683e8f36123f00806a38451dcb36a7622a3e7b7df73e9529bc37c671173779fd043ee320c03e5461693847f4033734eda13d252f8f3e6cd99a37a88715373cfe0d3d6053393e718a1438294ad937e6eb713880b6a33d6f6b20380de2a336d60aa0374c7329392e523038bb2368364e9cfa367667fa375cc8a837586e4536b0e15436d7fe25382b0d6c38a2df8a362916913680c5e237035e3238a6297b36d8bb8436b808163768b629386074b3364f861437fa4d2138f0d25438434dc736dd8ecc374c576d38ee688e38b142693797bdb33781b63f387a0c5738842683372034983722bd0038a7dceb37018599363987db36332e253882514d3897dc0737affa4f3e5bf84b3fe02e4636464d5736b0f3223e2eb44d3f635954386bee9136dfe2023eeef22a3f93481d389c8586363b25b33d3aa0123f7dac13385b136e379ccf883decd9e13e2a8f303839dbfe3700d8fc3c0900a93e6d875538b1c6cf379d7c3e3c6e95573e88e6093839e59a37b8f80c384f13ac3dc68bf33686a9c036d107383820b06d3a4b481f380e3290369b8a92360b262e387a64ad375d27ba36a8f3c936062274372f841a38b75cdb3673cbef3660840e38bef07038c1257936a0188436ae36b637c8dc32386b9d0c3756b64c3726163538c18b79380bbad336cdddd236888a4e3721632238db08b037266ee437fa4c4038a7404f38e3bf5a3802465938856e82382c037238ba1a1238be8311384c763138885c2a38a3254037b8796a3d2550713f77c876366ab5cc368b32a73cca3a6f3fd6941538cadb1337e0d6d23bf4234c3ffc2e703860268b364b93463867bc273f80ea31389570af37417c8038b14e013f87746b38a95ad536bfe62638eb60bc3e44a8fc3781260638a2bb07399f41653e5fc20b381e905d38f22b4c39ebf4b43dbe75073802720e38ebf82b38b35fb83a6f26ec370000000000000000000000000000000009e7e83544830436d5112e3609cb2338ab88ad363e02c2360ed3db36b374dd377cba4a373fed5137e4915a374b830d38a5159336c77a9d3608042c379ccb0e388083a7363f1dab36ff07b33691726a37b987c737de17f03770343b38e9a97c38b26d3a38e89c2f38c8c751382a7761380000000000000000000000000000000000000000000000000000803f000000003d9e08361caf3b376df7703f4e0c433a55c5c9367d002b37238c4a3fee62103c925a5537db1daf37e04f273f53f89739c6eca0363f0fad37c2d3023f7475a039e75fb1361d29ba36265cb83ea93245387de10f388ce95938fddb5d3e7f1082383af13438f4f764380acf8a3da8332f3800000000000000000000000000000000000000000000000000000000000000002532fd32662e1c340a72dc3306153734a421be334aefc8336a73b0338d360034e8748e3535936f35b3a16d38f1c7c738000000009a278234d7ca9a34f315bc34a1f4aa355f7b0d36acf1c535a2a9eb352c349e37157edc373f325a38312067380000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000ad8c1034a0677a3ff66c113450897034776d04340efd5e3fbdd183344766ab347c703238b2bd2f3ff69009397ddbbf38de971c34f13efe3e72ae223537b1f03421541836e3379c3e12148737d14eb13523d05738a0d2f13d6958c9381e26283800000000aecb823a6e01ed3400000000000000000000000000000000000000001a5b5b33f0b3df33aacdff35348a0a36a5d793354b67ac35ed13f235bd920b3699cf69337fce3933bcc42e33cdb6013853a3c935799bc8357a9ec93718c99b38cc2b5336b4596d3632547b36ebb68536fe61483534ff943574ba063879e957389d59af376c829e37839c7d38a9568c38f201a435382a94358b846b37aa1daf375328c4352bf0e1358e2b5036aaab1f378d8b4534503b7b3f3275a33c729dcd354bd3c835c89c683f0ae82d3d0ce10336b8745333fa7c4f3fbf13963c9829cc37c23bc4351679213f0e8d233c5a4d99382c0c783632e3e73eb4fefe372493833667247535ba998a3ecbc0523a08a52f38c52cff3753fad43db384123a29b46e389d93913582e2b8386895af388d8c56374735a5353479db362d05fd374b427e37c3c8d73613b0e936926a0e3741b71437da2023358f836a357148aa35121df43660c98e353c84993503ea9e35104b1c386fc81036e3e1033673f60036686a2336e0759835dd42a535b0d4cc3526dfdd353688d1354cb4cd35f0bdde3768236038d36cc73587ab513559065136dd994e37d46eac359ef18d356ad81537eadca63772fb0a36225efb35fca32e36ccb637378a63e836aa975f3fddfb013e9b441037b0c41935b8ad4e3f66af283e9e1d0536d28a8135b771303f98591f3ef42f7c373e17ec356e73013f6c871a3e5657183617ffae35b201b33ef7ad023e7ee9d935c585c235ec213c3edc29ea3d45460f38d6596135f2ebea3cd1e2a33d1a26893690b7a135beaf15383c11643a947c5637ccf5e9352f4dc536e9611d38e041a0376fe1fa35d1a0073627ce61364a8813368d322834a8b73334d6a47934f752dd34b85dba331386d63374aa3e34cccd6e3644942f36dacf303648043236421723387558c8349599463554293c3512ec85359be427360f451e362b160136da4f1a37b9a72d364a562136b4f44c3708c82a38ffc68f35084495354d969f357242ad36f7bd1c37b573123728282037a62d5537119bfa35bac52f3f54e7a03ee6d5fe353a15d2334471203ffad1b53e638a143475a0cc326df6013fefe3af3eee2051340e7027368223bc3e6f26a03e580f9f37d7d0e034483b6c3eaa01883ec4284e35e1e5213637c8d33d4f4b4b3ea8d992360130263655e7a53a7b96ee3d3f378b3713725935ba6d86377fa7ee3ac8eec2357bdc123770e13437611200388efe6437c00488354e708036617a6938546a18380bdd943587fb8e355797a335c2e5ad35e4c095345e4f9734dc164e34ce273637944f8a3793283a37a44b0538b4478938a7a92d36906939367a7d39362dbb4a364717483800814638943385381e29a83818afa4368d8967363e3fc437d7a11338c8ab873565f28535365bc535d72d643630739a35e180a835298dd9374d9b0e38dbd9c6350f5efd3eb49a013fd4445035a13f9935c058e43e9d2f0b3f986e2d359bb85334b637b23e73a3063f36960d346de18337b7106f3efe19ef3ea4ee5438bf6b3b361304173e3edab43ee9053e36f06f5038b1c7223d140d863e687980389d6f9d34b8df263a1294013eff387d37df86513549485e372cfb403ce1d5cf35594a763511a1263808a1b5380e50fd372a301c37bef1333756858d37317d2c37d18e06351bf15d3552847635688e8d356f0723366c3b27365eb626364c291936be301d36b6a01136e85ff635d5652136df3edf346e5c2635aba8133507113b3555d28b3711b3ca36c41a3c3706b8313873f0ad34d55f9834012bb53594cb623743a2b434fb3527342dc916344e8f70362fe91136edc80236ddf7093672ff09369d4e2137057a9e3e0314313fdf820937d0c04035ee6c853ee53d3d3f09b61c3575ba2336cf1f393e6b02343f0a5010360def0b3679c9cb3d189a193f0aff1f363af6233564791c3df9b0ef3e67c42b35e4399537d5950c3c782aa03e6cc51437ff83b934f0bbfe397bd9183ef9900e340edbac34f4c38b375f309f3c8be28d33233000361ea005364d56bb37d9191436d8d1b836890f373756ed8b37889a9c36b2696d35fc367a35ffca9235adb09c3508a7db354a76eb35b37c37355cae4b35fd498836ce22d635d825c8357a2b6b372c1dd435c613e1358436c2352c66f235f76b14362a7109368a54f73554291636ad528e35220b9635b7bae036eb5e1538f1600d36e2f619361a44b03623478a37b4521237d1be0d378bfb10375b151f370edc0f3737bfea3da0cb623fc3d0e1352ec56435a547c53d3976673fcc1b4d3563a5b535d139bf3c2a4d5e3fa9c49f3434a73b374b432a3971e5333f2683c6358740c935c7e01d3a1f23063f599fda356faff435708ae9379fd6b03e426d08367f20973581e49c38b4761f3e293eaf35559d0636f3700c3800d7ee3caa86153649a60d373f901b37efa584373eb71337a3509c36e4e4be36ec2b0f3767866136cf77983562aa95355d207f357d239f3520da333751b85d35a5304835baca163789d42a355c7582351b155d35f309373654585f36df4a6236d0d95836a4da77361984fe3707659637ccf2ad37709361387c21aa337cb88433874a903354c0ca371c8bdf35da88c13573aadb359377d53631c6b5355b7c8d35683aad352be1e435674200371b39083ae110803f76a3fd34f99eac35625398382311803f65cf8435ab0993379a7fba387278653fc951ea3737e38c35e3fa913815f93a3f74b204387dbe6b36a3fd82364a550c3fc4096c3612462d38111fcb382c9db83e20a883383774a433d7186b38c4eb303e3c84883765c4c03522872237c984493d5754043680e1853527fac235f6c6cc377a71b83500000000000000000000000000000000000000009c6d5a300000000000000000d7c9ea35e293e135a297d235b09913382b431a36d4a0a935d7a3a83535e1b935418b3133c7a89134ebf87c33dc6d8634ae5570386d2a523887b178388fc5d738de962c3468a1363418020c3436e40d349fa18e34fdd72a34aa2d703429282b340000000000000000000000000000000000000000000000000000803f00000000f985772fbd27652f241c803f0000000057cb033615af10385df3613fba6687389b3ced352141d535a66c323ffbbb36375f26a634b1acdf341d7e013f27e4d93452396a38938cc838cf24a13ef3f6de38a7fb6134c3b164342d2d053ead7dad34df26be3484b64a3448e5c03c9cbcd03300000000000000000000000000000000000000000000000000000000000000008610d43566cae43541ed823687d0df365cab353639043d36b2495f36846d6e36ed0b7c36e16f8d36beceb8365d38c43669de1e36efea45368683ff3687114737b03682366e84823604dd193798271e377d419a36800c9b3656675837e69eab3607416236d5b56836f96e89375b99ec3600000000000000000000000000000000000000000000803f0000000000000000af44f335dd7b713fbb361f3cac0ca236db8e4236a15c503f8ddfbe3cce675d3669f6a636e1eb263f72d0343cbe19bf36f97359366dbff93e2a0b0e38caec7c3652ff8336d38ca43e83bf0d38ab5f9436b0c5ac36799f213e9c6336384cb59c361bfb6e360df5a73c098e2e38550848360000000000000000000000000000000021be043610bf2a365f3a54378113a33700000000000000005d103d367e679936fa8376339a49c333e667d734cefd8b3400000000000000003b05273579cf5935000000000000000075bc23350408813600000000000000004fb03d37f883d6372b3bf235fc94d63580affa35e482fb350000000000000000000000003b39a333b84fb135eab4ae3554e6c935523409360777323653e2723fcdad503d758ac836000000001343533f256ac03dcb5882368ea8683494f8323f8be1b43dd1181d34adc226349cdd093f22838d3d3e02383500000000c56bc63e21f6503d13287134000000009a2b743e46e5db3c00000000a44ae23505e3b33dd28fe23c29adea351a27e23241f21e34d2f8323afe100d3469bf9735098eb235e8e1e037ad19aa376feeb1347bcb223586a90136303f3b3759d1193629991736696e383661032b364ffc0e3669534b368e349d367561e9360000000038577634f0994035455c203604049036c8d28f368be89736ba140b37ba19ca35cdd1163688c00b37fc8d5a3775c2bb348abffb34a5d311356688ee34def2b535dfdadb352d0afc35b08c023600000000000000000000000000000000ae2a163577ea533f1fa1303ecb79703530aa1d36099b313fb9be663e8a9d1e3606946136b3d20f3f0a136f3eec5c9c36bb5c9c34c21ec93ef996673ef19f5835567b943641b9833ece11483ec39d953604ec2436eac7ce3d88c9323ee307423684a7d63424779a368511f13dc5a12d355776e035d6f8f93556154e3b9078fe360000000000000000fc5314373676a9360000000000000000e3674a3761a90937429a1f36412d163609f788369fe5f736fca6f635540aea3572f2173655a41b3614c685351a3afa35a8b01e3628e43436a125e03692a8ce363114dd36e2863337eb2c84358e903335613aab357d15a43670049736712e8e36184c9b36114cb3363ef41236c694df3599bdf0353a7e0336d839413400000000008147341d9a0c35000000005ed3273fd39bb03eddec7b34a5560d36a7fd083fa16dd23e34dc2236369eea35d384ca3ea978d23e243e0b36d0b5f935dc21823ea667c53ec1181536de7fc2365e04ea3d804fb43e45facf36184102359998f4379a7d9d3e78759d36ba118f362984c736eef0243eb98ec4378cffbe35b69ed13505ef453b5d631c360000000000000000a28f8e3672d9a5347ef0a736dcccb136e4930238dfe59637f1aeca35b12c083671bc1636f83a11365998ca34a3cd9c35feb6b4355b81a33521710b361f582b36d60e253688862436cd029035044ab2354106b63619d88537359d0136479e24365a9b1f36ed161e36e8f3ac35708b8335c8aa9e354fca9e35eafc1036f3b81136a8990f36aa431a3636d09d362bfc9c36c723a8368fc73f37e49fad36d790f83eb7b9033fcfefaa366ff30036073cc43e7d64163f653d1d36f85098356f56813ec765143fc90d97353c2d2636c8d8e13ddabd0c3ffb2716361899c5357390263db221eb3ead155837144e15369b7608385db9ae3ec435ec3660ad693555979d3598ef2c3e3c37b436b258093628f915364410f63c6ffb2f36136e9d36a06da436a4fd253a5b47bb370000000087808b34ee69c0353624fe3403941d367ebb1736092b2836e8521636d9e68536a79ea43694baae36d993a036fc7a3f350a9ca0350104c1354b5fa335c5eadc364457d2360271d436b9b4d9362850db35d52bf635af372b368e1b32369352e13535e103367ed814364a6535367e2c2736926d2a3642034936de57e6360000000000000000d62a0e3587909836dcc54e34af8ba33e17742e3fcba1a43421111c3638e96f3e3a60433f01dc0236a825a3362a8ead3de838413f39928c3630e6ae353312cd37845c313f590410368d3ed436eccf653740c8083fa9b93637d2d9dd352faa4236e1feb83e0f8c693674a30336e7b018360804473eed2ab33625fb2936c8174a3691535d3d4337233700000000202aa9339027d238390ed636000000003982d034f01ec5369df46934e02d0536ca040a363fe509362717033610149934dde5ae3474811b359d0b1135e139c535c76e06364d38be35583428362238a0362b96903647178c362bac8f362f77e034e82f4c33b2d6b234d9f91e3501f58a36d9398236d9368b368979b1364a32313670e80f36e29e13365b681a3654977b35646a3b3520883b35926fd1367c218834c3551d3e28c3583f000000008c19ec3558678c3dd4b46d3f82eecf357c84ef345a2e0436fb04623f731bdc34e5c4e635264dc2368c9b393fe3771d379ed38336afa29036cc460c3feb673437000000003b190c35854cc33e77f58936ccde8036b6589836a108523ed4c7f33683f6f835a2e402369241a63dc88031361788f23461043035c3ad1339a7decb3508a217361a0b2e366a759d37de2226362262dc3363fb93320000000000000000e8cc9d35b8d4aa35f4ef9e35a3e4c13500000000000000000000000036449d33000000000000000000000000000000007d3396340dfcb6349c0fcb34120c0a352e8dc234deae2434db043f3416075d346e42ff3549f2f535dc5d2c36fcfd833650329c360bbd9e36828eb13601257837d66b283604226e3cf7677c3f1424db3500000000bb13c033e1e77f3f3f28f93366f394350669e03555cc623f21d0f3350000000000000000ad553c3f2f803a38000000000000000052e30f3f3d22543700000000c4142135f08dc93e72a385358b02fc33094c8e33011d5b3e360c3f374aeee435797a5c36929ea63d314a87363baf9636901cb6361d7e0e3a3c537f3700000000000000000000000000000000c18ae1353888f235ae831136694b553602d5803619e483369e588736040e993696487f3623d085362d279736fba498363b514036e8ab3d36263f5436c73ac836100ebb3675c2b836e296be364866bc3618624b366ec1523683376036edef5836f6dc5236b6235536632b9836149ab0360000000000000000000000000000000000000000000000000000803f000000007b7e0f3604c146362ad57a3fec4a0938fdaa7a366e469136bfad573fef654438342e86365b7c98360fe72d3f8b7df9378faf53362dec7336f938033f0faae53791c2b136004bb9369cf5ac3e2a3a0239ae23503632c65f36dbf7263ef7d57636c1005e366b619d36b8ca403dcc8155370000000000000000000000000000000000000000000000000000000000000000362d83350606d03625621838b3789a38cfe75b354cb241360f75b236cb3fd1366fc37b36220caa36fe099b380944bc38082d0136996f1d3615b5503893668338e80c8d36f84cfc363a0fe3382c10e2382d46e436bd650438122fad383b2275389f5831356a366b354be1e3378123563700000000000000000000000000000000000000000000803f0000000000000000f0cffd36ae02653f12b1423d82bc383870b367361cc3433f00ca383d5672b636c9bfbf3670da1f3f138fea3c8f9ed737fb822c367476f33efcd2c63c6638433623262038ecd3a63ea59e5a3cbce9f13785f44938035e413eaa9c6239c9fafd3699684536dc3e4b3d988eaf387537c734000000000000000000000000000000000ccc0b35f7ca28368f5f80373b2b6b3846ecf035f8105636da8205376e4f01395c393135edd3fe35c276d0365e02de37bac6ec35c1f32b3660b6573863db8e3830121c36afdf99369e1d9d380b91c038309b0f36458c80363918dd37acd53438ed06973544515336f9ba0f3814c40d38e6920b3649911b3626bf603749971138249e5e35181ac835f6ea1136f54c883750e15736dc7d683f69f9743dadaeb9377bb85f36885e4d3fc0b8cb3da7934738a2183d36c47b263f1599da3d26dee836206e5136d24c013fe450e03d2c7356373da7bc368406c03e4c61ac3dc409b3374c71903698857c3eb4a15e3dfb29973694cf8336c49ee63d2a5b9b3cc8a927366e8119366feb3638141a1b3c50493c3723b6d135a4481c367e5c5738fe33483a5926e834bb719f359d23c437af551b383cb50636f3f06b36d311b537a2453138e64a2a3621ca8a36420fc43743c361381be31b34e145ae350744d0377cc43d387e3c8c360160b03675dc1f3808238338b7a59c36b3b9b9363bfc3d38e3e271388a906a35cf8d9835d01a693709aa0b38025e3f36628e9936404ae63672a7e337c823b73595f935367c119e36cd0e95374b30ca3564f7453ff94c4b3e3f2cbd36e5ea7b36f1fb263f8115843e973d5837988b9336f5b6043fee91823e5988bf3708a8ee356efabe3e3a2b723ec1ab50368cb0c436ba00833eb9a15a3efbdb9f37a612c136fb30e03d9d453f3e5fd75c37b11a9b353d510b3c92251b3e37fbad372a7aa03647fefd361e60da3a89d5f638956042366e6eab365d3c83387d77b5388ce24c361cb9b33620055a38fbe370383aad7136b9d4b93694fa9f3752f538380fe2b9355aac8a369c0b0a374f7cec37ec12ec35884d8d3679cf5a38bcdba538563fc7366a9c00373b582c373ca41e38888b94367f65c336f900d337d63ba3389a7b7d3686fe95364a18b7363053b537d2f79135064d28364926c93615e74e38b8a17931ceda7f31a83c833158808537961cbf36a75c223f0ff7ba3e2556fb365fefc93654a8013fb227d83e9b420f37e47ea3363711c13ed764d13e82fd0b37bf2fa4367f887d3e32a8c53e664abe3787af0837dce20b3edd07b23e10b765374d57cc364036223dace7923e5f9d8538a4919c360470c836ec2b353e0aac203875043536c4d14a378344a63cf539b1380c107f31a04ceb34197f9138c4a4aa38022351361566bc369da48f385a5d7a380d42ac362122cd36c0b0bb38c626d2389a880c3617cfb0369a414437d4c2c837f00d78369037bb368d0f47373c04b038f94b4c36a0e06a36df6a4338f527fc38034c9b364f27c236881eee36f0f7993831ce42362ff2a136fe66053770cead376d8bc2365378d53636771437e852ac38e06b5036697274363500ae36a87744386a71cc36b5f6f73e9508043fa986c436f6dcea368113bd3eab82153f26a488375d01d2368af47d3e3e050e3f15711937722ac4363e50053eb2a5063f3ff6f437c5917936d995c73d5321ce3e9d73d938fd3ecc3615554538841bb03e22d4c238c389b1363fe019370b474a3e6e30263836dbd4363d66b037aa9e3f3d16440e395f837736bccbc1366791d438a02bbe3868b79034f99ce13591758b3831a53138ab442e363da8d4366efc6e38d9016d38069692362ab8ab364789283762c6c83786d8873645ddbd3687956e37f1ba8d385e49d1369f2cfc36d22e2237b45df5376b264336fcc08c368dbcc636953c8838903f31364e839436488ff236d9771b3780b0ca3603c6ec36ed0c0c3732f1e337bb05cb364468db36a309f936a4683c38ced50436683eaf3ebd6d283ff59c24353a89ea36ae9a703e3fb63e3f32120837e194ad369534cc3d4e4a393fd3efbd36e867ca365399063dfff9233f27b86f38a70c01378160d4372615043f10b5123819799836044def379cb2bb3e53b8c9388cf8a636acbb0a3794675b3ef5f02f3857b0ec363688113751d7923d94fc6838ee21dc363eb6fb3611be273ad1978338be18ba36e6c2e837f066ab38ff5b303891abb236a635f136eeddcd378f836238fe6b9534106c303590b2dd358acec937bfc423365ff37236bed2a5362d701c38d2b96e36fe0990364c2ad5363ee92f389bceef31f7476c35e3da203602c8f937d810b8364480c1362132e93683354738572293362299a2364990cd3618491838dbc8cf35479c1936f89057366056f137dbfa0638a4e64f3eff024c3f56a5ac363c5ffb3657c2c73de2a9663f7081f03639cc3d355b4ce137eb11573faf79b93729d28636d2947f37943e343fb2909838bc5a9736fc3b95374ed9073f7c6996386efe9b35cb674936fd25c83eaa44993877fecc36bc769237935e683e641b99388de7a6365e8f16379a59b83d18002c38b155183662f45d365aeae63c08490f3838b5a2369f921e3899f5b139defd2738109e2535c177ae35da3ef335ba15b13728041135fb40e73479c4ca3477334d37d2d69e33c6a84c3594be493648437337a40b0e360a143236a95ab6360add89384d623636eb634c36fb4581369ba047381b726c36e5698036ee31b9366ee59737e630c136d12ae736bf1917377c41c238e69fa7369c45d23604520237a1ba23389e1a42380ae94e3df9ca723f59b61e36873cb43531723f37ed937d3f9615d4372b4dda34700e073607635e3f816bbd3809de9d357f318836fdfb323fa55a95380f5345363ed4dc3684710a3fc1e478390f194e3635b793360461c53e6b11b13862508136652ed83661fb783e6a8e0338a870f336069bab37f5bcc93d16d0cf3890acdc3691125f378876033dd0341f380000000000000000000000000000000044e1ee345286d1344ebfc4340eebc3341a4fa635f17b263646d5bf36b50ced37207d9c34a186523656a8e0364c0fa2380a05ec3558cb0a36d8eb1f3635fb3738feb299361faea5364161c93655b7913873096f36792c8636625b9d362770c636a6e5e4366a4f09370b608937627f92380000000000000000000000000000000000000000000000000000803f00000000e4d1c8343a6dc034e28c6d3f0734b93c81ed5336c294e7364b3a483f7071ee3cbc728536925c2a372957223f026ddb3c5de510361ce627365e5cf73e05c58d3c9f5fb036541e1437579db13e145d053900e08c361319a8367cf7423ed9d3d53810121037d78815383ad36c3dbcefc13800000000000000000000000000000000000000000000000000000000000000000000000000000000b2ddb9328acc5b32df56ae356eaf9e35b6d60936af452536c9005634ade79e330927d83401467635a48eaa34344eea33026c8934e0c10d345b1f0534c9a90e34bb540e3497a902349c66f53616201237e07719342e190434e1168c336fc426337dc85433258a493300000000000000000000000000000000000000000000803f00000000000000000000000017b37b3fdb8c1f33000000003ea8b1356cee5d3f37c1f837f40c0d36d486cb33edd9353f9e869b354d8e7d350b709633fc61063ffe3f0936b8675b33168512372bebb33e10012e372a0fc133b89bbd37bda1373e60121e37b053f333cb4518368d43273dd6c57033ea38963200000000000000000000000000000000281a34359c205f3551de9f3506f18b35e4ec073681ae1d369e69633614776a3631760d35f77e3a358612a93559f2d03572ebe134cd06b934010f0b35f6891635a00bd4356254ce3521780236913802363f13323463b2403466221534d8b02a3440813637d88a83373dd4223575850335af3b693521e4843506ec67354de53d3506f00535c503023546a5e2346ef6eb34fcf34d35ef4d803f9411033c756675357cd51e36eab2683f20d02e3dd0ba4636eea41b352904503f8847f43bffbe8e35e068fe34003f223f299d633b21cec7340542d3354bf7f33ed684333afab4e83555fd4a349cd49c3e7eaf163abd7c0034937a9937cd33143e1d274c39ef09dd34dc2d2335de72b53beb42163a01656a3536c3e9344401fa349161143538a72a35d9326835974b0235144fdd359b79d735000000009a5ba13344ff7b348e5447343f0bf834be6c01359cf805352f0f18355f534734de0a78343772a234588e9f3400000000000000000000000000000000f6350335f7390c35e9f7e7342425f934268fa7343251a635abf7d034b9c6c834be5a9c344523ab342e20ba34581e9534d65d6033ed715c33d46c6f334014553363cd94340159623f37a2023edb84573500000000f4af503fce74293e000000002722e034a9ca2f3f3cd8163e3c180535797d0f34456b053fa90d183e7201883400000000a7eab33e7f29043e000000003ec3f334ebeb483e8e03f33dd99b03353d568634d0595f3d51ab903d9c95bd346533b934b6c1a637c9643d390118a23492a875336a03803308427733cf43693300000000000000003eab73351ded1b350000000000000000000000000000000077b93034bbca493403fa4a3446a14f3475767334c71947342fcf8434276c853465fa123300000000000000000000000089999f326eef583667b25c329e0c3332e5be8536e07f1e377ace97344aa59c34703385320000000000000000000000003ab47934f15e0e34e3452535a6ad7135f605b82f062b3b3f25c0903e981b1e3300000000a006283f3a47b43e000000005b8b383419b0053f3e34ac3efa943c34273e74340c18bf3ede1f9f3e6efa9934000000002f0e5d3e12ef8f3e000000006267093607f1a43d133e743e0000000019299c36d153b63c7df0f03d18eaae340000000010aea5376187fb39000000006f510134e5732a354389dc35a1f7ab35eed78d34dd7cd93462ca333519e5123538bda035727ade35509320367c8a1d369c8e5534823e8b3449ed0135e4dd4035988b55348ba12b34dd9a503404206634e3899f3535f6b135931fc7357971d4354a30f33357e83534fb4803345b8e2e346890ba37d7fdeb3784f31e35082de834e1bef0357902f8359562033624a60b36ca10f534b7d2f23477fae6342209e8342e8cb934a6f00b3f0601f03e9779d134e487cb359b95f63e5a89083ff051fa35f9246c34651cbb3ef66d033fd400ab3408636d3408f4593e339ef83e1dd7333438c5ac3538c8b93db9fbd73ed17bd0359ef3163444ff453df47a8c3ed91a3e34594e9d37350aaa3c47eaf43dc74107357109da35d5e6d73980ec9d3a658b133601b0ca3414b5f83481ae7139ef262835b801af34f1bffd34d732a03561fe9f35000000000000000000000000000000002285a0342acaa53443a7ac34beebb034000000009fd4073765148133d5cd503300000000000000000000000000000000abf959341ce17534cb8b1c348a690634cd535537d799ab3792d89934d3a59c34a2e94d310000000000000000000000000f5dd13200000000b05eb132de67173446fafe3380ebb63e9f51283f8608b1330000000034939d3e5ce4343f0000000035569b34a7503f3e069d303f28fe9e3481c9a436e4ee9b3de977203f1689db3200000000a9292f3d2645f53e000000001b1b6234c8e7fb3cc4119c3ee0c553342541ac374639753c74ca143e5a328d340000000035c1a4397dea9a3b00000000a41e4e32a0d52d327eab9534ad834b33b0974d3365aa66337ede983467578b338068bc34a1bbca3471a5ed341696eb3474c484344ba191348dfe8c34995e9334b1ebf13446d1e73423f0f0348bfa09350000000000000000000000000000000099d541349566503407c84334b6cc54346bf1cb34795bf934492ad8345eb9e83405c2ac34e614af35f6058a3388723034c2ac5e356b3fcd341bb68d35ceb49a35bae357339879393e4271553fb6c6603310e4b63468c7113e9c195f3f64b0c0344f9a8d34412e5a3d5c7b563f84868c3440c7fe348c58503cf006313f79c3383500000000195bc73bea8c083f00000000fa533c34099ed33b0960b03ecc234f34e29bde348595bd3cddeb213ed8611935752d013421f3203be7bcf03cf3b46934448369354d31ed363884fb35150ba6354f9aca341ceae9349a7c323553841e35f9d7f53411503d3512ea8235c1f985350b191c3426699334a9c45934136dc9342ef79034a2315b34857f5434954b6634e9cbca35ee8ed435a02ccd35601eea35e05ea334efdfe0346074bd344739e93441b94c35cb5f4f351f996b35b2c290350f9f3636529c3336a08e30365a6946361a8664358e337a356276703558318435cc1ef8345e79203d74c0783f053cf334e4fd3a352c3c633a9d3b803fe7014635722d3c34e080143839545e3f1dc585347d6a773444ac0f37dc15353f85967934f6dbb735ce8513396f150a3f66e20736a007af34a3f8af3727eec03e3b0e22356d7cd536d6dc9e3acefd423e116ea335283123368e75113ae832693d2735523625c24e357a01813544b39d3550fa9a350000000000000000000000000000000000000000267945321633813100000000d80904340b91c13321c5e733fdd50f3437631d34245801348f912a34f9353e340000000051b91733a980643200000000b548b834160e3235234beb346c383f35a6adff35d5810136e243f735a273ee35354405320000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000d50aa932a5c8783fd761fd3019e3e9332355e633fd29553f5d7100345cd491338dddca332e922a3fd7dd43340000000099317233700afb3e804a1d324b6b6335b1346135cd999a3e28e052351954fc35be1cf53792b1123e21ca053600000000000000002b00ed3c0000000000000000000000000000000000000000000000000000000000000000000000002ca9443431356f34b82eb13495ee1c356b560c34cf4a54345e604134eae075347bede8357463cd3562aef835da8a30365f6721362328073604be5c37d6826436e704d2340c85043550291137f1ad9435dffa9a35e97e84354cc47137ff01ce3563a1803424e70234bc077837da891f3500000000000000000000000000000000000000000000803f000000000000000052d987342f17773f90e9f839bf513b3516a8ba34fb38533f7922063db3af1c34ca51e23528262f3fb5604d3c929329369da5ee3532e2033f9e36483a4cb84536e52cd434668fb63e387c853a839f3d35a84f8f356225483e8e5cce37a4dec9352bc112349c08373d097d0a3919b32b35000000000000000000000000000000003882843471f56234d313b435d801e035a739473505f25635069f553588858b35c6c35f34e861c0341c280235bb2c06353ce69c3572d69535a14dba35ada2f335b461d9350217f0350b23a537a0d2443694a0af35d662ab35d4794d37080cd635c7baee35c2e2d23553e725377d460536b465b635b46fad35623393351acfcc3516db1b35f7b303355bd94335d2e067358d06c0341c57773f69501d3db289d9359efd6735358c563f92b5c63d559a7e350d15fb342159353ffddec53d6fd76934e9a49835cecf0c3ff5abc83dca630536d043f0355998cd3e5e17a63da24a20361db2b135b1d1833e1adb4d3dcc889e35414fcf357383ec3d5d66b43c65340d36d255b135d974b63589d05e3cea9dcf35c008a834f8443735783a823693088135f8099b31825d8f31cb2f4236d9f761342a6d6f333d2d65336dcb443369de8033583e7f35533389351572b435771cbf351c642033b9340d334f60ff321ff8083338283a3523a0383501d29836042f79357e6d043655bd02361b7dfa3600a61636ffaf0b35d858ce34b39e0e35ae2c01356495d73501c8b235185aa235358dc435898512351af1053574e71735eefa243527888031d17e5a3f135c1b3e3526bf33940d6133c923353f273d6b3e0fef62330ba66735dfbf0f3fbf28883ee64ead359f62ff32b5add33edbe3783ebe7fcc3214562235d2bb863e7896593ecb246f3564dde5358336ec3d3b243d3e3d931136d399c534986c7439a141f83d9cbaa135150b9635c507a8356836953a14f8e0351457be34e1020b35ae9e4135ccd14035025e063527792c35fb4b3b37b5299a35a55b58357b6974353d479435c587b635ef185635351a513529e047357d95653556bbe035ac39c8358d2fda356b650736e5287c35767b8b355d9a9635866bc2355b1426357d131f359aa78635edecdd35f524e035854bd035d5e9d33529c9f9355f43b032353bb832529e9c3228e0f932e3544c340e491034191bac33416d3a34b75d47350069313f4114a03e7dae50356e4e5e35b24f0e3fb975d63e88469a358bb65535f575d23ecc01e03ee4544235707abe35a6488b3edf13d43e33ce0036a6df7e354d55e53da9f7c13e8740cc356771eb346864703a1fb09e3e93fbd5351d38c735227ee135e8b60f3e2395f235b139cc32fc02d4320025e63aaa25f832b3201734406bd13467ed0036f84681343e53d234d281a334f72a8439b77eb6351ac48235353c7b35174667356df39035ba6eab3547dbaa356112ad35ca61ae35dd03ed35bba5c73579fbd735ef4fe83577981b36071611363259f435256b1636c4000a361010fa350f46f1351501f935de6fa2354085803545658235d8b69c3568189335b02188351abc5935aff48b35489c5135dc253535b4069935fd0bb8357865aa340f5a053fda61f83e5c9da235d7a87f35e1a0ce3ee3d8193f73d67f358a8cb2356616843e70b61c3ff2cb85358e3cca355176cb3d0f91143fa3f3fe35bd1c0836ef01463a8b95003fa60f0b360fdd0336f9adfe351fbba83e1dddde35c22d6c3588f68b35db640d3eb21bc935724e8835e34f7935d47e863b09c482354a192235a7ab8935a3845438ec889e351033643130f3d9339ee8ee360dbe62350dfd0533e377ea321933d435e46bdb328533e53508c9b635221ec8359491e035e6d5813504b689353554b4359495dc351a9aa83513239f356df09b3578dfae351e53f23504c0dd35320ce33552e4f635de963b35b5a34035f3c554358aa18635370fa035fbd985350b8871357baf8b355ffe10356fc50a3546ba3635caa675352ed26133c016b73eb05e263fbb40bd34fbf3d23240d77d3e08ce413fe90ca4328e7aa235c6c7b93ddbe4463f7cd5d135ec8589354f034737f3e7313f8fb8e935001a8f35fb3ad335fbde043f5987b135b5c8c13570cceb356d7fa53ed4be0436b0523535f7e36335057a233e2bcf8f35405b4b3527458135855e013d6205aa35295ba134354a3035627fd83969f689351aaaff34b1141b3504feda3911c64b354f2cdf35b05bd935a0b8cb351103e83525bb16357b57ed34ed9ac434cb8fd134d68c15367a2d0336f143fd3538371c3628986a35ce446035a24452359e989235eaa3d8327903e232f9c3be3263811a3325ceae35fc879c3551f39335d4e6c635724f7833880f70334c724333269c843304b85c310cba67319e2a4131f3a399314b4d1835922b403e4dc0513f957b1e35b04cc735cfbac43d4e9b683fb94fbc359451e434db6acc37a48b623fe585ad347273ff3594461336725f353f3db31d36a59f5635929c9435fb52083fc5e3a335fdadfb32f44a02332ebbb43e9ae019332b6496354cd6ac359682383eb719d435c60a70338a21643386188f3dac306e332a76803146b88231540ba539f9aa9a319ba3113545c0043551dd8137c50a8435ae34cd3538c5bd3561199c354967c9355eed0a362707fb358c2eef35ed1304360a7aca35dd319435b5a19035516fa83505a01f36f8f50236b95afd35a21b2736d623e7358236c535b1aac235b21dda35b6710335643a6434da8d7334f21dac34199c99359a1a8935635e493534fd7b35bafa93351a5f6b3533f2bc354f81de358997f834fea8063d5ad8783fc5c34035550cb735fcffb2352d747d3f2213a8359035ff35cbb90136b2705e3ff7ebec35ce4c8a3510d89c35fa3b333fc2e1bd39ff96dd35ae3506360e66063f0852663805e3d035087ac1350e58b83e5aa54f360ef13b3472f228345ea44e3ebe0e77369e478235e60c5c352bc8903d7e666635a1e17c35b24d9a35dad03439a8abb23500000000000000000000000000000000c6fe693450891e34638dd333e8e8ad34fe8998359db3913586afa735c03bce35644102359c39c634db4d3e3523ee403563fd3636c8f21136e8bf1d366d813a3632b62036c0290136b0ca0a36affe2736d6739f33f487af333b684e349fe4bc34b6873d35f241e73409e1ba3499d209350000000000000000000000000000000000000000000000000000803f0000000011141b34a170af3417b6753fce6f3d39260a8935ca3dad35f3564f3fa8d4d038e8458a3453a05c35e279263fe280d4383f580636f1ac3436a841fb3e9a72813ac504f3357cf6043633f69d3eb1eb223951e33f339038ef331cd7163ebbb2eb37ed119c34947c0f357adb1e3d75f31f3500000000000000000000000000000000000000000000000000000000000000000000000000000000afe3df341409ef38000000000a8ab4342514a637edb92338000000000000000000b88f387682ae38000000000000000077807c3873fff23814dc7435993d56367104ef376a65263800000000000000009f16b23ce4ec6c380000000000000000401d9d38cf13463800000000000000000000000000000000000000000000803f00000000000000000000000050c8633f0824673d0000000021c91f354cb4433f768dc23d56873d36000000003d961b3f5df5883d0000000000000000eb28e23eb72d323dd3f5a23077595536f14a953e7654cc3be1c32836000000001adbfe3dd12d333b0000000000000000dde2203d67dd8b3b000000000000000000000000000000000000000099fa9f334669d2339f036438ae8461380000000000000000ae2b8137eb0eec37000000000000000021bbd036cf73e1370000000000000000c884d4388657193900000000000000000b5102387a5b3b3800000000000000006d8d6d38b4a45a380000000000000000cce05838f880503866989334480abc340651dd34ba46d3368570a933ad1b9b339c3a943315c39a336227ec335f82683f36ed943da22adf330000000024d9443f9f87033e00000000000000003f291f3ff3ae4a3e9181033600000000b7c8ef3e707e4b3e000000000000000008eda23ef1d0303e00000000000000008f6f323ea0cee73d0000000000000000d9e29f3d575d133d00000000b322b1349cb81a35cd84bd3ce8b4ba34b31e8e33929e8d3320d8f03858f1753bcf5c9231236a4b357c99a336f4be663700000000000000001b761b386f4da138831f07330599c8339e3bcb361d09233800000000f806fe31be93b43798c00c38ad560b343cd52334ce1dba371f4fc737f4579931ac7bb4334aca483868ae413800000000000000004b863132c11175359c251934af202234accf1834a67f76355991f133be2ad03303cedb338a4eef3307fb89358ea4483f3c7a2a3e725c5535000000004f70203ffa53933ef8151d321d90f233d171f93ed8b6b13e1366d233f70551324ca2ab3edd40ae3ea395e6329f1f2a34c173493ec7c8933e99dd8b3479afd5331c51a53dcd016b3e2015e1330000000028d486318f2ced3d0000000004261c3407fe1e34814fe4390737763beea5b43347ccc0332b331b37360b4c3d4c3da332a89994328a7c1439e4ab3a39471d4033f3fe0e36661a4238e3f0bd380000000000000000ce6df737e9b237380000000000000000d195de350ee02637bc80af356e551e36831cf6364870223700000000000000000000000035e54138816a9033a8ba8433433c8f33c1b5d6330000000067de3f309a8ff6328d7fa4379c39f431034fe231bce96e32e6477b3523ee9a329854223f338cb63e00000000824815361d46f83e46dff43edc6b9935000000008880ad3ecc01053f00000000000000004667513e2ce7f43e0000000091381636ddbe933d9df4db3e01cdb53400000000cebfd73732bc9e3e912fc23293b876337c9aae33e8d4f13df25e383a0000000067beff34ba6d0e3a663c123d38cdd3313c38e933324e1038595a0b3dd0728133e290a5332c9df2392418fb38f12c3133d11bc8333c1310381cd1283800000000000000007d0baa379f9ec43700000000000000002afbcb382adfb33803a16434cf03cc34dec9d734247b6f370000000000000000000000006dda59380000000000000000000000003e0f1137faf9ea34cafcb734909b8f3417ab83373134f133ac1ce033055fcd33008a9638060db4331fa0f23e6773043f1d86c03313f01c348c67af3e9b6e283fdc936f34000000001f644e3ef4772a3f0f01383400000000860c833de33b213f0000000010b2da3489f3a1361351003fb46b81360000000000000000686a9e3ec80f273a00000000915375349154e93da86dbe3c2899983430a68b34f1e6e439392c533b42becf332a23c4335dda21396bca4d3ccb8344358753b0356cb02938181fc73700000000dfaae9350d1975389d1422380000000026a18133ad129f37c5d89f360000000000000000084cf2327548cd37993d42340811373456df1534c017243600000000000000000000000000000000000000000000000000000000d096bf3700000000000000008d24e234f663993700000000000000000000000000000000b9e9ce35b2189f3e38de283ff606ad34e8c40936e574423ee140473fd202a5349adc993385c6583d83ef543f5419a63300000000dcb7a532546c313fbdb4ca36a1c42634ded91535ef62003fa1c523390000000000000000a208983e963fd53c000000000000000037d4103e49ca953b00000000fe438f354822173d357a9a3b0000000000000000973c243cdb81883b486c053415fd0434697d263d24827c36307e9b344e502435ac91e5354dfcb735000000000000000000000000000000004bc8c333f3beb333fbbcc133243011340ef58e34068a6734cd534a34d67c303724628032bc57833285cab432aefb5d37cbbdc033a6d1a933e91fb13311af003411eb2532e22fd631045cd2317bad5837737cf334783dbe335bfef534e4cba33546681034aee4043e84ea483fa204d033dc90fe34becb6c3d0f0c713fb5b9133400000000000000008908633f5974ea31db01a733e028ea3307f42f3f0a41de3b70aa4b341f26583451cdf73e6533123d4baa7a3272020f33acb8a03eb1ac7b3c3cfa91332be1c7336ae3293e3f25a23b000000004a120f322fa3b03d8a738d3bc4b011349c97f734f836553de46dc63aa31d7e3306828c335aa899395a1c9837c3831d346ea34f34a85792347acfb53400000000000000000000000000000000000000000000000000000000000000001bdc8133f44d503200000000e9b984370000000000000000000000000dbf8538cdcc57356f55043523199c35ad968936913fd933fbac313200000000e62a8537d52f24343c92ef339846eb33a678a23796289833192a323d9eb6743fa7e08c3384f57334dfe5eb342aa67a3f8a1cc23400000000000000005cb15e3fecbaa43c0000000000000000004b273f1f6a833dfbd95132268a1733889cf23efef9213d0000000000000000d028a33eecbda13ce0d14e35efc8de350276383e10c7ae3b00000000000000008610d53d267c133bc847c1333421c5333f90ad3c0935963a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083c10f3400000000d8f7ae3550328e37000000000000000000000000b2b1d437000000000000000000000000c8172f38158fd935a710b53534491e360a3fc737000000000000000000000000b628b0340000000000000000000000000000000000000000000000000000803f0000000000000000000000007f616e3fed94eb3c0000000000000000cb30473f8328a13d469aa634e68a06360bc4223fc7c9923d0000000000000000cf8aed3ea131613d0000000000000000c1ed9d3e7ca9b43c618cee35366b303657f4103e665f1a3b00000000000000007d61543dff3bc53b0000000000000000000000000000000000000000000000000000000000000000f89e3f363d3d38364167ec3639048337fbb33536ab703136259e1d37b2c64837beb35b372f57ec361130ce375803e937e077b936608295351b1806380a3b4a38297e2c374cc1d336db9bb737d79dd537e8068f36e3a8833640bb1537078950371501df363769d036a6adf036e764d93600000000000000000000000000000000000000000000803f000000000000000021af3936feee7f3ff3300d38b2002b37c4c134368bd4543fea3ffe37eda52b37ee4b5c37873c2a3f8660ca391140cc3746c1b5364ca2fc3eeb1ba138212bf737967b613700dda43ea6fb4e394c58aa37afb18336cbc41c3e52dce7371edb8836b986b236544a853832a190377052cb360000000000000000000000000000000064d642364d694f36a2f09c37bd79c337363ec53549acb1352aa6cc36a44f503795792837b2901d3799113a378126bf376c13cb361e9bc7364afd7337ca46d8373a906b36b1cb2b367733aa3642cd1b3796ea38373f6104378de28437793cc937e30c19371fd71137c43b46378fd76737802f343670e41e366d633a363c1a023795718536dfcf07364067c036b0335237d9811136f87a7e3f5068be3bc9c75b377037a935d3b3753fffb4ea3cacf4d83661f420375b284c3f7497fb3cb40e6637e00cc836a854233ff317c73c2f288e375de43b367c07f33ea44ca03c129bb636af960b37ca44a03e1e49263a68ce8d374f0510379ecd1a3efef71238f334393781cc1936f092b23765a7b237055e42368918b33515ddba36c40b9c37ca015737d4949736254cdc36bd072f38aad2343848958636dd327936146ab637819efd372e363037a47f2837fd92a237a89a0b3859ab8e36f8a37636e1496237a4f5a237671d1e379d0e0037f1afdc3722a85738457385363c32ea3555249637f66c47387d6162371d474d37445291370fcee23786855e366a9e4036d48ed43668ab5c378224e236b476bb365ebc2a37bf7f9137b5711b36c7c1533fc7b7303e07067e37897e4c36aea14d3f29bc403eda0f42377e642637a703293fcc10343eb410923711cc73369db30b3f49c3133ebaff6b372019f536f9ffcb3eea8ed53d30ccf337d4a8d235285b833ef9cc743dbff89937ea8949372d19043eb5999e3c09e48937a0fd23366e2eb83776fdfb370ddb9f36eb905c36acd728379921f13734c76a37f0bdf632ad76cc32afa34d3632db7c33e40b8d342e459134381d83374574d7386cafd736beadc736f4716237665ed23724da5a3657905836479b723615302138d7596836937815355af3023782796237eced2b379f55d736eefea1371b540f381e7cf1366ecde3369107f93604ac46373bcaa6360db795368e6c3c3796c3893758ef8437efc2683722779a377d19db3723609b3219df283ff42eae3ef1c95e33501d8f348744243f7990b33eac303a36bc45bc36d5280c3f4b87a13e2688f43633a253365386dc3efde4813e01c36c36e3791135c370a03edf09403e80f2dc36603f96367d9c463e1c0df73d1bc979372871da36f5b1a73d268d6b3d8872f036434f883643d3b737ae750c386c40ff36e649eb36ef57873789073138ca09a237bc2c05378c321037736d2038c308fe3774add335bf74c735efe4023660abf93636931d373d681637d066383789920738cde3cf36ba548b36c2e126379ceda238ad3a6737a094f036fc18c23754ce2c387e4434375c6cb3369d884c37084db03735147137c1ca223794bf913781790e3863681136fb4dff353e938f36884d5a37f7bca23707104b372b2dbe3756a3003838405e36b1adfb3e6c18023f4899b6367830c635646ff63ec0bb043fc9c0d535d99913377312cf3ec8f4e43e0d1e1f37260e8936e48ea13ef42bbc3e44d7e03645faef3617c66c3eea86893e5de78d37cc2f8f36d6fd073e936e3c3ebde21f3711582037d37d4a3d3f7fca3d1ff02f37c361ef350e239a37c3f3ab38321305362940103736cebc3750758438a297a737db8a503754a33c374f2c14389970db373aae8f365b267f3695b304372b9d8037f44be8364d97d5364258e73680275637aafc273707c6ac36ea373d378279f13771c4e9365ee12d36e8cfcf368b5460372d5a85365cf96a36681fdb36fbef1d38cf148f37b51f2d37daf39a37f8bad9370f934d37ba7d0c378dbd8e37b58ecd370ca25f334352393302b853333cf9453390628f3624f3a53e4af92c3fec63dd35c9d06a36ab44a13ed2542f3f696973362ba1d3364092883e4d02183f564bdc36d480a636f2024f3e5c57f73e89e4fb36539522366b860f3efdc1b73e2d7d8736a4fb6b363d248e3d53fa7b3e364766364115f836314e873b7cec073ef3992f3726adc436af140c382c3bf03b0a700f3745765c3395703b335a8f723796a86133e4ade13603fac0360cedb037349c8937cfe9453603a3193633173f3688bb2337a5a566375ebc4a37f2d24d3769bcbd37382e553782470b36c562d33677811838943acb37ce992a37ee756837654e3f382c7e8b37f59e453774df5537fdfa9a376e15d837f5e08137a4baab373f68fa37a66ccd37c7739037cfafd0373f6900389fb3e7374588b337d6d4c637c34018388a85a636750a203e4df1573fffbc8235240b1836e5cf1b3eaa05593f5a970336c5544c375157103e94e4353fc92e4c37e5c56c366e5fb93dddcd173f0171a43610ac43372f42783d3d7edf3ef1f3803747d64637566bca3be07c9b3ed5f03e372c037837efc04538619c273e12f0843736394f37e837023841c7083cfdc48837bc909837a75dab375a5471380145a637440f063774b47b36165f493766115637b3b4363667a4183667521036c6824936750622370eb90f3750ec0b37ece86b370412883770383d37d80c18370098a5370f05bc3681ed7e36e0dc6636b1b8dd365a71a23749fc0237a5a7d63634d3c137250c9c37b97d39378ae439374eeaa03725ca04371039dc36ff2ce8367dc91d3775209a37a9c77a37b86b8937796189377bcba436ece1213894f77f3fd34aac352a0b2136ea4de73763f37f3fe0100d361f2e1437cd8bc9371645593fbf061337d2fa5e376f5e03385aaf2f3fe2ba513739149d36dacf7937006f013fccf195366915323757b5f63787d4ac3e8163683784ec3a376e8cb737dac72f3e278339377e8cd636db6a1437fc2b3c3c66b9b9366e4d4637b80d6c37e257ca3709d31237000000000000000000000000000000001c41c336dac87b368117713624917e3735038436ef068136815a7c362bdf9237850aa037f93cb33665478f3683bfec37fc460538a3ffd736d596923677ef4e3878c1d93728129d376ccf8c370809f03783af4a3720f00737bdf40637ca375837227776372083da36e2c32d37954da3370000000000000000000000000000000000000000000000000000803f00000000a3caac36d47cc9367df47f3fc273c336de9583368b4c0437eac2583ff9c396373c6351371b37bf37b26f2d3f8cc8e83796ca2e3794430e38a496013f2c515c383a21b83709b4c7377433ab3e4e80e037a64d2337e2ab223735772c3ebb7d3837db1e07379f553737f4c28c38528f42370000000000000000000000000000000000000000000000000000000000000000a48a0036e4617b36abce3538639d1b38ac4a9a36c6a8a036c933e73728b0dd37cc56cc363dd79b371e21843845ed73388c77e63630ce0d37c77a1138be7a08382a2502372b123037f7538138001c42381d9d2c3741b6ad37b08430381d1a183821b97037aa02a23769ae0438cc3fe43700000000000000000000000000000000000000000000803f0000000000000000c9098036fe77703f75ad2f3972ab8c37cebeca366df7493feab9ad394b359e377577bf374358243fa82fcd3927d21d38491b2b37e0f3fc3eb873f539eaffc23761303537f608b13e0582d73915adb23778d79f37c8174d3e215b6438edc2e337f0906737ec08463dc2792c3894ed9a3700000000000000000000000000000000ff5fcc3693c28d377cdc3438acd817386d87b736c2d6c23681abb438ecca043856ee2c363be2f1361d6f553884f253389df5ad366496cd3619823a38997752386dcb2937d4482c3734bbef376e820238ec33eb3646913737713d31386f7f6938491a913695ae5237023636388f943938d938e936e72a06379a0bac37eff6b83746e3fb3664ecfa366681a937d4a5df37f9e70137ea3f6f3f2058853d5c9ac437b5dcbe36f5a75a3f0dd49e3dd11ba137ce7e813649303b3f58b88d3dd8561f38fbb0c9362d0b163f073d893d482fbb377c0b2b3703a3e83ebf8f763d9ceed337117f2237660ba33e432c263d9cc91d381c04dc366bc53b3eff459a3cb53816385c52b836e215343d23ab1a3a6b3888377b11f93603719a3711a532381b66ea37823e9536c3de9c36b8fa7b38304ca3379e5faa359cb9be351bc72338f36ef9375c754736fb6489367730d2371bd6e337927cfa351f9bc43611de7c39736f133a2d87a4361637a9364b182c3806a34d38b492973693daf23609add437cc05e4372a653f376d0eae372e5bfb3857cda03946ba3f37474a4b3755dd14389467993876eb083713680537d8b4b4375ba6e63750fa99368234493fdcdb5a3ec3efd6361ccaba357ea2383ff7cc5a3e8e833537d6c37a36035d1b3fce234d3ef998ac374b4c07360625fe3e17eb2c3eb97d2c38ff01a836b077c13e93f9053e17b8eb3778c398363f1b833e2686be3d7020ba377b8c69375c9f133ec106653df1f5343850adbc363f08af3c21498a3cc5930738dfd5f53600c59737a3fe1e38b762e93736537e3640bcab36b3b69b3884d41e385f9d1e36a479203603c9123a584dd639540ab7354dcd38368dbd4e39c1eff5393526ab3650cbce362665b337bc4ace372b44203655772036caf22238e4e94638965c9a36ff2b9a3659911e38c16684391d0547376e0560370c564239c25cc139cbfbd235a2b61f366fc521385a85f138f88b843732623a37cd1f2038f1114738089f7c36dea1233ffe92b83eb61ebd36054d1f360e64163f8dd1b43e278978374d95bb3588e7fe3eb42ea23efcab1238e215ad36abc7cb3e36c4863e8b9a95377da81f36f193983e4e0b523efed2fb378ae3993627cd473e7e5c193e064df0371fd5133721cdcc3d0e56bd3d4e44cd379df7cc35ee38133af77e1c3d41780838fe6c15363b9e01382d6fa0389e7c4438882a1137ef88cb377f5ba8385d8480380f9b5b372dd8943778455138113540386cee3f37693b57373fda8f396e16093a5482fa366cf94f375f7b84386d309938891f8937a4638f3721af4a3817017939d241893766f69137ec307c3880949538d371a037387e9b37d781ad388f9b95399740e637fbd0d037c2d6133815d82538d971c6372a875f37593b3c38315b74384a321537fbcefc3ea37b013fcf68ce37df0c8437e643e93e406ffc3e8c7de437fa634f375b37c23e6186da3e2a01e43788921d37d655983eb107b73e16a03f3847008a3723c9683edc738b3eac7c08385d5d6e37380f0e3e18d5523eb97150383c2079378950853d448f023e5dca0f385a1aaa371fe511387f2f513d58bc0a3844c01d375781093852b4a838648c7638b0e2143695859f37b30b76390f965738d21fb1358768bb351e58163a9faa063ad0825d36008903374aa99d3925a23c3a27a89936aa2b993680e81c3869ca053ad3af1a3694c81f3688fe1a38a0ce463888442637f8ee1537b469b037730ac8370bde9a37a8c29037c08b473891be823911656a37291f2e375fde28389a364e3982bd01378b589336be5d773717680d38fcf0c536f3a5b13ee4fe263f44afa3371a98b735c37ea53e2f00233f49d48d37e677b13669b6853e40710b3f8ee9b737044399364de94e3e887ee73e8804ed3712251e369818153e7cb2b33e00c2013856960d374faca13dcbf0843ec8269037a8b93e37a3b3a53cadf7273e97292938666dbf36fdacef37e5bb6d3d6e0b313877427b36ca101b3733c9a1380e930338e9700137e94659372cf1c7384dd5fd371b727d364208e83604c6e8399434243a6c03313783de8e37ff1f313986403f3a23fe2d37bde00f37ef46c93736af07388068b036a770ac3670c207388e4f0d3939dad8379d1bc03784853b385f70053a6dadad3719808837a1c3c637e9d4d937dc583b378bd50b360b0baf37acc0e8371a5f33377ed4c436b82b6437892e9e377e5e2e37d4d94e3eee2f4c3f610144374437a036b019423e735d453f64b4a4370f4b78370df7193e87e8253f8be83338c5010a379189dc3d24040b3fe333bb3749b4ac363e95963d71afd53e6b38093864f6af376ccfba3c92f89e3e3bcf3038e5677b3765b4c537df36453ececeae37fe0cd235b57b863780d3843dca4bb73751ee9e3671e9e436c462953898f88f37399803370c72463706e64938a3c10538bf8eed366dc1d4364c8eb937a7d62a390a7905377d46fe364ce51f3826a08138a5849d37f3cb7337d62417387fb3d3391554863759e82e3743d3bc37028306385bc88d37d9042d374423ad37fe2e4f38bf500b38b09ec537b0ec2638b4b65038e25fc337b00a6d37ae6bc0371e690538d61ffc371e26a6379baff937d055133882ce4237a09d603dfee6713f1b3d70373dd4ea36bdd75c3d0bbb663f9ced8637e8081937bb310b3d6075433f39603638ad3e8d37548d453c35d5203f56093638f61d4f376795fc370d71f83ed430f137ba373d37329dca374074b13e112e22386ce7bc378b7624381bff4b3eeddc43388b4a553705dd8f37d0818b3d71d0f737c1ac9137d89ba93714a03f386ff41038000000000000000000000000000000001754263701b00e37b1b0b537bc851e38d01b6137c969cd362131d4376ec54538ef88503706700a371bfa96375c6e223930b6793795a11137f1a69c3785272638c7b20a3802a79737cf550d38f13a8538e7f49f37aeb9163714e58b37fa99dd3700c9e53712d056376364b1373c521d380000000000000000000000000000000000000000000000000000803f0000000032691e37c272bc37138c733f89fd213855e331377e45fa37c39d4c3fb9f0613832ce15375eb8b637b031273f6a4bb339f54e173742f4b537bc56013f3c3342388cc7af37a5f60d3874e3b63eda6c9c38f7573337989374376e7a573e26c30138c1bc663711a65137d772763d030c2d3800000000000000000000000000000000000000000000000000000000000000005ae0f9371d0ae139d53c3c3a06410b3a2f42ae377c5b3b399964f539952ac139c5607b3744292438730a843a7d7a003abf6194378e13bd3983de753a0c8e333a29129c37d49693395d4a0e3a8309f0397d5d15389a031039031afa39cd3ac13943232f38a3cea43842d2ed396c54c03900000000000000000000000000000000000000000000803f00000000000000003aafcb39eae5603f4d483a3a2b99c939709b253980a6403f271d083a6fd67d39dccc0238a7e91f3fb6dea53ae85fb7380db5b139e9cafd3e32c59a3a6fc3ed39f79f77394793bd3ecdcb4f3ac578b7399090a2381ae8783e0555463aad846b393cf744383ef3ed3d6741573ae898693900000000000000000000000000000000d60371374f04be38d645303a96776a3961aadb36d132f638c7ea383a7101e0390ba8bb37a9995b38cfdb223a4dd7ff393b8cb337e9b3ce39f7f6b13a272e983a6c591d38eb13b93862ce6f3a7e031e3af32d9a37d48ae8379243803aaa233c3a24119536b3e2a037ad471c3a0eed083aa36a43370a51eb371f7e393a34b5383a79b2183866a67b39f445143a738b1a3a6be71d38ac47613fb70ff03d799e15382fd3b5372157473f295adf3d846d7f39352d53389eab2b3f5bdccc3d9048be399db6a739f9f80c3f9e0d9f3da5505a3afd753638ffb4e03e0885803d09c7a239968edc37b571a73eb1d23e3deb038539c5c17b37dda95b3e1df5fd3c69e0a539dc6bc0377541db3d9489b53aa74b123a330ff1380fb20b3a0fa8573aba86153a40e51138a8c640398a26313a9e42a639d37d2f3763e2cd3769ecf0391846b439bf0cbc36799f9339ac68ad3aa84c503afb33493724213638f547ac3a1cd98a3a892a0038041c503889e15b3a882a4c3a5746af37ff06f137e651093a5e70033a2f8ac0377c40ef3794f24c3a2a5c443a68a7c63767e80738597e8d3a6117923a680c4338e5546539eb6b0a3af38e173ac24d8d386898403f631c7a3ed99a18395556a737e8c42b3f5893673e5d562a39a0f138390233113fcd96413e6020153a542907383ecef03ed218213ef4f8063a64d12f3877fac13efff3053edbab023ac2c4e437505b8e3efa53c23d27c2c839ea56e33765f9383eda58803d6499143acc1ef737a0eaa93de47df93c21dd7d3abaf0e9388546f13992d87f3ad394143ad0901637416ea939c3ac2b3a1d90093aa474dc375c4fd538c9e4b93ab249493a9c46e6376bd5193820a8263a8e0d023aa68da4379b92fe38b02b653acbad5a3a4a6a7b3709887e382214823a3b287f3a60cfc137b5b0f737efb61a3a9e2e203a9f660c3895694d387074ce39783bef39952a0738a1f13c385c40ab397fa6ca392e7d393804264438a1be92396037eb3981d859394ecf1f3ff2bcbd3e1222bd3920732a38ff480d3f2a76a93e5d1caa394bb213383327f13ef2de913ec4f5a339bc0d0538ea95c73eaec6723e2285123af078b637e33a9e3ee2e3413e9f87453a4d17eb37eb036a3e4a1d123e3130e8390e8a3838a85b173e22a2c13d5034b5398f14263818938a3ded54433db754bc396df03e3809d6d038e063e73cb8eff839fd342638b236a73822a3823a90faff3923a39437e81de438180f403aadab0e3a18ce5137539a1a38f68c423af2aa113ab6afbf37682c06383e33143a68de113aa82a6138a1169c389c15083a65890c3a284cdd37b6900738bd610a3aa7bc0c3a8a4aa937c6ca0f38347ecc3938be083a032a0a38f1f33f385333f9392e1c0b3a86d52e3837514938a5a0b639eacaff39e5c3663871c4fe3e0103ff3e8251cf38c69348389020e13e9ed4e23e09a2b139591d0638c1f4bf3e4096c23e842a403944dafc37418c9e3e1f7ca23e2ed1d53944c8923818ad7a3ebce6813ec00d9139d08dfc379d93373e6810433ed8d8e639af82ee37d48dec3d639b013efe06df399a6f1c38d9004d3da6c9823d4459013aaade39383085d038e7db853a411b043addb4393878e54f383e4ce73c09c6e73915ede23792dc53386964913ac956df396fc1de37acc14038c9774e3a9faf2c3a9525c037a12bf137a05e343a8771363a504897374bf2c1381c777c3ad34d843a9049cb3764802d3988b7493a5e3e583a565f0e388673193817e3dd396b37013a76981638aedc28386d172a3ae4614f3a3cf22d39cfe44b39348cfb3985ee0d3a09344b386143af3e4b5b193f425cc2382e9d44384f73a73eeff50d3f3ee35a39594433387eeb8e3e0c62f33ed1319f3925d6e637f23d6a3e79f2ca3e4848e239f3dee137d3fe373e55e4a13e424b553a2cbbd138e0d8053e3712733e87122a3a43721438ec01a93d2064223ee34ef5390eb720389be4073dafdaa13db2ee413a59a30d3971c2ac39ca33363a5ba7103a0b813c3810c7a639c121733a2dab223ae976a137aba50238c916d33ae3c6b53acdb2c0375c17ea377e6f703a63c16b3acb12e337edcd00380447093a464e153a33a42238a94eb9386ea4433a5258623aa1c9cc37084c2438cd345e3aaaed953ae6506939c4648f3993822d3a825c5e3a92f8ac375e9ab237af2b98390e70b939835870386f8b6c38985f8a39c758b63933878c392e74783e6d51403fa4cdf339fdc7fa3708445b3e69522a3fdb42503aba2ee537960b3a3ef507123f0b14233a730dfb370d51173e68c9f33e0ff4003a82075838fc16cf3defe0c43e5fa8323a7d8310384d74a73d59b0913e81b3843a221f76395cfa453dfdcf413e604c533a7f83aa37f345d5380e4bce3d0f5aaf3974e55b382516d438fdb6463a2835d339db1f203808778b39d61c453a41e42e3a59353c376f4ed437168d713a3502723a7b0a8b36391771379bf9103a0e6a4a3a1336b737b3c2cb370a5f153ad1f88a3a34643238ea943738c4a2bb394462573ac3965d39ff468e39b0c57c3a051ba33a51b508396ffdaf382630d439d70a023ad49300390dc4d5379a2fb3396cf1ed39093d0838b892fa377e5dc938a570b43945fa853928e4ec3d9ad8603f9b630b3a2793cd3705c2d63d5639483fc892323af29c60373caaae3d7f6e2a3fd411283a6f67ca372154893d05f00d3fed698e3a91c73638fb48543d7387e23e4bd7763ae4d68839d915063dec47a93e29bdaa3ad900a838b0c58739e856673e87c1f9394336b6379fce053989bfdf3d27b5fa39fab1ec37112f0a38a32f2d3acffd063a0000000000000000000000000000000062613138f35a42380369dc390601153a0bc4da3715811938510e96395e020f3a85cb91376d5c8b386f41cc39f6190e3a16bd3d396f62633903c8f33963cf593a79b79d372225ae37b946c538f8332f3a766dc0385e2032382773883924a0ca398e89963941336439bde5e139d46b123a0000000000000000000000000000000000000000000000000000803f00000000699044383c6f93390f3c613fd110103a47571838e10d74395cc4403fce622f3a409bad38e4a4af3976f81f3f755c363a0952623939aad2395c77fe3e63da883a4a69b137ad4700383fa2bd3e303d8a3ad6c8233898ce153924eb793eb0ffec39cbe75a3942259139f4caec3d08c1303a0000000000000000000000000000000000000000000000000000000000000000914999350420913579369e35b2bb943751623535c3791d356e913b36ef49b5378b6ccf34e25fd534f872163753b5bf3737e7a2348faca334de8db1376510f437b72384348c416f342e974a37a4386537fcbe8a37137a9137778df3376f0fb137d82b03389c50f4376bcc13384408e13700000000000000000000000000000000000000000000803f0000000000000000d7ae9435d5b77f3f3f1d2a385f2b7e37aa683435c2ba5e3fa5b67d38d6609e376f2eda3482fc2d3f84ff9c3888899a37c8cfcd363519fb3e81b1c138fe86bc37225c1036e1f5993e7aa41b387988b036fe10c5378fe3df3d03e13c388d1d243789b6db37a219d938b32d7a38a2cc6237000000000000000000000000000000005b9226352ec42335f4ce8537daa4c43758e17e35634d8435432f3137decd1638baf1cc35eb09ce356b6cd135b4ccf4361cc8c135a365c33569afd8351fbf2537f7ed7936a6cc74368ca2f13722103d385eb8b9354ac1b7358e86c435dc30c735e21ca8362d89b43658e79b377bfd9a371c0e143607e00f361cb64c3790cd7e37861f053106440c31dfdb0d317efdb036a809163551a17d3ffb8b153c12e33437777a7135a71d733f9f070e3db27ff1376554ca35a271553f7ed6913ce431213674b2bc351aa4253f4d26463c292aa636f07e74364e91ed3e837b0a3be09925387ff1b2351beb8a3e6aa9043c5b5cc1354321a33660a1ac3d1a195e3977e712373a10b83568783f384e858a38e44e4437b02ffa3015f501317169cb37c30700372251b135525fbc35ba17c5359371c435c9049c34f3e3a334c6407436ba69923735990533b23c0233fd449d36c6d90e38876def34051af13428fd7537713726380eb8af3434bfb0340f6dba3432b085371dcab2340ee4a934f7eded3768823738728e5737fd4565372a7a3138fff65238b9b61b35585c1c35c98e1f354d9713375fd18c349b628d34ab4d993403e0fb3538c7ae35c9fe5c3f24f50b3ed8dec835ec14a0342a90543fdd412b3e9aa71836d2a907337ad8303fa32a273edb96b037b5e8ef34cdf4083ffee3133e60aaf13773fab5346a7fc43e8b8aef3d5bc61e3783aaa5344c8f5f3e8cdca63dc469fd37a31e3b36e898903d0cd6193d69ec2338be391d35bfc01d3898640b3915e2d8365ab77c3432638a34ab390d383c989a36882e4c3452144d348be15137995a8a36b4e0043569c2083554a797376125c9379617cd344c46d134bead8b37b00614388bbceb34508bee34e156ff3463a6b136041db73429dfb63408563f367d8b9e3776956c34cd656834825c8b373534da37c3da5336ea133f3737983e3845a442389752f835899408368fc57c37aa16b4375d43d834db33ac34ef35ce369a125e37c3923e34bd7b2d3fc603a53e00a75634fbfb053596cf253f6fe8b33e6ce509354d2cd2344d700a3f0373a93e11b17a378265ee345f3ed23e881c903e76ccfe3493bbb334fb558f3e637e5d3e6ad83c3643e860346b461b3eda6d163e587008374318af34d01db03c80139c3d1a63a137487c94347e480138a4a56039c36bbc36d024a034d9f46e36a48a36383d2ae5369d3ea034b4aa92340aaf9e37c1659736eed2b935adb7c7359bcd8d36889c9b36fd5ff0359e52f735c89df335cbaaf935f1cde035c6c0ee35f20ff7356c47fb35104106378abae7362eb59c3795ccee37ca3af3359ca600365bc2ff35d31afa3599edee3570cd013656ad123663d40d36b0e8df35a706f0356a244a37f85a6c37efd2f334fbcbe53485d5d836cae94937a96549348ef3fa3e2481023f6c3eaa34b2ba9235afebeb3e20e1093f5376bd35a29aee3565d0c73eb90c003f6272f235b441d93538fd903ee52cd43e0c2cf035060fba366aa24d3e3a22993e0acd60373c08ed35a7aabe3d1c76563e16e5ef351649ed356e43d138156ee03db962fa3589e8c8350fba4938692f1c3adca6f835115aba34d23fa7362b510e386a95013638eba834eb66e1364043e437360e2936cb9693341167e134d5f88336a2d03336cc73b9342539b434d5fbba345fd0e4363b555f3469d25f3459055f34988e4e37c0e9bc34f7a7b93447b4d0343693333785b10a357727063597588035c0f04736d309d537a09bc93771b9213817ae2a38c5080e35692d7636eb9dfe374fcde437240c6734eb316134bb8a5436a3f39c36204aaa34aa879b3e7b3a323f5ec1ad34e2189434966b8e3ea3c5383f786f92346eafc0347ee56a3e1d3e2c3f8b77a93407d25d34844d213eff3f0b3f043a5b340d54c134a5fac93dcd90cf3e5825b4349d6d0635cb46113d077f8b3e21def4347f4a8137e8409d384222033e2c7a2c37dddf0c359e0ea1385cd7773a73df0b3575754134951f50367a04ec377c105634fdce993415ecbd36e02e3f3776d18634aa0f2135d3ce2035c11c2035895f193551619437add919376d1f6c36363a91372cbb3e37dea0963421809c3417ae553768f63335b956bf347a29bd34c93f2c368d1fc93784ba8837019c9937d325ee37cc807c37717b94379d82e437300adf37a817af36373e9d368133bc37544e8c37a083cc359934c2355804c235fd67bb3540559134410fee3d0836623faa857634a3821f351e10ba3d9ec0683f396b163599c65737c1faa73d193f4f3f1dde4135eb52cb361de3073da2c02a3fd5f89434758eba34693a503c8023f93eca39b23428739637c87c9938d017a43e878c023645c66f37f905ae383c3d153ef05c0c3357a7af345154a938bbe0253b5af7a634d7a2c035a44fc035e5ed723733d5b735da5c133641713e36fa788336b2aded30215d993654fcd735d277a7357accc33577a4b436ef664836951fd13560748b36629fb1355fc9ba35e61ab335aa63b9351fc7f637f244523771ea9736d40cf83737d5d9353b2ee235eda2dd35b55cd8352de7ce354efad535f97ad3350e617c36cc8ee637ce4bcc37d7b316382a9c17381e13ac367dc86f35b0b6ff3689de8a3666830536ef6b923895fa7f3f2151eb30c6e043368ab09538abf57f3f10bd91353b36a13652150e38df5d6a3fe0d08f36a5b7b135536ee436f573383ff05bb03534f7d337303f7e38bfa0083feba5a5378e2cd935150cdc37ba79ae3ee501d1355895d135d6a3df379b0b183e15fcd53546259e371d4956383bd47e3cbcdcc03679925c35d57ab737c1b9233829b33435000000000000000000000000000000000bceb333f8ae1c33a1b27e3205fc8f37bfe5ce340a68a334b2f59234f4642d376562853419bf83340f476e34a12acf36bdda1337750da7345550a6341848c53755a842376de2e634c3e68a35a198c337d35d4f375ed3d636700f4e375500d037805e77370eb8153790f7923753dec1370000000000000000000000000000000000000000000000000000803f000000003f776534fd4be837faf77f3f247fca378561b034040f2b374bfa633f3cb0d337d84871342e0d143702f5323fe4c69637f2f02437aad2e937996c023f9ccb0b38336f0b37fb5ad13719e8a33e85f5d237ac262737b93de937d0de043e9807a3375f632d37bdf1c137760c823a96b43637000000000000000000000000000000000000000000000000000000000000000075d02b36bcd389364225aa37db6ee837005a1e3693267036f9326837cad20b38c0571a3653f4653666e561380b80803820546e36ba3b8736d2380e38c81a02383e425a3677496a36d2701b3898299b3726219735fae41b38325b8f386423f737f3f5db35c810b63737014d380bbd3d3700000000000000000000000000000000000000000000803f00000000000000002f4689368a42783fb40c0e3984d8be3774c181363275523fe578553a01c19c37daa27a369e90273f05f82d39700a263854988e36fc80f83ece767138ec1f80370217773698e5a13e41847e38d634683669f42638e887193e01a0a238cc2d8135a6b97d37790a64397f177438261fd03500000000000000000000000000000000c02d7734b0077b346500a837bb98d4378acf5035a253a735c7e4063738d9a83742adff33875e06345e8a4637491b193849b3c033e7f3c433c1a80137e0aefd3729ca34350eec6535f82fa4373bb70f386bf78534649c8734ef1a1338614a1d3893929a3362c397334ba83838f26e10381dd708359da50d35b36c3d377f81ab370b12a734d5c2ac34b88cad34584bae34f8487434ac36763f831b1b3d389d483707588735d9de613f631d8f3dadc01937a6580434c8c63c3fcc2c6c3d9d3bbc3792c8c133ee90133f7c47413d979ded3689ae51356131d63e113ff83cbeca1f375504863415ba843ed674373b20eb6537735195331204bb3d4c752d3ae848cf36b9500b350de0fc3767cc9a3863032b37883dab348573b0348cc79837262836376d1d933603cda836880c06387fa1c1370f0b7b354634a535c808ab3758540238fee5063641a53a36cb537737c10206383209a236379ab136c58dce363eb4a03773af9136bfe2a53640b23d37f5690b3891b0ab36a72eb7364f09a93726521e383e8a8036dea08536c7482537c5d177374d141c36d9fb2d36ce9ca536df2fd3370f012b3658f43e36f93d5536f157a6374e069c36c035503f7c1a3f3eb92fcc3623708e35e23b3c3fdb2f673edb2374362f5d24360f06183fa16d573e344b49378219ac36863de53ed248473ec11cdc368fb8a236dd59a33e1cff283e2808a2379cfeb3361ccb2e3e8809033e2bfe8d37a060833613ab5c3d52f9a03ddc2cc936e59f2736db51b03642db343ac766c137bbc63936d00f5436939128380f50ff37a3da40360a5c6636c8745738adc80f38912cb5355bab0936055aa537975d85370ab97436b33d8d36d0faa436c4402b374132b8365f89c9364ffdd837b8b4453813dc8a3688399436dce13c37d17fd437e084bd36fdbcc1364afba93788dbf537168e4836cd3d4d36c4030238f0710e387aa8e035d180e635d9511036d74fb837e79d7f3658338336b9899036b3f899363498553690a4263f4d75b23e76897f361d61e9351ba3143f7fa6c63ecf508f36c18585365574e83e559abc3eb4e9a9369b2ac536ef90a93e97b8ad3e5ac1d0378efc913611ce653e31c0873e4637ee36bc90bf367f57e23ddaaa493ef28dc43614a64936a4a0a53899d5fd3db019433678aadf35468a1a36bcfc6e3aef22b836344b803680d98c367e49e137eb489d3682840735d8d20935aa400638d3a90a377750f43525aa2636734525384b1c8f3700392e3652e38636c4bdb43712b804387efc9f359d241236620ab737ba3c2438bd7daf35af5ac1351be42138c84b4f386b123d366df35d362c3d213871d0303883a9ca365567cc36d93821380adf2438a61b4936a97458369c9b803767ff1b38696af2345006043598c97336eca4583792770a352c51f83e11af033ff5c5053500a50a36a443d83eecf60e3fd1985b3646d16d36efa5a53e81e7053f658ad336a591f935943f663e8729ea3e0ac0543744a8b635cd72283ebac3ab3e151cd037c856503684f5603d8989863e676d68364fc0c236ada38b38a9f01c3ecdf5cb368e0d3a368b43a237270f9d3c220b2837eae10235564aae35268f3c3a33080c37e8a9913693b598367131a337297297362009be3503ccea35025fca374c0105361ba8273629003836181406371771a037c1f9b836a6d1be368c90d436aa49933782bda236afc5a536827d4a37c2f5a6371746e536817fe73603412638c1e53838ef7cad36430eae3676f20a37a8754837bcdb92365b3689367cef88374ffbcd3773d87d361d768236599be1373b472538f8f59236f97aa43eb9c22d3f0aad8336eb75d435dd03893e9f463b3fe53ad635fa1330368d1d3b3e9579313ff00f463617a0bb36b49bec3d18bf133fb989c136f0d3a336df43853d5903e43e5fa5a036d579e43601c4fe3a3bafa73e3ec5d936428dac36da89d7371609363e24db9f360c29803636806a37059a003d81e7963685b1813600558b3736a993392c83cb376393693618406a37d9fa2f382b91ec363cae89360764a936fd21be3756f6a436b7778b36ad458e3665e6ba366384ca361fdcc9368730ce364f46cc36333d8137d1b1e336f1b3db36628a50370a02ac37991ce436aff9dc361482d736300820372acfe836c93adf361be8c8375fc3f1375d5078363cd657364bbf0338f9c80938f32ed53654c1d036aec77737d5d8c3373f136f36ec91243e62d5563ff6dd3c36b56d9e360d90d63d1801653f7f544336809a8b36bf248d3d10794c3f2155983681d6cc36bc68343c20b5303f4327bc36b2bddc36d5ee87383d12043f3d8bc336a5b8dd362fdf3d381c25b73e7887c436d5cbd9367e822238c468483e2127fe3646e253368e0bf837674a1f3d4b811636340cce362506193723768d388e7fbd366867b7341188b634cc249337cb99af34aa3619353e841935b200123519f59b357c888b33f5a19033f11391332a1fb7375957853459ed8534d5894935bedbdc372906a635f5f4a7354b3fa7356a0590376a4bcc33e49ecb3344bcc93332368b375c4d6536382e31367caab837bf26f937223121373ab40f37f7f09237b5a881374f8a3e3747b3c63684b9b6375138af37ce0bb434e34a2a3b36577f3f767fad34731a1835b0254d3857f87f3f4d6e0b352a8f8f33d126fe37256f683fc1839b370c02833495d20438bce63c3f757aa3377522a435884f0538aa270d3f239ac236f15ecc337d63f437e0bac03e0124c5337c1d3736f22d2c3835c0513e7032f23558330f376fa99937731a443dd287d63671d28b36678487379c019e39faf03f36000000000000000000000000000000004593c535d6accb3523bbcd35bb409637d52f6b356f0075356abf813524ca16386fac5a369a064236639f50364c8fa837c26c8c363e0a8a361e56ac36257d04381d84a9369a5ea436b814e037a03a7838e333fe3657e2e936b0d54737d593e5372f78ac37c52b743787dad0378c5ae8370000000000000000000000000000000000000000000000000000803f000000003980cb35b092d13523e27f3f8f0251386edc75359cd78335d888593f1b1ca638cbda4f364c326f36a5072f3f4135543820798d36848b76379ba9033fb3ea2b38f0eea7361c443b38a994b03e472d8938e010f036fd3ee6370f44353e6d6c8a3781cd7137b829be37f697f53c73b19737000000000000000000000000000000000000000000000000000000000000000090203736946f8d36fb5ebc37f9d5373895282036c1967436c08f4c38d52b2139c9077d35b38b563626146338907541386d8cbb36eb2bf636e7d963381cd45438df2dc7366abc3138db4a323a53ad8f385b68f535d308913763a62c38f3b795377e5cb037b42821383ae252383f0dcb3700000000000000000000000000000000000000000000803f0000000000000000baad893683226b3f8411473c0487c0373e637336da24463f7c31193caf9e5338d11e4d36dbb01f3f52dff03b72b26a375f8ce73656f4fa3ea910a938610d003876a23038efedad3e1c64f33b155e4038aaae833731c94f3e52e61d3836ab3b353c8a1138656b623da00f38387f0b0137000000000000000000000000000000006afb9236e70916376e01133885563c38d54f7c36edcc993660660d38858977387d83bd360df1fe36ed05f037cc33013940cf1837723229370efd9637b85a1838b7fa8b36d27fa5369c66363825ea7538e4d00337b8f61b37bf26e537a0e42a387eaae93622bff9369e362038cf553b38549ec2361651d036b1a02c383dd83838f1db8536f8b99936c3f6af36fc91c43735c707375c0b6a3f5c7d983dee7c29381d319636a564503f8ccbc53d62ee8138bdaaf6360e7c2e3f72a3bf3d59924c38a4412737eb6f0c3f45a3af3da6690a38c3e1a33623d8d63e79a9933db4c15f38895416379a73903ea9fc6b3d06e90838faf6f6364ec6233e2872e73c60111738046bce36444ea23c7a0f933c1a9c0638bffa95366892ab361c4d12399ba3ed38831c8a36957694369538003888eced37ce96bd36c2f6db36f5bfe537f4132d38743a0b366742233610e52e38eb2a6d38c8250c37c4591d377774e6379fb342380dde89365a859f36fe22163827d74d388ac7af366a4ec436f3d618381db14338d7d6de3678d0ed36556e443821245738e6de9736dab451370c6966386dfe6738cf896f366bb7863607764937b0ca4838b2029136767b443f1f3c5d3e86608037c7e4d4362dd82d3f64926f3eb9ca143896481f36696f103f78ae5b3ea9116038c69c1b372bc0e13e94d1483e5821243801619c36e141b03e2d16163e60582438d492c236776e643e5cdfe43d8d75fc372fc4ec36a0f8023ebd38913d663f22386e2db836f38cee3a2997003dd9912538ad2a8336e59ac83687b8ad396fb67a38d0cb6b363ac432373ca88b39bb228538e7d8cb360cef14375cea5738be5e6838d6d4df36b5b70e37801a30382cec7038c9c79f36f213bf36149e3138241a70383507eb36af73023745d72d3844e146381310fb36f0620f37f9dedc37d8e21938234ea736c984a93767b28e382e2e8e38f3a71e3717c02537038b2f38e2422f38e08544366c7d62363e55cc37135039387f6c8c366df4203f2710b83e3c461d38455305370fea093f468ec03ecba928382f010a378fc6e33e8778ad3e1fba4a3857b6bb36b738b83e3b25913e7d9e4438acfe003723fb873e60b45c3e73421138e9550c3762fb3c3e265c283e386592378f084d37ec12b43d1b0de23dac604a3860e323372ecd4138b4625b3dfe5e78375f00573669d49e378372cd394fff3438be4bb0360c3198378cc36339b1a83f386ca2df366373fe3601dde037e128083875c1eb3675b70e3741077237125c0838592b253784303037f6cdf8370e224f38c7ebbf36155ed3369e1b8b38c039963893b32d37d549343746331d38124632383b7c2a37855030375f3af03718a9db3708fa0c37711d113709820038640cf6378c62ae367ef3b736c53424383bf94e382577b836a888f83ebf6a013ff2cfa737951cf836fd06d63e5b51033f773a3937b38d09379034b03ea799e43e956a30378a892d375357893ea7c2c23e4b24c437b522cb361235563e0fd1943e62265f38df1033376adfff3d29e7673e11924a37c34b2d37edfe813d986d153e44bd1e37712e0f378cc50d38c0278d3de9c30737c15cb436536a0938fd380f3c15953a380f7266367da88c37bcb38f39eafc2838dbe4d1360f790737892e2a3894823d38fe7e6d3606d09b36754a8738aab79338de4f0837905615370b100b38c4cc1c382f4cf83628f80e37b69438383ed94238d5cee536db179a374c0f6d38f55e603818f42e37cfa6ba373eb18038faab6438c4fb2b37a85aa937f19d7338c3b15d380aaca9361c5b43373f136638a9278638e31fcd36b120b13e6f34273f515ee7364a51fd367422933e6cb2283f3ae69c37cc4a953686a56b3e903d123f9c6a5b3851fd12375e05353e49c6f23e3cb81837f89604370386093e31e1c43e188bf7378482373726ce9e3dc3db8e3e47a2d537ffbf8e37baebf13cce073f3eaa3cbb37c1ff5037c85d6638bc2bae3d8243f73718b1b436165c4d38b7f8373cb4235b38f3c0913679b7d537566e123a58200d38155c8d36dcd9b9366b9b69388a1c723854c0d136acffe336ecc0483852f757389997ca3619a0d636271f203855113d38311fba369c87d33605fe38380ee143382a722e379bd07b37a3b93b384c9a2b380912f037716728386b257b389e575b384f860637dbe0b537f2084b380eec1b388b499c36c21fd43655e4dd37c550d93740b98b3718dd523e9e074b3ff7b39236ad309b367353293ed41b4d3fc44c1e381f17e136a1a2083e12e72a3fbd070b381e6bd536fb21c33d38de113ff368be370e2dbf360bc58f3dd5b2e03e664bce370d914a37e397d23c699aac3e0e984637a42e1b3851913d3cf673563eadc8e537014b8a37b2c73c3875acb13dc33dec368ccf9d36de06ad37f566853caef248372fadd63633fed237df950b3c68797a3797e8b736227cc8366b963338d1d04138daf4f1365cf7fd3650842438e7ae3b386ea04137a78b5037cd480c381b5f1e3892b0db362edcc637d44c64388e626438f2384737769f45372fa10d38f224fc37c301ec37ccb40c38291b283965112c38dc2c473811f34c38d9b8d63975074e383a2cb337d43fe43768234638eb282d38ed5ba837e9a5613d0aaa6f3fe38ea63647e6c7360539e23c70386f3f1a8adf37a6a4fc3635a16f3c780a4c3f3d21f2376c8f51370ada45385dff283f9dd99a371e0db937d7618638920b023ffbe712388fd145374c552c381629bb3e16cd3337cbd00638ca0ba2393198653eacde8237cbd84538b9840739375ab53dfed460378c1fbc374da32c38369a363c8a2b9537000000000000000000000000000000006eb44036392d73361ee84d37a3492238f49e0335a93703356ba454358b87ef371661af36d9581437683c5038d9bea339ee8db9367a80c036572e0d387e706338a511d3350ecd7a361f588137f2924a38fb0de837989b0f3897ac583863d3bc38393cdf36a4c9d836d76d0338558307380000000000000000000000000000000000000000000000000000803f0000000086fb6d3629fd4037e5c7713f9113663817880235c32d69352bf84b3f19538c39c28d0337db9c62380490263f39d97e3ac2acc136a5db1638fa6f023ffc956c38b0f47636b2898937b7cabc3e213b5538266f0e38c57f5738d4435d3e18a833388129db364983bd37ffca8d3d28b8e13600000000000000000000000000000000000000000000000000000000000000004d160b36e5631a36625c203685621e361ea3d734b4309634832287345ab892344222e53412ad45347d868634c9a3cb3406efad36a961a63648a99f36df3487373cc83235b8c10a35f9261935c89e2035b3ca1a36934c013666a6233611aa3236e5fef2365cc5f736a1f0ed364162dd3600000000000000000000000000000000000000000000803f000000000000000057223036cdc07b3fff320537f91a0536e114883464e65f3f9d3143371aad47336f97d5345a5d303f0da89638c606d1345f35bc360202ff3edf076238a1c18e361b5c1135e1ea9b3ed641aa3620817434c8b72a3648f9ec3d5cb20f37e0fc46365ec800378fdb8e3a458734376b0dd13600000000000000000000000000000000df14133546da2235e5984535702f4a358b1a6b357a4d2c352088cf3577e70936c1284335c9762535007a413560d02a35432c9d35310bab3525e2c235fb926236ea1add35879ebe35c99677371c43563899b1b83580f7a135cbf7a135fb0f9f35869b7c35bb749a35a5abea354103fc35aab7d5353f94e0356473a5364fa13f37917f5135276253352030613597f65b352de42735ded37b3fc0518b3ce8765c35883149356d0d683fd1ae323d2c51e4357f664f35f8cc4f3f7d34a63cd9e73d35ed1bb63526bf1f3f1db32a3c6ac2bd3525a8e135b0c5e73ea835913a856a4638174cb335e498893ec83d1a3a740c8c355089af357cfdc23da1089c39184cb5350308ea35f74887382f97a63859cef4351e636335e2b45e355e8b9b37937e543514781536770515362d960837a6ae2e36ee909436d8a195363a52bc367f7cd836d8188e35a6ab7235f8a8fe35521ce73512f70f3594761e35c0be2535db3b233527433135d2d44e35bc577835b43f873532113535f4003d353b824735a1a71535dae71134b95e2c349f17f73375fee33337a34435a3b04635461870357c4be13518d3bb350859c135a7d4be35a69bab35cd4e053619315f3fd13b043e29813136a5da7036baab4d3fafed2c3ed291ab3679c14135f45b303fb8f9223e5b5dd0356d0508359691023f62e5113e8eb2fc3449d54835ca6bb13e8456043ee5d91f35ff980b355112363ea58eef3d7df04b35dd8913348ab38f3cabf6ad3d16cd15347d974b358c41b23747309d3adadb3c357d53bd35c533b2358d31ad35805bc235a1c4823513b68b353c967a36a1d19c3595fc1634c7c683342e60cc34afee9534cfc6c1330f15b33311d7a4339e4dab3364ce7c35f6ab403532434b358db92735975ed33546822436db760f36996e1c3666b08035ab9c613553c14935891a5135811e6e36a274773693648236e8c77d36ee45d636893d00371944f836121cec36a7264c36116c40367ebf3d362c9e3036bc677c35a08b303fb8959f3ee385813504903e341c9f203fd8cfb63ecd2edd3054fd63333207033f89d3af3e9f7f2f32374d50358feec23e30789e3e96150b35c1ae0936c3406d3ec5a0883e6106d435f40c5735cbe3c43dd82b513ef0071335f04c55362248313aa41de63df9b681360048e3362c8a0a377c97243c89caf236c98d37363e963c368b727f3720522c368922233553633b35f9b2a2371ba5783523958b36e4279636abd19936ace1a236765725365a7c3a36cbd05836684e42367877123505c03d35b6d957355cc8693575d30c388f2bb937e19a5138e344a83847595f3511f2563545b0353596e069351181393605bf4936ecdd7136213d68369bf292368b93963670f1a936a8147737847d4f3574ff5e359e8f6735115fa536821d35351c84fe3e4509013fb40c6b3505438936011ee53ed94e0b3fd30e743674083536455bb43eba55063f4b000e36e4a661353821623e1686f13e8631633515e7e037c166163e5e66b53ef3c26d38f1f06935cc1d283d3183893ea562253555e54c3629534d392ebdff3db84d4136dadc8436d9d6d53745af2c3c06569f36a3c57235bbfb5f35c1ad1838bbb95735c7063136653836363e224136aa7d3e362e5fdc369861ec36c3bce9369d0403378c1f6e3634b86936f77374361ac96f36875b3235679b3f35d95d48357bc04f35f49a0636e2f62b3641840836e83f4b36e7394035da2941356f1a4835d2c0263519bf55330cb59a3320f8423336e62232e51694341ce4cb33c2c89c331c1adb34dc818935b6ad8e3547e58e35183c863519c62536bbbf9c3e2a02323fe92336369215da36c4d0883e2960393fe7dabe369e9a5836f59f3c3e2d60343f9d6542364abb3635703dcf3d98cd193f18df22354e630936054c1d3d42e3ed3e4825d035f65316357ca6383a37549f3e2ec44e35c277df3220dd6b32053d163e7a511332ffe4e132451a343711138a3ca7d37734de238d354ea18335a5251037996da1353e9ab8351197c1354a87e835b103be3586651b35ceb159351fe74635b43e3735c7e65534bca74934ea34ec339051fd3300259535e2845235a3594635ff1e223596fc4935e4607335d9951b35d5d32d354f554f35e7843e35caaa1c35014c2235129707362e4804369b5904367045de3517bdb1366ed2ce36aaa9c7364a44c13608bd2d36951f2236464a1d3658b117363207b03538d8f53d6aad613f2bc2ab3536b03835981dd23d91d0653f944c2735401b1934cd77ce3c6fda5f3faaede733e3756c351f84de392cdc343fc4ae133545db333502b256393ec4063fb0942535d23f2c351f10f83763f4b23e4230e6343ae6dd35f5b91039ac791e3ef36f0136e96fb53694f39537745df03cb76cbd362901203665ad733629e9a9374700193604fe4d355f5947356e2448360c5061354bfd0736d58bd935dc579835347d1036bcfeef35f0060436ebc5883501bc84359e78863582519235563ba135b264b535534841368dc1b235993abf35fc90c53757e3d0355719c535a83aac35b65bdf3549972235f9a53735a2f98b357e8a8835e1b29435571458350463df350f2f1e36c9372b35307b453595d85935e0a056352c694035370330384b1b803f9b3454352d98d3351f038038fe21803f69625735ea6bec356e532d36d7f9673f83058d356a2cae35f4096d372d993b3f8af5c0350a56c2358c507c381d520c3f9423bc370c6cdc355cd88b3706dbbb3e9053ac3567f4833598d2b435d8b42d3e636f5c3518e7743526bee2356899523de420d935705d6435ca9a4835a59e2437ed1b51350000000000000000000000000000000050f5d936aa9dcd363736af36c0abea36736b4b36209a3836aafd013642141a360d38b434313ab5344799f734faee1e354d6aab360693a4360bbc9536f490b636e32de2347375ae344f7d3d343027a434a9601934c8c5013420cd743434a5b034438d2d36d3203236878b4136c2054c360000000000000000000000000000000000000000000000000000803f00000000124bc736e811c736a808803f2095dc36cbf23a363b6f28363fb8623f26abe535a8d8f134bd0dd3346395323feee1f8347ebba7360c550237f8c5003f53d8f337be5e8134848e7b3428ff9f3ec8e2c734503f3e3417a60f34bfc8013e0d79e53362bd4036c64a2b36db488b3c081a2f360000000000000000000000000000000000000000000000000000000000000000f9605236dd44533674052038db4d01380f3a113681cc3c362ba1513893275938b74b213601403c36c298ea38891fdf3866351c36cbc219362d290438f7378337b03b96368dd79936b6b76d38416ce537aa07fe36e28941389db4e1387e80893806c33d352a2555359db0253879ca373500000000000000000000000000000000000000000000803f00000000000000004b66473650e9723fa433e5385d4a5d36fe36393657b2533ff6ce9f3b2c999837ff0c3c362bdc273f34a72d3904009138f0ba0d365c49f83ead6fb838cf7d2636478e9b36baf8a23ed9d0a238dc699f36f73a5338af1d1c3ef463ff38edda1937693a1d3517a01d3c84ca3c38e69c3935000000000000000000000000000000003ee596351dc12636c14150389a45ea37e464d235a5503e36ba9c8f371e9342371eccc434a3670e35f11bef36399498369f2d1136f8c844361c755f376e62da3695055036bd715e360150d637eec6623745b309365f1b2b368f8fc337b841fc36f5f405351d1f4b35c114cf374f90d736d7e880350d7a9135c1b80336ddb56c37538c673620cd4836731c9a36761eaf37b437f0351025723fb2115b3d99decb36bf382d367354533f57f6af3d7f28d4361ea804357f28323fa046ad3d3b1548367b824b36f0bd093fc901723dc710a836fca563368ebec43ef325e43c2e6b4f36ca523636c4db6f3ee086243b848435360b9f4e350d387e3d9d1f5e3c52586735b18e8835f07c2a370313a83ae58abc355d2533365e266b364b7f843854a9143848de463687095436f5793a38f8c42c37a40d7935c373b8352d33053678e8e135ab023535d651fa350a895137fd29183787dece342a3bc9353e425c3662a74f36d4c6ab3519d5d93566b2e33593d5dd35bfbc3836e4655436b36e6b38e10e3d38becf5736e8fc873646fe9b3732ab0738951fd335b72ef93513e1023656db5237af28213664e90d363a174336126f9937efb459366c6e4f3f8e732b3e24cb5a3646f3a7356308313fdf53623e1bd7cb35400ddf35277b103f6f5d593e11ce8936b720bd358b4ec83ef796523e00c80e361baeb5358e71803e4caa383ea53ad235f3815e367d79a13df5c02b3eeb2997365fdd7f360e2e5b3894b2f33d1d1977375b86da3548210536af22de3c57bd17371de30936662528366d159a38d39b0338cf8d6036f2b3a1365d356a385873c3367a5007362e1c08362ea60b38396b6e3627a70f36811f6a3664ccfb370f5ae836b457233625c55d36379a8c38b15a4438c9e22b3611da2d36d750d9372b7695375ab71136987d3636b10b1a387c2a3438a803363691b2523603f7d83755fb75384d4fad356860b0351346b53581c35a3653b64236bff13936f27c463615dad03711268b369b1b273f8082b13ed595a336f897ec351511093f2e08cb3e541e123644fe4f366d19c93ea3c6c73efff27d36ce074d362cc9813ee9c9bb3e1f165436a8a11436ed78d83de05cb13e1ae0843602ad3136d171c638d4689d3e2f19bd3755f645367236353873452e3eba241e387e7f9935e916b735f828e63ca8c7d335ba9f37360fea3836ea9a5f3aa8f2c63728c689365436a436c81519385ac9cc36203f6536ab0498364b22f036529faf364d2c8834b8c4933538bb503777f7723573ea6d3619ae78362925a83683fa8f365708b536e4d6e03652b732370a4e5b3763577c36357f81367be98c369fbf8437f819e0346fc1ef346654db35c3991537d1076036979488363d7db136904ed236b2199636abd18f36727cca364dece83644a694360f67f83e6bab033f1d36723626fb853616b2c63e2cfd103f3ffa8036deb95935dec4833e9a800d3f70c8ef34fecd6e36bdd9e43da6b1093f9ea864364d92d6366c9d123d4fc9ed3ec4b2e136f8627a363bf7ce3732c2b33ed7387c3604a8e33463bfdb35885d433e8562b9354aec7b364ddda036e5723e3dda0fa8366f73833656f29b3604dd973ae87fb336d67b363696ee403606529c38323158363a96a2353eecb135057c9f36da42cd353a453e36b9218f36e94b4438e4c9873764a02036cefd38361ba4973761d3ca37bd6612368c752336ff8ddd36340d84375f1d5336e02b4f3697d72937df2586389fcf5a36c1317c366f969b36eadcbe373fc8ff358d391336eb753036e1bf9c3742c2a436f39c9b366fa2ad36ef525837b2244436972aa43e1bb32d3fb9193836c951b2353c19773ebf353b3fde4aaf356d4989363131cd3dcbed3a3f44e7363609ba3e36b6aac838f74c313f84642c36f1460e369fc50f38a0570c3f265014370aad4c3622284f383af9c23e167d31382941723634aeac36f6045f3ebf5f9f36be2c0736a6bd2e36fee28b3d72a95836f29b9336a57ea73672efb13a476cb336b20b3a3643e17f367fd683388dbf7336b6dafc35eb5efa35c4c94a3764cbfb35f4038536731c95361ac68f36d3c597364d11713684a16236273a57362c2b4d37f737e535f4c4cf3531a6cd35d7c6c835f6fbf235c40d02367a213636f8504536d3f95136f16954362d93be3693e94c37da968e35f45ead355739ba357c85d0350a875e366a7a6136a26a5f36b93eb037e5975e36e507253e6cdb563f42741336c77ddf35413ba93d0ffb633fd18ef83581cd8c36ddac923815ab613f13a66636956a5836bc795838b10d413f36c60037d0acac355c79e23587c0113f6438cc35db68e7354422623602e3ce3e87d41d36c9d04e36eaecc136c49a653e4b0dd1366d1b72359ed7bd356551b43d2449d63533535c3671c95f368f35b73c905667361acba83619d3b63647624b387c82a236ecf5943536e68c3561738f3540d7b935e2430335e2121e352c19d134ece41d36a9770d36a6c50536be231636459ead363e2860365b18543638c9523663af4a3721597936e3d681360b4e99369156bf3605ce07365836d9355b9977368df5d4364ba69936dbcdab36164ae4367abf643789b2d736efd6de3605ad3b37b963f437d8f9b036b38ea93ce7c97a3f159e2c36e1f061354bb90e382ecf7f3f24267b355a3df83417d00d36e0c06c3f4a702036abd7fa35f48a4136618f433f9c95ce3691e349360adf6136a9b3163f0fa926376cf27336ee43b836a9a1ce3e2f0a95364b52e735f61a71360634613e341e7236d069a236af96ed36b683b63d28d5ff36bd3dd036f4e60f37ca475a3ac19e243700000000000000000000000000000000ad323135936f0b3593e7ea34982f4b35ac622f3532a96135102e383516b08738d7a1953649f68736d1ee8c3646bd053880c71c3600161e366f2f1736ad64aa37aa1f8936b21d85368c443f3872d8d8380de9bf368556ba360dca4d37b4978738ecbf563695645a36ca5b6636e2832a380000000000000000000000000000000000000000000000000000803f000000006ea4c334deee133594a17d3f5c599837286a28352f6287357928593fddeddd38268c8f3616ef9d36e59c2e3f244e83384ae7033652ad1c365803043f64240a38b51e2037656d80386675b03e8476e9388a51d336f9729737b7492c3e244a6e3828cf5336d4705a36d3a0523dc00cde370000000000000000000000000000000000000000000000000000000000000000263c803448bbd235655275381c50353858dff63459bb7635485d64387c9f3938fff290359807c2359c0b2d384cccc3376eb83c3635179036be28013a5bb1913861a20f36ef654136826b303ada282836bd9ad035d7fe393803c8a33814ebd837412e9f3687593f381b9d4e3af4787b3700000000000000000000000000000000000000000000803f0000000000000000a4ddb9352c28683f1be0123de15e9f368bcb633560c8443f4cb1053d382ded36035cbd359bd2223fdde3ac39d22ddc35fae28d36f31ffa3e913b8e3a4aee8c36e7783a36ba94ae3eeba528390d38c135dd3023381935463e0d216c387d4f8d34fb051f384b454d3dda53fa387ae48b35000000000000000000000000000000008b828133b95af13325ce9b387f398a38b96ffb339b7704340870e637024b163800000000a359ab35b67109384719c337c06ec734c8fa05363fecb2387b120838400581344b858935fee93b38fa10b937dbb707360763753608459c38a9332d3842fd0435aba32635e8214d3821656437ba5d8834f9e28a34b7373937cab700382cc39634ca02a334d8b79635be89b938fe3380332f86653fd6ab7b3d7a81de37d0f3043435614d3f385cd63dbfab1a36b34c693561c7263fae4ec43dba9c54367c41e035b9a6023f2326a23d2203773656956835430dbd3ec5a96b3d3c1cc135807066367674703e47a3d73ca9786b3606fc3535b097b43d4f05293ccc07a0347dba8734bc8c6b37d7a5053cd6308b348a8ba034681a5535f982063a7eb702390f23d23387430e3558f28f38a3e7f537298dab340f19b5341ac2c7382f8b5d386dfd303442a699355a4e9a386c1e6c38040cd935b467733618d25c384c1c0338773d0435583e0635653e34387c110638c6987d360be9cd363f45c038a53099385c6fb6356ddf0536e88a0e3842db4b38987ee9345c9af3347f4efc34976e8138c44c6e34aa4879342d8b713662b99138fb63f033e47c433fd7454d3ec65c523604dfb2343a81263f30407b3e974dfb349a12873586f8043fa881713e14e65436843e61364f63bc3e0bef683e85a6863622d505358c72803e91a64f3e6c0e0935fe1ac336daa6ca3d45d1393ea62de236f6dd033655d53138f10e1c3edca2c637deb4f13469d4fc3458dea13c50449038e5127634c3314136a7cdad39d026c13834a0e83522b734360809013934298b3839f91635bf9b1435554de1388aec15382e0213369ce25036514d9738f6f34438b64b1235d4b314365a2ffe3775948137af91c7352df3fe358c2779381d028038b73e8836e224a4369407fc37ba472a38bbd22c35f09442354c214236e2350b38b079023598dd0035a6130635eaed87380d66783489bb8d34d3cba334cae4ac3762bf0e360d7a203f6e20b43edf3d62366e9814355fa0023fdf85c93e6fa41335dd5b413653f4bf3e87b5c73ea94358366ec7e23545fc7b3ed7c9bf3e07125e369ae0f135ae96073e7d2eb13e22a6923729239c367ccfd63c9f00953e5145f636f0263e35be733b36a6083b3e63fac13798a90135de920535435a443d2e72763875328e34c7baa234542e973a8783953777f5f935ebb9c33726c8bf3a4231a13878c04e34845e5034dc188e386c3d013864c86e35d8441736dd946f38d42c0738d2eb8b3603cdc13638c2fa37922ed237ab88ac340a2557354df65f3804488138907c463622299836b84fd43631870d38a4bd31357394d6355433db3633135138a2014f34bc615034b1a15234d5385438214daa3559362c36e8ac2d380559e5389f3c5b365e73f83e9c6eff3e1d1071369e9550345bd7c03e9f9e0b3fb9545134968aff35b765803edd5a0a3f71681d3644f9b336ed0b053e6ff0053faeadbe3600e72835df81c63d3c57ce3ef1e10838903b8b36bcbc8c375dd1b13ef9b9e636363bc135fa5cb336be48563e17570b381c535034557c51349b1fa03d7af00e3812ee0f368d3dd037a79d6c3c16cdb4386227bc341a1cbe348cd52c3c9dc13237e2022c35da712b356773ff389555f537b81d8c35ebce473602932938111b853755306136d6459b3660a6f23750bd1a38cbc3983571e0d6357f8a3238629d85381d577a35bf49173676668836faf7e03703db2d36ad1b423681b77337e6ef86386fffff34d186053523430036a7456f38d865f135201f2a36a781ca374551b4383990bd343299af3ef063253f36039a349d322635bee77e3e6808343f8abbff34abda2436de04e53de0ad343f1ed0f23560469436bcf0183d6e50253f629eb436a215cd35ae227538898e053f0f7b00387c24fe35c32088365c6fc23e38960d37741a41364c4cef367aea703e6ddf33385d41053558caac359e8cc53d42c30b385d0719369bd403374ad8b13c5fc49c38da3f8e369a023e382ca9b63c27a31238a5bb0a35d77d07355f79be38822ca837696e04363ab72636494d143831a01d381ed074360b68a536317b9f37757e95383ebd0a35d79d0935eb2b09356b7f1538b75f21362e0f5336a6a09036c8a72c38f0d50a36fdf71d361541453796a68b38e7581735d52d1935d4a8a837d74bb8380a4511352b68f53525ec75361b202038dd0ebc3781f3473e4e45483f518a07363f120835c73fe83d85015e3f1ccaf8347dcd1b3662e9d43b3753573fd9442536fec99936a15d5a38e63c383f1260773858c50a35beff183734ea0b3f6b379d37eb6545367e9991369450cf3e0560e237887011361baad236de1f7b3ed5b6223894b51035342e2e370cb3d53d480d513772bfce35b3f66b36eb33143dd0ae2c37e9e82f3680a552381565923c90be2938c0ba8d34acf18e34a87d32374964a237ad358e34d07099342003a634a2619c376c49bf35767621362fd2713601a55938c1408234d2290435fedcd2353fb0033899bbba35329e1f3618d1843630038d3843d82a36ea2137363586593653b4163881340f3669071536f84e843777a420384aca2336be0f3f360def3c3834b69438b9e4273808155e3d30796d3f7fbdad3404e58c34740ccc37afe27d3f80fd863483ef95344030a434d7e6663ffe80c837a7bf17363367793623363d3fb3f05d38678ae934b712dc359dc6123f0848e23758f61636a1968636535dd23e8babab37c9833736dd685a36e29b813e06cb3f36a318133629250f377bf2be3d2aa6873537f230368fe3133898da2b3dda883838000000000000000000000000000000004718f934a5a518356a029a35777fa138d3ae6a345e857534fcfd9534550d42384793db34853edd34a771dc356f2d8036e9844236e4f154368d8d7b37005cdb382a45aa35e745c6358448db35fc3212385c39cb35e9fdd83595dc903710b06338673d83361db28c3694b6a337540d63380000000000000000000000000000000000000000000000000000803f00000000735316353c20743570d7723fa9621a3ab76d763450c892343b9e4b3f5fff343c96ecdd344342c1358e8a283fb3e5c439512658367b2954375796023f4e8be9382adcc1355941db35fb5dba3e2cc60938e885de35c3a74a37a6774b3e114e3e387d989136382e9c36cc766b3d83eef837000000000000000000000000000000000000000000000000000000000000000020d2d8332fad8b338f3dfb335ee70734bd3f16344af01134e6872534509f4b3400000000000000000000000000000000cf26b434866e8f34c50b8c3567e78d35c7213333f20d1c330c983934ca03d6338037a8358dfb683648a42f3192ae2832603e32354d1ed834cdce1835eff1443500000000000000000000000000000000000000000000803f0000000000000000123eaa3343917e3fccd052341e2fd833fe2c1534d6dd623f55799434b6cb61346319f83241ac3d3f0000000000000000d5d919356935103f26e30736d991633506febc36d173bc3e886ace343c8d1535a967313783bd463ecc952a31b2e4bf32673665361ae36d3d40a09b35a9246035000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bf865e33c7fc4d331213d1331b294f34b20a1b34a30104340fc49534eb1ec034f627e434cac4ca3402cddf345d78cb349d309e33aac091338ff2a633afe9d833e7b7fa34b8222035cddd7235f7353d3503c69c3445767334952c9134760496344bd9a8329e3b6e325bbcb032e53abc32000000004bf27f3f0de6163c00000000000000009f2c6b3f0b13053d00000000a2ac97320773533f6f916c3bf12536346c701f34e6f5273f95c3403adf6a81347fc9d834f598f83e6492993ad73cc7347378a0332e2da13ef1220f3a26801234c7d29c33bf89193eb6114b3884c4eb3436285a348b01803c6d35093a13559434c42a4632e9addd325a03c432d594ae3225172334539b1e34b6f12b342af653344ac4d73451bb2b35c983d03583579f350000000000000000ce8bf13485db973460fb5f33040e3c3383184933322649335cd57735734e5235bee597355aec5c3569d2d8313fbdf6315349c934bb8da13159cbca32030aa63283120034cadbf1321a500b3363bb8f32ed92bb32250f0a33000000000000000000000000000000004cab133413005f3ff37d0d3e8ec75d345501333447d24f3f76922c3e12fd783500000000caa3313f650b0f3e930abf3445f23933c669073f216e023ef0ec7133a082f6347f35ba3e60c7d53d20d47635b7c4163256874c3e5b6cdc3d3365bb3143cfa4325ef3813d4d1d603d0d9d4b33e28d0a325ef4c6366dcd8534d705c3320000000000000000601b183700000000c4c53730527aab3093c1523155ddcb30000000000000000000000000000000009dc23132000000008f20e933de8f8832771f0131fe05ed3039f7d33038bed73084406135b1268035431cc735a2adb6352fc40433316ae33273a80b33a198fe329e2efc324f591535dbd5a7356b19b63523d9b7356e43d035760d163619680e3652987e3449f96334e7216835068a9d35ade2e130d7f1383fda00933ec3b3ac300000000054a0273fc07ab53e0000000058801731f92a083f6e47a53e6544313246f0d030e098c33e4e3c963e886d003153258f3561ff643e71c4883ebd4b8a3504eaeb3247c1c83d5036633e47e5fb3200000000403bea3c7658e23d532f7e350793b23521d13e37de598d3a0c6dec35d93c4c3427d067350d20ab3510aa6f35000000000000000000000000000000000000000000000000000000003fada0340000000000000000000000000000000001b65f3374ae3c338b874633c87644332d29a73474a790347fabcc349b64203574113e3376f72833acdb4633a5e02e33000000000000000000000000a69f8f34000000000000000000000000227ceb3400000000000000000000000000000000000000005947093f2e7bf43e00000000000000001db5f63e5a73073f000000000000000041d0b83e9666043f00000000412e373361ab5b3eca06f03ec73b37337c9e92348701c43de096d33e36f18834e547343395386b3da8018e3e21b52f3300000000db70993cd961f83d000000000000000028b5c73803bc803a000000000000000000000000f142e53700000000cb8f283427191235e43011369ea4c33527709435b53ea235e442d535fe7e9f3500000000292e59330a115e35771a3c35346f1c332a0400331e320b33b5d8093357178535972e6235a11e8e355a4a6f351a8ac1303b07d830f2f4cf3007ff903079b696327d8c1232124fea32cb7d633200000000000000000000000000000000a0f051314a76b131dd6daa31271bfc316ac41a34e11fb13eede02a3f045e2934ba5c403512ac9c3e11b4343feb046435000000005d683f3ee9912f3fe0aaea343778fe329ca2bd3d88c61a3fecbaf4328dab153545f6463d880df63ed8ee74351f250431a18d0c3d29329c3e6708a63073e38a3178d8a73c8ced0d3e2bc60932000000008c05bf3929bcb73b0000000024f0433187935736f1b3dd313471a231000000004a711637000000000000000069ff3d3233e001321b63c53257a38d32e4b5ae32ccd219330358b13271ed8833cf651432e7e90432f283ed310937f43125307335ad1781350f5f853576429635f8c34533c00b773331714b332a24de330000000000000000c3471a3452fe8134b47970350ce79635ffdff835e70af43539f670344a895c341364493452d7a9340000000025ee393ebbf9533f000000000b036d32f469183e78be5d3fcfcd1332d604253375d3813d2b72553f16a74f3311b5ec31ae725f3cc804323f3bdf123274b7a2356b2fc83c04c5063facbc4435639a9b330deade3ccaf5aa3e628e3c3300000000fb7bf33cf1861b3e000000002cab8135c212b23b69a7d53c318b933577714a347e4a7b375e95ea36393c633498a0b832aecc8c3269bbb532ba6aa932d84894349d247e34ea189334984d8234889012358451c934e226ff33ee83cb3415cdc633420ca6336df5a633d83be033a39200352120d634b152e03449c5dc34bd26d834e2cc7734b0d50a344287ab3418792d347edae9331b2dbd33401e19340000000000000000000000000000000000000000000000000000000000000000a08f993214e5143d28067a3f37cf5d32247a8d34df43ae3b5d107c3ff82b5734e46a4f33e0a9873507b75c3f5ae240331a1ba033a586dc38e9ca323f4733a633ba77d234b66ae739420b073f79c5d934c1201033a986693abfd2b53e893345341be646333858093c3463323ed7c4153400000000750e723aaf2c673d000000000000000000000000eeb50e39000000000000000000000000000000000000000008512835d496c834f171ed34c2b7ed34a665223136f33731d30f2b3141c6f230bb785c3373ac34334244b4335b49b134bd30b134b4f23034821d123518b7393500000000000000000000000000000000d5a13334520a1a3470bc83346b92b434b6af2734f276de33ef24ef33b84311340000000000000000000000000000000000000000000000000000803f00000000ae69c33465c49b3599d1743fe9e0bb34575b61310f4b3f3146bd513f1edc0e3188503333c1bd0f359b0d263f9f178a34e9f42e3499d7ed35df22e83e84d4863500000000000000005d9f8b3e00000000fd890334a6948f36276f013ebc6e42349381b5330f79cd335e258c3c7fc7e133000000000000000000000000000000000000000000000000000000000000000088d6c133ad6f44345ab97d3458978434abec8834dce78234a2d1a5343c29a634e3ae1335aec71b3530788736047369351814f134f75ced3407990f35eb600c35fc4454354a5b18350e124435456c3d35d7a9c53094752f318b150b37e038e0310000000000000000cabe80370000000000000000000000000000000000000000000000000000803f0000000000000000249b4b34165c783f6eeeae342919aa3407198c3469ed5a3f0fa247371e739d3440d531351486333fad558a37491247353ef909355302083fa81e1e352e182f355f062935030db93e80774235cc673035c0c7e730b3d44c3ee7bb7133dfaf5c320000000006ef353de7ed6736ff438f3300000000000000000000000000000000db70c33431e92a35c16bf23871d9e4352b82d23252f96f343fc6da34aa43e2346e852c3257849e32dc7c843488a39534f854bf33675ca634dc06ee3505b7de3543a7df34a2900c356b437836f7233535e42ba83434ea4f349d59cf350110033600000000b51943333926cb3423f92734000000003c657631f82bdd3396b679334439cd358ebf2c35a21b7d35bb880d373f4f0535eb0d773f710fd73ca24fa2356a06d0333c8b553f662c713d9ae9af347250433245e3363f776d613d9b5b1e34c2f43b34d0860e3f1ed3883cb7ae7c35f48ad534b3f5cf3e2ba2923a32d13e35bd521c340c25813e22b3113afb0181358b7f47339f14cc3dcb9cb13af1406c33000000007c9ea233ec4c623b98533a34bbcf2035cf8e193515d5613a1ce61f388a66a031aff436329e88063ad0cd133672d94d33ae5e0f34fcad8139027fc834d32f4333a5136a349e3e47371287243513c1f7349878c8342b214b3778dfd134b95e55342821f93278103636e98f52336485b8345a878c3453cda035069680355d03ea3497038c34b8bbba34b5c7103500000000000000000000000000000000c3b35a320000000075f4ae327c203237b8cf07327d98503f1e5b0f3ec6615b3148d77234406b343fd0fc473e00d1253361a00b34eaca0e3fd1b1373e5be1863438d7bd34c768cf3e91cc283e26b39834a5b261336ee6823e2eb8063ee2490a33a3335b345f6ab43dc06e083e2f82093576d28734ecc5b8341ae8fa3d0822193500000000000000002254243d000000000000000000000000a8918c3a1df10b3800000000000000001a1c0a3b0000000000000000000000007473ff38000000001b9b0c34091095332a893739b2a779341839c7342bd29e343aad6537b7baa534000000000000000000000000000000002ae72b3576e0003530e018354c0b173587610b34569381334e54ef348123243500000000000000001faef131000000000000000000000000004f7a31f83f473700000000d3002e3fe1ed9b3e0000000000000000df010b3fc01ab53e000000006a1f2433ffded03e1a5caf3ece099933b3ccb334b863863e36c3a63e79e46e340000000052b0cd3df92fa43e000000003bf706353c5a0739a9a39f3e2a631135b89475337f644c351565483efccd723400000000000000006869853d57fe04330000000072523231b955c53aba34d737cd7d5135dfbb5d351e6a303bac54f235000000006bf31333211f1a3a00000000dd154f336aea4c33a4833d39feeb2d34a9799d333511ba35d09409366e53ea35b5057f331014cf33a02ad833e0bddf31b97f5034b41f013422cb7b356f2f0936f6d7eb32b217b532b7c9293377dfe533281ebd33000000000000000000000000ad85eb35dca87f352eb0fa3534e6a13682df0c3592d2033faf2ef93e31e19235435b1f33a55ac93e5814063f0000000056bf52321d1c823ec685053f99794f33aaf04a354afbe13d693f043f704f7a34929f1e33379ec539e0d5003fd2198b33d3adc233c5fed7359992c33e6869d235aa06f53175b782337ffa6e3e8a9ff4330000000000000000542ebb3de546173440c196354941a8352c6e5a3b3fabab368ba7493110b21d3291e1273b00ee5032fc57c631afa38f3388dd97393e55b233ed4f5b330100173412662b3548d9e034f8043d3573f62435de2d1135acde173500000000000000000000000000000000e673a034a3a885347a7d8034e035aa3400fc6e34b01f403386d00e34feb2dc340000000000000000000000000000000000000000000000000000000037c8ae379198e43188deb03e4791283f382e73304e1a2e339eda7e3eb8a2313f0000000008a68830539ed53db20d353f9a475f33fc50243579697b3944f1313f63b80e350000000000000000b147163f0000000000684b344ffa4a348059d73e5920be34899e873369535f33b0fe833e168180340000000000000000213be53d0000000000000000000000004027ab3c33f1b237840c37345f832f37c531ed3a74ec933100000000000000006ab9753700000000d94cb334e3d8da3477ba0b352cbda3344db85e35db3c343587e30c35b42f3235744b273350630f33e426d93206dc0233c5d7d134d4b28a34e089c63479f2b03497573934e82e28343df2c134d33d1e3500000000c64fd332949cb6332cd78434000000006885d13023a0bc31d080963736c24433f002423ebabe503f0000000000000000d9c9d63d1f815c3f00000000792b02355c74f437df88623f174c8034d2368c352a5fa9359d22493f85bd9d346aea0933c86fe33234161f3fd9168e33acbaa43443765f348335e13e8cfdae3482673c348e9984343be38a3ea829013500000000aea849339c04db3ddf73c23400000000875d9e3185d6513de6c65f37d007ba35c61694370aa356384fd4a935ec128633695b23344cf34e34823cd132c4ce1c34371be3338c77c8339db28633988b963443809a34b9308d34ca5bb8354bec5e35a5f82a35f39c0235dfb62c356b719f3479239c34629d21354bde9f35b45ac6331c4f913220ef423275dd5834aeac0135784c8c347a5f223465f2d4345aaaab356a9f8635c013be35004bb63506d12e366285223d97a3763f649a03351a790c34b4417a34da35803f0000000080f4c633963b86337f92673fc8c2ac339fc99334020085359c14413f28b2103511af173576fd1e3589dd193f52194935eb978734f2f16035ce21de3eccd29b3513078732b5a2c933315b733e073165348e986f34e34a82340c55e63d494d113586807f35ff5da935a841433c96427b350000000000000000000000000000000061b396340000000000000000000000000c9602333f615532073c2e32d355f13399306b35b8d7343571af2e351d976335465e8935b3b80d350b31d6346731173536bf0f350da84e35be566b35aa1d6f354b60ee347bc49034366c9a344dedb934290d07352ee880348a0c68343bdaa1340000000000000000000000000000000000000000000000000000803f000000000781e13200000000e8f6753fdd5d2437865d6b3210dc1132a4b54e3f00f0c138000e303567a33735353e253fcf75b1384b1829354856fe34f8bdf33e3f672d354dd11635e5e32b3522769c3ee18c493658a78e34c9548a34320d193e1b77b334f02f8e34b5fc6434b7910b3de259a5340000000000000000000000000000000000000000000000000000000000000000e01e7c345e619a34d7f41e3bcebcc8370a1f973428c38a34c2a63d3a98d53137506cd33387f0bf342b9a163b03edf73787c743349fea5c340433503cf449153748110434e376e733f1cd143dd33ce836eba00835939d0d35807d3e3dbd5f303400000000000000006fb7473c0000000000000000000000000000000000000000000000000000803f0000000000000000f2648c349617683f3267a73ca13aca344f098634e878493ffce1423de85a673451d7c43431ec223fc69ee73a55d0523438e34b34765df43e8c63303a38c68e345abee033c1f1a03e488e5238df2fc13301ac1e356e67003ec6498637b25bcd3200000000e137243d586523380000000000000000000000000000000000000000b4f636329cbe2e3231db9a3ba0ef2038dba5b7315ecda831fe342a3ba81ff0377a2cba33cfebc633ea43b13a4b1aae3814597b332399b033582c913be78751370ec89531a1638231faf1873b67d4a737b17d0c33f97a0e33e110113d1e204036010e9832b6c3d732e3993a3c7f59243300000000000000004ce21d3725678d3800000000000000000000000000000000b7553c3254fe633fb4954e3daa482c3224faa931d057453fff12d03d69019131e3a1c533f3e5203f4e00b13d559bbd33cfd1b3331d31f93eddfb013decb80734927a7c31cf20b03eb5b3eb3973ec4e3198b40d3387513d3ec8425639cb6218336818de325b2c5b3db5bdb33707e1343300000000f647e736732a973c61464c3600000000000000007ef3923b000000000000000000000000c81e933b57783f3844bf1834158e3434b4bec33ba58d6938dfda1b34e8cf7134989bad3b666a0138000000001fa291337d04923b5c714038a0f7423415b35134c991d93c20418c37606cfa35fdc80536038cb93ab6d60b3800000000bc10463312b82537e30c6e383aa336347fe24734612b87345bdf9638948c82346f4e8c33dc89f831b8ecef3700000000f915433f39f5133e00000000782324342e581f3ff921413e66275f347f3a5334d972f93e5a21323e647b2134000000001f65ad3e6cc1193e00000000efec3c341dc7493e8982f93d5ab09534158bfd354eae4a3d4eccfd3d0000000000000000f9ff0f37c150f53d0023ed3648dd3334c38f6d349e0a1f3ddbe27e38ed78b733948f0a3260b74e3b6a9e963cdb55f13200000000e06c0c3c300f393666321e3497313634d69bae3c507422380000000000000000cfe08d3c44b101380000000077c57532c2ecd93c513019379f9c603413067534fbc69e3a61050f370000000000000000c3715637a4b33a381e445b34f1c3ca3499ac03352be58f385a655c34775a82347a2899342d0990380000000000000000000000006e36c13806c9d832b8171d3f723da53ee339bc3365de2f3475b3f03e1d6ca63e6160533400000000faeeab3e619ea43e000000000000000091674f3e932d9a3e9e6fd233df2b6a343003773d4f76a03e504db83400000000fa17913620279e3e2b0d2934226fb23483f7f23452cc6d3e2b836538570c7734935b93341a9fde3dbad6463800000000000000003997d53b0ce9a1380000000000000000835b443d62877e3135b6533116d089314c8b2d3d3e2fea3784733d34d38d56349b7e0d3dda8444348776483477b17a3459db83394aa69d3400000000000000005c0c0736630f9737d9658a34d5399634b44baf343eb03c37454aee33d88b2234f8f64c34dbbccd377171e630da4e3a31cd3c5c310a3187380000000000000000000000005afd0b39000000004b5fe53e504cf23e00000000804e8031d152a23e9ed4f63ed1dd493137ec5834dd01483ec4acfb3e070d3a34f9978034122c923d6c45003f8341a63400000000569f43361377003f00000000881e9a34a96faf3498a4dc3e3c348e3421632234af1352341b9c913e4bb34c37d77a2331709b47317c4e283edc2c2738000000000000000008ab173d535ab4380000000000000000f00f9f3d4f123a3886a26c34be1d8734740e8f3d1d285837ccb920366692533649ae113a35d74d370000000000000000e174a73781281b38e2e6af34e3589734e2d7b9341c68dd37322107358447903455c21934fa86e237000000000000000000000000bc597d38d1da1434f318203418fc4734a5c508392025e73458b45534b33dab343704863800000000c64f923e478e223f000000008cd07b34e2162f3e9712283fe6589c3466b63b364b76a43dacb4303f5712ee34000000008ab6a4377cc6313f70c0a334b8a29434cdd6b2343cf6203ff39b5b37a4948a34ecda3934d055f33e0041b3360000000000000000ebafa93e80e6ec37756d143467ad353486c4423eb81fcd3719c5733471123f34c4767a3d99700a356a217d340ded95345cffa23da942693475f9693446258134fa2ea33c26575d370000000084bcbc348da93237abcb133800000000000000000000000030cc6a386acd6f345a618534e9798e34f5c54f380000000000000000c5d68e32ea85b138efda7c336c09093490523134b8d5d238fccf2c34db0446345ccd5834ce28c7380000000000000000faa0bd3646dea2389b5f6934ebbaf93dcc47483f0000000024647f34e9e9a03d00e05d3f1f158f34a15bac348d866937ec11623fb7b45b36000000009954ec339221543fa7334f386197843416549234bfce283f6ff90d380000000000000000610d033fbbd979380208e93312a31e3481e6ad3efce7a2384f1b403450135734a677403e56c1203800000000d71c98324119be3d53ad0c380000000000000000f446e53c000000000000000000000000ffc58e3799a13e385b7b1e339284243302e93733ff3b4335b2dc1d33f9600e33feeb193319fd023843888d319f184e314e2248310df33638a801f0339f5afb3375a40a34844a2738fa99bb33c85eb23301dcc333d1c019395d0b04326f13a5312909a5316429eb38dabdc932eeb55e32ac9115342fd0a33800000000b22b283d59506e3f0000000000000000ce35db3687da7b3f11664536bad327337ab13633d229703f6baefd3206c915338858143337ea483fe5df3938ff156231fe5c3431c31b283fb33bee377871003497f00a345e6ff73e205fca374eadbb33065ec133e5e1933e3e0fbd387ba1c131814c8c319b8d043ed2bda1371c278b32d26d3b3253096e3d7b2a5438000000000000000000000000000000000000000000000000000000003d9d0b38bf85bf32cc3ebb3224dfd032b962f737ed43fd3330b2bd33d8e0bc33e85425380ee47b340f9f833428128934238b0a38048f9733eefa9833b96e88343d2456395fa6a034aed86b341e3b6034b5ec743810eec03471fac03479f9c634f380ac390000000000000000000000000000000000000000000000000000803f0000000000000000000000003068733fe8a32b387193c13206e0cb325e2e4c3f0f2b153daf90ce33a98fab33e3a3273f52d25538911c8434c6db8b34c6a7033fa68ff437bb7a9c33141c8734cd89ba3e652b8f38caf68034622f4d3491622d3e3c132c375ccec534ab99c734a910983d7f46f0370000000000000000000000000000000000000000000000000000000000000000c46c5536617551364ef6f7365e57563767aa113760ef0d373ea0ee3739412538d6fabb36263f80367c7aae375c600638e9a280374846423785bd0238f75a1a38d91d2a37648920373a0ac33793dc0038a4e69337573d8d3776b4d137cbb0cb372e9145375a5360375ceaaa372980a53700000000000000000000000000000000000000000000803f0000000000000000b2524e36d9f37f3f20b79c3709731a37e6840e37b362553f268361387edded372ad4a036c7e5293f3f1d56383b828837b82c8a37ef9dfc3e8d1ee0392258f337bb272337ca80a53e6ad9343871c0c237482483370a391e3eebb00a380502a137bb8edf36dde05638385df537365b343700000000000000000000000000000000c5b71a36848e4e361f01f437a2f700384f1b9f351c8b9135a57a5437666cc237d605a836181298361e806b374c25033863a48836d75b7c36dca5bf3776913538ba2b1236104f10365d329737ae28dd37547424373c81eb36f49c95375fd8bf370fcf7936eba85636e9d3b4372d8d003852913636cc613c36ab84b1368cd7203776550a37563712377b6c5d3790cb9937db6bd435aaba7e3fe6539a3bdf1e6e379c9380353816763f2025fe3c9894f83670e795367a9d4c3f0163f93cf63b46374aaf7a363bae233f092fc63c542aba3794350a36b4b7f33ebd869d3cdb2394374edfdb365cd3a03ea59f8238b4b29c37d7014d36bfc01c3ebbe89738a88bac37a4912e3634f1c1374482c13760baa0368abfaa36971b39378708bb37c9209a37b17b00358bd300357f4a9937533f7437e3e99135c8948f358f7e9336d8fd413794573b361e762d368ab1aa377de402384b3daf36457ea1365115cf376e722b386faea0360f0a39366a145237d59cc637e18b543728f9193752ba033877004c38d76ca136629b9b36b456be37f6760038f6334936220f6336d396183713ab3a37531d4f37f3f8483763af8b3706d3a03760e5fb345a66533f4d45323e39e501356db38d352feb4d3f928a413e53849135ec021a3674bc293f4417343ede905f3759cd9936e7450c3fd1d2133e8c00b337f80cb8353fc1cb3e0edbd53dbf1741378680d536f016843ef04a653d422ced37b06e9536fd9f043e7fe4883ca8fe7a375c85ef34abfca83786daee37fa730437f85e803649837737857fbc37bf389737aa9611379dda4837ea1730386c16d137e9ea1036c0e411361996813728888d37577eaa360c65a73623aa4237f70b0238891ae43526b0ea3504fa10385c407a38a339ee367b2189365ca25e373541eb377a3aa836245d9a36b75e8b3757eff737ca78b437a8a5a937edca253863b837384a0f8635a6089835f6601b3779fe2f3777136a37efb96b37e978b9379df5d437a3365636b3f4283f9afcad3e377d253772ad0336c671253f4e79b33efb279d3646d9a236a9860c3f1295a03e2adbae36f470d735476ddd3e8706813eb65b27370941d73558f3a03eca583d3ea2cc28374ceb92362a54493ea08bf13d20bdab365efa0537a024ab3d401c563d160ee337511f86352e887c372e2dce3704901f36505f8636c678b137000c07387f33a5374390fa36142b8b37a7b3163881c5e1372812de36f7d51737d43d0538a1bb0438cd1c27362be21e36cb4ddc372b182838ee5492378af339377302cd374d091c381e399b37844c81373b190338b9c832381854bb371db896375d40e3376baa123894b07037ed832137d8a5083812992a38d438b8378653b337c2f80238c567083810569d3715b99337223ed5377cd3e3378e078636e53cfc3e76cd013ff8cbaf364592d8350778f73e4332043fcc019436d7041f36430dd03e5fe8e43e78c62636b361b836dd3fa33e58afbb3ebd538a3780c42d374e306f3ea750883e1636a0376f3f5137e41a093e86dc383e24c8ac379b8e43361479533d2cf6c13df0014d37184d5237cb351e3876a85a3813aeae37e00905379fd6ce376f941d380042a537ee3ffe3613fa833771eb07389153c037fea3a0350c7592359c37f636c3bf1737c3558137a6d351373524fe37c0322e389529ab363a269b36a0d803375128e0371f123837adb1063762f73f373e63cb375879cf37d6be2d3799da0738226a63386b0a513775821237f9b482377f70ed370a66473720e63a37f344873713d58b37febf8c37cd598937e3b4b337c62eeb3768777a36b278a63e72b72c3fd4836a36dbbf8a358fc6a23e66942e3fe1f37235ea2791354e028b3ef4a3173f50972637182d98361c42523e40c5f53e83a89b36d724be36ba37133e0abcb63e3bf6f036a9eca536be6a963dfc9f773edf1ce136b5b3b336f373de3b7da9053e9152b036bd75013786f0ad372415463b373e1a37f3905b373ad79f3715554738172c83379cc765370aec6737a94db9371bcb9a37c5b597368e11c6351fcad636f2931637cdcec43649ad9836782dc836ec28c137a565cc3709ea8137b626af37bca31f38eab350375a941337b7352537db3a9237fd7ce1376abe9a375086b5378adc0b38d3ecb437214480373a8bb037f085ec3731b092359a499435969d563607c91e3793760f37261ad936b62f3a37cdc543379cc4033786fd213edd75573f57143b364d95e234870b203eb7ef573f4a38d934a8239636d417153ef143353fd4b7903697346b3778c4c63d07bb163ffe3c4337c9200e37e60b833d85efdd3e4069e636f2b973378ee3183cb9a7983e445c2237e23a44377f574e38f2c2243e149e1837013c93356f9f4337cbded53b66fe9435c7c54735b0fe15370b9bd037e1bd4836235a653768ea37370b43a33713208137d2384436982d3b362151363664c86e362f419837b65fb136824152368314b1374bde9937de2046371f9d1a378f99af37f251993744ffe6360ed8c8368839bd3703d8cb3795e68037c11a60378b93e137dcd9a23790643637b04a3437ed4ccf37032480379bef043773686737bf878437f4d6a5379a2196378e3a95371c989437cc7f333751cb9538c6f27f3f383b98363280443693650d3873f67f3fabb521363fab1437d5059238b7be583fc7a34f3650c173375d2b36389c852f3f678d2f3719863037a68e0b38c829013f52142c3750e68937d8105d383d24ac3e3dfa7b3714123f378c210738be322e3e6df91f371099b7362773a937f678f73babb8c03535247c379b259637a31d2338c0572637000000000000000000000000000000006df921376aad67362bf18736e68fce379efd9e37d64fd836436cb1360c53e837b849b237fb5d2637ccee1937ac960b380050fa376f5d9a3770bf89379dd26038e42bbd3774760e373ba1033796070938b92a0b38fcaba837eb95c337a0b229386eea583761870c37c6393237ee915a370000000000000000000000000000000000000000000000000000803f00000000dfa0f036a046ad37e6f27f3fe1c64137f87d6737606fcb37e25c583f48a6cd375d8859372da9e03761332d3ff187f037270ad33734e50b38877e013f13830d38d04c2737ebcebc37f90cac3ef368f637d6ebc6378f50fa37562a2a3e852c0f381278203792e11a3728bb0738d3fae536000000000000000000000000000000000000000000000000000000000000000069009136c9e58c379ff641380421fc37da961536f8b522376fa1c938a06a2238272e6836dec1083899761b397198703893082a352b8327374df32238575ab837a690fb3569ba5b37660c5238465dc03755cd9b379a7d123805f97d388efe453868f3a036bb3c55375427b8376916813700000000000000000000000000000000000000000000803f0000000000000000f6efba360cbd703f854eea38d18eaf37f9c6d4362e034a3f9aa5f1393ac89437c10dca37be9d243f4372033ac904393864a7b1368e60fd3e6356bc39bf497a373d43bf3654d4b13efcc1cf39385875374493a1370b8f4d3eb0e1fa38af440338cee99a368f664a3d3b75da3724510737000000000000000000000000000000006880d1351f8a4f374c4e2638d176d83797b26136ac741c379d311f3809c50a38b1719036f1c3c736748763383e9d32384dc0c7364feccb3607d23c394b43343811325f36ff32ad36ed34c2397729903923d90536a2852a37b2585e390ad413399338d536dacc2c3709d0373854d3273827f48f36f681923631ce1e38d6de04380e734437b0895d37fcbfe2371d331238c808df3597266f3fb847863da2f46137ed6f673650795b3f5fef983d633eb737efb6ac362ae5383f6c86943db845be373881c936bdf6163f7395833d8a02933728d264366dc1e93ee0a7613d2f5ac637d8e61d364f39a33e883f083d4e260a38dad2d236841d3d3e2508453c569af43705d98f36404d313d3cc0343aca8e6d378d2b3037140c8137e5088b388f400838aee9d43661397c3788488838700ab5372830383610f4423610a3703bcd09e538d10d6b36f4437436495f5638dc6443385c890136e3590736b5801b3abfb7013ac89da136e5774b37895b253979b8a4385253cd36c9d0f6364da584393a281539cb339536c8fc4a37462345388a5c3a383058ac36cc3088370b80353849642638e235e9360cf636376089043825740d3893d51d373249493fbb945a3e5b1a6c3790eb3b3650e8383f0f4b563ea72a953670147036d4e91e3f6e68453e40bbcd371fe30436a59bff3e83e5283e60b69a37d979a0368a00c23eba73023eaf2d0a38113cd5362bdb833e14b0b83d934a3337f0b14f3690d5143e0690573db45bf937968fab3626d4af3cacf8613cb3a6f5379437dc366d49d937861c4f381d880238ab27e4365ba38f37898a5b39fda1cb37ca0f1e36f4fbd036deb5623a1fa41b388b4865362fd0a6369d585b3ad1d6153aa4050237db4e0537df48e138ccf92738a8fdd4359cd39b3649bf193aa960d53935d7e536e0e846375845003af837b4397f7fc636cf54d436c1b4a73964b2853810d4a63672ba2b3788086939983fe43794508637c4bcb437790620383c2b233891641837bd20243fa986b73ed87d453708302636c0ca163f6dfcb33e400b3937b3e079363f04003ff0a8a03e2ff718374ed70237ea81cd3e3340853e583cc037bf61dc35288a9a3e07424c3efbb992375c1be53679034c3e1a5f153e2f38003880b5be36ab1dd13df6c5b43daa0e0a3822b58236fc0a433b87fc043d5fe36c3744f33437b28f093846224e38d5a61138d4331c3776f9c2379318443aebb81538752f2237797538370d67483ad80f023848cb1237d5eea23759cf7b39761e1c384d293f3764cc4a377f6d0a3958f02738f66f2737cc465937d8f9213a4a40013ae7f94f377800853787dd2d38884e23387550ad373f81d4376a2e1d3870a013381a49643769db973751690338fa6de937db7681374d789637a53116380298253866b035373af6fc3e9b25013f94826f37a2c72737a9fbe93eac30fc3e70c680370e911b37d320c33e9629d93e6a5bda379501403786d29a3e8342b53ebf17ba3701192537e3f36a3e91f0893e0dd5903709a94a3701a0113e1de24d3e1279c237b69797374eb98d3d521e003ed0b4ec3705a138372674fb3740eb4a3dcbdfa7370c504537599ddc372925033afcd703387635ce36cb8eeb371a2d113a61bc1a38c0367136704cb13640ff873aef7c6039d1dca836bb70be362737363ab1b1cf39ff25f23687f31f373cf4223ae92ffd390e953a364be22b3727b9123aef5ccf3947ec0637d5417e37d869293820dc1b38958b0c3777151d37a45e0e3a1c103c39b6d11f37508d7237e8378238831e1938651857370fb75437c4e6d637f5cfe13787e76837bf82b13e4506273f8f149937c2947136ab7ba73e7cc8223f348ee8368cc1a93639b5873ee5030b3ff987ab379e47ec367619523e0b39e53e47a8df37a220353690e4173e6b4eb23e196078375631063715c9ab3d5824823e7789b6375a34cc368246cb3c28ee223e029c1a37b2c13f36642a10389fef6e3dfabec5370e5d403790c29837abb27d382e55bf37a54bde3646adbb374cce8e39a8b50738c662a8361e8f6e371f3a033c4f332e38e9dbd036c2ae5a37197663394c99b1389db200376be3023773039839de488b3937ab8437f704bb37deff81383df48438340df136f5b12437d503be39ec13823982b59237db879637c8b63938a4432a38e799f036d0e3be365b7dc738930e8f37d92e9437e79e8337fb44b6372f55c1376cf2253767ee4e3ec3244c3fed83283783a0a936ca1c413e159a443fdbca913758c5d43629b91f3e0647253fabfeb637bffbf7365645e23de5720a3fb69d093774995a3778e49d3de312d53e2c81f237f6799836c7b3e83cf77f9c3e6ff463373f42e6369468403870a93e3ee16ba53735bd8636a6a36d3759ff833d44faca3601c16d371928883745f783388e94a0378cdd7737bdf58037a7e9463920ad08389a019136b96590366d3d6b3991f45638406a0637319220375e9c32384c5e4038927c7a37640a943764015638ab008c399b6b5237d6452737b08d0b3877129639ffcb04377c21d736a0860738482f28382ab3bb3761a58e371099163893da32382e8bd437949dab375678053862a4ee37a30aa23711b75f3783fccf37c3d2dc3716c078375ada5b3d0e26723f72f95a37024690365c37633d6f6f663f81e9f53694baee367e4a203dd28f433f5cbef7375946583739d18c3ce945213f086c1038d6f82037f9ad4b3b75e8f73eaef9ce376da0d4364ed0083815fcb03ec76dac3779d07637f1f2f4371ad6513e4fbfe137e9379e37fbe3d337add18a3d07caab378e272c3796d67b3702452438b519a73700000000000000000000000000000000703ca1364bcd90368443a137b16cdc3733fdad3746da8d3712d24338d444f7380858f136f47c5f36404fa13714835039a8133a37f655e83698ed8a3703cb1c385f032d38827eff3743bc453889567b3888d5ae37c7641b3707b0f43760b63d3833c4dc3792929737a3bbe7373f0515380000000000000000000000000000000000000000000000000000803f0000000022589736c5d67937a04a733f3db9be3765f697377fa32f38be754c3f782988389b39743648d4a63757d5263f950cdb3895d40237595b94378720013f79b11f383d6f0338e5b039389a32b63e7d667c38b65e2237161e8b37f40f573e70813f38cd689937ebe2a4371e6e723dedcc083800000000000000000000000000000000000000000000000000000000000000000e50f3372666a1397a3d553af83d9239270fe637c8fd8b394267e839debd9e3985af2038251f043a84f76d3a8d8f233a28c9263835b8473984bfff3982fe7c394d33bc37ada7dc395f47553a4995083a97a402395fcad0395d052c3abd04e3391c5c2838ae588639c4291e3a1bc2b93900000000000000000000000000000000000000000000803f000000000000000011cd9a3850f7603f535c513a0779cf3831a90c395e66403fd45ced397f56503993266239147c1f3f6f75783ad675c83998a98c3818f5fe3e6c8e163a6c441a397e981439bc64bd3ed1dc623a5cab9c3947ea8839cd20793ee3b8473adca8b439ef634238aca0ed3d2b97383ad1db123900000000000000000000000000000000c49dcd375b88da39aeaa1a3a087fd5391c43bf367f0c9c389c0a793abd5f9e3996436337e5ce1939a11d063aac98b2393bd2e93757e21439b4bfb13a8060043a5132c4371a00ef38b04d533a567fcd394e092b3705a1e93764db123a12276139b0449b37237fad39ae187d3a80b30d3a0276a637a20bdf386692803a9fb2fd39c00f0f38062ca639bd5b163a2033013a3d613339c1e3603fe148ef3d198788391bed6e377af8463f1ddede3d1acfa638ef63da37bfe3293fa0a4be3da14a433918f20d38f4240d3fa4fc9d3d61987b395839ed37f8efe03ec72f803da2f3343935187d379bc6a73e047f3c3d3f230b38ffc1a4389c2b5d3e4869f23c9306d5394f8fc337e56ec23dd6ebac3a51562139d22ac838cd3c0d3ae414573a27cdd539b4aaba373922cf39a6aa843ae1dbab39ac80be3733cb223994fe9e3ad69c0e3a01eed63623421e3a1cdbb13acee8533adcb33e37b9c2333a22c4ab3a47fe7e3aa3e254386ec3fc396e74593a07e3373a9629f83785329739a15c3a3acf9d113a5d2c9239777e273a34dd803a48cd633af4d92b376580dd3969615e3abe6e3b3a95beb037cfb03238e1cdc1392c52bf39d0feb938e24c403f99d6793e96a3a33859f4163835472b3f3602673ec5455339c696ad39b5bf103f1fa13f3e58e6263ad3accc3918a4f03e14b9203ec3234e3adbb28239a8a6bf3e47ebfc3d47d6163ab1b00c38e6c48d3e1fa8c03d3f58c739b867e239b3383a3e96d2793d0cc5453afe3a05397692b03d079ff53cd057183a6f2ce837d1f381393f70123a6d43ac39b6ac9d37041397396494633acac6aa39915a9037fe68f037f938ab3acaaa073a7eb22f383cab5738e167ba3aaa21423a1cd98b3782c1043817dc5e3a4af0043aa49449385578ae38c4d5053aef2cac39a1fddc387e4c173a7ba3873a513d703abc8b4e37b6e60d396aa71b3a1e88f4399f19363806e4a439e1816d3ad2891d3a01b6cd376838733848decc39f0339f392946333876f21f3fcde9bd3e47da9838a383c93793ce0c3ffca4a93e71466c38142946388588f03ea60d913e2445123923f2ab37e1d9c63e051f733eb1a6e1380c375a38c7b99e3e8fe5413ede4e193944faae39c067693e197d103e1317493a0cf977370aef183e0b0dc23dec61a739d4363c380233853de3ca2d3d0818ef398e4bfc377fd8a139ab56103a2a02813965765238ff045639eb8a0a3a9f90a63957c99837dbf80e38239d983aba7f9f39360a4538f065003a118e013bea76913abb41d037a6201f38ba9cc13a896cfb39b4731d38cda83d38766d7a3a8132243a71ebe43795791e380c41963a4ae6ee399d1908394b08e6394a26cc3a1d028f3a55cfc43769f80338370e373a2b03e33998d16e38f9ffb7380f88cd39583eb7398cb7703885fffe3ea946ff3eeae913392100e437a724e13e104ae23e728511384911703934fbbe3e9c74c13e862b133a0366083872959e3e1e09a23e0cd53038cce12e38e3ec7b3e2a08813e9e9780398a1308385b79383ea63f423ef00836380bd87f3916b0ec3dadf3ff3d7f6a303a2fa2da37641c523d8d06833d604c1839e77a733860088a395b340c3a76a5973996a888373d1920394b7e1b3ab37bae39e56b1938c15b6039b817923c0ed12b3a096a0f3778ede338d2e7303a4085053aac6cfb38d3fa113a23e68c3ae3d9773af3d452381f506a3866b5f9393618cf39294fa737073d0a38709d413af9330b3a7cfb3d3806f35038bd3d8b3adc8d543a99d1cc376684ea375a424d3a7cf6223ac84f2b38e56f65388ad0113a55ee0b3ad1d10a3877e7bd3ecf42203f21bbf83870313238e4c8a43e4b950c3f286ad93908565b379a4b8e3e0a13f33e82db9d397015b1391adc693e1e50ca3eb584493a62eb5f38c3fa393e9d0da23efd5a8539de6abf377f30083ee0cc733eb6f0793919594638d1f5ab3df9d1213e8386d839b043d337fe3d0f3d8f86a33d06a4bf39ecc137388043333961556d3a08e5e0392c6f7a37fe3e7139a428303af8a7a339e63f0737b934c039b63d803a9a234f3ae7c26d39f4a6153af62c873ad85c753a9189063880f41f3979e53a3aa463293a94766039a2b2df39ef01523ab844433a5789c4392df61f3a6e378d3a8dc2853a926cb6390b5d043af7a7863a65c06c3a90a721388d90e938cb5c723acb53283a408efc3785081638cb13173ac819113a508291389f55793e95cd403f7a189f383f4c0e3925ad5a3eba282a3f11f1143ae218db3906fd383e798c113f3668513aa0ba11383ca4183e319ff33eee1a013ab472a3396aa6ef3db823c23e2c5f293a362af339e9b9a33da2a8913e83466b3a20a7ca395cb5523d09d7403edb0a473ae70b29385bf191398e93ce3d4d1a9e399349fd371ffe2b39939e913a53b6de39480cf537a8e57f3967d2663af2c5133ab1177e372bb6d237d9b49f3a9aaf783adebf9f374a9e4139e6d9863a06b8613a41475d37f895af37fd6a163ac461193a5e0bdc374728f0374fc8253a3625153a104efd376c5a7e38cc0b5d3a20ba503a61d713381aef4e3860e9d039d034c73989277b3752f7923754801d3a595d013a5d0a343979c45439ca3eff39a3d3fe390e700a39853bed3d1ded603f5556dc392d22aa37f215e63d636f493f9090fb398bb7a13858a9ad3dc71e2a3fca5e113a1e277f3711848d3d5cfb0d3f77badf39488be4371b32553de9bfe23ec318b239b23b033854ad113d7dafa93ee31ed7398e041638b113a23c9a3f623edc55a33931137e37f934bc387649e33d3766883974b41439ff548d39680c263a897dee3900000000000000000000000000000000fdfc13380cd23a387c9e2a3a0a412a3a6cb89a382e5a4c39839c133a0cd6243a5fc85c38f6470e394436293ab2a1493a09472d382f813e38e558a73907c9df3992a11f385d82d338c47c2f3ab216473a654de3382216c9388ed8a739e786bf3919fa1038a09a1338ecf1cd3945a00f3a0000000000000000000000000000000000000000000000000000803f000000003a652b38caf6b939cb25613ff4ba113a90141c393495d6397e48403f4e59183a650fd438d2dadc39eac21f3f4c0d473abc92353899f72f399d67ff3e8a18cd3974d721384e7ed5390dc0bd3efbad483a7f5c9a38601d34394dfa7a3e1958c1391f0e0e38ec8c7a380015f03d12e70f3a0000000000000000000000000000000000000000000000000000000000000000fd661035144b1035f4148a3642423137e0c2953511858e355b8d5636eb621f3876aba336f8a38e36a01f8f37a03fc537f10e0e374f46cf36743c1238a18c213801d24b36dcef563635210937506bec3652273537631f5a3774c6c537d39e4837931cbe37355cee37665111382d84c73700000000000000000000000000000000000000000000803f000000000000000000000b35eda27f3ff741f237ed3a0037ab2296351031603f9cdaee385468fd37018fdb3608db2e3f7aa23538f45aab37a79e9437fa14fc3e0ee27e3846710c38ec629a3652459b3ee52c8538e472a33623167537e926e23db4495e38be98dd36ecc99e37c4f6993839104e384d687f3700000000000000000000000000000000cf062736eb3f2d369d1df837ed6eef375451b335722ec035df0afb3501c2d13655fde635cbe9e73582e2f136c9c6f437e4ecb036208fab360a5f143798a88637df9a083627830736dd47f037c06e28389a140d3668a80c3687efeb3615862637ec315936df285d36cc9cc13663beba361a4cf4352947f6352defd9369568d43603135a35fba38035b6d1a236f9f53a37a2b024360f757d3faad21e3c925e8f37fbdbb3357e87743fe3fb0e3d04d011368fdaeb35b466573f8f848f3c73b1ba37f344ac363533283f5440143b2cdd453795e309367d3fef3eb6eff03aec07123880b411361c758d3edb6eb939bb88ba36fb2b5136f817ab3da99a4b3ae6bf88361843f235beaa3838a9c8823811ed5736f6635c355de83136e99e1a38dcbe5c37160863343c92813468b3353884560638aa161336f7e11e36e49ed136ff0f9737a8f0a436f77cab364f43183727d1ce37f4238b35fa49913587439335d0187337bc24f335751e0036a6c48f3757d8f23792021436b2562136ebb2353899e952380d939f35c802a2354b99fe36e5321237202db5352938bd35cdf32a36da7c0a3703d86f35b9e4753570dc9d36855a4b377de65d3455195d3f858b0b3e44fb5537426a1636e39b553faac8273e00522b36df3f963634bb323f0c32263e1a37383794728e3576fc0a3f5fe0143ee07611373e90f7357e23c63eeb32e63d2528b237cfb801366a59603e78be983d7d431e38981fa035a6c3893dc3fd163d22050136464cb93551e864378b702b3a52a06836215c6f35b3b4773590306938f4ae43370a9a0e3668472e3630f6d137e09b5f3715402f3540688b35463b0a388d39e137c2b49d358616a0350ddd47360e3abe36564c133681c9143626bcb3361c393a37f083c43572f91336216a203875c4383899ccf535fd5f0636fbd2e5376905ea37ddafda36dff3233720e92338b31cbb37bdb99b358df4a135484969363f784e36ae2c0f35059e0c352759b2370511c537d805e735e61e2d3fe0a2a53e3b813f3609b02f355b32263faef5b23e0f06e73501ed9c3534ba0c3fa590a93ebac6d33582260636fc51d73e4d348d3efdf7773639f9c2355ae0923efcbc543ec2b5e3370638ef351b43213e7e990d3e46341937ad474636c0e6d73cc97c8b3dce8602370edc9635260a3337d2bcba38403f983512d90b355c9486371c058338a4eb3437f9770636c7f26937fe9f6f385dc98537a25205369b700c36637a1637f60f1036a50582360cda88362d0da5368f97f7360276633697566436b91d8e364af9ac36c3a787367608c736cfb5df37a2a3fa378b8163362ca96436f980033722ad1337ca4da836e19f063769ea9b37da5351379b850e366bc71636971d9437a4e436378dec3d378afd52372afabe378a8cba371cf6fd35d507fb3ed372023ffae8043698ae0636e985ef3e3e40083f94d30736936f6d36190fcc3edfaffc3efe0f9936ab986236940a963e1cf3ce3e17a76036774d7c3644c5543e0da1953e29623037510366368e01cc3d393f503ed9c860366e809f36740d063c6225cc3d795698366d610c3684c6fa37bfb85439aa6c0d3670be13367ec2ac37665dcc3885386337f6290d35af57ba371211343856450c35242487350539993504a7d035a3e39f357884393646ff59360c99e43637950f372fe80d36aa340836ec91cf366da159378244d0370a7ab237b24f07385f391238c86a9636f8cb9d36b92b1637bfb30e374f875d3658868b367a850a37fd1fc13653649737d0c6b437ff45273870fc0338292d0c371bc2013759978c3751a76f37d921093594b79c3e1b9f313f4bfb0a35093c8e35f2f6913eb303373fab1d91355473353619c1753e145a2a3f89723436765a05363f2c2e3e33be083f59d3fe3559716d37d435dc3de5aecb3ede352637b7063436f4b72e3db788853ef9112436d2a5eb354fbfc238b1f2f33d1737bb350d967336346d6238ceb6943a3a04e3355bc25e36d9949b37563212383df94836f75a3f3665dc67373dbd9537f6907a35a765b7354dceb83530c9be35d7a1be35157f9e359ca4a03552bf9f35918d9d35dbe582377b3f5b37ba0296368f92c936e0f1a23751934637f4f32937ba175037abbfaa36c73c4b363970943546848f354ae18137c3817737fd91aa375b0675378e3282369f01b336fc9f07387b16f2367c645c3702d49837da9e0138ab446737c79b783557f5f53d1737613faf71773565deb635e501d03db0db653faaa2b635bed29d35f234bd3d80b44d3f156f9d35cce7853763ab443dff7b283f73a61a36d65e4d378e80bb3c889ef43e876a6d364542ae351dacb5392e769f3efbf08e352c30143799f2a43959660e3e66abd23672fa2b36d2d8bf388c5ded3ae3011d36a33fa736e6563d38d52879380199683413721b3715f33d3782dd343700338d356d30f7358b70fc35a093e835b21af335aa005336ba93563652d53b368e024e3677bb3736a63f1436c2d00c367ed00e3696f4df37e362633763ed6c364f7ba73735cf293706e10d3766d900370d6c14371c806e37dba63d374fbf8c3761444f3711e31e36ef051c36b46b8d3697480a360a943b37e0774a37f84e8c37dd6fd036adb611372eb3013a4ae17f3fd3693d358fd4fb358ffa943861fc7f3f6af6e535d0f05c3676705637156b6a3fdc3045369c8e153677e11938682f393f39b40b36e75fba375489753883de073f2035c736618f1f37f05937388173ae3e5ceade369c6a3f3795b08b38e752103e37abba362d5f1936f8a780375fa3253c66c2c735a7d591364031253870c6833885e7403600000000000000000000000000000000295817377b8801366726e3352cf2a0375a58c0360ba642365e45ca350908e136dc2b5f36161d02360c7af535cd05b1367b5bfa3778308e37916e513754aa18381471af370e5183371c1f69372b8ec837bb0dc337a8b65b3756facb37baaa003840ca0e37e663d93645e451371ac453370000000000000000000000000000000000000000000000000000803f00000000fef38936c19ee837c2f57f3f72ed8f37fe11a93657512637b4af633f2d7b7d3788d443368e928437825d323f509e8c379a69e337e37330384fde013fd1e222389a409d37ccc1f1374f2aa23e6797bb37717fa437f5eaa038c817fe3d8ff3a7372aaebe3668dc91379432a83a475d973600000000000000000000000000000000000000000000000000000000000000002a139236f0d41037321d8c37bcadc03738dd0e336efb3733da4eb6370981e13741e383358336a0356cdc20383737fb3707e0cb352e56183630ce1c38de201237b9d8d2339d21e633868f6537d1c3da330b877835a1eccc3730db1c3828ea74368d69bb359970b635a243ae35ef90a93500000000000000000000000000000000000000000000803f0000000000000000000dec369a787a3f319c083a8b587537e9142a33ae87533f5488d3383b785537aa669f353286283f3a9299381db23f37ac481036801cf93e467db93841f357364295de331c2fa23e85f5fd37d861da3318578237c22e153eec3f2138cbe533353e6ab73585c7663825d20437d61ca8350000000000000000000000000000000016ecdb3476bab2355ef749386184103884ec5b3367615a333b46e236eaf109377d3b8a332a6c8d33ba06143579989f360e5b0d35ab432d35af6a6c373b8bb037273880354e55b63595040e388bd6f437b24f0c3488d80d34b8eac3378c18e63606f95235cc7e5d352ccb2d3877b9bc37ea0abc350c7f01363ee23a364b6b433606298b34e82f9634d815ee36c3dee2376645e9349875753f791a263d01ef4b3761c25b336856643f809b973de8699f36489b8b333fb43e3f729a733d5fff1c35e0a924356343153f1cfb3b3df9966e3554ffa335b2c8d83ef75de03ca85d2037a2a40c34f49e813eb3ab7a3c2d092936ac9f5735dd92b23de4d8693af95752366376d335b557543635b777385cdf4a3670e68e34dae66f352c8b8538a4fb1a3839a7b335de40cb35117c8a38465d063871df76355be5eb35708f153818ec8f378f0a1c368cd14b36c0eaa337b7139c37bf3e9833555e2f35747e2338b4552f38141f04364fb44336702eb037b18cb737ccf8cc3552ba1b362df43a38af561a3824bdb0352773d4353415113803a9cb37b2704236cac85b368d3dc03739c41638a43e2d35918a36355a2c9a35765b593707c5bb35dea64f3f02ce403e5ef7f735dd179b355acc3d3f0038673e2ba86736480631366cb1193f3bdd573e2f54c73664adc4342197e93ef294473e495090375b3b25366ef3a73ec412223eb33324373091f8358457323eab70f03dd3742c37b17cc1359144583d41cd893dda106336cfd34b36909c4e37676d793a1eaca837603b31357c7c713559a0c13800de6337908d34352cb96e35b369883869eb44378fe3a0366a97bc3676eaca378944e336e0c03a36f6c468366aa4ea37df23a63758b99f34961a5635280b5038a8073e38582c733627b684367a374238048f1d386624c035eb5ff43507a61838a50ab0370cb85a3686256136a305193746a567366100ca3658e7d03640e40d38d4cf10380bd084350d4db835aa3758364facb1370a6b36359d19273fc9c8b13ec9f5a43543c0ab36745b163f6d48c43e0c35de368ff44a363bc3ed3e7895bb3ef1089636f570ef3447bfb23e360fa63e0cf79b3778e07d3672806f3e3e5b813e01dca13699c3d6350235f13df6173d3ea5c7fe358db159367c1b68394d92ea3d52a159368b1dc936d2bcac3752b6d43a0b2a1e3793909835ec5fdb35ddf7a5382f2f9d36e3fe943665cdbb36177dc938a139de36d19e24362f3f56369d54e837b5477636a50c893520aae8350a708537b10e1d36106e8834e057c23435723a37be0d9435c2945236f03867364943db37342151374d23b934ee0b3d352bcaaf3717fa8135f9090936723e1c362389ff37b6121a36a0cf6036b0de71364e2f8e36782d81365e76a936e6fab7367e01e137f31a23384e659d36d903fa3ed8ed023fa740aa360040303625fcdd3ec2500c3f4507583635969835f103ad3e047a043fc5530836211ba734c15d753eabfee33e3406f834c30a5936628e333eb940a63ef4a265367ab1d4340875863da9877f3eff5bc534c2b60a3628d353387140143eae53f63540605f364a3287360fe9973c87be6136ddd7a6365113c83652ffef387f1502374837ee35d7c305369add8a38a5dfe235ed5cc2366fefd6368e775238841f1137e6102f36b4a94c3651886a36fc6b603677bbe0358df5fd356a11e937481be9363f329536a2689b36503944388ed1d8379678b236da178b37b0158238db9f103846699a36ae8b9d36af8a1638033872378c26e436d48ee536a1159a37ebeadf362fae9b357750ab35912010384eb2f637da72f135a052a73e9b552c3f5df6a53518e1cb366eb88f3ea5b5373f7183c43671163836b7224f3e30db2e3f7cfd4e36264beb35ca97093ee433103fb310e735a5d89936f118a53d8796dd3ec6a5883625beb83621b59b3ca1709d3ecd0a8336160b9b3658093838b22b2d3ecdad8036fb85e3364077eb3619e6ef3cca63cc368d2ba235d5ce7937a97fa938af8b96354290c035b342a5364769b13882608d3513308336e59f8b360e803e38b4c372367f35c035011ae9355e0390374ba0d436993483367d4885368762f937cbe548377395ef36d7cb1337ef30a33768cd233713fd0f3658ff92363e593e3852c790379397d936cfd4ce361e39c7371855323713e883365c7a7b36077130386e6d2a3759dbf535f75b8e36703c45381686e8373083c23545022e3e477d543f657f34358d3c8636d942ff3db5d95f3f771b41369b2ed23588a6bb3da7cd493f2958b235e9a37b36734f103ddd5e2c3f4a622436533cf13613b1543c0531003f11737d365577023617e2ab38d198b23ebfde6b3571a3cb36848a0438fb83413e5527863609327b3679000738f179063da8ce1c368b5df535fe920938af99de396824d53532a614378ce80138784f7138762fe03582f33e36a6fa4b368cad3536e3ed1236114b44355ccf55352d54943543aa5d376c0f10343e580f34442f0e360f42843613b08e3615d89a36e4712b375382343782af70356eb871352e61b63641b35435a4a12735ff8930357b19d9365b7da3330925a836fbd0923648359337602f78363358e13678f50037b68c3038d583663728aa97373e47623cdb6e7c3fd91495340fd83e363cd64e381ffc7f3f843ac9359bb84a35f43617387273693f2d2652355ec80f347a82e53766443b3f320c0d34afe06f36ed984d3891990c3f57545b360861733568461c382fffbd3e920b4335fa8f2335a6b05d371a53483ead648d33e325833628238a37329b0b3d6d6c8b35f9959636f4040f38addc063a55110836000000000000000000000000000000003e679b351d91a335b3a0a7355797ae3518d405352dea233563d23a358025e9371e97de331baede337485e5339ae44136023d4f36b69f4136a1c648367481a5377970ea357865eb359a239337e2ba0538699c163781ef5736c2bfcc37a7d9a0373ecf8437bd3a5437cb4dea3716e070370000000000000000000000000000000000000000000000000000803f000000004899a135f5c0ab354efe7f3f2f71b235ea40203563f83c35cba95a3f7dfa1938e9ecdd33cb90dc3396ed2e3f84d55d377b0549365c016036b763033f41f9d3374445e7350fd7eb37b7e3ae3ea886c437d17f6d369b0df337c9a2313ed5933b3327fb5b379f9bbb37a8a5ab3c312c3a370000000000000000000000000000000000000000000000000000000000000000802c2136e8be5f36caab53383a1e5038ba7c5936580088364b750a387a1cec3762099b367fdda536927165386ba949381bd12f36d98b4f366fe78e381f3ee4378a02ff36d9049437c29b633801afaf37eb40fc3657a1c437a2ab6738f3bf983790e74236d72dc037089017385714253600000000000000000000000000000000000000000000803f00000000000000003c41483692276c3ff4ac353cce06253801f47d369495463fe9dd433c8d0b833725e6a136c784223f1c96433adad001380332473684bffa3e9219113aea206a3682be04371541b03e3e9460391407fe3603a51637478f4d3e578d59386cfee936faef69360966523de38fd33704eb1736000000000000000000000000000000009dea1d36d68b66367c292638c3932a38ae9a4536f64b9536f1df1a3843174738068c8b368b26b436e46b0f3834ac3c38f53a3b3673ecba3699251b386e635038fc38cf36e5b6ee36d2eb7738bc828238a75ac33696a8e5366f927a3879a88138a6d6bc363ef7d336e2386a3813f85538d15a523618ceee36a3fd6838b5764a38d256053667132d362e1fa736134e3a38ede9453648cb6a3fb3f7a33d9db91b3891a68036e9ce503f51f9b83d67d339382a42a436d63e2d3fa2f3bf3d0d4b263887186f36f65a0d3f10f8a73da69f2a38512ee2364e03d83e27778b3d22736a384662d836165d923ef8b0403d0fe75f389febc9366353213e6037cd3cf39d0638109454364a8f843c90c7943cc8a80f385f200f3668135a36e8b76e39b7154938d724be36c26369377b395639c7916d385c9618326009f23426c163381e535438b7020f3653a84e366d081238b0672b38c9028d36b21e9d3615a28b380a0197381b2fcd349f748735bbaf32382ea21f38a7b98136a8c99b36b617513818af4238f0d86836fdf67336d96f6038b4a72838d0518635d78b9535fa5131382e0bd33742030d365b0e1e363d4875381a3b9d38a130c436fcf1433f45775f3ed2702a387a4d60347e292e3f44246d3e40a9d837366434360cd0103f82225a3edf1f0038ac3596361516e73e9e5c3c3e72695b380f782d3541adb03e4671123e8439ea3736079136b6d9663e97cfda3dd73c063867996e36f4f6023e0620883d5deab937762f89358dab16389a4f013db859d736845d1436a93015388ff24b3a047f8f38d7074936f7600a370457e639d82d0638698be4355a340b36a18f7d38e0d22338024991366c57c336460c71382e3c5638b9d3c736581fea36e3262a38be0212384b6f8d355bd5f535c7ef6d38588d4e38e6b68936f3774b3794f19538339059385222d7369941e93646e82c38cfe98a37988ebb35b4acc83549d8693838d60c381cd29436aab99b3616ef09387fde2138d3674e364659203f231bb93e2d135c367ab5ff35d4260c3f377cbd3e294f8337af6eaf360799e83eb5bcaa3eec5dbc37a894dc364fb5b83e22698f3edce88837a128c2351b528b3e5a5b633e919495377d629a36f8c7333e22072b3eec0cd737735ce2364aa4b63dde7bdc3d9f58e6364bddc035c6a93d38c2c7593d4d54a93535659836b17c86379d84843aa136f5378f2fb8369955b537bc1c5b3a5c2e013848039e3683bfbe3698365338616d2038a4c4ca368a1de836af3a36394e51fc37317cdc360091fe369682a738b9cf853837c5c136c9231038efa2933899c6803852e4e536fdeb00370b33bb38aa555c38ffd6ee369f3aff36e987b239c26ec53746fcc73696682737696c5d382500f7371ce79d36adb0b436b2604a38c57e6738f12fbf362d65f73e157f003f2041b336a4a5ae365cc9d63ee3a6023fb2826b3739efda36c602b13ea67ce33e67e30537edc2ef367b338b3e79c9c03e9e255337d07a8b376540583ea5cd933e26c739385e9df536994e033e428e643e36c80037a189f736cce1843ddc29143e9cb0ee36a62dce3602293e38304b8f3d17b8c436a295a93616badd373896633cae84f837989092364a4bc537e57e823af280af37664088353c76a835d0408a38b1c5183850e9c836c79de136b2d51c38ca13c9371b9886363837263751a493381b706538ce94e2357d8a1a36edb38738fa3b1f3805c4f1366b230237619841384298f037a3e9e936ea593d3729609338b4be0e389cec22363f835237d2e07738edc80a3885335336f1415d36c69f41389c633938b69294369ee5b03e5801273f5d149a36ed2896354bc9953e4a77273fefa7c03513f5d6366845713e704b113f0b7dea3689c3a63699be3b3e46a5f23e1022d137f3990836c027093e8365be3e752e0336ad71fc365f53aa3dee398d3e0986f33680e3ed36378e0c3daf0b363e766ece3639c32336eae537382f9ca83dbd5a11365b785636a5fadc37abc73d3c21e1bc378067293634887d382cab843ad1a539383be24e3508808a3586128038178fc23763406136b8e43437e62e6f38cb7224382bd1a236dc81b1372a9071382f5a2838954ad0350b4fb037f5619439e996f537e95c50372fe315384af9b038f2a34438f0901a375af4e1370e5ae9396d1da637827a8f35dabba93770d4583a9243fe3708b6a7372164213814786139b7816338b1ed0e38b2f1543efb404a3fb3a41a3696436a35ae8a303e9ec34b3fdc5f8a35e70f6a363d00113e3bf6293f1a977637e76caa36a9d8d03d35d0103f37c531370a6210376e8b9a3db548df3e63da5c36d432c0370e80243dde15a63e03279f3694027a37aff9783c5199523ed11262364f134d36ee516e38ee7db23d78310e356b28d23792e66d38a9ff803c6383eb3710549c366c122a380267653ae6036736c1265c36a73fb337fae281389d434038f695cd3643953d37cca07f385efc3938945fb637767a3838a8138b38636a5a38aacd0c38f9ec4e38c1018d38aa2a5338cb8b59375265d537757dcc386da3b6372ab8bd3700570a3833c72f3a0784b33713bb2338c23b3c384d3b213c9141bd3709380938bfee1c38b287073a0811de37c00584370f05843ddc2d6f3fd0dc32369c95aa36d928183d54aa6d3f42f199372f30d7367e71c13cfb294b3fb14bd7361c1c0d3830587a3c48ce263fadcad237b12a2d388059c03bfdfc003f9865c9375df99637f256c4398404bb3e17ff03371fb2ce37b648d13954e0693eba14c1366bc81f38d77d5e386f0cac3da672ac36570e053844bc32387541053ba04f733600000000000000000000000000000000150c023660301036bf4d2936e11307387b2cb53647d6d3365cf2a337077b41388609ec36550afa36ccb6b237ffeb2738a0705636356b64366e6e0338761b4d383516b536c8ab5537c16a473818543c38ec2cad364290ab363aa50938a83ecc37caaee13722df0538fec3b938ec3e22380000000000000000000000000000000000000000000000000000803f000000008dc00c36589b21360fce723ffdd9163810e2c536375e533741904c3f5e863e3832adf5363c7a8337b2c3273f775a1538038b6136e7c683378474023fc3aff837fe91e3369b072d389e77ba3e0484ec37b5c4ab36e679bf37f542593ed72ab6362f2bf337f8793a384e74873d36144c37000000000000000000000000000000000000000000000000000000000000000007b4d434fc46ca34b990fa346437d434ad513835069c2f351a37253515c72335c4d4453674eb2d36dc5059368b7a75361ab028360a8b5136e5627436525d4036d5558b35df8f8b355a3b8a357838903510de6c362f96863605b69c36eb92923682067c36c9ba923672d780365bcb613600000000000000000000000000000000000000000000803f00000000000000007a91d3341be77b3fc76e4f368315593568603335ddb8603fc9ba4136e0ae5135d9626a36b6c6303fa35d9e3740927a36237a5136ad17ff3edc526b3651388c3654178b35e9159d3e5462da358c6f9b35751d99369750ea3d70e32b37f5d58e3685c5843628d54b3ab1c65f37e1c98e360000000000000000000000000000000054fc9a36a771bf367c932638455acd37fc458136ad2e9636facb0238192a4f3805ed92369d137c3678954337ae4afc37a720eb322a34f832c5e28d35ad20cb352560d536db34dc36dd8cef3769c9283891e6c03689f4ac361ad4b336dbb4b5368c3d723659617836a9c8e23679f39f36638af2369119033733cf2b3861ef013839248036c9147d367c0a613695568636ff618936ada27b3f21d1903c336b0a37e68b8536e0c16a3f17bc233ddb6e0438ee32663634f2513fcd42963c8d5163371b0fff322ec5223f31097a3c66e5a135385fdd361848e93e2cef393a8bfce337c884a036e30b893e4914543acb92c43629176a363953c13d87ef6f39d8fda136054eec3657feb7388c06ee3819cbae3731f067369f4e60362d780737819090369a58ca355fa1f83501ae16387e6f9f37da36873677be7b364b9003381fccf937664585361cea8a3622fd533888ed803879698035fedca035e89369369685303729265b360a794b3681ee3f36dd224037f28bd83681d0dc36c2ee7138307b893816995b354b6db1364459953707a3993759ac08361dfb08365a37c3371eeef33737a8ae36ec76a536f5858338c993b4380cf09c3502775f3f1915033e71104536cd716f36152e503f2d4a2f3e07328736139b6d36ad02343f9c111a3e30e7f6377fcc7f353a56043f20e9123e25dcab354a8f41361f58b63e7042013e4aa24836119ad23666aa3e3ef23fe63d7abd1a38ce075b35171b8e3c01dba13d9aad3e375007f635e3ba2c380ff5f13b5c345f37822019368fe25638651d053914ca9d38e02e77363114a23619599b38d0b61c3805721836207b333631146237ab6a4d360b756335e5f76f3519574735ccd06035011d7a36c11e8236804f8f36d6c2b337f405a2362aafa0361d0c9e369a6fa03663a1db35447fd33563a0c135c51fd3350675a137ccd0143817288e38d8ec9038d8bf9b3664d19636b50dbd3774d0ac376bc83436d9623f36882a3036fa2e9a362a0b2c36ed78303f01b59f3e7dad8a36ecb5f7355be5223f548cb43e7b7b05363ec95735b5de053f97f8ae3ee8d16835e39c85368182c33e76439d3e80238736be789636e5b4793eec6a7f3e9ec493363657d335ecc7de3d0a57413ecf36ce35a2b3ba36c990063a7f6fd93d0ab7013805059a36d54f1738e701043ba9e08b369b0f2c36bd952d3619ddf337a14e31363d7c94367946bc3657a2233807c1cd36f91d0c3709352437df670d38cabe2f374b1ff3366d23f6369d50f23601d9f636c749b7367849c636e19bda366406e8368613bd3794b10e38b0d170384ed68038115def360b9de03659f9d5367162d636fa2de0360bfef636097cfe3621800237a3ba1937be8a283737793e3818781a38610ed2362c1cce367f5da237f7747a3739528f367becfe3ec6e9003f166ab03684bd13378de7eb3e85490a3fd1dc113759fbd5364962ba3e9110053fa612dd369129b93602877d3ef517e93efcc3c736a05a2a37a5cf253e9e73ad3ecb6edc3719b0c2366d3f4d3d6009803edbd0d636ec70dc36f89491391f04f13dcf74f836cc761a3737147b38f4147a3a1f872a37b7a1a13653053a37b7a5f038b52ac7361365313622c04336f90396372dd44136ac5f9736863c953608cb6c372e0d93368513cc3640188a374bfc1238f29af73728c1c035616fe435fc49c735cfc2ce35ae5a9a36bb8e9e36be509a369112af360e22de36cda0ef3683faa337e3ee8e3784136a35341d8235035449355e4e6e352a5e2436397749363c785e372c9d6637fccc0a370ddc283756cf42386a09483830362b36e4219d3e9de5313fb2812d36fd718d3611fb8e3ef66f383f798a8a368cc08c360d6e4f3eec28313f9cf27a36a1dfc9356658f83de961153fcdaccc35efbb8936bbbc6b3d84d2e63e9e8f8d3676f87436682b803caf57983e491b7836f196643526854e3980800c3e79f55e35382f0b364a35ea377708543cea842c36d0688f367da7563899fdca386eaf9d36cb942e384937c138a524c838c8710b383efd24365d7dfb3672560537f45e0d3619498d3608178a36539367350fa16f3547bdc437ac263037c3dcda3696619d3704286c36f885523621db4e3602e65736d936b8351b2ea93563a92b36ce6fb9365aebf7379a58003850593d38de895f383b13bb3655338736d664203899b3f5371545373751eeb6365143b037a17ba437b1f45438933afd3d0389603f24461e36a74f11368fdddc3d1a01633fd198e73592402b366aa62e3db1a05c3f87ba813543f8c937e005073bd58f333f4c70c936be0f5236e752a03aa3a0043fce9745364835b035c40b4238feb7ae3e1f14ac35c4c8cd37dc8df238bf32173e227ba63651188b3665d68e38b1048c3c891e7c360fc80936d663f837490457380c0c0d36ad386936277b893654966d36adae77367641f7368db105378488dd3616b4e93652479e364a388c3640ee3d3661fe6836d0f4b1369638ad3609d59836dddeb5362c4fe6361acce1369339c9360d6ee3368e8ed035015c5335dd570933633fab342136a636696eaa36a87346378d9f9c3724d70037473888371bb646389a7d0c3827730737fed1fd36dbfcbd371428353783987636f888d53ba1ae7e3f14c056367be009374258e0388d11803f914aba36f0b88336520997375c1e683ffd2632368fc2af36a15b8d37a3a93b3f860593361afae93620d3923875720b3f2d3fcd369db3a434bdfe0e388cb8b33e5df3d5335e4ca336e7168d38d531263e2f9e98361b9e14377009a8381bc0323db37ca536ea8dee361dbbe837b29a7538a4afd8360000000000000000000000000000000086138636811c81368ece6a36d2b98a361aa297368c1e8f364ca0723625b39136c8aa62350d5e9f3503f48335a7f38235617b78364530673677724a36c964703644627c3650a3743695bb47360b784e36fe631835db203f35632b27356c9337359f5fa7342b0dca348cbd0735dde682350000000000000000000000000000000000000000000000000000803f000000009d5377360ae892362e1c803fb61774365d8b8a3638bfa73635ee623f689269367d2d863536f49c35b2eb313f83a2823529175e363c8680369ef8003fd51f693611e166366bf7bc360e439f3e92104a36cd27293504f032351849fc3dcd142f354cb00135d6292a35e6c88e3cc267dd340000000000000000000000000000000000000000000000000000000000000000a39ebf35fd06bd35a05938386ef95636f53c55350820ac35c516dc373cee32365352a83556330636cd488b3799015c363946fb358c41113647d58236273c4d366211bc35b5cec4359b7bbb386bdcb235de41e9343b5e4636254e5a3786bb1b357e8a073675bb2236ab350f3896c8f53500000000000000000000000000000000000000000000803f00000000000000007ce9c7358949743fe44fe638cd4f4d368d748c358669573ff4d76438091105361fc5c53573d4293f7d54cd376a7f2b36146bf135ba52fb3ea2d5a237e94f2f366bf6c735454aa33ec509e3385032a935a1e747350544163e3c741037090a2935d6e01336b0db113c17dff137b60acc3500000000000000000000000000000000d5a7263706414b377308b2381ff372376b0caa3548ab4d36bd1e34387aa389362b48c13550085736c7c1e036653c9d362041cb3620690337b23fc437976d1b37335adb351bac0f3658dd9336ed3b3736fe4362362d8caa36d2a04738ea31c936f866203697617f3650c64b38cc4f7836e8e95a36351d64360947c637775845379416bc36ab7abf36ace7fd36d6f35e37113732378496713f31e33e3d59786937797e1136b68b553ffe7a9c3de9dd86361ffe2a368932363fb77c9a3d9ec891367346e93689200c3f881b443ddd0d1337b4d80136ec2ac53efb65ae3c0d95393606b19d36d0ff663e002b893a6296b83651005336cd10353dbb1ff73a8393633643f75d36d8b5833721a85c3c496c82365deebd36211ce236d994da38026a133700000000a7a6923417f0133a497593364d409c3512ca8036c32fdb38093cd236a9e26d367016b7365f9bfd361469e036876dd93170398935618d89389ae49b3578c07a362490a6367f15ea384b99a637c5a60f373dbd25377c93443766da30372456e1351efa0e360e297138f533fb37a2f08f362ff998364d1fec368bce0638e95661366d6c58362625bd3645d0af3700000000a1674f3fa199273edfc3d4342b0f1536fe23343f2be8583ebf84af36808b9636e439133f94a0483e5603d13696160d35cd04c93edad2453e5f3688351d42923609d07f3eb31d2e3ea3b3c4369de61c37071d923da7842a3ed94b25370c6203368cd2df382f39ff3d4d5b1036f0e78436f9f4c4368be0373d00f9e436183143367c348a360e725f39b6d4c736f2821b3616589f3613c7b83ad04ec6360a6fb735c71c6336b718193956b79e36b6c9dc3548381036aa7fe0388033243613958236ca3ccc363ae76537cb0ee236a645523689b18c36832d2338fddda3360000000093214234507240380aa8233425c06d36b87f9f3675a0cc36b6cbc636574d06366cf8193664f82c38ef63793800000000000000000fd3933734c14938d7b54236a86e253fb203ab3e01a4963697befb35bef10c3fd4dcc03e41606d36d3fbfd35e6d0ce3efdf5bc3ed16b0d3670c19c366cd2863e6b8db03e53c4bf3662cc6836009ce93dd18fad3e6d838c36b632db33646e4039e91a9c3e00000000ec3584360af7d63654223b3e2818b536b0cee6355add733645734d3db0947c360000000085aa1f35f119cd3a42697d373fec1e371005423767b4413ac9824b379245eb3547163f361e894a38224558360bf88b3646e7c036840a1a37e83fd036e3611e37645b4137aa915037cda042372d771a36c5ca233646e5e836fa402c36f2dd2e37a1603437fcc347376c8b4a3729f49c36c431c0369a5def366c3ce83639f63a36e5f73c364637513655134a360b943737bcc2323705644e37686e563782b72637fdeff83ef533ff3e60af33376bbf0b3638d1ca3e656c093fd5574936f0f8a436b6d1893edf37083f3af2b5363aec2a374a7f003e14d3063f73a13337f0fb1736e688673d6710e33ec1853136516434371a455437238db23edf3d41375cb5a036d46ced3602034c3edd95d1366f502c36aa3d4b36ddb4893dc6bb52360e1e3437715f4037fcee793c77bb4a3700000000b0627b35f8b3973ab83785353e2cca35c0965e3625541739aa776e366e1d86364a76b236a26fcc367faaa336000000007b465834512389375fa90a34104c72362c898a36577ca13673c5a7360bf2b83648d8c63679b7e83658c4df36161fe83518221836753ac2374694f63735c0763667486d3686d4ad37001bde37e830a8362a77a336f58e2637a4df7d373cb4c833d0b1a83e78392b3f000000002ef50436f61f7f3e739a333fe7c80636cfb399363049f83dc64f323fea9a8c36000000007d68013c6c31303f429a793476907b366a9d543893420c3f0f9d9136d775bd36d53af836e2e1c83edccccd367b0a0736214eec36f18e693ec5141f36d5625736a0b894362c44973d8ca18d36a375973615bcb7367f68983c5c65b43651cb7b3677dcba3610511439f610a436b99caf36115ae436f2659d38cf07c0361f19d93582330036e029c3373eefff35da0609379975243707b22a3768c82b378f6aae36f5e3ba36e65d79379095253745522335f33c47356a07a43574f5a6356a9dbe36f0abce360b9bf1364db4e736e247ad368982ae36ae56123893bc0b38b5198834c307903461eecc37ec06e437239a92366a1c2f3e8c2b543fbd9f34367874c23666efcd3d00f35a3f0d198b368445e03592725039bf40603f3e81ec3510af1037a9f648375727433fc4751937c5c8ad364774c338cfc0143fb365b436b93a0f3560745a375daad43ee6b46b35fedebf36ba84f13631c96a3e4295c9361ea89c365726cb36cb0aaf3d70b0a33620c29434220b1535847bd63c228c8534366df93670b70f37d5f6763818f0f9363bc46c361f637436714e4737885377369e314a3668ac3936bce2333619256e3660caa136fb92ac36aa6ca736c7b9bc360bf92d369f6c2036951c1d36c08a2b36cb0a1037dc230b37b50713378c3b1c37b52f8736beca8e3619129a36c59794369b8f87361890823668c5293751884e37a11e6d370dea69377e4975374d8d72378f180137dba8023d2ee6773f1084c236cddd6736c52e3838e6987c3f55af6836cdcf43363e707c363f3a743f34786a36aab29f3690fac5361212463f4b06b63664a21f36e81831363516183fa8f5263669ec0d37ae0917376368cf3e0cc91237dc6481369d9f9d36e2c35a3e41db8136142d7c3627ba82360f4ab73d5490733684cc68371ac26f372145233c389d5d37000000000000000000000000000000005c06b93585b9b535ac7ab735fba2c136620c6e356954ae34343dad340f762d360e5fb8357056be357669b2358adf0838d0892d36dc051636b89727361c647836635b453626482036de565636bc4119377a09e935166e0336eec47f367093b3374a865d3612ed38367ca56536572835370000000000000000000000000000000000000000000000000000803f0000000039a99f353225bb353de67d3f9959c53614c42735443ace34b58c5a3f7d42e836548cba35f7d4b435bb8d2e3fc1478738eefc13366baf2836bca0023f0ae171361d7a3b3622253d36406eac3e0325803663720436121519360e00233e4181fc35ec2b4c3615b14636522b3d3d05d245360000000000000000000000000000000000000000000000000000000000000000fb3ce4345789d335e0df70388109de3700000000000000009f5931380d72f8363d6104349b1b8c341637a23824c8f737ebfa0b36b5c42736c9570e39e32a20366b132c32e7351237212e4e381bee3332945de93307acd6370ab244386cd2e033910003365f373c38fa3781389d92573400000000000000000000000000000000000000000000803f000000000000000073439f35bb606b3f632ba63c85f46e3600000000cb1c483f0dcf803c03cd4d353ef00434a644223f4773993890ac0835b0f422362f13f63eed84ac381a6704363ffc3032e75bac3ed3e59b3773322f327381e933ad9e433e63bc2e37e7c3db33cab29937828d093d1becc437a935c13300000000000000000000000000000000040bcf3360738234ad82f739ee29053618242d33bdfc46339f01033ad2a101381945a831f5009a3152da8b38b5a4b137b907463316df4d33f0feae3882c84c3379b1ea32b7dcfe34a1bbc238c419af35991a9a3330b497336791f8380a3c8b330a1a4c330b0e5333285db9387914b937bdf61733cd6a3633a58da7376bead2372110c934f35e00352528f235625714376b3243344a91633f469c843de7947a35560b3a33a33a4d3ff7b1cf3dd5bcf53540689e31665c263f9b8baf3d344d193128104933ffe7ff3e3cf5933df1f24e3346008234b6dcb53ecf403c3dfb9c7135b8c095334ff0583ed69bc03c50a5863343d64e338c07683d3f91713a3a965633afa925338ff123347c34ad3cdfeeb835780dea341acf9035c0a3413ba4e0a9363d684a33ee663a36628bd33a77a5b136f15c8036bf40c03600ae753a376408372b169033dbd08235800a2639051b0836000000005dc69635c4f0483a70eb38363ab09236e991ca36964bfe3805161d378c15b734c42d8a35bf0dc538e2cb0036339cd630feacb333515f503861eff8378f86c73526ba4236fca8a137286d5a38f3449a33ba62b5342930c3352fe00738b2adc2352ac2413f622e423ef6dd9f3630b1a53667db243fa922693eabddf836dbf20535a233043f5c956b3e389f02366becf4342f29ba3ef7ab5c3e98401836258ab3362228753e954a4d3e3aa4e5369b9b3535e758ac3d08c53e3e3cccc635f7ddd3305c82a5375b5c173e81b9be35a5f91d360e4483360529403dd01b97374471193413ef963523316b3bd14c633707529c32b1eb57356cfe413b00d5c53515189c361b56c03699f9413cdcb0c53600000000b42a33355da32e39b1db0035ae5a0b3688c15136245ecb3837fc20373fa6ae36d81adb3633276a38f28402376f820f31363a0a35c7dc093970384b3858289c3546d11436c6e3b237480b0e38fa2f543624d18b36d7138c3711c13f387b5449365853ab3606bba737a8384e389b06e23490d51c3fa72eb13ec25c9b35e65ab236de7dfe3efcffba3ef685b8363711be34333dbe3eb885bf3eb02e9833316e3a361596783e5e76bb3e79d54936c172c236a075073efe01b03e6c19f03686448d34fb4bb23caa46943e2baa50341192fa35bfb64d36419a443e9e445b36ea427f36a8d5b836c315ab3ddd9bd8362b1c873666aeeb36f0da833c3e665537e1c6ac348fe186351b67a73ca87c9535a1e4e234396089350283133b5e694e3584e00234331b0134bb4a5d39b63cf033ac4706342a550d34510e0e387b9d1234e2d8863301e0e7345c4c87389554813738791934854018348cf17637cff27e36ec17dd3312cee93393c2f23336e0e535303b823398016b340cbc323710f71a3824b17234fcb83e3557ebb3351fadad355beb38358092ef3e2aeaf63ecc3e45357ae044354b72bc3eb8bf033f9296a334e6110034bbf8813e3515063f319ee933bd830a348eaa073eef11043f43c8143435589934097bce3dda77cc3e7b03e8348fed1634057616345c3bb43ef5040d3466efe4332ea8f0333af3633e51b8fb33840d8033c47f3c35ac71ec3d8c048c356305d134a1c68e35e82bf73ce99a9835f815bc36014dfe36c224cd3c8e0efe36da9095364359cf361095463c2edbc33673c62c3666cd50363254f038dde04336ead18831c3d78431afe1f538f76dee37c5b4ba36d962e436ba23d437d2060337b1f80b36533a3836cb1d1738f5c517380000000000000000c05fd5372c201c383c869336ef7faf367cda8337b6c9e4373ca2e43415e983352f91cf3517fc8b375307de365505aa3eed91203f3a05bf3683b7af3677f9753e71282a3f6a499336e84a4336c16af53d7942303f1451203664698731f572453d2c08243fb9c10d35cdb8d13606ff07370440063f662cea367d93293686c81337324ac83eb1da573600000000c05806351b87823e98a03c35612da536fcaec4366e99013e2c7cc536c5d45735e5e2bb356d531f3d17e47e35c2890236ffb50f364b210b3dbde4b7351bf7ac36753bb436801e733a65fb88360fc950356b68b835e76ab138768b5235d2e82535bf01ab35b8103836253aea353eb7c23679e9db36c3fd2738fc263238ae54bc35c49c0b36e2f78c3718c07b38519bbd3527cefa354d7157389e0ea43846f4e03681acee364ad4b3372e73aa37384b7d36adf99a361b6d183878b54438a3d60b36f685443ed561453f3a0430355dfbb036fcf5003ec99c533f04b25c369c0e9135b6e2ca3c8ce4533f192864348ec78d354b1212363cd93a3f62c0ab35e126d0366ae9013711710f3f72dada36a5e0f1350a103a360489d73e80c9e9356022e9356e07143645ef813e4189af35f9dde9361e6a073735f1023eefd0d53648b0893689d0b0368fff563dcb176f36254f6836bd5c67360322cd3c0d9bc735ac28a0352a97ae359b3439384dca37331fa95c33ab845b33b429e837f68c273841607c338feb863338ec8c33b26a9033e9993735ef906835c99ac035b43eea3719da533394c26133376c71362e9b9e37b7d68b309f6f0731b418313840cf1838685ef535992ffc359cc88f3badbf3f382192b6354bca94356432b3375fa2c436052f5d369859813da9c9683f9c95033599cf9035c7824838749d7a3fa076363388c0583305168437754c713f6a05913645be833327078c333dd5433f308c9333e0634f35a946a735e955193fe9347f3584e3503332662f34684ddb3ec0d44b334c300031163b4a37018f873e60169331bcbee835b8fdae3716f1bc3d7b9b493390e299350af26b35dce93c3d68149334000000000000000000000000000000003ce70633f2ce6c33846d493404813338c9e3d133141fd83385c2e033efdae137b432273289972b327dbf3032d7f40438d274b5353a30eb359b4820368ccc9d3879a518341c75ba348b621138af858038d8c2c13373d5ae34f9c5a837c9f4c837b3ad613600a96636b2372e38b7b526380000000000000000000000000000000000000000000000000000803f00000000cdbe033325f521347f6d773f3b4152388241d6336896db3320254f3f80de2438c89e2d32b9992f3217d8293f97df0d38d3d9d535073012365409053f5c6ce037f66aa234f4284437267dbb3ea5950b3856683c3413d6d9351f964f3ec1526135da926636c34a7637960d773d48cf063600000000000000000000000000000000000000000000000000000000000000000b29b035f8477635d6e45b3541299535d9e09e35f22181355c90813561c37c35ffe43935753b4e35bef7713553ad97356e6486350b8a0c354d1af73478d43535d9384a3454960f34ae8f4334d0df64349c3dd0343ade203639fcf2343e8c113539bb8e34efc56334b98b6834f6ce4f3400000000000000000000000000000000000000000000803f0000000000000000144daa355e607c3f0e487535745b8d35e371cc3598a5623f99078435cc256535eaa85335af90393f34a63c355c136b352e1177358cbf093ff4962d35626837351a55bb34a2e0b13e25b14434e32b2d34dea75236bde62e3e667fcd34ce04f234fe2792343f772d3ddc038734cb6e573400000000000000000000000000000000a9285b34f5865f33ef9e823401c48235fe1e96351d598a3573579c352300b1352c82d833f89ead33ab5d86331932d833174c5533680d1633649a2c33f7e58d3320833c35321a0135271f2735caa8573500000000000000000000000000000000d624e6333c709d33743ca5338359f033c51b9335c15991350375a035b4e1a135afbe65345561ec339b9613343c4642347e56013489a77a3f1267eb3c0b8db033e0018e35282b663f6a3c373da0f3c63558fa3b33e3a94e3fa2e7a63c858bb63200282c33e905263fe313733b02997b338aca2935d1b9f03e690d0e3b8a3a833500000000a457973e9fdc2c3900000000597fe1338585083e5b475c37e9a9f433580a8c351cd5f53a50a86c3aa4e9b135d84f9433b913e5330449d33357e57f33574d34302f9e4430245c5730b63e9730ca6a43340524c334d8e0223506c30e353f4a0c343c26023423626734cfeb81348ca02734aa6b3c340baccf3400b7be3438651035b5bc35350f7d783561885f356e1305355a52093517cfe934cc290f351abee034dc4db934192b13353d921e35b68fed34d1971d3584836d357fb85a359f27ed34d97700354bfc193584a022357fa23b30d3815c3f75dc183ee17382305580a534a58b4b3fb1983b3ea29f23351e3ba5338a962c3f2e4e203ed66e0e344a85ee3382e9023f9f6f093e1b1f953499933135a909b03eda7b023ef56489350077f734f0da323e6776f03d0c69183564d1c334d38bf93c5119af3da698303595da0c35e9525e3551a43d3c2192863598b2f534a35e053593b48839b030023543cd6f3499126734a1ecde34f777d83450614035a5662235d76a2835a10a2535aaf5403520a73e35929346354e924535e2c70435be401535fc7a3735f65e653584177b3539515235a05d4c35a08b4a350f8487345db5b43452f9f734d601e834b52a7334f21e5934f82e6b34fdf082348b46e73306cf0b34b4b54e3483d89033324f102f0e3a2a2f6e9b302f01ec1c2f73af5f34ac7f323fafc29f3eec09d9341a10463542e1203ffab1b93e9abe323584983935cbfb013fabb1af3e6aa821356a841135a7dcb33eac06a13ebf6f38358eb96935d1704b3ed0fa913ef6605d351c1057348a14953d3add763ef2469534a2416334f7dedb3bf2490c3ea8539334a51194336a4a113655a7fe3ae46b3d34bbdde92ee10c3f2f757f4e2f9121372f7fa3ce33b65a5b33fac1a63483829c334b8fbf35cf4bc335513ad335d4dcba358e549534e70e943407aa7c3459df9b3451881631201c2330e2ac0430208295310aee9d35b30b923527499735b6b2913508f8de2f36b3fd2f772b02301627e52f59ca8c34972d5f3405b39234d3f68b34318dbc355079c1359078cf350792c735f4287934e1cf0734d9a346349fa535349d588e33475d033f5804ff3e19578d33c136b3356d50eb3e7074093f68f3b73578e78334cad5ab3e92c6073fae52433405c6f431687d4d3e14cdf93e085e533149079435e446ba3d9725d63e612da035ce4db72fd832053db448963e86e10432b81d03344396d33aec0d183e23e78a346c0cb135f45f06387e429c3c69d0ca351ca21434ecc2e23317adb033710873331b316a2f8659512f61498d3163bd1c2fd23c3733b124b0329fed113438c58833fdcc7334e323623475955a3476536334c949a63496028d34af75b83486e9b63418ad3335ca3f543543be8435aab26d3574a32535f39c44356fd83a35d9c56b35e5441235516b05356f9f3c35ee813f35f9e20335ee761d35cff66d35af195835ed560135b677fa341cc309359aea11354dce222fe364aa3e0f662e3f1ffeeb2ee36bfc3271d1973e10f2363f6c13993387964e341e0d303ee0a7323f0f71783469555534ff8b9c3d9a01213f7e074634fe614735a62f053dee88003f49f18835130142351e83af3cf41da83e9fe83c35438d0435eb2e4d3b8f36243eb38b4735810e153562212c3906f9c83c97a37c359c5c0c358c97f3346fa5683979428d34d64fce34c41884343913ed34e8f2c934756d5835be422335876e16357c4d1735eadf22358dd61c35fe3015356be925356dceda3467dee534621c0835e0101d3581537535a7693c35b4b02735689f3535bae9a2346b42a134726ed4347ebef0349ac615344201fe33b0280534ca8748344881ff34c6a6073505140535c77fc7348b354c30de72143010305530e9678a30457aca34ed06293ed605593f8f83a2341553573530c6043eaf175f3fa1421c3584df2635ea28303d957d5a3f9fc4fa34804aea347015033c0538363fffc3f634f77462353340223c299b093feaff4c35ae638634dfe4a93cc8c8b23e6469a3347fb1113468acbe3c9678233e6bfd7e3478fb003543b4873a955e033d415d02359d473c305262dd39560af8390f227c308cb54633fabc04328e61a334bab2cc3331f9a4350cf79635fb8c9b3562dd8f350b86de334f526d3326247e332372b033000000000000000000000000000000005150423511d00f3526d11b35165b28355d85343348556f32096cd032a285673301a537340000000000000000f5a40934e33a9e3593169835ad219c35fc90a1351ce13a34110d0f347e0d213404955a349b8a8433347fee3cf1e27a3f00000000a6929a35dabba23bce0c803f393293350b4f8f336b632f37ea1f613f6c54eb330000000089650e38218b373f000000007456283528400e3a6f040b3f5d724e35b5d0c532a8434c3b64ccb63e949a833300000000952cab3b0e54353ea7f5f933c5d2923574d53439a246863dd0f4aa35e06e24347fb13136e9e29433d6bcde33000000000000000000000000000000004e2a7334736c443491533534ab7e3a34747efa34d72fff345dfdd034cf300435575d9234f659193442ae35349b23963481f93935f444173507ff52359a5d5f35bb117435e9497e35ce9a493575bf863564f28835096c443582f5543517a89135dcfe89352eec67356ff69835a5869f350000000000000000000000000000000000000000000000000000803f00000000e69b4a346ee76834e26d783ff5df6e344b67f5347fa4e9346e89573fc7e61335463f1134c9280b34044e2b3f7f98b134e4d73035475743352d90f33ec0239635184c6c35bbff5835ece3933e1aff933561ff443571b0ce38baf5023edb10993555447f3588b99b357f78c23cfc93d0350000000000000000000000000000000000000000000000000000000000000000a789d734f9dd8d35d806c335d410913554e0b834291995343dcd1d3515b6103526f2e134719f8435f0499c35ae4b8135b35acc3491983035d6bf5b3542a60e356004a834a3efb134b0b1b03476c4b7342519dd34ef16a335c4958f35beb19435d37ed1336de93e34a29d0734a5001b3400000000000000000000000000000000000000000000803f00000000000000006ff42f35b716743fc9bb0e382e4e6e35e8d9a734552b5b3f61b84e35bd90df344d9a33357e6a303f146fd0350b7c5f356d7ac6349347043f65a20336be350435be73b534d87bad3e2599ad34eceda334ca0e5f3526bc293e59a19135c8d6803567801c34bc65d63ca32c1a34488b143400000000000000000000000000000000303383339f0718344b0dee3afc1e26348e40a333907b0234079e8539a2310134bc1d453578c81d3515891739f2925935c38402350117f53497ab0639d323fc3420a94d330a11f633d6ab9239ce53e6337d065835a06517350677bd36be5882353aec1935dede113598839736065f12356698f53274bc8233718420335a684233b7f74332000000000beea1343fafa43783d6ea333e3c6d3ff5420a3d9ad424349bd0e733859e4e3ff8d1823db4a3f83316b433352928303f37b4713d37b5113554cad534fefd063f7d69af3c9ffa03355629e03346bdbb3eb571d23af788c833f4a43c35d760563e6162bd3996ed2535863f1735f1a05b3d7763233acd08203530194b33bb1b96333dea9c3ce1bc2e330000000000000000c3ecb53c13bcd53717f34635cbb97435346de53b9036d03542e62a35bde08535b98ee239de519635ec6022344bf02f34195a363a32400b346ba06d3300a2c531b6789a374c1c1934a8e7403559c69735592cf836c13e8135973c0134a8e215341e022234cea1d033d9382934e78e9233704031342227d43371fb4e35d8557d35b0fd9135dfb36e356c59ac330000000000000000438dd833b3343e3519b0493fcbc7193e950a8e3543c764356b412a3f3ea0473ef73b9135ff414834ea4f063fd0112b3ec024093433e17533b88eb63e797f143e59758334348e8b354388513e6031003e939f7435ab5932349f4a013dfa530b3e4bceb63341361734be8d033421ca043e92716634e2bd6c35abdc8b357ce0903d074059350000000000000000dae6ec3c57398734d855e33484cc4235f8db013d7f8d1b35d929fc34edbb7f359ba25f3a4335943546d74735d7cfd534df6c153a82e1f534e61ba134ffb6bd34ed772539f2998f34803c4235248b8d35f1189c36c0549f35e1202b355f439b346cc9953416c0b2349dc70934c8d97f34c806333435134934c7db4f3523e94735b0995235cabb2b3735ef1236adeeb135e42f1c36216b8e37fd30f534c1cf203fa500983ee20bfe348f0e2635c17efa3ef257ac3e885285350f5d1535cc7eb43ebb04a83ea3fac03469889c348f49583ec1c29c3ebe1349342bcb6135d5f3553dfad79f3ec1b49d35fbd205359f8e9737a6bba33e8907823456644e34ce648e3407717f3e58dc3b34403e2535a03e4d3594901b3e3aae483514304e358836b43541675a3d7685463649f68f322295c733feb8243d4c66e53317de26335a55f8345fcb523ba23a6b347454cb35c814bb35016b4f39ae58803582ce0836dbbed33576cb2f37f344cf35911ea334a08609358b1d9e38f65915350ec6ce352a389035bc9bc03518a9d7359d9d8035b1b04735d7404a3598bcae3551de4c34d6add133a2b58e340808be346fd40d34f38eb4337867ec35618caf370d0aa033dd34e43e5bd6ea3e5756d933374eac34b078ac3e14fff93ec108b2331c77d035e224553e5278fb3ecd9a3f35f350e43570288e3ddeaefd3e1796a035b5f0223524722f3a8ea5003fb01dd8348d76b6358d98d5356916e33e078dbb35d58f56356e66643535989e3eef13af35e76ad333a94e083407323b3e4762ae343429ed33bad4bd332f53843d66eaa036772cad356f0e1d360808f23c5ea20d3655d4fa34a4f25d359a6f263af8fb41351a866034135e1c345c09ea38450c233449056b340f091d34130a7134b848193403ed7735987799355f26a235cf658d350fa0743456dd2734123969342dd31734f856d634b2fca534c2b4c834c967aa3431ac89350f5a8c350f139d359ae3873589774035436ffb34de4dcc349f4722370a4bc93528b5953e6796223f2ee55835a4283635903e473ec45c293fa6792f35d35643348e1dad3d56812c3f5c12393433f96434223e9f3951e82f3f6f448834759e96358845b335c40e253ffa927d35b7b660344dcf6f3452a7fb3e22036f3404e6b534daa2c534b82ca83eb269dc34bb458335969c9035ce8c3b3e5d517e35e4090435f6ffc23475c2513db13f3b352f756233cd26a43451eb143ccde21133f1e51735bb1a76358e0409395495773597671835064f89340b1f763414e65e3472315334270b1934f1bfd433b0bc0c3482698c35146a8335b2269435164791352f7e6c3535ffd234b799b7347c51ae343c0df233aa132c340f040b34a95934346458a9356c3f9b35f89ca035fdc79b357104c535c20d9f3550fbf335e81a0937fdd106347476203e2d4b503f00000000197f2e35f710cf3d77f1553fb7575735a901f8348b9dc8391d5d603fdf35d833c0716234a98a5e34550d573f21eefd3369f97735335c8d35f7d52d3f68a695357a310d354fb60535d59e013f3680f13201941c348f5e44343e90a13e92ae28349fdc8c35c148973521b3173ea0258e353a1693350d2193354d767b3dcf3e7735b9d991346ca1443764fa7b3ae6a960342b7d1533df2c2e331ccf0933af77ff32447a8935df44203541da2c35f4712b3563fb6335ff262435ff272a35c3388e357a41fc33ea80ed33326bd833ac4cdb338d975e35652e0535ff070d35e2d7f33487263335616e11356272203515f68535c14308342007fe339c57e433cb11e333b19d3d34286511349feb0c3497a802345b25b134db0feb3c2e40743f00000000189646333326c133025f7c3ffb431633f37b5c35ea613d35204a733f1d8a123530203b35d7976335e9294c3f69551d354f060534472bf4335083233fe6e7bb3360e63635bc0f243546dbea3e42c3e734e53a1e3535ed21351431853ec3833f35d6d50834b49d0034f7aa093ec30be03334242f34fa5e1534fef72f3d35c5033400000000000000000000000000000000a3b32e347058f833fb8c0134692afb337fbe873507e26735325e6935a0778235409b99346a38823493129b34585f92344e1bdc343e33f63451800735198f67359cc561350b9f4d35f4534935dd3a5435e89e7834196d5034c8078034ce466434f4df983510d9763579de943544dfaa350000000000000000000000000000000000000000000000000000803f000000004c3d1834531805342aa37a3f75780c34d99065354e516135394b573fdb917d35a82e973489198f34f1e42a3fe36e8a34309bfc3465ce1935b347fb3e22f96a35ab424a351c854a3566b7a13e87f15c3532f76e34a2f7e9342ca5173eea728334036b8e3532a27a35cb8c523db647a83500000000000000000000000000000000000000000000000000000000000000009154a9332c6bf833e41e853cf5281034eb8f8d321476cd32be71a13c2691ef320000000000000000b0584e3b7cd6bb35ceff77330791d5347caf3a3c5ec3c2333bde4933b2948933b602c33ac8dab33391372f33d7810637abdd473b702f06326275a7355daf9c37ef3a2c3cbf1f6d3400000000000000000000000000000000000000000000803f0000000000000000074ccc330266673fa2722a38817ffd3337e6a932babd4d3fa0582a3c8849d23200000000a780233fa3d09038d2c44234ecb79134b3c0f83ed4aa7c37429fa233b02776339fe5af3e12febd3356178233f1a608335e051e3e740e0c32e19ccc319c23c335ba0a023dc420cb37340f30340000000000000000000000000000000090a70630c66c70303341e83cae096936000000000000000032a0313dd91e9c360000000000000000bd2e013d000000000000000000000000396e013d000000000000000000000000f0cacc3c0000000000000000000000007d64f13c00000000fb6ae6329d09dd327f0b933ca2648e326c367033e9c86d339d11453880b387380000000000000000000000006ba96e392c735c30b68f5c3f4fbb053d0000000000000000b9f63e3f832e8a3d0000000000000000ceee1a3f43d7533d00000000000000004e6fe53eb7159438000000000000000048ee983ebff4193800000000000000009454213e96dcb5370000000054e8e6326da4763b9af43338af465f321f2a863367c858337687f63ccd3f9633000000000000000029f40f3d00000000b771613494eb803453567c3daae844370000000000000000c3a4503d60fbeb3500000000000000003a981d3d00000000e94f64344c1a80342f72443d7878753400000000000000006183553d000000000000000000000000f42e403c00000000fe8078333786a3338cc86b3808ba83380000000000000000bcfd87365dd8e438000000000000000000000000b4613b393e665e342279363f2cc4f53d7b17203400000000c6090e3fd1f2ee3d0000000000000000e9d0d83e3b16be3d0000000042766834ee10833e93a4773d1b512c3400000000e2e7013e13ee3e3d0000000000000000f17b983882b8a83d000000001fa3383337dceb33eed9133e0b4951330000000000000000a1cdd83dcceac43700000000000000005ff7673d000000003b361c32c54091323475ed3de9b4d03039eee93271bc2333c20ac03dfa3a1d3350c2543317fa6233f265963d49967035ca3d1a326d438832069e8d3d000000000000000000000000a004f33c00000000c6ea8a348cdc7834b7b5e5379215dd37000000000000000000000000e211513800000000000000007cbdd236e073c2383e78fb33971f3c3451545335fe958138e3f601324043033fbe6d5e3e0000000063e308337724bf3e975a523e2cdee132c0de4e33823b813e2b8c553ee7d41c33ca6d2f32dc54fe3d56d4563e0000000000000000dca960395acc843e00000000300c8b3415798534746ca83ee5639a34000000000000000029319f3ebf5cdc3500000000000000000aff803e60ab5b374d2d2e340ae7873420a4183e5977c1350000000000000000a9de093e0000000000000000000000002489d73d000000000000000000000000a615a63d000000000000000000000000448c133d000000000000000000000000df284b37df9fa736000000000000000000000000caa1e53700000000000000000000000004b37e37000000000000000000000000d629d0380000000000000000000000006c8d3d38000000003311b43e7c9cb13e0000000000000000846b723ec49cb03e0000000000000000d29f013e212cbf3e00000000000000000e0cba3c2a85db3e000000000000000042d912365491003f0000000000000000000000005e5d043f000000000000000000000000bca6d93e000000000000000000000000228da33e000000000000000000000000a94b323e0000000019bb8f35f16cac358869fb3d3ae25a35ce180e34c0625134c89fdc3dd6f4243300000000000000005655363d000000007f709b3408539b3450a57238279a8b3400000000000000000000000076491a3800000000000000000000000001663f38e16723334bc8253346149f37d970b5381256d13285cfda329e1d0133f9aba538000000000000000000000000c8b19639894e98352890663e51c9023fb08c58341d0cf733c492f13d9d52073f0000000000000000bb36463d09bb193f00000000e44f97347208053824d12c3f318a633400000000000000000c03373f0000000000000000000000006e391a3fdd71bc3255d319333d93283387a9f03eca4c81332a15dd329eb3fa32eee2aa3e772f4233000000000000000037ed243e73e7b2320000000000000000dc30c83d000000007b889d3300000000c706833d00000000d5e6e9320a6a4833ce83bf3858ae5236000000000000000000000000f18616380000000000000000000000005bac5e38ea37173433543034cf076234b8cf9a38000000000000000000000000178d7b3800000000000000003b14b03770910e39e3dd9d33c26f0734019aa6377032943800000000b929033e8516393f0000000000000000f2d28e3d38d6433f0000000068bc1f33f2139438f1ef5b3f8760c233000000000000000039a0683f000000000000000000000000a262473f00000000af3e3c340fb04d34cef6233f57ef8c340000000000000000cceee63e00000000000000000000000077fb903e7f229f367080f333ca1f4134a2aae33dd50de5340000000000000000c9c8573d00000000a5829533234582332f7cc03818ea593339a65732a25b563232988832a0c10f38000000000000000000000000d3360e3800000000000000000000000041f02438000000000000000000000000ee0d6238000000000000000000000000dbc20d3900000000000000004db3dd37d14606390000000000000000857e5b371362c038000000002e77023d33b1623f0000000072e170330bd5413871d5783fd4973933b43a5532b93b70324d0d7b3fee16cb3200000000000000004068513f000000000000000000000000c4552e3f0000000000000000000000008288063f000000000000000000000000fa30a23e000000000000000000000000002f173e000000000000000000000000c461a93d4ba93c3000000000000000000000000000000000e8426134f4881c344e7b5e340537a838bc8c8031c5b8b23116adff319c130e381ac2563321e66b33f35ac1330923b138b4ec89339bac903377fcb633b9224d3800000000b18e34344a2d933612b6c738ec4dba3250e2be32453f563708986138b61fe1337dc7e533ec427036790c3d380000000000000000000000000000000000000000000000000000803f00000000fe7b1a34f61c42344619763fa4076d38aa269a3108b6e33100b9523fa1cbc53cd5583c336ae5963396d3283f3b558336113a7d33c890a233630d023fb03d3536fa94df30b51a3934c4b1b93e24479d37e767be32e2fed032ae322e3e58d6e5323b2ae533f425fc3344cbab3d075e0b340000000000000000000000000000000000000000000000000000000000000000f67cf035d15be0359c1c61378e0c9537a3739b364c749336f1ac9937afa2c637af940c375ac3e836e634c037f69feb37f8d0da36ed4a8a360bf41138670ada385e464a3793332837a5cfa537fb54d737411d5337451c433743f88a3717ba8a37753d2536e3d67336bc61b336d9e8443600000000000000000000000000000000000000000000803f00000000000000000d73d835d3da7f3f8fb5d637370a663718cd8b36bf37553fc1a5c5385ba39f3776c90d37a07b2a3f04b02c3881ddc6374c87c8367ca8fd3e51770d3a423a1238f7011537ba19a63ebe123038d0289f37b48f0c37d75f213e17fa0638775f7e37873cf2350ac60e38e65f30375a3a2636000000000000000000000000000000007991b53649480c375e632738266d1438e4c8033696912b3600db4837ec279237c9711136784a013630528937166fd1378aac6a365c034e36f381ec37d9d22d38c85df4363312dc365c791638cbe24d383d1d5e378e3b5137b441b437e0420938ade716378e581037745ab53726defd37eb2e9036b72ce436eb5d93370cbea837148d303632d3ab362de325379f705337fb0c99368b4e7e3f2901ce3b50d8aa37798b9534d08c763fba6e003d6a57ef36bf7e9a3569534d3f239afb3ce9955c37b5b73636aca5243f9aafbc3cd158d93772eac1362447f53ee49a973cf20e10385cb741372fbaa13e588bd43beb47b1372f79d73624a71c3edb2d923836af8e3758720d36df454d386da3373860607d3735ba8b341804ec36c5f09237bd605337a707ae36bc59083798704538967bd337548b1e36ea7a2a3623463237d8823f376af046362b633836d40e89378779bd37b3d333370b1c26376403f83715793b3800e9a6364f06973672801c37e9340938860fdc36f644ce3627a1f8370daf293827c422371f4242374b31e2373dd9fa376f73603675b37036c3e79937efcfb03789595f37189b93378bcddc376251f137df8f9f36fe76513fb9e6393e405f0437c336dd3547f34e3f1f6b403e61d675363086f23503ed293f8b5a363e04227636d4aafd3613d70c3fc0530f3eb6fa90375f5fc635230ecd3ec79cce3d423d09378e9dbc36e9e0843e4e2e573d5c6b9b37cda16135e7f70b3e6ac77d3a7d8ca037c4271636a01721381d439e38e37987369744d536af8ad3372a3b17380a24d337fdfccc364245be37b7e14338c909fd37f901a0355276a4359722b637182380379743b9364f7cd836b7e3c937341ffd37cd120237b816fa361dd1a6375e78dc370b375335352d5735655830374d179337b8ce2837906c223707bceb37624b413933178e3618b78c36114cbc377623c73771dbd7369cea02379cbb2237e29b1d375e32b33744dddb3796c814388a301a384571aa362a70293f42f5ac3ed307d43644199e359329263fe87cb33e2179a835d9d43a36e6b70d3f3b8e9f3ed766273763c0d73640f6df3e2df57e3e92d53537127d52350feea23ea2db393e886dbd35da7417378fdf4b3eeac1e93df8b427372f8851364a42b23dd0de463dfdc38936f7b769363ba99f375ae42d38b710ff36e11e15375e5d0b38b5453d384f64fa3735c55c370fca99370a734b384b9eb437a2e51e35cd1303362261b23729ad7e375cdfae36e47a21377dd82b38db57353808802037b1d4183729c3bb370e04f4374f11ba37f781b43763a41b38e5883538e0793137f0772c37a30ccf37be080c38ee66da371daadd37b9493c3835f84138c689053751223837ffe8aa37eb669337c08b9d3720b2a4377fdbf437412cf537dbd3df36f3d7fc3e1386013f75250f37aaa409357bd5f83e0f89033fed231b35167f3c366d10d23e4b4ee23ec7928f36c2bd0037c0f6a53ee0e7b83e1f481937fe5814377fb0713e1111873e160bb4370415163747d60d3e145c343e6c3f21373a7cc3367c70673df157ba3d21ca8d370e0c863525a5f63744a492380c3abd36c5d470372a8ada37397f50381e37a237b7309a3740c5fd3785414438c619fb37e4bab136e0b4ad36664b1637c5b81237da827d36198464365bb08037f2038a3766f12a371b01223714dda637036ff4372bdaa2367ce1b73517c0f736d0ce42370fd6a237ca788e37870fa937b8d2bd3740c8a6375342a03713b2d637c5c7cb3762e7b43696100d37062faf3798cc8c376c4dc137c09ed73751700338af170138b7c9033736ada73e830f2c3f819d7f368b475d355c3ba43e09dc2d3f0a795a3557df28361b298d3e6eb0163f4f433c3695db1a3720c9583e600bf33e3dc01c37b7015d359a8b173e2351b43e5f505235186322379f159d3d7065723e97b402372d8f5037ed22253c1620ff3d127833373169ad35a30df5373d2a63396712a635456860377d350138329842389a89bb37b39a913740dad83755a217384345b1373a2b803600186e363aa16237b745863651f88537e6224a37f54d8937a262ba372177993797733037efa475374afae037a586153723930337eb5b0137ec6421375de1fb374ad7b8375901c63739c90d3849b1693761721f3788546237a6869637e12e273791e91c37e57f3a3736cf213759ff8437f0b079371519c337599faf3755124237ad9b253e0989563f94a6ca36c02f3636cd51253e5a9f563f6d5287353e0e8936876b1f3eaada343f3331023528c2d336f6e5d43d797a153f4eadc8362625e8361e0f8f3d1970db3e247a9f3695718637d86d853c313f963e0dd24737b4a68036b32f233806d9213e3f6c64368873e63667046c371de76b3b90548236b21f29375d58b337851d4d38c353213717f53f3798c725376058833710dd0e3780796237e8fbdc363487b33695342737105b9637f1cf1c3707f1013797b78d378c6bc1378daf6f3784fd59375b2fb73716c62e3807159f37192a5f374edf1938fde50538fff394372c1b6e3759e00138907db937885f6b3731a07037b49a953702bf7137b59c3037455c5f37c85d2937169efd3714cedf37adcefd37233adc370945f43645bc48384ef57f3f0f238134dfa0aa36311c5b3bce177f3f0fe99435c33a34377805bf3b4f4e573fb5d0c136f45d8b3731b08e381a6c2d3f9b9c52379936b93714054a39c682003fb64a4c376a749b37d4d65c385aceaa3eaace923670f45137e330123819012b3e30f9563616e21337957f84374ddeb33b7d19bf36a84bac375deaf8374cb23538949b4b37000000000000000000000000000000007ae127369e2ad135d49ff435a6f1c63696588e378397e636f4af89369c6ba6378deddb37288d32378e3a07371c3cfa3721895f38616b1937728ee83666a4973822a0e63754b39337ce3b86378e93e33725efc337f9867837b5a88337f8fabc37fb2e9137328d6637adc28d377a1d8b370000000000000000000000000000000000000000000000000000803f00000000a73711361648e836a1fa7f3f1176fc35e93159378bac89373e94573f335c3e37a48f81376183f6375de02c3fb7fd9c372af8b2374f7a483867ea003f6b7a07389ebdb837c0c1e237b4ddaa3e8f37c037f6b69d37bc9abd3771d42a3ef9e9943795c780379b58623777ffba39c5462637000000000000000000000000000000000000000000000000000000000000000016d5bd368a56b337bb6c403829fbea3768171337ba5d2938ee3a393a7520bc3957e413370f2fdf371a5a3f38e6432038e8164737451f093883e9b238c3a63c38796e92371de1ca37d751ab39d1f42f38bc6c6f37a9891538d0cd6c382e112d38b93bc036add5cf37e2eb3138ea45be3700000000000000000000000000000000000000000000803f00000000000000001249d636588e6f3fe599fb38174f6d379fd4c0376a63493f55cc813a903b25387c528d37908d243fd7a0aa395687fa375911a337299cfd3ebdc6c439bb73183827609c373666b23e13c61a3a366dc837c9f178376804513ed4f186381b2ce137fc86b236e5585d3d9c274c386ca1763700000000000000000000000000000000e9759536bf072438c686123936da2e38d82ea435d5523f374debb739ab2dee37a1d7ce35e4b24436035c2939c761a437dc4a6c369cf49837f835cf38ca4985380e930736237cb43662f57239242cd037757d3f367828dc36b335873859df5038a6ea9f36db2e7437111552386bc52b38102a1236419f1a367894b837a79f8c37bd13f2365d983b370b360838504309386f6aee3603666e3fbddb8b3d19bfcd37890b343620d75a3f517e973da3168637b920fc350ce7383faaf9933d99215e37a65380363795173fbb7b813d47be333853e90a36e3e4e93e76944f3db445933711e66a36b3a8a43ec4cbde3c4445b837d6e6a3360e49413e8236013cadafea37d7bd153654e8483d84d18339607b32372ccad7361107d1376e386039b2c2f037f74889367d1caf3705c77a3accd8bb3730dc9436d425e33640d4363851ce5b3780d47636fa619537602a9439c1282038423ea93634461a3719d432383e07d537b42c5636676885372eeb953a27ca4a3ad3d76537acd800381bca54384e873938b8c8c13550561f37e5e51f38ad3ccb373a720537718c3837bb663a39403dfe3787c8233746785a37c26529381e4c1e38380d8b364dcf483ff3605a3e60d23037b1209536d740393f04ad583e411adb36d3438236b8311c3f842c493e8442ca372c11bd36c432003fc83e243e68896f37c2485336febfc23e9e45f83d032ba138fe697b37ad7a863ea360aa3dec8c1a380c4ac735b3630d3ec61f553d38a43337b85701372c52103dd20b7e3aeecf9837c6f31b37284af83771f9a539897300389723d73644423138981cfa393f0a2338144dc8363af17f37e3973c389280df37083c7a350052443669369638ee64a2379cbcf6368b17be371d9e6238c44533381c988a36dfaa8e36ede5fd3705e48037b1052936146c2b371a8e56387d6814383e352637ea649a37733c173863fdeb372027b936dbc1f736180e57386048943793560537dfb188372331ac398a7f6c38d078023707b2233f320eb83ed2819c37598bca36658b173f2c4db33e84d51d377a9e7d3551ac003f9b089e3e151b54368cd10437b315cf3e5e0d823e22b6db374f5a8c36cce49c3e5084483e820790366b982d36de1c543e290a0f3e257c5537ffe92137fb88e23da0bba83d239a93372fbfb236e27a1b387a318b3cbec3ea369a23f3364e7923385463653adc500c3858a92b37b1762838e442783ccc681f38e6c7f2363ffe3337212b2e3a65e5803751d00037dc246e37b1de6b3a4e96fb3710012a370d0ac537bf37aa3939fa7438f2fb8e36c979b537962f973956393538f1b848377261f73719872a39ce176e3850453737d37d91379bff053afebbd0370ed2263770653b375f732c381bfc7c375390ae3762720438fee64838c77f3438a71e4f37694bf93ee0b9fe3eeceba7378ed90137973aec3ed1d5fa3ed1671e3727c208374ba5c43e7c11d63e6f65463774672a370eb59d3e8425b23e0fae933792bb8a36cfb46f3efcf1873ef76d9637d53143371132183e2e68473e6bbeba379bba2e3740569c3d09d2f53d204652372444203794c709387d3f443d1a773137060687373e492d38c283d038aeec1438218fef366dcb21387b6bff3b223e023837d68936739deb36a4e61a3c269d8337d5670f37de7d8e3763c748389c7df237f5d32a362e895237f8cf6538b35711380dab9036c3ff8f3601e0ef371b5b5637bb8c6e37d50103385097553815eb20380baa473636c4da36e0f80c38999461371cc22b37d31ea7375c9a143838d7cb370316b0372555e737a6ea77381e404d38b4bafc36469fb03ee055253fb5f5fb362b2a8e36e356ac3e0a04233fd8abbf36a0d7113755548a3ed45e093f57f54c3793e92d36f594573e5f77e23e28b4e8363a9f8f36814c1e3ea99caf3eac798e3699694537461fbe3d6b6f7e3e5875b43784e92f366c1d093dfbce1e3e94814d363838d43669b4033889ba6b3dc1ca4637263a9337c27c31386fb08d394e4e033819913f3797edfa3702ed523a59b1ce37ddf00d3742578e37d2db8b3aa552cf3735186d3656d013377b0ee4382a7fbc3785bcf13778371338f7f45f384ca12e38f8f09537be779f3829a3963a68dc0b3a21623837d05e9137809406386dd6a137c7c4b6379ffff337942637388b940738925e07378b141a3769d39c37be7018370d6d7837ae8d8c37cd28b639f788eb3754d241370f07513ea8694b3f8a7425375fc10c37183e4a3ef7d3433feb5f0d377bc83a36d9d2293e0bd0243f4fd4be36f5f9dd3720b1f23d4f0a093f6fd5f03715dc8837ee5bac3d3620d23e1a60893796cc2a370c55193d61339a3e5341163776c092379f1c683b60ea413eb4cc8a37977ce8368c5f6537c158843d978bdb36c63646374b15b137582e563a531c79371d6f3c37ab0bcc378ab5413cecf8ae376b5c22367c01d0367c6a5c3979ed70371c2f24370081a537cda15b38b3b61e38ae11053771d11637340d7838152d32389fa76e37b7f86f3723e1d0375db9ab37d2063c389a762f3886ab823830fc5a38cf758f37d33c73378e6da13737c8523738a7b3373f5bb2377ce10e38aa0fbf37327c0138438a023881f25238d2343638ffbe3b3799425b3d00276f3fb893093740dd2036969e763d18e0633f3b051136a2b107373c2b3e3d7cb9413fb5236e37c4c2f4360956e13c2e991f3f71700837a3a93337b75a593c061df53ea4502a372bb8f83704008e38753db03e869ae9379d4752376b4ba4376516523ede188536cf2b71370fcbdf37d0bd903d141d22370d9faf370eaf1438f3ae8538319e01380000000000000000000000000000000021398b366c08f536410146387b1b3a38b78aa43766008437f56d543812786f389c39c737228aae3779f92f383b0dad39f5251738155cfb377e7d3638033d4d38125d0a386f4ee6377bf31038ea191b380ffa833905dc19380b5aa03969489d3900c2bb37e154803746b30b38ffd506380000000000000000000000000000000000000000000000000000803f000000002de38036690c0c386d14723f4e04df374e29833782e9403866a64b3f38a949381a5bae37291135388569263f1029873862e2f03759023938abfc003fe0b53a388e0ae437d34e0d38be95b63ecc1908389e5612385d3d3e38124e573e14fc5738d35765373e739137b7b8823db8b9c23700000000000000000000000000000000000000000000000000000000000000001fd1a137acae043ac866183a596ce639a44c0938c76aaa39a8160a3a76fc8a39d8d50238d992b23946e0073a16d7993949db273909a6f83965b6143a6504e239c4230b3932d7e339fbef4a3a6e0bc9395f4a2938caa49e39a2f1d8398861853947f72038d0f3aa39ed07e439c0bd913900000000000000000000000000000000000000000000803f000000000000000035be8339938d603fa5b31a3a4c0eb539dc590b395666403f60110c3a4a05333986cd29397c9c1f3f3c2a073a03e2513984a6a3393c6afe3ee909193aee24b43992138a39db59bd3e4dd7563ad88299390bf2d038d85e7a3e5702db39cc202539d371c938d9faef3df979e339db3b483900000000000000000000000000000000c89b3338f85f103a3b39253a16e8d5397ef88d370de88b39d5e1053ad0cd8f3954072238ce02883998e6753a13b4ab39d976153805fcb739a4ab173a5af4ca39a03a40383881113a330e933a68051f3ab202f237f4088f39ea045a3aeee4ae394d86b037b3c9353ade48cc3a9481633ad8c4c537d082ab38cce2e739a8013c391edc00384890a03980a1043a373ac83931c76b395bc6603f3ce4ee3d20d48b39831b0238a1ee463f2957de3dc0fed8381b353a3826de293f9ddebb3d200a3f3940d02538212c0d3faf4c9c3d43fc823945028539db97e03efeb1753d7320013a9c7410380ad2a73eea73373d1be156396e460d38df385c3e8995e43c97a2e33993b5d3370fc5df3dcb3f243a73135238b41a09385512f639d4910e3a26959f39537bce3770a4f039fe4e383aa887c1393121f937b0f9d5395384973a836de839b144f136261ad039a0cc303a24bee239a2f4d3379a478338a171703ae26b6f391412f33793f31c394e5a883af1cbad3980f96837069998390c9e1e3a7df6c739576f5138afea6c39d9157e3a9dcda439a5730538e40da438353d163ad3b947399320ec37058c1d396f6c753a555ae739bbc8d5383042403f3eff793e0af4603902d41338709c293f2d745f3e54382f38fb820a3848cf103f83d43f3e9f777839e096003866ebf03e2365203e79645d385050143815dbbf3eb2b3fe3dbd5cb838f86dbd3736a98e3ef3acbe3db1a36c398faa72382ff03b3ef7cb7a3de721283946470e38ea74b33dc28bf73c121f263892090c38afaf243ab091943ab57749397b5dfe3777f8aa397137413a2b09a1394db1ea373f2ca839136a8a3a6ecad339a997cb379ad75539f3c6a63cfaedac3908a3b437a8ed9839365b8d3a05c6ed397d51fe37cbd4c33906dd7a3ae618043a16bec2379e49373845f5913c3dc756382e89ee3798deae398632513a6398e4391323c43735604238955a1e3a9baa0539184e3438fccf9f3965f3233a241cf23989471c384662223f212eb93e29001b3920ff1f38e8c20c3f5814a93e28263d3912cbe837d51eee3efba08e3efd15f438208b23381a89c73ecc88713e921e8639cac213380ab89e3e05a9403ed0e0a839ad59e6379d42643e15f4063e569e3738e181f837cb0d1a3eeac4bf3d5be3883925f9f8377a18913d78fa3f3d46fb3e383fb14738b8df003a957d613af939b73983650e3823cff5393f29493a16ccd93977821438e4a83d39dd52093b887caf3976920538951b8539a4abf83affbb5b3a2c3b7b38d5e00e39ae30fa3a0d0a93392b1e7238fe8dda39ea3a943a4aec0a3a0ecf833802e7d8386192de3a6c4d9139df2f1b3856ead2394e7bdb3a00d0303a2b201a38443a4a39d008c63a329eb439a0911638856b9f39f98c263a2169053af4df15399b64fe3e06f6fe3ecc256339b1f925381ef5df3e8df0e13e58f6ef387a312738913dc13e810bc43e2ea58539b3ed8338595c9e3e5569a13ef6c19a38bf1f2d3969e67a3e562a813eb340d3394f64873840de393ed891413e3190ce38f2bc3e38dedcd33d0bfd043e3506603915a51f3808075d3d89e77e3db3e20a39871143388d66f83975c5403ade48de39e36037385855ce3901d5903a3f81dd39ff23ae374e6f4938c6fa893a87660a39bfb9e637f9ff943988a59c3ab641fb39d568ce37e4233938ea49983cd72d7238d6210b38b602b5391f73843a9d9b093a89b50c3852509239b6b3833ab75fe7395be4f837c3452b39c0e2253a1d71ab395a602038f5ce8a39c8e3323a29d5d739a8fd0e389b9d6539ef010e3ac943bc39c1b971381934bd3edc0a203f3c725639ac590138531fa73e5cbb0d3fe489313882ddf737664c8e3e53a4f23e87268b39dba7f13761a3613eacc9c63ea1753538c418133809193a3e9f96a13e5f9eaf397069333805a2083e1c89723e3fc583393bd4fe37a8e0a53d5fb61c3e69930d3962fd2938d2e0183df396a13d38327339ab0d1738f98bb3390e644a3aff178039022b1238d8ad6d39a501b63ae685cb3998ef0338025c2838c89d8a3a81747839fd594e38fe0e2539fa79a93a0e7cc739cb25a437d03c643957b02a3ad064e6399d1c0538d13eba387cf68d3aca9ed33989e3e237f12d5e38824c683ad97a793948f530383b7a6d390165333a868ce839f23c24385fab1239d631893a0a290d3a57dd9c385f909039d526173a660aed3943942d386043783e6777403f17dd7a380c28113897485b3e18672a3f765d23385b337a38bc893a3eabb6113fea5938399cffd2375f6c193e3e5ef33e2a218d3921441a3826c8f13d1b41c23eff370239e54d07389e55af3d8bb9913e15ce783808c543381ca45e3d3ca8413e9c168b391bbc25383a9ea33cbcf5c23d7722313934fee738a2f2c339114d5c3a5598bb39f0670938a7ef97396942273a6073d2394293c73716db0538f1a6913a472e8039bfd9b737e86fa739df1aec3a1b7e9b3a391dfa373ce930394f44733add45d939510a863988e5ed39224c933a9d273a3a38497038038269397d02163a5130e53915b54a386fe6323947735f3ad4b7bc3909040438defe08390612f4396c239d39eed72b3984f39d39901e1c3aea9f073af253fd38635eed3d8d3e613ff89683398684d537014cda3dddfe473ffc6a30384d56fa37f103af3d8ff7293f782d363aa9a7073834458f3d90d00d3fa4eb9739b608a139e72f5b3d0f01e23ec17a0f3aae26b73866aa183daebfa93ec65faa3928e84938d8dea63c6539623eac046639e8e30a38762b6f392ff3e43da2b23539106f3b397d6cc239b0be343a5720ea3900000000000000000000000000000000ee68e637a48b16397c3c063a3a2dda39e2721a38de60f53864bbe139542ece390a08f33819488339bde7433aee19373af95c5239ea6fa13981950e3a81ba0b3ab1a1e238b49e3439204ddc392c38c5398fd6ba38da1f2439db19e0397af4bd398332993916adae3906a3103abb1b033a0000000000000000000000000000000000000000000000000000803f00000000e4ab2238e2a6b0390711613f223dc139453c2838badb9c39268b403f04eabb395e5e273946a7d23913c41f3f9efc193a84b06a397db6e3395ab2fe3e2f3e073ab3f0e3389b54853994d5be3e119ab8395dcbc1385f586939b0ab7a3eab4aa539ad7c8c39865cc139fe75f03d1c79e9390000000000000000000000000000000000000000000000000000000000000000e67e6634ebdb66358d126937f3abab37b91c41359bf450357ed573354bdb4237d4bf503614874f367132d1376b710a38b8eb2b35262432340e0e52373a757837cf749e358c41a635985d91379b7d7037885bb13544a0b3351b0188365240a3352d4cb1354748d5369c1c0f37f85b4b3600000000000000000000000000000000000000000000803f000000000000000078fc0e35ece37f3f7dd90138a67d9337d5c54135d259613f53c281388183c0365c496b36f78d303f41537439687dfb37084014365bc9fd3e503aae38de334d3711f66b3681109b3e26a516385fa33e37ea8ca8353bd0de3d15ac9d3878199e359ba2ac340082de38bd28dc374136af3400000000000000000000000000000000c7ae0f364d4827365d43933731d41f3789b4f934ce7e1e359f6ae9352196f635701b1c3520a81a355a848435b642a035d78bdc340beac834f39c8835539a66378fe2d734e475de34f692c636855827379002ca351758c535491bf137d1c0ed37be715035af1345358c7348350a0349355e7da1352e6fb73567495637ca42373702ca5b369d076636dbdfd93603873e37edb90236bc717d3f8399223c5f0ce73645b8013592b2773fd981013d6134f7351d261f357f66593f08a7be3cff679d35c5ccda34d366283f87b6423bb2a81c37e02ed8345e87f23e30710e3b6be8cd36cd1dca35454b8f3e5c53903a43b1983716c54e35787cad3de72e073a4d294c35e635a135b6f51b387fde4d3895fd13370e805236418d713653890c388d1b4e372d6d223651332736a5521d3825b79c374583fd35abd50736e4eb093680060936c77fc2351bd1e535733843366cd3483609beda35caacdf35ce71f135c52df235f3b69835d7049c35ebde8e37d046ac3711bd88360cb68e362b5c9e3696839d3673ed1e367409303662741837ef1657363052003695c80436bcacb23793c3a237a967923647679d362245a836fa13ab36f18923360e775c3fae110e3e2e8026365495fd35d281563f6cad243e32460736b04e9535b000353fc851243e1d24403667a1e135a5d40d3fa81c123e2c12ee3561159935fd34c83e515ed73d6bca64374b6583361a65663e462c8b3d9c0f9b3631870b36a8d3923d8644e63cd2304436b217023622591f3833a70e3a8f2e403786968d36a6e5a2360f8cf0377fd9ad3612091c36e36931363207d837e15d3b36a775b5351363b835cb690f38c75e9f372079ae35a57ab835ff14c8353317cd352abf2a36337b34362e7f483682e74b36f5c09e3530b3a035232884377cce5737c827b835213fb93568dc683634f7b635d6ded435821b7936035ffd3731bf793778bd08365c3f0936f979cd37d7b261378fcf4036abbc45363cc6e237f43bc337079f14364d462d3f8b78a53eac472d3670f3b235ecb8273ffd56b03e4980c1352fa1ae35b304103f045ba73ed081d035199c1e36091adc3e62b7893ed89c4336f7729e35053d973e8b504c3ec6b5a0355603b735c778303e81a7003ed848b6354e9ed235ba4ff03c2f096f3df78fd93525ad06361f4d1138b8314139a1c00736e1703c36150186374f064738acf55c370ee0ae36c4e4eb37fe5c7a38e837bd37c1f884366781a436fd8afe377807d636b84a9036cf06a23673fee63650fbda3668428d36f44b8b36de179d37ac541f372ba4d735f0232436960f48376bac2c3750b6a7366e20a8361f4e223801714f37979cd436862fe036dd0ae037d582eb36dc40b436c5518137e8ec19382519c6375af77b375bd4c537123a3338591516387c8ea636d86dfd3ee737013f85bbab36b4524b367705f33e3f79063fa79768364cc44d36fabfd03e3705f93e0042a3361a6d6b3628009c3ee337cb3e0a848d36749e2a357a245d3e236b913e62c89135911a9036d28fdb3d7fc9433ec47593364622ae368d9d7c3ca8a8b93dcda8ae36e89690363cef4738e580003994209f36c1feb43687b11e38c6f5b83805b8a137a13c41368aa3ba37cdf11d387eca3d36c277073620d009366d8b5237a52a0736cc79cf350aced235cee7cf3595bcd03512b5b1356f0ab735389cb435c607b435efd8a235bbd2a335c7b404373f7ecd35ca1f473698aa5236f88be7366c174336e41ccc35d10ccb35cff6ca35c6c1ba3563f96737e02ac0375f8f1f38e7a4a7371c4b333640133e36d73de836ea783436296a43368c709d3eaa3c313f51833736e21b0836b36f953e2e3e353f2b0005367333ce35146d823e9358283f0db6d035cec6b835bfcf3a3e3502053f6d6ab4357926a535a0e3f23d3ad5c53e253a9e35f0e04436fca45a3d86e47d3eebe32e360bf2d6356c223739c334e23d70b3b3350ab555369ac25b3897749b38a424ba3522df303679df40373d27ec3768e72d36aaddab36d676b036c569a536ab0b9736fedb04368f6a113776e90236804d03364ed03a3615ea3c36598a2536a1811e366dec9b3611d89a3633d28f3603018b3631b67c37d20e2937176c9436cd979a35e675ef355d11f735a40cfb35aa01f235a3275c364d285c3653d85236f2f33636faab0c364da80c36135d0b3644bd073650a6593708caab3736f6bb37e01e2b360390a936479b033ecc1d5f3f91408736b5ff0436a0ade03dc6c2633f96e50036a3b329360bb0dd3d64b54a3f99d9f83538ac98360438813ddded243f18948236faf2083751880e3d7af8ef3e052299359e1af1352cf9073a5d1d9b3e1f8deb3545e64d36c420cd392a78073ea8fa0836ec160c36814ce93784bd9d3a672a063647762636ba9a0e3871d01f3897d4293651a93337d1c47537b62d26374ad360364636d33657f3e635644ca635abfd9e3541a84d356a114c350b194635bf2c4b350b35cb368e52cc35cdd7c135e65dc6352ae2c9364f1f07354cc4e8348de1d734d0ca1637e72d8b35cb3a823519838935eee5a0354a90a635a77090359cb64e35083e04368d830f367e1b08368499ca35d02c0237e44d2337067d4637f23d973669f30437d3860f3a96da7f3f281d3b36755104361af56d3820ee7f3f76599c35009952354667dd37de306a3f545d47359635d035c63d0939e106383f3ebfc135b91862368a710238ae25063f5d5ed034002f4e364e088d38d397ad3ec6a8d534b9099f35edebb138056a023e38f61b35d7d60236502103385471683a4ea987350f67d136f79dd33788a0e13768422f36000000000000000000000000000000003139b33494b5b334cbeeab34fca3a53419208d350a839335759f6c3576e8a335932b1b37878d723532443135a5951537b5425537296ddf36e05e553601c84b37ecaff7372bbfb9379ae5ae371293f137fd81c736dc048d36ddbe2237fe3da5365b34a737d51aa1378bbabf37e6b6a5370000000000000000000000000000000000000000000000000000803f00000000c892b13479e3f7365af27f3fb4f4a8346b8393358527a735a021643f1be69d356c54ed36c861a4378d6b323f5d8c3d372ee724371d72af373c12013f990e4237caf7e7373e41643832a59e3e808fcf371870ab3609911138f6e5f43dd4de54351b27923722dad037b4b4af3927d03b370000000000000000000000000000000000000000000000000000000000000000e36fa436e414c136b701493723a75a378546bb3588a975367927aa373edba137676e7636117dba36b1ea363830b4123861e2b1360c96bb3630d6e5379d46e1369241aa36530ab5363b20d4379892b63646b4023685edb1373292eb37a516b735519e433614b9513641fe063785132d3600000000000000000000000000000000000000000000803f00000000000000009373ac36c46a7c3f72af2138d7810b37e3222736b36b553f971f863957d3823789ce9a3655b8293f45b17a3899bfec37baeeb236d4a4f93e427c48383a36c5362517ae36f6c89f3e611b2c38d713b53642de1f3610280f3ea61e38382a825e3588e444360dab35382d342337fe282b36000000000000000000000000000000002e69293640557f360d7c1838b2509c37e0e3d236099e0037edaa2f3880df063836e1c1368f79ea367972fd37f0f5d1370034b8364ac7d136e49f6637fb214037f9b10037a71f0c37407c98376da95537793508377c801637bd81c6376a94563787ab5f36bd657d3601c5343829008c37661cdc363ffcf8369e974837a2d0273789557b36282c943676f8c136850a9d3761da3b363eea743f7da6303d328add3629a6da36db27673fc3ee9c3d016ea03747c5ce361573413fe8bb733d1b5b1c375606c036ff4f173f5b4f413ddf1e0937154604379b29dc3e3dcfe13ca2d32537a8e30b37a2f6823e8c96763c66dd3837d6b06836a22fb13d3482103b4e449936ff7ce53667ac1f378e6dd638873815374ae68336cb8aa8365d4bb13847fda53716a40b352a9627358d05523866e901375e419d35bd053136137122380209833620f05c36a63a933601898738a28925385e33bb3442ff0335944ed2370f0b803710028736b6aba1367380a937b2ae5b371d45b036335ef336956d4538443ea137b56b1c354f3c493579075d38ed12df37ebf17d364e8098362b2be737c6b4b337d92bb336db35ca36daba2e37e55145375c541435ad6f4f3f7c81413e64ea41355937c3352ef4403ffe2b663e0ba6813634286936a0131d3fd4e1553e7838463763d0d134f0a2f13e9f6c443e1223453558ae8e361f5bac3e8e45163e9b35ce36958fba368db0383e2e94da3d14580a3764b0203572da653d444d813d2bfa853640c38436ae8f583765ca683a9e68f63607e7b6361f16da36546b93381f670837ad571136d0725636553a4c38934c6e36ddb3ea36d1530a3746c13438233a19372b3936353358dc35d7f9ae36e4f22f36f2ea6e32572d7c36ee3fd53754ad3737e8240a3799ba1737f1a8593877472337c363bb34bb493a35f109b537890a4e3582b69135c1dfd535c9683c38be18e5355f3ffd3627b20b375ce68937cc033d3779293b34d3536334e895a337e20d8837886d1f36cf3c273f0758b13e27bc5f36dddbf136624d193fa44dc13e52a614377edb59359891f63e5debb83e08f724363ff6c8346d75ba3e0c569f3ea37bd73675370d37fcb57f3ebea6743e34351f37dbfbc434dbe7043ea5be2d3e64880e3502639e351b9d093c5a0ccf3d7d42b235eff901373cb041374558143b3bf40f3707bc4434d25ee636eb7ab439999202370e68b23650b2c6366b72e43845dfc43618642937bc943637fa0e4138ed023b3795490e37e4471a37e82c10380b343037a1fc29378a183237e9a70738f8283a37a86ef336e090ff3697a0d337e0a21337fe253637b5443b370e182e38d6513637d419253788022d37862c25389a9a2a3758c63637234c3e37a1491538da5b3b373a72b9369ba0c336293ada369116ca36ff79b2362bf7fb3e5504023f08e6b536bde82937d1d1e33e66c1093f9a57343782b91037e953b63e3b0e023f256a2137940a2b37dc45843e25badb3e54fc35378790f436bd8e413e2c419f3e6153f9365e66373785a0a63defe96c3ea0023137fd54243795d08539e6ed0a3e75aa173779373737c74086376d918b3cc98c3337b07fbb364826cd36f2f41d392ca7c1363e79203433846637375a423813d34e34ffbc09375c1e15373452973735920a37e2d78035396cd0356865ff376a8dd335be4cfc34002e623515d27c37c72a1f3574f81c379c5c243708b95038d8241b37d8839f3660db22373aa7fb37173d013751bc3a36864c433616fbf236779707367d9418375aec1d3774942838bd9a12377d6661361ae27d36c0e30a38ede92b372ba92c341f89a83ea2a62b3f9d293b346ef80837f247963e574d343fa10b0037ac02823590fb653e0e792a3f3f3187350be7ea340b5b1f3ea3810b3f49babc34fa0b1d37017bc63dbb47d43e9caf1137f6919e36737c163dbe67933ec2b73a3679b03136ef9c9a37ae1a213eca63bf35a94b1837698ccb3746f7c13cf6c90537e181653680d76337eeb875391dee49363db6ed36ce554e37fc8c483876bbce360f0cad362c8b6437500821386d409b361bb23e3515a6063725cf1c3867983a35e6d00137d04d0d37851c1638b87e0237eb3ac9364e071237cf5fa137e9dab0367d7b59351cc71b376e3de337b2be0635d8f1c2369528f437ba0196387390173702c7843600268f363fb63238eb325b365d404535c1069a36cce6203818ff4436b011ed362cc7333eb504533f8475b73687e2ac3618e6143e64945a3f1ff27e3612294b356defd83dbe55463fce4910352f3b00377ab47f3d3b88263fd9a3d7367c5ec336db6a0d3d08d7f63e4ee19a36b355543561f950381a25ac3ee2f2ea34568ac036412dad38f693353ef6698f36af49873612850c380f14b13c4adc29368444453511adb1371780353a00d921357789dd36747ae637af003a38c934a336c4c9153725051637591a393785eafd362c779736fa0c9936e17ed136720e803609a03b378dd33437619136377ce42637831d26373fec2337c3744337f54d1537c4420c376fca0837c7cf443711a4ea36aa3b22372efa5937a24e2a38533a0537fc07c2374083f1375ffe6a387be94c3766d317374b468237d1b8113805449736f73cda36247ac23c3fe9793f4c1485362e2b1437f3bb72393eee7f3fee53e136997797365b6288389c48693f445563366bc63537e4ab0e38e7ab3a3f057513379d0a24379284883877e20a3f226b0b376f4c0b37fb9f3a388344b93e4e4fd83667301f3719a865382c3b3d3ed2dff036873c99379b6663382ce3a63ce10803379075c036319ee037a7edd338c42980360000000000000000000000000000000019612e36edf72836d9a32d361b654636adde5a35c666f0349168b63588098337d6d8b7363ed7b3364dc1b33654779437745bc3368736c336d37cc436db8e2437a308dd37872cbf3770f31738863f053870499b379c834e371ffed9378ea7ba367c5b51375a530a37a1d0dd37981300370000000000000000000000000000000000000000000000000000803f000000005fc0243625b436367afd7f3fb59c3d369f380b355e4ec83520325c3f7af7b5376f92b436924ec6363c17303f50526d376981c136048c7d372f2b033f3710c2364c38c837c58829388163ac3e3f1a95376aec6a37610ae03750112a3e0d9a923685e20e3796b2a5371f17643c4c41c6360000000000000000000000000000000000000000000000000000000000000000e8bb1635dd868635cf406d3867034338cb100636b9c177368b7a9f3907403b3829acc43590929937d0e391382cf03a3820863033c7495437831bc83948528437adffb935897ecb36252d15381fa609362324b13536431838d8103438e827703600000000383ccc3755b3cb370071d83000000000000000000000000000000000000000000000803f0000000000000000478050351b926d3f4f0a1e3a7e420938965b2d3664e8473fb7688d3a4e581e38802ceb351efc223fe8639c396cb71a38495e3733e7e2fa3ef069283ac32102371732e335d80db03eb0211638500604368ec05f3795a0403ec2d61638eeaa0634a121b336ef3f3f3d67f07137415ffa3000000000000000000000000000000000e0199d335fcea5339d8e243aa92e2c389aed61349d8eda34e221053985d4e83787bd1a36a7dd29365bf33d380764313889bcd63458981235ced57a395a384038f2e5683501ed8935a68d7538fd2c1b38110221363ad2a9366f1c5038ab3c08383089543537da7335bfb7b139212d85359cb67d35fc258f353bd2493873698437ca58ee35c1650036d349fc37154e33387edda0339c2e6a3f9275a73dec6ef5371dbb9e3409c9503f5e50b63df5a3b037835f2136a76c303f63d2b73daa2e0638f505fb34359e0d3f05a59d3d331cb73756797d359a50d83e47837f3ddd594937ebff293631de913e12f22b3dcc6ebd37ea276435dd6d1d3e70da9b3c2c9886358d778635b005223cbb6eab3c967de43576faf7352a3e04369c335d3acbe727388c67eb35d9b0ac37712f473a7ed76b38783480355d708435d585ae388dfc2038f374ee34de0b4c35dac1f9393655c037ddad01361e751e3600ad223940066b3816df933548e13c36819bed3868f026385cf44935b94f8c353a33d73bd42d0238e5080136f8542136e653be39c79c22386ace8536df6eaa36b385483876d2953700a01b36d7be473631a35d385d914538367b183668ee433fb8f6603e83ae17385385803506912e3f93926d3e9d085537ece01d358849113f332f593e5c36753691f00e362a3be83edadb393e0c192738931eab356b31b13eb8f20e3e41fecb374ece6835877d603eca0fcd3d383a6b371c6e0f36d19b013e6a33843d3a98e53641469336e10d04384782ed3c431aa436dd122d3689bfb6374ae01c3ca57c0b380c79643681b0a3376426233c8175fb37c01fa235fdc7293752be803a3bc2c137f3193e35602656362967703ae12f0f375f4c1436ff9dfe36b333b238b95b3038f6e1b835d291553704b3243ab6ffc4379dc49635fc264c36655b2a3a90dc963629d184351ce28f36a2888f3956a663375c935a3631b51a3768dcf93966e9a137528388350a9fdf3530769738458b3138bebab1367ff01e3fc0f4b43efddafb364ddb96365fcd0c3f5f22bd3edf68203740258435d6d9ea3e74c3a83edc848a3667884736c521bb3e490a8e3ec661913761463536d3358c3ebe415f3e5e856c3760b1a535ab7f363ecd35263e59582e3645adbc35f500b43d4373d43d0b6f4e36a0559136939b1c384f0c433d5104d536100399353a171638bf22b83a09a3ca376d915d35462ff036f72b183c3d3a8035abe94734495a8b351bc5323c12f3043869688c350b01bb37693f253cde3c5938e5febf350f9c7136b712023ae66ce6376d14073565021b35eca4a83a4f8801374c1fd2354e4d28375640043ae25bc6378f999a35f04d2838c10b2e3cd70d3238ec7f8534d15b3e37ecd5163a43e1cb376985773548278335f4ba2f3ad25cc937be826935a04af13e0fa3013fdf528135adf64f345bcad73e01a0003f7e5432353e2192359b9db13e5490df3e2317e03730a9c7359ec58d3ed4d3be3e36405b36fbd510359bed5b3e216e913e5d981835dcd1d7350d1a063ea0bc5f3e145e1136a38d2936af86773dec8b0a3ead5a40374697823428e37b38a965843d1f0455347dcf803510bf573723534c3c896c7335db9ee935820d14383709a93a43e4a23722e82436b1c206376d30403cdb209837fbc96935dc657936f13a8f3a57256637d148bf35b35a4e36ff685b3a60209536e9857d36c648943761c7563acce9b0376b439536152cf137ac1332392bf4cd379aa5f235e72aa036386ca63a9383ab362c02e2360c5a62373fb9893a6c1e483755a6cb36885bad37fd8fd238ff3203386346fc3552c7b23e84e4253fd644b9354b3b8236bcf7973ed9ba243feff1c236a6cd7f3592ca763e09ec103f207a613646d3cb35ea1e413ed670f03e317518369e089e3642dd0e3e390fbc3ee4ce1037d603d136ef33af3db5f08a3ecda3d036d0fa2a361130153d8055313e1e2d20361ebd033746bd2438cf0ea13d49cd15375e62dd3688e23738f69e803cde2f0437df295936ca8a3b38fafc3d3cad54563680bf85361b7cad36c6c5df394270fb369652ff3564f17b37d1e1433a567be23709268d3501d4a137d5aa613c223caf3725f91b3633c4fe373140dc39a9d6a23783c51d37987047384739403a48e1d437e5559d356cd9a636fb94953a8c6c07368528a53578e1ea37beaf7d3a2e498d35c4273b37a66d3d383fe7563a52b82a389be7613668ee4d3e1817473fd8c83d36b08d943645a2363e4ed04a3f9e339c362be01036846b173ec0ef283f4d4b193633c09035cef5d13d13ce0e3f0c5b81351f9487364a72a73d1d3ddd3ecd40ee35fb92a83778fe353d3b98a33e5ed61a36300ba43591f98e3c6d3e4e3e648c4935d929ab35d8307538a23cae3dc47d833516e59c37e5ab8b38523f573c53c8883606b61137d7d744387cd88c3a216c02366a7f9235cdec7b3674555e3aa3faff3542f482359ef186355ee0323a42477b353d01ce36e71bd3372cdf703887e61e37bc03a235663b6d372e70f439d9bf9035876982356f9ed1374aa4583a77cb1c35b72ba637008b1938c2f9d3399b04a9364f207a37ac0ee7372117803c8fbf0235858a9d377595133820c9a03a14944836ebf5a83791d5863d0ca06e3fd3b0fd35686996354908353d80946c3f01a88a35ae4d8535edf00d3deca54a3fbee569355498ef36864dca3c49f8253f96e89936e388fa354045553c3169003fa0988935321e2a364f0a1b3cd2f4b73ee24f0b35d245bf37818cc338cbcc613e557a28367e6d8237196089397388a23d3fbdd934ef73aa374e674c3986faaf3acad8a43300000000000000000000000000000000e3d73f32f2251b3213ee7037bddfc8376f5c0934e45e08345ddff937688a2738d1dfe83503b607368f47ca377ecdbd3703a78933e84aeb36764e79386856e2377e2fae3709601438fb456638f1a015383300e43773802038993e143a28f0cd3748c691379283163882107739950cc9360000000000000000000000000000000000000000000000000000803f000000001c780832c6eb0a32a501743fbcbca33739670834273f0937bfd04f3f26931838780efe35f6c41637d2f0273f4adc35371adabb359088cd377041023f61d7593733c8da370dc950384ebdb93e66d0a037b416f037f4a44738ef165e3e4fbc71368732a83755595a383a35913d29fc81350000000000000000000000000000000000000000000000000000000000000000beba8c347baad4346c66a5345421a03400000000304639326b420335b1bd8b34e47c0634e75f4b34e351a33666515f36fbda2f34d804853434e44d3450484734568ef234c6710035c2588a35982a99353e1d033443e74634b17e1934236e14345d6f89348c34a034076d0a37bf6e853400000000000000000000000000000000000000000000803f000000000000000092ab9b3473b37d3f9474a23453c2ae3400000000f2e0613fae192c37c28595345e5b153498d4313f1380f737802f7c36657d4334a69fff3e7a674a3470b15934cfd44b35ac209d3e77029336c8321435c9d1113483ecec3d33a31634da0c2234dc568434624e92399f3d9737c3718f34000000000000000000000000000000000ebc963426108c3551cbb93717353436bb1136332b275533471c5d33f1208a33000000000000000052ab2d379c16ca368ea4b33398d2dc338fe0c93323abd733f609db332600073474e6f53351f6023465948335d0ba633525148635afca8f35628415335fba62334b453b36d9da283326700b349d110734ab5204377772f933316b3036f58252368f27463782a9593743cce333d6677c3f04417d3c8b3d09363640b132be396d3f55371c3d2e8a453300000000e708553f7e7b843c000000009a14b4337ab0263f10bbb63ac894dc33a056dc338b55ec3ebae2853a1b53063459b1763565a48b3e1f8edc39842d94357c1b26335313be3d09a3a63907663833ba31f333d1ac223885943e3854f5013422c04036d62e8337ada8053824a12d37975bb5337f7fb8339de8ba37ee0aeb340000000000000000c0be1237000000000000000000000000bf32b1372dc17a37329dc633e85fc93348c3d633d704f7336f34bd333c70c23377fed333703ef2330000000000000000a0b2993754a46537000000000000000012736935000000008fae0d34bd1b063437d59e3645d21334d51b4a36b0048236d9ceb337431fbb376c00a63394585f3f7e09043eaf39dd330000000045ef533f79fc2f3e0000000000000000470c373f9b87133ebf5c583607b1b63333d0073f17830d3e5c10f13373fcb233151cbc3ec000eb3d67e0f0330000000013a4453e4bb3cf3dec032a3600000000fe7eb53cbd3a8d3d000000000799e0339ab8ad3793c4863bc1befe3327d33d36940e8a370d4f3f386c5c78370fe7e53561d343363eebd2374636b036bcddc232ae4014330466e432bc95dc320000000000000000000000000000000068fabe327b15113377a405352642d73229f90934232afb3328b6cf33a8bcea3381daa533c4f0723350705133e63a7f330000000000000000d8b503370000000000000000000000000000000000000000adb39733aa7c5f3340780a379eb92837feeffa3531a3303f116c9f3eb4da32363a7dd732cc01263fd84cb43e3c81f032000000006cc2093f182cac3e000000000acbd332b6f2cb3e7b1d963e90f4ea3242b6eb331715833ea8fa733eb985f833c3718133e61bfc3d6c2f303e0d5a8533000000003b26543afff4c83d0000000000000000d5f9183793a3ca39000000004bc36c334ed9f036c38f2538b3457433f0d7c436e710603787001838f10ce13600000000000000007c009435000000000000000000000000000000000000000020254d33669fae33c4423c36ba133a34b1ffef33ca2fd5331888c93382bbea3393578933ce13503308321937926e3c3400000000000000000000000000000000000000000000000072310636000000002fa0cc364e03e436fe62993717d45c370324bc36e587fe3ee83f013fc048b63600000000941def3ecf7c083f00000000000000007596c23ee570033f000000006fb84033c5cb873e5a60e03eb9d0773308b7cb331b62343e075fa63e9c29eb336edb5633a510873deda46e3e586f573400000000069d9c390332de3d000000000000000094d4bd37a419df3a00000000cac4d0367d10c437bb393038d9f3e1361c786633af915e3719400838db568e33000000000000000000000000000000000000000000000000000000000000000077c87b33e40680331a87873335899b3396560034885ffe334aa000340d3315341e7f1033badd083332067736ad86163300000000000000000000000000000000b03714337c980c33722802330e3f1a334cbf41366edc6a3674152837c370843626fb533326729d3ee5d0313ffd608a3300000000cb47933ee7c4363f0000000000000000e46c5e3e7b682f3f00000000d1f16733598f0d3eb9a1113f04a197333494e03387be9c3d76ffdc3e95e20b34b7c2e5324631d33cc8a7913e65d1013300000000e7304438e164023e00000000cb7eeb32c5541737bc9ece3ad4a0043310944336a9417d37c8140538c9185a3636125e36ebdecb372f760438afaa71363483bb330fd60e344d08da33a7e9d13300000000000000000000000000000000000000006a1282330000000000000000e5e80934c2cdb533d3da9f335c1aca33877f03342905c13388f8a533f4a1c9338abec536e2ef393757fbc237d53d4b370000000000000000cfde6a3700000000e75b093528e2b133a89fd036fc5d5434eadd75364003fd3d76a5603fed502436c41ad033333cf23d6411613f445fe433000000009966673d66b95a3f0000000000000000b1abcf3cb95e2e3f0000000071a0ce33ccfd823c241c013f6ec4d1334e6ccd33e2aa263c4a32a53eee90d23300000000d3a7b43b10880b3e000000000000000029bcdd37194fec3a000000000f36b53468b76637bc2ef03722b89234c39ca536f2888637259aa83769eb6f36d52f0634466a0834a4d0043487a81834e63c63332fa75633155e4533e6e76b34e51e91357c389535b77f9635d3139e35f5651b346d8a003415dee53358580a34facdfd333160d33320d9bc33d37de2330000000000000000d47f5837fc8208377dd289337bb96d33134a4633f9d38b331d4e0e3642d8fc352c6f6c360683ea353b97d03697cfff3b86577e3f1e9a0c36f341eb3388ed8438ed12803f06af0e34be56343311ab8f374aa3683f11ba4a330d827e35de6f973709713a3faede8335ea0ef433b6e30c3799e1093f39da02345ec3c73399bca038962db33e2a1ed633000000004af5243851821c3e2952ca33716d14333db772373794133d186071330c390536465a4337bf7a0e385bc2ca3500000000000000000000000000000000f935a23414719c34e86396344c69b134385d4734fd233c34b5f52c34d5a84e348da003354026d034ef5d4c342821a535edb485349ee87c34150c693489b28a349d904c3403cf413431bd323420e515373ddb8434c3d7c734f8a95b341eedf8342697d634ab6ccb345defbb349d9dde340000000000000000000000000000000000000000000000000000803f000000003ec38634ff598834b013803f1a6b9f34ca771e34fd551734a6ba623f815f3234b0993434dbe7fc34ded4313f8fa88b3534b054348e7e4b349c89003f54896f3491a52234917d93370e119d3e976802364ea7aa34a7564e34adbcf33df1f0bf346283aa3421bca3345833253c049bbf340000000000000000000000000000000000000000000000000000000000000000383646363c4591364ff7e237c4cba936ec7e11361acb203668e5d536c6fe443600000000e4f474357c10cd35c52c8535ccfd8836788da436a08a71372a10b0367fb88536a95d9236348aa1367fc292363a597b36d481693741879737e6dd82360a80943609949337fedded37dd7c9c3600000000000000000000000000000000000000000000803f000000000000000029d45636d324763f96c6053802e2aa3626a9143678075a3ff6f0c237f03b44368f680c35b97b2b3f3b9dca351e8c6035ce709936e192fb3e37779637c669b13613578f362b7aa13ec52da536d2ae8d36c7e08d36bedf0a3eb90e4f378fd57036e1d49f3688f0db3994429a372ae2963600000000000000000000000000000000c60202365c3e3d36d8d4ab395b747f374719d136dd4ff63627424338af000d373a2654366c786036eeaa87381a5a873640ca0c36f7411036b93d973834563836d030ee3619a4fd36b6d69a37efb01537a0c15736dd0a4a36287ebc383723703651ea2336443049363e7ade38974a72362065f136279df836a887063716c508377ad69236feeb9036abc95438c74e6e3817e00f36c2c2713fc9bb343d1b944636b8d9d4364212593f18b7913d927705374e02593614903b3f6d5e913d17f78736aa191336351d0f3fe1ee3b3df3b043369120e8368f5cc63e5560c23c0c09113768f45336349c603e3b81183bbaa57736d4d937368ac9bc3ce5590f3be6e57336198de7362e960737b80da93c37380c37570982368fa2a63675c0f539f901263881a6d43574342f36b6c2c33ad27f5936ebab9b36c4f3f23688bda738fc600d37000000004fc998355fd6a938eba4003600000000cd34ac34dad6a738040c9035c3c09336792dab363e409b3736e5bf36000000000000000016028f3800000000bf7f2e3413184735035c0138a4dad7358c19d6369096e6368bf511386bc7a43707272036fc0d263659a97536472678365e2f023636704f3fa98a2c3e5f733a36fb2da536f76e393f7d62543e1473f7369df04634ad7e173fe622423ee82ce435000000006247cf3e414a4b3e70b13735ef5293368c00833ec2912e3e7ed8a33600000000eb269c3de13a2e3e000000003afd05353a8dd73758e1003ea0a5c835bc5dc936f1d70b3754be803d09df0337be982036dcc32736d9dfa73c4341573609f8f53566fd47362583713c245a093645cc7a369724cd36c6b02238046ce2366ee484357d101a36a12efb37936b15360000000000000000df0ba13700000000f5d05336b67aa236df1cc437f1eac836f25a373609096a3680a92c38057960362723ca358f0a1a369d7f0f37ca4618364ab1c3360570dc361e5d35385dde9e3712cd52366e9d6d36ef12823632536f368036f835acf9233f4961a43e3ee70236ce488c3662e20f3f36a7bb3ed080c7364746b6352d97d53e7f20b93e1042023600000000aa338c3e2458b33e0000000067b97136eac4053e3eecaf3ed9fdb3360de43f36648388389464913ecc065a36e851d13556935136983c2a3edb7b0f36022ebe3692240637f4b1813d6624033704a74d36dfbb7a3671689a3ca98e64361cc3873665d42738829c573b19f08c36fadaee360b6c0537a619b53816bd0437e7c226363d6928366a31db386eb21936c4287736867f763637a382384e507d3676ede33672b9f136ac5e5c389e45fd3609598736012d7e36c7784138b3727b36adfd1d36ee171b36368ca638e9eab5366171f9363865fe360ef13f381ff60637e4958b36d2038e363d64d3380c4c8a38cdd98c36dbedf83eeb66fc3e08117f36fa2cf036fa27d03ed429053f554af736214e2b36b5cf913e47da043f91d11236a8fa7b36ea14163e50dd043fccb98136ba5fe036a24daf3d9d50d43e17f9ef36d5948636432faa3882b8ab3e033e8036448f1a3694931638dbb1493e6bb93936d2b9f2361dfb0637b13b973ddfc6053768b084366162293814169d3c476e9036e569403657926f363c4c423b2e8272364bc3d0361cac0737a319b838f8e6f536f09c913518721936381c4f37c8f20836a0611836bac34d369669df377f4f6336354fa636516bba363c2f2f37a993c1360000000000000000fd2aa13600000000e8ddad35c035f435c5c61937f29f28361963cd36a4ead1368e0649376a39e936c0760a36513a05368fa16637738337368fef4f36ffe6a43e9b2e283f12024c36b06ed5369d50843e78b92d3f9af1c3360f34d03579310d3e5774323fe1cac83559a9333675b8423dc43d2b3fc94741369d6ea8362989dc3740c8063f009e943600000000000000003bd5c03e000000008248d935adb93636af6f633e4b120c36a55fc4362aedf5366abd933d9d3fc736840315365ab20336501ec63c1de40b36ce124b36a1378a364013a53ac576243634c3df36c75929379bfe8e38e621f43666fc663579f5db35b4b6ef36feae85355d019632000000008966143700000000b0bc8a3652e69736cc0fbb36626cbc360729c334f0986b35de869d3506c5303514d0d7354ba60336237c1b38068fca35156af43609f9fc3629f34b3871c21537bf393e36e2a05c36c4a35a382f133b367f5347368e462e3ece0e4f3f1c900f3698b3e9366ac7d13dd6b9553f3927c936eb26a3351d68a13c3ce55a3f16212a3500000000125eb338f807413f00000000ef549336eb99cd369f05133fae33a33663d51a35df3bfa37ac76cb3eeeb0f6349976ce355051c3376993603e1b34a3358b68f13663e47a37bd688c3d0d24f2361ecc3c36e37062364c7da53c491b25362a4db6361897493801e50e39a35793366d280337c82e093773e60537821001374b8d5136bd8e5936bca9423674e34a36aa596c36d92162364b044636e6c44f3699690a37bc87093717df0937ecb209373db244360c943236342332369c9f2936ad448636e552843674995b380f53813639310437b1a805379156ae3768d90637b9624f36461d54362443b238ced5143745c5ba36ef401c3df23c763f98bb7e36a6050337a9ca2f384dcb7a3f380aec360453523624ca62383fa7793f89ea373663e6653687e25e389a73473f4d904a36a3790637ebd218376df1163fccebfa364c4f4136c3b0ee373980ca3e50201e365a7a8136a3752738cd024a3ee32c7b36ac1201371b171137a64ea63df544fc36c4174c36b4478538e4a7453cd589363600000000000000000000000000000000caf28d3696838e36c67b9f36675ad2369c676936baf55b363e597a36b0d909377a128a3635ed8436aea98f36c530983661adad36df3c9f364618a9360d94b036bd085135c10d2135fb4895351cc1bd35ded33d36a2613d3689455436136b4f3640d9b036fa809d3641bca137cb17fa360000000000000000000000000000000000000000000000000000803f000000008136873612979e364bfe7f3f1671a436925b683652ff85365e585d3fa3bd083738018b36c3e39d363f6f2f3fb48e91368a6aaa368ae6b6361266023f44fcad363d8c4335537eba358e53a93e481aae3516374036549c583675fe173e3d7c37364944aa3667d5b43603481f3d5b2a9b360000000000000000000000000000000000000000000000000000000000000000c679a3327c10b4320d9b47395f0efc36bc8a9c3444dc033531d0d7387029d13691666c348b9e813518ffc438f9e0b235cd9ce8339fc0d7338d2d03380a2ea433859e95356df5a63648608d3764c86735c0eb43357be13a37af6c163735dd233540c7aa34f9b67937e02bec3704b9473400000000000000000000000000000000000000000000803f00000000000000008900983201326f3fa6349b380d55cb357b9bb83455704a3ffea697389ea90e36d4448f3429b3213fbe8c483810729a35d0a2df331495f43e2c6914370f1a9533cdcba635da82a73eeadf2036c8e726357d454135d6f7363e72b12b3580cb1e35ee3497342519b03ce5925e347b213634000000000000000000000000000000001068a63327a3ba331f348c3c90e9f43600000000c0f0af3486b6823be3f1e0366a9c7b3433e9883413f6213b6328f837b5029b34bddaac3454191c3aec5dfd35953d6235c15f0c36c2f6ba3a419e72369275433542146235b99c0a3ac0eb7535adcee1343282ed342b90203a5e5ff8340000000000000000711c4f389e0b2537bd5e9033ef44ed3349d55136a82bf334b038a933cd66613f04f2513d70ed013400000000628b4b3f4a06ad3d32425e36419382349cbd253f9812a33d6043a4356568a234749afd3e6ca38b3df6a1eb35b5a67f35efd1ad3eb519493d2a0c59360bd7513598ed433e44540a3d7be38035d0c7e634fd60ef3cb79aca3c622ffc3400000000cc51953618fa303dbdb41d3681a495336fd06934ba96e93c8b9d0f3552926b33b10fe033326fdc3c02bc1334909364349a7292340b1eae3c78d4e2351809cc34c3f1aa36518d9f3c85f16c37e1cb36341e9f5c34b39bb13b8ff8223525ce3134ce74f43564cc8d3c7dd55c36a9b937352111143666cc7e3c0bc03337bbbe8c341e2e8e3480ee5f399aad3a3700000000000000009c43143866ef8b37df5adc34d8767d350492703765dd25376219af336e643c3fa67b3c3e96422034fef96934372c213f6df14d3e73ddbf350d30d9349a17023f6b684c3e9779e3363371483459dbb63e4dd34f3e1ee82335685b36342035693eba3a413e330a3936396cbd357f97993d7d173d3efa3d69360a948e34c2fe5337159f0c3e49a9be3400000000c8b5b13546c79c3d23951c369c51e33480dad8355de0223d68c652365c73c933e689cf338fba093d9807cf3300000000000000004cf7db3c000000009147483418fd8734ecb0e23cf4c58c34b7fd9534c1cdda3575353c3b876135352b760b34d5551534a0fe8c3c83a71c3478631a342efb43342c729a3c9c547a34ebe9c5349c9bed34c0c83238fe7a1d37b4092334e00237349fed2d3887833a37c9e490343d87b234f7ba113809724e378b9fca33216e173f7585a53e2b1bcb3300000000764bf73ef34eaf3e000000001e746234eab5b83e2581b33e92d08e3418999734e4a4773edb26b63e5f5ca034768f0d343206fe3de68da63ea2561d34c2ce203419f00a3c38c38e3efbec8d34ca7fd834d81da536de8d4d3e82ab06351f6e2a343d9541347d6de53d8fb25f3433319e345f0ba435b27a313d70a8183591053a33334349335eacfe3c33785a33959c8a3128a59c364761f63cf41f403617aed134d6bbf435ea24163b8f1ad535dcd7eb3476fef434448dc43c929df7341d89b23519835836a80aca3c335b4937a5aefc341bf1ff34d589943cd48df034e640c234a2dfc83493733b387194e7365e84a32f31504e3563245a38332c10375daf673373616233e622f137a665703511263e339a16e93ea917f03e0235613317273c351a5ab33e285cf83ebbc8c434fdaed0343ebc823e43ba023f30c9c4342345ee343498033e0f5cfc3e0bc6f9344b09023687fab83d8768c53ed1af3536f557fc34cc27ee3506deac3e6c72ef34ea14c434c7eb9236390a6e3e0c6653355c78133057149436fd000b3e19546b36d33865337b1b5f33b2463b3de1d24633d713d7340863cc3643bbe23cc78bb034c58355340197ae34d66c093d5da93b3433f10935a835093571a2d03c5984f1341632953476999234347cb13c16fb3d34192c1b34d14c1f349891cf3c1c0c16346928a034b45aa334dc4d093cefc179370a977a345a34943400570a38ff372f3700000000000000005c4a88380c1b0b3611f1c8339335cd331624ea38ae1cd0333a3ddc345104a43efb001c3f37d6a834901868343def663edc36213ff4f93434a81f083511a3e53d4a9d293ffbb8eb3421e2943473e6403d532a203f491b2d342df81c348b6aae373559023fb4ac11346b7fa03435dadf37ef9cc83e88a19934999f8834ec5f0b37ba09863e530d783400000000b3c8dc2fb941183e00000000b892ca33486cd033abe9573d9852cf33ee081f369acd8c365495033dd092b9359d40c635882b0137e326903c00000000131b8634fc798236d054a63c68a18c348184543675fe73362cf50b3cb98a9b36d47700363c5950360fcf763c31da3c367c5c763482762b355fa6283cf6cf593470588d3647eaf9364ab5373c76539d37da8e903529efca3570c77a3c54aa7e36f2702134c3382c341d73023ccc50f93368663a368c873d3e52683e3f9506563503f1f73557e3f53d5158493f000000000adb8734e3880b3dec074f3fa4af8e34d7785d36f1bf7438de7b373f0fb7063670d91536611acb36af450d3f5aa4ce35e752c6344434c035499fd93e05f05634ee89a93687adc0377b48863ee6d88d3687f2a635941f943670c2083e1a006e34f579203407f32c34641a3b3d6404e0331ebd2b3547990e353585c73cb7524b34b8471536dbac2f36597d113a00000000c4cbff341c58ff34e4592b3806d7eb34a6898335cae48435aa9a10370d215b35302e4236b44d5c3630c3e0381f6d693612e0b43509d9e7353c142338cea285354ffc7e3523d5a835d66e473c478a99371deb5c3637915a36e8dcf93c4a971437c5d20f3411e60434cda03e3c1ccaff36404b21352b2e6c3ddfd7633fdefcf333c578173645aa90381dde743f00000000aeb5fd34761b3037d11e723f3183e83471d083350589ae35c65e463f64f258350e3d473651f3cd36f6511c3f6ab3fd35040cd335b93b20360a64df3e96bba73457979735c5d271381e8f843efef0843431545a36adba8437f740b13d00000000fd810834e0764b37b56f243dc175b3330000000000000000000000000000000030fd1734a2cf38346bb9593499ef8a37527e1235640d1e3568bd2b35a2f50f37852ba1344e0d35353f08b1353c75083782f76f33cfb08c335fff1436f17e2b37eb51183510e78a35bf8ec737e34e2837df30cf35026dfb3557181d38dbe32e3794c85335f999ad3504c23e383edd16370000000000000000000000000000000000000000000000000000803f00000000ba6328342c4c4b3452927a3fdc0ad0342c2b1935d95c2535b15c523f318fee364d65ab3410338a35e8592c3f7dea093614a8853336f09b332dc3053f6f65d133176e5235212cca3596bfbc3e1cbb8135a1a0e43570ee0b374966563e8e870635d92d5635693a4037107a863da068af320000000000000000000000000000000000000000000000000000000000000000aa120a35fd1f063554f11835e69116355df0fb34cac2fd340ec17735ae101735f2db8f33441f663367331b33b625be33ffb68534aa7f67340cbf79348e705a342846793327de6833cbe1a63347b885337e100133dc51963600000000703a1f330000000080d29137000000000000000000000000000000000000000000000000000000000000803f0000000000000000da50f4345c8d7a3fb1ec2a35554d0835e8487b3495dd603f5cbaa73527248a3444cdf931cd06373f1de803347800263489e034345f9a063f91de9a34b4380c34f5459533979ba43e820e4334d7ed8e3300000000d7691b3e050b9733046dcc3300000000fb2a1e3d0000000000000000000000000000000000000000000000008cd3d5334741a434215408350f271a350f68723436b4e234180b1a358d230c352f2559336d4870345873a935c4f3a2358edf3d35b15f87359b9ed035c9fa20363b3ea43430140f35a3f52a351eca1b35d9103a345cc745340779c9343729c034777045344509523508ad0336a9d9f335000000000000000000000000000000008736903189cf90310fb1793161f6c631a89c97337d71783fd0c91b3d3bf4063560c2aa34c8e8633f0fdf4c3d9b01ee3410d98633dcba4e3f2a11e23c7833683577c7353559e3223fed73fa3b34d016363965f0346551ea3ea0c9c33b6796f13471474e341c508e3e079e943bae151134dcf81b3428a1e23d2ea0f83a6036d63500000000d04c543945aaf33a00000000d7f5a930ba077131a6dc8c31c0d6aa31da313735799456354dc28435d2694b35759da034b64cf8347cd3fa34f089a4346e6d9c32cc9b4c322908a032d96eee31183f3c34bafb6834ed268734a6953c34524d833417399c34a4fcb534c44b643467e38c333f6a6333eee7803390104a334473303479d74f3648ff703421e222342a71de337b081e348461433461acad33956fac33a8af3b3304dacd3216f49532f5ab1a3547f0583f8372253e0ed03435dfe4a4349ba24c3f6213393e00ef9c3400000000ad382c3f6d6a213e0000000000465c34f46f003f72031b3ec6813e34c20580348992ab3ea5930c3e42395a3417fc2833a17c1b3efe1a163eb1e5103351695c34c5a3c33b71b0dc3d16cd3b344ffbfb3336ef3f37e3efdc3c9fa2ac3311996632367925336b97d038b4151b33d6c2763393328633370f3b346c7d813321ff79349c347834116a5035434c8a3421d2e5342bff7835fd88a03543b2eb3488628533cd7a9733b645803337168133fa156434829a2235d9834034950f1134ac05bb34f484a934440597345059a434000000001f629737f0608e370000000057b0283432cc0635ed603337fd620b34ee150535fc200335e93b34352f881635ef214333ffd6323f01f29e3e25bf7633982661345e53203f24b2b73eb9197234fa2e8d34e698013fdfdead3e4095a53414802d331c13b73ebe63a33e90897f335e64223486ae4a3e00ef923e87f80f3427fe743458e06d3d122f793e7d05853400000000add88f3a40550c3e00000000ced61734554f443822d8ab3c495e13348bc0f3345cd784376ef30f38ec1e0e35fad9ad33ca20d43322074036b403c5337bcc57336edd73345ca5d934724c85334c4bff340d34ae351f9ac635bea69a35294d3a34d96e4e349f27c83445332c35000000008f88e734755fdc344031da34b47c3334b2dc19350731ca342394073524060935b93e7e36fbe39b36851fc935efa49733b33921344daeb2337e0b5d346f54cc33b8d7c833dffbd233379cfe3322d5a533793b003f9dc4023f51078633e2c18f332f9de83edacd073ff544db309340f9349e32af3e96bd053f1a071435196e3334f6ac4d3e8376fc3e740b3834e6e4de33f1a2d43ddf9bcf3ea65510345bce23344e9bd33ce089973e7b9ea5344eb9203508304a3bae58163e61a8893579763733a2dbb2374da0fd3c0b091d340ebc983311579c377b738c39847bf233a11d0e35f74223371362a537891c0e35c9be2234ac703637fbaff0363f85093400000000000000000000000000000000cef891343a34a33479ecc234512ea0343fa63f34d12c5a34820f80348f3c1134625cb43360a266378145a8338fcf8533fa19b43420d2be34a1bdea341808b734388f8634a643a034e7400937b6977734ed559633f0f8993305bab633715f8b33d81ef834fdfba43e4195303fa0a0f534811232344c7b913e7528343f882dc83300000000c510303e8b9d333f00000000272a8734fc6bb23d5942203f75577d34dde5353417cb053d8813fd3ec5b8ef333b035533b6ba1a3c8335a83e9df2f03227a5af34bb63a33acde6273e0c2bc134d7528e343dfe15387f45de3c41656f3414b477330ac6e137d339c539a6f970335b46dd33d56b863661408634f480133392faeb33254aad36d3590634fee89a33cec2303462bf4235ce3a4d34372f2e346f2c8833a9c288338b273a33f92f5a337d4c9f348e7e8534c65b93344455753436c33c34411b2f34492f643470a24d34284c0432f527dd376f45c737941614309c3ec33496b4cf366d5143371f7cd5348c634b35b0b03d354e3d8135037f5135439217338551203e3e8e5a3f5f0f8c32bc61f2331b52fe3db3515c3f5fc89f33acec3a3450f1273d6ec35a3f803628346c1544330883e63b8d96353f246a1433f0ce7a340beff23b2114093f17d975348720433411dfa23c5af8ad3e892250342bf1da304b7bbd3cbab6213e00000000c3caa9340a94cf3af8b9d63cfb6ea934686935358a26b339ba3f76394d193f35a51f783183b99131450e9531acc24731000000000000000000000000000000004f89da34e49f83354181f2343dfa2535076462347a1a143410b21434b1955934214b03353cfb0c35cd039d347ab6a73456c1ab3549efc735bf20b035a88db8354275c8345c144d3581487b356007883572de03355569e034afb911358470b2344634003570942c3701bf203719f71335ed3e34319afbe93ca1427b3f52d28a2f0000000009b3963b7a05803f000000000e572335bd88c93745b1653f000000007e836634d61200388d6e3a3f03ea3d34902cf734b0f9e1371db50c3f93d40535b85ca4357f11d53af071bb3e6e75a535090605355c29be3b31182e3ef09ada34ae5ee43425badc37a0928c3d0e8be1348288af340a0b2638166d8139a0e0d2340000000000000000000000000000000000000000000000000000000000000000d6988c33f88e9933eeca1d335d69a6326f4693335b52ad33b90f113453c28133c9bf3534c8317e34a1d44f34866ba233db1cf933df3bfe333effaf3351578d330b4aaf34605dcc34caa1073591480235aba2063523591435e31817356614e5340000000000000000000000000000000000000000000000000000803f000000000000000000000000c6f3783f0000000056cc2233482d7d3296805c3f00000000d99ab533b612d433e20f313feb909733ca361c3495a4aa34be89f93ec5a406340864bc33e6a273337b6b983e2dcd7b320df098348403013757cf043e06892d3577970c35ab6a2a35c752f73cf45e0a3500000000000000000000000000000000000000000000000000000000000000004051cd33eacce13321e20b37baa018340433a632f9e7a532a0879f335693f23208573d333b848533e67ed63333ca3233000000000000000000000000000000002023453535d37735b74397354097983504e0913451d3fa34c3770b3585f1bd3445d0f233fa8f5134b72ea43463c27a3400000000000000000000000000000000000000000000803f0000000000000000d97406349c24723f57d20336d0fe00340023d733c2405d3f0d2acb33672fa134e6369c334e3b313ff6164e33f9594d3300000000bc57023f0000000000000000a84e8535c1f2a73e584bb335accfcd35c334e2347987163e5b184b35e95f9334af8402343ba2a13c56c38134da106034000000000000000000000000000000008c7e98358134f03591b40a3baed2ed35e51072345bb8893424f0b839d670b334cbeb3d342b49df34d39d7f386e9e06353aee89358146b63569c9b0391129a435fda1063452d22234211a983830371e3421326135b0be873563b01e3725a99b35ad6e90355db748361aea87360b382c36a1776f3460efad34854021350a921535a0918e3519cb8a35b631ab3539d5ec350fedae3587816a3fa8e0233de529ab35ee60873470c24d3fc2dd7d3dc14aa03436319c34e987303f2ab27f3db09ead34fdf4a435cc99043f42d1043d0c7893354b355234f1f7b23ec66c3c3b8088003476a47d354528393e62dfe039f92b7c35b07f0136cc30a93cc2bc093a2999f935ef1258346c02d434a4e9e03cf4891435814267357f2687356e15f93cb48ee135adf621316bfa9c3498ca063dcd7fd7335d3498328681d033ec5c863be751b733bf90c734759d9534d102ec39cb07d93421370934dee5163584501f3a098317353cf55a345c4b88349c66ca38404c4e349de7a1358c0a7535a2b895356f0d933528905e341fda94347d8302355975cc3494c63735d32d3535a39f303596eb23352b5cfe34489ee5347aa4ed340f68fb346512c131cffe453f36cd1e3eb345293141f96633a605293f2f6d483ec098713245b697347595013fbe35343eacabbd34a2309f3453e6aa3e7260233eeeccb7349a0f45348dd9333edf0e0c3ef6ab0934bbe44435959e403b7b30203e862fa93591e03e343aa9f134ef681b3ec0809e3420ab103501a527351e85c43d9f451a357831eb342ccec8348858833db7ad4835a070953406992c355eea673dc17bf334534dd734888f3635aebc973b613e3b356acd02352ef91e3564e04a3acc23183500000000c1ef4635d744093afb4a6134888b9a3497810435509a30350a920235f5cb5b35088b703566498e35147e8b3576dae233b605ae34057ca834a62b953413f75c34f3c8993474c0de3443f5af3481c00b34e9d705348327bc3463adfb34609f0035f4b71a3f9866923e6d10c834ddbdfe343617f33e3922aa3e13971e35ac180d35dcdfa83ef862a93ec56ed034fd61a434dc91433edcdd9c3ec8a5cd329433ce348e08ed3b2e21aa3ec301d534f32768350d1f90354b89a23ee9c36235c03c973402b2de3428f88d3edd915e343b1683340787d034ec8e403e3f559234f26cc632bf8d513415c7c93d208ed334c35691354b8ff5351757663d0a02b6357db8b034d852073507159e3bb637923417fdab349f34ea34f692473a6c38d4340fcec03534d820369d81093ad04c0136e954da3315125434a8d4bc351c443c33df7dc535e570db35fa12cb3577132b36dd26c534b5308a3449de9034a0581235f2af9034a8967834bfe89134938de234b976d13589bcec356f690639b1441a3691d2aa35ee3cd73e6cace13e6c2781357d11de34fc3e9d3ef915f63e38cc4a340328c434b08a463eb326f83ebe81643421130236468d143dbb7bfe3e6bd0bb35c888c93365b545368502013f40ed8d327849ba3523d50036e431f33edb351e36d0f9ad345b13be34bc91a93efdb70e35b2bf6a341507923421325f3e62a0ea34a9ba99350c5bf835f0f3bf3d3e96f7356f365a3422e606357432ba3c482e7134af5b9d3425abcb340da98c3bef48b13431fb2535567699347b7f5b39dbefb034a6435635c2677035367f9835f7b084358f90193559ab0a35ea052e357aaef034717d56355bd774346e249834b1c3a13489e146351e89063570d83b351f05193564cc5f35fad74635651c4335b1da2f35f626223544cd093520969439c4c9193579599934a2d7853e3270203f107e2831c4ee9934cfa2323eaf98243fafa34c343bd8df34a3db833d15632a3ff805af34ee856435019d19399498303f4ce95435e1def23407ec0935bbe02a3fad3db934d1409934e38091342efe023f874e4535e1a6113511311835784db23e60d2ff34f8412f3583ad32350ad4493e15bb1e35a78d1c3522e5fb347d67803d7c761735cd02a434040765355878a23b90c9b834a761d93419082f3581191839fed62835296e833417b5b434163e0435ec2bbc34b68ba435bbe08d3592046f35930490353f62cf33a0e14e343f9a8f3470325a34e672b6344f7ed53442c40c35b2952735bc5a7c3413698e3419188f34b201a134eb058e33fe4d5d33994596330630ac3398731c343fa4b233170f66391f3fac341e60fb346fb00b3ef33d4d3f866698345efcf9342b23bc3dd5e8513f90d30d351a298d340962f13986015b3fd206383445a49b355637b93566cd583fe785523526a8ff3375237e34e4ea313f93352534178692346a66fd34e9fa033f2c86ee345458b134d575c23430e0a63e26978634b42a8733ce2390330b15193e86017a3378481231f824ea33da2f393dafe25034f0259c3501f9b935d316513a202c8d35b48d3a35a7af283521eac3345c769c34f3c30b361ba3df35917ca835f1482236596a893515a3673524075d3519199c3523d8823425ab34348a5af533b97d2c341c93b2351769a9354250ad35e4c5c835189fe93465829234e6f0993476322035d2edb6343a9c9f3465d847373c5eab348c7efd35ade6f03583941738815c8b370348a935bd59d63c2417733f4b734735107f273562f68938bffc793ff4c76734e73be8355de82d367b797b3f654ee235365582359b2e8a35b03f533f3f269135be177834a3cf2c346054273fd79fce3396cea335d9a79d358833e93e31d2b53558bbdb34bd97bf34a052823e444b19351e61aa349bffa834d4050f3ea2d193348d5ada35cec9203724503f3df813d63500000000000000000000000000000000f768a034873b8d3403ba9d34e2bd6634780236358dcfc8348380ee34db6703350fcc153667519a3509d64f35e70eb93500000000000000000000000000000000ac5194337c6e3033c412163405b74934a86e583510baa333cd9131343f9b7e347ed42134369f2134902b80346cc113340000000000000000000000000000000000000000000000000000803f00000000367e7534676d863476437c3fd9c3373415ceb8341132b4348fd55b3f019201355d6fe535d2069e35afce2d3f6bc897350000000000000000582cfe3e00000000e9fc70332b191733abbda03e728d3534448d0735bd4e403336ea0f3ee81b0234a2ad1534e60f2434c2746d3d0c2c9533000000000000000000000000000000000000000000000000000000000000000041d8fd349da8e0348a21a738d70d8234804f613101f20e34c378383c3a6f973200000000000000004b4bf93800000000000000000723d437f469dc38000000008ac383355b388a377f601e38202532340000000062c4993764b9fc37000000002059143454e2cc37a423b5380000000000000000000000000000000000000000000000000000803f000000000000000025a70a35a3a6693fc10bf6378852833465d87f31311b513fbf37f9377300e93100000000a54a263fffbe0b380000000000000000ae86fe3efe909b3700000000ae0c9635b454b33ecadc4535000000000000000081ea253e000000000000000037a83d345712e83c54ed5637000000000000000000000000000000000000000000000000000000001d81803da699ac370000000000000000bda8ae3de1a0d737deaba32f8cbdf72fc0cf843d268e80370000000000000000661b393d0000000000000000000000003b25a43a0000000000000000b0721f364647f4390000000000000000000000003570013a000000000000000000000000ccedc7383ba0d037ea096e31b3bba7315dcd573846572b3800000000ebf2563ff63fb439000000000000000027793c3f22307a3c00000000790dc42fbe68173f6368f03bd5be1d3000000000f6e1d23ed407d4380000000000000000fb4e8b3ea12aa138000000000000000095ccd23d241f473800000000000000009a251839d9800739000000000000000000000000c26f4d3d00000000f4eb8a31d54fb13108d29f3d055737370000000000000000e943d13d5310473000000000000000006aa4ea3d00000000be808534b29108354440c83d19531736db1323320d0cdb335d33c63d8db3d83500000000000000008b78b43d000000002c924d34a70424340f5a813b142c363600000000000000009870df385921063800000000000000002f358838b64130386277a433d23988339f19db371261e5370000000035792d3f6b74a53d00000000000000002550003fd01b8b3d0000000097245a34ceb9b23e572d6c3d7176ff35fbe11932fdae393ec114f83c02ae983500000000df50043dc50a1e3d00000000a2b520349d948b37917bda3d7f0b1b36000000002c271237b128383e42e07235000000000000000039ee3c3e00000000b4da7133c35f8e336dac103ef0d2ef332c9a1334c9962235ce3b363e7b85103500000000000000006bf4373e000000000000000065750634b8260b3e000000001a5b1135de43ca3511e9ea3d9d5ed63400000000000000007558b83c0000000000000000d03ad734fda83a39cabf2e3500000000f97c6c35331848380a5c90370000000000000000398d433804bca037a1a58b30399fca301fda3238e8acd237eae71934c5c1e03eeee80c3e6ba724350000000026ae8c3e0564043e0000000000000000f160253e52a11d3e000000005ea983354401cd3c6394353e207ccf3400000000714559388416823e0000000000000000cd948137eddfb53e00000000000000006e5f3e36ee29c43e01b5063600000000000000009d78b73e00000000c04aa73094672032472b803e7977423100000000dae903373483443e0ada89340000000000000000dc06363e0000000028d99334ebdf95352460f53ddc5b2e352bf779348e4ce3354111543d1f9aca350000000000000000128b73390000000033cc4c314499173557b88e38656d183600000000000000008ba4103870e0fa3600000000000000000bc8013828ef593700000000000000009994873875a2593800000000e5338d3e9b07883e0000000000000000b6cd0a3e8b56893e000000008cfc2e35f25d4d3dce13ac3e000000003adf3e35acfe3b3880edc73e7f7d2e35000000009b2ed1379da4003f0000000083e84e34dd2b13367c90103fcb559c3500000000a0548735d41c003f15e48c350000000000000000bf4cda3e00000000000000008cfc5236e5818c3e19fb6d34f4d56431d6183f31d9b7303eea56043100000000000000008c44043e000000009e02ac35eebc1d36e1139d3dcac7cc350000000000000000aaa3333ae90f3a350000000000000000ab1088385ea32d37b120ef34940ff23484104e38e80024370000000000000000a7be893893b0e3370000000000000000b7e17c381120da37cce43535095e3535968e2d382254b2373684533161a4193e49efde3ef52ad430000000007ab0513d3fa6ef3e00000000af0a0236aa48be38a82c0c3f8417f33400000000e4454c38b139263f970a2f3400000000ca1e4f37daa73a3f00000000fdafb33419f54335fe5e303fe2389a3500000000000000001a4b0e3f000000000000000000000000653ad93e00000000257c2c35281f233593d3813ef87b603419d819344666b0344cecca3d4e398d330000000000000000f711ad3d000000000000000013617635080c853c000000002030b13527fd2f36c04a343855301e3400000000000000006ded4438dce4d4372bba5231b0278935c6463b3832da1d37068aae35ee820a36d0079338b54e0d380000000000000000d61995384160ce370000000080155a325688903c038c0638bbca163486f7cc3dcff92a3fe9d19333000000009072f03c822c353f000000006ae20135c4f6b9381a404f3f00000000576b0636b305b4363a20653f99572e3400000000000000004b9c583f000000003ae82e3513af0b36d3c5323f374e0f328484e3357a5a9b37359d003f9cbc6c3400000000a63098364e14a63e00000000000000006ad904375e09053e0000000036028834ea0092370b068f3d84d6ab31000000000000000051a8973a0000000000000000000000001b2ab438f7de8038000000000000000020eae1376e76283800000000000000002d320d3893c24c380000000000000000b1687b383742523812ed2330b02813301ccced38bef13a38000000000000000019742239c3ec803800000000000000000b2b993994254538ce60d234bab84b3b520e5b3fb028993100000000d65259381bce733f0000000000000000000000008f55803f00000000000000000000000074ae663f000000000000000000000000e84e3b3f000000000000000000000000538b0c3f000000004a012f308edd0b38a851af3ea184f92f00000000fb16433891cf2b3e0000000000000000fd96fa3794b8d43d00000000000000000000000000000000000000000000000000000000fcb77337aa5e733800000000000000000000000031b20a390000000000000000deb64b359637113800000000000000004e5c5d3792f99a380000000000000000b0078737d88cef37c47e08324645e631bdefe637433bda35143f9634156b8e343a9dcf3781c8cb370000000000000000000000000000000000000000000000000000803f0000000000000000000000006fdd793fbff44e37000000000000000015c7573f00000000000000003e505d3479d5273fa8c648370000000000000000e1fe013f6320843700000000000000004c21b63e00000000a6da013202f9d6317680343e27dfb3333cda7d34aec87434bbe3bc3d5f6ce4340000000000000000000000000000000000000000000000000000000000000000f63929352248293597aec43680452a3766970d379e9103375589c3374471eb3738755137b47e2e371f6fc937369b313845c21c376718f4363ad9a1372f70c2378e44d436b3c9a236abf89937a2dab93715b76a37227284372e3cba376840c13768123f372de38f3799c68f37842e8b3700000000000000000000000000000000000000000000803f00000000000000003025fb34d8f47f3fd9fe8737b402c2364819b5363881553ff54b07389428c837c0d72a37707d2a3f87bb82382edccb371199093723a9fe3e7f2d0338b59cae377ffa8336d65da73ef872043885528c37eeac30379440233e132b1338544b963778a31c373def263848a8ab37e3cc6d37000000000000000000000000000000001470ac3614c0d8364b391d38dbf0f437b8917534dbc7493529a07f371e1da0375d449336d5f88e363b2cc9375f48f63783862c3604411e36b9f7b0370cda13383e24a6364da09c36c133d13717ad00389a3a2c3756ba4837f452fb37b01827386ba23f36c47e24374f32d4374f7de53791647d36aa3c0837dd7a5637e07b8337a51e1c373edf5d3786bfb9378e95d537d39087368f577e3f1b6dcd3b65780337238b573458e3773f1cf3003d810aa536d06f63368b464e3fef96ea3c4cadae37df94f235c681253f693dba3cd775613784839136d90ef73e7dad873c1605c0378465d3360ae2a33eb1dbbc39c140ea37be109e34eb071e3e693f4a381569a837ebbd7236cfe2f8372874e537fb9846375f85fc369f48af3708e5f3377bd7c437ec55653670f03637b906d33701169c370bf185353b258835b3937337f88e2e37c6d258379c308737c024113855b1193804de593571195c35da7246370c2195378e93923510459635a9392b3719bf9339055681368e448e36809669379b2886374213f73647fe75370f7eec371df7f23734ff7636702e853690a07137e76366373c19f6360b592d37308656370cea66373a0151361ea8533f0b19313e79a0b336715c7a35164d503f217d3e3e7d748b35e89ff736099f2b3f83bc323ebaa2b537e945543526860d3f3a870b3ef9b19d36f9bc75358f24d53e74a0bc3d9e86b036de047e36cade863ea781443da70b1b37fa7bbe36ec8b0c3ebde6d33b78e1943716ad7536fdf7d73783fef137c48288364cb49e367d593a377876c337b5cb4b3743b88b37d60f21385fbf5c38ff3b18382967f0358335f335dc288237ce77d13694b34536cef13b37684702382d8aff3751716a3602946c3696fcf9362ed619379c3e0036f0163f36ccea9437019fae3784e5b83707b2ee3735652a3867de2e38987ead37d011d33729500d38890009385603893545dff036b4b28937e6d07437e5455e3786409d372f5ffe3785ce02388db65a37c97b293fd6dbac3e1cfd85373b3eda353c0f273f40cbb13e7bd2f235e8d93536fb9e0e3f683b9e3ed5bbed3681c0623632eee13ede9d793e027e6f36d14f0b350f35a53e2afb343e7e506336800800370cd9523eea2add3db9d4ca3747a00a378c80bc3ded5d2c3db0bbb537ff608d35e0901a38ec306c3881f7d13590abe3361906023831483b380d7f8537c83c1f37981fdb37e9ed1d38c674a4376c3ef136e4c64637604fac3752318b37f01426379fde833788a5303899e117382d2e4f37fc4b613784082738e9ea3a3828c21037617d333761309c37cb17a43748959a3750f7d43767a3403818315438f232bc37edc604389016403856122538423171370e2a90372883ab3779339937cad986373682ad37080fe437108bda3716f30a3778a3fd3ec021013f9a810e375cc68436ee54fa3ef6c8023ff6399b36977d65363374d43e9a38e03ed422d5360bf1bc36d463a83ef6bbb53e8366ff36625eb4363c70763eb0bf843e7e73ed369a09fd361584143e40172f3e919f323776f8203752c3773df4f8b03df2324437bd130a375934db37a21e31380c814237008f1e3757cce637b97514386fa68a37c738123753e2e83768ab5138ca418637221e8c35c8ffa6368155863767ad6c36c6b79e37d176b3372f30ee3712ebe237e56edb379e68e3378998153831e71938996de1368902c6362d754c3704be7a37c2b3ce3653e0cc36b3c9f3366b1cdc366e54cc372459e737b04906383257df3709d313365415c236c1ed6237951fdc36004e0c3870501638631e3338410b1f384aa9c936493ea83e6cd02b3fc6f8b2363f6589358cf9a63e7b762c3fd46c8635b73f9e363d4c903efe77153f33dd8036590b3437b26f5e3ec0edef3ebc701b3715410d3517ae1d3e5565b13ef79d0a35ff1c73362a82a83d812c6e3e24d76a363c684d37a2746e3c02ebf33d1b130837106f0436b6c1b0376ed92238805cfe357c3fcf3719812d38d96b54387678df3711942f373f9c5637bc21db37c1f7193702dc7a3647a09736d4b13737647a7c368a8b8a37cada8a37de499537b7258b37ff693d37b01b05379268e6362e2920379a5e0537a772d236679eaf366f37cc36a3a3593747e93537bfc3083774ebd13617370538f00904382fe308387d6cf337ce71bb361ffed836f8a84c37d59d9b36458687372c709437be9fa237c0d151375763e236a44f283eb7dd553fc3231a364c2076368f3a2a3eb969553f7a63623642bedb361530213e5ade323f7b3aad36c8b99836af7ce13dab14143f3ee27936a5f37936403c923d8fecd63e95808a3550eda836053baf3c1125943e94e454353f80c537751c3739d66e1e3e32718f3784c18e35579aaf37d9d26a396286883522cc3a37d80aa0375181c3379040bd36783eb137bdd7cf375ffce537dbcf3237db904c37fc14143792a4cc365cadd1363119b8374299703765f1e5362f896537662b013826acbb37365f73374378b8371279e237c1d99d376f6b58374d7aaa37880ae8375f0f6f377050ce363dbf80373525e337bd4ac1375b6cb1373d48a937879e8837c57b5437337c7f375893e436014ee3378e34a537fd27b93768f65d3713237d37b7d8593835f07f3f74bde5363a26f436bf27243c41667d3f19905c3684174d37affd4f3c0b32553f842a9c344747c83732c5a33b4fa72c3f141ddc36d239a137127b6138542c003f77bcc2364997373704236f38153ca93eb14d3336e0ffbd3775831a38f66c293eff4a0e378306fe36876bc73724955238aa5afd35618f3e37978dc0370d300f382a51ca36000000000000000000000000000000008ddf84371cd12137e8a81e37cb808b37c86da73784bd333787250037258eb137641ea837ba6eab36448360361f8cbf379a73c437d2906e3729de3137e79abd37dc12113880638f376b828237302d0338ea61e237fd72ba379c90c037b962d2374ce42137a5b1b536a33f213785c900370000000000000000000000000000000000000000000000000000803f0000000021643a37c11fa2370bf57f3ffc6c073729bd8137854e0038821c573f40394637380a5737e9ffdf37e6402c3fc8887f37efaea637849fde37a999003f2a2d9737cd4ba4379a812a387edaaa3ead0fa237b07cce37fb51e5377cb3293ecc99a43798faed36eeb20937ff6321382e2d69350000000000000000000000000000000000000000000000000000000000000000f4251035e1e5e737a8d637382d5de837d9f68835c885353891c6f739560ace381c7811378315f437b454f339e0c367396c6cf936bf482c38e982d938427c553879a6193738aa23389a532c39e3553f389f3c953707071238233eb7390aae063898658936bceb89378f6ba7378b4a3e3700000000000000000000000000000000000000000000803f00000000000000002cf11535e2016f3f1d2be038618a5837eda05e360610493f1b71423a7d001938b4f881371121233f2bf0153c4131d837990c8737e1ca013f7698273a5e9032385b3650376d1ab43e07c5cf39fe58f1371660a237ebbe513e1d6f0b3a2f72e937d5983136c5556d3dded8ba37e9e01a370000000000000000000000000000000014a0183633c6da37c1eae139df28a43787a29d364ff3b63628d46b38c9b14f37e57f38366fda0037e92e293885ebc837433e1435e8b92037bcdfff37e535c73721c9823616c45837baecb538b9734b3855a32c35f118893760351a3a64d2633972dd5535aaf55037e2921a383d3de2378c6a43362482073780ed353812849c374f8d1e3684333f37132206382544c33766a61a365f866d3fd5c8913da8591037ce5e9f36a23e5a3f3df89c3d2010ac36bda5383647e0383f8aba933d2ba21737e23b18352042183f9ccb7c3d5309833743a48236ccede93eeebe413d396cca3702a73535ae3ba63ecf5cba3c8688b83753125c350609473ec2ab0c3a51d29537de1d403672cc563d3dcc9438065c3f374dbf1f36921dc2379d2e3c3828a49b377f8e7a368be4d937a13d913923f18537dc938836a6e7403779a6363ad1797937db942036b690c237fc69ce3988fb0e38e1846a36d766fd3613f12d38c26caf3717953c36e9815b37b5c0be39357b2a38f9ed87366017f036f55a423871d54137d5215d363f1dab37f45e3e3997d6df379df028361276de371d1f71394b3c0c3887eb0e36f706c537fb517038dbc92d38d0847936b996483fbb1a5d3ead7d9e36f4bc8836f3e8383f28bf583e06609236622c2336f1091c3f73a4453ea771963738cc68367f50003f7dac1f3ec93d2d370d5e373683f6c33e297ff03d61101d37968e81368827893ed18c9e3deeb6f636d8805b36c0491d3e160c173d1ddc8937faee2636b6db263d5fae5e3a5c88ab375617e835a7bb3338b0d5ee38facae6371c6ee136fc942938a02d313aa288ed37d538ba36039a0238b721383ac2d3eb3748a29036e2ebba37c426a43a5da2cd37e747bd36a7c44a3726ff2239bb98ac37ecf80a37fdf78537d291a2396099a7370c6ee1352c46ad378fe059385f22d337f713b436d6c29e379e3f4a382610b5372510bd36325baa3708be073a3314af37d339d936442c8837fdc12438f579b63733d9e93640b1233ff0e4b73ecec43d379140ba36e5b5173f1d1eb33ed707543725bf923676e4003f14519b3e98e34737cd44b436a4c6d03eb5877d3e0b58043743c10337dfe49e3ec519433e9c995537b3ea923572bb583e7b58083ea168be365dd6b136f7b2f23db9759e3d5fa00337269992366628bb3c955bb83c022982375062bd368636ea376281f538c43f5e3790b2e63517921738d2e05f3a1abfc33732cebb3515b1fa37e612693a03e65637c66b2b355f239b374a85413a90fd8a37f3bd0035b8ea6f3738e1a93938299337e2c85437a70ed337a2eca139e0fedb37752d3c357e359137a448e838e28675376f6a8535985b98371086ed3877da93378ed627368cd4c837abdd9d3816b186370ab60337d0d4e9375b741339f9d6f9375080e6352065fd3e7fe1003f6906a836652ebc3510dfed3ec5b1f83e319bcf3570642d3594c8c63e4417d33ec06b7935b31108353f12a03e9cacae3e6708d83521a34a373a4a743e189d853e22d37a37196e153555ce1f3ea323423e9ceff53572925f35c32eaa3db257ec3d9dfe5f3612f2f4353e859f3b3b1e333d545a7336f1cf9836cf3f1b3819d5ea392ced98376274b636f062ec37b3f5193a2d453e37be6b9436b005b7371e96ac3a5232993729b2af36d26caf37c5ffeb3969919137d4975a36c30cc3379a836c382493af37f24d3b370a029a378af097393b268b3754e60137c7a3a937b7a5833811fb4737c11662375003e93745b45d3a403d9b379522863790ab00382e8d0839f197c937a9bd6537d78b0138410cef38a40a0938b91cba36b9fcb33e4cc2253ff574aa3607939236fe1eaa3e76da1e3fec279136d464ae36b6da8b3e24ca073f9031b336b29638360ec15f3ed87ddf3e7f2a653651243237e194253e7670ac3e06633437f03ff736dd02cd3dd8227a3ea027f5360c3e3b37fdcd2b3d839d183eeb4424375bdf4a375c7c5538b9a3673d97602d379d122a377adc2538dff1d53985edaa37e8707036a5ff4238be833c3a2c4496375f7d2836951c1138183b873af973b03782205f36474dcd375127113a5c70a637149ee5366d802a37589f5e384273f936942105372d29fb37b7b3ad39a537a33739ad1537b931a737ab750b38cd191437bca1ab37f1380f381a71c638899ead3761559436f1ed8837e6c24c3991a29e3664ba17371a6b9a37fcac273866d36c377c3c8d364e5c553e8d5f4a3f4c27d83559262836fae94f3ebe02413f61ee223631526036a8da393ea387203f96eb583671ded036d81e013e9b47073fa656af367304bc36c3b4bd3dae16d03e5e5c5936ea3e9836500b3e3dc6a9973e74b46936670c7037ebac3f3c34853d3ef89be936e6ea93362390e6378820853d49259036d5b5a536ddd5c337219bc7380b50813667f1bf3674dbc837b127013a942817377cc373368ae48537c2607b39dbb6cf36a5dafd36a784b737b41bd038980380379ed18f3761a0cf3748a5043a6c9ca337b99ec93780840e38384b72383944923771bd95379a5ba637598fd937240b43373d217437f0dd9f373cbafc3737d3013729b9f3368aba233710461538889aa83622bb86378689af37a1e34c3888c37e37ebb8be36ecf5823d80736f3f964c1d36895b6b3601fe893dbc34613fd31844361020fd35a788643d65c03f3f09615935cf225b37bbe0173d822e1d3f09d8f73618a25f37c9b9a53cd652f33ed0e011376e6d6f375474073869beaf3eefc88f3668c9b836eea90638ad5b523efcbb40364c92bc3691b99e376db8903d525ca6366d1e1a377a22bf371ae1933904258336000000000000000000000000000000003643ff367471f936c821d937192b9437a0ffd03704b2e63785dcbc39774a8f39d4ebf33783c2d637f4ce8038c5a16a388a4734382afe273833236338307a4f38ce46f0380d6ddd37f6196639bc62003975a14f388047233862f9373927694138a4bdcc3762c3b737ee051c388f9ecd370000000000000000000000000000000000000000000000000000803f000000002e9cb3367c0eb337a31b713fbdc92c37b66cb4373afb8439a90f4b3f4d7c08387f0ba537f744703896b2253fdf7612381c841838120d7c3876c3fb3e8b862c38b9ecbc372a0234394d53b43efa26ef37b02312385331483857e1593e1ea30c3898078037493bc9374a19873dacc34137000000000000000000000000000000000000000000000000000000000000000023232d3821f3fa398966fc39c8f46b39300e553896d9f43905f3213adb22813925678638c10dd0393f39e9390171a139240c07398576eb3934cb0b3a515dc2395409de38ec9a193a5f18343ae4aabd3925b489381202b0390cb4b73902c73c39822f78396c431b3ac526253a70a1e23900000000000000000000000000000000000000000000803f000000000000000034f79a38aadd603ffabafc3981381b395575eb38134c403fc1c22a3ae773403910aa3d3982e31f3ffe26ef39ed307a398ef76d390072fe3e5116153ae209a539341545396f4fbd3e0955353a915787397ae3f138dc3a7a3ea879b139ed49dd3862bf9339e890ec3d3f12213a1f7dbb39000000000000000000000000000000004fb856384674e639701b183aa7098c397ca02b373fb6cd39394fab3a5d286939ef9051374255a239e9f2223abf307a39020ea237b6f0a53944623e3a6c2828394ec3b03780e7223a0110973a46fac339f55dd237863dea3911f29d3a66e839393168a337c723233af4317c3a15bef439df108836f3b9ee38f149ed399e572d38111fb53733e1a239c4a3f239567c8439f9cd8538dd53613f4b07ed3d6eb620398c317a3792f5463f3bbeda3d00e8c738d6dfa637c7f5293f243aba3dc114eb38568ec93759550d3f0f629a3d2236543841a5da370410e13ec8a3723d4ef72539caa0e637cd60a83e6c4d303d889109383c3ab038eca45d3e7773da3cfe66b7397403a6364963e03d2dfe053ac1dfcf37c952b937c131e6397b81f1394d5a2e39f814f737e1c0b33954f4313ab4fb55393b5fe23656241d38bab0ba3c1aac1038a20a10380aa5013abe599c3c1d2bab393fd29c377ffb4b39dae0fb3939c33039b9ff8237b5ceda393fbf243a0a94c739e8fc7f36ad795f388f1e0b3a5a953b38ac222c376ffd7f39d71c663acf932739192600384032b93918ef2a3a18eeab39a316ee37d60cac3995b5053a2c5d9839c6500538e396403fc0bb793e01d18b387bce0237baec273f18de573e64d6e43713361f38b1f10e3fe03d353e6b6230398e63b73717e6f13ea29e1e3e48efef37d583a8375f1cc03e81f2fc3d302d8839f132203702668f3ec9babc3d2966d4374bdb8237f4b63c3eacbe773d6adefe37b41406386360b53d081be83c3fe739397d38f5371c81ec39f3a4093a202853393f5d18388de87f398d232c3ab22cc43831f71638affacc395d9bad3a35e24839e295b136e1b94739e669d03a4c421b39b6e80e38bd1ec9389a84c93a460e863806d35e37818d5839ab1c4f3a7d60b938970c05385f16953913668a3a3c6ffe3870ddbf374803b0393e5c8d3a981dc13951a766379cd73739925a903c778af2387630173878435d3987b66a3a2b5b78395a783138a4f41f3fd884be3e39fd6238fe192438d2d20c3f86a7a83e01e33138542c2537f5eaf03e4c7b903e6a19c0375a5c18380208c83ee97f713eb9952938eacbb4379f2a9f3e3477403e25e21638b6000b3853476c3ec5c60f3e8fa72f3849cfcc370329243ee541aa3d1f4c5c396eca9b37fd32813d9288193d15310a38bc9f183886cb0b3a29a0813a28045e38db328f37e7c2bf39eb3f573a517c293938842538d8b87339efd6073db5bc88383bf04a380504ae39a717613aafb48c39c375af37ffa44b39f80c763a07cc1439e5145238b19ba439c23d703aaa5352392003c837f00061398c695e3ace29f338e12d4d382636af393240223a02fc7e3912e636388c980339afb83e3ad67fc7388ceb86378f666c397f5e363ab2445f39af78bc37caccfe3eba3aff3e6882f3372199463846f6db3ecee7dd3e5f236d3879cc5338c83bc03e0228c13e56cdc83892c9cd3702309f3e577aa13ec19a0a38027f61387cd87d3e0447803e90be8038ae8de037c8c93a3ecf3f413e71a80438b7ba523817eef13d6438013ec992b538065d4838a55a423d07cf603d3c0a7c3822bda237015ecf39e94f4a3af4f8d33839691738fed5db39025aa23adcdfea38b16565373b32673924909b3c38c9af388775cd373317ea399248b03ad3768c3913860e38467754397e86a03a5e36fe387a98833768540c397ee4653a5d400a399f011838faa4a038dbe4893a174c9638d1173637d8e35539dffbc23a48478b38dc1524382e848c39ace8953a94ac0b39b6a62938eaeb0f3951c3163add63de38a5732338e460bc3eb98c203f6b923238a7dfb1372c77a23ee7770b3f61eaf23730a9de377472893e06cbf73e275aff376e7e1238ecdf6b3e285aca3e235f1f38a8a8b537ca5b3b3e29bea13e6bca1f3842351d38591c083e2e0d733efa12293851ad7837c092b03dd505213e97adbd374a5827389d641d3de78da03d9014363874e43338ef8c7439e6cb2c3ae032a138ec63053834c7ae39054b323a9c778439bbbd0c3870cec539f94b603aa1fc8f397d6a9237220f7839542c973ae4b1f438143f40379b3a4a38b041323aacce3f383f538b38df45ce39140e2e3aea6ebd395869ce37726843396195003adabdc438fa9f33382584c139099d9b3c72898939d05e9c3780ff1938b947b83cdcddfc37a9970838960a81398066283a5dc55539156009383953783eebee403f8e14b338a962153864955a3e439d2a3fbd7a1838f6b4b537a5ec3a3eb5d5113ffff6e03757ed8637d9b6193e55c1f33ec24cc937a7e7ed386586f23dc132c23ee5ef6139890ad537ea22af3dea14923e22f9d937861d3638c8d5353db69b383ee397c0387faeb237e52f9b38d160b33d919eb637cc650a389bd0a939c64a583a643e8538112cbe371b5a9239cf05453aec7480391105dc36cc78833834de833a7e873d382750ee3878d6f43940a6cd3a452f0f3ad16fef372c7d333955ddd13a06dc6d393315d93736edb839838ba73a4ff0e03981f20238bcbe2f397e72483adcf61e39165ac63722477a3935f2343ae5bf4e39e86fbf37c54d78394de5b73aad0afc380ddf97382ea29639900f223a8cc296397a54c6371e6aed3dae6a613f50cfb838473c263763e3d93da41c483fb132a83774783a39909baf3d85582a3f2666b9391dcaf737b65e8e3d4cfa0d3ff36a25388ff4e7372de35e3d986de23eb6ecf0389ffa0d38e93e1c3db3f2a93eb84a5238d2dfd137ff74b33c1d08623e1420573867cfd6374f97bc395f16e53d5952e5375b7acd380c8bae392517423a47743139000000000000000000000000000000008ce94639defdd9392829793ab55b143a8df700380e151f39434cfc3952cfa939a6252c390cee9239d521513a06d5113aa57784396ab0b0397a261a3a4061d3395d283139eabf9139c27bed39047ab939637e1039662a6d39c0252e3ad20a9239c689c738bf06553942980d3a283e8f390000000000000000000000000000000000000000000000000000803f0000000012a77c396c8f153a1bc3603f5f09fc3995e111381833943904ac403fc86e923976053b3997a5073a42da1f3f022ef139fa2e8939bc79d739c8e7fe3e1e21c039c3aa3c39ae2cb3399218be3ed4df9f391dd7103979b88939ff717a3e5051673951d3cf38ec0b79391cdaf13dbe7f5039000000000000000000000000000000000000000000000000000000000000000058aa5336760459367a677b3770a0c137754f51358b425435304c2837e17fb237c458dc310933fe310b231437ae4a8137222ea13651b89136bf51b03704ebc53778ad4635f7b7493553ac5935944d6135aaec8a37e2c6cf372b3cf6378383a637e42db133dcbb993538dc0c3629682d3400000000000000000000000000000000000000000000803f00000000000000001aa04836a7c07f3f3ca21c382385af37b4ee503562a1613f16a50d388c7cb2375f50c1315c31303f54fb43385714753733f0d936c14bfe3e22ed29389d70c4371c804b35fd419b3e74575a38afa16135676fa537514cdc3d75e9363815d797371539b23330f70238a845473728d85034000000000000000000000000000000000f253335e16ccb35e056f1375e547837eebfa535e59dad35cc0ede35f55cd63685b579362c907f361d10a83603bc5d37da9558360ca089363b153037c582d2377d39c733bd32c1339076ee37e5ea2038ecd138364ed03936f2317b366e75893695778a36337a4f37873721388d3804386efd8a3434960536c187e13738cab8372ede2336588f4c365ff31737a8b76e3748aad134f16a7d3f6694233c7872ed36e16d9d35cc82783f3679eb3c199ff335aa0f653664a05c3fc26f7e3c625ccc36f50a41361bc92b3fe9df1e3b32419937065cca338336f63e70d8c83a7fda1638dd6829363322923e6830f63a57026236a36c72362418b53d5c1a6d3abb20df37fcc88c34944e7138dabfdd3852218b37a4c3ca3587198836a44203380c906437c6d82235973c2735fd21a237f03a4136c4b50935425e1535328cbc37e704f136bd17bd36dfd2d636e75322374e4938379cd3f735d8021736f419ba365480b7367c3d2035bc9c283567c9d9372bffe23703cc293603b84436f4876936d1b05736e0f8e1360e11a1374e33343889cb0c38e420a63594baa735ca939e372098563604cb0436f988313676221937227a19371a3e1e35c8425d3f25e40a3e63696c355dde0635d606583fe2cb1f3e044f4235626eb53654e1373f6944233e62c00a374aebf7354e8a103f20520b3ef03a8e367a301f35515fcd3ef9cec93d77709b370ef6243641eb703ebce64a3dbaee5736d23bbd3575479c3db8d3c63c06c3c5379cb4a4359c4e6538966070399a30ca353000ec3549cd7936365018381d9ba73653e02036f8724637e4ec2838e2c54f372aed29364eb73a3687d824385bbcec36c4f48c3616a1fe36d4ce1b38eb5c0238c2be1836582b233662223f364c6f403692e47535413971368711dc37d69ca937486fce3591067f36bc6764371e93f13678e5773646d78f3600deee3760629536ead74b3554ad26370766233876a1d037f9440a373c758d37edc0243825ac0b381cbb1636c9cc2d3ff05da43e9c1a3f363dc71a36fa2f293f3166ad3e83524a365073f3350299133fb831a53e6bdb3737dc861236c107e23ebdab833ed6312d364bfc723515719d3e5993403ef933ac364531b735271c323e2c23f73dae497636613c6d36ed0a203d85863f3dc3b78336ec5c4a3592b04738d7c4973834faa23639a9de36af860938d70776381370b637c2ced835407c1e375c45fa37916a023604e14f342827043538ae99372f08e534bc410637c4960d3751cb1437ad151037ff048a36c5c8913609bc9336f87d90367b221b375b958a374839fe37521bbc3738fa9236f3809a36b8d29e3607ab91361ce6133704ea1937e820b437c59c1637b6790f35b2bcb0362c42c43792e563367eec0036575add36e0e58a374b6a0937102bbd35b36ffd3ea84a013fd12ee7350d9140340daef63e3ca6043faf58b6349160f6363bdfd63e8da6f43e88a50437b895843688dba13eae2ec53e25698e369c2917337422663e8def8c3e90dd88365bfe8b361712f53dce79373e55068e365a930a372b95c03cbbdea13db2470b372347fb34daba1638b910613884f6c9344d33ff35d3d28437f0e54238a0aeeb35693948378aef20380c134b38849b123724db3d35e7e78437ff2dca3788324735ce776f3681e68a360ddf8a36044e6c36bb38493682398e36ec5ca23696872b362c57f236cd484237f0d78937af9eac36382c33362bde4a365bc843361c0f22363a7d0138c227373822ac5338ecefbe37603e843618b7dd37c54d36389765a6363db10f375ed69a371017e537e0763f37c9240a37887d9f3e062c303f9c4fb6360b743f3534c7993e5912333f89133b354f746a36f44b893eeb6f253ffca856367381f8357914483e1d93023fa86dc035da185d36f5fc053e0e48bf3e4f296935eb812a36c7ab853dd8ff713e4e7118364afba037891a163a282bcd3d4d6bfc36b3bc493636919738aa49f03952514136d1b44136112705387fa52e38eb652d36e3b279364526d937318f2e373bc20a360f0cc9356fdcc5356fbca43530169f3570adaa378783b0379da063379b1ed336433956362fd36036f9b34736366f34361a46be37a437b4378e57483779964136c9099c36dbb1b1369fb59d3649ec49365aaa3037097e6c3766ec4e3720da073723c06b36547481378a5ac4371491313509e01736f228363651586c36811a5c3549193b36eaee023e6c405f3feba4c23558a5a835ae60f43d276b613f50779f3568c55f377deef53da47f473f14d79735e8ee553699e9a63d4f46223fd3c621369b368337407e3a3d18dfe83efa3f2335342783367d6c253c5a23943eb1b91836a90b0e3772ed483abedcf83d8b9ad63649d1443536b385380f069938c10a1d35ede87e357a0d733780998037f81c293573f8633700fdb8379eef2937e6e920363d260237acf92f37c8cdd435fe4c8434e30fc7371e0e48373e9c743686078136e2fe6536702c5e3635953836db403436f6a9083861e3c1379bd0c033c166c43388857b37944c5737c7b410375bc5fb36890a34379ae62a378f73d33645c79b36b70101360206203799411b37ed27c13518901e3752b56937cb7f1b3754e1e73538c60237c9316c3a43bf7f3f31168f35a74acc368b9a003affd77f3f3a09853471169537367f82380815693f161f5b367586693668a8b139cb5d363fe5bb36365a2b033883afde38ca71043f79f5c233fcca5f3776780c3a30eda63e47f7b9364600f336014eb038a034fb3dfd098d366b8d0136b55661383470003a1f75ba3566398c3658b80a380b9ada37b09ab13500000000000000000000000000000000b698b733efb6b3335bf3b133a976b633317f8437fc926336856b3f368d832c377e1653352762553576dd4a35a3cc4e354f1bc737119b68373cc302374cea99372355663757e61137b694cd363a7222377f2cb037a2519937df55a137e9477f37e0bcc3378fe7bb37ae3be137adf291370000000000000000000000000000000000000000000000000000803f00000000aff0b933ae199c3674fb7f3f6f3ab13346e5573752bbda373c64643fc0441d3754c65d3576f45635ac65323f4dd645351eebb737295f013880cb003f36c68b3750136137df22b737a3919f3e9eddf23610eeb237ecf40938b090f23ddd88ff36f6a4ac3702d804380eba5f3adb0d8a360000000000000000000000000000000000000000000000000000000000000000c9dca9345940bd35455a9937830e7637e2c9bb350a648236319a1338439bec379a7b72353b1b863599fdb437f8ff5b37a33e2036d56408378d350638ed2aa83713828135aa569435825e7d3757e4a535f208aa35d25bd635a6bfde35a03bb635c90e2a36caebc0378cc3f437e3b3483600000000000000000000000000000000000000000000803f000000000000000077cff934088d7f3f13492138a9802637e4aa0636a848573ff37085389fe8ae379c8d803547e12a3f25b332380de10137cc162b36bddcfa3ec3df5038d08685377fdc82353a719f3eb50708382620a935f7f6af3593e00a3e5a748e366596c535787d323631c39738d4501738bc204c36000000000000000000000000000000008da3e02f50d0dd2f8b156d38bd0a4c37d9024e362b9aa736321fd13792c23e375820b435b02c4136d78a1937e21db136aa51ae34d5e26035dc0c96375ce66437fab76236c3f39736e2d51338ac939e37a22b5835cf22f035d903aa377c225736eb269a34830451352bf6a1374c4dca35e43573362040a63610192e385c1e9c370c6cac36d0dec836d6ff7f371c8c8a372d8fe32fa7ea743f7846303d98aedd3666eb5f3624de6b3fd6629b3de827f93641ccde3536fc453f09936d3d2df5b53663fbcf3460b31a3ff235453daf3cda363194753673b3e03eda31f23ca7038937888a8f350609863ed424af3c721a5e36dbaea2341eebad3d8964823c4ca5da35ae9681366826a43783853e3a70754437eb4aaf36ba38dd3637472938f2e2813732c82c376a9244375aae873821a9543788239b363469fa366a367a388c622237dda5b436af1ddf366e56143869ab7d372bb2283771903d37a868793834e126380a8cb136dccdcf365e880538239b21371011903699e6af36a6151338c7d1c336c6db0137ed7626379eab8838ed6090370fe5af36d647d736032a03381b5ef636d4bbb036f1ddcf362d911f38e47d8f372ec82d3792464f3f3e72423e9d884e3716689d368aae453f2a41673ead8616376b42b636442f213f4191523e2de905378caf2a373a86fb3e8eea3b3e684fc4376bb1b53634ffb13e6466093e2606ea36de1c92365993483ef63dd03daaa9c33637c501372353813d9e40403d07712e3767fcb436bf92f036a3eb633aeeeff3364b71b13624d5dc362068fd39d06f12374d465d361085953629d07238a590a236ef8d6f36c6a7a8368a34bc37141cb736d47f2137666235377f3a1b3822bd43370859ac36a445d436527d0638fcd9ee36d461ed363e5c063701706438c1df0a375b1c3e37e0c349371ea22b38d4724d37868dc336bec5db368b17a3370be0d936cb3a0737d51c1737c2ca313810021b3723a47b37bed7843765c8323896f38c37f4596236999c273facbfb03e0da19c36ee387336fe611d3f63d7bf3eefe0ab36c00b20375eb1003f2cc9b63e44784137bc63b036a39fc43e5713973e367eed366ec3ee363b5b883ea855653ef69609374e133e37728b123ecca61d3ed4e74a37b51dc63648deb63cd769ae3d64e7d336f1af0737f073ab377116e63a0dcf183793037d379a428b374aba443a20e08a372f2ce836ac879437fa89ec388c222437e9f50a37c5023b37a31ab638b9792437a4e99c36de6edb36ea9edd3712ebde36d16a823607bbc236da8337386df8bf36402df2365253a13796c26438055e73376ef5a336f812d6363f244438076eb3366212ce36ac07f83647580838f476d2362d23193789ff313777a1a738213e2c376790fd36cf265537b738093865af81375633e6369ef0fc3e6172013fc62af8366d870b379bbbe93eadfd073f6f59143725da9e368fc0c03e01d3fb3e3b68c636a9a28136a9b38e3ead1cd23e9a45a836da85f336c03c4f3edf5d983ecf6918376748a436641ec53dc5d45b3e214e9736ac2ace36c7376f3c7a15f03d6f52ba36981219371cc44f38fc1b493ce88d1e372812fc361299983754e75539619122376adf8637e00fdf375ee8883925b68137c8d8133731db2137fc0c3538e1550d377a07cd36f49ee33667002e370f8ace368a724937236052379c75c6377ab0433747da0837c06b11370e665238eeab00374137f536aa60fe363c3f0f3817bcce361f204837f6014c375c943038d0ce3137ccc7b436f881c5365ca3ba37adcaa1364fefa4369d59af36f98b83376d8c9236ee4e86377ba1aa3eb37b2a3f3f6f7a37ede0123795e69c3e471c313f0af00237e46ecb36b16e7b3e34a2253f9562be361e61483753b4363e8758063fa3ed3d37c0e809377cdcec3d3bd4c93edf22f4368b08f336e2ae5b3d79e2883e3c8cbe363a944537986f7b383fcc0f3ede6d2a370586b4364562cf368c632f3c805b9036cb28a236e3c6b13652631439b3d18536eac7e236be151138462885383e3cc3364839ef36ac5640370d19de373ffdc6362ea52b37a77cb037785c493851351837da54bf366728e83644dfa637c721a336edabee3620a66d37be31d437752fc736b1ecb0376a8f3a38de946c3871343c37013b0937945eb13730911e388e67dd3673a424371cd42b37016a863867d7ec36df1d523708925d3741e02838e07442374f09e4368f3d373e1913523f92beac36c04af036429c233ee4e6563ff07faa36228e2537e47b0a3ec137413ffe4b02375096c036da56a43db94b1f3f39e9923673b8ec36fd105f3d267ced3e0efdb8360a4793379b696b3c5d259f3e2d1833376b790837406f403888a8283ee5a9ca36d7541e372c366c38a621023b794dbc36096251379f89e437d938e239019c3a3766da4837671da3379cab9c37a5adc136ee8926373b0706385917a637e90e9636d6e3e33592503636d6139735021f243516456236ac265d36c58b31364e5cde35d95d8d375174ab377c4d8e374b309436be019d36ed365437854a1737ddc7803565c6be36f9efb936cb223f3790374e367b470037bc1799377eec0f380a3aac36cd500f375a09b83720564238601fe32f0df64c37329d033d9ec3773fef28a836a77116376269da3a415f7f3ffccb6d367210df3593c9d7398111663fba11a9344dfc61364403413a8757373fada39a35b85a8137b82cf038680b083fadf2843603ad3936b15731387fe6b13e092d15354998bb36fcd3b3389fa52c3ec71d23366a6eff36443620389c802d3be9259536f492f1360c203338d9c114395b92e22f0000000000000000000000000000000000eb4236eb944b3661a28237bdd3453676f9b4354e5bb93578b7b43503dbb835b4a4a7358114a835d4b7a735b0c399351b548937376f72377144c4375e9d6a3701d9023784fbc636cf2591373b238c359e969137978cbb37780b2a38bb179c361ab5783763c177370d6000385d47e2350000000000000000000000000000000000000000000000000000803f00000000a0c2473681459337b2f87f3f14a2233657c3b635f89cc13524445d3f73c2a835125da535cbb20e37164a303fa67a83355fa14d37bf11fc37ff90023f4043ad36cd60a6360c3bc837381eaa3e15f382351f8a7d379e434a38dab5223ee67d7636dc5f1a37898fd13773f0d93aea56a63500000000000000000000000000000000000000000000000000000000000000004d228a3528f0a6362a833d38257906381d8d9136cad81a3727239738dd6b3538ec8e9e356f166f37653a50387e2ad537e1784836953e9537602c2c38329b8d375246be36f6ba22389d346538db4fb13708519b35c8b70c38ba3e0c38481e083775e70c341bca89378fbd1a373b16af3300000000000000000000000000000000000000000000803f00000000000000001ff78b35436e6f3ff64b103a1437d23753de9c3612b8493fd2e0dc39099ceb37c733b13594e2233f30bd7a38539bb037594585367269fb3ed04142381e01fe36f40dc136ddccae3e3fab6938925118374a8d1c3794db443ec17af7373898ae3534290b3417582b3dda66b83673019d3300000000000000000000000000000000138ef334bef82c37c8e4273a373c183891856f3572ba58364a592d39e28bc037123e49362787cd36c53723392bd59f37f5916536e01bc036ac9ebf3927d53e388046aa350add14377b788c39e94524384694893638f9483726c5b43842b501382d794736cbaad93667c8cd3800eb0f379f8dd436b03d0537c4c1d139d5151837c143ab3638e30e373e113b387e5e0d38b1b53235b27f6a3f78f3a63de503e8376f848f3582ca533ff5e0b63dd39a783718d27036718a323f0245ac3db145803781cb89362b400f3fb9b4993df113b637eb4427365e92da3edfc5693dd0350638f72d9436d593913e7865163de7b8bb379d2779360af81a3e2071b83c306e0c377fe1e136d2f6f63a2b7a933cd7fc1637c1b9c4369a358b370fa85a3a875dd037cb97be35d70f4737bb16613c3adb06383e2e9935af477c3688f0b53ab0582b373f9fbc35738716364dd10a3a26ac533644cc803606e093367ee6113ab8560b373430de3529056636acab80396f4b8b375d7bf635ec691a369bbf1a3a3eaa0737fae33136b87454363615d639f037b63631476b3431627c35c23899387c5bb63501088e35bababf35f2bf8c38901304381fa1d435a8fb433f0bcb5e3e87f63d37d896e335df95303f4b766b3e33b7a236b8a1d4351127113f1a90533ea7f74e36200387366692eb3e9efc3c3ed6a8a536c17d0b36a105b33ec88d083e36998f36278204360d34673ed44cca3d1e83313615983c368ae2ff3deab36c3d97555336b97f7a340a2fa53681b3b23cec48a9350edd9d351d66af377d40933af681b8378cd4da343161aa37d989703a6f186d370000000000000000e7d1273a000000000e035536c06a7736cef1983a3ccc8836bc14ea3518c01636de01a539b9ea493775c394337cdbc833b56e293a8868c2333ba577360f008636889ba2391be7863629880136cd38443676887f3a34a73e36b4e6c6334ccee133ad052e399013b23359490236a62ad937c38083392154543875d60b3543ba213f6ee6ba3ee4428b35000000003e810f3f1419bc3e00000000b2545c360c9eee3e16d9a63e388b88364fa8fe35e247bf3eda988a3e38ad31360ff58e33f4938f3e2b29583e1c66b6330c497b360b79393eb34c1e3e53bd8436cfcd12365b31ba3d36bbc23dcdab3236d310c3332c92f23796a6253df1e7a133332a0a36730d7c38039f463c86a9f237c9f6c63664ed3a382384803af43a4937248624370fe82738128bfa3a3d99d137d43f0f378632b2378a380f3b5290b6373ed91c379bfb003886cb363c2349b03779506c37ebfd0538622d693acc63ed37d2c643371c943e3820c6573a5143a53748f427371a5419382c3aac3abdb96f3733b93437dcf93338bfd2843a899fa5373695d5362911c73765a1333a8854f737d149d236b8e4fa3e54dd013f1c1def3600b22a3750fadb3edf7b013ff91e5937ecd31a37a4cab93e2f6ddb3e523d52370787393734298c3e8ce0bb3e248a8d37b1e7843763fd603eab138f3e1ae1ac37cf1266372e7a073e64615c3efba37d3754a33937699f8c3df8d40b3e45bc43379ee241374bc3a538f4827c3da4295337b5fce13621f74b380ca58e3aff6c3137a2912136fcd58938305d3b3cf5e93937d9cd9033b564c23372bb663c208ad63342cb0f365b9e4d3648fbf43aea1338367b6d7c367ef387361f94533a6f7a8536322eb033e5cd06376c13613acf8ab733d35423363582b73743a1273ad131143617828536faaa8a366fc6d03aebcc753600000000000000003f082f3a000000001cc37c3549e8bf376bb35d3a11a4dc364bb127366194ad3e3714233fffb20e366b58a433901d9b3edd79243fa091c4337de61d36e39d803e4a620f3f1b041e360662813694594d3eb0f3ec3ef8e78036bd8cbe33cb9a163e7e5cb83ea8739c33c08b29361eadbd3d0b4a863e6c5308365db58736c90d2a3d7fda273e9e73683600000000ae812e38fb3f913d000000003993863596a82338e6efb93a70e829357165ed35bedc30386bda553a74afc1353fa05e351a5be335d8d3273cef0d2435bfcf49363d416a37ba87ec3a85554e360c052b36076896374b99b13ac6df1b36006e8a36a6dabd376e615f3a1b0256368e44a436feb79a3722ddde3a3edf9236387a48364b3d5e362413e53a237409363d46a4363f06d537a4e0513b262063365fb52036a959323810f2c63a02c9083649f6fb3620185a3ec2f1483fa4b1a935d6338a35b6bb3e3e631a483fab4c813493954d36f409213e026d283fecc74136c04d2f36fb54f33d2c040e3f90620e3635bc8b366f60b63d228eda3e28c1313633f0a3365cf7283dbdb39f3ed3ec8c36d0204d3609c0a73cf6b8503e0b36f435c776a43636d11d3be006963d18d73236840e4d36917978380415c73af3e3f235b499a337973e54384d51363a9f5b063786cf1537ff7aed37a78b463c87d80037dbcb0737a66e16376d22c939b8ccca36d9948937824e2438a005c238c0a230375edaca37a69433389c8fcf39217706371da50837e3147438b9501a3a2b26bc36728d5a37c5aee03725a6403a6074c136b04b2f37e1f30438efa0e53a0f3e4436577cb237843c4138c64d833a7045b636dac4ae371d3f8e3d2ad46d3f5e74dd36367616377b0d4a3d6c146b3f1564e936eda707374db92a3d90bc483fda6898365b4d9837f783133d3890243f4566cf36c058dd377fd2b53c5c8afc3e25c8a1367d5c0737a6a34e3c6b26b43ed95da53637ef6137a03b263ce36a543e91fa9f36a5893b370d95fe3b3111973dafea0c360e3cbc37eed5803843854c3af14c423600000000000000000000000000000000c7d19b33d628b733f48dcc37bfd6a336868301351fa0f7367d0412388286ec37ead8bb36a09ea937e00370382dd50738adc0a4365c4e85373d733c38242d2e37de568537cae7d53797316338f6653c37137f8337cb0d2938d1cf8b394543be3649a6a337ec6e0a38b25d133a1aab89360000000000000000000000000000000000000000000000000000803f0000000026fb9f337ad9cd33b946753f58c3e634581001357c1ba037d8bb4e3fe46eae37e917bc3610172f38a88c283f26fb9d3717b0a636c0180738133b023fb915b03622d99637312e10385e13b83efa2ec135f26d9337701f81381352583ea3cfaa36126ca037d8bc2638a8d8813da850d7350000000000000000000000000000000000000000000000000000000000000000b664fa3493d258346a715b357c023735d1cc5a3684d9413660395e36c6839236d977503672560b36a06f473694b655369622cd34f4d6f5342ac73435b6ef4934a4687f36956a8c36933d9336adcc9d36e52b8436a5855c368552773646d98036075c69353619e7379580d83749d62a3500000000000000000000000000000000000000000000803f00000000000000000000000035b67d3fbab87135fc6e0e347e066f361d24633f14c1883627745c36ea492236f521323fc41f97367cf838361d1a80341417003ff112263800000000a2738b36a326a03e9ae29b361e177f363b7c673653c1e33d5d973037d723753635a135354bde763acb1b5238538b1c350000000000000000000000000000000062ff5335be324036526fc4373dba55362790eb35e9b904369155a53750c4cf36d5448d36f21a9836ccd30c38384f15381947f6357c50e7353d526436cfc073365b1d0c366460163639c73436148332362e9d7336ff589036e0943e37e6809a368fbcfe350431c2360af04c3838b10a3832ba733667868e366624b13709338336c3797636125b8436aad39036cbd99236ba8e8d35d6cb7c3fcdd05f3c8ab75636bde2b5357004713ffd04093dcc4f21362f9882360188583f47e34f3cac618e37f76bd43568502a3ffcf2af39e0396936b14101360409f23ec4fdce39e3f5373675e78236234d8f3e23c49339c4919936cdde0336b0f7bb3d3e641139ca4e4537e18b69360d8a21395a6568391ba1863671966a36713a823694de1237c4f39436042f6b358d610e37f9350a3964d580380329e63368a11d34ea6f0f3802421f34cd7264344bea5b348df58437eb8eb7369f42a53486159e3488b643351e4d473588c21635c3300135994c65377b314835925bca3501dcce35fef5c4355cd8b9352639bd35d5790236b2977137a29428360f6e4e36992c77369cceff374900513732e05636a5e667364fd006370d3a5236881f033577005f3fa5d7053eca628735e85cf333d769563f3c5b273eaf0e14342bb2443446823b3fac240f3ebb0e753534039b34c7430c3fb889023ee50ba134e8561c352df3c33e5888d23d3c0d0a351bc0c635f466533e6b71b23d9942d8352cefd73549eaf03c20f8803d4986f835294845366f065638e8fcf03821c48c36a4e85c36388b4236d01f003852fb65360cef2036cbd3713622ed7d37a2765036cb545636be7d8f36433b1e37158d9b36b6974a362b675336607a6f3609a98f365efc0f36dcef08369c0e3236c5413836d0eaf234f8bcb6345491a1341b1ea7345567ab35f899ca35e6e66136ef8c3336b0a9823523bf9a356c72d63570149f358442d532a29703336f5eea3798b0d4328f3668362d508037083d813811013d3885482636273f303f2e03a13ef5352036a539323654e3273fb4f7b03e56565036387048369bd50f3f1ba2a63e23803536f804eb35638dd73eb6658d3e13d400367553fe34d2608d3ed60e5c3e02b4cb3461a9da35312d113eb6df1a3e9440ca35caa90135448b953b857ba83da4e7a83500000000050d6b38e22d9939cd4ca8301f106336b1a28438f05e0239945a8037bfe876364ddfa137109c1b3803fc9d362ba9b036a09a2c379d370b38862dd336e0227d36893588369ad8ea3750598236c88a8f3676ee9d36894b98365b15a936c084c1369b96c137a75d1838e378f83794c091362eabc036dc4c87379af8a0368aa882365eb5ef373e8356386978d83763a0d1366174e7369c232a38779b9537a1e398368669f836a91baf377a1563370e5a8836f4dfff3efa7e003fcee981364c19a5364e0ef33ee3f2063fffe2bb36fe7e5c366113ce3e82d1003f70a1633623fe8236a480923e4521d73e9bb793367d25be360a2d483eff669c3e3385c8365d088a369263b83d4467533e8c4b9a3643ce7e362be8f43adb4cc23d5aa78636d72ac636ccbacf38beb7b3394a89cf3605ce88365792ea37e180423809a9ae36ec1a823634b0ca38d9e5f638cd1f8336000000002a7516338aed333692957f3249339f352294083694b82535e6749b3580d1c33571b512367ad6c235e647d835f231ed346c44b03473719734001eac3447e54a3638965d3649882d3683463b36a4fb5f36678684362dff8637510c8a36db6a8b366b2fa4364e1321374640ae36083e6b36c3046b36cfb7b836e4857936f4975636e4bd9c3ef742323f03162f36063f1e332375983e4f46343f000000009a2e1135fdca713e6bd72d3ff317f0344818b035b504243eb1810c3f4d743a35fa66ff34a24cd03d6947d23e9e93cc347efa2a36a8e52d3ddb5c863e739223369f556d36810b113c3ed9d93d2cfb4a3631ad8336f40bfb370b1d833a9664a836eaa8313686a801376290973770547836a75a5236f4285c37fa8790375a485c36ff9b41369a257b3770aa4937a8f94a36f9940e36d51c1636bb929b35c3cf0636a574d9351f65c8358081b6358421be35e4aa1635cf41ff3468e9f634e7ddf834e47f8734c792443527d19b34da152a35164df33416b401373398b5378e5c653453161e34818425375c721d38cb7c2834a0631b389cf46d382a096d382598433687b853364c92023e37c15f3f8c6e43361a3531366749fb3d1405613fb00dcc35466a29367b1f9a3ddbb0553ff134ab34a881ba350619373da2ec293f5971be3573501c35c2d0023deafdf73efb900435601f7235cfd0ca3c56979a3e34299d34be41ab3414974b3cb853ef3d597a44343f0fc0334c4c9d382c7d4c3af2590434f2f6c435a175c73807b3a8387ff19f358f9c7d36e0de9e3685cd90360c9f8136612d80364d49863671766436442f8036ba637136f06f5936329fbb358252033638139736a22b923663ca5336a0a18e3601572f36a58c2e369965fa35b4762b3627df4d36e07680360bb413362ff236364e3a82370382b9373c97ee37e8077e3774bb2036efead736d479d2377f1381368ec365368c148c364e4c9836d44b5636587882364705133cf11a7e3f4b8d6736ed0f6f362b7db439a90d803f062a5a363fc42c36c15bc53869c0683f0fb8c035185b8c367c036d38eea4383f959080367b8923362d959138e149073f39291a365b91433641197e38c603ac3e14d71e36fc3184379f9bd338d7e6113ec4ab9f36e6e12436e2222e38568bd43c5e5b2a36b6764636241695379566073889673f360000000000000000000000000000000097672a35cdbb45355d0ff6343ca90b3504c3743605748e36d88f2d36db0f6b3695b6613611e58e36874f8236906a8a363a224933984ba6347928a7331ce6203464c63c3604d75b36d7c40836040b4c3671e7563685337936b4467f3634277636e78c143536bf94359ece5235f9e913350000000000000000000000000000000000000000000000000000803f00000000da781635b8d0f237740b803fcdca0e35733e4c36c626903629e4633fc2f15d362a857736d145a336e648303f2c8272366dd32f34123b0938a35e003f8f69a131214e303692c77636529c9c3ebd4532364b6f7a3667178f3697f1ea3d71b33b36108f4f3533e5853567472d3cc2001c350000000000000000000000000000000000000000000000000000000000000000060acb34b338f23421401a379c5fdf343297f535d9171936f5a25b374dfe463621d425361fb66936c93a6e38417c5c365b418d359d42983537209935bb8076354f4e5634ef161b38e040373822a38c34641cba35ac5e7c3797f4b235d77da3351266b9319eb3b431acebb4319e02b73100000000000000000000000000000000000000000000803f0000000000000000f409c93436a7773fed98093828be13353ac70136270a5d3fbfa35638cb594c36384a2936cfe42c3f8e3aed381a125436972dad358a69fb3e4d039f3738d38c3534922034895a9c3e237e703874598e34ae69b535e3c3ee3d6fe8b135a6109f3535d3a0313051e138a9d7aa31e58fa431000000000000000000000000000000008e3d5b34f1fd63341514f338f2f87e347cacb135c1b1df35c0679e386b8edf35150a1035385f17350f922638c9302135741e7235df007635ef822138ef2c77351c74cf34776ab435c97da9380755f73573bd8b3458209c34bd7b0c3806469c343af1203505782935c4849a38b6571f35203e543337329d3402dda1387c5a6a36f66c7a34814f89346f2306384b638434c17063346073723f0cfa553de3e885348ee3ba3539725d3fe542923d01f4e035f8a50f352d51413f28708d3d61d41e359de07835a75b123ff18d5c3d2f8f7b351272183558eac93ebc450e3d23cf08368903963466675c3e4c04ac3c93b19b34e7d324357187b63cc1a2ad3c0c7c1a35b830583349b565384698dc3c843d1d358cf8853421e178340043de3bb8b28234a3212033bbb8e734b5f2b13c147635333e3db633c5fe1934bbf666381f45103426dc40358a176635b6e183389599b735c8e8893569eb9135bb52a338265f8c357a843735e7c15135820253389a9d60356eefb835b9e6df359cbfb138a97b083643972e35010f39353ae1af382d1941359952cb337b67573467db423835041e35087f9334700bab3418e0f43642d0ec34b2152433bde94f3f5bcb273ee4602a339339cd3328743e3f456f583e7f9f3034b96c4635bedd1c3f3d51463e58f65c35de1e7c35d506dd3e8ca1473ea7bf8135053d5a359bb78e3ea714333eb27a7935d4c1cd35039bca3dc9e32b3e44a5da351bda1d357dc7bf384d10e43dd9843235a82d0a349f98b535b1bf8e3dd5e0e13407c38f34c2360c353f85113d6e8e213561a85435f0d11336f0c4443cb4c8b735dd0132345205733422fc0139b92d523457eb8d3545077e357c2ef338d637703589022a36d0a8bd3643a80537ae0eae36a091ab352b029c358e51c2382389893523706e351cc40e378ea6ec38747e4e359a8eae350c6a6536047f9e37412f653660d2913423f24d347d46f8375e751c344e187232d2eab23263ad0a384d6cf334b6456435a907243f9749a73ecc1dac356fe11134d9bd143f1996bb3ee5f86334693a8c35c55de23e4778b93edfa87e359a234536dc3f9a3edac5b33eb7aaa3363b90b835dc142e3ee0e1a03e623f9335375d6b35c2e5043da17b7f3e85ac82355eaccc35f9773b37a6011d3e4c6647364ffd7d34a1cf2734e673803d2458153467e68c32fec0ba32c2c8d23c92a5a932979e2d3536ae1238f7f30c3b9b657b3506e50f36299c5237e6973d3984a22036f58f1835bade8235aac85038741478359a3f3635b6093d35d424d2379bb039350e180f36bf311538d6d6ca381a2e0337e54a3035a8fa433512d922387078413541521f35106f8a35cee43c38aa9b4d3568b01f3622012636f0da1a392d55323677c8753585ea9f3589c32639914c8336649455356227f73e5777ff3e28f56235a3ed0d36e5f6d53e6936053f00d00e367d113735243b9e3e0184043fb2764f35c2983a35fc813e3e6965023f43cc3835057c0a3682def13d8baac33ebecb0836b3433d3532fd5a384caf9c3ee6553d35e0c43b350a81023886df323ebd3750357e211236cef14038ed947f3d565b253608608a358b2cee368918923c8f0270357d438a323e9b3e36bedd3c3a55ac8632a81e04345e396334238e543876e12034a95ad135d30880362a649c37cb7730368f624b35a3725837625bc938a1b55f353e2e833548b598352ff18f38b6ab963559fb8336ddd0c6368cdd2637a2d4b036feee6a35b0c7c5352449fa38b6518835e9b16634dacd9534c2bcda387f137734171c9b35a06aed353b9c7738655aeb35f4db8d3220b5a03e9a2f293f34129132d6d213340437873e56c02c3f42781a34a3f00b369f5d283ea5d82e3f5b1de535a19f62359798b33de6ab213f4b545335babb983586e99b3c76fffe3ec880a03574bf9336fd59f737f594b23e727a913624504e35a189bf388809493e049b81354e226e34bbc9f137ea745c3d525f52348d23c3359f992436bedbb23cc219c2358336923455e35035d493433881b87834f41f9534f3d1d035b49870385ba60434f7545a3587b9cd36500f3338b79a3c3589c8cd35a72327364df98937058dcc35e1f98b35fc446f358097b5372bcf4a357b5f7735367b8e35f7fa4538f6a890356f9c4e35143c1036ec280d381d674c3557a992343f386034fd193838c457cf334070093584463935beed9437a2fc3c33bf71923499c61b3ec741503f75831b34cccd7434b048dd3d8fb9523f467d0b346f64573570cc4a3dfc1f573f14204835e331d335739eba3bcf793a3ff237d03530ae9535a7be8b3883200c3fe1225335d88d8535ee6a8d38f2c0bf3eb3689335729d4a3516d59837187d473ebe363f3515b99434d2d4023423413c3dd806dd33164625335905b235ec8d313be90a4533cfaf7a341a78c2372bbc5938df266c34dee24d356bd505386de06f38c2d061348abb13355e0e2b35dec4513772b42a35254f9c348e3fa434af5e99346ddb9534a6aa3a3671eb283617b60138c2f37035cba06b35e3ae82350175b837451e823559f2233534731f3583a7083816541b350bd5da35b416e73524039d385d2ada3535c58434b1b42f36dc679038f36a7634ef3f8534a308193d1ad2743fd4146a341574283591941339ea28793ff2a253332992223558349538ca09753fbf6b2a35ce67a634978c78375ca9433f6507953471ac2736031da6382846123f19633035b37a7e35f686043834ffbf3e90f37b358e0b23352d7fe937c489343e4b451735ea93d835d0dd26389856833d872add352e7e873486a610383517b03ae15e6634000000000000000000000000000000007322973197d7a631e2a0da31257ab53181e49435e855b235c02fa635090db93534444234c8689f34010d8c34213feb3341b98a358ecc8f35d000b1357a1798352f3747368a216336be9d6d3834d18336382b4e36a9c4543654652b388e5d1a3626ee553564b8243536d0af37c35319350000000000000000000000000000000000000000000000000000803f0000000006c99f3108feb6313113803f519aa531be8da6352abd9d359438623f7d95bd355011b23487db9b34a6fe313fe0bb3b3403c4983511ba9c354673023f1bd59c356a704d3620d07238366fa63eb6875436caf84f36e324c93796f50b3efd550b36e6744e354e8c45359a1f083d68eafd340000000000000000000000000000000000000000000000000000000000000000eaf362349ff96a345c913239c7c0cf34aa4a9a34b161f234b2be2e384352d035d15c0935fa8a1135b2472238d2220f35305180350b20bd35673fe1354398eb35b3916f3591dc8c359efc4135868d92348798f234a35b06384dbf4a374e6cf333a57a6d346dae9437f16e4d344144353400000000000000000000000000000000000000000000803f0000000000000000757d653487e1713fdd7d6e34da870d35a0aba2347de34d3f530d29389e74e435aab10d352e93233f7b27e937df0a1135eb3c9935a12af53e2ed9ee350b92f3359fcf7f3599aea23e06fa2835bb228b349f9ede342b14233e732c20348598e83391806734a7859e3a2d504634ff3c2e34000000000000000000000000000000002edb7e325b5eb636c6f9c43c5eafd5362b657933b8d2233418d9c03cf68284349a03233331866333e93b893c5a1fa233aedd84329f7f943254c7613cff38fc328856d6344c8e0b3547cd703c4ac6ad3556906e32bf1bae327f8e163c1de45c3309835931186bd736cbf2473c5a5a43312e931334a99c8235f9feef39da8f083721dad8325300c233ec20b23958914534284a6433a9f35e3f28b1443dbb08ca360b5cb93347924d3fdff3933d82328e342cf23d3306fd273fe553953d9c48b233a84a8d32741c003f1367883d77bd48330de7e8345056b13eec41713d1011a4354ec85132f3903d3e917e433d13f39833536a5931cdb49c3c1692233ddd194031b00e4d3433aa60362fec753d46768d3633dbf1326c0c0034420c453daab250343931d9323a555d36647c233d6270e235aa251c34473091362692233d8deb383672f82336c05e1a389a74dd3c3c4c6637bfb91e3588133d3790af193da3dc7436c3999a3429432535a3e6e73c5a0a62351c9e3236304fa237e7cc183df1d0f337c000aa34c7067e351b8af03c3ff26936308031343c3fe435c3af1f3a2517693653511d3733fa6737f5933e3a19250a385891e2323b9b3b3fd4af2c3ec51c7f355a1d2734c0e9213f7e763f3ee8060d36e16c8c368dd9033fdc28443eddc0f836705b2135b511b83e8d083d3ee9e23a36968b9f340fa2713e5dad3e3e7a08723586e183360be3a13d4558263ea86be2360f8faf34fe48aa38ace8e23d8594e534d93a373446870e37f68fa63d31952c366bfc2b37be130538a66a8a3df5e9a937d296b63668b441370f0a133ddf331737e8c7c63495c9da34dea2183dd249e334c10e0a35b80f12352dbc053dcd300b35d43b0535e12fa8360156083d5e4f4a36c5080c351a1e64351a90243d8b1e8d35bfc34f35e35bc3356938373d7ed45535359bac346c30bd34bb35ad3c9107a634e4503d34bd61463473fc6f3c00654c34a84229327ba571362215733a3013a43626b9e436cef9163fa01da13ef0610a37e317c734d906f73eed1ea43e0c8fd03480e90b35bc49b73ec111aa3ebe4b0a3568b70635c8a87f3e133daa3e38ca0c3660bc26359bd5103eaf7f953e48e18e35bbbd5135830b8a3c578d743e59af5535367ead34ce03ed36320b303efe73a234ad743f341eab4834f1cfdc3dd4214d347fd22b32cca7b736be5b483db078753628f56d35beceb236137ffa3ca8493e36633ad7368a7d4537cd64153dd62e16376be75b35c71a45370dac033d06ca5f360000000083c9ac35ff8b3c3d00000000f396a9366ed4073716241d3d02c8ef36be92e830d3036c3552783e3d00000000978e9a35d1638e3670bbd43c1a419936b09cc43681d42537d85e6a3c84662d37492e1435308f6e369d47383b70398c367db4e0351c46e63ea2d4ed3ead31df35ccc0003762cab53ec493ef3e38bf0037426602368b2a863e2911f63e7dbe243600000000d7a6183eca22ec3efe4910303c1dc336c7a9df3d78aeb43e994cd836eca78a3057a12338ce8e983e000000002371f235ab21d837a3f34c3e0b055c365b00e336b6e44437f83f023e81461737834e7c35e013ae36a692593de8673836a05cc735dac6cd36f905013d84491c3659ac5034b45b4e3467d8f73cb96f423438be9b34b002bc356e51db3c1406ac34f1c0553579970736689b2f3d483350359ab78135333a9335c929223dfb4448350a104135cc7089367c94073d982e6c360f400935a3111135b312f43cefb50935d644c0345643e4348d2ad53c1805c334e243fb36a2e723373265ae3cfe7b2e371014253677b5a23e7e181a3f68d1653556b34e348beb6d3e1bc41d3fe12b4134a1dc9e348704103eccf1233f81bbad3464eb54359220883d3667173f238350358c5d8835ae6c9d3c6becef3ee8e63635c03bc8359eb6a337e56fb43e0fb7e1356eaa09353e0a1235a2b17e3eb9a60a35f277c4348e280735b4200a3ec966c634245f0337b54e3d37ffb9213d3fd61037b97d6137294d6238e1c0103c186a5837aba3a53583e39037001f963cb3df7434f53bed344cb71638fdb1c13c0642bf3465c1ae366edf6638da5fe33c614edb36ff07833565948035086bc23c505cf734dd1b9535f2fc243780bc133dbfd57736a0f5dd3691530338b54cfd3ca6771b37516d9d35f8537a362fb9203df9702f36ac7743334106343648cb023d63470136394a6e37f1c7333e4d713f3f11f93d37f71af6358889033e41a8453fe46c3c34aae2ea34d827733dd10f473fdf5ab734c60ac736cdece23b5dea2f3f33e4a83688108035d616f237a2cf063f51ffc6347cf4003657a347386323c43e298afa3502a6e936b71bbd388fc2713e9f4cd0366865de35e588b03692a3d13d3a168734448f9334b4856d377d07e13c437e8534664e6a34e8b760347edbc83bb581983321106d36f8b21538a9a4a43a1b039b340884383183c382370f331039655053312a55ad339dd296338bdd8839950f26329fb0a335ea92f935478fec3bc9b00235ac32903313013c3389f8763c1820be3222d1ba33510bad33ff08013db13a6a335f419b34d7e5933469dc3c3d64d106344726c236cecee536713cf23c2718903600d06134081c623d8b0d643f5f6a27334c328736c61be6384e40703f99d27d34dca93c318fb9a738f0d46d3f41245531ee2a9f33a75e3a383816423fd2f8c2316199a3350db13e38e3c3123fba31f8341e306233b3460f383639cf3e50dd983259bab433c2c55938a9ac643eb7435133a4f695349e195d38f148643d7c51e933e7c7c4363f752d381f39e53cd2cd0e360000000000000000000000000000000053da24346c0e3a3450af95366aea5b34474dd833b95ff4330d2d3f37dd436937eb9f883487938d34768740353bd37735cf24ee359707f1357a51d6359172b2357a000f3558f71135d23137383d990e35f852d7358214e835cfd34c3801d4c034c2233235c3b5da34177de83b417a68340000000000000000000000000000000000000000000000000000803f00000000611c29341eab3f3492d17f3fb40961341f68de338cc7fe33575c573f8db2973682fe89347a9ad634fdc02e3f8a5684359558f135264aef35048c053fa450ab35f8361035aa111535f2ffb83ec5f90e350483e9356e982637799a483e3b73a034e4a91f35cfc49334bc1a463d6a886634000000000000000000000000000000000000000000000000000000000000000057ecf7347cba6d3524b3c03542739f355fdf2d359b4e0c35039d5235a6414c350e9ed932fda8fa329328083383da5133f0ae0a34e78f89348ccc9d340a0da934a13b04354790b3340c0ff3342836ea3470e285311ec35337a46f8731bc0eca31000000008ae7be35000000000000000000000000000000000000000000000000000000000000803f00000000000000001cdfdc34642b7a3f49f207374b24a73509622a35d4f7613ff13d613592af86350e74df32479c373f257b1033b05733333d9a0234a0ce023fb0831235fa8c1435a2ddcf3483dfa03e49b50e35960520354979b236a26f0a3e98c596378bf4db31000000008fa5c53cc9b1a8310000000000000000000000000000000000000000b7a547346b45e0349199c736d85dbd34000000000000000000000000000000006da1ca343acb8634bfa4e634a42e5735c0acda349c9a1f3589c38435dd246335f71fb2349a83f933249da9365a6bdd3493f54c34bbbb8134c3f4b13428c81435ca1ec035faebbe36eeac33365742fe3566f7583599e72d3782d79537b7fb3d3582e9cf350b25b735da78b835fc62af3591eb5034a4e8783f5a0d0f3d0b42be3400000000a388663fb7513a3d0000000010d6533435d1523f012eaa3c92bd363562f0ee34c310253f9b9b023c1da557352db50e34f6e0eb3e6067cf3b98a9b434747f1834e2508f3e6a90ac3b4d11b434ef60a535503cdc3d9bde633b1dc50b3633dd1f35bdb68739bbd2693c41032e35a2bfa83568e19a37f5b96338728aa3351b7d613278b80635cfaf8737b1706532db5c213402061534b6992e34df2d4634f8846634bb0561354aa2fd35dc51d5355408c735a3412036b51e3436184831362cf89a35e9b03e35c0645535aabb5a358c9ae7355af5e23519cc0c36f72ee035fd9448369f8804371f9d9836c35d4836556bba33558c8333cffb8d3369c89034000000000000000000000000000000008e642a328d165a3f90581e3e2b5850322ad50434a0324e3f58d9363e7f953634b1247d3212f9313f7039133e1215a735733eb6354c99033fcec2103ec42c3636131a893590f5af3ee520ff3d79091c35fc7594352e56243e19b9093ef507d1352e0d3a36f5dedc3bc497db3dbd024b3656eb8533081589382938033dd0067f3300000000000000004a669a3a000000000000000000000000bc04dd3700000000000000000000000037d9c33700000000e53fb835beae12365f0227362f7e3436d19bec34229c7333f9e19b3513e8a23562623a35a33f2c354c186635378d6b35bb7e49361b176c3672607f36febf8036e53a50354c6b1438897d27388f5bd735000000000000000000000000000000000bfd9e3581235a35cc4a5b35e19b803500000000bf70313f4099a33e000000000000000098bf243f0905b23e000000006b6fa535e11b083f9301ab3e569b293600000000c793bf3e9ad49a3e74fe1d349afefa34b808623ee79f8c3e73b16a3517fa3f366a77bb3d70fe5a3ecf9f7c36811ac033359fc53b501b053ed1a07b35000000001653e7365065f63c000000005cb6143591a52b3572e7b0399d37683571573535a1eee537794a0138806034358e8f0434910ccb37118bdf37000000004cb32f35361825372562b5369c6c6d352a9a2e35d7801f376b306d364de724357cc7a03479f2aa37e0d025378b987e3461e153355e526337ef927436397b9735bbfc1c354e16fc372ff7c3373a1f1f353b446a33f21b27388c5c32380be18f333be5a735a4fb823703ef97370c409535a5d03035ee5c013f229c013f477a1135cdc9ad32ca5ceb3e1664073f00000000a9650835e925ba3e55a1033ff7d92b35aedb3535030d6d3eede1f23e25df0535a5e64e3480af073e997ebe3ec8b21a34369935352807143dee9a8c3ed7605b354e1d2135f3e3493ba4d0073ecdd0fc3400000000c5d2d0389f96b23c9a37863277d98c3510a37538b37dd83a86e8743580ea4e3552a38736d070e135dec08d34000000000000000000000000000000006333b53561bb88367536b835df466d35f6dd86365c1b8336a53079369d276c3680e1a935ff863a3502641e353ded2e35d70dc235617ea435fc669535c03b4d35ed5441369715dd374a382a37eb27363600000000e1c20338b28621380000000000000000a2153c368bfc4c37000000005d2c0035137ba13ecc58323f0000000000000000ef69933ef2e2313f00000000f4e654359d7e403ee3f22f3f4df9b3335cd3843639b6d63d31a41a3f30bc3b3654a4a0356d465b3df9a3ee3ecd0adf34459e6e359125133d84269a3e8e59b634891950363707e73bf85b0f3ec6e80936000000003ca3033a90048e3c0000000000000000f1b95b3813f09b3a0000000000000000143b963708e02d3600000000e6d5c83489f9ed3799527c33cbc43a338a572b36d27f44379d6a1236514f333693dea935a71ca735c4bbdc35829f0c3691c390356d905a35c20c5d356ace4f35b9bb1e367c052936d3111736a838253623eb5d358c8ca73741670836f2760536bc3e3d34b8cc2634b0982634f4321a3447c836352259d0363e287c37ea446f340000000061e21f3ed46c5a3f0000000000164033781ef63d63be5b3f864f8233ebb22b36acf3533db49e583f69ef0e363b7a3a35b232f73c4d9e303f9f574c35d3423c35956cf73c827d033f0d7d6935fe2314366001063d142da63ec1b20b36d0860035ed242b3d1ad6073ea1a53535dded223464df053c1367923c3c5b25346c6d62344c35bf3ad4ea683a1e2b4a32ae3e89355729b5370c23bb3603347735a1f54b35caa29935d0d32335e08909350be3f035cc4ae8356657ea353ec80036e407b73441958c34059488340dd18334cb15fc3416597b3730c58234d07aa734ab3482354d345f35cbe84f35b57b8a35c929ad344d27143749f301355c39f1340000000032d709376a682c37000000000bcf4835dcf70f37e7789f36ccef393593b18535ff82003d04c87a3f0ddc48353c242b3523bdeb3ba95e7b3f5aecb03478cc1136baa14338ed87653f1d166935fd87c2344a419238a488393fa8434e349df9de3452fb413acd270a3f89ff4e34b6eb9c353783e43ba7fbb23e84cb2135cce00e35f671113cc62a203e325db334000000009f0cab3a87c06e3d0000000064572e351116003a2d14483ade67e7340000000000000000000000000000000000000000000000000000000000000000223a2f3250833732d1a00432a9ae8d3166f2c234eed4e2345372f934eff01b3529935e3471a88034f45e61348a403e3426485033502334335a2c37330bb7333312212a3534603c3592314835491e763599e0c13542c69535fb608435a0e3b2350000000000000000000000000000000000000000000000000000803f0000000000000000000000000ee87b3f00000000f61a46328a6f25327025603f650a37313e270735b401de34105d323f4d2b1835a174163544eed534a200ff3e024d2e340471723380bb443358c4973e74144233806e66353d436135d924003e04b664354527c135a1d96636fbacf13ced79853500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f98f35c847ed353cd8f63552cdd335000000004ba44e345e44ff33aca6003302cfef336e51c3347f45e1343ebd0335c4af85350989f1350889d035ccf9b335a2878d333a859c33d1c68d33fc5b843345d7ff32d70f0433edea173375b30a3300000000000000000000000000000000000000000000803f0000000000000000000000009cbc713f0000000000000000d3189e3544de5c3fa8b4f8359820dd357481f432801e2f3fb61bd9336d161c33db6415349f58fb3ee57f0635f111373559b19e3597d2993e8c1fcb350a42cf35fd2190331ab8e33d47a3d433dd0a6733655adf32d291be3a5b5e23331c401d33000000000000000000000000000000000000000000000000095b1f3b000000000000000000000000f7aa033a6ffd3a34262d0e3429d08a341038c6344de5b1340000000000000000000000000000000088a1dd34c8413f3583510b3a454b6035d44e49343c62b534cd5ca33464cd8c34446c6b307dfb733473a407356c772135000000004d233a3229b0c133143c273400000000000000000bad773800000000000000000129673fb04b653d0000000000000000683a4e3f3382923db219383495531c34ce2d333faded903dce05da3400000000079b033fb3175f3d00000000305d7e34cb87a93e4939da3c428e8f353539af34ea48193e3373323c24589534d7af7a30aa732435d2d1ae3ccca70035000000008e98c133ff60233dc15b1f34000000000000000069ee183d000000000000000000000000c182573d0000000000000000000000001a1bdb3c00000000000000000000000088d3bc3a0000000000000000000000001dd7f639000000001b6d9033c3242735ccc5383ac7e59233000000000000000074faaa300000000000000000039b0932df53d239bf80fe330000000000000000ed9cbc3506545e35000000000000000067e32f3a0000000000000000628c423f31e41e3e0000000000000000be842c3fe335493e0000000000000000b2e5053ff19b483e0000000000000000a141aa3e27533e3e00000000b02b9a3395922a3e9df6313ec9269d3300000000b7ab143af2c23c3e0000000000000000b9cd913414102c3edbf49d3300000000830145349434f53d58038f33000000002c20dd345cb6ae3d000000000000000000000000aeb6883d000000000000000000000000bc5a7f3c000000006374dc33d1a333356b8deb3aa3f6113500000000000000001bdaa439000000000000000000000000ed180f390000000000000000dd10b5342b7ce63486549034000000000000000000000000000000000000000000000000000000000000000000000000000000006042cb390000000000000000ed5f173f3b10993e0000000000000000bbcff13e6944b23e0000000057a24234302bad3e642ab43e06b21035000000001432373ebce2ae3e00000000000000004f758d3c289bb23e0000000000000000786e1e354c1da93e9353ba3400000000b9243d3168098e3e000000000000000000000000380e383e000000000000000000000000aea2c23d000000000000000000000000c1066f3d0000000000000000000000009eb3b93b8ef903339366d734e8280135c418713ad85ac0340000000000000000396ae639000000003e1c4c34986ce534f2f6923a9d569c34000000000000000079359839000000007c01ad3436bee63438dbe6392a9d093500000000000000007165883a00000000000000000000000093cb943a0000000000000000b311d03eb774ed3e0000000000000000dcbd9d3e6394003f00000000aa33cb34541d473ed0ac023f3a17a3340000000053d5493d9500033f00000000d43ce133ceb14d3a4111013fa4249f340000000086f6fe3374a7e53e000000002257983462ef2035fe859b3eac9abc3400000000ad9c1832d565493e000000000000000000000000ec5aaa3d000000000000000000000000c9fe0a3c0000000000000000000000006db1473b000000000000000000000000a30a8a3900000000a9619e3487510a35431fc93492387a3400000000000000005de576350000000000000000000000003e370a3800000000432326355be2453562441a3aa0f80f350000000000000000ff684f3a000000000000000000000000c77ec43a000000000000000021a6813eefa0273f00000000000000008a522b3e72f2283f0000000000000000258e783d8f902b3f000000009ec0c034d7151f38e0812d3f0000000000000000f2b317360e93243f00000000000000000000000020fbf83e00000000b0ff39356e687a356546a33efffb6f340000000000000000a800343e00000000000000000000000050754b3d000000000000000000ac11357f35873b00000000000000000ae4bd3558149d3a0000000000000000f54ec233ca6b6c390000000000000000000000000000000000000000bb1fa633471a4433b0d0613324b79033000000000000000000000000000000000000000000000000f855083a000000000000000000000000e9822b3b000000000000000000000000d1f0353b00000000000000009ebadf3d97a74e3f0000000000000000b799933dc5d6503f00000000000000002c7a5b3a289a563f000000000000000000000000f6f8513f00000000119287336fe39a3459022b3ff1fba03300000000000000003710fa3e000000000000000000000000c883933e000000000000000000000000f3eae03d0000000000000000000000004d15233d0000000000000000000000009ac3b43a00000000273e8b33f7620c34b0ae5139e1148b3311042b35c46f0335020cd43408ff1934373bda3467fc6134c4350834b37c44349504623561438135681760352e661e35000000000000000000000000000000008b4817355f98bb34c403a3379c055e34f1c3b533051e20344d63c339863cbc330000000000000000655fc9390000000000000000a49ea63c1bb4723f000000009cdde5331757b93950d6763f000000006bbb1e3539342735c3937b3f203f71304b63ee345cc5d0344d2c583fbd8d17341bf75635013495355df5253f6481f134000000003591ff3019aae03e000000001c461135fce5d9346107713e7226f733c2a3253499961534cb4a033e00000000000000000000000040dc313d000000000000000000000000000000000000000025b15033aebf3333d2535e32ed44b232972a0034ace371339479a833a2db90337e82d435cae4c535aa37cd351721d4358afeff343a73203515bed034529ec03401570434c66a1d33e454a13314450834edb2fd35e2ddfd359b2a09364e59e635000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000006dfb313383c5f6322b7e803fe1dbd3326e4c4133f1de4c336bdf643f89ed8a33787ce135d997c9350b8a343fa3c08935edd9ef348de40d359037043fc3948934df21b23200000000b330a43e61473d33aa7c0436175701369a8c113e8fa78e3500000000000000005217793d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007903e38000000000000000031b3ed30b8a4e8380f750332000000000000000019a4743800000000000000005a348538f01ca13800000000000000005c3c46386b4bd437000000006cb0ac3389b14938000000000000000000000000005993381df768380000000000000000000000000000000000000000000000000000803f0000000000000000000000007a866d3f5cc018340000000000000000fb4f553fd2acf837c96f1f32000000008c15263f0000000000000000000000000c18f43e89a0e935000000000000000033b2a03e000000000000000021492d341623f13d000000000000000000000000ddc6c23a000000000000000000000000000000000000000000000000a8005d33c22a2d37f97a413daf129e3297cd823040955e36fdf9783ded76223100000000000000000c28743d9d202233e92e5032f4aaa43295a3443d8a9e9a33a3221132548b40374f53c53c6615aa3200000000c4116c376d3d0b3cf6b598346edf25323ea38732c9ce4c3c2c4fc3320000000000000000f798ba3cb603a731000000000000000082ba7f3cb3745634a56dc7339bf5553f6ccf22393f5f703385f19330836a3c3fa74ae838169c213100000000367a183f93d2f638000000003c276d326801d43e2a0f1c397e9541333f2a2232000b723e53f4033984cdad320000000026fa1e3dca81ed386eed443403243d32809e8538183d193985b5c53200000000a36c1838839c213d5fd93a320000000000000000515eaf3d74ab4c348ac0b9349f7312375864ef3d69438f34873e2433210495373d90033e1a8fea33000000007a3b453433caeb3d6f089e3424d567349acfc337d6d3ee3dd02d483441e6b03492857138afe3003efbc5203500000000d6910734b463c43db857a2340000000000000000eb376d3d34b81a320000000000000000c7b6273d4acf843724515f342cfb0d35df00a43c3a01a83692b1dc3465ad273f11f55e3d1870b834e44d6a331cb4fe3ec989283d87ec1f34963cc532d2b3b33edb13453d98249834ff5a9b340668343eeed2223d198b7534a2bd0d35d5797c3c7ccd533de45a2a3500000000d22fe23858c0c43d6f87ae3400000000b7f6743735b8273ee458843300000000eebdd13764de483ef226d333101aa2348b531e3582942b3ea000803548553f35c20ca735bf69563e8f35053500000000f0cbb236c724683e00000000000000009e08bd351b5f483e00000000531f10334f75ad36fe8e403e0000000000000000000000004bfe113e000000000000000000000000c349c43d00000000f4f70034dc638a341d6f843df8c68a335626b7323525d233c0cb173d73d0ce35b9ca8033680b2e34d933d23c35f4d3357e45373541c7d33eabbad93d338bf334000000004e8d853e2dd9b83d00000000000000002683173ea851033e000000001d8e2733ec7e033cce7f1c3e0000000000000000b7d6ce38daf6493e00000000000000009f070c38d4eb8b3e00000000a466d533f6727e34675ca63eb3bfe4320a7fbd3204c0b2355709a83e22b4fd3359fa9333101de634db56653e1d539a34b91e34350792b837b3b5633eca04f033000000000cf694373b916d3e000000000000000085b3e1354d20403e00000000c3379634de63283548411c3ef6ac583400000000000000005d72ef3d00000000ff3d6e3384ce893453d3993de4ac1b3500000000000000002acb773d000000000000000000000000ab37433d518b6436a6a20a32ae3d3333c75c223d92ef2737487a34350398813e9e2b7e3e3b56ab330000000007cff43d21107c3e0000000000000000c9c72b3d53119a3e0000000014eecb342f16c138f34fa53eb580053400000000676b5938543cc63e0000000021d6c83314245138ee65ea3eded7fb34000000002fe8fd36f289d53e000000000000000012a32a37bd08ba3e000000003ca7b93283c53a388b3f7b3ed20c2c35bfbd9234914674376ecc493ea3b021340532f23370f1a237555e3b3eaaabbd3300000000d77fe6338b5dfc3d19ac3034000000000000000002349e3d000000000000000000000000d19f3d3d00000000000000000000000091d4423dcd82513300000000000000007c4e563d000000000000000000000000b731953d0000000076b5a834267b0835143f7b3d63d1723506d5ae341aba083e54b3db3eb754df33ae1b0d342937993c964be13e892777330000000003f497388485fd3edea91934000000008c102c38608b0f3f000000000000000060b6983802081f3f0000000000000000a7e0b637b1131c3f982d663300000000d1ed8337c175f73e0000000000000000b4698d379d0bb73e00000000db82cc3449ee1635697f5e3e64064035949b8e35d9487837f9f3ac3d6ea00735a6de1b34e5a80438723c993d0000000018af88341d60013364300c3d000000007695b734c022f6343ed39e3c2f2cd433e23f4935db032f35957c273dabb28437560ab1348749b433f696583db18e7e36e22c9e34324bdb34c3a88f3dde081f34207f3734fe0816341d88b03d043da836cba40035613c50346099a03debe7b435552c8035d6cc8f3dae272a3fc723e034fa290b34eda2bb3b3a57303f00000000c1e42d344bb9c53877f93f3f000000006a41a834fa7adb384e3c4b3faa7c0c3307a030358dc0a838f56b453f4387413513d98e34259f5f38d8c01e3fe834ba3403c58934cbc4a43597fad73e3ce0e033ba03fe33773588384990813e3f363f338acce8348af12a38525cd03d3642f634bb12443421f7e13320895f3d0000000013bbd632c0d0c831f586153d000000007755d5322e5694335b34b139405689326917c7320ec36d34499f1c3900000000813ebc3287a3a332a5eb283900db6632a8020533f2300a34f7e4bf3cf275a7320000000043873831286f743d000000009dcd2e315dd51a3124868a3ddd70db300c73bf33563af83294f11d3d6a318a35ccb08d343c29bb38f0e5593f000000005b809c32deabcd388ba8673f00000000f3363d33cd09d03781af7d3fa53765329fded033c5e49f3525a2743f000000008912b332d9e89932cc533e3fa3f04132cdf4b233a93b8136eaf2043f09018e3200000000f7fd0733bd25953e00000000060e27317c7b173412f70f3e4ad6b1300ab9d6332c101c38d507ac3da22f3634000000000000000000000000000000000000000000000000982883383eea29380000000000000000000000009adfb8370000000000000000ad3ded375dce1f380000000000000000276c9938e50925380000000000000000814a813800000000c4774932af2c093225df3239890156300000000000000000e5ee6b38000000000000000000000000000000000000000000000000000000000000803f0000000000000000000000003b67803f0000000000000000000000000ab8623f6b8a29340000000000000000ccf2303f1e08b0360000000000000000a011073f000000000000000000000000270bb63e0000000092d137323a32f331cda02e3ee7ec52300000000000000000dfa59c3d00000000000000000000000000000000000000000000000000000000000000000000000019c3ea350b453136c61771370e169d373e7c3a37e0eb35374eafcf3799da11388264b6372539ab3797490c38b16a223877cbe83718b4d73724db1038c3a43d38974baa37af7797370b78d837b8cf0d380802eb37ba6af53734090c38ebe713380d6a073725f0703770e678377df2783700000000000000000000000000000000000000000000803f0000000000000000ce7ba035b5f27f3f257dc0376e79833700f9e036a77c553f9cdf7238c5a2dd3794d9a13707072b3f12f543380dac0e3846ecca3739f6fe3eb47d8f396e481738505b92377c29a83e788832383085e937ea60be37bcda243eb59e2b3807560c38baa2ad361fc318387328aa37b0a14e37000000000000000000000000000000008a942736f1afd8375485513888982038b4e35b3691f86736d4aea8370f7ab637fad1d4366fbbd536a3ad2637ec0bb837dfd28e360fe4b1363ecff5372f1e143872afe536b1ede336c6b71437476f4f3778ab52372ec758374f46a63766d904388df3fe36dd70313793d0bf371ea7f4376085eb365d0cf53643684437f5cb5337ecf5dd36cec51a37dc5795374630aa3705c9bc35f0627e3f8641c43bd2c6a137f594443658b7783fa968e73cc4833c377d11cb36a3404f3f0da7dc3c8e84053783f388368dde263f63c09e3caaa1da37c610da3655a6f93e458e753cda2e183718b73237e91ba43e26ec413a7cec86370cf79b367d6f1f3eef5b033aa5d7a1371e2ee936873cba37a91d9437c851213755569f36d97e86372522c9370c738937f5732836975f8a371216173833ae8b37161dbb3636cbf6364cd2873709c3793746189c35de80e7362e42be378f4bc63791490f37bebb37375e33a237d036be374f26c8360da42a374af0dd378ca0f337c6860a37d3182a37ab6dba376f52c137283e0c3763113e37883ba237a0f4943738eedf36d1fc4d37cf278537f8127a3777e36337258cba37f1a524385f231c3813851b36cec0533fb9b3303e5a2b3d36e3aaad3695f8503fd9013c3e7898c7364f77753540582a3f476e363e7464393744ac6f3650e90e3f7644073e49427c37f8d3113597bad03ee40dbd3d86aa7b37a48cd8358140893e5911313ddff9593770f68336d275103e64af8639b54e5237694af8352a2ce137e7f2e937eee53e379e3d8e3679da21389de5563850d0c537faa096338c13d937877b4e38b14a6137f6a7e9357621043681557037887b0636113bc336ef697337239fe4377d1ac8374234f33673566237ba82fd37250deb3787727436fe81193732efcb379c78b9374cdc02361a95b43655838137e7886b3723ca7936878e82368a3367371f30a0364aecb5368dbe0837fd897e377b3125372ff99f37a2f5dd370ae20538af0cfc3762c69033a2b4293f1f6bac3ef577c3339ad4bc35ec03283fcbdbaf3e81c3e2357f308e360021103fd8179b3e8aaebd36fc061436cad5e43e8690753e32720a37361f6436470ca83e5e32303ec3f275364cd8f33506df563e827fd43d9c7f01362ef82f364ffbc83d7268143d832b6f3666524836bec6de37c7f21538f16cb136032d1a371df407389a642438de59b637cf972e370e4b27384de35e38eb31bb373a604337932d8937c464c637820a8237cf2674371ac7b437b95c0538b4f9b83736ff0637159e7f37c854c4377f29a63726f67d37efe9a437756a083866d6f237edfe593716d4a537fea2d8370aaeb1372974aa373382ef37a87b163888c9ee379c348437dee1ae374c86cc37f270a4376c32ca37671105388f6c19380060043800ba2b361082fe3e07a6003f27b72c36d56ac136fde6fc3e4282013f1731e03627961337b760d73ee610de3e6d561e372c2fa83668acab3ee9b7b33ee6acb83606bfb23699df793ead03833e56efb3367079bf367f4d183e7ab7283ee700d03656bd42378203873d7ceba23d73cd68379ff444370881fb3772f30c3882df5b37ac5f60378b00293823754438dc19a2372c058437cc780c38762b32384ada96377e4f9836ef2a0b37674160372aaea7368bfe793618e17e36dc428736ca437e3600fb6936ca95ed3609db1c372230bf36a5fd8e378750923783f6ae3750f67437b2b7bb37984dcb373599d23704d0ab374381c2379ffae237633ee937a539ab371eed0236118cc736156f4637cfec0336077481378a6aaf373ac0e3378b4f92379cd45936cb87a93ea1272b3f68adc7355fa8de3530a0a93ed1262b3fb9e6d435f9331e360329933e9502143f25410b360099e5358406653edfe0ec3ef523e435982d6e3609ca213e36d6ae3e06476a361ca4353700fab33df1b0663e8f0c7f36fe243237301dac3cdc27e73d9bcebf362f25fc354c11ce37957d0b389c27fe352be05136c3cdf7379ad737388d9f78367306ad3710063a38ce87753803f74537dfcb333700745b37ed5154375f68d036802c6437d65b4b37e11833379c982537b0738b3763637a3704a84637d782383717a3ca37104db0372d719f3706f78237d361ad376373a13724d38f37da0e81378147c437acbdbe37f74ab637936e7037169d7a37c95883375ca688370abf2b3784fa8437248f9f3787f3b537992e3c37914e3937a9af2a3e693a553fc8c3a93525705636112f2f3e6226543f2e9cbe3535990d372ba6273e69e0313f085e1e36bb9a2037a586ee3da878123f0e08cf350fd04537e17da23dfe3bd73e5bc9253528c38737799edd3c3da2903efc75dd36134a7f374ed7f53903891f3e40d5a835248c3837661fa1373b1413384999c43654bdff362effce3752c80238b5ed3436ed4970372644ab371a25aa379acedb369e7f35370204f636e183ee361520ed361ea4b4371b977b379899f6366eb715371219da37c3c36f37f1fe5437b340683757853137920f0f374d6be9363078f636c8ac093805afe337a3c49f37e26d9a3722638b377ab40b3757a4033756b3fd36add8a8373d0d9e370d699d37524709379fb71b3848481738931106389c85a4377d3520375236523880f17f3f503f2436a16af4365627833c53dd7b3f74afdc360cf358370375903c3578533f7ceb733665967537f4f6393cf9cf2a3fc76a2e3768381537241005382798fe3ed429e336057dd33759ac3e3a6ae2a73e78999436db0106377b4c2538184c273ef718d9361e85713711e3db370aaa1f3801806c36a284d6372bcd273882533838a0a5a33600000000000000000000000000000000621f6837fa6ec73639ccb5368ba9ee3606fd1738d6bce0379205aa372637fd371d211038f64eb9373fb97f370cacd737d1ef3a386e5efe3749e5e437fec90f3846e920380bfc013847f0f737321b1438b7120238e28cd5376ebecb37e886d937d2aba337198a88370bc6a5374a5384370000000000000000000000000000000000000000000000000000803f00000000b0f800370490b5378cf27f3f17e37136ced90538dc712838a6b2563f7c26a737ce5fe037b17925380bd92b3f3e139e37a21f1038f096ec387457003ffff1f63720f61238fc512d38ddb6a93ed105ed374150e537dd0e1338dfc0293ebe2f9537d1a698376f12983788e50f3897b20937000000000000000000000000000000000000000000000000000000000000000024b590367028f437ab375438a132cf3778d53e3652d70138d7a02338019906387e7c6537f61a0438fe3c823859a90b38d7802e37d8760a3892ccda38beae113880cf9c37049b0c3842e3b638f9701c380c25703732edf537d48b0b381d01ef37f7bab73659cbe2374949fc37ca899d3700000000000000000000000000000000000000000000803f000000000000000017cfa1363c086f3f50b1b639d782aa373ca2a2368976493fa7e590381b0bd83739149437138f243f7905cf39d097f33745565c37a7b8fe3eb514c439097aed37c59f96376e74b43eaaeab3393268053853f06f37f19b553e90a71e38dd07d037b3aea0366fe3763db5220e38b0e85a3700000000000000000000000000000000190c373517c6ec37c8681938f2789537d6782a36f9209237077553391d9b6f37e57132363b1ab73719415538fc9eda37aae3cf3662d2bc379c4d57380f211738b8882937ad9cda376aea083a2ea653391fa6aa359fbb733775b41938235ac5370055df361a6147373960d337df636f37f2ecc836a868d437d2382b38865fd637e88cc735e800da376eec2838a52cf137179d3235e1936b3fb1bda23d8d48163784c32236026f5b3f7544993d70d6073714bd31369b64393f7509933daa206a376b37c736fb0f193f8d30763d296ab637df0e2237f29feb3e8859243d9cefd237d204813578a7a73e4fd4943c0f8e903762abdd3639be473ef9a384387956353746fdc936d5a6693d945c9d39fb889037b2d3a835dfba24380a7c4838b6cac13703703637ed1a443939e94c3a2c0fcb37471e9c35ce36c437b333083afc44a635d296f03629acde37b2e99f386b0ee837651766361e45d2374df9b139e3a2cd37d08d0e368664953871767d3ae1c85f3992550a36d34b1538b738ad3922bc193889ae8c362c3fca376cdd47381954c037365f9835a5b2813733b91b39404d4d374d05d23624b3eb377b0f413a4497d0370f342d37a476483fe80d5c3e4c868c3795309b35cff3393fdada583e0dcfa4357e04a436270c1d3f3224413e173ebb37d2286536f0c8013fe175193e1e5bad369b93c3342224c63e722ae63d8c1cdf37140e0936e2c68b3ef873943d44937d3783083b367075253e5c97193d400a42373baca135d514393dbf0b203a88089a36a986ca3652a0dd39b89c7c3adca57b37959c49360d5a9539b230713af929bb36e1ad9a353543ed37c2b6673a2b8e253771f79236590e33377eb13138fc650d3737a4053652ccb93748c9133a993c8437cac18c36def6b437bf78ed39b9323937d9cd0c37ddb08c37c80a9b3928cb7b3712fdc036d257c33724811b38a4df6a3757725f36adcb1637eac8af396ea5e93698cc8c377ce30c38177196396ebcf73761753f36cfae233f5d66b73e24586b366b0e9735dc09193f8a41b23ef35a9a355f228d36a7ef013f151b993ef0e7af361a8af2352e49d23e3a98783e6bb58936a72b5c361297a13eb8a53c3ee75bfa3625c8033772825e3e9194023e723a493723bfb9365773ff3d2b54913d12d6c736bb7826363490ef3cdee17b3c04edb036e9d58237a14d2c38f010f539f72db137c1ad49352b234338a88e3e3a1614673749c8b236d08844382b4f183a14fc1d3772d0163612b2323878ae9b3814217237e0e8e63688c7e83766e91b38979aaa37cdb361377e546038783fca38c9cc1d3811b9403770b5e63766a710389ed1a33790603a3683372e38180d7a38e700853758630137b2dc1538f663823859481d37d8cae53618aa0338ef39b038a8e1b237db95453545fdfd3e3eaa003f0ac74c35c85ca9369ffdee3ea5c8f53e66d0c536d0b80936b2d5c73e0e08d13e486e2636e8a3b036b7d7a23e4bf5ab3e0f111f37e0580537178d783e289f833eaeb391373817ec367e98263ec49e3b3e5225363785a52a36095ebb3da4cfe03dc4b53536943de636cc226f3c5eec1a3d0a2dff3622189435ae4336389015853959f844373f419137f0fefb380a41113c2634a1370ca63f364c7834373a5a883a6a49bc36b3a5bd36b443ea371b542e381cead03678d6343794019537a4e9e539e6726137358ef236ff5edb3779cad9393e191b37ad32a236ecc2dd37786fc03934640737b593bf368d8b8837e9bf07384be5bc36a55746367618e437bb98a939c1a69936fc0da336f13f8b37838cd9391df7bf3617b0863776fdb23e44fb233f60ab683774570036e934ac3e611a1e3f21a80136bfb0b43671ef8f3e59e1053f4554b73679f5133716a2663ec3b8db3e38280a37db4eb53611f72a3e6422aa3ef0cea3366ef877367902dc3d10b7733ee6971936429fb836f8214d3dfb89123e6aaba8366404a135c7b6a43929df563df5daa43526729036544a9638b12c203ae6839036de72f036d700333a5a3bfb3b189be3361e18cb352fa80038dad74c3a916da8353baa2d3795061038edf962384ee21637d43e5e370a25583827a1a839f1d428375a03db3749b2033a41095f3abd60c037628d1d372d8c1c381d6b91382b596e3621b3d437cb811938d9006038a0cea037b6f8a3353922cb37fa0e2438c055a1352918ba3749e52f386f2ab539e1f794379090ea36367d523ebdaa483f0829c3360a1cc635d3fd523ea3453f3fb34c963560720e37d43a323e6a6a203f357e5f36e7fcfa3678dd063eb2a1053ff2180a36211aaf37fd57c63d0053cd3ed0892137b9c0aa3679c6583d3e57943e1ea069367e11c437e54c953cd5b2373e74ae5f37de3da335534e2738fa857a3d93c89e3587519f37f4506938ad310e3a21bf8137580672375be21d38d1817039d6850637a886123704c91138dc3c003a729cce3640ce3437635e8537744908389907ee36223f8f371d2ad037b46f0e388794b3365b75013807063739c9388e3966088437d8dfe537c4bc1d38f1452e38f89533379391a837f4a70638eb231c38f2bd7d36c83b3a37fbf2af37ee2b1338129aad36c7308b37bd6ad037ac6f0038d5fedc365fe54037c2a2873d0beb6e3fb9989435c337fe367ee18e3d944e5f3f4ce8c536cd6afc36470e7f3d4f113e3fe2f0db367d894e375cf6353d8a1c1c3fbb890836d085ac37eb53e13c811af13e523d4037cd64a23758e31439baedae3e5d63f936f2a75937e4574638979c503ee6fc5a36dbb51937184efb3740848a3d6e476b367c6a48372d0edf37922012385eb03a3500000000000000000000000000000000eb891d37742fa8378f2c2c3876678b3778f2cc37167ae6370f4714383076d837c2880b38faee0d386cb67f38f3be0038981f0038ba0a08382fcb2438d35df63766290238286e0438f5f71138c59ee5378442f3376d4ff5370b0918380a78be3745b2c0374ff8d43708c40438881a9a370000000000000000000000000000000000000000000000000000803f0000000029e8c736fc3c1a387a7d703ff9c12537d1a1af372be41d387e844a3f678cbc375617f537de857239fe88253fce87d3379b35d53702912139e367003fd99acd376230e737030624384969b63ec457cc379f8ece37c85b14384eab593ea08d8237199fb8379445f0378586863d6194673700000000000000000000000000000000000000000000000000000000000000004cbf1e380ace633a175f443ad5e994391ec32638dfecaa391377a839963f44396d0d0e39797cef398b03ec39976ba53927d2913892f7b3397035a839da253e39f458a2382cca483a6793493ae6cee439d4626639a9bc033ad640fe395a8fa339fb775c383813e03945ebce390b7e3c3900000000000000000000000000000000000000000000803f0000000000000000d456e3381692603f23a94f3a1c4a6939d75050382181403f730acb39e6840e395ac355394adc1f3fe46cfb3982978839924d0439c719ff3e48fdb139ded21539a5d64d392408bd3e505b513a92b5b839c3f67e39d3f2783ea150fd3913de8939848777381608f03dd2ddc639cc280839000000000000000000000000000000002eb6363756aae839ad8cdc39d73f2f39144ad13745a6e3398ba1fa3903551f39a70bab37c8b00b3a4702663aa68aa2382e2b2238cb133e3abca86a3ae2da0a3a58073238fb42273a382e373aae62e03993036e37d8585c3924f8d7390e4c9d3701ee3139ecab463ab682843a74fb033adea1b9377089a8392e69043a1c540939c68f50371218f5391b2b393ad89c2f3852ab5a380a74613fb78eed3d20450739f52a0338257f473f31fad63d59d73a384359dd37baf8283f7a4dae3d2ca32538a6701e39088e0d3f3ba2943ddb55e0392f650539873ee13eeafe6d3d35e1b639e6d27937ad0aa93e1af72a3d2e3596377a4e5f39035b5f3e9325c13c14aad939c2a3d237c994e23daa280a3a498d4538c8106737644f4a3ab5cf343ad6c0c137658d3e38e6df1f3ace50363ade029d3998861138ff5e373a456c9e3c01d3c3397b77b037d475293a6b3c953c8b57be396d125637ef2e003a0653983cd07b8739be24063980a2453a8b7f633a9cc60b3a2d78b337bdda043a7a2c2c3a63326439f8644e37ddb7ab398375f439c425bf38f6f1983943ff8c3af8609f3a37c1493a3f1ebf38a502283a85da453ab4c2e73905235538437f403fd9de783e5902473925bf15386578283fd2c8573e60d16d39991db8376b440f3f388a343e52507939fc0486378c8fed3e840a143ea3d404396cc74639d27ec03ec74df83db334e139be68c0371a95883e2bc6c13db29cac38edcf5937c549393e7d845d3da285923732f2af395300b63d47a1ce3c9958293a5944f5388c3a403a0714463ac689b8397cddca3790b7bc390494293a204f1638c6b82938f758013af0919e3cb68a0339f538c3362761cb3a898c143b77c3fa39095cdd374bf9483a1c91bd3abd665e394db9dd38d557523aa42e823af7d1073a78a5e037fb5c113a0b84713aa7df8f39d98dc7376921d6395b938c3ac28b3839af1b9d3814275a3a4122853a54a6043a05af3438bb80093a9f8f313a7a0a9439d1f3df379609203f6f4fbe3e6466ff37fa5a2f388de50b3f2c00a63e349136380f29da36aaf5f03eb0678f3e52f31139bcecf337656cc83e5b2c6f3e274e7e38a977133937689f3e663c3e3e7701c6393913e3374d596d3e7add0d3ecc97e6386273d8377f83173eabe0b03da4450f38c476f038c65d943d4687323d0eb1c139874135388652223a61dd343a9ce8433951c44a38d420db39bdc90b3afefd6d38df8681371296393a6348963c3b625438f2af08382b29123a35a1893a33c33038d8443f38551d2b3a71f5683a36d4b739e5644e386252a73902622c3abf97ea38d94b3f3857232b3afb4d603a5d4eab39ecff103843f1153a1c70743a82883638700e90377bd5f939b049913c23e8eb38d02c55381a6890393f77003adf61f338c43b5238c3eafe3ea979ff3e1e16613831bf9c3789ebd93e6122e53e3219cb37826012380604c13ea198c03e97be213820df4738545e9f3ef0bda03e2b1e4039301e5b38768a7c3e4c1b813e43ae7738c37f4b3833283b3e1a25403ecb5b2e39946d15383474f23d4404003eeb422338f172a1372ace283d0c0e453dfa78de370fa8593885dbbe39fe3e073a9ba66338136f2c386bc8103a1d494e3abca46239c2aacb38ad98613a7e3d993a894ae5393de6c837d755fe397235a43c855120380ce7e337b117153a7fcca03a00c455390d305f39046c513a1441853adabbf439ae6e0938d7253b3a98f1bc3a993f0a391ac586383d97bf3a0bb70f3ba92f53394d4730387508ea3989f42c3a8a794f3874dddf374ea490393b571c3ad0e91f38388e3538720dbd3e234a203f69fa483823f724394caba63ef5760d3f31cf7639251be037a5f18b3eb59cf03e7fa505385242e637e22d6c3e9841ca3e02ef1038661983391b863a3edc22a13e9b90a339410e0e389ba9093edc5b713ea30d143848848938a562ae3df2691f3e96ea6337112b313850d10d3d9a1e963d5fbb3c384dc7ea3721d4b139fc09243a86930c386aa3453979ae2b3a90e6673ac982b539c221dc3952058a3ac980ca3a7282303a40307537471fa339a5a7a43c60d2dc37477fb5373ba0ef398982403add393f39eb7ba73925883c3a137f713abc39f239e70d1b386b18ef3983a99c3c5273f638e8293b392513143ad9b9953c1fea7e39ee6d2939c62b273afab0a13c1279813938890839fa2c073ad3c83a3a14a6803999c367398fbc763e03b0403fc44a4e39c094f339733e593e57322a3ffe4af63951237d374b48363e28bf103f2d7f80376f53bc37671c1e3edd6bf63e4f2be93742a5b039db35f13dcf13c23eabedaf3988b2233895bd9c3d55148d3eff46ab37210d41398fc2373de470383e5fa4da385a443439852e3f3aebb9b53dc871a9384ccf1b3915c8133a08823e3ae161ed38b1778f37f868bd39373ba53a7ee6bc37c24a0c388607a1394b7e7b3a48be2638aa1b9e399289303a4192e33a1021013a3fac8f3775c4b93871e5723a75e0943762519639826d113af9ba4d3a9f1bc439c088c03961572a3a702d863a8bc7dc397f9417386520a939c912973c1e00273897762f385424a63997fa093ad4413838d1a7ec381e728d39c031fd394fdb2939916995379055e83d00d3613f13169837befd113866ced63d4d0e483f207f0d38f868a5397cb0ad3d5ba42a3fcd20c539104e9037b4f3903dde330e3fd24789373e988e39e962623df238e23e8a189239367dc039091b173de4d0a93e7498a939e35f18384120923ca4a55d3ed0740e38edc63038989ec0396de8e73d6bd51c3867e4f738ea259f3909ab043aa426eb3800000000000000000000000000000000b6c24a38e0b090392139173afe748d39a49561394d5bc6395539313a4b57d0399a1c64391a0c0e3aeb45793a8790083a063aea3802a96039bad1c6392c0a7339b6c17539a5edb339c9b9023ad9fda839cfa4f63898a96439cdebda39db8a2b39791359397fe4ba39c58f743a20858c390000000000000000000000000000000000000000000000000000803f0000000033d766385497cd397d1c613f5add4e394cbe5f3921acf639ba6d403fb40abb39c0be7a395392433aaeac1f3f8e74e839aa91de38a9999439ba56ff3e8ec550394edb70394874d239c3edbd3efe309039f1dcef38984e8339e4127b3ee346e138a2ee5b3941f8db39b6daef3d9c2746390000000000000000000000000000000000000000000000000000000000000000050c4736183e5e3634fb9e3626dac2375a366236d4f5633679fb8236d99aa43622e24d36e5b14a36222a6536bc9370369a929836bf4a9a36747dac365414b336848d8c378e099837d8cac1372ecfb937dff0ab36142e6537c8c17f37c6e2f036d40c0436e0290e3689d30e36ddd2063600000000000000000000000000000000000000000000803f000000000000000051ad3836fce07f3f474fbd38593eb0362fec623678bc623f2919d0377cc78b363c4b49369ee7303f8a6e6237065f6f361b1d9b365c31ff3eb0380f382a49b036fd738237c1379b3e0ee92e38a827b03770d5a9365bbddd3d345c25389fc5a73623400236c8fc0739e199fb36c7c304360000000000000000000000000000000018abfd343db9f83482a21f38226ed4376d103a35540a4635917b0b36818c8c36cc4db336e2b3c336bcf3a937d2ab11389fd68a36baa49736ec73b4375f0b093834744f36f3796e36c9812c370098cb37c85bf736ff4903371925ec37ba12ee37bb8db836735bd5362b33813755f1373747b4e6354236093631de8637d55b3b37caf13536283da036ef95a3371222aa3743cdfb34ac657f3f3529173b12ec783757173835ebef793fb071c03cb1510436ed16a336456a5f3fbc12283c23f8e43722837936b92e2e3f29a4db3af5c1ef3790c43f3602e2f83ee63aaf3a28dc6d3771afea36478b953e5430753ae01ae637ea05af36df7bc03db5dca63a181817378309de35e5ed58385d7a9138e0b730375e550f36596c5d3743c837387c4fa23720ff93357a7bb73518f3503853a8553779ea6c33a55f763329fb8637359e1436b5e13c3669eb6d36fca249371981433721480a36132c1d36f2017c36994c8036dd55283689ba683622dcc0369f3cb8366239383631975f36f5632437e6d5a236f1d49435c454b43500f3db3796a5fa36203d363651694c367667673713616e3672b88436b42ca43710003e38d59f2e386a407335842a5d3fc5480b3ef6cdf235328f7333454d593f3fc01a3e6a853b34abfd233698263b3f19221f3e2facde367112fd35225b133ff731023e21d15f36a9c7c935c931d13e5470b33da7bc9a363959263629767c3e6884533d33118336d3a691351399ac3d47198f3c362ddb3571872a369717af376039b838905f5d369230743612010e3829b883387f411238ed2a593650c7c737dbb71e385d829837d314b4359499e035896a493705ecf23539909c358b61bf35f7835a3616a7e0357b88713644e95237574e2438d471f937d9144535f5774b3559fe9e3571e26935783996367038a236f1f7ea364d10a6368c1b4c364e9579375ea9d4379fd252371ab7a4344d179f363b7781378bf69336e1f96c36a8ed7c36fb4d7c3766de7f36cbab4536693f2e3f4779a33ef068ae36bcbc8c3524232b3f24b4a93e41f0e0358e5e56350a1d173f4b13a03e1c14cf35a373463605a5e83ee3ba7c3ef6da56376a8a423531b3a23eed6f313e50614135fc928f3671673c3ee9f3de3d2cc69a3625113b3668b5483dbb8c1a3d09c35936bf679d34d5ac2c38ee42c23811e98634b6cf5d363ca5bc37ec207538674c7a36127c7b36053511381c8247385a332e376a94dc358f46623696a47537f5e3fd351f3b8236f61af1372d673a38f3d667371bff9536e8962a375915ad3799a228371ca81c360e892236d2bb8937fed61936025614371f66b73721a70238636b3c375428c037274b6d38d9e888389b42ff3743650e365ff80f370198b2374476f735d06a5e37c79fe737e79c153812d5a037db983536bc53fe3e9ccb003f4ea937361623c43515f8f93e3cfa023f98a0dc357ce67136d882dc3e883fee3e2c558236bd049336ab23aa3eea01bf3e2ec9913635a81536f23e703e5bde873e378814367e0f94363697043e0732293e35069636277c8c362c830e3d7dd08d3dfab0853636950536dd3baa38a2fff9385717f335bbe9aa36b6672f381f005238d924f336768c6b36d59f043861ee2638c2ea5c36d221a7341e2901374631e436aa99663413ae51363fc11437d0470537b6624536cb229536eefb9d3657f29c36575a8f367ea65435ca5e86353ec3a1358bba3435cbbefb37dd3b2538b3c32f38c2a38737908add3561b254374ccb9537f4a6b935f661063624efc63604716137e139dd352672a437deaddd370650ef377eda8637b5e86336237ba03e63be2f3f4cc34936ffd08334aabd9d3e7a1d313fe24d3d3491fc3436f53f8f3ecb2e223fd5660c36b2009536e6e4543ea59cff3ea2468a361f16463591ae1a3e8b4bb73e6dd939354f7b863784e2993d56fa643ea2116c36bfc7e7357974383c0982af3d0d6fa135b94a0036d6af9738420dde38a679cc35a4b14d37d9b20f3870cf163837588936b94000387fe55e38ea372d38c24777368c705b36699cbd364b353f36d5eb24366deee0353b6ce135a5f2af35830689353c42863605e68336fea95c36b3b23836bf97ad36a34cad36ffaa9c36211e64363f1e8236569f2e378301693668323336a3f54837037781376fe55c3773478a36bc42e4351e325137a1fb003757108433e54d01372cbaba378ef8a337ff46be3532b0bc379811053ecdae5e3f29e2593609d85536fce8033e570a5f3faed10836acf9cf35d89b053e5285443fce5b873549206c3629fbbc3dbf151c3ff3df1f3654999736a6816d3d855fe43e209903361f7c6936bf9eb83ce4b38c3eba8614360bc70e3766208a3a065be63dfa354f36d8799f349ace8c3839a68338552b72336d94fa3527794938fab227389a0daa3506aaab37cea30838bc8b50376e1726366f6923370c4522378e32f535cd38d43508e422378282d536c316b0360c5bab36d55a0538407d9e3711cafc368954fd36ac8d7d3795e5fe36f8fc8436d992783648edfe37064cce37b11e5c370074ac362d780338927e0e389498bf37c4ece7361bbd45364415be36222f003685628735c138b63745ecd93742ac5737adc8f234aade7437743b953a12b07f3f51dcc3350ca6c036584d843acfb07f3f2f3d9335eca7e036ab07dd391d84673f97d994365416e43752c03239c3ec343f2ef0e53666041b3789d5b8399b1b033ff7455436c760db3725452c3a6f60a23ee5ec943607afe23787242e3a864eee3df22fcd36549f0c365cff9738be89e338d9db493589f36c3748223538476aed3711f70135000000000000000000000000000000002090fa355c89f03519f5db355fecec351939a736e6689e36b1579836f22aa4365a50be3785007f3733c3ec364fa0863762a0af363709a6368aed9e36ac76a736a27b7936a90867368bbd5e367b885e3600268c36248b8a3690598c36f423833614f88337b5ceb93738712a38015fa7360000000000000000000000000000000000000000000000000000803f000000003eff033648ed093669fc7f3f9d41d835b9f0a736f02cd0374545643fc3cfa136130ab337fa8f1138a050323fc80b703711a3ae36f9c49e37f662003f83eea3367bc374363f234c37872c9e3e29de56364bbf8b369dc1ef37efcee93d4fcc7c36bbcf393721c5983876188b3950b57e360000000000000000000000000000000000000000000000000000000000000000b671dd351dfd6136a3558337f4fc4b37a3a65b35e4fd6d3691889337acb3a2379b41c335cc603537e0ee17387297093802a87b3628bc9b36969d8a37fc0f20376c9f0236be4e203798619137bf378636760a2c36d20d6537d9055b374e335c365bddc9358e14a53744c1a13772d8083600000000000000000000000000000000000000000000803f00000000000000004bace535f6c97f3f1deff23743ef1f3762f4533593fb593fd28608385c3c9337d576c835e27d2c3f26045438ba5a033886b48236d26efc3e771af437e46906375b7b08366e8b9f3e40cceb37d7304f36b7a1353669a4063e8b94a6375cda5f36757ed035317d853810a0ec3767590a36000000000000000000000000000000007e7c7335cd9fd73592dc1238df539536651c5236a4fbc436c8b0b037f0405637151bc335a319883617640338c948e436db193f3696b55d36d2a804385d36e33737e61637346743370e7808383666d0374520ce35d0334836459c0938351a1e377aa3d735798b92361175993735e3c63658e9a53616fef23631453838ebf6c53737e495357fd9c336c022f7378466cb3727d573358d1f753fdb9f2d3d2b3a4436582d4b36d5d16e3ffc19883d83272537314ac035087d4c3fb878613dd099e536dcf742360743203f0fba3b3d6a50bd37c5cc193769cde73e35000c3d38a9a5371eacd1355d2b8c3e5fa2d83cda04fd36d418eb352986bc3d32688b3c109eca366416ac362ee50c3805a91b3a86d59b3773a67535d3fc0d37d4708738f031ac373d20f936abb721371831ed38d5f42b3796da3b37316263373c6de43775377837ab70b535fd959136dc870138477fc2368d5a043711f124375e1e9038e1343b37dd0df93695781437b8991b38f6832337939e5c369545d136ca889c377fd0eb3691d3153799f53037d3e842384fbb3d376e2cef36f2a4173717f27037b9a92837519c9e36781ed336f631523862110937f3a9f43628e54f3fd948403e8ff92937b3c33737cf18493f97bf5a3e1f2b76374bf29e356c4a273f30484a3e4478b8365dbf03373d56033f236b2e3eaafc38370c11f7365ca3bb3eb42af63d121a223750c0583632b8553e363da13ded5ee236df3c163753e89a3db9c20f3d00983b37997df036228027371607663afc272737e8d4a0369ede2c3778d0a938c3a0f6364b44e13668e9333713242d398665023772c1c736bd4a02372279133805bb003748b80c3720192c371a858738ea432b377736f436fa1413371c14eb37d99b1237e54313378c5a2a3792f46738fbaa2537494e4d379f90123822b3a338f0ee8c37f8d8ca360b548437b9f881383426e336eee14a37991a66372e4f4638be04603748ec63373bf1753720a77f3857047337816fde363699273f9a9db03ef516fe36d490c2367420223fc662bb3e8380fa36158b0b374c65083fbb58ae3e06d028379da7f2362560d23eef5a8d3ef5a50f373e951237053d933e2f89513e4bab23372f114d37278e263e46140a3ea85f5937f3fdca3668a9203d4ab78a3d75c6dc3600fa4a37a3dd07384877c53941d55b3739c463378a890c382224063af1817037e1901936442f0038809fe438445c1e366659773756edad37301b8c38fed57f379301f1365b610e37d4853b3849760337318f03379f0d16371cc2c637e2470c37d5a24e374b7aec37c7b39838b0a05237f2f30a37a3c41c3715aceb374e6209378a390437818912377115553830c7ff3687877d372bd1893771c590386eb7803787d31e36e4c25736fce76c38594a3536177f0f363f9efd3e3230013f868906368c3f74379fb6f43e3474053f30ca78377ff1ec36d428cc3e3e27f23e7068fd36958c0137cc279c3e406ac63ef2840637d14d4e373321623e5cfe8e3e2b634f37236a0a37a31ef33d0762413ee9510537e21503372799003d7bbec63d9e6ef636e72c7e37bcf46a381331363af1547c37d99220367a94e5372ccb0d39cf202636e1897037ec7f4b3830549c389a83653719555937203a6f37f40e223877e64f375dfad836b1b1af37c2c34638a45bd53620755937e488413848558e38fa5d5237b7dc2537891432375605f737f25e1c371c511437b5ea1f376ec8c7374fa3063778f02e37149d14388c298838e2bf1b37c338043766860f37f7bb09385413e7363f7c033761b15737e40a1c388ddef936d6e76d3726f3ab3efee5293f6f5c5d373dcf56371f89a43e8aa92d3f8202453719b7d03672a68a3e1a491f3f40eec2366d225737c4ca4e3e742b003fc6354a3727eb24377baa0d3e3d3ebd3ea2631437a7c01037b203933d8c1b773efc32fe36195d2c378d34053c67fcf23db2671337715e033715360438f1eb6c3a3de1d63615f30137d83ee43785d668399a11ee361f76f536c80f4c3888e66438e4c6ac3674c425377c1232376b8a2f379be8f836b2cf39370b6792376a68c237f7361a37ca22dd36691afe36ab0bfa36c2758b367d4522379a8dc6379280c737069e0437ee1e3b37d5f2013860012d381fc5123735b0c43644455d379cc2d83720103a36e3457a377baf8137a1edb937af50503716972d3721033f37b4365c38633b0c37f2c5f3366f9d393e038e513f780797367ba624376873303efdae533f2573e036395d3937fff71e3e64f03b3f70cc1137a434d736e0b6de3d8e981a3fc2df53360e8f22376dfd943d6898e13eb9c1fb36bdd03a37e2f2003d9408923ecec20a379406bd361edbe63be55d113eb8f6f93522467a37a5670c3892ef6b3a01594637ecda2d37bfd78a385d25bb3894e603378db88037a76826389e2eab379c0d1b36c30a8e3782602c3800318b37bf78bd365d28d3366a33dc360093b236f17b2336fa4e1b3729164f377443ad366f6ce235ec37d43760ddf937b1268f37458f2f372631f337b3b80738569e773734175236aefef03617f2ee377a0f2d37aee83a360f9255375fec9a37112e9e37806aa636874ea436c7e09937ab947237b99cb335d0414c3743bf0d3d971e773fc5b934351aab3637cf96c73cde9d793f47da9c36bab5c83600185a3cbaaf603fb8f5d335298bf736c04f403ae2f8323f8dbccf3501b4a437d6a61e3aa833033fb77a21373400bc37a92d6139f9e2a73e8bc44b365736ec36b1d48d39da6b153e6216f5350f433937d3eeba387506293ae3f78b36e90f7e36eb42073822fad937ccc19f3500000000000000000000000000000000bd1c0c369b310a360c6564378c06e03542815d364eae5d36b0a6c1362d344b368d40b9360ca09b36c9cb15378bb20b36c90c3937545a083762312337bc778f3651930a38f8500038ce2b113868a73836980c9937b53b95377be2b4373b893c36b53f483716167d371f88d437438844360000000000000000000000000000000000000000000000000000803f0000000095b60f367b47a137d0f97f3f688dc135af6756362d204f37a4555e3f177a3736a4114236cd7eaa37df33303f583b0036645d043748dec837d1c8013fa9d58636313e00386a9f3a38ede4a63e492ce835cae58a3744f7f73776eb173e4710f835fb252537975dd037209d3b3a50f82336000000000000000000000000000000000000000000000000000000000000000099b2343603dbaf3656ab3938d9e8d8365530ba350b22fe36209c063851065f3773cd74352938083707301538c8043e3683244e36745b2e38870d8d38f862a636e887b136212322385982343870a138376c8e2b36c5d11e38b798a237e57f38360b318d359acd8d37e343aa35ae59993500000000000000000000000000000000000000000000803f0000000000000000d32e483679e9713f41cf6238dc85dd3624c0e13567c14b3fc8e04e38633d093747b194355d0b253f9e6a43382590433647965e369ca8003f65199a381184a836c6c3b636a5cdad3e82223a383949e336c3092d36acbc403efa03993729d23736244d8f3587a40b3d30ab96354cb89935000000000000000000000000000000005d0dce356ccf1b3796b0963aa748f637656ab935205f7a36916b183ccafe633731932f3316de973566652a3ae19bb83718f3be35537d2936076e043a841de4371f0f1635cd931f36d5c6f53bd1b027389d4b8f35f1a51f3610ec283c379f7037f811973561c62a360a32d03813dc7e36145e0c3562700a377d4a443a41c348373c2b11356724043749f9133a52d8063825d1d735f0b46b3f67b99b3d0199c537839ad135edff573fa6e2a03d57d2d53622132e330e8b363f03e5923dfa3f7d37e8f3ce350aa3123f7adc883d9905223721054e358784de3e8270393da39ecf3780aaa33514a3933eaec2013d6cd85c369950ac350c3d1a3ec52e993c6ba96f36da365035d0a49e3b3dbac33c3b549a369ff04235a956913748ff5e3c2eebab37fc9e7f35192be537afedc93af5851436350e6434db3c1936da5f713c68193c363a873f3617e32737c0bdc5394ad5223728e8893563efb536ec7d3b3c41d5e936346bcd35395cee365d70e43917e28b3649c52636b8db523605da003a71196f36bfc79133833ea8369998ce39b71a09363e1804368ceeaa366c4d6c39d452a636f9a99a35434f3737e6802a3a9728af372ca68235f54e463f3dcd613e5e030e36fe9d6d342298343f26235e3e08a43c362b0c53368158173fa732503e2060e13667c79d35afb2ee3edbe2273ea7567f36cfb7e8352d3bb83e4197043e2ac48b36bd432d36c056703edf2bb53dbce36b364d435e34d6a0023efc20553de89c053611291736abc311386920e13c0d6da236599ca935a88f1638d421393c84d917378ec116352038883861af4a3cb866a6355fabef363a0b293798c78e3cfee81d37511488367441e2369dfe4d3af542e1364cb51835d25598374a46173c5a87e735b46b25374b794b37d907a33ae7134537055c9835edc7b737547f023aaadc41360cfcb536fa8d5b370f023d3a5403dd36b56002378db22337433a433a44d31437bd432f35a06cc13732878f3a35d793351c1917350040213fcfe1b53e12da9b3504e8f536e238123f9d41b63e67531a37302e8e362c67f73e604aa23e269cdb363bef21357c0cc63e909e843e6370e53528d628376c85953ea7fc4c3e53db4237fc6bb335bf42433ec3aa133e01603436af3bbf365551c43d470fb13d1014d736ef9f0537f8a5933868270d3d14c0113760902d35fa148b3821ad9f3a304d973513dd503616312a38ee3a813a5b00b73616750c369788a638bec0563cc42d3d3600d86d35631122380b4acb3a46d19035c484ec35b3b3fe374807573af75e1036b5a89f35a89fb3381662373ae88ed1358bc90736883203384523193a2cf80336b9fc7e35a71c39382982413a2b138735c6412236a5fe9b38760ba83af8533336fd8d64368f2ec537ecf3873aff212437fb0e5b3676fffb3ed63a013f62626c365c66123637cbe23e3521fd3e80ee2c36fa4d6735b073bf3e2a0eda3e4fb28a3542d5ef353207993eca30b63ead7408362fc4a935b1276b3e61088a3ecd69bb358ff405363fd3153eb8684a3edffcff35598f8535d0c19e3d6dbaf63d436d7f35a5332b365f4004393497443d1a16253692057036ea0341383d078d3a30e7773607a494356d55b0381b24973afe0547359b6d0b3762482937d8abe33a41070d37981eca36528fab3709c3f83a6f40d336c1cd24366db34838b003393a8b49ff3548693f37d9155337c3e78f3a927b3437f467e5352d4f6738ba588d3ab0ea7a35a8e7d936c9a58f3750b30d3a5c0fad36de461a37839f2b37fb5fa23a705c0c378cd2a035bae681387bf5a13aca545435107a8f35a1c5b33ea92c253f8ce72f356bed0b373a41a43ea675243f91670537ebf7cc36a8ee873ee7bd0c3fde83c33625aa29363784593e8c34e73e95fbc23531cf3f3706ac203e819bb23e7fbe2d370d82e6350b47ca3d14137b3e3fbb5435dd65de36a3e23f3d46671b3e074f9d36c7311b37fba6ad384bf75e3de83f04370557a1357834c13882809e3ad8763e35913a3e36959a6f38797b5e3a98c0c835da2e9d36acad4a37403b823ad4044f360d0302362d74a6371189013a616a41356dae6736f03ba937c618043ab3fb3b3672798c3668fcc537787bc73970392e36afb4813626b549389d8fb339997505365585e23601f4a937c2fdc73918ba9436d73547362fe695375608dd3a60f6513550aa123645ae4338c84ecf3a7af6b03553c53836bd9b533e78cf473ffc39a93506c99d3655c7463ec6fe463fbb691d363028003639c42b3e6de0263f64e69634de4f653640f4053eae900b3f5d4d30360dcf8b3600dcc93d49a7d23e72b20e36e4d57f36e9525b3d6dee9b3ee322d135a6d1e236e44adb3cb05f363e24e98036be7543364576b63b4748643d3382e634fb5f11365ef99f3972afb73a3dcda23562919c37282edc39dddff93976ea9835ca435536ab72a4386bdf8e3ad695b53534997d363e7b4138c3a1a33896d5e73576bf5c367deb6b380ea79b385f57eb3563a6753742842939550b4c3a5d76c535fb581a3796fe8b382c82be389668053650e64d378e41893824429c3932a422346bb3ce361bbc8538c242863a7bdd2836dd28cc374dec6c3950ba4c3a4d190a3672a69c3749cd793d9e8a6c3ff8fa45356e975136ad83653df7ce693fe19e6535e9087436b11c5b3de4e9463fafb6be35abcf5b3612c8213d3f4e213f8852bb3525b864376fdde83c0168f73e072f9335cb091237092fad3c3d64ad3ebe4cf23579324a379507a03c845b473e9501313365a5b136490f483cc46c613dd0640d36ddb3c2370b87263a3d62e239aa52fd350000000000000000000000000000000091309c3558749735c11c5338e3778e3599093a360afc443686a96738435537369759cd36a904b437a32d353a8fd2de36de37ab36987ebe370da6b238331a80364aa7433651f7ff364ed84c383f10cf35e65fbb36bc79b63733f67b39c8ab2936d6eee1368276a83795a498391c1d87360000000000000000000000000000000000000000000000000000803f0000000035899a3568809635db45773f55508e3550563a3627ef613657c84f3f75e92e365c05cd368be917385cdd283f02c6bc36075da9363dd76038eb97fe3edb6d6e36ec4744360c9cf137e9c6b53e2eacb835b0daa83694cbea37e494503e203f113689a7e0368c6e0e380cdb5f3da1a070360000000000000000000000000000000000000000000000000000000000000000cb255c3529c47d3511118a35f28f943598469136b5629336112c103706382438f2ef7f369bd88b3636bf8f3674738c36e1f8b0356bceb7354e5f0536a9aee4351326a236c0f5a036c30aae36e202ad36a1890436a2e90e366cb91e361df51136bdaeda352da3d2356746e4359528f23500000000000000000000000000000000000000000000803f0000000000000000bbf37535230c803f516aa5357e529d354b878e363820643f04ee7c381b55e4371ade8536281e333f661b87364722853689b7d235a414003fa331f4357217e7359f4ba036e5f09a3eda4d93387ca5ab36f53a00366b41dc3d74e10f361d9b05365316de35db554c396d9fed3527d6f535000000000000000000000000000000006f561c35a5ce3337812002380710dd357f723435c48c7535a2afcf35fb83f635d46c8835b5e67f358905a6356ba2ba35dedae33523d4ec35c117a4368dd5f935f6d46b36ca5c5d36f5218f3802494938d6b5a935ca72ae357fb4b2371c511a37047001366a1f0d360bb513386d18143694f169363bb06d364153a1379f0b6f36f7f3163683ca183635a06e3775302236a2d2a7345acd7c3f7c676b3cac168e3504f8c6340078753f51c7f63c91bce33542cb5735dc9e5e3f783e8b3a8faba735dcdabc35d3172d3f746388394cebdf35ddbf59361719f73e7aff1a394bd9293888679a35c9fc943e31c44039c1bdc435fe25eb351f44c73de5f7c938e04f0c36e5c05136ecbe733966392539ed5d5b3606c905365e3c9c37c1411c389d3d18361bd39f34102e7337523f4738ddc58c3654e937367a54433681b9ff37191a49365528573448eb8e344204b436153337351238413619734e3679d2f237941fe93616692236338b313618a2cd3644632d3684e90436ba4a4b361256f237c249483740970f3680e62836a25032360bdff335dc25be35414bec3547a31f379eefd435dee0da333c030d342e6bd633e957ab3350ac9d34d1685f3f466b033eb49980345a8125366e91583f65581f3e9d314736453480338ebb403f7ec2003e147f03353bba39363a58123f716bdd3dff14483673052436daf6cc3eb3b8b83d3e982e361b80f035717f683e21eb8f3d949f093670b41936aa6a3c3dbcde5c3d189b0336de11ce35a1e10a3835303839c621b53523792634eeba5733dd2a9f37c482a833000000000eb79836ec7ec83700000000c19c563502a2843505da8f37133ea035aeece13500fc04367aa82b3718b72236bbca433649fb4d36c09e1e37e6683e36bacb5536baab5e36fb8ee936d2a07d36448d423648374036ff8f6136b18c5b3641d09a355a39af35f918703737c9aa35851b2e3681893237bb1b0e3876934536cc75e434f09dec34e27b33377c72f63400000000ccb5303f715fa03e00000000257123351f8f2a3f15bfab3e647c94350c8bc7355893153fc0b09e3e87fb0036d93f493683e6e43e4184813eb44e4036cc245b36fa519c3e3723463e5cd673361cfa4d36f9a1293ea63a013e74164436068bad350440bd3cd645723dfbb7903501e7373688787c38da0f6d39ac383b3663c2f334139fa0374e4b0e38ad66f9345dd4a2356ea8ea3722831238095df735dc9a263674e92e369a400a38249e4236a008b03556865436a20207389f64be3562d8c83507f4c9358f5c0c378610d235a49f4736d7612938eed071380b759c372f44c33586d0ba356a00b8371c51d935fa171536265f33387f799438bbff673793813c3647e34337a4652838c6813f36ad1cf635dd4cb43621c2a137e671a3361e3591356847ff3eeef1003f6aec9835aaece935e7e1f83eeb64043ff9411e3691e68d3503c5d93edd21f83ee85fa235740ba135b9d69f3e1f4cc83e1a24b035086f3036ba045f3e9167913ee09b3d36576eab35b55dee3d6bc63b3e55bacf35fdb4a4358890973cfad7973defc9c235cf192c36dee6c738fcdfbb396dd81b365956e5358841ff37a1283c38fe24de35039cf0344887a337f4f0bf37f048ec3496e63536b2a0b9370ee5c837a1732c36c430823552aa8d3522556935de7eae357ded6b36f0476a36189e543636fb44369c196636b763703657c060361977583604e84f366675c63641aa5b373f555236a1832a361fc45237c50efa371955fb35ff668c35dd9ea935ad3e5537c6746e3500000000000000000000000000000000553ef234b36c9d3e52d2313f05e7b434d09e2e368dbe9c3ea039323f4f551a362a056e355044853e6dc6283f72a2823592aa633661f5403eacac053ff1b03c36f6846d36cc67003e87c2c13e93c44436f4cf4136f83c873dd050723e52424636fff22c368838c23c7237ad3da089f4354bc7a635d2653138dca33339b21a153500000000610a2a37ec60b33700000000f0bcb933a5643a37e790d536b355db33a0a3cf353543d7351350da357da5d2359b0a0936ed2f08366431083681a015365a900f3643cc51370ef80b36aa20e13541872a361ef62d36e64a2a366af73636adb44336a7cc8f37f523ab37ea744c36b141ba344e9de734e2aac7369e1f1335420446363ea19037ce76ea37fd374f3689b5c536de209837cf20a237f974a634a8191f331e96033ed3c05f3fca961433cf83c935fc40053e97005f3f5bfbc1350410fd35cbfeb33d79a6503ff9edeb353cdb15366938813dba2f243f5c2de935d8f833363235453d9d62ed3ef9c63236b30d4136f708313d67bf8e3eeb4f28363899003581fcee3c0784c03d6ed1e734f5ca543628867538431e6d398d854736eb5ced345b942938270a1d385838a834cfbf00368f9bd237e267c937deb01736d16b6736ebc85c366e025b364b9464368ca20436f9b6f13515eb0036b4d30236d959d03513bbb33576adca355776b9358fa14e3887ba4838a22ab8372d732e374a17f735ea84e73516da0236ea6cf9356ea5b035e64cca351740e7358c8ad235528ce935b496ed35bf42dd3524c2d9350e90413686af1e37eafc94373a169c35ce9f0236d30efc3b4e7d7e3f6937ae3564033f36eeb4dd3bf29d7e3fc3862c36d347ee35e527bb384d74673ff2fddc352612ab3553d98538a6e7353f5611a03561fe0238a50e1b39f405053fa2b767364ef4ce359a21b238d579a63ed71ced350b87973527a809397b16063e91babb35a5fcb8359ad35e380fb4523c9dd39235ec59c5351357073803f42c380f1f8735000000000000000000000000000000002a81ec35f8e0ee35f31cdc354f17cd35f2e80736956e0a3696dff4353f010936c216b53665b19d36df469a362470ac36af2fd135ecc2d5351097c33589caca352be18f365b4a87369cc68436c39d8936c964943729e25637f3483338ad041238259f8835ffdc9b3547ac8635d1738b350000000000000000000000000000000000000000000000000000803f00000000fec2e735896d02361b30803f9bc1ba35b149f3352666153681b1643f035df1351561af360e87b3375ef6323f7f7e9d368f1fc835c2fefc351143003fc6bfb6352d2980368176a33678c09a3e6b2889363ee04837c597993813d6df3de78b063746388d35a241a335f0c88b3aba506d350000000000000000000000000000000000000000000000000000000000000000b9ddde34d2493d35217d563503d930359cd09d33ef74a033a9bccd3344e4bc330ce3593581794a35db39273561e245353e5489355e39373636e54136bcb42936604e0b34bf988734a5ab03356de32135b3252a36edd68936499f5e36c7c7333606051336ad9119376c51b43605683a3600000000000000000000000000000000000000000000803f00000000000000001a950035f84e793fe5e6cf369dfc4735098b88331c35603faf886536d2b4af331f0e6435d4d32e3faa1020352f5a4035227dc9354126fb3ebaba2e3739b02c364d510934f96f993ef03d84366fce083577e4433637bfdf3d11b66236805e2c36eb3c1f36675585380df5c336f0093936000000000000000000000000000000004f380d369b7e553778b56e39e50fdb366fe9c33510a49f37fb2de23841cbf03624e7c536bc2318370f103638421b3137fbb79d364d210437bc2ca1381ea51c372735d43577b53e3669b2a5382a0122371826cd36b1214f37df959a38b7232b373683e9363c798037a11ca7384d0934371105a33585114b36f4ab933815a6d4353e777136236fb43628c6a13853ebab37aea20b368015733ff01b4c3d0065da36475cbc359bfe643f35728d3da3fdec3690f2c53616694c3fb468753d11662f37213ea03690b51a3f44a74f3d53d61b371342d535361cd63e69ce213df8f861364467d1366ab5693e0a180b3d15832837497eeb36a1fb003dbabbf63c1b5b313716c2a635b2198638985fb63c9a71c0355f576236a56d0338b551e7384e42eb3646bb263550d30c380d84823c0b9b4a368596c735d64e1936ebdbca38f4cc30364844ab3334161b34bfc18938d5f7fe335cc20935afbf92361a84cb389fa61d367c232d354304a13505e143389298b23590917532a9dc33335b379b38174ea33294c50635f4c70b369f9f7f38118109363af10535b9a9ab35876e7d388e10ca350a226434c8c07734e76d4f3852fd9634188d4b35b53b513f221f2b3e809828361330d335a462463f02334a3ee84d2a36afd7a5330efc283fd404383eceb8ea33ef5e01357900f63e6611323ed569d935cd873f35f8dfa33ede48143e9043a53500000000577a103eb00b113e000000005ddc023518a488385479bf3d4cd7be356ed90a35c7132938af44823d013ab535d65a6e3477c7d2367d09073dbe65a034810f3d34b5c0173488cd053a136fb03310a91f354e715937edfe8238232d18359e40bd3460403237ffa9983875cafe355a28fb345878c436f5a9a4389362a8342a69be3583d8f535d5d04a3870bfae35000000002bcc9237395ea838cec5d2358201bd34b324b9349693463881567b3443ae20360139413695f1d338fc161d366ad78e363041a837a5dc1739145f31377869363410ef273f10e1af3e3dc7ad33309d553514f01c3f4665ba3e42fa0e358329b934e4e4fc3ed565b63ef1db7d350422f9340220b63e6405a93e6562a234f47fd035829c643e40ff883e07b8a93500000000d76eae3dcd2b463e1bc45335e763c2340c6b6838c16ff03dd92b8234cbed203641d987386313423da06e1b3653c593365d63cc38a5dc683c2ba5b13664829936829a2c387f5bd73afbd4b6366f9c2a36f0eb8338ca6df9387802403670a2ab36c1d3a337ba47943871fdcc36f052b936a9670f37aedb7d38fb00e436c1532a363e441c381f87a438c94b6736973ad236d97a7037603c90384d38e3369ab8ba36629d7237dbdda4388069d936b6172c362d8aed376ffdf1383805443625a5b636705685378b446c38e0a7cc36141096369cb4f73e4f11003fd60c9a3636852536b8a8e53e4d68053f2c0732369e7da636a719b43e54fa023fc3d0ae365dcab636c56e753e163beb3efb32ca3668f12a36116d273e9277ac3e43303f3602fece36ab4e383d97fd833eff08c436a6bab536b6389f38b21f0d3e2487c03685002f36fcaebd388eff003d65e734369b74af36af361e3853837d3cf0edb83632ee8e363e81073998702a3a3861ac36361a13361adc4c388591d938931f3236b3949c34c229ab3446081a383949b13400000000f771ba3725898d3823c30235ec929b35fe6981376dd43c3832ecd835e1b1c334e834e3376c26ae38790ee534ed690735fffaa3377e5ba138fedaa53521d90135cacd3d36711d7638082f85357f66c833da63d5335184d0370d85163490549836781ba43ed6572a3f61c08d36810d14368f68903e0ce22b3f4e4b263683bc99342259573e767b2c3f1dc0b634245a1b34271c163e4b5e133f0000000014d0a135f596943d1e33e03ebc36d1354944c634b1e44b3c59e29a3ee44df23455bd373536d3973861a11a3e7dd7b83436180035207129388a95c53ccbcf6d351094e9337dfcba36e952543aca702934a284a83400402a38886b86380bf65934b5d07435b548173871466e38d03a073569373f35a9aa1737f82afd37898e863500000000c1c6a937ad002b3800000000eb829d3501caef36a783d73796d15435fe7d933512fc1e38ff6ba438301cca357c5df5330be56c37c58c6d380cc12b32bb8a25366bfca036785da938f85b03369eaa1c36f7ab2438909bc2386ca91a36074aa9340d36183ecdbc513f971d533425079f3502def13d83a7513f3a8ede349a218d35f6a0ad3db39b523f7e070d355aa1b2326b7b1d3dc1fa2d3f000000004582ae3509ca1d3d3aacfe3e45ba5035cee4c035ede89c3c4a7fa73e37b21d35dffa253469fd2f3c87171a3e7bd24433a4fa2436c0c49c38f77ee73c99100036acf92c36f825b738f6941e3a995bec354043d6361294a338815ab13847f686362014c7353413343872f644382520c8351b303037115b103832606837c4d200373e6d2037c8b2b3374f70d337953ef43684115036d72c1c38a3902f38a5a0f035b4cf1937cf3d433811207c38b00be63626e32b37f8a53c37fe7e57389f9f0d37ef30f436f8ed6b384699d438812c92362489e63613416a38d3b801394fc99b368c6ed536ba28253ddfda753f199b3f36edbabb35b39a343cee95773f75e5a935ec983137c98fcc38055c703faee8d5364ca22337bd83b338e6fa3c3fd705d936cb1b5c360bbec338fef50a3fb9f2e435f3931c37ee568039c549b13e9bdcb836cfe32c3733417b386d68113ea6dbf636714ef4361ad0d33872dd153d602f4a3615eee736197a023905a9a53a6f7f713600000000000000000000000000000000324e2736857a5336a3a3b336b5ce3336cde01b36e12b2036ad1a393670cc463651688634975795347d73243482b611344d0225366f584d363d023936a2490336133f1f354f2f2835848c253504994d35d2a9a43379dbad336af22037b3d8c433cf403d35770d69352308883737b90b350000000000000000000000000000000000000000000000000000803f00000000d90e1e3693487836810b803f3dca1636bdde1b3684304f36f430643f80203f36e6514134841e2034d962333f7e280d34d0781a367b226e360885023ffafb033602aa1e3519633a355c80a23e265c653542d89833b70da6332a2fff3df018bc331fe83635993d8735a3afd93cad5df7340000000000000000000000000000000000000000000000000000000000000000af03613576cd87356228af38cf79b1356ca5a1358c3d8736a694ba38a9479f36e8aa99346d432336c3d62c38333d2a36a12e5835dcdc59380acd683885939e358a6c86360832bd384c884a37fb6f9436de8661358cb47438c9b07b3784eb0b34f7a88334897c08391306113865e8753400000000000000000000000000000000000000000000803f0000000000000000139d6c35ed27753f79d8a438e284b635b58ce53559d6513fff6fc1388a10a3365b101235b98f263f1b3d293804b929368a1c61358176f53eaf6a35387ffd903537609036f9689d3e0f7eac364c749036fedabe3526670c3e2af66e3510aa0b3461070c353a16b639f4c7cf35b91a7634000000000000000000000000000000009dc5f43275892d36ab800b3d4b322b3550df9e310bfead351252063dda2dff350000000000000000cf9bee3c56f74434ece5a133ceb98a35dae0da3cfbb0dc356a10dc32eb94e835a046d03c84880c3696d9e532c13f6d3509aac43c3e77a63506f1353369f3033677efc93cc0bd0f3655c0cf3201f25436d962983caf918e36b60d473006c7c9323498883c33858e356b180133abc75f3f0307463db0902c350b95a031a1a4503f0eff7c3da6a0e335000000002652303fee32873d92476934c7b1a5333db1053f2e4e823d501fe035886edc32c10db93e0473693dc8e3fe355205e9324a01453ecc58593ddcd2a63517163c33a5ea893c8fef2e3d98cb07366f08d132c5ef9136cfe54d3d74dc8b36060b6e310747e733677d3a3d0b0195353fb1ea33cceae035c90e2c3d3fc930350000000053f54737743d653d00000000a6e5e1311e54f531f074573d16320532686349337c28c5350fd7633de39a303502bd2032fcbfa0373a75383dc6994e33897c0f33a74b6135514a733d0318d03455f29832ff98aa35c691523d163d5f35e7bbec31db4c0732db6e043de9a9143245eab3309346c730a54ddc3c900fda3032f5f333e56f3d3f5950393e4393063500000000b76e293f37d4333e000000009314e53181f7093f5584383ea3770832f1074f337ab5c63e1925343ef4defd3417141f327708873e3016273ee83557333c6c1033f7e7d23d077e063e5b064f34b127a132bfe805393ba1b23d394934357483f731367d9638e380953dff6b1732b425b8307f4d1f370c0c723dacfadc307a3b8f32d37653369859013de0ef8732b7a31d33d38442387001283d3aa36e33e395c3326f36b83893b83c3d9fb3a0343fd0a133d39c15366a40693d5b1fbf3599d6f434533e4c389f5f5d3d5fd75d358876013401a85f38e94d773d62292936843b6e330f9329341fca533d2c4efa33866c2f33063d2433702c443d8278e8326fc6253427b5bf366be6153d1076863598e98f32a369153fbd92a23ee66a8732cf671f333746013f19eca13e394c87336311bd322022cc3ecf6aa43ee7c06b32e93ea33305b88e3eff9d9f3e6c4d91355c060435fd11303e6135833e1ec53535ac9f00358ece543db2884b3e02cf0d368335703357759b3842aa0a3ed195083487e62833028a183997d3a63db733e4322dfb2634fe090539fb35593d9b232135aafd98325127933701afa33c3fadd232c50825343fe89d36169b123d8b44af35f12011336184c5358e2b403de13ef83295995f33b34d993535a6823d57f18d33ed893735e1ef8d367a55413daeab0f360c79973315c3ad350e45793df4a16b33e521f43226c08c352c00493d8cf30933f4c9f2331e787936e31c643d17470d36e9c3e33266fdd33215071a3d1e0da63221499c322d89e23e26f5ed3ecb3dd632f7d321351fbcb93e47eeea3e590c093542a50d3349b1903e0c53ec3eb4a0f732439061332905393e4bbdd93e54969033eb14893577aa083e45cda33e0d9ecc35b47c9433f8075d3cc57e833ef88466335dc6f43225d40a3832be243e697a0b3341a127346f459c36227db43d1400b635f6c5de324d217f37ce3e133d04e3a13240ea263463d50939f8b80b3c20ae2a34e1b1c532734811394fb0933c2c0a1e335c1dd933eab93f379dfa143d67a66d337626c035a66c9a38f4a94f3d282bbf358c7c31353d91b9382c243b3d24b60435c340443518a33c3649033a3dda55c734d1e05732b18c6338b7a6303da9b8ad32c194a133de3540351adf513de6262d33778885321f5f8a3216da163d80ac8e322cb32f34f26d963e68e71b3f223728341172d332c89d733e4e7c1d3f398720332b3e1e3435f1253e6f821d3f761f6e334d98e13565b1c93da45a0a3f770675359a6936357c22453dee6dd93e1b4b05356d237d35cf70f9389db89d3ea82ea233d6e85f32f59452399823443ed92bb2321b12983348040539fe82b23d19a52633b91986328b6f593880e4003d07408f327fe3e130358fea3761cfee3b9260bf30cb993a3228189a384d70953c6544ff31aff771340cf82f387667ba3c45acb5329acc2433c0c4ac3561f8da3c77551433dbeda333d9c16938ce4db83c54b73f32c8dca233710aef35e4d70b3dac8760336ec60b328f6204320bf9143d899dee310000000000000000d610433d00000000f8da88342127c435c059fa3c9b80093457b8df305af5203ee70d403f9112b93042111a32392efd3d12ee403fd59bf531ada5fb3429c2a03d3dc0423f40b6ac32639924333344ff3c5230263feed11233bb459c33caad913c1d1cfa3e6ed81f32072e94348b4bf538f7adb13e93795833f6cd0b324a2f48386a5f453e100fec31000000006107e838db64743d00000000b87ae73456dd133839daec3bdd1102344295aa35c0562438913bcc3bc0566d320a208b36c1aab536b77b1f3b7d5cd4329d89f135b4525c36826e673c9b6b4e3387c5a535b7a5ec354ca9a03a2b5af8326886e135268d4f36a5847a3ccacedc321c89d835effa37366aafaf3c3708b5334d704f3441656035d637093d00000000adabce35fa684736c0b13c3d459fa13186cb2c35ecfd1d3721c9dd3c6172183378c79c350144273dda24643f6a131a327058893601a0fa3b8ae56b3f2ba5d032291afd353f06b6386ae9663f79c445332f2da0355843bc380fd53a3f5275ed32e8e4e63501948c38c2970a3f31fddb32f5b1d735e0cf6a386c85bb3e2493ac33270e5d34837c91384ba23b3e00000000c44ad0358e782238a22f383d8e64a0318e3720359aa099383c62893cbbad0b33000000000000000000000000000000006d1970342ba44d354ac73839ba7772354ccc08342ace45340f716a38bcba173635428236a5c79436f3d8e7381a789d36bfc077355b27a93594040b39fec45f35f08d20369eec4336428fe838d526b035b0539d361f5a9b36dc3a043c3cc431361c86b535f3b4ae359db40c3c3e547a350000000000000000000000000000000000000000000000000000803f00000000cde472342318a63597ed7f3fb501353520c70934face9a3473fa5c3feb5bfb356a0f873689b6a336fc4e313fc50b993655c085351a42cb352f4c053f53be633568062936980a4e365cfbb23ea7b48235af9e9f3692de14386855303e859f1836446bb63579c89237715c0b3db6f273350000000000000000000000000000000000000000000000000000000000000000f28b5934ede14d3447fe4734e8057534f341e335763a033614bb3536413f1336e555ae35fc623935849435352c83f034c7903c35c0924435c0183d35038a3935d039b535bab12236cc711c36dd71dd35b9bbf135f1ca0436a7c3fa35f1415a35ea1cd3357a5cdd365e157c35649b353500000000000000000000000000000000000000000000803f00000000000000003275283420707b3fc6ea5f3414eb5434b672cf353ef7613f9ec3863764cc3d36e25a4235c5c3373fb2b9bb36cbc32f35c01c2b35680f043ff31ac13697361b35c90d9b357c46a13e1c211637421d0c363d64a735957f0f3ec3abd83533ea8b356cabf634357ff43cd6689337aff5543500000000000000000000000000000000cab68e35a817e3358055a137aef3a0353137be3374c8c832109607355f2c9035000000000000000000000000000000009f1f9d34f9f6df348749b03422cd3d345d689435d2b28735282f8f35e3689435fcbc7435e4f7993551334f36fbe6a63558aeb834bb12d8348325eb3457259d34b7a08435b7dcef36fdfe85357f1e63350b67943406d1f3342b1cd134b3e4c7346b8b753537c1773fbdd71a3db5eee535000000009b84693fb596443d410a243500000000666e573f6679aa3b00000000a3263634cacf283f0910e63bc14c873441dc6935c0bef23ecae9053ce8458b35b0d27235959e943ed015d63b0c605b35e92a98343442ea3db6a1b73b9f2c6d3458088335e99d023b78467d3ccb4a5b353fb2be34e659d836674500381ac1773466b40134ccf8aa334c2c7635e7f24c34074eac33ba0d6333f9074533146f3e334561a433f128333353132f33a5fe4633f4f6a03363c8dd318cb42e3500bab5310833603494f1f2336109e5330f0c03344949503406ad1f34ccc523341fc81e34da8fab34ec26063466567a35ed3821345e01cc33d1839a324e4dab3214023b328d009b342a3375340c9c7834568e81345eb0583175655c3f9c06193e0ce6a23352ac5333f4d0523fddbc233e8622f6320953543395a3373fb694063e5a7cec3287979531c4870a3ff57afa3db4cdd93140fd0f343794bd3eecc8e73d3e25a2338e913834304e443ec320f13d8cc3c733fd52b9325875bf3c8800c53de070833423591932d163d43824a2203d4389ae32da265534fb8f9334131587340ad41a34ba344c34415f31346da310347a0c313400000000000000000000000000000000dea83434e77c9735e694c1353355c9340014b03300000000f25565335866963300000000000000000000000000000000000000004cca1335919e1335f12b213443f329346921ef364bfdb4358404a53364dba332a1e8983349b48c35a060673291cdc8356f0d263611212d362275e93595d899333763323f43a6a13edd8d1e3400000000b6a0263f84cbb33e0000000054918c330e550d3f2d1d9f3e00000000000000003a0fd33ea30f8d3e00000000000000000c53853e21c67b3e0000000000000000419df73dd3643f3e000000002bda83338b5c953c34e2da3d13d09833ed2820337dce9438d8d9b53cec81fe315bcc7c356da1883733913f38e942cd354cab1c350495e837854a62378ff32935adddaa3487ffb836d85f3d3569abc33447a61934a2b0ab330f5dbc33582ce333df29d434a6861835dab6e7342022c5343bab4d35bec5e23688de3c35c02b37350f25f934013e2d35c4001f35633823358a01c933111aed33c247e133bf05a1332fc2da343ab01b375e3d9d36ccfc213527d52c350fdc8f351cb416366b378035a8070835197b013f6a1f013f3e596935a94328346a57f83e8ab9053fd1bdab34bd8bb5333cedc33eb62b003f5ee9a2338de09c343fa68c3e7285db3ea9b305354c9a2335231f323ee84eaa3e824329355f7df9343e2b9f3d0e706f3ea518b634fe36a2338df5c53c227cd63d54973333ff07f034ac0e6639fd6ede3b379d94340d255735947602384f130639a607193514eca635f96f6637cd4dad36bada7335b6afd233d2afd53759fd313345bb4133ddb8a53469ff7934f2dd63346303443426c4ca34b3459633000000000000000000000000000000000000000000000000843ac934e1e201372ed7093562ca9c312552e934072f12354256ac35af7b8234000000001d31813739a5cc360000000006e98b343555c334b5208434ee5c803415856235d9729f3eec83333ffd3775345f257633d866963eb9d3313fe8c6a3321923a833b0b3593e86812c3ffdad36336283743363b5183ebeef0e3f0000000000000000d04dbe3d7c34d63e0000000013e2a2303fab543d064c8a3e00000000019e9e333ac3323d8fcddf3d938e6234000000002128123b70b6ba3b00000000592728346e739f3437b09434cf28063489bf5f34375a5634c31332346ea63a343b66b9329e779a3774b8c832787b323167efcd34c687043751a4dc348ac24b34a449ee3316a43934111d103483b6c433c383bb337e0e1a3449561434b1739833468294335deb3936548f143544848a31986a123391210e37a7db5d336dccff321c9af6325e9c6e37f393143508189f32529428349fdc1a35442ec03447224c34dd0fe033c1511d3e97a05b3f33e50f344b2e3333e55cfc3d823a593f065f79316dab8c347e4f863de927543fccb2cf304315c233e652233d92ff293f59cbcd331014b833fd8e3e3de9a2f83ea8783b33e12e2a32ae7b5b3da946983e8d8c9b314d22e93212c4673d2ca4dc3d166b8b325f2f6233bb29c53cf140263b2f3a8832338fe633b1a9243b7ea867375e9f6e314b9a9034caacb137838e94349c457f349cc38635b89ebc37501087353ae46735bb660835ead7b4349be7b7340950bc34a5aa75352d9cc23610b071357f8b6735932fa7356e368d352e2a9035b0dd8d35e45de534dbde7a37d14bd13433a6eb34000000000000000000000000000000008aae9934ac5cce37cb219837f0d4033507c2a435f9700e384ec39b37d9e8f735dc6b76344f210b3da32f793ff742aa34679361356231ac3c3146773f566652357613d734f0256c382264633f23d19734cfeb3d352f404d3a7072353ff063813586239135bcaf783b49b7053f0691843514d5b13421cb063c60abaa3eb65f6334000000007c44e23c41040a3e00000000bb35a034158d5d3b9ae3293d36a49b33b55dcb35ce8028395e066c38e7f38f35000000000000000000000000000000008b14d83571cdb735cc613c35bc3b563574612036b004a035338f3235589c56352c301636482af235f2d2d2353265aa35ae5d6a351ab52735307f3435be293c35e163b935d919393564c72c35ab0ef434991a2c36f520283727f8a0368713063669767c3488a53634dd735034fd1658340000000000000000000000000000000000000000000000000000803f00000000d055b9353ae782371ba07a3ffbc7d03477e11b36e51210369a3d5e3f5059b83543660b368a034036b545323fd7218b35b4c13b351ec31437ffbbfe3e1fc3283550bdfd352b0b9137b350963efdc5963553172c369eb8be379765fd3d3d83f735df045c343545d6364635e33ce98d3f34000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063cf7331e1bbeb31a3b3363200000000000000000000000000000000fd9df5348194b735e3e8bc357c5b303572d8d7308f8b8031744edb31536a0f3201143032b24a6a3260fe88324ad7903200000000000000000000000000000000000000000000803f000000000000000000000000c734743f000000000000000000000000b749613f0000000000000000b82ae4308efb303f11aeed31e0783032000000008db4fa3e00000000000000007f28bf3492f38f3ed27db33544bc543577f5533166e6c43d4e07d031abb9fe3172b1423265013b3b86fd70327197923200000000000000000000000000000000b49e9934e5a18836325d363a86738c36000000000000000000000000000000000000000000000000fea6b938000000004b0e72345530d834749319389a54b934000000005256ba33c15f083965738634f2678d347f6f02351b5589353bfdb8345df08b3313d05634d5796839acf2b6310000000021e50232b0faad3413374a349b3fd634a9c56435aa011d396ce3aa35e857a63413156c3f7a916c3db108a0360000000035a4573f03068e3d00000000000000007d12413f65ec913d00000000c78a54344174103f7f30703da5c89f34000000006037ba3e301a403db02f4b34f5bb4f34ed373a3edaa7123d70c86434b8af1f32fc15583b292b213d000000000000000081066834fbfa473d863395321c7ace344119ae35d16b253d2ff6b835e36b8935ad8a523693b0463d3f3eab3521f2133484d25534a9561f3c67e03f34edb32333861816342ce1293ab1061234000000009fe6b735799f0339429ce2334af31f348da1313415117b39bf98313497ef1135a7823c35b81da9391302f734000000000000000000000000000000000000000000000000f7ef9d3900000000619ddd34ea2869353efc1a3a00d22035f0b087352655473f9dfa223e379c733591e3183469003a3f4007563e16d65b3457f72a3302c4183fa856503e6bf9233400000000999bce3e7e08503e00000000878c0834e12e6d3ed8db413ec70b5e34c4bd0b3503d0223de7c44a3e15a1e834000000003d752e35f6091e3e00000000000000000000000076ece83d000000004f75cf34520ba9351911c13da3c4f234bb0eb83408e000361186023d3efae5350000000000000000bb61e13a0000000000000000000000002f329439000000003fdfc033e87990342be7a339a32db1340000000000000000f20e85390000000037be79348116bd35401c1936428b6c35bc30122f25b225349e25683ae14fd134521d4034d3053334ce10db3a3475dc333f537b346d59143688b5863a8fc4093618b7da34bb29213f6a0ea33ea3f4903500000000bd250d3fb2f1ba3e00000000000000004c17d53e1ef7b73e00000000958ef332d76f843e7370b73e0e5a6b34000000008a9fe53d9f6bb13e00000000d6374734f1403036cd27993e5b22d63400000000648370353f2c5a3e40770133c9c02b349e5f2d34851f033e62ba0d344bd8cd34c8ba3836fe46963d7e1b0236cd7af5340b8e0b3670157a3c4fef633500000000000000004e73a93a000000000000000000000000c1796a3a0000000000000000570f0d346fa3413ac45a123400000000000000004272073a00000000fe85cd33d1701c3409c65a3a14f6d8320000000000000000e8fb8e3a0000000000000000000000005c74a43a00000000b7c118359912143697b3463bd3394f350a49c9343116e13ee4b7ff3eb28e153500000000502fbe3e0c97043f000000000000000023a7863e79c3043f0000000000000000db45093e49ca033fe80dc53300000000e1ad6f3db77ee43e000000006768c1309c148c358e89b93e000000000000000000000000a6326b3e00000000000000000000000055f7f93d00000000a4fa2335bac96836b6aa673d598b26351ea9db35550776367982033bb42c8435385bdc33a7e36f343b21183a32fa123400000000b1b06a35ada0033a00000000308bb2349c081b365bb1fc35044621350000000000000000a1ce7337000000000f8a873440990a35d286c639b672ce330000000000000000a008a53a0000000000000000000000007ac43c3b0000000011378035ec8c0136e946753bc30a9735bdf3dd35e662883e3e252b3f84470635d331f4336987553e19f52b3fc036143400000000128eee3d398c2e3f000000002b96b5349fd01b3d30262c3f8d186334000000000000000029e70c3f00000000429de433f2fdda359a97ca3eb1d49b330000000000000000be7b703e000000000000000000000000fca5ba3d000000002f0d8135b6c50f36b5b4fa3c86a54635c9d6b634d8959535243cc53a943d30350000000000000000ff74f6390000000000000000000000000000000000000000760fe8340ca0053582a81835f5f42d35ab8b7e34723649346c640d34809702340000000089e05d35a262e93523b7a534af430434a08811346b4bde3a2c4a0f3467437534659a5d349896283b4a941034d4cb1b3502370c36e1058c3b2758dd35b96fb334232dda3d0df84e3f2d30e63400000000d5a8a43d9d4a503f0000000000000000b28deb3c6257533f00000000585bb434917cde36216e453f5e8d2335de347534a8153c3483a1163f49a30f340000000003b6cc3539f5cd3e000000000748cd33a69e0d343c27563e262ca033326b6634d0cc5a34b7b6783d79172934368460357b852336f4bba63cf657b635536a9435ddf84f3685be13395eff0435000000001cf513344848e034000000000000000000000000d43c6c33000000003b9dfd328348993458bddc34f8ee90342857bb3275cd483400a892345f55b5330ac49834242fa1348291cb34180e8834000000000000000004b5d2390000000000000000000000006aa58e3a00000000120ba0363965d8365842443bceaa2635c20ea835bc39043c0382753f0b529534000000000445ab37759d743f00000000000000009574ab33b56e763f00000000ad2f9c331e7737356ef3493f946d023451282b34e1d8ae34373f183f0000000012f90c346db4ea355dd2c43efc4f75340000000000000000c9e2393e0000000000000000000000006d81bf3d0000000079e2a53694fdf837d7ddbe3ca77ddd3400000000000000000000000000000000c8d2993251bb963264f28932ddf33f3276d02731432701321cfcd93148f6f43045383135a3a66c3571108b35e52466350000000000000000000000000000000060503e3116882632a20e0532000000007c483932000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000073a687323e999b324c6e803fd6dc4c323c569831d12a0432a1af683f8af7aa30ec064e3531e48a353f40393f9db523350000000000000000fa3b043f0000000030b6d131e975293208d3a03e000000000000000000000000fdd6fe3d0000000000000000000000001d53523d0000000000000000000000000000000000000000000000000000000000000000000000004aa23934c295a8372bfe9038b73ddc35000000001c5e5c36fea91e39945d923500000000fcd5ba38ae39fe383634d634e508c1335170a7379714c236c292163671c4f73169b908397d135b360bdf8635d7045a344a0947394ac701359a9993340a1a68339c688d38e65890363f22e73400000000000000000000000000000000000000000000803f0000000000000000c02e8334da1a6e3fb0beec371e0c8b35000000004427583ffec7f338c7ed2535ef601533f25d283f9d70a9380f7b7f34996cf633191fee3e4cafbe36acd1c8350f37f4312b2f8e3ef61d46363bce193532068f343219993df13b0235643d6034d6192d3482d556393eff8336155b0e330000000000000000000000000000000072bbd631aebe1037a2be723da0b07035f51d8a3410e557362d56813d4994bd342cb9bb3302b5ff3575f4763d3e838334acf4c333a94507379d9e713df84c1235ecf27334e1626d36aeb7463d0a26a4345d59bd3356dbaf374087323d0ce78034c4fd8e339a5cee35439d513d007d2035d1669733ef00063480da6c3d543aca337064d7330e1b8c34ea816c3d7038ad34752ef532c598513f57a58c390dfa6335b1809b345ee93a3fa3cdb73904b1ba348c96c7338876213fadfadb3bc0f7403455500834c7a0dc3e6485c039826b0d3562c08634ef1e7a3e20b0033a5e0a9234a914b1335339263de632d039ddf427349cd3de33b70039394d023b3b457e363435e19f33e529c138c524c23cffad9433237dd7334aa71b372144533d0b5f3334ea79c933f969b5370c450f3e48e1d93372d2cf348f9ea1369e31143ecf51ca34bc6467347ccc8935ee240a3e4f90f2348c5fad34b3530c38102e0f3e2df8bd340bf4d934bb33c136d8b7113e21a9c53483c7ea33eb4a3a35501a163e2b97a0348c953e34087082348c27113e89493b3439508f34f44380364dc3093ef01a923523b0ac33578476354ea1e03d3b9e823466bcff337e512a3f5503923da274df3355cdf034982c0e3f1e41883d9386bf34f94c5b344e96d43e76a09a3d6912c43446fcbb34ecbe743e922a8c3d0e3fbc347b1ef834f60db73d6899963dfda3b3348cd8e1331004643996c0903d54693734f6f25c347471c2377d9ee03d377e3c348833a0341184a537b517063eaec546354c3caa33eed0533712defa3deacb0734d5adb433b2a82438c60f403e23fd9534da537234c3a294378c945d3eecf43b357516d933ab92d9361ac7493e9d768234a7adbb325f434839e5a4493e892d3a34f6274034918881364e27493ed57cd835f363d833b5ed20344962523e72413d347b4d61347614ba344b28653eacb2403415b5ed333ba10b364dc65b3e70ebe8352fb23a323542f432ddfc303e81c09134b6f306347262e53eb4bf0c3e12ef5434c73174344073a83e4af4f03dbf47b334ca1d1f34b4bd5a3ee4040b3e56dd7234b5960b331f68a53d61620c3ebe79dd3304996f345b43333994660e3e5db52b35cb3f0334feef5539a2472b3ef65b2b34c06f7d345c7724392f30343e0d43373443b21934e691d2386b46063e58ad5e35f675bb328ff81e38476cde3d7a7d45339185c433f0180a3966ab3a3ef7e64134a8c85d3429849d388df74b3e08be81342187f533297b393882bc393e8bb56734a36c0234d3d82f393cce443e573605348d0187349cefc9347cf2493ea3a2aa34bbf7b2333060a73679c26b3e57974f3444c60834a5ccab3495d7573e76530e34a3374234bd7fa234e375583eb6e88b34ab4ff333537a29358fe93f3ec8d3df3470ef0e34752d903ebded8c3e0bb30a3417fb7734132f343ee2e7853e3f455e340b4ef53352fdcf3db977933ece541334d24920349aa4e3394d428f3e3c1fea333c719734712b1d3988179c3e278d9d345faecb33d3699b3994bb9a3e97f1ff33b2f32834cdddf6384c06643e98260c34a5575b34ccd0a538c4ac203e0724823439db0234de2ad6381a28a13d75c6163461d43533a90644386ffc0e3ef350cb32d4406834577642394253143ed3df2f34a13c24345399113927190a3e55f3a234e04a21342bfd0538774a183efb620e34f62baf3457ebc93651873b3e26e60335fb543e33fce5213814e6413e3b23ea3335f719340a17a635b1bb3a3e94b7373495864c3450189f363d99373e3a3539350dd70234396c0135e802263e13067e3407837233543f053e22dfe73e7c28c732c72bb334c73e773d73d4e73ea3521834d9731a34b4fdc739433df03e47467b3467a33934a31e94392dcef63e46570d349f05c734302f2f39f21ef83e951d6d34e77b583338cda039abd2cc3e3c493d32889d4c346244fc3855de8c3e915a4634ba32653479b71a394081253e3c728c34e3e225344316ed3867178e3dfac9a7331b0c19347297ec384131323dc87e5934160e0f35b7513a37c0c5503d393f0d35083d253475ba44346079f63c5bf66534efb14f34df899d3604ec763df6f04234f7d3983499de3b36f00dad3d9b893635e443b034a3ecae34ffeada3d693bb534b1f3c334c335fa34cc2fea3d60347234811ba1344e250b364e5d043e351ef6341bdfbb3375d2cc358cf4bb3d1b3e0234d6a32d3499c2313d1b412f3ffe14c733cc942e3566e96739f4c02f3fc3f88f3451d53b3405503a3943c0383f967a4c3447cf7134c50b693944c5393f4cbb0b34b278b634919bb9388d141d3f5b5de034cc40b934b7ac3539d9eee53ec8a1a534d0cdcc3484baf2389f2e873e03dc5e344f2eba34b882c8384366dd3d7037d8343f7be1337ed9e637b1970e3d69a9dc33ece15d342072fd38b216143d7d5d0534ab6090331569c5383a7d3c3d46e9ce3336941a3487c5f635c2f6a83c35d1423484242234779cba348d13833d69d7e43397787d3453146635aed79d3d000da134cc72a634ed3aae35de15d83d5c134b3400e333341c10b537a45bf93df1510034067c9d34747de9349c74043ed9c2b634bb1033353af115373851ad3dac23913435b77b34f63d8439238d5b3fb7a3ea335c409c339b1a8d3901d25f3f269099339fb31d349a204e3966626d3fd8f0b133d5044134e9a35939c0775a3f568ace33d5988c34dd3b0339b8bf213f727d8c34a31bdd34a3514f39cb66d03e05bbec33a9475134102163392afb3b3e962ef133322dad346d943f39fabba23d127aa834f1df4a35b4571539f5b4243d518e8932000000000000000000000000000000003f7dfd32cf180b3658efdf384cf66735db48a933bff4b83450ebc738d353b934e6551535ef4baa35ae8acc38a8eaf73185627d35290c833685d45c387499fb354d983033a586a535e89684399112e633d1ad4932c2c6c835a677053d00000000c5de6a3523936b3683c0473c9390ab340000000000000000000000000000000000000000000000000000803f000000006be6f832940c5936372d803f95abd33428d3fc3340c4eb344b366d3f57486934bfbc0c35782d1136e360393fb0410332b73281350222a536ec4b093f04429734320ad3335c571036a300b03e00000000a53f993456c18f37253ffe3d0000000015c6403516629c36cda1743df9e383340000000000000000000000000000000000000000000000000000000000000000cefefe367a0c6237b6a5a2371ce0b237aba1d2363936de36a3556a378b61b8379f2f0538288fea37e00153383a8a8d386807f037bd10b3371c393038de526138f8de56375e7354377861803734ac8b37b89bc937b20bde3702c3ed37f1a60938a130b437c34bef37bcc4d7376607d93700000000000000000000000000000000000000000000803f0000000000000000e6abec35cb207e3f6610fd37d1c28e37bec9003672eb523f03bd2c389a446837527caa3728b5293ffd18ae387c556b386a9aa3376c9cff3e192c893852772b381d2c3a37f01bac3e9734db379e9f873716c1983787bc323ea94e3e382b7fec379ab08737f68acb3bf84aff37d93dd237000000000000000000000000000000003676bb3698229937fec509385fdd9c37a8fc153635cb1e3765a61238c9c4ef37af20ec36ad38ed36d696913773a3bc37f9f20137708615374c94d837888e1438c7beed3717f30238bd354b383bf06b3816d1943687a18837006b20385cc13d38a11a1237820a82373bbe013862db1e3897815237da1fd537d4edf8379b7bf5370d6bbd37a789ff37e40f9d38def4cf38a8e0993686257b3f8cbf993cd36bd63612720236f835733fee19193d61b845370b7cd4366a9f4b3f78080e3dd0507237f5118f36b1dc243f6e08da3c61049e37e7bea237c210f83e3e58793c70e629381f0b8d3690dfa63e24a72139b2820338c852813659392b3ecb8a4439abaea93794644a36b023f33baaa021387886ca37715a8337523b4138864f51399eed0738bad49c37f2373b386a054e381ce01a38c3596336442786372dfccd37be32b03710951a37c96c5f37e317a437e308a7377845af37db92fd3742452538172927384dd2e7363997c137d0792a382d223538efaa0737250817374c76693725026937037fa737a791de3741ff0638562a0038cbb4a237b2ae1c38d1503b38896d2b38f0500c37355db83748f7da3706b2af3702ec0e37e1d2513ff13b383eb603ca37a1cd4e36bb8c4e3f4186453e0d56f6362117c936e9232b3f3288323e176a47376fcdaa3646f50c3fac46053eef30df374c70d03588c2d03ebb6ebb3d6fdf8f3759cad336c1d78c3e7962313d6e841a37eb0a9737d4031a3e99bab33bd681c2374338d036723a673b15507f383000cb37f3b7ae36d82f0438a285083899732737d4dee0358775343871da69387d6bb9368dd0e43556e52d3876374e3880cbd73790591b376f82c337310600385359c937d6916036e2d1ac36a8b71e3798fef9365e16b7373d08db370103fa373280f23775229c37022ff33755ec593819842f381387343673f69e36ebdd093819989b365e3e3337d777c1372f0dea37cb849237a81ca537a1f315385f5929385cd105382121d8359b31293f5c7ead3e3db2d835e4b2dc3552b7263f3c63b03efc7fe735fdd75c362bf80d3f096e973e5437dd36e0a42f3608c6e33e018b6f3e4931563644621a379218a93e2d962d3e55b69537952513378a095f3ef655d23d678d783706e7143639fce03d6827203def3b35368c7e4536b1b299385b918a3823f8e036edf410377db74638ceb8503888ad853729c6dd378466253996aab139c61ef5377c0cf037b5ec4538d2da54384279143871562e3750d0fc375efb1738efe59337d878733753af1a38da4c35385502f837f08267380b938338eeab8c3853247f386f9dd5370fa322382e303a38324d02385f60b137dba905383edb1138e43fe2376d1a25387e064838f15f4f3839263138969e0538bf6e1a38026f3738920c09381f2b8637cf91ff3e81fbff3e7e488837bd024037fce2fe3e3274003fa7e762374381d83669cdd53ed7f8d73ef292f236f295f33652c5ac3e60c4ae3e79b4003708df29385c937e3e7891803ec32e33388791123769b5213e7a09273e3aeb1f37189223370d879f3d2cdfa83d856c293710c5f23768a97b3880ab7d38d33601381e73e9374f295938c2c51339abe8f237b69b5c37bf1651380de762386ad53a37538cbe365171d337d5650838fed3b636ae873b3631018736a1ffb136b17c3136cb2ec0376155293854980c387455a437aba6d437cca2ee37e2fde737f3b9cc37a753da3668730c379abb0a37fdd9ac367a5ed2379474f73773f2f637b319ae37c8160138a8843038ac353738b565f537e33e0c3796855e3729998d371149dc3692470c374575ad3e092a293f965903378f553a36bb6aaf3ed030283f0bf83636565412363b93953e7d0f0f3f5eb80d3681463b37be8b6b3e5afce53ee38adf362ee68637e40e2a3e2cedaa3e02702d37c71d623605ceca3df761633e68283d36807c6137c2050b3d0c88ec3dabc0d9368d303037b31683384e267e3be42b8636e9dbe035dbe6ee379cc93038c32fe235e6903037ce280a38f04221388d5bb2367190ca3759723738f73a2f3804cd32375e88d337bf62e53752cfc8370049a637fe264f37d86b30378367123734400d37cab51e3899631838420eec373bc38a37a8ea1f382f92263832a31638fe35fb372f42a737c3c0a737ac999437cca263376ab7af372531c9372aefbe3799a049370467223857e32f3893662d38b4780638c7b5b136da20363e3766523f5ba8863647c20d37cdcf3f3eb40c4f3f1adcb6351431a73787a12e3e65632c3f835c833715d21037c0c6013e26040e3fb72fb936df1c5537bb2cb53d99f1d23edcf2d035fd0af237e58f213d76258f3e767377372a2d84370bf6e6381fa0203e98680e374dfa82371a19213826438f3833eb5d36226008381cc342389a1f423894e2b437149f0938ab18b339230439399a449d375881d8377f3aef37f7ffb437d889df36b66aef378869b93723b51b37215cf836aca225384e080b38ebc16937acbe1c372e6a5f381c3239389a460e382af00c38df170e38b51dd4376f025a37d6383837ded9aa37607c983738d97537f0ee38370fe0f7370f00e737b61edc3726d6153721e0a43715e797377d8566374e1fd236139ce037a074823c5ca67b3f785aa636204c8b37342f0e3dac24753f0f063b369b0d8537f356003d0f124d3f6b177e36ea32c8371ed7cc3cf60f263fb0898c36c46324388738463cb3bff93e5d9fb43708cca63788326f38a87ea83e8012aa36e3908b37ebd0a03837d42d3e90e5eb36622c8d37b5173a38e3b9493cd2ff1636af1c03371034c837672bd037faf4be3600000000000000000000000000000000bd98cc372f36ad372524a23780919a37fd2a1438af55ad3768e185375d1ab7371a428f37debb6d3791c43f37086e6837c93d5c386f0b1138f74cbe374eee2438843b8d3811ac5238a5612e3872584d38e808bc37918a7e37be79843737668937760dc4371cf1a937f7efbc37f65b92370000000000000000000000000000000000000000000000000000803f0000000082f6b537560d363844527e3f5d65ec364820c437cbc053382d39533f51247337c7a68037a717e43747d9293fa06f3037c43b263836fb80386d0d003f87fdc8376f6c6738baf59d381932ac3e7ae80a38403e7a37cf97f9371c06343e699e10378717a93754c5cb37d2d6e73bbb42333700000000000000000000000000000000000000000000000000000000000000008d565737c8433f38e21b3538398006389ca47137d49efc37fe7c03381145cf370412b737d6185638aa311b39b376ff38b3fd863766b53138adb25c380e244e382517dd37a1743e38dff32e397debf338a22e4e3746850d386a7b203850310b3843d4b43728a72e38c9ca25385a60093800000000000000000000000000000000000000000000803f00000000000000005b186937181a6f3f73225b38358be237ec5e613776f5493fb28537381046b637feb5b9371fae243f5653e639a6a73838d95b83371161ff3e66685439bcf62338e69adb37d7f6b43e872dcb39080b0f38957b1b377e64573e4d70383846d7e337006696372c53823dd8523238ded3f33700000000000000000000000000000000fb06ae3641e4e138d1b84739a7a0f237bc6ac036f13ae93759d7c53979c9893766bc5335a54ede37f9378d392db9c6378a2f8f36ba75e537d468fe381c580b38037f11362bfcc837ddeec239e15a1f38d6baa134ac9a863760d5033af63e3839666a8d33ac2e75375c6c053a0930a338d95e5e360741c53727ce1938ac85a337054bc53624d4de3774c63338538ab43798abab3616a46d3f6986913d254fb137e77fbd360ed65b3fd5a09a3d8ce10d37fc813a35ec5a3b3f991f883d523eb4367ac83e3641511a3f9a9f6f3d89e1c73705600f368fa1ed3ee3ed143d7a1b943769d69234ee6ea93ef77a5a3c23fe48371db28e33fb2b493e6bf1753a67d41f3718dc5f3670a57c3d33949f38ed703f37d29bc436c83329384cdb3a38b54d9437b911fb36d0bf4a3841d9b738f1985d371f4a8036ed2b33382a615239dd4146375dbed63599228c385ea3c4382a0fe33772e044367244b737e4fd34385f9d4637dd1f9436da7459383c6353396e890d38d1892e378a2d403809ac6b3812601c3839ed7d349f0abc372ef42e38d5c81a37515ccb3593760e38ddd2383818cea237fe613237101c67388abb88380b65363854e0f836b8ca483fa7735c3e795f1a3766417a36165e3b3fee4b563eaa4a0b378c91013538181e3f2deb3b3ed02d5e37277b3136295b023f04f6153ecb2af0364f202a366f51c83e6201de3d103b6137cae19836eb978e3eb43c873daf86eb37102d803412792b3e396b013de2998134c15a4c35ca10573da8c98b39fa0e3c3728bbf03623188938317ac7389cf50d38f9128a3729b5b838be64643966871c38a9d46e3677243b387229093abba696379c099f3406db7037f9050b3989a3d135b63024376e643d38d4dc87391c64f137f0b5e036d9dc3b38988267385616b237fc7e8536149f2e3873876d3806720d3707d2043724788a38ce40c33802619937a4aab936e24a2c38f0c2a33994a3cf373d028537c76b4b388e756738f8c2063853eb0a37fb33243f1a37b73e646fb237b22a67366c8b1a3ff0d0b13e1d26083756129f34ee12033f454f953e170a9e3445be5436cb17d53e930e733ee04e9a3796809d36e5e9a33e3b42383e42a70e37f4012e36846a643e5396fb3d63c0c236fa269d36f56b053eed13863d9ac048376b7d96361293243d3b72183c05b1693792a175370b8e6b385dd27b38fe06c73756eb9236e512c23876c00e3a629c95360ab3c536b57a81388962073a6bb2c63617b2a63245caae398e153a3ac9182135d67673378d928f3a7cd9bd3ae53ec5378adb8e36cbcb4438f4b235394b8a0f37254f9f373e2d8d3adf7dae3af3cac537b91ba032f7ba4a39e86deb398423b7354a1cc63662695738153b7838c0e7193762db9536b1d562388d979138d9b5a53665da91360bacfe3e9770003f9b6594365476c3369ea1f43e5e2aef3ee0dac4363d0bab3211c3ca3e7188cd3ea8dbb332ff9eff36fbd8a43e8824a83e6e884a37e7da7f3655657d3e2a28813e859b803666de3b3784452c3ee674343e9c036037472ca632808ac73d9ed4d33d1635a032f639c7364457823c0d631d3ddcd0c7362d50953639cc983831f1b638a9559536ec979037680b7a38000bbd39f17e8137c73522379a1fb8391f903d3a872fbb36c6a83e379061b1387f7ecb382d091d372409d73611434f3851c27238f971ac36497c513795064d3809d15e3823ae0837f207d537612c463821e75c38dfde9c371f4fca35723d783727ec8837a4795235908e9737f595213839862c387b034737b5db27383bdf92384aef9d38774d2538a9ea7e374f05b63e17cd243fd9014f37346b9736de96ad3e8e231c3f3baa93363b34d336fdbd923e0c6c043f75f34936d6f888363b226c3e24b5d83e8ad6153657790537bc64313e3b1da73efc61ba3638469f37beb6ea3d05e66c3ea989093744f4523539f0693d78420e3e847c9e34e20d6d37512a8639aec0443db065b5367c1e0038a930a0382150b03825cdd937e2acd13745461839c9e4fb39f58c1e372cdd0937abf03d3885b75f397b70093645c1f134641e0a382d5f4a38d1337d3401d6fc3733796038fd1c6838cca58337b95fce37db6f8238324180382818d6365e2412371b350e380175fb37bc8b9b361586dd37f6f4a13814899c383857bb362d9a4437227f0938ee9c1a38bf3ac2365d8165374b37cc3717970838f78f1037c9608937e3815a3e5016493f0c589a3688d0b4362a76543e06423d3fc0773835ce8381344fd5363e83461f3f788a7d34d77cc437877b0e3ebd12043f292aae3660972037c9b6d33d3dfeca3ee1de5f3611b0f7364b4a763d5a63913e5f8f3636adb08737a838c73c026d323eed711036b683313767379038e1396f3d3ad181368d8d463799c40038dd6234383cf0fc361ddf7c37e1434c383edb8038ec6dc536eab80737d37824380ad66338938162364b1f25376056dd39850eba39bbfc933394550c38a55dc339e43e1f396986a034cd05e5376efb7d3929730f3894d67f363f4e0938687e29380daa0a381beae33615a2c43776a9253887150938087d553596c386379325f237a01ee6372fcfc23622b0fe378354293825b42938dd1d7b3738f3313748a0913d41b76d3fc8b3c036744eab36ca8c943d058e5d3f1793583604ba9c36e355873daa2c3c3f72ce9333c7c631375f8d493d0ae91a3febc18f3419c27e37c2a0fe3c4169ef3e299511369406d137a43c0d3a3becac3e5b469b36829d5c37ebd5ed399b8e4d3e5ec45835ce0a543774375b39aa17853d0a42c336a30ad837f05d2d38df173c38939cb0360000000000000000000000000000000002b2fb37bb6324386f114d38a49bcb371e19f7371e63153812a430381b867e37b07fa2381e457938b3a70a39e84ff237c87a453858454b3878904b385fd3c63769cdea38e74a7e38f5ce6f383372f03768ffca37bfb1e337fc590138144b973718c00d38319d1f38e7df3938b93cd3370000000000000000000000000000000000000000000000000000803f0000000082ffd6377dba4a3808976f3f2ea1a737a288c53767d55238980e4a3fa2981b37b6920c38cfabd1394122253fe0a2e63756122138beaa1f398d1c003fb15ba737fb014b384bef8c3967ebb53e99b4d3374ea5bf3740930a3843cf573eccb08437ca00fc3744b024383f77863d1f609c370000000000000000000000000000000000000000000000000000000000000000d17ff6389ac3013af844d43939998739cbd2ff382c957a3ac55f3b3a14d28639b9f12d390556f039867bc43922be893998898339b894033ab366e439017ea03935524739b696e3390d37c639e6f88139075f6b398a73ff3988e2d639a47e9139cd94de381111e0397b7cb4394408583900000000000000000000000000000000000000000000803f00000000000000008d462039efc9603fe644e539e24b6d390c401f39af01403f2f615d3a078f6d39a07b533938f11f3f8178d5390df36639ce7c8d39c0a7fe3ec47cf339f1558e393835513919d7bd3e1fe8d5390b8d59390c2c6539fcd3793e8a5ede39f7e58039b3b3c2387204f13d0a4db139a8503e3900000000000000000000000000000000f1bd27390a02573a217d3d3af43bd93960e99e38a1b47a3aa3db723aa3393b3948f694389dc1513a276e5c3ad3e4193ad77a0838466c3f3a3480553a03887d39286df8373af2403a51de493a75ceb339cfceb239c34a633ad46c5c3a0c19133a22eab239733b713a76696a3abb781e3aca1c0c385c2ae33946dfec3997830639fc9c2938ac8adc39eeabe7393cb9053981f032391999613fe42ee53d2e34bb39cb06a3388d81473fe400d43d6ad2bc3863c9b73873162c3f09efbf3dec28073a01080d38a2f60d3fdcf7913dcb762e3967ed00384ab8e23e7abc603d0dee9a3951d4b139c232a93ee97b1d3d80c9043a216fa939fadc603ec9a2b33c89240f3add3b0b381be9e43d0beff13935c1a138cce2223873be1b3a9fd4cf397b9fbd383c9943384928133a7197083a03a7d838daaca4383bdb823a778f823a2b2bf3398d94ee375179ad3a288eb53a99ff543918c4443804b1123ad3b6383a407cf638eb0f623717dfec394b9efc3903442f39c5f1ed37f526d139232f8f3c7cbcdf380394df372e6b8b3a4d3b963a2dbb5a386f9e94387c0e693c4b14703cf73151398e62f537b836063a988d0e3a6638483840d83138370e413f8000783ed68dad38f67d8538554a293f77a25e3eefcfb7395c77f337b27f113fdc053c3e16341a38d20b473814d8f23eff721b3e434ab538f152613772c5c13edaa9f63d7577ba388be8e737ad7b8c3e7bc3a23daa657b38fb47cd370a0a3e3e14636a3daf4330380a2480389c699c3deeb0773c0270f93838b4ee3759fe333ab569103a46590938f8c56e38906ee339088ff4397fc28c383e9119384128833ae9799e3c859794387b9ebe37be926e3ae35f7f3a3facb238ba4233383288263a93fe453a7c62c238659e93388b11603a718d7c3a29773f39c4d13b38d5e4eb39a6b50b3a9bf7b3389d77f5376979003ad7bd7f3a6cdfa53805a494383b70583aff30713a4486af3952f5c8385fc22a3a9cdb363aae6d8c39bbf36c38586a203f00b3bd3e40f48138d6e21938bd310c3fea5ba53ea4c81c389cc8b5375911f03e91a0963eeef3ec3754b63438c869c93e3c286e3e9ab8413897f591388354a03e81203d3ef6deb63826343b380d7d6f3e0c730c3ea87b60384031f2379351193ee2edae3d5b671038404a2e3876fe973d06aa2b3da8df76397d87c238c8f2373ad280393a15ce5139c4483b388308583a830e823a9afd5c380d126f3815443c3a53a54a3a6bcdbe383ceee8393853863a38f17d3c42a9043a333b9f3888d3483a0e17473cfcf77e39d63657380056643a83ae873a83d4e038889e1839f2c0403a8e7b553a986961396935db39dae77c3a4b378a3ad508193a51ee8a38d9d9263ae216403a93843139828d5438915f1f3a13db623a5ba95638c1f03b38c16afe3e58d6fe3eaf8a4f3816234d3813c0e03e2c47e13e52687338a9efda39c5e7bd3ec86fbe3e342fd6397964913819e2a03e588ca13edd391439518c5038154c7e3e746e7f3e3d6e6138df02f4385ac42a3e8f5d403eda3fd638edd0d0397c63ee3dbdc1f23dd4e6003a8aba6b380fa56c3d0da0743d6dfea73884545038dcf7493a5019703a0a7a4838ac8602393da4323a0e944e3a9db229394cc31e39639d683aa231833a76383839241808386acd453a4f53963cb92a0a3845f15d389acff93995da1b3a2f00553898b5ab385adb573a1380873a0e21d138e30c40385c11113a8cd33c3aa18280385cf41338c6bb383a0702513a7352b93805e61d382133283a95978b3aaf40b63891c584381acd6c39c873ea396d0d8f386aa8db38fae8bc3e082e203f73f8c0384a01f538841fa73e897c0d3fa2fa4f3894d308387bac8c3eb74cf03eb708fb374fba593807fd6c3e7b44ca3e46c44338ab99a738b8b73b3eef05a13e68fd9a38b4833b384fdb0a3ed401713e5a363f385f6baf37b62aa73d6a2d1b3ec34d1538b1e01b38bb820b3d7b86953d7a312338f9258238d4428d39a70e033addc683381413fe377ff3f639d657733ad8e20438d17dc5386389643c7ffc883c5f8ad63802b91e38a7c78e3aaaeabd3af2be1138d8473038c8b5da39e8ba973c46c90c38786db238bd8be4391e09233aab170d386cabb538f254f5396320433a7abb7e38244ec738f7d9973a31ceb83a54411238bde8cd39a9cd673af094833ae05e9e39ff5eb4385d7be1396bb2123a19bcbf388988fa377bdd773ed503413fe6b5f237b39eb538bc124b3e7c5c263fcd19953821541b38f4813b3e7ea5113f633feb376f861838325e113e1f1aef3ed892ff3713608738430ef43dc341c23e69f66c375231a738699ab13daa73913eb0d85038e2a87238315b5f3d1734403e1fbbfa37fd71c339e805cf3cbd0fb83d7f023e39f268af38d257ef39af86173aadf58d3899a05b38c021b939225c693ac0b43738784e3638c877dd396d46323a48642138dfad0a3a5aa3653aacc9873a7f2bf2393d95013ae924523a6f85793a02f7f439522caf3931fd193a0247883a1795f038391e4e391650113a3c17793af93e2d389ab90f3aa7bf503abb62593a417570392f5b0239d82d4c3af3b4723aef0fb038afcaca39a8e52b3a05094f3a9c9d9f397ebd4a389a0ee73d0c35623fee222b382a853238839bd53d4ff0473f94581738c465023aefb1ad3d2e902a3fb311cc39af9cf839d86d8e3d1ef70d3f53b7d5399e6f9639f34a5d3da62ae33eadd008382e382d393ae01b3df614aa3e9a2f1538e40a093adeae5a3a37b6683e16cf15391e56d13880ee553ac25fe53d07c1a638b06dc73978592f3a610a5b3ace2a7239000000000000000000000000000000007e8131395618a739c908113a01262f39c2827c3957fccd39fb770d3ac1a193398b6d5739ab9eb93959b5ff397ac58a39162498391c9ed739d77b053a7859a13957857339d29ab2397576f73959ca8139c8517d39b91f1f3a411c713a0955503908917b391e39c039391ff439d01251390000000000000000000000000000000000000000000000000000803f00000000ab3620391204c23904f9603f35691139645f66398915f1390e5f403fe53c8f391d884739448ddc3973fd1f3ff5278539b9e68b39e911ec3978ccfe3e72cf9a3990376339bb49c239e202be3ee6be65399c6474392a0b2e3afd8e793edbb62d39db0874398b8ec339b164f13d7a662839000000000000000000000000000000000000000000000000000000000000000088fe09360df00c3646f21736335f2a36f9893b36dfc33636d3e8633631fa8737acb75d366b1d5936b1979037681fd737f5ff1436e5e81736213b1f364ef61e36134d9e3735720238b4a8263871931938df82f935d359d036885b053737340e36c8de333620deb236e9615636a6d5523600000000000000000000000000000000000000000000803f0000000000000000335e0836decb7f3f817f9e37b3702936460635361422633ff26233383896753766997136a3ed303fe9a43f38deb7c837d9f21736c5b2ff3ee6010938904d1c36bbd1d23703499c3e6eb28038035621382de3e6358b73e03d9e913238b7400736a151343634e0ba38347bcf37397f543600000000000000000000000000000000794b1c372ffe79372ffd8b380f44c33754148e36c4cb9a36e867b936cdc0c03611cb9234fbd3a034729eed36e12d7737abecc0363d62ca3638df10380aaf37383aa28b3696359636e235a5367e3ca63645cc883685fb11371d8f0238175a04385df411373dcb2137002e00384bdeb6373719d436889c22371356f737789dbf3747a99b36ca6ff336cc262f37bdf42c3785610b37a68c7c3f6c465a3c096a9637a10380360a217c3fbd1c773cb126b836a703a3347fd1623fff3ccd3a1c5f2d37265bba36729a303f86c2833a9c3e273888ef88363db2fd3e408f413ab0d8a736baec86362dee983e8ae07b3ac5c0f7372e1e0937d7abd43d108cb33920aca437da0ac13621f55038471b873807e9bf37aff3963669431d37069b943758aa2637ab23fd36faf23e370db6503845e04a37a6a2b03500bf44361047ee37321a0037b26ef435072e1e3624b00638a8cdd93774a730368d8a5536abf71a389a0902388ca306378a9311375ab8bf377ea08437ac0be1364eb5dc37e5cd8038abfa2a381831a235f166af37f2a72d3807f0cb37277a7c36632235376961303845f1a037929c4c37951e7837f1fb14387e1a87375c5dcd36ed795d3fb3e1093ee4cf2e375fa1973575f85a3f41fc133ee79d4d3604dbca3541943d3fa8861b3ed74e8737773d1d3677f1163f4705ef3d45a7b93757caf33657ddd63e2a97a33d30651a3769df9336d9cb803e657d273dce5202384c2417355248bb3d85b4843c5f2a8e3721ea65362b4e8438dc56d4388eda1c37427d2037325a0e389aafad3845ab8337dd69d73625e5093785fe8f3795a3e636c468a3360ce21037ea99283813ffc536447c2834e5444334f278073726427b3403850e37fca23d3730c85e3779644437364a54361d209e36270cc7365c6ba73637271036c5ebd5379495333880fcde3757cf1635f3e03d3739b9353838cd1735a218f435a8a61c36d5f1cc37782417367b9a09378d513d37c9f9d9374c002e37733cca36885d2e3f2840a33e8b7fdd36a3a29a364ea72c3fde8aa63ef9c9b036d2ec2834aadf193f49149c3ef4294134f097c536ceddef3e16c3703e278e20379e282836d01eaa3e34a92a3e03af8336f6a3023624a8493e6089c73d40502f37706b1635bcce7f3d2e66d93ceaff12351834f135c2949b38c98ce638441a1836787efb3666abf137ef6b40386f790f3748f90e3719ce8e384674a638baf10f3716f4c536895690374635de37289ecf3692cc4d3622bc823615145337332e59363aaccb368b94ec36184028376226d136029b8236da6280378fe2bb37046f8836c740cd3670eba73761e0bb3742ffd136214a62367b96e13736e0023861a362361221d736cd2df037ae520d383943d73621990f37700d2b3832df4738726b1137d3670b373723003f32aaff3e73e50b373b5db0364664fd3ecb49013f3130b53685c349363345e83eb9ebe63e3edc4b36993ac836491eae3ec94db73e18a1c93691ec80367eb17b3e4932823e46028036c85bcf36d6900d3e20c3273e3336ce360e185d3670222f3d67a1573d44ca593674e3ca36bf838d385882a138c26fc736dcf40f37b82ca338992cc2389995113737f20d373fe51f38c885e437bfbffe365a8a0e36246215371cb411364f6fea35c4031735c46c1535431f20350f641135239e9837b43df33790929f370d2a0f367a74ac36859fbd367bd8b936cb3a7c36d8f84e37b507ba37c79c65373fa52c37309eab34c4e2c8375a0084379d403634adc26e379bad1e3811ba0e384e1ebf36a676e9365740023777af01376ec3e1364825053758dea13e8d042f3f3f56df3641bf0536b1a9a13e4b232f3f3bedb935f105133597d6943edad01e3f71791135e1512e36e7a7633ed661f73e5861f435a5fd8636c3271f3e2d02b13eda4c2936332b31375a1bb33d68f5553eaeecff36eba35a34094f923cad709c3d49c62a3441e5c636d60bbf38825eac3847c5a9365ba4e2361d891b37950519375d45db36718b8237f0ab92388c62e73750e52637259a0837663926389dc9c43644d56836cb428137ded1d43792a0ca358de1e23493de2c38daec4138ef4a663761f6c83614ed4e375854a437c695153726880537e99903388267423833abc83758924036a735f63797c0433800e1ee37f9ec163669bf813734b6f137e04e5e3779b91e369b1358371c02db37e3ed3c37ae2b1e373d1f7a3757aa093e1a825d3fb531fa3605e2c1365abb113efb805b3f4cdc42369222873678f50b3ee77f413fda57fb337c99f2375793d43d77881a3f35a36236a5181a3720018d3d7decdc3ea72af136c6e5c637b192f53c7ceb863e3bfd2936a9afaf37728ff33a22bcd83d79c50336720787365c77813824ed4f388490c635766d3037406e4a388b49e73783db0137af582e3763af9337e8330c3736c194366db5cf374397c2377bdeda3666acbd368070af373656223734a90c379c670837a6e80938412dc937222e8b36905385360566ac36c3c0a936771b97365f7d9036a5d62b38bde23138966187376e2cc736ac4f5a3774b09237efa69536ab60c734785fc036d1312437821fb1364c449e366189b437b16904382b638837dd603c37c51b283779dd893a2ec07f3f57c184360ec18d373ae13a3c300c7d3f60fc9d3667d589374810bd398337653fc41ff9369edff737f26a433a230c333fe0057b369296ac3698cc5b3903f7003f8a9e893609202638303dbd3950ee9d3efab4c236e1d34d37a0c9f1392350e53d88e69c349c0cc03634189e38c6cb953873d19636d46f9737cecc9938548732383dd12037000000000000000000000000000000008a225136190b44363585343626d82b3638ac0336da55e8355679ac3586c0c5355e2c3b3880b9f93776f21b37ac8688374c0221363f1821366ba91a36ba871736b331bf37c7bfaa37ae5f893728db5a37f0ffa6373d90ca370124d437d462cf36fefd413621214d36ad656736917c1d360000000000000000000000000000000000000000000000000000803f00000000685852361f63cb3754f67f3f2c881736223502360bcabb371be7633fd6cab43586143838010b80383fc8313f90619e37fc8220360034e237c624003fcf961636e962ba37a75f4d38ba049e3e85341e378cd7b137833a62386aa1e63d4216513678a93a362bdc9f378fb7373a8d6011360000000000000000000000000000000000000000000000000000000000000000dad2593663faf936de1250378c2b3a37b5ec3e36a7d68536c7959f363aa4aa36f408933641762d37297f8c37e9cd5d37100ae435c6e2033734f74237560d22378888f43495f8b8364a4eca3677c27f364a541336d7671038db930e38c9559a37440b5b3505301f37c08b0c373a8b363600000000000000000000000000000000000000000000803f00000000000000008293523683de7f3f8c188c3731152a37d0b33b36bfad5c3f47d10b38aef2b0361a8c9636cf2f2e3f28e40b381de452370f8ff135fb6ffe3edc974c38d14f2137c603f5343e49a13eb43a2537fce972364df717362c03073e34c332384dae9e37818b5735fefe8038e5de3037a77a4136000000000000000000000000000000004ecc1e366c97bd360c3b8338865c1337fb85e4354ee4d73673f81c3810881337d0e848362a52f53645f65038ea9014382afa663681ffec361969e337811f5b37b6965f367ef8d836ec0f1738cb4a0a37bfb06136e6dae736cb750e3856082837b9aecf36dda64c37c7131238a7c06837727b5135e4cdc1366d4f00386da01037022bd835cafa8836da994238ed989237abd0fd35fd39753fd1d92b3d365be136ee0d9d3569c3723fb120533d5ca611375c722a366f45533f23d72f3d1fd8ea37f38d4a3686ed253fa7a8053d0da637370895453672aff03e5482c83c0578093712b84f36b632923e6ff0913c4dfa17377e0ec9364b51d53d1109483c7e495f3765daf934a6abb1370e5d2b3a2d190037bbd8b435582c2737abf3d5385cd74837035bad33c54f513650a14a38441d6835539e5034fe1f8f37d4e08a381b0a1e37fc3780351c6f1c37d6a73038955cdf367bd383354c5aa035cb181638a26aa635ea1ea735d65a8836ba62e937d09e943608771735aa02b836aa5ba337ebddd1359ec3d335fb70b7372f516b3815c8f93624733036c00d9437d3423338c8374b37a0cca036b7a3093747551e38432110370d00ae33cde5503f84483c3e0d335435a10e0034fdae4b3fc7f8503e2c442036a84f2f3513e12d3fda13403e7a96a43641108335ce700b3f4b63183e6b6ba635fe30a33558cbc73e2153d73d01138c36457213353af36b3e44b17f3da488b3351bddd435f040be3dd4dfc33c1627113697f7163604ea0e38c076453a7b8d1637dca08f36b56d40373f909d384c810b37599a17350d895b3872e4d138b3e8b73580588e36a1d70937bba242374fe7c73640e19036d30edf3607976d375b8ac7360658c63517ef7536bf30aa37a638283686f096363b0fec3666fc0f381769bb36eb77d234090e69367079e23763c02f359435853672e80837aeb5b0371fafa436bcfea936cb93f736e3d32138456cd6369b4f043441e1cc35016340386aa295350d87f434bfd8283fae46ae3e98c69735e56578363b53263f5962b33e2b97b536eb468336543b103f6ed1a33e9279c236f467a03594c7e03e6dc3813ee2132136328d8c3688a0a03ec6723b3e25bcb836529cd2343f2b403edbf1e83d4c3f2a35185680362b3a843de3003d3d7defa3369a75a23641786d3870f5d93810cbd23608390434c428cb37de84ed3810499535d35d8c36fe6e6c38c735d6385a828836ebd4a236db910f37d73148377248a336878bde36ce109037d7ae013813f7f036b2e31137ee994337f10b813750711237cd59c33624280a38a4773238cf58ca36deb51237da2545375ea6a0371e5019372b66f536f3a1bf37b2214f38aa4fe13669c9aa363ef00d37d9db5837ade6b236a8b08f3623abd737131a74380d3794367f5a8236e968ff3ee73a003f73cc8036f9329536576efb3eeb20023f9c1d973612dcd43639c7d83ed6a5e53e25a6eb36ad9508379217ab3ea51eb93e28c2093733ffb2368a05763ea9f2843ef781b936a5100c37b7320f3ef68b283e256c0f37fdf4f2360d1a583d0c589a3d4304de369f12a1362e3f9e38e5320e3a8f06a736a9fc89367d5db438f920f93838b69136cccf9c353fd5833877cf6c3852280134eafcd436750cb137c0fb9b37e972a636f555a53613fa173726322137c7b3853681fd30358a1f3e370c417837524ed33471f1bb36d004d437deadce37c1ec9a3654713136814c6337182c71371ee0de35937dca36c8e10137291a4337ab9899366769cd36d92316372d241d37bdf398364929c2353b8b67388a3f8338f33b4c35f5fb8035d573ad3e433f293fe48ef733923dca36376aac3e5fcb293f8ee2923648ac9c36bdfa963e3b37183f92e06a36fc032d35779d6a3e786af03e356dcd34f46ab636c223243e4eb3af3e1fac90362af02536a1f6c13d3c0a5a3edca4be35f6c7ca363360cf3cce59bb3d024d8f36fee4bd362e3cc438db39043933dc9236822fa735a0c2af38fcf7bb389e9f22355c9b0a37698f4c38684b8437eb409a366b331537e8871238f110c037e54f2036a89f113689ea32384623e2373b14d7356d4dbf3575c33f37184c0037cd8527353b5f963620901737126dcf36f1e3ab350d99a635a1740538a2a57d376e088a358cacd536884d1c380c42fd371874df3541de4237974c77383d7c4b38205d9834ca807835a0cb02385ed976378dedc0330a030437af223b3eef35513f75007c36dc17eb360e333f3e9f03503fadaaeb35d8841036b9e9343ee9e0343fa5a7c6357d97b135eef0043e07d3133f47b9123599358b36eca6b83d8a58d43e520caa352487aa35515e443de957843eab738535797eba3640b5913cd583ec3dbafe8f351f2cb23630a86e39c5d699383d5e8934d7697335037147385c53f1374bdcc93391735f375140953834ae8037fab3c5351324ff36e3baf7375ee6d536a8fa19354c377137bafbbf37bde545374bc2cb36ca541937ad3ce837173af03685916436660e0b37fcc0ba37ba5bf63686e47d36ca625237234bc5371ac53237b30191360ec90638ff155938b3bbfc37945d863652431837f6a517383c2e14377cf72b36bb282637608a113883fa2437810e4b36e09ed136a28d273d327a753fe0097f35d373f736eab5193da738763fac8ff134ed5e5c372d96f33c009b5a3f5a23b436ee9c17377d4cb93c748a2c3faf834036289a083781d58a3c7521fa3e5640563646603b3763936b3c7c229c3eb483793636cff83708170e3c05e7fb3db1c46a3612fd15372f12143944ec65380b480636c09c0d379dcb8d38224ff23718d1353600000000000000000000000000000000c8ad4336e6b4b736acaed836f7b857358680ba376abdcd3723c6a7377fa61636c57f8e367a088f3621528d36ef5cef3456882037e36236371f89213774401436550f583783be85371f938f370f9fd4364cf0af368f35a336dc900437f24853364c922e37cdc16137bdbb88378ebf99360000000000000000000000000000000000000000000000000000803f000000009b19363614732c371efc7f3f812858357de49a37ced82238cc2e5e3f016501360a477236e335223716552f3fda22fd34da870f37a5402e389cbf003fffa70c36008e553739b90e38a987a33ee215b036e1e2b236a4751038813b0d3ea15c52367369283742188a370e3bd639375a8d360000000000000000000000000000000000000000000000000000000000000000221f21352192b837f3c683379d4df0353624f635d6f5b537f482b8378b8c1337cecac0346192aa37613e6b375e073b36f47a13365201d13751c0a837f8f262361aebd7341c46cb37d34f843729aae335cbbb9835ac5d1a3815d92837f35cac351b345d34cea032387e777137cb948a3500000000000000000000000000000000000000000000803f0000000000000000dc6416355c27753f116ab937c987f5358457ee35f0534e3fa124ee3741ebbe368afcbd34311b273ff5fbdf37a4fe0536a21213361249fe3e8efe0338fd2e65361222c0343812af3e15b1b83731bae8354c299835cdf93f3ef5da8a37639dc035db6d5934ccb8033d686083376f218f35000000000000000000000000000000001d609b3216a54a38c550673c5d97723732351d377cc893370678163c9fc8e4375ee9f23568d58f37d8b7de3b6f89da377e3dad35d47212374a4c0d3a93d4c4374705ee36e9e4b03765c74f3c01830f38116cf1357cfb8f377270073c4b59a737d5b71d371c12893752d71c3ad97b9837cc81fe35cb9c0e38f18c9439b47aae37d59e5d35d1b15a371e84403ac7399637d2369b32ffd56a3ffe7b693d79c42b37e15f1b37b2b85e3f89b8913d428ec137c82def3501de3b3f2a56753d68d4b93736e9b935059f173fd63f5d3d5e11aa379988ec3693cde53ee047093d6dab08380d2e003634dc993e1400023dcfd99b3762c21f37f5e0223eada8d53ce8e38537ba160436ade93f3c33a5c93cd5d99a373d226f3537791538407a2f3c0fe88c378219e9345c2d4738e832733c5ea1723583068a3694173538e09e6b3c870d0437182e1d3717658438b639d13be8a65437bf530435c9070938f3011d3999219e36e8823a374989f0373dfb983839b5713784151236059f5d386a3ae03bb6aea0361850ff34c67a32388c326b39b41ede3558543f3714fb6b384e7f8739aeaa773742678f35f80e1d38193aca39bdd1c436b9b4e834c44e463ffe5d4e3e73136c35d91a83363a183b3fe27b4f3e5b200337bd2f1b378c621c3f53a6423e2e295337ad8604358739ff3e56aa213e4623e935841339375433c13e5198ee3d2a687137966b1836b953803efaff9c3dd28ba036fb0b103508de0f3ecc30313d8feee235c2ff3e378fb05e3c9c4bd03ce692763742018f35f80d7d3830d7703cc12ae5351bbc9a35f2ae5c38a3817f39a2e6dd35817f3c372c463e38a53f013cf2cd6d37462c0136e7a336369a0b133af16626366e2d833509c5e337e614de399896e435fa8c0a37a1c85338d55e003c96a133374c92b33547fb0b36a51712397579e3351bf5233755232c387d40b139ae58493730e1693606ba8b38d847093a385cb6366d114c35c9ccd236d5e9013ab7be9835ecbd98350a31243f0553b73ec912d93536ed38375c95183f32bcb33efb886b37c23afb35bf72013f0e159b3e2f6f2436e55e8535f3b0d03e16657d3e6402da35bbbc08377d669d3e78e63d3eb4c33137437fb3352076533e451f063e11b3e035b7bc23375f4be13d6d2f973d135e493734e366368ee8823cfbacb03cbcd1b436eac85035b788af38a514433cedbe97351deadc36c98dc138e991403a6782ff364ee5c337839e2339bebd203a3f66c937102094370276ba386984b13957849c37152d54374acd9c38f3b8b03944216437f76ea5378364e63864836b3975a7a637d7875a37d75aa738db4a6639a37862379aa59737dab5b33840d345394dc9983743e9c837cb0f14393618ad390067c737c5c0f33634c49838ebfae139c0f7f53669c5db3630ecfd3e2f96003f648bf03616a6c2370dd1ed3ed235f83e4a59c73747f292378796c83e6705d33ee82d9837ecca533717ada23ea761ad3e0e365a37f69ca43747c3773e040e843e7d55a53712c65937db55253eb31d3a3ebb6b59370f0098370febb73d82ded83d306a953717aac837c6666f3c126d103d229bc537d43bf536e4def43861e91c3a27c3ea369a62983590f6dd382e11c739378b60359933b5368400cb3801060c3a98517336274a4a37ab7b80385138c039c7212737276cd935a00c823735040a39135bbf357e583237403ca438ca1c4539df010f3786b0e835349c49386b562a39104a8c355b962136bfb9aa379071183994590636b3136f370939753895165239eecb4337ce2ddd356f228038ea88f53852a6a435d6fc943530d3b13ea0cc233f5c8b4035db88ae361d27ad3e478d1f3f3e3158368f0e4837d3ab913ec3f1073fc9de2037a57cd7355ee96a3e00aedd3e0eecb135b6293037e36b2d3e85eea83ed25c09371466e9358b1aec3d76a36a3e19e2893580f62336b3da713d60f8063ef05803367ae86d37c91bd93bb30e1d3deb2b3e37ff9fdc357f37c0389fd00e39b6f8a235ad97e5353ff5dd38e950ab388c7d973530db78370f38bb38d3d6df389b8f4537ea0cf1351a1ddb3815220739cc762935b36ea13696eca038b1ec9b38f0442a36cec97437d0544b3852933638ad5342371847ed355745663857dd72384f6f36351ad95537b85b0539cfb90b39880124379ba70737f0c1aa3843900639d3d09c3684627035b48a84389c7a2239376ded340a0bde356053523e757f473fefbc8a357a8f753794d84e3e033a423f25403d37455fe5353565383ed0c0223f5ada0a350bfe9d36037e113e8913063f5a7f163616427237f46fdc3d5703cc3ecb873c377f4dea35a2768e3d393d8c3e640d1e3563bf543701d3043d14f0233e08392037a1bd0537e2a58c3cf4f90e3dcb519236177b74358c3a0c3c79a26839a0c1eb348e2f893709a11a3c7e947138340291358e79a1374123f638eb5ba73830ce2536966c973705613b394d636a38ccf92c379ad59e370d7297381bdfd53737763636b5511038ae88ff3b2d757e3825c30237e285be37d2fdce3872543138ae462136ae48c1373791413810570438060746366333d137c316b838b6b86c38d7d12f37f90257373da57f39a7e09a386257a332c433843766746b3da0f06b3f52e16235a91488378c75833d952a663f5ea1fc35bec780379205663d4d0a423fac702137b4e19737fd2f3a3dde301d3f9c740d36a3d608383c64f93c5502ef3e2475f736bb5aaf375536073dbfe5a33e9557f8355836b737ae4bc63c4172333e72a31f36d6e2c8377c43853cf1a5083d4ba82737557c3c37a5bb373c674fa9381ccda43200000000000000000000000000000000228a91352ea5e236b6a2713834fc57348b0dc235f37f50362882443815789735a5a5ea353baf14374f4405388d871735413b62364096323794521b38e0f31c364c830c36bca12837cc023338ec78c53418e66136ef5d9a378372ce3936df06365ca7e935b1ce383740b73b3872cb43350000000000000000000000000000000000000000000000000000803f000000006a989135b5537f3703b8773fe8295734b819c735cb36923716f74f3f3c4a963559c2e835bc37b6375f6a283fd533da3489b163364ecae737fdd1003fdde81436474bed355b1baa3751b1b13e3e8cbd341b4164365605cc37b011463e20310236ba0def35c55c85376bf52c3d946734350000000000000000000000000000000000000000000000000000000000000000b1a816360d032c3607eb41366c8544360000000000000000000000000000000091fd90340000000057b3c33391194b3417d8b836d936bf36a442ba36f5f4b63600000000000000000000000000000000c6a6273538aae5346132013582b69b347007b03607beac36679fa3360640983600000000000000000000000000000000000000000000803f000000000000000039c40b36671a803f45fa4336f7224336000000000b05643f33d7a836000000003944b1336339333fc44c2f336c711934447cca366c6b003ff911b7361875c53600000000955f9b3ea8400438000000007cc20535a83ddf3dab42bf34cc6f8534f286b4360df7bf3a5fe39c369ec6ac36000000000000000000000000000000000000000078a1b535b3fd5237000000000f4c8e3506580536205a4a36c0342d36121e0e33cefe8d337984f232211206320000000000000000849d0236c588a8359602ad3415448535f25bb6359d109a350000000000000000a4448437d9c64636958e9535998fce3538682e368395d635cc818f337d5983370cf9f137856b0e370000000000000000fe9b0e36000000000000000022587d3fb0e1473c0000000089596a3526c47a3ff4f8a23c4c8124363d485d33e981613f4f3db839fb1e46330000000052fe303fe2f4bd3861164c3477b03b35d144fd3e27bb2c39e957b935000000002f999a3e8b937139000000008c029c357fb4e23d3a624538c3fad13500000000eea7893ae4049e384834853500000000313a123729dc1f3800000000eef0a63308428338360ce138155c9e370dc41e34694e25349d9d83373d8a0e3457c5d533e9f7e53374bca934cb6722352d4017329d4b2a32d9222c32fc7d2c326a679a34d13b8234f05be5342364373500000000000000009e3dec350000000000000000f55e3436171cc43700000000d8c40936f3c01536de6edb36a97e1036d434f13535bdfe35bfce0c36e2ad13364546a23399c15f3f5056033e1f44f833d9aeee33c9f75a3f4613163eee7c56342b64ca33fec2463f6521dc3d008a0a35ed6d003225a9183f1e55b93d127d3932f6eb4132b48bd93e26148d3dafa208350000000090f87d3e8b914b3d0000000000000000ea52873db9c01f3d000000005713b63559b03338ddf93d38c2af0c369fbcce353922133631a08237b03bfc35d89e52369859c23774c3ed374b29733608ac92346929f1369121ad37feebb23569e930338847153367580e3337ad1533000000000000000000000000adb19434a9ecac351839f1357a22e235db3bc3350cfd23331b433d38a2e0413890099636380d3d35b9772b3542d2ac365f908735b8bcd434f0216c35395401376950ba347193b0377dacab38ba66d4383c7fb738d3c5303623d82e3f2099a33e82a2483600000000a90c2e3fefeea43e18f97d35ff760333e3d71c3f73eb933ef31a153300000000e2b1f33e4e70683e000000007d879535649fab3e54d2273edb07dd359e6bf43253d5463e8eeecd3de81a0a3350760b350275553d3a1f183dec825e3521cdda347b65ee3848479738e0803f35000000004ac9ee3806b80b39ee563c380000000058e7c6388415bf3800000000abf43a3675fbef3704d2043872d36936ed8dd132c4505b364a5ceb362f69d43484ceb934206a57353887fe36a0702535542e3936ebf1683674e17f364e295b3600000000c3484137b3957237eb41183551bec034422c7c37b2a2c437c1654835422f643680f8d53743cb1838ab5c833600000000575b0338550d4b3805176a37000000008e08003f3ac8003f0000000085874836c70fff3e6402013f36833a363c073233bd7ce63ebf95ec3e6a7c1d3300000000b7b9b13e4d85b83e00000000874d5136ea097b3efc48833e14514a3600000000196e133e37071b3e00000000d79cab34c2d92a3d483a453dc5999e345a48663624d18a38f9b1963814a77b3600000000adb3d538c0f709390000000061b59e378ec320392d1c05391117c8353f74bf3449b96d375458dd36d6128234a3160435ae8c1935e22a52358999843582970533a58c03389a8fa137360817332f72ed35515cff35119fc0353878f43500000000000000000000000000000000ea4d10333674b73702cffa37d75623332007f73575f44f37b25bbb371ed6cc35632062366c7572360e8edc362803833637622c3636e79e3eaf49313f00000000febfb83400d3a13ec8a82f3f24f9c0344f6307356d73913ed6e1203f8f2675350a3be33237195e3e7b87fb3e4b382233abd9aa35b80f1d3e4b8cb33e3e73c33500000000e067bc3d677b543e000000008271f532b4cb3f3d9bc85d3d79612f332c1ac635e09e6b38b91382389430ae3546555e36b439e437b979ed37de036936616e003644476c373b30fb357660d335f315c535a4e95237cfdddb358cefb73500000000bb4fc136000000000000000000000000000000000000000000000000afa9e934b7551c358f6a5d34d3b08134b65b3b3210141e32af7815324a1f1d32a549943480061034fc3af5345beb3635f999153443d2cc36c1a10d37d6a44134f134cf37b6f184382e873438209594330920e3358b0b023ef40e603f033f5a353e4fca351e24103ea2755c3fecadc83400000000c6abdd3d5cf2493f0000000000000000e5cdb53d86791d3f00000000387019355b6e923d9d03e03e03df9d3396920b32b48b793d5982823eaa881c327f46e133520d393db17c943d6698ea3417f50734279a2b39109811399cd90634a400cb331b96dc38ec37a23869bac33300000000cae01338b2eeed3500000000baa3503530a3a637ebed263400000000a1bcab3522358135160159356de4843500000000000000000000000000000000f07caf355b69cf353c216a35ba5f7635d4e8ac33568ad13600000000000000007936823311719e3425d20d3387382f33f94a373601bf59361ecf4f3686aa30360000000000000000000000000000000000000000e282a63a7f11803f00000000838d8535bb2f883c8cbd7b3f000000009f729735f5f9ff38ceda633f8e3c2335000000004f039c3930f0323f0000000066d4dc35efd8033a5ead013f7b5db834000000001b3d5339c3509e3e00000000c722ab33045fa53b188eea3db73bc732c8a0373699bd2838cd20e63a6ae510360000000027b382372f9886370000000000000000000000000000000000000000bacaa33681ca92360aad83362e9d9c36e84eeb3436605c34e2535534c0ffa634000000000000000000000000000000000d03b73689aea8364fa7a93641a5bd360000000000000000000000007f4d0633000000000000000005619a36000000006af03c3681144e360b436d366a6e36360000000000000000000000000000000000000000000000000000803f000000001f29a83669ed99367e01803f46ff97363f3f8e3463278c34c236643f99ef803400000000ca75a33765a1323f000000008a25b6366ca20e37ade7ff3eec99b43600000000ffc2b133e40d9a3e000000000000000047dbe0373102e33d0000000063bc343610195e3681a7b5397b342b360000000000000000000000000000000000000000000000000000000000000000c9f00836a9a769367e3d6e36c70d6c361402b3356413ff3519b72f389918c3355bd9ea36df170237364812377c290f37fd74c5369a5ce83655b8e736962ef03669ae9f357eeb8838d17e7438fc78933735e6c6365297bf3788206e37a717e63645ba6336f8652738abfdae3751878e3600000000000000000000000000000000000000000000803f000000000000000001280636d6f37c3f68df7e36e0366b366c84ac35972c643f49a5d638f516d935f48de836a3b9313f493baf371a6a1137edb4d136af68fe3e615a46376c35ee36747baa35f12b9a3ed3cbab383444033749a0c336ffb6d23d101dbc378fc2ec36732a6f364c81e63916d7fc372cd78f3600000000000000000000000000000000147b4a358cd139389ffe9e3820e58f363d55d935aa3fc937bf4cb638abe675362b701e34ff5035348bf03338f63228340feca836a5be1d38f810bd38877ac2375dcf9b35509d6d37cfd041387ca7423638b0e4334fda2738bc659238e1fb2a37c2a9b43658737538ed09c7381b21803729c60a3440a41438f3d19f3831b6103609fdba32f0c2a23262520838ad9ccf32860dfc343a86743f95ca393dc3fe8a3690e7b73538366f3f9ab15e3d6b296f3670ba0f34ae015b3f1231013d6c4e2a34345c99369090283f8821dd3c24e78137b1b0a035151cec3eb9afeb3c01543a366ba2cf33296b883ed534f53c4b0ca936905ca536efa6813de82f053d52f022371609e033b02a213aea42cc3b9d620336f721b7325f83a1371be697382470e8327723e4355d6223386cc060393a523b3681895334a38e9c3824a21839d8eb08347d321b36ece11b38657bda3871bf9d361e5e4734796c6a375fe6d9380021d635235116355b01e8380e1a23399a5e12385b1f6336768ed338aaf50b39b3bbbf368f0dca34147afa36322fd03748d149351f8218359a84a738391710394e7eba342e30d7351b0cac38b45e08399595cc375c4be835de75543ff9a12b3e20be2136b9633534c70f4e3f60282f3e16af1e34931d0136aefe383f9055123eb5539736226b30349a540b3f22c40c3ecc3db135e6390a350809c13e6184e73da6f50337d4fa4636bd98423ea902bd3defd5ba361f099f345c55033d9e25a43d37d6a834810006359249223937cd493dcdc9be34983ebe35deddf5389906ac3ccce0183684b29a35481cae381fc70b399a0305363bf94e34c821ed38ee8d25391c0fa534842b2f3583e3e3375e37ce389cea6135c30f7236bf608d3887cd11399f05a8362be6d034289eb6384d2f0639c3f3cc3576613e355eae04386eddbf387796b135facf3236b7b0d338bbdd1d39d91c893653fa2c3431dfbb38de452939f6d70036ab16953514dad83798f09838f3006136bbde93357fec283f4de0ae3eead3d935dc64e8331a50263f38f1b33e8382aa349cc6243514d3103f96c7a53ef2735e35191e67364504dc3e6fdc893e44e496360ddeb434530f963e7d5a4e3e2ba68835907e2f35ce60213e3d460c3e2fd9b8352d382136e6cd913c093b8c3d8ac66f36a9a3d433c9053739280f833cd1fec3356b208535b89a7d388932b338f8ec4a3635ffaf324d3a8f388293e9387ecb5d34d651823500452a380a4370384f64a4352bf183357bd2d3373db52238b244a735b60fc835e1f4e5373aa34238d2060536c18d6835aa6f14372789cd37176cae359528ed35b84d183805534c38fa33fb35771095354d47f037d09a3d388ea5d835e17e77358568a33792e47b38bdb1f635f8133e324d2bdc3793ba8d38eed58934fd499d321823ff3edbba003fb267403411dc1b35b8d8f93ec832033f3f496135a83e0e35ac8dd53e0b7af53ec8354c35f628a8357dd69c3e7756c63e58e0ef35921e27354475613ee1aa8f3e198e8735a15fb4355db2e73d4055473ea2ffce35403084357abf993c4473b03de577a73588ac283563f9ad3868f4983a2667ca3507c20632560e8138e44a4f3955cadb3207093736ddcb803892359538fa8fd7351fa2963551f00e3933a7fd388747ff34bfec5d36b9b1f338d3b1d738ab005136534cac35d5d71b3883dd3738b0f7bf354cf07b356fc6d538e420c73845681b356feaa136a107fd3891bee43874d39836f2e4673599dba738fce1d43874ac85359e56ea34dc19f738af701439e36d85346e8cf435c3f68e38effaa238fbaad0358d4d1f361c95a73ed76c2c3f323684355a028835a39aa33eb56e2a3f12473f3404215b362a848b3e5197243ff95f273657aeb235a2674e3ea281013f55636f35edc86235c0ce0e3eda35bc3e885bf834fa0e9836cafd943d84a96a3ecff28536c38e50353960ca3ce1adb33d73943d358bd3cc34c076483930ed953916d48434acc6d93523e9ee38314044399766c8355088e23524831c3977930b39910be735101ca334650c24398eb9fd38e41ccd3434dfd434c18c6637d9e61537a648c234f90bae36da2be938f731ba382b61833649b3583797d51d3954050d3967d411350797763561e5ba38bfc19e380d16043434d78b36c91fbf382b39d938a2a25d3657e5b533ae90f3385c54063973e03a3435a3243664ae84387a267538814a1836cd71f1351c441c3ee9d5533f1f64ba3569df6d349b400c3e92a5503f3c9ad4349a8ec2346006e33d1a43473f428dac347fbfaf362d6ecd3db54d1e3f9e83513656e44e356ccd933d71cfe03eb0ed0f35b2736e358e23773d52c1843ec57e0934afb0883674e2453d6ffbb23d3b80323644861833c318c33c0438e63a0aa4183480da1b365dfa453b799b9738f74e12360c53e13296dd4738a1a6bd37dde7aa32fcc7e235f3438d38a2492d38e180d73489f62237d7d29238be3133384c9fb736dc3caa361ede6338129f10381a2e80334c40373646461d380d03dc376b4efc35d2b586370b1aa838d79b9338f7a7c93604503734bac11938cfe32038f8361e34f81d5b369f0c93383dadb2387ca13f361b807e3623d44338824962389e56f035b5d1d732a104293d92b2753fa784a432cf8fca3543f8103d6548753f6f1ecf33ea2a193776b22a394186673f393e95366b05003614f93b39713d343fd2fc82331bb128366b71df3b19db003fb479cf356fb35a373b7a243c12209c3ec592b036a2e6483463fe673c673acc3d455f2734e2b058363ad1e538e6433c3cc6bf26363a55813643459b3846c0aa381257b235000000000000000000000000000000001ee18836ecfb923664268e37e78c65365090e636693ce3362bd8dd369f9ecd36cae98e37b85d0f38c34f0b38f4d4c2354b46e836e92eef3634deee369770d436c0ec0f37e6371337120d9b37371a0437b94fda351ef854388cdcbf38bbd6e335932e633647df7c361e1a9136b09d47360000000000000000000000000000000000000000000000000000803f00000000f133873633728937a901803f76ea51361669e8362ee43937a2b9653fd10abd36f0dc1f37ef42a338ca23333feb41ae35072ee4367657183757db003fb705d436d5e912374b88a73782cc9c3e9110f736a5afd83598fef838610be03de772cb3568b5563623938c36cc2a493ca7ae3636000000000000000000000000000000000000000000000000000000000000000000000000764a8838863ea236956e6536e78f9331a7e8d338641e95378d126a3300000000b65a5338dc9020368504a9356dd165328c7da238a1947735fc64283492ea0835364ba838766118361d0c9335000000000d74de38fd6e653500000000000000001eb0033956423a340000000000000000000000000000000000000000000000000000803f00000000000000000000000045d7783f656ca036a8b76636d0cd913189095b3f584514387c4533330000000065262c3f934a283696edac35b412633297e5fa3e7b6a703527023134fb1a0f3546389d3efb7a15366cab9e3500000000ed5afc3d82245f3500000000000000009bb9163a000000000000000000000000000000000000000000000000fb1ec6321912b737318f033d8983bd35000000000394e238fbd6c83cb75e0c3633e8b735460c0938bc298d3cb42276364a2eed336922d03725fe533c93ae1c361af9f434419edb38799e883cad9a28363f040a36a216573789334e3cf57a8936f996bc34ef5bf237ac22793c57741636c52490347c1fbb38976a6f3c70aa1d367e73f43530d20e3845dba53c5db76936e2dacb3287cb663fdec55b3dee12c135000000000e68603fe92f803d87690b36c6bbc1350287453f5ba5753d7d1c7336847c4a3409b4183f8db26a3debb8193623120d351bddd53e99ce533dad6828365ed20d36ab67723e84aa4e3d54d888367375e834e0a4643d03e43e3d51f81636bdf6a9344e4b3c3980a51f3db8e81c363659f435934fc538303b073d496667360bcd1535fface23891412c3d54907236251ba733297b12393017303d045cba350000000082951239eebd053df51a32351e53ab3361c480382d77063d60bb423608c38f335e8ac138d7c8f43c3e1fc3348d05633292921e392f6e013da360d63533c98b3360f91c396cc5103de3ae2a3600000000b72c97384c45ce3c88530c35d2114133f7148e3887b6003d06793b35be192a35d11a443fe020363e4f516c36f31aa9330c733d3fdd10383e79e2a83500000000c1aa1f3ff786343e86ac14353be6f83363a6f63ea857273ed6e441367a179c33bfcfac3e29c5043ea9fbc534edfd5c3276373b3e8301ca3dc555c935741ec73356c6433d5447843d49242936000000008e0c85392bc0553d8430df34f6fe42330d175d39ec6e3c3dd6592735d8275a34473917391591b03c8aaf443500000000709c38396be99a3c42b1ce34fa33913426910339e8ddea3c26413735cfa6d535e8f62039dd03963c88d5783695516633d3452039364f8d3c9fa976344b3f3836a7831139b28e993c96c7b6360000000054a61939e823a33cbcef7235ede39933a160283947b4aa3cc78fb034dbd1a3365321cc389111cf3cfd150d377e908734904c203fceeaaf3e036b0a3500000000cbf4153fe33bb03ea46ebd34031f9e34c559fb3ea483a83ee2582f358360f535fa35c23e04df8d3e162b6e36ddd38533bbb7843ec2d3543ea22c803416b846364139173e08c31e3e60e5b13683981332fd8c073d8fdfc83d33364a3509f5a2338d407d3911de293d37ada934c04fad36c92dd23998e6063dfa790a37d78e18367e6e09388919213b22590d36a473b63573100c39e35dc43a9c90da35d542fe35cab362389307a83cdfcd1636a1913a36494ca037c0f1363c4e663a365cc78c35461d1339616ed53ac4f2a43522c035364b11a33723333a3b34564836568f0c3686c67338a80d473b603305368be3c135118cf938b3beb43c7e1edc3509311036776a1937e779663c31bd2836e4ab1b369d14f23e003dfe3e777d0936fbfeba3536d3dd3e762aff3ed465c93586790036931bbb3e7700e73e9395103696873c36361f903e4ad1c33ebdfa30366d95913593ea573e9d60933ec4a59735077e3636a1e5df3d676d5a3e464e4036d36c0f36f3ad033d8063033ec865fd35da28c935b4fd3c392249383dced0ca3548ca0f36e47a9f38d1ab733ce5402436af6008373f201239ce45593b75adc036fcc59034f1c94839bbea193b9490a533b2c70835ab6b063938f41f3bcce2423487b9a936a1832b39e5c51a3befbb6f364e158334bb631439b8907f3cce169433187a5b3619522a3919aa563bf6582e3653e12f3545da2b39b1c8893b3c29ed343f5ba834c93f1439943ab33c3c499e338673ab34ffa6e7382f349a3b12803935362f08379e6f9d3ef682213f3d1fb43682ba9234240e983e1a88233f0033a03389832b35acc5773e0ce31a3fa4e57533250dad36a6f93c3e07f7fb3efe3a5536100d833454d70b3ee36dba3e0de98933c032683604658a3dbf89823efab71036c3de33359bcee53ba116103e1337c134e654b83484645d398e32f23c00000000ef21f03444e921390a1d8c3ba2ecb934b9191935d23e273930bd273b76936f3327a08f3403f0333930033e3a000000000a212336fdc11739f2558b3a561c1534a560c03554381c3944b5ff398f5249321945c63458c6de389956a23a2f1ab33389b43d36850fe7383076913ab93b6134297e04350d394b39a04e623b000000007685993528a71c3993d5da3bc959a833439e6136f49f0639c8d7a53b8998ce355bc0233590351f3e45cb433f70b247335915a434e798183e85e6453f00000000e99123369aee003eeec5393f6024ae334d4fcb35a790c63d8f03173f4e6f5132f0dec7349c288b3dc369de3e2b35a733c0543f3606b10b3d4d1a933e3b521f342c59153574bfb13ce605123e00000000cb58a0354a0ff53b362fc03c7306af33900a683630b29d3b1d499d3b5ce78e35dd676236bab2a638bfcbfe3af1f3ff357d70193657391d39ffcb4f39abd106352c651c36372798383e736d39e2c11c3506558a36c1fd843800b30e393b7a153693572436c5bb1b3956a557396bca4c35b5b71f36b3069838f29182391c28ff34083e71366156d63835828b3ac61fe6352d9a0736a11c2b39e664333b396f2234ad55d03578ae063823e6763b22af8634d80e6436e65a263dac8e673fce32ed35d71d1c36c224ff3cc0436a3fe40da734e36d1c36b9daaf3caa715c3fc1b4ef34d2288a36bfa2a63ca11a2e3f671c0a36c06b2836122cad3c9c62fc3e9332213572ec1f36787bab3c86fb9f3e206da43498b0733643f2973c8e0d073efc73cb35571c0c3616e4ff3b21dad53c00000000df2bcc35af11a53b390d8d3b7f021d34000000000000000000000000000000000000000000000000090d1a390000000000000000812e2b346e93dd3800000000c7ae9a35ae4e0436dadad53823e50b3548d13634f2911b35fdb10039301c6232a4c9a9358772073678b3e938000000000e699a33b1506b3474085439b7339131b2cd643621bb933609288f391afe1b340000000000000000000000000000000000000000000000000000803f000000000a61ba300000000068df7f3f0000000000000000c64df434e475603f0000000031c19e35b6bc08368f65313f5f4b0f3554713834eb6e4a355b8e023f431663322dc3b635a63f163695b8a73e0000000075288f3321ec883785af133ed0d691317ee1663622819a36a0b0e33c000000000000000000000000000000000000000000000000000000000000000000000000e3c0c73452f0e334ad01fe34ae690b35f8ae1d33cd552e33a909673389b483330000000000000000000000000000000037200134a2fe0b34fa73a834c8b57f34f6a77333d9c139341e23d133d1f7953300000000c5d86737dfcab73600000000608b193491421837e3c4c13484f23d3300000000000000000000000000000000000000000000803f00000000000000005ee2b03499447b3f53c98d380b202b35987df532cebb5f3feb6b543852b88c33000000009b8f333fdbc9603800000000e7212d34f1b4033f87ae353763e7dd34000000004d0fa33e0a1ba6394ca53f3400000000aa44163e607f4d380000000000000000b774013d706239389c663034000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e6518731a1a1a333205b90337392423300000000a9bf3b33389aad330000000000000000425117346c303c3471fa8333c2df3c334fe5e733b388c233d1c3b33300000000d68aeb3553188233b9a9be32000000000000000000000000000000000000000000000000000000000000000000000000ca51773f7b67343d0000000000000000c4c96e3fbc205e3d0000000000000000cc70593f5d65d03a309b103300000000e3f22c3fd84d803b0000000000000000efcffe3e49f5113c4a2b9b3300000000237e993e07eada3c387cd3330000000063ddff3d24cee83c503d053200000000987e333cb61b0d3c00000000000000008403b337c7eb1638000000002a118c34d87e8134cf5f97347fa267344afa053426d8203436cd00347828dd33d18db23206a00d33775b9d321af9b132a0a75e34e55d9434709cab346740a634b05c4434d0fb7d34edf89534e792af349e709b3137bd80321b2c3232e4284332ec18543408829434b465af343964af349d7b593486bfa034c175cf345c09cd34f0150034b87338348d8966344960fa3301fe563472b65a3f25cc233e0e0b8b34d5f59133db5e553f4895293e8032fb335d5b8d32d4af3f3f9de1e33d5c9845322d5f6a34eb34133fb91bd93d7cb28c344fb74c347364cf3e2cafce3d49e59e3400000000a481623e9f7dbe3d42515a32cd526f3439f9493d1198b73ddc509d34439f56343ffc293a4b82283c00d5c534670a3d3244a28e3450d0193af0bb4634e0e70a344e2257341e1c1639a5783d346bdb6d345d468c3401704e3443dc2e3425e83234d66a5f34b51e2c345d4b1834f0d45834d33fb5347870ca345ef186340b54f633c1f62d3470034c3494453834bcfdf9331bd6a335224f3d34379fd4337e2c113391d0d53306cf2634ffaccc3305b35634df6c2734e7998a343c607a34f6d2fb343736003500700235c4dcdb348fb8353486ca313f023aa43ed2cfdb335c406334bbf02b3fc6c9ac3e3e032134e3ff4b34d727183f4207943e76cb003498c96534b34feb3e9f5d793e0a1b1034764cf033450c9f3edcf2413e826457344ae7b833363b3a3e106b1d3ec9b0333486c568337423343da7d9b13de7dda8333eedc433758e963a5e08ec3bf6899534286bbe34e7a96c396bc88e3ac222ec3424ab19303e4d3730e2ba0330f1261330000000000000000000000000000000000000000000000000df5bad2f0000000000000000fb246633da71c33388cfc43000000000d656ef33bb69193417e1e132000000001b416633fd4f45334684f23200000000f9131737f972043600000000000000000000000000000000000000002a78fb2f94933630074a48307af70830aaf7e82f2af2013f5293033fe00c1830000000000de4fc3e3b30043f0000000000000000b2b8dd3ece0fed3e00000000000000005bdaa43ebc96c13e00000000000000008a086b3e05b7903ea2ac103200000000817c0d3e85773a3e1a6eeb3200000000e1d6373dc11d9f3d0000000000000000050c273b60ec773b000000009ed0053017ac08396ca59039b792193052fcc734fb44fe34444509356ef48c3453704134d24845345631e634acf78c33ec53aa33cd3fb933d9c36933b3318333f61b5d34e7c61e3458c3683433a20e34c44464346f793534ff481c342a732c345b1360341bc77434e51e37345fbbe233965e2e349acf16365acb7f34e8a15d34efae1534a6bb4f3446a7843430a1833478e454340ce32834c1ff573480222e34bd12a034e6c2a23ebc75323f55bb86341cf8fb33e785a43ed947303fac548f3298a2c2333f09803e3645233f47b02b33365dec33e5bd413ea402ff3ee7617c3323b53d3483ec153e4a1ac03e693af8334e462434f500cd3d79645e3ede932d3494a427343887943df864873d997d4234e33e1b34695fb23bac2cfb3a4ed177345f1091334942743a3d0b133a9b6b1d3401466034ea714d382c1ad43429340b346f32be34627cd534357aa134f1557b34c1479134c2d0a534407b8234f77a703431e71333144de533d67efd336624fd32d18f8a34eb63aa3499268f341d52763420a79a345a0d2637b42e9234fdff77340000000009be02361419273383b6ea32ec0c2834cbd441348c728c34a8d42a3417e1bd34ebcfac349ff8b634cc069a342bf38d34d8d91b3ed7705c3f4a115632eeb8b934008e1c3e8dec593f852a5f340778a7346deabf3dc028493fd27e4b341de14033286d9c3d3a1b203fed4c6d31ba84a034f8a0923da0e5e03e91ec473477f8a834c0ba9e3dedb8853e3768593441c4ba313f48aa3db00b953de65ba132bd3be833b7c7713c983aed3ad6975f34d43ba83485fc223a7f67a836bcd18d34000000005123b937000000000000000000000000000000000000000000000000bb2046323d23eb321150853237d1c232b886f53038250e34d3562b34241ea1330000000043797034f2885b347cabfa330000000015b9cd37420cfc328447bb3200000000c942ea3639a3f533904f95320000000000000000ac699b330000000000000000000000004ab073320000000000000000bee5323d9f49783f0000000000000000958d293d9867723f00000000000000008f521f392be75b3f8ce2e8320000000027c32e3aea062f3ff19546330000000069610b3cad02003f2381c033000000006692db3cd09c9c3e2d79b8320000000003b8273d8c5df63d00000000000000001cf0043c441f6d3c0000000000000000ad7608390000000000000000000000000000000000000000000000000a095834d45aca31aee7f03250048c3300000000000000000000000000000000dbd15a3425bb57332648f0332761e6332005db3422494c349e3ce03372f8983400000000fa8cf637a312a4370000000009772a3342ea03381641e037110c4133d0c70035424ff234cd55e7347cecef340000000000000000000000000000000000000000000000000000803f00000000ca3e3c3335ae303858617a3f00000000000000002fb10838f4005d3f00000000fee0863308c7a638345e313f850abb328a058d346292e23784c2fe3ed2084b3400000000a208a138ba9d9e3e00000000e264943287a3b138d58e083e8767cd329000d834b6a8b439dd40de3cbb6dea3400000000000000000000000000000000000000000000000000000000000000004aeda334353d98344b452535673f4135000000000000000000000000000000002c31513429456d3448624234b2ed273408073c35c65806357ccf4a35e26e8a35e9079c3498599534adfe5c34140ced346b5b8c34fa4bfb3452d4bf34dea7b334bd7d213430ba28343e76a7340d36e33400000000000000000000000000000000000000000000803f000000000000000017db8f34948b793f0b4c4735b6a0473500000000f8cc653f0000000000000000a5686a3426fe343fecef4a34b9751c34c54a27352507003f76f58135abe88c35ebcb7434fe9f963ea2e26634be71d434310e9c345554d13d2a89b93452e6bc34320a1834b6b9ef3b899bd4343c1abd34000000000000000000000000000000000000000048d9a03448e795330000000000000000000000000000000000000000000000000000000000000000000000008ceed931d60c0032329ebe3190bd8931ce78a1345ed19f3471b47b34a785ea33000000000000000000000000000000008d090d32fd84233237b2f0375d43b1318bb30b34864537349ad21d3471944a3300000000000000000000000000000000000000005a11713fd49b8b3d0000000000000000f01c683f7438973d0000000000000000e215563fd728253d00000000dbb8f131987d233f63773b3d4ad63e3171069234eea3e03e6bca653d503f7d3300000000acac703eb49a5b3d00000000190a1b320edc333db88a733d37cf7431829a0234bdc62b3ad1cb093d2b61813200000000611d283732dcc83a00000000656fc931fd089c34b8d5d034c3c50734b1f8cb33a87232348d91893448b8e233d4b4b533f35f0334e8112034bbb5083420488a340f217f34719188348d6d71342713b5345d5d2e35e6234e35cf5ad3344007ab33efe03a342760df333343e233ce5c0f3453ec15342c362034b29bf8333c86ca3401076d356cdb9f35438ff234000000004732a83100000000b0ee8b2fa414df31a453523f19a0443e4bed3031732298330c614a3f6f79423eb88e123419bc853342dd363f6e97263e68dd223431545a341fce063f8ce2163eef9769340f1bac341081b13e747b0f3e28d3d83411c27c33a96f193eb6bc143e7e0fe533e9daf4332d13a53b9d3aef3d9c45df332a0db634f8f3c539d605973deb73f1340000000000000000c3920a3d48604a33000000000000000066bd653a0000000006f51734903560354c89183a0c9c46343c8abe33d1395434305e0a34a91dcd3300000000301680325445a133000000009560af34d44ad93441bc73399f2982345fb00b34967f8634e3a89239a6471a345991543488237e34ea73cd394843043487a611346575613442650a393b0b6734e4f312339a2c87340a0a6039ca7fe0330000000084fc2b3ff4c4b03e00000000de820d3449cf233f2877bb3e587230343bb0213359060e3fafcfac3e1c97db33a34e1d33643ece3e1b99993e00000000bdbaab34d133813e8d60793e085b4234cec3a6336ef4db3d771f453ebb8a1634226569348e89323b634df73dfbe9b33372e51434afe0433a3867473d2b153c3491a03e32c8b869391ae28e3ba111f633000000000000000025ef9c3900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000909bc6339f8ce83331be053a424fc13200000000000000001506e0390000000000000000000000000e222f3a0000000000000000000000003b67a03900000000000000000000000038ac393a0000000000000000c46eff3e4740043f00000000000000008d0bf33eab68053f00000000000000002915c83eef63013f0000000000000000b7958d3efdd2de3e00000000f426b933ec373d3e7f08a73e00000000000000009812a33d15336a3e0000000000000000dbee683bafe3f03d00000000000000007a7a7f3ae7bac23c00000000000000006f72513a215ff53a000000006445b6331752dd3323b27c34bd9f1633de4d8b343b019034daad62349bdd1e34aead0134436a3934113563342eff3a34af3c2d34c81cd133610873348c160d34bde7973464932935361b1e351128a63400000000403533333fce9339709bd4314ebde733aaa9ab33309cac380b77b333dd7d863474858c35b60e443aca39f73300000000000000009ded97390000000035aebe332d96a63e4a1b303f65552d3216098434dc84983e8d922b3fa6662e343612c0338d766b3ec7d82a3f56575c34018a20347662253eb6da0e3fb80ed233d78d9634a87ee83d7e71d23ee00ba73400000000bebd6c3db026853e16209e3262b41434007ad73cef0ed23d84dec233974f89340905003b2a2e093ce17d1034000000007b02a43a4ecbda3a000000004f7bff32aa0dc4391b6fa731000000000ded0035e1207735612f8535f7d3bf3467f1d333bee507342ed71f34dc12ec333bafd6330abfee337e5a3b34599a80332ccee434d33002354ab2fc34db7ca2349ac646346238573482f481342cbc4134a3381b347aaf30349f4e4237df0ebc33e659c533506c1c34ca5d7b34faa9ab3349d1a6335246ac340f919b347ab5a833bde98433c884203e222e533f0000000049c7fb3463b4003e55c9503f1b388f34645ac1337762af3d4af24e3f8406d133dcf3ee338e3b853df426283fe86d2e3328f4e1340c58873d7880ed3e64a66f3440143a34cb33883d0e0b8d3e36d7343452c62b348e79593df438b43de3387d335773cf33b670e63c0fd2d33be9bd0e3356a36e33f6a03f3a110e493aae86db31000000000000000000000000000000009de9313418b24c34c87f2b34654c79339744b031e62be431443e14329c9cf73100000000000000000000000000000000d01386342b8a7234b91f7a34ce2b303428718c31d4d0ad317fb8dd313d6cc63100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f7e3583dbdda743f0000000009d41c34941dff3c4599713fdbe58a323e718331b3152a3a046d683fc3b1113200000000c7fb663a10f9383f00000000859d8a34e5aa263b5e1b043fb6290a3457ba4f31d4ec7d3c1c03a03e2e4aea31000000007a48db3c9d4ede3d0000000000000000f3c2563a1f29ef3c0000000000000000f51b233abd67913a000000000000000000000000000000000000000089572135e0dd9c3432b960343c52ed339e04ae34b72f8e34936c993478a49834734c4a34902a64343b828d34b30193346b2eb33531e170356ee56f350a5deb34bc55403493443b34ebb96434685d443400000000000000000000000000000000f0d25b35bbaa153573e41d358a645d340000000000000000000000000000000000000000000000000000803f0000000005351935d03c12352610803fe7b50d3479ffbd340221bd344c73673f70629234d826aa343d3f8d34d49e363f49b05834354ab3351c8bae3524f0013f28a8f1347e1532347bd54e34ca069a3e512763340000000000000000aa58df3d00000000e0c6563545e64e358a4d043d70715934000000000000000000000000000000000000000000000000000000000000000000000000f9cba03964260939c47019340000000095fea63912644839000000004fc8ff2e4dd36a3949ed02391bdbff3200000000245d9639c278cf38558d95341ca75a2eebcbbe39afa0dc389b58bd2ec1124c30833cb539de5b9a372c35af3000000000e6eaba390497f8380000000000000000000000000000000000000000000000000000803f000000000000000000000000fb09753f89e11239cf5f1234000000003555673fd5a159390000000000000000f762323f98b219390000000000000000332cf73ea981fd38f82a843436b3612e9113893eec1be93885d0c02ed28f5230ebbc6c3d4e14ad372a21b23000000000df26563a5c3600390000000000000000000000000000000000000000d625463262a09d39757afb3c670a9a32a3289b30e7c4e639a301be3c20e9a635000000001006d4392767a03c0000000023775f316927b939331e9a3cb3240d3200000000e480d339a636ab3c95fed035000000008fb7da3989449b3c000000001efb243213b7c339a0b5b43cde21993200000000d26ce9396724da3c44af5b35000000006e8782390fc0c63c2babaf329df93e3242c6613fdb31233d0649ab321eac9130e09e503fd65c423d5322b135000000008568463f6d63563d00000000b7d96431951e0e3f30f7513d2ff50f3200000000dd67ba3eead0453d38a6d9350000000038351b3e22b5473d000000006f37293255ab0c3af96d363defa39b3200000000bd1a1a3aa78c323d9e766c3500000000f552ab39665c0c3dd19fec323082a3335a8cbd3995d6a83d81dd0134f47d7a332613d9394869b63dfc10033400000000085ea739b733a63d0000000003ba16330b97d6391120ab3da0e77833824b0731f935b239c56cb43d5b5b193300000000ed4dc839c47fd43d000000008deaf0308a0ab239516bc73d024e313221a251339140b63989c2a13d3d2fd533000000008b1e7539b30d8d3daa11ea3208d1af3363bc3b3ffd4ffc3d0a6df2335bb56133bfdb333fc9b5013eecdcdd3300000000ed4b1b3f4389003e00000000143f243388fbd93ef7cdea3d88c06533c98cb630cbfe843ec74ece3dc235e63200000000ff079c3d2a43c03d000000001ce4ca31e289e4393893b73deec2d13146914f330849e9393781bc3dcef4b73300000000d2fa9939d8cba63d8757de32ea04ed317e80a2393af2b33d7db54233826edb328db8003aad88ce3d112f28336062272eef4ce139546ccd3d4186033100000000d7a7b33905a3ef3d000000003e1da930c766ea39f0960c3ea567a830a54aa03290ede8398c9b0d3ef980aa320000000001fec539c1b00b3e0000000093931d337d7fb739b9ae003ef88f5e33c5088733e7e59739fd70d33dbd9d8e3389f2073271140b3f8832883e03b1a33215aa1d337ec5fe3e03e2823eebfdc5325e992b2eba82cc3e2497823ea420d62d0000000030798a3e0cbe743e000000007806b13050e20c3e2343563ee6189430f467a4320c46e13b1b55183e58e39f3200000000f0c5063a509bb93d00000000ae4d7c3392ebee39a502963d6e340733c4bd8a3335cae7397b715e3dce478a33d91867313124d139d2399f3d0000000000000000d1b3203a6233b43d000000000000000051480d3ace12c73d0000000000000000b1a0183a1e2e063e0000000000000000039ff739158c013e00000000000000001ed5173a2e7f133e000000000000000039e0073ac6a60c3e0000000000000000dd800f3a1348103e0000000000000000efdd9c394642ea3d2e7ef43099611431d512b93e9345d73e00000000000000006738a33e7c05d33e0000000000000000fc69813e656bce3e00000000000000003254173e8a38bf3e00000000000000001973a93dd8e0963e00000000000000003b9b813ab2e7573e0000000000000000813a203a0892f03d00000000000000009a8b283a570c413d6ab9d32e000000008570c3396da6093d52ae8031b2e27533d835f439b41a3d3d7c70b1334b7a5d337a4c0d3aa2e62f3d17b67f33000000008b0d163ae24e843d00000000980f8d32f325143af9f4e93df2c1da32d5b2643049df093a03fee83dd281f03000000000153fec392a9ceb3d13df8230098acc2dd4fd0d3aed47fa3d7dee51317c811933ccfc0c3aa322f83d55f31e3379cd7932482e9e39975fc03d7efa1f32e29782330b36503e19161a3f0950a53390a33f33ce44273e24191a3f34062433000000004f4f053e98c0153f00000000c7039a32e707913d369e073fcfe1c732285c7d30b7ef2a3c875ccc3e7e9dd830000000002ae95e3a141c883ebf29a42fe870c33068fc2b3ae79f053e4c422e2e07d01b334f8b293ab268013de3efae32cfd6a432487b143ae92d8e3cc5111032ab5be2321461aa392d5f9c3c51a2c3327d22c3339bf7fd39fba5bb3c20b26533d3a05f318d91db39f2c4c03bf379e931000000008337df396f02213d00000000cd61e5321f8ed139acb6213deb68a93160c23a33881ff439aafb4e3d96f73533000000001cebc239dff6593d000000005ca8d9334764fa39e0e7653d2bca8533a088c7334410cc39ec82163d0ed7c133b577fc3248d2953d568a433f000000004f77d933d035483d3d5c433f4266253320d73031d8fb103d5b3e473ffc75d73000000000fdb7a13c38662c3f000000007c781b33394aee3cd9d0fa3edab9c430744c3f33ccb2ae3c815b9f3ebb6c2a3300000000fb30653c556e013e00000000aa780334510f153b06f0f73c35883733b51ecc337ddf483cbc6d9c3c0b71b833f5bce332a7dcea397a41b93c000000003e62723536a93b3aeb016c3cbc6bc92fd3a89632792f1a3a037e293b35602e320000000041c1183a6eddd53c0000000034a8df35b7ef213a78080a3d00000000c5390b323702233a7b25753daa0e70310000000037f6333a4b1e883d000000005e06b735e743283a24ce933d6e749d304ef192325cfac839e931163d9f954a32b8d2b732780e5f3cadd9683f00000000bc9180355ad7903a71da6a3fab49f02fb5489a32170e323a4ee76e3f412c2d32000000001d1c333a8112423f000000000bd1e5351daa403af32f093f0000000076450e323a78653a93f0a23eefa36d310000000093495e3a247db83d00000000ab8aba3514a83f3adae0373d75d0b430053f98325f63e53951f0793c38765a32000000000000000000000000000000000000000044916738ec9fdf39000000008598ad30b10dc933dd82c83979ad56309914bc2e883de737cc97d439ac17662e4dfd86340958263874fccc390000000000000000b991a638151e393a00000000000000005fd41839034f473c000000000e2a043428c79438944c373c000000000000000000000000000000000000000000000000000000000000803f00000000000000000a5bd8380532803f0000000016c5b23056c24734d8c0713f710e54308896c12ee66ca9384a1b3c3fa57a632e6d389f349abbd2383fe0043f00000000000000004ff30539715c9c3e0000000000000000b0d74c39473fb13d00000000e0872d343100fc384d990e3d000000000000000000000000000000000000000000000000000000000000000000000000a5180637f78227379c0b2a3725d6bc37e11d9437cf007f374042a437881fdb37711b153897fa04388f2b13384baa7e380429a63744d9803769559837df5f03384bc9a93738329737fb6dab375944c5374f8ae0372ebfd6374c43e837b542083866cb3b37d5ae773729946037c930673700000000000000000000000000000000000000000000803f0000000000000000c66983368e5a7e3f6b2b2238f727433717213437cf66533f5555fb3726b1b937c2dafe373f002a3ff446413948751a38fc078337e864003fe1511638c124bf3784c985377becac3e869dc337369bba379d12a137d452343e933721385d61e837dd01f3364bd9003cb38e6b37bd27633700000000000000000000000000000000393629375448ff374c1c0138a944e4372b927e351d68c836427a6637c4c52d370758f336f4f64337fbacb3375fc6d037ecbdc6377068da3745192838b74766381edfed373bfdfb375bad2c3a400e843a0bf3b23735b6be37872de937a0b4f937dc278b36c268fe36c8e56c37df73b23741b73e379fe7d637674def371cf2083874f07a378761cd37b2d6da372f8ce43794b19736ebc87b3f43a3843ce757ae3746b8d834a859753f7423083d26c4c036c10f0c36eb8f4d3f2341fd3caf5f853738549d375aad263fb047b13c18f20438859a9037fbf3f93e092a083c4340093aa2bf4f37c554a53e4745c439e42be4374e0c463657e92c3e49d6b938672d1b37600cc1366614523cea154a3877d9b73777ebe236e9e3f4372aa7e6379f99cd37ab366437853e1b38e8821938802fd437e202913786a90438dc440938da96ca3732a28936f8351a3786514737cd4351374a70c9377f332a38ae3a6438bf2f7938c269ae37a906f7378c232638a9621d38f1fecd37d19a0338abc2383888c04b38130e0038396925385d94343811812f389f66a437bb870438ff570d382bcef7378a8c0238a29c1c388fcd1c3827d51938f29506365171523f25ec353ed8206e3782b6c0369d924f3f944d3f3e3d4c93371c3b2d3653a12c3fba412d3e44f47f36746b3737fac60e3f7ca6f83d78d1f9375255a736382fd33e8812b13dace1ad37a16b7737a8f08f3eb90d1b3dad75b73735c59a371c65203e63d8b43993960f38514a0c378223093c96ae31389af9b037e8d1d13792ca24386f7e1d3872bf0d386439f637cf115d381d3d473802600838451728370d66f0371bddd9379d6b4a37034f47375d8ec8378d80ca37723e9337a527f13631df0238cd9e143871a9b5379bc7a13785d3c837ef7ad4375eb1c837a8f9b537b88c073843ff1b38bf13fe37c3f98a37c649dd3788f9e937400fbe373fd13037ec808b3770868c37930b57375d0a8037cd5eb83720dab037cc899b37abc62c374aa4293fdf76ac3e1e26b03787440537ea80283f42e1ae3e7d3c1337de6f1637357a0f3f6529943e25671f37cc2985363af0e73e7388663e37fd8e36dbced7361379ac3efc1f263eca0e7037091071376be1663ecd1fc33dd9e492373a5404377d44f13ddfb3023d5d49433700cab436ba20633b8db4d937b00915373a59f736c08b02381fe5da375e6851375a0cab379ade3838ebac1338dd238f37d3b9d736c78b2038ca27e137f5eac1368a47d6372f3ffe37aa9fe8371e8dbc37849f94373764b037d94ba3379c5482374c85dd3742deff37c943f337ffd0d03710c1a0377b85bd378fb6b0378e1e8f370ebbe6374a200438263001383dc1da375ad938373d6cf737bbfee23745653b377fb9c1372d19f4378b30eb379514bd37a681dc363e64003f1612ff3e189bbe36d1db9b3692ce003fb03ffe3e6c7f9836343d3e3781f5d83e71c1d43e9a0d2237fd6999361ba7af3e16e8aa3ea7d49c36962383372dd8813e012b7c3e238c743784071e37067c2a3ed53f203e23dd0937be88a2378823ad3d9f639b3d1599a137e1dabc36c0b5893840007538c633c2360dbb9837b9df1e38d45914381a7597374a096b37903f203829580b38033bbd36aa1d38371deda837c1fa6037fdeb9136f225ac37f51bea379ecda937ad9d1f3743b9e437f81021382052d237c8c49137d3f8ce37ce2ee2375bffb73703469237f636163835733838b420e837741ee93677bebd37acd0fc372590cb37013d8a37b969b1373d57ea3776a4dc37b8757f3706ee25383d73393889ca31381ae31438f8a34636dc9dae3ecf9a283faacf3936aa8813366756b13ed769263fb8fcc7353a36063740d2983e4e380d3f2493b43609d082376f26723ee29fe23e323663373fdb73370917303eb447a83eb7bda536afcbbc36dcd8d43d69f75e3e44c1893666005137e9632c3d3bf7dc3d5be22037960d2a376e8c2538c0fd24381a951d37708d0938cb1a4b380c834138728ddf370fef123882d942389ae52038550bbf372d03db3752f816385b19de3768150c37b2ff2438179a3038b0b60938c624b73707283f389f583638d712c137e69b82378ce52038c9f71e381781d43754958137b18a80386cdf7538a88725382ceacd3710b371376ea58137e8e13437c661ae36829afe37f1270d387505023889a9a1372483f93755130538a18df2371155a7376afddf37b001393ec0a7513f971f1037cbee33371712433e41084d3fed53e736e3dfef37bbd3333ec5c62a3fe9e97b36256aa53736c9083e5c170c3f5c1469371e3cbb3724dac23d24bfcf3e25c793363145283832d4383d6b028d3e9d863a375e631e377c3c033c4dea173e3c623d363765bc372e0f983876da083b3a6b793704abc8379edb1838f1490f38f5b52c379168da37f45404389b88ce37e03094365f02d6373f010538a5b05c37ac56b53693d4b8378ed73737eaa550361bee4e365d81013859d0e5376ec59037b7b4863787e9893acd4b373a3bcde637de68cf3773c07a3837884b385a50dd37c9c1c237a9c4db3716f4cd3778a088372949073711d4b73702b5873750571b37e25242364061f3373c4beb370889cd37353b7f37e1789d370205a53c55c87a3ff51f4836fcdd81377835193d2116733fc1425d36f261f8360aa6183d3f2a4b3fd33716368967d73738ecc43c9505273f307da43606fc133ab4fa853cfc00f73e64b37c37413e2b3877640a39af58a73e6001a537d253aa37b55aaa399c8b293e522e383604881e371d382e38e00a053cd219453574a5de377a4803383e2af237a87a063700000000000000000000000000000000d3df6b37204f4137c3edfe363b56b7366be425381a9fd4372534743787468e379ca2c137f736a737e36f7637113e8d377dc108386b47b137e1ac7837cb0c9537fbd85b3801aa2138d77e0d3869001038b50bcd37aa6ac737672bb637f78e9737436fce37f67fac37f692be378c0d37370000000000000000000000000000000000000000000000000000803f000000005e375437fbd1b8379cf07d3f6e903733c9b3e2372a93cc385dd5523f22791a377a5cb237a209d4375c74293f125a4a373119c837930fcc387003ff3e6e0f5f374d33283826d08c39c58cab3e313e00384512ba37648a00384f14323e721b62373d8898374a4d06383f3bca3b8ee8aa3600000000000000000000000000000000000000000000000000000000000000001867a83653819b393d760c387c508d37b8564e37f8f39c393d532a39216c0239102119381b3e6d3819ee61388af55738f19bdf378706ed38fb78e8388f3e2c397cf4a137728a4b38d63846389b055f38bee9ca37ab27513893c743383a873738deebc4364cbad13704ccb3372794793700000000000000000000000000000000000000000000803f00000000000000009c8cb53569ab6f3fc828743902191937c347093725fd493f17920e3af312a83726770438a341253f0bef91396cb23c384c43c83709c5ff3e5ee1c539701342381cc23037fdc6b53e05b6c738bb9530385e567e376115583e89085f389b09223825d4b0369f02833d3da1c3378b143937000000000000000000000000000000001fbc4e35075cbb3803fff837a60d2b37c204aa343e66f137ffa0d13705ff203729b0eb35361e32388eda21389e1b753766bcb137161f96391461e839a6768b385a73bb36e2acbd37117cdb37a916c537637b93360bc00638da444238ca8bf1377c8a4237a84528384976393813c71a3802df84366f51d537ba82e437492ea6375dc0cf36244f1a3890e71838f3c1cb3711801835251f6e3f916a8e3da57ec536f1739f345ed35d3f9d26953dd4e58b361c87e035749d3c3f3a0a873d5d3d3237fede6d37a8d91a3feff0453dee2204383eb31336f48bef3e6301003d9c8aae37884c3d367dbaab3e5b5f133c39289237336219377c6d4d3eee24de388461023891bc2c35c466853d8192003871ff9137a0c094367307473864831f3875579537dcf305370483293a42d650380c644e37486774355c89193a5a531539fc5a0337c9dd8836f7f2103a95fdc939dbe8903710947e37ab9c56384ede4d385625ea3732918a36319b1b384b063638299d823791aba036496c5f389cef70382ec056378e003d37a4597a39b3c9b039d2551038e0c9cc35246d5f3865faa837468b5b3650ade736268235383a1b0f38f08e86373375e2369d30493f8c505a3e8d3a2937e1ce5535865c3d3fb405553e1e3c8735f1fc3436e4071f3ffc83363ea2702837799914377316043f85380e3e6daca63736b390354297cb3e927fd33d74b537376137a036df67913e5c09753da32ea7361b11ab36cbd4303e6c09d43cdfb7bb3708f0cb35021b673d00b0c639f1b8e435daea163605107c38c15d3e3882923037780eb73723929438698582382188c337dfc44f36bc55813aec361b3af2ca4f36373509375e784b3abc00f739b8742837cace863716d2ac38e6d39a380de08d373f67be36b0c12b380491253850884137a9d80238b89ff838b5028438a0bf18385cb6cb3672fd213861d01f388948fe36ebede13548391c38834e11385319e7358f7bb037f6c419388db7143897c0c637bc606c374761253f9d0db53e08049e3771bf4736d9171c3fa157ae3eeafa4e36e6515936a3a4043f2c39923efb895536b5826f378633d93ed1da6a3e77c7843788dc66363832a73ed5e8303e226f6d3654d1ab37a1ef6c3e5171e83d96a0f837d686ab3619ca0d3e90146e3d56b6dc362970df355291453dd19f5a38e0e9e53579019a3771fe2f3835eb1d38c175aa37472655379881da39bc80273955bd2a37a6bda937efd1b6398d356038e2122637aade643741408738f03d5e388ccd443706d88f37782f80381fda6038ba7e33372f87b43752c1103aece1ed38393c863778c09737658172388b295538302e4537e0f380371820653870e44638f6ca5b3708d8d23704855838acdc4d38d411b73770cc9937fd755b38e9702d38a7268237ac4b21377a3b003fee0fff3e90bd1437faa3dd361accf33eece9f03e1daab735ba653a374444ce3e70bdca3e43062937ee51223783d3a83e0b41a53e95bd1937cdaa5937a731813e95d87c3e34a2223708522e37d250363ec4472d3eaa542637b5f34b37d4e0d43d55aec63db5494a379aaf7737fd59ff3ca83cb03c5358673786033a370337dc38df99553876633c371e21b937eaa07739eb273438aa798c377950e435549b823899682a3871d4da35b0be013725762d392d29163830d6a2366d85243830e9d239660672387983b637ffe69337dda43338574911384c286936134c93377fd6a9388ff77238b46681370aa6aa371f29213afd5366390ea5eb36db1e51363f1f0d3a64471039653d5036c4840338714f7738b50561380701c037b5cf90374173b73ee623243f6a87743726abdd354aeab13e4d9f1a3f6756d2352460ca3695af953ee2bc023fe4d88136b4f8ec3722b3733edb2fd53e6e086f37f802ab36c0d2383ea9caa33e6c27673630ff8a373815fa3dbb65653e3d5d7237d9a92f37c28c843d6482043e005b5e36160d5136fb331f3c2f321a3dc05f503694e3db37ca9b85384b8179385754a13708dc6e37acc696396dbb10390c7b0f3668d80d36da00103aad720839ce0ec535b65609383f5b273ae0979c38f886a0361f4e70370bcf043a03b624380bbca036d9b19337abdfac3957ddb7371bdd94357b95073807192539dfb12f3852672537427fd3372e95e639c2a42738e6895c369e0a983767d7dd3809da0038e0a37035dc8dbf377cd231380d011138f068093750f2a8360a935b3ecbf3483f7e970a360b13dc3516e1573e07433b3f98d5bb35dfae9d37a9353c3e1ec01d3fd53a9336f98aa436276a153e8a76023ffb9d9e369ff34d375514dd3d41fcc73e41ff91353380cc37af818a3dd0ed8d3ef44c1537c88f8d374506043d74bf2a3e47043936ad2d203771720f3aee06503dab736a351d6e5d3784ad4c38f7483438e7b8e7362279b3378fb65c3993b51c39319e2f364a43a137cc830b388078da3712cf2535108e1038fbe0483829af20385d3507377541dc375f124b390f57df3766442f3663c2ce37001b01386379a337c791173677bd6839f1b10c3afb890b3829398a376116b03742b32f38da20c237b659ee3522e17237a1a3cb37f7d3963710d7ac34ab4482379823dd37d1c39837febd4a35484a4437b34b913dfeaa6d3f5547ff351998653785f0993d68055c3fa37e1635c7cbe4374f298e3d8bc73a3f8a8fd036eb357a37a032663d735c193f142f13361230b737622f183d7648ed3e88211536b4bd0b388839743c0e10a93ee6ad5a37a1936737d756b9382cbc493e5047eb35b5063237f109fc371088773d734aa73421a754375dc3fa37dd13e93721f23a3500000000000000000000000000000000896553375971d737aee500384e3b9a362abf2f383ee45b3857905738ac0b1e37853a5738e87b6938e0f73e38c0280437d40c2a3926d0543958f52a38d7f29837cc425d38676a7438eb125f38eac7ef37603ced38d1827b39b231123904690e37cf7ad5373a311d38737c2538684b91360000000000000000000000000000000000000000000000000000803f00000000196001373a005a3841916f3f96eb8b36c1a10c38a71f8838bfd5493f723e19379b6a323854769a3948e2243f8156f536cac94a38b207f3392e4fff3ea9c4a33773af3e38bbbf9239d1f2b43e7c00e13782443d386648d53922e3553e2a0e0a37c4eaa437b85f28388609813d8e1c9e35000000000000000000000000000000000000000000000000000000000000000092aaa4399038143afeb1db393e4d95397e8ad13949ee283a52c5053a3459c9390a4855390947ef39ab51273a9754193abb079039ca2de739c058b93992a492392e249c396516043abbafdf3977b6ba39cc07a4399a68103a0f35e9397434bd39416b2e39b9af013a87129439b4a0313900000000000000000000000000000000000000000000803f00000000000000002b5b9a3975bf603faa49f439021c91394be2c8396853403f3e97163af8b6be39678148393c981f3f3e813c3a8931073ac4178b39cbf1fe3e5722ca3976978c39080c9339cdbdbd3ee8b8f539b94db63994fc9639b756793e2b76f539d126b639d6e4ff385132ef3d8e729839d3cc2939000000000000000000000000000000002731ee380d7c693ae375073a142807399d483838f698a63a1c84d5398fbc4b38bb16f83728ef9f3a2582023abc95773870a164383018673ae1be353a9b45e5384e8b4638cfcc4e3a4722f43954ba60383f45a939310c673afac7333a1665e639655c82381f05053afb708539fe27cf39e1093238b364583ae916273adffa91390ff3a439e539413a2408243a0cc6c6397182ab3879ab613fa212e93d62a0fc38c50a30381bfa473f4795d33dd6e24738971ddd37facf2a3fae6bb03d01c23a3857bc5d38862a0e3f540a8f3da59ab5380fd83f383432e33e5eb05f3d28d65938dd988139d50daa3ee621183da434da39a20a7b38e863623ec164b13c71f4b239a1401938f3a6e43db7ce3b3afb568939a39d7c39d21d473acac3263a5c31bf39467406387b5c503a415ec439e4c102388f2fe8372ab9943aae2e003a160aec3754ad07383fe6063a1a41cf39e2d61138bfec1838a8c59c3acbb5403ac19e1a3844440838b735453aaa361a3a138511382605c038a6e25c3a663b1c3af5dd7f3958070938e011a03a5cca7c3a373ce23878f36d379092c339b33eb239b3eabc3720db5838abd51a3ae937e3394cfba1382441013843433f3f54a77f3e770c0238940ac73769962a3f2fec5a3e46a4df3792cf0238f4c9113f46363c3eb14a1038e13a11381862f33e14e8193e7e1418382a1e0038cb63c23e12abf33d48830c38b99f0638fd62913e0bf0b03d9ce952396654b6374fd8403ee0ae603d80c78538c4a55b37468fce3dd8dbca39a5bda0376bde5138685f243a43c6fd395a4b7b38260f2a3818d7a93ab7e3833aeafa29382ba1d2378b1aa93a873f6d3a3664d2379f6a07390f64a33c01a9503aadd35e39534f073861288c3a2942483a8120133821d6d13798b1403aefb80c3a6b39b0370307e53786b9863a07685a3af6cf033822aea739817f7e3abfd76f3a23ded53994ccef374e9b823c59f1c13ab99408384a4071388741283ae25fea39f1927238fc9a1438e310203f1a8abc3e0f512038ebb3c337e6ad0d3f69c0a63e6c0bd2371ffc523887fdef3e29788c3e732b4139279fd6377a84d13eebc8673e7a17083824d9a837876ca13e80a23b3eeb679937e126c63743dd703eb98f0a3ee618f837140c5e397ff31e3eb81bb23d01cac7392944d037aeab853d0e6cea3cf75c0338da245838b60c353af2f6143ade0f6b3830ac8038a217563a1cd01d3ac1102b38da9794385a716f3a4857033abca52e385fd6673812ff9b3aaa816d3a95f41a38d9b5b03800506f3a2da3133a0ed47d383e931f39a699343a2e8d063ae86e9538750bae38c46d5b3ac10be0391b6e8f38e67274386917883af016573a58f92d388b6c91389fd9153a49e5dd39ff527838fb098238782d1f3abc1afa39cece66383e374d38fefefe3e2ee3fe3ec9f91d38acbc5d38f292e13e052fe13e3f951e387d6a29387f6ec03edb91c03e56440838a80c8e384881a03e70bb9f3ea6a76c3855acbb3803d47f3ecd8e7e3e8f855f38b0738e38eeef3e3eb7423d3e9a9b8338a4ac39387491fc3d237ff63d3ce91b387b8162383004773d2e69673ddacd5f38057a5838e17a2c3a19d51a3accfd5a38e079ad389c4f503ac5e6223a73bc4738d9f213387824883c64047f3c8eb4b4377818023a9022863a3b9d763a39771e3967101138eff68b3a09f1683adc88af3768d5ea373c36433a4578f739ede4953784df09392deb883a5d24e53920afc5372666b7390541593a4d853b3aec2e51389982eb3789907d3aef75383a9380c7372b4c70382bca863a54bd643adad81438864964380d95bd3e3a29203faaec46385b2a05385eb2a13ee7550a3f2e98b2370888cb39f91d8f3e39a9f13ed59d0239acd2003865ef6d3eef4cc93e4d9bb037c30eb737ec323d3ebdc1a03ea40c9037ad1b1838ed81073e76ef693e62bdc037719587390e43ad3d8460183e41ac4c38df1ce0370764293dd9659a3db1cec23721c44c385c998a3a2dc0873aa14f1338cd46d83870721c3ae2db1d3a09824e38b3574f386417183ae56dbb3925a24937168a2a39462da53a2c508f3aa66b98379bb7a539f37b4e3acd92223aa2d60438023e1c38787d343a08c8223ac3c4e63785924f38ce89813ad19c273adbd4063824f087381d50e2390577cd3977f60038a8d90e383c060e3a5b7bf1392279c037dfbc0c38d613d7393299e4398116013801c35d3881a2773e1d1f413ffa114e38c2f59f374fdf633ea59d2c3ffef34637a44e8138a7a03b3e738c113f47549b37058b6b3955791b3e899ff23e8fac0338793c1238c5e2f53d4dafc13eb77de33755a322381cdfb33d41bd903eb5d90638cfa714380ffa6b3d63933f3e9bf5fb37f6530038a847c83c697bbd3d8ec5b33771050638cd00d939eecf0f3a5dedfc37c14dd03961fd343a75c84a3a8ace3439a68ea239917f633a44cb593a2624073865c5d9399c21353aa427c939265d68385013ff39a668413a0cc6463ae35a4139baaf713850ce223ae1a91f3a3cf82d38984b8a3979f84f3a06fd323af87b4f38a739bf38dbb7333a7c83103ad204cd37e0826438e34c0f3ae825013adf2326382f7a2839725e0c3aec411f3ae5f5ac38a4e8b3398f6ee83d0c45613fd96a3639705b8139b4fad43d097b473ff81a0c383552b9398bf6b23dbe912a3f5cc471381ab4df3909d58f3d12020e3f1b055039a8955f38f6c4643df5c1e23e1e4e3238b8180639775b213dbfcba93ea1d752388ce98e3897b0bd3caa79613e1c08c937d7845238eed7223aa803e53d44832138cdb817390f7f0e3a9ff73c3a5f939438000000000000000000000000000000003dd246395c41c139a3ef203a46acaa38d186c7393043fd396e17143aed1587390bd4bf396620ed39c4f8043abd8d66392b469a3976a9c53903f4d73955056e3921af1c3a6a73483a6638ef39ba0a1e393289d63989780c3a7cfb1a3afd87b039d3fda639ed37e6391316043ab5a18a390000000000000000000000000000000000000000000000000000803f0000000086ff2a39a6b1e339c02c613f5fc6f2389b06b839b9170c3aaf3f403ff819933990a4b5396714053ab3c41f3f344d8339717a9239d3a9d03982c7fe3ef3bd7c390ec1113a5a685b3ac161bd3eadac2539cdb7ca39d17b0e3ae93a783e6e79ad395d9c9c399c53e5399487ef3d1ff482390000000000000000000000000000000000000000000000000000000000000000d43b8b35614f6b35f224b63578e31f37734e1237338c0b377f131537a107883741162e3677d0363689d1993769b9fd372416a4376cce9237748fe137c7ef0e385d3743370f689237142cf337c9320338e750ce364eb7af37afbeb13799b49337e0294c371cdbe9379835ca379201ab3700000000000000000000000000000000000000000000803f0000000000000000c082403590ef7f3ff35c0e3872a9d536f2380b37cd77633f1f38d537bcc274378c3a26379025323f0a717038797bf2373e758d375342003f0746463876a80b38ff583137d8849c3e60a76e38f16400382c1fce363ac9e53d06fb7a389a8e8537c04e5236c11ff2387c561d380643ab370000000000000000000000000000000069b56e36543c4f37184f1d381fd6d63776ce41372d584e3700b51b38d2051838afc10e37347a1137d1675d37ac8ccf37d380fb36b99304370e6e0f3770fc6c371c964237e84977378fae363800b84c3837b10037cf5a07372d1fa9378a1fbe37f87b2e37dc6c3c374f8f94376e087037bfd86b37dbf279371b65e7377b54a83701d8d3368938e43674c64837e904173728134d3687b67f3f24c4923abf8ca13732c93737a0df7c3f653e433cfd5cf3379cca08379470653f9c517c3a3b398f377a3af53689db323f6c20443a124c2837df433c374cdd003f429b353a53eb43389f0cf536e8a29e3ec053f739eb2ca23700c429373261e43d1ec2e4390c964c37214e6537773ea5388e98ad383088923764d5ca36e8755837185d10389887ec365e2abe36a9e2673763cd0238953937379908073632931136b892a137003c1f367393b736a129c7360138dd36b3e0d636fcd2e83617869837b64728383ada2a385e500f3692332636944b723787e14837dd880636d6112a36e0dc4b360ec53f368f5c033798ca69378a49e7375ff0873773b94a3672c496370dc805385a758c373623dc3582a924361e534437f7c1ac366474a93672e75d3fd542083e9c9ada36e9b90636f3ce5c3f55b40c3eae7615360d5aae360150413f25010e3ea9d6d6368c2cd2363b171b3fb869d43dcc7709387d5ef335b370dd3e49f68d3d563a32367530e3356782873e3bdff83c4ca83736cb88f936017acf3d171a3c3cf8c92937d74a48361a2d52384b5b7438651f11376a3abc3530d72b379602d637b92d2336f660cd368bc5113826fd723877d5d43693bc2a366d9db237da830e38383d2d362d0a1837c72b213730e6273718991f37fd48b5366262c736c438cb36db85c136ee6af035e825fc359703b636d55103360d93cb379be049387c476938956b2438653d2d370fe6d337af6c3738ba1a3337ac3be435e4ed20374fa05a37a79c013602340e37f763ac37cdceca37374e4e3789aebd3633442f3f3e7ba13e7212cc36c57e2636e6eb2e3fcc18a23ea6192536750b0b37712d1e3fb7bc953e52431937ae34ae363908f83eece0633edd05be361160eb35e650b43e0897113e14e4fd35b62d1f37d0a4563eb19cb33d43c3ea375be32337ac2aa03dbb366e3c9b6f2d378f31e535bfe22438da2f2738113efd351b040c3737950738190e1b38e97a15370434043714c6d9371ef2cc379760f43625328c37aa851938df100c38cc498b3733f8393761b34137cfcf40378dbe3b37ad763437fe5343377c4f3c376de72e37e228ca37f7e91538cae911383f24a5376a3f37373615503796634d37220e3837c7ab3c37616fd937976ccd372f1b3b37451a9d37d019333827a12d38dca88f3775841f373e06993770e28037ece62037ed3fef360594003f61bffe3e02dbee365931893776c5003f9455fe3e8c0089375c1b34377382e93eb34ae53e63f334377b882e37f94ab73e15a0b03e15372f37369c69377ceb823e27ff793ec08a6837f4e43037c7a7203e309e0f3e7c3533373c9d38372b7c413d6152483d1ffb3937e3df8c371d97b9380ba3ab38eadf8d379f46f936514843380afe14381c9ffe366c111a3786c513381debbd37496409370e9df135f62c3f375527f435caf2e63570192f37c0386a37cb6d2e37ac122137b8601f3849024e38952f00389a5b2337ecf5fe353934de3628cbff352758f63546d7c53634bb25378585cf36a1a5bc36066a29378655ba3785e56037ae4f1e37c0efbb3721882b386a02ff3732bf2d36d19e8037292dd137fbd29737c253d2367bf912378b5ea23e5ec82e3f2e040537ffd9f4356a77a83e8fc92b3f89d9d635a0db28375cae9b3eac731a3ff1c51837a233af37138a713e12f4ee3eabdb1b375514fe35cd64303ee3c9aa3ee4c7eb35aafac136288fc73d5f8f483e1740b536b95e2137ae28eb3ce2337a3d01511537a241a636aa9b8e38b87a7e38304f2b36a89b03370dc5b83827416c387175c936447e3d3633a7c537a2c816366f22bf35de895e374e85fa37d0724c36ffd7423694fa6d377a259637c47c0137e864f1369a1931367be73a36f0e50f36f0cae535c74c303763647d37de51233661150b36c56338383fb254383078ec37041feb36e781de36bd9de8366283d8365e7bc4363adf33370cddbe371019303691e6123608388b37ff09af37538b1937de5fbe3601d61e360777093ecba25d3f5efca635f2fd4e36373a133e332c5b3fcb953c36c11f09376bd5173e93263d3ff290e83646742f36a50ff03d1886163fc09eb93506056836c4f5a13df79ed63e3a56f6356d7f1738b248253d1ef97f3e4d65dd360581dc36c63a783c5dd4ba3d53d0bb36b052163613b75338c7bb103840541136550c2f37f9de1038d9e38e377567b63628c5f236c17b0838a253dc36cf7cc336a909b53771b2b237eb876837cb8f5e3716487737a0de3f37c0242d3700bf2937da84d63712cf7c37eec6f936a9dcee36ff5756384c1d37386ea24637e71f423781da4737d36d3637e9c40937e12c0537f58ac9377298e337c9321d37e1b81237d4d71e3886ed3338a6f6c137ae334e37591cd7373160cc378e371c37fb458c36be15e7368c9bbc3a039d7f3f8cc8ba361aef793765bf993c2a287b3fc9c8583779ba3e372217083bffcf623f730824374c52b63791856e3ae94d303f9d48f036b7d94c383d6b573a4162fd3ec0b03e37846d5737d456723a7274993e12df003727fdbc37ca80503ae9d2d03df21712377e5d0f38866c90380f658738a27f473788f6c137b63523388119ab37ec487e36000000000000000000000000000000009acdb3370bea6537630627364a42e635a56d90378594d3367ac0c536bee5c03646df093809ac90370da9ab361af1aa369a681238658be0374bac9237e6868e37d298f63752b60338b1d4a5376a286f37d5c4803792029437bcce923705ea2a37b1c91137ccbd6f3721b88f37ffbb9e350000000000000000000000000000000000000000000000000000803f00000000ad0aa43744aa1c384aec7f3f2af4cd351f2c813780354c388f3d633f1222c236e8bb0d38d5806338a5a7313fbb8bab3657b30e3898664538345aff3ee3cd873746a3f9374eaa83383aa09b3e41bea337d96c7c371227083840b0e33dff4b133755d40437440e1538926e5939993695350000000000000000000000000000000000000000000000000000000000000000e97c6c366725b5362e02af36bcd9ae36cd832535e2d5373577f34e352297493561d770362182c136a32af936dd2d0137b4c2a736d6aefd36e5a6103737f4f036081eaf358ffb723792b87837cb323b3765dd44362ee7a736dee68c3698b9883610b12e360c82823775eef236fcc5963600000000000000000000000000000000000000000000803f0000000000000000c4dc5836b7fd7f3f2feab936cf0cb3367515203594205e3f99ed2d38ad0e5335c8606c364b722f3ffd6bc83769e4a63627ffa23631ba003f12515a387201f236a133ae35b51aa43ea8553c3815c12e3721973e361a8e0e3ea3c85b3760da8c3673192a368d480d3958799c37aa939b3600000000000000000000000000000000e9828435416f28372aa03038fbbc1337d5b901361fb3c5364bb3813776180537d1bfe9351093b636825e1f380ed3e937a458da324519d7355e3a0138c0f69b37bff8e8363b46473717001a387292c037eddb5f35888ec33607440038a89aab373a4b89349ad89636b65cb736b521b1364e2ee0367ddcf537602b61385e36ff37d3b686367a255c37f49c1538f9e5b737f66e443519b6753f5c77233d7fb9e436e5fde435fa35763f80c31a3d18430037a79b70355f505a3f7eddea3cc559a637ec40da32861f2c3fabaca93c2b3d6637b625c736a551fb3edb0e773ce9c5a63765b80135e6e69b3e5cfa3c3c2c708c37baa8f632bbbbfb3d27940a3ced14aa36ac72c136a29d9939be3c0e3abdede737b95b5e36fe27c737c4ac373856e19437b8510d34a5873b385dbeb938dcbf12351eb60b36f61ed7370bb65938c8f4bf36e071f8351c8e1536310eae37e31c2136ec5eb434d932cc37ec554338cbee8035d69987369820b93793082738fc33e5363f07e9359ceff1371216433843bf99367233e934186acc378fa020386085443536bf16369aca97374bc2043800e9a0365d27d3355bf9b23728c3143823924c36ffd81d32ce6d513f1c283a3ed4590d35c8350136fd83503ff2cb3d3ea52bae36094de935517a353fd9342e3eb9af1e361c9fae34f747133f5433043e9d434e35b6d76236f2bfd43e34c6b43dd87bd936bce5e83534c9843e7645403d9e1505367348d434722ef03daf7cb03cbe0c42355406ff35fe93a938aebbc33874709f363b8ed0354c020738be1948384a844a362a22b5353ce33638dd53523807cfcf35c698d7358a504838dbf47938f34a1a36769265351d1738379406d53670e09235485ce4356462bd377d9aed37db850736d8d5983648721538cacc2d38f5edc236fecf2036f07ab33796b8df3782848236403bf335ed740f387cd31a38f8f00b36e27b4636451734385ec52a3875256636ad5ee236697ab737bef8b937635c0b377479b0356985293f62e4ac3e7312cf352998b735a3f7293f3dfbab3eabc41236359454351432183faa95963e94aa8a35a6c9dd354165f13e8f25683e14bb0636fa518f3652ceaf3e8da4233eb66bc036f3e90a36197c5b3e23cbbd3d53e26f36504cef35ad3fbc3d249ed13c7b6f0c3687ec413609a9a2387b7d9d3832436836544cc636e405383851234d38cc40043734a203365ca2a038409dc43727770b3634811d378f400b38566ec9376b501d377c6790369918d6364577d036093f8f36014c39367f9d8c37a8c92a3738b1193688b30737d5049438a38b533821c907373aee2736b7afa037291d403735cb2e36ef589a36f693fa3633edd93657c29236b32a2537075517385770b2379471223739f010369e36a037fdfdbf366642033686a0f4352e8b003f45cdfe3e1cda0336bac91537d30b023f86c8fb3e49a51737e891843616a5e63eaa52d83e3963873677772536289cb93e3cd2a93e96d90b36341305371092853e4bf1743e43ae0537741b163617eb2a3eff4d0e3e0ab22c36192d9236a7e1983d34aa563d585e8e36b77f1d37b1868b39558a6c3881c71d37647c0d36617f9139ed58d8378d6202360f9c093780348038c281973726f7c33689ae65369296613814989f37393e4436e8ed0a3616363d3885300c3677b9f0358568823659922738d20db3364d6313368283c136f5d557386b599f37cca896367b48063619502838c0647d377b6fe535537b8f3514297038d0b81636db3c6335277f1b36b4bea1385bc916378ebfdf352112cf35b4b83c387ec32c3747cab5356783f83686c0ae3ebea0283fe89bb43607dd5e3609c6b33eee18263f5a7f3a36ba030936ce6fa43eb5c20f3ff22eea3543ed6036ebbf823e2e19e03eaf2afe35eadfbe366a4c3c3e4246a03e123e8f36355e0636420feb3d0b953f3eba32e235cf278b355029473d2cf4803d35715e358e3a1a3675393139e63ee43854c2e1351c12ce35581580382dc10938aa71b73598f74636f2ae4c38bfe86d37dd90d0354cda9c3695c531385e6c8d3656eef8359be43f35a40a20382660243512ced9341c40ff3652e346385cc6c33600e4e535afee2d3738923938455d2937f65f6b3631e2e3362105653807778d379b18c734d45c1f3696106e3827221736e092f535997e033711476e38e388753724050b3679fcca366a9596383e0598360ecd2934d9383e36888a3d3e6f93503f4923cf35ff419636c1e74b3eb8014d3ff767f53571953f353dc1393e98062e3fd770c93476cf0336a8051a3ee0140b3fe00ae63584b6d4362217da3d108bc73e5998593606145235100e843d449a6c3e6869c434ced61f366b49da3c0b71c13d01a2f535e189b9369fbfb138338c533810d20a36c4b819355a73e4386d5c2438b60917344206a53715de34389965143799313f363668033880ae6138a67e43378f5db036e838aa360036ab3640644336e08cf332d4f0ac37a6d9f3375bad8b36b1a5cf342fd3bd374c322b386e303c3726dcca36dbcea837991911387c5713354b36d8325aede237c00d3d388d61223767cdd635981c033713349a370ce1c736caa6fc3504912f37ee33e137275b0536eb796e350237573747fd333d1abb743fb96024366c1dc737d9cc5b3d7708723f44c795363905a536e535333dff2f533ff492fa326c838437106d193d337c253f43decc34e371a537907fd13cdaeaef3e24febb3644488b376a6eb43cc5d1913e01a2db32e00ac93704e65f3c297bd63d213dbc353ba60237c0cd053ada442038eb100036d5621f377b786e394d5308377fb96f3500000000000000000000000000000000559e953668dade36ed918436cd8826363fda8c3673cb86363b0369369d3837368b7b473778737b37b04bb73542faaa359174ef36a9888437dd9fd436c14b9e367549ab3668c459371cf4ff36cd5d7036aff34a3509b39e36ddff6b3734ef25358075b536e25aba360c1ec83648e275360000000000000000000000000000000000000000000000000000803f00000000c8549936f9e71e382bfb7f3f808e1e36a98f8e36d29c9037675c5c3f90212b36a2652b37fbc16438faed2d3fd4879f35f503f136a2108238ec80fe3e017d9a36f0a99c360d2ed837911aa13e64047036d10f4935c10e5f386465073e4a831f35974cb336db17c036b3d6bb38809671360000000000000000000000000000000000000000000000000000000000000000be397334d1499838f6e75437c62b6f342f3b0334df934d3840419937ef5a2a34ab391536a50a2e3841970e38168e9937f63b77346db83e381b43843757180c360bb8b332df8e2138b12d0638dc9ab437a9f0063656418338e0b8d83756376b36f3603635ece7923968391038a9beb43600000000000000000000000000000000000000000000803f0000000000000000b1a46c34052c773f9d43f1376ece7a344d8e04348ea74f3fc0c70138b7ba2a34b5fe09367f60283f15ca2c38268e94375c5c7934a1dc003f70970e381761f935f76db4326c09b23e1a6318385fc9ac37fb7af7358479473ed1ac1d38c2b56c361e5b193552be2b3d93802438f34fb13600000000000000000000000000000000954780354ef891381096583c5e9a60377c442c355ef87b3876948639847cec36a43e1635ffa3ae37a39ecd38f2ce2437df4baa354d659638c971c738d7656d372fb9cd3498abb037e5c2d73b0082b637c10f803497e9e2377683f438312ddb3711cac435397764380b71d238359da237c11869345f2189385bc82539c08b2d37f0128f343e5c1f38560ce039d4c6983704627d35ace06a3fda1c453da5122d37a99424357e35653ff01c873ddd6e5d3620ab12355ae8413f0d04713dca681537be07a935792e1d3f8dcd4e3d21a53f378abcc9342194ed3e4415063dc7599d37bfe67c34bf1ca43e0bdb333de9decf37e6b0a93586fc323e4bdcb03cebba9437ea7e5f34086f063d2b0a923cd7a8183731c38d34e2664738a32f0d3c04729637276f68359777063a4459823ac515a235fe6fa5352de38339911faa388752583744ef0435b17b8e392dfeac39eb111237d05983340b6aba385cd8bf385f64ed35ec80dc368b46b338715d3e3a7ef4a8375fa827355d9bb4384202be38be4b5a37aa6e0635f1cf8d39fe16a9393a788c369c80d534bfb30039f795df3864923c37e09ec236da770c393afa5b39f256ab372f676035a535473f425c523eb964a035d004a335c709423fdca3503edbe44b3764df0135dde8223f9792373effd708378f8383346f98053fa735153e0ab1a6352c02a336f189cc3e7dafd63d130da6372f1a233530798b3e900e893dec745437ad29033586a9223ea477033d999a82368274cf340ca30d3d0da58c3c0666393715eda136266c48397c70e33b138296377245bc3489873e395ce03a3902931b372fb2613552c2a939a18231398e045d35ea8efe3417d83c392329b738e67aee348b7a3e35a14342395f073039685d4b35b0c3ce361f28113a99f50f39d6481037e7ae17344c26f638725edc3806b93434a6863735ed1b4039a0e93039b558353646378636e99a8c39f3324239c1d1c6363a172f351c003a39575f2239c67d3a35eb507b34fee7243f4072b53ea442d036e3655d3580571f3f1267ad3e953c61357bf5f8346d9a073f894e923e72c3f2344b0e3a353f15dd3eb31e6a3e86214d3552359236954aa73ecb09333ecdec07370667113484ae6b3e1865e93d6c7c32345c063635fc46043e963b793d90ca2836b171783672cb1a3da30b463c4377bf36e23b2d35bef76139973658394ad23935a022403639683f3afb1437391b071236a94f57356346323a9f363339f01b55354aa76b36a63574397f260f399579353687e0893663684639c2ccae389f084e36f355a636061e6b3ad20d113981488636b7217436174e3739eed9c03800b37236e3285736fb443d3989a0053954244d36f9f45c3500a9d83992782c39a6d84f35b0543536ca99043aaafc2139d03e1d36e3f72336f133003f3f7efe3ea9cd0b36098d513566f4f73e4ef4ed3e81cf543526125136df60d23edcbfc83ed7503a36f6807c360330ad3e17bea23e48d2543628628e36f866833e323c783ead09833624e85c3616ea383e0215273e36cc7d3696374936d781d83d7758ba3d872f54365ace5935e107093d9ecc853c317e5035dd6d1b36a5ac353a04216439366c2936b91c3c355b901e3aa34419396c4b2e35962aeb365293f439b1a00339ded26636ba898c36b9884f39abb6183922b433359e973e342aef093986c7ab38829c1134febb303780c7373a1504a238b02b7e365d5bee35da114a39403b16397b673635ff71f634c1d7413906939438b20ffa34ee5b02369b709539dbddc838851f5a35c780be37a2b6a63904011039123193345ad43a358417b73ed618243f316a2d354726b536fde9b33efb15193f2201663639b12036ca139b3ee7af013f55d63335454d35348a807c3e6668d13e9825103411a21437ad32433e29ff9c3e51d9813665dc7b35fdc7053e355e553e2c5d3835b762f1343675973d9acde13de9c0fd34f06d933552d2a83c45d6903c17655c351f717f37e635133abc8b2a39619f913427f5da37d9ba3c3cc671f3384bd48036f08e4b377225263ce72f50380329c03489afab3670f2d83b6c3f533887910035fa586a37b96b143c222b4638f6e12135a741af3753e79b3a4891e337b20a8036ad959236217896394320f83791498134ef6a233750c0083aa13a82388c280235c0ff6c37033aee39ba31bb374e0aa23548321f36c3b78c3ab1f0a53858f65e35389c96374f3f543e1113463fe6a98236cbb73037b6c0533e95313b3f3211c634d2e38036e6ea423e5b8e1c3fed7f0235fc9c5637833a1e3ec576fe3e947b2235f4c5a737e335eb3d7d0ac23ed240803626a40136cf09a53d5fc2803e16f282344e741637aae6283d3080113e9e99013500bf5c3788aacd3cb0104e3cce94a335643dd3350848613c1259e53815fa6035c73da337047d223caea487376d578c34de5444377615143c258115373c145034b5f5bd371a65d13b00491c373fdea335b91aec37693c163923800f37e72e7a34c9dbc037acd8113c836c6f367950c434c3aa823793b8d738dc090738e8e3a535cf053f37fe10fa3864442237c521123560b6f236b807f3397533ff36ec612135c00d733767bae53bb10bee36d60b78351f876d375733823dcade6a3f80048d34745f11374cfd923dc4515e3f7e635134c36299374a23833dcdae3b3fddeca435ff76d737cc0e303de6a7173fcae975342ea49c37fd2a243df239e53ef0dac7347bd05b37b8880c3d96229a3e9348a735f3981a379594d23c03b9213e71721335cf07b736680ab63c66fd803cdddf223593e64937cf6f673ca77c313812e57b3500000000000000000000000000000000e2302a3778672538485017382bfe1635fc0f69369b821b38f62f1f380137e83539b0c0375bda133840b70638a43fb432f6452f366cbada379840e637307b7a34b644a8379a301a38eca91238577408360c0028343479d137114e36380f5d02342b9677340faddd3789b46638cba26a340000000000000000000000000000000000000000000000000000803f0000000040d2af36eadf44385e22753f0ed016359858693675ed5a38d3104e3f95d6ee350ec5b3376204263871e4263f8951b53224620536203c28388d26fe3ecd277a34f47e953738b03138bc19af3e3a200e3685ab293408e002383e1e413ee1e80334528274345a39ea3759560c3d6d956634000000000000000000000000000000000000000000000000000000000000000032098e35f86389358781a5356391ba35e7341f350bbe1435bc4737356a685935d3bbaa35d1d3ce358509f23523527637c5078f36bdba8f36b01ba536c342a63631076a3528548d355b8049358bb69135db0d063699442236c4db2836f32d1c36419b8d362b8381366d599a36e79f9e3600000000000000000000000000000000000000000000803f00000000000000005a078735f21c803f7fc9d335608ed835d29f1e35ea70643f4e6c4b35406c5f35eb1b993554db333f90bdf83759cd3d37fb0c9236f87b003ffb9da336af1fae369f8e29357a6b9b3edfbb8f37468e3336ffbbf93542b8e73d1c7bbc371a282c36ada982366050063c026c9c366a47a536000000000000000000000000000000009eb949343f2a603872a89538c45cf637dca1d335fdfcbf35d1257037bc82ef35d4b763357817e734efbe9835882bbe35de8a4135320139353425a53562ccd936a5f5e435520fd33589dc0036f1630b36b73e95347092753407fd0f3508dde2348825b5355f25cc350c99b336452bda35069d473550365e35c71b89353b738935e7ca1236adc82136c2ae323605682d3672800034f0457e3f85310a3c673e8b373299b0353f047d3f4ee03b3c9411f33539e960351869653f31ea8a3889d9903568ea4e350716343f4748a3387cb691354ee4dd352a31033fec3818385849fc35e2984534ea0fa33e56f64838235b6f345ba0bf3515e1003e265518397b74c635d9ca4c35e1aa3f3b822b853773475a356cf411364f1ba937c7479837cd2a3036788a9235cc6397383c17b738a9ad8e369d6b473670ab2d372c9c0138dc7a5e360df89a337a7095334460da36469ec133545efb334f84a133ae1b3334a92a5d34fd160136311b2b36960b34363bde4b3609f12134f1f132349937d3356d973f340000000088ab41370608d93700000000000000002da4e937444a4338e6f40b37a48b812debd19437fec703385e622e37d81c88352160603fab1a003e65afbd35fde53a36f2325e3f7af8033ed8386336d553c633c50c4c3fa6dcc53d9cdfd833eb1cc733d1d8203f5e30803d833353348f4b073614bce83e9715323d8fdb3c3603ec4134f19e8c3eb6c2ee3c317c473400000000623eb63dab27a33c00000000000000003cba8839f244ed3800000000c95baa339b6c93387fe0a1380000000096ab3034c1a3283810d44a38cc33cb3400000000a5617c38c7088e380000000000000000000000000000000000000000d2dd2d347cb31934da97ff3369bdfa3340ac3936a5385b36d0974d3667af52369eba0034fc1a0f38fd542338ae400b34f4bb8433221e65377feb73377d161b33734b183688ca0d38e3710a388d4ad8364333eb3786fe8b388d819238eac53a38bbbb9d33891f323f5a2d9d3e334baf3400000000a1cb2e3fda4ca33e00000000000000003286253fe1d0863e00000000bc7224349f79023fc097453ee05c1d34e14d2a36d8e3bc3ec931073ebd00493618982a34a769693e05378e3dd26b8c33404b9833083f9f3df7fd8a3c10c28b33c797163618aa0739afcb9038de1c26367137c235ba5ee138d78ce63868558337427fa735ef1373383abe2a3892f99035359cc234b2b4a6376831ce361d36b9341d400a357c8eba34ac1ce23476fc2435377e02333d2ea23227c44a32afc588326a4a1b3598fe97357392133550db21351ed56132756d0a37ea2ac135be6eaf32c86e6e3412c9a13792e263370800cc3419f70f35bfcc3d37ce24f13649acf934febf8a35e1be98373b5a5637b2dcbe35472b8335248c003f920f003f7d668935c3bdb0340fa5023f2602fc3e0201c63484ddae34702cf53e581fdf3edb6f8434b96119331becc23e1d81a63e33161633ff66de3467718b3e8a736a3ec6bed034483dac32de8a343eee86f63d3facad3217001f34d88e953d9274813c325f5a34011f0a3550248639f6282c3806bd0435c5788c35b94d6f38020c31385c72b5350a5cf037e92a053965c7b5384da0b73599a2293694bf4238a08bb437fc922536ddabe3325e1e213724021733c0ca5033707be63301a524389dd09436edf0183407813c3638c863361eed5536f3fa6436dad5d133ba6f3237ddc00534cf2503340000000036569d379566b83600000000cf8a5f37f08c9538861680380000000070363434fb941537137889360e708f349838a535ec5aa03e9176303fa9139a35892b1f36c74fa83e2e642c3f4fd4113637032f33a9ad9e3e2012193f665b34334142c73315de7d3e1be4e93e32a7df332a8c38367044403e240aa13ec87c4436143b0034a354023e70dd303ef125ff330000000026ad8a3d7928cf3c000000000000000006d2083a1c450a3900000000a17bab342bac7938082ff7375583d93384d87232432bc538926a14380b6c33330000000004aa9238000000000000000000000000b522223700000000000000007d7e7234ec755e34d13e3d34c1984134ebce1e36c03d243648c806363a601e3630a649342c68103714364634736b5934ccf9ef3396088c37533b27378519bf338b0b4f36d3d7b937f3ae0e372bc35a3610d4ff37d18e5c3871d69637bbcbb335c4ab6f325af5013e0aef5f3ff4411d32e432c4323ca5193e0b2c5a3f00000000000000009263033ef8c9433f00000000aa5268342e46e93dc49f153f58795e3492400a36a26dbe3d4112d33e9b8009369a4c85343146a33ddc2f6d3e74ca4f3437a2fd331028863d2ef12c3d16d8f833053f503622a9af3b8a058e38f17b5b367cdd2037f28cc838b2487538661f9a35f28531369b4abd37f2dc7536381316365eb88a3575bf8935d9f03e35d0c82f35ac0b04364070db35ca7485354af3b935640b95348bf96c34b9d05834af737f34494def35dbb7ef3518e2d035809be735ca58cc356c92c337fbec8f357a8ba93572c44535eb633a37c264803527f481352b579a3606dff5370146a1377f1301364d72fa3788c94d38667a873775d6f334528f1836698f3d3cfc607d3f9611153692bc8135614ae03c568a783f7d9e0635d29dcc359bcc033ac209603ffc637c35e25b7d34e9c2613abe7e2e3f5a9d8034c3e3dd35ca9f833ae53ffa3ea861d035dd5875356ff9a93b5588953e10185e3511001e356adfc93ba07acb3d6bd81c35ad55f23590591a399ae0bb394a56f13577e6b73794bbc83838a773388b9fb03400000000000000000000000000000000309898368b9f8e36b2727a364cae8736ef612c368a1429366bff05360ea0053698e511356f4e54364f191835dd3cf63443f1a0361d30b2366b60a436b5d9a13631869f36f5889a3700bafd353ffddc35f72a2a352bd63f356a783935fdf32f357157af353f27c6352a2ec035fe41a4350000000000000000000000000000000000000000000000000000803f00000000c0939936290e9c36e0407e3f83fe683609361b36026e04385867633f44d8de3577703b35fa09fc37a4ab323f9902a634db98a03632d2ad369c9fff3ef0859836da5688368ef390382132993e372ee135a88e30353559f73787bade3d145426358826ac35312c2637ffd2733acf3ca13500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084a97a35198fbf353d76fc35c386d335aec88b35683a8f3693c0c335f314cb35000000005a512d34f10450345d1695346a43ff3488e9be3724d159360b3eb6358022ed359cb0073840fc9a36736c18360000000072bb393882af0b37e175893300000000000000000000000000000000000000000000803f0000000000000000000000006303803f00000000000000002bfe76352fe4653f554ae735dc16043653478135cb39333f79f9ba3726d3eb3500000000a827013f41793334cbfdc134f24bc8343bf39d3ee25dfd377691e1358606fd352e12de3d1b94c637f1d52436000000005746053b5234d037c0143433000000000000000000000000000000009c94c932cb81a438aff8a5382e8f7b33dfe1f832192091383099a33857caa63660f6ba363cfb50382a669d38d5605237fd3d25364272793835dac0381af5ae37c451d335b8ef27380b93623876c943374143873664c9833823b5ab388a5131370c362636974585384f1b84383f42993611168236e063bd38c15fb1384a6fb637146b9d3638266238cbe15c380c400c37a1108732edf4753fd121233d657b4533fb6d0e332455753ffc20f83cc557553654b1a836e6b7673ff3de033979a919377a4d013698a8343fe2bc1c3936e77b377c4e8135e775013f8e2a8a3b96e6d5362bfb6f3653d39d3ea68e003916810f374d37de35af4bd63dc539e33b463696364e764b36eab89d3c1a23e13808606d372b4d7236e62e9938fb3d9038e2d6083700000000885e99384f8fa83800000000c4c028350530a7385a80a8385d537e3616fd943683ad4b380a72613830dad83698484a355b0a0438174b033800bed53517b15436ab38463873243e389467a03679c72a36a557063938410639d6028036d92d95355f366b38e35e3738b1b8453685ca1c365a6f483838900d38dff0963633215736d80700390690f13846a89737000000000461533f1e521a3e000000009ef69d34e1b3513fa17e083e489854368edb7e36df26483fd615e63dac57d0367dce523567821e3f1a73bb3de4fecf354fc11d36b12ee33e0dd57e3da91b9336d4230f36a77d873ef6d15a3da7367736fd1699352c46c43dd7d5123d3e2e46364474a03554a84f3b26a5913c449a893664c74d3695da2039264113394a4f783666cfae35691c4539dc98073962f82c362adf9f35a4598f381f20673810021e3655b4e0353db00238e282913705745136796f9f359dd3d2386b33b73868472a36e5e65636cb5a643861422f38376c8536bd4d4d35ac46883848425938c06fbe351da53e36b6b0fc383af8cd38bcd48136a8f68236bcebb0383ca28238dd808a3600000000473597389cea4f3823aedc34c20b9c35619e2c3fe914a73efcd52a36291ed734f9a32a3f16e2a03ead6ae735c43f90353d96253f7f25883e60fb1d36f8d98e357529033ff9cd4b3eb4662a36215a1636c239c13ea25f043e696d633621170835715d6f3eddf2833dab2b8435eab923364115be3d91008d3ce09b8236593730368e57143b2f740c39486c6436000000007d79f738818aac38ab41dc332e150736dfe8c238328e8c3802c0a73551073b363bf6f1386912c9383f0245364dbe9b36fe5bf43861a4b338e3d4ab36e12fc336188b1c396565df3857749c360af17a35a0107b386dcf3f38fc6871356743b336905d1c3958440239f305d3369cdab43666b50539e096c93837359d3675cc723681ace838981fb63844225636784f1c36f4139438583d4538127b2b369e1dc43512d3003f9cecfe3efdeb8335deb81a36b980033f85a9f83e4d353236ba0691364231f73e5a65d23e3181a436e154a936f862c93e9ced9d3e7e269636bd581e355584913e53f45d3e51d065353255a1361bb4413e6755e13db3ccc636fe8f9e36b482bb3d72c7853cd9499a36f8f94b369389d73a0e0cf638e59850363a12fc359526bc3863678938a13d0f36d2568e330f8e0339d7a39738000000004c715d36d3bacc3801738438d6442b368b4e7b368fbfec384c147a383dff3136d0f4b2352145963861f8a1374248233585888536543d7b384deb1738724a3636e4713736dd65f6389a059d385693f335c4364c36896a7238bfcb8937e5df0d36217f3b36f3dd8738c13714380529e535ce1257360d780139923d9038c4bb0836000000007de5ac3e1cff293f00000000bf373f3625edb53ef9b7243f5992c8354f9c5b36f6faa73eb140103fdf420536d23a7b350dc18d3eff81da3e9ab72535f07c6c361f3f573e80d0913e9ed90536213621363a450f3e75f6193e4579c035a23c2a3647ea9d3d2d603d3c8a74ff35f9bc0c369b83aa3cd98698380c899c3523543a36425e4f3a71e9d5385d10df35ee287736c388313c6155de388fae563663258636f7a77f38b842b4374342b33544154336210175384790a337155ea635ab6a7736e5f520390e74983815a120364ef19f36fe997438442af137d2953736d257db35e8be5d38f6e9d03756484b35acd5d936d0cdb538ea864e3828af9e3602238d36c5e7aa38b1a542387835c935000000006fcc8a3820a8a8370000000026c26c36d986233eafa6543f894b41362f4d6d36fb82383e01ef4c3f09f09634c1fd2b36c0f81d3e8cfd363fd0ba9135b9586d363f61113e89b80a3fa4660736881b9136a3e8fa3d41eabe3eaa7608366ac8aa351a78cc3d0081433e376246355c1fce360bfea13d92abe93c1c9197365bda6e36ff2a473db127b838123c1335000000007c70d03c890b3e38000000005c150a378394ac3872a357382d834336f72b95378f50d33881ba81388ac72f36dd02983616309d38e2b4a437564bde35ead24e37b0b9b6389ab1bf370acb4c3690e720374db7803885f8c1379f6fad3514eeb4372cb1fa387b4f8c38d26f213652d86d3798dfd53823659638707ab03624ed5f37e6eeb93817d174387a1e043349173e3304419b3877a0a337000000006f5905377457353d9dd0743f9d501c3618b42237c96e5b3d3d646d3fb8c60436ce239636dedc1a3d05f7593f1d3794350bd3073715f6143deecc273fe77046365bb0f036b4e7093dcfdfe93e43cf8035904c783757c10d3da543853ee4e21636cec51037d4f41b3dfcc3673d0de3af367ef65836553e423c0197db38a7a63a33f1db9d33d991c838a6085e380000000000000000000000000000000000000000da5e7234152c9836ad706036000000003d142a36a7680a36d691c9357dfad135608a093685d23337a4011c35b6011a35f397b0342c24e133e4175f34bbcdfa332b76ec35971d613703d78437885e9c3568741536c934903618229f379a0b47350000000000000000d19c10373dad6a320000000000000000000000000000000000000000000000000000803f00000000b80a1334e23cfd379baa7f3f00000000bdd82e362229d1374b57643f231edd35d5e5ff35b6a41538470e313f05f0fa346ecfe334f20248375c08fe3e6417a333ce0afe35d6423a384ff7993e208d9335dc330d367363dd3790e9d03d08603a35b3133833c92d9a378e88153a000000000000000000000000000000000000000000000000000000000000000000000000ef6ca233bc51043978f61035db55073404dfef338fe3b73811770c35b4af8c34ab707933df470838a1720c34abdb2f342f390736a3aba6386da88537757c8d36000000006231b638fbfcbc35dcd7dd3400000000253f3739a3c4e63550c78b326382ca35724b06392fb03b37c022bd3600000000000000000000000000000000000000000000803f00000000000000003bc2a23315da7f3ff3a022357f261334e4a2ea33b7f65f3fa7510c3582f08c34606d6733ee21313f06fc073472612b348117f235696e023fec8fb43772428e36000000005af9a63ebdf64f37731e0335000000007c4c123e6b9ac0374ddf863248c98c359687c53c14df75371aaabd36000000000000000000000000000000008a121f3336e12b3a6dac9c39fa559435000000007b9d973915f09539b67ab6357685b8330f50373979145b3991c51b36cec3143232476f3921ff6e399c5a3132a97c0e32c11d9239aa10863945a2983550a44933d6fba7393cad5939915b103600000000ee96d039c61e9139c0244a34a03b0932b9cb523b199a813988b093359ba777354c28af3a18926f39653c553686be18339e30683f8b9f483da87a8d3500000000013d6a3f3234313d1bb2b435c128b83337115b3fe809063de86c1a36c5551032a6832c3f19e1003d2ea62e32374ec231e3dcfa3ed8ed033d0e579a35a5b745330bce9d3ec864003d1237133600000000cd69033eb809e63c82c36134cca3df319500213ce9079f3c70fa99351a006a354cc7753ba9a6643c55df5836cb6f03367b7b973aa5f5c139d20aa236f5bf2d34f965953a8b2bc63994c7b835bf09c734e66b533a072d9e39dd3d0135416d383595a53d3ae280b33963212636bd34c633bbbf213a6eb7d639d60b7735f5fc14352878973a7fe8d039a175d635146cf3340140aa3a37246e39a6c80d369b5be4335ceb913bf7fccd3947cb7235d595b234526ca23b14b5b539d57fa935e919e53576b6443fb0b2213e9702a5365fdd2a349ad2453fb891203e1951bc358fcec534f386383f33490d3e2f4c0135d3f9383535fd153ff828de3dfb192c3685e0bf3361d9da3ec8df973da33980359d4614350dad903e329b393d65c9e835c0acf334bb630e3ef785f73c382a133699cad8337e4d103cde2c7d3ce0ca79355495af349ba8d43beb00333cc1d0b5355b6d173592c7473b1b9e983996d87c350d4815352194e13a9cb198397706db34eb470035eed9a83a910c8e3978a21b35def8e534dda5693a38b78439707b0235c4adf93451782e3a6d9f883938c76a34792605354e54013b756d883998a02935b509a8341e94023b13efaa39ccc9d0340b229035e5972d3ba44a8139ac1f7c35ad8ffc351f780e3b1ffc83397bb96d36636f0c358df1213f477ba43e4a1781351996003587ef233ff8829c3e0e70e934bdc5ee345735193f55ed803e467217357b12e5347e6cf93e1bc44a3e0d2203350b2cdb342ababc3eb4600e3e518082348ff6033571a87e3ea345a23d75bc2935768ea7347f2d0b3ef8539a3ce06ad134fb548a35f031053d66db0e3a10358635eb62e135747c563be485c539e6a06d36201229360faa8f3aa1b462390d7304368248b2348fc9893ac6e29e39af33663422414e351862823a8d8d8239ebbe8635e114ff3552fc873a816d5439d0a8b535755357345fb74c3a154e8539ae05f2336354b335aa75973a1f905a398197e635ae75a0353583c73ac013853942115e35689aae3467e4e23a318d8639394f5934c44df9350b0d363c62bb1539270d24361c952336b967fe3e396cf13eb5a10136ded25f342463013faef5e33e65058a34b03d4f35b25ae83e7c22bf3e0dd786350955ee35a5eac23e5f69943e9a74b6356292f9337a3d923e4bf25a3e3c3a3134da64b3358435533e228df73d0743eb354ec0903574ccfe3dd75c3c3dabf9603576617a34b4cc3d3d57e4ea399fcc97347073fb35d1449d3cd0937c39935f253610e27236f04c853cf5ba78396cd0bd356a648735dcc15f3ca2b18039bd9b7f35f3aace3455715a3c5cde8b399a29a234966e2735c37de83b30f12539dc600135ba838734733f3a3a066f2939b3c5b034ea830235f756833ab4717c396c37e1347a1e2035db9f383c8b598c3906c3eb34e1d90335faae3b3cdd9d1b39a8f0e3342ad48d358736803ceef84c39398ae53471c46c368389b13e95a2213fc143cc35634e823592e0b33ec475193fd6b987359f64ce345c75aa3ed99cfe3e2c25a534d3df2835cc5f8e3ed037c53e6aa5023504236a3488f5603eb2088b3e400fdd34dc770235199b233e50401d3ede75e43489461835caa4c73d0762223d999bed34a1b8ea34ac38263deaeb083a8fb40235799887352632e03c56bea8394fa00935554fa935cd63073df32aa93906c3ab34f0ba7d359865d83c8292aa391631cc332295173611d0aa3c58590a398384f23446f9ea35c17eac3c7eae92392f381235b2018035ea23cf3cd2b2aa3970b0b93375df33367736803cf3ae8f3919673935c3e0fe342a85be3c788e8f392cbfc434444abf358fa1803c5a2773392a6a2a342bd5b436e688c63c3cb6823972efda35b5baa93535183b3e300b433f149dae34420d77358053433e8b0a413f3da0d133162712369f2d383e75f5203fd433f334f5acdb3507c4253e9ee7f93ee8d1133550287e35addd063e1379ae3ee746be3394df2c3659d9ca3d2c9c423ea06d393504da0035eb0a833d2ac25a3dd9c5c6344003bb35929a593d01c9dd3903872b34de3ca636bede433d3b86c23907fed93547155836e5cebe3c34b11d3931e26335d86d993598276b3c318ecf3719a06c31f94f483484d3ca3b7d1a653700000000d51c1536ea15253aabab2037a47f3f33c4299735e1b0c339a2f186388c11be31530726322559123a969f89383ae81932f6801e360fc1ff39997d12383b24b533dc1bb1356222493ae1af7138000000008a587735a053473ccbb58c386e390d33269057369a5d593d958a673f101462352e40903559dd7c3d323b643fee03ab31a4b657347af4743d0ffb463f00000000fa9b11366562753d637e193f19eb42331104913545465f3d0e72d83e6f47b831181a2b32d77b553dc493773e943916327e0a1b36a03e463d2c907f3dbf8cb63373c4ac354584253d6bed8b3900000000001e8435f644fe3cd56b2539b573123300000000000000000000000000000000db84be361af577375de86238a1580734239b9c328d2882371016a638000000001743f634da3051376e63133800000000c44a8d364cbeb537609a4f38f98e94355bfd283456c401345c27b0375e6e5f33331c88348b162235e607bd38f54fe533446b1234d79021359dd6ef38d227a1330000000000000000000000000000000000000000000000000000803f0000000080b2be362d5fd83771d1793f49260535cabb8c32bf623238435f5b3f00000000edb312351e7c9a37027f2c3f0000000072568d369bb4c837f41ffb3e7882cf359aad2b3468fc0334e8ca9d3eb7c5643308ab8e34d1e12835a130003ebaede63363930b34df272c351f71193a6154a2330000000000000000000000000000000000000000000000000000000000000000f9ffa6357450ac353fb79d350262ac350f9ee23426f495349e55ab344850a034413622343984f3339b57313421e40d34dcfa8f35f1f86a35c9854535bc805f35fbae82340bf63c375cada53712426d3400000000038fe337c2f5c83700000000ad3ed034017d9f3783c444373ba4ca3400000000000000000000000000000000000000000000803f00000000000000001a528b35ad84793f11c53738b2fea535c5cce6346ed45c3f5b721138ce189f34a9b80c34a3ac313f453f3e399ccc7634ecc279359bad003ff57a05385e04683555f6753494189d3e979e8d38b6246434000000003d280b3e6ace073a000000008638b234c9080a3d78698b38ccadd934000000000000000000000000000000004bfb3234be326a3481baa036fa840d34e8bf1f35efe235355e033435711308351c4112348f06ad331b313237f2490b344f2d853528a34b35a7b53e353047d235f4cd403536893e3509e2bc35f2c23635dfa4b935ffbe18369dc7a8377130f63563d14b355511e737c4ed233868ae59356bfc2035554ea33752b70438d2033435a3b95a3542d49f35d0dc64361ec7b2351558d133341a793fd24d1e3d39d6b63442cf003471ef733f0a4b203d90af253541e11033ef735b3fe26ffe39227eb7330369223586042f3fe4a43b3a952fb335d27afa342ae8003f88cdc43b34d23535d463303540aba23e3d7ec23c3563b2350346a1344b76023e83940f3df5e53035cdc5b034b4d2103c1a96f83b3477203573ba1835fb168037cc2aed37d953aa35624b0335b8655935f66bd8366ab9d234000000000000000000000000000000008a51af332544ab34befd9d338a648234000000000000000000000000000000000000000000000000000000000000000012bb8c3437151b35566a3734ea6aae34c4c8db34b30be0340ae35037f32aaf34000000000000000000000000000000002b91b8353c262836df1b0d3659b4ef35386a1d34b6a65a3fbf1b243eaf039234000000005509583f7509173e0000000000000000dc6a493f47a0b93d0000000000000000044d1f3f1a809b3d0000000000000000f36be03e368b953d00000000000000006d6d813ef1c6a23d90639c3393082034e88b9a3de1cba53d0000000000000000f1fd753aca50653c00000000cf26b2344b4c2737b98df23af6209e355a257d35a51f41369d401d36915ce1354b2210334d21fb3427aabc34b3eaaf340000000000000000000000000000000076d7d3345ce52934c31962344008ef3483101935784f57358af6053578d21e35000000000000000000000000000000003e499b35891e8835553ceb3616ac993500000000ba9192349d360b33000000000d6c5f35c1968635f7547835a118833592981b356718333f6499a13e89be5235000000003f51303f941ca13e00000000000000006b3a233fb8447c3e0000000043adc33265f0fe3edf11473e0000000031e93a34fc41b93e20da1d3ee598c53400000000ad29623e9f0aca3d00000000c0d1543529918e3d491c863d4fd63f35000000007dcf1f3bd86ad63b000000004db8a5348b86a1386f16a239856f5c35afeeb334c3ac4f35940a0635690b873405e9cb340c999635be8ecb341e874a34a9158f357d55d5357911c035ef51a035f20207360e19123672f6f335569a10366ec92b35ae073d3539312635a2a8e5347db00936576e42365badf236821d273611a096351a18e435e382da362b2e99356ebcf23437caf8369aec4e373dd216356933d03426676835a1335935b08822354a1b9b34ea34033f87a1013fb1739b3425cd7d3211b3033f13dcfc3e81eed033214afd343567ed3e5132de3e02130a35cbe6d03575c0c03e62efa43e2ee2db35abb18a3458598e3e113b6d3e33e9b634b93ea535dd1a393e5e230d3e3e92e03577b744351d8aa83d287f1b3d51736035f91dd2332c7f5e3b34e78b3a1be84f34dce29734c95e8339b2a6fa38c7340e35ec1c6335b8119e35b3b4653556501b35fa1eef33e9b5823400000000000000000df1533574daaa3546a12735ecd008350000000000000000000000000000000038b722355e6629354812c8342a43b834b66b09341b45003500000000000000000000000000000000571c113700000000aad261347f57b834f42e8134000000005096033635912a36d299fb354bb8c33508fd043509b89f3ed72f343fde58793400000000a53aaf3e4da22a3f00000000a15af434b35f933e05b6183f000000000000000068e3723e5f20ee3e00000000e355f43460983e3e01e6a23ee30c99330000000028691a3ed287333e0000000000000000e145bc3d63b1443d00000000e0aaac33472f2b3cd90c9a3a000000002d516e350125df397f97ce3583bb1a3520e3d1351f368036d44a13363cfe993500000000cefc993300000000000000004b6d9234d2d30435cf239934c12eaa33646245356c3dfd342c588b33664c8f340000000000000000000000000000000000000000baeb23310000000000000000f1351735fd67ee34be900b370880a634000000000000000000000000000000000e601535dad73e359eda2735bfb12b35d8bc93356b91243e0ff9593f3f389f34000000005996263e787b563f00000000000000007d29ec3d51743f3f00000000d992d034186bd53d5ad4143f00000000000000009f9ad03d7e0dd03e00000000000000007bb6d53d79ca5f3e00000000b434b3344244bc3d237e403d0000000000000000d676d73cbc627a3a000000002682883452414c3ab5b64c35b4320035b64e72350ad4ab35e2163a35c89c14354f8c2e35dc891735930b0935a8d7c03411be4e352bf38635562a1d35bc0e2c352e7bfb35e028c135601e3f35f38e8b35f9c58135a9856a3558d73e35e0cc20352b8b8a3550e2eb3610591637b178de35d3393034c314a537ac52eb37d5ab9c339a9f86358f9a9e3560ea9c3577cc5d35b5b19a34cb9afc342dbf1335f8339c34390783350f39323d55bb773f28451e35f804d334d41a583d7b25703f53dc8f34f1b6a9341bb6b43a865e593f0000000030b5ee35b0279b3b81f8293f116a3335e6491835aada1d3c50effc3e546c0535414b0f356a8dc23c8e219a3e6e5465353a1400345740213d17c4ec3d40cbce3368a3eb34bcc0163ce5a2a33b18f2ea34786482340e758c37576d2b370036563400000000000000000000000000000000cbe42735de82e4340d20b5345e60b5340000000000000000000000000000000021f530344f7575341e525e34b6ca79340d678b352e8d523524653b35bb076935d081b83429ecb336b88e833714e27f34f85b9c34a7ea3b37bdf4c637b2e2aa34a80da0352c020c367efaba37aa2f95350000000000000000000000000000000000000000000000000000803f00000000bf53c034f4c22d385a6b7a3f0ad79a3400000000d6aa3f382de15f3f000000000750973457326f3817e5343fe5c959340de48435ddc5af38d35d023f3cd046353b167934b85b433a272fa33e9c6a35346e7ace3431d06838b631183ec4e3ab347d91b735b82982397a54143dd4728e35000000000000000000000000000000000000000000000000000000000000000000000000d76893332f0c0a333f660d343b74c833a7218a342071cf331a325934d3819d333e7097330000000000000000b5a34730d4649e3029759a30f464ba33770c073539641435980e0435b7a61835189539330000000000000000adcb303333392b3270b453322e992932fb972a3200000000000000000000000000000000000000000000803f000000000000000000000000d217803f76947e32b4dacc33c91c3e333a46673f9d229233f538a033000000009ab2373f0000000000000000ba125630390c033fef9588306b8b0230d270e6340ba19a3e74c70935cd070f35712d56331a1df13d000000008111973216b51632255f043d0d071f32a0c5143200000000000000000000000000000000bb4e6433140f9d3361f78034c8ecd03312e84c31500f213470762134e2225834a272d93482a7d5343037f934799d1635f9e3db34f509d234369fc0346c56ab3400000000a74ca5320133b3329a3994337ce42d35960f31357d91383557b865357cf0983497bcc33407d71634919289345efb51331bc07433de268033bfbd3c3370ca143526ad3535f5a91935a04b4535191b2433fb1b753f086e473d7412eb33000000009740723f8834cd3c7b202734c8089734a3d3693fb4045b3a93640935ab3bd4344055393fbcc8303ac939a4340000000069de043fdf67cc3ac3a9613357d20b350296a03e9933f03b202b5c35c783a2347689ef3de62e1e3c7eb78334278f5d333347043d8b776d3a97527e333aaf01356ba77e3af1a0303aca5147350aeba533b188f4330f39f633e57ddc33dfa9fb33416aa9345db88233212a803369733034d8653034685232348d393934017d87341fcdb0345ca08034be208b34260995348052f234f6a8893400c9a034b18a3f34739b3b34f9843e34f54a4034e5ce1434a18a8f344192b7331cf9f4333988be34d2510a35974d8b34aec29634657e8c34fbb8bc344ef29834bd8290349f4d99333eac533f63b31a3e78fcc733d6138d33e94f4f3f5364013e330265332c1a0034bce34e3fbde5953d1fbc2234c4658d3488e0293ff5bc633d4f4f7f34ca4a8634d37bf03ec6f8713d4cfc6d346c031b342931913e391e473d545b2c341ff63134927fbf3d44e5403d18dec0334cd59f3466f5453ce1638f3c40774834086f7c3428ad3b3a6133623a7b678434509a4d34033e9b342cb3de348f1d653474120535cbdf4435913b753527995c358780a434eab0703545bd433543bed034d00c91322be22134232d143487b23b3315d4de343bae213539144935691644356151d234ff615335f18e303503b2043500000000aec1f33925b39531000000008c9230349e70ac390ac5fa3480eaf334c85a9334dde190397556b934c7d8bf34a4105e34818b313fe125a13e82f98d34c4aedb34f4cf2a3ff36f973e51be4b357bbc703436c42b3fe21d583ec99ebe342a8d20335e32103ff6e81f3e9e40dd33c69bad343e68d53e30cace3d499f2b352114a634f530883e93d03a3dbad60235b8730c32c146e73d5ff7af3c00000000faa3703387ad3b3c7b579e3a76e9bf347dfa6a34aae8b93a05dc9b3a5c6daa34b54371347b36f238a07d2935c23db1341373603354c24634f43e7334a5821e34220ad534be87ff34b887f6344a76ed34006d053538060b35338a3d3568e1fc34ec1f8533593ac333df80e533dde09c33d81606354960333a58be0b35d7f521358778de343817d639ec0a11351ef7cc34775c0b3492e39e39bc3c1234d632c733c1c1a534c51c183ad30aaf34579eb934885571342e49053f9a25fd3ead0b9b3468f2cb329f68053fdc2df03e45d8d933e30aaf347df0013f8db2c43e288fd434d288fb34b6c2e03e7ee08b3e58bfec340cea4133240ea83e29753a3e2f509433a4d7da34dee1713e46e2933d427f1d35c611ce34b22aff3d34cc373bd4d2c534a5200c3496d5dc3c9c79833ae3bece33806198348ae3293b798f263a8bd3b234dcb69f348ed54f3a3f23da34035099346841bf341879ad38bd138034827bff3300000000000000000000000000000000c211ea3400a15937d22c0335ff85ca34d1f82c3554305435054904352d83df341afdec33d377ba39032770337b7ca633f45ac43432883a3a85c103356e1bb534ffce593509439f391d5f2735e1dd17353b14ac348df08938cd9a7934c2d48934a06287340309b03e84d52a3f63a17534d7ba8c348844ba3ec872243f6787ab3200000000103aaf3e0ee70a3f5c411e31aa67ca3495319e3e309bca3eaf47a8341c661435c143813eda11803ed4a29934cbec8c3393bb4d3e3798ca3dc35caf338dc0b6348543093ec0d5d33a866d8c34525e3b35c1f3583d332e643a59c9e734d93da13478c0e53b3e0e8d34634878342c2969341c3b7b39f056fc341ebc5e34449c8334794bc43487790b35357bc534995c0734e78931348e8f533498e80134fca8bc3327c65d34006a95348c2be833abc39634be25b434ee57ed346f0db634775f9c343fab96345458aa349926a4348adaff33efbe043854c67434c8d5e8337a508b3369ee253428e491342ed73f349891d6330639f733ca03df33c78dc633f6f14d347890413e22c2523fb0776f3442eb5f3484bd483e0e194a3f775fb134e14feb33bbf22a3e8301353f91fc0f347e03a233a788243e9b46063f7a291d349f718a34031a1d3eabbbab3e4556a3342bbf8c344815193ed338163e82e7ac34de890434e50c073e8f540c3b2af21a34f58e89331ba3a23d8c33f3386f601634cd43c6336d8f0b3d11bad133a9a4a433642f1935e517163564b662355b690135d5c23e31046fce3314970f3400000000f5698634cd559e34b2fb9a34932b6834aa4f3e358eae423565f95e35cb440c35ad1b8533000000009fd08c3200000000dd96d1347fb1c534bde2da3414e7ec3492bfee34e8d0c3349ce42c35bf76a434fa191f3464a67a338543a333000000002f000134ed451034dfa70f3425ebdc33930d23357334893d6346713fbcc7e634b640b132aa1a963de3f6663f0000000051b26f3457f25a3d3211553f18e16034e9003835c5ed5f3d3c33233f7b780f358b08c6334f835f3dba24df3e00000000c577a03445fd6a3d51266b3e18fa023585dbc9342804793d586c153d0c0ec034cd6b4734c78b163dae835b3aeab6f73244f5e3331d90693b2d431a3857add13300000000000000000000000000000000e0e8183295175832d11864327ea23832b435a6320000000000000000c349ff3225c70c35fe1c11357c3a1135dbe3ed34c2626630a3de8530ec9b6e3044e7703000000000000000002b360a3400000000d5c6cc33856fa43300135734be45ed337962a3339f5f163300000000000000000000000000000000000000000000000000000000000000000000803f000000007135043274701f3246cf793f86601f3200000000000000001e67633f186a22337a25083523ee0035ae33343fb11cdc34eefc7830853599385fbffe3e7d334d30000000009c03ba340e33943e00000000e986a0333cf5b332ff5cd23db407bc33cfd8d132a3281033b56ae53b0000000000000000000000000000000000000000000000000000000000000000000000000000000038b5953a000000000000000000000000f36991390000000000000000000000004f47fa390000000000000000000000007422433a9c56b336000000007aee573036fd8e3a1b96e0341bda1231000000004dd6423c000000000000000000000000fecf643b187628380000000000000000000000000000000000000000000000000000803f0000000000000000000000000d7c803f00000000000000000000000005cc723f00000000000000000000000012013d3f00000000000000000000000080fd053f743639380000000054bd50301e1b9f3ea08aea34226e0d3100000000859abc3da8ebd0370000000000000000d6a6323da60d9e3800000000000000000000000000000000000000000000000009df953cbbbe96393ef81f3500000000e1f9a33ca2abe5390000000000000000e875863b1eefe2399bf8a1330000000037b40d3d8fe6e339bc17143400000000dce43a3d6ff7e2390000000000000000503a853d17ccdf39addc4f3500000000a3a0a13d4695e739e431f7340000000061279b3d7736db3900000000f5bcec30fb064f3d52e582394775aa3400000000a0b26a3feb679c3a28bc17350000000008786a3f92ca033a000000000000000066066f3f0efffa39a58dbb3300000000b15d433f6133fe3942ab94330000000018ff093f045bfb3900000000000000004f80a13efa670d3abea2533500000000e5f4ba3d29a6ff390a81ca3400000000333f1f3d9ba5f239000000004f4ae930b9e6843c875d9139e212a53400000000904ea03c882286390000000000000000dfceea3c423bbb391c33213333d00b30f146a13ca0c39e39dbecc3300000000071114c3d3d54ad39ab97292f00000000b3ab4d3d4462be390000000000000000e169863dd0e4af3900000000000000008aa0893d8eb291390000000000000000589c963da55dae390000000000000000756a3e3d729d60390000000000000000712e443fcec36f3d00000000000000001c95423f47d9133de96d2133523308309740453f0023cd3c285e053300000000647a2c3f1db6503ae976262f000000000432fc3ec8ee2d3a000000000000000086fba03e5b33713a0000000000000000b62a033e23e3683a0000000000000000c2ccf33c8dafce39000000000000000072129e3cedf78339000000000000000004d4643d03285a39000000000000000058f9653daa06b739000000000000000038a3a23d3591b2390000000000000000e021063e0ab79e39000000000000000085c9063e61a7b839000000000000000072f50b3e49c198390000000000000000dbe6103e1b7ca43900000000000000007858133ed49d95390000000000000000fbdee53d30a1413900000000000000006d13183f14f03e3e00000000000000002022183f0dbd153e000000000000000015fd123f45aaf23d000000000000000061d6063f506d5c3d0000000000000000f91ccc3ee685dd3900000000000000002a64863e0c7f0f3a0000000000000000ee08023ebf90bf39000000000000000057dd0f3d1fb7b83900000000000000005ee1b53cb17d68390000000000000000cdaab03db21d1b3900000000000000009cebc43d3ce58d390000000000000000c4c0db3dbf21643900000000000000000277103e7c1b86390000000000000000fb47123e2a0c5b3900000000000000003531253e8bd68d390000000000000000ea0e1c3e7ceb5a390000000000000000e2531f3ec38872390000000000000000a203033e27c20e3900000000000000004997d33ead75af3e00000000000000002280d03e75ee983e0000000000000000324fca3e25b0793e00000000000000004441bb3efe8d0b3e00000000000000005052963edd90913d0000000000000000b0e3553e1cd1e23900000000000000001d6dea3dc458cb390000000000000000c8cc653dda0696390000000000000000729e3a3dfe7b3939000000000000000088a3c63def2f3639000000000000000055e1de3d233d94390000000000000000cb6be43d182c7f390000000000000000f7b0033e364e793900000000000000001ea81c3ef6a5a839000000000000000024f11f3eae1784390000000000000000a277203e4cc083390000000000000000eb5d0f3e52ab84390000000000000000b675f33d4c550a390000000000000000f9ad843e477a063f00000000000000001cb47c3ea7cdf53e00000000000000003d5a793ecbc3c73e00000000000000008bbe6a3e2e34843e00000000000000004865533e848dfc3d0000000000000000d2c8153eb329883a0000000000000000cd8baf3dcd8cfe3900000000000000001c689c3d2e39a83900000000000000001aff743dc956383900000000000000000d61c23db84082390000000000000000c5afc53d6898ae390000000000000000d788c43d0657923900000000000000007951d23de1f29f390000000000000000d16ee03db15fb639000000002283262f7daaed3da3a7b439000000006c5d16327d3de13d921b8f392681f72f7aa02233b54bc33da17298398a3f9e3000000000c0feac3d87e54f3900000000000000008b76fa3dfe3c3a3f0000000000000000e977fb3d5531303f0000000000000000dcb7fe3dfc6b183f0000000000000000408eee3d7fc0d23e00000000000000003630e03de3777e3e00000000843f242feee1d63d69a7873d000000009c8d0333c468ae3dbf86b139471f0030c8b71833f151ba3d180ec13900000000000000001b9da93de83c7e390000000099b0b93477ef0d3dcd606139afafed30000000006e7fd83c5466ba39000000006dd112353586be3cccedb23900000000d59d85355531aa3cff41a939000000000000000051f8a73ce9b8cb390000000014018d340ff6b13c120fbb3900000000fa3b93344776d93c3ac5b23900000000000000003d0d003de020ba39000000009f06503538e1173dced95a39000000008555a7346df20a3dcfc35f3fac59e9300000000099c12b3d0055523f000000001375c4344fa0453d81aa433f00000000464a6f356477443dd1820e3f000000000000000021323d3df82bb53e000000005629a633292b313dbc7c123e00000000e7d558346e89273d8485df3900000000000000004183163d067fe039000000007f242a35452b0f3d247e8939000000000000000000000000000000000000000000000000a0b8e5382b4db039000000000000000067a3233898506b3900000000eb0d0e31e8e64837dde5623901715b3000000000336ca038d553a639000000000000000043be8636cb588b3900000000000000000000000032b7873900000000000000006d993137a9369839000000000000000000000000000000000000000000000000000000000000803f0000000000000000d430d3382c9c753f0000000000000000af7119388e7e663f0000000062f60d31949557374999313f91cf553000000000f2d19438643bf63e000000000000000000000000687f883e000000000000000000000000fd04643d000000000000000094993a368cfdc13a00000000000000000000000000000000000000000000000000000000000000000000000066b0353700aeeb36c88dfd36aded8337dc15a837efed2a3746c76537c202c837574cd7375081e13685eb7437d83015382ba60738f055c0368469bd37611b5838667b8e37785a483792647e372bb9b8376623cb37c1dcba370a8aba374e90da379dfaae378456c437e275a037a4dfbc3700000000000000000000000000000000000000000000803f0000000000000000f3564135e6f17f3fc8a3be377273473751d45237ea07573fa51de43767379b3763096e37ab112c3f902b2838482dbb37d1026d378b8c003fa2b268383bd71738dad554372a08aa3e1e8db4374168a53701fd9c3764c7293e56cacb37a98fd1372d3a4837317869383a1bbe373f27a137000000000000000000000000000000007f992c365f0b513790c76737094c1737ce10643596bbf13618836a3709008b37584b54361d6ef435e941a136504607378317ea35b2bcde352d5a563758be06384998aa376f1396373e2bdd3708771b387cab92378df18d375dbed037597006388e148136144f9036c8bfae362fb9363791784337736197379c849c3717cba737373f7b350d354836e83ca636eabdd536e220e734ecf37f3ff1cd5a38419e6f36cec1263586797c3f149c5d3c6999ae3695ccef35f70e543f0df97e3c39eba036dc86db353a392b3f31830d3c65691637c84cdd36f24aff3e7899063968c0db37e49376366417a83e88da4538a0dacc377e9528365274253ef935f7379ad9a536823a9336548ac2382c3de137b5628d3799b278353dff21372b83da36d842f3350cd80037a0ecb33730369f37e38d6937d0ff0437faad913720ba803730c86237b87f9136b406ad36132bd836aa24f8364c57a6376c6ec4373d00e037ca1a0638d52f8e37fb92a737eb30b837d8dccf37ea3df53659f4ff36f69d5937f427933771422d361a4c8d360f1ffd36e70c1c37ebe0fb35f136923711b18337ae657b37ded84937716aa837764c9f3702b1a637a3ed01363d4c553f1b992a3e7c98c3364e634d367b84543fc7bf2d3e1936bb366e6a8136b7fd313f520b263e0bd18e36eb5847367461133f3e45e53d157e89373089ed3690a0d73e5f299f3def8974375e0bc5366392913e6fb5cb3c0a6afb36bcba26365c2d1b3e70104d38a84d34367380f235648f4238e48af337ce700936cb579436f68ce837c2c1be3797112537fadd2a3770f4113868d8e337c4681c378fdc7a35eb17e737f7496c3797be4e3595936937dc059137f28d6f371a0f6637d4e33137dd2c3637ce6a33378705353769ea7f370d6e8c3717937d37e94e803783e8e5372dc20938854002381f40fe378caf2937341b5237398051379c3a42373604cb376e1e10382977ff375e13d5375d6a9537c35bcb37ea3da837ca7d9b3777760f35cb062b3fe1cda93eb92e10365be76234d7b92b3f5f69a83e96694a34732c28364e72153f680e943e485a4536e1c4f736ce42ee3e1ade5f3e92bc1137c351d036ab5fb03e21031f3e3790dd364c6c2f3669e26a3eb03dac3dcbd617372b3abc36466f023ebc7c6b3cf23d0f3792fd0a37f7b95f38ff773638a4cf69373058493727091738b782d537b6e86b3701f98436aa7e3438163ce4374985213606a4d0371cd41b38c9b8de375c0c813723753d37c5e87537dba2f036bf42743654c8cb37e7c8fe375a0fa6378f9c6b37acf91838f2472f384546f2378bcba2378b0cea37d9400638deabdc37a710aa37f7a8583715a6903748f868373ac736376fddfa379fe7123881ea02380f0cd537ae4d55377cb9a43737ee5137bf40a3369ea4173561b2003f3479fe3e0630163567f0683679c4013f0e4dfc3ec6aa0836772966356437df3ef61dd63ed024653501b506366ea7b43e7de3a93e834ba5353e004c374067843eef0f773e5d9a233791600f379c172c3ec397163e4e308836cddb5436bd86a83df3ce813deab0ce355955a437c14854389fad3738f1e38737e9267236539b0e38e413ce37a5e03b367c038d37268924387404d337cdf6e4362370ba37d9e31a3886d9b3379bd95836cdcb45378b624c371c9f02370aacc0367d10053846771338fe828337f344d336863dba375ee5bd37c61d2c37e89afc3648c5423716ff4337559a2e37b023283789a8ab378197c737f6218f37c66554371efd8a37c3d0db370b196d37e737aa3569e0b037d47ac7371a6fa33758604b3726999d36d61cac3e43e1293f4d5812365b60423623c7b03e6887273f5e7729362a1ab03604de9a3ec8410e3fc19b8436acf25c366d34763eb54ae43e4bacb6355527e336c02a333e717aa63e6eeace3623e32837c155db3d3ed2553e77d30637ba6b4537c793e63ca55bca3dba215336ec9e6635fba45c38c8ce3e38ab708a3449e14737800103380d0fd7379d4255364c519337eeff0038a04f9e37f6a84b364ef75537601db13720a2f43597a9ee350ed12c376c063637bc9d2736d3132636a3cbb03725e18c37a395d736d3f0ce36f58b7939a5bed8378a5e5e378e500f3741951a38483c12383b83a837e0a96337492d9837bd599437bc08a236fde78f366a7b9337a075a33759007337732214379529933743539537e7986d376aa21937e81295362853303e6bde533f477f84357cb2043606d13d3e0d7c503f364acd35a431313604af323ec1822c3fd7601736ab1ff13688520a3e163b0e3f888797361cf08c37d591c23d62bccf3e94b8e036167ec63762a53a3d5882883e77de4b36c728a6369defb73bcc0c0c3e410a873655a76437862a1838c0c20e381bcc623623ac7c379bbaad3710458b37d1c61d3643d4e6365ed59137a4247e355e376d350c31b237e3ba9c37e5989c36914af73417ec47376f40cf36a9da173638a817369b54083845ade4375e368336cf920636c8d23138b947f837e24c393710222a37eb852838fb2bc737e1cee1351668e935448a2937c9c6ec361d966736fddefa35eafdb037ad85a1376cc1263714409035bc4c563770bb18371fe76b36b6734336df1773354c6fb23ba28f7e3f9d205c352a536237e4fdf83c8e2b783fb6beb03463b494366ea5f33c61fd4e3fc3a1e235a753cb37cc2ebc3c8105263f0c00023602b5e8372ea2823c3557f83efa04fe352e8b963759a1d8396dcea43ed0b6e3351b6dc836fedf0438b6c01f3efcd2f635a8916d3760563838820b563801455435a8022437ff78873796220337d5eaf03500000000000000000000000000000000b726c7379034a037e4a0e0363882af3656d9df37e1cbb4378e432d37a121743782cab437be2188370cf9b836bcb92837d5dd5b388f35fd37659e9736e32bdd36ddd716383dc1d637b1fd6c3717cc80371a81c4373e2fb73797969237466399373ede8637c9358d373b709237424437370000000000000000000000000000000000000000000000000000803f00000000086c90370d2908386af37f3f777d9836aa73c437607e2638677c553fdcda1d37da6e9f37bb4b6e3846eb2a3fcf2f9836a5632a381c568f38a2b0fe3e08e597364ca8ea37c7f74238a6ada73ec1c5f73648e7ab37e867f837eba4233e93dd5d3733b962374cc4c1376aa92e38030783360000000000000000000000000000000000000000000000000000000000000000aae4b637557882381617c637a5f28f370c2301380a5a35386e2c06383edffa375b75b9376eb3f9371d80d5372257d8374cccec371eb325382eb3113831ee2438cbecff370ca2b838ebc871386bf6703932edf33729d42a38f47e1638d9e11538f28dea3756453e3849f01738003f103800000000000000000000000000000000000000000000803f0000000000000000477167374062703f49f04238b7776d3724d2e0372dac4a3fce3547380f28ee37590a9d37e6c0253f50210c38f732bb377ef7d937233a003f286a4b3804a30138542bd137eb0ab63ebb3a973917925c389856c63799d5593e960e2738899e0638a0e4b137578b863d6faa1d38848f06380000000000000000000000000000000029ba5737084bc13920590b383f65c237478237362c269e39f317a437411f6336a3b49d3765147e38ee884a38212ff1376845be36ce7ea9374301883714706a37ba94c137b62b82389c7c6d382bc43838b0de18379ed0e73712daf137ce14d6378c918e36e8771638ac2002387ce7a1373d0408368678d537772dac3753235c371e47ac3790374338111c2d38f17602383986c1367b2e6f3fbd47853d21eeae373ced113639e55f3fc69d8f3d27f052360fbcb6362f273e3fb7677d3df8d1a937ae3c8636fc551c3fbd73343dc2f53537e5d38e36a258f13e953ed23c42a20938e75c14377965ae3e5c869c39aeb3b337d9437b36a073503ee479363863bb313738790636cc148c3d3c71cd376b140737c020d536297c5a384ea93138ad7fd8371ed30536dbefba39cffb1438dd391236478b9037467f8f39ed971138f27d9837013e37366c7d6b384ffcfb37f25f413658c67c360703763852061c380e5f9e368f6685373c7b4c388e791a38eecdaa377d24ee35d30c4837b4552f37d9ac7b36457ea7363b082338fa310838f3d2903770fc78364c9724386a14d537a4c88336b42f203762d11338e4a2cc37be345d37fd0bfb3585ee493f3c9e573e7caf0c36acfa8236b6c03f3fd17c533ebbf863378d62ed35a871203ff1d6313eadc02b360f126736a88e053f44c4073ed1ac70369cee8e364107ce3eb567c63dd2d87d374a1fe935c521953e7a09553dafbef235fd110e36e50f383ec9a4903c9bd826371fae7636049d783d62c6253813968336cd714036dbdba03857b2f637c9b64337971335378f47123aa393613887c17e359bf9b3364dba033c90abdf371c57b136de3f86378cd4833873032138207d6e36f75a85378e1ba938beea19380ef36f367b2ab737e1f22638c0350938ee059c37db0ddf37be958f380f0266386e0a9f3756cc9a3681f1613877bc1b38cd742f36b9b87c365954123877d3933742b48536efe4f337b3c44f38a68a273844c7b0375bf87d35515a253fafd7b43e26eb7a358b3ab036dde61c3faa12ac3e3b33b036e74a613650fd053f2f2f903e5a696e3676460436cd19dc3e48e6643e8beb0b364efb62375b39aa3edf7e2a3e3d047a37231fdb368d00743ef5cbd93def9f16378e04223675c7133ebcb44b3d1b002e36a07e7a36ac19533dd3cd1a38420f853614329537f4149d38e1d43f380c697937ce7e56378d64cd39e012eb37d7951637b6ad19379bb4883a483bfb37038c5336440b963725cb733918290638e7c33c3797c136374509243862999d37280c1437ff060e3871a92e3a434165381889a9365a40313796c403383350ac3757e01637b89a9437a4bd2c389e2f0038ae335a37d3e44737effbd939134ee737d7b5653656eb8837aa39f7372efda737fdc93b3728390e37cf99003fb472fe3e889e0337b6815b36113ff63ecf26ef3e0bc65236d2094937c874d03e4407c93ef45f2c373e8817376b8aac3ed764a33ed32614371167af360e9a833e0a06783e471da536ee1b153759ec3a3e2903253edb1d173751205737dd41e23d6f02b73de51a4d37e0695d364dcd183dde5c573c61f95e36215b5637e7f210383cd6d8378f312c37ba7ece375a73cb3933154738c1587736da138536d5e7fb392308b93740a173367c698c37ef3d8b380bc7fb37b2bf1d3677cd223838c39a3803c54e38410ada36f173e53716fd3a38bf81fa3733825f37e518bd37c8005c387a7403382f040536e48fc5371fec4b3847c10a38bea96336645625379dfd4b3806768a375250b336d84b0638cc3d66382ff61b38752d8435c82d3437bacbb73e4be8233fa81577362aad8336edb4b23eda49193f92a372369acf2c364b01993e9fc0013fe9391d368a4f82376011793ea5d5d23eaa65d9369c64a2378d0f3e3ec561a13ec6dd543726b61c371ecb033ed3cb5e3eb4d505368c8832372fee913d86fafc3d3f2263364ca9b236da03763ca508e43cd949b3360ce29337b2c198388b665238afb486350d387037f7a9a139dced0b3807a88c355370ee3609da693860dddb376a4570360156cc37720b6a38ad79ca3749a30836efaf0337ad379c37124e9036141ae335cbabf937849c5a38a2b7e4378fea8d364baec837ece96c387b3ac53788156436587283371e4e3f38818c873742890b36a7c9f23773d61f384b4d0138759ffa367ff9b237919116386797bb3791c9fe3538a3f6366bcb5c3e8ca4483fd0508c35cd1082366f97593e88043a3f4ba56d363da920379b81413e44091d3fcd3d09365be4ef35e75c193e03bc013f6944e435fb21ad37f051e73dfe6cc63e07518b36e60bb136511c953da1988b3e03fb65364b084f368abd183dd6fc253eced1f535eecbc837e99bdc381b8e333d161b8d36855e4e37fda42d38200e0938883701364d4c043862191039dc8841387bc99a36c9b46a3756d23238858f7937d92dfc35585bd1373aad41385320bb372b624036bdefee3789ad9238a06687376e641237a3f25d38d0998e3844fe28385d7d80366bbf8737c88a45385ec93537f2557f36350e3338db107338a7c418386cf8b73602eb4837a799d337e8773537b76b14363f3bf6372c9909380964d637eb03ce363ef2b0371f28913d54ba6d3f659b9936d9f09636756f9d3dcabe5a3f2e75f7352e9a2537d583913d81a3393fa7773936165ab33779db793d260d193f25ff113765352b3867202d3d91a5eb3e63e37636f26663373fd58d3c67d1a73e617c71363acb0638c9eac6392f58473e4e96b036f3028f362c850339d043603d116d143629ede4379f2513381c6ff837e210ca36000000000000000000000000000000009cdd10389679d3386c922538ff66ca3647081b384ce53938f3821938ff0910372af9683930769e3933f33538d9a83637b402263816dd4538d1ef0a38b7ba943734e2e037d8a30338c0b2d437c59a3d37d26009381375183857e50d38681dbb375a65c637dc450c386c2af937d22b43370000000000000000000000000000000000000000000000000000803f00000000ee11fd37a02ae139dcf66e3f9fe22437d1da04386a89c9390856493f007e5537e2a64438464d283a827d243f05246537a75c063801410d39bf4bff3efe15a037f611cb378035e738273eb43e0a183f37f8a80138df6e4a38dee3543ebc7eb537f9cca437eea9253864a2783d8e31133700000000000000000000000000000000000000000000000000000000000000006e5a3e39dad80b3abaa85a39cbb68e38dbc5a739c4340a3a15b0b13964f972394eecc039bb483c3ad788c23958a1ad395b128c39a0d24b3aa991cd3984c84b39da13a239ce9dfc390effb939a0798f3901d06439aea4d439028192399fbb4639a45fc339ec4b1c3a9d70e7396c3c9f3900000000000000000000000000000000000000000000803f000000000000000082e90d399134613f794f9739fbb2973841049a391863403f8f47df39230756393f71b339b5cd1f3fe16ffb3977d59839e26b6e39cac7fe3ecdb8163acf924f39d7ff9039de03be3e8ce2cf3995e98939400f3839125a7a3ee7a1a43999f542392440a4391858ef3d3c27ed392caba23900000000000000000000000000000000e71bb7381c4f863a9dced539e72589386247fe37697fd53a0cf60b3afb47f637850bb638e304753a02bbd639e3f2cf38fa87213a8cfb053b14a3833a15e5183a13d09637fd976b3a2e997239046ead37c6fffe37a0d6c13a59dbe439957f063859be093a4342a43c5669b13a2e1b263a1a7bce37cbb1893a84a48938e7d1e1377bd768392ad7853abcba3f39983fa338ad71d637d1a4613fcdecea3d576e9b38b73be33751ea473f630ad63d39b6f837413cbb3799ca2c3f6327c23d42f2ea38484b063adf160e3fddd78a3da327193a0ea03037b8e2e23e86f5613d5ff8b8370e4edf3793e8a93ec35b1b3dc51c0638c6e9d239c50f4f3e20de963ca9d8233aa998b237ca4de63d22044d394fe0de37ad427f38c7d18f3a43de4e39c329a3383077fd3724bca33a5addcc39807cef378e3b80388bbf1b3b06d9013a32e79e375228b238be3d843a178bc539ba5eac379a8388392652ad3a04740c3ab31b9738f1a23c39757b223a4bb5ed39fd8909391a48c5394889dc3a4c1c3f3aa485c13955c286399b704c3afb171d3adf697c392ff14a39efc2f73a87bd153acb9216396a69fa38c1f6083a50d4a239002936387cbaec3758a7403febe6783e97d6f037699a9637238a2a3f9ae3593e3368a137e736bd37beec113fecfd3a3e54dfb637ca09ea38bc38f33ed0c3193e4cc6ab38136c7e380577c23ee25bf23de4c50f391de272397948913e449bad3da8e5c039bec2d5382a48423ee97f583df08572393962cd3796bfc03d53f4a63cfb081039479f32384c2f1e3aa324ba395243393841dd2b39f648703a2da5fb3932f405383cf17238be5df13a22a7f0398d32b937bf2eec391f6d893c7075553a091b4c39d6fb2c3804cfd83a7f11da3902e3e137141c49390a02ae3c03d12b3a001773372a3ce6385c20933a66bfe03947c22538a4b67438de18813a56f41d3ad63d13383f62053808d8713a9cfdfa392e199437f64698397980373ae454033a3922b23881271d387580203f09e4bc3e6c340b388d93d03723a10d3f48c8a63e2e7cc037f8988f39c4e8ee3ef1578a3e9a006f3938b61a386924ca3ed5d36b3ee383f037f2bb80387b3c9e3efa87363ed7607e3744313a38c5b9713e24b7093e73d82838fcf02e38c843203e0cbfb23df1e3153855cbd937e8489e3d8a34233d2fef94372fb137394b62553ae659143a4d44d638371d6238a1b8933a3b13b139b72d4b3886ef4d389b57bb3a02ccc13997e8d43707420a3880ad7b3a09550e3adc1cd3373d4513384713723ae65771399e6dcf375ea8b239230ac13adc4e873ab239253805140b38f101433ac4fa6039d287f53778e40b388fa25c3a7384053abde1e23721a755385646853ad888a339504ad43720c37538d340483a4fa69839b79e3d3835514d38fa12ff3eebd6fe3ed8c650386cdff037d0aee13ef36ee03eadace037e4fdfa37df57c13e14f4bf3efaabdc37e92b0938d361a13ebf439f3ecce5d9375629473883cf7f3e62247d3e714528385a59fa37cdfc3f3e5a6a3c3e2478fb372173fd37bd36fe3d737cf63db41ae737b3640038427d7a3da4c0663d8292d637404566388e05663acac7bb39ee523f389edd8839c78c493a6cec1d3a11315638a988eb3701b1823a25541c3ae2248f373102f53847cc8b3ae4de1a3acc020638f23b57399288a03a787ee039e5961238d9427a39da3ee73a4dbf4f3a63c25e3726522438f134ad3a8f31cf392dd5fb37b02f073ac9de773c08484c3a377a0539c2dd1c3964c19c3a4f0adf39eacfbc376fc57c395929163a0b67e239b8040b38a24c0c39d561be3e78811f3fcd2b5f38c255b3372ba8a83ef1e30c3fef379737dc332a38641e903e343bf13ee1a71038e947933893676f3eaca4c83e84b01e3826c2ed380be8393e4eaa9c3ef064863762bc0e3894fa0d3ea2c36d3e77f403385628d039f4aba93dc3fc133eea7b1e398750d737b346333d727f953de137be37243b15390cdc173aa5f0063a7a3a0f386b140939364bfc39d359e039b38e0e38742dae39129dfa3a41c38e3a6511b237f8edda39500f4c3a2993223a19628c37f1960f3a87a8c93aef25483ab560aa378c1c9d39bfbe153a2e58e6393f2a913762f6ac397b95703a360e163a52e8cd374f1536396a452b3ae2bfc839dbf58d37a7126a39d971b03a89eeea3911ba863745bc44396291303aa2eca7397fd8e137c8c84038d76e793ec0d2403fc10f1b3853904639d16a5c3e97ea293f46a3b837cb949b397c813c3e4baa113f77469a370dbfe5399aea1b3e56b2f13e5409813804625c39f1aef83d592ec13ef699943791cc5c39bbcfb83d29658f3e5b63d5371c36a2387dce703d63313e3e695491379346fd3853d0d23cdeafb83db2d48b37b47afd38e27f323a685e133a9204e63706a2ee3864629f398833703afabb28382952f9373716593a5c560c3a65966637a6886c3a9021a03c6559993c971fe9383fef39387306a93a358a1e3a9b9e9b37f8a62238fc3f233a84069c39974e92363f52403adc7dd73a47c0933a8d109d39a8c2933990ec053a0637c13963213f3725271338b1dd653a8796b63931fbb437b2d76939bcb3f039eb83ac39a6dfa9375efcaa385ba3eb3df26b613f41473b389c86e537916fd83d2c6c473fbf329437bac3323adc7d8d3d5080253f39108139a8061338d469963d63820d3f6bc6b437805bf13793a66d3d83fde13ed966a53688982c3abc02213dddcaa73e91b2bf39eb8b5c39d3ff2b3a5200683e5727533737420938dde7813a5323e13dec29be372b7127395305fb399d6e063a9c91ac3700000000000000000000000000000000354ac539997f0d3a03291b3a26bb1639d1f187390aafc339088acb39419b4e3831d1ae395427e939f7c6e939d16006391bb69a395932283a725e1d3a74e4d3382433c339fe1f003af7e6003ac1a25b3975cb9c39d654da393b43da39a26626395ca6243901939739d0b1a0396d8e3a380000000000000000000000000000000000000000000000000000803f00000000bf05ab39c23f143aa5a6603fc67d803992bf5b39f280d839cd80403f08a5fe3802fd95393026fb3959c51f3f07fd5739a22a6b39197f3a3aeb7afe3e75831f390d3db139855d103af68abd3e52bc74396f6987394546dd3997d0793e399d3739b59e0339a90a9639eaa5f03d06c543380000000000000000000000000000000000000000000000000000000000000000e80b1b363aeb13366abc3a367f4e573637a39436fee384366e7198361b5e4437a1649637b4552d37ac35a337493cdd37a44b1737d23a1237b546203757b13f376e4805379e6a013704fa0b37b3ee17378613d337a66c0a38167103383a8705381cd6ef372ff2363893b51e386965133800000000000000000000000000000000000000000000803f0000000000000000cb45f03558fa7f3f2afff9367c4c4736ec298f36bc97643ff4f19837449c2c37705698378940323f7ace1c38921dd937078f19378d45003f39039f37318d3337ebb1fd36b41b9e3e9541a5378894153733059c370764e93d373d6d385045063880d182370ae5a238768d4f38d8581038000000000000000000000000000000008b768136742fa236f16d80377c9bc13600fac634261cee34435cab37aab35037c9ec86352c7888355ff5a535293f04373a771d364ffc23368d7e2a37f566563788e9ca34ea4f7736dfce0f3898b0213896b28b36cfae003777ae0938808f0038af268e366291a7361637be36eeccbe360f50083548f7a237486ded374f2ca23701cfff3522f81f3615ad2d364d623336a34a4336bc8e7f3f028ae23a16eea4365443ca34649a7f3f6575c03a21060a37d4de78353708683fd14501396491673683878f351f3b353f504eee380c5e4737045ec834baa8023ffe5d963a7f9b2038fbc49c3540a2a13e580b2f3a7ad80138932f62362418ed3d46b70f39d5dbbb3693180535e94cdd39264dcb3875578f37e63fdf353ff73d3796210f3870bf3236830d9e352f6713380dd38e389bb8a035439c7935e8769137f37f4e38b772da375cb0f73519b22d36f5e9f73634b9a23676ad3c352983943555fd1d37f711a1362de7f435c719df3703ea4438b5bf2e38572e1e3770b372370bff8c3772ab8437965a99357884573744aedc37ea613937974e87350ee2593747548f3769b3a536ce2a4636e106c737ee31f137306a9c3724e898350ac35e3f7be1043edcac9e3560057235d8395f3ffcbe023ec68f6737d591a6354b07453fb7a6023eabc53a361dda1c353d6f1e3ff39dbd3dc5024b36b46af2352386e33ee92c713d304e0f38bf86a036da548e3e3f82ab3c3987733702c491353cb3e73d6f7e8d3ab685ba3691218635635367382e9861386c187d3613713d366aaf3b3873f45838f8653a3752db0836d801e93780810a38bf91193652413336789a1b3706de5937f5753a36384e1f3658594936647b5036deb63636c45abd36963f15376b461a370087f8368334fe3667834e3791328537093e3137193fa336663f2737bc1e2f3770e1d63625827036e17d0838e22919381e058a3758a91c374dca31383f062138751b9c37e06d49366e668336cd067b3671ea65367632ef35fe66303fc6209f3e19f3143638b82d365669313f36229d3ebdf23b3632191c366d19223f6efd8e3eb2532736a118a236014dff3e56b7533e46e9bb3685496e36bb12bb3e302a0c3ee61110373bc54c36dcd0623e3f9c9d3dd79195360df41a3671cab13dbdc01d3c2b0b9e366e7dce35c2feac3884e1883808accc36e0222e368fa86a38c0735c38526e4e3642d67936db08c4374823a936fcbe6f3609770536565315388cb4b837355212358f9e52378cc395376ad467371a6bf236c8d01e372c1d7737fcef38378081bd3616a81c382cd9503801a83538cdb1f1373e7243373a3390371db76e3760c21b370bd4823766abbf3724fead378ee06f3734149e379e9e433833460e382af4bd3668a4723656258236b33080360e2b7b3670d3663616b4003fde92fe3e68485a3632dcae341315033f40ccf93e43bcc0340d3cd3369042ef3ef910dc3ef90bb0362ce09036e489bf3eefbda93eb5bb8d36fb9db7377541883e12766f3e00419f376d05b036f8f6273ea2a5053e4798a13646fd183724ff8d3deeeb093d3dbc2137bde3983560de4f39e492b0380fee4435fb5969363dd650388c5ca437e9897236f901543697758a38ad2b5a36ee8e1e36ec3977373dc82f38a1340137244ed1352c5377373d81c8372d7415363e6013361257f4361d912237208f9636d7432636ebbc6337c849b73738a21d371dedb2365a851d37ea4c3f3769bb04373501b5369a425a3646dcf837ab125c36f2641c3697bd2c3725ceea37738fd836f47f353634543237d114a63745be1236944f0c3617ad323610e7a23ef08a2e3f134cfc35ab1956365676a93e27332b3f6e93c235235a2136097ea03e9c15173f7064113649988f3662bd7d3e5b66e83efde924361f6416377581313e6808a63edd685336623de536ce68e23dafa83c3e814da636015533360e641c3dec7e4a3dd31f2036d5e565365c47c038bd027738e37a3736f2511436fbfe5f383cd48337e7540a369ef6a9370d8c66389ac5f136a4c73a36d8cdcb36c50b98374f908f35d34680351bf24b37ee5343374f99983518e09935ee7887373a5888375eec0137b6935b36c7a24138c6a14e385f5f20372f80f5358ce5a93722da0138553b91357b8f4735cc8c5e374897bf372a96a2367fa21436d3b1263806186d38c78bb63749028a353fc5223713a67637ecb09d35520f9a3510bbd336d7aa0a3ed2495d3fc89d29365e652b366b23223ed474573fa8ad743560deaf357ca21e3efa223b3f32628d353b756637b0e3003eca4d133f4a4a523626c12338627db53d77ced03ecdb4fb353d89f0366f714a3dfdfc743e61e93d354d61a43687a4bd3cb45ea33dd4a5f735ecc0f337a24ffe38f2cb9d387dc48e35190f9d358f31b63819f30a37875c9b35964f35366feec337cf530b3686fde0353e98b5379c509737b7890235571af734dadbb336c157a83665d44a366f0c34368e230a3888e2be3729d5b2351f09ba35347c2b38dbf3103817e0c634868dbf3499436a37a8cd5c371cfd8036f92f0236ea4d1037710f9237758899352f729935cf686b3730d6e0379940b4350b59f734e5f2f23661950337867a9736e51085362b812e36753f123b52707f3f0941ba35b03561378951b43c4f3e7a3f0815fd34a49db036cae4243cfec35f3f3bb80e363251f837d7a32e3b01512e3f14e850357bd1263800f1013bb620f93ef893c334a55c5737c9c73a3ae91e953e2f39a735bcbffa3664040c3a8475be3de54a923519266e370dd6993865137938dd38ed349d8ac636d1b2de37896ba4367cb96936000000000000000000000000000000004b281838f3b6e737f4d28636ae331b36e8180c38873dbb374c118b3695228c36d6ed14373eb10737613bd3363bcbce367f89423768c02c374955083783750d377fdbf137118bf3371501aa370a39a2379504463789518e378f19893761d1173725e554366538a336e0009e3688a740360000000000000000000000000000000000000000000000000000803f00000000b7940c38391b6238f6e77f3fa4140b36c96e04381a6a5c3861c2623f64278636b55012379832fc37b1f9303f808bd336637344376ad8cb37e94eff3ecaed0e374433e83702b23d3886799b3ef97092371a1837370e322e384223db3df9c3fb3663154a36236b423716ad42386a4225360000000000000000000000000000000000000000000000000000000000000000d82cfb34b3db1e35b1763a35a4a0353527b7e235de6ffe35304b0336588302365170e0358f79c53683b69e368cd49736146be934e0f5e8349a12e9342e85ea344c913b3607e73f37e09e1c37ca99353705b16136655f8d3785296137474f21371ac0a434783f0a37b1078b368fb5093600000000000000000000000000000000000000000000803f00000000000000003abffb3470fe7f3f0b1d3b36f7e433359d32d73554815e3fb64e03366e2802361063d6350e26303f42c7d3371dc16f3686e6e734f9dd013fa771ae376beeea34465d343628e6a63e1dabec37d4fd2937865c54369cf2173e4da6ee37d19f1d37eaf5a3345651073aa946e236d0a5ca35000000000000000000000000000000005fe22a36543d7337e9a8f937a1d5cf36388b3c36d4199f3691b70438708eb73663475835d7418a35d9229236358fef352d0a61354c2a4336cee9e337909c99373c9f3c362a1eae3709101b38df23fe37c6b206355de6e135dc2e3a37461fbe3515207435eddede3615ae3037e7f4553668929e3625fbc237cd23e437339c2637c2171d35fbfc0c386c0d2738a5fcea37fc3f2236e3b8763fb774143d6ede8d36d01a31361bf9793fdfc8b93c9b65b5368e9c55350ec0603f05b0563cc892ed353a2ef734c1f7323fc9eea33a0e3b6c37e4382136a789023f2cdd913af66ce637d40204353085a83e0995333a3cf63135993340350433143e6f63013a0f3f5836d35c8b365539493adbef8f3824f908376d5a1b35df4a2438cba345383024c5377124e935a56921386fea333827ac1936d994b034ea7e283712941a3762a483353d5c67363432b63789dca53739819736baf6ac3565b84e37266042373feccd356d7c9f34f0a7a036143f8336e738ab344b5fe13494fb043845d6f73775631e358c458235e3d483376c755237e770f43588721a35cc73c837b5038537b5180b36683d9335b3dd1238b092f137271a23369c8dd93547cd513f953e383e937218362418ac341077533f5bd6303e3ff55735aa084936fba53b3f7cdb1e3e34299536b195a135b4771a3fd0e2df3ddfc3d0356b7e9e3418a2e13ebebe933d858ca934068cde348f77913e4911003d193c21356c657035384a113eb1100f3c0759f4351e1d1335d8b21b3a7b1373383633093627368835cd4d333855c8233832f4203647a7933588332b38015fa637c05fa935e64be8342fd5cf377ba21f35f756023569150636a6289036267b173665c50a366db30735a1211a385dcc3936e1ac09359e135434f6d2a9361dbe6835494f5b344c95b83510554b38af20f8376f58d83533ee763555884a38341e953504b789352e05b43529036f372e8c5336e0311c3622d0983577b76538153aae358ce69935236a8935182e2a3f2aa6ab3e6ceaac35d9b1de34b4cf2d3f77fca33e54870335a354fa35bb5e1f3f25128a3e181908369df10635e2f2fe3e35f74e3e5fdd0b35917350347e02bd3e276f0c3e21226234ec0eaa355aea763e1587953d9927d7356a697735e90bf33da99db23b97e58a35d38a8035a4078a3a16eb543753f115360f879135a2ff25391882b43711bb9e3539239c35739ac9380f76d03778439e358d3c0a37420096386d74e037b7af0337d385ad36737a0638976a043779d5913625928c35585b15387f4a3536928b6935d60311379be0a23840290c38e6b8ce36487d833557d51b381a2d33374ce987357d609e36f84a253865c11737e291a836e3240837dff793388683a237febe0b37986aa23539cd5b3896931e3705829a358a0495357b74013f69e0fc3eb3f19a3586ee043716c0053f3217f43e8b6d0037d918a6366491f23e961acb3e4d559036a76184351f01c63e2d269c3e0c3b6a35c6c3ca36f98e8f3ed6e6603e51a7cd3658817b356a42433eae2af13d01c4833503629436304cc63d5b18063d7799a9364cbb0437612a3f3ae7368d3859370c3769a8a135a501d33981bde737bc619935b8259b358c996b39d1a29c3647cd8635e9d312365eac653759832936077b4935f09a9135e3e66e3845ef8c35a2f46c35adf3da3552d456389192d335a7c79d3554e4613406e3cf367e5560347f305034c39014359d80443868c81835d6d90735b6b80f3689e384371a231536c313fb353e940c35c7e01738cadf1635806cda3457acbb355d50d737f76db63574479235e0b194357b51b03efabd273fff3f863512580a36a891bb3e13fc213ff6c12e35f6098d3591edaf3ebe4d083f93c17535eea3d735e6308e3e4c03d13e1601a4356a3f66347deb513e0de9933e59515034cbcf0b35588d0b3eeda4273e877b083535320e36f768883ddd38293d74980136052b0935611d683a0c7bd2372d55ee347480b73564a46b382bd88e362bfd923555e17b36b85b7e380c62783699ed69359412e735e9ae3c3814ef803544c405351c04df3563bb8e37331996355e8e45357d4e6a3671443138a5eeef345db7d534bf3e45359dc97d37c47da834f5b69834bb7d81362cadd83772c4c735542c9e35c80e2f376b64863892e72d37b99949367d0a4435523089379380e13406e2a63478c94a37966b2338b9ab03361e38dc3597eb0d36c39f3f3edc0b503fe39d6b35970cef3564795a3e2e38493fc2de09350b77dc3593e9493e43f5263ffb83473527441435146a2e3ea7aa033f08dcdd34410fa834549df73d1990bb3e83499c341819cd355956a43dbb0c543e7e6f9f3598efa33657b40e3d43e09d3d38d74f3675275335283eac3a698f0d37ed84ac3415b71f365bb3d93958d2a536ad04e4355189dd379cf153387cb74e3538061735d9e947371c3b0e386877bb3605656d3656a6943697f17d370051aa352e320f355ce9083620b5b6379ab50c35beb4ff3492d3013826f52f3865406d3619cf1c369a51a337855a0d389371ab3504f4c7349fbcd135278283370caf5e357b375535636df236dbbe15382cb482365c5d30360cb450379d0ba737e193553655532536ad27ac37b1043d3d3c28743f8a9318352b190537cb58873d6ddd6e3f4d306336bec05136f6df713ddbbc4b3f8355113552b9293565de3a3d96e61f3fecdcff34f68cef3722ee1d3da69be63e0eec1e36f0fd8937cb95db3c93b28b3e17f9f53446afdd35a9088f3caa6ebb3d0b3b5435af5fb236d139643a64d2ca37de843536196c2c372bf554387f085f36975f253600000000000000000000000000000000547c0336c3a2a6365600a634a393a334cfd72c37cd90603729526a3672bd43360a63423749845a378d454836d3402a364ecbe83416440037bf74e83402b2e934d4ed9a362d8118377b0acb36f7c3d235d601023611da06369b550436c833dc3592d9303570d78236214666369eb4ff340000000000000000000000000000000000000000000000000000803f000000002cb98935bc7c22381cdd7f3f293ea334e0c421379643563899f7593f5b144436db6628379ed14638368a2c3f4a8e2c368bb1e934501022383a3dfc3e9898e7348b549236ed126d38f5a79f3efab2d335b6130336e87c4e3767f0053e53d4e03598c83535e1142f3774ba5c382589fd340000000000000000000000000000000000000000000000000000000000000000f24e3a36fc951f383c4c4136e5b83e363195a836ed553938429cb536dbbfb2366a75d036cb2b733879a4e4366e42e136b86a1836932460382ccdab376519e43696238a35d3fbaa37f12d4b371b0d453698a6af368658803828c7c137b3172837ad34e235a2ac1839a28b9f37a984463600000000000000000000000000000000000000000000803f0000000000000000165b30367dc0763f19a3513755e43b362720a136452b4f3ff1e5b7360055b3369cb6cc36f1f8283fe4e9aa374cd1e236021e0e365bbe013f1221fa37ec91e73602006b354895b53eedbe9a37fc130f36730ea936f4b04f3eceda2838bab4273788d4cb3559a9593d3fdeec37636b2e36000000000000000000000000000000005cb5ac36b26e87398a50d53915f6cc373c824536a2a78c3a97be0d380c66083708b04536a88a4a3932c03c3800cb69377f37cb358d1c05389021093877594137c1159d36a2f23e39c88ac8387ab1b7374f180b36c6c58539d9b43b380c6021377a238135e42ded3802f67f3841b3a437b2951936c1c57b3985276d38b913f2374c014536c1aa993a658d1b3997694d3705d16a36bd3a6c3f8360843da5becc37a048e9356da3683fe741813d84c804373cc5ff35e361453fbc31483d447564376c7f8835a5ef203f7e9c413da1c9393722348936b931f63e0d50053d63f8a6373e658d355fecab3ef26cbb3c3a5210378ef980351014453e8a35a33ca051a2371223b7351cba5f3d270c883cb6c1ea377d682a36cb128239ed3c043c9f8b3c377afb9b35e76b5a3a1493ff37347b1a36ce17213672af8a3a3a51f637715c4636c2120736aba2b1392523053831a70c36e761b8365b2ad43924508a37c403d936a11c1a364a9e623a3b143e387fb05b36c5dcfa35417b6c399998073808051836a6fca736eab9173a7fc48a385197e3363ada483667e6aa3a8a2215381c438d369f93b836197f683a513d3238b5aee836eec06a35619d463fc0a0513e3cea1e364b6cf535de30463f5bb0493ebd994e36d41e0536fdb4253fbe492d3ef4090e3635e2a936fc2b0a3f41a2083eedd6da3608260836407ed23e5704cc3d9ae45f362aaaf6355421953ef2e4813d73454b36ceb19a36115c333e016edc3ce51ee536c8c8343690b8593d1ce5363cb2968f361458ab36ed7a233a38cb4439c8c0e736989c78360da24a3afb192938a5259236395679366c26f13a03302f38edc48136d1aaa336844e0a3aa26853384591a136b61711361070033a42e0953737ec0c3617941f3635c5993ac01b53388dec23361a9a8d3618459c39600c9637fac7a33673ef2f367c9b3e39bcaa27388d842b36e2dd0c367457133b80ac5c3850bf123682857336d67d453a1ac73738c04c8536b5e55c36f74a253f5551b43e1f9e9336881259364eec223f0881a53ef3218236a21e9336e3ec0b3fcca7893ea90ba5360d0d10362761e53e2a595c3eeaf111368f5517367166b03e0576233e5e6825365c048036f0f57b3eee0ed73dc29ea836ea922e36aaea153e6d8a463d3acd3136b0d6ee358daa543de58db23a983b163648305e3687814f3ad6b287381aba86366c9c03371c66653a588b91382ee9d73670d7433713c5893cf8b89438e3290b37ba6d12378b364d3ce78050389318b836091f1437400dd939a0bb6e372eb6df36dfdd3a371092ff3903758a3879df1b376ec4103791aac3393a39db374bdbf33622120737be25bf391d557e382ef9ea3664b939374764d939a2cf833888672937341e0537b88d4d3a1467bc37fde6e5362018f1368a09013fbfadfc3e9e4eda360fb73337f63dfc3eaf96e33e70931237e19b00379723d73eeb6bbf3e1e2ec636192406371f4cb53e2165993e2cb3e636100b2c375c4a893e20ee6c3ec0e4203788070137b9d0483ee048193ed1c8f9368473ed36ceb2ee3d4edd9c3d5cbbf236fde92737b9883a3d88870239e9962f37a37af236ba5b703acca79c381687e83630778b366146683a05ec4c38eed3363628c4283651037f3c57804838147ad13546c73a368f7f133ca6a7d037d5fc2936fd5fb03605d2ea396d52df3666895636c0c82c36cd1d9c3ae1db1f386e1a0d360664233608a6023a64e64c3787ca0c36ea68b33645fbc6399b181338309986364f9a93364ffb143a7e7cdb37d6634436f1df483785a1113a96c9c937608e483677e68536f404ba3e5257223f993c43365af61a3672dab63ec164123f1734d635f5f1313694a59f3e45e7f73ef94b2c36e047aa36235d853e3688c63e2099663605442a36901f4c3e41a1963ebb6b1236e7db1a3696f5123e2cfe443eea170f3652e0ac36ad3eae3d7a11ca3d8aaa8f3693968d3691ed0a3dcee9833b282e52366c149b36030c4b3ad5c51e38b0185336b6452337a7f8b03afbeb7a3710ee933694ab9436b4c41a3c7d748636e5bc2336f776e6368efd133c172f803724028236480c1237346bcf3919c1123747f5ea35eec12e371b9d8f3a3b429837dfe7fb35d618e236caeaf439775dde360a409736cbb90f364d2f4539eca669368bad0036c5556936596d263a87ee76368c0bbd35ef242c36a3e4e83921ad053628a941357133e8368589633e8358463fcd669a36151e90367e835f3ed6e8343fce9d283600d2e2365ff44a3e7b1a173feb018b369660a636a05c2c3ed8eef33e7584f135f0086436a7ec003e5806b93e02070236b819de3675e5b63d5a7f723e09dda136bd7b0f367b5c4e3d87cc073ee83c0336fa015c364993de3c9966a13892bee235373624360fe7943c639e3737824e62355678903718c6443c89bd88362077e735d8d6123876d32d3a6347f836beb31134c02ee837c74c073a41b0433659a97d35c9ab833736e12d3a194ac13653048a3584280a38b39b383a8ae0ff3615b15936d391a53760247e38d9bf6536a5ef8635a437ca3717049b3949fced36ca129f3568e10e37842d413a44dcf936836e87352e4e0138986e6039d9721437736a0436048f4837cda38a3d3b28693fa6560336bd32f0376d02aa3dd046583f4f10c734f405b73759a1993dcf49363fa55a7f35cb722f3777ee8c3dbf59123fe0858c3556e0d9374039503d9da4de3e3416763696cc7f37d7f6073d6ded943e90f18735c3ada5377cf8e63c88261b3e2abac735c94b0b37a570973cef03023c9510c6351045e9373840413c01846a37b697313600000000000000000000000000000000ff8006378e025438c5daae36f522a1355e273f37c2d74a38f50a4a374c1c9c36430eaf36f8429437be03be3576574f35ff0555373d3204384dff6c372c6f023628c8e236246e0b3829a80e385254c6367d93b336f3dccf368b29f437fadc973622073d366ad9ad37a9fffd374d6329360000000000000000000000000000000000000000000000000000803f00000000c437313621f2ad383c4e723f0cc3af353f933237cafb5139b1f64b3f0f69a13603722736c142c7373128253f4f615c352d0f2337f91a38389165fc3e868507362591e3365f0f1c38a9f4ad3e4f9cc936a4e3b3368701ba36da3f433ec6519e36710d3e3679fa9737978c133df5d02e360000000000000000000000000000000000000000000000000000000000000000fe7ebd355daac4359d80c335387d12362e734f36653185369b226b36b8687836cd3eb6352d87bd35b2f6b835c5e9b3351c3d7b36aa94583607815436f23a893623e2ee35f2e22e36995e18360ab62b362c313c36cf711e379a251436352a8635786fd535f56dbb351a7fce351be1d33500000000000000000000000000000000000000000000803f0000000000000000fa49e435fd10803f44080236483e2f36e9ec65362846643f0b130437523d7f367169a835a7bf323f12d06637f695a4351b0f933623fd003fb96b0e376d068736d9d03836f8a59c3ec69b1337639b223643555b35dbabe93d896b2538e4245f3521cd06363f86b03ac75faa359f71eb350000000000000000000000000000000057fc4a3603253838987d3938d7671537f4a0a135d6f8ae359d47b537592feb35efae333470062734136a23348aee1d34e0b5013575e01a35b89ca3353f8a0d36d8724e3567825b35a6d2dd35248fc535e47f293502f94e35f2354f3575b029355ebde7346fd58034722da0346d5e5c3431fed2355f90f93688d10036f2cbad358c5513369f42213603ce3436f0f530368e552c365c687e3ff900fe3b36e6ca368d211035fa04803fa7bc7b39c4d011366ddf1a3469c3663f90ff1d38a2242934a43ef8345fad383fadc84d38c6a60d35db5d533560e2063f06386338ba550636d88919353755aa3ea70b0638732d0435a03e5f34bd460e3ed9c0b73730cb3c34f6a909357e29983cbc4fee3793060836495ad7353aa209386e738937c15d4936a7b92b3643c51a38d9441238a97c2636e79bc235e61df2350e63fc35844cde35d4942935a4843035e771373506fd40354f4c193572653335eefb1f35534f1335bbca3635cafe673522f79c3702a79c37bd3bc135735ccd353b93d8350199c3356a7397341a007736ec7ea83485f3ab34764d9135b0109e353a47993570ad623530ae5a352f17d63610054637a4262f359dc915368092603f34c4ff3d908f2036853bab35085a5f3f59a4eb3daabdd23542702535615e533fbb31973d15ef1035498f1135db68283fdb9b1d3d29a3053561853435c41af53ecb2fa73c65235d355ab2c735aeeb983e247c813cdb74b635f9da95343a3dec3de9c643390f35a63412998e351475bc3aa71010387af07c35d50c57352b4750389e7b1b380ad62635a7c76735fd019d38dead6b387ba128352cb5383560c98937a0f19136ebad1d353f565534bcfe4b3425c23534fb4f30347dc184355a1e87358b1288355df58a35a0364f35a4164635f22857361bd4623581aa1c35aac79937549a7a37b5ea1035aba9e834ce6d44379aeae6344092d434fb42023672aee637df9ff5352bf1013649d68c3715261f3873a7e837f9f897377ca75b35e33a313f36839e3e338c2a35bfa73335579e333fd1029a3ee0ad0e35f7a94534f94c2c3fe5e3743e02c72a34d90d87350a9b0a3fd7c0283ec9518a356d803e359f18ce3ee34ecc3d6bcd6635245d24359ba1853ed083183dbbd6e8345a97c034bd65de3d872eba393caaef346b80f3356e9b093b06ee74387a110136c76b04360dd88038267047388604fb356368ca363ff07538cc4b12383a83ab36e01717362e563238d396a0378b8bfc350d338c359e384837bef93d35e8717f35a9692f3587043e3746230c354f751135300b8d357c9d1836b0366535620b3c351a4c5435f743a437b6f7bc36ddc84b353a91b835c3a2c7377bcd4037a0c43235564c0937e8ab1a38dab2ac3775fd0336711b6f37a281f53743bb8837de30da362626b1367ffa003f8efefe3e046796369ba9da35106c053ffac9f53e5dbee43581d99d345b33013f848ecd3e2401b6344b22f734cdfad33ee4e7953e295f043586e32635a4f89a3eda384b3e288d8835e46511359038533efdb3b73d90ead734acfe3d353629c53d69eb1f3ad5dddd342b770136f0af823a8d7d663865c02c36afb8b536cc157538456f1638c673db3680f30c374b2984384d812038fc27e735bfc0f4354194eb377677f335be4af7358b42d834d43b00355aa9da3474e3f83495941c357b038537c3701d35238b093554334935034f6f372c4452359fee2a3549208735c8851a36481697355b718e3548901f34aae08337d7fa8b34a1a74134196037354abcad37d6d83e35a42e08354d1a8d37168d283842306e37f7805035702fdc350ceda03e2e16303fa15ad23523a5dd352c5aae3ed3fb283f7b80e4358265bd342da7a73e4716113feee5bf3491121b35a81f8f3e1246d93e3bc10635afb24735da355f3ea300913edc273235606c90355dc41f3e22cb0f3e8fda723509a61c34ae41b73dfaee623a0e763934029b4135ee6c263a8580663894851e35cca371354eb6b8386fc13f3886cf4b35e89e503510ab9138d5849136b2aa0e35d7ed9b35d8066037e8258635f3277e35293ebd34a0b3b236f11e9f343d8ba134b83bc735a5df89361217bd357668c535720a6535b96efa37346d3635e79d5135cdfd15353dc9fe36876e2235cdd2163588d1303528d22935654137351efb3635649ce735cb815837bef6cc354f13da355a42673749d4a237add62136c9e92536a9884a3543d1023e8ab85f3f0de80635acb69835232a273e677b563fa28a63350db0b534ed24143eb2ed3d3f58489e343926c13579a9073ecd330e3fd088b635989267358ef4f63dc4d9c33ef7275935296c1e3506a4cd3dcaad523e8169f634422c1a3522ee9c3dcf02d63cfd3e3835c62cdd35c744743c1e8120388f04dc352dd335368e885b3854fcaf3784331e3607072c36edae413872aada358540a135c0ba053686476c37aeffc13482203f351e4d98352935a234508e4a34c2d6c234eed64135569b4735b3620f354b880a35bb8e1e369eaf9337c0393635e86a7035675c2837fa21d637021c203633e9113574ab2535b581a33755878f36fbb2303413ce7337470b3a383a6cb9372b028335676fb5378b63f337e1934737d9285d3662de253664b4873c03197c3f2ed5d234cb6bc935d1380a3d60dd723f51fcf3340da70335b3f61f3c976a5a3f30111534de1905350fecc93af5b82a3f46ae06353c8c9c359c17c53ac013f23e004665358a033f36de49f738042b8f3ea273e53495f30a34af096c3c8f80ae3dc4071b34b7cc803612e18639d2cbc2383d8fa135245e63372f398d3826671b38746f48360000000000000000000000000000000063abc035f07dab35e71b793556580336e192b536ea055e35971e3935d3e4713586af613622860e361910f43561a8103600ea7c369450923618c16036b7967436bff506369a0280377981af35b7d3b5359ad495365fe116383085d63740636f36ca940236bc092e361f280b362e3308360000000000000000000000000000000000000000000000000000803f00000000fac185357b170437c519803f2457743521c88e3588046138f622633f4c923535dfdd503671681238e20c323f5714003664d67136d2868a3751c0fe3ee290663696f9b135aa058d38f6559b3e8bf9993554969636a530a038f3b2e13d363b73365dbd223625bd2b376632373a9766123600000000000000000000000000000000000000000000000000000000000000006c7a9b34d1dfb437792cd33487b01b355d2d89360ac1853684256836203c9236e77e7d35b43c1235fa154435315d8a356967f635f573083673c515364dd82d3639ab1637da52bf3708ce2a371d333337df39253682e97137700c7a36dada4f36fb3ff9355d8f1438bbd42b36b553323600000000000000000000000000000000000000000000803f0000000000000000b0b25c33ad05803f79a26a36d666cb34a8497436710c653f33227536f8d285362fc073350285333f75758035ed16853527c9da35eb6b023fad600c367dc927362d4006373b32a23e8ca560370b0c31379ee20736cc46003e869d04371c1e6236f3b7c8352a4eaf3c065a3236444428360000000000000000000000000000000017c66e3621b600397b1e2638ef9cc23682f8f63592994c3841970138076c7b363d8a143602eceb37b4c88037232fc5365bfe0a37e1ff75375b565a3723fe243745488036569cbb36326ab236d0e9bd3636913c3792c08a3877481d3868d27d37ce2ad1367491ff37c05c1837cc750c37aecbae36e3d54338d1051537b4871137cbfa5536f4deb53819a61c38e39af636b73c373695c3753f6e3b113ddc5ebb366ae2df35454e783f73479238ec02643622c9b935930f713fdeda6d38be7fbd366ca9003707893e3f83da6c38ac9e2737453763369a6c0b3f0afd2b37fdb8b23644262b3771dcb13ec72fb63828747b37dc00b03666cd133eac21fe37601d1337898071369dd01f3deae207387b780c371f8d2b36cf4f3139c5ab82388bc9e93625531a36a068943868492138df14803600000000a445a438fc893f380000000000000000ed71133825dc3037000000005d48f03572109d3742a78336c23b1e36000000008fdf3438395ca93700000000d96a4d34ed923338e6455036fe18e133f7669735b4bd113961e2033825480d3600000000955db73846a00d3800000000c4819833eaceac386b3f253853511634b2e893353e94523fa1090e3e73ce6a3600000000cedc513f1e96f63d00000000000000007a1b533f1eba983d0000000001793d35892b303fcae3083db85b1436000000006e0c023fb057c43c00000000ccec2a3438b6aa3ea1be1a3c704f05349964cf347b4e213eb814a33a1e05ff35000000000d32fe3c88699138000000002b89be33a80e9e3a5eb0903815561b34e586593332b3833af3a744379a4df73200000000605eb138e3dab8378c3589339f0dbd3685f9e638964bb83758aff43647cef83101d60138099702333c83973200000000c02186381ca07037b4c3e334e4e6f9369275e638a0e8073811e824370000000030c3df370000000000000000278da63561e86f38833e0436cfcc9535c249c636775c853904f2f6361d5fdd36fb6d5a3371e62a3f2968a03e1adf013300000000b3652c3f33638b3e000000001b1b9f36c2492c3f67d34c3ed4c6ea3654079a310a0b163f45c8023e636bef32000000001ae3e63ed25c813d2cdfde340210d636b01e9f3ea592613aa8e921370000000022d2213ed8c69a3700000000c816e034d20bf83c5e64ef3702985335f067a03645554c3b2428dc37a9a7d236d22ae3364103733af26efb361ef5a7361d2a7436a59d6c38f288bc3606a33a36772bc936daf0043a70731137a560e336c70564373add4d38957c6337de323f3704418436426dcc3765a199368f728936a740483760fb6138255580377fe364377610f53618b2903a5557f936beafc2365a5d7c3646493438cc3cb036d8b4873669c2bc36da31f037e9540b374455fd36c1c3d3364888023f340afa3e4d14953659d53d3693c6033f2ecbe13ea3250d362608bc3645e5033fb7fbad3e7697d236bfe55b37ede1ef3e64426d3ece9e3a37266f71365a89b03ee5841f3e3bc47e36edd63e37aa71893e4bcb033d2d0260379552e53607b7143e25525b38e4aaca36f8583436787d3a3d9fe7b43721df6a3612deb2369a701c3bbf690d37a4aaea36e0b3cd3623953e3b71a2ea363dcc8b369fc86435402c9038d1946236f56de1340000000037fd2a380000000000000000440423378959e438977f193731ead9364cfe8034339a9238f0ca24379f6e3834961fe432ae6c5d3800000000081c0633776803371b0b0439dcac0537fb93be36e0db0c317d7990380000000000000000c6a69a3371c5103857ec5b33b40bb5339097af360228af3ecc51273f9d59693618f9db34eb7bba3ea4511b3f7b43ab34000000005131b83e3585f73e000000004cc5153715c5ae3ed86bb23ef1b2c33613e82534227a8e3e55a8553ece0c3534e4349d32aa65573ecc329d3d2d3c1332cc91ec361ccb033e23d71c3980d7af3600000000b5a6623d3dce1c3800000000be46283314769e3c9ac40536369dbb332bd4e03397eada3c125c0738b1dd9e33000000007be3de384fbfa237000000004ff11336a51367391593123670f29b34d4d929349abd6e38bd809534f32bbb330000000056cea038000000000000000001a13d3691039838d5bc8836fdcdb03500000000839b363900000000000000000000000047e6a338000000000000000086e09f367993573811ce8136dc0b1b365db5db33a605243eedfb4f3f3509a4330000000044cf4c3e6121453f000000008d3d0336a9f63e3ec9f8273f0016c334c507c833f7d73c3eb38bf23e02b157330000000088de1f3e8d54a03e00000000f64b223692dd173ec573063ec8aab7350000000024c3cf3dc756a4390000000000000000dd2c7b3d3a6e3f380000000029158b3658b0213d92903b378aa50c36278fdc36d11de5387f2fb73773e6f6356e1d0937e6b5593869cdd136ea325436b6a710379501fb37a956ec36769a9c3688fd78379eb9b7388bb56e37cf762737b965a9365bd84937d53c92364f94763625122637cf1c85388a2a4837c05105377a64bd36b1fc8238e7f5a8372a8f00366abe7336a6ea6d3844792c36783c04366ebbc4364156463888d1da369f857936b46cdf3620864d3dc149733fff6aa1357edd0737bcf1863d4f4c653f90d81d3674c91037ac9e793d099f4b3f218a8036606179377ba2523d2ee9193f3b111b378285a53643fe293d273fd43ee66e5e3608c3233754440a3d2bb3633e87e8fb36377bc23653e7063dce35d53c4df1f1352abd61364eb7f63c3583493864240836b23cc636870ab23bf16770378990603600000000000000000000000000000000ba371a36bc453d36ddc006366bc2d635e7c96b366e7cb9367f1b0c36c388fc35ec1e3137a399983728fc1637b46b0237464a2e36a29119362faff33544ecf335ef358f35169e3737b3d7e935a4e9a4359e278e36cdf83d37a48ab537b3b3833663040935abd1a937243dc93729e97a340000000000000000000000000000000000000000000000000000803f000000004ef41036a1f17a37eaa17a3f1f89d6357f3f6a3624608837280e603fa085913526e52e375579f93760f32e3f123af036ec652036debf2c37bc6ffb3ed5affd3577648a35691b92376b43993e0cc60d3511368a368c7e5c37bd9bd83da6e07b36ab1ac634b042d2379c9c5539e9a6b03400000000000000000000000000000000000000000000000000000000000000002c076c3614963e388bb1813693016336e4308136fd158b3636f030366127d5354c4b7c363b2a85372d5c7536ea9b443637c840361add2c38c87a83361a756d361bd1873610470339b466b236a046a836eecb1f36c9709e392cca8136f077873679c25636f2502d3c9daf993683c9993600000000000000000000000000000000000000000000803f0000000000000000944764367dd77f3ff85f863627286736e8cf77361c605d3fd01f4536017fdf35fbdb67361147313f26e08436220e4e36984536366e5c053fba7588365060763655716d36be03b33ef640b83603f2a9362df60d36acb9313e0b721a37195287369248443623e40d3d92a6f2361ba19936000000000000000000000000000000008c00483501afbe3b386d5e3807af94368bb8d235a4e3ef3ae61e87376a81763635adb035e5a95e3a293f3137812c843650bb15369302de3a5b4bf0366e6bc43663e58f35ec621a3b47b042369eae413633768136ac71893cf3ced437f78ef236cb2d6a3539f5e33c0f1f1e37eabe9536db1910369db1003d13fe8e3627568f361160c036c454a93c162f2c37ac8dff36b142f7332305653f18323e3d2e7899361c749d35303c6d3f0f7f9c3cf5bb6f36282f81354c79673fe68839396618873607f8cb35518d393f9cdf943863dac43689d13d350cf60a3fd9cc2c3909383f366e542c36be3cb83ed6004d381bd100379ef1e5341e82333e74efb238909f9c36d651e035f5a1003d51bc3837edbc8d3635c89536e140103cf5505538679904371988ed3552d5983cf8782437ffbe933607c400351d8b783c4afc20387ff99935e2e34f35ee958e3cef9d8937dd23bf355d4927362de4023cb2acde36150ea536f81ce8343726fe3ba94ca336e4b42c3558d68d35bed8ce3c8c21a13704e844367f8d7134828ce53cb8a27436dd8e2836aa1cdc34d6bd0e3dfd48a13699dc26355e999335d288dc3cdc0745369a8f0c363ca68e3579713d3feace1f3e5e5e9736f6d6fc34dceb413f62e2f33d786da53593a44b35bb2d443f2751ac3dd4f1b5355751e3351d5c263f8009393db11aa73627d6e13412e1fa3e8b0dcd3c0dc52a353b658a35d648b03e698c463b3a674436893566342597483ea8b08437f08f2b36a068d63499fa633d471dac37b6e92435cac97135f186f83bc41d3a374dc30936bebe85367a93063c240504378e5499360f7d2f35d697823ccff44c368f244d357921cc353390053d9b5e7a3631305d35be828436c2a7253df1e62a37fe547f360ed28b35d8ff1b3d097e193615829535ece78b368f81173d04a1d436f64e843675734335a091fc3cdfd5193677e9813580ba39351155123d7e26283642a5cb347a17a836a6b0ce3c9425d336e61f22363f7562364b201d3f8ed29a3e71bf9f3655882b3511b51e3f9ce97c3e12054b35618d7a352e0d1f3f4ccd2c3e6f459935a607623608f8093f1e49e23d9b2288366c717735cb55d93ebe01663d9245a535f8726b36959a9d3e45c6553922b18e36395041355a2a453eb2ff3b384ee08735957f0b35814db23d99e8a93743810635aa2e8536eacfb73c8d705b372e3f3e361e29a136cf819b3cbdd3a53763f67436ce5e17365932053d9b244b3651020336103cc83592d9353db0e29036537bee316d8dda36fb12593d75711e37899d89362ae706364c822f3d4bf92336c6b8df351a67d336663e533da6941d3734ef9036d376df35eec82b3df95791365a4f3b35137f2336e3cc2b3d18c83c36e95fef35d996c236e0c0103d94b1f7360edb3d36bb8c8636f5e3ed3e1219e23e8ff28f3676800836f12bef3e9830be3e68410836203b8335efa5ee3ee4dd923ee0d17534a8b8c036e638d93e34fe433e7e829f36a893fa35617fa33e608b0d3ea4e0ec35ea1bb836cd7a823e611cd53cf122a9367a227f3557aa253ed1008e381e0568355103163684f3b33d642f23389da600366855a836f86f253d580eb437be3b643681538036e3cde43ce3d406370519263625ab3d35c7e7113d5c62de365fb07b34e4ba8635bf41213d541e0a36a1383c35a9fba1367342543dbd43d536efb2313667edac35c33a433ddb75ee350b3f2135c8329d36354f4f3d7552c9361b3c3536093a0136b0e4373db00d7b36d945973429cd4735bf02253d08b04b35257c26358650b936d313d83c1534be363de73d360e965536180ca83ef2dc183f97794f36b8421635f7cea73eb8ad033ff56d9534506481357751aa3eeb8fcf3ef2813e3508b2953681dfa03ea96c943ef78e4b36cc23a735833d833ecc44363ebba33f35153991363a89493eecdd813d73fb43362a10cc354b46083ef6745b372fef2f351ced483534169f3d3f06c636eb8b293590c1ab36bd184d3dfdc1dc365ad8483623d30836f07a373de5954b365fde2f359c761d35e2955e3d671ced34e272ca34f1d63536b998343dbde4ec35ae0045344bbc5336902b3d3d794f9736bca78235d40c2235cf86433ddef7ff34ec52d234e51eb4366b06443d4d7ca736c2f6eb345e81aa35818d353dc37ede35203143351764cb35c1bef63c24a51935dcdcf334f112b63636daf33c14cd9f36205b2234aa930836dd13373eda103e3f4cfd39359a9b2035962b3c3e5d072c3f7bfdcf3400942f3619803f3ebfad0b3fd1bf553410f84a36b9f6373eccf7cd3ef9888635e00e2635edcb223ec1ba8a3e401eda348d9bad36f00e083e1299ef3de2e1933520b2b23534e0b43d261d1b389dd047350bffb2359bcda03d6a7ff83775baf8341632a4367484653d9f33cd36c6a01f359af80f37e7b5083d7d8f283789a8193646168b369c25f13c72115a367f194535b46da4366825e83c903575363f6f903180360a37cbe1b33cdf991037f23c423405363b364994b43cec1307365572eb3260f5c636dffd983c88e3ae36412a0d356da78d363c7da93cd2b553365d83d7340e896e3649fadc3a705b353660f817353143c8363ccc213cb60f6f36239bf233fa3b0a37558a6b3d564e613f94e65936f94b8b362269903d8976563f3d4b8f35cfc0a1360cf6953d8523323fa07690311f750637221a8d3d7065083ffebaa4357ec8393621cd833db5ebbc3e79ec9a3420adc7360aa8683d430f4b3ead6a813563718c3641c94c3d636bc93cac27353586786b362755513d2de25a37f245653523ff9f36e935333de581593719cef63300000000000000000000000000000000dd4e973645852238a46b8636330c143616b48136636e9c3756904d36ba63d9359d84b036d6b926387811ab360cae323682067a360139c53613068136df8512367ffd553624879536dc594b377ae93f361760123650c66c3698535937511f6b368c287036f9d16a3764321a38e02e4c360000000000000000000000000000000000000000000000000000803f0000000051a79836882512386b7b743f8753213692e584362335bf37ea85533f77aced3584f4ad36861628384990263f296c48362c7e7a36c056a3363c53f53e69691b36cbbd5736564b91364c909d3e783a4f36b16a0036cbf65b3604cf0a3effc86f36385d6a360c95a7369a02293a5ecc4f3600000000000000000000000000000000000000000000000000000000000000000000000000000000efcf4a344e1021342fbbde3418089c33a8222335d6962135998b2836b3f10036cb17243661982a36c8899334b7804434ce6356358fc65b35b4164735a37dad34a7b765359c08f034aa71b63548ca94353ebda1359ed78f35ab134235832b8c3526019135f0b49e3500000000000000000000000000000000000000000000803f000000000000000000000000a2d2793f5cedd834000000007566573349e65e3fe2303d350c115d34e5270436a1c0313fe0972736a5300b361cb85c340f7d003f91ed77352923be34d15be733c95e993ecab933356642e4332645703564c3003eccaf8035a7e66f3512bba1345b5e0e3df58e8a35c283323500000000000000000000000000000000c28e8234ac10a4349d7c743785af7e34f04ab2343e0a43358815a435c143b735c69d8732ddb4163413eb28352e566c3503adeb35d57afb35ae9c0c3686d7d135fc5a3235b89339351ceebc350d69df3579e7c8355bcf3f368d0cfd36f70ab5362e63f1349f8b0235b1466636bf26c93466f0eb3511791736ae640436bd15ea35d1f2fb3263cf3336c28b29379f7dec32268e63342ac7783fa48e0e3d2bbc5f34f196533429f6773f34474d3ce1c084350bf37c32de04613ffce4a33819729034f9beaa3561fe353f4da7c43a730ef0354f08a933db9d053f86fc4d3a3e5e9c350e386735456fae3e55b2c03ba798ad36807add34df8b1a3e88520e3cc6c89d343a9f3635ef232f3d220b8a3ac294b6353628e532bcbd1f38d2c249380cb3dc3236ffeb336cb2d53625fef937550cb833849d5033c0b08f377f121d3856bc7133487405364ff4593680c6ba3691822d36c475e93420400d356ad7cb3430b76434b7936b32e48a8132c5c78032e37a82329c44513632148d3687548e37d43f5e36827b15330d0a90377ea8b037601023330d7ce83581621537fd445736c44e0d351cb43f359618df35ce0e9235ce89a2355923ea3301ca5c3f2909143e6bd6a233e10455330882583f9be0f93d6338603313820535c2b9523f9ab5603dd09e1a36e988cf3354282b3fda95ef3c4aacb33105d56832a155fb3ee5a8173dba70753203f37935742d993e28d1203d84013136b84b08339d14f63d06fe183d9ae02e33148cdc337dde633c2e50913c5b2f48347b0bf5320929ba397033ec3934044835000000009260a93886549e380000000029b0873431cc1438729d533815d4ae35fb659c33213bc734ebd52236eb511b341962e8350f5d2c3648c012360866de350000000000000000b7843a341904e133bb82d134949e6c378ebe063810379e34f8b910359a2d94368fa11a3792fefd34b4319833039244381cb7ee3729623235f78f6c345352c93409f98634b2bf47340000000035a2323f06bf9e3e00000000c22976348234303f3c96933ed27d673318dd433391752a3f75ca5a3ed28545339ba50b355bc50d3f6a231c3e5fef4b3400000000b9cdda3eb577a73d493aa2336f120d32b563863e087f823d576a34337e4340347f65f43d0a57df3c47cac03268920233cf37f83b69ee8839669413338eb55f34c91b663a6bb3063a9fdb733495800b340ffa0a38d888b7379caae1330869493589f3eb3570fb9c35ceb0493564550e339a6b9c343461da34d1f03634a431bc3531a8d73690aea036cf961735e973c2359509ea35d74bfb358558e13575d6ce3508370737b2466e37c4f0b935e5d01335413a7235264ab036001867333047bd350cd69b3636c4dc350c6a9335bd59163497e9dd361b61873647d80034693bf2339d65003fb46c013f9daa963336c06b34540f053f1f02ef3e1a8768342aa202337c19fe3e5a1bc43ecf5cf43289583335403adf3ecf2a853ec974173536915835d844aa3e3768303e3e2bab356a55da34a9bc763ec61e993da172883507650f339db1003eb903103c3f2e193350dd1d354c0eaa3c121b4f389fd25f358d47bc338b18593ad172453834ce2d3406d481348417673894193b3408ce3e34c0200a33b36422385054ff327a2efa3298632e3570c9c53531d1563500fe043295410635b2b49c35ca81b7342648b332000000002458f836a9bb82329b58923391b3f3352858a53674991736815baf352e8f27349e0e96374b157c3760c099347b690236ab644c389524923652020d350000000071f07b389f91ee377bcdf533aaec823481a4a13ee0e8303fdc3a2d34442b1833bc05b03ef7f4273fbe07e532b6203d322ba4a13ed7c60c3f3d9b9c336cde1b34abb2903ead19cd3ef8cd4832b8e90d3328cf763ecc0b863e00000000a1183f347f0e383e4308003effd59035d78c5833136cfe3d4973e73bb07c9a3312ecb4341b1df83c7e10a1391aae873400000000e8104f3a1f34a03800000000b3252b33a01ac63884b7f633863fbc32c2ada0352a328d36e72a9c3500000000921e75348138e13404581433b9f3c13286be6e36ca59a8364ba83d36808a083628376f329a9c9632f91d8e32b3d36032023316358b1851350be158353028bd349df2433651674f372473ee36b105343659babe34336812360c84aa350334f93475fdd7338dd90534bd6b0434ef10c7331cdf343343f11a3e1d905b3f13ce0032eab929349248223ec976513f00000000c413fb3218cf083e59c1373f5e35eb325460363612aa073e34730a3ff449a734af956532c7e8fa3d30bfb83e2ff35c3287a48c313898fd3d3801433e38617433680a1736e81fe23d9b3aa33c1c0bbb3539a05333c24a293d6cadf838705b46336f24cd33a8277d3a3c3ad033be22ec330546fd32dcf2bf37191ef232d598fe320924c3355eab07363e978635a52a2e35a77caf34e0674f34a9358e34bb8c9e349cb59d36395b0a3735b152356fa3db343238973523de8535160b583502282b35838f1e36dfcdb636b11b5636ef34c0352559ee3429438337855a6d3741579e32b291b935b486db352247c835111f40359d6b90342ac5ce34aa67af346fd27e348c24033351cb0e3d4b7f783fa6c6e53261fb8b35f79e403d78a5693f85d27934d4b75434254c893cd802553fa4028a34bb71c53696c90a3cb53c273f8e18063523c05235c1e3a63c04d4ed3efeb25734f180c3359302243cdb25923e522eae351b138c323003be3c0966da3d257e93320fcc80359ad39e3ccd88b33ae592ae34045a5d34fe75f8395d199e368711983400000000000000000000000000000000a42a2b3515cb0835d704c33451f2b434a9e0d235ed393535f858473519ec8435a8607d35523cbf3410ddd8338cfbd63379b1003587fc8734de83a334ae9ab5347d334d3674f62036701212368b8fe03549c083358b8f3e3510a675339c7d6a33a7501034d7a6dc33c5bf3b3409e52f340000000000000000000000000000000000000000000000000000803f00000000bb10c334e9e87235e9d6783f8ab6923477938a350c009a35c94f623f3f38893505850135fcac2235eec1353fdb7ad2336811ee345f0c4435f703023f6f7a40343abb2236e7e49637b95aa13eb0b205361b41483521c60038066d0d3eb03175330f0d8f34e112b43432c2033d000000000000000000000000000000000000000000000000000000000000000000000000b8cb7932a5340134a0833b34b97232339e4f2e341019cf34f6c8e4347d47a73300000000000000000000000000000000d930193592294c357e216d357dd5413505351635a4ac9135f3eb8535527f15350000000000000000000000000000000037deae34f082113591b12535783df43400000000000000000000000000000000000000000000803f000000000000000095bf30325543803fb5bc5334c5e76b33fcfaea338f846a3fe9c9d434514249340000000002fc393f0000000000000000443a213556d6053fa67264359ff83b356b683c34465ca43e1408a335f108723500000000aca7093e00000000000000007b9daa34de27643d430b1e351074df340000000000000000000000000000000005da0d35b66f213ab2972c3584c7e53433b005344136623595ce3835c4e14b340000000000000000000000000000000000000000b618be350ad95b35be642b34cb5acd327096f534621fa7340000000000000000ff37c735fd5ee33400000000000000003849c539bd09293400000000000000005a395b3a00000000000000003fef8d34ead4dd3ada7c5a35be813a358da7dc34287d763fcc11873bb298d53493edb43385ee743ffe0c2e3857207a34000000003252743fca174937000000000000000018ae4e3fc9ffd035ba8b793400000000d93c1b3f4995f636d710233200000000cec6ce3ee6f3c5350000000000000000aef04c3e1d4c543500000000000000001d50e73d0000000000000000deed02348adef53cd7a3a9351690013596494a34be460b3bb6474536828b1c357c90053575467e3690730436f8891835f23c5934f436df35f86f413400000000af465235d476233643acbb35c1471c3500000000b8861336a69f1734a235e433000000001d960c3600000000000000007e9c2935f156b53a04e40536fe6c0935000000001f4b7b3bf1c1613300000000725bfc31d7dc1e3b000000000000000097d3dd33e05d503f939fb83d132220358aa5c83403a94f3f78a9713dd93ddf347db7b5331f2e553f7b8b823b00000000bcc75935f998483fce5c5636e01c0b3500000000afbb193f81eca1376e9a973300000000954cd93e3fff9235000000007eab1b3528ca603e2d2d5e36d696e0340000000027a69d3d75450c340000000000000000a788bf3cadfc1a310000000000000000d1c9053bf6177e340000000000000000915d603a1b6709350000000070a14f35658b133a04c8d835665c233500000000603a1736742b9a3500000000c4dfb432a9bd433941494435ef892433b79eb23542a894391269e6351f458f356a989333f9bc5c3a45909d340000000016f6ba34d9235e3b56394e3590cbcb347739b3358300923b1415bd3538139e3500000000055f2a3f9a8c843e0000000000000000f36c2b3fc3e0443e00000000c34d6834b47a2e3f76c0cd3d905d333500000000be522d3f1d25333c00000000b5348132c0c7113fac8fb3360457e033c2e422354c55d23eb3033a3603c18a357702a0334877823ea8d79b352c6f9e32a91ebe34e0d6e83d9bae6f3522aeb3342c2789355c4e033ddd780536c00c9535655095347802a53c6cd60f360f75323400000000e9337b3afae6cc33000000000000000079288e3a000000000000000088e2243411cfde399d9cba3500000000000000005d6c323aea2cfb35000000000000000078ec733aa88a87357877e334000000002b5e983a000000000000000000000000415b143b000000000000000026d61435855d183bcc7a1f353305e6340d1e6e346d05fc3e5d1adf3e2b2d1234000000008adb033f0ac3b53e000000000000000056d5033f656c813e0000000000000000aa76043f1a25f03d0000000000000000744aed3efec8223d0000000000000000c8cdbf3efaa32d364a60f53200000000cd10763ebeee01350000000000000000c31d0e3e846c162f00000000f23e8134cc596b3d2263be354b269034ec509035b9eb153dbe171b361f083335dcbf01357abae23a438f5535b36485344ef68834ca75343ae653253400000000936d8e352277b5395b4e19369bcd9734f33ad932474ca63a5b9fed345d7fa032a7109133eb8bcf396351943200000000c39f8d35d98bac3a9c64f635c6137e3400000000d6198b3a0000000000000000000000003f44a63a000000000000000062be8035008da23e68d71e3f29ac04359a14d334ec01b93edb08083f78dedf33a02e2c34126eb63ed77dcb3e000000001d758a35ed21b63e78e6773e584f593418b0af335165b43e773ab03d2570d83200000000d207a43e623c0f360000000089817135b4ca673e277c2d36b24f9834000000001908143e0000000000000000000000004565ab3d00000000000000000000000016b8543dcdb60d3300000000000000009150933c4a50f23200000000f1918135f2f03d3cd108e2356349d43400000000f2506336000000000000000000000000bb6a0c3b0cba22350000000087205c354428313a7f1dcc354f5437351fc64c33f0da733a8071713400000000e40f8135718e5f397ebb7f35f559ca34f136d8350c6bdd3afe1a9135d9b6fb340000000051a6183ee0b3473f000000000000000017804a3e0a33363f000000004d7c203529ed473edfa4143f7ae1e5340000000000fd493e5631c63e0000000036cdc6337d7b403e9e4d5c3e00000000829e4c35649b503e6aa0983c397d4735c854d8328dab2c3e17ef0d3600000000d69d6335f2f60b3e20861036fd01bb3425ae98352fb7cb3dbb5e1536d5733234e2d027354a9ea13aa549cc35c59d6133000000000632e3390000000000000000000000009b5e78380000000000000000ad370134356acf3948c7d230000000000153653251322f39c52ece3400000000bd239a346e642b39f1af9935000000000000000072e4de3900000000000000003b1b0f35507e833882f5ef34edd1d3336c130e3546a9613a70ea3b354db43235e229a334ba79543da0ad6b3f0000000000000000f66f7d3db17f543f0000000000000000f004813dea333e3f0000000000000000216d503d7dfe0c3f0000000038ff98322d8e393de19eb53e00000000547c0233fc19093d971e283e000000000000000028e52c3d83bf0a3c0000000079fb0d35da07413d3b3a1335fb8474337ab4193530931d3dd6c42435301cee340000000000000000000000000000000089e4e43428540f35caa705359bbf993400000000000000000000000000000000fec15d359e6e9735ba1e50353d1519341b373335c3c246350c374735802c133500000000000000000000000000000000415fb834fd62d934b439c23436dace3397cce6338e98e6336267ef3274d9d6320000000000000000000000000000000000000000000000000000803f00000000220edb3491041a35741d733fb246e933000000000000000066f05e3f00000000217099353025b9355b242f3f5476b6329ac93635220b64355d41f73ec950bb340000000000000000ca078f3e0000000018e794343ea6fe345e4db53dd61888311ad9b233547f31346b975f3b2759e232000000000000000000000000000000000000000000000000000000000000000000000000b3e604392d94a33432a1d6340000000000dfd5370000000000000000490ac2356b6a3038000000000000000093c49d3599e6073994f90636d2a4b2358471db33b60a433922df123452b817341bcdd2317bcbbf3c01e07d3465ed5534cff89c345092103a3da199356408713500000000000000000000000000000000000000000000803f000000000000000000000000ef7a803f313ea234a224e23400000000a9b16e3f000000000000000035818c35bf313b3f45bd6c3300000000b3f450353cfc0a3f60f30e3698edbc3513f3cb338634b33edb896334e61d1834000000000c0f0c3e2d805135403e7234de31a433b3e1973d99dfaa3520288835000000000000000000000000000000000000000008341a3de340803457c3fb3300000000d574213d56a89d370000000000000000b80ab03c7d32093500000000c9a14a345d62603dee5582355dcf2935bb84db31fa40923d56f302383a04dc3366cca734f062d33dd391703562dee23378a91432d399f73db37c1e3575fe893400000000f4b5033ef3b15336000000000000000024cbac3de93a92370000000000000000045c5e3fc8d283384630a03300000000fa69633f4a5cc23800000000000000008f316f3f315f6638000000004f17213291205d3fa654e4360f8519352b81d031df4d263f6185e13866de5a342287b233f8abd83e7cd33838470d3b340000000000084c3e3d62aa37a2179e34000000004542b53dc25b413800000000000000008ca43a3dca3d8d38000000000000000019993e3d62e4ed370000000000000000662a4c3d9d4db537000000005641283328bcec3c2a204034000000004f5778337d8d733db0d5083500000000bd31223107cbac3d9c080631edcfd730826ff833b444e03d0e459b3400000000609c0d34eb77de3d9bd50d35c467b233000000009a4d093e000000000000000000000000521fb83d0000000000000000000000006380313f9086133d000000000000000076b9323f747110390000000046313b3134423a3fecd09438000000001bf80a32b8da3c3f32141438000000005ecc1f311f0d1e3f2ee18e388d54e630f4828e331c63ee3ebea7f3370000000000000000a1eb8a3ef698c53771fbcc3300000000662cef3df8be58380000000000000000bf19313d9871d53700000000000000001dbd0d3ea21305380000000000000000ba68033ee1af5a3700000000000000000914003ec151d8363e6ace310000000023740e3e0153693400000000f4345331f8e4303ecb10dd313d083f32000000009805333e0fd1672faef8673100000000cd7c303e00000000000000000000000086b4283e000000000000000000000000706e1e3e000000000000000000000000ffbced3ebde0093e00000000000000005174f23ec1d7753d0000000000000000cc21fa3e042b02399813c03100000000d080fe3e92791e38000000005c93463129d3fe3e1218dc3865f22f3200000000f0e4cf3e64674b372c6f6c310000000097a5903e2c4a8a370000000000000000593f2d3e8c6689380000000000000000e133983d4100bb360000000000000000207c333e0000000000000000000000000363463e4022a3370000000000000000aec52d3ed32a463400000000000000007e433b3ee11db934000000003339c330a0a0433ef5fcc6302cefb230e57292335d6f5e3e559a7a340000000000000000d6f94a3e000000000000000000000000db1c4e3e000000000000000000000000df02383e000000000000000000000000fa27933ed226913e00000000000000009d598c3efbfd363e000000000000000043129c3ef59be03d0000000000000000f398973e9fa74b3800000000f2e3be30ec75a03e75ad51389f25b9308bab863002eda03eaa36423700000000000000002e79683ebd24703600000000000000009eb3253e8cf9ca3700000000000000002555af3dece86f370000000000000000df623d3e00000000000000000000000032bb523edd7751370000000000000000fe763f3e6e9cae33000000007f1dff30e2dc3c3e0000000000000000733217327f663c3e44db6631be582f31000000006a73463e859530340000000051a58131d7e6553e000000000000000000000000ca7d493e0000000000000000000000008c13263e00000000000000000000000043aa163ed423e63e00000000000000008f5a063e0342ad3e00000000000000000941183ed9fd5f3e00000000aeae383162c01e3e5c5db63d000000003ba2243263ac1d3e4dcb073988e83931000000008625373edbf41a37000000005bc3a33149d73e3e4d0d8b370000000000000000040d1a3e9d82d636000000000000000075dbe03dca0b8b37000000000000000057d30d3e000000000000000000000000569f093efb044f36000000002bb89a3442ccff3dd4de403500000000aa86bc31a4f0013e722aa03400000000f080ff301e090e3e09125737cc341d3102376c349d37063eddf6403528e00f323953c8323c380d3e977a1f340000000000000000b0e6fc3d0000000000000000000000008ef2dd3d000000000000000000000000ddb1943d6c312a3f00000000000000009395913db5f30c3f0000000008990634ffbda63d7a62d83e0000000000000000db3a9d3dd4096a3e000000005884f4309d35993df7e5ba3d1cae1e312dc54533f843a33d85224738f22c1132000000009649e63db538d83700000000000000006a660b3e15db4d380000000000000000e950fc3dd416b13700000000000000000f025d3d81bac23700000000ef42f0319b506a3d2abb8037000000005ff00b3565604d3d3a413c3500000000d179cf344c6b493de3e786351289a23266ea0035108e303d99ede33795a5c0310f932335b83c293d79188c3531162c320000000077d1303d51d9f93200000000000000006350463d00000000000000004969e7335db24e3d0000000000000000000000003e350e39d566523f0000000000000000d044013963213b3f0000000055d2e53484ab373c71c61f3f00000000c990b234da18133ba033db3eb781b332bb0fa434c68e4439fe56753e0c48c83141022e3560eb7d3a8f2f323d4da5283200000000471cb43b94c1533800000000000000005140df3cb3641c3800000000f694143410f0503d5ed089370000000000000000000000000000000000000000b5fe7135b2533b380ec88b37cca1113289ec9e345e8a6f384dc1bb3500000000e00e14346362a03736fef0330fe0b1330cd9ae3550852a38993f8638235cbd3400000000e2968135740d84387b8679340000000000000000cea5103800000000d5adad343740043565c48738000000000000000000000000000000000000000000000000000000000000803f0000000076837635737d9137e01e6e3f2c3a193291658c34629a143868da573f0000000084f115341bd78b35974f273fb892bc33040daf35f34b6f37a70eec3e204700350000000013da0d35ded58b3e7f3eed340000000000000000f2ee913d000000006349af34047ec5347d8c383900000000000000000000000000000000000000000000000000000000000000000000000007833e37bfb9ac36384da83646593637b93cde379cef6137f6878d372d1ff2374c1bff3725f59237fc73b037adfc0b38617309389c03bd37c59ece37ae7412380346fe37aff08437ba4b99373a3a0a3862379e379a328f3736888f3791ceb2378bce8e37538d9b37afc2813785c49e3700000000000000000000000000000000000000000000803f0000000000000000fa76a83600f57f3fa0e643377734da3621da94373d20573f92420d38c978b8374d1fcd3794942c3f6aa21b388ac2e637e5eef23738db003fc6bb1638fffbf637f1fece37bb2eab3e94bc0738c78dd037c0156e3707642a3ef4f6a0371c949f37e69a3637439f103899f17b37510f923700000000000000000000000000000000fece64372daf2338c36feb372e6dbc3782d7dc34f920953620d1ee36b0115a373bb99636caa19036c49098360e48fb3631e2953759b3d83625d89f370c2f053882757837fe430437bab570378f99c83788b07937e92e3937041384375c5aca3707c4883779f86d3768798d372619f4374f1abe359a61c436c23189362e6e073785c87b37e6aebd3711b4ba37acfecf3725a13c36c3e77f3fd7a319398c128a3745809c3473107e3f7f36f03bc19b67358d558836f745563f829a113c20a49836d23ab235c43c2d3f653e403bd9259c37bbb86a35a009003f392f4538b2287237bd35e936eb81a93e8a480f388d808337965587360f732a3e0b7b213849226b370df597352bc25b38128b4137cee25a3648b31136c600fe376283c0374e21963794803d378f21023845c3b0375f41413744d6853543932a36d86e8f35dab496353889a3378630b23727cf713771eba7372ced9f376b808637ffb27837df4eae37b1029b36cacd1a3642416d365c1c013727c0cc37e21acc379febd23719aef9372bd58e3671a5043764adf836d3852a374c99f0365e1a6737b8421437db8f243733e4cb37cb7bfb377cd0dd371f02e53792521137ce2d563f55fd263e6542343740093a3553f9553f3b11283e12248b35991ca536da1b333fefa21e3eb1f202375579d836bda0143f3c13db3d315921373b28a9356d81da3ef983933dd26a00360a3b77372c1a953e89a4863c4dcea23738e48236b00a1f3e42721d38bb078a368c715236556329389560a437892fd8364e095e375a6123388736f8370e6e93372a3bcb3778f43f3873d80e38c44aab37dc51ee36efc0e6375a959e3677c08436f8e192374513a5377c583337f5524937541ad7370dceda37c9b79437fcd69c37ecea923786a18e37efef50370092713783a36837bc277b376db55537aca57137b11c9937ddfdd4373f5796375417a237f17d6d3747c0aa37aed2723704724137d3020738e4411c38ed62cc374391af3752a29c3692ee2b3f7ff6a73ea9e53237df6d63367fab2c3fc385a63eaddf72364c54f736abfe153fdee38e3ecc8dff360aebf736016cf13e02855b3e897200373df36136181eb33ec0e1193e6bc46f36ae5af836aafc6e3e29e3a23df13e003759b7c1360214f93d11723a3c1a97c936a4a61e3651e11738a601c737dbd7783674946e363f808439f1591038d5f3713618fae13777c89f383b0300388c1e8d375efa2c37a0049c376eb50037ab3293367293fd3693ad0237fff4a336109da3361e5ead37c6d1a0376b515a379a975d37671b0438fe6104380d58ca378d5fc037dae0ab3783cfb937edcd8737d4458837be2b0137214515376d63e236de5ebb36f2d35737dd319337b5e43037fb26173741af03385b2b10387dc6f83726aadb373fc54e373f20013fb98ffd3ec6024b37e78a05350ad6023f2238fa3e3d32ef34d5ad9d36a2a1e13e7ea9d33ea5409a36f6ae0037f534b83e16c9a63e3b2d9e36c89e93377f08863e23d3733e012850370b5b3b37c0f3313e88e80f3e493a0837f5dea336401fb43db6046d3dc7a6a1367df5f23601b144389b90cc37c878b936182ad137eee927381b6c05381bc2a0374c19b53793f1d3391de0f837fa505d3605db6b37e2fca737d0873636a8f517364b48d237d540da376a64c336a00ac2366896a137dec986371ad8f936ccc1fa36dbe4bc37b397ac37bf39bc36906d6a36963d073819840238126f8c371c4a7537335cc937f271d437c3e078374f295b37a80da337c3d6a537172712376f0c92362e1a153861d413383f8fea37b407c9374eee5536e2bcac3ebc62293fad6e37363cb81a36dd74b23e7eb9263f7efa05361928c4363a089f3e13670e3ff50ab1363158ff36bccf7c3e684ee13e48daec362c6dbd364048383e7abda33ec5765f36e79181374bb9e53d969f4e3e2104f436605152371326363da626b93de76d0037be56ad3673c27a385dd93038cb0b773612cedf3779fd3b38c5821238ac758437680cdf37c8fa21388693b337b3b11d37bad63a3747878b3742a34e36cbf43d36871a623781fc3b37dc178136fe4082369e070e38a829fc37ade974377f8679370cf91f37d97fdb36d793b5350ecbc435594cfa379b29dc37cd9d1537a6fe1137fb8b213897d51438ad6a773717d946371c1cb6361085bf36348896359d7e8635c44cb437b845ae37dec1463739083e37bdbf5b37a21b313edba7533f5626a1369c056736edf4403e73ba4f3f6c371936aabe8536d084343ea4132b3f23f96636f910a037fab00e3e6b8a0d3f9de93f371be41b369b25cb3d74c7cd3e36659835be3586378b43503d39e6853edd4cd736fa67943749f12e3cc6ce093e9150b03612fa91352e36be37c4b68237574a833584167a372ab4fa377d1c9b37f5192b373bdfd43703fafe376c360e3719bdf234dfed14377d87e13692db893548836d351ed20338a2efb9370a3444363a514036476bd4371de0a03763ddc836e2dfdf36e44cdc37588ba8370d7033352e844235a1bc143846abe837d69ccb352273c8356e2201370d96cb365bef9536c23a95364f3ccf37c5399f37ba7c5e360cd3d93471b60838df5dd837137d8237a1e2253714bb6e3796c1cd3b6d537e3f5c809534857fc03546cf043dbdaa773f600cc23406fb62377ffaef3c99d44d3fd6f63336c2cf8637a181c33cf01a253f1d738a36889e95375aae943c2d8bf63e6a512635a348e0378e1ad03996b5a33ef922bd350ce39c36c3d4203a891c1d3e554f8e361cce4837851f3d380ea240387645d534d999c5379ec52238c987bf375cee613600000000000000000000000000000000e8f2993765a87637aa913136695b313683cfb03793da97371396e63667efff36355e1c38aa85e2375a7bf3360a8f223752531338fa15033822f7a4372df8bd372d980b38ab9ff9373d829d377af5aa37a8c80138f90be83701aaad370202a437da472e370ad23e3719884037efb808370000000000000000000000000000000000000000000000000000803f0000000038107637f51ebf373cef7f3f91561f361adb973720b3e937095c553f615ec6362b4ddb37e7937738fc502a3f6a83ed36281004380cc33f38a710fe3ed7d3a437b24af8376126353856b3a63e511a8537b8a4cb37a2f08c3923f5223eebad6f3770d523373a486437c375fa37f938ad36000000000000000000000000000000000000000000000000000000000000000025fc113862b9fc391302b737c37e9237357c1139ef1e8439b2c6bc373dc8ae3749ef0d38fbf30f382e13e0377328e93792501838a3b01c3819f601381edd0b38fc912f38e0ee80380ef400381e613d38f6bf0b3831b34638627bf837d1f22d38922a36378285c33701972b37f26a4a3700000000000000000000000000000000000000000000803f0000000000000000ce2cb83722fe703fd54f3838df7a6b374fb0d837de2b4b3f0bcac938502d8037432bfe378b28263faa8819385eb9c437e1ff0638ae97003f051b2638afe6f037fcd8eb375a95b63ea37356385cc70438204fc937c851593ee16f283882e0d737f86207371869833d7d353f3728190f3700000000000000000000000000000000e8178837ab93c23999e11c38dcdd7d378d69bc37364d853aa5e5073885669837ad10103670f3cc39674bc636b6db0e363dd28137d1c14139305300380f6c8b372950703763b1d937407a99370bac99379d9ca936e5c0cf37651b5e37df9d3937f8df2937703cff371148b13739e4a937ef1c5437975608386a44b6371bfc91377348ec37efec433860b31138a719f9375985a63683cb6f3fb03e803d31a657371c87aa3650ac613f5896843d112c68375b4a0b368f5c3f3f388a583d82080e3641a28435e7b21d3f8f33113d483ab836dcf0ed366aa8f33ef3b3963c445c813705275636834baf3efd391338b999a5366d9b0a36e90e533e97770738da0a5437b6674336ab65923d2746e137bee14737cf785537c4996238aaa418382954bc37eba961378ea4f839524fec37a5e8003730bb2437bbb1423ab099ad37206e59360290883712ad843a19c6b1372d5fbc361409ee364a4f79395c777137cb61033684ad5937073fdb398d26cd37d4be0e37534e8337ffaa2a3827b4d937264f813755d61f378f42173a4fe31338498e083767493837ee8222386d2eae37d7426437a0aa8d3708d20238dd0c9637037d5f37b974f7364a874a3fee2c553ec46d003716645136ebbd413fab09503e1c415936f51cd034c9b4213f3b122b3e510c5c369d31c6355138073f5152003e8ea0f93544b92f3610d4cf3e3007ba3d3815bc3667b2e036a586973ea2af3a3dcbf41b374f11893538b33b3e21b7253cd48ac735562189364941833d4dbeef3730c3243748713b376ecf2739fb1cb8375054453748f5cd3755a20f3ca4ae3338ef4a72378a8c10377d31323a06ed47379b65a136dae9d036f830023ae0e832376f56253446e9e6376a466b3887abf33751fb8c366ad50238a9dd3f391b0f0f38fe2f7e3710de943755d64a384628ba3781105837f8ce0a34b1f08338fec42e371e7006346b27d83774899238861e03382ced34374c33b037febe52382be0b137ccd96f37926744376601253feb58b13efeb46137bb53a336e8ef1e3f01c5aa3e52bd9b362837253453c4073f7d6c8d3e023b2734a204083714a4df3ef9f25e3e522d4436463a6237aa4aad3eaed4243e86434d3786b7fa36b8e0793e7256ce3d71eb22379dd307340b7d193ec0f02d3d9d54073434160f37b2a4623d50db673864eb0537b1f78437feee6239eb1cdc37d3ca4e3702d29d37e2ae373a03563438e951fc36008d42374f06573ae62b813726448c3673b001385900fe39c091093846c61037b8f519376cbf103ab9501137950f5e3665b4ae37fb8f453922d4a437b1cde53650d12d37caa0b539b7500b3758e4a436adf00138dcfbe5388a53093822d465377606473718b20639da748637fa7cc73671c00b3823ec6238c726e137cb420a37125b0437d60d013fb23ffd3eb33efd3666568f369709f93e2ae1ed3e9e258c36d8305c37b029d33eaea8c63e7a970937c4f5b9369b76af3e58b69f3e7a0d46363c8631374ae6853e23ed733ec2dcb7367f88bf364dff413e7f9a1e3eb3b59336ba0f8037b607ed3d670eaa3d2082543773e0e13695a5323d2b258e3ba17ba336d5f243378707a639aa0a323889f608373967a2377064ff39636bf4377091c736534fe1370dd63c3ab04d09384d2b7336aa8810372815fc398630cb359e9104342707c33739111739f0848f37dfcb003639b810389b1542393b18fe378f0ac636932b033898a34238f806e237b3dc1c36e9fd503771c91538456102373891283476c33b37f0d91838c6ab3b37b460af366ef71b3849674f38dd34fe37a5d1803717a626378c67b83e8b92233f8d19c836f489cd36ea5cb33e71e7173fefdf7436e93c0834004f9b3ef8ef003fabb204346fa86637cdb17f3e557bcf3e3f8d0136aaf9a83733ca433ec31a9e3e322c9e36349d9537e822093ecc72583e09e0d33507316b36d6159e3defb8ec3d95cd2734b932bc368df0c33c0caeab3c02f2a7369d0ee037ca287038b43a2e380b915a37b61a8937fcb4b9393266d037231b09378bdea3378f735239e36b7e375d3a8136372a7038523f793ae45e31371eda6c355068e93724596438793b7737ec2a9b36036af4377501013a2fa418375fa62c3648da95370f5e0e39d81fa536a0b3bc35206dc337be871d3ae39a8c37daf46833464ead37c437143885fd6c37ba395536966ad437841a013803959237f964f936ade73237dc5f5d3e067b483f2c820937692e0837c45d593e2229393fbaa18036078da536e9a8463ec1601c3f400a703580b97c3711ac1f3ea09a003fad98983643be22375866f23d158dc43edbab2c369858e636499da03d5dfd883e2a11c035239469372d4f2d3db701213e2e8356338d5003376e2b103a40301e3d4e0f563627fca5370da52538ab91dc37e342f93610d30938924c66387ca21d386b4b8b369ce1bc37bd112a3886059237d5e924369932d93749ae4038593b1f37bf0104367cd3af3725752538bbb0573665d74e36a8b9b0372b694639e3204237acb39736abbd3a3803338c39e15fab362a8d833574d74437a011383910d30e36d680093676da0f38cdf35c39ffd2cf37194eab36992d1b384fe12b38d614ab37587aaa3658d2aa37242d933dfe836d3fe1568c361cab303762e99b3d042b5a3f3aa1253637c8533788ef933df3ab383ffd8b05360710083783ec823d4eec173ff54c4e36ddb7923713953f3d64ccea3e0ece97367f6dc037cf32be3cf242a63e7cdb8335c46d30361336103c6cb2423e890b0b36b6baeb37f1b2423a5733533d0943ab3680f5f63792ae4f38623114382fd7a73600000000000000000000000000000000bd7f59370a3ba738c98e7d3708d0ed36d39333388cfc8639280107389f51c435f169f238570bb139a44e0438db7a8c3769ae183852243b3839ad0038667f5937b32004389a571c387117f637ef6a803719280838c6e54b3986530138a3d31f3741aaef37f9dd303865e30638b8d82b370000000000000000000000000000000000000000000000000000803f00000000920a0d37272fa9391f716f3fb7a0f5365c40e0374bd1193ac65c493fdfdd1037b17f04386d98303afc51243ff620a33731a9ff37aaf11d392a86fe3e5b9d8e37cae4e137cfec35382a77b33ec28e9137b667d8371f12d139bf06523eabf61a377b4abe3752283939da516c3d9e1fea360000000000000000000000000000000000000000000000000000000000000000733ba73912de473ab7105b39c0e237385512d639c064553a8c057139cf5dbc385133cd3903f9fd391997a239742a6d39dfe7e03964d2033a24cfb639a0d083390a32c43936e0f239599d8f39956a3c394075a939eb51f9398b4bb8394ec29d39d8c6ff39bafc4f3a6bc6f5399e75c33900000000000000000000000000000000000000000000803f000000000000000019197e391b17613f4effba39bdad8138549cb4390563403f6e0fd23998e5e938ae1fb63946fb1f3f1548d239c1f17539eb8ccc3910ccfe3ec897e039da7f8b39eadda939461bbe3e0f52b839c02a3f39c02c8439cc107a3efcd0cb3934279739c448e539f128ee3d6b0d013ae1ded739000000000000000000000000000000007f26fd39d0f45a3af2ce093a8f3b7939db305339a0f6e53ac8c67c395450f337a3650e3aaf59ee3a4f4b0f3ade778639b46cd539528e3a3a83c5d9395e1f3239ae1f063aaf70403a0d62003a28df9439da4fd739640b743a3bdce13927457139d46b0f39c5cc093a1aa9b6398abf6439cde55e3950d9183a6805cb39bec0613909a0b238234a8f3ae4a5f43879f645385f0caf39db02613f96a6ea3dd485963925ef0c38065a483ff9c0d63d97820838a279cd398b532a3fcc75ae3d9a9b9939889d8d39f3fe0d3fc025903d25194d392ad9d4391a8fe23eb4fe5d3d10b6a139fc969339b98da93e53c81b3df31c8239d0eea937fc10693eb3e8db39149c593932125d38088be43df56ce3397fa76139e5d94338849da83a256531392c30443839016a3874f5a23a698418395def16381f1fa339ca18543a1fbbc539a5be0137154f71388b3f483aaad98438a10a2e37f2584d3a7e3f993ad0b7583a41b3e939427e2b38e3e1423a80f1a038b71ea0376f4cc739ab75903a066ae8393d35d23818fce438d66b7f3a8f38fc39da15e737b38a2538e673c639b0be5238a06c95375da20e3a2d74af3acc57053abed08b37bc50373863fb403fda63783ec1a92838b334c73834722a3f38f45a3efe26823736dc0a38e0f5113f93f43a3e18e54537b5d1203af390f23e7fbc183ea816043a6652f0379a8dc23eea5cf23d0098b337ac3465390c76913e8243af3d559a173937910a38132a413e44f55f3d666ef7378864b737464fc33d981db33c6ecc9f378b964e3960d0c13a9fe2473a68e3a037fd19cb39bf7e4a3a444e063a39fbdc37b805063995a2c83ae79dd239c4bd8e375eda6939fc70933a7c5a9239d31d4b377bd38b39e677d83a9dba043af79967371bc812385c65863a2a2b2c39b650af3744401e392e20583a8dae05396648f7379ad02e380e76943a14ca4e3815428d37585929381970ab3a320f27396aa9a637ba4a153aec735a3afc091c3a0b12933976336639731d203f1e07bd3e85dbec38b2140a38e7db0d3fa056a63e514ac137e4a7d337031ff33ece628e3eaa3c72373a7c7138106dca3eaed16a3ef7e29437652af437ad83a13e9d893a3e6764c137c00e27388246733ec543093eb5fa0738d37ced374aa2213e7916b03d79a196372cd70f38217aa13d70061c3dc62ac337b8b4ef392c6c703addb6333af4dca439ea99ae395248603af0e5e839b122e0370035a239912e443a3dafd6394dcf2338dac2d739c7f44b3a9b22ff39952af137ab36173ac5de773ae044233ae1d000387fa35f3a2b76df3a6c6f833a380298378d29103a2b3c6f3a3249243a8d70c038b69acf3971893e3acf34f039b349263858b094392f0b2f3a55ddcd397bfa3238802eba3960f7253a7d46cf3900a6ef37a651273947ebfe3e12b1fe3e28c94b38d003d738f1bfe13e098ae03e469e3238c80e6f393b5dc13ee1a8bf3e303f083825c9cc395b7ba13e5de29e3ed6bf0539e8b8f839320a803e61c77b3e8ae7a2373928c6390122413e38c8383ec0a73839191282391c3c003ed5a9f33d547d61385b07f938422d803d4895603d51d53838a371733999272e3a2474053a0ec7443880910c3a54cc693a90e1343af27bdf38f68020387b91c93a872adb39d14886379d093b382ebfaa3a587b51385c3561379b1f5838eb43763a07f5bb397a52d537a426cb3827ec633a6f40cc38680ca8371c5eb23934ecbd3a7839ed3985158a3767335d39a557113a55c38f39e1ba5b37b5da63394573783a4781a139c795a9379581e0396e6a313aa5c7f139b586343886c1cd39e22ebd3e957b1f3fbfdb763982cafe372446a83eb5fb0c3faba5c637914b0338fd76903e8252f13e1f898437e26c2b383a0b713e93e1c73e0904fc37d49ffd379ab43f3ecf18a03e258eb63788661a391aea0e3e195d6c3e2f71c33732bd69389850bd3d65721b3e7e4a8937bfca1a3818a8373d8683943d8eddc937d071a83929c5373ab637173a9018cf38ddf7c93947a7b13ac9ec7e3ad9513637a64935383a1fc739f4df85389b23dc36a561c8394cf57f3ac16cb839ee0f78375ac2e1390267883a04f40f3acc703e37c9bd8138bfa3243a3d14b238391c4d371427543affb38b3aa3565b3adfdf8839bbb868387eb50b3a8e15af385a042f373049a739b25b293a73e9d139f87e7336d585c8383894303a5a37f7382c661c38cde46b38c615783e8d05403f0b938137ea12d13732f85e3e6df4293fd4aa5537bbcd97387ff93e3e4d14113f2337bb37ea0698394dfc1d3e844ff13eafe26d3735bc0238d08efb3d3905c13ef48a7c379ebb323acf63b93da36d8e3efdb2c13965b121386455773d34a03d3e3a9c4237c9aa4039c94fe93c6474b53d52dcdc36b6434b38973d493a2530ac39de8b1e38d379c63803fc863af0f6383a73da1c38bb32c2392db8133acb18c439def494362456ba39e2f7ff3977467f39dd28b136a0c1ec39fcaa5d3a5f9f003af45b8e37605d073a383b363a57c80e3a7e4b7338b276e0397fc5213af925e739b3ab0138b4ec0f3a4631923a3977173a8622c9370e68653918603f3ad5678c3969ba9f372026033ae36e323aa3890d3ad52cde38db424a388d67eb3d0a5c613f989e2f3816618a390abeda3dce24473faa663237dbfa89396152c93d1dbd2b3f7cf043371606b5393b40993da3200d3ff7654138d338dc393a896e3d4f3ee13e70184839cad0ad3984192f3d240da83e073a0c383538eb39580dda3c8f6e5d3e61b3fd383718f438b132743ab706dd3de58cc1374a70e1397359363a82bb2e3abb562c3900000000000000000000000000000000d513033a9cbb2d3adf751b3aaf7d2239a336ca3908b2f7396c22c839f803633841269d39cfe7f3398cfcd63942b45d3816ffc53962f4003aede8e03908cd2e398a60b33979e5e5397038cb3961900639273d8b399781143a3bb6d33903afd838f9ac6d390490ce39e408b33905ec2c380000000000000000000000000000000000000000000000000000803f00000000df9bdc3910173f3a997c603ffe16a9394049ab39411d053a914b403f5d9d0439bd3c8239a3f5013a9cd81f3f15c441397583a839b050043a669bfe3ecc158839af669d396720f039bd9bbd3e67b252393be55b391b9d1c3a179b793e43f02639e6842f39b269ca39cbdfef3d291f603800000000000000000000000000000000000000000000000000000000000000002d734336ca10333634c53c367aee47365d2f8a368a142c36b9673c36d8e5ff363b3b9136b455763632da8536111a9a3682805a374ed77936279af23637ec9837313fcf37370ba4374fe9ad37699aea37711e3a37fd3eb6371eec8637cf3b8e377c7ed8366e2311379640f636ac09eb3600000000000000000000000000000000000000000000803f000000000000000012c83336e2f77f3f35046f37b99e463616495d3633aa643f4e45ab373db3ad360df590367264323fb96a49378abf9336ea7cab372361013f81f16638a2b57e37b383e8370f0d9f3e5c9d5a38692de037016dd236141eef3dd7788038f77e7737896495367ad2203a5c5daf370629e9360000000000000000000000000000000086651036f36c2237c3b4b0375a6b8437adab133620422c36dd4c5136f7b3b636037b29365d932936584e303694d92f365be25836edb85836f6ea8336e1ad91368525c1350009d535b3f3d2366e80363704367136f67a7f36732c823621a683366b3554362c392737d0188e37f3038837a80a04367c2916373b562e37ebb85b36e183163610febf363301e036e5ccb7367294de35c3d17f3ff342343a139105376a90f5353dec7f3f59848b39c60d4e368eff2636049a693f16eee33877213236e19e35366338373f6e2e0539fd068a3681e3af35d2e3043f1a4ff3384755f5367f5e643608a7a33e3c19cb38395b843699e92736d5fefc3dfa284c39f78c3c379462e035ce4b8b392501813882f4403690f2033639543137e38241378011a836dcf9d1356d5e83372b92c037ea8b2037606d8235cbc58535548e843579b581350aa6f8362c003f37da4eed37c83ed7371874d5365ee81c37dcc38b379f609a3797193d35badc4735aa53423554d43c3592e69036096f1e37ddeecb375f918b37b326ee367e0aef3757fb1738cccfbe3736269c35b07dd9372e4eed37ff0c943718fccb36992aa437e0f8bb3735079b37c7e3c735dca25f3fcb86013ec1dabd3630f46c35248d613f9fa9f33d86b38335a9673236f139483f6ac3f33deb2b853740d3d135c262223f3faf9e3d4f224337e50d3935548be93ee8ef433d3af73f35da9c5436ba7a943ebbfe563cb4b32337be7abe35b222fb3d17f69539a8b694376b099835336a0e392d028638b9f12e3715882936e04b2b38f37a3b388ba42d37a6a6ee3539cb3d383e790438012104364ce12d35cd053235bd562b3501a220354224f2350ca35d366f301a3664eaf63529aa1e37c696c637f4d99f3738991e379fdc4935e8a25535b00f533539a75435cc1c15365f4ea037172187379510f1367dbc5c3790825538089840385c21af373aabcc347806eb345ed8e134c0daf2344bd3f136f3bec237f0987737d7190937a772de353f66303fdd199f3ebbf60036ff282535f556333fe74e993ee9dd1a351188ec35b7e6253ff0c8873e62a0f8354cbd0b36cbcd023f84a2483ec0750c36367c3d35bae1bf3e736c063e409944355e171436512e723e481c823df083173647bb6536fe64cc3d317dc1398d8b31374f44c734f4d8f738a6c4e437ed53c734cf4f073607411438fa1ddf37dcb82936f75e473613292d386e934636ad3c3b369aa01636a9653c37ab861036e0460736a6c858364277713681dc5436033a4f361322853621cb8c3642d977363ca470369ef3b436140e7537ba0c8a36f66a0336b41287365028a93696bc8736f9598336380e6136b9f79d37e830623637d6543666be1a3673fe5d371a346d36102e1f367c515336ba509c36323f5236f332443660da3536a643023f6985fb3ed7f52d36264a0b360f49033f9a7bf93e4724f4355d0a5036256af43e85eed63ef43749365bc77e3671b8c53ec25ea23e0ab3743675f703362c908c3e55ea663e75a800368af18236e75a363ee9a6f33dc277833654de55362946a13d4e69c73c63195c365e430f36ca96e7382c3a4f386d591b3677464836325486385f9b9c368ff73e36a0b626378bab163858f50f37d393073616fecb34b8cec9349103c7349df5c1347e7cd03762a01a38887f5d3645985536c23c5737f6017937d28415367af21536ac95523597674b351a303c3513d5433520910d3853664d389810af377b540d36134a19372b3010383caa9936e77dfd354076263583557137f0c22c355bdb2635a0ca95379e1cb9370f32153629270b3658fd0836138da43eb9b12d3ffcf20336ff01c434cf5ead3e2a54293ffda5c334a771ac36b3e6a53e385f133fccbc48367c291536e383843e94d6e13eb66f13366e8143355fb83f3e73349d3efc8436358fc33f37e06ff53da350313e70a80e367bb4f9359ec9433de38a1f3db189f235a2ef2335f4499438910fef37f55f2135148b0836b7b397388d93a2375c660136b7fca83771eb60387e459b361ed716369360a537c37aed37eb949a35810d9435d26ed4370ee3b837bcfdc1352c31c035c790a13734bf7a371cc54e36092b4c36f9fe463552cc4f3501a943351d314135cf1ae6371fa7fe37e40d0b37d43508362f4327389c3b503830a4b83731daef369d0e8b35b61eb43562b68a350f338e355434573712ab5837dcaee835c97fd735dbefd7363eba0a3e384d5d3f40fb0b36a7845736ccdb1e3ee230583f11a48f3519c262379a88243e5c6b373f7b13bf3513732a37f563083e404d103fee853f36882645357d12c53da7c0cc3ee79e3435ed7b90379e7c693d7d9d6c3eb041d835fe79fa37e4c9c73c6830983dad6b4f362d778a35f17c08396de8803793158235b8a42d377a274738092f10372dbdcf357328de364e3b48370c38f335801ecd35e73ea9368bfc48366732d2356d19ba355e627d37782c7436fead0e361d0c093629458336bc12813699af4e3634194d36d2a33f37b72b09378e96b535f501b235f1a992365d979536ad485a36b55b4936cc882f3619f2363646e82c36c3842c369b55dc3608125f37c4f4303682f52636d3f15637c2cd22377b2c223689330d36bf16b1362734233c3b767d3faa69a635ba7234360e03ed3cfd8a783fd7eba9350239223796fe633cdbc35c3f31d30336a66f8236dc3c443ccc1b2b3f0ec5493680732837feb2983a5cabf53e8ff4a835c2848c36633f863a0c0b913e82f23c363c152f3647338e3ad709b13d93472a36fba3a3360228ce38e1385d381af11d366247563799204e389f7496361f4f063600000000000000000000000000000000b028ef36d7c9bb368fea7436e3a54a3654b1a437b199cf360c059b36ebfe9c365eb61a385b2ac1372cdba5354124ac35ba08b637ed1c99371f506f36faf37436e3149236423cfa3635e58b36b4f18e36e86b2837624ca9376ab88e371a8bfb368ab95836a479263711fd0537cf1d4b360000000000000000000000000000000000000000000000000000803f000000003149e5369de033381bd17f3feefc403631d48e373cde8f38db10623f2e629a369d910638a0c48338e857303febd0a835b11bb137a518b438e81dfd3ea302ba360e3a9136f320613834289b3ea2848736b7370037405a6a38821bda3d38672037b1155836f9bad63735605c38f64a4536000000000000000000000000000000000000000000000000000000000000000018858f369711913659fe8c36b6378b36a31d703626f56536bb550d36bd2a173645c0a0357db89135de597635a6274235866c313607260d37c3e33936f6143d368b1426351967c03655bc2e36231d633621daa836f42b8737e02d0737ae101b377ad917362089ba37c5fd2a37687b543700000000000000000000000000000000000000000000803f0000000000000000cd018b36b0f97f3fc4989336660f8b3609ba55363d745d3feb7b7c3621b3fd35d7989c352c64303f2eb04036887f6335643e2f36f580023f0ca2ac375f0f3d366e981535c151aa3ef00c82370bb31a36b4b69e369363223ec060a237afaafe363f7d0236d8a71f3c6d5a993712ca0e37000000000000000000000000000000002ad57e34dacf5838ed415e38e05832361a118d364d4fda36851ed63606d3d736b4760936f2fb6536e353ff3637f08036fe17083615211c3624c722367849243632de8e36f246c236ef10273759c3bf363170af35cb99bb371eb4b23705971c37dd2eb935c5c42338c4c8d9375244fd356343853668e86138b3eff036d31fd536ace56135094121388ddd1d378616903642ab633009c4773f83b5023d4cacb03612006f36a0737f3f399df53a0e33d336b95cc2359b4b653f66d26d394d4375363caefc35769f363fba09de3859e32436807c7c36724e073fa79c113af51bbe36377e9035b95cb13e81c5c438ece2753699aea735a6142a3e35a69338efd6f9351d1a503600af043b20039d381c58cf3677dfb4340a9daa38a5c8123856c741365c454f34e88b9938eb7cc837412e8a356b365336bec14238d1863d37ab808e364af101364c5c043852583436a74c1d363e1263354fc0d235a093cb3544efca35c79e38360eedd037571e0a37107d9a3675633035c06d1b377ee4af35544992356f79b335a7c84338f5d4153681bf1336d81ac1364386b738d15df2361df2f23642595736d355823849ef0638d296a2360e202f348d1a523fe142373e425d6d357b022d369183563f36e3243e82f6893631e6d135cc97403f96e9083ecf311d364849133507f31f3f735cb33dc5fcba35f94b08365c95ec3e8d11603d0a998d3622cb0b35f80a9f3e3f89893cae57973548668a35cd50283ebc25ad3800d210361cd0ad362a543c3b2134a938042eec368afb0f365027b139412b6938f64797367fccd035b0f9f538df371638e7b2c8359146b83608cf5a38c6b3533793aeb9365a15bc358fc3e935ade1b635433c84355a460735064f3a375a5b1b3560390735f17c8536c20c01381c5e9f365f438e362c190d3501978d37c39c563509d01735857f7536fdd646383c519e36aadf953682381f36a6134c372ba55b368b2642363c5d9534273b5338f8759d342d099e340e9bbf354d532a3fff34ab3eafeec735e9f2a9364648323f7afb9a3e2044bb361019a4352b4a253f8a537d3ea48f8c359b09073596e7053fc977363eb4310735522c78363106c93e243ef23d7ba9903616ebbf34ea3f873eee1d683dcb862d35e1485736e4ee0f3eef24b538a59c9536fb230536af51433c6297c936c128413621519434a3d60e398a54a83765aa9c340000000019309038c84d6937000000008783f136d3fcad387190fa36d7e0e83650ada435bc5d243834959b35f75a34356d867135f97a8538d332743569416135726bf1364d1da3389f527f37983ff43674cc6f35e69788383e607c357a657035f8b29435b6d34e3898910b36a68ac13548b1f536c7b89e382e3dff36f437fd36ade75336493414380000000000000000000000007ecc013fda1afc3e00000000bda6e936d5f7083fbc73ed3ec56ae336f80f8035fa9ffa3e82abc03ea38c3d3580b671358276d13ea97e8f3e68ad693556e0ea36e9ba973e149a503e97d4f136a26f6d354c81583ecd31cb3d85b274357b6f583574aef03df203873cefe0b63510c5e636d78ba93a6c905238e912fa3600000000af37ce391220693700000000145e9c3451cac838953c97347b999134eaa94036279c56376ab42e364629ae35b9769236415a2c381bc980364782303643d24c35310d9a3709ca2b3516ae9734bd1e9536438d2238599b913636d26b36e70808354749d63774641e359a8406358d26b3353b232a372590dd356479ac35afc8cb36b4294738af75cb360f4cb136bda3cd37e26d49386356f435fdb0c6356f879b342c41b13e4d5d273f26c2913445f037369a65bf3e14461d3f6562b735b16b8f363343b53eeb5e013f21ab3b367d3f28355120973e0db6c43ec60d9a34fec9923631e7623ee6f3883e3ea7703698040835dc3d1b3eb1c3163ed1be063576ac9c35bc94ac3d9687bb3cf33caf353992c7363929513a1378e23727d3b1362428073737758a39b94db5377be4c53543ccaa37a7b3373973727336b569dc35914be036cee9aa384329c336753d8f3646510936ce293538a240a835927911355fc1933582d03d37631d4435d51d0635e977d93666122a38355944360493d535a2e7b5354bc2fb37395f73359d930a350c77253651b8533882c21d3645c3d435a4a30337d883363890a36f3625a93336dbd14d35a41fad37df065e34a39d173417ef8b368f0b403edcd54f3fbd7ce2350e36e0362b256b3eea6f443fb4059336381d09361747523e6954213f11b93235555f8e3561df3a3efefafa3e42bf0835c95e90360cd0073e4d7eb33e86d6f335b2fdb435188cc63d4763433e86df0a35f0562036e0cf423db5f9873db1d7e03538968c3634978d3a2ed72c37045b3c369f5a6f35c9e4b0394cf5ae3462621e34ffefa236276099385562703582df88344e00bc36d6c94438ea3d7b368ac919369b89af3726901738f1e3b335e4d78b354ff39237194c033815b4ad359656653559ea38374987bd373b588c364f7c70366f4d223648304038654c0a3651bbf03519b0b73612d84a3802e326366aa8cd35efafcd36175c353703559a363bce8436e75ec337cec6a3374c4fba34a0e85d3024813036282f353de19d743f0b08963471ddc136e8189a3d78376c3f16731e361afa88367a4a783db8ef453f3cb89535bc0c1e3721c6453d91ec1a3f82377f3542c8b636a2000a3da9eddf3eb01976368e3424360d82b13c6da1873efc10fc354b4e6e36bbf6903c0af3b03d540de135dba2cd3666449d399ffbb836a3b68636c0eb9937ef8d18390d4665350c2d6130000000000000000000000000000000003e431c37cdd635376f890d360c4b9f35027d2f3788134437cf91a036cc6c853684be8136a5281a3708441f3577cab4346b2f553697f299374a0d3536ef7319362f4586358e5b04379a51a835562b873541b52e36644daa36a9cd94368ffde73573cf8f3657f33637bf169a361a868b360000000000000000000000000000000000000000000000000000803f0000000052bbe536af03eb37d0767d3ffb6cb53577b50a376737f4371854573f42b68d3663604136c6d87038d0d52a3fb96dc83430883e36e5411e3894e6fa3e65482236f86f6735833c9a37f52b9f3e309f973598a60d36c185583776240a3e25031d36d16f8d36a6259a3704bf7e38002e8f36000000000000000000000000000000000000000000000000000000000000000023c5fa365360b537bfafb53583066f35ee9f0238cedd2338907cb336607f9d36ee6f79375833a137310e4837339ff33668debe37b2afb4389b5a5d37bbda6b3590a03e372e6f1738be3ccb37b4c292371a852137cd433a38ee35ee37bd52cd37baa0a235c3ba0c3afd7523373e59dd3600000000000000000000000000000000000000000000803f0000000000000000f41ca13685b2743ff1872f36bb0e8a35749ada37e5964e3fd1b6b137aa56a03614fe4c378f5f283f752c843759c6fe36061ba1365728023f0467163898212136eb2854360ffab73e09410338aabf94375354bd36fb12583ef12b0a38d171c53787ab6735e362813d3eb18d376620c436000000000000000000000000000000006f0a2536d3e5c239863830382353ba36c87755361bb8b43ad3d3bc37403ba336ac0dd53543bf3f3a995201386328b136f1ef8a36cf46cf393c0c6a3736faaf363f19ae346dd4e33977a109383cad9337007349367e210d3adf87d13731766937e3caf5356f09423a9f0e3838110db93710220833fb754e3c673508380ae8923733261037accaa73a0f66e2383ec712385f570736394f6d3ffe94933dac3bcb36b42cb735b50c6a3f0203613d98b2a536bf6293357083473f2356473d84beb23604247c3637f5223fa8dd263deda2af36e4e911339662fb3e291bc73c82dc9c37f1bc1c36e52db23e4117863c2abe67377e23e435b8cf523e61fb4e3c9feeb037d596fe32b7e3883dc26e393c7b9d8f37c6a6ff3615082e3afd3b9b39f46012382be63b378dbf8d3afd688f38ea3d5a37712db8365476783cca143d37497fbb36aed8853652ff403a88bd9b376caa89362a580937de8f163abd280c38afbacb3632ce5936e8a0343a2a6a1937fb148136432e73366d15283a2be5043780949536f55d8136a543343a4abc0f38bafc0b373a318335a448913a4bba963791a420367fb4a935becc713ae98de2375e55023661922c37d93f473fd503553e36e6593710b7aa362cdf463ffbcf413e7b97be36c98174361104273f8c64233e10b18c361cc5b736b4c30c3f1540fa3d2c26dc365acf44360b8dd73e66ddbd3da3c4813650cf6036c5da9b3e3fed653d7e089c36b3526236feb4423e61aec93cc20b2237fef11035359b943d1550c53bb5631d3609cda2350d9e743ad7ab6038efed02365be09f3572e1303c39165f388039b23516d57e36bf8e9e3c8566853644ea52364b7e01379928783aba4c5a37bfc4a136e645833666491b3a1cb40137bf3a8436380c66367137723af8b87f36cd80533622c5ba36a3981d3a8f8ae2364aa8c436b6529d36a320563a419aba36c61da83600152c363c0a0e3ae09866365a254536c8268d365f9f6c3a4dc6ee3622537c36db7e6735f88d223f4caeae3e766fbf35b53a65361827233fd5379c3e81b85c36ad95c63617bc0d3f393f833ee830b036335b813657c5ea3e8f13503e9bc285360d854e36e63cb63ee8e1193e7daf5d3650ddad36592b843eb17dc73d83a1ca36fea290369f77263e3a63313d74d8ae36afa710364d55873de6fc7538ed974d36a6c25836d6d0463c1129f437fe167f36caea49375a9e853c4f15a837c0b6fd352de42737b29d993af9f14b371d2086363ef23f360ca6a73a5a045036c1ed64351f13ee3661c6943af2d922377140cf3584151b38f1a3a23ac4a04e38532f0a375d9bd236b2468e3a0e333637b5fced35a399b7356ffb953a88e7c73630c68835415dcb3698f5803a11c78237da93a536b66b8237822f273ad2be7b374ba2083633289c362cb0fa3e6c11f43e414409363e17ac362ee1003fc56fde3e655b9136f495a335520fdd3e61a1b93ee0238435d9bc0f366173b93ec0c7933e4b13f33503d3a13709278d3ea765643e7ed54e37410a1136428c533ec6e70f3ef3b90536f8199f359d21033ea8409a3d05299d35827fa136489e753d254ca738a760ac3615b91e379a6e8a3cd0530638f88e123660339a3698d2373c1a870e371d69fd35a1c95836952c803c48c13436d426c535732ab3369d131f3ac3ada336088e7c36812acf36ee78f3392e61be3694a09836bbc67436f3bb6e3aa9016e360f4035369f72a936086ce23911e8aa36a8507d3618010d379b68303af3bf3c376f589736bba27d3675e7343a981a873618455936c2b3973748ce563940fdb9355dbd1635122f82369e61b53e14221f3f400f1e36606d4f363405b83ea1ed0e3fb28cec35f19cad3632f2a53e8cf7ef3eddbb87363693ca36a51d893e395dc03e5268a336ffa467360b52553e193f913e66cf423613bf8536fe8c1a3ef6f43e3e7e528036582ada3685d3c13d642dc03dba79aa3697ad70362ade193d875690361e74643684bed33533bc513c54800838cfed4b350c2a0937e1fc573a9b566d37ea879835b63b07378c57623a6b80953597aec63480bee337651df939f5e3ec369c043536e99bec36f8bda639696a7c360d35573643668636fe41e7390a5361366d1b20367680e13779a0be3904085c3712ada6364d1891366017e339aeba8b363f715736ce43063721f21239a214d336e0f09a367b9cd43700050f39358f43374b7b1e37d598fd3565fa663e9490453fbbdb9b3533581536ac5b683ee64f313f9370da34a11a8837ffb8523eff11143f6cb34936666cbd369317323e12f0ed3edf175c363d3181366a4a073e63d3b43e2ae93036cd0d5c3790fbc33de3f76c3e5f58b136aad58c3613d8693d9812053ee84c6c36744bc1362fb4983c9e6fbf37ad32a536876a8f373c184d3cfd359437c7bb25373fff5038c59e4c3ac77239375dfbbd3631d8e137da0e0d3a128b7d33a4f1f6320abd1b38661e033a06740236f5c4c335b843a9371e16e5396a0a5436fc0e9435b034fa37c5bcc2391eccec34c1c50c3324994137063f8e39aa598e3611d64f36e5edb837d70f033aa5184136d5725f35a851813747cc413afecd8436646e41349cf9c6375d3248381b383136d9c1c735f1401d38bfe7a43d8d9a6a3f9b06d83622cfae37b393a93dc66b533f883bfb328d99f737f086ab3d5a4d323f6669cf35dbe884373f71953d4dcf0f3ff59fdb3568e1cd374375623d9869db3ec8b20f33c004153780eb0f3d95f6923ebd346536db0b6d37ebca873c29de1d3eea037b3542c30337b4899e3c5824193c73fb093513ca0a3782d8093aef4b473616e4f03500000000000000000000000000000000be8f1b37559e6b38f426ab351c8f20342fd6f13760ec0c3821193537b9f4a536477adc376e1c1138dbf866370c1c263697908d378f6473388c54f7372b1261350375483706719e3757bc8537751af1365695d23685f2103822be14380babab363d17ae35f90d1337e0658737a568e1350000000000000000000000000000000000000000000000000000803f000000003f3adb367e2f353ae2756f3f5e03f934680ed93748c68c39dade493f4183b13666ffb337866a9c399ae3233f89e233368ff9fa366fa19239fa5efb3e76a2743508c7253726f29f371534af3e8077f736ffc39f36f3830738886d453ec50e593734659c35699aea366884343db2dee33500000000000000000000000000000000000000000000000000000000000000001999c1343e86b1341a0eac34fa94813588187e3544247c35223881358dbc49362eac983606ee773648c38d3680918c365dbb6a3681691035c55b2135143ec036cf0915351dbf1a3527d5263546c62e35e3b30036cd7b1c3682f3cc34ade4e43496d2f637a1380638dde40a37d56f803500000000000000000000000000000000000000000000803f00000000000000004b183835c008803f29fd22350ab1c934cda28d35e269633f3ab57635c5a14335c8649736c070333f7a78873695609836bd8f1a37ed53013f4416cd3796244737a33f2d3542e59c3ef5f04d359429ed34a8411f356095ec3df12e66371f3bd334c8540435ccfd483c52d707388a7493360000000000000000000000000000000000000000f36e1d37000000000000000099bbf7333d26ee336e1adf33e704e3332bf587364bf18036bf399c36e523ce36ee06463572d3c5348ecdbe34e2e4f23444f462340a39393487ec5e34e365483441c0a0367164a4361ce2a436348dc236bcd0a535b8b200352b26293599145b353d01f034c9a92c3745a90b346538f034bcb80a366c6fe0355088fd3563531236000000008f22803f52530c3a000000002101db333601803f79fd6939bd49f13356067b369f176a3fab25533898c7b43601032835913b3a3f63c31a3726d82f3594982e34cb7b093fac39e035ba5083342d649e36e30bae3eb4ebaa368c67c1366567a23505f3193e52a3c33746c995350279ab332959e03c7ca11638b5789a34edffb835b84772371c51e735694e0f360bf62234e9623f38e6292638321fed3300000000c171c837e19ba237341ebb34b5659f3444c186379f39ca3715cdce367b5d2f3501a603376e7c6537cff8fc36c828073565efd6346c2ff034fc4e083513d63035debf1c3588bf3e3530302a35435a663755102938cd31d337856d6137bd37c3371da846385e45ca37842f8137e221043539d55a37b30c0b369606e834f7c662335548603f11f7003e8549f53300000000af5f613fed8cd23d0419983482476334e6dc553fb537783d494aa834c282cb3471032f3faded4c3cb4d09335d3db03355b88003f46abfe3b11621635bd6a1835b970a73e47306a3805645935e3bfd7358cee013e7d79893836b30736b5b2843515f21c3b0dc48238f6f48c35f78af534d1e369388fa9083888faea347ab498344fd3733894280838b72b9e34742f5d36cf7086389d900638a69d9336c3b29a35ff5db4360998c535b8e5b83522561e3599cb2537bee9e135507fbf34428ea934cd5516386a532938b19f14378ffbfb33e45a8a3796ed043714db15341270c736044f0c3835a779371c6009340000000038b508370000000000000000a137d936068001389c4129363a0d2d332f849434a9a5313f15a99d3e935994349e7124365358363ff788933ed4c64f3601e6963519d72f3f141e593e111cb735345411352e56113fca7c0e3e6e59933485f44c34480fdf3ead02823d0e16473493491734584a943ed2eb613ce0641434823739342ba6023e334ba938cea5f83300000000c444023b7ec2a1370000000095fb0134eb8bb33858b1053800000000c0ab09347e174f38bdae7e3519a701349c4bdf3562ed9938702ba437b54dcf35dad69e359e3caf359bc0b1359dacb33509bd9a35b82a8f3546aa7335c89a763546c1c5351619ba37a7970e371dccce3538248a35ef419c352fc8a0350d46a4351206a835b6839d358cbaa135c14a8d35e804e13760bd99388253f137ec35f4354d0168351f8948376a950d34a6bdd934996d163443b9013f3519fe3e2324cf332d7dbd351351063f1eabed3e0a879035b8d7a735ce38023f5042c33e5cd199351d2e8f358d8fe13ecfbf883e97546e35193cc5352df9a43e1205373eb562b33562738d35d372713e1738733d0a90aa35fc7b9b354cabe63df81f8838a5339b35da9dcf3562ae4f3ccd89b638e53be4359abd703414018e380bcf933712b705352a94bc33e7b2af3860b7cc360000000000000000d27093370000000000000000c166a8341ea8ed3761720c34a36af7335571c33337dbb637e06e0c346ff53b34202b6e3774c25f38672b9a3658590b35f66cfc34b8c20838cfc97636df6df334ba32b3351b30e73792678b3665b3bc3567bfed3728038c387df53b37d14383363fd66337f67acd3782989234e4de953494b0e931f116a23e52682f3f00000000000000006790b33e2683263f0000000057e98534978eac3e17c0093fe1a3553441a5f13382889a3e1527cb3e76de2b34e9f115350a017d3e912c833e0e15683428fac634f42f3b3e4a45e73d26b11a35b6159135bc32d23d248ea7395b0eda354d8498363a44013b30539138a2e96e36d537a1347715a138c3eb81375ba79734fb50f2343a418638277eca34bc3fe9345148603763927138040341355edb5135176e6a37f4d926383e5adc351ea6ec355b555935d54c0437371e1a35eaf21b3569141f35224ec036c41ff034b42d07355deb73372e0f19389381cf36ade031353041c437b4646838bce9e4376da88a34d006923756f80338f4ddc035000000007e4d8d36721d43378a322133dc2b4833ff5fe2348032073e5eac5e3f3e42db34a451703505fa2d3ee966543f274743353544da350387233ecbcf363f72f8c935918b4935a75e163ecb4a073f3130f434f5fb1335bf70023eaac7ba3e9b26f334ef799f359c7ff43dc7953e3e4dfc173564e09636a282bc3df63c5d3cea2f4634000000000c25983cc75134380000000094f5bc34b6a70f394ee7e133000000009308be35a7e8243704363535e9f7bc34a528a53475d2c23700000000dccfad32daba8b35e1298a35c9156835676e51359a75a636b2c69c3600157d36ef249d3623175934c4e36a34c3d23834696f8134f364d83419d6db34a30e20352942b234e2fba1360cda04373fe49a367baba336104df13386dc0234492afc33bf83f2330000000000000000000000000000000048efb33567a9a03cbb7d7b3f94885e34c08cb134e1fd0f3d8241703f00000000dcedb235ab2c803c88df553fa3cb67359ac3a1363637613cb20b263f674c7836340280348979d73a900aed3e6e834f34b79c3d358144f73b0ca8883e80db1835063a9236f32e803a986bb03d79278f367dffde339b14323ab6ea2d384215f63300000000d60a013800000000000000000000000000000000000000000000000051e247377f4ca737ee74b634dab870346e7c3235adabf534c769ec348457e83445f4493598063435fb810e35dacb1c358fcd67371eb7d4377f2c0c3546390335bbdd9e365ad390362385913601139f363f3ee6360e4c1738faa75c376596883522df4f35b1f9aa367b80953551e295350000000000000000000000000000000000000000000000000000803f00000000ae98013507c79938953e7d3f138c963448a35235229a083822d1623ff4b02035b2752f35dd51453860c5313fdc09553530dd48367748a2380a09fe3e96872135a84ba336d2ab1638e4f6993eac4e97365f454236359194383839e63dde69bb351c308535a4251d38b902973ab1b3823500000000000000000000000000000000000000000000000000000000000000006e7b8733553ea433e6bd723398d4973398ebc4345db39b3463e4b03402588334f04f0a36fe63df350cdd953536203c3574d4593676f169368f8a3936d886313600000000a5415f3700000000000000009b3d4236916db7370cbc39369d0a19365f3191369fd8a436f8b88636a8d2703600000000000000000000000000000000000000000000803f0000000000000000e2818033b7f57f3f7ebe8133f6669133f631ec340cc8613f1adea834b7f39534eae2ee3573af313f592ab035ec5360358b6f3b36c0e9023f943f37366141313600000000f57da63e0000000000000000a92b1736cdb30b3e890d4a36b3c91c360e0d6e360884fb3c6d618536827280360000000000000000000000000000000000000000edf3bc3895692f3800000000647e4536f2174a381d87fa367d518c368c6d6735eb7bbf35ede7d73529dc7e3560713036f4e83536027153369226303631e8a036a5500c374e01b736cd1caf3694e6e83512965337533b20368c2d0036a9cea83637cb653892a4d9362513b236f1e9ac36c3355238c420f0362599dd361a6cc535ed5bb73781a802366dd8e83500000000cf02773fb2bb0c3d000000000c0c0236df3e793fa90ab638f50a9136c3a16d346b95783f05194f36cb944b35494e2736c0bc443f31ac6337ee4c2d36ac788136f7c2123fb15fa8374d9ead36aced3e35a428c13e77da4a3759a0e2358ab36636c33a343e83c2f437c43eac36fc6d4436b6a7873d582213379cecdd3668397734a04e3b3b7f1112365064b135a43a8833b0f8bc3ad4293d33b486893303ddbd34af98e9382c25db34c0c094348c035535637e243807cede355cdc85356255ce31d99a1737657cbe317a3f8431e7c919350d0b0e35e9980a357d9ae034085e063530e50a363debd03563a68235f82040337a959838095766332383ed330ceb19348120e137e58f1d3499905134c74034354e8336387afce8354b9ff735a66165330f97503f5520163e841b9c330fdba4344707533f28d1c43dfbf78b34eb9be8341874583feaf71d3d56a68a35b640ac3186673c3f5306d1386617a031b57d0b355eb20d3f2daf0835cc99f734e65ff934898ec33e70521836ab375735d2fda433a0a9483ef28b1f386fbadf33715b1834b1ce503d23231c345d123134520d0a33cb72593bce1c25375d92c5350000000062ba843b000000000000000000000000d9afdc39000000000000000049f262346dfec93804e0743467deca33b7bc24354c120138676a6835f50f01355f708835ca33ba37c5218835e6169235000000003bbe303800000000000000001b00c8359068b338952faf35c84c9035ddcf6535dc9e023864bc4d3510fe6435ca4b0034f2ac6e38186c2b3449cc4734000000003b89263f4b0ba13e000000000000000084002d3f643b803e00000000c8fc9a34ca6d2f3f7f921d3e47422e34e82002355dbd243f5cb3963d911605355aa28035bb90023f695c7b3b6c5b913500000000e5afb63e1132913800000000b2fdac356d974e3eb0d4d3375076933500322735aff58c3da19b7535a3e051357025dc336fd36d3cbc01243452314334502d3935b14b8f3b427caa354958cc34b3da8e3603e26b393c56bc36343e34361df03536769c1f3964a97a36e352f13588a580362e192238bc3f9a36a71c23366cf9963650fa8c3808c6a536f60671360186873612a4233865619c3641a05c366a8f5f36d8a7d43852b14f36baa4dd354591a4364417ec38f15bab366d986a36a195bb3598882b38c0b18835a1de4635f1d926353521ff3ecf16f33e9fd6b434acc66a365f3c053fe795d23efa17343685a6d435d0d3043f6ab0983e0c11d335f45d4a36e66e033fd9f62b3eff4c0b36af258436b3eec83ed3c7dd3d3a36743652df3f36869fa33e71db10383f034736ce582036c17d3c3e912d82378e57b235361a8036f5918e3d6a0602380549633676ac2735d715c33cdd08be35eedb103564b02934cca6993b0398c13392beda33320972359eaceb38e3ac4435f9e90d3567d8a7354060f13862e2ec35c3084d35000000002f0096380000000000000000ac309b359421eb3774748935a5624f35aac10a35f61d3b38a224a435625cd834a7012a34e679ef38257d5334111e7a3400000000c354ff370000000000000000000000000000000000000000000000008bcc2834c96dab3e98be253ffc8a0034ea425c359e0dbc3e2cae103f02b923356d476b35cb8eba3eeebcde3ebd7542350000000064beb63e6d29933e00000000a3088c3581e1a73e0c62233e02e07035c2f5b7341b1b883efcd5933c56d90735bca0443471cc253ef8756f384c868634000000002601983d000000000000000000000000a81d053d000000000000000096c2c035cdafd83c5cb76e353cbd593389c7293480ffbe38feb84134c2f152331a848e3352971c394dd9d433000000006c0f803540e51836e2981a357f780735b8cf0c350058053679c70d350155fd34d3bdab31b2cc9b38f49f9a31af4cc131010fb035ad77943880bd9435c196443588bdf434f5378d36ae8ec434aa34ab34eb15913312d365375fe759339ba6af3396d6b735a2c2253eeb074f3ff84d2b331ba336348fc3553e3ab63d3f9a95c83394690e34c604463efa881c3f7759e33275743c35d53a493ef674d83ec6fa103500f00835c6e4363ee3d3893e2b1c0735a3daa43101e2343e3d96b43d85fbb831cc39ab352269ef3d0cc02838c0ac4335eeb19f34fb17a53d8b14d834d91bc2345cc7803333b51d3d11da4233bd059a33be32f6359add92399e5aa13500000000ce0fe136abcda7380e6da23626ce873519ecc63672049538ee3f8d36179a00367d14323682340a38062ddc3500000000eb77b636f2e84c3803fea236be7b4e363e9a34364badf038d9eb463657e31836d813dd351dcbeb379206b43523da5d348235aa365c2686389f8a7f361038043672d7a53734be6f3800000000000000003176df35ab6f493d21e2723f00000000e045d736a56b8b3d65c35d3fd7b66e3582e7b2361da98b3ddd9f413fd07cf1354bac0a366b63553de431123f000000003c47aa36afdf143d6241c83e44e75036c9db26361bc5af3cf6d7573eed6626360f6990356905c63c8c57a43bc1a15034ad1d9f36d84ddb3c10312d385874f835000000000e1da23a00000000000000000000000000000000000000000000000015419336d7cf99369861863649e4283653f048369522a0366a3e1f362da129350000000063ccb83700000000000000001c9c573604f4403708685736c487ff35cbb6bd358536203656793136af0b83358e91a4345450b334d38fa734d84bc6346a2ba433f7a19c339ce49533f2a749330000000000000000000000000000000000000000000000000000803f000000001b39833648c299367b5b783f61e73236ce000f36cca7d53786255d3ff8074e3500000000bab60d38e0fd2c3f00000000f5582e3626149d37a8a1fa3e3765163640cf1135d80e1136d2c69c3eb940c6353669aa34ea58d334c4e8f33daababb34bc998633341ea5337b07893a0cad7a3300000000000000000000000000000000000000000000000000000000000000004a5c9c370b4aba384af26535512f393417494136daf325364d08c3351d3a9735ff748a36c8d12e38cebd4b36a861303628a84f37c27ccd3812f02335700a6935fb3f1036190c27387fdb6a36d46b8136951ca635c8ecaa38af2f3e3637823d36c3a4f333bb891439362e0836aa23e53500000000000000000000000000000000000000000000803f000000000000000007a11b367a597d3ff29ec1353ce1ce345cd746365e32583fdea6e735c8a6a33511c76e36d3af2e3f3033653680f83136afc73b346061053f69464035f9976f355901a43511c8b93e6c34783695697636e81070346816473e474ed2375a3538365c04e233520e543d5e1232362191d73500000000000000000000000000000000b3e79b343de3c23b69127d37b253533675238332d41a853bf4923538535b2136d61da335238f823848ae3836362e1b365e67e432da28ed38a208cb3598029735d8a91d35cf8c1f3cb87f2636a1d40836040b8c3579c16f3c236c8d3682285d362a0b1c339691033d9d351936eb8e0036a2a45330889c443d9e3adc35da22c2353bacbf3635c5db3c9b6816374a82103788842034f091643f8e43593dffd35a36d4016d3272d6703f015c863aa9a023365b42c83464eb6e3f3b060f38d1161f362bfee232853d413feeefc237af629f3500000000b394123f5a473a38a4220c3604267532836bce3e33b76d3770896436c71012339130683e15ad2938d5e705360000000055e45b3d0d55db37c3ecc53509617c36be04ea3c7d1a1d37103b11371902e0351fcbb83c00c66436715739369e5aa7350bb6943cfb064536a6b92c36b4c79a33db89dc3c1fdcc6354bdbc435aab92536c6acd13c55179f3631b879367f681936724de23c54cf4536692832363cc0a233014b053d7b7ca73390e1a53329b1eb3594700a3d77135c364d502f3682c32836d9d8243d8e405f3610bf5736ba9147306678023d55819a347f36223499e8ad35dff43d3fce172c3ef2703e362b474f3550d6453f8a9b043eac822f365e4a9b33232e463ff0f65e3d14d5c23524c702361f8d303f04bb063c2e3d81361ce2f735e4ac083fffd44638beeb38365d82a133f963c23ecc84a9337055a6335916a2353f2d703ecbd1773658e72d36d3c1fd3566d7cf3d98ee7c36b8045d36f6d319303694c93c23861e3556a69234f7862e33c23fb83cce638a35ef0a823300000000485ddd3c97485a3500000000afe65d33c380df3cd8c69d353053d5345688a5355b1d213d6f981636920e04358b83003593d1173d5b97b235f6347035970d0e360d0e173d63fa3136231ca635083238354ad9ea3cf82d96353a7fee33000000005840c43c0000000000000000fccc783544b8943c7bf877359eb22235ef2123335c1a1b3f48c99e3e29119e340000000080bc1f3fcdad6f3ec24a0034ed7df9323c86233ff7f90d3e46f8de3459343e359e6b153f66f8933d6f5c5035be5039346dd6ef3ee275953c18dd8335f2b8b1354c54b43ec0ea6a362cddc7357cfdc3335263713ebebefc355cc3e933000000007003023e02bbc63300000000377a5d34e2d3163d5923d1357d1e3735004f86367372ef3cd691ab36472210366ce939348e770b3dab87993546f13e32617b9d3480e5083d01e29635c14a0133c067eb35df96373d940c8236e93b56336116ba35e0b5133d77e2ea35fc9a9532be97263689a0263dc8cc4036b9212b3467123435539bff3c315c4f35aca52d338f481a356f399f3c7ec5df34e782a931b26a8d362d95423b5b628d3683c03f36cbaa7336dd23ed3e3238e73eb6a43b36490ecf31beaaef3ecd93b63e3c342a32ac4d20335f74f43e62c4853e5358023312858f3501d6ec3e16eb1c3ef7375433444252353bedb43e8c8fe33d7e599034686b4835066e993e7f2b0a38f3452635bf1d463439364a3e684bd4350d322833822729329cb2fb3d7addc1352499ae3107606c36b7155d3d1ad0a336846059369c036c35e69e033d6447cb35a489f93000000000a0ee153d000000000000000019e9353596d7f43c010fa2351affb733ee581e364c01133d79f34236978f413482069635f47a263d87c63e3563a2b433e951e63544612a3d0291d9355f75c733ceb16435ce0bc73c229597346c0df03273fc03358569423b0000000000000000019053350f2f163bb8d030334522133307895435cc65a43e67d4173f8e36fb3000000000afc7a53eabb5fa3e000000004332e633645fab3e0f91be3e91b5bc33fd75083687f7a83e6d327c3e927709359fe78f355ee7953ef550133e53ebb8334dc3a5356306743ecc42d53c9113ed3479504335a30c303ee17125364429f432c846a934eed6e73de68d9634000000004f261d35c681773d3828073533da1b33b2b6bd34450f1d3d06dc1b30f4a1902f891b5e36b8881e3d2021403614540d3550193e369433083dfabd0936d87b9534dc3fa73305a4083d8b0da533857f9e33c5713c363c34053de1cc2c367d888135711a89368448133da49f4a36dae88135eeddab359605073dbf629c338adb9933f92e33364008b63ae608c435680ab232d261413692b3313ab0eae43569212f35daf08f34d59d2f3e9b1f3c3f06e6d72f8c485f36ca363c3efcf7223f3a5397355d7c33369c7a3f3eb513033f8eee1d3589f7a63357fb423e8b07bb3ebaad9f3343a43a36003d373e944c693e95d3ba35ddb38436cfd5243e8ebaa43d0dc1b335441fb735cbc4e53da36cf0373f499a3390da3036806fa13d50440836e7fbca3468f13f361ee68a3d90ea11366c637f358d9d1237bd56ae3c58ffe53646cc9334e310ce3565a6c63c0c28e02c000000000cc50c3673138d3c6ce5e2349494fd3264d38436bbaf3d3cef722a368744673291f81c369c70663c233aa03500000000a6beac35b3b93c3cd517d0345109e232ba4b2b363f49293c602713360b374034467cc7374fa1063a8e0879328bbf263287550d3747a283383b2023358b2b1334aae311376e9a463d5e17603ffba3fb352252c7356bd0913d61b24d3f00000000a419073656b88d3d74bf273f12c50633525f7236a993883ddb2a013f2f476e321197143637f9643de545b23e0000000088c1a7352429433ddf033f3ecff7df32498729367afa1e3da552913c92e34734d2992836cbe65c3d8574d3370a194632385959368610483dbf53e03525561a34000000000000000000000000000000005f8be235e15eb1382857f133f0e0ce3386ba39367dde7838853bce35c191643417c16b364d9d1e38c3c82e362f87c831d90f4435d8aecd38aba39138ed21383462844f3686ca2638c60a7c3854410a3656fdbc35a54b1c3644aab83739fa48367ba26f35554e903871d1c7383c1afe350000000000000000000000000000000000000000000000000000803f00000000fb0bde35d24b943876ce723ff1fdd43357ce3536c3a66b38b2434e3f985869348e657036190fed378734233f6e1116347b716f3595bd5838b76bf53e4ee63a3488063e3697e2863627dfa23e5ca142367a86ad3558030d3670ae1f3e04b04b36723832351f8eef3668f42d3cde151136000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e3c79c340c6d93342aeab5334be5d33300000000895e01331d30f4317d224d3300000000000000000000000050c5a9321ef32c352be61f352c64c93401720a35f6ade23453a7ef348753d334a349f234699a3f347854453412060b34ee6e0b3400000000000000000000000000000000000000000000803f000000000000000000000000d95f7b3f00000000000000008646d83454f05e3f8f81c6346f5a56340ae10233d90b313ffd55a23200000000000000005474fe3e0000000000000000507c67351bd69a3e82d244359ba60f358af2dd34f710043e4d7aec344d0bea34bde71a3481d6f03c9f332834888c0b3400000000000000000000000000000000fb508d3433bca234730d8e341518833413541d3534a94835575f6f35bdc523355158a1341a4ab234f445aa36c7d54e3577b9dd34e32afd34f1e50835f3181a35971c3c35f3495135534f6735a878603559bd8f34d44fc336e4e62337d718b936f68d4d3487a36d3775fda0379d27ee360ac16e34e44a80346b268f34fd411134e0083d3477b351359c8a7034f14e193447ea8c34fe78793fad1d043d2d827a340c99e93405e67b3ff3cbaf3a63ad2f35dd48803471a1653f26547f38f8e7b6355544003570823a3ff048c437daa6ff34cb1d3935daf20b3f1a59a536b173443581826b34c610b73eac370a3a213ab136445e0b34fee82b3e1b95cf3a7bdf0c378526be3361318d3dfab63f3661939c33f87cca338f2c073aca16eb369e5fc5334fa25f3690200a3742dfdb3607a39436bf978b3456dcc6355f262137e0cd54351c15a0348710b8348562223728b0b135d77f3e366e467d36ac667936f7ad8a36f03560353eaf8735477e8c35e9a06435b5b55d3450df8c34b6db0b37a75d2235f1320036d5e6403633e13936088b47364800b735d9f14a37b5e925372924f735c664ac36339ada37cd08a337e42231374cba7b3569035c3f660b183e0abf7e365d6f7f3444e35a3f8280dd3daf5c1635c2b5a03446d4593f9768013dc849e63407b10436bfa6343ffebd5b3b92727b3649c25b35fe65073f79058b3bb9a51735eb1365349357ad3e0aca023c1668f0345c85b73585621c3e838faf3c26e0263692b09e35087feb3cd94fc939536c6a35e03f49360e3eb23a58ca3a39497dbd360356cb35dfc49a37e70e8f37ce92613615de30356005df353f10e936018527354539db3551a2b3357b1c6e35aa2ad735cf3e96345ea0d634b9f7ee34d680a13477c9a5341ed0de34972cf1343179a134637d4a36788f39369209213621164d36773471359d0ebd3733274537aa2f2c35c99c4035abe14837b8fc1c370acc6935e7316536090ffc360d115136d8e43c36cbbb9534be6a303f46eea13eea092e360d9b0f357b9f323ff4858a3e176f1b3564b5a93516db2f3fc739363ea6d7c9348c3d9534234c1c3f5af5cf3d848293347cd5693463b4f13efcb12b3d0a2a58346c182d36fa37a03e2fe0253c2674c735a45abd346fb6213e61c7713bdd45f934cca43a34cf11fa3c49ca1f399b5f3834e102fd35234e4a3a61962d37b38fa735b19ed63579f4fc363e35513687ea3d35480e2935575e5c35ca3f42354187e734d3baaf354a9968372bb00e37cb33d635ae739135a1260b37fafbdf36d65c3036d02f973518afa535d00fa7355b7b9835c467f43504ca8337814b9837e5e2863681cc833678ab8c3767bf8037214939361e0a3a35b85b67351196553565041a351b4e2636d0bb8b361c859e35d0915a35a501b43491ba003fbd11013f6e1890344b680535ad61053f621feb3e8498d134a9714935115d033f90a6b33e386851356033f63445dbf23e85c5613e11d75b352b9b99354631c23eca3e043ebd6581355156e834d915923e5817eb3cd930b4352310773510a8123eecb26c3a9ba0b7356cad39354632033d56fbe236a3a6fd34056539359753fe3ae4219736dc54a234b49e3136d6be813778207636cab21936b3ec7434fd02883717df2136c383193516bf233507d91235d4e9d534ffb20535a732413602688d36203d523683474d363e42dc345ded4035ff1dd4342d93a6349e799134d66a9b34d122b2347d7feb340e7d013658aa543661233936518015369db89e354f099236b9019d35141455358c279f361e264937ac998836d2168b36b6ca5b354e3ca13ed4cc313febdcae35135e57343a4bb13e262c213f7a024e34014b29359870a93e7cc3033f4713ea34163ab23507e4a53e6c2dbb3e27d02e364e85b4343229913efe25583ea9498834e5d1a234ebf2693eefc58e3d6d4fc53494d424350edd123ec3a6033bb3d6e935b8f5823561831e3d906d2a374def2735a79133368c49e0390e193a37899dd03574630f37e79324383f67be3627b33636f9b5823561751937dabf853503d53f35631a193622a218362dc5bc35cb0fee3510dfaf34a2eb8d361f3e9634ba5a4f34ffe2483569e5883510015a35bfb4653593f36a36008c4d36e6b62436b09659367157b53487b72a3732420a371ba9cc34efc644359eda3d36048a25355375fb34d8dcab365ef9aa36295269368dd27736565d9736a668193e412e5a3f9ba9c73584b780358b3a303ec2444e3fd9ac22354cd62036b2f51b3e60e92e3f5ab26a35f536ac34a2f8153e15fb033fd27a5d34e8393035270c133e249baa3e067d0635bcd17536470b1a3e8813193e05130b363c469c345a78fb3d32e41d3bd77eae344dbab8342432363ddda73637750c5d3408577736d7a6c23930f69336989d0236b1fe233430d1a936485b02342ce8c433e3e836343e02323482f5d6334e3f46334598ce3446dd37377b17193415a86633be5852369389d1361153653449875d34b29843353d885435cc1748352fe853351574c2354baa26375fcb5c36a72c1135b8e53335c6bd8c37a034873787d18834eca97035255a39368e6d5f35144d2535b3bba93425c3c23453c5c83439949d3417302234294ef83cf46a793f317bc93391b711343b3f263d52c5653fbdc864336225c336c0e5a33c9ce0503f5967343347f7bc3695070f3c6c6b233f7c515834f9a25335e5f92c3c15e1e73e58c54e35b6653436aa57f83b7e708a3e3db30d35540c06363bc7f23bbf3fd03d86f28134b3e683359cd9903cf0c2613a8c87ef345140823474b14c3ae34bae34d6987e340000000000000000000000000000000041ee1a34a0932c34956d333473772b34b9a3e534f18af7346158ea34b7bcdf343eb2c2347f0c4c35d25da03503f79235000000000000000000000000000000007b1ead32572fce332954a332d19b5732c1ee5a34163af734c0fd4e35772e2535000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000005ae32234df4e5634fe857a3f11ef29347291ef34339f0835dd3b613f882fee34e18203350533da358052353f286b7b3500000000d6d89e330b86033f00000000dd7db9320f1c6834ad22a33e00000000702d873431ed6f35ded20e3ec2dc0335000000000000000001c1d73c0000000000000000000000000000000000000000000000000000000000000000000000001c60c532590e0733263b0b33bb36c3324793b4328bb6e93238defa32867cba323d91f033c2ff2834dfdfe3331750a2333e7d3e35592410358b700635ecc21935c06a573309c38c33a4259e3359ee603309f64035326e6d35c7da4a35d891e534ce707b35567a5735afa54835b1f64c3500000000000000000000000000000000000000000000803f00000000000000003cf4ca320e8d803f0857083356c7c232c66bc0324efa633f4e5ef732eb3dab32d0baf8339345343f9275e033774dd63319e66335b0ee023f5166b13421db2b35cd865f33f9afa53e6ccb9633c14d5433a6ac2135f247153e0d3946359e5d02355d9f7f3519717f3d585a283505155c3500000000000000000000000000000000c77e23330854bb3a23228833427d0a33e95f7934d8ca5b35b5896b34a3909034bc6275345d3e85350000000000000000bd232e34af245434f8421434dc9dd53383a09b3565f68535b8887b35c60f6d35424a2a34d3701735aaa1e332e0177e321764d934147e0535b5ade434992ce334ab6a1734b8828934036ed23398180034000000008c3b023a000000000000000049855b31ee90743f90dac43a3a9c19338e77a933400a773fc2bdc7361d8a85344f496b3429e97d3f0cc3883500000000978420349c44593f85000e34bec70d34f5028a35c809263fedf25e359d9176353e101734bc00e93ed33a703358cb8e323c7fc634ef457d3e77aae134d3c4d33446ff0a3434d7103e7996ca331dcc0234000000002f7a543d00000000000000006ade86356f58883cbfc3dd35410b8435c4ff93350467af3a438685358db14935e7cd123593706135e7d21435c6933935da64c43525660036d532c3351a8ec635b2040a35611b1735128de334882ce934cadd1b35b3a30335a65ae334d3b7e1342a49c535b55eed35dc29a03598ce973500a0e03437a9083a2665993499948d34d92e163440a1cf3a551de7338e1bc3338cf35b3566554c3fe4b4c43d04836535878a6b352eb44f3fab574b3ded955335a7040335a03c543f65258f35474c383527f89c35e0da533fb466d7358b4ec0359ab3d83465022e3fa3b0fa348b95d0346e3df9342c1b013fafaf2735c8b9d23476e1a035589e9d3e30e7b43502f68e35bf7da0340590073ec35ea834abf07f3431e69d3350ae373d83f738349481c43358bd4133f9b0c63c7c438b3371cfa3335646d234e81ec73b3d060035ccfcb734773d8a35ef0e843a6cb1f0356ce38e351dac6f348b44ce34e4dd8c3458ca2e34246e76356ef19135c3368135e04a7035f5c8b134776ab8347f1fb334eed96a34f5ccbf346b33cb34ef11ac34a0d68c34f303b1357fbb7d39a93dba351752ac35059c1a353cc02b3a32fa3e35fb67463500000000e047243f3ebd6f3e651d63333280c334f9f1263fe441123eeffab5346bf95435b94a2d3f9314043d4e609035fe387e3406082d3f650a8b34713e31341d7e423526f4283ff5388735ce256a352436873424ea013fc6fbc234c1274634859da434d765b13e85f4c33411e485342a098f35ed5a463e8ecdbb35c52aac359c4ee034463f733dfe9d3c3501d93d350000000013e9863d6a459235000000008a8891348c1d0a3cd58c1d35af7a9a34b0e7c132ec2aec3a50a84433af07dd32f4417e337d80be3a52007a333cd91f331572b035cd698e3849e9b63593a18d3570291e3391dc0235c74b9733ea361c3344f21d337182223388fe1833f6bbc4324390dc34104d9e34781d5934b8141634813fff346eaea9390000000000000000000000001868e83e4106cc3e0000000080d15f33aebafe3ec0ea943e45347a34d161c132d0b0003fbaf5383e3045d7327f817c33cd60043f0da5b93ca1885933a8b29635c8de003f43b4613641739135798b20339459ee3e13629d33530d31337e2a1c33a2aca53efc6b13335f6703335b98f134044b5a3efa5d6e3447d62a3400000000f266bb3d00000000000000005b023d35c5609d3d9f9a0f35b4bafd346bfbb1356ff6e93cf66eb735c3808235bfc58734106f0f3bde1bcd3488b2e834c84c9534c896993adcecc33437c34e34cf2d74353f031c3ae88b8535a5e63e35585e6234163c60398a19863448a22d3411fcff3527d7153613fcb0351ca16c35cfd504357a7b123518dbd33476a1c034c85eea336e9d003a370c2f31b479e9328fa9273584e7923e3054163f4f30b734b65597357658a83e6acaea3ed0657f3507e86f34ddf2ad3ed966a43e2d2fef34e39067342f9eab3efeb72a3e44a82734e2ef3c357a41b03ed941593adedc2f354b1a2b34f8f0a93e1f4ed53497de3334a738c735b6c3983ef4f3dc35ad3b4b35e083cd34f7c1543ed451e634362bae343e353f3380c2de3da2dbf1320000000031831f34d3a7813d9db3e83332dea233c88ba53447191d3d21aedc34d31d8834fac2ac35d0da8e3c003ee735206b8535a65d1335ca99073b386829355650b9345476e334e464013bb6d61e351ff9bc347149e535dd85293aa1450436db67ae3510122a35e5b99b355a503935819002352aa17f357940df35e1029f3522558535b950c33545bd6338c06c8a35226e733544862d346cec133edf30413f8a28883307ada73415983a3e960b283fe3297b34b48d943555d9393e2199003fb65a8535fb07023541093d3e532da23eaa93be34c8e2da34b11c303e45ec1c3e22a1d0341c57cd353422363e4afee83829b8a335943b08356659363e93735e35305ff334c1f3593528c4133e0201a53515848635f66c5b35a65dc63d787d82355bcc6b35000000008742be3b5eff6e3300000000f216b2330c48a139959d3434ab65a3335c43d3340b870f35d0a5dd3426f8873429db383373f2d639ee27ab334fe17032e7858535ae0df6396960933506b93f35aa18da33b9432f3761fa4834c59ac133582192339a93d839f38c473583aa4d3409a06f34f6281c348d2dcd33c8f0b9332f169b33eec18931a3524933cd372e320000000032a6263d9735683f00000000e4a198339a22743d63a64d3f97f393333085c53456557f3da21d323f822c66343527c5328701323d23ea013fb4c9d9320b1a6035f1c2be3c1d92aa3e19bd4a353a1bcb336053063ce362163e49ecdf33000000007b5f263c52a5ce397f222a34997aa334950a1e3de42ef333edcfd1335f5216335d6a3c3d945e3d329163143200000000000000000000000000000000b2ed32352f66a1354e6e543588992535e0fc2b35e7844c35199c4435a71c20353a738f3366d1f133277123333e2a3f3377e8ea34fb8af73497b21b35ba9c223585af9133b69e0f34623d7e349ff069346f27ec322401ec3201259a329541a5327c0c003311101835f0ed6734c074b3320000000000000000000000000000000000000000000000000000803f00000000fab12d351a009435508a713fc51d263597402535ab3c88357ae75b3ffc8a01352b4e57338d9d8133c4052f3f2cbc1e33dedbfb343dcee734e2a4fd3e212505358ef897334b608a343c8e9a3ed47d11342eadb63229f6e6327fa1ee3db8a88e32a7e0b632cbdc32341323963a3dc293320000000000000000000000000000000000000000000000000000000000000000b3a6e237bc7284380000000000000000fede4738ff40be370000000000000000061e1b387e0c823700000000000000000dc210382f959738000000000000000070210a355ee9b938000000000000000000000000fb46a1380000000000000000e342ee37bf5bd338000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000b98d803f00000000000000001a098637da00643f0000000000000000f7b4943622fe313f00000000000000000000000058ae073f0000000000000000000000000e4cb63e0000000000000000000000000c22313e000000000000000000000000109a9f3d0000000000000000000000000000000000000000000000003a541230f80b653dedc97f34bfd3e230000000005f55253de7ef933400000000000000008d3dc8391fb9ec30000000005848a6324a078038b5bcf432a87908334afe5d343e2f0739911feb320000000000000000fc84a13cfd6d3834000000007a15c532ce546d3d15fea232ded4c032000000005f2c833d000000000000000069a3ae345c3e133d6f0778357cba1b333b3f972e33965a3f8b8b6138bc0fd23000000000fb62673fcba06a386239da3200000000250c803f47639a37000000005bdb8b32bb91773f84e2ea3226fe0233f2e33d33548a403f183a06340000000000000000c79e093f77f3a1341ea4603339096f3158fa9a3e8cbc93320a9bb432000000000d691e3ea298723700000000d02f6e34f7c2b73d720cca353d5e5134000000000f89b03d700215370000000000000000ead39c3d8b459537a8a55c3163e9d7310eec213df70c1f32f704413200000000581e943c00000000000000000000000068de2b3d927b1134fa7ae03102430a32e112483df1634532d1f86e32000000001bd09f3d0000000000000000c9745530b011b83dcaee2f31d839703148bc2931fe64a93dacaf7831a4b6973100000000cefa293fbf08813d0000000000000000d37e303fb827a7384578b1316068c531078b3e3fdda7c837a0fa3432000000004f9a4c3f485f47370000000000000000410a493fc0ad0138fdceba313de1fc31443a223f8e773b32f1b55f3200000000ae3ade3e00000000000000007ef0003041b5893e853ea0371c73583177331a3113f5ef3d47a26931079b8d3100000000fae4503e00000000000000000000000052fe413ee24a143700000000ff3e3f32551cfd3d7325c033f4c0a03200000000469ea53d000000000000000000000000e46a323de3fb96320000000000000000b31b483d000000000000000000000000c18b633d000000000000000095f99636167a8b3d00000000000000000000000030c37a3d000000000000000000000000230bd83e3258f63d00000000000000001218db3eea05c13b0000000048c62d32e5b5fc3ecec61838d1ee973200000000f8ec0e3fcd3aab3700000000000000003543203f145b4038000000000000000065a81e3f000000000000000000000000a65a003f000000000000000000000000f50cc03ebc9b37370000000000000000e3596c3e66df4b3400000000ad83a535eadb6a3edbd1a0367458b034000000006e33713e06248637000000005ea1cd2fdf43453ebec15c32f9d6283000000000cc491e3ef2294b350000000083f61634d450f23db6322034000000006ea19e349007983d00000000000000001de95c33ee8a803dc6baca2ff986a62f8bba4d36eb6a413d0000000000000000584e8335bd732c3dc53bfc3500000000299df934ee86763e4a46743e79e21935000000007f43723e017bdd3d000000008032bc2fd664963e3a0ee93c43cd203000000000eea9a53efb0732380000000000000000f2c4c53e1d2c4e3800000000000000005fbde93e24356137000000000590183023afdc3ecab3d92f922eb52f84a91734958dc33eae92513700000000e0835c35f5c5843e18b1423600000000000000003b405c3e000000000000000000000000e9bb713ec9bdb2370000000000000000740a533e000000000000000000000000508c453e0000000000000000000000006a96133ee7018c3300000000000000009687cd3d0000000000000000ab5e8632f6d2863d0f243c32661d1a320000000028f43f3d0000000000000000000000008a1ab53c0000000000000000000000003c5dc83d8fa5cf3e00000000000000006d40a43dcaf17e3e00000000000000009561ed3d2207063e0000000000000000f50b163e078580390000000000000000f1f8463ea239913800000000000000006d208a3ea585c2370000000088d18e320b31a73e78080836922a2632000000000770ad3eea1806370000000000000000bba0773e0000000000000000d0ee7031a5fcf23db96e27319ffb0531e35f26310e1e043e04674b350000000000000000e543de3d0000000000000000c7bc3f32d39ffa3da1f80732091fdf31070a8b333826fe3dc4b93f3700000000000000004e51c93d0000000000000000b5341a32b129773d2eedd431d9a6af31bd2caf364c97283d00000000000000004f06b7347003c13c000000000000000077498231b9053d3d7515253f705c103161fc3e31749a053dcde9f93e991a812f00000000d8ae2f3d92b2b03e00000000a5114e32d772113dd51c2c3e7120ef319a2d9831dd9b4c3d75c0a73b00000000000000001d44bd3d0d215837000000007f8c26324b37283e8c61ea31fe38bb31862c16349ace4d3e46ada3340000000072e44d33ab1b303e00000000000000001d38ff34790f353d7e5c13350000000000000000a1c5633d1b48803600000000cf8b9c32ebc3653d8dba4b33000000009a216e34a2872e3d21ffef3300000000529c84312ef0943c68a38c35000000008e0cf232a527ab3ba29fa83233b84f322dd1b43335ae3a3b0000000000000000347599340e50cb3c00000000000000003c3551349b91333c3d20ec2f0000000069b592340bfd9e38b527563f5d2b01340000000049ddaf387e633b3f000000004fc6aa328e189638a00b173f52c98a303c63e333a9d285388fa3cf3e0000000000000000a7b8c838435a703e000000005979fc32e10d1538ec77003d28157332000000002a3ca039f24c4438000000004fb716340d6d113d7e31b93600000000d36bdc335df6b13d1f7d9d35000000000000000000000000000000000000000000000000afc7b7380917fc3700000000000000001a0b8b380000000000000000000000002e97b3387611ce360000000000000000f9538e38e9ed36380000000000000000c7d65937e32b74380000000000000000da50d237f0899c3800000000000000002b024f389e373738000000000000000000000000000000000000000000000000000000000000803f0000000000000000924c0e3893476d3f000000000000000022ab9d37f7d7543f000000000000000093355c37e04a263f000000000000000027432437fa48f33e00000000000000000000000083e49e3e00000000000000000000000027fae93d000000000000000000000000d814333a000000000000000000000000000000000000000000000000000000000000000000000000d4b36b3745454c35b42f3b35240504376694c8378488193767833237218cb83791bdbc37f96d8b3682a8eb366da46a37e945d8372e867d3768b89337de02ca37ddb30038e218a437c1e4a93753edf8374435ee376133af377430b037c636e53789d2df371fbad6379835aa370290dd3700000000000000000000000000000000000000000000803f0000000000000000cfb7cd3517f37f3f7a5d70372cd62e369e57a037c2e9573fa4e0d03741dc8137e9285837efc52c3fce9f84372cd832379722bc37c45a013f4f70c1373e06b237b505ec3701ebaa3e9d64f037bfddc8374d46b437b1512a3ee8e9cd37f7b4b9372c9aa73739c95438baebc33764a8ae370000000000000000000000000000000099ae0e378d169437f5df553707b886372b551c37bfb9be3652bebd36ba966d37738e9237d1c7d8358b1def362ef1c7370d9a55371803993624210c3701fe6d37a688b437d9caed36ba533637f6fdec373520b13762e44337bc1474373e05c9375939ac36907ca1358da4e435ddec4937f42b2e37801b6f374a54263778ff8937e7d9d9367ce62c3783780e37acb750371bc3933627f37f3f93933538cd481e376cc71f35a0c67f3ffed3343a594fba36c25a403457e9573f9888a43bbe351637790f8136ecd32e3ff2653c38467b1e37926d993624ac003f87ed45386573393786ac0f37638aaa3ecad959385fb3803733031934d5342c3ee8e3b537f55be335cbe48635b5e6fa3b52179c376f81c236fce49f35898a9c373eb40a37a2b3c636dcb7d337b19a7538cf37f73756a3be3784b21537f5aa1837be7b093767eb103771070838f89dd537bc316937f9d0b9375adbfd370b009037e8af78377262bf37873cc33718662b3718bc3137496baf3727cbd037e1a0813769eb6b37e6f3f037d074e237b621e137b9fcd837053bf537d8a445378eab7c3752453637d3243b37ae27ad373345ca37c971aa37bd69c03783598f36f6fe563f06c5233e62fd61379c298a366f7c573fadf1213e4399dd367ffeba36313e343f15fc183e73fe0c37aa7f11374963163fdc8ece3d28b53a3755aa5c36904ddd3e7823873d8acb003725080637041e983edf053d3c6891393797d38237f428233e50715238fa37ba379243ec3661296e3b7f98a437f56913378ed0073747bd3638ded4b6376f7f4337de984937d7b94d38511954373060c236e58d9334f158c036c3df1834c5012f342df0f637ac69e3370b36563794e16637d5ba923703523537b724fa36223923379dccf43614bc7236cfb573366e3d75368e1ff637eff6c337b4f8863747b8a8374880db379089c3371f414537421f9b37757d3137e7d150377d9203371d5c003747e5c8374ec5d43702d0a0371c3fa8371fb26536a5482c3feb44a73e4eec6b36483b2032eef82d3f0e02a43e6af8c33372dddb36b193173fc30a8c3ef621df36bc8aa1363cd5f43e4e62553e125da336dca26e364eadb53e8cd7133e14ce7136d6f31837a784763ea2f5943db17228376f96c636bfab033eabe2d73b5bb3cc36e10f9936353e1f38ed74863781ae8f36e5005f37532b48389484bd3773141c37e51db43703994c387a82a6373f7d85361e033137efe836374559d836912fc236028aa33786d48e37ba9307362f3e0b360faa2b38c64dc9377f7f3036b5a550365deda5390e9b2638aa11b337044aba37b6ce203858b1e3376668043753293f37f466c6376516a237fbd7e7364dbf0837060d3537b7ce3937face1e3721e11b3720680238c41ff537f86d3937bafd4237d957803655be013f7362fc3ee9df7e36c5866936f9e4033f041cf83ec598ac35567205362238e43e3d24d13e7a96ef3567872036f0b2ba3e46a4a43e08dbc1353142ab3759f0873e59b06f3e22083c37725d53360d5d373e9fc7093ecb8a123656b80e366037be3d5ab2573db352093647870e375ad4ca38eabf4837280ee73675074937024d5438e207b7374d4384367492be3754b644388f4b88378837b036ff433937dc7a51370a6f833678a1823680c2f9374c5ebd377c48bc36a54cc43648fd1438d974cb37942edc3639030337e99241371e357736ecde71369f387236c1c5c23742788c3781000e3733251737737b1438a7040c386a1aaa376f3b99379868f136b0d29436ef369a34e65b3b3440f0cd37c22da637ec691c37944bff3644e3a436596fad3e6b39293f1fe21f36d1638636bc2fb43ef6dd253f10287236a328c7367b52a03e54350d3fbfafac36ed513637d605813e4462de3e923b9e361b7b73366b173d3ec5d3a13ee63261367c991e37d984ed3d0f0e4a3e6988a13675f0a337f2644f3d563fab3dc8a50337fd449034cb303438eb70af37f2570b348e494837e6f444384aea8637ff0b7336fa14cd37464e2e384d1f1237cfe07f362c6c8237e5178737f84e35366618c435842403383f5ce337a494413749ef4a374c092138acdfce37e076b236be50d93626ae2d38bd42ba37d5b45836e3cf5b3685514238bd1518383e193137a1163a375b934c3815a33238a81059375a4f5937d3fe57376137483787350d37881b03370aec0c384664fb375bc1ac373dbb9637c565f036bfa8323eeb43533f2d9c58360ba3de368326423ede864e3fc4e9a9358cd59f373da0353e5dbf293f746fb5364baf3837df36133e2c250c3fc086ad36bf413f376276d23df541cc3e1c814c36c629ac379bda5f3d078b833e365706377965e037a6037c3c521c063e5aaec736e34c19376ed7bc379b988e37612bc936e6efeb3771346e38961be63718351937372c7b37acab95376b0a933574357f354e3fbd37825f80372cf94a35a6ce4f359879ba37613fb836e3a51e34016d1934e2432f3880e9a9377c210936677b0936f2a31638008fa5375d247c32435b803242808737c23a5c375cae6f36aec2a036275118383db3cc37af0f343652d92636eff1b83740c89b37117fca36df146d36e39b8d37010358376821d936ec86be36a32c5436a94cdc3bcc3e7e3f8e663835f210893650de033df9c0753fd63e043531e7b235892e023da6c84c3f4a6514347ae396373fd0ca3c0055243f74adfb3552638837e36ea23cd562f43e0aa58132b3c75537a27190386c3ba23e26c44d362301b237e9ed6839d6c91a3e954a8f348dc17f3705e020385b1a1b385d9a2d352523843780d1ac3789ed0f374204a53600000000000000000000000000000000df4fe8379ec6b23788823a36c75b4a36f82c0238fc3db737daee4237552b6b3765f8033869bfe03721572137e0244537c0dcd037f613b93708433e37c52e853759c39337136c5f37b6f3bd361e021237abc1ce3764c0c037a198883781338c3740953e3728cb433704041c37e6ecd4360000000000000000000000000000000000000000000000000000803f00000000679bad3756e41c38c7ee7f3f65be28365febb73780361239a652553ff2584237e414e13781fbe139d5582a3fa28946379243ba37907b85394708fd3e721c4537db00553735e63c385156a63e0abca636069ea73737f4943945bc1f3e9f575037fa2bd7369010a237177f13385f44c4350000000000000000000000000000000000000000000000000000000000000000b9be18385ba62638ef501436bec0883614c52b38bf8f1c389f473b37c8875437a83d9b382b185938a0a86a37ace9b63709f7a4370c7b783701e0f2362e351337f80f23389d841038a6a8da3798430838559116382d811138b38a7b36958492376147be377a22cd37f3d0853735bdb33700000000000000000000000000000000000000000000803f0000000000000000da483637542b723fdcdc743744101a369187133835d64b3f08a00a38b1a8d836527c5e38faa8263f8c523e38f34a6f376207883780ee003f637c8837addef936d13f153899adb63e413e0c38c6b2da3750d8b537ef46583e751b7a375f8988368c1895376460813d7d078a378ddc813700000000000000000000000000000000cef29a37743dbe393aaa9f37b8103f37b7cca837fdd0493abc403c373ed9ac343422cf37e9f9183871a13d37884022378d711038c0552e386b4a8237a6e34a37bc2ec0379b350d38e1ef8c3719fa8737718559370629a037dd4b1d37a5e13937e752b03750fee73726bcc0374870d737fb8b1737f8e19237b0fc3d37dc987537304deb3792270d384376ae372adac937e0ae863606eb703fc5ee6e3d8a5f343785a07934741f643f011c753d6c9e7a349eecde366019423f4e093f3d0497e53629376937f43d1f3f2241d83ce4f99d366fea45374cd0f53ec4ac413c6688433760b2d336716eb03ecbd7bb374aaa1737a2786037649f523e7befe5375d3dab37909f2035317b8e3de6774f376a3a1137ba7f91373fc43d384abcbd3776496f37d77f8e375a943b395605ae370e95ba36e07ab2361dad223c41a1f235eb6ff43594674137b74b71380781a13683553a34e34bf9378d3166389c4284370b001d3629fa2f3700ae4d39351501378207a536d629b0374fce02381f02a037e0b983374960a337a1e5d439dc43a737c1368737b9370e351b0e563723ac0e3523450f3548a8a437c5c0f137126079378f6d5137cbeb0036f6024b3f4785533e0c9dc4364c36ed35b86d433f3b76493e170ef3358ab431349089233f71a9253e27b137342fcd0a374f08093fcd02f13d32ada633a247ad35320cd33ef501ac3de9301b36a3c1fd36b3e9993eff960d3d48004b377079ce36ebf4413edf43223bf7701437f0c40d352645853dfcb80e354bf70e3515583f373c0f56385b899a370063e9363cb669372eeec739ed1a67373c431336c12f81376a87963aa4f18836707cdd357cd90a389a0c363a6fbf3f37d2cf0c36f0708e37fa1b1c39e76513376baa28360ff5ad375a3e07383e2d1a3743a20a36ddc20e384a5430394251f53752ba9a377128d437ef37b23988cb8f37f238df35dbead4371f7bef392e16ad37aeef503772710c3852d84238f964bf37b8e18b3729d21136116a263f6ed5b23eb2691336052cdd35b4e3203f9c85a83e9144de35e5722b36b66d093f1f4a8a3e2a110f36e500ac36b945e33eef01593e8bc32b369b4a933621ccaf3e64931e3e25f80d3647bd9c375aba7e3ea3faba3d47fe6e3700000000314c223e8cef983c87543434941c5a37d2bf693d09e40738c803c036c890d3373b489339ca5afa37a0c32337bb08f43799177b39f93bf4372a9a8336ecad9436e066393a309b0435ddbbf4344f07cd37552c7839d6f73f37cbea9436e293f637f05572386c110c37969aad355e42fc370ecf7339e143b737698012372949dc37f1563b3874914b37e0141736e199c3379d0a2b38945c6837038b283788d080367742253892120e3553090535c6f50b38dd161c38ce71ba376d566737e2ba3c37ff3e013fde35fd3ef678853604edff347c3afb3e880eec3e2647fa346b47373724a0d63e1eabc43e596a9c36e45cf036996fb23e9dd09d3e84fdb435f7d0a437451f883ee15b6f3e2b0c0237a1c8f636a1af483e2495163e426cdf35348344373cc2f63da0299b3d1af41737f3aa05357345423ddf339f375e79083518a3d437b9f06e3842cd0238056c00375162f237c407183a9b2c0038c0d7a2363233e1372f23943a3b7c873775e18935f39f1b38e3312b3a0000000000000000d06425381c40a3397068a4370e4f98354b27bd3782210838c6d4c4369255013642829437e371f2371795093777e92436382f0938a143683997ba5b3797241036aa9d8337ccbc9239705503370190e535abe7953787acb03704451e3724792a361d413d370a24b83ecda2233fca4dcd3648001a371960b33e233d173f25ee8835ae169f359a62a13e76ab013f00000000cfa8d73720ab823ebee5ce3e8c2f9a35bbdc00372d55493eb3199c3e105e023614391b37e4e70e3ee242513e33582736f4204437ccafa93d4e7cdf3df9040f365520a636b4fae83cbffc4a3cb2ebe035362c66379d9c5c38b82d76376fee143695eda637e10063383ce08437e394a5356abe0e350a1df839371e0d350d680b353a513a399d4f3c3ae2a3c4364d584035b432f2377060d63b29abc736f0f7c53597737237bc617a39bce0b23577b3aa34b012133827fd5d38c3eb1437f98488337d2243371e24e3377df0783694af2e3488951737dc3d8b373042f835ea1ef035d983ef37b2d50938d4230e3776030e36a3d5b93637185b3e6625493faeb6ab354edf0f358b03593e89f0383f36800c35364a6c37af89493e2d1f1c3fde4e50355ed68b37699a233ec630ff3e6631d5354dfd00377336fb3de9d3c23ec232ae3414148f370e89ad3d642d863ee9b79a333bc7e436adf4443d15ca1a3e39e32f3481d5f535b5912c3a64f2ee3c3a50f03576cfad37d60a95387ceba837e84cd8350fb2ee374ea940381746cb373ce369360b638437c84dc839b4d02035d68605357e65ee3747262d3856ec2a37c18e8f3589cbad374016d63782729b36f3281c35f8300f38b05d4938e2a8c536361627346a59183813ae3838ab2cb03600000000687fe837f0320d38fa7707370e744d34e617c337cff3be38fd3cc536e7377734cb00d137dfc3cc37b6401a3751916436530c6a37dbc0893ddaad6e3fb5b06e36d4f0ff36140f9a3d11ca5a3fb3490b35866db937bf4b913d3320393f32ac913564a9333767ab823d2b65173f841822351204aa37309d4f3ddb03ea3ef0182b34e574c2377c46f53c0b8aa43e0000000063b69b37134a043cbb563f3e4ce44c34251b8e3754ae573a4a91413d560a7a345d54b937bc800e3815daa83782c29a35000000000000000000000000000000009c0fbb3774fafe3790828237c759bf3658e60a38fa228a382df8df36d212c03586201c3886173e38f655d237a5f4de34b959863719aabb37473ce436f7dc7436948c35385ec2a13823ceb0372880ef36887cfc37e1f12b388346d937c0acb536d1501e376055f1370ea12937843327360000000000000000000000000000000000000000000000000000803f0000000040188037a9ba163839c06f3f320118371d45a4369a71b63996c1493f1aecc3359c1ef537fb9794390177243f2934473730791937dda2083832fafd3e3f3c9836eb5cba37470f1b39b35ab23ea1ff173742bba23770c144382234503ec154eb363536bf36208a2638fd2d5c3d0bbf013600000000000000000000000000000000000000000000000000000000000000006964313a686b5f3a92034b38903901388a17463a366c583aef2b8f39cd562e39f602063a26c3043ab6fc2839e1b1be386e1d1c3ac50a3e3a53cc853907442f390409c539c500e939daf91739e5c8bf382c7ed439b546f53966b19d396e129139901dac392b50ca3957e84539a9ff2d3900000000000000000000000000000000000000000000803f0000000000000000a167083a7ed0603f17a2f7390e5a0738022c253aec4a403f4cdce539b9274b396de2e739bf10203f6459a339a2f9c638765cfe397ccbfe3eec7ad139f6f43e39b5259439757abe3ea4be70394cd8c3380439b639cb86793e53ebb739bc498639744b90392398f23d352e6b39abf31c3900000000000000000000000000000000d4f80b3aa1104b3a5c8ac739b7d5c038c193433a0137883a45d10c3aebec3f395f4b0b3af9d2803a0d884039ac955d377567373af738633ad33a043aac1a9f395fc2033aa3d5283ac006a539fd7500398c4a733a0a95e73a5c1869396b05f0389491ce3986201e3ac31eaf3989518239910069394dfa743ad7f20639d644a437e8d6c239f8d21f3ac50b6e390118ed38c011c3392d01613f303cec3de0b0493958290f3a3a82473fc440d83dd3269f39ac5b1b3934432a3f509bb13db2c28e379c3c163ada9a0d3fc2cf8e3d865db739e776cd39ff40e23edfd9543d5abf2e396767a4393055a93e2ea8153d12fc0039de0f8239edd6683ef444f1392d2d73393a01bb3858d6e53d1060543970c5a737b8c5923930a1633a201a9439e882f83842fbbd396eb32b3a04b0a13903150438a443173a4261e23ab08e68399a3499376d21d639ec449f3af8305b39e22bf1373dc23f3a640c813a7d1e043a7791e0386fc49d39d5a0563ab7ed12391cf9a7379ec72b3adc30623ad174f63944a724398993203a0021853a298ce439c1123b39e68c293acd64833a8dafdc3938321539a3c39939bbdf813ad5012a3881d1dd374e3a5a396ed0403f0a74783e5888be3834412f390f292a3fd1885a3e9633c537e6d87339818f113ff9ca393e1733023820fe103a99caf23e6407193e13937339e2c22639cea1c23ec6d5f03d0363ca37d58d053a6da9913e8efdad3d0f5b7339fc3bf1398fb6413e9be0593d1fb3693901f3073a29c6ac3d9fe6eb3c2a723c39124a723857c1bb3a431486389f67f737381807393c0e363a64ffd838f9481238c4f074396cc6c43c1a186438755874372e28b6395347323a4266603945a343380728e93975abfe3aef0dbb38dd8c9637fb5b103afa404f3ac4d6cf391fee9d37bf5d413a6e04763a6a730f3a66692639a6741439caf7e3394ef32838df9d94372bcf0a3aa85ae13a38b3b13904044638854f0f3a265b313ae91ac039daa0b338fbae29384e5e203f5c10be3e4fea1738480ce2376f2e0c3ffda9a33e8d95813729d0fd3807eef23ef6528e3e0cb154383dc12c380925ca3eb57c6b3eb95fb83731d7c139db0da23ecb87393efc21d938284e1a3acba8713e7e5c083ef7898739e61a4038f323223e746baf3d079c9b3795b6b7391fe59f3d0431143d3ca34a38a258ed397bb26d3ac650013adc9e13398025f13955b6a53a6b90b3395b13eb37015ed939a7afa03ca4c798397e6e1138bd10c43925f2233a9f3380391904593728261e3ad81dad3cdee1013a5c0c4438d427e539ddd7b43afea1ab390a51f737e82a253ab77dac3caf8ae439633e5338e295bd39f7d4163ae0497a393c4e72377173cc39b5d9273a0dd39039cb8739381836f139b57d883a2728843994a708388b2b15391cb0fe3e3826fe3e0cda28381b592b39e29edf3e1bbbdd3e00a15938c940433950acc13e04ebbf3ee8beb537ec6ad239180d9c3e1356993e4c6c0639e3baa13954b5803ea6ff7b3ee33b9f38d18ff639caf6363eeea12f3e33b3e438cac55e3939db003ef20ef23df9919b37853477394d226d3dc0174d3d58fa53382d9d9439c198a13a8958203af0f51a38214ef439f2d15d3acd5f0b3a02daac37e6f0003a40fd0a3bb6c9e6390e2d2a3882d827399e1e0b3ac0ba5e382fda7937c595383ade617c3af6ee1f3ac5551b388eb6103a8e644c3a3b4ed239235fa63757eddf39322dd93a547baa389108713775a1c039ebbe143a3e063d39b06d473882d73e397c7bbe3a2a58b23819338137e5e71f39dc2aa639a7bb7538c6ee1138360f97391bb7bd3e799a1f3ffe733a39806f873913b7a83edac20c3f54c64438699d1338d515913e9f3af13e40b9923755450a3a35b1703e0f68c73e984e7a398a2bca39c582403e51a99e3efd82be37509ab038afc60f3ed4846b3e946e9f3754086639f6c5bf3d72a01a3eb9a151385b360138d5fc253d9446873dd6018437d9439238a6a80b3a06d44539f51d1338d40a7e388197a03a9487a7392fd097370cce133a8630bb3a0038233ad26d5d376a4b1a3a1fcc8a3a3b35063abe3a913715a0263abb32643a60c70c3a590907384ac19639866e4c3a396b363971834e371226303aa0466b3a3377163aee1dba371bc9c03924e16a3a654885393ad8eb376698f33979d7a13a687b8339f317b5376f27c439c451063a8f42953943a4fc3718c11e38602c793e0383403f25c10438a0fbc139f78f683e8254273f345710390c22dc39fd143e3e2dfa103f76bba83858e6ed39b19e1d3e8737f13e837c143961633339ce96003e3b5fbf3e8e4eac3767f0063a4100bd3dfc568e3e63244e3973536c39d1e97a3d2a453d3e92e8fb37fc1a6d39b9fced3cf30fb43db5fccc37f9f8a23927cf0e3a1334e339bba8063862f3a1397e3c303a6ab1cd3974c0dc378a467d39f0e88b3a41134339bddaa23651eff6392b12253ab3fe90396af7b5365827473aa882f13a088eb339cea66a370ef0f4398631283abeeac839d1ae5c37a1712c3ae508593a35a2133abb5a8537d2b99e39e996513aebff95397438d1368037363a1bb0683a23bf173a468cb937b45d003a10d9283adbd0e53930f7ef379b9c42394651ed3d6e2e613ff79409381f7bd838fe6edb3dd101473fa29e56376b09b2396d8cca3d6c622b3f3d09b0376c8b8939ae7f9a3d02ee0c3ff3a28c37b15fae396187803df6e2e03e6ecf8a3865120d3aa75d343d3571a73e87355e39b3b0303954e8e93c30565d3e743d213723f1173a0f7d783a48d2dc3d76692539fc91d139179b2f3adf88223aff42fe3800000000000000000000000000000000e2b59639cd13da3975c1b039f23fb8376924cd39432b023ab9b5bb39d582ec3760d18439ad58063acf8c9239827a3a387a90cd39900d423aff26d63941b2ee38ed539039fe8eff3990ffc03955a085384ee2d13988b4513aadbe003a8c474e39e208af39e621373ab378033af30e0c380000000000000000000000000000000000000000000000000000803f00000000172f553980f7dd3987c5603f0dadcf38a333a739bfd00a3a4c6c403f76c32a398eb038395b08093a84d81f3f13cec638ac619739400b593abe39fe3e7787873908ba6939a6570a3ad3aebd3e295f183990d6a63924c4533a320c783ec8369139c08e2139a9d0333ae805ef3d650f1138000000000000000000000000000000000000000000000000000000000000000029ed5736d0384636346f4b369fba5136c7e302378f742736ba193136ca6bde36d566aa379d68643630e8e936d9429c3748cd9a372e6bc436a8d11237be7b9a37739dae379c6f3a3727f33d37e5ec833718ca06385e681538befe063874221e38e37be33710720c38131ccf3711a5cd3700000000000000000000000000000000000000000000803f000000000000000074d84e3601f67f3fb391b23723645b36f3fb6137319b643fbc218b37e3f04436fd35c8379366323ff673fa37ca2491378d909e37de2c013f94330338b3d18937d8b9cf37d8e9a03e92813d3823b86f37e831dd37211af53dfbe288385bf21538d55d383787fd803a35f11e389eedc8370000000000000000000000000000000016633636b2798c36c870f8369843913633afaf363b1db636e82abc364684c536bdd2163517731535e4f71935ca664e352e5aca361f9bc4350ac30a379f29c6370f10e736e867ee360541d537ca9a1138f8f7683520c97e35216db835c6c69f3667a80b3630800e3776700c377bba2737bb780d375e03f7379b40c6377d24cc37ef690037494d833714449037250792371f710e36c2be7f3fffee813a1bb85336143c9b36d4e07f3fcb5ac0398e45c13680b1123583c86a3f3459e138bbb22435ff6eac35b49d373f1b857a38b9638e3788d3673656f8053f430dad38f5eb09389b782d35dbbeaa3ee863ca38c64649363cb98835d8eb023e6c7be538f5a6e836b2c1b536d681d23a91975a384d978b3761a2e73641560638cc15db37465335370a3ab836e6d48937cf238a37adb5c536ccf5b734c11cb5348fdcb6343162b434a2f50636a0a9143652f47f36416e9c3684e92836fcc32836af549e36b8f40f37528dc834cc32c8349f4ec734e389c7345c78883652f38f369f0c9d36c6289b36ac37ad36789da8377e35883744193737015d6536b9c98c37e4ccfd3613bc75369a1e2737c2327837314462374d0b43376c22aa369061603f5a64fc3ddf73c4369b23b7346a1e643fb01fdf3d718db4347363dc356e414a3f5426de3d98f91e36e83b1b36ce46253f7e5c843db07638369edac734829cef3e9f4c183dd6c2c8341c047936ceb19a3e6a78133aca309936200cc835ba9a063e8d9b3f3a445adc3646374c36d11b1f39d14d49382252773616e97536a8a2bf37fc0f98374e1f0f37e59f973636500738b37d4437a7e667366a75f8358e13a036796a2d3684660e360b2b203675772436c5872636b4ee2236c72635361450393610b02d36df832b368587b6349442b93417a5b934186fba3447fb473747a3b437fcda9b37e2514737b9fc54373ab4cf37a14b8a371a594d372ef4163504aea6376e4d6035bcf261352f62f036b3ce0a374cc0f8360d71f436bbcb3a3606fd303fd6fd9d3ec1e34336e3eccd350972353f7123953ee935023623e6123654f5273f1241823ed8421b364a8f2c36f1e8053f0d5e3b3e86c52536e5b4b5342a02c53ea281f73dc57fba346146b3366a317e3e9df3603df01b0937e1ee12368980dd3df3cc243a627e0837f379f434ced6c3388e275138d65d5035b214e7361481d03760862c37d2a8f03690051f3722284838081bb337e5b0a736670bd5375a2f47387f02933783819636a5431c387a702f3842748737732e983610c7293867e93238d8a2ad37da0d413761ed1b383c0d3138b7ded63703ae703795d5393822d26038706624389a0b003814393d3801c87a387676453801021238165a2a38260a6138ef271338ba69c637249dd637108cfa37fd3a3a37275df336b24a9b36f7cb013f9257fc3e6d7e913640cb9436ff67063fe415f33e64338f36c4297737c6bff83efbedd13e20c95636fd6392375686ca3ef2589b3e3f6da235d711ac3703c8903e6a625e3e2389a236de01bb37f86a423e1670e33d6db19537ebbdbd37dfeab53dec0b7b3caf7ec43732748f37f8a5b83814228b38578ee43680d1fd36d8e67238217a0438a0e2ab365c1eed3633fbac379f01e83639a3d7362d652f357a6144374a6ef634f353ef34c6c760378cf9533736a05735849553359a04a737e17b833736419d3653b56836a53eb8345598b8341258b634457eb434d0123936eb6c423659c73c367cbd3036731b21377d77273817173236fdc2223686ffa3364a81c836e30721366145fd35396a3d37c0b741376d44a336ac8c48360efce9367faea43efaa32d3f74bad23655510335b067af3e0844283f7224f0342d9ec0369f5ba73ea67c103f2400583555d50a374b04883e45addc3e981d63360697b8344ba84a3ec8e2973ea990b534512e3436374e033ec4d5293ef9af2a36a4dc2d36e02c683d757a063d2cb21e36379b3936fb332f38f7267037558df0355bc80c37011b8c389d8522371fc04136dc9e7637cf22ac3727d17836b17f65363b4eb636dde61937fea4343688823036a6fa80377da71237ce91a835be9494354376cb3658bb91361b4e7036fa836c3624ec0c36f4c66735d3eec63477e8c634b0a1b537d957b03764162f36b2f62336d05d7f37daa29a37817c8e3660480d367c81fa366e090737ec31b8344fcfb6344bfa4837ac9aec36a4c8c0369752b936b9e112371fac0c3e1ccd5c3f6483513658fd703636a0223e9d53573f4d4e1c361677a1363b80233eba49353fa96982359f4b983623da113e52150e3fc0075f36e9b0c8348c92d23d42c4c83e1286c63445ee3437cb53843dad6c663e330c1f3693381937aec3e93cfd84953d3dd0fd359ebcb534953cc738296fee377da0b7348fe0083775b609384a2dbd360fc8b536de4bb937596cdd373220ec36fb95cc36fb4ff637d4169b3764baa2361e69a23620365037ade61c36800558354d535d350aad1337b2cc9735fd152835dfd02a3534d33738a5d70c3803565436c32d5c367c8d033820a1f237d761bd353080b03510de9b37d51ded37e7a51935f97e1e350e7e9737b6baa737f17bb8360400b5366396a136a32b5736821b3f36c3683436abb85f3702d4263c6b637d3f703bc33640d9a3372a7b0c3d8ac8763f76329a36f8c4223770a99f3c27475a3f4be856357ca3d53617eb0c3b0b162a3f83e42435319c37389a40ea3aecfef23e5ee750365768e3374616533aae5b903ebe7a8135a6d83835bb273a394c50a93d1b6014359b7e6c373de3a538d2af7f382d0ab03611839a364b420a388f0245363d592a3600000000000000000000000000000000605ae637eff7833719b13536bdb13236a56228385d9ab237506131360ef438363683f037ec208037c40c70367e5e7336243ec3373009a437c0ef8a36f7c48d36d3cedf376f0cea379f985537976548377a4541377ef5c0376e58a837cd4b49372b1f56368cbc8537c3a23c37dc8464360000000000000000000000000000000000000000000000000000803f000000000816d83793c64b38adb47f3f4333273655112738e694a738114f613f8c1a3436412ed5375e068a38547b2f3f7e2a8936ea03b93772273c382793fd3ed597a536041ccf3794364a38ea099b3ead5a8d37c23bff36f76135385813db3ddac190379a1559365a471d38b544a03899e25a36000000000000000000000000000000000000000000000000000000000000000013fc8937bafde636b9ef6935183c8035a7d46c3710064b369b721f36c7ec23369f8e133649bd003656d1e4355b4aec35d8e63d373c70123697cacd35af1bd935a8485b37804b7537ad7b2f372c7237375a256e37be67103885efc337ffe4d937e50ed235685a01387d2d9e37c47fb83700000000000000000000000000000000000000000000803f0000000000000000b3c22637b3f37f3f6689da362db27e3542977137c1315c3f86016236da36253652dd063639cb2f3f7488f835e5c1ec35eb800237784b033f6c305737aa54d935610b14374791ac3ee0fa8237a870283773cf683634e0293e86c61238d438bf3737149635b367673c2431e03716579337000000000000000000000000000000004a6f8c3482117b38f5a5103871632936000000008518493703a311372d6417358a3b4f36e5065736412a6636f02c6b36c005963603b1cd36441ab3367cb3b2364b27f733fbb9c8365e2a003671417e352db0aa365cfc0437f1b4bc366738c4369ac0e935a5420f3880b8b737dd15a137fbbc3135f82adf37e31b04363db31236954f9f36adb625383e6086378024703744498334a97f793ff8ffcf3c2c73523600000000f8ad7f3fdfe5323a94d61b3504773736e4bf683f868b08386f73683668026d364b013a3ff08d51388c64ab364de0003452690a3f2eca1e389ce33735f8509a36fb6fb83e7d564738038cc23615acc6353307393eb4fdd738d2b870374968cc3318169a3c2926e137486c0d36b1389634c6afa43847d4ec370a5b2f37470cd235e8cfad38f7debe37a30e1836f70740367a8f2138c445653628695736f7c152363c626d36aed96636ba075c360828b136ee44183730c2c336ea2ec336f8147e36f1bf2637bc4e883639338736bf128136a73ea73755a4c73679c498365701313677612838390a6a36c1806a3656cfa03632741e3817f2b8361d0db936e61b6d37352bae386544053860e4433620ee9835bdf4523f051c343e5f2e1136ab2418360beb5a3f157f133ebd44573635f33636fbf3443fbb9fee3d62945836cd75a4361b91263fd5a17d3dfdd1bf36b4e664363951f53e9ca3373de9128836da765d36e708aa3e774cb538ef749736e5ef1036e9ef363e66685e38ec3a6636a18d8736ae06af3c192ffa37102eb7366ea81c3644a6d839a99b8638ecb94436fa298835f65fa038a5c962371536933574c36536083af836c5606f3646145036f50694362551dc372fe087363028793698fd1d36ac033336bcb014366e7a0236b69c663612e1703711316f369ec561365b27c636c923923771d7ca364d69c63617bc4a36871a763652fc5f36b8fa5a3690ef62369fd11438008b6e368cf85d3625d2c237c9f99f389314663621511836b2962c35db452b3fe36ba93eb4de9d356ecc4236e35f343fe390963ef2ec5236219189361f0b2a3fd4b6663eba747b36ff87063642ce0a3f6c89223eec9d05364e4c4c36104dd33e4294ca3df0156436cbf4b536db26923e8ee31e3d126ac736f5292b36e951203edd9c8d37b2e45736c04a41363f64af3c6c91b53762645f36ee631836b68d54399cea2238a2171e3691634236b59bd23803a9ec36a9581334fa16b435e4654f38bd45a43590fe353529b0e035a3d6693819f79135a6348a35245791362a8a8637e92d683613673f3626c73c35edb9083866b73035688ff734f7cf82360a04933724f96d36f53f5d368215bb350ee08d385a9fec35a048b7356d78ba35ae99ce378a65b33596ca8d35ae8f8237ecd44e38047f0834e5370434bdf309340880023ff6d5fa3e150d1634f9f390352e020a3fa802e43ee37f5b35816cc8355667013f0a58b73ea1688d35a6f06236c516da3e6b5b853e122148362eac1d356dcc9e3e4f78423e9d5b0b359b1465367f516b3ee18fab3df3b960361c128f35a35d083eab5f5c3bf06cc23577ac9e3511b47e3cd5ae303628dd993519003e366658a33930440737224d09348ae20a37a207f538e803a0360629f3359bf16a36f9f31c38d0a2473668950f36aab65e361b706a365a6a2b36f02af83591a9c736fecb75373e0ab83696a5a436f4ec743614858a379f5e553649e23436f7fa2036032238366f0e1436e9c3f23510128e36b04f1038bcf2933654a889369f787a36e8e78736eed95c36dd8c3a3691ada237f978dc37dee582350f4bef3460d81d365e7ab13e6234273fdf66fa3550d459367997c23eb239193f09b91b36ad395236dfb3b83e9233f73efa0e0436c555c636093d9f3e07c6ba3ed3baa736bca1693665fa723e19a8803e7b504036a1dc0f365a0f2c3e6663063e052fff35d47c8836fa0ac83d13b1503cc0a58c3685c26a36be01c93ade567d3683604536ffdc8336fcc1ca38238f4b3632e426354b8c2e386563eb38b06f1c36456ade35f404b23645e0153821c08a36bd8e4536fca941371872103865ab0b3627e0b8354b6b32372cc89337c915603663e0283608ca8836ab35af379a5c6b36cc4f4a369cf9c336f5a31f38402dab3643bc993624d56936de1fe836f3b64d368f9b2f360d3aed36b5c2bb37e0cc3636a88f113619319e378f99f436be3cc735865b8f3550f3ad36e781423e3d3b4f3f79f5f535cd5fb136eb25653e2e41413ff13951368d155d36ae92573e04601c3f21ddc6356e589636db0c453e3377f33e22d338367e838636e9480d3ed92dad3e5b9c51361285c136c356d43d5d403c3ef18b9e361f136436fb1c6a3d64686a3dc3d4343678d0603632d0583a3da35836bc581836f9639136a89ac838581df23561c696356ce49437df355038f47b6d34f789f0335f181736cb34893639f9bb3334d18233127de737def9dc3723d9c5356916bf358743da36bcf43637b8d29436fa1f73365e17bd3613013437d7f0f733f16ede3301f01937374d73379d4277364ecf2e36046d69366e1d843737dc4a3617b82436fc334b378f027737000000000000000051599037c1233d36a3268a34fcb65d348eed35372ca5283dd46c753fee0d00347218fb35ab139e3d026c673f6bf8a3334ed0a5373314773dfc3f423fc05ac33548afbf360154443ddc82173fa4018536fc6a1c3677d3f03cf522dc3e39b2f4337f4ac0369979883c7b74833ebb8744363af06a36f762d13ad6a8b63d827b33361c82fa3697750c3a5b622c3700000000807c3d372a379038e54b9d3431117934000000000000000000000000000000000026b2375715963712117f3514bdbc34cdb2fe378324fa37eea88c35fa1e4635ad12733773bfaf373ba2a036a4c37c3652537136d5720c3873466435719d2535e0bcf23528bdf636d1910736f3d9fa35e8883b365250b4376d4c823710a45b36eea75336ead3eb37581eb83730254b350000000000000000000000000000000000000000000000000000803f000000006f6e99370ec927389a517c3fdf590e359bf2d9373a305238a67a553f30db4a3592f54d375fd49638b9ad293fea129036aec8dd3518b99b38405ef93ebfaf5035e6e0f335e3091a38495ca03e8f1e003638b231365fbbfd3725380f3e01ac853669e19f35534000385a94f83838b26d3600000000000000000000000000000000000000000000000000000000000000007ff44e38c23f2838f8e31036cc9fd6353d8087374993d3369a262936c0621a360dbe543805b95c38ede92436dea7ec3567f3bf37463358380408c03675093236f8be4037b12c043849454a372fa79336995ed5378670b038666d0e381cc1b2376fc789361d31c439dc2927373176273700000000000000000000000000000000000000000000803f0000000000000000f5a126385f62733f068ecf36e5a4f435f7d3133768334d3f84a9333699472336bdd10f388faa273f8787bc3773590736db891537b0c2023fb0ade537f4d33b364d0042368a13ba3e4e01b437bb1bd63658186d36caf85d3ef7c15738ac3bc137192e9035fb1b923d619c5138eea0113700000000000000000000000000000000e4ba20369a06e93948b51e38d017b836ae003e371063613a1b605c3721cddd362724a2379c3328399212dd37ca6aad369f478a3650498f3887452837f2a73536f1cb05367840c33998a8003888ad8736c3294a3665d1c6388537ea3739d7da36679dbd35fbc0293ac3a8263884717d37ad97cf353839383c5ea76d37e8b72f3727d5903748ab813a10415f3868da12383c60ee35c8306e3febb88c3da1955e376276b7367a206b3f5e804e3dd351ec367fa78c36e959483f4be4153daa20af3654b10836a183243f3386e83ca89d623678cd013641b3fd3e430c8a3c5cd4213766cf093676d7b63eb568133c661ffb361d3fb935fa165c3ecb7ef33ba522a137c0b18235852d9e3df102f63b32fc2037950aed35b69c913a66ff863962971038a089303633807e3a8ae11e38d57a7236b1ea15374420b43a45891337836960354db3473745a2163a85685137610d8f367ef05d375c99f439593713377fed413659cc76378ca62a39f2efc137af84b336ae12213752e3513c69ed8237839607374c6f95372bc28c3a387f3738f7be0d375db92637438a813a8142c737bf35643799a6a2375ecbda39d673de37b342483792beee35cb1d493f1ecd593eb6509036f3096435283d493f24ea3a3ecd3d65351208d336787c273fc5771a3e03fde6362eac1a36d1590e3f640ee93d47bf6336981f91364823db3e567ead3d787501374819b93631439f3e5cf5373d4ab125379911f635a0c84a3eb723b53c78292a37304aab36fa8ba83db99f883874af7437d343dd36aa7bd43a64515a386b8060370c599b37a6af313c15f50d385443fe363512d3357d9c143a6e97c835cbf34535dddaf437471caf3958180336b3c2fc35ceef4a37dab2a13ac91a4c37144e2737be27ab355675de38dcd7c535d95c8435f7fe2836b7da003caf024736953c2836c9657e3655ff523a17efff36b6196b36c2959d37209ce2398c5782379bf98f36276c0336ee5ed338120d0b36164908366217f836034e233f1a12ae3e93c00237b3ddac3519c6253fe4889a3ea8d8893565a9003679270f3f39787b3eac0600364b4b363718d4ed3ee29a463e69f53337ab4c8635c2dfb93ecf07143e8fbc9f3518041436088e873e4378b43d3ab83736c49a073692002e3e62a32a3d2cb77d36f41956369c5aa03db1dd7f381c2ef936971afe35bcc4d73ad56b3d3761920a362e7dd8378cb28a3a6992f0370af2a735a9248a37cede163a6a271e36e5a89835c45ce637efc6f53969b9383615e5fb357c0bf637df3fba38cf53ae35b6bfa1356346b1374c73943aef9214367e0e9035ec8ecf37fdefb238e52ac336530aa43593a688375a24063ac6932137c5a31b362e933a37f57a8f3937f6df3636cdac35f40c2938b2446b3983155137ac2bb4353f19f435bf30023fd444fa3e1af5cd3580bf33368620023f2c7ad93ea9629e35c89e3736b45cdf3e8d8db53e32dd13364530ad359799bc3e11968f3eade6a635509b02369730903ea87f5e3e9a3d94350fb9ac3571615c3e5e1e0b3e50c8aa35fb182b36012d0c3e2ef6913d054f2a36ff12d035c47a873dab6431381ae9f735a38377373701a53a40b8313814add4351f310936b229013ac796ff357813ee356b521738f364a939a81ce036276c393514f2cf37567fd6395aed24360955b635685b74366c782939af2615362f6b0b361d8be335387cc3388e348d35797cb23474f962370540e63814473e37480b113775aadc37acf1003930d30736d030f93554d2d535dbe495380a28c635b9e77f35fef21e38b88c45383becfe36b79fe836b084093630eebb3e907d213f79f3f3353d004a3717c3bd3e3cdc0c3f324742352fdf9136a3bfa63ec759ec3e3cd5c23528293f36719e8a3ed5a8bc3e966f10367a6ebd35a14e5c3ef6e68d3e452b24358cb7453714ee223ebf7d393eed9821371c430136caaacf3da655bf3d2896ff350278bc3535f24c3d000ca337659a95352703d9379177373c3336f337e7dff03658331d3887abd83857d32f371cef5936880b19385ea3ab39ee31c336e78c83345f9e6d38ccc0c639d27f2636035ce335d954923794507d396b59c63684b62e36df792d38d1b48a389ccab7362c204834505d0238bd97943832273c363387c1357da37037f0be89385d180e3780abfc3595b0883716a3983919fd983680fe5e357b6336383b475a3847b2f1351a60ea353674a33722df673e1176453fdab887364cb18437df026e3eaa122f3f664cf535070ef6371e02563ebfbf113ff017e935570567375819353eb889e83eaf203736428a873703170d3e95cfb23e27744e35e201f5364c31d03dc07f693edaadc435178540377bc2803d6985063e8f083f36e838e636cc83e93c8112a43ad28d6135ea70da37d833363a921b9937b385ed3593916a383765f5398f13ef35bb88dc358ff36d37cd9e6238f3f28435c9e657357dcc5138f4ca82382d76b935513faa3538535f387dc4af3882670936f587fe35f4362e38438e5938973a0236b1b9f03589766a37b8495138ced8113663baaa3515e83a38ccf6ba38558392363b5d6036743b9137d8a43a3925f9e336cd4e2a36b0881538a5fcef37327606366c9c5c3571ba33387f04aa3d0bfd693fdcc6e33592961e378cbab23d2013513f07407035503c1638cd09b43dc95f303f18b7b23531c4d237198ca23d0eea0d3f8b6304360f69f437f35e7c3dcde3d93e1793fa3565331e376f80283de954933e9a8ee0359153c0375016bb3cd173213e286f7e3623454737e7e8803c12c16b3c15788236b64f04389d3a9f39af982e363274b1350000000000000000000000000000000011652638b724ad380648903583438235583f4c38ca3f7238cdf783364aefd63553609d375e7315384b303f3650cc1336bb3ab437458c84382aa8a9366022d535a3cce436a1b798382edadb37ad390536e6083336826b2d38a133153734e12f360a5a4e363be55638d56a48388eb189360000000000000000000000000000000000000000000000000000803f00000000ae771f373b1d843a06566d3fbc06893595551a38fec5433a7b3b483f7744e93508f660373060233900e4223f3f232b368aa8023772bf4a395c46fa3e9d98e63547912f3603199a385582b03eaa2d1a36d8ff2d36085ebc37ba244b3e2bc237360a6f1636323a2738cec7483d0a500c370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004db1e93136de093304f55033b9ee813382687336fa0081368a4c7336b6d55f36200503360653ab355c8de035dba00436cc495135000000000000000000000000a1c98c3678c0a236d725933627118436f0849c3570eb813530ac8c35aed5cc3500000000000000000000000000000000000000000000803f0000000000000000000000004e27803f0000000000000000e3b71a335bca633f3bb13e33236d8233e65384364906333f58b16e360c975336cd224036ec4a013fca63f73538e3cf35936f073522129e3ec649d53500000000c8f197366536f93d1fc228377f6e7336b824e635a13f273cdd449035430875350000000000000000000000000000000057093f3686e46137d9968736199089366d26ea34fe711135bcc25535a5463d352f05fc354638f5353efa17367c9c123686e61235a7181635dbf42335085e293568e588333df73b33aaf55c3359846c3369544d3508fa5035787f5f350e354b359960eb34091dc3342dafc034d879d6340000000032a9003500000000000000009867b035b699ca35998c9d351b1fc635593ce9354c26803f690ae73926c657368b270a351407803f0f37e138189c59353c3bfd35204a693f31421e36947b1836e0983235500c3c3f5f7b123540b13135aacfb7339a000c3f16d13238261e7733db254d35813fb53e0e89ea36d7e86235586fe23452b3223edb56b634371cd334000000008243263db9900c3500000000092899359012073687ecd7351118ab35385fb1361d549737195ae33616a5d936063e423425c53435a2ce5e357b6153356b364736a79c4436c8d30137119a5636b6acaa3451e1c934a001c234658ec9349761dd354080da35d933083623d00336e2fc5136c8d032368b673236618b533623097a359fbf8b35e0f3ad35c62caa355e85f1359b1bbe378dae1c364f710536a402333832cc52381f67a637de8fd537feda9236af1f613f7b34fc3dbbd5cb36000000006af4613f2c07c63d7a480a35f96748369fc05d3fbc751c3dfd5b5236cb3eea34f6c5323f7af358386b62e934c1cab635fc7e043fc2d29238ce45073609fd5536b62dad3e97ecf737cfd92436d337b03599000f3ebdf5d2376e33af353e1fc635c6efa23cfa361438d7c31a368ada84363e47d13801905538c02093369a424e3669b48738afa8eb37618c773620011f36e4a3d73789763636683a253622005636bd7a303701f35836f6a96836a10c42361334653653f545366ab44436402c893640bc5237d4a39f363865d336344f213672028d3644222d366fec3736177c1d37441d83372dd8da36f091da362130d93660d37a372394903595c9b9354c9dc1378656fb3764c11d379bb02e37d0102336e756313fd62d9e3eabfe61365123d7353143363f9ea58b3e39621436c7e64c36e5ce313f46d1433e12a0463600342836ca49173f503aec3d40ae2336ca857e36d030ea3e1b32473d1cb67f36cba91d3672189e3e74a738383a8ef635b00edf36df8b113e7b31483859a0c23681ef6f350490833c8c9bc7374980d034a0a9c3360a87ac3885ffc9371359bb36d22a58360529ec3703ea61367330553600000000366b1f3749cd8f330000000008e21f353ab518351fc3193574e30635a28d1735136413356d051a355d431835b0bbc636a99bbc372f491b3600000000ef651e35a0c210359b1d1f353e25033562381e35ec63183532931735a3fd1d3517354e342d8e25356cc3b2331a1ca933d86f6e365c3d7836baad83364a997736d9eb2936a321013f0be4fe3e8f41183685cd7d3392a5073f7848e73e40f03f33494f2335ebd5043f9b78b73e7563203592752c35eb41ed3e99ed753e5e841f35000000009fdaaf3eca30213e00000000241b23354981863eceea163d7f09163531021f35abe1003efe0de438b1bb143556642634755ba23cd1cf3f360731f93135ec6836364ca139b9948336326378369352ed3680ad9138f2bbe636419ebd3619e503353cec07389c7dd4324c42663400b6d536cc81bc3700b7b3362cadbf3685261236fb392a3736ad063618641b36efa75c37002dce37cc117236314e7736c1f21137d55bae377d6a353671e95a36a589923738aaf6373ea3cd36e67d773611d9af37023b083866385436727430365a9f1f387f19ee3722c35f36a16781364808993642f7a03eaf01303fd2069b3600000000b78ab43ee440223f00000000cdfcd0362771b03eeee4033fadb5ae36917b1136b6e5a23e4cffbf3ed56ef0351ffb6c36dcaf853ef1d06f3e1bbe5c3602427236c8094e3e8072c13da598263697cb83361f3cee3dfffc8138816d8136c0b93c36f34c8a3cf2da07389ed43d36099e843692d401396ed0ae362aea6136df900f38697fda382c1a6a36dbd465365d5315362c80253843114f35928352355b0198355f510a37d0944e3574af4335251b3236bad84936833e0136c5ee06369be62636bfdc1d3778b3dc3513a1de350a842e35a9c34e378e3eee347898bd34d90fe13727e151385bc39e3732403b36786d84368cd9bc36b9202535b3b91435378ce33614d8dc36cbd1c23624c5dd366c1c79368457063ea3da5e3f209031368d9be23506302f3e19864f3fbce28d3393e68d35f8a9193e7838363f24db46351e301e36dd571c3ef1dd023f633ca6357bc30b3679a00b3e493bb23e9d63ba354363de3424af063ee5af2f3edb2dbb3420f465365f07c53dce86823a31fe1b3629da923530dbb63c6696aa379395cc333741e236e8651238ccf5ad3600f3bf365a9ba935fd62f135b0318b35842256350000000026df25350000000000000000f1f5ea34963ce134d53eac34790c8f346c0856354e366d35ad4149356b6f4b351b7b9435f3e456377e9e943303cda133abdc1f35dd861935e110223538e0fd34f1972c36124c2636c99d1036b3eb0c36ccc4ac37e1fd3138d8701e35f5630e35d82d8f3616b270366e92693616146e36fcfe5a35c473653c15e47c3f9ab53435000000006e2d213d2cc86b3f00000000b426013533aabf3c32f1513fcd69aa3429eb5a359ac3583c2e81223f1fc255352a5b7e331e8d833af1fae73e454f8033a7612c35373a013cae67853e05d908350d611936b949423c03aaa03daea70e362ce045377c228739ec6cc33803ec1b3544c48536ff253138987d5536ddd0663600000000000000000000000000000000ebf985356a8f5c356b35592e00000000ebd594363d0892367c2e6d36f93e8f3600000000000000000000000000000000e77ff93593470436935ae9351a6f8735dd3c8736887686362d605636a52c81361cfa39336ee3193300000000ef4358320000000072947c3600000000000000000000000000000000000000000000000000000000000000000000803f0000000000db03357ac70036979f7d3f00000000ef639a36162f1c38481a613f6f00823600000000e431ad375341313f000000005139aa35691324381724fe3e13f2be351e6d8736a8c68a36fe6b9a3ea1f86b36000000003c92ee36cf39e43daf1cae3200000000bb75ef372b62963800000000000000000000000000000000000000000000000000000000000000000000000091a4aa36f8004c3676ea1f36eabf3d36c3e49e3621cf93369d4791361352af361b2ed233a52a853400000000000000000a24ab37ad14d236fd55c536ff2dd336e6c8ae36c036be36b9ecb636f87dd536000000006c75d0330000000000000000d0b71a37275c793705bdc736ef81d73600000000000000000000000000000000000000000000803f00000000000000007dd04e362cfa7f3fba73263699ba28368a0aa136f9d35d3ff3f896366cc6a7367cd24a3414f12f3f36495233000000008a90cd368b48023f1d93c03626bcca3605dfae365e41a83eee24ba3669a9d336065515332cfc173e0000000000000000d67bb4368f5c1b3d3dd9c1366985ca3600000000000000000000000000000000c36c8034eab1de372a947534967bac347c7ef8351c30503702dae935d331dd352c63b835830ea9353b038935e8457a3500000000000000000000000000000000082e1d36f27c1936f708093661140836196fc435670ff03565f88735048339350000000079619736000000000000000063783f35747370360cc92335ed361e3537bb5e36d99c4d376da7463623512c36885976340916773f5c01073d7c298734e2e6e83554867b3fcd730b385c3fe03520a6b83545a7793ff251a23536d77a350000000062e7483f000000000000000001a71c36e797173f29611b36a3420536828eac35e91ccc3eecb1a83561cb8f3500000000a1db4d3e0000000000000000987239357a47a73d286046352a2715354a9e40362d00833cfca45d367b7d31367b2d11357e5a253c280f9d356c9b4a353578dd35331a4f38d67749364937093600000000000000000000000000000000550a78362ecad4363ad48c364c9d8a36992d4b36ba437136a81024361c0e1136c922d03503c4b736f4721b354b1ee9344f2ea3352f799a3737c59e351aa6a0350b87633647a2a336867a0f3636ef10368e21cd3676a57b38880f1136e0511536a705f53434d94e3f6acb183e133c7f3546c161355915553f54d5c03dcd9224360000000081d55c3faa56813b00000000505d5c365bcc423fadc08238162d8836551e1236ac88143f21dd1038bdc121362eebb535d582d23e46c8d337170c55350b815e35e6c1683e4ba1a93580f3993540dce6351ef29f3dfc3332361921063682c317365c17d33c214d4436df7212360deb6a366170433b417691361e6e4a36c9229a36a0281339ad23bd36fe037b364c3f8336a9772938414987368e3d3636e0268535b7a5f935f051e935f125b835bff1ad361040cd36f060b8360bbda2360b56f436fccff4363e6bde3698a3cf3600000000b01b263500000000000000003ea27c36971d0c38c8fb54369c836136ef29c83558012b364dd7e33595e6c43504042f367a49283faff6a03ed233463695724c3634272e3f79397e3e81f67e3642236c36bcef303fa9d9013ea2895936ad77843593c02d3fad2bd43c0242ad3520b79d36bc500b3f8f9322378fcfa636a508f036a52fc63eb598e836e02eda3600000000fd7d6a3ef0f1433400000000da0340363765a83d85646b36f5953b367b2282357c6be53c647703363d8cb935a9424835af847f3b6eb3a8350000000087b8c2354f59a6399abb053690605235d5d13335c16a0d3864668234fd22bf321606ca340a09fe367c899b3400000000b9d90a36ef12cd37e1e605366e84fa35835d1235022b443604edb1330000000097e52935ac8c8a37e2804734035feb32e8c63436dcce3b38c3208a352eeb8835a8b57c37f569283817273335eb3d063400000000d426fb3e1be7f43e79956833888260351366053fec67ca3ed4665935cd919033fd76053fcd1c8c3e0000000000000000c7c8053f10aa063e00000000af5101365f64da3ece0e973dbc6af935495a2b34708fb13e8f85883500000000aefec03329a1523e0e182e352f02a5325a26f9356a9eab3d88d9f2352cc57435290697352525e83c1be0a23533523134c599a335b5898a3bd5caba3523af0935a53c4f36dbfc893a4a9d503650639035fb675d34888daf370000000000000000b6b5e63687390a39f538f736664cdf368892b136b80cdd382f40b63617bf8836886bf435cfbe0f38d6239b3547cf253580df7d3623bea537e9bb8136e5fc603699a5de36316745379c628a36285471369de1bd36d3c6eb36c0f14b36785e4e36ab6578357912a83e022c243f398014351b5b20366805ba3e28020e3f72c9ad3500000000be6bb83ee3e0d23e000000000e7ed736e1deb43ea992853ef90adf367a81a736d329ae3e0014f03d40559836c5bff73596a2973e429fd838048b8e35fb2c6b3646a03b3e11608a36d83a6536b5aab536e2af943dbd12b836072961361c909c36ef90d83c9d6e7836afbc403692dc32366b8ea13cfc3217360e33913552ca31364facd439ddecde350000000002f1c635b6ece3389ec76435000000007d12183521063839b707a835b7a44435e4c1353656fa57383bf82936ac1da9353fdc8e36b72bf7385d6e8036f9ea313600000000000000000000000000000000b00054360054713661d8de35f5d2c33593edaa3669229a3522a218358ccecd34afe3023607c81e3e64e74c3f7dca6d3505690036fe47533e5862373f00000000345e98357c1f433e7e54153f091e4834ae1d2d35e54f453ea369cb3eee2421354e381e3692d7303efdf07d3e2e56b4351a888a364eb2363e6e2a7c3dce434e3600000000efc7093e0000000000000000f74c4236c2b3983dcc9c2436cd8a8435313b7b3539730b3d86071735da46ec34c5175036445d773a41323736fe34833565342d356bb13d38ecd00f35f944f134000000008673fb370000000000000000e8f3da354c54cb3713c74335000000006df80e36d8bbd637ee260f365965ed350000000009190e3800000000000000004cdcb635037e173842e9b335bcda7135c2f8fb35d0d1993760d3fd357f39e535073a6834f1667934cc5e6f3405b384344c6730363177213d00ce713ff55ec4358fc80d35e772863dd75e5a3f149100350000000094b08a3d0e3b3b3f00000000acb2ad356cc2403dc0020e3f000000008d5c0336cf1cb83c61abc53e673df6350000000004f4b43a50485b3e0000000080cf9d35ba35793bf313ae3cf14589357b5ded354bfb903c96eb0a365fd9de3575688f347d0d323b79b33c34882a7734000000000000000000000000000000006921c936ea2e183840f4ab3694f6423600000000000000003408dc3300000000cee9cf36b97ac338dc009736fedf7a36b226d036ef171a38ae96c93698939a36a0378633d26f273718ac81349d9ba033c6beac3660d4b3364edba3368aae70366b4b4c369ecb1d3842d87836938d30360000000000000000000000000000000000000000000000000000803f00000000f5cfc6360a8e1f386b65763f81e16b360000000000000000ec355a3fcc633a33c419c636a0e50a39180e2c3fb1f77f3654c8cf36b0672e3813c2fb3e8acaae36000000002e90d9365a57a03e66bc4c342413a736f028ae3620b8093e10c48736e3004036a89ef137e9e1613acdfc43360000000000000000000000000000000000000000000000000000000000000000259e0e3844ba8637d45d3c34bcce2b34ce69f036839d7a341d275d342db74f34f385b2371631c0357d80a834fcd1a43454dba2377d413a37cc7e5a35ed4a2b352398c237961c05384ffb52352c0eff34771bb337ea01a438e9a16236098f65367d6c7735666b13381237aa3559a4b03500000000000000000000000000000000000000000000803f0000000000000000be70b93789157c3f4c784334e6dd3134971935367487523f3156673491635634a59bbc36da522c3f340fda340919a7347c5b9c368d5d053fcbbc8535d1904435ab476b359d15bb3e24a48c3558e22b35da4b4a36a5cc533e38e6b5377db964362b9b0035b0057d3d238dc9356aadae35000000000000000000000000000000003b0587348f74963ccc2c203598866035fdca79330c673339c15de0332cce0634d12d2035d2bd29377bee0a3394930e33cbc09a3408433e377b79a9341e48af3433919534fb6f013724a0a834f2b2b03482e12d32598b5337c8e03d32a94f4432dbbb57351501043c70b85e35adb6793400000000aabcf23c000000001de51b3179c0e130b536663cfa87e433008602348aa57d34c066653fd005723dbf7c1735f7b04433dd22753fcdafcc364475f73312b90033e3c8703f07e6d735901c0d33f50c96342f11443f32426635a97cac34b1349134b698183f0876a4347fbaac3417142a32577add3eb18e3e32e6ab4232af784a3423f57f3e07177536c7ae7434000000003cdba13d0000000000000000e4d1b5308b47203d99de373186844933c9d08032b1f2cf3c211d3236a0155334ce4b9235ea2da13b72724b365fbb913548d280350056103c379fee353934e934b31917331e9e4a3be3191f334fb21f33c5b29136793bf43b44f3953661d53d3696335e327712dc3ac3069b31e985bf30a35f2b33637a6c3c7ffc3133262739338d2865368bd7413c89905e363b40d3353c3d2d3794fca83beb557e33ea02f433e6c77b329b273f3febc03d3e0b77263478e0de336b014c3fcb82023e76dfe135642446336af14f3f59b82e3d04d1623578ae14339d76383f41984638ad311e331733623635e70e3f2c2702379eff6236174b66325388d73e0c120032286b46319d842833b465823e418243353d7e353307ec04362688003e9b498f36e895143655e87e31fb9a353d9c83c036bdaabe33a924b0317fc4f83c48f20f350eabf3345ce3a136a5bfb03c3694d0361d387836c4889033b20b733ab97e3a3587cd9d339f2b3a361615973ce368163439c81a3473e2ef36b1d0bb3cf7f8e836b90da33694af9735f7c83e3be9c3ba345a0020334af1e336a1a9c737c2e40236f2b71d3529009b365fc5a838f7295a36150884357f7000360d902638066ca635bcb3a7345fbe3031f70b1b3f05aba13ef567f13426cb5136dc7b233fea726c3e0daa9936001f8e3397af2c3f29d1033eb3d69b3305522f3398db1e3fb9a2653d4dce1434f05bc636e499003fb1656d387fb0b936278dba3460d9ca3ee6c3b535c5cb2333e109b935317b843efb83bb367bcf9a35e195563621620f3e67f99a367c5fe13532cc8935cdf6403d65b7fd353d143f355c8a43331dc8df3cfc51643337396d33000000006741b43c000000000000000019ca88337ecf9c3cba897933db1a5b337bd9e8333d4e7d3cb1d9fc338ef20134e1966d345e489b3cb9b47f3416b9413417adf433b1767b3c2b99e433ba9dd433327d80338873cd3895c98c3307368e330000000040c28438000000000000000058f3d93366f2b336016306345776243326c63c33a89df13e4ddde83e63f3653300000000246efb3ecbe3b93e000000000c968b33bda5013f2206843ee1cd67337c4de433db4cfd3e972d103e04b3fe33a66943349504c33e2415ce3d9d854234c99cfa33e122ab3e74381d34f6d2db3320b37433b5ce5e3e44838b33813c8d33000000001286ff3d0000000000000000a3fe6033b8c73e3d15416d349cba3033147cde35534fcd3ca2a7b335c9217632282e8a36fe47de3cd12e8636b6f0ac34256a533691f0733c8f6e2c36a63136336aef4b35f343483b19862935deda5c331425fa3668a38f3cb509e236e4bb7136014f1337d3885b3c3e7e763360301333bd10d63523070039f5ba8f33600c88333ba3dc360d125238b453833688d747355fb01f370c2a6f38b89f223151efdc305c169635f09ea93ee7e8183f4c007c32e6583636f81eb13efad4f93e1d0dd035e9b8e6357151b63e49ccbd3ee24b63330908ea3359c5b83e5588733e3eac5233ba84d73665a2a53e1674093e77ac9c364f5b0434b5008b3e7082a93cf6d21f3359279a33885f493effeb663587e68a33c2cebc36543ee03d1252c236171bf535bf5ede345631483dfdc4b431926b09319a7f9f335e72c73cebdfd3335920773170a074369102c33c8a9b2736e3351a356a342b3350879d3cb31729330a442233342ad03141243d3b8250573264e98a32eecd9936b626d43a5cb27c36ad5ea735f2b01a332860413c72231633ba5e103340110536f45a2539e6f59434d5394e33ce649d36cf9396380d4fdf334484d33378f9933692f5b8369ceb7c324e457132529c093333553f3ec4633d3fc5ae7b31ad774336ea30503e48ef223f8b2b5a355d592b3368f04b3e426f033f4f6e2533542bca3133c4573e8e96ba3ea5a36532218485367bd74e3e2b4a6d3e390d1936a1a51c33b8333d3ecbb1a43d07be12336e70b035c1ea0b3e3bf694365e75443394811e36508d923da752fe358785d933ecba8535d796303d969881329a7d76322b4a26310625563bbf84bd305e8b0e3000000000fe8c563b00000000000000008824f935cb8e3e3cd5d54b34cbf13434d1bc3c32737097397be92a3293932232fa43a4347c9e9c3a136a91340aac8534df8ea6348f79f33bc3da9634a2498b34eeeeb5348801543a5e780133f58cfa324a04c83337803e374d675c33b435cf32592df7359116d635dc4a8034ee3e5934ae653a31189f673dd52d633fef477d3000000000409cb63dc9b14c3f000000001ed60d35bb44a43d069d263f2d844034896340325b99923dfe10fe3ee05a2732ac0ea934ab745f3d5886b23e15d58b34a8cca934d0730c3d3f6b453ee22d9134dedd0b3336c6d33c0aec073d7a1bff326235e13364642e3d3ff387337a891933d483f234500fdd3c63088a34dcb46b34000000000000000000000000000000004f55ab351fa39b384ab219352dce7733240a3f3762efe538dccc4936d1490a36eb417e35650a7139b2d07935bdcd35344280793556cb34382dc7d136731c4e35a3f1c134240b0938136443378dc1b435b0486334d9243937c2bca2371ee0cf34cc81433491682e38bbce0438bda122350000000000000000000000000000000000000000000000000000803f0000000066eba635e9fe51384742703ff534a2335bad6336b658d838120b4b3fe65a1e368fa95335fb0340385878223f4e1191342eea56355556b3371562f53e4f7b883587c8a634cfc7d1369495a73ee256e8352f6e5e342d497d342a1f363e14b2c134141f3934b57ea23705797f3cb36c17350000000000000000000000000000000000000000000000000000000000000000696a8035bd246e35bccd8e35c5eac335fc008435988faf35af38cc35adebaa3549420b3501240f352cbe033524161b35392e823559e98835e4cf90353b94a6359f0b9d35967cf1353966ee35d58576351981ea34d168d734da488c3403fbba340727ab34a413b83414bda7345d25f23400000000000000000000000000000000000000000000803f000000000000000066a83d35afa27b3f0c5bb7353fe698351e988b35f5b65d3f4e67dc356a11b035b5eb183537c42f3f0d5ead3444fad134a3e886359a8cfc3e35c0aa35aa8a65355b1b98350692993eee774a387de5a6355216e834fecc093ecf99f63383a1c63332efa834c077223d9ab03f34144a683400000000000000000000000000000000b47dd134fd3fce34ccd84f34d82f4b33a5f096343f0379348df28234002b4134217d0c35b87b1535721631358c426b3584e63c32c2d14a32678a4632ca9f5a3287160834e972e13381e53634369b1034e1aa2933a7ae96328f20a9330c4fb6331ad07f32cbb77c32bb4870323924893200000000d11ac435c9d9f93244c40b30a968ca32bb908e328df9ab33a589ad33c4b723341aa37b3f4946d43c5bfd8b337f025e341dad7d3fafa7f73af3b929348426a634c5e4663f99917338bbfd14357bd3763253823c3ffaef87373c302a32fcec6434fd6a0e3f0e504238970cee33117dfa3389dfbe3e69a65e384b935e3382fe9232e72f383e260ece3ae6955432000000006cb19c3d46b38c38000000002e9b2533624910378652a235eaeaa43374be6c33839c3738ed0a73335d806c33cb85bc35f27a4636bdeb15361e6fe03551e426355d8188347be02135e2d3b5342d1e9231eb43ae31cda9b031efd9b53149129c355847303553de93352faca5351386b134fd77ab34aadf8b34fc6b983400000000eee883369fa2ee3600000000675fa1355acc0235ac19ff3467140b35e61e2d3527ab0b356fca4135e16d5335702e23331f315b3f9a3f193ed5043d33f0c6bf34070f5a3f0a7ce53df2ad9b35fd428934e51d5b3fb3ecbf3c638b0d358c506531d56b383f6b78ca3a930bbf311d061c34ac3f0b3f6301b43ac8c6793585e8a534ab8eb73eb1dbb13a893a843400000000f54e343eb083273b00000000f63bd13447a61a3d99dd51388522b834a828ef3471a59d39928216373cdff23436c6ee34b4da1335f86cf5345643c734cc687134b909a635c5f541354f12f7348bf78d3161d80835ad8ce33674c6b9314bd07b3459f2a334e1c98f3470172c3477797135bd549b351d3e9f355fb751352263cc3144d5c232000000000000000030c2c834704439377ecab1367cd2773469b6e235130fb6379d401c374bd181350f25333410d2033867a3f53700d5273424efc934c2e8313ff7d1a03e4275c73465a51034942a343f18b88a3e7922f6334a6db6317da3323fa2dd1d3ee045c4318e385f34fa05243f9902863df4253b34446f8134a926023fd1bab53bfe13b03400000000ed0ab03e8950243b000000009b4db5349d76333eaac85e3ac5ba90340f114135dbec153d0ec9053999a71335544a0734bf27be3aaea3b8389d1105348e8ce8320fec0333ca769e323283c332b053be328bb32838000000007a74a530280a9a32f520b732399f063213d13c32000000000000000000000000000000002539be33da65e53371a00f34cd89c23300000000000000000000000000000000bdc200320edc8632c6c5e6321b8e0c3300000000a7882a38f1c5a035def0ec32a74f9c32e58491328a621a33fe431d33108af3328b8eff3eea6e023f5d12d3326f7da032050c073fa20ee53e76b3a331642ac132a1c5053f0125a83eafdb9b31000000004b49003f802a493e00000000c0b10a342f77d23eab09c63d6ef7033400000000af989f3e80ce4e3b00000000e6ed89326ca0223e598c603a1f9be7322e20ee30ee891d3da3a2033919bbc43211eca832f617c3375c55e4328695143354331735d5f0b23822172634c1b1f8337d13c73507249037c0baa035a91b0235ab674e342d086e345a1e843497a47e342af0d03237c729339025323200000000c43a9a3569639c3544b266357f9824357ce03534be4841347c232f34e7154734cd17ab31cae08037a8a98d37c50dbe318df496358da736358c413f347514813449e5f8340dbee134fbc3bb341818bb3472e25034a0a19f3eaa11323f06b7cb3327c1c734aed6b33ed0ee1e3f08d29034bbea9634c7b0ac3e44dbfd3e322a543400000000e1a9a63ed28eac3e00000000cf52c433694e9e3e63fa3f3e245145340c7f4b3448d5813e2551523d627c203481ffc631ae08203e48b5b13a251cad31dad75c348768043d4fb24e37f59b26331c62d534064bfe39c419ca344e77b3341a13a63557c4cb35b7231635aa92d03430496135430acf35290506354bc09d3400000000000000000000000000000000b757c734d13102350537e23467c18c34fca4ab35cf12bf350840643596e9fe34f770b23499c00f34f79261310be65631f30a8d352162f536ea841f365b466534f1436336cf304c363ce3ce3511587735fbb027335a792e3331121e33abad0833dd2c55352d69193e01245b3fe396d2340f92f9340ac4333e2c314b3f2b769e3400000000cae7283eaaf92a3f000000000909ad34c80b253e083cfa3e75ad9b34e8a78535a7fd153ebca7a23e565ec4334564c733d7b5193e9c650e3e97797331e6128a35b394ff3d7ae7843baaee8834a492dc35b5d7383db079ae37ba0cde3407b65833bd5d193a5594513300ecbc3227c04633a6287633d4b4f032e8811f3300000000175c2b350000000000000000b979453240cf8f3268db8332dfb85e3229a0bb31fcf4ae330f69b4338c5be533cf25c233075d5934d57c4e346c763e34432a1632e10f6d3257366132d4ef363269f7a43564e58935deaa293623a8cc34a6d89e3540d3a5370322a2379dff9134483dce349878b334f17b9d3462699a3446b17f334b26093d57d2783f69ac4b339629782e5e771d3d226c643f000000004a634932e3fadf3c35d54c3f73577b3235169b33dc5ef13baef7203ff1cd0d348ce62534f665dd3b1a89e53e2d1c8334c82f3032f54a683bc8f6883e42e752323d809d357f6f773b8249d53d8eecc4346ca58634e414373c3ff87e39e303b63433f1e6333a9b3134ac4d8c34b8fe813400000000000000000000000000000000cd9cb233315e5934fbe56734e8ab253173b62034fc5c6c34d77ab234996439346002de35596ea6353ab0f434bb70663576d2ca35bd6287358a7b8535b2066435d95a00357eca0235ba770e359f3ff034496dd035317dba35cbceac35583992351e6ff7352d6dce353e659b35174787350000000000000000000000000000000000000000000000000000803f00000000e9aa6134d912253530e8773f36125034d0301f348058b834a3ed5f3fcad99b3470fec235748f9a383eca353f02de0935f54b68354336d1353dbd043f78028835881ccc34874719351a07a73e4ddd0935deedc535ee6dd935098c123e7cbb65353a668d35394b07365f4de23cb95b503500000000000000000000000000000000000000000000000000000000000000005156ce34ec6cd43436068134e4ad6c345621bd35c10974341d29913415ea8c34737fc734d691603373b7903335997633e4b7f1351dff8335998eca34a4014435094ada3444ce88346bde7534378c0c34c8b3c835ab6367352b174735a8309735ceaecc3580000a36d05e6335ed3e043600000000000000000000000000000000000000000000803f00000000000000006f87913414ae7f3f57335f345cc258344ebc973580e35a3f071e83340b309d346e9576343d7d2c3f7be68133db8595331890b0359208fd3e32432535b7efcc34426a35345c799f3e02575d348a4b3934ee60a635a2e70e3ed84a183543793f35a53bbc35e868573d40eaf73404bca33500000000000000000000000000000000b76eb33436e4823a42ae9134546ac3343fc90535e57b0a35966fc4341f51113548658035eaf621352f87463534ed6535bae524366d8e0636e5580c36460c3836514d8234f93dcd33320c8f341907f334e457563430064b34c94ae9343b1624356672bc354d97b0359a1eb5350580e13514bb5e33699a5b33920f83338f8391331a754c34e5a00a34ad3501342ad31734f90d99349666723f9089993c2cdcae340fb8f73484557a3ff37d0635caf3eb34fb811f351fdd7c3f11224d35263a5435dc81e535b984533fea6b02362e611f36cb8c833473c7283f753843344019d23406aa92343713ee3ef0e49f3400771735272593355b56833eb4239d35d236d7358a6e56336f49173e29536c33b4194d3300ea2234ecff463d7fa32734bb361134d74f8033d1c6ae3c3db5b233c1cdb833470d7135cc767a3921e1f0351033b7358200a234f10fb434b11acd346a4fa5347c57643339956534d6993d34d53a613573458433c4b96233f64ba333eb13b334ab972034f6b4323493ad4c3464672834f7b297338ce43f35c17c81334ddfdb33c1e6b3337b51a0331591d933994ae333989a3534f4860e3791aa1e34abae043416c45b339fda473ffbca053eb52d96333b708d33568d503f48b09c3d210bb735017b8c3446bf593fda52ad3538979434ebad97339aaa5b3fe75608359bab25355501823336f2353f95baf533cb413e33dcfe09340633073f2a1b89347b6216345873b733bad4ad3ed91c85336fdd1a330797ae33cc51263edbd30c3498778f337e86d23329fc703d264b80347257e633d9ab87346dcefb3c18f77b3400ba5334e33ef0330031bb3b4701e933ebed0f342f158633291913399a7dec3305d39033c018c8340d9ec73422ffaa3421ffbb347c980836e6eddb355cc71f35f753c6346cd57e33f1186d3386818e33f1af8533a154c434bc15c234f9cda8340afebb3483342136df36e93533bf0c34726e103595151933e89f9b3796d8da325356b63214dc873429ff1d3f851d803ecf740234a22b1c345146223fa97a223e982db63313358c33cf77283f59104b3d2b713d33825dea345d442e3f4131ad348c4b6634378dc235b7692e3f8da30136cc459634e3ee6d3386fd073faf04c933e1405d3321ebe334ffdcbb3ebf4baa34c3856434bb657c35e4675f3eaa77893270cd1f339dba07333825903d18591e330d0528323eb1a534c248963d754c91340d0e95349b68013436e19a3c2469b033bf5952343b6f3e352fc74a3a44768535390cde34e6cee333b1fe9339a8c4b634e23ef7346193c6343276c93487f3dd3489db1a35157c6434a1061c334ee50034a17b88342b6e7335a97b2c3525b11035076891352b425d34f1acdf33bbc9783491d892348c88ba344f329f34a1e49a347453a034b41186348a4cd83e3803d23e078c913478ef0934c67eed3e3e18993ee7080d3480c9c5345838f63efe58363e856d2e3502deaf338445fc3efb84c43cc3dccb345b01d8343c08013f8d414935444a01356946403404e6fb3e6f88fa33a9ff5134570234357ceeb33e394e0435eefe6d3534262f3474726a3e604f4534004d9834d6caa1340881da3db793ae341a129f34c19a8a327477973d7ae24933415a03332f55a734fd13843cf10f82358b8b7e34145cd0341d6bf23a381b0a35688cc83439ba4d335a22023a3ba03a331fac5d3337a3a535a37d2239ed880836f5f71d35cf8bd7344112f9343a3c0d35a4d0d93436119534ce10633552c5c132a133143445c22b348542f4330f1126347a8f17344f909d34d2d291344be1a534e40a83340000000027a4883ec5ed183f108dec32c91dcf32fcc0a03e77c0ed3e59e25834ab85b334f4c7a33edd8ba43ef3a2ba34ddd6773375209b3e8ced323eb2d7da32e5fe993414c2a43eafeacc3bc8962835e033b934e070a73e97116135ef39c634c8277133a2319a3ecd5d05330871ff3145a619341c105a3e496e813487cdc433bfd9583485b1e63db714f234429c6834f2a02d3480613b3d4f01f6332a1bbc33fb5bb633656f9f3c8a6e8f33c7dcae331235b4332dcb903a05a8d9337712af33f54310346c2a9c39d821023410a70234373a8f3357e32a391a6780338ba18d3320d213355d9891397f65bf33c88c973320ca2a35bfd79134602b823486e2ab34cbec3636c3eb0236110b533540d79035f786a7331ed2823393c4b833de0a9233e331023426ba123e1383423f15cc5d33b03dda335baa323ec632273f54144d336a9eaa3393e3273efd49013f1e729633a02d2b3466711e3e2320a63e485fa6336dc6b73364330b3e47ae253ed3e104330a3edc3411a2163edbebac3aa6447133c47cd034443a203e4d14b93463cf263450c7e935b6f8ef3d7bb987359f9820359df19b338ddc9b3dc76be63337756c33c5942b343ddec63be0fe223495478333567b81333daefc3901f22833adb36a334676b03583f8ea3841439235ece22235e9c7c734591d803905984534ece9e634c69e45344ae78e39d5506634c22f9a3481c5123654a96136f2f11b360971cf35cae977350e099f354e0d5a35a0b87c352e750d35c91b073578941b35e32c2435a20fc33435f4b9342c7ab2343059a434f150d9330747e63c77206c3fc5a5d5333fc58833528e5e3da5d74d3f14c15b33f4cf9435cf04633d6025323f468626355044df34f2bac53c6390043faa6aa3346c7a5034b3be1a3b128cb03e22a15f34fdbbef3522cf95392399383e9b28ef35b2dc3635d48e263924e7843c50a752353b5be7349f27da3c984a183503d322351268ab34fbeb1e3de3e4c2349fcea93400000000000000000000000000000000d92473354fc7343698e18235295b5e3482ff8735dc508435486c30350672843257e5673490c66235192d3834aebf57345ab757350dab4c36089510354430aa34c5db94333c982733c6947e32ee41f03293f7843422eda43513c69834f2b3be341fa4a634f7db0b354b8fca34dd10ab340000000000000000000000000000000000000000000000000000803f00000000c0770035223532362bd8733f868ac734eaa5d834b4c39435ddbf5d3fd7927433b18a1f344b1ad635d8cc313f0c286434cc66443434ed7236cb92033fc7f0c03493a9a33305dee23344b5aa3e4a7310330f5c86349fc87135e92f1b3e7e99bd3468882d340c620335a08ffd3b450eb8340000000000000000000000000000000000000000000000000000000000000000911396387de0df330000000000000000b686a23941c84e35633e08357e490c3529cb8938125e0735c863dd3469e90735e829b5388aa8233705361d320000000064e043389243bc37f38a11352efa8035b95a7238c05fa5388832cb3429c80d35e3269a38370e6a38035723338544223300000000000000000000000000000000000000000000803f000000000000000087c1f2362ebe7b3fa499ff320000000097d61c38c018583f05e61435c2c30f35a7f79637f6d1273f1bfabe34c660123562e645347fa2013fc8d11133a89622335fbb4f35fe89b33eeef30235c856423549b51434eb8b323e33e88437e12215351f688f332d0dac3d58a332332c221633000000000000000000000000000000009bb4d3342099883d8bda0d3555b1fb341b740235fea9783aa0061735b24e0e35d517cd3418210a37273147342543823497923a38650083371895e833f0fd753415d12438393b7f373a0cb934833aa734a8e80a38e148de37d5e186338c347f34ec174d37fef22d388e80de3236e3f03336902438f38ec738c4df2133ba8658338d720238d03df738e7be25340110b03478e1bc342e425b3f1f843f3927bbf8343f30dd34fb76743fe7658e378b7b14358dbcc834517c803f7c177d344e047634033c58321cc9673f8f84db3339be4b34fa769834d9583c3f8226c0348065ca343de3aa34e25b0d3fa265ba3313d63c341dbc872f846ab23e4fbeaf338928cc3300000000f06b463ea7216537b0d3953309e5763482d2d73d2ddd2134d98384349a6a6b343933ce3de9904f3425994734a45d8d34d3bac93dfc7e3435ccd9063500000000ab4a763c23718034608ebf32a671d235a18209392f44cd35f4f3a2357b1eb7378490803854150b35304fb934a21af937c4c18538b47349352d5f31354fa84e3717045b38d30a9335a7ab59355bde0638be77bb381856ce334f23f133a8787038ac8ebc39000000000000000019077434f203293fd4eeb33de622623477efec32026a333f5e373c3c2b7c19350000000022a0503ffe348a378300d2339601ca3534be663f42396837f9acac35c53025355a775d3f191c493510eacb341b826734029e373fd92743356435323552b345353fd9023fe91f93351a116c359e4dd933e6fdac3e0f6b01355c1be633000000004a541a3e1150ba360000000056afe13451403c3e08d9dd342bd53933a1951735fa450a3eaf4d0b352bc757345fe30935998f953d8acdef3476fcd034645ead3505b4e5392738923514c92a35c44125352ee09e38ca3aed3428a0ca3391daa338128efc38e4dd6635920795350e18eb37195d2e38d8513a3400000000405dbd378571aa38c286353470ceea33c33c4134b1ae1939be7582346866a134b572b2340295d93e3bf2083e8de0333438fd4d347e5aeb3e8227043d343bc234ef4fcf346d970a3f940697386701f834e4b38b3595bc263f2ad4b437c7a57735c5f21235333d3c3f85953835759b9334abef1a3515c6343fdcc37e35156087354d42e7327a12133fe588b6346fa5473396caf8344440e23e8ad7b234110d1e34cd3c5f3427b4883ebc71643486298234c858b9341a734c3ee0ace734b47ebf34c75a5f34e9fd403e00eb04349385a1337db3ed34f79b033e18577d3468934e349c8c26346646403dd796a83412e4903475c7973417973f3ac155af34e5f5b73494b79c34a3884d38ae88053469a47d340d5ec437f72332388f03fe348743db34c90f79378b8f1e385ca3513439473934f79e16372e76ff371ee08d34a7fc073558aaad34ce43823e2433863e0cdbce34a0565234cff3823ef071f23d8d30b533bbd2f534612fa73edd041c3d54b76d342a6f1d344ff2c83ef7c11238c9b99834e852983423bc003f2cee743721eabe3484ea9934da78113f700c273415995c34894b78340ca0033f992305352e5eec342b9dd3331945e43e9eb98434b5b34e34b481d2341fbd963e6b5d823426e6d134cad55a343a25423e68d29f33000000001f16a1346fd8413ebc37d03428078f34d95f443425f4173e4d0b3d34000000003abc6235dc83ff3d5ad63635dcf3b734e619f53404aebd3c372ede347b9e563488b8a035bb5b99391f119835d42f4d35d93234379278f438797f0935dfba9334e654b9379c0946381c7b2d34191e0734df09673739a6fa378db59534e6d56834001b7834d8f0003edfadda3e740d623364d5d033fed6ea3dca1e873ebc37d2340000000085490f3e6ec6143e82ae46333ce87535f67d293e9996243c5bedd83411c87d348b9a7e3ef7144838cddac4349de4753583f3b53ea7c8bc35e76d74356a0bfd342fb2c93e0fd1163572d3b934917bc7342095c23ee9bf3e35c0081434fbbc9c346a61883ed1c2f234a83c853400000000ce19ee3d0000000000000000c90db3341c90fb3d708c3534dc4c89335d3e9b35b353cb3dc0c952355205e33402a54035e744db3d89885334c8761b344cef3c35213bbe3d30d86235bad1013541f7d1350af36e3bb7a5c835474eb03537677434e2fb3e390000000000000000a0e27738c3f5c53857652c33a4a4cf328c7e4c38b18d0339928f7a34e6f77a3400000000ef3a963df7d62a3f000000003334e33368c5663de144fb3ec84ee233d4ec82358959443d7e84b23e672b19357dcb313523ea723cb5fa2b3ef0ee203443841e3569bfe43c5cc09b3c311f2035dda5be351cfdcd3df72e89383c16c035ed4ee8339298343ed0c3603400000000b1eb3c35d358493eec0bb8345a83ce32ab3fa9346524233e3e047e3457aa6a34d0c450347f51613d5d998534d1213d3400000000b25fb23d0000000000000000f1d2b7316d1d973d3ef1102f000000001c4ef933ab44343d56ee9e34fb561e34159d9e3479b7a33a98228f34e69c5034a863b833bde978394380c5330000000030417d340130f339b2c1d134e44b9134c9341d351040963898a3d534b61abd34da3d0f35f279ad381cf29a3447c80035b340503458a01c39f0ad583f9d5b6134d44a2c33edcffd38146d393f00000000bd838e3337226038e8bb153f00000000cf9c12345c2c5f38f15ed23e19304834a252b2341ecffe377fc3893ee0c968342dc20434d1761538c99fca3d00000000ffbc6834ca368038dc45a53857579d34bd5b0f353b97443d1dcc0a3582ebb634ecd3fb34b148ad3d7a0a9d34a676d2340000000000000000000000000000000073702b339c510f39804b46338fe8b532763b8436385f113c4e6b80347a68f3329438f534488b1139d7903535f9eb8534000000002d3b033988fcb536f85b8a3343c9ba340cdb9038609ec1370c081434813a16358e5bbb3881ab87385752d3348596ef32e314c138d6cbd73792c995330000000000000000000000000000000000000000000000000000803f00000000d2f71a33cf497538abae6b3f846e06334aa4b734e759b3387931523fbadef433fe181e352223d737cacb273f17acd934000000003422553717daff3ee93e28346547c53475baba34033ab33e2bbea1345dd511350e6d2935fba0253e6ed50a3500000000072cfe33c76cb23c7a510a3400000000000000000000000000000000000000000000000000000000000000003f7dac376bdff236d496ee36ad144337d4bdb637aa639d36849ffc36f9e791373b7f7a3793800b36dc290f36acdf38379d0533391f4546375d6a553772c1fa375ce50438c19d043782dc26377a66f037a1128837a749e836f44ccd3675fd74379b918637a2883337275a2b3771325b3700000000000000000000000000000000000000000000803f00000000000000007b4c2b37ecf37f3f47f0823703040a37552789372a53583f4f988d37874a5837f9ae63376c702d3f73dc4b371e988136d5b309384e66013ff135f737bc4aa537d1dbec37a792ab3e370bc7370eea66370f355e37806b2c3ec19150371ff313371a032737f07a5e3869cb2437efa136370000000000000000000000000000000012387237725d7d37f40526374ff475370b6845379fa73b36509c3b3660552a3717e987377b8ba6369edcff36884575377e7cba37900d8d35c9d4913574adb0377c57ea3780012e373efb4b37feccd7372fe19337b1be6a369c13a536845f863790f27f373fd90d3777611437fa228537a5836337f2a851370e3c16376f268d37e5325a378a0f8037a9a06c37cf9596376049af3628f57f3fdd0f533875112737cc0edd3528f77f3f59ad1438be3049364b6d84362633593f8f6a8639204b213708f3dc35fba52f3feaa94238b55c7f3661ba89374741013f711e2b38b599883719619c364e1dac3e81be04383105ef361c7ecc3688fd2c3e09d8a137cf1e133745b213345dba0a3c91d58e3797900237630fbc36e5e5aa37902d4f371e9e4837dd8d9b3788500f38b1e0663763794c3780fca1376c679037f0479b365387d63611badb37eafcbc366013bc367a59c1367cf66c3719de8a364e6e8b367bb10c37427ba0372f800b37bbe9ec36f6157737054aa9372b53953695ab9636b2fa56378c78df3769f2b837a2f19c37370fd43758cb5c3796695237d775fe3617b44f370378763745c25e37ddfdca36137a42374131553695bd573fd3dc203e98c3933698338f36f153583fb7ee1d3e45269936c002b536d9c6353f1e6f133e6c72bb3683488736d5f2173f7bd0bd3df4178a36d7277f36bed2de3e0869813d2a1dd736ac9256365ed99a3eb803c43ba3089636fc3e47379e7f263e35713438a9d15d371a79b3366276043cd1b67a370696b5368d999836e0c92e38e2cc253778479d3684aac837477c073885f389376aac4437d4eeda370a1cde37f9b6ea36f345f336883d93376c6f1e372d672c365be5af36a55c7537017d153705d09a364a950d377a1e1338920b96370322003768db75372c1b9e3740b66637adf31e378c3975378a52a637059f9137253141372e4c8437bffd0638cf74e43761718f379755a33771a4d637104bcb37370998373114b0379b591d36361c2d3fb4a1a53e2b541f36ea8fca36e7cd2e3f9843a23eb3e0c636354227362545183f6ee1893e286c293615f68f361f42f73ecfea4d3edd992036b6e1fd365000bc3ec840073e233df9369ed3b636da657a3e07dd8d3d8e75a3369d0af2363658083ee873133bccc3f5367ae75837ffb4633b1ff41138acff3e37228e8e3758a21338938aaf37150f5037e4e5fc37eb712538dc12a1379e9e1537d1f59337b0299d372b6a4936a8c0483607e4fa37dbc38c379ed1353658848a363f052a38ac84ee37ffceba36d8a55937b85a2738c08004383c399337db2dbd37ce712b38fa000538c1998237416ec437523efc378b70ac37661a143783a95b37e7b3a837936395378078f7364f302637ad1806382ecaf637abf7b13793aac237849654365cf1013f68fbfb3e1af2b835747b3c36df9b043ff4aef63eda292b3618fc6036c738e53ed61ecf3e9fe430368cfa6437697bbc3eaeaea13e56baa635139abd3782f2893ece096c3ea238233729d2a2377b1d3d3ef554063ee76fb136c2540e37a6ccc93d8e38493dd377a736a0efec367d083b386082c93715d04f36d67acf37ea952f38d3bbde3762633837cdb4d63767b908388fcd2d376bcfcc362b4de4375d7cea3792ce1b37ffd61c371ca2be377a4e6c37aea31936dbce1c36cc41d6371d3a5837851719363ed03836ac2b2638c4e4b737fb63ed3657b90237ff8a813797183f3734a2ae360390043784a0d237c4db87372894b936f7eb183734950238df79e137197e6e3730a98837ce39d237b258bd373c9474372b6b8837e226e736482cae3e28dc283f485f8f36e85b2837dceab33e9a1a253f00a3f336e983bc368c23a23edc3b0c3f9cef143658cbee36ce46833e96f8db3ee5931336c4f24337a363383ec818a43ea283e03631be17376c19fa3dca64463e37601d367a070f379f3e643de7fba33d334a2c3645b89737ddc2543815db193852cfe43633fbae37bb610938a9bcaf377d9392366602b8374a620e3817fe843673806f36fbb18337e39c4737fc1aa536a133a236aa5cfe379573b837264e053658d90d3655ce0738e2391b372b952c3649634a36f78af73737a058372889723678667236b0bab03711a658372bfc8436f9158b36d6622538e24cc137b23bbd36d4f1be369d00f637074bc437aa16a136910b9f361fcedf37e1f1963700150d37faad1737095f9236cd7c323e0555533fe65b363635adae3606ff413ebe664d3fec479736ed806f37676c363eaeb7283fbc9fee3599ec9e36fc55163e596f0b3f89181a3685a04b37f38dd83df894ca3e02496d36f1fb0e3748ba703d137e823e361a81367a874337cc2d9c3c39de013e0701b6362232873725c7143ad7b31d384cc19836ffda96370a821d384c458237ae4f6b365d31ad3712d89d3748060133084200331b01ab37bbde483765dd3e33dcfd393330dfa73796af2537b0e4ec341575fb3421bf03385ba532373643b3358477b535ea320d38673bc837373ae035f785553696ae0d38259c9a37d14e883507108c3547a9c7379c887f37d6afe13663961e37b8c88637b5b75837f23549362cbb5236bd64813742a55b37dbc6f336e1c2ff361a544037644ec63be9637e3fbf33f1323c7b05378545033d6799753f3bf33a33b6ce2337dec2023d338a4c3ffd76f0347fe037370992d53c8d3d233f4e3ab135ae26c037f881a93c49cff23e4ab2d5351f1d8e370be07639647fa03e12e58935e3a97a37a965143a1f391a3e86032836ba1c4d37abd3eb3721dedb3798daf935db5d8237769d983741721c37fc6bbc36000000000000000000000000000000005c596237c71f27373b368636a38ea236d9a98d3739282537d166f634ad051035faf10738b30cb53773478035a3c08a36dc1e9a38fe94e8378243353709074f37a32b7737ce2c433754eb0b36de740f36e6669d3728ee9b3712a54637164276372c5d7d37f5fe8637a32662372dcc59370000000000000000000000000000000000000000000000000000803f0000000048cd2d3771e40238e1f07f3fa8a37f3664a92f3736172b387ad7543f1783fb346129b8379997403824232a3fd70312362596d937f301223a049ffc3ebeba3f3703931837b2b0d037ffffa43ed1440c367dc88437b53b423870731e3e06fd2e375ebf38371257b437a3703d38052706370000000000000000000000000000000000000000000000000000000000000000e355dc3721c39f37f7eb2a36db00ec36c6f84d393710033844a1ad3725add03791238b39c31652386b30153839492f38efe228388a169c37cbdd3637e543843792961b38e5fcfd37bc23da374ef402384d706238532e0a381231cf376c900f3818261438b05fd137c07c81378696e93700000000000000000000000000000000000000000000803f0000000000000000044abb372373733fb2d38537320d7a36b0e8773872954c3f8740ef37bb1cb337f8ef4f393d15273f617654389df31638aaa42c38bcd7003f3b638c37e7b34937da711438209bb63e1d7def3777e2e237a2334d38f204563eb806fa374806d637f5860438fd02753ddbfd5f37cf548a3700000000000000000000000000000000b637a037e68689397c021a37b55d0137687045383e1b3e39a300a3378aab4937ae45ce399bc9553857169a3694d2b536ba4af3372430a437ef53a236786cdf363ef08938a37f18382243af37716be037510bc837b500a137555d843653254237d6d4f4379400e637801c55374ef3be377ca19937faa29b3774a49836894a6b37325a08381addfb3793dfa33738eeec3775279d368a36723f5ed75a3d1e4a02376d1be2374343673f67dd593d48864e37f3670337b9fe433f388e123d18d37036b2360f37f5db203fef7c8b3c7042963612dc0038913cf83e204f133b5f329b3702517e370093b03e3651b2371e8187364e899837c968523ee518d837bd7f20375806123733a58a3d8bd325370b4188361334e537d75c213adb589c373448963752720a384a4d8b3941b7c437199e8936e99c3e39ca1c643a534e5936c6725736d04a263813643538f9d33c3765a920376fa39137ec2da237c77cf936511af536f4d11b39308c3c39262ed13716f7bf375379d43793a6df3776259737785aa23777b7e337824bf837fb103737a35a5b378f92063885e80e38256b8c374f7bad37a1b32938fd5c2538c18cc237aa44e337db671f3713344c3fd2874e3ed90427379f625836f4e8453f335c433e3d40573644dd9c37a7ca223f3884263e852b183713110137be170b3f8246de3d0e9df336a62802380265d53e198a9b3dda939337ac1f8b37582b9d3ea24ddc3c14367c373c2b473758e1443ef822f7377392b53644f6a9371dc4813d0faae0379ff11037896d0a38f08f7d3949e5f037097d843722e52b389208303a5498fd374acc303703d6db3734d0d039395b01379b20d7363a58c2378425d937e9549036bfed6d36ee5a0b38e2923339bfdf8d371790383782a422381c413638f5c3483749a0f0360b71c937f89fe7374c18093755dded36ea65cc37c57f1738a801443770be38374b387337f8ed8f37b7412037606d2937e64f3138e75c1638b3a56537a7ac6e375f6492377be6263f5d8db13ea6f7673717ce07371885223f8203a73e83fbd636ad99233752120b3f1bf1863e4f0c6c3685e0b5378452e63e0036513e686a2737ad107837fed9b23ec332173e4892a2368ca316376c72823e49a0a93db75bc7362c963037bd57243e34d9ce3c25f41737308419377a9e6d3d426b4937e37ee6361989b637e853973957fd7637f04e4237857ad73745a13e3a17d08037d5315a362d69223825b841394fd736378f258636a0ce0e3a7ea26a3a9df1e4361985ec35a6b61238389136385170ba35b94b9c33598656380b806b383540ba37df19283768650738575c12386e268336ce96fb356f5ca4397723143a4d002a37b8651737ec7715389c433238baeb8b37fb303737b142f537284dde378f5b2b377a4327372dea0837805d013f1488fc3e84edb03665ab7c37f702fc3e46e9ea3ef6a28c3660c62d379ccbd83e2691c23e5d2c3e368dd6c436a42fb63e3f0b9a3e1e784b339b4c023870598a3e01176b3e79913037f28ae43624064e3e4849113e6c161f35863da337c294003efc818c3d0b9afe366fb1cd37b031473d1e2b13388f7fef364ea4c5379198e839ef8da7377f6f003782e206380cdcd439f2b060378b0c5736c2a37f37eb75363ac6de9b3600c01d36a368fc37784e7d397a58cc3657e5bc35f101f13704acc53b9b18c03674bdb9362ad4233844323838a1cbe4366cb7a835694e043831100a38982a92377e4e36372481ad3773d0bc37207412374c8273360536dc370e2eec37f4223137ee130637c875383869372e38692fae3730839437a44546378af1b73ecfcc233f0241da3690eef73679c3b33eb70d173f07d41e36fdd93d375c6ea03ea420003ffa48c435d93d3237f711843eafe3cb3edefbbb3649ab9637e0724e3e38349a3ebd53aa357a7bca373d69153eb45d4c3e39a11737e7da6337c11fb73d3a34d43d14956b3672d0723767860d3d7df37d3b73d8d7360a522038e455a839e3c5103826f35d37ff401c38ba22833968c8d937fb21b236d3360a38e2a67739f537c8367cd98436775bfd3717b72c38f502493663964536863b0c38a1381838c43bce36d010c7360bf64f39149b7c39ebd183371b7b1036dc298937754a94370a61f7368385f636f5a31338978220384c794b371a171337f813bd3705fec538e7049e363d045b3646f81338517005389b164037d8b8b43688bfa837b0ed583e0493493fae41b336e77378370e45583ea19b393f51a1863601fc6337d2e74b3e46bc1b3f727445363e16aa37af172a3e3de6ff3e9dfac836591e0f388af7023e25bcc13eb99910367acf0137a5fcb83dc6e8833e8b29ef367314c037dc67803ddad80d3e65900637230f3e3751554a3c55f6b83cc8a35a36edec04383aef3e38e693d937238c4a366df800386b1c2e3a3c43a73700c0253600d3ad37234d0238109d7735585944352d650e38751b2238efb923365b4851359cf1d3373980f137af71f5355d7b7135a6602b385cb6ce3892ea193755ac2b35efd2d73766e2ed37220c4c366a284736c1bfc23708733439d771823620757635f030383818c23f3819d8a837f75094364571c437b0fc87376b95b636e9d0463633299437fe1e833dd5386f3fc94b4936f24bd23671e3983d9b825b3f164b5635dbe5a0372b51943d16cb383faabbd935e3dd6037867a823d9f58173f3e9ca635a6cb0338e7bb653d1eace93ecf212b353a251037c2940f3d3e7fa33e85c04536d4d01b3795f3663cb6353c3eddab7e3570a11638184d273a96be2d3d4cb3433632578837b4493538c0932e37f9650636000000000000000000000000000000004415f937cf2d393822bf2b379bee3136d4184a38aed56f39c7b0be375212c336f6d20c3874a73538be0fca3722f84b373f5d0438a3e62f3889452b37f5420a36464962385b2ff738d0ba3638807cf437e3fe1a382090663819f4e23798fab737baac8e379088ba37d7fd8237bfb712370000000000000000000000000000000000000000000000000000803f000000000b908a37a45f5e39348d703f34273636e312ff37c7b92a3ae72f4a3f45876237a602f737c3341f393f8f243f3e96a937d6b17e37127363389118fe3e9f6ddc36862341389920093a5410b13e752919380b1fe737b0a4933978ce4c3e277bbb3756364837c0f9e437daeb473d6c6e0337000000000000000000000000000000000000000000000000000000000000000084ad2c3abd282c3a087fc63879e83f380fb5e639c6f5cd3909aa93380091b8376f82193aed6d003a4ef5ff3775e3b53743af173a5cb3e4390121863812e074385635663ad385393a0f8a5239956b1139e4ffc5392f07a5391359a53873ca9638d818563af8cf1e3a65fb2138f201193800000000000000000000000000000000000000000000803f00000000000000000d4b0b3aa503613f14f6c63913de52386e97dc397fbf403f378b9b39603ff137a6c0163a2c0c203f485e91398425e33716e01c3a16bbfe3ea9cb4c397a1c813813a76e3afb55bd3e2f07e939fb110839eb7dc8395b317a3ed804333921506338dfc0633a787fee3da79b13395772133800000000000000000000000000000000bd0a0b3a0884333adbf78339888bfb3772b2113ab588363af314dd38e02cc737c0196d3a022c9f3adcf023385345143823ea163a90e5233aec2a20388490f837ab962a3a67b2293a0a52f737fbeea9376c1c8c3a9852833a74849738d92d343857fb3b3a5759443a10e1fc37e6dbba3747fa0c3afa761e3a593c0438562cf237e4e31c3a6eba153a6e7a9939dd9d8b391a1bbd392623613fbf11ed3d8158113968e8bc394c1d483f166cdc3d5bf10d38c63ef939993f2a3f2c37b03df2f91e388e27b439d1df0d3f8b168b3d91000e389d7f043a0990e23e91b8583d5416d137344c463a4e8ca93efa78113d831f473819ea0d3a91c5613ec3c49f3c0a02c4379838aa3931a5e33d6f0ca238100bf237b8e2143abd4a643a5073b639dc9577390285f239c7d6aa3a30679738eb4ada372bd9273ad157b93a5bcd09382db6c43789e0963c6b4fa33c4f5d9a39c3473937059e3e3a2328a83af923453891e108389648bc3926c5273a30072d3867b6f837633bbf392078153a08351438378aa33735c3143ae0ed3b3af6888e3931edea3829519e3936b3193a6b0e31387b571e3829b6fa39da41093a92f2d438f686ed37998d893831a4403fc3aa783e96d80038a4bed538ba412a3f8fe85a3e2ce4e637bef7f539a41f0e3f1a0a2c3e59c00a398108e2384039f33e8dc8183efc3d2738a50877391d65c23ec361ee3d304a1238855e6c392ecf913e63f5ae3d42eecd37909fdf3922c3463e0fbb193d753613395e0e513845d9c23dd9f0a03c1f082438a405cc3995cf7a3ae4376e39d410f137e3b1f339dc127d3a9983a0393408fa3717fb8a3a3d9a293b2531f4381622fc379dcf1a3a1836a03a110b50388ad2e337cbfe403abd11c73ae8a92338b41105385f55de39bc3d313a04f070383f6ef9378bd1e639c243833a89ff1b38e5508b37b392043ab1404b3a5875b537cfb892375c8e263a404f873ad7875a38fc6a3b38448d2b3a6e1a453aa231453833d53438e3404839ab68223f1d7bb83e6b11bf388bc4473948760d3ff19ea63e7d07133893e65839b1e9f23e73228e3ed4551238459234382d7aca3e13976a3e2a38133830ad8a39e0e1a13eab53393e251a213862ace438958b723eba66073e7329b337fca5b438a2e2213ea668ae3dae57a137fe2a4f39a668a13d3387133dab85463811af083a8b848c3a5b86cd39b94839382135f5399712353a0f9cb2394b702738960e523a180ad93a57ec26396700d3376d68e83958e9c23a0ae710393665dd372a1b473a96b88b3ad528873871a41b383ef01a3a974f873aae0bc43810c7bb37487f393a1f037a3ac80cac381b0d1e384ed9053ac2e2743aebccdc38e70afc3755835e3a7d31933af62b1838fa91ed3733a3053ad06f0d3ae31e563977852c387e5f87393debfe3e209ffe3e292fc9384c0a8a39408de23ed9c1e03ef36e103819148239f9d7c13ea439bf3e898d0738dfdead390ce3a13e1c3d9e3e14f82638737a6c394a0c813ea5e57b3ebd5bed37ac44be39aa5a423ec8e3383e7f192638be65a139ae34013ececef03d644b0b38ef5d0e3a855a7d3da4e8513de1680038c02ce7390a9d363a060bcd39cb983538c73b0a3a86c98c3ac33ed439b44b2338ecdad73932deeb3a8fc76b3893031238434ad9390fd8923a445db737f8b346372289ca39c400b13a9cc22f384bb37d37591dd439f8cb303a7e9e8d38ba3aa5376d980b3a5ed6af3a4d8423381e8801389bc30b3af132623a9f5528388189e8370431833a6d97ce3a457f43382eda08388617123a8518213afcb8123940010d3803a9a538112bbd3e72f81f3fbe09413873bc69383833a93e09de0c3fbc534538f07bc6370267913e5081f03e19e9943715286938bce3713e3151c83e2ca9a73764cd7839dc20413eea639f3e9a811138e69435381e36113e9bcd6a3e03fc0f3838c18c39971bc13dc86f193eedb00a38e1e6a43994cf3d3d9d6e8c3db3ab1138c6d4e13944df763aaa0ccf393ddb143890c9b539a40c563ab677ac39b340d037d3721239f41fad3a6d9543387b8de337ba82153aec8b5f3a32f26439c5743f37c440ad390477593accc62038662932375057a639e0c34b3a64833c383868ba37a7c0f039de91933aab2d5038f232d4377793253a01cf9d3ca9a095399df22c375ed60a3a58f5593af50d0c38265bc03721f2cf3974ec183a72ac1138c996dd37573a3239eafa793e5e59403f2a2c773827473e38b911613ef3ab293f15f622382f6ac939c059453e0746123f7964d8370f77203923d7203ea7bbf03e7abaac373ce94739f752ff3d2ecac03e6a7d12386297c1388d49c03dbb498e3eb5131e3807b2053ad8e8443d08d82c3e9cfcce3743bb83390fd3fa3c4a81b13dc03ddb37d8c648399372903a2ad4ae394916f5371848023a54644a3a0f620d3a6ddf4e37d9d1b03901868b3a7a251339bf9181370568203a2fb77e3a2f7d1c392c7bbd36c8542d3ac96fc63a6b3a2439903a8137d223f739b38f4a3abfb6a538357847372b78a939bb903e3a809b79385ae7f4378967173a3ad7883a81bb2a384bde0c38fafbf139ca6a133a52ee18394bf2bc37935efc390e2f0b3a4e9b8039c4e7f137fe3db3395dc9ec3df5c9603f03b69139a4627b384784df3d6ec8463f9588ef3713a57d39a888bd3df3d1293f5c2eda37af57993945fc9c3d22100d3f36fb5738a79d3f391f1e7d3dfdf6e03e2acbd4375ea3cb38c1803e3d9237a83e9a2a1b387d191f397acff03c6b265c3eab331a381285b139b07a3a3af774da3d5755ea37bb18d63925f8243a0105fb39b9860338000000000000000000000000000000001797063a28b5923af5e8293ad11bd537c131a139c2fffc391d7f883938bada3714ea333aa09f7c3aaf3e1f3a6e7381370a35c739d4ad2c3aa5819d39d5426f38e97dc939fbec2a3a5b4d8339058ac037e100a5391795e2395a048639c18fda371593c9398391223a7774a639ac8f86380000000000000000000000000000000000000000000000000000803f00000000691e5339dfd78b3ae694603f30ab533993ee4339fe0a083ada95403f78bc0739bd42e0391969843a2b6f1f3f50c7ab3985dd24399de03b3a860cff3eb39a8a3877dc5039fc54463a5db7bd3e461421385a616339009af339007f793ea582f338a67597395e3d353a61eced3db48e163900000000000000000000000000000000000000000000000000000000000000009539a635ae3f863515ef873524448f35720988366c7b70362e607736cad885361c78cc37870a6f36c6dd7136bcbb7237ca71a536a22a9f359721a83514f0b835545f0e38f286b837f179ab37fe3ef937eb2fc1379e159237df8875370124aa370e9b1b3651e26b365b39253619c3303600000000000000000000000000000000000000000000803f00000000000000000df18c3521fa7f3f5d729e36bcec8d35985997373681643f3e8ec636040c863658353438aa6a323f08a92238402b3537b96dcd3603b9013f883c13371219b2356400083843faa03ed0fc31389900f337b04b7037d9affa3d78f118383b019a3708abe9356cbfeb3a898cc136317c2936000000000000000000000000000000008d7cd6340545823618af953682759236cd73d0352dfdd235624fdc3540f4383632e11736e94ce03573260536724c6a3630435e35e5141a35e8074a35c686a836e3a7c335137ec4350b37ce35972dcb3583e19d351ef4a435a2cda335d327e3364495553783099537319a8b379f3ca137d74d9335a77a2b37dcd4a23564dfa0358eff36379e1eae37ba79a8371d6f963796ad4f340ff37f3f62612b391310833600aece3549f77f3f5228ad38da84da351900013641bd6a3f471e0b3898a93b36619533359b13393fa74333382983c9357cb2c43516af073f4bcb05397e37cc3559bc9b350c63ad3ec7ac4d38760082369d192735b64d0d3e4aec49381a3f8c37e9b592352b821b3bd976e7374b86a235bce3dc3508751c385bfaed3789193e37ee4682370b10ed37a90be2371b32c037e3f6943653289a36ec54a236f1efa53623b1023572429b34731be534eeb83636e9796136480a6136a3bf5f36ed93623683afbd3758379537b25ebc37fb1fe4375cb6ec344c86ea34d47be0341478be34de7a7e374dd4a337f2718437d1fc8a3776b3be3759721438ca95e537571fdd378cbcd6367804af3755ba68373b68aa36ffbe2b36fa82613f33aff33d1a0fa937371a8136df91663fd16dcb3db104a136a1b9a434e2344d3f00ecc73d6a269d34e09844368a15283f4c0c4c3d0b286136e6260336c89bf43eb747ca3c86b1c137d702d73427129d3e8bd73139fcf7cb34d7eb823656a60f3eb5612138b2f25b3738f2d835396bf53980986038818496378ba41b35c6fc49381ac316388b95333581170937c0780e38a1fe9737aec956353a9bf636a49baf37e443aa36e5ba35360e6e8e36efe18e36d1908c36443a8d3676e47c36ed9bc335431fbb3551cfc035c3486a368dc73c36f9511c3676ab17364e7f6537f0918a3733243c374bd74c371d912e37ef9bf5373a0a8637723cac36ea7b263753ff973734a3a13681979836b2f8a0379144a637783e92373b2c8f376b784335b4a2313f5d9e9c3e4c554a35b933053692ab363f5e9f923e91171636cd608536313c2a3fea66793eb61e8836d8dbb4356d48083f9e43303e03dbb435609a0f366502cb3e1da4e13d43131336568d8436faab843e59c93b3d0438e63634c15e362fb3f13d9e7de6382e3586366dbe87368a9491396a960c38105f8f36cd5166375decda3781ddb73724c65d37de40683682013c38c4e90536c17f8c35e0920b36f7470d363a1b0e36520b0a3699af6e3764aa54370d49433651e238369a2ea237b63978374b97e13544bae5359362ce357718cf35deaed23547bace3514e4dd37d2681338a8c65737f14dfe36ed73dc37ecae26386d04d0377247373727c30b364fc30e368a8d10367a3d0e365bb46a378f065d37a6fe0a36ff92a535537f8e35d601023fb9eefb3e6baf853564c80a366227083fe8bdef3ed9090a36327048361408fc3e2de7cc3e8537323676395b36db16cf3e0192963e49ded135a617cf35feae943ec7da563e859ace354cb6a1369be94b3e366bd13de27ef935900158363facc53d4716343c0a955b3619290d36bc9026397c033038265c0f36829b1c367e9a8f38e89f9d376ac48e35b44fa93784ddcd37fbb65f3792b49636b51bc936e91c2137e9b67236ca6e71366f40433759697a364dbd3336b1a727369fbb8f37e0714a3722a25736966c55369d991837fbf39a36cf110c36e0220c364d3aa73766918737f39eb2350547ad3501583537b8288337bb0a93364b8a8e364f180c3859530c38b755023767734c36e53acf370f4e9d37b394b235b2334b359b285a37245fa43e65c82d3ff1be863688bb8536547ab13e6c32273fa4525e36f5f673362b9fa83e5a6e0d3fb2711136e8300737b3948b3eda57d83e5aff3836028d463604fc4f3e599a943ec446073605cb043663740a3e892a243e6d85b235c6c19436dfaa843da06edb3c07ea8e36d9339637ab35b638ee6c3d3825412d36a5d186377eef603864e57637b74953352d19c637adff14383c4b193506212d3526360338ae36c537b5909b353e3c7d352f45a4374c134337d7f56336d62d61366b991f37175e073524e0ce3454b60435cfd52238d39bed37772efa358e5cec35f0f626379521e3365fcd5236c1cb553628e3d637514bd7372296cf3570302535856e9e378ae47c3791e59a3607998e365145de379c76b437679d54375ed04b37e1e828353cd60a3eb0445d3fad69193539b672371e1b263ec152563f94b45635909151373585223ef975333fb08c4f3678afe5343a101a3e8ef70a3fb64abf34dbfa0538fe53dd3d1f54c73eacfbde3549387436d179913d3b34643ed9284536b4978b371fdbf33c6633913d6e24c834413d6037a331f0381ac4df3796408f367b4dd737847e623856839d37a9e97a360903e037dc6fd4370468e2350531e0355e6a0d37341d9b3557279135bef688352bcbcf37d30f11366088ef3484ac0635e2417b378f07a43511d39b35fa839d35d4bd8737a98ac935effcc635691bc23595f07d3775725a37e02f2835ca1e37351c867c375cb291379c11403609a91e36a8fd8237a3e88737ee28d935e304d735ce05893664a72b3690875234ddb74f34d14a8737f13a663ca55c7c3fa7dfd93507701536a1cb0e3dfc7b763f3d2789351f65ae371db1833c9a81583fab13e43467dc5a37e7a9f13ad3d4283fe09b9a353845a53694097e3a2536f03e1714c335463c3337fca42f3a097a8d3ebf9b2735d3882a375936573a3766a83df2d00c36e4206337da9e7238a7aa393815aed835ed79963649d22c377f04e235c2eb4f340000000000000000000000000000000064ef1d36fe050036fc6f6135166357353343bb37ae65c136f7e88336ac898a367cf51c38a22be7373b1f9936d37f98363f9bb636cc814b3684f29e35503f9e3592fa0c38db711c38e9d74337878ee736f4023c37241dd237d7789037ce943b37ab08fe35e59b17379a75c136a12de0350000000000000000000000000000000000000000000000000000803f00000000eb461936e2e74d3854857f3f29995a3578c8b33794a18e38ec9c603fe6878736f12d1d381eba74380f712f3ff7989936d6dc7536c4cd9039ae64fc3e85c09d35081fe43757ad9a38a1039b3e92d6d03747ba8b36e92e3b38ced1db3df042a8373416a3352fb00638ba8ac538c8b2a83500000000000000000000000000000000000000000000000000000000000000007e887f379aecc235f178c435a303be355c86e537c71acf3430417c3476637934f2703838807a74377c47a7356a14c03526def637a40b8b376479f93693c626374d8c0d3846c4bb3761c69836082c9f36089d8737efabaa377b1a213772366537fc550138866746380da21538531d2f3800000000000000000000000000000000000000000000803f0000000000000000a59f9137c6f87f3f1635c7359105c4356f1b49387fde5a3ff8104e353e617f34657d4c3823382f3f3ea1c337a1a2b0354a42ee37a24e033f3c50b137d6880e371612d83793e5ad3e3d4a023801979c3648cd8f36cc9a2f3ec6b8c1379a071c37a01bc436cf06a73cbbee323860fb173800000000000000000000000000000000a3964f36ec31483851079e3761d782362fd89c3627273937344faa36842ba5361721b636c348273673672b3669ba2d36b8032137de63243615971236d8580c36b88831374098333708cfa636522da8369167ec3687999b37bd09f53559e597350ee1e33650c4b037995afc36bb67fd36dc411d3721f22d384fc5b037acccba37bb2ef9360451fe37559b803733498137455226364dc97b3f4414863c729c9936500c8a36fefc7f3f2ee46538052fa636ad301036f584693f311510382e5c2b364e37e33578ce3c3f490d0d389f3d113666d29236ec340c3fdbc71138ba11a936112a00345341bd3e6ba1373815488c35bc8fca362378483ed1e3fd37c1b6fc368ce9ab35c9c7c43cbb40283821a57437d68262337d822d396a4dc137b2a7ff3609ed2835232b423842ac293702148e35974efc3590dc0538a592b73661b3ef3523bc6b365c26f236311e153643e008366d854335256a66353f166335a0be4835c7ae76379532b6373c9367374510403734b2c835ac09f136cf08ea357f53db35489fad3689a88237f77da736922d873607b13536421de6374079c73518eec935ef13b9377e4412384ccc0937b7c86236f973903415f9543fac1b2c3eac699735096a93357ccd5f3f62beff3df44dee3515e1ff358d7f483ff92ac33dde0a0c362603f93442d82b3f2c15163df68f4f35fc980137cf33023f8644943cda024837b7c0b5356d46b13e562829382931e335eda3923520f8403ef560c73787f457361115a7351e93083dc869b63726cbc63587552e36acbea439e14dcf37cfb84e361b5e0538b9a0a438eaeb25388dca0836b9355337e9d55f383af2ff354a2eee353048613556855d3685cfda343521c234c4adbb35ff177d3699319f35a6c5793558833937487aba3793a8e93553d9de3517820638b75d5e386ef0ae370dd0c035d054b8353ab08f37f17ec335ca81b935973f97358ca19b355c7d9c358693933596287b37a12edf37decbc734f12f6634a8e9ca358e582c3fa417a73ee1fc4137a5c2e8352996373f622b903e1071f33510702335b3c82d3fa9c6523e3e8ec234e42c9235bf610f3f34760e3e2b1285356633df354dc4db3e6feba63dc294e335b7b9e434b1af9a3ea80fc33c50fd903665dba3355db92b3e3159d9378a71b335e2fc9035163ee93c9d719e35291c973523ccf534a5919b39540f2435fe3e833485e001362ac89d386961c035d2ae1234c462e8371c4b7738d37ad3356f3ca235bc4770370bb8f2372097a336467c9536d6127837cbb1af37e8b9d83535cecc35f6182938b7325338f9f6c936107b973603de5937b646ec37c89ede3523efd8353fac87372523263868fcb83659e5ad36f8c32a381d194938dbfe05368e9dea35a0955437f1872037f08ba73553365d35f191833500e8023f5de9f93eac9a9b34e129ec35d1850c3f32d9dd3e26d8a7357af4ae36def4033ff7d7ae3e7c099836cd0bd9359803e23e3ae1773e01eacf359d4b5c37f834a53e17a5353e62069c36680fda3525fc7a3e0834923deaa2d835d3bca836e67d123eeaf87b38c783b036bca32e376b40913cf9782338a8b7f335a428e83588c1f239426105362b59393522d743359b1ba438de9fd03412223e345886953575cf9735831c8f3515678035b51ac535a53817374ee9983582f589356d802d3844113d38daf3a03400229534c53d98376507be37bae5d9357f91d135dccac2350521683762dc9a350d75523595197335d3bf3237c39779352929143517ab2138c6011f38ede3ed359c2de3358ee16a382cab3a381ae4d5351cd1ab3552789a349b4cb23efcd1263fe4df43340c9795353024c43e2caa163f9ef4853528a1b435e32bbb3eab03ef3ec81e9135f0fba4371af4a43ea61eb43e5ae39834193ee53518e77f3e5c25753e01bcd7358fe7a9358cb2383e82fcf63dd86d813520741535499de13da97aac3b81743235c0a585370b259b3a50e6e237a67be8359de24338276d6f39f882e4373f57bb3548c7c63711262f38500a1f360a94df35ffed3637ce11a437170aa2358ea68435994f1937f2655237db1c6b35ff181c358b8b8c36bb839636cc02ac3549dc93352b39c337d5bcbe37409382362b8c6c3508fd253632edba36453be334e9b9d834e6b7273706069d3739ab083695e9f635ec40c237211d6837974a9c3585ad893518f74f37ffefa1358356923410b98534a51a5136457e3f3ea6fb4f3f3ff7f235ab79c1352d43643eee683e3fc21492358376a13699b3553e9e521a3f63ea3f35f71ce6350e61443ed593ec3ec60b9d35501b7a37d3b2243e6dff9f3e916e7b35fb0c6b359190e73de965373ecbf4d93499b12036c067843d12d7683d5612f835ecb656376bfc6a3a2f97b9362f389135aafe4737caf65a3857f1ee3426d88d346d24c3373c51dc373074673393566333b128003848eeab371ad2a035e74195350077b13722bb3d37d90bb536c9a39b365fc0e9373e56c437508ecd32aef7cb328893d537ae5fd537d2cd8536a8ef5e36ce96b8379462f537725fd935e91acf3584a19d3787e714387d7216367fc1d83571678537ff396237081f9336538682361ff88437288b5d3669012f36439b16360952453798d72e3db700753faa885d335648ac377753a03d0cca653f40b69d35a9a33c3756506c3d851a3f3f4778a736e4f18f3779223d3d9785153fca95cd3232d07337ba20da3c2d03da3eb55776369d1f0c378798b93a6ba4853ec55fd235dba63a3667ee2d3a5d67b23db4d20136f5e21537da5e8438d235b8371ba68836c16cc83700ca643815294c3602081e360000000000000000000000000000000065d930380f7b07382407d735098dd2354693c5373a169c3724bee4348e9cbd34050d0138afdd1d38984d69366b1732362d03d437a4b90c38069c0a37dae11f36a2850038eef25738b3aece373d38de359772d93552ec3938af2aeb37adef9135798ecf3590bfb437138a8237b435cf350000000000000000000000000000000000000000000000000000803f000000001b932238d5e9ae396c9d7a3fe1c3d835a3349437781cba3959ff533f9b09d8348cc08c37761290385bfe283fd4c0583678ff8737690a80381d4df93eb1678336d6996b37464d7b387c72a13ea97bab372d03ea3435f755383f69143e0160ad37a038c735dc78ac37d41a8338bef8b8360000000000000000000000000000000000000000000000000000000000000000e6e8ed374283e936924a0f36dadc6c35539b23380f3ba6373254993606a48836486b1938b05a61375b1c7e3611cb6d36d7e03438a7b307389113e936a9f198362f591d3822fa1a386f01af3745e8843793e28b37e41b133827a14a3776c9b73682d8c737207481396e37e637b9eca93700000000000000000000000000000000000000000000803f0000000000000000b5860738cd21723f9ef6b036fd60d73552202d3868794c3f39ac5a373f0896368635ca3780ff273f0d64e13675f57b363253c937558a023fc93ec237c28cd336ac17ea37d4fbba3e480b0e382f2a9f37ec6d0e36fe0a5e3e7dca06386df9fb369edb7335bd909b3d958835384924bf370000000000000000000000000000000058b6bc366b251f3c46b58737d828e43640e2f437030bd83903849a35da818f35de952c383aab76380b5ab836d243b336f7365e37f5db3c38d3a86f3676eb5c363e40eb3752b4f93834b9b23750f2cf369c2bd2373ec554382737af37338b8736e5b57537284466380d18ce370b8b213716257737af444f3a83d90c38d2f2dd3777f004385976533a17804838b818133893d7a536f77a6d3f97697f3d03d1f636b9345b35a3ac6d3f52a61d3d197492350ef1a83643254a3f4829d93c3fb4b736bc894d36988a263f3c15803c8783683659b1ae36baba003f6bc5133c260f6e3717544f363e6bbb3e3bd86038517b3d37187642362ea0653e80577f38d83f6937d43bdf358eccb53da121da396cf6ed372e71913609da403cdcac49398da1203827876636ca4f6c3c30fe2437f0b46f36614b2838f3b68f395a47793531d56b35b5fb1638cf14b7380ab50e365d27df35eeca37389e90253917058137733fc8360ec008384f24e539c5276a3679e030362d7c8637a671a139122d913607fa8d363c65f53788d3db39fa80e73797de77378ae4f53621156838b4ee2637941e9636d32b12389c2285384e8e2f37bf54c4361fc04436913e483fe3da4f3ef9767236c6d77335366c4b3fc575303e9821753575e1e535649d283fad3b133e0359ff358d01ec368650103fc428d23dff9dd336d05629364197de3ee2599b3dfd2251366fc5443685ada53ec49e2b3dbdda8e36b756e036db08533eaca5863c4b6491378c55643620ecb43d12a9153882779636d5e1a436ca214f3c994d0d38d059e13632e4aa3715ea473c3ea06637e037773694ccae37bcbf3138af829b3626957a36e7f280381a76ae38ab761d36323f0e36caf94838d66a4f3981d69336ecc87236ad224f38c2498639671ac43540b49e35c5670b3802e48038c5e6ad36115692366fc1053818159d39275eb4378496b13581005e384b13283aac59d2378839a535fdc22938795d503857aa8236363c723636a0a43654aa233fdd67ac3e6f73d93636a5ae36cc4c273f3aab953e4b4f8936fbed023758e5103fe0b1713ea0dc1736654a1437be1af23ec65d3c3ee575883605faad35eec9bd3eefc20b3e9da0b93596888836bb038d3e692bab3de8c69c36e2e7a8356b62363ea482183deab2b2358cee5b3562a3a83d75d6a0384819aa359e9fe336db57313c33aa8437c0ee7b3656fedc37409ecf39e2bf7a3796835c36224d07380acb3638225bce35d02988357479c5372b890e38eb054b364d292536b1bd19388b794438d65f343621b813367c165f387e32933872a6d537df274536780ffd37fd395d3808c95836649140363685973761901c3812216636e0c64d3644a4e23714c43338526db236c2efe0356d941238c0b71238a5398636da1161366a8897360ee2003f172bf83e4c006c36641c1d371af9023f22e8d53ebdc1a6358f1e6436fb76e23ec608b23e8ef03a36f989e436c233c13e21e38a3e3d37203698091838948b933e38c9583e41494837782e3d36ceec633e99c7033eb3564e364ce25236de04133ea4b1873db62b5b36fff135367a49903d4e761938dc7ff935dfddbd37daed393cf824c337779e6d36229fcb3719d1e439637c6e36c9334636e7b18e38174dc2391ec15a3579874b35394f4a38de115b3810e0a83554939f3525514038430b52383d567936b6665a361b077938253189387c3b98351918873584c352389ae3813875049c36a7647b36ff886b388900a1384c0f25365b501b3691a6ab374ccf1738b421a736dae18f36849d8438ea934638f3b69236acee5536c8cf7c3639c8b93e4835203f8b635a36c0390138718abe3ed05a0b3f6ae15635f09eed3781e7a83e3cace83e4ccaa435bbbda4376d868f3e0d93b83ea6a364362bbdab376059633e15818a3e36b28f35956f8037aabd2a3e1071343e49cc8e36eef8e636ee81da3dc398ba3d32e620368533b7368bb65d3dd373fb37dad9963659c50a3819843e3c81802f3757c16d36db981838f591a6387ec38a36d696193616aae437f7d0cc37e6b04f36dc5b1236984e5238009e443869a261368b3a033626f809385b8f07388cbe2f36b12bea35cb6d3138fb8b3e3895a9d735fc3b3535dbb65438ab4d6e387146cf36a492ac3664dd1838a0a044387232e5356c85ae35090626389d1c723813c67535f2d0633548a30f38162f50375ced4636df5d1036537f323717bd613e9046443ffe932f36bb474c37550d703e715b2d3f48d0373661881038e6ec583e7daa103f99a63f36802d46378b033d3eec3ae63e7ff81136d6d894377234123ed743b13ef2f77735da46fb37ea85df3d9b9c653e5162c33647e20737c82d8d3d049a033e4127bc3567de4f36675a043de0d8d339c9f76e354db1a537cab8ba39076e65367e412e362969823829a880380bd366363f23f93578db1e38e15de1377203ac356793773566723138ce1afe3795033d360b6c2c36430a453884bb203865953f3632f22036675d1d3898491038baf44735571e3b3516dfff3760da1f38001c423616700f36b82e4b38339356388672a336dcd78e3613b4ec37ed9f3138143b57350d574635be599b377fcbbd36d2349f363dd27e3699605338570ca13de989683f1a9d1d36164714389d4fc83d74df4f3f631d8735d80a13386f52bf3daba22e3f1cea37362e6a0e38771bb23db4f20b3f4f9c3136907cfb37a7028d3d2493d63ea46742355a48d6368d234a3d6c97913e06272f365ee2e23779cdc63c7331233ebae69b36fa59413701f0913cdca6723c8e165535cc57aa3721c42b3913e8b5364e04933600000000000000000000000000000000e3094a3800243138339a6c3531295735a8661238817be637134adb352c43943595891a38ab432c3818cc7837443b8e361e800338445978382075e53628008635e8193337368c4638d8dcdd3673518a36c3449f372fd12c381cc90038b02b2137546bda368609fd376008e637669912370000000000000000000000000000000000000000000000000000803f00000000bc260c385f6cc63a1d0b6c3f3e876835b9bbcc373253073c264f463f3eb8b735272deb37d7172b3aca4d223f38ef033730850f377953b13897cbfa3ee3f6b03642d58436ea367238f2eeaf3ebfdc8f36ec65c7369cf91d38cadb4d3e4c0fb83797585b36b27baa3701795d3d2a1a9b370000000000000000000000000000000000000000000000000000000000000000f0cea3353ab998354b3fae35764fd735e8238434c9099d3460fb07357c3324354fe912361b83a135d6c384358f1cc5353d314c377d9b3d36fa0e7736f1fda636cfbb5237c0d58233584e5433d0b24533a33f2d36bbd1eb35b09a9135e378e03555724537eca0153708850b37e608223700000000000000000000000000000000000000000000803f00000000000000000a79b1352c11803f59cc91353852ac35c8d9da343031633f0dd4043588f317358906f8351930323f89ff0036dd73c93508655c371165013f79af5b3656238f366b6d273309af9f3e7406393331cc5033fb5d0d364cdaf53d5c541936facfb535836e2c3747aa743ce07c1537a6aa1537000000000000000000000000000000002cc60e343db77f38fedbdd37c8986737679e3536b76e2b3648253436c9923c36b2f9a531b0c2d83220f7ef34ace1cc33c5921c336cd01033bac42133d3be3a334fd27d36685b6d3621c56536c6146e36d3a3163332cf0e333ba41c3307ea1833ef87fb324da2fb32ce730a33a5ca0b333f77c5369983ab36ed2da636354faa36239dce35fbff1f36f35c0b361856d535eef3f833a921803fcc3a1439abc84b37fdca13364c11803f860d35389e94333673be51319861693fc9c8f037eb91c23409c82e3306783d3fe80c1f3342b344336a8960367cb60c3fe71593378aff433658311c330af7b73ef7d5603612831633205c0a33baca2b3e553c7e3795d11433eaa88f3630163e3dc87e2c372faa9936d2da6635566473376344ff35c538dd35da5d1c337c892b38520d4c37150d1b33003b613609cba23792e1ce368caa8036785bf335ae20e335390ff835f4b4f0353b22a8359a0d8c354ea48935215d7b352e4e9f369c70083683ba1b3682b3b33661120236b7caf435f4d60d366dca023661b7883525fe873581389135a7978635d59b7b3640ea81348cea70341db62d34fa347f36cb12813716ac4f35708558350170fc329cdd613f0451f43d02c823337d5cc435f117643f812eb93da5194536fec0fd35b414603f5edab53c100af635e725703504bb353f083caa3834ef8835ed68e435047e073f32c99d38cccddb3572b909363fafb13e49fa7b3868e60e367de88035ccc71f3ec05317382da88d3529133434fe40f03ce5094637a2386d3487d82c358ddf8738ed8fd236adb354357890b235df0031381f26c635b622963583c79535756a1936d40536350d7b4c3549de9d3597e0b435e4bc9735dc5eb135d08d0c3669491b3674ae18366c27ff3574f755377f210c37df1ca93661ec1a37717944346c1d1b34885b7c34afbb02343671de35e6c7e53518f2e73596e6c035139586379fcb6937c008a73649eedb369ef217380a5526387bc3323703734237c9529035f85a323f0af69b3e8adfa335480b1c352b0c363ffaee8a3e6aaf2235884095352870333fa30b353e6f228d350c1804368d111c3fe87ebf3de0b30936dc114f3631fdf23e7de2e93cffc8a736b7348134ab17a53e6120a1380a8a2734a88cd335a4e91a3e9c16373891b4c5355e059636ddc2ae3c5818ae371ba9b036da74883254a6ba38e19b0b380e23c932f9b42d345fe217380aabf533f37f11340b337d3633209b367e3a26367676543690ad92349e5dc934ed759834c4af0534ef7f293336fa3633c3054833e2672d333d746f36e204653673535536f8025a3616092833f18b233359a632332c0d2f33fbbf213509fa3635f8a19e34bd3c2834e3f86b364b957b36fc386136acc15d36c93f81348e9b82342dc68e340e4a1b3417281f34fe5d013ff006fe3ee08f1034f5812f362e8a093f42a5e33ebadff9358514c333b683053f5c56b03ec67ed3335a6d38337701f63e620d663e2e2e3b33dba65c36c7f8b73e75dd103ef9894336e34f3433dfae8e3e96ec9f3c368c30334f7d1535738b0b3edde8c23673a072345a4e7b369a96a33cdef878364ba93a3674871c3478de6c38cdbc6634584e0f349c0bd1378210b238e88dde32bb8cd8321939bb368d1e01388df777362ff79c369203d7356c53d335ca38c7356940c235b1910a34fc2e0634978d0c34f2a80834d874bf37cf0bbe371cbf8d367625b7368c920e36c25d0f36f42c1b36221f0c36877d9535795a8c351de69135d9fc99353f2fcf36dd75af35f4369835fa5ac2359253a7354f86aa3500ffbd354a4cb83541b0a832067da13e13ae2f3f5e8edd32edc98e3665a3b63e7ab41f3fd6ba4d36b707ec35fbf4b43e5c8cfe3e3e3cc63566bce133f969a33ec210b93e13b21034f6fa9136d0b08f3e6160603ef8b77436eee51f36b3b55d3e785ba73d42d11b36a5529b3549c0ff3d3e8e5e3811fba235bc156635afd49f3c19ae3e3753e3553575d5b335f83447384e1da535eef8c1359158c037b57da1385b561e35f1e4013533009d34755d61377411743489277134e28c84359d049d35662e7035bbf59735d94df635e4310936789003364000e035933481376cbc61372ef2f335951cf935c02b1537c9209d37d9508b357619933570dcb937b896ff374a7f03365213e535e9c7ee37962bc03763193936c74b6b3663b97c37662c3a36431e193383910333e15722358f5b053efed55e3f9f7cec34bdf05134574b2c3ecacf4d3fe336e733cdcf7c35d0a71f3edcde303fa65f6a3572c1eb353833223e7d6dfe3e6139eb35ae64ee35dbf40a3ef483ac3e22bfe7352c319a35d3e0073eb936243ee32e9435b1a5ec3570d9d43dac9e0b3a1031ee35c04f4a371630a73cd72c1b38ad6947360230cc345cc680383b62ef328ae80e3480ed15369535e536ec22bd340e2d963549f2d2364617ee36c7e52d36bc947d36175cef3262fafb3207f3fd32cca3fb32b1c214337ee92233c8c32f33b19512338aa32b37ac12263743fa463675025336c51f0f33b45222331eb51a33f9981933c8cf4535166a89377e3e9431356390318ac02c3757aa59375e0c2d362a9b2f36e1374a38e988183886c5ef33feb200347657ec35683d713c1b937c3f28b3b4325a88b336906e293dd7cf693f8f7ae935a4080133637dd33c65c14e3f77c30833e8b41e3315047a3c358b203f34d91e3384d187364f871d3cdfb8e23ec90a2e36e5301b33a83cef3a0be8843ea1c73333c01b3f3522de203ca0c7a33dc1dead32a9d84136297959397fc93638b39d2b365d43153881a3c63822266f377865ee33000000000000000000000000000000001cbc22371cd70a373e36d236d3bced36c2ca0536df84e0358f132835c923833519ee2c3667f3623366216b336bcf65336c5d3537e11b1037ecf231367e223d3630f70336bf230636ee09d635c4abae35a95dbb3480e16e34ac56a634e38ce13466a01336c6397b37a4efab355268ae350000000000000000000000000000000000000000000000000000803f000000001c231837339cd23759787c3f99efcf368b5a063619a646363986613f126abd33147e4133a86582384890303f49b574337ee683366b611738a515fe3eab4149362677d5354049eb365e2e9c3ea4dd36353c05c43408dcf236c879ea3d943fc03429c9a03577c10d38281edd39d2b2c435000000000000000000000000000000000000000000000000000000000000000092fa983678f45d3630705d36c24f95360c7895370a4182368e7d6036b39d9236230516382e9c5836058a3f3618887a3681d7a837e29dda363f7bd436a7faeb36e1c984363af07736ea94453675046536ffb49a37039b6c3620043c36e04c5836ecf537377530a63665508d36cf1ba83600000000000000000000000000000000000000000000803f000000000000000056f09236b7ea7f3f97db5d3635b6783698d0de37eedb5a3f56d27936e4ef8636da8901382e0a2f3f92964e36f059593687436f375fef023ff841dd367df1d036bd803d3682d4ab3e1c066a366ccd613683b747367f47243ed3c54b36ab934a369c2c8f3662572f3daf099336a7858d36000000000000000000000000000000007778d63553620c3a8448c73755a6c7350000000097dba9360000000000000000e25a6f3607248136dc976e369f5d5f363da82836e40a1c36ea692636375f173600000000000000000000000000000000055cb536d1934d368dcf3e36e0cb3636f35f6436064120365f59d03596f8b035247d1d37c86d9d360000000000000000aba8c837e38fb937b33248371f0a4d37270d8a35b17f793f9fadc33c7a2cdf3500000000c85f7d3fdb22e53700000000522d5936cb5d763fa93e7d3641a3673646991f36f57f473ffe52323665761e36000000008fb2193f00000000000000005ad631367e07cd3ec453483655583c36cf04ca35ab73603e416810368ecdcf3500000000e78dc03dd07fbb34000000004b724737adc1293c104a92372ca4283790402334babbfa3ab4bf4d35b4bc39341b917a3471c1583777da8b3411ed18342e097c3530ea1336699358357a02243344ad4135e0872a35b39d0d354bdb29359ee9bb35e544bc35c8b7b235a952a6354a835836ff6653360e2782356eb59e355ce23035b44b2235d821d4346acfe734925d8a370bdc8d35c9747d35f4f67535971e9c37e1db1237ac17e536ca790137f787f83303e8523f4fba283ec2cf563474d65f34a2bc5b3fcc16b53d07cb7d3400000000b6eb5e3f9e6b0b39b8790435b6304d358de6453fa9e00336ef3d36359f47be3593e3163f46adb835d3c3b13531c6ba35955bd83e6f642c365f926d35e0d53535dc18723e80382335e731013545b895350a24b73d1a988635fa738135b3f7d2364b20093db39dee36cf0ede36e09cd336824fe63aebc1e236ab5ca5362da49435c2dc1938a901a4353396b235ca1a943584008b37ed02ce3501be573591da4b36fb469036c0946636205d3436ed27023633741736f940c435ce67b135499fbe3694b6a03685c307360e50cb35b4a99537d1081436cf7f0f35723b93351282a337cf18103561ba0234d15a2d34f283be37b1c4b1364e8a09364873c035ae7dab36851d2b3fb18ca73e2811bb3673ee8a35e7f7323fdc91763e0722b835f80e58354b52343fc8c0df3d00449135c4980c36b7b7303fb406a5389c5c423646549635a54a0f3fa91b26385f18af35ec63ed359712ca3e390d9636dd0ce83594fb57355f30723efa6bd83504bff0344cfdc833c31cac3d9e9a3f346763b333f440343661a4b63c383a803608a7a5355d4a51367d09183b2887513695971b365ee80d32b8e1bf3aeb1a223252d1213236214236c1330f38ab9e21369f7516366185a236daf43b3851619c366f9a8e36b5520835e2916937d7d06933f5c85733b677ab364b6ead36b3b6993604a89536f3433636b2ac33361d5726364ce411368a79163279da0e321f081432cd64f731bbdb4837c323c736810c3336a6ba25365fdf143608fdfd3edea8f53e14d132368c3b08328db0083f0e83c73ed9e8213290aa2736c0d9073feac3843e99a60f3633bc95361b16073f8d22e83d03d49336854a54338ef7e93e42cc313d04c15e334cc4a136088cb83efd4ba936ca959336185c37366012583efb5d3a36eb6a233660bf11327fc99c3db2191432fed2043275b65736f1f3be3cbe5b41362f091e36ab97833600da1c3b284827368fc44c340cfc2334634edd389f1af533d105bc30168c2336f548ed38000000000000000036db5a36a9640d383e6e0836875592355da1203639e869380716d035db2c9e35d39da336002d01377da7f53519aaaf3552c02b3696b74a36c8d16d35308874358f9daa357300a335fe228d3559c986357ae70c37748f01373c47ab36aea0cc3653e20536227da83e7097253fb0b11535d45e0d34d2a8bd3ef1d60b3f4d639d334e990b35af32bc3e2857cb3e00000000d2d92036beb4b53ef7ba803e67d7a0355390b23551ffae3ef1daca3d6a179a3592c95e364a0f9f3e6b1dc937fa85c335240e1736df9d3f3e92952036018371351fc0b335c1ec793de3d096359f0f8b351a06ed362d6c553bfda4ba36a4baa936e16df63686cbd13a84b0be367fdf4f363c28813505b6cb385b968c35275e8a35e9792235a0b7193782b60235945a8134f591243635978e3613a4e83400000000b27bae35c36f9d37969cba35bc01b53589d97235a2d839380dac1e3575f88d345eb1d03592dc1f37000000000000000081815a34f0f0423478fd8034ecca4934dd93cf37f707b23486f41534d4ab9a33b7abd9360014223e8f9d4e3f2b0a7536e9837135d828543e5240343ff49090359b1c0135f565473e08eb113f53a8c834d3dfbd35b92c423e6e0bc73e00000000ae3ba63514742e3ed32e773e6209b7352b7c1335491a2e3e79eb6a3d69891935623bac359517053ed615cf3700000000276b5634781e5e3d08f28e34582afc33084440364eee1c3ca1a42b347afcc633a0a6ad375a09973a1e4bb536fdf37836e40c8f35aaa0a437000000000000000020c43e36ed962038f58d8e3593425f35d5a34d36a18ff637cca30f360ef30c36000000009519943700000000000000009e764336f1ec9838d88e0e36ec1a0436cab97936de0d923739f95736f2864836f93e1e36f17220370000000000000000b2092d381a8e013713929e35f08bad35224a5e37ba43203d1517733f1fee8f36000000001e2f8d3de578563f0000000005dd0b3648bf8d3d3567363f89845d358e234a36bb12563dc94b0c3fc8d806360000000023fe7f3cf1dcc43e00000000023b32366ad5ea3aa44a613e0b5f06367b318336dfaa073b4d39133d8a955036000000009ea62c3c486d793400000000710410383ebed53a7b98b235c4d5943500000000000000000000000000000000374ba53684a1a5376e8f2636845dab35dd568236f01003381db08f35440c0934785e8436f53525379bf8903502ef6b35911601378d071d387963d1369bdac536a848d9369a728538a938e33634fc2336c789ab3626022238d34a11372e5a9d364e629836e1cf82370e129a3674aa85360000000000000000000000000000000000000000000000000000803f000000005b5b93360a98ed37c63a753fe5b1e53508385136eafb673892fd563ff372aa34641c6f365afafc3787542a3ffa596a3563a2e536096d2438af98fa3e0211ce364fe56a36346493385948a23e5bb15136459394364c69d637f03d153e6da09e367dc388366c0906374de0bb3a1fbe95360000000000000000000000000000000000000000000000000000000000000000b5372f38ceb9b836369cc5342a6a4b33c5d1bf378c35b8324bb4b932215abb3289cef63766fe8636ac396d36b3705b36ed23cc38ca0dab32b076b7329808c2323daad737e0bc3f35288cea341f212834e595f7375a68ae360b06a536de2da43677fcb0389693fd36cbf58835fd13953500000000000000000000000000000000000000000000803f0000000000000000a2f72138b7e4773f85cd3d3516396134fcf106385ddb4e3f2f45b83272cbba3265f5a437296a293f5d1c7b36774568361eb093324a66043fdcf3ac32be7db832bfe442351ddabc3eea6a23351a104e346d55a63619a7513eec12a836fe68a43673f841355b87803d277d8235fe398d350000000000000000000000000000000046b5d4359488ca3c07457d37f8493436e642a535dc2020380e9c21363b722436f43e86370000000000000000c2f10431ccd8bb374fca6a31d9707931bcad8231f797f637a2ebcc354af453357319b93477aa8638afc09036093a813328b88933ec1ae53777436736fbfe1336ef120b364f6b1e37c0de2337d8b629360cc32636235421389e332d3843a2fc33b55e0234048b2e35cb41693feabd7b3dc22c33362d8ecb348da77a3fc7b7d03784ff1e3600000000051a703f0000000000000000271e4e311a7a453fdf3c6d3178ea7a31e5a90d35726b193fbad3c535344f1f35e2055233e479dc3e365676333f2685333af8c5351edd883e193b1936cffe1236f594a435c74ed13d9e543736ac4e29365fd5e3335c0e473dcb250e37838700346305c0310a0c123d06f41b32db503732963f45353262ce3a29821336110df63497f3ce3601ae803864d3b535f7bea8352987e0378130ba371d12a13303719733047ef237f72aa437fbf8f63476bb9934e1fd113648ffbc35b13a22353c7cf83413ad253808aa9636e0d40f363e3dec3534b076373fa82537e4fcb33460b9be34a11955383b2215376a7db93457d3bd3456c19231e310413f2dde3f3ed3df2132ef6fd5335832533f9b00fa3d8348ab357ab84a350cb2543f91149f3c01adb0357e5fb13300133c3f029cc83480ce9e3323ac11352bbd103f3310af3558289a346b4e0c35e2efd93ebb7a4a358e820835c60acd3591dd863e7172413661a0f735c44a4e34145d073e72c1a7341eafb6349549ae34cb246d3dcce8b73461eebb34409a2e35d305ee3cc11786352efc6735ce61ad3424c3153b2932c134ed0bc93440b61134907334397f922434e6b02a34820247383a5eaa38f06cf6357292bb35becfed36ff01a137fbcf7a34cc4c813429129c383aa53d372a8dbe339133c2331a6d0b38d2883c375c6b8e3659c18136069a6f385c9db336f3ab613445d34634cadb70384c7dd2333509cc33f559c33388bfb9343d9b1e3f59cba63e96c370355359a5346e432a3fd6ac753e5537c53400d909347ac22f3f11f5e73d8fe52534a8a8ef35df3b273fa2f9133dce1ce035387d6634ff12083f539a78343d448034a089d4343c31cc3e3574b8338d74bd33e2b39e36f691843ee334983688fa893699264534f08f083eb6256934f1475334ef05db33a91b353d16edd3339d63ca33693cc031fd7bf13c86c2b63141bd0332c6b7a93599a36c3b66699035a181393500000000cec7cd39000000000000000058d9cd3665fc8e3801f06432aae35932874a923749b1b239cc95f13555927335164409383b671938981c723281217532cf52023856b1f73500000000000000000fa18537daf4f936ed9544351156b2349037b837f4b0bd31ee51be31b028be310d4bbf31f75ef33e3ee9ea3e19e4b2313836473598ac023f9d0cbc3e3a126b350000000065cf053ff1387e3e0000000012b67232a428043fb8fd003ee57360329b1d08368230d13e1633bb3dde15b9356e016932ad84b73e1ebb2e376fdd733200000000f6be6a3e000000000000000060618a357cbcf43dcd1a9b35256518353e11bb31c23d193d94dbbd31aa86be31f6acd333be67943bd824da332bfed83385ff5b340ad30a3bd07d4f34ef6919342312b1365b1f0d3a2633943662f68136ba93b833fd79d93997ca0735d917ca3313f07434da11003a217e6134de115834e5d864387507b8385bfbe435d1d5c535b25d2437e9861134c32a06349ff2f4332c89f3359827ac34f97ba0341d729634dbf70d382902693579cf9434c29248347193d03349b0ad3e7dcb1c3f6a86da33b50f5234e13bbb3e4fcbff3e7a002f34fb3a903649e6bd3eeaa1bd3ef5de8c36a13eba33aed5bb3e052d703e39d9c334541379349fd5b13e07e7f83dc5906134fafdf1357cc4993e4ad32a3c8effd4354957203462a94d3e623d0d34149402343693be347a6dbf3dba38a934cf549e34d66a6f352e15d73caaa51d35512351340c8db73421f9463b3be7ab34253aa4343bdf95344cebc13a846d4f34ceed4d3417115c3650782e3aa298223553c6d632a00e313592ebb33989880335d34ab73266c1a8354a8f223aeee9833443cb7a343671ab3324670c391a0fb833a212bc338d2e293872a7353865833c3551db0d34281ea638692abb353574b833da520133d8570132746cbc31068e8431b23c153187a2b9349d9e433e49b03f3f5624a9349a57a634737c693e169a233fca6e4f3493751c363c7c633e00b6033f32a0ca3232c21b351f3e5c3e9023b83ee39f993409134335b20b4e3e941f6f3e1dde8034540ca4334234413e86cc9d3dce62b533f980ab35dda7193e7ac9a037f413013512ac1336c019553dbd40e034e65b2b33c63f10329995bf3c6a47a7313caa53311f7ccd375dd82f3acf41e1335844d33339fa5f366ac91d3a0be88d351b0162347c373d36c64fea38ee6e9835637d513460977333e9d125396b94503382f738336b46c735a0d132398f239533ffb68333a61c6731da80bd38a6c74631223636310000000070f404390000000000000000002c0d36b468d7353101a434000000000904f538fcb13f3732b9d534462af430686ffc332cee7c3d0fa6633fea60da331bc12c36a68ad53d42194b3f354f4335a34f1336fc4bb13d5784253fecd4393588ac7e33c09d8f3d8ed4ff3e30414133dca2913557fc393df919b63e41668e3317c36e315d50a03c6f7c563ecd1f4131000000002bf4033c2acc5e3d000000005b9a1a36b125ad3c0dbf9f35c4a1e533f30687383a58493ba8b6a93576c28d3300000000000000000000000000000000e9b57c351e674a3a3a22323534dbb5344ac1a8361455bf38aed1a2362b3f8a36b6e1433506b6c8383e0e183519dea1349938a7329858423ac9d58d324c428132f7e88136eb42c43939e895366d108c365ddcbc32f2a8a8381a37b4321ca809337e185a35381d6138a11601380534d6350000000000000000000000000000000000000000000000000000803f00000000534489354b827e3c2ce06b3f08280735770da436fa55513cbc62483facbe9a364a9c2935982d6e38ac93213f1e33e5342580ad329cec0539ba5df73e757d89329caa6d36cf189b37cc2bad3ea39891361c7abb32d411bb32ad08453e0ca0fb320d831535af570c3880bb023dce2d6b37000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c452a835d5576a3507dac53545abec353bbef8349b0f82345005b53448031d359832213458db033434b52d347927753406dc0e364229f335da1217368304263681542535522cbc34b47d8d34a6e45b356ada3933b01980331443b033bf33fb3200000000000000000000000000000000000000000000803f0000000000000000000000005846783f0000000000000000b5add835592d5a3ff39b783544ef843543232635df812a3f7a5dfe330dc0be3492223534730bf53eaedbae34da9c493461412036347b943e676cf53540d6db3566323e35c451ff3dcaaefa327564d634752ee4327b8cbc3c87618134cd1678330000000000000000000000000000000061740135ca1614359bf65c358d342835bffd0f36823f0a3694e7293621dc533651adb735e905d235920ae43506e7fb35a8da8e356eaa3a35b0a27f35574cf735018f4e35c11e0535798e783567dfd43516b9c2358e3fcd35b1f3f635e8dd0636ea77b935cf439b3567ecab35895517364a6fe635e91ee4351274fc35cb0a1a36774a84352e018635c064a235e52bb635acd5dc343ae4793f258a0e3db2a51735ffbae7353414803f8097873aaa281d36acdba5350f58633f71dc0536b493aa35dda6aa35333e373f76c095394c92b835b34b233599850c3f94bd5235a09135355a04cf35a194be3e039ae23975dbac35c26bf435be2e3f3e38d01e3a19d5d4355d06d6354feb953d8efad035fb98e435ae5ca235e0beba38b45a6c35acee463519918535ae70b4355b58aa35454a873503174334429e1d344e4834348889f333b37aa833ebad19341c161e34f0497f33345e36350143373550ea2235426137353d623b3423d8a033916c8e320000000055c1863444f4613461fe2534aed93934433d6835ed317335088e5f35936f6e35778d943495203e3447ad0f343674b333a2568f34d36e633498520d3410df2b34084975353ec55a3f9448213ea62b6b353868283463e95e3fe1fee83da4ae16341ab35433e8745d3f2800ac3c263697327bf141359994373f6a0c983bc1f64c354a702034c9f10c3f3eb15b3bd9563633b2ff7d34633eba3e4ea9bf3a6faa2834bf355e35d49d333e0eb0343b73606f359b528734e774333d94b80139e4c317342a1b1434b1a7d639864b61368419af334709a834ee37fb34308af634aeb4c034884fd033018df133311df633a86e1b34b62d9835887f8a35d451803588fc7d35cacb96344804b6345155c834fbb6b4342d9dcf3398060334f5812734c6b0e833aeae0536b249f335a5b9003644050a3600000000000000000000000000000000a8083c34cb8a2a3432663934b98c37348b41ea35fe7df13570bdfe35fc6af035378a853434fb2d3f1712aa3e49d4f334e35ee533dc34343f88ed8e3e525b093405da6035d820313f0028283e8e876235a7d89c34d8db233f635a813d1bc5c334d3d778338ee7023fb51b0c3c564dce33ad76fa35b24aac3ef10ab83b06f3b33500000000bba42c3e799a853900000000e3d30234b3af043d43bb4736f9b21f349005d335b1032039322cf035860ce735209b7435b74f9a353afcab35878423354267093690e00f36065a1a36edf41736245b63354da0b235f31667354a1c69352eaa1235c99f3535e1901c3545915f351f145f35d4794f358fcd8a358be6b635debe2135a8638035e3ee4e35477252356b9f2635a3fd6335564c4e35f7bca535077c0636c149023688c00136d0e4153675a165354baf7535e3dd7c35e596853516b63b35e0bffb3e9b6c043fd9d10f35b77bcc35fa6e083fa915e63e6933e835ba430a358908073f2d47a83e2f0ff43457570f35192dfe3eb60a4a3e8fe91835a5cf1a35e5e0d73ea12dad3de87160353fc72b351d1ba13ead10e23b0b3302357ff14f356ee9213e7481233a79a345355c7f01369389fc3c9e500636a73df535d2c28735fae2423a13a638354a5f3b355a43b6357609eb3576aec13580ed933525dc6e3453ad4b344e810b34f95018340e88bc31000000000000000000000000b525d0354fbed535113bc0359bc0c43575536b34e0d30734c7408433fd283d3204dbc434cef8bc3430fda6345634953422fb7b351fc4873538a97b3583e77c353db671340e7c18346518dd33ef7e5733e5b8db3426becd34ee35ac34d6c4c53412d7ca35d2df9d3e748a333fbd4c563522ae5834209ab73ef9871e3fcf0af533000000005813b33ecec8fc3e00000000017db735b56fac3ec5abab3e8ab1a93545bb5634f6619b3ee547433e04f03c33a6d6a2344865853e754e4f3da803a53496a0713538cd1d3e8ed6953a5f8882354a4960346df0e83c5060b336de93e5333db0af34736a9f34a3b0903437659b343c9923345845933436f82a348a230c349a350934230f1634e80f1d349ce13e347b3f643546906e3590ef5035313734355c0dde3386db5134ce0c543438740534c6379731510113338d224833684528338d19883512d95635d76e2935338132354acd9233b386c2333b2fab30dae43c33f1fb0934fd393a3419842834e6861f34abc3b03580e6af3505d4b4352f52b435b921fb338ce0133e4e615d3fbb516034432e18343396363e96084a3f5c2b263494b4513534c0293e925f2b3f11c83735df2111343ac8143e6171003f8b9f32347d570c334cc2073e5f74a93e6f3f7b334cf37935de15063ec51f243e241a19357ab08b337bb5dd3d49178c3c2e231431f6afbf333ef3d13c7c8160348702da33c1eead358d91bf35e49cab3522cc8c35d2a2a535b39ec435af01c035193a5b3592a30736285b0936bf20f4359c79eb3561730436d54009363083bc35e504ca35bbe2bc359784de350c4aa83560dbbd352c6e7a35470c8135dd516735bf1a95355de2ca35625dcc35b7cd90359618a3350e04b6356f74d63572c4b635203ee635d65e213689fa1d36fea41336ca60243606f966358fe93d35fd7d47359abb01354b6c8535ff82cc3c2f607b3f55d52c352a80eb35c953223d7c1e653f96f59a3587d9e535c10cb23c9e4b4d3fcede99350300b9350730933bb3a2223f71eba7351f593d35da89253b3c0fec3ebbab0035d4c7cf35216ca63ad1fd963e98d380354950be356c3cd8398926f93d0d6eb935d219193646c3c83a4cbf8d3a06a60636f3616035e16d5535526e1a35faef9c340000000000000000000000000000000008f84534225ddf3330c6b132000000005910673535cb6635234319350cafd634cd63d235387102366c92b935349cad3577ddcc340bd47b344795e933ec6da3338b9d1735198833357352fd346ef4b9346eef8a3532b19f3500fd6835f92ba935000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000005c0c1634e42a52360c267c3fb1cc223324798c35f8149d354665623fc1a3d334f0470336273017366677393fbc51cf35fab3ae342262003584f1083fa5fb2d346ee24035acff6435b760b13e49d1d4340e339135c169b2357c0f263eb046a73500000000000000006d8b273d000000000000000000000000000000000000000000000000000000000000000000000000e8371236754f0b361f42d335e51cd935ab3d8c354f36b334f987fe33d9f8df34269bb6353d735835e10c793569e08835b3daa235f879b235b6b6823589f9833500000000000000000000000000000000311d4a37242f08368351fc35e732f33506444e353d1d5035124d0635ff16d63400000000000000000000000000000000000000000000803f0000000000000000ffbe5737cdcc7b3fe7c4ff35a90fd235304f9e351254553f64db5d342835fa34ec52b43564592a3fb4ba89351100503532facc35b8c7fc3ef29e9735afe77a35000000002e95a23e0000000000000000ccf5283692a71b3e3e231136f47de23522ee8635dc175b3d27083f35231fe43400000000000000000000000000000000240f8e321d42983ab2974137291c0f329420593428265e34a3362034526bf5338b43b23433b4df342d98e334da0fa934d41d3f3558a08c339b02d8320cfd8e31000000000000000000000000000000006b579b3493b1a13417aa9a34ee0c5334f626c634cdd2c8348078b63440e19d344d0ba334810aa234b48bf634e22c18352e9617340bcec4331a2ea233f7b03633451a8832dee0733f3c84b03cf44a73321ad14a345f767c3f06805b34a59d3a341ab69234dcd2753f27ee4235e30ab43467dd9135cbd34d3fdd5d08330c57803200000000dbd0243f0000000000000000a2759934ca7af13e3847ab3497105a34ef7ee9340f36893eaafac234bf0b5134916db1348194143eef2daf34bd19ea3471ed36346833473daf6dee33eb551833f6b46435d3b1a63c4cd48335e9823935c404073613412e3a55451436ad82de357a6428356a1b7e35a5cf1c35682145332469b0340328ae34c278a6346f92bf34eb41a035072c9335fdca9035e3d32935d83ba435394b753439ea5234a9c03834a56ea634b9be9c34ee6eab34434fde34799f9c35eaba963513166e351a232035a8e5e9373d2c9837b217833319e67533261e27356a144a3fea381c3ecdf56835e16ebd35734f543f94fcaa3d1ce201366863343394795e3f7fa09639b375eb33ab3fb834cb675c3f8baaa534e502be34a62d94352380313f14a2b535a48a493553a61a350b8c063fb1e2e334ad9b1534316cb234f042ad3e8f729634e6f6c634b9547d35cccc293e8f149535159a2f35b0bf013545ed903d1365ee35baf93d3381528635727cf53ca8eee73605ec7f3580713e368702943a08f5fd357698ca35bbcd063511fdab395485de34bdfa0035c3b8ab34063ddb366ebb57358c383d34bdf16b3625c07a36ed1c1f36792a0c368dfbe235aa82b935f8296035b99e8c35f2321b3653c1043515022934c9e01233d2ab543603d45e3618b40136d28bf435c05b3438aa5496354a107435e89b6d350e7e4635bee81d3f8238943ebb466b3568de0136af4d243fef74433e6242ea3519497734e8c1293f3dcc893d92d60e35f813a63480052f3f5a6a0138cd230a35c57d533625fa2a3f93128636a0cc12360e14a035bb07033f9b2b7f35bbb51d35f30bd7343e5bb43e30a3823409d7ed32aabb2d3684354f3e61ef1e36f6f1f0353b2587355cdb833d05de5f35d3144335e6711c32d7b4443db2ebdd31f9f4943136c5a934bd119c3b733e8934472f6434a4da383589b7113a4814c8352537113516efb0349906ac39587b3e340000000000000000000000000000000000000000fd045d344b7d0f35f3ce3135813ac434f72092354c2cfc34cc15f53323693f34dd11853459508734d1baaa34c2c9c43483e6eb371827fd31c97b0c320c483d32472119328911e23e9489e23ea92f02322bed9734b5b4f03ef95aaa3ee06a8a3423a82e34ec25f73e500a4a3e99a88f35ed789434395dfb3e7874433d0000000000000000b531013ff67612390000000097bbff339972f13e9cc4753545fe2d35d8eabe35919ca83ec90493340590d633e0f28834fce8513e51b08f342d40a8346c21ef31e17ea53ddc580032d77f3f32fb727e35213b0d3da6ea663500fbfc3443ac3036ff5f7d3b2dc7233689dad835249f2235e4ac173ab155c634f5372c34521ba335b69cc239155882357309d7343ad76e361ef7ab3990826936d16a3436e6117235d248ee36e330b334a450c534fe6588358b3c703462523e34dde86334afc54d36d3d34736703508360032f935fac0d137332eec36e6eb4c350da32035accd5935f098913e24dc203f347f2935b0faf93546f6a43eccabf63ef284f935aaf67e34c735a03e877cb03ee2f6d4328bf6d2340474983e59e24c3e56c8b134bfb32936548b9f3ed2c8ef3cffcf4536b29e3f35ea90a53e973acd374c4c903404141435a9cc8e3e3e29923466c05a34c7d50b36d95c333e44e22036fa1fe5358f159337358e993da31930358e1b1735ad05823573e3e03b30e7273313a61333fe01a7357c07c73a75063135cefe0035b8c5a434db0e913a974cb7342929a934d3c8f834269797393bcb87348322113492a2b4357a04a338887364353a44543578b5b434779a00395907cd34cd38e1341052613535e9a135897a0035050d3b3374dc1f361d212536650dc835beb5c635992e3e362317903564b63f35c0742a35d3718a335b21163e234a483fe9ef1a33a3108035ceef343ebe502a3ff35d2035de0c9b342889203e67b4033f5064a434ff0f9a347c540a3ea7a6b23ef1690d347a47993584e9ec3d3b964c3e0f205a35741ea534a9640a3e9c983f3cdc80d43489d3b034fecb0c3eb3ac9d35cf6da5348c761c360a5ac43d7cf30436fb97ae359da68136db083b3de67a423591b0ef3488348d3478f5583bb7fd15345a440d329079ea34ca79183aa17ab734e3b86d3491178e34feab5538efda9034066fc933a97bc034a1d2ed398ed89b347cc33e3400000000fb73fc3700000000000000003af5303472b1a037d6947b356e8b8934daafc3344beeaa34a9c79d345bfc903422fc2734e5242a34e29d413413237634da5f553777da6632818b7632c52ca032a01b4934dcedc73c372b6e3fee187e32e86ad13414e54c3d33944f3f28d4a134417ab93405495a3dfdc72f3fbfd91c34a553a0343327463cab1a063f6a76fe3300000000b3cc563a9c2bba3e000000006e5fda315c28e239e14e4f3edc01a834fcc5bd34a9ff3d3ad11e393d8d0b6d34f21627345854973cfcf22e3471956f34f3a19f378239033db96f683271a0a332000000000000000000000000000000004bf439357a7c9a353d55653519e2af34ed9220367001a7375c2fb435b4068735000000000000000000000000000000001eb2ac35a407f035b905db35d8ff99354f03e0358618d03532e99935d4fb8235c46d8a3556686a35826357353e8d8b3345b10f36dd868c37d9467b374f510a360000000000000000000000000000000000000000000000000000803f0000000037c00c35e4f59c353d96733fc352e934246b0e36c966fb3767435a3fe6097b35000000006a45a6374f82303f00000000f1808c354bdef735b0a7033f29bfb135d5a38f35a5d0d535ed77af3e4cf85b3569046235a1c281351bca313e69ea86336c13ec35c4071e36c3b2b73c4d741536000000000000000000000000000000000000000000000000000000000000000050f84638f6985134000000005a8c0b334637be38fc7f9f33ecc74033b1c23d33fdf3d0381b7101344c64df3380f0d43399fc0339a64be8346ab3c133d6dd8c34fbde6d3824da9936c6800a335ed90533d1c65639d1b94f38ad5ed53428e417352b808439d10d37378ec90633bfa01a3400000000000000000000000000000000000000000000803f0000000000000000a987c036beb9793fa2e8d533000000002cb2ca38505f4f3fab1a3f3332252c332ad10638e816263fc40bf13366a2da332034b7367a1a003f264a9e34fe770734706fc83462c9b53ea26bae32249ca93255ef953792423d3e0ccb963731c4f034aba0b435681eae3d5e96f233cf9e7433000000000000000000000000000000008af5c33300198b3d78006334dc7a84343e9ceb36e351903850908b33a046bc33b7ada838c243a33386245f33dd828a332425e238f107e9335477d033002afa33e835ba380000000000000000000000009727c7387793c536380ecf338ea8b9334c5a3f39fdc23b38efa8d03307c805344615913926474f380000000000000000385b9f3876d4223800000000a6021f33584fad33bf38623fc6eea53a48596d34edcd9b32d304783f9bea9d37213e9f33598cf6355eae7b3fa7420533e7d85133f4f2d33757c8533ff186cb3368f0d533e20c3533a2982f3f0000000000000000017939347a55093f0ab1b433acfc96331fbe4e3602d9b53ee205a3360005dd33000000002a5b363e79c9633500000000000000001144c93d98d95f3700000000dead6a34f96cf23d0b56b434f928d434bc8f273370feb53d2557f933915d17340000000029fe91380000000000000000148c2a38b419a83771d1a5307702a2303b519238e331ad37706d44335cda0433c6599c384e9f0b38d2e7f432221a0333f1899c3804e232370000000000000000a4eedf38dc2ed137000000000000000003357438f0d90838c94e2d341b164e34f50938340c93313fa7a5e73d1092b834f2c8cf3237273e3f11b7f93c4bfa02340000000071a55b3ffaa9203800000000e17e00315f836c3fa140ae30709a9e300c9488326dfa4e3f2a93fe33710fdc33bd92083244cc2a3f9152ac348a1c9d32000000006f60f63e000000000000000000000000fbeda13e0000000000000000e86986346ff9073ea3617136909b1d3486d43434e728113e3aea7e34d47f3c34103baf32fddc073eecde083377282e33bf3af03122708e3d00833432b6c97932e33d85361c6e3738d20b08312b5de2308c9f103852943c363b4ea73324c3bb33fbbf0839caff9d37d42fa932f2f59732da429438880ef237000000000000000054206f3841db0d37ecdf2f33cf7d4233b715943850e78d37ea4d0335a9dbf8341af7c933f09efa3e34fa4a3ee8a6743415a37232ad81fe3e1858a83daf0c1333253d6032eefe133f3e8f3e3ce5c64932de04463184122b3ff24b6937ca0bfd30a3bf1034b4983b3feb4394334f279f33e5dae032ec84243f6079bc32e43da23200000000a1c1023f00000000000000009ea2e4332233c13eb9d71c33c95118336ab2ce342718433e71890335855af634ef2222346684273e99e0003466e015331acff63633ef053efad15d33ea8d9f33e5e190366b1fd83d0000000000000000cbdd773368bb613d53dd9a33b152a73341558435591ee0376690343424785c344d4b0d38feb05737c39acd33b4dd40336b6feb38d9f4dd3700000000000000008acacf380375e6370000000000000000b4b25f38403c0b37a0c24c34597813346e2f5b345c42a13ea975a63e07e2eb330000000093679e3e86694c3e95268533000000002f26b63ecf7bc43d0000000046bfc9331bf2ce3e492a3b39e44f9e3306662d342bac003f6f7da7359c183c3484e195333bf50b3fb579e533c4dd4533b7ad0e37ca39e63e000000000000000044b7a6353857bc3e00000000000000007102433400ef523eb2d92534470121348b613e36caae113e3f626334827e6f340b155133092b063e0d2ee633ab6103345d3b2437731ec93d0000000000000000129243367e1ed33d122c0733af182e3362a9ac330d11d23c6e661334ed572934558db53758ef0738c46a4e31442b5a31adcfc338c3cc7a37050d5732c72a5b32602b3439b7dc55366e116832fd2a7d329bc80839f3d00937779fa733ec87ab324bd0e7346eae3f3ebac3f93e86dd59349e432c330cce2a3eac4eaa3eec50f03300000000a6f2393e1c825d3e000000000b62af3256ec383ed65aa43dc3fbe932b593a133519a7c3ed9032838f94a1b347cfe0c31cb45ac3e0c5c47315ce34f3147bf1d329b53b13e85ec4e323e9a6932d3af083302a8973e50e19c32884b3932c0c697340e67373e388731342c41f232f4c7a3370d9ca83dbd102034bf859a3100f42637e16aa43d000000000000000000000000a705833d00000000000000006fb2bc377601ad3d5fc40b32ac281632a3435a378f63993d5e438b321ad9a2327c272137c0f3233cba0ffd30336d1831a2b10f38a3dca4370000000000000000fc357338560330330380ab321d7a9732a9ae8738291b0336eefd2a344e373034beae4334805ed23d9a6d303f3614dc3300000000d3d8ae3d2b5a063f0000000000000000009a813d170dcc3e00000000dcadf132223ff43c90f5653e4efb0d32a14a9a3371cedb3c2d1ac23d1d199532d142a13084ef8f3d0f118338bffc0931000000009cac153e00000000000000000455f033fd5f133e97b5bd32251e5a328b633f37e092a83dc5e94134197017347662d33724562e3d000000000000000054a7bc37c810703d00000000000000005176e8375581543d27eca83389cd393341d8a433463f413d4fb23b34bd15483400000000e2e9133d54acdd335f3287334e34fc33b3761b3d6856cc3333688f3342ae903352d8a73cdfcf9a34cb21b53404ac0938bcae0638b2bba132d1f9c43229bb8b39067bd0330c8ba7338561ad3300000000fa07073cc4645b3f0000000000000000bfa11c3d47373b3f00000000b1e1e233c9d6863c7f69153f4335a0331f7bcd335b2be9383a96d83ec68c403400000000138f9b386167913ec2036233980be9332c3b8e385521103e484cc93320997933a997a3380ba808393eaea23460bc8533a4780c3db6e50c32936f8a32a1212f3747415c3d36049933f1549b330000000000000000000000000000000034b7d6340a10923c8dc47b35f0b1b434cf180e38e08ac63c41e1bd3380bb0e34ccc8a732f6828c3ce0bbb333bddac5337fd91035459da63cece7db35dadd7235ec54fa330bf9803cdd12ee34e92aa834552e78335b13b03cb10f5438dd6368342f7e8734e1f76f3ba49c15355a7e0d350000000000000000000000000000000000000000000000000000803f000000007870fc33f7471339f51e673fed1ee03472c7c534de81093912714b3fc704263444251d3349f70a389c69223fe88dbb339758a134d0cfcd373dc0f83e317ab035ba08ed33c350cf37999dae3ea64cf6344c0b6f336a42f43697c5313e3d4252345415bc33a44fb1364f7dd43c18722c3500000000000000000000000000000000000000000000000000000000000000003ceb8837013eeb35db12f335289f783619e2f13766e1b9360e6cc33697417b3717b9f237a01b8535da2720361485aa37729a6438825a2f372b2069379331153822291a3875795f371b0a7237d26cd837c706ce37b44b16369ff51636ead36c375420a43769914c373f4808376630903700000000000000000000000000000000000000000000803f000000000000000002a026379af47f3f8d831d372e22f935623bfd371406593fd133b43714d72037ad600a38bed62d3f9b30b737c99c173787d85938ffd8013fdc3f04387000b337abc0193830c3ac3ea14ce437a7039a37da3ebd37e0082d3eda52173717441d36a91b7137749e2438484c2b37e387213700000000000000000000000000000000948a9137dc1b6b3731ab0437116f703783084d36c0e33d3664a54136da374936a311c237c89a7d36fcd88236d2f684374f06ad37aca7e5369df00437454982375b0897377be83b36def641368d173c37b1332937e637a6369b70b73680321a37ec2df137b69c3536975839367f878c37e94b8337e4113937ea1f00375f6e7d37c11b443754f81437ca37e836208857376098b43591f77f3f23d3073818332237b8b537364cf77f3f5ce7f63700dc433675b60037cd425a3fbf6a2238e0ceb63690a120371034303f2a583138c5a31437cbb0be36343b023f3cbc02384cb798361b94cf366a9fa83e63652f37be9fcc3655364f36490d313e97acbf375bfb3936a494ad3679b8343c538f2a37de0ae936486caf36dc0eb0371c4bf536132ec0364759c63775ce16383f304d3621df5e3647e9ae374f1b2737080c833616b0a536ef7d10386314153771b59a3516f05f37d78e35389d942637da6d1437a6a8773776393538d30ccc3665a2b5365d725337f38bf237d8576d37a0a96537f8fabd370b982e375daace36be25b236ed721e37fe88ca374a7a8c37a8b81c37c0be9737aa0203386a72a5372d9d66370064af371cad2b36ae09583f35a81f3ea1f3493687eb6a368a9f593f8d4a193edc7f8336cfea8c3680b9363fba830d3eb337e73511971c375db6183f0ecbb53d40b2213708add13675bbe03eb88c6d3d8b1ccb360eb64b3746779d3e86316439a9b6673755d46a36331f293eb1e5ae37e02f97365e5f2537c695283ce57dbb3727a2b036d03e7b379d6e5e38846a9c37c11f08372e1ff0374e542b38c04bd536683aea365d1ab137259a8b3779a4ce3648d53b3796ddd93785fe14366d00c73409701036622117381c9596373ff44f36995d8e371ea299378aebb8351144b035a323b13500740c385dd89537feff72370a2da637116a283820f1bf37c53a1937ac7fca37335da337853839377bc63936b4033a37d4253f38e70a8437035d40376b58913745288736ab5c2d3f5221a53e04559836a6a79a36a0f82f3f59f69f3e47919d36ad564735df0c193f6c27873e95aec53408ef67371420fa3e084e493e335e0c36794eb435e93eb93e19700b3eada4b43537db81373d09803e0d15863d12dd663715a4073793070e3e2932843833dd6f36bc0cb236e3f6f63ba5959937dbee133611af7837a6d1f8386ebe6b371cdbfa36cb813938c7ca7338a8d61d37ef33dc36f42298371fff5b37b6a718360b3356363bb6133848ee8537e47ca1368c90e3364cbcef3746db31374233f136cdf920375eaf3e38d164e137d134423657028237f78ee637060d3f37a184203726913c3740e12238debcb837dd5b383704869737f1c59c3798a86a375899193757d741379a913538b0cbee371de565378a76a9377d2e4e362c55023fa824fb3e39f71e36ec8e1a361d50053f7a41f53e70801436b991de36065ae63ea731ce3e66488b367c0025373184be3ee706a03e3954e236efdba83799ef8a3edef8693ee3f83936616e3137367f3f3e7153033e3d321437061a7c37b52ecd3dda75403d9a76f0363de82a37baae433800d3a437705bca36aa1f9937a5ffff38725196376e81bd3602977e38cfcca5389e1b833635a84a361f99973792e94637238d8335515482356b8e2738a6f66b372ed98f3469b38c34b9c70d38d73390378159c83610753b377786a23703cebf3579a0b23585b3b03516791738c630d4377909d236113b89370a7ffd37f6a58237cf8e0736ec33b0366b42b5376bfba23772e27137e00d8a37bf950338f283a037e2090137f19c8737bb593f3662dbad3eacf7283f0bc95d3559e69d3500fbb33eff08243fd8468135ddcbaa36595aa23ec7410b3fc2c58e34cacd873770b8833ed9a3da3e083e92360d91b3356c60433e854d9f3e3c23b135fb3ab337c5d4003e0161413e105e3f35e53f0037ce03733db543a13d0c858d35c9509337dc6b5538b2ccc1370e991a3775cd9d37c23148380d858b37740ab8362653133831d52638bcbf7c36a8cf7a3651bdd03744368b3719a217369fac19369bcf67371ed5ad36b9cca9358096fa352a672438d93d8c378baeb036c3faf436d2dc4a38880f3637a34d43361fd661365ed98339076c7e37aaefd536213b2737468c3638cec3db37534fb5360f8e5537b03fdb37826e8e3705c19036197a0e371bdefa3756e81f37f9145836b4bb6536eb02da3652ff313ec76b533f50b257361929ac36688b403e4b344d3fc4201336a8b1a13697c1363e3d01283fb853813542ef99371463163e2b970b3f906da8361c0d823724e6dc3df940ca3e2ddd4236c7b284375a0f7e3d6431813e4e3fa7367957b63760d9b83cf350003ed09aa23582949237a57b36381a7d0238f24185364c6da73741e74c3884461837f1284336631e923756c26c37f25b0436ea74f835911e9537222d0c378caa0136b88523367eb71538100d3136c9391c36e3b92536e80a36371b75d7362adf9a3633449e367f45d537947a0c373e5d2c363da135368c690238c4d67d376465d336d15007376986ee37003ea43732378236ea8fea36a3e47d36183e4b3657904636f0be4836e37e8037fd493e374c8eb036e3160a3767faca369d4bb43b5a8b7e3f1de7de3509b40437ff21fe3ccf32753f5651f2357d09a9366bcf013db6914b3f18531b36732a0737734af63cd9f7233f09fc9b3633f92a373379a33c2a3af13e16032f36f8a087378b309039315e9f3ee8a4d13611b2a937d2e39138eea6163e7c758036eed84c360ed5b937c39f9a37f9f8413600f185379041a037e29c1237bda4013600000000000000000000000000000000d3cc9737c6f304376e4c5f360efb7b36da15bd3774ece2362982ef3564200536996b183800b8c13714fc4a36893a0437c49645386f6fe1375f40893615bc42370cecf237ff7ba937dacfc93536930437d163de3794e9ab37a50127376536763793624337964e493736cbd8364b481c370000000000000000000000000000000000000000000000000000803f00000000d7a54b375349e33769f47f3fac4b753693ce14375ed129386db0543fd919043685cad33704ea52388788293fdad114376ea3e437eea89d383611fc3e298a7e3713019e377a793a387b31a43e5295f536bdc88c37704c2f3834a31b3e70973f3747a1b0362d8aac371dc20f38f469f9350000000000000000000000000000000000000000000000000000000000000000b75a3d38bf3500384a2df136b6b65a37c1974538173bb237ecf21037fde57937c2a99839939fb637df2d62377713a937ee609738a92d0a38103f8037af88003862e65e387643c0378c6d75371710dd373cc846385c360f38144ed437662d15386509b337839888375da251374295ae3700000000000000000000000000000000000000000000803f0000000000000000663d413813b4733fb4240138b18335372c60de3873a94c3fedc7c73702a34837d52ef839de10273f5491c9374fab8637e60e9939e71a013fdd001438e2d69a37d6100739ea05b73e190ebc378cb680370af35d386efd563eb35a06386e57d63774cdba37094f713ded573637c7646037000000000000000000000000000000007430063804f03f387aae3b369bdb38369ec5333af2344338c912bd367f36d136ac6ede3944b5c9370c555a363a15bd362a46253a4a34f237842ffa36018154373ee9f337da1b8d373af007377137613763d7c53864efdb371c70123716fab33761e906398fa6c537309f10370ce6b33758810238a4a6b03704d7bf363c19bc37c5d3e437d9f4a9376f564037798ebe37efb891366049723f844f5a3d37de4836a2ea16383d22673fd7d2533d977ac936f9832238b972443f24e1023dee827b36a7362a39076b213f8d130b3caf350d377baad637aed4f83e21dac637d72213373de049387590b13ea3a602380cf816378e1a1238be3c523e981cbf37cdb3103766f2f537225e883dffea5237d95da436e0cce83794663738666d323753382237516268381c64d4388a378c37aeb605373b132a3a8c4ae739ebdbe735f35ae335f4756c3a78bbb4393819a7354a0bae356591bd3838a534380ed4d4355fae18366bd363384a7913388d4f8936de6ee236b741d039a1d75537ebf1ad35d4d4b236765620385c8ab13762ce0437d09f3337190ecc37cca08537e13d8d3580c42b37615c2238fb8bf63746c2b23789f4de37158b8d37a97a4c3f6fa54d3edf162237bc72153776ea453f614f403ebde5dc35b2ffdf364a0b263f3648183e34a6a935ec461d3870b10b3fce25d73d4906bb35dc6a0c389988d63e4302963d6a7b5a36728138373c099f3e8e58b73ceba145355044b4377e40453ee0ebb43702adf83666c09337808e873d66f72f3705fc883534a10c3811e42d39bc49c0370aac9b379623ff374b4cb63872ade5368998503653084d3920666c396ee4073692ce06369be56b38a4de3b38639eac36ab0e9a356df8a439cdfe7a37b9116235ead463352cdc4938b5c7f13732a5113702641337f7bf6f38407332388e9c04366908153675040f3aec017c39bc10db36757325373a78e837e10bb237e02e163729455d373904353898e1d7373fa2ca361b2d45375d35f036cc56273fa420b13ebdd05436fe517837d021233f448aa53ebae90636f7bd023837e40b3f6248863ea47392359ccc8a36d0dee73e6ff74c3eb0665a35d83eb8376256b43e41fd133ebd870d37acd2143848e0843e8885a23d7ee0ff35f50b6037f42d283ef742a03c5bdf8736ef4aab37805b723da66f9a378f1fdb360af923382322143a5eab8637e8edaf367d2a1438dd06bb39a5ec6d371bc838363f8bf238c341963901f8a8360463a7365110023aced98439c89ebc368901a936fba6fd39a8f6993899c0af36f5b6ae3667db5f38d866393816d884374ce22d370cadaf39e69a4c388063b1364274b136e68f9a39c9e36f38ae2ff336eb19053702aff33775b2cd373baaae3669b00737149b0f38abfdd537bc4e4137881f8037cfd86337368e013f1d6ffc3ef041a1366aa13337901ffd3eaa44e83e47a9a836da938b378f88da3e95f0c13e2c06a936bdb0fe3735f6b73e15b3973ec4ccae36aa8216389b1d8c3ef9a2673e439f4337ff9b0e381637523e86620d3ec5c4b036cd9be43760ed023e96ed853d1906df36c94db13763a3523d746ac337b9d2ae369ae204381d8a9239c0dca6374ebab336b85e2b38fc27183ad242323757cb6f3562b6f5370c683c3907ba6736ca9c0c36cdf5443a4f9d0a3a89125836bad4533673258638a25450388f35c2357579a935eff1383877b1073853b40937449cfa3675babf387ade62371fc070359dd8653572824c382c5f2d38171a5b375ed009372b054938e0dce4376cec363716d33c371080c0377e3c873793b5bf362539f036b5b74637bae9b73e06b4233f64707136547b2f37bedab43eae58163fe71e0f36fb605137da60a23ee672fe3e17a856367155f8378b3c873e300ecb3e2570aa35081fab37fe58523e7f61983e1027fd3615a7e73693b11a3e4326483e33066935a7320e387385bd3d229ec93df7eaaf3618d7ab3769111d3da7a6063a331e9a36d82dae3726557038956a5337c6c360369c8513386ea89d38d5218c371d837036b17cca372dc3f23766ae69356cc34c35da172538bc011a3889fbac3536018635b2acd239f241cf38f38d1135edd10e35c9915538ed0b2b38b6755736dc4151361ca86f389bf4413866739a35f3a6973580a8e33953b17139565eac353170ae355bb105396396913746142c36a8de2236caf24e38c5d71438583608377a170b37effdb7375d0a5a3ea65b493fd5cff1364032c0364568593e48a9383f49f259355d9a4537c2f84c3edd621b3f713f86357cc52e3722992e3e2bb0fd3e78350a35ae32ec379f1b073e7949c03e208e5436396c0e38ac87c03d9685823e118b9435237d16379fb66a3dafd0123ecfc3a5350bfc7b377c3e9b3c549f9a3c29fc0136c6334e3800a48e38e544f337b6940537b6abe8377e781e388f7fe23648911e36144b0a383d091e381ecd8b362b2886363d0e6939d2e21f394db5903674928c36722cb23846834738b3c17a3661ce7636ab98e6378578cd37860cfd3641eff2366d2da439f609eb381961ee36f8aee636fcba3438789a213816c45c3665a35c367cde463888783838a7b7473761e1e136d44cc3372b182b37bc903736611c36363fe076378a4a843d9b646f3f84e4243689ce7e375279a03d59d85a3f1db18a36755cc13718c4973de54f383f0dfe8f36c09de53738f18a3d5bc2153f30667a3605f99e3727fa753d8353e83ed109f936bf220538579e263dfd4da33e1357e7360e03a7375b3e933ce88a3a3e44bd5936aa89143807d59b3a1ba5313defd9bd363030be37ad10373868860737643b363600000000000000000000000000000000ab9bb8377bb7c437f0309a3640db9336323e4538615551388ed3c237e24a7b3645e14f38920f6938cc106d37659260378a9780389d258f388c62ac377f64e0366043f63794fd1238f3e9943722ab4b37625cf43779a31038db0ba037034d66374db3173891b22738502ae4373deab6370000000000000000000000000000000000000000000000000000803f000000006f988637f7ac0e3922d4703ff598993685851a381182c539820f4a3fd75dd63781e9f1373201e9398947243f381c7937e6dc2438cff6ff394439fd3e39c4b137a1cfcc37ea80163a120eb13ec627933703eec137daf6d73809e24c3e2a648f37f287e537c8b240384e3d433dbeabb63700000000000000000000000000000000000000000000000000000000000000008b202f3ab78b163a301a0b39b125c937d010043a6537c939eb9d123830cae537c752023aa5c2c53975ba4938dd82ae3722fb4d3ab1f4fb39ec1e1938d79d083826dcef392f6ca039954b0338d6acf7378d2fde390b6e9039a48d0e38d8ca8138c88a023a22354c39ee070a383a7c443800000000000000000000000000000000000000000000803f00000000000000008886303a90de603f6a31053a42f418398908103a39a7403fa896b239e90d193882380a3ae844203f9ecda439c1cc213808936e3a21e4fd3e484ca939ab651e38537d0c3ae10fbe3ec0656039ba1116389dd1153af3d3793e4d5d263965fa073860b0343a9adfee3dc0361e38807e06380000000000000000000000000000000033ed373a9393713a70145239340747387033163a2eb6103a6c7be437b2a19637fd306f3aa342c1391b17d03726ff713740d25d3a6f9c3b3a19591239818a3b381550b33acc6a3e3a88718a39953b5c394919143a02077938a72a1938a12d0f3803bc8c3a112edf3923f20b38ea89d137eb18143afe03ed391f6df538be80423964aaae390185b73809090a38d12e07383e60d539ce12613f1218ec3dc61d3a39bca4f2393839483f0264da3d10cddc374f9f163a50802a3f647bad3d3f35c2374a4a5d3a7cfa0d3fc360893d26a7f83815e3ba3a15eee13ee2c24d3d8cf9873963b4293ac2d9a93e52f40e3d3c7315380a42a33a26e7603efe4d8c3c060cd5378a811b3ac339e03d05c676397cd0b03891f4f139ce89273a30091738367e043821fb6d3afa91953a1ee063398f9b4237b780713ae0eba43a1b308c387a5e98378696dc39fb0bd139fc9ac33700432037659d183a8901f439bd91e73722586337593b7f3af6bb2b3a6cb23839a6adb4372b02503aef34203a7bcafd37844bd03718ba393aa07d0e3ae413ac37b3c269372d60d6395423bb393dc5fe377f22ee3740b02a3a82ce003a4ae86b397c3c7d39b52b0c3acb0e403fe996783e63f9cc38e1f9043ab24c2a3f9ebf5a3e7375b337493a9d399c5c123f57063a3efa12ae37bdb9da390478f43e94d1183ec856d53727e74d3ab942c23ec18dec3ddd1923395163313ae7bf913ead2aa93dfce1ee3717801d3a319d413e96e1533d0ef2793707cdbc3993a2ce3d3c8631397515ec3726a12d3a2e16773a4b71a939c5ad42395509313a12175e3abdcbf639d005b138716e683ae8099a3a98067c386da26f36605a0e3a689d3e3adab20b384fc3b637882e533a23454f3a371ad83873c84b36e531383a10658c3c369595385d0de23795495f3a59af3d3ae4acfe375532a037f68db93a6caf543ad6e59239340b21394ac7a33a8ca16f3ae85dc839100597394292c8391a53b339de373138fffd1e3857e6ea3983dc1f3fb1e9bc3ec270ca390909c63919da0d3ff9f4a63ee54187379f287e3955adf33e9c478e3e947a0238cfc6103a9009cb3e600f6a3e2a412038a3e7183a393ca53e93ff293e51b9f437e5f7353a5f52733eacef053e152bdc378d878a3aa1091b3eb5189c3d8119523905418a3ac3979f3d6721063d2f079c39bb44c9391dfa273a350d30392ecd26384cc5de398b58413a89d94039430f003843f896390fa3673a29a60a3833cf7437a7fa2d3a02774d3ab927663990450338f909993ab816af3af1c25439864e2338dc2a163ae73a163aa4994939fc9fc037947e9a3a3001863ae4f4a23862202638d6992a3a34dd183a02da3838af1e1d3888d38d39de5759390c470138d747d237954de1395502bd398faf7d3823590b38c01f73391b4ffe3e309dff3e52698f38d429783844eee23ef8f3e03ef08ef83776acec393279c23ee962bf3eb05a0639835c0d3a61d8a43e669f963e0f0de8386ef2013ad46e813e16227b3e1b490b391990673ae8d3463e97793b3e7a8b333862961e3a177a013e5609ed3d170f3038167e6d396ffd823de2a5523d3030ee37cd3de339f4224b3a774872395f8117385ce9be39b2f2083a7d8216394e9a103848cc9f3ae172ff3a8673c039fbe7423743d0b93a3aa5ca3c177d2839667ce73616b1563afda57b3a6e1e50380a76b6361117283a90393d3a496f1639dc5add3719822e3a172b283af53f8938bcacbf366e2ec539c167b23970c20a386b5ccb3773274e3a8969303ad5f48b3732acce36f0642e3af1351a3a5011803937a84d38c2305c392467be3eccef1f3fb5de5638dbb7303ae42da93e08e10c3f9936593929651d3aa1538e3e5e4fed3e327d0938b5e1ec39362c733ecf69c73e58c5db37a645033a127d483e3bfb963e886636380626133a3dfa113ed07d693e41857a3759d497393740c33d55cc173eae52013876db2e3aa453413d3f068b3db96a5237ff1f373ae4535a3ad587f939658d0b3993b5143a468e623ae059d039ae72d7373b19d239c1b1043af03a0238190f2037a7ca2f3a82da8b3a837c953796f4e036c41b3d3a0768623a1f7cd138e827a63749194d3ae28c893a76f38b3974e97d37bf93ed3950d7fe39daaf0f38bb3b49374797b939de3bbc398efaec37b7b34f37cafa413a9b79333ae596d938f37e9f375446533af52a3d3a4b1ef137d03a1f3730bdc3398527793ef91e403fdf428e394f35673953f0673e04862b3ff21fe53755d9a6395195413e33f4103f09da663799d7d439b098213e4df9f03ea1e4ea3792db0d3a81f5003ee740bf3e6c703d3969fcaa39c238c53d0f578c3eaa18eb37d4cb8239239b833dca76383e8842c537084a183aade5ff3c1401ae3d53c2ac37f3784b3ad5af963a40cb173a87f15c374cd68e39b28f3e3ae7b0c738effcda3794810d3a283d3a3a576d6739c70d3236d474693af799ce3a6e4d1f39f143ca36a1af7d391b11553aa70b1a38ec57af375dea903a413dc33a66cec6391b6ba03701dd4d3ae051643a1625b93919ed37389759c1399d21073a59660938edff6637acb0f5399cd8fd393fa10f3859638c373142fe397c89ec3928391c39b28230384c391e38cfc9f03d1e28613fbdff23385c6cb53999e2de3d260a473f6f2adc381749b3395e70bf3d19f6293f21c7a03840f83c3807f2a13d2b390d3f654f17382354223a20027e3d066ae03e3d1d9e39d94d203a2ab1413d14a1a63e084d7d39623a7339a9fcff3c1c135c3ea167e137de69c2393d1a3a3a053edc3d9101c8375407f0393f0f823ae6b8d73928d74538000000000000000000000000000000007fafeb397e614c3accdb8139dc4fd337d282cd3955eb223addf06739cd76c837fdc4d8392eb1063a57947639d3858c3777fc2c3a98645a3a9a5a84390433d837f171e5395c81fc39731412395135c337390bd739581ee9395b312439b2d5dd37b125123ade77203a82c3b1390baea7380000000000000000000000000000000000000000000000000000803f000000006b371f396e42473aa617613f09fd303920a5813983cb483a9c7e403fe1b65a39a69a92395777173aaefe1f3f30766739592ede39af4f803a5a13ff3e954c40398313bf390b942e3aaa5fbd3e3729c9389870a739c791253a2061793e87b0db38c9d7f0392b0e3c3a015aed3df63d7f390000000000000000000000000000000000000000000000000000000000000000e30ed136d14eae363b91b136f569c136576d05376ea2a63629b3b93668afea36c44bda379f73be357871d8353e9e1a378034a837247300376dee0337aeb64237301b003724254136f8014c36923b5236a07f4638cda116387c7cdd37a52c01382776683728bcfa36a574cf36151dd93600000000000000000000000000000000000000000000803f00000000000000009d50d436e0fa7f3fc31bd636f612c136b3db5c370c13643f2e790c37f337e336b429733866fb323f4a0d183870711d376739fc374713023ffecdce37976b1337cc480e37817ba23e39062f375e075e3651fe45384090013e231d6238e4ec0538f380d636d24dbd3aef8e9937e2bad036000000000000000000000000000000008a0f11369d2b2637e8a22137e0ab2637d253f3369d21d03626ca08377aa11b375ce74e3678c90936b1e22d365b305836b121f435ffecc735bcf6e635a91ef335fff5f636b6f5c23667bcca36cdfdfe36873c1736ff2213369c6e183645af2036e1f27437a79508375931c2360b92413726d4c3372265d437c0de8f374607a037b61b7936eface236d8dd75369c4184368654e53589f27f3f3903a838ea1e2c37ce25c036bff97f3f17357f38e38c1b3731fd363611c26a3fd473023853ab4936ab0deb350231393fd7380d38bd41f435724ec636b223083ff0bf3e38fcf4df3620b10f360805b03e9bc88b3884f41f36d3a1aa36b4e2133e16cb8338241d14377c1302379ae8673c2e263338044388374c2017368d08f5377c438b37146c5936dc78c4357ce33f38f267da373a78f636a332183731581d370f581f37ed58223716bf2e37b48e0535d3e505357bc04c37f9f70c3557b1133599961535eaa60c357c4ad036a0f9d236308bda365b9dd836d6524734470e5034a5765534a37a12350022223630ac233622a42b36bc3827361be6a437706bbf379c7959372baa57374f1f92376dc5b237acd96137c79f6b37809e9635da84623f03c7eb3dcd652f37bbb907379ca7683fa9b9ba3dadd81c374e86b83433624e3faa09af3d642ebd3637b30e35d4e22a3f4e431b3d116b1135981dcc36ac9df73e646e963c6ededa36af3345348fe7a13e2c77293a431c5534f1e20836be39153ea609e237f2b22836d6642f37b999de3a22bc21381b073f372b16d133e3f62738f517da374c2fd7354cf7bc3524dbba37c6010136ab626335c1937537497f78374eea6837bea76437dd9b8e36f9a28636ec348236fc6381369de44f36c4e01f34128e1a347b751a341add3937dea939378e843a37630f3937322ee33682fb7d369db6653601307236b06f303831342b38950f0438901e08382f512537802a2737221c1f37404720373942f737003ee137ef341d3751908736550faf34256b323f8d179b3e03072535871a5b37f84a383f5f118f3e33eb5d370abc7a369d532b3f43696f3e35b87836931e21349bdd093f039c263e0cee1b34af0435377ab4ce3ed966d23df7e63837789a4b363d6e883e1ebe273d50c55d36d8ed49370463ff3dc7b76f39656ab83786311237f0adb53a3ff68e37bfe3163703cc8036e8a8dd383b1e2a381d0d88364d9169360d83073714a03e360d812b36e943f936dbc8fd36de98d63662c5da36a03fc437d7538c37ddedd336568cbf3654b45037caab82364bc25536877a59367189da362910d736a6d3cc3683e7cd36f753d837ddb8af379cac8336b49e8a3605f51338468b11381c48aa370f0aa23727897737e2fc62370187e936d854ea361be18136218172365ce35b363f4d623644ac3e364c45023fcb73fb3e17f31e361873e136ff9b083f1bc6ee3ee84fd336dcf8663732f2fc3ed1dbc93e106e96365c0a83365a48d13e08ac933e22ae4136325bd3364c08973e0811523ee3a4c93609de84368ec1513e8cf1c83d5b247e3665129137d1a8d03d863f203ce23b8137f91ae8363a75f8388880253873b2e8368ddd5536a4d7a737d692833683264d36cba90c38ad6d8738c0597436dc786a36539f1e377c871a37ab6602373d7a0237ab4114388d7b8737704a1334c5502034f1631137ed05573615cd303675482c36217650375d5e3937baf63137382f3137736ddd378241833703ef2534b5ff1a3421e99836baf59736ef828f36e6b28a36fce0ab37f7558c37a2747237ac31723737fa5a3751063136a7c493353e2d8735a7f083367fcaa43e35902d3f617d5a36049011379b99b23e9960263f95defa36da2da837037aa83eccc40b3fb3d9a5334bf6763681028d3e3499d53ecabb22363d4d3937487e563e3373913e64483037e1022537fcd0113e614b203e88222234a2748f362b1a903de0acda3c3be48836bdd78237c8002a3a7c8ed7379cee62375cd2c936367948387664063622fb1f3503c6de375e57d53735d2ca333185c533c6dda037c2414a378701db36bf5ca336f64d22363a3313364d92c4354f45c73583de2c3785cc4a347f2f3c3497323734d42a1e37d72fd636f610c8368054c53650096035a4a61e352bd2193514b91f35d87d35381dd21c389d80453747eb2d3734ec7c3770ef25374b101b37b48d183778f2bb3791ac4a364273cb35d1f5b53564cbd5362d62093ed3a15d3f903acb33aabc4a37e4f2263e5bd4553f6f149b3655fb1e36cc2e233e6bdc313f8d7bbf359ce2e136b8cf113e7a770a3f31883c3434f5e136a0bee63d7960c53e60b7c436b1b81b3517b6973d59ce613e4f3d18356e680e388981193d40d2903d8d7d07353ff75b3702526638d015c037cb711137936e0f38badaf038b57dd3357609be35d340693708d5b236fbdf0c35a2f6d032b4ace0379eb2123749205136b72d5f369fbeb4373341ae367fb862369cc17336e2725d376af60c366fbdbb35466ed035476379370d22fc363a39b8364e50be36c835ad37d8475137a3d0d9358592ee35a77f9637b8419037891a4936fb1d4636dc624b371e9847372310153781f010374661543753dc513602fb06369916073682869336b1551f3c607f7d3f6a42d9323b94bb371aff003dd545743f127c50365139c83754e7903c2786563fb20f6536beca2f3720e8e53ab28d273fba5cc235f50d5b375cf66a3acd38ef3e6f5fbc36c36b6a377c83ab39247b8d3efdbede35fd180c373ebdb3392c42a93d1d993b36fb814137e7917a38c6573c3880c7e836ad7b893710d3fc371d9136363d0d0336000000000000000000000000000000009f19de3698c6b136476a2e361c95373658f52d38bcd76737af8c69353ec693350fbf1d37d3cc49364b241236e48d22363c94ed371d588937cc35f53663fafc36cef01e38b58b1d387d572f37d98e71371bb24e37187e663716992c37723d2a37c5a5da361216ee36134ed936e3c9d7360000000000000000000000000000000000000000000000000000803f0000000030d3d5365eea5c389ea17f3f835258361c24333806c68938ce8e5f3f45eb9035ff5105374faaa23777b72e3fd0ce2336438cc437c22b4a38fccffb3e9ac90437d01900381eb49c3803fe993ec1931b38003417378b57af378941df3dee994f37ee3ed0364c001e3722677b385373d336000000000000000000000000000000000000000000000000000000000000000010cdc536d2c90935af0705358a6c0135fe11973750561b3400000000000000009870063820a17d36b8136e360c6a6d369e4aa8379e9e81360cbd2c3626fa4e3661a0d43769291e366b18cb35f1a9ce35a70b2c38a8170238bbb39137f3dac73768c7c93788bdc637bfbc2c37f784883700000000000000000000000000000000000000000000803f0000000000000000c9268f370fe97f3f2de42035570a0435759f4d380d8a593f204a463500000000fbc945380fe42e3fc8df04379ffc6e3643e0ca37be74033f22b6e2364307393649c9e137c728b03e0ffb51378eeed3357997fc371eaa353e93941638921ca137b13e7d363cf3fd3cb8a1b23713e7313700000000000000000000000000000000005be4343e2a1238d7a3933546cf2e35afb3fd36e790a636cbdcf935eb95f435b37c1d3693571036bf3d0736f56a0136ee223a365afc2d364e782b365f492f364282e3370e18f93648d8ae365e24c1365befc037bf0ad2367b6a043663ec3036304c50375249243744309d36a427a636c31a9636fd1ce33603021036bb7d1f3655b7b6377b44d437f0ea2a379cde7a37857595347d997f3f320cc93a1a9827350bdcb5354c00803fc77dad37f576fd35730a2036d8fe673ff2bd71379bcb0b36737f3136150b3d3ffb5c7a36046a2f36f9d4833755ee0c3f939e04382572c736c0987e36d582c03e1f900b38c4a02036102e8336e289503e7798b2379218a0365ce89d3565393a3d6cdaea363bbc1836298c9d3500c36c39723e9a37eb1e5f3679e88e37c2b13838a069b83776af6537573d16376719e63796572236fce70c362df250366e18c935cee6bc3543f3b53591721c37ab235f36e283e1351405df35d33bcd37ca98ad3783ab8e37553e8737b01678376ea91337feb67735c2967f3550968237366e5437ac39cf35bc7ad835e523b2362f46c136011cf235386cf7352a927c37c17a703755310f368a991c36ef228f36b5da563f2a6e243ec19c8d37df3bf8357689643f8203db3df48c1736dbcdbb352ce94b3f951a983d3c07ba35d266c13523fa2e3f018f8f3ce554de35d5877e37b024033f09a35a38c9dd8c375bc82d35e71eb73ef56d153806b17d3523d78735bc13483e46beb93766a2cb35eddbd13556c7213de4debc367902ee3511f8a935997a76396b16dd362c8a06364d406137f6758438cd4ed03609fc3636f3a2893699fded36e75a1e36c0c7aa35b1a03d3595b9893492618834010b72349893f636eade8d36913d8236be8a6f36b8b8cf372587ad3735f72e37d7fa0737d2fa4d37354d3537a081fe3476c6e3345bfd6e36edb77736a13c6936551d63361b178c37346764376168a0352c589e3579241a3763530337a88e5936660040362f462b3678bc2d3f276ea43e539c36362e2f03365e373b3fa509893e3dafdf35ea487c340b1a303f0c2f403e37f58034c9e38a369a6f123f9d9ef93dd5ac7a362fdb4437c8b8e13e66fb903d9bcb2037eec3dd3360d7a23ebcda3b3cc918e934c87d4b36b3dc343e3e80ee36ea546636ee12da35d129003d769736374d3f9d35c77bca360a7ca738afe9d436a330f6352c3287350f9c0c38892891358089863594eeea3680f00c378f7a463697cf283657182538c2e5f237747d79351f96463510f5ee37f6646837a65e953512f27835b9517e37ad6233378c299736197d9036b750e337265cca37a368bb359ad2b035b135333813a5333880b63937c1a3b035b2af16374db40037af8864362c3b683695b28c35c1f58e35e10481350d3e853528857c35e3bb033f1869f83eda96893565f85b3690ce0e3fb720d93ece463a363a419d376c58053f90cda73ef245693563cfa0361d06e73e626e693e4a348c35f0d9cc36dd76a93ee10b2d3e9e859536d452b5351525843ecf5a803d2a9eb7352337883729061b3ea2a99a38c0f17a36013d9f369e40943c4497ef36b0856636cec28a35bb47843941ba8635b0368135baed0e374492be37790ec8353ac6b635ca495b375a50823784aa953589968e359d996a36271c5b3606931936e9a2d235d1a57e37103be83587d3d5333c9ace33d150f6376af69437cd1f9b3605e5d635dfbc9237e3862937919b88363d427d369e5034370f690737ff607b34931b6434512bed3619f19336d8b8fd35286bdb35bbc1f237d9e13e36abc82936fb231f36b38968367d16b23e2ff1263fdfccc435124ea935827cc63e40c2143f969c92352c8b64369f22bc3ede79e93eb5a70a3688fe6b353c83a83e1ad9ae3e365ed53338ed7837bf08853e9b206a3e75bc6a36faaf8b362186433e3a1eec3de32c84366a4187346ad3f33dd062b03bd6f7733449dc9b3674189a3a258693368e93d1359c94fa37e9090b396b2e3e361d9c2436ed458837b696a337d0460a352c03f534466dc236ba6639364a55cd35475ac4353a288e370f83603683b48434d5103f34226ea8373dddcb3599838d341ea9fa33df0d09380dd3a6374775b936da0c0836aa7fad377ceb1f3742dfad3554cd8635e619183704a7f0364923ba35c58dae35e577f437d632c436014700365ad9ff35a298c737d4973a372b464e36643b213699d805361ebb3d3e6c7b503f682c04355291dd35a9b2653ed27d3c3f33f1ca35ba4902366c7d563e005d183f9f567434296aba36f5f6433e4ee4e63e7e2e7834a589c137f42c263ef090a63e160a94365a4f0337d7dbfe3da4ae323e56b4a2354c82d13515d4923d8a3b6c3d6969ba359ec8dd37670186399d774137924ffe35c9e10138444a2d3881a51c372bc12236fc4de137803dab37c4ad93355f568235e5f7d4365528c335f0373835f65725359b77a137cfb9a6365f30463639831b3676660f3837116c37c5d8f9342a6db0341a8a11381aebd73726f4a6341e1daa341d1cb136821b833671bc1e3615240e36c8387d376a1fe8374908243646ec1b368bab50374dc322372445bb350680ab35d6c706351336f134a3c58d34962f8334a0688037e65b1e3d0efc753f21888d35f62b5436de048c3d44dd623fed3d353551a23f3753a56b3d8c263d3fe3c84136e5068c37f3cf3b3dbafb133fc35cf7346899aa37684ef53c05cad63e6376a8348bc03e36ede5933ae468853e7f8e1f364ed61f36f5d42b3aff8cbe3d18282536d2111a377c690b38bbd486379909c335050b5b37b53d0d382575c234e9388a340000000000000000000000000000000043dbcd3743930b37f9936334274f5434a41830384d7dee377ca2a336db1d73361812d537dac89037f09f8f35a4305435d3049e376714b5375542263671d6f4352109f3373bba2a3801caba36751f80360f0121372d172738752f933796e136368e804736f3989537018ff2360534fe350000000000000000000000000000000000000000000000000000803f000000006cb6a137b8c76339c9fc773f96866934c6e5103840b5073a9f66523f84f5a836c9c50337c8a9db3974cd273fb81d9d3530fce136c3239e38fc10f93e237832369a59b836ceda6338dc16a23ecee61e37e5350535c2873f3895c8193eaf13a53729e41135da61a337387b79392354bb36000000000000000000000000000000000000000000000000000000000000000014b6ce371b802336b372f6350869b1355f5978379fc08535ee82833539768535369488386ee1bd36b04f1c3621971836a9d67e38b7a1fb3757db3136db1ff635bd20f9374467b33728ef6f36ccf62435af6101382d31ec3794596d374dfd08378fb984388ded5f3828d2cb37733ac43700000000000000000000000000000000000000000000803f0000000000000000d63f2138cb17713fa6a222366339f135bd76af3955904b3f57ee853538a2863552a338395970263ffa31003758131c36bb80843829c2023fc0a60938d3891d3681f1c737bc64b73e6b2cbd371abc5e360d30af37dbb25f3e94b1e73714876f376b1a9d37f62d943d45214138546ec73700000000000000000000000000000000419a8c363a14f8392e65c237e6404a368ea21e38794b07386571c3363b9db836da143038a9a366376532f23568eae1350b62283861f6e23738c83f3688c83736047412388295cc372cfcb2363ee8b33633290a386b33123846de8537d2dc6e3690e43538cf8e5f389a4d393749c61f37c6be143851210a393a6cb3379f4ea23775c45538af09fb3866b0df37f1337137fb930f3636966f3f4d05823d9443a5372e66a23775326e3f10a7dc3cbcd0c2363ba18d3686b44b3f1ac0713cddd3f235b23ce1368881273fea059c3b89294036412d0137fce2013f7d996438a054b4364caf24371537bd3ea8dcdd39afe07337765b9636c4a9673e50bd9039c431353733869b36a267ba3d89b4a438e28fa03745a9323685e5363c56314838ae8ba137e69e3b38d8a84a3a7ccaf537a187bf36ee3e8537ce0b5a3792cd97360cc98136a714123930e80c383f0b95361dbb1f3624d14f38c8ee1b38e5f6113629e60f36b92855380d9f333840a4b7369fbdaf36b8d445386d012b38dc9b6437e39ccf3659b7c637bbb8763905c67037b4792137a8d03738e2cf5138dcd64b3782b70937dfa73e388ba11738d85b233701d85b36ff2e9436238d4a3f6287543edbad8037243fde36f9414d3f2628273ee24992364b20a43761492a3f8956093e69d4863614ff9f36e14e123fd7babd3d63d11036246609377e56e13e2d298f3deebdb536b6b23e379938a93ec76b0d3d65d44e378b327736d76a583ed81b513c00345a3737b0aa363fefb73d12063838b4451d37b404b037e917863cb4eaf03736e78736b1d4133849dc98384793c936e2f9a93509274238526623384c89e936aa46c93698f3c03748248d36adaa5b3632b22c3635b74438b165e937be37a035cd739c35d15e5238a80a1838ce1702375b2ff0365c92cf382f582d3957846d36b60b5b36fdca4e38dd074c38d4deb1360bfbaa367362bd374aa08937fd5b03379da0fc367d44e4373c6bec365c29e3362789db361b16bd359834273f6b77b13ebe88c235695c5d37e269283f25b0923ec9ffde3660ae8136ab32123f6786683e219b54366d53593721cff43e44b0333e25fb9d35ec980d377a82c13e88af033ea4b0fe365ffe5b3615dd8f3e19e7a23d49126a36e4309436827c393e611f0b3dc73bad362c76f4368081ab3d49064f3783600137d1c73c3780442e3c7a35ea36a936e036de871538e0a50e39746d7536fe375d36b46f4538c45739382777953694fd8036976f3b38b59cfd376c412c36db4421360490443859d00c383327343656771636b4117438926c6138591695379fa58336a91d3b38cafc1038b8312e36e9a61836282132389aea1c38993e7436edc73c36550f3f3879f73c384f064c37e7b99b3606b74938f9e48137b32970369ba959367cbd76363f0c033f3f6af93e63a86d368cb9f23793bf033f88fed23e15cb913694e0c037aa24e43e073faf3ee8fa2a3646ea47375df5c23e182a883ec5a82f3662423a385723963e9a8b533e93683f37c9bf203715da683e87c8003e65392c363dda2637f08f163e6307853d21cb3d36797ccd372f86953d75273c38a14ca136a67e0d3891082c3a967f0437e639693679f78e375e865a39e46cdc36be92c4362065bf37b4351437f08ce2365f8bc13685886e381fb7c937f0267e36816f3936ff74a3390d105b37f0a43a36d6970736ad1660388456e337dab6fe364c89e8360bcd3938fee3e937472fa335932c9e3586ec9237f2b9ca3685307b360f7565364cde4238cb3f1c389336043714c7fe3696b4423873a44d37acbca735d04c603563b4e4365b01ba3e9537203fb7e9d4363bae02374d3fbf3e93f00a3f06ffd936391ace37ae4dac3ead7ee53eebc57236886119377988913e1a95b53ec25932364bc98537d2e3673e97a7883e0b92fa3673864037265d313e594c313e23d3a0355aad75361094e63d39bfb63d0b567736377c2437ef2e633d7ff42a38b6d30237e16334388702c43857ae8d369c059735faf72b3885b93d38a5b93036c183033653ec473801fc7837cd7d91360f2e483622621738320c3e37b0edd6358b4bcd35e39a55381f0f00386263f5353abe843548536538e1c000388d729836459e7b36464e5538f166cb376b360e36e8f90936899137380970073846848d3685852c363359743758fd45371e989e361e808e36944b7438902475372b748c36ba8779361d8bba37feeb5e3ec007443fa7382136f2f2ca37d805703e69f72c3f64088536b004ae37d8b45b3e67a50f3f6f1bd535504aef374db9413ea434e43e567be9350f590a38692f173e383eaf3e20bc92364224bf37004cea3d31ae623e08600d36761dc7372319913d95c9043ec15880366839ea36f8f70b3d71d85d3a109b9936caae84386208c2398ed1133762428936a79d643892402a3861a31d3651aeec3517f37938f418a0369f118d36f9186f3637fd7938b6ba7c373908fb354717e5358f7772380159af371c52f4355dd7a735401f2b3815a68937726d9436b24b8036115029382290b7371b1f1836503b023659791838b48d8b37a128ef35074cd435fc3f11382fdd0238cca1be36ae38ac3638116737ed202136a3f2f235c9589e35257e30385e319d3def60693fbd3c153632b05f38eaf7c83db4784f3ffb8a8a36ce7230384914c03df8f72d3fb116f53566ee09388df0b03d231d0b3fec42ef35088cc337179e983d4202d63ee4f49236bc80b8377e82643d7ae7913e630b1736a6bbad363f82f33c668b233e0a64eb35ca20b937926eba3cfa89a13c1683ba36d7b61138e2393b385f811e364ef0e1350000000000000000000000000000000085ee873826d13338e6d56036de04443657ec07389926d237ca59a436376783363f73f637354ae037dbf3183543d41635f4be6338a780833896cc2a37a966ec3579423038723f9f38118d5737b0202636314485357934db377c019235d9b487355a254237c9b90e3843d0e0375fae2d370000000000000000000000000000000000000000000000000000803f00000000eb453e3881d8433c23556a3f5e615f36bdfee4374e624d3c8ad2443f81239d360f39af37bdff563a8709243f677a1a3535b5da37af80393a3ef6f93ec5cdf03683991f367919083c9cb4ae3ea0f54937785c8635e141c1371c45513e4ad79135a32c1c367a31d9374ffc6d3da4e4c537000000000000000000000000000000000000000000000000000000000000000039fb4c36ae493f36ac94403696d64b36fdc5b135aa9e9335022b9e353789b63521356a3546006a351c979435facb75350fff853638d17236edbc823653ac7a368431e2360ce8363535a37835f0ca843515194537e39814369e8a13364c600e36b2412e3654043436bf464836b003403600000000000000000000000000000000000000000000803f0000000000000000725d4636e52d803fddb14b364cbf40362d76f136f6d6613fc3489d356aa0c33558082a37df97333fe354a135e046cb35d36885363354023f28e38b368f318636a1bd1f37ca92a03e42ee2f359b477c35e0de1637fe0a063e833b093654ab273686e32a36cc0d9b3c09ad4536c98a4f36000000000000000000000000000000005b1688366b06643775718636e3037136212b0a361f839f355808c1354b20cf355e154f36ab09533629c86036a3e25e36935e24355ccf1a35a75c313558698d35b7710435a09b343555d0343565e43a35b955c0372a6f343628a95436dd919e365774b937f20390354a60e835347dd336fc37bc35a303f0355c58db35340e9135c6549334c6c48634bfc38634b9379134a2770b36bf19803fb3dc6939ca027b36ddc08e357816803f6bef2a383ac4db35987151361fc9683f2ebef63734c871366b420a35396e3c3f16f56b357e675b3553601a351ca10e3f91515c35db112035c81b61377fbeba3eb374d537dceb683616a299367814353ef982a83745420536c705c135dfa05c3d2729c3359c0ceb35c95d8f347ebc8637c6f7893486298834d293de360a63e237b4331937f319d3362007ba36cf0da9366204a83607c7b73618bff4357066ba355eaed335657e133643b02e360b35073695ac07360fa8a236be93683615fc423677233936e5a96a3676350b36e1d008361a720a36af31073615283f378aa0d435ad276c3567a3ca354a7d3c36cb814a36d8d419362be31b36383af33513391a36f04b2b3647c11f3637fba336cf37623fed84ef3da20fd036f5bf9236c3d6653f94cca33dca1d99362e200436481c633f7259d83b2b01f935e7d1f03587db353f54d66438dea62e36bbb7653699d6083ffe338538100e4836066a2136defdb73e1f116f3708500c36dc33b435e9371d3e15eb97370914bb35ad6c3b36eec51c3d8d822436e6fe2f36b3cc16363b024f38666402361c3d15369d669336e27c4e37cbac97360b9788360848a936c099193753bf9c36577ea436101f66371cc42637e1b2ae35fb7cb935e21f083674beea35de7002366f9800363879d436816bc23621d4d03604b7d73657fd0a366935e435765a00365f29ff350e8d683694ebae356014ca350d39c935f2469f37473b9636852f9d3644f993367296ac3762a86437db56a136803ac63612126a360062323f342a9c3ea0627c36391a92367d3e393f1f1b853ec9dd8e368d99cf353309353f8449223e59dbac35c96f0936bebc1f3f06169e3d9a9b0d366697c436c42ffb3e71fe0c3cf2aed436bb491336480cab3ee8a35338f844f535a5a8b4351265273e4f48863735c7f735a3269736e794f93cf1938f370dc99736d5e4a63672ab553814cf2537ef758736a60f5f3664f75436c7642736919618363df34f36b2f92936499ada35d528013644697c36b4107836609d5936745454368b6aab360244903638c19b3613a9b036e3c4b13588948a353a4f44356504083578569f369ef69a3644db9b3682ae8a36747984360d1d7636321b84363e0d8d364ce63536826e3a36acc72436c9fa0b36b30f4b368559183669370b369d2a1136082dd335932b013fc1f0fd3e807ff235c9a9ce351bc20a3f127fde3e02b8c935a4ae5f369fb9073fbdc4a73e8d6e4c361b108e3626c8fb3e75d1563eb53b9b36b4be653583f4be3ed55d033e94943135367c9b36d358973e5d80853b41809936ec2065366aa6123ef70a2637cd298b368afb3736bfd7ce3cf9ec2f3662862a36895916365a749c39190e0b36cd03f83506b27d3749d81738cfba97364d6093365a12a336f31c8f369b266b36ce188136cfb1ae35e8be743563a98d35a8dde135980315360d1706368dd1cc3528db0236a179d536bebcc836cd27b73670bece368aa8b7368d8ef3358c6e0336839d0436db880e386eebcb37c3f1213669f45437bed4b53764f28037b71da93692e9a436f91d8836add38e36fb33933604328b36236093365d1ba13e84cc2f3f4ed16f36d6de8e3619a2b53e95981d3f5e0c4636975bc835b954b33e0334fa3e5771a735e778f335754ea63e9b58af3ec82b02364689d4362ba1963e51ce543e2bfcab36ba4111361ec1693e0cde953d222e0136eaa41937570a0a3efbbec73893fbf1358967b036b4ab943c4ca98637e030a836eecc9436a59095385f6f72363f2183365bea9636e6d6ca3718720736d6f5e135e85e4b3600152336cd81ac357178fd35c64ab036f2a29b35ba9f3a355e4232352dc6163691f30d36e886073626e707362cd2a037620d4a36934a3636d82d473681dba737d9843737a6cfe8352663ed351fb2d0363e6bf1351edf023692b4043663db1337870cb1360d1fbc363d90b536f720b6372120e93634cdba36b709c636f54b013655b1043e9c0e5f3fadd8af35bd242336cdc02e3e97e64a3f8b033035e6c5a7352e28283e63d62e3fd64125351eac193633ba223e6d19f83ef100fc351c425f36623f0f3ed355a73e718d39368e378c368429083eae63213e1e79dc3524d7fb351dfddb3d63e0633a3aa60536c97fb636f3d0b93ce77b5d378777b536c99c8237a1af9b381631ab36de21a136be349534057394348fe5853487689034873909363b468b350cf74a35804e8e3545d89d370aa014371ad07235750491358b5bb837280360374b2b3b362aec5a36a737183564e52b352d3a243512182b35f4590d35702722351a67133583bd20352a60cc375da5df3743d6813673cc8936229ba337278772379289dc354d2ed33563194837448e5e36a22f55365990463646f38434c017883cd3117c3ff4fa88346a1ab535cb4c2a3de9d4673fb127203590b878360040cd3c6cb54c3fd97f603508090c3793198f3c0c591e3fd7014236f38a2135e18dfa3ad2bfe23ef0ad1d358fcc173534040c3c8eb8833e88551335877a16378229583c309fa03d29ec8736ad9a0a373c65f23943562f387e3bd4359a870837a8673838a0b8373647b516360000000000000000000000000000000098172a3659a2213670ed093615d117360134fe35de25e6353751c535a7e62d36a6ab8e3584f5a8350ef9533505b69835d203853629208336b5b05436e34082363ceb5e37aba213379c127535897aaa35612ab935fd5894365f5ac235eb72d73557824836b7e95736eca45036577c48360000000000000000000000000000000000000000000000000000803f0000000071693b36c8f33e36e8887b3f6a0f00367f1f103670fc9a3757c55e3fc534f835106d973576fbe437b902303fc4d2a135a56d90364068a836e909fc3e77e8613646f0af3522169f39c1c6993ecdd17635deb2ab35f6dda137efe6f33d7eed0336ebf8553608141138ba748e38f0f14b3600000000000000000000000000000000000000000000000000000000000000008d0395355f452635dd1b2535934b4d350b6a2835c7811e3501e10a3554471635cb481937f2e5033607fd103600c00c36664142383eab97369e9697369f469536a7aa5f349a018e346d057d34fda58334821d233752bd88362f357b36af678336d93824371a4d1f36bf6d10367844163600000000000000000000000000000000000000000000803f000000000000000007c6e535c6eb7f3fabe73235415e17350e70e6377078593ff5161735c6e1fe348e50af37463a2f3f11710936bd620f36eb518b38458b043f97ed9c364b9e8f369eb58d349b19b13e64858d34e34a6f34330c9c3646ba2f3e0f5b823673218136cdc0b236e61c533d9a4d0c368c2c033600000000000000000000000000000000ffff8b355e931838b4a89b320f91a93264ff36348fd684346f071c341e1112343488b835cc6db435f4a4c33531f1cc355eb1a736972c4e36f864313682864d3649922636cba41036495df5354a760a36c950bf360e4e8c36a5a07236cb7a733677201037ff79fe367bfedf362658ef36c6c15437c1160a36668ce835918ff23510e3aa360962b6314a85a8311c31c131c10e9a3284417c3fd1cb703c41809c3216c3a63310d97f3f64577c3425ea4034fb0ec3356fc36e3fee43c73510faca35c53ac0364460453f5f4471362d9a2c3627e83436e3eb163fec98123626da01369eb0b536835dd43e1f698736867e4636c9770e37d8475d3e5405ea3681e2dd36977f21367c7cc03ddeb4ff35be28c5350839d231103c083a683bc131442eaf31bf1bbc327a5ea4389ef8b3324cc3bc32c1a13b3661be803674ea40367822eb350f10cd35f9a6ec3525ece635ca49d835a8889735d077c635bf1c9335f199553538143d3697292136d57e03362221f235c93f9e3660eb183655811136f6a72036cffa7e361241833653165b362ff58136c688c736161dc536f4eda236f7bba436ee7f8c362f8d92368c507f3681d8823697f6b332a0c8573fe80c213e1c2bb332c52c9f35c8b9633f0dd9923d7f9a2136a7e5b2352ace603f3b3cc536a2ebd135d57380355098423fb5e7c4358aa79335f5b23c36db07143fc9362b36a5ad0536d17c64364efcd23ed79f0e36abb8093603c55b3656b66a3ecdf05c3631cf63368870b336a619c13d3106b03673d39d3672465836c156b73c483f7936e5a56936a199f6360007df389a095a36aae21536cc19fe364db5ef3704d9dc36b251b5364b629535a6d8a535b9b6aa350d54a9356c089f351a249035fb659935bd1a8d354a22b9365bb79736e057983614c97b36b8a29334b1c57134f7698534f1959b34711fe636bef2023634bfe935be3ec635c2ae7a36606d6036feb22136c6981e3690712b32dfd02432699a1d324a722d32ef02fb3508e62d3fd439a43eae923536effca836d4773b3f6bae6e3e1f8bc936fef0a235ceb03b3fcf57b03dc94aa435b9d5aa350a47313ffa619b36e81b9135ffbec13630a50e3f7f27cc3640058d36f2a3f234f0eecb3e71d8a63458d37234897e0a369b3e673ec32ce235ae4ee3353ac869364564973d31563236413b0536aaed2f32d3b5273cbadd2a32f4941f32a9dd1636e6c27d39b4f7e7312a750f32f039b535b0c20636c0cb4735c0eb1735e10f98361597c336f13d7336a96a3636e2a4d33678c4f63665f6c0365654a73609330e36c3f71d36f465eb35a7ebd4351773e136c147d13673f1a5365d368236b7c2a9368c389636ba554836decd60366d34ca3550f2ab35ed9e33354ca64b357ba21837f92fd531f9bcbb31a95fe23118a00532205d033f7a9af83ed837f6311bd8b334d3cb103fb2a8c13e2ed5133576b8453626a90d3f72b27e3e32544b368a20a536cf5c0a3fa302cf3dce63b13679baf5355bf6f43e4873b13c9e8ad53529d2dc36f8feb73eda94ea36659182360895ac36b9584b3e9658793639d13d36866dd23553266a3d2667703512afda34ec796536c8a0da3a57ede63194b2c93172e5353245880038159d243258a03232e85879364aa0953691070c3602e695355015e6354b1f3537ca3301366b59e435c03a9d34def819359b2c8b3446cbb93308d4c436f228fd36d267b436e239923610129135202ea835abe0ae35685a963574909c35a92aa835a7be8f356d0a8d35ccf011372a860037161db736e3f0c2364142883794d48436da372036fc8e4e362c213632bc3faf3e96df253fc7312732e0b61236e283c93e818e083f7bd9c5350765c635d480c73e1b39c53e333f00363b1845345b7eba3ea9f2733e06e69034262a9d361cd3b23eb8dac03d1d7faf36c6f48e3539bf9d3e0c1aae35a644a3353ad89135922c3a3e2abcaf3509a09d3595030d3716a1113dc76edc365dcbad3602b44937a30c123ab9bf3236bd5b1b36749c933687941338357c8735d350f8344df5c9360953d237561a5d36cbe0113687fb773647a882361b53333614ddf33550cb8236ad87d4362b1c073604d30336da414a36fb079936a1de0a363500953500029935a850963562879d35706b6535b0a0e73583faca35e482e13573a2b6357e545e36350f4036dca6db35fb49d235fa393b37d85aad32b0f4a7320fdfa732fbd15b363c812a3ec6ce4f3fd735f0343920af368fbd5d3e9695303fc080333607f86836b88f563e87fe0f3f561e1d365e031236753d533edbfcc33ee3b3fc35a1ef29368f76383e1145783e01caf135d706ac359e70313e5ced893d541694359505e4358d8efa3d7924d9355465d635cf4b6736d899203de5d222368e62a9355851b637f37ac338751fb1328f08a4323b3ad8314118f037f1c9bc316539da3140251236016cb137bcf36e35e91a3135a4e71337a4241a37747fac3654bf8f36deb4be367823d536504e3a366ce40a360ed71f36b4133f36a30bf335ebbfe435d893c4361bd81737f54a813688563a36c430bf3537818637640ada35372dba358286c733193b833484d7913347902d33b3a982374a289032ff9088325d788832f45dd631317f463d8797733fabcdc331b502c83516f7a23d2bb2533ff21a56357f67fa36b8e6ad3dd42a333fd79ba2366c708f36ec3d6c3d6935073fb21a2b36f785ee35cd07ef3c4cc2c33e97270036a5dd8d36d98e3b3baf91683eb9256636db46c9356109743c4b25583d7982e1359bc644337a1fa03a1f732f34ca66b03393527a3749ebe239cfeb9432126a863200000000000000000000000000000000697b253671c5ff36f1b3c635df44a835ead8a23648beda36c4d61e36b9eeea35087b3434799e6c349ee1323497214234b6281f388e7d8438b3708036ab2f6e36bb5eda360aa4bd3751d51436ee11fb35260cf1343865e83751de2d35cbae0535739ab0359f45293780c6ab3507bc56350000000000000000000000000000000000000000000000000000803f000000002b2d02361e8d253832ee723ff87beb3501738f3605ab3638c422543faf9815361f5230348df42b3783a0273f3cc3443462639e36cef3b5388b08f73e7e088c365ef4133635f82a38e5dba13e892e1136728be1341eecd5379fb71a3e73e344355e7e8a35aa1a78374045fc39caaba63500000000000000000000000000000000000000000000000000000000000000006b6820385b068836a31ff7352d8dc835132bcc364d1e8f36191e113698c39d350dd60d38d121233642b1fb355919cf359c23cc3649598c36fb5c6c362ea747366acc8a381458333388633633f0463c333d10b9382b5e063604e6ee35d28adc35fe1a1a38a06fd836e77c83360811763600000000000000000000000000000000000000000000803f00000000000000003857e6387728733f55b482369220e935ac14063cb8354b3f96ad8e3698fc04361eb87138e660283f78731e3645f2f0353d8cc33662de023f20f28d36b67f683651683738b571bb3e6b5a3333973237339d7b1b383e124b3ecad4fe35bb8de935b1786437954e6f3d3fb99f360bbb8036000000000000000000000000000000004324e037e53b953cf6e9b9375151bc361bf79337324c66378f3fc63618708d362d08b837e2346e35da25c434c8199a33285ff137c3cff235b4b49b35503d5935f3a4df3744a05e36f5e03c360144243644950c3849f4b633d570ba3345eabe33b6348d38583a8436b4342036dad41236c1b2d138002d7c36dc9d6b360a876536ed718a3888d8883634ae1b352cb51a3581e91e362f9d6d3fbe075a3d66bf393704b2cb3649b97f3f7742cb379b7fb836ce97a43649526a3f49de8a355bcf833473db37378d943e3fa3200336fdcc9335cd95823788d5133f03bf6136053e3736fdbf57376ec1d43eb250b8334afdbb335639d2372428843ebd467236848c1f36ae6c62368aced63df5e77936f6e368361bbe4f371cfc2b3dd0efb835f458083573fafc35e736023d9bd030362a742c3681100637358eae38dcbefc36111db03685c07b37ee7da137328c373622723136ff26f737b6cea433d107a4336faca133be3f8b38ccee273654ca05368bc0ea35d5fa143820f49c35b93880356be15c35d3d19d370eb088346cb4373452aa3834e20da938e5e0b23629c3a3362bbf9e36679aea3862c1d936d34d8136209f6f36bb956535ef12473f532a433ea5ca313604898d3650e05e3f0079e33dd4ece23695ca0836a8d7573f323e2b38256c2f36bfb88737fb58393f0568af33f53fa233578bcf37d72e0e3f54912a3681eff535fc32a2357c6dd13e95e79e3539395535f4c9af33209e7c3e98cd9734f6645e346791ab36a62de33d0b06b03600349e36af5a75387ce9263dbe5a9136701b7136e47a4e36cf1e753cd5173736419e2636abfb0437e0711d394b566a369d654736efabb93504607538374bc63537dca435a40a6d3846c0fc3572c4a33599345d3571538f370d3978369c554e3635212a364d8565381caf953464ff42334005473381198138aac2583608e8273635541736c766b838715eb0369e975e36c6704c36bf5e70380ec70036e2f4db35924dbd35c32a3236a4b7243f6c66ad3e169135361dcd4536ca6d333fc0a27b3e9dd85e36e178a035e7df343f2149d93d8b30bd3556d60e36c4c2273f9c82df3cb8959d35c89680366860073f23038036c1ca4436d2e56b374ae2c43e110abb3499f5423375bd25375316753e0de45336e92026361fcb173703b3ce3d1bc1a036ad3a5b3628c0b9377a5cf33cdf9bfa35c33dcd3508cd0e36e28bed3ae471ff3541c4ae35b5368436b7dcb938638b7936f72e4a36180a0136681519381b13f035b736a33502fb253605801a37bd1cf834a2561e341930b63824ba54388fbb083632c1e0358f9d17375ade7a34b7dfb7338276ba33d03c99376e16e7354f8a8f35e5f922355802493865e58136f6664f361abc36367a8e2a3807a0d535ceea8535ccaf4e3557aaba357e0d023f6619fa3ec77ce1352a136636064f0b3f1f03bf3e0bef6c36eddec73554cd093f30457f3ead0be2356379e933e58e063fa955f73dfc02cc349af7ce36544ed53ec1e1aa3d34da0236e72e3135f255b53e1cc2fb34aac0b833aeba0936e5265a3ebdb2e1354c728135d74d8836bb4eaa3d35307a36d4504c367a63bc37e03cfd3af212d135c7508335d3486f36463c873aed95f535fcdccc35680d7137f0061239176e6a36d9613f364a200037367cce3879296136e5fb2a36a21a17376998b3388bc3b034b3fa4933d31b523733ffcb3756c46b36bc1e4a360d7d8138bc8a1738a5920e36a35400364eec30387cd1b8350bed84351dae3a3591d0c938424e6136022d2e3674d31c368a5526380c593e36bccf1b360e1ef8352839f0358908b23e01451f3fb548f0354fe98836c1bac73e8b7f023fdb2e5d3654774836874cc73e9653be3edba05436054e263439b7c03e006b753e40efa9340f026a36c6a3b33e5466f73d63c46236a376e735a04f9a3e0fa6853c80f30636d974d935fd67403e3f4ab93521558035df856938683e5c3d89b75436f86d24360ced9d376437703b6a4b363651a10b36e2bb8d38eaa77a3a616f4636bd331036ccb9e5376809da382c2a8936873f5e36f3c84d344a6ffb3752d00633527b0333d677a83502458338ed2e193565107e342b87003887cfc138e1af3136f48c093607b2b337f1154c38482fd434b13dfa34da0ef337c6cc17362685d9357f97b93532451b386aa0da36bb9fd835b7e695354acb8f387c56af35e32ac434da7986344f378436a7574a3e2ad7423fb8853c369669aa362a377a3e7f0a253f147682369eb86034b3176d3eedd5053fee4b0433fc038e350eb2663e6375bb3e8819083588961c3621ea4f3e75dc773ee44e29366d65a53362fb3b3ef2c8bd3d4c46cc348d7a6436a7fb203e56cc10378d6dd235b543a037299b983c520cc33647d6ce35f2b89c3832831c3a51f59a358c2992348c9011385bdcaf391c224c3459eab33286768138d195af38fdc92d36ab71dd35730744386a2794380097f5355312753500e2a537cf3124388a3ab133c39aad330b2d7137fd325d38691f53366bd6273651dc2236a9b28b384ad716367643d835d2ef5e36f352a638b83ebb354b7c953576f7043846c9033710668a36db9024367435bd38d768cc36ed4bd635d5cf6335fee022351fa8723d1c0a663f3cddc43386f86e36cd52dd3d2797493f398b23362bbb5536274ac13d0ac3253f4f21eb35dcb8b8334b909c3d262c023f50e3af336663533671536a3d1130bb3e7a2c4f36a924ee3535e0b13cf6f56f3e91e41436e1545a35a475b13a675cab3dacb1b635c22cff36f4258a3af79afb36775e7d36b141fb3898140e3ab87a6136bfd8c535000000000000000000000000000000007c287937d7dbff37f9104536206f1b36c96cef37ebf1cd386ccbd035ec368435ea60f6372809ac382e034e33adbc5433e3d59936c0139e38f50d84362fbe553687eb40369b1562390bb250365bf34336bcc7c036818e113c48cbd8363163b636c656b63662482039c0bfcd36aaa7af360000000000000000000000000000000000000000000000000000803f00000000cd6c9b360028043d88d3683fe9b04036f2e600361d04ee3c92ed453f4502cb35aaf23333131bfe385052223fe0f14733fe828f3637c8f738fe5efa3e4016833682cc17360f1c8e38f372af3e590551368451803649022337173d423e4a7cd336fdac6836a529b438f5fc4d3d2be1c636000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dcdfa033b63ee733eec11e338a273534af200a3350e004332f9cf632ef190e334da247354a215a350b663635be8a703590915635b0c36c35e0f63d3569ae7b35cc99413417f42c3475b0c0333edfae3346968b35f9897e3548053e35126d613500000000000000000000000000000000000000000000803f0000000000000000000000007183763f00000000000000009dd50034cbc6513f561f8133893f47331ef5113357ff263fa31a01335811dc32a0df5335c673f03ed72b6b35a71c3b35ea507c351fb1913e0874483570103e3508924f34f798013e5534ec3311c8af333fb988350e90983c48cd833530274835000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac0c23323870733200000000484b043331e5d7323d1ba23202bd1d321bb1e33249dc81341be442345885c433f2ca5c34c5263c33692f0a33ddaf8a3230a66333719a553423680c343b78ab3338710b3460dede346855b93401958834c9dbad34c1c14a346dad5e346e121f343e665b3400000000d760793f74301a3d00000000000000009f8d7d3fa208373b000000003e1f77328f715f3f000000003c92ad3123caae32e46f353fd70eeb32750ea032a8063c3496e9073fde8f4234d3841f34385a4433d0dcb73ed48cd937b266c132262c55349cab403e58291a3ab89d0934730fe6347ca3763d5809b034f517933434b36e345d76c039054159346b9a5e344ff65b34e6258a346848513426d08b34078d6e351abe7935170f483526d08e3551ae71335b0e39339c0e61335f4da03300000000000000000000000056032a33a281d0320000000000000000622c7034c2cbb532f4e48932f3e78f320adceb32c60941332aa11833680e96316498aa3345119e34ab778e342b090234eda0e534c1cfbc34966cc33420891a34c30ffb334902483484b9553f9e4a333e62292d34713c663510fc5f3f8c650b3e232d6b354fe3823322e8563f0d87253df077973355db5232e7ca333fe5da0c3ce8642c30d3fac432f4520a3ffbeb643bd4430e33e3b9b332c8bbb23ed2d46f3bd184b032fc438d33ebea2c3effddd13b1f4e6233da7284344f691f3d9202d13805d29434c11278341ea95f359d70a43470e7303477a15b33a6d58c3339f46733688e8633000000000000000000000000fd2d98330000000000000000000000000000000067df0c3205a2343207e396315b7d8e3262ac183200000000000000004be5a833b2368f3316dfa933e0e9983395af0b346f7016333daf0a3316dde932b187e332fd07853508fe6435117a53356b707435c8a7a834dbce9c3494089434a29bab34b28f42333d072b3f40d0af3ee4bf513300000000b4c4353fb6d0993e000000000000000013fc313ffdab353e000000005c123832d770223f7936903d191aa631000000003b15fd3e69b6ee3c00000000aa988933d1ada53e3820323cc566973371f610335f07233e5dc7403ac6e7d6329f3279359924a53caa0d6735eda34f35da3c9e34318c673966ca943403df8834d8be2132f819ff32b76884334a48cc33f575093481dded333200e8336fc407343a151434e0ed833420b92f344d892d3487f9193319df2233cdf0fc32f2d03d339cab77343f996a349df43234a1c78034376d2f33adc80d332f85bc327c6b0033ee6a03343760c933a3a4b333b980303492eb1f3413d1fb333ec574332f43e233ad5d8f332014033472859b336cfda333293a1a328d12f53e2d37093f1a3ab93288c9ce33e07f063ff325ee3eaf6eca333b71f5339f55053fb6d5b13e4f172134f3951433fcf8fb3e96de4e3e40431e33ab515834823dd83e3609ae3d0f8a5934d9dd0433c244943ef00bed3c2839de32e4c7e13345f50f3e7f93c63b2322ec33dfcdde3385c7993c3be61234b135c63367a2923363a2a83948c3a433f68e8d33e34f90346d19ae34fc99aa34cf9bac340488693516b57d3599de4f35fddc843587985033386080337e1858335f4b8e33f038853305829933f45b00334a3d10340000000000000000000000004019543433fac2310c3d38313fcb303293b990328cdc163362c7e032000000009efecb33000000000000000000000000f55d8b3385c075337b506133e50d83333b9c8f338f079334cf0f953e5ac6373fd3a946349f7e6c35eac5b53e3e64233fbb455135fc65cb325f02ae3e36d9023facb62e3399a5c7336cc79e3e2d69bd3ef2001c3365247d33ebb1963e8b574a3e00000000cb4c7330de68763e6ae18a3d8408253257dadd328ba4073ebb03d53b00000000757a66335128093b000000000000000045c846330cba89335c403f3374006f333db6f534bd84e5348ff4d233c1f8e1339b991035c9b6f33468a38c3456ceab34ae7071331a783d33aeeadc325f972c33b8e1323305820633c0efaa3271cad63295f6b9334e1a62330000000092e9b533765ab131d7b9093100000000164ce3321817a0331286b73314896133973c9a33b75c86350d546d35fc1e53357c137b352f4577347cae6234f03361340cce86347e2a1834ea7f043e6f93603f19379b33282880346104333e07284c3f4afbef33eac7f432ba5d1f3ed75e2e3f4fcd193397a35433dc5e153ea3d2033f3b409732e3c49f3239af013e7d9db03e0000000000000000b3e0ef3db1ae3d3e00000000ce16a83338bcad3df7fe363de091283392067c350a15c639af656535bf474f35289d60345d3b223989bf4c342e194e34f1d74c3415877d34a6cc4934992f5034b84cdd347804bd34dede883421fdb4345d571634677a64346a511a349ecf2134e9695d33c2112d336340f33293d649331d52693461243d34de83b7338b427c343f70c8320aa44e3200000000ad139a3235710732dbd926330000000088354a33000000005d372d32000000000000000000000000000000000000000000000000d493493479df443cdc327f3f0b2cc1333d8cd834056c133d9df7683f163a28344337fc33a998c93bb7ca503fe26c1e346767a133b83b333b4e0e263f53032133fbc73a34e658ae3aec13f53e8551213490395b328814a8398df49b3e276f943100000000a52f5c336a060c3e0000000000000000e356cb3a13d9073c000000000000000000000000000000000000000000000000000000000000000000000000b3e06a3519e35e35c0ae3e3552d58535c32eda33c2c1ab338e2ea5335754de33b6ec0d35fb601535ae8a173578911c35d6892a3506ca2935c11b2235a86c7435016d0033dc7cc332d12ac332afda0f3300000000000000000000000068548833000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f00000000dc3d8c355e0fa33567b37d3f65d84835d6f4f433e6de00347726623f0f740034d6765035763a6b3561603a3f4d4ef434eb936435cd3a8d359ad50b3f53230d3579b4ff3207e70e3324cab83e7b5ce83215ffa43114d7b43397c4433e00000000000000000000000009e64c3d000000000000000000000000000000000000000000000000000000000000000000000000d7d8d535c696903584e27b350dd2d835bdb09234005b8334119a7934c844c334f1858a35050f9735d08ca335533ba3353cc90d368fe9c7354a99bc3532bf1d3635cbbf341162b2347685a8347ddc003574e650350a6f5d35a6eb84359299893567f5d835d7d1b83554cca335ca3b1b3600000000000000000000000000000000000000000000803f0000000000000000ac2016372e66783f284c983590eaaf35007c013854254e3f7d9e2f340e46703425f1ca3719d1243f40698535955dac351d03063882ecf33e58d8be3526d8f835215465344e379f3e81eb21346454b03419492e35f030223e1ae22435bac89835d294b33511b2153d3182a835ea18d035000000000000000000000000000000004a909a335b1adb393a15bc36379a803400000000000000000000000000000000ffaa28340000000000000000a708d633abdf13350de21d354c001f35fd7b2035000000000000000000000000000000003bc355357faddd34e327b83475903e350000000000000000000000000000000000000000000000000000000000000000693f1d37e318ec3163d3f131b3317534000000006206793fff01f93cdfafb33400000000e3467d3f06829a36000000001bf9b93424366d3f0000000000000000a59b0835b972433fc0d93b351bb00b35c4e22537ffd31c3f0000000000000000db968235ce85e53e39ca0c35d8229634000000004504813e000000000000000000000000082afd3d00000000000000008b232837d514873ce4371c3400b302320000000026f9603c82724436000000008bc77b34ba8edd393fa57c34afeb3d341313b0344f5f763423489e345463a5346a507a34e1995f3468253f3454890934000000000000000000000000000000000d7dec33000000000000000039d663338d1d1a3432741a3435d9233461cc173400000000000000000000000000000000c2157537a9abc33449fee5336a926e34000000007e7d4d3fef68433e0000000096c0103330755c3fba7db43dc84c7334cdb3bc34489e603fb3000739db7580347707a23332c94c3ff3e0763433201f34000000002568223fcccb1c340000000025bc48344fd6ea3e0000000000000000928458331d67913e89a5353467ac173400000000df69fa3d000000000000000015913a373be96e3d000000000000000000000000ae9ecf3b0000000000000000a71e8b34362b3f3a2d8f1c342d4b2d34990e2f34ecd8f8330e9eab3342d326346dec0935b83e2835b46b0635d013f734993d963593656b3506310f35817c7735687b47346de901334ad6c33068a0a6326a49a5349b398f344b76a034ca9fd834e59295351b3c753523b9fe34b72a6235dcdedf3751757332c9489b3190c9a03100000000a7ef263f559ab13e000000004d776a34f4922e3ffbc3743e5eaf3334a50033341c66333f5ee3b03d0ca02e33cd27a8340fa4313fb4ef92399f0d033585096d35ba451c3ff7205c3572005b35e21e1a34899ce13e4ae3cf30f1dcb230f1d67a349b4a8e3ec37d34347815b034fd707835b3dc043e19fc3435f38f1c3583889137c7f0153d82899531aa64ab314763e9318b554b3bb10546345ee280335412fb322907843a071ac032ebccc732f583b43157ceeb390eecb9314a22f3316ad8c23342e4d134acd7a634c6a6d53300000000b4bf23360000000000000000cb00c13459c4473168f378334ca8a834c92001326e95e73122610a3297e53632fd82193304ca2833a16e3133a00a4633cd30bb357b3738311949323112ce16344ae0f0307a3cf33ecf7b023fb2d24d34237bde32d637033f9db9c43e7432d332dee89a3108fe033fce9d783efe540232000000006b49033f9ed6a63d700ea7340000000023f1003f819d8f39000000004ccb0335ebf1d43e183645346739893242b7d631df90803e8a8be03199410f32d3ebdd32b431e93d4d38243331aa363307201d3748dca83c34d2c83392e037319e128c3681ee473ba7e13c3185c23a314485ac353686893a57c63835f322183517f9a43414272939e76d9734af7f483412c3533046ae8439b479712f00000000f5fb91351489d93695587a35e6350c3501e55835cc1e2a35d438da342c1f98346da2e433fbdd32346ce81d3468dc083412a46e34284276342791a034b6321434fc546937000000000000000000000000d9c76c31880d983eb8772c3f6bdb25315fc75d353fd7af3ef364093f3dd924355c745134ea6bad3e3fc8c93e1dc65d343c224a30147fa33eb084803e0000000055ec4b35937fa73ec7d3963d704e7d35fc650f350a21a03e40b49139ddf0c1342e145d31fa47653e3b5f2e347bc0073432951c3480ecb23d8bbde534fafc9934db0beb379c75ab3b000000000000000014dd23355a4c673a00000000000000000000000071313d3a00000000000000002eb54834e0ad8339e101983196effe33ba052833181859394186a2300000000000000000fea421390000000000000000a149a234be4145347f5d8833c2ea8c3402b6b5340217be34f886a83471e19334fb7a0535ee209734f9339733f51ab3332457ae37000000000000000000000000000000003cec053e100d513f000000000000000092a03d3ed947333f0000000008836034baa5313eec140d3f00000000bb8d073333351e3e4236cb3e0000000000000000969b023eb5f27e3e00000000b51fb73471350f3e59fe8c3d17cfe0328457a6345904033e37391f366e45963443bed134b862743d99892a33c95501334bf83338ac94423b0000000000000000d65315346c26c839c3991933ce462431000000002f808839000000000000000000000000d218e7360000000000000000aa811535786b0b384e2935359dae0e35000000007d1e2e3900000000000000009c44423553d702397807ad3414c81c3500000000a927c3372e138b3441d0913300000000000000000000000000000000a67df3368ce9eb32971fef324f997a3406f0c0330fa7bf3c3402773fc8e0a732000000003d34513db5bc543f00000000000000009a67433dcf56353f0000000051120535f565263c1fb00c3fa38b3035000000002b71443a6f77ca3e00000000f2395135064c153a40c37a3ed63bad3400000000be40823a77baa13d2958723400000000a1557c3c0000000000000000e92303382cabd73aa0df36340000000000000000000000000000000000000000f4580836365e9536d7a08335ece25135e4ef713532c2373586d72635f6443235f9359a34ed3a2734f2c554346c9b40346bdf0a3636adf737a4e0be35e88c9035b89aa63575fbc037801d6f3513b291351355873436764936a9528a34cd206e34622ccc3588ae5a38a8cb8b356d3a2a350000000000000000000000000000000000000000000000000000803f00000000f56ef73509de6b371f01783f871c7535862050356dcae4380a83583f83fb24352a5f88348c08a7373886323f9cbc8a3492dc0736f1bbf237421a083f0c41b3355c159935c27ca9378b5eba3e47006f359133463413774834f9224f3e0cc29a34074ccb35dbbcdb357c6d143d09768335000000000000000000000000000000000000000000000000000000000000000077db2837e9c6ed33ad14de33c16ef2337d53c9372692d934c7fce434d7a30f35c71bf13744bd54365a17cd35253c1236bcc7f137bf7c0934ffdb0734066f1b3400ca87392d2161348ed98034912b96344255483a212141365f77dd357f7bf83545ad033a0000000000000000b759c93200000000000000000000000000000000000000000000803f0000000000000000608690371e6f753f0c550334ba9ceb331c3af73cfea3493ff2e2d4340756e23432a5bd38a5f8263f87114c366f38db35d07c88381878033f99a91c34db8b123484dfec374e20bb3e9bd75f346f5582348f280a38d0dd383e8c453a36e675f835907a32380b199f3d0000000000000000000000000000000000000000000000000000000061c10d3d0000000000000000c0a4f537e89ff634f765aa34044d9e34df8da234cab82034c8db013434959134b19efd3736a2c534962ec234ef311d35e4453838ffe7bf3418df66344d99553497e62439964c9233e5c1a1337256b133e1968c385256713385b35533294e4b34ff4a213ade58173449160034f6fde3338a8b313800000000000000000000000000000000b712703f8cf9e63c00000000b7a51d35197c7b3f2c950635fd5d94340128303592f1713f1a95e3337f7ffb331543e137b783463fe13bb9347e26c734eda817386e63283f1b2ae53403795d3495d0923727d4fb3e235f98331e6aa7339400053853da993ee73ef932c4c48e3349eb043890a4103e0c563b34fb5bfb332704e73738ea723d0000000000000000ee45ad37dbb7cc3db19d2a34341a05341032c2338f3d073d1d7fe0335296d53300000000000000000000000000000000738d0a37a1599d33d058d8336c389f33bf034038897202344807da334fb79933d750a038da761b34dbda5034062d8c3448de7b3968156333112da33332cfe833cab71a396fc95534a1eb8633d7002233ebdb543ac43b8d329371a132844c2d331585d433705f453fd117003ec3d317343a8baa333d785b3f25cf793d98a7e13300000000cc5d613f0000000000000000746cf6362c5f563ffb75b833cce11834cd991438e4392b3fa4232f345737c5338ee43338327f063f241a1f34bef568348e213f374537b43eabbd3833fc22c23316904138eb0f543e908211341f5d993316908438dab3ce3d434575322230b132c8eb5938964ba93da8088535620b5f32da174b37ae4bb13d678b0734b4083834b37ef0347fde7d3c3436013518463435ee26d336a9e88334411198348305aa348816b0372f91bb345207b4344d6c0a3528c861382483c434c7c8d434472ff5341c2a2d3867029e31538816328333c832f9454439307d2f34ce4709345f132b34fc72bb3987f84934724ca233010aef33101f4232df39203fcb1b8e3eb1162035601536340303233f438c203e8b3e07340421f534e83a2e3ff7a87c3d8dbd083597995634c596303fa3257034ee3192344064fa36c20b243fb178d034da71be34582df337d1def73e18e3bf344412db34588eb836680bb13e19d59a31cc93063272b47f366a57523e7aa23134356a23342b731e385d38853dac08a5332cc3b133b40ab8378a53863d9a044632bc3144329d18a137784f6b3db21a18353a6784340e123837344f513d85852134eb433f34ffc5f43688f3423c1e85503408b0863404d4b637b339fc36cd6e6234eeb65a34d81000380986243450473534d6a44134d61b2d3858b8473480a034345d3d8a348eb4b8381fdce334cb66f73354d94634a6b817396d515530000000006a6dbb2e0e2f31313740ea3ec149df3e02b64d32f09fa7347934ef3e417c993ef066c9343ab92a34dbcff23ebb4d3e3ea9862834eea22334a13ffd3e7888603d98d35a3411938c34c767003fa59f1b36a8646334f6f6873704eae23e9b2e293406d7413406ae97370abd963e9cf83334010e3d343685e837451c3a3e69298934fc490034f9850b38f346413d58042f311e2e1f30d1e9ec37d8e80c3da48ed93312b6c2337ba53137ec8b043de7874d34484f30344bbb4036a11fe93c2e55d031c68cda3102ac0038882d393db4c8f134dafdcd342a53383646c3453b163d423550071835ffd47e3781e75f348e949034ea6e8d34539cf5371876d634c0c51135feda103572f2f338c6831f344ae64434cfb34034140a07398e70273288292b326b82ad32584ab333d14b9d3e7446193f9284e03389f94d34bc8e9e3ec481eb3e9e924f34463f9731a5a19e3e589fa43e1a4dce3114b0cf34c41b933ef4a8403e74d204356b2ad134afaf9f3e2b8c493d03fe37350e116334c484a03ece397334a48fab347993ac377ed17c3e83700535be271435a88a2538c7f5003e54de4234bae4453406c8d738a7b39e3c088f1032f9563932958194386c97203c61f3b13243fa9f32a93a0d38767c2d3c3873e4330e5a4a33d73c303740f61c3cefd0083482d5a63350a1cd378365973c491a4734f67a5234ecbdb637977f313d2f130434719e1934d496f0331ca2893c263c3734475e46345e5e1e3600000000000000000000000003968539d64f9533e78d9233b483af33cacad639a13fd3331ce5be33f8edcd33a5d6ab3207870b3e74b9413f6ccbc732d4493b34ad4b323e361c1d3f6573ce3384b97733f086263ef438f73eab7a003496b526348c590d3e58cba53efcb6403447b31c34caf5dd3dc4403d3e28ea0e3462ff90330912f43d20effc3c400b2f34000000007bfffb3d0000000000000000060a5b3758a75b3d4cf2a833f3419e337911273be76bdc3bd31cd533c3b5c1335c51d437a50dec3b0000000000000000beb1c6371ab0d83b2ae48b347f9137333dd38c3731e8df3b577cea3285e55932fbf277376d62743c781fb833fbd3b133937e83377fd59c3cf2d5c6345d0e4234dca3c43433e05c3d53d8913456bfa3340ac39a34a132b03cb9992935fffd9b34d64b1c3823f69f35a5e2c2343d4b84343b4116390000000000000000000000000000000081f5203df1ff653f00000000666758341e78bc3d74b8433fffd5353481151e33f9598e3d2cb5203f3b0f0d3343169233a282a73c4e2df53e017bc9336405f534ac47433a58dfa73ec8fb953454b0ab345e351938a1cd333eaed2963442170b3447857b39851d173d3cae0235bf360b3558f5a23c6502213581b7a534ad9dd236d7228c3b000000000000000000000000000000000000000000000000aac5d1376ebb633b0000000000000000c2e6cd37eacfe33abc980e36d1c1013433a8b436df26873bc508a234559e8334582734344c51ae3cf5bd4f34ebb240349069fc366ccc3c3df34dce364dea84363fe5bb3507d95d3d164a9735224d2335d45b173433c88c3cc15b2f34ba492b340000000000000000000000000000000000000000000000000000803f000000000000000090d0e13b30756a3f000000005045343663e30c3d2740493f07ebde359fa7593486b9e23943b1223f88549c3418dc1b3457a2a0382145f13e115b5134c2793a36f044b437ccb39c3ee92bc5368a5dc534b41de336fd74083e14d7a5351558023443ea0e37604de83ce47231340000000000000000000000000000000000000000000000000000000000000000d400bb370b30ed36cf98f3363b2064377e399c37f97cad364b49cc36aa5c5337400da437ac198b35545f8c35dc619036c4f9e83737b732375c4b8237660fc237d923e737efdff136a9200037c8c7bf370c7ec537be946637bfd9833711ecb6375b9dd9379ec897373bc48c37437ebf3700000000000000000000000000000000000000000000803f0000000000000000a03c9a376ff67f3fab2b7c370aa31f37488ab23740c2583f3483683708612d373cdc303897fb2d3ffd693437a45a0b3698f71e385af3013f5297bd37e444a8373cda09384d54ac3ebfc6be3724e47837ca58c837909a2b3eb425943774589837cc52bf37935a77387f889137f0399c3700000000000000000000000000000000367ab0379bad4a375c5fd536b4d36b37d0ef4c373ffb50366ad5543662ea593666aaa537df349836bd58cd3625c1193795870338f7e72137d214423777ffc9371a4dca37ab9276364eb6d636f9558f376ba60238df55da36f22e0737762b9f37553ef437d3172b3782d4153791bbc8375c92a937850d0f37b5a50a370c038637e57599370f1088370fce863719309f372fe0a53585f07f3fc45f8b38875d3d378b2a5236b5f67f3f078c1538b9015b36d35f4337f2eb593fd2da1338595f0437d745ce37f71b303f19b81138b2089d378e43a4371e15023f3d070e38fe0a5837765baf37042aae3eafb51838c40722378a07c637609c323eadbbf73787e0683799871f37da7b683ce4da7f3781790537019a56370f77bb37f9cf583729e7583735559037a999763765681f376f234c37f789b13726220937a1c0e236cb8b1c37d8601d38d8dd0f36cc5a1136c56e9136fe8cf03717da3f3725ce3937f6c2a537b80da837f4af293737822c376f726f37e9ad46388f05a337f016a23753c90038626987375713be365b79b036cbe65d373db9da377de6813794b217375520ab37fd9f08383cafa437560889377362bf37e1446d367c19583f366a1f3e9ad41b3709b1d936bddb593fff73183e0c22f23676d52a36db9f363fb5440b3ee1ef153640c68637c2d4183f8921b13dc1fd66370ef44e37dd61e13e2023663db1024137db47b4378fee9d3e8c67a038ce08b33793d7eb36052e2a3e1fa2d3376a4abc36044365377ee2513cd7b1cd37315aca365b9f9137356484383e7b9f37bb2968373bcc0f3802110f385e076937ce8883379facef37b6d67e37f91c1136c99c143654e39a37383ec036b5db2736e453dc36439d603866a3693680c23135a9359536eecd1238f2e40737c7b07136d9575a3782c2f537681db3362abdcc35b1f22a37db8601385379a3372f5960379d3dc637ce329a37152e86378c166b37c80a8e371abf2638488ed2379a004b37bbddda375abfb536222c2d3ff483a53ed50a083731df1236c5c62f3f304da03e640a1136dadbb2366d04193f881b863e58ff5436e76f9c375256f93ecb75493e58562d35e7ef443729cdb93e42530b3e891880366276b636ce43803ec741863dcc35e3350fba9e375d9e0c3e8a464f38f1014037bc707c378ee61a3c5b3e923773c44c375e8edd37e2c26c386dfaad370b1987366da422380e3b2238ca2f19377d5d3f37320db437d30e2b37ddf63b366c37443664e710383e11a037d8932f37dbe55137a9e8ea375ad026371f5da635bc3404376f5e6938bf57c23749092e37ba95a9377bb4f0372eef8537fcc6df3672047a37c9aa1d3863fde537f85d8f3762c8dc37c45ada37b0ff703799731f37ec318137663b16389b25b137fe3196375c1ec137b8580f3755ff013f91dbfb3e45957636fe1445361e19053f4cb7f53e5b333e36ba939c375659e53e1c17cd3ed1823037ef986c3735fdbc3efa32a03e7bb0a5356e64e937ffed8a3ebd0c6a3ec3ed5837eb5d8b370b69413ee60d043ecdacd83650f6d537c1efd03d74f6493dc9247d3707615a3745617438677ff13758a0da368dd2bc37e15e66388774a3372e0c5e3795382938c15a263876c33836594c4e368a41963736cf66376b488f36775ecd36e5c8f23711365c375667a335bef2ba351ae0fc37d1b45d36caba923525ff953566fd1c38eccf3c37932d3f36ff49c0365c0381385c6de737e62c34358705643761b69c377e1a5737f02ee236f9205b37dc5906384542c137905634376642ad37869803380bc0df371084a6377368da3707b76636ea04ae3eede6283fd1bfd835d79f2b37dfedb23ee817243f880a73366a0a6b371452a23edca20b3f25b4a5350725cc3688f4823e9b22db3e09a58f35597b883723fb423e3df49e3e315e4c369f720238d30afe3d32a0443eb37a3935b9aa5437cf28753d2d98a43d84a6af36b9b7b23759c45a38083f1b38265f3f3679dbe137355e2c387688db37250a2f37062e3838043605389ca5e93671f107378232d13737344b3745a13136714939368b558337dc6f37360965ce35f100df35e19f513862bfa337015e28373be552375546b2379e75543740a7d036aa991e3739850238d5d9a537f25210376e708937d01b3438b18986375f951736bb7ef33617d4d037f5cf8237156c15376b4d52376030763783bd5937971e303795d5523780e455378433313eeba3533fe6e69c36187a083754c63d3eb23d4d3f22542c36a732f03660bc343e5b3d283fbd4cd035f132d3374f62153ef2a30b3f77fb2e372dbd6f37435bdc3d68a9ca3e5161d73655d7c137b7127e3d703c823e13981237ab21a737d0a8b93c55e8023e59d712368a779437460752384c040b38e58bf8367d4972375997963785d945376307d736c768ba3757658b379f18e035a05af235e0bd9e37b783de36e851883631548f36cd4bf537aac55137989983362dc68c36b60f1f385d281f3754556f35341d1036c424fa37a2927437b7e16f36450376367bf10738aa56d23745e41d3783148c370f17cd3739486f37a7bfde3631af12376bb28a37d024033756576336fd6681369618843798073e373235db360ef347373093783747c3943bfacb7e3f634bdb35282b2f3783b9e23c0244753fd8b88a361250b837dc2eee3cbeda4b3f961988369774a3371edebb3c7afe223f9e33a0354c6eaf37e25f9f3c43ccf13e82d871361e58ee375aca053935a29f3e53602837ee2899372fe63b38d213183e9d5dd736e250343772c40738893306386c7d5d36cc8c8b37dc4ce137f9632437e4bfb235000000000000000000000000000000005ba5b137933b5d3791a9583623248f363537bb3771fd8b3715c35d3569cc7a364af1f637cf1b91370799d636572ded369146ef37a705c03766c4f036b284803749f1b337ca92eb36cadc8f3577482c364c4e96376d5d87372acf2837b9f4583780359f3798769d37ecb06e37cf3f9b370000000000000000000000000000000000000000000000000000803f000000009797a5372aa414388ff07f3f68dd8d36455da937fd0a1838640a553f4287a6361f12c43717f02a384cc3293f9d71f2366657cb3795593038ffeffb3eaade82373268113761095d3811e3a33ec768c5354ea9763774e8ca375fc41c3e623e3737be6d80373c6ac2372a001038d3444437000000000000000000000000000000000000000000000000000000000000000052aef237c9d2ea36c4289636db079836c137333891eb1937f02d6a36220a6c362c7afe37fa5e3d37a6e29f367eaa2b37076266383997c3375a4b5c371a13c3370da93c38b8ecbf37da3f5b3778bddf37cb4cf2380911f4376741b537fa8c1d38cda00c3868b49d37166a5f375a1dfd3700000000000000000000000000000000000000000000803f00000000000000003780af391882733f2c95743721d1983613d6c439d8f34c3f490da9378e5b6c3646d60a3a8b3a273ff5ff8f37f9ad1037fc85023aad0a013f9a9004383a12a23790e89b3847deb63e56ddfa37f8a9a037e2a52b3a9582563ea2640138c8ffcb37cad835382bf6753d3add7137a257653700000000000000000000000000000000ca443438a1ea2b38d63e3437aba01437ac2a29380494cf378613be3575708536810c25381f1f7b37c6df1836af4e553640f41638e9fe4e37ec03bc354160bc35606fae3754bbd436ac51d436921cd63659bb1638b3b13837b79af236f8af6a37603f8c37e127db36f2083036cd073f3774475c370e9dce36f4d9cc36d05c5037c325cb3702d045371612b236ee8ba2375f0df5370110723faeb65d3dfc4f9937525a1b381de1653f18b3433d2396203768be383811d4433fea32fa3c52afbe3664de1d392e1f213fb738243c2849bc350921d5378e2ef83ed5ff7237ec2bd536f8355138a3bbb03ec62db9378e970837f3a99a37a8ec513e604d1537438b513604767a37a46a883d72e7c836b49ccb368cfd1538edcf5f382fde86362a569b36b3e74d3977ff7f39e07d88378c278f365fe07a3a48e2df382bb09935cff69c356fcfcb39619f963704945635b87556353ffa61385717f637217011363bd916369dc04d3809f58137bc2c9c369c2f9c3600821e3ae0d67237bd7e5a360708a4367decb337670044377364a536150b463797291a38dc04ba37baf376371c10cc37f59422385915e73757409f3798410038a61c103809714c3fe2304d3ebd0dc03760e17a37b042453f2e04413e14a89c35ae660e381219263f2ea6173e2e35b635ed6a52389b500b3ffba3d53d4576143692f525382b53d63e254f953d9ca39c3619c5cf39477f9e3e284cb03cae635b36ef98a7379e6a453e337e7f378eb3b136894623382a8a823dd547ad3740c25f3768f836386365a4396fdfb0374e58883767ae1838986424382d8741376173be36f6d2623aa2eb61393017a236cadca13616cd4c393649f8374d014d35fea34c352c7e0c3abff41f3843e47d361f4082363b1de839bdbff937f11b4f37894a6d3781080038f4afb9379ae82437f1c0653726794838843cd13731d0fb3512e3e43687d7f43791e9a6378c6eda3673268e37e5f15138eeed0f3819ddb73756780a38bd1fa5370fbe263f7f5bb23e967f543779e74737a461223f433ca53e1153a336aaf711389c860b3f020a853e936cb835d0d06438455ae73e42a14d3e725f93361cc256388291b43ee2ce123eaa418537fb1edc377cda843eca85a33d77c63d370e252638a40d283ec0e1ba3cd964cc355266e9377e2a743de620ab3741a9bf362c59dc3837b81b3a5b14e237431998377f951c38cb2c2d38f61e3a37f83f63368b52db37d0f89b372e4966357d67693506878a3998a5b43712a30e36ae450d36b8af1a382101bc371d2e48368c804536c7d13f39a30d04388c5dd13631d6d1365cc112388327c33781b84a36e9114b36150fc63848f98e37467813362f181e3638efb837432039372e9e76365fd8a736355f0c38f02cc937fe8a4237d97ca33758ada8379d55023fb021fb3e8fbe4037952d12370d70fc3e30e5e83e7c4c6f356ea9c43726ced93e339ac13e65cd0f362950fc37b9d3b63e2842983e745d48365ea31d3886bf8b3e2134683efafc1f3726b9f437d334533e0c670e3ede6e4a36514ef0373b23043e0705893dd048123648699737bddd543d995566378ecf4c3658c118389cbf3b3854cdb33769db0637729230392e97bf39fc8a9837ab79a736446a02384aabe03763ac8736c6718636f8d44b38be90f0377d5e833594117c358e49023871d6b037e38c153698550f360982af394a0dff3746c2f936b789f836a047a139083a3c386de78a362f8f8936473026384374033869cd063788782e374772d239524d79378af3a536c763c9362d7cff37aae9bb37ccdd2937d634893775daf537e75cb83e6373233f92e79437539e923712e3b43e943e163f0144883629790038cdfaa13e2634fe3ee8ca81350275e137b128873eedfcca3ed61c5536688e12382e42533e5bea973e173032371c755138b6fa193e5a99483e6adab336d8f611381840bf3d1896cf3ddf451b37350945397b9a193d3184743bde5fa53632e30c38eca3313835b9b1370366c23621ea3038d2684238c6cb34371f785d36db4a253840ba1138740bd335f578b0356663b5373ba03437000000000000000054710b3a5e63a437708c433607d13b365b133138fabda1371ab2983625ed963692b157386654203805870c3624f11036292f14383e8cb137c986f835369f95352cf1da394aee703764609735af754f36fc26573848b218386f8c2a37a078ac3789cdd33776a4593e4b70493face249371d14b53799a75b3ee1b1383f7f70e0358b7c71377c784d3e6e3b1b3f0000000029412139b60e2f3e460efe3e02414c3692b9c237ce93073e3375c03eff7e9836db3a2f387621c43d95c7823e65820d36be9de73725946a3d84b5143e54980e369b5b733967718a3c3692b63c0ba2943541ab7038a0d99b39ebb40c3818764436dae90038ded52438406d473636c43f361fa87237a75f3837b506b736da27a83682229337d4703e37d00b78359a97683547a32338b88cca37c0187e36518c7936ee1ea4376f1053373eccce36d0a8cb36d60d0f388fddd8372168b7353262b93554250438b867ca377f6b513627ec41368e3a0e38710df53753f744378848453719730538ec4bc03753f1aa366e1c0d370fd75f3740a5873dcbfb6e3f3df84736fd170c37e9b0a23df3935a3f6348bc3644e45c3706fb9c3df0db373f9dd57c3537b0d53726578e3d3ac5153f1cff7f36dadb6d376f637b3d6d4ce83e62bdcf36847ee637123b2c3d94e7a23e5c41b5352bb6d3371718a53c6c8d3c3e9f02af36e0470138c958313c59d4303d391f1d3732451938a5673a38cac7d337acfe033600000000000000000000000000000000aede1b38540c143894f7943640da903647497a3933d5e838d23637374335ff3527e94338e25b3638f31007373c4bb13635c96b38539b5438050c543778cabf362593eb37defbd33751fa08371d139a369963263817ba1e3866950f37f576a036aa25c437a34ecf3793a11a373aedf0360000000000000000000000000000000000000000000000000000803f00000000b27bdc3767cb59380d8c703f97dc3237ab2e263814a8733ad7c7493fb33fdd37de8f1d38f0397a390168243f1b1fc33729df1a38570a073a403cfd3e4a6bca37a548a5370ed7ba39d5feb03e62da55371710d73705d98538b58f4b3eda8a4d379e6571375f6f1a3815b4453d958a07370000000000000000000000000000000000000000000000000000000000000000bf70013a841dac390a006837eb534d379f35123aa3dd88396871d7371eafc53705a3f039fa7b8839b2381438a3ef0638b0c20a3ae9989a394f1c5d38510aba37e030be39c38c5139ba212038ce972338b9b0f239100fa239adb10839f7c42d399214d339f72b7d39d2f3b03806eb293900000000000000000000000000000000000000000000803f00000000000000000513593aa742613f8e4dc139ae172c385ebd673a6f75403f8cc5aa39174bfa37e5e1203a7726203fde8f9d39ca9c3b3819947e3adaf3fe3ee258a339e1a7f03889c26d3a4ddabd3ebb2448398425243812d92f3aee06793eedce86391ce11e392a40133a110def3df6591339207c9a3800000000000000000000000000000000584d523a443a423a8d58e037a52a6b37ed7d823a34cbae392346b937b644a837a4b8223acfee3f38c4c409380385f6373c93a63af4ce053a6e727438b79bbb37ce257c3a0116943902bfd4376d14cf3777c9013a00f96938d4242437dc1e22379f242c3a4b07f8395695403968c06e3955b0ed39915e8739fb8a2d38a6101639c107e9392f5b74393d9296383aa61f39dbcd0b3a6b04613ff91cef3da03f0938488f873a6fd6473f1825dd3d8b3bc337681f753a116f2a3fec1fb03d6b5f15384f4ded3a03980d3f85d68a3da2e62a395c83d83a6d9de13ef35e5c3dab62e9371812c33ada77a93e24fd0f3d3ce13e37e7df8d3a3c0c603ead6a943caccc5e39c5ed993a096bdd3d218a1139ed042f3888543d3ac5f5313af895e638ac357538a79d3c3ae6de653ad1782e39030ec437ad04833a8e9e583a3b8b2c39b23cb2368d45783a2625ad398f38a437f00a373707100a3a7425b3399f698b3776e457374d519e3a9213273ab18882394dcff2382271323afe6a023a4d6f9f389b481e378a66a43acc244a3adb2e5138e7c6c838c224273aff9a0a3ae7cf8d3951b6a839f174dd396c35423910ced1373c302a3889d6e5398e76403f8898783e6c187039aee5473ab4402a3f3ea05b3e99f99139f008803a06c0113f72bc3a3ea063c337d97a193a49d8f33e9a0c183e46319837ea5cc83a2466c13eb824ed3dcdcca93910ea9b3a7c34913eeaa6a83d431b0e39a6abce3ad7a53f3e2543503de7a99238f810363afbeac93da12ce33913cb863962ad2e3a16793c3ab7f5a5385eeabd379d50203a08f1463a8b7711387ffed43721a62d3a088c263ac5b60b388d9c44376dc70f3a5c2bd2392507eb37ce92cf37fcde1b3a656af53962991338cb06fd37052e523aa7518b39d24ed337a9038737261e1d3a2110ef393be6a13713159137c59acb39bf8d2939a7324c375bf54037500bfc392722bd39387a4d382266eb376b3b9b39800b3639eb432e38b7342c3875438039e943203fdb90bd3e41ba14388ddd0e3ae5030e3f2c84a73e3a020339ca5bec399399f33e9c758e3e69c00b386eb01c3a4048cb3e4fa86a3ec6781f384b0f8b3accdfa13e3265393ec9aff237f0122b3adb44723eef34063ec3179f380d3a173aee67213e94b2a93d69474e378e7d643aee199f3da662073dcb1bee37c93b1d3a79ef3a3a9015c038abb92c38fb566c3aeca48a3ade64913930efc737c2e1933aab47983a837d1d3886c881371e09b53ae14a8a3a7d38a337ee3eee36c3d6143a83f4b03979fb13385638043893291d3a480dbd3913d90d385aebcf377bbce9394f94183953d5133822130b38a649953a749b6f3a402a1e3961a23937d5ac623a827cdb39763979388adbca375f54413a9870fa3904c2043981cfb538672c0f3a1e52fe3ee208fe3edd48c63903af2a3a2880e23e2b05e13ea54cf538fb98963a75c2c23e51ecbe3e2ef5cf37c4d6de39caa2a23e9ee19e3e243f173833c7153abb27813e86f87b3e1f8e7e383857103aa895423e0b91373e7bfa143882e7ab3ab7fb003e051de83de47429394b6b933ac9727e3d64044e3d78832d3818f17a3ad71e8a3ade19b839bc49d9384ecde539776c343a842de9383cec153884d9433ac7ee603afd7db53789ce8c3683b0ff393296a9397259493727d1e63698f5243a601f123a5805b43708ee603713d04d3aea6a123a49b5d5376d102037c35d153a7783f63907f11838bb920638666ee439d5dfb1395513f5379098dd3712a7173a1bdfed396f381a38fd14bf37c60cd539c5230639eb520238f595ed371d7b4c396612be3e170a203f323312394fe7d73988fba93e9fa60d3fa2bd55387e698b394145923ec76cf13e099d87371ebc163a9e8c733e9c10c83e63bafb38dccc1a3a5644423e592c9e3e6558f7373625123a004c123e21fa683e205439380396eb3959d8c23d709c173eeee5fe37bb72253a23b33e3db4c48a3df7eb02380c47213aec23493a0f21223837de00388383063a67c2363aec9c0b39528ae936759a303a15a12c3ab532cc38b8380a38c3c1b63aecf9b23a6a897038c65d67376197543a9ba62e3af9400539cee77136926c9e3a3e6c723afa509b3906ab1c37f411ff39d776e339fd1f99379a5f5737549c333a49d0d9391740c437a9d56237d4643f3af208253a615e743952254638c4f8f039c7abc239ceccde380de6c5370ccf5939c8f2793e9386403f82123b397126173a6a9a673e877a2b3f48f14b39232d8b3a8c8d413eb2ad103f0f012c39e8bf223a6431223eacf5f03ec41b8139dabc833a5240003e6a20bf3e139fc9391c18e639bc80c33ddccb8d3e6bd1a537e2f8273a7e3f813da873393ee23fcf370c72503ae6c9f53c1f91ad3d5a485f3919cb163acae7873a3b04b839ca4690384016103a473f493acf3e7e39eb3f323834c8403af9a1803a58708637ddc3de35759c453ad5c34e3a3911423949bd1536d3b22a3a9ee6373aaf8f4737088f843609e37b3a6435643a5df70338a8fcba374d70833af2884c3a20a70e396e5a9837669ece395e78803965ec0d38dc19c437e76ef439b761333919d8c2375cd2b037d9dbbd3900babd3830b4ca37be8488377e578c398169ee3d9302613f8f13a3393628b6395b35e13d3802473f7cba0c39af011d3acf4cc13d48c0293f2673b439c9352f3953bca33d60da0c3f3efe9837b4761f3acc627f3d2400e03e8e881839ae4a543a3085403df088a63eb6816439a68c7439526d013d0e0a5b3eec191538e203013a0120e03ac136d93d5479c1376d0f213ac7b6733aeb61053964d4bf37000000000000000000000000000000004643f839a4470d3a23ae6039f9a21536da1b073af0641d3a7d146739a376fd36ebced53964beee392b280739b5e3e337f11e1c3a8ea7293a32576e39ab49ba37d902f039d8f4f039c2a2143912b6fe3767e2093a9c3f0c3ad8eefe3886d0ad37adc8cd39a5b9c2390799bb38a67366370000000000000000000000000000000000000000000000000000803f00000000b73fb339edca233ae605613f45c8b539d6d7df39004e673af76a403ff47fb93947dfab399aa3933afaeb1f3f6a8d80399722dd391809893a3e31fe3e6dbcab39d3ebca399a5a233a8e9dbd3e2bdf6539a56ac839385e623afe55793e62a82c39714fc6394f14453ac76bed3dac71b73800000000000000000000000000000000000000000000000000000000000000006cb7e33376c7e13369c1e133d2f5e333ded34a37b616d3340a96d934065719353f400f37d1b53a368f758a368378d23604d70137d7417b3491c68334b0a00d36f2c68d36644d043584f606356eecb235a1dbca376c808136cb7ebd3447c2b0352c357a37eefe3237850b1137e2162a3700000000000000000000000000000000000000000000803f0000000000000000b62df0339ffc7f3f5c5bec33f526e833a7bd1f38d271633f8aef8c37b0507635511f9b37f125333f046717378ab8d636de478d37e63b023fe79b203740eb2136454391375f95a43e1f298037d396cc3566d9f6377ebb043e818e1538d51af836ddf15237ec01143c8b287237b7861c370000000000000000000000000000000062ad123580ef08356d08143576b30c3502a04234b2714634bffd463471174334533fbb35e425bd35ef7bbf351ec3c1357c04453666eb3136bb17453636e441361e7c9836e95fe933baaee8332a258c35da60153646e10c3633ed11361d350d361c305e3721335b36a79e3836de92c5369b56893763e42e371c9f8a35d6967a36250917375c36103734f0083791330937b7570635abfa7f3f9657b838f6430f3569254734e0fa7f3f6ef12d385c6b49341458bc35c798693f8a6f4738d490c035865e433637d6383f08d0a337195848360fa9e936e5e0073f67215938df7c8235d5c40a360fdab03e4ceec537dba5123620bc4336916a173e30834d38cce0cb367e4b20322364a13c9aa86038a5be8235c1a5b836f1bd7e3798ff3837d55be3360576c73455e8e037eb1cd137564e3f3796dead359aa211350cfd38353bb10136370f333528fb373549c43b3589793a3568266c35938f6e35fe516c35ecfa6a35f113253808adad374a8dce372d6d0f38169d2d362bd72d364b2b2f3647362e3642d6c637bfc1f936d5039535ae3ca1350a482b38e9d932382945fd3701a4c8374da9c437fae1dd371d7db937ac018437448fc1340958633fd627e53dc99ca3376b5713352d7a693f4bb3b33de03feb35ef9f373598134f3f35ce9f3d697c4535b631713565ca2a3f2dc7033dcf6b723572dbfa371e52f93e3f06673c34ae1738b1f7293645d0a43ef166d9370bd83236d4a127356ca3193e0edbdf387e02933551283036d76c733ad410a6388ead9b37d29c4a3677616538d5382c3867ecf73681e67636864a06377fbb7036b01f7436ca346035e4f5633560d05e35d41f5a35f6d01535f7b02035d5bc253526da24356e636136c3e3bc35025cca35b705d235b73e933763e07c36ab1d083627a39136bd23163504ef193549b31f3585b71e351a5814379034b236f28d0936f385803600e3223662670735b030c634c1f7c334d3e55f37a7b11b3777c71d36576f443696a15436b35a323f8b4a9b3e32e16a36f2aa5835161e393f208c8d3ee1515c356fb51335fc492b3ff0fd683e902a27358f7cc93517100a3f1261243e0233d23577fc9d360bedce3e9d99ce3d7b93883612900d3574a68a3ee8151b3da1661e35b61cc7359be2023ede82763a0ca40a361c11bc34bae5d73a832b5137b741be347142c53561e31f38f0a4a6376bce643592635e374812893781b8a73641fd3236a02aff35fb49d135677016357a372a35d10d7037cf47c935dc92a33594e7be3539354a37bf4a0f368d8707366c6d09369ddb5938d763d237e85e11367ba22736511b7f375d91143756b0413687219e36857623384424133815c1c03714d6ba37d1ac9a37dcd8d236416afa358fcbfd35fda1713723c64a37f585163701f61737579a24365add013f6833fc3e78361b3633fc97355cdf083f66eced3e1f5d04354990673655e2fc3e770ac73e6ac8a435310cad36dbbad03ec4d5913e899e0436e9b51138ba63973e333c513ede161936e5cb03377eee543e4be4cb3d461b2336e7558d378125d93d0194373c0d545b3746fef7351186493a3bc890381974c33528023937191262380d58643760e0463634f78c37ce24b737ca033d359da550356b85b2340c94b034950fa93448e89e347f2581360f7b9b350229073596170335a7ac1735ec0710359fe40b35504a0b35c224c2372b25a1369208d634a1dfd1344fdb3137d04e70368c9dbf353951c435080d0938ef298b37ad941335a70016356c59d137948465374b6a5735dc425735b31ab2364ee8703668ee6636aabe61366b064f35eb18a43e9ff52d3fba2935353be9bc34dc9bb23e353f263f535ba8346678e035c408a73ec68b0b3fc7cf0b35da0f133528928c3e3480d53e824312356e718837f343553e78b9923e217ed73439fdc536f39b113e09ca213e1703c935329420372e698f3d3344093ddcbb1b3591d253371c0caa398a184c38e4d75a35259293362fb4f3378ec47c3613556236fb650e38760df43710e1413649ec46361c0a0c3863ebfa3523f0a73529d3a735a0b468376b121d3551ca1835a4081435f4e32d36453a293665a71f36f7fe2336f0037438db15ed37c4d9893653dc92365b687237f8307a35d6697a35f9ff7735c7e43635ba233a35984a3d35c44240350df9313711b4e6365dcf1c35887a8735c5c49f3731450a361782ec344553fe348337bf37b9a9053ead865e3f96ec4436740cee37f246233e79e3563f79eba635b7f43437641a203e2294313fcf201a3557df313618390a3e050b0b3f2b242636274d8038e1f5e23dfe85c63ef4cd90364062573714139a3d0d12673ec51f793532d74035474c0f3db344a03dfb343f35e1cf333797e097384786d1371b6b1835b688ef376c4f6938e4cf5a3518a1e03450ed3a37670bfd3646af7c36b53b6f361ebc4b3752311c32c0b41d32cd2b1932756749372c330f360bc8ba35ea9fe43502501136991a0836de6e083639e60736a90eb537aa48623439f3e83343e8df336a5d4637826197360df23636cd7842368f31ea379399c53726cabf3533cfcb3512624934b61d4d34db854a3458a34434cb0713358e6016355c1d133585d41835010e1637f008293c36557d3fa5ba66366fc29f379e50d03c9271743f50031d32ab20a0370ea25a3c2cb4563f2398c635383d0e36108bff3aaf19273fd6330936f1ddae373b1e073b963aef3ed76de933de3b2037b520443a95e18d3e32c934361ca4b43792d2c738d709b33d054a7136bffd4934f6c95138f1840a385e6d4734177d5136c34e923723161035f75710350000000000000000000000000000000003fa2f3788d746360000000000000000362a7e37537ac6342d37c7346029ca34a364a93607cf06357a500535495607357c8a323797c79936a6e5783400df7234a2e73e377399213765b1c9361405dd3604ad093862640f38fad0bc37c55ae3374424ec33f99ff7339eba003485c7f9330000000000000000000000000000000000000000000000000000803f00000000102a4037c679ae3701a87d3f000000008fc6c9377a219538c0c85e3f2cebd1345dcec7362d00883802b12d3fc64e083509570f375360ed379277fb3e601fca35755f1b377177a93877bc993e2bfd1a3748b6b237f5a06c38711de43dac5415384c68ee33cdc51c37e177bc3883e6f73300000000000000000000000000000000000000000000000000000000000000001feb3e37debe08367c44063674500536235a74378b6e1d36da78f135230ae535edb276376150d93486406b34ad45063577033638393b3937b9adf836e7060037e418473823d34937c7a4a73686aac4367b6f40371a61b936235e9536c22bb436bd6c0238dbdfc6371c3e7d37d3d1b83700000000000000000000000000000000000000000000803f000000000000000065023038d6ae7f3f22901736588b0a36bbe18d38100b583f0e998e36f6e30c36dbf64238737b2e3fd3b07335fdf4f534041a84382a78033f6c8dfb3786191a37eb999338741db13e2b801f3809cec4367ac27837b67b393ef4ae0337cd10ac364113c237659a103d3e9ef437c9269537000000000000000000000000000000006c579537e67c0f38a45c833797c2ee36f95e9a35836d8735d3838335525a8435f1acf835c1b5b535818cac355937a2351987f0359546de353176dc35f542db35a4970938138fe6352327f235688def354fa9c437a3ed2d36549d2d3622c02c36b74e8c36061a04368e9104366fd003366617fb37f438bc37046831372f33793746baea37ed69cc37210d8137934abd37bf6288352cf27f3f0a5be2381780b1375057933558fd7f3f6ba9fc3755968035928d39368cf8643f6309ff3564f8b435f732f635090b3b3f470de735ff55d735e0282f383de90b3fafba0e3894f4ef35e548d037d9aec03ead98bd37c2a03136b61b2236f810553eb57f8d36e983013692590337d05e653d17600c38ee7f2d3720101737adad4e38b43ac737103e4a37a2c9973625c78937cee96a3662a21f36e518cd36dc11a636c31400369f96e53541098937a11ffe35c367ec333d26f03383140a38538b0d3708c1683541036135a361cb376d2bb23626693f3696e93d364fecd237fd66e435558dad35a91fae35c2041638e535a137821cd136b498eb367bf4a6375af735373a9b64365381883626daf2372f717a374af02d36049d64368f72a635edd9583f188e1c3e07345936f470cf35470e683fde6bbd3de50eff3574dbde36909a4b3f367d7f3daed0ee334200c737f7e4303f3c2fc83a69c32f36bbe274370497033f43c242386c624636fca15237644cb83e57b62838fa61a5350d12a737fdaf4a3ec3123338585dd6366eb6853662a32e3de554b037ef626a36211480378ac999381b0284370d68243683197437afa5ed37c3931536419ac3355d77ba37588a5d377b9fc3366ecca236fd1de936aa187e3604dd663653dd513696e7fc37fa543034ca752f34493b2f34595a1d3887699037efc6e6369af4a6368c512837f5590e376dd40637381b0637221dde3720804637a263f133192eec33681953362f4e843453078334aae7763479f09f372a241437a3ae89365c1496367321b735e2972e3ffec3a23e2596da35b992df363e1f3d3f4061853e6b8cc13652da8a36102f303f9e03373e66526136eaa6b3378244133fa5b3e83d8b372f3469e6d83773b9e33ecf1b873daa8f0b3753c20937065aa53ea1c8253cb4460837d9c71b37943b383e1f3b3f38b0dfeb33ce8977346c0f033d32469a35c54c7b342ba381370351343818d71937ab497e36ae2e7337727f0638e622b635798daa35dbc96b38330531380c820136e863f43538b41a3634c90836da38dd356af2cd357d894d3714792e367d181836acf50c36a2a9a038f69c76385473e6379c5e7b3722b19537fd363a36c7372f36d4733036b2f32337acbb2936a45f243687642136fd4a8538690c4a38084d93377558853718c1433713c9d235b1a2b135f960b635c468b3358ee8033feb30f83e4c51b035e8ab01385f1a103f1931d73ea9b4f63515b518362953053f94dba53ed95fdd3563bad1364ab1e63efbf2653e73b1173688439238b4aaaa3e9c8d2a3e8cfa0c38496969368ac4853e0259823d0c8c30361c8114367a1b1f3e43b52338d2f01e36f94a6538c59a883c561d803807675e37b044a637a30267388941b53533b4b235ff8f9e37b0729c3724ad533628122736ca397a34ab767d34ecab713411a365343f2bad37aefee833ec35e433a99ce2335c4811379ed9fd369f03c036ac0ba236acdb1f386f4f76376835a535db7897356d2c2c387df72d37aef42e34995e31346f84a43769629b363fa48a36ff148636d20ffd37cca14e37ae40d6363a03d8360fb24237ab8707360f36bf351ce5c0353f6ed636be9ab13e3727273fea6c4c3682d47934675dc73e072c143f9ce36f347a075037a3eeba3e38f2e83e0e49e73300161337245aa73ec221ae3ee002cd36b95f0a381c5d843e083f6c3e9cc52d36213b0b389ec5463e41a1ef3d2c7d30347aa0c436e926f33d4f4e6c3cc3528c36d04ee43735d42d3a6f3bdb375f51d4360e4eb33730ff19381116ef3581bbb635b0c30138c56da737137c883595d87e35faf744376c9936363ea92a3662912636c496063890699d36dfcde33573d06035384dd23735b99935a61f4b3584444235a151de37b7d62f36f97809364ebafe3527d2303810da9837932b4e35041b4d35b02fec3772e15e37c818e9338475e53370abfc36589b04360a41c135ff67c2350e821036a793c23573548135e4ad61359b1b0a37a6d03a3e8941513f7c428735d210e436cf63623e007f3c3f00ee2c36a7a3f037ff86543e2531183f787ffe3500dfbe3768a6403e135ee73e052754353104e1370f38233ea03aa73e51411336602e24382eec013e82c1383e0a165135b030bb3717be973d95ea8b3d90c9493530ff8437ea4a8f3afc0ad7364dffcd355dcb4b370d0f7d378e70d235a39258359eacdd37bbb9c036a7de8935ec147435a93bb83795de3436d562c6354418c735e08f95364d3de5355046b5354952b0350c2cf537198227369ffbec352759e33592252f38552fab3771a3dc350254db359206fb359480f535ace8dc357fede83525e55836b7cb4736ddd80836bd61fb35300b6337be80793610fd9635f7e9a03549542e378b838b354be8813550a387358fdad5374bc4093d2b58773f6b0889350f32ff373ef5713d6a82623fbb53c9355bf78f36650d5f3dfbd23c3fdd17b93528c6c23735b73d3d9dc3133f675701368a480a383e4c073dbf3bd73e6908de352a9ce635b7deda3a5419893e3832db357c630336ac494e3a3fadd63d15c20a3604aeeb36f53d6f3826491b38fb7b9635e89e1a383a081a382f6389353e7e8435000000000000000000000000000000002da3e6378ba026362391f535d421f3356e585637b0eb9e364194793538ed27359b5e6c386f6d1538a74d303693771f36692e523811ac3238beef02379d4c8e36a2b6ed371fc2e03726745635a02834358a120a38c8744538cec39c3703cff936a7a0bf3750861b3802b3e0375786b2370000000000000000000000000000000000000000000000000000803f0000000081a30838b327003a96cc763f926ff735b5d54d379c39fb39f781513fed52a835c14343386b2e2d3ad238273fe7296a36b316173881ef0f3af9a7f83e7616b2374cffcd36bd5b9d38d7f5a23e10849936be78cf3635b689383fa41f3eb08d0b38cd4b193699df2e38036e953aa9c2f13700000000000000000000000000000000000000000000000000000000000000009f1510384b9d8736d6ca7b369d3d6936ec4a5e370bbd2936ff181236c328ff3559ebd0377f56ae36d1fd8c3532b3813575481b3860ba6337a8070a37b276b936721406386c5016367565cb350438c33578c186380a0e2238b354fa36b2f9fa367d215939154c5e3911e11a387256193800000000000000000000000000000000000000000000803f00000000000000003311223cac346f3fc6e98b3615f98036e86f0c3c34c2493f81193536f6431a36a2f0a339665a273f08dbf336b028ab35ff48b939ebca003f934ad2379cd02037e4a43f3885ffb83e09c66337c00fd4352dcf8138a4205d3e6e274e38d9372c37aba43d38a0438b3d4f079d39fffd2438000000000000000000000000000000002770d93720016838613ae6378b70a137f946693876fcd137c8bfb435ee499c357a9d183818e724375ead7336e7e8623660af3b380845b4376a750836435dfd35026d38385f610b382b7c7037d2614d3650d4bc3741795d372efa87365750853692f4fe3755dbec37badc883799252e37ee243d38f1546d388d9c3f383a54473890b87d386964a5389e8e39385a593b383c45103709c0703f2d53733d0e59f237faa154387ed26d3fb19fbf3cbd2ac03516bfff3705af4a3fdbfc153c02db7836b5ae2b385d3e273f785b8e3a6d43833618651d38377e013fd653633915bfa93781d05a37237dbb3ecaf0c137edbda036180d7a370949673e1a141038aeffa437efe1b3373e4aba3d52ec8c396b3c4338785637384ec0933a92026f38506c3c387bdc5c38575b0f3921d29237af5d9a363a51f93739dacd345a68cf34eb06cb34c1d02538fb79bc37d55ced3402d8e5346b48c537426ae3361b0c8a35b6485e352b0f51386ba02638aa5b8537b7996f364c62ff377a62b337621e29362a30fc352bcb1938a1a4103899cc8937f65a9336d0853238a3921438503e62373ca21f37962ca138b80fdf37aaa279371f7035370540853673ba4b3f17ba503eba54aa3779b45337a6a04c3f2a09243e407eca3431d11638e479293f3b0c073e9b74ed3474dc9337f8a5113f1eabb83d9d20933564652f38e78be03eddde8d3d3d08ac37f3eb9a378009a93e6362103d5f974636468e9237d0cf563e56447d3cd3b7a23771543e369355b33d04458e396448573784d6aa3760a0273c493fd8373cc66e375c994438df067e38dc3c843717ca0836808bd33790510f37f0c16a36ee564936957f12384a42bc36eb53ab36ff099a36309d0f3804dd2c37b4a84f3681e994351bc79539ea56ec37350cb935b353a3358cd21a381d0f663648abd6357390c035560946381e000f381c636737c301a33679572838a3712838461dc537e267693792c3373874f3c2377cd8a8366fdb6b360c26a7378b7f273f5cd6b03e4e0884378017ba37d916283f584c923ed43b703602430138681c113f9d80683ec9c8ad3635e9b7378927f33e686b353ee6be8836a1dd0c389fb4c03ec684013e4fb3c035026d39376a798f3e8953a63dd959dd35a472ac376e0e383e1c341d3d96b285375c4dbb3701cca53dd9893b386394c53707de3a385042423af85aec37d686ab364dca2e3898dc3a387287e436135cc03642d78f3854402b389dc8a536ba199736495b4d386ff40b37cb27bc36a843ac36b7fc4038eb06cb37625694368efc8236233c5038a52cec370d91b8358cbe9c35fb333f38909807384efdaf36db62a83667845f389fbe1738f9d2ce36a893ca36b8129638767a6d38ad4e7837913cb336dcf3113809466837c17fce368cdac9364b685b3724e6023f34e4f93e2324f336c4c38338825f033f9715d63ed09fa63684fe5138a85be33ef57aae3e412fbe3636502c38fd06c23e1580883e8a4798366dec33384daa943e0da6563ef266bd353a06143851ca663e45f6033e2b01b136a29b003861ad123e2be2923def1ad1362fe66d38fc008c3d8315983890d9873741b14038ac7efa39404c7c377ea0cd3652df4538f1782c387ca03136123e81355a7614385dfa53371140953523df2e35a3023738fd1502371d3c2036db67fc3514521838f2c9cb35e1408c3525644035d98437392b2cba37e4818f3593268a3528fb1c38e7874837e1fd5d36e7e79135394e2d38b95a5137b58bc03638d4ba36f974fb3715f8af37443acb36cbe58e36ec572338e4769d37f2e2003625a4eb35862be3375fedbb3e54ca213f2e1041361a4621382615bf3ee9a50b3f93869a35a11c4538b273a93eb2d0e63e1ea727368e81ff377439913e45adb53ec5309a3568211e38ef77683e06048a3ede009335c8bdc1379a352e3e8c06363e6d2793362b8f4737840ce13db7c4c43d2be7c236486d4d372d31503d4ae8dd3babfdca365c1867387048a23846e6bc3731fd0136485fe237172f85373d702b369ff10e3632ac033857901d36ef08d8353c1b883552f50138bc1077368a04bc3542c045353de0e2375c5d81369517dc3593b0a5355eb5473869a2f6374406f334e9968034954eb9372fc18f36094427356531043571a62138c138ed37646a67351571e4344ff6d937811f08361ac4b334cfbbac341d401b3820d56a3670dd4936f6d12b3629f8d737d735603e753e453f08072b36d5a82b381def6d3e6b022e3ff656e535b5d63038358d5a3ee0af0f3ff610c63555970038b4d63f3e51f4e43e08eae435176c5038b337183ecbc6af3e6709fd359b1bab371918e73df16c693ef76d39350dc108381730903d31f00a3e9068683662278d362645eb3c73ae3f3c1e45b334d30d823812b28d38dc74bb3688b74e36256c6b386628f637c7bc463652a81c36b15a1d38f5bba136e0352e364dd20036cf93d637f148af36066a3336f8f40c360f55a037c4248236bbe8723689476636f8522d381759ac37683f6235cc6a18352426303833d193378cd6e835e23ab335cc3c0a38ccb95a37041e7036c6865f368f4a6038369705386559af35a5c79735edd18837d70cf5363f787e36630f63360009dd3834d3a33d161a6b3f7a1649367419af3902dac73d99874f3f241335363e1715386143c23dd2dc2d3f02fd3c36fd55cc378b99b23df1e60b3f7bf176366b30423847149a3d524fd63ef0f87e357fae2e3888f4693d74a1933e92c8f535c699de37fb98033d3fdf2a3e6c037636ff193b382a4d8f3c6044f53c612ac035ed05413874881638d49b0c375f7b803600000000000000000000000000000000bafa5e38a5dbbd37c9083a36544d1c36b16e8a381e83ef3779d9b83657a6a23699c318382cb3b8376a0fb23517588635a7722c38308b0a3835590d37e62e29369c541638b8dc1138fb5bc4367e40c53538779d37cf73c937cbb14f3621a04b3608683b38343c7838f0610938d58087370000000000000000000000000000000000000000000000000000803f000000006f98313a2b309a3c9f62693f38924036c20780385e82863cf572443fe161c736252fbb37dcae2a3ce2ca203f736bc1359937f737f665413c921bf83ebda32e3778a81f376e04e03976e8b03eb1ca0137053535360eee9f382408503e5d5bf436cdad8a364fe183388922633d8cbc1c3800000000000000000000000000000000000000000000000000000000000000001d1a2c36f55ff1355123193623a5333688ba3a35bfcd0b35a9df42358ba77835fd6cb434cf068c348619b3341ed7bb34559c1d377bb4f235fb2308367e1c0e36ae89ee35f04cdf352e89f835f218033683483438551efe3392bb12340a1e0038d14d1f362f1f0b36bc0400362154df3500000000000000000000000000000000000000000000803f00000000000000004d0e38360a2d803f506812366b5a1f3606354935f18c623fd90d0a35df5b4d357c9a7338b955333f50edc2349489c234fd9a64389413023f30c600367fe40636cfb0f63500e1a63ebb69d835ae4ff135117e8c385d60063eb77dc0373ec119377a8e0a36166cb83c8540da35e6aabd3500000000000000000000000000000000e0151837eca569375a599d366186233756c825346a192934a1241c34fec5c033b8255532309dad32b93b833026f72e3138289e35d3508b35da029e3541fd9435c4b71f3523c50d35338a07351f750535ae5b1936833a9f35a27793353cc18a3562999634e09c7d34b8bf88348cb95234f9d6ca362ce7e5348546e2340000000095a845378bec7f36f2926236a85c6d3614055f367d0e803fabc12c39bd114337a08e7034d801803f02b77338b76b4834987bd932ba77663f9def7d37b2ef6532402c5536bf693b3f13948c3733a49835f1f94835b02c0c3f6cb48e36a32d2635f522d8356dc9b93e28eb1f3759097e355f49d9347630353eee5c8a3462545f3425810235f15a653d6784c8353890cd34ee8f8a362c256a3871fa50361fe24136b0acdd34fe457d342cef0035b0ac19351c4d273507524f350b82f5348b9fce34c1ac3534c4944c343f16543443bf7b34391c2437ec7256359fe7533538d44f377b34423393b48733000000008de2af32e02a6233c4425b33248f75336a7d5c3324f2da372bcc3f34835139340f241034aa217c34fda65a349991df33b0bab033cab00f360249c83358042c34d6bfd9333f50d0340198623f2092ed3d10b6cb347cf035354f63683fe9749c3da5d60d35a582903486d2623f9b38bf38813d5134e2407b35959f343f6e8d0a39fad41c37000000003ba0073f0384b03700000000df448c34ca13b73e3a8b32366d7c3133854e4a340ad6253e76f95838258d333433f4fd33ae62243d04ef6434b80d14347476fa33715e15384fd80d34e430b733214b6035835c363518054a35beed50351ea21035fb64fd341c6608356046e43433963e34b1954034d41545342a1827344c62a434d2167934f64fb4343ee5aa34a8783234798233347149f433bec10b33f8afea37f9153c35c30864352b2b8237ebe839342e3219349d305634cf67313496805c35a6615935acbd3735b7651b3527c0e0367a8d173604591c36c83d3736035c5535829c313ffc499d3e080c2e3528f80c354c323a3fd3fb813ef9fae934e87530345a46363fcc99203ec10a383424ad45342891203f079b8d3d6a2db634f4f935341d22fa3ee4b7483cfba7b433451237359fd2a93e5094d73877994935a49ded336961273ee8d3393471dd403481d243358bcc023dab24153530033e35b53e0b36be458f387954d13630bafb3577954c38cb839a38cd7fd33671ced63600000000000000000000000000000000000000000000000000000000000000006738ae35e070403598b35935371b70351cd9c2370000000000000000ac1040378cadb8361fd90136616cf235a0d1bd35000000000000000000000000000000000000000000000000000000000000000052835338ab4cc837e9f1dc36ffa15237e0bab136d598013f010bfd3e7b04c2360000000051790a3f3783df3e00000000000000006952073f79b7a83e000000009cd69c353fd1fb3e0c6c5b3ee20a4e3514bbaa36ba60bc3e41dc073e00000000cf8ef93518e9903e695d4c3cfd4891350000000007ef123efeb7803700000000000000009d58bf3c000000000000000056200638d5f9cf38c4a1b037d87ac336e174bf373830fc3726fdaa3583780136fa27413516ae7035ce270a3586afe834f7160034d7d016347d3a1634286b0f346f422238d81b3935f5803235f19d0f354c58093436d8823400000000000000007410843484727a34b62c98344cf1a334352913383d814234df5b1f34ed2f0a35fc4b0b35d09813355afbf5347cb09b34e88431358a545d35ef5c7c3539f55b353d61d9355fa0a13ef3602f3f93711135cd065135f583b43e8bfd1d3fd7c71e3563625634943db33eaf3bfa3e52821634243340353f0da73eef27b03e4a3924351dff2a345759943ecbee583e0f6a1b3383fcdc3499fa643eb365a83daea09a34a3cc3c34f88e073eff2de938d1c426340ea4e63487f3a73c12cd22350672fb34e80545353a689737cab75b353f0e6335d04d9b3698a9ec36ad086b33f5ea5b33b15425343f75613439ba0534f9f2f633f806e837df724334d72e88347f8d79341371053458825933a5d6bb33c221a6334360853300000000000000000000000074b48d38c60f1838a83f8635d4ce763672c203378cb749342aca84345f196c3405e73e35b4b03a351a951e35d6b307359f9d993457d30635ab17de347bee0a35ea5fea33ef94013ec1a45f3f92aa08336e8a2e34fba9293e81bd4b3f3be987334055483403d9233e30d62d3f21086734337c11340c25213eb397f93e6c0bc6330000000043ae0d3e1cd8aa3e0000000028ec0938afd2083e5b2f263e26856b35fd2129340a7fea3dffaa123a197c80340da92e357a30903c0d41013501a9253530a28e34a4e3c83764b46a3473128734fcf9f037a60d9b3722a32e36f89043361ef60f351a1ea03500000000000000003a6708352c5334357978e634f2ccbf34f9fc73360f63443520b0463577ec29357fb6ba35a15d18359e830f3507f902354f7469372ec22836e742b135cec9a33586923237ef13943699308d3392a0ce3087e45837906981369c07d13328f6bb3376fbc9376de5a83627cd873695be8a36fb524236b11b813c05347c3f6c340736d07a8b3440aa2a3df411673fbffa1631a806053517d4c33c0bfc4c3f8d49a5342a58ba3539ca813cca4d1f3fb46c3735c5ea3e350a3a873c70ffdf3e62f528358b7f4d36cdf2373c6f29843ee568a435ad95e232aaaf473c65ccb53db8f2f0330218bd366411eb38fc6d833897861a349da1fe3725439c38ccb0a836bd746136000000000000000000000000000000001ab60436871a0d367760d13530fe8735861ffa374c583934920127341b111f34107cf6351a4dea356102ed35d836d2355afc6c36f7d822365ba02c36849a0736bcaad237b7d58137a718bc34c2c0c134490d56352c2d4b35eafe64359d262035e5845536997cca36a43b7736675510370000000000000000000000000000000000000000000000000000803f00000000d221ea35b0173a3681b27a3fcb6fac35a0bd0338540eae3833d25e3f5f3ecb33d7bed03528908837d8262d3f412ee1355fe1083610678e38cfe8fc3e3fb30c36ac226837dd59933837a49a3ef7565437605afa344ea48c364b13ef3d4b4442354a3020360a39483850bf9739791d253700000000000000000000000000000000000000000000000000000000000000006dbabd354726ae35028bad3505d3a435d13b233616320836c81f0b3672371a3692fc3b36ef060a36f1b42236b63b2d36e420dc35a68bcf356872ce3517d2c535503019369c901736fba01036f74c0d365f32cc374fe1253546768135c9d886355d5230363e4e2536aaff1c36a995163600000000000000000000000000000000000000000000803f0000000000000000377a95375c747b3f42fcab35f125ab357cbe6e381405583ff5e21a367fe11236efc42f39c99d2c3f7d7506361fd518360b61573923f9033f30e1c935ae9dc935514f0339e56bae3e0d09173600901336c491583872d1253e9ef52f3571fb3b3534f15e374dc74d3d5e8217360d5521360000000000000000000000000000000000000000e6b0533700000000000000001b3a5b364db15d36163d5736c23a4e36b2dbac352972af357918af3525b5b535dd1a333400000000000000001dec4334c5542c3647122a365cc0343695e932363c9f0836147fd335ffccd335b874e83533b0b33719707a33e8a37a336029b83378745d36fe8c5d36e8da5936c9545a364ff26a353e50463531113235ad4d253500000000b5007e3f55e90c3c00000000760e53369ecc7f3fadf15c36dacb4b36857cb8359136653ff8ddb5357ea8b3355999f73767963c3f0000000000000000ce36b336783f0f3f9da4243640e02736a5501d36fdadc73e8b4edf357469c935069a8e38873a5c3ec4c02833fb6f8433980760362475a53db9765036a399523661237735ff135f39c5dd34353f752a35d8f51635c039fa3795dcc2347f57b434a1fe883572a35435677f5635897c3035d4c199350f32a2352cd8a8358a408f3555422a369d2ff13549f4cf351603fd35d44974368fdb6a35087ba035ecc2bd356e6bd0353d759e35a2d99c35fcb2913581de2336f90bf035bd08b53537cfd935e33a92373e50a13671349c36aaa6b4363608d8359f6bcd323f82c9322ebee532ab901d35f9f9583f5a991c3e0437ca34a0a25a359c506f3fefc8773df0ff4635dc4b8b35fd11613f3a08a137f2b6c235cf2d3736895c3b3f420106365383b23564842937ec2e0e3ff28bfc353ecb973560d6f7353003c53e0294b43541f29d35f1bc18362765533e1690c63560779635e7eb96376f54a03d07ada836023c9a36dda8733579f3fa3bb3b9cf323d53cd320000000038d74d370000000088682234a6fe3c358dcd4935a5055035851b423515223034d2306c340ff25034a332ab337d3b11366a6807367f1e0436270813365ae2ae3517ebaa3515d3b33582d6a53502418c35834c8835a7e2883542827435976eb43564a098359ca6a23504639e3548d30736960206361e40f43580b2f4356a672635bc593035777d23357a0f213500000000f9bb2e3f09cca23e00000000856a3535bb1e433f1146663eef3e3c35117c4334c1b5423f4803963d45328234b5d7f935137a313f2ebc9f38a25506360569ba353974093f45a4b835d8bca835d1a0943500e8ba3e2aa3a435dc758735527792354c6b4c3e1bd18535ebe6a7356295ec35e9c8733db275e2353385e23547b32f355c2ad73975e12335bc73173500000000c6013437000000004d15b4335de86236230a69361f1b5436623c473689150e35599a193536a8033529bde434bc283b3462750e34f4259934e849523551674736f8b94e36b0de543660fe5336e3f4ee341d3ac434a5080c35c80c09358ca5e434e2f6db34ad7afb348e591335eec86536ae646e36058e6636e0786436b9dc8f32000000000000000000000000000000007dfa033fad41f83e00000000aee753360ffe163fae62c23e8a9b4d366b570635e1d8143fd7cb773ea76b0435e83c4734359e0e3fa3f8c53dd5b8c234272d4136824bf23eaa5fdc3c8ab14936ef7ed9341029b23ebb61fc340531d83494346137a781353e8aff0335d6b2093528e35836d3f8ff3ceaf9673627c55e362f1ea032ffde3a3a0000000000000000db352335c2b82735d38d2b353440233539f8fb35c35ce735cdb1ae35001a783519089d354fc79f35ce8d933535913b3596268a35be7e8a3537268635f1ae8635bd27b635b7c5a635749ca435229d99356d1e0936aac300361565fa3510b9d43519e4903448f04c34843f6b34402bd633258b413512dd203510aa0f3556b40d3500000000000000000000000000000000b4ae2d35fd0bb03eab17283f2ed53135cb4fd735e0afd13eeb38083fb9fab4354b428e358d8cd43ec3cac53e05d2a4356d8897359b29c73eed597c3e969e813512beb8359e86b73e6556d93da0c4a63531090836756c9d3e187f3839fed70236f11aa6341cea2a3eb00d9134b12a6434865fc6360c785c3c822a3435fcf120352b9acb36b686de3700000000000000000b76c53628ef9336d5dccb32a882b0321a079437ccb2223755e26135220a5035ba21063651def535466e81350cc25335d4a001369bc7f7352debb2353e0ebe358dfc08376b386e3655ef94350f0d7f35340932369bcc3336a5d418361d1e00362787c73649d6a33520bbac35c730a2359424af35670ba53596ec8835f91e8935a869463531f27a35d4814835ae2c1c35b9d5b83281962b3e2925533f4108de320e48ad365ead693eb890313fe8ed4d35c979053697556f3e6b8e0f3fde46aa351565a6356ad3693e1ba1c63ecd2db83535f620368f72543e0935733e5616a735398f1a364288393effceb33dfea22e36e3d089352d8ef83d22483e381b6bbf35eea48c35ba0db43b34bf8c3526397f35375d2335a6625838b9c35b35a51e17351db70f35c7138a35c3372d359dac3a356ba75836553760365c0a4936333f343653d63038d72832347899b333fd06ee327704f2352503f8358e7546353dfcaa350377283617dd3336f2a634361e332c36681f04378f5eaf34b452de338d814e34cc11a6355bd6a9354b3aba356613d035b1715a3607a16636733e6136786e5a3600000000000000000000000000000000ff191535e9184e3d1144733f19bb26355be84d360162c23d332b533ff6294536d7facb33e4bec53d837f303ffc48b73350c1f635a6ff983d1e58093f96de9d35dfe824363467523dd8a3c73e04462c3652a28a33a766103d4bb76a3ed87326348ccea1354fcf063d288a943d3ba8c335a3ea51361291943af1406836934e5b36ee538b379869133800000000000000000000000000000000000000000000000082d32436863d2036df89e23547feb63598e1d237b1eb5d3532b72935a57b0e3571f21936eb41183662e418367b5613362a1add3556fed6350bdac535ef2cc135c62a0c388949cb3786cb0f3653df1d3651f84436d16138370c6d173652d50e36c9b26c36017b0e37355faa3505baa7350000000000000000000000000000000000000000000000000000803f00000000097123365031103a501b733fcd50fd3509c81e35fe1cce3c1830503f66793435c6b01b366f20373cff1e263f203b1d366766eb3588957c3aa9e7f73eb8c8c635938413367b6b5a3ae47fa63e1ff51436a4983236f098e338505c203e7df01536dc54d635e94316399602953c7c4da7350000000000000000000000000000000000000000000000000000000000000000dac318384166a73699e088367937653608a80237604e8f36ca78683694384436b9fe2638495376321bc47d32c82383326c2d7e376e579936c5a68a3661c282365688993710b6d3369256c4364c25b636f80e8b3873b84d370b6f063620f2e235472a4d384060f136bfa9e63549f3fe3500000000000000000000000000000000000000000000803f00000000000000004e0c673c055d6e3fabfab136a3bc90362db5033de35c473fdcae9c36ac957a366e686e3cf3b4243f6f8adf33e6847632b26b153bfe49013f93f2a236a39e8b36dfdf8c3af7dfb13ee45ade36c3fcca36cae4f338788e473e4907db37c63a11364e15723830c5663de4737437ce6be8350000000000000000000000000000000048d1e234a3f48238dc74873552fda135f4244038f0d7173644d2cd35b820a2350575523762194432b4254c3240e1513203f0d1370000000000000000000000000b5c83361296453689a61936382ef3354ed53e3707ebdd35c67ec4358485c535472729388c56bb34147d843419546b348108a338057b1e36525218365ae81d3643199637572a4435d59bbb34a41a9b345cb39b337a74743f2a69393de3128235e3404c3847b57d3f372ce23743c1eb35d5290039e3505e3fb2f34332aa9d4b328ff74639a0e3323f0000000000000000bcf4ea38452a0a3fd3a85636b2fe253688e6b0397262c43ecc17f535eb2cd535dc478d38f981713e5bb3d734da0574342bb8f9389c19d13d147f69372f5c1f36b7007638d91df33cd5e67f35c119ea342f6f5038351acb3b53931835ebe0fe34f365323806232838b55ec2364dcead36407e473804e17a3633bd1c358c59993138c22736e4770536238ec035f12d8335900f00386246b3363d9e9e3657bd8f3653bf0e38000000000000000000000000a50da337e3600e3688e4f73527f5df356e055b38630ee736f384d93676d8d136fbd66738403e85367835373622e73d36a589cc3438274b3fa40e4d3e0fb8233590bbb7360919693fc039b53d9ec1c636808c34383a2e563f34485e38743959355c568a380636343fc0c41336f9d3cb35e5f3c938e7bc083f458dbd3643b8a2367aa5f6382d66c43e0000000000000000a2262538abd3673e60e611361531fa3569eb993803b6b63d4e0eea36b317da3617ebc93839d6cd3ca1c68836b44a3c36421b69389f8ac938fa535b3679774036130f593890a42238dbb6cc3696d2aa36ca2e593709b10937bca13636b5170336de85b53824870f36eda5a73595a4933481f8013843a9063712d1f53644e0d7363a0492375d8d8536b1ac6f36eeef4c362ff2e9374ad24b3657e427366d6f0f360318603825c8ad368c62983654b388366c30ab3716e1ca355acdc4357e88b435837443365ef6273fbf0db03e03685f3662b5c536f6863f3f9a276f3e5d0cd436d92e403626d8393f8361c33d04c742367ac62d384e42263f4b1bd43c2ebbc835fc364b381cec043ff9cf0f37743dfa365369b1381589bd3eaefe92366bbd7d36ef9ac13891145f3eee95563699d22a36ed33a9386006a03da8f0b136132b9836f194de38ad69bf399a02d23570b0c935b124d737be83123818e5c2312af00e326ec2543806272838f597a134ef4f8a33a5ed2b38a5d2d736dfde81326ff1843239359d38eeceb3371f3f7d31e1b57b3195687438ad07c937d3c0ab350b05383580675b38eed36731cec05d31b82453314bce9337a0c557321a324b322e2e3a32e11126382d8c33350dbdaf34eb209b333b62e9364edf6b31ca2b6c31619c6b31eeaa69313bfc023fc50cfa3eb3ccb531206b3a355f3e153f29b9bc3e9b4bf93416885b32d3400f3fe1cc773e24d981322e736831d279083f716ef33d3a197831fe1b4d38eb7bd13ef738ba3d80b9bb358869bf38dd7fb23e6b896d3149f26131508b8d3846924b3ece7b5c3275b34932bb498d38af22483db25b5435f7d5e034e408653863094d39a7a86d3156cf6d31ad7a9538aec69738b01d7735b27ee334cf608938ac244838fe9c8c3695bd3b36cc0686384c095f3658432336eaafd4356b077e381ef994375390643642072b36dedf573897ac0c3791e2fe364715e636a3c2ca380ee42b3620980236f134ab35ff033e372c523c365c20fd3515249d35534ba63731c9c536dfcba636f988903679a85837cad83f36a0f1253621b7153689fccb350457bb3e2e57223ff0e48635d3d9b036af28d43e0bf4013f649e92368a7c55369ce1d23e72d9bd3e66ce2b36eaa28f365eb7c63ec8c2773e4d586f365f8d0d3779d5b33ef12a053ea650023780c9a2384a47963efda2fe3ce7c9103622c4b4375158373e4e884c3649550536f5bdf63810039a3ccf80ca3675a4a8368863dc38d3b4c238b8a441363e0e2e369976b9385c3494389298d735853f453508df8e38f9611a387945ae36157e6e3691b5e9379ccb0b36d246b63555514f35915cb83876f5e1370000000000000000d84180382c9d16381a5cb336a9699336f27d0738da1d323679c9243698d4053610737c38f02add37d54e0a348e72a42e78a9233861ceb53666069736f722723677f00a357262b13437731634b7d23432cd999a369f674f3ebcbe453f0f03ef3594c00d37afff863ec8b9253f3e8fb936119d1136d65e813e526f053ffe62c935f39d0e3454b57a3eb06bbe3e000000004528c03600985d3e73d37f3ebb21ba36235e13368f77403e6536de3d42b02d36f3774138f04d1a3e3a2d503c29369734684d8d3898ba913a07dfbe36981f983631d7a63982a3f138cbdcd93463d65034ec2d5c383c9d0d353d9d293305420b33df70dc382161f937d3875d35564dc93232536038d56e8c37034e2232504419324f355838f9f9c73786bfa3353e44ed3452fc51385b5044373c582236127cb3359742de38e40b7838000000000000000065288938ee4853381f651d3245c60f326b5988385d89f537c5beff351cfeaf35e199b0340d2c2c3200000000000000001227823501be783df9ed683fe46630335e12d13754f9d53d6b284b3f12f98e356def0036cf12ef3dbad1253f4f1125327b16ff355175db3d2f6f023fddcbbe35b57865361a35b43df3cfbe3e57873636000000005bb5673ddde17a3e00000000fccc4032a6e1a23c7a1de53d56141d32e25c0038b77d123c68718338652b05360f2882395dd5ce36f35f97330000000000000000000000000000000000000000fee55b38531ba83748f65c35248549344ba6aa3893955038336d0536bfc7a935758898386df80f38b15cbc363b879736274dad38e7e6b0374f8e8e36d9426b36d418ad38db089c388489ea34751a2c340f25043846f72038e92aa536c8928d3624fb8a382915af38c7a70c385c60d4360000000000000000000000000000000000000000000000000000803f0000000063e5e037de593e3de2b5653f48507d3565993238f3ff2c3dbf50433f44b42536b140e3368a8ee23c1bd41f3f70d2c5362cbda836e450353b6e0efb3e04c89536c10a123725de233b6ce2ad3eb30a163565a1a5365ff886391ff1413ead7dac36ea8ab8365cab3e3a1ab05d3df4693a380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004bfa3035c9138733b1b07b3284b0a63227f2d634365fb4345ec707353dd52f35000000000000000000000000000000004451aa35a2a22b35be5bf234e524c73275657e3578b02434a0d89d3405e9b6340000000000000000465428330000000000000000000000000000000000000000000000000000803f000000000000000000000000b147793f00000000000000004e93cd358761563f19ee9b35b94f1e35790ba8359de3293f328ce03416c4ac3400000000fec9f83e0000000000000000f2251536a8569d3efe89c43523247d35977c9a356cce123ec9a310377f913d34000000000c9fe73c00000000000000000000000000000000000000000000000063cb0935e120043572260d35ea930f3502c8ce33e56cd3339788aa336aa7e033f0404733bd2a4c331ac82a3313e3613366b7023360bfe5325eed14333ee77f347c66a13451389e34534091341637b6342c156b3343da70333e864b33665f863378a53934dd2a913475868e34eeaa1235656a4a342ae638348d873d348fe55c34372384354f2f3b35471d383557035b35d5cd03359991793f9e87133d8784083526dfc833a04d803f6505013b44d54d33f77746337606603fa5e16837768509337a000533306b363ff6a4753709ae073350d09334f7ac0b3fba521a3589c38134f33d6b33cd54c03ed0ce8c378a4c233312c74e34798d3e3e9648c3370e90ba3492f31a342771793d30ecbb37b8b74a343ebd1e3578706037b659be35ac421435d44b3733f2b901351becec366aa3cb3400000000000000000000000000000000b89acc343713a3345c17bb34cf560f355d543b34f9793f3461644b34e0456934fed3c434d315b9346c13ae349412b134c49917359a3cfd34ed010335c3bf35356f50a035694a3b353da116352e1dcb355ee22c358ae00f357bbecd347b65ce34546f1536c646f435fe18dc35adcef1352888ed3236fb563fff2b2f3e31f01a3229c952333742613fba34063e000000002264f53438035a3f9b31fb3c0513fb34d9c2653404a0343f79e9713b0c9d3c34ee1dc53446130a3f6850473a16d7c33446550d350d2db53e32aa813ae75f30359c4c2b3516d32f3e686ddc3a4cef023521e2cf34022c193ddabe50399880fe34cfe9e635961fb139d933d5369a17c2359d106c355c8fb735c90dbd35ec798a350d50c8349ceba934f36a2534f8411734c8307f348d406b34b694403433768634a9d0c934c82fca34c29408355a521d35b491f73360673c321bc0353424460f3455231834554fe633bd380d34e8d460346db78d342dc68634f433e23435d8003565b48734b9fe473477dab9345238923404962935b3312a35116c2e35512e4e35d0f82235c4c92a3f5897b13eda4bf9342fd1c93435f3353f2fb1993e000000005c8b93341b44353fd2932a3e04964a3448a937358fb9233fd05b703ddaa0d534a2124e347778fd3edf3baf3cc94cf3331e8c7134fc45a83e0df05b3b920335345ae709352aa3253e8e98c03af584b134150054345d84073c55179e37ab66c134afde1535c42a2c394500e534f96c0b353fb716354c94ec341423e334616ef534571f8f34e55c06342d85d93395580b3408d09234fd1a6334f44e3f349c97613474c01d340c4d2e34dccd61349f6dc034fe27213433cc22346183243498173b34125a8634fdb2883401906b348e1d5734518ede3398d4fc33ea5f3c3486ece034084325340fb4fe336b8200347f611734879654352c53413531c938350f901135ae30f734ba0bf13e95820a3fe9b2ed341af1f333bfe0093f0198f03ec67fa83305ae0d34c3e7073f783baf3e889e093380aa1734394ffe3e15a04f3e5a42603443dd1134c7c3de3ee5929c3db0181034408a0b337345973e4755c63c134d113415b0d7337fa30e3e35aac33aad8571343ba7d033b11ed83bdd631138070e0934637acd34555fc737f04b1c3538200435c85028356dfd0d35ca131535095dda34f763bc34b278b434b06a9f34883e8b3420a6bd3413fc8d3430c4a634cdba0d35e0731e34b4290334d4ac0c3488082734460ba03436e083341a914334110c30347dc806357fd7e4343d93ee34a6fb273504c1e7348ac28d345a4e8e36f2cc6235c3cb1b35fdd50b35a6f2da34e1fab1343c67bb359d179135a1a882350b005d3500331b3573978f3e6c0d3b3f0b91b934eb1ad8342aa0b83e94d4243fe750c4330869e6346a08af3e4e14033fbd96f134bfe06234676da83e27fbb53ef2300034ad7cd4344a179c3eb42e483e6652063490b101350eab813e88228c3dcfec1b35d192a23420e80c3e3999303b7cf271340354ef3423e5013b26b0e437575eec344c2b993568ef0b37ce124e357af42935c336d43585e20636ab7bb235a53dbd3532d60935fc78bd348eb93834e4194d340c8b7f3552388e341e7b50346f0e893454e8e73498fadf3411c60d35f5b82135e8399434ab554534f2189534ca8fa934313933340ebf173409d60034df243d34edeb9d346eb397349c15f4347b220a3500000000000000002364b1330f15753310ecf534fbff6934216b59329856a932747bd635fde8ff3d1cc6613fb2d01f35797f04354bd82e3ee4f24d3f0000000081156a3585b8223e4eca2d3fd5c73e34e8b14b35510e253e6455003f5361d9344c88dc3447ba0d3ecbd9ab3e6a72e03300366e34875c0a3e9f2b323e1fbd013496eb0935a8cfc73de7c0043d7bfac934000000002c14693a46cb30373c5a403390b3fe34bb992d36552ea3325a0d9d32fc364035a6561f35274a92345ae7e934a55d3f34dcde47347e8f1e343a904d345d989e345107153492d90e34ce7e7b34af87753305bc613388b15e332068ac330e49a434971b9f342bb88f3433d9b13497b7c233cc8802331de0c132e95c0933e9db4a337fbb3d330f1a3b3393be1434006de3336ba3d63301eeca338b4cfa339f301f35401f403513ba3435b59a153586df5d359c4d253c5ccc7f3fc86e53342f633834c257373d8441673fef32f533f6e7ba332621d23c4ccc4c3f0b803633374b46337d9af73ba19b213f760d7b33459b8d34d905d13b1547ee3e4ab091340cdff0326cd0333bf503983e0b5692327dd02533ec050a3bdfb60a3ee505a033fbe2a2334a45283b5d24b83a3e08e53314a3a63472e9063506d81b35dcd80f3500000000000000000000000000000000a6273a32000000000000000000000000a8ea5435a077553497846434987fe134fa6cb034e30fc134c635983492ef25350000000000000000000000000000000063231835cbd6ce349baddc34a1a55c35772398343765aa346ac22435849a7035000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000035fba133b517be33bd2d7b3f000000007e3fc6357e170437ed365e3f081fd7343849bb356600253946cc343f53fa7a3500000000e4a19e35c409073ff0b89733500a34359e9f1c3766f5b33eb61a59359ce398359be9e035c181333ea3a522350000000000000000881b1b3dcb89a735000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e252a834d5f057346bb34434fd9c853400000000000000000000000000000000000000000000000000000000000000005c0c09358214c834ed25ac344aa4b23447a8c7354e10c83415f4ac34fd24f2341fbb0c350483dd34e7229634c0fca13400000000000000000000000000000000000000000000803f0000000000000000e49bc739aa87773f0000000000000000a89e713aef564d3fcd153034247c24348223553ac5f2263f00000000000000004a182e3b56e5f53e0000000000000000f6aa613a9c089f3e6895da345806b0344582b6395fee143eda2fea348856c6347b46a637276cf83c756590340662b234000000000000000000000000000000002187e5328f67c237d1930b330000000000000000000000000000000000000000e8e8b6359994813556624835323e8f352bfba1346a8e273418928233664901345a7f803400000000000000000bfbf333337b1835f1f896344c066b34ba668334676a5635aa021035d454d534315bf73431575935f4ad0a354c8bcd34653f1c35f9fd2331462a7331d713bc31bad841310000000066e57a3f75e5cd3cc05570330000000011a27d3f4cb6e9310000000099359e37edbb5e3f75749135547f6e35552b2d381dab333fd9577334ddb87933f14aea389310073f2b9a9b3300000000931e5a38b8dbb33ea4b589349bf06034f4587f3701ac4e3e95651435cee4d434d1595e37bd23893d37cee234f008883473603934a72070391d27c031f3b7ce31bbc4e3341e8adf3889079834dfe69934e5f2ff3412c1e0348de2da34b985093571d0ea3398a5e0335c6be0337bbef433ebd6643545d25035b4375935a062633583e55a3543263935bf443735aff66735446c3f349afe483446fd4d34eb0f67342772df34eb8acf348b74cb346818cb34918fdf33065504344b1496332624b33367770e350a7ead3461c29a34e7b1a434f009c834171e4f3fe7634a3ec41ca53454ae9b3468426c3fdf67a23d718e0135ecccc6334e62613f6fe3ce370131cf33c243fc368fe1343ffd896e35e70970359b0d3e354677063fb4de7135d4365f35e6ac0438e795b33e73bd313479d1223463fa0a37a184383e3353ee345504fd349dd8cf33949f863d735d363423db3134c3930d37671e5e3aa3e99634ef4e6e3468aaf2342523c6390e7dcc3422ffcb347dbaa934a534ce3643be5c344d0464345fcb3933d913bc32793a8332000000006b0ab63498e1b9349e64ab344b23a23430979035939e6a3562df42357fec6735156cab3412e48e345b9275340e1299347b1fcb3345375e33ae821633c2a23c335da7c0347fe5ad3487ee66343fc7b3341b47b034be1cb034804fa134f455a234ad29c4343277263fa73ab73e705dd7346f908d34b310423f13257d3e06e05934b0130533f7f4473fb337993d00000000232d8f34ff65313fc23319382f7eb534b8c06d355a65063f60138e3548a95735cef49a3721b9a83e6dc4a434851c7734a35c6837d1902a3eb7843034f673f832266796340292063d20537634bd155d34873a4736a4f7013994fb8d34eff69334179b81329248203a33ead632c7a6833016735c35118d4b38e94e98346a59c532d9a8b13559e45b3705671b35d6125435a18309357397fb34eb42e0347297fa34a0a88435f5de7d35d6636e35b3eb7a35c5590735515cff34809ccd346fb600351dc3b2353aae9235eda77a3544e98935c0ef2e3555d0ef34e6f89a340a2a013525f2a830935feb3129216f3239f48a32f4fbd830b877f53eaa12073f676f5b333172e234facd193fe4cdcd3e87ded234d08c9735c4111b3ffb3d843e99c756350176a9347b5a173fcc9faa3d3ea1e53411e2503589d1003f14ac7939580d85352034e8345fd9ab3e8b59b9348f38c134ef07203762b3133e1e098e35540a7c35c2f5a137b223d03b667ca5342d534834e619833239b2ff3921e3fb301fadd630fbe6ca348dba443744da8c341e678934463bb534d3a99534b8223734d23a8934b9bf7f33831f20379944ba324d0165332376c934002e863705c19634eed69534cd128435a6a075357da75635f36e7235a1bbb134a0dea834e1f79034a927a134f13f3733f5abd6325b66bc32fb1ead3254b085340aaf9d3435c6443451c13d3489cde434980adf34fe2ebd345464c934f22db534ea7d9f3ec826323f475b93342dca68348445d63ed77e0e3f976072346a536f335a8fe03ead77cf3e766e91333ac68f347456d33e4a6c883eb1a1b5344dbb6835ae73c73e906fc43d7c6f7a35a316a53426c8a03ec09e5739bb577e347484cc32c8661d3e4416b2330d1b0e3305ba8836b3d9043b89e79b3475e184348bc78c37593d2b39a4abbc34947195340ee47036dc0faa38cf3aa534e8369a340be43834d4a8be33a86a2b33a773303337520c359ab6aa340a191034ca29cc33343052341f32203786383d349b782334c0a07235b54a463565b80135c0ea0a35d7706d35e561fb36deaaf934b0b20235a3f8cc33b986a235c559da3360cfb9338c5a0c35e9fe0135c285c134de14f83465adca349ccac7347368ab346aae9d34785ea134332a153e01b35b3f0b90ac34c61fc1335ea4703ecdfc343f05e8b53214ff0e35af05883e700a103f73304d34963b243420e2803e2e6ad03eb8ce5334c3ca3635a3e2673e74ec833e13ed0135d5907635f1e54f3e67e4ca3d63e91035bdc98c333084013eca2f34385948ee331f30db3487b58a3b7440b834e6e4b834f25ca537007a9337c81e9e34c1c99a34a28a6c310c7c1a31dc1b97307d3f632ddd028c356ba65135b450b4342c0c6533c3dd7c35418606357fa0e833a58c303365e55d35f9ac363500cfae347dd77d3401e2a8354ec11b370000000000000000f08638375514d137cd4f2b31ae776b30ef7fd535817cb2376252853561b5913500000000000000000000000000000000000000006bf5e03127d73532b53ec7320c829331aa19ea3c86c0793f14a05a30df543c356db6c93da00f573fd53ae934e0624c35653ac03d7f74363f2fa7843403b12535f5efd33d5e5b0d3f8b8e053512a891344d43ac3dd3e6cb3ea6314d33bc148c347451543d71b5813e55a161336c8abf35d39a043d640cd53d7c4195350000000008086b3c00000000000000001e87d236957c1636000000000000000000000000000000000000000000000000120bdc34ffddce34ef4d5b3408746334e1891038ca666637bfa600341bd5693335030835117ef134070dae34ccf4bd34000000000000000000000000000000002eba22383016153800000000000000004b34e93634f11538fa667834ec2d943400000000b1deb03600000000000000000000000000000000000000000000000000000000000000000000803f0000000029b4d53437c4113b53c7783ff19e92345fdb9e358425073d3181533f910e47348cb2f6342f206d3ca8642e3f25e0c234000000000dc0a23b0322053f000000000000000090ffe63981e1b53e0000000043f88f34624d8e38286e4f3ec3229e3600000000e8ad7539dd5d1d3d000000000000000000000000000000000000000000000000000000000000000000000000cb87cc347d2ad6342dd5f73461dc1435968d0336f115a134ae085a349bdf8634b794063728fa8b3433ac6734e89d0a350cafd237245b8434132ecd34169b003540c28337b5a877341be92d346d5da534893b1e382b0a3c35bd7acb345dc92035bbe314383dd65b333334bd333c10da3300000000000000000000000000000000000000000000803f000000000000000045f2f63c35676e3fc7aad234b93cec3442febb3dad8c453f7ebbb9346c254d34d63fb93dc7bd233f0f558734bda32b340af86d3dfdd3ed3e06f18034d08aa43429b5c63ce34e9e3e16b79b34deac2734db458a3b57410c3e7a4642351cf1b934b848cb3b28ec353d87e58b33bf5a6e330000000000000000000000000000000087b32c380019a838c7060b35276e823496417837050b5f3593934a35cf6f3c350ade4736b4541135234f9d34a46a5c3463033b37f8048f3412dce6331ff2e334cdfde737d25d2f35f0ed18353bc10535c48597371c05193568d5b33488c563349170b137f50c21338b6b3033110087341a2368383f5b3d349c20fa33c1afd032283b6438c584e6342fbbba342b15563466f65c34856a753fd710e83c97fa1335e1b90e351d367c3feff456358b1e4e35ba65d43c2afb5d3f84931e35e8bf9b34588f9e3d3748263f617f98346ac6bf33dcf6443d6264f33eed872b357d301635aed6b53cbdbca13e8d132635d3c09d3432ec0d3cceb3353e203c6333c99403336058a53bc816cc3d02456234dd26f5338d23c93a1688723c5cf6f1343f989f343a27183803760a3d20c69434300241327f67193824ed08389cb7f2334d37073415d15335a1eb5c348de79034c0c6a33478fea237dd0d3c35afd31135e596f134aa877737830ede314e1f1932f43f6b32fd83b43740fef23374f82534d07a3c3462b99338383017357576e734f3fb9c34b13aab37000000000000000000000000cd23873896ff1a3600000000000000006914ff31e8274a3f883a013e0d4599347660c433519c703faf06393d82caf333431d1835a512603f0814ee34578b913477e72f3c213a303fe503503557291835b706273d8eb6f63e05a7ee313e3126328078ad3cc553a13eb3f9fb33fea426346ca7823c281a2a3ed8ca2135b085e9347500c43b2d1fab3d0000000000000000761c0b3bde3f3e3d7c24783600000000a5a00639fafbd33943b3c43661361c3679fc4c385660c73898748835412e85331cacba37749db73700a21d350e81353563e0d5361016c5345919003572481035923dfe334cc4123485230d3487c81d34c5a2963762e8f834ad8beb34f3600a35f973173885b73434dd216b34e7b686341383dc377b810b33e3900b33e7322533ed71db36e2dcd93400000000dff61331c4691a3648d4283f22099d3e1052f23662e57934df7d473f51ef383e0bd8f33549661a3549ef543f778b413dfd7b1d3548210936a0a4313f1cb10d36836200357319853a83f3003feee1e4330f0f1434109d103dba2e973eeeb1bc35eb60e934bdf6ab3b2be8163e7915373417416934e818da3b2d4eee3cb9b5ca323f321233c3cd7e3b9668c4391f0ce334000000001edf21387c2e5f3888394235528a9234477d7338e808ac3801b315353b8ddf342ea61b39f52d003941d38b34a5550c3421398b35361abb37ed33fd34e4e5823445b4e135b9b05f3507ac5e35384f673558fe95355498503598d5dc34fa147234ced4b93614bfa93492f12534d81f8234032d0437a936e634e034bf34e588ad3441eca2370e8af9345183b734afa46534a68bc3347e0e043f1720f23e50294a356113be3476a0273f437aa93e72641f35cb7fef34132d2a3f1150443e5ea7b334594b5d3562c8213fadfc6c3dfca2dd34b1954735ff73003f372d5635bca55b3573f8143a6bdea03e17c06935d645e734bb8a113d7e56e83d1e36af342257f133d65a9b3c4602bd3afd49dd342ac8a7347cf4843ca0a0ec3881d2f1346b2f8c347aece93845229438dd088e340000000078234038b962ed377625f632ac481a3395b366382a3915388d385034de935d3426f271386e917038efa12235819d0f350dc49d3750b42f374a9210347eba34346c91f0361dbed235de12fa3485240b3566ec0b373e6221354e0c283568152535e5ef9037d11b0c34ab517d32cdcba33359e4223883811835dcb8883251f8d5312880e3347fe8ba3e34ce223f74d691340c85d3326945f93e2240f73ede73003362a20a3447e8043f4938ab3e873e56340c63f13569ddf23e58714c3e78096c358f50ef3330bcdd3eebf8873d1f9a13343767d535e8929e3e4cde57368e6afd341363de3a28aafd3de57a2735af312d3525a4373d54df5639e3d2593483000933723a1d3db8613139c07459350000000055c9183a8832a8380000000000000000d164ba38a290a3380000000000000000fff20539cd60d7381220d5349776a13417989b38b6a94d38e8151d3487162e343dfa7438f5d78438f8c23a323bea8b32b76fa6387c4fbd38e4901d357c7c1635148249373395a23442138f347930a034d0bdab37d266d633a9b4c23372fcc13315be6b3425e5213227d71e3287683a320a4ad9361469313eb42b483f7b8a10359093e93462e4933effbd203f00000000cb6c30353bbcaf3e4680f53ebef6f834c1c79933439dae3e14c3a83e9844203494f03436442b953e3f92443ebee94a32bbd253353775733e2be8893d32433335236c12358bb4023e643fc635f6c69034338a8e3c66fe2b3a383fc233a0ecc5332e38633d2f2834383a7aaa32381227328e9c1c39fe64a6387fd4163555892e342762f73809cfbf3819c20734eb8b8b3285482939f51961385b8f083560215332dc935f384ff60838287d0435a8377334c5150b397e4aac3813621135913d0735e4aabe38aefac3385625cb34248b3a33b8ee333803704138ccdde93401dd84343d04b43757012735f8e013353e5d13359307103527f499349e654034a0b4f233e5c1d936a076953d42236a3f4186143555a53634d9c4083ef215443fcfbf2134bfc00635af424d3edec11e3f1b115f353f461a35e4544d3e6348ef3e8e8a0235335c2035b5492f3e659e9f3e69346f352c12ef3460f4ea3d6baa273e6a053a3599b21d35afbf2c3db45e8e3df7c6df34ed085035a1908d3c1bca1f3592580a35c7fe883c33b23438ceb79134fff100340000000000000000000000000000000096c94c39bef1eb3859d3463375aad3323ae63239f9355f37df389e35b21d833570bd3838f0739737bc143a35abc9fe344f5f0c39534e95373b7b73346c3d7734097bca38e36a68380cef2636bc8091352123db381fec4a3c38aa1a356041dd34f7c1a6370335c934fb22b23432f9c1340000000000000000000000000000000000000000000000000000803f0000000074b0d13341b0753dcafc643fc1b078331a578e350b92cc3df861433f1d57c535e9065b3528ec853dcf431b3fe9234b35e120b2344b4f303deecee13e2a1f8b34d4864635badace3b8d258a3ed8cc5d36367bdf34849f9d3b0ce7ff3d047d1e35b8d2e734184b4d3c0257f83cf6c9b23400000000000000000000000000000000000000000000000000000000000000004c5b9c37d6e9a1366cfdb13656b60137990fb037ebb8dd363a640637eb4d6437f3dd933724c600357bde9036b8ff2a371af88d373a6a913524709d358f561337d173993792de2537bbd34c3759668e3731db043872327f37202f943756fff63798e59837e32814379e1f1f37a05b893700000000000000000000000000000000000000000000803f0000000000000000659ace3764f27f3fabe98a37d2e2ce36a69e31380584583f1281af372c822c37988b1b380e952d3fbb81943766a01837894222387fce013f74e18237901e5a3669e5de37ccb6ac3e5c958a37c49f7a376d9e26380ac52c3e41c2e9376ef5ca37aeb1a23721e72a382ff83837b205463700000000000000000000000000000000d4a57037a2bea536cc8f9a36f930c636779a1237bc438d36419c9a36e821c036fa157737a045a336a0ddb5368476cc36c83f26378deac73674cef0368c8d1537e99a663755a4a5364d9cd236ffc44437288fdc37eeea66369331b53634f4b2375d4e4a37087694364330a036ba3407370d45ad37f4b50a37940afb3639b193374207b53768db8d37f11393373e62c33775ae9436bff57f3f6eb94a380a89d036e4b7ae3678f67f3f6fe80b389dcab336a428603764f4583f219a0c385888c53607921f37fd962f3f3fecf137ca731137660f943707cc013ff607ef37ea0f23373ff9e537113aae3ee01f0b385f977f37f96c2b377463333e076c7737af03a436c40a56379621713cfec38e370b60f436807d7f3747bcec37142288371a3771374fc314383750a8371c0ef0368a5c553791e8563722075c36916660363b1cc536b9f11d38f02d3e3659e13d3615a38e36fdbfb7378c3d3b36c7fc3436b22c8e366881a63797a7703607c476366a045b37d32190378d5f63347c6b6b34761a343708c43c38657346378e264b372ea40c385e9f543778db28361e360f36f38622378ead7b37bf2fe036442d7636b84582374cf14c36f0fb573f58d51f3ed99f2a3750565a365979593fe3f7193e3ce075360b426c376e88363f59580b3e49ed6b36507802372741183fe526b43d973b5636fc596b372662e03e9fa3723dcaa21137dd68ff366e4b9d3eb516783b4d169336948ee33704dd2a3e1ee38139d1465037137067361b5d643cb82c47377646f935eaea88360b1c0338f318d5363c8f4a353228b23787888d37372e1a35e28a2b36e81cbf36661d4b36e6a146369a984936ea67d037a0920b364323a635dc667e364efac4380c720535865f0335140d0a351df670396498c3360c6a7d36135825374747c93761649f35086c9635271c3236bf4a08387e2eaf360e7d9135ff18493703590e384208ce3763ea96379779ef37ef15d63741617f3750e8623785969337c86c1b3564f32c3f32faa53ed4972435b6c0483640242f3fb8a0a13e9b8f4836fef1ae3669de173f48f3863e0c7ad1351ebdb536c05ff73e8afb4a3e2e68083586b14c37c743b83e9ca90d3e6884c636372c0a368d227e3ebdf78b3d1ca2a4356b59fc36fada183e392cb138a3912036a085ca37e209303cf6761838df1176377365813724796438e5f25c372a091337015be2374623d3371be7d3367d6b02375ea9f33738aa90378992a23664ec3f37281a683705cdfa36ccccd936c343fb368ed2c137c555c6360a72a436e71ecb36acd1cc37cd8b3537082db436ff353b37d384ef3711d2d9367c2bbd36ee55f636e96375377ebb3f37f3ce1b37e1505b37004501380cacd8373c40b4371f4beb3774ddd937c04caf37b4c59237342ac037347cf8361fc7013f0746fc3e43045736cfac5f374df8033ffe3bf63e2239a536533513374394e43eaa8acd3eeceee436f2cff8364af5bb3e3646a13eb2bbb136bb738b3763df893ef82d6c3efd71e3366d772537782f3e3efe3f073e661ec63670034237bc58ca3df1f7593d6ad316371bfbd5374b36603b8c241c38f6699537601fb43760151038d3b7b3376e892737d7ed0c38d58d9f374c4a1d3661735836dba0f837f002883746729d36131ca13608d2ca377c040235f665ff341f5c01358ae9ab37db3fa33510339235dd519b3562ec4739af510037cdd72a354f95f3367d5ac7384462a4361c5a0e3582984e36ebf4fe3704ca8137f33e97364ff67f379949e336933c8836328a523616a3a436c44f9e3795d01637a5d5bd36cdb64137c79cce36989dad3e3a22293f5707133638055e37969db13ea466243f7f2f9c3685a6a6360d489d3e31150b3fa215f434798e0036ba65813ef470dc3ed81995356f8f5f37a537403e198ca03ebb443036e60632371c3bfc3dfad5473e18eb0a35daaea9375dce683d1081b03d4f7b80365fec8d362211ba37e6eb1c37b6894e3659475337c4500e38ef5f5337e604303563f29a37cd0b0b371202723477797b34ced82337ca28b93528039035d23ba13519782138fad73337e998dd3669ea1537634997373c136734a1b75b344f1269344411b437511d1537d8bf3a3630b782361cc4de370c6ad63603551c366d1f6136dcb25738dc54c337b2096636c9ff7f37e3c89f37c5432e371301e136307e2a37545bc23740428c375968233732fa9b37573732359c4f2f3e7420543f8ea95c34ebbfd73548a13a3e20be4d3f42958e357af9b437ab87313e3ccd283f6f0f03377f0f1d37b4b8103ee72e0c3f34a15d34fa5991372a9cd53d7cd0cb3e3b175e36a77f8a377dbd6f3dcf63843e201d3636a9fd1538ad9c9a3c4411073ee5636336dae8613792a72f38995efb37f5b19336bf67bd3758835e38246fa337f960ad368c5fce372e1291379b284c36559388364e318737d1051836fb1ff835b07c083623f13f378c1e983678213736db4677368dfaf2372cfc303742cc4b36cae65b36839bd13741371b379c3a8d364617b13687f28937ade018379964cd3635b3083754a9bd37ad904b37e273b9368c07ce3608847737f595f836c463b036646dd236f61d253748d8b336497da436d1f7bc36a7b4a237de08453bad2f7f3f9be2643696334a3706aec43c530d763fe69a023632380137b93fd33cab894c3fd8e26836834fdc37e6b1ad3c2463233f288c5836991b5937731c933c2727f33e653fab36ee5728372b0f84382cbda03e4615f436c1458b377dee5138a7fe1b3e799bbe36a39e3537a57dfb37cf3e05382ae1aa360d404337d2569837f66ddb36b6a08d3600000000000000000000000000000000a5925737f81c5336d53f4036016c49363ed5053805399f3773640536236e90360323a7377d896c37dab7e036bfb41d37b3dedb37cff2c0363ebc91357c1ea035b5ccce373da55137b8ed5836c2640d376148e237d562ab37422f19378f0b733734f6b837e779a7378d425537d44b97370000000000000000000000000000000000000000000000000000803f00000000660659378385d2377ff47f3ffa3f4936bcdaf33715bd48389fba543ffa314e37ccab9f37ddb80f38bc96293fb7c636370e7c9537c70733382e3cfc3ed5569f3630ba9337978a21387cb7a43e63531d37f05cad3707984638fbaf1d3e93779837fee98437ae4de937d2cc3d38c2dc71370000000000000000000000000000000000000000000000000000000000000000bfc3f83798a3b13651151d3658bf6b36f51bde37b79e52361af1a13596bda33580c65c3826392c3723940b374d8a4d374cf20238026c3737218b1537ae3a4637df1a2c374ff41336c3b71636d3e55336ed142b38236e93379da46537d983e637ed05c93726e98637d7578e37f3abbc3700000000000000000000000000000000000000000000803f00000000000000007c6b883a6e67733f4b29b5372badbc363bbd743ae8bd4c3f2996bf3719ebb13678df1e3cb9fb253f193a1c388b5b62376b8ff2395b20013ffd2ad63731696e370316dc39eb25b63e9f13dd36a75e2c36324eda38ef57563e9e83d83781119e3726df203872826b3d0bd28337179b8e3700000000000000000000000000000000c44f51395dc1e837eefa413621245b36a7fe2038bc5d1a373f794a365ffb56363d2ac2374eae723636a76c36dfd46f363161e03907e70b3799871236b6abd43689b21c3858569a37c0632037b2c6933782b7d937aa9e9c36569c38369232b736de1a1e38d49b7d370562c5367586b237266bcd3713e82037100bcd366cd1aa3718078037f42e3b3735e14337414b8d37de0b04383e40723f15015a3d362567374e3e62381ef2663f8e8a513d959e6836756d6c392d00443fc789023dd04f77364b35503c9b5f203f068a2b3cf45133377c85323abafcf73ee7511f38f276ac378e3f3938d28faf3e00e6bf3768f6c4363c6f3c39a4c74e3e0140f537b9647437759c4c390ef77e3d3d71683769dc0c3764279c370718ae37d64c07376cbb26373f352338dc4df737e2128136999381365a3c0838580e8b37dab41c3702c91b37f5f03b38bbff3f37d86d693650156a36f069373898b2a5371af7203682785d368253ba38cf25bd37c0ee6c370f2e9137411b483801ffaf3754039d378605b03733f63a384f87a137930ebb3686ee943737184438f2cda537121a973729e4ce376bc206389b04cf37af68c137ec89e837b4f78f37cdb74c3f51e74c3eb189a53603b10e3878f4453f4ba7413ed2c139374abf61386603253f08cb1a3e06806f367baca53829060b3fc670d93d84d57e377f18da39257bd53e18e2983dd7c2a737e2af85383ab59c3e698fdd3c9104aa3720f97138728e433ef47e2a38067b7037b6e9383975d6763d62e4cd3723db95373eec3638f5b27038a98db937a8d0b437b3ca39387d231038af15313781e0cd36795c0e39573e153839f9be36cebbbe36011ff839426fb637b9b78e3564e48a3539093f38f88fb8375fac9c3635cd9b36588063386323783796be2f37e4b137372dce9f38413751376882713556ad7335be9840386104f5376c5051370e62b93770b90b3845d6d037992a89370ceed237d2c8383892230e3880a5d63709321638d64bc137c2c1263f9f4eb23ec370883732424b386273223f693ca53e2bb1633766e8e739cc170b3fe725863ef5eb39368a9754387732e63e3c20503ea85f15370e328a386177b23e07b9153e706c4c3724da4e39d6e6823eee89ac3d72bb7335bf6d5638e31c233ec6e3e03ccef5ac37b76312383e6e653d7250fa3778d18d37d8236038a86ed939d8710e388980c93774a90938cbf70038d86b9437b80d6037433b4738b566f637497b0937198807372b20263806babb3723921f36d0751e36f8764a399d4bba372b17ca36dd83b9361e7aa639554733380c3faf3752fdae3784be2439c858cc3708f83b37371760375a1b29389922e7378748263760048337915938382597f037b7df16379456c137a1f6f9370f6ae0378a10ca37103ee537dbfae437974d013fbe20fd3ea518b637a1532138da41fc3e4902eb3eaf1b0f37ffa4283840ddd83e1020c33ee09f8136fc476b390606b53e374f9a3ef32464371a56d63975038a3ead226b3ea66309383ad69b39eb254e3e313c123e103b9337842a303856cefd3da395913de44d8f37018a4b38f9c0443d5cb42f38536e2d3778fb0d3891b986391a91dc3758e3bb37d7977038726443383b7b66372cf58436487f0738ca3dba372b8e1c37d8851b37531b3a38bd59d937b3c8d935b9a4d13522272b382e3a713755983a35c6602f35740f5a381eef7f37ec932137cc5c1a3787373a385abae537df519d3637159d36ab09b83928510138a1eaa2365c14df36db904b38b2c526387ab9c437c009f237a541d33738ffaf374d518337f708a0371bae1b3853e8b63e7b5b243fcae1d337cc88f2379907b43e329a173f489d1d3782a2403842dc9f3ed92a003f8cc4dc35dd4c83381d1f853eaa9bcc3eb5b245358fe46938093b4f3e19ff9a3ebad93d379cd74438d90f163efa224d3e09a62c377300ce396dc7b43d5a33d63d4fbf74373e545538cba1fa3c15bd3f3c3bc7d837357c1f38b37bff38fb23ba37e8a86637d3002e3811ea1d3869da3c3709ff0937b0ef48385a81ae378ccaff36a565fd36130835381d31ab3728698136b2ba7a36ec343b389ae4a3375f581437117fc636585f1738ee28d4375775e4365486e33662293038cbd7e937669416368f6006362bd32a3851cdba378ab2693635876c364d96003872a6bf378e286e37658a8d37f7d5a7379aafba363147933676bfa9368266e8377198593e9f86493fb27c9437fc3e1838fd295a3e25f3393fb70401371b9a3638f0604c3eb5f21b3f36f686360b2b533841552a3ebb0f003f3d607c37b189a838b158043e02cac13ee2677c37628f3a38a014b93d992f853ec1285c3759f22e38bde85b3db7f4193e9d72c436a3f9053813b6233cad40e13cf0af6e3776960b38fe8232389fd814373ba6823608828e37fa2c75376972a036d7329e363a3add37e4327637661d6436c6225336b13a2a387184d33781052436a3431b36a948f137266b86378bfca835106ca635c1941d3883e1e4379936113602080d365de5b1394bef8c37a0360e36ff020836188bb737b48ae73616716f36a0147236600b14382c0ae037d7fe7336910f7e36a213b337495b513782566d369409d73676976b37dfcc863d8d1b6f3f90c4c136797fc93783aaa13db8c45b3f0c2e7536d883213845609b3da0c3383f4610ec36dc0ef837a9cb8b3d56ad163ff7e459363c372538f22d793d936ae83e49a385370553e139c6a20b3d7a42a13ee5c802372aa7b5375172883c9eec3d3ef449703648990f382e896b39647e3d3dd58f223729380b38c2edf4382e1c9737901de03500000000000000000000000000000000925def37213db63744589c3656399236b2fd4f38aebc173877c2123671210536fac36f378d7908376f04d035a153ba35578f1638bc130038ec9901370637a33648b27b38e0c94b381a671637304cee36bf9606380703ef375ea5f436f93ab43548b30e384782fa3750826f37520754370000000000000000000000000000000000000000000000000000803f00000000f86ad5375fd331384536713fc8797337361c38386c366c39a93f4a3f9b62c8378eca53379fcfe939bea8243f38259936aba70a382117a139d64bfd3e9fcdcf37488e5e387658483ada77ae3e153b07380228e9377e43fa39eb4c4b3e008caa371a34d937fe08ea39f1dc423d1b6ea437000000000000000000000000000000000000000000000000000000000000000077530c3a9599ba3948c832382d53af37fa160e3a6f2cb6393d11c238746e2f3829d8ce39112438392bc82038611d1b38d9ccd33952e0803964f99638b27e2938ec68de39d41b8439231d85385a1dfe37ab520c3a72ec6339744b84370b1e893792b99239add85f382daf98370ff1ca3700000000000000000000000000000000000000000000803f000000000000000016843b3a7543613f14af073ab4e78339a37d403a1374403f617d053a07a38d394bb19d3a6c1a203f3feda6392c99f338d2581b3aac15ff3ef434bb39bb2b4a39dac9333a4a2dbd3ec1ecb439bb6c3b39572e7a3aa219783edc4ba239046ba23899db853a3fb8eb3dbc284138c3a7c137000000000000000000000000000000007f470b3a25aad0393ef0c537be58bc37b0123a3a81cfca399a9488375c38193757274e3abe5a0e3a0db3d93847cd9a37967d1d3a3e009638d605b5373d919d37f4022d3a34b5f43943f74d39be141e39253e283aa926df39c4211c39d150e3385fd4f839c6c0fa386fa29f376ce99a374c141f3a8a0dac39a5cd343819ac3e39d0f2d83910649f390f1c673994118b39e950173acae6603f7191f13d2b77f938a510d23a1688473f97c3de3d6c494d39a423813a30ed293f8eb0b13db767cf394d2bfd3ae3950d3f5c9c8f3df30a0138db1b623a2971e13ef0185c3dfb5abd39daf7dc3ae857a83e3da5123d800aa3396dff733a542a5f3ecef3a43c0a21d137516d813a13fbd93d832694394582d23882d4173a63ec083ad5b46d3905034739b8dd123ae946083aa27958394f485d380a02d83908d38e39fa1e8b37f1652e3748904e3a70142f3a8ef68639db0a00398479033ac3878b3973020c384e41f7370b8b393a5263ad39a785173846ab0a38227a103a50b8d539bc076f37901c4d371e8e123a20e5d93958aa4a3996293339ff15dc394b64a839fe742c396098553991cdf0397d999a397da58f386d640139e3a00d3af799403f8643783ebbc0b539bce75d3a24622a3f22065e3ea9cd6838c3aa613ae3ad113f53733b3e0ca3f8390dc0333ad05df43ed7fc173e18558b3824fb8f3afe75c13e734ef13d7fce1a39733f753aadc1903ea707ac3d12623a392f653c3a87c33f3e69f2583d87959639c1c50e3a6b8dc93d6674a539d6b94939d576383ade5b433a5675713938218e38f10b463a82193e3a202baf38b6a95d3876dd213a715e0c3ad0b0b938d6ba8137ac3d733afe101a3a166a8537978703374f8ab239ca702f39b4dd793746602c372ea5323ac45a0a3a58485639c4f89e387ef70c3a1a9ec439bac72638eed61a38a926303a7e0caa3934bfd737e799cb3724ea703a1104323a6c496e39e59d3b39127ff139d890c33996e77c39a63374396734273af7db1f3fa96cbd3eb580c239111c1e3ac2ea0d3f050aa83ef134ad39374e863a9db9f53eaf16873ef93e62392bfc3c3a90c8ca3ed7616b3e69cdcb3737de553a5565a13e63b7383e0085c439e6c8673aaf9c713eea35073e9b994d39f92b883a2aea1f3e13b0ab3da89ef5376d9d9f3a636b9b3d40370b3da263a339435f303a97a33a3ae108bf3987d78839084c013a00ac023a85cc0338c7d2dc37f1614c3ae0d0323a6593723913752737b75e603a5f503f3aa217aa39f7846238a189553ab4f01d3aa482fd3813ebc73795e31f3ae11a033a5b3e73393cefc538324a433ac82a183a95596a39f0d89538dea34c3a42082b3a3b80d039d6cfb93965b8383af413183afbafa9397df59039ce115839fcb73938564efa3712eaf537ba299039b065ff3e3cfffe3ee5650b39fb204d3afc9ee23ed7cae03eb713f23941cf633a610cc23ee3c6bf3eb7db133ab851c63ac1b9a13e4a819e3e3a76cc39b6855a3a7ebe803eeac97b3ea397c0398909c33aab66403e52f7373edf83cc392d5c653a3e1afe3d9a67ec3d5fcbf9393024583aa2bd773d023c543dd566cb39e0fb113a8820213a954b6038a05c013898df163a73db193aa6cda039fcef6a381f468d3af8206a3a3f1bf9371274c13738385d3aedf6203a4151c137b4086737da642d3a93b6eb390c182338e7f709389352343a86710d3a15370139caa52138794ba3395911283974dc643725bd17374220413a676bbd39cde15d377186fa36da5bfa39f3edaf3950625b3884730138942f093a9913a83969df6b38eb336638a121013a833fbe3e0e691f3f3956e339ff52913a9dbfa93e222e0d3f64cee1399fd8713aabce913e09f2f03ef4390939f0d3573a7022733e2ecec73e80468539f7bf4d3aad56423e1e6c9e3e74ebb939d9fde1394472113ea1546b3e3357ba37e4bf823acae3c83dfcef1c3e5839a237216e253aed073a3d16978b3df022ee388ae6483a2556593afa26c9393044733891a9233afefb1b3a011a56388b4c2438504df639ef20c739f41f3f370f27a03664571d3a73b5fe398cf94038ac95803685b7233a082ee939a100893709cc0337119f523a91cc253a9efdad38ffe20038413ae839a4f69b39d8bb08387bc6de37d3be373a73900a3ad8ea3239e1ba233718f0a73974d4573967a49e37c9e780373f26ec395f03c2395b8e5739a797233903cb073a519c7a3eea1f403ffd0bb43936ee063a800a693e1f952b3f49f5673915992a3ad636423e29cd103f2b4cb039b0aa2e3ae657223e12f4f03eff958c399949653a1e0f013e4610bf3ebdfda8398aee0e3ae9e2c03d96dc8d3ed480c33831c2573a17de7b3d1d01393eea2ba639fa00f5392fbbf43c8e18ae3d1bdeb2374473103a80e71a3afd40d93953066a39141eff39954afb394366653917fb8c37f3b3513aed92273a99edb7370c8945372b8d313ae4e8fe396024a83746f30c3753633b3a61741d3a078e14392adb1a380723373aa504193a5e1e4139cc61273782f52f3a735c5b394971bc37dd55903780cc433a5fd6293a51daa03947604339dadf0b3af848e7391d0e15391f4a8b37ed328f39a0e72d3906c9c237ed66bc37045cdc3974d1f03d02aa603f7664da398314553aff8ae23de917473fca94d339c4c6393a949ec33df0a8293f759c7a399cae8a3a6feea13df1c90c3fa948f639499d463acc01813dad02e03ef1aae83928e9893abe79403dfe71a63e71f11b38738e553a1d73f73cae675a3e7edfe339b1ad573a9572c83aef6ad73dd5b46e39aae6033ad03f1c3a4a837739b46ec337000000000000000000000000000000003cb1453a9a62363ac62ca93758dd41371972493a9ed52d3a55c7083838e60837c2f3093ab9aaf639cd6e2139c843de371110f739453dd539fde30b3926270638399c153a7bfdd3399549d338f04c21380841133ab1f3043a0ede8e39e2282939c504033af6e8e239f3005a39a482a4380000000000000000000000000000000000000000000000000000803f00000000f724203a6983be3adc15613f4fa3213a350e453ab85d933ab76c403f0bb20d3a1089083a81054e3ae12a203fb845d339b631ff39a918233a64b0fe3ef9afaf39422b1a3a6bd3923abf10bd3e60d78439c39f133a1a9c353ad962783e715dc5392f320f3ad6eb293afc4aeb3d3a009739000000000000000000000000000000000000000000000000000000000000000076c55d35206a56357f3f613598505a35af2dc0354c781535d4e11835229c16356bfbbc371285893189e78c31ef878c362dfbf3362a291635d92314359bcf483521194f363065f2348156f134dc4cfc34a06618386ec2a637718fa337a648d537a5290738aa1d96370f7040375987873700000000000000000000000000000000000000000000803f000000000000000052c5a53716e47f3f2a202c37c3b959350d1caf374ac9623fc9af98363534283500d29e38f405323fb73736381a4d81372c195c3824fc013f61d8e4374753bb3530bb1437d5f4a33e9f6bc03612e6f734b061383882eb063e457b31383ac4f4375e5b3038a33c263c07b13738cfe99c3700000000000000000000000000000000e118a93648d83f36a882a336fc89d936a34f9a3641374f36090b6536b1aaa0367d904b35bf273c35fe704f35649d4f3556369b3795a1f9352347003659084d37177f10377e6e6036d0d06e3613b6bc366ede4037f58a3e35f9474535a36ebf36e657ed37d5dc35372bf4203712388c37a06981370e1c0837e5098936f55cc9362a9e0935fa280c35d5e90d35d48312352eb4113519f57f3f6605f338eea24137f4d4a63633f87f3ff9f97b38557ec93693b047373061673f56384938edc08d3529d80f38c508373f372779385ae99f37a385e7376033073fa6f9733878632c37920db4374b42b03e8793753866841237fa6ba8376c9b1e3e3e0b8f38d593ab3702553c362e8fa23c55f14438c0dec0367f090635557acd37d4590f37e2110a35872dd036ab2f2a377fb916378003f636a8a5bd3607eeae36ab77bc36c303c9366e1e4935e59b4735a11d5235753a4c35bd26b03532c6a6351419ae35b697b035708c913602e22c364c59493627418836f80067360d45eb359d6fee35e814ec35e47586377e379736a3b93f3679fce33648f0c4375d8279377fd2b936b154ce3613a57d36e408643613ae473674a75736ae9f8136756e633fbc3ae43d2a522137ff168d366f0c6a3f3777af3d028af436b7a954352f554d3fe219a13df60e4c358c4ead3531a22a3f1f3d043d31a7ac35a71e9a3614d4f73e6027893caf529a368783f0357642a53e1d5d4b38d0561e3673e0ae35b109193e1cd03938a2ee0e3742203a3650e9af3a24bad6380c459a36c06c2836b7749238b953053838f6253621a67a36de512d37201c7136e5997536d2fd1d3670521e364dd61d36be632136d75182379682f735d95ef9359c40f435bf8e8a35ef2e8a35399f8b352f4a8c3538effe35c719fa3599fe003673be0436830bcf36e1e7903607b58136670ba736bd9af737e73aa53722eb773738e9ab3752f8b037bbf667373b05e33631e1f8365cbe6a3749025a378c05483798765337bb593f3645a1323f9db39a3edb2166364e4a1f36b77a383f05e08e3e95231f36edc6e2361e4a293f6fc9693eb6b7eb353f718935976c083ff179263e5e758d35d83402367868cc3e365ad93dbccb0036ff63a236564f883e42fa433de042a436aa055e3702ba033e2fe13f3922ce8f37288bed36e5d7463a4acc2738ea18cf366d974537d49bb237e7847e373a6f2337fce58a373d92c33785362f3524fb5e358409eb36dbd78c36ba3d823694ed8a36f8a5193745f8ad35e9a0aa355e7eab352422dc3616d2ad352a09a23545cba835bd9b9a374c4c0e37b0908b36c7ddb536586f9937ae63ec35bf95bd352369cc3500e42138d9c40638d4d7af37c20daf3758f4f4373704c5370b7f5937291d5837a895a237d6d5733706f79436b23ee43638b634352917023f4ab8fb3e0bed23351b888c3693fe073f3653ef3ee7c98336ef9b3d372ed4f83e167dc83eea04a935e610c6368cc5cc3e409a953eaad7a535a2ef9b37d071943e7b2c573e9cbbd43617771e37f19c4e3e482cd93dde90bc351b35ce37e058d03db63baa3c8e188c37d7909c370aa8a03a53867f3807f792365e3e7937284f5a38a054c437bf893535661070374fd96437ec2db536102a3d36ade8df36b65db2361bc639366c1a4536b2c25237a7041135b6ed0f350aaf0a355481b73679dde635ab8fa5356de0a435f83b02365a83003697fc03361fe801361b14cf3559ad8935fc858c35680b8c350cb83638f80b10382dffa0370c45be375b7b853747c63137de707e3602f1a5364fe6ed3695cb783660eb6736b58167362a8227376b1da33e0a622e3f48e81a363765cc3687c7af3e34f1273fa2243936b2eb3c37a0dba33e28170d3f4a5c0d358006cb369932883e8cf8d63ee5ea9f3590100236f1994e3e2503963e7e640136098d903567520a3e78a52d3e295e89357e6b0e38d380893d8c60303de60d95371b4c6b37a72b5f39ed8cac38ce092536ba831b3705c36138557190360ed14936e7308a36107d53364b96c83588efda35f349963670df1736f74a0f3652941336273fb436f9d5a8358eab9b3501889d35fb637e36f773eb35f531e8350c9aea3515a80c3776bd53366c610436c19d0636231392363f1701367132a735cbcaa8355c238737acf86b3651656535386c65355801d337cdd580373c21ea36a9800737c8c812375eaba5369d5c943689ce96364f664236d150033e702b5f3fc39fbd35af36de366fad1d3e4535583fc5900e36405a3b370b78193e605b333f803390359473c7368003043e2a5e0c3f9a66ea35ad83b7375f6ed63dc9ffc93eff31033628b69a3602c19a3d4d10673edfdd9b35fc838837d13ef53c5cefb63d87936235802aec37aaff8e3805b33538a3d0a93651df5e3739c7df37884ddf36ee7d873605860e35cb760935bd84053551ac0135554343364fcd1d363f36ef35822ff1350cc0b03777aed1356965c935d093ca35ae1aa837ec0c4435a39c3d3511bc353599f5df37ea3bd036e2115936806a6836a9f8443820f60238221a3a3630d89736536e2a38c2d70d38eb5c3f3779c5873789a12037f2b11837dbf4f836453b0937ddf3f836281b1f3692e86d3550a8893523974636b29fa83adda37f3f27920335ad46c5370f6aa03c83e5753fd522ed35cc812238265baa3a62fe573f4bdccc35cfab1b3862cc1a3af8bc273f04c341353752243821f8a13aedeff03e047c6536a3a73f38ac8319395fc6913e3052a037677d1638799ba83848aac43d87f4c437ebf11c3701b19338e9ec7c3885f8e13600e76337a9b4fe37bcfec53624ea2c3500000000000000000000000000000000315c8037a2c78134c2578734acdf8b341e53e837c3705736ffa36735f237a13533956f362c940f353f930b355a180435808ec337a6348b3641bc1535fb7c193519c5583852892c380a204a37a7ac773718c58b37810e8a3750aacc3607c007379557a037c359a937821d7f3703199e370000000000000000000000000000000000000000000000000000803f00000000eaa2f43758c3833822617d3f33b28134906d1938f9a05838942f5e3ff9f51336a5229f362bab6637acfc2d3f78cd06351f0ce7378ada823897f2fb3e19c3593762644838a314bb38a7d29b3ec5fc6438ca7af43637fa1a38304ce93d2940b237a6e14337b8d42f387cd55d39a984a13700000000000000000000000000000000000000000000000000000000000000005dc2bb35b6287235489d6e35688e6635c1091534954e14343775123444a50f3440a77336968354349b7d5634c12257348f8bd237799b853578718135fc577e352bff4534bb023f342a494434d6f93b348810ca3524993d3590de3f3587d34635ef5f05381fa34a37a0f1a536eaad133700000000000000000000000000000000000000000000803f00000000000000007b354238c0c57c3f3c4d8d356d3471356ec3cb3843b5553f514e153421271334bbbd6138fd042d3f0defaf3541005c34487986388891023f9ac2c9379b198b35e98958383a0db13e987f8b36422f3f34a3daf337e3a63a3e8bcad53655553e35eb6a4838bc88153d80ad063886331c3700000000000000000000000000000000c70f85371928b7370abc9836a71a2f36a2f21736390ceb35ab83e435f5c3d4359c5aaa35b2bc3b356b863a3596a42b35f3b88036c5563636c2ac373685cc36366220d436a6af6135cac1683573b276356ef2e5366c338135ba0d9035e3e38d35b96a8c377a7129365baa2e36ca4c2d36e9755937150a4b36b1551836d4a1673614f7bf37d02d8237f0912f3763f98937d27a1d367bee7f3fc29a8b395715ae373ceb2d3620fa7f3f5f1c70370b4d03363ecee0379dc7603fbe1eef350aa64a3597876738efdd353f1264ad37f06a3936b5ac2238e2ba093f895fb63728237235262404388234be3e87ba9837dbf98f350a41e5372c31563ebdbfe737cb6b2936c6d1c736230a7b3d0ebac3372e9e1536a23e9c3784463c38cd72b8370bfe1a37fd8fc437a3c80538d67cd736f34c36361118833619db4536b35709363de7e335ef8b953556a48535bc01863574588035f8d80535557d053523f3fc34ab7aee343f55763574ac60357ded4b354d8f34353c67bc347e45ab34945dd534a4ecc43419b757364f598d35f2929535f0b19935edbb6736d9f560365849553678596e36ddbda237ee53403659ec4536f12e44362a020f3650095a3f15c9173e4074a937c9cd5c365871693fcc61b23d003c383695cc7437ff694a3f18ac523dbc298a35d8b38f373b7c2e3f9932353bd3de053582e240378ec9023fd28e8639b30c643561b66637f5cab63e0bd98238702bca34e8a54e37e5484b3e4a2710381be09a350d593a3655f94b3d9b46c637d31c583678caa6373b2b7b38c65fa7371071433606608637e633a73724dfd236ea8091360de82e36178cf535c2e0c335ba619a35ecc68936236eb934e48cb83496ddb33440bd8b35076b883533a18235f8238535fcc65c37efd3bf35ce9eb935b563b33522c2b7379dd84e35396319355a27163553758a370e7341372fb0ab36e4029f360d762b38a6fdee3727df263733d4393786183e3720114736da0bb8357afeb63519978d36172b2f3f11a9a13e41fb0e3711b20e36762c3d3f9325853e050fd835526b023709192c3f93dc393e1783b734d3298536f5900f3fba15fb3d017a823568959c37347ce13e08d8863d31cac13534c2b237168ca13e1e91c43ca1a01635bd618337b4ec383e507761388c4b1937379e1d387e0ffb3c85c45638df054b37d5c6c137be75733817a525376f32b0353801cf37bc9cc3374a9a44365c294836647109370d7d713597cf9b3479344934d6396936afd0aa358c789335a4e28f35d749da36d52c04364ee5f235fd0bf235abdb53379bf511342e2f113427830f348f21b83706350b3680c80a36c49108361304de379398e2368b8fec35a7b7df35d57f9437eb2c243788a7eb352a09f635eb169e3706278036551d4636f76342367e288436306b033ff72cf93e668742362dc0e836b8e20f3f3a88d83ebc520b35437fce37643c023f5c3ba83ef4219c35ea110a38ecbfdf3eed996e3ed274f9359d76ce3746baa53e8989343e0ec31034eb2a0238fd7a803eb618a23da3170b36b7a8cf378633183e1f8f663cd5b8f7350369af378fa6743cde0911387cbbdf35dd3af937541f4638b6261b376e4d443655c59a374250f0361b587d3561c14735dee6c037be9c373649580c367cb0e73518d1303713c9be359186a135258c9d3520563137b7c31335f7e50e359f87033582e33d37f3a2b1353eb09235dc2e8435ced16936a552803584927e35b8e97635274f2b37d4b698368a17bd348f38b7349042593760bc2336d6a31736463f1436ab622637b2278e363bb08e366ca48b364ebef036d4daaf3e1e11283fe5f38835924b0038338bc43ee9d7153f7f821c36a1879237a70ab63e6081ed3e0ce7af3527a5f837b7d19f3e7259b23ec0951035a461d637138c803eba9b783e9252a53578610b377f2a3a3e12190a3ebe5b8235baba4137242be63d5a4d0b3d9ecfb934edcc0d38882c853ab35d10387cb41d36eb9eb337bda4543895c6c736b0db8e369a7e8d3771aa383657752e36efd22c3601481836355ea835beda70354477553571643b35e649843480a38334e2ae80347a23c6345d8aa834db73a834634ca8342dc16335f82234359848c83420d1b03419c81137025311353a4b0b357a080935e17e9b37737ca535c25d9e358578a3356623e2361e207336cdd5373626493e36b5eb1e3600fa15360b730536ff8703367ccaa737486e333e1f19533f7ce42b36ab215d361ebf543e65153e3f54f98735fb9f9e37d2ce4c3ebffd193ff227833461e6aa370f90383e91e7ec3e49d9a6347b6eba37a3f31a3e3cecac3e30d90c35ffad00383551ee3d8d014c3e984a1235c67a1038911c8a3dfe65b93d3d6a9c3571edf23795397f3ad252d4378f434136de460f38540712380066153623a00136927e933708d39a352c96553540c447354c0903369f20da358111963526d889359dbf1637fae30836c0aee535401ce33576255637eb085e35be9c16350bbb10358826b63765416b3593ca2c35cdd029359ecffc37b9110137463e3c3679223c365b1f2e37b9391036f177ec35891ce5358cbc303659943b3631b9353653d2333662a11f3646c31f3691111e36afbc19363d25f737be94f13c776c783f997f6f35afe6bd374d433f3d8c58643fc486ba35220f0638809c3f3df87b3e3fbca1fa3531ade0379840323d36c0153f8c8f34353402fa372261033de126dc3ebe115b35071ef8373f7b803c673e8c3e3ab7583605c40636e730753acbf7f73da27a0136d0fd2f36503985385a034e385c523a3687161138f6482038ac6f203672191d3600000000000000000000000000000000f82fc737188dad35f7e12235ef5a11359a1208362a290f3555dfe3343061d834233d453765d136346b5c273492d604344cd532381d85de371b106935a2985435473d0638688fbd3728fc62340d4b84344e6a0237c0d8a836584f1c34d6a11c344b599437dd36d937383fe636cf7657360000000000000000000000000000000000000000000000000000803f00000000715a3b38bff1403a856c763fd441823579b3a537f32f603a6223513f4c2b0635d984b0372db1273ae550273f1bca3234010424385df6373ac059fa3ea20aa93782579c37a718b9391ab9a53e7f889d37cc8515349deac7385a30293e741b3b35db1a0c36609f43383ad44b3c0a2ad13700000000000000000000000000000000000000000000000000000000000000004b38e333d2e8cd33b60cc3337d41ab330cf7d937c5716235a3bb5f35ebd55d35087faf3762080c3547ac0b35735e0b35db31ec37b870e534ad66ea34707ceb34f1e34e3845093b37d54f4936578e4436287e2838f4880038c4b2af37ce1a7a371a3d9538bc084d38e319e737468fe33700000000000000000000000000000000000000000000803f00000000000000006a31303a783a6f3fc3fee1336c83ca33bb62393c6942493f57fbb1373cba6135a66f0d3a06f9263fe102913735840b3519e4703aa6f6003f54e2c237b5d3e63491a1cc39c5d3b93ebf233d3877a7db36082c3e382da45f3ec8582b38dedced37972da53865dc883dd18b9439a0a426380000000000000000000000000000000088cd323888a8be389f1083372c600637c3d60538fdfd6936771a5e368dab483651bef737f7d4cf3643e3c736a36cbd36c1530b38e78e34376b02b036457ea936ed803a38c5ef7337342aa83665634d36441d9637312443372a34aa369817a83697cc3d38148cae37f92918370214053709ce0b38e5320c378ee3ab36b6b19d36fdf8133807791138da01f837fd09fb371d952b37fed0713f2ec1613dd1c7db374ef5d538bff76c3fc5fb923c1bb96736f96ad139ace5493f29acba3bacb2ce36d10bdf392d23263f782f2938faadd2363344933811ad003fb75e72381ce255379070003820d7ba3e2aafd5372f782737bded6a383986673e219dd839961a7c37e7c0a63726a9ac3d312df539da86fd369eebe23713c6c73a149d133864ebfa3731ad2838960d1f3832597f3716302637156fba37a25a4836c838263691de0b36fe38aa37b3bfd0361256c936b688bf367d41813774bc623663d85236c4e73e3648451138ee84153692f65735476f313571b32238669f5d371ea5df361edadc3699e01638afb1ee37045692378c0f68378243313820a82638c841f837da8add37f40807381957e637e2f2a637cd688c379a729537d1554c3fb6834e3e2fe6ba37db081f3849604b3fd460203e7f8e34369f3aa73827f1283f4a54033e92dccd36a2351a38fbba123fbcd8bc3d85655b36b2756d387860df3e3f778e3d650aae35292f5138e77da73e0cdb173db3d0e73669d909385ac9543eea409b3ce935c437161404387944a83d5f49e13bab760e384a334f3829b7c039819c0138058bb837353e3f38947430381f539137c06c7a36bf14aa37d74a2b3668a808363603d63572791e37597edc351f0099352f974835d3f85038c01e65377914c336407cb936be91f337073df23578dfd535d87ebf357aba7338eb08033865478f3685bf8e368e3634382a2c2237f2e0fb3699bafc36035d1a38074991375975da36efcadc366d3a013855145637bfb20637dfefbe36c7960f381acf273fda43b03e5af9eb3736505e38b10a273f1433923e46aa153695086f38ac1a103f8b87693e2ab8bd35cac59e384780f03ec8c2353e0d0dc636f4405138b4c6bd3e3b5a093e8e43e135ed918938c9738d3e699bad3d32b69c371ac3553812cd393e8c5a273dec24fa366d67d43782b1a23d403218393efae33644404c3897a42c3c1fcdb137d4241b3753af4a38d1051b38de64b23662a88236b5f47037d94788364af978365933633608bb6538af2fee377e15ae36f28ba236c95c4538a3b2ea36eb19dd362051cf3687d7183864bd0f37661ea83667497f363ddf5e3878d79d37fe04f33612feec367d1282383a6558388fe901386ccf8d376c381c38c456b837cec8193782aac1361ac50638a3290937b619cf36d2a9a736a1be0c3896ab023f323dfa3e3eece0361a4e3b39598e023f75e8d63e7a3881365e1aa5388a1de13eed9eaf3eef1711377c0e72393f78bf3ebf4e8a3e5062e43618d655388bc2923e26755a3ef9eaec367bbd87383e34623ef1f3093e2401f5360e1a92389261113e24e2993d24ff30381755093836df833d1fedbb3bb9466b37c502a038f4c9283a73a9b837e0efde36cb581438f7c79737453d6636d3565336d29dc736d775b936c4fba236d9d88c36f409de378b4ce6364daed5365654c436183d3e3809ca9536f5c84d363e0d2e36ef7fe6372cc2dd3542cdb13501f4833512905738879f96374774cd3613edc43671638137aa7df535d17adf35b7b1bd359693343847aeb0372a0a4d36cbaa42366dec0c38b1e5a03756c98a3611e9593639940438a049b83ea51c213f9484aa364b114838c64fbd3ee7e80c3f1129ad3603db8338b03eaa3e84e1e33e246dde369d5d39396a5b8d3e869eb93e17875c364a774d3823a0603e45328d3e6b7ccd353421923828b32a3ecb5f3e3e1273d0368c729e379892d93d7a3ed23dc989e835c7b418382e903a3d452a853ce9234e367d864d3896e550382c6cf23762f6d2361560e237a2ed5b3728193535bcf956349f90b437216c0736c689aa35b09d1f35fb38c037e2a092363caa6b36d49541365d429f3731a1bb36cb30a836a19e953615f3d137f8a92635520316354d4b1235e3ba8937bad974363d495c3697d25036e4a5df371380d3361136cd36fd2dc936b8e9f937f1219e378ba44c36258e45368d668a3720791a37af32c03603d599364b1f3438d9a1623e6135473f29cb063642034a395af5683eaadf2e3fd21dd9357782e239ad6d563e9d35103f4a6f8536a03fee39df533b3e759ee73e46eeb1363816b338b173153e303bb23e5d7d1735b550ca37621dd33d91fe6c3e4fcf6b36d6474938dbe38d3d67e1113ee3f4cf3620a70338663ce03c108aaf3c2202f736f3ed4b388fa9323844bf603764b4f13691889e3739ee1d36f5c7ff351db3c63518d529365f501436af710636cf8ef3358c1dac37e4ded736a1d8c136536cac36b25178376509a136931f7b3608ca5336c43116384e7ae2363d661c365d880536d5270b3852254e3770c0a6369b449b36fb5014384908d336f780c8368d13bf3619f92a3823bfde37d39a5d36641f4f36503fee366ec37b363b85b73570abaf35ff6e25381dbf9c3d61f26b3f25270e362b75343cb645ba3d5b2e503fab910b36e24a6e3a61e4be3d7ae82d3f4198cf36e86824384215b43d0e090c3fc8c38a369daf8a38f4ee9b3dc39ad73eb8f1643606384c3850206f3dca9b953ea072ae367be34638d161073d1842303e39d9cf366cc75c384b58963cab041b3d36ea75371d291739669701383105c6368f35c335000000000000000000000000000000002dd84338e2015535cee250359eb74b35ef7b143873b769379e92a535b75f5b352aee6038c6e1ad37cc012036cffe0836d83538388f0db4373205d834550cd23466d70d381cbcd637f7290d35b39f0c35b5a4443813fe3a38cd31ea3798547b37112bb6372a200038ad82d736cf4b03340000000000000000000000000000000000000000000000000000803f000000009bb9453a0a42ab3ce832693fbdc75235b11f4a3825396a3cc35d443f43dede35957c883814d52d3c383c203fb5af9d36d7ad3e38a4bf383c85bcf73e2abc1737a1e5f6375426373ace61b13eba83a43700340b38879de73970b94e3e42d52b385f5ee033d80ef8382b72843dbdc0da370000000000000000000000000000000000000000000000000000000000000000bafc46360ac8a73512a758360d4f8436f2f7bd3422a9f43335321a35ffd49835cbb21c3500000000a56fe53300000000ad5194354ff1cf33a6dda7357d52bc35285ed3378cc19d35fb79be358312c536807b44329dab1b3200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000f7b80138e306803f627c2f368bc33136a78d7a3833e3603f18f8193557c471359fca1f371cec313f29430c356c7a6935969754385444013f3cc40c35c6584a359ea8c438e1c2a23e0eefeb377e3e073600000000baa4063e0be424334047f13241737437725fb33c000000000000000000000000000000000000000000000000cd1bdb35e9ffb535885d083687671b36000000000000000000000000000000001e9f9535d9649f3524e3a4351465da35abc7b036cf8e9136afb2b936743ebc360000000000000000000000000000000026d487368715423667a75b36fd746f3645afa6366d9e9335956464358474613500000000000000000000000000000000520b8d34eb0216348d3499345ce1393491f258352707803fde2f543afd2928360000000067de7f3f4c83bb3700000000ea25b435d986633f523bb5379215a43524b8b637d1653a3f6a0c1038851ec336ef07c136f5500b3f5628e53600000000927097360cf6b83e79b0783673796536a5f02f37694d353e10a29437aa458b350000000008765a3d000000000000000085e11934e7f5d236e5732c34dfeaa434e93a623534276235b225733591f86835000000000000000000000000000000001a9613365db7e2354e0b1836402434364dee7c36dcac553631e87736f6f290360f9ff53652c6df309243fe34f15b6436693f92368ee76636d8cc83363fc3863659a86336d0234f36812b43361cc34d36a02e083649bcce359fd2bb35dbbe163516a9d737ad7cb537a3811b37eed5aa37d9673335f177633f133de73d2916663500000000c47b673f497eaa3d000000004d311636fe9d5e3fa5b1a03a13891e36a33a8b3648b6323fc03cb938ab7977369e07fd36cc68053fdee312382907d536ebe8a1360306b33eafbab137afef873630af7536168c243ef7dd6b37726e59364fec4935439e1b3d972f3e3753649e355d76af34be2d9438544a0138b7a9d734af119f355ea4d63673efae35d5c0b535ca629236dd065b360072653608ee7c36f8c5c236651dad36a1c9a9362900b93668489936b4566636a76b8336fd1276363514b535cb1064320bab3435a3511835bc768f36236a643681c05d3655be72361b0a0736e6cba63525cdc03562d79835fbaa2f356436b03477106e34dd8182349c31b737720b793778f1ac350ae306376d630935a889323fa3419b3e21979735bd166b36505e3a3fb4b6833eca597436d88eb136325f343f09f92a3eb550a236017e9036ddc4193fa4acbc3df9ce9636c5bc8035add0f03e4289f63c1e3b8f357df18836ade6a63eb9865938d21e653616f7ed35dbd3233eb7bc843713cd0136053b4f342e6fe83c1d99923442a88f34cea2b6355d9df4388c1498375525c1351edb2935bbd6803672ab0135f1638935e26625354370243566c01735997f3935b5f4813665fa61369f7417365bc6713660d1053726e9f336699eee36e4040537452bf337876ebc356dd59234f61526373af15c3799070c3747b20137589e0e37c283b036469458363abd3a364ff23d367030bd37776172356a1221352b30363572dcd23683237f35ad9c2c35437489353c19213443c5003fa547ff3ef84bf1345e66fd34ad53093f50f2e23e9286fc349f695636b8c1053fc3e8af3ea41b1236e43e0037af9eee3e1a8f623edd5e00379b95a837dfe6b43e87d8163e52778836f5e7103776848d3eadc81a3dcc8607377624513685dd0a3ef9dd3c387c0751369941273666eda93c86c900384adce734f7972f35281c5738ed9b3e34e4cf3e35e9f576372f6b5637d0219635c7e6983503c75a35139ae4340000000000000000f12be535a883cc3508c5933553d49f3554b5703674a74f36ea913b36d7725f3651aed735ef225235000000001c3b6b34831c8e3685cd863654c78036ad297036e404c0361ad1b1363235ac36117fb036348ca036cbcc89360d795f36dc023a366e0e4135e6e637355c642735b940883467189935db5f9e3e5d1d313f89078d35d1acc0322e2ab23e9c01203f000000004482ed355081ad3eea9d003f00789735d6ad863639a4a33ea755b63ed51f3c36ea4e3d35e74c893e65eb6e3e4f132b3562db9c366b9b553e202ece3de6567e36d48ece3629f6043e4c4ae9381237aa36eb888036f794803ce44acf36afea5e36f8018d35e269f938f6215835ae533e35b7551b383c3c00389639aa3460ad0d35783f1536b139a7350000000076fa0235eb848d36ca916836cb8b9f35b4ff1a36fe34a63688d35c36604c113691e83a36295a6c37faa29635000000000000000037e0b1365ea2973646fa61367b738136d4782a374e7b183673e8e335b4e4fe3500000000000000000000000000000000a8316b35717f9435f7947235b1818c3538507137d849fd3dc372603f28ceac34b21805366317213e85564e3f000000004fe28c362a931b3e9c91303fe0e18b350dabc836f987183e5bd7003ff1d12f36c6887537bbc9083e986eb13e000000004e8aa636b17aff3d1da8373ea5865836b3353137487bd53daeebd53ce4bc1c36000000006f4a673c00000000000000006b8a613509dd7e380c093f35945763351ce0363442277c34d72b2f3465e81d34000000000000000000000000000000003b95a83689adc3353f3a8a359c238135b5348a36ae843d3697099a35d9683236723fa9360000000000000000000000002007fc372f2357370ac0a036c2becd366b274d36e6829735257c283549fb9835000000000000000000000000000000007ed93736c3a510364bffdf3501d61836aa855f34ec54733cde917c3fd439f43300000000a430193dd0e4683f00000000531efe36baaf8e3c9e924e3f49219f3568518936fca2243c7979213f482935364581f5352cb4223be3b5e83e000000004a6be0370031c23a85298b3e0c17bc365dfe373676af8d3ca7bcc43da1e893350000000070e0383a93b7113800000000dcb42b3601a58b37519386350109cc350000000000000000000000000000000000000000000000000000000000000000dcd6a932aaf8c4338f078f34cc9db5334fe54238c990a335c4138c3519e7c7355ac1bc3752f9c535292710359a7bd33562de3935c8911935aaa29534335e3f35af782838848cc8370509ab36b82bd33688b713385562c73783372d37a1ad19370000000000000000000000000000000000000000000000000000803f000000000000000005e0ac3798d27a3f0000000043f510331cf94238efb85e3f6519f13401753b38df53ce389ff92e3fcb1ac035e74a43374adb76385b79fe3e74c2c335fa7b7535b82f303924609d3eadef7e35e97f7137a67ca838707dfa3ddc120838772b053741539438ece4773a16e5ea3700000000000000000000000000000000000000000000000000000000000000008d460a3625f5de351aa9e035378cf035cc871e353413b634c768a9348774a7349f9221373a770a37dbc1073720a60b3731b1c336e645ac36251fa03664ee98365ebd943595830e35d6a0a1337623673404fd13378cadcd361080b8362c36b53686b1d73632d0c636deffbb364a16b43600000000000000000000000000000000000000000000803f0000000000000000883e933737aa783fadd7f6358f44d3351048a93a699e543f0567c534fb49b5340ecf1a3b4a0d2a3fa1f91337c4b809378e44e23a9019ff3e4349ba365fc5a5369b84963aa09da83ec5606335b26497340111cb3a2c461f3e2afcce3642d2c136e4602e390397313d8cf3bf364bc0b73600000000000000000000000000000000f9792437c0ad7d372cfbd836b53ebe362c76163617280f3656950c3677150b36a0e93735682fbd34f9cd2034650d19354c580a37ba4cd736c53cda3663c0e4367476f2365acfb136005fb3361670c0366ad0f53471acbf345d62b734a43ee7342387d93637b7b2360d6ea1365491a3367b8d02379a46e13671dcd836b09de53609cdc936044bac3617baa436425bae3686aba03617c47f3fd35bbb3a23cc23379cf00d3720c27c3f8282c937dab1103610848c382bc05c3f77b479341c078334d21da6383c47333fc7c7fc3660ebd836566bbc38b8e7073f4f21e5362c2ebb3620217138c262bc3eb9b5b834e2d6ad342d587d382818513e7853bf365ff3a4366d5c5c384faf8e3d4df6f0367377db36607efb365a22d337d436b63622e2ae36e48c8b363f84b636bd3d933695e48636e47e1f362b46113697c909360c9704363e128b36586747364ee74c369eaa3e36e98acf36f759a636fedda436bec99336a52e913644785536a6a06536f9046936a43bbe36bca18c36c10d7236c5c075361c41f33602decc36c55dc836496abb36b8c11936d811c935a885b835ba89ef35a1a82832000000000000000063a82b341a021b361c285a3f0e14183e959a953607f7ed3546d9743f6d672e3d7adf2736371d1537dd13603f689a6237724180361c787a3798a8333f03d20737f309b936487cb936e96e073f4ef09336a84b7036fac05137cafabb3ee4ddaf36a43d9b364db2033729de403e754deb36b892d53610442538ede18f3dd74ddb350825ba35146ca235b7c8103800000000000000008aa31834eec6c234000000006bd28a31c2567635ad573d353bdc5b3504f6593580bfcb3667a8b33606bda636a37c9c36d01bc43601cf9b36e4449736080a8836282db436ec8497367caf9a3604008e36002d80364e552336639c033606b52f368bea9736adbe6736ed3e393625b143361355d936ed72be36f43daf36fb4db1361a3527375ab01537f2fc083737c61737f17c5f32b0982e3fea25a33e00000000856f5e35625d473fd3d9613e00a57d3505afc336a5ae443fa6b38e3d66c9bc3690c027374ac6303f8092e53705d2a2363cfc1e373c35063f710ed836a558a936f8fa1a37c0c4b33eafd06436a1472436e7aa8137ed85393e64107a369c6c52368fa77d3785073c3dda93c1368abcb236fed83637b8ee6b372c800f37c5ce0d37023cb338856db33840060037e8940537c0583f36615c28366cd3c435ce94c535bb07b7360e019b36ea447e36b0177136dd17d837d3d88336db7b6936ba727a361c356638c5869337ddbe9b3617d09836563c0b38858f85368b1d8136248091362432c23690b4983609518b36afeda136b7a1e23675721436031304366a1a2836f45d3b38a6eb0c3736d90737b2cf1137e5808a37664f023f7aa6fb3e701000378435d6353210193f44cec43e20ece235236ea236c102173f381c7d3e9fd39736c6f6383805620d3f3c3cde3d0f467436bf06b138c79fe33e9190633d8457a037c2eabc381c46ae3ea6dc9538a5cf9a3643a5603820ef273ec074503796018a3643097838ce64973c99c63036ae03ec352614ca38627a0839c60f0e3707740b374ceb2d373ac73137be4d0437824003374059c736803db736ab2d7836b0dc2d36d0568336fc7544361db6aa35eb139b359d2c90369e526c36981519366b23ba359489bc360edaa43611939d36c27a8336ad7fd4367d21b236f8c699360e758f36ad7de93680d7d536a28dc8364f43b3369a12a53588e04b35749978356b97ab3500000000ed028033000000003fce41359b46173735b9ab3e614c2a3f1fdf0737180eb936b47fd13e2da00b3f3b1a9636bb0c71363878d83e6a32cb3e437d1a361cd36236446ec83e3650843e0f194d36c505c236329db53ee750fa3d19b4b5363b75523798de9d3e075ed93a2ffbc136910ced361dce263e0b950037d3e2d6364d27b33594a3a53a7d9d80356b238535783718341aeaff3400000000000000004190d534bf85ee330000000000000000f3120636ea12c83563311035228e2135f9d1e53633d2bf360f455c36b91430365990cb361ac9ab3627cc57360e0824363930a1360a0995365baf63365941313640d60b374744d436f870ac3675c6a63681320a37b7eea436c1e58a3628b48136834e58362ce12436729cdb3574fcf5355ee86936c6231a36c7dfde352ce20a36000000008423253eedd7563f00000000e5b40e36ed6c623e3693353fa8574435799eeb36d4ae743e81c5123f83809836a544bd36a76c733efcc9ca3eff8c82362ddca236ad9b533ea3d7873e9f6992367d191f37e2093c3e7287eb3d4770cf36b4cb4c375f8dff3d0b71fb376b419436a8fd81376c53bd3a32fd4036a7fe0636cb13a43648bd9836d9570236c258e735475cc7360138a136d8de1b36ef4dfe35981e2e37ae61cd3601a92636bc660c3623c6cb367e74b5362edc523612a23b362bb21735ee7c1135b255c934c720de34274e1f3844f4fa3604baa43611eb983603bfd537559c0c37b23ffb36e7bef03608bfec37799659373c9d0835155c0935349d8a370dac21360e1f153637ff1536976dd736d4878836087f8036dc7e81364be7c136ad463c3da36d743f86653536535efc36ea4ec33d5fd8553fa22185363051d236f9d8b13d24bb353f03039d36596ad534ed7aaf3d871f0c3fcaa8c03408f58c3753a39d3d4232c93eefe9d9362a950c377046623d7d9d7b3eaeb90f37a9eb13379187533dc3f7b13dcc93f2340f41d337f4d8533c4db17d387055173652f42b38e5cb3238a3d69136dbe7803600000000000000000000000000000000ce4c0c37c17ccb3662b381364da53b36e0b99537c9f6c43626578a36b1b06a36567711371bea4e351a447d335b49913311a686372305ca3665a89a3624298736642d0d389a6a24377a3c1337200a0737ccda2135cdb21735f16d0d35cf19bf3428a52c36356c1e3673260d366e030b360000000000000000000000000000000000000000000000000000803f0000000082851b37320e4c3c73e0713ff4d8a9362010b1372f9a093d8c744f3f1509b1362ef47c3772b39f3c3bab263f9afde8341472c936996e723c23eef83e88efb336f7ce3e37bad93a3ced7aa53e08c02237ec990f35234c903a057d2c3e1e2b043576f91e36db6e653a95d3e63ca71215360000000000000000000000000000000000000000000000000000000000000000422dbc346b28ae33e7f97e33cce2713343335c3766db03369e2dd335dbf3ac355355ea358418ab35b72884359e35383558af9936a6ac79358d3e4935d93d3f35ff7c0d360243f5351d87d535145ccb35b0538435bfe13835341cdf347db8be34f51d50384f1084363e6380365e927d3600000000000000000000000000000000000000000000803f000000000000000092fdc03cfc45693f18af7b34ee9283333f02223dc78e433f59771a368722f935d009e83c0336203f7473d235b4a1a835c063be3c347ef53eb73eb135d4c27535b8cd9f3b098aae3edd2307360167ef35b858353b564f413eb1576235bec923354c043a3ae9f8763d9fae0a38f0b88136000000000000000000000000000000005ae91c38838807386d71703622115c36d616d3362015be36f744aa367f5b9a369cd0703629493c3615331436831fef35466215368a33a735ac632835d0da0f347c60db362451c136e133a636373393365a057336ed794b36758f333640562936f0b82436dda6fc35a0e8cc350173a735c4bf2f3800d0eb3655cfdf36f4d9d83650562738db2b7336c44661369d2356360fad3b364e19773fde400f3d961ab037676bd238a38a7a3fe2add53648aab636251c943c11d0523fd9e05f361da630367a49f63ac24f293f18abf73557858f35433a5e3b3cb9023f1b3fd736d078b6369295bb3a27dbb83ee87b5b36b2e44536a6743d3af837623eb1df123607f1eb354ec2a63988ccc53d57e3ea3748dbe636aecc103ac89e763c7cce713770016b3663322638543946387b710c365d31ef35994e1a3673110736f476e035c6668c35e5864437c3936035595cc834d3eabe34c1252e35e31c8d33a20b7d3394846833a5537e36ed29be3583da8e35d0f737359058b1356ecf4a35bed7013546692535be07ff36a3533a36afdf23363cf81a36e567633657265536eaa547361f333e363bf95c38700d7337fab95836860c3a368cecd135f0b34e3f4c4e453ee035f6375ed70a364071713fc434653d243d04368e9f6438614f533f839e04388ea2383582f8153a0117303f082a1735ad6d8833d3d96d395209053fbd270f366261a7358ef55a3990d6bc3e09538835a4f31d3508d75c393ef45a3e91e64f360988333656ce2c39b5c9b53dfb1f6336d2854e36e9d1b538ab8cc53bd7a224381d6b73360fa2263881c9053873730e35e2a21035bd8f1b383c38a53602fe0135eb1e4c3390ae4236076e28369a860b362311f0352563b835d7578c3541845f35530d23354bf4ae35879a573595380135b355aa34c56cd035be78963598b55935915e5a35f3e10936703fdd35ff4db535f98fb735972e5e366a9b4b364fc3423663c1433668e25c369ea84c365b2e40363bdb4736820ada348137293f4496ad3eb79490353f5c7c37f437463fc52e563e0466733562dc4436fcd53b3f6587ac3d931725365c8e0f38aecc243ffc97a83c655894354aa67638f479033f89d3cc35b9e84435603e303930feb83ee310bf35bd48883546838a385450573e006dfb358bcfcf35b175323a50977b3d39c059363375473658d54a38ba79283853724e3664b742360065c2382de3763869114836f9721d36a2575b383f010637a689ec364cb9d236a61b7837d96d803656881a3614a7033617878238f6e5413604322236b23ffd35e4e780384e7a3937442fbd366e148436ba080738c8e1443690ea3036af9d2736b5ab99362d9054360a733336c848213642e8a937592506370742fa36683af03667439837ef7b4e36570439362b842c3623149337add9043fe645f63eddd89036baf5c23790bf1b3f223fb43eca78ff36a185f536c79f123f6d8d6a3e001a5836b608d6380f7d083f7147f93d5c3d3a36a8b6083a9c9ecf3ed649c13d7c94fe36b3b82a39e0e9b03e96a64838f32a4336e3d65739c8484b3ef59f91369e9b41366771133990c5233d5c1b0f37b6ae0137ea5499392408bf38637d513611134136a80efe3747105636a1442f360d9b0336d3822437bb9e363684e5f7351a16803525aff23634bbd535adde413506c9d2345a386b37a974a235058d38350bd5a534f43d2c3645598a35277fdf3400000000e708fa36fabb9b35f0fb7435663474354fef3c36ee371636ae25fa359e0edb352eaf7637999063356a310c35f2f56b34a597d234ddf7d034539bc234174bb3348d296036786dbd3e285c213f21a9473607386736b8cbdc3ed6e6013f9a871f3610c41536b9c9db3e02bcb83e2f93a23591ab2637d7c6cb3e8724773e077e983548e410372f6cb53e200c083e9f4c71359d8f0f385876943eb3b73b3d84f488358a711039a0023b3ea5e83f36632316369fd5d63841638a3c6395a635c5353535591c3039f2061438f9b0d834d877c634fb859538e881de378a33fb34ac6dbf344c889137460b3436f33ddd35eaa955357d714438a9424636c86c083644f9af35759c71373597a0350d4e1535c6e2d333c5e59b380fd51736992be03553719b35cc4d103839759135c7be4c3570b00a351ffe1938c97be135860db8357b47ab350a7f0e361841da3533dfa93531509535d0acd035c8099335a7cc4535922b1a35d2778238a010573ed39f483fd024563686f4ba363b5a883e4742253fd18f1936f2de3338d7a6883e3c06053f5d65313685f7c0358843873ea214bc3efad28c3592874738992a6b3ea0ae803e7f6a0e36c005bd372daf4b3e6f2fe83dfa839435a9bd4e384669163e6fcbe23cf8f7df356d9a8739e5599e3a37620b367c28c7353ab28538aeeb7737fd6aa935741f68351a7c8b38da131c37e22ba1355aedc034009f513831a2d03606ada1368c4b7936a6f68b38554a0536226e7a35162e60346460b23725a05a36670c25366639ee3566fe89387aced236f80db13616869636e5d94838a0081a36c340e83539b4b835484e8b38f281dd370953783654b86636631b2238487cdf3697f1d0361296c6369b743e36b4b817365c4ef435f689d1357ba37338a1b0813d6ddb6b3f96a0e335e3ce83388de3df3d6c514b3f66e2be363c646338350e103ec45c233fcfa8d4353e43833696f90b3e6769003fc0924936fc7a3638bbc9f63dc890bb3e1942c836634f5137f480b73d648d7d3e6db10e360039fa378c6c493d4c03e13d95b4843650d31138bc7eaf3c76919f381dffdc36b30a6c382248a437aee42636251800360000000000000000000000000000000066329338124d3836cf15f035c59a933533e2a436fe9ca934f4033934693f0b34db180b38c935f335381ba5357d6d5b35708c4d38776bad36a68f27352bc29b3424f31438c541f335e4b1cb351371c335cb11ac38128c7738b62d3336f0942736f1ad313893938d3604de6635464666350000000000000000000000000000000000000000000000000000803f0000000070eb9b388fd74e3de088633fb5032036fa898135e49a753d5ebd3f3f59246234a1361936349a2d3d54ca1c3f699dd33501e5a437062d0b3d80b8ed3e38718b35352d3837d681973ca612a83e3979e535f434293859b2863bed19453ef9772538056e0a35587b8a3ba6d97c3dc809af350000000000000000000000000000000000000000000000000000000000000000c5213435f6b8c2341744df34acb4ed3413af1d36a951ef35ed1c1b3672e90d36ae620f35c4c1aa342b49b6344005a4345692a135ef09cc346730f5344d80253588acc83534888235692ba03532e68235dc3afd3405257e3491b7823481516f34f6e83c3557c210342a5e8134a819cc3400000000000000000000000000000000000000000000803f0000000000000000370b0935b1917a3f89b64435752d0f356b091d36193b5a3f34030a360f2a0036efa164364b58313fd58dbc34e169bd34ce388a38a880003ffb525f35c03a103539e7e6372332a43ef1259535f9811e358f75033510a4233e417ca637e3a78034bc591c352669153dc52e183618107a34000000000000000000000000000000006e237b3572dd5b3512854935956cce34a6ff983456c8b0341932c134ead78634a56339355e231e35e18027356ade253512ac94358c8a7135f0477e3531875c3558d6f234fcdcc034bb3ffb34366acc34c4899d35313a8d350f689835af6f923596768635636f5e35449b703545c94e3516bb8f34e1e5d83309e648346b5f313413d6ea34ead6123564d91d3572e52a35ab6304353c6c793fe01a153d5cbf6d3567ab4234d18e7f3fc8add5390c7174342124573521a55d3f1484c637844c2435d2df7d35a822343f59b0e4370df186357c5510353afd0b3f04b3cd34792ec23435efb5353d33bb3e8994e1370a4889356dd66036e2933e3e39135838b1f34a3733d5af34a7f8873d4bca4737d1bf0934349ad934c912ca35879ca134d74a0b358b062334819091340441b4342bef8534444db4343c60e534a1dffe34a700a1343465b034f9c09534d971943475b69b3435dd14356cb10935daf1fc341a10d8348c0443342d76cd335cdfb833ba4d8533da2507341f104733ba5f5c33a69207338e4917361e660e369759e736a921f73517f8c532c16e463338ac2f33e76dde327610f632000000000000000000000000c39eac32d34b5a3f984f213e40102d34a1cf0134469c633f134ff13d708ad236ee61d23459395c3fc295a23bb9e58c37c63be034f145333f5e286b388420a035861cff347a12073f4a330638ef35453390d933343ac9b53e1c153f38e7e06533f40512363884323e7deeae39a12c57376bce9c324623173de1fc0b384fdf6a32d3f18d33d488a03661171636eb1c6d3200000000000000008e048231000000000a28fe3246c2eb328fca0a335ce00933ce330d36ed80063644fff3358816d035316ab633c964a63394dae3334ddbd4333c6ea63348f45033303ec733a59961336a32d4341b968a340dada63460e270346a2be334c6b592345354a034507da1340bffc3340145cc33ba862034b5fe3234a8eb2034ca401134bfc2d0334f4faa3300000000f1a42d3f34a8aa3e6aa9db31f22722336022383ff220943ebc0a0f338007e93572b6353f6621243e0e85fc356ad7af33f8ad213f8f498c3df99be133d35aad339678013f8bf3033c72149733a17d1135ce1cab3e2757853b6a516e341732e53488dd273e5bbc0b3bbacd9c34d6c2e9348534ad3cb65fe137eedc0d34a5352434580f4d348d108533b305ce33a99c42351b900935b9609034a5bd85348a3e0434b8097234c5865e34c598013426166e352eaf55352fdb2a3592613b35b25fbc35eb639b359de68a352f137c35abbe8c3441189c346f15af3489f88c3445d2aa35da879735b63b8035f6e58f358cb17a3574db533522f050350d163435409b5335c1ff423484428534237a9b3489f0e034d40a1235221708350ea924351deb18354e6af33e8186093f60f895343d044f335b48093febf4ef3e18749d339fef6b35dcf6093fb257aa3eb20c2b357b8e9b35c7f4fe3ee613493efc2f9635ef0281349ad6d53e2f46b83df8dd7b349293af354146983ebf61cd3c5b247e3587d148356b43113e789c423b71d65c35434a3335739b0b3c4728703447025e340044c934663d19353badf2340591f134533cf733e26a4f34038a7d34929d3334b9b0bd34d867a83467eb953474a41d34aec6c5347ad598340f278d347a9d9434ab26ac3474bb92340d588d3430bf56346cdc7f34000000000000000000000000e261e93375d661332ff94e33f1ee123370b2253614470f364198d735530bcf3561db073383d94833f0784433d8e7283300000000000000000000000000000000eea8853283bb8f3e4ba33a3f0c0cb533d3d70534c8c9b43eb8a2223fa796e63397a8d1342677b23e2cbaff3e5bfa9e34c1176934f341a93ee3d4af3ed98422346053a03439109c3eecf9493e0000000048850334764c803eafa5873d391e4e337127123601890e3e88b5ed3a2c78c435698cb03269c04d3b8fa2143847d20233c5a5c13221cc2f310000000000000000756c7d32aa0fc632019d1333ce91e4328210ab32433b9a32ef9d00337b7b0133aa43273696a00736174eaf35f3aa88350d6cba3317b7b833293e0234ff9307342d4484333d5a52335c767b33e1d59233a5704735b949143577970d351f22f634ca23c13428511c37198f5d3779de8a36567ba3342dc11a3425554c347ce1303484482534c2a12a343cd4fa339b17c9332093ae322356ef3de969643f70db0533acbc323386ec2b3e6b564e3f34b60e33d42f2237cf282b3e202f2b3fa58eb835de66cd33f0ce253eb249ff3eaeba183447f1be338eb81d3e57b0aa3e2aeb8a3328c13e3588ec163ec8a3283e03c9dd3437745437c737ed3d4da1fd3c477b6e37065c06368d48533b44d3ca37e7c63034fba856349f25783492fe3f3336bce133ebe61835f1a1de34cf777934bba75034dc2a7234cf394d3492ad83330000000004fd8335c92e4d35ca760e358d792c35b7faa835b7498c35e0fe6535d24450355547f4349b81fa34f37dd834e21c90347a8f8c3581216235f5e131356eb45035aab34a35b00f333569dc2135cdb308353fc1a3348938a9347b3fc834d152b9345837163597b5573525cb5735ea26923540010f355941ba3c0aec7b3f6ce89234478e9733437e493df960643fc7919133422159370fb6ef3c15464b3f5f632335df099a35b5bcb43c72561f3fb16e7a35d78cae34d6c6af3c874ee33e94faae3421d69335269bc03c5498913e31523c35a0562035abc5bd3c7bddf73d1bcd223536419d349567be3b856a413ac0f8a4344d06803408bb293520f02e359c6a4635000000000000000000000000000000007d6c1635afe7923400000000000000008529b7342f827734d966623418148c34f6fac03511d5523577d717351497043524e58f35320e463515dcbd34b93f773447e5e43496edac34ba43a634cee8ba345d755236dcd3283604e113360ab7123606d7483536be273586d106354f9bd7330000000000000000000000000000000000000000000000000000803f000000006435eb34fd8ad33682c0783f441b683430c9ee34d980c539ca75593f38279e34d86253353b64aa39f89b303f61b01735b2f8b3357061cb394f5a023f5ee2f134ad1717354b33a6381e77a43e7399c634699827367cb443383a2f213e0023033607ec9135c74d8939a1b7fb3c053dcd3400000000000000000000000000000000000000000000000000000000000000000c0dc834559da134d84bb93408f9b5349c23fc33fc4abc330ffe093404bdd73372b64d349c88533474c286341e579f34de012235c1b1023541f11e35384d24357d6683355f612935cc9b3a356d045335b321c334bd52b43455b1c6346656df34b6c2c63463c39b344b60d6348a36d93400000000000000000000000000000000000000000000803f0000000000000000fd38be3ae4a6763fbdc38434bf4ca634ebe3983c76cd4a3f987a3434fe062d347578da3c9c101d3f49bfb8336cf55933f606433da0ede13e01cbc434e6b5f634c7713f3d0041903ed6e164353aee11354879a83bd8dc173ea86b82347a5b48347faa9f3ab488f63cea096b343fefa4340000000000000000000000000000000047358733c2118733f5856733e0f26c3326233e35f40525353a871e35593131350fd5d2344b8cbe3429ebbd3400e3c034280d6c344e268534e77775348c7098349e86af3557409c356d4fb135b32ba5359da49634a7fe933462d4a034ec96ac349dc622357d322535adf61835fc101d35cf5abb3469859e348999f334a058df34488d183389f2e332f5f61c3365063133c0c87a33a79e7e3f54d31e3c4e197f330ef22e35e70e7b3f73663435b7732b35a0f9dc3744ee543f2be5d8341d16c434d6f4cd38aeee243f93918b34345a973411c12c396abbf23e3d5baf35e101cc3518eebd3a5577a43e7f769434f3659934feba6038f498363e892c2035781e21350b311c38dffa593d6be7cc34e8470a355633973731d674374352fd326cee12330c9b83357679003742c480354dc98335000000000000000000000000000000000f094233c6494033441a3833b27d5933cf7782341d281e34335df7326a1bfa32a72b64336b8e4c33109542331db08b330000000000000000000000000000000037484833348537339dcf2a3351f167332445ed34129bf5331b70e73354151d34fff88b34ba2e6734060f4e34329d1c34e00614341e59563f776f2e3ee0d4803500000000120a763feb162f3d0000000003f3f932f7995e3f5f254a331c6d48339dd5f23473212a3f92e7c7347b8a1734901ed9354938f53e7b6be832a4661e33618f7a3902139f3e00000000000000008fdaa2379902223e40aa063395611d33ef6fba357533503d8cc5b333aec6d33341e7713464780839b2b87c345aa2653488b78034b76984349b2527346acdbf33d8b49b34f2d3d8332ce3d033e140f73381213b337f71363367ca3233ae3c553355040433dcb7f232be75e33235f91933000000000000000000000000d281263202389335882d2e35d038223593d246354b0a9133e37e8533dfbc7f33514cad33000000000000000000000000000000003f87533532714e3564a983356c33aa3576368f33935f2b3fa162ad3e657aab33ccc7743312454c3f0ffc553e73bbe1334122cd324860583f6384be3c58467b33d206093395d12f3f57e3b4321e72d132fc818432d314003f0000000000000000787627371bac983e30ef9d359f7251351c6f1b360a5d133e68425633bf4b6933cabad3362fd6953c00000000000000001bfda13515270a37a32e1c35b48e4235b61d2532302110321b12ae312f37cc316419863470d55a34f339243435f53f3411af8134fe6089349b4482344e0a7d3492dc6834a7507934cb276b34f71e8834aaf48f35689f8a35dbcf9b357d53853525d27134590981346c1d8034be04ae34361d9534d379b134c0a69a34a33a8e34983e66349ce16734f77b77344ec27034c530aa319e881e31f44c0f32141a2b32c232973169e7fa3ea428043ff286123252e069348abd233f1d45bb3eaabe61348bf07434b7b72f3fa0e8513e7c5d8734da2d4734b94d273fddff173d6a738234aaacaf352bdb003fe5de9b385859c3358d178734672aa23e91a280345e2b7a34b70379372084ec3d3ab2ab34dd85ad340cbc4537c481c83acc02843456d88634ccdb1432e4eeb63117732e317a4b04323ca5a9353132a935a8d9793585aa8135000000000000000000000000000000006bda8f332b4e8c337cf581335e52993387ecad3521988d354b975d3584d93b353fd2a030000000000000000000000000875d0233cda6fe323f11f63221191333b4d54033bbfb2b33592c153358045133cbf4e6338e29cf339001b433d24ffb33b227b3331ea91433cc1eb33250bc5b325d4f04356222a23e2eb8303f9e8a7835000000002276ed3e1e5d063f00000000751d3a335583033f58d7b33e2e898f3394e68135d0a1fe3efc475b3eeb3e8b3500000000b758e83eeb49603df4248c31085ba932e90ba43e10ca4d3ac4bb043349b30e34bb340d3ee34df23258de0a33322277352c23233ab42891332be4a63338224b34b0b41c34607a9b3376981133c29c9d34ab577d346e704234443f4434e62c8c355e68fa3450f7ea33483108341c78433391b63f33f5ca3233152e513300000000000000000000000000000000b8595f33139662335c66583321276f33a2d50835b45ec9323fb4c132c547e832a43c4133a4513133da4d2a33528b6733000000000000000000000000000000006408133585f00a35f7863235dbca84356c958d345fad173eea325b3fb37229348088de33b750893e8ef82f3fa61c1b34bd9cf3324a3ea93e63df043f789b4533000000007c3bb33efeaab13e00000000e804c8324e0fa43ee82f563e6a667e338c1552351259883e18f19d3d02b1813409284c333ce40b3edde72f3827f41a33000000004a4dab390000000000000000eef1d736b6760c354248a1347fa6c734c89b2533511c2233c864e6321f10d33233360836c124f7349dd6a334937e733407813135a8092635772b02354270e9347b51fa367c9b85343cca66348b706e340966b8358878a635e030a435a90882355c672937c0ee9e3425189d3484f9893465eabc34048ebd347c92a8347386a634c88d25359dfb163573aa0835e164043573197633f34346335ef94733a5e15b33c85112330b57473d5601753f336f19332f7a0135cb49113e563d4f3f50510f35d3ad39356367263e045e2a3fbbf4273528fd8334fd904e3ed345f73eabe78e346f53b23569a34a3e2033ac3eef46d6355fb3a534b520303e7757433e2608b23434accf342207b03d6542b43d1902c134635433350786c13ced152b35210018353a317e332f1280330c0c5e33a6ca453300000000000000000000000000000000f7dada34675e9834f4874534ab75413451afb834ef09ac34dd027c3402792a346886dc3636b2723506144a35c7ec2a35a3d589375c30e4342e6da7348fc99b341fc5d536636d35348676c3336068873389304634d2d2203449b20334099fc233d3cd8e361de6c036358c5934a25124340000000000000000000000000000000000000000000000000000803f000000006b66bb346025363d6a256e3f1012aa34ef7aaa34c66a863dae5d493ff117b6341d6e8f35d010793d3aa61e3f1acd8a35728d0d35fb3da53ddfeae03ef66def3487e34c3437359e3d693d953e1a8fe0337e0f02341506f83cc454293ea6ff8f34e9a78d34959bf33ce99e3a3cc2a785340000000000000000000000000000000000000000000000000000000000000000584a26347a802c34f36b23340d511c3400000000000000000000000000000000b11cdd3514679435e02e8d35e28793350d7cce346a4b993411d69b34a399e534791d74352b867b34f67b86344eb68f3470b78735eb3a3935e6452235af3f1d3594427e34146b1d340afc7734ac8bc73400000000000000000000000000000000000000000000803f0000000000000000585a6b3dd322633feb533534c8942d34463de63d6717353f0000000000000000379f093e9f7cfe3e32f3a935f5c8893579051e3e3c65a43e1957c034fb079034f25e073e664b473e091ae03472768a344f228a3d27e8e43d32eb5e35bd612035d5e51d3d2a7e873caec1363465321a3400000000000000000000000000000000c97ecf37be20a337fdc99434088bed345623a534f7739a341bab8534ac9f8934000000000000000000000000000000000c2bdc35f26be934b5e881348e002e34f92eb5344299b3348d0e9e349bf09b3483a6203375f8223382d02c338cef373326f5033593b91b346386093193ff1231d11b843597953034442d3a348a603f346e125b362cc67135905e373580ff5435ac4a5030b991783f51bf013d1bc12934f7486238eaa9783fe8309134c3735734ab228b3d861f433f0000000000000000f45dec3dc160033f2dd1b3355df96334bfcce53dd3d4a63e867aaf34a4ae913472d5e53d3e9c3b3ea15823332aeb3233f861783ddc91c53dca8dbc3410c70d31027e2b3de667663db6812d34ccca2134607e453b1045a43868c78b3538426235dccf00387b6ef73ba2718736c52ef1359eedfb374480c135824f7534e35c1e33ecafaa34e6ea7f34f4e08234b932733468cc1c35baef0f35188121350d9f473579a31a317b731b315db62b31fc6f453124925d359ff19434a4068c34e0876f34fd7b7c33523d69331db55f3369e36633860b383373680a33490b1e33c02924336f8f3b362d9c4535a96244352c82373500000000fc9f503f1a572a3e4de837379f351633a9177c3f448afb3a4d9540352ea29137fc125c3fff74a0349d4794349e7c583d3208173fbedb10357fbb2d35d9e2b63df273bb3e89ad293159a228318599af3d40cb403e71db19357e34a6349878423d98e99b3d9e797533747064336e68383d200f083da557eb329ede15330d8fa53c9f23f138f96a5a356c6c4835151ead3826edaa37d3771f3502181935ece2ee37c97f1636f4234534db863034737845360000000000000000000000005dc9bc3520d85235b8ba4a35824e483579688d33bb429233c4d813330eafd9324df1273550aa2935c9832b35627c303540188a34b3ff8734a4d48434d2328a3433bc56341ee3a83331f7e63355e20134000000000000000000000000000000009eb61135536b293f894aaf3eb8cd403506543434e451503f004d233e1e695a340000000089536b3f1ec9b2380000000069f04736bfc62c3f4fbfb335bdb056356cc2193d93ffd93e57cdb2339c028a334627a53d7365443e64472b35b2b335357486693db78c323d3f6d9034a9ec8e34b2b00d3d65c66538322370337bd4c133fb2f513ba98f0f3800000000000000004ffe36380ddc7037554b8c339469433403788a384b8edb36d4f9083459060c348f18083850ba9235288d4d355fde1335a6c0a337da1b9435fe6a07359794e534c73985377ba79334c4ad84349af7863446ae74358dc51b350b15c934b70851347bae4235ead016341b441b3393b401312e079c344bf6f833880db333d6edaf33c33cc93400000000000000000000000052b91035681d013f037ff83e6355b435432eeb3467072f3fc49a973e9df0a434744e693522e14b3fc55fea3d7db6a03583598c352af13a3f6872de3883b62c358b5a9238919e003f4562d2371f526834979dbe3cc628803e96238635793f193590407e3d4767033dd4f329354bfcda330279cd3cebc4a838d2fee5333a949033a821893c017ba63700000000000000005c245838651a9e373044293440a9a7331292693890e60536d3aede332487b033aa4d643856c00135245d7334938c9d3346ad5a38896c54368c05ef34f6ee0c35d93c1d386327e93649fc85314e324f31576a1036e2b60936cbdbde3571278c3500000000000000000000000000000000545831348056f533755fe3337abdd433bc12103512f8e7341575cf343347ad3400000000b6f3b73e8851243fcddd1c363a357234a2a7073ff81ce23e07c7e8342b37853461e3273fdd517f3ef4d1c13458630e35d1251f3f012be53df30e0635e97d9f33f570073fabea4a3c8d8dd3328583df35f3f9a83ec0204636a93f06369c96263c5cb1973d0000000000000000f7b8013d7a830e3716a31b34910c1034e5f2d23a049769378e2f0835c871f63484364138903ad936c57424354547fc34e57d16388eaea633983e0f33dd14e9326773fa37141c7c33e1f62b332daae2323f7fd837bdef613508cbd9340491cc345e81e23745e8ac323c92a430eb062c30d348ba376ea581351a534d350f644c35d5075236c6b7d6345453d634d0a1d03491c3063347781a335b58ae322ac14d320000000000000000000000000000000031cd253646413d3e927e4c3f4a354f357bd168339f7eaa3e4916183fd6267d3394f776331420ef3e200cd53ede296633111a44357183fd3e313d733eeeff05351d4e9031c3e9dd3e15afef3d41328e3141e5c235e443a83e2bd9093da5c85c35ad9bfe3462a1143ed8ae6935f03ae03449e88a3cec61813789b51833b32e0233151d7b3cdd2400350000000000000000ad23a438259dd9360000000000000000ec3a80387f378b358c2db13200000000be259e387aecff34329cd133ffd7483188a12e3881fa85368c55d932a1720233b9687a38be90d5341e106d341e4e6034129a9638e804f836c4afee3546b6cf35f14f2738a7af8e3500000000000000004a9a4a37b6237e347dc534340c76313450606133000000000000000000000000a6328a369c71b23d3e2c6a3f60b41635216beb35f803253ee8ce3e3ff12f8e34b76c3835c4349a3ec45e0c3fda97ff34f678a1347263b63eb3f1b53e080af9323c060b35dcc9b13e683c633e794d613479de343630968b3e72fcd63dcc3f123600000000ad98fe3dc078513d05bfc034bd4f82351913033db5cf3935d5f61434cf76a33a56ed9134000000000000000000000000000000000000000000000000dbe71839cf22ab34180f2334dbfdba335a1205381693a835a71b8335360683352dafa938c2750d3799813034db4449348377bf3801fca736e2788c34ee14bc338031a93876ec68371cd80236eeeee435423541381ff0e73629ff8635c8d7af34cceb0339568754386c7ee0333261ca330000000000000000000000000000000000000000000000000000803f0000000088300c368ca2b93dc1ed5b3f5f38a2346e6587356800f43da307353fc983a3358108bd350a093a3ee0bbfe3e5e45ca35c6f3223573f7433e9237ae3e025ce034ac44db3554cb2d3e8fd8523e8756183644cbd634a7777d3dfb0fff3dd7ea1c36acb9213442dd313d75b1863c08e1fc330000000000000000000000000000000000000000000000000000000000000000447f3d378601fe3562262336dfaf7f36ef491a376bc08e35675d3d366511c0369be603373f80a8369ff3b8362bb1da36b8038d37bbd73a36871c51367cdb4937a383c3379a1328378ff186378ebab737673b67372c7c2337b029413779736137f1fb5e37fadb643544e12836190a313700000000000000000000000000000000000000000000803f00000000000000005c72e2370cf37f3fbafc8a37e90bc2366a460138fbe3573f6d6e75377954d13620322538f0552d3f6f7135375aa3e73660702b3a9f5e013f77d0bd375d63ed362a7a2238f17eab3e9aacc637cd6ba93777482438de452d3e332d4d374ced52373778da378005ed39325ec436343aa53600000000000000000000000000000000021d3b374c567636a19f783642e4bb3697ded236faec0036f9680b3603027e36ea796336a12950364e6f5a36f2815d36b40a5837be8d7036922ec73617293237d7f00938f2c069364915553767b3fa3731275d37fe381436a0737636eb9a4537fb08da37f6b4ba36d97811379e4cb437c8d2003887d78d37ae7d8d37c68ae937714483376bd76037b3586f3773498a3793856a36f4f77f3fadc61438fd13f33610f16f36fff27f3f8420e837ce608a368534e5360794573fd9dd153890816036441bec37107e2e3f19f64538821d3737ceb0d4388776013fff7cfb393d4def37a26b7e377fa0ad3ef98da137564a1b377f42f737c2d6333ed558093883019337f1c4e73769947b3c4937023867f6a43711964837a1e2bb3760223e376560403742d40238b1896a37aa499e36b18ce93654e2763501c82735254529351bc32e35fe955a3689572934eedd2734167f2534d63fb33750d8b0343dff6435134b5237388993370000000000000000dac57436951496371b93223652e0b736eec36f374d47a9370ce9e736b3480137c0e963372045d237ecdb3f37f17a21371fbeaf37a2c9913774b972373fa36f37474a91371aec5036126c573f0c05223ec00e0c37c3f92d352b78583f8eed1d3e70b82c35d2bc61345e95343fae8b0f3e8e2b2a34c9a49e3748f3163fa6bfbb3d48db4237c6db9237604ede3ec043813da84e42358c3e753718c99b3e8aa50f3cf16e22375ae56637811f2b3e0f1a19380c2c0d37b2b08937dc4b543cd5c9d737abbf1637d3f66337c035f3370d005837acf82d374bbefc37c8bea637b2db1137d93362376e78b8373b66a836ad459436723db036120157371928de353d87e1359e8f8c367f759437f064ad36fc99a036b1bde33690f39339219978351cf44e358ded8c374fcf4b38e6fac5368519ad3654e305389c4cb33712af0a37dabcee3643df91373dfff137f1ff303725b30d374648b53773a13138e104fa37c849f137870f2c38510dae36f9612c3f1c18a73ea96b1a37106db736e0392e3f6b68a33eda58a03632a3b2368c48163f6f9b883e22cc3f3685b42737bc2df43ebf754f3ee220cb36572010384ff8b63e62d5113e93aefc3662672238d61f7b3e154f9a3d2c3ab037c42070379a0f093eb218353c01592e3799de60376dbd363ce41c12385e67b136a70b0738f3258438dac10538a106c3372ef2983706006537aea293367e5b0e376feff0379c494337612544363572a136ec57d637dddb9936ae6573366cd4bf36ea3854379cc13c36d39d373606dc3c36e2f6473882f127376ed7be36dff59c3719a09f37b8b83e36b4483f36112940366ddb1838926a7d37946e4237b372c437aeeb2738c202e037b737b43778c303389b138c373dd374377ec56537bb7d88376e30c9360438013f7b79fd3ed2cf8f36023e50376bdd053f29f8f33e5fa345369ffe55375470e13ef7b7cf3efa517936655786363478b83e45a1a33ef8eb3936a6f72338cb0c883ee5c26f3e39245c374c6bdd36b17a3a3e693c0d3ed52a3f361d6cc9370766c43d655e6d3d0867513715fbf337b184a73970fd5e38b54c993726f4783766b10138c2c069376d521837d8a53938604f00385cbf4e370c008137b5516b37fe8a693556375635cc606535f4488637004575365e2ad73342451736786e3038b2028e366c98d53529d38436ce377639b3109d35fe902635eee6a435cc78c43733bef6360ddebb36697d1437ba73b537208b0d376aa8a036fe6912372e3c19381164b637e61b783725e9d43724fbe8372cea9f37b6008337d96ecc373f51be37b235ac3e38cb293f428c3d37444a0c363450b03e2cef243f4dee5b35603d303722959c3e47960c3f51e71c35b887123826387b3e3324de3ec045513646571738c0733a3e2e88a23ebaad7b35801b823741d5f13dd8314f3ecb94cf36d6d97e37dd225b3dc596bd3d43beac3672eccc37c1f39e3853346e389fd54237b426bc3739f137380a2de2376bbd073775e48e37619f3d370000000000000000e1b67b37cb98633635baba341eb9e835e5b86c37c251823635fe80356ad6943529598937a64c2236e4b749340c804e3433c3c8370000000000000000000000006245f937d2f363379849fa34eacc4737667c1737c5391e36b4242834e339223643beee366dc4643594693835f14810364040f437b60789374cb704372547c237e17f2d3776dc363eda3a523f0000000007b017378ecc363e25f24e3ff0eac63402b20f371cb82d3ef7c2293f04e0893566707e3778a00b3e7cef0c3f8e124e34542499370b1dcc3d8f46ce3e00000000f0dac03717555c3d078a873e5f540a37dc81cc36d5ba7b3cbb520e3ee41629344f503936f7ac4f38c24b2838f9823735e01adb3727b5423889b0db37224ea53699dd8a37f2b71d37993a9e33bb509c333c26bf372a7dee362c91a336f356cc36b78fcb37f2f1873681125236e6d35e36b01c69372dc9533694db0836dddc1236cdc83b38e740b637a9532a36cd610d378480dd376dc1383718db7d363dd814377fe042373a1f85360cd85d364706643634cf66373a022f371d3b9e36c18d45371e3d03377c06cc364f71823603bf043746786d37ee4e3338c8f07f3f4585a133be83c737156faf3cb08c763febdbcd361898d437efe0b63cb6474d3fb2be5b3638cc6837da68933c5b8e243f46630e3617c6373864f9633c3b87f53ed57caa37f5c4cd370d018d38d0e9a23e07ad13371294203709d37738dd87213e0a475d366f7c4237325fc9375582fd37f1ae87367c8a1c37bc3e8737c65b0237e93e6a36000000000000000000000000000000003e4bb33628194035fef70035c6b82735efb36437d0bf2c370c958736667cbc36a853d33715e695376f929e36819f1137ba100238df10d036de373236ca074f36d08e9137c2b40337f6e2b836c277dd36dd72a537849974374d70a936a0f01037b5bcb437239b9f376498523776fc97370000000000000000000000000000000000000000000000000000803f00000000e7fad2362f870a380ed47f3f3bed3b35feb563370077473897a3543fafeb1c37f368ce37a22f2c38862e2a3f17c092378ccfc93710151e3ab97cfc3e43ae95374a922937d79c1738f13aa53e354bf83662a98137c8e200382441203e2e097737896d89373587e3379011623836e592370000000000000000000000000000000000000000000000000000000000000000620556374aeb5136fa07493615df5136ed522c388ae29a37f8832237558b7f3756562d3856c6b2373aff8437a18dbb379535093874ce83379c0e7837f5479f37ee8d973716c2ed36b41ef336c8ce3b379d9bd837bef66637a51561372ae29637a13fdc3759cb6637710e733799c7d43700000000000000000000000000000000000000000000803f0000000000000000f11e813ab10d733ff51ca13718fc8f36ddc9353cf2f44a3f8f5e4138ac4b0138e85f683ccef0243f52e84038b0bb0d38efc83c3c280dff3e377e1838e13fcd374ead153ccfe8b13ea41e9b37ab6d6c37c6fc353a43db553e596fd13781a2a137656a5c384bb26f3de3ceb337b3b69f3700000000000000000000000000000000ba6ab938147374376f2ccf34465cd334ab998637715a9735290798350a019435fef503385c0269363ab84f364dce4f36fc116937f590bb36a52494366db9b7369330c1369efc31365d623436a96634362f81843761d0dc35bb1fa435bd48bb360b5df83792a621371879a536294a6e37d7fe7d3794afbc3520acc335d4e03737766ac937fa2e8e37e6b493372c25d63709728c39b225713fcedc6a3dbab564372ef4103a44c7643fb895613db327c4350379533cb1fc413f71451d3de2739137a360ad3a88861f3fbaa5a03cb7da0a37ea3c533a1de1f53ed346ef3bbc144436eda03238e7b9ae3e83d1b03789bc293745510f3a64584e3e67720538cd429037368a113a7fd37d3d0d4d2337fb6e7e36f87708388e721538d5f6923762518e371aeb25388b9306387b3d393755a43b373918ca375888ce36cf28c3357fb7c43573e1a43783d6103658bec1354e19bf35fc10ee370f9549376b10663641d1b736270a2538cb92bc37bed13e37155592370a870f3863ff8737103822379bfe5137bef79037f4ae523671b512360ccfa636e2de9737c5c92237cc490c3771b88137ea0ce4372e56af371c3ab1376129cd3723292638eaca4b3fd763503e1cf8e237a67841383979443f7371463e639aea36adf940383ea2233f4a9d203eb6a3af36feefa139777a093f3412e83d7bff9f37a334e23b2fd1d63ea4568f3d76d1fe37ffd11d3ae5d7993e173d0c3d0462c1375b0383395e8d413e044d573b000e023789e98e39613a763d93879f37282e2e375e433d38800e8939c91ca2378ab9a13775cbd6371e6eab370d2c1f37240e03370cc99039f331533732fda3357f58a23533eac83725a8a436adec053655af06364da811382ae38d37e62bd8358cde3536de2621384ea9b0374c068c36d31411372d7b0138157f5337a41d9936e79aa8363e4919385c30c4379b814437655e99379766b3376e2360379107063726f27b37159285370ab925377a962437949c4737aa6bba37ba52263fd529b33ed9ae8837d0462c3ab06e213f7fdba53ed1860f37b3882e3aea07093f69b4883ec17bf5365df450383ef6e23e5f5d553ebf95b0370a7bf9399b70af3eb8bb1b3e4fb7de37ed271e3ade617f3e527fb93d1e908b3773feca39132d1c3eaabd123d0309cd379532df371ad25c3d5c1dc837dc3d4537e51de737c405693996624337a973153707ee0338e308e637c0ee0437b9cdb53530d79837ff4fc0365c745235af464f35d961a8379a464c37046abb353138ba352ece1438c30d3e37b13933311f934831f7af4038f7dcba3716feca365cffcd368ac21b3876759c378b85073569568d368427803954dd9537f1476337153484378ffec837e69a913775a040379d548d37e4b6f637d32bc9371b07ae37a950db376586f037d200013fcec5fd3e1cf2a8373d3dc537c51bfb3ef035ed3e749da435f674063ab27dd53e232cc43e1f1041374549ab39a02fb23e8d039d3e6d5b7137bb6b8638722c883ef87b6f3e2f65d337e55aa639d22a473e3499193ef1d2ae37f973153a5b87f43d5ecda13d8c739137b353d93770663c3df13ded37897076377d430d38ed552f386418ec37786cac37988bbe3720b25837f89a68360ce6673662b68b3787976236457bbd358c96bc35c9b7023889a04e370e06e934dd4fe534c3bbed370cf6033757ea2e36d2f525369cea2238d01fc037235a57358dbe4f35ef3e1638d3b6c4377535d236c198153711b52a39e5ce943715e118360fa9c036f4370b3aef72e2381e846037bf3ea23759f8af37df2f9d37ec088e37cf3da937bee088375672b73ef827243f36f5fe361effbc3765a5b33e9751183fbe3cc6352775783970849d3e72cc003f40af52372ce3c5391714823ef547cf3e85c72d37c03974396d93493e8f719d3e0252cc370e9f36384fb80f3e96a0543e9930c9371abf133ab008aa3d2eb2e73d97978537a7b4373ae1b7c83c8ce9973c2b48b137dce6e93778fe1438a620a737bea182374e2821380403d6379082ef3671f60336d2ee74378705033603bc8935346188355ead4737e9410636b25afc3524e6f735fa270238b8d1443765bc0c36142c0b367f8e24384e1dd23712748835fb3c8a35bdc7f03730a99c37683d653616e3743673a0ca37ea025e37615f1d36480246367476f73739b1ae37cca82a37a3af6437efb50938c7a8df3710769e374e31bf371260fb37106a583e92c1493f638e8d37ce7cb83702de583ed6493a3f2df38f3524f80938b32f493e9a5d1c3f96ad033695858939c30d263e4f87003f6d196e37f645dc39a4a3e73dad9ac73ea7bfdd37dfee16381250ae3d1732873e5a509b372bab0338bc09453dd45c1f3e64d52d377bc32a3822bc253a3d491b3d4cfc75373ea72738ad4cea382d070f384909a73704dfd23734b09c3715bf5a35b592513567ce653709559835d5e88535bd316e35e703f73715931e3783bc303635b42d36554c8137a7545436b17aed34d6a2e734ba2a05374e8c28360fbc263629f52436eccdb2373add27375fe1833659f07d3694701c380e00dd378cf552368160543661e4cb3761e784375501ad35f1101736204e7f3754000a3738dfb2357b2d7236134be6370e3e893d7fc56e3f0f159f37cfcff7387127a13d79ca5b3f4aa99435f8d03938f9c6983d3d1f393f08368037e717cc37654b8a3dff4d173fb69ac0364622a4385854613dfab8e93e2a362836f512fc3940d0073d80fca43e74d1153768e7be39db76ac3a4f9c413e81d0d7370af10a38bfec0a3a65d44c3d4b954d37f56b0138e7bd15397eeaaa37b8f80d360000000000000000000000000000000049e5e3375140623762d0173608d80736b845f0372fbb993705afae3492e2a6343048b0370d358037c558b836397a9c3617a33238bdb70d3854503a37f2180037582f2e391a0a3838b481be37df3c9b37de614f3873af3838ad90d337c1d5b937094e0c383dc0e33737d63137fe4333370000000000000000000000000000000000000000000000000000803f00000000ac5811386e5abc38b2ed703fc7cbc4379d4dfb386539523a7f0e4a3f1774ce37a2e50b396a5a0a3ce57a223f90609f37eb4b3b3845c3ca3948bdfa3ef80f1f38229caa3939b3833a53ecad3ea37e433888485938cebc84385361483efbaf3f38fb55043825099e39ac0f493dbd46af3700000000000000000000000000000000000000000000000000000000000000006696b5390524453869ea27380b461c387dadf03953398639c7c27b38cb1774386bf1233a273ae7392e568f398cd55639b05eb83999525739cafbbc38394ee439fd5b90396e4c11398840633865175f38db64d539c64c933975584739fa1c313928c8b339c5154b392ddc0f39cd7c123900000000000000000000000000000000000000000000803f00000000000000004ff0553a6f60613f39eef3399996dd385aee803a628d403fa7ec103a9a70b5392266713ae3ce1f3f3436373a56ee083a45d2803af3a2fe3e4223ce390e688e39f274203a42d0bd3e786da439119a44393a79483ae4c5773ef7c9db39ddf7a6396817293a05b8ea3dcee4873917e0553900000000000000000000000000000000b3730c3acf00e33973a75339387f2e39f3ab273ae6a57d39780a8b37f7f44b371d3d143a601f42397d8d17384ae51138847c193ad1ec4f39e0467d3747eb4037ff59093a815eb93951252c39825af138cc8a773988be0538c003d437fdcac7378173073abb5ec0390d45773908265d3958d3e639cd2aa939217d7e399a779d39dde4b939d64a663977b316395eba2c393391323a3fc3603f88fced3dfcb1f839116ee63a73b9473fe97dde3db4559e39386fe33a36452a3f47c8b43d629e8a3979d90c3b336e0d3febb9923d4c018c3937918f3a0b26e13e0243623d6356dd39bbcaa03ae839a83e52e51a3d917b0d387158803a8c425e3e565da93c99add3397c2e8b3a6aa4da3db535c1390c229939f5a4253ac0591a3a1f5575393f7a3939c822003ac713e23936ab5839ebcdd438b616313af0af073a8029283967695737e1693a3ab542a839b90b5737c7e93937640d143af5fac439c988a2389584963761830e3aada6d539a4577139f3b92f39f4171e3afdbadb39c1814839d2d708395449023a76b77b393666c4389a7ca4380a8a093a01d8f139e8abc9399e5dd539de8dbb39fd75a739762ca03944bea93943f3123ada5e403f8139793e92c0ce397ddd7d3a50642a3f5bd35c3ed4db063ae6fba43a559c113f08173c3e7728d83991775d3a24eff23ed4b41a3e6181dd395cf5af3cf9a6bb3e9e0fdc3d5338e7393c31c43c45228d3ee73ea13d2b43e839735f9b3a45bf3e3e55db5c3d1d9f81392ecf213aeedac83da1a5093acaf7e439e826ef393dc5063a54a3ac39693f9539d03cb139bef95639d580f1379bd4d737d2c84f3ae5662b3ac853a039539dd7381afc613a8747313a0482ad395f571839e5ebcc399bf30a380a7488374fd21437b6241c3ab57feb3947f969390a17d3382d56403ac4ac123a3e8ea5391bb171396357463a3c96ee39fb565a39c8e82a394857433a03642b3abf92073a5c4b043a91b6d039f789af3991d782399bd68239114a093a052c203f201fbe3e85ac0e395bef873a638d0d3f7359a73e5a81283ae9fb8f3a8fc6f23ec4be8d3e60a13a3a84606c3a5b5fca3e999e6c3eec50bd385aa6743ab80aa13e2ed63a3efc85fe39fa287f3a4408703eae07083ec81d163abe19be3a99021e3e5323ac3d3bccef3952ac6c3a7cce983dbdae123d7d2f233a0f78203a8997283a91a1c0398da0953912edab392f68963980c7ac3855228837fe392b3a57f79d39436abe3716f37b373a6af33908439d3837bc123885daea37fa8ddb39d5cf7c39262b02385d16e037b1d6b039b81f63399c963338dc7d2438a96fc8398b9a6839820911380652053812f4053a5b59f43865a4273888ae1a38834c283aa4ddee399ace2039532921396d88833966434139311bdf38a6c3ca380e62b739e58bff3e41e9fe3e670485397457753a84c1e23e9d29e13e19f7b3396414c43a2b28c23e33f2bf3e9359c7380ae19d3aedb1a13eaec59e3eb3758d398c09593a36c7803e05b87c3e764e8139adb3973a4684403ed13e3a3eee3771393845ac3a6889fd3d2645f13dcdc8de38ca7c513a7b4a743d2428593ddd949a39a557bd39e6a5c03958387339679c0d39ff29fc39d74fe439f5717139dd772338c2b0443aca141f3a28f17a3930735237c6bc4b3a938edb3915ff753730a5f136c583493a64aa1c3ae7da8c3922d894387e021f3a2c40e7391cd54339b7b81a389871b8396b3b1938ad66b937a9c282377ecd5c3a76bf353a7103eb39eb4cb9394e823d3a639b1f3ab393e2390722c93913cf823938ea17394b461238c8a8f837b592033a75e9bd3ef0b11f3f3b50dd39ca0a713ade78a93e6e2c0d3f50e7203a4539bf3aa37d913e7210f13e3bb1013a92777c3a1fe7713e9d92c73e0a4e273acb69583afade403ef95f9e3eeaacf739f36e553aa46d103e555f6b3e06bf1938d72f883a31abbb3d5d1c193e75b42f3a8ce36d3a5ca8313d65af8e3d2bc1123a96b5eb39353e083aaaa59639df6821387203b939c67b973918d3e9389cbd8a3730a1db39445d7639521bb53762037a37bb2e0b3a6780483910efd237b9bbb43783c22b3ae126023aa02108394a0c3136debc0c3ab73cd9398d723f39b0e709384e910e3a3353c3391dd653385503963723c7303a45c8d2398e3c683765064c37de46273aea020d3a21f6b8390d789439f003d2399f8eb0393cef7c398c895739eb2dec3944957a3e8934403fcae29f39043a2c3ab3ef683e7d652b3fb5259c398b58993a919a413e88f0103fa5dba9393b0e8c3aa3f91b3e7edeed3e7de2113a0d05ab3cec58ed3d4499ba3eb0c5ea39b00a493aed7abe3d18d68d3e420fcc39e6c88a3a5ae4773d8b093a3e1deac339c8f34f3a2a38e33cba3bae3d0bbb003ab40f073a7a82093af14bde39e5f29539afe2f739db3db639f7150e382f63af37de9df239c16881399c64cb37cbc694378474143a537bd7391d6a1c388ce7ed37e770763986db0638a4e38d37b7defe36eeb0093a7af9cc39983ac8388800e137616c1f3aa6df813912787037d7c806376f9a123a33a2a239b6945f38f40c11387690133a8199ba398267a237be1288370651eb3937a0c039756a9939db4c8339e5b4223a650af23df29b603fe153033a352e913ac189e43d1dc7463f5de5b3396c92723aae77c23d3a83293fd90c073aba7f6f3a24b1a33d3e030d3fe95ef338a30d663a2ddf803d7fd1df3ea125f4396e00c03a4daa3a3d8620a63ef2d991390b68893ae33af23c9b12593ebc09a5394a78853a9363ab3acc6fd63d509196399d351c3a5bcb143a57c1fa391f6cb4390000000000000000000000000000000042d4023a94fb9639731268382a2e9437cd5a023abffad13925b31739a27eaf37b5f5b63966a9803994ce65384dc85538507cd7399984aa395900e038f5cb7838a06f343aacd5193a5619bc39f4966739a8800b3a3c2df6398f0c8e395eaa4c39b6eaaa393d573d3995d43f3823d634380000000000000000000000000000000000000000000000000000803f00000000c76e383a29f4b93a0442613fb1cd143aa946273a34847c3a8f98403f2439033a0efb0f3ab347453a7118203f7597a73961d9453a2aa8833a6972fe3e7468c2390882523a9f09693a0259bc3e62e8243a22a3233a0667493a61b2773e59eaf2394852143a4a40233a7a37ed3d57a31c3900000000000000000000000000000000000000000000000000000000000000003c62f0346a79dd3480f5f034fe87f63438392b3574492635ed1b2f35b3d42a35d0217b366fb1c6357c63f235794548364e588d357dad8a356e0a89357e2c8735aad08a3758de2d350c30c736ddc65c375c02993777a4c535f6b5ff35ee532b36ab56f6374153a2379f498c377ffda93700000000000000000000000000000000000000000000803f0000000000000000104af936b7f77f3f7a5c1e361736ec34701a0938a492613f98e39437d96d2d3538c95238b862313f4608f93762a76536b397c83760b9013f09cd8037b6078935fa9945387370a43ef1590038e5c0a1379900743873f1043e097a6138bed1313798170e38770ddd3a93191538e2eecd37000000000000000000000000000000005299f236b948c53686080337b1f016373fafb9359b56bd353e4bc235c751c9356b4dc5354036a9358bcab235b185b93541e6fe351a57b235c98eb13566cde0354d861e353963243586992c35dc143735be947d3733bf873599119235fafb23377bdfc837ac478536b456c136667f8437c0cfec370979ab375bb298377be0ad37edf61537efc70d37de670f37f1c20b3772ae5a36e2f17f3fd3173d3929cabe376753c13502ee7f3f34117e388d24c5358cb721377dc7643fd32c333841617136ed048837e68d353f85405138506e2636c7ccf23784bd053f482175385ea5fa36c88114384c7ead3ed7b58c38b499a5371fe8df37ada71b3e82e872381659b6372b8e8b37f8b5ba3cbd4c5738f01ccc371993ce36db740e38f345b0376e450b3789ae4b3791a2803769c59037cebd64371ad86536738da1358b721936ea866236cd0085359c078135ef2882356f1282352cc091353b5590356fe88f35f1a4933571c8f435464670351f3c863590be92355daadc3763589e367bcf29377894a6376b72e1359e8fb135bf13b3351f3db6358ea1b8372e207d3750114637b0335c372be3e837d6a6c43748f49c378b69a537a4dd4a36b9bd633ff2f3e13ddd19bb37b869e735f89c693f00a7b23d6695973709da84353c814b3f5c2aa63d7caf81356b449436c0a2273f9c8c133dd835133763a7a436be6df43e7e87c23c29ee06370d0bbb371941a43e5538f3394653f33715d1b13584b3183e99b3b73921eeb4351455a736443d273cb7374738219450374d783f375f5e70381d684a38a101813793e339374c0bf037421486379579ab3685e3fd3627b0a9365ccc91362c78a836dd70e53520d1e8357115e5352ec3e43574e172343261683401046b3409866c3486059c37bb0a6c35ba4d8535d50c763639747e361bb3be3588cad9359971593629638b354f43ea34735aef34944ced34168e3638d70e263850590a38fffd10384e346a368cfa423692152536631c26367e504236477d323f2eeb9a3e6b59303701d0bc368aae373f6712903e7cb8bd368412e63562e1253fef066d3ebf3ce9351765c9368fe8053fa8732d3e4c0a6e348a6e9d37bd67c83e6787e93d5b02423778f44036c319853e1d22603d01dc533628d9e734f206003e3d63343c13dbe7344644f037e250783982ad8d38a57ce73715872336b5d97a38020d9e37f3a52436f0cd8437a44e8137e8ea5b3679425a36b0a8233662e12636805a20365edb1e36eb25bc36b816e435f901be351b1dbc3520901a37b8a0d635ccd4ce35be63d23594081d370f55aa353e3aa535f8f6a4358802c33717a6fc36a7ffd135353f0437eb75a737b60734370426ef367e3a2b37274bb137ae049d3781c7413727cf6b37a0679e375e5791375a90613776508d379f915536d67e013f06f3fc3e9a8d47367951263649f6063f61def13e8c832036978fd036f083f33e0fe6cb3e79871536ea0f793747e3c63eec41993e8364cd3590b65137e916913ebfc05d3edc46a335fe4bae37f06a473e6f7df03d01281f37732a5f371cb6c13d994d013de31d263769525d3769c2fc38e8ea7a380a5e9d36ec69803781643d38dac4ca377cd05f3604e13c36b1e020364ece2036531c2236ca849c3719277b353c0570356a4c6f35fc28ec349668f03460a6e134a929d334fe571e36f65db7351c14b83594b2b73597b1a937c05e673579e63b35074e6a35d06fd1376f109434cef1803429806a3466e21637fcdceb352f4dec35ce47ef355cf30e384a33f4370a6fa9377223d0370982a437de6b5e37320fac3654f9d936f0a820364b93a13e18342f3f114b1e36b9529537d23fac3e83c0293f32ec6e351617e2348d969d3e0d630e3fd0afe034953781360f1a823e56c8dc3e1fb6b8354d3ae33769de433e4c479b3efe8a5a35db430e389194033e733a373e6349823478f7013794647a3d1832733d107aef35d8970338801e813a4ae68b386ed442370c56cf375e92763827ceec3705944c36aeaece37ab097d37cdc851359d8c4f35e4b98635bff6a234fbd964340a7c3a34de60af352a77b0357e5eaa356015aa357140a737ee91993580ea94351d4096356e6b1c37b95f7735b11e663597946f3528d39c37d47e25367f4393350cc29335394d333741e69436bfad8b35bf678c35c25017388dddf837516fa637b356d13724408a378a925437ce3dd836136626379d84f137aa67fe3d1726603f5c1652358c0c5637467f103e873b593f69ba7634c714ef35d35b103ec2a6353f7846ae3510de1e38494cf63d6bee0e3f53dc9535b364b1373cb2c43d1647ce3edfa87b3527c6dc37ab527e3de9ce7c3e8d3b9535f454753793420a3d0fc8b83da0948c35a73f33388e03c138cbae8f3800da2a37e5bee037eed73038eb3f913704fb8936e9661b37ab41c73619fa1635615a193548b02337ebf79f368490f835cd0cff358f982337021bd835db23cf35a7fcce350a9597379eea8b35f20a8135aa468635cace9e37a4c328357f97093560921935137b6c37173d3436a9d6b03522b9b3352ab50f3831cfcc37c6a08836c0526437ec5f3837afabed369b43d3356299cc354535203722b5e5369a49913618c3ae36f3579e3715e5783a9abc7f3fdf8b0c356430fe378b9d5b3c7fb5763f38ab01360f6012388a561b3a9ce4583f60b7d3352a684a38111d7a3a74fc283f99448135863d2c389502453aca07f43e8b65133549ae03381cfdbb38c8d9943eb7a26636dd9019380aff10399f60d93da9ffd6371445843779d59938edb19c38a457cc353f6aa7376dfe3338ad759837940c3a36000000000000000000000000000000009a6c0f37d02daa35afc19235e4849d35df3dbf3587fca43485438f33b4c182334c039e377b673c36111e103573961e35fbea1637d95d85351cdc81358ad486353177fb37e4419137ce714d3639946136d247023836aee437654e7637452795374ddd233753e63d37d2b8e23632f701370000000000000000000000000000000000000000000000000000803f00000000d092d537d8ae35385f817f3fcf6aa63582bfd43794919c38eac35e3f1deea234a15fe637db8d8138b6b72d3f42be0a37e109623726704238c38efc3ee2228436c50e0638d6618738a3149d3e12b80d38260bce37e74d8038b50af33de7f41338f998af3685ede337afd2933886844c3700000000000000000000000000000000000000000000000000000000000000006e6b8c36624b52365cd14836e0313c36a2d59e35b5c57435b0bb6e35c5256e353ef94936bdb63a3663c23d3651463d36ccfaba369ace93363f38973617979b363cd0a33767c8e0351329c83549f3e03522fca63707ecc836c7e6b036afb0b7364c11d637d25f83374af15c3706868f3700000000000000000000000000000000000000000000803f000000000000000005152f38582e7a3ffc8aa4360d9e7336550157386666543f0898f1359b029735ddd0ed39f1c32b3f5a6451363e9b4936203b9f39b979003f4bece9372b80b736f1d78538f383b13eb125123887ea50377dbca539126c3a3e86dd023880f18a37a42e24380b9f1a3d978f10389113c63700000000000000000000000000000000e6a81837289cb436e286a13641949736aab831366f2dc535253a993541db7b3568820b36975cd1353ed3cb355491bc35d0815a3676c23c36f6393e367df53736ec7329367244563593c75b3534af5d350a912d3628c4c9351fcfcc35ac2df035f8b00736736806362b790a369f8b0936b6719036290fc935c8d3cf35b848d33523d52d37bd88f336e322c1366e84fb36600ba6361df27f3fd2002839eeae5037032a1e37e9d17f3f9fb2a33705051d36abdba2360ce15b3f375f23365fdb023646ac55379a46333fe31076366c74563623a64138e6fa073fa5e6b73772d7b535701c0a387eb6bc3ee799c836ece92b363f62a83619f8543eca029a36b5eb0936cc4fe837f9118a3dce7b24389897fd35f7654c37a8f332387fb65937c416fd367482aa363b22b0361cb6a73640079d36192e0336c0c4ee352501e035e038e0353111823602187636752c6c369b2e6836c50c6d36a6b51536c7fb1036716c0b3691ffa4377dc23e372aea2c3702d52a37da368e3682168b360d8e8936d3548936c29a933660d6833647298636bddd8336f2d91d38f1469637534b0637a8fb54378c30fc363301af367a197a36e56c9a36fe48943622eb5b3fee44103e09fcaf36415c0c37e9e5693f295daf3d7adbfc35a68e8a36fbbe443f725e813d9b007c3670f1ca372d492a3fade6493c8eba6736d7658238a990fe3ee2b5063c5cb29137723ffd37ec9fb53e5f1e8f38f5f38b367ccd0738070f4b3e15ef173aa8fb8b363336583885e2473d24939638940bc33738371737f6c85b3860c1243791678b3693588837e8b87a37e11745365a64bb3539b0593648891336ffe70d3686b90d367a11373656232336676c1136dae709363d4e32369bcc273633ae24367b02203612896b370d39b036f9d0a33632f99d36fc2858377d17df35ee68d335fe4bce3581e74836349e4836ccff4b3627d04c36a4edd4361b619236949193360d7898365125d837d1029337f9723737a9636a3728c50f37c7832f3f87faa03e41ac4537b543f036ed8b3a3f6131843efd9a11366ddfda37fd5d273f95d53e3ef1f42c364783ed3713100b3fca0b073ef7073136b69a7c38ac00d73ee8d7b23d4602c836f6334f386a1d9c3e128f193d9b42f6358ffd44361aac373e89c7633b1a8851365c250e3756e81e3dfcfcbb37aad19436b76e173817ce5938258af9371c473937b5725b3794642a3711deef35b516ef35117fbe35f5c9bd35fb66b935a719b5358d0523365f1a0b367293e335859acd3528cc703617725b36ba414736a09c413642551137344704364530a435a70fa23598e77c369c397636f3c4723647be703606d8473669524a361594463669024836c2bdf0360b461236b102f035a601f135472932373913d836756cfe35d65e683628fe28374c3d033f9e77f93e27d69036a828a636d3220d3f006ddb3e6edbbb3570ed59379f91fa3e66e0ac3e57150e36f3856f3742add63e6fa67d3ec90f60366f930a386dff9e3e7908423e57516036e4e28f37501b723e650ac63d27737e365121aa3742c50e3ed19b093d2ba24936ab70ce37f88da43c562f85385f9ef435c19796372262e0370d0f48378a7e1436cd68c037aa292d3730136e36d3b448361f1d44368ebd0636deb7ab354cc4ac35f4be2b36d52d17368917f335dd9ee3351202d5357ca0ac35439378351107623588d653374fada03606ae7b36062a683663dd7336fac42e36bcc12236ea4a2236c38e4237ded54c364b314436aa9d423681ba0e37bfccf43680b8a73662bfbc36fe231f379b50743665a2a9351807ae353928d8371481ae3ed3b5283fd79b923664c2c536ae23bd3e9980173febbeea35602783367d7fae3e79fff33ed5381236d89d5d3839a8953e2412bb3e7b8bb635ecac8938fae36d3e9e4f853e5566ad3661110c3826252e3eecbf1e3ef0932b366ac41638c551ce3dd777723ddbac5136c110dc370d93573cf4444638676ce136f776a5373612cc377aa629370475a535085355366c41053630a886352f426335a2a18e362c3888361e4f7636e3b27636edbb5236d3d32d36d2ebf1357b71e93572988536d9867b3696a467369c3a64366b51a737dbd81937aab160367eb46136880d8136b2dc3b36cd5106363d5205363f9c8836ef97863606c68336d2468636905a5037eabe1d3619771c36883d1d3695349736bc6e8c3616098036e03980360e98773796f82b3efefc543f12c6cc35ed076b388742463e50eb413fe49c8336d5b915385203413e5fd71c3f25212a36da55143808682a3e9629f53e23357b36ecd28f3862350e3e6123b63e687333375b010f38c989d43dffec5f3e49535536e741b13753df643d2c8de63d3a0288363dec47389a7c293a456581385cbb1e36fb9bb53617812f37fdff9d366d8b84364bb9af365b086435b2575935067d5435f6125235873d343549412b3537d32435456cd33553fca83523295d350fb04f35a8e61e362e1891357ba95d356e326035c263b536a2fc8b35586b1c350516133578227836b0697036cba15936c92b57368c4d3c360e2f3a364da32b3667c13136a074b636edd0aa367fb18f369d5e933600459c366db99136bd2c8736481387360742e737b0fa9f3cddfb7a3f6b216335167d2f386a25143dbd79653facb23235e50c0637188b0d3deef3413f8dc3a0358ee74e37a4f5133d476a183fd8aa9735953a10381018e83cf997e13e37fe013656070d37d579443cdf5b933e28d27436887b5f36122eb53a29350f3ef77c36361b924737e178e4394f11b539c9b0b7360b057a373f667a376440ac36d4a48d360000000000000000000000000000000017015d35820f0f3559c40135d4a0f934522f1f37b8d062367b9d4f362e6b4d3665e3e637830ccc355102af35211bb235745c0c38dcddaf36dd447a3677895a36a6c93437a0745936c987523613fa5336159109383b4ade37b3c18236f7f4cc35cc1eea3752cbf537df1d8437732c36370000000000000000000000000000000000000000000000000000803f0000000090412c38c10590398034763f41ad0b35847f1e383cec9b3acdf9503f71e96436ea4963380eb1473a4e03273ff01468374db26038321e3d3aa46dfe3e5841af37f7edc837803b5c3a21dfa73ec3ddeb362af9cd3715496839e41b2e3e747d1f3861044c3798634c388b40b93ce9bc13380000000000000000000000000000000000000000000000000000000000000000a306de357437a63550116e358f8a1b358b9356367c6a4b369db843360ac53b36e440bf36f64cb7363265b036dc67a936311084384ef21a38859062371297f0366b89823666947f36709b7e36f2a47c3644be6c37b78ab43617dab436fef1b436b58c9138eeac8838748f77385835723800000000000000000000000000000000000000000000803f0000000000000000bab88d3a62706e3f9b9d1136d37cb5357a1a4e3cda17473fa41ece366969513655670a3b9fbd243fc6d49137166cbb3696ae923a2c52003f3b449f38b02e47386302503c2f9ab33e69999d37246f83363506f939b7d7643e075b06386a7df636604996389f91a43d946c9c38d5358f38000000000000000000000000000000003c942a380d71113823659737c2de7636ef449637bcdaaf36d3dfa8363d63a136f1479b36e10794366a6e8f36beca8a3697f647379d650037bb41fd36c19efa369d2f9838bb862438ddecd1363c599136b6ded037bb7fc736988ba93646f6a936b4970c3826c2b837cac92e37efaadb3622e17b39fc1ef83775e1c0375019b737b31de737a7cf8537e9b4423730fa4b37148f143899e7723fc5cc503de2322738ffb51b3c69c2693f9d24713c1c45b336e554e93a230e483fe200d23b6bf09836514f413c0acd233f1e8d0738de130237c07e243cfa6cfc3e18f9d0385a4a6c380b1c9939ed85b93e2e76273817908b379b80243970355f3e18dfb13864c0f53789a7c73948aea03d7cad033c032ec4383a6a3f38febe563a61450738295f873770e2fa3724b2a83731f9873652ef783605f863375aff1436e2da083644aafc359ae3a5361b0e70368ec56736a80f6136ae0d0538589e8a369efa84363a2677366b0902380337bf36f43b3e3670c334365a851237ab07a8367325a53671bda336b7e92e388e0b033880379f378626353753ef5338ffcbfc375e4eb737fb729f37d031e237d48ec13723598a3748537637b0b3d837e1154d3f277e4b3ec83bae37a60f6e382df9493fe97f1f3e68dd1536d0606b3a2ce9263f962d073efdde7336905eda39e52c0f3f1aa7bf3d01fb7c37b4285c39d918dd3e650c943df1536d37f071fa39abf7a43ef2fd2b3d08e8aa3689ac5c388528523e21a6b63c30551838e20e9438c772a13d60c21f3c21120a38e6528b381c77173aef1115381145ac3797f6f237a9709037dc1416359126033513e80c38557b0336d463d7354206b235b8d63e3743efab36ad6fa13648c59936f497c33655dbbc368fb0b536c40aae36992e4138d2ca1937e224a836aab28c368be93237787c9a36869297363af496364c3ba3375b0bb73601deb336601db036786a5c38761640388bcf0b383acaef37bf3dfd37ababcb37b2468e3753c366374b1c0638c105283fecd8af3eacc17237440ce7391736253ff799923eab5231368754dc39bf610e3fc98d6e3eb204b036d4db663a2da9ec3e452c3c3e4fc2bf366e348739c1cfb93ef8a30e3edd8da1371b18b6398a058b3e81aeb83d38999d36243b40389260313edc29453d644ac536e88e87382348933d6ed32d3c5ded40386aa98738a668e0390f100738251db83757e01e382dd4e73787570b375fffdf36443cb237ee8a6d36a6ac533669b33e366797c336f7d5bc36fe97b3362f23ad367d88b23600cfac36e50ba636cdbba236f9bbdc38e6979f38455b1e384bf39437d2aeb636fab7b43640f3b136018eb03625270a377a03cf366cfecc36f9a8cd36435e5a38885a1c383b7e7a379043f436af5c0e38b0f4d437ee886e372a912837fe4134383f9a023f6382fa3ed603d3372e91c639e679003f6796d83e459c6c368d8aee3878b2dd3e0a54b13e2bddbe36be623a3a22bcbb3ede888c3e08cfae36b7d5303aa738903ee2a25e3e64bfaf3872f7dd3979eb5c3e2d5e113e0ab8b73638b0873849f40c3ef8c8a93d60afcf36fc838d38db3a743defde743c61631938ff6e4738fd855c39b76c18381508bb378c7d0b382bdf8237cd878536f21677369976803714e86b3630284c367a773836d265ae3651a2a736359f9c3630a19436f9099036228487365c527936f20262369161333835c90137456c8a36b06d8236e232c636b2e4c3368904bc36e41fb736a2acdb37ead53b375dd0bb36f03bb73611b87c38873a5238c6a1fd37686e9a3780d19a3620c3a834eb5096349d668c344fef63388cc0bb3eb4f2213fd67c4b37ff1b65398ad3b83e94540e3fa5726b36dd003b3a17aba33ebf9bea3ef4d8a836804b223ad1418b3e400fbb3eb7108a363c898f398d7b5c3e2855903ed9c45c3726c1293aaa10233ea4f5453e8df0c53682b02e38df1ace3d47c1e03d252f7c37ce1890381f0b233d1507e33c577450380e9d22381d47253834b85337ea44ac3416e88637ffcbf8350576e835adebd435c2f8b736f8d50436c914d2357d4aaa354982aa37f5ef71362e56573620494336619c9c3677e69236c8f8873600487b365504d7373ddc5d3642342236a66b153669de0838b501073742708536d20181367fd060378e759c366f576b3606f2623609ff0c387c83c737386ac236ff621c3687ae803649a57e36433a7436120c6f36958d8d38c3a55f3e4bdf473fef4ff3358dcac33998b6623e8881303f2c73063608eb313b669e4f3e7024113f4edc78366bef4e3ab76e343ea4b5ea3e00039636296633394f5e103eb679b53e8b628d36f45cfa387773d73d4e23773e8c618437a760cb39b719843d90e3193eeff4b536ca1341387780ab3cf2140c3d9ca6d13744b01e38a22a06383043ab363eeb7936c7796a3716ff85364dd273365345613607834a369bb22f363eaa05367afecf35049ed836d329be367281af36debba536b91a0437bb1798367e928f362dc78936c84a9138dd15f33755e47136346261364ad04337a221ff369abaf63631f9f0363e13d536bf869b3634c4953672809236f5ae173868d0c83756bbb936dd6bb7366ec3c9362a9a3f36e4b032366def2636ad19dc39980d963d0ee06c3faeb18436d3f03a3cfd64ad3dcf11513f73cd313635cd4d3cc83ab03dade42e3fd4bfc03639fb053a17eeab3d73810d3fb0df9a364259f23b49da8b3d998bd73ee2313a38e958ed391de7523d07bf973e5eda0037058143381a46f23c5214393e519e9d36c4847638d3c49c3c8d91313d4f46eb37f0f33138f74f103887cf4237fa573e3600000000000000000000000000000000b65b1c38d726b536edbba8360f159d36090fa736f8be9f3667839236fcf58936fa767636d0a56b36922e5936109f4d361cb19d38fda2673803aaaf378fcfc936fefec137c0a1d636aa64c436807ac1364d88e437f9824f37cc175a3654b65836950c0a387a250138c9ffc037a0479d370000000000000000000000000000000000000000000000000000803f00000000e859663a66da923a4bcc6a3f10fe803748d5313a804c063b34f5453f422ba33623d28e3a9a949e3c54bf1d3f8b247436fc3fc93816ab753c9de5f63ea8a48938f5707138498c4b3c4713af3e54086f3724301038aa582f3c23bc4b3e25ffbc3728a20038a8d15c3a72ca873d2fea663900000000000000000000000000000000000000000000000000000000000000009b93853514ff1035847a66345127a5345df981352dbc58353ac7593528aa3e3590dec335155e9535ffb10436a5f209361d648f353def663580a8683516327035eff3b9354688b7352ecaa23581d97135eac4b837799b8c35181dcf3587fa373794b2053780abb0357db4c235bb3a043600000000000000000000000000000000000000000000803f00000000000000004a50a5371e237d3ff7ad6d35e9d16835d8d5e537d954603fb4965a36785782358e01c3374e1f323fccfcd4358e1ff63589c48c37ab86013fd4cea1357d499a354a22aa3706b8a13efcf0ce354f33bb353607893836d0063ecb930f386d1c3c37fbb9123889fbc33ce023803767778336000000000000000000000000000000004d4c4b3621ef4c3638a2413657224736ded8e0351432b235aababc35bf75ac3595fd00354d1f4034b54057340fd975342e1ccc35c152a3358cc3c5355021da357a73c034e647d73489b1ed34283ef434208c1135676cf734de1317357b603334d0842736aa6b153679703036f5bc1236c708423769fdb63605f29e3665c19b36feac023625c1f6359d670a367ba8b235e48723369b0b803f7a81583a29404336e950d33552c07f3f0f3f9e381dbcff3529141135ade0613fbfa18636bc468434f8dbb435c46f363f3821f3360c3bc53584a6db36f389093f0b640d37182bcb3440e335358eabb73e3154a635fe78183579e3c937e2492e3e77f832381520fe35c6b79c3785db553d36811338924eb1365c6bcf35c49130390d34e2356e5c023677ebc234c5dea935d74303364d0aeb340a81da35d515e135b1dbf435aab50136d84c8936e9dd383698cc5136486cf636ab890f35068eea34252948358b5e57358f0c7936c488653624d98236ecce8a36b52882371d0ab835ed04cd3526362b357fcdb236d74fb83591270c366100ec35772138377225c936819cba361a6cc1367f596f37a26e8d3710479f3607489d360702c234b173633fefcfe53d51ba5836fb5bec351773673f437ca63da508f435d4d8553666b25b3f8098853a9a6a9137dd3917374d6f303fe5e70939a9aa2d37dda28936a987033f7e9425388ab385369d46ef371b65b03e3bb9d8380cd11c377d4df63666dd203e8b5a3338dd91c436069cb5364b36103ddf2c413851b6c4365ca09d3661894d38387c033863609f36aeb72f36d1770a3643b4ca35a2830036f1a34c3664d13e36bfbe2b36e66e35364c97d734c271e134bfbccc34a50bd0342c989e34361ea834f2b2f6340adbdc341c534b366e4940364aea4136c0403c3661753534f8e93e342f9a2c34c6502f344c605a38070bca374850f13781351b38147c9e3651cc8a353c0d813547c4863568ea15373f08c83646bc2736720e3c364ed8a935e25b323feea19b3e7e8e0d36cddf48362322393f55cd863ed06a30362f1f8c365914313fac4c383eb0a32936e325a134ddf3133f23edd33def17d034be5a5f367825e73e16b85a3d3d7e4a3613ff3b34aa49a13e2cc49d3b184b26344f735f3875391d3e845c07397f8ded379a7b9c35878ecc3c73e73438b40b883597b22436f2e2213891f6603720d30f3345c022362d042736318ee6357c2fe535b1341a3743a70b377a19d136d8ac03373f15003684248f35389e2d353a29373597411535e7f4c534d4a6b1340b23d034defa8d367d8b0636686bca354e3d0236bfa7cc34973dfb3436f6b334861fe433c48d3f3626aa153646971a36dcbd0136a0c2773720db37377ea9183731841a37de4e1a36279114366c5f1736e1eed835ae21f535c219013f0f60fe3ef5a0e735e541fe368d6b083fd845e63e6e57ee365849913540d5023f9827b63ea0a927353ea67634b84fe33e2e58783e55d9be343f07ff36d4e9ab3e3cf0283e7a0c283659daa5343e92813e709a7f3d8ea31335375e3936af2b093e54e4663a67e4f435c5e68137bb98923c2e91ec37c7631337cda3f935174a853961a10236a09a17365c2ada36af541a374acc15330a5e2a33ce12613548d474359a1f6e35cba0833562f0f1379e6a04353eebbb342075c9348ed3fe33701fde3336f70634cc1a003499525736d1235b36257f4b3687f44436b6f67e375de8cd340b4cd73444e28434f17bad375cff423788dcd9360aed1037d2a7c236b1896a364d325d36c1a33236da861e366df53a3616151436b2f10536465c1c364f259c3e1119323fa1330233e4ce8835e92aad3e8053233f3bf466350fdffd374226a73ebc63053fb00aac342cfa2134c897993e609cc33e28d5e43379d9e036f6187d3e5d957f3e63b43b36bd2e76371b9a433ea7d4033e9d59b634e1b8ca374b04f73d0978173c97c6263788b3a436e84d733c91de393837414c3656a73c364746fb371558e8354a5b0d368aa24237c2f494366cee4c369cdd823673429d36f7637636940efb35324b193691f38935e6cfd234c022af342df0b63467c195374e2c05350a0a27352d515d35e3d37f361b265c3645bf2636640e52366b92b8379f7ca43542bcfd34d2af9734f4af4738cd7ef23789d09a37f73dca375c44303715c2f5353517e435412eee358a80e434fb59db34447dd334b200e134a32e1a375384e73d94fe623fc6796c3646bff3364ba2183e191d513fa3e7ff3562f70c3745cf103e9bf2333f56dba1348e671f38f3300d3e3de2043f042c5f35d555963634ccfe3d4d22ba3e20644c36922706385733eb3dbb3e4a3ecf059b36b76c623896b2c63df0c7353d0980a937c347bf3709107f3c50676838617de93587f1f436a71487381e7aca3499cadf343c9010366f2810365e9ea8354f06b23592ff113761f985362e80953582761f36f61d1736ad32df35dbb3a735a59bb535b836263581e3e8347cdcb134cd7fad34385dcf342213cd348eb6c4342845c934f56ea8350e36ac351e1f8f35e1357535c88bfa3577479b3538a36c351673493526c1ad374f4e4a37ec03e835f392bf36e6af3a369d803c3640d3443601083536c847f1359d50933ceabd7b3ff608c035336b98371e5f033daa766a3fca1a18362440e135a8d0283c5d08523fd3c1b5351eafdc34b3e6563b97cc233fa083e434dcb34636c9c2d43a4397ec3ebd99d23450fdba35ced1523c253d8d3ee72cb8351c52c93568db843c83acd33dfee1993556272538e8fe9039d1f9b9389c32da36ab123b364ad48037a1973236ebd04b3600000000000000000000000000000000db1a9635358caa353aab9c35896c8d3587e342356bab2c35532732353cfc263576241d36bfb7fb3550300836b7aa0b36043e8d355ba68c351274763514571335c7a81836d87a9d35f6c29435d8b88435503ee437de90f236fce90e361c91f135b27a1036f6bd8b35016f4735b7e9e4340000000000000000000000000000000000000000000000000000803f00000000b9541a379dda2c384f177a3f7e0995354857b9370daf813837aa5e3f0d8d3c3508d6233688d034386f752f3f30dd063681e2aa358e7f99370dd8fd3e3e677f355bd30437154402386ad19c3e33d562365de2913798cbfa389811ff3dbb33ce37855e8336a6144a3856d2503c000f2f3700000000000000000000000000000000000000000000000000000000000000006f20c135ab138e35eef797355cf19d3559eade3546daaa35e0caa135c69aa835c2e2ce3689ad93366f109f365e90af36f5e95136dd25a63339fa1934fb2f5f343dcd9236d1266336f941653620865e36ec72fe366ef1823621fe9236ce5da536c41ca7376d7a46341b4c90343d5cb33400000000000000000000000000000000000000000000803f0000000000000000bc73a038326c763f9316ed35f88cba35977c003bfddb503f390dee35d47feb35a9e2e53a1463283f0b82f4361047d43612421e3b59adf93ed7dfa537b7460d34728a5e3b3473a73e39aa9936b8599636db19133bff81223e4ddf893744d4b93688b6413975d4283d3e73b33795938234000000000000000000000000000000009f866236b21851364dec4236328b4336d81c793508a334351ee04d353f814b3530866136c9684136c2c9433636df4d36c2637d36aa724d366e7f5136eb0f5b368c2ba735e2b89935a630b3353f27b83586c8df369c7bcc36c81ad1360238d4364a9e4735f9881335f1ea4635cb583b35cba2b8371c45083548ad1b3584cd19355498f736870ee836099eeb36c5c1ea365a9c5136cdc67f3f3b57b13ac001e836315c9c3897ef7a3f85f28d38b78b5635b8bac937b45d563f84c981365c3e6036c8adf83851ce2d3f0d759536ce4c6d3612b98539a1ad043fc86d4938d42cc135ac74423a16e9b73eb1f6e7360a97e03605d674384a204b3eaf662537fac352350b561639f885823def1a4738681e3d3544fa0137b4060537fb96ea366671fb363c295337e2f772371d112c372bd7f6368a2b6b36d2472536bab63736ce550a361d65d534c0cfd534bcded134be02e93441bc1034cf0419341caa4234f7066e3407b5cd3461b6d7348312cd34cbf6c034b1dc5e351e2b5234cfaa493490818c34cdb41c34f0832f348f056f34a52b8f34ba3a5f3619bb0d362c440f36e1b520368b060537515b383681f03136a1033236280ff7360acb5d3f5561093ef7dd8d3709efbd3786f4773f3d40f03c72165237dcbe2f3848ed5b3f987e85385dd3eb3441b47137a0bb303f694749341f6c58340ec664380b12053ff81e2c37045bce349dabc5382e90b63eb5090c38db1e4935729180377ce33d3ecc365f343c3f6734a2eb8938c953863dc865ce37bbba3f36178046386b9a8238b0cb6e37e4962f36d33e4737c29b2837f794e53517b7b93536ef673430835e34d0c6463442d94a34723fe33486ccd9349f88ce349010dc346c9d4136d0f007368bed0b36f3c8f035675e853434c98a34c2c59a349a21a4342d3e833611a531361f0e19365e3b21361774aa3672738b36a52d8636d4049336145793379dabaf36b891ae3610f2bc365d6f1c37974a1737c08a12378c3b1837b6430236d4d02f3f77a7a03e09d71a361eab1a3429e2473f14025f3ef1864434f6bee2367ed2413f8e5ca13d868fd634c552933834a12b3f7124833a98ec7f3658c12d384a60033fb3a21d3889cebd3496653838e964b33ea1e12937dc2e6936fc848438bb4d373e68555237cd6ba936657aa738eabd2f3d7e862e38790fba36c80eaa370175fb37e8de10377f1714377503a0362b40a73629177736ba748336ac1c2337f0f9fb350d9db035d06f6935d98b7736eca2613601262136b0c502367660fe36b55ded36f4bbd7360ea1d0368afcaf38d7ff5838947afc37b6989237d2a1fc36785fe636d59fdf36eff2da363e2990364bbd7f3677607036edff8336e8e9dd3740530f362a1204364c6afa35f703ab363c6d943667379436bf3995366bb69236f828023fc00bfc3e15d779369b99ef3781f1183f147ec33eac92d035053191364b58133f910c833e4578693631dd2f387fce083feb4d083e211df636f38618395e7ad33e8c23b33dafa7ac3844f7b7385ceaaa3e313aba38701df9366662b338d85e2d3e0b54d336d1698d36d8a7e4386f0ab13c94cf6438761214362370b936e399cf3662e690365a239f3638c80837ecca02371415d9362940c836a2e8063787f64936e34af435ac99c935a95478363f141b3655242a356809513598db67362ecc05360d038c35add22d35acab49348b45583448693f347fc741342dac66361dd1333614f00636aa300c365dfab534f781cb3485c1d334f362e9347c412c343ad15e34f0144e34d956133403c21436a67a1136cce802360b200236114e0f376f0fa93e19962b3f4f35ee3654152c38e7b0cc3ef9c50e3fb68833365902ae37712cd33ef079d13e38ad303645a99537a5e7c23ea44c8a3e93fd4436040304381968ae3e6cbd163e75fc49340f96a43826bf903e2b7c3c3d6bad653619044238c14e293e93035938218bd334524d50387f4fef3a409050366ff26a34580d04380e04eb3766f1eb35b03d073689d6c93722b61e36d4a2d53573dcb03552e8ef35919e7935171ca43422c2443468ab43341cc54d348be02f3488223e3456a08c359a574f348ce514348cd928344d3f17356511cc34825ac734cdf7c53462a0a634367145343927383448055134bb6158376e2c6d36207a1b35b1531035a8b8c63715508c36f0c3943624269836e3530f371f5c07379f2dfe367dc30937ac6d4e38e582183e25fa593fe4801c3697bf343844a4513e00df3a3f03e11a35772ad233d86d663e363a173f56600d344e319838463d693e772cd53e2a7d2835db42263874f64b3e8635903efebfc234b65ae533990d373e6aa3073e52a00c342c3c8b385b56ff3d08bf873c860235372ce5c938055f153b954f6e381484a736f22ba4372fab7c373363fb36c59ffb360f02e436a0afdb36739cb536f1fbac36d0da1d375b41c734b95db334dd3bbf34f4733f351b492d3500000000000000004d7bf2367bece63635bcb636621faa36cd5f4d38b7b98635bf689635d157a535ab62c936b4308d36277f5c36993e5d361d569436ca55903692246b3696ee5536fa8e1e38329679370f30833560e24735f4e951360707343690b83936ee473c36d1790037651e243d21eb753f6f9fd336620fd4381fbeb33dc769593fa6167e340f67a837ecef9a3dcf113a3fabe8933484fc9a38421fac3d86a80e3fc4f2d836ab60df387b53a73d9d98cd3e9a24d1379144f437a3288b3d93f5813ed3bc9a361001ab361b3f803dd0cace3d4dd4843620d6b438c56ea43cafefe538db33b1378f1b4937be3a1a377a00383676ad3d3600000000000000000000000000000000bf7e7b37f99ae43391dcaa335c6b36344b788c36dc130a368c44aa32ace04b34a110a536c5454d3646b60c360676eb357f072938dd17d1310000000052db88339aff0d37c1b1ec365cafba36af04bb365a4c1637fdd8d53567838235fa8a523524eaad375741b136a657d3359824dd350000000000000000000000000000000000000000000000000000803f00000000394f483895098e3c3213713f5de1dd3372d025383a95e53c6ab04f3f05292836705085373981bb3ceeca253fa5f6583603a68538ae89f73cc51ff63e75af8b3765dde1373488b53c133ea33ef6b2023743b25a3734d4d73c5598203e8307cd3674e426377fa2013a9694183d21fa253700000000000000000000000000000000000000000000000000000000000000007e14af36241d8e36fa226e365b345236f5db90366d228136de58633629934e36a08c7d367d2a5b3679b33b3647c2293628d6b736970fa4368ff19436a8408a36db608a36506b843655dd7036872d6b361c6af237cc86453672903d367b0b3736fbae0d38746aae36a658ad363a5cab3600000000000000000000000000000000000000000000803f0000000000000000d432d53c821d643faaedb836ea3b95360d32d53cd533403fd26f53379f028336ffb3f03cca941b3f47010537b43d6236f298cf3cc6fff13ed0fbe0371ef7a83633e6e73c3203a93eb5a18d365c02843693a5c83c4b65383eb09f483891709336a6a13b3bdb39583d4b4062386d28d736000000000000000000000000000000008e84533525f57a3514128635e1e58235d5613b36348a19361b62f935268fbf357849eb356544a935169f4e35f0440a3542effa34de9ac8348290913489ab8f34afa2803632986c36f39654361a7e4136664627362e6c1c3625980636153c02362d14ac330395e1332f6aa5333f76c933f424c837e1d616355d28ea34cc79bc347843f835c2766c35f7214f35b8ed3d35bc96d534e6c07b3f18bb8a3c723a5f36fe7bc639df7f773f73fa5a36a5442436225e9d3c70dc4a3f722dff356607a9354860a33c1eb7233f80d80535df66c13430c1913c9053fb3e7818203838f7713664e2e43c0bdbad3e590e2736146414364bc2873cf9a9453ee4c8573788ed4a33f0c8703caabc9c3dc6064d38f20b1f35130b1338138918386a4b3137bb615d35afaf6338955b4f3801d5ae37b04e2336192908358a8caa349591383486ab3c34abec423643622936ad410936ba0ee035ff09a335bdb382359baf303524f0123588f4df371d7a1336044d043606edee35082e88365dc9763632cc61363b2252367e6518369c25d2354afeb13541faae35205065369b065c3641a15336691751367232093731e60937d9100a37aead083706a10437083d533f5a22333e63587d381c1eb638debc713fce5e083dddd0d2343ec5633c61774e3f76ef153862043c363f77a93a82aa2c3fbe4dd93592328a35b9a7c63a5b02033fee7a823807791836c5df8f3b445bb73ef47d923688b081362fdd4d3b75534f3e8952f03790b3d8352d4d7d3a8de4a03da148c637ee595e360edd483af7b754393df80c37d8890b3774b68736b9e48536f722783678846136fb638f37e6ff2e3634441836a9300336530416368ec7fc350851b835f2239635aa257a3701f08536d1fb70366b7d5236a97d533871d84d362e1d41365a932936d6c77e3635fd6c36d86f5236df91403651b29b3648c992367ce38c36ff348836d0fc3d368cd3303615f7283636d91936161c95368e5197367ca89636e7748d3674d682361ecc2c3fb59ea63e77a28b36ea419b3833ac453f918e483e20b23c362995183cc169383ffb23b43d76f90e36ddd7893cbfc01d3f1bf3093dae7f8d369b0e983ca0d1f93e68f6d5386f9e87377585613c8813b33eb506423839ff78364b8e1f3b32244e3e9296a036dac5913699e9f339c26d8b3d96754d3694f83a3684708938a53d533887499e368ea29d360f839037f5779233cef3943355269a33367edb35fdd7de323482dc32cb3eda32615ad235ee4c8330bc6d6e303c2c5f30d45d03368af28d34b9b449349a885c344c9306389b01e0356a73c8357979a635760dfc35e938fa342fddbe348da8c534d63332370a059b30d91ca13000baa930aa42a435f5d529344b72ce32b73fce32caf68833538d863323297a33037578331e4232371d93053f6215f53e1ed7953318b9d137d0081a3f2af4b13e8f79db32ea9f4d3c8c300f3f50cc703e7c987a3037edf83c933f023f4ea9fa3dac558834a13c9e3ceae1c03ea7b5d53dd877903633b2b03c9aada23e553bf3375269db34549efd3a3f68443ebb5e2138424d9e30b3dc023aa162513d274d303633a1c734344b2c38b79b92378a1b86338fac81335fd20738c5bf59360c332436626bd93504631f36ff180136f2aab635456c7835f8e19a36379c883618d860363e7441365993223767864736b6131c36b470fd3552d9713827244036e33b2d3600b6183658ba8137a0419336a90187364ade793642640b3626aa0336c39beb35f7e7c9353458943680742e36979d2d36a82f2436d96b52369e813936fce22436728c113650083a3897d8bb3eba1b223f4b7e54360af6a0384c8adb3e23d5003f1dd2fe35905a2e3c0434d73e7070bb3e11ca8f36bf4c033c52c6c03ec853813e3b014e36b7f5ad3ceab4a33e7fe11c3e91327c37f0ba993b16d4883e39e47d3d55659b361665433b295e383ebca63a3833350936b4992e393c6d043df79f163839113336a0b16937accc7c369fef5736e7103b365bbffc362a0ce3368748bc36d4089f36a765423710483f36afaa12367833ea35c87e22369455c935dc157a3516c63a35af448f360b957b3650e24c368ff43a3632d483386376fb36f25217363e24033651d509363a66e935530ebf35ec02a135e70ba5372f225236fd4f4336f0c63d36d18546350ea02a3540a5143518258734944c3a36560123361c141436ad8502360952113830e6563ef6124a3fef53e8365de4893ccda9803ed43e273f74c34036829b6a3caf3d863e4fbd043fef25d735a7324e3b31a9873e6082bd3e25fc83367c4ae8385c146a3e5760843e16edf237ee2598386fd2483e6ffe033ec37afa353626553a5f58073e99cb403d1996543615b0d039daf8b83cf6dd8735f42447356d5863381f9288372c434136fc892836251d043520a61433d6c6033374cfe832717d9a374afd9d3239c19032e58b8732c00bb93253bb0332d78efb315fdd0332db3e2436bea811368315e735374bc9354ef05e389d1f7e36b9e86a36653756367889aa37ad933e35b2eb35351e944b357d3e9e3789da3536a9d12b36e971263638f09437b78e7b36c7187236ab586c36ba6ad5337e92cc337f83bb33e683b43319a9133856fa813d08ca6f3f904f17330d44f33cee1f9f3df0574d3f06d99732dd3bcf3ce264003eccea233f60bb08327868d038a2ad113ee967fb3eec6d1836cd27dd38aec6073ed9fbb73ed4168437e19c513851d7dc3d16fa6e3e86de3635e8da82382fd6893d7ce8f83dd19c44360ec39038d8eb073df6b2c838f1f6a2369da8b2368dfdeb3482dcd233a3c5c8330000000000000000000000000000000073e11d38acaa7b3680983936b4f91d3676e71038ad16303643210c363009ed3583029236975f8c3671b26e366e615936b9414e38b592bd36c2ffa63654439936bf273a383d269436275e883642e28036df1e8838f936f937350f9b36fb889636eed1323899dacc37e9b3e73664e6e6360000000000000000000000000000000000000000000000000000803f00000000f7d38b3c1dc4353d1323623fc05a82365cf6333cdb702b3da34b3e3faa443e36796d6a39a7be393df4d8183fdf598c3653cac638004f2f3d61a7eb3e6877843727569738aa60373de43da33ee6c4b7376dcdb23825b7303d90f4383ef2a03d38da701a38cbd3f03cfb775d3d63860e380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006566d4348fdd4e35ebef5b35736b5835f7296e35c6e5d13400000000000000000000000000000000000000000000000078e61c33362f9c35460fa535ab10a135e0cab635180318354c9b0635e25bec34d7421a3500000000000000000000000000000000000000000000803f00000000000000007999a636ba207b3fc162ca36000000001c81f4364fc85b3f2ae3ab34f9a59532d116d8372234303f69da5237a06b5435aa798a3746df013f9b369936000000000b173e37fa02a43e29830137000000005bd1093807a2223e403214381c06593716205136ba0b2b3ddcc5d83678c5b33400000000000000000000000000000000960a6e34b0155b3434d208377d5a823604a71735893deb34360fe734d25e1b357c27e3344a56b734a987a334e279be346f0b40355b902f35c5e32c35023f3f350c547c35ac596a3537de5335dad57c35ac692134e9f41f346f0dd633cbe62b346213aa35503cb2350f829735fa7f8c358c21bb359f71ac3565129835a2959e35903ec1339f7db53348440e33b84e9f33b0e57634850f7b3f87ebdf3c5c1d8e37e0f2153567367b3f8d343639ee562035453ff834ca2d5c3f2545de37b67fd934101c503507b7333f45487637e0493c35d6c47f35e76b093fcd938936ed646935f9068e355562bc3ef24c99379a9f1a3436aaa53585e23f3e2c023538e320a836da62ac3512b3813da832363727e48f354525273313602933f1c01b33721b0e33147e9e3431d997346d668a34e97e8934f11ca834d3043f34bd2b81342cf1eb340a9b9735e3a78635a9e99c35d5b39b356f7c543475782f343e3402347851e033ffae2a35b87e1f353f7a2b35b4f43535a66473353f5d6935509a6d3554e56f35c6e6923425335c34feb5f13315377e33e794d43445f1c7341af0c634d6f1c234324a6835d9e55a35df028035d5948935c009a634796d5d3fb818163ea7d87434cdcfbf344026643f3d13e43dc742e13471509e353be5593fb891813b62a696354e066f34db9b313f499a7e3a08d3de33dc434e357e8a063f6078fb379710493556a17f3522c8b33e7c7ed237391e87359c4398367200323e7b36063b43e78e36356ee134338a243da250003a77efda3439d73f354b28063968c045358e50193550b8953504a591358c1388354ea185355493ae34c66983344927f733090b58348783ae338610b132b3bb0c310a869b3455c3583514c43f35c15f5e350e239d35b01a35343ef2a43476ce5b34474d9b34d86e103410a74c34266b48344dff44346ccebf351b40c53573ddbb357dcad7353dd7c2349566e5349a98d734bb1de734bc84163596550a356eef2a35bdd75f35e304853527f32e3f8618a83eaa3b673576c4cb341ba4383f9e7a8e3e94557d34e63902359600353f2fc41f3ec473da3356fa8335cb5a203ffb49873d9ddb7a359ad20e35ef68fd3e94ed983caf63a03486d2f5348714ab3e6601ab3bc776073450b78a36ca342b3e8723513b5612c235c977c93419d7e33c7645d53731c6913464b720356c22cb35e45b013517b54934f88566344a645534e1ed6a34981d8f346b36a0357a9787352a76823555769435e36ae934ab5cc1348e6db4341fdacc34efa9bc3458b9a934d74abd341993dc34a7b27035fec35635f75f59351a9c783500c7b33401d1a83447279834d480a93409d5f634a3f176363cdede34a936ec3475b0a935eae59e357df092354c029a3556b9823431b98034544b5134968f6634a4db7c3492c9f63e3476073f1d6942342669a135d746093fd602ee3ee63b8e35419c7f357ae2063f11b3a93e9880ee34ff5fba3421f8f83e9c8c463ee621af34df3c6f35d547cc3e40bae03d4425723502dbb2342cc69b3e3ebcf53c2c2ecb3439354f373849173e5727183ba347543768e69a358b4f263c657d8237fa538935fcf26d34440cc036986e4d3426cc65343857c634d125a83447558d34ec9e8a3431f9263414b91534ee3b0534f2f81334628eb035bfbd9935d3599f35b1e7a8355fac6e347d3a4134c03be433ede7ad3323a60f3445fb3034efc41334f6e1f6339864593574935a351ef94f3590215935e2f6ba34ed4eab344010ca33ce399e3352349734885d8b34fe06d234b5b0ba34b12e7235f0c067352711893554f19235784d3c35203d933ecd13393fab6867346558a6347bceb43eaef8203f6210fa3322a0b7359e2dae3e339b003fe0179a352b6b81344676a63efffcb23eb10c80336b080e3711a0993e17db4b3ec29b81341cd9e135983e743ef2a9a83d42237d35fef3d534e271193effc6893afb0acc3402a9c234693b093c4f07ac3755d7f0344a2d4935ade71d384a0d79356cbd1f35ebca893597258635f2158335b2337d354cefa634d3f113349f0fb1323c9c4c345a6604340667e233d7e47b338a238e338e11783534056435e21f67357353a535aa43153560fe27353cb61735e04d3435f37f15349cc04434c27024340c588c349495a8350f53ae357f6daa353097ca3513f70235a8890f35b293123575b22935a22d8434fc0c9634e9dea034e08ebb343b087c35c7feef3de8c2643febf95835bcf803356e70233ef6404f3f7d3c1334e21dd83601ee213e7a5b2d3f7ae3ef33285a8f35cf09293e74d4ff3ec4e47e35bf217035bac7153e096bae3e8eb72735f1d51735d5b9183ed216303e1003333470a22b371e3bfe3df84f083d33eff43516670935ff50e83b76ca85371a9fe83430e293343d469434c5e18934a9676a34f120e13357a59f334a54343308f0e733edafb735e35288350ab76135f1128a35392da635fccb7c355e0b6035f99d86350d252c34eb120434a593fa3334db3634a2be6f3583f13635490c1b352d1b2835c9873a3583e52135b4e8ed344c10db34c97bdf34d292cb3408ceb934a61dcb34c52f2035d3461335da69f8346fcdf8347922523424844d34df07203449b7173483b0e333d5c5be3c31eb7b3f66190d33f74cba357644663dd517633f8e238835db9073375632b43c16704c3f76026f35ae023f34c947e63c797c1d3fafb19b33d81776359682ea3cda1de53e64b44935b75d65366b61053dbf778c3e0da220359837dd36a7c3203decaddf3ddce7b634abc9153504a8b33cd15f443b7cac0535d4145934401c7035ddf14634a3e4693400000000000000000000000000000000489bf53475b28534f6ca7e349887a134c3c9b235ac8e8435e26e873566208d350000000000000000000000000000000000000000000000000000000000000000d3b17f358d684e350e9e3535fe84283500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000007ad11035780cd338193c773f769f89343eeabb37eae08338366c593fa0149435000000009633d239d2e4303f00000000fc20b6356843513a9865003f0000000070221d37ab1e85395dc5a53e6b75e23600000000880e3238d8011a3e75752336000000006cdf09385f69e43c0000000000000000000000000000000000000000000000000000000000000000000000002028d73500b26935e0ec4d35e4ee5a3578aa43349a072634cf6d10349e420f3451092e330000000000000000342e4933412576350926ea340315d5346bc0d934b8a808345daefc3301abeb332277f23300000000000000000000000000000000e6e0ea338a63ee334f05b633ae76a83300000000000000000000000000000000000000000000803f0000000000000000fbb3c13964c9733fae71d635702280355b616a3c2ed3493f24c35034455c3c346246e63cb4e41c3f3572bd3400000000e66c833d3333dc3eaeef313549a100350fa4873dc8538d3ecc861e34eec30a34dd900b3d48e9173e7d27673300000000c49e733bc88b163da588e333bdc1da33000000000000000000000000000000003a43a734c758a83451c5b0348331b5344eb8063586a3f6336a6f6732b1cb11341adb38353f73de34bc58843447c3d13400000000000000000000000000000000078960358fc08f34fc432434548cb134a8b32635b815c2344f7b45344466613400000000000000000000000000000000b3131b3522c28c33af940534fdb4df343720b431590fbe314a6b5731575f393127c04233873b803ffdfa403b46870634e8d87d35ddb9783fabeef43400000000967d2b38277b4f3fb2fb493502cfcf348ab8d23a1007233f00000000000000001654153b45dbf43ec5653435efd89f335597303c996ba33ee44531353dac8b348069b33916163e3e000000000000000079e7e936ae97693dd22adf343f01f3321722d736aaec2a37be048331eeeb8f319ca63833b189183364541b331777283317a49634b2b27334e6838034dc1492346e88ae33330ea633be2b723347dfaf33d8d75034f46b4133680b4b33113bc133735019351841f9337120f73383c73f3408f2c634ee1e8d34bbbf403404da68347bb1b534d7bc6a33000000000000000048944134e8530e3456f5b433e9a5e1337244cd335c38db323d98b0320738a833d0741b3308dd5b3f3234173ef1c71133ad3074349c517c3f85d18f3cb0935c3419e2ea33f3ff593f746835349e67e733d2998a368b9a283f844e923454604b336af3c539de8af93e68733a35d7b0ec3387ac7539955fa33e55a19e3410227334101669393cb02c3eb6591e3498707a334babeb34ec25833d94058e33ec1ca1336554c43325b21539f2cfa6323033cd322e271e335553293367601a33c5d71133e1f95634a0e66d3476e23d34bdbb3034a6101e35115ecf34d4dd8834582dfa330ed55533000000003ed3843256d6da333f8b21354cf53634985d3e34aff00a3580ec7f346a1a6534437762348d769b340000000000000000000000000000000011fb7a34624e5f34511726342e1f2934ec2325342cf004337526e832b84af432ce130533d6542e3f2eb6a63e969e2833974a473422f4523fa2b3393e9bc77434a5bc61356e365a3f8d75d53a65fcc4344a3cd8349e4b2e3f82f9f933000000008a4f4037e259fe3e8c470b3574396b34e8d56f38df669f3efa02ce3465ea9934abc71b37787d243e0000000000000000f6eb3135bf97fc3cfa7c5f3474534734fc870d359f42c639de900733836f073398ca463368ce4a334e7a17336be70833121601355ddc9534e1d49e3250679f333d7fe0345ac68434c6ee2e34a3a46134e75dbe34b87d2f3474dc5333e9290a34a8038535d40717355e9f093569d02b355c021b351ce2bd34c9619134005f833400baaf343ceb21346ed53f33267fbf33e59b8834ae955a3287f14f3223174b34ffb40034e2297e31fbfbcc30ad574233f2947e310f67fe3e3a40023f7df97b31404d423460a1263fa6beb33e0ec29d32fc2c2135f79b323f98b52f3edc9949343f770035416f2d3f9a77a83b02708733dc6abe3721ed003f741542384e7709356bc964357121a63ee4ef3b3567e889340c7df334ffb80d3e1e479a347c2d3c3395191935355d8b3b3a577c3297ec893249f254340e9c7c3486eafb30b404093102d06c34a7297d3323510033ed2d06330e8ea134b0cc613456155534dc036234adb27b331f27d4320000000022d1a532bc717a349ce00934e97e103486826a340596593534e8d634cfa8973499c3ca3476a5ab3478c792340bee1934c02f3b349bb01e35ef5d98346a8c18349d0a4734b3a05934583a263456f10f347e271b345143043323cbef32236bdb3298ade832acfe5e34cb4da13e62d8303fe7db0033c2128a34830be93eea1f053febc364342e2b613449a4053f1041a63e56899e33c38eee34e605043fa20b3a3e2578ec3344607d35e91ef43e3f4a0c3d28d6b334c58adb3442fda63e59f0ce3652bb6234b98c2037ee511b3e83c0f634adb47034e517a8344be8243a0b780934b7790e34c90d263398920e33e93ae0321da6013327d61034126fa533560b1033dca60633da629334ffa6913495b25034a61831342fe3cd34e2604134ac75a833b27a5e3394c2af339e044333b799b833f55000346fba3835d6616734947824345ba5bc349de6c934b2252a344ee6e033692217340000000000000000000000000000000060ee8d34215e7534abc44234663a363468f93133e6fa1e3301fe0a33b203093347d1e832d1710f3eb31a5d3fc7dc31334148013522ff853e7f6a2e3faf2ba13461912235547faa3e2c63013fd533233418c3b934295fb93e63a3a63ebefbba328969cb35a5aaad3e70bb3a3ee9921d35e79b4e3598ee963ed9d15f3dd6d991349b557c344bd11d3e32b50d3900000000311b1835e1db433ab21283341d6b7a340f6a6f34bc93c33366da2633927723332d02233243c61032c3793532441e273219eb6e35dddff834ce0c5c34ebad823483a573330000000000000000000000009fa4d734b6892334bb223532ccdb0232fef8923564a711357d3b9b34e29ab7348bbd6c3479f2c333c458b23200000000f0e321352f5fe93442a28b34cb499a34f9eb0f35d261c03200000000d9b8bd31b50fd93476b592343acc4c33c9ae5a34c212bf319d86663d3bed723f9638cf31d2835035cdb1123ea9f64d3f57c19d34d72eab343849253e61e4283f00000000849d0c35fc7f5a3eae33ed3e0b452633bf099b35c0f2673e35fb9a3ecb06fe343400eb34fa56523e2f5d273e00000000f18b3735b13ee43db97dab3de4759434244d5a354bf3073d55f5e6340000000004f8bb343b89e734b6aa6a34bfb7b23200000000000000000000000000000000916b323514301f343ae42634d9d91634e5702235bcc242346735b831be12f83220d81834498be633d958f133a97c0d34495ae2357b87ed34764beb34f40a0c357a8b2f35428f813467446633dcb29433278812370c57183433421934458637342cc12c36f7b5de3554ef8f35b87a90350000000000000000000000000000000000000000000000000000803f0000000011fcb634e85a5a3d1c5a693f631e17345f271138b0676a3dc41b443f50154734ac10d2341c919b3df9b3173f46b2f1330c87e735cc65d63dabd1d13ec5a1463571aa99355a3de53d146d833e86750b3454162734e12e943d6e64073e27590f34fc692436cef8303d7cd5143c9eee0d360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a6ca133dff91733000000000000000061f55b34a550403400000000000000001be7f6341b1de934cdd7b034529f0d3596bc3f35b57b3135563ff5346ed01b3523311335c64212354e17d4340385f23400000000000000000000000084cc463100000000000000000000000000000000000000000000803f000000000000000056d47b3d170d5d3f0000000000000000d7859d3d08ca2e3f5a4a19356ef874334861263e5714e43e2d06963457209e33f09b3a3e32b58c3ebf9115359205d034bfa62e3e36c6153e815761355f8f3a354e57cf3d05c5b93d530e12354d16dc346d61503d8722cf3b23585434000000000000000000000000000000000000000091cd3a3706007b354aa79d34d63a243400000000000000000000000000000000434c52349485693300000000000000000bf16035062c4835632023357a47203506bce2341aa2aa3425926134f1a189344f1be63522fbd834bad2c2346bd8ce34c2a78d34fa6d873491358c34d8c69034000000000000000000000000000000000e581534b6542034e53a84349a8c9c34bb7e6434c11d7c3ffa799b3c81cc8a360ee42f3a0d40733f000000000000000086db893ddf383a3f03e969355ea8443461a6d03da657f93ee48a7235484c4a35c613243e6477933ed438df34ad258834a962263e7706133e3fa41036b4c9d9345840c63d1019bb3d16e1ac3491818734b202843dff60ff3c0000000000000000b1e9163a9d4c3238fb3f13332258f83264625438cb692338000000000000000048050c34b22895330000000000000000fe4f6d3439d45634fe869a3300000000348d5435ae4f053578129334384ea432d1385835081f0735f75015330000000000000000000000000000000000000000eade6e357e6d3133caf024334e109533000000000000000000000000000000001357a431000000000000000000000000f626813497c5593f27f71c3e61e173381bb8fa359759803f64cece37cbdf8a33d709013c158c523f1d27963419034b34ed36753d88310f3f1828bc3538c7fd34d4afcc3da2a2b23ebd08a835cec30635ca51fb3dd4d52c3e34cd2d3300000000d45a9d3d4cfe973d7566a4356d768532e6095f3d982ec53c00000000000000009ffe263ab77e3438f77fd8324a6aea31a5981b3718eb5e3359d14e336b648f33ccd22937000000000000000000000000fbfc193500000000000000000000000000000000000000000000000000000000e4e00a35d34007357b4d1635437d2e35ccc8ef34d373bf3432ad31343202b034a9abb434e983a834b5de49344adef733246384326bb9be32033008330d03883370053a340afd203431ce2333e7ae26330332bb324e832a3fb053ad3e4cc78d3200000000864c673fa07bce3d00000000d1b92a382441643f8076af37000000008408e838e493263fb6ff0a3200000000fbdf0d3d7bd7d13e48ca31351ec7fc344678bd3dde2d433ec26cc2345330ae34227ea33df6cf4b3dfc8ac334617da5342c2d1e3d897170385fadb133c9a31f3348b313399265b638ebae6d3493e51a344bc58338b5790b361770f8346806cb3483109a35000000000000000000000000e7521636c46f5c3583c08e3417f4e533591ea0368eaa7336333629363a5b03368b231335bd910035c0b2f5349088e834e80fdf35f2c4a235280aac35ac0ab335874b8d35c3edf034208beb34a1a214350000000000000000000000000000000033525f351d895935f74d7f35ca668735412e69359b29033f2a25fc3e7b3bc9360000000046293c3f15b0893e00000000b72c1b36f933573f0074413d3d50d535a2689337d39a3c3febd76737ad3a8336b55812393abd003fa08ea7360c1ff534adbe323b60ee873edec814360849a535da31763d7df0673d625184352512c6348838ce397f34b93700000000000000004ecbd1385afdde36c5cc483571d84735dd4eb538793e813200000000f3c0762f030800368a21e23200000000000000006645553556968c343d90b1330000000028d640366268c534200abe3300000000cf982f35a55e203512b3b23429783f345547af358b6ae334751d8832000000005f72b7359660cf3100000000000000000000000000000000000000000000000074a18b324be89b3100000000000000006d4391381e14b63e09d5253fcad742329b30b937d33d0b3fff14d83e0e595a32f753ec36ec1a303fc4cb403efbe44235a6ca553840902e3f1c38233d3dd313358bcb5f3800a60f3f858d62383ddd13354cc676387915b53e6d9ebe37dfb585354e5d8e3af516e43d0926f635a18087343b0b49381dc4143700000000000000005fbaf936fe35113400000000bcbf143100000000000000000000000000000000017c24370000000000000000000000000c424c367a309632d890243372fb8233000000000000000000000000fb60a73151254736f828f3344506ad348236ea3413c33537c3935f36ccb6ac351c043c352dbec636ee8e71344570513422774734d03563340fb770344f501434f70eae33a3c00134ef478e330000000000000000f846aa37beaa343ef492533f0000000050592c38835bab3eb47e173f00000000b1948337506af63e5035bf3e46848135e5f0423765ea0c3fe5dc273e00000000c2f16e3710dbfb3efd06873d35a718359dfa7a382736c53e542ad338c53b9036729573380a47323ee701213857b46734b7e8c9386a541c3821828934d3b56634b9b9cc37c4fb6534ad3302342b5c6b33fbc92137e4e53634aac9ec332b117933000000000000000000000000000000006ff38235a75a7b34a5639333962432330367c1363b1e7f36b6f1ab3582e37a34ff3a233528e10d357963c234d2e189347ac29d3595ce3a3506ac2b35cbbc2a35a929b9365fbe83364ade1136228a98355e485b3405825c34279306341af0003408228334fb6f82343099d9344f4a0335157919381082b53d84456a3f743fb83480b1813889e9253ecd443f3f00000000923abf37f39f993e4f8e043f182d513406187637116bd53e4763913e03e788368da1ed36d41ed63ebd32103ecdfe063560b25f358fa4b43e2f3b853d7cbb27351b5c76373dfa293ecc6d383d5e5a863610203838f3f5533da8e88a378367f9330c99b437ca590f3401e0c33383091934000000000000000000000000000000004a7da1330000000000000000000000001a815935ccf42b3400000000000000002f39ab3501f1bc347f02553400000000e7c68d37ac5f9e34000000000000000021931536617c913521393935f1d5cc3473cb15362440bd35f3589635cdd5823526d4dc36aa421836c1aec7355ccac1340000000000000000000000000000000000000000000000000000803f000000006f151f3810a7d23dd917583f00000000f005c43b073ffe3dc3412f3f058bc1349fe0743870457d3e6563e23e6eebcd34d6f4103867b58b3e27b88d3e668d7c3490846a35088c813ecb91153edd9e003608ad34360909103eea5cd83d859ef3355f821737384ca43d0eec1e38a7bf23360000000000000000000000000000000000000000000000000000000000000000c9b5c336b986ad3678cbb936df7bbf36adcfe93681dc883681e58e36d0c1c536cf8e8837761d7136cc1997364f738c37a568b33775800e37c422723717c6ae37b13acc37b62ed036d7d64837ba4fd43754dd5337ef3c6c3651bcbc3622c26037bad17037c8f38136d8b2e636ec705d3700000000000000000000000000000000000000000000803f00000000000000005e6bb137c6f27f3f6d018837e1c4d7362957ec37e220573fd0e49e37b7d529375ce11d3842e82c3ff115e3379167a53701261738951b013f281ce737183abf3702328538a008ab3ecdb310386b36cc37478fcb377af12a3eee167737e29344379b54a837969a803801635d378c293b37000000000000000000000000000000007e1566376a9a83349b0f2136e88d3837d55d5a3642374436accd523608db52364b960c374efb7836141282363669c536be4b803729b08c36bb17f53644466f37fd1eb037126aa53615f2b53624c99d37d6dd7937b10a823609478436ee6d7637025b843768f95136f0410d3798fa87378789be3728487737c09d8d372ff1b837ff1a9d360e555f36f14b9536d6ddc636636db136cef17f3f4cb93e38196c77372208553602f67f3f0d42e937e3335f36f600c137513d563f58fc2538c33a5a37200ed0379f352d3fba340a388a86953713e945382c28013f5c106c3898e6bf379b94c237a849ad3e86bdeb37bb077837e2f50e389b91323ee28a21388a516b37fdc6a63787c96f3c64dacd37cf1a9c376d421c360241673748da38368b4b3636a28de13714ca953744f67637dfc2a6373c1fdf367975b836e730ba36318cbb3621108235fb584b35ad0e5b3508076235c50b92378afe9a362dc59c36d9d4483729c22237be7a953670529836252cfa36839f5c3792374a3629c4503695ec38378ae20c37ed8721366a8c23366ba0dd36e8ed143737d64336abc2803677160e37bac4de3780b4b83710a8ba3703f8df37bc4c5b37d6a0563fce39253e4e8baf37bbfab8362e8c573f63b1213e3758bc36e496633551a1333fbf50113e4bba6b358ad99e374bee153f0d45c63d4db97c37c95a26375661dc3ee8298a3d8073f73621466c373698993e9e3a6d3cfcb43937a6fc06373c2f293e3210b6373e088036efdba136f158523cc3393637a8b9643680c4b0378a98193842eecc37caca9b3720bbcd37699292372f3b2a37091d8237e9370e3767a680367cb68036abd98236389c38376ed1533548ff3a351ad35235f2ee7a37a08d88366eed86364ac79336302903376c5df8369ebef73656c9003754e0eb3794ef613793d25f37825ec737bfb88937a3fa8336105a8c36d5a569370ebe5737b6f7f4366d91f136032f4e370b8fe03786dc8e378ab99b37c073e33742e14137e4012c3f19dca73e0f505437e7fc82366a2e2d3fb78ea53ef83a8436c1e21637b5d4143f0bdc8a3e342260351b247f375527f13e2b31553e6102b43631ed0037abdab33e64c5193ed78cff36f257d93753bd753e8e3ca23dd041b73764073c370877053e75f1853cf8e4e736efd70437bfe32e3cf66c8137ac64ed36a25daa37c299293815cdca37bb83433773a7e0379a739a374b4efb3582eeda363bdbd73615289d36fe729b36f7189e3629c186378fdfed3637d1ad3693681b37f344cd3784f2563720c81e37c0588c3748ae5938a6aa0a38aa01ce371607283824f3e437f4919237367381374ef8be374a1f19387d427037b0ca4937ef1dca37aafbc7373527243751efeb36c17ea837df13ed37197cb037fe449d37b733f7371658df3653ff003fdad6fd3e615789357008a03694b5023f067cfa3ed36f9d364bf85537743bde3e99c1d03e857d0e37f3b0bc37bff5b53e2288a53edb2a8537991355388ff7853ebaeb733e41ab2a38b6b8cb37708f353e4c56133e701ca03754cede3778b1bf3d4d19843d8c2d71379da852373d6f90384fe63f38fc78cc36d3d7b53734072e3876c2e137d2653937a06cd437b14a81372ef2a636e8a7d536f0d9ed360424e436bc1fd8369df5e0362baaf13625b0aa355478973551e59e35e761cd37cdf50937c29a8a3665c51937daa1033748aafa36eddbf2363c43fe363029bb37dd31b236e9088f36213e19371b7fbe37dbd43e37a2356736f06a853781347537b7d43d374bc80f37d6686e37a235d8377670c037f8b5aa37f597d33760ba03373edeab3e6b002a3fc2a5b436cc24e8360609ae3e1636263fd8c1db3639a4bc3633d9993e937a0d3fdf2aa03597d7ce3797f1763ef106e13eb1673437af5d013705b1353ef264a43eaa2bfc3633cdb337d7c6e73df465543e4d5510378c4aa037a7d04b3d0faac73d9d642b373af63d373e9f0038c012da3705d6eb36a40fbc374c4f0d385453d837e6c383374d1fd037563096370c21cc363d5bf7368b3c03368f43e53564a0d0352b30d4356bdd1b36f20c183694c8053697650e360de32137165a4536ebbb2836d8c13636505c303738df973626d591365adc9536e313be37bab0533742fc9d3643d05437170377350dcd7e3536aa64355118673573d0833727e34e37835c073784c0843754a5e0375238ba370b14aa37ce44e037525ba23702602c3e6dd9543f74efdd36a814ee356065343e24974f3f0a95d435813d9836354a2b3e3ddb2a3f79cc11369c4357370fee053e93f90d3f39144036e04e363747cdc33d4d11d03e8d5496365668c6373fc1453db7cc893e8f1f4c37ce087435c91e303c550d153ed4fa6a3503b364371368d637faa3d637c3e1d1366811de37e7eb12384303ef377c0c79379a35853662f42c35c4a32635a2402e3575546937581635366e1522361e2b3136ec463e3770894d36199f3b3656594836a39a8337ea8d8036efbf7136b81b7c36a5ca023899153c378f0a9f365d57b9365b2dbf37304d7637892d97369de45237d11ccf3767716937382189368d6f3837e37a1037fa8a6c36e7236536ba9ab23629c084379324543791a122374cea89374ac69c36c34c20387cf47f3fb4772b356f6799373b9f8d3c00ca773f79542e36a2329d3701959f3cba554e3f47eb49362d7caf373d2b643c6cc1253f025d96361c6a14381a323c3cd9b4f73e56e29937b4a4d03799822638be75a53e7d467737f4e5cf3745c5ea38c5bf263e29fd85375095d9363088cc37ee9305384df46036d46982372f1bba377fc59137c34f793600000000000000000000000000000000b1f7c436024215361c140b36b1bb123652d5193732c22a36d1571435739a3435a5dc0b38ef2a7637579fc33658ded136c137e137ac9d9d37a8470f370a9f61370aecde37bc399a37c8d289360b32473780afa8371bd2633786e79636bfba3d379c56a23709468837f03f2837555883370000000000000000000000000000000000000000000000000000803f00000000dea34537c460b63766f47f3ffa681336e3f2683777b7d9371733553f066cbd3628b314382d2f89381f632a3f3a890538830ce8378f031338e0a6fd3e7ec0d7371ce5e237023b19380e0da63e4e29d3370b4f9e37058be237034b233ed41ea137a099843762b9c1379b443a38a0358a370000000000000000000000000000000000000000000000000000000000000000a3f647371a394f34000000001759b334e0560a37001fed35c112ed35cb4a4236e777c23758726a3780246e37a79b7137a93b9a36de2b1036a3e31236e4d31236376bf137dd3ca437e1f7b2379f60cd378472d737b0fb7e370744933779a1b53742f3dd379a869d3761f5ad376b31e23700000000000000000000000000000000000000000000803f0000000000000000ed317d3a5a9a713f0bbe00389ab9763784437a3a70644b3fc8980238cbb15d3750e33b3c30ef243ffbec28389deaf1371236333a4bf6003ff242e437e9852e37cadf3b3c1e51b33e594d42382b651238ea4c67390c2a583ef8ba0d386cfced37fca0373865b67d3da689f5370a2ced3700000000000000000000000000000000d2f50a38617a803751f2a136693db636b4c4c13618458b36eb4d713632ea8336197fa436b7d03a36b334393613bd37361ded46375f799a3690649336f7f2b3366741e937aa4f17378c7ddb36166a6037986bd0374ad36037c4386f3759199e37cf8c4a3732e9d8366771fe36742132373454de370d8a77371ca57b372572cb37120e933705a52937ca5b403745298f37340d6b38ef94703fdd74753d2cd707388c75fd391fc4623fe6446d3d1080d736ced6993c38183e3f5a97233d2f4a283724586e3cb4501d3f93d6ca3c9e0480375049b73ab37cf23e8637803cb52e0938aab8293ce03bac3e6cca1338aea3e737bee79e38a0b34d3e5ae4f237e9675d37208fd23945ae803d34fe0738fb13e537fd2c2038a49433387cf46d37382c4c37048b0b3831b0b537863554370dec6237c33d8837df279236a9f79036139d903629d13b374ed0d23690479436221db0360604ac377767c4365f6c91361e3cb73666b21438032c9a37b5794237cb61933781cbc13784b3823784658137d5b08c37c1d0e43724b27c37fcaf4537d1489c373a1194377c320837cf2314375bd86237cd015f38d7404338d3f8403888d91f393f6b7c39f7744b3fc5f1503ea98dcb3799bb2839ef35423fdb0c483ed2f5683797fc47391862223f7fd5263efa103737f6d3de3915da073f466df63df288b3374cf5a739580bd03e400cb83d58421d3823de9639948e933ebb22133d5807cb372081543918ef353e297f0f39f170ea379d293038fe30733da7b5e637ecae4a37390bd239136c2e3ac6bc5e388dd9493811b51538dad5013882f59337c5b58637da529d374e8e98367a1c4836d48e5536ed3c493795224f35682c4f35c5624e356a160e383512ac3782134c371eb66f3743b7053747e496362cdb41362d4d833639de9237e59285362b5e45366cd289360c5d01386a3789370e4d093712698f3779c8dd377752bd3781c0b53710efd6373cdec83760b79c37f9e18937695eb23751c01f38501a263f0380b33ed8160238c16a1e383b131f3f8b91a83ecad06637734c5238e6c5073f0fa98a3e7fe41a373b472639dc4fdf3ede025c3ee5c80c385a34903811f0ac3e068d233e5f410137d67d6d38bf797a3e0107cf3d8f6668378b8f42386a37193e9b9d393d96b3f1377c9e0c38eb275f3d8c1b0c386dc8c937d7ee003893208839c533d137e81e953703ed4d38285c29389c9291379bd9643706890138b72b5637b5e1eb36a2f6e3364838c83779a99236674d8d36caf18c36e2b2083882d2e4365647d9366bdfda36d47b2a389f85ff3701e5b03722b2cb375a1e26386f9167370fa3e6366019ed36c6f270388dd1b437841c1637b6bd9b37ddb0573896da2a3827260638b5f82f3800564f3846473938868c2838ec024638b1d7593859cd003f3e19fe3e97bf2c38e3ab5f389a14f83ed5c1ed3ec48fba375b461d399399d23e05a1c53e179ba237ae7b0e396909b03e7156a03ee066f6370634b9391dc1853e4f09743ea1a9283807ce2339cdde3f3ee1ec1e3ed2101638883f5b398a6eea3d4f8fb33d4ccb3938d7ae1e391146233d0c6c313cbd0b3a38d93f70387f7e8738f41d5838cd852c38996bbb3756c67b37fe110f36da2be535f9f87937fd039736cfa8573610d95736ebd683374e91b736f0d17c36f5d17a36ab2edd36adc2a1355267923544dc92352068fa36b1f7943629121b3678e11a3633051e383585f4372aa6a83772b2c337055ce337b82b3e3726ca5936490be43698590638ba19cd37f702823773beb43769a50b383a22f73752a9d937f65d00382f0ddd37e065b73e222a243fd1a39b37d8ead9372966b23ec2ca183fc7604537ba532b3877bc993ef12d013fb1e96f37eb6b4a381ba47d3e3a15d03e72028d3691863738da08443eca2a9f3e2d9af6360eeb5e3879a9093ef7565b3ec0d11b382cd24638a16c9e3dab38f83dbad0b137de6b2338413aa63cc77cec3c7382e83785702338cd9d5f3911c31a383da3ef372c2455387a1b2d386dfeaf3733043b3786669836256397360da79236aaed9036b4508a3708c24936632f443629b93f36212a963756ae4b371eccd136dfc5cf36516e193863dfc037f7a58d361cd999369b30e837c0728d372c66bb364b98d3360fa48437bcd6453781651e37b4f82b3734f4eb37b95bb137feed5c3794e88c3708c0da37e9b3c8373a07b5375f36cb3771521c39dadf593e2018493f4d174d38c16ae03784fb573efcc03a3f6f33983686081e38128e4e3efebd1e3f842b9337ac531138cb38283e8edd023fd3aa99376eb684382ee7f63d0ef2c33efa821e38c78446386721a43d3c57893e8711e637637ebd37cd452c3dcd40243e8b42773768ae18380f382d3a3975383df166cf37102b7539d931e23929f121380e0ab937ba7ebb377c5d8e36fbce7c35578261350bf09237e34f043606ccf035b37beb35e51dd136aefec636564ac036d455bf36b1f5b337da9b2d370bf91336e9060f366ac7033897f88837751f6036d9c65d363864b937323c1a37a67d9136369fa536ae54c637904a213774ba44368a48453656279537df4f50371cc7c636ff97e9366f38e2371fa499377a8519372a9b5437b57a0c384b8d8c3d5c5e6e3f925bdb376abe2238910da13d31a15b3f4f4cba3747d22638dec6963d13ac393f64b04e372b891838b8f67e3dd142173f34c6d13774b04c38aed6533df430ea3eadc211384e3eae3887cdcb3c9f71a43e5572e93730dd8639e8b7693cea803c3e8e83c937cd16e7378db3913954ff623d69e78437c48b3038fd624038cc251f382f6b8b37000000000000000000000000000000005d68bc37d1871937542f1c352d5bd634319ae837acca69376a466a36d65f5f3633aa223838fcc5371fae0b37982fde36e155b3374fd50e36b5a7083606b908361c671638ea3ae037198e6d37e4aa6f37f34ce83737589a375191d3362fdae1369c2604387a1cc537a36e8237c45f8b370000000000000000000000000000000000000000000000000000803f0000000089a01838a51f3c38ab10703f1c67f63741014f389c7b7c397cc9493f76c62638a02e72389ea8ba39b838233fbe685038fb0c34389849d639d274fd3ea2040638d2843e38cb385e385319b03e702a2438e4622e3865197f39e1f5503ee72dfd377aba18381c248e393470603da6a1093800000000000000000000000000000000000000000000000000000000000000003cd15e39dde8d7373162b337e7d0a937f37b96395cfa07390a8bf0376647ed37deb9f9391804a739169e4d39ede51f39e525fc399bc5b839ef088c3994aa7a397d29a839b79048395cbce2388d6ba138d5a8b6397f8c83399e354739cfeb3439620093395cbf623931d44639e20c423900000000000000000000000000000000000000000000803f00000000000000007b8a7c3a11e1613fc81b183ad8ee903966358a3a3153413f634f0a3a56dbbb39c6228e3a07ff1f3fdbd5313a1f7f0f3a9159503a54b7fe3e0394253a60f00a3ad7d5283a8509be3e48cbf339c518c23973325a3a2b87773e13ac093a55aaca39ef79f2391c34ea3d2cfcb239f1d0a33900000000000000000000000000000000a5eeaf397064853973019338a7e61d38e7ef0c3a7748b9396bd6e138c4123638dc1c0e381b5aec37bfc3b9377f53a537d9b99d38db8dd2370a228637650f3e37a828083a8496bc39150774398b154639f9df2f3914cee837b0e4de37f622dc37bbc2f8390d1fb83917a18839f0809e399f44233acaab103a8c40043a4f96083a53977539ba7653392e6248395d054d39080c3c3a0522613f8d52ee3d66b6ba39719a823ad418483f9f24df3dd20c1d3a5bcf2c3b59482a3f86bbb33d8e144e39b532683a99c80d3fd44d963df3c6033a023b903ab211e13e9465643d72d4163a6f7fb03af8fea73eb95c1e3da9dc85390f0e523af214643e1502403aea751c3aecbb543a3550d53dbcfd333a08aa283aa331b939cca2b83989867a390c237a3927a8db39bdb5be392861623962db2a39a93e8339f6620338d74bc737420faa3746aef739baf910380ebfe4377f5adb3788485239314cb0370cc65d373926523709f2ab3914fd54399e24a038b06600382a112b39ba50fb372217b7377aaaa33729ee6f3a8287443a6482113ae2c20b3af5a0373a5523163af26ff1394fd8003a5e78c239c0beaf39bef49c39e7f19e39ff376a3a0e7d403f307b783e7f08df39a542b23acffe2a3ffcc75e3e6cadad395426e63acdbd113f37863c3e25fd243a7268803a365ef33ec24e1b3e03b883399497cf3a9118c13e68a9f43d4edcbf394a418c3a1942903eb064b03d02ae4f398eabb23a3ca83c3e6fe65b3d84187d3a04b07c3a7134c33d8c22533aa853323a6a73f53978ccfc39d5dec53915f6b73924d0d23929cabb3981a24e3951540039244b1c3ab245f039c13553392f33b438d996173952c13e3890e4313833b92b3896b715391724d3375853c037866db837f721c33973077b398eea98383eb9d837e130403ab3c2f03915ea06396041b1385762ce385542ff372da6b9373a3ca837bf92163a3352e339e33ab13950b4ad39e6d1df392d86cb39643db2395bc8b039f976f7397017203f3e7dbd3eb0ced339e28cc73abc490e3fbf58a73e43e7233a0e4c063b5e5af33ee02f8f3e31754e39b6f0e83a069bca3e2cfd6c3e49247339d8f2bd3ae5f4a03e3a053b3e96b5d43943d9ab3a89416f3ee0ee073e02904f3a18c2443a19e41d3e857caf3dc862c4381c67763a5b70963ddbd9163d5e090f3a4c1f093a5cb70c3a51aae639eb92cd39227ad9394a62c5392ffa743913d318393ce59d3958110d392dd889386a0d7f380ddfc538120d2338f3da0d3858d20338c640a5396fc91f39fb8e7f37757b073777c2253aa8eb0a3a816ecd3956acb0397590b539fed25e3904d44238ae2ac237b0d82039b1788b38408c1c3848b517381d0fb339f65c6f39794cc538f938a938cbf2b439d6519f398748873926888739dbcdff398002ff3eb277fe3e0133df39bf6f623a15c8e23e5e0fe13e86dbc939a2bbbe3a419ec23eca8cc03e61f01439a0e7a23a7ff7a13e567c9f3ea455c23987495f3a772b803e77357c3e85922d3a6e2a8d3ad2663f3e0d51393ef525ca394b449a3ac297fb3dd96af03d0f20a43900a63c3ae28b733d951b5f3dc403b7399f75ef394162f1397af2c2392542a2392c14f639fd90dd396ca8973918744439f373ee39336a8c3973bea93791cc95374c8ffc371178b1379f9e3a375b7632375637193a73bc72396ef2ed373737e2374d4dc439e8617c390cf13338dc08ac37c0c756396984d937252dc9370a17c437bd198f394f98f3386a0d39383c143538fd1b223a52120d3a8baae33965e9d839bc9ca1390f208e394b647239b9d86a39869e0f3ad39dbd3e4cb21f3f5497003a8c9c843abfb2a93e9a810d3f04dd143ac92f6e3a231e923e0108f23e8b8ea638adfbaf3a7058723ef0f5c73e3f0c3f3a4fbbae3a6697403e66be9e3eca1dd9398779c03ab1e80e3e868b6a3ec64b9d39f545c03a6592ba3d0ee8183e1a63a1395928843a05bf263d9f8a8e3d4f3f1c3a829fdd396ac3e639525cbd39cc329a398d19c3396f79a43969bb3939c4cf3f382a90aa393f07bf37abd99e3776ba8837f0f7353ac207073ac51285393b65ca3842f800395e970138f1108e3750363a37d407b73959837939127d83387aaaf037de5d82399ef1f338fac0653722545737a1c42f3a6f24bd39dd760438c075ed37021aa43987191b3973bb02384545f937ee81b339b8c0a1390d38853976246e39ec71fb39d9c6793e4050403fa3b5e2392bfc843a3582683e2acb2b3ff270063ad638c13a2255403e05ba103f36fd6d3a81ba863a09c4213ecb3df13ea5d360397c09bb3a3a6fff3d9e3fbf3e7dd5073af949093ac6cdbe3dc6e68d3eb6af9e39fe9fb43a566e773d4d5e383e4a284e3a26894a3ad045d83c8e18ad3db3de93396112093ae7b5093a4ae4d8397d29a939ee189e39d226703963ecbc3813cd7537cf2e093a912eba395e249338e3b1f437defdf9378a27bd3709762a379603bd36e461093999fae1378ad5c93730cdbc373858123aace8e53916e45f391f83d738e44c2e395c44263888a4ac37e2638637b2b3753931243a3a62bcee3796d3dd37e389223a0eee0d3a941bce39ae29b339769d92397cb88439cc3e3e392f4b0d396ef7da39de88ef3d592c613fd07ccf391807773a818de33da21c473f9f2d2f3a9a60853a3303d13d719f2b3f42bd5f39a548a13a44c1a23d66dd0c3f5d5f85392da2573ab5107e3db8aadf3e934c2a3a3ce6723a05ce3b3d55dca53e0db27b395c79ee3a2ad5e43c7b32593e623ead3a7147573a1a5d603ae822d23dc39c223a71f8f339e69bf139b757bd39177f84390000000000000000000000000000000056fd87395f701639c9e5c537106eb537c728d139b92b9239042c9d38549be437a9a6d639fcb0a039a4a3d63874212438ab940f3a058ef139023e9a3946a9613967d9173a3543fd3910bfa7391ba17b395e9fb0393a5f88390710ce38f8b73938f054a939db35a739673e1f3986e510390000000000000000000000000000000000000000000000000000803f000000005be8013ad000303a7db7613fee55cf39dbdc573aed107d3a609d403fd86c223acf7a203ac86a303ad0c11f3f1d7f073a75f53f3ad7284c3a02cafd3eca52243ab050493af1256c3a453dbc3e152f2b3ad9a82d3a40b5443a48ac753e5a9cc63945c6203ad61f393a7131e73d77c4e9390000000000000000000000000000000000000000000000000000000000000000e5e15035f9614a35f9465735bb525335a49b33365ce9da35bfa8203619fa3d36513eeb369e397d3610a4a1366270e136b5c673369784c635c9b3eb3579d0f835e6029736ae5a1e36c95c5736ad209636412bef37dd488237201b9337e471d237bee1f9368ed09236f2098e369f5c9a3600000000000000000000000000000000000000000000803f000000000000000092722f375bea7f3fdd4629371a1425362e809d370cae603f4427d736ebc48736b43f41386405313f9571e037d240413780543538d817013f3a9de837a8474337a85ce837cb03a33e4acd953761efc036f6203f38884c063e1ce04038c858f637d0faf9370ad9cd3a0345fd379f67dd3600000000000000000000000000000000932f9933feb89a3363089c3363b399334a69c13548cfc135f43fc635eccfc3359da95b36ed470d3530eec835425e89367af23a3611ef9b35be5dc535a0a55b3655380e3684110236bc920f36eb200f36d7180536890a95352026c135c92c05364e586737f094433719684f3789e36037861316370c68fd3578d8a1358c9b2536186e723620511436985c9535f4d9a0356cd19633c1f67f3f87543539e9be6a370013de352af37f3f536f34387fe83f3663a81137a2dd623fee9d303831c1f63623710b3729bb333fdd5a13389ba4ba36ee111d36c16d043fbd97b53769ed143676359c36f50eab3e6147ee3866ae6136d381a7374e2c183e2ac58938eeca7c371dde0537f264a03c2b386c38c57564371e140b35584c9f37680f54370e300836b1766e3651d7663612c86c361f806b3644ed9134a84e8f3484c29134c20995348089c63612194336fa728d368537c33639bd053744cae83602e6f536c88a03374581a7364096df35d792483610c49c369e0913375892d236aae7e836838c0637d09c4937eee42837e622293798883637be5e52387e813738fb23353860954138f7bf9d370c798d3779ad8037580e7e3790d73c36a767633f24b9e43d32db7936290b94349c9e683f07d1ba3d3faa14363c33043706b8473f6bc0ae3dee7d0e37aa4c0b37a6c0243f424a393d68f40d3778e38537d83cf03efad3023dddb18237a7a29a377666a23e30f1f438961db537ca05763794c0133eb8a61c3cec9ccb3733d71f3841721f3cb0c9c73879cd4d3892dafe3689c82d389dc21a38552e8937ee8e923701779f3742ad7f37c509413703b0cf347b0cd03459cac834b14ad13401c57e36125a48366b61513654506e363ff5d73678c1bb367844ba367a5ac9369a840f35fe4b043521d2093533e01835c0a47437c53786368f9d8c36fe7204375dc337372774dc363782d2367fa4033758237c36b6105c363d4d4a3657075b36d3cff536c6b6a93620bb8936744ba936f1129236f151323f74429b3e6aba9137410ecf34f55d363f99eb923e95a0d134b66ba4360334233f4801743e5fb68a365f2b12377ed0023f7b24363e0c45e836993d60356232c33e688afd3d8eb32635cee499374c70803eacfd8a3d55e4983756e9ff3635c9013e38a8063bd0f70b375ab2dd3503c4043a737535382acf203647592c36a59cfd37327b88378e6e18360c04a7333594a8338d32a833e10ea73375ce34366899ca3575fdc73537bfc635ee364e37cc0c2037ce27083760a12137567305378cc79a36bf4f6636e216b536860f19367bcd0d36badb0936eb6e083671202a37909109377887f73698ff11379e36b637ce5e7e370e85733767d57f3776b9b33742158237d30b3f37fbe76237ead756368736a733e0d9a83366e9a633dc8aa4331e23013f95c0fd3ece26a5334c18ee35927e053f7ac1f43e75bcc535000e68377c78ed3e9ef6ce3eac193d37316f27374f0fc03e41339e3e97e1ea3618b62037637d8c3ece07673e5b3d0c3675b8353776a13e3e94fa043e23551b37872192378ca9b53d60c4313db7367f372c5a723779e5a53964d145381f7c0b371efea533c6d39c3841bb0438c1eba53391e3363641ac17362f89fb35f8210436624e1334fe9610340c8c0834d7bb06340f4e9736f7fb3e36d649e635f41a1e363746bd362aba6a3607415836482c5e3626862235ca46ee34eaf8e6344407ee3497f83f37be3eeb36cd8ed136041fe03670eb50373e18e736691abc366588df36978e003885fae137987cb5378c84db377912c637c3a1ad3719989237b6c7a53794a91736c739a03ea3e02f3fd2a00236a5071c34e4daa83e346e2b3f7c640f34e10fdb36455d993edd5b123fbce8453602a6a63744a6763e2084e13e13317636e88767375e3b373e7ceba13e55edec34b31291371a77f33df0e9443e70b20c372ec28437c7054e3d6767973d104ee036a2241438bdc71d3a7945a638a2826337fe1bf737b65d5a38d5dc1638aa14d836ad3f7c37da8b8436e01d08369a6a08362041ac37b7119c34c936923422739734dad92a371e1ffa36eb468f36d172a636af08003713ac85361effaf35d3020736f7a8f03652bc4536a0e494340a56fb3585e01437330808378f5ffa3629b708377fbdad37d31e4b37a134fe36db481337883c9a3678728136e80e3a366d7169366cc57936cb4f6e361d4b703619f27b36d073b237b904f83d93f3603f10760936b33d3238c7fd073e45715b3f98199734aa9dbc371e0f053e6e60373fa8cdff369d3e0b38ec0de33dee63123f9c6397363958073800d8af3db573d33e88db7836959a0838c740533dadfd843e60d80d37dcb00138a24fc73cb0c1e13d97f44037055493374f07aa38fb46833802b5073647e88f36a549b337dd8b86361e2f593644dfcb3587010a35fedc0035ccc20835507b97357782973531519135a81c93352bdc36370007cf362ec282357a27d03534cae33534bd3a352bc5a634d32bb63451a11636cc340c36f9c8ff3587fa053609a507374b35c636db451b36a3067c36a4833a3749771d37fe87ed36da280b37229c42379ee113375421a136352ee636647d99338c079d335b1c9f33aba39b330e992337d0f84a3adcd07f3f91be1335aefca137bd1a093bea6d7a3fafc795356cd4ca375ecf193aa5d0593fd0fbf636975a8237999dea396f612a3f97458f35e13cba3622f6253af8e3f63ec11e0f36ccf0a63770780a3aa551983e4e90f63646bdbc37ad2d81392dcce83d0f8f8337cfed813798165238d620723802e0bb3623c43437d30e16380ab14b370b14993300000000000000000000000000000000395271368976d935796459345bc60d3593f33e372024b235f23e6335979a8d35fa1b9a3616820c3689b1d6359c72f035c1787137b50b00367587cb35df94eb3513a0af37f53568379a80ef36422900379333a43741674c37118f853657f29d366ffc3b37666237376e751537eb661e370000000000000000000000000000000000000000000000000000803f00000000545eeb3673f004387b947f3f6ee1533685fdfa37cdc832381b5a5e3f52398136d8e4253751ca0e386f762e3f11ee90360e7bda37cf0e82387cc5fd3e8022a93735e2c3375fdb6f3832da9d3e9cf60f38d67a8d37b04529382b5afa3d920af4373e922837e8b8c53737c8c13933858037000000000000000000000000000000000000000000000000000000000000000047e7b235c9094e354b453f35bd103435b3455035896a4c35d8af4a3536ba4935000000000000000000000000000000000bd16633f30c53337f4a5c33dcab0933ac32fe34bf9702350e9b0535397902350b28823726148136c6ee6136306abf369866d1363d9a21362e1a35364afa693600000000000000000000000000000000000000000000803f0000000000000000c08454386238783f5aafdf367a15b83559612d3846b4533fbce7e3356efb563560c4373ac04d2b3f0579bd37c2ae863323a99a38fc67023f9a9f9f3789307d33f577e438e4cdaf3efa4ced376a8d5635595ee4397e933b3eb2a93d38a782c3379e380b3829f22b3da84cd4373430743700000000000000000000000000000000a1858f36c76e6e367efa613673bc5936b1f091364bd47e369e938036aaaf7736f4f7ad3426b17534e5a97b34cd6b74349523ab3489caf73261f926338cb2f7321a03603650e64f361f19533689fd5036f4474535dca220353b873835bd87363527a47235926974354625793511f2703515b51a38e122d737157ac73753f6dd3735d56c37db5b0d37e07fb036f552f63675fcb237d7f27f3f89d6ce38bd05d5379db18538a5727f3f67858c3898329636385e5d38d07c583fd03dfd37e6ac20357bc5493828cc313fcc4ece3705dc2f35c261cf385f36063fdf29ab3814a7c13797d0c638c425bb3e95a09e3821728c37308b263828425a3ea7d8103824129b3512246938cd81823d065091388ad13b389435bb37492c4b384e5de337687f5e37576f3136abfc2d36cd2c303676992e36d06ba136a05c95363c4697361bda913631f07d3342727b3389d07833923572331812d3353344ae35197cb835c21ab6353bffe1363a8b4536a31d4b369b154536fae20e355860ef342c440d3571b9f734cdc161360abc2b367d102d36122c3a367790d73786ed8d37e9d24f3799ea78371806ca36ccb0b0368345a1367de8ac36812e2036274c5d3f9fb60a3eeeed95375480b7363719673f107baf3d3bb8a736fcda133788e83f3f546c8a3deea88033c23c713757f8243f6225c63ccf8cef35becb093838edf63e4221bc3c7e4611376f1f1c367928b43e6a86ab38fbbf2935d2b01238d340493edb9e8f39d6c41837f7041338f49b5f3d93546638fb0ff137d1e1743758677f387560ec37a166b3366ddaf1356563e6359df3d935b5f5d6354fb8a03612b9933662e48d36175b8b36551a0c363c2b0036919ef935c719f835f19541346925ec326c7e6233cc208533574d40366a803236b26e333601d43236128a0136f826f135f05ae335df03df3574520b3661b1d6351d7ddf35bda00336e8f3e437e06fa53721188c370e0a983739cbb437cab381376c924637e60f65373e16e8359bf32f3f9011a03e7aa6ec352d16b636cc8f373ff205863e13c4a23679f74938b484233ffe2d4c3e4c0214368a9d98376be1053f7eb9143e97148f34ff6ef2372c09ce3e8fded13d06664d36e91413387eaa943e56d8623dcf4b0836bc86a63746822e3efb23913c56d45f36ce6c2038ebd2233dbf47743854e5f1378f640238a888403897eb083877428737c903aa3711c954373d5c9d3689d48d36ff64c8363c33bd36d4c3b236b90fad369b5cc93542baa3357194803584576535803a3c363c822d36bdbc21362cec1c3654a105383bbfd536f5bba33678d3a536015c9e371bfd4b36c6384536f9463e36fccfbe374f7a05375b9211368a450f364f6f3338accd193877000338b5640c38af7ec837688b9a370cae6a372b0c8537884f113831db023f0d27fa3e61cb853736d221382162093f8bffde3e2978c436a9fe1c385585ef3e03adb23ed321d135a716ad38ce1acc3e475c873e983d2d37d79fa6383aae973eda8f503ea8792c38491ab4385d01633e7bfceb3d16c10c384b2343387823053ed3b6593d6e4aea37633363380f03e23ca1d9af38686034387c7e3f389a108f389a593c38e5a58e37ce13ef36fed5c13581ab9b35e3469835ba637e36523a643664474e369bbf403649a91234899db1333eb7ae337688aa33cb10d7359a81af35c4538f3567b18e3548853836373836362a083736f4b03336207c8c348f325e34fb971a348183e93370f6b93759190b37ed8c353613ef413684803937c733c736b06bc8367b8fc5366b9af335cf04f935e506fe3505b2fa35a113e737c0b6ab3e99152a3fca9cb4351be9f83772bdb53e05e01a3f21fe743644de99370a4fa33e2354fc3ec9c1b3332dcd1f382f0c8b3edef6c33ee277da35a4d8053876225c3eb07e8f3ef35b3f3658c3e137f5371f3e8db2343e7e3f9a349a838b387f54a93d7913a23dc36d023895f00038ff59a93c6244023ac5273337457a5f373fb6fa37fa3a8d361adaf135c3a9b435849347358ed40f35c02607359383543677dc343617c4233630cb24362e10c135a7dba235b38b9a3599ab9935d58b8b346537e433cdd7cb330ed0a133f82bc436d7c83836a37428362c1c2936dff3e335f7e9cf35b56dab35dd7bb0355afec13556f0893365b189332ad58833690bc036e5dec236264bc336c635c636de2f1c364b0c1636a54c1436d68c1636793ffa37130b253ebfb8563f65cc4c3583e113386e80323eed58453f54f2443699531c38efc6323ec7ee203f2ddbbb358e222c36df88183eaa8dff3e65068034c07510382921fb3d3a88be3e40f9d436829f2938da49b93d26b2763ebb2bed35649be537ab7e503d5c0a073eb92ef235b6db0b38abc6363c587ade3954a1c33619e1ab374bdd1138448d2036d973153619b2be3599baa93532d28b35e1398435d24163362cbb41363d910e36a6dd0236d2754a34047d4934af86463459833c34ea5a193551bfd334e212893496118434418ba73731915236f9b93b36d5753b36cf00473517a53b35c347e734771dd2340cbf2e37ed97aa35c5c79535538f9435d99e5638ad032d3828ff9737a4629237ce5c813642c06736c85f5236be58533628031638aa34233cdb647d3fb136b33589f47b386388a33cce826a3ff97b56368ada0e38246b953c25c9443fa4a84f3472f3b838dffec23c364e1c3f638c9b36641ec838de13b43cf73be83e134001384def36383f85d53afe9f9b3ef07e7f357b7155383c09ba3aaa8b1c3e0d1b0638438c983832b7433a07579e3a838e8638b166fb3772c138382e645537cc9a7136000000000000000000000000000000006e45f1349669ef342c79e534a8e0dc346bfd1f36f45c28355524233504371f35822d03351efb063543720735bd140735632c98334364a53330baad334b88a63309b9ce3751529f360000000000000000c4c799372ff807374e4ae635a51ccc353a3b3538680f30389f8c0238fe08ec370000000000000000000000000000000000000000000000000000803f00000000fbd3f437ff119e38b636753fc8f8ef34835f713810d52f3ab2c6503fdb4ca0360f0752384b538d39b409283f6835153580843a38d5221339b21efb3e56d8493778774738e796a93abe4ca83eba381e38c186e53711af423ad773303e7f8f073889562038f24a88381222f73cf27b6b38000000000000000000000000000000000000000000000000000000000000000097b7ad3556e79235ce9f873501638035bac48133e6ad7f339ccc7d3348a079333cc7cb35e045b83555beba35650bb73581c618362d101636451e1536c6b915369d881537411f993615a774365a154e36b6ccf637d4149c37748c4237a95a0337eaf3ef379c27b037dde39037b2b48a3700000000000000000000000000000000000000000000803f0000000000000000a0d79239dff26c3f7cde73372c97b235b323593cdec6453f0964963667228233e5fb033be72a243f709ce5355204d5355b737d3c7440fb3e55494b3833ea093717f5603ce3d6b33ed64b7d382bbdd2372ad95e3cd5e74e3e095f413887f517388d4a093ae6969d3d3791303af0bf4b390000000000000000000000000000000079abc137d4986137ef1ea036fa7e8e36fa4fb3369041a63691ff9e36e5c59536c548fb34ec77733489b73e34cb2233348d504d36397f3f36c4ab37362e842d36f92ad53718d0e436fd0ae336a50ae2361b3e4836bc234436f6f84436adbf4336555f4036a2693f365b193f36391f3c36560e003853fcc237f8169237d6fa8a37c940da37e47d9a37b83a3537f1d62b375d7b1438cd8d743f2979363dbba604385ff8bd3afeb8693f226f363c02f2bb365ae55a3be474463f6c55b23bccf72e351c07953c865a213f1bf8ca37d90e5a362175dc3a6c95fc3e7e8aad3b0c0b1b38af876a3ab4e8b83ec7333a38929e6137ce4bc23a79e05c3edcac4d3c1dff4936b85390397e57a23d1e2f7a3c5dd13f38d9b641387ebbc839586e1d385568d3378d573637b928e9367d70e3368104da36bcfc933636278e36304a8836add88336e4a2eb35e37dc3350c8ba73529d99b355dcc0a367c27fc35ef8fea35f395d0351108a3360a607436f9417036f0396e3600115136a4ac4936a6b344362df33c36760207381d0c6337345e5636fb7552363cddc937baff86370df40d377cfc0f37e34286379c6b603783601a3790230b37586ab2373d234e3f2664473e5ff88d37889f13394d58483fbc041b3e251b963659146e3a3b87253f860a083e74060136c675343cfe0e0d3f6f18c13db3b316362d97533c9c5ed63e7fea963de6298137266c803a6250a23e2d88483d1b975c361c8f4d3ac62f4f3e2461e73cc9933338c33f8438a05a993db38e853c3416f0370528fb37eed49f38e3ecc2377d818437c6673b362911b5353f72ae35a852ad3565590137551df836d7daeb36f598e13645521436a65a09365c04fb35a75ee3350e4fc635c17cb13524189e35af4a9635b2a696362cf9953691a4953646ab95369a18083643c6ec35c8e8d5355f40c73559f6c0372fcc5137d1b70237b53dad360847e937089d893641378a366e3b8c36f7d60d3883b7f13731bfbc37678cb037d29638386b62283fd729af3e6747553791d23a38b5c2233fbb13933e6c890337df3e5e3afea40c3f5bf46e3e5fbc1a363fb23d3c30e1e63e29173a3edd51d4350a32bd3982aab63e5467153ef18df236c8381a3ccc35853e6cd8be3dc28a1536a34b203a04c62a3e242b593d6a96f237e98e3939ebbd883dcbee923c5b4516382169503837b1b83973de363814d00738520b6d37742a9536e65e85366586803687c4d636382acb361cdcbe36997db4369d240636a83dea35c25cc43594ada8355f448d360a548536de7c793681b46a36a5ca0738c8b31637c2b0b8364e0fb6364df61037cb4e9536a1b0913636448f366f493236be6e3336e08330362a5f2b3635cedf37ecbab637ba3e98377f829637f9d7903755993e37573ca9363c379f3601cc1b381d34023f887efb3e8ac68937c64e4539e003fe3e1c26da3e7e5ddc360dbf643a481fd93e2a20b43e04550d36c73bb639d974b43e2459953e2e509136b8b97b3a36488d3e1b77643eb3d82d38e87a8639483e543e0b93173e82665e3787c90d3aa787063e6041bb3df2003c36721bec38fd45623d2792b63c3661f93704cf103815821f384f14dc37588c8037458dc637bd6b2a372ebfa53690068f3658356336f3075c3636ed5536ce6c4e36a818bf3538a88e35ca83443533b03335aa2dcc3545afab352cc383355fa04735248393365db19136ab8f8f36a2718d36f844d235bc03c635eb0bb535217da9358d7322377737213649af1b366c2e163629b992379a81133744a7143775cb1537fab2c53594e7c9357282cd35c919c33518c486387363b83e5ca4233fb040e037e989933959aeb43ecfd70f3f4acc64362950193cc5a99c3eccaeed3e8ad6723682fc243c5fc8833e2158bd3ecd2be735d06d813997b8543e2ff8933ec03895366359073c6bf9183e4d0d4b3ef5c3df35ec7f223a4a0fc33d1ac6f63dbce1b237961b2d382d5f103dad881a3d06d1bb3740862638c11e2a387a14a3362affc8357c9a8e3680ea843602856e366b80583624adde36d67fcf36ffa1bf360524b1366be63a36a9a32f361a29213637a31436fce2343665072236768c09361f2af7356de07c360c4f753608866b3651a46a36295a0e36796a0636f8b4f6353eeae635728af836263d103611d907368a070236763da536e0baa536c2a8a4366fa3a5366176d9362403d53650bed136c18bcd3615b51f38767b593e9c8f493f34388f368bbcad382409583e449e323f1ef5e3367d59733a51cc463e85d2123f3c264d378b2d8b3a8149293e4603ef3ee487403644958b3a8972fd3d8068bd3e00029d366bbf123a731cc23d36557e3e94ff5036f325223ae692753d4df6223eb6a1753779db9838b6dfbc3c6c112f3d4cee4b371b319e379b4d80379e36e6366068d736f7fc943601cc89362ae67b36ac086a3667abbc367643ac36207f973604ec8836dc05093661cde53595b9b2358e4a8e35afa80f364fb7ed35339fb23572e08a35be689a37c52fd536404ec9367886c3365b7b44360ef437368c6229360a181f360744a93685e92a35adf302354fb0c1341754e5376e984037b257d9368b43db3683d8803654d37b368fa67536252e6e36b86c60392622883df8c96e3f388d953625ae813a68f49b3d60f9533f7fcfc3364b4fe73a083d9d3d5b19313f6fdb143694423e3a3a939f3de1300f3f053a1c36ac68563a21e6883d1b2fdd3e69bb0538bcc91a3c38df2a3d72d4993e154a55360f581b397232d53c786f423e9f0045375ff8f3384ebfaa3cedfb5a3d20091e389367f2371c2aba375431ea36c96684360000000000000000000000000000000003bf6a35285a5c35f48c4035e6b52a35081ab536abb123369f5c0636c717e535940de736f77470361eecd3355a568f3532080b37363b1a36614516367b78123673d0cd359761c035451eb03593c5a63520ae34376cb20037f6c016365ddf8a330370413811e80638ea728e375cb054370000000000000000000000000000000000000000000000000000803f000000001d4f8c3a9f40043aa6866b3f142c7835783f4b3cd9c6603cec0f423fb35c98374799cc3a915f7b3c0f3c1e3f206dfd375d26f339c1598a3ccfeaf33efb9cfd37db27de381d476d3ca82caf3efc5b4c36952494380d478c3ca5b8493e92a501385d0f9438ee847a3c5a61703d6eb192380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f597336dab959366dca873642fe6a36070a57365909473657035136744f573600000000000000000000000000000000e6ee5537d040b936aac0cb36b41586372327aa3640daa2369923a3361bcd9a368d9a8536582dff357e430436121bef3500000000000000000000000000000000000000000000803f00000000000000000000000000837c3f00000000000000006c158e3780d1603ffd837a36730891360cee56381b13323f6f458236c78141367ea207370501013f000000000000000048a4a2386f08a33e885f5938a9c5e437e47d7e388174083e4e6ba237b71da13652c8ca37b49abe3c8da73037f9a6f8350000000000000000000000000000000040664136776a35368ef931369f7e45368414b035b814993536ed9035056ab635aa33073655be9035353c0b3651d0173625782a360195e835b62c1836dadc4236dff08a35151161350ba97535c8758d35e0dcfd3567c6b3356967fe35ec83d33560b494361e6f77360bdb8636f5728f367d26a035b15f9e356a5da335389fb0357a460e3657ae1b36d711343628771736bb6820367bf07f3fb707e63a332e40366a3f5135ffbe7f3fc03e5338c80ea8354975413613a65f3fb54622376703413676473c36c66c353f1b4d5836036a2436d0352a355a51073f1c116b351e3d563582d696372b66b33e91e6be37714b0c364cde91362b8e2b3e7481893657ee7d3653ed7e35c499423d2d4f4436661d833559361e3665b2c53647abf5353dcf0136722cbb3572f5c835e580b8350904c73518b73d36e4dd40364c1e503691355d3632011236b549b935e8610f368c301f36eaad36362405263671282536a8013536f36c5e354bc579353c597f35318f743540c5cf3525a52835c8841635b211b63492b0cf35b10ec2356078bc35dc52d2358dbe79352cd8d834a632733382ce3333f5f702352ce41735b4e3f9349ccab5349ef8ae35d09b633ff92ce43d32c1d635951b4036df68673fe0eda43d3e5a6e36d20ac0358b22563fde34873ce26ad637c242303652632e3f4e555339dc6a3536e494623558bc013f8e780e390b4da135581458360d54ac3e3c75923804212635d70cc735d017193e5dedbe3b02e0c435c8f0d9344a3def3c884a253700000000fe20d434b225f73492f5ce3432f7af3451a9c03458af12342329773392fc4534dbf89d35b3b94035c4532e358c828b35b331a3359d0890359a86923543a88b3587d74b35ef412635bc0299340e2ddf34f75c69356f1a56350db93b3557c4b6346ea26c363d185f3686972336b3840036f9ae5037a79069351e5c8435771d03370da46f3656ee6e365e7e6b36e952443698668536b2958636c0ce3536d1f3263619fa6033f641333f2def993e74fa4934271f8b346d0b383f5713893e09f9a734fd887b3595d12b3f47fd423e1454953548eeb234633e0e3fa2b8023e54e4363589e7fa343779dc3e3ec5983d59316035e3257236a803963e131adb3c90114e365d742d386e17153e58803e3c16489336507d4a36931ea13c07152237e0315c36b20c6e3686ef8936692346367ce746366f7c823616de66360db6343631666b364200a13580c89a35a2579d356677ab3501a74136fdd808362c3ec03595020b36bea4333662b8033628120a36baad3a3633dc82352062653524957b35376e92352be449368b292936c12b123626e011363ede3e367f1d3536fc3f3536656f3e36993ea335bc86aa35b3ceb2358aeeb7352ba9793606728036e8157436d1176036b3005636a739003f301d003f6ba63b3638619a35e246063fb54feb3e10928535b4d30e369233fc3e809ebe3ebf9716362c231e36d691d53e8c98863ef7131d363c966c35b527a13ed44a3e3ebbc7543531f1443631fd703ec1e9b13d5e7228364dc23336daa3f13da2ab9e3c5bdc3236b30b9735096d873c2a14ad37daf58f35c0658536cdabee3767556936bb7e6e36b8357036467f613621950d36a37439366ce13936cae13b363feb22360bd53936f02673353dc0c83400000000c1602234bf3c7f36b04a413695870f3600413236c4c73935477041359a81b7342e3c003527c69035121746351fbef73423f0083556bfb535ba89a135c2918d356661a6350ba81136f922dd35435cbd35ac34be3554feaa359bdcb635a02c9834916354348d4e8f369c3f9b3e55a2323fa1602536b5584d368c0dab3e3ca3253fb0453b363cd157370b2a9e3e371e093f00000000e962a0360e928d3e2075cf3ee8ed3636dcbf6335346a673e00ba8a3ec66f3a352ccbe036903e2f3eb7e3163ea748c1344c0913375243e43df20fe63ce4e4ad3505c90d36e848693c6c78bd3575247735cb3ad434f2cac53511ae0c34df4b2434b922b43450f1c1345e748634f5822d34c46f0a34000000000000000000000000a9b3c035c6deb2354453a6352eecaf35d72e9435918bed3400000000eb2d0334ad21853519f96d35c2c108359ef7d034691f44369f0f3c3641a42b367b2d2636a39713387821383708962d364d1d1836ea8880366eee81369a03743644ba54360cd0093648b60a36baacd53578e5c335e20b9034fdaee63da42e633fc1a2bb340000000020520e3ed522553f000000007b2ea1358547fe3de3d3383fc81fa33526d38937a3c6fb3d75d60a3f253e15351f6f3b3572d1e93d6dc6c23e41645335a4ed0f38ce5ed13dbcfe5e3e10042d36065e9138d653ba3d182d6d3da9238a36726a5b3606f2833ca86e0f37fbb77036c850e9357d64d53728f9d735f60eeb35f6312436bf8f013674fad23557081a3660fd983502709635a3958d35d9569835f8c0933660006236c5b532363d425936b1e24436383d07365978e2359bc2233687f18e35207162351ee65f35b46c8635ca0b713699694036efc52436678f303697a65d3696e04236e8823f36e02e59364b3ead355366b3357b1ba9354625c6353a305b365f225236f0e23c3608973e36f83f1b36e9f7553c3c027d3f55a8ca3514a8a035307fcf3ca0776d3f31c95835f3368c364012b03a3902553f96fd51366c2a2336fe24f5397f8f263f82fd0f36744e9d35ed4dac3a2bbdf13e757351350f0b7336a61d6a3a5d63953e18313336c0fe4736f1478b3cc6b7e23d89a66036a0d4a1373d918c3982b4073aaa03a035090f5c367f26f836741c22366d933236000000000000000000000000000000005ab6e5354c81e0355d37a83506aedd35075e953619098f36d6fc8f36267e9836396e3f372015da366f75b636a0e7d13600000000000000000000000000000000e5fd933797107636f2d4633616307636d7ecbf3653dba036b5bf8936dca991361f6502358849083554383a34b515ce340000000000000000000000000000000000000000000000000000803f00000000142582368c41d637a5507a3fbf9ce4355dcfcb3769fa7e38c9695e3f76888b36c6483a38628c92384cd82e3f5d56af37ca1ee63136cd27372afefe3e00000000ffbde037a00a9939bbc19c3eba77c837f888ea364a3dca3759a3fd3dcbfe5d37f0c484356f086137879d743c0000000000000000000000000000000000000000000000000000000000000000000000006cc8ef356247a8356e13eb3567b4de353bb81636caa7f13535cff135c8c1f335b62f0336debff4356ebb0336a8460d3630292b35ccf119358c651f35db241d35e5cc9535d5c98c355c2e8d358a177d35821bb03516d2c6357f74b535dafccd35168a4535440948353ac8513541f95a3500000000000000000000000000000000000000000000803f0000000000000000a00e03395e72753fac5b9236c439f735ad7be03aafe4503f97d71b362aeb113671a96b3b038f273f5f55073645470036a6aa153bc6affe3e049bf9362f2824358341233b4f02ab3ec63da236ee80a03505e5a63c3527223e6b5faa3667a79d35091c193ac1dd433d5df48d37d1003b35000000000000000000000000000000009cd86c35a0dd5435190860356ad9483506bc9736eb686d36365f8336e8ae67361f73b235a9289835d111a73537dab735c34dc3350d96bd35ec46d535ecfcf7350de28f36f7fa72369ab57736660660362c25823532c97135dc57883573278a353c350b36d5d81136139e1536e83a28369a626936b523593696225636e6bd4436f1db2e366cd52a36d2b1263673210d367607523542f77f3f81621f3a24dd733576742638a199783fa4f7d83787b29436d9e5da37f268533f5fd8c435f215ad3510d04238beac2c3f60cdb9368188b335a438a139b5b2043fbc31923748828f36543434386ee9b93e16761c374666893520804a3978494d3ea822d137c22104366f6f9d373f5b8b3d3c157536dc2d673633969737d803c137a2324836e5ec403684235b36d387533668ba4c3616d05c36b02d8c367a8e7b360aee55364c5a4236a9ed2c36b9fbf4356014f4352ffde4353ed40234e9950434eba804344add0f343c7b23360d1ffb359caab235bf46a23556b74736a0ab0936574c0636179c1036ef81b0357befb63584c9b8352348ca35fbab95366d8c2736e7730b36fe450a36985dd836e3f9cc36c04fba36c05bc136c329483692d2613fa8d2f23de2cbb03785d29f36bcbd763f0e3a863c4ed3a7367d6ff23602ca573f5dcd7e38c01e3f362cd38e3766222f3fb005d136933201346adced38427c043f770881384dbc39367af53f38140db93e5344db365b12533682d88138ecbd3e3e8397b63563f6b435744f4638cdd58e3d6c6b2c3865794f375de15637de018e3785af35374e7dc03644bb773791847437a1d82837d6eef036001a8f3673288036b1595336b6843a36e5e701365895c135704c9635a1b8a1357f29e935955fd035c3e4b5359d31ae35a37a45364e6b293630b90c363480d835c839d8358aacaf35803571357c578935888672356a8a9135e6bb5c35705d753527e6da352db3c23563828c35b4811b355724d836bb88d5364988c836264ecc362bcb61378f3d323fb0cd9b3e25b9a0372cb0a536be32443f64755a3e2f489336f866e336b7b93a3f9f3fcc3d9caef6354219bb37aea6213fab7b0c3d9687f835f60664387def003f63fcbb383c6a503670e73938e1c0b23edccd4238f9bdf135d4a27c371189423e9ec6dd362a445b35dfbe84384b36563dceb6ee37d71cba35d6671737c8df3e37c2f4d2362127d33672f0bb36fc6b6e3698b59435951f24359d9dac3644309a36e109863624897c3626ace435e014d335e906cc355383d0358d426f350e6d2d35c07a50356a788935f708bd36bb0cb036c63da236b7149b36d8a38d35700b7d353d35683594ef5e35c6917f3704fceb36456a0d36a6af6236146eb0361d95aa36aa059b3653c78f36b1211336d4b7d0357abdaa35898370350b0b2c3708dc023fed8afa3e9311e63659103e370e36123f82e8c83ee871a836e11f373860630c3f018e903e8cd5a13617368437e7e6fd3eca042e3ed4cc2835af1ae7384380c13e2e4dfb3d80e8c036ae18d637b6439f3e1f8ac13c4f54493662348c38108c2a3e4521503b122dd637bfbede379f55173dbfaead378e5fb43694f94a3709fb74371ef7ff36307200362edad0364957bb36788c9336457ea5363fa2a835ae18633547dbf034a410d9345ae88f35947f0d35dedcf633ba54503425f77d35eba34a35794057344b78fe34d8223f36eb5e1f36eb00be35b032bf3583552036a7d3e935b45fc135b689d235a6720b3619990b36ad31f335d6f8f835cf4a9f36014b91362ec085362604873672850637f7d2fe36be72f6363b3ffd36f9522137d217a73e45b42c3ff1cdbc364f3c1e38d380c03e077b123f120ec435b44997362ff8c13efd73dd3ee6979f35162f19388effb23e58809a3e669c753579949e3879219e3e860a413e551b59369e1959389e117f3ee34ab13d49772d362012bb3898f3283ed871e23ba2cd063648f7b63721c2aa3cf8227937d905a1360394a3379d3dac3709ad3f374311f536f46cc236ecfbb336f7b57b36c630753675cc283625181536f3e58c35f8aa9135272a8d35b1956935243d483579eb4f35cacd2b36fd6018366f3cbe35b980c435cfc434361ca022364241e635c2dac635fa740434ec2dff33f620ed3372b80034951d2d36f09b3d36105b27363a1e263673b0a036dea19a36db978b36d7a77f3615573d36e1a54036d0913936609633360e49883752420b3eb3435d3f46bd9636371e313820d5313e18c7413f6a701f3669ef943735cf483e2a731e3f0bfe8c35a053e43774664c3e8b8ae13ecdfe2136d251ef38e864363efa479c3e8dcf723636504b3885521e3ebdf3253e2c4001349acb8f38ab54e33d25ac413d8ace343660861a38d05ea53c65c4a736ea4a9b360c4a9036190d4b360c123336c456353686810336d37fc535320ca0351eaf8e358f096e36c3de4f36d95a2636ce24283680240d362eaefd35f0c7c73557f5c3358a6f6335d2825335e69b593577ef763543d39b3687b29136c8b37e360caa7a360fa0dd35d203d335fab1b035f3cfa735c998ac35ce64c2351561d635afdaf2356127c33611a5a63628419436375c9236743f6435d78d84357b4d6a35b5ac4a3578d9bb3766ae0f3d7f2f773f8180f835a7942f3711b58e3df7d75c3fe6345e36ce9813396ca95d3d88f93e3feb401336cf4f04387c01783de49f133ff3543735bcda9938f6948b3dfa09d43e8632a636d5e4fd37b12a8e3d3976833e2c70b63690c0a137c6e09b3d74b6ca3d779b8936a52842384f2bed3cccf89e384633a5376dc51f36acf704365a2e6f35ebe1893500000000000000000000000000000000cb53433588f3333533182435916e103511f5933547890d35a54301351d49fd34f54806354974e4344dd8e63493e1f434a8503f35a9a03b358a1f2a3526632e355538113673d1e7359f26b635e109c135a3970a365d760836ba8110361cb11036586c8e37904c5737cf4239365e0216360000000000000000000000000000000000000000000000000000803f000000003b183c38a34e803c32bc6f3fd94e63350abd64371fcf733c15964e3f3cb49135b87cac38ed1bc13c7635243f53b7ff34f01ede38c3e8e23c9c8df23efa9c4035d7b6be366663023d551a9f3ee9340b36d248df371889253db550123ef4467137667c05382b0e363aec8b283dcac4fc3700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011363b353425fa34f46957340304b133c71d8136c3e17436aa6f6436359f5836637ab53518f29f3536d68b3569ee8635d1accf35bb94c4350e3ab13552f8ab35883e5f3629085a360b4f5436990e51361e838f35222d8c35b1ca8235266d823500000000000000000000000000000000000000000000803f000000000000000023f29d3c19b7633f00000000000000003f2fb13c82ac3e3f693932377b6f7a354e14e73c490f1b3f7bbc91369a21893648ede33c3af1ed3e4c97dd35a5bfc0355c902a3df42b9b3ef937f735c9f5e735f8f20e3d9aaa2c3ea3a91338a6306d36f6cc9c3c4a24383d1bfe7d3832d39035000000000000000000000000000000002e3b0d3620869e358376963509b89435f8019d341e428a34b28c7034d0ab4b3436e97e3666bc6336fe2f4c36577e30368b607d36ea955436279f2d3623db0e369da53f35265f1d35ad7fcb345875c5346995c936e1f6b736f1b5a8368db49936bdc69d36614096360df78e36ff2285367bb0e035e013e7355e1edd35d12fc935c39a173679061c36407e1d36a0431736962eda3686bc7f3fb381bc3a59123b3709996b3babb3713fa33b07355b39a3346acbb43c9b05463f4b329e36675b87360ddcaa3c304a1f3f8f9bae369c7792362f800c3d8ecff03e0db88d35b5d1563527d0063d0129a53e80c8f2369e87cd36e8a6023d3fc4443ece70f2364361ac365521a03c7e0a8d3dcbae41379d48e335fff11138f2f5bc37fd781a3614d0143641db6c377d563636a485ce35493ece3582cfd0332384d3330535cd333520c1334b176836463953362f5a4a366a5628363145b736109aa136480c993685b38c36f721073517bf61345383ac331645aa323eed8c364c248336d857823666f868368c9e883628bd84361016853698687f362d025e35ed9d3f35714a3135ada4e034b9942e352e21343596453b35733d303588332337175f583fd90b1f3ec1ba0e383fd08f391f4d6e3f9d60ad3c1065da33da73be3c2706473ff9f74f370b3d7d364a64e43c12aa233fbea823389b2ac8367d540a3dcba5f43e41b7903540c034354fea043dcb19aa3ea19f1d37bb6d9536024cd73cba853e3e56092937aef58c3658779e3c06ee6c3d958d873645f58235a3e7ff3766a2d1379b7483365d952f356857a037c8e1c235c47a4c3597034e3500000000000000000000000000000000395b7236d0425a364ad04236c7d12c36186390362c9988368c6e7b3678296b368740a534b9def533b109bf32b9847f322562443666883d36f33b3136fdf72336204280363f7877365f9e6d36d34561366f598835192a7b355565633588b73235ce1ca5350af29835bd419535674c8735613f1e38432d2f3f22cda13e0f2c2f38869a1739da14463f6b0c3c3e00000000c0f00b3d48c02f3f75ce9d3d13749d373cda183d7825143f1620133daf279b367178333d5c78e73e9222163bf651f734f4050f3d557ba73e6ff71838789f62369eeaf23c232b413e98f6d53628c688365f1e453c06aa783d9357a636b31f8935e4555b371e9f3037ae1b9a36528ba13506b6863672361f3632b4e4351e7fd135330e75357e1f5b3576be4935b73d3f353d214e36c0392236d57df235f5daaa35f9649a3630bf8936f9086d36972045362d753635e794323529e53135d04a2f35f40ba73697739936ec158c360a05773657259a36b3a09836bc3b943602948a36cd1bbc359df3c035a301c435ba2ebd35ee2817368ae0153668b51536cc1d0b3615bd023739d1053f08a3f43e822fb736bef5203c7883133fcc53b23ed7467e35bed6e53c309e063fb4cc773eeee15e3600372d3db5eaee3e8650113ecc40ae36739c033ddb68b33e7872f13d25c13435ad9c2b3d7d6b923e0436b63ceaefac36058ff93cd7b0323e5d898138a909a736f644353c81ee613d9a9cc13564ffbe35c6aeef36f302ac3686d22636708d173600a48236c63a8a35baef7635ef535d35c892ee34a7bba333d99b9a33ea4b8b3303b559360807433660b42a36c21d053633a83536380a2536f7ba1336b39dfd3555938f32e624ae32474bc1321ae7b732f6368f3627718736bb20833618816836c2d8f237bba794366d828c36325e813600000000b3ef712f77260e303a05fd2f61122c3515fb25350aac1e3515e50c3583a48237b67fb83e89d0233febb8db367fc0b13c9f50cc3ecad3013fbfe01a353f8e013d8fa8c33e3ed0bc3e58e06e36f0aa153d14ccb23e2b7d813eed0c47364fe63f3d3965953eb25c283e6c838234ed731c3dfc5c6e3e6bbb9f3df9b799365086333d8a3e1b3ebe7fe43b08f458389748633ad3c52c3dc7d9c237bf2c8d2f9c061a385b47653755263835d2012a35b6d40035c28fec340b1ebb343cbaa23420b2e933ad4c0b326a33f231d83bd0316ac26d363655563665b5343682b5203611d08b3680b78336f87c6736ce62543649b92535790adf34d1012c340000000078fad5362f46c736cf9ab5365d5bab36c6b696363fa590369408863683cb7a3690dffa3364bdfe33c9f001347b01fe335bb19435c4078935c8967235f07a5535b5a9c2388239493e51bb4d3f370e08355cd7233d6be9653eb0a7283fcb129034f91fff3c4579733e97f4043ffcd78036ce390c3d26886d3e5c8bbd3eab7f9b3689d0f33c5037483ec151873edade4835ac2ceb3cb880293e8d2c0e3e4ffdb837f5eae33c2598e03d3163803d156fa5362efe283c60db1a3d09de64373d3e04348bb0fc36496eb335a7aba435654a94354dd07f35c3205635e29c0d354be7e53437b1713513fd2635d987bc344c26aa3472986536f1b72c3658b0de354ef289354e84c3364db1ac369b479236605a75366bb13835818b0a35f591b0348ecda6341d5891364f4a7836fec84e365c012c36adb4a436da459e3644c09636489d8c3686705835140b5f35db556235b2e255355242893504ba80353245773563af6535c6f5f5391195573deb93723f1f60913579c0443d07dd5a3d87864f3f59868b35cd00193d78c5ce3d7d78233f13a479364b5cd93c8149003e69a1fc3e7eedd736d519a23c136cf63d808bb63ecb0165358774903bd18eed3d7c93733e6fba963625cea13a1982b73d7f5aea3d0eb5b6361a6fdc3800ac563d91c32538f706663564847036317e993564e28b35d6a7823500000000000000000000000000000000f9aea034a76d0234c1d6ee33f179d0339ade4236eda93236f6b31c36809e05363d83bb352cb4a53517d391359d836435e2bc98359881743521df4d35b8ff04357949833643507736a09a6a3636b45936bcdb9f35a4669d350d4d9e3510c49535000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f00000000534cf33c45d80c3d24645f3f3fffe236cad3ff3c6c6af23c12743c3f4837db36eedbe53cbb98433de095143f6d6ad635a6d8573bb42f503df09de83e23ceb9353f0cd93af2d3713d73c59c3efa2987365f600a3a2128893dd6ca2a3eb1a116389990c63885c82e3d3c07493d00000000000000000000000000000000000000000000000000000000000000000000000030350235cf16b8340348aa34ac180135518796348e579634b9a7913490d4a2345c1f35331574e132b903d532d0c091336f3095340c765334be3446347e4cfc345a522f3547cd29353de71b3552a13b35c7905935fc50543518621c3542232b353e3882332aed03332e6dd733f9a1f43200000000000000000000000000000000000000000000803f0000000000000000195f2d3518c3793f92a61735c1eb0d3510f9aa3451035d3faee18734c9de453458ce7f390cdb333fd27d3b3426e70634be733135fb5c033f0a61a7347abb9a340d024c36ae93a33e2b700135c629df34b4fd253ac6011f3e99e5ac395ba392353b16213570b4333d70450f34607af93300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013bc2c348feddb33b9320f33e0cf19340000000000000000000000000000000000000000000000000000000000000000e0e35a340a8c0a34a8ee8631fdc43b34000000000000000000000000000000000000000010776234000000002ac80435fc93fb3222e705335bde1633afec01330000000017657a3f95cdfa3c000000000000000058eb783f8ac7bc3900000000cc067734a42a5b3f21c4b4373e641d3400000000bfb1323f000000000000000000000000aa28083f78b22b354a021433c04606363f51b73e66582239a4d8a031000000009c49393e3574793ad2ea8b36f30dfa34f38b7b3da9ce9e3567d41f35bbfbef328a0db137d46f0e377e51013364284c35470f5935a75f4635103850355661c3333e55db3359180e34934c58332e2a8535cd306a355e1f96355ffbae35b677f935cfd1ed35a2e8ff351c9c0e363b0deb34c9e5fe344f0608357bd2c534760fe03350e8ae33a6e3ce3342e82a3423997f35a1e28335c1648f3545fb8f3520280d35c02e1a35b5382d353d50f334dcb5dd337b6bbe33909ce43318c60d349e7b153578725e3f2cdf0f3ed8577b354006e133b836653fefd5b83dddef9b345e50aa35a614583ff353b23b8c6aba3554970836a82f303f2c3e923aa3530e3654050c351545043ff798b93a18d5f0346431293475eaae3e8b459a3b45745334ee11b235d66a203eef59fe3c3f99863561031f35c2850d3d34c3d23af8f50e35f91d0d34904eea37b2febe37ef26fc3397994334e91496340c7091346b5437340229a634bf9e8e34178c8634ee44993492139c35ed809135292c9c35a1ac953545af8734093a8b3431790d345bf185332956cc344963c23456c8bc34eea4c83479b3e9352d51e235f815f3354ae9e9350fc0b3350cfd993575465e355f4f9d356b32b7356df2893573c78b35a7e9a535e181b835920ec8356cc3a135e894a43572473f3313ef323f1bbc9f3e8ddf8f36d6b6d33487fe373ff02c8f3e4d30b634843697353b1e313f11b0233e06de9135b24a32358d88193f27d4aa3d2d368534d416093572fbf13e55d42c3db981073783d0f7352f1da03e287ab63cfe59ce35de81f8352738173ee608c43ce09c7535d3860d3660ccde3c66803e3af1c0c135a63ad735fa45e3356b42b935c834b2350bc739359b17923400000000000000002e62aa35acb7a235285b2b34f2331f35000000000000000000000000000000000000000000000000000000000000000066f216331dc8403400000000513d513400000000000000000000000000000000000000000000000000000000000000008d924f3520fb7b35265e01356462a53577875235afcc1235000000002983a13437c04c340737fc3ebe43043f00000000d1c7d7358b4c083fe8cce93e037bab3500000000b7b3023fa375b03e0000000000000000f0c7ea3ed590633e0000000047264a3548a7bb3eb7cf113ee142763500000000fda28e3ef857613d0000000000000000d25c0d3e8b3f983c000000007ee7c43501a6b33c0671c836ff34d93598864e35ed3f8338088196358e6d19343260b5353044d9359c52803539158835cc48b635d3d98e35f0db0f3579802a35bafda0353bd65335c2ae79356d558435a400c7357dbfb6357538c635f42dd235ed68ea34f6160135efea013538a2c034eaef6434d4af4134ee749e34281da8349964763565bb703548af8d351c1b95353582d534b0d4e434fbd5f934f099bf343b119034ee266734b57e8d34812aa23441099435a8c2943efc7b383f94b88a3595d6d235cc04af3ead7a233ffca386350ad8b1356e6aa33e23a5063fbba79335da8ae135b6a7983e6b9bc23e4d07c93527351f37d1e9883ef9856c3e36c4ed342f8b3435c104653e6fc0e03d3f32cd346d60b835e5bc0c3ee9e8bd3c99298435c042ed3480b9223cba17673776aa1d35de7fd63440fd1238dae50435417ad934b0de9d33ba176333232acc328bf523335eb3dd343850ae347ea0a034cf9fd034f5258f35f28a7735a63a5d35f61340357423a33315f184339f266d33dfd39f3364a0cb340bc0b8347952ae3470afc634f5a00736d104fe35a16bfa357cc4fd3568a2eb356b6db935626f813549b3bd353ff0ef332862f3329f61df32e4d2f633be2283352f457a351c377b35a48193354359b633123af83d9c14633f94146e3336090b353121173e23e0523f5f59ef343888ae35649d043e25d2313f5dd85e3508773f344571113ecc96063f1003b0339ec20335c49a0d3e3055b83e6456df3420ca1136d4df0c3e39b93b3e2a29e23562690a364b78f43da944383d9d69a83578507c36c5bdb13c93c844384a9fcf33984767358f997335bf955735dbfe2a35b765fd32439edf32c69bbb32ca1dc732aeab2a351612073500000000000000000000000000000000000000000000000081955a3120d49531714bd43155942c320000000000000000000000000000000000000000000000000000000000000000a6a30934125a613200000000d3d51034000000000000000000000000000000000000000000000000000000000000000097d8323363d1f63cf0507a3f5679d43273eb9e35edd6543d28d8643f65700835ab64ce367b34873cb9eb4f3f00000000c2bb4037ee20c63c8a28213f914b0132ea3277333b25e13c5b1be83e0ba8b13400000000f16c123d8acb8e3e000000001a8a00370285433dee73de3df4d3ca3300000000bd7ceb3c9cbea83b000000000000000000000000000000000000000000000000000000000000000000000000957a44344fe81b33446eee322566c532d15284356e0f1335b2dd1c34907a883495e616350fb615351bd1073598d3113579bac934e1febf345203d4348e9cd0340ec13435ab4390343ef59033a69327332a09af34f684a3341c19a33493b8a63439592035dfe326359bf33f357af513350000000000000000000000000000000000000000000000000000803f00000000e04a2a35be595d3591c3763f7b352f352c3b1e394007e139e3b35a3f6100bc352bb4de3492814b373281303f46ba18357c183a35895a7835b519ff3e0fb17635aa7086354e07d43a13f19e3e20344935b186803406ff0a3af6f7133e49eea33458ea2b35c9f702375ef6043de35433350000000000000000000000000000000000000000000000000000000000000000f43f6d3300000000a4bb0634f5529834c8df1134ab6734332d05e9333cf5553437490d35864f273572e42035944516353abda335a668a535119fb4353155b835d7aa8b338f40da32403aa3332afc2934a958ab344c7dcf34dd9bbf346270b134c2befd3414a60635c4d8db34f8e51f3500000000000000000000000000000000000000000000803f0000000000000000f5d3aa3ac475733f1e53833559577d355452343b3a3e4b3f89368434037221342ed6d03bdf8f273f26f30635dbe611358a1c573d9632ee3e0992e0367a9e0a36911f863d1d3d9c3e6aa4b03298d15b335c8d3d3d9a46223ebd529f34eb3aa434ca65da3afb0d6b3dc4ed3535c1014e3500000000000000000000000000000000b727e93577d1bd359338bc3519369f3586158234daaa9633ba29b333c6170b347a5b2134df57493460b7f933f257ad332531ba34df03953415649e344b30b2342eed2b35b2f11435b6b4353537f466359436a1331e455634f867163442786433dd05e6345ff4b534b416c03464c5d4340090ee3368bd1834e4da02344c4d2d34052362327e87963201c28332d276883222a5d735e461803fa1c23d3b11810036a337613751bb743fc5db9b350b1546351adb46389ed54f3f1ec2d434af9e8e344131ca39e5c3273f8e67e5344154e73458fe303b4097003fe52299355e458b35e03e643c0a55b13ef17ab134a3885934b79bcd3c79e14d3eeb5cff34d3aaf834751e1738422d973de25f36347ba20a34457aa8377c64cb37cafc3c36795687326c6b3333e82c2b33b35e1a33b8a61d3383097335851c2d35c002b734d4e9db34241a063545f0b4345613a93421a7b934abbffa344af4cd34bf1bd934fb11d5345df02636e98d04360c510736c7b70f36598285352b167235fa957535367c60356a5a1d3520840d35a2e723357d1615356e1a2d3609b90f366f9b2636d2d23036698ee5349ecde634950fe33474b5c83418e036335135643f51baea3d1a9a4f332fc7903514ac793fe165093a83977735751c2236afef573ff38d1435759e13359e0fa037b7f82a3f34f4f434c814fb34430a1e38a9b9013fb7274936994c25366c4e9a3900feb43eda7a7635b2b89335d5e40a38e95e473eb5ee10355f351a3570deaa37f480a43d978b3836b999253637a9b43426793f36d1542334274ea334165078343f9a703404b01634a18d3834f40c3b367b7c1636e1580836363f0b3678ee0b3519c9e734f42edd344a0ce534e76e3d3544ca503552c449357cec4c3503681c36813f07365dc31036469a21364758b3341149a53461b3983486c3a73469070a35c55c1a3556d1183586e6ee3411ccf3346a5b05354d85bf349d3bc33444883b33e23c713341171f33c4942f335fdc7d349849343f15029b3e68c80a34066a733685d2543f217a203e7ae762362027233590ce513f3725f23934a12035c9c21437e2a72d3fc8af433595d050357cd30a38c536033f59d36836db3b41360619a7375251b23e39e8bb34028fbf34bca326391c3c423eaf391c35c7091c35c3ec7237ab28693d4eaf1a35f2d501356785463349d90c37a6233933cb9a2833d939d735cf33b935e2c6a3352e888b350aac723521a04d3568782c35b0e02835f777d034d697d6347941a4345b9c8b34d9204d348fb5ca3311f9fc33d85fa533eb9d46359ce83535b6cd20355f421c357f8f4f341fed963465537d347fd11e34409dc03415208a34ea6d90343dfd853492d63e356cc7473522d82f353bd6263559eabe35d01ebb353c1fe4350067e635486c7e36f13f033fe86afc3ec32ddc3582ed8635111b233fab69aa3ed123793597030c3534d6293fb1d12d3e3a7cff344605ed350548223ff0199d3c22a18c34658aa237ffd7003fd3f8ce37a1e187356b8b8237cea0b53ee8458335e4bba834abcd19350062323e4da4f234d358d034b7b3bb35fe0c0f3d009741358cd33f3594ff7c37145bf037a3e52a36ad1bbd35ade850333dd740331eb32c33da6f2c337dfe4235c6031a35baa1b8342bdfb934bdca1835d5c7de3460c3c4346d70c934af50d034bdb8b634801dbc347f6ab7348fc8503671b127366457213688352036127271351387623554b175352af0693596800d358d9a0735e9e319352dbe0a35b5895736e03b3f36d04660364b716a3668ce103519e60735437a0235dfd6d4342f0a5533a56ea13ed79c303fcc0e6433b74c0137e048dd3e5b9b043fa60b353521562d354406f73e23cdac3ef19f31356630ce346d72f53ed78a383e7415da348a60c2375af6e23eb231593d7e515436d66240377944a93eb25bbd3937d985358930b6375bd33e3eefee9e356b8b1035903e5337485b8b3cd36c6236490a5036d3579e34e2bac634985f4f3443a9d134da38913416096034b075f333869740342d60ff35c872c7358295903516a39035f84e17354d990035436fe3340e85db3436bc4835b26e50358022453512e74b35c67a0c36f413f23539dae335662cfb35a278e7341d51ce34f37dba34df83b634b323043541b70e35d3c8083519b1cc34c6274835d4304f355c142d352e434635ef901b33feb84c3313661a33d52f463386319e3656d70f3e15985d3ff40a1634419cb2377f18663e5c37333fbe561b36d198c7361d05923e5ff5063f9991293596ba1b36d1c5a63ef5d5a93e0f375b35d72ed037ff9f9b3eb3594a3e63432a364426ee36c570903e43f6733db49afe34be66ac370d4b283ebcec3b3a79781335b79bef364629f03cc4a15a35735a323508d02a33ae091433f7fc1733c9b40f33c6ca8b32486d8f323a49933264519a327fa9b7346df01d34cf051334f9591a349f9a033549ccf234c4c9c334a819a034a527ce33ab4d913229b7803248aa8a32cd788f357b625035c84fdc3443dbcd34a869c134f805bc34a3b6b134aae470346dd54334f9346d33b5309933556ba033cd983b355a0a3b355ff2d834cea60135bf5fda35466ad4354ed4fc3592a20736ba64ee37b208763db0b6713fe10ba932a686e33793a2023e88a24d3f1fad0435b62b4d37e838e13d39fb2b3f1eab2b357c6ba53843c1303eeb1ef33e0a4533345f9d1c38d8fa483e4d4d9d3edb2cb03573490b378845413eaea0263e76740a35bd869c372c0f003e7e678f3d768b5a34317945372c9e413d524e483770905735daba03364d6708362defbc354692de350000000000000000000000000000000036d05335a53116356e356d34ed686e347b9fd534df04ba341e9797346a99873434a257348b426a34a7500e34d5610034de530e365538ec35318ca435a04c873509de36356a243235d5683235578b24351fab1235d5dbdd3415bee6341ca7c934e1efa235983aaf35518f9b3520d886350000000000000000000000000000000000000000000000000000803f0000000018bf85382b8a2c3d1c3b673f38903d3555e71139f3e6343def32423f4107e9343f80ff3719d6363d0673183f98850c341dd4ee38b021a63d2a95d23e4cb815363e5a6935a823c83d90ea803e0a024835f72b793689a3c43db99de83d9702c0346441ee3735021a3d6674883cb8e72f370000000000000000000000000000000000000000000000000000000000000000e84480345e8e4f349a033234297d2d34052c2d33000000000000000000000000a801d732000000000000000000000000220b0c3551120a359455083578330935ec2d03349a6fa133d5424e33058183337da1b433cbc67233719a5f33a58b0f3330ec4635dc184c35f91252357081533500000000000000000000000000000000000000000000803f000000000000000027e24c3da1ea5c3f1de290341c1675343c6e833dfa2f303f6e59d833609db733155e3e3e7ccae43e5f31053567372e332e3d523e12a08b3e727905353da0023538d64b3e6636023e0e98f4330ae505341e07d23d5bdd9e3df55974377b0bbd33cb6e4a3dab0ce8383639ab3666c83935000000000000000000000000000000002797c134d1fc5c343b6a85347d62fd33b5a3a3335ea44c338ed33a330a882833490d5d340036143442144d3488566b340000000000000000000000000000000028ec4d342f9b2a3434641c343b9f1e349c5906353510c734ed0da2348c09973400000000000000000000000000000000d7b954346ed65834510d5e34dfa85e34bc9fb6348004b934fb95b43465e8bb34bebc0c35f5577e3f66ee263ccc30fa36d883dc3cb353693ffb17dd3685b8a43320584e3dc425393f0153a93483157734b6f51f3e837df03e000000000000000090ed543e17d8903e4259683489496234e1f5583eb29bfd3db04ccc35580d04352dded93d9ab59d3d9a0a98370000000078637e3d8739f63853e13137310a4534bd5b5a38138ac337d5726c35463db934f34f6735cb8d3035dc010c35e992f234e17a243557a0093582deef345705c0345b24ec34214ad434fcfbab3438229434084e9935b6639635fef3823510cf8735f901333572e1273573971d35d17d0935053bb2355110a635f3ed933521e79a35c93c1235cdbc0e3541bae3344f14ca34d463bc347909a9341020c23464d5b43421063a35a2481c359ceb1b3514b03735fde08335f60a653fdc40df3dab5e9c38b5fa7639f8c77c3f7ef8bb38b9413635694bc83c3209453f4a65c736b37cf4348f02d53dd800053f883292360d43a535132a283e6ceba83e14a13435cf0f3635d944373ee361203ed483c2352437b2351c15c33d3a37a83da6b39637f5df2b359e54583dd957143c1a298d3702f4b63498ceb73866c824383dd16b35314f2e356c215937650f4a3663552d36b93901362abe1f35d30bee34bca1c134de1c6534d7fc0e356ced043515a59934b7bd3c3494a77d3508bb603516952435f16504359df72835e5bb1a354ab01d356461f734687a9335d8cb823533a25435a91f5535ced3da3465c8913476f66f34afda4b34de9f2c350ac33235dfd25d35fcaa4f351d54bd342c1dc6343126d8349d4d0c3500217d35c5f9323f2a599c3e09122038c3cb9338f16a6f3f8ede4f3db70b1d356e2dae3952e64d3f1b0bca38348d173529877c3d3495123fb4dc00385f888f3599910a3ed5f9b13ec9941c3554c20d354ffa2a3ecc12373e8ecf173808388c350fdcca3d1c21923def4db637eba3e6348df13c3d94e66439a32a52381ea51435f3abc8389e044c387252cb34a88de734ff56ec348eb3b034adc46a349c6e06331fe55e34b3625b344e9f30348d6519346013c3320000000000000000000000004f40ea340056af3480948534d73136346e094e34e566343491e02d34e84822345208eb34bdd6bd349de58134248f2934eae4c73300000000000000000000000002b07c3491c97634be407b3415b37034bfc530348865253326f7ec3229fbdf33fc79bd36d3b7073f9594f23eb4783136a591de38ebdd393fd17e7a3eaafc62341255f23cdc74413f6149153d285a3f366e09053d1e2e213fb04f4e38a81a38354e76d93d8d81cb3e94dc4d37a6095d343f48053e37a75a3eab50f037d012e3342997d13d4947a53d3913e23789455334756e063d0bafe238a80b1137131e7334c7b57a36cadb37359902ff33a9851334634404351072fc346d98d5346dd4c034bdbc1235166d023527b7eb34ec1bb5343062aa340e998c34aaa47234de957134f3b4af35ed25ac3561be9535d7c29335c6ec1a35dc8e0035823bcc347d4895348ee25b354d174e3515eb2b359c462c35dacdae34106ab034093d023412ff71335d5703350900e834ee88e3349831cf343b611e352ce8f8343374ea3436461a35ee90d438b3efb43ef88a263fcd9315353e56033de604003fc739da3e00ed2b357b30173d6da2183f7dcb4e3ef8159935f2f30a3de145173f28dc143d5521c735859a7f3d569fec3e8f0e743848972435c41db13d4071923e2cfa8538ab4366354224ad3d17f8ed3d5c18d238009df63468ba8d3ca059973826180335dd620035ea54a2350ea03a354cfe14355e7d0c3564eac1351ec44b35c8a63335bf541d35307be3347efa8d34d1e455345a483c3490041f35e9bf0d3532dabf34710b8834d70ac6358ba2b4352ee89a358ee18b3594123b35419c2535a8791e35ae760a35723e8d35b3d688350d706135071e3a35ba371d3517b8d234aad4a13422e793348cea3b3598b0323572c04835d31035350e2c12355b950535e7690e3528ef2935eb76093c86bb1b3e75b0573fc6ea16364a43853dd330873e2a2d1d3fd5deee34379e623da764ca3ea7f0c13eb43f2335384f233d5c79ec3ea6bb2d3ea628d7358e372b3d6b6acb3e9d0b983d6bb42a3566cc6d3dde54a63e0a1406391091853580773d3ddbd4283e0f7be438fe9c3837dd97553c233f073b4712743818672f35984e6d35714f6235b55a1f35d5f32735fc2fbb3593ecb534d4ae913444498534668e2934460e2c34808b0b34bebce03300000000000000000000000000000000fac0fd34b8f7cb34453255348274da33268b0e3421c5f93382e2e5336cdec233000000000000000000000000000000004c91de345f5aa0344cee4f34625b21341b9cbb33f32244330b0b4e33aadc31330000000000000000000000000000000072ccc338a3fc9e3df9166d3ff1094a3695219b3d7e35f63deb463f3f706c423419bc923d9190693e8ce4053f0000000054724a3d2143ac3eab10923e207f4a3527e3d53c6e64b03ef60a163eae472334555cc13c53ba9d3e0f2e493d00000000bbed953c1e3f353e311c173dc4ed373531e82f3c7a255f3d27c9cb38f1f0b9333ae88134bac9e1330000000000000000000000000000000000000000000000000b402835bc0a2235488b08354a3be63415618c3379275733682c553340d73833eb61b533d69b9533a9fa7e335f2980335f54ef34d4c3df348ad7c134c2d4a7344c42b03300000000000000000000000000000000000000000000000000000000a41054340c3c1f3497611e34bd441d340000000000000000000000000000000000000000000000000000803f00000000c0c63b3d75dc993d41bd553f33a93e358fad923d3c07b33d87992a3f02eb9633a93f493dfaac513eac34db3e42f277343b42f13c12f36d3e5352893e36820735e156623c70de5c3e5586143e649c43370aab5d3cb0531e3efa93af3d20029837dd52973a8b18ba3d92e02b389609663400000000000000000000000000000000000000000000000000000000000000001476c436c6cc6136ef529e360c8bd1366a1969374a9d01361745163783fe8837b2bf4337dcfe0f377f0d2737d70488373b75923775a938372bc55d3787f3ca375f8c4e379657df36a0032b371d575f373730c737d2474837768aa537b982dd37d083c43715968b37cc78b03784c0ce3700000000000000000000000000000000000000000000803f000000000000000073319a3719f17f3f86f37637ccc8f2363e5917383fab563f0af00238f9aac637de9533382aa32b3fa317f2370b61b03766f92f39908c003fada8413878a606386f7dc337c60faa3ed45389374a2773373e46143821c52c3ec179f8371b7ce3378f90e13788312b3816efc137b6f7be370000000000000000000000000000000056f8623745ac633640e1d236f21c84374d0a3c3708d6c736d9f9163755304437c91fd231d6b1d031d3accc314f7eca31f77c6b3535c0433513cc6f35ae256735794d5d3735375636fa1a1d37df8b6937dcdf8b37544b5936e5890437d842c537cbfe3737feb57934fa52a3369e4464372c8eab3787a84137e5b57d37d966a83794e99e377e558937b46e8f375ee1a3371e41423757f57f3f9df14038a2e7b637ab724d379e867e3f0bc2e23a3189763770a06337ae0b553f53b21f3af90b0c3723242f37281d2c3f3fcbc337196a7a36018843387e89003f732390388179bc37f9502d38aee3ab3e48e863388209e737c857993775f3303eb988c93792ed5c373f5ba337ce116a3c98d5e337524f9137288068376b96cb37f382973744da8637ed809237a47def36839f0b37dfa87a3726af2c373e2aa5363124aa36f2130337e2f5343711e2dc355233f835864918375cc04f37c219de3525f02636b8a93f37a953c03740ff603629300837ac4dbc37329d0537daf2853658a6883674a801376d9bd13732f22a375dc768375a00d4372a66b937754d5a37cdbf6337eaa3ac3746921c3855e9eb3787f6ef37387d0e38d280fc36104b563fe47c263e4e877d37c43905374727563f7f25273ea8f64c37d43f4c37b73e313ff844183eeb3c423795aeff37c710143f4673d33d69069137e93cfb37ede2d93e1248943d7a70e03777bc0b37118a963e5845b13c02a3023792c6e1377576243e87ec2f384727c837011b8d378dad263c27fee53741756d374049d8378cd04f384c3a153815ddc837ef66da37fc168037588b5037f5eb8d374e35f7364533cb36867cca362a8fd2367e8c6a36935bc435fe4cc535ac52e535ec22b83778f229376517373791619e37c0b4fb37ad961037b3031337f682cc37b3663137b5aca936e3f4ca3639f52637bacb5f375c7e05372d770f3787d35b371c6a393873839c375e9f93377a6c2138767f2838ffa10338180b0b3899b42d38ca3f523782e02d3f912ba43e7659803732aad036bd052c3fc2d2a73eb6a2ce36c5da00379b1e133f50398c3ec70802360876b7379c52f03edce2583e4baf9f37b8f209387c45b13e29691c3ef52eee37bffb25374bb0703e3f63b03d733c1c3798553e3710ad013e4f45c93cd2b63437a3e5e8377ab2143c9e8980380d8ca43737750638a14d6738ee412e38c200e037a13b1838d6e6003835b2c3378c4cf437e182da37ea9b213763c72936b61e753704fd1138fb49833738ee0337c2b9d3377a05f937ef240137d85b86358b1dae3779da3638663ba83792b89d3761fff537e1ca9c393060a83701938137af08ff378e10c838ee6c163820ef0e382e7d3c380b5b2f3863910f38c1040938bdaa29389e542f38013a2338937b1f38a4e12c389f7be837bbb1003f2b69fe3e0e28de370945bf37ef4f013ffa9ffc3e344e7c37737d1b386ae7da3eb394d23ec12af637a0bd09386b71b23e0e1fa83e75ffcd374c364638d760833e871b793e721c0c385a543e390b832f3ef9951a3e80350638854b3a38c684b63d3fa6923d58322e38008b18384536523af650b2393d500d389b7d19388fba4638c2423538c5420e3865e91238fbd8bd37223d46377a5c92376fa75937cac7303757c90337633a38376fd30337b56ae935e663c335cae52d36f1c0103727798336e3468036efa39b36ee53023854355b37b89ef5367600a63798a3de3716559437cf035e37335db7378e3bfc3735c6e936607dfd35bcb17f37c802a5371e525a3742153c3711d5a437855d0e38321feb379bccda37a6120a38d0b6b6372d3dab3e08502a3f155a8037583b513718e0ac3e4532273f98a22a37edff0937a9e1953e9d530e3fb1771836f2a21c372bd46f3e7e9ce33e7202ab362b8e10387daa303e6d1fa83ed2aad237de3eda37fa2cda3dc041593e19cdb03778e0bb377b89353dc625db3d90d04b3706bb62374ad2af38fb7c4a38aceb3b37c441de3776a737386edf2038eb2b9e3777c6f13735c78f37ece7a3368def2b37a4e3453771ac12370491d83613ad0b37835189377cef9d361f458336ecbe9f3660afaf36642c82369d8274366e9183366feee33732583c37b84158360d9f57370b370d386bbc11372a9d223651584f3782624539141c733763e00e37bb908c374940ec37d463c33747179f3715d3db378aa4c037c2c3a437df48a037d17dc4373c74bb37d6082c3e87eb543f28762237e5f34a37625c323e00c7503f49ab0437d6bdb8374bfe283ede932c3fe7c0f8368c4afe364dc8003ec4f60e3f5b3b82364ff10238634aba3d5665d23e914eb3370cac21388a00303d5bf48c3e969f96377a3a27396b69e73b63fa1a3e18a87137417fcc3750db31383c85523865caa137ecfba037aad73938fcfc11387443683754567c372843b93698a68c35fe4cd5359bd0de363dd88f35814f593586b884350e5fac369ac90f3489388e3286898c3296edc0379cc97936881309368145663696bba937a5ab27372ea46e350d4c1b37feacd0363a32843536c55f35d0de6535e0fc7337f751333605a2d43115968036a03ed2375cd08f37a63b7a37af5ba93703c0b737f8509d373f4b85375169ac370d6a9d373e7c8c3842f07f3fee08d73574818637f1716e3c3c94783f8a698135e90f7837ed55843ccf984f3f5b40b4326ec90c380c5f303ccb3d273f90bea23764e515380386f13b4101fb3ed43299375dd528377c09dc371bb9a73ec1f0773663f88d3716d22039d8ef2a3e01894d37d7c7c13781a91a38c07d7d3b75629537877aac37bcf8e6371b06d9379619443700000000000000000000000000000000a58b6137b8ac0c37aa61e2368b2a0237c8edb0378e2b193739ba3636b9e775366d305e37999512371ffa0b363efdf436d8711338a1256d37ffb3393799ee50370446cf3795bb8737e39b213717da4937be79f4375da3bd37918f6f372321b437e13987375c5851379b73fb366eb45b370000000000000000000000000000000000000000000000000000803f000000001452b537b08fdd37baef7f3f5c336e371df8eb37ac301438d1bc543f9658d137799c883727dfa63785ec2a3fd5ae7b375cc230383d61c33816abfe3e4ece4c3862c5d93718441338cd93a83e5efce73714b0f637921b1638690d253e9ab00338f2bc65372f7ba737ab8b1e3854b58d3700000000000000000000000000000000000000000000000000000000000000002cd1453765db9636b93c99366f499836525b11372526a436722cc9361fe1ee361597b73790e3d336144e0d37ba9b8937552bbb3736a1113788434937ed08a23727211738188ac937a1dce3375fc50838980d8c3749f4f93663822a378a8681375d06ac378ecf5e37ad8d75371b0daf3700000000000000000000000000000000000000000000803f000000000000000082e4933aaab2713f22582a38c9c8f63754fbd439a0ee4a3fe29c31385ca8ec37414f323aa6be253fcac8453859522338cadee239449e003f4d785538fe2521385be5493a0ae1b53ebcee9f38d3ce4838d350ac3870ab573ecee32f38ee1ff43786367038631f7b3d14ac003801f0ed370000000000000000000000000000000030994f3758a9fc367f73f9367da20037e5db9d3674bb2936e6bc2c36cff62c36670657372770e236b9dcf0363a8b0f37246d0b37e2d53c36446c403622e84036686097379bafb0360cf7b136348a2e375457d73706778b37864ba537ccddc237a43aa83790406937f8128b37cffca43793099e37dff259372d76703794a29a37dfc0e137e8e3c037245dd237344cf437c29c90381d1e703fc3e77c3dca80cf3732064739c32c613f409b7c3d065ec537b0761b3a0e413f3f2d105e3de118ca3783bc2c3cbdc31b3f34ce103d7343ac37dff4393c7757ef3e62caae3cb9e217389481113a39cead3e53cdf938bde209383884e438a0a44d3efdebe9379790d037f7ac3e3822db7f3d3357da37d878bd379a3c143803c52a3815a6f337d9f6ee37e75909384914da3773029637526da2373c0d3b376921a43670255b36cd45a436e4ea7636b377113550bf1735543516357a36823716895c3673833236fed1e93686a1ad37345bbe360f7abe369c211b3762272c379b457035f58b9f3506d492367b9f96372b764e374caf663734228a3764ad94379cc8373724fc42379daa8b378428d237a71db0373464b837a9d2d437aa183f38dfd74a3fb738543e2ab621385c25223822ab403fc36c4b3ef9259a37cb7de338c064203f6ec92a3eb5742037d5abed392f26063f4cd3013e4970c93782d4823a0344cd3e3ce9c33d0fbaa038f5d9263cffbf933e0483453dd673b137e3993b385fb7393e29d0a63ce8abd4372c531638741b723d68a007389ae5ae37293e0338f41c1838bb7ae537d91bd0378669ab3740058837465f3f375a6b463708cdac3616f5aa36b3d3a93694adaa36a14ea737690e3936a136c83505f9c635f41917376e861d35d12920354e2e2435691eb836f6d79d36603c9e365aef9d36481ecd377fd227370351ef3611485e3778bd2336ba2dd035e54dd935c979073635c3f63772c5a037b2ea9c3795bdea37dd1c3b38bf1bef370b9f0b3889d7c638e4ccd437b074253f1ee9b43ef761ad37f6262738b2161e3f96b0a93ed247ad3634c98439df4f063f92be8d3e5c4e10388deb15385439dd3eda3b613e2ae1b93775be143af9c4a93ecb212a3e14f7a137cfa4113a7889743e7126dc3d699c4e38c6e80f38cfbf123edc2c5d3d501b0d37b2373b383ce7503d1e835238282d0938fa5f1e39c4d1e239227a4a38e4bff2378e05cf37924f9c37a514833788588737f049a0370abce036242b1a3628121a36409b8437c98e0237eb1b3f3668b0b236f997a03770d42b37d2bea536eba21337e4b9f13761428f371ca426374dde803781d0c637045a8f3754aa6b372cdb9537c4a5c53794b2a437889198376a65b0377e932838fb6608383b4dfd3788ab1438e82a2d389f6a07389d8806389bc82338a17e2938488e003fd8a1fe3ee9630638d4f037385bb8f53ef4a3ee3ebdf6f4375c953d388817d03eb4eac73e4744af3795e7093883e0ab3e9516a23ec86dd3376b43f338237f833eb6c3783e84ae1f389c7c0a3894f23b3ec3e5273e010be33737e76f38f0afe03d41a5be3dee9cd237306254380b07123dbabb933cd0c32a387fbb43380e441e3952a1423860981538db589c37e40a77376ad6c73642cfce364cd3a336a4e20f3612460d365de80b36a3cf0335cc8f0235a3240235b7ef0135c86c973712f03936685393356b369435b17bd836ba729c36fb759c3691e49b36ab5284372ede89364248293570b1793532d90f380dfed037c1418e37b379be37a6114d37196eb5368dd7b2363870c536ee5dc3379130bb37ecd1b637455ac83718a22e386a9bb63e2b72243f6679b4371fbf0e38f012b13ee8511a3fd0ea64373630ac3727ac963e631c023fe284e33598f0ac3953c3763eb2cdd23e98b417382d2baf39a4ce3d3e7dc5a13e48a6ad3709dc0c380a81023ed28e613eacbaca37b9668e39ffec903db220023e0e2f2e389e676739a83e6d3c922f143df7f8563752a4df37b9c91238257ce537576ab5370bdca13703445e3783a1ca363c4cca36c1bb6936b2b36836dd846136580a6136c3610837aa44c636f5e38c3656229b36f7007e36a74f36352c26313570653235f8f2c237c26b263725eda936eaa4b33610adab37570668378e8fc33633ae1f37f49220378795ec364d50ac36f569da36f043e23711eeb4372abd8f37dc59ac37c0a11b387e4b0e38fc7b0438aade12386b9ff4378ebd593e4d79493fe66dde37f96bbe378598543e93ab3b3f3f644e37dd520538b1a63d3ea2e91c3f841ca537ccf21b38ed27173e1459013fa4189d37a5ab373ae60fe93dd278c63e655b30396158c338e8a9963de8cb8c3e40a5d7375e65e437976e1e3d32d12b3e5954a6376cf91138bc8e5938e48d463d96f5f23716ac353814484638986b3c38972018389a0bbd37446b6537fdaebf36c464b6361ff62f3637922a36083e17362f4d1836dc704b3773695e36b5e8473612d748362dfebb37b6e76737f26682368e878236c93fc737a78c2937efcfae36ba87ae365cad8337ac71213711803d36bef471365a72d63768d9af37279467377f6d9037e503f937c5bec53737787b37b2dba1377b219037e0ce7a370d936137bd1c7b375d8c113853f88a3da78d6e3ff8c70e381febd9377ddd9a3d0a985c3f83179c37796be73705c7923dfa283a3f2795c237ac7a263871c37c3d5914193f52950a3880cb18396d25303dcfc0e93ef0322f380b1c2438657ea23c3db6a63ea7d1ef3724180b389017fd39da364a3e6ca7fb37f3292038f2739438eccf6e3d07be1138ef0713380d363538a59d2f38a0fa9237000000000000000000000000000000003ca32a37ae491e365512c9358f91cb355c75803722ff2436a3aad0356461cf35ae361f3865c4dc37a0f82d3777234c37b31b00388752a937852701376a3104370d5b12386154d837e5293e375de06437981bf53740539d372fff20378af42b3794ff1838fc850238c8b8c137c2dcd0370000000000000000000000000000000000000000000000000000803f00000000125d0c38675b6538be37703fee2a0b38281567383289a63860fa493f8e0966384884a039e65f2b3aa17c243fbd34813959606f384db49c38aa57fe3ef68e7138bfa64d388d8e943905e3b33e28fc463890923b38f0d25e38859a533e6e8f3838ddad31381de4ef3838bd5e3df24b33380000000000000000000000000000000000000000000000000000000000000000cc2a8038b118b83700f5b03715bbaf3779282538370e03383b85fe374ca6f83710509f39f36c3b39eb38f1386428dd38d4152139b4774538b210423891204138bd4d8c3957233639c2881939a58813391ac2b637a6c7b037ee20b0378e75b0378006963942717439a3576939875b6d3900000000000000000000000000000000000000000000803f0000000000000000499c263a66ef643f48dcdd3987809f398ebe803a114e413fc809343a4ef7c939c28e4b3aab71203f6a2a263ac97f0c3abc34803a47d3fe3e7bdc2e3a5932093a01bc2f3a2443bd3ebd90043acb03e53947b9813a9f30783ed2ba093a6b789c39adccf5392050e63d3175ce3955ffc53900000000000000000000000000000000d6b07639ec05483897852338793b23384cd48039c5bca2388926cf375063cd375b33e237cd33ba3749969d3727a59337430a143a77aed23901f1a439da06a0396f0c3e384258c2379787ba37160bba37d5fb3f3a73241e3ac609103a1d200f3a6085f1398aa2bf394923b53920e0bc3961c80e3a8a0ffe390b8ff639cc0a003aec538039f9713239b78c003911090a39fa8ca03ad412613f51b6ec3d449f103a3627b33a8787483fd25ae13d01c80c3a0494a43c62b8293f384db03d5bac6539dfb5dd3a4d8a0d3f17c2903d310d5d3aa3207f3a6452e13ef8ec683daae2003a7f19f73aa093a63ebf8a183d0fae7a3a0bc63f3a558e613e90ae303a7635203ac54f5c3ad104d03d9fb62c3a9e42253a1927ee39b01bfd39eb52a5394bc89639c3801239c858bb38df501d3852ec183853103839303f0e38693baf370390a637719a8c39ba96ef3851277e3786177237864a0438866cde371b63be37c7abbe3743a38639204f2539a94bca389d26b93885309a3978663739d850c6389d21c03808b7f539d7aec939994fb1393927b6391a1be1394787c739743ebd39ca75ca390136e8393936d6392b43c639c324ce399940193aaff9403fe04e793e7b6983390580713aafaf2b3f2e2b5f3e9010e5398e0f933adced113f947a3e3e56af0c3adc65d63ace3ef33e2c511c3e1546ab393734613a6af9c03ec7eff53d211edc39c4a8923abd34903e604db23dfc45013aafb97d3afe0e3c3eef9d5c3d3eb11c3acc740d3ac0f0bf3d83370b3acaf1ff397fc3183a6a1a233a9fd7ff390bffea396b7e943955ac2939dcae4138cc1f3038ae151f38a99302384bb8f337af5fed37b248f0399e26a0391afe2439200a0c393caefa39be06b139d60a613947ce4e3900183e3954df8f38f23406388d21053847fd8a396e241c398b877d38ebea7138341b0f3aa9f1ed39df20d13926f7da399c572b3a42c91d3ae45c0a3a0fe10d3ad2cdc439ba71b539c39fac396aabb239aec15e3a2212203f105dbd3e36441b3a84f3433a559e0e3f0c71a93e06ea123aee59903ab7c7f33ea925903e1db63d3aff80aa3a54dcca3ec9426c3ed4cb413a7f4e183aa6eea03e43433c3e9dedb4398fc42d3a00e16e3e1c1c083ea13cee394862523a785d1a3e8d42ab3da91e303ad410403a770b913def0d143d31472b3a56d8ec39eb11f9392aa6d9397cccc739f5e436395fde1039f05560381c030a38f58ba438f02cca37f0d1a637e9449837bfe3b039a92d63397591b7380d844538580cfe39bc73b339acd44e39af2c3739192ecd382e343438fdac2238c23e20389902143a24f7eb394d26b03955b2aa391d9fec39cc66c5393f7fa839d954aa3914b5ea393fa1b039f3283d39522a3139d72a1e39ccc901390620d638a687d038aa5a4f3a29f9fe3e4219ff3e584d073a9e8c683a7b1ee43e86dee23e388e0c3a0dd43d3ad236c33efd49c03e2cb9133ae66a723ac6f5a03e16fe9e3e8faf403afb75023afb88803ecff97d3ec47e8039f7276b3a49ce3e3eebf13a3ee986433a6b8d343aa907fa3d566eee3d9c5b163a80c34a3ae5c9633dcc45543da25d123a186b043af60b193ab044ae39d7573b399483b43973539f39ab4563397fe8233965f1993923151a3931c78d37029d5c37cb91b139b02a3d39c1759637fd35803779413539eebb453878c22e38f9ff253882e635394e8d9538a92309383142083883d60c3a6f44de392b3f9f39066993393713223a33b6073a9619e5398977e03939814b39c25c113997dab6385b38b338a9f29d39ce1758390484ea38abdcd4384472013a71cbbd3e56ce1f3f1868ec395c864b3a535faa3efe020e3f4cd4113a541c553ac160923ea2e5f23e1d83253ac936323adc88733e9b25c93e4628e839cd150e3af0b0403e975f9f3e34cebe39e591863adbf60c3efa336a3e31f13f3aeb13693ad8c6b43dee0e173e2059483af520b2392e04263de2498d3d958c843903281e3a28bc293a2d880c3addd0b6393b2584397dccfa3851412d38863d8d37af0f4d388d9030387e26213807ac1838717d8a399a85023911f9ba375c85a7378ce57239cd2ab9383750a537558f9037423e91395e9040399513b138737075386ce80e3940fbf537fc0acb37d206c23779ace739c0dcb939f2038c39c84584396cf7d439ffebb4399db19439e9b99139e80450395e4143393e4a0c393ea50139152c2a3a7114793e6c50403f3b66183ae1f40c3a8dba693ef5882c3fbfa4c3391b1d783ab6d0413ea774113f6c80173ae6e8823a46d91f3edc23f13e7e230b3a14a0713a04eafe3d73c8bf3ed0cb1e3ac9c6ac3a839eba3d77d08d3eec0c103aaa82373af9ba6d3d848a393e96db1b3a4499163a5b94c33cad24ab3d5c97f73942708f391577903940088a39296d5039101817394b9f1e38f32a10386ed30138916281391d8bb43876f55f37940a38370652303989b3ce37b94e8b374aab62372bed203aa24cf139f04585394deb4b397eabb8383566c73728b9ba37c4efb637e73d293afac10b3a3d3bc5399437b3391f100939dbdb1838138acb37eb58c3371ae4033a6431e7394bd9b9398973b739eb3cc1394700a039d2a860394ea75439b3ed133a2635f03d1b12613fae00113a00f9743a5e1de33d4d10483f8bd5203a14863b3a244ed13d8b282c3f3fe7103a5357d53af65e9f3d79d90c3f3b87803a4aba4a3ab5587e3d0130e03ea43c143a0332b73a8652343d3bdda53eac897a3a2c7e5c3ad00fb53ce10d543e6a6fa83972ac373ad457443a8c5ace3dfbed1f3aa3d0123a921b123addc30c3ace09cb39000000000000000000000000000000008ebf373958d581384e99cb37c9f2c1371133a837f0d99e37d8799037b97a89376ecf8039ce201b3909380f3826700d385cbf4939712442383ac03838d0bc3638e902d739c3a0aa396c6f5a392dd1383979d76939daf02539a6c18d38ebab4938b39fac397e2b99391bbe7739ca8c6b390000000000000000000000000000000000000000000000000000803f000000000c7f103acd6d433a4320623fd0bff439c700863a21ec983ac8b7403fcf4b273a08f8263a982f423acb2b203f2da2053aa451613a450a753a858afe3e9374263a3ed5313af744373a0f21bc3e1fbd1d3a8ac13d3af430453a3af9753e63720e3ab174e939643df239d0abd03ddf84d3390000000000000000000000000000000000000000000000000000000000000000b26a4b34f4604a342f534b3475de4f34653566352b85613588168535b0408a350eef2135d686de34b6fd0b3509641f35209051364620453636014e367651553679d6bb3550f4b735cbe0cb35e2c9c5359af5e037d62347379e9fa03765eaea373bdb5e37c0b70936d30f1a36002ffe3600000000000000000000000000000000000000000000803f0000000000000000769b5734b6dd7f3f219652349c155334e6e9143687785f3f3fdccf35c2cd8d351316013807ef2f3fc004cd3772cf1d37076ef037ae96003f5c11a83715436536780059370ce1a13e0c221237c23dd63540d56f38ef6d053e0e1a7438297d153831b61e381815d33ad3a52f3851dc893700000000000000000000000000000000c39cfe333d06f033f4e806343b285b36ad565c36d026453686ff6936de267036bb23853606fe4e3605a38236865d9636fca03936de2c2936ea1538360b9a3b36472fbf360860b636a6bac2362d17c436717b59370b3bde35f2d6ef3526b4ae37ecdc0238418958379d3db337b1d9013814719d37434c383773275537c77c7d37c8221937395ea836b1cec836b97ad0363977f133daf27f3f75d08d384bc9aa37a5897436ccd77f3f81cc7e38483c873672aba6374d43603f21b8a73890fe8d37795ef9369698313f75f74438f89db236cf20f9369cd6023f0f2efd371b85cc36985889383593a73ecef1cd38ac5d5a3847cf7f38b0c5193ead10d63810225d38a9778d37da8e883c04348238569bb337fe1f373498e6dd37bac1d63781043137a0a3ef36d2d46236cbd728375d164437b043aa34c551ab34b635b434a195b2342847853624cf3d367dc7513695acb93619fe7b35df2d6f35af0b80354f4488359d38e2343ea8dd34d15de23414e8e234c1a1f636c7f79f36777dc836e9850237719a043741d5d5365720ef361c0b02376c14a0357e25a135a9079f35ffe89f352cb9c337059ab4377673b937c5bebd37d8ec8d35fa2f633fe65ee63dd4b9a2377c37a2344ecb663fa583c93d764ca834f80b05375579443f6ae2b73dda601f37050ba035e9d4213f79f9673d4d34ab35014bcc34fe04ec3e0c542e3d29123e36541a22378c269c3e9995823c8d7d5c37c09d0837eed9113edf9a273c78b2d637963d9935e23c933a1762b03858bc9d35a59a70373d891038a38416387849ab37d1dc9e37d7168f3747908d37eebc86379af2af358176af35e3d5b135ec5ab1350f081c3733dcc9360c02e63623af153742240536b97ef6356556fc35145c0136e7ae08356815043510f20235ced505359226c63616bb6636b1e48536d8c9b4363d85bc37ac3e3237c0274537534997371037313704609035e9354535b1ec6b355835d137e62ec237a58acc372d57c637258c173747f7313f40079c3e42bc9c37ee7fb235b779343f21eb963e4895ad3585795337a82b1f3febf47e3e68df4d373d3296364eb8fd3eb728403ec8ae883663ac00350024bc3e0069093e9d9ef934a1421c37b00f763e087ca03d37dc2d374177cd3732daeb3d6aaeba3cf6380038debecb34e385423aa25237393a7ad0343d108437d5172038e0c21738ddb79c3784b103354ec6e034ad8dcb34802cbe3411b0b336e6dba33640499e36d2a1a63657cc8c36f4a2883687678336aded8736b7f345365e8f4436477a3e3650d6433624e73237bddcdc36c3abdb36a3c4e43659ada63766d3503673cb4a36e87a38372f9433383a4601386fef0038049c22381aadb637f8d3923747c0813748619037950b1137f1f702370e7bcd36664b03375a4713357181003f4ff7fe3e8ca9c634e812bf36fa1d033feb47f93e05d7b436834de33744c5e53e2cc0d33e407d103763440538afa8b93e35a5a43eac523b370a59cd373ead873e94b3703e41224c37088b3238ea49333e1728103eb6b600389d86553883efa73df0d3633d1cbb33382db19e37eb5a303a844d7b39db3c1d37626c1736d1c61e386b280638b63b1835503b6f37337931373bd39f350509a4352248c534da6fcb349dbec63494abc334eafcdd36d7c177367a4b6636a841773673e5733601c51b36ec001b36fd901b36870305357731053530590535bb8a06351ae7d636f36519361aaa0a36b0cf1136d0be8b3792b381374ba57937d75383378e35eb367565b9356938b735894c4b36f1d8d73703e1d137187cd4374ba4dc37620f6f37642e9f3ef35a303f78db9b3525a6c7341b32a43ef1b22d3fcabdb934234c7337ecb3903e4b4f143fec28ad36c7f71937cd39693ec254e83eb36b5a36bfe0fb3430e52d3ea455a83ef7edfd345bd3d937bcc9e13dba79533e62a4b6367d75cc375c23373d516aad3d9e29813711b31237b2056839801b5d38a909b53577e5cc37c941173879050338271c9437c1239537eadf503778f5c736a15db3365b249b35caaf9a3541749735b835983503fc7a363ac20e360c37eb35f703fe354a0ebc3613eb1736a4fad335a4ea0c366a98d7344e0fd334ee14c934465ed134c8c62136584fab35868d8e3521e29335d8b643378fa12b37d24b1337297f2b373060b63490d3b93474deaf34fc8ab634c697923702a37f373e037537443f8b374edcbc37735bf03d32e5613f982fcc367a949b35c642013e98625f3fb3e39135caa00e37bfdff53d2d403a3f9aab1b3695055c3771e2bf3de0d9153fbc11903636819337be20973dca8fd83e36efbd34f9d1a937f9e2233df8e28a3efda1a2352242de379c0db13ce936f83debd0343770498135b67efb384b5fd83866cea434c7c7aa37cde90b389fffb637efdbc736de9c293697be3434fb023b34d4f34234783dda36b68dbc36dfa591363e32a036686ab93613eba6368e4b8d36fc9c973671118437667bc83565bbae35baadbe35f6cfbf36ea64bd36817eb23691f4b9364ddeb636c834483676b93a36be3f41364e4b26383c4bde375d7b0b37fb70a53782340237591295362b339136303f9b364fa353373383213748e19d36b421f2364d7ab637dedeb93968eb7f3f96a3333429ff8737a9e6943acd697b3fae1ac63643065d38b424d738ee82593f578ab4365fca8938fa2be9380a1f2c3fcc6fc83752e351378cb572387951fa3e2438c43674e1d23735b3ae39b3b99c3ef30d3437e1cb83388011fa388170fd3d044b6338025e8c37cc239a388d9be83943dacf362679a53727f611385386db373b3f013400000000000000000000000000000000b4cac6356cd2ab3513996f353fbd9f35a987cb3679f623368bcb0f361e511f3649e7b435330aa3355ebf8135cd6599358a5549368e563d3679c93036621640366b73763729777d358e9b1f3514f63a356e4c00366ec39a35fb538c350c078f35c4cc6134b40665348a316434b86663340000000000000000000000000000000000000000000000000000803f00000000a9d73d372991273897937f3ffef1c43542131238bc935938539c5e3f0b1a9c37e173cc3501566d3716132f3f1c7cb33538bd5c37e20bf93765d0fe3e2b736b370dbce537bdc13a386a07a03ec34b0638e99c06369b57c8370c11023eac26813702165b3494364e37f341173aa0d6cb35000000000000000000000000000000000000000000000000000000000000000030f12933dae52c332ff030333964313358bb2336afee133657552036f3ca1f3621dd1436d07e05367c9a053606210436d10c3a3454a4793222b982330aa64d33285d3a366f682636ff6630362b543336c73a5437469db1368c14b6366fdfcd3655396a361dc96336fb9f6d3600a4763600000000000000000000000000000000000000000000803f000000000000000078e5ac37be44773f3f97cd35b4742e333d204f38ecd4533fc619a2373e33243783baa638b9e92a3fe9603a384f76fe362d5fbc38cfeb003f323ca137906d2235e664e738c2b3b23e3b01563861dc4937b6959138b965393eb39a6b38bcc71d388c519338a872293d65ef8338151f0e380000000000000000000000000000000040400636537abc35b088bc356c2abc3585eb8b350ffa6435be6f7d35e4127835021994343d0895342caa8a3441996834e7ec0234cdce073497e6e3339978d33369016636594b5336e6665b36843a573600000000000000000000000000000000a83c853617d21d36c89a2936e69d3936b3410537a05cca368c99cc36771cd5368aaf84369cdfe133206be4331b86dc3389525a37b9f67f3f085a96382ddd6337d8a06e37da037b3f2f2e3b387bab4c36b5a0e4366c4e543f88d4cf362b65a534b67d1538544a2e3f5225f937b8c39034c2f59d385dc8043faa7f9938bb812d385c172e376964ba3e0cf42437963c313657954738f229533e3ac19b38f79c07372def6338e66c783d7cb0843956b621380c46a037aafd3138c10bf637a1285c37a2f70d34280611341c3a0c348a830c3426d1bd35240ea435797e9f3512af9a35de529c34c0e19b343f519934248e91340b7315357e7a13359c2d1435df991435f72313371ac2a835d37eaa35d634bc3513b3e834e049ee34ecd8ec34176be334690fe236ebde9b365b0e9536d98bac367e080b37b192f236e47eec36dfeaf63664312b371b463336662a0234d0fd00349dc76b3606e45d3f0b61083ef36bd137ba340136fd3d613f75bebe3d18a3eb35ab4b94376c1d3b3fc661a83d3c0e5a36a4d09837a86c1e3fc620383dbcefc836f90990385136ed3ed65b243dac654c38a00c14387230ab3e0288463c4f939e366c7d0538e4323f3e07b2303c94e724375a2919381d0f593dd1e7f239c8dc0038469ef2378042703830d13c38e26bab37d87a0934915f0a34ade4093468130834221f5731c0ed5b31e1e8583173025331b7203835264f393536443b35dd7e39358e23ba34a313bc346e97ba3430fdbb34b197283329d131330764d73203b9a43247a81335bbf516355da118353dd31935257fc03625196f36aeac4736294b6d36a1a7fa371b94ae379d465c370a5e833709531836fdb4803455677d342aa08134b68e2037f4f22f3f8002a03e626a1f37b4b8b1341152333ffc6c8d3e4ccb5b319e650c37acec1a3f0b745a3e5dece035ece41c3824e6fe3e572d2b3e6b2df8349ca92d388e43c33e91daf93d5c2a63370e04063760408a3ed3e29e3d14ef1535b330ba37cbf8223e3c4a0b3dceee103745d87738dd8b203d407e783afc1e4338b452083790d9b0370d398237f178253685cc33358deb37356f993735b0163635494c01350162bf34ee02a8345eb7a434cabb3a35e1889e3414e6873498e871340581af320891af324e5ab0326159ae3278eefc35e9e8bb35e437b935cc9bb335d9be17359361c4322927c33213aec1329d7d9b36e21d583654cf1b36084d3b36e5e66437c4562a377f462137beb8283728bbec366c49713621ea3435b09211365b4e87371921023f16affb3e5c577d36fa357b3751d6033f87afe73e5b232d36c3c58e377265e33e66b3bc3e4729d7356397af3701edbd3ee82c933e169940350caea43857cb8e3eee72623e47824338c713d837cb55513e3d990c3e76dcd13555b32838029aee3dbf4f913de9805137f4372b38d643fb3cc041ec3a6c6d05387302ae372a7e4138bd89fe37df5d1b37e07747347a0b4934955341346c393f346ace0e36dc7a06361b1fec3560e8ed353a857c34100c7834a3e6653470816234b219fb34f081f634982bf5349bcff534de84c53222a3d93264a3a93100000000d34120354cab08353d55e4341cd1d534f4aba03606301336ecd28e353b79bb35ea338835f2ec3a3524652c35f21f3d3578211134078112347f981234304a11344036a036f1a9a73e9e232c3fabae5434d2580a38e32bab3ef620203fd1981a36a9091637fcc7953e2bad033ff86a3435a6818a369e497b3e367dd03e92f3043573f32e38c249443e301c9c3e4c790d37e7544c3867880b3e15894b3e2fd0bc36df46e8374e579e3d6a82d53de8651f377d65c037dcbcb53c1536a53a85d3cc369ef1b73779034838631e013876660f341a49f333db90f4333f28f43330fcf033fdffc1345cd9c0342148ab34d43f9f346f130e356e220d35b6e40a353c060935ff42c634f57ec63460b2be34f782bf3437cb1037a75b8f35a2de443596244e3590820536e52022356ee62135b6882235c58f80365eba1536bb868435851795350eea12370c5c7b366c7a053603c514364c4c32340ab83b345c203a34be183b34280c283870641a3eab57593f5aecf633685fe137a6e7193ec9d74b3f621eb934f1b8b037cc941a3e2cd4263f31a50936857f1138e707003e6850073ffa9b46357a9e9638c8e9d33d4036c93e14502838b6a1e6375a3a933d695e873e63cdf43641b92138fb861a3d07e5183ef9da0b37edf80b381be18c3ca32d203cc1d89437ca75ae37878f2438bb8f5d376c052c348c60b1335322b4339530b03380a1ac33b1fd3535ec8f1c35beed02356955f734f5006434e1614d341ae70d340fbcf43300000000000000000000000000000000ff38253776b25a366fea4d3678e54e3649562f34dc0a0934bf4fcd3353fc973368de85364dbf163634ebd73464d6cf340a9f3837d2d92d3716ed143775111e37147ca136387783366c5b5836fd9d7836de131f38ade5a33a38a77f3f4e7bb6335c42533844ffc13a7c04703f6f7f7035e7c217382ab6213ac3114b3feae61d3663402537f1e7e83aa75e223f1d90443547af9e383c2a0e3ccee4f13e14654838511329382d6f7b3a2bf3a23ee6417a3650b44937c9e50f3cdfd9253e689b0037ae3644384f146e3a8f13983c9e0324380f1b6537a073dc3758414d377d8fc236000000000000000000000000000000009d70e6353b02c635e7659835ba36a035830d21361cd0f93589a4a235fa4d9d3508332436d45b1036e7fafa3505bdfa35b4e6b334594c54341e769e3354d426346efcb43622bc48368fe43f364c3e3e36b98dbd37c0e98a375aca4837385f493797a3873773e55a377565ba36dd2fd6360000000000000000000000000000000000000000000000000000803f0000000017d325382efc8738e25e753fbaea0936f9b24e38b3598538b48e513f47b49a373804893894f08739dd8f263f924bef370e1a0438cb610939611cfe3e01a54e3749908e38d438ba385015aa3e5eb06c3842583338fcaa1a3a51ff2f3ed6e5493861a4c537bb1773387c4b0b3d5c9a0138000000000000000000000000000000000000000000000000000000000000000064e49336085b70368929523675033a364921aa342ecf24348aef2434bc9326344b378435638c82354b188235684e81358f1a783681b06a36e5c566362577613667615a347eb54134b4ea3e34b7683d344e995337cc3eae36e0cd8a36ade3843656ff9b37251a70371e4f5a37f01c6a3700000000000000000000000000000000000000000000803f00000000000000008163ec3859b26b3fb7858e38912ad4374b41563a55c2473f425b6b383ea525378276623a6ed1233fe742e137087845377a79993a85bb003f7ac09238e907053859ae883caa4db13e9b92d13906217338d23e743ce932593e50833f3809180b3855b7023b50c5963d716ecc3a74d5143a000000000000000000000000000000002b248235d41a65350f326a3536315c35e83097362f168936f6e984363a33793620332335d3fc02354f510035e0c5ce34000000000000000000000000000000000d76bf37a46e5a36c17a55369ca74c36ec689b35b9449335a56b943557a08c3500000000000000000000000000000000b96a74371ebd383720c92e37a2e13c375613d4378c59af3757919237fdb89137c1e2ee378021763fe5e41d3dcbe27237ad2c0f3aed45683fffaa303c23e34d3744c3003b0a27443fb934093cd54d813527a5103b4cf9203fd1711a3ccc4df0361cc86f3c356df63efb51173cb695ae384d9f9b3c1ed1ae3e3da7063c59929f37daf2803c1c824f3eb86b873ca211553657c8303c736c923d1c03903c3b56383a43932c38eb2f40384ef81f38bc440b3865fa6d37b73cb736e6491636680b1436878a8e357a128f35c5ca8e35f5678c3586e3c434d634b4348a73a33423bd9334b800cc3539bac735b314c3354ebec035cb52d43676e5f835a2bfea35d5dee23555547534c37b7e3481e78434c1517e3482ab53361a690e369298d1353921bc359cbda93724886a379a71153702c91b3741682337062ffb362916b336cf28bc3699cc5838dd8c4f3fbb8d413e26d23038b7e4aa386412463fcc831a3eff7ebc3591b3d038a7e2233ff7960c3ecd750235fcaf453af74c0b3f02c2d03d3bb02e36a021c23a5544d53e5ac8ac3d09872838373d2b3cc5259c3e8d3b4f3d951dfc36e5d5113a72134b3e4a07063d5cb8ce3756172c3a0579863d5bcbc43ce9599b3863a92e3833838c3836c4cf3732097937525a4a375222c9362f9f683651cb60368fe89a364dea8e367da08636d0de7a365938fa3444f1e33479dcd934b6cfc534471db73535d1b0354773ac35dd04aa3506b14636baa7373637b72d361a8e2436a464cb355e81ca3561b7cb35cff4c935aec6ec359c1aee35d4c2ee3599f9ee35c793e937f69a723737b9ac3656f3ab36eb8f593746a9303775c40337699af03631413038bd97283ffea7ae3ea91b093829cb3d381945213f508c953ea4ceb3361dc0f138c8b9093fe578763ee0beec3623ca8b3acd20e43ec3a5473e4637e7371f80393aab1eb23ed4a41c3ec0092438c2a7373ab963833e892cda3d6fea2338b2b48e39933a263ee3fc833d5e90be37850cff39783b733dcfc0d83c1086ed38ce031c3812653a385bfa103806d0bf3794a0e835ea4fc335aaf8a335f4107b3527346d36875b593657814a36952b38365fb37a35e75c3c35072f05353cc3b9348c43213560c20035b01bbf34356696340b92bf371b1e9a3681f92e36fbcb28367efb3e35fadf29350b102435e0ef183515f6f1355298eb35ff33e0355c08db35cb468d376fc07d37c5a96537ab116b37ee693937a81d07373b33b036c15f983681b25838dde4013fbb25fc3eeacbdb3780da9838b320f83eb0a8dd3efa7d923690f28838ba3cd43ec341b93e5c80d53578ff093989b7b13e5905953ec465913513489c3a3983883ee5b26d3e591f89388fb089396aaf4d3ea98f243e353307374a35f038d7c2fe3d56f8ca3d6ff8d2377ea40a3aa1f94b3dddd5023d7907e338123d2c38e2d35338568d0e386ecd9d37072213352be0113538d00f356e8c0c3528b74936514c2a36bb9904369034da359482cd3569cbc935cafec43569bbbf35a7e0b43597c6b0353831ab35a91da935459f413619523636eac9283602ef21369aa2c035e435c135c5d8be355598bb35d7968736fac5283576bd1f35656c1b356f5cd73635ceda366ca0da36f4cadb36c6809837267b6837a31c2f370d951f371c9337383dfbb53e85f1243fb945ac373a4298381aaaad3ed908133fa21f9336805888381c6d963e1f4cf53ec70fdf35b97a073a46557e3e7e4dc63ec9fbb037c3cf113a38b0493ece199a3e83173c3809f2803a1595133eb46b5a3ed7dc3e38f8509f399713b73deeb9063ea1b91e381c9112397255153dcf52293da473cc371e5b2238f1462a38a57b15385232e23763595635977d3235d5a30f35ac56ed3455705d3652bf443626472a368e661536a00ae034fc28ca346b81bc344172ac34bfc71f34b7c31a34634d0d349b92ff33460f033684e5bc350df0a03539358c357641e035ebe5dd35c9d3dd357380dc35913111350e52103511440d359be60e3502283837a9a0d03622f5f935a5fcf635532a2f37084289366f7d273661392b369ae981380fb7503e61c44b3f1c90cc36974e96384696473e33f0363f93e396360b744139ae413a3efb1b163fed280e36bcd3ef38c4121d3ecf0bf63edab64034353c973a0326fc3d0728bf3e9f2e20381dc0203ac142b53d2135873e8435b637f739b93821805d3db95b2c3e52931f351bebb4390a08f33c6d7d393d857f1b38c095293860482e38ab221138fc2dc13784d9c2354d54ad35030f9535ded185353bc93636688a1e3674f0ff35f74cd53500000000000000000000000000000000808b8135cbdd64351e553a352d992135a4cb933763d054369fa9453601263b3600000000000000000000000000000000923a4735fbcd3c359d771f357a861535fceb4337ae59cf3632d4ce3690ffce36e3365135701f46355f693a35d7472f35551a3838431a663d868d713f63a09637cbf45c3a3392643d12bf573ffccd8136b65e2d3aa430773d4c48343f000000009851433ad810783daff1113fa4d2fe363866bd3a42f7583da96fe13ec7c4a938a06c7b3a77c2233d1933a33e40b544376a8e7b3a1655ea3c1895463e734aa73764abd039b827c23c12796a3de2cd51381a532137df8c07375e9987363ab96e35000000000000000000000000000000005e6d9836fff98f36e65b8336497a7b3692a7ce3518abbc35ce90a735564ea235b2263834ae6f3534276e36349956353469d37936dd637536b5736a36e50b65369e819135ec91923544f993352f9d93357cc393378aeb15371dd1ad36893a8e36490380384285513849811a38645a05380000000000000000000000000000000000000000000000000000803f00000000a24ab539cbdd3d39e3fa6b3fa72bb4368e49d639f9a29d393aab453ff333a83766a3c83a85a75b3cea291f3fce1b8b380d26923a83b7a53a2cb4fc3ed3cf6d381101303ae4fc753c7dd5af3edbbef73751f7453a801e953cf9b44c3e7191b7383bcc36399175433cfe0a773d1dc6d83b0000000000000000000000000000000000000000000000000000000000000000fc4934361f973136a0ad36363a6f3d3694c2db36463fab363ad0c53638eef436ca24cb366d35aa36ee88d336cdbfec36318660369ccd4336620a4c3615005036e0cc8a36147c743643966f3630708936d9531a379b2bbe366b74b836b95f1c37830a903655ec703672776f3648a2733600000000000000000000000000000000000000000000803f0000000000000000569034368c1d7c3ff9f52e362df1233652f21337bcd4603fb5f3f7364453e73653cd2b38a5a7313fbd0a0d38af06a237e44f9937f4ac003faa8905372ddd3136a2e7023850a0a13e1a6399373b2bc93666f90138321b093e0b04de37cc3a9437635294361dc4cd3cd0d06936fc3f5e36000000000000000000000000000000009d80673510ba58355ed768355efa6535af67f435e3cbba359e2c32363215573685103136a09a8b3538f205363c084d367fa4e834734e00352ca503353e9b023550c0a4365a279436e921ad36468db736395b7736fa9425360fdb4d36cf356f36e5b91a36f11f0936dacd1f3637dc0a3678d8be36e2d1ab3680f1c136b4aec636905f013645411a36773825363db707364f2e75350df77f3f4595203a70586735c3e3ff35eb9b7c3f9b970e38cd5440363fc872362fad5d3f19c8933789335736edffa034cef2333fefd1683723bac7349ecd9e36f2a0053fa26dc4361d2aa2361e699036629baf3e28a45337a1677c36caf967377b9d253eae1141387d1d54368df71e3755fa3e3dcbf2be37c932b6363f3a033669e49b37dc521a362edf0036d7bb2835d90cf73496924835c0d33c35854c55364d563736e938503623cc6936fce84c36259e4036e2dc633606407836342547359c1f3235bbc543350c1e4a3595f5cf35a449bd353ca9e8354897f73574924a362f7844369f90613606686037b8f80937f1981c35f5c42835b2f8eb36ad2af6370cedd53713aa9f37b626c937df7aeb37e5b71d38a06c09389747123802f31c35a33a643f501adf3de757063574c85836dbf6643fd757ae3d3f475136f30daa3623bd503fbc64ff3cb04d9a374e548637963e293f4924b53aa8b6a83798669436988ffb3ea755113c04319e3662f046380cb0a63ef79a1c3caa032c3838b1bd37d936063ed24ec53c5d8496373aa401386657b83cec558e380ad4ee37fbbda437f054a438603a8d38b69bea37bd343b36aaff6e364f682e366daa473660f787362b3a5436f4985e36ca0e8a361e286536c7c2153627b61e3604ae8036c3308c36cc414a3654067d368dfe983638157c36d45c24362d4a3836fe845536aaac8436ba25213656253136566d7d36d5a095368b454e3689475f36df12563643abdf36b4dac236a246d0366c68cf36ae879a357cd88b35ed509035a4e59f3569f01f369988333fd745993ecd85b13659258b36c031363f26b98c3e30e06d36913166369d2c263f6daf543e0f904d36c83db93693f4073f3529183e9dda0637543c79366703ce3e10bdca3dd60f373694027a37fecc8b3e8809503d9ce54037a6d7493710d6ff3d1567fa3cbe051f37bbf9d43653867d3cc56f2837cb7cb536fc95ac3538ab0e389b158f374c109235ad762c35e9f221355d8f2535fd0285356a7e7c3628f667360e0f9236a49f9e36f5b4a13587d22435180c613556497235e83747354ed34535e07f41359d0c40358317a5366f5497361e70b336796dbb36026c893503336b35816564352ee36435e59efa357f53ab353211e735c68398352cdeb136932a9536d957bb3675c2c036a7141635e6464235b77a7335082d2435724743352e78003f9c15ff3eef9c68355fee8536ce9a033f3cf0f03e63a47c367488c435814df13eab5cc53e1f0c6c359bd382356f68c93e3fb0933e814c3f35bb0ca5364b91953e3788553e1b10a536c701c2350556583e5f7cde3dec4555353b531036dc2ddb3d8f351a3d56fd01360194a636c5c7833ca74c5337f1feac36dd328f35a7e5dc3774d9de36166c0735331cba352319a33551dab735e5c0ae35f556cb360c4db536a86aab3690aabd36625b323663553136caee3e36bb0e50366afa733671352136b1352236e88f263654a98f36378b4d36488976368d5d6f36e2729236e2028a363c919736cb0eaa366ae39536fb766d360d5d6e36d2e560362ee3c1369f60ad36fb59be36525caf36f5e686374fff933774ff963761f9793706f2b83568af9b3ecc3a323fa8fe883582c6dd3630a3a33ebb452a3f5918973651d6ed36b7a2923e11420f3f63bb33364e8c80372e827f3e928fda3e8b372836fa170837ce924e3e3685983e6c2d3c36ae0923382e4e1b3edf2a2e3e00d6b2369934a937646dcb3dae7e343d957fd436a2fdb236a3a85c3c7d331338bd3aa136d722c2378df09938a6800f3877f44236025f9d37508326370357aa36e48dbd365c31413736ab0136e9f8e8356730f135a4c755359d594135fa7e453598c35735ee626b36253e433662af3936ad2064369978ff35a4c1f135713bf235a1c1f0352a973137182072357b768235678fa03569998d37b110e536e3937336457e1c3721648036d7826936f4c97336136e7236fc0ef734f693eb3492ddf434b50807354fae3f388b02de3dae48643fcd7a9a36356af6374634023eacaf593fdfecac35331ed4376c1ed33dc5fd3d3f6ce02935ccbe6e38c2c7cc3d8613113f9dae6036b559443735e5c03d97d1cf3e4fbab93514da18383054bf3d9cda7a3ee61a343755b94538a853a53dae4d973dd7c7a4377a767937786eab3cde4f4138401141367e872235e2350537ec51df34499fcd34c2ddee351ba0e435d3278335aa8ec435407f9e360ddc963668328f3654419936e41308363b49e6351d96c735f992dc351e836636b6ed2d361d5d0436964efb356d6ca83603439e363497ad36051da436bd6d1735b2c1fe34e50ab73491348a3449ad8a36fbb67136540d84365686513634367736795f3b36165b8a3642378f3689d7573542b26d35e8936c353fea7035bed1f235b2aa673cb98f7c3f1df797358d1af736d70e7c3c2c38703f77a48f36d9f1303767117939dce4563fd0a10c3691eb9d366fd34e3a9151283f1baa3a365239ae369620db3838b2f53e4adaa3360570c735505995393193983ef89e0835427b123796b09e3cae1dee3dd2cf8036b617c436fbf68d3aa7344c3c898a6e3638a67535459a83370c5e3e351c70403500000000000000000000000000000000a6146436678f50364f3f2736312c4936cfd09836092579364caf37367d8a4c36f9419436363d8d36472c77362e875436b21e6d36309c553645d36a36babf5336fb47a23727cf2237ac5df636bd8cf436fec01d37442b1637bafe1237ac03053794385136395843366a236c36cbdd4a360000000000000000000000000000000000000000000000000000803f00000000301a883676bb8d3712de793ff8b03e36a94b8c3737fffc3720eb5d3fac003a377c6b2b3767b3d437fe9e2f3f5d4e13373f61fb363cafaa37bd76ff3ee32fb836d9c80f38709554388e819d3e19b724387c391137cb4e9f37e5f2fb3de8fc1b3778d13e36e5eea5378def843ce2e59c360000000000000000000000000000000000000000000000000000000000000000d5afb33567269c35e6fea93597b19235081f9736bd278e36a7359236bf8582365d0a7e35d9485b35c9c98a35b70b8735a8454536f9924536eb164a36782e4d3612fe9b36e99898361c3b9c36626d8b36492317353234013547ab3f357b4b453539dc1036c0ad133623ad19365f96243600000000000000000000000000000000000000000000803f000000000000000023e816385653743f97e7d53651a0fb357181523acaab513f1baa873776ca9c3636e5183a53bc2a3fd93309384efa6635129698399c64003f62b6cc36763e62365fa4fc3a57e7ae3eebf0ca3708b99f3650f1d33c3cef223e2c367e38d23e0a3875f9ee38c6d1643dd5c12c369bf72d3600000000000000000000000000000000c2ac09361e010436511b04366fa5e9352898f4357688e035592af235b71dce35723e0b36e1abf435042202361b8208360715a6354d6092355a68c63530b2ad352d288536c84c7f36828484367fef7436e48d3136bb1424361e482536f59f2036e30f973577578935b47fb2353edc9d35fb107d366b126836f80b7236237c5c36b8cd713617f27236ac547236c76f7136c235443797f07f3f6c2d213ad2238a37d4a2c7379c8d763f2dff4a388b2e2c3627e63938012f523f6ceba837384005367b8ac537a6d92b3f12e3d9365caaa43591f4e638cb62053f373a4d38136e013722a758387038b93ecb2dda374868213725552e394de5413ebea0cb3a093284376b6ea638c2ae8b3df03b9338347bed37d733b636ee09e03607079536ca6981361f113537ec9240371f504d37727020375a62873624137136a1ba7e36c3336836afb40d3500e41035cd2f203501e613358e06a6366d2c8736304f9d364c1b97363e208a36d9608436fc498b367b4e813605cfd03598f2ce35ef3bd035eee6d0355bae68368c175c3677c2723601e56b367c4514367e2b1d368a0d253678f913368dd117377105fa366040ee36d479fd360dd089377c8c653fce11d43d1d141438626d7637de92703f3beed03c855a0f3755b727385b49513f3529bc39242a2135993c2138fa152c3f65af4238a4379c37f96d68381281023fa9c15b388cfa4437f4e07d388fbdb63e9e646438bf984437771cec3985ca2b3eef75d13cad09913786fc20389d988b3d96d14038ec7c0b373301e9376f544c38814b1e3826b79537ae59123675920c368475ec35243ccc3538fad0355d07c7357617c0353150a435a8d69435a2cd8f353ff37335519e0135ede03335d0064935a4cf3f35734d4535987e8e36283f8d36abc58e36a61d8d362356d0364f5bbd36e1b3be360323b03633892135b1a82d3540252c3581522c3560e2933618d7993668849836f05d9b363dc5b336f755c03663ddb2365c58bb36d5083236fefb333f5f48983e6dfeb636e5aa293718c03d3ff1f4683e07fd0a36b7454e3839b22c3f0503113ee0bdc836ef0e923894f9113f82e8bc3dedb2713745ca3e38444de63ec2f5673d4b0dad36e88677386ceca53e59e59f3cd9cbcd374352a838c15e263ef1c9083def76af37de410b38c494553d15c43a380cc66a375eebff37a9456038c3c21d38b3ee2d371314cd366a7ed136a44fb7360682aa36b27585362f716f36a9534a3658d13636c32945358e710635928f17359bd44f35866ac235b69ebc3507bbe03526b0c535cb74cd3612e4ba36afa5b736ead8ab36028d0836038bf235975bfb35988a02362d56453564803635c24c8835e4eb54356c48fc3604350137b3a40137ed81f5360f5dec364bc8eb36f600e436628de93627931837898b023fc41ffb3ecd7ae43699516038d52c093f36a9d53e82d8d4362c08cf37cd8efd3e8660a43ecb691335b619cf3735b4e13ef55c5e3e8b93fb36907ae138b966a93e27dc2d3eb0fc1238626b0838ec13873e32d0a03debe62b37b60d21386a7f133e2275253da11b3737237af83871d7423d8c5d4639a29afa3723c91c3718d07c37ed4412373578e036f1cfa53604e09e3663e38736541192367e828e3650767636b6936f36d2ee6b3649c33135e3753435b81d3d35819a2d359878b536787399364e478636099c8f36eae8953674908d36ec8c91368ab78b3664d3503511ce59353b116f35be1257353b424736cf0937367b233c36cc2f4536a826063684d6033645da1236a4dc11364080063673fff835c8a5ea3527cb053686273438298da23e9fc72e3f0f02f636a3abc3375ba3ad3e64ee1b3f29ae8c3668ab8938a905a33e67e7f83ecfd33635aec288383c17963e1320ba3e73219737c74d4e38eb807d3e286e7c3e60ad9a360542a238ae974a3ed908103e9cb58637d978a638af37093e5a354e3de648df37ae165538632e003dff1e5938faf55d361ef96d3630d2083728b53f36bd7f123692ab6c36f1984835575609355ebe0f35bc69f235dc45ca35508c8f35950e9f352bde0e36ddf7f135ec7cb1358d6794353b2891357573593523232535026026359067863688328436572a7936dcdf8036044dd2365523bc363267a8362dbd9c36d07df434e5960335a357fa34595300356c7d8b36d7949236fd828e3687da92363ca6de361767ec36d5e0c836d8dcd636929b5538c6c6f73de50b613ffbf33f37b7e43038ce40073e05c74c3f103f03360d3769380021123e4a062a3f747840361b5291384ba71a3ee652fc3eb0b6ce360a187d38d5550e3ef33bb43e698e44371b553e384da9f53d3469553e1b24b33773f5903868e0d73d2bec9d3dcf46853799e86e382d790f3d47bf7d3835a19137ad86b63701fee13751337e3776e60537b4731c365361d03526c0a93564bfa135de12a23512b880351e0714353e0d2b35e57aa035f06979353a0260352df696359e5f093618ea06365e2d12368f880a3648f88836d4aa83368f9e8236349e7836a135f83598ecde35e513de352c45f335b814f935613afa35c98f143617ad02363c533536e8ba2e365d762a36a4831736ff9aef354032e435f66ce63524ccf2354c210b37b9bbf53c447d783ff1028136eee1b13892f9303d9f8a633f2438263619a66f380ca3093dae95463f79ac8b355c4f3b38f759033d575c1b3fa2540c37343cf53822af1d3d4752e23ecef02a3784c7c23727405b3df4238d3e6a2a8e362e38423801fc8d3d6fdfe13d7835b1376f4e8f386c6feb3cf4900f3c446f273832ad333776cb6137ed3ba636f6e6d2350000000000000000000000000000000048481436e138023699de9e352fc29335eef409351de90435a1f0833407fcfa34b15396368ee992361eb580369bf88236f54f523628834b3600463c365bda35369268af36200882359f5d653578798d35a7a5a036a836a136caa797365de69a36e40adc35a05edb3559cfef351468eb350000000000000000000000000000000000000000000000000000803f00000000f7293736fdfe9639d1bd713f1f4a2836d7d6ac388d4d403aea98503f63389c373bf0ec389b6ac23a79c5273fda7df236da6b5637e19d843cc8d9f63ecf648c361324ba38aac2cb3cf1e89d3eb5b490384ec2623889be193d7b7c123eb2cb5b38a309023876b6fb3b67ec1b3db1cccc370000000000000000000000000000000000000000000000000000000000000000f2f99b3429e38934468d71344bf04b34000000000000000000000000000000008140ac336173dc3279edd432ebf1d032bb5ce5340285dd34fb2ad33415f6c734340f9b35de1288354dbc8d35faa68835ccaa963442f60634e535ea337215dd33e3625f355de16335b46d6435f04a643500000000000000000000000000000000000000000000803f0000000000000000ce00bc3b8de5653f2f1cd834b804c634e336a33b6d70413f79bb40380000000028b5893cdfc11c3f78d27038cf45a635eb10b43ccf46ee3ec70e1537b65af434ad1ebd3c61b3a73e226ad53507d2cc35974f373df1672f3eb5a1a938e1b50338a471eb3c5d2b4d3d3db2603810925d3700000000000000000000000000000000b06b9c3571409b358b16943587408835870b2935aeeb2135df072035fdf2163528564b337f09903246b54532d223a73138dff33585e3c235a770a835369789352dbee334bb45df34d716ef3424b0ec344202d2354c98bc3595cab135a1d69a35a22c7a3542c773353c855d3521dd523585e5083513a21235b65022358960253533cbcf35297bd635bbade13528e5de35c42d45388702803f4d8f6839d60ea83701e3823b6c1c6d3f354a8237dba127350cc0bd3b7a35453ff05d153773f10435b11d953c1ac51e3f827e9436f69563369548ad3c91eef23e7c07c73419d9c9344e36223db0e7a43ec20c273658a31336b26d3f3d55103c3eef403037a915a0359d7ff13c4ce5863da5990137529ce834f6b0ec375512ae375bdf52377a48d336bf9a8f3675ed853671f68336e3e87d369da2c732e222b5321f46a5326d0a96323e91d23265d1af32ef6fea32000000003e381c3570b3c1349783bb341f3dad34305fe0342096dc34c14cd5347c7ed43497c27c345bfb28348bc91934f928e5337deca5341aa9a734d2b5b7340c49bd34fc6c16357e5818351b91103575ca12359796fb354b11fa35f9d5f335214101369324313769745d3fe56b0a3e5d212f37e40bee3a15e9663fe851f43cfcbbed32a16fb93c1f9c403f9d359e3bcc54e03322e0073d237d1f3f17632c37240d93359aeb333dee84ee3ebb471e38de75d934e202283d1237aa3e4533fe35efffb635c89f2a3d5d9a373ed118e138078dec345a38dd3cca478b3d5801f33708871035a6990d36ef850f36a5de00365804fc352143b83550c0b73542a9aa35be9f98359db81434b6670634d24aec334f62b833079abc328e0ca732fcdfa53200000000575db934ded4b734d95aab349ec99934ef9fc834092ac6348b26ba348ec3b8345532fd35410ce6358a0fe135824cd63553053e356ceb433551ca303504ca263595d47635f4938635d4c57f35481a6d358e66a8361dffa436abc1a3365ca7a43684d1a438c45d313f76699d3ea6001938a37e163a2ec2393f37cf4e3e8f5c1c3436cb963c7c0a243f7e47fe3d6c4074333ea3093d10b4083fc22d9d3d5d8852351c5e3d3d63acd23eb283333dac20cc342837383d99439d3e19ddf83bc4881f363baf343dd721343e4e1def3be7a14735d9dfa13c089a843da631483834d38235363e6c376aa96237967f1c37eabacc36c5600d3673b60c3659bc0d36894309369d051135bad60e35a40a08354894f7346cfb66355f0349357cf62b359ed0f634180c3a3631aa2a365fe61c3608130a367a4305356a400435493a0635590f0235c20071368e5f64368008523669103f36fa63b735926ab135d21fa83541099f3527925535e6505e3511a16d354e116f35a32b0c36fc6a0f36d9371136aa320f363eb518382d89023f0713fb3ece9a3437247c713cfb7f0c3f8782b83eaaec21353eb4cb3c46acf53e1fa38c3e2b13bc35069b013daf97d83eb4e53e3e3247a636ced2153dbcc4a23ed7a5153e223a8235c916293df336823e28db833d32e4ae3638464f3d97f1113ebd22ec3c3d8ee435d14a933cc24f703d741d7a38c7927535e3f84b370cc22f3792c1d936422f193602f39a36a2119836a6f19136ac028a36916b1733c26f0533061dec32ef99d23293de9134ad7d8a3481948734a2125e3402d5bb35cee8a2355f0592350c557335528ece341abbcb343863c43470a7c334fdb0c134bc8fc934c8a8c734fccfbb347bf8ac33e93abd330647d833f576ce3337297e3402938334b7c07c34048c8234860fb2353486ad3527e0a6350869b43541ec87388a30b23ec3f0263f788b1c3736348c3cfddbb93e5344093f3e05b634ed89d33cd636ae3ec69bd03ec223df342e17013df37e9d3e85d39a3e70e60136e0c9363dc2e97e3eb807533e7f8dcd34b82c3b3dedff453ed46df03d0a663c35b4ce2a3d7f39023e413d483d8d419c33dbe6933c0f065f3dae90ac37c8d869346ce4d5354486d135836cb0352782a735039cbd35e75aaf35a6e39435520379358f5ee9348675db34e4bbc834aa4fbc3400000000000000000000000000000000d0ef1e346c841a34347ecb3350627e33785dd9344bf4d4346abbcc34d53dc6349208953576287e35c81254358e143b3534b70e34b2091c34b2b3f9330d91dd3324f86b3358847933bd918233da98893305457a36a8d9713632696e367e316e36ab143739239e323ed75d533fbe8005365a41dc3cf7fe373eb405333fb9c4f2341e2b003d2dc7463ef5fa0d3f37f642340b0ee63c635b413e753ed23ef44ccf35f05c1a3df4af213eea81973eb3a8dc349d182e3d3c91073eb27e2e3e507cd435416e333d4881ad3df53cbd3d4b33173576b2a23c4a1c413d6b32fc37a15e4c33edb298361fe68e367d37893667128436f67c99352aa59635dbf59535b0978b3550d1363410e82634c7f6b833fc390f3346979834762c2034368b4c33f6ab20334c99a735afd08a355d7a4235a684fb34f2d4e834801fe2340b5fde34eba0d234e10d2736b67f1b36a36605367a4ced356183fd348f96e834328ac13423cf90347d395935f9835e35fb3568359a1266355e716f35f25463357517663519aa5f3563acf83b7dad033d8ce7753fddd21737bd74093d00cd0d3d7a51563f19af8f34b25f173d7524653de2832d3f227467356148223d0b5cae3d1ed7033f58c71136c62f343d7192ab3d4e66c13eb6f8e834dc3f073d952fa63d6b507e3e4d9387367a3ad23c57a48e3d5dd8043eb4913735a72c633cae7b363debd6423cd0e54b35e05d1a37eca86c36a8debf35fe16aa3500000000000000000000000000000000c416fd345d56ef3477ccdd34d330c734594bf4324752c2323f07983200000000983b81356a6d6c357f914c356ff83135cfc7e834824af03480b7f3347698ee34018f1e35599cb2348a188033c9a86c3300000000000000000000000000000000198319359f1124356f1a2d35548831350000000000000000000000000000000000000000000000000000803f00000000cbb6ce3c1447953c77db603f596b17352b9bd83c8db9913c139c3d3fcb2631385aa3ec3cbc70d23c3a7e183f554eb935ee4f053de6c6063ddc9be53e6216aa36743ff03c4b943b3da0ed973e260c9238de9aca3cb49c7f3d919f1c3e1e5f74386634293c3eb7323dbd9f303d150f163500000000000000000000000000000000000000000000000000000000000000000000000000000000af480e332830a033e66758357bb94735d4c84b3566068e35cbb057347846743493838c346d2cc134439c8234201daf34d89ded3428022e3523dc9635115da2353a8692354c9ec035ba54cc341fbfac34ca7d4a34f7cc2034e129ea348213e43475b3e134383c163500000000000000000000000000000000000000000000803f000000000000000092a07a36e21d7a3f7aed9c3600000000ae4d47358c425d3fab6a473569511435daa97b38d130343fbb254a3729608134c8ed9239d794033f8e25ab39ef6e9e3509cbaf391697a13e8f0c053ae17e0e353e982e35d7e21a3ecb046835ff10a034d4e0d5341112383d55f25a39265eeb3400000000000000000000000000000000570cb1338ab0a5304d73843120c65c3416efa7341d7f7134b205a9348dcbfa347b353435ffe7e334016a1835b5314235ef4db434c19b7234f894cb34798eff34f0a688348b5980341167ae348723133584d79534210fce3309aa053442b756349e66383509ec1a350a0f11354cbf1e3554631034a71f2033064d83339dd706355cd929350a124a351ed404357640053592a28434a4877b3f2b3fc73c56f69d3452af9c35ed1c773f87a8013a0abb6e35193f31359f9d5a3f53e719380fd04d35c3b52935123e323f7f96a0388fa8ed34917f66355cb3053faaf67b35fc661c3592686b3488b4b33e22a3bb3adf10ae3432276835d568333ec407543cdf472f35ea2ab2348ab66f3d5525a0397c5a703320c7e334e821b834d39b8e344a04ff34b66b303698832936f84426363ed91f36758be93346c080332e4fd93380c0d133d4873934079f1433dcc45c33279c6833877cd135c27c29358f52443589637935000000000000000000000000000000003fc37532485a6932f3f79c32af24cd32d1aac534dd39d133f6eb1f339f4ea733b9db03356b86b134161e46344ac83035f0ba75353200a5355d75a835da3eb535a601243691e9603f3006043e76f051366b1901345cbd633f364ac13db7edf2337c6182336ab0543fe3e6f13b53e363341f1a203684ba2c3fc9819d3be643d03500000000d2f9003f4dc2833b00000000621e2234a30ea63eaba0c43caeb3bf32b95122357959103ebe682a3dea9b1b3489f14a35f1c3b03cc83bdd3b08ac56346f409d35e8568335708a8635d5e4a4353cd4bb350405ba35bd78ac35c082c835cb0bd932a4c5da3290c2d032a7cb2b34c27e9534000000004e9d6e340aa6a934bbfb7b3571e01135e346d234eff9533577c99832369f9332bc988732fa4d3233b7e718368bea0e36c7d41136d3242636db9fcd35633e99356e7f5c35c5ba8035000000000000000000000000000000000f56873674bb943681f79236bd839836d73bc235121b333f43159e3e96dbc735985d0233354f353f6f558d3edf7a1033d9a90335e8dd2a3f602c3c3e5d5a3035146d3b3567080d3fa431f83d1696ba35c7f2b5325502e33ef6cca73dc605c132a5231a36aabf903ebf2a523d84f40f36f51185353b12023ed11f473d459fa735000000008839b73cfa300e3b00000000a445583682e1d336ffe83637d27f4a36ecdda135ce818f356e3062359c7588356a3b253380fd2633224c0a34184f3e3341f881356cdb593519be633525706a353f259834b7e72934b5ffcd33824835342f4545345afa433416e46a34c76c93340aea2535bb23053549651635c1b6143557d73e3540012b350c440e35a5420f35687a8933acb14a33363aa133eb5c89343fc3c635a0f9d735a8cbca35519bc2351097a2353d69003fab91013f3f9d9235f545343439c7053f89d4eb3ed6d24b33dc214f35e91cf83e91e1bd3e1b08603554bf5e35ae8ed83e54a8863e93cd243445e67d347a12a73e3f69383e2ffa85342472f33451be713e6704bb3d3d0733359c575c354461ed3d56831c3d4f802b35ce744e34e330d73c61205439a4cdb23386caa33556c79c359b349f35ea0da735af2b503642cc5b3669482d36e7c8263600000000000000000000000000000000ed0e3d35000000000000000000000000d78a2c36676ced35dba38835f4d5b4350e6a9132efa19232b11c00337c202933dceb2435b08beb340761da34be16d33411289f35564f4a35f366bd34d4dc25353b1127346bcc2134ea6fad33b5a569332537b73558d9d035c65aea35734bfd3561027136a633973e3d3a363ffda53a36000000006e1eaa3e10bb263f00000000224c1c35e265983e6d8e0a3f7d99ff33f41c6036dbe38c3ec4a2d03e269f0736179e2433b9346f3e80b5833e7bfd1233b0697a35da26433eb40f1b3e297f2235bcd7d7357b69023ed8ad173d16c68c357a276d34107fc73c0d153e3956dcbf33a16fe2351706bf3533dfb035e226bf35ee2a8b35471079356ac83b35edd08035c667233576bc78327a778732c6bddc3300000000fd646632a323a13265bdaf328969c734527a6532a9a49d32c3c7ca320000000000000000000000000000000011d0d9358ff3d435b7b8af3536090c3610f39c3543cd6535a9a32535e8324b35a1f13532b7f4ae3372c3fb3390361934b398683693a478363d0f7a3667ee7d36c1be9f356442f43db0c7623f213568350c134235db1b113e7cc9563f4801a033c1cbb734f72fdc3deb70393f92ed3a324c2b49348c08ec3df1880c3f1faa323400000000810ef03dd95dc73e00000000e252e53590b2f93d1d915a3e8d46cb35af6a4535914ae23db76a7f3dedbb87351a6f4a331109ce3c203a293956cb94330cdb4b365fe6383635850036c13f11367c7b1335c9b98c3419089c316b09de332d6a0c34b47f1733c68e2133dea54a33c46f833535a968350d75493521575a3550f287331a8b9233fd8d9e333cb8a4332b6392340e0c9c342dddad34521fc734ec7b583567a541351b343c355c9e4135d91d0e35d5bb0735d57d83340b1db43426846d35ec3c183566b8183598228635026a9a34cdef6f34e8c9af34c183863474868e35dffeed3cc7837a3fd5309a34943256350783203dfc56683f6e9b7033d2f05c35fdbe953b9572513fb80259354f3bb734d3e10f3c7bf5263f976e9033c57e7335cbbf833c1629f33eacf2513502d11e35a632cf3ca7a5933ebeef5c352db430356e9e323dc4e9eb3db41ddc3417a89535aa89a33ce71d963cfccd85359da37f34c1ff8c3358d24f344fd55d34000000000000000000000000000000002b70c634147d7134c2428834e209c5347d56953538456834153f98342583ae344db5433505224835d1add534d84c2235cae5d2340f966e34e8092d346e4f46343c84e23493efeb3465849734ceaeb33494bf3c35a8a55e350fe8f0346bcb1535ec300334833b573300000000000000000000000000000000000000000000000000000000000000000000803f0000000051550235b19f8e390377763fdaf1e534a8bfad352e91fb358d975b3f1c694735c7eca835fe5a763adc34323f6a8a1f352d34563805f8e23ac3cbfd3e29c4c0343f7a453790e6183bec389d3e9619293770588835dbc2643a1eb7133e74af0a35887e88367764393a2c47043dfc911137000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000289b0b340493f433585e53330008da33931ba1343b4eba345316c3349254a3340000000000000000000000000000000000000000000000000000000000000000e622c334efe5b134eed794341d6fa2340000000000000000000000000000000000000000000000000000000000000000000000000000803f000000000000000026f1b2375dff723f0000000000000000d6c61b38badd4f3f00175d3576aa8b348c89793a7d412b3f49aee5343dcbcc342b6cd13987f5013fc0289a370000000090beb53c7119aa3ec9d1de3724bc073760d2163d769a2a3e7b67ae388a57d834c0b38539fda08b3dca3f92371d0c6936000000000000000000000000000000008348fa322843d1329dcdb4321e888c32418a9534075f8d34601a873487a670349712c5344145a33474deb934520bbe34fb8702356ad5fd3433ae08357b00cf34348527359cbe05356fc22b3520132a3588b7e3349c41c9348b12d43478d9d434ca451c35e4e11835fa2f09358fb0ff34223c6b34db03013413b264347562b234f4eed0349ae6d234db18d634a36acd346e52b7372833803fa73a303b6b7f883737ffe337d2a0723f262f8e3733e49c34b292133920994f3fad5a11357c31ff3446b38239940f2b3ff043ed35e7e607351de0ac39d12d063f591d48370d3784352e2ed139ddc5bc3ef3b67337fa230b35070a223c8a44563ed4fa69394cf11c3529efd2379152ab3d6d7d7d37c0fafe347da8663573418637222a0135cc1be9340000000000000000000000000000000065d3d4334332b1336b832334cb9060349e77ca349b609434a0fa9d34369db23400000000000000000000000000000000000000000000000000000000cac2c433e8e7a334b9b7813499477c345b6f9c348c4d1f317b3adc313c355e3383136733000000000000000000000000000000005310e433d4a5d13200000000184a3534000000004e58693f91aebc3d00000000fe9ddf3478a6733fc4be4b3bc3892b3411f00a35977e533f6ee55b39dd52ef343c41c6374b832c3f0a5d3337000000002da0f4373f5f043f8678bc38000000009213bf37f3f9bc3e5fefbe36a36ece3426089d370a4e4b3e564c8d38eb403333cbbed63795d9a03d322fa4380000000014dd1b37c425dc3778408b3718eef2347c9f77350b0d59355653213571b0ff340000000000000000000000000000000020ff6033f6e1d332a4ca863146cd813181cdec34b026fa341dbbeb34ac6ad634000000000000000000000000000000000000000000000000000000000000000035d3c234a59eda3418edc334b85cb8340000000000000000000000000000000018a44a339daa6b33796437331a7a8a3317153b356846383f1b87923ea3736f35264e7534a0a3483ff928313e9ce4cc34578ca9343fd1433f7a5d443d7570a434579db937c18a293f2316b139c9b90a356638c137367e043f9958c03700000000b1f6ed37324bb83e9f70e837000000004220a4382c54543ee269af378296db34a1a9c43710598d3d18bcbc3700000000fc01933795d7f237f4b082372a0ae73381a81534de46de3385d792333e0cb93300000000000000000000000000000000e71f0e356843ed34c5e0e8345675df34251ab53414b8ae34c903aa344a8b803407b04b35c57c4a35fbcc82355b9c813558de01355d7ff434abe6f5340396fa349d4bd934ac07c734b0879734551082340000000000000000000000000000000050668f34b7dc8d34ffaf9434fa4f90342b3618368212033fcb0ffc3e1fca5434b40d11353a16143f678abd3e00000000f59078367a64133f78c9773ec1ff23350feb1d382bee093f5b61f73da0b1d634150b39383be6de3e74de8c3d4a033b37ba4b533832bbb33e1222843960900537e1fa713813c53d3eaa34ba3b2c32f1340506863724066d3d0c0c013700000000f09a4f364e1023371267b53459b5a0346f395033a4ef1533a49de232ab3e143300000000000000000000000000000000cde2a9348f567434cde430344f226f340000000000000000000000000000000000000000000000000000000000000000fdf0df34f7ebce34a248b2346f4bc434f2248831d6106031cca13e3255fc2233000000000000000000000000209b6534abf22435f8730435ddd62c3528277835b4abe637cc159c3e441a333f9be674322521c237088dbd3e5f30113f00000000e1a52437344dc53eb4d9d53e2cd9ca349c060a386b02c23e53ea8a3e000000003801ff37dc5db03e68ab183e000000001d27f237ce28993e6883463dedc6fa342acd3b376b85443ef0af803b472e0d333afeb9375230453d4258823700000000f3689135f6228035bb9d503590aa5035a4cab9348fdbd633000000000000000000000000000000000000000000000000ed9582332f349f324ff772316b974f31bfb3e434eda2d234c719b434c69fa2341e8e1c34220bfa33aeadb2332db22331c9be20321571333000000000000000001993f834274e0335cc6e0035df90e334ddb6813451926434d2a26c347ffc5634000000000000000000000000000000004664ed37e6d0f23d42c1623f500ac334314adc385bd6293eb60c433f000000001df7f039a34d4a3e0f761c3ffc159c34a8bfb03903e6643e838ed63ec528fc344eb1d839dff85d3e0ebe8c3e0000000018d2f4378a515a3ec9b8fa3d59d4263458458f39297a1b3e6816003dbe3307350f856737393f4d3d33ba1c37348c0134e1bdc43225fdcf327db76f33633f2b33effca334ae14813422233b34e63e4d34f3547633000000000000000000000000757b0e35d628ea348705d334db69e5341e1fb734ecaaa534528f983457c38034700809358e59f1349404e734e9dfc334dab5073506ab02358853f1344a77ff3491b3b734c636a43476bc8c348bbd7a34c7dfa23433c397349a0d9b3433098c34c2f4073356261a33522322331f3a1f33f92f38388163393d6b60753f062fde340f660038b825a73d4c19573fc5d3173514e13b3a4a5b523d8ab63d3fbfda1e35e15c153ad6c9a73dfc6b0f3fac24c6342d5a9139bca3dc3d6b64c13e3e66a735b422c83880cf013ee1265e3ea8b12235f0d369395f37ec3d3305aa3d5420a5349f150e38102b683db3555339b5fc8d36a882ad37cbb8b937994e163613f90f330000000000000000000000000000000000000000000000000000000000000000df69b434ed118c3469e23d341f326c34000000000000000000000000000000000000000000000000000000000000000092dfa0342c959d3449c2643408178434f63a9b33c6722c339589dd32bb5e9333000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000077372838d1acb13c03476a3f00000000eebb333aa5b0813c2d444a3f874eb334cec8cf39960be03cb4b5203ff5b4f4367b38383859034c3d373be73e9af38437d0cde939d66b8a3d44cf8b3e67c39736eb1c1c386724af3d4f6ee13d5363da37efe27237cff2f23c02acdb3c085e52360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fd6913370c5693394598d339cbc0b332bd189346e9db033c83bb333479ea733f6003131000000000000000000000000cb91523382556033c5845b33957d3b33091ada330262ac33df2ee833a335d333f582aa342702aa34f1bc8b34e14d8d3400000000000000000000000000000000000000000000803f00000000000000004fcf1c3d10bb5c3fa8e661370000000067aa223d495f313f58b2f633a3dddd333be40a3e84f6ea3ed6fc7f351f0f3135b0f9333e40a68f3ec0a80b3700000000a2623c3e2776123e4dd2b9363c238c33ee55043e3e1da13d16ce523730f22c3425a84a3d8d3fe13bd73b07387b09a1340000000000000000000000000000000024d93d330000000000000000000000002a393e337d9a0633e13cf33208660233d26fdc348e95ad34209d843462b32634e1243c35e3833a3550d43035223d1c35333f2c334e3d25331ba915338e4c22330a7f9234aa764434b0327a33c64822326bad6634d99a6234b81e6334e71a3134cea4413390ec40338b6c1e33f21e2033cf9bfc31c856fb313feacd31790cd03171022139af57803fd3d1f239a14c71373185093dd190633fe107b73790f18434ca7e3a3d052b343f85458735b85c683501d3083eb12cef3eefc4c6357461a835bba1423e86378f3e8a2d833410dd6c3481f4533ee2cc053e3a3961378ecbf034307c083ee2ffaa3d40e23d371e62d33444cc663d4ba6133c8b9fc837f5846633f42b7a38bf366737a47e08325887ef313df30e35166dd534c7ad10347651ee323c702f34470c04345d43c1335094b533046c8c34050b4e349cc94a34a72b3034558f1d351da410358839fb34c4b8013500000000000000000000000000000000472922358d050635947f0f35a6a90f3522552934b5432a3412245334df086b340000000000000000000000000000000000000000000000000000000000000000f6eec7372a0a6e3fc5e4953dd92f5c3808b84a3c139b703f6bad503868fd8934a2e1c33c97fe3b3fdbeaf636b5200e3575b7003eee65f93e648e8a37250286354941303e15dd9a3ebe437c3700000000a4cb413e2daf183ea34acf37503273354688fc3dc6c4b83deb85c4378bdab0343b204f3d10a3973c4c2e4d38000000001e8a5538670ccd37af72d933690dfb31d9a0e131726ece31ab42b7315dbba03100000000000000000000000000000000059c8e3473776a34ddea7934b65c4b34b9885d3452bd4434fa21573420de6a340000000000000000000000000000000020dab634f96b9934c9bf9b3499128434b6eec733333aa133f4c2bc33a1c8c3336a6a3c34dd572e347c050234b1af08348d4f523440ba67344eb49b342d121734392c833841bc393f217f8e3efed57f3805a7563d0638593fe8eb743d000000003d4c483d1fed3c3f44cb303839f83035f3ea113ec776fc3e47ab4b38ff2e2e35ef9b3d3eb215993eff60973700000000d6a1413e7e6d183ed2385436b9fdd83426b1013e61fdab3d58b7013891f3fe33c180363d88f8823c4dd370386cb01234a5cc8b3777879534edad2934d70c2334fc890331ac2dde30d322b3300e14b63032f195339f427f337401383326f10e332294b43411a29d34b0413b3476e130347b79cf34638acb345f4cc1344bd49734efd210349c911134da6e12344a781234234dff34209bdb34b44e9a34fcd393343d2e7834716f8a34e87c9934279b8a349b8d9e333747a23335e7bf339c79d033bdd909314bdc08319334e03025d7e23048b9cd38bf9d083fd067f03edea90d38280a883dea11203ff7e0863e927ddd347c2a953da5441b3ff5d6e43dd40144355c86333e8858fb3edf084c3935a1753540cc473e72599e3efa21e737395bc834bf9c423efa221a3e43014d38c4094535310c053e2c76ae3d03330f389144e8341f793f3d14731e3b4c3e7638540c6834c3391d31e6960f3125921531ad0a033154176234d4b102331ed0d332f48fcc320c7bfd338deeb23322d35b337bed5933ca6732345eae1c3436ca033482590934c0a59234381f8534b74c8734402994340000000000000000000000000000000041da1a3562540435d256063526300d357be25b34a9e059346a64783402158c340000000000000000000000000000000006c30232c8a5f231e7bfdb312eebce31a5360f393806ad3e29452a3f13ac16354f80b03d9cc8cc3eee37ea3eb0f7603497a4b83db9dedf3efd18893efff89e3432b7303e8868c53ef3b5e43d26a44535dac15d3e08c8973e5fa02b3c0000000040774d3e61002f3ebbf2a138557aa7367f150a3e6737ab3de4964d38fc4ba434185d283d1658913a7807373800000000e50dfc3430d9c534de332f343ecfa43300000000000000000000000000000000000000000000000000000000000000007ebf4d34cfc3383467b04234daab013470c23a34d458273414e9343440f14c340000000000000000000000000000000052e8fb34e42bdb34babb993451ef5a34acd77c33a100483371cc5e33fc417d3366f680343cb3763484744634c61a4a34c7f4df34d91eea34c2f00635e970ce34cae2f83c299ff33dbb905a3f0000000013bbe33d4f70313e08aa263f00000000642cbf3d1800823edd1ce43e05085c357ec42d3e0a80853e9efe733e0c283d355788463e526f583ece2f043e000000001d535a3eb4bd2f3ee656143c7a8539377b5f0a3e96f8e53dc32c2f3988446736cdb0353d95a3de3be2ec3a38e57d613401bd0f35783bfa3439cbc734bf86ca34de55ef31d4b5c8319f93a031d1a4a231dfed3233181a16335869f132c615f532fc8fa934577da53469be2c34a9794d34634e3034d47208347de4973399f316314425c3321ec6c2321ee9a632f8b9393270d14f35a5c543352ed51b35c9562235d3fdcb346061cf342b19d734696db7345a71ac339e03dd333478dd33be07f3330000000000000000fc2e3e33340b89333d06b53a7ecb763db80b713f736645372793e43de5548e3d660c423f4a8f0434fd5ddd3d44d5c33ded17163fc0e130359164233e4fe6163ef7c9b93e53fa3a35eb3b473e23440e3e285c533e153fbf340453493e96e8063e3434a03d008e1736e745ed3d475b043e24a53a3c7de41a35b1a0433d4bfa093d01e4c838314f4434f24cb33399fa5532000000000000000000000000000000000000000000000000de4c9d341944833416df523498015634dbdbc334d258b23459b58034b4748f34d2308633aa9b5f33cede3b33857a2d330000000084d8fa320000000000000000f05d5a353fac4f35241541354499533563718233bb0ba033337bde33f89eeb33000000001b96c2320000000068c9cb320000000000000000000000000000000000000000000000000000803f00000000bf599e3dae75383def61533f069cc0341b0ea73d3115133d61702e3ffd69123570f1203ee1d87b3d44aeec3e8651d334c592393e7aa3983de13c973e7f6ce832cf82263e768ce03d0b09113e87e38b3557ffd23d9bb7f53d774e4e3d94a99233a0854b3d0cd05c3dc98fe3386003243800000000000000000000000000000000000000000000000000000000000000006417553734908836b6900437f68da737b2361d370514e636b01a1a3779f12837f4a5e4379f28b73608beb537219d2b3806f7b8370828a136663d96378fbb033858c31e38e5ecb437071e0e38ee114038c7a9a437569127371a2c8f373022c9372927ff37b630bf378551e8376adf093800000000000000000000000000000000000000000000803f000000000000000095b61c389de97d3f98f61338f682e5370bb02f3880f4523f2782c7371e26613722b48d3818f7293fed76783888a94a38fefd8e38eff5ff3ec4133d385b59113885c5e639b228ad3e9dcdce3806c4423820bd09380f78363e634fe8372189bf37a34e2038df36363c87550e38a69b003800000000000000000000000000000000853dd235c281b8357a3fd235e2bdd935d67d5f37e67e81365a190e37c349b337825adc362f462a35a44b7835019a8437dd7b693729afe536032f5237535786371a77c43764d8d336335ca437bbdb10382e28f63778df54378234d2377e6e17384fc77f37681aa9369c9c2f373f15d137702e01388f93b4377ab4e337990a09381d70b437e6349e3727a5ac3793a2b237dd08c93502e37c3f9299443c269fae36758bfb37b175753fa325a03c614d05380685f33707f84d3f47b0913ccd70d937d6301d38cb70273fd0a9393c252be63791e0b13963ecfc3eeccb8a3b43a78338250f3d38be6eac3e6fe7183acdf923389e2012383fa2373e2c804438d58cc437ee590738be51c23cfec01c38cbf5f337f358943759cffa379030af376a9e9d373556a837a5731f379388723721b3c73765198b3751cd04361b40f6367e909d37a53b1437f4dd7136fa9cb8367320243759573337c53b12360e87283684b2893728421538e0953f36a0b75637d61d38383fdf1038d91dff36a911a83797f22a38d769cb37dd9bcf36f45983375abe0238695137387035a1372ec5fd37e6d44338fc364338360d1d385024393885334e38ecda83374c38533f70b1323ef397be376db6b5377f684f3f4739323e27b5d33763e85337a02e2c3faff9213ee15841374582d3371b360f3f107ceb3dfe6fce37a6247e38a656d53e2336aa3d5c9a553853984738b4f1933e768e103d85d73a38180f00386d182c3e58e25e3808a7e8370aba16386b64b13cc9238939a2181138b9201c387b137438cef35338c83229388cad003854ccc0378ee1b83776b504384d931d374762a936ca00b73675251b374d903637a1e70f377da019372b9d35374bca273865ceb137c41ed0370d65293836d4c337ab5df53625bdf936d5c0e437714e17387f895f37e20d813720621638c641d0375bc86637a6087b37f472e93787c82438f34cf93729c50c380dae30383a910238debccf372247da37de6c0238ca24d537f8b9293f784cac3e9f5fdc371be20b375734273f1ef6aa3eb4ab1d37973b6c37fe350f3fc707923e9a53513738444838f5dbe63e32b6613e9f753d3888770f381c74ac3e1f8f263eb3ae0038ea482e3875eb6a3e1961c73df54f1c38d3e8e3371d0c003e6b58143d3f85ca3707331b387e2f873cfae56c38ec181c389d01b337bf812138c1790038229cab378d2f35385edb1938c97c0838e1d72538e39d15384c02b037cab597379877013853ea2b38bd9fb43770299a373f7b1e386c6c09388bb4f2364fd4ac36357df637f2512238fe6ac837ff68c437f1e90e3846fa3c384effb4372acba937c9cb3538116d713889812e388b5731386e6e7538766a693832734038e58843387734723867ff5f389dbd4638c4504c38b41362381e8f18389c51003f3e0eff3e18e2133891eb17380891fe3ec8bbfc3e97df073814a548382ba2d53ec7ead13e81c535380f633238e2fdad3e7666a93ebc7c1b384847223937a2813e26637c3e2822323873394c38d7722d3ec88c233edfa23738aa7e7238a7ecb83d7bf6a73d2deb6338e8d0523815480c3c497d8a39774c4d38e8414138f935013920647038a4493538a22eab37dc458737b8ea69370b5b8f376ef3ca3706a92337a5401037d8c36237abaa5637ad820937ed38bc36ca4e3a379ec0f9373f2f3d37862e1237250e9537c1120238f3c6fe368b79f436253baf37d7d54e385c2c1e38c477053826e43e38ba34dc37d4b86637068f3c37a9c1b73743da36382066c5374c6fa037c7862638eed83538fc33193835041e38d4433938499e8d37502bad3e2851293fc46d8237695edd378573ac3e1e78253fc4719f37a4a08337ddfc933e30b50c3f151c4737d79a1b38dcc26b3ecda3e23e6af9fb37237612386b842d3e2a60a93e364ffe37351a5b38c298da3d84ee623ebe224b383530cc37174a0a3d239af83d28cdab37123cf637f797533a2ebb423c1162d337195a1438de564f385fb95238c5301038be721838cb59db37a89805378144b137890e603738eb003732adb13670950a37daa150379d576636a7d5573602c86736baad0b3855e80037c43b6036b83a823762fc4238bb4858379f503b3639efce37e6facc3756e7403750062136e96d87373b04123855184837bea02737a0727537b260183827e3fd37a029e5375922113891190838cdd1e137321be237edd10d38d6911e38a94f343ea4ce523f9286ba371e91a2377f9c343e27294d3ffc0925379713b537ee74293e778b2a3f6b745f373c1a35380335fe3d6e290d3f7b031a38a87603392d5cb93d917ed13e755e4838b70ffd372040363d01cf8f3e26bdd0376ebe1338e2af133c7ef2233ec2efb23778cf11385998533834fe7c3c4dd904381c98de3741ad203856c523387b3fb8378c689037c58b3b374035b235913b193768448b37d5bf88366dba5a36eace6d36d8eefb36fdda84365ed6c7356d928236d68e0138752187378800aa340a8a8c37819123387717a3379336d036a86aae372a72d1370afc803755e93d37f6e78537e9a5e137d40090371c8609372198a837d6ef1c382c4104382754e6370edd1538a9c5be36f7704f36ef3f3f3686c8a7369515b03723d75c3c237d7c3f364e523791dde13711e6c93cb58c733f8ff99337a98eaf37b257cf3ce38e4b3f924b8d37e4062938680a953c46e4243fdb942238d2866539028f543c5fd0f93ee2366238195e0738041e6538de37ab3e657a0438710bfa377c68e4391e39353e1895f53783ba1a38212d903954e9ac3cdd0c183827726f36b0711d37e9af6d370467d235000000000000000000000000000000005031a4376e48ea368bd64d3672329d3643e9873730e5c836b2040d367fb55f36606228389cc9da3763cfd03624ebc037b91bf537579b88372ccb9d362f698a3777844d386da40c383a35803766e30e3892057d37c5b95337434b2237297d593785c609388109f137d0ffc7374fb0ff370000000000000000000000000000000000000000000000000000803f00000000c976f237c8181938f6127d3fa8770438eb47cd372fb003389e50523f0039e937d5ee4a387eb99a39b30c293fa9ea533920171d388bfa6f3822cbff3e3e9e43386b5e5f38f310833859d6ab3e0391803864a381375bcbfb376ff5333e211506380847073808781c38d8ad003cc75819380000000000000000000000000000000000000000000000000000000000000000a069a136dae1a834fa62b9350373bd367ec4aa3772b50a379e4876378e30c6372ab49f37cd660a378c436937fb35bb37cbfed0378fe05b37f4fba3375425e7371757df36ba76293633a5c13672871137d3e01b388b24fd37dcc315385e792a3889d1d437b4d7b437d55ed7372cf3173800000000000000000000000000000000000000000000803f00000000000000007502463ad2a9703ff68677394dc5d6376ec3213ab75a4a3f67444c3999e04b38bcd14c3a6c3a253fabaeb439bc5b3a38f6ea553a5e7eff3efe03db39e6573839c050223a8433b53eb3b6a339c2145b385c59cf3978c0573ec402c8381a865d384e23b63933565b3dbd41993861c9753800000000000000000000000000000000339f8a37c7271d376a001a37ed84893723b41035b7980c3524ea0c3533df0e355bcb9635695f8e35627091354dc293359764dc354a14d435b940d9359119d735e5b252377fd74836ccb8f13658c36f375562ed36bcd7a6362b4bd636596601379a168f36603a153634278336db2ca136bf1d6737dd2a053775634537d11a9037441d22389d651438c5e81c3888492a389b370d39df6d6f3f8ea4833d31011e386db9b1391a345f3fce42873dbec5cf37f5806c383e353d3f72fd7a3d09ab74375f92823aa0e31a3f9a063f3d77b40c39bdc6a43aa31aee3e53f2fd3c291a103aa9c72738091eac3e9ecce53b29b6f5371183963833e54d3ee0428038790bfd37e927153ab4d6803dfd12e13971ca7639ab72933840e1ad39882d3838d7b23138d840a63794db7a37a8fc62375eb89237b2a90535f1260235a27dff34b5d00235e89af6347a27e934f9b9f03403d6f6341a4b9b37d64219374cfb3c3784b28d378cb02537efee98362040c736c64a1d37610285370de7ca3625d31237245085373c81b6378f13b83608cbcf3699a0c9378f741b38a5690138331d0a38e38c2238fe342c3811ab1938bf4321387973b03868b4223926364a3f0a18563e19f634382091c33882a03e3ff8fa4b3efce6d137449106388ed11e3f6394303e49f0703779e85538ab93043f85c40a3ef8112b38c5dc1339ed1ecb3e8b7cd23df28af537387820388bc6923e5b516f3de0400a3880ff06393984363e867ad33cc75d7b384a6a7539643a6e3df3a7c739c4783b38848aab38045ac53997fdeb38463a3738ccc61238629a0438da30f3373ff104388435ff362b07a33679cd9436da95d236a3501b360bcd17368755193691b91a36df38543523ea3e35c36446352b0149359d708f3584c2293545342735f215283536b05737d37a8a364c829b363e463937c1977c366c7b1a3585f31c3599af4b366eef38392138aa37021fd4373b387a390c4c38395e464b38b3f29b38c35b5039c3233e385a33253f3e46b53e19e435389473023808981c3ff242ab3e0572da37a037583812cf043f74888f3e67911338ea9201387301da3e00a7683e3b8ab0374776373a9216a73e7d21313e2feca639a0894d3811866e3eb431eb3dd2ca18380e23dd37d945113eb0a6783d8fd8a537cb76e139cb20483d1f1f513a9cf0a1392d553c394b2af2396eb49039929db3384f972938cceb1c381ce011381bf91a3812f639378c830a377467e8369b361637821993379b05f536b089a836c96a3d37bd5c7137c93a33378d8423375d7d4c37a8c7d237f3659537cca58137a149b237a965d13726cf7e3713c877376bae933772affc37453fc1379897ba377273ea37321bdb370995b137345aa937078dd337eada8239f9a51539cf4b2839f83a9339c9339f380e7dff3e895dff3e16644438e4f9d8375476f23e34c4ef3e1fcdb13724a32c380755cd3e48fbc93eb1d41c38577083388d70a83ec8e9a43e35ea5c388b86523abc01813eb8717c3ec7d81d3aa76f8638639c363e2a812e3e48487138e1a93538b6bfd73dac43ca3d83072c38a72b03386363023da0ffd53cbd4afb372efa75395f66ee393260bf3979e3243992e1cb3748e8aa37a4e57f37d6cb9137ad601035c0570c35573b0135300a07358c6c19353c8818352e541535d76a19359fade136dde1ba34f764b33401e5303590824f35fe682535c6a51d3526512135e91ab8360e400d3602835c355a5061360372c73710042636611e2636471d4337fb50023886d9e437f184d437f8d0fa372926363893872f38c9592a38620b35389c36183805e4b53e989e243ffbd00d386248ff375627af3e9d5e1b3fb34c8637ba288b375521933e8186023f6c75393777e72938d990703e8782d53ee4bf0938dc651f3ae4c5373e6760a33e6ffcf339d474f037ca49fa3daaf1653e64b9d3373a0b6a389db7893d969b083e416d5438a5f9f138a496323ccdd22d3d289222386c6840385eabcb38b3d6a738059a3738628cf237cb8cd03710abab37a33abb37f3207037c843ad367bb41036f15a983639d45a361ca9cf3572c5c835efb6cf351db203370ad3cd33b807d033458ed23364ec3c37215feb361fd94036d86fea36fe82eb378c64ba371fa98a37d32eb5376d58e03619989136ec224a363c4e9d362c770038f1a7b037221a66371d50cb37ba061738081203383a5eef37b91d1038111c43387ca8573e92d3493f5964583812222f38b00c503e9fde3c3f67cc2838b3376e385179383e278e1d3f5f556e38ac670d38e2c2123e5cea023f0f58063815662d382e6cdf3d3d38c83ed9832c3885334338d0bd8a3de7a58e3ec86c41388353eb37636e0d3daf94303efe04de37f6948e39ac41343a7787603d300c2039b679b0389dca7e39e9059839def72d38b507e737f811aa373e946637e36a86370393df3515c6db35bdb6d135baf5d8354689613545676135d5594935862957350241bc36f4966936c15a9835dd4628369e128e379a5210371a0cda352ffabd3635afb1379fcb923696c2e8357b9eec3546ebbb362e2abb35e05fac352db8af35bf7bbc377d7888370d061e378c4b86371be70c38efaaf9371248db37194afb37acdddf386a54893dba936e3fb7218139f8321e386e95913dd94e5d3f46781e3905a20338a1f9893db9313b3f10b72038890d07385160653d96c6193f1c800f38653b523abd2f213d5bfeeb3efb4a773a3ca4133aac1e823c15fda83e62372b3a47161e389363f6384a1e4c3e3c442d382828d0382e24da393f8f793d0b581c39199d22386853303836303938cd7a1d3800000000000000000000000000000000f76d1c374cc1d53523885735a6779b35c66902387085ad37fec6163718bd7a374ac5d0366fa42a36c8fe27366d032b36c5810f38f4e3cf37e2bb5b37bda3aa371fae0a38e70ecf370f6e8437b10cb2379efe2a3894450f38dcfdd13700ccff37a580d537bb1ab9373109a2371ff0b4370000000000000000000000000000000000000000000000000000803f00000000d7235538ccc268396d06723f294c65397824643862309b392cba493fe38c8f39898a5f39ce120b3ad1c8243f1994033ac89ec1391151213aa2e9fe3e7609263aaf4d90398d9dfe393435b43e4ce2f9399bec03392c939e3968cc543e7f83a0394f517b39d093c039777a6c3de8f4dc3900000000000000000000000000000000000000000000000000000000000000006915ce371d93c137b0b8bc371cd5c1379555ee379b7fd0374077ce37286fdf37cf5b0d38a50403389a080538a5e30a389ecf5638294b1e389e161f387c052138c3d711380a24d23712b6ee37339b05381ea71539f7e7be386ff3de38e7670739791dc7396b1d9e3931c3a63986f5b93900000000000000000000000000000000000000000000803f000000000000000032e60e3ac6d0623f55b0f539ec7ccb3902be643a25ec413fc068273af111d3392a465c3afd98203f9adf183ad120c8396b04593af72eff3eaea92b3a6fb6053a5418323a082fbd3ebeb8043af049ca399751de39ed6e763e54c0c73919e0bc39dce44d3aaec1e03d82313e3aff8b383a00000000000000000000000000000000079e0d394a437b388e46333810cf36382565283830541b386d691638f0801a38fc698838bf17803815797c3881c8803858a7e53758cec537e9dec1379412cc37721705385bc1f237bf72f437059efc37313029391bf7d1376440dd37513d0f38c6377039bf0f3539b54f4a391bcd6c391094ba391a7ba6392e1da739ecfaad393c484039f9b32239b5341e3918f32839b369913a0ee6603fcbc1eb3dae28503a4a985f3aafb8483f46ece43d8bd9a339af637c3abbd62c3ffc41cd3db38d1f3a45569c3a80c20d3feb229c3d6c21003a855d483a2e15e13e7e58733d12a6183adf76c93ac093a13ef3b7f93cbc94a63a82c5703a8a49603e493d5f3a946e2e3af264753a5534cc3d94e6613acf35533a5fff063aab8b183a7129df39c544e2394bfa8e3922fb6e39e41118397989213914820739456d2838f8c2bd371edebf3713d81739b6a4773823e0d137b72e50382112a937fcfea0378b65a037c3c3a237c909f939989aa639a7209339a536b2398eef3a38bb722f3811272b3838c42f38e0fc383a531f2b3a4bba2a3a2915323a7409ec393f18d7399e95ce39faead739e12b2a3a5bde233ab86c233aa1e4223a48b25d3abe48403f486f773e3985383a30ef483a822e2d3fe36f683e7e541f3a5b8eb03c5ea8103ff68a3a3eda3e3f3a009a383a881cf33e264d203edfcbf5395024bc3a1d33c03ea50cf73d43ad923aa479533a2d9f8e3e9ebfb23dde21253ac37a7a3a81b2393e1f025e3d99be6d3a1eba233a0d80bb3d57db283a3c36163ad54a483a2c01553a7c60443afaee3d3aeb35d439e341c7390f11b339c041b3395f23ba3838b5c037d3c5ad37ccc5ae37d30add39d91db03966a997396163a739bea8e638a48c3d38bd863638b6433a38e1191138585305386c4101380d4905383c27d337e4c3bf374280b23730fcbb373ca6fe39f6e3df398205d639a3c4e7391a9ecf39dcb9b839b3f0b039ac8fb9399bb58a398142803903ab7d39b4b181395340263a60ba1f3f8f0cbd3e9fa41a3a44b45b3ad5b50e3f87f3a93ea16b1f3aef05a33c6d73e73ecac5843e8685973c83f05c3ad23fca3eca846f3e12dd2a3aeac9b73a472aa03e23d83c3eea35853a1258893a8da66c3e7cc8093eadd61f3a90d7473ae577193ed6c5ae3d6c22393a8988053a10e88e3d203b183ded3dfd396ef2c6398169e039c460c239d7e5ab392302bc385c13873871ea1538f5c6093848c72938ab7d2238c3cb19387f941a38362f1c38ad6a1038f3100738c7c50838aa99eb37b675c4371dbdab37ac4bba374b24b9381ded3e38cd6e3b3837743e383a711a3809c408388e36fe3737840538e4765b393626243910daec38493913394f709f3942e78a3989628439f0be8c39ab028d3903df75397adc7239cb9d5b391addf8396130ff3ea407ff3e4560e1392552503a897ee33efcd9e33e91ce173ac627183a44a0c23e72f8c13e3363c4394bad843aaca5a13e8ce2a03ee94f233a5157603a75ba7f3e396d7e3e5d20373a4788773af1753c3e6ad33a3ec57f333a59eb113a9599f53da374f23dfe96e439c774233a75e35c3d400e593dc510063a4a14bb396804d139e499be39fb10a0398e42493983ac273985b40739f100ec38a5d0b137467ba7373b79a13745e7a1374fc184398c182439388ec538b292de38db0cb437de8d9d37207e923783709637f6071038780e0638657dfc3705a70138535278390df918393f7dcf382fb7fe38fbcc1c3af14b0d3ab690023a1cb8073a5440023ac174f2393acae5392980ed3926f7fd398500f839e7a3f43928cbf339d667f23903f8bd3e90ff1f3f381bf1397a63073adf22ab3e13290e3f81d5f23994b7463a24a5913e4c37f33e1cc6393aa70d823a78fa713e8af3c93ef0c8433ae24cab3acbb53d3e71fe9f3e499f8d3ad6f3473ad3040c3e8d0e6c3e16053a3a88c7993cc7a7a83d4f7e133e2f9fcd3a4f3d443a7a971a3dd83b8b3d1cce353a4032143ade58173a3505183a5fe50c3a14b98139d6811a3959920c3997b99a388f23fe3704d2e4372a0bd337e888cd3780a1ee390476be39ded69a398ba0a03969872e386cf91f389f6e15380f7f1638fc53ee396e36a039d4663639e1605f3930c4b33774f1ac37e278a837a0dfa9377a18f939e3eddc396c49c7394e18d439cf5c253a7d041b3aa8b2133a4d031a3a43420f3aa285093acb92033aa072073a00f5553a64c4773ed409403f3f56563a3acb033a78c7693e34f92c3fc504e7390365723a8886403e498e113ff7be6c3ab98b423aaeaa203ebab0f23e2412393a9263a83a2b62fa3db99abf3e2871993a46f2223af23db63d6de38d3e6b870b3ad725883a15444f3d8308343e66d1893add06433acb185b3a87ebb83dfde3403a881a353a8056383addfa453af9052d3a48922338774d1538cb800d38567407380b220038b4fbe237f59ac83701bdc6377312243810c41938fb2f11387bda123872b8a5377f5d8a375572823733758337faba3d38cb50f837dc65df37b55be237913a0038e201e9371962c73725adcc37133bbc395c7d8439c9f3b238b25d1439528497395e0b82393eec4e390b055e3966e0df39fa0fce3958e4b939c618bd39b3cf3e3a589bef3d85f6603f6a8a523abb855c3ac108e63d4f42483ffc95613a9cfaeb39b9d3d13d6c9c2c3fd669c3394fba983af7bfb13d6dcd0f3fc94f8c3a52dd313a30b0763d2b2ce03ef53a243a4d4a713a32742c3d8efaa53e8756603a296f603a2a08753a9e91603e2c615e3a7443f43942ba113a0ec3cd3dfcfbdd39762f333a98542f3a7a0c3b3a1dbd183a00000000000000000000000000000000a3282f38e6872038416c0f3843061138d0103f386e963038373f24384c282538d1bdc23775f39f379453853787d78737cb18d1389b793338459e1b38d32a1c388440de3879542e38cc270b38a7d40f3833a82538bc1d1d380cab10386d56133823b6a039f1e08b39231c6339bdec71390000000000000000000000000000000000000000000000000000803f00000000d5045a3a8d47743acc4b623f44936b3aed37d3393b73e939f49c413f0258db39b100003aa4c1183ab38a203f7dce003a87b5343ae1c1463ad480fe3e812e323a01f5243adf703c3a0cadbc3e43851a3a957e343ae082423a75f0733e01b42a3adb71ea39c903ea396995e13d308de13900000000000000000000000000000000000000000000000000000000000000003c3a2136bc2c113622372e3641f73736ea143b36be982d36b1b93f36edab4036b5700235c5dc7d3425530e35fa4009358a00713646b83636afe14b3624e67b3739b97e367fae7d3699cd8636d70e883608438337c94ab836a36a59376a39cf37d200b937732a623740df9137e30baf3700000000000000000000000000000000000000000000803f000000000000000018a58337cfa77f3f145db23789d939378ac77437a9ed5e3ff7ffab375463ad361084d937047b2f3f571ed037a73580353a4448387b6c003fb48244381f1d0c384c78db372dc6a13e201ed737e0383637b5cb8538ccbd063e6c458738d1b51f3819bd3f38cb47993ad8f66538bde6de3700000000000000000000000000000000851cee352aaad4350f7b4836076fba36a0a09d3559e09a35853cb33514cfd43540c75e35eaf46135b3c06835c3c967354eacbb3388b3c0336ebfbd33e6c76736052f0634aa5ffb33348408346538983466e2db33934ce03326fadf33014f4e37ee195c3758740c37d6f028372637ae37e305d9367b8c6635d49d30367e7002378611cf36502c7b366c48ce36a2e2e63697773c36d2dc7f3fbf7ec9397793cb37b1c304369f967f3f9c5f8e3897fc2b36cf88b437f9e25d3f0a5acc387d4228386a5d353700672f3f2721283820256d37b1d9b5378bd0003f02b06138c8aebf3739256f3889baa43e2004d53879fd56381dac50388b930e3e6a0ff938b0403738839c3e3772de5a3cbff48238c5d69d37c7456c34d265ed37258cfe375b7661373bc6483617244336b8341037c9e35837f35be035bb80ad35a45dd2356946e1350806f3351a49c935346de63580570c362baf2636316119363ce52a36f2d12e368179ce3625d09f332665b835e3fc4337961b9637ca618f363c4c35379db4b1373615a73555279e357041a635baa3913687cb0e36e60a563535b158356123a435f828983783e290374f439f37167c9c374cb1453698d9623fc305e93d3355e637a3c1dc3540bc633ff773dd3dd1b01a3878a524361a43403f3bddcd3d5ebd7837d54833362a451d3f40d8933d4d3a3c361c66b3372f45e43e42e55f3d26a6e937d7f8fc37a63f973edc80bd3c233e193839da353715140d3e2420823c0dac9f371a9b363530b54b3a8c75283aca1d8d368ac327375493f637312b1538c3deb037b4989b3662ea9936a473003726c60537037e4f36fe33303659ff453633d361363c321d36e6191b36cd802236a4572336d39f7e3630923a3624f4453605d0c736a8c54337d31a0a3697ec18369e716c37d372a236e8e6a1367b4ca536f4c4a636455c1638937ad937eb18f837deb315387b52cb37f582993787fcb9376e0ad337a1e60b383801023886491138b71b0d3883f99d362824313f36a19d3e28be5d37f3915c36d533323f90059b3e72b872368214613628bc1a3f2b23853ee2208e36acbda637940ff63e8cc14f3ea5f9d3372e4111388c81b53e9709183e6a7e1e381657a636d0d46a3eb470b83d2f2aa8361233223814c9d93dfca3ff3c5afd36384a78ac37f457693aac5c793a1716f4375178bb37d4378c383e6f8b38aef00038fa0c4337bfaa35377ba22937bfe52e373ce6ec3538c6e9358b3cec350640e9351b978e35b9968e35c5059235b870923524376536b3593035f6993235b51a80354a0fb935ae0c513581855335505751357f8fd437ec34e73618bdfd36e922c737b1e0fe376d37a9379959a43725a7ef374a9f5537baee0a3747120637372a46371dfcbf37add5b5378afdc03782e4bc37dee72537c925003f468aff3eb8fb10372b18eb35c1fa003f64f5fd3eaa0eeb35f6025137f6a8de3e2cc5d93ee9530b37be3fed37fd19b23e0508ab3ea2f5c737a3479f373a30823efa967b3eae92763714a82a3878a4263e2e2d1f3efd971f388422163838ad933d62758a3d2b4e103821c11f37e00267381635a438f340023736829a379579313804702938ff02873742ccb5370942c6375309d336d13da536143caa36006c9e3643198f36170b9736ddcea1363bf57e36923e7036d66e7e3699e39f36f7009c369ae79a3686db9e36776a9937515718362b930f361574f736deb3b637f49722372a4d7a361c3878377b9fa4360a26863614697436dadb94368f47f9362ba7be36619e943610b20137323da037c3b9a337c677ac3795c2af3755ad043841299f3e3660303f7b449f366e1cc0366a739f3eb7c82f3ffce6a1368b48e1375b95893e9cf7173f6e37153712cea6366cb8593e0db9ef3ed295a0364264313814171f3e5de0ae3e5149f63775d01f388bcdc43dd880613e018ee03746d9c4362c3c103dc320ce3d42bda936b834183711e3013a322c223a375f8e3640a4a437b18f2938cbb01638deb32a3726543737fa3bc036f3bc2736be3a303689872e3517862f35d1d52b356c862f352f5d8835f39e81351f72783507a08835885c4f37a84e08351545a634f8e50735dd136b3731343535a2a89f3339609b35dff63836876c393683b5353610563e36ba106b371780de36bb4d3f368610163712f83b38bd022b38f8192f3847f94a382a14b237aa68b637cde2b037ff79bc3737b8b337f725ed3d7d4a623ff4e72b36c8053735d809ee3d7deb613f22fc3035c8660d37f200e03dc6b13c3f5dfe8b35076114382a62a73da284193f3c31843783bf0038673e813d5168df3e651596379c21d537e389f13cc17b913e89bd3d36eb5c2a386cd78f3c3618063e140eae3768ea8738db81573aa0489c3a75a0223842ede237aa054e38f4a61638c565ec361f5666347c066a3492745f3435016434ea42dd34db5ed934a9a8d3346f23cb341709b8367aed8e35a547b234fc43b1349503d1330c78da339c87d833049fd033f02f8f34abc40f34bf08063462000034e19c203780518c36beaeb235ee7e91361eb23938b09def3788c47d37de770638ad620637e10a4d36e53d4936c4c7f036adf7eb36a1c4d836f1fed0361a91f1363bb6a6373c4d0c398fef7f3fdf3465342ff7e63663d43f3ab7577c3ff523d63484bf07386658b33831585c3f3fc3fc3627b65438445bd63814932d3f0ffdc837cac8f437456a7538c84ffe3e0f998837ad35b8377bc26b38833aa13e80568e371df89938faf20339c125083e020e8c386714fc3743e39d384349c13a3a8d8b3794983637aad920386dd00638a8dab13600000000000000000000000000000000b232ee36c0f6e136e138d236d7a0dc36682678364eafc43514df963531aab53538447e36a42b7836f3666b36e9b27836b23ec63701e6e936043e3b36ab9b883693a47835b0c1663575253d355e995f35eaa37e371f071137212a563660a326378f58b2377d3598377dd88637adfbae370000000000000000000000000000000000000000000000000000803f0000000069945537785a1d380bb07f3f6fb9fd36bcedef377ab24c386f385e3ff8c1bb379e2a21375876c037f5232f3f8fa5653704312b38513964389718ff3ea43d4738c8eb5d3765b02e38e3fba03e7ad8093819f5be37eacc35389613043e7f1c1a387959c737bf12563822b2ae3aada41a3800000000000000000000000000000000000000000000000000000000000000005db2cb35cd02aa35acffc435f97fcb357b8db0349846ac34b5caaf347dceb1344ebd85340f6b83345d0a8234f7c382344b591a3564adf8344e52193562b72635d35a0b35d61a0a35e50009356a6e0935778f08344af406349cd50834fef998366111443706198636e8fa0537144b853700000000000000000000000000000000000000000000803f0000000000000000e19ac2373e34763f66f2b73785a5303647ba0d38b15f533f6fffee379d88103701055b38522c2b3fe5a2453898ead1370a567438a6cd003fc8d85a385265d03728348738b17ead3ebfe47e3815ffc2376f4180392acf353e80b9123995b881388c6891383e74243db11f97387797593800000000000000000000000000000000d35051363c053d36bace5336f6895d3684dbd236f7c4c436052acf36ff08d03622610e34e2700f34ec5c1134f35b1034c1f0703590e36f3594f36e3526876f35ef7f0137bbfbf3365813fe3686db01375a628b3330348c330d77903344838d3331ee523655484236637b4b3656104f36ca929c36a9e09d364d6a9e3657f79b3617af97344f649a349cf29634794392349a5da537c1f27f3fe6c694385f9402381c740337a816773f9e0b21381f440337a8aed83722a7513fa0ed79386a5516368397b4378d9e293f34703e38b3914836c072ae379637023fd61684386bbf453737fa2e38b3fbb23e3e0c843862748f373c42ff37002d433ec7534039a9d7b637ffd35e386e94503d9209f0395e99553887cf94346668aa37a7468b37046793347393683637ec5f3633c67036bd21713670e9133559ad153562b01535b3e71235d2572535a1262135928b2435719f203525fd4d35e06e463586754c35d7155335f16a77365a376536203470364fb67a362c4cb93572b99034e7cb9534e93f2f3567c2b836d0748836a43c923635a9ac3616b46136eb94663679e767366a9e633684ee2737049d1d3701f31b3730791d3756164b37caac5d3fe123093ede83023893d2cf366f365b3fee17db3daf3a3137dadb8638974c343ff325cf3d2e605c3875161738194f173f38388d3dc41fe1378c8a1c38c344e13ea01b773da2edff376a918b3886d49f3ea51f033dd1296538e5e339385dcc333e369db83c169d2238de23bb37b1ad1b3dacb0243c9454b037c9f25e37669ee8378262ec375e7b8737038627369fdc1f36c2e42136bcfc22365128a134b366a2343198a334fb24a43414341c35795c1b354b4c1d35fb1d1a354d7e0435c6120235bf870335717b02359b275a35c1494135166d5635fb025c35b19b103554a311358e7c13353a18113504b59c36f83d3f36128d3936977b81360ca98837a45205375507d8366c04253733045c37b40b2637579a1c37b04d3b37928c42369a182f3f62b3a13e7e9d0e376a7f92356b7e2c3f0696933e8ac0893584878136397b133fb026733e2042213579e1643867f1ef3ef4df413ea0e2233862a8d437b6bdb63e50c8153e4d328437277379384bed7e3e484bc73daac54a38f770ae38ffe00f3e972f3d3db7d397383cec3d38bb40f43c94c1563cead32b38d39eae3772f619380dd51838cd94b437fd12aa345f8fad34707eac34f286aa34399d9a369fd19336e76c943608c0953658003834dfc539348aee3a341fc739345fe3b134b7f6bb34e378b334c2aeac34fd8bc7362fc8c336f98fc436ec46c5360c01c734a729cd341f16cb34cd2cc634628ca936c9af6436f44a573627a58d36e5fa1137d25c0537e0560137e2480c37aba04035600b4e35b0f260353b5b5635f1c60a35e0cf003f6f66fe3eca99f3343740bf365b5ffb3e1253f13ee6b1b8360270ba37af67d63ef103c93ed735ad3662b6c834ea7dab3efe3aa53e1c4ac534410e0b37a91d853e38e4753e0215df36c2243436faf5413efdc01c3e1efcc2342c6d59381f49d03d0df5b13d23e8323864d01438a63bb03c75ca853c097e0638686530354d770d3899c0953703cd3635370aea350dc2df350fd2d7357fc0d13508b90e34d4951a34b34e0f343d9e013498958b350a05893561568835fba38635057b0035d1fb0335a9a50235785d00356d416a35c1ba5935f1714635ae155b3561c31135820b0f35cc6d103593280d3574ed2b35fa0f32358fdc323577682e354ff9023629f10a3683870b36000a093676525336814f573688e15c36d77f5b362486a93796c1a43e95902d3fd1d5ff36dac45e3743a99d3e4f2c263f55ce4334c67e5c387eae8c3e8dd2093fa73ea137370b4938d7fe5d3e33bedf3ec688b537edd9d7379b352b3e5dcaa83edfcb3437524a96385e0ded3d36a5673eb6cc423801f717388c877b3da806003e2d8dd937a30c2f373ddd913c98e7a53c18e242369897ea36c3c20a38d216e337f3d2523610229e36bdf07e3606d310364e690c36942e9c355ac67e359e623c35ac174f352b797f349f036834ff116f3461a96a3439a08e349e4a8d34cf488f34d2308c344bb081363c465f3645004d36a21f5936d4ba5e3577815d35b2045e35fb635e35329381376059f936d1decd369441f83639660937ad4122369292253659585236e7a2a63685feab364b3bac362b43b23617dd9c372c940f3e060e5c3fd9fe07370ad63336afe5013e443f533f928f093628fc01381052ff3d5f5f2d3f7f0cfd36b69a7e387ab5c63d200d0f3fb802013808382538aefea63d8d1ad63e445be137ab757038bc5b523d25c3933ebf790038ab0ac4381132083d8711253e09f2aa38d5148a3885b18f3c910a9d3c423970382302ca376ef5263852930a38e397173768138a34237d8d3444f28934830d8834dd2827369f5614362da0f935e083093690a1603555da2b35461027358b4d2635455b8833b877883377978833f8db8533fc840737b89a013739a4f536a6280037aa95813551348135dd0680350e227f355e710e345ba810348307113483920e34a38d1237e34c1337f03a13375fe11437c805b636d0b4b7366342b8367435bd36e6a18b37814ff139f5df7f3ff1b58e34eff7fa379b94ac38c9d5723f5b6c743683901937aaff263861274f3f06a755367245f9374a709738db74263f602b4f363ab7c937b714ab39e573fb3e7ee350377239f137dcdfa2395da1ac3ec271c037a32875387bd3d83bc579323eaa5a5c38d6071738cc7bdd39eefa0c3d5291ec37089ceb37030221380dcd13384dda933700000000000000000000000000000000eb961a354bbf1735fb7514352f811835b5fbe13369f6dc3391b5da33b810dc330637f034992be8347163ec340d98ea3498d364358f97543563c42b355f445835f78cad34208baf34c7d5a7342267aa3424870c3763e22f36653599352089003699346837fc24a536d63d7436413a7b360000000000000000000000000000000000000000000000000000803f00000000516eed37aa6155384cae753f92e493375069483819ea89389f66523f9a562538a057ec37eb317f387040293fcd84da37f47c3c38d55685382c4ffe3ef0214638ed67573827c591386c94a93e07197238b69c39389bb2bb389558323e9e0a7d386be333380dfe153adb341a3d0728ac380000000000000000000000000000000000000000000000000000000000000000f11fbe320cd2bc320ec7c132cf11c632e45aa533b41ea73356609d334fac9d33484105365046fb35d70800368188fb35c22af436bb49c9349015d234596e1535653a6e370f112d37861c2a3712ac333780d9f536b0e4c7361fabcf363ccbdc3693000238a76dde373a38d037c326e13700000000000000000000000000000000000000000000803f000000000000000035e6bf38cbfa6c3f021f9938e5bf19380491f738fdd9463f659556382d5e113843eeff39346b253faa3e8338fea852384e583d3a814e003f97649239eccb8338afc9403a4b9ab73e8ecbb439d90582384287833c06d1463e5454513cc0e9c2397382533c7a3e503d9fba533c4b5c243a00000000000000000000000000000000d2982d357fe42b3510052c3588c32b3583b0ff35760cd9352de3e235de96d3350000000000000000000000000000000070c47335335e513509345e35124c4c3582494936d30f4336a5dd443670e54336b837c433c485c9339228c533b549c733677d41363c223e366c5441364ef53d36ff4bf4379fea5e3712534b371f44583715a30f37dfbbf6362127e83660e3eb363a9362384d28763ff4b91c3d5ec64038c0873a396068663fa16b193ce4bc08392c814839bc613f3f2144d03c484d1138c923893943fa1c3f2f90d43cee27ec371ccb773a2baaf13ebd2ee03ca53f163951f6253c8635ab3e7059443cad457439a3c38a3cf812463e60ebbc3cd1e8ed38a894673c9dcd603d89bab73cec85b23b0189a037f0eed637cbb09e375da18d37c2603936c2de303664343436cb9732369166d136df8ec6360edcc836f2ddc43671cfc2351848b435d812b335947eb13522222e35b906253557062235c52a2435bdbb063714cd82361cb58236d9c381363415d7354698cf3583a1cc354cfbc9357a81ad35a869913599629135f6a6903537c2b037b8826d374c4638374e756637ed569637e22e6f379bdf5b3742bb6437ed512638d7854f3f71a7413ebeb01438a872c0380c52423f35e2233ee86a4c38ee1be438de3e203f8101163e81f62f38a8776e3967c0063f881eef3dc73f4938e189e5395d56ce3e8a21c83d1267cc389d050d3c4df2953e40987f3dff839f3817621d3cc08b3c3e451b133dfba20739d187113c2e99593d5b6bd83c8ccd22396c6a15381a03293842e21538f3ec00384cf8eb351da9d5351146d4351c3bd1353f2e353621532736adf92536ce8d233651f73c3509961735f4dd0335cb920735ee7e02361a6ff53591c9f33558b0f335d60bf93652ad8f36b7d78f363e3f9036be7e24356f7c1935795d0a35f6590b358c2c40365d673e364f1640367e243f36c8d00737d74a0837ac720937febe0937bdaf7237e66c5637fd474437cae85937bb180738ba18283fccafaf3e3bc0e737799eb73867f71c3f4c219b3ed5b64338537bc8381323053f51e1833e3526d437eb189338ba40db3e3623593eb964693811599e394ebba93e93812b3e7ac0b73828ff3b3ab4c5763e9391f33d29565f387f180a3cd306193e49ed8d3d87a6fe381138b939a5e3523dd1160c3d203203393491e937ec3fb438bf56f5370d0dcc37575e9036aabe8b36bc0f8b36ba088a36a8e27d364c7c6f36942e6a36cb6b653692e6a63454578634c0e15934d0655d34a6518a339bb089336c7e8833e0528933fab18b363b6b8936a5898836e6db87365b3696333b219733ddb49533178c95339bde08371035dd365274c43615f8da36669314384307e237b92fc837a529d937b1c98137171a6b37298267370fe26937f92755381972003f7af0fe3e980d1e38eb28e338ceaaef3e3513e63e6e238f38856c6f38d2f1cb3ed91fc23e89684337a42bba38a5b7a83e95419e3e1a94cd37f8c7a739695d833e22d4783e7eaee8383ba55c39bcd63f3e6efd313e1f714738cbac713af4baea3d174eda3d8590c7393b27873af06d2c3db2321d3d8ec65a3ade8910382323243871571a382667fd3710b46436c46f5c3670da5c367d815e367da99436736d8c36196c89367bf18736c1d1133624280d36ae1b0836a61b0736d133d6343b68c934c078be345515c334a8b6db36950b8c36faa989367e168a368f0d1537e6111636473d12361b4e11364a95c635cc96c635f270c335fa71c5354ca3b237fcf276370646493744606937790e2d37a38105374007f536d22b03379d4213387b13b33e5566263f37d4d0375be08138a9b6a43e268f173f45b8a837f002943892488d3efa50fe3e55a650382aa652393e556d3e5c9bd03e148b3538e3e86d39b27c3c3e9fe6a13e1217b638ecad07392096073e9c7c683ece23883864a656392b5fa43d122d113e680e123961928839d8ea183d191e3c3dff2fc8386db9f137b52008385dd50038b516cc3762a426351a0922354ed91d3582b61e3556458836f2957f36728770362b38703650590c35caa7f1345973d1344896d334ce48ae35263dae35e0fdaa35b630ab35650da93661467a360d99763605c177363f65803579727c3563456a3555126d35d5d30436f3d00436548c0436861d04365089823713a12337dd6d24379c3225370df83437727b243771c61b370c362b37e9b32838da67483e19d24d3fb58e06386913f138cde8323ee2883c3fde1c98386b04f638697d263eba8b1b3f200e0c387361b03899c8093e2a5d003fef478b38f78d903957cce33dc736c63ee9bfcb38af11fc3969789d3dc5068f3e224e7b38ae85183cc691323de8a2323e9b84e738e0258f396df0e03cee98583de17b0a39449a023893f50f38e9c30a388152d6379a6ad53415c0d034f4d0d1340ee1d2344f738636e8737e368b206d366ce26c36e69c0236cc71fc3575beeb356aaff03561f9c433d08cc8333ec2c0333d66c03310c846361b15423643843a36aeac3b36f63da33572b7a235855e9f35e67ca035a919d03685948d36ee972436eec539365bd48e376bc508373275bd36b4f4bf3674a021365a20ea355318f1351945ef351fb05938f948383dda6d743f3d8c0a38337d8c399f870c3dc34d5e3f068102390ecaf33832282e3db64d393ff05067387241bd392b12483d2e1d183ff689d33779ca1f3a845a2f3d3a77e93e304f1f398cfcb739a828ec3cfeb1a93ea7b1bf38b96beb3993b1dc3caa7f463e3037b63b62519f3a6907c83c87c3693d61f7f63b44b4e33746ebea372f12e5375e18a1370000000000000000000000000000000011409c3552448c35f9af8035d7e68035655aa235a3d89f35f4b09c3585859d35141f1434c0f2e1336f4cbb3329a1e133553d313706dc4636ae0119352a2f27355f9a0537713fc0366e686036fa757836b60418364bb13835a864f633c3ddf433d15f4d3804ff443802c33d383e5e42380000000000000000000000000000000000000000000000000000803f00000000cbf28638d4ef9138ff216c3f8fdc5838cce68439e6be063a5b9c463fb370913817683e39ef67de39eec2233fff537a3882bc053a93f33e3ae421fe3e7b16bd38f365463a92fc843aecc7b33edc36d039d88a3f3a9fdf833c4a31483e9327313c236d8c3a24007e3cc3da303d7f21693c000000000000000000000000000000000000000000000000000000000000000042f40536282aff35c5ac23360f7f3e36f6939f35bf0b9b35556cab350036cf35de094a36087e2c3667ab473624e45e364dbd98363d7191364a85c036b6c3c036bea38c350b8c90354b7ea335dd05ae3513cec33739ad82360ba18937c70df23772e5b5365fb1b3362979cd36bf2dc53600000000000000000000000000000000000000000000803f0000000000000000c2f4d33632417b3f64cf7d37fa9b3536fca795370fbb5f3fdc8fc537cf0bc135b36f8e3842fa303f8e5c8b38364341383c1f3d389df7003f164e2538d84d94377b521c381779a13e0d91ef372da022376348ba388132053e8b20ac3820697538c94f8d386d2eac3c66d84138db0a9737000000000000000000000000000000007838ed3550b60036d1bd1736f0160a366507de341799d034ad957d349d139b34c7910f3546fd833155bb9f318fbb2634cdaf03367097e53583c4c6359c2db13500000000b4b07e31fffdf832f0afdd314b49f735e43e9b35ba79bf356812c135a6cdf236b6c2a433d8ece3360c89bf378c4f1035746f0b3509970e35cb081536c386b8340fd9b4344534a734fa9a9d342a1c04360b237e3fabcc083ccf098937687cd9344868793f96049b393c9e1936f33d5037b00f5c3f99b9ab3802f4ec379af293372d8f303fc2679d3896ddd0374ff94e3886ad023f960ca6384fcf033821890f38233ba83ee6e991386aa0b43718d980388dc91d3e8a49d738a2756738eb710638b496283dda09903877e6a437a017b33499c49935f8bfd6344e4aca345eafab35ae08b035a851c4357054c2350000000000000000000000000000000060b68c35d2a27c356c62913525da953505308c353dff73354b84bb353d3ab4350000000000000000000000000000000082510636cfa0033550429d35759b5536627e583780ff1537f03b3f3704f18837609e5c367fa019368e702d36940b58368a2d4e3769f04337f5423337bcfa3937e84db235953e643f5c68df3deefbd53576ef3133ea7a623f16cbc23da25dee3544b5243630124a3fdd784b3db7379b375dae76361313223ffba50d3d9292643700000000f3e4ee3e4560f83cf49068377ef28d37759a993ef64ff03c3d86be37ef4bdb37a2b0f23df3531a3da1a1e73702f99e36d78c4f3bf0b2b03bb59e2c3739382a370cdb9237ed1699371f06493760cacb36fc88ef36cfc408370416ff36e38e8e35f7ee893519336235a9c18935f3c3e735c330c735852bcd35671ce635a0f31536c850d535dcaa1a3695452f3636436f35e6c976355e6cb0352236f9352de23b35b9b92035455233352b164e356001ad363841a63670d2c23665a6cf368052c136cd41d236c35f02370291013769327136fbac9e361f06a036861d01367ad7ac367b3e333fc5a1993eb03c0a37516989354a62323f3b71943eae9ecc3568ecc936d2c41e3f3acd683e5f2444374d35ce363484003feffb343e45522f37bcdd00361918bf3ea3ef003e43a5fd35d711b3369e5e7a3e708da23d7e2be736d5e27e37c0c1e03d54de4d3d6f0c7e377246233719421d3ca87f9b3886bb2237173a0e36ef82d0379378a2370ab22636e84023350e562336261c8d35e3cf6535fc710934157dca336e078d3395e79433000000000000000000000000000000007f268a33f9b5db3173b4f0319b1c7e3100000000fe300433ad1faa33e085a933ba9df43403258e31bdb5ac32f5253334de735336bff800363cc0193617f96b36cdc72b34a85d18347d89133463bb02346f05403883004c384874423823112a38263b5f352a2e003fcabdff3ef4fa6b3566bdca33690c013faf1ef83e3a9d8c334a9c33367c19e43e5513d23ef8ec6836ff8fd636d117ba3e4aa1a13e71260a350c9512367efe893e7e306d3e3573de33a207d737d65c3c3e993f0c3e4e668d37f7299a37affab93d31675a3d8e5f66371a67df337962433c4046563986a29b33395a9237ff769738a91c5e38f14550375b030c3646ef0a367d980e36da220d367486a2352d537835ebca0c354dc48d35424d8d3632bd7b362e2c5636d8be8b36d5040c35fff8cf344b0b2135cc153a35621e8135d1247935c1c292350329d435f5430f3630f8e835940aee35f8390136874909373057de36c413ff36946e2c37836fae35f3febe3536fdfa355f5ef635f84c1e376cdb1b379a561437466d1437588b1336f1ae993ebf6d333f8c9f0636b2abc93633909e3eea442e3f9c17e335eff92d37d95e863e3aff133fb7f9a236bf708836ba8b623e69b6e93e1a5e26352f6508363cd3303ee6b1a83ea6f518360c45803705ec023e0a78473e0d742d37ef321538ddbcb33d834e853df3aace37043fcd358b49623cfb99c138626c2736b66a2337dea0bf37a6228237963c0c3714722237059133373493eb3682a60037000000007b3dbb320000000000000000bc11a136f6d407369f9f06369e351436d6df2d36c68547355bd60f351dd90d3500000000000000000000000000000000a734a835b344963506449a350c87a235b1aa9a36e693cc35f640f0357180a536f1e1ad34b534133562df4b3562026135b65bc035ba81c53554fed835973ec135c7654137b97bdc3d3485643f3aaedf36bc9aa936c67cf13de7bc5f3f000000007290d73765c6a63d7f4b433fe9f8ca3658d6b1372c679f3d5ad7173f2f57933632ee75374fd5953d28b8dc3e000000009af3973713e18d3d2a2f873ede80e4361ccbce37e83c8f3d0fd0bb3dbd35913712c46d3728e6a53ccf726e38465b4d35e076da3562b35637a1464636c932d2358a16c73301b4a4341208be34e5cc99340b70ec3425a4f534441e0235fe8f0c35ef598433ba00a833519ce733f604f733d02a573591983b35751e0f35f3b95735000000001c1a0233edc5123444fa0134e3b1fa35ea97bd35e5389c35b571e2351b51a636214d7231a2071d315c5aec30fe29eb341754fd348b8833355230eb348741d736b7fadd36caa50a36ec26fd35df0faa3493545a3ceddb7c3f38037f34df72ba37abf87a3a3e58753f05840435760152384863df38c9a1583f2a760337d79dbc37e0faa1389a062c3f94baaf350ed4603859322d39d54bfb3eaf4de8374ecb3f383719c738261b9f3e9bf60738b57a54382fea753cb967003e13a946386b4dd03784e48639e5fcd33c9b0ec5350114a436822719381f9c7237fdcafc35000000000000000000000000000000002c637436b54852369ec23536fb2c8136e61e033646c9f0356172d635452ebc3503e275357b725035b57a6435c57a4a3521489b36c3a4993611a59136b17eb236e929d3363acb24365ba50a3643a1073696fbb73564a787351953b2354f5aad355a663736ddca35368908533697155e360000000000000000000000000000000000000000000000000000803f0000000050d22a37d1572c3808dc7a3fb97ca436fd79a537c59f623830ef5e3f984cbe37f27bf73637eccc37beb42f3fb64d7e37e5aab937c35a4c3871f9fe3ee5461138885c2638afd4a5385df89e3e2d238238f17c0837e61182386e27023e65b76d383f9efd361263163857d99d3cffa7df3700000000000000000000000000000000000000000000000000000000000000008b72cb331946c4332da300347c94043400000000000000000000000000000000fd790f369f43083610e7173606cb15364032be354561be35563cc33592afc0359eed053460d9d63390d58f3496226f34b307e8369d806f369ee18736f5eb0937d4c4ae3559b9ad35ee36c43570d7bf3500000000000000000000000000000000000000000000803f000000000000000013dc9c37fe49743f02956037a33a363542e48a38be08543f545d4838b155eb37ec10713839f82a3fe01b3238a7f7b23716982238f33d013f38f21038f991d1373a070b3a5671ad3e37018638a8fe4d38c6d95a3c76491d3ec708443cba0f33382fe745389dce563d287a4b3849d0063800000000000000000000000000000000f2c3c235507cc1353f42b8359e57ce3526cbf334b27fd234026be134c5bf29351e82743581058635de359335e46396353f4db835265db435de8abd359c95c3351bcc5b3463f2893456278b34e95ba2345bafc935f781cb3577f9d335ccdada35b49fa2357ea2a135f10faa35aa38b135693169344a0b8434c0f98f349053b03461e78334df285a34e7896b3414838234fbfde43567cb7f3f242ac23a88ee95362c6e6438f69d723fbc25dd38f015283880009338d44f4e3fef3dbe38b8054738386888387afa293f1e819c38e62f1638c279b438ec4e033f0a67133916f9223847ff8b38dc99b33e5f389e386b9335389724d13826e9203e477e113dc1809c38e815c5384f836e3d2d26e13828a0a438f7f1c036a6e6193882340f38c7705b371fdf4333e9bd9133e3ee8633ffc58133dd93493512d3423553a06135726653353adc4e35b22a47355e1f6f3513156e35000000000000000000000000000000002b6ecf3456e1ce34a6fb0e35c2590c35f1eba03581df8e355191973531cfa53500000000000000000000000000000000f461923535e731354f8f853578f0aa3575de4636061f33361b403c36a651393616c97733cdea663fecedc83d8f5a763350739637db38673feeb55d3d63aa00387aec4a38298f463f33f0ee3c029b5938479162389d18233f666c813c9cfa543848f101389ce8f23e9edbd63ca54aa3372d87863824a7a43e852eea3cb40e443850768138e1b5153e4f785f3dfe075b38e35a743836781a3d52c9883c09d97438866a6b363c64ce37039dba377f488a3648cc66369b316a36c83957366b5b553638a97d33b38c1233a1f7073300000000000000000000000000000000000000008dcf5f35c0492735c3ea2d35addd1f35b0b043354c353c3533654035f6063b35dc95ae3304b3b333a6a8d533d46ae7338c9c8435a0ed693524788535f6497735315ddb34203bd33464df0235817e1135912caf34a825c234c0c0b134ea669f3498f07736aadb333f0488983e07c7f736c3bc08375575333f0f1e843eefac7237241ad437be901c3f762c483e9873c5374aa76037fe93003f66a61f3e248a28373dc6bc37a6e5c43e8d5ff33d328b253791316638e69c873edd27a13de824383890486438ed23063ecff5893d99c71e387dc09637e94c0b3da879463c43f48e371103ac33084a5434f9a48934f97b5234a39c42345bfb6934fa312a340bad3b34000000000000000000000000000000000353a435b672a9355c9eb5358d38ba35a48eed358655ec351ac9f83527ec0036000000000000000000000000ffeced314010f8350aa8fc3526a604368d9a07361582bb35517ebf35753ec8350b13ce356e313e37295fb0360000000024707c347bb0823481225c34fec97234b39f8434a8be013761bf003f1896fe3efe8bc93469d88e387e17003f2cfbe93ecaf32c3825681838d8d5de3e3d29bf3e19bec13702fd2038dc38ba3e02b8953ed814b33775f3a33833508e3eb996633e5a7d6f3862f52d38d6cd4f3e39c6103eb39bcb377a16e23807ffe53d1e47a23d5a344f3806e0a9382a4f283d2ae4b63a67f89b388dc912359dd8da37c20ea937e38217358b2224333fdbbf33415290339d698b33148f1334894f173441992134b4a2f433e7fc59355afc5c357b57603528fd6535ab846433085fd23272ea3c33ffac64338d991f35bd4221357ef34335cc1f3a35f39aa43501a796355eb38c3587bc853502e00c33000000000f99a3337151f1333c840235b574db335637c934aad725352b839c36b414923660119836259b99361f831434fa679c3e61de313fe3c5bb32c4d2063739da983edcc4273f4535fc349e294f38067e833e3eab0b3fdf1b94378b697b38bf6c673eeda9dc3e70a2ca37ee7ec13762c33d3eaadb9f3effab3636de6bc0374b2c103e12f84e3e7a653d374f307238140edd3d1f9daf3dc2363938899e3538b404243d9b67933a69cdf637fece9636d6c5bf37e452a03683a49f36de2600369aa6fb3550248d350fdc94356140703400000000000000000000000000000000000000000000000000000000e0879f35667d983550369635359d903503d8e934184ddf346898d234d349d63400000000000000000000000000000000d57b7f3509298c35b5b88c354fef8a35f1f11f3699237a35205d9b3511ee78361cd114340b101d3406980134e9bbff3393e82638f5a6d93db9d6643fbb18e93513519938a192be3da8415a3fea2cc9363be187386300a93d9f8f373f78fb94378aa99738fae4b23d432c103f36d2c7378f083f388fdab43dabd7d23eb44284372e769738c2449e3db96b8a3e322b2b3826f79f38e600ad3dbd98e33de2dc66389c607a3886352e3d04a8ae38588227388ae995339e610c343c3a163463c80034938f853451c57834b9d53a34c2db5f34781a3f34c0155b349cbcfb33c464da3342219335cada973572eba0353882a435b257c6351041c6358537cb35001bd4356d403f348c8d73346c3b4e34b52e64344140be35881ac235b1cfcc359e79d135102fa1358008ab35795bb6351845c0354e836135e70d523534183f3544c76035d522d6354190d8351162da357832d5353f748938ea3d7f3c6d177c3fb9728137a39fd138748ccc3c6bb86a3fa74f4d38f9d8a5384650ac3a24714e3f9e764e3800fd8538dee9103b57c5253f74ee2138e5bcd038ae35173b0ccbf83e93865238e55c8938e370f53c3ebe9c3e408c5b387ffda7384ff3803db7ea063e4eb69f38fd4a97380696a93cda51013d531c80386d76d33580924636e8c7db350021d73500000000000000000000000000000000d3749a35c2189d35148a913574a68b35e07751367b715036c469413666163936000000001708da315d8fe732664b82320a1cb135036cb2358bf6b535fafcb23515054536e67e4636eea51a36f173263660a15b36f9e306340000000060db763475918e3402901a34dc43fb34aaf0de340000000000000000000000000000000000000000000000000000803f000000006dc1df3766f04938429d723f33475a371e882438f1db5b38a451523f38d90e38f3206338f6389b39973f293fb2c13e38e36d0d38976d673a8c52fd3ebb490738e23c44384c82413cce6aa43e89404938f0aa8c3876e9ef3c6bff113e8032a4389f2da9373dda913ac6b5383df7b2ca37000000000000000000000000000000000000000000000000000000000000000044943b35ed942935c54f3635437c3235693b52368b324b3607424e3625ca4e36850f7b368e5c74363a1976361cbc7536b5b8e4343ceec3341c60e134e2b9de34f5eb893691c188362bd0893629318a36830383367bc4813695488236848f8236e5b48f36eaff8c36139d9336d3b1933600000000000000000000000000000000000000000000803f00000000000000002db0973a5b00693f9886ac38adc271382f8ffe3a87e5453f29245338c118c5376a1d383bcdaa213f621222392e91b7386d69573c77faf83e3efe7438dc6c8237572fdb3c6791ac3e5473ea38accc2238c254093d356e333e9c063f3caa5ebe388490d63cebc24b3d53683a3c7918a23800000000000000000000000000000000a527ca35c216c635a4adc33593b1c235646ba23531bf9535acb99935e33e97359593853661a88036f2fc7f365dc27f36e13d99364383953669b6963640899636c5a2f335164be2356f6cea3591ede935ea5cad36cf73a9369d14a836a62ea9368f408f36a00a8e3643ee8e36faa38e362939e2356277db35704fdf357326d9356da88d35e5fa893576948e3559ff9335ff2e1e3925d17f3fb90b8b3a2194f43895d7e33966086b3fb49325390d389737b7a5993a281e463f98bca438f367f2379b12713a917c243f9dfae738de6a28380b21443ccb4ffa3e587f0939650d2436468abe3c70afae3e994a2439a0b3a038e177103dfb67353ebb8eae3cd6d264384853a13c8a00593d5df7843cac6d1c38bc818237d8b9b6370266053750c59f36acd7453639db4636698340361ab04036cd3bdf34b7efd434b27bdf34a236c934fc6c5d360870583639d9563609635636aebd9536609d92364b7892368474923641c00d3579220b35700b123554bf0835bd06ad364567aa36ff50aa363c75aa368123713625b86d363f8d6c3698b66d364bd99d356f2ea135c600a335e57b9f3516445336a1985736919b5636b3ae5336692455389f345f3ff954033e98144a38ac9d02394acc593f9f04923d7d58e93745d1823a982e343f4c978d3d106e543829194a3bf4c6163f396a4c3d14d4c1380611513bd9dbe13e465b643dd5c3043799c9cd3cdfcba23ed0eda53c763c9d3829a9f03ce2cf2b3ea154003dae785138cf4c553c45e55c3d981ac63caa97c9376af62d37391e5b3752e02937be21ba36d806df3571d1d5350232e0355114dd3537910335965eed3461400235d1c5f83465818836a5dc86364af38536c8c48536f98c83363a4281367f1f8236197e81363ad901350334ed349681fc349671f634d1c1b636b1f3b5368255b536cc94b536098c8536d1c6843639e88536178e8536495e05369b99fb352af5fc35b24d003675b866364c696a36346b6c3683cd6b362ffac33898dd303f57709e3e6dba9838ac2e0139b9422c3fcafe7c3e60eb6f37ceec2f3a0757133f7a824c3e7a4362383ecc143b8c8bf53e8bc5243e43389b3838c4123bf13fbc3ecbeb063e52712638eddab43cd98d873e63429b3d57cb88381256eb3c6650203ee1022f3d3e8ddb3808690e3cfacd593d5ca8ce3c1cfd3a38d9a09c370bf4ac37fd7d993769a15f374d3f3b35a89d3b35447142355597453547d1c435c0acbc3524dbbc353a72b735a8f1733657366e369b4e6836275e6636bca28e36920d8c3653eb8a36bf188b36f78dd135f9f6c3352e5dc335dd49c2359f51a03645569d367bfe993658919a3650ae9036551c9036615090362f9190362777053698fcfe3556cf00363d3afc35d822963582eb98354eb097350a939835e8c31339ed78023f363bfb3eeb5ebb38477c3039f7bffb3e9e11d93eeaa2e03737e81a3a7438da3ee378b13e66981b3701c4de3a5969b93e42cd8c3e8cb6c938970dd33a3351903e954c5e3e931d09367f78b03cb461533ea89f093efd7fcb38c0b4cf3cfc2f003ebd6c9d3d017bc6372d6c3a3c18ea443dd0d3cd3c778a4538243ea5353927b53558f8a53553f18b355a124836aa8747369acd3b36c4493e36e802a73493b09034f4a6a23455398734bf7b6336f5ea5f36bc0c563679e65636c900a136b9c39d36a5ef9a3621d49b3616c8e034f11fd3342549e234c210cd34f7c7983652f096360f4b943651d595368913933626569136c1868f36bcfd9036c45a5b350dc25b35c9e861354d2f5735fc8afb359d9a00368274fe35e13dfb350b2ef63825e3a73e60172c3f6a155238f2ccc339fd919f3ee0f9193ffe2f3a375cb6b93a2438913ee6d3f93e70899138f45f2e3b5959803ea129c53eaed347384ace203b8e76513edbc0953e0a721f381914873c139e193e806b443e55589f38025cd83cf038be3d1857d83daeb69a3865bfcb3bd8d66a3dd8818a3c3c29aa376e9ff3355519f4356a3af835a5eeee356ca83836d398313686163636bf6e353691cd5a35b1d650350a80543599b14c35861a5c3660975836545d5136829752368bd19c36db259936d4d8973611ee9836b0a30435a2e7003520ee01356513fd347ee6aa36874aa9369a19a7362645a836bf438036ff0e7e367ff57e360219803633e6bc35a784b9351500ba35f9e9bc3583aa5136292455363acb56367f08563615a8fd390d96163e854b5a3fa622ad38aa47023ba80f093e0608463f4c3f82379d17093beceb153e7eb91f3fcf45e437591c883b795c0e3e0b39fd3ed1ac82381ade383c9fd2f93dc346bc3efb480c37913b8e3c1a5dc13d8c537d3ee21eb73840acf93cf14d7a3dff900a3e6d7990388dd88f3a02b5683de7a0a63cfa021d38e740653671fe7136e0056936588864364cb7883478e67d34f447733432aa7434e069ab356c40a335bc449d35bc3299351c7c6c3666b46436bbaf5a36c1645a36d3f79936a85d9636f1f092368ff094369ce2f135d33ee335d70fd935052bd735fd09a7369033a3368f649f363ea1a03665a19a36a1d998360d1b9836e3ba99361992f935295af5350161f6354a2cf135f9d5e735194be4350f8bea35e449ed358a8e2d3a3552813c87e57b3fe0bbc938c13f5e3bf1fff93ce8aa603fc0938537c9cdc33b239e0f3c6b97403ffd7f3f385a107d3bc8d4203d0be7173f0a0ac738c4f35d3cc73b443dde92e03ebf0862370702a33c7cb0283d88c1973e7c688938ac82c23cf9be4d3d6e5a1b3e19c37938566f253cd7f9183d07330c3d30907138012d0136416e0036c27e013605caf7350000000000000000000000000000000022ea3d3295691c32d1037d3210a03832ab6865362bb05e360c87543600a65636330d6d36de70673642865f362f266236bcf5c934dac0bf347c6cc734bcfdbf3465b38b3619cc88368cc285362af487362d7c60367ae45d3691215a36e2995c36bdc18f35081b8e352afe90353f0290350000000000000000000000000000000000000000000000000000803f0000000057dc363b317b8e3b3503683fdd0d9c385ed1623b8954863b84d5453f314f9f38656e7b3b185a933ce2901d3f0b25a038e045853c6b49a33c3758ee3e2a0b66382685ae3c34e00b3d274f9f3ee6161639421bd13c6f5c353dc34d1e3e92e5b93ab4ad663c7033033d26e72f3d1278c5380000000000000000000000000000000000000000000000000000000000000000000000000000000084d6863084bcc33200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d686a032ab47b43233f6d1320475eb3242ab8033a52491332b81a7330965b03300000000000000000000000000000000000000000000803f000000000000000054452f320349793fef1a92330000000000000000d53f5c3f0000000000000000000000004e34333ffd13033900000000000000003cdb023f5a2c3a39000000000000000027b5a73e2ae09a3a0000000005211d390e901a3efc6a113bd130c332621da0337c812d3d740ebe3387899b3300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa3b963354e88233f5324333822829330f579a332587c233a1338433acbd5a33aa7bc3332bc4fe33cef70634d90e0b340000000018127b3fc191de3c4ff3373500000000d8bc733f655f213b00000000000000007a23593ffbab613a000000000000000013bb2e3f1766ba3a000000000000000008cb023f4662ad3a00000000ea0c8833fc80ac3ea78d873ba309c73371921d33f35b1e3eb8add53cc09e323334aa4433d2305c3d8a532b3b6ee51e33d19faf335f1163334804ac362b1aca33e3c76833f48fa8333909ba33d8327f3365b77c331b9e983336d0a7337ee3bf333ba889328edbaa3201efb732c0c2d43245640d31295017311a613331fea34531cbdf00345a1122349b6a2e3430e545348e560d33c5b73533953b4233083b59339a404733e0d87733458e2833f78c0d33f1cb34342f9e8d345d318534e33b9234d93eb83354fdf53367aaf433c0e61834dcec81334c89613f6a8b013eeb9176353b1993337e465f3fcbdad43d1b1f8c3632de9a32e6e84b3fdd7c1d3d95887732ff563731e780233f2649093dec5734316c8510340e06f23ea888173d41d2ea33f45c19334d87963eda66773dd378f73216d00133e258e93d35188c3d173ace32586e0e34ebe1c63a4850093d039ad0335a1a19343bfbdd3563572b378b33f83307d403340897173482117f3445e590342cf3db33b02a053469f2853496f6da348b82b2307e33fc30db490431dcc11733878ff532c49b03333ae21933d3362933e0031134f4d22234b99a3a34d1fc4c3447d0f1316c871b32a1e02432785d383256f9c332fe7dd932abf1fd3238b3073371a9bd335a23e5335aa9033431fd0f343bd09e34f4e2ba344ef4b23406c6ae34f14ad53315c2353fe875973ef68b123470ae36346d77313f45ed933e1fb82434ef820b31c806203f99355c3eefb0f330eb291f3368f2013f610c2f3e22201a3353363534c0ebc13e1972053e0a2b2b34aede0332bd9d733e7918cf3deab3d1314613fd328d73da3dde05933d09f5f632d30fe83392e1d13bc930db3b2e46d63345d38a342341333892235538b1bf66349c7cad33feb11e33cd604d32cd79373300000000000000000000000000000000578a6a32ef1756328ab65d329d73e33200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010006b334caf2133b8630e33631a0133000000000000000000000000000000006759823348a0a5331f4dad33278dc23342f24a33b2f2003fbb12013fc0fe0a3300000000f075013fe3acf43e00000000d91181322693e53e6c89ce3e92cf5232000000007615ba3ecaa4a03e000000000000000097858d3edfba6d3e0000000000000000d76e4c3e4cb9123e000000009b5105339f0bc13d95648c3d7340303300000000384ac23cf00dcc3a00000000a9e56033a29cdf371c8898374a6a823323a18d3425069634885f8f34cff67534b4c8c7332b95f0334e0701342d7b133473eed93294b106339bde0a33dd04253396d1db3107a9eb315d1306329d751432c6711b3424814034af174b344d1466341df008332fb62f332176373337294e33fa8c222f000000006cd5e2307a9b2431c00bc933f0d02d34d6d75734b0328634008ed3337bdc01343f930334c40a3834cab7e335bb5b9a3e407d343fc0988434f11cf2339c39a43ec2bb2c3f9723c1334c4df732ebab823e100d153f26e4ba32846d1032be68623eeac6ea3edc580632b9f83134a15d353ebb31a93e5deb0d3402d617334d08153e5ff3463eaec9e7326ec820315c67d83d214b8e3da5778932fab30c34cf0adc3c04ee023a933eb2339f99353438071737c741af360738fb3392d7e633a96b03343cb64b34153167347dee243495504934b56f6b3469c77d34bb2318335b4b2f331c0d343340ba323395750133aa3a0b33e2d31b339af72c3359e4ef33adea033446951434d354233456f91f3113d24d31ead65431ad0f6e3168b37e32ad028d322c7fa13227d2ac329ccb77332ae18f3390aaa133bb19ae33e82f3a332c0b2e34473916349aaaf033d9fbdf33cede013eba70613fcd18f13379845c342265f73dfac95a3f98921f34662c083314e4983d97cb413f4717ba321c542a33a52f973d7297173ffa6a1c33bc261c34c3c4a03da657dd3e24331034b2403131a104b53dad36843ee87f0531cadba7328aedbe3d3ff5ad3d21359b32607fd335488f0d3db0f7163a2a4d8a330771c4337ce3af3700aea636e29c7e33ecde04342a408833d99b0133dce57933ef786a3374cc85330ecf873389c38733b4cca132988fb93207c0bb325e751e330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5db033b0edcb3ca5687b3fb0239833de8950330503c73c9b216d3f9c1c0d3301528f326468923a1b9f553f236c4632745ffa38ed44583b70d42b3f39a138340394523964a4823b5967ff3e000000000000000010e1a53c448da03e0000000000000000290d0f3d37cb063e0000000000000000b7f4f33bca3f353d00000000000000007fb31437000000000000000000000000000000000000000000000000f2628d33f677ac333b45ad33c06fcd33c85cb232d333db321eb2db32df8d013300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008cdbe325cbcda330000000000000000000000000000000000000000000000000000803f0000000030d39b337544a73374b0773fbd537033833ec4329b3a96395baa5b3f4206973200000000a5fdda3997b7303f00000000000000000ce8c5391358013f00000000000000005bdbf439558fa23e3a1afc380000000055a70f3adc141b3e000000000000000039d5b039069b193d000000000000000000000000000000000000000000000000000000000000000000000000d550dd34deacd434bf12df34c7012c3578d61c35d177f434329c6635cfe9ad351e47af35245fbb35ef58a73538b0b93509a604359a3afb343cc34635718b94358aa2a33553fbb035eb86e33548cd0636bef46f3573b88c359a7d4f350aee4e35b77f8835e4c281355cbc9d353384a43500000000000000000000000000000000000000000000803f00000000000000003f10d837e908753f7cd38d38817c093774049838cb3e533f8033a037542c02365f8e873ad6b22c3f3c633b3a598615369498f339e5e7033f07812e3aa8d21536550d353a9d60b13ee1bd633a12eb2e3628df253cb36e213e24ddb33c25fa14397c228f39705a823d0f2ddc397e1394370000000000000000000000000000000014d7de333c2ed733887ddf33caeac833b9b82335a1b319358f2b22354726133565c49435b7533c35d0ec663526f58135d181be353d79a5351564b0350f30c9355ee76435631c623599434d3509195135640ccd354adfaf351a90bd356a18bf3598d0c335fbb4bd35f45fc1356dcfc835d919853532c7883534b84935181d5e35606e34356f1910355dd4ca34055bd334ded373345aff7c3f3ffc953ced026b34744e7035d63c713fc58fe439cbea59359947b9375870503f34fd913975aade36e2e50a3a82d62a3f4ec3763ad3190b371f15013a4e93043f432a783a6a472b3762c5d639eb9abb3ebbdbb63af23aba36c3badb39ce332b3ed397343d06c6d337d6adc137b6d5963d787da63a601cd63739969737770e1838acdd1838cf0ad43750aa0a35f060263555263535582f2d3530ff3f351ece013510b10f35f74f26352aa4ac34107a7f34d4a5993491409b34462285352e5579356c499f351647ab3501e761350c080c35596d2c35a74c6c35218213350c4b043578ac0835ecf20e35d1ed543480f28e346d55be34c46ccc3481bb503588ca373525ba1f350cc36035338c90350a187f359ac13f35f33a5135011d6237781f6b3ff250ae3deb83f1375d7a8e354acd693f9aaa213d1e5aef35114f2935b78e4e3f75402c3ba7ef2535545fe2383438293ff304cb3a644a33366bac063a5777003f53e17f3b53072139fef3b239865fa93eb88ff93cd1795f384e8d96393e111c3ec3e16d3da3bbc7360aa24837478b513d70ae043c1c9562372b58d3366a9cd937bab2dd37943c7837a57a78353b4f9035d8967535ff578335d629e534ba62af3415208f345d703b34e9bfc534c95eb334fba30535c12ef434d3c7f1344add14352cabf03482c8e03465821735463cc83400b81435e2176135853c2a351d1f2935f68f6435eb3a5435ec715e342e6c8e34bab13434e0212334a10efb34f4f605350f47e3342344a6345428d9323125ec32026602349e73e73488b29f350dda393f2c9b8f3e78ae3936315180359ed4383f68806e3e6199733512e531370e34273fc9571f3ecbfc7136f5cad73992bc0b3fad68ec3d616e06392b59ec390fd5d83e79d5b73d7893d3386f9a7338d87d993eea9e743df9610637e01efc390731103e507f963d3ca4d8361b482337fd97563d9a87933b468f1937cfe4aa34d03e9e37eacda5379207f936405ca4344ed16b3407be6a3492c67c341f674335e8f32b35c130133507530e352fa7ed351f21ae353dfaa135301eaa3593b0e035a459b535afe2cb350912ed3595a44c35100d3b35f9ff223591c02d3573d91536c8630036f52bfc35951cf2353ddabf3585dead355a25ba35a75dc73500226c35169c5d35ac773135e29a57356b12b4342dd6b7341414c734ecddda3483b7d034cb5c013fa516003fe917d034d131bb352be1023f2588e23e17df933535c4e6371528eb3eba7bb43e08d18737176eff397037cb3e9b63863e45d83b3672b2d839e565a13e4875443e44cabd35df4b15393203783ea61eed3db536463640b5c4390995043e0dc2943dbdf1f6374e95a935d431553d6d6d3b3b473ebc350d08c234ea95b8345fdacd34561bca34b05c3d34f59f0434d94237343d248e34e0981235d539ba347ae1c63473a4ed3423e381345c2634346e65573438e0623409ae1a35f7720c35e3530c3591ad2035b37b9735b02855354bea6235c06191353e8b6a352f25fe34cc73ff34b30604356c70d134d9eee4348843c734b3a9cc3402382d35501a07355f3ff934433d2a35a72d9b352d468035da11423541ac6c35703c1937b584953e2a76363f3adc4335a9e79f3597ff993ed3aa263f9a6ea53504674a391fa9863e95bd093fc6a28e35e0d09c39eab5743e3a52d53e16eaef35001a273a5fa0593eb7f0943e03714137acd2333a68703b3e174f313e7b8ace352f860a382ff7063ecf32943ded4b6537ace92539b4ed583d6928883a527b4b37c9245c360daa9c3719170d373cea8435a0cf86358fde9e35b9036a35b7867f35b1091535c003c134e31fb034a90602351a1284349724503438e08a341f8c7734695ddc34ecede934ac139b349e28aa3461244535e484fb34980d083595d66735cb689d35f6805a35e02f91350763c23563cf9c346658a134c53e903453d48234bf562a35e2c133356428293561fd0135aaf1dc34f9ecb0344d2bb834db017435eedbd238cb86d23d6223673f317ead35e472d438895dc23da5b65a3ffa8b9e3555c5043a6ea39d3d9abc393f34478335cbb7783a2161c43d23110f3f2440a2351f37683abe1dde3d0150cd3e1a762337d270173aa613ef3d62d0703ee7fb163649e3453ad425e83d7b57ba3d3b331435f193a4393ed05d3db84f393ad7df6037f186063820993438b6ed053853919a37318f92341be02934601f37347d8e4a34bfe68035a6285c35b0933c355be74a35fcd404361eeacf35c18796355f699a35cd749c351ba65935682065351027a13546a88935b06574355f4d4f35d1826535e2e61336d42eff35ad94d9359c0bc73580e88c35c61e763527486e35afae883581016a351eb060359641413532a9673566898f342084783491d75834dc9d6234d86c283860d9e53c351e7a3f89fd5a37ffa6e3373e36de3ce590673f7381ec35f74ea338f181673bc1274c3f83161b37bf3c333a2d15903bf0ef243f3b411c368020093afa42b13ccb32f23e5dc54837a4d48339846d663dd73c953eaea85737d76f45393a54a13d0ea0f43d0e3ad93707138e3755e5113d00dfe23cf9fe31371cbd9934120f4737c432ad36287f8734000000000000000000000000000000006b8b973570b333353cc35035fca093359a809135194f5f358e7c4535372c44354938b135e8ea8e35c72b9e35a880d035a887cd358a26b6354becad35ec4fc535b273fa357287e8357d9fc135af1ab03530dc91359a758d353edd8935444baa359224883594f19635a8c75a352f2870350000000000000000000000000000000000000000000000000000803f00000000ad5ca5378c3c183acb06723f635a14370a11ac39369f5d3adc62523f46dfea3798799e39844f983a26722a3f380d2336799f093a91fed23aebdafe3e8379f4368522303a136b9f3c2ea9a33ec4fad93953772438dcf7413dba040f3ee9d9eb38ae6f7c39fd3dc33a872d4a3d4e1e1538000000000000000000000000000000000000000000000000000000000000000080dce433f52bd73371b0d333a7b2d53308aadf34d0879134464138346d93413439eb43350790283565d72b3506fa30350263c234cbd7ad342fa8ab34e2bba7345346a434625a6834e6ba10345d183d346be9b2356b87a335cf479a352b48b035b1a8363576a32435f5e828359f2a263500000000000000000000000000000000000000000000803f000000000000000060acb63b7030693f4cb2873841fcdb3710910c3c97be433f3913443862efb8375fb92f3df133183f4fec8638292c0538e2b2993dd24dd73e79e3f03900ca6c38b984c83d459f853e44d2bb388a548b383482b53d7312ff3df4662b3c7431ec3757ba313d991f283dcc912b395fdcd338000000000000000000000000000000005cc7843481db7c34eb5d6b34a05f653497a5c5340c13ac349d19a034eb01a234efe53a34c07eca3395123933d1fa2733e179d434eb019b343c0fab34ba6eb134cdfae634a5f9e0340c0ad13423cebb348609203530bc0c35f6d5063591b2f7346f29de349dd3a0341175bb340971c03476cfc434ce97cb342511c7349eedb3344d758e34d262a9347dc99c34bf8f86340b1b913adf1e803f9e35f13a46bede385b151b3c03fc683fd8550a390b7caa383008063c2fe4443f8c1b47387b4df53714b74c3dc320173fabd3b738f1862f38408cb43db73cd23e6c67ba399e4e7b38e799dd3d0513823e69ebcf3883ad80381fbcbd3d90c9ef3dcb19813c73cc463806452a3d09ef3b3d90bf5539394ad238a11d0835b7ae1135b9491a3538b90835fc1e4f32226b4232f108373254c02e32325dee34bf07d6340931d734bd10e534c17b6435621b483580755035e5245c3529b71a34fae76332ed394833d4c202344d2fd73480d4c73473eecb34820ccc347fd8b535f4c0a2357cfdaa35f854b03507ccb63477f48134ab1683343c48b4348a114e346d7654343aac56343e965334cdbd6a355e0d6435859e7835173277353bf72c39b0c16f3f6b04883d74e7ff38ba04793aa8b46c3f8c7d1a39cde4b238f96eb63b0722463f7fde7f38a62823388694953d9c86123f6fd2c138f50786383bd0d83d825fcc3e7646be39bb829538f257e43ded1f813e7c51ff3817b29638665dae3da814ed3d26b3d43c9bd33b3873471c3de24e523d20417d3a8560d6388c69a335fcafa0358257a335f0f09e354ed0353534e319359700123509140e3587c03f34e52a3134551a2d34980531348d48d834a54d9a34884571343eaf6e340bad5a35ab162535b128213587c62c3527c4e13444c3c234d6d0c6346c8ac534a09b13354afbea343561df34c43aea348fc0663504293a3537023a35c22953358c2b2335cd0918356c7e18352f7c1c35ae102933e27c913315a0bf337b011d338cd31539ffe03a3fc3ef8b3ef5a1f8381753643c17e33c3f233c2f3e0f9f89384b78ce3cf4e8243f63dbe43d2d342338ac12d03d2d5a023fbb720a3d2f7fa43865f7073e725bbc3eea1bb03b97fba338eff2063ebdb66e3e8764cc38c00793383bfaaf3dfc41e43d42d8ec3ce7c34638721c0e3d6418543d4342bd3af3380639c9dc853456608734861b7b3426f18b34c4fd7934029c6334c6525734192c4e349c13be341740b5345dc5af3483a5ac34e21eb734ed208c34bb1a4c349b1e3334174c1435bdffc2345e21d134241fae34e2040335c13b0335dffdf634ecd9dd34f8f24b357c5436354ff73435f0ee2135a8f0f734e471af342c10c8343385ab346312dd34348fec34f388e6347851d134b3d20b357ed71e35b5fc3f352ccf103510c53c3a8c55043f419df83ee17baf38e6afba3c286d053f39a4c03e61eba8389dbcca3ce3d4f43e0b768e3e3d0500381d34d13dd394c53e50e1203ede278a381046fc3d17af913eaabfc83d3ab98f382b90113e60594b3e4edbbb3ca4dbab38194dc13d2131c43db939133d953640382dd40e3df66d4a3d8675cb39f4bbf138c2fc8a35bfa18e3507748735abe67f350dfd2e33cf6d2b3335102233e2fe27339c8b0e352cdcfe345e68fa34bf6102358ea949359dd92c3529e52835855c3435abe57234435b9633e6bd4f33c4b01c3400b2e834992ad034fff7d334320ad634a9209435c1b58235a0068935d91d8f3588ccfd34bd91c1344577c6340abcfe3484cd57343c214f349b896234d8245034be9871356d666f35a40d83355c5b81355373783a99029d3e1b19323fa297c43817cc053d290e9b3ea1ea143fe6e09a38e5a4ff3c88e29d3e0352e23e23f128387dbdd23d3afb833ee11f913e9fe77c38e407053eb8564f3e6d79303e7fd798381617103e0390123e4a0ca63dcd7fac382f2ecf3dbab0ba3d6d58093dc5f1503804220e3d7fc73e3de20c5a3a8266ab381d6fa035aca99c357d5b9d3504759c35e2f33f35e2702335d4e90d3551f318351eb84134da6b363499973134df4336345afc8234c1aa103449955e33d8a64b3385419735a7137735301a6f3501247835527ccf34977eb234e840b734c2c7b8347283f934e561bc342c4c9d348ca9a834b32e873591e06635ed4e6435426f7435c8b80f35aceb0635fe250a35a4a409359a384a3274175432d33146321d8d40320b70853c0a7db73d0a9f653f85dc9938da3a393d52dbb13d7c64483f1baa8238f1110a3dec2d123e279f1a3f251d1b3887e8da3d5a15083eead9cf3e90a89338f477023e4fe0ed3dcbdc853e492eae380a29113eea36ab3d1e600d3e798f9c389039cb3d5757ae3d5a1e333d4f4b58382a98103da0462d3db1e4583a28940739e6da8d34735e9f34cbd0a734c416ce34b91f4c347ac52f34e19c3034e77d313427689c3473019d34b70c9a343e439c343a470335c081cb343e449434c12295341d75f3342c9a9834db1a8734ee9e8434bea9ee34934fee34b574dc3431d6c934af283035a828163516c50c351bc6fe348256f2349f86aa34591da73471468734de45de34d024f1342974e234a5f6cc346d2d6f34488b8b3485c4ae342b45723493b56c3b20a70e3d1f31773f3e7bb2387c75343d57a8ce3c1e10593f279e983861b91d3db374b13c05da383f1be52f385bbee93d8830d93cdea9013fbf54853880bd0b3e9f88363d248da93eb2d09a38d4b9063ee23f873da52b2f3e9dfba93884dcb13d4eeead3ddaf96d3dcf323238b8da243d263c2f3db29a053b52211739cee028353e0e363501183035dc711f35000000000000000000000000000000002c691a35f5ba08359c2e10356380113580b1e534954baf3451948334ef929c3400000000000000000000000000000000cb55c834b279b4342f88b0343aaab93411f86235ce96453516b13435518244355bb50235f99dbb34b6ee923415abd534c04df833cda802346bc6043434bf03340000000000000000000000000000000000000000000000000000803f000000005f48ed3ceadc6c3c84bd603f5ff3ab3821e7fa3c04e9b33b276b3f3f9f7dcd37bfa1b53d740a813c17970b3f49619038a88df23dd102ee3cbfe4bb3ea67196397154e63d2c5e7b3d49654b3e4c6f583871709e3d0181a13dcabe9e3d51715138ccc8143d0541143d4dbc873cd6c2ab3800000000000000000000000000000000 diff --git a/shaders/ravu/ravu-zoom-ar-r3.glsl b/shaders/ravu/ravu-zoom-ar-r3.glsl new file mode 100644 index 0000000..91a8245 --- /dev/null +++ b/shaders/ravu/ravu-zoom-ar-r3.glsl @@ -0,0 +1,266 @@ +// +// 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 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 . + +//!DESC RAVU-Zoom-AR (luma, r3) +//!HOOK LUMA +//!BIND HOOKED +//!BIND ravu_zoom_lut3 +//!BIND ravu_zoom_lut3_ar +//!WIDTH OUTPUT.w +//!HEIGHT OUTPUT.h +//!OFFSET ALIGN +//!WHEN HOOKED.w OUTPUT.w < HOOKED.h OUTPUT.h < * +#define LUTPOS(x, lut_size) mix(0.5 / (lut_size), 1.0 - 0.5 / (lut_size), (x)) +vec4 hook() { +vec2 pos = HOOKED_pos * HOOKED_size; +vec2 subpix = fract(pos - 0.5); +pos -= subpix; +subpix = LUTPOS(subpix, vec2(9.0)); +vec2 subpix_inv = 1.0 - subpix; +vec2 subpix_ar = subpix / vec2(2.0, 288.0); +vec2 subpix_inv_ar = subpix_inv / vec2(2.0, 288.0); +subpix /= vec2(5.0, 288.0); +subpix_inv /= vec2(5.0, 288.0); +float sample0 = HOOKED_tex((pos + vec2(-2.0,-2.0)) * HOOKED_pt).x; +float sample1 = HOOKED_tex((pos + vec2(-2.0,-1.0)) * HOOKED_pt).x; +float sample2 = HOOKED_tex((pos + vec2(-2.0,0.0)) * HOOKED_pt).x; +float sample3 = HOOKED_tex((pos + vec2(-2.0,1.0)) * HOOKED_pt).x; +float sample4 = HOOKED_tex((pos + vec2(-2.0,2.0)) * HOOKED_pt).x; +float sample5 = HOOKED_tex((pos + vec2(-2.0,3.0)) * HOOKED_pt).x; +float sample6 = HOOKED_tex((pos + vec2(-1.0,-2.0)) * HOOKED_pt).x; +float sample7 = HOOKED_tex((pos + vec2(-1.0,-1.0)) * HOOKED_pt).x; +float sample8 = HOOKED_tex((pos + vec2(-1.0,0.0)) * HOOKED_pt).x; +float sample9 = HOOKED_tex((pos + vec2(-1.0,1.0)) * HOOKED_pt).x; +float sample10 = HOOKED_tex((pos + vec2(-1.0,2.0)) * HOOKED_pt).x; +float sample11 = HOOKED_tex((pos + vec2(-1.0,3.0)) * HOOKED_pt).x; +float sample12 = HOOKED_tex((pos + vec2(0.0,-2.0)) * HOOKED_pt).x; +float sample13 = HOOKED_tex((pos + vec2(0.0,-1.0)) * HOOKED_pt).x; +float sample14 = HOOKED_tex((pos + vec2(0.0,0.0)) * HOOKED_pt).x; +float sample15 = HOOKED_tex((pos + vec2(0.0,1.0)) * HOOKED_pt).x; +float sample16 = HOOKED_tex((pos + vec2(0.0,2.0)) * HOOKED_pt).x; +float sample17 = HOOKED_tex((pos + vec2(0.0,3.0)) * HOOKED_pt).x; +float sample18 = HOOKED_tex((pos + vec2(1.0,-2.0)) * HOOKED_pt).x; +float sample19 = HOOKED_tex((pos + vec2(1.0,-1.0)) * HOOKED_pt).x; +float sample20 = HOOKED_tex((pos + vec2(1.0,0.0)) * HOOKED_pt).x; +float sample21 = HOOKED_tex((pos + vec2(1.0,1.0)) * HOOKED_pt).x; +float sample22 = HOOKED_tex((pos + vec2(1.0,2.0)) * HOOKED_pt).x; +float sample23 = HOOKED_tex((pos + vec2(1.0,3.0)) * HOOKED_pt).x; +float sample24 = HOOKED_tex((pos + vec2(2.0,-2.0)) * HOOKED_pt).x; +float sample25 = HOOKED_tex((pos + vec2(2.0,-1.0)) * HOOKED_pt).x; +float sample26 = HOOKED_tex((pos + vec2(2.0,0.0)) * HOOKED_pt).x; +float sample27 = HOOKED_tex((pos + vec2(2.0,1.0)) * HOOKED_pt).x; +float sample28 = HOOKED_tex((pos + vec2(2.0,2.0)) * HOOKED_pt).x; +float sample29 = HOOKED_tex((pos + vec2(2.0,3.0)) * HOOKED_pt).x; +float sample30 = HOOKED_tex((pos + vec2(3.0,-2.0)) * HOOKED_pt).x; +float sample31 = HOOKED_tex((pos + vec2(3.0,-1.0)) * HOOKED_pt).x; +float sample32 = HOOKED_tex((pos + vec2(3.0,0.0)) * HOOKED_pt).x; +float sample33 = HOOKED_tex((pos + vec2(3.0,1.0)) * HOOKED_pt).x; +float sample34 = HOOKED_tex((pos + vec2(3.0,2.0)) * HOOKED_pt).x; +float sample35 = HOOKED_tex((pos + vec2(3.0,3.0)) * HOOKED_pt).x; +vec3 abd = vec3(0.0); +float gx, gy; +gx = (sample13-sample1)/2.0; +gy = (sample8-sample6)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04792235409415088; +gx = (sample14-sample2)/2.0; +gy = (-sample10+8.0*sample9-8.0*sample7+sample6)/12.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (sample15-sample3)/2.0; +gy = (-sample11+8.0*sample10-8.0*sample8+sample7)/12.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (sample16-sample4)/2.0; +gy = (sample11-sample9)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04792235409415088; +gx = (-sample25+8.0*sample19-8.0*sample7+sample1)/12.0; +gy = (sample14-sample12)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (-sample26+8.0*sample20-8.0*sample8+sample2)/12.0; +gy = (-sample16+8.0*sample15-8.0*sample13+sample12)/12.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.07901060453704994; +gx = (-sample27+8.0*sample21-8.0*sample9+sample3)/12.0; +gy = (-sample17+8.0*sample16-8.0*sample14+sample13)/12.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.07901060453704994; +gx = (-sample28+8.0*sample22-8.0*sample10+sample4)/12.0; +gy = (sample17-sample15)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (-sample31+8.0*sample25-8.0*sample13+sample7)/12.0; +gy = (sample20-sample18)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (-sample32+8.0*sample26-8.0*sample14+sample8)/12.0; +gy = (-sample22+8.0*sample21-8.0*sample19+sample18)/12.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.07901060453704994; +gx = (-sample33+8.0*sample27-8.0*sample15+sample9)/12.0; +gy = (-sample23+8.0*sample22-8.0*sample20+sample19)/12.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.07901060453704994; +gx = (-sample34+8.0*sample28-8.0*sample16+sample10)/12.0; +gy = (sample23-sample21)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (sample31-sample19)/2.0; +gy = (sample26-sample24)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04792235409415088; +gx = (sample32-sample20)/2.0; +gy = (-sample28+8.0*sample27-8.0*sample25+sample24)/12.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (sample33-sample21)/2.0; +gy = (-sample29+8.0*sample28-8.0*sample26+sample25)/12.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.06153352068439959; +gx = (sample34-sample22)/2.0; +gy = (sample29-sample27)/2.0; +abd += vec3(gx * gx, gx * gy, gy * gy) * 0.04792235409415088; +float a = abd.x, b = abd.y, d = abd.z; +float T = a + d, D = a * d - b * b; +float delta = sqrt(max(T * T / 4.0 - D, 0.0)); +float L1 = T / 2.0 + delta, L2 = T / 2.0 - delta; +float sqrtL1 = sqrt(L1), sqrtL2 = sqrt(L2); +float theta = mix(mod(atan(L1 - a, b) + 3.141592653589793, 3.141592653589793), 0.0, abs(b) < 1.192092896e-7); +float lambda = sqrtL1; +float mu = mix((sqrtL1 - sqrtL2) / (sqrtL1 + sqrtL2), 0.0, sqrtL1 + sqrtL2 < 1.192092896e-7); +float angle = floor(theta * 24.0 / 3.141592653589793); +float strength = mix(mix(0.0, 1.0, lambda >= 0.004), mix(2.0, 3.0, lambda >= 0.05), lambda >= 0.016); +float coherence = mix(mix(0.0, 1.0, mu >= 0.25), 2.0, mu >= 0.5); +float coord_y = ((angle * 4.0 + strength) * 3.0 + coherence) / 288.0; +float res = 0.0; +vec4 w; +vec4 cg, cg1; +float lo = 0.0, hi = 0.0; +float lo2 = 0.0, hi2 = 0.0; +w = texture(ravu_zoom_lut3, vec2(0.0, coord_y) + subpix); +res += sample0 * w[0]; +res += sample1 * w[1]; +res += sample2 * w[2]; +res += sample3 * w[3]; +w = texture(ravu_zoom_lut3, vec2(0.2, coord_y) + subpix); +res += sample4 * w[0]; +res += sample5 * w[1]; +res += sample6 * w[2]; +res += sample7 * w[3]; +w = texture(ravu_zoom_lut3, vec2(0.4, coord_y) + subpix); +res += sample8 * w[0]; +res += sample9 * w[1]; +res += sample10 * w[2]; +res += sample11 * w[3]; +w = texture(ravu_zoom_lut3, vec2(0.6, coord_y) + subpix); +res += sample12 * w[0]; +res += sample13 * w[1]; +res += sample14 * w[2]; +res += sample15 * w[3]; +w = texture(ravu_zoom_lut3, vec2(0.8, coord_y) + subpix); +res += sample16 * w[0]; +res += sample17 * w[1]; +w = texture(ravu_zoom_lut3, vec2(0.0, coord_y) + subpix_inv); +res += sample35 * w[0]; +res += sample34 * w[1]; +res += sample33 * w[2]; +res += sample32 * w[3]; +w = texture(ravu_zoom_lut3, vec2(0.2, coord_y) + subpix_inv); +res += sample31 * w[0]; +res += sample30 * w[1]; +res += sample29 * w[2]; +res += sample28 * w[3]; +w = texture(ravu_zoom_lut3, vec2(0.4, coord_y) + subpix_inv); +res += sample27 * w[0]; +res += sample26 * w[1]; +res += sample25 * w[2]; +res += sample24 * w[3]; +w = texture(ravu_zoom_lut3, vec2(0.6, coord_y) + subpix_inv); +res += sample23 * w[0]; +res += sample22 * w[1]; +res += sample21 * w[2]; +res += sample20 * w[3]; +w = texture(ravu_zoom_lut3, vec2(0.8, coord_y) + subpix_inv); +res += sample19 * w[0]; +res += sample18 * w[1]; +w = texture(ravu_zoom_lut3_ar, vec2(0.0, coord_y) + subpix_ar); +cg = vec4(0.1 + sample7, 1.1 - sample7, 0.1 + sample8, 1.1 - sample8); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[0] + cg[2] * w[1]; +lo += cg[1] * w[0] + cg[3] * w[1]; +cg *= cg1; +hi2 += cg[0] * w[0] + cg[2] * w[1]; +lo2 += cg[1] * w[0] + cg[3] * w[1]; +cg = vec4(0.1 + sample9, 1.1 - sample9, 0.1 + sample10, 1.1 - sample10); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[2] + cg[2] * w[3]; +lo += cg[1] * w[2] + cg[3] * w[3]; +cg *= cg1; +hi2 += cg[0] * w[2] + cg[2] * w[3]; +lo2 += cg[1] * w[2] + cg[3] * w[3]; +w = texture(ravu_zoom_lut3_ar, vec2(0.5, coord_y) + subpix_ar); +cg = vec4(0.1 + sample13, 1.1 - sample13, 0.1 + sample14, 1.1 - sample14); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[0] + cg[2] * w[1]; +lo += cg[1] * w[0] + cg[3] * w[1]; +cg *= cg1; +hi2 += cg[0] * w[0] + cg[2] * w[1]; +lo2 += cg[1] * w[0] + cg[3] * w[1]; +cg = vec4(0.1 + sample15, 1.1 - sample15, 0.1 + sample16, 1.1 - sample16); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[2] + cg[2] * w[3]; +lo += cg[1] * w[2] + cg[3] * w[3]; +cg *= cg1; +hi2 += cg[0] * w[2] + cg[2] * w[3]; +lo2 += cg[1] * w[2] + cg[3] * w[3]; +w = texture(ravu_zoom_lut3_ar, vec2(0.0, coord_y) + subpix_inv_ar); +cg = vec4(0.1 + sample28, 1.1 - sample28, 0.1 + sample27, 1.1 - sample27); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[0] + cg[2] * w[1]; +lo += cg[1] * w[0] + cg[3] * w[1]; +cg *= cg1; +hi2 += cg[0] * w[0] + cg[2] * w[1]; +lo2 += cg[1] * w[0] + cg[3] * w[1]; +cg = vec4(0.1 + sample26, 1.1 - sample26, 0.1 + sample25, 1.1 - sample25); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[2] + cg[2] * w[3]; +lo += cg[1] * w[2] + cg[3] * w[3]; +cg *= cg1; +hi2 += cg[0] * w[2] + cg[2] * w[3]; +lo2 += cg[1] * w[2] + cg[3] * w[3]; +w = texture(ravu_zoom_lut3_ar, vec2(0.5, coord_y) + subpix_inv_ar); +cg = vec4(0.1 + sample22, 1.1 - sample22, 0.1 + sample21, 1.1 - sample21); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[0] + cg[2] * w[1]; +lo += cg[1] * w[0] + cg[3] * w[1]; +cg *= cg1; +hi2 += cg[0] * w[0] + cg[2] * w[1]; +lo2 += cg[1] * w[0] + cg[3] * w[1]; +cg = vec4(0.1 + sample20, 1.1 - sample20, 0.1 + sample19, 1.1 - sample19); +cg1 = cg; +cg *= cg;cg *= cg;cg *= cg;cg *= cg;cg *= cg; +hi += cg[0] * w[2] + cg[2] * w[3]; +lo += cg[1] * w[2] + cg[3] * w[3]; +cg *= cg1; +hi2 += cg[0] * w[2] + cg[2] * w[3]; +lo2 += cg[1] * w[2] + cg[3] * w[3]; +hi = hi2 / hi - 0.1; +lo = 1.1 - lo2 / lo; +res = mix(res, clamp(res, lo, hi), 0.800000); +return vec4(res, 0.0, 0.0, 0.0); +} +//!TEXTURE ravu_zoom_lut3 +//!SIZE 45 2592 +//!FORMAT rgba16f +//!FILTER LINEAR +0000000000000000000000000000000005a1fb3aa25ee63adb9d8a3b6930c43aa920073bdd1a153b4e31993bb12c003beaea473a6c56f93ae9a5ab3b4ce2053b7632173a2411ca3af160963b6146f43a69721b3a79a0cd3a754da33b7a66073b29c8e8398bb1c73a46ca963b86ae003b1e44ba390570f63a4ab0953bf292bc3a00000000000000000000000000000000000000000000000000000000000000008cb6d939544729b981e1a939472fd4bcd5b48e3a8bdfa0ba5af6cebad3e8bcbc56a109b90201cebadeec17b99878aabc8d6130ba5857ddb901779eb886e589bcb139c4b9ffa60dba0b7cfb391a5c7bbc4995e9b9f5c4edb98ab5fb39dedf2ebcd18ad8b955754eb9cf1ca33a2a56febb0000000000000000000000000000000000000000000000000000000000000000c96d7bbdd16ad4bcee20f4bac0206838922580bd93d1bcbc5c4109bbc781c9ba9bd16abd89f7b0bc75dcb9ba952ddbb9c16f3cbdf6f58ebc7accbcbaa66cecb9170b2cbd377383bcae019fba353e22ba827201bdb11241bc24733fbac78e28baa481a0bc0610f1bb219c12ba24085dba0000000000000000000000000000000000000000000000000000803f00000000b97a513b4267b1bc9c9d893fd75acabb47196b3b482f03bc7257663f04ec113b96a8293b9854b5bbf53e3d3f31854e3b7ae1f03ae9db99bb6c53123f1b7eea3a95e54e3afd0a04bcb5c2d73e6fee36bbd3aafd39c86549bc8889883e8c660cbc590cd7b63ca7a3bc8972ec3d324d86bc0000000000000000000000000000000000000000000000000000000000000000fbf35d3a8524753b0000000000000000b6477e3b88e3973b0000000000000000e4bf193bbbb6793b000000000000000035e8bd3a514f5d3b00000000000000004c4ed939cf36353b0000000000000000e2f59dbae8ea1c3b0000000000000000d71133bb9d20a53a0000000000000000000000000000000000000000000000001bba0f3b42266d3aabd5d53a27d4c839aafa1e3b20c13a3b1a41f73bd47a1d3b8eaac03a4c4d2f3b3afad83b21d9773bcb90b63a3a7d423b4d71023c578c663b0af2fe39a7ac0f3b938ecd3bfba2463b1fcf083a38762b3ba60aed3b7154753be745f238acc0583bd1eef33bee227e3b0440273a444ca83abbceb13b1de01c3ba8ee35b85eb5a73a6862873b4cd06739602ba33a12d7a3387124e53a1ffdc3bc473e883a8ae6e9b9ca08093b128df7bc05464c3a439688b984bf553a4e6fcebcfac89eb9aaded9b9bf3a2e3a6486c6bc6874e9b9d24953baeb6d8139b0d992bc66a09fb959042dba0b903e3a0f3587bc9af1013ae820abbac0b0833a60743fbc49147cb91393d5b94ec2d73a00b7a9bbf74b5e39ba826438dced513a0261a1ba18b8e1bc3464a2bcd734b0bb195ec43a4ca87fbdc0b001bdb73c81bb1441043ab09088bdc551f7bc164ab1bb1202173a683c87bd7758f6bc97a382bb865a7eb9371b4ebd5ee9bbbcb04846bb0eb8d5b8fc8f44bde283b2bca92030bb5d1a01babc1e0cbd556189bcc53104bb626d223a3ff8a1bc1ffc17bc36448dba0953e3b9301c0bbb75b03dbb395d9738e589a3ba79d8993bee3c63bde078883f78ebfe3d6e0fe73b93575fbdae8c803fa6dcef3d07beba3b3a3b08bdc007583f5cdbdb3d1ce2a33be28fd7bca65c323f2364bc3de19c5a3bcbb49ebc45ac073f4ef2903d91704e3b576cbbbcc154ca3e4b33453df731de3a5c79d3bc77ff7e3e7cfbbe3cc314223bf0dbf6bc3678dc3d7b72cfbacdd9a239e856c8bc4cb14fbc8bf993bc7d7f8bbc84e3973b00000000000000003dc677bce615be3b000000000000000086482fbcfdac983b000000000000000038cffbbbb318ad3b0000000000000000a4f4bdbbbd25933b00000000000000002e39f7bb52d38f3b0000000000000000747810bc684e463b000000000000000042ce15bc36b93f3b0000000000000000dcd20cbc5173153b0000000000000000a180003b8d50833a1612e83ad063aa3997b0ee3a5747133b0af4a23b7ca5263ba1128a3abbc3013b8ed1cd3b96fe5b3bfde4c4b7da40323b0b08f83b683d903b978603b9dfe0843aadd7ee3bfacb503b0172a838dfb3ed3a3994df3b53f38d3bf2eb523a3109e93a93e8dd3b833a903bbb3841b97f45aa397e1ab43bc2d34c3bcb2950b9fa36dfb85dbd663be3140a3bdd31823aa232e7392cc40c3b9cf2aabc18acc73a2e0b7bb8e201453bf447d9bc655b2c3aa36029ba0b88d23a2f41b7bccfd3da395f84eab80eddc1b90c26a9bc868b32b9dfe34dba5ab2de3aa23172bc37783f38003b08bac6585a3a99d860bc211c35bafb4f86ba5d42adba2e571ebc52e836b987fe0dba0487953a7ecb92bbbaae9db9388c03ba5a883a3a87bdefb9254b75bc808d71bce4291bbc04a8053b748e33bd1815ffbc73302abcc003003b6c1555bd8f0702bd4220f7bbef105f3a8c1260bd498506bd1a7ce3bbd9e6bb3933d624bd7a24c7bc976b9abb0f892839e31d26bd5e88c7bcf6da8cbbbba01cb68c9de7bc3a3390bc706156bba81b0cba865b75bcb6601bbcf836c7ba4fed94b817fec2ba6475d5bafd01aab9714f2ab96a8fd43b398174bd6632663fed998c3e15922d3c57988ebd1df95b3fb6e8843e3515063cfa443fbda2e1393f02bf673eb933f53b8b0f23bd83b81b3f63c7433e22da8f3b30a5e6bc5c7fea3e6768153eef5bb03b19e804bdade6b13eef32db3dfcb5b03b7d21edbc9b70613eaa42803deecd803b743104bde98fcc3d30c2ae3cf1f1103bf11cbfbc34549abb7c7c32bc44befebcfc2cbb3b00000000000000007bb70bbd31e5043c00000000000000007196bdbc97e9f23b0000000000000000d142a5bcbb6de63b00000000000000009cf86ebc3952ad3b0000000000000000296689bc0113b03b0000000000000000102779bc249f723b00000000000000008c0b82bc14ae863b0000000000000000fbd139bca886103b0000000000000000374d95394dd0573a65ca973a22ba2c3a83a7743ae4fb453a800f563b8c057d3b6d68983a26dfd63ad42ea63bc8a5a23b8b9c6f3af40a6a39a2decc3b8b55923b801002badf812f3aa295e23b9138733befa9ed3adff79d3a9457c53b07e6993b186164bad3708138c7e8ce3bb543a63b3d2f67b70908ea39206e743b742f703b968e7e370a56ef38c79b693bc04f053b6988983a783d203a93c9323b60f79abc2df3b73a50a8ea3847fe2e3bc45cb4bce4e4bb39c9d206bab3ec393bfccba5bce7728b3a5ad2b3bac82cac3ad0c88abc5358e8b99e4ed63872cef73a60ca5ebcda57e5b8b4e9b4ba2155053b837835bc6435ac3af6b089babe628339eda5d9bb4db14538aafec5b9c2e0653a252273bb85560db8396640ba07fd7cba088e22ba199b38bc3edb45bc543048bc38190f3b5aa111bd4e30f4bc55346fbce833243ba77039bdc8dc10bdcaf937bcc51cc13ad7643dbd571112bdb7d41bbcf388883a56491cbd8a46f0bc224600bcca278e3a1df30ebd0d3ddcbc0144cdbb87a26739d53fc6bc926ba2bcf5a18ebb8d7cb4ba398b4cbce25b3fbc6febdbbacec27c3a688296ba8a45c4baccab32ba0c58b6b79b63ee3bd71767bd3ae33d3f5a05db3ee0482e3c96fe88bd1c06353f518fd03e8277123cb86c4dbdcea41b3fde8ab43eba980e3cf7a529bdc0a3013f62b7963ecfddd53b190705bdb248c73e6674693e8bdd3d3b4f0703bd7359953e41d42c3e8518b23bac3103bdf1823e3ed3a1d83dd0e09e3ba860f8bce5f6ae3d67ae363d68a53b3be261afbc655936bb9ee1e0bbe2c42abd90d0c93b000000000000000080123ebdc168163c000000000000000098c713bdb2b10e3c0000000000000000cbb7f3bc1b5cfd3b00000000000000006887b4bc72dcea3b000000000000000060e3c2bc776fbc3b0000000000000000779eb5bc464ea53b0000000000000000789fb5bc1d38653b0000000000000000e04d72bc96c0283b000000000000000082f3853a4bf9143a2ef8803ab6966a3a5641243a644a9b3ae86a3d3ba2792c3bfd53c3391a3ca43aa929883b4e548a3b4ef2c4b911000e3b769ec03b474fb73b41b803ba7fbcd0b73e516e3bcc835e3b0fed55ba1942173b2395b13b8573aa3b6ff7dfb963330a3a02fba53b35868f3bc4440dba6e6265371de1953b52a9743bfb67d0b8dbc7cbb85d97473bd6b7133bd86ee3393772903952451f3be70684bcf3d1823a90fb7e39ef68253b3d9c9ebcfbb98a3a5304a838e747033b9f7671bcf86fc83a42dc0fbadad1ea39be3e73bc083037b95d296eba0a275837598d13bc6d5d023b0de58abaf1d245b8e0e517bc8006c0391fccdab9f9f3033ac993bebbeab293b991bc80ba94130339afa159bb5b3487b92043bab9bd23c738ae7f37bac0c529bce8f128bcb0d070bc3458243bf057eebcb432e8bc2bc88cbc068c323bdbf111bd230d0dbd072159bcafb1ea3a5f5821bd362123bd025c58bce9e5263b8e9fd9bc3f67d1bc6b5500bc7166df3a4377fdbc4764f1bc558a05bc50b0d33aadf3a4bc37ad97bcfcb99bbbd97c2e3a5c3935bc57c724bca94f2bbb42dc8139c548a7ba106365ba7068feb958376db89b8edb3b2e044bbdc650153fe13b153f3c0e223c78e964bd903b0d3fa3120d3fd149fa3b1e792abd19e7f03eee7af03ede00033c100e19bd9a9ccc3e03fdcb3e003aa13bca90bdbcd051983ed3c0983e2b5edb3b2601f4bc727a6b3e1c8e6a3eb9c5aa3bb4e8d0bcd8ea123ec90a123e9639893ba559d8bc7c69873d2920863ddf0d1b3b1f259cbc2c1966bb4e3984bb39284abda848e23b0000000000000000efda63bda527233c0000000000000000f3d228bd69d7123c0000000000000000d8eb15bd7ff3043c0000000000000000b97ab5bcc142d03b000000000000000019a3e7bc3659b13b0000000000000000e2eebebc5f00ab3b00000000000000006041c7bcb79a883b0000000000000000d8c08fbc643b073b000000000000000009953c3a3ade8e3a2656823a3e3c8a3a5c34d8b7a8938e3a230fe73a1112933b477ae7398f85783a026d773b0bceab3bb221c5b9728b5a3a6981a23b585be13b81294fbaeefd5339dc36c73b7adbaa3bc284e7b9df88173ad88cad3b8729c33bda4f59ba36360e3a489c8e3b25e6ae3bdfeacab869cd3db9dd3e843b4a9a923b938eaaba48a13e399ee5383b8f945a3b1801583a53a06f3afc41f33a3f1c5cbc1a280b3a9e21c73a8e8c4b3b08757dbc0097bb3a9183673aaba3753a4f134cbc745e493b412b03bb2ad43d3a4c4e3ebc0798403a5ed52039ed11c73a201812bc429b6c3a9f2b19baf4ca57b8fd67f4bb062b263a145eaf39e1faf6398309afbb64cdd2b82c80a0b9b3ed863985102ebb6a145e39d0dd04bbcc1a74390aa7d938903741bc0f1e41bcdb558ebc58da2d3b229eedbc05d812bdf217abbc048b6e3b99c612bd87ca39bd8d6b92bc372f1c3b438318bd571a3abdb2925ebc77f885ba8ed6fcbc404718bd77c53cbc3877c03a8feee6bc6a4a09bd4c8a1abca9ca01ba4bad99bc122bc5bca376d3bbc7119939fc8a35bca5754abc54a96bbbac4fee3a466139bb7eff59ba3f20cbb925e61a3ac903d03b676828bd2240db3ee1e33d3fbba3303c1a1749bd7aa9d03e7906353f51170c3cb45517bddad0b53ee6411b3f04b7033cd7f2fabc48f8973e089c013f0b98bd3b2d0bccbc1f896a3e2896c63ece35ca3b6a84cdbc03132f3ef559943ec310ad3b81c5c3bc4e18da3dad073c3ee9178f3b46b4bbbc423e363d959fab3db8c5203bc9c881bc28f5cfbb7b743ebb31d76abdf3b3de3b0000000000000000a45b87bda11c163c000000000000000074b74dbd62541f3c0000000000000000baf622bdbda3af3b00000000000000005ce900bd21d9da3b0000000000000000e62c02bdfee1be3b0000000000000000823befbc23e08c3b0000000000000000e56eebbcb2888b3b00000000000000000213a2bc01a8193b00000000000000006cd3a539a9e3923a9a7db439cc72033ba3184839c040e03a4133213b4c28ac3b103c2bba5e99c4399271573ba0bccd3b2652603a2d40fb39c3588f3b9871e93bc5185abaf78e7bb9b53c9c3b42f9a23b201b1bba98257e394a788c3b4be7013cbab3aeb9074fc438b241863b5070ca3b5bbf9eb95c6332b882bb793be672a43b439225b9015f42b9d8d21f3ba6624c3bc941b73a131ab13a1ce8fb3a2de52abc79ca293bcdb4d03ae3d0e53a210e44bcc5756cb899f641ba7ab3e43a391d10bced9fea3a7d09a93adc94c3375baa10bce07f263aa896303a8f52a33ace1bcbbbfa570d3b6937143a572849b92d62b9bb7ac34b3a107431ba8a8232b97f6472bbcf8e1f3acce851ba71a62e39be6000bb4df94338f0ce87b98a3c92b956821cbaee2072bc5eb480bc6d6a9ebc3d4a003b70c7fbbce48e34bd917bcabc424f2c3bf43906bd25934fbdfef79ebcec20d93aebe70ebd20455fbd09809bbc6ddb063b0d48d5bc30c322bd1a055abca5e8c43900dfd9bc527824bde45c4dbc1588533ac3ff95bcfa43dbbc9c7f01bc98095b3aa5d92cbc987170bcc4f084bb738b833af91106bb1066beba4d18d9b99cdbdf397090b63b85f9febc94d28c3e481a663fd57d043ca4e90bbd9d3d853ede925b3f7c0a063c764cbdbc0a7b693e09aa393ffa59df3b8fdcacbc6a86443e115c1b3f5a7ea23b11b279bcad36163e1f1dea3ede86b43b4d5e92bc5bcddc3d7965b13ec690953b117f86bc5dc4823d28885f3e72bb843b828f8cbcca34af3cf111cc3d31a21a3bd8444bbc718338bcda03a3bb4bbd77bdee58db3b000000000000000007208cbd1973253c0000000000000000ed013bbdafb1023c00000000000000008de221bd49a4fd3b00000000000000009f2acfbcab96cc3b0000000000000000ea93fcbc43599d3b00000000000000006b4be7bc5275893b000000000000000028cff5bc3140803b000000000000000057b0b2bc2a89d33a00000000000000002b2de939ab1d113ad703dfb97fc45a3bd08a05ba29fcc43aca13533ba0e5de3b122e5eb8cda3493bf235313bc39bf83b9c6c22ba1f978c390d23823b4a1efe3b830e22ba6bc4943810dd663b3aa1d33bbb3f80b9187f2d39b87d803b5b6ded3b8594ccba708e2d3a2131893bc45ee63b03b897b9eeb28ab9013e353bea76da3b8a7f93b913b6d2b9b0908739ec3e673b50609d395275303ba750e33af9f2dcbb93d43d3b3b5edf3acbba623a0230c4bbd34b993b6ee1613abad948ba915acbbba4e2213b9003ff39c582f8b9c81eabbbd726f33ac12be2b8721014ba50db87bb118e083baaca24b83bb8deb97fad6fbbd804383bb91505bac9cc09b90fa8f6ba8b73fc3954b9193a78de1cba1bfb9bba43c3043aa61bfcb9b1d55eb96ff48a3ad5999ebc5797edbc47efadbc08f6513a8d2205bdf8c77dbd01dae4bc79b5123bb2960abd19be8cbd0d53b6bc7f9fd33a41f401bd908085bd6b81b5bc462c823a5c61c9bcdebd4cbd702985bca40d603a65a0c2bc8cb743bdd9f676bc17fc933a85ec88bcca8710bde3de2bbc5f61b93a4f5c29bcbf8c95bc34f7afbb6a8bb53a313f08bb9ad12bbbb81da1b9448aaa3a9b74a03bf24c82bc7b02fe3db797883f8b80c53ba18483bc4d98f23d8c40803fc62ab63b61b62ebce4c0dd3d695d583ffd5ebc3b426705bc75f1bd3d86f7313fc165933bbaa3dbbb1371923d4a9b073f3802923b8eab06bcf529473d3026ca3efa75873b3ee721bc1ca2be3c35dc7e3edb642b3b8cb929bc5c9918bbfb46db3d25f6e73a4a480bbc408590bcc6ce5cbc945164bd2537923b0000000000000000848463bd7618fa3b00000000000000007f8310bd933da23b0000000000000000e008d5bc89f8a53b0000000000000000a56d9bbc4ce05e3b00000000000000008aa2b8bccd72493b0000000000000000b843cbbcc746153b00000000000000008cc4efbcc5f5f93a000000000000000015ccc4bc662c913a000000000000000000000000000000000000000000000000146aecb9bfe0803aab63b73a7670803bdcca1cba413e2cb705ea1d3b89a8a03b4fb701badae469b9bedf0e3b54d4b13b055118bae63a7ab9b38e073b31d38e3becd7fdb9efd397b97223223bcc06ac3bf328c739ac9f45baac0b403b1376913b32d839b97267ceb776ea1a3b3c748c3b0000000000000000000000000000000000000000000000000000000000000000b84ee63a2d49e83aa9fbe439a00765bb19b8c13ae5f2443add8404bae8ac07bb5949093b450f0e3a08217dba252721bb4956b13a30af5738c6f84cba515c02bb8dc4023bad3ea8384d288dbabc040dbb978bd03abef61b3a598679ba44a484ba3132ca3ab7a33db9ea6632ba9d8c4aba00000000000000000000000000000000000000000000000000000000000000009d7ae0bc13127abdb1b6c5bcf022c839a9e6c8bc7cb77abd63b9adbc212671392ccfbfbc12666abd5e129ebc92bdf4b7e7759abcb5993cbdad9f7cbc55a77c39200c8ebc875c29bd17ad5cbcd225033a56d352bc765603bd66962cbc668e8f39dbc008bc0a30a1bc2030c3bb668aa63a000000000000000000000000000000000000000000000000000000000000803f2a67833bf5d08d3a9f7dacbb618d893faa00883bfa1a133bd80c1c3b51d8653fde60723bd91b053b927b773b4d3c3d3f68b35a3b5aae913ac059003bc64e123fcd53473b6c6d10baab593bbb278dd73eaf04263b42afc4ba5eea1fbc0041883e843ea53ade2c59bb4d608ebc0242eb3d0000000000000000000000000000000000000000000000000000000000000000bafab2bcdb2f3f3b00000000000000008f7f1abc48c8453b0000000000000000e030b1bbcf9e223b0000000000000000648995bbe82cfb3a0000000000000000841104bc87db983a000000000000000002f049bc5ff4dbb80000000000000000f2b79cbc6fc575b600000000000000000000000000000000000000000000000000000000000000000000000000000000554022badd1f48bb7d04c8ba74184ebb97eb2fba3e4833bbcafd78ba769f37bb8934d3ba372238bb996577ba4cbf3ebb5f01b0ba7ce78abb280030388c4208bbd9ee6cbaf230f2ba5867ce3977fe16bb16664fb8a7cf1fbae76d003be4e20abbdaaf6e3919762bb9c127313bc5890ab90000000000000000000000000000000000000000000000000000000000000000c31182bbd43820ba36c491bbeb417cbca76080bbde4ea1ba5ab599bb2e186dbcfc098dbba44f9ebada49a9bbb1c063bc2b4e2ebbeaba15bb8e0acdbacc952ebc2a4178bb3f44a1ba475f9dbba49041bcbe0e55bb3a2e423a2f517fbb37ce16bcd9aac5ba06dd8139ba467fbb4fd400bc0000000000000000000000000000000000000000000000000000000000000000f9eea6bc0f6747bcbd95b8bb704ff0bacf8eb4bc5c2f48bcd56ec5bbd8ba1fbbb196b0bc03434bbc8212debb38db3ebb35758fbc975c3cbcb3e6a6bbc99aabbadbc58ebcfb8039bc2dc503bc40f4c9ba808951bc16c00dbc9be40fbcb1497abb5b4b18bc498803bc901709bcfee22cbb0000000000000000000000000000000000000000000000000000803f000000000921da3b6f04b73a4150763f38b0193cc56ad83bc509ad3b9956513f0c54433c0877c33b5168c43b9c852d3fb3d4473cd6eeaf3b013a913be80a083f92c40c3cd6f6343bd040b33aefc0cb3e4a86d83bf177813ac6ed19bb9e94853e3cf02e3bc67bb9ba44b806bc32d7003e68c642bb0000000000000000000000000000000000000000000000000000000000000000168f603c3651af3b00000000000000008c72563ccccfbe3b00000000000000007089453c5a37d03b00000000000000009823253cedfba23b0000000000000000911d063cd2cbc43b000000000000000025816a3b2767ee3a0000000000000000115a1eba726fc73a00000000000000000000000000000000000000000000000035490cb96e811ebbd2819ab959add1bafec45bb9ce1e34bba521ca39ca9bcfbad4f96dba304234bb8e69d1397c2a07bb2fe891badb0d44bbd30d783aa772ddba6092d8ba9cd32cbb55e40d3a851deebafec245ba0f6ae3ba50b2253b75418cbafe0e18382af4a6bae009403badd530b84c878238841e8eb93bc98f3b241c993ae5fb2a39d8543c3a2f17933bd819f23acb0e36bb70a8a73a05b253bbdb1858bc928d81bb2e6361ba09aaa9bb277a99bca95697bbea76c0ba66beb7bbbd2e8fbc5499cebba288b5ba6078d4bbc0428ebc57c088bb6fa9e2bac21ba7bbeca752bc2b9b80bbafc38aba0b6bc7bb86cc6ebc6d1d3bbb42e706ba0fdea1bb92433fbc7e1fdaba489268397df198bbcc2f13bcd4a202bb8e7b5aba7c481bbba13b6dbb527805bc00d7fabb82f5c0bb1727cbba3f4ba3bcfa755fbc91a30bbc7c4d33bb1aa9bfbc500973bcdfe20fbc2b3a57bbce08c3bcdac779bc87f01bbc516981bba1828fbc28353fbcc77c05bca5a867bb858e9dbcad045dbc5e872bbce62f8ebb383665bc06362abc6c1c22bc6b7c78bb782106bcc3abefbb579324bc8d115cbbe6c707b824f6e3bae146c0bb406b52bb5f72903bc27e3dbc51c5743f163f073e03aee83b11a80ebc2c595e3f983dff3d6565f03b94d7bdbaab293d3f8183e43d18ffde3b20732e3ae4551d3f150fc53d20e6933b8659ac39cf6ef43e14019a3d1406593b93e149bb3fc5b83eb2026b3d95466a3abd8ae5bbf33b713ec4a0113d13b4ccba3d9852bc455aea3d0c425f3c74f76ebb8f5252bc7d1cd5ba669da5bb2355843bd98f1f3b0000000000000000506f0e3c0335af3b0000000000000000696a2f3cd0ced63b0000000000000000e8022e3cae02e83b000000000000000044d7e63b7ea4b23b0000000000000000d4fbab3ba214a53b000000000000000064bf873a7727463b0000000000000000e8726abbd0ad833a00000000000000007360b7bb291799ba0000000000000000ef01a03aa7fc10bb0ef80c3b8f1d02ba662a5cba5d715dbb3a2d1d3a92b556bab0e9d1ba89dd5ebbbe0b1c3a81dc72ba77ccbbba4f3861bb69e08c3a120c79ba7002dfba5de835bb53bd5c3af28d8ebad24ab3ba1f6a23bba301233b617d1c3980a34bba2b3cd0ba9892453b1dbe563a22f901ba151b4fbab7bc9a3bcc0f003bca630cba45c404b9bf06853b5f81103b1df320bb585c47ba97763cbbc30844bccdba84bbfafa98ba4c028ebb81988dbcae2993bb7817dcbaa4f89cbb3b9a7ebc14da9fbb5fe5fdbabe87c4bb5d8186bc134a8ebb91bb01bb364399bb36be3cbc7c6082bb59cb96baaac1c0bb944b5fbc05954bbbececb7bab105a0bb46d92dbc119f0abbbf96d7b90e129cbbe38811bcf21351baa8949bb91d933dbb9f648dbb86ba8bbb20d69dbbc125e6bb6a1fe1ba1a6965bcfacb34bc8f6a21bcfe523ebb6c5490bc392c52bc9cff19bcb1ea4cbb104ba4bc91626dbc279c32bcb71993bb12ba66bcb25e2bbc42700cbc640773bb27c880bc75be49bc55ce33bc31ac96bbe35a2fbccbc30cbc138121bcf2d68dbbe3a8b6bb00edb1bb2eb61fbc06dc79bbcddd143a76592dbab0d8c6bbf5c329bb94c96f3b7c7577bcbcb7503f2588873e2715ea3b99bd60bc8bcb3e3fe8947a3e9c7aec3b1122d5bbdf20223f00055a3e48a6e03b160289bb5442083f14043a3e38c0963bc8522dbb73f4d23eb8e7103eb53d623bdc06ccbb7b92a03e542fde3d18fbce3a001e0bbc7b53523ee038903d28b567ba6ce560bcc20ed03d22bc063db6750ebb688e3fbcf896b63a5465daba8d0c3bbb08270e3b000000000000000014899b3a398bb83b0000000000000000ee598d3bc656cf3b0000000000000000cceead3b610dda3b0000000000000000a2e7773b2b9ca63b0000000000000000821aac3af72f9a3b0000000000000000a0d0d6baa99c363b000000000000000089a5c9bba345233a000000000000000026edd1bb640db3ba0000000000000000e4e664ba9de823bbe1fa6c391dce413907a274babc594bbba630ac3a80cb89ba796ce0ba322787bbaf4a363a28e9c0b9ff7be3bac72485bb0518843a474936b909d601bbe71756bbd548973a8d58c0b858bdc1ba67a24ebb666a153b581ca43ab17b9abafe060cbb3320593bbbe5df3a526c74ba7a8ea8ba8d7e923b4c0e333b033720ba336b0bba5c66713bbb96363b80890dbb6111c3b9ef5c15bbb0f92dbcd00c96bb3d9903bbdd5c6abb2e3e78bc8e1396bb3f21d9ba3d29a0bb20d77abca4e4a3bbfd8a09bb098cbdbb392478bc06e18bbb1d8213bb8d0daabb35c347bc19b77bbb872241bb3303c2bbd39d59bca16b48bbe1298cbaa60dacbb34ca34bc2f1719bb19c774baf88e92bb227214bca6289eba7f4347ba6ae73bbb140d99bb3d6a36bb415f29bbde70e2bb9da385ba855e2ebc3abe27bc86a33cbc8efb67bbfb0085bc884552bca46b31bc1a8263bbea5091bce8e06bbceb433fbce5b4a3bba89d61bc0a6733bca3c31abcedcc81bb30ba65bc6f4f23bc312651bcb0efb5bb079c20bc53c80abcc28d25bc584198bb56a291bb5f0c87bbc0e215bc173291bbe4984c3a2938d73945e7b5bbe41a3fbbeb3f6b3be2385fbc591c2d3f5237cd3eaf2de33bed6c53bc4b901e3f52c3bb3e6cbce73b984becbba23c083f4d88a33e1563dc3bbea2abbb6bfbe33ef5a38a3e80b9993ba48883bb1b22b23e23ad583e803f643b1c19eabb41a2873ec07e243e1973ae3a113e18bc1f7b313e73b9d83d39335bbada0e56bcd3e4af3d04a1543d6b36f3ba5d6a2ebc8355f53a39a8e9398fb8d4bbbdebf43a00000000000000008a0ab5bb7522ef3b0000000000000000a99152b81fb8e73b0000000000000000e57fa63acaf7e03b0000000000000000a06fab3adf09b93b0000000000000000cf0469bacf1b543b000000000000000023ab83bb68c01e3b0000000000000000a458f9bb39e5023a000000000000000073a9f9bbcdbbaeba00000000000000008ed462baf990a0baadc355ba1222b03a180096ba3fc982bb48cad6b9c25eb83a3379d0ba5d1d7bbbc3e887391cbfa138506b0cbbf81c86bbb1e9953abbd8113a905601bbbfa656bbf9589839303b7f36a52db9baf63755bbf14b043b35c7c23ad50ca3baf7c613bb6a3c173b7517073b8ce678ba3b6322bb80ea493b6bd7403b530e75ba8c7a3fba9028613ba1a2543b8f6823bbc1a5c2bafaeb3fbb89870fbc03823fbbb70d81ba6108a3bb63e55fbc53ad86bbfa1e17bbc11787bb85e449bc4e1f9bbbfe4225bb025eb0bb66cf65bcf0bc5cbbc792dfbaac2c85bb36821bbc806270bb4f8c00bb5d34b7bbfeb050bcd0483bbbbcd3e3ba627399bbd8e223bc411916bb3ee185b872117dbb48b503bc05a852bae62ba2bacf7d39bbaf0fa2bba5781ebb6857acba3c23f9bbb0d840bb6ae22ebc9ce417bca1f94abc8de724bb8b6356bc6a5443bcb01b2ebc63e874bb807b80bc6b2b6dbc0e1442bca8fca4bb03d12abc2a4e1dbc0d2205bc2b946bbbbda94fbc139d41bc0fce34bc1800aabb332607bc3f20f4bb5cdc12bc1b4f91bb14294abb5c918abb4b3a0fbcc1819ebb90a7fb39410d693a80e89bbbfadc4dbbacfa7c3beead2cbc4695093f9a9b093f5126903b81d621bcaab5fb3e1bcdfb3e8b89c93b190b7abb1bffd63e1c44d73e260ccc3b2cae53bbaaf7b53ec171b63e6294813b4e26ffba0e5a8c3e70ce8c3eebf1613b0c0aacbb3144583e32e4593e81cbb93a7c2ae5bbd2af0c3ec1690e3e256762b7fcfb24bcf17a893d05b48d3d9a17f9baef1317bcc1315e3ab2b6173b133d2abc0a110b3b00000000000000000bca04bc1e4ba53b000000000000000084663abb700cd63b0000000000000000dd9ab2ba9804e63b0000000000000000ada6c9b9edc8953b0000000000000000947038bb85588d3b0000000000000000a86297bb6f700f3b0000000000000000d27e10bc783ae93a0000000000000000bbe000bc6259b0ba000000000000000082a707ba343a17bbc4a48638c690563a86bf8aba6b097dbbbfa90bb943a83f3a1e70d0bafe7c86bb558ab7399b75153aeb0ca2b93bd872bb954a16bc4f46373b95fb13bb19ca6bbb067b1b3a1af6403a58f8c0ba3acc6bbb8b5ac13a3a3e133be04c8abaa10d21bb60ef033b5111163b5c17c2397b682cbb65f40d3b893d8c3baa96423a7d73fbba7ae9613ba8a0793bf5161bbbb29413ba87f0faba13b80cbc070c83bb8414b5bad5fc50bb60254fbc33bc87bbf3ad05bb570692bb29e953bcb50a86bb704fe8bacb398dbbd39f40bc02da7ebba62129bb2f688ebb0efc30bcd5156fbb029305bb5ab3b3bbbbb34dbc3e6bc0ba56e82dbadfcf9ebb030f37bcb9d2faba46d4babaa668acbb156a0fbcc27a49bab4f96ebad6daf7ba426fe0bbca0b8cbbdd2dfdba375618bcfc60eaba04383bbc63b623bc920859bc6b00a4bb121c73bcd7cf74bc74e551bcaad886bb99826cbc593b84bcc9b642bca14ca9bb49214fbcf4324cbca26c28bcff6099bb417355bc2b1f55bc72ff3bbc2ce3abbbfee91cbc3b4519bcec4b2cbce32fb2bb514985bbe84d72bb1e0408bca5aa9dbb8e1dcd39bf53a03a81ad91bbb0f352bb50134d3b9eccf6bba935cd3e9c3c2d3f2aa2c23bc831afbb9a34bc3e608c1e3fe5ddcb3b919dafbae3f5a23edc4f083f4e11c23b1026353a61b9893e0a3de43ef0048e3b5def5dbabe1b573ed57eb23e86f8643b9b0371bb34a9223ec297873e940af43ac83dd2bbe437d43d1eb9323e5b2d84bae7d90cbcf794463d7613b43d5b0e1cbbd70221bccd202cbaa3864b3bc90361bc13777e3b0000000000000000ad4e4dbc6d70f23b0000000000000000e0dec1bbdc0cf53b000000000000000056fc84bb88c9fe3b0000000000000000e5a00bbb8193ab3b000000000000000010ff79bb0b628b3b000000000000000075dfd6bb0ea8063b00000000000000003e901bbc700123b90000000000000000a5840dbc977bf9ba000000000000000009b4b5b907c70cbb5078aeb92fdf403ac23e51ba6b4c82bbc5fa34bade202f3adbecbdba06778bbb8cf5b1b95a01583a0152f0bae76a91bbd9a796b7efba853a8dbfdcba1beb6dbb6479a3b9979e103ab39da5ba115474bb5ece683ab7b41f3b3eff5cbaa04a27bb1b55cd3ab4cf3a3b65de8db9886dccbaf51e303b916b873bb986143946bef5b939a83a3bd9d68e3b2d470cbb4d80f3b9b281ffbaf654efbb77ad5abbac7470ba562d66bb2aa13bbcdb444abb90bf46bbf4b586bb727f30bcad737dbb66b5f6ba05a8acbb83bc48bc544263bb2ebc09bb26678ebb647f1bbc031648bbfdb3dcba3011a7bbffcd45bc7c6e1abb0ddeafbae51c8dbb7a792bbc812aceba3c074cba04127fbb6da625bc2e51f3ba746dc9ba3e05c9ba2475adbb1c57d0bb8ef15bbbff2b23bc1d0b1ebb35ca5dbcd6b755bcbac16cbc0ff978bbc8bf6fbc18ad85bc0e5f65bc25af6dbbafa885bcc67e9cbcc20864bccc17aebb9d0940bcc42f5cbc9a9623bc28658ebbaa3e5dbcdf8a76bcf02244bc74dfb1bb22eb1abc318f25bcb29d1fbcab4b9cbb179bc3bbdee4a8bb64b906bc45fd94bbe88482b8762be43ab6dc4cbb1c0d7ebb6ef62a3b333529bb8eb6873ecfa5503f8558ab3bf53f153a28197a3e9ad73e3fe105ba3b2556573b7d51593ed335223f97bdb93ba6c1743bb86b383e8351083faa26833bb6d0123bfd650f3e1553d33ec72e5f3b248b29baacc4d93d7027a13e58d7e73a28066fbbb2288b3d9339533e40d418b924bafdbbf59ef53ca118d23d45e508bbefc8cdbbd86296bbd067cb3ac3776dbcc74e773b00000000000000003ed056bc5edaf33b0000000000000000174e98bb62c2d73b000000000000000038c913bb6e41f83b0000000000000000a6b717bac980ab3b0000000000000000fa1d54bbe03a8c3b0000000000000000088fbabb6123093b0000000000000000db7026bc5c7ee4b9000000000000000063fd20bced8235bb000000000000000077b7e939d02717bb4582a3ba03cf063964a980baa55964bb053aadbad90efc39a17f70ba68cd8cbbb2eec9ba2ab38c39b755b3ba6adc97bb563a8ebaea11d639b5f3c2baf50978bb250ea9baa06cc739047844bab80367bb9da68bb97cb8fb3a034682b9ff9419bbb7ad523a05cb4a3b6dd3db39616a96ba817c053b2b828a3b97f105ba09eda4bac195ad3a0606a83bd3ad12bb9086bcb9ea38cbba2d65c9bb9ce74cbb2f6204ba0d644dbb5e8420bccafa54bbaaa599baa4e98abb134529bc9cf360bb162cd4ba83f0a7bbf6543abc692842bbf2bee6baa17886bbfaee16bc81ea1ebbefe0c6ba15c59dbb2d3d3ebcf875d4ba82040dba8c3c8dbb960833bce23d50ba8abb0db99f2463bbd61828bc93c1823ae85f39bad5553bbbb774f1bba6781dbc6348f5bb72c130bc5d2158bbe25c88bcebc39fbc5d1e80bcb15d97bbe6588bbccc18b9bcfaf26ebcea629ebb94e68ebc16f0c2bc69fb72bc43c8b2bb555653bcb73d8cbc502032bca5b390bbe6f86dbc161398bc3ea24ebc7a0cb2bb246e39bc101f5fbcf3e22ebc4ca39ebb9483fbbb57e601bc66b50abc005190bbc3c145bb51e89bba4ab437bbaa085cbb2fcf413bc58b893bf443073e3d87743f14b9a93bc9270b3cac06fe3db44f5e3fbc69b93b1b5b1c3ca921e23d640a3d3fa808bf3b825c153c3df3c13db17b1d3f41fa903b5094bc3b14cb963d72bcf43ef4b2703b12574a3b0c495f3d91f8b83ec493d03ab60b77bae681053d64f7713e105fcab9821eabbb74c6263c56c2eb3d93e3cbb984cf9dbbadd3fbbb4f3d82ba0a7f3bbc94f57a3b0000000000000000131900bcdc9af73b00000000000000009cf2ceb84dc4003c00000000000000001891303bdc37fb3b000000000000000081a8323bb10caf3b00000000000000002c6dd539801f863b0000000000000000bafc72bbb22cf23a0000000000000000cb4015bc0c6d6aba00000000000000008cfe1ebc5a1832bb0000000000000000000000000000000000000000000000008dd2d8b96f5f6abb34ef2bbb20e69cbaf6cd74ba50cb67bb387618bb96df91bae8184d39b74b86bb362824bbcb3486bae0616839033f7bbb7da543bb0533f1395c4022ba65c544bb90dbc9baf51b003a1d5710b96b60f3ba9a3579b9a551d03ae0f0033a7c719aba7b0cef39cc10353b0000000000000000000000000000000000000000000000000000000000000000316f4bbbbdc61cbafd2340bbb280e6bbc94e4cbb3e8bbfbaf7ea46bb04deeabb937e50bbd088feba3d688dbb61400abcee31d4ba59de03ba10d739bb571a00bc1bdc09bb32a196bacb5866bba7f70dbcccda94baada77937b88861bbb5840cbc0fe203bab4ed2eb9b2fb3abb4b560ebc00000000000000000000000000000000000000000000000000000000000000007e9c76bccfb9a9bcb37c58bc69c487bbe68464bc2cb3adbc9f7a42bcaa2286bbb2566abc78ccafbc105043bc13b98bbb58a643bcb33f8cbc16ad2cbc045a2fbb3d1743bcde268abcb1f226bc0c3689bbc6a925bc11f55bbc055b10bcf17779bba7fa01bcb8a314bc05fcf1bbb02c75bb000000000000000000000000000000000000000000000000000000000000803f2ca4aa3b937e5a3c6f87103c897e763f0d20b63bbe63423c0dbd2f3c68d3503f2e5e9f3bac34293caf222e3c60de2d3fd60d293b37caec3b4c55ab3b6337083fa454603b1cd5a33b05299e3baf02cc3edf7dd13a8de4d33a94792ab922a3853ee2574ab909b50ebbe895c2bbfbfd003e00000000000000000000000000000000000000000000000000000000000000001770fa3add10e73b00000000000000002c4fc73b05bddb3b000000000000000098fff13bb203d93b00000000000000003a673e3b8826d53b00000000000000003101823b5b1f723b0000000000000000ae14a6b8f6169cb900000000000000008319a5bb46ad33ba00000000000000000000000000000000000000000000000000000000000000000000000000000000fc83cfba5f4543ba744539bb7a108bba3597a6bac50ae0ba786ce8b9e63bc3bad765d9ba57dfc9ba182b00ba0dc2cbba8a6942ba29bd48bab9ab99b9906e85ba9e2f61bafb5196baeb223eb75f079aba6e4921baaea549ba76065539734666ba5d72f9b97bc124ba1152313a16f31bba0000000000000000000000000000000000000000000000000000000000000000f0a2d5ba76878abacf85e2ba60cbbcba8265daba408da0babb4e8bbaa8f2f7ba950ad5baa05f91baaefa04bbcf0031bb82b5acbae82251ba1c79fcba92ed11bb9c06babaca2241ba460bd4bae8c73fbb5f3a59bace09b7b99d3edeba574b2ebbff961aba1f4b35b9e9f6d7ba020211bb0000000000000000000000000000000000000000000000000000000000000000e68492bac04de5ba2c1500bb9a589abac32fdfbad455b3ba2f04bebab49985ba20a916bbb9be03bb3c900cbb0b22adbabd2ac9bae74503bbd10b08bbb4fb3cba7637f8babe5833bbe58633bbce1ea9bae6f01fbbe2a01abb83941dbb370f8bba7949c5ba412b01bbaf4216bbdada86ba0000000000000000000000000000000000000000000000000000803f0000000010552e3bef51833b7953633f346fa73bd831df3a31b6693b5c9a423f965d933bce9e083beef6783b8c38223fe443823bac88183bd64d223b6684013f613f5a3b43884d3adb75e93aafbfc23ee2ab303bc953e8b9ff8336ba8828813e3d67e439b5ba17bacdb6c0b9b791013e41503fb90000000000000000000000000000000000000000000000000000000000000000a1cb933b1fce163b00000000000000003e566a3b0dfc2e3b0000000000000000bd414f3b5817213b00000000000000003d531e3bc3bdcb3a0000000000000000f6c6f23af044893a00000000000000003f764cb9e8e8a73900000000000000000c4838ba234dc3390000000000000000000000000000000000000000000000005245fdbaf53a07bb918a8c3aaf8eb6bafdadfdba34ff09bb1ee260b6b8afaabaf7c401bbbe6749ba5fbe123a801c1fbbda9ee5bac326f3baffeea4b93620cbba8db891bad098ccbad40600b928eb9dba9460f2bae0a608bb3dd338b9c39ae8ba5e1591ba54d7a6ba2f74143a91de60ba340906bab5c844bac391363a796065b9d876c2baa75472baeb2e133aba23c8b96f1753bb23f19bba01bd2dba11317bbaf09101bb8fb6c5ba1e8b27bb14b862bbe334b3baa5258aba0f732ebb871472bbaca911bb6ef8bdba64f615bb2f957abb27b2daba04c47dba04dfd1bab2462cbb7e335dba918522baa97d20bb529282bba42bcbbacdaa5dba63ecccba500f55bbaa099bbae512c0ba865d0ebbfde74ebbdd987e3909d8193aa53fe2ba57b3a2ba534e973a0fda0abb98a6273ad41bb4ba9bb95dbae8f204bbbae634bbee2cd5ba2bdedaba2d4c2cbb41fc56bba87367baab17e7bad0282fbbb95053bb8c0eb3bad42da2ba59d701bbf6f21cbbeda17dbac3f307bb60dd55bbc82609bb971845ba3c98a1bab92d19bbfdc044bbd34d78ba4f3546b9f02fcdba91152fbb11549aba78143139c67b9bbafc7f8dba8912913a3fce023bc4173a3bc5e3623f9918043ef50c1f3b379c6a3b90ef473f60c2ed3d0180b43a0543613b01432b3f14abcc3d2b84033b3b36603b49040f3f05bcac3d43ee393a82d20f3b11a2e33e1cff873dca883b3abdd9bf3afaaaab3e4a454f3d775b183a8f6d373a404b653e6ba10b3dbf6686baab09d1ba6ae1e73d5587863c46bd92390f56baba3f38823a59bb52ba6b2e583b54d04c3b0000000000000000ba3e8b3b996c2f3b0000000000000000ca85723bed792d3b0000000000000000df8c793b087a2b3b00000000000000006a25073b706a883a0000000000000000dbf5c03ac377353b0000000000000000b761923aed6ea63a000000000000000030d187ba31f4dc39000000000000000089151fbb01e3e739000000000000000074591ebb12560ebad0233d3a46b249b8c218baba950519bbcdbf163ac9fe3aba02c1d2bae77ef6ba90841db91d6c85bad88cf0ba3d1b23bb67308ab8e7d9a8ba1067a1ba35a9b6baceb3c6b9bcaf8abaec101339524ac0b9e3d74db9b748bcba3e5ea2ba7ec897bab29a5a3aebbc0bb941dc80ba5c4e9fba9fdd943a106b1b398911a7baec8986b910bbc83ace3722b934f296ba00be35ba802364ba0a36e9ba2ed43cbb84efb7ba3e6c02bbc53994bb005e06bb96c2bdba675008bb359c43bbf49d2dbb3286c9baabfa2bbb151a81bbfba327bb1d172bba29f100bbe03723bb13832ebbe44037b99fd217bbc55b82bb562ea3ba201e55ba7119e2ba224a4bbbaf6c8fbaaead25ba739505bb62d555bb34f686ba79a2b0b9d5bb03ba60814fba0628923a3feeeb38e2d8e8bac402d4ba92f1003a5955f3b900710bbb24970dbb7b6758bae31fb6baf5b322bb5bb0d5bada78bdba9d1716bb044fdbbae2db07bb33a5f2ba6be250b9983601bb69b107bbbe21d2bad5a121bbb4517dbb9fd322bb32aa71baddc3e9ba2aa240bbdb59b5ba1738a5b912f1b9ba4e5a4bbb944ac5ba6276d33acafb743a970262bb9951c7ba034abc3a7190ca39df5b423f0051823eb056b13a19afc33a20ca2b3f59b0683edbbe073b72632f3b59da123fdcdc463eb50f003bf929323b6fe2f53e1863273e3187533a3723d43ae2fcc33ec3be053ea60717b99f62743a14a2933e4944c93d68dc51394f6895b85ba7443e22dc853d30028bba2e8dd7bab7e3c63dce0e073d6e13a6ba7d5c94ba9639153bb843903a7f9eaa3a19c9933a0000000000000000ea12793befc8a73a0000000000000000b6714c3b5fa9013b0000000000000000cf0fa93b94dc0d3b0000000000000000d0af37396ac2d93900000000000000003256833a18867cb90000000000000000dec9a7398ce03f3a0000000000000000779b8aba6de466b900000000000000000f7e60bbbe0bc7ba000000000000000030cc81bac07da3ba091b283aeeccba3989e2e4bab8a309bbb343ed38193dcdb974a71bbba74815bb1fc728b9ef9134ba348317bb4555eaba458b67b882154fba5708bebae88bd6badfa42fba5f522d3b1ebcccba75612fbb85eb37ba9ba7c0b9ff7a8dbaafec6dbaafb25e3af9023039d55389ba7ebacaba2d6dad3a44345d3a9dc33a3795388dba40072f3b577e063bf4684dbae09873ba214f4abb54e007bb9f8705bb7056e8ba539d1abb0c3b61bb3f8effbab3e7c3bae39939bbaaf872bbba38e7ba0e1ff3bac1e4f3ba7e0e84bb7f434cbad0f37eba3ab83abb8e8f72bbc89510bbc749c6baa2d00abb6bf064bb5ae89cbae0b347ba8abb22bb90d66dbb8c321ebab2e8b7ba1b911abbd5336dbb59603ebb01eafd39a2f441bb5714003a35802e3acc59f4394e33ddbacf7da1bae5966bb9eab61cba30943ebb9beb01bbf60181ba65c898ba88b62bbb9356f2ba48cfb4bab576e2ba132265bbcbbecaba0aa41539f599c8ba03e832bb2ad6e2baf36986ba0f37b4baf0ac53bb35bfe9baf92aa3ba584bcdba611957bb8857fdba965d3fb973b14abae58348bbd28f02bb78c3113bc026a5b98b0521bbd137aebab0f0963a229f723aa7f5213fe2e6c23ef015fa3a7681233baa500f3fe1e5ac3ed743f73a585d313bd0cdf53e02b3943e044db33af5a5193bd193cd3e70ca783ed9e3f53a1b34383a4304a43e09f4443ec8c53e3af7f49c3a8479773eb23e163ef16a53b9e567adb938a1243ecfe5c73d9c62b6badd5b17bb936aa73d41dc4c3d670abbbacdb918baa03d2cba7c0213bbc5b7393af057833a0000000000000000e3f2443b8f840e3b00000000000000004bbc683bcb7e213b00000000000000000903303b4a3ba33a0000000000000000dc36b83a23cb713a0000000000000000ad35d73a680ba03a00000000000000006b3c9e38962c38390000000000000000d8a332ba98d9bcb90000000000000000fcd2ddba78d657ba0000000000000000927d5aba193821b995d2df3a82d093bad085fdba6a950ebbdfda0b381dbf68398140c6ba4d570dbbfadbeeb922ffd0b94265d7baa85cfabaf890ab39f20f7739cae9b4ba5664d1bad06a77b90cec0eb91b32afbaecdcc1ba29ac3239e68afc396d1b82bae4e5a3ba6553bc39213f1b39c9867cbad0048bba67c6a63a69a2a03a667e96ba1ab29bba1c4d67ba9e8eed3a043f54bbd19290ba7b603ebb05b2f8b9dd80f1ba04e5f2badd0407bb21695cbbeb4104bb9aab98baef9c30bb14a121bb4f5464bb368b47bb121211bb709969bbe3c906bba6979bba0e77adba34a257bb13acffba9b81bdba2a8e15bb343c78bb69ab86bab33c2aba6b1703bb01983cbb7875e4bac6a532baafa00abbccf73abb760403b9efb718ba049f013936f4d0b96d42afb8d1bc39373a9d79ba9e1d19ba72590aba5e3e26b9102c0bbbe7270bbb9fb40dbac9ef4bb9620b0dbb6a451fba087ba7ba04e47fba43b440bb51aaf2bab7a4e4ba0bbcd3ba90d94bbbc515ce396eead4bae704a7ba25d565bbe9b328bb4c8072ba4e165aba890926bbca01b0ba8be562b902b1b5b8e32f1cbbf38e03bbf83d483afc69323a68c912bb97e0adba35d8d23a5b233d3b3086013f4dba013fb13dca3a5f28133b4f66e53e8479e53edd44873a1613823b1e2bc43e2f45c43e33f4d83a65a81e3bf0bba43e25e1a43e6259f23a2aeb163bd32b833ec549823ee12e113ab32a423a4e17463ed670463e874186b9981b6eba370e033e4a60033ebe95a6bad31aaaba835b843d0d38853d25b381b93088d8ba7c5685395783da3964f5493a590c2a39000000000000000003cb503b3827ed3a00000000000000008a420c3b9e80b93a0000000000000000a9cb413bca84093b0000000000000000d9cf0c3ae6eefd3a00000000000000002fc68f3ae2aedb3900000000000000008141c3b96bab043a0000000000000000796dd0ba48c885ba0000000000000000036b2ebbc48d813600000000000000001bf638ba968495bace03d13a0bbb2eb9e437c3ba997809bb78a525ba6ac6033aad4edfbafbd101bbcc4118ba560108b9afddf6ba518112bb9c1dd4ba53504a38330b5dbada02ceba58b1c5b994879d3a3c0b00bb9e26c2ba81f4e53962aa6c3917ab2bba04ef99ba46e37939674dc239f8cc51ba1f69b9ba29c10d3a063d963ae51ee4ba1e6285b72fd0b73ab79ae13a18df0cbb2b22feba65e1f7baffe66eba3ed4f3ba936de4ba425a23bbd6586fbb3198e4bae4e3dcba7c3f13bb21fa72bb9eacf5bab5e7b9ba6eee3dbb38a04ebbe6db89b935cd8cbab13342baf47c62bb2596afba95d7dbba4963ddba72ae8dbb02aabebab183adbad85dffba2b2259bb037c90ba841851ba7126f5ba48335ebb7cfa2a39c4c9ddbabae82bbaab0bd4baf2417f3abe1386393c2dcbba783626b972d29eba940f2db6534047bb041307bb53d6c4ba447d38ba5d4c41bb43d80abb98ad51bbc338aeb99b6a91bbab5214bb3d8302bb8cacbdbae7a24bbb238910bbf73b0fbb5038a7bac68266bb6d6f68ba7a82e2bae83c85baab2e55bb4ce012bb70d78fbaa96a33b912d641bb2800fcba23206837f722443a6671f0ba8983fab91a623db95bb1133ba6a7c33eeb54223f2040dd3a19f85d3b3ccdac3e0d560f3f8813103b627d363bd652943ed3d3f53eec8e5d3a3534463beaff783eeddccd3e253d8a39583d4e3ab0b3443e3233a33ef5b0263aee0d80396b37153eb641773eb2335039fe200cb9ebcdc63d170e253ed16453ba31d7dcbaffe9473dff45a73db4358aba6878ddba9af1e1391e2abf3ae4879cbadaab9b3a00000000000000000e4b263bc01f0d3b0000000000000000521d403bb932163b000000000000000030956f3b5514b43a00000000000000005ebbb53ad2588d390000000000000000b5b99b3a08a36f3a00000000000000005b28e338a93364380000000000000000bdd992bac7fe33ba00000000000000002271d1bad0f849ba000000000000000064094bba15ece5ba88936fb9a76aed399de4cbbadc8405bbd0c43fbac223cf39d0f5cabaae040cbb8d1c61ba0a6c4c37c42880ba98ab01bbd0814dbaf6ac4a39982dc6ba1bd0f4bab5824cb82a4a513a01ea8eba22828bba184c9dba291080381e5860ba94b4c4ba19a087b9dd3a1d3a236359ba649f27baa653f8384b24863adb6128baa42a74ba20c0a439942aab3acfc095bacf599bba859892bacc5314bb4933f6ba9248dfba331300bbdb484ebbbd9ce7baedfab9ba0512e9ba3e8754bb96cb49bb841809bb5e95d1babf5d2bbbd61d42bb1bc1a5ba96e7d2bac83432bb09f9f3ba0c0094ba65392abb42c51fbbad86a2ba117060ba30ccd6bad2b851bbc8400fba66a669ba5630adba5a684dbba294acb9c90bf5b9540f30bafb91d6bae785cab7aa5dad3a090ac2babff118bb0c20c7ba8fea3039c2623abb44aa0dbb1f7405bbb49455ba0e0937bb31a2f7ba6f8084ba127bd2ba2f5b6cbb5ea137bb36145aba4130f438f6b820bb2ca5e6bab6ca3dbb1f72d6ba1eb272bb17c417bb2477f4bae3e349ba90bc2fbbcfcac8baafb4b8ba516ddd386b298dbb059da1ba8c1f6db848d0a03a5a3684bab3001abb756aef3ae7dcc83ab2c8823eda7f423fc2ca093ba3844b3bd7fb673e94a52b3ffd30fb3a74ef2a3b5189463e49e0123fa385df3a9986893bfdd6283e8edff53eb464d53a2f39cc3a566b053e6d02c33ee0ff1e3ad5911a3a2186c83df5bd933e5519013994a150b970c5843db0b7443e07702bbafb839bbabb48063d9a4fc83d18a73dbaa531c8ba526218390b03f53ab2a98b3a7584fa3800000000000000008cdc393b4e49073b000000000000000019ae343b6b1f1d3b0000000000000000d8c1493bb0fd933a00000000000000002be8053b5ea8933a0000000000000000d684c13a73f3753a0000000000000000b434f139af74b63900000000000000005bd110bb0f6c43ba00000000000000000a3090ba243c21bb0000000000000000959448ba1f57bcbaca8702ba9147ac39196fbbba6aeff7ba824e91baf1d583397829d9ba347d0dbb09d0beba367860b91090cfba72f12abbf2a8deba0b23cab889d158bad24d09bbaa79a7bad4189eb9000d74ba8fb7edba36417cbafc9fb139001273ba2af291ba67f508bbb9029a3a1dc11bb9d3b32fbbfac4da39f14ff03aeb8bb2bada5a183a9dd9963a39c70e3b78ddafbad75eb5398344deba575e43bb016ae2ba06e7dbbadd38f9bab0954abb57f7e7baacbbddbad20006bb5b3d6cbb77fbd1bada719fba4eab1dbb000f71bb25f983ba367466bafe03abbaa3112bbb2f0cc7ba1e74a2ba3f13e8ba672484bb145485b8d6727eb99d325cba66c510bb662f14bb3cbf2fba7bbcc4babb7daabb7f299a39fc5a15ba0615c8ba392930bb82d2c9ba0bff67397a54beba1ee60abbc8bc1ebb507e04bab5f43dbb96ed21bb103e45bb3a8ec5ba3afc57bbd00817bbe8fd44bb686ec3baf97c42bbcd09ffbafba907bb448a6fba1d6a02bb1c9fb0bac79055bbe0fcecbac87c63bbebf0ddba07c05ebbac234539a2d95fbb25e905bba13ea5ba2cdbd539c40d36bb773ffdba3b6fd0bab57d2cbad2445cbb82e70db937fa4b3a936fcb3a3fcf033e04a2623f1fb91a3b595e7b3bf4e5ec3d05fd473f13e53f3b1b99543bd884cb3dbf852b3fca8cbe3a90e24a3bd3e7ab3df50f0f3f6fb0383a5a5de93a288b873d8dace33e82e3a43a88d7993a08f24d3d6abfab3e638d7b3a2b1ee5b971e0053db898643edafca3b910bf92bab1718a3cc79ce83df21d023a3d201cbb21c528bb8b9459ba80fee13aed204f3b00000000000000005a85633b09a7153b0000000000000000ac71583b4ca2ce3a0000000000000000d7cc843b16a9283b0000000000000000ac2c273ba338993a00000000000000003ae2083b50c3af3a000000000000000003480f3a5ea483b90000000000000000291315bae98d23ba0000000000000000819f75ba00cd1bba000000000000000000000000000000000000000000000000b9ea8bba7879c7bafd91c2ba8961e7b95d537aba0a10b8ba1495a2ba3700b3b94df29cba75f204bb72f8cfba9febe7b9d57940ba00e11dba22f91fba17599839576b69baadd1bbba7403c4baee3153ba8ec8e7b965d581ba94e73dbaedabc0393ae4bab90c05f3b7793664b9516cd73900000000000000000000000000000000000000000000000000000000000000004af4c9ba3ecfcabac1e4a8babc3b23bb64b3b4ba6d2ab7baa8fb0aba93cf05bb1793aeba3a028ebade91b7ba7c3528bbfbd42dbbee9112ba9f7996bad04507bbe83dd0b8655a7dbaf6908cb886af6bbbda9928ba95ee6ab91d6466ba3cd93cbb89c3f4b965e719baaa2d5fba261930bb00000000000000000000000000000000000000000000000000000000000000006d6f32bb6342a8ba6e73c8ba3260e4ba38ce03bb1bb864ba78c6f9bafd3d46ba6b2829bb3422d7bafaa619bb7384cfbaab5eefbac408b2ba4c9f81bb26c6cfba15b4d3ba8d162ebb2b4e1fbaae38e6babe7c2cbb11f9d2ba29e720bbe0a3bdba2ab213bb64dff2ba83ee46bba00fe7ba000000000000000000000000000000000000000000000000000000000000803fade02d3b8e7b7d3b390c963bd93e633fa2d7493bfd88103b17d9a93bfece423ff438d83ac093523bd1328e3bc56d223f121a9d3a35560d3ba54a503bff92013f2913a03ac1d44e3adbc6de3a257ac23ea57420ba5e1fc038b4e2403ac59f813e95198539d95331ba0c9267b9ca11023e0000000000000000000000000000000000000000000000000000000000000000df22983bebc72a3b0000000000000000b976933b6d16493b000000000000000051c8823b457a0b3b00000000000000006148183ae050753a0000000000000000d229203b59b5ad3a000000000000000025dc673aaffbd53900000000000000002a479ebaa6445b3600000000000000000000000000000000000000000000000000000000000000000000000000000000439c24bbd128313c204e863ccf2e3b3c0b8b3a3a06cf393c0b23883c528f3e3c321bf93aad9f183c24525d3c42d91d3c6d2ced3a618f0a3caac1423c2838fd3bce71ad3a1084bd3bdfc71d3c6a15dd3b8db59039ce5d593b4b890c3c519f993ba78c83ba63888c3ae6e6cd3b4fc28f3a0000000000000000000000000000000000000000000000000000000000000000ef7e173bf8560abbb2953d3bdff2f4bc0614513b4f4097ba70ed71baf64a0abd04c6993b5f742c3ae7f165bb9d0012bda67a973b9b391539ecd33dbb3aab00bd4832613be6896bb9785a1fbb2974b9bc8a2cc93af93976baa74b9db909ba32bc368f443a8df095baf5ed5c3a3a044e390000000000000000000000000000000000000000000000000000000000000000f7cd05bef4d70cbde321aeb92a78603a1d4301becaf51ebde25012bb9e3e8eb93d84e2bdd89e23bde8a6babb9cd3e2babc34bebdfc8313bd7050c5bb508613bb072a97bd4082dcbc47b95fbb674528ba6cfa55bde66a84bc38149e39296aa9388dfbe3bcf5c45fbbee2db43ad331883a0000000000000000000000000000000000000000000000000000803f0000000007fb563c97f28ebd98ee9e3ff80457bd5ef9063ccead11bda07e833fe60098bc357ae13b5b6086bc7b6a543f2ded0a3a9f10673b40281fbc6eef213f5088c93b9f66043ba4e623bcf72ee03ed0f6623bbab5e53afb6864bc581e803e65eb92bb296ae63a2ce2a6bc5757923da5b071bc0000000000000000000000000000000000000000000000000000000000000000abb3143c6ea646ba00000000000000003a24ab3b21a2d9b9000000000000000038e7ae3b1cbb6c3a0000000000000000e3bb183b8ab0e23a00000000000000004b64aaba59cec83a0000000000000000d90913bb8a261f3b00000000000000002a8d10bbcee43c3a000000000000000000000000000000000000000000000000fbd26abb2c58b63b5530093c3e769b3b076ed1bb752b4e3c531bac3c60e5473c012622bb68c8593c7379b93cd848733c6b8e6e3aef94473c93dd9f3c57b0623c4291e33a9b801a3c18fb7d3c2b5d293c33eb9e39d30cff3b77a66a3cecb1063c2d1408bb93b5983b5eac2e3c4076b93b33361bbb08a892b96884ac3be4db6c3a8b7c92ba1c7831bbc0bd103b59a7abba27e0c9390834c2bace8a1a3cc5c0abbc8050b03a9cea6abb29c1463ce2a3c6bcfa87733b0c33aaba3ab9b33b07e30bbd66cf773bbd801a3986291f3b509612bd85d2b03bd48cdbb94d7595b928fffcbc380b6d3b5f1840b997d30a3b02b0b2bc547efe3acbc89fba466c363b23db10bcd6c30e3a1341b0bade27c03ae020993bde78a6b9ffb9beba5b178c3a8a612b3cd9ed94bd2c3982bc502f7fbbd3d46c3b84320abeea7a07bde3e079ba3c97993b589e12befc1548bd77dbddbb4f7ec53a50fc01be8ec353bdcea800bc9a50c13887ded1bd694c33bdf756fbbbe5f884b8d7bcaabd2fc70cbd958ebebb09366c392a7068bd1fe1a9bcd72550babe37bc3a63e0cbbc9c8540bbb05a8e3a2c010a3a9b1990ba5372c33be4ff0e3bbcaa0f3b0ab7843cf1fe08beb9429e3f4608983d42639f3c76db10be6fb1973fab38853d47b5583c2709bfbdda6b823fbbd3b03d2a2af93bbdb47ebd6360513f991ab73d986ac83b1a462dbd359e1c3fb7a79d3dcd85ad3b90b518bda496d83eb724683d25e2ab3bfd290ebd5ba6713e58be013d541a2e3c08fbecbc3191803df556013cb9aed83b1540e9bca0076dbd19be8cbca8dba6bc378c183a00000000000000008a529fbcd0173dba0000000000000000614271bc4ab7ac3a0000000000000000845d42bc62c59d3a0000000000000000041638bc06f8cf3a0000000000000000ffa042bca37ed53a00000000000000009c616ebc083d643b00000000000000002c0c17bc583daa3b0000000000000000b4c60cbc67a63b3b0000000000000000a0aff7ba1b398a3b669bd33b9fd3913bbebd74bb1a632c3c281d753cb52a273c728f3e392a04313cf51d723c67de403cd8ebe3b9fe9c3e3cef657f3c72d5653c6e24863a857ef33bcef9433cb8b11b3c421544ba1dc1c63b573f4e3ce1900f3c0b486bb914162b3b3e450e3c9919ae3b335f02bb8bd92039070d9a3ba945373b7c7cbbba67b602bb67fe9f3ac96348ba0f16d23ac4f9afba3633133cb543b8bc1ac8463b8fcc7eba23f2463cdab8f5bce26e9e3b2449c8394051133b2a4709bd699abd3bb6525d393468803b6bc102bdf32d803b1de3973abb81243ae8c0d0bce241983bd3a1b2b813855b3bdb3e90bccb4a383b635be0b907c05a3beaeff2bb554f953a9f02c0ba7c86f73ab1b7733b601420ba3daa89b9700d2c3b9a50083c360f3abd02e45abc9e2b3ebc87afab3b1b27d4bd15af2bbdfc5a51bcd2ad9f3b4fb9d3bda53957bde70381bc26d65838ee01e3bd65776fbda3a268bcdd6b8e3a173fadbd711041bde01b50bc34e3b1ba557895bd3aa22fbd3c73f7bba27a8b3a1beb44bd0becd8bc2903b0bbfc5fea3a0f69cabc747d1ebc7de09c3a38d9023b84bf6bba453a653be170d53ac8e9033bfc17703cd79205be2563843ff08f833e4e59a53cd9e417be87bf833fbdb67e3e2f8f613cfa4bb8bda08d593fd58c763e9121413ca965a7bdd932393f82fb543e854a023cfe0a5fbd43f9083ff3f2293e5e45ce3b92985dbd540bc33e388ffe3d8f7f963b546030bde4e4613eb786993d95b5363c859724bd73be8f3d5bf7d83c5574fd3bf421f3bc391908bdfe7431bc24d33fbd92761e3b0000000000000000221d4dbd7e9ab63b000000000000000034e303bdb024843b0000000000000000982f01bd3921553b00000000000000005b8ebebc80c5753b0000000000000000d757dabcbc487e3b00000000000000001004c3bc1a1a803b0000000000000000b6c3b7bc6bfebe3b0000000000000000e07778bc8bf1583b0000000000000000c80f1cb8d55b763b11466d3be0e6203b1efbd7ba64d9253c0edd2e3c3676263c1a0cafb9ed031e3c1bf7763c18b2663cf07dad3a1944153c45f15e3c8155523cb9f9cf3ae373003c75434a3c9575373cacd91e3a8dbdba3bab75243c84f21a3c04b5e2b9952e0d3bbaad2d3c5a079e3bc542e7ba684d8b33e65a843b81d3563be1063ebae9cdaaba45c0b33ab4c103392688363be0d38039e620fd3badadcabc4786ba3b9967e1b99c37f43bc7e8fabca066d43b67701b3a707cdf3b7e0dfebc39cbf43b670de03a2794cc3a3315e4bcbe7dbd3bbecae43a668bd63ae663c1bc776b873b0f04333a93740e3b63977ebc70c1553bf6b717ba8339823bc78e0bbc3bce713ac7e5c5ba1063753b26ff663b309caab9b39d9abab5205c3b25c5b63b5357ffbc9ed777bc7dad9ebc438a813b2cdea4bd5cad49bd6365bcbc6f35af3b7737cabd882e89bdc842babcd6c70e3bac50babd127787bd77ffb2bca53d28b98253a5bdc06b70bd8d379cbccd2bccb9132b83bd1a8141bd657b46bc2d10bc3ade7d33bd2867f6bc67f9f7bbb191803b95acafbcc7a568bcd68fe53895d6733be151f3bad6228c3afc013e3b1b58593b22c92e3c8b1ce2bdc325573fce5fe73e02fb923c946e01becc1a563f1dd9e23e60b6513c0b99cabdb75b3b3f7142cd3e1414363c04e89abd2b78183f175fad3e8db7e93b9baf74bd26c5e93e490d8a3e75d3183c4e6763bd9711a53edb90443ebbf0e63beafe3ebd8d803e3e7262f13d0443103ce5e228bd6753863de67d3c3dd121a43bb0fcf9bcd56eb3bc797d1cbccc878abd28a0b53b0000000000000000c1cc9cbdbbb2153c000000000000000041bc72bdc50e0c3c00000000000000007f9640bdd893d13b00000000000000004a231cbdc7bab03b0000000000000000c65917bd3a9d7d3b0000000000000000f9b00abd268d283b0000000000000000d7cdffbca187ca3b000000000000000074bac0bcc0fd2f3b0000000000000000d539873943c95f3b55cd353b057d783b35f5fc39cffddf3bd74f193c5d2a2c3ca4bac539cb39053c57b7373cd97c473cf044043ba385023cb9615c3c7b924d3c13bab73a4e43ad3b8c2be53b1c10ff3b1999f3b62c8eb73bc80e1a3c0e64203c45f880b9550f2d3bde5db93b6d98b73bf67facba26b8483a841e6e3bb469683b13b9bbba8e6715bbb0cd7e3a920c553ab26eea3a1dc59c3a16edb23b775fb3bccbd1b33bfcffaf3a6b69c13bedcddbbcc6fee03bb0110d3b8404e83aec9fcdbce523ee3b9167103b76d54c3ad360c7bcd592843b6b8e1e3bf595eeb98c069cbc6b2aa93b01110c3b59b9e13aa5a85ebc1adc493bee3982b93eb76b3bc3d5bbbb361a913ad949aeba6867413bc195b83a749d28b9f424cbba4e639c3b0b4bb33b2cddc7bca72499bcb7ffbebc278b983bd74c82bdc99671bd41aee8bc36ff9b3b64229abd998894bdda90e1bc696cf839eaeaa2bd89999bbddb12d8bc510791b93aea62bdb4fd5bbd87c6a4bc138832bbd3265fbd760561bd7ea98bbcadd7213a67da0ebdc8f810bd6217d1bbf72a0f3b402a8fbc98118cbc57909eba1de7983bb95c06ba77e3903806994a3b86168f3bfdddec3b0fdcb5bd6674253f14a6253f03df4c3cfc09cdbd0c3c223f1892233f8245203c6c5094bd7fec0c3fb1850e3fbed3f23b583782bd6279ed3e9b5cf13e41cb963bb3631bbd40b1ad3e2e92b13e176bb13b98503fbd0dcb813e637b873e87d99e3b5b4824bdabc6163ef3041f3e0335013c0e271bbdb7ba593dacd77f3da4134a3bea43e5bcc0008cbc40da31bcf8f3b6bdb2a4ea3b000000000000000048a4cabd42c44a3c00000000000000003bbe90bd40e01e3c000000000000000043d973bd1a3bfa3b00000000000000003e070dbd4683aa3b00000000000000004bc831bd50a2af3b0000000000000000ca0b1cbdf9b1953b0000000000000000e73413bd91ebaf3b000000000000000003aeeabc1c66503b0000000000000000c8f09339dc8af73a866c3d3be31f983b435decbaa81ed63b921d0e3c160d453c6a5794bab4ad003c4f2c653cf05b7a3c9d4985ba2ef1f73b2cc6413ce415713cf69a3b3a5ac1d53bbb2e303c188e513ccb52d1b9b793913b3c9a0b3c793a2b3c1caad8ba0821603b1da9a43bb586183cd41a93ba85141739f5322b3bd4378b3b312576bab89398ba1ad25c3af6fc673a6c20443b53166e3926d49d3b10eb8cbc068bf03b3b72723a7c4cec3b712ba7bc0c48003caa14a13a4e4c7e3b334da2bc719e233cd0610c3b7df67f3b529e9ebcf92ce93bcd67283b03731e3a776e76bcf666aa3b37808e3a58c7143b8a0b23bcccb1293bdd1d27b99eed423b7adf25bba745203a68dcb2ba47c1593b3d83d53a0954afb9e4abbebac69e513be214543bbea5aabc1064d3bc300ccfbc0d52a13b72275dbdaf339abd6f6105bd5b57d53b8c5e91bdff35c0bd6be202bd53ac543bc7118dbd6a89b9bd72c601bdbce20bb981407abde4c69fbd624ad6bc91b24eba385c42bd43487ebde6ae9bbcacad153b4bc503bd5e1b2fbddaa710bc931d443b54fd5bbcab09acbca0d6be3aa344863b6d6c91393693d9bab35aac3b963c823b2714a83b1a5489bdad7ae63e7d5a573fc84e173c80729fbd2cbde03e93dc563f0228013c00f979bd8d3dc93eec5c3c3ff9b0073c839758bd04c5a93e653d1b3f3eb7973b475e29bdb075843eace9ed3e1bbfb13b6a351ebd09443b3e170fa83e104a953b563111bd5f94d83dfd6c473eaf68d63b18f9fcbc6467153d7c49963d73868e3b154fb1bcfc8583bcac7b81bcd945ddbd4c9e2b3c0000000000000000efd501bede218f3c0000000000000000ba08c2bdd945503c000000000000000094a397bd4f06423c00000000000000009eb05fbdfa6af33b00000000000000008ba148bd6d69c53b0000000000000000f6d338bda659ce3b0000000000000000e83629bdfb26e73b00000000000000008a31f7bcdbb22c3b0000000000000000593e6fba5fc9cd3a44dc4b3b30caca3bd5d619bba296803ba289223c6640743c16c845baf39db03b5315383c0dd3753c559e40ba5660e23ba1e05a3ccf39853c4ca8f4b86af3853b9fe8143c84634b3c06aeddba1fe9a53b6340033c2d3c523c456e6aba223b2f3b5dfbbc3bf4fe083cd88dd0ba6763c4392310243b71a4b33b48d290ba821700bacc27a6ba96aaa53a943dab3be07e87ba07c19a3bc0261ebc4c63133c5dbba4ba947bc43bd8442cbc2270273c0e404e3a60b4473a47c352bcf4b91b3c38dd103b784f813a1c4749bccd4df43bd4fac53aa13d063bfb6e2abcb240b53b44809d3a2e4cf23a1e57d9bbef6b6f3bf5548f385e520f3bdac756bb52256238e51defba3daef03a5e62093a5e85c1ba6829babab432123bee986f3b048b90bcfe9a27bdde16c7bc54d6fc3bfed138bdb8c8c9bd5eff04bd7142143cfcb961bdc2b9d0bd297f08bd96baf0395a3775bde52bdbbdd3fc0ebd743aac3afceb42bdce38abbd987de6bcd02ca7b90b5d24bd44e794bd1954b0bce4bcbd3ab4a1d1bc8c2641bdffa045bcec8e453bfe6803bc9a1fc5bc8dff603a69085d3b7e1d873b722efbb985eebb3b2027893be33e2e3b5de63ebd7770833e7d55843fec4aa33b92ae4abda1dc793e66fe833f6157963bc66608bd52666e3eb6725a3f3d00973be8da08bd425f4a3e35d73a3f2c2bf23a1363c0bc9bb31f3ee95c0a3ff751953bb3f3dbbc043de43d2d4cc63ea9698c3bafdaccbcaf00843daec4683e93b9c23b573da9bccfa49f3c6e069c3d95d3933b7aba75bc51ce8dbc6c1cf0bc0b7705be4404683c0000000000000000085e13beab8ba23c0000000000000000767fabbdab03503c000000000000000064379bbd7b8d463c00000000000000000cb946bd693c013c000000000000000050473abda60dcc3b0000000000000000b9f91abd9d00833b0000000000000000a2f31abd0d8f173c0000000000000000acf4f0bc30acbb3b00000000000000001ca2edbaa7f0c43946a3833b780f103c49f383bbfcb4d03949964d3ca79bb03ccacf45bb2d643a3bccc8793cdd8fb13c652e75bac4ad7f3b3d675d3cc7d6a53ca75da0bab255a73bec4c2b3cca4d7e3ce703b4bac6203f3b8dfb0a3c4ce5633c9702deba3136f83a74f0a43b8ae12c3c8c4ac7ba505649b947e54e3a1f7aaa3b82023dbaab7626babd41ecbaa1f6123b8454b43b697a2ebb1406883b540b07bb3d6a373cf8df89bbb1c89f3bc0b8833a4fe55a3ceb3415b82373113bbd7415bb0df7443c8fcf973a4df2993a620bbfbb7c8e1b3c210d0e3b100ab1b73984a7bb2130e43b7e53d63a5336a43a782718bb8103983b3ade6dba44a3b33a282a44b830fdbd3a722a37bbd330753a36310d3bb65505bb136decba88c0903a4e642a3b41599dbcb4298fbd371cb5bc3b38093c44d107bdd08308be9c7fdfbcbb3a343cf21a4bbde65910be46e51bbdf5a7823b232d4dbd4d3302be867e1abdb0428eb74b9a2fbdefe2d0bd790a0abd0b80a9ba2df106bd4599aabdb2cec0bcd686b13a04b694bca2e868bd93ec41bcbc4b2b3b018f5abb1811c7bc852b173b68ac0c3bebd8e23b216ac9b9114e033cf3ae453b3c890f388c53a2bc3d2c963dc7539e3ffa1bf3b9b132a1bc3fb8783d26fa973faeff9939b0bf74bc8518a13d88a6823f47236b3a0d0752bcfb6fa03d0d47523fea3bbe3a79fc49bcc14a8b3d375d1d3f9f25ed3a96565fbc054d3d3df486da3ea145123bd27258bcf1ddbe3ca943753e5d38a13b051ad3bb074d85398414883d4ee4473b0c5bdbbb65afafbc844c62bd1c9d08bed2a1833c0000000000000000eeb40dbe2e049b3c000000000000000085adb2bde901593c00000000000000003a4b66bdaf221e3c0000000000000000d4070ebd04d0d53b0000000000000000e1e8fdbc676b863b00000000000000004ac2f8bc04d0af3b00000000000000007248d0bcb8420e3c0000000000000000e565e7bcb611a93b0000000000000000000000000000000000000000000000006ae621bbcccdcb3a001b343c6bd1853cdd401ebb6ff77b3b306a403c04c58e3cadb4b8b9d325853b74372c3c355b593ca1df81ba783d9c3be837033c6a12373c494befb9955a5d3b3079d53b3f97313cbbd8cbbad77acd3ae00e6e3b547f083c5915b4babc26d93afe7afc39baf2be3b000000000000000000000000000000000000000000000000000000000000000022852e3cea70b0ba1b7d613adf3aeb3adc6c223c5b2ba73aac81bd3965be01ba0298173c3b2a313bf15a0bbb823a7ebb2b5ffe3bacc70f3bcbeb8eba411b79bb6c8a943bf3a3ee3a5fb5bfbaba6affba29fb663b6f0e87393408183a8c9eb33a859a9d3aa2d462baa5dc863a245406390000000000000000000000000000000000000000000000000000000000000000656a0abd466a06be69c4f6bcb54bf13ad6f81dbd3eff01be2f7f11bd9f12dbba70631fbd180ae2bd409c17bd095faebb72880cbd8e64bebdc06a05bd464da1bb35d3d2bc408596bdaefec3bc21ec8abbd88a57bc59e756bda25969bc0d055a3a86b93e399fbde8bc7bf997ba08699c3a000000000000000000000000000000000000000000000000000000000000803f8d43b1ba43ac023cb82a5fbd20c99e3f6db6d7ba3933c53b2dcec8bcc100843f4f2b723aaacf863bdfabc1bbd488543f6012ff3a9432573ade3c09bbb803223fcb79963a5f4bc1baec4d8fbbdd94e03e1679fa3af0f88fba538433bc78cb803e142d613af9f65dbb65cd93bcf9a6913d0000000000000000000000000000000000000000000000000000000000000000bb3e87bd13854c3c00000000000000001ac500bd7531193c00000000000000004df924bc6c8f0b3c0000000000000000b2800bbb71fab63b0000000000000000dd982cbb42f15b3b0000000000000000b8d308bc73dcf43a000000000000000037e78abc4a0c813a00000000000000000000000000000000000000000000000000000000000000000000000000000000e59e6c383dc1133cdac9443c8dfb053c012bbb3a29ec193caa21543cfe4a133c2b7f5f3b2d56063c57314b3c72120e3c91305f3b0f2cef3b39ac243c4e53de3beb41373bb4ed993b706e043ca773cb3bb933f3b90cfe983bfd850f3c5fc7d03ae7e74eba49064f3afab8a23b0af0063b00000000000000000000000000000000000000000000000000000000000000006eb59d3b0e64a3ba5c53ce39f7a322bd9131a23b9783833aefb380bb516023bdd2e4943bc02c0c3bf1da23bcc48f25bdd0c99e3b72aff83a780617bcdc5c0fbdc6c58a3b04ecca39b4168abb1d39d7bcd124203b547a95b94bb56d3ac7a48abc1f3da239b1768bba84ec8b3b0a9e3cbb00000000000000000000000000000000000000000000000000000000000000003a67ccbd9db825bddd50ffbb63da63b9dc78c8bd74dd2fbd43b853bc01e69ebb1f4eb6bdb76233bd62ab78bc65b1eabbed5499bde80c1dbd6f3564bc3302d7bb217378bd0771f8bc61f024bc266b88bb110532bdee2a9bbc389574bb84ec0aba82e2c7bcfaf8e2bbb66d8a3a2789163b0000000000000000000000000000000000000000000000000000803f000000005353093c71241fbd8d7d963f70be88bc43c4e93b902f65bcd178793ffa79cd3be3a6db3bb970dbbaaf914a3f44a89a3c55d6633ba35ff4b9f0ef1a3f5b959e3c1babcdb8add9efbb4a2fdb3e2aa02a3caf77dfbab5eb7cbc4f03833e4dd589ba7a893ebbecafdebce41bb33d0ddc80bc0000000000000000000000000000000000000000000000000000000000000000a00b1d3c2c90be3a00000000000000006648523cd1efbd3b00000000000000004c32693c2200033c000000000000000097573c3c5573c83b0000000000000000ea96a63b1e829e3b000000000000000071307bba958c4b3b00000000000000008787d5bb189e473a000000000000000000000000000000000000000000000000a9d4cab908e5603b0cd6b23b22b7243b291c76bb1a8c233c0321673c3cda313cbfb79f3936be283ca0ca8a3c16333f3c45710c3b5fc9193c11c1813c55ec3b3c42e4063b16ea033c9af3553ccc27153cd3c2593a4e32c33b4ddb423c89cbe73b1aaefbb99c26263b15fa0c3c6827ae3badb21bbb9c00843966cfa73b7851ad3ae996a0ba429bf9ba5f9c003b8ba621ba7e6b373baac991ba06a7f83b2222e9bcff3a613b358b0cbb473e3b3c338e13bd772dc33b6b70b2b87324183be22432bd577dbf3b0813763aba95d2ba10cc2abdcdd3a73bd907de3ae74282bbce9111bdafc8743b9142473aa3035b3ad444c9bc0c08303bcca752badf839d3b64a252bc7940b8394ffbc5baea74e83b95f947ba514103bafb9ab7ba9addb33b3740d43bd60756bda11ca9bc806106bc53236b3bdf00cebd39cc20bdc98f29bcd7a0973bacc0debdc61151bd718389bc13ab23bb5702cebd261355bd7d7d92bc7337adbb50fda5bdb69c37bd605989bcc84ec8bb4fdf8abda31812bd261d35bc425d1ebb30d040bdd62bbbbc7fd39bbb5882183a9d5fbabc9b35f5bba1ddcb3a00693a3b6e09fdbac7ac483b2131723b0f6e6b3b25e8da3b7c7cb7bde2cf953ff287d43dfab4f73bf4e3c0bd04488e3f7163c83d76ebaa3b66fd5bbd2c20723fa447e53d811c7b3b62300abdb976433f1a45db3d23f32a3b2778c0bc03dc123f72e9b83db76f02bbe873eebcf9ebcf3e37a8823d58a237ba750b0abd79b1733e1cb9063d2153833b747e13bd13d4a93d88a7883b9c66253baaef0cbd707223bdbc1ca2bc2a488cbc930f6bba0000000000000000417c84bc8d4220ba0000000000000000f87129bb8fa2833b000000000000000041fb923a5cebb83b000000000000000027f3b53acdbec83b0000000000000000681095bb0c08603b0000000000000000f53a2fbc3f6b473b0000000000000000802341bcaa13923b0000000000000000c9675abc6b688e3a0000000000000000e77f27bae6d15c3b6a049c3b017b3f3b81258bba3d79143c7626283ce5f5053ca099d83a8e170a3c2442393c2e55203c1326d43a75d70e3c623b773ceee72b3c9235133b4aafc33b297a3a3c345b053cbe42883aec2ab13bfb342c3c9587f13bc8a421b90bf93f3b49f5003c4b639e3b090e00bbd918c438a27fa43be2574a3be8d1c4bab39690ba146d3d3ab68c7fbab80ad03a0914f53912e3e03b278dd9bcaa865a3bcd84b83ac081fb3b96921bbdc3f6af3b3b4a073bb6110abbce8620bd1445ce3b4286343b691db5ba38451ebdb647a23bf3eb163b8de47cbbe16cfebc86f39b3b5bc4853a34b3153a4850b2bc62110c3bafb20f3a144c503be31d58bc979ed2398c1bbaba3972bf3b6c514cba367795ba713093b9d782b83b8e66c23bbc9406bda91587bc438d5cbc418b503ba481a0bd06fd2ebd34caa0bcc1c3d73ae326a5bd2a2550bd3c4bc4bc18c0bdbb223eb6bddd6369bdf3eac3bc0654d5bb6adc8cbd73993cbd3c57a8bc0805ffbbae357cbd4f2827bd565860bc31c480bb333724bdb285d7bca25816bc3bc19738d888aebcd26436bc05999cbabb5e5f3b64c820ba65b71d3bf7fa5c3b237e883b97c2c63b2ec2b8bd785d7b3f76fa8a3ef1fe173c3b3bccbd4790763fe773873ed8f9323c605656bdabda493f1fe57f3e4dcbb93b1ada46bd7f972c3f49875d3ed0db6f3b26a60abdb728003fe459303e50f65b3af10223bd71ccb93edb7eff3d876960ba851516bd77de5e3e02569a3dd0b99b3b41042fbd726ea63de402cf3c29cf523be38609bd3509bebcb86e52bc369110bd4706103900000000000000002c500bbdd0b4803b0000000000000000c3c05dbce0d20c3c00000000000000007ef33bbcbf54073c00000000000000002010d2bb1b58003c000000000000000041215fbc9e57b33b0000000000000000a2f289bc55bf273b0000000000000000fd51b2bc4c64813b00000000000000000b1898bc33ec1d3a0000000000000000cb44443a6ac9393bcc74603b09a61c3b3104133ac969d63bf63c203cc4fd033c674ce93af034f93b2dca573c07473c3ce635f33a171df33b9950523c04083a3cdd2f2c3be6aeeb3b3ad9243c5ca81c3c8f931e382d1d483b0696383c738a263c3117b7b88789253bad18ec3b8dd9ad3b2c9f99ba2a1359ba4bdc903b90f10e3b02f729ba9d3700bbe2f3e33a9ea3de3990af033b9e777d3a91fe873b4da9d8bcd1b5c23b08dccf3a0af0b43bd7a416bd8258d23bb8b1403bacb3963949891abd135dd13b1a784c3b199fccbad6ea0dbde24cdc3b37a7583bd8d927bb5960ebbcbcf886baf3f77b3bd92cc03be1c6c4bc10a45a3bfb1cb1395653793b0b5426bcf774b337f122cd3864aed83b41d30bb9c79c3aba0dd8cdba633dbb3bc8f7853bc3b0d3bcbb177bbc83dea0bcc0d7993ad3db84bd272f3abd106fecbcafa81dba8ff3a3bd787b78bdf7f3fdbc5129b4bbd59a9dbdfd9477bd5a2ff1bcdc4404bc70dd8abd752662bd5b4bd2bc6d5ff0bbaf4957bd467f2ebd014996bca71917bb2e1819bdefeaf8bc14c222bcd7f0e037a8a191bc92765cbcc80108bbeaf1793b860f7eba89ffac397430413b2e42a83b65388b3bb3c596bd94b54d3fc052e63e1dac143c759eb1bdd7c6493f1223e13e8dfde33b55f779bd7b762f3f70b3c93e6702a83bedc33fbdc57a0f3f1ff8a93ea39c6a3bcbde1dbd3561db3ebab4863e26a489bbeef519bda5299c3ec6a2443e53a6d7b867112fbd18143b3e4d00ee3d8dc6113b27872ebd49d1903d9c2e3c3d6369873affdf0abd2ee485bceb8320bc9d0342bd0ba9473b0000000000000000aa5e4ebddd1d003c00000000000000001c96febc58f3293c0000000000000000dc9ab3bc3ef4373c0000000000000000cef38abc5987073c0000000000000000460adfbc79c5c93b00000000000000001ba5d0bc8e05453b0000000000000000545deebc7b10113b00000000000000002e75c5bcc92dbdba00000000000000002c4dd43a09e7c43a9a2f0a3bc00e483b660a9939388ac83bb12a173c0a74073cd01b023b4460ce3bafd4293c7fd3283cf3a01e3b9cbef03b9987463cded4403ca73f2e3ba3a7713b3432e43b2898f83b0e74913a37c3a23b770b123ca465153c053164b9e61dd93a9010c53bc0b2a03b8d1e93ba0fbca13856cf8a3b3536743b039ac1ba2f0614bae7268fba70c7d5b910bcb5395ba5863b0cdb5d3b0a2ac7bc4c30af3ba5631a3b6b1a823b7db405bd45b3d03b6923703bb200bfba82b102bd48eff83be57f883b2db33cbb81a8febcba48763be04f4c3b7d42a9bbe546bebc5f01a73bf74d3d3bbd0d813863ff96bc5d761b3bd8908c3a6d8b913b43ae1abc73dee53901bda2ba6cb6bc3bcb8f29bbb8651abaa60a993a63fdcf3b3b7c9a3b099ca6bc31f288bc0a59bfbc09610cbba82369bdd5ad48bd338006bde17eeaba75c386bda43f7fbd809c0cbd6b49f0bbb24f8fbdd8088abd3b0510bd389122bc392949bd8dff45bd19fcd5bce99d1bbc50de4bbd517b4abdc733b9bc6f9bbabb6432f6bcf3d0fcbcc6b13ebcec7726ba2cc688bc029e6dbc3f563fbb1c1c783b2da41e3b1f0ecc3afe023fb64cd3893bf39a863bb6e875bd6e59203fce7b203f94e0063c5d118cbd6c771b3f61641c3fcd9bbf3be06334bd2c54063f7949083f49f8a23b1c7c25bd2c1fe23ed229e83ee731a73a9b7dc1bcd40fa63ef173ab3e0842c939eb9713bd49fc783e87ab823e9bd500bbe89013bd831b123edae61c3e0e05933a410b16bd8e77643d7f1d873d8695e5ba3974f3bc761689bcddb721bc808773bd46109c3b00000000000000006fc082bdd632333c00000000000000001db115bdf5253f3c000000000000000093cbf1bcc3802d3c00000000000000007bfc4dbcfdfe193c0000000000000000ea49c9bc2b58c23b0000000000000000b7b2e9bc51a54d3b00000000000000004a0f0ebdde45003b0000000000000000a554e5bceb2a0abb00000000000000002d18ef39977d183be7381a3b8a15323b2b8900ba92b3a83b5bce0e3cd523143ce5635a3a87a3cb3be8e44b3c1d494c3c2ea51aba2222fe3b5724233c0b384e3cd8b3ec3a997ba63b15b8333c2bae393c37a3ed37a34d6a3bc098003c1a641f3cae208bbaaa02e03a469cac3b91c40f3c62efc6ba3c0411375c313f3bd0ca683b151b54ba61b4cfba7a5b473af019c83a970b393bc6d3e23a480d533b26ad9ebc70f1c83b6a67473b83a5a53b214ecfbc70e2f43b0e9e8f3b87c30b3a65bfdabcb85d123c13035d3be2c28bb9b0eecbbcc345d33b2d62913b145ee6ba5962b6bc6ba29e3b9dcd163bdaad023b95fd56bce224a33ad1a9fd3a8555983b8d4bd1bb000917370c145cb9ba64b43b330deb390f52c2ba5ae498ba4c15a83b0cf5683b9826a9bcf73ba6bc7e8fd3bc3921003a31334fbdfaec77bd4e7818bd707b3bba385c83bdc83f9dbdff0025bd756ef0bbcd8680bd90929cbdaf6a18bd077908bcf36762bde49187bd41e209bd810223bc100a33bd4ffa5abd8297bbbcf546a2bbb873ebbcfd8019bd3dce78bc0da9643a68d44ebc861e97bc07ce3ebb48b2a33ba856c239a79344ba1aa1533b8687b63ba666303b7ecb40bdcd65e53e0c1c4e3f1a9e983b9cce5ebdf647de3e65984a3f3095773b169e1dbd793cc53e0bcc303f06eb483b7d2df1bcb52ba53efbca113f76dab63a8aaddcbc7c9f803eb686e03e95beafbad439fcbce2e0353ec75ca03ec9b554ba4eca05bdddecd03dd1cb443e3badd83ac41804bd3d63113dc728a13d72f03f3af227c8bce78a8bbc40e640bc6a4e98bd29ecb93b000000000000000016e3a6bd2e7c493c0000000000000000783955bda5195f3c0000000000000000bb5227bde7e57d3c00000000000000008dd1d3bc11192e3c000000000000000018fcebbcae0ec63b000000000000000000f905bdcccd493b00000000000000006be715bdc4730e3b00000000000000006efcf5bc559a01bb000000000000000033a96dba89c2c33a11c1273b552d963b712c01bb51ee8e3b4cd0163c7d5d383c02709638325e913b03431c3cdc70513c125e063a23f8b53bc503443ca242673c318fd53925408f3b0012103c53c22b3c80c3eab94a6c3f3b469b053c550f273c63cd99ba5aa5523bdcc3aa3b9c7ded3b9276a7ba870a5fbaeccbde3a6085943bef667fbacd5186baf3fd7a37f447893a2118273b9114b43a3875c33bff1c43bc4e1ce73b28a4dc3ae062cb3ba33488bc5ebaec3b09d2723b5621123922939bbcc7f7013c61e1933b160c46b940149cbc7a10bf3b67c9863bae1306bb6e8584bca766a43b94f9453b1fcf3d3b211122bca911233b7936ba3a2b84213bea77c1bb2c274c3a421c0739e38aa43b9aa1c03a7f1ffeba45aaa1baf8ed5d3b0a98633b615ca7bc05cef6bc4af8cebc6a53813bc1d141bd61109bbd0b7a1dbd0ebbde3a23e157bd3063a5bd9fef25bd9d05e6bbb2b86dbd3a5eb2bdbd4b29bdf1c915bc7d7a3dbd61668bbd197e09bd8ff015bca9631ebd6c2f77bd60efddbcdfbc91bb3117d1bc486525bdb8f877bc5fca4bba1e2c10bc9ff29bbc8d8cd5bbf344523beb14103b700538ba6736a53b199dda3b37dc94b9038612bd34258a3eaf9e7b3f4614963a889518bd72c4843e5b59773fca4e2f3b5177a4bc908f773e5b4c4b3ff240453a966aa6bc76f0503ef6202e3fc83d4139ef4a7dbcc973223ef902023f878ef6ba1a8bbcbc182fe13dd7dfbd3e12e9ceba30e4bcbc31e8863d3366653e75d3193b2510bcbcb4305d3c352fb23da1650f3b2ba788bcba4c9dbc5ac2a0bc00a5b6bd9f6ed33b0000000000000000df22c2bd805a583c0000000000000000790433bd19af5b3c0000000000000000e7c617bd0a38583c0000000000000000eaacadbc61f9273c00000000000000009bd8d6bc750ec63b00000000000000006565e4bcc705aa3a00000000000000002fae0ebd5c74b73b0000000000000000dcf6f6bc2c1cb0390000000000000000be1af4ba4154a23a17d8783ba30db23b438c9cbb0fed363b8358293c38e5703cefb62bbb03b1893b18b54e3c7141843cbcf0e7ba2728a33bef29443cbbfe7a3c5a70a7382570933b05d6113cfb4d563c582d01bb3d4a6b3b5e61e83bea294c3c2fd7bbba0f14d0b7182bb13be2680b3c6fa512bb40e39b3934eaf43a90d39d3bb0d655ba30d0bdba79e42cbad09dbf3a2d64713bdc55e0b73b41b83bae75a8bb7d5e0d3cfb6e863a18b4083cd2b387bbae34293c5d2c673bb903593b85fd2ebcca8b363c84f77a3b3e99873ac5d43fbcab88dc3b6c49a13bf9c4ccb9199a3bbc7a29cf3b510d2f3bd86d1a3b3131cbbb5d91633b84dbbf3a7167833b00a86cbadc6b50399385beba7346533bc5a9343b86f899ba4b4186ba077c513b21678a3bccd4ccbc3f374fbdb666d7bc2c4e803b857e2bbd876bcbbd320e18bdf30d7e3b8b2358bd3fe1dcbd8a2337bddecbbebb844156bdaf4ecebde50235bd560025bcfb6a3abd87efa2bd9fa519bd9b6c31bc8e280cbd9a658bbd9c85f5bc824487bb7e30a3bcfb4442bd0df286bce87d2cba5e73b9bb6a8bc2bc38261dbb179ab83b6f31943bc352e4ba6ca1963bb3f3be3b135cb1ba7f8d8cbc5c44d33dc0af953fd76438bbe767a0bcc4f3bb3d86aa8e3ffc6facbaf7ee0ebc46eed13d59cd723f5e51a9bab996dfbbb62ac13d6f99443f0fd376ba7158e0bbbb1a9e3d44b8133f86cbeeba72de3ebc68e9493ddf01d23e05b066ba348a68bc4a469f3c1750783efc1e503b7e3329bc90c7b7bba105af3d0154e03af8ec2bbcd5b0dabc89011abd5d0db6bdd522eb3b0000000000000000a82cb5bd71a82d3c000000000000000029ef33bd30df513c0000000000000000e9b5afbc96ff4d3c0000000000000000d46b35bc1f0c283c000000000000000040fe7dbcd8d4b63b00000000000000007f1ab4bc08f56a3b00000000000000006a82e9bcc7cc883b000000000000000064f9f9bc08d679ba00000000000000000000000000000000000000000000000026c72abb399f593b532b113c9a474d3c37bb91ba0c52783bc212393cc32b573ca8ead5b71949a43ba721123c41d6393c73a2a9b89eef943bb8ef033c8b83283cd45638ba4b99513b67b2c93b8374173c2559daba656a013b3042803b14cdde3b71afe8ba7e4d91390c99463a689aac3b00000000000000000000000000000000000000000000000000000000000000007e73013c1872063b5de8263b81e68dbb6bd80c3cb88b513b6783ecb9cc1307bc3507ff3b878e9c3bf2c83abb8da134bc53e1e63b43d4833b8f9131bb0af22bbcf0ab843be4b1563bda67653a2892c1bb4f89663b8c05cd3a84cfd53a9bd73aba6d7ad83a14e3dbb92236533bc490283b000000000000000000000000000000000000000000000000000000000000000061202cbde4e5cbbd76231bbd1258aabb4c2733bd0554c9bd5f1527bd75cf26bc179830bda901b6bd17732bbdcc4b66bc063d1abdf75c9abd295c18bdc04b50bcaff6eabccac97bbd3fffedbcb54905bc4feb87bc7b9133bd31de8dbcd36556bbb58681bb2707c9bc72c7c2bb09643f3b000000000000000000000000000000000000000000000000000000000000803fa3d148ba8b9de33b77b8abbc3f44963fd58df3b87211ef3be65eb7babbaa793f8a8cfb3a1fb9ea3bf6de1b3cb1664a3f8344a7b9eb4f853bc5bb093c0c5f1b3f59e86abb2c710fbb7de28738cc5adc3e2fd9e4ba321986bb3f463fbcb951833ef3818eb99969f1bb6a03d0bc5f2eb63d00000000000000000000000000000000000000000000000000000000000000006be204bd357a463c00000000000000005114bdbbb433603c00000000000000004afd133ca30a663c000000000000000033e7313cc0b2303c000000000000000035c69a3b3b02d63b0000000000000000998fc7bb54f7173b000000000000000063089ebc7aa3c2ba00000000000000000000000000000000000000000000000000000000000000000000000000000000f112533bae01493bc699c73bcf29873bd8b9013ba8098d3bf0b3f53bf453ab3b2b3a3f3bfe6a843bb75bd23bf436c13baea7ef3a6be9863b6b6ac93bcee77f3be160023befab543b0634ab3bb407803ba9bd413a141ec83ac60d893bb428613bcaca833911e3063a827f3f3bc393733a0000000000000000000000000000000000000000000000000000000000000000ff528f3ba9f5393b30f367bc53bb10bd92e4973b3c84563b67668abcf52d12bdd741933bbbdf383baab793bca04c0abdb2295c3b435e403b382784bc0bdeebbce9e8383bea5b053bd3bd39bc6653c1bcda7ce83ab966033b228199bb732977bcb313253aa7131a3ad16ff53add07d9bb00000000000000000000000000000000000000000000000000000000000000008d8354bd7ca207bd77adaabc3e295bbc3b0e56bd53cd0dbdc45cbfbc13ad78bcffc949bdd4f70cbd4c51c7bc13339abc979c26bd5289f7bc78d3b3bccbf48cbcc9740cbd523ebfbc8d588fbc80a15dbcc491c1bcadfb97bc853b1abc1b3510bcd02f44bc12e70abc3f627cbb2c3d89ba0000000000000000000000000000000000000000000000000000803f0000000053b27b3cbf1cd93b41db843f7812ab3c57af873cf0a6733cbf815e3ff4cae03c9b50553c88127f3cff9e363f8794f13cdc57013ccec0323c69d20d3f6debc13c72834b387e84bf39d327ce3eb5c6653cf8e1afbb353b28bc044a813ea00acc3adbd142bc7168c0bce30ad83d2d084fbc00000000000000000000000000000000000000000000000000000000000000003b30d83cd035913c0000000000000000e5dfdc3c0949ab3c0000000000000000e542dc3c3f76bb3c000000000000000064cdaf3cd68c9e3c0000000000000000262e553c7ab5553c0000000000000000bf6f9c3bf762bd3b0000000000000000aa5205bcc86716bb00000000000000000000000000000000000000000000000088d8d73adcf5e73982fd633b715db13a40a9e63acc1d533b5db0003c9fafc33baf061d3b7e03763b58960b3c7b58cb3b1f82273b43f9923bf401123cad2dfd3b3967c83a569f853b6064da3bef72d23be59ab23ab19bfa3af752ef3b1b4bcb3b2d65a03a058e763afee2ad3b1b2e433b01f932b9b87004bad560413b5ace8b3af7892fb90d2f6bba23ba9b3a842f1938bd36d83a9976b83afbb9acbb2451cebc00fc963ba24c363bf11c1bbcac8c12bd96c6a43bc0f1433bfa1b62bcbc3212bd054aad3bb6ef683b03ff86bcd2181cbdf8c6663b83ba413b93427ebc0030f4bc6a16303b9a783b3be4feedbb68d9c9bc74c99b3a8251b93af3a166bb9f5e65bc8fb00a37d4a9423a7785933b6b97b0bbc91072bab837c9b934019b3b0aa4a73adf48d6bc0e7696bcb43c59bc6e35a8bb22b84cbdd8d006bd21a1b6bc53b846bc475a5abdab5723bd8f17e2bc96a895bc58d061bd1a4e20bd272ed7bc8b6fabbc456d2bbd4d8d03bde5c5c2bc271f95bc480e16bd9f1be8bc870b9ebc4d836abc4f3db7bc28f69abce89744bc4046eebb843f27bce41df8bbf48b53bb0d41293951c0e23a200a643a99110f3b3211123b797c083ccc0b92bc8c98833fb5a60c3e3e902f3cd9b264bc2043733f2c3a093e60972d3ce6fa5a3b96e44d3fd3f5033e3b9c403c1f528e3b6c6e283f1756eb3d8023bb3bdc9a563b8b76003f3f20b93d16bf1ebbfcc70abc191fbb3e0ab6823d11e007bc68a09abcb79f673ea3b80a3dad213cbc9090e7bc6384c33d7c4f9e3b153f30bc7d13e6bc42c6a5bca79185bce604c73b56efe63b00000000000000006e7e6a3c2778683c00000000000000003bcfbb3c5772b13c0000000000000000f737ce3c2a39bf3c0000000000000000c0059f3ca91f9e3c0000000000000000c91b2f3c6329553c0000000000000000bbbb1cbaf314b63b000000000000000057592ebcd135adba000000000000000067d66abc0fccd2bb000000000000000091da833a9bf9c939ef91623bafc6f93a4ca11b3b1923153b3f6aea3b76dbb43bb096203b061c573b8d2af23b9d6ec13b1731083b8bb3783b9eb4153c52b0ef3b86c9fc3ab38d5a3bc6e9ec3b8d50ae3b6380d93a57ff113b37dde13b3a0db43bece1f53989f0b13a0962b63bac6d4d3ba83e1b392ca71cbadccc433b6590e33af70209ba299a9cba48ab833aa2ad6b3920b3a33a2d62c13a4e1181bb38ccb1bc3939803bc7ec423bdda22cbc0f1010bdf7bc843bd50d653b6b8983bc71010cbd0063a23be474813b610c89bcd3430bbd85ef573b78a6283b0f9a75bc8b0ae6bc2ab34f3b9f6f1f3b690215bcaacbbbbc0da7d33ac1c3eb3a9bdab1bb438472bc952a1bb955680939bc43423ba0bdc3bb6f42aeba1b3c0738ecc1b13b7750b63a5f5a8fbcb5975abc864161bca94c99bb939f2abd7af902bd36cbd5bc757866bcc3b633bd7b5d11bd9b1ee3bc1d8d9ebc2a0b4abd179b25bd2607f9bc4a12b3bc0a1f1abd73fd02bde464cdbc79109bbce03906bd9de5e5bc87e0acbcad6e73bc5949a8bce6ac92bc073b5abc7cd919bc3a9c16bc0f8edfbba1048bbb8f3b33ba46fb473b31ecea3a0cd9c03a0262e53aba84b93b07d2bbbce1455f3fe4218d3e251b413c8d7790bcd121523f2d2a883ec9ce563c92934c3ae8bc2d3f8f3b723eeebb283cae8f04ba4256133f1ef8513e37eab93b2a1148ba8e36df3ecf7c223eae473cbb742a58bceb3ea43ec2c6ed3dc3bee1bbdf0595bc65a24d3e69a78f3d66ee37bc0b20f9bc89bdaf3db3eac13c264c19bcf0e5cebc371659bc7f663ebcbf225dbb480cb13b0000000000000000bc4e0f3caa908a3c000000000000000094799b3c338cbb3c0000000000000000d809b33c60e5c03c0000000000000000bb4a883cb8aba03c0000000000000000db2cd33b8386553c0000000000000000d74d13bb325dac3b0000000000000000169571bc415665bb0000000000000000663765bc0aa4e3bb000000000000000013f37f3a47b1793993023e3b2ac4223b2a28273b727df63a5532db3b20ccd03b1966203b7a37763bba0b073ceebc023c21680c3bd738723b2939113c0b57fc3b713d0f3b264a373b86bcc43b8a53ec3b6fc7be3a05f4043b37a6dc3b58dcc93b50f2e7391ef8f53970859c3b63019b3b8a2e1c37f55243baf53b423b9c601b3b528603baf0c383ba8290d73a5ee28039d97e083ab5a3bc3a6c4cafbb794aa9bc4e4d623b714e513bf64b38bc50bb06bda3088d3b5b41743bf5ca83bc98730fbd76128f3bbdcf543b4e9082bcd15005bdb48b7e3ba16e2b3b2be479bc4011e7bc2f273c3b7e57193bffc82bbc9835a8bc5619e63a7970f83a37824dbb22755abc1414f1b8c964fe39defc223b4843adbbece59fba95608bb9a9c4893b1b6c723a260471bccad549bc3c4086bc87bae4bb87af15bd252601bd60d3eebc7de583bc834638bd8ed922bdc6af07bdaa4db6bc17d634bd9f2824bd738e04bd5577b0bcdd2811bdea9405bd3642e5bc70df9dbce2b1f0bcd151e7bc07d2b2bc11408cbcc298a0bc2fe697bcc65d68bcfcc42abc5c7bf8bb601dfbbbb8b6c9bb18e2e5ba070b1c3bf094e63a5a2e6839b61a1c3b251ffd3b975188bc857a383f7da8d83e7f2f433c183d6bbc45c22d3f869ace3e6fbc563c06f8e1ba4f73153fd6a2b53eaf11173cbcffc9ba59cff53e1ee4973e6f928e3b764957bbd6e0bc3e33c56c3e12b538bb68445dbcf9058a3e87e52d3efa9f09bc7bdbb2bc2fff2b3e0b7bd33dcc1a40bc595ff2bce023933d71ec303dc7d927bc7294c4bcb7a837bc76cb16bc8842bcbbb32b073c00000000000000000f0f263bbe94a53c00000000000000001124843cf479cd3c0000000000000000d5e3883c9707c93c0000000000000000b7a55d3c1c30a13c0000000000000000c309823beb6f513c0000000000000000c14803bc6c35a23b0000000000000000e7048bbcec1453bb0000000000000000619b90bccacffbbb000000000000000099fc933a833f86394591103b3562523be358e43aeaaf1c3be234c73be9c1d13b730cf83a843d263bf3bbf83b28d4f73b22d0fb3aca10793b32a40b3c6b1c0b3c41f2e63ac048393b6c2dbb3b374eab3bd7d7b73a16320d3b1dc1d13b34ebe63b88ad143a32b45b3ac4e6973bff01703bf3a0db3703c90aba7d001c3b26c2383bc4c191baa95582ba4713ce3ac0e0d23a9cb0643a7314c53aed819dbb6b4da8bc2cd2413b567d713b62f934bca058f4bcd9158c3b841f5a3b536a7bbc1e6104bd1246933ba10e7a3b1e1387bc9fc2febc57e30d3bc7aa173b41746cbce47ac2bc555f483b3e4d1f3b1e0c24bc765fabbc357b9d3a81169a3af82750bb04d936bcd2a970bad40a6b3a1703103b20838abbc2b37eba3e8684b97d79313b273249b9de2b5ebc2a2845bccfb595bc7b3801bcfd040bbd6f2b04bd6835ffbcfb3b8cbc911621bd106c1cbddddd0abdaf63abbc5ce42cbde6262cbda92d0ebd4b13bfbc75bffcbca5acfdbcf6fbd4bca6a7a1bc7e6bf4bca24eecbc0b9ec0bc9ae385bcbe328ebc87b891bc7f307dbc312620bce600d8bb3950e1bb1911d0bbb6774cbb9b84383bdd5a263bc0de4a39d484f33a329ae83be53648bcd019123f2320123feeaf453c1cbde7bb6535093fc3eb093f94095f3cf2e40c3b7a63eb3e3625ee3ec0e21e3c9065b639b2d5c43e2f36c83e0adaa43bc46d693a8a19953e41e1973e53fa68bb73a544bcb3415d3e098c643e182615bcc1d5acbca792063ef8f60c3e801c4cbcf51bdebc46975f3d80ab763ded5f1dbce62cb4bc7eb136bcf5fc03bc06b00ebca25c0f3c00000000000000007b88dbb940beaa3c0000000000000000966f453c8487c93c000000000000000029ba6c3c88e1de3c0000000000000000f3c24d3c3bff9e3c00000000000000002d7d153b15754f3c000000000000000077139ebb49b6873b0000000000000000b1fc99bc417e89bb0000000000000000ea9c9bbc122c0abc0000000000000000af0be0398e93903a1b01a83a8f197d3bbd3fa53a90a71d3b4b4ebd3bbe91fa3b722c003b21516b3bb088fc3b6a91fc3ba4f9ca3a20d9603b7c8bfa3b2639133c162b103bd4be2c3b2d24cf3bfed2f83b1e1a633a4160da3a6caac83bf22ed73b0ca8d1b802618539e2869f3b5933ba3b1e889fb84254a2ba09a80c3ba9bd4f3b81ea51ba192571bae9d3573a78ebc53aef6c0a3ae0fce93a817590bb12dd87bc591f543b2a07823b670c1ebc381addbc5e098f3b9951973b480572bcc1cfe5bc7b6c993bcd3a633b87856dbceda3e1bc4987653b17a7643bc5036bbc7099c5bc20b4373b62a5223b793fffbb040b8fbc30b3833a63ca223b282f08bbb90439bca8938739c6bfd43999aee33aefc171bb6ed6c9ba3ad7e3b73575713baf96a73a332273bccb565ebc2776a4bc9c4f04bc47f009bdb6d211bd58330bbdbef38ebc4cb329bd722730bd2db519bdaca6c2bc53af23bd408833bde33311bdeff8c1bc70e80abd4bd515bd49d5f7bc518bafbc9611ddbc9f5ff6bcd3feccbce83a88bc741a92bc0611a4bcdfdf8bbcf41622bc3e20d8bb4677f0bb49d0e8bbfc8ca9ba99f51a3b11162b3b017f58b9f75b143b66edd13b16e900bcc57cd83e76bf383f846a283c19ef7bbb8a40cc3e12912e3fd266393cfcdf903b8300b23e7e42163f3586e73b763f473be7f6933e1c57f83e2134763b6ee29139846f653e59cabf3e01bf84bbf00f31bc18a3243e44f58c3ee6520ebc88ab9fbca5bcc43d2397303e260734bc7ce3c6bcbb2b163dd9209a3d30f01abc9ecda4bccb2c58bcd83a0ebcf1b974bc6cc41e3c00000000000000007ef9fdbbb419ac3c0000000000000000058f0f3c66e7da3c0000000000000000563f3a3cd1f5d33c000000000000000072fa303c5eeeac3c000000000000000057ebae398df9513c000000000000000079b926bc7205643b00000000000000003b54afbc9d2f9ebb00000000000000003290a6bc130410bc0000000000000000bb72d3392616ee390932e73a7c88653b90a9753a14cd233b8b94b53b7ba3003c7e03cd3a7b065a3bc2c1ae3b7319003c17149f3a7aba653bd4e1f73b13231e3c8ca79b3a60c5333baf85b63b43adec3b2b99413a85d2143bd00ecd3b3c79bb3bef01c4394dbc9a3a1cec563bd2de9e3b213bc6b97d968ebabd4e1b3b0f20753b998227ba18c28bbad3ca83b8e3c07f3a7059113a812d0e3bd78b18bb9a1555bca6a3453b3aea923b171402bc57a7bbbcd5479d3bab80723b62ba60bc1985c4bc2d7e943b00e0993bd0af56bcad5acfbca0a77b3beb84133b9c394bbc1769abbc28fb2c3bcd2a783b430dc0bbdb4682bc948b023bb204073b0f8669bbe77a38bc99d8c2bad1f2b23afaee473bdf93e2baaef067ba93e6e1b8387f913be398213bfbd980bcf8d782bcdedfa2bc10acdfbba59f0cbdb45e28bd487812bd7c7f8dbcdaa516bd87f433bdcc2a0fbd0e30b3bc154323bdf07247bd9a121bbd47a2c9bcf52e00bdc93c18bd25f6f5bc753ba7bc14f4dfbcb91e03bdfacbcebc4e918cbc42b288bc79fda5bc513294bc194b29bc0d0ce1bba59711bce08803bcba7299ba18abfc3a3348223b3cd05d383b42543bebc5883b369d77bb3a1d8c3ef86e5f3fd6010c3c4b04263b13c6853e3356523f1ab92f3cbddb113cbc916c3e707c2e3fba59f63bbff4ae3b0b91473e756b143fd59e483b9cc22d3bc390193e11e7e03e8e32f2bb588502bcaf03dd3dcb76a53ebc4ddfbbec5f51bcc1fb7f3dfba4513ebdd228bc29abafbc50ab833c54b0b53d7fecf5bb3d8d89bcecef7cbcd4fc37bcb3f0b1bc04a1e83b000000000000000052841abc3c55a83c0000000000000000cb99183c4494d23c00000000000000002979393c4db7d53c0000000000000000b25f373cf605a83c0000000000000000f53286bab69d573c00000000000000008634d2bbda3d8f3b0000000000000000ddc1adbc069f83bb00000000000000006c8daabccad705bc0000000000000000d95b87b95692be3aa19ef23a42097b3bc987b8b94f2a3c3b3497b53b96210a3cffb93d3a2ba84a3bb95b033c4d152e3cb33a823a8f3e823bc159ea3bcb451e3caad2b23a6114da3a6958ff3bf1540c3c4d579b3aafb2fa3af1c7903b9eadec3bc753d9b9bf5151396884c63ad37bff3b528f22ba98b886b99827753a9a0d283bb2c473bafef480ba81819a38539dd83ad4a5f8391401353b13c0feba3ad33bbc9927893bdb64a83bc04488bbcb098dbcd1d7313b8c9ea33b939328bcee8ab8bc67eca43b40f1a23b2e633cbc6311b9bc3de13f3b1dde333bdd1033bc048d9fbc94d8853bb703543be3aedbbb103965bc4dbacf39768c843b9b6b81ba357ecabbb7a9e538f60565394433a03b10d989baaf9fadbafd96b43895cb9b3b46a45a3b2d12b1bc90c6d4bc5170c3bc24e213bcd5b50fbd842f4cbdd37115bdc1128bbc51b323bdc54465bd4d1f1dbda0e1b9bcf8d51abdf81859bdbc1922bdc6c0d6bc4e6d01bd09402dbd9f6004bd8591adbcb0a9d3bc4fd614bdff82ddbc3aea88bcd2ba7abcd3c9acbc1e0bb9bcd1fc1dbc904aa6bb331339bc7d9cdcbb64a9ed3adac2b93a1025e33ac159c0b9acb0863b019aa83b04d0823bd3540b3ec197833fb088953bbc8dd73b7b6c043e3e5a733f5fddf73bb52d523c483efb3dd2044e3f6c27a73bfafc223c5c5bd73dccde283fe368193bd529a23b654ba53d1604013f0e7488bbd94d97bba474573d279abc3e927de4bb0d5c2cbcd7c2c43c01c3683e0b3026bc2e0a84bc44fb96bbf830c53d8b560abc9f7e86bcb392afbcfd759ebc54de8bbc8d15423c0000000000000000a70f00bc8507a23c0000000000000000b1644b3c8abfd93c00000000000000004d12923ccc9fdf3c000000000000000098e8773c271bb33c0000000000000000ddd47f3b70d16e3c0000000000000000c30e91bb53de633a0000000000000000fe48a4bc9a6682bb0000000000000000a2d0bdbcd0942abc000000000000000000000000000000000000000000000000c479ab3a4c3a343b244c9c3bc809dd3b311e5a3a7a37893b0864c03b1591f53b0c75153b6f82283bc928af3b12040f3ced13e63a0a28543b29c2923b2f8ac73be436433a558b193b0f2e8a3b4bb4cd3b90da223ab9bcb43ac614263bf9d9573b227f09b9b72ff6b97e8a2a3af6365c3b0000000000000000000000000000000000000000000000000000000000000000c28b743bbaf79c3bcb610cbc3e6591bc3054c33b85884b3b9a4d35bc4561a2bc72e3823bce03683bacf644bc44dda0bc726b7a3b58a06e3bf76856bcf21c91bc82e0773b15ad4b3be3b7e4bb35e359bcb5204a3b96ac653ae193d1ba21b1d8bb6348563ae144243b18b3fb3ad97eaa390000000000000000000000000000000000000000000000000000000000000000f37510bd3d6756bd1b9410bd4876a3bc0a4511bde01457bd2e6113bd985cabbce86a10bd966b51bdffd40fbdb9d2b1bc2f22eabcb5cf26bdf6b3fabc20daaabcb5fbc0bc2bb20bbd09f0debc257491bcb31276bca434cdbcb3f589bcfb32edbbd144c8bb29a056bc01ea26bc304e4cbb000000000000000000000000000000000000000000000000000000000000803f944b2e3c2ae49f3c1f1c873c43d1843f39fd243ce16a833cafb1b13c05155f3fa150013c7f8f783cccafaa3c4ed4363ffb676d3b2b9e053c0321793c75ff0d3f498816bb13e1b03a58f2b73b7885ce3e0a2102bcf07df4bb56abf9bbfd57813e4f0317bc738264bc2703a8bc175dda3d000000000000000000000000000000000000000000000000000000000000000064765c3c5e59c93c0000000000000000abe5a13c0517dc3c0000000000000000a2acdc3c64b4c93c000000000000000012cda93c18dab03c0000000000000000366d363c404d673c000000000000000014e0013afd67b93b0000000000000000b3e171bc54ac95bb00000000000000000000000000000000000000000000000000000000000000000000000000000000c509f1bbc3e8ee3bd554173d242bdd3bee6c91bbe518293cd4e80a3db5bd0c3ccd4952bad7ea123c05f3da3c144b463c8e6ebaba9d43213c02a3aa3c72b5053ceb839439f9f3ee3b8130743cd0e5aa3b74e370ba95528e3b8590293c52ecbe3a54a6f3b97a9a293a21a3753b167cd2ba0000000000000000000000000000000000000000000000000000000000000000a0db52bba326a6ba7377bd3b793573ba96bb96baa3a36dba2830973a93e928bc6aa7f539fdf216b93ff7d2ba1125afbcc61bad3ac23d07bae38777bb15209ebcceeacc3aca345c3a8bae93bbdd5278bca56b1d3bd0495ebacee4a0bbf34a28bc5da4963a436d243ac54098bba5cbddba000000000000000000000000000000000000000000000000000000000000000038684ebeba6497bb3fa8c63b595628b9e20841bef6b57bbc3062713b63aae5b9c37e28be4623debce98ecb3aee862abb294805be6e4ad7bc9594aeba06459bbaef3ebebd676aa0bcd638deba84a601bbad8a51bda3af37bcd7c214bb663f3ab7246515bca83964bb2de13eba83879cba0000000000000000000000000000000000000000000000000000803f000000006d528f3c608af6bd38aaac3f0da7e4bd32323a3c12ed8fbde7d28d3f93537bbd8d8c213c37353ebd84f3673f3ef90fbd4d87123cb2f2e7bc40c52c3ffc4f85bceed4e03b3f1f70bc38b7e03e88b7c0bb87a6e23bcd762d3bbd255f3eb8a4273bc845d73b5eedc63b3768103c74edc83b00000000000000000000000000000000000000000000000000000000000000008ef6573cfc9dc5bb0000000000000000e86bee3b3f8c82bb00000000000000001c34c63b939b06bb00000000000000006bf5af3bd33f0eb600000000000000009f30e03bcd1201bb00000000000000001decaf3b7ba4aab900000000000000008589833bff068dba000000000000000000000000000000000000000000000000ccb60bbc9da0553b865aad3c6920cfb8bedc30bceea3793baf321c3dc2925e3bb313c5bb7b7c0a3cc5081b3d9a0d3f3cc804a8bb490b3d3c4fda073d4afc493c56e2a1ba3711fa3b84f5c43cebe12d3c8140c4ba445ddc3bdf0c943c019ddc3b7fcae2b935ef953bf1232c3c2171813b5b105aba45c0843b9f3dfe3a743f6c3ab3359bbaf8ec4ababc1736bb711b81bb3cc145bb26ac41ba5338253c7687923b651293bbbf9155ba672dcb3b2bce953c084d0cbb5850e2baee058e3b09f984bb8f7d083a5d53c4ba7241303b95784fbc9eaf223b78a92dba1875ceba28d067bcafea3a3b67ede1b90ffaa4bb498b2fbca4aedd3ae1f85439bd81c2bbff27ecbbc4864d3b66bfd1ba2573dabbd46ae5bbb456013bf86a89b9bc0a7cbbc24fb43b657ff1bd2fbdaf3b7988b73a1663373b2c613fbef327123b2839843bfcc4e53a2fca4abea7fdcdbc4784553b2419313aebfa35be2b7607bd2a0cc0bacd806e3a7b6e0cbee3610cbd3c2088bbed14153a953cc7bd9bebd8bc066a07bb3560cebafaaf53bd211f95bc169388bbe7c1f339c71d07bc94fe4abc91672abb4af3a83a5bbf903c3145653b5b5dceb920fd313a21761b3d94165abe15f0ab3f71a2863ce77a263def564fbe82869e3fe890ae3c5524f03cc2a11dbe324a8d3f6ed5303d80a0af3c5e27e6bd2374643f26a05e3d387f973ca20c99bdbb88283f3ee6643d3c11923c886e3abd4471da3e58ae473de060683c5cff95bc8d394f3e2ac1253d5f58013c35144d3ca7da973cb62c193d839f0c3c70d8ab3a2195e2bdfee2223bb765a8bc4a23023a0000000000000000997cacbccab63c3b00000000000000009943b1bc5515bc390000000000000000e62c90bc9cdd363b000000000000000049e845bc9c2eb33a0000000000000000fc533abcf0e5623b00000000000000006645ebbb3348ea3a0000000000000000b35299bb20301a3a0000000000000000b7d609bb1eaa8c390000000000000000ae85d9bb7a4b023ba92f583cdcfa263bd4d011bc5acad43b7d56e43c35001a3ca046d8bb5b30293cc472e93c590d633ca0d7babbe568353c7a58de3cf182743cd820dfba17510c3c6bf69c3cd166303cba7bdeba6e58053c9fc66e3cc66b133cc6cd10bbc0eba43bd532f03b4fae6e3b512ae9badb76563bf8f10e3b13e183b8247213bbf9efd93904aebab952ad64bbbef710bbe6039abade8c293c1ba6303a8ccceeba7b0719bb0f560a3c46f9083b0780723a7a3537bbe5b2f43beefc1fbc6350d73abba3b7ba06115a3ba31135bc7cf3773b7050c4ba9bcf2abaffb16cbc62cbdb3ace4e1cb91c7367bb5a9d16bce28f6f3beae5abba00e093bb045a23bb18ec213b28aa39ba90c2d2bb0ebbffb9ba210c39deb1e1b9973290bbfb39913b5a0b96bdfde2c7bb5fadd9b939ba133b4cc518be7e36fcbca5bdc23a75554d3bdb3823be359855bd9b10abbaa0217d3b1e721abe63ce63bdb03738bbd119d13a555de9bd42c346bdda3fd9bb41ea913aec11afbd13401cbd5854acbb5b81233afe2142bd2b55b8bc43dd7fbbc4fcf0392b0032bc2eb031bc1d7b17bbaef2dd39dbd6213c82f6963b426c453a37d9aa3a1348223dec455cbe590f8f3fae926d3ee6d53a3d0d8664bea8628e3f85a8623e8d63043d6f262fbef131783f8ed55b3e8e29ef3c9a1f0cbe26ec4b3f4215413e6a28af3c7679bbbdfe3d153f6e7b213e658daa3c983989bde3ddc53e3b4bf03d6c3d8b3c04371bbd92df463eb080943d9ec9583ce0e834bceddffc3cbccf0b3db96f353c8891a6bbbe0488bd20d2e0bba0608ebdcdac4a3c000000000000000086f690bdfe034a3c0000000000000000d8ed71bd0104203c000000000000000062074abd89d0053c0000000000000000283c09bd243cce3b000000000000000022eadbbc4a93d33b0000000000000000b6f9a7bc1c61d63b0000000000000000df6924bc18ce2c3b00000000000000008d4297bb2635af3a00000000000000005953bbbb4f33653bf70a093cf4b4c93b0181debb9b94c93b8e46b53ca1b65e3c88a1b7bbb03d0f3c4fc0c73ca691983ce81d94bb62eb273cbabaaf3cc2618d3c114a05bb55f9083c61e38f3cf4d85b3c7b02ddbafcf9e73bf2db363cb6ec1b3c867cc0baa62aa63b33ed033c2459803bbbecceba35896e3b6d02ed3ada1b5aba4676b5ba6c1f1bb8864727bbb3250ebb1e252fba5602ebbadda8393c06f622bc518063b73a7961bbb353053c2c1661bb557ad63a869131bb9043a03b568403bcda919a3b5b85d5bae6d2ea3a07c439bcee08a63b67148abac329a039929d36bc0c379c3b2c0802bbec4c54bbc13114bc82be5c3b1d2692b95081a5bb07df9dbb465e453bc541c3ba64718dbb8cd62cbab7148d3a732eaeba10d17abb71dac63bb90859bd4a8ccbbca6849bbb69a9d53bb0eeebbdbf1c7abd5a0a9a3af611813b79f908be0588a1bdfef7afba7a66643b3c35fabdf0f4a0bde077edbbce60f83ac700cebd20128cbdded62dbc93dfdc3a0f908fbd2ed154bde6554ebbc89406baa06527bdbb90f6bc1ec5a2bb2dc68339741f4ebcea2b20bc40760abb41fb06ba8316ca3b4cd9f53b6ace8e393ef7c03a5ca30f3df56447be61206d3f74b7ec3e2c5b303d321354beeb8b693f0baee53e04190a3dba052ebe8cb24e3ffff3d23efcbee33c742105bec73e283f0b9bb23eef39be3ca46ec8bdb1f7fb3e72ca8e3eaeeba43c83a985bde62aa63efa25453ea6ba963cc25524bd04552c3eb99ae23db6c35e3c6c898ebca3a8183d4ea4143d77f55b3c24aa85bc30953fbd64f1b3bcd3adf0bdc977983c000000000000000026b5fdbd19fdc83c0000000000000000a6cfd4bd53879b3c0000000000000000d260a5bd001c813c0000000000000000aed082bd706d573c0000000000000000063838bd9e7d433c0000000000000000f312e5bcf331043c000000000000000074836dbc3d5aef3b0000000000000000097f0abc8f72863b0000000000000000658a96bbbb693b3b5d88ba3b5f5e1b3c6b28bcbb2615943b8ed2793c3ea6983c3f4f87bb30fc033c06ff893ceba8b03c950e39bb0d7e0d3c96f8963cb608ac3c789077ba38b40d3c2899123c0f6f663c84baeeba9d26d73bbe821e3cb32c423cf2929eba73b9943b781c9e3b7c29bc3b629116bb1e017a3b3d1fb3b92b90323b5f307aba1f6c71b9f7eabbba958f4abbcae614bb8cb824bb1b44323cbd6336bc29a1093b4d9080bb716eef3b7f69b5bb632dbb3b7bc169bb12076f3bc8493abca46fc73b487e34bb5607093bddd53fbc4020be3b6ca921ba719714baf7ab51bc004da23b9de2233a2cedcdbaf7f600bc0c76663b09c697baa0134dbb21bb87bbe488a13a23ce83ba8a425abbd85e6aba5ef5c73ae72c74ba42efc8ba71328c3bed6b12bddc7418bdddb6debb2079083c0466a4bddc59babdf649cfbac402f63b8087c7bd84c6d2bd14fa11bc44c1b73be066c8bd6d2fd6bd655828bcf3909c3b5eda94bdf03c9abd38bb75bcddab863a268076bd837581bdaa6426bc8b647b3aa47709bda7180cbd036daebbe72032b9146631bcc2d82fbc650d88ba3468aebaa95f8f3bc140cf3b74c9173bb2f2d5b902abe53ca86b25bea097323fc08e323f75c90d3d7cbc2ebe54542e3fdc6b303fdfded23c10f604be5af6193f434c1c3f626dc33c5993e5bdbf68003f24d4033f6ed9733c93b58dbd53a8bb3ed9fac13e67f4983cee537abd3fc5843eef63893e44be803c7e001bbdbc700d3ed656123e00783a3c8ea39dbc91981f3db677183db892253c46724cbc376a00bd73a20ebdffd325beb3f9d93c0000000000000000128e2ebec95d043d00000000000000000b0309be98bbbe3c00000000000000004409e0bd5737a33c0000000000000000557586bdfd58663c00000000000000009fd16fbd9a5c613c0000000000000000947e17bd2af5433c0000000000000000b1dc82bcb988093c0000000000000000181c50bc752b013c0000000000000000bd6f5cbb509dd73aedc0713bc8982b3ceaea99bbcc0a483b02964c3cd7a1b93c91e17bbbb444bc3b2643853cad2ed83c760536bb1df8e13b02bf753cc590ba3c040b40bbfec1fa3bada44e3c00529d3c20fce9baf6d3e63b2d60113c5f20533cc4bd05bb3a0e933bab2daa3bd504ea3b7b9bd2bab78f3d3b032fd73acebe003b4c21a8ba7865a53a7ca02ebb086009bbfcd9143ad5fc4cbb8bd3fb3b8c950fbcf8ac763b78e6dcbb3e27bc3bd0fab0bb8603b63b6d50a0bbd09e423b289a96bbf2030c3cedfb5abbfa7e5f3961a403bcf28fae3b5adedabacb71a5392f8b1dbc3b7e9e3bdf8587ba4ac64dbb7728ffbb6b8c423b5402a1bae0c08aba5cb8cebb4bba283aa82e2eba315f27bb4f68ccba135db4394d2ebebab10681ba3eb7863a06de98bc88306abd4a95e3bb9a001e3c3b6358bd0644f8bdd104813ab354163ca70096bd52750ebe23fbb0bb5ebdda3b49fe91bdfa0403be3d4437bc4c86a63bc3ea81bdc269d7bdb23c56bc6d18403b3bb03fbde98296bda57c12bc6c3384398230e0bcd5ce2abda28ebabbd4cf3e3874e547bc0d122ebc91f02dbb0d2900ba210c6a3b0394293c04438f3bffba6dba57fda33c9fafeebd87d1eb3ebb276d3fbe39c83c401dfabd67aae43ed7a36a3fc62caa3cf238d3bd3482ce3e025d503f8b67933cb621a3bd8cceab3e3e882a3fd06f753cd0af7bbd11da863e9a8f013fb5185e3c90b736bd896e3c3e4fb8a93eaac4543c5b70eabc2770d93d11dd2c3ec20a213c149b89bcab8c2b3d3ef3073df48b033c25a54ebc742d86bc5b1653bd896247be642c083d0000000000000000a2e255be66d9203d0000000000000000a4c62cbe82c3fd3c0000000000000000ae5802beff25c03c0000000000000000b0dbbfbd9a4ca73c0000000000000000b42382bd86788f3c000000000000000093c511bd309b443c0000000000000000faae62bcdd70073c0000000000000000ebb042bca54cf63b00000000000000007d33b2b9f44637bb03fc913a8a877c3c4aaa27bb82d6e7b705c3f53bfc1df93c9af55bbb1e4e293bf6da5e3ce941f33c2dac45bb1e17913bfdb6553ce74fec3c01dd61ba3393863b6a252d3c182eac3c6b5655ba25d3933bfb1fd23b3aea853cac85beba8742673b3e6a793b8e321d3c1daac5ba7292353b968b3f3a28e4363bfcafebb9b4e977388d113abb39091fbad50059ba9b3ec6bb9eb07f3b39447fbbecd3083bc0c3bcbb659f3a3b2581f0ba48910a3c2a34b9bb87634b3b234993bba6f3073cd67163bba77aa039c963acbbb8fbdb3b60b15eba677c98bafa52d8bb3492c13b55420bbbddbaf8baecf0cbbb59672a3b047d15ba4729d8ba6501a7bb7d9ab13ad34798bacde0b7b9616c4abb6679ebbab65085b9515520b881a83e3a33d424ba42b5a0bdedddaa3bf790123c1fc0d2bcf2731fbe1a50f93b625fbc3b15813fbd672729be9a70e2bb5dcde73b006b4dbd303c1ebedb3845bcaf75523b96e43bbd82f8efbd6b0f80bc2020203aade811bd3b5bb5bdb24b04bcab8a833906efb8bcee3944bd930189bb30e7f2ba445637bced6739bc548b08bb366f07bbf35de73aabf9523cb723543b5093e2ba1831513c5a5a8dbde1d66e3e96258f3ff7b67c3cd7ad8bbdab4c5e3e6af98e3f2e26283c47a466bd1b07563e4370793f2ed0403c495342bdd785383ea3034e3fd9de233c30e505bd171c163e693b173fd232203ca7f6ddbca455e43d76f8c83ea40d1d3c99b599bc76e3933d0c17483e9865e03b72f042bcb5271b3dc156e23c4b15963b9675fdbb2cc1213a985a94bda1bd5dbea23d223d0000000000000000209965be2ccc323d000000000000000071032cbe397efd3c0000000000000000e12b07be6d4bd03c0000000000000000bac8b1bdb31c933c00000000000000003d1d7ebd63b8883c0000000000000000c6080ebd7407553c00000000000000000590cbbbe522f13b00000000000000008182aeba5be1e73b0000000000000000071218bae70d25bba63982baa6deb63c788013bb075b1ebbd170433b7d8e1f3db9ae5cbb3335c03a1ff50e3c29dc223dc03e45bba1d3213be029473c26f7063d83b5d8ba47066f3bff960e3c83f9d83c4da813bb2b6f713b0694e73b3fcf9c3cb58103bb96a2843b3675683b994c3c3c1aa7a2ba7eef623b8397c93aab303c3b0a65adba061361392525fdba5e48d0bade9869bae2b4a1bb48f5283b70a5b33a0f1d943afd1814bcdfa0c33a6c57a835f45fe43b4610bbbb59778d3a0c0983ba7c4f0b3c6d203dbb6b3f88b987a204bbc663ec3b66c924bb068458384e88afbbba279b3b46c8093986722bba3162d2bb7aef1d3b36cce2b957e299391d8ee9bb79b7543ae97e7e3a74b3253a33a9a6bb7d6e1cbb2771ddb92de38b3aabbc8cba5ad3d03b425af6bdcac6193cc58add3b8eb4b63b7b0543be3e3eb23c8265c13be761b0bc1f1b4ebe1dfb41bb9da4b83bed19febc752138be69043bbc7420883b6c73f8bc6a5b0dbe93707bbc7e09003aafc8c3bc9506cdbd08e443bc584a92bae3308fbc37a658bd3084cfbbdef72bbb608567bc3783eabb553dd8bbc92699bb9780bd3aabe1963c75aa943b1ab4c7ba03e11f3baacb9bbc025e8f3c10d3ab3f68e17a3b347298bc2221a53c85f79e3f836d6f3be3ba91bc9c6f1b3d8fe58d3f03a3903bfa3378bcd3cb423d8988653f39e9543bac4728bc5b70403db786293fbd91a53b03a0f7bb20d0333db6f4db3e15b3a23b2d1193bb9a93223dba33513ef8744a3b013998bb29442a3d483b823cbc863d3b61bf20ba09d6b13bda80e6bd22885bbeb708163d000000000000000005c94fbe23d71a3d000000000000000013bb1bbed0c2cb3c00000000000000000ea8e1bd0e6c933c0000000000000000cc7290bd7403823c0000000000000000bae62cbd1c69493c000000000000000038e676bc2611f83b0000000000000000c96b753ceeee503b000000000000000062622b3b9c00843b000000000000000000000000000000000000000000000000f208b7ba82c555bb2d73e13b84c5163d95cc1dbb411e0838ef002a3c9704053d2954cabae0f5413b11ed2b3ce5aae13c4ff0f1ba2f132e3b601e333c274f983c617782b9e39dee3a64aded3b92b56f3c0a9104ba1d2c273bfd32353b543c2a3c8393c2ba57609539211da33ad341533b0000000000000000000000000000000000000000000000000000000000000000235fd53bfca1d1bb36f35a3914a1d93b4891133c03a377bba93f05358c403c3be9ac323c74d106bb8b22e8bafbfc8bba5afce03b05358a3aeef2aaba21d71abb342eb73b0900983a5a3430bba80109bb2fa5e73a3216393abdff7cba3c04b8bb1af96cb98db54e37fec1903a503615bb000000000000000000000000000000000000000000000000000000000000000000af6fbb44fd50beae06273ba9d15f3b143660bc3efe41bec63235bc16553d3b8ecfd2bcd21928be515ec4bccfa327ba5414b8bca70909be8d70a5bcd812e9ba1e5191bcbe43bebd73bc86bc5c8381bb33c631bc05bd54bd18651cbc2c810abb592281bbc0b71ebc759b0cbb5b68e8ba000000000000000000000000000000000000000000000000000000000000803fd92487bb489a723c1750e7bdcd64ac3fae0a39bbb5d9283c769b85bd24ee8d3ffe9833b9e7f1e53bf84624bdf27e683fbe9daa3aa786fc3bee11c2bcfd612c3fb579bc3a3b17d83b637744bc812fe23e1799333bab09e73bba14493be1345d3e2e76673a7f39b23bd47fe53be305f93b00000000000000000000000000000000000000000000000000000000000000008db0f3bd2342873c0000000000000000cf1a8dbdcee00f3c000000000000000023111bbd2fb4fc3b00000000000000000c53b5bc9632d43b0000000000000000135002bc84d4c43b000000000000000079a6283b01b3933b00000000000000002422fc3b705bf33a00000000000000000000000000000000000000000000000000000000000000000000000000000000f0e3f9bb308d033c9ea2c93c1b49223cac31babb85c60e3c275ebc3c40b3503c257546bb4b1d0d3cceada13c2fe93f3ceed262ba7faadf3bebed773c6129353ccc3180ba2286a53b706f4c3c47a90a3c93a6ad38ba463d3b7252e23b4f3c863b25c0e6b8520e693af5433b3b4e02373a0000000000000000000000000000000000000000000000000000000000000000bb7c0bbab19a33bbf0de443cdb194abcfb1f693ae3a6b0ba7386123c635895bcdce5a73b27701cbaacb48a3b6042e1bc4fd9723bc968383ae5b80aba414ac5bc5963113bf009623a0f26dabaebe285bc1094083b88e6023a37bd81bbd3d70bbc8b9db73aaaa76e39449496bb1a370d3a000000000000000000000000000000000000000000000000000000000000000048fc26be46f2d1bc4754bc3b40741f3b1f9817be9d7a18bd27e9e5ba49631d35ef4f04beb11134bd7de109bc45ceb1bb2edccebd04fa1dbdc35e39bc8c84d6bb33c698bdee82efbc491c0cbc4c18b1bbe9f23abd448570bcaa0bc4bbfa3ba8bb85576fbc4ec51fbb49b50ebb19a270bb0000000000000000000000000000000000000000000000000000803f000000001fc7e73b2789e4bdc4efa83f335db7bdb331b039a8f28fbd311b8a3f6eb61cbd5aa2a1b90a3928bde0395e3f151f77bb5d2589397cc3f2bc7f4e253f1310c03b9017b83a1c64b5bced59dc3e7f73b83be2dabf3bd4fc1ebc1aab633ea859f93b3dfe113cb4f5f2bb73dae43cde5d69bb000000000000000000000000000000000000000000000000000000000000000054bc113ccfa8cfbb0000000000000000bcf6333c9b5fc6ba00000000000000000270823c7d0f903b00000000000000002c31933c8876e13b000000000000000036a57b3cee9fdd3b0000000000000000834d493c5eae113c000000000000000023e02f3cab0fa43b0000000000000000000000000000000000000000000000002b95e0bbf372453b65ba653c2bb01a3b576526bc37bdae3b5211c93cdb27123c65fffdbb5955003cb241d53cbc266c3c1a5eaabbf0a6f93bb479bc3c91046f3cd069e8bae583c43b89968a3ca5803f3c4037b9ba005aab3bebf0503cce3a0d3cc36d74bae2340f3b8fb00d3ca015bb3bea326a3ae529ac3a20810c3b1ce1bb3ad72e213a8baeb9ba60f25bba15ad0ebb46bb04bb46379bba937c633c0d8ce7ba24fb0abb407851bb9b87873ce904f23b0c01f93afb2e17bbf43f573c36b640bc466b403b2e4cb2bacbee223c888b93bca47e9d3b2ad44a39b8954e3b708b98bcfcd6843b1fb5c7392eb786b8980e49bc20e5163ba5c07a3a3e8e78bb52bf8fbb6c50b23a7989353a1d1b15bc4c69063a0238763a8369e1b9e1b6a4bbe029af3b7db1cbbdc1e1fbbb0a0ea33bc699953b8d7721be28fb93bca42dd13bb027883b17aa22be220338bd6e066fbb7315803a43460dbe03fd4ebd837e08bc78ad89bac767d7bd60d139bdc1884bbcf0fbaabbc9219fbd379510bd89cc2dbc2453b6bb4f1b3abdad78aabc06c1f6bbe853babb6c4b42bcc3990abc82bcaabb47ce88bbed83253c4ba5c33ba9853bb8455011ba2f06be3c979d46becd10a93fa060fe3c74f9b93c0ca24fbe82189f3fec2dd33c572f323c55a111becec0883f516f893df9bda63b6e77d2bd03455a3f3616a33d4059bf3be3df8abd2a111f3f2a6da03d51cf153c8d3950bdf44cd33ead407c3d4c25343c4ef1e9bc4c9e513eec7f2c3dc5aa553ce771bc3a625cca3c4893e83c70005a3c7d01f6bbd51dbcbd9bf712bc789fd5bcb03cccba00000000000000007ff2b8bc24eb683a0000000000000000b1f168bc7757ec3a00000000000000001fc7f5bbd56b6f3b00000000000000008420763a23e0053c000000000000000089c9423bb25d1a3c000000000000000089ef883b1aa2183c0000000000000000d69be63b576ccd3b0000000000000000dd2eff3a4e4d3b3b000000000000000061b5c0bb6fc9193b0ede0d3c6e7d2e3b259109bca51ea53b0579a33cca5f323c3ea1e9bbbc35f53bae35b43c19826c3c94c99dbb44bafd3bc191963c9c30833c0c48e2ba7261b23bb052673cf96f413c344fd5bac3512f3b67ed4f3c513b343ccea793ba35f52c3bd1a0c83b3ff39a3b8fd83aba9e52d43ab4491d3b55d8013b3d0a9039bcd71b395390e3ba82e8b2ba38800bba1041e4ba2f39643cc94d0ebb50ac803a964c29bba53a723ce5df95ba6bac423bba47c2bafd065e3cf79f86bc77faa73bc34352ba8a71123c2f8582bc9bdf973b6c1bc93aa9367d3b370989bc2553ab3b3f71b139f98fe13977a733bce12b543b5134e8b7c3d70abb792f24bb3805e13a5085193a4317a1bbd0145439dc2e1d39e9c5b1b96fe8b4bbd905833b480085bdf59a42bc2e1d56b9b1a6d33bc9f201be92c12ebda97ee7ba89198b3b61be01bed2537fbdaa1237bc30db163b96b9f6bd04cc84bd36784fbc74b32bbb7955b6bdf5275dbd40dd92bcb93ca7bb523a8bbd7baa38bd88ce5fbcbd65eabb974423bd91a7ccbc8010e4bb876688bb1f835cbc59c81cbc452c37bb30dbaebb9f0c013c29d5713bc271d73a8b4547bad840ce3cef384bbe346c8d3fe027753ed18cdf3cf15a59bed01e8c3fd0d36e3ebe79523c1e4f16bed9bd6b3ff887743e652d2d3cc453fbbd26d6413ffd30593e0f83f63b2493a6bd5adb0b3fccd5323ef9cf443cccab83bdcb77bd3e1993043eb83b693cf34737bd45cf443eb0b3983d48ca623cac4f89bced53113d00c5043df280793ce5bc20bc80306dbdde6d32bc69388cbd450ca43b0000000000000000800789bd3c4a133c000000000000000056c932bd22eed43b00000000000000009cb60abd18d13d3c0000000000000000e27d88bc79be3c3c0000000000000000b0396abcc9c7823c0000000000000000120b24bc19ce4f3c00000000000000003ba791bbc1a81f3c00000000000000007945a8bbf004b13b000000000000000080228dbb5894043bac02ed3b419d9c3b12acdbbb04d0663b5bbf813cdd52543c14e7d7bb0629b53b4c78a13c2bcd8b3c498b81bb17b8ae3bdb4e903cb8ce813cde42bcba6bea803b41a26d3c834b673c32f3c0baf5ae563b44d12f3c45f9293ca60fa2bac49f133bc56bde3bf963c63b8fdc8eb9a931dd3a2bdca13ad7edc63a16f40bb9f11945ba6b45d3b9002ad4ba86f3583af16645bb9af15c3c2cb31fbc4c8f433bb0e05ebbb7e6833cc916bdbbab73af3b11f206bb267e4f3ce4a238bc96bcef3beff9acbaf92b053c6ff05ebc43dedd3b0d3e003a77a1953bab1e75bc377f8f3b5fb8983a8bc1a83acfd6eebb0fe16d3b4b41483a73cfbaba841d88bb39990d3b8d73ab39145ea8bb1b5377ba771bc739873e8bbae9d929bb71469f3bf9ac46bdf4ddd5bcdf41d7bb3a8b1c3c9f2ecabd4c9f80bd2538ecbbe29e063c5e18e0bdb51ea6bd6c5f7dbc4d72653bbe5ecbbdf823a3bd62dfa1bca53dccba0458a4bd7c548bbd1effacbc6d179fbb7c9978bd557f4dbd9c9981bc5876b9bb75d00cbdac9600bd38f419bc4e83d6bb784323bc2d0623bcb96931bbc806bfbb4adf443b67fdf23b50ca2f3a2add663abaff9c3c328931bef0ff683fc09aee3e3aa8be3c4e9847bedf2b643fec94ea3ebdf2503ca3c919befaca453f35b4d73eaa2a203c0416ecbdd9e71e3fefb1b73e66820f3cc376b0bd6733ec3e352a923e03ef2f3c9e4987bd24239e3e4dfe4d3ee7545a3cf14931bde83a253eb851eb3d21ac8e3c9fa3b6bc1961153d23041a3da9b84a3cbc7373bc125131bd4386b7bc3c21e0bd46bf193c0000000000000000ca2de5bdc5067e3c00000000000000009404aabddad8543c0000000000000000c98967bd52d07a3c000000000000000000fa20bd921b853c00000000000000004e8bf1bc064c933c000000000000000031579cbc900e8d3c0000000000000000fd883cbc24aa633c0000000000000000bd8839bc4d65f53b000000000000000073836bbb228b8739b360cb3bca359a3bafedb6bbda2c003b6229763c8014653c43a5a0bbc461823b09fb843c8f5d923c511068bb5c75703b84c4803c43888d3cd2d7abba98dea63bf02d2b3c7d1f3f3ca02b13bbeeef543bb99a253cd9df323cb7521fbad713b53aa616963b2118cb3bb3c971b9da9f9d3a76a7c03a5e4a283bda86a639caf027b9219febba486e0cba533f2b3bb4a15bbb39543a3c9c9cf5bb2cf9a53b1e7a70bbecbf543c5a56aabbf198e53bc001cdbab59e293c4cd022bc80b2fc3b1dd8443ac19d163c430c39bce51fdb3b3646073bb26de93aa7e676bc0a4ec53bb47ae93a7c51da3adcace0bb78fc373b469da23a10fe4bba2bd975bb3115e53a769f8bb97ba140bb3c524aba3111bbb97074f2b9bfce30bb5272ba3ae11011bd32dd0ebda2d033bc46eb4b3c905c9bbd831ca8bd38f36dbc244f283c2911b1bdc10cc4bd8e71b8bcd0bb4e3b1af7a8bde1c8c3bd29a4d1bcc43455bae73779bda76a8abd6031ddbcd42cf1bb856e50bdefb572bdb63c9ebc1c1ff9bb6095dcbc57a50cbd07b805bc4712c5bb87a40fbcaffb5cbc5253debab684abbb5258eb3b7d63633b31454a3b3b8b0bb91208603cc01b12be9fe52f3f50ff303fb45f8a3c570122be53b22b3fed862f3f1ac50c3c0413f3bd8c4a143f48291b3f9a7aed3bbf15cebdc346f33e17d4023fcd46043b7df772bd1113b03ec574bf3e1f81243c751174bd4b87753e54be8b3e6af5303cf3db1fbdb570013eab69173ead2e4e3cf5bbaabc8b81023ded94373d3bd95d3c07405ebcaf1806bd4478eebc1d9e14be3143513c0000000000000000d95719bec92eaa3c0000000000000000f8b0d3bd54788e3c000000000000000098b3a1bd32569b3c000000000000000095d21dbd22529f3c000000000000000079a020bd99eea93c000000000000000047bdd8bcb8dd933c0000000000000000e1288bbc1323883c0000000000000000d50e83bc7ad01d3c00000000000000007fec39bb8dbae0b82b2d903be6f5d53bd141b4bb7600e8395af5343ca5a98f3cda25c0bbfe50043bd687803c0c50a83c122495bb770c573ba585643c63e5963c5d3528bbcad93d3bf3da3e3ce60f853ca46409bb237b0a3b6f521b3c8f85333cb5402abab59af93a908d893b1feff63bc9e7d2b8b15a3b3a6edfc93ae6a51f3b4eb0ceb8602c6d3a6edf01bbc3e37bba5b4f1a3beb6860bb28ea313c7184b3bb811bd43be52a9ebb0b263e3cd8716b399c88073c8bc207bbc88f2a3cbdce31bbe78b263c2df58bbaab59f73b7523afbb770ade3bd790223b05f3983b3993eabb4bb5d33b628da03af0bae53ac9f4a1bb1e46543b65c7c63a8970f5ba830332bb7c49a83a3518c1398d4924bbae9190baa55209baad548cb9af450fbbddb39db81aa3c9bcabbc4dbd0e3218bc97fd4d3cf94862bd623dd5bd6b466bbcdcf23a3ccf618fbd79adf3bd3748cbbc011fa93b02808abd2e1ddfbd9b0bdfbcb2c900bb411a6ebd1329b7bd9a5aecbcd5ce8bbbc65b2ebd419786bd141fa2bc3400f1bb035fc0bc943723bd75b231bcc46eecbb4b4704bc119367bc0c5e44bafaebe6bb669fbb3bfcf9ca3bb354a63be510b7ba95a5103ce027dbbdd7aeed3e7b4c693f3470483c93bcf4bd0f84e23ed9c0673fc9b6903be2dac2bdafdfc83e4d004c3f29942d3bc26799bd2a06a53eab6f263f89d3723bf6ed71bd25c87e3e9132fc3e3fcfb73b97b22ebd848c2a3e19edab3e6cd8223c5970f2bc5cc2b93d8f0a393ee306223c0aa66ebc4942d53cf157443dd1ee1f3c973205bc404ccbbc097628bd30ea33be9ac69a3c00000000000000006ed83cbef0fbd13c0000000000000000a49f08bec37bb43c00000000000000005743bfbddea0be3c0000000000000000559a75bdb20da13c000000000000000079363dbd580fc23c00000000000000008692eebc81fdad3c0000000000000000675b89bc3012973c0000000000000000fa2898bc9e4b343c000000000000000070b0f6ba709ff1ba84f3343b58b80b3c08188ebbbe1c76ba73d81d3c5e1fa43c80b0acbba460583af4bb593c00ebb23c07fa88bb881c953ac314583c6d12b03c7a34dbba23650f3b70511d3c14ee873c17cefdbab7bcec3a44ba083c8a32543c5944bcbab3c89e3a708d943bb93ce53b67ac9e390765ce3ad9636d3a1572183bb8c36237cceea839935620ba27f8b1ba602d4c3b8a35a2bbed79cc3b0bd9913a8171f53bb588babb3a2af63bf404873b0dec1b3c79c101bbc1fe1d3c1bd9efbaf9ca193c393699ba2558ee3bb296d53913501c3c3948933a42f5ce3aa407e1bb43c9e03b9a54963aa1b6a53ab98733bbb4f48f3b6e724639890c273a53a52abbc416273b14f75f3950ab5bbb877669bbe4a77cba85319fb9eafaa4ba484c98ba2f3133bcb87f83bd5d619ebbd34b5f3cf4370cbd5eb805be1bb738bcd080333c7afd4fbdc36708beea8fe6bcd9a78c3bf86c5cbd8e7901beba7ffebcc074973a12de33bd8093c2bd1dc0ffbc1e2704bcf32407bdfcc19abdfcfbb5bcbd8ef0bb13a69cbc00b92fbdd60a38bca5cad0bbc70ab7bba30971bc2dd40fbb2f51e9bbf09c6e3b2fe1ea3bebc9ab3baaf73ebb6690d23ba8fc8bbd8607753e91668d3f72a3c23b35cd93bd2eb15e3ead768d3f8812e9bacd6e63bdd97d5a3ea044703f113850ba99df4fbddfea353e0f35473f31ec913a985607bd2bcf103e1270113fbd03813b374bf6bcbbb9c43d06f9c73e9d7ebc3baaab9dbc57c25b3d7c92533ef6bdea3b4849d7bbad0daf3c66d8323dcf97de3b98b0c5ba65a147bcae6967bd535449be10f3bb3c0000000000000000f2b14fbee00d023d00000000000000002bc002bee041ac3c0000000000000000b445cabd141bb83c0000000000000000662957bd6b80b53c0000000000000000480f2ebddaccc03c00000000000000001285dcbc3642a33c0000000000000000e77440bcbbcf8d3c0000000000000000051223bc24043a3c000000000000000063d7a9bace0248bbf7a0233b13b1503cad4680bb66eb8ebbc342fa3baf54bf3ced6ba6bb0a59adbab7633f3c8874d53c89978fbb566d6e397d44403c4e79b73c36aa2abb03cbd73a7124173cb7718b3cc4eeb6ba9c036c3a61f2db3b36e9693c56e8d4ba071faf3addbe7c3bb364153c2f15273849cee83a9524733a0a3d283b0d14ad39455d973a91171cbb05cdbcba1225703b0e50b0bb5c8e863b3d19cb3b12b3023cf1c1febbab42c03bd12a363c65ed443cdf7069bb7528f23b7822e03b8e9a433cf0cc1aba9d24903ba3e78e3bc54a1c3c6427033bf7043c3bb1e164ba4be5ee3bc0bfd03afd5f223a6fc007bbede3823b8bb1dc3ac003be37811155bb53ea0a3b0826423a78f244ba79e5cbbb159f8cb9b8362fba8f56a7ba10aa5fbb8128a0bb7093ccbdabc480bb4106553cc0651fbc7fd922be46f89abadf48523c050bfebc321828be7f47dfbcd09c953b73d419bd063211be0f6d0bbd5094a6baf14c0abd262adebd68c208bd7d55f1bb2543c4bc06c0a9bd3236cebcbc3d06bc687e59bc3ed245bd542449bc54b112bc89efa1bb39dd6ebc38091bbb4cc821bc9441ab3b490c353c1c6bdd3b28ea36bbf23401ba2b01c8bca596fb3c9fffa83f074fb3ba8669e4bc319d563c5aeb9f3fe7b5a0bbf4d4d1bcfa74283db51d8a3fa31196bb1726b3bc3236433d47295d3fb1bf4abb3c3182bc45f43a3d6baf223f512ca83a19bf0fbc2f1c023d4e86d93e4c5c363b40ed83bbf362ad3ce14a5a3ef7e4223bfc60a53babfdaa3cf46af63cae0f873b5666ac3b1b3d06bcf06abbbd9ff445bebef0ad3c000000000000000063c445bea1f3da3c0000000000000000b2aef3bd36eb9d3c0000000000000000795695bd2e189f3c00000000000000008b2a19bd3345973c00000000000000009014c1bcd326a73c0000000000000000a14f33bcf3779a3c000000000000000093abc13b8f338d3c00000000000000000f8514bc69e81f3c000000000000000000000000000000000000000000000000a22298bb312d2cbbe8ca0d3cb776c73cbdf682bb4dc6bbba6891243cb601b03ca1ab58bb2864a13ab3262a3cd35a9e3c085ae4ba00e26b3a0f27093c47b8833cd8271dbb7a91d43a1e37d13b1f533c3c86ab12b9b5569e3a00de3d3b3657e73b8ce4fbb95a7aa23a13cd88b88baf3e3b000000000000000000000000000000000000000000000000000000000000000083441f3c90fa75bb1f5bc33b337b4e3c4fe6393ca9925cba0519a03b1cb7e63b451a303cdfb7f43a7119993b883ceb3a3ba3183c2443503bc124bc3aa639ed39e6b4e93b6480243b831b3c3ae5e9f1b9ddc1813b98e79d3a918a69ba5c8d43bbdeae753a8a46563acf7cd4babe3757bb0000000000000000000000000000000000000000000000000000000000000000402592bc7f0e2abe7e35a9bcdce7ca3b51e7b1bc83091abe9615ffbcc9ea9eba203904bdcd0d06be553829bd3f7603bc8187eabc9b7ed6bde6a118bdfb6034bc6a4d9dbc44fe99bd95addfbcc49033bc655207bc1c5041bde4c06cbc9a630dbc36092e3a8d2970bcd694afba7b80b4bb000000000000000000000000000000000000000000000000000000000000803f7a0018bc0b67833beec6cdbd8a24a93f9ecd17bcc61570bab3c977bd59808a3f268001bc23a7fb37536f03bd9f9f5f3f37deb3bbde06c039c19bb1bca694263f6ace57bb6a0e9a3acfa6a2bcd5a9dd3ea24b153a4e83c33b687434bcabc4673ec6f1423b50161d3cb80c2fbc8850e93c00000000000000000000000000000000000000000000000000000000000000002a70cbbd4181373c0000000000000000996d42bdc5f0483c00000000000000009c1a4fbc27e2783c0000000000000000cd4a7a3a75ca8d3c0000000000000000f3d88b3b962b843c000000000000000009fadc3b65db7c3c00000000000000009834cf39254c2c3c00000000000000000000000000000000000000000000000000000000000000000000000000000000119a7abba475733bf9cc063c059dd63b417923bb15602b3b36e4033cf790f73b2bfb03bbe376433b0fadf33b2f67ee3be81a82ba3c1f313be2d3bd3b7a6dc73b4edc57baa0ee803aca928e3bc686cd3ba5e49fba0cb8b73aa05f2a3b77a6693b2f62adba3a441a3a6f7ebd3a3172313a00000000000000000000000000000000000000000000000000000000000000009ec0923b7355833bf4e88b3c5bcdcdbc1181c33b667ed13b5900623cd961b5bc9f99e63bf9bffb3bb245083ca854b9bc298fd93b6f22ef3b381c803bec93a4bc511c7c3bef9ad23b2283d83b2d4f5dbcdea2623b598d753be586a63b5ebccdbb661ee43a2c7ddd3a71ea863bf6989cba0000000000000000000000000000000000000000000000000000000000000000c015b5bd66212dbdf4118dbc5c361abc8d349dbd8fdf40bde96fcbbc8079afbc4fc688bd987e43bd2d5304bd9b4cefbcf5ba52bd7f4723bd5ca9f1bcb94cf3bc64f81ebdff4407bd77b9b3bcd3ffd1bc99f7d3bceb25a8bcbf156dbcd00c92bcaa0322bc5d5602bc04f058bb4e4006bc0000000000000000000000000000000000000000000000000000803f000000001df4a1bc44783fbdc408963f5f6626bc9c95f1bc597f02bd587a753f2c168f3c4cbbf5bc6bcfb0bcd603453fe8b2073db385e9bcdfbda3bc2fb4133f2256013dd677edbc5beee3bc466ece3ea0739a3c223499bcaedcf5bc36c1703ebfacb73ba7ff8dbb2d9d09bd238b903d15a176bc000000000000000000000000000000000000000000000000000000000000000046d78d3cae5b033c00000000000000006607043dcc04d73c00000000000000004093313d46902d3d0000000000000000f7132b3dfdc5313d000000000000000074690e3de37b2d3d00000000000000009ffcca3c559e0f3d000000000000000044d7093cf0c2af3c000000000000000000000000000000000000000000000000070c29bbf7261d3bdcd7a23bf2d4193b9a0bafbb28965f3b288cfe3b060dc33beb0b88bb7f52323b84550b3c2a31023ca5c34ebb9711f83a64cbfc3b26be013c2d866eba0d10d33a3bd0c93bc4aad73bd76d37bbd7b1fb3affc4963b18a5b03b84fce3ba17b2b539a2e6553bb484453bf55aa7bab41ad0387750d33acc38d83a48c0abb9b1b1a039b1bc81ba865dcbb9bf4ca83a61f501babcd6813c9b93babcf2a67e3b87d2433b308ae23c860aa6bc3a67c63b3fdaeb3b805ca93c40d0b3bc6155e63bcaf9153c19278a3cc5dc9bbcc1a3be3bdce0073c8407dd3b9b5ea0bc6764b93bf7aadc3b05f93d3c7ad231bcdd8c633bf443923b3e6a063cf0f792bb27e6ea3a50c5223bda17773b02ae72baee8ce9b763c152ba6726c13a0069e639ee785abd904bc8bc2fb2c3bba242f23b0667a6bde2ea25bdab9271bc62a089bb6be79fbd8e6850bd0672ffbc0fb8b8bca2068cbd7e8b50bd6f0212bda515fbbc342438bdb6a140bd8e0ef8bc35befebce2c920bd48f011bd29c3e0bc5ba9d6bc2805bcbc4ef2b5bc335384bc61949abcf4b912bc6de126bc2f64e1bb703841bc95f7d13b0ede1b3b95b3273beaed653ae03312bc9a09b1bde65d963f042fcf3d083bf6bc347acdbdbeaf8c3fd7d4c83d6fa815bde0c481bd8909693fac1af93d518727bd67e251bdc02c393fbf9ef23d52f603bd547b16bde4c1073f1321cc3d1f3305bd117b3bbd9af9be3e5f8e923d168c99bc325138bd8ba4573e1edc173d4ddb903b441b0fbdf9c6863d9a88ec3bb58a2a3c68f1ebbcd1bf41bd50bfbabcef1286bcd3af46bc000000000000000061309ebbba5d003b0000000000000000b547c93c6aeae13c00000000000000004d79103d29a6313d0000000000000000a61a193d710d383d0000000000000000d10c003d079a3f3d0000000000000000c67f983c9e371c3d0000000000000000e24a183c978ef73c0000000000000000377008bc591ff73b0000000000000000557d25bb5055fd3a55ce4b3b7368353bc0ad9dbbb7023e3b24c6ea3bf945cd3b922d4dbb3741ba3ab7dafc3b5372f73b0a5356bba750d23a9094f43b849afb3b8da6bebaf45fc43a2272c63b490cdb3b4a8809bb7662093ad0df963b5b55b43b151e99ba01e4a0382a80473b6e7f543b8d3397ba1ed0f0b8ae39b53af0d8ae3a745cb5b998b462b95a4179b91afdbf386c2f6638c0f961390981853c4af69dbc480b7c3bf013943b8788c83c0071b2bcf816c53b995b143cd879953c0be8a3bc65bdd43b0bcd1d3cf804933c456ab3bc109cd13bfe7b033c3146003c67c97ebc74db9f3bfe84ee3b87af453c101c1fbcccb05f3b50688e3be5b7073cfe70a8bbf4d0d53ad0351f3b8e209e3b6de2e5bac36614ba6a0830b9e0bca43a456564bafcb50ebd452ba0bc32c01bbc18abf83b61348abd89ce38bdbe8ccabcfa18ffbb39bf81bd60365abd71e719bd6978dfbcee7564bd29fd59bd315924bd891f05bd13e03bbd73603bbd303f11bdd731f6bc207b07bd83c611bd44a5f5bc4e83e7bc50f2a1bc66f7b9bc461b98bccbae96bc13e6d4bb6f4926bc2866f1bbee6a29bc710b9f3b7573d63ab864ed3ae0658b3aaea336bc95c8c0bd349a7e3f578f883e6eb1d7bcbd9ad4bdcd8e743f0120873e19fe04bde8a382bd8c56463fde8a813e893e23bd8e7278bdf3d9223f34b1613e9e3204bd7d7f31bd47b5ed3eaf32333ebecd09bdfa565dbd4c6fa83e9c38033eee1baebc03db41bdbb60413e4234953de085173bf2c42cbd7dbd803d399cb13c94e7663c98f1cebc3a84ffbc659890bc4b5611bd060648bc0000000000000000b1ed89bc8005073c0000000000000000e8a8943c01d3043d000000000000000065add73cab62363d000000000000000042b4033d96293d3d000000000000000071b0c73c6e96393d0000000000000000167e3c3c868d123d0000000000000000b535fdba823ce03c00000000000000006ee046bcb3e7093c0000000000000000f0f8b5ba84b9943a4361163b79ed473bc6ef81bb8512e03a0c4ec63bb18ec03b8d4661bb46a19e3a2193ea3bf6e7fa3ba5353abbbc2fb33a4f91b23bc3cc0b3ca69ea1ba8034793a54a2bc3b5730dc3bc66a04bbc7ea3539dbcf8f3b0451aa3b2a28e7ba0244b0381fe94b3b74c2463b76cb55ba3b24e1b9a576c63a395dc63a614cd5b963fcdab95279b8392482beb9f7ccdcb9cc60d23ae11b503ced469abc5215983bf658ab3b09d0b83c56d393bc96ffd33b988a0e3cd0459b3c6ee885bcf72ed83b0c2c273cdc8f8d3cd32e67bc235cbe3b11b51a3cd687123c053b68bcac3e9c3beab0043cdf2c4f3c54b6f2bbd2995c3bc180a13bfa75163ccb3662bb4c52d43a254d0b3bfb5e9d3bc61e233985fa99ba143f9139254fd23a65369139199fe6bc6a66a5bc51be8cbcb734c03b21245ebd112e49bd278604bd02a90fbc4eec68bd717b6abd71de2ebd2ccad8bc896258bdb69869bd21fa30bdbb210bbd046a23bdab653bbd1c2423bd4a870cbdeffffdbc02a318bdff6c02bd16f8ebbc1dd394bc6fb0c7bc0dcda5bcee2f9cbce9bffcbbc27137bc62570ebc6e3f07bc1d69843b5e48cb3a3ff39e3ac9f92c3b960d38bc2c10a3bdf701513fccc9e73e33a1debcd1dabfbdafd2473f6495e03e3ccd17bd19048fbd84d9273f349ac83ebda627bd7bc07cbd971a073ff1cda93eed6c0dbde6383bbddc9bc73e2186823e4b9f09bd8f1661bd5a008c3e7615403edfdaa9bca60d4fbd8df5213eaa0be23d15ab3739c4152cbd4553613d0e19223d5de91d3c9acddbbcc145c4bc40848abc933643bd1dc224bc0000000000000000b31c04bd3e34233c0000000000000000c2b3613b93300a3d0000000000000000473cb43cc4733b3d00000000000000002f75d63c74ea453d00000000000000007a2e883cfa14433d0000000000000000cf449d3bec491e3d0000000000000000a7b117bcbdacdb3c0000000000000000c50999bc754bbc3b0000000000000000935fcfba1504453a9e76343b51e4053baa7c7bbbe13c583ab455c73b5c3bd23b929c69bb3efd143a6e6cd93b76dd113c93cd61bb469fa8b91846ed3ba36a063ce262dfb93a129e399594be3bc6ccc93b814113bb689dae361a2a973b6524be3b5759a1ba40d024ba26a3403bb2c0513b150b15baf5de71ba8320ec3aebffc93a05afbe394aac98ba4d1793395a4b8b39da48253a18adcb3adb9b523c7cf379bc34bf773b52f9c73b2f59b53c630a7fbc8b5daf3b5d931c3c3edf963c2c651ebc7a44c73be1fa3b3cbed4933c140d13bcd018b73b8594113c0e5ab23bf6ba4fbc9e3fc23b5362db3b42d3323cf97951bbeaa6333bb593aa3b99ba1b3c475e2dbba4eb9c3a30bc263be28e8f3bda3383ba0c85a2ba703b6db9b8ae033b3f0de7b8a8b3c8bcbd2ababc4edba8bcc858a13b395140bd620a51bd36271abd882525bc037957bdc1a381bd52e42bbd8b64f9bc1b7f41bdab5675bd0ade4ebd71f80ebd4c3811bd945838bddf5124bdbc4607bd2b1dedbc835c25bd7f7a0cbdf7b2e7bc18a17fbc2589c2bcc42bb7bcb35b9abc4693bbbbeef427bc02d929bc0a1c00bcc58e723bf93e363b1ef99aba3df87e3b81ca51bcf07e84bd2dea213fb9c1223f9fd0eebc318b9fbda677193fdebb1d3f589517bdeaee6cbdbb09023f0506083f570f27bd49e16bbd13fad23ee483e43e19e4f6bc9e0510bd8cf79a3e1aefa83e631310bd00c54fbdf84b5e3ed85d7b3e38d5c0bc97ed29bd4a45ee3df74d173e8b5530ba23271bbdf85c263d651c613d6f51fa3b711db0bc797bbcbc817a86bc74167fbd751510bc0000000000000000cd543dbd1697573c0000000000000000292f89bbe182163d0000000000000000c103503c0dc8483d00000000000000001b2db83ca860373d000000000000000099495b3ce4fc3b3d00000000000000005da1fa39d9c9173d0000000000000000eb3064bc03d8d73c00000000000000005473bfbcc52cde3b00000000000000001a16bebaf18c6cb9d0f44f3b6a34263bda6292bbea81743a124a9b3bd151e53bdc3c99bbc55e1e39f259d53b330e083ce90d57bbf81667b98165c93b5f0d113cbe4405bb3f181d3a6d99a73b71c5dc3b447b1cbb099025ba3d198e3b151fbd3b2b0ecaba9a2c7ab9481e1c3ba8ae793ba3067dba53a0f6b9feb9d93a51a9b23a0aee3339b00226ba242a7439cb194cb9e1107139e729073bc893343ca04225bcd356853bc570dc3b0a75b03c8e00f2bbd901cc3be9c8293ca9b1ad3cbd86bbbb204bda3b82da333ce1aa8b3c683098bb7bebb83ba6d82d3c8ad4203ced1309bc03d88c3b28e60c3c16714e3c09219dbad1b14c3b252fb13bff5d053cb24e02b9a179bf3a43ae223bdb5a8a3ba5e49b39ba5267ba93cb62b9758b133ade3f2a39fe16b6bc0331d6bcc79acabcfa71cc3bca0e27bdef277abd2c4d24bd583a2fbc815a39bd988689bdebe550bda576efbcc9882dbd693982bdd76c56bd460e14bd1e7109bd0aba4bbd1e6237bdaa0011bd08c4cfbc74ff25bd36d216bd7b37f1bc3cd076bc2dc6d4bc0fbac4bcf27b98bc1b90bbbb82e02abcd6003fbc74f8f7bba8c4af3a53bb9b3b5ef52b3a2510653bba0461bcf15f4ebd0babe53e5bd9513fb4fcecbc9b3f83bd58b4d73e724e4b3f0bed25bdd13256bdab5fb93e3efc2d3f93022cbd962946bd4817973e840c0e3f78f70dbdbb4f19bd071e633e266ad53e8b0305bd4dad40bd6a4f1c3e1b7e9a3e4aa6a0bc8bae25bd3d8aa93d44fc363e4af801badf59f6bc2880bb3cb6298a3d65680a3c632b8bbcc569b1bc441bb0bc44289bbd1d54f2bb000000000000000033417dbd3c0d653c000000000000000073bf83bc7e4d243d00000000000000006d24ec3b1d32573d000000000000000098ce8b3c801a4e3d00000000000000009376ef3ba436473d0000000000000000d19c45bb05b9213d0000000000000000ac9894bc5706e63c000000000000000028a6cebc50bcd13b00000000000000009c6425bb0f9e093a4a27063b7788793bc723acbbff0b093adffeaa3bf724f13ba1318dbb5b4c5f394f7abc3ba5f1133ca26289bbc3d901bac589bf3b28830a3cca9126bb3971323a1c48973b5e53f83b46ff19bba00822ba85bf613bd432be3bd6e5cfba307c1fbaba7e323b13e4513bda043bba8bc76fb940c8893a27d8c03afde678b96fc155b87c6fbb39fc9462b984cc4039845da73ade804b3ca47491bbb0819b3bd88bcd3b3f74ae3c91dfa539c7b7ce3b68cb303cd649943c49d30abb415fe23bc7ef383c35b99a3c45cc953a170dbd3b82db1f3cd84d203c7d998cbbb88cc83b5829f63b9b884c3c3285063b4fd4623be9a89a3b2a0ef43b5be2ec3ad886d13a39ae193b9685e73ad9780a3bac8eb4b934356aba81066fb94c742db95b9da9bc9fd60abdf15bb3bcc7a3183c1c2e19bde1c592bdd76530bd381f08bce86a25bd906091bd161b58bdce5c01bd63ba1cbd18118ebd2d1760bdeb4715bd3d3afebcd0e953bd7f1a3dbda6cc0fbde740c7bcc23d33bd70ab17bd6275f3bc08795bbc1ce8cbbcb249c8bc18a39cbc5bb99abb00ff23bc338d39bc58c103bc4beca83a20219a3bb16d87b82e7f613be0175abc1cec16bd4d7c873e16fe7e3f3dfdf9bc504044bd1db27b3e768b773f1d8f12bdbcab0cbd262d653e14654a3fc26930bd8d6927bd1d253a3eace0283fd45d08bd383e07bdceb0103ebc0ff83ed29306bd41b61bbd911fb83db6ecb33ece88a5bc0f7ef1bc3fb9353d84f7513e2443b5b855b4adbcd6a86f3b62f3953d07f5213cc596fcbb76aeaebc32e8dcbc73f5bcbd742a13bc0000000000000000647a97bd5eb7793c0000000000000000f1e324bc57bd263d00000000000000003ff3b93bebff563d00000000000000008f588e3c4d36533d0000000000000000ecbd073c1a26503d00000000000000000e3749bbbd9d153d0000000000000000d2b395bcb252f13c0000000000000000dfead1bcb6081d3c0000000000000000c9563cbb3b0ffc39393f3c3b8d606e3beb25cebb2a9b06ba83179d3ba7cd023c0e36bbbb4cf3e4b95815bd3bb74f1c3cf0a09dbb6fcfa9bac05cbc3b8914223cfa8833bbad9c7439097ca43b9e61d43b341f6bbbd309acb8e4ca553bde07cb3b9acf01bbd115c4b913aa153b499c7b3b65e74dbac70d41b9a080973a9fb6c83aca858339643b36b9607860b9ea7081b958d1083b7397a53a18f8353c3612493b5c22ab3bcacbc73b107ac03cd0133c3cbea6f23b171a243ca676b43c81fafb3b3467d33bbaeb473c0bd5a23c882bd13bacdeee3bd58b223cec71053c8a95313b9703b83bfac60a3c75065e3c6bb9a13bf5b0553b2319b03b0146de3b9767a03bad040e3b5ed90a3b4d2c13ba5a90393bd14b11ba246e51ba2668c3ba8ee5a43a5f55c7bcc8a854bd1b6edfbcef62e23b9c0dffbc8148afbd740c26bd0a25cdbb737314bd58c1afbdc62960bdb150f9bc65f90bbd5ecb9cbd3ffe65bd00431abd4db5e3bc16e867bdb5983dbdb85e21bdc433acbcb4eb3fbd316726bd4f95fdbc584538bc2c8decbc50d9cebc504ea1bcfa0574bba5a940bc933538bcb35510bcba36bc3a44c2b53be48f513a36e0ab3b3a7a6abc13189ebccc99c83dfa8c963ffb330dbdf77e0fbdeb779f3de1e58d3f21742abda2b1f3bc3114b73dbba36c3fe89f33bddc7f08bdc2f89f3d26cc3d3f4a600cbd7ec6d0bc6e027b3d70d40b3f4e7802bd3c79f0bc2be6013d98ddc73eb72c94bc9366bebcdd3bde3bf258653e0389873ba20e02bce9eb3ebc65d1943d44e3183c8b472dbbfd05ddbca1f738bdfbf0a9bd57f4a9bb00000000000000001f0b91bd9877403c0000000000000000a7e31bbcc0f0273d0000000000000000bdf6843c4c515b3d00000000000000000e42ce3ca972633d0000000000000000a72e923c2e0e523d000000000000000097741a3bdff2263d0000000000000000ebf53cbce66b043d0000000000000000659ae3bc41b5b43b00000000000000000000000000000000000000000000000083c5bcbb816b3c396015af3b588c073c7d479cbb81ed76ba59ada83b2a81153c79917cbb5fa48ab62a84993b0acd0b3ca02f02bb6d792d396329853b88c0003cf0371fbb5b8e49b907cb7b3b0c75853bf43d12bbc9d48539f436073b36be863ba581a6ba4dd7de39b26ee73939c1983a0000000000000000000000000000000000000000000000000000000000000000ba82d13b07bce33b6cfc9b3c73ca163cc892d53bea972d3c26219b3c8816fb3b97daf63b2cd6363c0396723ced45943b0288c23b996e1b3cbe8b0a3c9f7add3adaaadb3b1872f13b838e1c3c05f1883b2a54733b6e738c3bd7e2bc3bdc1c273b7c45093b5bf6ca3a62803f3be77be93a0000000000000000000000000000000000000000000000000000000000000000b52c08bd612fbcbd82d33abdf2c488bc1816efbc70d3a9bda3c154bd3e3d02bdfa42f9bc592a97bdb3595fbd121422bdad91d5bcb57c6abde74e3ebd34c919bdef5e88bc7cc738bd138a1bbda16efcbcb11d2abc11b7ecbce451c4bc367098bcf31202bbc1e439bc3c2516bc87f7cabb000000000000000000000000000000000000000000000000000000000000803f68cde4bc568636bcaee6edbcf1f1963f471b15bdea2c8fbcb2165fbc0eba773f433d13bd9a4e95bc4d1e65bb04fe473fe481fcbcc1e58dbc8fcf8dbb69b8163ffe1fe5bc73ebb3bccb368bbcb9aed33ec75c80bccb575ebce201b4bc9fb3763e3e1f02bb87b8fabb55edfcbc7914993d0000000000000000000000000000000000000000000000000000000000000000e2d1a7bc3d7cae3c0000000000000000b89e7c3c8b182e3d0000000000000000a469113d90b2603d0000000000000000a474123dab9c5b3d00000000000000007ea8d63c2e12443d0000000000000000db91363c21f9183d0000000000000000fa2848bc089c9b3c000000000000000000000000000000000000000000000000000000000000000000000000000000008b2ae2bb6423963bb576453df71aae3bf6c419bbcc37c63b5fed323d517d323c3872543b7a48173cc1a6143d56764e3cc98a8c3b383f003c5699d53c4809273c09d2a23b84f19c3b893e863c2c46ff3b9829b83b902c543b4df9df3b6d247b3bc53d213bad6ead3ae3134ebbbe4c7f3900000000000000000000000000000000000000000000000000000000000000002f90b4bbec2871bb1ce1f13b4b7a533cb53c16ba88b7cbb99bc4983b994a11bb376c7a3bb1398f3a30e62d3be4108abc00efa43b1138ce3a8c7b1ebb0eec8bbc55ae223b9cda833bae4f1dbb664053bc5abada3a1bb17f3bbab3cdbb745738bca73b773a59ac263a73f279bb7f4d14bb00000000000000000000000000000000000000000000000000000000000000007ba25abeb401033b74861c3c9cbfe13a168748be6b887cbc31c609bafe1872b9cf2734be20b704bd585cafbb2ac16ebaf76d0ebebf86f0bc5b1d1dbc806301ba9bcebbbd7791d9bc1a072cbc9d49b5baf73f3dbd963394bc8ea1fbbb8c2e8fbba4e461bbae01debb143da3bb2ea5d5ba0000000000000000000000000000000000000000000000000000803f000000003a1ea23cec9715be4ea6ad3ff1890ebe6b44413c5ca2afbdc30f8d3f329a93bd3e65163c4bf27abd7e7b6a3faab02ebdc379283cea2efbbc97f92b3f0e2385bc5bb6b73bcd2fd6bbe072d63e4dc8193cce34903be0e87d3c7c1a4d3e92d9b83c9c39203b0d3dc03c936414bc6333c93c0000000000000000000000000000000000000000000000000000000000000000399df33c4cc914bc00000000000000004c70b83ca7e81dbc000000000000000005a0bf3c164817bc0000000000000000fc13ac3c5fcc07bc00000000000000003481963c9c010cbc0000000000000000e864813cf2edb3bb00000000000000005cea243c1bee49bb000000000000000000000000000000000000000000000000db1004bc221ae23a3858bc3c1c10f1baf512f6bba47f823a7dde263d415a4c3b9e8879bbabcc0a3cfed7303d2862623c11d6703a3fa4023c74af223d2f47743cce019f3b9287d83ba9abdf3c2609453cce9fe23b0378d43b980e903c1ee2213cd8bd8f3b3774a93bed8bb53bd531bc3bf545853bddb9933b726f23bb193a213b1310d3b918ae6639094b07bce6ae82bb1e6cd3bba40f1ebbec88253c94318d3cb3ad78bb9cf246b9be13073c6ca0903c3bed8bb9d52086bac2b1273cf5d3c3ba2ae6493b3b31a43763189f3b0c2519bc8990d33b61257d3b0f60e43aeca93fbc47f98b3bea9f873be02b16bb3eea7dbc7d4b583bf550893bbb3bd3bacce857bc0d950d3bc3aa193bb39afabb7fdbbdbb0b0085391d68a0bae921a1bb87e6d43b2bb7f8bd40413b3ce5e5dc3bc51bc739f07830befd1e37bb0fe99e385bb288bac5e54abe841cf8bc57fb37bbf586123b0f2039bed5e71bbd5aab19bc25b9ae3a6f150ebe59b02fbd29d253bcefde10bb5fc4c0bd5c1312bd4b3867bc20af06bb84ac39bdb16acebcccaf4dbc5c001cbb0c5b1abc442c84bc00ee95bb877c88bbb5f1b43ca0105b3b5bfb9a3acd7b83bbf322403d6fb078be27bbad3f81a08abcda49353de9144abea2f6983ff8fbb33ca2cf023d41eb29be63478c3fb9c2d93c0728e23c6ef8fbbd0c9c623f82bb3b3dafdda43cc6b89ebdbd1d253f14de6f3d1be48d3c31e809bd70adce3ef0ea863de5583f3cfd0cd7ba311d383e217b753d028a843bd027b03cba19ad3c2bdd393daf38f63b413d523c7facf5bd95ee1c3c645345bb0f99cc3a0000000000000000711ee4396df806ba0000000000000000d700303a455fb3bb00000000000000003388113b726a98bb00000000000000007c2eda3baee2e3bb0000000000000000c9fedf3b3209bdbb0000000000000000359f883b1cc34dbb0000000000000000186c39bb990c8bba0000000000000000fd901437f71e7f3b000000000000000003f098bb9f78083ae18d633c50f7aeba0ec1a5bb14d3ac3b47dcf83c35da0d3ccbf82dbb66c4133caaca173de39d763cff7be43a07002d3c08bdfd3c35fa883c2b47903b150f1f3c60d8b03cdd2c433cdc527c3b53d3043c343a813c1a4d0d3c3fec8f3b525a963b758d953b6b76813b08fd3b3b03289f3be31594bb40de9039abfa5eb9179e903aed0adcbb965e30bb7b498cbb034a14bab7c9f93b911a193ca5f5c5b9e2e949bb8cd1253cf5e3043cd5457e3b2fb8d437c4851c3cb7f360bb0724c43be1509a39b6f3fa3b33f13ebc1172ff3b267e833b20c4253b1e0d67bc0969d93b26fd9a3b48acb43abb3752bc3d83ad3b61ab0f3b187e2dbb48b309bce33f623b0424f03a3f7395bb502b2abbd810383afd77ecb9a6ba5cbb8dd3a23b8e3b9abdeb02fcb742b6b7395914dd3af49f1abe8db105bd99ce5eba56f7f93af31d2fbe069661bd57b4eabb4f3d2b3b505020be4c8a7dbd36be5fbc82934839b598fabdcaa064bd1c7a8ebc15a933bb7b7faabdcf454cbd6ea795bc8bb2f7baf75628bd0d9df4bc239d49bcd19b9fbb5a2608bc7a6b6bbc0b7fd2bb1d7bbebbfbd1433cad6af33a7972f43a6c6486bb6e924c3d2b3269be59288f3f061e523e1b7e4d3d01296bbe61c58d3f0e1c4a3e605a273dac5345be7e7b7b3feb1e423ee7e0043da7f910be73f34a3f4221373e6bc0cf3c279fc0bd42f7133f0fdf213e2bacb13cc5f353bd9b6db73efc00093e8c5f6f3c10434cbc6609263e5033bf3d88cb1c3c96e08a3b70c7893cdcb1403d0c32043c48c3a13b796095bd154f003bc92858bd750e7e3c00000000000000007cc947bdd699543c000000000000000049581fbd5e94cf3b0000000000000000bb4ce3bc735fc33b0000000000000000f3f185bc7f34e63a0000000000000000507414bc0a6aae3900000000000000005d21eabbd969743b00000000000000004ec06fbb63e8ca3a00000000000000000e9ce1bb21da8a3b000000000000000087c185bb7e7c483a093e043ca55a8d3bee7486bbaa7c973b8084cd3cb5195b3c3318f4ba1473f93b1a7fee3ce345a73cfc21da3a534f1a3cd1d0d13cb1199d3c7ee1843bae9af73b6a239b3c35f2563cf8abab3bb1aedc3b4188403c6106323c3c6b9d3b7ae9cd3b90c8423b8823833ba4def03a9c7e883b68026fbb75621dba2541513a81710e3ad87dc2bb1f6b7dbbd6f673bb5b3dc8b9342c153c86ae0eb916b3fe3a69f84cbb1d54103c38e40e3b0a2ad03bc7e170ba8ab32f3c2409f3bb1047263c1b8f6a3b988ecf3b46cb64bcd4d54d3c8cff123b305cb83b3c8a65bc7611e13b2a17ab3bd9fb323b905f8cbc3d7aa33b072f9d3b772b21bbfdce48bc547f5c3b332b653ad6a451bbbbbf4cbb3b890bbbea03d73817d346bbc8d8923b098d66bd9756bebc01cc863a98b5443b5e7af2bd03f283bdd123aabaaf758f3b641f0cbe218eb3bdf3f70dbc16f61b3b6a3e02bec33cb5bd3d1293bcdca7a33a5317d1bd3454a0bd880ea7bcde45e2ba65438dbd3cf974bd611294bc51a69ebbd48515bdcba812bd2fbe5cbcfa36b3bbdad407bcb4e95bbcccd091bb7d36e6bb50a2243c332a9f3b9dfc393b7cb89cbb1def3e3d24c85abe4eb9703fe1a7df3e689f453dc6fd58bee711683f81ccdb3eeac4263d829135becc364d3f1399cc3ed1b0ff3c7da705be59cd253f9693b03e3f37e23c3e93bbbd338ff33ec5a18f3e93dea83c56e045bd05f8983e0b26543e1fae853cef0a7cbc5c200f3ee30bfd3d379e333c77a2b9ba75cbb63cb4e03b3d0536323c1cd278bb100c6dbd6bd691bc4355e8bd6f1de83c00000000000000009d26debdc3f5df3c00000000000000005230bbbdf2e7a53c0000000000000000099f86bd98fa563c0000000000000000914841bd309f3e3c00000000000000006ec8f4bccee8cc3b00000000000000004bb37fbc8b18d83b0000000000000000349618bc5305ea3b0000000000000000abb7dfbb1484df3b0000000000000000e4be1cbbb8859cba1e67033c7e36af3b02994dbbef37413bd9d0943c57b79c3c92a2daba7b77b53b2bc8c23c6c1ac43cc9f03a3b0f2ac23bb090b93c7e8ab03cf728973b68e8e93b46e2673c8780693c6702bb3bea69bd3be242233c61be313c7387b43b8e6eb33bce870739ad19863b5636533b134a9c3ba93a5abbde0db7b9739d9cb86282263bf049f1bbb72f4ebbedad38bbc72f3cbbff41cf3b899a893a76369d3b5d7425bbe9fec73bd3e9b6ba7e51113c5b83923a53ba153cebae17bc23b13e3ce4882b3be84cbb3b77b45fbc4d67233c6896b93b4a23413b91f288bc7890113cff59bf3b2ceddb3a5d897ebc7503a93b94798f3b7faa89bb4d064bbcfc7d533b07ccc93aec0cb9bbf3888fbb88bd5cba116c60ba7efbacbbec77293bc25520bd74352dbd96090ebb0f211e3c3329acbd12d7cabdcaefb9baf27bd53b8230d6bdda53f2bd9d985bbca340c93bf39bcbbd0d7bf2bd06d092bcedd28e3aa3e1a0bde86dbabd08a2b0bc6f4ba3bae76f6fbd93f990bd814da8bc858041bbf83000bdef8810bd651870bcc2b2a7bb6ab337bcd3873cbc8164d7bb5cf5babbf460f43b8f46eb3b633a8f3bc1e6a0bbe66f1d3d5b3c2cbeb3d6323f27b02f3ff3a22a3d52382bbe6e752b3f596a2d3fa87e023dbcc60abe38e9173f41551d3f0964db3cd74bd3bdf3fbf63ec71a063f899c993c2f0f88bd91b0b53eabceca3e0091943c10261fbd948a6f3e317a8c3e69286c3ca5e85dbcaa66f73d8c33113e77d6163cceda1cbaa266f13cccab1a3de0092a3c148dbaba342011bdc90519bd07082bbe100e1e3d0000000000000000bb9a27be32b3213d0000000000000000c78809be4985ea3c0000000000000000cd2edabdc0f1c33c0000000000000000453d87bd26d8843c00000000000000000bae43bd33b76d3c0000000000000000bbca9abc717a133c0000000000000000286ae9bb65dffb3b0000000000000000e13901bc9c42133c0000000000000000f90343bb2c8eb4ba28c02d3b17f6113c12131cbbff4faa3a06845c3c7319c83cc421e2ba99f7413bb1c9a43c1290e33c1d47e13955c2963b10c5a13c93cdc93c9bb0ab3b8029d43b202e563cf9ea933c7c6d7d3bd1ddf03b0c54003ca3c3453cbc60883be354df3b134e283b4b20c23b1e38803b57f18d3b81b003bb1a23cdba5f6b15ba804b213bd8caa0bb05d37dbb5f3c0fbb52e564b9de58393bfb8f66baff20d63bea34c5bb1c53903ba82b57bbb17a663c484820ba67f3dc3b54a600bc96f27d3ce262ce3ab82dd83b307b4dbc8309673c167c613bd661c43aa61680bcfeb4303c63d7b13b5ad112399f9169bced0e9c3b1a378d3b8390c9baf6b24bbcf627493b2e50623aeaeeaebb543cafbbb99292ba32d0e3b9bcfa55bb094e0e3b3d588dbc22d580bd38914b3aff0d223cb0fb4bbd9b1a07be2ac4ed3ad8fe153c11b78cbdfe521dbebf6c5abc37d8d93b6d9495bd4a2e10be63e0b5bcc256863b47c17ebda2b7eebd11efbfbc9472893aec0d46bd6c70a4bd0569b0bc4b3825bb6064ffbc07262fbdb2c156bcd779e9bbdf664abc3f5d36bcffd1a6bb7345b5bb08f7163bb904263c1ffc943bb03876bb3a72db3c13dfe3bdb3d7e23e44766f3fd7ebee3cc668e3bd149bd83e148b693f5adab93c19e6bbbd6a27bf3efbcc533f0e88a03cde968abdeea89c3e79602f3fee4d7e3c299f2fbd0d11723efc63043f2a65433c10fad1bc60c72e3e11a6aa3ec3aa2d3cb2db0cbc052bcc3d90692a3e86be013c01b42cbb57db193dc87f043d5b86d13bda5e53bb833e83bc7b7065bd7b195abe94aa473d0000000000000000254955be27df483d0000000000000000f00b31bed153183d0000000000000000a43f03be93eae03c0000000000000000feb0b6bdf2c3a23c0000000000000000c1224bbd8afe703c00000000000000001453b6bc6f554c3c0000000000000000d17ca4bbd2bf1f3c000000000000000061fbd1bb0eaf2c3c0000000000000000667ddbba5f591bbb43ebe4ba4781713cf54c64bba87410bbe3c1163c4fa6f03c442789ba66b2a2ba0f74853c75c6103d03ab903ad33b6a3b2a0f743cefd7fd3c0c7a323b6197623b5f394b3c3ee8b53c832dc23b7a5a713b809a003c52de7a3c87799e3b6f74ae3bf2873c3b346aae3bc55e6e3be9c2853b127ce2b804d054babbdf7e3a57cdab3a49551abb6d16a3bb921c62b8e507abbb9ab4083a7afc55bb47fc0e3cffdec4bb7661863bc8cc7dbbb4044c3c0eff80bb002cbb3bbebecfbb6f14833c39e7e83a0e761a3bec4f42bc62984c3c42b3773bbf1b2b3b4e9652bc44cb033c29a4d23b293c7c3a23f779bc2ac3a83b18223f3b3a832bbbdf7653bc6c79703a79eabb3a25ea97bb11f1c4bb4a954139d2e3ebba1eebbcbbfa0b6e3a244f8b3be363a2bd8393213c30c9033ce5759cbcb62b25be6f68ad3b6104293cb69a23bd525d3abe374ff8bb404a0d3c2ecf3ebd09772bbef19e9ebcaea46d3be32f3abd617d05be557aa8bcdd177dba6fc71cbdabc8b7bde373a4bc113a35bbe2ced9bcad2c31bd0ea96abc47d953bb03ec67bc2af325bc528c28bbfc84bdbb58ebae3760d0373c8606683bd19751bbc328873c7f2a69bd7f1d5c3e63b38e3f2952653c6bab51bdea24433e6c438e3f61823a3ce3ac2fbd53602b3e6fd07f3f748f1c3c2c74ebbc8693153e966d523fc1c5c43badf97abce1f2fd3deb2c1b3f5e09df3b025df6bbb799ca3dbac9c73e561cb13b27e805ba622e973debde393ed232663b7605c83ac10f213d36d1cd3c25e7453b2be507bbf64e173ba44f8fbd81f468beadfd543d0000000000000000e08565bea4534a3d00000000000000003b4e3dbe5a411a3d0000000000000000c4a50dbe351af33c00000000000000008204b7bda3d7b53c0000000000000000b4de4ebd50866b3c0000000000000000c3f66abc70dc1f3c0000000000000000f93154b8f115de3b0000000000000000ec81ac3b7860ed3b00000000000000007a4307bbfe09a6bbfee805bafe7cac3cc1f335baa799abbbd293613be1ca1a3d7ce4b2ba8bc18cbb73db613cbd7e243d4b7988ba523a88b8f1bc4f3c9426133d68d07a3b439ef33a83a23f3c756fc93c96e6693b3890af3b7369093caedd943c7b47613bbbb3833b8d75a63b7985e23b4866813bbdda4e3b45a75a3b6a4f05bb9a55313a6ad91c3b559147bba24dcfbb9d8f263b0c0818bc44c58dba4884413b309abe3ba1761dbc19cadb3a86a420bb75ac5d3c17ea5dbbdaedb03baced95bbc0fe623cc35f103a9623b73b36d00abc1a83453c0a273c3be3621c3b51684dbc04d8283cd99d863b244f9e3abfa166bc960d9c3b4874113b5107b7ba83f943bce886583bf348993a1b7663bb31e4afbb5b252abb1bea14bb554685bb70859abaad38873c6fc701be90389b3c00a5223c34d0f53b7db138beff008c3c1672b83b1bdb90bcf59150bede93e4bb0ed8fa3bf5ebcebc96173fbef87f73bc41c53e3b0cd3f0bc631914be8a23acbc2ed4d7b98cd2fbbca4b3c8bdcf19b3bcbb3c6cbb67e1d0bcf73e3dbdbb5162bcc8e32dbb567fa1bcc5ef00bcb3bd09bc9a6a85bb2516b9ba7255b43c6bd6eb3b390845bb2ff4cf3a967303bc8b1926bc9385ad3f3d4f5c3b421cc8bbd79c913c939a993f7304a83a594940bbc1b0193c61c08d3fed27e139118fb33a230f8e3c13f3663f6231c73a598fb13beedce83ce91d2b3f2df3a9b85a361c3c028a263d5290d83ec582ea3adfe43e3c623b343d0d9f463eb95ed1b9c2e8573b7ed71c3d7ec2003dc9da78398b2f963b1f1f683c1336f0bd9a9876bed796503d000000000000000092c642be7420313d0000000000000000175520be66eae23c00000000000000002991e6bda666a83c0000000000000000cfca86bd558c713c0000000000000000022ff9bc10432c3c0000000000000000c8b9f3baa6bba83b0000000000000000294c963c49291139000000000000000089473c3ccc63c23b00000000000000000000000000000000000000000000000091e029bb607c00bce9f3e43ba84a3b3d7c450abba54a47bb72304d3c42eb263dbfe0a53a37b48f3ac4a55f3cc21afd3c177f223b33a9e03abcf6393c3818cf3ce55e7c3bbbd0f63a2f02d93b0d9d603c91f0ae3b71eb5a3bfa749a3b6b65b53bbbea3a3b5f2f163b5102263ace99adba0000000000000000000000000000000000000000000000000000000000000000cc6c0b3cdbab0fbc941b133b4fed973b36a44d3c036880bb1c9f8f3ba67090ba8c02613c9ab02f3bbd5a4b3bb02bc5bbf150473c8bba783b3d2a033bd7c30ebc64f90a3ce6a5763bd998e539ccda06bc9935593b8b1f743ba9e6f5b7e7662fbce9a356b71ddda33a02901ebb3ed56ebb00000000000000000000000000000000000000000000000000000000000000001b13593c542760be5a40253ce002073c57d8d6bb06004bbe477f2abc9754c63ad9c39ebc8ee436be6b85bbbc525518bbacf0b2bca3ae10bec3b2bbbc27bb98bb8e6aa4bc733bb9bd8b76a8bc51b9c6bb7a16a2bc297531bdae097bbc07f5bebbf8f723bc88ae40bb196c88bbd21f96bb000000000000000000000000000000000000000000000000000000000000803fa9d3d5bb40b0b33c8de715be005aae3f2ae5b1bb438e8f3c911eb6bd24be8d3fc231c4bb63ff933cc74383bd68d86b3ff0cd89bb05bbb43c768b21bd1c2b2d3f0f78b8bb4265a83cfc693abcafffd93e7c3136bbd7e68d3cd5e14e3c9045523e27f687bb0b47783c9e1ea13cf91a94bb0000000000000000000000000000000000000000000000000000000000000000f97a0fbe1680a63c0000000000000000bad792bd11a9503c00000000000000000d0732bd9a10063c00000000000000007de89fbcf980573b0000000000000000fedf883bd5335c3b00000000000000007765aa3c96f4d33a0000000000000000e968b63c1ec6c5390000000000000000000000000000000000000000000000000000000000000000000000000000000022512abcce29bc3b697f323d59d41b3c04c779bbfa57f83b0567223de57b553c0a541d3bba3f0f3c536c0f3d8f9d7a3cb93e613babf4093c6584d83c24ce543c0b27d93b617db33be4b1963c083b0d3c7de1f43b12b2b53b38700f3ccf509d3bd055c33b572a6a3b484353badeb2a8b900000000000000000000000000000000000000000000000000000000000000007ad1bdbb763b21bb6783093c7b9bea3b9bf9423af5736d398a761eb99fbfc1bb5cee1339f0b2543bd570b1bb276b85bc3955543a8f45db3b7340f9bb70758bbcd0cbfd3a017dc53bc71a49bc10704fbc384bb2b8f5d9863b5a4754bc20b946bc1aeabfba317c2a3b54d730bca8435fbb00000000000000000000000000000000000000000000000000000000000000004f6942bea56435bc69afd5baceca9b3be67026be6f3903bdc6d288bcc31d073a50d313be17d932bddfe9ddbc307955bbcc1ddcbd0ddf2dbd529701bd133b06bcdf9d95bdb49702bd455ddcbcf85af2bbae4d1bbdbc98a8bc048e92bca0ac02bc66417dbba2ebbcbb0b74d2bb4a4ec2bb0000000000000000000000000000000000000000000000000000803f00000000844c823c64651bbeb3d9ae3f0e1a07be2292ba3b3a57cfbd58578d3fa27474bdde3a833bcde598bd9041643fb04d85bcfe7a203b58495cbd49b3253fa326373c4139ec3ae865dabcce91ce3e6664c43c460fe63b9996b7ba38b33c3ec636063dbd7fa83bf7257e3cb3ef42bcf16ebb3c0000000000000000000000000000000000000000000000000000000000000000bc3db73c34090ebc0000000000000000b60e053ddc2db5bb00000000000000002b8b2e3d704712bb0000000000000000d1c8403df8ea8b3b0000000000000000644c3b3db531123b00000000000000001632173dbab7a33b000000000000000070fba93cfe377f3b00000000000000000000000000000000000000000000000087a122bc55aea13a4388c73ceb762abb95cc25bc29514c3b05f0233d098baa3b227b98bbfb7bd53b3e452b3d4afa733ca61e58ba06570c3c3a0b1a3d6a8f833cbd4e823b404bef3b295aef3ca3674d3c13f6d83bb5c3e93b8bd79a3cd30f333caa3ddc3bf2dfbd3b08530a3cce8aa73b9f89a33b1cb9ec3b9ede5cba79280d3bff651e3b27d4563b58cd0fbc9f5958bbe9684bbbbce330bb7a51e03b57c6853cdd2b83bb749c15bb3f77553b70b0983cbb0d7dba0b57acba0689e2b92d77823b00b70c3bc3249e3a71d2a4bb68b9fbbb067fff3ae3d7c23bd9c72bbcaa483abc02b2283b55bd843bffc56abc0b5e25bceba930ba84c9953b500e47bcdf6013bcff1a70ba5d8a1f3ba5c734bc7f4e08bc6c06ebba456bb1b96a02d9bb2c3e4d3b801deebdd20dc33b58ba2e3c8db3453ba69225be7a4732bcd328ccbaffad833bba802cbea3f936bdc3e061bc58b9863b313014be650d62bd35e3c4bc55b97f396d80dfbda46b4bbd3159f8bc428cc4bbdc7697bdb7a02abd761fd7bc2c16cbbbd2980fbdf9c8d7bca63782bcbdb9efbb5c67c3bbd2446abc0850cfbb2a436bbb3ac57b3ceb629e3b8038963b4eaad0ba55321a3dff9d68be57bcad3fc39699bc1c27163dcea455be966c9c3f363a1e3c1db9af3c887b31be6b228b3f5a80323d25168c3c9ac409be132c5d3f4c578b3d623a3b3cc734b4bddc971d3ffacaa63d46ed1d3c5f6647bde9eec23ea2dea03d4490893b430009bcac54253e86a9823df9d105ba2adcb33c0ff08f3be09b353d4a13293b5907bc3c541befbdb053293bf2a63abc2fc96fbb000000000000000049f3123b1c3bd9ba000000000000000098ef183c249c65bb0000000000000000e033b03c7436853a0000000000000000df2e023d1c57a43b00000000000000008b23053d0619e83b0000000000000000df66de3ca50de53b0000000000000000d13d803c8457763b0000000000000000c2efb83b8106f73a000000000000000039a002bcd806ad3a93ad863ce2ceddbaa4b50cbce1ef923b892d0f3df99c343c159aa4bb704df93bcebb153d4058973ca74d1dbaab96143cc64a083d6244933c0a8d6d3bb42d153c08e1c23c9122753c289ec33b51f4ec3be930903c2a76443c6a42fc3b7f8ec73b3521f93b938fc33bdf6a943bd1edcf3b7d86feb98e9cde3a2d2db73aa04b8e3bafece0bbd2020ebbfc5df7ba311378bb79a6c73bd320363c4a4ba7baa3cb82bbaf0a453bb64c2d3cb58ef63a47f53ebb40e4a63af549a83a70c3503be2e27f3a847ba8bb8f50d4bb0c38313b85ddb43b76b726bc6d6a35bcd494693b28de6b3b67f24ebc571d33bc2e0102b9623a513b236963bc1364fdbbcef463bab05df93aaa7028bc7c538bbb8cbf18bbb360ac3a426dbabbdbd50c3bfe4893bd039801bce9d9403c8f12903bd1740bbe1e7e3cbd0d0a1a3b46a69b3b91b612be16b28bbd4fdc54bca7b09a3bf7ae00be619694bd2ea4c4bc2471a8b84565bdbd71ff82bd1f0ef9bc3b35e0bbe01f86bd6e4854bd0fdac1bcc3e8bdbb04f407bd5aa1f8bcdd707ebc59afaabb8595e5bb71f66fbc8baa75bb2ce1b7bb904a233c5051fc3a593db73bd82cebbac134193d61375ebe0b2c8f3f6fb44a3e5669143d824a68be8fa38c3f57bc4e3eca7cc53c76aa42beec2b743fb923573ed3348e3c8b0418bea72f423fae324d3e736a543c4e06cbbdde51093f20fc373e534a113c814066bd74d1a93e0116113e5767e33bac3781bc6d5b133e7325be3d3f0e143bc0ec143cf8e8a13b82532e3d9ae469ba03ec943c0e4d9bbdfa60e2bba99059bd1eb0f83b0000000000000000a5ed1dbd75239f3b0000000000000000a175bcbc4feaa03b0000000000000000e17e95b9a63fd63b00000000000000009192703cb40f4c3c0000000000000000b30eab3c24ce243c0000000000000000c69a9f3c5fea183c0000000000000000cb78823c6a45e13b0000000000000000d95e9a3b4424313b0000000000000000f3d4c9bb6942eb3acb16633cbfc8113bdf30f5bba766783b5ad8e73c78ce7c3c2ea68ebb425fbe3bab05073d2158a53cf192153aaa42f93b906fec3ce77ba63c02ac763b9725e33bb9a4c43cb532833c9683be3b6352fc3b69cd7f3c4e9f303c2400d13b33f7de3bb35aea3b86cecf3bec6ba63bcb41bc3b517e0b3ab542d2394407b23a0aa1373bf7159cbb1fcb72bb965c11ba817498bb1dba243b8656f13bbb683fb9be95b2bbc1d8203b274f183c1cd1a03b004f26bb30b432ba5923513917f6c33b475a9f3a94bbcbbb50a5e5bb22fda73b5b4ca03b048b25bc52cb2cbc633a563b3990c43bf66b38bc43f82bbc0283573ac12d3b3b0c4447bcebc81cbc64bc9ab8a1cbf83aebad28bc5a777cbb2ba7d7baea0ce539eef39fbbe0a04b3b4d186abd01d4fcbcce17653c7181b53b8b45d6bd072f98bdadd7c13b0498cf3b4cc0e7bdeca7c4bd0d0f4bbcd3d6a03b933fd2bdfc4bbdbd23c3d6bcbb6c9dba34eba1bdf770a4bd13d8eebccfedd2bbce625fbd544e71bda934cdbcc1e5fcbb6298ddbcb60b12bdcc417ebcd277d3bb2704febb38275ebce6aa8cbb8b43babb830a043cee044b3b58e9013c6a414dbb3b83023d48e04cbef1b56d3f9312dd3e4513053d6c4257be4398633f0180dc3ec5bda73ca16935be8ff7453f30bed23ec40b6a3ca3f30bbeb96a1c3fe744b93ec4c9303c6bdcc4bd7f82e03ee00e963ebc63dd3b34a669bd58118a3e797c583ea1379d3bdf2c91bc758df73df767f53d0e0e6e3adf55da3bd0490b3cc2dd1c3dd9ff8eb90d3c4e3c172b79bdb21ad2bc799ed0bd2609833c00000000000000000aadb5bd96c9863c0000000000000000512e78bdc0f6423c0000000000000000cd8fefbc8fac853c00000000000000004b1bcfbb24ff733c00000000000000004fc5213c0b0e663c00000000000000002a0a993c54993d3c00000000000000000e539c3c4d8c073c00000000000000000a13113cdcdc183b00000000000000009e58aabb5568143607412e3cce06ca3b2429b3bb83b2e73a073fbe3c26b3a23c20bc9cbbe441cd3b9e59db3c7d15c43c5db9023bb2e8993b23d9e03c44a5ae3c5fca5f3b525cfd3b0cf79e3c0c4c803c05b6cd3b0475c23b8e4b743c94345b3c9ba8d93b2bcab43bd898f73b67cda43b0641823b4b5bd93bcae8733a9b1c2e3a69dbf63a6338413b77af8ebb6c1f8cbb8870903a646aefbb7c8c213b5acbe93bc73c473b53febebba750b53a7e25e83b28c3e93b176527bb82dab7ba77a07db95153143c5d52143ac258cebb4f15e2bb8d3eb43bb3b2f63ba00e1bbc8ff651bcd929a43b3761b03b18b84abc5eda35bc83c99e3a1332873b54712ebce0130ebc541aa5b85cb3123b600c17bce7b6acbb88bd9bbaa880e0b9e8af8ebbaa23393b9c6719bd6a9452bd6331853c18e6123c38fe98bd0b8dd4bd0878d73b097ac63bc2a5b1bd02cbf4bdce8b6abce7918a3b1648a3bdc3baecbdd186cabc2fc5e6bad1ca75bd22d6b5bd433603bd6b971abc182232bd635e8ebd07a3c3bc79fa36bc9630c8bcb22517bd602d71bcc49514bc0ae7e8bb6a456fbc7fb27cbb3f3fe6bb149bbb3b5154c03b823ff53bd6fb10bbfd04bc3c948b26be40f22f3f0bb22d3f2702aa3c31bb2ebe42e9263f40e32c3ffe03433c24e70fbefcf40f3f97271f3f398a0f3c34b8e8bd8730e53ed03d073f11708f3b591c97bdc614a43e15cacb3e16deca3b6cb448bd79ac533edb0c8d3e191c863b441d8ebcb322c33ddfa1113e7b04993aabe7333b7748753cc03b053daa1454ba5cbb263c08c12dbd973136bd13a71bbee7f8d93c00000000000000003b0b09be637fdf3c0000000000000000bde9c1bdc63fa73c00000000000000002eff70bdac47b83c00000000000000006dd79bbc4bb7c13c0000000000000000c5e350bb5f20aa3c0000000000000000ff7d7e3c52257b3c00000000000000003875bb3cb909133c00000000000000007487243c2158b93b00000000000000007cdc83bbcc5f963a820ea83b74421e3cea0391bbc668203a180a973ce1f8c73ce9e332baf389ea3ac4b0c03cd31fe23c4d09dc3ace56b83b6872af3cfbefd73c1c96a73b1cc8af3ba72e953c990da73c2a28b43b5f31e73b4260513ccf86653c5e54ce3b97a1d73b8a3ddb3b67e8eb3b74e2a13bcea0943b0ee6a73a70c0383ac602d23ad9a4513b9c7d6dbb5f6a5ebbef0c1f3bc1db0abc65c51e3b0b3a4b3b08de993b13c407bc5f326a3a849b7e3b3280213cd4259dbbc81f51bbf9d0b0b94ca3ff3bb6b5ed3a55d604bc398fffbb79a5f23bbcc4b53b4a2725bc88dc28bc9f12bd3b1321983b87bb33bc77b03ebc61f3c33a988a8b3b8c282dbca6f62cbc17cb0db9896e083b2b8eecbb6f1f93bb1974f2baf90d1c3a83c009bb896c4e3a667f97bc2f1a8bbdfa768b3c8ce71b3c2dec3abd47eb08bece52483cef5cbc3b9bde70bdbee515bef2b849bc6d52993b4b7f64bd61fc08be6591debc7d901abb272344bda6f7dcbde150f8bc60f53abcaee412bdfa5e9bbd5217c6bcdb012ebc4035a5bc11252abd220d80bc614630bc5dd803bca86159bce19291bbcd5906bce5dd4b3bffe7ca3b6df4153c0fc398bb9141483ca173e7bd9a47e03ec1f06a3f11fe2e3c2d18edbd54b5cd3e4521693ff1d9e83b5be0d5bd7c43b33ee059523f9b0f9a3b0db7a4bd49358f3e3cfc2d3fefcc8f3b6fa86abd5537543e97c5023fe107113bb28a12bd69010e3e33a1a93e0469953bf62b6abcb62f9b3d3dab233ea738b539a9a1053b280bae3cc2d0c93c6404babac8890b3c89ffcabc52e277bd74b33fbeca74103d0000000000000000441731be7deb183d0000000000000000ada3ffbdd973ea3c0000000000000000e9749bbdf5e9e43c000000000000000034b316bd0c9de83c000000000000000058fd96bbdde3b63c0000000000000000a93b843ce1b8873c00000000000000000f83cf3ccfc3243c0000000000000000d7d3263cf9e1a33b000000000000000053f9ddbafc75e5b9bc5ab33ab9fa573c807a4bbb0a3f8db98fb93c3c12b2f73cf03d83ba25dfb139d9339b3cc458ff3c8518373b28d9443bf5fb923c68fde53cf67b903b27e0b43b3af36f3c22cbac3c6700d43b5f56a73b25c9453c472f793ce43ce93bcf41883b331fc53b844c033c76c5973b429c833b73a7373b45c8ca39c7f4ba3aff91193bfd0422bbbb9d8dbbcf71a03a389114bc4d85aeba268f793bd4efc73b43f412bcacf61ab826c7033ba3f5343cf1caa2bbe92131bb667480ba47ab3c3c791cef399b66d7bbdc260ebc9afef43b76e3d33b12f40bbce8c855bc110cc23bcbacad3b7c2726bc3bc053bce724643a9da58c3be72722bc2ca819bc1252a23a0903003b13aea2bbfdeef8bb9c36d0ba8bc4cb3a03a017baebc76abae297613a4061aebde9abc73c0edbeb3b79538dbcf4a522be1b32363cbf57d63b948e0bbd32c22bbe2cc46bbc78bdaf3b532616bd24cc19be8f58d2bc5982aabb32ba06bdf0d4e8bde9a007bd3dae49bc784ad6bc6fa9a8bdd8bdd8bcca0949bc41cd88bc50f530bdb37981bc5f4f4abc6b62ffbb96e945bce18a97bb588222bc309f203b789f103cb0dbcc3be22dd1bbd0ee9a3b81ea77bd4c55513e13f98d3fbde5993af7ef83bda204323eaff38d3ffbb333bb2d1072bd31b01e3effbb7d3f9b88cfbaaa2b41bde3c4fd3dafe74f3fb658e5bad9260ebd7725d53db8a1173f622ea53a8753bfbc6ed49c3d2789c43e6dca163b459bf0bb0b3e4f3d2108363e3ea92d3932ecc9369850cd3c8f2f893c3c9432bb30a4a13bfe435ebb88849bbd03034fbe6667263d0000000000000000913740bea4e3253d0000000000000000e5b10bbeae10fe3c000000000000000007ffaebd576b023d0000000000000000772d15bda5c5f23c000000000000000095d4aabb467ec63c0000000000000000c026873c7d779a3c00000000000000006373ee3c79ba233c00000000000000003df19c3c78c2893b0000000000000000666f20bb54674fbbfc77ebb934b8b13c3eb6c1bab5bbfcbaf131923b0ca8143d01f3e4ba179b663914af4b3c76511c3df855573b3ccda43a4c5f843c1b0e0a3dda019a3b0d14653b676a433cd619c93c1aa6cf3b35bb873bf0802c3c4087943cf30bc83b5ec1893bac99ba3b867b083cc952a23b5ad43e3b0d42653bbfb557b89e603f3b7200ad3a429225bb2f60afbba3dd8f3b24b243bcf1cef93a9923ff3b50febc3be0de2dbcd8d302ba1e49a9b944b0613c3956bdbb0acdfa395def1cbb5d032a3c46fdd03aec03dfbb9c7c0ebc96a2093cbce4e53b103709bce8de36bcce2be83b856bd53b04a919bc37945dbc8ff62f3b9789a93bbc1709bc27b718bc51230e3b1cec773b6bf5aabb2695c6bbfa9e11bbb0f0873a390595b9c67e16bb9d572a3ca08f00be5463ca3ca576113ca67f363c2eb037be7c9f8c3c522d613b03364dbce87540be3fa3a0bc7dcd483b08c1a0bcb1bf28be97d901bd9912d4bba423a2bc62a6ffbd31cb15bde0276dbc1edc96bca50bb2bd117d02bddd7181bc97ef84bc521727bd5370a0bc88f769bc9c532cbc56800bbca62247bcb0d146bc1166f73ab8a4823c5527053cc437f6bbbaeadcbb8ed987bcd16d83bc96caac3f86f987bb4c3295bcaf3335bcd1ce9c3f356a00bcecdac9bc07c6f3bb90638e3fc9c997bb002bb8bc61ed653b78c0653f744ce6baac5268bc1d42413ce559273feca3c438da0805bce990b93c40d1d33ee051013bbec228bb7bd2eb3c8b133d3e4a80d239bd05a0ba8e3e0a3dc1d25a3c613598bad7ee033c5c92e03bfca6ecbdf0ea5cbe92a1203d000000000000000001e12bbee3901a3d0000000000000000361af1bdf0c1ea3c0000000000000000856086bd11bcde3c00000000000000007f35aebcc71fda3c0000000000000000bfb81b3c06c8ad3c00000000000000005fe5e03c9f14813c000000000000000046cb263dbc34e63b0000000000000000c364953c711cac3b00000000000000000000000000000000000000000000000060050fbb258983bbc54bc83be36a273d48d15c39519403bb937a273ce1e30d3d7eeb753be494b53aa2583d3c65f5ed3c7815aa3b45e7383b68e94d3c386eba3c1bfbfa3bfea24b3b35be053c74bd6e3c352ce73beacf543b9a6ea43b1c43093c8a02b93bd9cf1d3b9163f83a047360ba0000000000000000000000000000000000000000000000000000000000000000bb64273c5c4c1fbcbac0153b4db0c23b7d04533c27fa11ba9c7accba5191c0ba3fc8573cd0a3aa3bae5f94bb3ef40dbc2c251b3c1536073c9e000dbca59f42bc0eeff83bf197ca3bcdda07bcb45358bc84fe393b5e5bb33b692f0cbc5f7735bc0a6a0f3a8899363b3e82a8bb5cc4e0bb0000000000000000000000000000000000000000000000000000000000000000b0901a3c8cfe4ebe4a1c59bbff7fae3b212fa7bad33b35be4dbcdebc9e6bb6bb6c7a64bc2c631ebe0b7a32bde76c4bbc15c565bc198ff5bde55935bd040698bc9b074ebc6827a3bdb5440bbd194f91bc2c5b24bcac1129bd43aec4bc647185bc3fcbc0bbacd787bb14dbcbbb1ac242bc000000000000000000000000000000000000000000000000000000000000803ff2db32bcbaaf9c3b75531fbe438caf3fe4b5f5bb93ed63bb6fdcd1bdc7ce8e3f3f349dbb662e61bbf5e990bd4135693fc9e466bb49ffc2b9c8bc48bd1b752a3fd0603837d148a63b5456c0bcd993d63eb8d3c73a90a9113c9650203b1ea8483e7315383bba20183cfdcd693c7bf3f5bb00000000000000000000000000000000000000000000000000000000000000004a8cf2bd6872ab3c0000000000000000e52b34bdc290803c000000000000000076a806bce1d1903c00000000000000000c9ea43cf2b8af3c00000000000000003ff3013da7618c3c0000000000000000c7e5213d18857c3c00000000000000002204f13c92b42c3c000000000000000000000000000000000000000000000000000000000000000000000000000000001de10fbc4840733aa84b443c8f6e523c5657e3bb2bbbbfba47fde43bc4ad3d3c9e0e85bb980f53bb12d5703b658e1f3c7d4a39ba44b826bb634c303b8494003c9f7312ba980b21bb23c0953985cac43b7c53833aeec6d4bafc391eba62c1513b5b549c3a810ef0b9ea36b2baa5bc9e390000000000000000000000000000000000000000000000000000000000000000ea09ea3b2f806b3c440efc3c7c354b3bd90f433c56baee3ce50ffd3cfde9453c594c6a3ce498103d2c96e33cbb20533c803a583cfbba043d35149f3c05e10f3ca5132e3cee8add3c5a70613c33263c3c506f0d3c0c2d843c14a2573be355073ce8434d3b7634db3b112d12bbfeab723b00000000000000000000000000000000000000000000000000000000000000005c48e5bd243747bdf0590bbdac49b5bcff6c9fbd3b3860bd545a66bd071c89bd13526dbd5f6160bd611086bdbb1fb1bd012f28bda5bd3fbd935371bd9ed3afbd46abeebc9c4204bdfdbf3dbd4e2a98bd6a8583bc3ef689bcd906f5bce41748bdff47a8bb14c84fbbe6b715bcb12aa2bc0000000000000000000000000000000000000000000000000000803f000000002d1037bdde45fabd532ca53f6d3d3abd718caebd1545e8bdc7e8803f39eeb93cfc40d1bd3b64f4bdd234473fd38b5a3de6dac4bd1aa2d7bddc580e3f3dc4633d1f089cbd3cfbd3bdd260b83ed8ce203ddc230ebd32408abd8a00363e9bc6953c6e71c93b3550d9bc7c213b3c3813a1bb00000000000000000000000000000000000000000000000000000000000000006bd8053d556fcd3b0000000000000000aff7b33dce76843d0000000000000000e5ddf93d979eda3d0000000000000000e79ffd3d36d7fa3d00000000000000000645e83d17ddf33d00000000000000000b6c953dabc8b63d0000000000000000a0f4e43cf120293d000000000000000000000000000000000000000000000000c6659bbb039d383b221b1e3c9e38d23be1ee1dbc59c3943ae5683e3cd861613c6e9c01bccec273bbbdd0da3b123e503c636facbbcc6697bbb815853ba99c203c00b70abb0de344bba55ff03aa626f53bee892cba619e93bbfdad343a6951a33b07f79d3aec3a2dbb199d42ba9ec6363bed91523a1fceb4b9cf1faaba7ff907b725efb23a7552e03981028cbab5ccefba490b90397f026ebb6a74883c7829f6bb9654a83b9f67423c7023023d02e12e3ccd68313cd848093d0abe103d3a2b443c64bb713c0479193d1aff013da8b5873c4d21603c817c0b3d61a4af3c08ae313cd563473cd39bea3c64bb803c2384783ce194ec3b72d0953ccbfc9d3b655c173c8773753b48280b3cad1dd9bacd81813b4072e9b928340fbb22ca82bb99e3e3b9443ba2bd109fd0bcd2016bba50a2733c6fafcebd25ce43bd0f82fabcbad19cbc526999bd63e67abde5c371bde78490bdc2b560bd647674bdf81289bd1466b8bd9fc613bd6a8f46bdd64978bd4645b8bd0091ddbcffaf0cbd2c3649bd6c3d9fbd339a70bcdb1090bc204af5bc73484dbdd2e01fbb1df7a6bbb0b647bcd0c7cbbc06ea9d3b4a25bb3b2fc79a3b313f803be70d4abb41f411be6dbea43fb1a5463d5fce16bd543e3ebeee2d993f5990883da3dfabbd60ca1ebecef1743f0092083e228bd6bd70361dbe12bf3a3fea6a0e3e0965c4bd052afdbdacd8003fd108f93de68d97bdd0e4f5bdf143a73eb51ab63d8973febc113b9fbd48f41e3ef16b413d8f91f13a959cc2bc1e85363ce8ef853c2dd9ac3c1bcb5fbbb1b897bd6c7db5bc1c1bedbc5ef19bbc000000000000000096635b3c49c18f3c00000000000000005d2ba03d261b833d00000000000000004469ee3dba0add3d00000000000000005184f43de1c5043e000000000000000039e1da3de87afe3d0000000000000000e609873dc01ab73d00000000000000006cfa003d561e393d0000000000000000b4c20fbcad14a93b0000000000000000bae962bbfc21423a3ded043c5e08bf3b911c0ebcf6310c39ab451f3c2c61563ce514f0bb5b797dbb16b5f03be585363c77cb9cbb26db94bbd7fc503be3b1193cfea089ba13e65ebb50af613b35a8ca3b48ac41b9eefb87bb21c795b91bec9d3ba8f8a5b8531ad2bac410b1b97daf483bc405bc3a3df736ba74d384ba0ebcf2b990c80c39ef1e513a5ac028bac72c00bbb1d2d8b962996ebb39d1563c95f480ba3604ad3bd6ab803cacc0ec3c3a28053c2772563c49bd023d82e20b3d104c723c9056633cde8b1c3d551cf93c4267963c4810543c642d0b3d2b5ead3c6d87343c15a8593cb2c3e63c820d783c190d773c422beb3bb267903c1f9ea63b1314eb3bef97583b05d2083c2269b6baf7fe723b089a13ba7e2a66ba2b1d2bbb1ff581ba07a465bd239accbc08338abb06437c3cdc9fa4bd6e0b72bd526c17bd756cc4bc7edb80bd287c8fbd3af084bd44ac8dbd48843bbd902283bd57638fbd5484b9bd17e300bdaeab50bdf55483bd6e64b3bd9af7b0bc54f61cbdc35c4ebd1c68a1bd62982fbc11a5a3bc68ccf3bca77c4abdff35d3ba5135a6bbbab93abc928ccabcc2728e3b87a6a23be1c68b3ba74dc23ac7fb4d3a6a6818be66348a3f830b743e365b14bd552242be6343853f79f1823e7f93a8bdb9fe22bec642543f4d088c3e9301cfbd0ade28be4f48223fcc5d7c3ede7fbebdef1a03bea7acdf3e97b14a3ee2358cbd706e01be0240903e5fb2133ece23efbcdae19bbd9315083e0433963dd465443a54b102bd38c5823ce29db13c3fb3793cfbafafba819a4ebdcc45a5bc693066bd4eef4dbc0000000000000000eea7dbbb4a0ba53c0000000000000000e0bb803d09858a3d0000000000000000738dd63d621eeb3d00000000000000003d81de3d34e5043e00000000000000003040c63de472013e0000000000000000e08c623dd1a6bc3d00000000000000002acaa43cd414443d0000000000000000b09413bc3b22b03b0000000000000000e7a141bbe1ed803a6b27cf3bd0f9d33b519d07bc5df7ffba5b12193c5238443ce233e4bb16bf91bbc60db83b5b932f3cf676bebbb8d1b6bb4a01743b0520123cf3c7cfba91d573bb14bfc13abf50fa3b61f891b953b488bbfe8d363acc279e3b0126bc3a828e51bb241194b9b04fed3aaff5bb3a0e9c1a3981b1d1ba3d8069b934cdc53a6234ddb9729ffc3864b50bbbc74e2539a6050bbb83a92e3c0877a0bb4b36fa3b6b38833c500ce53c04c9543cb01f4e3ca2ff0a3dd9be023da537843c012f733c037b1f3d3d5bf53ce36aa13c5beb643c106c0b3dba54aa3c094e5f3cd262443cf8c6e03c391a683c402c813cf2ad0c3c7657933ce520643b7218153c8ac1443bd5f8fc3bbb29cfba26cd093b077875b96234e7bada54edba12c62cbb23792dbdbde408bdf39c3fbce88b8a3ccc7a86bdf1e28dbd340835bdad15bdbcb8c04bbd38d596bd90ca85bd01a898bd903216bd401e87bd7e6894bd26dcc1bd9eecd3bcf9d459bd7c4086bdd308bbbd1f3788bc015522bd20c950bd834c9fbd2bd5fbbbbcdfabbc6274f3bcc47057bd5ea593ba184e9ebbca9e29bca066c4bc3c3c6e3be4c0af3bdea8833b975e533b6eb133bb5b6601be332a623f502de83ee3a91fbd83e82fbe9621573f5214ee3ea1dfacbd22df1fbeb3ea2b3fd49bde3e64caccbd906c22be4666023ffcd4bd3e94a7c2bdce1104beb88fb33e2cc1913e26358cbdab8cf6bd2067613e92014e3e6411ddbc72a1a4bdb4a6d53d6531da3daf4eef3a3ad501bd4df8543c53e8da3c1af5683cfd6618bbaaef1fbd16fde2bcc5fba2bdad5682bc00000000000000001d420dbd9923ac3c000000000000000037b1433d3a73993d00000000000000000fc0b73dce1df53d0000000000000000fab7d13de7c50c3e0000000000000000d8a5ae3d010d073e00000000000000002787493da5b8c43d0000000000000000bcec763c89464d3d00000000000000001dce81bc761abc3b00000000000000003ea36cbb49fd37b91de2db3be4b0e63b102704bc869108bb1d62f93bfc0a4f3cfe23d1bb309ecdbbdf3aa53b1cbe313c5c019abbcfaeb0bbe1eb0d3ba956fb3b312b33baf38a52bb2413d43a79d9d53b0bcf99b9a2cf9dbba4eaf9b9fcbb9d3bdada333afd1e00bbb8fc8eb9e166273bf5f0b13a59f941ba9bd2b3ba1a7e03ba0887433a840b973a16c811ba3bfbc1ba42d397b84ed002bb3148423cd57f1fbaa85bcd3bf430973c6284d43c3816693c58764c3cf446113dc7f8fe3cf3dab93c612b743c1abe263df265e63cf3a5c53c8ac0563cd7f9083d5987983c59ca613c60a4473cd272f43cbe13653c798f813cc45de33b274b8e3c108ca93b7fa70c3c184c823b0dba053cb2f704b8c996093b055d62bae6f911bb2fd035bb91ec04bb8e3910bdd65b29bd945181bc267c953cf0294fbd3809a1bdd8b73dbd56bad2bc147525bd95bf9fbd897995bd29609fbd8270ebbc903e92bd70e29cbdfbb3c5bdc88ab5bc8bc45abd55f486bdf8d6b8bdb6e864bc01b71cbd41c258bd37f5a6bd255eccbbdbf0c5bc54aadbbc18c759bdb9e9923aacc5c0bba8454ebc0df9cdbc3d64493b9009843b0276cc3b40ab563b155593bb5f76d4bd2ab32b3fcbb82b3f71fb26bdca3115be3ac01f3f4d652d3fad19aabdbf1b0ebe1fa3003fdcaf183f6c34cdbd545015be1097bf3e44afff3e9f66b9bd2b26e8bd73d0853e6c24b93e6fbf8abd86c7eabd914a223e534c853e02b6f6bc889c8ebd15b7933d430a0d3ea19a1bbb7abadfbc23b3f33ba3300b3d47275a3ce7dfa939a916fabc58610bbdd153debd990869bc0000000000000000500876bd243ad63c0000000000000000b36c023d4c8fa33d0000000000000000ec97983dc8eb043e00000000000000003c27b93d30c40e3e00000000000000005b7d9c3dbb690c3e00000000000000003d3b1e3d5594c93d000000000000000000e71e3c31e95b3d0000000000000000809ba7bc2df5eb3b00000000000000003c2e37bbf2ed0fba78ecb53b302cf13b111ff5bb9ca080bb587ad43b0191613c4cce07bc2a4bcabb691c8e3b0450373c4bf064bbc4aef5bb0e9cea3a5612193c6e9404bba7cd65bbc5f05d3acaf2f43be22079b80a1a9fbbfa46efb9987fa03b9b1c753af31227bb534f38ba14cd3c3bb622183a5fd31339ffeaa6ba4412c0350e03503af6cfba3929f0b839f0921dbb3b148d3a8d1f12bb53fd1f3c2c9372392098003ce492933c2174c43c661ca53cacf5743c215c103d5043003db31fcd3cfe4a723c5f51233da3b3de3cd1b4d33cb02b613c364f0e3d3b96a63ced55943cea9d533c8c25e93c6b98583c8d12833c6ecde53b52d6943cac14963b1890f93b9c94683b928af93bb7c168b806592a3bed2ab2b9903208bbf2160ebb90d629bb5321e5bc8cbc49bde7947abc2d8d983c7b0e1cbd3ab9bbbd28164ebd09f2cabc8b440bbda4fbb0bdf8209dbd630a97bdc7a9bebc4dcb97bd020b9bbdd4c7cbbde2ee8cbca9fe6fbdc5278cbd1992bfbd21cc13bc6e0229bd90cc59bdaad4a7bd3460a2bbd40cb9bc3609f3bcac4855bd6088dfb93e51ddbb3baf20bc6958d1bcb0212d3b5d9fea3b1b13763b58d6763b24aba4bb766199bdf50be83e4624623fc6582fbd29f3e9bd337dd13ecf19633f7329a7bd865ffcbde6a4aa3e6f9b423ff8fbcabd75ee05be33a27a3ea70c1e3f4d9cbcbd2445e5bdff342e3e9478e53e832084bd57a8d2bd242ac03ddbe0a03eebcfe3bc11d381bd0e0e1d3d3008273ef4d235bb7b0aacbc0ea2643a0952133db2bd323c38047d3b338dc3bc52412ebdf5bf06be364e5dbc0000000000000000f21cb0bd0c4ddf3c0000000000000000a1f27a3c0638aa3d00000000000000007365843d7aad083e00000000000000008799ae3d5144173e000000000000000000398d3de1a70f3e0000000000000000a7ea133d463dce3d000000000000000039c9f13bc5dc5f3d0000000000000000b5a4b3bc2651003c0000000000000000e82b31bb39d494bac2fa623bdc83163cc2d708bc503aa4bbeef4b43b23f4683c89abf6bb59b8d4bb73d34c3b85bc443cea6fb7bb038ce2bb2aae743a1ebc1f3cd3be07bb3df982bbea2e133a2e76003c166af1b917329ebbd46475ba7fd6bf3ba9ea0f3ae6b1d9baa7a351ba505f4e3b48ed893a969065ba8abe98ba6aec0bb9c4762b3a4996323abc2c9cb8a40a02bb8a31e73a03494abb1863d63b3757013c15412f3ceb0b8f3c0e3abd3cd345c93cb7ae6b3cb875113db6a1fb3c042ee73c1f4c813c46eb253d97cfea3c6280f13c53d86d3ce2ac0a3d1a94993ce02a9e3c28bd4c3cf0dfe63c8b0a4f3c171a913cb86d023ce0b0893c7116483b7a8ff63b7f8c7d3bb996f63b415d59ba5e4f0f3bdbdb92b9fca3caba600addba327561bb0cd48ebcb80876bdbe2074bcd9b49f3cb41fdcbc1220d7bd825352bd2cd3d2bc4469c6bc35fdc0bda05d98bd98b4a4bda93f92bc979ca1bd3614a4bda4fbcabd442b6fbc1fd372bdf1d18dbdf3d8bfbdd217d6bbcea335bd55ea54bd6574a7bd86f920bb78b0cfbca758ebbc8e2f52bd9369af3aafe8c4bb1dc52cbc8986cebca9ba033ba55fca3b8e28c33babf48d3ad63d8bbbf9a64cbd3d21733ed64f8a3f7ea223bd00c6b0bda4f6493ef2718a3f47b1abbd9399c9bd1ed22f3e57b6663f4e4ecabdc9b0eebdb004f43de7563a3f2597b3bd49fbc2bdbfb0aa3dda6b043ff43584bd8a68b7bd86ccff3c6f4eb83e354dd7bc4d1b53bd8856d73b4fb63d3eb7a491bb712953bc2725f0bbba50133d27f8ef3b7ccb333cbb8183bca4b458bd15491bbe9fd917bc00000000000000006150d3bdab82063d0000000000000000a555f13bb5bbb63d000000000000000080466f3d09ef0b3e00000000000000000ceca73d0f41163e00000000000000008a4b8a3da0bf113e000000000000000078b2003d18a7cd3d0000000000000000372bdb3b5910603d0000000000000000880c92bc7168273c00000000000000008c3858bba0c615bb41a5613b0c71433ca45fedbba2a6cbbbbe169d3bd346813cae40f5bb80d60ebcf284da3a58fd573c1c0d8bbb653cffbb61b88fba04fd253c4c4bf4ba25d38cbb1a648cb80cba033c8ca4303a4b40b1bb9b1909bbdfdab83b0d8d9b392dbbe9ba10a3daba501c5b3b62d4763ad551ab38b285b3ba1e13bd386b206d3a9ed4953a8789e6b9b30bf3badca1303b59770ebb4b1dfc3b671a443c6011293c65ce803cfa39af3ca7cbe13c7ac17d3cf8fb163d3a38f63cc2a1073d9573803c4fdd2b3dcf93db3cc41d063db5b9703ca5100b3dfce2983c379baa3c5a13613ce10ee73cabcd453c4fec943cb327013cdbc68c3c0de44d3bea4bf73b18468d3b278ef03b1d708fb93fe98c3aeeaadcb979a057bb641839bb75a892bb563282bc34faacbd2e799cbce1169e3c2ba539bc7e84f9bdef4e3dbdb747bdbc6b7f47bc7ac8d8bd50b09fbdc612a8bdcde111bc2c32b1bd4858a2bdc931d4bd51b926bc685e7dbd793d8dbde6a3c3bd758f33bba6893dbd8c9b5bbd1986aabd1ff39eb8b52ed0bc0e78e8bc840b58bd550ba83adfd5f6bb076f15bc9cdfe1bcf3289f3ab07a0f3cce01e53b8d50b23bab6bffbb5e69b5bc08cb4d3dbf90a43f3be022bd84e671bd212c3b3c203f9d3f0dafa5bd2c8dadbdb8dbdb3cd148823fe6acc9bd9ce5cdbd2b09b43b4ffb4e3f8724b1bdc956b5bd064e103bc239133f8cf278bd4c43a2bdaff2d4bc3552cb3e114cc7bcfd1330bd95efc3bcc091483e394dd3bb9f7496bb169cfdbb7be4df3c45a4293c40cb8a3cabfd4ebc9216a4bd216118bea36682bc00000000000000005577d2bd0d14fe3c00000000000000000b608d3cded8ba3d0000000000000000e1cb8e3d4ece123e000000000000000088b7b33d308b1d3e0000000000000000be948d3d4e10173e0000000000000000660c1a3da294d03d0000000000000000e6f4753cf1236d3d00000000000000009ed0cbbc491f013c0000000000000000000000000000000000000000000000008ce80ebcacb5e4bba4758c3b710f883ca465dabbc27efabbd404b13ac6b5543c133e73bb90b3e2bbb71bae36f371253c2c269aba814591bb3d159db946e7063c389e51ba9b6974bb55ed4aba92dcf63b50beb83aa51801bb51c93ababb8f833befd97b3a2d87ee39dad5a5ba1d1b8e3a0000000000000000000000000000000000000000000000000000000000000000d5a9373cceb3ad3c6b62cb3c55eefa3c1647803c48e90b3d326be53cfaab063dbb56843c82bc1d3d29e2be3c7117ff3cfb186d3c327e093dd36b913c5bf7ac3cc3d2493cb606d13cb03c223ced7b843c63a9f63b39ea803c4ac4e23ac0f5ea3b707b4a3b29c6a83bac990ebb1154acba000000000000000000000000000000000000000000000000000000000000000035b14fbc0ab307bec54470bd13ea01bd8acaf3bb15fed5bd966396bd4b0aaabd2bfdf4bbbc32aabd3c799fbd9ea5d4bda2daeabbd61884bdd0188cbd0fd7c3bd4b848bbab55b47bde7e64cbd39b4a2bd94a02f395e39dbbc43dce9bc9db351bd48db913a7f7ce3bb1471dbbb30b29dbc000000000000000000000000000000000000000000000000000000000000803f00543bbdf1ad21bd1895c4bd304ea83feafba4bd60f192bdf94799bde223873fd5dbbdbdcdb7b3bdff5b97bd14d6563f87c0a8bd72fca2bdbc197abd7f6b1c3fb5b76dbde10c87bd842d86bd0046d23e6e71cebc2f680fbdd4333fbd4abc553e9d40143b03ed6d3bf10dcfbc7940aa3c000000000000000000000000000000000000000000000000000000000000000062db31bd82aabf3c0000000000000000a7fc483df528c83d00000000000000006a67c13d604e183e0000000000000000c763cb3deda71e3e0000000000000000627fa63d7603103e0000000000000000adef383daa8ad23d000000000000000021a2993b3c20423d00000000000000000000000000000000000000000000000000000000000000000000000000000000213bff3adcf4f23ab15f85bb19536539941bb23a57f0b93a38f3f6ba5919ea386088073a7530743af86581ba019ae6ba48b49439fed7573a34fadd38559fe2ba91741e3adc12c83a0608e03aa8db443a1207a63a58c6533ac22f6f3b4c8ba83accba3a3a05922a3b09129c3b0b79bc3a00000000000000000000000000000000000000000000000000000000000000008760803970529339c4b748bb7c32e8bc405b3bbac0fdaeb9c50265bbc3e3cfbca0b464ba6cb7a7b9674b53bb04b9b5bc65a01eba97ef17388a9839bb1a8d9bbc7ffe03ba6d3df2b9a22814bb183d83bcaaccb6b8d26442373f8c9dba5b833abc5f12003bd64df0b7cac2d8b99bc0d2bb0000000000000000000000000000000000000000000000000000000000000000ae7f58bd780278bc88906bbb122c08bac34a5bbd5d9978bc4db85bbb312c8fba304c4cbdb8806fbc8f5c2abb0fed24ba882839bd09f85fbcbd2d14bb7fd8cdb95b9d2abd5b7a4fbcb14c1ebbbbf215ba20ef13bd909c25bcf7371cbb50e322ba37f5f4bc2f1fecbbd51140bb4e8175ba0000000000000000000000000000000000000000000000000000803f00000000405d073c172ca5bc9660873f15b5d9bb2c13ee3bbd6b0fbcb117633f4be26b3bc542ca3b704391bbac54393fe625043c5b3b893b05e198bba5ad103f765d103ce125043bd4790abc7b1ad33eb011d43b316fed3880e669bcd416863e328d0d3b0f5904bb68edaebce7b7ee3d95ca93bb0000000000000000000000000000000000000000000000000000000000000000cea1873cad81093b0000000000000000dedb773c8c16553b00000000000000001108593c7edd833b0000000000000000c146253ca266993b0000000000000000278bc73b86d1813b000000000000000027b7f13aba7e3a3b0000000000000000621546bb4f27a63a00000000000000000000000000000000000000000000000083e0223b959ef63a2236a4bb8997a839e75c7c3bbef9a63b32fe73bb89a6893a478e283b2e79763b7a27a1baff4d8d3ab441f53a0ffe473bd3306a3945644d3a9aaebb3afc122a3b3500823a5688333a066a253a0c51163b3798323b9a54603a4ff7d23ae9fd723b7d50aa3b86e7c83aa4cfde3a0239723b4bb6dd3b93a0093bdb94b1b9540c8a3afce5b23b153af63a78f3d83ae2a8083a56d707b9b6e3cbbc1f22933a43e4f73828bfc1bad74effbc9c95fd39e9b53eb8a5f82cbb2805f9bc191c86b9e1b234b93b1734bbb66edbbc01b8b4b9da61e3ba2a6b1abb3ba7acbc3b23403ad10c6c39b3f140ba7a1f97bc354abbb912a8b4394602abb969cc3abc4bfd003a9d5701baa073e23a4587a4bbcb820cbae500e239400f153bba31033bcd8fe4bc592726bc727aa1bb3f68f139eb2263bdc1a0abbc47e604bc714b7c39c57382bd7467b3bc0489c1bbc65b89ba7d587fbdad52b5bcd9809ebb4b4290ba729d5cbdf5549fbc00a181bb980812ba67b24fbd75bd9fbca5b643bbc4c8c8b945d431bda80b6fbc86ed55bb413fd0ba4df802bd77260dbc584906b99bc3e0b961ae78bc7ab1e3bab9defab95bfdd5baf7bb0a3c85723cbd6f60863fbe1bed3d9561453c8fa83dbd48337c3f040be03d298c293ca125efbc3562553fb26cd63d6dbb0c3ce717afbc963a2e3f1e83be3d5edeca3b2c088fbc6df9053f3e309c3dde6e943b0d72aabca8e5c33effb26a3d30b3013b0421d5bca794753e8a670f3db4700cbaa4cb02bd7151d43d4e21333ceb70bdba1ff6dbbcc11f86bc6f79dbbb048c033b8d1ac03a00000000000000009d645b3b46cc9b3a0000000000000000e9241e3c47c38d3b00000000000000009b5e173cae40b13b00000000000000003219d13bb2a1ae3b0000000000000000d530313b0dcba93b00000000000000006cc112bbd0ee4d3b0000000000000000f3fff8bbf701b13a00000000000000009a16e4bb35196c3a0000000000000000cbf92c3bb5ad0c3ba0ca8cbb164787b903a33e3b82b37e3b24ab6bbb4febb03649e36a3b9f6b92b85f022fbb09a38bbaea73d33a82253d3b9b68deb96ea587395d51653a2c7dec3a15e60c3ace157539a80b113ba2274d3b41893f3b247e733ac3bd22396d42d33ade64273b6e45bc3bf174a83a1770463b9a5fa13b0aa8453a86601f3ad183fd3a4dc06b3bdeb56f3a40f1023bcfa82b3a4e3db43aa670a4bcbec5063b00cfa039f7bd003a339ce6bcb1af43baaabacb3ad1a530ba22ebbcbc54566339bfdf73b948cdedbae3bcbcbc61ae6ab9982cc8b9b376abba3c7787bc6d1c6fb9c4c99ebac5c80dbaba7867bc4c40623bc2d2f53950f13cbad98519bcd00b9f3a256debbab1cacd3a3b0527bb7637fa3a008494ba57c6d23a539adf3ab4b3a1bc28ff10bcf452babbb619843a08e138bd28ffa6bcf22a01bc3e72cc39e2c340bdef73c1bced0789bb9fd343b9dfb15dbde5b3cebc16dec0bba3d8c5b96ede35bd87c0adbcedf387bbe4b072386f6e39bd725eafbc8df679bbae1a37ba646212bdabd990bc3931a9bb81f1673bd19adfbcbf1439bc0ecb0dbabf4d633939794ebcf60c7dbbfbb6463af8d54f3acb5e0c3ceb093ebd4750623f9cbe843e46eb4b3cfc6b57bd55d3563fc974793ecba7293c5a4107bdc9e5323f91665f3e6edb203c26fbf4bcb9f5163f128d3e3ee66ae33bfadfbbbc3805e63e27b8163ee16db33b87d8dcbc7299aa3e1b79e43defd4223bb941d8bceab0563e1e5e913d8ea7023bccd403bd0f20be3df3d6043d94cb1a3a0739c8bc771420bce2bd60bb4b6032bcdbaf403b0000000000000000ab960fbcd741b73b00000000000000003b08a7ba46c3bc3b0000000000000000338de3b9386fdc3b000000000000000003b775b8bb07ca3b000000000000000036bf57bbeedd823b0000000000000000eddadabbe2c2d43a000000000000000042d612bcfc99453b0000000000000000fc3e01bc5069b23a000000000000000040e5033ba1d4c23a0f3d91bb382fd4ba5a71273a0613883b6bb52abb911e13bb5ad9de3aa67b343bdf2cedbaf52578ba5926b33a8bba073bfc9016bafdbc65b9e5bdad3a0854023b08b95e3ab9ee1b396bfe59bb3868743bca944c3bf0eac43ad78f1f3b89e1c33afef9953b2141243aae71fe39fb6a1e3b82f0963b138f0b3b246ae0391b96e23a20254e3b6bc91c3a33de053bfb67453a1869c63a7dac8bbc22d6d43a5489013bbdf93e3ad538c6bc10ae6b3a1b1bb3b95dfb26ba8f6cb3bccab0113a206fe3b989516dba2c5a9bbccfa415391e5222baddd498baa2737fbcc096253a5d982b3824181c3ad3c93dbce535e6b9b1c3e5bac03eac3a4a2c0abc5133483a305602ba8945923a737b10bb55b70e3b4e6f0cba92e6783a62918c3a215a6dbcf0cbe2bb6f53e6bbd5018e3a997b14bd024fa6bc06b21dbcea1bec398bfb3abd2077debc328504bcbd2699b930753fbd14adecbcc5cfd2bb75e79fb8234a30bdc304e0bc1a27a8bb14deb6b8e3c221bd5478cdbc94e985bba70bc2b9391201bd35fbb0bca7b6f8ba1a51ffb9268ab9bc914463bc3e47a6ba669a47b962ca1fbc22df9fbbc9438f39139949396dc3f93b2b0a23bd28db383f3a75d23e269b393c0a0c3ebd84032f3f1f0bc73ea3ba353c26330dbd6944173ff005ae3eb3d31b3c3f98e8bc744ef93e0019923effe7f03b85d5cabcc1dcc13e9df9673ed76dc83b9047d3bcec9b8d3e62a32c3e47a2943b34e4e6bc1e9e313eb796dc3d31f82c3b6e85e7bce2709f3d04e34f3d945b653a640da4bc2f3fe5bb42f1dbba55ceb3bc254f8f3b000000000000000075fdaebcd320f13b0000000000000000507e5abc8d13073c0000000000000000a02310bcd8c00a3c0000000000000000a3f8e8bbb21dfe3b0000000000000000844e05bc8a05d63b0000000000000000123033bcf279a53b0000000000000000078440bc4ad4293b0000000000000000f3f80ebc0cc4553a000000000000000066edc63ad7f7c13a02cd5dbbf33a31bb2703df3a0b5a0d3b4ade56bb2b9d3cbbabfc1c3b945fc63a2430d5ba840e04bbb40e4d3ae324fa3a2599f038f3848dbaa1069838e2784c3acc76ec38d03190ba049db63a5c1f0a3bd5a2203b4977833a45ce6e3acc901e3bfee2213ba338633a594c3b39afd7073bb0cf8b3b1df1093b39e22a39e79eca3a7fd0423b1da9bd3a2ddb0a3b1f03963ad894c53a649362bc26f3073b6314183a8e86163a702f9bbcb63a343a21557db9205c32bb364887bc1ff47839249b88b9c2498dbadbfd80bce3b0963a4f9278ba003982babb6427bc69958e39032e31ba79ce21ba84d824bca972b13a413b433790b3edba53cdb5bb3ba6443a8c7316baed4d0d3a33ff15bb0d06ce3923ba34ba42e4a33a8dc99b3a1f7c65bc9425f8bb379f02bcfec7a23ae3d501bdd68db7bce3da27bcb0b4963ae31219bdd0beedbc899006bc92e5873910ed2abda02d0abd3b02fbbb9697ab39ad20f0bc4b2cc8bca13d9ebb30ba36b883670ebd5d71f3bc68a5acbb91a9bcb9358edbbc7857b3bc41ff2fbb8d822139b0b295bc37f689bc526558ba267444394ca0f6bbb971e4bbcb55703a21112c39deb8d33b0f5dffbc797a103f9685103f1cd0213cd7cf0cbd7275073f5ee5073f962a163ced15d1bca163e93eaceeea3e60840f3ca264b5bc7d47c33e0de9c53e7c1db53b911f6ebc5707933e9fb6953ebb84b43b5cc1abbcdb785e3ecc2e673e7113653b5fd1a5bc9543083e077f133e420b133b92bebbbca0ed703d1b1a8d3d72bda33a3f0f86bcf37306bc42c676ba77a400bd0dd3c83b000000000000000026a006bd2724223c0000000000000000cfbda1bc5c59213c00000000000000007a287cbc6fc71f3c0000000000000000c09101bcbd02e93b000000000000000037bc39bc7ccce53b0000000000000000190229bc7109a13b0000000000000000ab634dbc54c03e3b00000000000000007ef81ebcc79a2f3a0000000000000000432ca43a7e82963add6e1dbbc28c37bb4ca92a3ba521093bba40ddba46ff6bbbc80e663a1c0bb13a2a7fd039eaa603bb81f02b3950ed603a945fc33a53d87ebac247fe395bdecb3a651aca3a151bdfb9e9af9c39b0e4e13a4b5a453b825bdc3af3c387baf9dea43a25016a3bfe761b3b7e71ae3a2494c03abed86d3bfdf5803ba13e173953f2a13a929f343b73cdf03a3762d83acaeb1c3a15f9673a67782ebc4393233b4568973a8b0b27baf30082bc4758ce3ae71f8a39d6bb6d39764b6cbc3546803a3725b738f25fd7bac74b4fbcbf08813936613fba58e53abac3f028bc23e56c3add1a74b9fc85aababf0608bc07fe6d3a2972f6b9e785d93b28b7d4bbba37143ad9fd423af1cab13a56261cbb711a5a3aacac04baec13613aabd5483a70ae76bc2de71dbce1d80cbc086eb23a45bd05bd33ecefbc15a754bc33d0083ae5701fbd14ea1dbd55ff3cbc32832cb915801fbdeb3228bd3caa1fbc7cea32b9aaf10dbd1a481bbd6d8f00bc8909bd3879ecfebc5fb611bd5502d1bbad017237b95bccbc92c2f7bc6d9a8abbb1d480b89bff83bc021db2bc3c0c9ebae34687b80d48bcbbecb912bc638e9f3a07666b39ee7c9f3b386cafbc4d20d23e8696383f40b0123c2f86cbbc6bffc53eca592f3fff4d043cfc0478bc14dbab3ee916183f52b1e43b57b972bcd7ed8e3e7753fb3ee092c63b812063bc6fb95f3eb280c43ee715933bc43783bc367b213edd9f903e6b52e83a17a495bc8d5cc43d67cc393ec5b2763af7f39ebc6edf163d0970ae3d4049363aa91459bcf3f138bcbd2dcbbad3cc22bd1ea8f23b00000000000000005d7f35bd451b403c00000000000000008dc2f9bcc86d513c00000000000000007b47adbcce4b343c000000000000000052be73bc66f2163c0000000000000000f8be67bc5ce4e33b00000000000000003fef61bc683da03b0000000000000000eeb575bcc98f143b0000000000000000ae862ebcb35a263a00000000000000008521f03ae6690a3b5446e2b983738fbb9cacdd3a9f34373bd2e58b3afc528cbb8d805aba849e5b3a2b75413abfa125bbc519de3a96f32e3b93863d3b2bed88b9e995f2396417853a17e8f43acb4693b6be6c2e3aa42eeb3ac5085f3b2156213b4a0ce7ba440adf3ad18d503beaf4363b8299ee391266ef3a163f8f3b78d4883bd2238e39ffd7153a5334433bd0ed593b82f9053b6ee0d03a3161883a65fd02bc72780e3bc7a9a83ae75d05bae59242bcec92dd394a01bab96955673bc5854ebcef373b3973187abac944e9ba4fbc3ebc7223f5399d8701ba7e36b7ba1b1106bc9d838d3a252bd5b7d79f91ba67a0e6bb130d733a2766043bca6c9e3906539ebbe5929938e8218f3942d5e5395f89adba726a30b90f68153a913d863ae25d943a742a94bc4d4a7bbc42fc49bccab992b9462409bd8aef1dbdb87c8abced4fb8ba35da10bd46b138bd0869debbb219b03b2e871bbd2cb54abd144d4cbc1dc87ebabaccecbc08d828bd2cfe18bc4c600eba9db6e1bc10142ebdb7330cbca7a78eb9b992abbc194200bd6cdac5bb4d4637bb293041bc8788d0bc24732fbb170023bae1af44bb439935bcded358397d3b4aba4760c63a261f33bc2aad853e5180623f1bfe533bc7f525bce8e8783eb022573f8fd1153c4b5300bcfd265a3edc97323feeeda63b5d859cbb98d1373efbcc173fa280883b8025b3bbb9960d3e33a8e73e71475a3b3e441bbccb94c93d148aac3ec3b2083b56eb29bcd23c703d0a415c3e07f3893a310262bceeb2753c5c61ca3dd898a839ddd723bc1d087fbc14939fbb07743ebd2b85f93b00000000000000009c514bbd62264c3c00000000000000008bb9f1bcaeab1e3c0000000000000000f679b2bc6612383c00000000000000003bdd5cbc13410a3c0000000000000000385366bc1cddd83b0000000000000000313847bc35f43b3b000000000000000055d089bc5349dd3a000000000000000052c05abc33f990b80000000000000000fd8833397baee73a00699a37d9f7aebb42c8d43a7408213b34465f3b258910bb76d18a3a72bd003ba2bc7b3bb6b49ebae640603a149aa23a2fdd403b8e6184bae102443a5cf3893a26074a3b2396383a4dedfe399d0cdb3a7b61843bd174443bd158233a9060ee3a28ca923b14f7953b7c999f3a12adfd39c37a603bbb2bc63b45bd6139c4409b3a8c76413b9f1b7c3b0b88733af9f6273b7dda5fbad1a94cbbaa014f3b8ba5133b2dc0f3baa614f0bb1605dd3a7567823a270f3ebbe63f10bc5df4013b1bbe903a499e36bb921e13bc4de41f3aeedefbb8c72c08bb6c6bf0bb887c7b3a5551fc372511d9baf888c6bb2b07bf3a205b0cb9a0155bba401185bba880153bd1d050388c27983a35f900bb4ee49b3aacaf2db9da03c939e4d4d839d332bebc9a94e8bc10a03bbc061401ba4e0415bdb59962bd1f1f9bbcffaee9baa76715bdd8857cbd5ba893bc433729bb2b6b0ebd524f7abd2a567ebc901d4abbbd1ce8bc0d9855bd14f05cbc9f96a7ba12a5c8bc17494cbd92e547bc2a299dba38948ebca2612dbd113611bcfcdb0bbad93717bc6f5a03bdc0101bbb213f313ad890abba129f7fbc844abd39b1c20738262d103b03ab943a1fb7ea3d8bba863f4e280c3b44ad823b7637da3d1b4f7c3fa652343b878be33b5622cc3d8cf0553f2823373beca4823b858faf3dafb52e3fd1fc4b3b6f63f33af594863d736c063fe8720b3ba72b1ebba7ff2f3d00cbc43e7dd0653a92f6cdbb85ed923c0aaa773e03fabab981be15bc8b8bfabbbc74dc3dfbc25ebaa47aedbbf9feb5bc18c55cbcdec444bd3c19163c0000000000000000829e3abde4ec4c3c0000000000000000c17ac5bcb1f2433c000000000000000054d253bc2716323c00000000000000007316f4bb2f47003c0000000000000000156d03bc3d50ab3b00000000000000003d9525bc819f263b00000000000000005ec27fbce70f35b800000000000000004f7d58bc1f6b19bb000000000000000000000000000000000000000000000000d448033be6ca1e3b45bada3ada2893bb0f52dd396c430a3a797f1d3b50d40bbbd94cf5396454013ac3b5113b3fb5beba93adb8b8d37a9d39912aff3a4a0296b98f3bc939c6a6043a1a781d3b50fee03ae1e7eb39f022893a2d0d4e3b136f6b3b22ee2938c6e59a3a070f703b2da6a03b0000000000000000000000000000000000000000000000000000000000000000e50154b87d18023b41cc14bb9e34c1bbf54c7fb9a6076e39a4c017bb6777bdbbc44646bad155d7b99e0921bb62c8c4bb5c19eab94e2df5b9584e0dbb50a3aebb2702063917bc8bb95d4afdbaf12a9dbb6c63503ae21d54b9eaa68eba17f061bb94659c3a93b0e2b8475631ba98b008bb0000000000000000000000000000000000000000000000000000000000000000ea39f6bca9965abdeacf8bbcdd054dbb5a34dcbc81cd5abd30887ebcf14210bb859fc5bc56514cbd711c6cbc1168ebba2c2baabc8fa139bd9e9257bc4aa5b1ba5b4d8dbc3a8029bd046d3ebc981c72ba912e4cbce39b13bd96971dbc3d6962ba9c55d6bbe39af0bc652fcebb171768ba000000000000000000000000000000000000000000000000000000000000803f67dcae3a43b9773c391c15bc2888873feb560f3b9b96543c59c240ba4c27633fa9de3c3b30c2203c1210093bb959393f4531223b2ffdc53baec7b13784bc103f30bab43a28de193b2dfd93bb6f34d33e675b3c39265f9fbaff9838bc1728863ed01cabbaa31979bb4c4aa7bc8ca9eb3d0000000000000000000000000000000000000000000000000000000000000000246e8cbc08a10d3c00000000000000007e5ea9bb66610d3c00000000000000000ce3a03af5cdf93b0000000000000000fb41473b4954d13b0000000000000000fa59d53a137c8b3b0000000000000000e87106bb2a88c93a0000000000000000859501bcaf4db0ba00000000000000000000000000000000000000000000000000000000000000000000000000000000c30b673a8f6005bbf860c8bb2e7481bb91208e39be0800bb7c87a3bb07468bbbaed4c9ba467dd0ba34de80bbff628dbbeb7878ba9091f4ba7eb52ebb03687dbb4ee0103a94bdecb9e53a8cbab2a64bbb26ac533aeba3313a0f0d0a3ab69fdaba0d78e53a3aa8fc3a08ba0e3bfbf732ba0000000000000000000000000000000000000000000000000000000000000000be724ebbaba883bab551b3bb218aaebcffd770bb741c96baa269c6bb30e29ebc932f89bb0e44c4ba2474cabb6be593bc2dc782bbe83559bbb671c0bb9e3f7fbc04035fbbefff7eba10e9babb950e6fbc529910bb2a7ffeb9955e9abbd30f3ebcfc4c99ba34d1223899835dbb89d90ebc0000000000000000000000000000000000000000000000000000000000000000ba17d1bc774107bc3e9642bb13f553b984b5ddbc8ef61ebcbaaa5fbb4bd3edb9826eddbcd8fd2bbcb3ca7cbb14563cba44c3c7bcb87027bc335881bb2147d6b9d188c9bc202b3abcc7e0b1bb60d7afbab910b1bc770024bcdfd1bdbbb553cdba61e599bca00710bc9432d4bb69b101bb0000000000000000000000000000000000000000000000000000803f00000000fd9e203ce938b3399271773f7ee9273c56560b3c9012783b9a05523fc03a6c3c5090f53bba9f923bdb9c2d3f113c843c709eb23ba5a0323baef9083ffe1c5a3c9cfe2d3bda4814bbb2f7ca3e248a4c3ca94e1f399d84fcbbad23843e0582073c248916bbd37677bc7b3bf93d8f024e3b0000000000000000000000000000000000000000000000000000000000000000c37dad3cc4d8c93b000000000000000054bca33c6bf0f73b00000000000000005679993c2a970e3c00000000000000005a3c863c8c171a3c00000000000000009acf523c90ef053c00000000000000000cfb093c4c49c83b0000000000000000eb15813bc5cc923b0000000000000000000000000000000000000000000000009b58ee3a28918dba7a64b9bb340829bbdcba293b78958eb9dfb1afbbc2ea69bbb72d8b3a93974239483752bb84c67abbd273f439f255e0ba58a325bb08ca50bb041b483b0b09ecba44353cbb681894bb81a8803915fe3b3abc42e1b92d229aba88c2ea3abb48e23a831cb03a67b0c1bad6cf0f3b6a25353b29c4603b39c67839c3b2d03ab922213b88324c3b31774e3ac75a56ba214440b9ae2f26bbb6df90bc678128bb218e1dbaa3c2aebbfd4fcebc768678bb84cb41bb8f2c05bced5ec2bc6ea853bb00151dbbf9d4f8bb1fcfbebc55b89dbbde3f1bbaf275e6bb073c88bc0afc6ebb96c0adba8d3accbb50ca8ebcf8d51fbbd28d15ba60a99ebb33d45abc4dbf3dba4558d1399a0931bbebdd08bcc80306395483cf3943894abaf77957bb0c216ebc4c2999bb75c613bbdab7f739157debbcb6be30bc1409a5bb9d9741baba060dbd7fac55bcb737a6bbb0b92bba1bc60ebd85d481bccc24e2bb675e0bbb9423f0bcf94064bc17c0cbbb662102bb49d6fbbc92ec7cbcec9b00bcb0ed24bbf9f3d4bca84c56bcf831efbbebe014bb6e71a9bcd04522bc33c8e4bbbda70fbb8c4b3abc3525a2bb79d2a1bb24c4d2baefa20b3ca8d449bc8dc3753f6633053ea9383a3cc10a29bcc4a35f3f72e0fc3ddad9333cf9e89cbbef2b3f3facdde43d8389283cc1ea1bba99c91d3f0a44ca3dce46b43bd18245bb0b84f53ed508a43d516b623b1028cfbb6d57b73ef7ad823d5d408b3aeee659bc91246c3e53b3293d6035b3ba763ca5bcdb70db3d6e2f993c0c3f10bb9cc799bc516b04bc1910c8ba825c373c8da85b3b0000000000000000cbc4983ca61ddf3b00000000000000001e40ba3cefe0eb3b00000000000000003197ab3c92673e3c00000000000000008dbf7e3cc10d373c00000000000000002627493c606b0c3c0000000000000000ff85053c1fe9ec3b00000000000000004030003bebb7823b0000000000000000cbf8e9ba7041d83a0000000000000000bb1ddf3a2bef00badec697bb2daa2bbbb122e13ab48177ba0bdfb8bbc89a82bb27e8203a189abbbaf5b887bb3d1481bb25683a3aaf5897ba522274bb3bde8cbb46e560b93c4190ba25e219bb63c554bbf9d87e3ace28a339b412ecb92b6a2fbb6028403a210f873a764d743a4992bebab2f2d63a1eb0143bb97a433b01472eb88d42b33a992d023bd766223b1f8d283a1e7d26baa2b2bdb83139b6bad27c75bc8b7417bb68572fbaa76083bbf43eb3bc309a4ebb8685b4badb54a3bb09929bbcdee884bb9a37d8ba9523c9bb36f3a8bc413b6ebb8f25bcba358db2bbc2367fbc01e45cbbd2af93bafa77b8bbd3f77dbc155713bbfc6a7bba288b72bb32df31bc408c95bad953ccb8a7ca24bb389cf4bb8e7870b946cb983864ccf6b985f116bb440b36bcbd5780bbe90d4fbb717f283ab4f0c2bc623928bc7f2daebb7f30a9b75173d0bcee8a48bcd8d3a3bbf710f3b9ee26fdbc0b6a83bced5fd4bb7d619fba3c47cebc554861bca584babb4b25a4baee39e3bc016b82bc3f9ff4bb4ee511bb5b32afbc7dea48bcf61eccbba83b03bb53c895bcc7a429bccbd5cfbbcc2a08bbfc740ebc098791bb06456bbb1b4dc0ba467c003c5b076cbc2a48513f2d51863eeebf3e3c660656bc134f3f3f889a783e916e1d3c2329c1bb4129213f3dee593e397c1d3c7b14acbb9a05083f1e0c3c3e9362d03b3b20a0bbe738d33ec8e2143e6baf963b5e4d24bc2ff99d3ec6a5e53df156033baf4548bca8294c3e758d963d04edcdb953179dbc7b8abe3d9ba3123d07b889ba51587ebce8a0bdbb25c2eab93bcf643b0d13893b0000000000000000dcd02d3c4542083c000000000000000063ca483c12e6193c0000000000000000705b7c3c6c01373c00000000000000001275483c7f431f3c0000000000000000bb422a3cc651203c0000000000000000f96fb43be215dd3b00000000000000002e105d3a6c91933b0000000000000000a5a01bbb559fae3a000000000000000065c2853a7ea38ebaf5388dbbeb7641bb900e943a84a499ba7f83a8bb66978abb8a97f83a5a7606bba0399cbb3463a0bb91756e3a2a648bba6c7749bbda7a87bb48f36fba61d1febac12038bbeac880bb3cea123b670591b97e0eaeb941a219bbfabc233aab99d4389333103b3c62c1b909d2e73a4b7dea3a3f2b1a3bcb5b1ab84f673f3a4550213bdc95343bc27a2a3a74561dba9fdb59392be88aba58ed48bc62230fbb54d020baeaaa55bb985898bc8bc784bb450c07bb5507c4bb51b2a0bcaa1488bb70b4e7ba26eab9bb3dc794bce0ba8bbb5fa0e1babe90b8bbc0eb7dbc857764bb6efac3baa002b9bbc8896abc58f4f0ba774f57b9ac8091bb44113cbce3a8c7ba962623ba406512bb711be4bbe9be9938c3b54ab93108a2baf6f0a2ba170d20bcc07e5dbbcbc45fbbb163743a8758afbc31132ebcd39ac2bb77a5cf37bc4bdfbc93fc82bce187f2bb906f00b94166e7bcf43e92bc4dccdfbbc57dabba582fd0bc3f8287bcaf72cbbb4a4b51bb96cdd1bca05d90bcd46102bce7cb35bb69b7b2bc842c7cbca48eedbb5a4f2fbb55f483bc8bc43abcb945bcbb74ef16bb6e620abc9d6890bbb99c86bbcc6879bac75bee3b434a38bc90d92c3fe8dccb3e308e303c18f030bc64321e3f4d7abb3e2529373c87e69bbb0c2f083f7310a43e731e133ceb309cbb881fe23e6b228a3e8876f23beb0294bb3febb13ee5a15d3e943eb93b46d41bbcb638833e30bf253e7aa8003b56e74cbc9ccb293ee9abdc3dc09c2939bb7884bce8ac9c3d83d3583da2f2e0bab49c62bc7af8d3bbf820693ad02e07bb41d1b73b000000000000000086f1453bd48e1f3c0000000000000000bae01c3c16bb473c0000000000000000194d2f3cab5b463c0000000000000000e2763a3c35ec5a3c00000000000000006353123c9d73363c00000000000000004329923b3806f83b00000000000000005d0018b9e80da13b0000000000000000f7f46fbb474d103b0000000000000000eace9e3aeb137eba3c9b78bb4a086bbb518ff1390c95ccba27059fbb1fe157bb701bd638663bf2babcc275bbf6b295bb5c8bf3387149e4ba70f22dbbd15e87bbb7f026badc21daba04d00cbb590665bbbd08ea39b526f2b91f4595b9b16e1bbbaf8a403a837d81398e593e3a72b63f3aca3f7c3aa25bc33a99c5083b981e8e382ba3933ae5e1b33a15dd023b92b1443a43a642ba2bf082b9525769ba22b426bcd2de2fbbae067fbad07d47bb0ec17dbc90d15cbbde6ca4ba146f95bb0e7175bc59668cbbca0d06bbff6ab4bbc62684bce5e270bb843003bbc94f96bb0ea43dbc39615cbb7c07a9bace37a6bb9a5d55bc77982dbbc53da7baa3607cbbd4cd1ebc8ea2abbaf46ee8b9d40c0ebb3b0ad5bb0a1a4bb98b11c0baad63f4b9e61019bbb56525bc2cd781bbe5de82bb3399493abafca4bc117f41bcba55cabb3f3ee4b8bd52bcbc181b81bca742c8bbb78024ba1db5d7bc5687a0bcf54becbb682aadba74cf9cbc93e577bc3d2ac4bb2708dbba2f08c0bce4739dbc2c35f6bb283c05bb1f2292bc745b7bbc3313d5bba3ef18bbdde362bc2e9c48bcf6c2abbbd2a50cbbdc95d0bb8714bebb7d142dbb24d8a9baf72ad33b6ffcecbbdb1a093f0739093f92391c3cfb35acbbd59cf93e03e4fa3e87c7123cf28387ba3221d63e854ed83ed50c0a3cf9c4d4bacbd1b33e6625b73e5e91973b8fe91dbacd308b3e13278e3ee80b843b4466c4bbfe02513e6bb45a3ee91dab3aa55712bccc26053ed2c00e3e1a001e385b4750bcb956703d37238d3d4e9b16badbd627bc2c16d8bbad15ff39d590e5bbd6b2d73b0000000000000000a81022bbfc71363c0000000000000000fc4d883be98c413c00000000000000003fd1ee3bfa12573c0000000000000000e9d4f33b95f12f3c0000000000000000680fc83bed082c3c0000000000000000edb8493b194aed3b0000000000000000fa4c78ba7f12943b00000000000000008f464bbb8291b93a0000000000000000bab63fb96f1a64b942443cbb0fec65bb2e626f3a6c6d7dbafd4681bb2aa6abbb69e700b8151bf9baa7fec1ba0e3ba7bba8d730ba655e2bbb2028d8ba534d77bb799ba9391ccac7baf85403bb4613723be879133a5328cdb751541e3abd4de9ba0f94c9394a2aa6b8315a0f3ad531c7b850fd323bebeb973a79cc2e3b5584843a84f84e3a41b18d3afda8fe3a3003a83af66a39bac632a8394e4253ba9e4f05bcb3f21bbb99c4e0b9184468bb1d9262bcc65166bbbdc5c7ba4580afbbdb8e70bc76d354bb53d298ba27fb99bbe2dc62bcd360b4bb33a848bb1c3de5bb33806cbc4a7758bb74d8c0ba503ca1bbce4543bcb490e3baf9485fbafdeab9bb3ff03fbc243d9fba5cb1c4b971712ebb8908e1bb6395d1b9030c2d3939455aba0e6e31bbafaf31bc5a1adbbbcfc98abb9d2346ba5692b1bcbbb274bcb0f4fabb91d039ba2809cebc98bba7bc051a03bc65ddbaba68a9dcbcbbd3c3bc53d317bc796371ba56edcfbcb38ac7bcc79a54bb45a2b3bb5209b4bc2925b4bc74a10ebc96482dbbad06a2bc99f19cbc9e8ec3bb1420c2bad50e54bc743d71bcac20bebb16d42fbbadd5b9bb2391e5bbf5592bbb8afac3ba0aecba3be4e4ebbaa2f0cb3e6b3f2d3fef96063c8ec180394030ba3e8fc01e3f5a7d063c7d06533bb236a13ebc0f093f0f73093c0b37cf3a7ed8853e0c59e53ef889983ad3828fbbdad7563e63dbb53ecac7553b892c65bb26131b3e4544873e643d1f3b9195c6bb6a8dc43dd54a323e99605dba1e172cbc26dc213d2a38ad3d1a4d97badad609bc5b2d0ebce9581fb7a9cb2abc7cd1d73b00000000000000006b40fabb61224f3c0000000000000000fede353a20c4603c0000000000000000d714763b4934743c0000000000000000a638093c2b046b3c00000000000000009165953b68052c3c000000000000000078603e3bac6d023c0000000000000000eac7eebadb88803b0000000000000000b69464bb527c743a000000000000000062188b3a77f4aeb9d35123bbf09489bbbd82663acccb64bafaa632bb3de6b4bb0d6f5839852fdcbad01e1ebb8aa691bbfb2fb8393d08dcba983ae9ba2bac89bbd61ab6b9ace1ccba9b1f9aba984d51bb1dc12b3a501dcab8cfad4d3ac4e964baece8243ae6639c392b7ab23aa08205b87f8d8e3ad20eb23a58232f3b98e3e23adba55e3a4751d23a407d0f3b5185f03ab2b077ba8dd7143a5400eaba7813debb902617bbd0b067b9841588bb4fed42bc233b36bb5ef095ba38d29fbb7ec440bc73da77bbee97f0ba0ef8cebb622a60bc855a5cbbc14aceba28bfb2bba7a437bcc6e80abb7b2c1ebbd841a7bbe59858bc8b65fdbadc528cba42d783bb11740fbc2d1661baeac81eb9c34f25bbc2f7dabbfabb37b92c20aa3836bdf3b9fcbd1ebbf1ab5abceaf7fcbb5ed1b1bb5c38d7b95c05c0bcb10d9fbccee114bcebd5e7ba0e26b9bc557eb1bca18d08bc5208cebac506d2bcc193dcbccb2d1dbc020728bbac40a4bc7321b5bcd03c02bced3d1bbb3c10b5bc1349d4bc43c409bc9d3304bb5ab77abcdef99ebc1a28f1bba97832bbd6573bbc37d38abc5d1ec4bb212432bb05a593bbbec208bc06c22cbb8f08f6ba12ce853b672a6a3b38e2853e8b14513fa6bfdb3b4a9e023c0991753e9bdc3f3fc88ecf3b1f5cf83bd2bf543e54e1213fd3d1c23bfd10fc3bc754333ec707093f2268813b39aa823b7b500b3eae51d53eb85d733b6b38ebb9a64dca3dcda2a03eb595ec39e92a54bb0359793d7772513e504accba68d4f4bb0232a63cc3b2ca3d66c5eeba2df7e0bb4ce83dbc2977fcba0dc05dbc4b8f023c0000000000000000134221bcb386583c0000000000000000b060223599a74d3c00000000000000008daf953b30976c3c00000000000000001ec1c43bc10a383c000000000000000004779f3b6060213c0000000000000000f568143bef3dcd3b00000000000000003c1569bb0f69593b0000000000000000055487bbede683b800000000000000007c569b3a49c19ab94f090abb0d76b0bb2d35ca3a8080b2b91d2286ba9ed8afbbc682753ab3aebeba65059aba9a9092bb2aaf343a26eab9bac67180baa29882bb443693b98ccadfba7d195fba067c88baef100b3a8c2750ba0d2d093a7c51aaba809f753ae8699939415bf73a4e3a923a299aeb3ab369ce3a8dbe553bb897413b5596963a82a6ce3a9cbd233be7001b3b0b8ce2ba41b2113a16a422bbd61bc5bbc95d14bbf7128b38cc7ba5bbb22f2abc4c6a8ebb85ee09bbf65bd4bb060446bcabd66bbb8bf4cfba32b408bc88c34fbc55566bbba33d17bb048ad3bbc8c441bcca4356bbf6f59db81c8aa4bb7ba92cbcd4cdf4ba688a23ba0f034bbb9bed27bc370981b9e1353439eff641bb56bee5bb1e1225b819e131398da787bacf2656bb24c58abc561d53bcb9dfe6bb8553cdbaef66d0bca8d9d7bcadff35bc7a4659bb1faed1bcf9e8f5bcddfd33bc37a247bb49bfcdbc645b02bdcf9a40bc829751bb288faabc9f58e1bcf4962dbc19a9e6ba7fd79abcff05f1bc177b45bc230791bb7a8e84bcf050d0bcf96f27bc832779bbab552ebc2401a6bc37fdefbbaf134cbb64d68dbbbc202ebc551973bb6e8b0cbbcf89733b1e433f3c7bdf043e4837763f96d49f3b879a803c77b0f53d5ab85f3fc740b13bbca2773c99ecdb3dfcf03e3fdadfab3bdf834d3c3922ba3df7671e3f5c4cd23b3a89df3b54b28e3dc3d9f63e76e6133bec2f193b5035423dbde9b73ecee47c3a46a3e9ba1261dc3c52376f3e2a9331bb8040acbb61da543ad925e23d872c4bbbdacfb3bb86f472bc1d1fafbbb99746bc8573143c000000000000000068f6d3bbf27b5a3c000000000000000078797b3b3f856d3c00000000000000002421133c1bdb593c0000000000000000c7f62c3ca9da333c00000000000000002cd7123c50602a3c0000000000000000a727943bef88c33b0000000000000000824daebaf51ff73a0000000000000000dd2a85bb151e6cba000000000000000000000000000000000000000000000000712eec394f61dcba7d3cf1ba87e5c4bbe5473a3997e6fcba60389abaa66296bb321284b9c7b10dbb445fc8baf74185bb591344ba426a16bbd639baba004146bb72bf4a39812897baeeb1ac38302c82bac8003d3a93b508b956a2923a57edc339ea5a8c3a46a1743a6b14223b670e0e3b00000000000000000000000000000000000000000000000000000000000000003a0473bb6df98abaabd99fbb534106bcf8bc61bb6975b2bad48eb5bb383718bc5f2e78bb11daecba1e31b4bb68cd1fbc5d90febad7cb37ba8025babb562822bcdd6334bbb025c1ba0938adbbe9a71abcbebbbcba1968e3b9ea4991bb4ebf08bc3ac3d0b9f9ef2e38ee3050bba005e4bb0000000000000000000000000000000000000000000000000000000000000000fb2cacbc2750cfbc08bd17bc473344bb7b5ea1bc8213d9bcac2a1ebce47554bbc3949abc7e0fdabc959920bcad0e3fbb33ff89bce890c8bcdfe924bc0cebe3baf48375bcf78ac1bc93e91fbcd7c04bbb69fb44bc1e5dacbc348711bce6e938bb81c012bc993f96bc9722fcbba9994abb000000000000000000000000000000000000000000000000000000000000803fd2da963b0c129b3cf7a2fc3be5b2773f8a4f8c3be3fd7c3cc73f193c192b523fce05853b0e39493c3b80133cece82d3ff3f0ff3a08f4ed3b35f5a43bcf56093f676c7a3adb458e3ba5299c3a6892cb3e8ab177ba2f6bfb38aa779abbb8a0843e9b4f52bbb8fb5cbb240949bca837fb3d000000000000000000000000000000000000000000000000000000000000000055d0573ba78d3e3c00000000000000000a61133c2d713c3c00000000000000004144423ca7973f3c0000000000000000ae23493cffe32c3c00000000000000007fe8213c813b033c00000000000000001689c83bbec39f3b00000000000000009a1ab43a968fc83a00000000000000000000000000000000000000000000000000000000000000000000000000000000bc9397ba781a0dbbe0ba26bbe3ec2cbb2c73cdbaaba21fbbd0942ebb99be30bb44c416bb6d3167bb730a78bba6bd80bbd573a0ba056b0cbbf5a920bb4f5e2dbbbf919c39f88302bb014a0ebbc57c26bbf22502bbcd5aafba61bfdaba43f508bbd6f045b8e19b79ba2a6aa8bacc73ceba0000000000000000000000000000000000000000000000000000000000000000c92b0dbbeac4c8ba344c0cbb82b072bb176109bbae1cc3bab22110bb7c1d5ebbc3905dbb4124e3b945695cbbd92b90bba2130fbbd09cb5baba9305bb3f8a39bbf9901bbb677ec0ba5d9623bba1f45bbb757af4ba540f9cbafdc30bbbc1e63dbb6cc4b4ba27335dba6431f0bad12126bb0000000000000000000000000000000000000000000000000000000000000000c86365bbc2b5b3baa00738b95bfbea39d8ef5dbbe624b4baa9631bb9093a303ad9f094bb90a032bb646ea3ba2947e93a936b41bbf991c4ba64ab95b917211d3aecbe6cbb0e2118bb79048fba56cb90b9a4ed54bb2e7c1ebbfaff9fba5176feb9a0ca37bb52b806bb842a94ba208bd0b90000000000000000000000000000000000000000000000000000803f00000000ff465b3baec5523b7a6b633f799ea33b8bb7553b41ed6b3bcec5423f5339b73b5c29843ba8b7903b2c88223f0b38df3b20631c3be34c363b1d8b013f0d94b03bf015953ad8f3aa3a19f3c13e941a8c3bf7140c3a864948396518813e7855613b49474abaf068d6ba44bfff3d514ce03a0000000000000000000000000000000000000000000000000000000000000000c986c93ba0fc703b0000000000000000bdead13bed288b3b00000000000000006f37f53b2034c73b00000000000000008475c33b639ba83b0000000000000000bdd69c3b7323873b00000000000000005a56873b7abd803b0000000000000000c0f7203b2590353b000000000000000000000000000000000000000000000000c4be2dba3baedfba74c5e6baf8cedaba004ecb39b5ad27bbf1e948bb69a14cbbdb60f1bab99307bb9bcf55bbe16257bb84129abadae42ebb8fa553bbc3ce62bbe14c77ba081a16bb3deb3abb84844abb357692ba62a707bb62d622bb57be3abbac6a77389472f4ba9b851dbb671e33bb18b0c8b9a31c8ebab46bb7ba32c9f6bab2489738b626113921700bb708af8bb919b7abba64e724ba9259b1ba2c5b3dbbefd12dbb7f93d9ba66751fbb14738cbbe05b29bb63f5b4ba52544fbbcf3380bb3d7c49bb4d0af9babc943ebb14c989bbab4939bbc4f505bb4a411fbb24896dbb52ef34bbc2cef1bafa4138bb6e6e84bb60cb32bb64e3d4ba1d772ebb907e66bb825ce9ba5ab4a0ba0e0701bb4c863cbbfc571dbbbc91beb8a75813baef9c49bb6f1408bbd1c51fba5ba48f389998283a05cf6cbb73a4b0baf1bc7d38b04a783a840795bbfba61abb9c0d69bae617cbb8789192bbc2b51bbb32d749ba6a61d939621678bb1c9417bb51246ebae7bb4b38e6f68ebbef6a3bbb2e17aaba56ab73b923487ebb92f125bbe77aa6baa51d7ab7fdf34abbdbb51fbb45c9baba04cb0fba3c7854bb0cd841bb5d9a21bb04b16138fa133a3b569cdc3a6f0c633f5986033ee694893bb2c2673bca16483f167aed3d9e5d7f3b8922623bb4832b3f4196cd3d6521513b3d7b563b26aa0e3f251cae3d9400123be424103b7c5ce33e168a8b3db089c83a4ba8b33a7ba3aa3e3b67563d93cc0e3aab870d3991f5623e06e2113d143dc0b98e8ad3ba1af6e03dfc09933c744b96b99f3dcdbaf22511bb9f549e3a8310893b5b64153b00000000000000001988f23bf987373b00000000000000006575053cf5f1973b0000000000000000c01ced3b2463b93b0000000000000000ffb5c03b78e4a13b0000000000000000c791c33b85d8ac3b000000000000000020b29f3be393a53b00000000000000009032413bc2be573b00000000000000004102e63a1a7d133b00000000000000008d9c56b9c09ecfba819902bb732110bb5a104cbb7aab4dbb90cf6bbbf2356fbbf86582bac89011bbd3f41dbbbaa822bb8aeac5ba972037bbe35248bb910b55bb5b0b8fba01a7deba6daa10bba48392bb41f50cb8090ce8ba249514bb060a34bbdb2e76baad1cf3ba2a3af3ba8be40abbe971f2b950bdd4ba98a46db8bc5e09ba86ab86b92fad013aade0283ac5cff9396966d2ba7f3bacbab0bec1baf4b440bb3fbe5bbbef8b26bbacd050bbaa759fbbac271cbb85e7c4bac05a0abb0b6f5cbb787e43bb3e98e8ba842b3abbe25f84bb56c51bbb4dead7bab8d206bb7f9448bb864133bbbe18f4ba963b2dbb7e4176bbba2f0cbb220ac0ba92b005bb02fe30bb5c264ebab983eeb9cfa185bacf90efba26a9cabac564aaba8188efba099688b920d014bbc27f92ba66701fbaf36fbbb8ee308fbb1a7912ba8219043a66d3c53a21d152bbc44dceba7787eeb9c90ff439fad889bb697020bb783d46ba8174bf3927dd53bb54d802bb163e7eba320b2e394f2785bb62b33bbbfe39baba2bcfdbb966383abb13e003bbebb784ba4bf9c6b843270cbb7f9ce5ba3c0a95babeee1eba394015bb8295cbb8632dd5ba67f3a1ba209bf93aeca8273bd55b423f3e9f823ef5de8f3b3c61623bcb842b3f8395673e417f453b9d9f2f3b9886123f7c66463e04c74e3b4d294b3b791ff53e6fd4273e28f80d3b6ab1073bc725c33ed9cd053e2fafb63a2169613ac655923e3c5fca3df543433a5104f9389694423eb56e873d3dec87b9ca35d5bab39bc03d210e073df2b7b2ba5efd25bb70d3a9baff3fa3b818aa933bcb485a3b0000000000000000022ad53b8793e43b000000000000000099bab23ba464893b00000000000000002e51e83ba526be3b0000000000000000802db73bfe4da03b0000000000000000a380a93bd8739d3b0000000000000000080d7a3bcc39803b0000000000000000ac5c023b00750e3b0000000000000000ed1a9d3983e2353b0000000000000000b55144b731386ebad9ca97badd0a96ba37779bba7b860bbb4e9125bb3dfe2bbb8d5dabba87293abb181055bb012b64bb90923eb86e8e44bbbd5451bb90634ebbd0af8aba196415bb583b28bbc4cf2ebb50c100baaafefcbaa6af0dbb90a52abbe7b01fbba5b96d3ac1b601bcd853893bc0b240ba6b77cbba805bbaba8ac5d4baed2a27b9d0a691396ebaf63aeafbc0bab5b483baef1229ba66c57dba988707bb1f2b1bbbfb39bbba7db10fbb821067bbb28854bb7f4c19bb92c14fbbad8e94bba00642bb91cb01bb27a33fbbd67284bb175223bb0bd8fbbac8881dbb4afa53bb8b1f23bb3148b2baa56f09bb353245bb1b2fa13be91274bb741095bb4548a5bbdb4de0ba21e86bba4da8f7ba70d923bbf09140ba3088f6bafad9c23ac7ade9bad4f8c6ba718217badd3e1ab996d2d4395e8147bb2bc3dbba36e0ebb9e816183a143e94bbd39048bb864de2ba675aaf3a8a7b89bbf07236bb4ff491ba30793b3961905fbbcac515bb70998bba267a49b6dccb55bb439d11bbb1a83bbaff2f003a87e29bbb332270bb4afc10bb41219aba2ec029bbb6490abb58bfacbab061feb9d75338bb4336afb897a2dbba9b8276bafea3013ba05f993a4ae9213f3357c23e5506b13b5f9f3a3bb1d10e3f4d1fac3ebb5e8a3b1c54833bbc8af53e31a1943e46fa3c3ba8e8363b7b6fcc3e2749783e2987063b85a4033b77f7a23ea44e463eaf09193ba103f9b85f67753ef490143e6f875b38911d8eb9491e223e2eadc73daf6e90b87d1d97ba3c79a13dbdd7493da662f5ba514553ba3667e2ba5e58ba3ace640f3bfae3f33a00000000000000009776a53b42058e3b000000000000000000e6db3b9038bc3b0000000000000000360dd33b4220be3b0000000000000000a7c8b13bd9eaa43b00000000000000009bd1883b6022893b0000000000000000d0937b3bcd448e3b000000000000000045d2303b4dab593b00000000000000009da69db70136173b0000000000000000cfa887b9d19e5cba898ca6baf54b9fbace573eb8c1d719bb69b82dbb812f34bbb29e1cbbb143d8b9eb4528bbd8e521bbcc730aba0f6e2bbb1a7231bb0dc030bb6be920bace8c11bb763512bba8951ebba7d1b8baf62ababa385efbba3fd110bbafb89039d5ff2dba7a22e0ba4c500dbb1dcf01bb746226bb2c7b80ba7568a3babc65adb7ac13a3389979b2b939a805bad2aa8fbaca623aba3af87bbab09beebadd752ebb1d1102bbe38c29bbc10c75bbbfb80dbb7a32f039b81403bbf1a914ba507a92bb73d7b3baa6a2ffbad4862abb884116bb758faebaa6260bbb774a2dbb9e4c14bb2636e4ba56f129bb1fc653bbb4ce0fbbb6c3c1ba000212bb84f323bb5d5bc3ba994e63ba1ac3b5ba351c05bb91163cba23e219ba412044ba195f90ba89dfc2ba160f1ebae53051b9341cd7394ab56fbb464e23bbd447f2398fdfe3b964aea6bb00906fbbd21e3bbb7df33b3998a53cbbbdbb6bbb4bf7fcbae014c13a24513bbb54480cbb16db7bbaa8f7e7b78e5473bbce904fbb4365e5ba87e851ba988757bb110c21bb519ae6ba74dac9b9648514bb7c9aefba97c290ba729f90b91e2bc6baa7779fba84d197ba89873abac18dff3af286e53af582013fd58b013fb8c9063b99ed003b5aece43e1a2ce53eef64003bb6abf93aa4abc43ea2f9c33ed0fe023be55d173bff72a33ebd37a43ec647ce3a8269e63a6728823ec4d0823ea9fa8e3ab710603affa9433e9861453ead8399b7adaec0b9b6af013eaa47053eb2d9473862b128bacd9e813da547853d980746bade89bdba932761ba0dc68a39817dff3a0384133b0000000000000000814da43b42afa43b000000000000000021a5d93bcdec733b00000000000000001a1cb33bdbcff43b00000000000000005078903bac73903b0000000000000000e4e2933baab2963b00000000000000000cd8403bc0916c3b000000000000000031003b3bba95633b000000000000000058b6083a5cdb873a00000000000000002d824d38003ff5b84e7203ba16bb57bace227fbab13f2cbb44e23fbb3ce933bb3489bdbae3e61dbb6ffe1ebb652096bbd0e6453af1c517bb8f7a97bbe5dc34bb58d10a398c4bb8b9dee337bb547f3fbb351844ba05c2f7ba79bf14bb99a624bb6ebf89baf795d1baf0d105bb24310dbb32c2ffb9abb882ba9caaafba68c5e639475ab2baf9be613abcc4453a2d9c0c3a40a736bb3f7b24bb74adb3b9eb4cd3bafadc2fbb3898fcba47580fbb10004ebb109718bb480aebbaacc601bb1fad55bb44792dbbf9009a3988e717bb5c7141bbffac49bb066809bb513b36bb237c61bbc2b134bbf427f3baa43839bb377561bb7e8c14bb8609d2ba937421bb897646bb8422eaba64ba93ba548a09bb059429bb40a5bd392e25223ac55fd4ba442556391ee7d2ba533082bab0f088b98890ac39effd59bbaa4100bbdc3b47bac8c6fa39a9d849bba1e208bbf07110ba05be3f3a2f3bb2bbaef824bba57d28bb2802a3ba546873bbf7a43ebb591dcaba1b646ab97d4c7cbbc19551bb3c8bdabac8e3ceb900b650bbe8b336bbb9fdc7ba819ad8b9354243bb72f72abb7a7cf7bac1d986ba885e7135e49cfebaa791e1baf9439dba4884d23a5cabe13a2d30c23e4ee5213f62cc4c3be9527b3b32e3ab3e95120f3f6b38633b671f823b4fcf933ed3a1f53e3eb5613b785c143b5b5f753ef093cc3e9442d33a624e043b304d443eae7fa33e18f5963a7dddb13a627c133e7e1e763e5a75c5397debe33956dfc33d1b58243e2d8257baf2b08fba58113f3d2c6aa33d3f5eb8baad1e01bbec9bdeba0628fbb947a5803aa701783b0000000000000000532a893b0bf7a13b00000000000000001cf8b93b66d2af3b000000000000000029aaa03b5b48a73b00000000000000000943a03b86e5a63b0000000000000000d8f89f3bebf4a93b00000000000000007f48893bd8a5963b0000000000000000f167103b9b112c3b0000000000000000b5cf88379a27103a000000000000000081118e389f6d8aba1b74b2ba39ba9dba56aa18bba39b46bbc97dc5b9dddafd39165946baad353cbb53a041bbfdc43fbbd66e8cbaa94aeeba8eb005bbaf1008bb3c9f8cbaec040cbb6a5c26bb0d8732bb02b075baecae01bb8d7016bbcc5d26bbbcd2c7391509afba274fc7ba45afdaba28ce5aba8dfae0ba091a11bbc47030bba6d00ebad33f0ebac6e239baf24178ba861847bb24c12abb8f4512ba24b871ba2daba43aead5fa3a53de273ad245273b2baf37bba2b20abb8dac15bbda0037bbb4fa04bb6d2eadbac206ecba318f14bb5eed32bb42a8d2bad20b1ebb8ea239bbb9f42dbb62a3fdbaefd53dbb22635cbb4f70f9baf718b6ba1c640bbb416d21bb8acc57bb158e32bb826072bb217113bb7ae4a6ba44055bbaff3dcdba6710f7bab60d5dbb00e67eb94e9fb639e21942baf0bff2bb510cbcbb61fa74bba25418bbb68b53bbf69221bb5f886cbacf344b3957809ebb67d588bb61250fbb53f036ba772e51bb3c7044bbc3e2bfba7b7be2b9e4a27cbb491e5fbb3694ffbaf68d1aba30bd38bb375a2abb2779d5baf6d22dbad0ff31bb52c838bb2cbc10bbef070c3a0f6c0abbafc830b975bac638aba564bb5b7a383ba9e0843bf769813e5bdc423f033c043a0f831e3bb652643e1a1d2b3f0a71243b8a4e793b9081453ec6c3123fa933e63a971e493b5b05253e213bf53e4d79d03a949b123bbd8a033e7b91c33e3e71583afa7fac3acf8ec53df6fe923e3766f03741fa2d39eee6813d9d29433e636c333ab0771d3be956023dc1e7c43d14208e39454c8fb710716eb9af0f843aec693e3be327023b00000000000000009fe8383b33a3843b0000000000000000135b983b55daa73b000000000000000048eeb03b2049bb3b0000000000000000aa75a13b7b4ca63b0000000000000000d6129c3bd780b23b00000000000000007cb3433b6a4f5b3b0000000000000000ab5b443b80d1b23b00000000000000009ad9d23a68620a3b0000000000000000756a8fb935911ebb432833bbb4bb32bb434399b998d026bb49423dbbb6c83dbbe8ea89baf55a09bb23482abb41af41bb12cbc2ba72252bbb797444bb86993cbb78c8a4ba59d0fdba588012bbb18e1dbbae7021ba68589dba62a8f6ba05d90dbb3a4424ba53ed9bbaddd2dcba4e9f06bb3842ff3a4fc382b96f7008bafe4677ba668df5b92be613b8c1387fb9be9aa4b913138eba6ef54eb983d727bb288f39bbd0cb35bb424de9ba51281ebbd59d37bbca8d41bb690908bb3c553bbb213e64bbee1f3ebb3a0205bb72dc3fbbd7c166bbe5c91bbb4ce1baba003921bbb80c3ebbd19114bb874ac8ba6f9735bb8fc750bb80962dbb27d5dfbab6a117bb987238bb12a8bdba4c9e44bad1c608bbd2c726bb0b231cba450598b9a0ba7cba2ab1a5ba9ed86dbbc63d45ba1e27683977b77e3afe0f79bb151945bb7dbf8bba31ef6c399c8594bb009892bbaaf623bb5509adbac64c87bb723881bb0ae3e0ba85d54eb9bb285abbf07056bb89dfd5bab6f384b96a117bbb05517dbbaadd19bb449f6eba045461bb96ec3bbbbc9a07bbadcbdeb93d3146bb06035cbbf36235bb95efeaba279fc7ba2e9dc9ba3e55b0ba685742bace97373b1953a13b3c36043e304e633f5a533e3bac15af3be3ffea3d80fd473f5aa5773b7043b83bfce2c83de3932b3f2ee9173be4c9833b1848aa3d7fe60e3f3000bf3a0b57283b5805873d40b0e33ee503363a5bedb63a64a9493dd2c7aa3e952699b93e9ce0396644043d69e2633e98d4d9baacf6dbba2e8b5e3cef7fdf3dd19486ba7b5793ba66f6daba4b280cba411c3e3ba0a1843b00000000000000004fa0933b3173b03b000000000000000071d6cf3b450dca3b00000000000000002773cd3bcb2dd03b0000000000000000068ba93b70b6ac3b0000000000000000bab2a13b7444a23b00000000000000002003713b349d863b000000000000000053153e3b91664c3b00000000000000008964ef39a47a603a000000000000000000000000000000000000000000000000cdd5aabadd8bcfba7bb00bbb2e1b0fbb22f933bbf34b62bb10daecba3e5cfbba33cdb839d1efffb93b7e50bab27c34bbbf8b51baeebed4ba02e10dbbcce80fbbb922bab9169256bb9d3a81bbd03813bb7d5756bae75c8bba5a7ec0ba571fd1ba46f526baa79033ba40ff8abae1ae8aba0000000000000000000000000000000000000000000000000000000000000000dcdd0fbb2cc3aaba1a4305bbbbc81abbce8f7cbb128a9bba9182f1ba495d13bbf2e82fbb1c20f3bab51b2bbb5f6349bb742a18bb91d3e0ba82c71dbb57c53bbb4c0629bb18300abbdad23cbb67ed55bb28bdebbaf21391ba899803bbcecd1dbb5398acba4cc437baedadc6ba0d9bf0ba0000000000000000000000000000000000000000000000000000000000000000c96857bb6de245bb464693ba6bf3d737049b40bb4b5f40bba0ac85bae01e4839d94d6abb1dd16bbb29e0dbba101106ba8bb658bbb34261bbcd7c09bb8d72873a8d7f71bb741a80bb4fb928bbc84c163a849723bb9a3033bbfea0e3ba60a812bada230bbbeb6d13bb9b91f6bab01b53ba000000000000000000000000000000000000000000000000000000000000803f534a1b3ba6ffa03b15fb8e3b47a5633f938e293bd94f953b9d83973b9ced423f61e0de3af36e503bbeab743b6036223f7818ea394b82b53aeddef33ab542013fc8c5e83a63d1213bdd29443b63bac23e591f0739bd0f123aeea0423a8330813e1c72feb85b3bc3b659a7b6b945dc003e0000000000000000000000000000000000000000000000000000000000000000aeb28d3b86369a3b00000000000000002dd2b23b05f7ac3b00000000000000001263a73b4e8ca03b00000000000000005233b13b17e9513b00000000000000009696b23b6042b03b000000000000000099b45a3b366bcb3a00000000000000001fedd43a3e02e43a000000000000000000000000000000000000000000000000000000000000000000000000000000001f3554bb9e2e363c516d863c2257353ccd653eb8d48d413c4a64813c6257463ce689103b50eb263c0d17553cf4381c3caa80f03a9226ff3b132a453cab47033c96b6a83a877fdc3b39041c3c6a74c03ba7f5efb938b6633b57820f3c105a8e3b30f251baee28083aaf1ddb3ba156da3a0000000000000000000000000000000000000000000000000000000000000000527e463b129818bbced68e3bb00bffbcacda813bcb7351b9137cbc3af7600ebd7112903b9a2d9ab8a0f55abb1b4014bd4e46a13bfe5b043afab43abbe246f7bc0410873b1b8234b941fc72ba8434c2bc57ee153b1e3ecdb9e630a639b9062abcfb46193a8efe8abae5676d3ac694af3a000000000000000000000000000000000000000000000000000000000000000083be02be36170cbdb3395bbb83da193ba89ffcbdde9a21bdb014bfbbcd9496ba9a08dfbd486821bdd6c9e6bb7c9d06bb4967bbbd933e15bd97efdebb511214bb460895bde576dcbc5ef891bb979ac8baca0e5cbdb6b688bcbb11b1ba878805ba0cc8ebbcc7d88fbb883cbb3a774ea53a0000000000000000000000000000000000000000000000000000803f000000009a804a3c14e28ebd78ea9d3fa70b3bbd5658f13b50fb1bbd6ae0823f3a9c5cbc4fcda83ba2f2a1bc663c533fecf9d53b3955313ba5766dbcfe8b203f86a26d3c37023b3a4ec172bc7a8cdf3eab38233c6218883af78493bca33c813e57cd193b1fa7d03a835bc6bcb3b8973d654f1bbc0000000000000000000000000000000000000000000000000000000000000000c884173c9b3f4cbb00000000000000004c4d0c3c2d269c3900000000000000001081ea3b68731e3b0000000000000000d97b5b3bf0e90e3b0000000000000000de1bb8b989d61e3b0000000000000000a94c35bb2469163b00000000000000000309b8bb80afd53a0000000000000000000000000000000000000000000000008e2d81bbde09d53b1873f23b4a40983bd209fbbbb927583c2067a63c476e393c703450bbc624793c0460a93c9f40663c07fae237a2a6603c1c089a3c97d3573cae59613a2bf72b3c151f6d3cf72c293c570f1fbace71fc3beebe653ce3051e3ce5e4e4ba55f8893bf4c62e3c4be3b33bcded26bb664855bad40dc23ba0830e3b7222d4baa32a1abb186f153b90221fbb86d4443afdc0b1ba3039283ca5adbabc61645d3bb78651bb26c2643c74e7c8bc160ecd3b8e150bbb4da3e43b5f1f11bd685bb53ba0f07b3aa920503bc66b13bd31eca73b36af373ad5cabb3ab3c1f4bc87a5843b258bd4b9144a3b3b3b1299bcafe5363bc4e39abaec306c3ba7b8cabb762a59b8eeccebba4d54703a2bebe43b360e62b9414b2bbac15c8b3a34843b3ce46892bd30fe5cbce469cdbb9b16873b486d06be641f09bdb0e1b4bb8485a03bd91610be29a940bdd1c934bc3223a13ab25b01be01034bbd419434bc18d188ba4bdcd1bd0a5d31bd305221bce5b5f5baeef0aebdd9930ebda7cbc4bb152630ba2a556fbdecd6aabcef1cfbba837fa63a5a8adabc1ca9b2bbdfcfd93adcd6913ac473cbba1b20df3b39771c3bac8dd13aa7ce803cec3604be03339d3fec429d3d427d973c2dd50dbe6f41963ff382913dfd9c473c5acabebde625813f8576bf3de713f33b2ed781bd6b474f3f55dec63d8eee873b633f3abd33191b3f4bc1ae3d394a873b1b0a30bdfc84d63e133b863d601dab3b29ce21bdd577713eb8511c3d3b6b293c707701bd7ce0813d350a4c3c1af0f13b489cf3bc3a9b6ebd993b64bc67b99bbc890627ba0000000000000000b0b288bc589434b80000000000000000b5b446bcba964c3a0000000000000000045216bc2e8629390000000000000000560609bcb5b44c3b0000000000000000e4fb51bc9cf2323b0000000000000000400076bc41933d3b0000000000000000b06b3fbc40f2c13b0000000000000000d27a32bcc3af453b00000000000000005ed90cbbaeffc53b938cb13bbf81783bbf6086bba4d0373cb8fe563c7d33253cce664db99293393c6602693c1720463c051e9bb8ea963f3ca0e0803cbe5e4c3cc7b2493a75aa033c032d4b3c979c223c9b460d34d927d03b0465493ce7d1093c13125bbac5bb3a3bc549073c832da83bacdd29bbfb2001b9076bad3b89eb283b1d31daba293220bb7a73cf3ab72542ba0eb5913a497945ba6af2113c84f8b7bcdfd5853b9bab5fb9dd15433c46fbf3bc81b2983bfa2ea3395ddbaf3ba1aa08bd2a55c63b828a823a86dc983b787303bd832e883bf38ab13ad0cd0c3b884cccbc42a58c3b19ae90398eac4b3bb3b37ebc0703403b21ca8d395879883bdd85d1bbf014023ab9a677babb674d3bb838ba3b11719e39ab11b6bac26a2a3b4e511c3cb2413dbd5d4a3bbc117e48bcf5b3a43ba277d2bd4e241fbd117686bc64ca793bf0f0d5bda3774fbda5fb8ebcde555d3a4c15e0bda88b69bd54d388bcb9e05bba3f87b0bd7fc63fbdc80669bcba2dabba7e0c98bd328627bd3aad25bc82460b3af00148bdc116d3bc7b98b7bb650db839606dd0bc6d9e29bc83242d3968d4133bc11a0ebbb598593b6e2f1c3bcfc2283bfc006b3cef3803becca5833f01fe833e8263a03cf61413bed166823f239b813e3ed43f3c375db5bd7dcd563f83d57b3e18071d3c6a07a6bd84ae363fb7ca5b3e8c89b83b42cb6abd771f073f81d9323e741fcf3bff8c65bd0372bf3e6a26073e24d3713b0ddf39bddb4f5e3eb4cea53d1be02f3c351c2cbdc9378b3da7da053d2466033ca5e2f7bcdd1f11bd001adabbf7b835bd980b0a3b0000000000000000f58b40bd1e60a03b00000000000000009449eebc7fd1553b000000000000000058acd8bcb2098e3b00000000000000005d40a2bccd639a3b00000000000000008d51c7bccfbc303b00000000000000003d70b0bc73295c3b00000000000000003d07c2bcd4b9ba3b00000000000000001a6a93bcdb08533b000000000000000075b8a3b816f08b3bfeff033bfd483f3b72ece5ba0d5e1c3c1201373cb31a3a3c8e59c5ba8c813e3c943f743c2742443c4d9cd5392cbb203cc6d8613c9ba34e3c8e6ab43ab4940d3c9f344a3cecd4273c108b97b91f1ac83ba605263c62b3193ce085e1baee98823b5d880a3cc54ed43bc525e8bad5ad13b9c1c0a53b13c1113be0e590ba2454aeba927c583acb3cb839b424f23ae11da83a6047ea3b40a2c7bc860a9d3bd00ba838c2db1b3c1040f7bcc825c93b75e8103b5735dd3b2cd4f7bcd964e93bdd11ef3aea66443b798fd6bcc68fde3b20271b3bf5af233ba360bbbc053b983b4bd5903a5c2c533bfb0253bc2a76663ba47998b9c9b35a3b05f16cbbf7478c3acf4d1dbae6f34c3ba3dea53b8ae6feb910e89bba4b226d3b9ff8fb3bfe4709bdf0943dbcf0d89dbccf4a633bcb96a8bd2d763dbdfab4c5bc20ae8f3b0c2dcabde8fc80bde8afc9bc847c38371cafbebdf6e782bd3676b7bc732890bad9caa5bd92ae72bdf35ea8bc4fc4b4bacdd183bd7d0a41bd02b45fbcfabbcd3814b33fbd3e9d04bd5358f1bb6f511e3bb49cb7bcf21861bc3650c8ba7dc9653bb7a42cbbf1d4ce39ff485c3b79046d3b8db52a3cc034d7bdfd01563f6cfbe63e21a6823c6df9febda6b1533faf3ee43e72f7303ce83dc7bdb9bf383f2a00cf3ee280103c37769cbd400c163f702bb03ec4c8bd3b3a1e7bbd6897e53eb5c68d3e6639d23b08ee67bd5c5d9f3ea7c54e3e9bdfd93be0a74cbdd7c1393e754d013ecdc71e3c14f52fbde9ae7a3ddb78583d2d29aa3b2f1c00bd41d6ccbcdf049dbb1cd687bd84aa923b00000000000000006aad95bd75ed113c00000000000000001c4f61bd29f20d3c0000000000000000c5c22dbdd0b5e83b00000000000000002ee50dbd88619d3b0000000000000000ccf906bd4937a53b000000000000000004ba04bd7f0f883b0000000000000000ee0ffcbc5b4ca33b00000000000000007820c6bc3c37033b00000000000000004d159fb86d10803b54cd083bd191773bffb08dba8cdaff3b8c551f3c4d71043cc90738b80505183c826f223cc0006a3c8ada033b1ff10e3c79fe513cc386493cde59af3adfafac3b3c1bf33b39c7e93b19328bbaba7cfa3b5cd4163c7923143c99a4acbada1e2f3ba785743b37800c3cb7aea4bab06abcb887a24c3bb97b4d3b48481ebb179907bade58c03a5fd6c63aa837053bc6a3af3ab58ed03b7369b3bc2bedd63b7783f63aca40053c8589d7bcc650e63b40e6d73ac6227b3b248dccbc47f1023c6eac343bac071b3b3a8bc2bca7f38a3bd38a0c3b48b5ad39fdc68fbc6e33b03b5c9f243b5e4e323bdd994bbc61e8f73aab8a7c3a45b8ee3b1695ddbbb9fb743af03a52ba3185853b2c72683b704cfdb9ca687dbaf2f6923b2175ae3b319ce4bcb9e47bbce8e9babc7c81703b9dc985bd17725dbd91e7f5bc88401e3b4f4a9dbd36b696bd1df5dbbc6f0af4b9d3a0a6bd675a97bd6fa8e9bc23d72bbb4d5466bdbc0255bda8aea8bc5c5b54bb42416bbdd5bc61bd7b248cbc735774b9227f07bd753b03bd359121bc4bc20bb934378dbce0a192bcf45982ba42a3783baebecebafda248bad2fe423bf7a9673b3217f13b0039b0bd52a3243f2e09253f827c2e3cedfec7bd90c5203f55ef223f6c61063cc16b94bdb4180b3f253f0f3fe760bf3b849284bd6f8ae93ecae8f33ef7be703b8c8522bd5395a93e4499b33e581fa63b398c46bdd8e07b3ecf158b3e7e8d6b3bd3072dbd4c360d3e3455253ef77ed03bde761dbd153f473da9d78b3dc0bc863b4b0fe1bc3717b1bcf49ecbbb397cb0bd449dec3b0000000000000000accfbfbdb4d3523c00000000000000006f4881bd6360ff3b0000000000000000125058bda387013c00000000000000008d82f2bce9d5ae3b0000000000000000c90121bd5e6b923b0000000000000000043212bdcb4cd73b0000000000000000380a0bbd99bc8c3b0000000000000000f553e3bc408d8e3a0000000000000000e83defb776232f3b39f72a3b2a62993b9e7aefbaf96fde3b0de31e3c3e8f2a3c770182ba0cf6cd3ba1f36a3c5d16773cd3a5d6b9d849053cdbf3483cf055633c2f3cf33950eee33b20f8323c24fa403c5883ebb9cca2a13ba92e0d3cd1a6313c701e02bb2b5a573b7107d33b5663f33bd3b1d4bad50529393d44503ba964993b601e2cba86c6b7baf5d922ba6a013c3a781b353bbf5d993a5fdda73bb20786bc4f54093c62e35f3a89f5d53b8a2897bc2a22173c7e6c0e3bbbc9a13bacb08ebc1b01043cc1d2433bfea5213bde3887bc7058f23bf6db6c3b9db20a3be90873bc7074c33bc1255d3a35ce4c3bf055f9bb9624803bf19258b805ab703b5750aebaf2f13b3a32b848baae90663b2902313b03c2c9bafe8f49baaafc703b7fb3b43bc29ac7bcccffbcbc05dcc9bc9ff3813b35c36fbde7be8fbdba5d08bd6ac09c3bd8c693bd3d9cb9bd09830cbde0b218b8e7b78fbd06efb1bd463303bd5e50c7ba33647fbdc19e9dbdc42cdbbcc12236bb4b3543bd827180bd147f9fbc652d5439cf8404bd5f2439bdec1823bcee63353bf89063bcb572b1bc694f1ebaa10d7f3b42d7b33ab18ed8ba865ba23bb1b88b3baa059d3bc88d85bd7148e63e3647563ff20b093cde439abdbcadde3e08f9553fdedfcc3b5f587dbd42dbc53e21543c3f7c9ba93b8cf74bbd3958a43e64ab1a3fcf19333bc64d2abd56b2803e7b98ef3e381b873bdcd425bdad1c323e9c62aa3ea31e5d3b45da11bdb7d4ca3d81714e3ec301dc3bb2d9fbbcb3e4f53c59a4a33d606a4f3bd885a9bcc357adbc7d7f3abc0241d8bddb8e1e3c0000000000000000a23ef5bd3955833c0000000000000000ecd0b5bdedde5e3c00000000000000003c3c81bd3db6323c00000000000000009fd840bd7e62003c000000000000000030a32cbdac50c53b0000000000000000c8a11ebd2632a43b0000000000000000535c1abd83ebac3b00000000000000009133f8bc3a5ce93a00000000000000009af699ba4043a13ab2e1853b207aa43be3bb35bb88bb583b6e69393caf756d3c4d2b45ba7ed6b83b5a34433c2698643c6946a2ba6ca8ca3bc1605f3cc7c8843cede213ba4930a63b2e5c273c04303f3cb776bbbac5bf773bf844063c917e503c0b673dba8f69dd3a96ddb73bbbe70f3c9fe577bad7b5f4b96141133bc665953b58c667ba15f303ba934295babbfb1b3b4fd3603bb1a22b3a86769e3b920d0bbc064f123cd09b8db99b12d33b70580ebcc9a91a3c7af7ec3a6d93c53ac70142bcb87f283cbe864e3bbd7a133bfdb529bc23b0db3bbbc8353b8de3c23a56100dbc29f8c23b2871f03a3c72093b4c1b87bb88e9703b20dc773ad5c6383b3feac3ba5688ed398317acba3b45193bda7bf43a62c33bba99be03bb8521913a5288583b5deaacbc1a4416bd9c19bcbc2c4dcd3b9e3248bdc7bac2bda5e207bdad25ce3b7dfe66bd8f39c9bdb13a0fbd4b3d0abafb1b7dbd9a95d7bdb52611bd79ca07bb65694abdc725a8bdfae2efbc53b825bbd8fe23bd015e94bdeffcb4bc6e0e3bb94c66c9bcf6c845bd01314abc95aeba392d49f2bbbeb7cabc775f41b99f0e733b7b9f893b1b5427bbb8e5ba3b258c993b281b3b3bd8bd36bd6882833ed1a1833f14ed973b0c264bbd36cd783e4973833f28b0663bcb2208bddf5a6b3eec7b583f2a3d143bc59bfdbc351b443e99183a3f3234c53a98b8d4bc8ce7183e42ae0a3f101a353be539e6bc3f42d43dcf9ec73e4c6bd03a23ddc5bc1feb6d3d54666c3eae7cbf3b2f509ebc9e92373cf8bea83d23328e3b258d53bc7db9abbc3199cdbcdaeb01be98e45c3c0000000000000000a4f40dbeaba1a53c0000000000000000220b9cbd0b7f693c0000000000000000bc5087bde82c403c0000000000000000924429bd4fca083c00000000000000002de421bd1362e43b00000000000000007a3e01bdcad7733b0000000000000000f13b10bd6583ea3b00000000000000001067e0bc1e83513b00000000000000002fd0c6ba16ed96b916266e3b194a183cc4a690bbb682b5b9ab80533c4c46a73c67d844bb2bc9113b22287a3cac1ab23c44b414bbf399943b59797d3c815e973c021eafba43c0953be9623a3c65cf6d3cb56d12bb7e7a6c3bff060b3c19bf5f3c2657dabaca229f3aa23e923b89b13d3c9140abba1ad522ba102c0d3a539ac03b1c4546ba2e6420ba5de20ebbcdacfc3a816aab3bd9c2e7bad464683b247a54b8c9743f3ca4f532bbaedda83b8f9b793b919b593cb859553904444c3bc2b7adbadb28473c831f483b5151ac3a2a9868bba49a213c0e110b3b9c6e8d3a27135abba786f23b287a393b4cc4173b270efdba57df913bbde257ba0b9fcb3addfea23ad65c8f3aee8c13bbd768783a4eccf03aeed9f1bae7e5d6ba5353b13ac5f9213bf2f9b6bc687a88bd61acb4bcec80cd3bcaf412bd41e503be1bb2f0bca42d093cda6f50bdf79e0cbe12d11abd06a5f539215a55bd949dfebdab7321bddd0d5bbb79ae31bdb809d1bd5dc604bdd2a170bbade901bd6870a9bdb987d2bc750feeba647b8dbc39af69bd30a054bcaacf403ba54b07ba637edcbc5778693a258b523b6c390d3cce890abb78e2023c1faf7c3bf03921b9708c92bcebbe983df36c9d3ff5ecefba5bbd99bc13d37a3dbd01973f66a808390a5271bc5c019c3d29d7813f105951370bd958bcf248973d587a513fa074dcb914ca5cbc338f7d3d06421d3fb2dd003b5e3755bceaf11b3d35fbda3e647f3d3bdda455bc12d4803c7c65783e5e62753b9c23d3bbc0c789bb1202953dfa94463b291caabb3e02d1bc4d2054bdc83305be10ec823c0000000000000000501606be3db49f3c000000000000000070bba3bdd9f8503c0000000000000000ab263fbd704d2c3c0000000000000000417fdebca88de03b0000000000000000acaec6bc6c65893b00000000000000008c6dc2bc99673e3b0000000000000000764ac7bce237c83b00000000000000009057d7bc526b203b000000000000000000000000000000000000000000000000e5ed16bbf15c6a3ab57e483c29ca823ca5e30ebbdba9553b32c3603ce2b7823c0db307386006523b1537293c77fa5c3cc4e388ba32de893bb0a21a3c07054c3cb969aebac83f493b19cdd63b78b22b3c38d3baba9155dc3af6fb403bc7c90a3c2683a1b9f3bb0fbad958253aa568db3b0000000000000000000000000000000000000000000000000000000000000000bef71f3ccf7d51b854d67e3ad49d1d3b17b9303cb515133b5595a7389e37a538ed28053ca63a3e3bdd090fbaad576bbb4167813b59efa63bbbf80cbada6438bb65c7d93ba013c03a8c5dc439f02f41baadb5883b47c79f391b8a6e3a48734e3a8fc1a93a2d80b8b98586fb398209f23a0000000000000000000000000000000000000000000000000000000000000000cc1714bdcfc401be4d8200bdcec1f5b9315123bd5a10fdbd542816bdf39d86bb185d21bd08f7ddbd2c5317bd0361dcbbb6b310bd44ddb9bd97610bbd6116dcbb7f44cdbc2dd398bdb375d5bc44b985bbbcca34bc053c57bd80137bbce79c64ba1a0b843a3e50ecbc181242bb3feeb939000000000000000000000000000000000000000000000000000000000000803f8a25ffbaa777103c6dd55cbd26b79d3f3e54beba5ca79f3b38fad8bc19fd823f22c754b93a186b3b57f219bcc475533f912a3ebad09d643a4d3fc2bb432a213f7e0c0dbae61339bbdec31bbc0b01e13e22a168b8c7c43bbbd11976bc2eb9813ea24da93a8c8a46ba9d15d2bc4cbd993d000000000000000000000000000000000000000000000000000000000000000061af78bd79b9563c00000000000000002721c9bc18233d3c0000000000000000dc403dbb183e113c0000000000000000a2f69b3b5d02e93b00000000000000001d50763ba11f833b0000000000000000554909bb4ebe953a0000000000000000512f5dbc10af903a00000000000000000000000000000000000000000000000000000000000000000000000000000000fae1c8ba9de71f3c3bb7403c0223053c8cd0fd39289f2d3ca7514a3c1348193c4870ea3a6852223c6888363c4ca50b3c50ae183b09e3023c85d5223c0094f43bc3cf9d3a567dcf3bf561193c040cbd3b957dffb8a0f9623b0a3b053cedfb833b74d9c9ba146c893a3804b43b30090e3b000000000000000000000000000000000000000000000000000000000000000073b1a23b555e703a9bf90c3b5c1320bd7b2dbe3b4de50c3b93698cba22a921bdbbfac83b3ec43d3b8beaaabb1cdd23bdfe39a93b35bf1f3bd3e09abb43b407bda6b19c3ba86e173b92340cbbb216cfbceb594c3b277fdb38691a163b7ac24ebc4a27713ad3c175b99c7d9b3b9dc6a6ba0000000000000000000000000000000000000000000000000000000000000000eefcc8bd4b4618bd311b4fbca31040bb95f2c9bde5e92fbd656080bcdcc3d8bbef56b9bd77612fbd4f0f93bc951e13bc3b749ebda1761fbdbd0980bca68d0abcbb2782bd493a05bd4a1b45bc6cf6d8bbde4d3cbda1a3adbc520ca2bb789381bbc8c3d5bcc77010bce0fcd0b9e1f9893a0000000000000000000000000000000000000000000000000000803f000000009914943becdb1dbdfc29953fc1db0abc1235063b24229bbc9fef773fcae8833ce75b09bae1fd0cbc4a6b493fe300f83cb12696bbbb161abce8591a3f0ca0fb3cf020c8bb36ef79bcc86fdb3e821ebe3cbcacb1bbbac8cbbc69e4833e90ff243c666593bbd52f0bbd564fba3d427de8bb00000000000000000000000000000000000000000000000000000000000000006e34483cd51e493b00000000000000008033933c2165043c0000000000000000ab15a93c258b373c00000000000000005d7f8e3c3d78363c00000000000000000e713e3cb25c1d3c00000000000000000241de3a415cbb3b00000000000000002b86c0bba5f0563b000000000000000000000000000000000000000000000000580111bb7004ab3ba08fa23ba6c73b3bc1e4bbbbf4d5333c5be4733c1ab2223ca1a840bbbd3b493cc6ed893c3514483cc81ebeb9bbb5353c1d79863c931e343c224aa5399040193cacda503ccd312a3ca1f7b4bad4c0e33bcb1e363c94c8fb3b5b3834bb740a783be273113c887fd33b798e2cbbe6249aba9a57a33b8683c53aa800faba5b5f01bb6821243b944f45ba31de213b92df68b9a348103c3fbff3bca0dcbc3b14a56739d907813c71df16bd72ecf33bbf5e003b7861db3b5de82bbd27f8063c8e74413b1ba0523bac0e22bd110ecb3b97f15c3b03e927b5950807bd9469af3b1fd80e3b0d86b73b546caebcceaa733bede23b390d28e83b2f7217bc6d807e3a0bf3a8ba86d3f13bce1a933b892517ba024d96ba8d44b43b5000083c4ccf59bdb45587bc06e322bcc0e21c3b5913d2bd8a711bbdb39981bc91717fb91c6ce3bd4ab94ebd9b8eb0bcaf61d6bbf9e8d3bd86c257bd9ab1b1bc53db23bc36fbafbdc51d38bde8189fbc69ea23bcf2e28fbddea017bdf00b6abcb8bae8bb0b4e4fbdca68d2bcac5ccfbb64b1afbab63ec2bcabb715bc0acd733aa559d53a47715dbbed1d393be432883b48ef7f3b5e34d33b7bb1aebdaf75943f1635dd3d6ec1a63b9b52c1bd9e548d3fe2d9d93db614733adb0a70bd3f04703fa95ffe3db86a36bbc47631bdd5cf413ffec4f63da21031bbeea310bd5feb113f79e3d13d842af8bbceca1fbd6929ce3ed6349f3d553567bb6ece32bdc5dc703e1460383d6217913bd5dc2bbd519ba53d7dd93d3cf49f583ba39f1dbd23a228bdf29468bce1ea80bcfed9daba00000000000000001a962cbcef953b3b000000000000000080e25d3baaf7ea3b000000000000000004b40d3c3d57263c00000000000000004b120e3c5f033e3c000000000000000084a4803a26720e3c00000000000000006891d0bb8f26c13b000000000000000066d166bc49199c3b00000000000000001a387ebce220a63a0000000000000000333d7aba2762a73ba0b3213b2cbe2b3b369567bb4dbc2a3ca2d5313cc242043c0c366a39e2a6203cf1033c3c3cd3103c1e7781bac234343cc568673cadbd303c82b3773addd1ff3bd52b2b3c0f36093c073b86baa569c13b0c9c303cafee043c67306aba7e47753b253e0e3c4e62963bea401ebbcad697b82bda973bcc8e153b7552e9bab4a5a4ba3da8493a58d31bba46d2263b11255d3a2e010b3ccc41dabcdd83b83befa51d3b107b3c3cb02a1bbd4bcec23bae5c513bfaeb1a3ba6a61cbd2b61093c986b843b7c41843b87ec14bd0dc6b53bf4e4683b652bda39cc89e4bce0f4bf3b3123183ba350b93b327a99bc3c503a3bd264003b0445853beb772bbca386df3a729e81ba8532ee3be0cc3d3b037b9cba6db82abaef95be3bb32e033ce12a15bd930044bc67aa76bc72e91f3ba673a8bd244f23bd3fa5c7bc8791fabab287acbde51145bdd227cbbc4f29fcbb6443bebd5cbd63bdc896e3bc87e625bcbf8c94bd8aa83fbd5606b5bcd0c331bcd8a383bdc91e2bbd8cc48fbce91cddbb2b6632bd19c8e4bc93ee0dbcc20f93bb51ebb8bc5b024abcc2d3f8ba482df63a8ac4ecba1cfce93a2cf04c3b69db7d3b1b55ae3b6fd6b3bd73067a3fd73a8c3e3d59e23b9a5bcabd1738743ff2b88b3eec736c3bf29863bd5792473f4fe2833ecd6828bb0b1164bdaf422a3fcb4d6a3e90a476bb12e82fbdffd1fd3ed9cb3b3e1631abbb7b054bbd7dffb53ebefa0e3e4a1d79bb298e31bdde99593e7fa9b23d9d056b3bfea446bd938e9b3da6ca103d1361a63b6fbe0fbdf6bfdebca0e3f7bb8e530bbda2eb31b900000000000000005b4eedbcab73c13b0000000000000000f21af8bb505b293c000000000000000050d460bb2a30473c0000000000000000bd28cb3a55e94c3c0000000000000000fda6dcbb8e90213c0000000000000000bb0533bc38e8bf3b000000000000000084cfa4bcc73e913b000000000000000055009fbc1c27b43800000000000000004611c238950b773b96bb063ba7d1fa3a106744ba9a11013c530c173c88e5f83b399434ba9c49123cf560583ca114393ca6f4cab9eaf40d3c89b84b3c58f2343c6d713a3aa5f3053c29b7413c30fb2a3cb0fdc1bac3d2ad3b047a223c5bac013c6bb20fbbebcd213bcabcfb3bab86c63b142f0abb2a6e4ebadf4b923b5ec2293b5e56c4ba5ee19eba1695ec3a87a456baa8f3363b379cd43a6d8ac93b34a8ddbcd283cb3b25e0563b556d1f3cce5913bddfcc2b3ca600293b32c4423b2edefabccac3fd3bd3149d3b66e6a43b2867fabce960d63bd975893b7f6bf43a091cdcbcd8aac03b5213583b2f03cb3bb85383bc093a833b8acbc73a6420063cdab3c0bb8f1ba73a09d4c1b9c593003c6e1e4f3ba1941dbada8e97b909b8c23bac86c83bb5daf2bc1fb042bc64f79dbcc97540b9f6e38cbd78a02cbdc8fef6bc3b8a6ebb5dd5b1bd3b7e7cbd64380bbd96761abc6980a7bda6027bbd39adf4bc55f839bc0c6a92bd449665bd9adfdebc61a535bc57b769bd5f6a3bbde99ca9bcb5e209bc507e24bdf4ea04bd148f46bcf51e58bbcaa69fbc45a474bc749e54bb9a48143bcd380abb4be037b91bcf6f3b807b883bfc82883bfd2994bd77f04c3f80a0e63ee34fa83b821bb5bde49e473ffaa2e33e0fade83aad3f8ebdd8b02e3fd628ce3e0f18ddbab37c67bd01740c3ff701b03e141f85bb351c42bd3c6bd73e7ab18c3ed46baebbcd184dbd5f80973eca22503e7e4e6fbbc2a54fbd4fcc323e34df023ead5fd83a0a0541bd3eb3813de437613da77fb33a0a2e0cbd1ef4c4bcb7d3a0bbb6d836bd61f4483b000000000000000075c038bdde050f3c0000000000000000fccad4bcc6718f3c0000000000000000962144bc4c864b3c00000000000000003a39eebb64af5d3c000000000000000034fe48bc2d573d3c000000000000000016a69bbc638ac53b00000000000000004c59cfbcd489423b0000000000000000dc78aebcc1413abb0000000000000000596d823a2105473b6809f23aba98123bdcdb7bbaa5efea3bbe83073c34c2ea3b8f64d7b9b7c1fd3b696e323ceb7d1b3ca4bfd8b31e880e3ccc214e3c2a973f3c5701c93ad11da33b70e4ee3bad40d03bccf279ba84d7af3b2e12233c127e153cbe25babaadeb283bcfddb33b5b0cbf3b7fbc1fbb1e16003add09643b73dd233b6ac0efba56d29aba4b56e63987d1673a50b7563be305073bcd2b453b0ea9b7bcf1d4d73b5aad8f3b590bd93bce79f1bcb538e53bdfb2ad3bab20703bb7d9f0bc9a950f3cbce5bb3b6427033b2d45e3bc63eb9b3b7066703b2d179dba7c64a7bcea8dd23bea7b823bb8a4993b6dc669bc0ac4763b9929c83a4416ce3b646db1bbd952a93a651d683a5f69ee3b9557293bcf3f5aba8e6e4dba5ae0e03b8d17ad3b1ce4dcbcab2c58bc8412b2bc48cdaeba103175bd64253dbd70590ebddf38c4bb88f38fbdeb5f7bbd88e20cbdd2273abcf22797bd02df8bbdfdb112bd135a67bc1e3f54bd1bfc4cbd3e41dcbca4e540bce3b356bddeb653bd23eec8bc4de724bce98c05bd022f0abdfe6e5fbce22d71bb56c184bc577692bc81ae8cbb7c748f3aab7516b9b388d9ba9d6c4d3bdb748a3bce0a493b17646dbd81761f3f7fef1f3f0b5c543bd8078dbdf8d9193f8ff81c3fb273863ab7b04cbdc230043fb288093fbf8119bbab9c40bd90d0dc3e9f71eb3e28a371bba342f8bca7c6a13ed0a5ae3ed16eb7bb908b36bdce5b6e3ea520883e280d8cbbbea52bbd4693083ebd01273ec40d683981d727bd2eb63d3d0dd8943d57e18d3afd6df1bc08d8b5bc96dfa9bbcca56bbd3255573b00000000000000009b5368bd74f14a3c000000000000000020ceedbcc9f7733c00000000000000003e7998bcbdf0853c000000000000000065c365bbc6e6643c0000000000000000dcac71bcd5bc3b3c0000000000000000baf199bc600eca3b0000000000000000a4e4dbbcfd6b2c3b0000000000000000ebfccbbcba1b47bb0000000000000000a2f08eb978697a3b1497cf3ab583ee3a9a480abb368ccc3b7bf1133c749c0f3cc2f4f2baeb46ef3b02754a3ce10c4a3c8796c3ba7353e33b42a1573c88d0413ca9f9c7399edebc3bbc7e2c3cf58c443c11a4f6ba5c23823bfb9d083cd97f153cdc323abb0fcd283bcb7ed83b4dffe13bee3aa7ba4f927fbb161da93b47c4813b3705e0ba958e7439862d0ebacd7d35b8deb72f3b6090173b4520c03b54c899bc7146f53bc6318a3ba7e3f33b90a7babc622e163cc764c43be3d3a53b36cbb7bce1db183c17f6a43bada4873b6787a2bcb216fa3bdf75ab3b0a7b073b08d38cbc2a45df3bdae26a3b96cacd3baab912bc2816513bccae4b3bdcf5e63b457c08bbc6c0133bc3c792ba72eafa3b4adbd13bee7963ba28c15639357a953b1814b63b0f86d7bc767c90bc7d32c6bc388120baf5cc66bd1cb36fbdcf0c18bdba7494bb22058cbd41e99dbd764027bd26c848bcd0608abd219b9fbda1df1dbdcb294dbc53006fbdc6f88bbd1b0b0dbd91685bbc33f339bdd32867bd8fe8d6bcdc180bbce79af1bc118525bd1c9283bce15e5bbbfe4092bcea709abc01bd8cbb6690303b38f4cf3a7d2d07bbe6464d3b4f968b3bf373913a76143dbdd62ae53e98954d3f89f9f23a258766bdbdbedc3e7e634a3f0f7747ba591d34bdbf9dc13e8eac313f055a6bbb92f619bd87029f3edcc4123fa5f3abbb0c1010bd7ca9753ef17ee43ec91bc2bb2f9619bd21102a3eff51a53ec7b2a9bb5ad61fbda5babb3d72ea4b3ecd15fdb787d20cbd0db4d33c5db0b03dfcc98a3abbd3c8bc606dc0bc2b4a0ebcc1e191bd16a7cd3b0000000000000000b5c197bdc4a1633c0000000000000000087830bdc9df8d3c00000000000000007f4acfbc2428933c0000000000000000b79f62bc3369723c000000000000000082a380bc1f2e283c0000000000000000a0ecbfbc42dfd33b000000000000000023f1ebbc26a24d3b0000000000000000b817d9bc61c175bb0000000000000000732de3ba3a9bbb3a96e2553ba93f683b3cdb45bbd4b8833b97a91b3c8716333cb8b2c3ba10fdb13bfabf3b3c7865343c302a38bb3015c93bdf56543c11a3593c2dee80ba985c9e3b0c721b3c3db5313ce1b235bb2f67703b7bd7173c12e82e3cc101c0ba1f3bb33a639fbf3be362f33b92f505bb13c9cbb8d12b1e3b6b2f8a3bca029ebae728ffbae56cb8b8a3d2be3afbe1523bcd31093b23cfcd3bad591abc5dcd0a3ccc02803b447e183c4a925ebce698033c8aa88c3bdf17123b8f5784bcd3f5293c2eb0d23bdfeb9c3b2dbc67bceef8da3baeba9a3b68823e3b74024bbcbe44db3b037b813b7cc1b23bf7f5b2bbd8458f3b91a5f13a34a8943ba6151bbba9d4543a75ac68b891919d3b3f72943b4666d9ba6e2282ba1393873b2476aa3bb2a9cbbc2a33e3bc08eabcbcb64b953a2bb757bd8a1798bd325c1cbdd06097bb501d68bd65c4a1bdb0771fbd73893cbcc70d79bd2238b6bd976b2bbd3a8a6abcacae47bdfe608ebdeab311bd0dbc5bbc3f9724bdd4f583bdcc20eebce7bd10bc63abd1bc93212ebd6fcd89bc44709abb295f15bc9ee4c2bc906c87bb8692553b5f724e3bc1dae6babeab983b6ca1a93bd08b5fbab9ec0dbd50188b3edb307a3f927381ba2ec51ebdc194833ec1a3763fd4b836baec98c4bc67bf703ed06c4a3f15cdb2bb507ae3bc84ef483e057d2e3f17c9b9bb989eb9bc2c05183e47e9023fd8ae9dbb58ebf3bcbf13cd3df619c03e2df287bbabead4bc17335e3d99046a3e5564c53a7bebc4bc86489a3b6b72bb3dbf1c323b154180bc4592d2bc0a7e8cbc0603b0bd4e24ce3b00000000000000001bbeb1bde27c793c0000000000000000fd3a0cbdf42f8b3c000000000000000095b4cdbc50258f3c0000000000000000b1e916bc89597d3c0000000000000000541d64bcf003383c00000000000000000ef185bcaecca43b0000000000000000b9c3e4bc48ba203b00000000000000008078d4bcb934e2ba0000000000000000fb4108bb1062c83a701e723b5e3d953bb8c0c4bbc3f05a3afcea483cb4dc713cd8b1a3bb663eaa3b46de2e3ca25b963c284265bb4d6e8d3b5ab0613c2048843ccf1d40bb8a69bf3bdfef293c655f513cd3dd6dbbf368213bd7d7fe3b624e463cdb7339bb41fc793897e3b23bfc78153c12980bbb4b5391ba3f41623a678da83b4a0020bae364b9ba1e719dba7ba3013b67b0a43b9bfa543adea8b73b8cad43bbd5740e3ccd275c3bfcb4283c64f2573a23bb4e3c105cac3b6b87cb3b38a6b2bbd4292f3c3ff4d23b68929a3b41dbeabb03951a3cbb47a83ba7183d3b5215e5bbb421053c4ec9903b5060c53b93f99bbabf489e3bea90103b2649d33bbada263b3993ae3a009d88bac71c5f3b0f88a33b13f591baf046b6ba12812d3b057c873befb6f6bcb8dc49bd963ccbbc99f7003a16623cbd9cc3c7bd6d2e19bd495afdbae95d60bdd523e1bdcf6b3ebdf7284dbc7a595bbde37fd2bddf623dbde48c7dbccbe537bdaa38aebdbb8e21bd789971bc91b407bda5ac92bd41c104bd5d3826bce22999bc06e74fbd334f9ebcae1355bbdacb1ebbd0bccabcc9ca7bbbf9368e3b117ac63b905866bb1f358e3b751bd33b95f0c9ba47777dbce8b4da3d08b4943f0aabbcbbc551a5bca312bb3df8e08d3f7c5ba2bbd7bb60bc6b48c73d5103723fc6bfc3bb5c7951bc22b6b13dc000443f8d6adebbc6b574bcd11c883d6351143fc623bbbb0f4590bceb881c3d0599d33e9f9575bbf6a895bcd775113c7b7f7b3e0c2a753a39b939bc3eab77bc7ccbb63d0f8b5f3b69d611bc94cf04bd4a6912bdfb2badbd2d15023c0000000000000000672ea1bd892b583c00000000000000002c6105bd3206913c0000000000000000c0221fbc26c4903c0000000000000000d0f2633b54c2843c00000000000000009609ffba326b1d3c0000000000000000224131bc139aa33b0000000000000000c6dab9bcc5b1163b0000000000000000b1d7d3bcf01e5cbb00000000000000000000000000000000000000000000000033105ebb2843353b76f8293ca115393cce8b3cbbf974603b0b57593c3894503cab1fc6ba9eb0733ba2ab3a3c1691423c321c91b907ed5b3b84ec133cdd791f3c4f59d1baf5f1113b59ff0b3c56e4163c34781dbbeb3e3f3a327db73b1f26ed3b8b49feba16a885ba8770b63aa587bd3b0000000000000000000000000000000000000000000000000000000000000000ea31153c6737783b233b723b575c04bbbb160a3ca99faf3b75a7fb3a8a226fbbe5830d3cf0b7b53beac9723993ebcbbb170e0c3c91d7a33b0ece983afedae9bbc292b43bc08c723bce6c0f3b241448bbf15e843bce7c103b32c85d3b2c6d713a55decf3a3b7fa43af183893b2482993b0000000000000000000000000000000000000000000000000000000000000000d43133bd56b7c9bd3e261dbd7d0222bcc1163abd76e6c9bdcd102abd290379bc216936bdafbfbabdcd3e30bd4a3c8ebc63c818bde1ac9fbd8e7921bdd80d85bc962fe0bcdba282bd140f02bd03a33dbca1696ebc3b493dbddf8ea5bc6ccbb7bbb8961ebbaba7dcbcadaa0abcb4e5023a000000000000000000000000000000000000000000000000000000000000803fe36323bb5d579f3bd76cafbc630c953ff68653bb2132043b2b0de7bb13d7783f9ddc83bb12c91bbae4ea0c3b98034a3f932680bbcbc44ebb88f7f0b9791d1b3f7ff7c6bb2e9a06bc8c5522bc7782dc3ed17c85bb72b10dbcccdaa2bc2879843e6bc2dbba8806f3bb919f08bd3365bc3d00000000000000000000000000000000000000000000000000000000000000008f8dcdbc87cd703c0000000000000000d375803b58da8d3c00000000000000000295923c86a6983c00000000000000009416ae3cb512883c00000000000000007535783c7f443a3c00000000000000009b6a793b76519e3b0000000000000000c42841bcdf222eba00000000000000000000000000000000000000000000000000000000000000000000000000000000ba350b3bdb61ba3b35e0b53b3fb56b3b5aae1e3b1916dd3b8d89fa3ba624af3b9db1123bb104e53b34f1ef3bdd5aab3bb4d6433bfdc8cf3bb207d23b4fc6823b1867a63a5a22a13b7ce2f93b9968893bebbd79ba9996903b61b4a13b9003823b9093a9b952edbd3a8b56593bd00a133b000000000000000000000000000000000000000000000000000000000000000073948a3b447a3d3b17e754bcb6b812bdef6e6d3b947f853b376f72bc614911bd3b3b9a3b3d43683b392485bcdce50bbd09ab6f3b425a313b07b372bcd86df5bcadce903ba4600d3b244c0bbc22e2d5bce7d4743b6bb1583bc04058bb1fd66fbc7f7e383b8143083b36a6033bcc49dabb0000000000000000000000000000000000000000000000000000000000000000265853bd3968f4bc81b994bcc0eb35bc83bb5dbd81280abd2d81b2bc395d86bc17ba55bd6df812bda3f4c5bcc83a93bcc93d3bbdc1e401bdc574b0bc7ccb85bcb9c31ebd6d1ee4bc2ad697bc0ac294bc06e2edbc7449aebc2cd368bc919c45bc4e7586bcbd1b44bca3a5e5bb21dccfbb0000000000000000000000000000000000000000000000000000803f000000009f40053cb73fc13b04af823f5aa9de3c075c6a3b29630a3c422d5d3f16c50f3d6d94053aa1e4083ccc90353f4f751e3d948958bb13f5513bbcbc0d3f8185093d6a4619bce566d3bb68bacf3e0fa2da3c691e4dbcd5c97bbc4be7823ef3cd573c7e537fbcbe6edcbc5b7ddf3d455ef4ba00000000000000000000000000000000000000000000000000000000000000002aace33c7d28943c00000000000000002a60083d80eec13c00000000000000008dab133db695ef3c000000000000000097a8043d8e48e73c0000000000000000f64fdd3c6402d63c000000000000000084d77b3cdc868c3c00000000000000006ea0513b09ec053c000000000000000000000000000000000000000000000000279ec83aba4f283bb293183b6bf96a3ade85843a40cddc3b036c083cf181ce3b3661b93a0f9efc3b8007283c3a02093c2f50cc3a0b00083c90722b3c7221093c4b85d73ae5d1d83b003f0d3c4912d83b3b885e396201b03bab650d3c75beeb3b07d76fba2c629f3be1b8b33b34af9e3b73f4c6ba0898b7b862f94f3b503e613b7d973ebaec518bbae4c0963af635423a0f48563b9c81b23ae194d7bba62ddebcdff8d83b6534983b53ef14bcf1161cbd3353d73b5e669a3bff3c65bc38a723bde545f03b6415a93bf8eb72bc4dd81bbd90edc33b8829833bc5a54ebc429600bdde57d13b60638c3beceef2bbe6dfc7bcbcf3aa3bee6b643bd34ad3ba5d187abcff2fe03a3c0ecd3aae4edc3b637549bbcd57433a1921193a09c3ce3be98c073b873fe8bc9cac74bc8a7c34bc4da39bbbfbe75dbd62dc08bd8ecfbdbc6ff065bc19517bbdd03a26bdbd51e5bc8f49a0bc5b8876bd00282dbdf843f3bc13a1b6bcf9274cbd2f2916bd7f69d2bccebba0bc354831bd8fb206bdc65fbabc45fb98bc09ecfabc8e43c2bc7b9482bc4bb062bc9d3066bc8f3a40bcb371c9bbb460bfbb9bdad4ba499e93ba3bdc433a9c5fdbb88c43d53bc36662bc55e5813fc82d113ea7e5903b8c8250bcd440703f2e9a113e1bbde73a943b4cbbcc064c3f34530f3e00c636bb05153cbbc03b273f96ff003ea205d1bb9ae1cabbf676003f44afcf3d5a2f5ebc6a578abc076bbb3e9d5e9d3dba4d7ebcab0acfbc47b5693ece453e3d39d76bbcef8d09bd8f67c33d6177623ca08b46bcf0dbf9bc9777adbc4bc535bc6e66fb3b880bd03b00000000000000004921a43c87f4863c00000000000000000976063de6d9df3c00000000000000000eb3153db272023d0000000000000000adfe013d4345f13c0000000000000000dcabcd3c1af6d63c000000000000000046205e3ccb7a933c00000000000000004c5faabacd3e9f3b00000000000000001dcdfdbb4e0b16bb00000000000000000d4db83a6b95183be5a6333ba07497383512103be0d2c13b9c02dd3bf12ee13bd00b393b597bc23b9375a53b09fc793b4d2a853a87f3143c68dd2d3cb77fea3be2bfd63a2c52ba3b6cb5003c7a9c9a3bf0f3c2388d32d03b48abf83b41c2dd3b2147823a7030213b5ff7a33b894b823b352353bad457333a6e525c3b2054293b486c6bba05728fba16b61b3ac146163973e1243bbc07973ad33a8abbbe91b5bce5ebb23bd5f66c3b93a032bcdf5d1abd1450723bf340353b8b974ebccb5b04bd579f003cc9b1903ba1516dbc3c8d13bd9221a93b4e434a3bfef640bc89a6e1bcbb22b83b7d0c993b6bd3c9bbb71eb6bc9751603b3a28103bd1d46fbb4ffc68bc75d3213b5242053b007b953b076c84bbb82cf7396b03d838ea20d93bfa624f3bdd0da5bc993941bc256a3dbc8fde9dbb2ea63bbd408a01bdf905cbbc70986fbc971838bd33b006bdcf49bebc9ea072bc366662bdf6c631bd8dde00bdb6dec0bcb24a32bd421d0cbd7124d7bceeb499bc173f24bdd8dd0abddb7ac9bcdc5da9bc0cf8d3bc5595b2bc537e74bc60bc47bc172063bce97b44bc5bb8f5bb8a27e2bb4f051db9517188b764808bbadd0a3839879f923bee7b93bced385c3f947b8e3eebad343b224294bc32274f3ffe7b8b3ef1352a3bb3a5eebb96ca2a3f4f4e753e221689bbf0530ebca6a6113f74a65b3e2d37fbbbb1481abcb657dd3e9b132d3effe060bcc69db9bc84dfa23e306b023edd5c41bc1e08b4bc64174c3e9942a53dd50c79bcd0c40dbd444aac3d765e063d537018bcd85fd3bc411b85bcd98dd9bba0e6083a62f68a3b0000000000000000e3c4753cad6f9d3c00000000000000001fefb83c3617c53c0000000000000000ce96043d7ae5053d00000000000000000a49da3c900cf53c0000000000000000b036b93cd80ce13c000000000000000079f82d3c30f88a3c0000000000000000ff5649bbdbf3dc3b0000000000000000a22619bc4ae3efba00000000000000005017a83a6934153b84a5933a7de66839f99f7a3ade26dc3b0c45d73bc555aa3b84c7b23a3f3ee43b3175213c3270063c251ca53a80d9f93bc6680a3cefd3e63b9d51d13ae4b0de3bc3780d3c3b5ee63b8c647039a72b973b6d3ffb3ba473e53b214e9cb969ee5c3b5783c73b38aeaf3bf68590ba4715b3b96d90703bd1ce313bdcbc03b99a039ebad8f3013a00e9efb9f40f6c3bc7f2683a52c5c0bbc2bab1bc6e47983b481d6e3b98a01bbcac3708bd3632d83bb3ff903b88f269bc57f90abd8368d33b239ec33b0a2443bc9f9e07bdb512b43b4b61823b4fea43bcc501e2bc5e1dc93b6c80873bb786c0bb24c3a5bc19ef953b0dd2383b066bdeba4afa3dbcbe7f2a3b5eb1ec3a7a89aa3b7b4f3bbb5844e63a2bfa413ab903ab3b0cf8253b809998bca01147bc681d2dbc4940c3bbc4d629bdfe3601bdde28d8bc190d80bc124b54bd7fd830bd842a00bd9f9ab1bc9b9e51bdfc022ebd237b01bdedcdc0bc1c5f34bd183622bd3a4af0bcee5bb6bcaad116bdc89d0cbd62ffd0bcc89ba9bcaa1fd3bcca3fccbc61e096bc621480bc9c4e49bc698a46bc9c2708bce61af1bb25ec42ba5dd68dba16f1ccb9be6186bab4bfbd3b818f60bc01ab363fb04cd83ebba5883b815086bc75822b3f3c3acf3ef746a63a986d23bc05d8133f71c3b73e287d7abbf34430bcdb41f23ee67a9b3eb49e00bc04795bbcb7d1bb3e1ba6773ec37a5ebcc323b8bc4e2b883edca0383e7da785bc5ad9edbc4f95283eacb2eb3d4d0d7abc348c09bd24e08b3daa694d3d153a2abce166cbbce8cd5fbc8f4fc2bb61a295bbefaeb63b0000000000000000dc60073c2a4a9e3c000000000000000070f0c63cbc60f73c00000000000000007fcadd3ce196033d0000000000000000dffbd63c68b8003d0000000000000000d0279b3cbb29d93c00000000000000008186063cd546933c00000000000000008d97b2bbc176c23b0000000000000000d55d36bcb5fa4ebb0000000000000000c651f83a4cdd6b3b5fd5ca3a97ecf03aba8eb93a1aecaf3b67d3c03b080ca63b7db4ce3a5c5ec63ba71af13b8917d63b8752ac3a1604f83bffda193cc2ef053ce8be053b0984af3b1096c83bf8d69a3b3ee7abb9560cbe3b2b09f83be0e7f33b0942fd3753901c3b0bb6933b7c6ab13b836f9ebaf5b5c9b9ebdd5d3be8a14c3b703321bab4015ebadb49463a3599ae3ad8cb123ad68f143bcdcaf8bb2aee9fbc7310b83bb762613b9e2126bc83e3f5bcfb399b3bbd897b3b97a343bc8149f2bc4dbec83b8f2a9a3b32e046bce7a8f1bcdd20483b01b6253be14550bc3c42b9bc959cb43b2182863b41d4d8bb007991bcef56783b88a7403bca987bba682930bcab58273bbac1153b1b5f873ba55d2abbc91243b8e2f9b9390aa1ae3b59964e3b768996bc689a4cbcb8cf83bcf0169abb8e1b20bd29ce00bde723debc83cf8cbc50ab35bde5c620bd97fcf3bc3a04b3bc449442bd95913bbddf710ebdde4ed3bce14510bd90710cbd9477d0bc8c459dbc3f8a12bdcff515bd4287d6bc651cbbbc1f3dc0bc94bcbfbc4fa692bc1e486ebc25921cbc6d8053bc5bfd1cbc8b5102bc2fadeeb983a384baf0d133baa3b040bb8bb87e3ba8e93abc2c1f113fd1ea113ffed98b3bbf9b28bc2351073fee4f093fb9fa1638ae5ce2bbf4fce73e0463ee3ebd9ababb2a4b0dbcecafc13e41beca3e0e2ec7bb5d6f06bc0e9e923e2baf9a3e8ba457bce496a7bc1cf2583ecfc86d3ef86775bc818bccbcdca9033e341b163ef3c680bcac44ecbcbd2e4d3df56d863d83ee30bcd5adb0bcbb9a82bcae5ca9bbe097c1bb1180173c00000000000000004346a83b9adbb23c000000000000000051f7a23ca00bf13c0000000000000000c628c23c7a7f0c3d00000000000000004bc5bc3c54cbe83c000000000000000059fa903c56fde33c000000000000000031dee03b05927c3c0000000000000000dcd2dfbb8704db3b0000000000000000cd423fbc2f269dbb00000000000000004158913af184e73aca9d463aa46ba53a989b42b93451d13b0bb6e33b5158f03bb620493a53dedb3be1a8063cfea9023c9df6cd399c9ad73b1475153cce0d103ca645683a8ebec63b7ced073cf765f43bd38233b90afba33b2b3ccf3b0821073c7f7a8ab9f0b7f43a2c00aa3b6035b13baad5afba559ed5398400453bc0de5c3bf1b19fba5bf708bacfea023a45d5a13a2c4a593a5fc3343bad577cbbb16380bcab6f8a3bb4c68a3b57d708bc065fdabc553af53b5da7a83bdbf01cbc15e7e7bcd0c9dd3b6b02bd3b6e5929bcc922d2bc68aaa93bf1908e3b7c7b17bc7d92b5bc6ba0cf3bc6139d3b107a9ebbdf0f85bccce3933bc16c863bdc81b839c87508bc5d9c253b49a2a83a4b636d3be9966f3a39fc483a6c008bb99309a63b5965873bf65390bcb3bf66bcab7b74bcdb7806bc5c6d21bdadfe1abd6ff401bd7f678cbcb0eb3ebd0afc44bdd56314bdd8c6c6bc96a43abdfaf148bdfd7f14bdaac2d7bc86de21bd65a030bde81a03bd455ec4bc0e3507bdc9611bbd0439ecbcb97cb9bc4256b8bce3b8debcd20fa8bc3ba17ebc83623abcebd65bbc3e271cbc54e7e7bb9d476cb9d77bcfba777774ba9ae52ebab68f823b34eecfbbc443d73e38cb363f0ad55c3b1ee6d9bb5384ca3e1d4a2d3f39efbcba00499bbbd89daf3e424f163f85b0c8bb74a201bc4bdc903e92eaf93eec2718bcd6de39bc5eec5f3e9b57c33e856655bca5bd99bcadfc1d3e88c9903e65b47ebc8535c9bcad37ba3d0712383e50b56cbc2a8ddfbc177bfd3cd5e9a63d16631cbc52cda2bc92788abc4d27d4bb22cb43bc7901153c0000000000000000233641ba2f5eb43c00000000000000001cbb883ce5d2013d000000000000000032fdb83cd24c0c3d000000000000000094a4b93c42d3013d00000000000000007422843cd82bde3c0000000000000000a2049f3b2a3f663c000000000000000008da08bc69eeac3b0000000000000000dca757bc1abc81bb00000000000000005517a3386da0043be24a343b443fa83ad92eef37d8c4a13b3a51c83b5535093c7ad5cd3a5496a73b14f9ca3be1a4933b8e07cdb92600ee3be9e81e3c4771233cc09a1f3a5e0b9b3bd749ce3b37d4173c28c643ba4ce28d3b94c1ef3b7541ef3beebfb5b98565163b0ff3963ba43f9e3be8d945b8ea791abaa15eda3a8e3f473b40429bbac5b7bcba5afb96ba1dc5b33a5e9f0a3b03c2183b6f4f2bbbdb884cbcdd01a93b5e22bb3b1d4ed3bb9409bbbca5165f3b6deb793b03910dbcf71baabc2f1af63ba193a63b68cd17bc98a1bebc218ade3b19a42c3b736818bc57b096bc2ca1b33b83c5b03b282821bb5a134ebc946a673b994e3f3bd497a6ba9d30fbbb3c0b143b7ea31a3b3223ac3bfccc843aafd76e3a54753b3a826ab33b31c79b3b754da4bc6bcd8ebce04082bc6468e0bb2b0e1fbd95272ebd272f0cbd62dda3bc0e9d18bd39882ebd8cc901bd9080a8bcbc4637bd472560bd329121bd4cc5e5bccbc210bdacf831bd7ad304bd71afc4bc5f3bfbbcb43125bdd3d9f8bc74f3bcbcddcfa4bc3fccd8bc6f0f9fbc2fd067bc4b9613bc6cc66abc71f030bcf0fcfcbbcaad7b3a35d601ba64536eb9ec098b389445133bb53258bbf4cb8c3e07bf5c3f717c15394d92bdbac3c4853e6337503fa5f0cfb9d8c6ecb9edba653e9f3e2c3f51efddbb3be993bb4fa3423e0049143f842403bccbbdf5bb8e9d133efff5e23eb22a72bc229b8fbc3a42cb3d46d6a83e1be53fbc08888dbcfaee6e3d7472563e4b3762bc92b3cebca9f83c3c478bbf3ddb2af5bbfa8587bc3f8e9bbcd65029bcdedb8ebc6518e83b0000000000000000f3a63abb9cddb93c0000000000000000cee0683c6abfde3c00000000000000007749c33c40ed123d00000000000000006400b83c0272003d0000000000000000f8b37f3ca70fd93c0000000000000000eaa9aa3ba1ea7a3c0000000000000000a95714bcdad7843b0000000000000000153d79bc6e98d3bb00000000000000004d5138b99553293b15edcd3ad4d10c3b4dd8eebae76b9b3b7741f43bbe990b3cc22b9cbaf636b93bd44d133c20c3203c180457ba8ffcc23b2c5f223c60292d3c6af36c37adb8af3b1467113c9443033ca4e0a0ba3d3d733b9adbe93b8f660f3c861ec8bae80cbb3a6795933b319ed03be73efdba4d4ca9ba4bef973a4fa36a3b64bb5eba0118abba51bce4b9a8495f3a12300f3bcd99493b3a72c7ba28b932bc282ddd3b9e05db3b788127bbf3f281bc872af93bb660ea3be554bfbb8e7895bc0415f03ba781ee3bb9eee7bba3719abce891c23bf9e1843b2944e6bb9e3386bc86dbe43b1747b43bd0683fbb314824bc6107a53bdb2c873b36b33c3ba43960bb97b9473b05dc063b5967d53b75a9753b65af2d383d68383ab0d8c53bcc61bc3bacb0c9bc1214d9bc63dda9bcfbe128bc1a2b21bdd97757bdc0421bbdb608a0bcfcfd36bd071d7abd511926bdb3aaddbc889d2cbd937475bd25082cbd2040f1bc2b010fbda52a49bd51fe12bdfcfbcfbc0797e7bc0a2931bd9eb802bdd84dbebc9d1194bce6caf9bccf31c6bc811b7ebc9b65c9bb800972bcb5fe27bc82bebfbbaf02c13a61e3d1ba6f5e9fbaf47df739799c113bafac4e3b93c10e3ea94b823f8c8e9cbac70a133bc45a063e47e7703f92f28dbbe8f6633b3283f33d02e64c3f3991efbb1638aeba32c7c93d826d283f42921dbc85a4b3bbd514983df71d023f30706fbca45d75bc0edb373d078ebe3eb21b7bbc3a9da1bcfa0b893c73266f3eab8643bc911ea6bcf64a20bc8954cc3d551b05bca53885bcd609cfbccef596bcace560bc3b423b3c0000000000000000147a413a5f37b83c000000000000000060e3ac3c66df043d0000000000000000b56ee93cf46b153d000000000000000002b1e13c8d10033d0000000000000000249e993cb4e1da3c000000000000000043c9d13b3084823c0000000000000000537d20bce1d6d13a0000000000000000f8438abca9ddf3bb000000000000000000000000000000000000000000000000611b17bac6d8b23b5f8ed53b86c2c93b76fc9c3833febe3b4a75fc3b5a7de93b787b283a4675ab3bf3cf073c2119eb3bfc9b803a1d2cad3bfe15e83bb8f1d43b3802efb9e486983be712c53bba4fc83b3db295ba9f1f193bc2f5813b6d30ae3bd0cf82ba70f74f39186d1f3b30e33a3b0000000000000000000000000000000000000000000000000000000000000000bff68f3bd1a6af3bf775c6bbc8c181bc21abaa3b378d963bfa2df0bbccc486bcb3f59d3b22fa9d3bf29c16bcbe5086bc622b923b46138c3b1481f9bb076e7cbc615d953b9f376f3b0e675fbbdbe52abcdfcc843b3404693b8231633a0e5a88bb95f5093b9e80213bb5479c3bc246e73a000000000000000000000000000000000000000000000000000000000000000088d718bdbd0659bd56890abd2df1adbc245d13bdca805cbd9c8f11bd75fac0bc23b10cbd807053bd3ac618bda471d4bc258cf9bc7bb13bbd823106bdff69bebc9faac9bcc88022bd9d98f0bcac43adbce69381bc5f00eabc1516aebc55187abc20a5e1bb6d3496bc7d4c4bbc5bdfc9bb000000000000000000000000000000000000000000000000000000000000803fddb53c3b2a47513c1491863cc9fc823ffe98f8bae7fdea3b41cf853ca4b75c3fbd309bbb58f7403bc160523cce0c363fa5c203bc1ad628bb068ff63bc7240e3f615132bc8c750cbc50aefaba311cd03ea8d64bbc2aed62bc2e2859bc5421843e63f138bc88e68ebc0625cabc3890e53d00000000000000000000000000000000000000000000000000000000000000003941953c27aecc3c0000000000000000494af33ccb6cf83c0000000000000000d24b0b3dc5b6ff3c0000000000000000ca93f33c745efe3c000000000000000003bcb63cb751ce3c0000000000000000f0202c3c31f07d3c0000000000000000256cb3bb1eca1b3b00000000000000000000000000000000000000000000000000000000000000000000000000000000154cebbb5fd9c53b1c3c193daceff13b87ae8dbbce2af43b169e093de50b3f3cd6a016bb91ca283cd5a6dc3c72cd4a3c399b9c398752d83b1b90a93c1a1a3f3ce879e53acb4f873bba41843c80b7f03b3b7012ba873d893bdce2083c23ceb43b2b0dcb39fcf5a339a0c0603b2ea589ba000000000000000000000000000000000000000000000000000000000000000004e8d6babc00f5ba6cf2b33b493a293b736690ba73cc29b972d6873afd0ca9bb39e2403bc02e12ba6cfac6b9c47285bc2e191f3bc3fa10ba424807bb1cf886bcb3d7e53a75fe943aa340b2bbe5cb30bcbe66dc3a89c4f6b95b10c0bb80b9e8bb5a180d3bfa9de2b7fd40ccbbff6209ba00000000000000000000000000000000000000000000000000000000000000007faf4ebe719a20bc58c1c83b72475b3a14af40beb4a4b0bcc7788e3b66d1c4ba811629beefe009bdb591fc38abd7d3ba940109be06faebbc059a95bb607305bb00eabdbdb068cebcaff715bb57a2f4baaf7654bd4cf665bc7b7f15bbd1fbc9bab96e16bc7d7f9dbb557391ba333135ba0000000000000000000000000000000000000000000000000000803f00000000373e923c1764ffbd5fbcac3fe40dddbd34a1383c14cca0bd9b048e3f145f62bd46ece53bf6295dbd5fa1673f424ccabc453f043c5e871cbde0a62c3f39a5d9bb128ece3b1a57b8bc59c0e03ef77f103b4751ed3b1edf65bb403d5e3e6457173c7903d23b4945823ba7d9013cae2dd33b0000000000000000000000000000000000000000000000000000000000000000ce284b3c38e795bb0000000000000000a4b7d73baffa86bb00000000000000000f3be73b70b228ba000000000000000040482b3ce7ddaeba000000000000000078adc33b9673353a00000000000000009a398f3b1045b83a0000000000000000f73d9b3baabe93b90000000000000000000000000000000000000000000000001ea7fdbb9d2b333bbd6aa73c914e5f3a65f130bce4220a3b5f4c1f3d9e1ca43b6b84eabbd3d8093cb8001f3d27a14d3c9ca973bb0a16043c0d66093d831b553c30e32bbb13a5093cb813c23ce6fc493c63c450ba5835ad3be5559a3ca823e03bdd7d1fba7981733bc2772e3cae86863bdbb809bacdb2413b7cbbbf3a0ae75b3a2b4997b9aa5a97ba0670eeb9095661bbdc81f0baa9dfeeba43f0d93b5854023c986788bb317a45bace10913b50dbc03c819acf37319f42bb670f913bdc2fb83a2356093bccfee3ba80056c3afa3ac8bbb60c1f3b6d48b439d74c86ba4b2811bc223c6f3bcf0b4aba81d295bb1cbddabb165d353be0f9133952e9d2bbd93386bbf17a413bfdab86b9df8fd8bbc44bd3bb67b28139baad00bac90bc8bb16109d3b585ef4bd62ad4a3b35becc3a0443463bda3940be80fc2fbbb72d853bf569873a588f4dbed702f5bc2b2e3c3919d24a3be84734befc2925bdea4b09bbf58d213af0d50bbe67b722bd0cfeb9bbc5011a39bd78c6bd7b6bf8bc45e1a2bbd01f59ba56204fbd413cb8bc68379bbbfc12153ab4fbcabb1d1f48bc6cdd91bbd3581fb960a48c3c0dd8363b6344473a480fe53abe73213d1d9459beb519ac3f7f2e8a3c8817273d5e9e52be78a09e3f9f16dc3c5460f33cb96825bee4f78c3f93cb533dda6fbd3c833cf7bd8e7f633f6832863d3281963c8ba8abbdcde7263ff8678c3d1d33813cb8c74ebd8740d63e5f9d7f3d32f0493c491fa9bcc9054a3e3a774b3d0084d73b22fd6c3c5f2f663c3f921f3d2b0c133ce49c593bf772e4bd4bf9cc3ac0f5b2bc7b102d3b0000000000000000a301afbcd787463b00000000000000005206a2bcff91d43a000000000000000057a187bca3b3003b0000000000000000e6e03abc7c07323b00000000000000006d3928bc97d8573b00000000000000001deaddbb69e9b33a000000000000000088fd80bb6d1fec3a000000000000000074163abbe88a02390000000000000000b5c5fabbf5a9433beb63433c24361e3b231310bc3731ab3b4d0edf3ccb9f2d3c4f64cdbb3b8b213c5243df3c3b1c7d3c752a94bb97061f3c0c04d63cea10823c84101eba9a87b53b947e9c3cca34413ca2bff7ba74b2ed3b9a1b683cf8fb0b3c085a4ebac4937d3b346afa3bf4c4a13bf1b9abb9a127db3abe4a3a3ba9cc3a395dacbbba22bf443aa4c306bbea5e6ebba0caf5ba05887ebae08f123cac7c493b1d984bba544b16bbecafd13bcde0003c12b3213b0a8bffba5d63813bd17780bb9066773b0f7ea3ba74010c3b8c83cfbbfdab813b789b05b9834027bba7e7e8bbdabd8f3bb23680b9cd22aabbfd97a4bb44440a3baf1789b8a74bacbbb8451ebbc15d203b2c60dfb973b1d6bb1715cb3973daa03a811c00b9c6a489bb632a6b3bd53799bdf69aa4bb59c113bbfe1a893b620c1abe36cf07bd03e2b6bad8a4833b723f23bec04665bdf1ca86bb1bd9493b90c417bea5237abdf5c6cbbbf6c8b43abe87e9bdcc8652bdda0e34bc611691b9aab9a7bd74662bbd55910bbc1291523a90e439bd7fc3cdbc159c8cbb273a84ba656b39bcacdc26bc7d9d7fbbc86c393921263a3c9a2b583b3f250f39fb4f55b9c769243d685e5abe5cf58e3fd5d46d3e01233f3db01068be07058e3f53c5683ef57a0d3d727f33be8dd9763f06a8663ed5e1df3c1f5f11be2501493f127b513eab24af3c74d7c7bdd4c4123f08e1313e0ecea23c2eb18abd104ebe3e5ce1083efe52833ca8971fbddf8e3e3ec929a93d68f8343cd5b30dbc60ebc53c83aa1d3dfc6d243c930b91ba233c8dbd0256b6bb9e3f91bd075b4d3c0000000000000000134790bd3c88513c000000000000000028346bbd4ee2213c000000000000000005c53ebd72250d3c0000000000000000629905bdfaf4023c0000000000000000bcf8dcbc7bd1d43b00000000000000002f3496bc3ecefa3b0000000000000000609c22bc1e03653b000000000000000033189bbbac6b003b0000000000000000b668b6bbffd2f23a4f2e1c3c264dc13b05ffeebbebedc53b0798a43ce016843c9504cdbb63b3f63bf247cb3ce7719b3cc2a160bb7e350f3cb82cab3cdd729e3c07f0caba1df3fb3b39617e3c1347873cb417b0baf003f83b57c82d3c9e77323ca158bebaab58993b739cbf3b37a6fa3b2a00a5ba40d7593bad9348bade9cd73a319816bb0869b73a7a2399ba40624abb2ceef3bac5600fbb70ac263cfb3bd1bb99559cb74cc32ebb6607c53b7d03113ba637273bf524eabad33ca63bd76f10bb6e1fa33bd99317bbaaadc1b83ec2cbbb08eab73b038a75ba2b66b9ba421adebb67698d3b9a13943956488ebb253fb2bbe361763b674c90ba6d3fb5bb90e88aba06b16e3ae68f4a3aaa43aabb03f5123a8d0e013926ad4ab61d63ebba5840803b2ef765bd4e42a6bc4ad9cfbbf970063c767cecbd170082bd03df29bbe3ddd63b970a07be6108a8bdca9ceebb7d2bb83b8e77f8bde399a7bdc9e739bc10d86e3b5733c6bd718996bd45955fbc208c103b6bb88cbdb92e5bbd16982abcb7fa95394cfd21bd516807bdcd5505bcb76ecd395c5e1ebc8b1736bcaa1b63bba26ee5ba68d6d83b46aad83b3651163bd5be603a23460d3d146547be44386d3f879deb3ea193343df9e558bed09a683fa2b8ea3ef4a1053d96592fbe45184b3f4dfad83e86aee53c55c808bee86f243fd27bbb3ebd5fb93ce480cebd9024f33ed5cc963eae31a83ce5458bbd4b369d3e6473563ed683853ca98522bd69ac203eeb28fa3d8537553ccbe38abc1ecded3ca907353df6241d3c24a62fbcd45253bda583a1bcacaaf3bd767a9f3c0000000000000000b6b8ffbd3039c93c0000000000000000dd58d1bd6f9a963c00000000000000005998a4bdbb72893c000000000000000078ea71bdfeac6b3c0000000000000000c67e29bd70da413c00000000000000001611fcbcb521513c0000000000000000141e76bce8ecfb3b0000000000000000984d40bc8303b23b000000000000000009fd9ebbe7e8703b1e9cc93bfa12ef3bf859c1bb86408f3b6353713cb9b1a43c1f0996bbb491ea3b2c1e8e3ccbe6a93ce25a71bb4b6c033c84a2933cb804ab3ce46adbba35fee33b85f4453c0217273ca34f91ba5d6cac3babc5373c082f2f3ca4ddfaba271f9d3b26a8753bb149d23b68c50dbbfbe8773b4f7efd361142bd3a679ecaba2b3c343b984a35bb2daa66bb2b53a63a94413dbb860e043cba8718bcd574073b41a430bb7ba6d63bccfba1baf7dbda3b1f583fbba28a7f3b7075b7bb933f013c8d521bbbd941ab3a79dbd1bb9ffcd93b80b1b13ac05e1f3a74273dbc638bbf3ba5610cbaf4b963bb430b5ebb72e2723bdf32053aae2134bb13c4f9bac2e5233bc9ed3db907587cbbc0d597b962e925ba8ccde7b985ab1cbba232483b54161bbd839413bd33de1dbc389b193c99aba9bde94fbbbd4fd0d6bb915b0a3c3614c3bd32c9d8bd0f9c5cbc85b9c13b4131c0bde2e0dfbd22f672bc90bea33b310a91bd86c399bd1b099cbc130d2c3a7bb46abd27e686bd25c954bcaddacf3abc62f6bc58b11bbda15e06bc454c7cb7bf7b2bbc0b0e36bc544b3bbb66f008bbf82bb13b15e5f23b488f333b52b3373acb5feb3cfa4923beb7a8323fc6a4323fe97f093d63322fbe09df2c3f4084323f8efccd3c72a609be1182163f117b1f3fb1c4c53cfe6ae7bd4f78f73e0b0b083fc2a35f3c3ae692bdf79cb33e8054ca3e2e2d9a3c317082bdf55e773e2dd6913e67fc443cc24d16bd1ad4fd3d8d4b1f3e191c453c24a88ebc2d40f73ce7c62c3d78b2163cf5c748bce3790dbda277fbbc358125be88b7dc3c0000000000000000c54e2cbed553003d0000000000000000c6d704be2936ce3c0000000000000000f47cd9bd6d2aaa3c0000000000000000181485bd17e0893c00000000000000007eb56dbdee297b3c0000000000000000dbc40abd9f8d3d3c0000000000000000b3df86bcaeaf353c00000000000000003d1581bc9c09fc3b0000000000000000b7fb5fbbcebfb83a15ab463b62951f3cbf8e98bbea8dfd3a2a98343cd5dabd3cf32095bbd47e953be59c7d3c9106e03cdc0524bbe17dbb3b9e94633cec78c73cc8c149bb474cde3be4fb323ccebca33c63412bbb9642e23b7378db3b2035663cbefe9bbaf20d963b03717d3b9caf0b3cd8e07bba55515a3b39dce5398a6cdb3ad729a5bad292743aa05435bb6525eaba02a8ce386ed138bbc2d9c13b007eaebb10c2be3b57e5b7bb4868903b3fc6afba4c00d63be5cc1dbb0d01c63a605f04bb4de9103cf9651abb34e4c2b97927aabb99db013c88f317bac5898dba37779bbbe5ccc23b52c9cfb8a94210bbe972a7bb9ce1423b85c443b96bc11cbb15d8acbbe754c63a0b6739ba8b136bbb9be3e4bac3897c38e489cdb9aab896ba9dad3b3b20a6b0bc53035bbda0cbffbbd766253c2bd253bd9762f9bdefb792bbc6bb153c63d78ebd355210bebd5936bc7788ec3b4d9189bd6aa205be2d628abc942b833b37ab72bd8bafdfbd00da8fbc463cf13a35232dbd123d9cbdf38f67bcb3ff383a14d6d0bc515037bde846cabb50a3f8bad0a817bcadf346bc950f43bbd9e2eaba4de85b3b23390e3c0f9b6d3bdb632aba461aae3c7391eebd4652eb3e95596d3fd11dd73c5b9efbbdbd52e03eda6e6c3f8d23ae3cefb2cfbd4bbcc53e72ed533f1322893cb037a3bd63b3a13ee62c2f3fcb40733c19f081bd0fb7783efec0053fbb4e663c20b435bd929e283ea712b13e63ef423c3decefbcdc9cc13da3503b3e47861b3cd88e74bc98aa023dd715253db1deeb3b38711bbc7129a1bc5fc045bd51aa48bef2b1093d0000000000000000d6a154be7b08273d0000000000000000ecbf29bee29df63c0000000000000000c96dfdbd3e19ce3c0000000000000000c0d8b5bda55dab3c0000000000000000e39374bd34cb8f3c000000000000000079e20fbd409a723c0000000000000000598076bca9a8263c00000000000000006d5b56bc0510013c000000000000000075d8ebba65b98bbaf0610e3ae0f5783c6fb816bbdcb0c439c006e23b728eef3c96cd83bbce31133bc40f353ca08fff3c011e10bb6183ac3b768a433c434de53c94210fbadeb2913ba448063ca42ba43ca38bd3bafb5d933b937af33b48d3823ca8a8d7bacf3a833bbaeb163b31371f3cde7a06bb80c5783b9abb1cb950d2813b838e1aba27ad2b3b894f3cbbd5331cbb940882bab7ca87bb8655523b19c36bbbea1d913bdd64bcbb2633943ad3a16dba2a31013cf76a9bbbb576233bbe7a8bbad8cf0d3c328dceba66618dbaaa17b0bb366d053cd34e85ba65b8ebba285cc0bb6cabdb3b3e8fbeb8ecbb14bb793593bb8e2c393b6028d9b9c2c627bba1e565bb537afc383bf67c387f41f938e5dc55bb795340b887b98fba19e660b9eda7edbaddd2ebba6e409bbdeb892f3acbee213c8572bdbc14021ebefb94c73a5c6ef03b949f2abdb65729be33a460bce3140b3c59ee35bd391b20be96778fbc28de753b1f521cbdc6e4f1bd0a97a4bc1f0b2a3a0b7500bdeba3bbbd7ec266bc155293ba1970a2bc3d5841bd63d20bbcf12078ba16621fbc7b7549bcba8c68bbfb481abbc6ebe23ad3c0583c323f233bf5a458baa2cb613c1b098abd5bfe6d3e273e8f3f2d54863c41548ebdd980573e29938f3f3a54273c644367bd8132483ee9cf7b3fddd4473c2a8b3cbd7e8b253e502d513fa194113caedf06bd3ea7023e763e1a3f10b91b3c55c2dfbc81a2c23dd155cf3efdf2043c52a888bcbec5713dde5f513e5652b93bd37b2abcb39d013d5d2b053db2b3853bfc9da6bbe76316bb22018cbd0af75dbe60f01c3d0000000000000000890762be1418333d0000000000000000b45f29be12dbf93c00000000000000009a9103bee78cdd3c00000000000000000f58aabd63e0b43c000000000000000015da6bbd1aaf9b3c000000000000000015bc0abd448c583c000000000000000067f2d9bbd7a1133c0000000000000000e7f487bbfd1ee13b0000000000000000278144badf7421bb7d6d4fbaf6acb13c8ae886ba830a44bb2fa64239a5b71e3dd005e3ba1e50d3baefce123c667c203d5ab039bb9bf3fc3a827b293c780f083dcc9205bb4630583b194e033cdd64c93c890011bb94af833b70c3bc3bbf9b9f3c64dde8ba5a3d823b6b564a3b962b403cf0d005bbd619823bd8a4883a93a71c3b39a250bacb4fcc3a03f531bbadcdbcba8cff8e39ed29b2bb606b113b11ec2b3aae914c3b62fcf9bb42726f38a24a65b9e189133cf5de92bbed5f3339f300543ac2752d3cad9d61bba889a7ba77090639bd06123c2eed12ba0f6f70baf4826dbb3194b43b00bce739486977ba17ca93bb81d75e3b44a06f386bc55cb9bcb892bb48afc33a31de383ac668ca3759f05abb743139bb1d33223a21cd0639f9d2a1ba18cbe03bfa38f4bd5268f43bf1e4e73bffdc2f3c77e442be26f96c3cf86be33b921981bc3dd950beca1705bc73b5973b97a5cdbca0f038be30d094bc52d37b3b034cd4bc6ac20fbec0c7a4bc57e3b33938e9abbc24a5cdbdc27084bcc43d13bbe9777abcecd060bd621121bce75131bb6f4160bc49e1ebbb3cf003bc6d3c57bbd834843ae4b2953c2328883bff5ccbba62fa3f3b182b9dbc49ac963c2eebab3f54de9c3bb4198abc630c5e3c89659f3ffec8913b993894bc8eb9e43c94848e3f30cb943b61dd6bbc260f013d9ca1673f4789853bf48739bcfc7f0a3d4da82b3f08a3b33b1cd506bc3d0e043d0813de3eaa8b8d3b7ac8e0bbea45043dec9c563efc09503b5216d1bb5ee21c3de523983c09ae2f3bd19bb3ba0057d03b0fe9e4bdb79d5bbe2ac4153d000000000000000000cb4bbe9d8c173d0000000000000000400d17be8cafd93c0000000000000000b82ad1bdbbeb9c3c0000000000000000c14580bde478733c0000000000000000efbf0ebd6dea623c0000000000000000ce6f4cbcd813153c000000000000000067a8603c296c9c3b0000000000000000653e5139c3f5853b0000000000000000000000000000000000000000000000002dbfd1ba84d362bb49d3cc3b4e57193d91fc54bbb8d327badf4d103c185a0a3db067e1bab72fa23aee3e233c2779e33c5f84aabaf39f313b6222d63b3966b43c0114d3bacc63c03a4422c43b58fb793c1e228abaa6932d3be975223b73bb233ca3ca50ba6c7e903ae66591399191533b0000000000000000000000000000000000000000000000000000000000000000bf47f93beaeeafbb4aa0d3386a25ba3bbfc2093c798deabaff5305b814a4193b84fc473c290cdabac4ffd1baf65c1cb798fc1d3ca096393a5f0317bbc3db4bb9645cd93b324aaa3ac95bddba8b4b56bb50f7123b6df96c3a1eefd8baa6909cbb40e9d4b8ae8ba439edfa5d3ad2c880bb0000000000000000000000000000000000000000000000000000000000000000dd4a2fbaab3151be366584bbce23883bcf331cbcdef840beaf7a82bc8cb38d3ab1069cbc946f2bbe41b3debc7d86b4baca4396bcbf2108be46c8eebc7cbc7cbb308254bcdcacbebdcf679bbc8d6c92bb842f15bcdd4753bd8d9443bca7ad1fbb777159bb538c16bc0da06cbb70a6f1ba000000000000000000000000000000000000000000000000000000000000803fa72385bb3fba6b3c67b2eebd832ead3f8cf617bb6d6e1a3c6cce95bd52348e3f528f1a39c86bdc3b8e6453bdaff4683fda7f7fba5011cc3b29d910bd3d602d3fec2b903a324daf3b9dee99bcd0cde13e7ad9b13a7343053c538c5dbb868a5f3e097c5039497cee3b2bd79c3bcc5c083c0000000000000000000000000000000000000000000000000000000000000000dd55eebd6898843c00000000000000005e717fbdb726313c0000000000000000e1b201bd21cf213c0000000000000000382122bc92361c3c00000000000000004f2319bba1c5e03b00000000000000007cd51a3c994ea53b0000000000000000c299093cd5c80b3b00000000000000000000000000000000000000000000000000000000000000000000000000000000611116bc60c5913b4614d13c5b56603ce04305bc1f6bc63b3b6dc13c9a78833cb1c686bbfcf9a03b447b933cb6308c3c632c47bb8108873b46cb7f3cfb8e513c988de5baca2e223b65d1493c28aa0d3c6fab70ba20ca583a3fd3ec3bf424d83b0cb42a3949bc1cba9f50453b3598503a000000000000000000000000000000000000000000000000000000000000000027ceee3a2c868dbad3846a3cc8f9f6ba8b19953bf2ae5e3ab04c533c27e2c1bb2bb0fc3bbb710a3b98b8143cdc2642bc18ebde3b5d2c803bb297af3ba4d32cbc847ebe3bfd81473b2e1b0e3b95449ebbff7e6a3b6753163b40fa27babd2688ba5eb22e3ac958673a8f9e86bb8e6f873b0000000000000000000000000000000000000000000000000000000000000000c8fb27bed2091abd8806283a76c3923a715119be2eed4abdd2ea22bc24a190bba62504be69e264bd2bed91bcca3a1ebccbccd0bdf3c54bbdb74a9ebc221a31bc4d4999bd4be21dbdd0b96bbccd2532bc8ff936bd2563b2bcc79b2fbcbbbb1bbcee135cbc5e1d8bbb32220cbb2ae64ebb0000000000000000000000000000000000000000000000000000803f00000000d539583b1879f9bd5ce2a83f49e896bd4b61bcbba4f0b4bdff93893f187463bca50f32bcd6e689bdb1ae5d3f4d8baf3c04de45bc913160bde35f243fa3f60d3d317dcfbb209a37bd4987d93e1ac4043dd7ecc2ba8312e0bcdaf0623e48a0c13c8f41d03b19b57abc0507cb3ccd316f3b0000000000000000000000000000000000000000000000000000000000000000ac8a533c8993afbb00000000000000001c39a53c21b2193b0000000000000000a993e13c81f2033c0000000000000000dcb6e33c587c453c0000000000000000271fca3ceccb573c00000000000000000821a23c147f4b3c000000000000000053702d3c7cebce3b0000000000000000000000000000000000000000000000008d76dcbb4ab0843ad20f6b3c5f81813b27223abc8d2f313b0a2fc13c32cb533c256d29bc9fbb5c3bbcadd73c801a8d3c18d901bc86d17b3b8ca9b13cebd5953c75ca6dbb8e3b0f3bd76f8b3ce8125a3ca05d4dbba14fd43a6ab6463cfb24343cb210c7ba15860c3ab094fe3b523ada3b27a04e3a17570c3af4fb103b8040e43aac70ae3a6e776dbabcffa5ba70fe03bbfbdeddba355946ba9276493c2ecd583b0590d5b90695deba5eee623c743db23c205ac43bdd434eb87c928b3cd297d03ba0ecf23b71671f3b676a643c8acfa4b96d7c113c19c9543bc9ff073c5a0213bb1d61d33be5d0603b3bdb293b988b223bde16263bfd71673beaa607bbe429783bc3cb263be5a8ff3a5606f7bb1e6fb53a0d42a3ba842dacb99383e6bbf802943b268fd0bd91711ebc13b6703b54fa863b4e1c21be296af3bc72c4203b4a38093b537724be791067bd16866dbc1fac6cba694d0cbeb19282bdb126a9bc9a03e0bb2524d3bd613e6fbd9947b9bcfb6e31bc0c1a9bbd0d1835bd72cb97bccc7725bc08a72fbd1911d7bc1c905abc1806f6bb878643bc399013bc623bdbbbf3e7f6bb6696403cda56ca3bbf310a3b6b5b943a9ec5ca3c13ab46be91e4a83f4c34123de86bbe3cabaf5cbe456a9e3f15702c3da7afaf3b804127bef3e5873f334ebf3d824f01bb0c7d03be9ea5573fad77e93d266163bbd2b7c4bd59221c3f9957e83d95284b3b362898bd650bcc3e9e57bb3df618fa3b156c30bda796443e98347f3d423a1d3c7e2ce1bac3c2a13cb30c0f3d07545a3c9d084fbb35cac5bd853cf8bbda5fe8bc28d4adba00000000000000002acda5bc1cc3783b0000000000000000ad11f0bb39d5853b0000000000000000acfd7e3bdc2d163c0000000000000000b59f3a3c24bb763c0000000000000000378d3c3c4bcb763c00000000000000008a3c293ca3db4f3c0000000000000000c31c193c14bd1e3c0000000000000000ac5515bb6019193b0000000000000000f265cdbbac32a93a15d10f3c43ce553bcf9910bca07d383a0539a93c9d37573c4fac07bc00dc613b57339f3ce9c7983c420ae2bba8301a3bd194983c4e7e903ce9288cbbe1811b3b9c285e3c4873653caba126bb0e2c563a82173e3c1d46313c02e7f0baddac463a8252ad3bc4e7bb3ba89392b82d3b4f39716b143b78d40a3b3b69c8397bc6f338097dd0ba7a3802bb57786c3aa71621bbbc12543cc41f303b5307833b23f0d0ba6c1c673c47ba413c95bdfd3ba5afdc3a06e38d3cdb5c8bbaae2c1c3cab58193be502643ca016fd3a7d42073cc931a33b9e6ef33b963df1baa6f8f03bc0a06f3bfe913d3b1017003b0262ab3b03622a3be60780393ab98f3bb1f7963a862bde3a72e3a3bbabbc503bab67403a6a6667ba8c92c1bb12f7213b00558cbd514a39bcccda97bbb282163c1ff102bed79b52bdd55b1abc050f7e3bc01702bed82c93bd077fc2bc68242bbb3350efbd1d469bbdcb1bddbc5b75a8bb5363b1bd61b283bd4a2bddbcb63741bcf76784bd17c554bd6fc0b5bc562743bc9fd913bd909ffcbccffb56bcede50ebcf2b935bca2e635bc9c89a0bb5910bbbbb9f7083c5175ab3b26d7133ba0741eba5309dd3c6f1e4bbee7f88c3f321d7a3e45bce03c077667be49598b3f1022823e4a72d73b8f7727bea9fa673f46a1893e7eaa8d3b483d18beb7713c3f2a127e3ecbff4b39a33ad6bd3c0f073f6e59563e32a8e03bee36b1bd48afb23e02e3253ed2d1063c037f65bd87ac333e629bc93d95eb333cfcd3a1bc4979c43c3a542d3de9067f3cb7df91bb728784bd68921ebc052291bd55e4c93b0000000000000000b01085bdbd00413c0000000000000000939109bd1dac343c00000000000000002984babca5ed813c0000000000000000fe2097bb14ef9a3c000000000000000015fb8dbbe2deb43c0000000000000000343a67bb55348e3c0000000000000000a0d658bb38235c3c0000000000000000e8c5febbb6afd23b0000000000000000701094bb678c143a6572f33b72718e3b03bdfdbbed65ee39b94c783cfc547c3c0e150ebcac4fc73a26db9c3c2f389f3c86a1acbbc6942c3ad3ca783c090c993c90be83bb0280783a256d563c0b2f753c706644bb7de77a3a2f23083c2a423d3cc695ccb766f2a5ba95e7a93bde28f33b42383ab83d7b5bb9fd3ae23ae6fbed3a8dff5b3a65c899b9b1d9d7bab4bc9fbab9fe773ab773b8ba656c3e3c1b9a6bbbac80da3b77211ebb293a733c9bc5fe3b179c083c44bd043baecf7e3c51469c3b8211373cb21d673b63222f3c6510a23b328a2f3c2d78983b6391013cdc44db3af853063cdb16823becb3743bbe728f3b37a59a3b6b6b533b522a4aba59c1683bd6eb1b3b5e149c3a437291bbdf474c3bcaa3d4ba23a60cb9b9ec88bb336d0f3bb1a35cbddae5b4bcbfd43dbcec422a3c0bc9ccbd9ef38abd561f86bcd7dbc63b3d8adebd66f7b6bdd76ce1bc9c29b2ba8c5ac5bd066eb6bd35e507bdb24ff1bbbc039bbdb8a29bbdac2e0bbd22d634bc94595cbd5dfc6fbd80accebc434a38bc05a0edbc463813bd62b181bc246b21bc25d400bcef805abcf2db9bbb66dcdabbec4fe33b5d4dcc3badb8633b1ae4ed3991a7af3c497f33be2685683ff368f13eed72b23c779551be35ef613f669df33ea417153cdae42dbeff2b413f6585e73e54e88c3ba0390cbed971183f2271ca3e60e4033b0d81debd8bb5de3e64a6a43efafb923b5d1fa8bdddee8e3eac906e3e84eb273c6b1d5dbd134d0c3e4b1f0f3ef28a473cffe6bcbccfb6ab3ce4a9543dcabb683c8f8c3bbc62b951bd3f1d7ebc52b7e3bdbec2183c00000000000000007218dfbde1469c3c0000000000000000cdbe96bd9b599a3c0000000000000000495f3dbd7be2bd3c00000000000000002eb1dbbc12bdca3c0000000000000000b9648bbc6de6ce3c0000000000000000f7215abc5c97bf3c000000000000000060b838bc7bed943c000000000000000058b29cbcef80163c000000000000000018705cbb0eda87ba6d39a03bb589de3bfbb4dcbb2b305bbaf1a85f3c5bad773caae9c3bba371fbb9f296703c3e5aa23c1b2ba2bb6fbb0d3a04534b3caaf3a73cdc903bbb2eaace3a6e85143c65c4533c588fe9ba91488cbad61b0f3c3f5e4d3c7d9ac0ba930baa391ffb423b3d5eda3b8c651eb88327a0397ffb533a19f6273b1125023aabb972396936f3baa97f3dba9ebe453b5a5236bba77d483cc8d464bb22aa083c8936d2ba55f6583c8492e73b773a3e3c5c8e083bab0b473ca6a1c63b5e37453c218d5f3b3af9263cc1fd953b447b213c1fc6ad3bc373f53bed6321bb2c2b083cc9e6a53be2a5433bff02603b544eac3ba34a3a3b5ffcf63845ff873b3c7ed63aebd2e93a49ac43bbd540a63aac35e9ba1e0547baa8af81bbea27d13aeaa329bd7e8502bd397981bc72234c3c8a2d9dbdd965aebd7ab1bebcd661003cc35aacbddc02d2bdfe420fbd1bee38bbb9929bbd6cfed2bdd37119bd330e06bcc4d461bd13619abd102e19bdf96b73bc63512fbd847386bd8afaeabcabe157bcbdecb4bc20101abda4a887bc7b6924bcc725cfbb657a5abc8f4a8dbb98cbfdbb9461d93ba1d7a33b5cebaa3b8856843a0d53793c3af214be73b5303f9f24323f2532883c756d2cbecdb7283f92d7333f9237b33b77ed0bbef7cf0e3f4c5f223f7a149c3a7456f5bd79dae43e63720b3f36b8a6bb167da0bdf3aea13e29cece3ec599ba3b9b4195bd5b98523e1fab9b3e66e1e23b42b344bd455ace3d8ac92d3e860f2d3cba97b0bcfe447b3ce3a46e3d9f45553cc1b409bca0b92dbd786bc6bcb60f17bee456653c0000000000000000c87215be8e74c83c0000000000000000fbdfbabd5597bc3c0000000000000000d70588bd34ffd73c00000000000000000f68aebcf0fadc3c00000000000000008117e5bc4ac9f93c00000000000000001b3888bcafa4c83c000000000000000012a084bc9703aa3c0000000000000000877faebc85be263c0000000000000000f7b75ebb4ca5b6360a4d8c3b7157c03ba9eabbbba96f51bb0a80283c740d943cffcfd2bb4ad3c6bacdc4553ced85b13cf54cb7bb9d279bbaee5e3e3ce743a43c81837cbb5be9c3ba8e5b1f3c1db37a3cd9c132bbf692253927a6d93bcf57413ca4e995ba691445399b0e3f3b9573f63b916aa6b998e7803a4455023a538b203bced0da39bc17273af093b7ba422ea4ba15a4463ba9f139bb75181d3c251f18bbb51f2c3c9f4931bbb9bf2d3c5db1333ccf53573cffd0883ade3f433c66ff203caa38693c068f903bfd17213c1c140e3c1f2a553cbefbc73b4f62e43b8873083c41e71c3cb323883b26533e3ba5f8aa3bb29bc43b35dc4a3b8f6b843a5965073bf953f13a9b8fa83ab2052abb061b8bb96037a6ba3a6a2dbabc540abb351079ba2b72eebc6d4032bde94985bced8e6d3cef3f5abd1406dcbdc7d7c4bcd2c80f3cfcd681bd00bdffbd5bc51dbd170d73b92f666ebd68f1f0bd5b812bbd99dc10bca81d4ebd42f6bebd203830bded0054bce6aa06bdfb3a93bd27f0f5bcfe695abceadb87bc7a5533bd2d288abc12a649bc347675bbbb1884bc0c4a77bbca20eabb7f3ea93b1ff7b73bb3e5c33b96058f3957bf3d3c499ae0bd2201ef3ec770693f8be02d3cdafa02beb9b5dc3ef87a6b3f2809bf3a8a77dfbd4903bd3e826a523fc22521ba3e2abdbd7017943ef56e2e3fd464e2ba3dd49abd41315c3e63eb043f8a42b13a1a6f69bdc4cd093e4fdab73ec2d6bb3bd7e517bd91ac823d8c6b4d3ea8a8003c0e7763bcee190a3ca713733d5499233c32218dbb9d1201bdc74614bd85f034be3a6b9d3c0000000000000000aaf536be2c86f93c00000000000000003fa9fabd355eec3c0000000000000000db2c9bbd849bfc3c0000000000000000b65b34bdb10e013d00000000000000009db8e3bc62bb003d0000000000000000a05aa5bc3f15eb3c00000000000000007a6564bcbe3fb03c00000000000000006316a7bc297f1e3c0000000000000000a4c802bb102d52bbe236233b6a8f103ca70164bbf39a96bb9839fc3b691bae3cd88ebabb09d812bb83b4073c327dc73c3e8f93bbaad64bbb5ee4213c3e09b63c92f74fbb455b3dba4668ff3b1c12843c07ea23bb07b427bab502aa3be0625f3c413db3baeb20ea38f760de3aa10a053cb03830ba9540a93a03649e39c7153e3b9b0109396ad3863aa6e4eaba0b4d94ba37058a3b53468ebbaaacc63b3220743bcef7363c3ada84bb7628e93bb1c5353c96c36b3cd431c43ae93e213c84e72b3c63926d3c6cd38b3b8708f33b8023303c7c495d3c713b943bd5ad983b0ff4b93b19f6213cb722bb3b4f5f2c3b41c29d3bddfcc83bc152133b7652843a777e0e3bc2ea1f3b38db953a34274bba15be2ebbe7c692badf559bb9eaee9abae02345bbdb1154bc09f480bd0af70cbc7f646d3cdb80ebbc57d108be59d1a4bc5570e03be53c31bd7c9e0abe969a2abd861550bbd6c11cbd904b09be3aac3abd2ed30bbcc2510bbd1747cdbda2332dbd0e7275bc038cb6bca7c4a3bda18707bd0b3083bc22222cbce5c13dbd937899bcaac01abc75e508bbabd380bc5aee91bb0ea20bbc41d3a73b6498e63b4213bf3b345100bb35e5e63b392a8bbdcb15753e0dc88d3fa466703b734c9fbde231543e24e78e3f465086bbc11089bdedca423e8f94733f981a72bb2bfb83bd8ff3143e5f884c3fae07b5bb11cd42bd3b93dc3de491163f36e509b9729b1bbd1307803dcf34d23ef9562d3b9eedcbbcbcb2e43c28c9603e9850783b67ced0bb297c7f3b2440583dd67ba63bd9461d3b44da80bcb7ce5abd584e4bbe29ffb93c0000000000000000f14c4abe86cb173d000000000000000007bae2bdc0c3ee3c00000000000000009d51a0bd79e7033d00000000000000002fcd07bde32e033d00000000000000004932c0bce8560a3d0000000000000000682c73bc2aa0d03c00000000000000002b0411bc9631af3c0000000000000000842d62bcddc43b3c00000000000000006b634fbaab468dbb69acf2396992733c07cc44bb61dff9bbe6565b3b9538cf3c8dd689bbb830cfbbe7c70a3c956de83c2910a5bb294d8fbb6172f03b352ac73cbe7749bb8a4625bb25a6cc3b5b4b963ca5273bbbaf3c64bad748783bfd416e3ca068f9ba946bb5399f75dc3a811a113cc30bafb95da1003bfec54abaddda823bca6a92394ea2bc3abdfcc3baeb6491ba53c4963bf708b0bb4ee1543baacd073c65384c3ce49cb7bbf8ac993be7ac883c7f1c843ce2eb16b8c74bdb3bfa347a3c36728c3c2d8e863bbf2fe73b7295803c3c16703c97bba83bb5469f3be6000a3c1e47393c8a1ea03beddd023beb6dd13b7b37d53b6c87673b42f2053b8c2c1abaf59d293b37b5df3a1bff2038d690acbbcc2f2ebbf30fd5b9f17622bafcebbcbbfdf58bbbe2f0cbbd871907bcca8a683c57db9239dd8a25be67bb58bc496a163c59a696bca74f2dbe126528bd9b5c7bba13a5d2bc2c9c14beb6bb44bd747a46bcd25e9cbc897ae9bdff133ebde83089bccda645bc4267b0bded1510bda96b85bc3fcaacbb155d4cbd231da6bc4ea65dbcdcdf16bbea9281bc932eb3bb652934bc58eca43b628c313c6f6e0c3c5c3280ba1b55df39e6bad3bc0c7f063d353aa93f32c325bb77b4febc7e538739148da03f9630eebb00630abdad5c8b3cdbc38b3fdef20dbc0b9b04bdcf777a3cb6bd603f0b5a07bcba99eabcc732533cd1d3253fd47b40bbf4089fbc8d4d163a6d6fde3e1a010cba3feafabbf28498bad1d0623e19540cba21f8753bdfc22f3c662b1a3db0fe4f3bccde1b3cfc2630bc38b3b8bdf6df46be33ceae3c0000000000000000cfe93abe4523fc3c000000000000000063ffcdbdce71cc3c0000000000000000552f46bd00fbe23c00000000000000004b864ebce639fc3c0000000000000000d65d3abb7d81f93c00000000000000003c9c653b8f21d13c0000000000000000f82f033c3b0eae3c0000000000000000da933bbcbd4e083c000000000000000000000000000000000000000000000000271383bb7417c1bbfacfc13bd1f4cb3c59bfabbb2f248abbf1dcd63b8356c13ccd4f39bb1dad31bbf0dde43b89deaa3c275d36bb246f30bb10e3dd3b07db823cc24a19bb2406a3ba489a833b304a413c7153beb91b46ef389fd0ce3a8700e73badc2d3b9d1df973a470798ba890c263b0000000000000000000000000000000000000000000000000000000000000000beac5c3c28d694badadfcd3b099b7c3c4231803cf242183b24b5e13b128a833c4fb8773c82cbd53bf53a763bf3e8393c53d2603c66c2c83b4ad58d3bae00073cc045193c033ba23bac993f3b694aa23b1475c93b868d773b1f9e84ba52b4ff39d170cd3a00b5713ad6f420baaa136fbb0000000000000000000000000000000000000000000000000000000000000000846704bc7ff12bbe981ff7bca2ffb73ab1043dbc9e6d1ebed1a033bd333d09bc4f478ebc75660abec43e5ebde85a91bc61167fbc55dbdcbd999348bdc880a3bcc271fbbb120aa3bd6a6b0fbdd86d90bc89bb9cbaa43a3fbdff34b1bcf29162bc656d9a3b096a59bca44380bb2d18bebb000000000000000000000000000000000000000000000000000000000000803fa30f26bcdbaeba3a49d1e2bd126ca93ffd303bbc1ac62bbcb772a3bdade58a3f735926bcee8a77bcd13c6bbda5d0603f513912bc83fe43bcd0db49bd3768273feb02b9bb4eb80cbc658536bdca2fdf3e96258cbaae458cbada7df3bc5fbf683e4f9a983ac66a033c645fa2bcaf76e13c00000000000000000000000000000000000000000000000000000000000000009955b2bd86ea6b3c0000000000000000c3cbdcbcf806a93c00000000000000000117393c753dd13c000000000000000076a1dc3c9cd3ed3c0000000000000000bac7ce3ce985e43c000000000000000087aeb73ca2adb43c00000000000000009d2dc43b5a8f4c3c00000000000000000000000000000000000000000000000000000000000000000000000000000000f03fddbbae1a893acbc40e3c2a332b3cd2b1e7bb511c7bb789e9dd3bc1cc3a3c239badbbd18a9cba2237763b20515a3c6c9585bb6ceaa9baf77a853b2ffd023c89d670bb672ecebaae6f613a7882df3bba0f30bbfa328bba4900ce3a680e5c3b7f378fbad8a1acba9ddda338f046123a000000000000000000000000000000000000000000000000000000000000000055754d3c1fd61a3ca678ac3ccd3995bc25b3783c0606813c57f5bb3c55c11dbc2d81683cdb559d3caaf19f3c25e7d6bbd4e4723cf46c893c4b51863cc1d074bb54602d3c5eee763c59006b3c48f2383ba037c23b4b98193c9a33253c45c7803b9ae4213b3b755b3b013ab53be3e2a23b00000000000000000000000000000000000000000000000000000000000000002e8bbabda3d16bbdab4e05bd48bd8bbc32e8a4bdca4e7bbd00b93bbd18b619bd7cca8ebdbc5f7cbd30b65abd748443bd4a5c5abd1f3c50bd35e13fbd71644abd123814bd3adb1bbd203319bd6cc231bd78bfb7bcf3cbb0bc6a1caabc9da6f9bcbeb9e4bbc9f5b5bbdf7683bba35060bc0000000000000000000000000000000000000000000000000000803f0000000047b5fdbca85531bdb3f9943f5e66d03c299448bd19d038bde2b8753fab37603de86364bd4ca133bd43bf443f0f4b933d390068bd4d5351bd9dfe133f9e6a833df53a4ebd7f7370bdbc4bcb3ec281383d925203bdc7905dbd39ff673ebaaaa03c51b926bc07534dbd92bb843d02673bbc00000000000000000000000000000000000000000000000000000000000000005334f63c38761d3c0000000000000000c3c8623d4990153d00000000000000006487983d264d583d00000000000000003911933d6f1d823d0000000000000000c0d5703db9fe733d0000000000000000d3f91f3d16e2473d000000000000000079f7323ce6c4e33c00000000000000000000000000000000000000000000000095ed90bbb5fb663abadfd93bb2d39c3b681a15bcbc40f9391f58f13b12df1c3c30fb01bcb72bebbaf07ebe3bdfd7313c725adfbb214882bb91bace3b1525153caa8ca4bba36e46bb049d173bea70123c54655cbb65069abb4bcd373b286e9e3b14a050bbf3e23fbb5375903a83521f3b1966eeb90e29e2bac5d70c3aad68b83affe6853769df8239dc821038d489c5ba4f98863bc83cf4398435963c0e65a5bcbb1c263c1b3b0a3ceeeb093d00fad8bbc0bb823c69808b3ca252fd3c2b1961bb9d397f3c18e9a83cdef2ea3ce5dcb13aab44653c258d9e3c7969b73c68c7463b74b93c3c92cb6e3c2e3aa03c4f5dc23b3174cb3b51452f3c63bc613cfa612c3cbcbb503be358623b1a9ca33ae609873b2256a5ba62e4d7bab62898ba859cdc39eea171bd41edf8bcb2d558bc6020f63b66c2afbd66cb5dbd6acbfbbc1faa31bc75a2a8bdd20d88bd09bb50bd6ebe20bd49d28bbde27b80bd47c35cbd36b55bbdedc14cbddfc656bd5cea51bdf5145cbdb1e606bdc4211bbde0761bbdb76a45bd2500babcd1ce98bc388cc0bcb38809bd7a0e44bb6b5128bcd8c20fbc617765bc225daa3b4bc6f03bb2e7023cabedd93a937e59bc8f2296bd0c8b953f8e5bf63d923429bd90e4debda3198c3f8d32093eabdb6ebdcd67afbdead1693f86b1273ee86f8dbd2e38acbdc3b6383fae6f253e058681bdc0729ebda466073f28600a3efc9c57bd7074a9bde32cb83ee113ca3d63c704bd0db493bd9b6f473e5fa9553d5b53d63b1c724bbd5fa35f3d9aa03f3c55009d3ccac20ebdb6855cbd5b24d1bc427899bc8f9d6cbc0000000000000000c016bf3bea7f7e3b000000000000000075b9433d2d9a0f3d0000000000000000dc2b853d1eb96e3d0000000000000000d57b8c3dfbfc893d0000000000000000c8dc623daab78a3d00000000000000004758173d17da563d0000000000000000ab4f313ce5ea103d000000000000000025f488bcfd38143c000000000000000025fc5bbbf387a9b96e71a83b6e7c513bd627eebbc10148baa4a4d93b7774063c6aebe1bb95ea09bb47ddae3bd0702b3cf789e5bb377043bb74aaf03acfb6253cc72486bb94ac41bbe77ef63a0efb083c5ecd80bb818f83bb134a563aff79933b97dc00bb99c865bb487c673a12ac433b8580aeba6d0dc2ba454e7939e4752c3aa51e593a84abc0b90705653aff4fdbba7366213bf790dd3ab839903cc2f86cbced90383ce449203cc2e5f03cfea815bcaf007e3c791b953c0cc1d33c0f36a1bb6122773c4c8fb73ce3fff03c8490813b0a514d3c255d993c60cba83c2b90133b1701233c3c25913c8f439c3ced1f0a3cf9eebe3bb6d1303c05c54c3cf259d23b4bb6173b8007973b5d40943b8864993b44c4d5b8b5c210bbf3bc2abbf84530ba89c027bd9745c5bcd5a87fbc73f7f83b05a291bd0a315fbd185f2dbdd69d67bc191c88bd465586bd22f364bdcdc832bdb7006bbd549187bd15c376bd553d61bd65d52bbdeb9550bdae1452bdde4461bdc7ebd8bcc0251cbdedef25bd509b4dbd039d77bc47b5b4bc66d1c2bc7e1008bdd4775cbb0bbaebbbe859fcbb7f9e8cbcdb1d943bb39ba83b702fb03bbb4b5d3b1fa94dbcea11b2bd5f607c3f26d8923eac021cbd022be6bd6d9e733f36cb973e55194dbd8363a7bd07c7443f8ef5953e685481bde0eac6bd5c5d203ff27c863e345971bda012a7bdeca6e93eb728553e6c623fbd97ffbbbd8b499d3ece4b183e318af4bcccda94bdc6932f3e29e9ad3df018473bdcc567bd39a3423d96c0d33c86aa9b3cceb0dbbc778a11bdc783a5bcca4d10bde29a80bc0000000000000000962d9fbb8e3d153c00000000000000008c82263d42f82f3d00000000000000009aeb683d3d1e7f3d0000000000000000b6a1773d2c6b893d000000000000000077674d3d0b388c3d00000000000000005188d53c6362533d00000000000000002112c73a7c68163d0000000000000000472192bcc77fdd3b0000000000000000f8afefba3e58e1b9d3d6593b6537533b493ac9bb3eab16bba8b8ad3b3ab6033cf0e1cdbbdf2689bba3a33f3b3bc81d3c43bbbdbb7dd19bbbc169273b3300fa3b13df95bb33a1b9bbac6a203bfe3dce3bf8445bbbca29a6bb4756263a9c37973bd9fdedba836285bb15da94b9cad40e3b57160bbafdca05bbd97690b9f90da03a85b1343a95e848bab0ea1e3a99ef9aba62d6603b2499143b28de693c600783bcbd1e273c7d2e4c3ce8a8ec3c6c82d8bb5a59813c7f69a33cf722ee3cc4e8083b8aaf823ce630b53c0aa5e13c8c30d83b795d5f3cab28ac3cda31c63cd1ee183c81481a3c52b5903c47c4983cdfdf433cc696c13b11e22b3cc68d483c62593c3c01d7023bc904923b8660663b2fc0a23b4f61c8bad9c6c9baf31fd0b9f27cc3389d420bbd68d4cbbcd18fadbcbc2f863bc0b371bd7ecd72bd0bae3ebdc70e8ebce19a6bbdd4fa8dbd81fd7bbdcd203fbd445b43bd35a786bd5c7e7fbd689d6bbdb61111bd768059bd277e68bd726174bd4835bcbce72d1dbd60922ebd1adb4dbdf4e626bc159fbbbc0ceacfbcb88a0bbdc7524cb9822410bc867b1cbcb0c063bcb631883b7300923b7164bb3b1051913b563d57bc312297bdf909513f4a0aef3ec1731bbd3eabd8bd518e473fd830f13e84895dbd60d7c9bd904d273fad62dd3ea2d87fbd297ec7bdc414043f8510bd3edbb07ebdaeb4babdac6fbf3e1152943e1e1540bdfdc1bdbd2a167e3e913e563e15cad4bc41a6a1bd8d80073eca30f63d8bff543ba8a965bdda93083d17772f3d45b7843c3dd0e5bc1ece0cbd6e8aa5bc4b8443bd0f9d3ebc0000000000000000b05899bc0314453c0000000000000000a086db3cc7c7333d0000000000000000b9e8483d5d9f843d0000000000000000de48683de57d9b3d00000000000000001d37283dc644923d000000000000000060d4973cf1726b3d0000000000000000fd6dc9bb31d4193d00000000000000008e20bfbc6fee993b0000000000000000780415bbd3189fbaa8486e3bb9eb7d3bd348c3bb9d68c0ba52df523b121cf73b0da7c8bb762685bb54a73e3b72d7173c604dc3bb9a49a3bbbd90503abeb1083c2b5d2bbb34f95ebb9218d13aa364de3b944471bbff80a3bb73d700ba89a8a23b7092f1ba41c471bb3b839db8f8ee053bab0c76bab97101bbd436da3977be133a7a94243a6d52d7b8ad45b0b93e04dfb8e86b0e3bca7f593b5458663c121943bc33f52e3c1b6d5e3ca88cc53cb28dfbbae6a0543c58b4a53c756bdf3c920f8a3b2944763cf197c63cf5cad33cf11b503cb62b4c3c2027903caa28763cfb89a93bb2490a3c500c963c099b9a3cb8836a3c9e00b53b8ae1273cbb033b3cde2c253c8415f73a09d2953b2222993bbd84973b3469d9ba53e3dfbaf502e0ba8092e2395aa3fbbc2ab1dcbcdba6ccbc3f0f8b3b34bd45bd0b457dbd73374ebd9f8cadbcff473dbda9c38fbdc30880bd5d8443bd63c820bd56f28abd38b487bd7db680bd9889e6bc28b24ebd23735abdddcf64bd1c6c84bca01d21bd4e2037bd1f9a56bd1026e2bbbc5cafbc4fc8ccbcf7260cbd6a9af4b9e5380cbc2b3d1abc0c0b69bc6d5b483bcbb5cd3b5e47883b3768b93b2fe070bc412c7fbddb66233fcb20253f7cfe16bd1927babd194b1a3fd6c3233f096160bdccc8b2bdde07003f68c5103f84307abdd589c0bdae84ca3e85f9f33e9e8152bdaa1893bdb44f913ee238b43e081a3fbdfa26b7bd8e7d3b3ea86a863eac3bd1bc9c0596bd3606bb3d722d1b3e8ea11a3b672c4fbdfc8a9c3c13a25d3da3997e3c60f7bfbc64de02bd2218afbcb8b765bd39cd74bc00000000000000007a6100bd242f6d3c0000000000000000b6b7bc3c7758463d000000000000000056d63b3db78b953d000000000000000073ef4f3d7813933d0000000000000000bb98173d96e9983d0000000000000000aad1823c96b1703d0000000000000000e432fcbb5fec113d000000000000000033aed9bc8808983b00000000000000009a6d14bb9681eab95edbd33a4e70983b9a1ab7bbe0ea84bbe6e8553b5473f53bd4a8d0bb378998bb12c1403a0f50083cab62bcbb0296c7bbc32921b90223083ce5cb8cbb17e6bbbb2fd106ba0eced23bda2269bb861098bba76e96ba7b99843b4464f7ba29726abb3ee288baf4f7053bb44064ba0ca3d4ba7a3cdbb9b1d2a63aea4a8f3aa584e2b9f2960b3927f346ba14f1453b7148823b6175423c5a30e7bb24c82a3c6d00603c6901c93c6628da3b8a037e3c33beb83c52a3d73c8fd84c3ccd35683cceccc53cfa19d03c221d8c3c7de7593c7b61b23c901cb63c7b00803c528b1d3cac2c8e3cce75893ca01c863c3b9eb83b9ba8313cf882313c7b53413caea5c93a8f49903bb5b2533b2db19e3b7cf8dfbabe93caba421cbcba63e3adba1a39e9bca77d04bde322dbbce36d6b3bd7a929bd57fe8bbde29c5ebdb947aabc7adb22bd2236a0bd66f389bd8caf52bd1f79f9bc27b790bd6d288bbd3ea281bd9407b4bc324b69bd49cf71bd80aa82bd26213ebc4b0327bd1e3237bd43d156bd65c177bb4678bdbc32a5dcbc7cf20ebdd041113ba7460fbc3f8d22bcb1165fbc8b179c3b4133a03be41fa03b1756b93b12b95abc48884ebd4744eb3efdd5523f7ad917bdd45aa7bd7b54da3ece16503fa48951bd4262a6bd7f8fb63eba55353f48346cbdfb4fb1bd912d8c3eb3c6143fea3765bda393abbdaca8483e4fd2e13e7dfb2bbd5640a7bd70dcf33d8c889f3e691eb0bcbe3789bdf6d1533db1af383e1e15213b352131bd52e93b3a38e8853d217b603cc0788cbceb63fcbcd0d0cbbc2a338abdba5253bc00000000000000004f353bbdfa90943c000000000000000024402a3cf13f543d000000000000000049501d3d3fae9a3d0000000000000000e3e7423dd2ffaa3d0000000000000000952d093d2d009d3d000000000000000018113a3c8fde7a3d0000000000000000b06761bc41da1c3d0000000000000000abd9edbc77e1963b0000000000000000c19018bbc7a6ecba3513393b12ac793b9c7db1bb3c886bbbf7d6483a1565163c76a6b5bba6f7b2bbab8dba3a08b90a3cc962c2bb5682b7bb7b14b3ba969fda3ba52480bb1607a2bbb4c79eba9d13ea3b857175bbf1b2b5bb05f6d5baff95753b14d8d0bac2f382bb07158eba7fbc123b6a654dbab5a808bb9c04ccb97bdda03ad2146d3a27206639ccd7fa39e26574baa8a2933a6544853bc8f5383ce7b3bb39c55f243cf5716f3c8cd8ad3c03124c3c66db7d3c7588ab3c36a3b23c94fe6b3c08007c3cf2e4cf3caeedcb3ce639ad3cd3f4413c3a89a93c49d4923c1e418d3c0933253c64a4923c9fde873c444f9d3c0f97973b50ec383c766b1c3cdd4c563c601f1f3b63e25f3bc4f7153be27a023c76268db94a760ebb84e065bbc3de17bbc755bbbc948a18bdab7ed3bc003ede3b64600bbddbb99fbda2b95dbdb957b1bcb7b6fdbca27ca2bd5c7489bd6ad555bd7d92d2bcb0c392bda9a991bda69487bd42a278bcb5e170bd792071bdfd1877bd0ec3afbbf55935bd1adb40bd990b5cbd16c0aab9612cc9bc9ad4d4bc4dc20bbdb425d63a045b13bc2f6f5ebceadd27bcb354443b188cb83b35edbb3b055f853ba0074cbc6ae820bdb7ed8d3e33bd7d3f52110bbdd34083bd63087f3e9e13793f561946bd196a70bd08085c3ee3684d3fffc763bd8207a0bd285d223e14952d3f07524cbd7a5b90bd12f9e03d3ee0ff3e42e51ebdf25a95bd8dd05d3dbfa7b53e53cec8bc4b9068bd2ab4873cf734513e47f6fc3a2ef605bd673687bc21ea8a3d445d7e3ca8e9febb88b6e5bcf22bfcbcc45ba8bdcd3b4cbc0000000000000000f57557bd2e97a63c000000000000000073089f3c31506a3d00000000000000001705283d4dd69d3d000000000000000045d63f3d5545a93d0000000000000000f92c0f3d5219a33d00000000000000009c5c5a3ce4c6603d0000000000000000e59620bcb0781d3d00000000000000008120e3bc433de03b0000000000000000cb4e3fbb14c692ba2f79953a7b4ac33b3a63d8bb867892bbaa524cb9fd5e043c8ce0d0bbfc58e2bb5189c7ba035d123cb4e9dabb8423debb9ae8feba7aa9de3b55e49ebbfd33a2bbb40505bb9613ce3b694f65bb95fbb5bb14b014bb231e793b1e85f8bab5075fbb6eb7e5ba5fc4123b0a4c13baa9ac8cba426218b8d5cca53a1281703a6d98e9391ca0adb97a59fc39ec4b943b4ae7863be9260f3c712ada3ba7e2313c55ea6b3c9171b13caf7fc23c8d6b6d3c696fc43cba56c93cc1aedb3c7c1c853cedc6c43c1edec83cea22e23c6eac533c869fa93c1312963c7b5dae3c19db1b3c1bff903c1879733c40c1b53c8dbbb43b2a91303c0081e53b153b6c3cd4b82b3be454873b359187bac30e593b79590ebbe9e20abb87af7bbb6f8c04bb2950cdbc03376abd9f90f8bccf61e43ab00fbabc553fbbbd33c052bdc3feabbc2163a7bc37ffbebd2e848fbdbeab69bd732e5ebc675da6bd84d08fbda9c889bd799df9bb949577bdd4b376bd0b7385bd373236bac09535bd26f13fbd95c162bdf432523b45fecfbc4bf6ddbcb7370fbd98368b3b1f651bbc398f29bc74ac7abcb7575e3b8a3fe03bed1fb23bcd09093cfb5654bc9539b4bcd496e93dc4c9953f871c0cbd93394ebd7558a33d8fc88d3f79c54dbdc3986abd6481953d14d06f3f69dc5abdfb318dbde968433d32f73f3f80244bbd92ec84bd60a0c03c9cd40e3f30ec16bde39081bdfcade8bbefbbc53ec0c688bc54df3cbd5364d5bcabf55c3e7421cb3bd2f889bcd925f9bc0ba38b3d5066713cdff294b9f5d30cbd477e53bd1ba88ebd43f32bbc0000000000000000c56d43bdb77b9a3c0000000000000000368eac3c2e1c7c3d0000000000000000527e493dff94ab3d0000000000000000e767653d4000b63d0000000000000000b3802d3d913bab3d00000000000000009c18873c2f07823d0000000000000000c43c00bc971f2e3d0000000000000000baa100bd11dd543b0000000000000000000000000000000000000000000000006e76ccbbd19686bbc802143aeb021b3c661fd3bbdf87a3bb2d5f5bbab92cf73bdfa8aebbb077b7bbd4ec66ba306ef43bcd1e7bbb8d8bb2bbe7df9cba0a5ab93bd68793bb32941cbb9f7a20bbc4a1673bc922dfba59a67ebb0d83aabac137363b4caa47ba5df110ba9055adba269090390000000000000000000000000000000000000000000000000000000000000000163f463c7cd3893c62a3953c2ac8a33c87197a3cdfefab3c288aa43c3e84cf3c2bf66e3c5c65be3cb19f9d3c8a97b83ca50e573cc3f2a03c09f6893c2af0af3cfff7193c6aeb7f3cad8c553c1282983c194ac73b87cd143ce6ecfd3b03ec653c3ee0f83a64d4333b64c4393a7bf2d53b00000000000000000000000000000000000000000000000000000000000000003244d0bc40d3c3bddbdc70bd7b4810bd03588dbc6de8b0bdebbb86bd7b0362bdf33266bc0a629cbd98af8cbd7fd788bd2a3703bc7f0276bd3d2875bd72057cbdd26054b98bb829bd415235bda56b54bd27a3123bb657cfbc5fd3debc05d304bd66c9c43b0a5200bcefb302bc9b281abc000000000000000000000000000000000000000000000000000000000000803f67a5f7bc9f6ac9bce0b5d0bc7baa953f35812abd8e552ebdb19cedbc95d4773f31aa3dbd695746bdf65ff2bc48de473f12f53bbd333855bda1331abd8598163fe10b0bbd5c004fbde52651bd6482ce3ee5979abca67f18bde29652bd874b703e688ae3b87bdf94bc750454bde0d98c3d0000000000000000000000000000000000000000000000000000000000000000951f303c959e043d0000000000000000f51d403da9b3803d000000000000000062b98c3d30cdab3d0000000000000000983f863d8e25ad3d0000000000000000908f4e3dd50a9c3d0000000000000000698cbd3cdedd693d00000000000000001ae82cbc24badb3c00000000000000000000000000000000000000000000000000000000000000000000000000000000e7df01bc51a9c83bc253343d9356153c941eb7bb88d8e63bac08243dfe6b5c3c658991ba57ee193c2c79083d0c32563c4b5bc7b8e7021a3c3cbdd33cf0d64d3cf5d7f9b99dfee63b734e883c9940b83bef48043bd792703bf859083c5f37063b569c953aa4a1073b4eff8039b1df23ba00000000000000000000000000000000000000000000000000000000000000005b3e54bb7bac11bb0e92a03b3cf5923cbdfed23a241100bacc34493bafc1a53b6e76133cc653df3a6a218d3af634fabb5c53f43b070f833bea2066baf20b45bc176c1d3c6886883b742cadbabecb3bbc4d35f73b3106a73bbf1129bbf6472abc238d373b6569e13a70359bbb991757bb000000000000000000000000000000000000000000000000000000000000000061c560be068988bb6917f53ba55035bb94f94bbeec5df2bc80978aba8b8d2ebb33f438be375139bd28d51fbca28997bb9b2613bec2d135bdf8fa58bcee54d3bb8eb3bfbd855f0fbd459763bc6980f7bb7a2b45bd804dccbc030d4cbc0271d9bb19d5b7bb8921f5bb29aae5bbe3b771bb0000000000000000000000000000000000000000000000000000803f00000000c956bf3cce311cbedf49ae3fd0a1fdbdb046923cc79ed3bd8c1b8e3f23f04dbd513a473c10aea0bda3376b3f2a9142bc0b1a423c5ffa5bbdf2dc2c3f7203443caf67053c0aa6c6bcc827d83e3b29f73c1739863b93befc3af73c4d3e49c7223d8770533bb6cf853c2d05d2bb3a5ccb3c00000000000000000000000000000000000000000000000000000000000000003c2cd53cd384f9bb00000000000000005f33b93ce558fabb000000000000000099f7a43c210613bc000000000000000037d8c03c73b4ecbb000000000000000075fc9a3c960fa9bb00000000000000006f145e3c7e4a68bb00000000000000000c79343c5d8c11bb000000000000000000000000000000000000000000000000b45b14bcc3c72b3b8656b23c13ffaa3a00fa21bc7913003bdcf81b3d81538c3bdadbdfbb3dcd0b3c44782c3d86526b3cea4a7fbb3539293c4faa1b3dd9fc513c501033b9298a333cfa9dd03cd6e9283c0043363a9b6ab33b3ddea53cab340b3c97d5eb3a43789a3b7f662e3c736c483b2675353a673abb3b8566813a37df36ba0a6dc3bafadc423af2d5bdbbcd407ebb8060b5bbcfa708bbb825e43ba767b03c610a44bb3c6b04ba11ccaf3bf303cc3cf9528a3bab77c639d9a1f63b09bbe93bc14d0e3cc745043becf29d3bef0c1fbb4e24303c96d7cc3bc7f0b83a01dd05bc10682b3c77f1ef3b94d5c13a27184ebc9764133c3aad833be34fcbba4cc72ebc0dd4e13ba4a57b3bbfc565bb8d122bbc2b81333a594329ba9e7789bba8ed923bd75f03be70fa3c3c3ed93a3b98ca0a3b515a34be91a50abc309019bb8b71013a7a474fbe37d72dbd00bd0abc41f9e3b872913bbe918759bd7bfd74bc8ae636bb07fc10bec57960bde87da5bc353ca5bba3b9c1bd4a2941bdc1ababbc1241afbb1c953ebdf11210bdc8168bbc15b53fbb743512bc0da797bcc9a71abc4954abbb0b4aba3c044a7f3b1b764dbae37cebbaf619483d560277be6e7cae3f3d8e79bc99973f3dee5551be8b98993f98301c3d970a113d477538bebe8f8c3f4fd26c3da679e93c5c780dbe0ecb613ff6ffa63d36cabf3c00cfc2bd32c0243fec36c13d9f54613c9e4e41bdb08ecb3e9c57c23dc85a283c7c0c4bbce731333e09faa93d96b03e3b59437e3c732f9f3c38525b3d3930683b76808c3c60cefbbd8200e83b6684babb383aaa3a0000000000000000cb3ad9bb2c938f3a0000000000000000f654b5bbb852a1ba0000000000000000c25422bab99bc6ba00000000000000005aeb593b8d2042bb0000000000000000c00d8f3af9d793ba00000000000000005ed3ccb935e096390000000000000000e3cc74bba25d8c3a00000000000000003a3afabab1c3253b0000000000000000295068bbd2353a3a86684c3c503027b9292606bc8db0a73b677ce03ce8d7403c59beecbb2819083c18c4073d799d8c3c396639bbbbd2093ccc7f023dd1da653caf0000ba19680a3c2a97b83ca5014a3caeaac0bacf45003c32de863cddc6fe3bdeb82eba773aa93b68880b3cd33b1e3b5dcd93ba91907b3baac29239967bc9b8857684ba3b4dc137635461bb34f188bb0c8fd6bb3680a6b7eb72af3b017d4b3c1ee2083a00b0af3994671e3c6de6613cfb8ecc3bdddfd23a3308263c813caf3b7f393a3cfa4fe63b3dbef13b94fd8bbb69a0473cec02d33b265cad3b31c820bc6935583cac87ed3b6975543b7c8241bc0671143c3b07fa3bc987eb3a03c32bbcd837a93ba34b873b938244bb85fca0bba1e7143b95a04d3993b749bb5558093b2597a0bd44bc4e3b9e2eb2bb33c9c43bb0dc1bbefe621cbd9d6e17bc2d274d3babba2ebe2b9b8abdb96e72bcdd32053b43741fbecb5f97bda408d2bca25fe9ba55d6f6bd334892bd1f42e1bcfdc117bb01509ebdbb7f7bbddfefdabc6e12babb3afa26bd3be01cbdd700a9bce1d9b2bb1627d4bbcaaa95bc55892fbccc2e81bbfee9623cf30a9f3a5d7149ba3daea3baef544d3da59b69bed2ad8f3f5ddf573e8c75583d8c1a74bee4bf8d3fd4775f3e505a253d2df64ebe8995793f73e2683eba250e3dcfbe1fbe9335483ff736633e8043c63c4b1bd7bda6fd0f3f9c124f3ece38a63c38147fbd9f8caf3e03642f3e1884533c7dbeb2bc2ea91c3ebabef33d8ed9093c896e9bba17a3323c1490733dd37ed03b2b740a3c409597bdb0fba4ba98b66bbd8c8e773c0000000000000000e7c362bd14be4b3c0000000000000000da1e3abd9dd0053c000000000000000081aa06bd910d7b3b000000000000000048e9c5bc8246843b0000000000000000efbc87bc2946883b0000000000000000e0ce2fbc9c5c723b0000000000000000dc2921bc0b345e3b0000000000000000e377fcbb773a443b00000000000000005a4097bb01a72ab827bd1b3cf9ff4c3b0cbddfbbfcd8ef3ac71fb93c2d0c553c0d66fbbb46d10c3cd84ec43cd809a53c7ff793bb9fa5063cb2dacb3c7262833c2bcab0ba8ee4133c4f43a33c4d21483c4514a0bac1c7eb3bbc7c593c5dcbb83b33fe11bb14fbbf3b4fe2ec3bb0c2a03af0a19dbae8ea943bbbcd1c3a622cbfbafa6afcb955b08d39c14f47bb889887bb31b1aabb89f2483abd721c3c478a633b7829e33aaa50293a6b7e233c1c48143c34a4303c8d503e3ba7573b3c7737a73a4ab9603c7fa6be3bc615043cb60000bc895f893c3cfb043c040f9b3b9b764abc27a7593cf0dd213c85ab853bb2366abcc7aa453c635df23b67352c3b1c6e2fbc8d3aab3b2fe0b83bd1dd6cba669707bc3607cb39b9f38e39838421bbae87a83a490580bd09e894bca0bfeebb023e1d3c45eaf1bd834687bd32d364bcf0b1043c0de007be1569cebde4f1adbc4316783b92eef9bdb62ed2bdd0c0f4bcd51e573a2fe9c6bdcfa4c4bd1ccf0bbd355c02bb00907dbd7ae294bd4378febc92637abb93a305bdefd93cbda1c9c9bce9e0adbbfd5adbbbb0c4a4bc70ac3fbc58b1bcbba748563c386fac3af515e9b983a1b6bad5dd3c3d0e7659bed3ce723f0368e03ec212523d16c05fbe4f00673f8975e83eb84f273d5b103dbe81064a3fdf03e23e6cc20d3dc3c60fbe24b9203f5509ca3e6b67d93ce671c8bd1109e73e5569ab3e6651a23c2bdb67bd58778d3efb21803e52765c3c2e0bc0bcab24ff3dd1b81d3ed1cb1b3c11b35cbb57658f3cefc5773d9b43cb3b3b6a9239cf526dbd2eae7abcf787eebd53ebd23c00000000000000007d56ebbd5c38e43c000000000000000013adcabd1023ab3c000000000000000029dc98bd5b88803c0000000000000000d53b59bd95d6593c0000000000000000bab019bd5789273c0000000000000000eb9da3bcd6ef083c0000000000000000df6448bc1f5b003c0000000000000000efad3cbc5d6feb3b00000000000000008adb75bbd4f93abb1e22a93b2d37f23bfcec82bb9325b9b9fafe823c99dd973c7643c5bb2081853b819bb03ca557af3ce156e9ba0066d63b096da33c9ece9f3c778b873aab5bb43ba4d6593cc3f21e3cb4f49ab9450de33bf1ca4a3cf96f0c3c91ad103b86f89b3b04f39d3bad58083bcc151f380eba683b66c398b914931bbb248fea399993c53a2a060ebb73e386bbce9316bb08ed01bb14ce0f3cbfce533bd425a93b0a52f6b855f3223c76ae833b33cd593c9178b43a8996173ca9c014bbde34893ca657aa3ba89ce13b588efabb0ce9683ccebb1c3c18b9b93bb0d05abc18e2823c8592fb3bde89633b05ca65bce284f73b53a7023c8f981e3b0a2267bca28fa43bb9748c3b82aa9dbad207e8bb08bdcbbac882323a3e183fbb5c999cba429720bdf96c1abd91e145bc2158603cdc29a8bda078cfbd9d806bbc4d85133c36e2c4bd934104beca22cdbc233df43b94fdbebdd43207be8fcd09bd79fe4a3b7aad8ebdb4c7cbbd54c71dbd58d25cbbdf6153bd51a1acbd68160bbd4d61c1bbacecdabc89fc3ebdcebeb9bc9afd9ebb6d8edfbbd98785bc008249bc6756a1bb6491093c5fe4e03bdb2d283ace77bcba46a7133d23672dbe8d72343fadd0313f370a1d3d70a42fbeceb82a3fefa6333f205eef3ce68e11bee0f2123f169d283fa4b3eb3c8239e4bd72b3ea3e4a10133fd0ef983cba1c93bdc991a73e69a5e03e3a61843cce783ebd16fa563e7b1ba23e203f323c2e94a8bc0d10d23d5b2a333ef9f3e83bee62edbb3604bf3cf1bf553dedbcd43b0d2eccb9c2c125bd17cd0cbda74e34be68a9213d00000000000000004aab2cbeab291f3d00000000000000004a9b0ebe6a2cea3c00000000000000001e45e5bdc93dcb3c0000000000000000c3e080bd5709863c0000000000000000accf48bdefd6903c0000000000000000c09dcabc35c4563c0000000000000000078744bcffdf293c000000000000000015e845bc70fd143c0000000000000000704bf2bab39d83bbf741be3a655f0d3c229cabbbbc6858bbf1891b3c5f19c13c06cf87bb07fb613a65c58c3c99f3cc3cc70bd0ba36e6623b2d858a3c71c9b23c6a15dcb86ad8e23b497b453cb6d3903cf64e7cba1ebcaf3bcee91b3c94c6363ce8a3c938b30cc23b7b42d53b9d283a3bd42b943a2070903bc8e2b53ab6e6fcbaad4edb3893e49eb8dbe84cbb1c40b0bb8b2310bbe9b5c3ba31cb883b69fae73a1c3a1f3c5cac97bb84841a3c330e1fb63c518f3c7845183b7876163cf9a79cbb75818b3c49a2c03bfe18bf3be73545bcbcf6973c254d053c5ceeb93bcf3156bc190e6b3c4868273c15fd5a3b12a06bbc18371f3cb62ff93b4443f23a26ff61bc6014753b0cfe933b4fdccbbad48314bc8565313abb70bb3a9e2136bbf92b40baed5f8dbcc3056bbd517311bc3807803c83502bbd9a5609be96b348bc16ba473c88ec73bd730b26becc37f3bcb8c1003ca92676bdf57d1cbe8a0f11bd017e5d3beea15abd97b507be29ac25bd1d692bbb78e827bd35fbbebd038c09bdb891a6bbef30d7bcb11c53bd34dbc9bc9cadd1bb962a27bc4eb67fbcf6d82cbc9c03e1bbc1d2bf3b3ca2013c65b1113b9f8a25bb80bbe43ced37ecbd0ba7e53e582e703f0978e03cad24e8bd93a0d43efb266f3fdba9c73cd3cac4bd7671b53eb6945d3f4c2ea73c682e8fbd90e3903ebee2393fc0ce633c82144cbd310a573e211c103fe5566c3c92690cbd837f173e4851bf3eac1c0c3c779f79bc59c1b03d8b2b443ef742b53b5eb40abc5fc7ff3c6470413d2c028e3be66feaba234187bc207a5dbd71ba5cbe0854383d000000000000000060f759be836f463d0000000000000000a2f430beabcc0f3d00000000000000006f5a04be8566ec3c0000000000000000d9e9b3bd19c1c13c000000000000000075494ebd9067873c0000000000000000dd50babca838523c00000000000000002242e8bbc33a243c00000000000000001e742ebcb64b0a3c00000000000000009cace3ba4911b3bb6c1614bb6d9b603c5e4d2fbb9b3463bbd097ca3bf06ae53cee6198bb74e917bb10bb453ccee9fc3c015d80bbbeb4323b83b7583c8910d23cc0b28039934a863b16473f3c4fcb983c9cf2ee35478ba33bbfed2c3c652c323ca342aa3accaca73b9a44ce3b6e40603bcfbba73ad0b1ab3b1fc7143baf62caba41b71e3ad58e41398d514ab917d1bbbb7d5699b99cd9cbbb76b5843b89d335bbce2e373cbe06aebb26a4c63b7e6222bb8fcfa33c95c830bb424fcc3b4dfd1abbd03aaf3cbf721c3be6a6103c512535bc569a923c7a91d83bc7e69f3bdcdd6dbc8c6c883c9786f43b9bdc8f3b794582bc2243133c1805b73b1c44e839fd9350bce6906f3bbc7e403b98d4bdba70dd2abce9fb80baad8fca38eba1faba0e64bdba1767b53b33219cbde8c6333bb973583c0e3671bc644227bee39e34bcd9004d3c2521f1bc87fe43be7c1ec0bc3e8a0e3c029710bd232238be8d9a17bd6fe60d3b20fd10bdd7df11be03ee1cbd1b6d47bbe1a9f7bcd69ad4bd6b550cbd909402bc2a77babcf6295bbd2625aabcdedf13bc71b74dbc57e37bbca52f20bc1da3d2bb3ef443399f6e3a3ca53baf3b313eaabb4bf8833c218f6ebd2770623e5c2b8f3fbb668f3c8bd164bd2cda3f3e0ddd903f5a23533c27813cbd6fad1c3e3bea833f6d313a3c437f0abdcb72033e607b5b3ff029213c3521bcbc98f0d43d7de8233f4496fd3b00f891bc740eb23d0f9bd63e76a2c63b68800cbc5b03783de863503e4c02833b8f389abb1796193dbe30133da83e16b94f2055bb5d0e9c3be4d58ebdce696dbe91774d3d000000000000000098fd67be02fa4d3d000000000000000088e23abe06131c3d000000000000000074ea07beb9d2fb3c0000000000000000afe6a9bd7d9aca3c0000000000000000ee7c3abde2449e3c000000000000000058ed61bcabf7703c0000000000000000bcb8a33a6c720a3c0000000000000000fc9b59b9d5c3043c0000000000000000e17199ba9d7fbdbb689210bb0ea6b03cd5610dbb7e9da5bb872d903a3b430c3d79f2bbbb54a810bbfebc343c75c0153dfdf04ebbd604b03a72c75d3c3ee4023d3e1489ba31f8cc3b60ad2a3ca328b93c6f8b6dba8162be3ba3331c3cfd77863cd777a93a6fe9be3b6f50d13ba655b43b8e9ce73afc6b903be072b13b9a673cbbdf47bd3aec822d3b1148bbbae5c6c3bbd451623b2a443ebcc8a8a13a7a02983a47bf323c1bb741bcdb4d803bd56d96bb4f77a33c935a4cbb4e07f93bfc848ebba6fcb73c1233f4b706619e3b25e91abc45d5943c5de8983bd4c39c3bc45d5fbc78706c3cc2ded43bdbad973bcdc366bce751163c7272b13b01791e3be8c365bc289bbb3b00e03c3b9e741d38a12b0cbc89343dbbf83f18ba2b0e50bb24e48ebb39a0963c24e800becf026c3c593f4a3c3ff8563cc1383bbe177c0b3c1197ec3be432dbbbc0b95bbe084aa7bc6ec7453b169a93bc5d7e4abe588403bdc2c7803a1720b3bc877220beb9110fbdd62e15bcc308c8bc2a1bdcbdff8705bdc51721bcb4d3abbc78355cbdb8e1bdbc27cb11bc87638cbc6a894cbcc2a248bc296808bc79645bb901fea33c47cde83bc4e1b6bb293b1b3bdb2eebbb3fd808bc8d99ae3f6ed4a93b43f324bc8921823c63479b3f6e968d3b72d338bc45a2dc39b297903f1918803b677dc2bbf019ec3bab236e3ff4b4ed3a4704e1baa64f823c2fc4303faf5da53a6d7ce5ba4797ec3c30a6e23e9687843a0c7d80b96b61183d7585543ea053a9b975591abbc167183d1958123d2e6f44ba84436f3bd1b6773c0e54f1bd67747cbe05c14e3d0000000000000000544f41be89202e3d0000000000000000fba917be672cf53c00000000000000005526d5bd1772bd3c000000000000000057ff63bda23c9b3c000000000000000083cda5bca4d76f3c0000000000000000967da33b3723f03b00000000000000008a2faf3c838b473a0000000000000000573c2b3c3aa4c13b00000000000000000000000000000000000000000000000097d493bbad01dbbb39ffd93be12d2d3d90b42abb593ea4b9e450183cbb68153d2eec19ba8942033b993a5f3cdf0cda3c50d6693a003fa43b28ee283cf20bad3c9f7dc33a01caa83bb75d1d3c2e9e543cabf5493b36eebd3b88f1b63be7415e3bbe1b0a3bc41d523bee36833bc05b14bb0000000000000000000000000000000000000000000000000000000000000000f8ca613c8c1042bccaa3603bd7f59d3bab9f9a3c4f4f91bbd15f423be3ab70bbbfad8c3c7583323b5e74f13aeccfd8bb5c23863cc1c79a3bf72ee23a20f81fbcadf3253c0e82ce3b907e0d3b63b325bc3e3a0f3c28d7843b185fe23953b534bcff56d7390767123bd13c89ba47f0e4bb0000000000000000000000000000000000000000000000000000000000000000db27953cc56367be5af6853b6c6ac93bcab3213b146853be9dd3a1bce84813ba71791cbcb6bd3fbe817113bd67c0f2bbfb4d64bcd7f018be41cd1cbdf66627bc2c8d8ebc19dac8bd432a07bdd4a540bc8ba37bbc042f4cbd075db9bc14b03bbcd3113abc7b2754bb9bf9c8bb3e9a06bc000000000000000000000000000000000000000000000000000000000000803fe7e45fbb72faa03c4ecc19be55cdaf3fd13bd1ba9cd3373c0478bebdb6a28f3fa23cb5baa6a2413c68f692bd62206f3fb3b0beba9fb3323cc0bc3cbd2861303f2ee4a2ba11051e3cc6d09dbc8ddddf3e045b4abba2870a3c1b5e093c305f593e3ba76dbb9497083cc74da93ca62593bb0000000000000000000000000000000000000000000000000000000000000000461a09beaff4b23c0000000000000000cfd17fbd2861403c0000000000000000d9c2fbbc90a8443c000000000000000092846eba208a2b3c000000000000000075d7993cbd3af13b00000000000000001a7df23c3980303b00000000000000008605d83ca032783b00000000000000000000000000000000000000000000000000000000000000000000000000000000ffc10ebc974405bb7d42293d3ab5953c467c96bb77b6f4b835c7113d10f1983c338b62ba87a2353be4f1f73c17778a3cdb0d5ebae7e1813bf6bebf3c34e0293c5c35b63aa926fa3a4c2b803c3845da3bb955203b7d172d3b0ba7f13b53f97d3beef68d3a74989a3acd255f3a240fa6ba000000000000000000000000000000000000000000000000000000000000000035d594bb85fa123b5aa8fd3b3394d53c9a81b43bd5ddd73bb1af443b7905a83cea9f4d3c0c95403c512b9e38942f3a3c2abd513c8b9f5b3c9e6a37bbb8bd043c12ce2e3c62874d3cbde963bbd2cfa73bf552d83b762c1d3c81bcdcbb7e5fefb90598363b8399a73b9b43b3bbc7e249ba0000000000000000000000000000000000000000000000000000000000000000d45343be813d28bdac5a93bb671c983bc8c421be51b789bd50c4c1bc5f6384b9c7630cbee056a5bd9db822bdf60ea3bbf0a2d2bdf50d92bd21c128bde14250bca70585bdee9c63bd3dce11bd588f58bcf87809bddcd107bda0c7cebc9e953fbc8eac59bb626402bcbe2b4cbc621bdfbb0000000000000000000000000000000000000000000000000000803f00000000f497693caad733beff1ab03fd8c6dfbd5ccf2d3b161d13beff7a8c3f0f2556bc4fb17dbbb8ba03bea178613f46d0303dabdfc5bb86fad1bd4ae5203f8e70883d35e96bbbdd5790bde041c43ec0798f3ddec368ba6d4fcfbc365c303e5160693dbe1fb33ab0ceda3ba70e70bca580e13c0000000000000000000000000000000000000000000000000000000000000000b3e5f23c589817bc0000000000000000a09c433df7211abc0000000000000000509a843d347600bc00000000000000003d569d3d7a2f03bb0000000000000000d88a943d395cf0ba00000000000000001720653d5c8a8d3a000000000000000005b5e23cde247d3b000000000000000000000000000000000000000000000000482cb4bb198994bb2b4bb53c4654cd3b4240c6bb4c71c9bbad8c163de5fd553c29b6a8bba00cf9ba90561b3deb54a73c89c1dcbaad28e239895e0a3d35d3843c013731391da9153b6a2dc23c20893a3c3d6b043b10331b3ba7308b3c003ad63b4bf91f3a8ca6113b4e00123ca0bb123b4fd57c3ad9a1833bfef96e3a1643c9b9c9981e3a02c5523a2e08b3bbfbe62bbb2daa15bc88485cba9196383b84d7b43cee2398bb91dd273b35970dbbc3cc253dc196c13bed4ba73b1a78fb3982bbe33c6754423caf550e3c6c0f37bb7435ae3c007a863c7bd75d3c2b8dc0bbb0cc5c3c1ba15d3c4fea383c859e00bc5826ef3bb4560a3c85d0193cddfed3bb447ea53aea52af3b4bd7d43b522197bba8938cbbb66e17ba0e63383b67e58cbb81f26cba2cc2eebd384930bb08cd023c72abae3bb8df21be47ea17bd33fa8cbbc652583bfed923bed0fba4bdcb75c9bc1c19683b09d108be88e1bcbdaf1212bd315212bbed18c6bdb5aea9bd845e32bd759252bc2b0081bdca9582bdd35d1cbd57b22ebc6d67e0bc9a7d26bda9fcdcbcd7ba37bc6a054fbb284f98bc2cca89bcdbb90bbc247b733cd170133c3410d2baa46b4ebb9563283d3c2c70beae81af3f07ba7abcd5e51d3dabe372be7f949c3f4ea6213d9847ae3c48555bbe901c893f0011cc3dc1ec653c934e38beb67a553f84fd093ecbbbe53b81f60abe659d143fbb88173e8dec613bb30aa5bddd18b03eac30083e78a6423a9cc9efbcc5d60f3e7162c33d0e1fefbb3d01893cf84f15bb50b5663db7ffefba181ae63c352fe6bdaf5232ba54478dbca7add3ba00000000000000005f62cf3b111b28bb000000000000000041c1b33c1173c6bb0000000000000000566c323d36d9a3bb0000000000000000daed7b3da50824ba0000000000000000416b6b3dd59ad0b70000000000000000609b353d4d5a813b0000000000000000b8b5ce3cf84e883b000000000000000059e0cf39d5cfec3b0000000000000000124d2abb4e27afbbc6c66c3c14c0903b4b4cbcbb86f17bbb2c2afb3ce608603ca43880bb31f983ba4915023dba7a943c2e45e6bab85b3e3a6093dd3c424c803c8101b5b9ae635d3b2c4ea73cfca2173c2dcb9c3a91c8153b67997d3c9be3953bbf1b503a4b0e703b8118da3b784d793a0a730f3a016c483b8a76053bd16e03bbc260a73900013a3a160043bb4a9180bb13c6a4bbf16fbcbaa9e2bdbab476a13c42eb443b40f7b139054f0e3bbdf7dc3ccc6c3a3c2573b03be8ad1c3a5dd1c93ceab2843c2a84303ccc4a94bbc31d9c3cd90c8c3c737a523c73e3afbbb2c4333ca1de813c4e02513c826fcfbbb668a43b3d9a1b3c488e183c9567cebbbf5a88b9fa7ab13b2be7bc3be33383bb0b815fbba7eaa13a3292963aefa726bb5d7389b9a10494bd135947bcfc1aa83b9400ac3b79c902be88678abda3beeebb4ec7c23ba18703beffb8d0bd7d46dbbc291f193acefed8bdfc0bdebd07c928bd761fb2bb3e599cbd86ebbebd371f36bda2ca64bcf8be45bdaf7796bd2aa120bd978b7ebc3aadb4bc08712fbd11c8d1bc8e6d5dbc6c39c4ba96238cbcaa175dbc82d224bc8e191f3c3467af3bb91fe3baf7342cbb7a332a3d708f69bea2c6903fac2f563ef1ec243d817583beac168c3f3a76773e87c2b83c3c6969beb67e6d3fee738d3e3b2c8a3c12bc3fbe0cc7353f38c3903e0961bb3b56130cbe5136f93e73ba823eb182563b81e8aebd60e3923ea33d4f3ebd69d13a2ef806bd79cbe53dacda043ede2d9cbb287ea73b2563e0bb447e673dbc9c21bb1337ad3cec5f93bde149d1bb73bf84bd9402383c000000000000000057ce32bd4090db3b00000000000000004ddc32bc45a16b3b00000000000000003237973c02c6453b00000000000000000c5b2a3d12702b3c0000000000000000eef63e3d95e6033c00000000000000005355123d8d7d343c0000000000000000adc3b63c63172a3c000000000000000043a641388f450a3c0000000000000000ff91fabac6c894bbc5c5493cae31583b90a573bb236a51bb924cbf3c8cad7e3c24f282bb21d94cba39ebd13c22779d3c37b175ba8b8b243b41bba63cfe13703c0bce573adf89733be035893cea851e3c47caca3a5783833b74752f3c0d3a963b64c4273b750a583b96ffca3b1d268cb96d6ffab963f13d3b7c42003b122b41bb669fbd391e2e573ac5003fbbbd2a34bbb0c835b9136a6ebb2a556cb89012613cc2d5c33b0e9f42baae95f1b961b1cb3c416b8a3ca2468f3b8b21c8b96b25bb3c39d9a33ceb67313c3ece72bb016d823cc44ea43c0865613cf0b9f3bb8146193c8041783c6afe593c2519b8bb00616e3b0a1b2f3c3aed1f3c2162efbb76985abaf768cd3b0affd43beee349bb8e7a30bb091dc13939dcd23ae497c9baf54dd8ba13a06bbddfc9f1bc76502b3b82f7213c09cac4bd9d87c1bdce54e0bba1aae63baa21cabd827900bec29ffabcd073183b8712a3bdb57ffebd903832bd2e2ccdbb161b73bd87ffdabd10f540bd5cd683bcb21311bd3d03a3bdc8aa1cbddd8394bca41581bc02b73fbde5e7d0bce51a83bccf2320bb6bd77cbc589d7fbcad5141bc115e043cdc78bf3b6773323b6be279bbf0f1103d720958be3f5f703f5ce0e43eb4d4103de7b271be44a4613fdc78f43efdbcba3ccf2b55be54283b3f3656f93ef26e563cd6c42dbedd6f0c3f39eee33e5d62193cbbdf00bea12ebe3e427cbf3e2cff063bfaaf9bbd6ab2573e02178c3e9553de3adec3f6bc4f57a73d4cba213ebf1070bb5a24193b94ef84bb8be8623d7a421fbbdf5d863ceb9f6dbd4f86bdbc9f97f6bdff5ba83c00000000000000004597c7bdfc289f3c0000000000000000f67361bdcfd5653c000000000000000093a730bc591b3a3c000000000000000043d09a3ccbbc633c0000000000000000face073d8fec733c0000000000000000accd073de30a6f3c00000000000000004469ba3cff3f583c000000000000000083106abbb5b3423c0000000000000000477ca0ba57a240bb8ca2093cc356a03b40d722bbd8d2a4babdad833c9003823cd25e37ba4c59bb39ed7e9a3c19e7953c2ce7103af50ef33afbfc8d3c8e157a3c5ea0a03a1445a73b0a9a2a3c03fdc03b1276433b19f54f3b1360233c5cf0af3b946ba23a04af3d3b7cc99d3b26d9a53aefa29f3a2d31543babc4963a0f5232bbeaa962baf2c0673a351a99ba6e9e8cbb9825f93a62979abbfa304abb9aa7463c4ca24b3c57c42cbb360e35bb00bb9c3ca8a3a83c0a0bac3b75cb8bbbc06d8a3c091bc03c83d9353c7efedcbb59c35a3c7416b83c6182723c5fa1d2bba456cc3b74768d3c0a84553cba55fbbb964f343b4c12333c246d163cbcaeacbbd9b1e6ba341eba3b54f4bf3bd3b37ebbc89e6fbb45bb863a9787123a10d2f63948373fbbacf51dbd02c545bdaac3793bb2ae543ccce77dbdbd15f3bd89c311bccb6efd3b3c198abdbbad12be11ec14bd4cbb443a3a2165bd723711be156940bde18228bce04d28bd23cfd3bd4a1a51bd497fbfbcffe1ddbcac49afbdd12d22bdf111afbcf1fc44bc8ff93fbd4d5ccdbca371a0bc36ccdfbad32782bc3b7a48bc1f6f69bc00b5b43b0d80f93beb6a8a3ba14034bb1ffae93cdbb22ebe9fc3333f57ff303ffb58da3cafa642be6707233f8123383fc662673c407629bec576043fa243313f23c02c3c37230ebef2c0c13e7e6f1c3f5916723ad7d0cebddcc0813e92ccec3e30de153bf7d582bdd7620f3eff0eac3e4e120ababef2cfbca46f623d2f81333eb81413bb69e768ba1cac07bacd9d473dbec53fbb5a435d3c65b025bd264c1dbd3d9931be93c5f23c00000000000000002ccd11be8965e63c00000000000000004fb5afbda7a0ad3c0000000000000000d96a18bd7e7bae3c000000000000000055ff913c50ffd23c00000000000000004f4ad63c412ea63c0000000000000000fab1013d2f83b03c0000000000000000c7eed63cd5417f3c0000000000000000fcd275bbcc74363c0000000000000000f03bc03875e036bb2f2b8a3b2910bd3b5e097fbae17ca4ba42ad2b3c7b4b953ca1d404bb129b9f3ac5154a3c06fea33c87d6c4397f0a853b52374a3c02785f3c3e87e23aed919a3b5cb52b3ce0e5183cbadacf3a875b8e3b90a8c03b8823ba3b908fd73a21c55d3b5ee8ab3bb4083e3a779b2739ea1f203bc2c2103b135220bb7445a83a6ed0fab968d205bb22593ebbcc92983b07d4dbbb41d736bb2a09073c0e52873c2a939ebb30a68fbb667b5d3c9c12d03cf5c2683bbf82b3bb7f326f3cee80dd3c71c82b3ca14dc7bb313a093c07e3c43c15f26d3c2808dcbba8774f3b768e9e3c1064633c5a1fbbbb3fa247ba19813d3c919b103c806ca7bb51614ebbe97cd13ba2189a3b10049bba1bf58abb32443d3a8d31433aa5d6a3b9682627bb755f8cbcfacf86bd9658a13bd3fa683ce529f8bc16fc14be2acc14bc78bc1e3c135b16bdc01c2abef8c014bd035946ba55f907bda15a1dbe2eb84dbdb88e46bca80fc7bc133b02be60fb4abdfad2c0bc98756fbceef3b5bde36733bd369fd1bc21e81bbc185b4dbd8b2ed5bc7715a9bc395701bb910281bcc91446bcd5ae68bc911d8f3b6f84f23bf756a53b84ab64bb7e247d3c7e49f4bd5f88e63edbcb6e3f5a37943ca5ef07be3e3fc73e7a09733f0581113caef7f6bdae919b3ef46a623f0b10c33be99ec9bd9d2d5b3e95ce3e3fe5a7b83bb2bba5bd28b30c3ea121133fe08e90b67e2350bdff87a43dab7dc23e5496ba38a4fcc5bc65331f3d0579423e229c53bbe8e985bb4246de3b0930273d4da97dbb7b13273c66f3a2bc54b866bd2e7c56be4949113d0000000000000000f65c3bbe2c3d1d3d00000000000000004684e8bda522eb3c0000000000000000ca3c47bd930fdf3c00000000000000006644fab9b464e93c000000000000000084d1003d167fcb3c00000000000000004cc6133d614ea43c0000000000000000a9bbe33c1b868c3c0000000000000000c83248bbafe92a3c0000000000000000ab09b13a329de4ba2033b7b9b3a9eb3b07d3de394412d9b9f34d883b04eba93c8adc953a0864d9b9c2b60a3c4d66bd3c1275c83aca9a063b47cb093c3607853c78fcc63a4b538a3bc1cdd23ba2af363c0b97543b8ded8b3b50aba23b7709d63b2183013baa65713b3dfb473b19a2083b4da3e03aa3cea13a7c98263b5af489ba887b8c3ae7500aba600167bad49b19bb2e4ccc3b603609bcd50ba6bb43a0db3b12879f3cc7aababb8e43b1bb6f410c3cb595d73ca9f55c3b088ba8bbe3152c3c6e94e63c8caf293c56f1d8bb988ec73b8750b73c4b48653c5b1cdcbb32034d3b2158993c6604603c55fbc1bb2fe919bbebc3383c7b580d3cbaa3afbbeea983bb0f0ead3b3f60b53b03aa02bbe13877bb1e804739dc22403971efba3a099246bb5cb90f3bf9f4a4bd9673513c6e05413cee164bbb9c692abee16e23bc6490043cdcec62bce12f3bbe7da621bd5d06e1baf9fd36bcc9f429be872d53bd74116cbce6ed45bc895901bee72359bdf9bbd3bc837ce5bb802bbfbd772831bda6c7eabc4341c5bb400149bd6ce7debc3fb6afbca40089bbc5717abc00603fbc5fa177bc9f29c6374cda333c2ef5893b1793a3bb3200183ca65387bd881e5d3e794c8f3fc05ae23ba78298bd54a9223e2f2c923fd8fdfb3a6cd29bbdafb4e63de2d6843f78fd9539dbf182bdf1b0823dcf645c3fad4958bb97e854bd106c223d7d31223f1a0f71b9a24c0dbd991da03cc6c9d43e2fd64539b50d8bbcbeb86e3c96e34b3e74f3edbaba2ac2bbcc2d663cff0ef03cbcaca7bbec95ca3b5c8b00baa16d91bdd75d68be7f76303d00000000000000006fcb44bea3e4273d000000000000000081a5eabd2684013d000000000000000091ae4dbdca4dfb3c0000000000000000640d0c3cea8a023d0000000000000000a1c0103ded5be83c0000000000000000408f2b3d4083b83c0000000000000000524f0b3dd58c713c0000000000000000185eaf3bfe962a3c00000000000000007201513a51082dbb4dfc51bb4139893c4ecb9c3a0f79b3b9908c16bbdbfbd73c85f5a0ba9d17fb3a9536093bb33edc3cd10f663a98947d3bd3bd3d3b4b54c13c5e6f523b2fcd943be4f4903b26e74a3ccd64543be4135a3b008b393b7fff1d3c2811333bd160303b6dae733ba8257d3b38d1a63a8a9bd53a2edbf93a20509d3a0275ec3aec61a0bac5c2b8b91e696dbb3eec063c409d29bc1342a3bbe8a0033cdacf943c26d90dbc1f74a2bbe5518b3b0027e13c9a207f3bf88947bbe9b8ba3b9c1de33c5fa43a3c0f35d3bb3d7c3d3b002dc63c2085713c0f15debbae0a0bbb0a0d963c210a643c9d94bcbb895e4fbb0dc22f3c20cc1f3c666ba1bb9a62a5bba016993b5d7fc83ba91e4839bf9290bbd09606bb0800d03aad40913a9cc197bb0c1c7f3c06b9febd1373423ca1556f3c2de2c03c4cb93bbe45a523bb031dc43bc845313c9d5c4cbecb7532bd499599bb26858e3b21d436be197367bd0f04aabcc869e83a2f6a09be4a6669bdda3c03bd050c21bb294ec0bd715a3ebd674c00bd7bc0abbb023e46bd591101bd74efbfbc6d1d00bc724b44bc886577bc4cb38fbc6007cbbae7b7933c197df53b8de49ebb3ace49ba97398ebc701414bc179bae3f217f903a4047b9bc8b6ed8bcdc5f9f3f5fc9b6ba27b611bde92b37bd20df913f121669bab4b0fcbc8c2e52bd7d1d6d3fa6cfceba38d0e6bcc86334bd571a2d3f91e4bfba72b793bc668fb8bca2acdb3e0b250fba9b6305bc8ee0533a690d463e38a649bb8f8ad1bb2204c33cd044953c852e84bb0529173c9882583cb7a0eabd768772be21c7213d00000000000000008adb2abe15821d3d0000000000000000e71db0bdc81cd23c0000000000000000dd9994bccbe2d63c00000000000000005eb20f3d0995f53c00000000000000008eab683d729bbf3c000000000000000044796f3d83259c3c000000000000000061ae4e3db1b6433c00000000000000002645d73b3da4f33b000000000000000000000000000000000000000000000000963a14bbb4bb22b9afceeaba9b3c063dd2b9c93afd76ca38a7fe103ac04bd73c65700d3b69e6663b9f03353b4446903c2b51443bffbc4f3ba57d433b1218443ca4c6333bf4ea843b09fbee3a79e20f3c01175b3bb61e853bc8bd103ba3b2453b5d1b333b9fe5e8b883fce93aaac837ba00000000000000000000000000000000000000000000000000000000000000004802a73ce98a95bb07bc15bbb463063c723cd23c0bb6ae3b8fdb9fbb0138c43b7d86d73ce23d513c98cbd3bb83a1253b211bb63ce1d07a3cbb82dfbb4159d637e5ad803c19e1443c4c86d2bbb56288bb917d113c46941a3c65acc9bb0b4cb8bb72ea0f3be2927f3b1a6a24bbd4bc80bb00000000000000000000000000000000000000000000000000000000000000000ba6d63ca19557be7c22bebc9593d93bfe5f933c6cd53cbef96a47bd0afc70bcaab9f63b04da22be646e82bd51fff1bc8318a33b90c5fdbdc6eb77bd8ad316bd73ea223b85a3a8bddc3140bd46de12bdc17148bbcc4c30bd0972f5bc4ba1e8bcb1bf8fbb2820a0bbe32212bcc6da72bc000000000000000000000000000000000000000000000000000000000000803fde208abb8e2e253b3f8a2fbe0552b13f104e3fbbb2de5abc202e0ebe89da903f83d551bb44b394bcce43f5bd1f906b3ffaaa27bbca3b53bce8fdc8bd55732b3f1d87b5ba0c2ad5bbf61886bdede9d53e2cb2e5baf36559b887bca1bc4425453ea101c1ba426dad3bfa4f203c92822dbc00000000000000000000000000000000000000000000000000000000000000002bead2bd5682833c00000000000000008904d3bb212e8e3c000000000000000068d4503df1b7bb3c000000000000000065769f3df6daec3c0000000000000000ae41ae3d644aea3c0000000000000000dd7a983d4806ba3c0000000000000000cc07183d153f833c0000000000000000000000000000000000000000000000000000000000000000000000000000000065114dbc9326dbbb92f35d3ca19fa93c937e1abc509523bc646da23b9edf303caf52cebbf99603bc36f03dba4fe13e3b5dea63bb008504bcd11882bb2fad09bb5c6886b93f9ff4bbc16f7fbb8dd198bbfe07a93981d66ebbed1866bbe4020dbbec1b0a3afa0188b9e7978fb707933dbb0000000000000000000000000000000000000000000000000000000000000000a7d4b33b3ace8f3c4bebf03c42c0e13cf4458c3bb6742a3d72e8da3c63e32f3d5e0a9f3bee4f593d6316ae3c534f1c3d2ff6023b2d1f513d4cf3843cc5f50a3dad91013a8649203dec951c3c6aa1d03ce36f833a2fecc43c34a40c3ac2fc743ca83471b688c9e83b79d628bb9971383b000000000000000000000000000000000000000000000000000000000000000098cceebd29d4abbd719f6abdad0eb73b33419abdda50a2bd03edacbd6f4a1abd5dac42bdf4438abdfeb8afbd8c4597bda1a1d3bcad7631bd3e258abdd159b3bd01dc37bc36f2b5bcca5c29bd30eaa7bd36419fbb04f508bc745ba4bc124773bdea11bfbae8eefa3ac64b5a3ab95ec0bc0000000000000000000000000000000000000000000000000000803f00000000d34830bdaa8411bed268a83fac3f453bf17284bdf67b2abeeb0c843ff851d33d955a8abd27b833be8675473fcff8183eaa175fbd5c7c31be2fc4083fa4890a3e362a00bdbedb17be98b8a23e7931c43de75a3abb1e23bebd490f0e3efd3f323dd9bd7a3c45bf00bd78d908bc19d4d9bb00000000000000000000000000000000000000000000000000000000000000009e78013da6ab90bc0000000000000000a973e93d208ba7bb00000000000000006c75303e9ddd943c0000000000000000f9ba383e0b7a323d000000000000000093c61d3e6f3f5c3d000000000000000000bfd83d00a4583d0000000000000000f5bd043dbd7f0f3d0000000000000000000000000000000000000000000000002363f7bb251872bb56723c3ca90b803c888f3dbc92d816bceda7543c04a79d3c0d7d1dbc863d45bc8891ed3b5be04d3cb939c2bbc98e45bc8a9c3c3aa7b9763b814390b990aa37bc5a1864bb39a44cbb4fa39ab8b8c8f4bb39ee73bb54733fbb9a3dcb3ab0648abb3a2462bbff4064bb45623e3ae0ffccba1e71f8baa69a97ba27615c3a8bd2073b82a1c639bdbde8ba0c62e93a497bc5bbf7418b3c9ae8313cd76d113b849e4e3c9451b93c24e83b3d1cb7963b4ea22b3d2f03ce3c46474a3da4bb1c3b4cea5d3da5f79b3c76b93d3dd98b17b82554583dc6f1473cbfed173dc8e19438400c2f3d98f8a93b8590db3c3d700239f984d33c34fa733a08475f3c67e0093b46bf333cca3ababa33ee343bf1b8e2b7aa36a6bb307d9dbbfff1b7bbfa2eb7bd9d1535bdfc4a07bc541ec73c50b7d4bdf9d08dbd656c49bd6862ca3b84d49cbd5c2fb8bd6239bcbd90b3fbbcb6b833bd83b191bd39e0b1bdc6748fbd4f1ca3bc19af34bdf9af7bbd1124bfbdbe1337bcf0bde2bc27322abdd0b2acbda42370bbaca921bc350096bcb1a579bde87dfc39de9037bb1175a8bbfd0908bd23e06a3b7d060e3cf0cf493c330f623b3ac5f93a1cde2abede15a93fdcef673de52c58bc82017ebe14d29c3f2520db3de72a29bdb8a271be06157e3f96ab5e3e27a31ebd882770be5f4b383f3b3e743e675903bd5a545abe2117f13e47ca553eda2cadbbf55929be7a358a3e1232173e9f70283c4c2ec2bdd1b9cc3d80689b3d872a063cb08583bc301e3dbca5f9de3ce829843cbaa2673c6bd3abbd69d909bd5f964fbd699706bc0000000000000000b67d1b3c3c1c66bb00000000000000004097c73d259765bc00000000000000004efd243eba29d23b0000000000000000d088383e01c3173d0000000000000000b5431c3e60ec333d0000000000000000759ac03dd0064b3d0000000000000000a6d6213d1a270e3d000000000000000018d9a2bcd7d64f3c0000000000000000421aa5bb1f9c97bb4b04fd3bcf243f3cd59a1cbc2e602cbc1241293c07ca913c665001bc99e44ebca466453b35fe243c5a607cbba4e03bbc69031bbb88841e3b9a1b95ba8de825bcf5b697bb21e998bbbb62df3a0e9915bce8cc9ebb2b13afbb9d28c93ac62397bb2bdb5abbe04460bb3784363a3a59b6ba5dcb36ba17114bbb9d80493a1abdf43a026b8cb9f67bcbba50dc0f3be535b4bb2561433c2fe0433cb8fa853b53f5923c52c6a83c4551273d98e7ab3b1942323dafc1bf3c35ad403dd885003be552643de6c28b3cb6b0303da42a3a3bd0a84d3d1f883d3c77dc093d6fab643ae6eb2f3d54a88a3b354dd83ca5c31a3af407ca3cd02af0394e9c4d3c32c9ac3a7435223ca65496ba89c42e3b7f84b43a2e3870bbb15f1fbbf1b8cfbb14dc6dbd3ed912bd62186fbc4f14c63ccbd0a7bdd83aacbddec572bdc945273be57860bd5cd9b7bd31bbbdbd44851bbd616dfebcbd1a8dbd8055aebd6692a2bdc2481fbc8b2e22bd6b3382bdddc2c5bd4f029fbba706bdbcbc4c21bd5713b5bdaecfcc391a0719bc904596bcda207bbda06ade394654f5b8d70e7fba0a2402bdaacc053b9100e03bbaa9003ca08a923acb18383c9eb73abef9978d3f4834833e9c24f7bb178680bec5d0873f642ba33ecd5d17bd209876bee288563fa05fbd3ee229e9bccf3875beed661a3f2807b33ed32decbc2f5c4ebef00ec33eb41a8d3e9920ebbac6cc27be6df0563eca68483ed2b1383caeb3bfbd406d9d3d1ac2c63d51a0203c4102bebcd0506cbc1362d13c03bc1e3c7b73843cc9e160bd9497d8bc4a2aabbd5a49d8ba000000000000000066d0abbcb7287abb0000000000000000f36fa23d8fde88bb00000000000000009468133e95d5953c0000000000000000ac81213e42ce783d00000000000000008f6b083ed8e4703d0000000000000000407b9d3de1c2813d0000000000000000c0eccc3c8f86293d0000000000000000b85b9fbcc7265d3c0000000000000000526a82bb5db7c9bbdc06f13b6768483c0af40ebc5ddc24bc6874e03b1c7a823c3835e1bb6b4051bc055ece3ac437fd3bf04b5cbbb6233ebc68ab90bb33168739de263d3923cf1cbc9733eebb6ab3c8bba85aeb3a759001bc0ff9a8bb5e69b9bb6cd4ff3a2be39bbbd2ac79bb96b7a0bb0c35a43a386d02bbb9054eba81dd6abb789b86b9d34a0b3bbbe2913a536fbcba9d574c3b985d7bbb3f853e3c9c38443c64658a3bd29c9d3c7e49a13c3f711f3db6cd853b61c7413d48b1a63cb2fe403d16d8203b81f1683dd786643c8406343d1afd593aeaba593de1d3183c3b550b3dfe23833aa76e273d129e673be83db53c30acc53ae787cc3c36b415b9d49b413cb3c50f3b85d81b3c6eb7c2b9e29b613aed986438005972bb43863fb90d3c08bcac5050bd89323abdaf3cc6bc16c2dc3c634070bd51c1babd305584bddb21243b467b19bdea99bebda43fbfbd8e0f40bd9c518ebc31428dbd20eca8bdd527b0bd5c26afba894f20bd7d4b6dbd9d37d8bd20c63c3b423abcbc36560ebd1139bfbdee7c463b466b0fbc78465cbc9d4387bddc07fd3a41c708ba9919f8b9f13306bdd21fbb3ae400b53bc39c223cfb86653bdcd78d3b849e23becf006a3f7150f73ee04e0fbc0c9c72be1b7d5a3fd36a093f594ce4bc38f173be1a802a3f39680a3fe1f9bbbcd54a6bbed7a6eb3ea65af03e9ed75cbc8cdc51bed4188e3ec496b83e2e61983b04a41cbebe2e0f3efd5c793e1bf86d3c8cc3b0bd9f04223dcdc1f83d968f373c7c4dacbc0d968cbc93b8e53c0750203ca371673c46963fbd1ab00cbd9a48ebbdfaddabbb0000000000000000ca0e67bd9ad0b0ba0000000000000000dc39763d74b4af3a000000000000000025c1053e4947003d000000000000000022ec173ea66d893d00000000000000008588f63dddd7933d00000000000000001aa3843d80a9943d0000000000000000c392763c6824483d00000000000000001c28e4bc91d5623c0000000000000000a36e9bbb4e2bb5bba417ac3ba33a4e3cab3df7bbc4a528bc477c8c3b717b553cd270d9bbb36943bc0d87b2ba56faa63b1c5416bbb5233abcf67ebcbb9f2727bb8175ef38de3c34bcfa28bcbb759bddbb3068063b758ee4bb336fe5bba51fffbb92d4393bf27091bbdace82bb17ed9bbb3056fb39d0d4f4b93ec1cdba973137bb5e92273a16779e3a00d3ca3aa3d802bbd531843b9f2f7dbbe181303c7710563cc100cd3be5adb53c19998b3cb061193d45538a3be4c2493d7a8a963cb4bc3e3d84114c3b6df96e3d745b403cb87b2a3db551ed3a4857493d4ab91e3c7b68f93ce4f9013a38542a3d80e2333b7c67b13c333c013a859fc33c734316ba32191f3cfad5c83a1a81173cfa3b1b3a8687e3bad3d1c73a8846a2bb91130ebbe4efb7bb11451ebd5efa56bdc3c7e9bc8ddbe93cc69e1dbd7b49c4bdb5ee94bdea01b7ba428dabbc5939c0bdd2edbebdd1765bbd27d950bbd2638bbdde8fa4bdf52ec5bdbc64f43bc8620ebdbc4f60bde5addbbd18eb2e3ce4c0a9bcfef3febc429ccbbdb975bf3b894defbb4df92bbc226489bd60fa843bea04eaba2ba8553b6ae40bbde5348838dcb4b03b9ee0133c6b46813b6ec4043bdf240fbe90a3333f57a8343f13fc05bc20f752beadc1203fc290403fe9fcd9bc013a5abe82eaf33e0dcb333f29b07dbcbe635abed1049f3ec463163fa733cdbcdcf52ebe3199393ee100d23e04a7203cc32612be9e86873d7076933e5c69543c076c96bdba6ae73b8d7e0a3e40150c3cad9e83bc7da1b6bcb6b2f23cecad123cfb22803c6c4714bd09bc24bd1f7015be78f48bbb0000000000000000e27da6bd0c4f4c3b0000000000000000a7cd383d5d15303c00000000000000005da5ef3d6cf33b3d00000000000000002185093ec370bc3d0000000000000000d951e03d3f68b03d00000000000000005959653d4393a63d0000000000000000d63dcb3b8c5b643d0000000000000000bc8a0abd56908c3c0000000000000000ddc76cbb266cbbbbd615753b523f3a3cd933bdbbb9ea46bc089c2e3ba756553cb200a1bbb96a57bc125a29bb20e1853b18c091ba28e542bc2b64d3bb9d7e97bbe77f0d3b01dc24bcae2521bc4113dfbbc7db133bd22dccbb0dcd07bc0404d2bbf541193ba76889bb3e8c89bb0901abbb4f842b3a486877ba296c5eba274e47bbff6b37b6a8cad93a927f713add1621ba60d7683bc6df3aba023a0b3cbb786b3cd45ccf3b280bba3cf583413c9dbf2a3d9410903b5b05503d42f3693cb6aa3c3dc0394c3be9166d3d6d61153c9b43263df1ebe53a1205553d6a129f3be750f83cd13740b89e192b3dd0601d3becf3873c9e2a973a65a3c23c68d8d9399e24f83b8faeee3ab5ba133cc990d739738264ba7219e539946890bb0a3034ba4ac8e1bb4948dcbc77a977bd326109bdfc50e13cfef0b6bcb122d9bda86594bd788634bb8f729abb6274cbbd1305b9bd370076bd5d45fc3b65908bbdc3669abdad27cebddfb3883c7a0419bd3f684ebd5d43efbd768f763c2512a5bc21fcd4bca0add3bd19f0083cde6100bc9a350dbc76ed8cbdc9f9353b6b3558ba342ad43ab54f0bbd449264ba435fa53b15df2e3c1c82a23b5842023b1d25dbbd4547f53e5c676b3f864bd6bbc06d2fbef604cd3e0a09753fb696a9bcad193fbe4904933ee6d85b3f47a639bcd85f3bbedfb5253e04d5303fa9453ebb359729bee730863d4323ff3edeab0a3cb128efbdcdc17f3bff44a33e7352713c960283bdf7a4babc759a1b3ea857ec3b090c16bc3dadcebc70e2db3c669b863b8d8c933c7f11d2bc8f7944bd0e652bbe3d243abb0000000000000000d2f9d4bd39a1f43b0000000000000000fc7bfc3c7bcb943c0000000000000000a58ed63df16b6a3d0000000000000000ec1e023e031ec43d0000000000000000ddebc83d7664c83d0000000000000000f63d443d5319b43d000000000000000076148c3bd289733d000000000000000056180cbd6698793c000000000000000088853cbb3e57c6bb9ca60a3bef97423c87d3bcbbba0b29bcaa6cbbb9300a533cb45b93bba92942bc3582b7bbfb76e23a1ae9b4ba4c6736bcac2c07bc07b5a6bbba00e53a3b9c17bc1e431abc888317bc6e2d0a3b8cabd6bb140d05bc8291f2bbb18dd13a6dc43ebb244c9abb636facbbd709c93912886fbaf09bc2babdff4fbb47da3d39ef02f63a399b873a5f14b6bafec6a93b31206bbb25d6863bd2b38a3c89c8a33bde9acf3c3c36213c63121d3de2a4ad3b8370513d6adc593c09ac393dad154b3bc2cd703dda850a3c7df91b3d99d1d93a441b4d3db5d8c53b8666db3c3a1b783adebc263d1a81013b5fd78b3c4070fc38712dc43cfb30e739413cc23b7abbe93a8ab9103ccab5de3aa962f4bac6e3953a5bf57abb1cc64bbafad7a9bbb32357bc409a8ebd3e39debccd2bf23c37ee04bbf056f1bd92ea8ebd1e711bbc654b3a3c4462d4bd9d72b6bdde1d86bd00daa93c42fb90bd54de93bd2c29debd2d46c93c0b6c15bd7f3e35bd70e1f3bd31f1a03cef99b5bc493cc6bc8d3dd6bd6d725d3c430613bcd984eabb600190bd7305893bb2b490ba523a753ba76b08bd068407bb1216a03bbcdae93b4e0a843b2745ad3a884693bdd97e803ea7608e3fc5cfccbbbc9501be4784373eb3ae913fbd8baebc251a1cbec3d0e63db3bd7b3f4871f9bb948520be73c0ce3c51a2473f152709bc476c0bbeb8c8bcbc91cc093f073f453cde78ccbd339670bd6a81b23ef6b1423ccb684fbddd6149bd1abf233e285b593ba2788fbb8821ebbcffd3be3c6239ddb8b614a73c867e28bc7dcb68bd8b3641bed87b223b00000000000000002593eabd53356a3c00000000000000008d79f03c1b2fed3c00000000000000009af9d23dd979923d0000000000000000bec3f53d4b5fe83d00000000000000007440c53d3870db3d0000000000000000b7d4363dd472c33d00000000000000006d82543bdb5b733d0000000000000000ec35e2bc16087b3c0000000000000000d70293bbc4e7cbbb7bd11a3ad902683c3295aebbca6423bc65ec4cbb35dd573c5ebc89bb9d443fbc8567f0bb3f18bb3a1ce700bacf3b26bcb70f2fbcd7df8abb5b63b139e7e1f0bb8bfc30bcfefa05bcedb1183b043888bbac801abc9814f4bb1049db3a37d847bb97ec97bb6a9b80bb2d57bdb97af44239d689c0bad79459bbafec11bacdbd143b9927053b310d1bbad76dc13bed11363a2296c23b1398b23c1464d53b8adfbc3c64cfa93ba380193ddf88813b09515d3d0fd9123c1b9f333d6120593a7936733de03bc73b1ec50f3d70ccb93a11e2513d61d0543bc153cf3cca2965b9ec7e243dd854cf3a8f54313c4ccfad38bb43c33c41851b3ade14483b5491d73aa7531a3cc5ac2f3b30aad3ba5b0cea390513c0bb127213ba23daf2bb4b88b0bb453dcdbd66811fbd10ece73cc643b53c287e04be209e88bd0bbbdcbb35e4e23cc7b9debd707fadbdc16799bd0b23083de91594bd51a786bdf90aedbd3a44fe3cdf4511bd4e4a28bde34d03bed632d63c794ea6bc77d998bcf539e1bdf41d583c12c107bc7c1ba2bb6aa293bdd0a36f3bd0fcfcb9a891d43a954810bdd1f775bbefa7df3bf508193c6f311d3c596cacbbb6e519bd603d6c3d6f0aa93f929f75bab17eb8bdd07cf0bcab01a33f590330bce3be02be06a056bdc2e38a3fb0be37bb005907be2003bfbd875e553f897db83b2200f1bd90d4ebbd4fb8123f89af583c677ea1bd0659e0bde3c3b53e183a453c9c8600bd6bec97bd88a71e3e11096fbbdf903f3b4e47a4bc98ba183c78e24aba0094dc3c6f080cbb3606b3bd741f2dbe746504bc00000000000000002674d6bd7aed5e3c0000000000000000bb5e503d57f3093d0000000000000000b614f73dd846a33d0000000000000000578d063e0f77ff3d0000000000000000fda3cd3d438cf53d0000000000000000567c453d6974ca3d000000000000000089666b3c3c14853d0000000000000000bfb215bd6dcc4d3c000000000000000000000000000000000000000000000000bae7d9bbb75f1abc384ea5bb58bd023c659e3abb3ac53bbcdee00cbc7a9eb5b997caa7ba28d301bc4e4949bc925e04bc589faa3a1ab2febb986723bcb60610bc6400e43a46fd9cbb13540fbca071e3bbaa1fce3a268dbcba9564b6bbfd5399bb73f512b98f21863ad8e65fba119a9aba000000000000000000000000000000000000000000000000000000000000000056c3e33b9bd3143d6d3b413c0700293dae37573bf468503d98791b3cf650283d3f28943b1732643d5800cf3b79ea063d6968a9b987c0423d1917643b695ac93c6fd7ca3a357b043d779fa23a0035433c17d7263b74c78f3c1b3b85b97f5b843b2bdfaa3a4b80813bee5d83b8998899bb00000000000000000000000000000000000000000000000000000000000000004aeba33c9e2a0bbe1c8ca6bd2d9be9bc89a10c3d2aa3bcbde508a0bd9e7cabbd03aa163d4d7b72bd437f7dbd35a9fbbd84f50f3dfc0efebc9b2522bd384dfabd89b4e33cb0ff65bc017986bcd261cfbdf4a6883c9d97ecbb07d67abb91e186bd3eb8663b9ce228ba35ce943b2ce2abbc000000000000000000000000000000000000000000000000000000000000803f46c2a4bceb9d85bd33ddfebdd69aab3f58bb9dbc1830d2bdc17419bec1b9893f548e19bc29a2e5bddd4227be738d523f65a238bbc004d2bdbb9b2abec178133f4983213c81158fbd652018be3a95b13efa3d033cdd56e2bceb94c6bd50bf233ee591b23b83f13e3c8f2616bd96109abb0000000000000000000000000000000000000000000000000000000000000000a51afebb2414253a0000000000000000f8c9c73dcee4553d000000000000000057e2133ec4c0e53d0000000000000000d6300e3e25170d3e00000000000000001f02c53d68290a3e000000000000000079c1443dcb22dc3d00000000000000003f8af2bb10a5633d000000000000000000000000000000000000000000000000000000000000000000000000000000003068233bcc44053b00274bbbae2907399522e93a01d8093b0018e6ba49aff0b97b87a93acef3ce3a5d5189ba56d774ba8b1b6e3ae361f93ad2f49b3a3adec7ba0cb0513a7c70fd3a984ff03a979da2b7e9dc673a8825203b2c5d7c3b198a6f3ada746b3a85ee3d3bdef2a33ba4f6903a0000000000000000000000000000000000000000000000000000000000000000ec55123ac3f721baf1d11cbbf0df01bd5c9e05ba6abb68b92f1339bb0c91e5bc1e6e6fbaa8456abac5a14abb0542c9bc5535e8ba904f0db8501d06bbf166b0bc65e236ba8ee842b93badf3baa3c589bcb09769b9c043b6b7eea55fbac49846bcebb845b62e636cb90ba3d03965fbc6bb0000000000000000000000000000000000000000000000000000000000000000f2935dbdf5b632bc8d843fbb1a6767b93af661bdce7d45bce2221fbb627595b99fee52bd27843fbc71e2b2ba65a2c03a47c537bd201444bc82f1a9ba4759873af3972dbd0f0339bcc3e72aba03330f39218c15bd1c1f17bce88e46ba0411dbb861aaedbc894bd3bbd09754ba198157ba0000000000000000000000000000000000000000000000000000803f00000000ed79e63b67ccafbc99de873fefd0ecbb68f1c53b426432bc4ffd633f3f046d3b0ae99a3be817e5bbf1fd393fa01d1b3cd633163b63f70bbc7acb103fe7332a3cddbec13afd3c4cbc5c72d33e7ba11a3cbb4eafb84d5998bc3714863e66cdbf3b67c3b4baf678e1bc5e34ea3d4d4edd3900000000000000000000000000000000000000000000000000000000000000002ba5613c5178dd3a00000000000000001c66523c50293e3b00000000000000003e1d3a3c7652833b0000000000000000a06d0e3cb90cb23b0000000000000000a40dbc3bd0b48c3b000000000000000065c5ae3a09bb4e3b0000000000000000fec34dbb31410c3b00000000000000000000000000000000000000000000000004caf83aabac393b159594bb8917b2bac0b05a3b6622c73b405ecbbaf86faeb72c8f423b610f8d3b6da68aba55e1933951c0f03a567c463b6e2d923afff66c3a5361db3a36fd493bc92aa13a97ce303970cf013b11248c3b58e80f3bde23bf3af4e6273bd75b623b3e25ac3b10c9b63a16ad843a4795783b5778e83b20316b3af69ee6392d77083b7d5c9b3b79a5943aa2dc493a3eeb2e391d27133bda45ecbcdb8e893a8eddf739b621613aaaaa14bd6700aeba3abfa9b8c6f3ceba56bd09bd6024253a350662391f5661ba2459f8bcd661fdb9d81167bae6d0e5ba8ea5bebc0c9ede3818faf4b97b8722baec4f9cbc8953c1b9ae26dbb978eda6b890d147bc53c4693a5f8cb4b97698343b14b13fbb458c5639cec4d8b97889003b7896cb3aa79ef3bca07dd5bba21baabb257afe3a650d72bd04b683bcecdcefbb2b03433ab63986bdf71b8cbcde1a86bb1d5e93b7009784bd7fbb99bc5b6575bb3e0d223ad88b61bd33cf86bc0681bfba3b2f83b8065256bd417584bc636bb1baadf18b39d41c33bd390557bce2e09dba2f9519bae03c06bd914419bc95f9d2395ac5d2b8d34177bccb3724bb6139c33840181eba3aa6203ca07c4cbd095d873ffae3ee3dac4d3f3c300453bd6eb07d3f63bbe23d291b1b3cf3ea03bde388563f9358da3ddb3bd63b6319d6bc35c02e3f1fdec13daf49ad3b1ac3b5bcfb55063f0bb6a23db217513ba742eebce23ac43ed4c47b3d34eccb3aa66d02bd45d3743eaac1233df82c7c3ada0e1fbd4f74d03d68d68f3c2f0a173ae82003bd34d586bc730725bb8038fabae4da0f3b0000000000000000c2e8453a8a864e3b0000000000000000e9f9e53b9ae3973b0000000000000000f293013c1d1c853b0000000000000000f34dad3bca5da93b0000000000000000f6c0d43aa9769e3b0000000000000000697731bb5319833b00000000000000006d28ecbb28a1de3a0000000000000000b10cffbb74bd9d3a00000000000000000658383b8f381a3b5a3488bb2ff304ba588b543be1f3823b8e3e6fbbfd2b60ba31551e3b02fe383bfddcf6bae2a077ba7c500a3bfaf6613b597564b844d735b8db44ac3ae8f7283b58058b3a8b5529b9a9d1c43ad2806b3bbeb45d3b0d20243a343bfc3af4fd353b48e2443b9ff920b9e37b693abc45683bc548ba3ba336513a0693753a3676323b14e08e3bc920e839b18b043ba2f1c1b8a25cc83a070bc5bc19a89d3ae294833a9e5e673a708106bd5a230a3ac5e748bafa82053928d1d5bc098aef387e6415ba09df77ba61e5d4bc07be8fb9583416ba8e4894ba06b29abc1db17ab9412429ba7a4ca0b9f6ee83bc8c642a3a5f7be6b9c726c63a15ed07bc68a5a139bac3c638431ed13aefd052bb47e00f3ae6431b3a93aae63ae683a83a1d70a6bc1e7592bb106ababb45dda03a107f3ebdf40473bc5a2db0bbb895543ac8304bbde7409abc75ab5ebbbffac53aac7267bd964cb1bc3fb163bbec88183a60363bbdc42e97bce546f6ba8f9f243aa1fb3ebde3959fbcd920c6ba42ec92397ef90cbde1566abc4538bcb932aab6bac1e7e5bcfedf36bc75648c39ae8754b9effd4fbc0aff76bb0477923a64ebc1b9a62a043cd2c748bd9e8a633f35f8853e29a33c3ce94866bdc1e5573ff26f7c3ee68c1c3c44f515bda265333f1356613e89ff0d3cbe970ebd0ad3173f0a6d423efdcfba3b9873e3bc8c63e63ed6111a3e21828f3b7a2b07bdab4eaa3e090fee3d94ec893b3608fbbc91af543e75e8973df8bc1c3b69ae1bbd9878ba3d310f163d11218c3abc3ce5bcd7b535bce76e98b9d7c76abca9f3303b000000000000000073f24cbc882c713b00000000000000002d41bbbba6f8c13b000000000000000032e20fbbdceee13b0000000000000000abea67baceb8cc3b0000000000000000b4e066bbef4fc73b00000000000000002767b5bb0fca973b00000000000000003a2d23bc57a3483b00000000000000002da411bc9f47543a0000000000000000a6960b3b9f3bc53a87d18bbb3ddfd7ba68d5243bf8d95e3bb89e71bb3541eebac739f73a2136393ba421dabade23b9baa9d6ee3a71ef643bf9fc2d39b60bfeba8fef2f3a1463353b5fc9883a01bae0b93cf4d03a6faa623b04f3293b703a8c3960f702ba61f69fba2eacfc3b406a3f3bbc62683afc1ba03beab68c3b9fbb4f3a29dcd2b826fdee3a1b3a563b35a9843a830c133b03e21d3ad63ae03ab348a4bc54bcfc3a9a021539f639a73ae5fcdebcdbfd573ab13629ba7cdb2db820f0cabc4783443ac642ecb9ab0d2bb9e45ebcbc781869b8cb4a2dba789b1bba1a348bbc900944ba9c1a77bad1f21c3af9bf57bc5e37b53a588a9cb7ea1051bb8852bcbbb0f0dab6835b94ba270e0c3bd60b11bbabaaba39bf98c1b9b0f0d83aa71eb83ad11a8abcc6c07cbb7edabcbb51a9c03a3cd920bde29484bcb021f0bbe2bbc83a8e8247bd705dc1bc2419b4bb18235d3a82614bbd1521e1bcd99a71bb4a85a73ae17e38bd201fcabc5abe38bbe867363a885729bd507dc3bc6bb60ebb56533c3a9e190abdee91a5bc14e7d7b9e3b4793a03e1c3bc8cd85ebcf12cdf37ffee81b97e292abcb537a0bba7869b3a8f344c39b4f8f13b30392dbd23ba393fa385d33e9555313c52294dbdb3fb2f3f3dc4c73e12572d3c5d7a1ebd65e2173f9bafaf3e9649183cb8cf0dbdee35fa3e5b77943ec6a9df3be297f0bcca89c13e2cee6b3e0582af3bed5402bd1be08c3efd01313e25a918ba2a7404bd81ee313e4260e83dbef6483b2f2d08bd16a2983de7ec633d8ea4a73a69a3bdbc2f1616bcc88f093b1863c6bc65889e3b0000000000000000fe88d0bc827b063c00000000000000008e9f7bbc7fe9083c0000000000000000ac9023bc17d5123c000000000000000000aaeabb863cff3b0000000000000000d866f6bb3e66db3b00000000000000002e9a01bcb953be3b0000000000000000137529bcaec8553b000000000000000036fd00bc184dc73a0000000000000000212de33af0b5c73ac6476ebb3e4026bb08e50b3bd987353bc6cc35bb000133bbba85a23a38b40c3b76708bba437adcba3e58393a1574063b30c1fa3abce4d539de647439a7f5b23ace8a3c3aecf321bac8d185b9ff0de53adde4753bf089c53a2721cb3a6e74413be3376e3b3263683ab018ed39f784813a8ad9903b5d85ed3a420c663a1deb713a1c90863b8554353a50f70c3bfb01223a915ab33af13383bcd392df3a5eb483394dbf763afcb7aebca2eeae3a7ac01d3923940cbac3e798bc19d00e3a1f3f19b9b577433ac73f85bc4af9ceb8630eecb9eff54abacf9f35bc9039cb39099f8dbaa885ad3a31eb19bc2589e0b957a07dbab6739d3a7733c2bb0c6c4b3a6aa30bba2fc3c43abf5db5ba652591b9dec31f3a04263a3b36ca953ac8d28abc8783a1bbd6f9cebb44f2d03a1b2e11bd8ec99ebcfd76febb5edde23a72c426bdc08ad7bce620b6bb0b258e3a12e039bdfca407bda72bd0bb69d5ba3a030701bddc7bb9bc0a7829bb923f893ad66312bdc4f9ecbc940de6ba0b38fd39c608debc6ecdb1bc5f7002bb1c208d39ddbf9fbc5b5383bc4aaa0439ce78a8392e4d0dbc3fc3e4bb07978d3a32f509b936e5d13ba14a08bd6c2d113ff82a113f74d81a3c99e01dbdc520083fa9d9083f624b073c7b92e3bc590ae93e38bfeb3e8c22bb3be585dcbcba74c23eb930c83e86cea03b683d98bc4e66923e4540973ee9ec2b3b93f3c9bcc93e5d3e29146b3eedc84e3b7acdccbc1a49063e48d1163eceff133b25f3dcbc50f8603d8b8f953d16028f3ab07c9cbce8cb3cbc1a0ceb3aefa608bd31e4c73b000000000000000074e811bd634f1b3c0000000000000000ddc2b0bcd4c81a3c00000000000000004bd185bc5c3c003c0000000000000000716a05bcbe55e13b0000000000000000ee362cbcf8beed3b000000000000000020b613bcc1039b3b00000000000000005bdd2bbce67f4d3b0000000000000000fbed05bcb18e823a0000000000000000d286973ab12ceb3ab4552dbb67ca51bb6e200a3bd1565f3b860186bab1353fbb2273f63a902be83ab666ed390b1595ba9e90833add92503b15e8ad3a628266bac38c0a3ac8c7273bab8b233b6cc205b9f332883a8ff5e63ae0998a3b46cac0392020253a49bb353ba6d2853be660293b9298f239fe3b213b35348b3b5ced233b92c593393e8dba3abb43293b6d8fcb3aba1bfb3afec65c3ab116af3aef3949bcc168343b14571d3a04ff2c3acfbe8ebc1166b5bb2fbaed3a8adc32b97a1e7fbc1326a33a019f33b932a1a9ba057962bcdc4380b860da67ba7c8d24ba634c39bc4ebd9c3afc6cd9bab9d55f39e41e1fbcec65563a6c0f9db925a2d3391ef2a2bbbd11013ae51a3bbab9ad9d3ab53383ba0aaacd397492feb969e8c03afe3fc53a48c098bcefbd07bcdc0df4bb99a0943a376a18bd12f3debcc5cc22bc59be953a65b533bd6a4512bd9b87f3bb8766df3a3f4a2ebdb0f720bdf905c9bbe6ee5039408219bd572215bdb55eaabbad1f5f3a3e9b06bd46180cbded6781bb189b713ac239d3bc3dd3edbc8b6c40bb62aedf39293788bc0dc6a8bcfd9be3b9177acb39d690c4bb723312bc9a4aca3a7b9a5e38c9edb03b1d90c4bcd34fd33eeda6393f915eff3bbb01e8bc93e3c53e2292303f23d1c53bf937b6bce8adac3e156c193fd678c73bf0629bbc0b498e3ed47cfd3ebf73a83b693996bcc8fa5c3efa71c63ec014243b4916a5bcd4161e3ebeee923e822e193b12a3b2bc9ec6ba3d6f433d3e001ce73a9abbb4bc049c033d09f9b43d708d773a032578bc27027abc683b8e395dee2bbda420ea3b0000000000000000a38a3fbd92b2383c0000000000000000d6e5ffbcc2e94c3c0000000000000000d2c6adbc268f2d3c000000000000000051ac65bc9e18153c0000000000000000e4bd45bceea5f63b0000000000000000dcb237bcfd03973b000000000000000069f839bc9ba21d3b00000000000000007cb507bc6fbaf6390000000000000000b3129f3a6a31023bc03a9cbae6057ebbf05dd73a6ec4503b7972403a1dac66bb440ad53a430d493b1ae9f4396aa520bba35c9d39ba1c123ba8e8853b1d417cbafc89a539e4e1e73a4eb4353b639ec839d6b4863a072b383b9aac863bfe58083b91689939bedf0f3b3182883b5706343bed078839d33be739903d963b12f65c3b3aab6039d2abb53a29fa393b12cd1b3bbc42283b5f87eb3af43e653a9e9314bc2d88383b6d0ec03a6b6242b9f85f56bc616b663a0d62843a3b642bb96dd729bcbfb5693937e6d239eac757ba24543cbcda2c9939d086fdb92d5fceba4ca406bc3da9fc39e15600ba173253baf034ddbb12ee5839b650da390f54c2b9e4fa6dbbe6a93d3ade9debb9b9992b3bb0ddf8381db53a3ac09a6639c6a2673a42b5053b96eabbbce77179bcde150abc68f79a3a013523bd813e1fbd7b313ebc2800363a3c4d1abd07482ebd319615bc7397083af83e2abd4a884ebdad650dbcf6accc3949b700bda72525bd599fdfbbcfb79f3991fff8bc9b642dbd39efd6bba8c56239f85cadbcc61305bddfee8abbecceb83a3d2f51bce04ad0bcbe4c9ebae680e739f9b25abbc80434bce721b8b98c9fdb392f81453b74cc5cbc680b863e0dc2633f8e76ad3b020768bcd2ea783e7577583f1a49833b080c39bcdd8f5a3e69eb333f3037a53b37e32cbcc183353e9b0e193fe948523b2c2515bc5e0d0a3edd5de93ef04d203bea4161bc883bbf3d5d7aae3ef11caf3a5bf269bc101e583d10fd5e3e52775b3a885c80bcac090d3c39fbcd3ddb5a2fb9a4ad32bc3893a7bc8d9381bb3e0649bd34780c3c0000000000000000aa2455bd4403573c00000000000000000615e7bc3d27133c00000000000000006a28b0bc188e313c0000000000000000a8d244bc255b043c0000000000000000a86538bc3355d53b0000000000000000a45528bc7de4593b00000000000000003f8440bcdeeaa83a0000000000000000064114bcee32f1b900000000000000002554ab3a7e501f3bf9882f3af42490bb5d5dfa3afde8823b0c7c9b3b07f6deba76d0993a8485373be7ee8b3bbb457bbaccfd513a9481243b6dec963be463cf387be81a3a58c50f3b0ebb8a3bba4e9c3a5d965ab994a3983a39d6af3b5b84603b5904053ae57cfb3a05275b3beb088e3bdb7f24b9809ada3a13099c3ba7eca53bbf3ae8bac6349e3ad34a483b80066b3b6a5ba43a5691be3a9f314fb9dc36acbb9bc4163b3685c23a234b86ba8deafbbb4c009b3a8955c1394ca220bbd01e08bc4a6c483a8c57b8ba6dd260bacc7e01bc21a0233a761097bac8c108bb2ce0d9bbe74d593a5c7a5d39b3510fbaff1494bb0c920d3be1ca60ba5b68f9396335d3baeb54893a297ca4b90037b23a9300883896ecaf39db86aeb97170f23a0d1ad03a75b4e9bc0c6edcbcddbb34bc8fd24eba78422bbd80df66bd9dbc81bc6df2e7ba286328bdce3b7dbdaab360bc0267b8bad54d22bdde2478bd21bd50bccb807fb97990fbbcc91556bdd7ee31bc7a10b4ba13edd1bc0a2b4bbd200b22bcd10be339cc5999bc4d152ebd68c410bcf89e30babff916bc3523f4bc904f31bbcd03b53aca71bdba439961bcf2c8563adfbba23a6327013bd5b543baf7c8eb3d0a59873f55aa1e3b078accb9c2d8d63d87597e3f4025463bc4761e3b7c81c63d25e2563fabac313be7a0e4b9d903a83d7ce02f3ff7cf073b01ba04bba8607b3dbc2a073fce5c6639931ca1bb011c1b3d8663c53ec8872a3a647ffbbb4cc12c3c9b217a3e94b12b393f2025bcff5f6ebc45dcd93d5cd494b9c8effcbb5013e6bc2a2d61bc99e646bd0227063c0000000000000000cfac41bd5e27383c0000000000000000957dc4bc5db4373c0000000000000000db2d4cbccf67263c0000000000000000f123b5bbfb0f023c0000000000000000a497b8bbf9d8cf3b0000000000000000996ee8bb1473483b00000000000000002a8a3bbc5d04c9ba0000000000000000019625bcdb7591bb0000000000000000000000000000000000000000000000003ff2833affbced3ad1c64d3b6ef257bb57ebc639d4b3bb3a0415633b142cb9ba04a18839c0c1ab3a232a493b67e11aba42c87d385d9a903aea8b373b3dc934377e5cce3aada07e3ae821523babc8cf3add22c339d646a53ab1cf8a3b3fa1773bd7ebb33864849c3ab4847a3ba174a23b000000000000000000000000000000000000000000000000000000000000000074f355b98d0c953aae5aeeba871292bb7d4e7db937240438c7b627bb6fe1b4bb539638ba9f12d3b9802f26bb6a95aebb01ec293a261442ba37cf21bb0659a5bb1a9af9b9f50307ba337ef5ba61cd80bb2fad103a83e7d93864fb8abab9671dbbbb8d8e3aa71749b9b28ecdb9adb3d7b90000000000000000000000000000000000000000000000000000000000000000366b0cbd919c5fbdd94a5dbc656dfbbaef99fabc74da60bd11264dbcd067deba16d5dbbca2ee4fbd95c844bc0d257fba93e2babc56e43bbdaa281fbccef765ba7e7794bc53ff2bbd36cd2dbcf25291b90e604bbc08aa12bd9f900ebc33cf8f384860d2bb2463eabcf195cdbbe8d7dab9000000000000000000000000000000000000000000000000000000000000803f04f1cb3a2e9c473cd0b02fbce403883f9b15cc3a17941c3c5e0e55bb0f24643f271bba3a513bde3b91cad0ba3e2f3a3f6a772b3b3934203bf20a87bbf502113fc40cce3944abe4b9a2a118bc44dfd33e99ff69bac9353abb09ef89bc1966863eb4410abbc11392bb24a4d7bcfafdea3d000000000000000000000000000000000000000000000000000000000000000075449bbc06260b3c00000000000000003d95a0bb8bb6053c0000000000000000557bfb3a4af9f23b000000000000000078bd8b3b68f2f13b0000000000000000209b8d3b20318b3b00000000000000009296b13a1010c13a0000000000000000360869bb5c65a4ba00000000000000000000000000000000000000000000000000000000000000000000000000000000963a813a7eda0abb0c3bedbb252e9abb6318243abd48bebaf1dab5bb84f49dbbafc34dbacdff44bbe0c7c1bb52ded0bb2019bf39f0b6b0bac14872bb3b5891bb64ad13b9a236e0b9e3910dbb3fc682bb8487963a915bc23a37811039edc34cbb6ed4083bb95f313b68b9093b2396ebba00000000000000000000000000000000000000000000000000000000000000003d7231bb30567ebaccb7bdbbcb11cbbc961b67bb3d238bba3389cabb39d1b6bc4cba9bbbbddf0bbba7c5b7bbe3cda0bc6ac0b6bb283321bb1665c1bb70488bbcb61365bb2a0a81bad594b5bb89f77abc4c0822bb7150f4b962b78ebb593348bc0cc8d5bab6c4ceb9f3ad37bb2ff411bc000000000000000000000000000000000000000000000000000000000000000089dad3bc86d44ebb0f7b8b38be46163bfaece2bc5982a6bbd5f416b9e3d90c3b41b0dbbc8e49c5bb93748839ad521c3b2c86cfbc28b0eebb546d9abaf6b6ca3af1bdcdbc12440dbc3fd5bdbaefa4da3a4abfbdbcd18811bcda885abb75453839dbb7a5bc1bb804bc41c694bb79353fba0000000000000000000000000000000000000000000000000000803f00000000c7ae083c725ef6ba35f8773fe10a2c3c292ba63b9d5e9f3a0eae523f38f7833c7de5b53ba3509f3a80252e3fba44983c84e4583b0c1b08bbda51093fa75c8f3c943ca53adf96c1bba3decb3e0c9e8e3c6cb0ceba5dcd56bc6b98843e9199563c7f1152bb4424a7bc4a98fa3d4ece163c0000000000000000000000000000000000000000000000000000000000000000ecbf9d3c0d1ca23b0000000000000000a6cfa13c6276f43b0000000000000000105c9a3c5c610d3c0000000000000000c380833c24cf0b3c000000000000000042fc503c45d9f83b000000000000000087f5223ce410f53b0000000000000000ca19c13ba97fcd3b000000000000000000000000000000000000000000000000f6854c3b263d18bb1bc1f8bbed0582bb2f3e613b575a9db99e78d9bbbd998abb219efd3acf9c39ba0b4fbebb7a9aadbbd8f3c13a71a70cba024c97bbff19c4bbeb538a3afa2c0dba867359bb9454a3bb8527f83a22b3aa3adcdf90ba66b884bb0253133b5e47263b05feaf3ad2e84cbba157343b6633783b17d65d3b971daabaec330b3bd2fb553b81684b3ba821eeb9b0c3a7397b03fc398fbd4ebb51fcb5bc325573bb0135c8b9f9cebebbe333e7bccc1283bb9ffadaba9f82d7bb18c3e1bc1c8495bb1173e1ba98aff9bb6bead4bc346d85bb84b0b2baf5d5cdbb355da6bc011686bbb4f39dbaca36b9bb42e399bc3fa78dbb7db0f7bada8486bbd31164bc9c90c8ba9d4994b9a130e4ba4b970ebce91640ba881a92b9daea82b8aee752bb5e1b64bc9538663ace18dbba52cf253bc691e9bcf25b04bb6b1a37bbe84a603a3b1e0bbde58104bc23f0d9babb68e13ad38912bd306a33bc6e494eba139b833a623bfabc51f12abc0e0b16bbbdf38e3a9efd02bdb2c94bbca5e469bbf45a053abf2ce5bcf4bf39bc9b368dbbb71938388e41b9bc93e11dbc76fba9bb1d30abbae0734fbc625aa9bba81f83bb1797a9baf3e6e13b0e1653bc5abf763fe31f043e3195113ca0f63fbc048a5f3f9337fe3d2dfe063c3c93f3bbe5193f3fab02ed3d4276ff3b08b7eabbba5b1e3f66dcd03d5a15823bf169f7bb66b3f63ef62fad3dfd8ec03a216580bccf55b73ea0a68b3d992922ba3c23a2bc87286d3e62db443d83490bbbcbe7d9bca7d0db3deb6fd33cb9f813bb8c61c0bc497807bc8c7a7b3be02a083c328d583b00000000000000008e4c823cfa38b63b0000000000000000ac059f3c9b020a3c00000000000000002cb4a93c2a74123c00000000000000008511873c4d23213c0000000000000000ea4f723c789c2a3c000000000000000069d72b3c20d71a3c0000000000000000d4db823b795fcd3b000000000000000051bdf137c85e5c3b000000000000000061e1c53a948316392887ddbb06b70cbbfbf8203b4ab49dbab69beebbeb83a9bb32f8443a6e0893ba6468b2bb8f7ba7bbbf15a53a5f244cbaf72690bb4fb5bfbb3d32563abc073fba07d643bb40b19bbbc118cd3a2f9b6c3a24e04dbac53e8cbbc7108d3a861fd23a971c5c3aa31d3abb39c4163b44424c3bc0664a3b9cb489ba7da6bf3a7a431b3bb0351c3b31fc2eba4676573af09427baa63101bbd31898bc970317bb4d4854baf1d46ebb861cd3bcb31f4fbb5a74a0baf5ca9abb8fadb6bc7e728ebb7c01e2ba312ecabb39bebfbcfac187bbd174e0bab4b9aebb49c590bc9eda92bb91ce07bbd57cb1bbde548fbc0a4649bb5de28bbaec2962bb7daa41bccb8fe9bab195e2b97f69a9bafb3017bc75178fba055c37ba16d95b39dcea11bbc97a53bc879c42ba586af6ba8032993a40e5d0bc2a10a1bb9db604bbc2b60f3b10d8e0bcabfc05bcd0a6babad742f33a5ab405bd456243bc75fe14bb5061c33a89bedcbcb2593cbc33d21cbbf4a9953a2220f7bc81086bbc89f98abbe4eb77393026bdbce2b53bbc6e0f80bb14e6c2b9d4c6a0bcc05e1fbc50918ebb47778fba877128bc4652a3bb7a4a51bba379a8ba5961073c561e6fbc4751523ff95e863e8ef4243ce23e85bcc3933f3fb6627a3e5c7c013c1f8e20bcb2bc213f16035d3e42dbe93bca882abc5749083f74cf3f3ecccf863b029220bc5e87d33eab32193ebd816a3bb46574bc8dd59d3e3640f43d618571392cd392bc19cc4b3ec384a13d453235ba2a5bd7bc200cbd3d9b2f2f3daca73dba47f59ebcc842e1bb7caf8e3bb9b1bd3ac840a73b0000000000000000497a113caeedf73b000000000000000037333f3c6f5c103c00000000000000007b317a3cd9892f3c0000000000000000b73a543c1839233c0000000000000000c306403cf85a283c0000000000000000e559fa3b393c083c0000000000000000daabc83a5463d33b00000000000000000bc83cbab7575f3b000000000000000007f0a13adb2f62baaae2c2bb6f6373bb5f1ced3a9dd9d6ba178de1bb4e8ab6bb099196394947c6b97106a0bb1792b0bbf4bc583a3cff45baa6e881bb563ec0bb77121e3ade7500ba27fe15bb491295bbcd32903a83e9233acfc420baa1d079bbed0bdc3af28ee53a0e29833ad08d35bb5c1c033bff9b293b7f85233b85b2a6ba80b0ae3ad18b1c3bc0c9153b4031ceb93b27b2b9e7722e3a11c5a1bafb7476bcfa5613bb1bdc60ba5dac4fbb36edb5bc9c3c84bbf339edba3acb93bbacebb4bc4b3d8dbb2089cebad266bdbb80abaabc32cf89bb539f1bbb65dda6bb65da8abc357d84bb4a10d4ba2c79a0bb9d787dbc38a64fbb9e219dba80b15ebbce6841bcde4c15bba17640baa32ccabad5cbe7bbb94269baae5a1ebaaab6a638d62d0dbb42ab3cbcc2184a390c02b4ba4e87f33a9cb9c5bc3a9fc3bbb49514bb1a15173be72ef4bc7dc037bc54fe11bb9105053b57c9fdbcba7e6abc734935bbfc77a93abc43eabc538775bccbbf60bbf8d02a3ac9b9e1bc979f80bc104386bb4b6d80393494c3bcfa9b6dbcae3094bb10581fbaacc294bcdb2a3dbc842e90bb9285b4ba7e5913bce715c1bbd0be37bba8b0c6ba30a9d63b2e0657bcad5e2d3f9994cc3ea6ba1d3c839e62bcc2981e3f60cbbc3ed62f083c6ef423bc7292083ffee3a43e6772dc3b8b9322bcd45ee23e9b708c3e55fba23bae0433bc0940b13e19f3613e3a050a3b959372bce23f833e68562c3e011fbf399fcf97bc5f16283e1475e83d7a562bbad850afbc1661983d4d97703d210c1dba9f4d85bc35eaefbb9dcd923b9c0e74bb1be1a03b00000000000000008e79f43a7a591b3c0000000000000000e1ba063c69ed363c00000000000000007da1333c0f74413c000000000000000072fd2e3cfde0443c000000000000000082f4233c6be3343c0000000000000000f1a1e73b90cb143c0000000000000000d2be343b5d20cd3b00000000000000003e712dbaad322e3b0000000000000000146f793a03f8b3ba7394b0bb48e37fbbbaadcb3aeb61c3bad961c4bb985cb4bbc682103ae120b9ba6c4099bbed4dbebb810ce6398d51e1ba097984bb4651ddbb8caefab9a2b9a9ba45ad22bb416887bb36696c3a8e305d3a65cdc7387ef197bb25166e3a28d3b63a680a1a3a5dc227bbda61b83aa7b91b3b1428123b42c577bacda46c3a3a2ffd3a5de3e33a6452dbb9f0f521babbce9cb8d4c18eba198145bc585a1bbb720a79baece053bbd2bf93bc84a96fbb2201bbba2b3fa5bb2a898ebca7e0a1bba779f9ba14a4a5bb5bf48ebcaac074bb0a0fe6bae77a9dbb54a54bbcfcd1a1bba19337bbd2b192bbe59d59bc418551bb1d48a6ba046360bb10ca24bcfb5409bbab865dba4848c5baa7dcc5bbb9b8bdba1df557bab61700b9a02e0abb42dd45bce27743ba13e3afbad55fee3abf49bdbcffb902bc0be21dbb0b03e13a0005d8bc249456bcecc714bb5b1acd3a7dc8ecbc9c0a85bc7feb8cbb8c47ef3aa92aabbca3be58bcfe911abb44345a3aefe5dbbcaec08bbc523056bbc4f96bba98c3a4bcb38577bc403088bb611b1fbaf81f79bcc9b544bc700aa3bb2be418ba1827f8bb208dd8bb1c8e19bbc81fa0ba7016c03b81660cbccf77093f199d093ff8a8023c66e30ebc5f57fa3e1e2ffc3e91c2de3b5eefa8bbfd90d63e015fda3e188adf3bcf42bebb8016b43ec1dbb93e98c1453b2022babb9a758a3ea7c08f3e7a6d233b02e04fbcc9504e3e75405f3e6940cf3718415bbc8df4023edf1d143ece15f0ba26fd8ebc626f693db801973d2d363cbac9e34fbc77b211bcde2d873b0aed04bc805cd43b00000000000000007fc586bb75b8233c000000000000000020b6803b4ea93d3c00000000000000004a08de3b66aa5f3c00000000000000001c39063ceab4243c0000000000000000c371203cf612263c00000000000000003e37d13bb97e093c000000000000000066301f3b5f4cb43b0000000000000000e599d4b919ed1a3b0000000000000000dad8883a8a8363ba236c90bba9048fbb9ae4a23a7f2969bac84b9fbbbdd5cdbbeadb6c3a838d36badcd66cbb1adcc9bb9d678b3aab0ed3baebb84fbb5597d6bb4aa2c3391110bcb996d9a6ba820488bbb6c5383a0d6c0e3a71cd71397ab742bbbf2cb43a97e5e23a3f97013b3b89d3ba5f24b43af7c10f3b1848303b2f1709baaa9b8f3acbbcd53aea94163b24258b38a7ef1aba07b91a3a4188aaba6c1326bc40451ebbfa9442ba95256dbb355c80bcd9de81bb962c02bb3ceba9bb971a87bca06286bb2ad6c8bad21dbabb6db481bc4e80a0bbcbfcf1ba9a66afbb9b2765bc067477bb5bbe02bb9798a5bbea1a51bc682c59bbcdd985ba95446dbb423120bc68821bbbafe48dba40f50dbb2d9bc7bbe674f7b9a06f57ba19ace939334701bb01916cbc9ba538bb8444e1ba996ec13a2635d2bc387940bcf21950bb7c5b8e3af300eebc60d594bcce2666bb975a123a3dd4edbc9bd1acbc9cb97ebb3957003a251bd2bcfb71a4bc17c698bb4ed059b9dff1c8bc5503aebc9826a1bb09b5a8b91570a5bc294b9ebc2181aebb9311a8bae7d569bc39b17cbc8d098ebbabd9e8baceccd0bb0b3401bca6ee1fbbee9ce2baacf29f3be87a80bb6e3fcc3e8c9a2d3fa2c8e23ba26537bb1342ba3eb5721f3f356fcb3b67298dbad00ca13eac380a3fbbe7a03bd72e0bbbceb1853e1d10e73ef208123b07d884bb29d9513e5b37b73e511d5c3aedf50abc1ee9173e10e2893e901a80bacf883dbc04b4ba3daea2363e4826fcba45385dbc4fdb113d0709b73d0f79e5ba999526bc6af342bcf7623f3be2474dbc2a15e43b0000000000000000c2540cbce77a403c0000000000000000944ebf39668d573c00000000000000002dceb03b60b8573c00000000000000004c42f73b93c23f3c0000000000000000e852073ca9da313c000000000000000029e0c63bcc6f053c00000000000000002a902e3b4151a33b000000000000000061961dbae9b7173b0000000000000000b9381c3a030dceba0f164abb3613dbbb4e2b0a3b4f242bb8a18d4dbb5e7bccbbc6ef273ae8ed34baa8001dbbcde8bfbb7906803a1482b8b975339bbabe21aabb9cacc8399ae513ba2e633eba2a2274bb5a70a63aecf4313a03b4833a546d1abbd6f72a3a597f903a5e9f0d3bccfa3fba41debb3a87cd103b78d65f3b3ab0823a87793c3a6cf7a43ac04d703b110f7d3950548eba5599c2ba803510bbdf87cbbb19ae37bbadb9f0b9d5d992bba16853bc3d3f88bb052444ba6567b6bbd8415cbc272c92bbff5216bb5334d9bbe30a72bc7e2785bbfad004bbad87b1bb55d942bcf10f7ebb0bc603bbbb74a5bbabdb42bc4ece36bb739fabbabe8173bb2bbc0abc17fd0dbbfbd25dba1a9b0bbb1880babbec56d0b857cdbb39440f64ba808207ba3e8382bca6ae9ebbb120d9ba1e0e17baf4b5f4bce1298abcbc8a89bb9e8bc038507bdebcf47caebc13075dbb6948113a28aef0bcfb86d6bc3fb6b3bbf91648baa9c2babc6078b4bcd1bb9fbb8cb99eb91a14c0bce76fcebcf1a4d2bbc326afba59be8bbceac8a4bc69e4b2bb7036c9baaf0a50bc22c292bc971ea2bb6c650abb8aca86bb7b1624bc974253bb7cbe27bb42cc973bb7c3233bc492863e7cda513f9c0aae3b6c27953b4508753e0245403ffaeea73bb7918f3b77ed533ee6d5223ff5275e3b26d1273be796303edf010a3fa1d9d13ac69df8b9ba91083ec338d73ee4bba2b9c02ea2bb9186c13d93dba23eea37d0bad9bce7bbc9f7653dd7f8543ec6724cbbac3b28bcca66753c57eed13d71c84cbb2a170dbc841083bc8e68c836415173bcfcd6ff3b0000000000000000326a25bc72c24f3c00000000000000007d959c3904f6453c00000000000000003b6daf3b56207a3c0000000000000000ae44033ca1953a3c00000000000000003112143c4c6b2e3c00000000000000009d4acd3ba696e13b0000000000000000612a5d3b78c27c3b0000000000000000fba780ba5c86d53a000000000000000086c5b93a45097f39828318bb58d8c7bb14ea1c3b9a95343a1b326eba7271d2bb7365ad3a97fb1eb9cc6a0aba3024bdbbe67f4c3ae57e73b963fb81b9e3009abba23e323ab4946bb9042d2339809e53bb955c8839c8b4ba3a744b353bb84d11bb394ca93a31d2a53a177a3f3b3c6d383a0b15103b71e8263b09988a3b1ffa113b19450339b442233bee483b3b88e0563b73ba03bbf0645d39d1e948bb9c09d4bbda9453bb7bc03dba8bc6adbba7b637bcee6a8dbb4cb414bb3eb8dbbb5bb753bc4a3493bb102015bb3d23e0bbc6a95abc399f8cbb79c423bbf1d4c5bb0f603dbca46e9abb1af69eba11ea9abb009e47bc3ae117bb6f8060ba51bb8bbb6acf11bc9bd7ceba94e10cbac591e8ba39deafbb5ebd2eba7c270f39b4cf14bb164501bbf271abbc48be3cbc50654fbb142f10ba631ffcbc8528cfbcb62bcbbb2acfd9ba7e4efbbc865bf9bcbc56e9bbb28ebbbacc94e9bcb8c0ffbc2494efbb584095ba2435bdbcea6ee1bc8a24eebb580a94ba65b5bcbce1e0e7bc6cf7f8bb255e64ba2b698abc50c6d4bce92c03bc3ee910bbea4d36bc8bdbacbc097cd9bbb4c13cbb229d93bb2c473fbc4ff06cbb51b3f6baad09383b5dfc1e3cc67c043ecfac763fc3ac623bbc35453cd847f33d9168603fd5182c3bb797273c33d5d53d7d1a403f2cb7163b248cf33bf3c2b23dcdec1e3fb08b053a80553c3b756a873d00e3f83e9aee26bb98fee9b94a3d2c3d2ba4ba3e56525abb8cc4a4bb651c9e3cce99723ecb7094bb9b8cf8bbac37aabb8f91e73d9afc71bb3cb0cabbac7b9fbcc1b7adbb023e58bc9699053c0000000000000000dd56e3bb0d2e4b3c0000000000000000dc1fa03b1ec1663c00000000000000000d77243c44b25e3c00000000000000008f9d3e3cb3623e3c0000000000000000646d343c28d3343c0000000000000000fa2f1a3c41b6de3b000000000000000029ea8a3b9924103b000000000000000004bd953a25c658390000000000000000000000000000000000000000000000004fe1733abd09c7b997309aba82e8d7bbe2022f3af1e415babc6216bae952a4bb1bf9143a794044ba692681b9fb8483bbd529c2b801bb55ba9eb04539729e35bb443cbc38a11bf2b924021b3bcc81a0b95664d13a519c9b3a969d183b87fab6398d6d743921f1063bafb66b3b0155083b0000000000000000000000000000000000000000000000000000000000000000c07f89bbdd94bcba822babbbf95312bcb42f86bbe78602bb00ddb5bb4e5322bc84c287bbdbd49cba3d3cbfbbb2f72fbce3b380bb35680cbb9a05bebb8c641fbcde5d8dbbf1922cbb1c62bdbb906e21bc96331cbb5c749bba969b66bb4655f0bb9e1d98ba7be4b4b9eb3617bb0f0aaebb000000000000000000000000000000000000000000000000000000000000000050a4d1bc965ccebc6327b2bb784101bb884dc1bc8bebdbbce64fc2bbe329aebaa3b6b0bc040dddbc7c43ecbb4163e5ba52e490bca7a0cabcd9a1e9bb863786bae75b7abc4b97c0bc308ee7bbb3391cbba01a53bce7c0b9bc16d109bc194232baa10114bc914da1bc046feabb991e19bb000000000000000000000000000000000000000000000000000000000000803f7605353b5c2f813cd046bc3b6037783f97ea193b6e3e433cfc4ae13b54ca523f56b9803a8f94003c387aa33bcf142e3f6b9014b9c0cc993b665c023bd2d6093f68482dbbd48e56ba6ace98bb4cdccc3e25836abb5e994ebb18d62fbcf91e853ef6bba6bbc247b5bbbb7d95bc0555fd3d00000000000000000000000000000000000000000000000000000000000000008a263c3b8d382d3c0000000000000000ea6a1c3c9f72323c000000000000000008a04d3cb136413c000000000000000038b65d3c3b911f3c0000000000000000b1885c3cb0fc123c0000000000000000af08163c75878f3b0000000000000000eaa5d13b1aba193b00000000000000000000000000000000000000000000000000000000000000000000000000000000babfc1ba041824bb5c7824bb3eaf0cbbdd8d09bbfee9e5ba16e238bb10272dbb420ab4ba521b30bba6813dbbaaa530bbe974c0baa9dc14bb22411cbbe47c1cbb2cf23dba8dae06bbd71614bb59e825bb9a6fc3b9e3fcc6bab05ffebae6ad11bb16cfadb969f897ba9b37babaed3efaba00000000000000000000000000000000000000000000000000000000000000007ba69fbad3260abad49c09bb502a59bb131e92ba57e40cbabf2b01bbd3695abbe9c5ebbaf3212cbae23b2bbbffdd69bb9969e7ba927b63baa3d015bb1b0b44bbd37101bb1f968bba7abe18bbe3d24bbb4c5fe7ba96ff67baf4ee06bb053d35bbbe33cebad44f6cba9ed2e9bacd6c24bb0000000000000000000000000000000000000000000000000000000000000000f1ed1ebbfea391390fb0b83a1d0ff73a36574ebbc0b3b6b927469e3ac246d03a0bac4dbb38a62cba3cf5823a7fc5f03af75f33bbd5156bbab92d333a7676b43a689d49bb0567a4bafbf4c7392049983ae02639bb2335c3baccfe5ab816865b3ac25026bb096ec9ba3ab366b95e43193a0000000000000000000000000000000000000000000000000000803f00000000f843103bbc45163b51e6623f2d41863b33bbf23a71fc2e3bd262423fe533a73b0679a73a3100043b26f5213f3c5eaf3b79f8433a79de993a5f44013fd6b2923bfc29b5395d64063a4501c23e57099b3bb1cfcab9cf160cba630c813e4e82773b03c254ba0717e0ba59b3003e4605433b0000000000000000000000000000000000000000000000000000000000000000e54a903baf770e3b000000000000000073559f3b8c11133b00000000000000003430ad3b7b386d3b00000000000000009e24923bb2c3543b0000000000000000fc749f3bbc31713b0000000000000000dceb823b81805b3b0000000000000000cd755a3b6b9d4f3b000000000000000000000000000000000000000000000000c16babbab41af5ba8d40feba5fe6d1ba860ac3ba1d1039bbb57441bba8ad1abbe1addbbaf7763bbb4b0141bb61ac32bb946d00bb8af251bbac0e59bb7cda4abb61b09bba942d2ebb15b443bbcb733fbb34c388ba0cf826bb8ce634bb733f49bbdcc617ba89c4e5bacb460bbba6b521bbaabc203ba9644fbaeda67bbae39cd7ba365ddabade11b7399899083bf2dd0bba22645eba1096b8b90702beba009532bb2b81c3ba892022ba751d2cbbf80487bb4b1cf1ba83be68ba60642fbba4b285bb4ccf0cbb320898ba840452bb359593bbf69106bb1424aeba1c6b31bb6faf73bbbaf326bbb556b6bad84f35bba7907cbb053d09bb639984babd3f20bb826759bbee6a13bb254900bb83ead8ba387741bbd250fcb94847ac38893a12bb258a3dbb390ec1ba77e6033a2906893a55d7bc3a964942bbc6e80439e8ffa23abc74083b5b455dbb045ee1b92e25a03a3a3c033b1a1980bb762286ba2bb3663a0fcd053ba14a64bbfa37aeba4569193a9eb3cf3adcbb72bb52c0dfbabb0789399e8eb23a1f3e5abb5c6be2ba3bd428b8023e843a493a6bbbf74e20bb3bbfafba3693eab9d5ac4abbecdf54ba55cd86b89271b739a4dcf33aa720873a8da5623ffaf8023e65c30f3ba216e83ad859473f446aea3dd0ed073bde360b3beedc2a3f3c3fcc3d290fdb3a2ff3f93a946c0e3f81b2ad3d65247e3a57a17d3a6236e33e60638b3d31af8e3961a25239c985aa3e2853573dc342c9b9478772ba1db3623e4fe5123d3f3bc6ba8e7348bb4df8df3da901963cf071f0b969e480bb2b9abbb86405de3acd85443b0ebab43a0000000000000000c29b9d3b85aa333b00000000000000005ec5b73b5b9f5e3b00000000000000008e9ecb3b1e9f8c3b0000000000000000f05cb93b8ef5843b0000000000000000d5a1bd3b8f45913b00000000000000008052993b802d833b00000000000000008a00353bff95533b00000000000000008487fc3ad62f073b0000000000000000011f7bba797cfeba52370bbb8ce2cbba893a04bbf7d914bba05f3abbd88322bb37a1b83a10bfd5ba0b9573bb5876dfba0e31bdbad00a35bb8e5840bb47bd41bbbafb47bb2190d0ba0c1d0cbb1ed016bb0936a7b9c8e80fbb019933bbe42846bbac016235a73431bbebbf85ba4a1ac6ba384dd6b90ee59aba8f0db2ba256d00bb4cd191b9d80ab4b91f241ebadb1180ba23e86ebad812b9b963f2c6ba404c37bbe1c9c6ba0f9720baf1b908bbf96879bb425241bb17ea26bb7787bfba7fe199bb474a15bbb960bcba329240bb6bd786bb7292e5ba5aae8fba77f310bb4c3f54bb53581ebbeb61aabadbce31bb47b477bb5e50a5bafeb021bb73ffc2ba413787bb6a1fceba82d070bad817f9ba26cb21bb823c5aba438dfbb99b605aba9d27aebac116c3baa779a639d6a3863a0c40b63a2db12fbba0371eb8d85b983abaee033b0ca786bbe4b70fbb25d844ba2049e7395a436ebb8f7baababd943d3ab912dd3a70754abba910adba203cb1391a8db63a8da575bb38d9f3baa975b93821e7a13aac9e0abb104291bac2eab939155963baf58829bb6f30d8ba76fdbfb92acaf3392fe7b5ba867285ba2a2aefb96d558538c4cac03aef49003aed3b423f63cd813e2fd50f3b2d17ab3ac7fe2a3f4423663ec684053ac2d7d63af766123ff04e463eab0ab03ad51eb83aab66f43eb81b273e882b333a21652f3a0ab5c23e9d95053e939e4339f4c628b9ad4b923e88d1cb3d13636c38b347feb9a26e403ef343843d22135cba63eb09bb0980c13d4c100d3d2c6e3bba80d001bb73e99ab92bd4b93a19fd1e3b2c2ccc3a0000000000000000c5218f3b7a673a3b00000000000000009d52a83b8e1a793b0000000000000000eb0bbc3b457f8b3b00000000000000009dc2a33b537a813b00000000000000005a4faf3bf748903b00000000000000008923813bc0f5ae3b0000000000000000913a5b3be102563b0000000000000000b627d13a181ff43a0000000000000000ed8d61bac2c2dfbaa2dcedba36bab5ba00b49fbaa2d321bb7ac636bbbb0523bbe08e88bbbf1764bb9cc335bb593d17bb5c665cbb6bd03bbbd93b4cbbaf8135bb6e2e87bab6fe29bb6bbc32bb48902cbbc8b399bad1431bbbfba72dbb7ce236bb66c4a8b9c67ad7baa16809bb7c831dbbe8413cba9ccd8fba3736b4ba7f84ecba6c8a49baddeeab3aab0451ba17ee83baf3ac4abad0a989b93db69ebae78013bba5fdd4ba14d350bace2415bb78a76abbfea1c6bac08a68ba8f2839bb11e85bbb82cffdbac28543ba11f232bbdcd879bb38810dbb9b809cba06ce29bb555e64bb2e3d1dbbcd5cb2ba69b230bbab266cbb5f580ebb4bb29dba0d890fbba1dd44bb1edde5ba94828eba934decba72b023bb01af8fba9ecf69ba87d388ba5d98c0ba2b5ba4baa1febe3956a4453a27829d3a724333bb986f8eb9d31f753a4488e43abc6699bb2f004fb93970d23af520323b574f5bbb67b742bb36ce9c3a3c781c3b594959bb87ffc3ba3e4db139cc92b93ac3026bbb6ae300bbd44a9e36d5e2923a0aba50bb7cb600bbe0cd94b9976c5d3a70af29bbb098e6bab01207ba42d7fa391344c5bae3798abaa1da0eba89d8103833ccc03a8cb03c3a1fc8213f9c49c23ed533f53acabaac3ada800e3faebfab3ed1ce1f3beddb183b41f9f43ed26d943e97daea3a5a41e93a0b44cc3efeb4783ebbcd273a31f5213a51a6a23e936b463eeda60139b26df6b8522c743ee139163ee226e8b9a32191ba6b37223efb1ac93d108454ba892000bbe38ca13d62084d3db7b749baf57be7bae59ab2b95a85a83ad487dc3a7937ce3a0000000000000000daa5703b803a483b00000000000000008d33c33beb5f453b000000000000000096fad03b87be5c3b000000000000000085fba53b9d19893b00000000000000007c35ac3b8fe8933b00000000000000005d908b3bdd347e3b00000000000000002774583b71eb5a3b00000000000000004762ca3a2d86f23a00000000000000002df6a5ba4d3cb2ba566606bb2579f3ba72e9e0bab6ed30bb7c113cbb706724bb2776b6baf5c221bbb9e42cbb136423bb313181ba19599eba5ce252bb19ba4fbb3bfbb5baf6ae0bbb0d3319bbf13113bb07eeddbade9c0fbbf14614bb149a20bb0422bdba56dea9baeb16dfba526002bbe7446338d5176bba61faa0bab6e9ebbacb1856ba6b78eababf3939b911d605baf5563dba4611d8b8eed493baf2141ebb7203dfba8f7e5fbae06f22bbf9fb66bbec0900bb733088ba1ffd1ebbac4653bb9eb32fbbd162ddbaf2ac4abbc63d84bbbdb0e9ba765d87baf72a0dbb00d12bbb9c1d03bb0a905aba185990bb8e9742bb8e62f7baaa5d8abad61202bba5552abbc5e3e8ba290298bab764fbbac2601dbbde4b60ba91b117bad48c37baebce5fba363da6ba5f6854387060583aa70eaa3ab75242bba8de46ba9f20263af5afc53a7a4544bb14878ebaca3e3d3ae8d4cf3a9a0286bbf9b10cbb1fb4c1b8a296793aa95c2cbbe22dadba90508039f6e19a3aae0440bb6a73bcbad61d1c3abec0ef3ae18434bbaf39e8ba279bb4b96ee2243acb742ebb85aff6bae10e44ba5ffa5039a3978bba98395dba2e3702ba8c153c3867aeb73a3fd3903a9f5f013f6573013f19455d3b74fb563b2ad4e43ea13de43eaa0adb3a9661cb3a0267c33e2b24c43e73bd203a14e23e3a3ed8a23eb1d6a33ed8f4083a3ff3353a44e5813e78cd823e1ecb1e3a4da6233aa446443ea824473e5defe1b9ed6052ba9c98013e7a0d043ebea187ba9d53d0bacd4d803d298c853d565832bae8b3aabab64301ba2b63983a33b8be3aff3eeb3a00000000000000001037443b3537433b00000000000000000bb08a3b44de733b0000000000000000f5e9cb3beb8f643b000000000000000005b7883b816e6f3b000000000000000077a9c53bedc1723b00000000000000006c457a3b2b1e6c3b0000000000000000ba99353bb7b5383b00000000000000006f3ebe3ad098e13a0000000000000000a0ca8abacda1d0ba3d98dbbabcfda2ba355645ba9eee8dbbba3c18bbaafbf7baf6b7c3ba52be3dbb2ae73bbbdbed29bba1a5ddba8a9233bbf67d3bbb569f31bb0550deba768702bbfb8d1bbbca181dbbc00b33ba8dd101bb2ccf21bb69422dbb230b29ba2344b9ba2c90fdba91150ebbc52902ba286970ba737b8abaffc2bfbad83b46b955ac89b91074e5b9e90659baf95459ba632d99b93daea2ba9771f1ba8ae3a3bac39d33bb04a60bbbd90a38bb2bdb05bb53af90ba9aa22fbb54ff54bbb1ec13bbcc3f99bafdeb40bb18ba6cbbf7280abb402c97ba035726bbbcd94abb0d4d37ba91d0eeba090747bbe1e970bb84e712bbf1d9b9ba2a3117bb2e9a44bb4790d2ba32f17fba8279dcba52c30abb4bc683bafe5c2abaa28148ba1a538ebadfe9d1baddc1a1b8b6ef2a3a007e843ab4c835bbce8529bad9bb773a4cdfd93a25fc5abb6668c7ba5966113a91dfcc3afc6975bbc74004bbb2ab8e394674c93a460059bb665e05bb2535f4b8e227933addc585bb7e4745bbcf06a4ba9017083beeb459bb0c8d28bbb48397baf611ceb886431ebb13aaf7bae3d94eba93082339ac08a5ba0aa68bba8c1634bacfeaedb8ade3973a930bb43a3d21c23e9dd9213f5b4ede3aa0c5163b8f47ab3ed3c50e3f3506b03ae567093b1b11933e492ef53ee4c5743ae7a6d83a3a8f753e00d7cc3eab2aba392191613adfc6433e2e95a33ec3255bbad2fe27ba7ef3113e7681753ef07f8ebabdaea1ba5f1dc13de59e233e83a984baa13db2ba23f63e3d8c47a53d10824abacfa1a1ba07a960ba2765563a917f8b3a5f98ef3a0000000000000000bf16473bc9d2623b00000000000000006a738f3b52e5883b00000000000000004d29a93b3a799e3b00000000000000008e1f9e3bb009933b0000000000000000db7bc03b4468b43b00000000000000000d8fa93b5593a73b0000000000000000b09d393ba51e453b00000000000000003f29a03af3c0c13a0000000000000000d8c418b9f77fb3ba23c7e0baf093c8ba08d8b2ba604e1abb353d2ebbf97423bb84ee34ba36e726bace939dbb81e72cbb29d6e7ba96ac30bb041b3cbbc4f530bba16ae7ba9bfff4ba3def0ebbae7410bb36c031baf8fddeba77d30dbb408e15bb5130ba3ae8065abbda2d4dbbd73f56bbcb5226bab9f63abad67791ba68d5c3ba088a3d3923fccdb90a924bba31278dba1b4995baf95120ba5e49c4baaa39e6bac045efba626d71baa9f621bbeb3f3abbedbe02bb032952bb64233bba2da288ba19d511bb5d4ab9ba161642bb5fd364bbed9a05bbfde296ba0f4219bbdc5436bbad4613bb4e2fb5ba22a230bb77b64fbb4072a7ba77222dba83ead2ba1926eaba1c85dbbab304a3babf7fdcba0fd908bb1e8c38bae3e411bacbd5a4ba6afb6cbad79402bbfa7800baef99003a08ea613a3a5c58bbf51aafba8a67083a9baeb33a802451bb5f33f1bac5fc9d39dbce4d3bf0d472bb694b20bb7a2e0e394882ad3ae35145bb7d030ebb976f47b9395b853ada9666bb7ff431bb663022ba49de393a435c07bb335bbfbaa2c7e7b8cf3f873a1b901ebb2e350dbb91b880bac9da1e3866ce8abab5658dbaaf0b19ba1774df37bcf6623a6480ee3a6f92813e773a423fcb71af3a8c75323b1115653e48252b3f61453a3afdf1093bcc3d443e1e73123f6d14403a95e6073be58c243e3727f53ebab89a398208803ad9ea023e6968c33e2922cfb996fd4539c663c43d021e933edacc3fb9744461398e6a823dd43b443ef67791ba7ac0a3ba335ffa3c5f6cc43d8d394fba4df083ba8fb68cba31942e3af73a833a342a043b00000000000000004ddb453b7db96f3b0000000000000000daa77f3ba8a37c3b0000000000000000e506ad3b7d95a23b0000000000000000474c993b7c478b3b00000000000000002376a53b3870933b00000000000000004281873bb697843b00000000000000003d8d403b9a743c3b0000000000000000305aca3a6ea5cd3a000000000000000010721f3a9286dfb907d840bba01630bb58b12bbb22bf8abbd2c701bbe8171bbb4d3db7bad1c115bb774d2dbb3a2729bb7ccfedbab4821ebbaa6c2fbbf3d733bbe6a0b3badbca11bbb70e19bb7b011fbbcd5475ba51f5f7ba50470abb94540bbbc4571437b6dcc5ba3cf4debaf8de00bb99f8f2b8219b45ba92288ebab068aabae1682cbac9d484b9a9bbcfb9fa2919ba5fe10fbb20cebcba3af0f6b972720dbaaa8bbbba1f429fb965c4bfbacdc4dabac42715bbf280b1baa86d33bb56c54fbbce6c1dbb438bcaba9a773bbbe65957bba5df0dbbfe43b9ba4d4834bb7b5139bb92d104bbcab9a1babf3730bbd3b246bbb1bc03bbbc39b6bac38e19bb6ec22abbd85bc4ba36b694ba6254e6badd5c06bb1fce66ba480e26ba635174ba47c38bba2c3e97ba5309c4ba8da257b75917133a4c1e21bbd8da33bb197be63a1833493a9ae479bb806531bba0471a38c952853a08f37bbb2c0c3dbb3c9e07b97d01983a9e4150bb190824bb221db1b927e9833a37d664bbe7e645bb074566ba12f11f3a5a8245bb150531bba9c490bae96b86390df518bb913b14bb49568dbad91bfcb877e1aeba7895afbafab948ba448e95b9f88b223af3950f3b8a83023eebb5623f18bb373ba7f79e3ba40be83d538b473f2760713ac6e4333b345ec83dd7152b3f84ec2b3a7161183b39bfa73d17a60e3fe114b738764aae3ae995853d76a9e33e09e5e2b9e7449839da72463dbdeaaa3e35e68ebaa9540cba08e5003dd784633e0755b5ba90ba93bacdef6c3c2f6ae33db4a39aba3e7496baa692d2badcad883903d0c53a6c8d263b0000000000000000c0bd593b9935643b00000000000000007e419c3bad17973b0000000000000000c639b83bc1e6a93b000000000000000064f6aa3b0d5e9b3b0000000000000000fc22ad3b4b9b9c3b00000000000000002867893b63b0773b0000000000000000d7dd493be1a3313b00000000000000000068c33a00deb33a000000000000000000000000000000000000000000000000322779bab53de4ba948b13bb495618bbb270a7bacbdfeeba474d04bb810a08bb3958f2bad201fcba5a5110bbe64410bb6b3f68ba7986c7baa7d5ebba7b3ef0ba7c56f4baf9c430bb77a58cba6335a2ba604b0cb9ff1987b9fbdac5b9ca5872bac9541d39a94932baf76d7bba4acda2ba0000000000000000000000000000000000000000000000000000000000000000c94c07bbde60aabafa7008bb05681bbb0b8df9ba1bb18cbaa3490ebb920620bbacf0ffba8f7a9ebacab71ebb07ff28bb7fe4e7baece0afbaa63500bb804f0ebb3d56a6ba182842badf8f5ebbb44975bb192f2dbabeb41dbb332794ba27ab98ba2372c3ba05d988ba5a54cdba9b13e6ba0000000000000000000000000000000000000000000000000000000000000000157154bbea3715bb2dc9ef38effb683a410244bb56911dbbeafd48b8445c643a8df14abb72852dbb1de0cdb9d949653a021822bb373113bb5c4ad9b988ee313a57f687bbd7c905bb6348b3b916da603a9385e0ba115255bbe1380cbb00f8bab9317a07bb0e1c0bbbb5ee98ba02d3ecb8000000000000000000000000000000000000000000000000000000000000803f1120a43a319c583b2bab5c3bde15633f5037413a8230253bbfc14a3b827a423f0bc4d3392e22f73a0fb8393be710223f8e6c8938b7a9943a247e023b5163013f656931397aef5a3a0c11da3a5a4cc23eba48d2ba42e7e5ba4633e1b968ed803e24d0b1ba70618eba9b789cba38cf003e000000000000000000000000000000000000000000000000000000000000000036cc743b7210693b0000000000000000f2738d3b0bdc7a3b000000000000000084719f3b264c8d3b0000000000000000e1818c3b2ebd753b00000000000000005ff4973b37a0813b00000000000000009c38743b1afb713b00000000000000003d1c2f3b6e1d1c3b00000000000000000000000000000000000000000000000000000000000000000000000000000000384d6fbb6902473cb551893c3ab4153ca9238bba593e4c3c63b9863cb132223ca681733a77763d3ce70a573c3be6083c9fbb013b31ac113c3452433ce6f2ee3bb456363a026fb53b04e5263cecc8d93be134a1ba82727f3b7cf8113cb11ea33bfd738dba2f6abe39b044d43bd959d43a00000000000000000000000000000000000000000000000000000000000000003bc12b3be09d62ba9519aa3bdf41fcbc766fa53b48d048bacda0f63a360d0bbd4946843b5da6733aa71543ba1bf310bde2e7713b909eaa3a6aa101bb2a31fabc6c3d703ba6a563ba3f0d1b39cc6da6bcebca113bba3e7238aa76c63a25b313bc1423e4392e7153ba89de2f3a189d0e3b00000000000000000000000000000000000000000000000000000000000000006e6704be2b48fabcbf646cbb63f19f3a030900beeeb218bd21e5b3bbaf0e8aba73fae2bd86911ebd2b99b8bbc67548bbcbc1bebd4fbd0cbdcf77bfbbed0adabae6c198bd095cebbc59e350bb3bc5d5ba4fda5cbd8e8b92bcbccd94ba807395b9cb33e6bccf0ac1bbdba8253b46bf2d3a0000000000000000000000000000000000000000000000000000803f0000000038223f3c1da592bdd8d79d3fa2313bbd95cb013c6c472dbd9434833f533640bc72cb573bb418d1bcfa35543f5fdf173c19e5c53a0d1c9abcc509213fc5a08b3cdc25533a4b499fbc9c14e03e477b6b3c5d2d58b9e509a8bc807c803ed9eede3bca421b3b77ded6bcce6f963d44afcdbb00000000000000000000000000000000000000000000000000000000000000002163163c1abb11bb00000000000000003013f43bab510d3a00000000000000003772d43b0ac9d13a0000000000000000a4ad473bd5b9113b0000000000000000f002d5b94db31d3b0000000000000000f51863bb3353283b0000000000000000bfe3d4bba81e053b0000000000000000000000000000000000000000000000002979a0bbbc54f93b67c2043c7f14443b58190cbc714c593c993ab33c2a9b393c4d3b8fbbb3667f3c8cafb63c9a89573c60ba5fba47e9663cec289e3c2583503cf05ab2390ffe383c18b97a3c58dd2f3c707c36ba1805013c3a346e3cd4340f3c3d4af4bab04e763b3a3d393c34d9c43bfebe37bb5030d4b90ae4b83b6a64233b3b03ddba4adf1bbb85e2ef3a8ae9edba392ee43a22c3acba8cdc2c3c640fbbbc6233273b074515bb46df703cf0dfbfbc2113ae3b48cd88b9d527143c7eb107bd98e2aa3b4472793aa23aa73ba9980dbd7831a03b5d21a739f75a413b25c0e8bcf150a33b49f5e0b9eac4553beb608fbc0678fa3aade833ba806c793b9afb99bb4852d1391a1fb4baeb8dabb82094ec3b0a8ff4b96273cdb94eb7393a207f453c7e5e96bd012b2abc7f8aefbb23cb6f3bd99f0abeb86e04bd1798d0bb469b943b334812befe8d3fbd335538bce5c49cb96b8204bec04746bde55c39bcfde90aba06cfd6bde97c30bd78b621bc07109cba0934b1bdb8ec11bd7c32cfbb00ff8cba4e4b74bd94bfbcbc373ebebad3ea7c3ad159cdbce260fcbb4470313be9dcc33989e2d4ba388aa23bedd04e3bfe6cb53aa39e853ca02f06be7c6c9d3fd6779a3dce2ca53cd22f11be84a9963fc8d6943d81a5383cdfb9ccbd50ee803fef66cb3dc5f9ef3bfa758ebd5313503f6195cb3d6a81653b465157bd82101b3f4129bc3d5622673b194943bdf6c4d63effee933dd709b83b2b8430bdf80c6f3ea95e363dc88e3f3c588103bd822b7c3d3c51823c8bf8173cd356ffbc15a874bd943126bca8b0a2bc8080c7390000000000000000889997bce5c9e13900000000000000007ff836bc3dc89d3a0000000000000000b6622ebc2c6e153b000000000000000036a118bcc407513b0000000000000000543e52bc4e0c3a3b000000000000000048d682bcd72e4d3b000000000000000084cc5ebcb3c8c33b00000000000000004dd556bcb9b3613b0000000000000000e2db65bbdd21d73b6898af3b9aa7663ba0f9b1bb6879473c92e4703c53891e3c36cb41bacc103d3cf9b2613ce6f9303cf88dfeb978f33d3c1dfd903caa5f4f3c4a8cbfb8b220113cf1bd443ca645273c1b284aba68b4dc3b81304b3c559a0e3c5d5c2abb32cf793b006f193c0f27a73b721a15bbd010f83830f9813b2dbe463b8bf104bb54e111bb13df053b8a67e8b8f522dc3a2de48db90a263a3c4eccbcbccbce853bcda566b9fed7563cf38debbc984d933b388d913a8981d13b14b904bd20aebf3b7a2b5e3a7117be3bab7ff6bccf87913b7e81023bdd406a3b370fbebcf1ec813b8a6793394355ae3b68a96dbc06d1083bd6da0b3a660f923b16fa8dbbf7b9bb3aaf416eba6385003b8640e13b52cf56bac9d8cfbad960143bb91e2a3c6a284abd78d808bc2ff668bc40c5913be6b9dabd81ca17bd37e490bcc41d933b425fd8bd464f40bdacf788bc836f26390925eabd77a663bd40fc92bc2fc118bab7f7b4bd1d4243bd4af565bc36efd8bae40f9bbd7ea527bd9c6d1dbc4e7530b9b7d24abd4054debc996a97bbffa24c3afaf7c7bc628449bc367001bb876b633bd88b03bbf285173be1ee583b65961e3b673e703c25f204be10dc833f0abd843e3ea3a53c453417be708a823f0ca1823e7125333cee85bbbdb237563fbec37e3ee2b71a3cb750b2bd669d363ff747623e5fa5de3bf8a384bd5810073fdd4f393e7a2ade3b0d0a7dbd6883bd3e22620e3eb683a13b5ae34abd2c99593e055cb53d176c453c6f0632bd95b0823d32931f3de408203c04cafcbcd4851ebd354255bb38423bbdb0b82f3b0000000000000000911e41bdd538b53b00000000000000003886fbbc79ab8b3b0000000000000000058adfbc2e8b953b0000000000000000af7ca6bcc6fc9e3b0000000000000000092ad2bca4139a3b00000000000000004121b4bcffe3503b0000000000000000ed7dcabc8a06af3b0000000000000000ea5997bc8fe1743b0000000000000000b7c7c7b9a5cfa23ba877163b4b684c3bd3800dbbf6f8213c3dd4313c6078103caad4d8ba7aa1433cb0ba773ca6e1553c5f8cb2b9955f243c71356e3cc8e1453ce35a82383cc91c3c967f533ccef3233ce4e9aeb9d498bc3b8bbd233c6d751f3c870ceeba9aae503b346a193cafb7d43b022720bbae04f03980138a3bdff6663baf9dc6bac0e708bb04cff13ab177e9b90ec4b33a8b7cae3aef0fe83bae4fcabc06f7cb3b0f79033a64c5373c7ffcf0bc20d9c93bd96dc33af825ff3b8570f3bc61e7cc3baa9b2e3b98a3d83b0b83d3bcbfdcac3b7a42133b870d663b9539b0bc59a7c03bd63c2b3a6246ad3bcab54cbc1f49363b3a3d093939c18f3b2c7039bbc9777b3a346b5fba6434593be841ac3be9b0c0b9efa139ba9770683b923e033cde0917bd46dbcdbb0351a1bcfb96353b60b3aebd580e30bdf4a0c7bcacba5e3bec1ed0bd2dfd7dbd77a6cbbc487b543aab80c5bd0ac480bd529cb5bc815abbbaf1b9a8bd435968bdecaaa0bc078a96bad2a586bd2f5c44bdb20d72bc6ad9143ae0ad3ebd680404bd9f8304bc99deea3a48d2afbc025d83bceff6e6b9c913373bee7f7cba0d89fbb95d3a5f3be3664c3ba3a2273c411fdbbd0c74563fadfbe63e0d7a843c141704bebf31543f6d48e53e385b483cea0ad3bde0d6383f87a7d13e8cb0043c206ca9bd1dc5153f22e5b33ec5bfb03b51aa89bd8fb0e33ecd39913e01d2c43b395976bdcbd99d3e36b4563e31b2f23b6d515abd02ac333e83d4073e15a6363c003f38bda0ea683d75c0713df5bed83baf5202bd06eef0bcf14002bba26f89bd0540833b000000000000000031ae98bd11da113c0000000000000000047667bd15b6103c0000000000000000a40232bd9773e13b0000000000000000457208bd09fcaa3b0000000000000000493007bd9b96a93b00000000000000007ee705bd0617a03b000000000000000009bff7bc83629b3b0000000000000000b88dd0bcf52d1b3b00000000000000009424a1b9dd827c3bb9ae583b2f66693b6188f1b9efc9f23b01be203cde59073c2612b9b9658a0a3ca2a94f3c49d1403cf218423ad04a1a3cf88f583c9bcc433c7f5b7a3ab49bbd3b9805f93ba3aaf33b4ea1eb3a4668323bd8294e3c27cb043c483392baab0d273b41bbd53b1789d43b6afa03bb98c3333a78e0483b4fa1333b278c9dbaba5da5baad74a03a170f043a9858d63a77b5cd3acbc4da3bb668afbc98cacc3bc194e63a2f65f63b159fc7bc8878dd3bd7e9053b701b9c3b171fbebc8443e63bfc672a3bdd9c773b5d6fb5bc8c9c843bf7a61d3bef9ff13ab9548dbce2bb963b7c210d3ba09e0b3b5a1c00bc7031503b1aa9ed3934d49b3b3c9a4cbb3918ba3aa2680a39c89a653b8b7fac3b9e2b30ba1b2e68ba19d1803be5abc53bb1ed01bd26d646bcc043babce3da453b75288ebde58f50bd49d6f1bc5ade1e3be658a5bdd2028bbd460de9bca63ff3b9fdc5aabdc8dd94bd3c4adfbcb961e8bad6ff71bdf4e651bd8312a1bc10ad39bb625b66bdfae96dbd894964bc7b422dbbb92112bda2cd14bdfd2c23bc4fe20d3b9ea796bc175d92bcbdb202bb71762c3b3c2c8aba8c5fa7bacfc93a3b8704743b886aec3be07fb5bd02d0243fe83e253f75f6423c5e2fcebdc47f203f7074233f0e840e3cfcf59dbdee250a3f5b76103fa6f8b63bbc728dbdbd0be73ebf25f73e3eb8553b0caa35bdd713a83e82bdb63e065ddf3a306854bdf970753eb68f8e3e25b1a53b9cfa35bd0c46093e19852f3ed591f23bccfa1fbd4917333ddc2b9a3df17f9c3bc394e3bc6cffccbc2f93f5ba8356b4bd2aadfe3b000000000000000070cec2bdcd94563c0000000000000000cffe88bda897203c0000000000000000501c5ebd272c203c0000000000000000b2a3eebc02caa43b0000000000000000d5131abdd62adc3b0000000000000000215008bdacff653b0000000000000000d1e90abde298813b000000000000000022aad9bc9d91d73a0000000000000000579587b92725273b192d063b7b40a83b1cac0dbb42badc3b7156283c18e03f3cf18914bbebb3083c44bc653cad006b3c88869cba69b5ee3be102643cd4ca683c754c343981c1e03b71df3a3cce02423c6d4bcbba4e92b93b1d80063cb8c4343c5cb0f7ba5fb3203b0756ef3bf43f063cafa032bb60451c3ad9cc3d3b0129a63bc5ad33bacf1460ba4322cdb9a3c0923ae95c083be906543aaeb8953b2ee86bbc2d88d03b77f7193bed69f73b610c8cbce77c033cb8cf363b27bdbd3b602b86bc0168063cdb9c623bee4a883ba49f61bcbb36e53b45f24e3b237f463bed8953bcd5adcc3bb122c63a910f903b66d0e2bb3a586a3b37bd3b3a7c7d8a3b75349fba279f8f3a5cae23ba1366793b6a286b3b72ad1fbaad7459ba430d463b74afa23bde53e7bcb041abbc1c32c3bcbe16663b86de79bd42ed8dbd42f709bdb3c38e3b869099bd204cb6bd451b07bd002dbfb9454693bd6b67b4bdb17f07bd9a43c4ba142781bd6f1a9cbd3cb3e1bce4d316bb3f7547bdf32d7fbdb134a6bc1f1635bad32d05bd01d234bd77b13ebc8ba7e53abb7858bce02fb2bc44c40abbd2f55e3b4238be3a16ca36bb4c2b793b6223723bb377bb3b4e6488bd13a5e63edd90573f5459163cb857a3bd6637de3e9ce3563ff06bdd3b1b4084bd9ff2c33ed5c73d3f11d49d3b26775fbd6146a23e073a1c3f110c4b3b8e863fbdf5d0793e0833f33e4145a23b56bb2ebd3bad2b3e1b6fad3e8a08903b076216bdd4dbbb3dd1db533ef1ecea3bfbc0f4bc5ad5c83c361ead3d6f77a73b7d6dabbc7177c8bc53a015bc795bdebd94cc263c000000000000000065b2f9bdaf678c3c0000000000000000adc9b3bd9fdd583c00000000000000008b1781bd9cca393c0000000000000000019f3abd3b54073c0000000000000000372c23bd6cc4ce3b0000000000000000961f17bd20058b3b0000000000000000de9e19bde1f5cd3b0000000000000000ed2cdbbc16169c3900000000000000008f6eadb966d8ac39fddf803bcf8dbe3b78fe44bbdad73a3bad133b3cca066d3c325cabbadb209e3bd8c5643cf18f743c9b19fbba92b7ae3b96126a3c872f843c0b5833ba121f9c3b1d1a243c34364e3c4418bbbab01e603b4c7c113c0611593cef4c83ba30d7d23a67d0b03b99e9023c404eabba4ee7b13991d8f73a5912aa3bb09a7abaf1dea2bad15591ba9489e23ab84b683bc71a023a547a803b9304cdbb06d6173c9e56cf38dea3c63b3263d0bb9e1e0f3c514fa03a3c26223bce4e16bcad33233c2565463b8ff9613b7e60fabb61b5db3b61d9273b8bb4df3a93bbc5bb4922b63b342af63a15ea363bc85a25bbafc6933bc7d0f33858c6263b9b7e0e3a21bc303af82858ba37beec3abd8b1d3b47ecbfba17a8d4bac469e73ab9ac6d3b4139bbbc5a7415bd0120babc0113bf3b8fc54fbd8987c1bd2cd105bd97a7a73bdbd378bd2964cabd10f604bdc1eeb3ba69a57fbdae1dd8bdf9510cbdd49429bb52f14dbd52f3aabdeb4fe8bca8f50abb59b426bdc8f998bd7197b5bc1d76c3b9bcd1cabc6ca344bd51ba4bbc8d50ae3ad8a4f0bb9715d0bc6bdbb6ba205f613bfd5eaf3b5775aaba470eba3bd069813ba86d153bf9753abd7e30833edd00843f5d22b53be92950bd022c753eaff0833f1904553bd36f13bd5736663e97935a3f33ce163bc65b11bd8c8b3d3e73043c3fd0fb023b7294f5bc0d38123edf610c3f6af52e3b946bf2bcb80cc83d2885ca3e736a0a3ba05dc9bce2aa533d087d6f3e649fb03b7b4895bc53b8c63b7d54af3d351f8b3bc18d3bbcf4b1c9bc1fe2c6bc101204be1c485a3c0000000000000000c2a50ebec173af3c0000000000000000caaca1bd45b3793c000000000000000031e985bdb8ec483c0000000000000000bf4823bd0b0e053c0000000000000000474314bd50d6d83b00000000000000001920e3bc5962213b00000000000000000bc305bd9826c93b0000000000000000e710ddbc5e2d573b000000000000000089efeabad34c8dbaac86ae3b4d5c0e3c11db92bb935087ba2b27533ca55aad3c62b282bb37c5253bb111713cc6b0b83c696810bb6be8a13b44ae853c9ab5983cfe9815bb76ca733b184c393c9680773c252803bb64d8233bb26f173cb80a663cd00a04bb6300013a085eac3bf052383c975664ba437858bae6c552397cb4c83b9e64e1b69475fbb9518739bb35d80b3bc7eaaa3bf654ebba1a98783b4b3428b74c3b3d3cda8eefbaa5f3853b8b23c83b40975e3cee7db93a2e542f3b6765cc3a767b433ce5e3193bdeceda3ab00b2ebb9ea0263c1ff03b3b9c80233b0080a8ba9510053c669c073ba2b8ee3a2c9d213a9261a53be4d85c390ebe293b16c4023b6239873a0d9505bba4d6c0380cb1c63a0668b8ba1704ccbaf795ba37c8ad003bc48cbfbc9e9688bdf0afaebc2412cc3b48bb16bd109503beec5ef6bc9f24de3b2f3f50bdd4840ebe5da81fbd79d28c39f9385abd512000be419e24bd8d7c17bb6f1a31bddd34d1bd2b0c0cbd08f068bb05cfffbcb855adbd3e01d2bc629889ba4e0980bcd12172bd546773bc88ee8c3a7248c9b80967d3bc380a8eb96f82673bebb41d3c001825bbd8d5ea3bc4f76a3b6ca82e3a86879bbc43d9983d47b09d3f1e12a6b910709cbcfe6d6c3d0f6c973f9299263add787dbcee25903d9a81823fdd57843ab9c184bcb5288a3dfde2523f75ac1abbc3cf5cbc9c535f3de0311e3f2b39e13afba272bc2741023dd471dc3eba14a53a1d1b47bca6e00b3c11d37c3ef22f7e3b70cc98bb0b38d8bbf585953ddeec293b78a32bbb0a8de0bc640e52bd1a4c07be337b863c000000000000000024ea06be87e2a13c00000000000000004f0da3bda94c683c00000000000000009cdd3dbd3d873b3c0000000000000000a904bebcfb03e03b00000000000000000271a7bc1af35e3b0000000000000000f3a29fbc4bc88b3b0000000000000000b5debdbc486ea33b000000000000000075b0c6bc95a2dd3a00000000000000000000000000000000000000000000000094d415bb70029338a7f34f3c1d30893c6ca836bb1e86133bec66703c8f6d833cee10a8ba1507263b6a62463c3dcf623cabfbffb90ee9803bbf60243cf202383c269c92ba25e52e3b3d5eec3b93581f3ca02dc4babb04a63ad92a6f3b947a003ca87f62ba5aa5c6b8d5384e3a4839cc3b00000000000000000000000000000000000000000000000000000000000000001a90183c4631ee38ee9e3d3ab9078b3bcceb1d3caabafe3aa372363aaab81f3b40e30e3c39ad323b9b4843b9be1e53b958e7c63bbf1d673b548e4fbae8601eba8e6dde3b7017e63a5f6c753a9ad05c39b584b73bd210da3921b9b3399f81f33ad446f03afb6cb6b9bb6ab839715a133b0000000000000000000000000000000000000000000000000000000000000000daf811bdcd1504be3866f9bcec435c38ce2a1bbdd7ae01bead880fbd431881bbf4ad25bd5431e2bd201017bd02cccbbbaf870abd3b50bfbd30a306bdced9d1bb8847c3bc975f9abd97fedabcf1b181bb1e5c2fbcf69459bd9eda89bcc9b19eba76b7b23aec92edbc503a9abb21d7b63a000000000000000000000000000000000000000000000000000000000000803f86510abba5930a3cb6f469bdbd029e3ffb5b07bb115b703bcd5205bd0d76833ffda4eab91eceb23a924e74bcce1c543f8ba70ebaa9f73dba191357bcb4a6213fcaeb3abaea036dbb220978bc408ce13e1c8b1f3a9ee001bb1e21a2bce372813e8fcb273ab0b5173abd53e3bcf01d983d0000000000000000000000000000000000000000000000000000000000000000ccc97cbd544c5e3c000000000000000023b8bebc4d8f3d3c00000000000000007a9989baac38183c0000000000000000ee3aff3b2139eb3b00000000000000006224003c4d248c3b00000000000000002d84d23a4382953a00000000000000002af311bcf95c65ba0000000000000000000000000000000000000000000000000000000000000000000000000000000022952fbb2ae82e3cc1544d3c2c45ea3b6a7777babe4a3a3c0a3d663c1fd7063c2863a03a22b72b3c3862523c3840f93b428a9c3a467a1f3cdd95313c0857ed3b4147173a9dece63be0d41a3c9238d83bf6f4bdba61ac943b07beef3bdb45ba3b7e9006bb8ea9b03ace5bc23b56800d3b00000000000000000000000000000000000000000000000000000000000000009631b83bcbd1623a77e7c43bc96b2abd3311d23b0540163b66a7483b082c29bd9318b73b2f42003b8beaa1bac45320bdfae6b03b646b223bfcfacfbad0450abd3dda9d3bbc16e33adbc4ca3a98c0c3bc98af433b853e7f3a3b81813b652f39bc8f3f463b81c647bad05ba43bea330e3a0000000000000000000000000000000000000000000000000000000000000000c039c9bde5bf12bd983854bc104340bb1f18ccbd1a9929bd227e79bc4889d7bbcb55bebd6a452cbd00cf8cbc3ba702bce72ba5bd94f81ebd953f7fbc6e0500bc252588bd9d2c09bd62e33dbc6222d6bb6ee446bd9b3fb8bc9c92f5bbbb276dbb11ade9bc59e841bcab793aba6d0819ba0000000000000000000000000000000000000000000000000000803f000000005ba56d3b4d7630bd3712953fa524bfbb6dcc11bb5b32d9bc0e8c783f4760a43c43bdafbbaa5b8fbc6dbb493f4676173d48b803bc367a98bc715c1b3f28f8223dc65336bc87f4c5bcd5acdc3e3481063d4955e7bbeaf0f8bc12be843eebf4993c18ad31bb8fd926bd30f0c63d8e6e5cba00000000000000000000000000000000000000000000000000000000000000003cf93d3c3f085a3b0000000000000000c436943c2780e93b0000000000000000edd4af3c6abf2b3c00000000000000005a449b3c80983b3c0000000000000000a55b523c092d253c000000000000000056bf873b871cf63b00000000000000006890bcbb8b2a423b000000000000000000000000000000000000000000000000896838bbcd3dc23b8bff9f3b9fba2a3bed25febb6bcd433c9f657f3cc0ca2d3c28b0a6bba54f693cc38a973c8901443c45ec1fbb586d563c571e883c4856543c70971f3aae5b033c94cb693c6d93343c156741bb5360f33b74f2663c4bd6133c64c46bbbc171633bace51b3ca78cf43b634b50bb961cc9ba69c6bf3bf975173be255ffbaae4814bbdeb2063b6be027bada35f73aa12e533a8c46313c5fc9febca654db3bfb5e663a86c7913cd4ce13bd3b5a0c3cebdeb43ae1a7383c1a522bbd06e5003cfa6c773bc10cfe3b13d823bdbc2fc33bdcff4f3b5a2e843baf93f7bc429ecc3b54e4113b9973023c585da4bc0864913b8191723af00e153c8cbfd3bbc8faad3a372179baa2b8d23b6015dd3b03f063b935b756ba0af19c3b0a2d283c5d5f64bd257d51bc182f3fbc82d81d3be259d8bdbe0a19bde12e98bc4c1680ba7b37eebd38d24dbde9e2babc820bd3bb53afdcbd0dac57bd1632bfbcd54f19bc1823b8bdc3443cbdfd8aafbcbcc819bc714d9bbd6ead22bd7d9f8abc8ed7dbbbfbb657bd3800e7bc4cd60fbc3bf963bb5762d1bce2c724bc3ae12abadb6eb33a22016fbb15fe073b5f5d6e3b0e022b3bef24cf3bd0d0b4bdffaa943fe8f1e03df5a4c03b2f38cabd880c8d3fda3ae73d0c6d12baea688dbdae84703fd483083e64f8cabbcd1c5abd99e4413fecbe053e51d2ecbb7a3f37bd0921123f7daee83d38b4f6bbde554dbd4615cf3e2ac4b73d17e58bbb9c4655bd0815703ea1cd6b3df9e0d83b493345bdee09a03d2a58ac3c53c1d23b6f4b28bd5cca30bde7830bbca62491bc768b5cba0000000000000000277d37bc4c2e053b0000000000000000df4d483bfee5f93b0000000000000000ada61c3c4750203c00000000000000000ab84a3c06c1453c000000000000000040721a3be73f183c0000000000000000dda6bebb14f9e93b000000000000000024b980bc7983b03b00000000000000006ba886bc7c69743a00000000000000009e86acbad9d5ab3b388d463b34b51c3b6a6d95bb36352f3c827f423ce2fd083c7ae6a1baa8c72d3c9c6e4a3c062a0f3c854b1ebb6bdf3e3cad5b703ce2d1503cdcf212ba0426113c51dc423c46060f3c16c105bb8147ce3b8b17363c31b0193c0baf6abbae439a3bee3d343c3e51883b253547bb6df147ba29e2a53bf3222c3bfe640cbba0cefbba51f0dd3aeba608babd2c443b8a987d3a0f052e3c6731ebbc8af5c43bbee2183bcb006f3cf01f1cbdf7eccd3b828b3c3b02d8da3beef71abd3229f03bfa18783bb3670f3c16e40ebd0f4dd03be51f543bbfffa73befd3e2bc287fd93bdf9e3f3b6ca50a3c32a182bc9d3e683b83b6393ad119303c4de04bbcd46f1e3ba7d58a39d46cdc3baf89c23b244969ba9fe332ba56aeac3ba90c183c2ed424bdbf8ef7bb0e6986bc5955b33ab869b2bda4af14bd4c6ad3bc1ea90fbb6780b4bd26783fbdfc90c1bcd7d2e3bb6150c6bd2aa964bd0992e4bc949837bcbc0d9fbd225341bd2069babc012421bc18aa8bbdb75433bdb1ea9ebca8140dbc2a903dbd6033f8bc67d61dbc79f665bb4c5dc4bc56486bbc241d5fbb21ff5db941e532bbb4c5753a4be9353b37716b3b3ef8d93b2129b8bd6b107a3fab8a8d3efe9fda3b70f9d8bdccf3733f71e58e3eec689538597183bdbbfb463f0e73873e798492bbc1658bbd45ec293fe3b8763ec583cfbb0df25abd24acfc3e0e60483e0cc8d7bb061979bda8a1b43ead321d3ed15c91bb495254bd728f593ea00fca3d207ada3b3aee5cbd9812943da9df353d9b2c023cd2821abdaf7efbbca898dbbabc8812bd1de8b4390000000000000000d7f6efbc3878dd3b000000000000000058f40dbc63cf1b3c0000000000000000444b85ba892e473c0000000000000000de033f3b7522573c0000000000000000f75182bb329b323c0000000000000000ec4104bc90ac023c0000000000000000a1a9a5bc16acaa3b00000000000000000b26a4bc32d688b90000000000000000cb0294392a89953be672a03a162ba83a496444bbf0b5303c3397163c9561f33bba6613bb86d4303cb617623cd48f343cf871dcba20f9213c3efe683c53133f3cc00c8eb9a8580d3cffd6543c7aa8293ce7d167bb58d5cb3b60e43f3cc100193cc07436bb19cd163b07730a3c641fea3b3ee135bb2b9218ba1249a83be93b523bbe7cfcba67aad2ba8e3aa63a86f613b91243323b33d2913a2882ed3b4bdce6bcf4e1f13b07194c3bd5a4413c15ad0fbdc267f33bda1da53ba084193c40230abdf645083c1dbc853b3c5d003c6101f3bcae51f43b1166753b409ed03b4d7bcabcb6c8ca3ba76b323ba2f1113caf9b60bcd5eda43bd67b2b3b4573163cb02b5bbb94fa073b48a59eb92ba9043c34e6843bd18d9839865583b9891bc73b38eaf73ba70e09bdc7a0c6bb974b97bc8ddfef37a1ce99bd6f311fbd0c23febce2719dbb51bfb8bd9fab6cbdd0b901bd722029bc7be9b2bd2ea977bd5659fcbc0a1e38bce87d9bbd5dc165bda451eabc31e945bc00f778bde93545bdc684aebc765307bc40f72fbd17ee0ebdecd96dbc13bdaebb2b6caabc6eb78abca7b48fbb3ff59f393e1c3ebb020e96bacfad073b443ee73a7fbd983b4ae699bd88eb4c3fee63e73ee9b7b43b6ec5c1bdff68473f0513e73e0a57903946a89dbd7d572c3f1e43d33e706964bb07ac88bd3bd00b3fc4a4b53e8f5dc9bb008270bdfbf5d43e89eb933e8a13afbba22c75bd7094943e9a9e5d3e997836bba7cf6dbd55bc2c3ea442103ecf1ea53b7c0754bd0f8d6b3d0070863d2b1c973bd22414bde958d8bc4681103b796244bdde11043b0000000000000000231d41bd9581253c0000000000000000a17ec3bc92dc563c000000000000000015ec3bbcb43d6a3c0000000000000000cf8195bb2283743c00000000000000004b3e0bbc442f3e3c0000000000000000af4083bcfd84013c000000000000000068e5bbbc4c01883b0000000000000000a17ea8bce262ceba0000000000000000ad450d3a914e8d3b0bfcad3a3a8ff93aa58725bbaf830f3cba75123cb240ef3b790e9dbae53e0f3cd6ef413c5d5a263c1e4dcaba83c41a3c27c1583cf2b8493c7ff17a3a2463d33bacd80d3c26fedb3beddee5baabe8c03bfed6323cfbe0123c51611fbbda9f143b5a3f003c0a65a83b8e204fbb654016ba79438c3bbf5a593b7490dfba70facbba00b93a3a57f5d03a39bf363b1b38f83a1b3cc93bd7c4c9bce0d9cf3bbc4e8d3be67f263c561bf2bc7ebef93bc59b743b8fccc33b3b5ee3bc66a10d3c71b6a83b644ae03b1c32c6bc61b89f3b94e1353b552f403a6503a6bc169fed3ba8988c3bbd2d083cd9534abc47b9913b745f953aea77fc3b100615bb55fef73a0448893ab003093c8ee8a23bd58a01ba031db3b9eb8cc83bc3b2e43b884803bd16110fbc063ca5bc226ddcba397887bdb96d33bded5c05bd93c6bfbb348999bdbc0b76bda22e0abd76582fbc2eaaa3bd4d1c8bbda09e0fbdf4e762bc6fc164bdecaa50bd1f2ed2bcc2c540bc796962bd5fea5bbdc1dbd0bc0c9e30bc5dca10bd248f12bdc4ee7bbc950ca6bb51738cbc7610a1bcd893b0bb94cbddb97de710bb445136bb60001a3bbf6f193b7736393b779f7ebde5f81f3fcec0203f061f243b70d19abda786193fc0751e3fb9d5acba65db71bd0553033fa2910b3f976397bb870770bd5326da3e6739f13eb4aac8bb19f21fbdc3569f3e5699b43e965be6bb45b05cbd6897663e2dcd8e3e89ba84bbb69444bd967e013e075b333e353ed63a533638bdc8bf1f3de258a83da662533bb32ffebc45f7dbbcfdbfe43a97447abd96b2553b0000000000000000748e6dbdbca73d3c00000000000000004758ebbc7398753c0000000000000000ac3383bc0438883c00000000000000005ea11dba76ec773c0000000000000000fa6d15bc3412433c0000000000000000023556bc1e9bf73b000000000000000096bbbbbc3e21433b0000000000000000764db5bcf39d57bb0000000000000000b30288b971064f3b89d0af3a80e9043bfc583fbbf789e43b6ff11b3c8b16143ce5af43bbaddeee3b7b376a3c0f944a3cb4ff13bbdf9bd33bbabf633c08984d3ca4e1d3ba283be43b8af3533cfb9f413cb24031bb3167723b2841273c1463283ce2d976bb81e4853abb50053cb7c1f73bf3ba43bb4f5353ba7c3f583b1a80953bbe338dbad08cdeba0f8d6839cce9233affd5273b1b30133bc88db43b7fe191bcf0c1ed3bb5699b3b38551b3cdeedadbc86dc1c3c64b4b83ba211083c16f8a3bc40fb183c03a3b43b1e2ff73b0b2391bc17e2013c58099e3be556bd3bf7c575bc037feb3bb14a823bd680033c8d51dabb467cbc3b9824513b9cfb1a3c4d1e173aebb86d3af95fc73a3899f63bbdffa13bdec6bb38af9334ba62d59a3bc3c8d23bddbbf9bca93a6bbceab1aabc2e7baeba6f4b7ebdfcf963bd60de10bd9258e5bbf77198bd9d189ebdb89021bdde4745bc26548fbd59549fbd33741bbd4e2467bcad7180bdb38290bd0bf00abd14d261bc966944bd033f74bd0ea9debcaa642bbc981a06bd3ae733bd169594bcbf4fc8bbcda658bc02b3b3bcdd8db7bb304bcab957d9193af21b69bba2541e3bd4d53c3b53c0003b21fb42bdc83be53e615a4d3f0439f83a9d087fbd9774db3e8bb44b3f9cb50dbb589356bd9810bf3e5c1a343f833aa1bb54cd47bdd10e9c3ef267153f249ce2bbb84e36bde06b6e3e1c2aea3e4709cbbb050439bd14ca203e2297ab3eaecd47bbc3f532bdf3a8a93deec8583e371a2a3b271716bdb86f8d3c5f40c03db351573b21d9c2bc4c69edbcb46860bb606997bd37949c3b0000000000000000e77e9abde1c9643c0000000000000000fd982fbdaea9923c0000000000000000a661b2bc8961913c000000000000000082a71abcc490813c0000000000000000495129bc04434c3c0000000000000000dd9381bc47ffe93b000000000000000042b2c8bc57dc6d3b0000000000000000037ab7bc201c81bb00000000000000003eb3a4baddbce63ae25d403b64ec503b667cabbb5cb19e3b9b7d313c816f2e3c403711bbef9bcb3b85b7353cea523e3cd31f8ebb861cad3b11d17d3c9e2d6e3c8313d0ba6da8b23bca23293c63a93d3c256589bb6545723b763f2b3c862d383ce29f09bad2bb5d387031d73b756b0c3c5ad21ebb6d026fba57522f3b88a99e3b664f6dbaedee0ebb41595fba074ba13a66a57a3b83ff153b04fdcf3bf8c40ebc6375113c5f2a8b3b9d73343c1cac2fbc517c113c7560563bfc92893b7a2c4fbca1d62a3c2ebdd73b669a0c3ce8a538bcaf44fc3b9f2f963b60d5863b3c990dbcfaec023c80c0723b1c95043c419815bb6dba903b560a033ba01a613baf8d69385693a83a9506323a6907b33b5060b93bdbeb42ba33ad1dbaac0d523ba2f4ab3b9b2df6bcb7e1cfbcd9d6b2bc3b7b5fbaa16d6dbddf9295bdd96519bdbd40b6bba1f574bd60a2a3bdde4014bd869538bcf33c83bd2e3fbebdf75a2ebdc9da7fbc569053bdde3298bdf1150dbd790c66bc3d8229bddc458abd5754fcbcc4511ebcfb86d2bc5a8a38bd0e569abcd9aab5bb732608bcf307ccbcf7abccbbfbac793aa75d803b70852fbba8df903b1e5e8f3b9f36b139beb912bddf088c3e03b17a3f34819dba41572fbdc8ec823eb53f773f836f35bbc2bc03bd838c6a3e8e894b3fd795c5bb8a9f0fbd004f3f3ec151313f71c0d2bbf3cdf9bc6e5e0e3eb8b3053f6a17c4bb266611bd8debb33dbd70c53e099008bb58f1f2bcbf58373dbe44723e9d1ef03ae51accbc5b9aa8bb5429cb3d48f58d3ba88f69bcefce01bd51a75cbcd281b4bd5806d13b0000000000000000f94cb0bd0d4e863c0000000000000000b1ab05bda0fa853c0000000000000000d412abbc96a7a13c0000000000000000e62b6dbb15ea843c000000000000000097a1d8bb4838473c0000000000000000ef99fbbbfd19e93b00000000000000007e8bb5bccac9203b000000000000000017cfbabc23e566bb0000000000000000d5da1abb5f4f653af94ea23b581f723b9578d9bb875b3839e4d24b3c0667813cd79ea0bbd7ad033b87b1863c68098c3cb244b3bb5af1943b82ad6d3cdb4f8b3cf20e73bbe21e443bdceb3e3c68746a3cb1538bbbb933ce3ac7fe213ca22a633c92758abb2bef46b97f78cf3b90a2273caa2ad4baab08fbba8fed253ad1d9ae3b7967d8b9fe4b15bb6d9c17babce6903afe6a923bafd3c73aadf7c03b9ca9efbac68e323ccabb943b5da3263c0b8e493b817a4b3c4c62c43ba708ca3bf0d413bab21f5a3c271dc63b1d3ae73b86a831bb19a3143ca0e6b53b5291da3bd1fe27bb52fa0a3cf008a63baa5fda3b20a2ba3a63d0be3bad4b4d3b0050ea3bb6838c3b77b6d13a3bea2239a473403b4dd8923bf21cb8b997986dba23cd8a3ab9f6c83b725f0abde69842bd0276b8bcdf724eba556147bd894ec9bd08821bbdf580d5bb42c768bdab8ce7bd1dc441bdcb8849bcbe3663bd69fcdabd57193bbd7eb191bcd89b39bd9ea8b3bd242025bd23336ebcdd8a09bd02269bbd8a0d0cbd5fa448bc1ac599bc75615bbda020aebc5decc4bbff415dba361bd7bc54d7adbbe154543b5aa7f73bec7b92bbe7ff793b0631793bf14d70ba807688bcf22bdb3d3da8943f56747fbb417cb1bc44d0b53d3bee8d3f1b99b0bb30819cbcf4b9b93d7f63733fce5bd0bb2f1da1bc187b9a3d2aaf453f6b311dbcbf53aabc4b2e653d2366163fe3cdbbbb550cb7bca599dd3c3c4fd73e25d942bb5873a1bcd29588ba5fa4803ecc45573b88050dbc91a9c5bcdb6dbd3d5978563b154fe3bbd5a01bbd1f7709bd1314adbdfea9e53b0000000000000000cea49cbdbc1f833c000000000000000040d8eebc1b3f963c0000000000000000cb5614bb4cb79d3c000000000000000067cbf53b9345853c00000000000000005f08e23b8603493c000000000000000024d576bb3204cb3b0000000000000000aeab88bc7c8ea53a00000000000000007feeb5bc9e9b44bb000000000000000000000000000000000000000000000000702080bb7067123b3278493cbd944a3c3aa86dbb17d34b3b8b8d5a3c1762633ca26b37bb28919e3b36ae563c4ebf483c725bf6ba5b377f3b1eb03e3c7540403c2a1bd2bae6590a3bc1f9023c8ec21d3c7cbd11bbb1f493b92f5c9f3b456b043cbcc6d0ba6b49c4bab92ff93ab798c73b0000000000000000000000000000000000000000000000000000000000000000af6be23bfcbd8a3b6d8a373b3ed81a3aac3c213c6c9cab3b3bac4e3b490305ba25b9093cb4fe9d3b782be63a57608ebb0641e73bb2f4943b92640b3b9156d0ba913ad13bf7ec883bf2b7443b6d0244b9e361a23b32b13c3b08cb7c3b5f44893b297d203bf83e3b3a3bb5323bc42fb33b0000000000000000000000000000000000000000000000000000000000000000d0bb37bda00ccdbd805b18bd2c1ff5bb6d4a3abddc8ad0bdb39928bd427e7abcc14a39bdabbdbfbdaffd32bd191281bce6101ebd3762a7bdcf7123bdbb2d85bc7b07d9bc510589bd090c07bdfedd46bcca664ebcf1274cbd82b8b8bc2746dabbeab28e39c167eabcee2120bc1c8865b9000000000000000000000000000000000000000000000000000000000000803f1013633a49b415b7ebbedabc431b953f602aacbb362b14bbf6336bbcd716793fa59fa9bb7286aabb3b14e9bbb0bb4a3f93deeebbea2621bcab4c31bc14481c3fb04ac8bb676d47bcab0a9ebc3225de3eaf5195bbb78128bc751fe8bc7ffb853e1ba301bb2604e6bb69a223bd4036c13d0000000000000000000000000000000000000000000000000000000000000000d723c2bcf5d3573c00000000000000008889fd3b80b9903c0000000000000000571ec83c0a4ea53c000000000000000068f1ec3ce481963c0000000000000000921bc43c8ab15d3c00000000000000008f43473c8cd5e13b0000000000000000aa7694bb177dd5ba0000000000000000000000000000000000000000000000000000000000000000000000000000000007f5393b19c1f63b9e359a3b38facc39160d753b7eb1053c6701da3b0bd9cf3a6d22853b7866023c4ebee63b134be53acbc58b3b8236023c37a8cd3bc3bad43af6fd1e3bc0eae73b5288d93bc2fe1f3b19cbe339d816a83b3853cc3b7654753b4e887bb91f803e3b257db13bd4b1253b00000000000000000000000000000000000000000000000000000000000000007e532b39ba3313398f4d2cbc056c12bd2e77b4b859a688ba51ef33bc46100dbd5e3757ba18aa543694a24dbc66030abd8f016cbaaa0d5d3909be3abc875ff3bcc66b353a54ea08ba0429e0bba967c8bc72170f3b39d55b3acda931bb92ee84bc413ce53a391c683a15b3083bc6f60bbc0000000000000000000000000000000000000000000000000000000000000000c17546bd3baabdbc96932bbc69aa21bb5c0c53bd693ce2bc915059bc765291bbdf6552bdbb5eecbc690c68bca183adbbb2be3bbd7d96eebca2df78bc6f05d9bb06bb22bdc5a8e2bc01a071bcd86fedbb1d7ef7bc4bbcb2bca65a4bbcd6dce7bb8f0d9fbc338776bc05f306bc9be0a9bb0000000000000000000000000000000000000000000000000000803f00000000805f9c394611b23aed57813ff64ce33c64a7a9bbc2880c3bdecb5a3fb1cc153d3d2e18bce2a91b37479c343f18aa293df71342bc10a889bb95050e3f10481b3d52b877bcda6145bce0fdcf3e62160b3d0b447ebc09889cbc41fd843e8835ae3c218a7cbc3788e1bc6fc8ec3df8b1143c0000000000000000000000000000000000000000000000000000000000000000762ab43c587e303c0000000000000000b1a3eb3ccac7873c0000000000000000d2ab063ddc41ae3c0000000000000000fd4d083dd500ae3c0000000000000000a7c5f13c5bacb83c0000000000000000a731a03c0e15873c0000000000000000d9e33a3cb3cb483c000000000000000000000000000000000000000000000000d494303b1670593b51f89e3af69fdfba22d2063b9543153c4ddd0c3c7a97953b83950c3b079f383cad1f243c0e34a23b234e1e3b603e403c0b1d333c4b06a03bb31b603b6707163c12201b3c256a9f3b6660eeb9221e273cf379293c2d40bf3b9642e4b95c26cb3b88930c3ca8e2bb3bba4c2ebb40ab1d3bbe4ca13b9a3b883bff74e1ba8110963917c1133b8675fe3a4bab043b4d5c28b9ff8dbdbb140eeabc00a23b3bf5a7ad3af37fd3bb2b1c22bdbe191c3b514c133ab5052cbc20bc24bd3715a23a43560d3b28b028bcd33f1cbd60f3e73a5ef9c4baa63b07bc334c0cbd019e383bea24103b754793bb7df6d1bcb027583b8afbaf3af0fad0b708e789bcba5e633be09b083b68b0af3bf4e77ebbe14bec3a4880a03a9060eb3be7909eb71872d0bc06231dbc8ec2bdbb717818393df659bdb8c7e4bcb70588bcfc37cdbb41ac77bd4efb10bded6f9ebc887c06bc12d277bd00ca1dbdec83b2bc04b033bc94fd54bdf65811bd594694bcd37c22bc11583ebd0ae60bbd2030a8bc514145bc6e190ebdd317dabce01186bc75e92cbc53ae96bc955076bc776814bca783eabbb8d3abbb23d77fbbfccb08bb82aa84bb3e36fa3a3fcc6bbc5b61803f6676113eadf789bbfe0b95bc00756d3ff4b8153e23d504bcd73331bcf7fa493f97dd113e730155bcfe2f3ebc0820263fdcaa063efa7a70bc36405dbca9e7003f1a24e23d67d79dbca184bfbc30debc3ee1c2b23deb0c99bcd5aef8bcea266d3ebe9e703d380f6abc3a0f14bd79abcc3da10cca3c81811cbc03d0fcbc33ca8dbc934e65bb05ed523bf245a63a00000000000000000209843cbc3d283c0000000000000000c399ea3c234c983c000000000000000030f90e3d6660c93c00000000000000003f59073d253bd33c00000000000000004e25f73c5d8cc63c00000000000000008d73b13ca1e2a83c00000000000000000f2fc93bbfc4253c0000000000000000e06644bb0c5c4f3b0000000000000000c89f093ba6a24c3b30bcc03a34e23d39e5c5143badac0a3ce27cd83b2e3a5a3b8882993b38e4d13b99b7b73b4bced33a3b15123b18f93d3cf4a6383cd63bb33b76690b3b82d0063c2158053c6fb2743b6daa673a051e123c5d26303c0706d63bb1f0073a23bfa13b04dccf3b28a57e3b61bdccbae2710e3bee24b73bfbe5843b3ab1acba637498b927cab93a86c5df3a1cc4843904d030391e6f65bbd643c7bc2d20bf3a90a3413a3eb4eebb0c5c14bd0be756ba1a0c9b3738a628bc877c04bdcc4c973ae40c423a659719bc1ec814bd675a1a3aa77b1dbaf92907bc3463e4bc95dd343bd53cf53958df8ebb1f00c9bcd321aa3a1aed1739834fb1ba71d977bc9b453f3bd718ab3a01b7a63b95d1b8bb0ed8cb3a6a035d3a4351e73bf0a6bc3af8e5a7bc0617f0bbbc81debb58bd1cba34e135bd2d88d8bc4ef48fbcbac4cebb2c7c37bd7bcde7bc78ff81bc8148b1bb0ab769bd021521bdda33bbbc6d2a38bc460838bddc3008bd37469fbc47f61cbc293f37bde5f60bbd2c8fadbca1aa46bcc6b3ebbc4ac8bebc4aa762bc173b08bcf67790bcdbd382bc0bc129bcfa2103bc18b745bb9f105fbb90ae34bb757462bbbde618b96856a6bcb0f95a3f31dd8e3e6a489fbb3272c4bc38584c3ffaff8b3e2998e8bbc1616cbcac6f293fd220793ed39460bc8532a4bce863103fab47613eea6170bc07d197bc9858dd3e38cb333edb0fabbc8112eabce5cea33e72a80e3e859d72bc6b63ddbc6ead4e3e4ed0b63d04c769bc344417bd352bb23dd053353d5ad9ffbbe006e2bcec9e5abcccb3cfb9a8d683bb2cc9653a00000000000000004d512e3c75aa3b3c0000000000000000e655af3c73ce8b3c0000000000000000364d003d66fdca3c000000000000000013c7f73cf1becf3c0000000000000000aa79ea3cdb57c83c0000000000000000def58a3cf71c953c000000000000000098f9cd3b18ec3a3c0000000000000000759788bb896d083b00000000000000004568083b9f2e4b3bd1afc13a7cb176389613463b021b133c48fdde3b84a70f3b9c7a453b36ca163cc361063c4517a23bd1ef063b0ce7283c052b313c3168bb3b3cfe1d3bb06e153cdf92153ca9769b3ba3ffb238d39e003c0ab01f3c1ed9d03bc8bab7b994c6953ba128093cf3cfc83b1983dabae37df93a991da33be2528c3b8534a9baed1da8b94b92213b74817d3a274985b9ed93cd39c4d5bfbb2b32bfbc0626493a24e2ddb9d9b4fdbbc70214bdba86993ab93319b9fe6f14bcfcda0abdb680e93a267c9139ccc923bcc90c04bdd1cf2c3b3a06d3bababdc5bbee26e0bc8f29063bec8a933adf242cbbab30aabc224c533b01399a3ae29b7c3a249e5bbcb599393be6fb513a8cc4b33b164182bb8f5a333b073d99399adaa83bd734ec3a4bbb90bcbf60ccbbe0e2fbbb9e817abaf7b83abd49bfb6bc8fd58dbc2ccfc6bbc5ea4cbd0c7213bd42fab7bcd1cb22bc465157bd8b5926bdfb68c8bc7a2d3ebc5be93bbdc6811fbdbdccb6bca3853cbcabde23bd7e8c10bdd741bfbca2394dbc88c8f4bc449bdfbc821697bcde4b45bcc93984bce1347fbc37c435bcfbf00ebc05675cbbaaf2b2bb7d672ebb97de3cbb8bf39b39a18a88bca34b353fbe9bd73e0087fabad297b3bc9e03293fe2cdce3e776c11bc824a9ebcdf47113f2c66b83ee3bb61bcd2b8afbc8516f13e42709f3ed4b493bc0061d0bc7a05bb3e602a7e3ed3759fbcc81af7bc6728883ee2c7423e9b5497bc2d200abdf3e1293ebc4f013ed9df6fbc6a1013bd57d88e3dd7ea7a3df4ab1abc9ddcc8bce9115ebc5c08623a74e6eabbce34ea3a0000000000000000ff92ca3b4d40793c0000000000000000fdb7a63ca665ab3c00000000000000001b0ee83cb288cc3c0000000000000000f538fa3c4308e23c0000000000000000ec9ed13cf593cf3c000000000000000082078e3cbbffa53c00000000000000005589913b7fa9363c00000000000000004ddb84bb7776183b0000000000000000429b1c3b6a6c4c3bb6b0313a8ff8f9b82096083b3352f93bf163bc3b62e2543b76c30a3b9537153c9920ef3bb320853b61d0133b8280283c24e8253ca99ed43b53172f3bfb82da3b5e21c63be4013a3b89a9e439144b0a3c30192b3c8443bb3b9fd0d2b97e86a23b6e7be23b90c3a03b2b4a97baa666c53a8bc58e3b4f876a3b567398bad7129bb8644a143bc37d133bc97967ba7825b2b9b98f90bb8e8ca2bc099f1d3a0f19213a002fe2bb6c7bf4bcaf195a3a136810b9c4a40dbc7a36f2bcfd71913a8974b6b969aa06bc6942efbc80a0efba6d81f8ba1fb6f9bb507eb0bc75e0633b5821943ad37289bb52e9a7bc929e0f3b68ecf239d010e6391c2d33bc3f90163bd22fc93a2b62a33bd5d339bb8e9dc83ad0284e3a73959b3bac79c13a3b58a5bc235c09bc3e3004bc70f964ba0ae21fbd58cdd8bce48fa2bcdde402bca6c038bdf04e13bd3d49babc0eaf2dbc22c84abd2d9e2ebd95ffd8bc17385abcaa3c11bd60ae05bd93d5a4bcff5026bc16bf1bbd853916bd2b2ac6bc79646bbc9cd4d6bcd2f5d6bc93a194bc4a5b3bbc80476fbc98c781bc58eb3ebc1bd904bcafc766bbb73897bb6cad93bb6dd58cbbcdd026392f4358bcae35103ffdb6103f4eff94bb060f92bcb9d3053f17ab083fc9c40cbc03b477bca8d5e43e238fee3ea9d570bc54efa3bc7adcbe3e9a86cc3eac434ebceba177bc25e8903e931e9d3ef6399bbcd13de8bc52cd563e00c2763e32098ebca74bf3bcce6e033e0718203ef25168bc555c02bd1d48513d64259c3da5ab00bce7c6bcbc3b5165bc85709c3af28826bc6843233b00000000000000001f4d163b5e9f663c00000000000000007e36963caba0b33c00000000000000000b07dd3c087ae53c0000000000000000dd02d43c5275cc3c000000000000000089a5cd3cdeaada3c0000000000000000f825843c09faa03c000000000000000061487c3b2634293c000000000000000087d585bbb5cbfc3a0000000000000000e6fa903abbaa913bb6720d3a4013acb9d461b93a6ce2fd3bb38dd33bd1ef853b2edbe53ae1f1153c45700b3c8c8ba03b9c2f0f39edea293c4e6a363c3787ca3b0953fe3a53a8093c4430123cdb80b63be4de42ba4e25f73b739a273c1d54093cbb2d9dba9433983bd209f43b8ce5c43bc784a1ba0dc5e33a1cac2c3b67f30a3cfbef82bab4240bba2e18823a8964af3ac35fa03962e67bba986a89bbbc3a85bcb2d5113a63fb013b34aeb2bb9909dbbc2f86063bb0eb273a9de6c1bbc443dbbc7ab6003be5e51d3a5ec0cbbb6499cebcd65e363b3661423aedb8a8bb3e62bcbc4fe60f3b069297b9be12bdba2f767cbcc89d533bc8350f3b1de0eb3acf6f13bcdfe5b739c8c5173a310d963bfadf73bba686a73a1362dd3a7aa4b23be85f4b3b71caaabc457c0bbcadb91bbcc68022bb2d7226bd052c01bd8292bbbcab1300bced3940bd239d2fbd0f8ee0bc68db55bcd00a41bd03033ebdd9b1efbc3dec76bc62c928bdf48338bde337e3bcd38858bc19ba11bd45331ebd88efe8bcdc7a81bc0190d7bcff4cf4bceb8cacbc6d6653bcf98612bc80c162bcb83814bc1a8559bca88f3ebb6a7d98bb647c8bbbadee60bbabebdaba87f619bcf0a3d63ece2f353f4f04afbb533773bc1202c83ea6b72b3fe40b29bc15247abc9774ac3ee29e153f46716ebc428394bce32a8e3e0bbcfa3e489480bcc085afbc413c5c3ee075c63e88d597bccfbbe0bc01ea1b3eca3f953ea0f089bc7271edbc3698b93dcc09423e795283bc34f015bdd835063d3690ba3dea4ad5bb9962a2bce7eb88bc5ca9abbabe2c47bca24a7d3b0000000000000000af2b07bb7be96d3c00000000000000006037823c0994c23c0000000000000000c7a9cc3cb268ee3c000000000000000022c3ea3cb3b1f73c00000000000000005bacc93c77f3d23c00000000000000008985743c1706a43c00000000000000001c9f673a94d93f3c00000000000000002315bebbcc86e0390000000000000000036c933a14b9343b4c1dd03affe7ac3a9efba439f02ffa3be261e53bc04cac3be71d073b3fbcd53b821ac43b05fd6d3b091a4e3909851c3cdcf9393c8cf9073ccb24f739f0e5ed3beb86073c687ec33b922fbcba4c17e03ba846243c2a0c0b3c55bacb380e6e8b3b9d4db33b2c1d8d3b052f20bb6fb7ca39fdde903b717f953b62e188ba1eb6a2ba41de4f3ae980e13a023963393c8f763a255911bb853261bc5ac1e63a6974043bfb4b65bb9f7db2bcd5daaa39a7eae2b852d4a8bbb8d0a4bc71db3e3bd2c4bc3a8ad1a0bbd7fdb3bce81ed13af12397b7c44d81bbcaef8abc3ba87f3b8f3d0a3b121c58ba29684dbc375f233b41ed233a309e173a004005bc762b493bd228e93ad0c8c33bd4b06d3ad44cb13aa298493ac0a8a73b9d65893bbc43b1bc3a475ebc506d48bc57e084bb9cae29bdef5e1cbd3578d4bc578536bc49f11ebd2fb924bd2b1bc9bc771f2bbce85f3fbde52759bd5a8002bda1ee97bcd84e16bde3412fbddd24e5bc688e7dbc4b5c0dbd40932ebd958af2bceafe8cbc930eafbcaf2cefbc0f5a9bbc773f3bbc393f45bcfb6a95bc990c62bc243f16bcf1d4deba4fe28bbbd2fe38bb99c82abb2d6e67bafb86ccbb017d8d3e1a305b3f91c3cabbdae62abc94d8833e0df34d3f5b2d08bc92661cbc3f5b613ea8c82b3f3f697cbcbd4a86bc741b3d3e9a6c143f880780bc29458cbcfffb0f3ed75de53ed85d95bc7b1ec6bccc2ec63d98efac3ee5526bbc3ec7abbc8b5b653dbb055d3e726137bc2dbbd1bc7f9d183cb74fcf3d23fe91bb0dd089bc166fa5bc97ffa2bb34a58bbc8ee3273b000000000000000075e749bb84df823c00000000000000009d81733cfd0db33c00000000000000004df9dd3ca0ce003d000000000000000018f2e43c44fedf3c0000000000000000e5cbcb3c8954e33c0000000000000000ed4a523c9d229e3c00000000000000004f42dc3a94171d3c0000000000000000131e00bcab458cba00000000000000008501acbaef09a23b0773703bfa2a023b063b03bb7bf7e33bbe8a033c4c24e83b0114fdba2b670c3c8ae9303c7d182a3c734ab2ba236f123c31d33c3cfa991e3cf3f1ebb9f6ddf13bf0ef1e3c188f003cbff10ebb8048ce3bac7f1d3c77cb1b3c3ac91dbb3023573beabaea3bc308fe3b4fc830bbbad2d1b9bf2d453bf80f9a3b8aa6e3ba033aa3ba0a239f3a79d9623bc79ec7ba76dfd33a7e8055babcc84dbcd0d1673b98ae833b88a0bcb9c3d075bcd36d953b203b333b465a2abb18cf94bc0c4f913b8e50253b0f752abb6c0d8dbc37584c3b4c63b93a2a862dbb7b4569bca9aca93bb031143b9180243a2e901abcd9169d3b4511243ba1f8503b698f7ebbe1eb473bd829403b5f87e23ba869753b1877923a4a6bd73a78ec983b3c21983b2059e4bc192ac7bcdd0184bce0d897bb1f5227bd4c8b49bd37b8f5bc7dad5cbcdb4c39bd46eb74bd9f6414bdf1c79bbced5534bd48e771bdfd5417bd4cf2a1bcb18c14bd06234abd42ad02bdeb8198bc9b52ffbc772e3ebd1df6fcbc1fdb94bc0167afbc4b030cbdb399cabc3aaf77bcc79c0cbc39d897bcc1df6fbc8b3810bc6ace27ba18f796bb93daa9bbf44a67bb01384bbac34ba239c6f00f3e9215813f9b02cdbbcdab9cbb54dc023e22a56d3f822948bc0e32e3bb0668ea3dc4b14b3f613172bc0c4642bc208cbc3d3851283f457889bcc1a281bc762d8a3d5c1f033f0f3593bcb197b1bc0cb9243d01fac13ef9d379bcab0cb5bcf015703c4a4b773ed53a25bc5b88b0bc03fb42bc2403dc3dde8ababb72c479bcc530cfbc6f1351bc12914abc3305873b0000000000000000643f263bec6f8b3c00000000000000008bc0ca3cc323dd3c00000000000000000fe2053d8913063d000000000000000079bb033d364bfe3c0000000000000000be03e83c092eea3c00000000000000007cfa8c3cffa9a43c0000000000000000c31e7a3a9fc6063c0000000000000000f9ef0bbce1e9d7ba000000000000000000000000000000000000000000000000cc0d8739d244db3b532ae13ba09f6f3b70820db8a550e93be9a10f3c4dabc23b6608a73809daef3b0063203cebdeca3bba99cd3ab7f9ec3b9b57023cd532bb3b992052b9a3d1ad3b7a0c003cb6fcd43b37d1e0ba515b4d3bc997d93b0d68a83b8a6b03bacda6c4bab4bb583b5511b13b00000000000000000000000000000000000000000000000000000000000000000c5da53a916ca73adfc554bb9b0264bc4ac9063b9bafa4395bc456bb2fcb6cbcc516ad3a30e0b2ba055f86bb376468bc8638ed3a80465dba1efe5cbb699463bc31bf9e3a7b791439414953ba29ce0ebcc516563b9f67303ba368233b9d1e8fbb7cc4703b6357bf3adbc6b73b2cf9633a00000000000000000000000000000000000000000000000000000000000000001e0118bd9ac744bd04c4dcbc88af36bc053615bde7774fbd5428ebbce8b987bc08c70bbde85b52bd8fd901bd555575bcbba600bd76ae3bbd4c1ff6bce4a37abc8a79cdbc53ca20bd5ffddbbc3db16fbcf00e7fbcbfad02bd54c6bcbc0ee860bc439a04bcea139bbcb50575bcf4870cbc000000000000000000000000000000000000000000000000000000000000803f318f80bbf085713bffd5393c363d813f5f090fbc6a6a02b9a6d2183c84b15b3f798d53bc1f6dafbb864be43ba04b353fdd3350bcce8020bce792443bc6930e3fa5f172bc1e4f72bc7695d4bba6a9d13ebec054bc238c82bc33d584bc4bd9863e00cf32bcea759ebcf5a3cebcf4f0ee3d00000000000000000000000000000000000000000000000000000000000000007ef88d3c045c933c0000000000000000bf5ffc3c3583d43c0000000000000000e25e143d19dcfc3c00000000000000009291113da3dcfb3c00000000000000009e62ec3c5cadd83c0000000000000000b3129d3c21c39d3c000000000000000076f7963b19e9103c00000000000000000000000000000000000000000000000000000000000000000000000000000000a67fdcbbed0b9f3bb55b1c3d18950a3ca04f87bb466fb33b15b20b3df5f54e3cbfe4c1bafae7e13bd037de3c334d613cab8f69399e40ba3b933daf3c6e67433c00a5063a8f21713bdabd773cebfd033c66c6ae3ab3af093b516f153ca1db993bfedd0d3a345b153ac1e3073b26a99f3800000000000000000000000000000000000000000000000000000000000000001e5c08bbdedbbdba2a512d3bd7b3e83b2b9ccfb78be228bba207303b67fcd3ba87a2343b2ff764babbd3debae89123bce9a40a3b088c89ba254a27bb32722bbc500efc3a131fbe3933e86bbbb41708bcfb8d153bfb36a7b982e9c8bbcb0a9abb9ac2a03a481c5bb9a508c9bbbed2c0ba0000000000000000000000000000000000000000000000000000000000000000acf74fbedd635ebc2829cd3b9e1a453a980642be45c9ccbcf0e1363ba11cd339b7f82abee08218bd0041a439e52ca8ba003607bef77212bdb2e6fcba2c6799baaaefbdbd0981d4bc9f1f83bb731f8eba4e1c53bdcbb88abc0374caba6f5c33bbd790debb605fbbbb1cdedbba340f9a3a0000000000000000000000000000000000000000000000000000803f00000000ed22ab3c258004bea2e5ac3fb6bed4bd0039303c9acdaebdbaeb8d3fc6b543bd964c213cd98a82bd267b683fa7e689bc31b4e13b080942bdca602c3f8516e03a1143cd3bca62e9bc6503df3e0537303c382dbc3b7849dbbb06fd5d3e30566f3c43e2a13b27196f3b14a1053c34b2043c0000000000000000000000000000000000000000000000000000000000000000ee4c613c5792bcbb00000000000000008906e13b7720dfba00000000000000007419073c1cdb45bb0000000000000000d182003c49bf85ba00000000000000005474e13b782dd6ba000000000000000064628d3be7d6613a000000000000000021a14f3bb8dfc6ba00000000000000000000000000000000000000000000000059ac00bca013543a608fab3c1e97193a86c323bce92c413a74031e3d5f31eb3b33a5ddbbbca4c23be5521e3dcf64703cdb696abba216e43b39bdff3c8dd27e3c02606aba9c6cc63bc50ac33cee47543c571649397d3c9d3ba62e903cda21173c948894b989fc4d3b4a4b253c1fc2873bd9a92f3a427c1f3bd02eff3aaff2fa3a0fdcb3b97b480c38921afcba72076ebbb56404bbb6a95abaf9aac43b542f323cba2b87bb18c8bebabfc6103b682bec3cd8e016bacb8fb7ba3afefe3a722a123c520c123b882edcbaf225433a679f9e3a65f7803b177eb7ba18f223bb9d9f85bbcc28423b662c5139f9cfc9bbb8473dbb3da2733b3f87edb9bd82d6bb31b314bbe9696a3ac977423a30b7c8bb1eccedbbc6b5aa3a3b1153ba9fdfc7bbbb16433b4dc3f7bdf123843b38465c3affb8443b8b0e41bed0a0ebbb9dd1873bdf07a93a8eee4dbe8c860dbdb17e8db934bbfc3a013434be02fe31bdb6739cbbe402c93abeee0abe448a2fbd8849f6bb2d626f3a5583c4bd4fe90cbd2ed5bdbb131a12ba6e5449bd3eedb0bcd52e00bc8521c83a2bddb9bb2ef94ebcb3b25ebbbd146cba9836933c2568783b89f62cb841ba623a4324243d6b9c5abe904dac3f67fa7e3ca78c2c3df26255be3d709e3f8018fe3c9854f23c672629bef07f8c3f8ada743d5757bd3c8dcd02be534d623f9f4b9c3d307c8c3c6dcab8bd58aa253f34b4a33d89ff883ca5c768bd1f7dd33e8f4d913d7c11383cf71ab4bc1a4a433edb85643d1504993b97d5673ce75a393ca654233d9311ef3b5314fe3b980ae8bd4c730c3a6933adbc5330363b0000000000000000dddeadbcf1a0823b000000000000000023aca8bc69cb1a3b0000000000000000dad295bc21340d3b00000000000000001e0b32bcce565b3b0000000000000000e5d921bcbfee373b0000000000000000dfadedbb1e8f063b0000000000000000d8ec06bbc052a13a0000000000000000b47040bbdfbf513a0000000000000000a6ffdcbb9775df3a02d35a3cf241353bca110fbca68c883b7674df3c4ae83e3c5327c8bb6764fe3b1a8ee53c92188f3cc29bacbb52d00b3c77d3dd3c4d10863c0632ddba0440e23bafe98f3c1a5f603c901703bbf474ae3bf999643c6429323c3fe936ba75d6863bf27bd53b80c9b73bfc913eba03f5e93a923f1a3bc6a2a9390a065eb93a0e173aa0b3f5ba22ae6dbb060f31bb52c893b73699e03b3293d13b1d1f1aba8db5f9ba0e15883b751d613c3b773d3b5a7926bb890b933b7a12a33a9f079e3b53c12cbbc67cda3952c21db9d4de633ba4de1c3ad5b034ba5ca389bbaa08913be8968939cb8660bb65f5e9baaaeb1e3b3a77de390d1399bba79e43b90c7f0d3b7f1922396028b0bbd1a94b398003ee3a76699cbad7aab0bb999f543b7b71a2bd41de43bbe79c6cbbcdc1843bb5a71bbe3c6010bd79e04dbbd6b09e3b060825be710573bddbeeefbbd697a83bdd8518bef7d383bddcbb01bc765b743b7869e4bddbfa6abd4bbe48bc86751e39ac92a5bd67b93abd8ed437bc7fa6a53aec0031bdae4fe7bc2082bebba46cf8b9566928bc8e963abcaf81b0bb028d5039d9b3573c6f14483b97d5e3b968808c3a1ccc2c3d88e65abedf328f3f6b9d6c3e74f6403d931b6abe008c8d3fa9566e3ee2f1093d7a2839be0190753fe7d7723e14ccef3c63db15beb5ae463f5e1f603e9359ab3cb53ad3bddee30f3f5854403ef0ac9b3c356c8fbd9a3eb93e6602173ea40f733ce6bc24bd67a0333ea3f1c03d558c043c3a59b5bb11e4983c2b8c3a3d0d28fd3b074e0e3bd57c98bd7f6407bbf25f91bd60275b3c00000000000000008d3790bdd36c5b3c0000000000000000d81571bd6576283c0000000000000000fb3549bdaa1f1d3c00000000000000007e030ebd63df153c0000000000000000f399eabc10acf33b0000000000000000c37dabbc341adc3b0000000000000000bc8a41bc7218aa3b0000000000000000ca241ebc4bbea43b0000000000000000392eaebb465b493bee7bfd3b6baad53b2d48f9bb3b72aa3b323c9e3c967b7f3c70a3c7bbcf9cce3b4148c63c2221a33c14ab51bb13f5e23b91d2a33c711d983c782b21bb377ce33b2ae9683cf358893c969684ba4e9cbd3b9d6a3f3ca4fa3a3c1bb7b6ba9e539d3ba183c23b791ca03b53b1f5ba10d56c3bf208ccb98fff943a73dab7bac9bc2e3b904812bbb4604fbbba33f9b9162c96bab6db063c5166a0bb7eb8ad3a00de34bb8ba4b83b8a95c73bbfdb973bf22b08bbc366983b55d6cb3ac7fef53b230cfdbaced1b2b9ece4bfba4a33d63b545823bab45f903733212abb24f6973bb6952b3938f883bbbf8a01bb3894983b68f98d392550afbbdaf6f0b9a485543bf33e8abab30ca9bbc311a53adf4e67b92b9c8b3854297fbb915a803bdd5a6dbd050da2bc96bd22bc6a9e033c60c9eebddb5878bdf70cdcbbffecda3b937707be87b8a9bd23e142bcdd75b23b73aeefbd3117b0bda9dc86bcc2a3843bdfcbc4bd69ab98bd71cb83bcceb1303b136e87bdedd868bd1d3361bcc8869539491214bd82510cbd674c1dbcc5c378baed67febbcf0457bc9fdb8fbbd9c73cb89091ce3b6cdef83b36edb3b85eae873aa1f7193d2ea847be87936c3f093ced3e6085333d831d59be2fea663f204fed3e09630d3dc13830be4860483f36cfdf3ea9cce43c207b0cbe0bdd203f3c7ec43eefefbd3c7bced2bdfc6beb3e812fa03efd339c3c5f8e8ebd646a963e3fba673e03fd813ca10d23bdbc31133e91660b3ee39d493c5e9e7ebcfdcab23cd6fe493d006b133c233cfebb465660bd42ff77bc5b20f4bdc922a93c0000000000000000affcfdbd974cd13c0000000000000000247dd2bd0e23a53c00000000000000004676a1bd5aca873c000000000000000090467abd60ed6f3c00000000000000007ad035bd2c3c563c0000000000000000876aefbc422a333c0000000000000000ac9e88bc6715043c0000000000000000a87e5dbc7ae9ca3b000000000000000044f2babbc3b21d3be167ce3bd2e9fd3bab00a0bb34194b3bb33b763c379c993c96a884bb742bb13bff638e3c8ea3ae3ce3735abbece6e53b525a823c6065b33cb9e090381756ac3b2709323c19ed533c75c8d2ba838ea43bf13a0a3c65614f3c2cf293ba381eac3b6afc3d3bab67cd3b2539a2bab6897e3baf7f7c385705983a3660d9ba311e413bc2db2cbb28260bbb571700bad0aee2ba18e4de3b846b84bbf6f50f3b368d23bbed0cab3bd49a353ba2ac063c80ec36bbd28f093b613a92badefa003c574fd7ba19ceab3a741bebba6716d03b6213d73a5089acba9addc1bbcd77f63b5536acba928a27bbc2b22bbb68d4643b5835063ae41438bbd2a7dbba1f25b23ac14e16b99b3848bbb612c4baf6edccb959a35fbacf4e15bbd7839339e58226bdefe206bdb57344bcfc50233cdb1ba9bd56d5b6bd22d316bc8baf053c930ec3bd4092dcbd9fd38ebcd00fd03b17feb8bd8282dfbd12e4a5bcccf4c43b2d1b89bd771ca2bd8659b6bcabb7d3b83d7253bde4bb8dbd93628fbc1228563b23d3e2bc80b31bbd428d28bcb9ab68ba148de2bbe0673fbc8208a3bbbcdde139f364e83b20c1bc3bb002083babc8a33a6611f43cd41223be40f2313f2517333f1487053d76e52dbe241a2b3fcc99333f0ecad43c008d0bbe4f6c133f05d7223f1416bf3ceb9cebbdfb18ef3e02e10c3f0ce4573cbdf198bd7ed9aa3eba5dd23ee4ef893cdb577cbdf9ea643e9fb7993e5331493c954d14bd2c5be33d3dea2b3e909f043c4da882bc8421b83cd1da533dfde8183c93c2ebbb889a20bde99fdebc01b227be146de03c0000000000000000c9fd2cbe15e40c3d00000000000000001d0105bef1b1d53c0000000000000000069adfbdc2dfb13c0000000000000000e10178bd37ec843c00000000000000004eae6cbda48b893c0000000000000000c7830cbdba8b583c0000000000000000b2dca1bcb8cb3a3c000000000000000027af8ebc6b42fa3b0000000000000000faff27bba888283a39ae823bb821273c927f98bbd164ab3a17c52b3c4152ba3c3ef785bb4a62913b4ead5e3c15fdf03cc4d735bb382f993b1155523c61c7c03cc3c21cbb8481ca3b56941c3cda899c3c7d3707bbbe18b83b14e4f83b12f75c3c560fa7ba74c4a33b1a23463bbd28023cb5a6e2ba8d08853bf5cd6fba74520c3b1a2585baf8400e3b66760bbb733440bb86c58038cff497ba26da8f3b42f27cbb1ddcc13b1fd1a2bbff628d3b382da13a5b17033ca5bf90bb67b0f13a059f8db80d2c1e3c4af50b3a68010f37f9250abbfa4d253c0e0cd6bacbc337bacebf81ba596dc43bcbce363a7a6c4fbae22945bb5b92913b5067363a243e11bb722450bb88e1b73af68991376f9bd7ba383c72badbd9ceba05fa143ad17b6aba93e4763aa4bfcebc01fb4fbdccc736bc529b223c450952bda7fbf5bdad8716bcac7b2e3cdf7f85bd8ca712be3b4989bc6c79ff3b933881bde9c906bee038bcbc53e4913bf35766bd495be1bdb7febabc3f1d0d3bdeb820bd2f95a3bde15580bc870ea239523fc3bc720738bd79ef39bcdcd476ba0da70fbc6aec54bcb70987bb44b803bb2ebd963b239c353cdad6fb3a2433b7b967edb93c98c6edbd6534eb3e76a46d3fff92d23cd30bfcbd15f2dc3ed5526e3ff8a0b03cb3bfd1bd8432bf3ea31f573fcb718c3ced97a2bd5a87993ece57323fb218713c0d1783bd3dcf653e21210a3f6c9c4b3cd4893abd91d7183efb22b93ec8e92a3c83b4e7bcd65caa3d5ca7453e3c3a063c1f8876bc92fecd3c2e83443d7b4cc43b57a8e9bbea1ac2bc168439bd0cc04abec0b30e3d00000000000000007c7954be2ca1283d00000000000000008d302bbe9a67073d00000000000000005a48f9bda799d43c000000000000000062b7b8bdda68b53c00000000000000006ffc73bd7c45913c0000000000000000d67117bda8a8683c0000000000000000e84e88bc08073c3c000000000000000081c387bc3a4b103c00000000000000004e51caba01f519ba1b8b5abae4fd723cd48013bb47ac5cb90a9a903b1126fb3c5f0201bb8b04843aaad4253c60c1023d6e2465bbcd428e3bb8e22c3c0251e83c06a86aba35e4873b6f75ea3bd845b23c9fa911bb8c57ca3b39f1a83b58fa8a3cd856c8ba0af08f3b5dae083bb943053cd485e0bae18c833b29ceaeb94592583b051763bad836073bd9bce1ba5bac08bb9d2c463a0a8a94bbf0f6173bfd402cbbf1cc9d3b6807a1bbe566833a6d12413ad765203caaaa5abbd99e3a399c7f6f3ad1614f3cab858fbb22c1b1ba4fbbc0ba6fa5083c1828e3b791afa0ba1fe513bbffbeed3b9bddcf374327c7baa6a393bba098983bc9510dba6637d0ba71ee0abb077d4e3a20b8713aef721abaf8ec23bbe426b0ba1cba24bab44d97ba1a509f3a425101bbbdfc94bdc78657bb166f1f3c6964a5bc81481dbef9a55dbb77dd023c0a5e21bd8a592bbef2f996bc150ad53b4c9f1cbd497f23be2042bfbcc6d5cd3be08510bd0d52fbbd6140c3bc2f0bc83aa49fdebce4f7bbbdcbc698bcf16392b92f0b88bc266b4dbdb7c529bc93f5ebba3e4d13bccc863ebc7ecc9fbb78a62ebb87e6bcba84124a3ce70c5d3ba41c3eba37256a3ce2028bbde1656c3e0b0e8f3fa392813cd9338cbdd2cb4f3e0343903fbba0433c6ce560bd50d63b3eac607e3fbce94d3cfb633bbd158d143e5a99543f7ed9023cfbea0fbd79b0e93da0e91d3f820e103c8f7fd4bcd7ada63ddca9d33e8264033c848c98bc7b8a463dbf1a5a3e20f2ad3b9ea332bc7075db3c76111a3d13c0803bdae4afbbe611fbba448686bd1e185bbeffab263d0000000000000000df8b63bea5643b3d0000000000000000836824bebd4cfc3c000000000000000000a902be8811dc3c00000000000000006d9aa0bdebf3ad3c0000000000000000f6f865bd049d9c3c0000000000000000a6b303bdcbcc803c0000000000000000236d0abcc9351e3c00000000000000006f5604bc572b003c0000000000000000229d2fb76ca954bbe230d8ba183bb53c873c40ba5e876ebb64e777ba9d7f233d595b18bb418d0db9a4dfbe3b1e7c263dc7fe1bbb5013793aef5eff3bebd00b3d3f1714bbe71e603b9f97df3b6437c93c486c92ba1da6003bfbe9bc3bc2f8913c94fbeaba07b2953b8920d93a9c5c413c8bf505bb5ad0a93b3b6c9eb88996093b26cb73ba3355163be6e23abb5544edbac7e669397ae598bbf341af3a31d6313a6b94793b46cdf1bba479513aea217dba3a1d253ce90495bb42e3f5b993d28eb9a3fa403c9243e8ba1b0a72bab65d50ba02a3353ce7c666baff3f90ba729a2dbb5f04093ccb9db6396e72a6bab19751bbaee98b3b599ac039aade49ba71d7a3bb1a19903ad3ad793ab2e4593a6b5e92bb2a6aeeba3d7db939edc4393aded415bb29180a3cfd67f2bdcf66753bfcf30b3c7565743c0cc843be74b51f3cb783d83b5c9613bcbb0952beab6168bc7cb6c13b809a82bc199c3bbe6162c6bc9a81413b866aa0bc137311be2efacebcf2e469ba66ba87bc9f0ad0bd6523a4bc2ce808bb872c48bc0c5d61bdc43664bc6054e3baf8544fbcf862f7bb0bcdbebb1984bfbb0e91303a2e959e3cf87e5d3b9d994dba48c35e3b25979bbc6ad18e3c0533ac3f1211833b7a9b84bc654a0e3c0cdc9f3fdd84af3b91cc86bc2733913c9e548f3ff5f5873bc1305abcd86e8d3c710b6a3f56d43f3bb2da2bbcc54bab3c807e2d3fa2f8893b2c46dabbb473b13cb948e23e5dec913b4241efbb76c9d53c7c065b3e0617383b67cbe0bb25c3153d7f87ac3c51a8623ad29321ba169ee43b0a88e4bd08d35cbe6d1d183d0000000000000000f64649befbbb1d3d0000000000000000a78b12be1236cf3c00000000000000008146c5bdab35a23c000000000000000049e673bdcf5a963c0000000000000000e24803bd20e4553c0000000000000000abed21bce0b61e3c0000000000000000317e3e3c0ae6cb3b0000000000000000a5c4f2ba93449d3b0000000000000000000000000000000000000000000000006bdd9dba03ea35bb93ce4e3b5ac01c3d502eadba5f03e0ba5fe4c13b31e3113da889a9ba45d98b3a04880c3c15a3e83c4933f1b9e61a213ac98cde3b768cba3c4930abba55105c3b1e79803b2ddb833c7c7565bad75cec3a6511263bff7d183c80b2a7ba7b013a3b2553bbba7af6513b0000000000000000000000000000000000000000000000000000000000000000e86f0a3c896299bbd0c0bdbafca99e3b6648303ca56135bb572815bade3d783b420c4a3c96edadb967c9b8badf50453a987f313ca434c539a3a3a2ba0e5f43b9c208df3baed4953a77ebd4baa85759bb73b6803b26209f3abb01d339d3218bbb5b93ff3952ebf3396ec12fba254420bb0000000000000000000000000000000000000000000000000000000000000000bdd3c13bc3ba52be9230cebb8d26803b6cc36fbbd6ee44be9fc7a7bc626ce13aa31278bc4d722dbebf2a07bd50ccb9ba6a9f54bc2fb00bbede6bebbc96de9bbb8fa20fbc8cadc3bd4bd6bdbc5f335bbb8592f9bb386052bdd4c87fbcd4177abb63932bbb83dd12bc211780bb81f504bb000000000000000000000000000000000000000000000000000000000000803f79a869bb3dcc843cdf0ef6bd03f6ac3fbbd2fdba05540e3c0c93a5bd276f8e3f9d6e493a58eec93bfdd671bda0ed693f62ce1aba98b5c73bbc463ebdb24a2e3fb682aa3a8ed4af3b48bbe6bcee3fe23eb76d233a0a1bdc3b92b4f2bb95005f3ef6b1033b3008313be2bb8e3b4c39ff3b00000000000000000000000000000000000000000000000000000000000000000717e8bd58308c3c00000000000000002f1a63bddd242f3c0000000000000000c86cbfbc62b0163c0000000000000000d3f187bb68df213c00000000000000009e9cbb3bb8dcc23b00000000000000001316633cbabcc43b0000000000000000af2b233cea48f33a00000000000000000000000000000000000000000000000000000000000000000000000000000000858220bc712c5e3b1301c63ce8798a3cf84506bcd031e13aa7b9bd3c2d9a9e3ca13d9cbb3884053b11a0963cf749a03cbfe16fbbef9c933a960f613c40197d3c75cfd5baf09593b9e5901f3cb7123a3c586b5fb922ceb9ba8ca4c93b72e2e83b4eed4d3ad0af8eba6a90ba3a9af9d13a0000000000000000000000000000000000000000000000000000000000000000c31c8f3b6165a6ba0308413ccc0fe63b92070e3cfc54cc3916b9513c18b8de3bc3b1273c95fb383b3d68103c823fb7b9d493343cb290633bee31f73bf39aa23adf51153ce93c3e3b238f243b8238d23b78bf8d3b3842403ba778b9ba042bb03bb435d13a9bac433a0a7b8fbb5846c33b00000000000000000000000000000000000000000000000000000000000000008f752abe5d2636bd0f2218bba2ca243a634a1bbeb15f78bd6f096fbc113b7fbb357805be3fe48abdfaf2b5bc994ff9bb59d7d2bd068d71bd292cc8bcdd892ebce35096bd16f737bd46389cbcecf030bc341f2bbde246dfbc66c04fbc354d09bcb38134bccf77c5bb5ba85fbb9a7269bb0000000000000000000000000000000000000000000000000000803f00000000060ddb3b6ebc06be181ba93f43e184bdcba8b1bb0cfed8bd31478a3f1b1b893bdba010bc570cb6bd151c5e3f77d73b3d8de82fbca68da0bd8b70243faa0b703defa606bc44fb88bd6785d83e8f885c3d3e75c03832642abde7145f3ec8a0173dad3a983bdb60a4bc6667b43cd744273c0000000000000000000000000000000000000000000000000000000000000000b079713c9e739cbb000000000000000021f2a63c79c585390000000000000000c531e03c85706b3b000000000000000073baf43c974a1b3c0000000000000000f9d5ce3cfbc3253c00000000000000005a52b23c9dd21b3c0000000000000000ba98233c3724963b0000000000000000000000000000000000000000000000000dd1d4bb014500ba5e44783c6559b03ba8a71cbca11571bb5c94cd3c368e843c867016bcff8d81ba059ccf3c538cb83ced1ee0bbbdd1e7babf50b03c8f07b53c735c83bb98e937ba1e05743c52698d3cc05440bbb676ceba3725463c8c1e543c57b8bcba0df2be39797dbc3b0814d93b9c1eaa3ac8c29db862fb073b5d14c73a8e7e813a525a20392633e0ba2c2356bb268c163afc5713bb26ed063c2b601c3c7b63343b74db28bb1dc11d3cece30e3d1369143cf4e001ba50f53d3ce19cad3c3431413c8ea36b3a9c0e2a3c3c40893c8a4c393cf4b3813ba8e8d43bcf83473c1849113c12d85d3be5f9f73ab3222b3cd6b1c83b76731c3b670872bb3fab153cfe5f203bf7fdd63a0861fdbb3b138c3a1ce00fba924530ba10c5dcbb53b4463bdf7edbbd342b20bc91a504b9e739ba3bd5e123be0b4020bd1251e5bac0a6253b0e7c24beec3d91bdbc699cbc6e4462b913ad0dbeb1ff9abdbc66debcd75595bbe78dd3bdda808abd6099f1bcda4a17bc629294bdc94f56bd5a6ac1bc84ab21bca4591cbd4ee600bd170678bc9ec004bc5c7707bcc74a26bc351df4bba02eaabbf4274c3cafce083ceb345c3bf7718e394187f33cc06f4abe3020a93f38cf1c3d59e2e33cb0e267bec12b9e3f07656c3dd528383c6f093dbedf5c873fbc0df83d959b673b938a1bbedc6f553f4642153ef362b5b906b7f8bd2c471a3f7661143e9b98bb3b810ab8bdcefdc43e48e2f43d07e8143ccbe55ebd0e94373ea72faa3d948c043c249cbcba9447263c0dec2c3d19de383c8cf1ad3abb71cfbdf1ca03bcc0c5e7bc9f3a53b900000000000000005997a0bc7dc07b3b00000000000000000056d1bbdfb8873b00000000000000002717893b7805f03b00000000000000004ba7583c665e323c000000000000000030bf3c3ccaad583c000000000000000039a6f83b2aeb423c00000000000000000753f73b5863063c00000000000000002a0ab6bbd838643b0000000000000000679fa1bb1f10a4ba60851c3c692bb53ba4360bbc671729bbf423a13c2c2b863ccd6306bcea7d79ba1d1ca13ca06aa93ce143dcbb462fe8bad46e933cc98caa3cb57b7ebb6b68abba299e483c0cd7823cb15977bb5a195bba24a7233c8d8e333c535aadbadbcc72ba2cd83a3b56440b3cbf2cc0b941471a3ac828903ae815a93a6ef6b53a0db8ac38aa7dcfbad4a6f7ba5d3b343a9ed11bbb25da163c3cdf103c6dcbdf3ba10bbcba4b3d193c70aac23cee443f3cbd758d3a53345a3cab15673cbca85e3c516a693b7755263cdea38d3c21da4a3caf62943b1d4dba3b102f1e3c46cd343ceff1703b9ae9293bada8553c5e90b63b46177c3bc912b7ba6a171d3c6c834a3b3abd993aab6aa0bb65fe743bc91fafba6e1f61b849cee5bb6623a43a751097bd166a3dbc6a72ecbb62180b3c373205be53d366bd3c377bbc37f2903b564002be84a2a6bd5eb1f5bc0bf9f0ba5002efbda65daebd7dc816bd8d7abcbb3c7eaabd508892bd1ccb0ebd4e7b42bc208979bd41836ebdfd78eebc2ba334bcf05d02bd2fc50abd0834a3bc44ce0abc11cad8bb1fac4dbce89ecabbe5e6cbbbc7d2233c9a2ca43b6be26c3b52ffd7b9fbd1f63c6b594dbec2208d3f5002803e365f073d934872be1a668a3fb3378b3e37084a3c1eca3abec171653ff911983e9652123cba0d2bbecf44383f83d4903e579ea13b3f3bf8bdaaf3013f9e98783ebed6143cb816cdbdd0cda63e81c8443e73a5133cbb8e7dbd889c1e3e634efd3dd96b163c94db91bcc1d6083c17355b3ddce8493c6584753b67cc93bda0987cbb55ea94bd5810f53b0000000000000000f9f184bd8fd6453c0000000000000000eec80cbdc925383c00000000000000007d55abbcbbb5733c00000000000000002e332ebbbd7f943c0000000000000000c60d56bbff659f3c0000000000000000cc2580bb60fc8f3c00000000000000009edf8ebbfce4503c0000000000000000ad315dbc4ae5e03b0000000000000000f09f96bbfbca3dba877b0b3c1daac33baea8f9bb300908bbad967a3c29b1873c207d06bc67a305bb3eb38b3c44f2b13c5c5899bb0c8e33bbc6e0583cd384a63cf57495bb2a9dadba7a952e3c48c2893ccd0207bbc46c0abb0cdd023c4664453cdf65f6baf85ecab9a792933bd1ccd63bffe0cc38e16241b9c34f813a0b67913a38bb8cb9a783793ae77f9cba075d16bbe0e31c3b276340bbe5891a3c41bf3a3b76a8223c26db17bbaaab313c2006923c883d773cd8d1fc385c46413c35ae9f3c27c1883c920d313bf03df63b3261873cec3d703c469ead3ba035cd3bd708673c25ae373c97c7863bb0b2ee39a9214d3c371fd13be81e8c3b6e32b6ba392b053ca9fd433b7f17bf3a3c1fb1bbb0b7673b3e8581ba2e7538ba3e3c71bbf1fdb03a4e847dbd0cc5a5bc8b7a7ebcdd9b503c2bd9d1bda2cc93bd361dc5bcdcd0ea3b2ef8debd396cc6bdedf91bbd1e3a763a2a77b7bdea12cbbdbbee2bbdc64ee0bbccb091bde2ffadbdda652cbdf54e3ebcbf4442bdf85c83bd185e01bd29973fbc8182c6bcbd991bbd5611a1bccbcf33bcb4bb9dbb9f7558bc5dc4f1bbfc8acebb2a7e043c6998bf3bf073ad3bac05d7396bb0c83cc40e3abeff9e693f1891f43e1ea4e23c06c05bbe9d3d603f933ffe3ea54d763cbc9d3dbeea793c3f93dcf73ed5eb173c9ed61cbe6112123fbba6de3e395bf83b057302be23b6d03e7553b83e8681123cdb2fbebd666c7f3e7c95883ee687383c222271bd0172e23d4c4b283e32cb503c5f9faabc844bb43b05b5813d76f84e3c3062b6bb655d80bd936047bcaff1ebbdc6dc2e3c00000000000000003b27e1bdb5e6a53c00000000000000001da095bd3d9b953c000000000000000034a634bdad0eb03c00000000000000007571bebcb9a7bf3c0000000000000000473480bc4d88c43c0000000000000000a4a14abc0b59ba3c0000000000000000b63d37bc94c5883c0000000000000000600db3bcb57f173c0000000000000000c03744bb966921bba900e13b9814de3b1889bdbbee205abb2a31413c0f8e8c3c831fb3bbada140bb774d523c86cca83cd7dfa7bb491b67bb165a413cd1f9b73c5f3310bbc71eb1ba734dfc3bd873623c1d5f3bbb025369baf2a58f3b388c3a3c38abc1ba6d8e1eba33eeca3a0db7e93be7c9ccb96c90443aced1aab9efc3e53a10278c39b8fa07b96e916dba992f95bb9ac8613b78f037bb25d7173c0404143b09623e3c1853d1ba5242083cfd75913c8360813ce6e4183b84480e3c47527c3cf064813ce000c23b46c3cb3b642b9b3ce274593ca0fbcf3b0379c13bf5dfe63b186d4f3c2670b23b51980f3b51dc443c18ebd73ba53f6e3b1b5fafb9885ccd3b2137493b6649b73a59fd31bb604cd73a83a6c63a996ef5ba02711ebb9e3b5339c3ab49bd07ceebbc9a3f97bc5f074b3c9b7c9ebd791db6bd7683f8bc0a38073c004ca1bd8c07dfbd8b0630bd3e4649bb0f4e94bde0e9e1bd911253bdea2912bcc78a53bd6032a4bd12fd38bd4b5877bccee50cbdc2e88abde3ec23bddd4a48bc957a64bc48862ebdf9b7a6bc64dc35bc2d0ec7ba4bd86ebc5f8dd4bbd1aff2bbc135043ce28ddb3b5cefae3baf95ad39c0619f3cefe618be7b3f313f453b333f497aaa3cc32b35be9a40263f8a4b393f0d8b213cc6f015be4848093fa186293f6515f43bfaa107bebc8ed43efe3d153f5f609eba0d51b9bdabb8933e184dde3e69e2013ce99ea9bde4fd2f3eca2cab3eaf500a3c42f54fbdb487963d48d2463e5d401f3cb782a1bce79b85bbff7f923d56a1243c794395ba9ae456bdcf6f99bca1cd19bea86d803c0000000000000000451618beb839db3c00000000000000000a4ab8bd41b3cc3c00000000000000002bf271bdb499dc3c000000000000000074c876bc65cad13c00000000000000007ed1acbc1ff8f23c0000000000000000530268bce433c13c0000000000000000341984bc526aa93c000000000000000090c0c7bc5af51f3c00000000000000006758edbad61534bb4627a03b1e36013c451a8dbb903eafbb4efef93b7e2aa13ca4e9a6bbb1c7b4bba4792b3cb974be3c8fb197bb08c64abb0da4023c1e1caf3c377152bba0d44ebb931ed83b224f8c3cd67613bbf91d0cbb9709943b80f4423cccedcfba77079fb74e52ba3afeb0f03be9b4eab936c5553ab48e6db9f7d08e3a99ca68b86799073b3d2415bb6904adba40ea963be41c54bbe3b8be3b0de4653b8677683c648532bb339ac53bcfea953caa25903ceb200d3b89eff53b66a49b3cfa489a3c8b26803bdee5d23b98af853c670f863cbbedd83bb68f843bfe846c3c0283423cb969b73b9883043b4962193c0c2df73b21da8e3b2be6f9b94854a33b82993e3b81ccc03a9798acba884f09bad20fc1ba708262baba0235bbd5660bbbfa8d10bd9eb031bd9ab397bc42de573cdd764cbd729ce2bda7fa06bd4769133c7cff62bd9d9105be99cd47bd2c90a2bac4434bbddfa4fcbd6a1b53bd411f16bc13b418bdd755d1bd891f4dbdbc3481bca60fb3bc083d9cbdec0c17bdae5a7abccfba26bc497937bdec6cbebcf5975bbc987fef39427c6ebc8332f7bb3f94eabb02b7e03b6f39d03bbe58e63b60bad2b9d66d5a3c1e0de3bd3c17ef3ee5f36b3f9ccd873cb40909bee361d63e7f40703f0785e23bdbebedbd3116af3ea7c7593f49366f3bd251cabd2183843edd20363f0ad4633bb18aadbd0ccf333e801f0e3f5317be3bdfe379bd8998c93d84f5c43ebf88f63b503419bd7f3b0e3d3cbf613e3a2dda3bb74c4ebcd90d02bce2418f3d232a173c78164d3b8c432ebd590c04bdf42f38bee896af3c000000000000000026d338be2181053d0000000000000000ac6eefbdf8daee3c0000000000000000e05190bdd214033d000000000000000069ae10bda879043d0000000000000000cf49a8bcbfaeff3c00000000000000001e245abc6ed3e93c000000000000000029e684bce93eb73c0000000000000000631dc2bcae112e3c00000000000000000cb847ba2f9b78bb2171c23a6972223cb71229bb33b6bebb1de28d3b5461b83c936682bb8705adbb0cd0e83bee56c63ccfeb43bb02b1ccbb6f84e53b3755c23c49751bbb4c6f32bbbbfd953bb5a6863c761917bbd460c3ba1afb5c3bfaf85f3ce12dd1b78c26e3bad93f233acd89c73b46bbccb9ff382e3a4dfe92b66663623ba6c68139fc150a3b63aeb0ba82d40bbb5905a03bc43a99bb414d4b3bb174c83bdeb56b3cb9ec32bbb0af633bae977d3c6805963cfd54473bbc14c33b4d2e873c0019a23cbf2ab23bd6dc7a3b9283933c9bcb843cba73df3bd563353b93dc303c8f02513ceaebd33bebe1a53ac3c8f63bb5d0003cc9d58e3be4259239b216893bfd28fe3a29bf133bdc85b0b9a34f5bbb4111d0ba0a023dba23aef8ba0fed67bbfa9b70bca91175bd98a65bbc3f53743c5007c4bcf10c0abe7fe9f4bc348de03bf27310bd44df10be7e7f4ebd6ef39dbbbe82efbcd4d00dbe5b1f6abd8c103cbc303bc0bc1b96d4bd0a3359bde6987ebcb01953bc249da9bdab7f29bdf28e8bbc21cf2abbd4a73ebda48ec3bc5e0e52bc273e933aa05d89bc4e5caebbc0f116bc94b5823b3394143ccf47b83bbcc4a6b921bc183c48268ebd2f21783e05e28d3f456d003c87dea3bdadd5463e6d95903fac31afb8176c91bdf4562b3ee3b5783fbc09293adf8c8bbd81c3e33d83ac533f09a0a3ba356f53bd4a6b983d26461c3f641f313bd33326bd2f83fd3c0204dc3eefc6763bd82bd3bcd2adde3ae43b6e3eb6fe2e3b4dd286bb28ef11bc3507793d38c0793bf58abe3b1752b0bcb86947bdf6064fbe5f7ad33c000000000000000066f445bed5a71e3d00000000000000007e71d6bd8982fe3c0000000000000000bdc888bdae81093d0000000000000000d3b2b1bc3e62f43c0000000000000000a3c135bce52b033d0000000000000000720fcabb8b27de3c0000000000000000f5a5f5bb42a0a53c0000000000000000cafd8abcedbb213c00000000000000006a542d39879ba4bbe5491abac2587d3caef9feb9d1e916bc4a3c7aba2d6fe23c708a41bba4f1f0bb18d2413bf288f23c5b2149bb19f7cdbb106f343bb254c43cdfa3dfba273081bb1c78303b9a33973ccbedc7ba1468ffba10be5b394c66783c0b5805bb23bf8d39931841bacea60b3c89c3e3b91242173b1ad0bdb9d510a53ad7c7be39b5cedc3a70b9fcba4ff89ebaf993d03bc3cca4bbf39daf3ac94f123ccc1e823c2636adbbb910a63a004b7f3c46aeab3c36a1023b27ba273b5f79993ca744b93cc660a03b41271a3b0add913c95f2943c508fef3b1864603ab197513c3c1b513c6d29cc3bbbf02a3a2ca1ca3b0f78003cc437ac3b9375383ae3c3523ae3c37b3b0691c83a3ad7a03a5b08ebbb574e24bb99b747ba2d9aa3b87613d4bbe6d09dbbac94c9bda4f339bc36e2473ce6a1203c2d5926beff97ccbc3c4b1f3ca67aaabb5c4533bea12353bda9ff82bb2813f3bb0a2c1bbecffc77bd111e49bcfef1dbbb5f8ef1bd903862bd8192a7bcd4d918ba7c18afbdf5d330bde9ed94bcf42f683bcd5a4cbd6416d0bc49c685bc467ca73a9e8f67bc427503bc6a462abcf892993be8e1463c4e291a3ceb1232b94efcae3aa7dec1bc67c9063d188fa93f55c4ec389c3beabc671b44bcb8a9a13f9a825abb0a3608bd3d370fbcbbff8d3f8f1738bb1f6a10bd95e279bcb7ae643f116928bb7843f5bcc24db9bcbffa293f442220b8390199bc50f5f8bce0ebe23e280a773ac4650fbcbaadcbbc25566a3e3add60bac2aa6a3bc73dfb3a94a2213dc59aac3a7cb93e3c0ca351bca4b9b7bd39c847be4871c23c0000000000000000bd5b35be26cf033d0000000000000000d833b9bda1f2db3c0000000000000000df8906bd51e1e43c000000000000000025602b3b29b7053d00000000000000006c285d3ca13df93c000000000000000042e4643c3fcdd53c00000000000000003580343c7eeba83c0000000000000000e7785fbced34dc3b000000000000000000000000000000000000000000000000e36de4ba97b7f9bb58eeff3a332adc3c0d8860bbcd13d9bb10b3023b198bc93c809906bb7a249cbb289c643b5591b83c2a5001bb5b626fbbf0c9363b3242803c2c080cbbe8639ebacb58893ae065483c447e26b9ef0615bab7121eb9b4c0d93b0a88ac39afc3273a8becbeba33e22c3b0000000000000000000000000000000000000000000000000000000000000000c6828d3c98a2ddb7edb3d83a5331873c6306a53c35a9943b0c30853b3b038e3ccd86983ceed6f03bc3aa1e3bc3695f3c17fd883cf3e7163c9f800a3b82c02f3ccb753e3c156fe43bb8c4af3a365dc63ba7e3ed3b431a943b8bf96db740475abac792073a587f013b20c05bba347062bb000000000000000000000000000000000000000000000000000000000000000018f3103bb09d2fbe0fbe1fbdd59d9cba56751a3b565c21beca275dbd6bde4dbc3f1897bbfde30fbeca6e7fbd3614aebc71e9f4ba524de0bde2a56bbdfcc3cdbcc585253b53e0a4bdcc0230bd811da4bcd200e23bc46d3dbd3cc5cebc2eb076bcbde5a83b30c82bbc91efabbb5beee3bb000000000000000000000000000000000000000000000000000000000000803fa75eecbb1ef2433bc812fabd1ce6a93fab7c05bc6a832ebcca0ccebd30708b3f951adfbb294c5abc450eacbd8440623fc816c0bbd4126cbc56a29fbdc9d1283f36516abba1380dbcb15e86bddf8edf3e90d5cfb9e56036b9042c3cbd6ad9663e1a63093a9dae173c198ed5bc864fd33c0000000000000000000000000000000000000000000000000000000000000000c1d59ebd7b418c3c000000000000000008d62abcc68eb63c0000000000000000c092ff3c7c01e43c0000000000000000fb6d433d080ef13c000000000000000083953c3ddf6dcb3c000000000000000045f4073de986bd3c0000000000000000b400303c8dbd3f3c00000000000000000000000000000000000000000000000000000000000000000000000000000000334abcbb0e12c6ba8bc7293cb3eb813cca7db6bb506c25bba8b5023ce09c893c2c4c8abb522047bb9dcccd3bda9b8a3c1fb25bbb802b51bbdb1a7f3bc2d84d3c3d6025bbbf5b48bb5c06f43af4151b3c6a8e9fba1ff84ebba548f8396b6d9a3ba3f16aba5121cdbaddce10bafd226d390000000000000000000000000000000000000000000000000000000000000000724d603cbc25963b10bfa63cd16e6ebc20f5923ce1a8153c3b86ad3c546f88bbe6a9a33c6bfb2a3c5a7a993c1b1f29bb8d1a923ccdfb453cfc0b8a3c04f7523bfc95693c098d3a3cd31a583c2900cc3b069b183c4d13f83be736103cfd321b3c99ef2d3bb67f873be80a903bba04f13b00000000000000000000000000000000000000000000000000000000000000005862c9bd2e0289bdfc84ffbc06f286bb1a04b6bd46d59abd819e41bd670a90bc7caba1bda7679abd8ff75ebd6a7cd7bcf68577bdb96d83bdd72d54bdf861fcbc2fda28bd954047bde1a933bd398bf8bce169c1bc30d4ecbc469adebc1b23b8bcd0fb95bbf644e7bbe19b19bc913330bc0000000000000000000000000000000000000000000000000000803f000000002d18f8bcc84448bdb60c953f9e03293d17d934bd0f115ebd0975763f67c1a23d942751bdc4bc6ebd5a68463f67f3c93dbb4a56bde9b68abde389153f7988c23d05532cbde8bc92bd0564cd3e1091943dab1ed2bc51b488bd20c7683e644e253d20aea9bbbc696bbd87e5783d3db15c3a00000000000000000000000000000000000000000000000000000000000000004086ce3cd30e80bb0000000000000000549f4f3d07002d3c0000000000000000b3558f3da0b6c03c000000000000000094d1943d12e4f73c00000000000000001e6d823df4390c3d000000000000000049c2313d9f0df03c00000000000000004da7873c8d459d3c000000000000000000000000000000000000000000000000315057bb1c1107bb88bceb3ba641ea3ba535f4bba598b5bb8ee9f83b2db1753ca171e0bb9739bdbbeb25a23be7f4903cb56a9ebb1d7cd1bb48aa813bcb627c3c53e882bba2c3acbb7f63143b8c99313c0abd42bb5837a7bb73fa41b86ec8eb3b5e2d9cba489780bb8a454eba88683c3b845795388d334fbab836223ae799b239ecff153a321edfb8ab9c9e39cbb919bb9456a23b168225ba41b88c3c720785bce589823ccfa4a53b0f3e003d431df93ae878b73cdb612f3c0b8ef83c6678c03b0a0bab3c83d17a3c4813d23c2577143cb0afa03c9faa773ca0a3a73ca4c34c3c28b46b3cafba5a3c8733873cdc9b793c7edb133cd759223c0b1b063c3ad3583c3e73ee3adb1d433b9cf403bbc55ca63b1dc035bb435c54bad6633fbb8b108c3ac3c181bd4b3d05bdc68e50bc47ed243cd282bdbda44489bd98661abdd09e30bb1589bbbd0154acbddccb6cbd35149cbca7ea98bda311a5bd316881bdd7c1fdbc423563bd0d3d88bdd9ed6ebd72411abd990d11bd40da48bda7c23dbd6a5009bdde5984bc0351dcbc14f4ecbc474bdabc4f2e69bb92afaebb8c79dbbbe32830bc884d023cae4c0c3cfaaa103c63d8a23a007349bc29ed99bd38c8943f31c2093e0c8707bd3588e8bdede08b3f01f6223e46f74fbd3cfed3bd0f486b3f8c5b4a3e493360bd9d32d0bde17e393f6014483e6dc24ebd9a71cebd4dbb073f7aa32e3e13a819bdf50dcfbd7630b53ec522043e6b857bbc092ab6bd3fb43f3e304a9a3de5545f3c65f06fbd289d3e3ddae19a3c06b5aa3c51dd0abdac9d7abdb30dd5bc68b7c9bc7a0780bc00000000000000007dda273b337bb7bb0000000000000000a5043d3d0309033c00000000000000007f5c853d87deb93c00000000000000005a7f953d01760b3d000000000000000017127d3d085d0d3d00000000000000009713223dcd510b3d000000000000000081ad2f3c766fb13c00000000000000001fc768bcd503043c0000000000000000eeb12abb269f33bb9491893bbd81c73b435fc1bb6903bdbb01d1d63bbf805d3c724ba8bb412386bb5388c23b862c733ccc3aacbb5f65e3bbeb35363b35a6643cdb4f4cbb4759a1bbf843103be3092e3c71b90cbbfa7db0bbf69a83bab794c73b559b9dba8b7f89bb71d3a8ba6093673bc867fcb88278e8bacdc5c939a69f0e3a374bab3ab8773539456147b99c16faba39e8b83b28bf19b9487c8d3c33f840bc8cb06c3c5a61d83b5c2be73ca02b89b9a3d59a3cc9ee2e3cd419c23c7f411cb92cc7ad3cf0cd853c1143d63ca9e84b3cfca1893c79366a3c4b998c3c940f2e3c38776c3cfd79723cbc5b773c822a7a3c3b5e013cff89283c988c283c9cbd473c84c2de3aaf12913ba8c42139fbf6b03b8fe864bb458808ba1b999abbbed881392a0639bd465ecfbcbb459ebc47300f3c173b9ebdf37d88bd4af837bdd9988abbbff297bdac989bbd2f966ebd3b7ab7bc068f82bd1efda5bd42328bbd651f10bd845b39bd008881bd46726ebd50e51abd73ffe4bc26203ebd8c6f4cbd37131dbd286151bc729be3bcd771fbbcc88ce5bc169d80bac13605bc4c360dbc065e5abc0b29df3b48c1273c0429ea3b75de003b4e3847bce983aebd2dfc7b3f8cb1983e78b800bd09edfcbd365c723f6754a63e6be32fbdfe1dbfbdd0f5433f0a67a23ed0a049bd3faeeebd4e8f1f3fa73a993e95b534bd8be9cebdbddfe53e4f45753e8c59f6bcf69eddbd80d5973e1957393ef3a197bcce13adbded3b253e605cda3de3e35e3c4e5980bdfc4a103d6487183dcae6bb3c61b4e6bc434f42bdb4709fbca1cf21bd879081bc0000000000000000ba2c1bbc83ac49bb00000000000000007fd11c3d03b16e3c0000000000000000ecc3753db33be23c0000000000000000a7b0883d9c761e3d00000000000000006d8d673dd4722f3d0000000000000000d87e103d6146133d00000000000000005a6d933b49dfd13c0000000000000000ed828bbc61afc63b0000000000000000651f27bb13f0c5ba67158e3b0d41df3b7b7da2bbbc89bebb2e86813b278a5f3c033a8cbbec2cf5bb8305283b43a26c3c367b75bbd410f4bb8e23983a5036493ca6f46fbb4b93aebbce8f5bba4c230a3c457209bb455cb2bb345ce3ba5767ac3b526083b98e0c96bb94d4f6ba5edbce3a9485e939b64bf5ba59cdd9b9725e9439c631353a90fc00ba2455263a0eac10bb626e753b42a92e3a68e3753c449454bcbf0b693c3fe40c3c6f04d13c7156393b187bab3c3adc753cff52d33c1bb7153cf3bdab3c91808e3caae1b43c0016733ce1d1973c325f943c0e0c9c3c0f568d3c488a593ce93d873c6daa5c3c4754923cfe49e63bc13a403c2c50e03b9c265f3c9d146d3a61e4a33b7ca49d383effa83bb6f783bb781c8f38f8fc14bb82782739c18a2abd4a80e0bcec4cb1bca0f6063c9bdb88bdc8c18bbd010853bdfaabe2bb54eb82bd5b2caabd2abf8cbde307e2bce92c4fbd5fc2a1bde52f91bd74c222bdb61316bd0c7085bd0a9683bdc27c3cbd5e2facbc37a23ebd557c54bd944626bdd22bc4bb42c6c7bc7298ffbc5313ffbceb97d13a5634b0bb15ad2bbcf95661bc14c3f23bc0cb103ca198d23bc4ae003bebfa6cbc80f198bdb2ca503fab63f43e0f7bf3bc2ee1ebbdfe39473f30a6fc3ee8372fbd30e8ebbd059f263f3750ed3ecf8a34bd24cbeebd604d013f7ce4cd3e98ea29bd511be4bd27b5b93efa1ea53e2569d2bcd602ddbd7cb36d3ed105713e30b3ecbbb4feb6bd8c55e63d67890e3e3e475b3c27ba72bd8cdca23c9120473d9fd5a93cb85cf0bc8ab639bd297da1bc353e3dbd530392bc0000000000000000f566a6bcc81220bb0000000000000000b1c6ef3c38e18b3c0000000000000000314d653d39830b3d000000000000000023e3853dc7893d3d0000000000000000c8c3633daaed3a3d0000000000000000fb84f73cb262293d0000000000000000ceb03b3a3ea9e93c00000000000000005ee4aabcc3abe53b00000000000000003c61c2ba7fa36dbbaa865f3bdf3bea3b57438fbbc74ac7bb47e58c3b42a4e93bbdff47bb1e0de9bb03df033b4b5f523cd4e08abb6ac2d4bbabd9acbac309393c1176e1ba6bb8a3bb611b753ae264173c0f06f0baed26c0bb752cf5ba7923843b80c814baa55c68bbcb2c1abb1fb3ae3a0af3fdb93a448eb94e5652ba47bfdbbaffef703a80373bba5677813a1af7a2ba93f98d3bb4a2c33ab42e6e3c054c1bbce096963c2365153c52bac13ce417b33b19a49e3cfd7c793c7816a63cf56c263c034bab3ce05e9c3cbc74ab3c7f729b3cb9047c3c1b8c733c796f6c3cf8982e3c0d424f3c6ff2913cdea8473ca000973c9ba0f83b58b32c3c5611e23bcc54533c05f2043beee78a3bac67333932ba673b8c6d73bbb14a4aba3b18caba3a9c12bbf6fe18bd5996f6bc52e6cdbc0a8ce43b3d905abd7f0c8fbd16c969bdb63a47bc43204abd1208a8bd831a8ebd4d6403bd7b5526bd14e4a4bdb6e797bd87013abdf427fcbc9d3974bd278178bdb80838bd6be94fbc865f35bdb6f756bd021b40bd209c4cbb83b3c5bc511dfbbc81d202bd51a1e03bdda28abb528446bcec6c36bc2275ae3b5cd3103c7e46083cc808db3ad6a364bc7f2b86bd1a32243faa51273f8778f6bcc276d1bd83ff193f30ca283f687b1abdfc6fd0bd78b7fc3e191d173fef8928bd6e46e3bd425bc33e05bd013f8e0818bd8ffab1bd25e68a3ebbcdc03e952bc7bc9c40cfbd4a2c273e6d2a913e1ae606bc5c4ba3bd088d963d4d64293e9b924b3cd46d61bdc3dc8bba5ebf7e3d162a9e3c1d00acbc2ec932bdf8feb4bcbbb468bd2e439fbc0000000000000000aa86dabc68720a3b00000000000000000bfbdd3c5bb2c13c0000000000000000c5a7603dfa8b273d00000000000000004794813d2a454d3d000000000000000048815f3ded9d5f3d0000000000000000d6ddee3cfa55383d0000000000000000e07645bb4124f03c0000000000000000f2d0c5bc5ac9bd3b00000000000000001386c4ba6f0839bb8dc2ae3abe66f93b08ae5dbb8693ecbb36722a3b3a9b2e3cd5c67dbba49bdcbbf452cdba5c6e413cfcd050bb037600bc98edadbaa7f21d3ca0e72abb5217d5bb3e9019bba426be3bd71abcbab6d8a4bb227647bbae5e503bce8ee7b99bbd70bb68a90ebb37f0373aa98e1b3aae4caabafd4739baec88f3375c41803972993e395dd45e3ae9c426bb2cb6773b5be4273bb8a24e3c469b83bbb1b06d3c92313b3c8073a63c1f8e1f3c1978a33cc43f8f3c44a69e3c5af39e3c0b9d9e3cc0f7b03c43629b3cbb8fad3ce23a9b3c209ea03c4ad9733c11ffb33cfd414e3c07438d3cdca01e3c1c68973c1500ae3bde985a3c3f0a893b7230593cf011613a2220a13b650adaba2b317e3b481e34bbdb52ffb99afe0ebbfdc486b971570abdd19507bd3af8dbbc5f24a63b86f935bda0149abd63e972bd461251bc59f920bd7cd0b3bd503898bd770d15bd55aef8bc6744a8bd8ffd9bbd86b345bd21f594bcf85384bd7a338dbd60ef5abd0429b8bb5e393cbdb27059bd4ee840bd9fd8463bf6edbbbc86a405bd10c80bbd860d923b5c34a2bbec9e36bc12c862bcb916b93b56cd093cca60de3b06f7783bc5c267bcf5bb61bd5e76ee3e676a533ff21ad0bcef7db9bd68a1d93e3921533fda4105bdcb6dc9bd1f5ab03eb21e3b3ff3ce11bde680ccbd2160843e96171b3f383e06bdb8a2c8bde12e333e0208ee3ef28982bc79d9bbbd2603c43d7f55a83e98fbdebada1f95bd93ddde3c62b1443e48cb733cafa125bd28e793bc34b28b3dd9a1843cff228bbc63022abd9090d6bc94e686bd311f8bbc000000000000000067c31cbd4aa7873b000000000000000001c8a93c9926eb3c0000000000000000e0db503d70703e3d00000000000000004a6f843dbc3d6e3d0000000000000000a179513d816d6e3d0000000000000000a610df3c0d64473d000000000000000080d5b8bb2da0003d00000000000000005a63c9bc6a15953b000000000000000039959abab3c75abb2c9189b977fbf53ba0824ebb984ad1bb148cedb9d569293c545868bb5723bbbb884db2ba94c23e3c6a2f1ebb769f18bca0fcf9ba6a370e3c235ec3ba14dbcabb7e3999ba9cfad73ba77cbfba9406a3bb926474bb92e9503bb28277b9173188bb51c7bbba4ec7343801bb9ab89762f6b95ccca8b99846573a8b4ea43a3ae953391da41f3a68dea8ba306b913b97a61e3b71eb1a3c215ca13b59ae7b3c1e92523cf899763c444f8e3c03b4a83c159e8c3c17ba7f3c97068e3cc806a63c7368b73cfaa17a3c587fd23c38307a3c8150983c508e2e3cfaa29f3ca4b74b3cda06973ce857ea3be671a63c3054013ca72b433cc2e0923b4919583c63a09b398a539d3b0ae11abb8e166f3b976058bb187184baaaa37cbb362e54bb1ba4e8bc6fa221bdd9bdd7bcce21db3b88ba08bdc73eaabd717d7ebd45a489bc440a04bd8ee0b2bd850497bd429720bddd0695bcb9a6adbd0967a3bd4a3b61bde30554bcc16c81bd56b784bd8c7a55bdaa8129ba78be34bdf6e160bd22584dbd9bf0043b9b25c5bca3f405bd2f9a0fbd87bab53bbebbc1bb4f7625bc94645cbc691c8f3b15890d3c92e6f63b064a993b1ba220bc94ff38bdc06e923efdd07d3f9d909cbcacaa99bdbfca7c3ed5517b3f7052f8bc7ba48fbd27f0533e72a84f3fcb39f4bc8ee7babd8c4e0f3ebd55323f3aa6c8bc15a6a4bd6c4bb23daa92033f9bfb57bc3e37a3bd138def3ce72abc3e87f19fbb62df6bbd9acf06bb280f583e020a463c88e6fabcf51d06bd0ca6933d59b08a3cd97b95bb47b817bdb10f09bda3bd9cbdbaea85bc0000000000000000fdd430bdcf3b243c0000000000000000ba48063db827133d0000000000000000399a653dcce35e3d000000000000000003f5833d36c0803d000000000000000062195c3d7892823d00000000000000008badf43cac34473d0000000000000000c765d5bb73ae0e3d0000000000000000c0ced6bc5039a73b00000000000000007fc643ba835451bb6494b7ba6bba0b3c8c5a04bbb98e0ebcd11850bbc68f213c5f6c40bb51d5ffbb0015a0bb202e2a3ccfe014bbee35fdbb7336a4bb486adb3b417cf6ba84cdd5bb5f88b2bb03dcba3b309dd4bad27b4abb4864a0bb25a1b03a514a363a1acb61bb00df75bbc2b9d9393a06d13919ddf43951cd0bb925cb93393c9f6a3ab129a63a4f2af23859f9103996eaf93b4c32313b1b41c13bd3191e3cc5858a3ce6735a3c3b0d373c2d33ec3cc921ac3c3023ad3ca32c4b3c441ef43ced2eb23c33b1c53c79933d3c4279ef3c7aff8d3c4bffb13c700e1d3cd083d33c22b1523c9674953cc1ce843b36ecac3cc81ddb3b7898433cf5a134ba75e8563c1aed863ad7ea883b4c179fbb44dbbbb9377d7abbe5b304bb699da0bb9b5f85bbc0a7c8bce9b07cbd65d10abd62e79e3b15c393bc77fbc5bd20ae80bdbb5a8cbcc30174bc6c90cebdb79fa4bdefad39bd93560dbc5de6b3bdc991a4bd83e973bd567021ba2b8f88bd4e9f90bde26c7cbd5a44bc3bb12b36bd08b556bdfc7758bdf0f13e3cb8bfb9bc124305bdc3b70cbd3a2ddf3b42f5b3bb36760dbcf78749bcb7a7b23b49eb163ccdcd113c3139d13b94ef0cbca47ae4bc246ff33d706e953f13a987bc37d56abd98529c3d10798e3f41d3c2bce05e8cbd0dab693d6f88723f7610c3bce9c792bd3d7ecb3cec85423f3ebcafbc227593bdf256daba025e113fb6e506bcbf3a85bd138602bd9d8ac73ee340363bbbe739bda5af4ebd34d65c3ef32d663c8f3552bc77eb38bd356d853d93757a3ccc33193bdbbd23bd19b45ebd3a9c7ebde2eb6fbc0000000000000000a3f405bd40f8343c000000000000000026631f3dbd30273d000000000000000008ca923d7a287f3d0000000000000000a41ea03d211b943d000000000000000054bd7d3d5e628c3d000000000000000080ff023d4bb9613d0000000000000000399d26bb93b70a3d00000000000000008ffff0bc01b0753b0000000000000000000000000000000000000000000000004b2f53bbc7aab7bb8994c1ba634f3b3cffb74bbbca35dbbb58206dbb193b1c3c336c26bb4db3c4bb63a32abbe18afe3bee660abba34caabb4fb063bb01f5d33bbcbac0baa84681bb13e883bba7b1743b171d61b9b1f90bbb693841bb10bbb63a617d8b39deec15bada8fe4ba0d911aba00000000000000000000000000000000000000000000000000000000000000003f288a3cf5f9643c97621f3c7751b93c65759e3c533a9f3cf276393ca22edc3cf47e9c3c85fba43c655b1d3c3c8ec63c1035873cb0818c3ca3aef73bde5ac73c6936473c3f84833ca530bc3b5ddf953c4dcec13b4c54313cc56f853702ff503ca4e9463a6e26923ba53916bb8d81943b00000000000000000000000000000000000000000000000000000000000000003812c0bcfbcbcdbdbfb184bd5087debcdaba2fbcb26ebcbd4cd89abdd38040bdf31fecbb8099a5bd21f39dbd8ac969bd0b70d8b90be288bd07bd83bdb1b465bd0059c83b97322fbd3ebb58bde4cb4ebd2b35183c030ac6bc9e0e00bd007c07bd85fd353c2fbbbdbb2dc512bc1bf753bc000000000000000000000000000000000000000000000000000000000000803f2ee780bca45cf9bcbad2f7bcb24f953f4f45b0bcb17144bdc02d2dbd22c1773f9294b9bc0dfa60bd187c45bd1bdb473f0f2d99bcde535dbdae8689bd9248173f98ac52bc407251bd6f1f90bd9076d03e662b84bac9fa0cbdf79c8cbd19736d3e185ff73b8f156dbc2ddb7cbd4206833d000000000000000000000000000000000000000000000000000000000000000059b4ab3c6646b33c0000000000000000426f843d40244c3d0000000000000000aa60af3d010f8a3d00000000000000001555ae3d3cbf9a3d0000000000000000ab50893d084a8c3d00000000000000006c21183dbdd9553d00000000000000006ad89eba12addf3c000000000000000000000000000000000000000000000000000000000000000000000000000000006bfb01bc2edb8f3bbcac223d5d647b3c290831bbdcd0923b426a0e3d448c983c986fd53acc12ed3beea0e53c401f823c10ae31394800f63ba4a7b33c7dff4e3cbf96bd3a2483d53bfefa573cf207083ce487d23a0c938a3bd27cb93b3fa7913b5030793a631ba03a01307f3a8f59b3b90000000000000000000000000000000000000000000000000000000000000000e71b29bbb47087bb14481c3b1c60d43ca422e83bc53093bbf96c2cba83d5673c8bac453c870b23bbf46d51bb017711bb411e4f3ced6a2c3985367dbbcc5a77bb54d5303c1d08f7b947d481bb2b1b0fbc675e083c31c4053aaaafeabb87f4d3bbd41f313b2626bc3a8ef2afbb6fe09fbb0000000000000000000000000000000000000000000000000000000000000000401066be698129bcdec6273c96b59bba6e3d51be7a8a18bd3b04163b52e396bbb0843bbe685340bd5871eebb7cbaaabb5b0016be8e504bbd89c30dbc53894dbb2581c1bd4bb71dbd3d9439bc91facabb325a41bd19aedebccc862cbcc5b085bb882a97bb7da4fdbb79ea03bceba26dba0000000000000000000000000000000000000000000000000000803f00000000dce2dd3ce80121be6eeaae3fa3b4f5bdd101a93c67dce3bd9eeb8d3febc807bd3548783c72f6b9bd06036b3f27c0173a49b6823c9d5e8bbd7b0b2d3fc0d0ed3ce64b1e3ce3d60ebd3d4ad63e1b7b2f3d3f68963b560b5bbbcc5e4b3ec19f3b3dcc7f743b0b41613ce18c05bce9cfe03c00000000000000000000000000000000000000000000000000000000000000000e08c93c04e4f2bb0000000000000000a68c743c9fa9d6bb00000000000000005818863c1e3fc0bb0000000000000000e9cd733c30acd5bb000000000000000055ee533c533f8bbb00000000000000006700103cbd8b88ba00000000000000001842df3b67f67bb900000000000000000000000000000000000000000000000089d906bc626f5db9bf5aa23caae6a13ba450e5bbf18bd8b9e9f8073ddb86113c033bbdbbdd91c53b7a18173d71dc943ca7c312bb9e57f73be4bc033d433b8e3cea30273adc3b003c586db23cb9a64c3cd3491e38b4f0ba3b5cbc823ca9490b3c81ea0abaa4ddd23bf6c9eb3b03119e3bfd7c46ba26e78c3ba0bc703aa0f1cbba8c201ebb263f36b9747315bb2322d2bb6aed02bcdb6071ba6e2e633bb0b1ea3c395522bbf42495baa32a94ba8f4a0d3df65ab63b69cc0bbb5d7a343b955f913c354e423c89209eba232a3fb9ca550f3c7d807e3c86fb113b5f4582bb5f337a3a66e4463cb594873bfaaf3bbb8f3fa1bb844a133c2ead783b411c76bbc5f508bc2caaca3be5b24d3b7285b1bb656903bc695345ba2a74073b746e86bbd2492c3a009907bed8bf593cea71183bae331d3bbd083abe7dcc1abcf66104bbc23e3f3ba0d754be10ba42bd8872b8bb59d0183ab27e3dbe75d779bd7cf740bc283ee6ba6d0f11be034977bdb3ee9ebcc1165abbff49bfbd64a357bd34c798bcb67578bbaf7c35bd870617bd9c1484bc582966bbddccb9bb9f9ca4bcdfc6f6bba8f75abb165ec23cdb32ae3ba5cf11bb8150e139f462493d623376be0bc3ae3fd73074bccb6f3c3d752e53be0c92993f67b3433d2077123d07643cbed6628c3fcf7e943df3b6013d1bd116be252a603fe518d03d48c0b53c37b8d1bd87ad223fef77e83da1108e3c99aa65bd33f8c53e6725ec3dd96a363cfc618dbca8592a3eb57ac23dd6e60d3be01c7d3cd4a5713cdf2e743d008f853b2f5bb63c310b01be9db00e3c2320c5bba06ff93a0000000000000000e2fa3fbc27f38e390000000000000000ebdd28bc44166bb90000000000000000d54d0ebc8321beba000000000000000007368abba96a08bb000000000000000091d7aabb734233b800000000000000008e7ac9bb0a95493a0000000000000000044906bc048b243b0000000000000000d81772bb3b9dc13a000000000000000032e2b1bb040f73bb95f0783cb15fafbac63b07bcac8e6d3b71acc33c23d97b3c7ce4d4bbea67b03b6fbaf13c96ea973c26ad30bbb572ec3bc2f1c93c5df1973c3d144abbdd94e13b4a6d9b3c554d5b3ceaa525bba4bef13b5cbe4f3c3d09063cebc954bb5d68c83ba9f9bb3bdc364f3b4e4f3fbb0ad15b3b7cc1b63adeca08bbbd2e41bb0358f2392aae4eba75bbfebb2fbdd1bbfe38033b124dc83be97f9c3c36d1edb9105990ba1d68bb3bc66ab73c33a8103c9c80df3a8bde703b0e7e893cd5c35c3ca0f3f13a4263fd3a1ab7713b3a2f773c40d7953bbe37203bb5e959bb01e6583cbd9bd53b5279fe3789d9d8bb8789193cf462cc3be1e736bb4634e3bb1fb3f03b5925ac3be66b72bb0f8ca6bbce4f1f3aba8f6b3bb7ba21bb744062b95822a9bd5e3dc03b94c704bcb707f23bf7be21be10b624bdaec411bca1a7ec3b96b133bef34c96bd628c72bcae56833b03b81cbe4fadadbda03dc3bc412c043bc1aaefbd1cc9a1bdb6cfddbc2e28c7bae87a9abdcb1088bd0882dcbcd04bcfbada5810bd81782fbdcb2ca4bc83ad5ebbe30096bba7f7b5bc8dcc5bbc5cf53fbba03e843c0f60073b4219e5399c2309bb4a8c3d3deae366be1904903f9be5573e9ef3553db5cf74bea3818d3f669a6c3ef6d7363d2fd354be4ee1773f206d7f3eb8051a3d816423be7098433f856a813e73c7e03c6695debddba50a3fa2a36c3e2ae9aa3c860e84bdff1ea53e3b844b3e4d8b823cfd54b7bc1f10093eb57b0d3e2cbf193ce856313b225d4c3b92f78c3d80a2563b045c6f3c7122a5bd5c78ba3b5fbe79bd1aea633c00000000000000001ef676bdc6ef4a3c0000000000000000cbf357bdd4841a3c0000000000000000af0e2fbdffcd173c0000000000000000e9c3f3bc3c76de3b00000000000000006defc2bc64ec8f3b0000000000000000e1ac98bc7865063c0000000000000000a05144bc8b14cd3b00000000000000009bcd4fbc8d04c43b000000000000000075d255bb8ecd4abb55a0183c1b7e6b3b61bbaabbdf0c06391e76a93cf54f663c8923abbb84678a3b23d5c23c9234a23cba696abb48feda3bf369a33caab6933c65c57cbaa6f3ce3bf0ef8e3cfb29443cde6429bb06bad03b13d0283cd009f33b6928b2bae388993bf298a63b3ff14e3b02e88fbb29be803bdcb41d3bb2992cbba3219fbb0a2516398d921aba5a9095bb6510babbfa3a413af2b5cd3bee71353c40b46c3ba9ad5f3aaabac33b0ac5833ccd49783c9aaa0bbaa603b23b391f173cb26e963cc79c213be795c53bcef90ebb7cb0a03c20c4e73bd6b461389dd396bb3072963c0967e53b48f5ae3a0c0b1bbcd466483c9417c93b994ab8bad079f9bbb5c2de3bdd5bc73b3e0b73baf176e4bb914c61ba44aa853ba2f303bbd739d93a1f2188bd5a8f66bc7fb039bc7a6f533c4ff2f3bd5fd58ebdfd7394bc16b33b3c7b6f06be5d02dcbd1769bebc1fffbd3b9225ecbd4061e3bde8e40ebdb617873b85a9bcbd1697d2bdf21d16bd7ac07d3aaffe64bd7ec2a0bd950b0dbd7e7886bb7422debcf74355bddc7ecbbcba4599bbf04f99bb4931b2bc0e094cbc228a8abba8b4523c24c9ee3a706b223a4c04abba8b99333ddc6f59bea725733f2774e13e474a423dcb3961be9626663fb55def3e7cc1243df7853ebe23d3453f61d9ee3e6146053d7dc20ebe4c021a3fa5a0da3eb6abe53c8514c9bdf616d83e749abc3ef4ad9c3cace865bd237d7d3e4ef58e3ed0c96d3cf8d0babc53a6d63d5305333ef15d023c5c5380ba943cc63b1458943dbc57053cefee083bd16483bdbd1c41bc8834f5bd4712c73c00000000000000003b32f6bd5385e13c0000000000000000313fcebdaf46a03c00000000000000002ea19ebd83528a3c00000000000000003a577abdf9ed673c00000000000000005ef226bd6a4b3e3c0000000000000000abaad3bcbec6333c0000000000000000a6e085bcd8f9203c0000000000000000516d77bc7d2de43b0000000000000000484460bb0ad95ebbb901ef3bbda09e3bdca71ebbebf80dbb612e5c3cc761963ce8828dbb4914303b7fd78f3c7ecfa43ce4d92cbbcec19a3bef418a3cfcc3a53cf864bab81e78b03b69782d3c97ff373c294001bbb800bd3b1bcd213c64edd53bc60aadba34a1873bd7cd913b48000d3be7cd38bba74e483bd9fec93a8b845dbb027936bb826cde3a4b13bcbad6e1e6bb645200bbb3d14ebaa7759b3b3f11f93bab52de3b86ea3cba4383893bdd422e3ca31e823c8cc3173b8fa8d33b5a53f43a5f46b73c5466833b58701a3b4945eeb9b8fd943cac7cec3b4caa143bc78f11bcd69b8c3c8c6e0b3c7d252a3bf9f03dbc66bf363c74c7e93bfd06d6ba606900bca6bac43b6a32c13b75d2efbab830d1bb6f7943ba2f46783b18b85fba350c08bbd2302fbd514b12bdc18884bc2134773cfd38a3bdc6f0d0bd19269fbc7970743c85b6babd3f6709be345903bd87581c3c31e6adbdc74810becf852abd9cfcbd3b14f17ebd0920e0bd627331bd55ad19bafb7135bd6f6bb7bd561b1cbd176fdcba14dfb2bcce3c56bd1088cdbca9d999bbf1ca8fbb7007abbce5b849bc5622a0bb1518283c7241b63b8b20133b58b935bb2aca123d2dca2fbeb68f353f3a18323f7fe61c3d3e0d2fbeeb86283ff185363fc603033d67e411be7da00e3f053c2f3f32d3e03c8a6de0bdbba7d93eebe51b3f25b0a63c90fc92bd5e30983ef7d3f23e0ccc8b3cf0b938bd875d373e5626b43ec93e5b3c0be0bbbce3baa83dbd39483e55b2f13bd22888bbd9742f3cfcb4873d440ba23b1dc4bf3a3dcd36bd0f3ce9bc1aef33be239c1c3d00000000000000007e842fbe52c41b3d00000000000000006f0e13be00b2f43c0000000000000000fcf6eabd99ded93c000000000000000016618cbd019e943c0000000000000000d2195bbd61f2943c0000000000000000f8f5ebbc5367693c000000000000000065c083bc50de1e3c0000000000000000b94a82bcd758203c0000000000000000d7194dbb1c3cb5bb2639843be6dbe63b38efa6bb5f6be5babe9f1f3c10c8963c7079d3bb790c733bff42593c2fe2c43c64cb6abbcdd2203b8a26693cc657a83c4bc54fbbabcec13b1af14e3cea4f803c6f352abb5c4aca3be7b8f33b3a62173c424efaba75bfd93b6e29a73b66f74a3bf02e29bb80bd5c3ba48b383b8e0186bb99a7d8ba78737239a1aada39b89702bc4674bbbae20c49ba1f129d3bc289983b80cc4b3c185192bb5f109e3b5c99803bf95ba83cc373a23a43b8953bd373273aa2bdb13cffe9913bde4cc43bf30503bc4acbb33c3ff8ff3bc658243be4241fbc9e8a923ca8d9053c5fb78c3bfe364dbc0973383c8639ef3b78841bbafaaa2bbc8d75fd3b3cd2a93ba69bc1b9b94d05bc101af43a9deb503b42bf48bb136fcdb97f689bbcfe3167bde9de61bc6b63933c548c29bd60aa08bed1c497bc09e17b3c30795ebdd4ce2fbe047007bd3c0d373ccf2551bdbca424be74df35bd3cf29e3ba8c83bbdaf480ebed5c238bd795639bbe7d802bd6e72cdbd9d351abdd1ee3dbb226bafbcddd26cbd4358e7bc2d02ccbb6d66f2bbadd4adbcb79a26bc40cafcbb2ef0913b2a36ef3b001a4e3be1ef40bb8e05c93c0974eabdeebee83e3c42703f72ecd83cf52feabdb22cd23ebe19723fd841d23cba14c6bdc36aad3e3d3c633f0463a73c13248abdd34a823e6e2f423f95c78c3cd90849bd1ed13a3eae36173f66f0483c469406bd9005f63d7367cc3e1e54433cbb878bbca01b8a3d9f42573ea7b8f03b2e9617bcacbdbf3cc28e693d9be7333b1c7cef3ac57b9fbcd3c849bda9f45fbea677353d00000000000000004ece5dbec426453d0000000000000000322633bea7c9183d0000000000000000dc8c03bee622f53c00000000000000005894b3bd7eb0d63c0000000000000000c2be54bdd8a7953c00000000000000002b62babc7c80803c0000000000000000a2d726bc0516523c000000000000000015b57ebc32fd153c0000000000000000f2b719bb10018dbb42a68639006a1a3c40af74bb36215cbbb271b53b2f1bca3cf6ebb9bbd0ab0f3a5f53303c0557e43cac38adbbad12233b4711373cfc31ca3ce1273cbb9b55c13b0d1f3c3ccc96873c42fa48bbc30db83b6de7173c2b56583c870bfdba7475923b9cd0d33b86d6803bb42dadba92eb3d3b59c59e3bcd4f61bb2cea09bb1fc8bd3a78c07239e70dd7bbeff0c23a0660dbbb223a193bf17e1d3b249f7f3cec89dcbb351e8b3be00aa2376e09c63c05a380bb5036723ba058f1ba2fccdc3c84f8d43aa53fad3b6ac9aebbcb67b33c869bc93bd93b593b9e534abcf3bd933c4cf7b03bc5d76b3b5c9b49bc81d7303c1acba73b8a6c7f3a9ac62fbc55d4b13b244cb03b8bf09339223bedbb0d98e2398cd0953a190442ba7a9df6ba12a0953bb0e598bd57cdb3bac6f96c3c0a8328bc7fd227be694a75bc1f285e3cd794abbc9b0648be157f01bd7652053c5526e0bcf7f83fbee7a831bd4e510a3bd59cdabcc1ec18bec69837bd5fee5bbb6828bebc422fe5bd7e1a16bd4decf1bb2b6a8abc63f66ebd8c33c4bca27ef4bbfe0c1dbc0f08a5bc57e904bc5b801ebc1493b03ae2ba123c2ca4973b65eb97bb16f74b3c63ae6fbdd9a65f3ee0738f3f7f1b543cea6263bdf2a13a3e116d913feb0e4d3c13523abd22710e3e79fe853f5e635c3c548209bd7326da3dd0f15f3f91fd173cb478bfbce62ba63d617b293f17ecf93b6e1b82bc124d7e3d4160df3edeefbf3be0cf37bc58d13c3df2955c3e8fca8b3b65f8dcbb79d1e33ca4ac313db21e883a3e6c45bb7420f33aa62a84bda5f46dbeedbc4e3d0000000000000000801966be10de4b3d00000000000000004bf535be2d0e1b3d0000000000000000ec5f01be6c5a083d0000000000000000aca5a5bd89c6dd3c0000000000000000fa4c26bd9482a53c00000000000000005e0d5bbcbefd7c3c0000000000000000ed667cba27da293c0000000000000000c6798abb10c4153c00000000000000008aa3ffbad9fea5bb11d7ddbad7bf973cf51068bbcf833abbebb591b80520043df44dabbb88ac86bace471d3cc5fb123de480a0bb8f95413b2563433cac1b073d367e4bbb7dd1d23b3a80183c9c16af3cddae78ba7c9a753b23fb2a3c9c145d3ccc5a4bbb7793eb3b5266eb3b564aa93b9c90eb39b51c393bc21c9f3b03be1cbb4c9762bae48c993ad841cc3a5730dbbb7e39dd3b799444bc43d9a9b9fd96963b1187733cfe4044bc89342f3b5df41dbbd514b73c7284a9bb6efc993b1c0051bb8d72ca3c7affa2bad76f8d3b4f020dbc885db13c43b9d53b038b173b654f3ebc3cc5843c6e26ae3b9a07543b660e4abc6464243cfaeea33be94ce03ad64133bca87ac83b2931973b8be429b980b4c7bbaa43a2ba96ad833a3581b1ba42cc2ebb5a909c3c567601befa0e363c433c433c8854873c54a83bbeb0f2c7b93b6e1f3cf8073c392b8c63be2e6edbbca398b63b87c119bc7ecc51be7f6f28bdad292838c95357bca25a26be967434bd134b14bc0d808abcb4cbe3bd26ce1abdf1841dbc41c98cbc44c86fbd5d12d1bc4a6b23bcb83962bca6b27bbc048262bc227c38bcabb006bb7ef1943cf330173ca5ca00bcd2130b3b229406bcedf9f0bbbcd6ae3f781fb23bc0ca4bbca6315c3c65999b3fcba2003c2ccd46bc2043e2bb10bd913fd897bb3bfe2ff4bb7e0cf9bb43c0703f78e7e53b86f573bb5ebc903aa77b333f1256b03b062bc8bba40a853cb2b8e73eba23813b9e186fbb5048da3c4cf05b3e66d32c3b4374edbb69dc033d4c31263d4867e9bae08fc038cd03953c6c9af1bd7f5b7dbe07d54a3d000000000000000098e43cbe204a2e3d0000000000000000ed9211be20de043d0000000000000000d51cbebd93dadc3c0000000000000000c3b347bda4efc53c0000000000000000aa2464bc7998873c0000000000000000d977c13bd88b483c0000000000000000c7e0ad3c2770a43b00000000000000008ec9d63b194dcc3b000000000000000000000000000000000000000000000000854c02bb7273acbbe726763ba19f223d3f1883bb4895a239ed14bd3b288d133d0ccef3ba1f05113b5184373cf8c9eb3cb1f85939db968f3b80bb283c9ecda93cb10191b95153b13b0508f73b9c954f3c0db20d3b9206933b356de53b3fe3a23b3ea1273a4d8c0a3b06178f3b746090ba0000000000000000000000000000000000000000000000000000000000000000a77f923ca3e43cbc4c24d03902e4053bf839a03cb8b685bbdc792c3b118b46bbd812ad3cf9f1f23a5427053bab7bb4bbbddf9f3c0a46773b68e39038d25e22bcb4562e3cf1ef9d3b28b1053bc11f41bc728ae33bf5004e3b4d481b3acc0e23bcf7749d39b2f03b3b6f82abb9af8bfbbb0000000000000000000000000000000000000000000000000000000000000000b58dcc3c0ef66abed429d6baedc6943bab362e3c647554bebabdd0bcaccda7ba60f231bb72c047be656f3abd2b600cbc2e4cf4bb6c061dbe642e34bde0e345bc8a3c1abcd667cdbdc9f613bdfab130bc76e54dbc006754bd90cdd6bc9e7c4fbca92002bc7e0ce7bb38d4d6bb899a1dbc000000000000000000000000000000000000000000000000000000000000803f933837bb8604a83cdff318be8bf5af3f4d362e3a7281413ce546d0bd1bd38f3f389f813b673d293c0574a9bd1a03713f6b3d113b2d48283c0d056bbd592a313faa50e53ae6a30b3c1ad0d8bc2778df3e5b481c395801ab3b8a23283b323a583e635d32baef466e3b5ce8ad3c156bb5bb00000000000000000000000000000000000000000000000000000000000000000ad702bef004b73c0000000000000000b31462bd547d7d3c0000000000000000c83995bcd167813c0000000000000000eeee223c1f771e3c0000000000000000b489d93c26c3313c000000000000000006331c3d3764c63b0000000000000000ce41d63cf214933b000000000000000000000000000000000000000000000000000000000000000000000000000000005715f9bb5d4088bbe4a30a3d01e1bc3c3c59c9babad397bb60c6c83cc502bf3c1a25913ab4b78eba53167f3c0a49aa3ca520fa3ace8202bb4417253cfb95783c52ba803ba0d19abacb4f593bab15313c3a0d323b9c4e903a2bb79039e53dbb3b00a5263be87cccb852a0c7baef1f5b3a0000000000000000000000000000000000000000000000000000000000000000aafcb33b42c369bbd38d4cbaf313263d72adba3ca9d626ba370aa0bbd98c1f3d3d23003d6cd54b3b4c598bbbd265d03c00daff3c7e4fd03bec4c9ebb315aa93ccbf6c83c3500e73b55f2e0bb70974a3cd7a1743c41d79b3ba75001bc7218b33bdb46853bd2827b3b21c0d6bbc4f089b90000000000000000000000000000000000000000000000000000000000000000c88a44bee5f081bd8885483cec7cc33aad0524beffa8c2bd772b26bcd99951bbfcef04be7d52dabd346aedbcf94decbb0ea9c6bd18cfb6bd026e1bbd8c9a4cbc80ff72bddd9085bd584901bdccfa65bcc444edbca38f1ebdfbaabebc1e374bbc342428bb8707c1bb05a847bc042fc4bb0000000000000000000000000000000000000000000000000000803f000000007858cf3ca2fc47bebfecb03f0bffc3bd3f3c8e3c086930be370a8d3f2516fb3c6411513cbe4424be98ee5e3f133bd23d690f4f3c473c0bbe6f551e3fa88a023e26e72e3c6f66bdbd2d7abb3e7af9f93d5794e73bec7717bd3694223e3b15b53d18915a3b88acd33ba9f6b6bc48bc0d3d00000000000000000000000000000000000000000000000000000000000000009a35a63c0d430bbc00000000000000006693e83c877853bc0000000000000000fc2b363d2d7476bc0000000000000000d009653d5e7c7dbc00000000000000003533643d2cbd66bc0000000000000000d5633b3d21b0cdbb0000000000000000e6e2d53c37fc50ba000000000000000000000000000000000000000000000000351ecdbb1d11edbb64d8b53c8600083cc4f9bbbbd5270cbcf468ef3c173d963c8a6d60bb1960b6bb1ad6c83c24accd3cce3c04b8efd52dbbe537923c6dada73cd9e9d93adc0068ba24f30f3cf8a0833c44db373bbe504b3a9a4bbc3b7924063cbc59263bebb8063b54e1bc3ad44ca13b2224573a97c95f3bf587b9ba7c210d3ac95554392d6d103a2ed62ebba52981bb048d05bc00e813bbbeb689ba846a063d779c523b9c066fbbb2d0febb2d155a3d9305bf3cb75239bb583cbcbbccc7353d2071053d2489aa3aa382e9bbfa550b3d0e82043d26fea83b890b05bcce45cd3c0e72e13c8838d53b04bf1ebc38aa603cae71733cbb7eb83b0a62fcbb8722053b5c70d93b7094913bde0c47bb89e6a2bbc86b5ebbeef20a3b510366bbd4828abb8e9af9bdb91118bc06865f3ccfb8b33b91a01ebe14986dbd2633163cf293ed39e6561dbea32ee3bd3d983fbc4741463a1d27fcbdc6faf1bdf948e4bc45f6debbbbeaaebd5b26d0bd05f31abdeda163bc55c45abd03d49abd192113bd64ed67bc55a5bebccb4d2cbdd434c1bc9d2946bcd60416bb087582bc27637dbc866af0bbd9d47a3cedb7633c431a27ba5130cc396dd7383dd85d79bea9c2b03fe57ea7bc99e94f3d915981be57d19b3fb368863dc8561f3d173775be3a76873f965b1c3e27050d3d2e6053be17044e3f82ac563e3240c63ce8661fbe9bc90a3f8726643eaf3d8d3ca051bcbdc6ad9e3e74fe453eab4c193c1853f4bc4309e23d2ebf063e3c42cdbbbef68b3c1fda58bc49fe903da57e8fbb8925133d285aeebd633fffbb182399bc9a47cf3a000000000000000005a515bccc0bbfba0000000000000000061738bb443200bc00000000000000007b87903ced9923bc0000000000000000a3e30e3d3cbc19bc0000000000000000c8c41a3d0f41edbb00000000000000003b69fc3c1bc977bb00000000000000000e3c9a3c1ec4f83a0000000000000000264afa3a7eb9a53b00000000000000003ef885bb9e54c7bba816533cd271e13b56a9adbb6ef4a4bbefc4a53c402c963c70c920bb080082bb3ca58f3cfe3aca3cf2c1173a85e795ba035b213cc8c4983cbc7df03a594ebfb9569db83bf0013f3cf065523bc359023b0207ee3a616ff83b4653c33aa6e04c3bd1dc8dbaaa27e83a5dc46f38ca5e4d3bd063c0ba0082bdba0d4129baadac863af57cbaba4e8582bb35d6b7bbb5d94ebb5e7f2dbb202df13c876c353c62dd99bb26f5bcbbc5472e3d4e6ed23c6306fbbae58cc0bb3e69223d8e3b153d4fa9f33a4f4c0fbcacebf63c81f0043d9746013c42b5dfbbc959a13ca4b2f13c888bc33b5cc20cbc62f41d3cf6aa803cb779c13bcec0bbbb2429a33a2d43d43bc5f6aa3b24ae34bb10e269bb441aaeba22f60e3bf57d51ba99706fbb7b099dbda19c74bc1219cf3be86ae13b7260ffbdfc73aabd1be57abadc8dae3be421f7bdc41802be2cc49bbc174f963a76aabdbd881affbdc43a29bd8b2906bce88982bd368fd2bd73c337bdfd5581bcd8561abd1564a0bd5f7a22bdf4fe8fbc191f6dbcc6d12bbd6228c6bcaf2a83bcaa4edf39390557bcb5a85abcf24524bcb2841b3cead90d3c5398a939d530a8baed603e3dc04c73bea9ad913f1592583e7b09553d8fb489be4ab98a3f33ed8c3ebb36283dfb327abefc90663f3462ae3e88760f3ddc614cbeaaef283f6407b93ec047bb3c7eb014be02f7dc3e901ca93e7c988e3c5910aebdafb46b3e0425893ebcb50b3caa9be2bc8013943dac162b3e3d4b04bb173a073c257bc9bc5132943d511fb8bbaf86e83cc26a9cbd85c800bcebfc93bd679a5f3c0000000000000000f60780bd233e0c3c0000000000000000609126bd40450db80000000000000000e7d2fdbbafb9ebba000000000000000073e5a53ce32991ba0000000000000000055dca3c559b76ba0000000000000000b180c83cbf39893b00000000000000008183683c0195d63b00000000000000000b3d84bb7e23113c00000000000000004be78bbb20f3c3bbd6492e3cad7da43bfca74abb7d60b2bb27495f3c857b963cea49dcbac9275cbb5d9a2c3c10c0ad3c9fde393ae840a4b9c695b93b10a9823c23276e3b2e43c6b97a85f5b77f21433c33d7103b01c7073b56d420bac854c93b304cfe3a70ad623b609346bb5c10133b8e30c2b929ab453b2da526ba449b2ebbfbcd1cbaa0e4063be63dd9baa92baabb6d6c50bac28dc8bb9db2d939cba9bf3c9224863c837ac9bb94b6e6bb91c01d3daa9b093d3d62ebba2934bdbbb6e00a3d34001b3de4ee7c3b0b44ecbbdd8eba3c2364153ddb7aff3ba2b01dbcb0cf873c8ed1e13c59f10b3c651ab1bb33f1ac3b9c23873cb40c043cb15dc7bbce52fbb98795f53b97cda23b035c0bbbd6da70bbcee97abaf8f8953a7791dbb98bf090bb804178bd49d2fdbc9a1a0039edf6623cce45b5bd33cdd9bdc3e1c7bbcdc5c73bfa53abbde04512bea62101bd6586bbb9285c78bd1f450cbe89f744bd9b9f31bc2c5b24bd857de1bdddb45ebd7a3794bcbab0b3bc4467a1bdd96433bd2ed0b5bc20e8c8bb7c8b35bd5a0bebbc9374a4bcb554b63a83f06bbc8a4140bcb04b58bc2a95133cdb171d3c19d0973b2875d6baab5a213d418962be5c5f733f04eae63ecc31433dcb0e7ebec2bc5d3f8180033f9be4213d3fee5ebecf21313fdf510e3f3a4e023d37502cbe5c3df73eaa60073f6a44c83c360bfabdb461963ecf8fe93eb15c663c7b1386bdb6ce113ea3d5ac3e2704083c75c8adbcb989133dd708483ed8269bba933af53bf56ad6bca5b6943d50324dbb2ad8a93c1c2a82bdb575bebc4c8808be260fc83c0000000000000000d8cef4bdafd2b83c00000000000000003dd6aabd5648513c00000000000000001ed011bddb5eef3b00000000000000004ceb0bbba7ddaa3b0000000000000000c426943c43a1f13b00000000000000005c78c03c18f5083c00000000000000005847833cb3bb2b3c0000000000000000123b1fbc830a2c3c00000000000000007abc59bb81be97bb997b063c9ec6a83b63c412bbec42a8bbb254f63bc503853c84133b39bc993ebbe0f1773bbdb19b3c07eced3a9aed203a2d6785bae3597d3ce2736e3b347ce3b8bf1612bbc1d01b3cc08e4c3b6575fe3a01f68ebbceb7b63bdd4f293bb88c693b716d90bbd84c1c3a9b64193a9d8b353bfc3911bbd06c3ebba3a215bab3912d3ae692a6b91088d2bbdd8e253bd9d6fbbbe39966baeb94a73c7743b73c3581c3bbace59cbb13daf23c6af20e3d6dba5e3a9667cbbbe4d2dd3cfc90243dbe05f13ba1bf00bc4e1ca23ca1e0fe3cb8cc333c5765a4bb334e433cabddd93c8de3473ce01db7bba80b543b7042873ce566fe3b3b24babbf301ab37a26acc3b136ad13b1b1c71bac20098bb95b08b3a4abfe7b9440ca439a4f238bb1cff23bd33224bbde0da623ab7ca763c04d857bda48fffbdff0885bcf343fd3b93c246bd6daa1cbe7e4b34bd9c8e25bb224616bdd47f12be4c6a6ebdedc478bc7c6dbbbcae23d3bd416a79bd53aadcbcaa9c04bcfa3fa5bde37744bd523be0bc0d1d49bb6f0326bd2264f2bc69b1c0bcfe34303b5c8239bca46f32bc208486bce7a6cc3b5a36133c1c42bf3b6f50e5b94528f53c7e483abe318a363fd6a8333f3f0f153d552b49be6ba51d3ff112433f10b7ea3cc9392cbe750cef3e757a413f659ddf3c843407bee0d99a3ea7ec303f01d3733c9cb1c0bdbf4f373ebdb0073f91316a3cb9924fbdf2af883dc171c83e58241e3cf885a3bc424f353c1759523ea45198399b0c303b6d06b4bcc457803d90c25abb41c7883c6d802dbd20e71fbdec1941bebaa20a3d0000000000000000dd6e2abef302043d00000000000000009e7fd5bdb79b993c00000000000000000a3569bd4aa6823c00000000000000004d3d1a3cde9e703c00000000000000008b038d3c9f11433c0000000000000000418ce83c792b7f3c0000000000000000259b9c3c2696513c00000000000000000eab19bc22c3333c0000000000000000f0832cbb0b43adbbfbbf7d3be7c0f03b1084a7ba2bb262bb7b19443bfcb8813ca035f2b91b8384ba29f991bae2dea43c4cdbe93a8a5416ba177fecba17aa7f3cf3d1203b4916313bdbd79ebb22e5243c41f1193b591a213b3e7a6abb5b62dc3b47f0ea3abbe6113b846424bb5c94903abf75cb39bccf173b4399aeba281221bbb9a8de3952f185b99eea9a3a04ddb6bba7d0d63bf5ee0dbc845402ba50788a3ccc6bd53c487c09bc611ebdbb5fe9ad3c2d451b3d15d4753ac882bfbbbf95993c46601e3dae21f13b0b9cbdbb64b04f3c1da3103dde953b3cf1aacfbbae04b73bd451cf3ce25a443c408898bb2c1223b9b55e7a3c12bd1e3cef7446bb99d550bbecd9e33b6d26ac3bc6414a3a4ca082bbb4487638c3279c3adb5d363a1e1a83bbfc7d9ebc643687bd604923bbd0e9863c0a459ebc66e014be0c7c90bcadc9103c7b8c90bc89cb2cbef1b044bd34979cbbd76736bcf4aa19beafe181bd04ad93bcf72d63bb08b2f3bd702d82bd40d1ebbcb025eab9141ba4bd285d50bdb3dc02bd9a1b453a0b6b31bd9014e6bcb24de1bc32c9df38706a3dbce2d626bc080795bc7b58513b4d5b113c20e6dc3bdb9c0fbb8356a83cafa504bebe2eeb3eb6db713ffe6bd23ca21d09be616cba3e8a927b3fd740ae3c3c4ee7bd279c7d3e0e5b713ff83f8e3c5289b1bdc0150e3eb1fa4e3f9df4833c3d7578bda0b1673d3182213f2b372a3cdc1e09bd6f7b503c9302d63e026fc93b1ffa46bcc5cc03bcc5295b3e5b1cb0ba389df6ba41db1dbca8cf533d84f98cbb17c04a3c9782babcbd3859bd76a867be86882b3d0000000000000000b9154dbe59a7273d00000000000000007e5804be672ddd3c0000000000000000716b6cbdbc7bb03c00000000000000008b1b5cbb5fdaa03c0000000000000000e56af13cf6fd893c000000000000000032c1093d862a833c000000000000000060abc23c457e883c0000000000000000bebc1ebc02f03d3c0000000000000000a0e3c9ba3ede3ebb4582f0b871ebdf3b4cc95fba4f2ad3ba95fda8bb0cc3a33ce678843a365ee7baffe996bb93c3a13c6def7e3a1335813a565cfcbb869e873c31d0203b1ff3c9b6cd1fcebb07df513c7962483bac74343b1d28dfbb2e54043cdfefbe3aefa7da3a6c4337bb932e443bacf9963aa46dad3a5fd088ba0080ccb95cac973a894612ba33d7da39f6b99cbbdee8f83b76a32abc51c7e4ba4f6c3d3c21b5dd3c5067ddbbc496afbb37b46d3c3bf3253d682b9d393b02a2bba6ec6c3c2afc1f3d91280e3c0365b7bb7b40003c807cfe3c59867d3ce3c59bbbecf7613b0a54c83c4416563c626b60bb86a495bae5e4633cd59e093cbe8d07bb86d84bbbf6f4cb3b94e2ac3b7b7e7dba087164bb2beaf43909f47a3aaf19f93a96603cbbfe67413b01e9a3bd46649d3b71ce7a3c7c6f1e3c587e28beee21b0bc450bca3baf1be23bda1439bea99c57bd5c8fcdbb17eb3b3cd20721be059a8cbd3d03bbbcca15163cc479f0bd4ea387bd993d16bda105ce3be45ca8bd237c52bd19be16bd086b0b3bb57629bd0deaffbc2e04e4bc6b1863badabb30bc55153dbce42c91bc2e976e3af80af83b027e043c56f4a1bb2b030e3cd0cb8cbd1cf6613eb29d903fa344503c777791bdadc40b3ef510953f4bc7543cbe3485bdae1f7e3db1a7893f1451643cbde045bd1d8022ba1ddc653fca6a173c19200fbda4b5febcd7d52a3f3d09003c91869dbcd13818bd69dde13e2564cd3b9b83efbb742ab8bc7d80583e54e9bd391d9c1abb2928cabaed98123d62f388bb4558783b3085153ba7cd89bdc2b276bea9323e3d000000000000000005ba4ebe5b45303d0000000000000000b0f2f7bde88fef3c0000000000000000e98e36bd26c3d73c00000000000000003608a23c9ab9bf3c000000000000000026542c3d59cab03c00000000000000005837393d57eaa53c00000000000000000a37f73cef1e6f3c0000000000000000e67025bb153b313c0000000000000000e7eba1bac4fe39bbe35cb3bb4b43773c75eaafba387cc3ba8ef72dbc2780be3c51e237ba543d91b9dc902fbc6772d63c5fb8a5393255a83ae0391dbc38acac3cfb93143b4c63733a391406bc4bae613c2065f93ae322bd3acb5ac9bb1d15233c4093c53a8e41c53a0fd859bb9623aa3be902c73aaa9122b9bfb9383aa88587bad689863aad36b0ba6d48b03a1e2d6dbb741e453cbfa146bcef802abb0ce53e3c4954e73cdc8521bca9eb28bbe73fea3b08cf1d3d320d4e3b8fea80bb6125fc3b323d133d6316443c10fd4abb48c9183bc361f53c7f27743ce5b740bbc2cf94ba1adbb53c2d10823c7cb916bb35a660bb132d583c10932e3c670f3ebbbe3b19bbaa59db3ba3e8e63b76fd8f3a6dd7b7ba4901d2ba98a847b89edd0e3b356c77bb89f3a73c498900bea7679f3b7cef853cae091e3dc6d537be76156dbc2112633b0fb3013ddc9347be4c8071bdeed435bc419fdc3c44c427be97bd92bda483f1bc74f6a73c692ef2bd3be091bd7b3c26bdbf03503c9a3ea3bdc4046fbdbf9c2dbddadddd3a963923bdaaa20fbd76e9ffbcf057d1bbb07cfebb592c88bc85c7adbcb47240bb5066793c0e6f3c3caa4142bbc9b41e3a2b2b97bcb35727bcf8cfaf3fd13f4d3b788c9fbc72393dbd1bbaa03fa8b7123cf3d7bbbcd3fdbabd03e1943fa98ef93bfe408dbc539ddcbd0df6703f0975f53b37e421bcc918d7bde1df2f3f6747bf3b72f3b7bb5b9096bd79b5de3eefb89b3b561408bb6c0af3bc4b464a3e29dbd2b94bc406bca5866c3ca6cec83c38fab8bb7c8f983b1e66a93c4bf6e8bd51b37ebeb280343d0000000000000000c3462cbe21fb223d00000000000000007d1aa6bd784dc23c0000000000000000774059ba3a2aa13c0000000000000000b77d693d07f5bd3c000000000000000085369d3dbc34a23c0000000000000000e0768c3d12bd963c00000000000000009552503d39bb363c00000000000000005472b2ba68da163c0000000000000000000000000000000000000000000000009bca05bbb54311bbfa6d39bc1381ef3cf50bc03aced5febadc772cbc22edcc3c2916e63af76baeb727d91fbcd2589f3c6210133b801e88b9f4c2d5bbddce403c1368313b893ef939cbed9fbbd26d0f3c102b773baa3b56bac1710cbbd214863b7645cd3a35cd5e39fe0da1b8055be43a00000000000000000000000000000000000000000000000000000000000000006747fd3c0f2565bbf2fc56bb831f203cf3f9053dc71c033ca30d88bbd0078f3b5764f83ca08f823c1a933fbb653c123b466dd33cc8588a3cdd7388bbc88729384cc07c3c270d7d3cf33141bbeccd87bb870f1d3ce6c22a3c4ea1d0ba8ac68ebbad29943a9e399d3bb55141ba98aa95bb0000000000000000000000000000000000000000000000000000000000000000a18c383d9ec454be6ca310bd0181003a36b71d3dd3fa31be2af281bd69eaacbcf882ef3c00a513be6d11a2bd14ac24bd93acbb3ca68ed4bd91ce94bd9d7b48bdd1a25b3c4dd581bd0b9d64bd90c536bdf973893bce8208bdb61509bdfd0e11bd994475bbe27427bbe09c05bc063788bc000000000000000000000000000000000000000000000000000000000000803f5bc89039905e083c9c6149bee9bab23f79698d3bf3f019ba845236be1dfc903f3ed2d63b9beebeba8bdb2fbee94a6a3f5cf8b13b159be13aa60018be52dd283f9dda7e3bd92bb43b0827d2bdc3a3ce3ee8bfd43ac8fa973bb6ee2abdfe053b3e1fa2bcba25979f3b97f9df3b527775bc00000000000000000000000000000000000000000000000000000000000000002ccccabd9c8b8b3c0000000000000000f6fa523cd07f5e3c00000000000000006d4fa33da78e8f3c0000000000000000267fe03da2fdbf3c0000000000000000e631e33dd26cc73c00000000000000003a9ab13d319fbd3c00000000000000005cff293d93398a3c00000000000000000000000000000000000000000000000000000000000000000000000000000000a56ffabba6751fbcf7576f3b94d8953c776d88bbcdfb11bc8976d4bb7340f93b37daf8ba6077c0bb75e71ebc74c3b7399bc9b23a8418b9bba1bd05bc0b1d80bbe8804c3a5d9b1cbb6436a9bb67cea5bb6f3f303ad0d61a3a47ab2bbb800e65bbf58e543a4356313a2b0a823a72c283ba00000000000000000000000000000000000000000000000000000000000000008e76dd3ca8b61f3cb83f803c5cb4383d8472f33ccfd2e23c76a4133c59145f3d3beec23cd913213d2f62d13a31e1343d4958863c1b83253d465ea6bb5027093d5d02df3bd3410b3dc7b5efbba5449c3c9dae173b2edca73c332feabbdd98cc3bf85025bb1959ce3b755a92bb9fde66bb0000000000000000000000000000000000000000000000000000000000000000b51de4bd633af8bdbaa15cbd21179e3c2dda77bda590edbd38c6d8bdbf31873ada15ecbcb490b3bdb695f6bd2fedc3bcbc3107bcfd9152bd9200dabd5ce749bdbcdf4d3b04498fbc4c869fbda1bc5bbd7b8c943a90de49badd7115bd9c7532bd79f08db8ba3e123cb57b2b3b0728c8bc0000000000000000000000000000000000000000000000000000803f000000009207b8bc9fc03bbea250ad3f9df11a3d0483c6bc0d9261be53df863ff72b3f3e130f7ebc0a5f6abe7b6b443f8d34843e6f95d03b6bf761bea681fe3e62717e3edb32833c2b4232be906e8d3ed787373e0f48ba3cc3d7c5bdbfaccf3dcf97af3df4da973cede5c0bc1990e5bc915812bc000000000000000000000000000000000000000000000000000000000000000093af76bc765445bc000000000000000053427d3d294916bd00000000000000009c500b3e7ab84cbd0000000000000000ea3a3f3e414944bd000000000000000012953a3efa5de5bc000000000000000099570e3e1e3e14bc000000000000000009bc793d574d313c0000000000000000000000000000000000000000000000007eecc6bb68dcd8bbec89b33b03f5823c426be6bb218c15bcc33f793a8cd55c3c429980bb10710ebc84b402bc838fea3b2fdb64ba340dd2bb928822bc0ccbdcba2be92a3a783a8abb2442dbbb6141bebb01d3053b8f4525bb2701a1bb2004a0bbdf42ec3a032abebad1a9b2ba5791e0ba05e1403a1c44ff39823c2f3aac64ddb9de5381390ab4043bf398ee3ab629113a9f89233ce2f9b1bb3267423ceedacc3cb1a7b73c321a023c5a5f703be5be7b3dd30ff43c53d2ee3cb030293bbf60693d9202c13c9559273d118585bb67ab363d0d664c3c6aa7323d5a5a21bc62bef03c7194be3b5aa10c3d129f1dbca9d1833c1f96773af592aa3cb7d0f1bb1ffe8a3b5b6bc539519dfc3b9fe240bb7a448abb060779bbdfe389bb291b1abb6aaf03bc5287bebd315684bd1093293ba887983c6cf0b1bdfc84d1bdd33b43bda425503c0cd552bdaf9be8bdbcb1edbdbda8603a14e293bc3560a2bd309b05beab58efbce7a49438c29920bd0ec0dcbda04b5bbdf4c02a3b9b0857bc315c94bdc65d70bd04ff23ba1b0c613a77a502bde57045bdd39323bb043e6f3b2cd3a8bbef15ccbcd96d98ba3b9a233c5f51c23ce8a621baa6d1193c2c1941be3679ad3feaf76d3dec4cd53c071b9bbe77609f3fb5f91d3ed045763cc0c69abe65977c3f94c6a13ee013eb3c6eb095be17c02e3fa10ab93e429e143d2d0780be914cd13eb3e5a43e12072a3de03e36bea81d4d3e4a0c693e916f023d3a79a8bdf69b453daeafdf3da2f0d23b17322b3b929bf5bc52b5b13c2625b63b9bc5013d03e7aebda52c6dbdddb7a2bd19a1333c0000000000000000e0790abd7dfaeb3a00000000000000000ca6393d91da1bbd0000000000000000151f0d3e52675abd0000000000000000e009403e76cd46bd0000000000000000d6483e3e347f0abd00000000000000005b47093e8083cfbb0000000000000000f4ef7d3da5c5b43b0000000000000000e7d87bbc61af903c0000000000000000de6b6abb859bccbb6d04213b5c50123c4deea3bb57f0fabba7270cbb89b43f3c565647bbc73e03bc99c71bbc41ff803b5112bfb9bcb898bb4fef24bcf20902bb8686023a02553abb4509e4bbd29ddbbb1d47003b423d3abbc02370bb6d4a9ebbff40a03ac4f307366ec5ecba2dc235bb14a79c350b778039332c943ae342793a5cb5af390cbb693a99e7bd3a977e5b3a19dd473cf888acbb79acae3b36f2df3cf736c43ca3892b3c65dd303bb5084e3da9dce93c9202fc3cba11d23aa3e8533d07629d3c0abb2e3dcbf7f1bb7ab3183dec2e373c7cae213d6ba50fbc3ef0c93cda0f5e3b065c0a3ddf5e1bbc1c3a393c971395ba6043ac3c8480a8bb2e98473a18551cbba41a023c54891abb54b898bb586d08bb2a9e54bbec62b639d3450abce46d73bd030d60bdad80d6bb806b963cbe6483bd79add8bd9b9a83bd32bb553c1ea9fdbc446adbbd4db1fabd781102bc4cb698bbb8768ebd045700bef3e721bd8437223c752b14bd093ccfbdf27084bda380ff3b082b0dbc2a9381bdddf58bbd74e3173b6e1f253b84c4c1bca2a860bdee8156ba6d02453b0150fe3af3b5eabc9690a9ba9d26993b46de933c09e9a4bacc40b13ca8f859be1975913f08ba8b3e6349f73c76f79cbe423d893f15e4c23e2e3ea13c636e98bef808523fd2e3f13eae0c163d824b8fbe0b7e093f02c7ee3e0aae173d7e2a63be1c7c9c3e81f4be3ea563313d72a520bec4ab003e85d6853ed4c8eb3cdec98ebd5ca8a53cbdc6ef3d6332f63bdc9dc93a305f18bd79c0883c4d58873a57b0f63ce64a5abdfecb32bdf52febbd653a833c000000000000000014ad8fbd08a98fba0000000000000000524a1a3dffef0dbd0000000000000000a9f50b3e315e3cbd000000000000000057cd3f3eb261e7bc000000000000000032a8383eb9d080bc00000000000000007624f63d17395a3c00000000000000006cf74a3d47b19e3c00000000000000001873b8bccb78873c00000000000000005e806cbbbd62acbb262eb7b9035f223cf9b081bb841ff3bb4c38c1bbcb51ff3b3dbc83baa82d04bc12a028bc73629a3ae994743ab045a6bb743723bcce27c3bba9d8f23a598558bba39dd6bbb064dcbb1728243b63a828bb117c75bb3027c3bb91388d3aca8ad339ca26a9baba86feba172e88b85e73c23ac2d103b9eadef9391b946cb9c83e9c3a65de1e3b9cfa0539ebd9523c5c40c5bb0a97d43b4ce9c33c5967db3c4a2a5d3c39461b3a8689483da1e3cb3cd52e0f3d101436bbb4e7393d10b6873c1a19333d8fbaf5bb6679053d4505033c403a323de8ee46bc9736993c147b5d3b6cb6073d84d318bcd103f73b75b41bbbfdfcad3cca3cb6bb522b1ebb894f0abbcb45eb3b204586ba0b0fd7bbeaf0a9ba8d5b85bb61ac20b7362feabbab5043bd93e87cbd2df3a7bc0d4cd83ce87b27bda18adcbd7d9ea0bd9e65463c8e161cbcc11fc9bd68d001be0a0a7bbcee5c233cd9ac7abd9d3efabdf06d52bd9cb3643caf37b3bcb126bbbd6bf09dbdd6a13c3c94c68abb5e5362bd7ddc9dbdc4278a3b06fef83a817d78bcc07374bd31a6b1b97bbdd43a1862143cfd84fcbc568b5ebb1bba743bd788a13cfd77be3af01e833cd7704abe6d2b723fd37e023fa927023d30c694be25375b3f8c751b3faf2afa3c8e5792be37891f3f8826243fee4f213dc28680bed265c13e6c76123f712b493d238d50bee0ff303e4681e63ec11c2a3d36e501be0d21483def7c923e8602ef3cac2250bd457f98bc388b003ea185193c923f013b36e620bd72bb863c57517c3a7fe6de3ce3032ebdac0d51bda22322bee733643c0000000000000000be5fd8bd2455273b0000000000000000203dfb3c31280cbd0000000000000000ce81103ed67513bd0000000000000000cc50463e318cc4bc0000000000000000a7c5353eeafb7a3900000000000000005e6feb3d023cbb3c000000000000000029fa173de6e9f73c000000000000000011cd11bdcb64ae3c0000000000000000feffe7baafe4bebb23f223bb1515f93b552823bb59fce7bbf13fe2bb32feb13b260efab8a0c7e4bba25243bc921185ba85f58c3a13be4ebb484b2ebc8c28b6bbbf89ce3a67f87bbbdef6babb507607bc10ae323b143a8fba48ae5cbbfc3c9cbbd72f0f3b138187ba6753acbaf56d87ba01bf3d3ac252c8b77a0ba13af16e2aba339015bae0356a3a2c8fef3ac366233bf68d863cae7a8dbba45c9e3b378cc83c89b7c63c08697f3c690433bba66b2c3d598bb63cc1ff1a3d017a6ebbe4501d3d6acf553cc2043e3d0f6229bc6712c33c03e0cc3b1413293dcd83d8bb73125e3c919616bb82f00f3d44e61fbc82eaa8b8cd2436bb962f9f3cbc727cbba332bbbb0a11eaba5f6ff43bff6eb2ba8023c2bba4b93ebb56459abbe9630e3b7471f6bba9d218bd2ceb82bd143002bdb236ea3c04e18dbc1c95d3bdcf20b5bdf79e143c7c95143c6c76bdbdb63104be575dcfbc4129aa3c673a4fbd2ff5f1bd61a584bd9ddaa53c72f5a6bc352aa1bd9810b8bd989d853c2d16313a908038bdb90bb3bddbcfdf3b1f1d303bbd2727bc73e680bd8bf064baf1d82c3b43e0193c812d04bd0cd5a6bb004c0a3bed50b23c4ce3403bdf083e3ccc2c30bed0563a3f97ec3d3fb0c00a3d20a882bed13f1e3f03cd523f0113073d15f77dbea177d53eb7f14b3f7a5b413da82b5cbe6924583ef1f72b3f6adbf83c30921fbe76f6b83dca3ced3e89cb3d3d7939cdbdf04ed7bc9f979e3ed18cd03c69aa03bdd7304abdbf07033e86c6e03ba545013cb85327bd39524e3cc04df0badc77ed3c165801bd661d65bdba4345bee19c643c0000000000000000eb8901be01fbcd3b00000000000000002729f73cd02ed8bc00000000000000007fa7193ee45cf5bc0000000000000000494e3f3e387e7d3c0000000000000000e0a2353e2d45783c00000000000000008212dd3d02f11e3d0000000000000000c3f3e13cd474203d0000000000000000a1d626bd30f2b83c00000000000000008213efbaa5b9bebb556ed5baf3059f3b901de6ba4348b8bbc93201bc8f2c103b2b6a1bb9fcf8a7bbc4dd37bca1d188bb46cdda3a96ea6ebb9ddb11bce18af3bb7e78d43aaed1cfbac8499abb7ac703bc38efc23ae86292ba7248d1ba0d3a95bbfc39903a5546813993ca87ba755b91baf48f96b9f265423a8f91d03ad2ab8d398713cab93e38193b6f3c033aedaf983ad1b1843c13b747bbdfbb213b4840bd3c4e6eca3c70118c3c2126afbb4d9b163dcb17a53c87b1203d2c29f2bbfff4003d7684263c4503433d62c925bcd542933c4ae4eb3a1cdb343d861038bc1998a03b738a88bbdfef093dff01e8bbf10d17bb29d171bb0bbaa53cbcd08dbbce00e9bb04b12ebb1867e63bfafaccb91d92e4bb8c663bbaded18abb429a223ab955bebb29f5aabc09a18fbd0f6619bda19bf03ccb95013b39f2d4bd5b07c0bda351c53b2bf5cc3c6912adbde7ad03bea3140fbd2244f13c453b40bd8309ddbda3459ebd2dabf13ca46871bc932093bd2697cfbd6c208d3c4fe249bae4fb0bbd5214bcbd4698003c0a9e963a223694bba27788bdc5b145ba44a8a439c924483c1b4f06bdf55f7cbb50c623ba9f3aa03cea428c3bfa93473cc51b13beb6c0003f3108753f91ac073dc4a853bec20bc23e0f92823f459a1a3d70e050bed82f5c3ebaf96e3f66c92f3d1cb727bea83e723df6fb3e3f21004d3d612efebd8b3248bdce23093fceb01b3dd94487bd6e72a7bd55a4a13e4a7ec13cba9a52bc39389bbd5093053e4d1c4b3bf25d853cbee221bdef430f3cb58b42bbbabacb3cc1b499bcc0fb71bdd9ad56be75a6553c0000000000000000f0380dbe83adf13b00000000000000001be0123d42aaadbc0000000000000000bf691f3ee1b13fbc000000000000000026b44f3e4bca333c00000000000000000347303e958a093d0000000000000000da8bcd3da677553d000000000000000001db9b3c17d2403d00000000000000005cc22cbdafc0ae3c00000000000000003a4f5dbaee3168bbe0d1abbbcf5fc63b760fd0ba120782bbede02bbce2ff213bb4e95f3af2209bbb83af3ebcf210c6bb5c8fab3a8f90ebba47ea0dbc264c00bc8edd8c3a74fcbbba4e1dcfbbd7d8c4bb45bce23a23b3773857fc6abb68702fbb2c79843a514f5d3a83bf35ba9078aeba68dfa1ba2aff013b98c8703a419b87baed293439c930323a720edc3a384b883a0cd3773cc4e47cbbdc649cbac4839f3cf98eb83ca803a03c94ffd4bbea35ea3c5d2a8e3cbc692a3db45309bc1d32d43cf979bc3b06bc493d273636bc07ee333c8f1eb8b7858e2c3d223700bcc6aff83a024ba4bb97830a3d080de6bb880cecbbb818a4bb19069b3c109832bb76af13bcddc444ba69c4c53b2c469e3a15d7f0bbb3e96abadcd26cbb392a7d3a9feb95bb5cf889bbe98299bd13ad09bdf383e53c2dcfbb3c9b8fdbbdeae7c0bdedd1a7ba9b59253d24d0a9bd9fc9fdbdfdb538bd70d12b3d69be2ebd7369ccbd53afb2bd6cfa033dff0058bc43c980bdb336d9bd94edab3cd5c52537ba6fdabca8f8c9bdae310d3c5646493bf75ff8b9d82a88bddd1429b9809c1438a6fd323cac39f2bc406bb5bba2a7d439e9c3913c9e37233b8c9d443cdf4ec5bd438d883e7f39923f2341013daf1c19be32e9123e569f983f51ef083d5e451dbe59a9103de6e8833f2a00323d7632f8bd8891a8bd72c44d3feb08233de70cacbd3a9cf6bdc38f093fbe68143d433c1bbd55310cbe203ba53ec4efa03c7ed14abb777db7bdae18013e513fb43a9b2f873cc6d40ebde78620ba376f04bc3e8bba3c633e8aba4d4778bd6a2d65beed3c9f3c0000000000000000d9210abeb8134c3c00000000000000001c4d583d09a626bc000000000000000026c52d3e89bebf3a000000000000000068a0503e851a1f3d00000000000000001eea303e31b3503d000000000000000099a6ba3dc7a8823d00000000000000001f31a03ccfb4473d000000000000000044452bbd7b59a53c0000000000000000fa58fabaa1c82ebb17ff03bc8b79b33bddb853ba7ee5f9ba9f2a43bc9c3e883a6a51123a0e8412bbbf0754bcad21a1bbcaf1ef3a26d12cba90f926bc346ebabb8d04013b6512cd39dc53babb60eda7bbf6d3d13a17109e39468931bbabcc7bbb96643b3a6437753a52ac3ababc648bb977cf95ba23b6263b8d3bb3b9190367b695298dbaf39bd33ac64e083bad817b3aa82c9e3c1f54243a388434bb718cbc3c7252ab3c1c73a33c6bc12bbcd7209d3c3f624b3cb274383df0581cbc4b926f3cd022da3a81e34f3daf4e27bcd71db73af7f841bb91a2323dac881cbc04e903bce5fcbcbb5c72073d2448b4bb91cc1fbc41cfabbb99099f3c1113c1ba7a7e2bbc6162a2bab506f33b2b9e863923da8cbbecf703ba3b46b4bbf32e033b4b8e91bbeb87193c074dd0bd0ae555bd5007f03cb5184a3db935e4bd9279c0bd211befba0760673d8eb8a3bdc975f1bd3f9a6cbdae884b3d5e5722bd268db4bd9069cfbd55b8153d04a219bc6df349bd45ebf3bd1afbba3c3f0aeab9c9b688bceab5d8bd8402f73b713b3c3ad3e0833b735b8ebdd3fde5ba72df0dbae3a2243c294905bd5543e6bb48c063bab4b58e3c3c57373cf5f8df3be4bc7dbd7c09703d9401ae3f4e8e053d1931b6bdb0a395bd7646a73f33e51d3d5fa1d6bda88610be55b88d3f08bf363d2d879cbd625a49be337a523f8b2e2b3da2932cbde9c854be92740a3f9380f73cc407d9bb6a0234be59d19b3eafe0513ce2e4963cdb5ccfbdabfbe13dd7b4bfbbf349963c2770b0bc0e82b7bbda2d07bc0348b93cc1637d3c4850b9bd57164abef83a163b00000000000000008001dfbdb2723f3c00000000000000007a20c53df15b2dbc0000000000000000f5da503e28a6723c000000000000000026c4673e33bb563d00000000000000000a20363e169b8d3d000000000000000006eebc3dd38b983d0000000000000000f400b63c26165d3d0000000000000000c3e254bdff928e3c000000000000000000000000000000000000000000000000d79fcbba584470bb531556bc0fe6da37f83d7e39016b5fba4f2641bc9870f3bb8c944e3a574f8e38d419fcbb903506bc553f993ae4e9213a657d88bbb40fc0bb87fc5a3a81c96d3ac3cd0dbb5b5703bbab8b46b827c7033bf3d106ba506967bab2fa69bafea7113bac97193a29328a3a0000000000000000000000000000000000000000000000000000000000000000e729973c98cffc3c2291dfbb486ecd3c8109ee3b6000403d34d228bc16814d3c6fd1233a23903b3d8dab36bce372553bb58d96bb0b361d3d1c0521bc626d9bbbc5d2e2bb347eeb3c0030d9bbcbf130bc52de95bbae71813c50a32cbb8d392bbc1e1347bb4caa423b68273d3aa160c8bb0000000000000000000000000000000000000000000000000000000000000000df9b4f3d3a25f3bddfa8dfbdb66c98bce395703d118481bdc6cfd3bd7c7199bd1ebb4a3de6c9edbc88c19bbd09b2e0bd1120133d5a2b62bb48c12ebd3a24f2bd16afb53c02a8b13bd1343cbcc015d2bdd920123c6ecd783b3db3c33b43cd88bd1c1321bb3fc844ba6ca0883ca5e2a7bc000000000000000000000000000000000000000000000000000000000000803f74d3b13cd7489bbdf72232be26c2ae3f2aef1c3d3e44a7bd4b4869be7830893f81001f3d93a972bd17397fbeb4fb493f55d7263d767905bdbfc379beec81053fa716fe3cfc18fdbab12345be7f7a933e5fb26d3c4af2ac3ca3aee7bdd9c0db3dfa8a48bbc1ffea3ce337efbcbeb5efbc0000000000000000000000000000000000000000000000000000000000000000891c093c137e57bc0000000000000000d7631d3ef3ce3b3c00000000000000009080673ec1b74d3d000000000000000057bf613e0207b43d000000000000000091fa223eec9ed23d0000000000000000aabe9f3d480dbf3d0000000000000000ec5115bc5d546c3d000000000000000000000000000000000000000000000000000000000000000000000000000000001649373ba622303b55d929bb02c180ba79d11b3b3b64483b28c480bac81780ba13df1c3aa206ba3a7cefa4baf53cf6baa4f0bf3aaf381e3b909f523a50b6b6b8d6aae73ac965583b521fb83a48440fba4af3463a2e51413bd90f7c3b996d533925c8c93a88c0873bf78b973bd918223a0000000000000000000000000000000000000000000000000000000000000000f257ef39b46cdfb9d1fff7ba076a10bddaf478b9e2506bb840202cbbcc7bfcbc3f00de39e4659bba119700bb8e22d7bcda04ebbaed99b2ba384904bba4a8b5bce55a35ba8882c43896609dba961395bc6707aeb917d8e9b8019901b95a6543bc9ecb2ab899f098b99b0b233a6536ccbb0000000000000000000000000000000000000000000000000000000000000000ddb663bd8d49d8bbbc971cbb9803a539e2b769bd816f05bc752f18ba9165dc39da3f54bdd772ffbbda1111baed08cf3a6aab3dbdb10404bcb32d193b96c0b93a1e5b2cbd144614bcc6acd73ac8323039e20914bd5e2400bc9e4d013b9a3e6339f2bfe6bcaf35c7bbfb64b03a5030ffb90000000000000000000000000000000000000000000000000000803f00000000f7eac03ba9ebc2bcbab3883fcf0601bc8a6b873b27fd5bbce025653f1b13823b5b986c3b0d201fbc050d3b3ffd52193c832ee73a011153bcaa49113f12263d3c20dc7bb9fdc485bc5dc4d33eb4b7433c3bc56fb96f3bc9bcc161863eeb44053c0f35d1bad12406bd3d0ae83d16d0983b0000000000000000000000000000000000000000000000000000000000000000f593123cf2ddc83a0000000000000000521f193ce229183b0000000000000000c580fa3bfd65873b00000000000000005864cb3b7c09333b00000000000000005d09913bbd85573b00000000000000004e86793a7281663b00000000000000006e9169bbcb070e3b0000000000000000000000000000000000000000000000006e0c4e3bf267203bbe609cbb9a0b40ba7b429e3b043dcc3b815ab1baa25500b93db4353b7502b83bf91a383a279cb3ba3970483b88e6923bdd20653a15d78cb92c63e73a24bc5c3bd43fdf3a602c0a39999c043bd6fd943bd8ff883b24574e3af147cc3a8fdd873b9707b83b036e8b3a1a7ab93a1f0c9d3b9735cd3b532b8ab8ea4d7f3a1d10e13ac7f38b3bda006e3a13c4f03ab668e4b9cba6d83af08703bd4a29ae3adcaaecb97bbed23a0f0a27bd33645838db330ebb430ec4b9631517bd71a4b2385a2088b90a24a9baebf305bdb2b8afb9ac02b5b98a5f67babcedd0bc7c91f2b941b958ba5ee6163a99daa7bc5cef1cb987e0e4b9ba0b603a3e814bbcf5b2ed38607204bb8fff333b9e7618bb580463b9715260b9c38e283b7da52e3bb06afebcc6d01ebb691d99bbb3de8a3a2bda7fbd7b302dbc3877a9bb4ff35c3ad4388abdb4bb42bcf38f5dbb7770ff3a9aa086bd328b67bcabeee6b912b1473a869365bd7cc958bc5c4d783a218e2a3a2ccc5cbd356465bcff31b33a02c29b3949c432bd824647bc21a8e13adfe480b94b6dffbcbed108bc5e78033b815420ba761073bc81fe53bb062ae33a06726ab9a2f9f43bea9d4ebd552e883f3f67eb3d3b86193ccef55dbdaf797f3f9e53e23d5f7af93bc26e15bd3f26583f98bfdd3daf91ac3b3e79f7bce8f12f3ff1c4c73dde354d3b0ae7debce0ed063f9eaaa83d7c210c3b20dc07bdac69c43ef544863d477d9e3aef681bbd465c743ed5d4383dfd9f093ba91234bda46dce3de3bfb43c90e4703a045016bd79fd92bcf1da213b8553c2bbbf72e73a0000000000000000815e65bb8d3c503b00000000000000002037493bd46a4b3b0000000000000000c8674c3bd78b9a3b00000000000000003217263bf4d19d3b0000000000000000719161b9694d9d3b000000000000000000b77cbb6802803b0000000000000000eb6009bce2ea453b000000000000000069e8f5bb227a103b0000000000000000d3e52c3bfffd113bb99186bbbfdd82baeece6f3bf3f08a3b9eea42bbabc985ba8556273b6a4a803b532475ba1f452bba9234183b348d763b422f193992770aba5ff6e53afed9543b4f9de13af5d69abac5b4f03a31bb753bcae36d3b7e716c3ac60e863afce65e3b8952913b8325703a8fc43f3a13555d3b3010b03bdb808f3a79631f3a36d31a3b8516663bd02fc93937a2203b65080d394920153b0159debc2750ed3a42baa6b9996f133b2de614bda659843a2b12923712dd5b39cef8f3bc2e94fe38885066ba4e7cdeb91ca4e9bc93fe82ba700b44b9bb322f39f280a1bcd8b8cb39c1584dba2de56a3ade708abcf0d40ab901803bba6ba4ba3a3fcf1dbc73d1afb9100b60baf5c1493bc25f1bbb5c0f0eb9d0b501ba9a77413ba106153b9420b3bc371243bae132adbb668ea83a09e148bdc6f723bc3456b3bbd4ade13aa0c255bd2a9069bc56b6fabad5f9d43a64016fbddf1a84bcc0d395bad6e2a13aeddf45bd85cd88bcc35ba63a909dcf3a2b6c44bd1f368ebc740e9c3ae1d0183a04c210bd351960bc2b87c33a6786003a000fe3bcdbb72cbcd3e5243b7ff95439f35146bc3c4179bbd538083be94f25b90b35f73bcd0a55bd19c2643f749d863e86742e3cb57d77bd0958593f54e87e3e99a0f13b643c29bddbf7333fe73d643e3d8fe63bb11a24bd0247183feb5c463eabcc993b0a850abdc469e73e2b5c1c3e73dc6c3b873e20bd385baa3ecdd8f73df6072d3b684414bdc2a6543e09b8a43dd9a4433b920c32bdc0f8b53de74f2d3d0f4b193bb6bf00bdd5444cbcee9e8e3b250398bcfbe74c3b0000000000000000979093bcd0ccb13b0000000000000000f06f19bccff6b53b00000000000000001a2ac7bb0b9bc53b00000000000000001e482bbbb1b0cd3b0000000000000000a684a7bb5bceb43b0000000000000000694abfbb60b28f3b00000000000000001fd117bcbbce713b00000000000000002280f8bb9ecfda3a000000000000000072770c3b7502c33aaf5994bbda03d1baf9e6583bd426683b3e8167bbff0ed3bac6c30f3be49e6e3b24ff9fba5b2993ba4f9bb93a8a565c3b84e8eb3a01c391ba293d9a3abfe3253bdef11d3b34f7c9395438ad3a28af733b2ee7573bf12eabba18eaaf3a88da7e3b9ca1903b58c9943a4a69f439f9d6353b918dc03b67850b3a1973d43996b6b23a3f08913b16ec2db95d82543b5b86bb39fb61023b4e16bebc5c88133bb39d14b9b99cf93ac3e3fbbc6638933a3c6103ba8b18193a5b2ae2bcf8a88b3a2e92e2b9f2790b3b71d8d0bc3f6b8a3af1cf68b94043aeb94bb69cbc15fa31392c419fba20ef3c3a34f566bceaf1e53828997bbaf7bcea3abae3ffbbff67973a9aede6baf2e4173bf8f512bb5fab8c3a4891bfba0caa123b13ac8b3a2ca49bbc4694b8b9b40aa9bb660cf23a9fed2dbd5a0144bc0a13b3bb4124023b78c653bde42da0bc35802dbb0dc5f03addaa57bdc1cfc8bc36da4eba5d7e053aff1644bd8c83aabc9b8e2cbaafe3213b761c29bd13afb0bc4b3a033a153d103b09270ebd473396bc354c873af91ecf39bf80bdbc506b63bc9dc63c3b971a12bae58a20bce948b2bbe8f03b3bbf413dba4be4e43b6efd35bd4fb73a3fa664d43ea1c6213c786d61bdb735313f5d76c93ec5da0e3c9e1635bd938a183f878bb13e1d06163cd7ec21bd9bbbfb3e8d66973e328da53bea5d14bdd8c4c13e0b82703eb18d7a3b033b19bdbc4c8c3e0124363e7f384e3b1c401cbdcde42d3eb845f33dcc99373b8ad121bdc3c1933d31207c3d7d91e43af941debc529a2ebc10f0da3b671fe5bce70a933b000000000000000027acf6bc30affc3b00000000000000008bc29cbc4680003c0000000000000000781a68bc6bb2ea3b0000000000000000949112bc4c4eec3b0000000000000000562610bc9963e93b00000000000000001c0607bc8303a63b000000000000000038e00bbc2cdf9c3b0000000000000000c9c3cbbb9d3e393b00000000000000002759013b89c5d63ab0ca82bbaaade0ba3e8f773a7f52a03b8f8345bbfd010abb5357e03a63152e3b25d86aba92b2b6babd8c553be655aa3b4ec61c3b39f0d1b8b11bb83a23652a3bc5d9cb3a85e40c3a9644adb9a96c9c3becd36c3bec99b63ad23e0d3aa6d0393b12cc6c3b0aa9893aca0bc1398704493bad318b3b53d7c03abf49f53957fefc3a0da84e3b119024ba42a9253b7bfa153a29c01c3b9463a5bc75010b3bdecd2bb9ef94e13aee36c6bcf4eaed3a524d09b9fe9cc5394aa7a6bc1edfc4bbf5a4c1390be9b9bba09389bcae97dabac64e29bb3ec24c3ac08e32bc865387b9b0ef8aba9103c93a1db225bc12330dba060c9239fcb2a03a9648b8bb97efd3b8402d89bac70f073b111026bad958ab3952619cb9fc70153b68c4173be0059fbcdce210bb05fdabbb2cb1c83a89ae20bd1bfe82bc9a52b5bb81ccf03adb5636bd0c4bc2bcfd1245bbb6e4a83a4d3940bd4babd8bc080c84ba55e3843ba9ea06bdaf7e9fbcb25279b99313ab3ade8118bdc30cc4bc31fe963918eaa23a2184e5bc9d25a5bc21bc2d3acaf7d739d97da3bc46ef79bc7635ab3a1332b939ee840abcf29007bc769d0b3bc0e0063a89d9cd3b6c3415bd0221123feb1c123f61c40e3c394f32bde208093f070e0a3f7a84ea3b86240abd25fbe93ef151ee3e2f9bbe3bb49904bd75b9c43eee04c83e7b72473b1050bdbcc5fc923e45c6963e2ce5763b26a7fcbc84ec543e08c0693e8c7c053b2c29f5bc5cc8033ec5f01b3e9be0273bda32febc96fd4e3d62cb9d3db35bf93ade19b1bc348869bc8b24ae3bd44c18bd6d91c03b0000000000000000529821bd1364123c00000000000000005029cbbcb456093c000000000000000015be8ebc39ea173c00000000000000004c9e06bc0389cf3b000000000000000027de11bc2c78f13b00000000000000004f46f9bb4f0ca23b0000000000000000dc760ebcbb5a513b00000000000000001415ccbb12d0bf3a00000000000000005edce93a23ef273bd15324bbc68a4bbbe70f5a3b7115873bb5b71dba207342bbfcaee33afeae6b3bafd6643a515dbfba9cb03a3a7c08673be2aeef39dfcb2e382ff24739163e3a3b3392613ba64627b975a0133bfcf2853b2b68973bcf18123b1873393a2e283e3b113a913bb8b00c3b6ab05239ff252f3b120f963b4e770d3b0e6f8c3805ebe23a4830413b00c2b03af440bd3aebee903a8556953afbce72bcfce4bc3a9fd6903a645e393ad0cfa1bc54408f3a3f28a7b84949f9384b6e8cbcfabec53a7478c8ba3aaa6d37cebd69bc62efb0392f7508ba018f8bb9b08d41bc981993b91ca1b4ba8f1056b8d1ce13bcd850db39ec4f6dba1c80a13a7a6d6ebb485fd4b8a4bd23ba467dd63af3c8d23995e925b945d112ba3c83ec3a20071d3b5546b9bc1586f0bb5a83a1bbcf01ef3af5cf2ebd9f5ad3bc70e4bebb765a1e3b1f4b43bd04d210bdf7409cbbeb5d823a2fcd43bd95a712bd8f7a33bb4b8a103ba1ca27bdc6b709bd02612ebb8f67a83a1ec613bd78d80abdbb013fba2487db390f70dabc765cefbc442242ba38c2753a4e4a8cbc7009a1bc76832b3a65e4193a7786cebb73cc0cbc03b3cf3af00d8c39600a903b9fa9e4bcea92d33e321f3b3ff1a8dd3b3d9e0dbd4d73c63e9280323f49add73bae99dfbcf60fac3ec6761a3f9034fe3b46f5d5bc423b8d3ee377003fc6417b3b23e8c4bcac915a3e33e7c83e3bacbb3a4e81d5bcb716193e2e4a953eef2b1f3be1bad1bc8d18b23d191a413ead61033bc69fccbc69d6dc3c7f1fbc3de412b03a56b789bc4df29dbce38b223b171f34bdd1bfb93b00000000000000008ffb4bbde2dc1c3c0000000000000000fa7f09bd36f5263c0000000000000000a5b9c0bcbf83103c0000000000000000ef4071bc64ef1c3c0000000000000000823712bc58eba43b0000000000000000b30718bcf856913b0000000000000000bb3712bc50dd233b00000000000000000efdbdbb6d918b3a0000000000000000844ed53a24a52a3b8d5a69ba42102bbbbfbae83a20fe803b8032bb3ad8690fbba7f68c3ac5de6e3bb297203b25c45ebabbb9a13a3fa57f3b669a5e3beae423b95075a43a76d8023b0542843ba0d3dab97f699539548f423b1eda933b3372083be4498139a86c213b7f59863b6933283bf1f9273978c7063bc3f08d3b57e7563b703d2eb8c4b4943aa2c12c3b7b4b193b0de7f43a4df18c3a6b89883a2de21abcd1cefd3a29013d3a9bc8203ab54b57bcc25f813af11e83388cfadbb953d13abc0214e2391a433cb916b45dba47072bbc88c9643aee4c53b947dcc6ba2e9706bcfcfc5a386edd61bae070963a33fec4bb6aba5339e1d31b3a600398396bb40abb912eea397ef33bba71deb53a96dfd53acc729037874cefb90b80b13a79fc563b5673d8bcfc8659bc9be4e2bba68b2e39ddb735bd43df18bde1460bbc11f89539aeb32cbd85d72abd50afd2bb4066463aedbf36bda0c547bdb139c2bbe179663a58890ebd74a626bdc57e83bbaccba33af54103bdfba327bd9f9490bb0acf7f3a2f24b5bcb47efcbc396338bbca49103b90f657bc67d3c4bc733478ba96b8043a091479bb94a426bc18ed923a2fb19a39ef137f3b459194bc9e75863e04a5643f1baab23b96fcaabc92fe783ecc0e5a3f6ce9983bf7887dbc1dec583ef50b353f1d8f753bec187dbca07a323e063d1a3f157f523b6c2a59bc4c46073e9d8aeb3e01e25f3b636186bc7258b53d3ae4af3e9c5b9a3a0bb18bbc8fbc443d62df603eccfa703a8a9491bc2fc41c3b5c1ed23d6e58423a44be3bbc44eeccbc4e1738bb3cc353bdd52ce63b0000000000000000874263bde2fe353c00000000000000005a8bf6bcb8cb143c00000000000000004f3fb7bc641b1c3c0000000000000000685834bc88fdf43b000000000000000069441dbcabebb73b00000000000000000292efbb802a453b0000000000000000242407bc35a88f3a000000000000000055dec8bbb4dd0eba00000000000000006c63993aeefb393b0d397f3a9b6f74bbda98fb3ac8c2973b6ff3ae3b2251ffb96679b43ac426813bb9bca83b77db5d39424c8f3a7184703bb6a5aa3be7e29b39241b253a17dc4a3b6e1b933b57abcc3a43faf63911d82e3bc1d3b03b80dc633b35b7223a8253253b2c55bc3be5d79e3bad5e89b8ac4aa13a54ac953b97c5a43b84c247b96bcc443aaad93d3bd6c24f3bacbb9c3a2099c73afa2f0bb8abc7abbb6d77113b9d18ce39699702ba233bebbb52226b3a2a3e86398173edba769bfebbae0a2b39e49ad1b9b46eb7ba40f2e4bb0eab8939cbb265ba343d81ba6a31acbbba67d539f735e6b91a169dbaedb75ebb3682a63a934ad6ba2e3c8c39155bb6382f476c3a63e307baf7384b3a993e413be2f8db3816f220ba3d0f743a5f2e823b905a06bd949cdcbc36770cbc11d356ba97b345bd9c6f68bdb5f429bc7c8934bab0cc3cbd5ac080bd898728bcf6fdf0b9bcd328bdf64c7bbda6a91ebcdb672f399f9d06bdfce956bdf0a00cbcec67d039c957e3bc78614abd25c903bce796863a11b495bcd5f02cbdd1edefbbe5e0c83a275112bcba34f2bc895055bb827a8e3a2c145cbaeb5f60bca4e8c4b9d92ed8391867193bec4cadbb155eec3d5cf6873f04784d3b34e2c4bb5745d33d28f77f3f49a4233b360965bb467bc23dcc85583fc4171d3b9baba3bb45509f3de713313fa171c73aadd3d1bba223683dce0a083fb062f639a69d18bcf438023d8740c73e8833423ab72e3bbc510c8d3b38fa793e966e85b98cc827bcbe2fa9bc5acbdb3d5b2716ba0fe3ddbbbb9d07bdab5957bc64a54fbd88d5e13b00000000000000006efa47bdb0d7233c000000000000000005c7ccbc98671f3c000000000000000000a74bbcd13d163c0000000000000000eb159abbd616eb3b0000000000000000d1d610bbdcf79b3b0000000000000000b27a6dbbaea5813a00000000000000007af5dabbb23370ba0000000000000000a8f1c3bb01292abb00000000000000000000000000000000000000000000000059245c39b8b78c3b70b5703bb5eb29bb37409eb9b0525a3b86e6ad3b600193baa1a1f33978b40f3b092e943b5e2ac6b91b8dadb9c3f8a63af6152f3b5711bc3acfa7df3999860e3bcba1353b1ca0863aad3f8636aca09a3a66f8823b74a4723bc295e8376e1d883a822e783bc871993b00000000000000000000000000000000000000000000000000000000000000008c9ceeb990c70c3a7e48f5b9fb348cbbd27b38bb6ebb8f3a90499ebae09768bbe50de9b9e2e61dba5740c3ba94f09abb46800a394671a1377ce011bb77db92bbbf969a39edbcac38cbc35cba8a87cdba3351b7390d3523b97a266cba6be0c5b92b9d253ab62a79b946703737081f193b00000000000000000000000000000000000000000000000000000000000000004c401fbd10f466bd4aeb2fbce3f7e8ba98250fbdde8e62bd430b11bc92fec9ba8242f1bc6e6c56bd0e7c15bccbaba4b96275bebce9d13abd6b010dbcc931773aa80196bc980128bd2e4028bc7573b53ab0cc4dbc80d111bd6f24fdbb8fa6483a2b13b3bb42f7e4bc11ccc6bb72ee153a000000000000000000000000000000000000000000000000000000000000803fd9c9a93aec850c3c58cf5cbccaea883f5171973821ff753bb69ea9bb8b5e653fa8e1b43a93463a3bbc70a5bb46e33a3ff260ae3a7ee30f3a6435e8bbc5f0113f8a94f4396ad3fbbab5a272bc38a8d33e53d587ba19e884bb703cb3bc5460863e6e54e3ba26039bbb448904bddeb7e83d0000000000000000000000000000000000000000000000000000000000000000189aa4bcb1fae73b00000000000000001428c9bbf199fb3b0000000000000000d99c2f3b2948d63b000000000000000072e6a83bea56913b0000000000000000f7f0af3bfe418d3b000000000000000018f0963b358fbc3a0000000000000000fd1cacb8ef7ca9ba00000000000000000000000000000000000000000000000000000000000000000000000000000000c277c33a13ddeeba750a05bc917b9bbbd0ded03a34f5c5b931e3efbbda5f8cbb5027ea38d800dfba40e087bbee5b8bbbb864733963fa1dbaa9e188bb746eb0bb84fa9d3a35614c3a559909bb5b02a1bb3e10f73aeb6d063b7983edb8e8987fbb23eb1d3ba7d9613b3b1ace3a7f9da8ba0000000000000000000000000000000000000000000000000000000000000000b7bc95baabf817ba3599bdbb4470f2bc9ed031bb774d80bad1a0aebbd064debc2f85aaba195590baa362f0bb8b1ec6bc29a040bb99a135ba90bec2bbaf30a4bcad9531bb48efb1b92b28a5bb76428dbc5e281cbb5557d7b9333961bbe2da59bcd4ab01bba923ccb9ddf2d3ba29d217bc00000000000000000000000000000000000000000000000000000000000000009516ddbc48086b3ba416163b3a0d5b3b39eef5bcfc7222b926fb173b63bf5c3bc17ef0bc416716bb1dcc3c3b6ab4713b86c8e5bca6a980bb7fbf2d3b162d5e3b4cffdebcad01c3bb948ef23ad2b8393b9f42cebca1a4debb1b1c083a8f47dc3ad9f4b8bcca8be8bb5e196cbac146393a0000000000000000000000000000000000000000000000000000803f00000000a299c73b12b792bb1af3793fdcc91e3c8c156b3b797e2abbdd85543f92e0823c5126f33a1fd14cbb5d1a2f3f6d5da23c4bd9ba3987cfc8bba13f0a3f404fab3cdee3dbba58f244bc4cc7cc3ef86bad3c670f48bbd11a99bc3e4d853e696b9b3c0f2190bb16a6debc7dc9fa3da09f853c000000000000000000000000000000000000000000000000000000000000000099d9703cdfaf283b00000000000000005ce6773cbce1893b0000000000000000909a7d3c8ffebc3b0000000000000000c1606b3cd541de3b00000000000000009cae533cc036f73b0000000000000000d6f01f3c3c79f13b0000000000000000e9d6d13bbc03dd3b00000000000000000000000000000000000000000000000042bc193bbf6ef9ba84180dbccb035fbb4ded833b7e0ac1b85a1509bcd08eaabb2a302f3b41a0c0b8d1c4eebb7106d6bbdfe2983aad028a3aed53eebb8f34bebb0574de3a24c2e0391b9b7ebb53e8c3bbb456543bcb9e673a5abc38bb1fa2a5bb2ba82f3bcd82593b8efc433a044d8bbb486d503b1c3e9c3b94cc473bccf13bbb41dc293b983c8c3b0befc83af5be73ba2a3e103a0758eab88ed005bbf78ad6bcce1c8bba467483ba81c188bb828010bd21ba39bb6b89cbbacf07c9bbd45704bd42391dbb6b61f4badf40c4bb1c65edbc818157bb20ad2fbb71e9c1bbc883c1bcd08356bb3d2625bbdcc790bbb9f3aabc8ce142bb542b30ba351e44bb912a7bbceb260ebbb9cd56bad6b896b90f6b11bc132415b8be2264baa5f4d83a11a989bb909780bc57eaca3b3ea8353a37fd3e3b01d803bdf721333bbb984c3a68035e3b6f5216bd264997ba3931163b721f813bf5331abd24d1afbb6d3be53ad091563b70ec09bd978bcbbb39d31f3b69f5733b79090fbd163711bc792eb63a1ac6313bd8c3fdbc2b0b1bbcddc18b380365cf3a87bed1bc898c0cbcfad9c2ba90692f3820c375bc73cebcbb706007bbb61960bafc47dc3ba43283bcc79f783f2d04053e4e12fd3bbe7a8ebc0aaa623ff98a003ed781bb3b915e41bc18e7403fd2b4f23d4e7c903be31f59bc50d11f3f9754d93d539e893ab93364bc6a27f93e8b14b83d148e2eba3472aebc71f9b83e233d9a3d9c031ebb9e6fe1bc5dfa6d3e3b35643d6ebe25bb914b0fbdd69cda3d001e0e3d88879bba8205ebbc24f61abc28022d3c2e88bb3b9f4cf63a0000000000000000632d3d3cd86a843b0000000000000000fa8e7a3cbb2ed43b00000000000000002253923ccddcf13b0000000000000000011a763c98b90d3c0000000000000000024e653c2b9a183c0000000000000000929c2c3cc1b1163c00000000000000007561a23b63a7f13b00000000000000001d34963ab97b8f3b0000000000000000192e113b1b18ccba5e5df5bb1fb160bbbf40613be7ba6dba458311bc29d8bdbb4ebe933afd2d91bafb33c8bb0a30b2bba5a5083b7cc4a2b6360abbbb5985dabba4c1a13af3915939ac526ebbb33dbbbbcac7113bc3cc0c3bedb9b6ba5028afbb067af13a679c393b8720b539934983bb119f333bf508883b86d0293b54ae40bb6beae83a7820533b3948223b7816e1bab7c2093a34c1c6b6633ca3baf8b5b4bc747e8aba3af153ba4add62bbb1a802bd8b1701bb9a0364ba68737cbba71cddbce35e62bb9b1fc9ba335db9bba129e1bc817961bbfcca99baaf87a1bb2115a8bcbbe171bb948d9bba6cdf85bbb2579dbc59f641bb383a82bab9c819bb599953bc5d8813bb84729aba34d514b91aff06bcf306aaba37de20ba01a0ae3a23be18bb404f5fbc93a3b33b519ec0392abc383bb4e3e0bce4b7fa3ae7945a3a5cab653b2b3403bdedb05bbb0a66033b146a663b823616bde0b6dabb78d0133b6b5e773b3341f9bc3810ffbb6c04f13a3cfe563bd2050abdd04c37bcfeb32b3a47f7263b8263dbbcced727bc4db6dab9829a9c3a5d48c2bc9fb91fbc6d719cbae46425b8ca0a4dbc1cbfb1bb0844b7ba8e7502ba7c2ecf3ba79d96bc7079533f1769873e41d2003caf36b3bc451b423f1ec87d3eebccc53b302280bc18a5233fdfb0613e88da843b9cd28cbcc282093ff357453e2a27cc3ae5c286bc7020d53e4e0b1f3ebf6850b92ba1c6bccfba9e3ecb79003e0e3486bac11dd0bc0d6e4b3e343fb13d9f10b8baa50c07bd50b0b83db8d0513da49147ba887bcbbc1d0a0fbce85e2b3c0cfcadba4fc53e3b00000000000000006243873bd57a003c0000000000000000a9960f3ce2e1f83b00000000000000008a47533c5030163c0000000000000000bfa7453c195c133c0000000000000000bae7473c3386273c0000000000000000b56e0c3ce88b083c00000000000000007041a43be34df43b00000000000000005e7d8d3a8b73893b000000000000000095b0b33a4e90d9baa263f2bbf7d576bb1c8f223bab3283bace740abc71fcc6bbf426a33a1d7fa139780503bcf678e1bbb8ecfa3ae7c24c3927a1a1bbf82cdbbb373c8b3ab4d16a3941e25bbb3e4cc3bb50a13a3b28133f3b9404f7ba95598dbbad25463be02b873b4a0e1d3bed2f96bbad1b053b251b6f3b2b68163b8fa64cbbc06cfc3a9c514c3beebd1e3b3154aaba60c7ca39a7be64b9851a8eba746098bcbde5a6babd9a4dba1d1859bbaafadcbce16487ba1f2e8bba929ccbbb28b2d4bcd36976bb1403deba3429b0bb44a1c6bc13e57bbba910ccbae1b2aebb8dd8a3bc048ba1bbdb3c8fba4de9a6bb78df93bc271f80bb487905bb9e3a43bbc53051bcc58557bbf441a63896ed04ba383aecbb170d72bb638e1ebb11fb9d3a096ae7ba6d0063bccce29f3b51b4713aedf6453b5ceae7bc57d76bb9a316c83ab615813b82200bbd1ccb91bb89d9fb3a1e477c3bc93111bd587b24bc6dd3fb3a80ee703b862d03bdc5433ebca7c4c73a6f9e603bae5306bd2c6458bceac83f3aaa5e2b3bc7e9e1bcb6b662bc9cf255badd197e3a48fcaebc46ed3dbc4167b7bad113803833de32bc1e0abfbb35697bbaedf34a388800ca3b3aab80bc6be12e3fe92ece3efe03f53bc5e59dbc6a54203fd659bf3e3651003c1faa88bc099a093f588aa83e7b33823b61528abc6d12e43eccc58f3ed7acd73aca238ebc234db23e8a65683eb7be363ad928c2bceb1d833e8834343e3dd1c8ba67e3d6bcbde2253efaf5f73d21ebb2ba2d48e9bc24db913d7931883d0f01c1b97798b3bca1c93bbc091a2a3c79e2d5bbc307833b000000000000000074c417bba9b8023c0000000000000000e219a23b2a6b1b3c0000000000000000fe7c153ce5102a3c000000000000000017bf333cb3d82c3c0000000000000000044c313c5c7c2e3c000000000000000029ed0e3cf966103c00000000000000004b8eba3b9f8ee93b00000000000000000e891a3beaed863b0000000000000000fe65a83a4408bfba949edfbb46e192bb7e0c003bf78d52ba75b5edbb25bed3bb7d3ba73aa6121cbaecc9b9bbf61ae5bb78a40f3b5732bc3ac5a393bb3398dfbbe50dc239feece1b866482ebb9132a8bb2510ee39c7db013a898c0939f7c996bbc394123a5090653b08c9c339e9da2bbb5f3ff73ab1dc5b3b115b313beaa219bbedb5a33adeb72a3b91b4193b7b2ba2babb9758392dada639b2c79eba7f7b7abca438b8ba46eb1eba87ef61bbdb07b4bc817360bb513264bb27226ebb50c1afbcbacf83bb4202cfba6a52c7bb42e6adbc523e57bbcbaababa4db78ebb6f3366bc3cbc7bbb73a006bb1b2f6dbb01186bbc604c35bb90c385ba0d224ebb2b222ebc1bf147bbfa75d9ba179f27ba855abfbbb96e0cbbbc0585ba44061d3a3f37e5ba59ba80bc67e6403b707ba53a7970263b902feabc5ce061bb4627e63a3384563b4b4d03bdba3928bc393e393b876b853b713b0ebdba4069bc1cf4cc3a8086563b507cc7bcb0193fbc7dc9923abfc1263becd0efbc200288bce8c48538103f033b3870c4bc3ec568bc495a08bb41fccb3afe6298bce0d659bc8c74d1ba87d0bab9781521bc095af3bbaee3bdbaeebd4dbaddbeac3b33e340bc4b810a3f46c30a3f985acd3bc9bc66bce7a0fc3ee9bfff3e5032ab3be6a32cbcc526d83ecfd6dd3e0e92223b19265ebcb11bb43ed102bd3ebd0e583a981936bc1b298a3e6d90923ee8fc80b9e28497bcc81c4d3ed070673e44d633bbc55aabbc061c003e6f1c1b3e7a92ffbaff25babc907f513db470a53d29b499baad2a88bcf76e4ebcf1bc0d3c51f033bcd68fb73b0000000000000000bcdaf4bb1b42143c00000000000000006271f93a00752e3c0000000000000000e153dc3b58c53a3c000000000000000020c0053cfa00143c0000000000000000f704273c8d4a273c000000000000000055d4193cc938113c00000000000000008958cd3b0042cc3b0000000000000000e1ff2b3b0c14503b00000000000000009b15d83a2f6cf8b931d7b5bb1101a3bb54dce83a75546439e8a9bbbbbe43efbbafde233b126d633a26c48bbb4d6bd5bb7b1b973ad568183a439534bbbf5dd3bb752968b953b5a53af0079abaa166aebb4eb5da3a8f34143b1ab5603afd4b82bb68912e3b8891173bcff90a3bead527bbc02fcb3afbb3593bce89653b1bf7a8ba63fb993a5877173b4601313b2886f0b9e9fa00bbadde92ba4bb7e2ba7ec644bc0d8203bb75d207ba012f7abb410f99bc73c960bb769b9dbad81cb9bbf59c9bbc616d87bbc9d5dbbaaee1bcbb82c694bc94bd8dbb0708f7baf6daa4bbef1e79bc1aee8cbb673508bbd7eb83bbd7ac51bcbb207dbb41b402bb91cf32bb699415bc575752bb0c09c9baf7be5aba1a729dbb44fc06bb534b8cbaf233b2396ae54aba065c96bc2cbee5398386c33abf29173b5dfa02bd9d8e0cbcf1dac13a51e41f3b36bc11bd1d737ebc786c933a186e0e3b042b0fbd23989dbc37f8653a9520223b1897f8bc56c29fbc25a972b8c2490d3b537eeabc6b6caebcbe9fbdba54a8973ae0adbebc8503a0bcd20010bbca0fe03975bf89bc386587bc7aea24bbb40b44bade1b02bc4e1e18bcadd7d8bad2548dba4836933b9a9bdcbb81afcd3e4c182f3f44cfab3b8df50cbc278cbb3eba91213f165a6a3b73b802bc454ba13ebeab0c3f1471f23af44115bc1740853ee31feb3e5ac60e38650f33bcbf074f3e37a7ba3ed099e2babbfb7bbc8aaf133ef4718d3e05f530bb4c83a0bcda20b03d82f53c3eb51e47bbb36e9bbc9d44ef3c2824c23d582afebad80958bc24518bbc616ad13b57f270bc5cccd93b0000000000000000812b43bc1c2b273c00000000000000008270e3ba2301383c0000000000000000724fad3bce99483c00000000000000007711143cf573373c00000000000000001a592d3ce915283c0000000000000000edae1e3cc515ff3b0000000000000000c16cf33b2484a53b000000000000000026425b3b43661d3b0000000000000000072dbd3a5033293a793f89bbc6b2bfbb501e0d3b9f07bf3a7e2668bb1677fcbbfdee573ae185ab3a5283e2baf1dfbfbb6cc3ed3a2279c13a252469ba01bbc5bbaa967b3a0c4d993aa187b1b8005391bb36e4ff3a077f153be520f83a806b48bbe958823a43280a3bbf22663b1ef88cba749c1b3b67af2c3b1869c13bcf732c3582a3653a81a6153bc2024d3be324603a70c981ba66e99d3882e101bb2f0e19bc8a3c38bb700f78baad2a8cbb475276bc90ee59bb9a1ae1ba5f3da7bbe13f6fbc6ba397bb931d0fbb3b31c7bb177c80bc911590bb6f6d0abb4b09a8bb17e247bc20e690bb371016bb44a28ebbc06837bcda866abb472aefba0eca44bb0576e4bbbcdf56bb0b43e6bab1c8c4bab1767dbbc6dce0ba3fbd61ba8c79f139887eb6b83f7cb7bcc74b87bb56312b3a6799053a352112bd1e2980bce214053a29837f3a7a4b07bd500ca4bc8069e238fe00af3aa1c511bd0b11d3bc06592abad12b923a2c0bddbc43e0b6bc5af6b8ba63abbf3aab7bddbcf1aed3bc471d4ebbfacb503a9b93a3bc05f7b0bc16a254bb4f7d47b92b7a71bc22c1a2bc85497dbb7b5cb5ba26adc9bb66552fbc707115bb12c9b4ba18745c3b60cdb0baaefc863ea7b6533fc807783b37cfecbafe9c753e9a0f433f57c40c3bdc8015bba2ca523e6234253f05ede6394e8b8abb00ef2d3e4a390c3f88d1a4ba5020cebb71c8043ed68eda3e27fc49bb5cc232bc5b0fb63d4c10a63e6b5d67bb6c6e48bc01884a3d73535a3e74719bbb565b70bc3a01d33b5c3cda3deb4f3fbb2eac20bc73b7afbc1087363b9a9c92bcd9fecf3b0000000000000000efc65dbc5a00303c0000000000000000f1779aba67462f3c00000000000000002098bc3bfaf2483c00000000000000001d001d3ccb77273c00000000000000003bd3483cb85d213c000000000000000035be213cea15dc3b000000000000000026690c3ce132763b00000000000000009e5b853bf308563a0000000000000000a43c1c3b2c7c243bdf9538bb63b7a1bb0032163b579f2d3b978d0ebabe0bf3bbf4745d3bcd8ae83a506af2366c76e0bb3ce9f83a4430123b095abb3a0a20a0bb0564ab3af425e93ad6b6d13aae656cbbd38bbd3adc0ae73ae541973b1a7b23bbaa89013ba312273b2d28963b00005a399455c13acaac503bd51fb83b863a1d3b96be623ac4e3173b15ae843b6b5f053bb8d353bbf9d588bae6e29cbbcb57dabbc2d054bb0e8651bab7aaadbb72b341bcce6c9fbb154627bb3311aabbe51665bcd09694bbaadc70bbb241d9bb04845cbc877394bb1efa15bb4a17b3bb590839bcf8294bbbed9198bacc4aabbb67ad08bce8ce71bb1373d8ba8cdd4dbb6703d0bbd18017bbc74d93ba6e018cba13ca0fbb84fbf6ba674785ba6f6fc5386786173a1ab6ddbc65923bbcc69a033b30e5583a2f7d1dbde423cfbca8ce8fba99cd2dbaaf311bbd309501bd1cee43bbd86a1d3aa6db0dbdf66c06bd2c7939bbf9821a3ac92de0bcc00befbc88e372bb5bf01e3a46a1d2bc57c7f1bc8040dabb2ade44ba14be99bc1c3ee4bcd5eacebb9a5833ba842940bcac37c0bcaa8bb7bb5533e0ba83d799bb7a1b5cbc0e8e6ebbf269d7baaeeaac3aad7cac3ba59f033eac21783fce1eee3a165acd3bf270ef3d6e12633f2ac5b03aeb139f3b28adcd3dd314423fa154b5baf425053a3364a83de41d213f637031bb708f4cbbd12d783d4b37fc3ee5cd5dbbc75802bcff1b103d982bbc3e6846bdbbdbfe1cbc5f7f353c6b68763e297fcabb86a52ebc2d1076bcbca4ec3d8ee798bb9698febb712be2bc42023bbb9b7272bc05aef83b00000000000000005a7219bc520c2b3c00000000000000000f34843bfc64403c000000000000000000cb323caf0c493c00000000000000007aa9633c89cd2c3c00000000000000007def893c41f2063c000000000000000047076b3c4925d23b00000000000000001913273cd6a3103b0000000000000000096bad3b15560cb900000000000000000000000000000000000000000000000055b2113bc51a483aa65e9fba8f90cabb855b903ac3c4c33aa3eb833a0c06a8bb7c1eb5b7c62a043b1bbc96384c96abbb09af3bba1ab0b93a7e9be73ab85127bb3c07113b946a8b3adf80153b5eac9eba2f4ab43a8bc5ed3a871b803b82524e3aa2cea63a7302183bdb44983b498a113b0000000000000000000000000000000000000000000000000000000000000000bb9598bb5857f4babb218fbb23fc02bc9e8f87bb4e51d7ba5475c1bb123e22bcab346bbb01e7ebbaa73daabba1b01dbc388c78bbb7e000bb61299cbb5e3a16bcd68366bb5b1806bbc8d38bbba24cfabbd02830bb594da4bac00b24bbd9faa2bb08a6feba50c184baaa54c7ba391806bb00000000000000000000000000000000000000000000000000000000000000008d4405bdbe75dbbc6db0b3baad1a9aba65f5e9bc36fce9bc3dbb28bbeafea3b97bb1cdbcf995e6bc37465bbb7ed2adba2969aabc036fd5bcfa308dbb87b87a39fe0192bc871ad3bc60e1babb56d95b38db5f5cbca72cc3bc6ab9cfbba4e5fab948180fbcc85fafbc3829d5bbdf50c1ba000000000000000000000000000000000000000000000000000000000000803f3d00093bbc26253c847a2b3b670e7a3fa82bedb96ae2d43b79ad4d3b7f67543f2ca6b3bab69f443b58d5a33a54882f3f3ba52dbbe5ac08ba6a7a65bbe0ac0a3f4c6290bb41d183bb18fa1abc76bfcd3e9615aebb5c24d5bbe3ab8dbc9044863ea37dd9bb133901bc196cd8bcc2e6fe3d00000000000000000000000000000000000000000000000000000000000000001708d23a82670d3c0000000000000000bc1e1c3cdf6a193c0000000000000000ae9d653c75971e3c00000000000000007612813ce26b143c00000000000000001a58833c0b15f83b000000000000000091a1663ca9cfa33b00000000000000007a013b3ce3b61a3b0000000000000000000000000000000000000000000000000000000000000000000000000000000051a8e7ba6dad34bbb45738bb0e94e3ba1c7701bbe0de3bbb5a5938bbc75d0dbb95a2e8ba604428bb78b229bb008611bb7bd392ba30f917bbcaa326bb03a50ebb5a8284ba4f760cbb5fc91abbe6ca0dbbe595c2b8362edbbaa63e0dbbe1ad0fbba8e76eb91f49baba57abe6ba17aa8aba0000000000000000000000000000000000000000000000000000000000000000a8987eb972677a39ebff2ebbcf837fbb9c2e3dba686f8c39d10438bb083183bbb81e55ba0de08c39d32135bb9ecf71bbea3b8dba211ca2b767a527bbd00259bb65769cba45f6beb75daf1fbb471b59bb43b5e0badcb674ba9ad01ebb899951bb257ad7b9374b1c3af224f3ba384837bb000000000000000000000000000000000000000000000000000000000000000044321cbba8a29e3a5987fe3a8451ee3ae7bb39bba2252c3a85c80c3b129d163b53e73ebbe1c9bb39380a003b6c3e133b494738bb4b2c1fb948bdd33a715a033b080046bb45e405ba4e0dca3abd12063b443452bbbad6c0ba03c08939872c2c3bf8ac34bb8a4da1bad5062c3a3e46c73a0000000000000000000000000000000000000000000000000000803f00000000bc7b913a62c3d83a2cdd623f6998703b2b0b513a1bead33a5f75423f4bbe9b3b6b4c5e3941108b3a45eb213fe243a23bfad27fb98cccef390455013f3057983bae1738bacc72b4b95b10c23e119fa43b8681e8babbe60ebb5e9f813eadf5ac3b9fa8d5ba57ae28bb9dae003ee3046f3b0000000000000000000000000000000000000000000000000000000000000000571f9d3bcb89603a000000000000000095677f3bd2cfda3a00000000000000001988773b4fd9003b00000000000000008bf46f3b2f38033b00000000000000008dd8853b0253233b00000000000000003bfe943b9bca553b000000000000000002125b3b2b98293b000000000000000000000000000000000000000000000000f518f0bae82525bbe79c10bb1209a6baf92405bb65ee4fbb66af54bb358017bb2fc8f2ba1fad45bb9ef151bb0bf720bba0c202bbcbed5abbdae561bb39eb3fbbe4a3e2baedea4bbbc97859bb960f44bb1a1b97baa7d822bb4dc038bb01ef37bb2ae9cfbac94a22bb5c2122bb569732bb81a0c2b970f0b7ba35d9f9ba6d3711bbb43632ba4c1480b98ce065bab232a2bac4f1a938b324383abaf500bb096050bb930d19ba5dba6739d53b43bb24709ebbaead5abacadf5839a3e245bb3c7598bbe8f2a4baf7821138357e68bb38e4a1bb002dfdba0fb809ba903b5cbb7b9295bbce9cc9ba035046b96f8c44bb892286bb272b9bbaba22ad39dc7a30bb3e2c6fbbbd7db2ba614092b9cef00abbab8357bbbf1153baedc055b9cfa73ebae144debaf65898ba6ffed03abc03013b50b1063b107234bbc704aa3afb13223bc91b293bc76058bb1f9b343aa67f1f3b37a7333b763779bbb6ca863945be233b7355433b0c1c84bbd94e77ba487c503b01bd763b1e9878bb727651bae8a0e23a805d1a3bc4615ebb8e836dbae26ff93a17d1373baff758bb142bb5badd91533a0579e33aa3c0edbac18280ba33098539ddcb4f3a1ab6963a9944583a9ea5623f2c27033e9417983a3496923ae767473ff7b8ea3d2ab4403af69a9b3a55d82a3faf6fcc3d87bd0e393f54523ae0750e3f4739ae3dd5fc81ba2dc731ba64cee33e75a98e3d225082ba561e8aba6573aa3e1479593d03cf97ba429005bbca6b633ecafc183d446eedbaf57057bb2f27e23de976a53cca739ebacef83abb0b2084b9110f213b0c8c223b7a6748ba00000000000000006dcd6b3b8d04bc3a000000000000000016cd8d3b857a033b000000000000000071c7a53ba558343b000000000000000012fdbd3b72e9823b0000000000000000c052a43b70a34e3b00000000000000003a2b613bb8a7853b0000000000000000130b833bd722583b0000000000000000f6ae0c3b98a6e93a0000000000000000c8c790ba778209bbaff90ebb13d6babaaccdeeba5a3f48bbfeee4bbb7c3110bbf0d8daba232228bb8f3531bbdf2d09bb452860bb919d58bb7fe265bb45a748bb4f9ea6baaf2f20bbd4fa35bb4d842cbb5e9e90ba28034cbb4a6171bb702e71bb1abf09bae59428bba47142bb6c3850bb6de524ba78f2a3bad8fbccbab8a1efbab159e2b9094258bac24084ba3fa494baf30735b91be2a3392c56deba561746bb77af06ba0bf7b6399b3835bbacd694bb94003ebacc6c1e3978a52fbb675679bbd01bc2ba847fd13a8c1e61bb6e989fbb55fd183ae7bdb9b97dcb37bbf0cb77bb8f862bbb3f6c203abf3979bbcba3a5bb3c6930ba40f7cd38682c4cbbc7b183bb02ce4dbb535124b9a546e5ba97ef2ebb23da09baea4dfcb8f1988abaa10bd4baa918a5baf3e7ac3a2f36d33a51d4ca3a18982bbbbabd973a9f8e1a3b2903273b2a612ebb710df1396571003ba576183b5c907cbb209263b9112a133b1c85973b4b0b56bbac222fba5924c73a34b6093ba77d9fbb8a750cbb9b591d3b6cab593bd28809bb5d41fdb959b9a93a5ee6f73ac77932bbfee594ba1cb8573acdbddf3a46aed2baae8f5cba8074653926482d3a2b56553aa9a22c39a43e423f42cb813eeff87c3ad1130b3a2f022b3f245b663e5986033ad06f0f3a7525123f31dd453e5c3bbd37e39fb838a85cf43e6499273e952a38ba961830ba1189c23e2ba7053ec924beb879fe1bbadbbc923ee62acf3d851000ba6de4a6ba1965423e697d893d4be3baba5d8a40bb2af0c13daa37123d758ba4ba02792abb01e18ab9f94c0e3bf39dbb3a9e622e3a00000000000000005c0e4a3b8ec4d13a00000000000000001cc25e3bbbb7f53a00000000000000004c049e3bed0f343b00000000000000004885833b4ac62c3b00000000000000000c59c03bd0e08c3b0000000000000000c3237b3b5164333b0000000000000000d4f2803b36ba503b00000000000000003e02073b6026fc3a0000000000000000d182473ac7c314bb2c0c17bb185ec0bad197f5ba988c49bbe04c4bbb21791bbb2130edba016449bb6c6551bb313b2fbbba8a01bbfbe45dbb0a6364bbc09e3ebb290feebab04604bbedc6d8ba23914dbb2297d0ba097241bb98ee46bbfa6b47bb2dba643a0fc2f9ba33dd08bba94111bb9851a43a3aecbd39f7a8c6b9fe6937bb3e0f19ba6d85a2b9f2b23cba47ef93ba2e1689b915d56d3990a3f9ba9efb3dbb56794dbadfe11d39fc683fbb6ae288bbe18e9fbaee37dc3860f04ebbde908dbbccabbaba2ab75db956a961bb09e097bb7e031f39d1d72aba5214f7ba569390bb6c79f9ba9f6806ba087d5fbb23518abb6750dbba2e672cba23381cbbf97f56bbe4bf1ebb5d28e2bab88118bb3aa165bb40c750bad08a96b9a14a25bab8e1a0ba8f76b8bac9838f3adcbedb3af71ee93a31312cbb5ae9723ac3a2153b0a2f263b11575dbb60ab1539f3c10e3b06462d3bf8157dbb0defc3b90614133b9fe2393b19de77bbb84d8bba4283b53ac0ac0f3bc9ab84bbc5c3b5bacc56a63a3d602b3b063154bb32c7abba99037c3aef1fea3a8f5681bbd20523ba4be7783ae215cf3aa404bfbadd5c35ba2c8e3839c1d3253aec11173a21ad4e39e5cc213f4354c23e7f77553a129e113a9c860e3f42ddab3eab39bd390e00c3393369f43eb709943ed97473b8a98ccd38e4e9cb3ed9c5783e39ed7cbaacd661ba396ba23ed2b4463ea87e95ba851be3ba78e0733ef402173ec09aa9ba5f8506bbae38223e7decca3db0e92abbd7ac8abb15d39d3d3ee7513de03b70bafdc70ebb83cfd5b93590073b608b8c3a0c15763a0000000000000000fb6b2f3be665f83a00000000000000002def7e3bb980293b0000000000000000c53aa03bdefc593b00000000000000003d58903b346b483b00000000000000007f51b33ba5a08e3b00000000000000000a0e8f3bdeff523b0000000000000000cb336e3ba3bf303b0000000000000000c0620a3b050ceb3a0000000000000000795fb6ba214d34bb5f2714bb7d68fabaeae6f6baf8b03dbbbfcf36bb2320d2bab5e3baba2ae231bb36c13cbbca801abb3373f5ba6bb35abbbfda15bbf10338bb27c4b3baee1e0fbb8a5c10bb173a0bbbc851a6ba92061abb61d42dbb46e427bb3c233ebaa3c4eaba7ac609bb556e11bbeeb812baf6a33cbad17096ba1ad9d7ba32cc30ba39ed0ebaa94f53babbd68fba3eaa833a47e60a3bf65108ba77844cbb3ff4f2babac91bbacbce1dbbfec94ebb7f5a8dba3656cc389a9d3bbb63e471bb9294cdba86c1a4b97f755ebbbe298cbbc397abba7817b0b9bcb41fbbd00c3bbb482cdbba1ff5c4b980983abbf6f866bb41d1c4baa174a5b9cdcb17bbe60942bbf7b0b4ba23d411ba4a2dc3ba1a4a0dbbf8cc6ebaa92ab0b90f0f63badec3aabad46cf3ba8fe386394cf23d3b204a713ab01b01bb23d7cc3a8e4ec13abbb3f83ab7a152bb1c373eb96ca7f63aa188233b15277fbb550f63ba1cbeea3aa7312d3bc4d63bbbc9e47eba18d3033b281bec3a1ed96dbb6540baba5220973a4f65123b5aab44bb8f1eb6ba8b982e3a079bd73ac81a30bb2c21b7ba3986d03642b46e3aa6f8d2ba7ef261ba6a5b83b899fe493a26313e39e99aef380655013f276f013f4833ca3a972ce13a718ce33ec933e43e65c916398ccc093a8543c33eb549c43e45cdafb9a9dc883a960aa33ea780a43ee1a11dba4d60d2b989a3813ee465833e6cb288baa1f79ebab81a433e46da463e2ffdb1ba5560dcba846a013e9fe7043e9bcbceba8d4e1ebb3a5f7f3dae21873d76448abaa3e0f8ba3f2025babfa4f93abf64663ab140773a0000000000000000d8dc083b58d6f03a0000000000000000d2a1663b2988293b000000000000000026fa933b6d42583b000000000000000099b8663b45fc223b000000000000000026719f3bc3cb673b000000000000000018d9873bf9e54e3b000000000000000085074a3bc9c5153b00000000000000004ce90a3b2f7fcd3a00000000000000009d3421b9219c0dbb89781abbff14dcbae5acadba6be829bbfb0229bbb1faccba9f80f6bac84241bbbbd3a0ba8b053dbb7ce248bbe41791bb0b7d27bb6ea320bbdd4c3dba31d621bb4e0e1dbb485217bb2d62a0ba96ed89bb24d215bb53da1abbaaa413bb93ebb5ba941de1ba3edbfdbae82524b92a487bba76eea6ba1e1defbac1262237246fd1b9a75543baffde93ba4de23bbabf052639d952f0ba43ed17bbd0e684388d8eaeb98d0416bb07cf41bb2c71dabaed79edb91f6654bb5c3286bbc6b585baa45fa739f5ff44bb654879bbea12c1ba127ac2b9995332bb467c52bbf2d5d0bab2f7f8b9c60136bb759f61bb3610b2ba594596b925a709bbc48b34bbfaa0bcba550824ba66b8dcbaa16f16bb593085ba6f8d15ba2a003eba13c997baa513f4ba48e3173a0555c83a883ec83a82311abb2b85a73a5171c83afce5083b92d282bbf94a88ba9cefd03a9c42163b11387bbb91d698ba191a0e3b8be04b3b5a675bbb92adb8ba51e08e3ab309093baed66ebbe5a4dfba5013853a91f5133bf11848bb65a1e2ba5062053a51d9d43a9c1e38bb19d6e8bae71398b7239d8f3ae448d5ba4cc299ba8abe85b900a4ef39b7ee9b391c6f383a6c1fc23eddd0213f690df4b949d8a4398807ab3e0fc40e3febe5d7b8abf50f3adbcc923e155df53e94be3eb9016c0e3a7e72753edc54cd3e56ae39bad8729ab9642d433ee8bea33e90a594babcab86ba5080123ef85a773ee186b8ba5d8cd9bac096c13d5018253e1cb6e6ba1c021bbbabf43c3dd216a73d3a5facba81ddfaba7f45b6ba5d89c83a9c6a193a9a7b823a0000000000000000799e213b5552353b000000000000000078cf683ba6fb413b0000000000000000fcc09a3b5e96693b0000000000000000bee78f3b007e523b00000000000000009d76aa3b54f1803b0000000000000000bca2923bd132593b00000000000000007b0e7a3b2e43473b00000000000000004559103b2c76f23a0000000000000000df38413839fac9ba467e0fbbdff8e2ba9b2939bb6c651fbb59cc3abb0b1d19bb53590cbae0a216bbc6191fbb910f0abb6fd5dcbaa68455bbea496ebb53e06dbb2dfc81bacd95fcba41220dbb901d07bb41fa6db9873012bb48152abb62052dbb75e100badb769bba1697d1ba4060d7ba3f768db86c4c76bab9f0b5ba5993dcbafc6012b9edb02db9559d05ba0ad860ba437745ba4e9bb2b7d918dbba8a6007bb9962a0ba383354b8860136bbab015cbbcee9a4ba70fd8fb92ef82cbb548940bb2e1a35bb357acaba26c084bb587898bb73d6b5ba514630bab81223bb7bda35bbe89ffbba241a3aba83dd49bbf6f16abbbab8acba17bb19ba59c5fdbae35816bb570ac3baf4fd21ba95a7e0baca960abb2d3351ba8b58c2b9e45f35ba647181baa47315bbb7ddad3872b1ad3a0934ae3ac5ca70bbc8252bba5483e43ad419103b10a652bb1a1d8aba9f44b13a5823023b506a55bbc00c87ba0d140b3bc1a0453b491b4fbb212ed8badaab2e3ab88fdf3aa9e282bb9c4218bb6d4b003adef7e63abdff28bb673edbbaac6861391c42963aac6138bb0e8e01bb18c784b97f687e3a2b67c7bad13f9ebade1fc6b90850de39ba19f339e51c9e3ac9a3813e3f4e423f36b48139c456c53abbfb643ec2392b3fbfb451b9b1196a3ab9b3433eca6b123f1dc6dbba513ab23a72be243e1dd6f53eaa5e4fbaa4b32fb95524023ef077c33e1a1dd5ba174ca0baaad8c23d1c67933e46f8bebaf33db1ba75e07f3d5be0433e69ecfebaea420fbb876bf43cc527c63df1a0b1ba6537deba8e56ddba0b59923ad5850b3a1920ad3a00000000000000002a0c243b9d7f303b000000000000000085c4583b68713e3b0000000000000000b069b73bb4c3943b0000000000000000a6c9843b00eda23b0000000000000000b7d7e93b35ad793b00000000000000006401793bc95a363b00000000000000000e55763b7ad73f3b00000000000000008790053bed61d53a000000000000000057eb96ba1dd88bba86bfa6ba6bac5aba0794a1baf10305bbd05428bb2b071fbbb855acbadc9729bb11a534bbad263bbbaa62c9baa2ed0ebb90f719bb648416bbe989e1ba910f24bbafc42dbb39b231bbd1fe34ba63250fbbd9c735bbf10506bb7464e3b9c8c4a2badc38d2ba8498eeba5f5897ba1cf4ebb9bb283ebac6486cba7cff083ba5d516ba4a2b58ba5159b7babca41b3952bb743a31ef87bab49e4abbac9bc5ba30cf9ab9ce9e3bbba28e55bbf1af0aba849fbbbaeca258bb234370bb8adcdcba667832ba87ec43bbcf685dbb377f11bb0748a7baa5d149bbd32065bbd040d6bacf04f7b90e725bbb33573ebbe579debae44f48ba95340bbbb04924bbaa6ba5baf71b3eba760cc8ba8c02ecba5479efba0545d239a9a6b6ba71feb5bac1a66bbbc4488dbadbb1403ab058793a35988bbbfdd5ccbaae40bc3a61a8f53a45a5a0bb7cce43bb053d103b62c9453b3f2084bbc60d1cbb7a69693a9f9b023b012e84bbadd43cbb4f3213b94903493ba2f06ebba55829bb95636039eaedea3ae2794bbbf43222bb7523afb911ba963abd5d2cbbb52714bb255c28bab2e8433ab6bd0fbb37a11abbcacef3ba5306573a16e6feb9d98a883aa33a023e7beb623f06b2bf38eb1d023b3d10e83d6c97473f2ba19cbacba5e73997fec43da8452b3f1fe51abac1955a3acf07a63d6da10e3f1896c3ba2b0735ba9a55863dae59e43eee91c2bad7b062ba3b5b433d6e44ab3efaa5f3ba5ec6d2babfa0fa3c1ef8633e3a8709bb044203bbcf7c5f3c2c8ce43dece61abb7b101cbab0efb7bac5fe8c3aa5315a3a1170c83a0000000000000000dd114c3b6a05383b0000000000000000ade3a43b550e803b00000000000000007539a33bb7896f3b0000000000000000b80eca3bb0b3a03b00000000000000005870b63b0fab843b0000000000000000a4429a3bcc5e593b000000000000000001c17e3b8a2e373b0000000000000000cb62253b2079f73a000000000000000000000000000000000000000000000000bd7a24ba151a05bb076913bbf18108bb7ae2ddba45600cbb791dffba43cde6ba4a68a5ba1046e3ba815601bbf62000bb4bc504ba291e7abaaaf2a2baf8a6ceba996931ba26f079ba3a2ccdba34b3e3baefc7d6b9aa4083baf5cb95ba2eb0a8ba2f8fb039146021ba68f46bbac8d7a5ba00000000000000000000000000000000000000000000000000000000000000005fd1b4ba812cc5b9cba52bbbaa012ebbefcb9ebacbedcf37fd3029bbd46024bbbb43c8baf2452cbaa3d122bb754536bbb161b6ba5e1e24ba5ad0deba78b207bb1bb8bdba9b54efb97b22e9ba6dcd12bb6ed1a3ba63adc8b9f004e0ba491d00bbbe5ecbbabcb892baf4b9bbba6b14d1ba000000000000000000000000000000000000000000000000000000000000000069e065bb0d6ceeba4df1853a2189c13a506c49bb3cf5dbbabc61b23a396cdf39335159bb2c3f1ebbb798073a3398d43aa15540bb6f0819bb99201737787ea93a2d9b43bb1b671bbb9ae58eb99a69a13afd4b1fbb337018bbcb18f3b9542a783a3ade11bbc95723bb8bf5a3bab7007b39000000000000000000000000000000000000000000000000000000000000803fe6a992b8addaf83a195e343ba8f8623f863c41395260fa3adffd9d3af8b3423fee7b35bae9be2a3aa4da053bba15223fc9962eba03fa54b9951b833aa661013f1aa69fba66052cba8d4b8539f937c23ea1e9d3ba1607acba40b252ba665f813ee65b14bb015706bb193719bb03c3023e0000000000000000000000000000000000000000000000000000000000000000fb66473b4f6c183b0000000000000000f99c403b6c7b7c3b00000000000000009978973b00ba523b0000000000000000933a8a3b635e453b000000000000000028df923b18094c3b0000000000000000c85d873bbe1b373b000000000000000021a8ac3b39ec183b0000000000000000000000000000000000000000000000000000000000000000000000000000000092ae9ebb8732503c0e9a923cb010fe3b8eb1f2ba5598563cc6ea8c3c522f1b3cc137903a071a3b3c0b305c3cd237033c9eee873a2bf41c3c15173e3c47cef03bd431a7390cf1ca3b306a2c3c8a90cc3b4e4213baf79d743ba3e10f3c79389b3b567d9cba3ec962390e6ed53b19842f3b00000000000000000000000000000000000000000000000000000000000000001b30713bb51ebdba784ec53b252de7bced9a653b4a67d3b8c8af7c3b18d109bd9058913b1b4634b9b33a953997e30cbd756a8a3bdf25be390c95c839b779f0bc460b693b31c32c3a3b61963a2f93a3bc5146b43af4f593b90e472138c68504bcbd57833afd1858bac4cb22394599643b0000000000000000000000000000000000000000000000000000000000000000972808be1f27edbc7bc32fbbd63c883ab80e03bece160ebdcc21a5bb7e29fab95621e6bd0d3a12bdfbf0c9bba10195baac43c1bd48cd09bd0f31bdbb834857ba26289bbdc498e1bc4b5d32bb7a31edbab62d5bbda89d9dbc455b13399a928fb90619e1bcc18111bcce9a053bf186a4b70000000000000000000000000000000000000000000000000000803f000000008ef0413c30fc9abd02699e3f7e4d42bdef16e13b5d4440bd5c81833fd5d02ebcc915333bd3feedbca963543f57772e3ce37cbeb86264cabc8c73213f20669e3cb2c806ba9964c6bcd2c1e03e5703933c98abc63af87ec0bc42dd803e849f253ca1aa483bbf28e3bc59118f3d6bdfcd3a000000000000000000000000000000000000000000000000000000000000000062ac023cb1f400bb0000000000000000ac9fe23bb7e240b800000000000000004b049e3b4ded2b3a0000000000000000c8b1703bffe20e3b0000000000000000f80db9ba7d68fa3a000000000000000065b698bb7cc0093b0000000000000000e91d04bcf936203b00000000000000000000000000000000000000000000000074a0c4bb5c0afe3bd7d5eb3bc4b4a53b12c025bcc7d3603c71f1ba3ce294323cec22b0bb56d7823c9232c33c7847493c5c0d0ebb3712743ca1aaa03c410a503c45eff1384f1d353c46e87e3c2660223c819bd9badb47fe3be5a66a3c065c113c631521bb322e423b7d97413cd355e83beb4215bb55bcdcba06bfb63bd345263b5441b3bad82b47bb3cc1283b4ccb98ba7ab72b3b97bb0bbb8a563f3ca663abbc429d2d3b312900bb95d6823c437db0bc4d11c53b0d6e80ba67fc2c3cab9006bdea84a03be9e2f93997a6e63bb41109bd3ad9a13b6310363a5a558e3b4334e1bcd33f573b25fa20ba2b069e3b598684bca2ff3a3b898dedb9be304f3bc1e137bb3e66b9398bc7a6ba5efedcbad47f1c3c4821eab943b08bba2179b9b9631d483c2a239cbde81b16bcdf5d2cbc3275b63b05cd0fbe2708f8bc91aee9bb7ece8e3b97f816be24f837bdd3a730bc9e2fbe3a4d4b07be916641bddffc36bc79f3e3387c56dabd41ac2cbd666e16bcd0af70ba7b00b0bd3f9e0fbda813c1bbbc67413a140e73bd31e6ccbcfddc98ba3c09c8b71066c5bcbe6b17bc7611413bfab4913a0dbdceb968e7183b1872993b0ee7723add598c3cafcc0abeecfd9d3ffd67953dfa82ad3caaf815be622f973fc99f973d90f14e3cebbcd3bd6d9e813ff66ec83deb39f03bdd3c9dbd878b503f489dd33dbb70a63ba5816dbd853a1b3fe790c23d1ec9923bce1f59bd39a7d53e7e389d3d07b3df3b91dc3cbdacc66b3e50344e3d5ae9593cdb2604bd999c6a3d085b993cb3e91b3c9344fabcda3280bd21c5e0bb5ae399bcc30729b700000000000000005f8a98bcb9e6043a0000000000000000241d4dbc99f7353a00000000000000009b6435bcc4cd973a0000000000000000013728bc8a1b023b0000000000000000e1bd7cbcad6a353b00000000000000006a2a90bc1bd56b3b000000000000000007c776bc9943b73b00000000000000004c926abcaa217b3b0000000000000000bde350bb50c7d73b6bbdc43b98c1413b905ad9bbe5065d3c76636a3c7937223c7e630fbbb73f423cd9937c3c37e0263c293cd0babee3503c4ad38a3c1b42423cda7381ba800a153ce6624f3ccc87273c0ad4f2ba5beecd3b5d9c5b3cce0b0d3ca79bb4ba2858543b0c4a123c62d1c13b533d22bb6b7616b9db9eb13b6d07503b174a13bbcfc940bbb578cc3a2c948539eed38d3ad86623b89023373cd576c8bc8d78503b5edf9035d4e7603c0e13dfbc9d3da23be1309a3947b7053c615302bd7c31b73bfb699b3afe46063c780ff2bc8a147e3b82929e3a5e789f3bbfa6bbbc12b47f3b6c63873a17eade3b2a4b4fbc4032fc3abbc711395c1d703bff1849bb5df8603a7c3c04baaba651395a71023c81a91bba3a8288ba226a133b468c2e3cc36c53bd08ad8cbb607c6bbc4304833b0a56e3bd011c0abd1a0991bc9b7d9c3ba5ade1bdc05d36bd361a8abc9325ba3a5288ebbd846859bd4c5692bc7f94163aae02b9bdf20939bd256853bcb65d86ba4a079fbda6072abdc2eb24bce73d603ac23650bdef7fd6bcd606b5bbadf99a3ad051c8bcb8815bbce247aeb93749e33a4f5b89bab903b13a286e2d3b1c81fc3a578f843c365006bee91a843ff4ab843eebb6b53c94241bbec2c9823fb662833e801f463c5e4ecbbdcc6b573f2487803e8141263c8975bfbd0a9e363faa76663e9a6ddd3bff278dbd7fd1063fc3da3e3e4b8ae63bc1e887bd1085bc3e0cbd143e431fe13b144c5abdc0bb573eba64bf3d97c6643c821137bd3495753de3a2333d154a383c2463febc4a452dbdffc6f739d18a46bd2ae5573b000000000000000038ae49bdafdece3b0000000000000000c0e808bd293f8d3b0000000000000000e00ff0bc3a8f903b0000000000000000be6fb9bc793d8b3b000000000000000092bcd5bc2986873b0000000000000000054ab4bc5db1573b00000000000000004746d3bc07a8a63b0000000000000000b383a1bc73418a3b0000000000000000fa8f07badd4d943ba50f3c3b9c4e453bb8b971bb34e82d3c29b54c3c95af0a3cb1a1f9baaff2423cf6937e3c90613d3cd5518cbab71c2a3c7e126a3cc475413c54abb9b95de92e3cce88493cd1fb203cede5a8ba415cc43bdb7b3b3cd929173c6ec031bbf90d443b6c4d133cdc03e33be0f931bb3ba181b91251923bf02d523b1f110dbbea953eb9fc36943a3d22cd397a86d03a15f40a3a13c8053cda80c9bc85099f3b5c090b3aad7b4b3c1899e7bcd9bfdc3b0411bf3a96d1163cbc95e4bc7f27b63b3815013b7cbef03b5c8bc7bcf034933bec8b213b819aad3be7a0a6bc0ba5aa3b4574e3392e08a73b736738bcfd6d253b247a533a87e5ab3b67bd81ba47bd093b3b175ebabe1f653b9287db3bd2089337e71862bae707363b49cc153c09fa1fbdbac995bb429ca4bcba6b8c3b76bbb7bd5e6121bd50d7cdbc3231943b3e22d9bd7bff71bd2abcc8bc4dc82b3a589fc8bdf7c975bdb619b4bc3d753339cb5aacbde2645fbd822c96bc20d3abba9cf888bdbcad40bd604363bcf21a843975313ebd4d0b07bdc5da0bbc56c4973a2b9db0bcc7a988bcb79ffeba1453143b0c042cbbed5c0aba8d33f13a1676203b7448453c3fa1e3bdcdcb563f500ae73ed21a8f3c291508becb78543fc8b5e63eea5f513c2cd5ddbd23c9383fe538d43ec33a193c72ddb2bd4efb143f4b09b63e5bfcb33b78e092bd9945e13e2f7c943ebfaaf23bbbf181bdfb6e9b3e8f075d3e8dd7173cfff765bd7a4c2e3e1d440f3e7e543b3cea8337bde489563ddeeb823d178f013c536b0abd7068febcf1950c3b93c08fbd80aeb83b0000000000000000a2e39ebd4945253c0000000000000000798d71bdff691d3c0000000000000000232337bd6f99d53b0000000000000000a37311bd90cbb23b0000000000000000292f09bd5679b93b0000000000000000f91a03bd8080933b000000000000000076edffbc8d58c53b0000000000000000b240c0bcd5a7223b0000000000000000668d76ba5cba973be3f8f13a45157c3b179f09bbe74f0e3c0e2c203c379c1c3cbe7cbdbaeac80d3c764b5b3c3fd73f3cbb45b8babaae2a3cf2065d3c7b8d503c4897423a4b00c33b5c22023caedd033cd1c0dcb922cfcb3b0975193c02521a3c7175cfba9f89373b612ff03bbdcbbe3be7680fbb7f82893aa9a1803b65396b3bb614a3ba4d83bfba706c1e3a831e213ae909d63ab875ed3a1461f63b1b87b0bca6a8a13bd9a5f73acc411d3c21e6bebcf5ddce3b3bca463bbdf8b83b7c6ea7bc4813d53b5ce8083b0730c63b8e5ba4bc0f63583b11edea3ac9e52e3b855287bc3339a23bd1250b3b06d4b63b2e0a10bc6b5d513b5de7133a6c64853b795e34ba0dd0523abe80c4b76a4d403bd80e9a3bb891bbb9bcd249baf8ca603b2a61ec3bc2590fbd4edb0ebccf5fbbbca839193b72bf97bdbda443bdd1ceeebcd644763b9a3dadbd62e586bd437de0bc953000babfc4afbdedcd92bd9aa0dbbc81912eba11b876bde09250bdb4aa9dbca3cc80bab96b71bdcbb75cbd64438ebc6a15e535004617bd15d313bd81bc1dbc8f08b33afc1090bc8e4c93bcf1ac14bb96f22a3b8cd9a1baaa2db1badceff83a33b54d3ba4ef033cd8cfbbbd9e77253f5b00263f745a543cba5ad8bd504d203fd9af243fa495133c1f94a8bd9ef5093f2e74113fb03fde3b039598bda377e53e0163fa3e0dab483b4ae348bde620a63ea9a8ba3ee72da03b646269bdd38d6f3e7cf9913e1af5b63b61d93dbd280c053eed6b333e38470d3c4f1a1fbd9e4a173d1d92a33dab1ddd3b5399dbbc51bbedbcfb1c0a3b1ebcbcbd5daaf53b0000000000000000581ccabd305f533c0000000000000000df2b8cbd0e49213c0000000000000000e0b063bd87750a3c0000000000000000535ff8bc719e9a3b0000000000000000a8bc17bd38af993b0000000000000000384504bd83e7843b0000000000000000d7100bbd6974a43b00000000000000007ed5d6bc9ea6e03a0000000000000000d4bcb6ba4169813b4c2db53ad747a83b3eed1fbbadcec43bacd2303c882b403c34f21abb07f6e83bddf5703c31b9803c58ebe1bab490fe3bbd355c3cd8ce743c269b35ba507aee3b6ce1343c00f7523cc9be08bbd93fa33ba0a0173c42ab2d3cf1be30bb9b2c0c3bf3c7f43bad041c3c460039bb11c08b3a49ab023bee8fb63b301c97ba798b1aba05c00fba0632ae3a2bb01f3b367075393794d43b218f76bca363b33bb6220a3b823ced3beb0875bc83c1003c7a2ebd3af624c73ba48861bc292aea3b42875c3b895fa33b5df04dbc9d0ab23b96fc143bed0c783b32a71dbc9caab43b22bd053beba7893b22079cbb4ffd4d3ba2540a3a5ab89c3b5d2ab4b92a7b5a3a1620bbb9c17c3e3b8e45813b616f5bb937c78eba2827203bc7e1b43b008cfabca15f90bc7206c2bc5fa3773b08e481bd7a428abd774f04bd85928f3b752ba0bd4287b6bd0a4100bd136b02b9545197bd529bb1bdd37af9bcb7af25ba8d2785bd727c9bbd5b7dd1bca982a4ba34cf4abdc9db7cbd412ca8bc0ce30a3a129404bd4e7f38bd18ac49bc034ceb3a170441bce58badbc69b661bbfc817b3b114dc03af6e81abbfdcf2c3beaa1533b9386c53bfaab8cbd5a67e63e5580573f9d2d293cd91ea8bde228dd3e1ad8573f3a21013c93ec8bbd99b8c23e9a6d3f3f9446b63b48f06dbd5bf99e3eba151e3fe593903bae404ebda8e4743ec519f63ebb0f953b579334bd2adc243e8ebcb03e986dcb3b14971ebd7939af3d9a475a3ea5f9ed3bc087edbc8d71973c8088b33d9ccea83b8887a1bc43b5e7bc969ec4bbaf10e2bd20332d3c0000000000000000fc0cfebd8101913c0000000000000000656bbdbd0b28683c000000000000000007dd84bd17f1313c00000000000000001eb53cbd947d003c000000000000000014801ebd587ac93b0000000000000000820f15bd4a58943b0000000000000000de020ebd49318e3b0000000000000000dedcd7bcd552e83a00000000000000003f9091ba9a7b163a54b4883b5135e23b282955bbf0a8103b7124493c8d5a803cc370cebae033a43b2de8593c1fc4753c8c39f5ba7af7b03bb1b8713ca72a8a3c8bfba4ba1cac9e3b14d9303c2ee74b3cc587ecba1f6f893bd68c1c3cb11b453c71a7caba41dbc93a90ccc03b8ac2123c83212dba14d744b996e98e3ae09b8f3bba319abaeaff39bae4238eba8acb353be800343bc8b6583a2f038a3b94fec4bbb465033c8e704439f8d0be3b58a68bbb3df1ef3b06d7163bd166063bbb6fd7bb7c861e3c69f80c3b0bfa493bdbe49fbb7218e13b28e7183bc1ee2d3b183fc1bb5d3abd3bb879ce3ac6cf433bfb64dcba0c14893b6fa8d43634113e3b95b3b33a0060963a004f83bad087be3a1a4d423b549ab0bacb50cfbaf9d59b3a40b4663b59e0d5bc8d5611bd8cbbb7bc2e93a53b349c59bdd978c1bd12cd05bd9ea9b83bfed879bd5d23cbbda571fdbc57e2b2b915d982bdcd4cdabd8dbf0fbd914debbaec754cbd5b15abbd46b4e1bc8dcadaba54a826bd89bd96bd3495b7bcda378bb9c968cabc53e545bd3ea05fbcade2bc3a5f38c8bb60b7c1bce5c841bba4f8803b36969a3b8834d6ba85788a3bad718a3b72ec873b3a0d40bd40b1833e6d58843fedebdc3b4d9e56bdd737733e808f843fc2638d3bf5ab23bd6ae1613ed4bf5b3f72777b3bda4d1cbd46e4373e83ab3d3f59241f3b119d01bd54870b3e9e5a0d3ffc3e623bfd55f8bc2a5ab83d20b4cc3ecee9303b489accbc35053d3df7f6733e3ba49a3bb25189bc9556bc3a8175b43ddc40893bfc6714bc7a85debc336fbabcd35507bece2e723c0000000000000000eadb11be8e11b83c0000000000000000f0dca2bd773b633c000000000000000031ff86bd4d7d4f3c0000000000000000e4fc1dbd390d073c000000000000000098a70ebdc375c43b0000000000000000d9e3dabcabbc6f3b0000000000000000edc404bdb729ad3b0000000000000000c935d1bc76bd183b0000000000000000861987baad0539ba267a933b93a3113cf8f184bb56003bbb22515f3c6768bd3c69c358bb4bfa053ac3e1893c72d6bf3c9a3297bb3254783b230f843c7575ac3c63e6f6ba0a82863b7de3493c01637c3cdd0530bb01cbef3a26b11b3c69aa6f3c692c05bbe1a9a53a914a973b25fe453c3f2446ba440869ba949f84392400c93bd7041d3a6de68bbaa4aa0bbb182eb33a2a319b3bf28853bada7b033b5d47cd3ae1bc2a3cb767b8bab9550f3beb4c073cb0e0423c597df73aa5be093bc3098e3b9c3e293c349a343b9bb1463bc6974e3a269b0e3c2b2a343b6934a13a68b6133a8f19033c22db243b2db6e83afb7a233b6752863b3abe533a77a9c23a28bfc13a6554023b11580ebb37c29bb9f3fb843aa223a9baae9e11bafe2620ba4226093ba882ccbc611088bd4ff4a2bc8b0b8f3b89a414bde91906beec34f1bcdb8ee73b5deb54bde13411bec5261cbd099e8d39ca4356bd1d2602be875a1abd8db22bbb5edd33bd44b9d3bdc57b06bdb1c157bb27a2fdbc4c02afbdd33cd8bc896486ba1e747ebc98986cbde56481bcb9bcc83a212820398eb5cebca21d05bbd07d7f3b1cb8163c8a4e54bacbf6c63b32f0dc3a54db333a319192bc137a933dce2d9e3f535f9b3ada8d98bcee69613dbfd6973f46acba3a3a4a89bc1c63873df422833fe95d783a8c5189bc9f19793df6e3533fffd95a3ac33581bcfbb5443ded4c1f3f53e4e73a203f6fbc2b99d33cd64fde3eacf21b3bf0021ebc184e583bce587c3e564e7c3b0c262fbb1a101bbc8fd7943d2193e63ad48613ba47cdf6bc0f9350bd3d4f09bec14e8e3c00000000000000004c7f08be995da73c0000000000000000c7eda3bde1f3723c00000000000000007dfc35bda11d323c0000000000000000cd21b5bcbbdad63b0000000000000000242f8fbc99917f3b0000000000000000717c88bc6f8f153b00000000000000009060b6bc99fba63b0000000000000000a8d5b6bc9f51303b000000000000000000000000000000000000000000000000354636bb91628ab9f2455a3ce6b28b3c56b43fbb62caeb3ac0836e3c20d58c3c3c5cfab94ad13b3b91a5563c9292643cf962a5ba00f0853bdf26193c50ed453cf6be5ebac807043bca67f73b1275223c4fbb91ba173a6639ded38c3b9acf0b3c15fdbab9ae2ce2b915730f3a3fd5cb3b0000000000000000000000000000000000000000000000000000000000000000362a173c4192b1b8ad06b5398287ed3b71381f3c572d2c3b07acc7b98c9f9d3b8574063c1d4fcc3a1b19c838d860813afe15e23be23e163b3cb52aba8f5f893ac1c4b63b858ce13a6d1b443a32610d3b0f57a83b94a00c3ada65ff3967ec0e3b22ede33a0f38dfb92b57f2b9ed91143b0000000000000000000000000000000000000000000000000000000000000000219112bd310f07beb631e9bc5ea16eba753821bd376703be2a1a0abd4e5c52bb345923bd8864e7bd7ef60fbd0eefc1bb3a7107bd465fc2bd982506bd6c1a8abb4457b8bc17fe99bd9e61d4bc7b3352bbc91c1ebc35125ebd5e1c8fbcf6a163babf6a363b20e9e7bc901cb0bba856d23a000000000000000000000000000000000000000000000000000000000000803fcb12b1ba72ceef3b4a5380bdbf8e9e3f60c626ba384b503b26a012bdedb6833f0d13cab9744d2cb985fcadbc3205553f366f2fba27734ebb0d5c92bcae67223fd6a17fba138a5bbb42f4acbc369fe13ee90293380d2d1fbaa4a2bbbc6c78813efa988938955e393b986cf8bc3892953d000000000000000000000000000000000000000000000000000000000000000030f77bbd8da65f3c00000000000000000766bfbc2a752f3c00000000000000001e2e6c39c4e51d3c00000000000000009e2c213cc088e33b00000000000000009a9c313c626b6f3b0000000000000000a7fb903b18dba63a00000000000000004241d3bbfc29a0ba00000000000000000000000000000000000000000000000000000000000000000000000000000000a22880bb06b8413ca2286f3c9e00c83b74d8dbba2085503ca3cf743ccf23003ce08b34b90f99423cac2b523c109ff43b38b5863a77c9213c196d3f3c1237e13bb035d5b92dd1083ca119363c17a8c03b687305bb2e29883b3ed8193c332c823b1c3bf1ba3d1e45b9298ad83b7d27743b0000000000000000000000000000000000000000000000000000000000000000b92b833b9597fdb826ddfa3b31ba28bd23b7893b9ee24b3ad46baf3b10ca20bdfb1f813b4569493ac9e1403b8ec31fbd02fb783b22b6643a5e05da3ab7f204bdfafbdd3bd18080bab6107b3b9403c4bce92b733b73f3323a89d09e3b1b5d1cbcec75f83a5161c0b932619d3be430273b0000000000000000000000000000000000000000000000000000000000000000b159d5bdf0a1ecbc95654abc8b028a39bbb7d5bde9901abd8bdb4cbc180156bb6477c7bd843a1bbdaad752bc262076bba53eacbdba4b14bd5af549bc7c7a78bb6c5990bdb2f00cbdfe94d5bbe1d5c2bb04e84dbd4c0ac0bcd69ddebb23f611bbf2f4ebbcdf464dbcc145c6bae27119ba0000000000000000000000000000000000000000000000000000803f00000000019d583baab94bbd06c8953f316a0dbc87b22abbcddf0fbd4879793fa19db53c9017c8bb84e9e2bc5e1b4b3f6a83263de24f17bc2e50e6bc6f4e1c3f90b13b3d29c64abc13ffdebcea85dc3e1e8d193d972eb7bbcb3018bd2b9e853ea5bad83c1a234aba4a6934bd55ddbc3d1c11063c0000000000000000000000000000000000000000000000000000000000000000107c2c3c672bad390000000000000000ec52543ca95f9e3b0000000000000000ffab843c9509d03b0000000000000000ad787f3cf229f63b0000000000000000e86b5a3c0227033c00000000000000002300103b5a59b63b0000000000000000bf38d7bb1d2f8d3b000000000000000000000000000000000000000000000000993b7bbb1cbbd13b9c5fa83bd2e3173b594321bc31405f3c1372903c8c4c233cbe04e4bb9fcb7b3cf9659d3c6b0d503ca68374bb79f9633c5ece9b3cab06453cc6d60dbb4af53b3c0be47e3c3cc1303c4b8891bb33a8f13bdd7d7b3cc8061f3c483380bb13e84c3b5e3c473caaa0f73b5fdd6dbbc7ebd7ba04bfc93b2989353b47fedbba548439bbc8fb273beb8061ba573a403be4db5fb84a2d4b3cf2b104bd53cbbd3b187b3b3a8f9ca13c8fc90fbdb007e83b57b5013ac788723c8bc325bd629bdc3b83bcb63a1f3f383c2fd01abdc0dcaf3b9e697d3ae566083cb62ff6bca0e34e3b1fe0123b68dd333ca10988bc851c993bcc934339301a123c5ec597bb62cfe43a6a7fdfb97d48883b9f70153c742429b9b2ea9fb9379d533bad4c4b3c509b71bdf41decbbc99a5ebcb38e1c3b644de6bd506f0abd0581a4bce5b8273adc17fabd0ecb3abd77d9afbc66e064bbc180ebbdb28f4bbdbc9fadbc4fc5a6bb79dac2bd130b36bdd66191bc68adc0bbe1fea3bdbd5e25bd794781bc77070abbea3767bd5ba1f2bc526311bc1bfa6bbb0cd0d1bc276164bc174a6439d9ff823a11b179bb6421943a8395553be344803ae3e9143cc0c7c0bd0f5e953f1102da3d9a8b1d3c801dddbd28c38d3ff37dea3d14aa1fba03c5a2bd3f6c713f8df30a3e628b9dbb785c85bd2237433f89970c3e3b7203bc104468bd82c9123f681eff3d5bc0bdbbf70f77bdb73acf3ed5f3cf3df1abd4b914b774bda401713e8e658d3df129303ce9bf51bdaf86983dd293ea3c0ff9163c492532bd33d241bdd8a7a2b9a42ca0bcc3fc8b3a0000000000000000f16f5abcf493583b0000000000000000e01e71b88b3aa23b0000000000000000ee43983b77a2e43b0000000000000000a009cb3b4d2ef13b0000000000000000d3a27bba764da63b0000000000000000973c09bcf1f1c93b0000000000000000062293bc34cd8c3b0000000000000000020f9cbcf7a5553b0000000000000000b4f925bbdd7ad83bf67c503b275bc53ae2a5cdbb81f23d3c3797663c1b63023cb6980cbb503f3f3cff75593c50a2e53b2fc76bbbaa52473c66018a3c8178493c5da5deba4b7f183ca89b503ca1e0083cad9b83bb7a3dff3b17ed613c6651243c6cc62fbba28e233b02b7243c4326d83b597056bb0c9ec7ba8e12df3b0c28523b942027bb73951bbb02b7063b89b7bfb91a7e313b7543ee391a61503c8d79f2bc19d0b13b43a9aa3ae1d8863c01a816bdd1c0a83b4ee9923adcef163c678e11bd5914cc3b3aae123bdc50473c93e305bd685fa83b77edb63a05490c3c4197cbbc63e3c93b3a32963a00f8203cdc6356bcd6476a3b9f545d39eebd003c729e9cbbea3d193b761a11b91befce3ba2feee3b23a202b95fd53c38f4ba823b5208323cc37938bd288420bb9a4884bc29dfc23a147cc2bda16d00bdeb7dcebc39a222b99745bfbd89332bbd3561b2bc54ce41bbe9fad4bd37525cbdb39ecebc2b10dabbf86aa9bd558d3bbdd0dda2bc4c7eb4bbe95697bd457039bdae8a96bcc327b8bbc3614dbd94e8fabcb52b1dbc2a7e64bb1886c4bc838983bc41f884bb4bb64fba0d7741bb87eb30bac8ea043b36046a3a8d860d3c567fc5bd183c7b3fcfd18d3ec14a273caaa2eebde474753f4079903eff077a3a63009cbd94e7473fcc038b3e58a22dbb0e3da6bd575b2a3f6666803e1f2ca6bb682286bd3d5dfd3e29b3533ea47e35bbe4dc91bdbd10b43e65cf2a3ecd8b9d37ccf46cbd3036533e0758e33ddff5163c025a6dbd7b04873da282673d56bb3c3cdf2920bd5f0412bda8dab23b3e4723bdfa4bd73a00000000000000007edc11bda0c7cb3b00000000000000007d0963bc9bbbe23b000000000000000034a3d9bb7dd20e3c0000000000000000014265bab12f123c0000000000000000b193c8bb0b34023c00000000000000002d6a25bce53cec3b00000000000000001a3eabbc137fc13b00000000000000009b13a7bc5f1d9d3a00000000000000004c7808bacaabad3b4263af3ab671a23a185398bb94b2393c36c4343c6dfeeb3ba2ea76bb219e423cf59c7d3c025a343cefec85bbf60f2c3c3a62803c0ccd443c96be09bb498d2d3cb58e693ce3232d3cc4238bbbafc9b63bfa654a3c26f7223ca2ec8cbba3da443b8cf32c3c475ff53b857854bbe7e4c6bacebab93b1192223b152cfabaa27a06bb32c9163b6325b03848ae2a3bbb87823a95fc133cdf61eebc7c0b9e3b6339053be6057a3c69450dbdecbfda3b1e80253b8fe5503c044c06bda05cbc3bff432c3b067a463c0127d9bcf2e3ce3b2c96163b989c0c3c7c07b1bc4431c23b8132263b626f393c1d112fbc4bcc8f3be7d4d23a05b7203caff049ba834c873bf9cbe6b898b0d93b98ad0a3cc4cbaf39ee214f395d4e8b3b695d213cc4a51fbd0966aa39236f8ebcf30dea38931ba8bd156b07bdda62e6bcf0a5dbbacaafc6bd30445bbd6450efbc3bedc1bbe56cbebd16ae6ebdadcbd2bcc21900bc6403a7bdef3766bd6ee2ccbc622b06bc437085bd284a44bdb28da7bc2f84ecbbfaa63cbdb57918bd540f64bce0fb9bbb3273abbc8ef0a5bcb8be99bb6c6a8fba694433bb9a5884bb2bf96ab99655243ab2e3b33b38fda8bd560c4e3f7d18e83e4654fd3bfa68d6bd57ec473fda07e93e13de043b863ab5bda4132c3f9e2ed83e67a324bb6369a0bdd54e0b3f6861bb3e583d97bbdb0b8fbdd826d33ea5e19a3eb67f12bbebc38cbdd1fa913e8b976c3e209eaa3afe7884bd2212273e2ae41e3e1519063c783562bd9eaf4c3d574b9c3d7404f23b853017bd93f400bd1bf5293c95fa58bdf170d33a00000000000000009b055abd7aab123c00000000000000001572fbbc12062b3c00000000000000001be885bc5f6d323c000000000000000031aafdbba0ab303c000000000000000038731ebcda34163c0000000000000000ceda6dbc7784dd3b000000000000000062cabebc2b777c3b00000000000000008a079cbc7a4526b900000000000000000256b6b956849f3b72c4e73a71d9423a800d45bb0f32143c5b0f263c832ac53b71d03cbbf96a1a3c0007583cd8101e3c63c516bb7997203c77bd823c1a80303c2681153982ab003cb17a103c8086d13b3ac857bbc9f2c93b062c513cef32173ca3774fbbbc0f073ba7db093c28edeb3b28495dbb5467f1b98ed49a3b3ac6743b9f1a15bb8527f7ba4271133b4ac0433aedde5a3ba8d9de391d68f73be1d5c7bcf37cbb3b7530413b9b69493c9005e7bcb90bc63b5905223b6a73143c3273cdbc61d6f43b2708673bd2ed1e3cb16cbabc2f404d3b853f473a51c48a3bc4858bbc4713ec3b995df73a9ef5233c040d01bc1601833b9747eb3af9f5013ce85720ba3be0113ba488573ae5d9e03b026dd43bac4e3e3ae018ff39411acd3b6d52113c95901cbd7b052dbbe83c97bc135ee4ba633095bd525c19bd27caf7bc59667cbb8242a6bd4ff669bddff3f0bc2ebbeebbaa23adbdd3388bbdfd0ffebc426119bc8cf37bbdef2d4ebd6d31afbcc9bde3bbeb2c77bdc4eb65bd6d29bdbcb7af17bcf82719bdca1d1dbd14bc78bce77f9ebb34ce91bcfb3ab2bc70dfdabb9edb78ba0f945cbb2f5fa6bb3585e83a1aeb8ab8a108913bbafd8abd5068203f9571213fc0c06e3b82bcadbd0ecc193fd405203fb2c9453924ec8dbd8a7d023fcbff0d3f4b083ebb37b78dbd0feed73e2424f83e344ac7bb604e46bd062b9d3e5205ba3efc1165bbd32b7abdade05e3eb546963e977628b9cf7459bd7729f43d1bcc403e9c2ccc3be0893ebd15f1fb3c3214bf3daec3933be99705bd296905bd05ff1e3ca1708bbdde54973b0000000000000000bbbd86bd8705343c000000000000000040a910bd19ee3d3c00000000000000005431a2bc1a123d3c0000000000000000f34884ba8ae7353c000000000000000049350fbcaa691d3c0000000000000000ea2e32bc013cd03b0000000000000000707ba4bceec4063b00000000000000005884a2bc3eee58ba0000000000000000c37930baf0b4873b8d95d03a61ddfd3acd1486bb445cf73befcb2d3c4379143c566293bbed1e053cd3ac7e3c4cbd4f3ccb6e68bbec3bd63b1060723cacb0633cb1c54bbb60eee73b07e1693cb0874a3cc8e470bb9922723bbac43c3ccf19313c48e683bb9aafcb3ac9390c3c12340d3cfe8b22bb503c48bb92eca43be53f973ba53dc1bad9050ebb509bcf3a24621e3a58e8c83a1bc5003b803ed73bea868dbc9d0cde3b5fb8623b7e6b1f3cdbfd92bc3a4b053c5f2c863b5d19253c571c88bcffa9073c5aa76c3ba1d3113cc6214cbc4213ea3b3e885e3b2b9f023c1c1426bc8f3cda3bc0da6a3b38ac063c6d7059bb4769ad3b1bd3073b0f8e0e3c7a071a3be2ecf93a362db03abc0ec23b0e0a013c5d9c14ba2f403e3a25fa8d3b9be3de3b1b0718bddd4211bc093596bc7292aeba22e28cbd38365abd223509bda8c5a7bb39a0a3bd28d69abd6aba0fbdd4ae11bccaa19cbdd5579fbdf17409bd379239bc625a89bd56b093bdfd3bfdbc2edc38bcecd14abd35a17cbd86add0bcbdd90abc358e0abd8c5a3ebd0cc692bcf837a8bb70034abcf801ccbcd43ee0bb0dfe54ba5c837938778193bb9d4c223a45e1493acac1303bd9875ebd8c65e63e76774e3f72c7bd3bb4738fbdddfdda3e16244e3f43bfa6b929237cbdbe14bc3e0eba363f74f7d2bac1ce6abd90be973e02b9183fcd799cbb00ec56bdd80c653e4556f13ee19035bbedba50bd715c153eb11bb23ed54a123aefe53bbdab6d963d69ab643e13bba43b1c2117bdf10cfe3bfa39d33d9a03b43bfc87babcb53512bd1378553b0eb3a5bdb111a73b0000000000000000c624acbd1f707e3c0000000000000000d0be46bdba55693c000000000000000089e9d4bc671a6e3c00000000000000006b7f1cbcb206503c0000000000000000149e10bc486a193c000000000000000099314cbcc792b43b0000000000000000adcaa1bc12ad033b000000000000000013d899bc569147bb00000000000000000034c8ba2ad7ad3ad3ec543bc5ec593b3809b8bb9844863b01c24e3c7e21453cd0131bbb2d50963b5e43733c247a2e3cb25c97bb70a6bf3bd6c3883c1c46863c786869bb6d439e3b16b35c3c9c7d343cdc2c95bb339e463bd0e63c3c5389493cb6d623bb5841a83aacd5073c7697153ccd2c0bbbdb4e66babfb0243bfa5fa73bc24550baf37618bbeb04bbb9589a863a276d543bbf800f3b36c3c73b00a8f0bb4506f33bd19f813b19fd293ce4a0dabb6ab9db3b9a2e283bd44f993bbdc318bc3c2f073c71d2a73b6a7ddc3b8cdfcebb605ced3b5579713b2301ed3bca4bb0bb824ff73ba17d563b40e2f33b12ea983a2f796e3bec1fd63a6091923bb1200d3b5e063f3b1375d33914f6313b0ef7dc3ba1d404bae3dd27b8912fff3ab5b4c33b273c0fbd7106b8bccfd59ebcc1a5b5ba970581bd2ba394bd9c4c0fbd7d50aabb1f3a84bd676ea2bd915c05bd22e4febb86468abddc13c2bd33871dbdff814fbcdb165dbdd1a29dbdcffa04bdd7c930bc027030bdd7f390bdefb6eabcb53d1cbc916dd7bcbc8244bdcd0a95bc56119cbb782904bc4006dbbc1b8ef3bbd4be07395abbae3b315577bbf526383b0809213b3c98293bfa411ebd2fe78b3edfd97b3f428a583af6a147bd45b6803e4db2793fe16608ba08051cbd6492633e1b184e3f15021dbb104828bd068c343e0030343f6ad6aabbafa815bd5038033e04ff083f89bf01bb4f181dbd95b69d3d26c0ca3e7b41c2bab21501bd354c133d1d217b3ea845ae3b1344b7bc949e64bcfe16d73d8942a23b037b47bc58eb1abd00c91dbcff41c2bde650fa3b0000000000000000f629bebd67ad883c0000000000000000d94c16bd3cfd623c00000000000000002e61b1bce10d7e3c0000000000000000a2b32dbbfe604f3c0000000000000000a36b45bbca2d273c0000000000000000fdfa8abbd7eba73b00000000000000006e218fbc6014453a00000000000000004dd59bbc371358bb0000000000000000cc3514bbcae4df3987d4bc3b8820813b1aefc4bb312fcdbacf9e643c72158f3c6d3ad8bb8016db3a24d6903c0a8c9c3cc749b7bb496c413b502d843c75d49b3c7dca8cbbc508503bf515613c3505813c9ee294bb6d842d3a4e3f343c4b24723c19523abb18fc29bb6c95ee3b9dd6303c0caec6b9bbcd51bbe67d173985ebc73b99ffd5b8e5790dbb4dfcebba462ff33a4279913bd85be33a511e983b7c498d3901be133cb2219b3b6ecae83b119fe23bfbe3453c6335a53b7540e53b789f453b8e67503c55099b3be7cdcf3b6c1cea3a138f0c3c72079c3b1c6eb43b8f74793a9c6e163ce1d9913bac38be3b737a923b2d3dde3b80e12d3b8d1aa03bb458e53b0a7e2a3bea377a391105363a0ab8b13b272dedb9d10824b97a50fe39830bb03ba6781abd5a1b42bd5a41a8bcf459f1ba4d284fbd8a01cebdbad314bd6b56a8bba74c79bd29e4ecbd170032bdca6544bc69116dbda19ce3bdecdf33bd610759bcf5443dbd3d9cbfbd14ab20bdf3d652bc817d07bd9c78a3bdf5580bbdfbf025bc7c7492bc643f68bdaae3b8bc230295bb9a10f73a3190e2bc2caaf0bb1c9a0f3bd1d4173c55da91bb390f1a3b30835b3b818b3e3a53eb95bc40bbd43de695953f1eee163ab8f5bfbc3644aa3ddcd58e3f2e5dabbae2b0b4bc73c0a43da685753f84d96bbb9188bfbc6896873d012d483f75d28abb5e15c0bc28bd2f3d2005193f33d637bb6fcbc1bc7b0e753ca435db3e3ea17db9285996bcad7440bcb4c6833e09c25e3bdd75f1bb61b2f8bc9a2fc43d641d293b2e0842bb279835bde73802bd6633b9bdb93dff3b000000000000000083f4a3bdcbd1823c00000000000000002fd6f9bc0c64813c00000000000000007db927bb0d2f813c0000000000000000b53f5c3c48715c3c000000000000000069e9503cf35f0b3c0000000000000000cb6a4f3bfc4b913b0000000000000000a34644bcb15a28ba0000000000000000cee08ebcad4ba3bb0000000000000000000000000000000000000000000000000cc97ebbddd8583af8105e3c765b533ce2bb87bb668d133b021b773cd593753c91ce6dbb73388c3b82bc633c46b8633c61a5dfba79423b3b8a154d3c6dfd483cb53120bb13a4853a525c243c9bcc343c7b6018bb76141bbaec38aa3b6dab393c872544ba41fc16bbdcd8053b412fcc3b000000000000000000000000000000000000000000000000000000000000000050ade53bbd116b3b33d81d3b46b7b43bd15e183c55cb743b8214503bd093803bf8b5713b98dcef3babaa083b7da9443aaf42e33babf5293b3359133b741ea739ca82c43bc36b313b1a36613b47db503bdc13813b00fe4f3bbe98063bcae9aa3b371d4d3b54d84b3a0ddd773af7c6b13b0000000000000000000000000000000000000000000000000000000000000000f00240bd30dcd3bd03e505bddebf0bbc847042bddebbd8bdd8481cbd74213fbc268b2abd2eb8c2bd93ff31bdf18d78bc79fd16bd96dbaebdbaf116bdcf0348bce126cebcb5b792bd35e603bd0fea1dbc88fb3dbc96a45cbd0448bbbc8139d7bbbc2f343b9672f4bc07103ebc25a21b39000000000000000000000000000000000000000000000000000000000000803f997e9cba83c66cb9896c0cbdd0d7953f831770bb9b91abbbe5a0babc965b7a3f3f9906bb32b26abc00a3b9bc7d5e4d3fffc4b5bb862b45bc5c44acbcbf5f1d3fdc99a6bba4be4fbcba09efbcf478e03ed78df5bacc4a21bc42f80ebdf2ee873ebc087ab809eb6ebb42f23abd76c3bd3d0000000000000000000000000000000000000000000000000000000000000000b795cebc40f7513c0000000000000000c48f013c55d8803c0000000000000000f69d003da4127a3c00000000000000003bd4063d3b7d783c0000000000000000e271f53cde74303c0000000000000000b16e9e3c6a32a23b0000000000000000cb6c8c3aa92193ba00000000000000000000000000000000000000000000000000000000000000000000000000000000bd5f923b2b04f23bb984233b900589bb9e368f3b5ec20e3c2cb88d3b39631ebb92ae903bed21253c3ab9983b66264ebbc26e973be8a5f13b90c9913ba27cb8bab3d9313b3387153cad1cb73b5f26eaba13fb943a86d8a53b10a0e23bcb1a9e3a842706babae58b3b1524d43bb7a64c3b0000000000000000000000000000000000000000000000000000000000000000034085bb45fa16bb45e0e2bb4dc60ebd732465bbf10a41bbfe50e1bb441805bd2a12c3bb114985bb2d5bf7bb00aa04bdaa7afebb118d7ebbc699abbb5475e8bc49c65bbb0a0539bbaa0577bb2c18babc07de00bb39171bbbe13124b742bc76bc46da66babd88f5baf2352a3b0402efbb0000000000000000000000000000000000000000000000000000000000000000ea9e35bd776f58bc4c42a03990cd9d3b46c548bdb6c2a6bc1ea927bb67da8e3ba04e49bd945eafbcdaa0b1ba3bb7d63b331836bd48a1b0bc4f5f68bb7720c33b1a502bbd32d2b5bceb3681bb5ded793b3f12fdbc6797a0bc506ea4bb98fadd3a68e4b4bcb1ee72bc549a99bb6aca5e390000000000000000000000000000000000000000000000000000803f00000000c6e1bcbbba6d8fbb199c803f3db3cf3caa9d32bc352184bbba1f5a3f4cd1123d9a3674bc8c68edbbf363343fd4322f3d7c4d79bc52e919bc09f90d3f76612e3d21e190bc9fb98abc008cd13e5dcc1f3d050683bc4a8abcbc7744863e9ed4e53c0f3e74bc173bfebc2a8ef43daaec943c0000000000000000000000000000000000000000000000000000000000000000e061483c4181a33a0000000000000000f7969f3c3498a43b00000000000000009223ce3c7cd5023c00000000000000003a5bd33c5748183c00000000000000002a58cd3c643d293c0000000000000000af91a73c3e42083c0000000000000000d8d5643c25800e3c000000000000000000000000000000000000000000000000a6545d3bd7c1723bbc7ad9384f82e6bae9ff0a3b8748463c2cb4fc3ba9780ebabfbb743bd0c54a3ca78e0f3ca25703ba83a9933bf83e493c99981d3c499d8839253c263bce31353cc6eb1e3c0d3adfb9236e7a3a846a313c32a9313c09d8dc3ad45f24ba6753003c5837213c119b843b928c32bbc437253b9fabcc3b47aab53b43c212bbe75da2b97ab0ad3b4dcb813bbca7a8ba0c2514babd6a80bb167defbc1d4231bb25981dbb617a44bba1e222bd65f88abbec5a55bbc88ea3bbb6fe1ebdb733b7bbfb808abb74c6aebb9c7015bdfe56a7bb89a061bb42433bbb79e0fcbc592437bb478b5bbb3177c6381f42d0bca063c9b98a30eabaa6ec3a3bef897fbc1cbf4c3b26aa4eba9022dd3bbd7b83bbc546173b4d532a38ee7ce23b52cd923ad45cd3bcccbc10bb033f013aa614183b1f5f52bd5fef95bc82e1a2bbd856213b2a8675bd8974d2bc4670a5bbf3014d3beeb277bd711fedbc6eb501bcfa129e3b6e4758bd9df6e1bc0527c7bb61d1a73b54c543bd037befbc3f8bf6bb5ae4bf3a1c5c19bd58a1d1bc94b20cbc608491b978cab0bc82ea9cbc675409bc4dc5faba68b81dbc68bf19bc118997bb6836e6babf7d8ebbc7108fbc4207803fd1c2103ee0e512bce1d8c5bcd23d6c3fb7a8143e9dfe7fbc3450a7bce936493f9ded143e9b9b95bce214b2bc22cd253f4d1a0a3e8d97adbceb33b7bc07a0003fd977ed3d23a5b9bc1ba2fbbcafc9bd3e5cd2c23da8e89ebc2e1416bd9dac6f3e4b118a3decad1dbccc6627bda3a8cf3dd898153d9b2dd6bb4d6001bd3a5b71bcd279b63ac8d773bb1c4a59bb0000000000000000c800c93b35270e3b00000000000000007b08983c8647b23b00000000000000004f45d83c467e1e3c0000000000000000ec72e33cf5e21c3c00000000000000002dd6d63cbfb3313c0000000000000000d320ae3cc8c5303c000000000000000009ce1e3c2df6b43b00000000000000007476ce3b9e55cc3b00000000000000003e63c73aa72d8c3b87037e3b5d439cbb55f1533bb86f3a3c65c0c03b4c85a6ba35e4933b1786fb3b1d00803b02603fbb8959243b54875e3c07a42b3ce54a763a1186383bceb22a3c3657033c6f9f64ba42eaa7395f9c313c182d443cd79f383b702dfe384264e03bb82bc13b5bfacf3a2f2a09bb80d8543bfce0f53bc89e8a3b33d922bb08a695394e2f8f3bc44f523b611424bb8f7774bad8e1b639efa4f1bc368669bb218940bb200b69bbc2351abd4809b4bb5ad397bb9df883bb544600bd0eaeabbb82c785bb3c012dbb256611bd8e7bbfbbdb9294bb337853bb4d73e2bccf6a49bb74c588bb75ca933a60c1bcbcab3ffdbaabb73ebbe4c2233ba1d96cbcd6fc443addc5a7ba2545d43b9ea7a6bbc69ff63af05490b871e9cd3b0e01d73ad36eb5bcdbb0a2badc3755b907e02f3bf2f93abd042f85bcabf6a9bb1804333b23713cbd0d68a2bc1e0f45bb8d53bb3bce986bbd88b200bdca0f17bcb241793b940e3bbd911de5bcf1efecbb7a60823be8d93abd863100bd90de2abc598b8f3ac342f8bcc499b3bcf53016bca2e7313a06f3a3bc25958fbc81f201bc04d938bbc5e4b8bb4c68e7bb2f14a7bb525212bb8dffb93a7961cfbc144e5a3fb1c58e3ec11d2ebc8e2203bd35324b3ffddc8c3e5a9442bc808bb1bc51e3283fa4137b3e94afa8bc5e13f4bc1be00f3f2a12663eeabd97bcd450e3bc93b3dc3e57283a3edddfb2bc60df18bd2872a33e8cc6173e27b47abc4c6004bdd1e04e3e43f3c83d5a5b47bcddb127bdc0b6b23d71ff5f3df915a8bb1ba8f1bc279166bce079083cdbb81ebc30935fbb0000000000000000daaaa3391a399c3900000000000000003f0f463cc9cacf3b00000000000000004f0fc23c25601d3c0000000000000000e1cbd83c1c53323c000000000000000036c2d83c3cfd543c000000000000000069dc983c8c07333c0000000000000000eebe353cc5b1013c0000000000000000bb2f303b98390b3b00000000000000008894423bb4f98e3b9744aeb943ae29bb8b825b3b7951263c67a7983bbd0ad1ba95727c3bd49f453c0f4ee83b62a540ba3109183b1e7c473ca79f1e3c52c6cb3a4341443bccc3363ca75a123ca15e963a265ae73a5503b93bad0b473cd51f6e3bb41f87ba4670f43bbb6e2c3cd35c7f3b0aae19bbc16e483b7ee8e93b78a2983b4403e9ba46eae739292d813b3d805c3ba12504bba8ed3dba549799bb15e8b3bc4b0e8bbb5a00f6bac72b0ebb59490fbdb23db4bb8e75a6bbbc2a47bb83030ebdf28793bb74d6b5bbb4742bbbaffbfabc71fbc8bb46ffa5bbdf3b2abbbaf0d3bcb7af24bb5a7880bbfe36313b50849ebc2ad887bacfa548bbbee2843b64b655bc3a12383ab90cc0ba9b9adf3b30d474bbf82cbb3ab07fa4b932bab03be784a03a1dc0a0bcbf2b903915efc63831d1ab3a79b729bd02cc7cbc0980aabb6924e83ad41d4fbd1f88debcb32906bc3aa55e3bdf3058bd22a808bdf6ca28bc5c6e303b5ecf41bdd4f705bd7a031dbcd121d63adc3b2fbdf73606bd546148bc46388bba10a504bda101e0bc32ba42bc7ba0f1baa4d39bbc285e97bc0f8c06bcebd541bb7b2accbb8f98f1bb6f2eaebb413a7bbb4320e2bb6c6fb2bc52ea343f3af5d73eb7543fbc347302bd4e53283f4d2bcf3e03fc73bc0e2bf5bce49c103f6c3dba3e6bfd9abcfc4003bd9b61ee3eb014a13ec6eb9dbcd6a305bd3a23ba3ede69833e17f1a9bc4ccd1bbdc136873e6d9b4b3e642c94bce98821bdbd71283ec86a0b3ed43347bc753923bd236b8e3d6049923dfb99b6bb6fafddbc7ed661bc30d10d3ccb754dbc18907abb0000000000000000df8a8ebb356f1b3b0000000000000000b40e513cec15ef3b0000000000000000088bb43c71fe3d3c0000000000000000f52ad73c3bac4e3c0000000000000000de93d43c6a0c723c0000000000000000fd89aa3caad8523c0000000000000000c19d373cbb360a3c0000000000000000b0d5663b8607883b0000000000000000428f3f3bb9bf8d3b60707a3aff8c69bb6a11583baf891c3cd2ad8d3b5a9ed2ba197b263b79e6273c370ae33befc6c9376068343b6f41453c4872163cc195873ac480543b5f5e053c91eca93b60d2a4ba427a18b96f03293cb370273c94243d3b06d697bac3d0c03b939f083c5685893b04d1feba3b5f2e3b7213d13bff53983b008afabaa8d1ea3a19a85a3b611f3f3b8e698cbb54c13fba6c762ebb90dab1bc4547b5bbc57335bb290136bb10d3f3bc100e9fbb25e785bbdd636fbb9274e3bc94cbc7bb7c17a9bb7dc635bb41fed2bcaa61bbbb6b6cb2bb5fd34ebb1857a3bcf6101bbbed9187bb38f5943a927381bcf25d8cbab31c48bb9aef733bb86619bc5ee9853a4866b0ba730ac33b2ae91ebb3c92943a239d02baa986923bc1d7ba3a5fdeaabcef95ca3664a51fba31262c3b4b8f21bd6fd990bc1a7be9bb6f96073b80b43cbdff49edbc941f20bc9295143bd7ab4bbd275215bd6e9153bc0409a63a4be217bd4cace4bc51c913bcef25363b008f28bd6eed0abdac7a68bc50cf06ba389be6bcfebdd9bc3af853bc556a32bb42c78ebc57a994bcb2632dbca14b8dbb1f77c5bb9c43f3bb9298b1bbd8fc66bbbb2eb6bbf379a4bcb804103fbca5103ffb5925bcd74cdbbc6bcf043f19a3083f394568bce5f6cfbcf8c5e23eb3ecef3ea25596bc09fefabc76a8bc3ebf23cf3e885d8bbc3456cabc907a8f3e772aa03ef6dda0bc7ecd11bdfc36523ed7907f3e416989bc3ec70fbd2275003efd342b3e976035bc04b30fbd89b7493d6090b03d36bba4bb2d61c4bc212083bccb71053cdbd285bcf8d163bb0000000000000000e08fb4bb53bd253b00000000000000006d79273c6f27143c0000000000000000042eb13cfbc64a3c00000000000000000b0ec83c2dab6c3c0000000000000000dbb1d83cd534843c00000000000000008b4aa83cd4275d3c0000000000000000f31b403cd513183c0000000000000000e847583b73099b3b0000000000000000c03d063b9385943ba95b39b7d6ddf9ba2a7cce3a4dc71b3cb299bb3bae65b4394722013bdf75333c58850e3c3ce1e83ad2cec4394f8d2e3c7bee383c8c59703b7fc4dd3aa409313ceb470c3c54a3203bcaf596ba81530a3c6abc333c173bb33bf4c1b5baadbed43b0370123cbe57ac3bcd1967bbe027263b9c8be83b4545973b9c8dcfba724212b97fb6563ba5da743b281252bb6e7fcbba201307bb7aab94bcf1b379bbac0133bb24b5b0bad4cacbbc31959ebb5a6095bba09fbbbaf366c9bc2ef896bb5e6591bb93051ab8e04bb5bc98ce27bb4b6fb8bb9b1e32ba2e6697bc0123ebba4c217dbbc8fc283b893251bc41418cba088504bb55b1973b750102bc211e0b3a1ebcdeba07cbd43b867d0339c75af43aeb61693a57149c3bfe153e3b524bb5bc987478bb81793bbbe59cae3acae72bbdef4ac4bca8372dbceeee0c3a76ed46bdd68d16bde34967bcdfcfb3393fce49bdaace28bd854b88bc23956dba46ff2dbd46f31ebd236387bc48a909bb1e5019bd0e821abd1cb992bc6c865abb11eee0bc4ef0f6bc1a4284bc004597bb40747abc55549bbc40264bbc4e5ca7bb41b1c3bb2408ffbbee8dd1bb151084bbfa8694bb195f7cbcb166d63edcad353f58d823bc0b84c6bc15bbc53e5b4a2b3fd19c6dbce615d3bce2e9a93e284d163fa4ea96bc9e0ee8bc865b8b3e8163fd3ec94b95bcdc27f4bcadf9553e2f5ac93e963f9abcc52f0dbddc6a173eebe4983ed5277ebcc6950ebd7f74b03d671a4b3e600b17bcedfe01bd3662e33c6bd1c83dc34daebb6359adbc30a794bc5fc9cc3bf81798bca0b746bb00000000000000008fcf0bbc7eb38c3b000000000000000030162f3cf5902d3c0000000000000000b1deac3cfaaa803c0000000000000000970ee93c132a8e3c0000000000000000f173dc3cd13f8a3c000000000000000032b6ae3c77666f3c000000000000000064d23a3c6b9f1e3c000000000000000071cf2f3b4ceb6d3b0000000000000000bf801e3a795d953ba42cc53a88754cba8389b037a0ed1d3c2e75e93b280c173b318daa3a9335f13b58eae43b11bf1c3b5d93ef39ecc8353c309e353c2a25973b3e4330ba54660d3c4d570a3cda5d723b426016bb28361f3c6bc7323cd803d63baecaefb9f3706d3bad2eea3b6e2b9a3b48e917bb735b073b60fbaa3b6b68bd3b9bca05bb555280bae0090f3b98ef743b4c0817bb9883333a2ac90139659664bc42d445bb32ad1abbeb52bd390369a2bc7eb478bbe3588fbba5689cba56e993bcf71a4ebb6a369abb49c0d339e5ee96bc677425bb740a80bbf259c13afd6e5ebc3cf86cba22b05dbbb7994b3b50e321bc1cf444b95b310ebb6403f73af8549dbb56e5eb3acf8662b98f7eb73b7ad4c13a7083ec3a54bb523a09bb8b3b0520913b66fcc9bc11bd25bca0e7c8bb787a6d3ae9ef31bd3c4007bd62db72bc58c8dfba3ce221bd90c516bd8b566abccdc0353a9cc940bd8ab447bdcb86adbca72837bb222a1ebdecdb27bd50749abc638513bbd82911bd508e2cbdd845b2bc48c09bbb82a8bebc1a1de9bcd79072bcc8c9aabbb45367bc7fd0a7bceaae54bcab57a3bb3c0948bb4714d6bb90c3c8bba73d8dbb725784bbe9b84fbcfdde8c3edc4f5b3f9dc314bcb5039ebc0bbd813e4b854d3fa3b84bbc5dad9cbc04c85b3e92652c3f984e88bc4121d0bc6982353e2a1b153f75218ebce4fdcdbc54750a3ef437e83ef80b8fbcfbe5fcbc3061b83d5748b03ea92b45bccedbcebcd5044d3dbcb6623eb63c0bbca277e2bca2a8c23b7e4fe13def2d11bb492189bce7e9b5bc09b3b739379cb0bccc4965bb0000000000000000656301bc8f29b43b0000000000000000cd754c3c7f99383c00000000000000006372ce3c188f8d3c0000000000000000cabcea3c8430943c0000000000000000695bf23cb1ed9e3c000000000000000051c2a63cf297563c00000000000000007ec73b3c32bb013c000000000000000010f01fb7ca14273a0000000000000000a635fdb8ee91983bda605d3b1ad9a3393cd81bbb4f70003cc2b0173c3146c43b21d1e2bab02b2c3c3eaf4a3cf152a03b61dc18bb43f41a3ceb7c563c0f73053c8688f4b9de20023c301b313ce5a7c63b372d51bb65bcb93b353e4e3c314f003cfe9d25bb6c5d683b1dbe163ce166053cebbd6fbbf30056bae6399a3b62c3d83b08b5ddbaa791c7ba9afbfd3a409c7d3b5e7eebba9ce532bbb3b39839497337bc422da3ba178abd39f094313bb05249bcff93ceba79c479bbd16d4c3aa42d71bc5886c3b9cf2b8dbb42a4163b0b1f45bc550710bbba6178bba698cc3a184326bced64cc3a6bca62bb20719c3b317a90bbf348e33aa890bcba843bab3bd81f93ba6c7a473bad50ca3a914ccd3b14f2a83b27e8da3a8a4ba03a99ca923b85b8bd3b7b64e7bc00a4a8bc1e6a1bbc88b4c3390ed333bda94c37bdd73facbc075acabbd03e3ebdce1f5dbdf7e8c4bcf8af8ebb81c737bd813669bd9be3dabcafb3b8bbce5f14bd976d45bda6abcbbc21a29fbb2ec203bd963f3fbd02bfdcbc4077e1bbbf70b7bca68c16bd37e4b2bc1023efbbdf8822bc84a8abbc18e472bc1ef4f1bb500b10bb8c4df8bb6ad001bc24499fbb75cfb5bba8c2c3bbe4410a3e3ea4803f194c05bc90d447bc5113fb3d01846d3fdcc043bc59497ebc0459d93d107d4b3f5d4383bc418cacbc841fac3ddee1283fc09d7ebcb275b6bc57c7773d5865033f96e984bc95c5ddbc330c0e3d1d54c43ec23149bce8c0d5bc708a173cab737d3ecda8b3bbeafaaabcf4a58ebc59d0e63d829205bbc45b68bc6b77e5bc8e2f07bcb5c658bca5ba3dbb0000000000000000fccbc3ba23f00f3c0000000000000000116fad3c1016803c00000000000000007d7d073d28fbad3c0000000000000000ba190d3debf1b83c00000000000000009c180d3dc375ab3c00000000000000003156d23c849e873c000000000000000052511c3cf112ed3b0000000000000000b1e225ba7747023b00000000000000000000000000000000000000000000000028a0e4b9fd6ae63b30b2003c45ab1a3b19c138ba0447093cfe24253c62d7823ba4771cb918d1063c5972163c8d68773b2b9f61b9db4bf83b6fd9233c5941593b7b318cba42649b3babf92a3c8368e43bb451f3ba801d2b3bd18ce63ba4f8bc3b1c2bf5ba05e50f3a22759c3b685eb23b0000000000000000000000000000000000000000000000000000000000000000bf8967bb41cc24bb163baf3957a71dbc4ba58dbbcffdfeba0ebf193a339128bcdd8e5fbb19d39fbbd1df3d3a6c4b1dbc76a25abb406ca3bb539288396bb20cbc476cd0baf8e429bb9679863b19d1cfbb75ce5e3aa465a2baf3e2633bc422f6b9f0daef3ad1cb71397abf973b7ba8583b0000000000000000000000000000000000000000000000000000000000000000b99d1bbde53935bdec8889bcc57545bb19bd14bdad2447bd7cdda2bc1db588bb70b10abd1c3f46bd7fa5b9bc308468bb8ad6f0bcd4f82fbd7507afbc629d71bbdd8dd2bc44af26bdeb90b7bc61319cbb313486bcdac1fbbc666d9ebc615ababb0c3d12bc82faaabc4e657dbc2e60cebb000000000000000000000000000000000000000000000000000000000000803f745af6bb7179b3bb85ea8a3bbeef803fe27032bc816915bcae6b433bc9095b3fa60157bc7a1863bc8c0c3bb82126353f472462bcbc9b87bcf12d96bb32d40e3ff2a078bc8f44a4bcf06e52bc6675d33e95ae2cbc563b93bc853fa3bc15f2873e14b7eabb710c8cbc053debbc4eabf73d00000000000000000000000000000000000000000000000000000000000000001503643c6a03173c00000000000000006fb8de3cc662853c0000000000000000fef9103de2eca93c0000000000000000154a153d1602a53c0000000000000000b46b0a3dd889ac3c000000000000000065bdc63c6fbf7e3c00000000000000006adc463c90081c3c00000000000000000000000000000000000000000000000000000000000000000000000000000000d7d6edbb27b0373bfd88213d1f1c083ce2e49bbb1b908a3b1531123d38045c3c978bb7ba7a01b43b8883ec3cceac5f3c76e9a4ba24299a3b4f0fb43cd6965a3cef33323a39672c3b8f68693c4a7f1c3c12aa713add0b4db9534d243c9d0db53ba68c913a60bcb0b994831a3b2a5c273a0000000000000000000000000000000000000000000000000000000000000000461284b980e827bb23471f3bc332353c921cbf39a66435bb5ddfe23ad59fae3bf6f82f3bea760cbbe6ec49ba68f6d7bbc01f903b9bacfdba0bc569ba8622c9bb816b913b08b69ababeed60bb6f0cbcbbbfe91a3b4b07a5ba5b2a75bbcac41bbb6a14e63a2eb4a8ba7df0aabbdf2ec4ba000000000000000000000000000000000000000000000000000000000000000063bb52bea80b6dbc2255b93b53e63d3acd0148be0d85e3bc3a62893bc014203a14402ebead121abd0130f5bada08ab3848f509bef1c719bd70c265bbc7d81b3a036dc0bd518aebbc5a4f44bb3557bababb3952bd100793bcbf7952bbbc3de2b7af58f1bb16e4dbbba35219b9f34058390000000000000000000000000000000000000000000000000000803f00000000084ea93c1ab905be1824ad3ffc25d5bd5d91543c08c9bcbd557c8e3fcb8734bd166a203c18ce8ebdc817693f90064abc25bab13bd61e58bde9b42c3f2e87b03b8292f43bb70b0bbd5a73e03e16c36d3c4abd7c3b19dc2bbcba815d3ea1ec893cb4b06b3b6fe78e3b3b80d33b49831b3c000000000000000000000000000000000000000000000000000000000000000075f8693c0925a6bb00000000000000004f02d53bc05d58bb00000000000000000f25033ca6b9f2ba00000000000000007799f73b58c9e9ba00000000000000003595d13b3c0706bb000000000000000063a9c13b90192fbb0000000000000000193f603bab6e53ba0000000000000000000000000000000000000000000000002fef06bc841aa9b99a75b53cc547de3a6bc010bc73780cbbd18c203d2973053c9cb8cdbbf79f7e3be48f1c3d3617753c723587bb4501b93bf2500a3d12878f3c232070b8db58953b5b42bc3cfe205a3c0790bb39909f5f3ba54c963c954b2a3c7175913957d9413b91910e3c303ed13b0b069b3ab1bf303b2d1a0a3b7d15e739292534b9552a6db9c8aa6dbb9c223bbba4171fbb78fb2aba69e7a63bee2b6a3c983c4bbb915d01bbe5965dba11800f3d8a36923a668826bbba5e3e3a5a3f7d3c53b0f03a54c999bbf2dcc2385fd8a63bb9088c3bf07da1ba442168bb893e913a0da8fa3a1b53a7baf6d6d0bb8e3af63a81c91c3b4a332eba8ab2c2bbe10a4dbbf96f023b1f2b03bafd5bfdbb292dd7bb23136d3a2ae0bcb8a13cbbbbe9140d3b2b64ffbdefa98e3b8c77783a2994d13abdd344be0477efbb1f9d293b765f0a3b9a0451be750217bd530a3fbac1ce0b3b06d338be60963dbdccf63bbb60a77f3b73c40dbe5f7136bda095e4bbc1e8c7385cc1c9bd4ccb13bd7433c6bbc521d03a88054abd06f6c0bcc349b7bbfc6add3ad164a5bb869850bc667a8abb5c8bbd3a9eeaa43c04596b3b3a31cb38951e6f3985f02a3d12895bbe0459ac3f7325743cd636343deb5157be65059e3f46fc123d29c6003d4dd92cbe30468c3ffd91873db117ca3ce60f08be4a02623fcc58a83d7e67a93c94a9c4bdb056253fa4b9b93d336f7d3ce2fc70bd50a9d13efa6ea13dbb88283cca03b1bc7342403eee0c793d46647d3b6b64853c6f3d163c58f9273db6b4ab3b9f5e1e3c0023efbd658f003bebc1a7bcd3869c3b0000000000000000855dadbc80bd5a3b000000000000000077d0b3bca1ad113b00000000000000001bf297bc9c7a0b3b0000000000000000729789bc8333013b000000000000000097044ebc08943b3b0000000000000000f1eb12bc760de33900000000000000005519a0bba1651c3a00000000000000001bd174bb6a61c73a000000000000000093a1ebbb8706a83a21ab5f3ca1c45c3b3c1e12bcdd706a3bce91dc3c59ff583c6c86e0bbe38dc13bb77eef3cfe3e9a3cbc137fbbdb28a43b36fcdc3c81ec9b3cc71ecebab928e83bc1f48b3c3493783c30b2e0baabb1883ba0565b3c9335323c3479beba73676d3b2d9efe3b686ace3b22f692ba4049783bae562a3a0444a53a4cdba5ba569abb3a2dc666bb11ee33bb39e2e0babf70cfbaa2a0e53b7b96e83bd7aa2c3abc2773bbadcd6c3bb0cc893cd386c43a2d632ebbdb587c3bb114d43bb6c97a3b456e20bb019598b8a21bb03bc27d9f3bb07ad5bacbe8a3baf13da6ba4d10a93bb916adbaa36f74bb936e0a3aec48783b068cb4ba5c90a0bbfe4101ba1371003b058e8bbacbe8b8bb4bc453ba74c2a83a5a3f8ab9b088afbbc0cd203b5ebcaabd888f383ace59f7bb16c6c53be6111ebeec4d11bd16ca85bb50ebc03b432228bef3f975bdd761f6bb1b479d3b43a61abeb3f088bde0c118bc463e863b1bb2e6bda70369bd95dd4fbc0d3f383b4d1ea4bdb3c741bd773d47bcbd3a553be7d228bd1cc5f5bc72fd08bca36a273a014b0dbc9ee342bca62884bb7661b63a09535a3c7456953b894f77bab83d59b9d2bc2d3d745d59be05068f3fead36c3e1315453df2786abe0f4b8d3fcb7b713ee196153df2603cbe7627743fdedd7b3ee95af73c900819bed0f6443f73b16a3e80a4ab3c343fd6bd8f940d3f2b3d4b3ed3429e3cc09a92bd63cab43e0493223ea3217c3ccda71fbd06872a3e535bd53da9befd3ba72c90bb97a24e3c1b574c3d951bd63b32abb53b57dc9ebd23264abadaa58cbde5a74d3c0000000000000000c90091bdafc36d3c00000000000000006b9f75bd8a64373c0000000000000000212f54bd9426193c0000000000000000265013bdef45ee3b0000000000000000dbbf01bd20efd93b000000000000000070c2bbbce4e4e43b0000000000000000f73860bcddec813b0000000000000000c63a21bc63f2803b00000000000000008924b7bbf3641a3ba369063c226dda3b62fe00bc97868a3b2143a13cbf50923cb091b9bb70ada03b5d9ac03c3941b13c8a7944bb16dbce3bf1c8913cb6d7b13c199c29bbb1e9b63b362c843cb7b98b3c34248bba7f118d3becac153c34c44c3cf408ceba87a8a43b05c8873b5df2cd3b879697ba378b3d3b3d6d273a4e55023bc034f0ba6946003b7ea8f2ba954f31bbaf41b1ba4f4de3ba06d9ec3ba503b7bade5f9b3ac85a2ebb494e9f3b4cb4213cb8cfbd3bf18c83bb9104b03abf47e43bddb6d33ba4d456bb8a92a53a9dbb103b5c7d063c1218e0ba930127bbf65fe93a37c8f43b2a62b3baa8b12cbb09c13e3982ca9e3ba631a1bad55588bbbeb3afb8a8f8233b55c0ba39ac56b8bbb112f53854cc34b81d6e76baed940bbb05131d3b88a382bdab4c6cbcfe4335bc4891123ce85af7bd6e7d79bd1d8301bc23b1d23b315507be0f72b0bd0bfc5bbca123033c9513f2bdef9aafbdb08193bc8205eb3b28ccc2bd4d82a5bd374698bc65e7993b06b182bd605472bd33cd74bcc85a863acd5609bdf15a15bddd8c2bbc2449fe3a50c503bc8b446dbc94d8adbbeb641cba7520e53bbb1ee03bb5b8ac3ae2d5ac3aa9c31a3d2e6346be7f346d3fa9e1eb3e8705393de21059befb2b663f3f2af03e37e2123d443232be287f463ffebae43e6609d73ca0640bbe62b21d3f3d20cb3e908ec83cd3f4d4bd9421e53e3b62a83e0bf6903c71708cbd2bcf903e0399743e61a06f3c37721cbdfdb5063eb9a7163ec95b3e3c27a94bbc26f1753c54b66b3d914afd3b4cad9abb01c777bd4c7942bcd295f7bd01dcbc3c0000000000000000982800beb5e3d23c0000000000000000e58fd6bdd80da33c0000000000000000e18ca6bd86ee7c3c00000000000000005e1a82bdd354673c0000000000000000095341bd83694c3c0000000000000000200607bd82692f3c0000000000000000d9c798bc6c7bff3b0000000000000000dbc193bc3a65f93b0000000000000000929badbb503ce13aa604f33b75ebea3b372582bb2b08b53a51ff653ccfe29c3c1feb88bbfbba943b80207e3ce572c33c1d1f31bba2d39b3b11b5833c58b6bc3c69eba6ba3523d83bd0f21c3c0530713c8db3e5ba8e82a63b5430fc3b478e593ceb4779ba8bfa823baea1293bba96f23ba41a12bb6dfea03b01397cbafd34c83afa8268ba5bf8103bedf246bb94556abb1937d0b9eafad7ba9847dd3b0ae5fbbaed9ce23b21d2a0bbea1b283bb648c43bc8d7e23b838057bb152a2e3b06c7113bb55b213c53fe1cbb4d0eecb92067753aec8dc93bb51cbe37c6122eb7594c83bbf58dff3b50335bbad9363abb2835ad37bf4a8b3b518e8bb97df033bbfb383bbab136ed3ab50351ba95af1bbb5b6ababad3a02a3b8efef2ba9d062dbb486da03abcfd43bd6dbbdcbc08f770bc7e79223c336eabbd4311b6bdd6f26abc0f9a2b3c01b5c4bdda0bdabdbe6fa9bcd073023c5d42b7bdb1eae7bdd5efbfbca037d53b5dd886bd4857a6bdc9f8b2bcb79f8c3a7ab34bbdf6e994bd49efa5bc6e65443bd5abd5bcc89828bd06092fbce40e9239bc9b0abc72c537bcb187cdbb1054a8393bce183c702c773b4e21433b09ee863932c60c3d257c28beb7af323ff977333f26a3113dc8182dbe6cc9293f7fe3343f2456eb3c8d340cbe2e65113fe8b2253f74fad63cfd70ebbd8818e83e5c90103f90256e3c186f98bd8729a43e29bcd93e6274993c943679bdcffb543e86d8a23e9032503cb3b513bd44ecce3dbe0f373e0e301a3c0ecb4fbcfe03783c381e743d4586183c083904bcb9cf32bd84afbabc2b7f28bec6b5f83c0000000000000000cfb72cbea412053d0000000000000000efa406be734ad03c00000000000000002c0be3bdbecbbd3c000000000000000067c184bda6dc743c0000000000000000c40179bd95c78c3c0000000000000000ca4f1bbd7833403c00000000000000005de6b7bcfcab383c00000000000000001409a8bceedfd33b0000000000000000578b4fbbdc5ac23ad01f2a3b0b81453cf21875bb1e82f6392768173c71f2d33ca16f41bb72214b3bf621473c5c20ef3cc98514bbbcfc9c3bf8c03e3c190fd33c4e73d2ba61d6733bab0c2b3c1719aa3c4532d0ba3badbd3b6ab88d3b10e6653c3177b3ba0397973b66755c3be8e6063cfe94d0bafcf0a13b88ef9eba9103013b3655c7ba482b253b6e3482bb64c631bba875f13a70a350bb2ab9963b7a0e76bbe6b0943b30a6a8bbd401483beaaa433bd1271d3cc05d8fbb592427b864d5093bcf1d233cdd2357bb72e1f7bac30b7fba9c2c303c6a46fcbaa02dbdb9e25dbcb99f47113c8321c3baf53f04bbfa2740bb424da93b6e54bdba5fafceba050883bb5458c63a11accfb8647910bbd09528bb95f5cbb9653663ba2df7cabac048ad3ab923ecbc26a444bd324267bcd4c3393c1fca4dbde77ff2bdd3196fbc41903a3c540c81bd9a1a14be1e5ea2bc1909183cee3072bd4f5908beb105c5bcf56dc63b017d54bdd4dee8bd2dfad8bc62d3aa3bc8ca0cbdd915a8bdd4cd99bcfd98893afcfbb1bc74bc3bbd6ec246bce7cf7db8ce3fdcbb60ba4abcd4eda0bb4db23bba5572783b1a95363c8300053b09e0063ad007c13c9c18ebbdc552eb3e2de56d3f23b3d93cc9d1fabd734cd93ec5e16f3f09c7b53cf754cdbd41cab93ef896593f2414963c019ba0bdc3e5913ed934363fb34c6f3cc6b57fbd35af553e82150e3fef06593cd91631bd6b900b3e483ac03e14e72a3cf28cd7bcd279943d4c6b513e36f30b3c5dfe5dbc1ec58e3c970e623d43f7933bab9075bb1477d1bc1bf526bd96ac4abe24a9123d0000000000000000d0fd53bee4282c3d000000000000000073c029be3297063d000000000000000047f7fdbdd4e2d73c00000000000000001cf8bcbd8b2eb83c0000000000000000b7477fbdf974943c00000000000000004eb622bd9a0a803c0000000000000000481fb5bca36a4f3c000000000000000051afabbc73f70a3c0000000000000000bc977abac4f73bbbea11a4b904d47c3c88aab1baa9ce4cbaba5d9f3b71abf33c710f62bb37c91d3abd38243c8585093d2f5100bb69eb2d3bf24b173cf983f53c5357c6ba8cfc6f3b1e4c043c6557b03c6aa0b8ba7c5f673badcd9c3b5f77973c832e03bbb189a33bb9fde83a5f181c3cd492e8baf668843bc3e78b37f755043b50c5a1ba57045b3b03d241bb3691c7ba7a6112b7c77e81bba0232f3b059f2fbaa270dc3b0b2ab0bb64b6aa397d9153ba685d393c9a0fa9bbbffa343a0b46c93aa3d3413c2a047cbb320ae1b97fd5b1bacd61363c4934f0baf192c6ba2e1e11bb452b143c61e5e1ba6ec3d5ba5aae47bb1c32a53b63a1c8ba9815f8b9d13571bb4d480e3b99854eba435932b9783733bbf69034398dd39eba5ece1a3a7aec30bb20eac3bbce408bbd8753c7bb8d262f3c19c993bcd1521dbe2912f5bb6fca203c752b12bd3ca02cbe3415bdbcf1b70c3c731f10bd5b0e26be1624d2bc13a8e13bf06402bd411bfebd0f3edfbc1637473bda09cbbcaefbc2bd3258b6bc80e4d83a7a3b79bccbde4dbdb77646bc767a92b992c00cbc7df259bc4b2ca7bb1685deba717edd3af2d7423ccb47213ba75902ba78096b3c952e88bd92eb6a3e3e8e8f3f6e30843c8eec85bd88cb4b3e567c903f6e2e523c65ad5dbd19d9303e3c7b803ffa033a3c6ff02fbd6a58093e50d3573fd0a7103c51a707bd99a7d03d8969203f940b273c7100d1bc445f8f3d535adb3ee88ee23b6be18abcb390233d19c8613e7216ab3b727826bca382ba3c7ff6343deba5853b0b4cc4bbbf5c83bb1a8c7ebd03ea5dbee272293d0000000000000000190861be2258393d00000000000000004c8026be937a013d0000000000000000544603be04dcde3c00000000000000007b07a3bdd1a5a43c00000000000000003fff67bdae2a9a3c000000000000000092cd07bdf725683c000000000000000074a845bc955b193c000000000000000080fe41bc3e3b1b3c00000000000000002fe5063acee70ebb6bf821bb9322b43c68cb61b8aaaa39bb0e1b85bbd2f12b3d01fed5ba09f40dba7293683be8072c3d7f74d7ba0431e0b75606b23b0623163d82ecc6ba3a72523b5f2db83b9751e03c3f1acbba31ea7c3b75fb003bc299a63c38b2f7bab001933b9ead803ab25f453cc99cf7bad5598a3b2262a83ae33a2f3b6b5e9abacd3a193b16d91dbb8dc21dbbec3ad93a9a0dadbb360b8d3a95c2d2ba6ec5b23bd3dffbbb0c98e63901c690bb5d20293c8c4badbb6d0a1ebae894aab9f810553ceb0f2ebbd22085baa321313a01c6453cd14dcabad1e31cbb676020bb5db61f3ce981acba6d27a7bab8af67bbd140a13bf619d0b9525c9039b5fb99bbf3f4bb3a91ce093a364d6d3aec1770bbe8b1f2ba703d0cbac6f8d73a1e2a2dbb86a30c3c08eeefbd6ffd423a74a0043c86aa973c9e0543bef881b13bb826f63b5e2887bbe41655be84a587bc6fef073c86fd45bc090341beb361d5bca4e6903bae2c81bcde7816be1ab6e2bc04142c3a851f4bbcef1dd6bdd8f9b6bc2a2c90397f7732bc052a6bbd8f0654bccdbde5ba8a2961bcc0fd06bc48b0f0bbaf0c81bbd16d9039edd7a13c2f2f883baa313cba652b8f3babbf92bc779c8d3cee2dac3f66d6a93b9e2e71bcf8610c3cebcb9f3f6c349e3b959b55bc0780213c26dd8f3f926f8e3bba834ebc1d21173c39d66b3f73e3b73be07a11bccc8b243ce0942f3f98d69b3bda2bd5bb7e666f3c48dbe43e7607963bc3b5e5bbfc45a53c9378603e00423e3b9a430bbc8e9c0d3d7e97d43c5309443af585bfba65d9f03b85a9e1bde94f5cbe49ec233d0000000000000000520347be1dee1b3d0000000000000000101a10be5428d03c00000000000000006671c3bd1fe1a53c00000000000000001e116cbdc0e2883c0000000000000000d166febc9dc34a3c0000000000000000cc1b25bcf6651b3c00000000000000005969173ca967db3b0000000000000000acb98cbba148993b00000000000000000000000000000000000000000000000064d80eba8e148dbb2c5c503bbb17223d46a5e4badb5717bb0a947b3b286b173dfd53deba540b253ae674e33bff4bf13c996860bab40df5392256c83b51bcbf3ca8b3e5ba70be033b11317b3be82a8d3cde180dbb598c453b6200073a25b0243c606b03baf550f43afaf9a2ba18b74a3b0000000000000000000000000000000000000000000000000000000000000000e9180d3c8438a4bbf2674239b132503b6a32553cf3c652bbfa9927ba9cb12c3bfe685d3c2366b3baec64b8babf82d4395e501b3c75f0c339ff81fdb9f18f9bba3fb0103cfc925e3ae43e1f3a1a7e71bb350a883b92f53d3a29be313a32c287bbbd82833a93721639bb35813acc338bbb00000000000000000000000000000000000000000000000000000000000000001d47213ceb1156bed5271ebc6b7f9f3bf7476d3b769a49bef673bbbc3b05ec3ab8d919bc744e31be327a04bd682d9eba454703bcea160ebe6ab303bd965d36bbb1ccb4bb50f2c6bdaa30cabcdfd28ebb07a6b3bb8aa957bdc0287abc1c8c53bb478c37bb66b903bc8e3ab0bb11bbfaba000000000000000000000000000000000000000000000000000000000000803f991b91bbf00e943cc862ffbdb644ad3f47390cba02772f3c901bb1bdfdc88e3f4ea2d93934e5da3ba4f686bd229d6a3f1ce36d3979dfd83b85fd50bd79ad2e3fa54aa4b92e57aa3bb80c0cbdd17ce23e4e0b193a639cc23b153926bc4f23613eea2f663abe16823b32b89d3b87fccd3b0000000000000000000000000000000000000000000000000000000000000000c526e1bd4fe0873c0000000000000000011c5ebd1cc84a3c00000000000000007313afbcb2680d3c0000000000000000966fa5399aca103c00000000000000008997173c8980de3b0000000000000000a2e46f3c7791a53b00000000000000008ecd353cde19103b00000000000000000000000000000000000000000000000000000000000000000000000000000000d36adbbb5ea512bb3ff4db3c40829c3c9c41d3bb320208bb095dc53c8fefb63c07b88ebb0a02fbb9184da43c3c4ab03c80d446bbbbc249ba092d803c1421963c4822c4bae4b306bbb1472a3c27ac533ce8e564b972fa7dbaea89b73be90edf3b3f33cf3adf990abb84e3043a62c22d3b0000000000000000000000000000000000000000000000000000000000000000a8d0a73bbfec45bb597db03b4c1b943cc3f7183c33b044bbed79fe3bf854963c24d73a3c01770dbbf925933b25943b3c2d5c3b3cb93b30ba0ec2733b6668283c436c1e3cf04c6c38f5faaa391c883c3c550ce43b1219bbbaeee806bb60c6073c027b0e3b01519439b67c8ebbc930ba3b0000000000000000000000000000000000000000000000000000000000000000cbb631beacad47bd6c61c0ba7ed5163bf06622be7cba88bd112047bc8774353b052e0bbe20e297bdc1c5a7bcd5a8cb39d191dabd478e87bde312c5bc3064d7b9f91695bdfa5b5abd62089abcebfe08bb06b423bd755f01bd58d259bc8e5e7dbae52702bc9e9b00bc031d8abbbef4c4ba0000000000000000000000000000000000000000000000000000803f0000000029ef6a3cc2e212be4a4eaa3ff78980bdcd6b913b104bfcbd005f8b3f64c6503c9a7949baf277dcbd0cef5f3fc6c0773d825db8babb98c4bda88d253f53f59a3d64fc72baffd69fbdf07dd83ed9d2903d6f13d53a8c063dbd00265b3e53964b3d9db98c3bc4ad92bc5216733c8c568a3c00000000000000000000000000000000000000000000000000000000000000003b635c3c7512c0bb00000000000000008ec36f3c9d6c8abb000000000000000083cd9b3cff8e46bb00000000000000008afba63c30aa0bbb00000000000000007e69903cdcb7b53a0000000000000000e8396a3c73b70d3b0000000000000000dd7fef3b03f11d3b000000000000000000000000000000000000000000000000c840aebbc95624bb14d87c3c0689043c174df2bbde4208bc6769d73cdaaa993ca0c6dcbba617b0bb6b56d23cbcb8d73c51b2c7bb5cef51bb32f39d3cb027da3c9e5358bb91012cbb0142743cc7f9a63c82b8bbba42cc32bb3ff61a3c1840753c5f3b11b7bafdbfba1c24983bb6d7153c10b9783ab0a8ac3a959a563ad5b3c13a1a3fc83ab7ee4e3964f419bb112e24bb606bf6395b2d27bb700f393b6a138e3c1a63923b5ac180bba2d64eb9715a4e3d5b4f263c8bb363bbb0e0763b0cda0e3d969a583ca8eb70bbc3afa53b7a7ae53c918c613ceecc8abab57e00391aebb93cf476383c12f419ba64b731bbe674a03c0316df3b521ce539e1a7cdbb36964a3c30dd053b4b20e2392010d5bbd36b88ba8ec1f0ba253568b9053cbebb437646ba2122eabd5da025bcd7ad6bba5e5d963bd07d2bbe9bae37bdeb98e2ba4769483bfa072bbe92a7a0bd85c689bc2c3a963b583611bec956b0bdcc08dbbc0d718f3b757ed7bdaa3d9dbd38e6fbbce58d63397f4c91bd2bc16dbd73add2bcda6bd4ba213710bde40e18bd4c657bbc66c164bb068c4fbba29d5bbca08ac4bb376f25bbfece843c93530f3c4d33853b05cf00395e82123d591750beb510aa3fa1f6133d1a6c173d447671be13759e3f425a893d6569bf3cf59f4abe2184873f79720b3e9c9f843cf88e2cbefe6e553ffd222c3e37f64b3c7e990abe1517193f51cf2c3e7b744e3c2741cdbd27c6be3e265d133ef082263c8b0858bd43952a3eceb6cf3dacc4f83ad865043c234b47bbadcb4f3d2bc7c33b0ce3353c4d37e3bd647fa0bbf5bedcbc035d303b000000000000000064e1b2bc7352613b0000000000000000956c79bc8be8be3900000000000000000b25d5bb9f6a983a0000000000000000ec8cea3aba025d3b0000000000000000250ce03aff1c953b0000000000000000beb5643a0072b63b00000000000000008068623bb7217b3b0000000000000000cb2d03bc14f4413b0000000000000000edc08dbb8d1e63bbee34283cfcf5ef3ba087c1bbb2c1b4bb72b6a33c402d963c21ebe1bbecde62bb01e39f3c5c9ac43ce7af9bbb75ac53bb79308a3cd151c73c8d8a0ebb1a7e44bb50d1493c50ab8a3ce73b19bb936801bb49ed053c537f613c0a4323ba82d3b2ba475d823b1bbde63bf20987b823458e3a4c1fcc399ab62e3bb8a97d3a0b4f833a67d1f4ba85c550bb18139d3ab43c17bb64e58c3b472e863cf0f3033c2f3387bbaf58aa39a976153d7587693cd3d935bb172baa3b99f2d53c8121823c7a3926bb9e04f43a007fdf3c96f16e3c1029143a297947baa1ba963c035e583c1d3fe8b9fe994abb0b33923c9ed5f93b46724d3ad94180bb1914273c71a0123bdbcfe53914feb3bb0e23ec3a37f56dbab8b428bae97dcdbb9d1b36b9ea87a7bd421c10bc7a0918bcab79e23bd2160cbe9e9576bd870b78bcc658043ca14608be0391b0bde05d03bd1508ae3b731eeebdbc0cc3bdafa416bdc9ee913b318ca8bd8fd7a5bdb8f914bda84701bbcdd561bd8fe78abdf5bffcbccc368aba1690d3bc013323bded43a3bc4bab29bbea561cbb62de72bcc902c5bbce4252bb3449483c4354c93b073ba03bc3a51dba7fda143da8d153be850f8e3fe9bc803e65d32c3dad6b7bbeb24e8a3fe265913ecf5ccc3c9e7949bec7b0643f18c1a23e30deb93c279337be8fde343fe679a13ed4d1773cadf206be7705fc3ec9088d3e5277843c5b77cebd029c9a3e0252663e9bf6513cf08f72bd57360a3e86ce143e44bfa63b3c04efbb422006bcccce873d8acfe93b58635e3c2c4faebd4737f5ba66ad9abd21de2f3c0000000000000000772992bdec3f473c0000000000000000b3d937bd54ddbf3b0000000000000000c3e70bbd1b110a3c0000000000000000029783bca1ae203c0000000000000000ffe161bc58ce293c00000000000000002f4737bc0be5203c00000000000000000daf05bca89f103c000000000000000094ee82bc40ccdb3b00000000000000004e2478bb997ef0bae0ce003c431be43b08dba8bb8850a8bb4287763c23e5973c021899bb234bc8bbf40e7d3c0e02c43cc11c80bbaaa48fbb950e4c3c586ebd3c6e0050bb49c53cbba9981a3cea4a9d3c1d7f8cba62be1dbb8aaab23be6065c3cadd53aba265e70ba936c413b52badc3b15cbdeb990d7b93a7d5c8cbab5269e3a73413c39277d9e3acc57beba20102cbb3ef4643bad704ebbd653bb3b29b6113c7c994d3c49f2a1bb2da5cc3a04d9fe3c7a688c3c2ad638bb7368833be8aaef3ce7c08f3c459cbdb9a591b03a2df1ce3cd3748c3c1f24893a454821b96329b53cf04c6b3c8a0c91396f6770bb58aa803c64f8053c41022d3a6f8376bb6d4e093c61d08b3b7b5a0a3939219dbb3933853adb1b04bbcc37b936b48160bbd9c0c4baf2d391bd105069bc6a338bbce007323c9b58debdf0fa97bd2059e6bcf2322f3c0707dfbd8a59d3bd762723bd2588053c5ea8b6bda2bad8bdea1939bd93e20a3b192e88bd5717c1bd9c423fbd9e551cbbcb2020bd38ec92bdcf3a12bd955732bb12497fbce58837bd0891b3bcaa6e8cbb7f680a3b472189bcf42af7bb294c7abb400c2f3c593dd73bc8ae993b3f5a04baf3dff13cbc543ebea2216a3ff9d0f53e18b81b3db5bf65be4d6c5f3fb545033f4032d73cf88844bee32b393f5ea3023f23a2ab3c5db421bebe580c3f6dddef3ecffb8a3c59af03be6a2ac13ea799cc3ee6137e3cf204b5bd0cb35e3ec3ab993e56ec433c15c84ebdc6f7a93d2306443e47351a3cae882abc02c48cbc4f3fa33d215a003cf0d8c63b350c9bbd0d5a87bb209ef4bd4adc7f3c0000000000000000af86f2bd331aac3c0000000000000000e7ddacbd42e4783c0000000000000000a3046abda2987d3c000000000000000084340abd4e4d7d3c00000000000000006053ccbcfcad843c00000000000000001f2390bcf005713c0000000000000000cba88cbcb1e2713c000000000000000026f1bdbc8159023c00000000000000009d5a38bb3eea53bb07fce73b7c6c093c9ddf72bb1a96c5bbe853353c4df89d3cb1d589bbd7e877bbc37c313c593fc43c15f346bbcd3aa6bb86161f3c7362c23c3a55eabac69911bb3f150c3c22fe713cac5c86ba065268bbfda6923b8dc14e3c86e1cfba0b789fb909bc623ab0edef3b4fb98bb9f581e63addea86ba4118033b35a7deb9e7c9e83a4061dcba090b11bb8851883b060c72bb9dfda43b1c3e0b3ccf07543ceb655dbb4e7f293bd681c73c162a8e3c7e1b77ba328f0b3b4797b63c8a27ae3ca73c46ba6ff00a3aad6bc13c190a733cca56163bd7a34b3ac02c573cd9286e3cc41b2c3b50fc24bb86c7613c2e620e3c4e4e253be6535fbac29bbd3bda14273b34df1a39adb993bba7e2ec3ad1c59aba7abab5bac24a23bb665a51bb4a256ebdb27cc0bceb03b9bc30b8503cd1fda2bd15ebb7bdd30a0ebd2bf8333cc1099ebd9279e9bdcddd43bdb613993b655b87bd9210f5bdc9ea5fbd2d71bc3a958c47bdf677b3bd9f5742bd00c0b0bb730ecebc04219fbdde872cbd74a7babb41e918bc6d3938bd7283ddbc2aedcabbcecb923a613880bc333fdebbde7377bb9988383c3bdcc93bf3ddc13be81b3a3afc6acc3c0f6f1fbe3eeb313fe470353f01a3ef3cc52439be924f243f9aa33d3fee5f9b3c9cc919be775c043f8a3b313ffff9953caf5308be4bbfc53e39201f3ffddde73b98b2babde1eb853eb259ef3e7df7683c2ad297bd11de0b3e7f3bbd3eddf71f3c138427bdaa093d3da24b5f3e1696d93b4b8906bc6b67bdbc6352ad3d6f2b083c0958c53b2ecf85bdec5450bc16ee21be5d6da73c0000000000000000a3b221be8972f23c00000000000000001192d0bdeff6ac3c0000000000000000546b95bd8a50a93c0000000000000000bd9ec4bc2850933c0000000000000000ca84e0bc6dc69d3c000000000000000051cc8abce171963c0000000000000000e204a4bc136c833c0000000000000000f29dd7bc42ec1c3c0000000000000000db12beba540d52bbb6f1a03baa0e0c3c9f3421bbff93c6bbe68bb73bf060b43cc0a52dbb0a03d3bb3535f33b9ba9db3cae9435bb545690bb7c57c93be6e4c33ce44603bb210672bb0d31873b81af9e3cb553b2ba284ed8ba7cf51f3b0679563c672f7fbaf1cc47b7fae0db39ad32f93b8b855cb96b42a83a31478cba0c82183bd98f5ab9ff9f153b5e56cfba192639bb9c76873b85fa44bb07e0173b7122103c8b8a863c8c71aebb1722d2384d59ae3cd406a63c0451b7ba45f69eb82bd6b53cc74cb03ce01222b8758757b996519d3c53a79f3ccb2b4e3b619d15bbf3f7853c5114743caa2c083b5915fdbad6b90f3c9803083cd5cb1d3bd05732bb9ebc853bc3dc3d3b43765b3a6429e9ba942b6ebb3fb4abbae12e29bab7b4f4ba979f7fbbf27132bd16d512bd5ffcbabc4cf3413c328d48bdc675e4bdb6ec17bd8f834c3cad0d4dbd686c0dbeb2275dbd21b0ad3bf44023bd07a905be8abb6dbdcb8e3439aebde6bc1ef5e1bde3c26dbd1553ddbb3c4656bc1c7aa5bd715933bd7c7bf7bb6ac40ebb507947bdbe62d5bc2a18f2bb868bad3be0dc8bbcf0def5bb34e6aabbc4b10a3cb635013c37c4a43baeaad5b9355e9d3c19d2eabdf395ef3ec1796d3f8359b43ce6f807be48bfcf3eef15753f71e2933cce0ee9bdb3fba23e0b19613f76ce4f3c4dc9c1bdae0d653e07d53f3f1dd8583cdca19bbdb2930d3e1f33173f9256223c18a04bbde3a6833d77f1d33ef75f173c3824e2bc0bcb093cddd8743e3593a13b036fbebae55fdabc4c3da43d72e58b3b9ef92d3cd8d653bd4dedcfbc0ff840be78e6dd3c0000000000000000978e41be1532113d000000000000000034c602be2df6eb3c0000000000000000741ea3bdb307cc3c0000000000000000de0a26bd02a2c03c0000000000000000fe16aebc6b98ab3c0000000000000000cc626cbc689e9f3c00000000000000008e757dbca49f8d3c0000000000000000ec18d7bc150c2c3c000000000000000058ed5939590a8dbb905ccc398d1d1f3caf1f86b96a8ccebb9560ed3af182c03c5b1607bbdcfacdbbe7779c3b2a14ce3cb52373ba656fb4bb814e213ba62bcf3c2d5aafbafec90cbb0e04423b3a8b913cd9fad2ba7835a3ba622e7939669c643c961843bad87bc039a289acbac0cdef3ba2199bba380b143b594587babd29023befa6bf39911afd3a514375baf579e6bae84ffb3b3fe49dbb93fc163a8f1f063cd2248e3ce8f5a1bbad85b4ba632e753c98f4b93cf66856bae23a99b90314923c48e8b43c6736093bef00d4bae280863cf9aca03c11777b3bae46a2bad8ed263c0b167a3c53ff543bc7548abae523be3b159b173c3434253bb2ace9ba0fe8b93a7e50473bdf072d3af1bebe39d71e94bb8b581abb04a487ba08501d3852c5c2bbae6995bc241a6abd1b1489bc659a5f3ce29094bc31d30abe0a9d1bbd10362e3ca44dd6bc908217be35be63bd2362153b896784bcada716be1c4881bd34710bbbf2ad4bbcd1eae7bd05736ebdc6ad23bcd92ab1ba26adb0bda9ed41bd832b0cbccd61433bb37349bd8d09e0bc4c4c0cbcd89d953bf05a84bc73d405bc99edc4bb8e0a883b45ea1e3cd494053c877bddb9c7e2353c3d9c8dbd4a85773e1c298f3fa261593c0d429abd5806383e6275923f5cb6fb3ba4c582bd789f0e3e1fbc7f3f1aca073c513068bdf3d99c3de9325b3f0dc1a53b82d62ebd727a223d0eae233f3147cc3bb93de3bc30ea27bb44e2e53e2787dd3b0fd359bc5060b3bc17a77c3e70bdd23aed80f93a68fdb5bcc83f8c3d5d2df9391bd83f3c27a9e0bc0ee942bd1c7956be73f3033d0000000000000000196d4bbe6aa2233d0000000000000000cf7ae1bdda18d93c00000000000000002aff91bd2093d63c0000000000000000e5ebaabc44a8c23c0000000000000000d1de18bc6211b43c00000000000000008ca557bb9905a33c0000000000000000bdfa03bc7eb68b3c00000000000000003055a7bcc6aa143c0000000000000000cb9a343afcd9a3bb1827e8ba4df2833cfff1073b083bedbb1889e1bbcf51f03c81d773ba9adcd6bb5f7809bbc189ff3cfb5c91ba0ab0a4bbee9b7eba7c34db3c60349fba4be670bb7d8acab914a2a53cef3b7dba30dd8abac69e53bad1e9543c540059ba3add1b3a6cc806bb87cc093c80fd84ba19682e3b44c05ab90ddde83a952ce5b90306403be542a5ba8a8129bbc842173cdddedabbf87a20380ae3f83bbc86983c7b22b9bbe5a22ebbf54f033c546bcd3cf15cccba6d1487badfdd383c2c95d23cd6fe563b9784c6ba6f70323c63baa63c8b2d9c3b3ad5d2baa086083c6f17833c25688c3b293e8cbaf9e1623a1bc9303c2b2d123bbd7b293a4d3978bbc9b33e3bed299a3a897d103bc6e4f5bb355c38bbbf0fa3ba2e47673af3a1ebbb4cde70bbc9e5cbbd44d162bcdbeb483cf168c33ca1ba2bbe3f7a00bd394d313ce058273ca64838beda5971bd27843f3b23d6f93b4f8823be697d8dbdbc4bebbba058e53b7441ffbdc4a081bd3d4938bc2fe54c3cb1d1b7bd04d64bbda44333bcb35c133c3d1e4abdf42af5bc7b2131bc3b2c9bb982c24bbce26c0cbcffafe7bbef67653bf5b0723cc802293cb69bbd39a32a103b904d9dbcce7fef3c3371aa3f145f583be8b99abc9671cebc5df8a23f1dda3b3b6a2ab5bcbef607bdc8d58f3f03486a3b772cafbc02bc3dbd8e246a3fb4447a3bcd2891bcdfa253bd240d2e3f97324e3b9d4604bc52d660bd92e6e73edea5173bde0b97ba75d01dbdecd26e3e9e3b14ba77c3b23be0e25ebbd3cc263d31cd8bba18c53f3c045140bc1e16bbbd51e34ebe759def3c00000000000000000e3b37be3a95133d00000000000000006a00babdf892c13c0000000000000000710be6bc445aaf3c00000000000000006a531f3c45cea43c0000000000000000ec6ac43c9e1b903c00000000000000001741a03cfb2e893c000000000000000061a7333cbe78863c000000000000000017ae85bc158daf3b0000000000000000000000000000000000000000000000002b59c4b99fefe4bb0eef1dbb4829f63c527a75badbf3c4bb5ab1b8ba4111dd3c877aa7ba731f9dbb116b393a5db5be3c398f01badd7a48bbcc37133a37f58d3ca683b938a80debbaecf8ddbaa424473c961142ba95adbc3a677816bbe477f13b17fd9fb928f4c63acb03d6bae1aca73a00000000000000000000000000000000000000000000000000000000000000002bf69f3c68272abb99a405ba962c443cf6aab73cec140c3b3453c4b95fa33e3c8b77b13cc9a1a33b187accbacff4473c99579a3ce902d83bea9e4cbb64ca053c336d693c9070ce3b3259b3bab56a5e3b213e003c5cea783ba6a2b1baa86101bb5692e23a662dcf3a14e9423a94eedfbb0000000000000000000000000000000000000000000000000000000000000000b6de5f3cab6538bec0b327bd1374443b4fb5883c6b852bbef3e673bd5bc1d1bb2689e63bb2a516bed19a8abd02b168bc167f103c7272edbd8efb80bd567693bcac783e3cf336a7bdff1c4dbd67e987bc5e3a363c763642bdf3a8f1bc3a2437bcc4bcf63b87e711bc45e8e0bb47adadbb000000000000000000000000000000000000000000000000000000000000803f04739dbb8d3f2c3cb6230bbefcfdaa3f9fa82bbb24e3333adfcbf6bdbde28c3fe3e990ba331a85bb8a21dcbdd23d643f1efda03aef0341bb7225cbbd4e332a3f39e5d93ac0461b3ac785afbd202de03eb83f7e3aae97e33bf46268bd1ffa653ec2449139214b343cd179dabc769c993c000000000000000000000000000000000000000000000000000000000000000076909dbd97c7683c0000000000000000a7a085bb4cac7c3c00000000000000007b682c3d974b933c00000000000000001b35773d5b20963c00000000000000004b65743de3448a3c00000000000000005c77343d16ed693c0000000000000000bef18c3c988cf93b000000000000000000000000000000000000000000000000000000000000000000000000000000004a608dbb48c46fbb4a7f7a3ca9dd9a3ca3eba0bb311e9abb5d1f5b3cff3abb3cb99058bbafb575bbe474213c4f7ec13c97d740bbc43682bbc8e1f93bc8a4a33c0b1a20bb20f48abb0c6fa53b69e8753c78be8aba1a817cbb12028ab935541e3c44b0c0b8b37ef8ba317a1dbb6e4d1e3b00000000000000000000000000000000000000000000000000000000000000008a6a033c630c50bb5d7f783c887f16bcfca7433c8953f7ba32168d3c9352beb887a75e3c81c722bbb680653c70e3643b2cd8613c462075ba5717603c2a3dba3be0b46b3c5c6e43bae66a313cc4e92b3c6f45463c100fb23a2267e73b5b6c3e3cbdccdc3ba6d6ea3aa8ff713a7f57313c000000000000000000000000000000000000000000000000000000000000000015fedfbd9fbf85bd85f27abc0587143cd711d0bd3627a8bde096e6bcc227e13bc6a4bbbd52d7afbd0d550ebd61c2c83b39b993bdfc50a2bd64b918bdb3493f3b60744ebd61b583bd954d1cbd6403ba3ae548dcbc106c37bdc3ace9bc784135bbb10477bbb6cd94bc7c4c81bce96437bb0000000000000000000000000000000000000000000000000000803f00000000ddb987bc23c68bbd5ef1953fbd1d253dc65bc7bc98769abdd88f783f17d6ae3dbcc5febc51539fbd6417483f1b92e73dd66df1bc2e69a7bd160e173f31f3ed3dfeacbdbc070cacbd2e83d03ef6f2ca3d108a23bc68fa97bd9fcc693e815e8b3df1485e3bc0ab76bdb341763d16dac43c0000000000000000000000000000000000000000000000000000000000000000db3bc03a749cfabb000000000000000016afc73c33ea26bc0000000000000000c8d0203d412919bc00000000000000007ff53d3d2dd2e7bb0000000000000000158a3b3d385c62bb0000000000000000d373163d99ebd4b90000000000000000f2fe963ce949ad3a000000000000000000000000000000000000000000000000132d1cbbb65687bb5433263cbf68243ca463a8bb4cab1dbc7eab393c9222be3c547990bbfe8a1ebc3087153cdf26e83c348598bb60241cbcac08de3b7708e43c2c125fbbd1fcfebb6fe9383bed4bb93c626813bb6567c5bb9a289939f7eb5d3c5de435ba2c9f6ebb690dfeba14b3c93b1b55bd35bd46a63aba4ed1ba3298bdb95d514a3a5d7aa43a314d1dbb950accbbb3c3dc3aec0cabbaf82a533cedf038bce8064a3c377b98ba29f3ac3ccb8d263ca745973c1c7b82bae457a33cddd8803c39d5a63c7c7f57ba224ba83c2c5e973cb96ca53ca89e593a0e9a843cb3089f3ce757a03ce1d6323ba2e2223c373eb23c19ff4e3c6032863b6ccdcb3a7a219f3cbaea7d3b098a583a7c19abbb347ab63bc428e33af17e8c3ada0dbbbbc709343bd76297bd5b74ebbcc64eaabb44e4cd3b2136dabd601397bd7d06d5bcc7cfd83bc02edbbd5954ccbdfc5f2ebd4a84e33b1d45b9bd5016d3bdf6344fbd6197aa3bf30c88bd2658bcbd9dd254bd20751abaef142fbd23b592bde4d644bdf9392dbb234d89bcde9031bd0f701abd5f8e66bb65fb5b3b976a3ebc544e47bcc49590b9baaf6a3c1a99313cd11e4fba683528bba62656bb4ec7b4bd4ad9953f2d55083e74a801bcf60e07be6cb38c3f88a72b3ec63ca5bca0a703beb2636d3f83f65b3e41fbc6bca79202be38233b3ffd9c663e8c93aebc7576f7bde71d093f0b02533ec0bf23bc9523ebbdbac6b43edcb92b3e4318a93bf00bc5bd7ff5373ef0bee33dcee2a33cd47470bd78a10b3d3146223d1c6bb03c642d03bd09ed93bdc69387bcc1550fbdd27fb0bb00000000000000006dad80bc165fadbb0000000000000000e919703c656940bc000000000000000067a30d3d294d44bc000000000000000098444a3d9ab613bc0000000000000000fd8f3b3d2e67c7bb00000000000000000fce033d49de7aba000000000000000065192a3c2aa2133a00000000000000002ca0b3bbb1e68c3b000000000000000070e821bbfe8382bb8fa3f03b6b7d123c79b87fbb530911bcf4df0d3cc963ac3c7db696bb991ce0bb01b11e3cea2bc43cb40286bb375e00bc162baa3b6896bc3c46dd3bbb6b0eb5bbd59b623b5ab1923cd822e5baac71c4bbbcfb9fbaccdc533c5665d3bacfe47abb23eaedbaa852b33bf61185b989d65f394208f4bab8263b37dd0d503a9e918e3aac74eeba22c9aabb62dd023b4cc2baba8db3553c2995c0bb13204a3ce546d0ba2268a03c344e163ca68f693ce742cbba7c67993c29d8f53bfd02ae3cd2a2cc3a0ac18b3c5454933ceb778e3cb7d8d73a240c423c6cef8b3caa4b9b3c59f9593b49f2f63b6d4cb53c5c4b603c5133a13b178ff73bc125633c6ded713b4866683b990f68bb3865cc3b85bc85ba83b9eb3a12e2c0bb105beb3a2e6d67bd2c82bfbcc9b719bcb66dd93b89fcbbbd1e2397bd42b306bd75fe103cbac5aebde9dcb6bd3d312fbd6daac13b6b2899bdcb17cdbd7ff86dbdf57a06ba8c3a5ebd95f0a9bdb7675abd7d0b30bb458706bdb59c8ebd027659bd5150d7bb40366dbc050b31bddd351fbddee829bc3b84853b17503fbce13493bc30f682bb1d175c3c2ec12b3cb340633a0f9d20bbfd3afcba8347cebd496f7d3f59ed9a3e2c02f0bb687d12be024e733ffb12ad3e1132a6bcf613f0bd2b7c433fef1dae3ea97f7ebcbfdb0abe546c1e3ff45aaa3e081e6bbc1a10f4bd8abfe33e4e588d3e08168fbab022f0bdd021933e4b89653ee66d41396ceeb0bddae21b3e5d37103ed7a4a83cebbc6fbdec819b3c4162693d3771b93c4d12cfbc397776bd41fe3bbc7b0356bd314eddbb0000000000000000761705bd042a07bc0000000000000000f0494f3c09d92bbc00000000000000008c170c3de0dc0ebc00000000000000006185423d42ad6dbb0000000000000000e4803e3d1894d3b9000000000000000076d2203de16bd43b00000000000000000ad43c3cecd1843b00000000000000000c78f8bb4d3b7c3b0000000000000000e111ceba84c88cbb7269f03b61a6153c268352bb4b940abc55d9f23b7891a33c4a7e86bbee1603bc622ba83be9ecbd3c019e55bb86ccf7bb44be4e3b4c0aae3cf9fe3dbb549cefbb40158cbaadc89a3cf825e7bab65a99bb9aa404bb60b5263c163319bab40069bb158d5cbb5dc5b23b1ec45939d6969f38b3a14dbbfe0181baf5b2083a8a76eb3adf9a3cbbe5ba8fbbb8451c390e10efb95544503c47a608bc858d393c23b3033a57808d3cda04183c200fa03cae6daf3a39b08a3cdbe78d3c1ae3a43ca0dd7e3b39d45c3cea56a63cfa6cbd3cdea8853bf73f5a3c1248b33ca3548a3c6b75ff3bbe3ad33bb316a23c3e264a3ca133dd3bfd76163b966c813cb709893ba3e5933b45a36dbbf656cd3bab3dacba02eb3e3bb7bb85bbb4692eb6f1ee52bd18c4c1bc063154bce5b6db3b25219fbdc79a96bd1ea61ebda885ed3b8d489abdc4e6cbbd70436cbd5a1f243b824776bdb60fccbd50bb80bd77135cbb74bd34bd17b2b7bd6de387bd5fef30bcb87ab8bc883889bda97f6abd57124ebc2506b9bbb39826bdbdb433bd7f4137bc6c63ff3bbabd33bcd3759bbc3479fcbbe3f8583c76e92f3c4d02c8bad8b564bb4766bcbb686fbcbd7bef513fb1cff73ee8e0c2bb5ecf0abede32463f0573023f935030bc66180dbee3fa243fd888fc3e83d320bcdde306be4e21fd3eab11e03e0de50ebcc1d6fbbd5766b43e67a9bc3e3a0b243bf402dfbd25f55d3ec2858d3ec423293cca9fb2bdc805cc3dae71323ecb06ab3c605a59bd5d54213ac569923d2ea8a83c544fc1bc2ed16ebd974136bc06de80bd61aa34bc0000000000000000e6d033bd9e580abc00000000000000004888ed3af3b81abc0000000000000000d5c00a3dfbddacbb0000000000000000b5ae5a3d9ec7693a00000000000000008ae6553d7ed17e3b000000000000000033231d3d2b9fe63b000000000000000081695b3c5979023c0000000000000000f27404bcbf938e3b000000000000000099b597bad45576bb6922bc3bf2f8063cbc2130bbd0e4f8bb1ed89e3b008e9f3c098b30bbed41febb4bd23e3b433aa63c5cfb31bbfab406bc076f443a8c26ac3c07c307bbef888bbba1c7363b6ef1683c9adcd4ba5162a4bbf9178cbb5beb3b3c380a14ba45e02fbbecfe5bbb3413443b5fd114b8df70243a15100ebbdabbe3ba6ce66f3ab9e5d93901fe38bb98c985bbd90f0a3b90cd01bbdf082a3c550b49bb6ee04e3c9097263aa563653cfc75483c1f8f9d3c0b41103b5c05573cd360953cafe1c03c2e9d943b2054533cf55ead3c3902763c9d0e4b3ba94c143cedbc613c56849e3cd88af53b167cc13b3ab3ac3c70bd2d3c4b21013cb92bcb3a44636d3cdb2b773bd2f9b63bda376bbb0ce7993b135de2bac254423b9b8281bb7bb4b63a4d8f45bd8d34d4bc09a75cbc394be73bd47d83bd426c9ebdc5ee38bd382eb23b95ee72bd146dc7bd611d7abdf4bcd0bab29543bd9c23d0bd83e195bdce1d1dbc58ee0dbd4e519bbdfe2e6fbdee2141bc3d417cbc9ba088bd98a07dbd2f8d96bc4e96f53998bb1cbdae3e31bd5aa682bcf771133c950323bc1c52adbc55b81cbc21ad453ca432303cbffc03ba42f791bb6e7da1bb4f5aacbd4eef243f1512293f6cfebdbb2b56f9bd8a81183f91492d3fdf7afabbd6f1f3bd3915f63eaca21e3f4396ecbb2ae8f8bdb338bc3e9f920b3f551544bc293ebcbdc817833e993dd13ecfa2933b9803cebd60e7143e7b2fa63e32dc183c353496bd009b663d3cd14b3ebf8f9d3c4b5235bd552d7fbca100a53d934ba33c800a90bc6f006abdcf5a7abcdc0299bd06be66bc00000000000000008a1750bdd6d0e8bb00000000000000001305843b21fe88bb0000000000000000579c203d40b295390000000000000000959b6d3d8a2d273c0000000000000000c5fa6f3dd538383c0000000000000000b72a2d3d01e0543c00000000000000004a62603cb4053b3c00000000000000008ae409bc29769d3b0000000000000000d6ff91b91ef796bbab87923b68a5113c65eb15bba884ebbb74a1de3a7b25953c056513bb040ef9bb76600438c119a53ce8e1e4ba5a0ef9bbc8c850bb61d1993cb64e05bbc01cccbb471269bbabc1703c6be3b9ba137684bb8c9389bbcd71063c358667b9697804bb0e536ebb2641283b26b3aa39c8e0873745555bbb64ee6ebacbce243af6ce373ad725a2bab81e78bb2b02503b5d56e1ba7ab7003c842a813a220e6e3c66d4183b94e02b3c7a8f8a3c381db23c91bba53b2887183c1c40be3c4b73c03cd209d43b61520e3c03e9cd3cfca4be3cf5690f3ce7eadf3b2068c63c512c853c32ae283cc3965e3b79729c3c6ec3273c8d1a2f3c06fc1bbaa8b6273cdb872b3bf2a4ae3b88ec34bb9f37813b45cf24bb04605a3bc1e969bb66abaaba6ba22dbd6bdf07bd11988abc6beb073c238c54bd4b1cadbd202d56bded114d3b8cad3bbdbb96d9bd29bc90bdfcd3c9bbf0480bbd7a17d2bdfc539cbd43bd4bbc4415b8bc0bdbb4bd10a99bbd2fe2acbc0f4bbfbb323a81bdd6cb81bdfdcdadbc2ff3e53bbdfa11bdb9103abdb86fa1bcf727303c442e19bc789d97bc18ae28bcd7a3393c81013c3ca476e4398e7e89bb332771bb714390bdcddaee3e0769553fa6b250b9f89dd9bdab89d53ecd58583fa27f4fbb5895dabdc6f8a83e9b84423f644eb6ba4bafd6bdee4e733ed9e6233fa335cb3a6c76c7bd74ec1c3e7c66013f4546003cb6c8a9bd3468993d2e2eba3e7c477e3c274d7cbd8847043cfcae603ea0fb8f3cfe1608bdd81603bdf044ab3deae1823c4d6a26bcc33f5cbdd34ec0bc1a3eaabde80b52bc0000000000000000e89c73bdc84a8bbb0000000000000000705f773b55cd20ba00000000000000003286303d7a85923b00000000000000002b6f853d31233c3c0000000000000000c76b823d32096b3c0000000000000000c520393de1788c3c0000000000000000cac2513ca6b9463c0000000000000000b2052bbc837da23b000000000000000084139eb9000c69bbd8752a39013d213cd87731ba2283dfbbeef9ddba63428a3cc724b5ba9c5df0bbe8202c3ad5f6973c4849ecba352fbdbba9d2a2bbfa47863c3bb03bba44529cbb4a0873bb0626453c530834ba196d43bb63b5bbbb8c52f43b69789bb9473d28bb3bb786bba676263b353960394acb2e3a52d3e7bab7f14fbace52383ab0c7a53ac30abab9562b91bbde3ead3b0cc509ba69e1763b11a0033c8086933c8a3a653b58589c3bd627a93c01e4a33ccf59a73bb362e13bdcda9a3c4dd8cf3ca460273c8d1f9a3bf873c83cb106a13c595b193ca9d54d3b860ca33ccb318c3c9e88433c9cdd6739ce07903c4f0f373c26f3193cc4273b3acc56413c358eea3a10c4cb3bc9956dbb09c9b939846a24bb821a833a13b245bbc38e93bbc91502bd09382abd3297aabcc7abd43b22c313bd1896c2bddc346fbd86b2a9b9bf0d07bd26adcebd5c728ebd21862ebc750b99bc08acd9bd52beafbd8e94aebc6fe731bcb6fca7bdd5ab95bd42e6c0bc0dcd033b769d7cbda7c088bd1c78dfbc9c00ba3b497e0bbdfa013abd8890bebcfde32e3c8b2af6bbb1828dbc089c34bc837e3d3cdf792a3c16ca9c3b1cedd9b92352aab95e625fbdcae3903e8a03803f1b7b683b5f38a8bdd83a723ee230803f930290bb676b9cbd7eb63d3e42aa553fa48a4c3b5c6fadbddc9ced3d68843a3fab6afd3a5a1396bdde05873d55cc0b3fb3be313c912d86bdbc090c3c6bbcc93eeaaa1a3c1a223dbdf68e88bc1b5f6b3e815a733cb7358fbc088a40bdeaa2a43d7e20373c27b8833ac0a53ebd92d906bdc1d9b4bdd5ca31bc0000000000000000aed564bdf2aed9b900000000000000003e9fc03c08feca3b00000000000000002d58623d2039473c00000000000000002f45983de292a93c0000000000000000be2d943dea31b53c000000000000000050454e3d199ec13c0000000000000000baeb433cdea6793c000000000000000019e27fbc1ca7233b0000000000000000cb0ef839d5e444bb038488baf6c8363cc7566138d017cdbb34c3debbe09b873ccfb83aba106abdbb123ed2bb663e853c9b6a80baf66bacbb2e90d6bb318e6b3c9c8eafba4b6784bbbffee9bb48db193c2d01c4b7ada201bb3c87d8bbad9f923b1a6aa5b8891a2a39ca3ba8bbfe0dbb3ad86608b974465c3b46d585baf217b7baffb00b3acb13c33a84c5c7b9390853bb21bcdd3bcda5ba381aa65ab72951393c98feb13c7d47c33b0f9b8eb97e12cc3c8739dc3ca840293c87d345b8ba17d73cfed4d33c0ad4553c5aa2e5b8cd20ce3c3fadc63c3407583c93697c3a7bb5ae3cb38b8e3c3b8d633c737659bb563d803c5143163c4236413c955065bb0785e83ba4de0b39a6b3833bff43a7bbdf5f79bb0bae95bb66e21f3b91513fbb55659cbb11d8dfbc9d0581bd6868f3bcf6b2ef3b00cb7abc9c8bddbd6e0889bd723e4cbb5b2834bc605df3bdd091b3bdad5b8dbc77b28abb8666ddbd7fe1bbbd68dfdabc4eb0643bc8adadbdab84abbdca330abdb8dd523c40e171bd07268fbd47bb01bd00f8713c3791f9bcc2903abde217c9bc24ee293cd67531bbf85e60bcfc0ff0bb88300d3c4d696f3c55a7dd3bc2b6d9ba0f6b073ba96913bd3f1ce93d9e9e963f75f5f83b4c445bbd796a7e3df947903ff376c73b9cf978bd7938043d4d3f793fe831043c530e7ebda8bb443b3cfb483f0d5e0e3ca83b6ebda1c3d3bc3646173f743c4e3c28443bbdd33452bd897cd13e52405c3ce583e3bc3b417fbda6c46a3e8dc8273c5b5e473af72962bd0e05873d35cf093c4352113c3d423cbd558b6fbdfe4496bd6a8331bc0000000000000000cf9916bda06bbc3a00000000000000000dae213ddb8e253c00000000000000006c46a43ddfb8aa3c000000000000000089bbc73de296ef3c0000000000000000b694b03de05af83c0000000000000000121f6b3d4230c93c0000000000000000dcd0593c1213613c00000000000000003a5f97bc8574363b000000000000000000000000000000000000000000000000417e4db92483a4bb74df5ebb1a65903cfa7c47ba0a41c6bb19ca95bbcfcd7a3c8debb4baf366a1bbadff44bb3b41623c64c670ba4bf880bb29da7bbb2c7c2e3cbc774ebaffc020bb98dfa5bbbcd3ca3bb8982d3acb4b83babf0694bbd05bbf3a0d6e123af0886c39b52f4bbb7654d4ba0000000000000000000000000000000000000000000000000000000000000000dbd0933cb46e923b8bc6cfba8322b23c6ed0c73c75ce083c3cd3f3397a04be3c1eefb93c6406123c722d9f3a3ef9a93cad41a33ceeb6253cfc11a738da339a3cbbd1823c910f3a3cc1b25bbabb947d3cb24c1f3c1f211d3cbfbf3ebb09a8e33b09fa213b5725e43bbc7a57bba8932e3b00000000000000000000000000000000000000000000000000000000000000007c2c95bc9babe1bdfca583bdb07eddbbf033b0bb9e59dabd6ae5a8bdd31ba9bc3d677cbbb2f4c7bdf1d5a8bd428dddbc2a97063b34799ebdc1cc9fbd537004bd061f143c8f7a64bd78c386bded3706bd594e593c34f5f0bce27532bdb2eecfbc5cc75b3c9f20acbb39718ebc790479bc000000000000000000000000000000000000000000000000000000000000803f6ed47f3b9bdcf0bcf8c04bbdfa39963f7f61823b364f24bd099e83bd79617b3f1f7f283b21bd2cbdc6448dbdd84e4b3f6faa8f3bc26d25bded159bbde3661a3f4530ea3bb2a307bd138fa8bd7dc2d63e7db5163c96d489bc313f9cbd9840753e20a6dd3b2e9b40ba816187bdc28e843d000000000000000000000000000000000000000000000000000000000000000028b7a03c590aa03b0000000000000000f7ad8f3dc255ab3c00000000000000006ee5c83d8c8afc3c0000000000000000f91ed23d3a45213d0000000000000000cf0ab93d781a213d00000000000000006f73723dd1bffc3c0000000000000000e98e9b3c615a9c3c00000000000000000000000000000000000000000000000000000000000000000000000000000000fab499bb6829c73af0d2183d66c7933c8081c3bab6fb6e3a3c7b003dd2babf3ca741fe3a95c3b03b9730c13c8ebab73c28049a3be1aa4a3bd52d7f3cb7f0ae3c3bb2eb3a0f50243b942f213cc1227b3ca334183b9bceda3a6d86953bd195fa3b2a38dc3a531250b873a19dbab7e6933a0000000000000000000000000000000000000000000000000000000000000000fbb6e5b9a2ae0ebc8c6d13bb4d8c093d23a9c13b3366e9bbd71b77bb31a5a73c57032f3cbb1c03bc1e2d9fbbdaefb13bd3bb303cea5c8fbb5c3a06bca156643bc699023cfdb2e2baef12eabb329a8bba63c1b33bb6e42aba6ba1ddbb7d05babbd3a41739c2d3a13a69eebdbbec4e73bb0000000000000000000000000000000000000000000000000000000000000000128b6dbec27f3cbc3ba56f3c271761ba52c157be80ee0abdef28663b9fb702bb77c943be110d3bbd6e9764bb3a1c16bbd0021bbee4f54bbd566f09bc388916bb9964c8bdcfb51bbd705a33bce3056dbb96f649bd4ac1cebcaebc0ebc4bd862bb03b62cbb07e9b1bbfcec07bc9ba75a390000000000000000000000000000000000000000000000000000803f00000000fc4ced3cc85e22be9b43af3fdbddedbd7707c13c6652e8bdb9608e3f5dd4f0bc5e0f983cda34c8bd8ad46b3fad74b63bc4b9963cbb4f94bd70352d3f900f1e3dd7d85f3c158128bda528d73e2e28503da2e9bd3b9823b3bb09d4493ea007493dee1f1e3b23d8843c8d4349bc1969e93c0000000000000000000000000000000000000000000000000000000000000000c20cac3c56f90ebc00000000000000002867f53b1b28f1bb00000000000000008e98e03b16cfb2bb0000000000000000d50fbf3b882ccbbb00000000000000009b56ea3a6a8085bb00000000000000000aef143b27851dbb000000000000000080eb343b9a2b2eb9000000000000000000000000000000000000000000000000828bd5bbb22b41bb5a16a43c8ed78e3b2fc114bce058d3ba7962ff3c576b4c3c274eaebb930f8d3ba4f70c3d134dc63c5c87d3baf732903b98f3db3ce4b3d03c8193fb39e6107c3b15088d3c9fb2a33cb6d3cfb8e1a36e3ba95b3c3c6a4e6b3ca582bbbacc63a43b1a00a23be7f7e93bc80eabb9113f403ba4a8c5b919eea73956ca69bb015318398c5f75bbb01cc1bbbcde03bc094944bb82cd3c3bc976123d431d66bbee3e7cbbc5f15ebbe1602b3d55fc723b61add3bb56eb90bad8b3c93c3dd2fc3b7d7991bb83a790bba99d823c96b0163ccd48b3ba22cc8ebb0a2be93b01212a3c54fc1eba7252a6bbb10090ba9b1fbb3bc5924a3b293fbebb5f20abbbc2124a3baf60923ab76386bb775ec9bb95e205bbb1c90e3b662d75bb1984d038a16a0dbe6995833c4addca3b0472a53b44e73fbe1d9322bc13821eba3af5cb3b494a5fbe85ec40bdb1cd1abb7891c13be52544becb3279bd1d2e2bbc80de9a3bdf6614bee1196fbdd12595bc6c19cf3af1d9c5bdaabd50bd4d29a4bcb4d59e3a5f8638bd6e5e08bde22189bcc0a63f3bbf41cbbbef8689bc35f10cbcbafa303b907bd73c3160bf3bd7e61aba2b01f13a0a15423d73e175bed62aaf3f066089bc0c08463d9b3850be1d61993fa5f75c3d12f52d3d65733cbec5f28b3f2f5faf3db5e0113d497912be59a75e3fdff5e83dbd18dc3c05f5ccbd5db01f3faced033ee390a33c4c104ebd9c49c33e2f0c003ee389343ca0f443bc065e1f3e8481d23d0c54c8b9cdee963c87aecc3b0291843da082713a2912f43caf2d06bebbedf33b8513d9bb4bca0dbb0000000000000000722586bc924dedba00000000000000004e2fb1bc08c100bb000000000000000001aaa4bc18448ebb0000000000000000cc6683bc7d3e79bb0000000000000000833287bc6d4f01bb000000000000000086bc87bcd2f207bb00000000000000002a2e80bcdf79a03a00000000000000009f25dabb7b4e083a0000000000000000e1b7c6bb655352bbe331683c1665bb3a73d0edbb17751f3ab9fec93c62fd6e3c85d6cabbdafcf23ac1cbf23c4b2fc13c6ba081bb00a9913b75dbad3c1834b43c6af1b3ba9f667c3bd15f613ccd748d3ce81034bb20228c3b5134303c4cf2643cf14c26bbdd2a3d3bbf36493b2f5d913b30906dbbc47e4f3bf62995ba38bde0b9e30857bb34982e3ac1371ebbd4c3d2bb8163f3bbd6f9ebba4bbe453b9854cd3c47bba0b91070d0ba6cda563b4da0e53cdd04bb3bf3b392bb6916353b135dc33c6865573ccb5825bb7bbdd7b97351453cc1a74c3c67b2d33ae22431b952c90b3bd5d02c3c7265b83adcc04abb91a30fbb6d61cc3bcfc48d3ba0f34fbb637f89bb50bf343bfdc8ab3bc89f55bb73cc83bb29d227ba1e55033b1f7e1fbb790aceb9dda7b3bdab5ed23b0ee6bebbb1284a3cd06426be65551abd99c715bc00a0143ce59f38bef35b95bdb95866bc3cda203c772e1ebe7119aabde3e5cfbcd015e73ba929ecbd3ae39cbdd85b01bdc343a93b087596bd31b988bdc798e8bcaf57a53bf20301bd88f326bd07b6aebc43d8343b6bf3b1ba4f0c9bbcd3624cbcc36d653a0e06963c0255b03a301daa3ab664143bdb3d473d3a9a65be6a69903fe219553ec73c573d72fb70be822c8d3f5e5d753e990f363d68e74ebe60dd753f3ca5863e736d1c3d15001dbe5d753f3f2ec78a3ed53df23c265dd6bd275a063ff4bf803ece52c23c257e6abd98889c3eb6d05e3eb9f25d3c5e486abc537ef13db75c1a3e1afacb3b51dc003c6fd522bcd5719e3d696ddc3a88509b3c6e1eaebd0a17e33b460776bd14891a3c00000000000000008f5c86bdf264223c0000000000000000c76c78bdae50053c0000000000000000cf1b59bd8875ae3b0000000000000000583f29bd124c6d3b0000000000000000837a26bda0e7c53b0000000000000000b4ddf5bcef89543b0000000000000000cfa2aabc0a02443b000000000000000010c081bcd80d0a3b0000000000000000767bbebb2cd644bb74de4d3cea52fa3a0a66ecbbbb40d3ba564db73c9ce3713c5e049dbb2567443a75d3be3c58c8b63c301fc3bbcdef8f3b87b8983c8f5db63c558038bb0bb96a3bd5265b3cebbc8c3c50f28fbb321e6e3bd56c123c8a563d3c8fda92bbfe86a83b436f843b5d096b3bbc078ebbc9d92e3b05e606ba48ae37bb852e49bbf47e553aec13ffbaa5f10dbcaabcb2bb97c8623ad832c33ba50d663c3e94d43a8eaf1ebb9e425a3bb6cebc3c10232c3c223410bb6bb7843b5bfe5d3cb5c87e3c669c2f3af176423b0ca28d3b3934643cddfea33becb131bacdb2e63935523b3c6dbdc13b4451bb3a86b6b5bb1d390a3ca7b9c53b478224b9273d08bc3db1743b5800b63bfc8a2bba3fdc8dbb6ceac73a52ad673b976417bbc3cf8939806f92bdc26406bc703646bc9c0a683cf502ffbda9a78cbd296383bc152b883c5bde09bebe69d9bd9eedd5bcd0685d3c65efecbd85dbe4bd4e7614bd31c7373cbe7fb0bd5c79d3bd49e02dbdcf43e63b0bb75fbd9c6ea1bd061b1dbddf72cd3bbeefbcbccc974bbdba13cabcd939433a18c6eab995b5aebc379541bca6133c3a5111853c5b1c633b0509383b62118abaa2a5283dddee52be1aef733f2a8bdf3eb533503d9c835ebe365a653f8dc7f33ea5492f3da4d433be8022433f8b1cf73efc961a3ddd1407be9690143fc667e63eb8ebe93c80eeafbdc512ca3e0eb8ca3e0264aa3ce2173dbd32be663e256b9c3e86225b3c772653bc1820ab3d1e6b453e3455da3b7bb3ab3be3a7debb9286a53dc69b6f3bae54393c379794bd5359f1bbd30ff5bd0489b13c00000000000000006b0bfcbdd67fb23c0000000000000000b5f2e4bd2f1e8e3c00000000000000006132babd1f64743c0000000000000000ea2295bd6e16353c00000000000000004e9e6cbd9b0ef83b0000000000000000cd9f17bd4d29bb3b0000000000000000595fcbbcfbcd973b000000000000000056fdb9bc28d2743b000000000000000040db9fbbe913a7bb8956463cfe2f083b2732d7bba62b81bbfb7c8c3c6c30793c10d4eabb3308ab3ac496943c8cefb33cf0f187bb0aa4c23aee75843c0e67ab3c0950babaf37f233b325a1a3c9f07583c987167bbdb12a73bd0c8ec3b9af9253cd7e195bb5b15373baea4a83b230c253b1ef585bb03a3883b4f9906b9907081bb4d2b49bba032f93927a3c9ba987bcebb44fceeba03c243bb97d3b63beda8453c81b1f43bcf8100ba1c4eb63bcfe3723c681a7e3cb34f1c3a0b2bd13baa98173cc692813cbed8873bb0cbc83ae56f343bd8f0833cf43dd53b6bff3f3b07b26cbb9cac663c4f42dd3be8dcee3adbf1e9bbff89f43b700b093c910c8d396edad9bbc8dc723b258be33b0238833afb8d9abb1912c73a0704273b6cef1739f3fb0b3bccfd44bd1282f2bc40de94bc350ca53c9bd9a6bdadb8d1bdb112b1bc041f7e3c8b74bbbd2e0c0bbef2921abdc270803cf81aa1bd3e8a11be550e34bd32474e3c1a1f6bbde9f3debdadd04fbd4e6b903bd4ad1abd24b5c0bd309f31bdb275403b67039cbc178153bd9c68e6bc16a52139ae3629bb952d97bc89ed55bcb7f7b5ba2acd183c8314043b8dd4953b1f4a65bac47e083d1fe52bbe0bab363ff243323fc6c3153d53c026bef91c273fd109393f8b2c083d2ace09bea2cf0a3fd2cf333f8592f53c20a4c4bd7368cc3e1923223f29d9a63c83237fbd8ea3883eb0c2003f8f239a3c44d306bd76cd1b3e2d42c13e297d6f3c22dc63bc24397d3dc3a8573e36689e3b27e9ff3a49e086bbe4429e3dbd3c123b8c2dca3bdc3547bdb8f5cfbcba2936be5254063d0000000000000000f31233be1fdc103d000000000000000027c717be97b1cc3c00000000000000002388ffbd0208ad3c0000000000000000efc09dbd978d813c00000000000000000c7981bdf934813c0000000000000000df8313bd354d0f3c0000000000000000955fc1bc67dedf3b000000000000000062fab1bc0209933b00000000000000008ad27ebb21e4b5bb8c56133cbb6a3e3b627992bb566d90bb56ea393cb61f973c26fcffbbfd7f00bb06248b3ca6dad13cba9ee2bb47357f3b2fb6693c54ccaa3cb0356ebb9a50fe3a8dda183c48529a3c12d091bb2443193bedbe1c3c04f0403c32044bbb6387713ba9e0943bf6ab593b80baa6bb793a513b26abe33ae00f63bbe0343dbb2693073b4662ffbae84102bcdd0d693a76ee3abb3635913ba1e5fe3b8776153cb024f1bad2967f3bf61aed3b4e98a43c73f601bbe3eac63b4db5843b93c69f3cb6a7613b0727ac3b3a58a8bbd62e993cf304003cc605343ba846c3bb943c6c3c07b5eb3b32cd473b905c09bc7211293c3ae7f63b8885a43a052a08bcc4fc9f3ba417b43b2aa0ad3a00807cbbe872f53a7fdade3a538733b9c954a1ba84cccabc2b2c57bdb7ed62bcf9f2983c1a3b2abd1a8407be7094b3bc5d61943c4a8f52bdb41531be31c527bd997d8b3cc5873dbdbe0927be3d5e52bd4042513c83c00ebd121f11be6dab5dbdb22bbe3b75bbeebc94f1ccbd12fb39bd5844cf3ad84984bc871575bd5c66debc28bfcfba096ca4bb92bbb0bc3b3a28bcb52298bb4a8b0b3cee595b3b8fb7053c0add25bb3034b43cc392debdeec1e83e5a7e703f3a4fe23c748fdebd6a5bd03ebb11743fd5bdcf3c05b4aabdfc46a43ec89b673ff424ad3c2c4262bddf7f6b3ee5f0473f06df953c634013bd297a193e7a991e3f48fa543cda5aafbc45a8c63dda23d73e30d11f3cdb17e4bbff7f373dab006a3e24e6c43bcb4086bb8863203c450d873d481419ba81bd6f3b21dfd0bce89d2fbd4d3e5fbe10f82b3d0000000000000000f80f5fbec50c343d000000000000000013c935be6865093d000000000000000033570bbe89e9eb3c00000000000000005650c6bd7098bb3c0000000000000000b2f775bda2b6923c0000000000000000ea4b0abdc20b383c0000000000000000bd7283bc62321e3c00000000000000006286b2bcde83f83b0000000000000000a57368bbcdd49ebbfa1b8f3b9869d43bea15e4bbe2392bbba410173c0ef3b03c711bbabbdd9c34bb40345e3c569be73ccdf8e7bbbe7d183b83834a3c73a5e13c769198bb86c23a3bfd733b3ce7d4923ccbb181bbe57f883bfe5d143c7fe2573c6ba288bb45cc983baf49ec3befc9673bebaa66bb47763d3bce1f343b9a5440bbd6efcfba3e2ffd3a3ce094ba4b031ebc3e2c243b7674b5bb5f40043b2d6f4b3bf357873c76e0d7bb2348713bb6a5003b2d2cb43c05dc59bb64df963bc65945bab7fabf3c55756f3a8554063bd75badbb08358a3c2fdfab3b6d886d3b3ddd0ebc0e5d863cf208b73b07764d3b83bc2dbc41d51c3cbab1ba3b5da7033b92a90cbcc548b63b9d5b873be04d013be70c92bbf2c1803baebf143b3d3d89bacfbcae3aec02253b291692bd83af45bbed47763c802328bc95a129be5c50a9bcf1ae873cf34093bc28034abee4e52abdac8d803cfb05a8bcedd540be39c156bd57e3273c3d759dbc0bb31bbed09d57bd930a213b4fd293bcc4dce6bda74d2dbd350d8fbab55874bc511077bdfde2e0bc1eb496bbff03e9bbd80aaebc799a0cbc6a27cdbb9cd3233b704ece3ba522f63b37cac4bb41c9183cd5705dbde8f0653e211e8f3fe20f733c95b74cbd86a9353e9895923fcf16693cb64e11bdbc47033e125f873ffd4f683c1dc2bebc6422b33d9cd0643f90d44f3c53b16bbc4bde6e3d77522e3f7256403cbadc25bc4a4b373d038ae83ebb0aea3b5374c8bb10d2fd3c19be6a3e060c5c3b8d6a9abb62259c3ce11c4a3d35394dba92d425bbdff3973a62227dbdaef46fbe75f2483d0000000000000000b36c65bebfb2473d000000000000000065ce36be9a641a3d0000000000000000ef9206befe06ef3c0000000000000000dcfea8bda4e4d93c0000000000000000ff1749bdd2e0993c0000000000000000f84bb3bc94c67d3c00000000000000001fa3adbb43b9113c0000000000000000a1d20fbce8bfb83b000000000000000097b5f7bad94096bbc1fbab39830b8a3c82f690bbd00f54bb6795f93a66df003d6114e0bbac7312bb11e4333c0e241e3d3750f0bbfb322b3bb9ff2e3ce95a0b3df7698ebbf8c33c3b023e183cd401d03c2b62bbbb3fcc6d3b164a333cbe308b3c69b679bbd71c3d3b847f063cfa40d83b668394ba65710f3bd4e5a63be00ec5ba523adeba0a9a283a754c793a281107bcca35043c7c8746bc3e616fba036e983bab99713cf7e834bcc67f1f3bacdeaaba3b5bac3c300494bb8db71a3bc83405bb7d0f9d3ccd7e173b4626633b425effbb0f6c993c4363cc3b1eb26a3b446c2dbc17bf4c3caad2d83bbbc1933b35122bbce2e90b3cee05ca3b82bb433bcc8f0ebc114ba93bbfe0ad3b1538b03ae2db65bb1551b83a514ccabae8a5be3a068e83baaaff953c741d02be3c98133c6969603cf717873cefd13cbea0c690bb9874243c43f83d3be47066bed6e60dbdd1272a3cc7803ebba59f54be7e8742bd7edfa23b068203bc91bf28be8a074ebd5f1253bb45166fbc9e08ebbdad9537bde7c1c1bb09c16cbc74c774bd06c1eabc61d6ebbb979449bca84693bcfa3d4cbc0fed2abc6d74bdbaff9d803c057a4f3c8b4503bc60267fba74f14dbb0c3ab4bb3b01af3f9f48803be7a0c3bb55fb333cd0d89b3f29690e3c51cdf8ba735180bc2ac9923fca052b3c31501b3a9c68a3bced6b723fe0e5183cc28c0b3b11c966bcc6c6363f96d10d3c3b8a5f3a7e22973b6cb3ec3e284ec43b3eea7bbaf2db7f3c510c643eb670783b7b75eabbf6c4d53cf3b5333d28f608bb072e0ebb89ed9f3cfd9deebde3907ebeb87c463d0000000000000000c33137bec4a62a3d0000000000000000db3f10be8e43013d0000000000000000b1d9bbbd97d2cc3c00000000000000005ea44cbd0b52b33c0000000000000000963583bc26fd8d3c000000000000000020cd783b49f9143c0000000000000000e6128f3c29be953b00000000000000005cf6f53ada2bcf3b0000000000000000000000000000000000000000000000007da389bbbf9923bb93f5063b2daf2e3d9cb073bbb9b01eba608fb93b4d1a1d3d02de7dbb72cbc5b9e938423cfd2cf43cee6402bb281c0c3bc0940d3c265ece3ce24f0ebb7d8e873a3e95193c0bea763ce7f4eabae7eaaa3ae3bb003c0cbbbf3b8ab0a7ba91efb539bd20b13bfe8a2bba0000000000000000000000000000000000000000000000000000000000000000fc4c9b3ce3c450bc95890dbb3cfc503ba54da13c25dc9dbbdd6bd43a86288ebb7d198f3c4635833b1168d93adc32adbb80217f3ce21d703b9bb4843a5f50f8bb809a153ca521c93b137d383b138108bcbac2953b62b89b3b8c83023b940af6bb5228683af90d423bb813503a461a98bb0000000000000000000000000000000000000000000000000000000000000000f056e23c9c906fbe1070c4bb0197e33bc4fc863c3fbf59be120b0dbd9ba42b3ac938e73addbb45be51934ebdb3744cbbddad85baa38e1dbe4fb755bd7f4ef2bbbff4bebbccddcebdf14d31bd067240bc7df72bbcf9f048bd2b8ef0bc785a27bc55d413bcbde4fbbb3eec0bbc7f3f01bc000000000000000000000000000000000000000000000000000000000000803f36b201bb1253c73c32f01bbec915b03f6d00863b31076d3c8d6cd8bd1b0c903ff3c9dd3b6b226c3c3f97bcbd81e7703fb5b23b3b4ddb6d3c7cad8abd9b71313fcfb7583b4db22e3c66e40dbd77b6df3e757e983bb392773b2d372abb4751573e64525c3a0381333b9477a73c175fb1bb0000000000000000000000000000000000000000000000000000000000000000ff10fcbd76e1b73c0000000000000000ceac3abd505e8a3c0000000000000000635952bc20695f3c00000000000000002a398a3ce9c14e3c0000000000000000d1530f3d6c7f673c0000000000000000d7961e3da7aff53b0000000000000000cbaad73c0c2e823b000000000000000000000000000000000000000000000000000000000000000000000000000000005f5fe8bb8d20ebbb08d5003dd5c2e53ce08121bb8980c7bb0a499f3cd0a5013d609290babaed8fbbed64053cb751fe3c3346c43ae59675bbdf2d573b4e9fb63cfad1623b8fe617bbfccd91baa3a8853c2146533bb2e4233aea9985bb19f9213c3c6abc3a379d183a6bab45bb0195283b000000000000000000000000000000000000000000000000000000000000000074ec023c73430abc55a313bcf39f5c3d44b4d03cc82e2fbccaf83abcc2c0473de90a0e3d65d6f7bb15e8e3bbc6fb0a3d3241153d1953d9bbd06e2bbcf832df3c3adfe83c598837bb1abb0fbc04aa793c47c0823c7224a7b93950d8bb4816503b1062543b0c10733a32eea0bb71afe9ba0000000000000000000000000000000000000000000000000000000000000000ef2f4cbe40ce94bd6710943c5708933ba70f26be96e7dabdf603a7bb38651e3cca3202be5fe1f0bd3702e5bc90be023ca62cb9bdb3ebccbdabb523bd7467213c58d55bbd5fed8cbdcaf926bdd3fa6c3b1cf4d5bc5c6414bde38cefbc5786dc3af27684ba3cd35cbbbed954bc76f7dd390000000000000000000000000000000000000000000000000000803f000000009c8e123d4a3853be2d9eb23fa28eb2bd9709093d46cb41be712f8e3f096a6d3d5294fe3c6cc237bee302613f10ae113ea47ef03ca6c319be61e31c3f1e07353e54d8ad3c6f0acbbdc131b83e855d263e9da44b3c8d2e1bbd29af1a3ed505ee3dfe5bda3896f0513cc04ae7bc0277233d000000000000000000000000000000000000000000000000000000000000000030fa1a3c9643e7bb000000000000000065f4a0bbd9a113bc0000000000000000dfc6a4baa31548bc0000000000000000688dd43bb1078dbc0000000000000000ec2a7a3cef836ebc00000000000000003268923c097232bc0000000000000000d6b2843cc7baa3bb0000000000000000000000000000000000000000000000005c1706bca8cdecbbb885ba3cff2e3a3c918bd8bbfe4213bc9169cd3cdf23c93ca64d5fbb6d41e0bb08c9a13cdef50d3d76cb93bac0b185bbacf8193c2c32063d23b0023b8d0028bb6537463b09a5c33c31ae053b34919f39c2c570ba97388a3cd4c1ef3a1302d83a378733bb82e21e3c8049f53ac5735c3be3d721bbc45a1b3bf6772aba0ce21f3b4e1a63bb963f9dbb4146ebbb9f5f4bbb463fd1bb3b53363d7c4a043ce55315bc1a927ebc111f7d3d5897d23c5e393fbc50bb5bbc1963533d94101c3ddc3538bc40af44bc583f203de39f163da81d97bbc6e54fbc5401c73ca4e1e53c8e2621bbc2f711bc3669333c7d92873c20c4fa38cac9a9bb76c99bba0af7b53b008f183b815e05bb988cffbb06e8d0bbe956253b37e7b0b8d96308bc10a006bebf3043bc41027c3c58853f3b14da20be4d6785bdc6a3f93b3018f13b62141fbe9067f6bdf89844bc1562513c27aef5bde4be00bebbb70fbd25fb613c336c9dbd429cd9bd259249bdff8ae63b54de3ebd13b59abdae7d35bd857fc03bbf52a6bcf3eb1fbd889100bd6ed3a83a38be18bb89795cbc57fc69bcb5a2c7ba8cef833c4c418a3c61f4e43b7caff9b9c517533d73ee81bee436b23f38decdbcc840743dba7382be68359b3f00bab43dd9ba623dfb317cbea5db863fe029453e1182443d10e154bea5ec493fa63a863e815e1e3d520d1abe761b043f4286903e93aacc3cf10eaebd0df0903ef9ab773e79110e3ca7ea86bc1b5bb73da6f5253e2b40ffbbb27bbc3ccdb585bcc5249d3d29823cbc6420423d09ddfbbd1e407bbc0c1364bc0be09e3a00000000000000004a57dabce20e74ba0000000000000000a33725bddbc941bb0000000000000000f31504bd91430cbc0000000000000000ad067abca0ed32bc0000000000000000835acfbb803b27bc0000000000000000d1f6623a3c92cebb00000000000000002089a83b23371ebb000000000000000074aacaba9be63b3b0000000000000000144dacbb0b5ce6bb47da693cb4e2123c8162c8bbb072c0bb4d318d3c7520c53c638c55bbcfe1bebb822b313cb497043d7620aabafc991dbb013a8f3b5b70ec3c63a4d13ab457f0baf25a08babbf1a43c04e21e3be97ad2b9e8b256bbe61f7f3c936fa53adc0e023b438431bbada0d73b06b9dd3958dd653b80577fbb5632113bba50d7b9cd6a313bb87787ba29a28bbb6cf96cbb546294bb5f27dbbb9b601b3d66ef6a3c033d1abc6c8d2ebc575b483d8c19023dbb1034bc795a3cbcca503c3d36df1a3df383e3bb09692ebcbebfeb3c0e10173d1a6d48bbf858fdbbb66a803c3f44de3c68bd1339a7afb8bb73056c3b6e94733c3cbe2c3b1ce54bbb399967bbbd25513ba0158b3b8c1385ba5b69eebbee5a50bbd194b43aa61955ba607bddbb12d3b4bd69dc5cbc6f2d833b9b79013cca3103be57dcaebd48aae1bb235e3e3cabb2edbd6a0007befb1b02bd57ca7d3c2d93abbd969404be5daa5abdad53623ca4c654bd9cd0d1bd2a9e7ebd6281d83b6877dcbcf7e795bd737c63bde07c253b4ba02abceb721dbd08d70fbdea4c09bbb68d9f3ab24d23bc2dda44bcc710c3bb6f6c093c1157313c35ded53b64bff1ba31055c3d9c8a7abe0212933fcea2593e2e9f813ded898cbefa5b8a3f8dee993e6cae683d0e5b7cbed060613fd2f6c63ef03b413d92a040bebfc11e3fa0b8db3e75c4083ddaf304bea827c53e32e3ca3ea2a3a93ce6a775bd41af373ef698a63edc62ca3b6c3ee2bb350b253d469f4c3ee8ed90bb8a4bc73cfd1027bd3fa9a83d53941bbca79a213dab86a8bd4fc265bc78f494bd95343d3c00000000000000000faaa9bdd765363c0000000000000000af259ebd2fc7913b00000000000000003bec6ebded8919bb00000000000000001be5e2bcb420cbbb0000000000000000d6b28cbc812aa9bb000000000000000061b8e239d9cf53bb00000000000000002d271c3a399ff83a000000000000000000efecbb834a933b00000000000000009aa1a3bb6b22cebb6bda423c1963103ccef6babb08cdb5bbbbba383c49e2b73c20d814bb601db7bb068ded3b97f0f33cea1726bb4c7898b959bab2b9a99ec43cbd43203b906152ba3975aebb443b933ce556153b69cccb3a8257a0bb4d43493cd42d213a413d4f3b30ebafbb9d92d63badee4a3a67ef543bee694abb65d9e3b9ff415abaa23c273b2c5739bbef388bbb9be4a43ada4cd1bb99cc8cbbe51ff83cf44f923c633224bc431b16bc10de2a3d2dbc133dc0b529bc0d600fbcc81ffa3cf8c91b3d920650bb73c1bbbbd4ef993cbed6143d5a89403b55f705bcdb580c3c1034d53cbdcc6e3b545c48bb602b42bb703b633c8530c13b1e1d92b8b4a308bc5172903b95ae9b3bc71a67baf8d1ecbb272160bb32dc043b3a4def3af18ec2bb1b2293bd2f64f4bce0845abb323d4d3c8194b9bd04d5d2bdc21595bc33d7843c0a0e9abd750b12be272e42bd8ef9903cf8c14dbd5d7e07be166c8dbd2dd3403c910ec6bcfb02d8bd85df9dbd60ff953b46a53cbc826d92bd67427bbde81424bbe74e5fba39fc19bdf77116bdf3bdf8bbdaa34d3b652227bc29b15bbc34c8dbbb88c4ca3b7355453cc8d3413c1e147fbbd50c453dd6936ebeeaa1773f3fabe83e14e36d3dc08c7fbe1d705b3fc0ea0b3f07954b3d560852bea702283ff8951c3f44c81c3de3e513be7d54db3eb13c1a3ff343f93c1839b6bd7e40653e00ac083f5bab683c379d09bdfe08b13d4257c93e003f833b0946883bb0840dbbeee96a3e12a38ebb7bb8be3c8a3935bdbe06aa3d8e62ffbb985a023d0fe68dbd80cbd8bc06b50ebeeb61d63c00000000000000006a3710bedf8bb53c0000000000000000d7cbfabd0a216b3c00000000000000001ce3a7bd072ba33b0000000000000000162642bdb345d9ba0000000000000000733b90bc4922b5ba0000000000000000f15e853b164bd9ba0000000000000000d76b023b1d994a3b0000000000000000252971bc36c9fe3b0000000000000000283292bb728aa9bb4dc70f3c3159103c759483bb8169abbbf509c23b0a9fa43c12dabbbadb4e82bbf6cab439f677c83c718b30ba66ec05bb68c959bbe18eae3cb7b8a83a5f5c98ba59b570bb543f663cfeaca8398e80e33ad988b0bb6069353c1eea7b3aa98df33ae3348abbe475a53b34489db95c75643ba14528bba67ed738350e0dbab120293b168fbebaa043a6bb8b318a3b3ad7ebbb128397bb61f9c53c736fcd3cb62418bc3ff503bc6a97e33cdfc30f3d0c7d4fbb900e01bc1774b33c5543263d8aa38e3a9c7399bb17f2143c6343fc3ccd5d003c873764bbb62a2d3bdd08bd3cb059213cdcd701bbc645c2bb2d60513cf985043c11940f3a673305bc45ed8a3b5a91c53b9c3a623a4f9809bc13b701bbdab0823af9f6a43a6983dcbb624e4abd5db13abdb0b8f2bbb615733c554b48bdb301f5bd88ce0abdcb2c993cf5f817bd896a18be8f5785bd38146d3c81329abc55c109be1d97afbd7a560f3c6ff400bc5f2cc2bd4716a8bd77fc07bc3632383b5a0091bde2748bbd00c607bcea39083be7ad09bda0b61cbd9f005fbc4b71033b30ce09bcba235abc5c8729bc3f36c33bbe0a2a3cb135333ca44285bbe4a61e3d546741be57b9383fa916373f5b44383d59b441bed450193f4c124b3f5aae163d9a9a14be60c4d83efba7503fbe53ea3c3c5cc0bdfc846f3e5343423f00bb903cd04470bda4abe53d3f9f173fe41f4e3cc1ab4bbc0373b53b8d8ce23eb198cd3a50ee273c9178efbc46c66d3e8ebe2bbbae4cad3c73d528bd2f97983d020bd2bb13a4e03c683e4dbdf21321bd17ce4abe442d1c3d0000000000000000084740bec935063d0000000000000000dcbf10be5a719f3c00000000000000003596c2bd6c40153c0000000000000000d38fb9bceace873b00000000000000000f1208bc6ad99ab90000000000000000487e473c81cd393b000000000000000023530f3c40759a3b00000000000000007f3086bc74e2133c0000000000000000ffdd41bbf74dc2bb6994b23b9cab033ccc7c2cbb4e4381bb2aee8db925afa53cc64b24bbc16646bb6b6e9dbae832bc3c990619bace1d1bbb7ea31dbba30fa13c1810113aec899a3ac606e1bb6117833c600e343a5c84543a6814cabb224c293c17224939f38d363bd93270bb4c20c13b92ea6c39f6582b3b409854bac946edba360884b926a40a3b65821fb8c00281bb4515d23b92fe03bcd4b770bb9833973ca2f6d63c9e110bbced60bfbb7a9b7b3cf4411d3dcd4084bb535899bbd6e51b3ce8bb193de9528d3be60e37bb99878f3aaa21fb3c0edc2c3c6acb12bb4babf4bb5cd9b73c8ab1363cbe182d3a37e0e8bb29bc333cd49b203c55a728b95a3a11bc38ba833b8d3ddb3b04d5623a9cf9f3bbd25e1ebb3e0cd83adf53153bb538ccbb876acbbc0a8d79bd269525bc1a83903c79c453bc8b250dbe2d0f25bd3af1a23c2ab2bbbb5d791fbef331a0bd2f1a8e3c9c13273ba5e60dbe3c15babd1fac993b2a0b4b3c5645d9bd63f0b8bd0bb1d8bbd8c1e93b0e6a8ebd1ef78cbd43a472bce33a793b533014bd2f5524bd475679bcd760683aec36edbb6cb540bcbb0f71bc8293473a2c7d043cc96d603cfc3085bb7988d43c324605bedf13ee3e8740753f0218f23c7d6df4bd4b91b03eed17823f512bd33ceefba9bd46d64a3efb897d3f66d3933c085b39bdd3e1a13dcfd95b3f9cdf683c2a2e64bc30757ebcc7532f3ff544ec3b0a2b7c3b58fd21bda7f8e63e4b07283bf2d36e3ccf452cbd0f10703e3b0c09bbe0617e3c5747e7bc1d83733d91e0e0bb6c62983ceac1bebcbe2058bdf26c77be56923e3d0000000000000000ad9360be89402a3d0000000000000000d40b22be20a9ba3c00000000000000005cbeabbdd83c483c00000000000000005aa2cdbc300a083b00000000000000009938533ca178d73a0000000000000000f62cd23c071e263b000000000000000048ff763c8bec033c0000000000000000043994bc5f5d1c3c000000000000000040bb57bb58ed64bb56cb5cb9e3bb233cf97931bb2b3121bbb42b99bbd900a23cf78ff7ba4e152cbb85e2c8bb73f8c03cbe6fc4bacfd254babc28d4bbfa47a83cabe4e738752d58b72185e0bb73cb7c3c7121913a79f6713ab34ba6bbcff33a3c148c84b9c1f7c93904fa0fbb0191903bf76b9739a608e83a521f93baf9d31839b2ba4c381aa0a03a02c46c3a92f38fbb8e06e73b542c08bce37a1fbb1ce3163caebce63ce1b805bcf64d27bbc6b2f13b34b1193dfa2a83b9110e34bb5fd5803bcb20133d7eecfd3b62397d3ab9d4b1bb7a25e13c76e9683cc5ce5bbace41edbb5c0ca13cc9bd573cedc9a33a721a23bc86b22f3c43c5283c69710c3b68b8e8bb5ef88d3bf2caee3bf054b23ace61b5bb5d2975baf5f454b85cc6113bd11372bb1135a33a0e8b97bd29459abbb3a7823cdcab653c50ec19bed25839bdd366993cbce99d3c075429be193ca9bd29f1473c4140c03cba3414be7062c3bd4ccdd3ba57efb43c5fd6d6bd3cffb7bd670e84bc11ec613c715e90bdf5fe90bddad99ebc513fa83b62600cbd93c821bddfd5a5bc284c00ba42b418bcbbca3abc4a5a79bc129f5abbc5b31a3c6036673c4625babb702f603c9e148cbd86e0643eb016923fa5e06c3c668c66bd2c45f13da041983fdb6d5c3c9a0c06bd29aba63c81b58d3fd28d0d3c8b37b1bbb73f64bdf108703fa559f23b5ce59a3b3f01acbd1bc0323fd02a8a3b9f9b723c8788a3bd0438eb3ec3a76d3acf8a713c8c5947bd2e4b633ecb92c3bad1bc003ce7e367bcab76333d48c547bbae70b83b1120e03a8a6e86bd8b7780be735e533d00000000000000008d945ebe37e3293d000000000000000026bb08bed912b83c000000000000000045b76dbde016393c0000000000000000cdda3f3cbe01da3b000000000000000000c2243ddade3d3b0000000000000000ae38303da6dae43b00000000000000001a72be3cad9cd63b0000000000000000168c31bc7ec40c3c00000000000000005f7aadba3b9380bb938e5cbb9bb5673cb5d11fbbc1d3d5b9ac9647bc5198c63c186dbaba09e5cdba853935bc9449e33c06fa0abb07b258ba12492cbcae65b63c580587ba6d7fd1b891c1e8bba1cc7a3c0771d9386f53c63866f4acbb16d1483cc8c5d238c7736a3afd310cbb426ac13ba815893aa28c8939bd43153af7c65d3a53a7583a90e8153adef6963a286d87bbd1aa5b3cf46625bc7c1059bb2ac8b93b2a8ada3c4c7c10bc5f51eabada4128bbac03183d7002103b85c5c9ba644698bbf8590a3d2a273a3cfa9b823a70580cbcda45d93c75a58f3c63f3373b813f3dbc12da8c3ca41a903c914e803ac5cb1ebc1a5b123c371c483cf4e4293b5ff307bc7e6b753b1d6dfe3bcfa3b03acb0c37bb99c6b0bab5e8ce38c364583af25ae5baa040c63ca428fbbd058991bbdc71933c20772d3d0ad324bee41f1dbd7ab5783c66ed2f3dade537bea5d7b1bd2663163c7713233d1f6515be85e2cebd92d804bceb4af13cf8c4d2bd7d32c4bdc72ab9bcec9c843c228787bd632e9abdfee3d1bc2bab393b75f7f4bc3e4e2bbd5decb5bccdced8bbe18cf1bb759a7ebc41df8cbc1b0cd1bbeec3513cce6b7a3c2360a0bbd7f7903a7b143bbca60965bc6badb13fa52c6a3b18d33dba564c67bda583a03fdae3cd3b0e641e3c1adef8bd6c84963f6b11a23befaeb23c85fe18be4836733f0f3b443bf687de3cb42912bef178313f23f00b3bf67fd93cf08cd1bd42b8de3e04ac7dba14a9853cb44539bdcc9b463e28e8ab39063c45b96910c63be388eb3c864c50bb452ad339ca9dd13cc2cadfbdd50f85bed4344d3d0000000000000000bd1629be4bad0b3d000000000000000015d9acbdf519493c0000000000000000fa12213b6ee9bd3b00000000000000006ae6813d1bd2ec39000000000000000090bfa63df396c33a000000000000000088a28e3dbead863b00000000000000003412303de024c93b00000000000000007f652abcbc99253c000000000000000000000000000000000000000000000000291209bbdef706bb85095cbc7bd6fa3c2d72e5ba92de89ba79dd3cbcea61cc3c025302bae87fbbb9067cf7bb582ca63c8280efb81ada4d3a4903fbbbfa76683c91ae2f39c36f2c3a248c8cbb49431f3cb2cb9a3a0dccca39c79a89bae64ca13b6433b23a912d0aba2101703ad055b8390000000000000000000000000000000000000000000000000000000000000000947af63ccec568bb41491abbbe6920bb093bf43cd85ddf3b6be263ba571106bc2253de3c103e833c4b86063ac18c23bcf949ac3c43ef983c659ba03a0fcb54bc2990403c38f1863ccc393a3bf73330bcd9e5c63ba3b24f3c7298693ab4b4dabb77377f3af17a9e3b019fb13a817089bb00000000000000000000000000000000000000000000000000000000000000006d126f3da2f94bbec58558bdcc773e3c883d5b3d3c4a25be5790adbdf20eb3bbe9d4213dc92e04bee756cebd5a16bdbc50130e3d5b16bbbd2b95bcbd35a404bd80ae833cedae50bd0cfc8bbd7c4c0dbd4209323bffbfc5bcad2c29bdc272e4bc9466c2bbb03ca93a49c008bc67b46abc000000000000000000000000000000000000000000000000000000000000803f0c8eadba42b6ff3c602b5ebeae5eb33f0c748a3b9842f83c86b453be1679903f0235113b74fb093d1b764ebe65b4673f46e9b23af3cc163d086333be0407253f7ac0753a19bbf43c31c9f1bd9818c33e5f9245ba83f9873c167845bdff4b2c3ebfbe00bb1e26a13b9912293cbb0dbabc0000000000000000000000000000000000000000000000000000000000000000803cccbdf86c753c0000000000000000b49dbe3c0f033db900000000000000001681c63d22fee9ba00000000000000008874043e516a113b0000000000000000d6ef043e87b3b63b0000000000000000efc1cb3d38f3013c00000000000000003084253d6d1d363c00000000000000000000000000000000000000000000000000000000000000000000000000000000699647bba036fbbbcbdd9cbbea54fa3c9abc0cbaad209ebbbf834cbc2a9f893cf29111ba83d7cbba8ebd5abc7ea2e03b1f02fb388d328c3a3ffc30bc427489ba5e559a398fa4db3a679dabbb555713bc0cb33c3a82cfcf3aedcfc7bac294a9bba538453ae43e9239f3f3123b767b5abb0000000000000000000000000000000000000000000000000000000000000000eff2083dca311dbc1f8521bbc8dd5e3d8d0f5d3db0b80dbc2dda28bc4713593da6d5633d6f64b5bb1e562bbcebe8163d2fae3f3d61b5e93a4f6451bc63c3aa3c2527023d34eee03b4a672abc77820d3cb0ea603cdd4cdb3b8be5dabb1ea54dbb014d98ba8c4ad53ba31452bb7a25f7bb0000000000000000000000000000000000000000000000000000000000000000e304e4bdb30a22bea5e4013c4d73e33b764b47bdbd0f30beec8063bd2b12ad3ce08f62bc48c014be7c37ccbdaef6db3c4cb7123c2001c0bd288cfebdd5bcb53cb1f2853c54761fbd00baedbd67bd663c12bf1c3c9c6780bb48a79cbdd16e9f3baa29ce3a5e3eac3ced27b6bcc9a607bc0000000000000000000000000000000000000000000000000000803f0000000045e5a23c558379bedbc3b33fd4b0283c2fe8ff3c988f8abe215a8a3f1e2d623ec76c1e3d41d185bef43e463f3a98b03e7ded3c3d4ded65be9ae1f63e64c0ba3e570a2c3d0a4122be4901703e3ba7973efcf7e83cdfb08ebde6827c3d802b2f3e387a303cbe30993aa84175bdd5989d3c00000000000000000000000000000000000000000000000000000000000000006fb042bd320f4b3c0000000000000000212968bdf9604abb0000000000000000f9fdf0bcf4bdc9bc00000000000000007a48993c5a6128bd0000000000000000fa278a3dcaa654bd00000000000000008277ab3d2ab72fbd0000000000000000a300983df0eeb3bc000000000000000000000000000000000000000000000000c8941dbbd987e8bb01b90d3a1e13ad3cc51d1fbbc0fc3cbb873028bcf2c4933c70ad86ba360195bad1b265bca2f0183c5faa48b9cbcad23a6f742dbc3a902abbb4ac98ba3039783bcc7998bb5c3f31bc82cd8c39a2b2b3398a72ff399d492abc8bf1d23afadef7389639e43a357cd3bb2d243f3a8ceeabb94e687a3ae6d3083a5b626c3a2077a63a96ec9439bd86b73ab9d6283c9aaac4bbfbbf22bb3db01f3d3d1d1c3dcd4a0bbcab2c96bc3d5d7e3d7f347c3dd88f25bcb7dd82bcec67413dbf596a3d3c8e623a9ddb89bcdf83d43c782f2f3db1e7e73b57ed73bc9d79f73bd10dd23c87983e3c765c08bcde35b4bb3e4a173cdb163e3c62248dbb81c115bc1eefc6bad82a913b3a5bcc3865a394bb049636bc32443b3b534f79bab150dcbb356cc2bdc2bda7bd9d9c153d994672bb039580bdb0b21cbe70ffffbb1012043c1c37cdbcb73831be84d69cbd73b9cd3ca4ddc63b8fea03bee8c802be0292cd3c5a98af3c2f9d85bd34c413be9a74923c5f29913c5e13a1bc35d0fbbd0e6ee03b088fb93bf8a42a3c738196bd81dad8bb6b668ebb55ca143ce5047fbca847ebbb9b0332bb0caab03cfdfac33c94292ebcd584063d72c977be0627b43f3aec973c98d3933d0c24b5beeac0a33f444d233e593e883d3098afbed3057f3f8efac43ef9d4933d224795beebdc253f7d2bfa3eaa748a3d19db5ebef4d5af3e25d1f23e212d503d5206fbbdac73fa3d9990b83ee041b83ca4cef3bc58898fbcd2ac443e5be2f6bb38faef3c5ee150bd821f083df5a704bc124b383d1be7babde577a8bd52eb80bd4873ad3c0000000000000000e3bf88bd73796a3c00000000000000007b61b4bd8647013b00000000000000006f0f3cbdaf6da5bc00000000000000000c8fc53cd39829bd0000000000000000b363923dde3d3ebd000000000000000024f6c43d12661fbd000000000000000083b4883d251098bc000000000000000081bcc93c7dbe753b0000000000000000a7d8beba239486bbc05287bb511e573cc9be87bafbd70cbba3e41ebc22cf403c55087aba8ade9dba05985ebc956b8f3bf0d3a53ae1370e3a76ec14bc5a70bcbb9b03113acb708a37a83154bbf49f20bcf518993a22bea3b9cd99ce3af0011ebc9da6833afdfd0c39c886a43acb3854bb9a79c5b99076883a5142fe39e58ee1396742063aa82f003908534c3a5eba483b8d78763cc7a708bcf6c0e8bbeb01163d1ade293dc56215bc7b2d8abc1a15463d1c786e3d4ffea6bb1f4450bc2246143d28614d3d8096a63b0cd484bc70f4843c325b153d5618443c277328bc13e7453b827c933cf64f813c5d49dbbbecdbfebbf2a9943bfdbe5e3cbeac5fbb41df09bcfe3144bb4b74d93b553bcf39de27b0bb18730dbcc3c00b3afe8a4e3a73ef70bb3f9d5abdfdd19fbd43dfbe3cc247073b6bc51dbde15119bee15fe9bc39cc6f3cf6f917bb981622be49c1cdbd3670d53c89619b3cb0ced5bda01910be7a189a3c9a47ae3c295c53bd6a5114be6ac6003ca463523c72ac4dbb43aff4bdf01c95bb4dbe393b69a2393c41b983bd1a637cbc37ec00bb7468fe3bcbe020bc2cb87fbc0ddfbdbbdcd2233ce64dd73cc8d8f4bbf151393dfdea84be174f963fd377853e2e48993d3d94b5be97558b3f40ced03ef57f873d2cc6a1be5baa4a3fc639103f7479923dd20c7fbe4337ef3e6d5e1b3f0cdd633d1e992abe1f75603efe39053feedc2a3d15099ebd9a77ef3c5841c43efc96843cad5119bc203d29bda8be363e7f6dd2bb669ce63c7c455fbd8043a33cd46f4fbcdc5a1e3d21403ebded97a3bdf88cfabd8983003d000000000000000068a308beeb91c23c00000000000000001714c4bd1aa743bb0000000000000000095fcabcccf5ddbc0000000000000000ce0c6e3da88237bd0000000000000000a0fbd53dfaf647bd0000000000000000fd36f33df4350ebd0000000000000000ee7d9d3d3fcb58bc000000000000000045fc3b3c451ee03b0000000000000000d03e0ebb9a5839bb38a8afbb76f5393c7ef70f3a9caf2abb01543cbc443bf03bc3e067ba6ecbf93a3e4435bcdea029bbcd67fb39d41a2fb85bd0c7bbd3b319bcafad48ba8e52153b98616c3a7bb53ebce26d69b829afce3900265b3aa62d07bc4cb9723a20b509baf933053a2d843cba57a52d39ddbc1a3960ee92390a4c263b05a9383a80a91d3ae830413a86cdcb3a7d1b9b3ce3a213bc8764c0bb4df9013de55d383d828b07bc90df81bccb93213d2c87613d6688eb372d9579bc55a6b33c8cb83c3d1634283c165a30bc051dab3bb0e8d93c24e49e3c602a30bcda4deebbbcf4553c779ba93c522c3cbba9e625bc613d97ba87d88b3cb5ea9b38e1aa1ebc2dc3cbbb0a05173c7134ab3994398dbb2c7501bcbd93c238773f3d3a0fcc8cbb0fc625bddba3b3bdbe37773c45d8f33b3b6445bccf5516bee00352bd3e9f9d3c787e933cd13509be036d00bec59dd63ce4dbd43ce847a6bdc06f22beb334853ccbc5c53cc793d3bc713f1bbef4f79dbbae8c4e3ceb73503b6e58e4bdc37c90bc539aa73a70cc4f3cf69957bddc22d7bcad2ab0bb34f7e13b0b5d7fbb1aabaabc15a887bb6665013cb121fc3c98b129bc5cfc2c3db59080be67ae7a3f9d70043fa82f933d6d04a5be6073593fd776283f112e913d9ad68cbe3cc6103f0328403f66b0803d914e42be58cc8e3e375b383fab535a3de923e0bd5395813dfc19173f09ddd93c43ec01bded8245bdd297c63ec29f023c8a41853cfd7f9cbda350283e276ad9bba389003dc5ac43bda23ce13a058f3bbc98fe073ddad014bdf366b2bda88742be2784263d0000000000000000b3da3bbebf25013d0000000000000000f1ded9bd9bd116bb0000000000000000f00039bb07b60abd000000000000000075d3c23d449d51bd0000000000000000f146103ed85b47bd00000000000000000872133e024205bd00000000000000008679a83dcdbef4bb0000000000000000c0190e3b10d44d3c000000000000000012e085ba900e3cbb70eec2bbd4c5143c4104d238cba440ba6bd026bce33ac03a44665d39b507b4b936730cbc9a1af9bb178d233a06da923a14397bbb54be39bcf5eac4b81a71aab9e52118bb0675f8bbb15f1d3aec7ec9bac760303b181ababb71bfc73af54c8aba37c1723a141373ba10ea83b91f497a3acb45413a6a3daf3ad75c6f397d648a3a54e373b93fd0793b231fb23cb10123bcc692cebbb8cfdb3c0b5b313dc6c0a1bb8e3d74bcd84ee23c10214f3da1b4b53be29a43bcbb642d3c85cf163d534a953cb6bc28bcb1d181bbc272a83c8fb0ba3c7c9b9fbb4b5cbfbbab2f963b9a02d43cb690c9ba741f79bc6ca17abb95d58e3c1585c93929761abcf866c2bbd21e033c3db9883a213ac3bbb1aa12bc5601c2b76a33ea39e77c05bb9b77c2bcd20ebabdda4b543aeded473cdd650e3cd44e09be34a993bd9bfbb63cac81043de0e4e2bdbad913be80e2a73cbcde0a3dc5476cbd19c129bec17d283be919ca3c1b49d6bcbf1b0cbe9af3a5bc240a673ca07f3f3c9030d4bd283509bd333391bad4e06a3c7ff027bd9b670bbd1d961fbb0f39ac3b62bd363b0cbfc5bc5b31dabb17fbb03b185b063dabc602bc87771f3d759e63be2be43f3fdbdb433fd98f873dce1087bedc1d163f10dd643ffd2f7c3d573d55be8e94aa3ed9a4693faa92593d9df7fdbdf7f2bf3de3b74e3f9c98163d26bf92bd6907c9b89b67113fb5c0aa3c5fb6b93b661ff1bd463fc43e5a03593bc91a063d0698b9bdc15e103eca9510bc3781013dfa9e2bbdce6e3abc462645bc12d9f13c4036a8bc5d09bcbd222375beb2a13d3d0000000000000000ede45cbe88ad113d00000000000000002c67c0bd84c708bc000000000000000045752a3dc15125bd00000000000000007f571a3e1e9b42bd0000000000000000a4cf3d3ee64044bd0000000000000000c4a6253e554fc7bc0000000000000000c8efa53db23d6dba00000000000000000b4de8bbbf3f813c0000000000000000de2ce039d1d856bb9ff0d3bb1355973b283e90377048923a70ae29bc1e2204bb49f0ba397e643d3a7d97f1bb5b8e0bbca73d753ae2aa83ba289b34bb3a3b26bc6f904a3ae804deb96ecbb03aec560fbc8a4a9b3a98e685ba7b9c073ac02d64bbbb9cf03965e7aeba8374c93a278dd73a5f53afb966dd813a63a626bad4fc423baea6f03996f39b396724d939df08663bbc60c53c0e362bbc4e3fcbbb5d74b93c826b2f3d026fb3ba33dc57bccf5f6f3cd324303d7acc4b3c5e7315bc3ac31bbabb45eb3c1cb4c33c21b996bb30ac4bbc113a3f3c39c5f93cfeca44bb426693bcea20b139aeaee03c5c8bb23ae53875bc90fadebb3068a73cd324013b0d8e25bc86c7dabb4f52033c2065f43a10a27abbd6e4f8bb851aabb9e942983a79d535bb22c717bc0f4fb6bd794e35bcd0388e3c8dd8ed3cd38cffbd8b1bb9bda2b1b23ce3c22c3d9102bdbd9b0c22be277d603c7892113d6dd92bbd3e9127beb94720bcee12d83cd00368bb5f590dbedadd09bd2b050a3c81363f3c368cb3bd2b7c32bd4d7313baf867343cbab208bdfdee30bd1bdfa2bbf686633bde0bda3bf475cabc5b04aebb68211a3a7872073d385200bc14ff063d1cdc31be795e003f147e7e3f6e0d633da89d43bedd0ba73ea77c8c3f0fa44c3dd7fe06be4348e63db2d7853f24601b3d654163bdaa445abd5a965a3f4850dc3cce4e9c3ad4871abef5511d3f928e203c626b213d2eba19be67d1b23e795d77bb0197383d33c7c9bd0f88f93dd2d11cbca8c5e93cb3dbfbbc3099b5bc6b602fbc139eb13c718f47bba3fcbcbdb9b287bee25d423d0000000000000000c3bf63be8c870d3d0000000000000000497889bddeac2cbc000000000000000061fdb03d59b820bd0000000000000000781c453ef01353bd000000000000000028d25e3edc5e22bd00000000000000005c73313e2bba87bc000000000000000046e59c3d8c90cd3b000000000000000020d09dbc819c983c0000000000000000d934ad39db3c6fbab0e9ebbb516c4b3be6201e3a7d7d2a3a5e4a0bbcd33680bbb14aed37326c603aa806bebbb31a1bbc6ec1253a06756f38838fefbaf2e11ebc72bd1e3a752fa0ba47bd38ba81edb8bbd1129b39b5adc4bae13dd83ac9fccabad5a9513a635705bae3da5c3aa375903a93db8038ccf48eb9d452dc3aa5f7233b0d999c39c4d20c3a395f8eb99640233b498bbd3cf2cb01bcd3b4e0bbcdf15a3c1cc11d3d7fdd2e3beea11abc932cef3aef7d193db5b7963cc8a402bc05b805bc24d9ab3c9a26f73c429e12bbae909bbcf8fbe13b6c10093d0ee7e638c68285bcb527d2bb1ee2033dc87f163b16057cbc56290cbc6fc8b03c6449353b3c142cbc6558cebb5b8f073cb9f68f3a8b985dbb093f8abb243629bb8a32363a6f37d9b982fd1b3ce31ab2bd9a839abca6e6903c1436333de4d8e8bdeed0d2bde2ed9f3c30b54b3d8b84a1bd73d826be11a88e3b9709223d64fc01bd410628be8f4bb6bc738abc3c193580bbf284fbbdea0c47bd8ddf223c6da24f3c48b49bbd69a264bdc74d8fba5b712f3c06a4d1bcb77246bd4834cdbb9798b53a5882183cfdd0dabc31fb9dbb4bca96ba43f1e43c2fad2bbb58d1c23c50d8debd9b78803eae37983f44ae1d3d036ed2bd921a953dd6c8a13fe3b9203ddc7888bd559176bd0b1e8e3f55c8d63c021ab63b43653abeaf2e603f88c27b3c1fa0063dec2746beae70143f2908de3a9bf1733ddc9b34be0250a33ed2aaa9bba1b44b3d302bc8bdcd01cc3d167607bcc235c73c11fa9bbcf895eebcb41715bc3701273c6d8d5c3c9140abbd85408ebeaf284d3d0000000000000000e06551be9816013d0000000000000000557b1cbcbaa197bc0000000000000000d7fd173ea1ac38bd0000000000000000962f743e1b3729bd00000000000000005b097d3ed3f606bd0000000000000000a52f323e83ecc4b800000000000000006b318c3d1363733c000000000000000011a7d9bc8108883c000000000000000064088639b1cb67ba644f0ebc075a2a3b50dea039e402113b3a3606bce535e0bb24240d397c88233ab0fa8fbb31110abcb3cd253a196228baf679e7ba522402bc60c7b6b8de730cbaf0f5a53af54be7babe5e203a55e6dbbaf038f63aa0492f3a5adc033a0ecee1b9eb612ab9439c233b31f26dbaca4bb63a40a3a739703e143bb5e23f3a2e3ae039700519bab07d283b7cc2e33c363ee4bbd616babb8c4bf23b1271083d9ef2113c484fc7bb8e0b5abc8898e03cdd3ed93ca62400bb8ad8bdbca0c24c3cb133183db929d039f110c0bc9bbb29bb921b1c3dba3b2b3b3ef0bdbc60060bbcfdde013dfb158a3bd18087bc43e10cbced52a73cd3e8673b843d07bc3885a1bb6f60dc3b0a419f3af8a8bcba6a855dbb62fd8abba371f3384319da392d9ddc3c33a8dfbd3a632ebd56b0cd3c6fa1813dfb37cdbd7d17ecbdd0b3793cb446743d9be67cbd41bd2fbe4c67afbb820a263d63aea6bc64ac1ebe134b22bd3b92a93c7319da3b1377e2bd4f3682bd2adb993b5b3a563ceb9c75bda96986bd655b98bb2eb4fc3be4e378bc7f5354bde040a0bb53062dbb9972123c1d94bbbc74c9c7bb6dcd3bba6a3ef53c6653423b5a25883c6c885fbd9f3a8a3c3cd6b43f7ca0bc3c9c3d70bcb8901abe97d5ae3fe087bb3cd20f6b3c551476be72a9943f7720623c973f633d88678abef511573f33643a3b546ca83dba2f83be6d8a073fc18bfebbd351a93db1a63ebebe4d873ecb9142bcae8e6a3dcdd4aebdb2fd793d3e12e7bbbda6383cc2364e3b287714bd0c94e5bba625113bc91dfc3cff8cd4bdbcaf81be61fc093d0000000000000000feac1fbe5adfcb3c00000000000000007ae58a3dc6cbebbc0000000000000000e722713e844449bd000000000000000082709c3e227726bd00000000000000002418903e8169a3bc00000000000000002df1383e710c073c00000000000000004cd37b3d39759e3c000000000000000057bc47bdc098a73c00000000000000000000000000000000000000000000000022d58db97ad40e3b8acd1fbc632180bbedaf22bafed9f63a9ace99bb2c7a1dbc908834385f9d7c3aeca0d6b9ff5a01bc12f8613ab6308eba86a7ba3a9874b8bba751d43949998ab623f3003ba28c93ba602954b8e63672b76a71b33a6f2a963ae9f31639627abe3a20d356ba37bd303b00000000000000000000000000000000000000000000000000000000000000003c1a0a3d33d96f3ccef2e3bbc62f2ebc2369af3c2480ff3c960237bbb7f5b6bc8a21023cb69b263d6c1c22bb8a6ebabcf6a537bb6335253d7c3c1b3b579bb7bc378c27bc45f2093d1e3e243baf3286bcfc4c28bc611ea33cecc4293ba81cffbb6bbec2bb0f2fa63b03f6d73ab96b40bb00000000000000000000000000000000000000000000000000000000000000004df9843d52eee1bd52580cbe009f3e3cd304773d90c146bd976124be84b5bbbcc38c2e3d85679bbcb4970fbe029166bd8bd5ba3c8650683bf0a0c5bdf39b9cbd739b023c2d8e413c96e944bd58af9fbd7982cfba40cdcd3b7cae14bc3bd366bdc290c2bb066a053a3f15aa3c0581c0bc000000000000000000000000000000000000000000000000000000000000803f63c8b83caa77253b78b984be1b56b43f83f3c63ca29d023d7e0e99be5d8e8b3ffe2f833ce279753d216d98be43b8483f2f4fd03b6541a33d8da485be683bfb3ec64ca5bbfc379d3dd15b3bbe000e753e6db70ebc9aca523dfdf1afbdfb1d863dfa4d1fbc7f0d9f3cf4a9b6ba3fbe6bbd0000000000000000000000000000000000000000000000000000000000000000f840a0bce9055cbc0000000000000000c084293e1933e7bc000000000000000065d9953e3607e5bc00000000000000001924a33e2a0bc8bb0000000000000000a9918b3e2166863c00000000000000007c77283e9478053d00000000000000000f71e53cdc07153d00000000000000000000000000000000000000000000000000000000000000000000000000000000b1e7803b73a0413b07a68dbaed529cba3221093b88f1453bb6198a3905fcc1bacb83263b3f07623bc8faed3ab7b4a2ba0d7b68b9c88b4f3b5775363aaa679d399e75043b50b7813b8981033be490dcb959afac3a68c54a3ba15c873b7ee13c3a0381f9392de36b3b38e6823b1fb15f380000000000000000000000000000000000000000000000000000000000000000d6b3af3ab455dcb9216310ba26211dbd2bd38038a55b0ebafe30b8ba0aa305bd92a7aeb91cb874baa3a215bb19abe9bc06ffd93a41b2483a74110ebb7f3dbebc292e19bab6ec2abada6388ba5b9b96bc662a8fb90ee6b9b63d07473a218a41bc5b8d86b9695cf3baea323b3b9c139fbb00000000000000000000000000000000000000000000000000000000000000003e5d6ebd8f5a1abbe6caebbaf8e15bb88c9269bda5db8bbba46ff639469aa33926a058bd2bbaaebb78b40a3b4360b5396e6a5dbdf418a6bb25677f3b018e833aee852abd1af3f3bb40de7b3b8e77e1392a7a0dbdf32beebb6a44723beda29fb8eacdd0bcad67bfbbeb73223bdbaa193a0000000000000000000000000000000000000000000000000000803f0000000000f26d3bfb26d6bca491893f0b5c12bc576c173b6e1281bc25e9653fc093743bc45cfb39d2fb60bc91aa3b3f8f18293ca7cf913be1177fbca86c123f7d15643c6065e4bad19ca9bc4de8d33e4eac6a3caeefbdbac186debc41a3853ec4ee443c5fa716ba34491bbd5affe53db76b183c00000000000000000000000000000000000000000000000000000000000000001c1c293bed6eb53a00000000000000009162733badcc0f3b00000000000000008274843b3ff41c3b00000000000000008e86e33bb91f623b00000000000000002a3ab43a9f6a273b00000000000000006cbbacba49bf173b00000000000000000b4e60bb8b281f3b00000000000000000000000000000000000000000000000038551c3b1ac3273b12078bbbf4a921ba14e0963b4718fa3b0aeb8839d47babbac7f2653b80e4d43ba8629f3a6b512eba05c4493ba0849a3b1157023b13bcddb91e8a0c3be4637f3b9b821a3b79235c39c2d81f3bab13a63b1c12af3bcba8f3393c98f43afa1d853b439bb93bcde39c3a6abf193a2630743b7ac2c83b0724383b9b2a49391fd2233b6eb4903bcb5e173a7dbb183bccc04f3ac665c03a312f17bd12d2c73a968995bad4044c3b4e7b36bd4719e13a04c4bbba9b48e83a431e1fbd42a0423a7018f7b9197953386b840fbd5f7f98b9cd6dc2bafda291b9269fd9bc1f1303b967901abaab1e033b7f60b1bc26a1bab8ccb935ba94b7153b198a48bc151ccfba9a92dfba62c88d3b427e41bbd35d8eba635d5dba6fb4793bd539f53a20d603bd52a0bb3a56858abb73c4413aef8a85bdfa22cbbb43e483bb73d1c039133e91bdfa9e17bca8a2ccbac509153bd4ad89bdffaf25bcb5c0123b0374893ab85068bd1f7f27bc8522663b74999b3a40c158bd1da13bbcecd4a03b133523b907a432bdda8430bcce19993b08239b384e6fefbc16affabbcdfe783bca259abaf27a54bcb1f083bbc3a9783b757b7eb92b46cf3bdd9556bdaa1a893f17b0ec3d22edef3bdb5770bda8c7803f5715e43d74a86a3b0bc626bdcfad593f1279de3d958c3e3b99a511bddb20313fb300cc3d97a59e3a778805bd0a6e073f2932ae3da8f2a03977a41dbd1d22c53e08a58b3d324eb23ae9a638bd4603743e57ee483ded333d3bc50649bd80bec83dc0cfd63c89f60e3bd3b026bd8b2aa4bc05d1d93baa9848bc0e020e3b000000000000000099e02cbc435ea93b00000000000000004e35a2bb94ee7d3b000000000000000016da2dbb7b98773b0000000000000000df91b8bad6fa803b0000000000000000b81f22bbb83b573b0000000000000000810cbfbb23c3573b00000000000000006fb004bc3635673b00000000000000004973f5bbe759ff3a0000000000000000a9b4403bbfcdc93a84ae68bbefd0abba66478b3b50b79b3be8c1d7bac8fd72baa045ed3ab2bf963be695453907c80dbb862d4a3b1451a63b4f681a3b20dc453accc8413b5cdc933b3464ae3a45099c3944bae538cbe59a3b1d74883be75f863a73f30a3be980a63baea67b3bb37d1d399c67a53aef1d4e3be1c3ae3bbf6e2f3aff362d38038b1a3bba25563b2348ab3a3a491c3b550d44ba27f53d3b744bebbc328c2b3b97bc0aba1547573bcdad23bd530aed3a88bb21ba760fb33a1d7404bd4769093bff8aa6ba59ef9c3a4ee1f7bca3c7ae38430491bafe3fea3a0da7b4bc9ea25b3a374503ba35d8ed3a52f48ebcd99268ba737d2e397506713b125d2bbc451fa7b9c68fa9ba67427c3b687404bbefba9a3ad8e594ba21f0873b21e16e3a728fc0bc1543193b8212abbb4c8e223b617053bd4816b3bb594484bb335fcd3a096760bd05512cbc790a1b39cda7fa3ac9a47bbd19de4fbc8a0ba93a1998a63af11945bd1a304dbcf7615e3b8ee1db3a069343bd536471bcfc1b9c3b1a588d3932f519bdf92040bc4f53ad3befa1c63aa16fd0bcd38525bcd64a933b18d6bdb95d6832bc89a939bbbe1a543b11e8da39064dc33ba8c95fbd8510663f132f873ebb850b3c569986bde32d5b3f46ca803ec946bf3bae063fbd5cba353f56b1673efc9bbf3bdeb146bd4eba193f13ae463ea5392d3bc17b20bd739ee73e95e4203eb0e12e3bb4e439bd997faa3ec4ab003e268fc73a973d29bd6e8a523ed337af3db874863b23144dbdd0c0b13d0faa423d1f1ee13a589f14bda23468bce738fa3b3906bbbc5457833b0000000000000000bb2fd0bcbed4a43b0000000000000000ac3276bc2033aa3b00000000000000006dcd3bbc4a59943b0000000000000000fc66dabbf0e69a3b00000000000000008c450abc58c08b3b0000000000000000bafaf3bb33af8b3b000000000000000042221bbce61d593b00000000000000009065e7bb7ef1d43900000000000000007017103b03f6b43a80e47bbba40e8dba9d68533b58c57e3b8c2c28bbd913b5ba1782413badb78d3b602ea8b855a151baa4c7253bf2968c3b5e9465392d12cfbac5b8f23af5565d3bdfaeff3ae599033a3f75ff39ce58613b32e2863bf0ad703ae929683a5469743b5d959d3bb2c6823aeeca113a3e56543b737e983b3564033a1ea7153a791f083bb2ca463b438ab6392a42403ba682513903450d3b5be3d1bc31d91f3b618764370d222c3bd1010bbd746af23a6f5f82b95043d33a000af9bcb20bf13a3f91a1b932b1913a31ead2bc4c33213a885d09bad4e90a3ad293a2bcf4be533a4e323dbac5430f3b46585bbc68962939a77fb6ba1487283b7e60febb979f69ba7870beb9c36e673b74a3a9baa77faab91ada60ba480f5f3b24c0203bc268a7bcd249453bcf497abb746ad93a607a3bbda16e02bca5d461bb8776183b0f4660bd6d0a83bc0a2723ba75a0053bb33c5ebd65f399bca7ad0e3ba4a3163b77bf45bda6049abcbb683e3b5243fb3a2e8f30bd41f098bca59a683bb662c13a11c40ebd813c8bbca87ba83b742f123b80aec0bc520a48bcb711ab3ba144a03a817e24bc1d23a0bbed71703bd3f09e39d9adc73b332446bd200c3c3fa8c6d53ea432093c03167abdaed4323f8ca2cb3e9941ed3b07fd4fbd5ec9193f0fc4b33ec3e3923ba45f38bdf66cfc3e7793983eb944833b2a9c28bd41f1c13e7daa743ef0088a3ba79b31bd2e288c3ed190393e8402293bd81137bd2f322b3e5e6ffc3d498a7a3b12c731bd8cd48a3dd152853d2485ec3a5e49f1bc2f1680bc9d991e3c102108bdb9227d3b0000000000000000d0f016bde15bdf3b000000000000000034c5d0bccfacd73b00000000000000006ba491bcb515de3b0000000000000000923a43bc2348be3b0000000000000000ae2a16bcdd69b33b0000000000000000a06317bc7a2c8a3b0000000000000000888b18bcb2ba453b0000000000000000791bafbbdfc00e3b00000000000000002910433b854b733aefce84bbcc4997ba35cf633beda5373bdfab27bb79daa9bab933583b011d4e3b05c16339559b68ba11e503bb7ef1fa3b71ed0dbb2099cd3b1d4059bb968cb83b3955a53bc5d257bbb984843ba3d829ba9a0cf03b211a62bb25bf91394246563b7f5d683b2e88c33a1f370b3a6e7a403b937d883b31e87a3a7fce92388bd8cd3ae6d4313b675db7392863293b9fb86939eeb6663b34c5afbc01d5033b7949b5b9b02a693b144bdabc0900e43a90546c3941080e3a811ebbbcc852c0b959c98cba55139c3ba92a84bc526a743bb4e266bbe9e9863bb10a12bcbbe3883b9704a3bb43c0c13b4a236dbc5afdb438fb1c31babdf4fd3a3c6a92bb1ceceeb8f336beba3d29583b5b94f338f18f0cb95a7383ba5014353bab33213bb16cb6bc2d57473966117fbba122e53a3fb42fbdae7655bc9237efbafe84d83aba2641bd0edea9bc65d8e337cab80b3b22525bbdcf06e0bcde4a9eb99c7c9d3a57f41cbd417db1bccd699e3bc0caca3b611511bd6a10e0bc301ddf3b35afaf3ba782e8bc8fbc95bc9742283bde47743a0b84a3bcec3c5dbc9eb24d3b9f2e3a3a372e12bc6bdcb7bbccf83e3b7882f439d8a9a53b0fb12abd9a01133f862d133fb47bea3ba1e44dbd0dd8093f734c0b3fd835bd3b861c23bd8b17eb3ec17cf03eb1fded3a59df2cbd1050c33e8b22cc3e067925ba7e9efcbc89c7913e7298993e55d5503a75a126bdc0535c3e355a723e64453a3bdb3d0cbd2cdeff3dac571f3eb8a0323bb1430fbdc2873f3d62a1a53d32e2243b4c71c6bc83778cbcf65c0a3c5f8728bd64d6a03b00000000000000005e6539bd7102123c0000000000000000f81bf0bce7a7ea3b0000000000000000d53b88bc6027a13b0000000000000000bce55bbc9a421e3c0000000000000000f7aa66bc6bd0203c0000000000000000fd73f8bbaf7b763b00000000000000008e66e7bb28163a3b0000000000000000ddee8cbb86d4ba3a0000000000000000a810c03a1219d43a6d2f39bbb2ffa0bafb96133b44ee8a3ba6cd48baac7f7bba623ac13a75a4933b4c66c23a071328b948f2223b92cf7f3b65413c3b2d2247ba7057913af646503bb5f1283b4b0cbf3af261663a3a3b7c3bfbf37a3bd499df3a744a2b3aa897583b2ff58d3b8fc4fc3a719e97399b072e3b8cb9863b4426e63a03e9ea384bd4d03a2df6213bdba37b3a11a9243b77e0493aa344e33a876583bc27e7043be486b13a38290e3b758aa6bc9f10a93a8e3710baff51663aacae94bc8d42aa3937dbe038f4eff139778572bc2ef7243a9983d5b96810603928ac38bc7d3b1638fa9020bab507b13ac2bae3bbd250d33a252492ba2091c83a48321ebba87535b87f129bba6d851c3b8f49083b886ae6373dd86dba58def73ad4aa653b7191cebc1cdb8abbafc381bb596cc63a6fc43cbd7935bdbc2be895bb03aaa83ab2e953bd28b709bd337bcdba267fc43a754948bde08916bd96ea913acb51393b3b642dbd590305bdb2dc0e3af8d7f43ad5e216bd0a19fdbcb07f1a3a272efe3aef8ce5bc2154d2bc34ee6c3a8d38d83acf298fbc83648fbcaf5d023bfc25963a94faefbbe536e8bb1cc6213b06752f3a8446a03b608607bd20e3d53e5e4a3c3fb336e03b412f2bbd57e7c83e4b60343f3998c03bdcb70fbd2bcfac3e95c41c3f0540ab3b87b710bd85058e3e3b56013f4ed7663b1b83f2bc0784583e64fccb3e1d88323b7c61fcbcad40163e1a12973e3dc61a3b988bf7bcc334a83db2d9443eca192b3b99c8e7bcb444b43ccf01c23d2910d53af85c98bccc99b6bc202a9c3bd3c946bdb05c8f3b000000000000000082df63bd46a30a3c0000000000000000f2331ebde5ce1f3c0000000000000000f986e0bced5d103c0000000000000000166481bc9e4fcd3b0000000000000000903335bcb824aa3b0000000000000000184403bc763b693b0000000000000000ef62d3bbfb40103b0000000000000000689772bb3e70233a0000000000000000aac12e3bc79e993bb17e3ebb808f0cbbb6b8bb3a5f2e983bf6c5e43a51353eb9b2bc003b9b627f3b18660d3ba8f023baf123d3b87fa7a83b58c9953b4cbafb3a79a3cd3afbe99a3bad69513b28b4033b4c9a89b93afc953bbda1813bdc71633bfe1ea9b82e3d2d3b534c963baf11363b50830e3962cd093b2dc5853b7a98413bdff912ba9179213ae411ef3a197eac3a7270f4399041a53841e9083be51432bc3d1cf63ae5f7b2397486a93a92295dbc988ef73a38d9e4391632fd3aa5951bbcd684f937bbaf14ba982b133acb1117bcba5e66b97489cf39cae9163a3acbefbb7d73b13acd6e64b8a36ed83a05c32fbb1c47113a8e4454bad1a6723af1b381b697daeb3992a65fbaeb9db43af5ee883b589764b9c7fe0eba4a27153b5547863bbec3f6bc87eb38bc570280bbfe0a143bb7f648bd9c0215bdb8c9b2bb0e5e703ac78843bd6e8c2cbd445390bb79f1103b9d5849bd56113fbd1bc0f3bae184033b80cd16bd20581dbda5780abbf75eca3a1ce30bbddb9122bdb4cc5abaf63a4a3bc925c6bc0f44eebcb3b570ba7638fe3a5d0963bc7e30b0bc16239d384e159c3a39d450bba3f317bcb47b4e3a509e103ade576e3be3b2b8bc0819873e2538663fa5d9b73b052decbc97f5793e11105c3fbc82943ba779bfbcfcdc573e6b6b373f5aca3a3bd381bcbc96a12f3e4efd1b3fdf6f543be5aca0bc70e2023ed55ced3ea5c23d3b4a6abfbc2ab0ab3db4b5b03e6841e93a8d51a4bc04b6313db2a5633e6f6aad3afc97a2bc67375cbbf261d53dd64feb3a0fd940bcfa48e4bc9e2bfeba720365bd4e31d23b0000000000000000277c71bdd0e1193c0000000000000000baf20cbd54e0d53b00000000000000009169c3bc065cf33b0000000000000000128051bcf496af3b0000000000000000ef8213bc1837723b00000000000000005924b5bbd13d3b3b0000000000000000b599b1bb1515c73900000000000000008ef179bb60ff5dba00000000000000008004883ac2f75d3b0ab63e3a58c209bb879aba3a3adbb53b6b2aac3bfc55843a3f54743a2b17a53b095db93b16b7cc3a49fcad3a984d923b32e9b43b6a6f183b4c9dd13a3e4e5839bcb1843b78a58dba73802639f98e673b55abbb3bdd7a6e3b9e366238dbc92b3b152ed53b1d098c3b1dc289b938079a3aa3bc823ba5d0c23bf8a86aba841d83b928d23c3bf145443bc6046c3addf2983a3e4b413abfa9a7bb68d0273b4400233abc728e39f1d5b8bb2ec9323a46a73b39f3f045ba881cd1bbc01e28b82eb9fdb8fbb02b39a05d90bbf8a4353b34e96b3a44d7c9399416e4ba6f6dce39a13290bafd8fd5b9658a81ba7d845ab9be4da9ba11e40f3a5314783b13480c3acff321baf68e3b3aa013b23bdbdeba392dc39ab92ae61ab92b16e23b383019bdad12debcef0ac7bbf4b0a9b9eab352bdf0926cbd748d1abcdb94e3b9ed074dbd1f7181bd472dd6bb0f9b0c3a65913abde6337bbda310ddbbe8bc033b9b4807bd5d5c68bd6b4d8cbb4f9ee63aefc0edbc8ae542bd8f83c1bb8da50c3bf9e59dbcbb531dbd64c59dbb63b69a3a8b1516bcedaaddbcfcc14ebbb608bd3a373e3dbb74153ebc6d491bba021e3e3a844c5b3bb4cc3bbce3afec3d2afb883ffec6683b810360bc0c7cd63d1ed0803fa5b45b3b9caf49bc7583be3d88885a3f099f023bf0dc42bc5bb9973d1a58323facd0cf3a0b1731bc92bf5c3db31e093fcb2d3c3a6cff53bcd361d93c9bb9c83e191347bafd7f61bce9151dbade6c7a3e1177b73939642cbc16c4dbbc65fada3d76ded5398090d4bb76bd19bd4ad359bc87595abd588fad3b00000000000000000ba653bd5029063c0000000000000000d3c2d8bcad79f93b0000000000000000032c6cbccd43de3b000000000000000001fa72bbf4f8b83b0000000000000000a58e43ba6824533b0000000000000000f3b4923908559f390000000000000000948f55bbb3aabdba00000000000000007a6819bb5c2703bb000000000000000000000000000000000000000000000000320c833a372d433b49cfa03bb0ce5dba86053c3a608b813b93299f3b3dddf439648c90b9ddee743b7d0c933b1980cc3aaaf27f3b11b5b63a52b5133b15bb503a85a19ebaac843e3b9368943b6867903ba97bac391396d63a3e04793bcf17543b4a2b50b965ae803a9be8613b71b8863b000000000000000000000000000000000000000000000000000000000000000025819bba7d908f390eb096ba58dcf8ba12a12fbaa95a5a38d76e53ba990d1ebbacc79f3931273ab953d2babaa3a738bbf6fff2ba11a687bade2266384e994abaf5f3d43ad23c22baa1cf4fb9673a95ba815d8b392e5cf4b97d3ad1ba4f01243b7cd3f939071498b9386b6139adc99b3b0000000000000000000000000000000000000000000000000000000000000000164034bd8a1e69bdc705dbbb258cc1ba6d6f16bd839e6cbd8684fcbba29448b9d59301bd644655bd4069d1bbc31aa73af82ae9bcd52346bdcbcd2bbc1087a6baeafc9abc2dda24bde1b6eebba0d5f23a23b447bc255b09bd3101e0bb0c2bd03a70b19ebba896d4bcc8f6bdbbe45d8d3a000000000000000000000000000000000000000000000000000000000000803f5ad53a3b9dbff83a85c07fbc3fa2893fa15cbb3a9f4b20ba062a0ebca24e663f0889973a7aa323bba9c402bc10ed3b3f1ca3093b4caa5b3aabcb61bc58e7103fdc0099b872b1dabb06b495bc72e7d33eef7624b9c07d9cbb63d7d7bc6725863ed65076ba055690bbcedf18bd6baee53d0000000000000000000000000000000000000000000000000000000000000000eb2bafbce731873b0000000000000000d996b9bb0edba13b0000000000000000218c1d3b7b35923b00000000000000005196073c0a9e0b3c00000000000000006062fc3b2dc41f3b00000000000000009a66ce3be5128c3a000000000000000025b6223b347dbaba00000000000000000000000000000000000000000000000000000000000000000000000000000000eb2b403b571b8cba29ab02bccc8e8ebb67be003bbff406ba58eed2bb55ccaabb29d7c33a1d98dbb8943dacbb7923d9bbae12743af1f1013a8a0d89bb1cc8a3bbb4f1023baa1ad53a6d6313bb3e129ebbd5c2073befa3263ba661ebb935ab83bb0a1d243b9052833b3e7ee43a93c25cbb000000000000000000000000000000000000000000000000000000000000000063590c3a5c9819ba372aabbb58db13bde5bfc8b9c83eecb9e065c0bb88c700bdf516d5b92b8cc1baae6ac8bb85eadfbc5963acba1d898f39f1e8a8bbcd63bcbcfa5ea3ba39462037663b6bbb82d99abc04f0bdbac659f539927eeeba99555cbcae1e9cbac35a88b8e879ab39219012bc0000000000000000000000000000000000000000000000000000000000000000c40ff0bca3f8373ce7534b3b61113e3b668100bdcb9df33b950bab3bb602603b7d8700bd85918a3b635ccc3b0ac1823b884bf0bc5418af3a3cddde3b1b72713b0ffff1bc5b21e9bad9bcca3bd0ae4b3bd717dcbcb49786bb27e99c3b30d3d13ad715c5bc91f2a7bb3f09953bc20dad3a0000000000000000000000000000000000000000000000000000803f00000000da24363b4ffd0cbcb9947d3fac34f03badf5643ae357e3bb68e7563f6610653c3c04733a7e2f0cbc8240313f7a9d9e3c7f0444bb097a46bc82a60b3f309ac23cb5ca89bb15649cbc8e75ce3ecb61d63cb9ab8ebbba12d5bce5c1853e3cb6d13ceb869fbbd25412bd7d8ef93d6e8acb3c0000000000000000000000000000000000000000000000000000000000000000feacd63b66569b39000000000000000061c6093c839ac63a0000000000000000c3aa193cef321d3b00000000000000008569163c87f4563b0000000000000000f721133cb1df9c3b000000000000000075f6d53baaab973b0000000000000000ca65a23ba47fb33b000000000000000000000000000000000000000000000000dcbd713ba5b5a1ba66591fbc680d57bb5c2aad3b9d738e3ab1df0ebc678eabbbe46b8d3bd961be3a8615dcbbf968babb8e2c3e3b882c8c3ac972c6bb0ba4d0bb394f0a3b53b8b43a3ae58cbbfa2dc6bb8d305e3bce70513b6b6de7bafe6fc1bbbbfb5f3b5b1e873b3a48903ad81ca3bb1fbe723b9ca0a93b4e2b533b195b7ebb10200e3b6ed4843bcb4a253b34a348bb72e3f43aceaab0b93f3c3abbbf0405bd21362d3abd82d4b9cb0256bb561f32bda09c08b95b4791b9649cd1bb6adc25bd87779cba4c7f12ba65b4bcbb45a00fbdbc71b9ba3ba2a2b93cb89bbb77f3dcbc13b1f6ba544492b9c4604abb27cabdbc5667ffbab5c234ba4e1b28bac55084bc5974fdba993240bac2922b3b32850cbcbf25afbae9c8e3b9296c4d3bc6ef3fbbbcf787bc3b345e3cb968843ab5d2323b20e015bded68433c46e5133b3e89553bbed723bda38ed13b6e53c53b5d6d9b3b0f722cbdf6ae5e3b90dce83b509e923b0dcf17bd10a189b9479fed3b11bc893bc0e81dbdda7781bba3eae23b93a7653bdd850cbd467dd2bb878bbd3b7ac6013bb992e7bc91ebeebb9e4e873b0307f639aae48cbce87ba9bbf175373b86ee9739265b7d3b47c6aebc0ad87c3f7574033e9fa8953b9f69c8bc433d673f677a003e7dfbad3a7fdea6bc95d0443f2916f43d96babbb87ec1a9bc963f223f5a10e23d416d12bb8cb8b7bcfe51fc3e6f37c23de3b772bbbf8affbc367aba3e468ca93d99067bbb7b051dbdd4966e3e47bb843d843c1bbb94d53abd1e5dd73d90413a3d7510bdbaf7001abdd8b035bc1ef7a93c0b8917bb5ad90e3a0000000000000000ff34fa3af245f83a00000000000000009b66eb3bbd09fd3a000000000000000047d6163ca1e18d3b000000000000000057a01e3cf9f3a43b0000000000000000f4321b3c83edd73b00000000000000008f6bec3b2e77c33b00000000000000005985763b2aacbf3b0000000000000000216ffa3a24faa43b0000000000000000276a013bc9421bbba4df17bcba2d5ebb9bcd8f3beb3951b90fcb20bc1bb6b3bba39a203badd10a3a02f1f1bbdc1dc1bb4f68453be984b33ae921c7bbe41ce1bb697afc3ade1a8c3ade9189bb4d75c4bbe6d26b3bb902523bdba8d5bab56dbfbb9b79b23a124b413b2c065e38fa33a9bbc4db6a3b7788a63bbe6d303b61458abbac21133b2ead683b9ca4213b115c43bb2b44e43aedc0c1ba7d0dba378c93e2bc5807893a3c869ab9ad1a2dbbd93521bd0963c3b8c7f68fb9daad75bbedd204bd6a8095ba9337f6b919a693bb014804bde8cbe1ba5b83793a48267bbbe1f7c3bc2dfe09bb1eaf73babaf60abbf1f9aebcd99516bb0ea63abae03a4eba091162bce4ae0dbb75a526ba31e2703ad79b15bcf3fee1ba85a16aba2b28433b5b7b08bb92488dbc7e7f453c88fc5c3b2cb1a13a37c109bdb9b92f3cf495823b06c0833b457512bdf4df893b64a5c13be0fb843b2f132abdbf37a5395d65f43bfdea973bbeea0dbd8e214abbb9b4df3b71bb7e3bc99d1abd1e2fe5bb60b2d93bed75653b8e80f7bca80dfbbb9df2b33bbabf3b3bb9efd9bc58b50dbcd1a88a3bf7918d3a45647abca9e2babb8c27173b862f3a39fcefb93b2c0fbabc2bfe563f7541893e7090a53b63dff1bc72a8453f3bb4803ee0d93a3b6f0fbbbc2be7253f9fba653e5be54f3a7633d9bc3ba20b3f2f584b3e17baafba4331d0bc6686d73e75bc253e91071fbbbbd10dbda0ad9f3e5a12093eabff16bb92e40dbd0bcf4a3ea3f1c33d2abb6cba2fd330bd11edb23d220f7e3d6836b536b63e05bdad6940bc0f9b9d3c01f805bcb4d82b3b00000000000000005952a7bb3bb6813b00000000000000003ea6b03a6418953b00000000000000008ff7bc3b5168b73b0000000000000000ff42003ce1f9bf3b0000000000000000cdea0f3c733ae33b00000000000000008a8b083cca9b023c00000000000000000f37ad3bb9f8d13b0000000000000000d21f263bcc358d3b0000000000000000d0403b3b50cbb1badbf10abc4273a3bb77a0723b17e64ab9605921bc2581d2bbf6773b3bf28acb39cde200bc1f9adcbb07f6353bbf44e43a86b3b8bb0962e4bb9dd6303ae1a7093bcba95cbbb947c6bb000bbf3a3b231a3bec1855ba4310c4bb51af453b98c58a3baaab823a6ebba2bba4192e3b7d27993bc064253b65c284bb4937053b1621523b5494013bc64b4fbbb224093be5c6ce39102e92bab687c5bc069e2f3acf7578b83afe1dbb059109bde3e2deb9a3241aba47fd83bb8b7702bd460ccfba198f0ebb8f477ebb1c5ce7bc0ee3fbba03a640ba7ca454bb954fb8bc9d7f57bb9f32ab3a7768b9baa36394bc5da83bbb6876aebacafa5e378cef47bc3d1525bb02452cbbb3a1003be4f9c9bb7a380dbbf11b92ba60472c3bcc65dfba4a3b8bbc3eaa193ce56f5f3b12865d3b25780abd1337fa3b2623b23b9a8d7e3b915822bd05b45d3ac559ef3bf041923bb42028bdc02e8abb1d5b013cdab39e3b454418bdb114edbbad29ed3bb718923b878f15bd0d8329bcd6a2d23b4003713b6f9d00bd2a4a3bbcbd4da63bbb701c3b78b3ccbc384033bcdd016e3b27f2b13aa2c064bc0eabe3bbad7fd83a66f29c390aa0a13bc4e8adbc207a313fbe95d03ef6d5a23bb8dee5bcaa33233f4cb5c23ee134483b6399d1bc35e20b3f5c5fac3efb67a93ae5d3dbbcb703e73ed6d4933e381e81ba46cee1bc11a7b33ee723713e97ecefba33de07bda60e833ec4d83d3e0ab809bbbd5c1bbd8342233e1e66063e0da89eba86931cbde16e883d072b9d3d23a80ab9b0a0e0bc163d64bc73d28e3c3aee53bce8905c3b0000000000000000a61734bce322a83b0000000000000000f3600abb05acc63b000000000000000074be6e3b8c73ea3b00000000000000007010ee3bcd13f23b000000000000000041e6183c8ec3f73b000000000000000056f5173c863cac3b0000000000000000557bfb3b767bc83b000000000000000004ba973b5e207f3b00000000000000008c98c83a8ef79aba4b8b07bc503690bba2282c3b0d57ee39953a0dbc4533d5bbb39d103b804f57ba5809b6bb47a7c3bb2edea43a2f89c43a724698bb80f0e6bb56226a3a0b88833af1b83fbbd300b1bb9bf9143b9ac5493b349310baed5cb6bb83c5fc3a11bb773bef7ca9b94ae671bbd0d9cf3a4c097f3ba2c71a3b88677ebbffd4903a564f473bd2df033b516637bb760ea43ad22f323923fc9aba71bea1bca13e4fb8459603ba872b33bbb778dfbc00d239ba61c984b963945cbb606fc3bc68fc1bbb93f58bba776425bb69c8c3bc1d3400bb810c5dba67ff41bb7dab77bc842750bbbf6dc3ba5c620ebb894176bc25b519bbd88462ba370a4638083124bcb5cb48bb2548abbaba12973a69d182bbec0914bbb86b7dba609eee3aba9b06ba2b50a3bc090e063ce9358c3b964d233b967010bd6dd02b3bbaf5d23b1f73683bd8a816bdb6e672bbd8e7013cf902943be4ec26bd355f20bce73efe3b6cfb8d3bc98be7bc4a0313bcea77c03be464713b1b850cbd9fad6ebc6cabae3b44bb4c3be0cbd3bc491f71bc24b09a3b860f593bd51ab2bc13005cbc1fad343b8547aa3a59aa47bc22a908bc38eda53a779efa3926ac743b43398fbcf52c0c3fbe770c3fd7c3843b8cefbbbc9e41003f894f023f075c833a0a10aebc70f3d93e69f3e13e74d4fe3a38e0c4bcef46b53ef5c2c13ef7facfbaaa489abc9e0a8a3e9c01963e48bd1abb810deabc93f1493e32bb703e5f3f80bbca29e1bc8feff23d874c223e2762faba6481fabc78e9363d57deb63df44b36ba06bfb1bc161591bc6f8a733c0fd488bcfb6b6e3b000000000000000006ff69bc51e5c63b0000000000000000163749bbdd6ab93b00000000000000005a75113b499b023c0000000000000000c7c5d13b5e50d23b00000000000000005f81283c5038043c0000000000000000dd3a1d3c4f42bd3b0000000000000000a8f1213cb5a6af3b000000000000000058cad73bd5b75c3b0000000000000000ff06db3ac4a63f358374e2bb23489dbb8f79403bf300fc3aba2ed1bb002de4bb71be433b84c33c3b0b2b80bb004bdbbb1319c33acdfc933b454c9eba3a5ed9bb8d4dae3a12cc203babf28bbaccb7b2bbc7d3143bafd17d3b45adeeb9569286bb2b80de3a7dd9743bfaf61d3b04c95dbbfd93db3a633c813b5b90733bf4d523bbeb8b9e3a96e93e3bd6794f3ba9bf83bacfe44e3a3deca73964e5b3ba9ede80bc600428ba26ebbab9071434bbe9bfb8bcb212e2bae737b2b9026577bb8f81afbcfcbf59bb1e6485baa09198bb8a90a2bc387d47bbf3ab9fba748a57bb5c9c79bc502f9fbbd73580ba0d0f00bb6c073abc7d0464bb3a469eba2fbc19ba7c02d9bb36d862bb232a93bad64bb03ab3e4caba6c5b13bbdd5b1ebb0459063baa6860bae73bc9bc7429883b9fbf9b3bed8dd83a2d6926bd2a1f98bb88b0da3b0e931f3b8c6c33bd3a3552bc69b7ee3bf7075c3bb06b30bdec7b9bbceca3d73b9a1e793b00c914bda22295bc8ef6b13b56a56d3bf00b07bd399ca3bc61de863b3d26663b35d7dbbcfe829fbc0d700f3b350b0d3bee78a1bc5be88cbc39e5833a0a037f3a257625bc4eae23bc593b5c3aadecafbad40e3b3b23a85cbc2fe6cf3efd97313f07cf563b11b399bc80bfbd3e05fa243f393eaf3a499295bc202aa23eab580f3f281d43bae4a5a2bc9afd843e354cf13eeb0e00bb0ea4abbc8d9e4b3e4aaebf3e652a50bb84f2c7bc71e70d3ec2dc913e7dbf79bbc2f3d0bcf30da03d5fa5443ed06c3fbbaee6d2bc06aea13c8bf1cf3d8b2288bac4c78bbc97b8bcbce0503f3c287faabc1c0a923b0000000000000000fdfa9bbc21c9ec3b00000000000000007ce6dbbbd423073c0000000000000000bfaedf3a8692063c0000000000000000194f023cea4f033c0000000000000000a14d443c0bb0ce3b00000000000000000d0d553cc49bce3b00000000000000000182483cdb7d893b000000000000000025b6ea3b066a573a00000000000000009f02153bbbfbc73a8c4aa2bbec32c0bb55576b3bb1f4753bd71566bbe381f2bbdfca1d3b2c4e1d3b77c66bbbc53119bcf926363b30ed8e3b0289e9b78994b3bb1c1aa83a2da7373b9121823879d493bb5a39073b0260823b12dd2e3b9eaf58bb92c5853a8709613b3b7d623bcf39dfba5fe1843a0e5b613bf0d88e3b446567bae676013ab582ac3a4e5b7a3b03355138179af2b9dc542cb90e13e1ba61d33dbc80de1abbebdf1e3aae275fbb87e28dbca7b3d7bb82faaebb401acabbe22e9abcaf1456bbe2c996ba5a167fbb23307bbce9b56abbee4625392b6157bbc8d536bcf77e75bb304fd3ba1ebe10bb14a309bc568a46bbc2a8a7ba9d4162ba66d780bb9b344abb2911adbac09a193ad4a66f3ad8c904bb5de382baf167893b614ef93ac9ddf3bcd584efba74f1993bf8ba083a6cf13cbda43877bcacfdd53b8e63b73ab88616bd7ac987bcb346ef3b2e72793b193f30bd22a3cfbcd90eab3bbcbd2d3bd24805bd3217babcb2415d3bc6d43c3b091400bdce1dd7bce9b7e43a6410263b4653b8bc774cb5bc62dc363956aacf3a7fad86bc5399abbcc68c52ba6b27103aefe0e0bb321341bca01433bb9ff901bab492233b66410bbc29ca873edbfc563f6670373b94013cbc11f6753eb7d3463f5642813bcbcc12bc4d65523e9d58283f3754deba26c573bc8a3d293e0eff0e3f2ddb59bb41bc71bcd6dcfd3d6a04df3ee42690bba8659dbc94d1a43d6fdba93e435781bb647f96bc340a273d1f955f3e05b477bb1f589bbcd8cd93bbd309e53d57c755bb783f5dbc7e5cf2bcbd45873b94efbebc538e9b3b00000000000000006548a1bce29cfa3b000000000000000014f483bb42f7033c00000000000000009dcd803b74670e3c000000000000000016ac1d3c7320163c0000000000000000592e6d3cf7e7ea3b00000000000000009607643c83f8a83b00000000000000007187713c8c3c303b0000000000000000c511163c27dff63a00000000000000002e8e1c3bdeaa5c3bebd933bbceb6f0bb702c5b3be491b93bc26f4b3aab60e0bb2d6d3d3b4820ae3be4f7013bcaadb7bbffaf003b2ee79a3b6e821c3b043f9dbbcd9bc53a33cf683b5f00363b0cb754bb50fa0a3bca01893bc325933bb77cf4ba90261a3ba871273bc578c23b73a1663a66afecb8ccd57c3be37ce93b051d4a3b33d4463a6966fb3a31668e3bbff9a23a34f210bba002cfb9280027bb97ef08bcb2ad51bbcb4d90ba94ea62bbe63e3fbc124d6cbbdbd048ba04e88abbc1bc4bbc28528abb6cb9e3bad46691bb08a73dbc00066fbb7072deba789362bb9efa0cbcfbcd81bb974ef5bafc491dbb153dc2bb26913cbbc28696ba1eef0cbbcf092ebbe02054bbd812dbba12c76e39c0c8a73ba88c13bb7cbfb9ba3cde913acb2ea13bb29313bd7aa631bc93019c3baa1aeeb9a23749bd9aa4dbbc8a458f3b9c5ff5b946553ebd309a06bdc1737c3b6124a33a0b032abda3cc0bbda469243b62d9053bbb9203bd6cf2fabcd629153ae90b1f3b85f4e8bc0cde06bd060abebaa5db1b3bfdb3a1bca629edbc8ea521bb6b22e83a165e46bc4e91d0bcb17a84bb4f0bd9b73ee894bb536e7cbc3e0665bbe4f664bab866da3a51d3fbbadf18033ef6627c3f434c313a508485bb7782e83d9469673f3245b1ba5977cbbb1162c53d85bc453fed8845bbcb9e18bcff059b3d0adf233f97868ebbbb5031bced2b583dec21003f0d94b8bb635169bcd4ddd03c47eebf3e3382a7bbff0768bc4b8622bbeee5783ee67ac5bbb63f60bc7fd1e7bc5466f03d166888bbf0d0e5bbfc251dbd8c8421bb15e8a3bc67f78e3b0000000000000000530462bc106def3b0000000000000000e1f9923a75d4073c0000000000000000d76a263cd3300c3c000000000000000055427a3cdd7afa3b00000000000000009dfb9f3ccb32e23b0000000000000000a53aa63c9ddb6c3b00000000000000006ce28b3c5b8ab43a0000000000000000cb89593cbb8140ba000000000000000000000000000000000000000000000000de98113bc907933b0004be3a09e3e0bb6df5b23a159b6f3b1fbf173bf2e894bb5210bf3aeec17b3be8291f3b72d572bb627c463a08490e3be63a3c3b0e5b04bbcfe3173a88cf0b3bc9c0553b2c32153af1c3e83ab898c33a6bf7613b7e27bb3ab31d4f3a7b87183b3739a83b5830023b0000000000000000000000000000000000000000000000000000000000000000f1bf89bb0c1895ba324086bb341f0bbcbb1e75bb447368bac9e588bb54320cbc781b77bb2e2dc1ba3ce37ebb61a104bc816362bbff9681ba262046bb3b8ac7bbe6fd70bbdf91eeba1b3135bbff9434bb484819bb1e3559ba95cc34ba811dfcba23c310bb2b7274ba4a72beb811de583b00000000000000000000000000000000000000000000000000000000000000003ae925bd1cb5eebc427a683b6c4fe4b93d6b0fbd176dfcbca2b4ec3ac93ce23a3636fbbc8c49fcbc69032f392021dd3a3e81c4bcaa29e6bcdbefc9ba36c21d3b64c493bc9930d7bc1447a0bb9bc9793ba4fd4dbc3bdcd1bc3b5f8abb07a8963ae57ef5bbe366bcbcd26ca9bba9c0cf39000000000000000000000000000000000000000000000000000000000000803f1568bcb9a12f083b9503f7bae37c7d3f2544deba80bcaeba0df502bb58f9563fe97a4abb0ad692bbc1dea3bb2392313f918a84bb118cddbb0c482dbce5de0b3f3dc872bb4a2115bc6cbc96bc775bce3e86e7a5bbafea13bc1a86dbbcf3fa863ed4aac5bb4a2613bc96741abdf172fd3d000000000000000000000000000000000000000000000000000000000000000039572bba3d38b73b00000000000000005d360a3c56eadd3b00000000000000002e446a3c6140de3b00000000000000003fdf8b3ccc12de3b0000000000000000c2d58d3ca61ff83b0000000000000000c621993c42d07a3b00000000000000009e7e8c3cfd25e83a00000000000000000000000000000000000000000000000000000000000000000000000000000000293049bb70f920bbb5071abb020d9abaa43e5fba98f035bb953824bb776fceba44aaf5ba4b593abbe81f44bb2a9410bbdadb34ba113b22bb162800bb793a21bb7e013bbbacc489bb5da30abb86c7e2baf641ddbaa4baa1baebd7d0ba815159bb2a7a84ba712014b951120fbba0a605bb00000000000000000000000000000000000000000000000000000000000000000222183aa82e833a7f3421bb98cf88bb49aaaf3912778b3a00b646bb70908ebbead09d395042ae3aea445bbbe8bb97bba38e8039c7a8763a811a08bbee5587bb4a24f8ba60060b3b652f2fbb6f724dbb7ce0813960f3433b1ddd813991e835bbbb2030bafccae439d5cb07ba13ab4abb00000000000000000000000000000000000000000000000000000000000000008749f3baade4303b74a7303b88e1e63a013227bbf3af003b45643b3b3df9fc3a6dee34bbab73e93a4451553b93a1223bbfe825bb7e4fa239670e4a3b7aa71a3bb5a419bb1bf8023b49757f3bac91543b3faf90bb13fbb5ba53cda93bec113b3b45ad44bb121a04bae3ba043b483c083b0000000000000000000000000000000000000000000000000000803f000000002e948839d383a53a2815633f11ea673bf344e9b99b55513ab894423fc1e98f3b598d9dba5735173a1236223fbc9ab93b2cd24aba2d0a37b9b487013ff15fb33bb8b4c6ba5c6304bb76c3c23e875fd73b33795fbb52b3f3ba3a8f803ec598cc3b24901bbbabea64bbfdf1003e6d70a33b0000000000000000000000000000000000000000000000000000000000000000f9dec53acea994b900000000000000007967083b6227c838000000000000000086b8413b506f1b3900000000000000001852343bcc01413a00000000000000009544803bc86fdd3a00000000000000004129793b2863053b000000000000000055f44e3b3612e83a000000000000000000000000000000000000000000000000908761ba63db38bb19dc26bbff408eba205180ba74c318bb24897abb48d304bb568920bbbfb75bbbb05760bb250409bbb17745bba25f64bbfc9c59bb5eea10bb25668bbae50425bbd8c941bbed3c21bbc3def9b8e12627bba6194abb172a3abbaac855ba9bd211bb8f1b2ebb1e161ebb3c59ffb9407acfbaa1980bbb24e714bbb29902ba290889376c9261b8f81b12bbe96b3f3a4c1b5d3acdd121bb609e88bbb83f7d397030203b81b58bbb7e55c5bb2cd2ab396489ae3a350874bbfb81b5bb0228e439511cc83af86080bb8319abbb8f1625babf448a396bbf46bbdb0994bb39a9a2ba3457ef3ad60357bbfde139bb44a736badea9e939785640bb1bbf88bb78845dba5077d439d6d408bbf8c957bb3a06a5ba0fe693b996dc23b9c5a84cbaf4f0a1ba496c2d3b93680b3b40be9b3af43d3cbb80ac9a3b66a23c3b4f9b633b27f156bb21f7243b3a59763b73ea323b5b875dbb40dc143b6b92923b5f516f3bda6677bb3029083a3b033a3b71bf003b857093bb6c1eedb9fc62173b7cb4e53af44880bb0d0b2ab947d4453b8bfd373b988f5ebb53722fbaf7691f3b46ef253b5c563cbb8bd6afba7c8d4a3abf661c3bee4cd838a64c24395f65633f74ba023ee8fa15ba8d2d07b7fc1a483f7ddbe93d47b72abad609a039a5322b3f2a70cd3d94f68bba3aa634b99eb60e3fe939b03d5cfcd0ba96a2c0bae539e33e73708c3d7d1d0eba163248bbe12aaa3e239b593d00871cbb7a195dbb043b633e8f691d3d838d1bbb738e8fbbb56ae23d2070b23c4354f0b966228ebb61a238ba4dfc593b9b67073a863218ba00000000000000004c0f943a11be79ba0000000000000000ff72323bd62c8a3900000000000000001086103bef941a3500000000000000004c28293baf59073900000000000000002a7b9a3b3e400b3b000000000000000096478a3b170cfe3a00000000000000004653853b2a82123b000000000000000098e5033beb83303a0000000000000000fe44b2ba3e1617bbcacb13bbb50385ba302c40bb5cb722bb4f963bbb551a5cbb3a7a6dbaf0821ebb5c9629bb5fb3e6bac11404bb28de60bb61e15fbbafa21fbba7098fbaf52e25bbbf6d2fbbbc9412bb4c9a88ba263129bb9e464fbbfcaa34bb164941bafc5dd6ba5ebb0dbb24b50cbb7afc8d390b86fcb905e68cbac017bfbaf3256fb95b0755ba6feda7ba0714dbbabfcc253a34656c3a4a7906bb26596fbb08656a3af4fa0ebac69297bbb7cee3bb068f91b80ba10f3a322335bb07c08fbbe092c3b82c0f8f3a68117cbbd692b3bb66a24cb90f1e3d3a94b245bb881889bbd0c751ba1a50413a60c256bb1c5a9ebb70dc49ba0082013a58eb0bbbe00852bba7da05bbee212aba22da82ba2b1b18bb31313fba23a95f39ff5489bacd3607bb52b89cba1de5253bc082113bff60b73a5e2a1cbbde1c4e3b78446d3b1a74253be9233cbb1f68cc3ab087343b8c74793bf84082bb4cc5a43a315e7f3becc2543bd5565cbb9b541f3a2643563b21bb2e3b59c092bb6a9a6db869f3603b4e275a3b669a5cbb183bf6b9d8ea173b54531b3b45862ebbc74cfcba58739c3af9b6bb3a3ba71abbe92a65ba0505ab3adbf2c93ac5ea6338b89ab3b98473423fb5e2813e3c1e7238db8516b9675a2b3f4502693e3ad11aba6a913cba9d41123f9fd2453eab0aa4baccd8b3ba3dc5f43e398e283e4ebed5ba3480d0baeff9c23e5924073eb09e1dbb5a0f4dbbb37e923e69d8d03d7ed803bbd0df4abb180d423e6b038c3dd183b5ba20ceb8bb3359bf3da2601d3df940d8badfe66dbbd10fc0b96d23803b1817b239444e60b90000000000000000a0a8663b5d3c3cb80000000000000000dbd8ba3ad157eab90000000000000000f7bd6e3bc709a93a0000000000000000613e663b5231b63a00000000000000001ad9963b144a113b0000000000000000fa61793b2e76f73a00000000000000001e0f543bf056593b000000000000000053a9433bfa2cee3a000000000000000009508aba03448ebab7c03dbb2a40c6ba7cc708bb4ccd64bb218070bb776602bb3dded8ba9a214fbb7b6066bbfb991abbbd12b2ba181248bbe97667bb9cc735bb387a57ba28086abb1fc471bbd5e657bb6940c6ba5da94fba9677bfba80a59dba7e79f3b93a4b0dbbc4d31fbb91cd20bb18434aba09b3b3ba51a7ecbae80618bbb62dd6b979b301ba6a066bbace30adba28da3e39c0001c3b5a3433bb73f97ebb72e8db392d2da33a0aab65bbda97adbb0e1ed1b8e880803a8dbf67bb0319aebb82ae75bae4ce0d3bc08a70bba544aabb4e74ab39826e5c3b7b5c84bb3ad6aabb0f340cbb68bda83ae6d860bb7b16b2bbc19571ba1413ee39420532bb7c8b74bbd47480ba38bb1d39d3bfecba247d3fbbbba71ebaff4c9d34abed50bab7f2d8baf08531391f37033bfd77073b7683a23a57c550bb0e0a273bfd4f6e3b701c3a3b70e67dbba510d33ae401753bdf563c3b3db58fbbf43bce39eb494c3bee4f273be95aa0bb89f2823a58da813b0bb0703be8b7b3bb7d13e6ba72f1683bce675f3b00d981bbb32d41ba8c2b293baff1363b407768bb4c7f94baf356003b06c61b3b871f07bb1afb70baa4b1823a91219a3acb9c13ba9b3d43ba4df4213f7c83c23e82c60eba389726ba4ec30e3fff66ac3ef45c8bba120d84ba5cdbf43efba7943eaea8e7bae6abf1ba11aacc3ef8b1783eab8036bbc5144dbb1a06a33ee7fc483ebc995dbb489e8cbbf585723eb6ee183ebe931dbba0a673bb6cd1213e3a85ce3d815e11bbacf688bbb32ca03dae2f583df31dc5baa1454cbb377c46baa6a45b3bccf1cb374aeebe370000000000000000e835ea3ac70a9a3a0000000000000000c5402d3b0158783a000000000000000094d5a53b4f7c833a0000000000000000828a973b9cf91d3b00000000000000000421a23b2cd5213b00000000000000006530973bc2df213b0000000000000000ab76913b9df6183b000000000000000057ec393bbaddd43a0000000000000000bb4ca0bad7eb14bbd0db21bb501baaba947c16bb051959bbd4e364bbed1afcba0a0600bbacb64ebb5e2e5cbbd6451abbe5bc0cbacb49f2bac6a711bb04fb41bbbeaf85ba8080fdba652912bb6ebdf7ba6c16aaba7fb62ebb06434cbb541b91bac73384b96ed7fbba4bfa30bb5efa3fbb467016b983ff62bacd23f0ba53921dbbd093bbb905bcc6b9d75556baebeda5ba33ad9c3912962f3a615e0dbb619d4dbba0f1aa39479fae3ac03e64bbb23096bb269603b9dd9b7f3ad57068bb39ee96bbd84fb9baac7000b98fe878bbe5aab1bbcd3921ba6099e239836d22bba14550bb5ed38f3916a5dd3a6c7658bb072790bb3966fab8108a6b3af41b2dbb18fd75bb0d9d00bbf96f6c3a4952c4ba95c134bbf0de72ba071251b9baf440ba43e3b2ba5d7df2bad74aff3a6b1b193b9b18bf3a76c055bbe6850d3b66d3773b0280493bbb827abb638b743a9393673b725d493b751ea9bbe4ca16baf06a283bfcab833b48bc4dbb22b179b90cdc1e3be644183b128a9abbad6a9dba0a58ff3a2ae45f3bc0ac93bbf5db88b9806d273bfabf3c3b34f278bb4fe809bb13d21e3bc559393b1ff4ffbac65085bae1c73a3ac92ba73afd6ca4b9a00fa2b9c198013f63ac013f8bba3fbafab6ecb97867e43e2050e53ed4a6a7ba8ba672baf395c33ec709c53ee42a1cbbcb7718bb7cb5a23e0a91a53e9756c4baf5c1c7bae197813e146c833e539d38bb8a375abb097c433e2cf7483ee39d4bbb329b8cbb5f6a013e5cb5063ed48224bbff2d90bbe94b793d95118c3d8f17acbad7e533bb4fe9a3ba08fc3c3b79072c38595c8f3900000000000000004e016a39918ea4b800000000000000002c30473b198bfb3a0000000000000000bf53983b1f88383b00000000000000000f5a553b352cc83a0000000000000000cca8813b53ce493b0000000000000000dd18993be3881b3b000000000000000057baa13b0d892f3b000000000000000020d4433b7c93e03a000000000000000029015f38938808bb7cf41abba1d1b7ba44cb83ba71e846bb731b5dbbed4811bb243abdba902333bb19e252bb39261dbb918de3ba1f7231bb16c84ebb029124bb90e094babc4c41bb6fd066bbe4407dbbb7a51fba827307bb82b52abbb78128bb1f8cc2b9ff9dbbba183e05bb629c10bb769adf39d4d18aba0e0505bbc5ed31bb340f29b91aef10ba188770ba8625a7ba7661d5b7e6f0113a9b8d10bb913e3cbb38c590b85e11493a278a60bb1d058ebb65be1ebaa881283ad2a160bb0b3094bb13194fbac14c2f3aa4095fbbd1dd91bbc55bedb8c5c7743a9eeb85bb9a3d9fbb509ad939b2b7d5b86f333dbb7cd379bb57cbaaba39719f390c3811bbe54145bb6fc3ecb964bfaf398d4aecba09fc3dbb4556723ad2ceeeb943f157ba88da9dbaeab11fbbb511a83ada8a143b819bbd3a3bc983bb6de5933aa74a5e3bdb7a223bfb4e97bb73e30d39b7015b3b748d3e3b25489bbb8f05eeb9b4e2623bbccc653bee61b7bb2a59e9b975cb603bd8a9593be09495bb7bcfeaba8a0ee03a4e938f3b357182bb10e8ddba4f64dd3a511b283ba9ef8ebbc1e78ebae185c53a64fe0e3b8de1febad9a4afba11517b39fcf9723a4e000abaa8d1bdb95b56c23e9d13223ffa4591ba49a406baaa5bab3e83120f3f1121c3ba56227aba4ffc923e841af63eee9febbab4aebfbac1fa743ed1e5cd3e83fc9bbacd98ccbab282433eb1e8a43e81bd32bb35054abb1608113e3298773ebac229bb9a305cbbb797bf3d569a263e2e7552bb8cbe9cbb9c313b3d985faa3dc51accba371b2abbb06001bb0e7e143b1b19cf3817f1f03900000000000000004243c63a3f60883a00000000000000000b06443b2a26ca3a000000000000000031d9953beb5a2e3b00000000000000004897a43b8bc97c3a000000000000000032dcd23b8110083b00000000000000004fc7a53be41a263b000000000000000009af9e3b30c7263b0000000000000000273c3d3b2366b73a00000000000000002a5c7eba0432f8ba0c0a1fbb968ecdba2d9554ba93e1edba530b1fbb5f6ebebace8494ba78ab05bb99df24bb68ae03bb57d2a1ba019215bb1d9940bbcfd429bb754b62badc1ff4ba7cb912bbed2115bb772486ba7f85d3ba392419bb6fa81fbb1db58eba5e0f97ba52f5a5ba50a09ebad63025ba0b369cba0d74d9badb5d0bbb7a5ab53934c676b9512a0eba537a8dbab10252b9e7d7373a12ed13bb63d63bbbd114a9393f6ac33a014429bb1d0d5cbb3cad2fba7651cc3908ac34bb606763bb65b28dba025caa395aaf5abb692b8bbbff099aba31a28eb728fc2dbb49944dbb623cd5ba6bc117398d7237bbe47b65bb47a791b9221f713a0c62edba8a1df7ba177cd8baf0cecdb91ea6f2ba8ed815bb600981ba96c76bb9f9ff2dba0e5b69ba218a4cbb21125f3aa807223b8c05d63a5df9c2bbba295eba38640b3b281abd3ab86082bb66b104ba9d792b3b27c4173b4e6fa9bbc4d8b0bac7ee3f3bfb07443baef383bb0b79c1bad38c083b5066283b13ae93bb30de0ebb897afd3a2cbf4d3b52c726bbb52758bafedb7039ef54b13aee6a6cbbd51d1ebba472243bcee4f93a4694f8ba0fabcabaa376993845bd7e3aa30a07ba09f8d638f3e3813e28a8423f1d7ad1b94400283a04f9633e05572b3f3ff2a3baff18ecb9efb4433e6abb123fce6dfbbaa649b0ba2f7f233eba37f63e8f9901bb06dddcbafb7c013ef536c43ef20537bb33a02bbb0166c13dc735943e8376dfbaf5ccd4bad10b783d752c443eb02a3cbb51f372bb2e11e83cbe07cc3dc425c5bafd9a1bbbe91432bb3c4ada3a92c69e398e22233a0000000000000000a7363a3adb9ba7390000000000000000b38b343b3aacb83a0000000000000000aaef943b8295143b0000000000000000df1b933baa850b3b0000000000000000c85bbb3b5f82393b0000000000000000cd667a3bb16df23a000000000000000063bba13bf9f1333b0000000000000000a88a493b4fb0d03a0000000000000000c4df27bafb0f82ba4c5a6bbb9d1c7cbaaff88fba26a3f9ba48f637bbbe7d16bb8297a2baa855feba419b2bbb3c6925bb2ebbe4ba2fa00dbbb43828bb258b16bbb78548ba3b5254bbb329c6ba3d0aaabad526873a4652aaba8b850cbb313d16bba7dc9abae0d23bba01bfa9bac6cce3ba5bf2cdb85afc6d3951ddd3ba3072edba284a8438001262b9947403ba52ab86baa249d639b3b1b53a3cded6baca41ffbac48156ba850fb0396b954cbbda6571bbd95b81ba783fd839275f53bb29477dbb5e3884baa0222a3a92004dbbc6b972bb67c17fb98138973a98ab01bb422019bbe234dabad69346ba778b23bb83924ebbf0cfb8baf7ce2eb9af11dbbaf62d0cbb9de35639c7557d3ade0234ba653f29baeafe92ba35e1c93a66762aba22063abac28b3bbb8f988cbaa2b6b23a70ed323a4dc1acbb3cb173ba638d373ba27e113b4e97adbbb00ee3ba8b572f3ba440333bb0879abba84be8bac8133b3bc9e4643b31b557bba8969aba5b62383b5d14eb3a83ce95bb185158bb84728a3964995a3ba19e6abbfce82dbb7684223a9105113ba2c581bbed5a59bb5d4cebb9fe657d3acaa3f7bada70f5ba28bbc1b90086473af96b87b8d34b9f3a809d013e4245633faff7a8bab3d4b33891fee63d90cf473fa21fe0ba93350cbacf23c63dab7a2b3f0f4bf4bacf5c52ba4e3ba53d27150f3f4bd6b6bab98942ba10f57e3de3c9e33eccaa49bb0f223bbb6ce7393d69e7ab3e3d4832bb31033ebb8f20ee3ca2c4643eb24ac0baf7bb89bb6368393cb802e43d2f3eefbac0d91abb623b6ebb04273c3a3ed6a0386823be380000000000000000db0c223bf13ac53a0000000000000000e2f3833be193123b000000000000000026c97a3ba53fd83a0000000000000000bae3cf3b1929093b00000000000000004a55cf3bb80e543b0000000000000000fc34b63b4897383b00000000000000004638943b997bee3a00000000000000003279483b9f8fcc3a000000000000000000000000000000000000000000000000b1d0cfba8de069ba3954efba60d0fcbaa3f7b93af29e5cbaf546beba71709a39ac819aba4072e0ba9bb0f6badc58f8ba903f8fbab786bbbafb6cd7ba233fdebaeaf22fb938d015babc39a4ba2d08e0babb82bd39cc7c07ba3b358bba93d0b6bab73e09b9543cf6b8b0f518ba624c9cba0000000000000000000000000000000000000000000000000000000000000000078854ba78973a3903eb08bbbca334bbb2a82abbebcaa7bacf0b82bb25d991bbe0fc90ba1b4047ba38ac1fbba7592fbb2fce8cba1e5b06385fbf0fbb0d2424bbeb76adba47cd8a39c845dbbac29616bb26d19ebab4fe83b9b525a7ba75eddaba6eb69fba2dbaceb92b2b4ebaac0e8aba00000000000000000000000000000000000000000000000000000000000000000a168fbbe128d2ba9ae6053b383fde3a6fb777bbff7566bb79e0fa39c9ce303a2c4d60bbfad903bb97810e3b402cd8b9b6d75dbb5a4713bb514b993a949c083b830665bb70c13bbbfda7683a5da4093b60382fbb91c320bbd8572c391a10d53a2b3417bb06c81abbe1b57db9a89fa23a000000000000000000000000000000000000000000000000000000000000803fd06882bad7deb0393b180d3bba24633f8ebb35bb394e69392f7ed039f0ec423fc0a5d8babeaf18ba920ad73a475b223f3371fdba7bf9afba244848babea0013f2b831ebbfc7613bb8bafb0bab39dc23e5a4110bba01e10bbbc8a0fbb3a6b813e7dfc0fbbe3561fbb1dde5bbbab4c013e000000000000000000000000000000000000000000000000000000000000000003b1303b4edb923a0000000000000000ed928c3b1432203b000000000000000099895a3b714f883a0000000000000000768e983b805a1c3b00000000000000005199a63b668a2f3b0000000000000000e116903b8a67143b00000000000000006fa2863b77f2113b00000000000000000000000000000000000000000000000000000000000000000000000000000000f18eb5bb7ac7543c3f839e3c2b09d93b63a821bb3f52613c3882893c6547043cfcd07139961f3d3c196b5c3c5592da3b1ac8a03a05d40f3c1464403c8169c83b55e2383a85b7c73b0074243cacb2c73b2a11adba2fb0733bcaa90f3ce9ecbb3bfd3b2cbab7aedc3916eabd3bab72043b0000000000000000000000000000000000000000000000000000000000000000f6296d3bf858eeba6f98e43be129e5bcfd2c413bfee477394f99b33b28f501bdf4436e3bab8f8d392980a03ab93205bd575b573baa71673a4f8b953a0179efbcb48b213b3c7bdf39fb616f3a071198bc8e64b9398ff434baa226173a5097cbbb8026e33a2f09b7b9ae6ac9bac1d8423b000000000000000000000000000000000000000000000000000000000000000019440bbe09b7d9bcc67f1ebb6c32b03a79ca04beaebf06bdb10d50bb80e927ba7fc6e5bdbd090bbdd9ad43bb9e5d2dbac74fc3bd7ad5fabc54935abb33aefabac19d99bded4fe2bcd1eb8dba84f457b9a0ac55bd76c8a3bcf985663aa6c5873acc4acebc83f22abcc878193b42ea1cba0000000000000000000000000000000000000000000000000000803f00000000f855433c26e4a0bd96e59e3fb76944bde449d83bbf0351bdb4dc833fd73e42bcbc671c3bd83608bd59dc543f8d482f3c9d37c93ac48de2bcbc5d223f8abaa13c96910d3aafcfe0bc5c5ae03ef1aaa23c537f053be77ed7bc63687f3e45f9533c45ab9c3b3946e5bc19fe8d3d7da5c03900000000000000000000000000000000000000000000000000000000000000008869c63b38b9aaba000000000000000038c3ad3bcb88b2380000000000000000b1ff1e3b2f828a390000000000000000db94e1391a91a13a0000000000000000d42e40bbf581fe3a00000000000000006804c6bb7c83a63a0000000000000000f0ace6bb8eed2f3b0000000000000000000000000000000000000000000000006150b6bb1a5aef3b5140243c08b80c3bc7f63abc9631693c6c78c73c94cb1d3c53c2c4bb3acb833c1320c73ccbbf423c37274fbb041f803c3560a63cebd2353c8405ccba9be23e3ce0a2853ce32e1b3c9f5fe9ba85adff3be0aa673cebb4183c3ac12ebb2c87893b4705323cc1a5c03b524529bb2e5cd1bab4c3c33b54f67e3b522d9fba78855dbbf2b9a03a2ad320b9337cee3abea0bcba7d263a3c28e5b5bce1b06f3bae011cbba860803c1eec99bc22169d3b10e7a8bad39a3b3cd09affbc9681b73b65b361bae90f113c5c2d06bdb5be753bd66a6c3ae4c8d73b12f7d4bc30e3623b8dfb75ba6d01993be36078bcb600433b536ddf39df1d333baf2745bbf32293b883670fbb3288efbac215123c3e6792b9dc81c5b91a5499bac92a493cd4baa2bdb944d7bbb3e711bc85047f3b7f5414be3350eebc112de6bb030e913bf0b21abe64ee2dbdd6c621bcb9c1413b79530abea9893bbdc91713bc8ccaf8b93e1eddbd151c29bd204005bc74f14c37fd3fb0bdd6e014bda68192bb4e0ddd386d766cbd422fdfbca415b93ad5c63dbb46d5aebc9dc646bcd86c6b3ba77dd43aa8c4e03a809e4439ba726d3b55a3b73930ae9f3c555f0cbe66839e3fe257963d704fbe3c560f19bee680973f9a6c973d5a9d533c05abdcbdfa25823f63aeca3d66030c3cce2aa7bd87f0503f89c2d93db33f9e3becf782bd5dd61b3fa688c83d8c6ec23b2af966bd1860d53e013ea53dec6c0b3c106a45bd0564693e192b573dfac4553c743904bd819e573dccd6b23c84223a3c25eff9bc928086bd3e846ebbfbb4b6bcaaa8e73a00000000000000000aba9bbc6986e13a00000000000000001ced83bc9c1c9f3a0000000000000000b48f5dbca5f2283b0000000000000000fa375ebce2ef0f3b000000000000000012e581bcaf32f43a0000000000000000d1d38abc8ef6853b0000000000000000fce576bc1637913b0000000000000000774769bc3ed48e3b0000000000000000504c8dbb9e41e33b5ffed43bebf0ff3a7238f7bb22c15d3cbe82853cd34d053c158d4bbb136d563c57d47b3ccdaf133c9d11feba8727553c8b25923ce464353cd8af8cb9d2e12d3cbf53393cd4000b3c276134bbc7dae13b88e4513cd16f0a3cc93dfdbacb22443b99390e3c8f4edd3b233647bb4f59acb90096a83b6d29613b73f5f4bab31103bb4c07fb3a6e03a0397648003b580c063a7da94b3c75e2babc6cc24f3b394f96b95366783cab54d9bcf01a933b4c438f39a7111f3cbe16fabc71759d3bd363a43a5f2e013ce0e9dcbc615a8d3b42068939c5a5b93bb481c4bcf3d06b3b72ce223adc71e93b239d44bc55ef813ac018da36a2ab863bc52803bbc433873af77820ba47d94d39b813053c89bd02bafa3744bad460a038df6a323c0b5565bddc71a1bafc3e67bc045b823b18a1ebbd9e07fdbccf548ebca7f6963b2f12e9bd261e28bdad7c85bce781b13a6494f2bd37f04fbd0d368abc9780023b721ab8bd12d330bdedf52bbc782f46baaf879cbd01bb24bdf1132cbc4eb1b23a750d48bd1dece6bcd0ad7dbb5816a03a9230bdbc698879bc82f8b5b9c067f33a41cc2b3966c455ba76d8213b70a2a63aa612823c4c480abe5096843f1f22843ed72cbd3c30961fbe2c3e833fd3b0833e3874563c20aad7bdb0bc583fb391813e6eb4373c0646c9bde3d5363faa5c693ed24dde3b643b92bdf38a063f08e1413efded1f3ce7f590bd5870bb3ed379193e34f1023cf77166bd6f3e533eeec5ca3d6d117c3cea8736bd637b643dcff0443d7c88493cfe4d00bd52f038bd5df87e3b478253bddc7f6d3b0000000000000000207252bd9677f23b0000000000000000e18314bd6412953b000000000000000058e00bbdc29a9c3b00000000000000009e1bc3bc1c4c293b0000000000000000bd56e3bc4c899a3b00000000000000001864c5bc5a0d5d3b00000000000000002588d8bcbe7dd83b0000000000000000b537a4bcdebe873b00000000000000004feb7db9eccb983b9c94803b7a7f883b20a4a6bb349f453ca493453cfe0cfb3b7e3227bb4f154d3cbc8d853cb4a93e3c71e022bbb82c393cfa72673c4494373c02f21abaedf7243c74be5f3c7f14193c579614bba874e43b667a2c3cf5e6183c5a4534bb4297673b18a41b3c9602ec3b951b39bb9ce089b97480a33b13603f3bbad215bb17b4e1ba7ac9ec3a66ae863a4bf0fa3ae53318ba02e30c3cf60cd7bc4d33433be05eb13ac786603c4f79e1bcc9e2903b1d45853ad4a1253c450fe2bc34ea9d3b0074813a81060c3c7492babcabb38b3bf36a433baae8c43b54679ebcdaff833b7bed4938cb74b63b627f12bc83c21c3b817a883999f19e3bdafc5fbaeb3dc73adec7c0394b5f1b3bd939e93bca7f14bad24a5fbaae57593bc9ee013ce5d334bdfac42ebbc418c0bc53c7c03b7ad9bdbdbb1d0dbd005cc4bca7989f3b3be9dcbdb8df62bdb244bebc9911643bc89fccbd17796dbd494fa1bc97b1c43ae3abb0bdbb8d5cbd2fe993bca20553ba3a528cbd51a837bdc59548bc062b003ba6ac3cbd04b30ebd5d6301bcc274f33ad973a5bc42c18dbcf9023fbbbd9eef3aa9a31abbb098cebad5a7b73acbc3173bd6303e3c1fe5e3bd8b24583f284ce83e3d0d9b3c92520dbeaabf543f10d9e63e9c2e5c3cf5b7e5bd4955383f486bd53e67de1e3cdfcbbcbd20cd143f68c3b83ea4f80f3ccb479fbdbf07e13e0a4a973eb25a153ce48089bd0015993e5c34633e5caa283c1d1271bd598f2a3ea59c143efbba5b3c1d923bbd4351453d8fe88b3d9fa91c3c55ff03bdbf980cbd25150c3c670795bd0431c13b00000000000000003d10a5bda62b333c000000000000000013f67cbd8dc20f3c0000000000000000dccd44bd1f2dc63b000000000000000024b31cbdc05fa63b0000000000000000031a17bd319ebd3b00000000000000006ef90abd02aaad3b0000000000000000f516fabc491aad3b0000000000000000edd8c5bc5ede443b000000000000000018b4d1ba85e1a53b8c7f1d3b619a753b83ca0ebb9e0d0e3c4059283cc70e0e3cf249e0ba87311b3c0f134b3c99fc423cafb7b5ba2494273c8a186e3c14aa463cdc6e1b3ada17dd3bb554ea3bc87adc3b6d78a6ba4aecc83bbe7f1f3c3a492f3cc53db0ba6f16083b1fbbcf3b9fd2da3b81422dbb72594f3a5fae7c3ba5be7a3b1d87c4baf13b45bae201ac3a3527f439bbb32c3aeb65bd3af6d5043c66a0b4bc0a83723b8793a23a5cd11f3c9a61b5bc4b55b03b5f9c243be15ae83bc2c0a6bc4710b83b8a6bb73af615de3bfbb794bc14d3473bc0f1563a310f673b619576bc3cb5803ba7d5b23ae2d6b23bb83cf6bbf87c443b04c7d839bfa5913bb3edbfb9dbe42e3a0f262cba42f1603bd7d6a43b3989073965d580ba83e2513b0aa7003c9daa18bd9391a5bb2a74bbbcfda3413b5b5b9cbd2dfd37bdb00ce8bca390863bb78fafbdd22183bd87c4dabcd5e4063ac238b6bdf51c8ebdccc8d0bc55feb9394f9277bd8af641bdb5c681bcd32227ba21f271bd153c58bdb23b8dbc66e6d939e21c13bd532710bd9cb328bc0bfac03a374c8bbcf58d9cbcbdd764bb85ae603b2faa3dba069926bb43f3d63ac49e6a3bf2c6233c0582c1bd5a83253fcd4a263fcee7663c31c2dfbd813a203f4d62253f67341c3cc1f6b0bd53d3093ff09f123f7b47033c08f6a1bd2ca9e33ef7c9fd3ef3224d3bffad57bdbd29a43e65bcbb3ee715e43b673176bdd4546b3eadba943e2871e73b541343bd189bff3d53b1393ed56d143cfd461bbd44aa043da6a0ad3d14edd83b8dd5e8bc71c206bdf6ecbb3b23a7c1bd7300063c00000000000000007c06cfbdd0396b3c0000000000000000fefc95bd7aa41d3c0000000000000000432973bd1a040b3c0000000000000000da3dffbc3fd4853b00000000000000001e2e1cbd74f0a53b0000000000000000af4e05bdd5e78b3b0000000000000000d9ce08bdae938f3b00000000000000007ff4d2bc399d123b000000000000000009cd4bba710a463bbdfa1c3bf91a9c3b5d9318bb0be2c43be0b92b3c74924c3c83c975bb04780b3c5682763c55dd753cea1494bae86a093c6977563c96876d3cab709aba424dd03bb748413c4028433cd9d7fcbaf246c63bf170093cef9f243c07dc0ebb34b6443b65aae83b0863fd3b200b1bbb1e46e6b392854d3bc0b5933b06b1acb9409656baf5d6c2ba8eba543b40c6f33a5a3f8c3a1998b03b6c3364bc8992693b16e3123b23c8f03b69c05dbc70ccc73b3d24223b9e5bc43b4d493cbcee70d13b0e661e3b9668713b0a3442bc675e913b9ef6773b6c28a93bff7610bc89ddaa3b0fc6b03a82249b3b6a3984bbdeeb3a3bd9c2173a58b53f3b89da963abcbdaf3a8255593845ba653b133b8f3b9234f8ba4c7b8cb91d5ca939bdf4863b055d07bd4e2079bc309fc3bc9612843b11e785bd727285bd7dc400bdfc33ae3b4804a4bd0648b3bd034802bd979d103b145d98bd1a87adbd09d5edbc7d7aedb8e4da82bd85d99abd8cd1d2bc9e389cb9bcf649bdc30376bdb492a3bcffbdac3ae6ca03bdce5732bdd48f4abc6d982f3b34f03abcea71b2bc4dbfbabb74b88f3b6e18333b8d9de1badedf323b3877b83abbafdb3b08f592bd5472e63ec5e9573f10a8453c2e47b0bd89c0dc3ec5c9583f15c8133cb01c93bd1511c13e84ea403fa9c9053c04d77dbd574e9d3ed85a1f3f757cb23b063358bd23ea6e3e4dc4f93e6c54ac3b0f0c3fbd0130203e6832b33eae9df03bd92720bd551ea63d7e295d3ed357eb3b7011ecbc488a7b3c6142bb3d5dc9e63b76d595bc0eb703bd19596fbbc327e9bd90d2313c000000000000000069f402be5736923c0000000000000000f743c2bd89a7703c00000000000000001b5e89bd140a2d3c000000000000000004914cbd4668033c0000000000000000fb5625bd8029cd3b0000000000000000f33c14bd6a94a83b000000000000000017f20bbdff359f3b000000000000000096f2c9bcfe88d8390000000000000000a60d9dbad8239739073e873bf03c033c2c3071bb73f53d3b25593c3c5ac2863c8122b7ba627c9d3be46f6c3c60c68c3c6ebb61bbb7f8ac3bfccc6a3c3cfd833cd96354ba7557df3b47e0313c865b4e3cd7a356bb63014f3b66721e3ce7c2583cfb0cd0ba1564233b42b1bb3bebe10d3c5741b2ba4b017c38e6bcb03aee4baf3be19086baacdf01ba7f3a5bbaed05a63a171e233b3fcce2392dcd743b8159a5bb45a6c43ba127963a97b2833b95d0cbba9198e03bc62c443a111b103b2d9ec9bba497ea3bb1416a3bde3e8a3bdfb0f6ba82ffe83b0a28b93aa930da3aab36d6bbcf81ca3bd9b8df39ab12423b3027573a09eb593b90a6693a828ad93a83a7213b067bd63a14b58dba4bf95f3a8a874b3b70886aba8f3655ba7b7597374f48973bab5fe3bcfe510dbd7ba7b8bc2bf3963baea85fbd7f20c2bd39f101bd5897d33bae0f81bd7effcabdf835fdbc7f4b6239c26281bd63acd7bd019605bd1ba2143afbf451bd32b9abbd55b5d0bc8986b3babcb42abda64e92bd7900bebc67e1be3a8165cabca08341bdbde861bcfe7c013b0bc3edbb89a7b9bc566398bb00b3673bd3cb8c3bf66819b87c11133b36906f3b920eac3bd68347bd329a833ea6d5843f62b60e3c205561bdf88c713e2807853ff55aa73bac1a2fbd8d0e5e3e012b5e3ff67eaa3bd0ca2cbd76ff313e8ec63e3f5305293b947afdbcd425063ecbf70e3f0a9fca3b46f6fdbce3d1aa3de8abce3efe8a783b3814ccbcdfe9263dec5c763ef1beab3be13e74bc3bf90ebbc7e9b53d9215973b0087f8bbd0f9eabcfef8b3bcda010abec399813c0000000000000000f1ef14be634eb83c00000000000000009ac0aabd27086a3c00000000000000006a348cbd98c9303c000000000000000039ff20bde5d9c23b0000000000000000fa910ebd0010bd3b00000000000000005ec0d8bcd36f063b000000000000000033eaf9bc77e7b93b000000000000000064bcc9bcb628733b000000000000000018488fbad381a6baaf5aa03b9a2a2d3c5b313bbb608686bbc3a8623cd15ac43c2a37c3bbf0eb6e3b905a7f3c5fb6cd3c25a74bbb27064c3bc514823c90b1ad3c6c9f29bb51b38e3ba9d43c3c3a40813c55daf5ba1e81133b91fe0c3c354d7c3c7e52b3ba29cae838fe2eae3b5e59403c91906137476199b9e89120b7c00fac3bbc190e3a7e8ee1ba5b00f7ba8579ae3ae967563b199630ba017d613a8333643b9780113c04b6fc3562e7a43a4b39153cfe02373c0437a83aae1e383be3df843b45161e3c55341e3bbf07913a644b863b532b053c18f6383bcb75a23aed902c3ba707e03bbee21c3b61519d3a907a143b40bdaf3b69c1b9b95162cf38bf81503bbde5f43a4779beba8b03e7b9aa318cb8dd60a1b957ded8bafdcc94b8eeea9d3a63b7ddbc9a8989bd2884a7bc2075ae3b4def0fbd676508be12f1efbca348c23b085553bda66413be5a7718bdd3bba93a06f554bd8e1204be2e3219bd167babba69922fbdc86ed4bde44c09bd56b28eba67bcf4bc3db3acbd20e1dfbc2eb325baeb7770bc83376fbdf8ea88bc668d243bd0de89395f7cb9bc930e8ebb6329833baaac113c4250903a0df77a3b3d40573b1a4e2b3b937ca9bcdf65933d77ba9e3f8d38193b61ff9dbcc9935a3d9265983f70552c3b1e4988bc70de763dace9833f2524273b1b3c98bca302653df062553f580e043b249a89bccc2a2e3db15d203f24b1ea3a805e64bc1e1ba23c2c13e03e23cf1d3b39c519bcf7109e3a750c7d3e13cd033b361174ba30eb32bcb554933d4c3c9b3ae235093b9adf00bd725d57bd71b20bbe96aa8d3c0000000000000000f63709bef94ab23c0000000000000000cf3fa6bd6c647a3c0000000000000000d4bb39bd97c51b3c0000000000000000999dbebc043ad53b00000000000000004ffb86bcb5ef603b0000000000000000e20082bcd86e0e3b0000000000000000a74daabc85e3843b00000000000000007b48adbcf7b0a83a000000000000000000000000000000000000000000000000fff00cbb5f2e9eba827e563c6fe0a03ca369c7baf29a8c392f71753c28d4883ce5aadaba18f3593b795b533cc3c0613c22f183ba009e553b7d95253c55a7453ca8b0b7ba4286373b20c4f33be23a263c2c3d34baaefee339501b883bc956053cb7679eb9bf5413ba3825503a0795b83b000000000000000000000000000000000000000000000000000000000000000031f0013cdd77bf3762bd05bb88a1233cb1ff0e3cdb23c43a60117dba4768fc3b1e86f43b099e3b3bb0e58ebad3217a3bb54ab93b05370b3bfa76cbb870651d3b3f13ac3ba558ed3aac5b24383146473b290eb23b94196d3a2ca0bc3947e50e3bf8f41f3b0856f7b90f4e39ba11a4053b0000000000000000000000000000000000000000000000000000000000000000e4aa12bde6f90abefa14e1bc7bc639391a5e1abd111605be511e04bdda6ac9ba784f1ebdab90eabd645007bd05839ebb433f05bd4f8bc4bd8eebf2bc397e5ebbadbeb2bcd05e9abdee17d2bcee9b9eba22861bbc8bec57bdacd08dbc01a918bbee845d3b9ee3dcbc8bda00bc4741233b000000000000000000000000000000000000000000000000000000000000803f0d5daab9bc49d43bacbd85bd5f4c9f3fb99e4e39a024363a24f721bd2548843fd2323d3a66331bbb8b23d4bcdad4553f1b564339478856bb336ec2bce11d233f540c163a01fc4fbbc5d7cdbc9961e13ebc33133a2df23bb9b7d4d8bc0c2e813e96562cbae209a33bc4e001bddd87913d0000000000000000000000000000000000000000000000000000000000000000259b82bd1214593c0000000000000000c3cac7bcd3621e3c0000000000000000e88516ba1630053c0000000000000000e3501f3cc9929b3b00000000000000009b793a3c8d70163b00000000000000000f3ed93b595a103b00000000000000008c7186bb04d9d0ba0000000000000000000000000000000000000000000000000000000000000000000000000000000021399ebb0dc8493cb5807f3c2e03973b1ffe8bbbc802783c1de2863ccc71b13b6e374bbac97d4e3c0f255a3c8452aa3bbea3dbb96774373ca063443cd2cca53b42df2abae0bf073c6bbc3b3c8ff6b63b3fb8d1ba9430683bd6182f3c91138b3bd924f3bafaae61399491da3b62a0743b0000000000000000000000000000000000000000000000000000000000000000e60d563bd29e08ba4b37133c90b41dbdfcce1b3b7884e0376df8083ca8071dbd68b40c3bbee851396fa5c03b6bce19bd773ad63a2a2817b90fb4a03bcc11fcbc5050e53a9e6028bab766913b9420a6bc72be2b3b2e937439c9cd6e3b7da8f0bb30d6c23a2fa0e4397a23363bbc9a933b0000000000000000000000000000000000000000000000000000000000000000f744e2bde072c0bc7cb938bc05e6db3ae4f6e4bd671cf7bca9aa24bc59403f3a85b7cebd232501bdd26d05bc2a3a6cbaccc5b4bdf1faffbc2e93c2bb8b3051baa22c95bd301bf1bc6e6d8fbb40434dbab0f557bd6b02c0bc340222bb7c7aabbae0b7ecbc07a06dbcf7e971b96b9a91ba0000000000000000000000000000000000000000000000000000803f000000004e65d13bd05f75bda433973f355e82bc6bd26e3af52f3abd84507c3f826d993c5f4c99bbeafb1fbd4d494d3f0d39223da3fae4bb4d321abdfbed1d3f330b423d66a3dcbb558c27bd8fa1df3ed5903c3d35af3cbb656724bd1d26853e8b72033d3375253be6043dbdbf86b63d1da7843c0000000000000000000000000000000000000000000000000000000000000000cd17b53bfd329a3a000000000000000013a9033c01aae33a0000000000000000bc650c3c827b223b0000000000000000ca6fd93b6214263b0000000000000000a655263bad09563b000000000000000019fb90bb92295a3b0000000000000000d1101ebca8f42e3b000000000000000000000000000000000000000000000000ca4493bb0e86f33b9754e13b2a274e3a142b54bc538d823c98c4aa3cf0b2f13b3cfe0ebcd5e2883cdf47bb3cb896213cccf6c2bb17738b3cb858b63c507c043c92ac75bb973f513c749c903cd5670e3c3ecca3bb4b45093ccc0c7f3c8125153c476ea0bb0152513bc88d5b3c5f45053c998219bb7fd681bbb8b8e83bf785903bf6758fbadc4f58bb5b942a3b3f7fb8b9013d113bf52b25ba8edb523cd2b305bd6f579c3bfb2f9bb9142aa53ca79202bd72a68c3bb6c73db90068853c98421bbd4fb8963bd6d21db7bf8c373ce63a07bdfbe8273b3806acb92bad353cf4f0e5bca9aa6e3b599d923a7625273c4bf070bc59c4593b3fe2fab8413ff63b0f78a9ba7ca0c73aa8f6b1b9991c593a73462f3c205c4d3a2f6e213970f2dab9b6fe663c268486bd4e1667b9bbb461bc4e262a3b1f29f9bdd226e0bc997a94bc1c71273b5c1007be2e9c20bd89df90bc46634cb80e2400bed24232bdbcb777bce90ce1bae821d1bd846c25bdafa833bcfa7fe3ba5428aabd814826bd349e19bc061845bb8c3f70bd58d201bd0085b1bbe66917bb99d6c5bcf3138bbca39a18396d0857393d2d06bbc03af4baa3dffe3a0c1f56b95436593ce2a9d3bdc4c6963fb831d13dce39843c17d9f6bd5b248f3f2d8de33de710e83b66d3c1bd6646743f84440b3e3df945ba0de898bd8101453f01570f3e1e522bbbb9a98cbd6559143fcd83053ecb067c3afa438cbd2c5acf3e9f2ee33d74f9b63b376b86bd4c2d6d3ea599a13dc15e6d3c068952bd1c718d3d21f7173d5ac94a3c88ef2fbd11215dbdf8bff93b8cf1bcbc54543c3b00000000000000004bd78cbc2c53893b0000000000000000d52813bc316b663b000000000000000096b790bb4be7863b00000000000000006da552bba358373b0000000000000000da2518bc2148643b000000000000000015b178bcf06c883b0000000000000000000eaebc4d54a63b00000000000000004541a2bcaf008c3b0000000000000000cc2d96bb694f083c660f9b3b7885963a781116bc6e936f3cdd64823ce69bb73b0b3994bb48f06a3cec596e3cd5a5bb3bd66ac5bb247a693cbe569b3c8687233c6b6e36bbd0902c3cebc3623c9624e03b0b70bbbbbcf70b3cbe91813c591d0b3c625070bb1d64823b59e3293c0e96c63b603f74bbe5eaf8ba0b47e33bea4a8d3b7522fcba06e765bbbdad243b335b233a9ab3b43a268b673a97085c3cf23bf1bc26525e3b93f9113a1d5e933c516b0dbd29e93f3b143c1639c947493ccdce0fbd4586753b2c8cc139c2af773c4e16fdbc8c5d1e3bc919dc3a292c253c216fbabc8f5a853b557056ba3e733b3cdde632bc8199253bc2829539a04bed3b071625bb7b5cf63a6e30283a1551573b29e7313c97f2323a073a0dba02d1d03a0f11443ca5a154bdaf52893bc5d38fbce8c4bd3aa5fad5bd7a26bfbc84a7bbbcc56e0d3b2cc2d1bd54e00bbd37f784bc0e9fbfb917c1e4bd5e8d41bdc92498bc0ae70cbb729ab4bd96562cbde1fc5cbc9ffe52bb20999dbdbd4033bd8ac54bbc02cbbcba75924fbdd36d00bd40dfd9bb3a48e1ba159fc4bcd499afbc54d21dbb5703b2baa90a00bb61a970bbb913063bf8339839fde6533c817ed9bd6bdb7d3f98158d3ebce48f3cd17a05becd59773f71ce903e87c5c73bde38b8bdfbd3493f03d48c3ece7d993b1b81c2bdb54a2b3f1daf833e334bacb847c59abd3b2cfd3e79705d3ed193713b52aaa2bdf0c9b13eba4a373e0b3f983b98bc84bda2434e3ed07cfa3dd9396b3c85956ebd7b666e3d6e398c3dc4886e3cf01b1fbd84832fbd98856b3c3f373cbde7dfaf3b0000000000000000f9d332bd7573e53b000000000000000064e1c1bc50f4a53b0000000000000000ba8f9bbc7b6a953b00000000000000001c973dbc2bf9ca3b000000000000000021de71bc9ca6833b00000000000000005fe85cbc33175d3b0000000000000000f035c8bc2c828c3b00000000000000004610acbc8232f63a000000000000000068241ebbf7010f3cd1d450395cd6b139ca83dabb04a84e3c2392543c6604aa3ba95bb3bb573d5e3c90158c3c72ec123ca5bebabb4f02553ce22d933ce8a61b3cd92c6bbb25d3313ca3f97b3c4b93113c02d7a5bb22c9de3b04f15f3c1a8f133cf69e98bbe763103b5676483cb834f43b632784bb70c3dbba807cdf3bffa3a23b4a861fbb32e08cba82f00c3b00041039679ba43a67279bb91b0e3d3cf00f03bdea7b553b03c5923aa70f853ccb66febc4d1c843b383d5a3a0f9c6a3c2df6f6bc703f703b3f9d6d3a0057403cc2c0bfbc00b79f3b11f59cba55f42c3cd54f8cbc6313843b39098f3a751b233c222ad9bbc3858b3b8d58263abc56f23b65e5493bca37063b2f6b1c396534963b10d4203cb125c33a31f82b3980b9493b34e12b3ca91f39bd085b1a3c3c0e80bcc9472f3a16c5b9bdebabd2bce9fcccbc1aee1f3a218bd7bdc5123dbda6b2c5bc487904bb5835ccbd3abf5cbdc63aa8bc00be46bb2be4b4bd770853bdfc3f98bcd6af40bb568e8dbdb4cd4abd8b3768bce8a057bb156944bdb6fc1ebdddf337bc4c1e87bb1e8ab6bcc406b5bc90728fbb2e489cbacea066bbb9b2bbbbc8ed0c3a3a3d99badecc383c0864bfbdc1b24f3f66aee83ebb2a653cbf2ff2bd8a4e493f0945eb3ef2dd063cc703d0bd530e2d3f967adb3e11e1c33b88c6b8bd0c090b3ff112c13e0e8b5c3b1574a8bdcb33d13e8c65a23e63a2a93beeb59bbd9c858f3e85ec7a3e497c0c3ca97d8dbd00c61e3e0be72c3ecf955f3c4fac62bd8d91273dde4bb93dc3562a3c506c1abd3f3b22bd356ba33c0bfb7cbd3e90503b0000000000000000bbbc84bdd0af2d3c00000000000000006e2b30bd8cc5033c0000000000000000ba72e4bc768cdc3b0000000000000000440e8dbc18c1af3b0000000000000000faed93bc76750f3b000000000000000046459abc09b8b73b00000000000000008ae0c0bcbb0c353b0000000000000000183395bcfd584e3a0000000000000000559877baceefd73b642123395d392d3ae3859fbb8f45303c0089383ca69fc13bc51783bb3dd9343cb241703c93cf043cec9082bb6bb33f3c2da2823c450a2e3c0a0975bace8d063c1ffd243cd11e9b3b37608abb8278e23b9783673ccd8f1f3c25e981bb5862163b4e7d1a3c1399e73bb6ab66bb638e9eba42ecb43b6a658d3b2779d2ba60fb2bbbeec26e3beaf34e3a60e1293b27f9b6b99ecf173c4a31c2bc3b40143b144fce3ade0c533c614dccbc5bec573bc8e89d3aba18243c0891b7bccf78903b96256b3ae71d263c900b94bc15c8953a4dda7d391842cb3b7eab65bc54f4743b31d6a53aef5a123c1e35a1bb26804d3b9703553a2fc6dd3ba26b223bfeffc43a2eead63a20c6a83b9d8c1e3c7edc903ae78fbeb976bcf43a894c293c2d6532bdf331913b24b48cbc8c9b0cba7f5fa6bde0ddfebcc8eacfbcbbf234badb60b5bd122954bd36e9bcbca01d2cbba19db8bd4ff580bd866bc0bc9f8cacbb9cad84bd03da40bd31016bbc050056bb102180bd7ddc61bd5a5a96bc848f99bbd0361ebd956522bd411a39bc06c061bbc2ee99bc4e8dc3bc45b4a4bb422b11bb8b006cbbce69c7bb888288ba4a1146396be9b33b91d1a0bdae5f213f5b9a223f76c62e3cd725c6bd55df193f0533223f30fcd43be2ada6bd2620023f9309113f95b6423b2f83a1bdf683d43ec7f6fe3e1a0b48bb6d4d69bdbedd993e42a8c03e7086633b76c889bdf330553eddfc9d3e0a24ab3b5d2965bdccb1de3d23034e3e6b9d1d3ccae43abdbc83a43cf5e6d73d768f293c9e54f8bc0d0a29bdd7a6933c58809fbd3459993b00000000000000003683a1bdb4b42b3c000000000000000077b243bd136e163c0000000000000000eaeb03bdb8c9e93b00000000000000006cb30dbc9882ba3b0000000000000000589063bce99e8a3b000000000000000098c05cbca159083b00000000000000002136a3bcda872a3a00000000000000000ae17abcd3f552ba00000000000000006fc1d4ba16baa03b10a2113b68a9df3acb87a3bb20c3fd3bcbaa523cb1d30c3c6121ddbb2e4a1a3c4c00903c3fe4403cb339bbbb7657e43bd30cac3c7318333c297843bb91dadb3bfe21623c9ccd553c11f193bb51d9763bc3f9593cb87d303cd5dd82bbb1d6c03ad50c143c026c1a3c888719bbc4ef1abb13c2a53b79b5ad3bcac0c1bac64331bbaffc003b0478ba3a1ddf9a3a0b00a93a5c56e93b988081bcafd4753bfa761a3b6e9f1f3c71a169bcd0e2b53b5f720f3b2665273cd6da35bca03faf3b1bd51a3b82c81b3c74e936bc250b713b655dd73ae9d0063c2013abbbff61a93bab6ed83a5548f83bfdcaff38e214903b1e67d33a0780c63b675aba3b06670e3babb93d3a5e8d1e3be8e1163c1067a5b9bad7473a5af9363b58960e3cf5e436bd919488bb9b9e89bcd99e85ba3bea9abd23e043bd72dee6bc0cee30bb2c43b3bdd14c97bd3a51e3bc677ab6bb8218a6bd7e319fbdb2f0dfbc84d7a6bb6e498dbd616f92bd70f2cfbcab2bb1bbe24a57bdb77081bdb350abbc20fd99bbfc4f0cbdeb4740bd7edd88bcf32141bbac2d4cbc8351d9bc4371fbbb2ca84ab806c3293a6c00efbb7508b0393c027d392f1fd43b188f7dbdeea6e63ea489503f4239223ca3b9a0bd5a97d83e465c503f2242c43b80798ebd5830b83e9bc83a3fa422f43b6c4585bd84a0933ea6151d3fece3253a1bb46ebda42f573e6cf3f93e8c976a3b4d9f59bd572c0a3eee5ab93e8eedac3b43fc3cbd8f1c7b3d9a1c713e964f0a3ce7f30abdaf691fbb3ae0e73d33cd013c647eb3bcae9134bdc1403f3c6eceb9bd27d6e53b0000000000000000f52cc6bd122c7b3c0000000000000000627f80bd8c10473c00000000000000002c2616bd435d133c0000000000000000476a8abc5afecd3b0000000000000000482c4ebccf8b5e3b00000000000000006f6048bcf7b3c53a0000000000000000189f91bca05c9fba0000000000000000e3a37bbc28c7a2bb00000000000000000804d0ba7fc3063be235713b02b2a03b13fda7bbe21c383b8d6e643c4d90533c6fba69bb2d02b53b72d4783c3067423cf660b1bbd1f2d53b44378b3c896d883c7c585ebb7adba13bd75c6c3ca75e3d3cc75a90bbc962043b2f2f533c8350513c9d4a49bbc7e0493a29420a3c1a9a0e3ca65db5ba027111bba5b4283b968fc13beec7c1b8a12d1fbb01454cbae5777e3a51be163b34bd933adc418a3b7c2cc2bb3fa9a03b3e64373bc9baef3b5972afba8280ad3b7848ce3aa3eb9a3ba491b0bbecd1db3b9d563e3bf561cb3b1d2d98ba055c913b1f32273bd01b893bf3a8c1badcf0cd3b662e133b41d0ae3bfe7fac3b709b753b4fb8e539ec74753bd22ed13b39671f3b7f88933a7089c03a8600f33b891b5b3a89a94cbaca11b7b8fd01cd3b6b0b24bd85cda0bc64b88fbc2dc007bb04768cbdb93493bdc8fdf9bc9b8e2abbc6b48dbd645ba5bd59acd9bc91079ebbf72190bd8358c6bd596803bd9636febb6a1a65bdd73ba0bd8f97d5bc28f6f6bbb5c133bd505e95bdbb98d2bc3968b2bb55acdebc208b49bd948085bcf1212bbb6471bbbbd41be4bc42ee05bc15952239b595c53b46e08dbb4fdad23a7a0b473bc673b83ba14331bdf4948a3e4f6e7e3ffcc1013c58b359bda77a793e51337d3f34267a3b62d835bd8bdc5a3ee450523ff0ba803b32123fbde19c273efd9f383fa4a2643a498a1bbdac03ec3d46780c3f746e313b52d118bd99f7813db869d23ed750173b9087fbbc61f9c53c84f2813e5d8bbc3b38369bbca4d3bfbcdc97e53d15bf883bf21ff6bb7c8735bd602ce4bb1833d8bdf7a7333c00000000000000008abfd7bd0eab8f3c0000000000000000bcb33fbd8f3d323c00000000000000001be4f9bc319c223c00000000000000003bf4c5bb2dfeea3b0000000000000000c4fe97bb0ef9443b00000000000000006fad33bba985953a00000000000000006c0970bc4ad504bb00000000000000008ea87cbc3f61b4bb0000000000000000b49fa3bac9c4e1b93507b33b2b49c03b4e3aa5bb29d444bb1fcc803cdfee9c3c0f18b7bb1bfee939dbfc953c5dd0ae3c3197c8bb54b6ab3a10de9c3c63fba33c58898fbb6ec9173b297b7b3c919e7d3ce24a85bbb6d11dbaa595393c4f52813c7d0004bb38f90fbb1e18b43bf51e4f3c335d483abcae42bbab01b3b9c645d73b275d8d3a2bd130bb787425bbe16e023ba98a413bf306b73abbb0063bda64563b73ba073c3ee65b3b01642a3babab2e3cf35f1c3c43d15d3b2ba14d3becfa023c29c6173cf336863b825d793b8f53bf3b35adfc3b48cd1f3be1c7903b9d76a23b0370053c2e175c3be681763b32deef3b3c2fdd3b84f60c3bdecabf3a6d8b013c8e964a3be6bd343adb41beba2343893b70788d39e75cab38d8b593ba0bca9a3b21b026bd51bb46bddcd68dbc08e7e1ba2fba54bde564d6bda9f705bdbcac8cbbddf27cbda01af7bd48621bbd19dcf2bb8fdf69bd6d21edbd82261ebda3e617bcfd0940bdbc99c4bd5c380cbdd358f0bb0315fcbc20dfaabdce1602bd2b42cebbe32865bc11bd73bd7ef8b4bcffee29bb57315c3b3089e2bc8f331bbc04b1f53a7bbc343c9d897dbb14c8f139075e193b7c53663ba3e1a7bcb41fc83d7728973f938a923b038cb9bcf07d983d587b903f3fc4783be583bcbc85908a3d35ef793f0c13263b5009b9bca6014c3dfffa4b3fd03b1f39c77fc6bc1e48f93c72b31b3f22b1b93a8e09b3bc428b3b3b946fdf3e1c9dea3a5dc669bc9fceb1bc1865863e87be313bf19cf7ba6e8912bd6d23c73d3ad30c3b1fc5f43ad22e48bd21b405bdf347d0bd57a6363c000000000000000010debabd5c4c923c0000000000000000da2520bd33e1533c0000000000000000939205bcdec1263c00000000000000003f973c3cd3a3d63b00000000000000005b2e5d3c110c1d3b0000000000000000736bf93b6584bbba0000000000000000d7db13bc63e759bb0000000000000000dddd62bccec5b4bb000000000000000000000000000000000000000000000000ebbe4ebb2abf3dbaaf46703c6c76713c90556fbbc5ea6a3acea2893ca035883c305a5abb72584b3bf29a793c6f81623cba0d37bbccac2e3b68745d3c7c8b4d3cf03825bb7b61cd3a6325283ca4403e3cce5b79bac7cf04bb0f54ae3b90f8233cbb2a6ab970fe24bb979a823a0fcfda3b000000000000000000000000000000000000000000000000000000000000000025dcbf3bed452b3b31ba26b9c6a6173c873da53b6443703b90e7ee390cc8ec3b88f5a53b8fa60f3b895deb3ab371993b0b73973b1b55d03a6b4fd93a95b1993bd0bd573bd233383b92a2d03a4ac8b93b812d913b90c4fc3ac04cdf398ae9e63b9f095a3ba9e5833abfa285b93a30b43b000000000000000000000000000000000000000000000000000000000000000011d03fbd8bbfdfbd27fce7bcecc2d1bb460c3abd8b51e2bd55db09bd87d202bc9c1230bd60f0d0bddd3b0cbd76bff9bb08520ebd87b3b6bd197107bdccdbecbbf5bbbbbcf1fc95bdf0e5eebce02ec7bb163ffebb63315abd105ac4bcf7b356bb1298c43b86aafbbc1d0150bc0e27383a000000000000000000000000000000000000000000000000000000000000803fe94eff3a887fca38a32f39bdfe55973f4252cf3ad57891bb68630fbdd4b87c3f2caf61ba853124bc4e79f7bca22b4e3f9c1a23ba67b549bc30fd08bd69411f3f67b0d6ba940934bc211a24bda074e23e76ccacba9fd99dbb6c7a35bdd9be873ea09a87ba29ddb13a651a4fbdd6bdbc3d00000000000000000000000000000000000000000000000000000000000000000e75fbbca147393c0000000000000000a2e6a93bf680423c0000000000000000410fd53cfd722c3c0000000000000000eef20f3d8226113c000000000000000067340b3d4f1caa3b00000000000000008abebb3cac0e873a0000000000000000ab6b0c3cb5b887bb0000000000000000000000000000000000000000000000000000000000000000000000000000000001ea6f3b4c7afb3b3a7fbc3945bf0cbc5354973b659b143c859ec93ab42201bc54aa8c3ba3771e3cf1649c3a39461dbc9edd8e3b279c083c30c5033beebcfdbb07f1f53ac3ef163cf0bf923be164ccbb7e238a3ad621ea3b77b5b53b31d378bb46ae9bbab5b0a13b2bbec73be28926370000000000000000000000000000000000000000000000000000000000000000d6f8b1bb0b89fbb75525b9b922190dbd6d4ec9bb7c6d9dba057e11bbf5dc03bdcecef1bba6a975baf5c4fbba1642f2bc7e9c05bc925710bbb21cc2baab71cabc7c74e1bb20160abb82db4b3ac5c7abbc6d0aa4bb8bbeb0badb5b1d3ba22071bc983a43bb96addeb902cf943bb260d0bb0000000000000000000000000000000000000000000000000000000000000000a62438bd801629bb0a04d93ba641a13bdd2042bd1a0d0bbc687bff3b37ffd43b9ddd45bd37dd49bc07fb2b3c240dc63bea9e36bd09c04dbc94371d3c41980e3ca5d725bdcca06fbcb208053c797c033c4c86fbbc150b6dbccaff943b177faf3b7d15b7bccabd64bc447df13a55805d3b0000000000000000000000000000000000000000000000000000803f00000000082d20bc47f057bcab21813f5fefb13ca73642bc9f3c4cbc8ab25a3f74e60a3d3dc978bc7d9080bcbcdb343f80e6343d21c391bc5b4796bca8c40e3f9ecb373d28358dbc1c9dc5bc869fd23e0404323d737065bc6e24e3bceb94873ec48b113d492a23bc9ba90cbd9ab8f53d7bead63c0000000000000000000000000000000000000000000000000000000000000000fb2ddb383e3e8fbb000000000000000078f8ec3b5c6c9cbb0000000000000000b96d3e3c1401b4bb0000000000000000f0015f3ceac566bb0000000000000000f4496c3c0e73d6ba000000000000000091f13d3cee1ea2b900000000000000004577183c8ae7f9390000000000000000000000000000000000000000000000009e84473b07bdaf3b11ac01bb6d4be8bb7ec88a3ad6ab4f3c5e4cc33b4fe9bcbbbb5d4b3b612a663c82a9de3bc2870cbc6cd32b3b0fd8743ca97f013c1598e5bb162c173b9658653ca901d33bfd3decbb6c3dd7b95162543c3fe6123c618583bbbdbff4ba7422193c1aee183caf526c38001083bbdc1f8c3baf240e3c2fb45c3be0ca22bbaccab63ae845bd3bdd0f1b3bfa49e5b9aba1293afc639db86aadfabcc4b19dbb9d652ebbda17853b1b4a20bd34cb0bbc7dfb55bb1d71a33a03c819bd545c25bc524740bb6325da3ad3e914bd1d540dbc5a2359bbf66ffb3a454cf2bc35bafdbb990b28bb67f5b43be47db6bcda51a0bbae6d6bbba933e13bab4f63bcff0fd9bace3121bb4bc3fb3b8f2a22bb13dae03a1f07c3ba72c8d53b0f336c39cbd8d9bcac11f13b8ded833bfb2f21babd2b51bd1c00d1bb21f32e3bf5b2423b359b7abd29f45ebc10a5f23b5f14c33be3537bbd915b90bc6a59083c834d1c3c19c159bd3a359bbc5f070a3ca1600e3cbf0e4abd33a4b4bc1bfcbc3b21d3e53bcbf51cbd9bd4aebc6cd2353b4ac0b13bc783bcbc8d618fbc0feddbb9ce97003bc7ed22bc0ebe0fbc9da8c0ba7695dc397872ccbb2b03cbbc3f97803f371d0d3e301845bc48fb0bbd453e6c3f6879123e147780bcaa2affbc034c4a3f6ec0153e0a9e99bc2a3802bd57cd263f43a40c3e5f829fbc13d103bdcb4b013f8364f83d0a939abc7e0323bd8005be3e6b68d43d39a578bcf99b2fbde405703e7b899f3d092ac4bb8cb533bd13b5cd3db1f63d3dc6bb24bb987e11bd060392bc8c307a3cddd130bcea6995bb0000000000000000e8a9b3bb2b3885bb00000000000000009f1d933b31099fbb00000000000000009037313c415f5fbb00000000000000002aee743cfb4961bb0000000000000000dc4f7b3c9db61bbb0000000000000000ac7d5c3c8273b6ba0000000000000000e14d023ccf9e04ba0000000000000000bfc79d3b4bcf783a0000000000000000f0570f3bee2bb43b64ee09baa616d6bbde35233b8595423c09cf893b196a09bc439b663b6c61213cb242323b6f7c00bc544ee83a491b623cd29bf33b6081e0bbf0990f3bb9b8323c7c29c93b4f0fdabb0b100fba43943d3c94f2313c735561bb9c45693817ddd63b4954dd3b62c3cebafde468bbb048903b1a32123c0ad3233b6a3b4cbb5a17363ae536e83b719c1c3b9dc762bb28944e3a1cb99c3a8c0ed8bce2a1d5bbba80ebbac20b603b60e515bd1887e9bb07c30abb44a91e3a698900bd0de732bc6c0b7dbbe7428b3bcb2bf8bcaa4909bc11bc8fbb2df1033b5b37c5bce65611bceabb8dbbc11ebd3b325897bc5ccfb1bb2da048bb6bb0a23b6a6a3cbce4022fbb3147dbbaf65a073c0a7d13bbaddc05baff8b17bb2adcb53b8bea803b8208b0bc92dadc3ba8ca953bcd67123a451e49bd7a0e82bba683cf3b26c9853b8e3943bdaeca39bc33d0f23b6839eb3b54566fbd55b0b4bc2d7bfa3b803a093c2d7f43bd84139ebc9722d83b1d88143c36ef44bd93f8d2bc41b6843b622a033c6dde04bd12879dbc3bdd253bad1fc13b9ae1b7bc7a1f97bcd5449aba45ed143b402fffbbdef21cbc3e460bbbe969883adb25b7bb795901bd11fb5a3f9b728e3ee18f30bc342431bdace04b3fb06b8d3e3d1465bcd7d404bd326e293fd0a87e3e4a3d8dbc609830bd0b27103f7ccd6c3e7c2392bc670618bd4d96dd3e3726423e9c5f84bcbddc3bbd717ca23e5000233eb14c46bc508821bd97a64c3e322add3dc50ac9bba12c3ebd415eac3db45f8a3d97ef59ba8ab9ffbc8fe387bc0b6e863cbea18bbc6c15afbb000000000000000061c93ebca384bdbb0000000000000000cb85a93a7a3295bb00000000000000000ba23e3cd6c94cbb0000000000000000649d733c105725bb0000000000000000bea58c3c90d6d5ba00000000000000000bba6e3cc113153a000000000000000087e03e3c5071f2b9000000000000000029e29f3b6caca03a000000000000000013fb513b7e098d3b629466bb2b21b7bb6a511d3b1bc43b3c7112543b242ef4bbdb5f2e3b4069693c052aa73bc1c9e3bb0cb18b3a16e1643cf73f0d3ccf6fc5bb085c093b5f5d573c537bcf3b38ca8ebb1547bfba714f303c4d3d333c71e956ba0019e9ba7f8a123c3623373cad18df39334980bb8e50643b5afc153c1ff4703baa3702bb1df0553aa24e983b36fc6f3bce6405bb3a4e023a1973563a3ac5c7bcc533dabb887b18bb7d89633b5d2507bd926e10bc5e1d73bb9454303b56ba03bd84f123bc1b556abbc503853baaa5debc1e8b1cbc4b68a1bbb0ca313b8ee4b4bc86e109bc36c599bbebdccd3beab16fbc672be5bb83df2dbb145ed03b29791abc3f6e10bbaa5654bb9744053cbbbe7837b5f5abbac6da0cbbd32ecb3b57f3c23a1e63b6bcaa90083cc735ab3bf1cce4395ed93abd92ecb4bb94d0883b2d1c3b3b78455dbd7b2e8ebcce7bc43b8e26dd3beffb63bd1430cabc03c5b33b3ca01c3c5c704dbd2ed8cebc7a2aa83bd3f4173c888338bda1d1e8bc1dd0073b7383e13bc2280fbdbe88e2bc929d013a8d99893bb628b1bcc83ba9bcec3b26bbefce1a3b83260dbcbae41fbcfdff04bb2656823a252800bccc2fe8bc9b57353f513ed83ea25a40bc0aac30bd1346293fd7b7d03e7b5486bcbcb32cbd30cc103fdf9abd3e186391bcfaee33bd14d8ed3e1e55a53e5df58bbc0c2e2cbdd523b73e3959883ec86a88bce3de41bdd1e1843e9b08593e8be544bcecf53cbd292a233eeba4193e4357b1bb05f631bd81c1833d55adac3dc1c7d2baed3ce7bc647f8bbc2a74903cec2da7bc09e5cebb0000000000000000614a82bce251f7bb000000000000000058774fba4b829fbb000000000000000037ad143cd80855bb00000000000000002dae893c3eaedcba00000000000000000a3d953c001ba0ba00000000000000004f1f963c5c7a183b0000000000000000f27a5d3cabfaf63900000000000000008c39093c6a6cab3a0000000000000000ad30613b97f4b83bae0d44bbfcacc4bb2824c43a04663e3cd4a7583b462500bc5aabf73a7af5353cfb399c3b9e2dd1bb0b50103bf1d8533cd116023c6569b9bb24f42e3b64ea0c3c7b619a3b4718bebb514c06ba4a2d2d3ce414263ce1aeceba91ebb4ba45ddd93b4efc083c6eaa3e3a7a1957bb5a7f823b76ef033ccefd3e3b5d8a02bb011cb33af0f9c73b700f383b871e4cbbabc761b8b78e193952d3bfbc774c09bc037701bb1c17833bc9e6e7bc519c10bc0fb45bbbc16d233b52abc9bce23c34bc97b5adbb74df4b3bd4bcc3bc461a1bbc643a9bbbb52ab63aa78a89bc20720bbc3e12abbb6922bd3b1f924dbc3d21bbbb5fd48dbbd8e8b53b2770ccbb91554bbbc62d6dbbfc5fe73b2cfe7739223680ba1d5a20bbd2ab8a3b9e24693bcac7c4bc4254e33bf54acb3b57a2fab99bde34bd2013eabbc64bb23b01c5813b5a3344bd23a6a1bc093c9b3b9112da3bdd6053bd2cddf0bcd055423b04d10a3cf1081ebd34b9bebc8dda7c3bede7193c9f702cbd8e53febcd0012dba86f0ff3b7cf7f2bc0cb7cfbc8bed38bba40ab13b5e819dbcd2f1a3bca2b68fbbbe5e1b3b046d07bcb6a12bbc29ba8dbb44b0983af826fbbbf14cddbcd4a8103f99b9113f307649bceb291fbd6dc2043f94a1093f013463bc3da314bdc801e13e4247f23ecf7684bc71e727bde33cbb3ea682d33e7d5a7ebcc33107bdcb8f8d3efb7aa43e837574bc2fbd33bd86444d3e8ce2853e878226bc879f21bdb307f73d6ccb343eaa4f9dbb8b0a1abd56ac313d769ac73daa5442ba638ad5bc74b9abbc284f913cd792cfbcfc5f05bc0000000000000000b7f791bca605e4bb000000000000000022c84f38151091bb00000000000000008d4b3d3cc2de2fbb0000000000000000af45973cffddbc390000000000000000f147b43c55dbc03a0000000000000000645ca73cd96ef33a000000000000000070e1863c2397eb3a0000000000000000b858213cda12853a0000000000000000e186243bc0e8a03b444ed6baca8bbebbf181eb38aeea333c8523c03bcc0ab0bbe80ad7b9519c563ca7cb103c07ef61bb5e3faabadb36543ca03e283c27ee07bb88a9fc3932ac313c8855253c8fddedba746612bb12eb0f3c7a8b363cb1eb9b3a70976dbb4203fc3b7c6f283cc5634f3ba9d787bb8add823b8c76fb3bffbf9c3b9a96d4ba3937213ab6ae773b10e51c3b6eb172bb6e28de361c3bf339225294bc4674fdbbc51d23bb2ba8963b511dbfbc0c951cbca7e5a9bb5d5f863be638a8bc6c4a33bc9dcba5bbd65ba23b8d4592bcd9ee1cbc2de8bcbb3fee8c3b7c8e7bbce835fabb0752c1bba656de3b8384f2bb3bd5b6bb850688bbf80adf3ba87332bb7616c9bafd5b0bbb46b2b33b00233f3bba61b4ba611d20bbc6778c3bfb75993be787cdbc2154393bc9de9c3bb658673954683dbd34e182bc13d1ee3acc3a423b8c2556bdeab001bdfbe91d3a769bcb3bd25550bd7d9e15bd6a61f8bad739063c1f6d3bbd28350fbd807de2ba5a53083c541d1cbd475216bd7886bcbb558bcc3b1e04f3bc50db01bd334eddbb5eac903b6dd488bc39e4bcbc0846dcbb8731153b4d98b9bb3df41bbce0b885bb43912c3a09bbdbbb8078b9bce90bd63e64f5353f5b9d20bcdf4f12bdecf8c43e5d042d3fa8ba5fbc5a161dbd3219a83e72af183f27a650bc814921bd8726883e437a013fb84f6cbc36db1bbd3f92503e2edcce3ee1b945bc28b42bbd84e60e3ea89f9e3edb8e1bbc16a922bd1b35a23dfadd563eca6b17bb3cb80ebdb907aa3c2326e13d4e00f3bac547aabc6604bdbc3cdd4a3caf7fd0bc4b96ffbb000000000000000021d3a2bc46e1ddbb0000000000000000bf86983a031473bb0000000000000000f3a5623cb8f5a0ba0000000000000000e399b43c4338aa3a0000000000000000b387cc3c608e063b0000000000000000d3e3bf3c94fa1d3b00000000000000001d877d3cdcfe163a0000000000000000744c0e3c9fc4a73800000000000000002724e438f1f4bf3b586e273aee9482bb008f66baf627163cd367e13b974f2639b994883a0c800d3c25e5c23b8ad426bb95a3c5bac0d54b3c9677383c99bbf6b9fb4e57ba6c80123c13de1f3cb06af33802803bbb89550b3cae6a4f3cc298833bd2cb8cba4b1f8e3bb890003c2bb13f3b07a05dbb435bab3a458ee13bb2e0b83b9dc408bb313a53ba2591783bd029833b095275bb94d7e23a0f4fd83a063858bccbef04bc8f9a15bbc85eb13bdc6f81bc3441febbaf5381bb9e76f63a6dc070bca6720bbc5b78bebb1277a03b53fd5bbc72c00cbc42e3b6bb05d5683b67b712bc7d4dd3bb5f77adbbdfdab23b622295bb76cb8fbb8f5e87bb6f488f3b9c96c1ba7a105eba10e957bbe4edc93b0560913bbb18b3396f4372b9e16c653b875ab13b010de4bc1be3c1bb7cbb653ab348e5ba7a1242bd22bbe2bcd16516bb3cbf083bf4e82dbd70f303bd7dae47bb6248c03b30fd4abd8f5e36bdab7bd0bb1aa6ca3b999c1dbd50511ebd91b3cfbbd043e33ba3e312bda50330bd0ef324bc214e8a3bff0cc3bc43f7ecbc336a0bbc1a018d3be4e069bcbb09bbbc66e819bc8ac23939250385bb1e791bbccbf4b4bbe1ffe8badcc698bbb8ce96bc70568d3ec0d05b3ffad50abc5d04f9bc9db57f3e72dc4e3f5f921abc7a86d8bc7beb563ebec82d3fde9442bcff640abd70a52d3e724e173fd20047bcdfdc00bd0be5003e9112ec3e4c6839bc27241bbde66ba93d7a7cb53e1e62f7bb8da7efbcd7fc323dac126b3ed00a0bbb9213e2bcdd5f0ebb6e50ee3d012f5e3a5bd886bce52ae1bc0a0bd93b863ee6bcc033e9bb0000000000000000d49290bcc87aa3bb00000000000000009497c93b6a4733ba0000000000000000a6b09a3c53cc423a00000000000000004a6cd13c06ad473b000000000000000014c8eb3c8308463b0000000000000000379fbc3c1111903b0000000000000000c6608c3c026c223a0000000000000000fb92eb3bbde985ba00000000000000008c5836ba81d5c13b008d0f3bbc992bbb6f3569bb5d231e3c1dbd2d3cc8601b3b173a60bb4cfd283c26c5513cfdd5173b416247bb7848123cfc46663c4dbd7b3b538efbba669c0a3c20b0443cf8525d3b92d179bbc437c53bdf854d3c84d4d43b7a038cbbf50c783baeea2e3c57c7e13b3f045ebb33f0c7ba8bf3e03b5c34e53bae49debad2c6cfbae605283b3849c13b870794bb4f79d7b9bfbbee3a177f1ebc00ebc4bbd2bd2cbb1c1f4c3b2e4f0bbc8f55e9bbc5609dbb3db19c3b12701bbcf37502bc1734c6bbdaf99a3bf97bd8bbfeaefabb2a20c9bb4455863b7df399bbb7cf80bb74ffacbb2a8aad3b0d859fb9ba4816bb19525bbb6257bc3bb25e543b7088913a5a045bba23e1853b07c5f43b039d83394ef2a039b70e3e3bbfead03baa2004bd37aa86bc4f5a87baca95a4ba944339bdfa202abd927610bcfc8f0d3ac8193fbdddfa51bd01a031bca539813bec3632bdc8965dbd7f1a5abcfd47ab3b767f14bd44d343bd8bcb57bc91cfc63be6d0f6bc5df83fbdb2fc93bc041a373be928b1bce68a17bd86c482bc3265d53ae55212bc03ebc7bcaeb050bca51381baae3b2cbbd58530bcad3bebbb882e36bb769220bbb8cd4bbce198093e54a9803fbe4b6dbb0e53a4bcc1eaec3d90c56d3f306b01bc7645c4bcc20cc83dacc54c3f14fe19bc1aebdabc1561983dfa0d2a3fe71a2ebca6d2debcf0c2513d7382053f02a50bbc5d5ce6bc0242c33c55dac63eefe8bcbb595cd8bc266fe6b948db813e6d68f938d62aa4bc3e0eb8bc0c8ef33d460dbb3a445148bc078108bd2d756dbb35a4b0bcdf2d67bb0000000000000000dc26fdbba331faba00000000000000002b477c3c59fc093b0000000000000000a5d5ee3cc204a73b000000000000000089dc0d3d37e1e33b000000000000000060b8163d2de6f53b000000000000000050f7fb3c4c1bb93b00000000000000004de2933c5d1d053b00000000000000005d56e73b6bee42b80000000000000000000000000000000000000000000000001e10deba213eeb3b199bea3bd847493ad7e61bbbf065073cc996423cc599df3ad99f03bb9ab30e3c77e4253ce983f13a1a2532ba2456ed3b55b6233c1bada33a9070d9bae305a83b035f363c1be33f3bbf9b24bb67f52f3bb66eea3bb10f903ba4312cbb1a927cb97534cc3b3d46e13b0000000000000000000000000000000000000000000000000000000000000000b865e0bbb0ec68bb24443f3b3fe2bcbbcd5e03bc1b188cbbf575483b45d5aebb47acfdbb6f26cebb22cd843b1e97abbb1cbfd3bbb24dacbb85f4213b21f23bbb76c09bbbfdb8a5bb9a66763bb4bf19ba7d586bbbfca286bae97d7d3b4d8e803b677cc4b915c8d9baa1435f3be3e3d03b00000000000000000000000000000000000000000000000000000000000000003c1c1abd4b5e31bdc05b09bc104d1f3b554f12bd93f947bd33ea3ebc2140893bbb6c06bd859e43bd0e0b57bc72b4ab3b7970efbca03e33bd390b66bcf761b43bb060b2bcc27220bd8df781bc91a2793b4f1d83bc28b0fcbc4cc871bc2641f3399dca05bc62ebbfbc34f973bc04fa9eba000000000000000000000000000000000000000000000000000000000000803f1c7c6fbb174234bcf4d51abbd015813fd084ddbb2c8564bc23d5a4bb77705b3fb9f714bc4f8593bc1d310ebcdeee353f092a06bc70e998bcef4e65bcd3a40f3f3cc80bbc55f5afbcb7d599bc371cd53e649665bbdeaa89bccf03e4bcbf79893e674b95ba52a474bc1e110ebdcd1cfe3d000000000000000000000000000000000000000000000000000000000000000061e11c3cbf0beb390000000000000000a501c73c8788b23b00000000000000005bba0b3deaad0c3c00000000000000003a0a183d28d1293c0000000000000000c91b113d0c063f3c0000000000000000e096ec3cb19eda3b00000000000000001d1eaa3c97c1b13b000000000000000000000000000000000000000000000000000000000000000000000000000000002235cebb8792ab3a6ac8263d6ae3183c389f90bb3415633bf0181c3d0182543ce47ce5baf1baca3b956ff33c8c625c3cb34a0e394e88093b4ec2bc3c5cbd5f3cca76823a8083473b882a823c8c211c3c8ccf3a3b4ff70f3a6c751c3c68a9693bef24d03a181d5bbae3e63b3be382903a000000000000000000000000000000000000000000000000000000000000000022f88eba8d0eeebad9f20c39fd15753c4fb7233addcf3abb570bb5ba3655123cbfb13e3b54c544bb2e7046bb20084bbbd6259f390192fab9822cefbaaef27cbba4cd593baddb00bbe4f4b3bbadf3a0bb0d666a3bf37406bb09dddebbaa1848bb354d3b3a4d984cbad96cc1bba6239fba000000000000000000000000000000000000000000000000000000000000000080e957bec9c160bc0461e53b03bfe0b9f1214cbed5e9e0bc0f40753b57130b3a2d1634be05fe1abd5275903ab235823afcc10dbeb2d012bdc21faf3af10c7c395aa6c7bd95a9ebbc9bdf0cbbe7c94539fb5352bd4d5b8cbc3d06d3ba1105b33a9b49f9bb72f9f1bbf1455cb837a0113a0000000000000000000000000000000000000000000000000000803f000000006902b63c97c806bef240ad3ffea1d3bdf4cc7a3c0cedc0bdf9ad8e3febd932bd8ec23d3c66a497bd14616a3fea0c41bcd9a92a3c61266abd8cf12d3f0147af3b4f0b033c7c0a0dbd7cc1e13e9bcf873cb1f6a83b8cef33bc49115d3e1964823cafae283b6659b13b0238ec3b04390f3c00000000000000000000000000000000000000000000000000000000000000004af66c3ceaacabbb0000000000000000ed6dec3beb2474bb0000000000000000d3bfa03b68c85cbb0000000000000000b071fd3a03e86cbb000000000000000026811f3bd3100fbb000000000000000043d91c3b5bc91dbb000000000000000061174a3bcc36f0ba000000000000000000000000000000000000000000000000ae99edbb5fd31cbaf4c8b83c48fcee3aa75f14bcce4d64bbdd30253dba290f3c5d32a8bbbb0bf33a65ff253d17447d3cb8b83cbbcda64a3b4bfe0d3d3c188b3cff4d5bba601b903b14fbcb3c1f37723c958632b98462433b00158c3c59122f3cbf51b23a7b51cd3a8ed51f3cab61c63b0e5bb03a68083c3bd0f72f3a79c92239e5f9b3b99524133918c667bbf65f1bbbbb5a33bb301a5fba9798543bf062803ce3163bbb55081cbb664b44bb96b91a3dd4c0ecbac93b51bbec4936baed8f913c79c12e3b6d877ebbdd9ffaba765f243c2ac16d3ba37725bb01d986bbdd527c3b6a31253b628e0dbba4f6d3bbae46683bf8af633b863d17bb30a3eabbbddd1bbb03865e3bdc4737ba3446e2bb2a9703bca513af3a77c053ba20e5bbbb77a5f63a369e03be13dfc43b31d38eb9d350173bd7c347be90a6f9bb5e69fc3a0ef41b3b998856be0fee0dbdc003b53a4bd6963b2fcc3dbe460439bd35c71bbb094e783b3ba713be8bf335bdb866e3bb165e4c3b1bf6c9bdac8313bd11f098bbac3d313bb94a4abd700dc7bc3f6ca9bb8ca2373bb0ecbdbb253835bcafce49bb66b27d39b4dda73c73d3433b85b32ab945567b3a2151313df51d5bbecb95ac3fba28653c62603a3da66b54becf9b9d3f389b1e3d516e073d7b832cbefa328c3f7f5c8f3d97f0e13ce3ac0abedbab613fae39b23df1d7aa3c8da6c7bdcad3243faf40c03d2b318a3c63d271bd697bd03e03bea83dd2bc3b3cd927b5bc0a4f3c3ef355853d9bff003b9a2d9a3cd56ce83b99f7303def2f623bed1b5c3c4297f6bd65e2203b2a278fbcaab9723b000000000000000005a8acbc16d3803b0000000000000000459dccbcc8a7b93a0000000000000000b2fcb1bce46cc03a0000000000000000942f80bc867a74b90000000000000000a96272bcc020573a0000000000000000b2453dbc951a973a0000000000000000a9eac2bbaeed66ba00000000000000008f5b92bb882dd33a000000000000000086d7f3bb9715253a78be703ce1085f3bda80eabbd6b7da3aa5f6e13c6cc5613c9868b8bbb6ceb03b441af53c6a68983c4c3babbb2b26d03ba8d1d13c56a5a63cb9f081babe18853b6b92983cf678683ccab9b1b9c29f9b3b239c5f3c5665383c3de61bba56ad453b059dd43b42b9db3bd0e9d8ba643e6a3b33394fb75283f93a5d79eab90a83413a2dbd24bb794156bb1362f2ba975bf8bad785b03b9510313cb95049ba338d34bba4ad8f390b1aa23c33a04d3be33171bbf612863a8599233cb5034c3b76fc22bbce65afba4800013cf2a7c83b64c150bba91445bbbe97af3a89779b3b9f1ad0bab644b7bb6936d43867c4873bacd302bb9f12ccbbc51f563a9dbb383bee8f7fbae890c4bb655a7cba8b5ae23ae457a5b96642b5bb40ed9e3ac25fb2bd2151303b8deeccbb303fc33b721324bed61803bde6f9a3bbc558a63b838b2dbeeaf46dbd8d50ecbbe60bc03b7e081ebeaab686bd02fa27bca6b7b03bcbaeebbd17986cbde7e13dbc304f9b3b57dda6bd917043bd006322bc22e62a3bbf232bbdebcaf9bc1b16f2bbbd6d363b164afdbb960151bcba05b4bbab1bc63aeff25a3c3364703b01ff47ba0b0e3f3a158c313da8205bbe785f8f3ff2cb6a3e2539503d23cd67be78de8c3f6569753e15651d3d48223ebe6795733f02fd7e3e2be2043d153018be12ee433f167d733eb8b4c93c55c0d7bd68570c3f02ea533e3a9da73c7e7c8bbd85d2b03ea6612a3eed56863c91061abd2b3c233e7ce5e53d6bc0cd3b894b08bb2f73053c58895e3d22f5bf3be1d2173c9079aabdf897763bbacb8bbd276d5f3c0000000000000000435291bdb5d16e3c0000000000000000caf87dbdc27e2b3c0000000000000000507e61bd63f8153c00000000000000006b5329bd6bccf13b0000000000000000b4cf14bdcc89f43b00000000000000006de4d6bc0e29a63b0000000000000000202084bcfbe8963b00000000000000001b2f43bc7702813b0000000000000000e27895bb42a8a43acf5df33be78eda3bef5503bc43da3c3b7916b53c3587883c5c9eb1bbf0af903bef8cb23c5448c03cdbfe1dbb93ed893bfcb2a03c4d55ac3c50e707bbb4c8b83b2b3f733c8abd903cd5e627bb062aa83b143b1a3c7e805d3c257dcfb9ec48853b151c943befa8e53bb6b5d0bafe0c503bf22c4b3a232cdb399d53afba824fcc3a02284cbba7703bbbc5820fbba5d05bba4b75b13bdfee8eb93023f23afd2c83bb6ed77e3b031c3c3c9ff9893b219981bb7c54a63aec021a3c29b9093cef8698bb522437ba1ddc483b0c67e43bbcf7ebbaedb402bb93e5c23aa4f3993ba4c66cbb047864bb5b0a873943ddbe3bad490abbe8de91bb81d71abb281b803b7398f3ba3ea6b4bbbe0086baeaf2033bb5380abbb18733bbe19c4a3b6f138cbd18e6d1bb1b917dbc0077113ccbaafabd0ace74bdc35a11bcbb14073c24ca0abe16a9adbd195b52bcf25c113cfc8bf2bd2db6b0bd304097bc158e023c1863c2bdf877a2bdbbfd9abc885be23b26c97cbdfc6e75bdb7996abcb4dba63bd48806bd3ff21cbd858a26bc2fe63c3b8c16bebbf56f5ebc158cb2bb72669d3af6f2123c066e933b54cc21ba434a8b3abec6203dc20247be2d0c6d3f0ec0eb3e92d23f3d6f1b59bebf59653ffc5bf13ea3001b3d73e431be1708453f6e39e93ef933ff3caa1c0bbecdb21b3f7890cd3e3dffca3ccb81cfbd5aacdf3eb57aaf3eb2b0a63c56538abdff0e8a3e7823813e6bb6793ca0c60cbd93f6fd3da8a5203e655d253c3e3f1abc03a9f03bca7f833dd4f9db3bfe1318bb1d7d85bd0abab9bbf632f4bdcd6dc33c0000000000000000b2bfffbd12f2ce3c0000000000000000bc37dbbd348ca13c0000000000000000741aaebd208b843c0000000000000000bb8b91bdbe34473c0000000000000000f82550bd2d94413c00000000000000007c591bbdbae9293c0000000000000000cf48babc040aef3b00000000000000006ddc96bc7b48ee3b0000000000000000a2598abb2b89bc3a0437d83bd7240b3cad009cbb6eb44c3a5b6e643c88b8aa3cff0366bb69a7853b3f83893c1ed1c43cc87745bb031e8f3b9fd1873c22c9c73cfabcb5b993e1833b95061f3cf824803c935551badb89933bb71ae43be62d693c1cd9eebaa6966e3b4ed7333b5515e53b0fc8f1bae9469b3bc5cdb7baabc2ba3a066a40baa557493b0c6e9bbb443c0fbbf56f383af7bf4ebb14acdb3b551516bb820e923b6f0792bb24c7f93ae58bdf3b6aa1db3b107185bb6b7d0d3a8574fc3a6fbd043c254b46bbb46a85ba8748363a72b9e03bab92ccba9e4b0bbab64a66bb3b790e3cb20124bba0e451bbf1df27ba8a58d33b041bb8bafd4c17bb8e6fd0baff5f1d3b2d40e0ba75743cbb566519bb8cb50f3ba54acabad5d92bbbb5ed443af55250bd07ddc2bc42f38abcbbcc303c6a5bb2bd6fe2acbd2b5584bc07db3e3c5c33c6bd6c7bdbbdc409a6bc2294163c4398babde37be4bde884c1bcd0380f3cf3818abdae16a1bdd7e9c3bc07fa973b535348bd868998bd19fe98bc52be903bed9ed1bc82b324bd1b6260bc52f6023b151bcebb04774abc447eb9bb9895ac397197013c132eee3b3ff9d3396e63c939f810023db9b924bea579323fb163333f1ad21f3d575a2cbead55283f94de353fedcfec3c1e9808beb5f00e3f6e16283f0bf7ed3caabae2bdb6eae13e523b143ffc6c8f3cc19b99bd81749f3e78b4df3e5d99923c9b2f64bd215d473ee072a93ef246553c8dcc07bdcc77bc3d41b0413e24941f3ca5f154bca0fc093c3f7d8e3d6cc5bf3bfcea32bb4ffe48bd83559abc9a7827bee573f53c0000000000000000d6fb2dbeb4760f3d00000000000000001d450abee750d03c00000000000000003112ecbd356ab13c00000000000000004f0990bdfe7b723c00000000000000000d4787bdd4fe673c00000000000000004d0a29bd5514533c0000000000000000dae9e8bc8b17463c00000000000000003242c1bcee221e3c00000000000000001c7b54bbdd2a1b3a5522503b50ff3c3ca89556bb9c233d3a5cee0d3c3efcd63cf4ba3abbc9c63e3b80413c3c5f36e93c43b11dbba67c9e3bc3bf2c3cba0ce13c284012bb0610a13b3202093c3cabb03c5d2e77bafa78a93bd397a53b433a823cdff4f1baca8bbb3bc75deb3a39020c3c0ada0abbdb4e903b4f11a5baf1d7243bee9c88baf0b0333b6df044bb11927cbb5a9013b948c218bb9638913b28c97ebbc897b03b95e1d3bb63e65c3a442e263b5b9d2d3c60fdabbb629ac1b92968213b607a533cbd5d98bbf10f8cba7eb282badfa32d3c749332bbe33dc2ba671949bab8a8053cac4843bb1e221ebb26fc95bbfb8fdb3b409a1dbbe505deba95cb59bb5ed5823bc41412bb557e06bbd7b74ebbb7bbeab981cd92ba478e80baa574ae387510efbc1b3630bd2f0589bcb5e32d3cf2ce53bd7598f2bdb12161bcb217563cf5bb7dbd59a212be3e2bb8bcfc7d343ce67671bd52c70cbe9989cbbc3e57023c0bae49bd5afaedbd35d6ddbc2ab6d33bb8650cbd867fabbd589297bc95e9823b356fa5bc391347bd03a154bc2e98333b7dc2c5bbf43469bceecca5bb91635cb93bf1ab3b7768233ce126433b63f7fb3864dec33c2692e9bdd9d6e93e3f1e6e3f17a5ef3cac53f3bd6c5ad73ebe7b703f86f0b93cf359c7bd19e8b43ef6e75b3fdee89d3cb4ad9abd76b98b3e4536393fe0dc8f3c671870bd1141493ecad8113fd9cc5e3ccf7b1ebdb8ccff3d4ab2c73e86bb2f3c1fcfcfbcd8267e3d302e5c3e8e700b3cda2f3dbc0272503ce1167d3d0e8d9a3b8e6cb3bbe852f2bc5f4b11bd999b4abed5951d3d000000000000000031de54be22972d3d0000000000000000f3b92cbe3466043d00000000000000006fd502be5fd5d63c0000000000000000ef0ac7bde22eaf3c000000000000000056be88bde22c893c0000000000000000669f31bdd05e5f3c00000000000000009f9ccfbcd8f8513c00000000000000004f41b3bc8a371f3c000000000000000067d2063a979d12bbc9d31cbb8e9c833cac3be1ba92b24d38ace3473b8f6d013d288ae4ba54bd283a920d043ca3b30c3d4d8240bb18e7883b6c3ff23b98c8013d5086f2ba6c6b553b727bd83b0becbf3c665b2dbba8c0bf3b00d0733bb86a903c6b3eecba81ba803b93e2af3a5db23a3c48b539bbb8c0b93bf34d44ba7a08363b8a0adeba66e4373b89d90ebb0f6408bb9190573ad44680bb0be5ef3a23b06abbe0faf33bb353d9bbbabc923a61e945bbfb5f2e3c6365a2bb8e5585bacdc4a23a0d3f4e3c08d099bb08e787ba866f54bb8fd0303c6fac26bb200210ba705460bbf4961f3c7e7dcfba898596b9383373bbd7f1b73bb7cd0dbb445f46bab561a3bb30880b3b3854b7b94c485fb8d08865bb26f3ee393ab40bbbb58d573adcff05bbd9e2b9bb177686bd109510bccb932d3c925a86bcd6351dbe23622dbc257a1f3cdad90dbdf6622ebe7238b8bc4f09203cdbacefbc98362abe8570dfbca1700c3ce233fcbcf4bf02be63cddabcf3f8bb3bc767b7bc1717c8bd176caebc2c1d023bf89056bcb85d5dbd5aad4abc82d0df398bd805bc244e63bc34be93bb0da6c1ba22f6663acb9f4e3c65b2053bbd4590382cb55d3cb10f83bdc3526b3eaf688f3f297b8a3c521181bdb0bc453e8c4a913fa7b76a3ce4b152bdbf3f2a3e0360813f43e3383c278723bd3feaff3d973b5a3fa1b42d3cb6e3f9bc0dc7bd3d818d233fcf06043c240eb8bc56b37d3d9aaadf3e551d093cd10a76bcb3790f3dde136a3e6046aa3b08a92ebc1bee9f3c162e4a3d3b75443b98a257bbab3ae0bb19df76bd373c5cbe6ce42a3d0000000000000000f70161bece75413d000000000000000097fe28be57c6fd3c00000000000000003fb105be6812d93c000000000000000033d4adbdcae09d3c0000000000000000e81276bdd81b843c0000000000000000147913bdf7126a3c0000000000000000073883bc448c173c0000000000000000590670bc213b1b3c00000000000000000319143a3b454fbb2dff00bb15d4b23c386e673a313349bbbdbe99bb607e2f3dda8bedba18e1263a78b7f23acd7a343d5840dbba895c4a3a8beaa63ba3a2183d8d1d23bb03f9893ba736823bd140e93c1f14b4bab430893b5c5cc23a5f19af3c92f3ecbaba4e8b3b4a54243b2c592b3c04cb01bbcd2f953b1899b93850e16f3bf96487ba2b26113b7d5724bbbf8826bb4f11383b9f4ebbbbf7128b3a7cd649bbc0e9863b4dc6e9bb04d3edb921efc5bbf3ad473cd4e7e6bb2eb382ba05ca57bb5ba17f3c8ecf97bbdd0af7b987363ebba98d3f3c74fbc3ba582586ba69bc95bbed22223cc8174abbea163dbafd45dbbb24aaeb3b9a08e2ba18e3bab97274c1bbb182203b80a39fba81f2053b79e5a3bb0ffd55ba9af8a9ba46dc883a01d2deba57e4243cf0aef2bd01770039c8c6013ced11a93cf41243be7c47673b55f80a3c914d65bad85559be362990bcc566133c990b24bc66fe43bee8afd9bc750bd63bbf962ebc987b19be5008f9bce7d7f83a249c38bc1282dbbd44b3abbc1195dc3a67e834bcf20869bde88c66bca49866ba64175cbc89e911bc188ee4bb5e5717bbb9301ebafff49e3c13e2963ba50a8eba0a51973b9e5081bc12567e3c009fac3f89b2dc3ba2be59bc6b610b3c5a6b9f3fb68ac43bc35e3ebc83afa23b43a1903f2078d33b291e2abca0e9af3bdb1a6d3f7663c73bcef8d8bb435f863a4592313f01e2d43b402a9ebb976c113c2e50e83eeb01a93bc5d19abbf820893cd9e7633e95dc753bebd11ebcc6440a3d8bc4ea3c72cb993a61627dbb469d0d3ccfb1dfbd20f65dbef11d283d00000000000000007c0845be6d65203d00000000000000005aca0fbec2d0cd3c0000000000000000d7a9c8bdfc25933c0000000000000000ca4769bd5756863c00000000000000007a5106bdbbe3363c0000000000000000099158bc3762113c00000000000000008cc8bb3b063ccc3b0000000000000000dabde7bb608db33b000000000000000000000000000000000000000000000000750b0d3abacd85bb6657e6399590293da10d41ba0569b6bac1f40d3b081b273df3c5a2ba4fe6523a9275d93babdafe3cd3931bba1078803ad448943b6914d33cb92732bbc31a583b4aea273bd9e68f3c7e8626ba210c443b0c6c4f3af0312d3cfdceeebacd16593be30f39b9c6d84e3b000000000000000000000000000000000000000000000000000000000000000012fb103cce50b1bbba4894bad999683ab255383cd59476bb5dac9dbae2f8b3b9dd714e3ce0e4f8ba489bf7ba10b7afba42a0563cd54acbba6eafe03796cd85bb2d760b3cb17155b958b5e639c21484bbbd91c23b8ce7dfb9386408392238acbbcd042c3aabff67b98c86e53a0abcbcbb00000000000000000000000000000000000000000000000000000000000000002f185b3c33d158beda2e0ebcbb0fa63b31870a3c74bf4fbe26a7b4bc0aba253b7105cfbbbafa34becb7f07bdded49239fe6fa3bb1cf113be387b06bd4513ba3a0f1c83bb2b7ecabdb6fed3bc1ecd51bbe69ea3bb7c2262bd186375bc690cfeba065c6dbbb7f704bc12fbafbb368185ba000000000000000000000000000000000000000000000000000000000000803f983cf7ba64c2943c4f33fdbdc431ad3f4c6d91b90b54583cd4cfb7bda15f8f3feaa7113aca06263cf1628dbd26d36a3f0b4ad13aabd5233ce0e262bdac9f2f3fa175c93ac713d73b026412bdab63e33e4978e23a713d9a3b993a33bc6c75613e3567b03af173463b8815bf3b4c89be3b000000000000000000000000000000000000000000000000000000000000000007b9e2bdea3f8d3c0000000000000000ddc155bd2e60303c00000000000000008d19a4bc2475103c00000000000000003bbfc2b7c2b96f3b00000000000000003f0f413ca01bbc3b00000000000000002e497c3c2dd1673b0000000000000000dd16303cf0dc9e3a0000000000000000000000000000000000000000000000000000000000000000000000000000000066b39ebb91d0aabbb2b3003defde9d3c309689bbbafbaabb9cd2eb3cf820c53cfcf947bb723903bb82a6bb3c4788b93ca4fe01bbe3eea9baffca893ccfcaa03c78680aba6b6104bb3fc9313c65ab883cc2b18e3aaa730ebb54c2ba3beaba053ca8b6e53a69e897ba1b3c93b987b3203b00000000000000000000000000000000000000000000000000000000000000005d0d383bfd5a78bb7d6a22bbd643e63ccafba73be08090bbec8271ba2a62e93cee26113c0f5e83bb907ff33907488d3c0813043c02af62bba2cfdebaead5853c0e7b013c10fd77bb255527bb3086653cb84caa3b0196b9ba647d94bbd6c71d3c7dd30d3be90082baacea94bbbd43643b00000000000000000000000000000000000000000000000000000000000000001ffa3dbe21a741bd7447923b13a42d3b56f330beb30787bd5cbddeba27519e3ba9b117befb3799bd0b1417bc839bc33b7d50eebd7f378ebd259249bcdadbb13b1a0ca3bd875b6abd2d953ebc3909a93b62a127bd5a7417bd884bdabbdfa1db3ab6f979bbb4ad49bccd611ebb27900b3b0000000000000000000000000000000000000000000000000000803f000000004ea3c83c59511cbe2295ab3fa99e8ebd29488c3c8d8c07beafd98c3f59e1103c0182433c2e6af2bdba80633f57b66a3dfbef253c6133d4bde805283f9b67a13dab06ff3b903ca6bd5e1fdb3e89619f3d28adb93bca2e31bd77eb573e3c336a3d382f1f3badd35bbcbd5a493c6238b13c000000000000000000000000000000000000000000000000000000000000000049b5473cf98ebcbb00000000000000008252b03bcb97d5bb000000000000000064d88b3be981c2bb00000000000000004fc9353bb2a0d4bb00000000000000009fe0c43a3ad598bb000000000000000085495d3b293c57bb00000000000000009f78c23a11ae35bb00000000000000000000000000000000000000000000000066f36abbc7b7babb45ad9e3c0cfedc3b662079bb657949bccf01e83c6dbdb03ca9b467bbeb7613bc2486ed3c0096e73cd66030bb4115d6bbbcc2bf3cfbfee23c6d73a7babe308dbbfec67e3c6df6c43c592b2839080f45bbb7c4293c4ff1873ce2569d3ab5d299ba7002663b5b25293cc68a7f3a5ce3213b125911baaaea423bfcb8b73ad9ac4b3aff6a47bb731691bba42e9db96f3dd5ba5def74bba960db3cf923343b95cf8fbbf7a03abcc2457e3d4636023c4e4fc7bb9899e3bb1afe423d879a323cf406cebbd90bccbb511f1c3d80fa293c68479cbb64e0bfbb8a0fee3ca5e0143c22f386bbdaa1fcbb00a6a23c5fc4c63b516026bbdf42e6bb8d401a3c02a9503a510801ba76bc90bb22eecebbbae1bfb95d52e938673b9cbbb80386bb4dbf00be6ec18abb5d5cc1baa631433bb36e36be66b13cbd3157ef3a54349e3be40939be360ea2bded3d19bccd5d153c03d71abe7bf4babd371f87bca12f1a3cfeece4bd197ba8bd8ffea4bce3901e3c266291bde00989bd735788bc7610043c069bfabcf2712ebdc5e648bca7a2983b48d7e639a7ce68bcf04260bb535f8bb8fae2b23cdadd0c3c606c333b90e301ba199d2e3d5ffd58be73a2ab3f5b51d93c6ba0423d51af73be8aaa9e3f07b68e3d7344193d203454be4742883f6aed103e39acf73c6f5732be5525563f8102353edc82c23cb0260dbe2fc8173fe5783c3e4e679e3cf660bfbd31eaba3e113f223e6430173c35c92dbd16551a3e3a70ef3debae94bb4418a73c2f0166bc9283633d8fbb8aba98a6be3c40d500bedafa10b9275eb5bc9f67833b00000000000000004598bcbccd85963a000000000000000082cceabc170e12390000000000000000117ccebc2106fcba0000000000000000b740a4bcc4ac16bb0000000000000000a84d9fbc6fb434ba000000000000000053d83ebc1d5f7bb90000000000000000ebcb7eba239c1a390000000000000000156f0bbc98304a3b0000000000000000435461bba75eb7bbe0fe5d3c70c6c63bff4d6dbbd33d09bcfc8abb3cfeeca33cb99991bb6ffcc4bb7e16b73c14f1cb3c0e3723bb29e4b9bb47fb923cec10e43c8ff39dbaa13225bbfbf6423cd1fca63c1b1d17bab41f44bb547fe73bc1668b3c073790390b6fb1ba0a242b3b08a80b3c0369bf381c730b3b4feda8ba7d1d0d3b3f8f5d3a5ca66d3a224b06bb439538bbb9b9353b362b68bb0723e4bad3b5d63ced06de3b86f2b5bb95510fbce59b3f3d16f83c3cd930bcbb4ef643bb3e94143d18a0433cefd5abbb4791dcbbbc9e0d3dc780613c88af7bbb8fceb4bb71b5b43c8a54423c550c4dbb3de4c8bb7e0b923c8892043c9df716bbf280b9bb12570a3c5cca573b8ed864ba860d74bb783a53bb8550e8ba0db7e9b9445943bb6294b3bbda1cc6bd6113d339774165bcf11b163cfc8a19be357966bdb59459bc1406273c7eb614be42d0afbdcb35c7bcca84413ccfc6fcbdb72ecbbd2dd7efbc55fe483c68a8b3bd9d69b4bd86caeabce617043c5d0a58bdaa7d9abdfbf0d9bc7d5fe13b38f4a9bc42a441bdd13295bcd96e913b7db85f3bc4338abcbd11e8bb7f75133afceb913c73ddc73bcacc613b852d9b3973a82b3daf5d58beaeac8e3f98687d3ee4a5513d60ce7bbeda2d8a3f8bb5923e0b7e183d0f654ebe2c52643f0a12a83efde60a3d296032be0a5b323f0b6aaa3e9dcfc33cef1f02be696cf53ebf81993e149f963cae8fb2bd512c8e3eba80823e2f24433c41fb34bd6399e63d437b2c3ec60093ba7888043c224ae0bc94cba83d43f91bbb01d7d13c0158ccbd5b2adb3b1e7c97bdf430603c0000000000000000109c9ebd73d3593c0000000000000000adce7ebda193c63b0000000000000000fb0465bd1f0bc53b0000000000000000071423bdece5813b0000000000000000e0af17bdd03bdc3b0000000000000000b9efd0bcdfe08d3b0000000000000000afc891bc3c31ec3b00000000000000007aaa8bbc0063ba3b0000000000000000984733bb15ef44bb9474333c4c57bd3bd0c043bb49c805bca4d3863c9f46a33cefc35cbbdc9fcabb3cc58c3cc66adb3c7ec8dbba643e8abb1291433c0865d13c89666cba63b195bba9b2103cc010b13c8543a3b92edfe9badd83843b236f833c836a3d39f7ed1aba4d29463aecde0f3cc081f939c3e5c23a6816bbbacc57d03a5513633945e52c3a9c8d3cbba42a1fbb66b60e3b242f1dbbe6fae3b93fc3893c3910223c5829a9bb9ebbbabbab21213d080c743c8414c4bb3d8192bb85b8093d91778b3ca959a2bbb1adbfbb9e1ee53c4d0d873cd1d17abbf2d2b5bb4159ba3c61a04d3c7b972bbb17dfc1bb7357523ca2bb1f3c3eb8f5ba9689abbb5f78ae3b7355663bdd39a9baf48894bb8ee511bb796499b90c9c33ba93ce35bb60113abb99e4abbddc3729bb555eb1bc439f183c87def3bd99878cbd1cefd8bcb3415e3cf96debbd0329d9bdcb2506bd6d815f3c8e2bbbbdf41ee6bdd4e71dbd45fb453c643385bd8b06d2bd2b8c2abd95fa1d3cc4fa08bdd97ca5bd9ed401bd1bb3d13b89ba29bcf7c653bdd963b2bc175d573b991bd83bd47da1bcdb84febb6abda43ad136803ccfbcc63baf20d73af96c2a38cf47193d2d9c47beecdf6b3f636ff53e777a3b3d827763be41d25d3f4d03053fed47183d0c5441be228f353f8d1f083feb62ed3c70e617be11f2063f5589fe3ec693c63cb311e9bd972fb23ed6bcdf3e9bbf873ce21f8dbd74d53e3e7533ac3e6b56273cdfa602bdb7dd633dcf14613eac7f003b4897d23bbc4618bd79dbc93d86bd083be1f5713c2524b7bd4c25c63b804afebd3505b03c0000000000000000cc9703be0c39bd3c000000000000000001b9d9bd028b873c0000000000000000fac6a5bd4468473c00000000000000007df07fbdcadb263c0000000000000000b82b3ebd49e8133c0000000000000000401609bd8d2d133c00000000000000003f76d3bc9e88213c0000000000000000f6b8c6bc9869f93b00000000000000007639dbbae31a88bb0c6af93bc25e123c7d8cb1ba2f9cdabb98ac3b3ca260a83c0e6be3ba6841acbb0e00303c01c3d53c65df75ba1f91a7bb68ac103c1587d93cfbb223bae2b5efba7447e03b61e2873c5836ebb9ea2cbbba7503383b658d7c3c11afc338c147c2b829b90cb8afa2eb3b3bc443b9de319f3ab93499ba2ae0c23adcf01dba41be003bd39eeebaa93322bb21572f3b83123dbbc70fc9b9a883823c9ffb553c7941bfbb4d47a6bb2e99ee3cb0c1893c7aac94bbab108abb4414d03c7bfca03cdcdc9bbb1ce0b7bb63b3bc3cb0085e3c6e7a93bab3e61ebbc48a573c7a05883c0a1509bbb7269bbb5a0d183ceec1163c830353ba0ab467bba54c213b4b9b933b1f5404ba7cc9cdba568b8fbb02a70ebbe1d59cb8ae4505bb2dd855bb3a9e92bd435642bc2e93ccbcbcdf4c3c5431aebd2ef0b2bdc8b90cbd68e37b3c65d2a4bdf9feeebd6fbd2fbdde08483c2f4f81bd1ff201beb8d94ebd0b73493c32f53ebdb93dc1bd4ba429bd5f1c743b719aa1bc79a7b3bde4052bbd967dc73b1f7c2ebb7ad24fbd1693cebc8c0ff43aa748103cb6ce98bc1f9f2bbc9ff51dba348f363cb312083cbc6a8d3b9be4cab9571c003db9cb23be856d323f2677353fc465133df75235bee3d6203f2606413fa86fdf3cb00811bef265fe3e72bb373f9c4ccb3c5d90efbd8bdeb43e727c283f1461633c8916a5bda11d6f3e1c0e013fc0fc763c41f45bbdf407d23deac0d13e416e083c7dd5babc66128e3cea027d3e48189d39bc1eb73b930b32bd8202d63d6b27103b0c9f7f3c3da9a5bd051eda39c44c29bec1fbec3c000000000000000040c22dbea3b9073d0000000000000000cb2a00bea515b43c0000000000000000a869cbbd32568f3c0000000000000000d48f40bd53212e3c00000000000000009c8f4abd0bf4513c00000000000000002a2ffcbc6dfe2c3c0000000000000000de5fdcbc7b1c563c0000000000000000fcddf7bc2d15183c000000000000000035bdd2b823c587bb42e9a13bf40ffb3bf86d4ebae5cbc6bbb598b43b7e35bc3cf979acb99596d4bb2f43b33b9a2bec3c2981fab91b7d76bbed0da93b397dd23c186e41b97c123dbbfc98173bdd66b63c88985ebab6e5c3b94e2aae39501e743c8ad96aba7e42543aa8f58cba3bbd043cd5691fba53fe363bb3f5b8ba1840163b0cd4a3b937b2063bbf8c4abb803738bb6bc3bd3b4e0882bb085c82baa711593cf837773c39abb9bb43eea0bbfb05b33c4362ad3cab78b4bb605b86bbf5f39f3c2e18b23c21fd5dbb4dfc97bb0c375c3ce031a53c06f9c1ba6d9ca4bb8feb403cf6797d3c6e6adaba17d04bbb92b28c3bbd8e303ce4131cba3015c8ba64c4e7ba4037833b49f7efbab8d1ceba116cbbbb494293ba92a8edb986de1839cd1fdbbba42050bd841ce7bcc822cfbc796c523c2d9855bd80aee0bd345a1cbdc724813c22a535bde49514beafaa4ebd727b5b3c9cc205bd0b5110beeae462bd0037273c4127a5bc96a0fabd516861bdbb7ed03bfd2ccbbb3ba4b8bd0bc930bd5db28f3b23f7843bdbc95ebd06f6ecbc81c0c53a1d6cc43b9a2490bc80ab06bc9616e0b9fd025e3c9774f63b8edebf3b2e7f8eba0a5cb03cd324ecbd8cc4ed3e57446e3f2271df3cce58fdbd113fc93e1c77783f5d92ac3ca225cabda735943e294c693fa638883c937c93bd13d2423ebffb483f4787723c591e5dbd463fcd3df11d223fcf7b1f3cd0e6f0bc18370b3d10fbe43eff6fc53b1cb416bc666181bcfff7873eb0a4cf3afa27093c407a25bd5781c53d659c12b94e807f3c087378bd4ed29dbc132048be2d0b0b3d000000000000000073974fbe3986233d00000000000000004d4519bebf89ea3c0000000000000000c0fbd3bd6de8a63c00000000000000000b8984bd05dc843c00000000000000003c7a22bd55c34c3c00000000000000009af6dfbc3be0503c00000000000000005ecac2bc1349513c00000000000000002180e7bc5cd7273c000000000000000016a94d3ac74385bbcd5ea038d464323cadef733a8326acbb5e9c91ba09a9d33c382d8f38b5dda0bbf7e5013bdc04eb3cc21ab3b94fda8ebb871606b911a7e73c64251eba67e389baf567dc394cdcab3c97d03bbad7e51db9a41851bacd4d753cf85bd2b96262833a882861ba19840a3cef2acfbafcaa3e3b32f402bb48b68b3a4afe12bab33c1c3bd846b6bad76af3ba07ccd93b56b38fbb8d99caba1dc2003c053b943c9b44e1bbde973bbb88042e3cb169b53c8ef689bb459f66bb0b8f403c27cbc43ca59ec7bab27239bbcf3e193c09819e3c1da50cbb624042bb1b0f933b00b88b3cd6e27b398c16c4ba38a701b9524c1a3c66bbfcb9a7a6ecbad90a31bb4c5c8d3b09e04ab9d4eadd3ad39bbdbbfa6bd6ba0f3d01bb073f033b3da5e8bb2cd6aebc4af856bd87d5a0bcab9c383cc9155cbc3b7d0ebe32171ebdbcc17c3c4e0d9abc081720bef6285dbd2c32283c7ab6dabb9a4822be3a5c82bd8f2af83bd0689ebba2cbfcbda9df63bd51c1813bb6b9963bf7b5c2bd645844bd8206d53a8c8bd03b2a2b5abd834ee8bc00289fb94895d83b250087bc12561dbccf97fabad28a7b3b2def403c8b1c033c632391b9282a5f3c315787bd1e4a723e6cdf8f3fc163543c9b4b80bd94d6273ed66f943fc41c393c6cba48bdd9daed3d5e69833f01bc263ccbc214bd08983f3d8bac633f7c37fa3be75cbabc39c5443c3eb82b3f3dfcb13bf1ff11bc2faacfbca5ecf33e3db1873b47d782b763c419bde2f5863e620d43bad156d73b0694fabc540fa23d4a0d30bbc7c44c3cdfabf6bca9fb30bd726a5dbe6b18293d00000000000000006f9b57be3950303d00000000000000004eb203bedaf7d53c0000000000000000c371b5bd306aab3c0000000000000000db841dbdce955c3c00000000000000007e8cbdbcc9f73c3c00000000000000003ad405bc266f143c0000000000000000e62961bcb38b483c0000000000000000b3a0cdbc6fcc213c0000000000000000a8670a3be45891bb5cee5bbbeb728a3ccb33063b8cbd68bbcd3a3dbcccc6023d095288391e975cbbca6de5bb5f380e3d3c648639162a50bb51fa79bb3e0bfe3ca41120ba17d7d6372b536ebb5c03b63caa77b0ba7b66db3a1f7657bb4cf27e3c7bab2eba7ff21b3bb4c53bbb1dcd043cfc7005bbe912763ba70ce1392120de3a0ca543ba65c4b33aaf2550389daf37bbef03073cfc5f9fbb3fac53baa844523bd3a4a13cc84402bcc44d37ba01d45bbb66abd63c2dcc89bba7a9d7bab0861f3a65aebf3c4115e737572a17bbf5b4cb3a3ea5b83c8690713ae424d8ba2fdbd5ba4b8c8a3c7ac8ab388c9c5bba91459fbbaeb3313cc352363ab30e303a2a27fcbb6914743b1aeaa9ba1a5c683bb0e305bc40e96dbb8feeb6b8cf7e393bb271ccbb8229813af771cbbd186789bce0ec393c729b083df6c52ebe9cfb14bd62e4843c392dbe3c6f6344be696a78bd644e3e3c842f8f3c562c30be1efd87bdea89953b8c397f3c8ba20abe105e84bda43b9e3a7be7823c17c1c1bd6f2a52bdc2351f3aabdb323c75e154bd862805bd11c095ba684649bbed3526bc06f908bc33a33bbb511ba83aebdb8c3cd2aa2c3cda538fbae6901c3b273374bcd229ab3cb1d4ab3fc5e70a3b8bfdd8bb82dc02bd026ca33f7d277e3b6cc364bba4c35fbd6394923fafcb313be2379a3a3b2e88bd61bb6f3fdeae733b230c483bfc7c93bd58da333f7347423bbaf3053ca36d8dbd2cb8f03e5b5fcc3af4bc103cc4c43bbd9fa1753e537eafb9f323603b69bda4bad8332e3dc95c2bbb11fa0e3cf8a4f9bbc453c2bdd85757be8b6e183d0000000000000000bab338be113c143d00000000000000003483cebd0ea9a73c000000000000000065c325bd4241463c0000000000000000d21e0a3b5237dd3b00000000000000004983853ce2cbc03b00000000000000007103963c0281b63b000000000000000092db9d3be5d13a3c00000000000000007b058bbce6e7a93b000000000000000000000000000000000000000000000000a6f0cb3a27b0a7bb9442b4bb0e2c043d8f694e3ade6c87bbd66982bbd52dfb3c9aba8039ddb747bb885fe1ba0b44d03c0011a7396613c8ba5a0245bbee82ad3cf40f25392c00c43903163cbb4746553cee8092bae69d3e3b4241bfba14d7e13b0903bcb9eb11103b175f0cbb84d8453a0000000000000000000000000000000000000000000000000000000000000000443aa63cf5be5fbbeeefd1ba0cccbb3ad789b83ccf715fbab9c33ebbdc24c33a05adc63c2ed1153ae47300bba2484c3ab026a13c5e211f3b252a2fbba64d923a74ee803c0179423b036cc1ba3a505bbb7e0a073c1bb3043b321ae6384590f4bbc98d0a3bd2d0c33a8c5acc3a1815e3bb0000000000000000000000000000000000000000000000000000000000000000ee52c63c606d42be29561fbd47a6ab3b82dee23c732337be1eb26bbd772fcc3a6c6d9b3c3dd622be23fc89bdf48534bb430c8f3ce29301bea2cd81bdf1abe6bb9178943c5beab4bd364f54bd26e2c9bb35492f3c231636bd924407bd1c788bbb3603c93b9a25cabb663a22bc34d627bb000000000000000000000000000000000000000000000000000000000000803ff9a94dbb2b09cd3c273c16beceefab3f9bb049baaf90903c742208be29f48d3fc1b9923a9cc4683cd044fbbd2711673f4e4c033b2642443c7537e2bdbb602c3f9252293a359a5f3c0d15bbbd2979e13e3022013b1ced2c3c7dcd57bd79c1613e930f1dbadfa6113c1e9ba5bc10c65c3c000000000000000000000000000000000000000000000000000000000000000017bda7bd2231723c0000000000000000ad0fcfbbbf0ff63b0000000000000000f21b243dc0c1823b0000000000000000948c7f3d72dda33b00000000000000005682823d441bf63a0000000000000000cfe54a3d60210e3b0000000000000000e933b73c21928f3a00000000000000000000000000000000000000000000000000000000000000000000000000000000f0251ebbfafc9fbbcc9aae3ccf73913ca9116cbb20f79dbbe672a63c643dda3c48c20cbb1c3295bb3787923cbecfcc3c107d19bb8a3a8fbbecb0663ced9ec33cad58a5ba2b9650bbb7ebf33b3eccb83c4d9c17ba04c91ebbe8f3993ae9cc7c3c9091383a969bcbba45ff43bbb0d2e73b00000000000000000000000000000000000000000000000000000000000000007cbfb2bb095486393477a63bcef64abac723a3bb5256ceba649cee3b21e7c63bc47688bb38265ebb6c8dc53b1811f93bb8b7adb9db12adbbabfbb73b24bb283c850c2d3b7b1585bb209a1d3b11cb543c7c97bf3ba9568fbb09dfb9b9d324663cd0baf03bdb96f4baa93220bb2b12183c0000000000000000000000000000000000000000000000000000000000000000c3d5ffbd506d3fbd57b57f3b5f928a3a3a73f7bdc61997bdd6669e3be8cab03b9d80dfbdd8b9a4bd69546c3b6601063cf74eb5bdfb51a7bd301399bafa284a3c3a9780bd176797bdb3e8fdbb31f41f3c8b1f08bd0a5c68bd22f707bce8b8133c71ba52bb765302bdaf102fbc5d4aa23b0000000000000000000000000000000000000000000000000000803f000000009523063cfedfc8bd9f51983fd5277f3ce73f483b7346cabdfe537d3f30ff983d8d8533baa419c8bd21dc4b3fde33e63d32de19b87916c3bd77291a3f8545033e02f0de3a62edb7bd816dd33e3d4ef63df0bed73b346696bd13ca6b3e17dabd3d530a213c39e157bd38d9613dc58b513d0000000000000000000000000000000000000000000000000000000000000000288d5dbcbad1613b00000000000000006b9c3bbc4ce172bb0000000000000000e7390dbccb9825bc0000000000000000b770b3bb34dc4abc00000000000000001c392fbb97ef2bbc000000000000000000f377bb82041ebc00000000000000001cad05bb8c0ca6bb000000000000000000000000000000000000000000000000e8c1b5bab946abbbdc915b3cafb60b3c9b8140bb885c38bc1e8cad3c4695e63c501222bb21e726bcc400873ce820133d264739bb88be11bc77ce543c4ff51e3d0697dbba94bee5bb5765083c3e8e0a3d840672ba8b26a6bb74d4683a547cdc3cb6050c3a37f009bb539086bbe27c8d3c4b4e9b3a3ac31b3bf236dfbbf3ab4f3bfffaae3abf9cbc3ad3f6f2bbc8702ebb8a55a3bb01650d3b0261c63b32b8d8baf91a26bbf25b943a456eb53bddec8f3ccc702f3a622a3dbb79c89e3b46e0ba3cb5de043b147037bb34f2a23b7429bb3c5514a73bcfd3a8bb95db213b19c8af3c3edc293c1a088dbb1b476bba0a94b23c6f4c303c4a952dbbd072aabb1d8b883cea70073c27c10bbb21c602bcd168b63b8a52b53b9be89c39381db0bb6f97123ba6e9b6bd70ce25bc9c04033b7d4158bbba4704bed61685bd04a82fbb2054203a9cd705be628fc3bdfb9685bb2787c03b6bb2e6bdaff1dfbd7520e4bbe636cb3bf1feabbd031bd4bdea224abc7d8a223c7c5c5abd13e2babdd2e19ebc0752193ccb19adbc0d6086bd916ba3bc7d3a0f3c9a47163cd1fbd8bc1a8857bc501ad53b7e17c13cf76f1cbacec219bcf48fcd3a39fd673c0596f3bdb373983f194ce73dde61e13cac5e26be1c278f3f1bd0213e8b83a43c50381ebe01fb703f8750593e5c788f3c405a13becf973d3f2cbc753ec8b3803c150904be0799093fd1756d3e5b62a53c6a5fe8bd2cdcb23e8db0503e0753a83cf329acbdeefe2f3edc35193e1b8d8f3cc79f2abdec22843ceb85923de1d1653cd6529ebc1e74b8bd1112363c4ae62dbdf00b273c0000000000000000edff1fbd4dd4003c0000000000000000ad9003bd4ddefbba00000000000000002949c8bc16b2f7bb000000000000000051db5abc87145cbc000000000000000090bc1bbc76af55bc0000000000000000231bf2bb7d3033bc0000000000000000b6130ebccd19cabb000000000000000020e0a4bbbc39bdba000000000000000012b3ddbaada0abbb1071483c52741a3c0d9c09bbeb2916bcc0966d3cb062d53cbe751ebb05c7f3bb36d2813c4b38eb3c52b237bb091dfbbb6bb6153ce9c4103dfc206fba395b9fbb94cbca3b64e4d83c81b21ebab00773bb723993ba8667c83ca6fab139c02a6fbb588818bb8704823cd78c193a9b73003bb0b8b7bb3c91c83a726af03ac742933a5b05d7bbd01272bb4467bdbb9991203b43c7b43b5df8473b20c529bb40f65a39b8c6923b0b77943c6c92acba7b8c54bb6b1ab23bdb9a803c231de53bb8bdb3bbd9c9833bccecbb3c6322ce3b359379bbf971b0b98f6f9a3ca552433c408983bb0b8f52bbaaacaa3c469f243ca9b331bba0810cbba82c6b3cc91e1f3c03427bb97d8edabb9798ac3bc90ba83b5811ac39b6ddb6bb575a3cba088f99bdcf9809bc8c669d3a4b328abb5210e5bd193d81bdb845b5bbf4c8943a11d3d7bd4a24b1bdc452babb09afec3b91edc0bd3c8ce5bdaa6880bc9e98fe3be2b785bde0dbcbbd618ca2bc4212263c17931dbdd8eebcbd9dbbe4bc010c1e3c7e5c87bc5b427ebdea52d4bccee1e83b86b8333c1f9be7bc0209a0bc0adc783ba8beba3ce643f13a4f5a1bbc9056803a640b913c247b04be48b5803f2bfa963effe7e83c947331beee98753f75e5ab3e7aec823c65f811bef408453f4e60b53e53d9c13c223219bed51f1e3fa661ba3eadea973cdfaef1bd6257de3e8f07a23e2bafc13cd35ddabd78fe893edac28b3ebfc8883ce9b998bdb692093e50f43b3ee6e28f3c25171cbd142d57bb6609c53d20b0603c582afcbb33caa7bda6a3343c53be8cbdd8a2203c00000000000000001a028bbd94a7fb3b0000000000000000bd0827bd06cfd8bb000000000000000033a6febcffd513bc00000000000000008c6208bce20b81bc00000000000000007afa99bbb3458abc0000000000000000b2151a3c50af63bc00000000000000002add223aa53004bc0000000000000000ccc192ba813d6fbb0000000000000000a57593bafdfe94bbffd2333caca6043c091b92baaf3417bc41ce4a3c84ddda3c72a102bbe5ecf4bb7ce6283cd4ae043de9cda8ba5e96d2bbdeb18d3be3220a3d60f273bae5acdfbb469f2c3be710ff3c327dda39834d96bb6c42a2bb9ca5c43ce1545739d6a670ba8056d4bb4a8c543ca6015a3ae5aac73a2d63e9bb6467123b39bb983ae3722d3a5c6acabbc7861abba52de9bbe84d0a3b6667ab3bda03443baaab43bbf12797b978fd363b83289a3c3c938c3b36d222bbb7b8983a00dab53c2c10013cadd488bb7c73f1b97645bd3c2b144c3c58b7a3bb2308d6b97c80ad3ccc91653ca2493fbb341229bb2a64983c5163713cbded86ba14bf98bb6cd94d3c3aaa1f3c2e92313893bcc4bb6ae68f3b4b82963b33693d3bf60c8abbbdc8a43ab99d90bdca6212bc80c9a43b70a6a6bb7174c9bd3f3c89bd8502c1bb7d39053a07cebdbd5c65d7bdf8338abc38dd943bb74197bdfd84eabd1522cebc2501053c875e5bbd4069e1bdab1106bd32f31a3c939ad5bc2d88bdbd736616bd8ab4ea3b4a5d4bbb98ac84bdb7fd0fbddde9c03bc4ca693c8db6d5bc5bcbd6bc7cb84b3bb45aa03cdc11cd3a55666fbcd29d95ba05cb6e3c8d10fabd4c7f543f4374f73ea53ae93cea7526becffb463fced0043fab63dc3c6cfe18be66bf223f7c8e043f9f81d73c263709befbf4f43e374af63e4a89d33cef6ef0bd3adaa63e8a28d73e99ccbc3c6c22b9bd6594433e660ea93ea664ae3c351881bdd071913d079c663e86228b3c1271ffbc901bb3bc7256e43d4bc64c3c3bec0cbcf1aca2bda82e503c25c2b9bd954bf43b000000000000000019bab8bdb2d7143c00000000000000002a3466bd366a96bb0000000000000000df54f6bc51b652bc0000000000000000934087bb821ea1bc000000000000000084fb0b3ca0ec8cbc00000000000000001eea5e3c0ab689bc000000000000000014f5233cc85e30bc00000000000000004db3083c66bbf1bb00000000000000002553c0bacb8a3fbb212b123c92b5273c1eb225ba27e4e7bbc1d0093cd74dd03c334faabaa912b1bbbc75a83bd79efa3c8e133bba366efdbbbe6a023be3f20f3d4cc763b9a72e5fbbe7074d3b6901b63c71576ebae98f01bb768587bbcc9cad3c21b4213a1b79bcbab3cdd6bb3107383c2b38a73a922fcf39af2cc1bb3778d53a15632d3ae491663aa70dbabb7c3591bb89e904bc60700c3b27d8783bec2c3a3b3f615cb9302f8ebafa95223a0073963c56d2ac3b200f76bba1d0f8b89df8a13c283f473cfb7fb8bb0da69abad482c93cf925f53b189cc6bb5e2723ba1e8b753cd320703ce2ce09bbe048adbb43d5a23c05e0683c41e5b6b95c7679bb52b8323c996f153cf917d03a8fa7a4bb10d7443bde31af3bec15113b5ef229bb946fe1b77fe47ebd2a9476bcc103b23bf956adbb989ca3bd8f109cbdd9de22bca3fb8a39a01d8fbd7523dcbda90fb2bc594cb43be4c96ebdd2a7fabdcaee0fbda0c80a3cd80623bd609dbebd998c01bda0cb283cb2fa99bc1fc6afbdbcb644bde80f953b6688a83a676f71bd9d4d29bddac27c3b9e2c823cf3a0c5bc040af4bce05a1f3b08469c3c3ee2543bdfb64fbc0246cdbaa6fb653ceab8d9bd9a1a253f214a2a3f5c14d13cbc9f0cbec9b7153f8f26323fa087b63c0f16fcbdcf36ed3e26b3263fec55cc3cc48aeabd033dae3e92cd183f0a44573cb749a8bd326a6d3e7f0be83e093cc43cbdfc9ebd4da7e83d0b5ac33ebecd8d3cdd5743bd12f3fc3ceb5f7a3e932e623cbd0fa7bcb2eb24bd9974ee3d09e72d3c333f26bbf18398bde1bfaf3bc710d8bdc0c8973b0000000000000000532dcebdbad4eb3b000000000000000058205abd1663d7bb000000000000000032719abcf7298ebc000000000000000076c39c3ce78c97bc0000000000000000a44bc73cc7d5b1bc00000000000000003c94fc3cdede82bc0000000000000000c787a93c6c9669bc0000000000000000430e373cc49a21bc0000000000000000168ef039ad9986bb7ee09e3b1ec63c3c55311dba8289c6bb1a6b593bc9aade3c1387ed39a3a1babb710174ba7a51053d194d9338f230a4bb6e231abbbdfaf93c74690dba974c90bb9b029cbb500adf3c7e404c3aee1716bbe799e0bb366d943cdaf54439ed77d4b97a91eebbb1f3223cc5c27b3a6f8f8c3a79e5afbbc81a6a3932210c3a14bc063b0e0f9bbb21a65bbb3b59bbbbf1e1053bf0e3e13a6547f63b1f4d3e3b421d353ac0e2e1babceda53cfe1d453c697747bb8ac090bbe9d1b73c47ba653c4ef2f1ba8f258bbba560af3cecbe9c3c602b50bb5da335bb5b21903c75ec993c264922babe759abb7062493c99a36f3c6241bd3a759583bbb4b5073c548e083c1b342b3b6a0e78bbaaad4bb91c44573a89f67c3b724951bb9fecb9ba5e815abd3bcbd1bc42eb033b69dea2bb19a77fbd8324b5bd103ba8bcc09a26ba85ab4fbdb62bfbbde64d1bbde88dba3b75e217bd3a36fabd0d124abd46dba13b6e84abbc5ae7e9bd27f36bbdfea5d03b285d81bb29ecb1bd66946bbd55a2833beae3153c83b865bd789647bd0bd3823b2fd68a3c33c498bc9a3b02bdd601c53a2a0f933c2e8ad03b16c73ebc72dcd5ba99bc513c19d2b7bd6ee1eb3e6cf9583f42dec23c9743e3bd0340cb3e15ec5e3fb2d3cb3cd657cdbda9279a3e90bd4d3f0197c43cf88db6bd6b05543edcfe303f8e92c53c7ce394bd4a50f03dc9fe0f3f87b8a73ca2de4fbdb261303d40ead33ee850813c193105bd35ef72bc7480853e6fdb0e3c7c02d9bbf0465fbd13a6e33dfe45d73b4d29973b983d90bdfaa005bc3d29eebd4619ef3b0000000000000000fc6cdfbd1f00173c00000000000000000d8855bde0b8d6bb0000000000000000fd26fabb7b945dbc00000000000000006fa9f13cf28aa9bc000000000000000011ad2e3df99fa8bc0000000000000000b480293d20eda4bc0000000000000000f16dd83cb10069bc00000000000000008a403e3c747e1abc00000000000000002d579d3970ff28bb7dc0a23a422a4e3cf2fb1f3a1b7279bb8970a8bbdbc1e13cf2276739b11297bb341afdb9187fe53c79449539222f64bb4a3fe0bb13d7f43cd0b3c639968548bbbd748abb97bbb43c5ed297377f456439be3117bc669b813c0d88a73a857e02bb86b5d1bb4cd7103c68d51a39d7ae113af72c30bb9ed6c6ba15e0423ad77c323abfee0fbb379dbcbba385a2baf1a3ca3a4e0ababae56b223c2a481e3c8134e2b9a4a395bb6678aa3c1cd7483cd0da60bb3b2870bb4311933cebe8ac3cfe94e3baf0b5c1bb196a8e3cdb378d3c757410bb4ec07cbbbe0c673c9f1ca83ca6d3ce3a4911a4bbc2cb2d3cf422653cd1eca63a246b82bbdd3c173c0b0af93b76c84b3b604e92bafa7621bb70eda93a2836393b8c5a4aba440b91bbb55d1bbd1acd24bd6e7151bbcf9187bb07721dbd8729dabdf28102bd6aac373a29ed0abdee9ef1bd1a3c34bd017ac93b803d8bbcb62207be9d6884bddd48983ba7f220bc7ad5d4bd3c8a7bbdb21e9b3b6587c43b472facbdac2088bd5dd6163a67d01d3c25b048bd427a46bdff58c3bade51803cb88066bc0288f6bcaa5123babbe5643c95b4383c450ce6bb9fb84bb74ce42b3c93587cbd67548b3ed069823f5373a43cbd239dbd13f9563ee973843f6797833cd47f85bde316213ebc08603f2719bd3cc6c069bd1448a13d3abe463ff2937b3c8e1035bdb5290f3dab0e173ffbe0813c1ef9f6bc42eea8bc9caadd3ea8c2253cd0ca9cbc1e7825bdc022853eba14863b41b14b3bc6ce7abd2005cd3d822eb43a97594d3cbd2d6abd45b8e3bc91affabd2b99193c0000000000000000af5cd7bd2798253c0000000000000000704fa0bc67bd04bc0000000000000000018f9d3c422d7ebc00000000000000003a5e513d8d9e91bc0000000000000000b760883d2e919cbc000000000000000052f36e3dfa6550bc00000000000000000620013df74249bc00000000000000009cc0ce3bc2d516bc00000000000000001848253af43a9dba44a2f2ba48c27f3c6c8e213b78616ebbe03c26bc7696df3cf6cedd3a3b1c22bbe4b520bcd129e63c09b0933a39f639bb6c4125bcd968d53cb89c873a838e04ba96b126bc99c6af3cc5b7b73ac8dfb7bad04d1dbc1dc9413c3176153a9fc7bf3a01e3f9bb8fc06f3b54dd3839468bc63ab82950baa14a71bbb6fa093afd95b53ab87ef2ba8178e5bb3d66823a56fc913a70987cbbe0f6273c2ace973cc6d3543a7a8dffbb5b4a863c6d4ccd3c4fe7d2b9700e09bc1ae9803c77bcde3cbabba5b9c5d8ccbb1aa36a3c8e5fcc3ce287b239d424e7bbdde9313c5adfc23cd0f2303bafe19bbb12ccdd3b0f888e3ca66c8a3beeb354bb33e5e63aa239a93b37f95a3b406978bab7a095bb5786343a0bdd273bd001fb397211b0bb88fddebcbc718fbd2def1dbc3b00cbba25ae1ebc7f5702be856f47bd8f25953a1804aabb431d12be699b92bd6a3f483bcec5923af31809be708ca7bd3da1083b139ef13bbd9cdebd4254a6bdaaac1c3af810973caef4a5bd79c29dbd49ca9cba41709b3caa2f34bd4fdd6dbd25c64ebbee38583cac5ed9bbc9a3cfbcec93ad3a79505a3c9732913c4ff7c9bbaac2b2ba8a540a3c7deb00bd9ad4bb3d467b993f83af773c8d76f9bce29b033d7daa943f2c6e893c416ff3bcbc53e63ad3f1803f3e24803ce894c3bcd8e6f3bc23fd523f58cd7c3c70c49abc0e9957bd8c69203f2503393c0f720bbcff8c95bd0a63e03e5579943b8a6c393b388a96bd0a367d3e1faf0bbba204683cadf369bdae748e3d95a382bbbd858a3cf2894dbd89af72bd22bfd8bd6770a53b0000000000000000a7a199bd2830143c0000000000000000537ab83b813a00bc00000000000000009524753decd268bc0000000000000000361db73d3b587fbc00000000000000008cd7c03d8f6498bc000000000000000076a3993de0a364bc0000000000000000e29d0c3de24a4bbc0000000000000000652cac3b7adddbbb0000000000000000000000000000000000000000000000005a9bd83aaaa060bbe434a7bb27b2cc3c78c2673aba072bbbc7c101bc72f6d83c72099139cb0d78bb434d99bb9bd5c33cf405f839b2a859bb5030bdbba00f943c00109039771afbb950aeecbb3aad623c6228403acbbcc3387002c9bb3a22bd3b488b573a7d86fa36170385bb67bc3ebb000000000000000000000000000000000000000000000000000000000000000013cb5b3c0cf409bbd781debbfa28673c7c8dac3c8d5a14bbd009c8bb5789573cb6aea83c517c3bbba90777bbedec353c53eaac3cf3df12ba06e366bb0161283c55f7943cbda8b73989bd6dbb4087d33b16d2593cf3a57e3b3c333ebb6639e83a6bdb1d3cc9b62e3b760b2e3a178732bb0000000000000000000000000000000000000000000000000000000000000000b7680fbc8aff01bea50340bd46efac3bdb1bf73ab84202be64f78dbd5a37933b1dee853b1d4cf1bd814998bd2f0a143bb361083c8b79c7bdf3ed9dbdafda1cba61d26b3c3f5290bd2be38ebd8a4d4abb4392873cd13f24bda3455cbd9908b6bbc052873c84c2dabb001408bd571e77bb000000000000000000000000000000000000000000000000000000000000803f8c961e3c985cf0bbe3eca6bd9b3b993f1d09383c4d7af6bbffb0b9bdf138803f0fad2f3c2acc33bc197bc2bdd5c4503f49e83c3ce76603bca324c7bd0ddf1e3f8356f53be6e914bbc2aebebd53dadb3eefb3873b13abe13b51e0a5bdfc37793e72d36fbbed7e7e3ce52687bd5e9d833d000000000000000000000000000000000000000000000000000000000000000095a2c0bb562b2abb000000000000000045b55d3dacc36fbb000000000000000016b4bd3d1cbd96bb0000000000000000b258de3ddbd6a7bb0000000000000000f7d8d73d0edfe8ba00000000000000008831a63dabdc25bb0000000000000000cbea373d515ae9ba0000000000000000000000000000000000000000000000000000000000000000000000000000000087bfe3bb4ca8b0b92b4f1f3d45bcac3c0c70c7ba3bedb1bade71083d07f8cc3c08f8f7398b2ce83a4b5fcb3cd313df3ca9d67fb90ea26b3a362f993ca823cd3c2082d8b916130a36e303493c0bdf7a3caae1ea3afeecc63a02cc9a3bf378353cab5b04baf15db03a41ca19ba0dee0c390000000000000000000000000000000000000000000000000000000000000000922d61bb9551f8bb16824bbba8af1d3d4287e93a70c7febb64d6babb5c5dc23c1db4053b30cc8dbb731e0abcf4e8103c17b3333bed8d8abbd9c7f6bba244b63b17be603bf90edfba7010debba4ba993a2fd5a03a328e893ac3c2febb0f91f6bbf0e9b8ba6004683b4b90d7bb1ebab7bb00000000000000000000000000000000000000000000000000000000000000003dc172be2fdc5fbc97b8833cbcfe943ab52f5fbeca8e0ebd9404ab3bded5453be09148becf9244bd41f4ffbafb7b813b065420be41b23dbdd14ddbbb4428203be742d4bd2d5417bd0cc840bc69a2bc3b891f4fbd3171c0bcf1fd52bce7edb33af9e226bbeb528cbbd529f3bb0c17353a0000000000000000000000000000000000000000000000000000803f0000000081e3fc3c481622be1650af3f294ee8bd1a8fdd3c0274e9bde63e8f3fc4feeebcf914cf3c6db3c0bd8e8d6d3f7ccabe3bb061ae3ce5ac95bd7b322f3f32ec073d1028813c5d442bbde133db3e67ad493de875163c7b7cb9bb19b94d3e55e6443d7d62eb399ccfa53cb16f34bce783ca3c00000000000000000000000000000000000000000000000000000000000000008fb48c3c008313bc00000000000000001d58213bf574bebb0000000000000000ed1c22bb6894eebb00000000000000002d0d9ababc4a9ebb00000000000000004604dcbb418f88bb0000000000000000d03a6bbbb39808bb0000000000000000c7cb65ba20e6b53a000000000000000000000000000000000000000000000000b4f610bc9fdc25bbfd78bb3ce65ac03b176804bc070f93bb3c65103d73205e3c658a0dbc60c0293bf7f9143da379e33cb65094bbb3cf013bad36013d27c5d83c86a802bb37b9fb3ab19cbb3c2f8eb43c9d7732bb9557793bf30b6e3c99748d3cae7129bb6d7c6d3b8971ba3b53e3fc3bd9c432bbde81723b047818ba52d2cb3ac47a5cbb23b65cb9be9486bbecf8f1bbd85ff6bbd16395bb7d1791394b981c3d48d1c5bbe4f0a9bb4fcfa7bb8498363d2871caba53c0fbbb684952bb9d00f33c9cd80b3b1320babb9427a9bb8490aa3c2c22883b6d798bba3a491fbc336e1a3c9c8ce13a0ef3a7384b19d4bbc96a91ba01eb893a3d78f63aa4bac1bb07779cbb364d5539a926233bddf6d0ba24c309bc9d9da3ba33ee033bdd4936bbd36b8bba4bfd10bed02b823c80bbea3bcd63bf3bc59b44be755a10bc0572063b46a5103c37c164be5fe834bd7b3bc1ba0240223c67484bbe058b6bbd9f2625bc890a1c3c6fdf18beb10f72bd6ece8cbc6084093c5170c9bde58b46bdf4fe8bbce190d63b027538bd951ee9bc9c0b99bca31ceb3bc05ac2bb317773bc792b17bc07cf703b2158ea3c5b960d3c203288baf79e103b3dd6503d93d173be1e00af3fd306a3bc1b45453d3c3c4bbe7e37993f8c225e3db92d303dfb9039be95f98b3f9f84af3d33f1153d51ff12befac55f3fc2c9ea3d4f42013d4a7fc7bdb1461f3f5118083e9ca09e3cf4f447bdde2fc33e7d20023e27f22d3c319a10bceff21f3e5685d23d08a109bb804b9e3c1e34ff3b34ce823d99a784bb03ce0c3d10e20abe9485f93bfadfd0bb101bb2bb00000000000000003d4aa2bcc62fafbb0000000000000000b0afe5bc199c70ba0000000000000000eb4ee6bc047299ba00000000000000000078e4bcf32bf7ba0000000000000000bbb7e6bcd86ef73a00000000000000002a8bd0bc9344343b00000000000000000e429dbcccff8d390000000000000000ec83febb6b46ceb90000000000000000a0f9eebb227ca7bbedca8f3c60501eba740c25bcaa1b17ba0adeec3cba8a7e3c9512f6bb5e7b6ebaa94b033dac39c43ca57ee1bbf735633be8accc3ce696d43cb5458fbb3fe2453b3566983cd7fc973c7a9eb0bbf752033b513d613c98694d3c4233b2bb62fbd33aaba4fa3b68e1d83bd1808dbb00a71c3b11fbca39008cc4bae00a8fbb288b123b314e6dbbc188e6bb297696bb4a693abb28ce3a3bd1e0ed3c69e4acba951fb1bb7a890a3b7de8023d47d2873b5757bcbb62f98138d75fe63cd255a43b105cfeba42723abb7263563cf238d53bc8b48639687d43bbe923df3b2feeee3b59d5f93a604c19bb85babfbafcb5533b2e19953b016c1dbbfea4b5bb81a4983a7e0d9d3bf92607bbc6a56dbb276b1cba2822323b3a253aba4e04debab159c1bd3775683ce3c6d2bb70b02f3cca912cbe320e13bdd75befbbabad6c3cc2ec3ebea3808ebdb1c685bcff7f653c494c21be7b93abbd983ac8bc938d793c248aeebd44989abd923100bd90ae503c3fb698bd6d8a86bd4e4506bdad27313c1907f2bcb0db28bd4a01cdbc9618cb3b57083239239197bc636f39bc1cdd483b52ea9d3ce98a503be03a9b3a4cd69d3a6fdd423df6d863be90c7903fb4d4523e8e415d3d189e6abe9be78c3f042f743e27673d3d897a48beadf9743f5b07893e579b2a3ded3015be011e3e3f9e518f3e077bfa3c8714ccbd93e9033f930c853e262cae3c1bb23abdc9a6973e60376b3ec7695c3c4c330cbc1fb0de3d8b8e233edf2ee53aeb0a743cec2789bcb8f6a63dddb5373a671dc63c72debbbd294a2b3c5fff75bd3fe8a43b0000000000000000c6a78bbd02fdc63b0000000000000000b7d28abd2a28c63b000000000000000070a388bd22aa5c3b0000000000000000a9a352bd0a10683b000000000000000055274fbd9c8e983b0000000000000000d19220bd1b85853b0000000000000000dea8dcbc8378553b00000000000000001d199bbc28d123b900000000000000001d82f6bb38fc1dbba942813cf9960cba023612bce84140bb4030cc3c69d57f3c095a20bcf09dc53ac13ee63cbedab53cb01119bca2d72f3b5a2cce3ce20fb33c0ff494bb9552093b5c458c3c7a17803cb23afdbb430f533b232d483c639a463cf16cf0bb45fa813b8f8de43b86e5853b7272c1bb5b51323b9e36b43743505abba3c365bb333012ba0130b3baf618f2bba5460abba6c602ba7baf953b94e7853cfe13e73a9587a3bb76158a3b5961d03c3ac9323c5186b4bb1f80d33afbd9883c7788133ca4145bbaa6e9dd3a5054be3beb9a353c50f45d3bcf8e51bb8f64ee391e73043c908b8a3b6ec9bb3ab2e0d9bb5a08a03b616ab23b750aa13ab986e8bbbceb573b72368a3bec7f9fba195272bb77e282b65f29e83ae76f9e3afeed253ab7b3a0bd873e17bb24e15cbc0e04563c710604beb06483bdf34681bc4cc9973c7fe30cbe7195d7bdb3f2dcbc97a6873c4e98ecbd55b7e0bdc0ae27bd94029f3c027da4bd0c86d5bd6b8730bd098f743c282049bd14f3a6bd9c9c25bd6691393c5c6ab0bce9a349bda3e8eebc6df8cb3ba8a8303b54abacbceec332bcdf6ceb3a6e2e8d3c6827893ab9818d3bd7fef03a197e2a3d5ef752bee816753f25dedd3e542d443dba9f56be1080643ff117f53e3100303d0e6a2bbe8834413f57ddfb3ea0591c3dbe2cf9bd53e0103f4d7fee3ee8a1e13cc6f19bbd54c2c03ef79ad23ec2f5ac3c202e11bd1d50563e6246a43e36954f3c11c9c9bb313d953db110533e6338c03bf353383c2efa92bc1990ba3dce9fbd3ab3ab583c95caa1bd189cccbaf33bf4bd2f929b3c0000000000000000c3a400bee8f5963c0000000000000000b452f5bdf9bf8f3c00000000000000005715cfbdf956453c0000000000000000d6dbaebd8bb32d3c0000000000000000ee7188bde406fb3b0000000000000000041344bdeb4fed3b0000000000000000690b0bbdc728703b0000000000000000837cdabc6720433b000000000000000046bed0bb6721bbbbd24f743c1776693bbfaa02bc9cea7cbb8d5aa73c61267b3ccadb22bc3375e0b5b425b93c9019c13ce4361bbc92fa463b5b269b3c634da13c04c1c1bb12f210391984863cc6d6433c901c1fbcd437b23b82d1333c73aa2f3c0d8e07bc07e2053b1f45d03bc286373b6ffbf6bb3fa02b3ba10f113bd310c8bb061f89bbd28a643aa61f19bbf6b504bcdf828fbabb898bbb7222a83b2f5d633c9e3d1b3c608e48bbd1b0643b4702763c670d6a3cdf27d2baa468373bdf03123c5a59683c828c3b3bde1f5539d7413b3b9f98533c1697b53b9f5c353b856611bb1b6e3b3c3421f93b5208e43966900fbc468ba93bd435e33bf92b5b3b31cac2bb5e48a53b0cd0c43bcfec383b6fcb99bb3687ad3a0b5e263ba85e203b153f02b9a37370bd9834aabc47db80bc66188c3c19a5b1bdeeb4c4bd378ec1bc8cf3a03c8286babd7bea09beffab27bd8314a53c0e5b95bd380a10bee9564dbd6a79973c854752bdf03ce7bd9eec57bd02802c3cbbbd04bde5b6c5bd3e173cbd956d363cef8163bcda4f59bd100df7bcab70803bf4c2ef3a7f7bb2bce7163fbc519332b960de5b3c2f4ef23ac9edc33bca6913bb9dfe0b3dad1e28be6177363ff31d313faec41b3d32c01fbe57be253f423c3a3f95710a3d08f8fabdb2a3073f2f9e363f6296ee3c965cabbd2d88c33e6516263fa5f2b13ce1575bbd5c167d3ea52b063f47299a3ca736b4bc35760a3eeeb1c93e1f59323c175590bb84b0443d81bb673eef25c23bbbf2b13bddf847bc7b8ab03df782c338809a643c336e69bd5d668dbc2db135be23d6f73c0000000000000000f8ac37be54fb003d000000000000000016f91fbe3e4ac93c0000000000000000e6d307be8bf0a53c0000000000000000b43cb8bd20cc733c0000000000000000a5949bbd5bf55d3c0000000000000000fca643bd18d51b3c0000000000000000a5f2fbbcae659e3b0000000000000000a1b7d3bcd60ba13b0000000000000000c3e09fbb10cdb4bbdfd9363c3aa1923b8390e8bb941678bb52328c3c86f69b3c847511bcfccdbfbab759a23c734dc93ce2b01bbcfdea2d3b7e64963c3f95c03cb11dfebb000c6d3b5bdc843c8862943c202d0abc598a203b1b65543c3df7373cc98df5bbdabf323bc7f3143cc18e9f3bd90dcfbb5e1e4d3b44c2c33a8ab358bbc4b45abb06e89db982ae51ba3fc71abccec22c3b96a207bbb973833b6480ba3b8843413cb945ebbb9cf5823ba49ccd3bb053953c1fc210bbff810f3bbb0a0c3b40948f3c1d07743b5e07363ae9fc9bbb23eb783ca8ce9e3bece7a03a9bc51bbce9483b3c6a10d13b946c9c3ba33908bc8a9aed3bd23aee3b6094e03a1844ffbbc381923bb0c4663bd376833bb8e743bbcf42563bce1e983ab19f1b3bbce184398c4eecbc23623abd156396bce49b893c3f653bbd22db05be0b24c2bcbb37b03cabe04bbd34642ebe240d34bd8f4fa93c319628bd9ab729bed67569bdb6b5983c2805f5bc47c717be27d361bd26bb663cdcd5c9bcd52cd8bd2c7a3ebdacc1e63b02a755bc910680bd54bff1bc592a453b887809bb3d8fc7bc907604bc67eb14bb2151053c48dde53a9e2c213c48072bbba208ad3cd74ed8bd6d7eea3e40ae703f689cd43c3fe2c8bdd704cd3e2dd7743fc628bd3cb4d28fbd171f9e3ea3456a3f88aeb63c89e336bd69505a3eaf064c3fb74a963c34abc0bc5205073eb0c0233fd4a0573ca1b84fbcc9adab3db784e03e27d03d3c165f7ebb8faa0b3d5af8763ef8ef7f3b83ca32ba87162e3b914b993d768e4d3aba5ce03bc44df4bc511013bdc66460bea5a1233d0000000000000000403c5ebe40432a3d0000000000000000bca23cbed1f4033d0000000000000000eabe12bebf85c23c0000000000000000a96ad7bd0edbae3c0000000000000000b6ac8ebd2554763c0000000000000000337b2dbdafb52a3c0000000000000000a330c2bc015d0a3c0000000000000000fbc5debc2ee9b83b0000000000000000d21585bb659d95bb7e62cf3b9d0dbe3b4de6c4bbd90aacba5492313c12c9ae3c2b4913bcda79a4b8386d863cfb57f03c658913bc3bd7233beabf813c15cbe13ce5d910bc778f753b20987e3c13c5973c1ebe11bc06d97d3ba415443c94a16f3cd7a0d4bb6f3c593b8352133cbf91573bed7f9dbb2566023b26eb643bb9228ebb32b64abb543a253a05f8b63adbc60cbce95ee53b950ce9bb4ca8933a5e06fd3a6bb98d3ce11219bc29164a3b6c5900bbe3a4b33cef87a4bb2543cc39febe2abaad2c993cd9eae53ac4f0163b720403bc2642883c1c78a23b7a890b3bb6bd0dbc8d74553c66ddb13b9baf383b0dd318bc1574123cc12c923ba3b6923b186a06bc04f3c43b1043623be4d0133bb00a76bbcef30c3b1c392cb983898b3b222f72b9a86b3fbb11fa86bdb4badebb5127663c7e2d2ebcb7c025be7496b9bcf7e5963c7a5b8dbcbb424bbe7d5c3bbd1e6aa13c490887bc23e944be551f68bde3c98b3c5d0c64bcb09122becef059bd616edb3bbe0256bc969af2bd98d633bd1073703bd1942dbcbfdd81bdc30be2bcc39713bb1a9984bb5ba9bbbc100bc1bbd67ad0bbe5753f3a5fbc9e3b5eb0473c1eebbabbc179223c12364bbd1168673e2cfd8e3f9ac1353ce72829bd612b313e7916933fe478653ca4c4c8bc2945f13d7f90883f16b76e3ccca560bca63f993ddf38683f54eb373cdfbf04bc38bc3e3d3f97313fbd6e533c7a965fbbf202093dad3eef3ebb8bf53bf7e74fbb475fbe3cec2c763e1852733b7b3de2ba7683693cecfc693d9404113a9d8908bb77db4eba561475bd7c006ebe83f3403d00000000000000000a4866be2ff6403d00000000000000001b6a37be002c0b3d0000000000000000d91a0bbea8a1e13c00000000000000009a26b1bd987cbd3c00000000000000002bb95fbdd2e0853c00000000000000004635d9bc23cc653c0000000000000000be5f55bc2835063c0000000000000000c27b4cbcb268c03b0000000000000000fd8e0dbb4ca114bbb5d8073a20cb933cf2f186bb8eec30bb33bd5c3b3eb4053d04c4ecbbe5643bb986553a3c1490253ddfd51bbc2673253a26f4803c16a0113dd811d9bb6b04103bafd2593c4370c93c4eccebbb9c8ac33ac97e6c3ce129953c6fc0cbbbf3c0be3a4048233ccd2ff83b3e5992bb5f6ca5390c4bf73b64fc9eba75b564bbcdd909382cecb4399e6a14bc9c12353cdd1356bc3c2249ba8c2d483ac611933c179d4bbc93df2c3ab264b0bbdef7b43c9ed4fbbb3daa5f3949aea0bbacb7a83c925187ba7d7c2f3a512208bcf565913cb7ebb83b0e90cc3ac24518bcb7a44d3cf2b1863bb2960f3be4682dbcf2910b3c83a2943b6e7a593b0f75d0bbc5ea823b1344a83baa20943bd16f40bb4c06823b8b6d89bae71a283b2a7078b94865893cd40b02be1d65083c1940403c76e5903c6cbc3dbe651f1cbc2cd3523ccc0ca13b90816abea73e20bdda567c3c310e073b109f5bbeacde50bdd29d193c40e289bb476e2ebee0455ebde967493b631c21bc0071f9bdb5ff39bd7041b63976811ebc7fb386bde913eebc1a3698bb80fe41bca027b8bc5c760dbc72982cbc35d4dabab000843ca7f25d3ce99d15bc593da0ba76951cbae00d85bb22b4ae3f37626e3b688b8cba4606443c73ca9b3f20dd053c903a493b696b85bcec0e933f58bb183c0159053c2331c0bc007c733f72f8223cfffdcd3b14e8b1bcf9f6383f05a90d3c70b1813bca329e3a9487ef3e4e29d63b408a8fb8b9333d3ccb9a683e5277dd3bb941f0bb05c6ce3c3ef9473dafb05fba6e0ba1ba4ec1a83c5da5ebbd5ed47bbe471a4d3d0000000000000000d70d34be43c6213d0000000000000000d89b0ebe8b97eb3c0000000000000000198abcbdd933c03c0000000000000000b8394fbd3a37a23c000000000000000067c8a5bc955b823c0000000000000000406a053bdc8c243c0000000000000000a4ba543cc5b6623b0000000000000000d20836bac9bbb23b0000000000000000000000000000000000000000000000006b755abb403f1eba7dd5b23a5db52e3dd9f9bbbb025dc43a8c89053cf00a213d75cba2bb0d06263b3b0b473c4dfe013d77cd87bb3b428d3ba526393cbadbc73cec9ab0bb72087a3bdbba033cacb9903cfd0c5fbb420e6b3a1b7c223c3b2ce23bea131cbb986a3538e732a33b5b23beb90000000000000000000000000000000000000000000000000000000000000000cb86a83cfe0169bca85b46bb20d1c0ba591c9e3c7e8c90bb7295c6bac295ccbbf80f863c1557f73a167916bb91b7bdbb9a975d3cacebac3b7d5cdfba80e712bc7edce03bea33c03bb579a43aa5261abc0594af3b9b64b53b6be982b9a22cf0bbfdfb893a73fd033bf034423b43d788bb000000000000000000000000000000000000000000000000000000000000000068cdfa3ccba473bef753d0bb4160013c0426963cc9ac61beaf290dbdcb61803b5f7ae03b5ed24ebe2e7e58bd77a7f13a5728723b9da726be88df56bdea3480bbed740dbb1666dbbd78002dbda0c7b0bb680f13bc32f45bbd5a7bfebcd012ecbb5c2d05bc3fea0bbc8cea0dbc3803d6bb000000000000000000000000000000000000000000000000000000000000803fe3520abb61b8ef3c9a461abe06b1af3f99d17c3bfb28ad3c2e6cd6bd35ed8f3f7d73e83b6f6e913c4a2ebebd69cc703fe289ab3bc98e923cae168cbd76d8313f2981e13b703d6f3c388e15bd15a1df3e9171933b24b1bd3b2bfd3dbbe1a3553ef50bf538c8e52db9b982bb3c8fe601bc0000000000000000000000000000000000000000000000000000000000000000f122f7bdc9d7be3c0000000000000000fa2e31bd582d543c00000000000000000825fabbfe4d3c3c0000000000000000d7c9953c9ae4183c00000000000000006809003dd325123c000000000000000003411e3dfae4a93b00000000000000008ee9e33c765c8c3b00000000000000000000000000000000000000000000000000000000000000000000000000000000583999bbd54018bc5912073dc955073dfbaa20ba083516bcf117b83c11d21d3d3ffc8d3925f363bba6de583c7ab2183d40c7473b30b48fbb016abe3b5757f63cd5e8803b1c8383ba45b8b3b9d9039c3cdc93093b42f6e23a504e42bb1b02303ccc64423a67a40c3bce168dbb7a52e63a00000000000000000000000000000000000000000000000000000000000000001ed5f3391c97c1bb23f672bccdfc733d073d3d3c66a22fbc304d92bce3c8583dea07b53caf9b42bcdd917cbcf33c163d6883b73c6bfa25bc827c7dbcf56df03c5b5daa3cd63eefbbb9bf45bcfcfe453c4c756c3c9d52a7bbdabe03bcbcf6b93a5f43463b511894b91dc31cbb0f2dc3bb00000000000000000000000000000000000000000000000000000000000000004f5156be96b48abd4834b13c2ded953af2a22ebe0ef7cdbd7a12c83bdb872c3c5bf20ebee915eabdf09466bce19b853c9974c1bd0d6fd2bddac2d3bcd83da33cbb8c4ebd45dc96bd404800bd9059833c6f70babc8ccd21bd32ead0bc73514d3cb6f66c3bd79fd3bad48163bc0c96b63b0000000000000000000000000000000000000000000000000000803f00000000c6aa293dc55452be5ff6b23f3854bcbde5fc2a3dfd8241be53f68f3fa896403d52092a3df8bb38be6c8f673fece4013ed1cf173dd26519be26fe223f6a382b3ef705df3ccafec3bda6a4bf3edf1c283e9eb3393cc1390bbd3134263ef807f23dee6a49bb6b9a863cfcf3d8bc64c71e3d0000000000000000000000000000000000000000000000000000000000000000136d393c589ee7bb0000000000000000d5e6a1bc42dd6ebb00000000000000001348f9bc0989acbb00000000000000002275edbcdeb51ebc0000000000000000ecc8bdbc3d5c04bc00000000000000004e8b34bc307913bc0000000000000000dea4433ba7d6b1bb00000000000000000000000000000000000000000000000071e0a5bb630417bccbcbbf3c5d51413c7b7e2bbbf4e94ebc32ddc43c4db0e43c795866ba09720bbcc314a43cedb51d3df408813a6dfdacbb5e87403cbd621b3d4e5d7b3b73e769bbb35a393b95c2ed3c9bd53c3b09a4fa3a6d381bbb3a56923ca10d7a3b77ded23a0389abbb342b1d3cd5d3223bd9f87e3b0c7bc9bb3039c93ac8f232b9e2ec813bd7c9ebbb22e9acbb2bb1a4bb6836e8ba1d7a52bcdf625c3db7c5643bed8c0dbc4cf6adbcab388b3d603e953c85a04bbc428197bc932d633d8c18ce3c41d059bcd61895bc0d71253dd36de93c503d37bce3b26cbc7e12ac3ca3a9c93ca70e17bce46a27bc3f84c83b75bb823cb02a83bbb7ba9abb4466b7bb1bd4f93bd5ed48bb31d3d739493a35bc5188e5bae26fb6b9e8de3a3a8b8432bcb9d213be8ed3e2bbd3ef3a3c1fd69ebad50d27be0d0d6fbdca6eab3b77a7053c4d9e28bed663e8bdaab3e8bbc3f4843c14b1fabd09fd01beea5cdbbc7682bf3cc4d39bbd33f7dabd3b5d2cbdd56ec23c960d2fbdfbfc9bbdacd22bbdcb66b23cd96858bc212f20bd24440abd8f554f3cd4abdd3a500024bc8de666bc06a5da3b7e139a3ccf34ae3c9e6e443b449e2cb92f32613dd67a82bee061b23fc6b6cebc7e767c3da40c7cbe56eb993f910dc93d480d733d25a375be40bf873fd233433e05a5553d40a64abe2c6a4b3f6115883e16a02b3d1ec50ebe3185053ff21c933e9931c53ce92f8fbda705923e8e7b813ef3ecda3bbc920abc7e1db83d6f562c3effdc2bbcd35ce93c565a9bbc18fca13dca8e83bc189b6a3d37d907befa2b98bc25ebb0bb5eb8cdba0000000000000000457f0dbda5b8a23a0000000000000000423965bdfdc3163a0000000000000000a6c580bdc0dd1fbb00000000000000004c6168bdcf6496bb0000000000000000bc053abdd74dcabb00000000000000008f00d1bc537689bb0000000000000000aebf3dbc83973abb00000000000000005ed528bb13a448b90000000000000000ae9efdba3d230fbc44234d3c8c8a1f3cea3013ba297930bcc4fb883cafd5de3cc2ef8e3af573e9bb5366383c66360c3dc17fe13a0cb250bb471d0d3b13b1f83cecd9483b667703bb0e40d5bafe11aa3c0742823b1cc5023b900ef0bbf18f613c6b151c3bd2fe283b981ad4bbccb8b73bc5fcdf3a4fce993b781b1bbc69b8cc3a5e56803ac883533b09a40cbc05460ebb1f019b3a756d92bb606647bcda44423d45c4663c23ce2fbc7cf480bc57815f3d97dfd73c746061bc2b8a94bca494443dc2a30a3dccb250bc119250bc7f2dd63cf459103d105f00bcb7b42abc58554b3c66d5e63c5edccfbbd256a3bb985672bb4f438b3cd7f513bbd9389db9a74033bceb07173c9eedeeba9175143b57665abcc74ac9395053a1baf11c353bc1c71abc3404cfbd838cbbbbfd9d00bb0fa6493b6eec0abecc38a5bd57f01abc1b70583c1602f7bd21e901beef39ddbc5638b03c4a31a6bdf82505bec58a4abd7edad53cd91f32bd3d2cdbbd425e77bd97eeb23c674b82bc613f97bdafad66bd1d68a03caf282fba8bca20bd2feb16bd9c072b3c6b59193cbe6926bca01367bc52ab5a3b5328523cd00c4e3cf6ca053c828c35bbc0b7673d24ef7fbec790933fc0fe593ed6f7843d77ea8abe494e8a3ffcb69c3ec6e1763d0f1773beaeda603f42dfcb3e1241473d39e42dbe339a1d3f2c0fe33e9a65073d89dddebd967bbd3e525ed93e3e628c3ce98a24bd9d13283e155ab23eacf5373b8460043cb32bcb3cc952653e1ba317bc701a123dd6b85dbdef35c33dc70b68bcdee13c3ddfe1babd698f5abce86d8abdaddc553c00000000000000000d6ebabda50b5c3c000000000000000032f1cfbddb0c133c0000000000000000962fc6bd9ddf993b000000000000000054df95bd98e0cfba000000000000000051c564bdcdca62bb0000000000000000fde205bdafa913bb000000000000000048b388bcccc778ba000000000000000094604abc33cc4e3b0000000000000000636e42b8997310bc7a0a1f3cde4c0b3c8fd8a4392eaa17bcc7bf263c8b1bc53ccd57393b982fedbbc86e8e3b3906e73c3e192e3bfb3de2ba391917bb6e25cc3c33bf993b5f2fcaba23a2b7bb55eb813c77b2493b36ffa83aafc2fcbb5709303c86ce2a3b7e07803b18991fbcfa85e83b559ba33a1a8e893bd57f0cbc3f83a8394c56843ac089073b2eb3a8bb6bb484bb52ccad3b6e2408bcd103f4bba11f153dcdeda83c6de52cbc1aec66bccf3b303d13a00e3d25ad5bbc79333cbc7684e83c8fe7233dded62bbc056903bc35993a3cae34173d2019b3bb79b9a3bb9f89a6ba0a27f03cd0bd34bbadc9fd38177a44bcf31b983ce8f374b9bc7e383b144586bcdd6c203c5e929fb970f31e3b06644cbc72cf963a4db8b9ba43c38d3b517921bc0e3db4bdb0318cbc709015bcad881b3c8c78bfbd03b3c7bdce57c7bc090c883c5e1e94bd43710dbe48e950bd848bdb3cb34f2abd9de709be2e5892bd5b91db3c950945bccacedebd4c9f9ebd091dbe3cda51bf395a9397bd00cd88bdc6c1883c33ef0b3cdeeb21bd1c9f30bdaf85af3b2c121e3c8a9938bc59f573bc17d4603ac7d7183cfbd44e3c051d253c09ee22bb7b76583d0d4873be8c45793fc989e73e4e836f3d28f976bec0c9593fb6a40e3fe7484e3d8be340becb80243fbf8a213f753c0e3d1fdbf3bd4755d13e87f3203f622aa93c0ca567bdd09a4a3edddb103f003e273c01e50abc32177c3d4831da3eb524deba2a17b93cf5ebb1bc7bd8823e51d7ebbb52c0153d2ef97fbddb9fcd3d01992ebc28f6213dbd82a8bde785b0bcad0709be4121d93c00000000000000003a871cbe16acdc3c00000000000000002f3217bedeb8933c00000000000000009afbffbdfaa11b3c00000000000000004d30bebd3949a73a0000000000000000267f6abdee60cdba00000000000000006287e9bc08b142bb0000000000000000239e7dbc9755223a000000000000000047b793bc2b42a53b00000000000000007703023ba4e908bcc4a1d13b8d90133c4f542d3b2c5109bc40bb303b5e19a53cbaf9043b7c4799bbc69b25ba7ec5b93cd050643baab90bbbf263bcbb4687a13c94c26c3b9d8030bafd07cabbb9ca4f3c68707c3ba5b9843adfaf01bc67ee0e3cf3be143bf1efdd3afdbe1cbc2e3cb43ba80b3b3a15e3a43bf864edbb45b5c4b92ba049ba6e17443ba9add1bbcbcd57bbb0b6dc3b7c2bd2bbea6208bc3c52f63c8452e93cca7a5dbc5da52abc928adf3c3403243d939d2ebc515615bc9f03823ccfab2e3d2208bebbe701a5bbd303aabaf0680b3d34bd94bac8e83ebbff9fc2bb17b0ed3c2d327439acf3093bff418fbcc1178c3c7f286f3ba222663b10566bbce1d7023cdc2fb03a97877c3b342765bc1aeaac3a3ef2f1ba617cb63b1e9408bc0b3f85bd161500bd3f8d4bbc926c373c632753bd1268e7bd40a91dbd6524bd3cdf2e05bd944814beec248cbd506ada3c1525b2bbfb750abe9f66bcbd974ee23c9fa7a93b6563ccbd5decb1bd25c3713c1507773c85b795bd0c7196bdd536363c9906533cac901cbd41783bbd94faf53a4e151f3c51a537bcb6395cbc67b94cbbcf5beb3b27821f3c20c2593cf74188bb2cca363d2d8947be20dc3a3f1b3e363f4f0c393de98f37bead16173f34614e3f90d4133de0ce00becce7cd3ebda2563f15c2b83c350e7ebdd2fc513e37d84a3fdfd25c3c0584c8bc2d4d923dbedd233fee3d6b3b6a9d893cb987c2bc9abdf43e1d92b0bac339e83cb6c95dbd1635883ecbb7a3bbf69a013d8ea676bddf39c43d6b1818bce110063deee675bda27505bd82b549be03db263d000000000000000041974dbee336133d0000000000000000018030beb541bc3c000000000000000043e509be9d7a3b3c000000000000000000ab8cbd5c55b33a000000000000000020e43fbdebaa24bb000000000000000092cb6dbc565842bb0000000000000000c72735bcf7da493b00000000000000009c37bebce85e033c00000000000000008c01243bde78e9bbee32873a3a99083c9d472e3be796b0bb399dd8baf927953ccb96263b7e08cebaed4ab7bbc189a13cb104103be0df083a8d4bfabb66f38e3cac55393b2faa93b9989515bc0da1813c6b29153bf0543e3bc82717bc3b061d3c144ad33abb17293b9e0fecbbce387a3b4ab1b53926967a3b871acfbb32093a3a7bd9bc3a9358343b392b9cbb58ef31bb1328543c25fd1abc0961b5bbbebd9c3c61a0013d144e37bcd677fbbb37a6343c0d79313d1b2130bcb0e592bb0ced65b874b52a3d42cb1ebbd5b58fba233634bcd927173d72ad4d3b4145ac3a87d984bc7326dd3c8e1e4d3b854a693ba9199cbcc50c983cddfd563b8125a43bdfff8cbcf2d5173cdd61c03a62fb883b304441bc22dfbe390bdb29ba62944f3be5b7dcbb52c704bd4af854bd020286bc951f783c321d57bc833305be73673ebd5894bd3c47e5843adac519bea10aa8bdd511f83cdacf533cc5490cbe91bbccbd5e58c43c1d7dc13c7824e5bd99e9c6bd39ea573cb1c0933c786d96bd6c6399bd7e58e13b46ed513cc56921bd0b533cbd5531aaba1187c33b291235bc0c686cbcfc3892bbc185c63a2760313cdaa05d3c34aeb5bbeac2e33cfcaa06be942eef3e8733763f1f2fe43c2317dbbdc568ac3e8c4c833fa49d9c3cce8d67bdabd5373e6816813fd1582a3c41f855bc3124623da1be623f33ff883b247c923cc1602bbdcb1b383fccd98b3a52bdf53c5d1e86bdafa5f93eaba005bb898d023d936982bd8b40853ee11784bb0824c43cadb830bd5668a03dd0169dbb6666903c1a7703bda5053abd05e576bef02e4c3d00000000000000003c826dbe977b343d0000000000000000b2ac37beaf8fbf3c00000000000000005910eebd65e31a3c00000000000000004e227bbdeb1d34390000000000000000914694bcf565a3bb000000000000000092cec33af45d0fbb0000000000000000f25623bb7bbda23b000000000000000004a1bdbcf198273c00000000000000004ee4063bdb077dbb179ec0bafe6eee3b772c1d3b331561bb249fabbb6678823cc8befb3a28cf86baea9301bc268da43cc4d91c3a2fba003bb36007bc111d973c61684c3a639e773a3cc503bc83225b3c6018143b8f96be3a995efabb07c01f3cfe20743a5429543b7643babb4878783bec9b3fba1c98553bb20b3fbbb05c6b3911bbe039d44df33adcb31dbb96711ebbf16a503cf7812abc9421afbbde1be03b21650e3d02a34cbc81647ebb963534b98f36313d15b9febbc44824bbae8d1bbc1823333d6b2644baf635313aa12d98bcd75f0c3d2e46a63b0fc92e3bf1c194bcbb35d53c5c7ae33b7d6f8e3b06d0a7bcbaf5883ce44b903b1fd6803b8b6679bcd591c03bd342633bea3d483bd50403bc7e735d3964f938ba9b9c493b999797bbb6e228bb02018dbd6cd306bc1e18823ccb1c863c413611be7a3d56bd4fd7d23cea91ed3cc2aa26be1e8dbcbd8a20ee3c0f100c3d439219beb055d3bdf9229c3c4595023d51eae2bde358cabd319cb43bc303be3cb3049ebdaf5a9ebd4b6fc63aa0bc3b3cd62b14bd7f113abd4124a9bbe2c1e43a520a23bcad2734bc89e316bc4e01e2bab8c7f53b28895e3cf551a7bb5c85793c3e1e87bd5360693e1731923f3179283c4aa71ebdee09e23d7689983fa4d2033c07a8d4bb87b4f13b2c0c8f3fe6960e3b9e5fb73cded689bd2713743f003a2c3a0a080e3d10f0d3bdbe4b393f769601bbac9f233decedc4bd5571f73e92ff5dbb83f4f13c0f0a80bd92b1773e3737eaba9569713cf764c7bcd2375c3df516afbab7a48b3b3e9c0bbb42846fbd9e6c81be0a08603d0000000000000000098565becbbd293d0000000000000000ea1b1bbe39f59f3c00000000000000007da8a8bd81c59b3b0000000000000000ed3289bccbf012bb00000000000000009abb4d3c4fb7f1bb00000000000000000fe5bd3c50da6aba0000000000000000ad2e433c69d2aa3b0000000000000000c9e092bca453263c0000000000000000a2b2c33a7f6350bb48d4a2bb5ca3513c01d1ce3a4421bbb933d22cbc6aa4a23cf2c9fd3a22e27339d5f04ebc3b5cd93c15b1243ac5717d3aa05f2abc53acae3c7f0f7f3a5beae13a7fc006bce8257c3c7cd888b861eb303be73996bba5bb363c89d9af381e00273b36cc57bb24e7c93b3a2102b8a3b7053bf499a8397391d139c6c575baa9a6d03a17b4853a81c64bbb13f5843c35f537bc2c7e9cbb87a65b3aefd7063dcd8750bcf04c1abb484b37bce3e3273d4c7b97bbac1911bb526984bc9478203ddc2f213b99baf83af0f7a7bc3183023dcd4c033c2c344a3bc8f7abbc506ec33c0b79103cda280f3b599e92bc68d93e3c15d5f53bcee02b3b5b3958bcadeba63b9fbdab3b59d3d03a04b3a5bb37a53fbb2fc10bbab3d4183bc9c93dbba559cc3c01abf2bd4271f1bbba24a03c5c9a2f3d40b61fbe062041bdae78ba3c41f0523d4d873abeec23b4bd159abb3cb536413d07581cbe508fd9bd9a0e543c6948123d37d1dfbd11d1cdbd60032d3b808aa93c54f48fbdaf0ea9bd02ce91bb7a58013c0de211bd415a3abde00f0fbccbd8a0bbae900ebc908e75bc251b2dbc63e8c8bb41e44d3ccd079f3ce543c4bb204970b93bbf48bb94d533bc4c9db13f5c127aba41ca553ccc4a3fbdcafa9e3f036335bb248c093d372cf9bd8429963fa5bd82bb79a2463d4dfe18be487c743f87dfacbb5ab2523d41bb16be1cfe333f6fec7fbbfce12c3d903cd9bd5d55e43eb27711bb4a38dc3c44554ebd2fb3503e7f048f3a5e88433ba6c93cba0db91d3d52886c39917868bb8c17c63ce8f7d8bdf37085be8311563d0000000000000000370025be6e66f93c0000000000000000b093bcbdc007d73b0000000000000000b72069bcc8e6b5bb0000000000000000d3ab393d8c1d47bc00000000000000003cbb883d9d4f2abc0000000000000000966e683d9d3d9fbb0000000000000000964a063dd5f2023b0000000000000000295389bc20a9423c0000000000000000000000000000000000000000000000006ff5c6b9b217caba899d48bcd006ef3ce69483bafac2f13a038f2bbc2ae7bb3c007e3fbaa65d363aff0cf0bb4b889d3c21036fb9a570083b6807cabb80a75c3c22f03239b5e0093be87b3abb617eea3b30af693a7e00823863b6143aa6f4523b077b493916e4c33ab605563a8a92aa3a00000000000000000000000000000000000000000000000000000000000000009680073d288af1bbad1ddcbacf095bbc004c153d3998dbb96412e1391897a6bc9333073d3a14183c72bac83a614f9bbcdddbdb3c0d97513c5d3dec3afbc2aabc44c7713ce05d533c46ac6f3b955b85bc303f213c01010f3c2fa02f3bc4ab21bc85cc24b83b07953bca4072b9382076bb00000000000000000000000000000000000000000000000000000000000000008ff4853dad9c4fbe0d9056bd8e279c3c2ba3753d084d2bbecd89b4bd80a6273c8d8b3c3dc9f00bbed7e8d9bd79fffaba3054163d7036c6bdb5a9cfbd926330bc3701983cfa155cbd1b2997bd2e3492bcefa7983a4f42b1bc8b883dbd91f96bbc728cffbbc1cc3d3be7a329bc34401bbc000000000000000000000000000000000000000000000000000000000000803fde830ebc410f523d19525abe6322b23f633593bbcadb613de7824ebed1108f3fe834c0bb8f246d3d4efc49be09cd653f59e4afbbcf716a3d83112abe5482223f90ddbdbb8f742d3d6c53dfbd46a8bf3e0cae6dbb04cdbb3c20da2fbd8ac5253e4e6f8c39ca801f3bfe666d3c1177d8bc0000000000000000000000000000000000000000000000000000000000000000c8f2cabdc6f03a3c00000000000000005c00b33cfad219bc0000000000000000a1f1bb3dbd3885bc00000000000000006e04063e12ab99bc0000000000000000c64b073e9a4049bc00000000000000007c8cca3df037bbbb0000000000000000d6b4243ddafebe3b000000000000000000000000000000000000000000000000000000000000000000000000000000005c6496ba6d07eebad254ecbbfa76463dd4ec8739388d0b3bf49693bcea07303d6ac73fb945bb973b5e8680bcb60ce13c48131eb9a849c93bcb7a43bc1a67413c421eaab9ed73b83b5eeff9bbf55573bb4cdf143a508e213bf8d81b3a5f400cbcbda40f3ae341f739024e093beb5ce7bb00000000000000000000000000000000000000000000000000000000000000005303fd3b0b78b6bb28d2abbcbb5c583d157de93cc9d76cbc6f3ebabc2949283d5c1b353df1f8a2bcddd78dbcdb56a43c3d554e3dc16eaabcf59f74bced2b653b0430373d281766bca9ee0dbc304fd4bbd983e73c26cc00bc7f7e43bb7a9b54bc4ef3f63beea4013a042b9a3926eb1ebc0000000000000000000000000000000000000000000000000000000000000000bee9f1bd1aad21beb14e3c3d9ffe19bcc47844bdd56f62beb283233d9dd977bb8b844fbca26460be67a34a3c90bb0c3c3304853cbab137be2bacbebcde8ea53c57ead93cc04ce9bd4a2956bd5c70d03c1338963cc80e31bd2a385bbd3b5cb83c57fcd93bff426e3cd0090bbdad8a233c0000000000000000000000000000000000000000000000000000803f000000001b9e713d61fb8bbe680fb83f015674bd217b8f3d61bb87bebe938d3fd1ee243efd268a3d3cc468be9b134a3faddfa33e2872813dadbe32bee4d6f63e3a8fca3e89cd413d5d85d6bdac7d623edc2abf3e380da83cce5804bd40fc2c3de147843e3e4f30ba5216843c2d059dbd2fb9ab3d0000000000000000000000000000000000000000000000000000000000000000ff6107bc126ee03b0000000000000000d624abbd769cbf3c0000000000000000d51307bee1b1023d0000000000000000992811be5f90d63c000000000000000009f0e6bde7f98a3c0000000000000000784083bd5753c53b0000000000000000531767bacfbbe0bb0000000000000000000000000000000000000000000000004c7553baf8117ebb16fc30bbe33a003d86d3113a20914a3b418f99bc276b1d3d089a07ba01e4dd3b43c99abc7171e83cd72c0eba41c5f93bfa1263bc11ff383c8e987ebab829da3be864bfbb5ae2cebb891eb03869a4713bca27343ac41345bcb9d7ea398e121e3a159e5a3b05330fbc6ab0523aa29a32bab3ccac3a395f603a4f73773a5d74a7ba5e40063babc25ebb53ef3ebb2ed6bfbaca6f8ebcfd63363d8e6ec53cd3a535bc85ad00bd6f74513dac72403d7e0591bcf192cdbc11f0d43c57bc703d62d69ebc700f94bc445d893bb47d6e3d5f8778bcf1ad36bce6bd3dbc4516353dd6001abc4fe882bb788597bc2238a93c259bfebad08c3c3a7eaf5fbc9ce578ba1af12bba29fb073b6a4471bb390c2dbcf3a9a73b0e20c63a22e011bbdc4fccbd1bd090bd0665153da2a624bcbfe14ebd341247be4ce72e3da982a1bb29d878bb54d57fbec0e0b93c9d81413b62a1d13ce2eb62beaa89c9bca456683ced83223d495722be1a5f8bbd68cad33cb82cf83c5441a4bdd200afbd5ca8eb3cc800063cea1133bc21bb8fbdfacb933c5d0c07bc29c2743c539186bc2ef84c3be43c92bba2d22e3dc2b9583bdbd8ccbb92977a3ddb7791be1d0fb93f595605bdc8bac23da87ab0be4902a53f6b22043e9f3ebe3dfe949ebef9d57d3fff94b73e7a28a23d2e3765be8fe6203f763e033f7624713d9fe509beb66d9d3e8dc60e3fccdd033de00b5bbded8daa3d6814f13e36d59d3bc8771a3ce88038bdf44d933e057981bccff40b3d645163bde70a6d3ddb6fa5bc29fd2f3d513fc8bd10d6a9bd357b1cbcc131cc3b0000000000000000f17368bd1f074c3c0000000000000000ee060abee881053d00000000000000008ed12cbe5d2d173d000000000000000019a123be4a0df63c00000000000000006933e4bde853623c000000000000000003c124bd76deb539000000000000000081ea943c16c39cbb00000000000000005bea383dd92b31bc0000000000000000ec8416b901a7083a648212bc31cecb3c5d47b83873d48a3b14d687bc021ce13c4370e1386c16c13b3a5797bc1082a43c193fac3960aa7a3b11e702bccfc815ba61aa383a02497b3bb92b4abb41cdf4bb87c0683abe76ae398fc6e13ab8ed2abc8ac9603a786994ba1395153b8a9ed3bbde88473add0104bbdb12da3a394c1d3ab9112d3a67b405bb7d58943a99f7263bab85d43a99d041bba87aa0bc4e620b3df991f73c95b457bc6e8dcbbc585efd3c0ea24c3d96818abcd4f4a2bc52e17c3c2acd7f3d64e28ebc0fe73ebcedb6e6bb8e4a553d329157bccac0dfbb4b3a49bc6a13133d8ae45dbb4421d6b9323178bcf9de883cc708053ae962043b672b17bc98710abb68c54e3bbfb7313b9ae418bb8d7576bc39f4b53b3a64563b31c4ea37e9893bbd1cd5b5bdec3d343d408152bc61536dbc18d94ebe89a4103de7226cbbd3e7893ccd386ebe7fbd6dbb9f03093c80fc153d587242be989070bd335abf3c0bb4f43c6b17f1bd54efbbbde74ae73c94518b3c335f39bdc272d6bdf870d63c68abfe3a9c03a9ba2bf09abdfef8863cc574f8bb4629863cf9ada1bcc05095ba99f21ebc1429053d67c4683c3d7431bcf469943d9d1295bedf57993f2d8c683e0ae4bf3de010acbe911d8a3f9763c83e5881ab3d49c987be44d5423ff34c143f6093813dd9b726be120dd43e8d1b2f3fbfd61a3d4fbd9cbdb8ae243e2100243f45ae533c2b27c6bbdde174bc8d62023f14ee9dbbddbcd23cd6b685bd11e58b3e4a9596bcf6a90f3d56e365bd08272b3d5cdeb7bcb718103daefe3dbdfb5ad6bd71eab8bdda8ed73c0000000000000000bdb410bee1960e3d0000000000000000c8b13bbecc1e283d00000000000000009a523dbe498a0e3d00000000000000001ddf09bec5e6873c00000000000000002cb0a0bd7910663b0000000000000000dec4513b87ba5dbc000000000000000082ee483dfd6e81bc000000000000000011215a3d0bd243bc0000000000000000ce6f393a0571b83a3d4e3cbcddbbb03c581985399d43993b881a83bc6b4c963c93bec4b83ba2c13b510f4cbc0e629f3b6154483a68760e3b22c23abb5569e8bbb97e3a3a9c643fba7860293b3b5944bc9ad0cf3a3467ffba3d99173b0f7d0cbc7b5a9f3af9f55dbb8c1c5f3b3c5188bb3af79d3aab6b26bbfff6a53a8e841b3b87d1ab3ae72d25bbbae1513a719eca3aa22e973b99978ebb0e5d85bc31a5d13c446b173d1f874abcbe77adbc48fd903cc7a66b3d85b485bca37b67bcc22e20bb9046733d365544bcacd6cdbb286149bcad0f453d2efc81bb8ff609ba749196bc7d68e83c29e2693993ec313baf353fbcb82e1e3c4430b53b9465813b38f2eabb8761bebb0122b83b38d92e3b747f89ba92ec73bc7dade33b7d7d443be660463a41e6dbbc2178d7bdfd364f3d4db982bc502a6c3c5cde4fbe002e813cae7664b94a26273d4fb556be4ecf26bd09f6813c850a143dfb0417be6a4ac6bda39dd73c0e5fd63c9e449bbd702005be3350f43cca22bb3bfeeaa2bce67beebdc1fbbe3c76126abbf2423b3c7d879abd626bf33bf05b31bc6864b03c2883a2bc147487bb9a0612bc8de1f83cbfa9873ccf0c6fbcc8838d3d46198dbee17d7d3ffedbf83ed3a7b23d1d7d94be284a523fc21c293f7e8e8e3d73e649bea1a1003f24d04f3f1e2a243d2476bbbd5926533e1d7f543f50b28a3c30112dbcd7f1afbb45263d3fb29e3ebbbed9023d403ab3bd0408043fccf576bcefb93d3db972c3bd2d53813eddd1a0bc707f123dd60a44bdffad6a3cea8ca0bcfb74d33c7211e8bc4be4febd2e6f2dbea11f3f3d0000000000000000ed9358be338f583d00000000000000004c4261be4faf3f3d0000000000000000332635be1432f03c00000000000000004a9ce4bda6d01e3c0000000000000000a8f6c8bc2bc040bc00000000000000005409593d325dcabc00000000000000003aa49c3dbdcecebc00000000000000005ab7873d10067cbc0000000000000000a057163a71a62c3aa81c22bc2bca8c3c984f0d3a52b88f3bf85f60bc3b0a0b3c1bef4f3909b7293b0a78a8bb0b4ba9bb97fe123afa889db9ad52843a328d44bcb2d78d3a365aceb9f4c9063a68a819bcf866e43abecf8cbb6ea2a23b0cc012bcbd0ec93a96ab5ebbf0594c3b2a4826bb17396b3aec6935bb8ece1c3aae14493b4a7dd83a680645bbf951213aaa65413ba1190c3c2798acbbee9c73bccd52a13cd1952e3d0df952bc5cd96fbc18478a3be8c1733d13185fbcd08a00bc967a1ebc27c2613db1adbfbb191876ba18b593bc7889263d51d628bb6fa994bafca426bc3721b13cc99b103c91f48e3b7c0136bcad0db63b750e153caf29693bba17b0bb1432e9bb2196e93bc1774f3bd1e7813aa58e76bc26efbc3b78e0283befdc1e3b7384e1bbde55e9bd4634393dbdd07ebc1dc3133d90a842bed9542dbc2db3e73b88b12f3d7adc2dbe5aa6a3bd1377c23cd1bc063d32a2d6bd0f230bbee899f83c289e7f3c268871bd0afd07be52f9d43c98e35a3b2f7412ba3f9c04be12237e3cca2b16bc7a239c3c1d6898bd66a6d43924fe46bc5b36a33cf61c8cbc90d61abc8eaf3cbca558d33c2975ca3c748378bc4b687b3d2ea26fbe12e23c3fd6f3413f146d853dea9055be355f093f08336b3f6806333d6c71e7bdaabb823ef5db7d3f24f09e3c0f56a2bc67d1c23c1dda6f3fffe6ed3be8cb643c3ba662bd1974343f5b9085bc28957c3dbead10beed23003f8d5c9bbce1e6593da0f5c1bd2b81523ecb8598bc8461ef3c8206f3bcaf3c63bc422c8fbc79e8a83c8d7824bcaaf80abeb4e071bee023813d0000000000000000f26e85bee7097b3d00000000000000002e1562be098b2c3d000000000000000010de13be9b3a943c00000000000000000d6ca5bc7c339bbc0000000000000000418a373d534000bd0000000000000000f982e23d803323bd00000000000000001153d03d2b0cf5bc0000000000000000358e723d1c165dbc0000000000000000231fbf3a1d340b3a11911bbc70c1463c70ab813ab9770b3b508808bc64bdbbb93e30253a514c4bb94f11f4baa66d1dbcf2cfc53a072b29bb1d2f503bbdb748bc06f6d23a6ad0a1bb80f88a3b44340fbc3594263b1afed5bb66566d3bf00a8dbb7f1e8d3a94c486bbb8b2383b0987d6b9fa66a23acaf92bbb997efb39c908863b12c7fe39b18dddba4c9a44b95cfe963bc76f7d3c20d2f0bb769f2cbc5a66133c95d3403d5aea39bcd7c3edbb09a904bc7099673da3dcf3bb5fa442bad34881bc1ea9473dd8cbf0b80128533b3fe092bcd730013de81d0f3ccc47b63b98c06bbcc4ef853c8ea53f3c7358a73bf216c9bb3132bf392c99433ccb61983bcb8629bbaff613bc31500a3c816b273b7e21f23a81d469bcacfa973bb1c83b3b3c81793a69991d3cadf7efbd72df063d2b5312bc36a13b3d8f372abe22573abd384d6d3ccc442a3dc00703be745dfdbd8b10f53c39bdb13c0cbd8cbdb3c823beda99f23c4306173c4c15abbcd92325befeeda13c3f40c9bb88ae193ca165ffbddd77b23b0a4b59bc2b53d53cfe9f8ebdbc5decbbd9db52bc3658903ce75d2cbc70bb37bcfaee12bc4b318d3c6880f33ceb4786bc22433c3d570d2abe68dcf13e645e803fb6ea223dc144eebdbb6d873e020b923f3dd09a3c189108bd3f0c1a3d00f3903f7313abb81b1d033dcd2ccabd7ea8773fe85785bce3ec943deeb532becbf53b3f41acb0bcec0d933d41ed18be19f0de3ed71db1bc0faf5b3d4825b3bdefaf203e7ea085bcd155b43c32ee62bcbe3a17bdd9d637bcc3dfd93ba32e583c9ba40bbed25c8ebeebae903d0000000000000000e8f88ebe348c803d0000000000000000895b46be683d003d0000000000000000862492bdb70c10bb000000000000000048d4233df006f9bc00000000000000001a2f053e22d64bbd00000000000000003e10213e5b7250bd0000000000000000b72ae13dd30afcbc000000000000000036d0403d8c721fbc00000000000000001211053bb8f1a539a2f4fbbb7286ad3baf8da63a1fc143b90c6d8ebbb5f6b2bb97a8403a5e40d2baba754eba407528bc6e8db83a969856bbec76613b62052ebcf3540c3bae1eb5bbd378683b6a48dabb9903db3a46e590bb867e513bf85268bbd958203ab4b566bb317b1b3b82804f39d6729f3a8af830bb56b4c839ea62b03b6cd77c39c2c2f2b9faee0f38eeea523bb9129a3c5b95d2bb4f5eccbba53619ba0231423d27cf07bc0bcf56ba401f67bc305d5b3d062559bb11d9113bed388bbcd8df2e3d77abc83b8edaa03bbf8d98bcc8f7e83cd3283b3ca20baa3b61c12ebc5a66253c41db7c3c2e25b33bd705bdbbc9ce97ba22f7593c6365ae3bb219f6ba96f002bcb25adb3b172e0a3bb73f6b3a75c743bc10f41a3b4859cd3ac348fd3aebc1c63c0efdd5bd6859193c6fe90ebbbb0b353d6c8c06bee5e2acbd9995c03cd8b2183d190cd4bde33d17bee209003d567ea83c345143bdcd2236be7602d23ca0cf853bb3ad4ebc100e25be2bef553c14372fbc72e9b13c4061fbbd0d6d26bbc30a66bcce1ac13cf9b680bdeb9f48bc0c6b51bc38c6683c9993a0bba3cc6cbcac67d9bb9260c83bc185073defd22fbc2ea0ca3c638eadbd3bbc5a3e00709a3f9a9b5e3c9848e6bcc937ab3c06a0a63fdd02303baa13cb3c63e4debda652973fb16767bc8a09973d923848be3958773fad33adbcac54a83db1743ebe9f90283f5ac8cabcb6559e3d798f18beeb97bc3e3c99a3bce617413d2e208fbda49eef3d9a391ebce988403c38771e3b8aa74cbd430ab5bb282225bb2e65dd3ca755f6bdd09f94bec84b943d0000000000000000fc8282beff745b3d00000000000000003241f3bdca433f3c000000000000000083b3993cda1cc9bc0000000000000000f61a133e3ab362bd0000000000000000a94d4e3e30df80bd00000000000000003ca13c3e02284cbd00000000000000005765d73ddcaababc00000000000000007fc4833cd5f6f7ba000000000000000025a6193ac2dc6837ad75bfbb6422063bfdb6f33acb6129bb6191b8badc9815bcc2f87d3a47f15dbbd3836c3b8cf84fbc619b323b791bb5bb1c3d863b29731cbc1ad2ec3a27b9e2bb026c943b98d781bba86cbc3a393394bbf011f23a2f7fd63a9f3ba13a82636fbba545123b8ecf273b8e11423a43cd8dba90d16f3a05b7643b54878a3a955821b9cfe2a2ba7d54633bc3ccef3ce74806bc876ef5bac624dabbfdf6313dbb623abae3ba9d3b7e72a7bc6f33473d0dd78a3b6d94d73b2246b6bc02e0153d58995c3c4121e73b91a591bcc3569b3c30cf963cbd16fb3b836909bc2e748a3b1b9c963ca4efb33bbe134fbbd088b8bb9859743c1775393b407bae3ae06fa9bb06307f3bdddf193a2ace733a98641ebc37663d3a888be8397b5185b84879023da998f1bdae9ac2bc0573343c475e443d359bcdbdf715f3bdc033d33cd2ed073d9b848bbdce9439bee97df73cb74f413c984dc5bc225644be8196933c76bcdfbb8b662b3c9c6929bea1ef543aec2787bcf22ec33c7721e1bdc41267bc17358cbc8a36ac3cba453fbd9802b2bc6d5206bc4520b43a09566b3b24f736bc699483bbdb0a5d3b30e8203d7e0110bc380dee3ba3a418bc80ba0dbd14a6b83fcaaf2ebc4e6e473d66a02dbeff7ab03f5c1396bc5953b43d6dc880beb9bb9a3f7f14d0bc071ad53d4a397abe657c643fde73fabcac24cb3dbff64dbe660d113fb81ccfbc6e67943d31f2fabdaa678c3e295c7abccb85083d3b6015bd6371473db5e017bbeaebe8ba9f02af3c7d954abd385c5138129e3dbc43ae193dca8003be3bff8fbe82f4793d0000000000000000903538be9f6f123d00000000000000000d0a89bc113e5cbc00000000000000000138183eb24a5cbd000000000000000096ae833edd3099bd0000000000000000ecef8e3e8b1799bd00000000000000001fc55d3ef8c040bd000000000000000001b1a73d77ce4fbc0000000000000000fd99c6bc94d14f3c00000000000000000000000000000000000000000000000086ec593ab5acc8ba642169bb93b9d1bbbf56043b58a342bb8682d83ac5d344bcfad6a139b3b18dbbdb86b33bf1563fbc7f84c13af24fb7bb3d0fad3ba382ebbb837bab3af7c5a9bb83d29e3b5ad72ebb5c4e3d3a80f512bbf9cb063a2ad3733b1f29563a83908db9951040ba7b29193b00000000000000000000000000000000000000000000000000000000000000005ca74e3d43c256bb5df6b23b29aab9bcfb6b3b3da835053c2095f03b1bdad3bcfc430e3dfa23823c5929ea3b29538ebce5f2933c22ecb83c4ccdf23bfce830bc1363e73a3057b73caaf5c33b13979cbb200797bb0744773cc85f253b903e9a3ae9730dbce475003cf5275e3a7a54ccb7000000000000000000000000000000000000000000000000000000000000000078fc503d268cebbd6c330dbe4b80013d7103193d625b54bd126242bec529db3caed4823c424895bcb3a245becdde253c8002b0ba03b55a3c5d9924bec72c11bc31811bbccc69ce3cc4abd7bdaa10d3bcf1dd4fbcfc02833c37d727bdb650e3bc55eac7bb2642c43be3473f3c3fc1a4bc000000000000000000000000000000000000000000000000000000000000803f72117fbcab15b53ddc0b98be816fb73f2453c5bc9b66dc3d61cc95be989d8d3febabd1bcfa1cd33d113581be904c4d3f0164ecbcfbc8be3d7a1144be220afc3e3123ccbcac3f873d7f74edbdde646e3e29ef60bca0c7dc3ca04301bda4d32d3d0fafffbad4cd6abbe917bf3cbd7ba1bd00000000000000000000000000000000000000000000000000000000000000005e9d82bdba0566ba00000000000000000bbc013e485f37bd00000000000000000922873ea3b294bd0000000000000000cd52a93e46b99fbd00000000000000006d509f3e16ac72bd0000000000000000d0e65f3e78a606bd0000000000000000bfa98a3d81ab8f3b000000000000000000000000000000000000000000000000000000000000000000000000000000002c50463b3ed56c3bd800d23a117805bb46e0313b71da6e3b274f2b3b4ba798ba7173123b8dce4b3b74c4183bf77477383d5fed3a0401303b331f243b69d23d3a63a9923a45e60c3bcb638a3bdb4393b91697a03ae12c4c3b44dc8a3b3b17cd3ae1f6893a19ae123be2b1883b390cb43a00000000000000000000000000000000000000000000000000000000000000002efc943a9eef0eba9811f939220e21bda9acee39ee8341ba7ffe53b969fa09bdd4a2623acea53bb9996e38bad8b4ecbcd14bb439f6a40fba0534f2b9089dbcbcae528e3a65244f384479993aa5f69abc604057b94baf05ba8301cc3ad5373abc40f93abaaea78ab9c43e613baf3e9dbb0000000000000000000000000000000000000000000000000000000000000000bdd971bd5f2fc6baf8d082bacb920c3ab91c6fbd3d0a2ebb207ba43a58178c39bcaa57bd945ca9bbe4e8753b944c93ba57793abdfc0391bb068a973bb868233a02c726bd7addadbbaa89c93ba6191cba4ddcffbc88ddd6bb07e8aa3b7ca2f8b91c9fb2bc896ee2bb06d8b03bc8380fba0000000000000000000000000000000000000000000000000000803f000000006dcbdc39dc34e6bcc81d8a3f288412bcad1c12ba828c98bc6fee663f37c0503ba1c4e1ba4a2383bc93313c3f61312b3c047312bb23e196bc5100123fc5805c3c0f7c75bb459fbebc1424d43ea69f7c3ca7fdf8baa039f5bc550c853edbf7523cc99c48ba456023bdf28ee03d4b672c3c0000000000000000000000000000000000000000000000000000000000000000071a9abb5fa70d3b0000000000000000f16f12bbb412d53a00000000000000003abb9abae15efd3a00000000000000001e833bbad82cf43a00000000000000006933dfb9bab83d3a0000000000000000f19643bb6254a23a0000000000000000a3a093bbf807a93a000000000000000000000000000000000000000000000000f1bf3d3b1068e63a175cadb96487fcbac904c53bc545d03bc20c713b4abfd7bac5d9933b857b943b4131543b8509babafd5c5e3b34c29f3ba5b0873bf9184b39f21a343bdaad873bddf9803b052b4e3afd94323b147d913b26c3a43b3f2fc63a062c063bfe26733b6102b23b024f0739f108dd3a5940513b3f63cb3b8660943ad836273aa4e38c3a106b543b01bf603a59ff093b6fff3dba857c3f3bf84f19bd76dbcf397c2435b90a0fa13b715742bd96ce283bec499abacfd3503b612128bd2a3f9b3a9ed93fba2be2c73ae5ac14bdb57e6f3a3cb332bafb3ac33aa388e0bc3d34063a36e687ba46c72c3bc72faebcf84922389fa6a3ba478e6b3b360935bcd8cc9aba72849bba1f3f873b435033bb4ecc00ba7758c5b9b6d38d3b97c4b73a04f703bd2580693b28c69bbbb62c4f3a1db786bd50083ebb21191dbbd38b073aa26b92bd7be887bb4b819339aa535c3a5d4a89bdc2cef4bbf73b823b5feb8c3a0f0c63bde6a803bcb1e0b13b5356953a90514cbdbcd825bc20becd3bc1501f3abb0b1ebdb3132bbc1277d03b3c1c0dba8a5bc0bc7f2a23bc7ae0bc3be54eaeba7b660fbc7af194bb15aea53b641218ba438f533b71c160bd1888893f3291ed3d3cf1a33ba0a082bdf1b8813fc6d0e43dc263983ae47b35bdb8655a3fdbc1e33d81586739fee222bd1bf0313fb95cce3d3d5906ba70e017bd55f2073f0699b03d66d1d3b9be4a31bd79a1c43e9bf2903d6e6efd39f78d3dbd546d713e12aa583da4fc983b58855bbdd4a5c33d5732ed3cd1fb4c3bcc2731bdfa30b0bc891f213cbaa5a1bc445b4c3b0000000000000000e7a796bc8d16803b000000000000000082f358bc7289433b000000000000000072d618bc15be403b0000000000000000c73fd4bb0a701c3b00000000000000008c93ddbb876c2d3b00000000000000009c75cebb4699513b000000000000000022e61abc7dc76d3b00000000000000003b0fdcbb44f0c33a0000000000000000cf25403b536e9a3a70bbf6ba419046ba511d883bfbb4993be2f1453a777a7bbabc86563b3368903b39a00e3bf8c649b91d075c3bd946973b55ef503b747d423ad373cf3a6e29883be9af053b0c7cdb3a6e101b3b2a21853b653b963b503ed43aaaabc63aea8d503b1c2a943b01f8d43ab1d5c2b8ecb43a3b06f1973bad31c63a2fc25eba2850af3a1149313bd0911e3a157a333be13765396c07813ba35e05bd5ebd4a3b261eb3ba04b29a3b4fcc2cbde3e3043b17b70aba78753f3beee90cbd97bf083b99c31aba96d9343b0ef904bd81f00d3bfe5ba0ba6fcbb63a000eb2bc672f913afeab50baf8b75e3b8fb592bc0a41ed39e9151dba729b803b81a023bc5b07d039c9c6eeba0122af3b702a2ebb43fdba38905dc8ba7dcfbb3bcc4aba3acba8c2bc17eb9e3baec19abb2e24c93a56f35ebdd4b91cbb1bfa3bbba167183b4e5f66bded9806bced99bc3aa3fcd33a394376bd07772fbcff8f863b5ffbdc3a20b13cbd02c41cbcbebd7a3b84c1c13855c33bbd82f455bc980dd73be38fb13adb4905bd747e33bcf54acf3b1c59623a0725b9bcdd8b18bc2babe53b95674eba09aa09bc15937ebb0870a93b68356fba2384833b80206dbd9e6c673fa392883ebef4bc3b14e38fbdb0815c3f5f48823e6cec593bb20456bd5dd9363fb7026a3e1499183b6d7153bd43091a3fe4424b3ef5a7d539068733bde47fe73e31a9233e93bbeb3aef3d4ebda333aa3ebbfa023e5e91103bfe9540bdbaef513eae02b33d7f049a3b1b2558bd4fd8ac3d1a2b4a3d83e3ad3bf63b1bbd0b0a80bc7050233c3396fcbcbc4e803b0000000000000000aa9f09bd76d08a3b000000000000000056dbb8bcd5ba8d3b0000000000000000645a91bcbcfc773b0000000000000000f81b3abcb103913b00000000000000002e9b32bcf4565e3b0000000000000000a27e10bcbbbf3b3b00000000000000001bd115bc85b24d3b0000000000000000f07ac2bb3d02213b00000000000000007921003b0c7e323a620537bbd8db7d38d0b0583becc3723bc6da52ba60b5bf3805503c3b0535803bb452a73aaf1f173a6052243bf9438b3bd552303b3f1f913ae2b7113b4f866f3b81bd393b4cc7ba3a27cee43aaca0823b7544823b94a1fa3ac565913a97014b3b5e77833bb49bc33a663c883afb341d3bcd667a3bf9ec983a8cebb5b9a88edb39da9f9f3ab65c863a3639563bd9164bb850de5d3b292de9bc02554d3b48b4c9b9cd62983b19f813bd6ec5223b941e44b938954d3be67b03bd255f143b33fcebb96f30433b3fc1dabcb43cf23aeb68d7bab14e323b8b88a6bcde92b83afd753aba6f0e743be06a7ebcebb12b3a0e3697baf4c2833bf6dcf4bb2e4ae438863e92ba3fc19d3b9517c7ba9ed21e3ac3d2293741808e3be73d023bfebcb1bcb591ad3b3ae87fbb5042a23ac72e41bd29559dbb532528bb7936003bf4d266bdcc1d53bc6553b73a533a0c3ba03f63bd22fb84bcfa38783bac2c133be7c546bd75cc88bc4a72ab3b1a990e3b91752cbd5cf886bc3ee1cb3bd723ed3ab86604bdb1e066bc111ecb3be4cea03a493aacbc6c7028bc04c9c63b52a08e3acc6b03bcb54163bb0200613b269bb13afda2853bf42359bd2d503d3f42a3d73ebea4d33b21ce89bde3f6333f47afcd3eaf9da03b82f269bd7a961a3fe572b53e81966c3b105755bde820fd3e4dfc993e077e163b774744bd011ec33ec04d793e90ed433b217846bdca8a8b3e50e43d3e0238513b0a8344bd30142a3e6f79013ea959963b11a542bdf0a2863d63b08d3d1a56253b858f02bd230e8abc913d3a3cf10520bd8ffc7c3b00000000000000001c3939bd1699c43b0000000000000000df0d05bdeb04a73b000000000000000011acc2bcb576943b0000000000000000862389bc0d2abc3b0000000000000000453559bccc71743b0000000000000000845825bc7c0e5e3b000000000000000051280bbc3af4233b0000000000000000fd7582bb049a443a0000000000000000ddd6fc3a89ef683a621642bb546eb4393baa823bee223b3b12e7aeba72ef2f3a04961a3b02bf6d3b9ac7b23a750d203a8f940a3b5f067f3b3467003be662e63a5f0aa13ac2df1e3b5e00ef3a59afd03a05cece3a3da9573b5ce6593bf8601d3b8b8d783a93fc443baac2593b140de03a207d5f390123043bcbc6963b2ebe8d3a3d5d303a2c56a33a5b6dc43a3fdb133acc4b413b21908d38113e503be350bbbc89d9373bc25f28b969456a3be4feebbcb7cfc23af33e54bafa51403b07bdbdbcc3f5033b01e69e3ae8ba333b7fd2aebc6110cd3a3c7db1b9038be23a63db4abcec69c63a0bd443ba64f3403bc9e029bc5458613a1bd1acba2b3f583b814a92bbeccf5e3927ab81b76464813b4598a839720940b99185b1baf8b14e3bdc46123b0d52bcbc06733c3bc6d559bb3af0783a574a37bd4fb525bc38fc01bbf574053b357545bdaa239cbc5685613ac974063b685d55bd165ebcbcf3484f3b7020063b548f0ebdc4c587bc638c813b1425123b68431fbdc7bdaabcc4c9a43b97643c3b94a6e0bc3ea27ebc30c5853b7119c03aa00b9bbc36fb1ebc28339f3bbec78e3ac62f04bc870586bbc950823bc5904a3af1f08e3b1ecd3cbda8d1133f49f2133f7582bb3b412c6dbd65f70a3f5e970c3f06c7603b30af3bbd1bbfec3e7d1df33e10dd783bc36f3fbd746bc43ebae3ce3e4beff73aa4a207bd2d92913ed80b9c3e8da8373b3f832ebdfbc6553e3081773e83192f3b48341cbdb3bffb3d3845213e3172873bdd521ebdce7c333dcdfbaa3d7d2b593b647dd6bc7c2c9cbc7a692f3cd8663bbdaf5d773b0000000000000000af5d54bdacddc13b0000000000000000ac0810bdb21ba13b0000000000000000b991e0bc2cdba03b00000000000000001ee35dbc08c4523b0000000000000000107a5bbc13837d3b00000000000000003250eebbb440723b0000000000000000b055e0bbb415d83a0000000000000000767a4cbb3b4aa53a000000000000000066041939b86aa33af0ef01bbacf26f3a48de4a3b2de7923b630cceb9adc8af3a1d5b0b3b5401943b9e9bd13af57c053bdf3ef23a7e8e8d3b76f62f3b0d656d3bd9e1923ab17c5a3b31be2b3b7066133b87f1af3a7751703bfa5c663b954a343bd8bb3b3a4abb2f3bcf7b6d3b6e152b3b4e240d3ae410fd3abac9273bdf85da3a8bdc8739c5ae853aec64c23a7194633a5506353b1338323a98a5243bd35a95bc9b39123b4e6bc1b8489a813b7174b2bc9905e13a43eb81b8874a1d3b00e99abc70b4e23abf3f2fbae7f3333b378874bc4ab5c23a81fb4dba168c0c3b968735bca552ae3afba444baeca43b3be952ccbb453a933a24df58ba1d874d3b5640bcba58232f3a8a1392ba66c6693b324c2c3ba09fea379f4a6dbaf2372b3be06f7e3b9b6fd6bc242fddbaee2539bbe825d03a97b846bd2a35a9bcfbd62ebbf662dd3a76de5bbd33edfcbc3c07863a36df173b3d6451bdbec107bdbf8a123b7bfd3d3b0df633bd367cf9bce4a31c3b7fb82d3bd36317bd5470e1bc6ad3493b59a7323bd335e0bcbdd1b1bc98ce443bc971223b50ee8dbc2e3d64bc60784d3b4c4cda3ab359dabb5c1a93bb9895373ba705873a13b1653bbf701dbde3b5d63e24753d3f0854cf3b03194dbdffd1c93e3876353f14cda63b6db52fbd415fad3efb3e1d3f1c1e7f3bf68923bdcfa88d3e53a4023fb90d2b3b664616bd6af6583e1d7ccd3ee86d373b5fdb12bd7a3e143e9b47983e4aaf493be88c0abd19eca23d94e4463e0c00853bc7d0febcc56e9b3cc15fc63d03f9363b23a2a5bcf2ebcbbcfa2fe03ba69f56bd7988923b0000000000000000336e79bda288cf3b000000000000000094872dbdbc74ad3b000000000000000046b7efbcf2bb4d3b000000000000000011588dbcc1a3663b0000000000000000a0ab4dbc8ece513b0000000000000000abda04bc0c260c3b00000000000000008ed8b8bbab2e9f3a0000000000000000380417bbac96a63900000000000000001631e13a8ded0c3bb00565ba75c91bba5b58df3ae7468d3b69321f3b60dcb53a4157a93a6c01963bf32f2c3b25182c3b2e4ea53a7508a03b7b69613b1f976d3ba163613a32987b3b536b663bbad4133aa0a13c3a35cd6e3bbee3603b469f773b81e1013abd252a3b550e653b8458463b31fab1b9f950173b7bfe423b783d3b3be40788395d13d7394e40873a18269d3a68b3d73a0c5a943907a5043bd2562ebcc20af43adb4a033a062f223baf8d4fbcfec69d3affde9db738170d3be8b230bc6da3cd3af2d4fcb94428f43ae39a16bc19d78f3ab1b9f139a9cef33adc7ea4bb8b78a63a6ccc52ba2a590c3bbe5f13bb4cb19c3aed5628baa3cb093b5137b83a2bb6553a9d7d89ba5a97a23a3808b63b56c64639a70c42ba903bda3adebbaf3b495b09bd807e2bbcd04a83bb543f4039008e59bd5b030dbdc3f569bbd955a73ad9b747bd555523bd852e8fba3af2093beea74cbdf9ae38bd2cb7eb389a871b3b65d514bd70fa11bd4bc7a739508b883ba67b0dbd57bb10bdffca28b716d03e3b1c30bebc848dd3bcf12dab391d16333b41025ebc48748bbc64ab283a87d2fd3a09d297bb2ba4b0bb6e36983a466a8a3a53b2a63b8226f7bca69d883ec0c9673f9cb2de3ba2d718bdbb0f7c3e94795d3f7c2a8f3beaa1f6bc95a8583e8866383f6a075a3bae35f7bcb0772f3e95a91c3fe814403b5af0c0bc3086013ed6afed3e1bc0233bd244dcbc3520a63db3f0b23efe222b3b9e30bfbcc92f233d35d5643e6c7a783be9c6acbc07db02bc547fd73d51f3293ba5b858bc663d00bdf96d1aba5c466ebda9775d3b0000000000000000ef1582bda9c0d23b000000000000000009ec16bd0a89983b00000000000000001a7cdcbca48a8c3b0000000000000000687a57bc80565f3b0000000000000000a0001bbcfdee2f3b0000000000000000e033b3bbbaeea73a000000000000000094cf65bb1847aab900000000000000004130f6ba8d1258ba0000000000000000c2b0883a7b08713b090cfc38c87a523ac425a83a80b3b33b30dbaa3ba7c82e3ba249923a1f5dbd3bfd8dcb3b26b7743baa5d893ae010a23bb2e0ac3b1afd8b3bcf5a1c3a03227f3b2ef58f3b3aed843b711c223a26286f3b6534923b38d2923baf588039687e1e3b13c9823b5459923b64f9feb827c1ae3975d87f3b804b723b88d8d3b9524fd1b992a5043bdbc1d43a5de8b538a16f863aa42ef93a896eacbb1d92023bf0d15e390256003b07d94cbb9057fc390bce69b80e87b43a36dbb6bb7276aa3a234767b994028a3ab5f869bb6bac8a3a5c8007ba0b29083aa80bd7ba37ec7a3ad1ab82ba88c49c3a1374bb3a22f2a13a179260ba63ea8a3aca3e8d3b0096b03999d8e0b96d0bc739c4aa043c8534d23811966dba3dc0e4394045073c75d922bd58ecd8bc91b598bbba7149ba2f6d5ebdd11b6fbd194bf8bb4fb5c93ae5285abd367582bdb43288bb4d2be7b898fb3ebd68c675bd536275bb6f0d1f3bbb4516bd28a54bbdffaa67bbff803a3bc183f2bca9d738bdb5878cbb1e9f583b61e0a2bc5bc60ebde6e690bb10052d3b96b10abcda5eb8bc007f8cbb73bb303bca4c4abada61febba2b6bfba97978b3afc228e3bfec29bbcb951ee3d0b91893fc8f4543b03c7b7bcca2dd83db6c6813feaad853b55c292bcdff5b93d47cd5b3f6ff1273b0e0095bcd5df933d4f39333f6f92cf3a989d86bccb184b3d3f9b093fb93ad43a514287bc076ab93c42e9c83e24abab3ae13a50bce5eba0bb58087b3ed3cfb73aa37a21bcf400f2bcc083d63d111ed33a15e6d4bbf9a020bd74a96abcd3a762bdca81193b00000000000000002f7e61bd4f5dc03b0000000000000000c833ffbca87a943b0000000000000000cfc276bcf01d793b00000000000000000aada5bb062c3f3b0000000000000000fd3456ba5686f33a00000000000000008b648a390b6177b90000000000000000b38849bb44e24bba00000000000000005c7058baa9a8b6ba000000000000000000000000000000000000000000000000c8388eb96d5cbf3be085823ba7dcf73a8d850c3a38886f3bef7c973b9e55243bf59e05ba4326463b4f894c3b8c665a3b2e48da392179493b57e8823bfd9d313b24fdb1baf545363bea77803bc5e5453b578694383ca7c03adeb5593beb4b693bdc6a93b9f662133adae51e3b58d6733b0000000000000000000000000000000000000000000000000000000000000000658b8eba69663a3acd16a139847af4b965faa9b94a99d739e24333395e2c1dbaa20287ba619c033a3da28f3af0cdc7ba44ba97399897edb8ad5fb939378fe3398755243abdc258b9e989363af1a93b3bbc90203a58b9a9b91c30613979d3933b8d256f3aa4d82bba76f1bbb7a74cdc3b0000000000000000000000000000000000000000000000000000000000000000ddce38bdcfea73bd82b9c8bbd5f626b925c01cbd9f036ebd33b0a3bb57f1d03ae7ba09bdf9c453bd6c5890bb8a8d263b3175d4bc51e338bd1e08a7bb8249253b7ecc9ebc85891fbd22a3bebb5fc8443ba8a945bcf52afdbc2165c9bbec32363b6ab2a3bbd2b1aebc9bddafbb3207fe3a000000000000000000000000000000000000000000000000000000000000803faa1f5a3b7b8cc8bb3fdf83bc415e8a3fee45f33ad2a7ccbb07b229bc7c03673f98d21e3bd2b5c1bb14343cbc9a773c3f5bd7893a1caee8bb25ee75bc864d123fb788333a074bdcbb97dbb1bca477d43ef963d939a118b0bbb48af3bcb489853e2d3a5a3935015cbba13c26bdef3de23d0000000000000000000000000000000000000000000000000000000000000000236db8bcbc45c73a0000000000000000b170eabbb566293b00000000000000005716f63a844a3e3b00000000000000009d72c93b2e34193b00000000000000005496013c0ebabf3a0000000000000000ea03e43b4b9c3139000000000000000075ce8d3b6ab3c5ba00000000000000000000000000000000000000000000000000000000000000000000000000000000218b6b3b3bec93b94b7296bbace14cbb8822563bda7af539db0b74bbad355fbb8cf20e3ba1f80c3a1a4750bb06ac36bb403cc03aee680a3ad12a2cbbf24527bba3da043b9ca2c93ada0f26ba380fcababcf3223bc167063bc5edc4394db1fbba456b283b40322e3b4775e03afbf6eaba0000000000000000000000000000000000000000000000000000000000000000e5d3fd3aec9d32ba85138abb8fd82abd1e39cd3a35ec73b9015693bbbf3313bd2408e33afebfbab7903c92bbda6cfdbc6b50ab3abcffe13851f16abbde4ac7bc9de2d23847d236b9173bd5babbc69abcfc18da3924b089392b80fb39380d60bce05ce8b89091d338c4ca5d3bc10bf9bb0000000000000000000000000000000000000000000000000000000000000000c006ffbcf0f6923cca3a0d3b0f57323a4d750abda99f5b3ceef1963be8e18d3adeb005bddc15223cca28e63b5267a33ada97f5bcfc0dce3b8b020c3ccaaaf53ac8c1e4bc64b3703b7a830a3cd7a0963a163fd1bc99cf61bace1a173c9f54863a0842b3bcc7b347bb29e3113c19694f3a0000000000000000000000000000000000000000000000000000803f00000000ef892dbb75005abc2c7b803fe5d5883b516383bb613b48bc8ea8593f3fa6613c9fdbbdbb35996dbc9f34333fcbd0aa3c32b6ccbb3f0298bc11ca0c3ffa9fce3c9d4ac7bbef93ddbc9e23d03ec800e83c59eac7bb2c260abd1411863ec000f83c0a4d9bbb25b032bdb1b5f63df616023d00000000000000000000000000000000000000000000000000000000000000008e38c4bb18ac51ba0000000000000000976b40bb52568dba000000000000000033bf23bacdbe67ba00000000000000008659b53a6c7e4bb900000000000000007cfda13abe1e7bb700000000000000006957be3aa18f5c3a00000000000000009af95a3acf78cb3a0000000000000000000000000000000000000000000000001d50773b92f2f1ba55dddfbb5cca16bb7d57d13bb888ce3a0fa4b6bb116c8abb0f329d3be23a4b3bfdbaacbb782750bb8b8a863bdce8aa3a793677bb90df71bb7aef673b6e3cc33adbda32bb4f805fbbbac7543bf4cb213b560e7ebadbf051bb395b5b3b70ba553b2f997a3a2bea1fbb1581423b39827c3b41673e3b84a503bb2bab0a3bbf8d1e3b89b5e33a73f506bbde2f923b09b4ed39460ab8bacf7924bd4285103bc8b4abba639675ba78c34fbdd9cb763ae0f284392f7047bb15ff3cbd79d0d23aae6591b9a32747bb134620bd05b38e3a58ba88b9c3e502bbfe34f6bc9ec70d3a4abfa2b6cfd883b91d25c9bc9154dcb71745ccb9e1633d3bf9a784bcd8f588bae47424baebe6bb3badf0f6bb85931bba91a8c2b88d12b43b720e36bbfba3a1bc2aa6a83cc894c6b7375d033b57c823bd01efa43cf64e233beb54b53a08f238bda799713cd156ac3b95f4493a1a8533bdde00343c756f193c8fd6183b50ac1fbd15eabe3bda332b3cbec90b3bfb9f1ebd5361c53a6f01453cbdc51c3b32960abd611c20bb8e5a3e3c557ca03a8fc1d8bca8cea9bbb7cf243c1df0da393f3b84bc157e85bbf6e8043c52473d3ad9bbe4b9c548d7bc722e803f0d6f023ed58f83ba9a3d07bdb98a6b3fcb51003ecc087fbb6ebef0bcdd7a483f7a05f93d2d2fa1bb81bff5bcc86f243fb5b7e53d65c0bfbb907504bdbac0ff3e5bfbca3d8cc3c6bbe3d929bdf4f9bb3ee1d7b53dd4e88ebb8b024abd007d6e3e2eff953d9b329aba975565bdc19ed13dcc11603dd9daa439643a3dbd695a60bca5d2f43ce11a6cbcfb78d43a0000000000000000567c4ebc0f86893a000000000000000018e8e4bb0f49a2390000000000000000969458bb13c39038000000000000000025b024bab334ba3a000000000000000017b3c93aba4a893a0000000000000000b435c53a73e1853a00000000000000003038263931f20b3b000000000000000035506e3a430a0e3b0000000000000000a829a63be63903bb1df8fabb08dcd5ba4915b63b65d08c38b42f00bcf6f27fbbeee9733a27ffaf3a543fa4bb50bd67bbe10b803b5d9fc73a8c9a9bbb439584bb34912f3b350c883a09585ebbf30960bb4643583b779d303b97dbaeba752672bb1dc0193bf570413b428dd6395d2235bb7a024d3b0924603b960da43ad3f34ebb79c4eb3a0619223bcfec903a7b580fbb9928623b87f8f1b9cdec0e36c2ac15bd5fcc3b3bff108bba486a13b905db3ebd12ced13ae706a23ad17864ba6d031bbd3c0de53acdd4abb9813ce1ba2bfb15bd528b923a93430bb9dff685baa967d6bc2c93e43922e279b913d6893ae1e5b7bc50d0f4b751e1f6379b87443bd36359bc54358cba6fbc5dba2f2ab83bd16eebbb15e8d0b94aeca7ba9b39a63bfa4af5ba25cd93bc6d249f3c2f32033beac9963a36e21abd7bb99f3c87b0a73b9c5af93a083a23bdbd213d3cafb1053c0f5c0e3b042236bdbcbe023c99d6353cbe00533b933c16bd0f24513bb8f43a3c5fc84c3b98e31fbd0722b8ba80f04f3cbeb2343ba5daf7bccb9d62bb3499333cbf22053b112ed9bcc00cccbbb107323c96ecc83aa51e73bc8d59b8bb6792d83bbc8a5139895f513a9e8e03bd34ca593f47a4893e337b41374daf24bd5ebf493f4e90823eddf1d8baf4bb09bdec63293fad6b6a3e8d4182bb51a41bbd74ca0d3f7cac503e741a87bb3a1b12bdaff5d93ee9042c3e34ed8abb71d13bbd2a81a03e0682113e44ae84bb48d23ebdb0b6493e3caad43dd9b9863968245ebd62adab3dfb35943dadd10f3b026f1fbdfa1f5fbc6fc0da3c708e98bc1895af3a0000000000000000ee02a1bc7e4bc83a0000000000000000bdae2ebc4e2d8d3a0000000000000000ef0abcbb7931b63a0000000000000000d39021ba9c1d9d3a0000000000000000c13e013b1d86e83a000000000000000057026c3b0829003b00000000000000001c2c723bfa752a3b000000000000000060e52e3b267fdf3a000000000000000036c8d93a361b33bb9033debb74c8fbbaf67e823b99ce843a73d2fdbba3d58ebb534c693b51b3b43abfaec6bbc9a38fbbde09583ba9e6fc3a918a87bbed086dbb1a51873b5ab0be3a3bf87ebbcf118bbba021b93a8dfd4f3b2f0cdbbafd246cbb2859213bf1e3503b6c5f35b8c2315fbb54d3243b12f85b3b33ce843ad5345dbbc3faa73ac6a2113bb376c436064533bb70f1643b28e2e43a6ae011ba9a77f6bce7df253bd3687c3a9b4f853ad4e826bdce2fe53a2850e4b92371b8bae76110bd7c92f13ae629a139e2e481ba9fb207bd0db1883a7ddbb5381cc760bad3bfcabcec2b4c396414c0b98dbbe83a6da297bcb058beb9271cdeb9ffa1523bf76d3bbcde6b9aba33764bba3478a63bcde8a0bb030869bae2f267b8793a8c3ba292a5babab1a3bc7470903ce3e1873be99e92b91ca121bd05eb7f3c2e65f63beae8f83a5ad937bd0ef8083cef542e3c250a303be6ed37bd4d0c653b46ac333cab39033b431428bdeccbc0ba3fb3533c2405783bfdb81dbd2b0babbbc6974f3c742b663be27206bd9016f1bbb59d3b3c4c4f393b94a9d2bc917b06bceef7233cd9010a3bd14b7abc3617a9bbb6f9e63bfe42d33acaff983a0d2de9bc6cb7333f58c1d23e31f628399c9d24bdca31263f7a46c63e98edcaba3b151dbd3b4f0e3f3425b03e439d30bb22bc1fbd9045ea3ee018973e5c4b74bb1b8922bd23fdb43ec3c9793e27e150bb9f9535bdb59b823e5911473ecf93f1ba9fe93fbd2ada1f3e8b11103e553c1b3a939643bd53b47b3df3a7b13d0b7da93afe4c0bbdc83d91bc2815d43cf6f5b8bc3643e83a00000000000000009116c8bcefecfb3a0000000000000000c4306dbcfb34e23a0000000000000000f7b0d0bbbd14403a000000000000000080652ab9c4f6033b000000000000000001557c3bb54f1b3b0000000000000000e400cd3bf4c4183b000000000000000031e9fa3b7cfc0e3b00000000000000007569d33bd6e3083b0000000000000000f699823b0b23beba51880fbcee3c8dba6f1dbb3b679a50bafd9c03bcf9a905bb2a17133bc357973a8f70b5bb92c78fbbc55d803b03be633b01eca0bb94b19abbd179503a62eba63a63bf38bba1235dbb0915433ba7dd783b4ab91eba4c2a33bbd584c13aab242d3bb8d8a7b912674cbb75ae603abcfb943bed7a073aaf729fbb79761d3b65925d3bbf1db4b98cd64abb6a06863bfb4147ba4b8597b975e0cebc2e25843b3d84f9b962260abb50ad02bd137e933a6e34f2b8078885ba2b81e2bc4293213addee21ba41bbe4ba930ed5bc5164063ac43b8eb7c99554ba037680bcfd7d793a2c5a82bae17188397d8577bc00c38cba0af5d5b9aa013f3b2cd2ecbb507a2dbbffdc06386180813b9e7ff8ba61f7afba829a86babe7e413b79fc8e39e6a0cbbc0c72793c7325a33bfef44139708f2fbd3d7a1c3c58fa1f3cd512ee3a8b9b2ebd260cd63a0071353cc2513c3bd0b33cbd594190bbf0006b3cd0a24b3bd4f600bd11a0a3bbd5a52c3c752b6b3b3f851bbd659a0fbcbd77363c7d65603bd436e9bc668422bc68d9203c051f683bf99dbcbc17c722bc8d37113c807d943acaf868bcfa5af3bbfdb3e83bf32d893a888baa396d8bdebc2e7a0e3f1c360e3f8fee363a332b12bde437023f11cb043f3c6ea2ba5ad504bdb032dd3e2a92e63e8298a4ba903517bd335ab63ea850c73e536f3dbb360ce6bcf7df893ef2d6993e39c767bb232324bd9700483edb0c793e9239d9ba12bb17bd4d0ceb3d43022b3ef58e5839793e1dbdf4fe1c3d8431c83d65a4203b511be4bc1200c3bcbbbbbc3c8b65dbbc1b690a3b0000000000000000058ed7bc4f77fc3a0000000000000000ecce5ebc5b9be43a00000000000000005c46dcbb12b8cf3a0000000000000000df05eb3a80fcf73a00000000000000001ef1c43b5f356c3b0000000000000000357b1e3c5ff8ee3a0000000000000000813c3f3c78f7123b0000000000000000d346123c6848823a00000000000000005dcadd3a546816ba9765dbbb41a01ebba38b7e3b65c7443b3ce5d6bb5e138cbbf908643bafa2773bce0d86bbf00388bbdc4ab73a58cb843b1b2724bb53ef67bb71ff033b147f5f3b56b901bb567371bb749d193bdb7b853b646a32381acd92bb9849fc3a3ca4693b66e0313ab3442bbb1f4af23aaa065e3b6db2863a65b627bb104419b8a851b83a919dce3933f206bbf26c0c3bdcf9e8399991a1baa5169cbc73b53a3aa187593a1834de3a026bd5bc3db18b39d2c700bad89618ba7ee3c1bc8b38ffb8468a01bac042e2396e2da1bc471d09bafb507b3abd5dbbb87db26fbc6b96e9b904dc9bb8017cda3a234616bcf91595ba9f282eba581f2a3bce6b60bbb6d9a9ba907a63ba91fa733beff8ee3a18e9b2ba1b57aab95c81133b40ac8a3b8eb6f3bc9c590b3cad4fee3b29193b3a7bd745bd8a15f1398dae2e3c7c34753af3fb4fbdbb5606bc5b714e3cc414233ba8e444bdd72c50bc5e784d3c6845553b444a28bd50856bbc72de3b3cddce813bb63e13bd474b83bc76962b3ca41f2f3bf1f2eebce90f85bc4b7dfd3b4da06b3b6f30afbc947266bcaea9c53b8f211f3b67b84fbc35ebfebb1d16803b024d083bfb44ad3a498dc2bcbd1ad23e0007343fede5123a80f808bdc7e7bf3e5544283fd00540ba360105bd9f5ba33e1593123f7d0815bb46e707bd7d9f843e6570f63ebdd33dbb2ba404bd74c2483ea9b5c43e59c285bb8b700abdaa46083ede6c963ec310e1bac7d30abdd2738f3df16e4c3eb138f1b70a1c03bd4355323c80dadd3d4afbb23afc1ba5bcfd2bf2bcd487873c63cde8bc20e5953a00000000000000005042f1bc058d1f3b0000000000000000092d7dbcdef01f3b00000000000000004cdfa1bb2c641c3b00000000000000009eec813b5c35283b0000000000000000aba62b3c563c443b0000000000000000501c653c1c1cf33a000000000000000087d77d3c225e8f3a0000000000000000a830473ca49414bb000000000000000077d9543b1e56303b21b9a8bbf56e60bb1a14783b1aae8e3bc5029ebbafa671bbf6ba263b07f4993be12cb2ba23634ebb69ab3b3bfadab03bbb0ba2b99c385cbba0d9d43a2099733bd94580b919c42dbb2feb043b516b8e3be9a4893afb2510bb83d5ee3a421a893b0a5f023b6bd9b6bac5cb3b3aed4e4e3bbf9e143be4c498bad839d83a71ce92397c77993a7b9b75ba1f98f739007816ba662a233a8dbd61bc61ff31b88f1d0bba38a670ba57868ebc805c22baa9e3f2b9d1ccb3b9c8da7bbc7476abbadf3427ba7966d3b98da265bc0670a2ba2742fdb9f74ca7b99a2811bcdaddc3baf1bd1bba195b4e3a26449ebb53fd7dbac90100ba67290d3bca849dbaa81ae7ba45f387ba3f3f3b3b51a5c63be7b8aeba02e80fbad41c263b2b90d63b26d413bdfc371b3a6f52103ca83da5ba05ec5bbdb0552fbc7d02393c8d17c039185d4bbdf1f287bc6455323c7725093bb36849bdfdaebabc2cea3c3c21f9543b27c516bd345aa6bcd02e113ce28e7d3b56880dbde2f1bebc772ef53b9943893b3d3dd5bcf77aadbc87989a3bc3324b3b65018fbcf3f192bcdbd33f3ba482183bb8b50fbc36c729bcf589e23aab4ca13a7c15a33ad7a6a2bcd677893eb66e593f90f1c33a25a4dabc71c5763eec054b3f16ba62ba541bc9bc6012503e3e812b3fcf9f0ebb34e8e0bc84c9253ec315123ff72135bbc6d5c5bc83e4f23dfb8de33e39403abb276be1bc9b0f943dc4b6ad3eccaf58bbbe65c9bc6662023d9788673ebe479fb96041bdbc1aa77fbcb7b1ed3d121c573a66bd69bccc5223bd1b3b1c3c7cf4ecbc58dfe23a0000000000000000ab4ee9bcc4ce163b00000000000000003c362dbc6f4e223b0000000000000000cf742aba49782f3b000000000000000024f3ff3b5a1a303b000000000000000036c06d3c9d78223b0000000000000000ab64833c1dc8d33a0000000000000000f241a03cdcd3e3b50000000000000000d837743c5ff833b80000000000000000a4e1163bdfa4913b20803ebb803888bb2d175e3b1b0ff13beb0f883a0dce5bbba19c233b3da1f63b84c8df3a938747bb8dc3053b8617c63ba0b12a3b534c11bb3ef7d43aa6e8a43b18d53e3b9b07b4ba39e4d13aaaaa993b3d8a683bf0302aba75fa953a994e033b4d98783bb9db193af509c839e8bc263b78605f3bad3e8e3a7694dcb98dbba43a6bf7ce3afa71d43a6d696cbac8684cb942ef03b979a00fbcae07f6bae7ac41bac18c82b8bda029bca4351ebb74dc97ba91c044b9f90e19bc653ee7ba43d9d1b9354964ba2b7b0abc8a1648ba6567c3ba983007b79ad390bb3c57a2ba9a114eba87b3013a8b8912ba1e6d70bafc0ffabaa0d2c73a15069a3b37e1c1ba94778aba925fe83a54051d3c10b6e0ba583c94baff04bd3aed15193cf77934bd597525bc9c3c0c3ce83b84ba0df36cbd1f29ddbc96811f3cd1d2b7b9e9625fbddbad08bd87d51f3c4728d63ab24141bd19ab0abdd848093c8328513bf77b13bda603f0bc25d2bb3b6c43663b665ef9bcda13fbbc97b5693b8ed0843b3e77aabcb644ddbc73bdac3ac88b913b4b2a42bc37e6b2bc36f68eba6461043b213f51bbbeed5fbcc634d4bace935e3ad6c9953a5abe6abcdec1013e712f803fc152a13a68ca99bcbe40e23dffbc6b3f2289c0b5a479a5bcdc08bc3de7aa493f7ef83cbbabd3a8bcd0d58d3d289a263f38029fbb97379cbcd82f333d494b023f06fa5bbbb5b3a7bc15b8803c2433c23e0e0938bbe93395bc095f46bc86c77d3ea868b3ba709069bc80f422bd715ef33d65546dba641a0ebc16e744bddb83daba6ab8d8bcdd3330390000000000000000823eaabcd61cea3a000000000000000002a674bbd2cb193b00000000000000004ff7fa3b12e6383b0000000000000000cc78703cd251333b00000000000000001c95a83c76db163b00000000000000005d39c53c54de063a0000000000000000674fba3cb4516aba0000000000000000a687923c6fdf9bba000000000000000000000000000000000000000000000000d430033b8ceaca3b8df0153b5c1661bb6eb6983a5d9db63b3a456b3bb50bf9ba82fe323b3821ca3b4c752c3b15690ebb442b563a9bb3723bcb7e353bc3358cba1949863ad76e6e3bcc255b3b62c600394ac43e3a996e403b925d713be88e8f3ac90d0fb71323f03a12226c3be7b8d53a00000000000000000000000000000000000000000000000000000000000000006b8242bb16a67bba968195bae9edbfbb06b224bbba3476baa7089cbae6b7b0bb2bb022bb6ca161ba2423c9ba45ce45bb7be9d5bac357e0b966d436baf6571cbbbcbacaba863c28ba753887384199883ae16d8eba329e15b901ca0b3a2f32a23b73cc9dba8e365aba3316673a79c01b3c0000000000000000000000000000000000000000000000000000000000000000d57f41bd61f9fcbc7875043c66352f39991024bdaae906bdedcecf3b833ae63a4de60bbd09f902bd4512883b09460f3b5f1ad8bca6a4e8bc97d9403b4221813b7756a7bce18ee0bcfd5c2d3a3c597b3bf59f53bc0549c7bc420ff1ba3e125f3b9acac6bbd33babbc4f1a60bbf7091d3b000000000000000000000000000000000000000000000000000000000000803f44838eb8e94a1fbcd306d7bb8e5d803fac3cb2ba982b31bc7843febb937b593f8c27a9ba5e3450bc2da540bc4d08333f4b865abbfd314cbc306f90bc791e0d3fec6b55bb0ea549bca9aadbbcd29bd03e13f654bbf4d02ebc9aa615bd32ce863ef40023bb479604bc3f2544bd45b2fa3d0000000000000000000000000000000000000000000000000000000000000000372798bb02da2db8000000000000000015d6ce3b7038de3a000000000000000024c5683cd5c4bc3a00000000000000000f7a8f3cdb163e3b00000000000000007fa0ac3c08bf233b00000000000000007a18b33c3ef7e23a0000000000000000c995b63ceaea1f3a00000000000000000000000000000000000000000000000000000000000000000000000000000000093a8fba23d422bb0b3e1ebb0fee87b97db81fbb94375fbb11c34dbba6f7b2ba6465b9baf8f61abbb0fa0ebbcee519baaed9a3baabde0bbb6ca813bb5e5081ba3d3b4ebaafc70cbba72d24bbbd17b8babad726ba3c74eabae6c916bb6d9cd7ba9a9a44ba2eb868bb0455f7baffa99fba0000000000000000000000000000000000000000000000000000000000000000c19d023b68d08f3afee93bbba6a0aabbd38c273bbd2b98b9247400bb178fc6bb4b07cc3a615fb43a29d13dbbb97696bb95e1a93a8a92c43afa4826bb370580bbdff9803ae785d73aaeb727bb5f2f8abbe0492f3acff6c63a533806bb192367bb4a12a03a83c4a5398395d2ba9ac337bb0000000000000000000000000000000000000000000000000000000000000000ead7ceba2c759f3bdb360b3b2a0fae38688e4abb8fe7a13bfaf1673b0045943adcf81fbb9ef65e3b25a4543b1d156c3a87222abbed752e3ba22e653b34f5af3a1f5f5abbb8b4083b0a8a813bf5dedb3af66e5abb4c7da53a3e82783b6718de3a1f7330bb75bccc3af2f4a33bbd24b73a0000000000000000000000000000000000000000000000000000803f000000002fcebdbadd2ef039afa6633fc8543a3b00062fbb05aa89bab338433f01ad9c3bb39af8ba1c7232ba0266223f405fa63b976605bb8193cbba5ab2013f30b0b53b07ef34bb2da740bb36aec23ea1ace23bcb7c40bb857386bbf96f813ece30de3b48bb20bb64f194bb3918023e1df5063c0000000000000000000000000000000000000000000000000000000000000000eaf9b7bad6a4efba00000000000000003fb162395ce296ba00000000000000007d41a939d96e9bba0000000000000000d70d523aa8b465ba00000000000000001cf6c73a48ba2cba0000000000000000058ffc3aecb143b900000000000000003d5df53a3b29593800000000000000000000000000000000000000000000000047d711bb891a17bbaaee12bb4908dcbaaa1355bbceb954bb282560bb803b09ba754be4ba73b153bb2eca55bbc9d26cbaeb9fe3ba33ad54bbb1b758bb8a86a1ba0cd8fcba7bc339bb73d45abbe505e4bae4ef82ba84932abb231050bb0540f0ba056232baee460ebb56a33bbb514f03bb9c3314ba41f6e9ba02912fbb8e3b08bbacfed9b98d9f10bbfce58aba716390ba57f8273ba688d23a08ec86bb20999ebbc0c12a3b3e13d63a379d69bb75aaf1bb9b5f0a3b8c15d83a9d3577bbe8e7dcbb1256e53a98a2e83acf9174bbb0a9d3bb321cb23a2997dd3aabe95ebb360aadbb5ea0983a789e003bb58241bbfc7caebbd5555a3aca62ec3aa0a415bb8eba90bb6fb2053ac6aecf3afcf2e3ba302a80bbe3d80d3aecd2b63aa1d5b7b80f6e72bb3952e1b9ad1cb13baa3d2b3b7f567d3a8e5c16bb2ce0c33b1aaf613b1d30203a745b4dbb6fe4a53b1aa3863b0e4f8e3a8ec879bb613a873b00a9973bdbafba3a317e83bb26d43f3bed94d73b283cdb3a846b91bb4b9c1b3bc2a1a93bee2b143b403c8dbbe054b43a18e29f3b478f1a3b6af48dbb2096343a54539a3b1b93213b4b928dbbc46d0f3ab67a643b385fff3a371c50ba695df5b7b494633f624b033e3569f5baba9620ba3a6c483feb41eb3d906a19bbf3f099ba20bc2b3f11f3cd3d837139bb5ced0cbb94090f3f6d54b03d056741bb98ef46bba4fde33e4800903d18cb5fbb199e94bb9534ab3e4afd663dfc5a5dbb4d0cb7bb497f633e087e253dc36c4fbbd48cdfbbaea7e23df0dbcb3cc858cfba7128dabb152f8b39a22ed73ba79f2bbb09c50ebb0000000000000000644c9fba9883e7ba0000000000000000b9749db9cc09deba000000000000000058461d3a6454ccba00000000000000001823b03ac79a533a000000000000000044001a3b86a32aba000000000000000055c43b3b62344bb90000000000000000b09c5c3be09d0a3900000000000000003d66283bb383b43900000000000000005a62bfbaa17a30bb96d024bbb06b25b91f3dceba372f8bbbde320dbbd6c9a6baa77ef0ba0b734cbbc6da53bb871691ba5eb01cbb6b736abb49ad69bb429ca8ba7620bb390a9c01bbfb7d46bbab7cd7ba4981dfba94dc35bbe89359bb11c9e8bad3800bba2418deba664b33bb5f59e6ba4b3e02baec86aeba44951fbbd90f17bb2db285b9c1a66aba8170d4ba59d3d5ba4a27f43aa9ba6b3a82de1fbb3bad94bbed15f23acd2d953a462d8ebbf2b0f4bba672e53ac8a8e23a35356ebbd7c3c3bb9963133bab9c323b35c883bbe806d6bbcdb0503ac510ac3a27bc29bb095199bbd03d3b3a3a00003b3cb548bb9b5ea6bb4d2e0e3a1696a33a9ee9f4ba089880bb9a6a0e39297dba3a5f349abab7866cbb9fded1b6ac4c7d3a0fe645ba62ed0dbb2d468aba5df1923ba391153b0da3c539223b57bb8198a63b33d3663b0edaea39047655bbd34d853b25ca883bf6e5b33ad7888abb068d123bcc7f823b34c4433ba41b74bbc5cb093b30b78b3b51fcea3a12e194bb2110113b6d6cb03bc73b353b705d78bbe52c473a58388b3bc92d1e3b8a2193bbad745c39c119933b0a7f263b46033dbbb882f9b8999f443b432ff73aa628a3bae87c8cba68dd423fe4f0813ee6a629bb4b449db9673e2c3f1cff683ec07319bb051505bba0ee123f8ec2473e846f44bb259148bb48e1f53eb2e92a3ef58735bb529f60bb5f1cc33e4af4073ec97c66bb5686a3bb70d7923eabf8d43d02a151bb42d0a1bb8730423ea8b5903d22a843bbab7be2bb23f7c03d559a253dbcc0ecba915ca0bb2e1e04badd56c63b9d29c1ba19ae9cba000000000000000061d9dfbaa52e05bb000000000000000078f81ab8e400a3ba0000000000000000fc00a039d6b8f3ba00000000000000001346cd3ae6e033ba000000000000000087f13b3b6321e9b90000000000000000f2e7443bd9670339000000000000000011cd6f3bdea7ba390000000000000000216a3f3bfad0d1390000000000000000d91aa4baa1dd1dbb03a322bbd5f7b4b90cc0faba53b262bb15c076bb505c91ba28f84fbbac0734bbc0b64abb456230bb9cf68dba03d762bb70f47abb783201bb220fc4bafd7221bbe4934abb80b7f7baed66b7ba722b23bbd4674fbb0e0917bb8cc03db9eb6b94ba7a3b80bb023254bb022007bb20dd40bb610011bbfd3c0abb35bfabb9510d30ba879ed1bae052d6ba646df43a5bfda13a56bf1abbf08490bb55800d3b3f92e03aba0372bb9455d9bb72bf923a322bbe3a2df049bba7ccbcbb724cb53a47ceff3ace4484bb505ed1bb0832843adcd5e93aad8e3dbbdf8c9fbbd37e473acca6fc3a403b3cbb0c0aa5bba175503b39811e3b201cb1ba7b38a4bb86c751389598c93a6d549cbac28c44bb17fd48b95a793b3a52f420ba13a0e6ba4488dcba3fea853b2ffb343bec610b3a77236cbb957a9e3bf1888e3b455ba13a9f5a65bb0bbb553ba8b4953b8bf2cb3a922eadbb47653c3b3494b13bc40c1b3b96b498bbd89ce23af8899f3bdc02173b7339b0bbf7b0953ad53db13bfbbe333b4fddc0bbb606a5b95c5b8d3be2b3783bbd6891bb014378b99a30903b6235453bf65b40bb6522f5b9c1ea2e3b8754f43acd559fbae2a8cbbaf869223f5ffec23e27ea0cbbd8992bbb82370f3fb9e2ac3e448907bb2ff680bbd44ef63ebf30953e8e6560bbaa1084bbc398cc3e5fc27b3eb46b3ebb2fd684bba9d4a23ea91e4a3e56e367bb3071b7bb77f2733e6e421b3e809588bbe0ace3bb662a223e48dfd53d3ce926bb3650cfbb0ffe9e3dd0a8643d342dd3ba954597bb29e4a7ba634ab63b479bc7baf12e9aba00000000000000006f2688bace27b8ba0000000000000000c336083b4a9eb8ba0000000000000000dabceb3a6f9340ba0000000000000000a457223be4bd06ba0000000000000000a7596f3bf6ff5bb90000000000000000bbc2673b4914f739000000000000000007459a3b269a203a00000000000000006b99613b3556f8390000000000000000fdf98dba68ad15bb000338bb34f159ba823e18bb27524cbbc6f965bb8f145fbabc3f3fbaf11f51bb7c5a51bb891900bb0c11f4ba5b212fbb79d45cbb3ddf04bbc0228cba3941f6ba343b22bba271ddbae3618fba77d10bbbae753dbbf81c19bba34c04ba44c4e6ba615526bb133e0ebb6339a6b94ec038bac21f09bb63441cbb2bbacab96d4108ba0bf5b5ba4101d7ba3bb2ca3a753ea03af0551cbb870e8dbbb92c173babcc1e3b03e165bb9d08c1bb88d35b3a8d5cae3a5e7874bbc773a4bb9b777c3a8e1df93a1b835cbbef94b1bbb309143a733ac53ad19d1dbb55c377bb3c1e9d39e69aca3ab5b726bb811288bb20a4df38f816b33aff80fcbad3ba50bb50e16aba2aa7153a7cbe83ba1d6936bbc0b7bdb9e5f3353a47f707ba045bb2bace1d2bbb092d663b2466513b08c84c3a9eb084bb6768953b94c1633b9597f2395b9087bbcb7d483b661c993b15b7cf3a249dadbb91aaf83a0bbfab3b261f1b3b773d84bba4eb5a3a9e0a843b55be093b4709a9bbdb89953922f1a03b255a433b04b085bb2fd470b9f519793bd2df2b3b2e6ba0bb2527d9ba38dd963bf43b693b4e653ebb9af762ba6da8133bc43b083bcbcfd5baaf67fcba6af0013fff05023f4db422bbd27227bbbb71e53ec88de53eed1f4bbbea1348bb2031c43e38edc53e0c7a46bbb2c47fbb3b52a33ec02fa63e083923bb443660bb5ca4813edf6d843e7df051bb8343a7bb8cfe413ee2a84a3e48c840bb229e99bb0959003e4f85083e66b93dbbf44ccdbb0797753dc965923ddd1fcaba1b5788bb237415bbf1789f3b654bb7ba577c6dba0000000000000000cc23b6ba715bc7ba000000000000000080044a3a3af488ba000000000000000083ac123beff2f4b900000000000000008423273ba3be51b900000000000000002d5a8a3bb8988b390000000000000000b152923b42d5133900000000000000002d21c53b734b9c3a0000000000000000c7e07a3b31412a3a0000000000000000a00e3aba99ab0ebb14703ebbd41f85ba331f36bba8f728bb35d469bb65b3ccbacd140db9d9a73abbe22482bb7b6622bbd12546bad11f15bbfeae60bb864d1abba5cf9bbabf6005bbd2c138bb0d7e09bb68ac83ba003be7ba232a2bbbf1f912bb2196dbb9e0c3b2baa99d19bbf0a322bb005a72b80a3e29ba5a61f2ba032b0abbd67279b92042d4b937c19bbade2dc9baab0e933a1ae5973a9fd019bb7cec7dbb529dc33ae16bdd3a1c4e53bbf4a1b2bb922f8439c1a6c13a859971bbd9e0c1bbd315163a0208ff3a334e42bb0182aebb4d5bbb3948b0e33a887027bb70bb7fbba5b170388b2fc93a3fad11bba7a973bb841e18bae0b2723ae9e4d2ba0a023fbb6eec11baa9f2763a05bd46babe45f3ba49b21bba25c6fc398cf001ba78248aba257b60bbf8083c3b94215b3b7df3743a319eb2bbcff3483beadfa43b3816eb3ae2f6d2bbd052aa3a6c00c93b7b774f3b8ce0cdbbffcf403a456cae3b1871333b45a1a6bb08a44939a359963b0e73303b00fab6bb9b9c2eba7824973b08b1513be882a7bb0070cbbab9be603b64462b3bb97191bb66b4c5bab057413b993c363b46b63bbb6f73b2ba30a2d43ae63cf93a7982debacee100bba6ddc23e158c223fe81b2bbb2bcc47bbf4e6ab3ef8be0f3f40dc61bb6ced86bb5672933e40b9f73e74e257bb70938fbb2db0743e3d1bcf3e8cf63cbb616b88bb1929423e9b85a53ee57e4dbbaa70a9bb5763103ec1107b3e7a5445bbd5a3b4bb00a4bb3da6552a3e529219bb7ac6b3bb2e63313d63e0ad3dffcecebae9c771bb37ab56bb97577e3b606185ba97065aba00000000000000003c06b6b7f8fc41ba00000000000000008a49093b191dceba0000000000000000161d483be9777cb9000000000000000056dc6b3bd0c598b80000000000000000bc29a73b4526e9390000000000000000dfe2e23b7f4d28370000000000000000e614b93bdc2c8c3a000000000000000057a6853bfd707d3a00000000000000006da0ccb9b188cdba5c902ebb13aeb0ba4d614fba65d902bbffc05bbbdf84f5bad15500babb1800bba38534bbff8bd2ba720cb3bad076edbaf6db41bb652913bb132098b97e6a9dba30e204bbca0befba0052d4b9d4b5c9ba1ca935bb8d373cbb3c23c0b9174542ba0bf3cdba115ff2ba10486a38d6b8fcb99f7acfbade0410bb90792939fda50fb9bafc61bae33cb4ba4db9323a35a0893ac5df0dbbd3465fbb6a7d343a4cbecc3ad5c438bbdddc9cbb3bfe1c3a8d36523a4a5733bb3caa82bba88b7a398aecd13abb2b3cbb87888fbb309dd5b8b3a39a3a38a6e0ba0d483abb94695a3af813133ba5d20abbe98164bba3c010ba3cf35a3a4b6177ba9a8cf0bae93495bae66f0e3bf86152ba80c0b1ba113831ba8c77aa396cb73db961b6bab9be9a8abbe038de3a996b603bc4f6853a7763d6bb30ebc43a99639e3bb1b4e93a6a4ea9bb7034093a5d97893b94a0f23adba2d3bb2f9238ba50f39e3be2e82c3bec6597bbf35e7aba7faa603b21c2133bf2b0ccbb3bb424bb8cbc9c3ba0177b3baf4c89bb2ff3efba8aea303b78d1323bc1a790bb380a31bbf370e63a79068a3baf2d1dbbdc5ed9ba64bd8a3ad103e23a138df1ba5d82fdba1ede813e0efc423f375732bbb4f144bbff04653ebf3c2c3f4c9f1ebb980234bb8a73433eae47133f152749bbf22f88bb8733223e4745f73e045322bbbc2165bb932c003e87c6c43ed46e67bb5e24b4bb6e53bb3d7c8e953efdab1ebb8e388bbb41e2733dd6b6463e66082abbee82aabb1bd9d13cd815ca3db25fb1bacece47bbf8248bbbdfe7273b0d2831bae54d26ba00000000000000004bc48e39168877ba0000000000000000ee22ef3a4c83a4b900000000000000005bdb6b3b33719239000000000000000015256e3b128c863800000000000000005a12d03b2990a63a0000000000000000b55baf3b4605843a00000000000000004fdffe3bd325483a00000000000000001a53903b0592873a00000000000000001a9712ba6597afba19e51fbb910bc8ba447043baae2fb3baa6433fbbf20910bbf3b2cbba689aabba728b20bbd49307bb77766fba476eb3baf4cd1fbb7dd30fbbc7fc98b9838bf7ba1c050cbbc1e011bbdbefedb99ddf2aba1ad3a3ba7a0e1dbbe465afb8787936ba71abbeba68a009bb5ef873b8ddcb1bb9c8e75bbad4ade0ba2445103ad982cf3aa7eb93baf29509bb3cccb439dc84923a5f5808bb73b54bbb7dc590392d8da73afc2c2cbb4a5d8dbb11a571382b2cae3a124225bbfca87ebbc06487b94001a83a48e11ebbaa1878bb14305aba6ec1423b5c9311bb7cdc5cbb99a257ba2c87633aafe29cba7851e7bac6d66eba09a0583a680f92ba23e4c3bae7bb87badc58c1395918bdb93d3efcb9e69dffba126d733afde306bad44309babf729bbb204b2d3a19756e3b9b34a83af5d0e8bb5ad952b9ce67983bd675e83a42a4d8bb58f493baa9b3913bc25b163b5874d6bb9938fcba0f9d863b7826383b9afeb2bb3ef419bbfbae483b25e4333b6e1ab2bbf5eb3cbbde91383b60d5493bfd6b92bb942b46bb2dbf133b164b483b2ba072bb51a85cbb07bac53a2e7a343bc71148bb525babba841cb23ab51d1c3b59e6efbad840e0ba2e6a023e296a633f861326bb60e335bb2966e63db989483f7d8032bbee114fbbc325c43d5cf82b3ff22649bbd48d7bbb3153a13d53850f3f787f46bb3fccfcba2e097b3df3efe43e220315bbd94695bb94b8333dfc43ac3ecf6135bb1df78fbbc467d93c8d0b663e32f616bb3cee89bb05c9113cd7b8e73d58a106bb46fe6dbb10c7d7bbab2f103b4d579f3928717bb90000000000000000828bcf3aea5915ba00000000000000008de5503b7f1377b900000000000000006d1a973b67efdd390000000000000000bdc59b3be4f7b339000000000000000039f4cc3bab87a43a00000000000000003047d83ba539c33a0000000000000000f85ee23b62aae33a0000000000000000b9c0ad3b5cc5d63a0000000000000000000000000000000000000000000000000e866eba9c75b7bad27749bbb6a9aeba369211bb3abad7b9203ea9ba84c6b7ba145b81ba7beb4bba12f5c6ba0327d0baaba04bbaedc14fba1c10a8ba62bebebae2b3e7b9e68631ba28269bbae348bdbadcd979b81f1900bb2bb7f1b935f166ba7aeda2b813eb46b9d01c6839d40f88ba0000000000000000000000000000000000000000000000000000000000000000f5a41eb999d2a839813f2cbbbf6188bbfefd10b885a8723a8635c3ba99c521bbc81eb2b9f7b7653aa17dd6ba97ab27bb19edfcb9f54f423ae7f0adbae3b703bbfc0016ba70af153a12709aba747fc1ba8458adb9bc32863acc8e12bbaadcf7b9b1793eba121446396ff6eab88d7784390000000000000000000000000000000000000000000000000000000000000000130eacbbe4139dbaed959e3b54b2dc395806a3bb44c9dfbab2a7513be1f0ff3a486fa2bb65b217bbd7ad383babd31b3b467980bb65ab12bbeac7073b353d123b93a269bb27962abb349bd63ad66d1c3b336230bb135313bb611de03aba83473bdbc627bb36743ebbc313e63923170a3b000000000000000000000000000000000000000000000000000000000000803f0b2557bbf481d9baccb8993a2be6633fcb7eedba756105bbf93e623a9d09433fbf0b19bb2da934bb821b8ab91d9c223f1c5a0ebbc06731bb685fb0ba03c9013f5b7510bbb33b41bbe78f3abb6aa9c23ee397ebba985128bb443d70bbcd06823ee6e102bb460e50bb9f2dc6bbf859013e0000000000000000000000000000000000000000000000000000000000000000cb3b2e3bfd1351390000000000000000c646503b9c5694b800000000000000002d818f3b7a42283a00000000000000004aea903b4cb76d3a0000000000000000edb6a63bfddca63a0000000000000000923dca3bf253a739000000000000000094cfb93bd00ac33a000000000000000000000000000000000000000000000000000000000000000000000000000000006369cabbfd1e553c527ea73c48e68c3b400770bb125b663c19ae9b3c05b5d23b671c65b9e0093d3cf051673cb0dbb63b7f604bb7d3d51d3cdc69393cef8fb23b14eb113af632c83b4958173cc0e4ad3b370ebdbaba91673b3acdf83be89dae3bcf8d33baac4b8f3966938f3b32867f3b0000000000000000000000000000000000000000000000000000000000000000c86a853b0f6f11bb7d4af93b5a28e0bc79372f3bf5f83d3a1a74cc3b60a2ffbcbbc84e3bb3f74dba5388523b0cf701bd6f78643bf7184f395a70253b2aa3ddbcf11a233b7e546c38cedae43a0df793bcf6b1ae3a2dad55b97df2923a179dd5bbf6311b3af9bf5cbad26aafba9cc5733b0000000000000000000000000000000000000000000000000000000000000000cc1f0dbef110ccbc52f2fcb9ed99c63a6b3107be1ff701bd494e2abbe2689ab78ad5e8bd9cdaffbc987becba939188b8a253c0bd0daef6bc8493b6ba0e1670ba07d694bd4824dfbc72adf4b7df3309ba0bf848bdc876acbc390f0f3b6ae585baff78bcbc500145bce60f5e3b6b2946ba0000000000000000000000000000000000000000000000000000803f000000001dab443cde8aa2bd91469f3fe6214abd2dace93bc4995cbdd390843f23d751bc044b043b783214bd0a76553f91bb173cc98df639ea4a00bd9f45223fd6579e3ccf035a3a579ff0bc636fe03e80c9a53cf3ba483bbeb4ddbcc8057e3ead2f433cd425b43b73acebbc5c9c883d0451b83a000000000000000000000000000000000000000000000000000000000000000062003d3b71614e390000000000000000d1cf703b958828ba00000000000000005c161739722a4c3a0000000000000000b34284bace901c3a00000000000000003a3b68bba5e7d939000000000000000078858fbbba239e3a0000000000000000ee83bfbb64c5323b0000000000000000000000000000000000000000000000002e10d4bb4a54e83b84d33f3c5546da3a87ba41bc4084693c0955ce3cc174133cbf40d2bb00f07d3cbe6fcf3cdf5f213c4b526bbb58026f3c0593a53c006c163c972ab9ba908d3f3c634f7c3ca4660d3c57661abb34680a3cb2735d3c7bdc093c8d8423bb0de79f3beea01f3ccffae43ba4ac05bb395c97ba29b4913b282a863b93308abac89342bb43a1893a546fbf39c3dca03afacc34babd1b453c263bb4bcb07f713b615b20bbac3c803c88738fbcfc4f623b5ce992ba2acb553c5c0febbc5d43a23b61ad6cb9ad10273c97e9f7bc69395d3b7f1f69b9a93fe43b29c5cebcae86233b36e2a037c917b33b2af777bca09f263b639f68baf78e0f3bd26e37bb8d158a39e2b426bacf5f8ebb40d9133c960373b907868eba9412cbba70fd3d3c7879a9bd875aa2bb69430cbcfc945f3ba7d918be1b8ae3bc664ec0bb5449743b7db51ebeeb001fbd94c6dcbbe736d93a3e450cbeee0d2abdca8efbbb2795b93a2365dbbd9c8a1fbd77b7bebb3d280639aa4daebd754b10bdc8ef5dbb68fe1a3a60da63bdf0fbe4bcfda7e5b92227133a06db9fbcf0c559bc18c76f3b6c0268b883f6883b3ae22abb7bac8b3be8d59539d3169d3c807e0cbe9dd69e3f79ec963d55b3c53c174a1abef0f2973fd02b9a3d2bc3573c6f42e3bd405b823f7299cb3d6019123ca9b2aebd78b7513f21ecd83d3ac0aa3bd94087bdd2c01b3f2dfac83d3d1c013c831071bd69acd43ed6eea43d406f153c340044bd6e62653eb416633d7636623c78eafdbcc2f64c3d675fba3c89ce433c7f7bfbbce2778cbded8ab9ba5dcfcabc2c1e773b00000000000000005f44a7bcd3852a3b0000000000000000110199bc3526403b00000000000000000e7892bc8276103b0000000000000000947a6ebc3840b73a000000000000000010798ebcd3b9103b000000000000000091dd96bca3d65c3b000000000000000012f172bcce039c3b00000000000000009f8e5bbc6001863b0000000000000000796e85bb9b8de83baee1d73be002e23a106cfcbb816d5b3cfa4e8b3c7999d33b370f7bbb859c653cc6d4773c0cd1003cc8d64dbb710d733c437d893c95d0233cb16cc8baa5f7183c6d55473c4e7f013c1c1d21bbac070c3cb9ca4e3c4d5bf83b4abe23bbdb4f353bdc450c3c0296a63bb8b122bbd7b9b7395ed1aa3bbd7d673b8d5f03bb3fa010bb233d5e3a565a773aa129e03aca8920ba964a533c3201c6bcb789673bf47864bad714813c4e68d7bc3ee3823be4a66d38ed3f363c4c01fbbcee35573b9fb490390e3f1f3c99d0e1bc3c70223b4c3d62b84042ec3ba6d8aabc13c63f3bc6ba843900e1c33b43fd3fbc2e3c0f3b2ac2c7b8aa88993b7e8e17bbbfd585397e3658ba6f73dcba483c0a3c8af1aa3851952fbaa90f3b39aa892c3c98f96dbd8d62ca3ab97378bcb95e903b3afcefbd3944e9bc7c488fbc0f78bd3b7c01ecbd48911dbddc6c65bcdfbd2d3b7d4cf4bd72493ebd674361bc08fd1b3b88a8b9bdc15424bdb3d025bcfeb41a3b22189dbd0a9e29bd247803bc22d1c83ab9f540bd54e1debc84d162bbafaa943aff52aebc06f98abce4574b381ea2a43a1b54d23a574e12bb6e2efa3affc2bb3af564883c89b70abe31cd843fd799843e4931bc3c9fd420bebf7c833f854b843e7b785c3c7dafdbbd6cdc583f0472813e0b9d3d3cd376ccbde535373f52cd693ef367063c5d7e9cbd2634063ff940433e41fb343c88bd93bdd2d7ba3eb9e61c3e833a1c3c58826bbdfda0513ecf5bd03d0370843c440934bdc416513d728e4c3dd222553c810902bdcc6644bdf428de3bea3e55bd1977b83b00000000000000009e4f5ebd007e083c0000000000000000c8a126bdbf3a913b00000000000000009e4113bd2e847a3b0000000000000000c677d9bcd1656d3b00000000000000002021f3bc7325843b0000000000000000405dcfbc9bb3583b0000000000000000d26eccbcfd21e83b0000000000000000b5f9a7bc44759f3b00000000000000002e6be3ba196baf3b5e49413b4f5e703b76b095bbf000443c3bf7413c0d63ea3b6d7a57bb221a503c99287c3cac68303cdc7932bb20d7463c3b93633cb2302b3c094e68baea711a3c5d5d413cb1511a3c17f115bb092ad93bb98b1a3c38c1063c221142bbc70e8a3b2ae0033c6722e93bd8335ebb7d466c3a90085f3b2ed8713b22c9f8ba2c1388bab938973a566cae3a4ee33d38c585863a4cc9283ca94bd8bc76881a3b00dfbb3adc3e613c8083dbbc524b5b3b2dd7ae39580b423c5db0dabc04f64a3b4edfe03a3bd2193cfe6cb8bcb3d1493bca0dd53a3aa8113cd0fb96bcb7e7503be7f81e3a71e3d03be73f0ebca879123b446e14ba99ed9b3b19d36cba70a992b987263f38e3943b3be001e93b196047b96e2226ba19cd113b5198073ce8dc36bd63214a3b9141a4bcf59b4c3bab9ec3bd27f003bd4e2fc7bce925aa3baa4ee1bd7a8051bdb8d7a9bc8457633b645ed0bd872f59bd34fe9cbc6833103bef14afbdb28351bde4c087bca38aba3a5a8486bd909432bd66a343bc7bdc083be9f539bd0e5e06bd15dd01bc235f4a3bc36298bc16d88fbc07b8c1badda5283bf90cc6ba05d936bbbea1ca3aa864d63ae544373c1ec0eabdaad5573fde70e73e20319d3c5b6e0ebe7dd8543f10ede73ea4d1773c9f0eefbd61c7383f306bd63e8dbc373cb51fc1bd765a143fd5cdb83e8490003c994ca5bde966e03e40b4983ebbb2253cb0498cbd6d16983e784e653e28cc433c51d66fbd3b06273e483e173ebd724c3c7bc13cbdd2b12d3d619c953d43a9333c9d7506bd128013bd9c83373cc5419abdc6f0ed3b0000000000000000f1bfaabd3879413c0000000000000000c5b587bda2181b3c0000000000000000ade252bde4a3b93b0000000000000000c75a28bdaf379c3b0000000000000000e2a317bdecdd883b00000000000000000e9c0bbd12d58b3b0000000000000000d7ca07bd1a3dbc3b0000000000000000d578c4bce18b873b0000000000000000d6944cb9eb3f723ba75c1f3bb573993b556c64bba7c3173c082a1b3c60fb143c402a09bb2c37213cdf99433c3ef1323c17e17cba21a1293c2d8e373c2a28543cc9e77a38c2c3d03b3c1ace3baf03ee3b3b7c5cbaf333fa3be2ab073c7f9b0d3c414719bb30b2513bc4e4b93ba1c0d43ba05311bb55cea03ab8c61a3bcef5793bc38e86ba4444b8ba72e72a3a73204d3a50a5a6b9c3c7163aaefc033c8987babc95ba373b761bd43a95b6343c5dc5b5bc7775653be117d53ad244ed3bfcd7a1bc9a317f3b708ece3a1ca4063c382b94bcc9fb0f3b54f2973972346f3bda025fbc7fcc1c3b6c90c83a2a68a63bab95e5bb5068253b89730f3a3e177c3b2529c9b7b4a18f3989394cba9f4e2b3b4b5ed63beca070b9928c2bbabfc1323b8c96eb3bd3821ebdf6d919bbde63bebc6129673b9ff49fbd6f0227bd52feecbc6313cc3bf40db2bdc08171bd7d68ccbc0e0d1f3bc11bb4bd6d8287bdf6d7c1bca769113b863975bd7e8033bd52a061bc9e3d833ace5d6fbd7fd34fbd093688bceb66f23aa77d0fbd2d9409bdf66c24bc7837123b3eee87bc2eba88bc75d794bbe305713bc597bfba00d5113885619aba0389273bd1691c3cb34ac5bd8cbb253f8849263f591f793c50e7e3bd141a203fc765253f0a58313c74c0b5bd4d3c093fc2df123f7f051c3cd34fa8bd0150e23e0128ff3e1b25993bc0d863bd45c4a23ee9aebc3efb73033c3d6f7bbda901683e836e973ed7530f3c48a945bddb9df93de3b13c3e2598103c5f581bbd1fe4f33cb8cdb13dc9810a3ce34de6bcab550abd075f203c95ecc6bdbcd6193c0000000000000000334fd5bd7f96633c000000000000000075ec9bbdabfc173c0000000000000000f28282bdf1cd053c000000000000000084550ebde8ed583b0000000000000000e96125bd561b803b000000000000000092500abd2b467b3b00000000000000007bb309bd68e3ae3b00000000000000006ef2d2bcb5246b3b0000000000000000964fbfba374b783bb3abbe3a997ec03b3f323cbbf9f2e03bda88133c16e7663c5a9c45bb39f80b3ca3eb563cb3967d3c789148bbac64023c37f25c3c09ac733cc85787bad548023cc214283cecf33e3c3f4b0ebba977a23b7b9aff3be8d22b3c7b4a24bb3177793b6355bf3b3321043c076910bb1f6f23b9f9684a3b18897a3b871658bae80e05ba7fe93239dd005b3a9a54d4b9a6b8283bf358c53b561b73bc1782763bc0bf953aa674f43b11d63dbc2f7e743b38b70c3b3644c73b42292abc7cfe8d3b0cb0023b2830b13ba0a10ebc984c7a3bc9c6123bdef49e3b4282e1bbff94893bf374c938187da43ba1bc29bb591b363b2c46003a2cbd483ba096053b0c6cc53abc610eba9d19163b08a7ad3b21084ab6b3e322ba17e4bc3a0785bb3b70640dbdad6348bc6eb7c4bc77de6d3bc8908cbdafdb81bd5e6706bd2c1ea33ba9aca5bd3b36abbd9979edbc41fd603b65f09abd73ffa6bdaf1fe2bc23c9033b3c4686bd7ee592bd613cc9bc703aa83aba514bbd77856bbda88f94bc55a8913b8a8703bdd6c028bde8b760bc2bec553b6b4754bc0b1299bcdafbd8bb79cd893b2d5bc2b830c12939f839b9b9faa9543b2818f13b983a96bdd254e63edf25583f1991413c7f9eb2bd907adc3ecd135a3f2858363c8ea998bded9abf3e8f3c413ff381fe3b875881bd22a69b3ea703203f3831bd3bb48d63bdc3756b3eda4dfb3e079fda3b4c813abdbe551c3e80e7b33e28c2e73b7de21ebd09a49f3d12a45e3e4ce8013c62b7dfbca9a33f3c44bfc03d1f0db63b053692bccce508bd31e098ba1a69edbdf70d293c0000000000000000192005be5ccdad3c0000000000000000421bc9bd1fc65f3c0000000000000000174a92bde6d1263c0000000000000000bc2150bd8c86e73b0000000000000000eded2cbda48b9f3b000000000000000091a815bd7c85a23b00000000000000008b7f0dbddf75bf3b000000000000000011c9d0bcef95373b000000000000000022e993ba6abcab3a963c3b3b2e2f1c3ccd9380bb44fb523b2616393cb67e903cda7827bbf5aab33b2ef8463c52c4893c3f924abbc67ec33bd603603c574e8e3c0e1dfaba2369a93bd65a223ccb8a513cb307ffba812b983bf064113cb4aa423c93ae00bb38f31e3b42acaa3b0b00013c55d498bad4f8e73942930f3bdbf97b3b7f2d44bac7d10cba93d1efba9725dd3a55bd8c3ac9718d3a51b8443bb781c9bb28b57b3b523caf3abc5b823bfd930d370a93b33ba913a33a8f802e3bdd9748bbe591cc3b2fdc243b74e8523b9b297dbad2238a3bb19cb43a736f373bf7c096ba6960a03bb602af3a0e60923a7b23673ab95f503bf47bc63949a82d3bb510473bb3cad23ad5d78fba51055139c4d3573bb6127cbaa428f8b97ac0b13a6bac6e3b159ee6bccdd607bdeffdc0bc69ffaa3b17ea63bd5f28bebd4fd706bdbfc7d63b70ea82bd2b49c6bdbedeefbcab100f3b9e3b85bdcbd1d6bd56df02bdad18fe3a8eba53bd100ea4bdf8ddd2bc2515b23aa8ba2bbd6c368ebd9e38b7bc8afb293b30b3d0bc0ae933bdeb1071bc6220353b4ef603bc77f7a3bca25ad4bb1987853b7a3a823b0fba2e3b6f78af3802b2523bb8dcd03bda9f52bd2cd4833edc1c853f43ba143ce8de69bd4472703eed67853fac1e013c725640bd4ec85b3e48915e3fee26cd3bcf7b31bd4c8a303e1e26403f949c673b8eb70dbdc773023e2c910f3f5229e43b6cc6ffbcdfe2a63de3b1cf3ee405823be698c4bcee6b1e3d9c09783eb1279a3b9adc5ebcb17474bbf424b73d4cfb303b2ce8dfbb2ddbffbc4c4facbcf2950abeaa9b843c0000000000000000c92815be6ea4bb3c0000000000000000f895b0bd94e14f3c0000000000000000145894bdf2a9343c000000000000000025d42dbd3ae5d03b0000000000000000b5b01cbdabfd873b00000000000000001cb1dfbcac14213b000000000000000008a3ffbc02b6c53b0000000000000000c1a9c8bc1664783b000000000000000026af71baf78395ba3c48833b24b1483c6da61bbbb55b89bb1ffc5e3c1bc1cf3cb08760bb7d83d039a2a28b3ce914c53c071c6dbbf9937a3bd1f07c3ca0c0ad3c68c40fbb4b28803b4908393c9b47823cc20e15bb8c9f303bba6c093c8ed3673c39b392ba0018663a60b6a33b5acc1e3cac3e3439ee11ee3743253d393066933b8d127939196419baa055f1ba540cf23915a0043b18911aba5868cd38f5679c3be7960b3c973d0eba82c475ba2d98223c36a90d3c8e70a53ab15289b8a1f5073ca03e0a3cc9011f3b3d51cf39c945be3b453af33b5f2dfb3aee556c3add9f5c3bd35dcd3b9d7e0d3b4ca28f39251d963baa79c33ba738b0b9e00f3db9d983313b0203073b03de9aba156d74bace92aa38405f13ba102aecba880c3ebaba1ec63a6ffce6bc249b8abd1f22a5bc314fad3b8bd410bd9c4f0abe3947f5bce2e4fa3bd0a653bd5b6913be761b0fbdb6cc223ba21e56bdfd2204be710913bd2ffd1d3ab3f02ebd4eb5d0bdf4c5febcfc4633b888a4f8bc6929a7bd2337edbcc752f03af69880bc53605abd854498bc31e4483b929542ba433f9abc67cde8bb2345863b6569013ccc8e763b086f013be1ac803baff9763b6077b7bc0dc1943d52e39e3f13cd7f3b0b5ba4bc7a70593d4cc3983f2505693bc8c19fbc45047a3d4f6c843fa3b68d3b1e389ebcaa7f573dbb3e563fc67c433b89cf8dbc2d621d3dfae4203f6a78233b6fef5bbcba0a913ce5d7df3eec551c3ba2edf1bba38e14bb3db57c3e452a383ac1b99b3ac5bc52bc02788f3db7c2753a00a9473bfeb704bd01c25bbdccd10bbe2b898d3c0000000000000000a5e50abeb793b93c00000000000000007c1facbd6a97633c00000000000000003d8d44bde6080f3c000000000000000023bdc5bcdee89f3b000000000000000072658dbcfea4393b0000000000000000374f84bcfee9113b0000000000000000c2d5aebcc44ba83b00000000000000006158aebc839be83a000000000000000000000000000000000000000000000000fe64abbae226bbba7bd64d3c8bfe9d3c7e8c1abb419ff63a2c6e643c9a27973c5fa916bb57715f3bda493d3cc7f16e3c353dc7ba615b8a3ba7e31b3cf1f1373c12fe92bacecb1f3ba583e03b9721183c5d98a4ba2ebb833ad495793bfd51003cfcf0eab8b7f592b9c064083afc8c8b3b0000000000000000000000000000000000000000000000000000000000000000f3e3e33b488415b8ab0e5abb2809413cb719f83b5af4d33af658cfba1167033c45febd3be679103b2b9f09ba64fec43beee1b23b732fef3a086be4b9fc9d8e3bbf5bb83bf74d663a1b69e9b8872a833b28e6733b71fd8b3a560af7b87287663b21286c3bd97a32bab43fd1b9b9d7e23a000000000000000000000000000000000000000000000000000000000000000011f60bbd7ebc0cbe1189d0bc4340b73afb4d19bdf11b07beb025fabcdd78a4b8de321cbde604e9bdda09f8bc8fea3bbb102b00bdd109c2bdf055ecbc22c4dbba2050a7bca8a197bda7c1c5bc9f56eeb9ade50dbc470c48bd97eb97bc9e3ec839a5f5203b6bebc4bcb4b80cbc00fe073b000000000000000000000000000000000000000000000000000000000000803f9b5e623a154e4b3b200f85bd10709f3f5ba4143b966e7738a5442cbd9064843ff57bbb3a6e2d57bb437feabcde0d563f776c7a3a1cf46ebb5630d9bc4cfb223f56d5aa39432718bbb05ae4bcda58e13e0fb54aba4218193b859ffabc225f803e296beeba3e75f53baa9302bd8d968a3d000000000000000000000000000000000000000000000000000000000000000081a483bd3b0a3d3c00000000000000001a62cfbc65080c3c0000000000000000f14ffbbaff80db3b00000000000000004bf90f3c2a4d943b00000000000000005c51373ccd45e83a00000000000000003815e33b9495f0390000000000000000dd7768bbbcb099ba000000000000000000000000000000000000000000000000000000000000000000000000000000006711d9bb6f845f3c0574993c446d61b8910d94bb0c9c783c66659a3cdbd7a23a409df3baf3a1663c5cde6e3cd1ee9d39449143bae9b7383c3f6c3e3c3351213b5340f6bab6eb013c2eb3403ce9ca3f3bcd93caba9ac37f3ba122103c4fccb13bd9bb0eba52f573bac09ac73bea61963b0000000000000000000000000000000000000000000000000000000000000000c1ef063946ee183add7d0e3c6afa0fbd0dad233acdbc19bab924053c711c10bd002cbd39eec5d5367853dd3b73050ebdcbada13866ab2639a380d03b337eebbc71cad4392b41203736f2c53ba16e8bbccc2e603a934618ba4710453b1812a9bbfd394e3ae40a8e39ced5e139646bb23b0000000000000000000000000000000000000000000000000000000000000000f5d5eebd76cd7ebcea3bfabb6b7a0a3b604beebd3e20bcbc20e66bbba587913a42edd6bdba68bcbcfc4221bb68ca313a688fb4bd28b3d3bcc3001d3abb2c0aba550b96bd9d22c6bc2ea6c8ba20e575ba6b9550bd21abbdbc85f6e63ad85a82ba7fb3cabc4df498bcdc921d3b930dcfba0000000000000000000000000000000000000000000000000000803f0000000002b82e3c776991bde8d1983fdc71c4bcb5679c3bba865bbded797e3fb635423c0ecdcdbaa4a240bdb12e4f3fc31a0c3df96639bb772740bdc84e1f3f540e3b3d246c2dbb209e43bdd089e13e3ac0393dec03dd3ad7a63abdf00e853ea0740a3d9a17843b79de39bdcdaeae3d3b48a33c0000000000000000000000000000000000000000000000000000000000000000c485893a2f14ac3a0000000000000000d9c5b038f7f3043b000000000000000083a188ba01958a3a0000000000000000a055b5bb576a92ba00000000000000009483cfbb1873323b00000000000000004ccd2fbc9edd313b0000000000000000e8175dbcaefb563b0000000000000000000000000000000000000000000000003a66cebb7c520c3cb2652b3cc51110bb6e6062bce3da803c1eded13c3e3c993bca9023bce1988c3cafb5d73c42ad923bb692f5bb8b4e8f3c13d6bc3c7cee923b0999a4bb6c76623c2472923c8ffea73bcbf2a3bb4806163c871c8b3c85c3f33b38878cbbc6f1473b113f4b3cbcb8f73b9d217dba8efe36bbe1aae13bea7bbe3b9d1f41b98b0ca1bb7129053b57c9fe3a6ff8073bd4a38a39b427473c3ee902bd95093f3bdb5d44ba8deb873cb476dbbc24f6de3a81af7eb91eef853cdb1108bdd590293ae267923ab40c5e3cc38e04bdcdf2dcb6bd0252381a7e383c0ed2cebccbf7433a8ed8b63913c7143c087e4bbc1b65d838da555b3a7f5a903b2908483aeff4883a0c4805bbf8568abbb5fb1d3c8048a139e67619b87e0d06bbd4d15e3c6baa95bd8496bb3b42807ebc93e9393b146e08be0b22adbc968b78bc3bed873b654012bebe68f3bc559e4dbc5568fb3a742804bee6d10abdc9dc03bc422303bbd703d7bd28690bbd15559bbbbc2fa9bac134afbda52b16bd3acc34bbb15519bb549c64bd4dab09bd20e649baba7ff1ba3d1a9cbcb717a6bca92da23aac68143a9decbc3a04be08bc0db7643bced90eba7557963c603fe6bd815d983f6051c63dc8f2d03c95d106beb191903f1386dc3dfa835e3c8e0cd6bd0519773f7633073ee422153c1906b8bd1062473fd3810d3ef588a93be03aa0bd3a7a153fdb76073e2b0fdc3b9c6799bd3b65cf3edb12ec3df529383c2da589bda90f683e9c47ad3de5077c3c4a6b45bd000e773dbbd62b3de94c5b3cf0b220bd1ca375bd225c643c3a65d7bcdff0b23b0000000000000000c460adbc64c4af3b000000000000000048fb94bc3e4b8a3b0000000000000000c32789bce10f7a3b000000000000000094a984bc77955a3b00000000000000006e3c9bbcba005a3b0000000000000000b53db7bc42f3743b000000000000000001c5c2bc3b74ee3b00000000000000008db6a4bc365e8d3b0000000000000000ff1ab4bbe551123ca80beb3b4a7705bbd36b32bc7e87803cb385983cdaf4b23a48a3ddbb35ec823c5bf0823c6387153bc573e9bbc80d783c1ff9a63ce0cea73bbf0399bbff87493c550c6e3c4791853bc204b2bbd826f23bb9617e3cabbff63bbb8677bbeb33773bbc45303cbfc9b03b53e14fbb56ed0cbbc8c6d53b6ac7a63bb259d6ba26bf72bb8b9d133b27e1233b634ab03aece1c2b91728623c6588ebbc063d973a1aeb2d3aa330923c4e9701bd76b9193a18840fb69fa85e3c907c04bdf646183a9fbd0b3a5b9a793c5edae1bcd1b094395f163cb9ee2b323cc755a1bc4210cd3a09a21aba7c51053cec04ccbb181e1c3a779f13ba7fc0c53b1fe5b1392b68a73af7eaccb8be40f2b950824a3c0265c939e9e011ba535ba2ba2036553c562f7abdfe515c3cdd8e8fbccaf94f3bd651e7bd73db4cbc0a5ea7bce0cd5a3bf128e1bd14fac1bc323439bcb70c5d3a1ac4f0bd46ff19bd9ad83abc5c37cbb9ffaabcbdec2a12bd1bddcfbb659c8ebabc819cbd3a6a2cbd9895dabb8881aa398f344fbdef56f3bc36e37eba2cc804bb2fddafbc00b1c2bc31d745bab9fa6eba5fa2c13943bcfdbbccfcc73aa40ca3bac823933ce727efbd393b803f40af8b3eda4fc73ce2d210be8e23793f6f19903ebcf94d3cd0a2d2bdccf24b3f3cb98d3e55634d3c93bad7bd6c3b2c3fe7cf853e8fa5fd3b823aafbdbd33fe3effea643ecbf34d3c6720b4bdb79faf3ed73c423ee019203c92658bbd5fa0473e5315083e8863903cbbef67bd5fd0463db605a13d0e26803c062c18bdad7850bd54dcc63cc0f651bdf114e33b0000000000000000680e5dbdffca253c0000000000000000059019bd4d4ba53b0000000000000000b2510fbdecbcc33b0000000000000000489ccbbca734473b0000000000000000a1a8fdbc448ca53b00000000000000001d60bcbc7875703b0000000000000000f787f2bcc1a8ba3b00000000000000006bc0b3bc9201893b00000000000000001cb034bbc3e40a3cf2d5033b7a9854baf35007bc4b316e3c3bf5643c93f6143b1b3df3bbfe877b3cc680953c2480b13b1c76e6bb318c663c8f03953c9723dc3b3d0da6bb592d3d3c24bd783c5b0dd83ba7d5bbbbdbbbfc3be7fe673cee14ee3b8398babb960c643b0924303c2ea8023cf41a76bb92ecf0ba446adb3b7908b33b210022bb1b38e8ba92df533be7c2b13aec36acb8b126993a25453e3cd8aef4bc99eb023a50462c38d38a833c15c1eebc847d043afaa593393f95693c0477d8bc688047b968f451b9634e483c7656a5bce995c0b9911a5c3af11a3a3cff8765bc919b653a1bfd80b7a6fb0d3cc04b77bb05bd073a64d930394b9cba3bf6adb93b0e00b93ab15faab97149bf3a2d183f3c66c0c339f8e28aba88a0323a03c5403c614d5cbd5ef7a33c4dab95bc7cb7ecb90819cdbdc19453bcfbddb5bc5290143b06b6e6bdfb9b15bd88958dbc60052139bac5d6bde6003bbdc30245bc187b1ab9dee4b7bd096d3cbd93ec1abc42f61bbb19a890bdea2238bd6cb3eebb77141cbbc3ff43bddf181abd2866bfbb5820ffbad6ffa7bcf22cc6bc398135bb15dc84ba07686dbbfb6705bc1ec8123a14d893b9bc515b3cab1bd4bdfb5d513f0232e93e78fbb43cfc5004beca874a3f566bec3e47498a3c2cbee8bddf8d2d3f61c0de3e25e2653c8c92cdbd2dcf0a3f9477c53e4963223cc84cb5bd210ccf3e1cb5a73e5650463c028da3bdb7118b3e828b843e2ec66c3c26e58fbdb862143e3a993b3ee66e8a3cd9895bbd4da8fc3c0d38d33d0539613c43ba12bd711944bd04e1f73cec9691bd809b0f3c0000000000000000abb09fbdb035633c00000000000000001c3f74bdab3e123c00000000000000004b853cbd5e5abf3b000000000000000053890dbd8abd673b00000000000000009d12fabc96d34b3b00000000000000008d8aecbc430f6b3b00000000000000002424f1bc4f355c3b0000000000000000df0096bce7625a3a0000000000000000f15bb7bafbf1f43b7ba3ad3939acff390c44cabb205b4f3c193a443cbc45823b0beaa3bb52823f3c7fb0613cb668d53bc80c9dbbde8f463c13c5843cb521083c210202bb67d10e3c27001d3c62516b3bf2a493bbacc3d73b2deb533c1775133c90335fbb4e5b303b8316093c2536c53b394c6abbcd0e3eba49f5b43b7b6aa53b5595f9babbdbc5badfc7983a1576143b8c95763a61e1c93932c3133c534cc3bc4ab424ba0140c83a25c1453cf2feb2bcd735703921aa143a222d283c1d1290bcf8e17639859e96394198283c0a896ebc1f6c88b9cac6f0b959e7da3b814e2bbcae68313aa524ca3724c6063c66c5a1ba35b38d3a3782e438d3c28f3babf9c33bffe2413afe1297b810b1c83a2116423c6b374d397bd863b9949fba3ab801383ca44c54bd5800713c6ee58ebc648ababac10ab6bd1e0ab4bc9d5eaebc69a389b91327c1bd4b3130bd6f0a7fbca1abdcba6fc7c2bdfb6e5fbd05d253bc097246bb6a0b8abd2e3b2bbd5191b9bbcf43dbba590b84bd553e50bd8dac34bca92b24bb67d51bbdab1e1bbdfe53e8bbe1fbabba748699bcb187c4bc255660bb45468abafe8048bb8577f3bb0bfd4a3a396724baca783e3c0872b4bd13a3223f988e233f556f8c3cc33bdcbd12251a3fecaa233feb94403cbaeeb7bd7974013ff236133f6e1c313c99f3b1bd32cbd13ec1bf023fb465853b043e83bd0743963ef593c73e27f9333cf9c191bd38ca4a3e77aaa53ef99f143c1de161bde722ca3dbafc5b3ee717553cba0532bd91a9263c2cfdf13d1987373c5e29e8bc8cab4abd98ebed3cacf5b6bdda76143c000000000000000099b6c0bdad7a6d3c0000000000000000b1c085bd41fb1b3c000000000000000038064dbdab10d43b0000000000000000f284bdbc6941833a0000000000000000ff40f3bccf890a3b00000000000000006d4db1bc1200143a00000000000000008729c3bcc86a62390000000000000000680b92bcae00e1ba0000000000000000514acaba9ee0cb3bf9b0b83abe2d0f3b4220cbbbd35d0e3c93dc4f3cb4730e3ccff0d9bb2a49283c3de5893c32533e3cf247c9bb1137153c52758b3cf2193a3c635493bb8e23033c9c5d763cd7bf253c9a84a5bb8658b33b1bc1483c2f59233cc28a82bb5e32d03a75a9053c9f65193c41c03abb240950ba48158a3bf436c33b69938aba6ebefebafde7473a5b37a63a4a7652399606113a2b74d63b19a87cbc1b6b1d3ae882be3ac6ca0f3ce37236bca8a6a03a126bb03a898efa3b30a306bcdd47923ac0cc883a1c9aeb3b1b9180bb035d953a9e48213aa0d9df3b0d1d02bba5f6d03a4e87003ab7699b3b991b883b482f1f3b17bbc339a91d5c3bf9c60d3ccf829e3a08476739076e393a1cb5233c57265b3a20149ab94f7b243af53c133c90b54dbd50ea993b2d098abce12c0abb0728a8bd6c5d26bd10b6cdbc708b2eba8798b9bda85b8abd1f0eb1bc88b9d3ba21dcabbd8d8a95bda15798bcb1766dbb3c3492bd02298bbdc7697fbc8fe020bbe48a5bbdea0676bd858450bcffc70abbbe0b06bd22db3ebdc46839bc1442d8ba98ef50bccedcccbcccead8bb224f8739e96c253a37afa6bb8517f8ba3b8d8f395341143c37028fbd16c1e63e4d79523f9cf9873c2d24b0bd22fed63e2243533f2f61663c91e69dbdcf3fb53ec89e3d3f6770363cb45a8cbd16708e3e9b9e203f95560d3cfe377ebd20fe4d3ec5be003fda40183cf43359bd441afc3d9ac1c03e871e1d3ce7c735bda0214d3da93c7e3e10fa253ce3bff9bc56d74bbcbbd7fd3db6b1ea3b632f8ebc459257bdbda5993ccb27d3bdac3b433c0000000000000000a4e3e7bd2cec9a3c00000000000000008b85a1bde6c9483c000000000000000029c658bdf892003c00000000000000007a9e02bd59ec2a3b0000000000000000af14c5bcbf8f583a0000000000000000038ba4bca5901cba00000000000000001a33babc2d05ceba0000000000000000608e64bc64ca4fbb00000000000000000b25edbae10c0e3b92ea643b5c43cf3b5d119abb095d833b93135d3c7f126b3c2a7c7fbb4effbb3b26b8743c08694a3cec0caabb6e28ad3b5dd2933c33f9893cda4479bb7cbeac3bda2e4f3c2f763c3c936690bb8659183b611f403c76dc5d3c27e631bb794a333a5783e93b4fc3f03b50d149bab04bb4ba6af2fe3a880bb53bd3f1d3b930a0a3baf959d8bad6f7a93ac2860c3a63b5d13a858a7d3bb6ad92bbdd82c63a1cd4f33a0e285b3bcd69ad3a11bf9b3a28fd253a0a27823b33e6d8ba6de4523b22937f39ca735a3bc7c3263bd90fd33a3746553a57fa5e3bbe305d3b9aa83f3b7197823a3630703b072afd3b247f3a3b3d0ae338f7c21e3bd70d163c62386f3bee1cf2b9263eddba7db0113c2659893aa4a303b9e3b442bae000c83b34043fbd912f68bc824095bcbcd11ebb2f9191bd03448fbdad41ddbc262401bab76194bdfe529fbdbc14a4bc7fdc3ebb5d7490bd1451c8bdf16aa0bc86d650bbb1cb66bdcc6f9bbdd9aaa0bcefb653bbd4fe32bd988191bde864a1bc5ec3f7ba8ab8d1bc956b3fbdeb3a55bcb0a6f0b9be5abebbedd3cdbce6691fbce870793ae702b23bb24c2cbbeaae08bb28cac13a0779113c4a0e48bdd3a6893efb6d803f8b2f4b3cf17e68bd4695733e0d25803f9a510d3ce3c647bd1e01523e9163563f1f1c053cb95939bd56161a3e0fca3c3ff7b4c33ba7ba22bd4c64d63da813103ff597d43b687a12bde79e563d3585d73e28969a3b216febbc0e1d613cc8ad863eb9c2bf3b960370bc89fffabcbdbff23da3b3893b6ac77bbb78b04fbdbdb35aba5428eebdede0803c0000000000000000ea80f5bd100db33c000000000000000087067dbd1865203c0000000000000000548646bde2b3233c0000000000000000c8ed96bcb442163b0000000000000000bb1d59bc529b32ba00000000000000002e94fcbb8f3d10bb0000000000000000c6fb8abc9a240abb00000000000000009e9776bc8e7a8fbb0000000000000000ebebddb97df7293920c3893bc665163c388702bbd5b598bb90a17b3c69f0b63c397190bb407218bae6eb993cee10cb3c69679ebb21e5a83a7c26973cb83fab3c6e5d80bb7f0d293b60fd763ccb97823c255612bbf78f69bab2d92a3c9b32813c1b9b85bacd01baba2d1fb33b3869443cd5ca6f3a8066d8ba71aaa1bad842ca3bfd5a8c3abf54edbaebe64cbb3322bc3a58ac1939d8bec33a4ae362ba6551c23b84b1bb3ba914f03a7f350dbbd7da403c6326943b1346183b4c0789ba173f353c85dc973b409dfd3a1553f93912821f3c4dcb653b10f1133b9a810c3ad4e3013c411fbf3bbe20df3a9f7ad5b96868343c866f9f3bd281963acbe04eba5f9e063c55ec5b3b05594639b002cbba7c605e3b27c5d23a84ab2e39b50ac0ba047b913b4ef135bdd2a542bd564b88bc644fc4bae9284ebd4d7fddbd2b5004bd68bb1eba18497dbd6f09febdffea01bd973a49bb7fd466bd2125f0bd57effdbcd5ef90bbd78638bd5b72c8bd900ed6bc53665fbb05f5f4bcdc5da8bd2917e5bcddf8b6ba7e8b5ebcd8d76cbd8513aabc71c236ba03b82f3ba7ebbbbcd68f3abc03214d3bdbbc273cb11ba7b94d6665bb89bad83a2ffba23b6a42b5bc9696c03df66e983f8565ca3b0c24afbcd294893de466923fa1e2f83bb356acbcc1da673d89e67d3fa512d83b2eefbabc68bd203dcb774f3f2f26953b0110aebc16e9973c36741e3f9ea31a3b1f4e7fbc9548e9bb67dfe33eb768423be3ce25bcb909e7bcf3f7883e1e73c7b9e4a4023b47be1bbd19acc43d90900bb96644b63bedc252bdf0f605bd2418e5bd60a97a3c00000000000000008dc0d2bdbd75b03c0000000000000000907f50bd7460403c0000000000000000346f93bce195b23b000000000000000075c8763b810b6c3a00000000000000005daf033cdaf858bb000000000000000057579d3b08898dbb0000000000000000625a26bcd09c93bb00000000000000001a3440bce291aabb000000000000000000000000000000000000000000000000bab04aba216e41bbf29c713c24b5923cca0937bb1b9006b9d6ab883c9942933cc046d0ba1d578539b7fd8d3cfc72663ca0a45fbbefe60d3be4525d3cea39533ce11fe1baaaf61b39d7c6113cebb4453c3f5b95ba8d4834ba5010963b539d153cc4068a3aa51c08bb1d1d81b96408cf3b0000000000000000000000000000000000000000000000000000000000000000e5d5da3acb1daf3a226067bbead52b3ce22e303b8f21f13a092535bb067b353ce3afaa3aa30b313a281deeba164a073cc1c3763943fc1e3a5d3833386da6063c7642143b25ad893a6adb86b9a487023c8a6d943bdd401f3a9fafd4b9f995f43b159f7a3becb46f3a1e7704bb183ca83b00000000000000000000000000000000000000000000000000000000000000009de430bdf2a6ecbddf0fbcbcaeebcbba54592ebda726eebd4016dfbce36139bb46a91fbd5ac2d9bd802ad8bc58c467badf9d05bd8caab9bdb7b8b9bc51504cbb178a9bbcf3db97bd8b88d1bcfdf3d2b9cda7d1bb066351bd1a6fb9bc8fecfc39d973e03b768de6bc3f8775bc7e335d3a000000000000000000000000000000000000000000000000000000000000803f428c753b95623f3b0ab860bd2fbf983f7067823b786543bb8bd12fbd054d7f3f93bb0d3bdc4df9bb53a326bda929503fbee68b3b3a7304bcd18637bdeb3b213f58da7b3a8dabdcbb4c4d43bdfa42e33ef85d02bb771a11baf22344bd0351873e011c00bbf239e63bfc3b54bd4dabb53d00000000000000000000000000000000000000000000000000000000000000007ca01fbd08a0333c0000000000000000eff59fba24aee73b0000000000000000f904ab3cfebd863b00000000000000009ff8fa3c06343b3b0000000000000000dc910a3d814b86b900000000000000007215c73c201470bb0000000000000000362e2b3c258a86bb000000000000000000000000000000000000000000000000000000000000000000000000000000007b75fa3a3c5c083ca18f13bbe1344abcccd9ea3a7510293cb660cbb9097057bc1bc0023bfdbd283c8460c9b915cf6cbc65652a3bc4690d3c6fa3d13854cb64bcc1013439579b1d3ccd1bce3aef8942bc63dc99ba72c3cc3bda36be3bb3c107bce161c3ba9e85813b19a3c03b45172dbb0000000000000000000000000000000000000000000000000000000000000000b586d53a94570e397e67603b70ee01bd273610bb89ebe93a1a22933ba943f2bcc50512bbbbcaf23a155e823b35d5dabc8e5264bb74f9343b2a1d6f3bd474b3bc1f2793bb2cfa803b008f903bc1a182bc0e8f80bbb9399d3acbb8a73bcbf914bc5c5e3ebb570c8d3a882bab3ba5436cbb0000000000000000000000000000000000000000000000000000000000000000212b44bd356e383cdb3e6e3b9de721bb07a14ebdaeb3a93bac56193c923118bb462158bd380e6d3b1f8f733cef6eb2bafc353fbd9584c939ef5b883c587f00bbb08732bd34c73dbb9c9f863c79b003bbcecb07bd90e8e4bb89b67b3c0cf14abb6192c2bc7c2041bc432b353c21ee0bba0000000000000000000000000000000000000000000000000000803f000000000438dfbbeb13d3bc5c50823fd195463caad320bcd2a5cdbc23735d3fd7fceb3c9be632bc9e57e4bcca57373fdc47273dfe223ebcae53eebc970f103f2fa4353dbe8515bc19680dbd1af6d43e215a3a3dee0cbabb9ad918bd94b7873ec3dd303d1e0c2abbc5311fbd8ecaf43df0c6103d0000000000000000000000000000000000000000000000000000000000000000fa3c30bc23c078390000000000000000bfa01bbcb39f5a3900000000000000004d8307bcaac2a3bb0000000000000000616c95bb8268ccbb00000000000000005021d0bbf27c98bb0000000000000000b698afbbd7141ebb0000000000000000e9e085bb230a3cbb000000000000000000000000000000000000000000000000a8d4053bea25aa3b590b9bba755a39bc039706bbeac5713cdb958c3bbc3e81bc465125baa5e5763cf68ba83b40be90bc65e498b8b873693cf0f8ad3b9c4395bca6db51b977084b3c38c2af3b6a826cbc2fa2d9baab27463c8d010a3c36513cbc2ac863bb76b90c3c04f4263cc7dde5bbd9ad91bbefd8fe3aa979213c300d0f3af45549bbbca0b83a1c43e03bd9ef513a6c5a983b3cc7b4b9d7156b3b3200f4bc798d3ab9d64da0b98a2e3b3c31b713bdc02d51bb0454403a0267123ceec706bd91d29bbbf793f13a804a213c9e98ebbc6f2fcdbb6719113b9f20fd3ba9dab1bc6705f7bb3d1dbe3aa51e013cc8827bbccb49fabbe2d80c3b7a3c103cc7f3eebb66c3c7bb52a62cba1d96e83b03cc4e3b840b3abb9167533a96f4ae3b6eaa543b470207bd17dfa73c7f14bfba0b48a4bbf1017bbde0603c3cf1d1743bdd2282bbd22890bd67ee8c3b544c5a3c3a7b56bbf8838cbde02e16bade539c3cf25c93bba4ae75bd0d82b2bbb65ea73c24ab17bb10375fbd71f34dbc4cd5af3c6e4e42bb9d6331bd407a86bc31f4973cb40fedba0827cbbca21192bcaa385a3c45840cbbe52d39bc030f49bc70b0083c4efd26ba032863bbebbc22bda699823f204d073eecc569bbf14c59bd37df703fc9430e3e5da7e5bbf11949bd3caf4d3ff66b143ed4eb20bc8bdb4bbdfcc5283f86fb0f3e195714bc4ac744bd3fbe023f9cf4043ed254e5bb529f54bd7f7abe3e124eed3d1ecb04bb9b3759bd09736d3e5e03bf3d396fa53b4f3e45bd43c2c03d598c813dd579a33bbde917bd7bfbbdbce36a053dc37fb0bc0409e03900000000000000001d24b6bc0f7a153b0000000000000000dee692bc4fa453bb0000000000000000cf5068bc8ec0c4bb0000000000000000049d20bcde0ae1bb00000000000000000f6310bc8050f0bb0000000000000000b7fee3bb7e0dd9bb00000000000000009509e2bb881769bb00000000000000000c88edba3beb42bb0000000000000000ab899c3ae3f2f23b1f150bbb5bb643bc73bd8bbac17e573c434b193b619b8cbc2f0ae73a0087313c6fd3b23a984983bcfa64b7ba8eca693c055ccc3bf1d988bcb66517ba03ae3f3c886e943b5ae86dbc490441bb7aa43a3c3b33243ce9f13bbc4960e7ba5db8e03b53cfd43b5614d3bb6f80a6bbd8275b3bb1a3233c8dcec8baf49c55bb76fd9a3ad347e43b5a07a83a5a34953b1791b0b915eae43bae32e3bcff36b6b98ad6553a7f65303c343905bda2a149bbbb4e043b43d1d63beec1e3bc7defd2bb1d56bd3a5804213ca4aec7bced7decbba84d423b0897083cabda96bc1c2c20bc5d61db3afc881a3c344e2fbc6566eebb6c97b93aa82cde3b16b6e0bb2e5cf5bb18b1bb3ad4b40b3cf5c2153b4fb08bbb3a3384baaa087a3bb4b8cb3b5ad102bda4b4b83c772f853b1c4ddabb71086bbd6fcb653ccd34143c9c64c8bb46b065bd9fee3b3b207d8b3c0d1a84bb083687bde3b79dbbfc0fb13c002f5dbb51e15cbdf69719bc11c8c13ccae8d2ba37f858bd4abb94bcc4c1c33c5e0e2abadc3612bd3fdd7fbc6b56933cb007903aba88cdbc8a8ea3bc2cdb743c16d81dba0ec411bcfe9e48bc72570d3c703cbaba044b89bbac773bbd55d65e3f11a28e3e0b8c44bbb6de7ebd41884e3f687b8d3efa3ae4bbd8594dbdadea2b3f3a10823e202bc6bb83cc6ebd3338103f686b763eedd9efbbfa6250bdb073dc3ea85c513e832784bb56ab6bbdd67aa03efdd7373e73e20abbfd453cbdba07473ee13bfe3dca77c63b40c648bd70ff963d2a6db43d5b1ce63b6c9706bd87f6d0bcdfda043d9d80febcb78de3390000000000000000920e04bdd63c0cbb000000000000000063bca6bc4762cdbb0000000000000000333085bc05ad08bc00000000000000004e4407bcbe49f5bb000000000000000043a7fabb47fc32bc000000000000000099df77bae7f90abc0000000000000000c1d899baa46620bc000000000000000000fda63bdddfbbbb00000000000000008614c53af605dc3b4f9684bb6c3d63bceaa1feb6db704c3c7754223a24ed8abca5fa71ba9c59663cd53d903bb6078ebcaed8dbba5120673c3e06e23b06f385bcb1094dba0a49333c47b3f73be42b76bcc4d266bbe181213c2e132b3c9c8a18bc6efb81bbff27013cf426263c6012b3bbda599abb74384b3b7c1a3a3c0f0b74baf87f2fbbad84ca39a65ac53beeec5f3a90a0753b9395013b31b8c13be5f5c5bc4aae5fba2e79d03aa367263c20f7e7bcf18ecbbb0c7afd3a2d7c253c70d2ccbcc1c802bce0eacf3a2a2e1c3c4975a2bcbebf24bc677ae33ab6881b3c13ef6fbc07c738bc4d831b3ba852133cd559f0bba7ac30bc17c1f539e4b70e3ce05909bbe28804bc50ad06baa7ffc63b8cd48e3beff1c5bb37ec6439afc7a53b6bfe923b159c08bd49a1ba3c95cbb43b1da327bc2d9563bd4bf94a3c9091533c951108bc909982bdd19a1abb033ea43cc854ccbbdadb82bd0e2c3abc2988bb3c7dfd70bb037664bd81898bbcf346e43cd0def3ba663549bd3bc8c1bc9383c33cf40889ba0e571ebd1f06ccbc1c18a53c905fe43a9276c0bc7b70b2bc3a9e693cf307fc3a45bd2abcbbf568bc50a4103c4e63443b02d15cbb08263bbd38c1383f8546db3eb3b83cbb7c007ebd630d2a3f30fed33e0b9b7ebbc08778bd976c113fdf9bc33e0a1e95bb9c5777bd5c8fed3efd95ad3e15c9a1bb10915dbd000bb53e6434923ec31380ba312264bd3135803ec8246f3ec752063b3dc555bd45ad183e1582313eb472dc3b295235bd0fab533dc4fbd73ddadcef3b01cef0bc8017e1bc62bb0e3db79918bd6f60cebb00000000000000003fcc1fbd11f68ebb00000000000000004f78d8bcc61507bc00000000000000003bec8dbc5b0f32bc0000000000000000225fe3bbc2954ebc0000000000000000f0b604bb8efb5ebc000000000000000097671e3b6a6557bc000000000000000045c6a83b58ad48bc000000000000000043c9fb3b9c5911bc0000000000000000ae70ba3a6397db3b1c6e73bbf32553bcad2d63b95d882c3cc11c0e3b7d7778bc48aef2ba7d845d3c8bf16c3b42276dbce90dcabacd954f3c3ff1f43bf26865bc7770c3b75671f23b46eb483b55ba31bc63fe19bb8a7e213c42c5183c04b507bcb6cc64bbf36fcd3b25772a3ca3bb8dbb65fe76bbf1592f3b7f14133ce40abeba75734dbb0428063bcbba9a3b773234b9dfa23c3bd813813a3372b73b8485a6bc463180bbb46fdb3ae65b173c80e3b3bc481106bc0a5e0d3bb11d013c9fc79abca4542fbc58fbf43a8a8a0c3c21dc6cbc2c8d29bc66430e3be022f23b64852cbc7f804dbc80b6a93a6d81f33b048095bba7d536bcfa0d0c3a8b04ba3b173daf394b570bbc9a0aaf39a34fa83b6399b83b774776bbe2cf22bb4cc6923b01aecd3b9ed409bdc287b13cf530163c369812bc9fc35abd6410c63b4b4d6e3c6433efbb234167bdb00c14bca409b63c988fb9bb33c472bda6e5a5bc1e98c23c34daedba807f31bd11d69dbc0bdcbb3cece6833b55a53bbd97b1e8bc1ceeaf3c6a56153bc61b05bd18dfd9bcb0d28a3cb110a13be4869dbc2cabc1bcc242313cfb331b3bb5411abc2cbb51bc38cbfc3b4b46753b2a8192bbd1a52fbd6408123fa6ba133f299ae0ba151e6dbd3c30053ff2660d3f4db081bb4abf55bdf33ce03e9db5fb3e3f1e51bb799160bd7110b73e0999dd3e6767b0bbfe302dbd51098a3e011fae3e9df2fab9ba064fbd1a91403e5087923e943be23a28422fbd0b6adb3d5bcc483e0ce7cb3b5c331bbd71acee3cc4ebf23decfed63bae10ccbc8cacfcbc1323053d371e32bd268ae7bb0000000000000000384628bd4cfae3bb0000000000000000e8e6c0bc8ea221bc000000000000000058c65dbc1efe52bc000000000000000057194abaa30d63bc0000000000000000fdd4843b588479bc000000000000000092e31e3ccde160bc0000000000000000fd75363c29a161bc0000000000000000dddb343cd7ba25bc0000000000000000b75d163a1069d33b51ce2abb7a5025bca0f00abb28dd383cf2b2873b2e3c56bc032826bbbe45463c5aa3063c63f542bc65a355bbad913f3cca92333c99521cbcdd710dbb64501e3cf0da1c3c80000ebc2c4586bb7fcbf23be5f04b3c9c3681bb14df7bbb5b02a33b440f303c2cbfacba64e953bb53d5633af147213c9f0bba3a618732bb308dedb91347ba3b29de123b41db37ba495e463bf01d9a3b38df7bbc8d0bafbbc4800c3b9454033c1d047fbc81492dbc2f72b93a57e3043c0ae94dbc406c50bc1e41e03aa811df3bd41a16bca1b06fbc3ddfb23ac04fe83bb7529cbb28a854bc7673aab84fcad33b4fa8bd39b56f27bc5d42aaba22f2b73b513e7a3bc465edbbd77e19bb7f5d383b0d75073cf4d638bb23da46ba3521473b501bdd3b8b7814bdd343593c44c01c3c9a4423bc5def5fbd794ba7bb711c7a3ca07912bcde6e74bd84cfbebcfe65a23c686988bb872269bdd448ffbcbd07af3c0143a7ba6dcc44bd0d430dbdf742b23c3011d83ac7c029bdc98216bda331853cb7d2b23b201efdbccad804bd475c423c0da5a63bcbf098bc22efcfbca5b5003c98beaa3b6138dfbbaff181bcd8268d3ba877aa3bcbbba0bac5971cbdfeedd73e907d393fce03523a01ce4fbd52f5c23ee59b303f1cac40b8e7ce4fbd7fc1a33e8ae31d3f992e15bac84a43bdf69b823e51b8063f9128d4ba825738bd82c3423ef55fda3ea04a0a3b7abc35bdbf58ff3de512aa3ea78d643b32171fbd8de0823d7d9f6b3e4716f03b7c0fffbc47becb3b030d023e0e8acd3b7e2092bc936d0ebd9829d43c41f72bbd3983e7bb0000000000000000539733bd23afe4bb0000000000000000393ec9bc024733bc0000000000000000681421bc142360bc00000000000000006b5b7b3b87967abc0000000000000000e327393c457b77bc000000000000000006907d3cfe7a81bc0000000000000000ca54823c8cd374bc000000000000000020c25b3ceaf42cbc00000000000000009cee92b925cdca3b751f193984b201bc23515fbbfdfe203c0510e93babe20dbc934fcabad6d6083c615cd53b6dcefebb093983bb4672323c2c233f3c494e9dbb802618bbfbbadc3b80c30f3c5b86b6bb826188bb003ad73b58ca443c8a8803bb3e732cbb6b10793b75e6123c3af34eb97beb66bbdbd42eba980a183c1e935c3ba0a799bafbeca4b907de5d3be0ab5a3bcab3bbba77e12c3b3b65563b6f5a30bc391f02bc12d5eb3a9fe5ea3bee111bbca3601dbca8c4b93ae251913be7fbfebb48c273bcd0ef94b9bac4c23b688846bb853b66bc282c813a6187a73ba910f4ba36b944bc8d25ebbaf6eaa73be0ee433bb13515bca2c994babd6d663b25b7883bb94ee8bbbca698bac3e2393b3002243ccca85dbb5e0387b9d4d969b99c27da3b606813bda777d43a8ae1f13bdc291abccd445ebd0507a9bc1d7f513cfebe02bc6be141bd7f8decbcfd7d5d3c47cf21ba760056bdabce37bd83446c3cd0daec3a4d7125bd3ca223bd6ccf543cae0ad53b639914bdb86b31bdb83f303cff91c43bd147c8bcc8fa01bd6291b43b222a013ce10e72bc3c22d4bc948dfc3a54be9b3bd5c281bbdb9c5ebcac1fa4b987a8033b2456e83a400eeebc89428b3ecb785f3fe9298d3bce132abd30ea763ebfe7533f12500f3966f90ebdf21a4d3edf47323fc2d6083bf50c25bdd5ee1c3e5e8b1d3f7ef31a3928a806bdd843e13d009ef63e97745a3b530c10bd6f0e863d479dbe3e77ed033b02a5e4bcdbacf73c4a797b3e8e96ab3b0850bbbcffd674bc8d73053e2b12c33b443d40bc9a491abdecde683ce67436bd96e3c4bb00000000000000000ac123bdfcd9dcbb00000000000000009bc23bbccf5116bc00000000000000003ef8eeb7cecc5ebc0000000000000000de36443cc2326ebc0000000000000000234eaa3c2a7782bc0000000000000000f9f09e3c773837bc0000000000000000371aa13c9b357ebc00000000000000004422683c93333ebc00000000000000006334b6baae92b43bf195553b8412c1bbd0eba4bb13110a3c12fb3e3ca919b8ba7a9799bbfe98083c9dc8543c14b081ba378a8dbb9142e53b2f29663cc88550b8354070bb0715c93bb9c9553c821200ba2f828cbbde118a3bdd4e623c3a29563b84167fbb2a1ab73a3ace2e3cb4f7813b2cd512bb6e6f13bbe9a3d73b13dbf53bdac989ba8cbb19bb67d6523b1b75a53b75d993bb164b443bd519063b924c9ebb7ff921bc8c893e3ab3df2f3bb7777abadc195bbc998fe7b9f5ff803bc0ce58ba88e76bbc0c29ddba74885d3baa2e1b3bdb1080bc24ee8dba423f573bf07b5a3b4d4c41bc16bebdbac1e1603bb9b6b53b6309e0bb8f5739bbc6681a3b376a0a3c71665abb4bd5ffba4a74e13813ad1a3c0045a9ba5aefbabace50d7b9c28d023ce87a19bd3b2277bca14d043cc0ac07bcef1549bd17ad2bbdb46fce3b64e09bbb461546bd445160bdb4dafd3bb4e2593a377631bd890a68bd8a35ec3b9778a83ba27014bd5d0454bd3b86c33b37c2f83b1bf9e6bc6ec249bd906852398e86163c7e4a96bcc61e2ebd6c0b27bb5c390e3c39e5efbbb070e0bca315c7bb5c2c9a3b985b70ba0a8e52bcbc7e96bb9732833bb7a75f3b00f1b5bc729b013e2791823f4a72d03b622ed8bc0ac6d33d5608733f3047893bc20dddbc1b3ca63d51f3523f39ec5f3b818ddfbc759a6b3dc0002f3f7a1c243bae4bd0bc4b210e3da7030a3f0110143b6873c6bcbdf0103c313dce3e5289763b982ca0bc47ab67bcbe43873e58a0913b7d0844bc62210dbdaa50003e64848c3b0a13d0bb62d725bd188af2ba468d10bd323ac8bb00000000000000007d7ddbbc8bdad2bb0000000000000000f3b369b9ca332abc0000000000000000d8a8853c30cb29bc00000000000000008ae7db3ca72751bc0000000000000000c278073da13b4bbc000000000000000059e8f93cb86163bc00000000000000008ca5bf3c9bcf62bc000000000000000069fd883c56201fbc0000000000000000000000000000000000000000000000000d153ebba3b8c83b36fe163cc0e3c6bab1544abbc005b93ba6353f3c7e3c063a09c423bb4cfeba3b2308333c07941c39da6714bb12dc603b3826253c26e805b9c0f237bbb6365d3b9445283c5c18403bd8c4d3ba081d94390506133ce16d973b9c83c3bab429b6b95850943bce4db03b000000000000000000000000000000000000000000000000000000000000000068ed3fbc0f8ca5395533e13ab8cbdc3917bf53bcfae18eba38a8c63af95ddf3a0dc262bc9b7320bb67b7023b0b7d0d3b1b6b59bc69f8ebba595b853b1fdc473b934b4fbc9fc334bb96e2123b6e46b23be186eabbbf7f72bb624e96ba5997ec3b929137bb47c420bbcfdc06bab64d083c000000000000000000000000000000000000000000000000000000000000000075381bbd13233bbd09abad3b805331ba77470abdda4b56bd8058093b61fab53b0fa2f8bc4ba74dbdc7d4163b85901e3c2d24cdbcbaf73dbd84219b3ac6d8283c514899bce20030bd26be37bb91fb343c081823bc6e130fbdc43b09bcaab72b3cfd1866bb2ec6c8bce3af1abc1230e23b000000000000000000000000000000000000000000000000000000000000803f2ef85c3b313c56bcd2f477bca3bc823f4e3c843b27ad6ebc6353a0bc1ba35e3fe950b53a8fd886bccc8bb6bca76e383f84c8a83ab2c48abc50e3cdbc1460113fd7f54d3a31fd74bc025406bd5a34d83e3d4d0e3b934043bc966b17bdc53a8b3e9dfa1f3ba8b80bbc054327bdef8bfe3d00000000000000000000000000000000000000000000000000000000000000005057a7b93ebfbfbb000000000000000019566f3cccc4aabb00000000000000003f3cec3c1feef9bb0000000000000000e2d0093d76a1d0bb0000000000000000af61103d1920e0bb000000000000000051ac033d6512d6bb00000000000000008fdedd3c57e8abbb00000000000000000000000000000000000000000000000000000000000000000000000000000000716dddbbc83abb3a8e972a3d389b143c852075bbea717e3a0c6b273d9d32263cfca59bba49aaba3b4f2a033de3e8693c20839739cb165c3bfd49c73cf0233d3c28ef9b3a00c1f13af42a8e3cf100243c9ba4c33a1441973ab04f0d3ca7cee13b9173693a7e5a683a8d5dbe3a63da043b0000000000000000000000000000000000000000000000000000000000000000bc319cbae8e515bbe63da1b9e0738e3c5f9b66ba2d7b08bba9a7abbaf3c9393c61c9903a58f973bb55c1f8ba773949bacac4233b952b27bbcfff84bb210009bb93409a3a2efdb9ba05ab4cbb31bd62bbb7110a3b70c003bb82e8bbbb7e0828bb3bcd053a26a96db9d866acbb76972dbb0000000000000000000000000000000000000000000000000000000000000000a0845bbe7a7458bc3e14eb3b205be138e5ef4ebecec2cbbc1e63a23b47ccd33aa3423abe4b860dbda81a643b99dbf03a261e14be61d305bd4f58c7b71749153bb181cabda6b9edbc1fb30d3b9ad0c9b9db8059bd243f90bccacd2aba1446d63a536afebb880dcfbb50343db91798aab90000000000000000000000000000000000000000000000000000803f00000000b5dbb73c9e5106be8356ad3f67f5d2bde0d6853c5844c1bdb2f58e3f314439bd57a4333c37e297bdd4c56a3f5c4071bca6e12e3c1d6469bd1de62e3f4ea5b23bc398de3b81ce12bd0c70e33eadb7453cf7f7b13b3bd444bc11615e3e8b5d833c69ae013b8ff0ed3b41a9ce3b0137f33b000000000000000000000000000000000000000000000000000000000000000011457a3ca9cb9bbb00000000000000008315cf3b6c3da2bb000000000000000045ec453b6c1451bb000000000000000099eae23aec4756bb000000000000000000c4133ba4747dbb0000000000000000f6204a3a7c540bbb0000000000000000072b783b73a414bb0000000000000000000000000000000000000000000000002741f6bb58a421b8e149b13c15c9243bce9105bcdda68dbbd9ff2b3d8b0f163c4feac3bbc5e2243b9d2d2b3d7b38803c85bf5ebbaac0873b390e133d1ef99c3ca0ddeeba7a51923b403dd53c84b4743c5837d4b8b735593b3874973c43b9283c67ec443a0fbb3e3b977a243c2314d13bc53d7a3a17b4473b6576583a18b5b93ab34b3f3ab4fa50bae71e28bb1dfb3fbbce2cb0baf396c6bab8dd133be4388f3c61047cbbbb533ebb9d0bbdbbf3e7243d4d6a08baa43e49bb57c941bb82c39e3cc5704fbadac681bba05195bbcff8513cf17f273b11198bbb859381bbde0cc03baa24273b6adc43bb410befbba4f5b73a4f8b4c3bc4ddfabaf6c5ebbb6a4d05bb1b6a3c3baac005bb47e6d5bb36dae6bbc1ccfe3a1b5b80ba7c16e1bb9a62903aaf5d07bec6a1f03b93a42abbb0c6133b35a34cbe074b8abb26c2933a5f164a3b303b5cbe09aa01bd3a34973a6746573b71bb45be24382cbd6243e2ba8084ab3b211517bedeb02dbdc0ef53bbfc84673b94becebdc65806bd26edbabb984ebd3b7ae556bdbc27bebc229c9dbb05d1dd3abae8dcbbdd8238bcc1d20abb15d3db3af22ba83cd12f7e3b2a1437baaf1f3d3a8d08323d12e25abec2d2ac3f231b583cc11e3c3d12de50befb599d3f58bb223db782113d27a82cbe26398c3f06868e3dad21ef3cd2e208bec97b623f2a82af3dce65b13c8996c4bd36ba243f2c33bd3d7de48c3c45db6fbdd110d03e6f65ab3dc3b7313c75cfa9bcbfee3c3e89d5873dfd98b239fbe09b3cad67d43b6af92f3d6ec03d3bcbac6b3c3f6cfbbd653baa3bbaa08bbc7bb6a43b00000000000000005ea9a6bcffc71d3b00000000000000006372c6bcd2840b3b0000000000000000e434bcbc3436f93a00000000000000002e6fa8bc776f163a00000000000000006bb995bc4bd4583a0000000000000000f2e762bcc49fc13a0000000000000000381e0fbc1d17e839000000000000000061d8b8bbc5c6773a0000000000000000b2c0e6bb397320b9f9426a3cb9ca953b09f0fabb8924073b099beb3cd7d9583c4becd3bb557a943b8d4cf83ca73b9b3c7e4ca0bbfdcbcf3b5c90e53ce5c9993cab385eba4c6b843be752a33c1fed703c4d810abbdd92963b35c15d3c7cbc4b3c09b7d6ba03e1973b46dbbd3b3c93bd3bb9b43cba6d75293b392c3a3aa175ec3a7ca99dbac9ee333be99e80bbf33d2bbb659426bb356d5eba978d1c3b62c4653c28213ab97a607abb3de547ba0e49b33ccafb253b8cf284bb4cb3a93985d75e3cb810783b6d6ba7bb213e17bb8483193c1c55bf3b057994bbd22584bb7c485f3bffa3ad3b17c356bbb2c9a1bb3445203b14f1b23be2f15ebb05c9d8bb73287e3ae8426c3b2948febaee03bbbbf1b6b6badb81f83a5e2899ba25b2b0bb5745253af724bdbd30cc033c40ce2dbcfbb8933bd85029be8d8ae6bcfb2edcbbe49ae73b5ce932be7bf260bd424500bcbde2d63bd63624be5a4c80bdaab0fcbb4eabf63be31df7bdc26c63bd6f8e3abc8cf5e13b30e7adbd8c3046bd683027bced079e3beee429bdc846f5bc19de00bc26d0a53be0c103bc59ee59bcba28a0bb1e51073ba16b503c9df7883b524560b9086be739b5513c3d9a3259be91188f3f48a46b3e625d513d1d3f67be4efc8c3f6957733e1840243d6e0e3cbe623f733f3266813e0c4e0a3d522517be741c433f0369753e605dc53cc3d6d0bdbcf50b3fbb57573eeffaad3cce008abd999aae3ee715323eb1b9753c1a6a0dbd03691e3ee8b8ef3d8e9dc53bcec115ba4b1b503b7ebb773d4a6c923b0b1f3e3cac99b1bdb371d73b047d88bd0d9a7a3c0000000000000000bd168fbd2d18753c00000000000000000a1587bdf5df323c000000000000000034616ebd3c4b043c00000000000000008df338bda456d63b0000000000000000deac26bde476de3b00000000000000007d24fabc59b3a93b0000000000000000d32fa4bc58d2763b00000000000000008bf86fbcbd38ac3b0000000000000000ac09a4bb76070b3b3cd80c3c98e5fa3b6727e7bbd920e93a69e6a83c5c27963c1332cfbbcd47983b55a5be3c1b51c03cc5de6cbb01fdbb3bbe8fa93c443ab63ccf182cbb7413aa3b827e7d3cc81b9c3c81a007bbbba3cd3b8b6a163ca2d1503c9028f6ba7a33913b7996ac3bcb5a083c0b6543bb732b783b895429b9f58ef33a0bcf26bbff580e3ba34f12bb929109bbabc129ba914c3cbb9084ba3b4fd41138ca2f1b3b078a87bb4e9fb83a4ac56b3c2b0d733b0f90aabb57cbf1b902f12d3cd69ed43b7f24b1bb7adc2bbbcabc933b14effc3bed3d6bbbfae90cbbf1217e3b9118fd3be7a060bb407dd1bb79fa133affa7a33b3ce856bbc74093bb2b095db9184f7f3bc2ac2ebb9d8783bb4f6dc5b981a8cd3adb9ab4baa7f369bbda12db3ae45e98bd8df025bb69e793bc5b222c3c1ad303beb0375fbdd95659bc5dbc193cc60c10bee7d3a1bd3e2c6cbc40d7403c7a84febd624fa9bdccd592bc1aab1e3c2606c9bd1bd7a3bd6ba897bc4cfe063ce09c85bdaa356dbd0ba585bc5bf0e43bc3150fbdb1bd1cbdef7826bcf52b8e3b6986e6bb5c0261bc3e299bbbd42f0a3b3e98293ccc48ae3b2fc766ba35208c3aea5d273d5eab46be285c6d3f10e1ea3e2dee413d278f53be3120643f09a9f23ea6371f3d60312fbe8b09443f0d6aea3e7c3f073dbb4906be6fc7193f44c2d13eafacc93c9d10cdbd9419dd3e8a98b23e2691b13c7c9b81bd80e5863ea784853edb616f3c315808bdcb8def3d690c283ec4a0083ce46401bc8800493b48d7923dc220ff3b99d11bbb95f58ebda68b19ba5a53f1bdaa64bd3c00000000000000001f6300be001fdd3c0000000000000000038fe2bd4b8ca03c0000000000000000000bb8bd57ed883c0000000000000000538d9abd29545a3c00000000000000003a1a6ebd91223d3c0000000000000000f8df28bd62b3153c0000000000000000d845efbc9c8b113c00000000000000005301b9bcf812ed3b00000000000000002efc8ebb11a00e3a82b4d83bd23a153ce57fa2bb0ef23b3b2db6643c791ab23c587786bb0036a33be65a883c426cc73c5a4e35bb2567963b4bcd843c8960c23c8914efba9314e43bbf12183ce7797c3c101ffeba002cb83b166bf33befcb6e3cd5679cba6fa29e3b7aef3c3b5241e83b0d25fdba8831633ba45f94b9dfd0da3a9d6111bbc2e9423bf95327bbf4a846bb676a6a39f1ce3abb28959f3b8962d9ba2f86a73b0fb8b6bb36c5963a3a57ec3b1e52e33bb08a90bb41509d371e03293bbae53c3c000bcdbbcd5fbfba8ce2503baa1a093c8d7e89bb597db4bac6a945bbf580103cd1e988bb14ac4bbbff40c4ba37f2db3ba8261fbbf0cc69bbbb93e7ba0086a33baca15cbb683222bbd1ae6dbad5d5163bc8160abb743805bb9ac972b9b7e566bde50e86bcf554b6bcc832363c6f6bbebd15aea1bd4f589fbc2ccd3f3c153fcbbd78f3d4bd1b50b3bcb173413c3cc0bebd8262e2bd1bf4cabcf080363cfa868abdd14ca2bd3f3cbcbcee14dd3b90a14ebd8a2d97bd602b94bca052003c5ed3d1bc4e1b29bdad5e2dbcda62383b0727d3bb21737dbc11e3a4bba2a2633a5d330c3c67dab93bd288093baef6883ad751093d8adf21be4e04323fb1eb323f96cc193d26b827be177b273fdc85363f2b81f53c9b0a08bed3fb0d3f3eba293f8caed73c32c7dabd59fadd3ee0c4153f022f923cd10394bdb7a79b3e9561e43e4386943c64fa5bbdf91d403e3991af3ec6484b3c892bfcbcdc3ead3d7d0d4b3e5ac3fa3b5a5e17bc24bb1c3bfe219b3d60669b3b57c32cbbfa8a54bd886e3cbc593828bec8a40b3d00000000000000003c252dbeb40a0e3d0000000000000000507f0ebee413d03c0000000000000000af15f5bd88a5b63c00000000000000007a7b9bbd40ad623c00000000000000004c1395bd1c4a713c00000000000000001b5a4ebd244f5b3c0000000000000000468b02bd756c423c0000000000000000c304e1bcb4f4253c0000000000000000493073bae0740fbac25b323b072a313c31c632bb2fcfa4b9bc731a3c7071d53c9c1943bbc8164f3baf02333c9ac9fb3c4cfff5bae3d98a3bdd9e293c5cdeea3c747893bad11fa33b03b7193ce54eb23c2b0532bb0e14b93b0061a83bf82b853c33c224bbbed2cc3b1822d53ace1c103c8b3c30bba021973b7c8c51baae6d273b4abef2baa0594c3bb66929bba4e82dbbac8ead3a0ce183bb3b0a303b33ba07bb7f11bd3b670ecfbb80d38a39c722623bbf55233c391badbbce2b96ba46420e3b3bfb383ca31ebbbbbb2143bb0cb8d7b9b44c503ca63396bbd384a3ba4f4d8eba3959163cb3bd84bb9a6faeba9d9561bb745ef23bae0d6abb54d0f4ba6d4061bbdd2e6b3bc01640bb8ad8d639d0983cbbbd49503bbe134fbb91be5039faa099b971d907bd01c916bdf26db2bc7b1b4d3c9ff25fbdac41e9bd210890bc4c6d5e3cb1a383bd5a1312bec9b3bdbcb38c4b3c006976bdd7c00bbefb08dbbc4cbb323cb7c74fbdedf6f0bde464dfbc674a163cd79c0fbd356bafbdb7f995bc6c6ac63b9094a6bc2eaf4cbd77b85bbce7dd873b64dafcbb643f77bcc5944ebb326aed39020f823bd3ac143ca32720b7bcd2c33a99bec63c061ee7bd7fdae93e56866e3fb7b6e63c6762ebbd1949d53edea7703fd3e4c83c4bf2c0bdacf6b13e45bd5d3f1c4eb03c067b93bde954883e70b03b3f42ea813cd9f363bdc9d8413e97f4143f5023773c684a1fbd726ff33d90c4cb3e2d74383c8ca9c0bc8b9e6e3d8bde653e76a9ab3b6ec22bbccb9a293cafcf8d3d9410773b884176bba79f0abd9b92ecbc686d4abe94261c3d0000000000000000793854be765a323d0000000000000000d1252fbe5f9a063d00000000000000004bff09be7f27dc3c00000000000000006853d6bddb6cb13c000000000000000006fe95bd0d90883c00000000000000001d024cbd90c9703c0000000000000000bbe804bd6b27643c0000000000000000dc27e0bc0dd12a3c0000000000000000244994ba6a1beebaa88720ba241f883cb3468fba243bb0390cbb0e3b337e023d51824ebb229ff53a9ec7fc3b9e2a113d671984ba9d81193ba7a9023ca33a093db015aeba63cf8f3b4093993b805fbd3ce9902fbbd621d13bc578883be8b79a3c14aaf1bab2fd903bcbde453afb373a3c2dd313bbbf5a913bca5aca39ce2b1b3b9b62e3ba8fae343b1fd8acba2d5503bb95a7b93a2608aebbc02a423b2d5387bb6b4de43bef52d2bbc79e5dbae44260bb710f3c3c1576cabbf70739baae3b10b9f5ab553c7299b7bb226a1cbbe61014bb8820343cd0585ebb80345fba256652bbf164163cc7e033bbca5addba7826cabb32dbe33b222a4ebb3ce94fb96e6890bb39f52f3bb9aaa5bad3feea39a32276bb02697b395ea8dfbab8e529b9470618bbde6c11bca34e81bd894b48bc47c2363cfbf88fbc8fb81abead1c5bbc183e423cee8404bd014831be7d52c3bc0fec443cb6e4f7bc1de82bbe5340debc05582e3c5829f1bc12c804bee0aad2bc1807c83bf6ceb5bc656ccdbd898c9cbc1926ba3b0da965bcef4063bd09d036bc8f08003beed4f5bb2fd784bc2d942ebb9a9bbaba9d9fdd3964c55d3c4209ba3a086c45b9eac8773cf39284bd468b6c3e80568f3f12c5963c6c2f75bdb14a423e9b9e913f8601763cea0047bd0204233ed269823f8890543cab2b1dbd70e3f03db3555c3f9e99333c79c0edbc4c37b23dcad7253fc98f1d3c537f9ebcdb8c693dd67be43ecf500b3c3fe151bc0b83eb3c007a713e3891903bf29631bc41ad8c3cf001623d00596d3b7bfcaebbc1a2d8bbce326abd74415cbe20c9353d00000000000000005c8f60be146b3e3d0000000000000000460b2ebe253e073d0000000000000000381609beab23d53c0000000000000000c0fababdb4c5a83c0000000000000000d0ea8abd90fe873c000000000000000014c22fbdcc016c3c0000000000000000622bb9bc7db53e3c0000000000000000a66c8bbc54ab123c0000000000000000b453f33acdb364bb6a1752bb44fcc73c9c112f3a894aa4ba53c7cdbbcbb9333ddfd87bba7e9403ba0c270c3bff72383d4634d7ba412ff13a2ee46c3b847a263d8efb02bb3db5953b18dc463b3acff53c957728bb1c27943b304d193b0d8bb73c7ea533bb947fb73b43064d3a0c43573c06bcfebadef2753bcb95b23a8fe3193b139dc6ba82ef4e3b9ff418bb11660ebb134d893ac1d5b9bbfb4dffb9f0f95cbb33dee33b569f13bc1d10bc3aadc20dbc98603e3c9ab7e7bb426957bafe4675bbfad8583cf4c1afbb743493ba8b0e8cbbad03563cb7714ebb960766ba6f86bdbbac862d3cfc039dbb9617003bfce9efbb0439c53b450e30bbf0c52a3a9608d1bbe7a1563b1af1e5bafaa7093b041f84bb337ec2ba6bd15eba208e463b6eed84bb0d72113c3364eebdaa581fbb509b0d3c84d0a23cc27745beaf48003b834d0a3c8a66e039a9e859beb0c390bc66502f3cc3e1f4bb2b164abede7fd2bcc8a9073c2e5139bc5fc01dbe663dd3bcd88b8d3bce5119bcd952e2bd852bb2bc286bbc3bd5a727bc2f9e76bda80a41bc68610839fee753bcfc6433bcfb28d6bbe2b21bbace0695b9819fa13c8cf6ab3b09ddf4ba424ea23b8dbf59bc7080713c65a6ac3fc47c543bfe7a11bcbdb6033cb5a89f3fccb1b43b294234bc4a91833b31b5903ff643c63bce03d8bbfcd9c139d9316f3ffff2b13bff65a3bb4b80093b2ec7323f745c803bd534a2bb7a13c93b6c89ea3e83bd943b430fa0bbf79e783cf30f693e0825703bd8421bbcbca9ff3cbde3073d671744ba87c862bbefe9033c1077dcbd7f265ebe05892f3d0000000000000000169642befb2a223d0000000000000000014a11beccd1c93c0000000000000000fb7fd0bd2810a23c0000000000000000749b7ebd85ed5f3c000000000000000055eb15bd1efc203c000000000000000030ba8ebce4aa073c000000000000000075654f3b2a12933b0000000000000000cb4827bc0a7e043c0000000000000000000000000000000000000000000000005923ac396eae77bbf000ee3904402b3d01e6df39bd31a2ba31b4263b53fc253d66e38cbaf5571f3ad2d5e83baa81f83c692edaba9ced113b4044953b6e3edb3cc17a8bba287f413b7284193b3800923cd266bdba03f1233bdea7073b18ac2a3c4207acba71ce503bb80d89ba890d5e3b00000000000000000000000000000000000000000000000000000000000000007fb2fa3babdba5bbe50bdfba978a5738d2fc4c3c9c8f73bbc14becbaf5fb20bb6728543c23a718bbd581e9b9d07e11ba61c4433cce053dbb412d89b9128b1cbb6028223cb75b75ba1aa054ba1a1684bbe9c0e23b0e8244baa54a133baf05d1bba1aa9c3a4433d6b674fa063b793ea4bb00000000000000000000000000000000000000000000000000000000000000007e51863c2c755cbe960bc4bbb1588f3bed4f1a3c1a1954beb852aebc6233993bed8cb6bb21d439be5ee6edbc442d053bef3a2abbcfb818bee9e9f6bcd1e4d23a5f9aa8bb21e2d1bd19f7bebc7e38cfba50f7b1bbc9bd67bdcb166cbc0b274bbad0e96cbbb0500ebc32c198bb8949feba000000000000000000000000000000000000000000000000000000000000803f5499b3ba35c79d3c97befdbdce29ad3f13bae3b9e3097f3c6fa9b6bd63228f3f7edbc53a2303153c007191bd5a026c3f9124d73af6a80d3cac796bbd6346303f292dfe3ae4ce003c673f15bd6e3fe53e1ef0a93a355ea53b02a12dbc2a34623ec81dc63938870a3bd880da3b7a0c993b0000000000000000000000000000000000000000000000000000000000000000e293e3bdad09903c0000000000000000c6174dbdbe83053c000000000000000088bab8bcac33b53b0000000000000000fd443dbb5e02963b0000000000000000e4a81a3ca2b9283b00000000000000005bbe613cc7dbc93a00000000000000006946173ce6e3f33a000000000000000000000000000000000000000000000000000000000000000000000000000000001bb60abb2c490abcf94b1b3d1c37813cfdc91cbb14ecefbbc9680f3d8f99ab3cc08dc1ba9ab873bb97b0f33c6591a93c5ed681ba9d0f23bb5285b43ccb01983c04bea13a723947bb6409613c6102813ce190803a83d791ba3a03bb3b8c672d3cf1befb3ad2af8dba752430ba346f2a3b00000000000000000000000000000000000000000000000000000000000000006cf7f138480f47bbab8624bcd911153d5729253bc18144bba4c1f5bb2d740d3d4790f73ad41e71bb136c95bba6f3b73c2d48873b3e1e99bb74beb4bb149da63c33118d3b0a103abb482bb1bb462b6a3c51cc273bf9d523bb84999cbb8a09f33b4f28763a9b5b35babf5759bb1820903a0000000000000000000000000000000000000000000000000000000000000000e9b24cbe49b915bdeb69f13bba43493a581842be871e6fbd4c56a73be4c4173b21e72abe5c6f80bd21600e3b234a683bc19106be311f80bdfdf846baeee9bc3b597db6bdae7d52bdfbd016bbc6c3863b737335bde6780cbdd4b826bb295e943b04b373bbfcc442bc74cfac3796345e3a0000000000000000000000000000000000000000000000000000803f00000000f460f03c7dd01bbedf59ac3f5c35a6bd06c5cd3cd42405be22468e3fea7792bb1631a03cee24f3bdc973673ff98d1f3d9b6b8c3c141ad4bd61cd2b3f895e813dc538413c92589abdea5cdf3e5c52853dbd9abb3b57ec1cbd06a95d3e5159433df29986ba207c94bb1e1d053cbd289a3c00000000000000000000000000000000000000000000000000000000000000002f90863c41b790bb00000000000000009514563b4d8b8fbb0000000000000000da4c73bbb57081bb00000000000000009b6404bcc49d81bb0000000000000000ea75f7bb683c25bb0000000000000000ce7728bbd849a2bb000000000000000001d1e53a254925bb000000000000000000000000000000000000000000000000bfa815bbb774f3bb0507c03cd20bc43ba1d34b376e478fbc4646143d3fbb9e3cfb90e2ba202945bc7750193dd743d73cadb9c3bac3cc01bceb48f13c45ffdf3c21963839363ddbbb7924b63cca1bbf3cd9da6a3a4e8c68bb04d73c3c329b8f3cfd3aa43a83a827ba3f78ad3b19f4273cac51543a2f767e3be7ab12bbe77b053b1acf7b3ad1a1b63abc0e83bb4a6097bba5a71abbcc50b1ba896e24bca05e0e3d5b41413aebbe79bb4b97a3bc0921923d46c31b3bbc32acbb518268bc4355633d4c07b23b7b04b4bb3c7d41bcbe8d303daf30bc3bf02592bbe28e23bc68d7f83c454ccb3b4cbc91bb35991cbc240cab3cace99b3bde5157bb299ec6bb2bc8933ba09ea43ae22f83bac6b5c7ba19152bbc0532c33ac543ecb919d838bb4f7002bcd8020fbe71b5ce3b86bcaabbf079883b55b149be73ba1bbda77b8f3bceff5b3b140650bef16586bdd9a1abb83786e73b036730be6189a2bd693af1bbb337133c899902be4a9b9bbded2910bca9ef073c04f8a1bdf58185bd955af6bb2fbcf63bda5b0cbde8b427bdf75fe7bb4d75b93b01803a3b4d4a47bc4e35cdba5842873add3ede3cdb6edc3b54a53fba06fb523955ff383d3e2958bede1eac3fa2aa9d3c03794d3d450a68be8a819e3fddd7873de8fc2c3d8d194bbefbe1883ff832043e707e0f3d1d4227be0784573f24f22a3e43bbdd3c45eafebd3713193f98a7333eca97973c4f60a1bd7ad6b83e89c5213e09d6c93b5dcbdcbc0fbe133e74f5f13d4a7546bc6aaffb3cf9a2b0bc6b1e663dfc7ae5bb8187033d459e0cbedf27f93bd77a76bcc8e4563b000000000000000043f4c5bcd06f123b0000000000000000b64b0abd2b64c83a00000000000000002e8911bd3b2c803a000000000000000058860fbd4e07a33a0000000000000000e86d00bd48ff6f3a000000000000000034afbdbc25f0993a00000000000000009a2efbbba5a88cb900000000000000005633f4bb1efa203b00000000000000002a913abb2f09d3bb47bd933c4e27483b9ee9baba2e2a2fbc26fbe63c98c98c3c8e3556bbd49bd8bba900e43cc6aebd3c00b9edbabadad9bb6e95ce3c8acec23ca37305b9d0a366bb8881763cb907a93c8fc52b39b10bc3babc0f053c25ab813cfed1113ac9140bba15dd703a74cb1c3cfd46e6b777aa313b9d75aaba4926fc3affee053ad2e0be3a558c6bbb701d91bb85afe43a56ec06bb32d911bc7398153d51b66e3b26999bbbb23081bcd350623d142bdb3b59f3a2bbeb092ebc0b422d3d52ac103c358aa5bb07a32abc4c54133d6dd3153cbd87c7bb40affabb34fbb93c5984363c94dea2bb783a0bbc08ba5c3cd116f13b625e6bbb0430c7bbcc15da3b5af4863b43c006bbcbc905bbd5fefebbb30c763a4b8e4cba6a7b2abb4f2ae5bb56aaebbd2cd8813cb4bca1bcad8a0b3cf04f2bbea3a51cbdade970bc15d2243c186227be75bd98bd0e3398bc5939373c2f8c0fbe25f3b4bd9e609dbc01b6393c36edc4bd0bb6aabd6d7c9fbc3f32363cd1db60bd2f5298bd3506a3bce4402d3c6bc9a1bcae8549bdcbad58bc710de03bd789f43bcc52acbcffa5d1bb64cf3f3bb71fb63c34d78c3be656323aea5e8f39d513443d99e65abec7498f3f4b1d753e5255553d005872be959a893fc6478f3e772f303d0a6a46beef7a643f4a06a73e385e113dc06820be995e303fdd25aa3ea5bfc33cb711e3bdb14bef3e50539e3ef7a2823c828585bd0f2e863e591a883e714bdf3b5189e0bcb8a8c03d9b22403eb251f6bb4294bd3c9a8d34bdc73ac93df86703bc3d870d3dbf81e9bd8550a33c7ae38bbd6ac7663c00000000000000003c4e9ebdde986c3c00000000000000007f8d97bd676f3b3c0000000000000000c87494bd7c62263c00000000000000003a187abd7411f53b0000000000000000976f70bd6769033c000000000000000005372fbdddadb73b0000000000000000ff47efbc123a133c0000000000000000c4dbbdbca747ef3b0000000000000000eded24bbedb979bb983a613ce35a763b8df129bbba010ebcd110c03ccf53843c484b10bbed8adbbb0acaac3c8878d53c439048b9485da0bb15036f3c0d8bd03cfd40c6b988a457bbc1c7293c02fdbe3c8a02573ace65fdba8004953b97f6813c5f7aa4b96f9a433980b1bb3a2f240b3ca2d1713955e7173b500826bbeda6fc39882c5c398f84b53a88894cbb10423fbbd6b66d3aa93df5ba63539abb2639c83c3248063cc8afbcbb40b547bcbdb53a3ded25403cadded4bb7c001fbca4f4173d1ceb533c8ca2e1bbf35215bcdf21eb3ca8d0583c437cb8bb48000ebc8ca29b3c938c593c01d1c4bb5748c3bb6283fd3b7b331e3c713c86bbd1306fbb50521e3a2e94cd3ba51756bb6c272cbb994dd4bb0969b23aeed2adbac82f17bbc0bab6bb8178d0bd7dd1983c50a2f2bcd47f2e3cedde0dbe641355bdd155e3bc0f34783c7b8405be7f28c0bd0ae4f4bced9b773c6112cfbde672d8bd46abfcbcd62f753c1cbd8abde200d6bdf16903bd1a5a5d3c21ca05bd416aadbd773bd8bc4a263b3c2b61fdbbd79668bd114b98bc05c0df3b067b393c98f8b6bc920104bc9fb3783b28d7a73c6f63783ae3407f39c37a2f3affcb253d074e46beb29e6b3f197cf03edf2b453d392e56becbd65b3f9517043f99a6213d358c30bea8e2323f9250093f4286e53cc73704bee2f2023f2214023fee4eba3c53c4b6bdebe6a53efd6aec3ed8193a3c52bd3abde287263edbbeb93e32748b3b52ff23bc9f1d023d31327d3ef9caa0bb1024a13c1d076abd504cfa3dad1470bb000fcb3c4a5ddcbdfcd8e33c6a7bf4bd8a41d33c0000000000000000871a06be1375d03c0000000000000000ad3ff6bd3951a93c00000000000000003714d8bdeedd873c00000000000000006a56bcbd91247b3c0000000000000000e9fa97bdec3d4b3c000000000000000037b867bd1f8e433c000000000000000071542ebd9bfb403c0000000000000000d6fc0cbdfc2a373c0000000000000000c4f209bb338675bb32432e3c548ca93b87b191ba5aced7bbf4157a3cc20a9c3cff9648bac370adbbf235653cf0a9c43c63b589b93d199dbb1640463cae5fda3ca6c5adba575c043aec56e93bdb37903cc580c4b9ab5878ba215da03ab3de8e3c2bc86cbae2e3e23a28946ab9d43bfb3b52d1c1ba2252523bc61de3ba21d8173a5f84d0babeee4c3be04250bbe4548cbb7e413a3bdc6325bb8a775dbb9cd9a43c494c213cf799bcbbe96f13bcbafb033d7af3783ce461d8bb2dbbf4bbdb09c93cb56f863c6a7fd2bbe2ff0bbcbea59b3c66ee4e3c8c9ea6bb35459bbbdcab2e3cdddb773cd29484bb061085bbfb0a893b5c1f343c9cb663bb2a1f35bbfcdad8bafc4ad63bb83144bb2e920dba35b7f8bb00e91f3bebc20cbb293989b9f9aedebba060afbd4698143c17590dbd13804b3c9fddcfbd13558ebdde8a1ebdf60a923c705fb7bd9de1dcbda41724bd56db833ccc0a88bd7a9801be56aa31bdb158833cacdb45bd1fe0c7bd437b06bd80d8ff3b73bb74bc4988c4bd56eb11bd64ab353c1fd7d3ba63fe69bdb6edb5bc4d79ad3be141483c58c1c6bc25781abca21d413b3f24913c5b7d553bd286793a26246a3a35170d3d00ea22be8a82313f1a5d343fbd4f183d658b26bee57e1e3fd7db403faacbe63c8a97fdbdac18f53e67b63a3fa6ebc63c99d5bcbdd79ea73eb7032f3facde6a3c995778bdc398563e8637093f769f183c715be1bcbd1c963df395e33e61297c3bf2fcafbb682882ba32758d3e1ad262bb0815933c70647abd16ce053e9d770abbbcc6b73cdb92bebd33aaaa3caf7d29be48040a3d0000000000000000a95432bed35d113d0000000000000000f8b512be8e9bd53c000000000000000039d702be7927c13c0000000000000000fe6fa3bdeb23673c0000000000000000dd7fa7bdca2a863c00000000000000005f925ebd08915d3c000000000000000021633dbdfd8e6a3c00000000000000001f9b26bd51904e3c000000000000000045edb7b9bcae59bbb907d53b3f88de3b97cc823928fac9bb33daf53b93eab93c453940baf6136abba72ead3be7c6f33c430556ba7a7cdcba75234b3becece63c56eed73913f65eba00db903a900bca3c9c11b4ba6cb84c3a4b2b3d3a0db97e3ce7b3b1baf324403b60822abb69411e3c0c2234bacef1313bbd8701bb5201443a3eab56baebb1fd3a2976fabac60390bbd7ef793b18df4abb52b667bbb93b833c143b623c2476eebb1594c1bbcab4a73c620d9e3c67dbe8bb2ddda7bb5b00683c8af3a33c2c64d1bb454988bb7b10083caa829d3c9883c2bbbcea99bbd21e893bf35e8a3c1979a6bb853e81baa9a726bbe14d373ccb2672bbe8239abaf852a7bb10a1cd3b93f43fbbe0d20d3a177a04bc3ff6993ac386b0ba7bd0893a9d13cbbbfd877fbdf1ac45bcdbc009bd346c583cc2af71bdfb96ccbd1bca2bbd04ae9b3c311345bd103e11becb2c45bd40bd923c41d402bdad7213bedee74dbd3ccd833c0a7e88bc0bce06be0f9741bdd6ca653c51e3a9bbf622c6bd3da91fbd9712223cc5bdc73bc8ab7abdecbec9bc829ad13bb885203c9bd0b8bcd075f7bb5b561c3b368e483cfb29d63b7e28eb3ac9f18439aa59c03c7de0e6bdd713eb3eed6c6e3f8a3ecd3c14deddbd0c1bc23efcda793f86afa13c93679ebd75028a3e70d46d3f1f1a513c059b42bd3320293ed81d503fd103293c29bee8bca889983d7ee92a3f5fd0a73bd0b3eebba278593cfc38f73ed7e0043b90cdc23ba2480abd05d8963e813037bbdfa18c3ceb945bbd6402f73db0c481bb62e2933c22948dbdff76e3bab1ff4abea207283d0000000000000000e1b055bee50b393d000000000000000035202ebe220a063d00000000000000005a3006be8bd4d43c0000000000000000b110cbbdfc969b3c0000000000000000a09891bd44ee883c00000000000000003d0159bde411593c0000000000000000a25135bd3757773c000000000000000069c118bd34e44f3c000000000000000090614f3aae2f53bbba9884393f883a3cb803493a3e032abb9600eeba95e3d53c35e4a339b0fc12bb16251e3972cc053d67ed74b98e25b2ba1df9bdbaa044ff3cfb778cba71514a3ac1aa5db9285bb93ca8ce96ba7a50e13a27860ebb1bb1913c15ef96babb26363bd18222bbf284fe3bcfa21dbb9c719f3b90b7daba6645863a50c486bacb17103bbdc65fbafdaf68bb7255de3bf0eea6bb782718bbc2dfde3b5811923ca86f07bc2dba4cbb1b11ca3bf5979e3c2c43eabbbf455abb64644d3bcb8ec43cb5aaf8bb772c1ebb332baf39dde69c3c4dae9dbb4657aebaf457eabaac97903cf5c081bb6ca004b9a135adbbd4ee3a3c12a638bb4a980c3aadc8dabbdf29c73b585148bbeb850d3b5c2106bc0f4a73ba60a1dfba49192a3b67b2e3bbbfa2d8bc481d2abd43b4ebbc0dfa6d3c6e3d63bc52140abe16b32fbdc516a23cc4877cbc46bc24be5db74abd9713833cc9c20dbb631c2cbe79df65bdb4b6833c286aa9ba852809be10cf48bd1adf273ce0ac013cc231d8bd134b28bd36ca183c478d233cf98672bdf530dbbc5b97713b4459c23bc47f9ebc3b790fbc50a9b43ae0f4b23ba1a8383ce665d53b1a6eea395bb95b3cacff7abd39ba6d3ee5cd8f3f1d7d283cca6a4cbd68cd1b3ecc52953fefa4283c3629f9bc5f9dc53d4306863fa0f0d53b3c2254bc44e1ec3ce15c6a3fdfde8e3b5d7b99bbd313c0bb83d3333f375d043bf8aa8c3bd37e14bd3799003fe965153aca7b143cb48342bdd0b2923edbbad9bacea72c3ccfdb12bd2679c63d79de4ebbdfb03e3c394e0abd139d0dbd58125dbe837a3e3d0000000000000000acdd5dbe477e3d3d000000000000000043f019bea7f4f83c00000000000000002511eebdd79dbc3c0000000000000000cc518cbd6bd3723c00000000000000002f844cbd21713a3c0000000000000000e90601bd84cc393c0000000000000000cdd306bdb5fb833c000000000000000031ab06bda017453c00000000000000009638f43aeb2e2bbbdf2ba2bb09b9953c2aefb13ac1f83eba765c6bbcd118123d67b48fb9e0c68ab9d49f23bca5b5213df697a3b816b8d0b94d9cd2bb137f143d0eb696ba4ee30d3b8e659fbb1d04dc3c656305bb1fea853ba2a5aabb1d2b983c6c0603bbc3aa7b3b2a750abb0ec5123cb5800fbb54d9593b33d7f03ad11e2039b8f477ba40243d3bbbd250b9eaf982bb8cc8103cedb2b1bb125c9bba76423e3aa1bfa83ca4b427bcec8f513b92a948bc5e25cf3c4c2addbb71222e39e522f0bbdab7cf3ceaaab1bbad4e55b9d562f8bb364dba3c56bf8dbbfa5c5fb9f72c04bc947a963cf2a66abbbaf4fd392dec18bc9420383c93cc14bbd773e13afd9b11bcadb7823bf31c22bb61185a3b5cacf0bb466dd1ba12e6a5ba722ae63a0582b3bb8461273a8de1c6bd604eb1bcd7793e3c02eb123d385d33be34711dbda6e7a23cb927df3c84924ebe7a6262bd9c92813c82b3b73c0ebe3ebecdf27bbd886d5c3cac229f3c413019be631666bdca06013ce049873cc01ed7bda5b43fbd534fe33b4647123cc83e67bd47e5e2bcf2ce433b5dd5a0bb94c53ebc32779fbb97781cba6b4063ba99709d3c63e60b3cad2441ba2cbc373bd9873abc9466863c0437ac3f2fd8ffb95fb22a3be94df2bcb760a33f0265a43a100d043c4a3f65bd84c3933fabcb33397cdc723c636a93bd0173743fea3fca39734a843cf2379cbdcc5d393f150a653af739823c61ed87bd3aa0f73ee391793a8a17313c9b402dbd2a63803e0adc043b217255ba80a5043b673b4f3d456c90badf0e5a3b762c80bbe6efbdbd54c759be82d32e3d0000000000000000833638beba3c193d0000000000000000f126e9bd2909a93c0000000000000000c1c17fbd22363c3c00000000000000009149c2bc4d46c23b0000000000000000de33b8bbd91a873b00000000000000004866233838dc9e3b0000000000000000a8db1fbc78ca423c00000000000000008292c7bc1e71123c00000000000000000000000000000000000000000000000076dd913ad6100ebb01711abcb5821e3d8b61553abbaabdba1d930fbc84a71b3d08763a397e3514bafb485dbbcef9f23c6df922baf030503a4fa59ebb968dcc3c3969fa39d6aa053ad6934cbbbb81783c4724a4bacdd4493b09f557bb0461073c2c6f93baa3de863b2a232ebb201ca43a00000000000000000000000000000000000000000000000000000000000000000c86883c459994bb2562363a420ce9bb296eb03c855180bb43ba1f3a020102bc040aa83c31b335bb76c3c0babf5fb4bbd90a9c3c88b741ba6acd953a7e98f1bb82c4833cfbd1a939ff016d3a3be2edbb529d2b3c1c6388b9db1d153b632f14bc5fa0443b7d1788b9955a063bbb2dc5bb00000000000000000000000000000000000000000000000000000000000000002b7e063d2f364ebe68cf0abd3921ef3b66f10d3dd85c47befcbb50bd2218fa3b59e5cf3c201832beb19f6bbdfbfd953ba2f6b33ca9fc0dbe0a0971bdf183dd3a897b963cda23c3bd317b45bd4ba65cb96f7e313c920650bdbcf906bd4da3a93a2d3f133b2d499dbb66c422bcf78747ba000000000000000000000000000000000000000000000000000000000000803fa73b98bb3c86f63c651317be5f81ac3f132e5fbbfcb8ee3cae7807bef8d28e3fc8ddd5ba1117c83c622af8bdc545693f58c403bb7646c73c1148dfbdf9742e3f52cbe2ba53c79b3c9bddacbdc2f0e33ee68890397326413c68b337bdbf88633e6e4439b9cafa0f3bd29a15bcce970b3c0000000000000000000000000000000000000000000000000000000000000000c8fdb1bd39a8813c000000000000000090b477bc6d21863b00000000000000002d64dc3ca36cf4ba00000000000000006e06543d3a3259bb0000000000000000d0e0653d15c4b8bb0000000000000000adf8343dc773b4bb000000000000000048959c3c3028deb90000000000000000000000000000000000000000000000000000000000000000000000000000000013716b3adc5decbbbf9e023db41c673b23f996b98b02d4bb5958f83c41743d3c857736bab1fa63bbb643c93c7cc05f3c02c5dab9377375bb3466a03c6d688c3cc9218a39a78124bbaa22323c89a3a23c773892393e4a89ba43e1bd3ae024a83cf9cdb039e1f5cf39726fa6bb04235c3c0000000000000000000000000000000000000000000000000000000000000000bfebafbb67d8dd3aa4b70abcd9fc0b3c38253fbcd915693b6006edbb55e8783c18a46ebc2b39513b8ab4adbb42ee533caf197abc2361693b247b57bb014c403c5b5757bcf9e70c3b362e83bbcc2d343c611e1cbca0cf0b3b558c17bbc5f9e63be43902bbd1d47037c27d9cbacbf9a73b0000000000000000000000000000000000000000000000000000000000000000608714becb0e5dbc6ac0a1bba3994b3bfa8911be3d1420bda4201e3c35a0edba136302be360f48bdfb979d3c6583a2bb4cd8d4bd36ff73bd92a2ce3c5a3ed0bb8fd78dbd4caf84bde838b23c6adc80bb64c009bdc3fc72bdfdcd9d3c4f899bbb0aed01ba4b7e31bd53bb293c63d2dbba0000000000000000000000000000000000000000000000000000803f00000000f9c5103d3fd8febd458e9c3f05f2e9bcf16f093d5336f0bda620823ff2751e3d45f2e23c4acfe1bda7de513fcc56ac3dfd8cc43cc409ccbd61521e3f319ae23d001b993c9fb1abbdec9ed53ea613fc3d89273f3c9bbf73bd6f00693eb58cc93df937153bdcff08bdb5b7333db7bb8c3d0000000000000000000000000000000000000000000000000000000000000000be114139f864e53a000000000000000067bd93bc3a7beb3b0000000000000000a2810abd68182c3c0000000000000000c0c434bd4e4d583c0000000000000000512b4abdcadf523c0000000000000000f5da35bd6e6e763c0000000000000000c6cb14bd0ccf383c000000000000000000000000000000000000000000000000f87a813aed48f9bbf9b9c53c7272afbb97c24f3b21cb63bc99fb033d5d319f3c6c26f93928131abce6f2e83ca3c8e83c2aa5933a130101bca080b03c9da50d3d79c141b953088cbba915633c5d960f3d5b4da1386d3cefba3534033b8e13133d6819103ae8be8a3a17ffd6bb9544e53ccf4e293960b7783b982a2fbcb4de3e3cb7c38e3aae60d53a311624bc8de8983b390b6439f5e8973a34e200bc20c1273c253d13bc10e2913b8fff92bc54ad073dc3376abc814e503bf60f4fbced04df3cc9328ebce16d993b6c0c3fbc0459d23c90248bbcf952323bb57a08bc6aa6973c9e9742bc81e5eb3a824bc9bb75e96b3ca8a4abbb84dd363a0e7b9ebb3af30f3ccb442f3b6bf1ddb97e5335bacbbbd5bac344873b6590c8bae96ba6ba323739bbcd7ee7bdefc1d33c4e939abc7361203bb2aa21be8f2c0abd1fef78bbfdd372baa85021be47f685bd4450573c943d93bb37e309be7e7cacbd3c21af3cd6ae02bcee67c9bdf63dbcbdc812d63c2c9e12bc72c26fbda44cc8bd99d2cf3cbcbd04bc30d18bbc58f1a9bd579e8a3cb77d97bbe0a3953c1be63cbdea4f613be079e539370d093ded2fb3bc3d9a9eb99410f13a54a5273d00ad1bbe219a9c3f74c99c3da907703d9bf13cbea46c923f83e1fa3d8281523decaa28be9704763f0ceb413eb026343d8a1f13bed1b33f3fbbce683ea43d0e3d6fc3eebd6c2d093f0264733e7da3c63c99cfb5bd86c5ab3e0121683ec6811a3cec4d56bdab10163ee13d393e6a19efbb5e030cbcec1608bcb49cd23d0c7495bb6890663b4340eabd9e75393d98a4c8bc1fe7093c0000000000000000238a00bd5a3c153c00000000000000009ad35dbdcf9e793c0000000000000000ee8c87bdb9159c3c00000000000000003c688fbdba4a9d3c0000000000000000b18f96bda6dfa43c0000000000000000a70e86bd13bb8d3c000000000000000037413cbd8418653c00000000000000008d44ddbcb58b913b0000000000000000bdf4553a73a0d9bb6e39ae3cac8526bba4e48f3a25fa21bce22fca3cb33d8f3c5424453af06bcfbb64c6b63c984eb63c4844aab8496db4bb2dd55f3c3f7f1c3d0ca8a93936cd1abb0e30f33b47e5083dec8b423aa68ba9ba416f56bb1a0a133ddb29f13935916e37427572bb5c83c53c9184f039ce24473b03a327bcdfe9433c27de783af02a383bbaac2abcf50ec03ac16640bbb6ba433b4e181dbc8007873c0c8f36bc64d3a13b9f794dbc7fdcdc3c522f6fbc22d4563bd4863ebcfadabe3cb1969ebcf982aa3bd01e0fbceb7cad3cad0a83bc3f9c633b7872dbbbe653693c3b4f19bc3ce0a33a751cc2bbc86e453cb1aca4bb0774aa3834cb78bb065fd53b298d6e3bbdda8cba8236c9bae806aaba0604bb3b9bc304ba1366dcbaa1ad4bbb4412cfbd5b55e33c25e84bbcac5694bb47d90cbe7d0f00bd9e1eaabaf2ebadbb3a8e00bee3eb81bd5df6a53cb3443bbca417d8bdffb4d2bd822bcb3c9e7846bca93f91bd6de1d2bdba22f63ccd673fbcaf8f0fbd5b71e8bdc2d3be3c40f816bc723b2cbcef0bacbd487a8a3cfbdc87bbb179ae3c347c5abdfb1134ba6bbf903a4384093d0489acbc5b6eb5b96c5dc8ba3a24383ddabf20be304b833f66818b3e4145653df65440be4412793f331aa33ed030383ddd571abe31ee453f5776b63e03f4233dcdd807be256f1a3fbc8dc33e4227d93c1a99c7bdd67dd23ea5c5b43eb46d8a3c267a8abd8b126f3e3c0ea73e785f093c341e26bd9db4ca3d9f7f723ecadbf7bbafd500bb8fb71cbd6b2c193e732ce8bb22f4723c6d0fdfbdd8f94e3da18988bdac6fa83c00000000000000003986acbd4251c23c0000000000000000a8c9afbdf4e8c63c0000000000000000903cc5bd62e1d23c00000000000000000db6b1bd726da63c000000000000000075dfb5bd1742b53c00000000000000000c5a74bd9d17123c0000000000000000b17843bd6ba1013c0000000000000000b5faafbc7fe3993a0000000000000000d4e314b9f82b8abbfbd6873ce5a54cbb786fce39a0e1d3bb8ae3a33cf8699d3c57e84a396000a6bbd0504f3c0bd80e3dbc95183a55292ebb3f05cd3b0fe8233d1122bf39dffaa5baeb5ac4ba580e3a3d6f04d6398cd18f394cd0cfbb1571163da8010f3acc0f993af2681bbc362fd83ca48c633ad44fcb3a81f61dbc1b2e3a3c2b143d3ab840393a715a03bc48b90f3bd253aabb956d713b0378b9bbde6a4f3c91ce5ebc8c1baa3b91b352bcd303c93c85ea8abc1d4c6f3b7a2b2abc941fbc3c592e88bce99e803bb34f15bc50ad8c3c2f1e89bca8b1453bcac3ecbb974d493cbf7501bc2a123e3a35139abb4d5fe73bf39c6db9fac569ba80573cbb4e277b3bf01ea43bf6402db9b47da3baf0e09fbacf24c73bee30c1ba72ed68ba1ef5eeba0c5cc0bd7b7ff33cd9a25fbbf01a5abcce84efbd73511bbdfc77ab3b84253cbc6835d7bdf85abcbdffbc9e3c08fd5abc884b9fbdf1eef2bde6ebdd3c0d8e76bc2f0047bde98c05be8f3feb3c27006bbca62d8dbc0870f7bdc682943c5ac50abc36d7d13b687cc3bd59d3ce3b937787bbc515c53c94bd5fbde7dd3ebb38c044ba8eb4f03c9746a7bcf33eb5bbb470043b8402203d48b315be29ba563f7ffff03e87e4543dd2532dbe6f57453f35d1043f03cb2c3d0c0a0ebe632b1d3f10150b3f4003003d0247d8bd4ef1e23e0cab063f4b39c03c1d7b9cbd31c48e3e1001f93e6802293cd2b237bdaf220e3eadcdcf3ec3f81a3a2253a5bc31b0c63ce814993e12b7fdbba01fca3b4b637fbd73592e3ef36db8bb5223523c2b44d9bd0a1c623dcd78d7bddc90f03c0000000000000000a70dfdbd32e8143d000000000000000083ebf8bdf8c8063d000000000000000050ece8bde6e2ef3c0000000000000000034bd3bd5445b73c0000000000000000107fafbd9668883c00000000000000006aa783bd3c68233c000000000000000087de1ebdd825bd3a0000000000000000f50a15bc103f2bbc0000000000000000b4c202ba5c1fe2baadea5c3c0b39873a887b453ac59d93bb6ebe383c8443c63c46909e38003de2baa893b43b9e67103da3b1b33a635638bb840a283a1bdc353d1c3994b9289b5eb9c282243b2189f53c859d7d3ae71c8aba1edcecbb4dcc103d7a1785393d0d0f3aa3d10abca0cfb33c5df8073ab5bce23a675f0dbcd1ac043cced5453a230a8a3afb9d00bc65d43d3bc05700bcf65ba73bdb23babb91b7383cbae36abced92b53b85d82cbc66fca83ca79386bcbe63983bdbd5fcbb5555733c285e63bc4f3b0b3b83af07bcbb7d583c9e9e78bcc7f9853a18d564bbfa56e73bea1a6fbb6aef4bb79dfa90bb7ea3f83bfc084a3b2dee1bbbad24c2ba3735513b0811e43b414e13ba707c8abac168ce39c008b13b3bbb04ba54de5cba437cccba396fa9bd720d8a3c950d843bc98f95bceae9bcbdf1ed66bd44d81a3cd0b284bcd6b294bdbf70dabd8e80bf3c48ae82bca38555bd91570dbec461c23c9a7a85bc696809bd0fb0e5bdeca6de3cb9e12fbc1619bfbb26befebd2691073c2448fcbb4144223c135cb5bd8fd324bb0a1ba4391b22b53ce50a41bdb1bc55bca76d573b9cfdcb3ce6d983bc9dcd2abcc85f333b9a4e063d9e3bfcbdbfa9243fd7662b3f1dd7273db8a707be6e7c103f3465373f19c5f13ce89acbbd1393d93eae22323f9885bc3ce90d97bd82e4913e15232a3f55125a3ce00e51bde7713b3ec7fd053f3708b93baa0acfbcdb0b663de83bee3e0a711cbae8ae05bcef8e65bc7732a13e9a7320bc5499403ca12997bd1b59303e5046bebbfa85803c3e85cbbd3e57393de65808be98b1103d0000000000000000f50c1cbe6c42343d00000000000000009acf04be3118fc3c0000000000000000ae9ff5bdea63e83c0000000000000000ad9d88bd2150bf3b000000000000000062028fbd0881103c0000000000000000b8f618bd8d7ba8bb000000000000000030e8a5bc17d039bc0000000000000000580421b9936280bc0000000000000000c4b77fb8d3b46bba0a97023cbe1da63bcda13d3a5b0707bb6be0603b56b9023dd99f073a92b399ba262049bb5e912e3d59e5013a0f971c399098d4bba1fe383d9d67a4392637793ad0ed0bbce309313d31c7e03977ac8d3922e407bc0d91023d989916b9f59fb93a5cab1bbcac04963c3f72f939523a8c3a7085c1bb920f833b3b38003a2f64063a2ba6c4bb53b737bbad91debb6e5a923b4f30adbb6691363cae6d4ebc7173923bd4e60ebcfdb7803c2b4d28bc4e85153bee7fcbbbdef23f3c4fe1d2bb3f0f303ae3e291bb199ffb3b68a2b6bbda2b1739e431b6bb3259e63bd8f0053b8d9d16bb28e2d1ba308e283b5900053cf401f3ba904c70ba6f390d3b1885333cc4e453bbc26b92b737b1a6badf3b173cab8dbbba551499390df930ba143f8bbd259482bbdea8023c2afca3bcc2b886bd4586acbd44010e3c41e272bcdb5839bd70210bbeed1d353c61ad77bcae88e3bc7e191abecbc6173c7d983dbc8f063fbcb0f613bee1890c3bac6102bc9250aa3af109f0bd00d925bc0700bdbae2eb8b3cc12aabbd803c98bc9498843bd7aea33ccdb616bd5b78abbc6ebecd3b8534a63c52f1c6bbac0764bc40987b3b0993d53c5cf2bebd786ee53e885d5c3fe7bbdf3c67f1babd1082b93ecb6f683f9a05913c0c997bbdf8067f3ee97b5d3f7feb173cbe4615bd0198153edaa0443fd226003cc1f7b7bc2578763d1ad9243fa07ae9ba0c0b21bb67f1b5bb8a12fa3edaf9c2bbce6bd03bd3bf5fbd3b30a63efdca1bbc0e61753c224d9fbddce9203e6c72e5bb53cd8b3cea68aebd6ccaa33c66d31cbed642243d0000000000000000169b2fbe14a1413d0000000000000000201d0fbeb1df173d000000000000000024ced8bd089ec23c000000000000000009fe8cbd7d5f063c0000000000000000daa21bbda8587dbb00000000000000003a408abc4e5a54bc00000000000000003300cbba324f96bc0000000000000000fef12d3ce7509fbc0000000000000000127d7f3953a508bacb0ce4b9f072663cac55193a0fa382b9564fd8bbdab6113d9ce9573a15a139b97b0d75bb9167203d74e1623ad969863895811dbc6fa8343d8a15353a8206a5b96063d9bb8428083d6a5340366269833aa69d23bc7960da3c3663af39e7ce363a8061eebb2e12833c659080b9c38f3139e53d2abbf0d2dcb9ea57f5b79976b53abd522bbbb182d1bbed0bd1bbdb00a13b2a2b4fbb1520183c601d7abbfa99e63abf3d85bb19871e3c687c11bc0ecab43aa7b29fbbdd74d33b1d0cdc38e1089fba9d7484bbb8a6c23b16d2d93acbe237bb578109bb6c56863b04e70e3c908f4dbb0491ddba77a5663b3084163ce5637abbeea465ba3301143bc5412c3c292f8bba1d5eb93a16a31ebaaa70e33bd8c740ba4124b83a4e1c04bbee2e32bdbb6103bd6a4ac73b96a28abcd29c05bd50d9e9bd7ae798bb89542cbc5532dcbc9f190cbec2ec963bc6a41cbcb036dfbb0ae424be6dc239bcc9898ebbcf3585b868f007be4ddd82bc76c29f3aca63493ca63fe3bd52edfbbc94c1d63bd165573cc43d8fbd79dfe3bc9ca1ee3b1fa5633ceab8b1bcc912f0bc9064063c7275603cdf0afa3bce996fbcb602b63bdd78513c78a459bd77bb7f3e90a0853f01962e3c3b112cbd60722a3e462b8a3fb8520d3c363fcbbcbbb5da3d3214703f6a89953ac802e9bb0ccfd03c618e593f5939ecba4f2c2dba509b2ebc6f6b283faa4ba6bbbdc51f3c908f63bd4936fd3e0c47aebbf8c70a3c378f83bd711e9b3e4ce919bceff38e3cfb648fbd7c2b023e43fa18bcb5f4833c85467cbd4f315bbcbd2525be4b6c293d0000000000000000c4b52cbeaf87443d00000000000000006355cbbdfa0ca13c0000000000000000f67994bd3e7c4c3c00000000000000002030b9bc794bf3bb0000000000000000f138a63a035493bc0000000000000000b6b6b63c6713cbbc00000000000000006f1e4b3c617aacbc000000000000000093c0253c93d9b1bc0000000000000000eafa0c3afe7d4739d37571bb43339a3c1199413a37fafe3ac7f278bc7c33243d750a923ae2d52b39b33766bc7eb6333de2f8a03a4b27813769084ebc0fa9283dbcd8d1395b8c043a653623bc40ee043d9601683a881a61badb4f10bc2cc4ae3cc6a545b9e532963acd7ac7bb9a08013c5fab82b9eac5a6399c49b8382ec2c4bb5c2b2bb9aca8f33915649e39ce9e2ebcc26b8cbb6fd66c3b5385f8ba4ba4a03b36cbe73ba6048636a9b8e7b924a8b03a5fd3113cd3cc55baae57ffb97e3171b84fdb3b3cb7f983bb36b460ba77ec48b9ce694a3c375e66bbd40890ba6e934738a5a9843c01fc65bbb8de573ad5476bb8c79a8a3c542e56bb13ef2f3ab703b6b97b5c3e3ce35c21bad8f1ba3ae44e8239ce76093c4c4687b9d5fae73a1830acba84dac4bcf5d896bd77fc983b7c635fbc2f7bc73a532715beb9becdbc39853abbb280e23b111d31be98a407bda01f41ba7b484c3c8f7528be9d9d1abd9fef603b3bb9693ce7000cbe60ec39bd7f36083c8eae933c0444cebdbc4c57bd2df82b3cce92843c2f1963bd41174dbd5595503cabced73b266acebb31b208bde79d0e3c2ac7d63b9ae6aa3cb94597bcd680993ba665523b167e55bc3efc7d3d71ba9d3f2446ddbb0ca9fd3bf92b31bb2ae9993f7b06c9bbd777903c24d727bda095883f6f4100bcb2c9ac3cab3188bddc44603f1967d6bbc43fa83c02b7a2bdc07d2c3f89011bbc49b7b83c6d69b0bd330df23e8f950cbc3f84a23c012f9dbd3b248a3ea028f9bb6565523c240f40bd526aa43dd142d8bb7018433cb7381dbd2cd582bd92b417beb808133d00000000000000008f6304be80bb193d0000000000000000119a7ebd9314723c0000000000000000711cdbbbba51b4bb0000000000000000ef560e3dcf58bbbc000000000000000044aa5e3d8716f5bc00000000000000005654533d75d6ffbc000000000000000054d0ec3ca8febfbc00000000000000000aa5a03c23a2a3bc0000000000000000000000000000000000000000000000006bc1b33a0c9b18b9831e27bca0ed183d04d6ac3aa83688ba46f4f5bb44db1a3db965763a4387d2ba7ebd01bcafd90d3d5cdb3d3abd8b22ba2471febb5539e93c452a123a333cf7b8bc20b3bbc6d9903cbc8083b9891e0739b1e3a7bbdfabcd3b6a5b1eba7340623822590ebb596b66bb00000000000000000000000000000000000000000000000000000000000000008a27a8b96e0ec8b95a43a5ba16c8d7b82245b83b40889cbbbb1f60baa19f31bb53cabc3b25b5c3bb77231cbad375b4b94699233c64b0fbbb1c5522b9ba048c37b85c633c42cdcabbf65ac1b9e69197bab9f0863cf41d82bbb7ed313b0e8396baf731613ca260f4baade3603be6a8bdba00000000000000000000000000000000000000000000000000000000000000007d8ed33b3f7d1abe5c959bbc3d3b853a23437e3ccfa91dbee74913bd366f223c9acf823c670a10beec0f34bd7354743cb3b78d3c361cf2bd24df56bdeb5b903c30cd873cf64da9bd4be673bd2799853c5c077b3cc6c535bd209461bd923b6a3c0056213cafe887bb33a52ebdbc7a1d3c000000000000000000000000000000000000000000000000000000000000803f95f0f0bb7e16f33c9ca7ebbd03b49d3f196718bc0d34023d955ff2bd1063843f898fccbbc179dd3cf441f1bdda4a573fd44ff6bb3f04cb3ce097e3bde74e243fd42ee1bbc6dcba3c874cc8bd4ef0e13e882710bc081b923c496195bdcfe5793eda1fddbbc9073a3c14883abd6811583d00000000000000000000000000000000000000000000000000000000000000006eba37bdb57b193c0000000000000000f64b823c79ffd6bb00000000000000000eb5703dd370aabc0000000000000000fa91b33dc909f6bc0000000000000000ca11c63dc9ab03bd00000000000000004b0fa93d080bf8bc0000000000000000478b753d39b4c8bc000000000000000000000000000000000000000000000000000000000000000000000000000000009bdbedbb4dc2beba143a333d5259a13cc87781bb8f1ba53a9e56223d85fdc23c6f787cba59b4113b2128fb3cb4b4c33c1b352dba928dcb3af86bc33cf208b63cc7f135ba3752083b2369913c0570853ca67b2c3a7ec2ec3a1c9d193c98430a3c7d37a1ba735e173b47315c3a724c493a00000000000000000000000000000000000000000000000000000000000000004c90a9bb098f00bce3a38cbb73e4283d0d4457baea39babb80f20ebc6071c83c88314d3ab33dbabb9a91ecbbe6ab2e3c502815ba4caf57bb71912abc54cf063c7751e0baf5edc639e4f930bc308714bbaa10db390c503bba9db621bc9457efbb142ab9badfc5313ba8f9f0bbc8a7f0bb0000000000000000000000000000000000000000000000000000000000000000d83277becee877bc52fe8d3cf608c43a646665bedb6b09bde076ce3bbce86d3b49404fbed9763ebdf6ae933ade94af3b27de28bebbff33bd667ec0bbaa8cc53b8c4cd9bd00061abd5670ecbbc447d53b04de5bbd6064b2bc969731bc6cf1933b20ee66bb51b864bb4af5e5bbac59ea390000000000000000000000000000000000000000000000000000803f00000000d57d033df2291fbe3589af3fc659ecbdbe3aed3c2a36debde7638f3f292001bd0a02cc3c8118c4bdfdf76f3f147406bb0f40ba3c5f4f92bdb5e2313f911fc33c63af9b3c75d517bd6275dd3e1fd3253d4c80113c59c4c2bb531f553e42f9293d7a361c3b10eba33c22d610bc7137a23c0000000000000000000000000000000000000000000000000000000000000000207b833c394c21bc00000000000000006386db3a5e87ccbb0000000000000000171f72bba385a9bb0000000000000000b72f87bb2c208fbb00000000000000008560e0bb696342bb00000000000000008f9e9dbb6a4e05bb000000000000000063b73a3b209a5aba000000000000000000000000000000000000000000000000003fe8bbebca87bb9bc1c83c54b89b3b4b3c35bc57402abbd9ea1b3dc595523c4e2d01bc6b32cab7d56b293d54ffc23cf3c1dcbb4c24673bbedf143d415ac63ccd972abb3b47cc3aae42d13c3d8d9c3cfa3a3abb4df0123b06a69b3c17484b3c18fb3bbbc0a95c3b61e71e3ca118cf3b7536b3baa047873a9162973a47efd33a414259bbd6ebe2384c4a9dbb2d25dcbb1657e4bb5e71c2babf0420baf5e7283da814a5bb9d5ba5bbe50f92bb51ae363db9484dbbcab6a6bbe56197bb8014073df0bd0f3b7a33aebb742909bcfc7cac3c4dc1ec3aa9caaeba03092fbc8f2f313cb368b73a23220c3bf31905bc151efcba2a67c93a2075083b55da0dbc52b8cdbb4b99d03988df863a14f192bb81a0fbbb354890bab9dd3e3b029054bb54d903bb36e217be97e88e3c18dfd03b7f38073b598848be2664f2bba1a9dc3adbc8083c51c169be11382ebd5e4c0abb36f1293cea2350beda7d5abd1fa34abc00fc483c541e1abe9bfb63bd54b984bce9f90c3c5104cbbd10c743bde27c9bbc8c85213c7d8d32bd668cfdbcae279fbcd87d153c297390bbf9aa71bc0af93cbcef129d3b2422f53cc45f1f3ce5a78abb65aaa83ada684d3db57e72be3b62af3f9ee7a6bc0faf433d55f646bee9cd983f4e725f3d7947303d765135be6c398c3f2e8da83d6b11203ddeee0cbeef515f3fff3be33da8cb003d4e85bfbdc8b11f3f989e003eba08b73cca503bbd6b38c23e6adffe3d7be2533cbb86cbbb3b9a1e3e65a8ce3d80198bb91c14ad3c4f9ed23b8629833d6d3a69bb6083113da03e11be7e52103c1399acbbed59c0bb00000000000000006aa7b7bcbe85b8bb0000000000000000b168eebc2bcd36bb0000000000000000d3bdecbc2e2cb8ba0000000000000000ac1ce2bccc943aba0000000000000000d68cf6bc46a7853a0000000000000000dd21ccbc66f9643a0000000000000000c1b9a0bc7f8c3c3b00000000000000001d36eebb6340853900000000000000009db4c7bbc8c8a1bb10e3a83c0bd51f3be2fc1fbcf9ea08bb2aa0083dcb955a3c67310abc1e1ffa3a34cd143d61e8ab3cc74803bcbd2c613bc524063d5362a63c695ea0bb68594a3b82bdbe3c16eb803cd7c2cbbb9f76753b7d038d3c58960b3cdfc6b5bb7e8be33ae5c0273c47e3943b555893bb282c4f3bf188ec376bf19eba4d0b76bb66a21ebb73bccaba44ecddbb2a8fcfbbef429eba6cefd8b926a0f03c469b57ba0f8f39bbebbc1eb88834093d73fc1a3b0e607ebb0b626fbbffdde53cb3d9a33b3db711bb3403a0bb62395e3cc212bc3b65e8403a2021e2bb5840b73b1ae9a33b990d0a3b1a29ddbb96f858bbc3991a3bec047f3b774091bb2af9f3bb07d4d03abe466c3b0da79cbb8bb0b7bb1e0fbd39a3c5063b38209e3981a4b1ba757ed6bdea7fb53cbc6428bcbf16333c2dad34befee6e2bc493d20bcefd8333c51ff45bed7ae81bdbd6483bc09f2603cfcdf24be97c09fbdb5dacebcfb40813c1185f2bdc01698bd60f405bdf3e8703c23258cbdd8a483bd3fa7fcbc62c6433c1b24d1bc0c502fbde96cd7bcd958213c995b6b3bec009bbc1e4985bc5322e83b2e7dba3c8a1c2a3bc1136fbb1a47853973613f3d18845ebe4098903f50334f3e66a7563d369b68be9b058d3fe391723ec8893f3d0caa43bea9a9743fae03883eb22b203d95720ebe54543d3fbfd68d3e19c8f93c4899b8bd4bae023fe0e5863e4746c53cab812cbd68eb913e2f066e3e75695b3c985a8bbb0f0fd63d26c4273e422eb13b820a8e3c1f43babca8f7b43d1c8c87387a71ce3cb3d1c8bd3c277d3c65b376bd3f78863b0000000000000000587e89bd4a049c3b000000000000000078e78dbde860d73b0000000000000000873988bd0994463b000000000000000065066abd2540a83b00000000000000009e665cbd094b8c3b000000000000000039bd24bdc1d6613b0000000000000000978bf6bc089b373b0000000000000000f9ac98bc16d6813b000000000000000003e0a5bb5dca9cbbaa649c3ccf1a2abad38d11bc169184bb344afd3c029e6b3ca4fb26bc6d72093b3db2043d2585ae3ce0962cbcde70b23bf3e0e53c70688c3cbacdebbb90c8123b8653b53c91036f3c463b0abc75be913b95f3903c1ed0103cd3b7f3bb3d5d563bdcb9193cf9c6803ba2cfb5bbc150b53961b5813b44556cbb64bcb0bb379512bace295dbba6f097bb3c89ffba69fb48ba791efa3aadbd903c30130b3b411a78bbd76f243b6f23c63c577cdc3b50b503bb50b7c3ba17fd823c3e15233c846db7b95dcbebba4d9dba3b9ed4013c3fc7623b54e761bb982db43aba35ba3be16d963b8bc562bb05711ebcd67cae3b6fd9a33b39123dbb0bb2fabbe8d01d3ba712513b00232ab9396793bb4a9aa93a5a92f23949c0043b9afc04b8335fb7bde86f423c5c3d96bc4c4c4e3c76760cbe9a1c5bbd1cbdb7bccf5b893c077811befb3bc2bd1bfcf4bccbb79a3c04caedbdb5fbd4bdb62023bd0e32a03cceb9a0bd42c9d6bd037737bd99da903c582a2fbd8027aabdaac327bd4b24603ca8a786bc87745abdd26905bdf86b1a3cbf3ecf3be39cc1bcf9b38bbc97978a3b2fcb9a3c56471b3a251d03bbdb459f3aa67a2c3d58a84ebedbb6733fc495dc3e540f3b3db85d4cbe90c8623f54d4f43e9ad7243d944c22be5fab3e3fed81fc3ed5cd093dfb68e4bd625c0e3f6884f03e620acf3c574787bd5a5aba3e2adad73e4460b13c18b1dbbc570a493ef837a93e728e553cf7ca19bb2243853d82385d3e9df0d43bf845503c328bc0bcde8ecb3d53012d3b64da943cbc21b0bd22961b3c16ffe5bd782b653c0000000000000000287001be16cf963c000000000000000099d1f8bdaddb7a3c0000000000000000e77fd7bd6ec93d3c00000000000000007595bebd5776333c00000000000000004d2d95bd35a7133c000000000000000049b557bdd38f113c000000000000000076b611bd31f4f73b0000000000000000103cf2bc90d8ec3b0000000000000000232d9dbb1e82b7bbe859933ca0de423b46500ebcf3da74bb9026d23ca69c593c1beb0ebc689a153ad579d73c2ca19b3ca44c22bc9554073beee7db3c3f168f3c58a300bcf6594b3b66789e3c7da5513cb99f00bccd28523b21d1863cbbdade3b8e2befbb24ab233b2af01e3c1fee263ba3acecbb3b62253b600f633b879322bbd63e92bb2e5116bb3bb2f4ba4bcd00bc4af9a9bae3926839c13a613b7431363c2b60f33b36602bbbb5ad233beb7b533c79856c3c900d8039396daaba056d1e3c03e27e3c1305133ad72785ba8b8a7b39b6da303cb661853ba8cc4cbb45632ebbccdb293c4e4cbd3baa8c87bac2d126bc1b02b43bf374c63bacb13fbaf4460ebc3df0ab3b47d7203bb9e48f3a11a39fbbc55b403b9e48ef3acb8b5c3be65bfbb977f686bd404b0cbcd18bcdbc8f94903ccec4babdf5f2a8bdee79e8bc2540983c4bf5c0bd2fc600be459b37bdc493a63c23d697bd6c340cbefe5060bdba7db43cd4cc4cbd0053e6bd6bb15ebd1446793c6ff8e2bc73b5c9bd383d43bdb6d3773c0ac725bce81b6bbd303504bd37d1fe3b9794463ba4bbdfbc2d5374bc7b512a3bb959833c76c9a43a4452953ad35790bae736ef3cdc9122be774f353f02fa303f98da0d3d06951bbef580233fb78a3a3f1747fe3c3debebbd12c1043f3a70383fb0f3cf3c2a8297bdd08cbc3e67df283f6ec7b13caede2cbd383a6c3e24a5093f59399b3c6fab75bc53f3f23d2474d33ea2694b3c2686b439bb641d3da5b2763e1ddcd03b0b121a3c7d0890bcff35ca3dc3f0463bf3a0683c643b83bdaa9dd4bba86831be5b27e73c0000000000000000d04136be1eccf73c000000000000000075b822beee5ab53c00000000000000007b400cbec1d2a13c000000000000000072a0c4bddaf24a3c0000000000000000ffa5afbda237693c0000000000000000eb6a5fbd1e3c213c00000000000000000eac18bd0eaa233c0000000000000000bacd05bd30d1293c0000000000000000f72c7bbbdfc8c7bb2eea523cb0199b3b86ebbebb12be05bba06ea63ce2467d3ca7bd21bc25cdf33aacf0c73c6ea6af3c5cd44ebcd478bd3bfbc8c83c6901973c759108bc3de9b23b0933953cc5af683ca0ab22bc7c8ec13b5a32823c7d00153c5814d5bb932c603bd740533c8242c33a0703d6bb69f2143b06b0753bc45c61bbf9e738bb4229b5bac66debb953d609bc60fa673bada339bb9c8293bade149a3b09ff683c77e7a9bb230bf2ba07fb713bac929a3c0d1c2bbb70b6e1b8f1e3dbbaf427923cbdf5a83a28a9ebbaa715f5bb1d32873c065ba23b910a60bbdce72ebcb3843f3cfe86b03baae97d388dae30bc8597173c1f2a563ba0d108bbd66e16bc4f0db23bfa5b1e3ba5661c3ba9bfaebb962a5b3b346138371d300f3b6b3691baec4607bd550c05bd48e8c4bca468853c29cd4ebd491bf8bd9b27ecbcd052a83c212e4fbdba4726bee69c4abdce8fb53c48c01cbd2bde26be7a8d6dbd59d4ad3cace7c9bcde4617be91b665bd4342803ca135a0bcf5eaddbdec1136bdad93273c94ea0ebcd34e89bd0e7cf6bc27d0aa3b411bea3956c3e4bc42bb1abc12d5f3b941f0263c2f05213aa6a0c93bdc5567bbdf0aa53c0e20ccbdaf92e63ebe876f3fa059c03ce68bc0bd54ccca3eacb2753feadba13c34cd80bde686983ed51f6c3f464bb13c613e1dbdfb284f3e14ac4e3f74fd8c3cdb8487bc9225f33dfbf9273f1148633c79aecfbbf8a28b3d4c67e83e7449363cfd2f803a9b0df13cfc5e823ee7e7d63be4b5af3b842f75bbfe8faf3d4b781e3bd145083c2f9f0abdfe8ceabc212a5bbef0be1b3d0000000000000000728b5ebeedee213d00000000000000006d3c3ebeb60b033d00000000000000005a6117be3e27b23c000000000000000037eeebbde90fae3c00000000000000001c2ca3bd3917853c00000000000000009cbf51bd0f71463c00000000000000002f3400bde14f233c00000000000000006247fcbcc02d263c000000000000000022651dbb080ec8bb09b7073c8094ce3bd2f799bbaaa51cbbd38e693c82b1ac3c5dd916bcec74e93a096e9f3c54ddd83c910032bc60c0be3befe58f3ce004db3cf4a121bc5469c13be914973c32e7943c47140fbc694ca83b06527e3cd7604c3c61e912bc81ec963b2904393c21a45b3bde58c1bbeda98e3908cbd43ba6ab82bba83a67bb04c8efba12f71e391df20ebcae0f183ce764f5bb199f6d3a87a2a6b954b99c3c22ec0fbcf6d163b91948a7bb9c43c43c055c7abb6816e6bab1d3a0bb0ae7c03c934d9b396de59938fb1732bc24cc993c2ce7563b1af504bb560417bc11d1533c73e64c3bfee311bac48632bc798d333ca2dd3a3b416e2b3b595109bcd0adcd3b7598ce3a2fc4453bdc2636bb381f643bc6c93cba2d638d3bc6c8ffb9a53febbb6b086fbd898830bcdedb4e3c30d246bc0f1020be7f1de3bc4200923ca98574bc206c48be5a9948bd8e74a43c491d4dbc724747bef25468bdb351743c5bda47bc2e3227be925f5bbd3440173c7da71fbcdcd8fcbd01152abd9e41ce3b8d4127bc12208cbdeff1cebc98ea933990678abb2053d1bc0e21ebbb32c99cbbb73ca03b781c5e3ba4532d3cb7eea8bbd2b3063cdfbb47bd5d89633ea0fc8e3ffad4223cf3230ebd170e2b3e9379933f9c472f3ce6c896bc05b2df3dc065893fbb09433c9242d4bb6141853d0f186b3f67ca2e3c12b7d9babf7d213d730f353f7fbb253c31cb0c3bf15cd83c60baf53e010dd23b1b8e1a3b27128c3c53b5803eb72da73b138cb8385c5b3b3c6b88833d7cfcd93a41ef0f3ad6343dbb1d6251bd064f69becbb6413d0000000000000000917666be78863e3d000000000000000039743abe8ff1063d0000000000000000572e0ebe3f4edf3c0000000000000000a63bc7bd3a9bbd3c0000000000000000bc0b84bd93f6a33c0000000000000000c80117bdb1a7763c000000000000000051379cbc9d26363c000000000000000038eda3bc28de053c00000000000000008e928eba0ed49ebbecd8083b1ddf933c57d493bb8d6b43ba86f4b03ba9b1013d96d21fbc5830e13ac1b66e3c862c213d395b22bcd946a83b0b828e3c39630e3d298521bcf2e8cc3bc6ce6f3cc9b4d23ce5210ebc3fb0943bd73d823cdd26753c657ecbbba2c63b3b4de2373ce543e73bf2ce63bb63453b3b4e17e03bf0a9f1ba2d8b19bbd2aff6badbbc14b9686c15bccd91723cc76f61bc7f8c8fbae309f4baa415a73c74ec6abc334e193a558207bce191ce3c2ad5f7bbb0e795baf1e1e8bbc215c23cc80888bb81490fbb84f011bc507e953c6ff4353b6aba5cba3ff524bcb947813c2609e33a59c6e1b92f0a12bc1d1bec3b37c9523bb72590b94610d2bbf984b53b5bf2e83ac42eb33adb6797bb7257e63ad5efaeb9334d0a3bff6596ba6d7f893cc02601be9a02023b2428483c7f2b7c3c81b93bbe98f01fbcdd9d433c0822cf3b11516dbe241126bd0c66803c6614793ac53b61be514d43bdb20a403cd78597ba519a36beb7e246bd1a80953b50820fbc75cb00beede829bd9979063b92e724bceae28bbd5697c7bc2505ceba17aa2bbccbaac5bc4884e8bb4a38f3bb0ecff3ba9590963cdc2d713ce5d711bc07be0bbb7ec93a3bcece85bb31f2ae3f8da6813a0a54083b1e9f393c1e839b3f60cac33b0390143ce3bea1bcb0ad933f56e7e43b2286203c24e4c9bc6413763fb60efb3bd12a313c25c9b8bcc4e6393f4f52083cd6e7063c113fc8bb639cf33ed5fb013cc2a4173b4a492f3c4d166f3ec65add3b798846bbbf83c83cbb10553d185c063bc52991bac9fba73c82b4ebbd772877be1fca4c3d00000000000000007fa331be4ff71e3d00000000000000002d440ebe95afd23c0000000000000000d109c6bde42db43c000000000000000050e85cbdca96913c00000000000000003512d1bca10f513c000000000000000072199fbb499c0c3c00000000000000000d33043ce2aa643b0000000000000000ba3dbbbb7e5c0b3c0000000000000000000000000000000000000000000000004e4d11bb39c6debaf0013d3a4b1a3e3d7286e0bb2950243be1350c3c7efa203d0ed7bfbb175aba3b93c7343c1fa3043d585c00bc8775eb3b092f533c7c2bcb3c1ee9b1bb41c4b73b35331e3c10ab7d3ccb53b7bb70756a3b57b6213ca4fab63b3f376abb52149ab95e9dd33b6faf22bb00000000000000000000000000000000000000000000000000000000000000009d0dbc3c21e365bc706d6ebb626f45bb7267b23c923267bbb6cf09bb169ddfbbf3d69f3c475a27ba30677abb2228ccbb96da8d3cd3a9073a9520d1ba939417bca7b9273cfc41a33b5eedd3ba00ac1cbcb3a8cb3b50af9d3bd88c5c393aefc4bb9e09393bb4d2893a8b7bed3a8a4c87bb0000000000000000000000000000000000000000000000000000000000000000c3110b3d5a477abe10a204bc5ceee33b2fcfac3c9fd767be9a1105bd0ae6313b56c4233c803656bedf1747bd0d7dec38e920883b65312bbe8de944bd207dfcbaf89b9cba3e29e2bde00b25bd24809fbb80a4e7bbfc6e6dbd918de0bc2b99e2bb6f2f06bc1a46e2bbe9f4b3bbfb70f8bb000000000000000000000000000000000000000000000000000000000000803fc9ef8fbbfa90033d357917beb265af3fd91ef73a2443c43c1f00d8bd7bc28f3fae46393b4b34b83c9bdebbbd4306713f01c9883ba3de9b3cc4f388bd3d57313f7266693b7d345e3cfe9009bd8a34df3e9e148a3bd3c08b3b2c00c3ba427f533e27ff283b46f6c2397c7dbd3cf1d71abc000000000000000000000000000000000000000000000000000000000000000069e1f1bd67d6bb3c0000000000000000b57129bd35fc513c0000000000000000c04029bce6f0083c00000000000000005df18c3cef16013c00000000000000000722073db73ecd3b00000000000000001a38193d4b64103b00000000000000009663d93cf272383b000000000000000000000000000000000000000000000000000000000000000000000000000000002c6f48bb686a54bc7130253de70aec3c1a3e3b3a3dee33bcc390013dfe3c153d25c7313bbdaffabb3ce4cd3cfc860d3dec57953bae9101bc648b7c3c2334f83c49e62b3b6e5a41bb8d5c133c9ad5973c4bd85d3b2bece0b96ff8123b10d7103cfc7a343966f5f43ac4fd60bb57cf9aba0000000000000000000000000000000000000000000000000000000000000000436c64bb08ff42bbbd4d95bc13be883d35f9a43ae76396bbcd8bb5bcc04b713df1b2bb3ba595cebb8551a5bc8595373d47a0f43ba9b761bb096596bc34a0193df3903c3ca25a5cbb4d5f65bc72c2883ca72b093c2c1ad1ba2ea817bcc1c0fc3aa3291d3b2eedf33a41e655bb9e1fc7bb0000000000000000000000000000000000000000000000000000000000000000e12468be333d58bdb098bb3c600a71bb78fd4abe53389dbdf03b5d3c719b0f3b95d82ebe51b7b8bd3b1bee3b1628153cb10800be7b94aebd2dba6cbb03570a3c9ddc95bd9a4881bdc6415abc28d54e3cd45df8bc9c7708bd7ac667bc04b2213ccecfaa3b8103c439a5ec2dbc73ef9c3b0000000000000000000000000000000000000000000000000000803f00000000c7a7223dd2e742bee06fb23fe7a7c9bdb8252c3d5a0c2fbe4f8c913f2a4f5d3c0382293da40d2bbecfa06f3f484d903df7d20f3d6cb20bbedb402d3f8697da3dded3d33cbd94b1bd0abdd23ed92be13da9251f3c29f3fdbce1843e3e688ca93da652b9bb354da43c92f7a0bcb911ad3c000000000000000000000000000000000000000000000000000000000000000034e37e3c5a33c0bb0000000000000000b6584bbc20e31bbb00000000000000007800e5bc3cfa77bb00000000000000000be8f5bcb383faba00000000000000003af1e1bc2dd083bb000000000000000027018cbc2c8596bb00000000000000003033ba3af0b57bbb0000000000000000000000000000000000000000000000005e4f69bba2e43cbca8caf03cfa1a253c08c346b9734086bcf9c4093dcb46d63cf7ec163ad94141bc8aae053d497e183d2ad3033b5d9610bcfdd4db3cb776093d1dc06c3b15d0bbbb52115b3cb62cea3c80c42e3b7a7c7ab9881bc03b7197873c02d71b3bcd9fd53a1995b93a3341b73b52f0c73ac1a15b3b4a4857bb8f42f639340fc1b9b40b283bbb5487bb6ec208bc70937bbb435ffbba31a9a0bcc6a0803d5e67f5ba45e791bb562bd5bcc610973d719c6b3b39d093bb3114c8bc8f8b7f3d035f523c35b9e8bbd7a8bcbc41743d3da958753cbff5a1bbd49695bc1921e03c5bb1753cc9a75abb11075dbc86abce3b689d253cbb3e73389066d5bb9e2a06bc6bada23bfb36933a856c4cba6e3866bc047cbfb96c5bbf3ae7e8bb3abc2e7abc92ef28be5003e73b8feea03b471feb38a9fe3dbe1c5115bd639b713bfee7943b096849be1d79aabdcbfe0b3adac6163cc1b91ebe5e94c8bdaf8b53bcd1807e3c8ea0cdbdaeb2bebdef06acbce87e893cb7e553bd3cfb88bdacc2d3bc8e93713c84a65cbc42e30abdfad6d5bcb904463ca4e2e63b499017bc0a3974bce48fbc3b4242f73c6598a23c3453e1ba6a353e3961e15b3d479178be39fab13f38a2dbbc31f5593d6c8e62be9de4983f291fb23d05ef5e3da4085ebe2f94883fe2281f3ea8a5373d1d9931bedede503fbf6e5d3e703f0f3de5c4fcbd0b540d3f122a753e42b5a53c285565bd0be49a3ecbf05c3e1b76e33ae0c1703abc58c33def6b1e3edeae39bcd958fd3c0dc49fbcb97a963d1048bebc09a1883da9c41cbe75ba2bbc1265733afffa84bb0000000000000000241df9bc6b0c303b0000000000000000119a4abd1c9e793b0000000000000000c5f678bda4f9413b0000000000000000f5f17bbdf5f4363a00000000000000003b584fbd7f06083a0000000000000000a5bc11bdcc08eab90000000000000000493580bca70bedb90000000000000000130de1ba1eae4b3a00000000000000005e01a3395a7551bcf1fcb73c57b2e23b7d8e073bb50f66bce666f73c2512c53c90f6263b4bb642bcd8a8d13ccd440a3d2fce723b01950cbc8d14873cc5a5f63c5a37823ba62e84bb0abcfb3b08bbb43cf4420a3b38e92d395044703b8f6e203c89749d3afe56ae3a50c30dbb3d969d3b519dda3a232f2a3b052d71bb7d3783ba4f3b3b3a5994953a733d8cbb2edda2bb8a12c3bad56191bae93da6bcaaf36c3d642dd13bb13eb6bb180bcdbc0cd9803d74f0673c3c8e0cbc23d1bdbcece95c3d8aa39e3ca203cebb098e93bc5721f93c8287a93cd446c2bbda4272bc0a1e543c6f23b03c27ff03bb246902bcd678e3bbe60a433c1ae6d33adb6c0bbb948e5dbcf24ae63b0eebb23976e824ba88988bbc604301ba2a9ed33a82000d3ba8bd7ebc80ce03be7d29b33c1ebd6abc805ab13b0d882bbe097d46bd635d54bca8ae453c822b1cbe36e8c2bd7c3eb0bc4b069d3c598fd4bdc70adfbd722409bd3171ac3c76e867bd9017c4bd1ae037bd5799b53c6cdc8abcffab8bbda7a541bd2f9ba33c7961db3bb3b623bd512812bd9a5b383c27e4993cea175fbce5b69bbca161e93bc7f9d83c00e91d3c3a4e36baa87eb6ba9868533d01d570be36c3923fe9144f3e58d7743d17df7ebe9df7893ff282923e8d0a4d3de25c56becec1613f70cbba3ec94a1b3d400d14be4b661f3f9c34d03e7519c73c4599aabd897ac03efeb6cb3ec38c063cd709a0bc590a273eca11ac3e38158bbb0ed5a33ce72d993c9a20693e3c7e64bca08a3f3d288290bd286ce43df9749abcead6693d79a3efbddc7f343c9b3c68bdf25d243c00000000000000002593abbd895c503c0000000000000000f746cdbdacbf3a3c00000000000000007baacebdda90053c000000000000000019d7b1bdb7adc53b000000000000000046d299bda9e54d3b0000000000000000698338bd62d7ab3a00000000000000005425e3bc5aa1da3a0000000000000000b36074bcd3c0a83b00000000000000006acf083b167231bc2a2faf3c7b92d13b2b33203b3b755ebcaffeaf3c5599b53c33f4a73b4f061cbcd422823c7799d43c6142473bc916debb3c852d3c9b9ab63cd898563b57a70cbb0cefdc3a9f6a5c3ccb6b1d3b5f2dd53a8a351fbb2c4ffc3b934a073b981d433a9c3d5abb46daa03b8f4a4b3a8810b53ac769cfbb2e740dbacf9aef398f29a13a8eb1a4bb9e2a80bb9853733bf21291bbd33e92bc052a383d13585e3c0832ebbb99f0a6bcb3174f3d88f0d23c4d970bbc6d368fbcefa0f03cad21fc3c419ef5bb6fc74fbcf989403c130efb3c680390ba9c0de4bb0ce1efbb31a3c53c276a2f3ab01d4ebbafcb88bc912f883cc435e23a0c154bb9a84ca2bc67afec3bdda4583b85b7443bead698bcc21495babcbf8b3af577863b7ca562bcd72bf4bd9496a53ccad7c5bc01433c3c7293fabdd77f89bdde4cf4bc4b15993ca5d2c0bda5c3e2bdf26e39bd0693be3c44a05dbda6e9f0bd8fa571bd594fe13cc29b44bc2384d1bd2f1f8fbd839dbe3cb5f4f13b438099bd70097fbd20e7933c60c0a13ce47e44bd6b4f35bdb1e93a3cf960ca3c2dd997bcf65ab3bce789783bd731c33c18a8da3b70864a3b6e706dbbd2ac463d146e65be1157773f5384de3e6c394f3d4d365ebeecf2573fdef9093fcae81d3d1cf521bedd42233f746c1a3f9c3ccd3cb295bfbdd207d03e566e1b3f0eb2393c9745fbbc7c89443ef1460f3ffeef9c3a0b6cfa3b4e65663d4c4fdf3ef18bfcbb9cf7113d37b720bdfe29923e56e27bbcb8b14c3d2ec4adbd86df083e7d0481bc4164483d85ecdebd1a9e043c221bf1bdb417b83c00000000000000007c5b13bee812d13c0000000000000000814517be299ba73c00000000000000008fa20bbefd8f563c00000000000000003936e2bd23aa033c00000000000000006ebaa2bd3b7b7d3b0000000000000000ad1e61bd5a0e513b000000000000000098e60bbdf25aab3b0000000000000000122be1bc76a6293c0000000000000000c4029d3bf6c45bbc566c953cfa06c43b23b9aa3b35eb38bca1f05e3c6abf9c3c5b6d783b8668f4bb04420d3cfa16c13c27602d3be9a396ba04473d3bda297f3c4cf0213b2c631cbaeced8ababdc63f3c4893af3a9ac69d3a2dc78ebbdcb71e3cbd609f3a525bf43a5e45a8bb841c533bbd834a3a3b2b0a3b9c559ebb1fe559ba725d883a4a7e84b9f57c87bbb18d59bb3d36dc3b3c009ebbf37b78bcf4bf173d4079b03c7b8525bccaa982bc5e3eef3cc80b003dee2d09bc788b4cbc342b5b3cb063113d3eec84bb0925f7bbf205e3bb9a55013de508e5ba35136bbb470d42bcf4b2d13c1d17033bf87d9739018cb5bc5e56873c0ff5503b5463fa3ae5e6acbc506a003c7df7103b61ac673bd67e90bcc6f5863a6cac243ab1d2653b70664abcbb7cc3bdb2c10f3caafb05bdd507893c63769abd09baaabd4e4730bdd43abf3c43d23ebdc698fbbd2ca484bdc2e5e93cecad25bc4766fdbdb0c4afbd901fed3c0eb02a3c472dd8bd0dfaa5bd39c4ad3c872cd53c0c82aebd7a5f92bdf34e903c8da5da3c30ee51bd781b3fbda41cd73bca85ba3cf8dfb0bc69468fbc7abfcb396213a13c4ddf8b3b066cbc3b32d385bb18e0193dd93b38bebea5383fff05323f3fa4163d6d791fbeef4c153fafeb493f5c2bc73c61ccc8bd7ce7c83e1cd8523f54c1373c3e0315bd7b1b4a3eb9f6483fa35c623b0cdea3bad2cd6c3dd972293fceda89bbac6b043df8cf10bd6609033ff5621abcdde5303d07ae95bda5249f3e784b50bce692313dc11ca7bd24e6083ed3da49bcf96a253dbcf8adbd4e40a03abec437be67880c3d00000000000000009c0347bed9a5113d0000000000000000466238befbe3d73c0000000000000000350d1abe1d547f3c00000000000000004831cdbd98d0d33b000000000000000087319ebddc2d733b0000000000000000ad3e45bdaa1b9a3b000000000000000047a110bda27b073c0000000000000000004012bd5418613c0000000000000000da68963bae891ebcbf2c1c3c70a3cb3b35e4ab3beb4eecbb4b4ad43b1049903c77fc7d3be16567bb59512b3b7358883cae5e163b14aaccb9cef61ebbe5ff883c8a83203b51fc3f3a7d6a89bbbab8543ccb1f8f3957250f3b62bba3bb368f203c467f093a9970a63a12e880bb6231d93a3b88443a3ff7563a89d880bb2dbda1bac3d4933a2a94783a2c96f9baeed694bb0fbe1e3cec1801bc5e3d3ebc9988bb3ccd71e83c76963fbc76e81fbc14cf013cfaa5203dc3dd0abcb28ebdbbd23cfabb43b4213d14df6cbba06d6cbbff056fbc30520b3d0c128d3a54840e39f066c7bc3495e43c0e20053bb9b9893a090dbabc33ca973c0c0a5b3b0564883b099da5bc13be0c3ca8e1373b24628f3b5e9177bca4922bbb44c8c33a9d72553bc09310bc21eb68bdd1c788bc5c4b04bdffec9c3c2475f7bc6c5cdabdb57f5ebd6136dd3c167ba3bb78070bbe9e35abbd4e42003dd0f2763c8f340abe4268c4bd08d5e93c094b033dd4f3fdbd210ec0bd22eebb3c84f8f83ce177bdbd8efb93bd61894e3c4e66cd3c5d6f5fbd8ccf3ebda9b2a33bd7b29a3cb5eabbbc4ae588bc6efd1cbbdcae343c34e69d3bcada323c4434c1bbb525bc3c33d1eebd7ae0ea3e9a6e723f58d19e3c5e07b1bd0892a93efc85813fb35e263c34d80fbdac2f353ec035803f2b3e443bbb17d03af9d04f3d594e643f53165fbbe8fcfc3cb1bd2cbd5ee43e3f4f86aebb8426253dbc0995bd9adc073f49ae13bc788b2c3d1567a0bd80da9e3ecb851fbceefc033d72c680bd8304f13d165805bc37ffa93c072a37bd7580b4bcc8a164bec5d93b3d0000000000000000744066be237a313d0000000000000000e57041beb9d2e13c0000000000000000e90e0abebbb75c3c000000000000000086d4c5bdb81fb33b0000000000000000d6197bbd3f1d9a3b00000000000000004bcc1dbd7c15bc3b00000000000000007114f5bc32564d3c0000000000000000513e12bd4410843c00000000000000000eb2a63b1c3ae0bb497c763b3c02923b5baa8d3bba7683bb2368ccbad7016e3c7af50e3b149883b9f3eadfbb965ca83c87dda839aab9cc3a2cd2c6bbf753a73cc242103a232b983a73ee0abcd4897a3c627c2fba05e13b3b7386f2bb7149073c6309c6b8e16d113bc42d5dbb60e1583be999b939aeac093a0d8733bbfc1045bb74de553a6f0f2d3a59c5d9b9f11792bbc731843c729e2bbc3735c3bbb054953b5bb20e3d1ba548bca3df6fbbf2b4fbbbb7752e3d59b614bc2abcc3bac35a6bbc1dbb2a3daa002abbfb8e503a9d6cbfbc6b0d0d3df81a153bc64e843bffeac2bc2cffe53cbcbb3e3b9b40a93b3d0dc0bc396b8b3c8a8a813b90e3813b762697bcdcabf73bd546543bf850953b3baa38bccbaf81ba8e1543b920924a3bc812d5bb7a9874bc0f452dbd9d97dabc089b8e3cf034223c609a04be95f374bd96b7e23cf6a6d93ccee122bed08db5bda29eef3c49dd1b3d041424be656acabd0272d43cc2982a3d5cf409be8affb1bd167e6e3c50850e3dedb7c5bd2cb292bd37c9123c23d1b13c2f2658bddd6d31bd05aba63a3d8a403c2d0994bc698b59bc093290bbb5a9723ba079953b00ac6a3c2e03d3bb58c7073c1fed67bdff2d633effc8903f9250963b8b92c0bc095de13d8c9a973f25aef3bafcd7db3b8b8c543c85b28e3f286c66bb6ea7f43c0f126dbd5671783f150209bcebf62f3d0925cabd4b24433ff602f7bbb1502d3d4ebbbebd3e3f063fcfc403bcd6950a3d776788bd17a08f3eaf7ab4bb99348b3cab95febc26caa93d6b7e38bbcdc3a03bf00128bc9a8a24bde8eb71be31214e3d00000000000000000e8960be1ce0263d0000000000000000de3923be51d9b33c0000000000000000ca5fdbbdef16dd3b000000000000000082727fbd7f973d3b0000000000000000f21c02bd121c2e3b000000000000000077577cbc427eb43b00000000000000008af38cbcc7322f3c00000000000000000e8a04bd3a08903c000000000000000036de1c3be1ea26bbf425bcbbefd04b3cf0f17e3bf6dd9cb9c07b42bc639eaf3cbea1053b10d6c43af0fb49bc998ee73cbd0f87ba47a8463b164553bc64e1d33cd8e8483a2afce03a68a50fbc0a6d773ca7a980ba6a99173b2ca6b3bb38c7213cab4375b96613bf3a1c7b2ebb9530e13a53e311ba2b27963a9a636a3a837f0dbb595b013b798d94ba8c78a83af9b4b3bbc4dfb33cc3946cbcfabf06bb40b1a4bb2b8c113d55e783bc3c1b0c3af92984bc12272e3dcca701bc793f543a9d77b9bc4363243dd7f9d9ba13ba7c3bd7c4c8bca580103d99f9613bc1758b3b33fcc0bc37d4d03c8981bc3b0aa79d3b3fa598bcc3ca783caf16d23be29e973b494563bc12ffa73bd134943bf678ad3b5760f5bb5ffa4bbb57ea823af8e0c93a4fbb0bbbcf6eab3c28e4e3bd4489a0bc1fdea23c9b3e1a3d0cca1bbefb594ebd4c7fc83c3877553d4dd545be88f0acbd9682d13c0da9573df6a036be15e9babd3969853c264a2e3dc6160abe037abdbde19c313c9e16ed3c6a0abfbd138f8fbdda7fcf3af11b593c32543ebde2db31bda27a94bbf260ddb97b8964bc9ccd42bc3a0702bcbb698ebb60f9503c51e2a83c2265ddbb12a579bb0532a03b6a9116bc43a1b03f9fe8a0bb7b42673c214af4bc1c8c9d3f58c302bca1251d3dc272d2bd8f43963f93e40dbc85f7443dc1f802be9011793f01d21ebc4eb3563de3dc01bef5103b3f43cd0abc5696223d5581bcbd9092f33e107cb6bb4e4dc23c5d0a38bd50bb6b3e6f9819bb8b6f563b776b03bb6104633d3e2f893a6b2306bc1a15e13c6161d5bdcfa57abe80cf533d00000000000000009a5c1dbe3a54e23c0000000000000000d55ad7bddac91e3c0000000000000000978d47bd9c58e03900000000000000001ed1323946b680bb00000000000000008529b43c9042aabb0000000000000000d2dcc83c2c32853a00000000000000001220103c0db2fc3b000000000000000002f2f5bcb33a8c3c000000000000000000000000000000000000000000000000e84bf4b8c055b33a6f5489bcda570a3de2c7eab9c9a1463b76e175bcfea9e73c028200bbfef8603b167916bc7cb9b83c749af4ba547e603b343614bcf14d933cceab4937eb2c153b0ae88fbbe68ccb3b48c2a2ba26f7c33a7f6d63ba610fa93a8c7d363a914fd3bad230653b458c7fbb00000000000000000000000000000000000000000000000000000000000000005a5c0f3d4ea043bcd60eed3ad5229dbcdbb1183d4cb084bbc9545e3bb1f8c3bc66a0123d8abc9a3a23af593b495faabc332ae23c18e5c33b873ec53b9965afbca86ca23c9e04063c1ea75e3b20f982bc443a303cabdbe13b9d36a93b659a15bc3cda9f3a44dc953b1924e03a718220bb000000000000000000000000000000000000000000000000000000000000000067f98a3d9efe5fbe544c38bdaa92993c87da7f3d829c42be066699bd7d1c523c6fe1453d2f1528bea382bdbdf949fe3b880d213de1e6f9bd7e61b3bd1520233aea67b83c2e728ebd790c93bd221f12bbe8e38f3bb9d2fdbc9a4229bdd88ff9bbb667e5bbceadd53a84a0c2bb6facf4bb000000000000000000000000000000000000000000000000000000000000803f91b342bcc83d533d954341be8e13b13fecd40bbcad415a3d41a42dbe48d58e3fc0cb0dbcc12e5b3d538b27be8555693fac1a17bc8fc2463dbebc09bec893263f8b1ae0bbf338113d9652aabd66e7c63ea3fd77bbd3076f3c1f6de3bcd8c92f3efbdfe3b8cd2438bb93e3a83c04f1d4bc0000000000000000000000000000000000000000000000000000000000000000332eccbdcbe7543c000000000000000071cea33ba79dc6bb0000000000000000513c743db8be82bc00000000000000008726c13d6e489cbc0000000000000000b1d0cb3d2a9675bc0000000000000000a7579b3da3bb05bc00000000000000006d07e63ccce0b83b00000000000000000000000000000000000000000000000000000000000000000000000000000000b599f73a207a12bc1c801b3cd311463d5834ca3a8ba15e396c4323bcb0b3863df026643a6d5d993b5a2f8abc6375883d80c8173b7febc73b07e69cbca379653d2355ed395648103c5920a7bc045b2b3d7b46b73ac3ab8d3b17e319bc57aa573cc13dd33a3ce768ba44ecebb97e7c6cbb0000000000000000000000000000000000000000000000000000000000000000c17356bc43ab4b3b4e620bbd5c2a8b3df12387bc8c83033bdccb0fbd50e2683d60368fbc294a6c3a7bd6f7bc2d2a1d3d9bd347bc76730aba9833c8bce148be3c25ae59bb43ed98bb790970bc1179a63b5519753b2dff86bbda7ecabb0d7487bb48a3b73b2bfc48bb4db1003ab5d100bc00000000000000000000000000000000000000000000000000000000000000003bfa31be5fcdc7bd4648113d623f21bca1c300be903f22bed712653d1e3f75bcddc0babd7f4230beadb6783db83d89bc16c142bdcacf2ebeb50b603d11a360bcaf2ab3bb779c14be1c5b343ddf240bbc70123d3cb6e7a1bd20bc963c880e27babd7c773c95f0e6bb2e372abccbe8df3b0000000000000000000000000000000000000000000000000000803f000000008b328d3d764373beb887b43f858ba8bdd239a93dc39269be09af903f3aaf833ddef9ae3d884c53be1487603fdef1223e1167923d02d327be81151a3fc175683e1f803e3d2d18d6bd4fdbae3e0d2e743e7322963c8f5a2cbda4da033e3ded323e05b18cbb9cc90e3c5e7831bdf3547f3d00000000000000000000000000000000000000000000000000000000000000003769503cec9928bb0000000000000000fb4617bd6a77403c00000000000000001f1694bd18bcc13c000000000000000078b4d7bd0c6a103d0000000000000000e8fce5bdd9b6163d000000000000000023e9a2bdf762ce3c00000000000000005cd5e7bc34d4173c000000000000000000000000000000000000000000000000ab9e473b8c8919bc48d3073c0031e93c3877823b21cf57bb8f1f61bc73ef803d623b3a3ba089963ba62daebc3615933d2f3cdc3ac98aef3bd8f0c4bce553863d238d9d396a661a3c739cb8bc6aa9413d19aa8d3a89ef783b50571bbce7b2a63c81dbc139e16e0cba8efd233997dcf63ae60d043b38361cbb0467903bebaee3bbfb941e3bd58eaabb35e4be3bbd318dbc13262bbc83493e3b25c007bd7d8f7d3d7e693bbc4c2bd63adf5430bd96039a3d6ae833bc6d35d538289229bd99d16a3ddcad77bb629523bb185ff3bce91d003de0638b3bebddbabba41893bcf87d233c291c3e3c1e08d3bb8e6ce8bb0b47a7bbb9582f3c8cb5adbb15390d3bdbe81abc25afe8b88b9e813a52e1833b14c800bc66dfe93b2ac2bc394a33da3b690d0cbc443e0dbe9aeefcbc6e7f833ca211d3bb59f6f4bde2ad1cbe9ad5703d7a3687bc0f78c6bdfcb74dbef097823db49b95bcb33d5abdd72958be31c35c3de3da6cbc059737bc8bb441be45fe103d4d6defbb21f3203c96ba00be7d2ef43ba5202e3be592193c809236bdb135a9bcda44513c582ab838e6457b3ceae08abc5e06f83bbe3e4c3c9701483d1428e0bcb62ffd3b8854943d7bbd87be88a2b43f7145a9bc97beb03d23fc8fbee293a03f283fed3d8513c43de28d88bec644843f717f813e55cba33dda524cbe85603b3f9a60b73e25915a3d3d3304be4464e43e8082cc3ef3c7d63c67647bbd0127533e8f6bb63e950aa33a790ba9bb4c8b053d40d3693e14348fbc9f390d3d654b49bd79c1613d523f0abd16f2733d088114bef6a512bd6a46ae3a2d713fba000000000000000063fa47bdc4084b3c0000000000000000d7b1c7bd0cbce73c0000000000000000bb5309be93f6233d0000000000000000908019bedf59393d0000000000000000205e03bee366173d0000000000000000eab98ebd6212763c0000000000000000115e423b32e6afbb00000000000000000b5fcc3ce55513bc0000000000000000a340533aa8949ab961b980bbe26a003d86e4083bcf8e1b3b53fe98bcc0c3723d622b253b50acbc3bedc0c5bccaa2873d02f810b9bbb7003c3de5b6bca42c493d816aee3a5589323b3ba649bca982e93cfac4e63ac74ed6ba8f1808bb1959cd3b3be7dd3a2b8736bb3c720b3baf9acaba78b5d13ac41e8abb45d2b03bc29820bc81953c3b8a97c6bbed23293c81269cbc1a9461bc5f2da83b42140fbde595643d2e1a3dbcab99333ba9ca20bdc1d4743dfe5ef2bbb123923ac7d403bda50f1e3d4becea3bb8e3cdbb260693bcc357833c619d7e3c69dcfcbb485007bc177509b72920a13c4bddd7bb82c3da3934cb11bc6d98703cf6ee8dbbdde2953bf5de19bc2202003cb4a1393a58c6043cdd5d19bcbdc1a53bbb05f13a8359bb3bad95bdbb4e0bc9bdbde611bd0338bf3c39f149bc7604b6bd903a1dbe23f7553dfe84a0bced9f76bd5a834ebe07bd4d3df0d586bcc8db9dbc367f4cbe120bd33cdab7d5bb34421a3bdf7d1fbe701e1b3b2759953af78b253c316caebdc73020bd23398f3cc2d21c3c1e7910bd340134bd7a67993cc564aa3b4f39623c8fc012bd26552b3c955fb6bac6de543d85e1f6bc4289c73b3f8aac3df0b989be0b7f953f65965a3e89b0c33d2e9195be7fc1883faf9cb03e8be0ab3d918c69bec7f24e3f5734f33e8b215d3d404c14be9fc4043f44e20c3fdc31d33ceead8abd0cf5873eaf5a093fca84893b90f02ebc01c09e3dcdcde03e1a4a78bc5bc5d23cff91eebcff858f3e3ef206bd89d2663da2b2b7bdcab6c83da3440abd6c51723dddbcd8bdd4193abd36e580bd6a6c913c0000000000000000b6d0ecbd18070f3d00000000000000008b1922be228c453d00000000000000001c1a34be772d4f3d000000000000000015b825be8a253a3d0000000000000000c4b6eebd1a4dd33c00000000000000009f9e61bdddbe9a3b0000000000000000381ab03b426713bc0000000000000000ef8f2e3d91d792bc0000000000000000f45d073bb1109b3af20d25bc50c90b3db9cf943a1a4dd73baa07b6bc4e875c3dfa7c16ba9b270e3c7adcb9bc49ee443dae5eab3a55a0853b96d476bc02e0f33cbc6a783a0c99ec3a6658a8bb8fc50c3cfbb8fc3a912e0bbbe33c433aa92f193b6b20e03a45978abb2139a33bd8c81fbce2a6433b55b7c6bbd762fe3bb41763bc930af33a97f2a4bb2c66023c726884bcd6faa4bc8a6f013c8b3efabcba64383d3c9614bce789213bead5fdbc36e3243d14cf013cd3ddc3bbc289a5bc3c93973cb91e9a3c555beabb6f460ebcee1905b8be20ee3c255e0bbc917dc2ba2164e8bb2766b53cb10699bb1ab62d3bed4524bcb444a73c604036bb664add3b0f3d2fbce377583c30aab73977cbbd3bcbaebabb2e90ee3b7ad3203bd6f9953b17952bbaf7baa8bd72591dbd9000e53cf2249dbca6665abd3b5521be03f02d3d48969abcbaa98cbceca14bbe3b20d73c512e37bc997f8b3b2b402ebe972653bc6027713ba4074d3c63dbecbdad7c77bdda11a83c2795453ce4e683bd342694bdf708c83ca5e72a3c3c67a6bcb0e986bd1ce6a73ce292bc3a84619e3c8af94bbdb352603cf0c087bb99ab4f3d1d1f25bd9fb62c3cff01ac3d410081be5a4f753f409ce93ef6e0a53debdb77be20874f3f8a2e1a3f3c4a6c3d603627beca890d3f6331363fb5f2e43c194797bd6af0953e6a8e3a3f4fe07e3b62fc61bc2ef5be3d2445293fc6ea4bbc5ae0c63cce1f90bca1b9fe3e5947e1bc9bba5d3d4997b1bde2fd9d3ed88a16bdcbf87f3d0c0cccbd4641d63d026a00bd2c11423d2489babdc30c44bdd1d702be0564153d00000000000000003d653cbeafa2603d0000000000000000a55c56bec4967a3d0000000000000000bbd744be7390503d0000000000000000f7ac19be3f60083d000000000000000030bda8bdff7e0d3c0000000000000000f0fcdfbccfd1e4bb0000000000000000f84aa23c84b192bc00000000000000002f426f3d709206bd00000000000000000ae1bc3a32b1a13b61a380bc41cb133d6cb4bd37ab4ed53b7e06b0bc8e312b3dd917d93a646c6c3beb306dbc98e6f83cc065063ab7892f3a951b84bb2d39293c7181553af0e1d9bad0056dbb8c16023c6404363b59e8c2bb5c22a13bb840fbbb060d0a3bef8dd1bb9573eb3bf8d868bc6dc02f3bd44fe4bb6beb0e3c8f4a68bcfeb6283bd451d5bb1995ea3b0bcd5ebcaa7a96bcf60adf3b1863dabc1fd80b3da6173c3bedddd6ba19ad96bcbb2aa93c9cdca03cdef6cebb451723bcc6077e3a4183043d446a0dbc3a6d49bafe2f0dbc7525de3cbb990bbc1bbd333b3dd103bccc63fa3c4b0877bbdf81eb3bf81863bc32c4c63c5ea915bb5712ff3bcde114bca67e4c3cd8a9cd3aa282d43b80b217bbe0f9843bbe75853bf06f963b4319933946bf71bd9eec5bbd9467f33c33abadbc8e1c97bca98926bef1d9c43c5b5e53bc886abd3be5fe35bec8f919bc5b5a27b894d26a3c6bd205be51b38fbdc62ea93ceebf883c002fd1bd612d8cbd6a1dae3ce5b3873c273349bd45a1cbbd7e9ef53c46250b3c0c510bbc7d64a9bdf670b43cb5c88ebb8e6ce63cad5165bda6016c3c3a3610bcad464a3d8a770bbdf482d63b9fdf923df68d51be1b4c353fdc48383fba12643d64802bbe257b0a3f4fc45b3f4d71f23c089caabd963f9c3e8196693f5aabaa3b0e3788bcc97cd23dabff5d3f6f1120bc20a1973c36e7c2bb7bd2343f27b1debc9357763d70b8d2bd30680a3f27fb08bdd52e863d1765ebbddec19c3e76b70dbdb564633d1a01b9bdb582af3db202d4bcdba8273ddba68bbde23585bdced14abe2f09723d000000000000000046e875bef7f28e3d0000000000000000c0206abe0d717c3d00000000000000008ae438bec247203d0000000000000000829edfbd2352823c000000000000000066df4ebddd40b2bb000000000000000019e2e23b6e67a3bc0000000000000000169c373d6a7af1bc0000000000000000b7d9843d9ba017bd0000000000000000af600c3a77559e3b861364bc668bff3c0d303638cbd26a3b713665bcacc7dd3cecbc793ac22b9039541eb0bb3417303c5435873a2f6d0cbb84fa81bb7b7ad83b8508333bee96adbba351013b5a51b4bb557a363bd79ef2bba743db3bf85e30bc023c1d3bbbb6babbef2fd33b1f1157bcb457233b4560bbbb8701073c6a305abc48b9aa3a636e5abb75f4ca3b957521bc4d6645bcf6899e3ba5407abc5d578a3c96bf793cf325c2bb16d6efbb18407d3bdd58123db3a31bbcffe56eb9042801bcc048143d16b8f6bb2622a03b033739bc703c243d4b8acebbe203013c19b370bc7b32043d155e2dbb945c053c420232bca9ecc93ce44ebebad7c4de3b4e2bd1bbd974353c85750c3b89d06c3bbad488ba88f593b9f844793bed75203b54c3223b0d16fdbc39ac91bd89f7f33ce74db5bc721e983b550618be3b1107bc5e99cabad047823c8c5b0fbe59c592bd5c0cb13ccff7a23cac44e6bd6cfcd4bd08b6013dce6cca3cdc6ea0bd6332ffbdec360f3d1bd16f3c30b914bdd8b3e4bd3edee93cc12a153b9121be3b8546bebd4218ca3c4292ddbb2f38f13c62fd56bd15fa3c3c53c32fbc5639323de487abbcd91c693b5dbb3f3db29809be6fcce43e3e1c783fcb95e03c4686b2bd797f903e21ac893fa8f8e03b36dababc4e23d33d29ad873fd7cb1abc15a2ac3c9dfea0bce0a76d3f7209dbbcacd0703d2a24e7bd18de423fa5be08bdb1538e3d8b4209bec22f053fb4bc08bd99aa833d599bf1bd72408d3e2799ccbc0f3d333d9f8499bd691e853d277184bcf228af3c594d14bdcf05adbd7fd57cbede97973d000000000000000083eb85beb432953d000000000000000030b656be1d2b403d0000000000000000a53500be905b7a3c0000000000000000d4c664bdb024a2bb00000000000000003d6adf3b4afbcabc000000000000000039ba513d189b17bd0000000000000000166e6a3d7a4105bd0000000000000000cb2a7b3da05316bd00000000000000005a9fd13a9a15e83a855041bc67e4973c2ba7f83755c97f3affdfdfbbb79d193cfc544c3a50edeeb9656bc2bb5fa0003c11b3de3a641885bbcb6af5b99316fdba2809b73a4515d1bb8b31833b4023d0bb5091303ba263e2bba081f73bfe6d5abc8d66023b21c5c2bbfe3d023c338673bc16b4063b41f38cbbeec39a3b0f84f7bb2c23e13a4dc718bb13226d3b8d3762bb40e0653ab32397391772c7bb93bca23bbd20063daf3a16bcb18f5a3a2c82e1bbd34e263d2baa37bc3708ba3bd43c7dbcd9603a3daf33fbbb0ada063c53118cbcf4462c3dafe0ebbb2c8d283c2b5d78bc4bc2103d83d571bba35af33b881d21bc96a8c23c76cdedb9339cd03bdaec85bb6e75ed3bf7fcf63a4c23133b6d79613a39dc9cbb3cca4f3b6183c33729b9083bbf4665bb131f99bdcf3dbf3beaf30ebc8034943c1c5dffbdbdd585bd7ec2aa3c45aff23c067207bee3b3cabdfd2c013d6dde023d7d8fdfbd9d0305be9102153d70a7c53c385692bd570502be522c103dcd0a283c476aaebcf3da00bef2c9073d5bcf5bbab3611a3ccf48bcbdafa4c33c9a4e12bc9ca2be3cd1a31cbd3a6b023ced8c16bc05c4d63cc33e563bc8dd33bbf9649e3c57037fbd7c09533eb711963f026ec03b6543a5bccd807e3d78fb9e3f9dc725bc7e7dd43cbf912dbddaeb903f4f7fc9bc2252733ddb5cf7bda1f5773f4e9006bdd00f953db9f51abe7ae73a3f17e909bd28db943dc51e13be58dff33eddf4e1bcaf4b593dcaf8cbbdcae36a3ea10473bca046d33c1b2332bd9026ee3c88abd0bb22f5d73b32680bbc3493aebd283283bef831923d0000000000000000084974bed9a6683d00000000000000002fb214bee029b83c0000000000000000ebac7ebd21f0adbb0000000000000000e898273caa95dabc00000000000000005bb9953de12c40bd00000000000000008bbcb43d88e94cbd000000000000000035de7a3df33403bd00000000000000000d77c43c51f78abc0000000000000000bc08173a98a1333702440dbc67c5323c3fb2e83ad15a01bb44edacbb3427a43a4e6afa3ac97d90bbd375b5bafeb259ba99b50d3b7c0ecebb40ac6a3b333e05bc2a59043b9fa9c5bba615ec3bf2fc66bc04cc023b7dd7d9bbaba6003ccdb95abc262ac43adb3e93bb7666d33b0bbc1cbc5471f23a549e0dbbf2ed263bea2a02bbaa34023b5e0edbb999c948baa870d6b9f51fbb3ca5ca1bbc53b4a53abcfaa5bba1a02f3dc34e3dbc073aee3b32d787bc555c4f3d6b6009bc0b152b3c34d0bdbc69a7553d114df8bbd077283c7c66a0bcb6313c3d2c4aa1bba7d6053cd6bc49bc4170033d5e14bbb9f3aece3b8ed3b5bb2675783c6983433b61e42a3bd5501fba52bb0e3b9001fc39eb359637cd5da639a6e8d7bb97ca1f3b0049bdba467a0d3b53068b3c508dd9bd24a6d8bc10e8173c0363113dd048eabd0b80d6bd7dba173d95642d3de32903be49db08bec062143d411f0a3db48ebebdff531abe6513193d41438e3c6d373fbd98561dbe621f1a3d7ca42d3b7e4a10bcfe8f01be0194eb3cb33df8bbe78a663c74c99bbd3e4b553c87dcc9bb429a963b9ceb3cbc1655ef3a52f2cbbba600633c61cade3c61af1abc72f05bbaf7b1833b8ed1cdbc6bc9b43f57d425bcd7d3ea3ccf18b1bd98b5a63f81d9c9bc79458f3d4b9f28be021d973ffb2e06bd232ca63d009f38be690f6e3f826108bd185f9d3d33a727be4324293fb18fdfbc64e27e3dee5800be4548c93e563c7cbc0c8f0f3d213c85bd0d561e3ee44282bbcb7e083c5f310ebc5e6e0e3ca7707c3a7e4d9fbb757c853c1684e5bdb63c82be7400833d00000000000000003c8817be4cd2b03c00000000000000000ca16bbd87f194bb0000000000000000508d2a3db97605bd000000000000000036d8f13dbffe69bd00000000000000006ac0193e26828cbd0000000000000000a662043e113958bd00000000000000002bd0123dfa0557bc0000000000000000c924a4bcfe25d83b0000000000000000000000000000000000000000000000009eeb853ab67510bbf637bebbd9c8ea3b3b66833a63cdadbb57e6033bd04007bcb0e4813a7231d6bba807ce3b7eb662bc59e99a3a0c9aa3bb5698d83b8a6583bc1e8e143a327986bba22c023cb02263bcc2a2ed3aa2c22ebbe43e8c3b843ff0bb12fcd63a780b7bb92249c0395836b2ba0000000000000000000000000000000000000000000000000000000000000000f8ab473d3de05ebcfa392e3c04b6bfbc15f16f3d130463bce85d3d3c4861a9bcfcbf683d665332bc66162d3c6c0767bc29be443d98ffa1bbd942e13b960415bc0076f13c6148aa3a6e85963b8aa899bbfb234b3c887f613b74ab823ab8ba13b8bc660fbb2a36793b27ccc0ba21d5703a0000000000000000000000000000000000000000000000000000000000000000e8bc4b3d624820beac76cfbded19083db22a2c3da6c3debd707417be9b002d3dd966cc3c132f99bdd78a2bbeffba3e3d10875b3c4dd406bd18992abe5528253da86485ba257f463b545407be5ff6d83c55ded0bbd135553cdb8195bda987173cfa4ec0bb9817463c8c82c2ba447305bc000000000000000000000000000000000000000000000000000000000000803f293ce2bcd502a63d787468be164ab23f6b3501bdae65ad3d96fb58beb56b8c3feb62fbbc4eee993dfcde3abe0aaa563f3448ddbc60bd833d14e518befed5113f385889bc3248263d5815c2bd5ed49f3ec456fbbbff2d863c7bcd11bdb647e13d7e4feb3a97558fbb4d93103c223c40bd0000000000000000000000000000000000000000000000000000000000000000223091bd01fc523b0000000000000000006f8d3d2f980cbd0000000000000000da9a283ec4888bbd0000000000000000cb5b693e6fd8b3bd0000000000000000e7106f3e25edb0bd0000000000000000f6122e3e41fe5ebd00000000000000002c2c603dac6931bc00000000000000000000000000000000000000000000000000000000000000000000000000000000836a783bbcd55b3b1ba55f3b0a03f6ba63ab403b645e643bc55b993bb30093b81f9c0e3b0467463b9638963baaa43538c4272f3bd0a7c23aa4b6753b51c7f0395e0df43afe830e3b4671543b62c90e3ba2a0ce3a3e420b3b50d9793bbccdd83ab760bb3a18eccf3a9928653bf7140c3b0000000000000000000000000000000000000000000000000000000000000000be0349bac6d923bab6bb0b3b71b51dbdd748a03afc80bbb94d807c3a65be06bd8204303a74c336ba87167db87ab6e4bc34d0f2b8834db6baf5deb83a64d3afbc628b503a8751fb38c765d63aa2498cbcbc2657b958953cba61a52c3bddc229bc54f7f3bac190caba97ec783b0fe990bb0000000000000000000000000000000000000000000000000000000000000000e71c6dbd2fcc83ba3ff13cb81bed06b9c4e46bbd374d4dbb9c2a6b3a029cf93980994fbde4fb53bba7e1633b3193beb8e32730bd7d809dbba55b7c3b7a4f033ab6ee12bd15f3c6bb0e599a3b219f833a687fd0bcc3dee4bbe414ae3b1390e8b9b2c070bce67de7bbc061b93bc36786b90000000000000000000000000000000000000000000000000000803f00000000c8000abb8ceee8bcd2038a3fe2f30ebcf5ea52bb6e66a4bc32c6663f78bc843bb2ba68bb992a8fbc09eb3b3f3a71123cbc9c4fbb0a37aabc2625123fc843543c2b6a56bbb31ccdbc4837d33e3d296b3cde40e7bad093fbbc3c61843e3540443c415b17b9e71e24bd66f8dd3d797e223c0000000000000000000000000000000000000000000000000000000000000000e80a2fbc916d2c3b0000000000000000ae62d3bb5062133b000000000000000055fabcbb3d80933a0000000000000000c9f263bb8077a63a0000000000000000b0393dbbfd24de3a00000000000000000a125cbb6a42d5390000000000000000c01e71bba9cc8a3a0000000000000000000000000000000000000000000000003d0d803bafb4813a717b1a3b6aa6cdbacafaab3b1905983be535f43b33d162ba59fe853b739b8f3b7fb4de3b28f70aba072f713b745e873b0479d83b7206693a7009213b8d9e563bd614b53b5265fb3a7145293ba076603b8bf0c73bb6ca1f3b4271fd3ab473123bdba9a83b81dc223b9e8fd539500cf23a1040923b9bcc0f3b650a8e39cb76aeb97e366f3bc5f49f3ab609093b3b6a68b9f0a0263b32881bbde031253bb2bd193a6ee99c3b2bea3dbd71bb9b3a10b078ba68b1803b86442abd38049c3a5b8168ba9d80433b52a510bd92198e3a20862ebabcb81f3bcc73dbbcd777323a15eba5baecc7743b282da8bc476888b95ba493baf8259c3b649245bc14d55fba29c18cba3ed7ca3b3f046ebb8e3b20ba5cc71fbac44a843b2d5be83a9ab904bd22e60c3bcf97b1bb982e8c3a797788bd0428adbb4d4b84bbabb399b7dfd28ebdfc0ea0bb8f54c23a80e8f339a9ef82bde341cebb8e3e763bef78ba39ef6053bd94adecbb3279ac3b0b5f59398d1936bd29c01abca163c83bf78888b814c400bd041b23bc8a9cd33beb4b0eb974388abcd7863abcf1f6c53b4b2a68ba7fbf3fbbc3ac9bbb4104a73b9a1404ba3032373a0f2b66bd0be1893ff9fdf23d27b3d93a7dc082bd5bbd813f5ce0ea3d89f780ba567242bdc6a75a3fdd70e23d5b0b0dbb82402abd0bb1313fea65cd3df61115bb973120bde11c083fbe78ae3dd57eb2ba624636bde13cc43e8ca28f3ded4f873a91fc46bd1694703e4182503df912a93b2c5058bd94b6c13d168eed3cc235663b0bcf33bdd6d1b8bcf406233cfdefe1bcffea903b00000000000000004551dfbcb44ac73b0000000000000000412aa4bca6e33c3b0000000000000000723b7cbc1a63103b0000000000000000fed13dbcc5c8373b0000000000000000907a20bc201f953a00000000000000004ed709bcef0aa13a00000000000000002afd0cbc1d45da3a0000000000000000f450c2bbd06a973a000000000000000066ab4d3befb4313951f44a3a874c8db9df099c3ba1e13b3b15e0633b1d0c81b982ce173beafc6d3bb3929a3b61e0143b2277553b6b1f463bbdb7b03bf3b0ee3a0532183b8b811a3b939c943b5469193b7440283b40ae233ba8f99c3b3e21423bdd8ef23a59f9063bb8b2943bbb063b3bea7bd43a5e424c3a559a6b3b3067093b289fa93ada8c2e397d7ff3393bd7d03aeeaa0d3baf15bbb9f061833b614609bd1c43153b7e342eba3df8c93b47522fbdb4888e3acee9a0badbe3a13bd9a10abd4d74023beb0f16ba8ba57f3b85dd03bd2540ca3acf1152ba1464533ba570b6bcc3429f3ac33a4bba1a61983b708893bc4095473aa3d346ba00b3a53b071234bce8e6e7b8598ba1babefba23b32c357bbd30e0a39414861ba3d95613b330a0639f9e8bebc3fa6bd3b480da0bb7b38803a2a7453bd0a1ed9ba404b3dbb602ddc3a62915abd23b7c3bbd3e91c3a74b5003a5ddd6bbdb07f15bc1dd0753b7380bd3a503231bd19980fbc96aba03bf0177a3ac03d26bd584531bca880d93b7d1d6c3a5742d9bc09de29bc8fa8d43bd1b03e3aacbd83bc225a06bc7e11cc3b0035d93812ee67bb45023cbbc4b09c3b2c3d2ab86735cf3af9c976bd7626683f9bbb893e00d7413b1b4796bd3d9e5c3fed79833e918198398bf263bd29ea363fd26a6b3e2388343ac61e5dbd61e2193f10d94b3e7d39c9b822a139bdbf49e83eb085233e467f963a97a256bd1beea93e0e17033e797fde3af29a48bd43e1513e73fab33d2cd1c03b565a5abd8c5cab3d4f00523da8efa23b6e961cbd97f782bc31264e3c0ccb13bd993c783b0000000000000000eff129bdb594a53b0000000000000000d2d0e5bc30dc683b000000000000000025f6c1bcd3dd3a3b00000000000000001fc27fbc9136cd3a0000000000000000dfbc63bcd0ebfe3a0000000000000000f50824bc5f2ac53a000000000000000024961bbcb8df063b00000000000000005549b8bbcdcd923a0000000000000000d002253bc3cc1938e14712bad341ce3a32876d3b86530c3b95daef3aacd6fc3ad3be473b6d7b3f3b51d67f3bf792aa3a6141353b51bb433b698b8c3bd022543bda68173bf1433e3b99c08d3bf72d7b3b5286d63a5cb21d3ba5ad863bb2f85e3b4679c93ac60fd33a916f7c3bf689403bb9e33739189c9c3ab6d5533bd1ee293b3dc91a3a5dab90b9ca6b9f3aede6ab3a6cad253beba166b778605e3b15cef0bc8ec11e3b83adccb97d7db93ba41919bd8c03233bb75c00b9ad54953b85e304bd4576143b7f35d6b9a388903b77f2d9bcc3ea0c3b77c4d9b99402333b1c1ab1bcc9bced3a3d8e61ba3251983bbe0668bcc86e733a6460a2ba8cff9d3b66d3ffbb733a703a66564bba9bcabe3baa4bfaba2278da3934250aba0d3f863bf7005c398d3faabcba20d43bab1b9abb13785e3a75093cbd7e0667bbc8f64cbb5d3dc53aec455ebdaa6531bc87cb8c3ac994ef3af8405abd1cf865bcf5aa523be615013bfaf436bdca8d58bc22f3a83bed7be83a78cc1abdeb575fbc76dfbc3bc2f4da3aae74e0bc6fe635bc72a1cf3b135c7d3a47a88ebc8cd2d9bbe3349d3b61879e3a0f94a0bb3633faba849ca23bed5a403ab3a5023b15aa64bdb57a3d3f5480d83e60c1773bdfc092bd6f7c343fe2e3ce3e499a313b60737bbdddfb1a3fac6cb63e274b003bd85d63bdf2a4fd3e7e8f9a3e5d4c083b469756bdafe3c23e7eea783e1c912c3b71d450bda5678b3ecc243e3e4109783bed564dbdb791293e00dd013e826b993ba18544bd623b873dbae98b3d2c4f993b491109bde18182bc3709603cbe9331bd5f11543b0000000000000000cb9f52bde0b09f3b0000000000000000be9c26bd2e43883b00000000000000005fc1f0bc8dc53b3b000000000000000022ceabbc7cf9243b000000000000000007d985bc4d3a183b0000000000000000368347bce4edb23a0000000000000000e2752bbcad86ea3a00000000000000001d1095bbbe56583a0000000000000000d4befa3a549b49b9217db8bad528293bced9493b2730063bff93163a8e0a6b3be6bc083bc443253b57010e3baa366a3bc504093bbe3f3c3b71f15b3bd2a6853bfb6f7b3a4547e13abb3d1a3b885c553b86b4963a094c203be048523b4907823ba67a573a5136a33abe60313b364a423b942d3c3a2280733af459013be7a0063bcdd77cbaa0462e3abe978f3a8bafa93adf6b173bcaef3c394e5f573beb65c6bc890a153bdd546cb9f539a73b53b6efbc938e133b025cfbb97920793bd1bfc1bc9981233b5437c9b99034833b5412acbc7942033b962c5db947d7333b174845bca8f4043bce6b6eba6a028c3b1eec29bcaa96bb3a018d3eba0d9f813bf0969abbf98f353abc379eba41b1943bc7263dba826f313a8e80d4b936117a3b9a82ab3a7725b4bca6538d3b8dc488bb374f393a0c7231bd5ee500bc7cf62bbb7a13a93a6bd541bdd90284bc5503953a089cdd3a6e824cbd1b3ea3bc17a3633bdd2d0f3b67e504bd9d6359bcfe728b3b710b003b1d1013bd2b1788bca22ba83b146f083b54efc1bc848d3abcc3499f3b8ab7fc3a0db97bbc71f4ddbb48b5aa3be8f9ad3a05fac3bb020003ba0671933b3d267cbab1a01b3bd9104ebdf264143f4782143f5d3e883bef5280bdd25b0b3f08f90c3fa0603b3b1f6e52bda7cdec3ed811f33e69d12a3b0deb50bd8009c53e947acf3e5929dc3a7d6410bd20fa903edc7b9c3e3fd0423be2753abd1d15563e8406783e47c7673b1f6321bd1436fc3df752223ecc10a63b1b4d21bd0b0c363d2038ad3dafc48e3bbcaadebcdd5699bcafe14a3c03f64cbddeab353b00000000000000006ba368bd20e2893b0000000000000000dead22bd2d6c363b0000000000000000b2de03bd0a27223b0000000000000000119a94bca4c5d83a0000000000000000dd4384bc64c9dd3a0000000000000000937f22bc5602a33a0000000000000000c9b9f9bb51fb713a000000000000000012f266bb9942943900000000000000005587013bbe1d623ae81ce2bab8a6383bca412b3b25c4453bd05f2a3ae4c6a03bca89ee3a2492453b0bde0e3b43d8ae3b78f5023beeb46c3b3411573bea8da43b7eb5973a0a6c333bdaa83f3b63c4963b9ac9ca3ae7533b3b08b3353b6f7d873b5f1c6b3aac02c33a0e55283bc37a653b3725223ab4788c3a6b3bd43a1fc51c3b88062b396567f3397a520b3aecaf8e3a8d20f03ab33602398e47583b352b98bca1defb3af8f9873963fd9d3be051b8bc7d89003bbe1fc2b949d1ab3b062091bc6ccefd3a637ed0b9d16b783be08475bc14e2143bc3002aba39e5663b6cd22fbcb6e7163b3c2807ba7eb7723bef1ebdbb18d8c23ad75323ba5ccf653b8eddccba441d853accca98bad767703bba47093bf91a3b3a91f43fbaf126303b6eef3a3b6847d7bc76a603ba8d2179bbc8a64d3915d441bd597994bcc7f436bb93cea23a1e6d59bdcafeebbc7d74443a8843cc3addab4bbdc52cf3bcdf8d123b560f133b64692abd2f6dd2bcfc89643b3b112e3b1c490fbd56ecb9bc85c0503b8dfc1b3b0218cdbcdd4c82bc4841613baaa51a3b84ed79bc70f0f9bbc7f0453b83dbc73afab6c8bbbd04d2b92c072f3b36d64e3a4287513b012435bd7457d83e4fd93d3f6beeb43b70ff65bda6fbca3e5ee2353f5b10b93b5b3c4cbde618ae3ebdb51d3fa74a7f3b7c1a37bd5efd8d3eead9023f9a6f563b081824bd063e583e7825cd3ecb36533b72141ebd9096143eac6c983e60f28d3b0be40fbddf8ea23dedff463ee8f7a63bd86f01bde3249b3cfaf9c63d5ed8833b50cda6bc07c8c7bc3103f83b4a4f66bd17f5e53a0000000000000000d59e84bdf660883b00000000000000003c3041bdfd22323b00000000000000005b5a0abdcabc113b00000000000000008a6eb2bc6079ec3a00000000000000002cd87dbc6e40903a00000000000000001e5120bc388c593a0000000000000000f557d9bb0a63193a0000000000000000d02e20bbd6fde1b80000000000000000a00bcd3a3024083b0659d7ba3db6643bea5f053b1c76853b25f9a13acf05c03b9a8c703ad749753ba0f5273b9122bf3b952feb3ac55a853bbe9b5c3bf924c03bb82a3a3abc80983b3a9d1e3b8e8e9a3bad0b1e3a924a263b858b243b74ada43b65b7fe399a4ffd3a7159223b8ec08b3bc1ab8039cb7e4d3a847b823af9e0233bfb2fafb81a078a39a10bef38580bae3a3090693af732133ae931413bc74544bc3d14803ad801f139ee678c3b5cf65ebce964e83ab621143a06385d3baefe2abc139dce3a324350b98d304e3bfe0b0ebc283df23a06dca2b92f81273b0814a6bb15ea193beadc5fba51ec483bf18700bb907eef392cb6abbaa4902f3b2723c63a20f7993afd2d60ba66571d3bb667a13b3217c83987ec1bba47fadd3ad68b9e3bba3202bdeb2b20bc5bb898bbc27569b43cdf51bd74c806bdd16995bb18ae9a3abeeb43bd4c8920bd7de253badb38173b7fb549bd26412abd4c45bf390f621b3b47f215bda17801bd989c553a2f00203bfe9a06bd8484f2bcab3a503aa975533b31e9abbc3300a8bc121952b96165053b386f60bc45e720bc52bb2a39b4f0023b0833a2bba14bc4b813744b3a2cc96c3af2df8a3b8e9713bd5569893e02f1673f81e5c73bc67e39bdb02f7e3eda855d3f0acb943bc92413bd0f265a3e42be383f0b95883b080711bd630f303efbbf1c3f043e393bc929e8bcfdb5013ebdbfee3ec4c0683b7e32eebc7a65a73d4b85b23eb3127c3b46e9c5bceda1253d3d86643e7092983b58adb1bc0034d1bb928bd63d8e55773bb30159bc764f00bd95fe9fb8cc5573bd2fafcd3a0000000000000000fe1d87bdb1c8573b000000000000000034ee27bdff710d3b0000000000000000305df5bc0934af3a00000000000000006bc581bcc94a553a000000000000000095f73cbce575363a0000000000000000230dc1bb84a0e0b9000000000000000011139dbb0410d2b900000000000000002aa7ffba8a51abba00000000000000004704ee3adb293b3be73b1aba795f5f3bf0457c3a3d30a93bfe35853b9e01ee3b0d23a53a2effa83be5139d3bd420f13bfaff583ade11a03b96b2993b54eeda3bc8fc213ae5c76a3b9f07703b0749af3ba714103a5a903f3b1729533b5ebeaa3b9f5e0739a4f5fa3ad66c343b051f8c3baedf93ba4ecae63adb72253b1403533b25fde4b933575bb9de42693819c2ac3addeb16ba3c05a039a245203be585b1bbc5a73b392ca45f3ac0d35b3b324b65bb31d6203a67e4cb386a15403b4e609cbb33fcae3adbb24ab98e5b0d3b1e7207bb0daecd3a22c33bb9b5770d3b03010aba63c4f93a6d471bba0d0f203b81bb193b4722fa3a5e721aba5b96b23abc4da83b76b7503a30a1e3395c0fcc398926fb3b276e003af0da05bbd0d6763a220ae43b984b22bdfc2fd5bcf673abbba3305b3aaff15bbd053c69bd26b8e6bb587ab93ab5af54bdf24a7bbdc58d85bb0c32093b3c7e3dbddf256abd15104cbb49f55c3bedbb12bd80673bbd92fe43bbd558483bca6eedbc55f31fbd1cfd66bb4c62713b7a129ebcf355e2bc00fe69bb168e643b9d2111bc3f306bbc9b3081bb65480c3b48d12cbb7b6066ba6ba2acba3b6bde3ae6b59b3b9d11d4bc79d9f13d92bc893f76b8ca3bc1a2f0bca350d93deaaf813f6d639a3bafb2cfbc7298bd3d47845b3fed195b3b1d5fbdbca535953d4e59333f08032e3bc832a3bcfe77493dd3bf093fb235533ba17495bc1395b63c2a38c83e5e8b2f3bb53372bce6fe98bba1547a3e0fd1313bb39b19bc4e9efbbc7d41d53d08224e3b3ee6b2bb4ff125bd8fa063bce9f068bd5c928c3a0000000000000000a2bd64bd3939113b00000000000000009f1501bd55f2453a00000000000000004a6390bc63c4243a00000000000000004496fabbe1979e390000000000000000ffdc3abb92808eb9000000000000000066a63bba47fd1bba0000000000000000ff9742bb246db3ba0000000000000000a9250cbaaa7cb4ba0000000000000000000000000000000000000000000000008580fd3942fc863bab449b3bfb719b3bd8d8fc3910bd823b2eee783bd66da83bbd2fae3a01ed263b9e24333b69a0863bc35560b939560e3bbd460f3ba5c3a23bc3f9293916d11a3bac59403b4dfd763b80d0233ae97a4d3ac67af03a6d703a3b19ca59b9d5be633af97275b95237593b0000000000000000000000000000000000000000000000000000000000000000421700baaf7a2e3a558fc53afb044e3a5228d2384e06ca39a786a63a6b24803afc1e193a479cc939f2ae393b2ac11e39e4d10c3ab4b18c3a58ceb1399c2a3a3b0c2bd33a263ce638e7bba23aeeea693bc512ba3a951dd5b90051963a3954983b4fbfc738057b44397614a9398941f33b00000000000000000000000000000000000000000000000000000000000000002da937bdee6e78bd710db6bb3755173a3d551cbde2f96bbdc2b697bbe8f2d23ade1503bd8df54ebd41f898bb7f2d353bd091d5bcb7e030bdf64faabbca750e3b002a99bccc410ebdb32b99bb62ee423bc85d4abc47e9d5bcdba9b5bb33a7433bc61498bb014883bcd2dcd0bbd1de023b000000000000000000000000000000000000000000000000000000000000803fb018863b000045bc838f7cbce21c8a3fd1ea233b61112fbc23c72bbcc3f3663f9798393b5ee732bc843d45bcfde43b3f06701d3b271205bcbe386dbcf53f123fc52dd33aa403ffbb039eb6bc27b8d33ed891023baa2dbabb82e4fcbc0966843e7c57e33acc3307bbe6f124bdaae9de3d00000000000000000000000000000000000000000000000000000000000000005d10c4bcd143cbba00000000000000005a2309bc464202ba00000000000000008d5cb8b9cc9a72390000000000000000773cb23ba193523a000000000000000078ecc23b652367b90000000000000000dbf7bc3b4d7b9db9000000000000000063728b3b5edb02bb000000000000000000000000000000000000000000000000000000000000000000000000000000009e57883b63b3eab94b57ba3af1f9b7bae72f803b2ea5703a02190a3b1088a3b9856c363b0f55a73827dd913ad81aaa39f98a1f3bc7138eb9cb39d83991c80f3bbd4a2e3b541c9bb8394b913a9f27063b8f82053b6fdba1b99429b73a5d71143b5782213b33d596b9c6bc813afc25153b000000000000000000000000000000000000000000000000000000000000000010172e3a1dda95bafa5a2abb188527bd67edb53a3d7407bb522e5ebb61ea0abd7434b73a3a1ec1b975c31dbb2538efbc9346173b06b28f393715d2ba2ba5bdbcff05c23aeb8ebfb94a2c94ba52bf99bc992f503a69630aba5c311e3b45a242bc3fef063a2866d1b9ea1d9c3b194ce4bb000000000000000000000000000000000000000000000000000000000000000077ddeebc2ccb8d3cbde0fbb9077cd2ba84ac03bdc595613cccd51e3bd988b4bab6f5eabc6b52303c3b0d903bf0f7c1ba1ddecdbc5ff2e73bc02fe03b855b2eba6e33adbc2c0d9d3b4109f73be60542badcc088bc1960ba3a72e0f23b99ed5fba95da3ebc347521bae09c053c607316ba0000000000000000000000000000000000000000000000000000803f00000000a6860bbcdad37ebc3648803f1810233b4fb61fbc7d5e83bc2153593fc01b3a3c7b5018bc178189bc7fe5323f169b8f3c922714bc3568b0bc636b0c3f3a34ad3c5ddb00bc712ae0bced41cf3e17aed43ceef7c5bb42370ebdb290853e0170e23c9bef6fbb3cb536bd1815f63d209ff83c000000000000000000000000000000000000000000000000000000000000000010057cbc75618a390000000000000000f98234bc119c73ba000000000000000042940ebcfb0d12bb00000000000000007e51b0bb65b326bb00000000000000007fd181bb788f2abb0000000000000000fa3545bb2bc226bb0000000000000000d48328bb13c215bb000000000000000000000000000000000000000000000000af53783b4dd349bb02d792ba084730b9c407ed3bbd1aa5badd888b3a577facbabc9aab3b5dfa47b9cad98a3afee9c9b8e6d9723bee12833a02b2e03ac098b33a13b84c3b2edfa4b92022f139b769b73a57676f3b2a7e89b83d1f433a2f6e0c3b77c9a83bb1ae6ebabf78373a9d55103b9b7b583beb7dce383cec923a457f103bfd60e93a955b90bae5e5cbb96a7ae93a68f0043ba19728ba85374db963452abd71f2f23a02036dba03b48b39c3644cbdf2e3fe3a069f15ba4719b7b97f6239bde3b7223b26300dbb831dc2ba7b821abd6dee163bdb6006b9b45ba8389bb6eabcc003e13a1bdce9b9f6d61b3b720ec0bc8d78343bc6d5cdb95d89903baaac82bc526a2a39c29f38ba5ad7fe3bbe1901bcd784153a6db0e3395be1d73b4b1b77bbe9d196bc91edb23ca72509bbc2d6b2baf22918bd0352b33c86fb0c3a415ec8ba8d8b26bd013a923cbf2f8c3bf454d6ba64d925bd4f03663c550ded3b98a3a6baa28602bd21a31b3c7cf00e3c1a0753bafe73f6bcc105b63b7cc02d3c9d9559baf4a7c1bcea42bc3a5c16313ce42d34ba8c1180bcfe58efba6c6d1f3c9d3881ba6d33f1bb983219ba2ff40f3c9649a2b7bdbbcabb2a05efbc4382803fa271033ea8fe0fbcf82814bd8a5a6b3fc6bf003e020c16bca95808bdac5d483fa750f53d1b1931bc5eca0abd01aa243f3953e33da45411bcdff411bd7b47ff3efab5c63d7c4900bc7b6937bd91d5bb3ee5ddb13d6f559abbedb253bdeb986d3e27a0933d2116fb392e116cbddae9d03dfef45f3daa5ddf3a34ca3fbddfdb54bc26f7ff3c7c49c4bc3919e93a0000000000000000c544cdbcbab6a23a000000000000000097b59abc19058dba0000000000000000b4e36abc9d6712bb0000000000000000afbb13bce65e50bb0000000000000000de7bd1bb525980bb0000000000000000ff0f87bbb72b38bb0000000000000000ee1f45bbd28f17bb00000000000000009dee82baa40cf4ba0000000000000000a04f533bb2d665bbc72e3cbbcfaea43acbf3b73b340bd1babaa1fbba461a383a5972573bf8759fb924a742ba920a643a75e0493b624ac8b9b63979b86a35453afeb12d3bf0d4a7babb7161bae8daf23aeff35b3b608f2eba4a225dbabb6b153bbedc103b1540fcb9070ca0b710c59d3ab4b3373b98c5a5baface13b8854b0b3bc55b443bf91bfcb8926179ba70ca553acf40373b6da7d5b9c1f73a3ac62615bdb40c413b4a943dbabe5cf63a9de141bd8f6ff83a3465a139e240c53a6f4d23bdfa60183bac70a7ba6dbb9a3a518913bdf2443b3be74ca6b7d30b9d3ad957d1bc0348393b202a0d39b0096c3b7de7b5bc9b2ce63a84a6efb85e5d9f3ba7475bbc38c6fa3a4fb1ddba5bbce43ba92412bc4ab1ad3a3428313988e8ad3bbc319cbb3f9589bc9e23af3cf40c5bb946f3b1ba2cc10fbd7e58b83c8e49273baa03d8ba634f16bdf9956b3c5b49a93b66b549ba40871fbdaf895c3ca0de073cecd0203981ccfabc8031fd3b9ba7233cd95a91b9016300bd4b509f3b4521473c13b1f3b75b95b4bcd37ebb3a77af2e3c6eb40339eb618dbc6238c8b87455413c3e968239bc9a0ebc0292ca392a0f113c0e5c2039589b96bb99420dbd4f425a3f06748a3ef91cc7bbe2843cbd15fe493f341b833ef3eccbbb88fe20bd7e93293f50bd6b3e643ae9bbbab730bd4d1f0e3ff1b24f3ec8b1d0bbfae521bdff91d93ee1fa2a3e274ca4bbe1914dbdcc93a03e7b97113e7d15c8ba36c043bdeee7483e243bd53d8d365e3bcad06bbde710ad3d6d48993d41b12d3b65442cbd88d053bc9476f63c8a65e5bc8d1d8d3a0000000000000000cf3f02bd7011c8390000000000000000defaa8bcee9694ba0000000000000000522690bc960078bb0000000000000000867811bc6f2159bb0000000000000000c3bfc5bb1d3a66bb0000000000000000738e03bbdf8639bb00000000000000002ad4ed39c5f032bb00000000000000003ca2c13a58eb0abb00000000000000000d8f303b2fae64bb22488fbbe93f243b18309f3baaf103bb56fc79bb5a11203be1468d3b90e23eba2cec07bb8eb1fe3aae28923bf25bdfbad75eb2ba28f2183b7d63f83acea666b9d4d5d3ba3587293bedb9513ba29514ba819ee6baeba50f3be727393b43d702bad98606bba8ece33a2b442c3b9e330dba448721bbc902363abd70813a353bc9ba80e692bac69d06bad41f6d3b00050abace98403afeb400bd0696633b070b59ba09e1083b3d7a2abd3e6b4a3bfd5c6aba2689dc3aed4f18bd7b5d583b160302bafe34443a650e00bd279d943b4b6023bae3207d3a9168c4bc375c5b3b75340539def3823b8e8d9bbc5125373bbbae9cb9a891b43b181d49bc57c30d3b556f9cb9d7e7f03b8061d8bb4ea8513bdd4b14b91495df3bf45267bb072b96bce086a63c745fd03a85bf0fbb544414bd92dda23c24a2a73b61e3d0bace4929bdcb8e553c8be10f3c172eb3ba584d26bd82d40e3c87ed323c8cc20dba60990ebde91d833bd884373cb594c6b9d41703bd4f762d3bd6ce393c20cb8f3a1da6d2bc140cf439f62b4a3cc3da363a926a9ebc4a159ab8de933c3c3ca90b3ab21a3abc8353973966fe0b3c8d91263a456386bb80840cbd0e35343f2fa8d33e3225a0bbe60543bd1db8263f9d41c73e04d2adbb804f39bdb5800e3f6077b03e2d7ddabb7eca39bded41ea3eff22983eca5facbb1b9234bd2570b53e2200793ee85c3abb91f346bd83b1823eb0d4473eb59a9cb9a3e34bbdb83e203e6b30113ef571593b9c074ebd28f17e3dc3d8b63dd0904e3b98da12bdd5bf89bcda14e93c2d42febc3019273a0000000000000000061411bd7b6139ba00000000000000005728cfbc5c0615bb0000000000000000266a8abca9545abb000000000000000032161abc605c10bb000000000000000030996bbb2fba4ebb0000000000000000f8a12f3ac9b57abb000000000000000078e77f3b7fa244bb0000000000000000006f8b3bb0ad27bb0000000000000000f1271b3b630042bb8274c1bb09154b3b23c2813bffb99bba43d9a5bbe3585a3bcb1e013b8fed7ab8b81147bb9d48303b62d9723bb2cabf38218044bbe1082c3bf91fd23a9b0c0aba78fd2cbbab5dc43a75d8253b17881f393ceb33bb7fc9d63ab243603b0fb626baf1ad6bbbe513d13a9fdb063b41cb69b77c8058bbb27f6439d0659f3a039eebb97b0a5cbb44342aba089a663b310fc2b865e20a3a2c25ddbcb0905e3bcf2142ba63c6fd3a0f4c09bd37c85b3b54ece5b930ea88398cc1e3bc4f575c3b11eedeb92a09123b7285d4bccbe34a3bc1ebe4392e78c83a3dbb80bccaf9693ba8dcf0b85474843b33e96cbcd1fd3e3b1672f83a88c4793be9080cbcdc33193b2491ebb98139be3be41b66bb6bf6fe3a05e0cd3994af933bc9d397babd85b9bc21ea903c5527833b4f2aeeba3a0e1ebd98926b3c2ef7f53bcc8ffdbaa44022bdc340db3b4ff3243c3f6250bace222dbd365d413beda2483c4e8ae0b879f0e6bc19869b3a8fe6293cf39c4c3ae1e206bddb8c6ebaba41543c99f3893a7d6ebcbc8ab175baf0a9353c5ff6ae3a79f49cbc798040ba27a02b3c6fe8bf3a62c341bce61bc5391107053c0d76bd3a02534dbb3c7d08bdc1bd0e3f66020f3ffafc6fbbc4e435bd67b8023f1841053f590761bb17eb22bde52edd3e81f8e63e54db72bbd4f532bdee24b73eb435c73e7e8849bb9e0105bdbded893e53f6993e838ac5ba496634bd9be7463e08597b3ed2f99bb9b9e925bd4502ec3d2f822c3e5b1b633be2a027bdcc7f1d3d1a8fcd3d6514783be398eebc7110b8bc8d2bd03c189905bd096ecfba00000000000000004aa211bd0ea805bb00000000000000007b11b6bc784393bb000000000000000004ae7fbc956280bb0000000000000000e21299bb9ac658bb00000000000000005122a0b9c51781bb00000000000000005f2d9e3b00cd67bb00000000000000002397093ceea980bb0000000000000000eca3073ced5335bb0000000000000000e83d703b5321edbad569cebbcf71943bcb53863b6aa22d3aaf2da3bb9cea513b5462893bc678b73a932744bb25ee473bf4e5263befc0213bfa9cd5ba3ca2fa3a07c41e3bc026833a6c8831bbc897d93a7e221c3b02799a3a937c2fbbc82fd53a9abe0a3b16193b3a6a184dbba025903a71c0ee3a507cda39e2c272bbd58b8ab9ad7c3c3a9a93f13944f323bb7683d1ba1b5e103b82195bbabcddc53afc8ab0bc913a213b0d6682ba5b325b3b6d09dcbcb0222c3b871c0cbafad3483bdb75c1bce83fd23abcbcddba218d0b3b01f7aabc4c2f883b9fce613a51b8453bd51b6fbc372f4a3bef2f11b9e735823b710a1abc95ef393bc78e3ab91b779b3bbb737ebb91d51a3b59308cb9d38ab53b1674f939e6b6bf3a2f3595b9774b8d3b2228283bc103eebc61fa453c6899b83b8d9718bb52ed3dbd9acec03b22881a3ccfd4f9ba342045bd64760abba5ee443c711473ba029036bdcffc9fbbe76d543cdaf7593aecc71cbd9779d1bbce44573c1db875399a4209bdf6b8d3bbfb423e3c03a8ff3af8d6d5bcae77b1bb1578223c2d13093b5884a1bcfbc052bb22af0f3c2b61c53afdfe26bc22cc47ba9d11ce3b86cda73a5227e1ba69ac03bd62cfd33ef577343f101387bae42233bd1f14c13ef9d9283f094008bb11e42abdb88ca33eeac4123f441339bb152124bdadd5843eae1ff73edab006bb18061dbdd43d483ec6b0c53e7170beb946d51dbd3537083e9606973e4e7aec3a39ee15bd9db88f3d8e514e3e95f9903b20570bbd9a89353cc602e53d8783473b5dacbcbc7992f5bcce62a03cd6700cbde72093ba0000000000000000d79d1abd2dde4ebb00000000000000009e11c1bc741184bb0000000000000000c57b51bcde7c86bb0000000000000000da451fbbe53c65bb00000000000000006e88853b622e75bb0000000000000000e7001c3ce4b371bb0000000000000000a4995a3ca34581bb000000000000000030903d3c926b2abb0000000000000000f384143b98bd343acfcda8bbe400203b07b09c3b07f4313beedb62bb0d6a7c3b260e323b0237393bf56fe2ba3d944d3b3ccb343b79944b3b2d03d2ba7e0d4c3bc1bbf63ab99eff3a852601bb3595fd3ab02b3e3ba645a23a798e3fbb7fbd5b3ab104933a6897a53acc29feba5c4fd13ad340cd3ae0ef863a284c5abbdc15ccb75e06ed392cda8c391ead4ebb943d77ba2ff98d3a5368cdb9733a2a3bc12f7bbc5b3c9d3a2e54d4b91c9b803b0c659bbcda50c63aae2942baddc84a3b7a9476bcb22c013b02a9dbb9140c593b33ad5abc9e2f1e3bfb21a9b745523e3bba6d03bca6db673b700ccf39a7fe9c3bbbc3a8bbd858c93a1d705dba2221653b1d8e133a6c4e103b28b20bbaf06f873bd29e9d3b8fa8c93a834ccab96c42473b3764a53b348c0fbd64439b3bc5fcdd3bfc0cf8bace005fbdf20ff8bbf94d333c97c742bbd42b3fbd8e053fbceba32c3cd33c29ba1ff640bd68107dbcaeaa463c990f993ad64f0dbda29d49bc278f293c11d7103b358f01bd2a0f48bcd9e70e3c5cdac03a7328b6bcacce10bcfa01023c7604803b79fe8bbcca7ac4bb6603a83bf0a2003b911419bc517fbaba9766863b8f67a53ae052a03993b1ebbc83b7893ec8235a3f8a613e3a58e81ebdda05793e07a44b3f38c1a537c98209bdb1e94f3e1ae82b3f4038f5b969e911bd8c9a253efc63123f1d8b47ba878dedbcb5b9f23d1086e33e53f0af3a58cff7bc46c4913da4e9ad3e40e10b3be177e5bc5fd7f53c1dd0673e5a68923b2e09c9bc955d7dbc40b9f23d0e28923b426176bc732e1bbdf7ff473cc33009bd605693bb0000000000000000442d15bd389f56bb000000000000000053978fbc1cc74ebb00000000000000008d10fcbbdbe995bb000000000000000044dd183b748b77bb0000000000000000d25a283c2c594cbb0000000000000000d3e44a3cf5cc9dbb0000000000000000d700903c48327ebb000000000000000062f9683c586850bb0000000000000000ff454c3b05fc573b0a476bbb47f7fa3a88d2603b3033bd3b855f2ab84dce663b14162e3bc0daa93b9a22583ae3db6b3b7d50543bc73c893bb016ba39e007443b3932d53aeb945e3b3f7eaeb938d00a3b823ce93a383b443bfcb5ebb987e8f73abcb6953affa71e3b7948a3ba106e893a376189393ebea13a053e21bbdb7f0d3a7cd09138f6d7573a1b9347bbb0ed62ba4ea0d9b9b9b10bba7806b13acc4b18bc4cf680bae6163bbae91b8f3baf9b1ebc575fbc38da3037ba589e5f3b65cd0bbcdfb15c3aa704833ab1318c3b074fe0bbd720c83a662f12b9135a363b11d54fbb5d820e3b625f81b8a2235f3bdae9743a8d1aef3a5603e9b90705203bab6daa3be8c4ce3a75efa9bac64a3e3b26381e3c66988a3a1e6c01ba14f6073b4dc3163c78db31bd0d86ebbb1396033c6fda1bbba9ee69bd9e4fc0bc19561a3cf72eb6bad5b458bdd1c5e7bcff812f3cfe21dd38e71b3cbd64c9e3bc21b7223c524d0c3bcab60ebdac07babc9061063cbd0b483bb8d4eebc3df0acbc08b6d43b2ea3863b2399a5bc476684bcf567813b5af05e3b47883cbcbf291fbc7326893a3368053ba814d1bb69da64bbb9ce503ae5a20d3b2ca0f43a6cd9c8bca9f4023e6c37803fdb123b3b64b4f5bc4a06e43d1ef36b3f91b0943a373aebbc23aaba3d6ab9493fb36068380da8e4bc46ae8a3d4abc263f932a4e395e5fc1bc5980323ded4a023f2d389f3a3d91babc82a36f3c1b97c23ea4ca133b1ec999bcce9f5cbc1c477d3e17f6853b667860bc31ca22bd0263f53d51618a3b357801bc117245bda08fcc39b4b9eebcd317babb0000000000000000e0efcebcf5fbadbb0000000000000000900915bc15cdacbb00000000000000004e8f113b2a3493bb0000000000000000d6b8233c79605fbb00000000000000007f51893cb5ad8abb0000000000000000e48ca73c087639bb0000000000000000bff3b03caa1f62bb00000000000000007cdf953c96f523bb0000000000000000000000000000000000000000000000005823103be556b93b6a549f3a1a80f93a2c85023bb438a13bb2290f3bb576153b2112c1b9627a4f3be7350d3b2ffe1d3be30e773adb764a3b1165aa3ab32c073baf0b9d3ae149353b523c233aad118a3acb7d283a5bce003b328e9e374aaaa53a43068f39e869af3ab2b298ba033170390000000000000000000000000000000000000000000000000000000000000000ee3eb6ba5b7034b972723f3b36be84bbfc40b8b9df8283b94eae1e3ba46348bb10ee8fb9fa8781baa9e93b3b55b1c5baf45c09b9a47a3a3a3156073bb32d01b8c9db963af5ed033aa41e0a3bca61383ba6f9e73aff3968ba5a4af73a2086c93b4ab19f3ac8a0a6b9249fb93abc3f203c00000000000000000000000000000000000000000000000000000000000000008d2d41bd27e2f0bc5ec7073c38a3bfb9e86e20bd0012f8bcd6f8e93bdba7a13af00209bdbdc4debc6db8cd3b788a353be8b8dbbcc1aababc77ca783b76da943b2efc9bbca8d8aabcb44b393b1245853b663c46bcb86482bc7f6f883a0230283b5a0ed1bbe64134bc2a436bba86e95f3b000000000000000000000000000000000000000000000000000000000000803f3e1fc13a7fe899bcc67902bcf262803f353f533ac28b8abc5a9e1bbc562c593f2d066c3ae60787bc71f356bc4616333f076354b9061a6cbc5e9699bc68360d3f2857ea39f9f14fbc2bede5bc48eecf3ea464c43a52ba17bcdbeb16bd1485863eea492a3b16abc2bbf12c44bd819af93d0000000000000000000000000000000000000000000000000000000000000000df77f0bb7d0ac8bb00000000000000009a693c3b18bc8dbb0000000000000000af9d203c896342bb0000000000000000343a603c8cd726bb00000000000000000f20953c453eaaba0000000000000000d7bda43cb2a304ba0000000000000000b160af3ca55aaaba00000000000000000000000000000000000000000000000000000000000000000000000000000000c629b7ba4f0b20bb5d0b73ba36e49d3a724ce9bab88f17bb28e599ba55bd953a68acc0baa47919bb5378aabaf95f3c3a4bc38eba2df4ffbab32c9cba82be213a1be79fba8a8c24bbabb0f8ba2df6f539610884baab8806bbc424f2ba607694397572edba45c000bb5f66d8ba6fcd3e3a00000000000000000000000000000000000000000000000000000000000000006250ef3a0ff6b839e9f245bb083baebbe537163b85c47eba1e5039bb5661a4bb621dfb3afeb8df39c60f28bb275e91bb8674f43a87d1313acdbd07bbe51b79bb364d0c3b2b546a3a0b3611bb9fad84bbd2fd063bd3e0743a16c6cbba49d852bb8796343ba998f639132c82ba182225bb00000000000000000000000000000000000000000000000000000000000000009a1f59badeb19f3b44887b3a76d348ba7f2993ba7b4f9f3bd7ad063b0d83fcbaaf4ae6ba5f1f803bb8d2e63a48de05baada7e3ba470d643b1839163b9583e0b94f6a06bbb30c633b46e1493bae69b8b9088303bbed45423bc644593b0885cab717798ebae438563b9a54293b1911beb90000000000000000000000000000000000000000000000000000803f00000000adef37bb4f01e3b94477633f83900f3b9e2542bbad5f2dba92fd423fb8bf773b96e940bbc225c7ba824e223f3a57813b584f2cbba1a709bb6fb2013f4c259d3ba12659bb454965bb61d1c23ed61ecc3be09743bbc1398cbb4fbc813eafc7d83b979816bb24e49cbbb7b5023ef680be3b00000000000000000000000000000000000000000000000000000000000000000ebf18bbe888abba00000000000000005bd33bbbfae80fbb0000000000000000fb129cba7006ccba00000000000000006d2b3aba0964e5ba0000000000000000a53091b9f7e903bb000000000000000077d51c39cdc7e2ba0000000000000000c994bfb9f66910bb00000000000000000000000000000000000000000000000087f4e4ba492346bb15569eba181cbc3a5d2400bb56446dbb0c95d9ba9531c83a5bd525bb6d6480bb0396dabacc06c43af0f62dbb12d67abb3c710fbb2cbb963aedddd1bac17246bb5b910abb4eeb0b3ab6d7cbba677946bb681227bb24ff003a532a8938af0243bb742c2cbba0f11e39c310c1b9e3e01dbb12d338bbf54729b9370b58ba2b6c13bb40801cbba7bb22ba5e73113b7d97d33947ad4bbb3601b2bbf35c343b4cbcdb393f6783bbed38f4bbb56f523bc890e8b942d989bb5cbdd7bb52a4543b75f2c23a54f085bbdf03dabbf05c2d3b2a15a33a6fe83abb5e14acbbe6d5333bec43b93a2b1b28bb35daa9bb395d1f3bfb0aaf3adc1e0bbb30e090bb255e123b6bf7e03a737d89badc4e7abb26e3943a9996393bff418eba5d8d46bbe43698b8a478b53b200a593a769581ba46c2b8ba1938df3bf426dd3ad823b3ba85c6daba90f7d13b51424a3b3e4b05baadf523bb6761bf3ba043743bce8716b843202fbb99a7953b910d783b4fe893b9f8c53fbbdea78c3bab39943b5c3a1db938173ebb8426653b47b5953bca284639b25b42bb5fcd373bda1a9f3b28d5303a1d7401bb3e1d723bf6e5a73b0bf69637d0d731bb3c2196babf94633f526a023ef45680bb6276f9ba5b82483fc9b1e93d4bef73bb1b3f01bbcacc2b3f8cfccc3dd7ed8dbba2dd5abb9e2d0f3f63d5af3d9dab6abb464670bbc34ce43ea61d8f3d142474bb19e6a8bb5f6dab3e4392643d392869bb8c4ac6bb2014643e0516253d7c4f53bbd723f0bbf7d1e33d6a57cc3cdfe809bb5e61c8bb5792153be12f083c3a3045bb429dc3ba0000000000000000007066bb0af303bb000000000000000008adc5ba8efd68bb000000000000000053964aba7d495ebb0000000000000000f16622ba040b1bbb0000000000000000184988b847f532bb00000000000000004c94eb393b6b28bb0000000000000000f5e68b3a968b14bb0000000000000000f243e239b5d70abb0000000000000000e0ffebba284428bbecef9bbaf6949f3a4e3f8aba8b8b71bb187152bbcc2bfc3a5002edbaba4c57bb6b7908bb78cb7f3ae794f0bac7bd7fbb8f5d36bb4f184b3a6d813fbbbb3832bb2c1406bb8a9eeb39615ec9baed2f58bb34f63ebb3a979d3910e09dba3aa92abb640118bbcd6e2f39d00693ba7a4530bbed573cbb3b1779b967c57038c5d65ebb1888d6ba584a9ab89909053be9be923956b727bb1dee8fbbd12b573b75d3133a18c86fbb91a30dbc0516283b2e8d683a44d24fbb6c7fc5bbee8c533bbfdeab3ad4b068bbe7a2dabb0daa203b13a09d3a92ae17bb924e8ebbe120473b98d5ff3ab08a2fbbeea7aabbc5491b3be1f8cd3a9c92eabae5f975bb3a7f1e3b06fbec3ae83fa4ba7f4777bbbf6cf03ab0f2d43ad6601dbb9b6401bb61b529b984f5a83be7deae3a37aa56ba7e0be5ba53b8e93ba2f8243be3ba96ba1a9210bb26dfb13b48dc3c3b0164f4b9d7e15dbbd8c7b33bbb8e883beb3c7ab9dfc826bbb492773bb1da6e3b302b4cb7a76b64bbb847893bbf2ba53bf92ab43972aa33bbb277323bff5c8e3b07e1123a345552bb152c2b3b1649ab3b93b6633aa82fe5baafa4e23abb15773bd2a4473a266622bbf48202bb0bdb423f20e1813e700194bb2d914fbb960e2c3f1044673e1ab567bbc80c4dbb66ec123f0730473e654f8cbb926794bb6cb1f53eccc2293e076941bb0e2074bb9943c33e57a8073e29db7dbba088c0bbb3dd923ef7e8d43d1ef43abbffd2afbba9ab423e89f7903d52ea37bb7c6ae7bb9a62c23dc7de273d835257bb67e398bbe42e54394a22df3bd54839bb89d1d3ba0000000000000000800c60bb5e9525bb0000000000000000e7c3f2ba5c1f05bb0000000000000000b2655dbaffd919bb00000000000000001a042fb9929e08bb0000000000000000997e0f3acdeb2bbb0000000000000000ec8a9a3a970608bb0000000000000000c2d6003b701610bb00000000000000004325e83adc2cbeba00000000000000006cc9dfba666d48bb336e04bba506953a00365bba26cd89bbda2a4fbb04835e3afef0cbba115765bba08e37bb6834713a54baa7ba796eb0bba6ed9cbb403e553ad6a68eba3b4a4cbb863039bb9e027a39dba8b1ba946757bb83744abbf649e9b7d8ee8bba351448bb9cdc5dbbbb9c8aba274a2bbacad9f5bab7b847bbdad637ba2a877fba2f87e5ba6b1d0cbb150721ba49f8163bae513a3ab91038bba528a1bb2e292a3b2d32133b669c04bb0451edbb21035a3ba02a9c3adb6c49bb384fd5bb7608643b5fb5dc3a7e5e41bb48c4c8bb6949373b4fd7f43a6dbe34bb4428a5bb4f9b3d3b3b15073bd8b51fbb9d4aa1bb4f3fb03a4206243b655100bb99ae8fbb90f4243b7069ca3ab1ee8bba976440bbfb97d53ad4a9ca3a951623ba1e650bbbf1429aba555aae3b183b033b7cc201ba228246bb5fd3003c75f2973b3670bfba316954bb5de9b63b1e48843b10bbc1b9652182bbe3d8ae3b4384a43b85598838df4071bb89627c3bb06a9e3b992d0f3a29c482bbe1486a3b93e3b33b25fa2e3aeb4a90bbed6d6e3b9e45bc3b7737883ac0697cbb6a98013b95e8a33b85124b3a29c925bb21bbb33aea0e7f3b06f18a3a065133bbcca224bbaf7d223f060cc33e276d8bbbf4f18ebb601d0f3f9180ad3eba3b75bb8e887dbba34bf53e180f953e45f67dbb6fa9a8bb8ec5cc3eb5027c3e0f5e73bbc164a5bb3bfaa23ed4794a3e60046fbb77a9cebb473b743e4b571b3e0a575bbb62aae6bb778f203ed788d53d7ae502bb0461e1bb3f5b9f3ddfc6683d8449c5badca5a2bbc2ad5fba8364df3b19b033bba0eecaba000000000000000058ee66bbf24c48bb0000000000000000c552adba4f5424bb0000000000000000d1db17baf52c35bb000000000000000025be263ab0c608bb0000000000000000fcd7b73ad0102abb0000000000000000b022123b08ed93bb00000000000000007f8f343b622531bb000000000000000092181b3bae8bafba0000000000000000f9baa5ba65d722bba84bdfbac086083b8cc70ebbfba76ebb22d54ebbed299a3adb7ba7ba103f38bb197c31bb4ab1d0390704eaba8fcc54bbaad23fbbeeced139bc0e8aba2d2e25bb27e11ebb6d002037618aa1baeefd3dbb71db52bba4e8eab902cefeba663ea7bab929c9ba6f7792bad0fe28ba7d8714bb38ae4abbaaa391ba2a7a9d3901d4a1ba4e7406bb2a10acba28c2c83a271114b9c33919bbb06281bbd5fa4f3b2bfd853a28f75abb3de2cfbb01ac233b230e833a668a29bba999a9bb91003e3bd834d13a4aac3bbbd19db1bbc2c20e3bf34bc53a854c10bbbf3975bb9cfa273b5edb073bd4a315bb129d8dbbcecde43ae1b7f03af5353aba0be2dcba8fb70b3beabe0c3ba4ada0baeab747bb2932613a3158333b3da9cdb962b4e9baa22cabba0c0fbd3bacf7dd3ab45fa1ba81de70bb2e24bf3babb7803bf6ef23ba8d4676bbc97d843bb016783bf929e0b9e9d691bbbb12863bda17a53b0e2e9639213f5cbb4ffe253b3fe1853beeef333a549f8fbb80b5293bdaa9b23b4ca9823aa03586bb6668c33a7d47943b264caf3accd885bbf89fd13a301fa93b9ad7d73a69ce40bb3028d8385a772e3bdfe8053bc32317bb50970dbbd99d013ff04b023fcbf86dbb9d788ebb5831e53ecc28e63ece8348bb48a985bb2fabc33ee84cc53e23bb67bb52aba6bbc44fa33e6139a63ecf4d33bbc1d682bb759c813e9267843effe753bb47b7c0bb091a423e032d4b3ebde18ebac340babb6d1eff3d058f083e107515bb298acdbb8273793d4ae7923d8966a0ba925093bb67db1abbea84a63b4c6641bbd5de04bb0000000000000000fe1420bbd2fc23bb0000000000000000dd5fb1ba2fa63bbb0000000000000000f0445a381f6927bb0000000000000000b4028b3afad6e7ba0000000000000000b190183bc7520fbb0000000000000000e377333bad67d2ba000000000000000056fa7f3b4504d4ba0000000000000000dc4f023b9197ecb9000000000000000092bdb4ba82f92cbb5eec25bb644b5a3a274031ba36d13bbb902b1dbbdc462639d4d713bbe0056cbb0a76c9ba0c650c39d41bbdbad6a040bb8c6250bb568198b8264fa7baf3ca3cbb0b984ebb668aacb8bace2fbabc0e1dbbaa0d50bbae272cbaa76392b94fd40fbb6c0450bbac8e88ba2a26643a3b8e25bbcb156bbbeeb5b6372b41b0b96fcd96bac54908bb077d95bab7011c3bd1e6613ad07215bb77da8abb82fd243bcbf87c3aec342bbb9a429fbbf3f13d3bef28093bbfe8abba2c69bcbb11e02f3bf45bf73aefa526bb7f29a9bb3a801b3b2941f23a4fbc21bb0d168bbbe701253bc426193bf191e7bae26380bbb0a2eb3a5236f53af8ebb5ba9b194dbbee506c3ada48ad3aeb97c739ec4240bb9c29833a4171ae3a23da25bac983b9ba270d47bbf486893ba1bb423bdaaaacb9859bb5bb9b28923b6753873bcf6996b97708adbb6e06bd3bf774b33bd74d993ac6b3b7bb0eb83d3becd2b13b2abc3a3a803192bb3157113b2113983b904b913af387abbbd613f43aab63c13b7f0fe43a22e189bbf0bdcd3a211da53bc929053bc8c39fbb7642083b4f4dca3b2068ad3a501033bb8967fe39c3355c3b8323d53a025e2ebb4c2b5cbb0bf3c23e4ea4223f8c7e33bbe42ab7bbd8bdab3e9aa60f3f9f1779bbd05aa6bbf600933ec061f83ebd3164bb9f97b6bbc870743e8b24cf3e70065abb1fefafbb4139423eccd9a53e214440bb9b2905bcb95a103ef8297c3e170727bb8731b0bb79adb93dbc46293e560a2fbb872fcdbb74a12f3de978af3d610b99baa2cf78bbbc1640bbfbe1aa3b65df11bb2a3ef8ba0000000000000000716e0abbf2192bbb000000000000000014a1bebadcb449bb00000000000000006249863acbc126bb000000000000000043b0093b218808bb00000000000000000e5a6b3b329ff5ba0000000000000000c8f2723b72afbaba000000000000000051c0893bd865fdba0000000000000000c8ab743b85a151ba00000000000000004fc50dbadaa90abb617124bbc08be4392ba070ba824127bbb7f44fbbfb0082394fb985bad42d0fbb3b0a28bb3b4626b825ba80ba0dc11abbcc7749bb8f2ca6b9329ef4b93197e0bafdf11bbb1f0d06ba2a68d0baaffa9eba19fe25bb08731ebaabf51cbaa8ebbeba9f812cbb7bcb96ba58f2f7b9902a08b7d92156bbfd40e1bac41e11baf46377bae82a00bbb80eaeba33fbfc3a29de7d3a2ff403bb992069bb43a7203b5a85ae3a22d022bb02f9a0bb2ca2013ba5e2c23aaf230cbb9c0980bb3c05173b525ff03a178910bbb6a591bbc5b5d23a5ac1c63a327fbbbaf44a34bb4cbc013bb523083b0d532ebbb9bf22bbb696bb3a9adbf43a726967ba8815f6ba9089af3a9b94003b9a4d053ad6e0f6bab5cf1f3ae425a03a1320eab943c830ba27a777bb6d214d3b1b2a553ba1a4d137772bc2bb0186533bf6c9983b0e6bbb367060a1bbe720f53a5eb68e3bc1200a3a5af2c2bbc347c53a0103b23bbc21853a9cbc88bbc592463ab705873b8f76ab3af6e2a0bbe31b413a658ba93b0daffa3a596083bb98d02d39c35f863b9723003bf7a994bb8b7925b9ea88923b3947293bb33b29bb8f865eb97ce1333b36c1e13af8831bbbc6f651bb06d5813e7c01433f171554bb25539ebbaca8643ef52f2c3f2e8d2ebbef4185bb22db423ed24d133f15da54bb2b21afbb1714223ee957f73e01bc15bbe7dd83bba712003e5bd6c43e85da82bb5e4ca7bb2414bd3df587953eb8cce0ba0fea8fbb9bca733df484473e0f08f2bab31bacbb7f9dd33c895fce3d9cc058bacfe448bb62a786bb0668863b2f3ababa3fddbfba0000000000000000f7e47cba57d11ebb0000000000000000f40dfb39736500bb00000000000000008f55043b5da815bb00000000000000003a7b283bb86fa1ba00000000000000006f488c3bcb7dddba0000000000000000a7b18e3b62e08fba0000000000000000603ac33bbf0e62ba0000000000000000d307873bbfe58cb900000000000000005978cbb92080dfba102638bbe1a80dbaae9659ba9acad1bad63b2ebb49c53b37ec1e61ba1f2de9b9642a43bbb4550abab00938badc00d9ba346638bb28de26ba508b1fba4551d7ba40cd22bb5e243dba2f07bab8f789c4bac2d649bbcbf80ebb169b2f3a985803b89b64d6bae9403fbb1554edb82d2a36baccff1cbb920cd9bade5f6bb98634d3b963a4f5ba750bc0ba16ab3e3bb9906f3988cbefbaab1266bbd25afc3a9227ab3ad9b2dbba245b82bb93cad33a3d0bb93a76b8ddb969f585bb8a75c73a9c36dc3afaa1cebac9b15ebb602fb23a43efcd3ac53698ba053026bb21fa0a3b358d163b4d5f9dba06eb26bb7598983a5995e03aeed7da39c822a5b9d4a8693a0e4ce73a666f30b80788d3b9f40ee2394ce08c3ac80196b8408dceb8189cb1bb7d1aa13ab29a9b3b4a2646bac55bdabb37edab3adb8e963bcbcb0339f9a4d4bb8e8ba339deb69b3b82353c3a24bac2bb9f418eb8e963a33b1c73bf3a87aa9fbbfb2cadb991298a3b3963d83a30e7c3bbc6dc20b99cd19f3b0d001e3b16f8b2bb9ca80bbb7a23913b31993c3bf6f97bbb667297ba04e35c3b02c52c3bba452dbb145c5fbad2b1183bea1a073b41db25bb3a2774bbea7f013eb3d4633f7ba127bb876f95bb78e0e43d1976483f09b143bb0ad19cbbd44bc23d32022c3f345334bbe5959cbb89ee9f3db6920f3f1f4a1cbb53d28abb977a7a3daa5ce53e94e225bb0688b8bb5680353dd7eaac3ec31a26bbe067b4bbb0edc93c6343673efa0f55ba425b88bb132f0f3cacf8e93df9c20ebada1434bbc757b8bbe3eb353bda4ed3ba68bd04bb000000000000000059969bb736ba2ebb000000000000000088d6d33afaaf0cbb00000000000000008f0d493b010ce9ba00000000000000009e18793b3692a5ba0000000000000000af99af3b6d8887ba0000000000000000e52dc73b99dae2b900000000000000000e4bd13b2e24f8b90000000000000000b667a53bc39b04b80000000000000000000000000000000000000000000000003676a5387819af3a2bbef5ba647151ba27798eba7baf7abafbfbf0baac6eddb9ed44b8b9bf4a60ba92b7dbba41fc2eba3a7744ba7ef570baa533d1ba4fa540ba6996fd374a6809ba3ee8b6ba6b7367bac6913b391fbac3b90546e3ba538ee5bab69aa6392a899538e07356bb7c2289ba00000000000000000000000000000000000000000000000000000000000000001d0ee2397d98013b1e886dbab12932bb06ab863a0b08ae3ab67f66baa0ab17bbb7e1833a4053ba3a074964ba5d8203bb8a284f3a2cf59b3af63257ba57ffbbba76e4293ab935a23a05fc94b9e5cc6dba99b033ba7293dd3a9f752138c843e3b99e0d013a85fca43a2557b2394f58b53900000000000000000000000000000000000000000000000000000000000000003818bfbb35578cba4c21213b6795893a4688a1bbb91728ba08a36a3b028c2b3aa28596bba3258fba58d46e3bd156b03a1e3064bb2e3395baee8b3c3b080bb73a874c54bb8bfdb6bae08f2e3b8183f23a76f45abbd559e4b9de6a483bdda4223bdcb915bb3252a5babcda053bbacb133b000000000000000000000000000000000000000000000000000000000000803f0e2001bb77196cbb0cda8eb93f49633fc74b01bb57f25abbf190d9383716433f23e1e6ba9cba5cbbf54d5dba52a3223f9a43bebadbf937bbf788ebbaa1c5013fafc895ba869937bba73946bbd4b1c23e081089ba624e53bb68a46abba11d823e747f99b9595b16bb829df3bb0649023e0000000000000000000000000000000000000000000000000000000000000000e6f8f63a5c51a4ba000000000000000054800f3b0460caba00000000000000008b8c563b2506aaba0000000000000000626b683b8cb43aba0000000000000000c1708a3bd46cd9b9000000000000000006a6a23b6418a33800000000000000006c36a73b7b5a5b380000000000000000000000000000000000000000000000000000000000000000000000000000000080e3b8bb8f42493c2ff4ae3ccee92c3b379179bbfc306b3c77428b3cfaa4b63b32e806384483213c6d3d733cf2504d3bd443363a28950d3c6e872e3c60668e3bdf2f04ba6eaa003c585ffb3be27fa03b99939fba639b703bfd7dde3b142fb43bd994aab9e500643a573d753b76f7f53a0000000000000000000000000000000000000000000000000000000000000000333d723bf499e2ba516df13b0cf3dabc0314423bdf5f86b9a42afa3b3a6aecbc7cf5503b4435283a46776c3bf62800bdbfb60c3b7d279337e415693b98c7d3bc13dbce3ad234dd3a9977943a536880bc99159a3a5952b6b93888043ad386e4bbd724563ac5f1a2b93685aaba12832a3b0000000000000000000000000000000000000000000000000000000000000000c3af0dbe5358cabcf502a93a9cfd803a7c8706bef2bce9bc0c99503aed4c66380da0e4bde445f7bcf1b59fbae10829ba553ebbbde4f5ecbc339f38b8a3a4d3b8cd1e90bd3d95dbbcc4d3cb38b3daf4bab5be3abd7e5fb3bc67101f3b48cbceba4bc899bc80d952bc186a913b848b3fba0000000000000000000000000000000000000000000000000000803f00000000c722363c380ba1bd86539f3fcf1242bd1976913b5f4f56bd29e4833f068756bc80ebd23a133c12bd11b4553f3bc9003c281c533ad1d800bdcc12223fbded863cb648b23a535cf5bce3f3df3e101f9d3c0ee0543bec0fdebc416e7d3e698b233c49bd993b4aa9e5bc6ea2873df891e8ba00000000000000000000000000000000000000000000000000000000000000003c47a2b9b905623a0000000000000000546b103a3010093a0000000000000000c38de0baec5a6b3a000000000000000007e22ebbe6aa8bb90000000000000000bbe659bb1668ba3a0000000000000000ab9f60bb9559993a00000000000000009c9c58bb6b5bbb390000000000000000000000000000000000000000000000005513cfbb4741f53bac36483c0ec4cf3a932541bcadf7743ca80cd23c0e13e23b265dc3bb454d6c3caf5dcd3c9efe043c425538bb3c5b633c328aa23ce7b2213c5619dabaaa083d3c4d17763c2490f93b0060d2baa33ee13b30374b3c3b410e3c1005b9bab6b06a3b259a0e3cbfb3b93b94213fbb52dfe439d44d243b8828f63b2c2bacba6cf6f1badefa36b99bb14e3af4a7453ac6ae5bba8063493ce522c3bc396d753b0f1d20bb97d67c3c6dae96bc0bfd513bc329beba945c533c7fb4f1bcff463c3b26f4b0b9a2f0373c3bccfbbc8e7feb3a8b9f1b38da99e93bcff2cfbcf68dee3a65bc6bb919eeb93b431e62bce3b7863a91554a396f4b9a3ad6503bbb97e1e73741c294ba1edb81bb4e2e003c8f9e90b9cf9332badb45f7ba18b2213c4b20abbdf94fa8bb016ce8bbed95273b495419be6766dcbccd358abb6208553b73f91dbeea6c15bd22e6b0bbb895243b74740abe378427bdc7d5e5bbd8c4cf3ab2a3d7bd799715bdcc6d95bb229db53a6743a8bd8eb210bd3b542ebb01371f3a0d4e52bddf85dbbc51f7aa3ac579473a53c390bc71f28dbce2004e3b9f9bd9399116d73b323a89bbba2f9c3b5102b9b977fa963cce0f0bbe00f59e3fe1979a3da447be3cf74817be12b8973f889c9d3d7212623cdbb7debd647b823f27edcb3d9a71ec3b2a02aabd8d30513fbe14d63d6ffcd93bd6a688bdf2d41b3fcfb1c43d4d4ae93b9c6c74bd2630d53e40e7a03d274f393cb2f14abd9aab633e22485a3de268673cb806fbbc3ab83c3dd4fcce3c91b44b3cad85febcec598dbd129ff7ba8c47dfbcc70fa23b000000000000000061d7c0bc033ba93b00000000000000004c9ab9bca2e7233b000000000000000092879ebc3019663b000000000000000075208fbccd07e63a0000000000000000771c94bcc47f2d3b0000000000000000cf748dbc36d1e63a0000000000000000385565bcd0de903b0000000000000000f71e3abcfa495f3b0000000000000000bf6c83bbb156e03be654e43b53f8f13a5c00f4bb0f50543cb481853cf058b93b041d50bbda5f513ce5b4703c807cf53b136a16bbf7224b3c21df843cef7b053c20d7b2baf02fda3b28aa383c1ce8cf3bf4c8a1badc63ad3b0858383c3ea6063c9a8c1ebb465f913b8162df3be8d9be3b0fb732bbe50d31380a2e4a3b9fe6893b2cb40dbba4fa11ba8e8524b9486a0f3b08dcb7375ed4a839ba1d563cbcd8d0bcbf87413b1046d7b95598813c1cdadabcb2c20d3b6e4865b764c03b3ccfc5fdbc87e3393b2f9ccc39f2fa3c3c2ddfe0bc08c6a13bee6989b88cb70f3c34e099bcc54ac63ac2b17038ad80f83bddf550bc5d74033a8bbdf3b811de8d3b141f67bb39067c3ac09ae8b951b110ba98bce33b7dec3ab9c06d62bae77ced394381043c1f9a6ebd5f48fc3a44cf75bcddb07d3b115cf1bd0ecacfbc5d0e83bc9c86b63bfb8fe7bd9d0710bd39865bbcc7064c3b4e84eebd030c35bd5a1a52bc1abb463b0624b7bde23924bdbaee03bcd09e8d3ae89f94bd49c018bd0c7502bc1db42d3b5d9e36bdb5edd4bc459c82bb3276ca3afb8b8cbc98a38fbc8ffe6cbabbf7bc3a93e5163b87d640bbce349c3abaf5a83a9919843ceeb708bea5c8843f2327853ef6b6bd3c06151fbe2e6f833fc460843e7797613c17e4debd9ced583f050b813eabea323cf4a7cebdfe04373f34d4693efa02183c8b1a9ebd23a4063fda66423e2f0c403c64ce93bd1cadb93ef2151a3e5a3c2d3c029f68bdb134503e6a29d23da92a853cf5e339bd450e4e3d358c4f3d06a85b3c565b02bd675d43bd0be2f83b841f5dbd63d5e23b000000000000000068046bbdc8c7113c000000000000000026b035bdd839d33b00000000000000001e2e1fbd2154943b000000000000000043e7fdbcc657353b00000000000000007880fcbc4da8853b0000000000000000293ad0bc8e325d3b000000000000000077e5c8bc10dbd23b0000000000000000d9549cbc67c29e3b0000000000000000e8018cba768b9e3b6b06563b3ad45f3b99dd77bb32f02f3cf3c8313c2845f43b884526bb4418493ce2d36d3c6c63203cc5162fbbd27b313cae8d4d3c6dcc293c52099fb96dc7183c7e072b3c47a51e3c17c101bbd6e4d63b05c4063cb39aff3b21ca2dbb83a37c3b9d61c33ba980e83baedb64bb50cea43ab750403b6400873bfe40e8bae94341ba110c493a182f0e396b7e2abac3a2833aa649293c6151e6bc244ff839d2a7a53a3be8693c568ce6bcf8ac0a3b82a1863a35c1353c6583d7bc2d6a1c3b6eb2b83afa92273c6110b8bc3563183acceb9d3aa453003c3d5399bc43a3a33a7472d2396e3dd93b48d00abc4787813a1463d239854b9d3bf23f93ba192a2e3aa57251ba6598263b8465c53b83f9c839d0648aba93efcc3a37bad63b129233bdf83d973bafa2b2bc30df6c3bad05c2bd77b6e7bc9f3fbcbc4783e03ba618e0bd46713fbdd44bafbce9cc943b7553cabda6d94abdb03c9bbc9fe96f3b1182aabd979b3fbd873581bc9fdc243b324481bd3ab723bdecfb39bc66a06e3ba4dc29bd6b15ffbc29640dbc53ea353b4a4193bc93848abc01153dbbd8d63b3bdaf4ccb926ab95bab77497b9ff7b2a3b57544a3c74f3ebbdb9c3573f90cbe73ec8179e3c48450dbece61543f3c8de73ec0f0723c2916ebbdbd46383fe279d53e73da3c3cf6cfc2bd1a4b143fa011b83e26f61b3c444ea5bd427bdf3e319c973e64f22a3cb0aa8ebd50a5973e8db3633e83b85b3c5a7b76bd9863263e26d4173e75e8663c3b2c38bdddd92d3de709953d71fc453c50120bbd068f17bd592f5a3ce04d9dbd0dde033c0000000000000000b969b0bd1f45423c0000000000000000ffe88cbd2f500d3c000000000000000068045fbd4701db3b0000000000000000906a2fbd37e99b3b0000000000000000b79a20bde7787e3b0000000000000000eaa00fbda0d1b63b000000000000000026d905bd7075cb3b0000000000000000f594b8bc5360763b0000000000000000cfba843a5b26473bfa2c78390ad7153c503d6abb2136293c218b083c11fc153c97dec1baca6f0c3c1d4f1d3cb1d2453c6e4e2bb9c107153c9a892e3ca8c1403ca16fa4396b5faf3bfc859c3b2036053cc4b474ba0e91b73b3cb1d53ba3f5073c6d29a3ba4fc82a3bb2b39f3bd7d0da3b9d7e21bb0a09ae3ad43c263bd7d2283b668676bab82b4bbadcbebeb912c8763a3735c4ba8f4c0b3a323af33b9303bcbce06ed439b245f13a02782a3c9eefb5bca217ec3a4d7fc73acf09003c9a5a9bbc8d5de03a4f9e233aab62083c525b92bc56a7a73af7f8a23ab3959f3b7d8358bcfff5ec3a6299cd3a4a07ed3b5948e2bbaa16fd3aab97e2b94ac9433b701bd2b8a2d1ec394312b4b9fd4d373b5d5eb33b8cc9f03983a885b9a7d5223bfe39c23b57fc1dbd997c0dbb8dd2b9bc1611573ba6e49ebdbf481abd0c99f3bc1702c63b00a0acbd41c65cbdd77bc5bcb020703bc5a7b2bd903d7bbdab0bc3bce06da13b16816ebdcdf01ebd20ac82bc816bca3a193766bd1f9636bde22090bc3c44593be5f10ebd51daeabc8b4939bc9c4b643b071681bc256b75bcd35eb6bb20f8833bc27aadba532f2d3b56dd71bb36561c3b1e48263c0329c4bdad82253ffa67253fdcac7a3c0e55e6bdb357203fff68253f0a7a2d3cb744babdeb0e093fe150123f83191b3c3709a8bd2c05e33efbd6fd3ed3fca53bcdfb66bdbec6a23eac99bc3e96b7fb3b0c157bbdbf5a673e12f6953e6af20c3c0b2142bd8580f83d6d563c3e4016363cc73722bd599fec3c4ce5b33d79600c3caf6be6bc048100bdd2b50f3c9f37c5bdf0ac0d3c00000000000000002ba9d8bdf6fd6f3c0000000000000000b635a2bdbc1d173c0000000000000000c8db84bde732dc3b0000000000000000efd41ebd469c253b000000000000000012ea33bd7fb4b53b00000000000000001c2412bdf382933b000000000000000017d40bbdefc4c33b0000000000000000b1deccbcc99d673b00000000000000008adb84baf2c87b3bb7a8d13ab1a40e3cfea8c1ba004e773bad87203c28cf5e3c80c85fbbc937153c210f493c5fa2803c8f5500bb2f41f53bc7bb363c897d733c9dd468baec04f13b2bff0e3c37c2393c3cd0bbbaf8aea93ba40de93bd6581e3cc3ca0fbb7aa4563bc57da23b84fae43be32117bbf11a743ac063063b0a0f563b1c3855ba2aeca4b919e06bb93ad1613a672b74bb0095d53a82f2ab3b3cde78bc0a8e363a36e4093ba688ef3be20f25bc2ac53e3bd526eb3a2653d23beb3f2ebc711ee23a78421d3be09db13b788008bc8979953b46f4bd391b64b53bbb36e7bb8181263b81bd7a3ad0a3793bb74d20bb27ed103b2892653a4a5e653be659183b887c7f3ab49875b9c25cce3a31e7b53b19b1c638a82881ba1dacea3a25f6aa3b25b112bd96d41abcaef5d2bc57caa83b14d88cbd8dfd75bd7cb906bdd8a1113cee51a4bd726aa4bd0100f9bc08f09d3bb96298bd8efc9dbd0a27dcbcb65b6c3bba4b84bd63028abdc114cabcbc407c3bea3d47bd5df755bd74c7a4bc629d813b45a101bdf61612bd884979bcf0a1713b387b63bc166e67bce4d720bcea7c9e3b9b6cacbaf23e373bf2190ebbd2c5843b443d083ce8a29bbd360ee63e7957583f23445b3cf431b8bd791add3ebe68593f792b3d3c9af49cbdc5d9bf3e8f19413f1759143cdd8f84bd9ad19b3eaca61f3f9767dd3bffa669bd55196c3e860efb3ea724ff3b746a40bd07521b3e7a2eb43efafbfc3b97011dbd08bf9d3de514603e7343073cf7aadebcbd70473cec28c03d6b4fcd3bc71f95bc72ab09bd0268493af4b4ecbde1e5393c0000000000000000d0b005be7ea38a3c0000000000000000cf51cdbdf56f543c0000000000000000ee8294bd882a0e3c00000000000000002e9460bd900be53b0000000000000000187436bddeb9b03b000000000000000060911fbdd675a63b000000000000000002b911bdfcd9dd3b00000000000000001d93d9bc91343a3b0000000000000000908c6fba0eb4553a106e1d3bf922393cf56353bb3f0d743b1d220e3c21019f3c14ba1fbb74b7963ba482393cf1c68a3cbc5d3abb2ecee93bc826413ccd0d943c03bba1ba774fdd3a6c000c3cc807333cab3c09bbb97fac3b3c85ef3b52084d3ce98a68ba5776813aa7b5843b8932cf3b6e57e1bae443503a3c73ea3a66ce723b7c1f0cbaea6a00b9a63820baa070fdb8b8c3e2b97330323a4f41683b196d93bb97f91e3b0ed9c73af0111b3bbae0bd39329d313b0e78973a6e69663b91e6a7ba55e38f3b7cfc143b1610303bbd5ae0b9d2598b3b0c50de3a890d7d3b102c043bc78e813b66edf8393904743a357c123bb163433bf6e4f3b9f9a5363bdc06563bea291a3b295987baea1c3c3acc566d3b78cfb4390ccc8bbaa54046ba416e693bddf6f9bc19ab02bd524ed1bc1bdac13ba34f67bd3729b9bddcd108bd3081043c929582bd2749bdbd0c36edbcf425883bd5c388bdfaebcdbd216803bda3ab6d3b67dd4ebd79009abd7e9dc8bc9c1e323b10982abd0dee82bd6d7acfbcb2e7a93bb640cabcaa1c1cbd8fee79bc4ecc6e3b08de17bc9b997ebc4afb21bc4aac913bd80b103b54dfb53b832124bb921a7c3bae70df3b5ab359bddb9f843eefe9843f25dc333cce1771bdcd95713eb931853f23b3ed3b553d48bdb1775c3e74245e3fff34013c0f3034bd160f313ef5c23f3fc5a9a83bab1515bd787b023e549a0f3f3949ac3b87cbf3bc1752a33d0d62cf3e0096503be80dbfbcb7991d3d238d763ef1b88e3b8fe64fbca1d2a6bbf614b63dec4d653b7d23c8bb8dd1fdbc689ca6bc9d2a09be700a843c00000000000000004b5a14be6d73b43c000000000000000057bbb5bd6c05393c0000000000000000d41f97bd8cb0233c0000000000000000d8f53ebd68428c3b0000000000000000c2cb28bd42d9bd3b0000000000000000415cf5bc57d57f3b0000000000000000c73506bd0717e93b00000000000000003b60d0bc120d933b0000000000000000dc927cba9bd4a2ba364c433b6888703c1bf722bb8d78fdba631b633cdaaac33cef7634bb2f406c3a656b793cd972cf3c6e2458bbe0095e3b97d5733cdadeaa3c8a4613bb25fc983bad01353c05a6813cc715f5ba976b2d3b0760ed3b70b4573c1cfcc7bafbd7fc3a0e96e23ba5db073c35880439b718f5b9ee15813ab4d15c3b432ab6394aa70ebaa22fa0bacc0188b8fff1693ae60ea9b9da4a94b964ccca3bde01c43bb1d8433845e338bb9ccd1c3cbbbce73b5f07cc3a9eb6a6bab202163cf9a0da3bf796a53a2b860aba964ce33bbccbb23b4f17113bf6c85c3865ff7f3b4819c13b425b9a3a16987d38ead08c3b9315b53b69ffc4b9fd78b0b9dfed4e3bf9874d3bb26dd0ba706089ba5bcfda3999d523b83d82aaba2bed5fbaeda41e3b497ef5bcc84488bd7141b5bc9d4acb3b154b08bdaa260dbeba5decbc18bb013cf68d52bd27a711bec6000cbd55d0913b728855bdb50703be70480cbd83e2463b537731bd13f8cabd3a3400bd2e4cc23a16bdfcbcc32a9ebd41afdbbc7377243be33793bcccf54dbdb7d69dbc3780863b568d02bb87a388bcaeb513bcb93f9a3b3f40af3bf85ef33bde57baba422b563bcc5f9d3b9cafd1bc8b6a983d74d69e3f5393c63ba952b3bca1205c3d961c993ffb06af3b3c8abbbc07557e3d7769843f93f6b03b3f5faabccdca613d04ff553f7642473babb98bbc33e2223d3bce203f79f3753b37675cbcb38f8f3cae0fdf3ef33bf33a8fe8debbbf9fbdba74027c3e0ab58cb9a038153b13e553bc7d3c8d3deb4c1eb9628d8d3b4e8a09bd425c5cbd30b509be53a3883c00000000000000002d7909be7ba0b43c000000000000000033ffaebd4c1d513c0000000000000000ecb64dbd7e030b3c00000000000000003265ddbc30c9903b0000000000000000fae79fbc5cd7663b0000000000000000504e9bbccbf90c3b00000000000000008038b5bcaf9fcf3b0000000000000000551eacbc67204c3b000000000000000000000000000000000000000000000000b21782bab40b19bb9abf443cacfeac3c784720bbef99c53ab5f6593cfd67973c236a41bb48ae8a3be0b92c3c8826423c095e66babdad093bc3d9183c7669293c5432b3baeb0e1d3bfb8fc43bda27083c3d5f88ba10ed9f3974ae7a3bd221b43bf0f40cb9aeafe5b993cc533a60de523b0000000000000000000000000000000000000000000000000000000000000000974eab3b0ef7473a882f5abb364e513cb7eec73b8fc15f39088f02bb24f1243c1ffdc63b28af3c3bd48fc8b97c76003cb3438e3b2ae8b13ab9742cbae3cfbc3b60ebaa3b5023ef3a081d023a3166913b50ea9e3b7741853ae57d1dba6e06893bbdaa723b6cea5bbaf9870f385856de3a00000000000000000000000000000000000000000000000000000000000000007c0b14bde2a80bbe392acbbca26c033b3a531abd886d06becdbfe6bca19a973acc2c19bdf198e4bd2512ebbc559eacba4cf9fdbccaa7bbbd7b1eddbc2eeb1db9f170a2bc39b590bd5d21c9bc609387bac5dc0ebc334241bd81db95bc735e343a4637203bc4b2aabc03e62dbce0cb2d3b000000000000000000000000000000000000000000000000000000000000803f8926163b3ba0123ba69f81bdc03b9f3f4394653ba8e2dcba3be623bdda45843fc017fe3a40fbb9bb213ae8bc4c05563f1a78003b30bc44bb11e5d6bcc2e0223fe5a82fbab71d94ba6e15ecbce6c5e13e5deb8ab91533393b61a5e8bcf62e7e3ebb0e16bbde1f033c920f04bdd039873d00000000000000000000000000000000000000000000000000000000000000005a8f83bdfee4323c0000000000000000e94dd6bc2af6023c000000000000000057d8aabbf853923b0000000000000000a579df3b82192a3b00000000000000005e8d0d3cae6bee3a000000000000000097faae3b5ad4e43a000000000000000037996cbb2859d7b900000000000000000000000000000000000000000000000000000000000000000000000000000000d20ed7bb64685c3c3b1ca23c24d292bb645da3bba206743c65b6963c316656bbba7147bb477f523c0ac3583cf24f43babe2df9bab26c2e3cca832f3c6d25d4baad2991ba8d8ce73b478c123cfac5203ba01debba2b6d8a3be42f043c4cd34a3b406a87ba6e6af8392bb2a43b2bdd9d3b000000000000000000000000000000000000000000000000000000000000000050b09e3a6079aa399e100b3cd1b70dbda58f14b95444813a86c5193c909c05bdc7bba4bac1f0ad3aaad9053ca86504bd981b34bac04cce3a99e6fc3b07a4d1bcd42663ba80e0f1396986b63b2fdf82bcb7912fba54e9453ad1762c3b6dbc9cbbfb89a4ba587dfa39c897a8397b1f9e3b00000000000000000000000000000000000000000000000000000000000000007618ecbd21505abce5b183bbf91e0d3b1840ecbd18b481bce3e922bb13ffe139aeb3cdbd7e6d8cbc5777bbbaab681db9a2f1abbd0f8393bcca75b7387a3decbabdd886bde338a7bc79354a3a78660eba24ea3cbd55cab2bcd395e839751af8bad68fa0bc3347a0bc74f1623bda03bbb90000000000000000000000000000000000000000000000000000803f000000008095173c8dc98abd9e3e983f9910c8bc43e08d3b39045ebdc08c7e3f9cc5c73b09282639e82241bde5224f3f15cfdd3cab8881ba8c0740bd614c1f3fbdfa153d09aec7b9ce7e3fbd104fe03ec0f01b3d0a7b1d3b75a935bdc315853e2626ea3ca334963bc7c635bd4b40b03d18c08b3c0000000000000000000000000000000000000000000000000000000000000000583354bbe94e223b000000000000000028e57ebbb94ca13a00000000000000001169f3bb84b9c53a000000000000000006aa00bc8408cf3a00000000000000004ddf0cbcbd330e3b0000000000000000daae17bcf7d33c3b0000000000000000856a29bcffa0783b000000000000000000000000000000000000000000000000e8f6d9bba06d1e3c3068333c42216abbb26361bc312a8a3ce9cbd03c94fc91ba26d825bc7cdf913ce95acf3c4ec0abbaa041f4bb243a863cc771b33ce80b3cba8a1588bbbaa55c3c6dd47a3cc78bf63ae31db3bb3664153c427b6f3cb4fea43bac818bbb9286863bbe02373c8a73db3bbc5caeba250311bb8621b33bdc62ee3b1c5ea0baef764bbb6ca5893a1cfd833b68d0853ac281ab395257473c243107bd8380ca3a7b0eb839a89d783cbce7d9bca8b8f439b0f75a3a75257b3ca29a08bdf92f1d3a817910b98ac8683cc01ff8bcacf68dba326c67b8367d213c03c3b7bcae8ea1ba9edbec3995f80a3cb5f73cbc7aab56ba92e1e4395ade583bd999183a1402e1385ef838baf86eb6bbf318363ced96afb9e45feab9d11413bbfe44463cba0799bd5ada163c74d076bce1ba7a3bc6b609bebca269bc151441bc774a893be56c0fbef039acbc4eda16bc6806263be88502be89c4c7bc7cc3bfbbb31dca37cfa5d0bd5bacd4bc9d363abb6474123a4610a7bd3958f6bc735624bb3acff0b99ed055bd9ba1f6bc60a2dabaff2a6a3907ef90bcc43ac5bc2e60e739d4818339bf03a33bcb4335bc3149073b301ab93988228c3c2e51e5bde649983f6704c83d36ded43c78f503beba5e903f40e7db3dd6247d3c0033d8bd9860773f1619043e4b613e3cf82bbdbde787473fb958073e49ebed3b1902a2bde704163f97f3003e2e1f253ce8d29bbdc1f7cf3ef5a6e03d4eb1583c6ddd8abd915b683ec7b6a83d24fb7d3c7a1f45bd77986a3d5f9f313d291e5c3c049c28bd47a67bbdb776973cf205fcbcd138f03b0000000000000000a15adbbc5ebedb3b0000000000000000be48d2bcae1aaa3b00000000000000000b44cbbc2489c13b0000000000000000c626bfbce1e94a3b00000000000000006488c1bc7b748d3b0000000000000000df3bbebc3d489e3b0000000000000000509bb5bc2eb9ce3b0000000000000000c7ea94bcff4a983b0000000000000000e3b1b3bb567e1b3c88a0af3b50f412bb51c242bcdcef903c4363923c370692baf13dbebb0db16b3c8365633cb5fb63b9007cf2bb96cd813cdb098f3c6b5d1e3be516a2bb92ec3b3ce4915b3c37260c3b2113d7bbebe7163c7ea3553c22e58d3b60b96fbb923f813b78d5003c941fa33b21d780bb95b8afb9bb09bb3bc49ab23b453f0cbbdf2657bbc185433b4092043bab5ae6b89a760a3a6205703c1fc2febc73750fba7289c939fc8a8d3c7fcb05bdd92788ba9b28003a0ad9623c582700bde6faedba131e863a9723663c2f03d3bcbdccecbabc12793a7e6c273cb3d09dbc1bd2fbb989269839f9360e3c9c0cdabbfc274aba706515ba2700a13b29df933946b06bb939c5aab9725cdcba8484403c208c5539850db0ba2ff2a2ba1c8d3e3cc0aa7abd590caa3c3c62a2bcb3b4733b3db2eabdc51125bb5b6ea7bc8444ad3b9b0dddbdc78151bc3e7d38bc1492d63a882deebd6d5cccbccee037bca975853a999fb5bd0f92d2bcec39b2bbe04332b8f1779bbde35902bd1ff2c4bb4bd14db84a5240bd773ac4bcd37df3babb95cd3853659dbc7eefb7bc933f05bb7005cb39530fc33a24ee18bc6d5d233a8740bb3a64da933cad12efbd67bc7f3fec1b8c3eda04ce3c25d30fbe3eb8783fb6688f3e1ff56b3c4c62d5bd9d714b3fe43d8b3e8626843cf694d8bd79fa2b3f5fce833e9286483c628cb5bdbc17fe3e4ebf613e5489833c14cfb0bd56e4af3eb1993f3e6f7f543c06358cbd7148473e6db9083eaa38923cb64b66bde1523e3d87c0a93d22d27e3cf2d318bd6c135abd5c20f73c045b63bd8e61143c0000000000000000b0a977bdbd634d3c0000000000000000fc0142bddcf8d13b0000000000000000fe2037bdf0d1f23b00000000000000008b900bbd6b8e743b00000000000000004d8a14bd2488af3b0000000000000000d598e9bc4ab5803b0000000000000000a08b01bd40a3f13b000000000000000082ccbebc0580813b0000000000000000214c1abb4839093cbd661f3a42c6433ac2e70abc0026773c1ab73e3c765f50b8bca4ffbb48a2883cc494723c5c65513b861ce4bb8d35623c9eea623c4417983b5f27a7bbaa11303c93f6433c9a84a43b66f8b2bb389bcf3b5e983e3c23fec53bd5c7a3bbec3f883b6547213c8473bf3b79afb2bbe6b0e83a0cd78f3b6e94a23ba99230bb36274dbaca50753ae6fa223ba8f039baeccbae3a80573a3c34c6f6bcbab83fbb88f3eb3a2bc7873c6ebfecbc1a03f7baf36a763a0d785c3cd0bed0bc724128bb4a29813adc80573c6f8b9dbc904033bb2ab79239ab53483c6e974dbc5ad203bbe3116bb8b0b9fd3b346a4bbb347841ba105b46badd608a3b6d5fa43bd0b7afb792244eba8e59073ac4df3c3c8917b23994abc0baca1a9d3ab67e2a3cfe8a5dbd0f1edb3cc234c0bc9498413a182fcdbddcb731b9172cc5bc45009c3b0a38e5bd4943b0bcb70496bc3951ae3a82abd4bddc02f8bc738348bc82b14d3a5f07b4bd78be01bd7e5a1abc7a07dcb9daeb8cbd1a2307bda2d8e1bb18718939bc0f3dbde55ef6bcc8bfd1bbc80e003ae74ea1bcaceea1bcd1ce98bbbd5a853a654e9cbb2575aebb4346e538c53c0f3adff45d3cf1f3d9bd1873513f3431e83edef8b73cef5905be12b3493f8916eb3e54809e3c9146eabd85082d3f98dfdc3ef26f813c4df2cfbd22a00a3f9e5bc33e87e3563c9ba7b8bde0facd3ee013a63eaba3803ce339a3bd82de8a3e6c86833e6357843c77768dbd10e0123e90e23e3ef52e8c3cc3cd58bd4063ea3c6c7edf3d2856613cf5df13bdbdec45bd708b203d4e8a9ebd0edb2f3c000000000000000010afaebdb199733c00000000000000004f7f8ebd8112423c00000000000000003a976bbd83f9fd3b0000000000000000f7f738bd8664583b0000000000000000129f24bdef42b53b00000000000000003a3b18bdad0dbc3b0000000000000000b01a0bbd7551c33b0000000000000000c5fcb7bcd1fc233b00000000000000004b73f4ba6a22fc3b9aea21bab0d2e13a60a0c9bb815a553c4177083c88536f3b5bcec8bb6a7b573c0e97273c001ac73b28b2ccbb046f4e3c71815f3cb9729d3bca7884ba6a67003c7d5fa43bbe7e6b3bbd76ccbbe4f6173c13111b3c68bdc53bcc3c85bbfb62563b06d7bf3b1516b93b581985bb4d93383a1aa3863b5ef7963b5f2b09bb3b8fa9b982841a395a70df3ada5382ba5d7059ba4581353cc837d1bca3b850bb4552c13add084c3cf970b2bcba661cbb81f94f3adeb3343ca6b195bcded5ffbab079073a3f9e373ce1eb50bc831799ba81df93381a3bd13b9e461abc28a883ba47b00cb86a500b3c013a4dba762a8ab916dfc2386feb833b9a6fa83bf335873a1726b9ba3b178b3ad12b373cd19a743a815344ba5752883a68f9243cc96a54bdd09ecf3cfe57bcbca8b0113a9690b7bdeecef1bbb672d0bcb36b5b3b6345bfbd9a9de6bc3ce388bcdafbd0397059c2bd6c9322bda74380bc462be0b9ec0484bdf6f8e3bc9174a2bbd37a90baa31f81bd0dde1cbdf4b72ebc5e2388ba64fb1cbda1e0e3bca86ecebb1da458b97e0d99bca8058dbcba12d8bbd0d4ea39eb96abbb946734bbf91bacba63d49db9d3573e3c9180bdbdf5f8213ffa0a233fee879c3c875ae0bdac56193f2cd2223f90a6763c84d0bdbdf6ad003fb87b123fed977c3c9bc9b8bd934bd13e7f5f023f75eec93be22d84bd6b8c953e7188c63ebc045f3c838f8fbd174a483ea452a73e8ad9513c3d5c60bd0dedc63de538613eeb366a3ce1d134bda0980e3ce934003e7ea73d3cda2feebcc1ec4abd4e30193de763bdbd82db3d3c00000000000000005e9bcebd72b4813c0000000000000000d7c09abd3bd0223c00000000000000009f8f7fbdbc09dd3b0000000000000000aac913bd3f05da3a0000000000000000ed2722bd0510383b00000000000000004e4c03bd78b4da3a000000000000000046a700bd9379813b0000000000000000fa42aabc97df0bb90000000000000000c3e1dcbacb2fd23b29e8abbae0c1a43b8105e3bbbfb7263c6bd5223cfa19143c6d4dc1bbea581f3c855e643c8bc6333cc07ad2bbc480263c0a2f5b3cc4362e3c03b5a5bbd7f4013c44b3423c77660d3cc2e79ebbc7d39a3b94790e3cb32a093cec7d7fbb48aa403bc422e23bfa8cbf3b4d0759bbc4ae9739c4e04d3bfa479b3b9a4dfdbaddbe35b976da4aba020c093a5dc2f3bac7c82e3a4393013ca33b87bc78637bbb0492fa3aff370d3c9d6120bc47e711bb8ce4b03a2dfddc3b75d9b0bb4ad2b6ba41a8ceb84e4eda3b886025bbfd488abafde7093943ece23bb17f75ba8034903a3c44b7b82ef19a3b527ab23be7839a3a3ddabfb8db960b3be340143cb429ce3ad392ceba5dcc88ba45e1433c28fc243b4e3067ba59020639b873063c7fb254bd83945e3c26c1b9bcf81936baeb11abbdad2fe7bc3865e8bc4047623bae43bcbd81ea5ebdb410b5bc4212153a21ffabbd7db372bd36d48fbc706680b9feef93bdcd865cbd358562bce86cd4baeb9a5bbd531643bdb30a5cbc4a0195b8ba0b0abde09312bd2f4452bce5658039aa476ebccc478dbc232b11bcd0eeec3a276d0fbb3f6bc2b9fd1c4cbb441c93b9e05f343c499399bdaf48e63eedee513fa7e0913ceedab7bdfb1cd63efb65523ff212813c0665a3bdffc2b43e2d4b3d3fb03e4d3cd42690bdc3678d3e55b5203febee5f3c922381bdb2eb4c3e4892013f21713e3cea1058bdc2f9f93d9181c23ead292e3cd6b72fbd7920483d4ae1813e1f7d223c42dfe9bc72ff6ebc9ef4053e00bb223c59748fbc606c56bd42dfd93c6124d9bdfee75f3c0000000000000000c0f3f1bdbdafa23c00000000000000001d7bb6bd58d95b3c0000000000000000272b88bde0b2113c0000000000000000a7693cbde576823b000000000000000028e316bd235b423b00000000000000007c7602bd1f10d33a000000000000000008dcffbc3739373b0000000000000000ffc69fbcb97f0db900000000000000001f1ca5baea4c063b41a9473bc3e3163c1c979dbb169fb23b7024443cd8b1753cf33b8dbb7a01d23beb16443c4510533c001bbfbbf97ee33b13cd803c07f4753cd0fe80bb5259c23b7e88173cc36f2f3c524393bbe8a1893bbafe283c6e92253c36c342bbdc541f3ba447a73b90abd23bfbcb21bb8ebc283ad2ced13acc4b993b1dc505ba48a37cba5ad9b5ba65bbc33a714481ba29a3483ad417253b213143bbb1e74ebbebd4173bd088073b8851413bd0c709bb7003223a89626b3b6bb28b3937344fba7859813ac5bd363b69bfab3bed2419b9f4bc0bb926c25c3b91b2853ba803ed3ad3d88e367b95b33a9237193c541b103bfba332ba388fa13a65cf0f3c8710263ba7b601baf85709b937eb033ce8c4043b2fa383ba420fc1ba01a5013ccf344bbd744317bc61b9cabcdf35a13a20f695bd527176bdace0f3bc22f8593b7ba893bdf31d8abd2cd4a1bc8ddc663abad796bd14fda9bdfa3db1bc1567ae37a59063bdec4286bd487286bc2ed3f5b80a5437bdf00a6ebd749396bc852ef4b91863e0bcee3d15bd772e51bca56e4d3a93a403bcdfa788bcf0f668bc1751123b6ad13d3ad6d14b3b6785acbbc021823ad295213cad0459bd1a608a3ede85803f2056673c68417bbd71b5733ee49a7f3f596b323c74a357bddca7503eff1f563f85e73d3c9e4248bd26d11a3eafc83c3fbf03033c910c25bd3a05d23d00aa103fdc26fd3b0e360cbd401c4e3d9517d93e8ceee13b2becd8bc634a523ca0f4883e138a7d3beb0448bcb12005bd0b5cfa3dc53a603b0e1c8dbb43f851bdff04a03b006df1bdd4b1913c00000000000000002c1afcbd5dd6b43c0000000000000000d61792bd18021d3c0000000000000000cb1570bdae67023c00000000000000006c3c01bd4c741f3b0000000000000000b4a5d7bc6b87663a000000000000000005c188bc7e6c17ba0000000000000000826fccbcf41b2e3b0000000000000000de18a3bcf60e05ba000000000000000089cf53bac62c8d3ad20b943b64f43c3cffe38bba943078bb3d87643cc400d53c7c4570bbf3ae213a07d9923ccfd6ba3c749392bb2d98223bfb61893c5c6ba23cc4dd75bb5f36333b45f15b3c4fbd603c3a133fbb0d6e823a3736183ce700523cdb25a6ba0e9c33ba0813b83bed1f2d3c58ff893a2f8bd5baad6f7f39e48ea13bd839533ab6d014ba28d553bb8c4b693a1c621ebb7559b23a999888bafac2bd3be59eb0bae05c1a3b33f096bb5dc1583cb87b943a766dcb3ab6c52dbbb6ef3d3cb48b1a3a9c74873ac709a8ba60ac363ce4876f3ad6e3693a9dc160ba3e80213cf3419d3b1fcff0b73eb0e4b9f925193c34b1873bd73d32395111a8ba65b90c3c40db773b072c103a0d2a11bb37be953bf80d303b1d3910ba49191abb6e78b13b8bfd40bd536c34bddd42a5bce15f223a2f0a57bdd264d7bd1c8003bd9d90923bea207abd83f5f3bde6dce5bcbe475f3900a768bdcf24e1bd6d36d4bc36f0b0b9fc4e32bd391eb7bd327cbabc664023b9a26dfabc390497bd2525bbbc7ab0413a49f178bce5a74abdbd76bebcdc56813a4ada04392a5d8ebc5a1881bc10f9223b84e2ef3b9f9c953b3aa5f0bbea26ef3ae1dee43b974de4bc04a7c03d218c983f9544033c4959bebce6b68d3d4347923f81fd0c3c7cc6c8bc3e5d703d33b67d3f319cfd3bb285bdbc69fa1d3d22ee4f3f699ef53b2251b7bc6d8e8f3cb74a1f3fb947983b4f416bbc47571abc64dce43e1af5f03a9971e9bb0a0bf4bce3f3893e105704bbefe48f3bc18a24bd0872cb3d8597a5ba777fe33b58095bbdc675f0bcb923e5bd9db0803c00000000000000001a92d1bd6745ab3c0000000000000000c9db71bdd84d263c0000000000000000f7c7ecbc2675a33b0000000000000000806414bc6c3e173a000000000000000046b6aebaea992fbb000000000000000000787ebb99e9acba0000000000000000690289bc5dab063a0000000000000000ed2368bc2d3bb4ba0000000000000000000000000000000000000000000000004d6163ba5d5fcbba429c693c2c4e8d3c923918bb4724123a4db67e3c906e803c84072dbb5dbbc43aaff06d3cca7c573cd2431cbb51cd083b8312453c404e203c855527bbbeb6d83a1e2fd63b98e3123ca1fbdab9e7b219bad9bf873b0747ec3b90df623a7649b3ba8d9ad8b9cd739d3b000000000000000000000000000000000000000000000000000000000000000070e3e4babf64df3aab06a0bb5128613c25e937ba52c7ea3a534d70bbb1b4543c34c800bb4c5d3f3a186ec8badb6c273cdd87fab9d2b1e33983c49bbafa56203cbce3293bb154f8b98ef64cbaf0410f3cbffb553b7cc8b939028d27bb7f3b023cfa56693bca14d236d1f3f6ba2750ac3b00000000000000000000000000000000000000000000000000000000000000008fbf34bddf82e8bd80f49bbc524a3438eafb26bda9d7e5bddf71b0bc6b58a93a514720bd13dfcdbdfed3a0bc64a9193a8f1dfbbc9456acbdc26c9dbcb58cb83827a290bc26e18bbd9cb9abbc5cdf653a79f3bdbb1d673cbd530898bc8224a23a3b59b73b6b19b3bc6adb88bce921f03a000000000000000000000000000000000000000000000000000000000000803f3fa2563b0ad7c7ba28365abd3567983feb0e593b51ee5cbbaf4a31bd4e277f3fd115793b45f4eebb3ea626bd1d07503f88291e3bd597d1bbc60233bdf1b9203f6504e23a2bc60dbb744446bde5b9e33e0b4c0cb9b36c4b3bd8994dbdb5dd873e822b60bbc6e6133c68c955bda581b53d0000000000000000000000000000000000000000000000000000000000000000c3772cbddeddf03b00000000000000007219debb9728943b000000000000000070e04a3cf5b4433a00000000000000000116be3cceb3b6ba00000000000000007ea2cb3cf4a8eaba0000000000000000f167893c13861ebb00000000000000007624073c6d483bbb000000000000000000000000000000000000000000000000000000000000000000000000000000007157dd3a2f4ac73b1e9a82bb19a720bc2089a13a6590ea3b2aa575bbb23d42bcab8bbe3a6c33083c601da8bba9a106bc9a95da3acb7bb73b125e83bbbe2915bc1df1413a4f1ebf3bcc30e5ba72c106bc581290ba17ec873b7320b53a25f4cebbd6e604bbf511393bee47223baeee35bb00000000000000000000000000000000000000000000000000000000000000002796913b0871edba2f21c93b8c7701bd3cf87a3b56e1053906d5cf3b5e2ddebce0e20c3b2356a7ba255dd23b4f16cebc2f1a8b3b5a6b623a0312cc3b84d4a5bc5285453b3befebb9936abb3b8b4581bcf4f39b3a25bd123929c9ca3b0bcb17bc383f3d39c2b3da39a414bc3be88437bb0000000000000000000000000000000000000000000000000000000000000000de8f31bde18b873c5adca0bb6daa16bbe3843cbd27f65b3cba36673ac27530bb53513cbd2ffc633c6848ce3b9d5d9ebb62b029bd1c6e363c4f8af63bc4a1d8bbf7ca17bde9ade33bc26c103c5873b4bb20d2f3bc3024e73af511113cb8279fbbd5b8afbc84d541baa3f2193ccc4d87bb0000000000000000000000000000000000000000000000000000803f00000000f1fe6bbb72c2f6bccbb2823fb1843d3b61b085bbe636debc575b5d3f64e4943ca4a6c7bb67c3f2bc35af373fef8ee33c9906b8bb2ba9fdbc1492103f49d1093df61874bb40670bbd65a6d53e4e17163dba5b7eba0d140abd2d81893e05630b3d23a4353b56a91ebdad75fa3d529e063d0000000000000000000000000000000000000000000000000000000000000000e9cc6dbca736af3b0000000000000000507772bc1cc83f3b0000000000000000888281bc3b6ef03a0000000000000000a83e67bc48e808b9000000000000000069915cbc533aa6b90000000000000000acfb52bc4732c83a0000000000000000c7c348bc29f3993a0000000000000000000000000000000000000000000000008a49b73aa8b8a43ba230d8bb26b6c3bbc4410cbb2d72453c3b8413bbbe2e4ebcfb3ba5bac200343c0c0485bb4e5271bc5ed8933546a43e3cbf4355bbb8ed6bbc7893f6b9209c1a3cd2ac64bb22aa5bbc0cb2feba01730e3c6c1ebfb8752046bcf3643dbb3102bc3b10fc4f3bc24111bc2f52a5bb8e7f723bdf89d53b10717fbb1b4d16bb93e4b03a4a77433b06e2d1bafefabe3b4ceb0bbbd1a1053c000002bdfb97ad3b79a7a1ba3dd15c3ca9250ebde1a2b63bf705c0bab4306d3c33ec0abd1536b73b3a7e0dba724f333c1a75e3bcc8c7943bc05d95b71d60393ce139b1bc9029643b436922b994a8333c4a9570bc5634a6399f35213ac7c62e3cb6150abc13c6fbba45adc2b90432f23b1aafcb38cdde1abad7f57d3abdd5b63b7159b03a53d4efbcdf81e33c7e2f1fbc7b2285bb4ace6bbd4c95b73c1090d4bb013d68bbabda81bd4559993caadd1b3b0a6afdbb4b2d7fbde2f86e3ce361023cdd8c17bc4ecb5dbdbbc6323cca57533c292a1ebc57a34dbd1873bd3baf017a3c4bad02bc7fc626bd67b402bbf9387e3c0c28ffbbd5b9ccbc6e28f9bbd215503c9c11c3bbeb2a43bc74b79bbb2403413cc77d66bb960118bba9ef38bd49c3823f9786033eb225423b748d6fbd2615703f315c053e3fe6003bf7b75cbd38764d3ff7010a3e1b4ab7b97be455bd4ae4283fbfb2053ed0a341ba897c4bbdd94c033f4900f53d12432e3b18695abd4bcabf3e846cdd3d4eed9c3bacf450bda8a5703ee6c9b53dbd112c3c5e8744bd07dac73d62a8823d4b9b083c490315bd8ef99fbc4bfb103d8eb5d7bc9d31d53b00000000000000008e45f2bca1f8fa3b0000000000000000b2ccdabca69a663b00000000000000000616d1bc2cbd023b000000000000000047feb8bc573fa8ba00000000000000003997b1bc33d17aba0000000000000000a6649dbceb28e2ba000000000000000019da89bc827faeb800000000000000008f021cbc034036bb0000000000000000af8fd53a0d19b83b5e8807bc6d3fe4bb76ceb0b965102b3c2d89c8bb1dac61bc5263483a91cf123ca7d9ccbb64024cbca73865ba7b5f383c8dc177bb73f180bccd58e5b953ff063cb19e1bbb1eb050bc5e0873bb6b72333cccd24bba1a6d41bc7865e1bac489b53bdbd51e3a26f20dbcea369ebb32d5793bba279d3b8a69c5bb3da15fbb0a44f63abc6b453b07127fbb78cc273c3a1658bbb6031c3c7f45eabcac65073c7ca558bbc7df653c2e2c08bde5a9003ce45032ba6994353c1ca8e5bce971cc3b2d824bb919845e3ca736c8bc99b98b3b52d7903a27d7163cedd588bc60f4d43a9519453a64535b3c7d3865bc3dedc73a011dec3a5b5d063c468fe0bbe129d8baa5728a399f45fb3bf9abae3a16a996ba5db9553af6eeb73bc04f643b878ef4bc613b053d1f66f9bbe468fabb1a4860bd74b4f23ce39338bb2b3109bc408e57bda337943ce541dd3b17de22bc49c780bda3895e3cee645a3c2b4844bcc9a057bd0803023c4f1d8f3cf98f40bc318b51bd1313803a8aeda83c31a937bcb9fe10bd0e7ee3ba9957973c182d05bc9300d8bcf03b00bc781da93cf6a1d1bbfb9b54bcd772bfbbe3e66c3cdf6894bbbe101c3a0c365bbd54df5e3f306b8d3ea1689a3b0b628dbd43b24e3f04c78a3e0e5087b8041461bd330f2c3fec4f7d3e730c5f3b9ac17fbd6b15113f56f46f3e2556603b787963bd21fedd3e36df4d3e5b3aac3bc53969bd7bd8a13ee14b323e58f1bc3be6e542bd0e22493e57fc003e86cd583c78e744bdbbb19b3dff09c03d2cff3a3c146a07bdaff8bfbc12ee2b3d2fe016bda3e4db3b0000000000000000795534bdec8cc93b00000000000000009ff105bd9b709fb900000000000000006a1d08bd9cab00bb00000000000000002442d2bc6cdb9bbb0000000000000000b0d4c5bc47aebebb0000000000000000990a7fbc3bd8e2bb0000000000000000371684bcdaf5c6bb0000000000000000819a04bc401101bc00000000000000003cc9143b2cf79a3b39b424bccddedabb878821ba41c1263c5c95eebb676860bcc54a11bb6ffc343c1c1b98bb040287bcff6ebfbac59a313c53a065bb79837ebcbde4a1ba22a21e3cee3e86bb0c887dbc251e4ebbe02f013c56e5ad39f2c452bc7bba89bb5c37d43b60c50f3b5e492abc57c1a9bb8573843b8e3e583bf0a8eebb68914abbaafa593bbb67dd3a5ff798bb975d243c893f54bb2564133c0136d3bc0e87153cc93503bbd835693c25d1e7bc3552e23be42c17ba01be693c11b5c0bc70449f3bae60a53909c4503c53ae9fbc62f40a3bc324f83a2b67453c82f964bcb68a973ae4e1ad3aef7e343c121a00bc1a2f89bacbdbf13a281e213cedcf1ebb0b017dbaa99f883989dee93b528e783bee40d3bafc3f093b23929e3b8215613be577fbbc54fd0d3dced241bbbf7f42bc1dd35ebda474f23ce75eef3a995760bc58c97fbd403e903c5a9a2f3c967965bcdf3a79bdc43a0a3cf766903c164763bcab0861bd0788633be0a4bb3cfd314fbcf88f48bda2a288bb820bcb3cd87842bcac2420bd879f00bc74c6c23c9b3416bca218debc64d20cbc29b2a13c47ed06bcfc056fbc4739cbbb21e38f3c9ad47cbba2fe3239b3845abd6029383fde29da3e1f6fc13bc8518fbdf20b2a3f1868d23e17f9e03bea9788bdc374113fa135c13e6fb8c53bc75b80bdf902ed3e568bab3e5bf1bd3be15669bd2e2db63e314f913e231c163ccd8165bdb93c813e5d01703e587e3e3c2aae53bd73411a3eaaed343e28c3703cf3f736bd8da5553d0490ec3dee18313cdfc1f5bc474ed7bcdda73e3dab203bbd67dc633b00000000000000006fed59bda7f9813b00000000000000003de032bd7aa2a3ba0000000000000000228511bded93a8bb00000000000000007c96d8bcdcbf22bc000000000000000085c3bbbc975f26bc00000000000000007eb388bc97b339bc0000000000000000e4d029bc1d0845bc0000000000000000253a63bbdbcb3ebc0000000000000000ad62f53a4047b53b355c36bcbcbce2bb7990adba4b28233c4c9504bc6bed56bc0b86b3b96a6d1b3c76c2ceba986f62bc854327bb8958353c218987bb4c8c7cbc8170b6b7000fcc3b271d96bb087d46bc7d9131bb191ff43bead2083a04e94dbc78b051bb9a63b73b588b9d3a9cf617bcfbaa75bbbc7d643b937e283bece3e9bb28662cbbb2c0133bffdcd93afcd49ebb1b52363c4dc433bbbac7133c81cbb4bccfb7183cc9ea82bb7827593c201bb7bcb802d53bbdad1cbab053423c5d49b7bc0945593b9cbe8e3ab1a44b3c525741bc066d4d3b3cad2e3b801c093c9aa429bc875aa7b9e1fa073b4b441e3c8ee48dbba2fc09b9c00ef73a4fe5ed3b58f69cb920dc42baf484133adac3be3b53d5963bc30385ba40e9da3add718b3bda8d983b861205bd3286053d093692b82f0f5ebcd50d5bbd1da1c83c117eab3b9a5976bc067f64bda3bf253cb029673c23546abcff1a73bd0c61543a7c6cae3cb77c73bcddf42ebdbcc194ba9c33bb3c64c626bce17f3fbdae9425bc44b7d23c2eef37bc4bbb0bbd10c928bcad22bf3c61defcbb891ecdbc3caf40bc3aebb33c9374d0bb522c78bc581ae7bb7cfe883c2b303fbb35814a3a690550bd22cc113f0123133fb494e03b15cb81bd86c5043f92530c3f3c6e473bb43e65bd398adf3e6e3df93eda14ca3b004b70bd8be8b63e5771dd3e8930563b519932bd2992893e0ec9ad3ed11c273cee104ebd6d01413e52c4933ee7db2e3c986530bddd41de3d7ffb503e322d593c644015bd40f9f43ca280043ec828313c9f17d0bc7913f7bcd3b6333df35e4cbd93c15a3a00000000000000004ca062bd8373823a000000000000000090e623bdcc2ebbbb000000000000000060110bbdc8a111bc0000000000000000848d8dbc4c3e4fbc0000000000000000712f8bbca89560bc0000000000000000ed870ebc0bad61bc0000000000000000b29da3bbdb5684bc00000000000000006aa4cc3adb6270bc000000000000000058a80bb9b521d63b05c416bcc35cf7bbf7fc2cbb9a0a263c23718cbb4efd48bc36716fbb559c2b3cdb2c02bb265e5ebc13375fbb8fe9193cb13b0f3a98ec68bc1dbf43bb57580f3c526b5bbaf9044cbc4fef8ebbf5eaef3bb819303b486932bc77cd8dbbfb56ad3b5047563b385205bcd8efa5bb4be4533b542d813bdd46c0bb5728edba7f84713a8710b83a1f198bbb4caa1b3c599a06bbda43093cab658cbc9a40a43bb53725bab91f383ca4bf79bce54de43ad890be3812bf373c12c63fbc7da88bb9e58f603a35d5203cfe5de3bb0c4cc1bafa371c3bdc8a1f3c4879a7bbd89241bb62cd173b7d04003c26671939639444bb5cea073bf2dbc43b31588a3b493824bb0251673a4187863b72bef93b927ca6bac904993a3f932a3bdca7c03b9d5b15bd1bb9d63c6cc04c3ba8a072bc25ec64bdbf5b443cf678063c458184bcd7ab74bdec5062bb1f4c843c70ac71bcbd9163bd2a9f38bcd838b13c846457bcf4e846bd87cd6ebc8d8fcc3ca74545bc070633bd8df798bc0f07c33c269914bc2d790bbddb0395bc013bb53cf831f9bb8894c0bc5e5669bc7de5933cbd80adbb5a2c58bc826ff9bb40af703cc09015bbcde16d3b2de639bdce1dd73eb53b393fe4ff193c01dc6bbd4585c23e87c8303fda87253c6ebf5dbd30a3a23e5c931d3f7055163c16194fbdcb2d813ead16073fb1390e3c16fd3cbdbce1413e0cf1db3e1eef373cd94f2cbd25f8ff3d31b4ac3e65c8423cf9b816bdd888813dc6a6743e4034583ca7c8f0bc5ed8cf3bb2bb0e3e4c44213cba619abc27280cbd866d1b3d2bdd58bd497f9eb90000000000000000d37372bdac529f3a00000000000000005cf02fbd0eb4cbbb0000000000000000fea3f5bc7e6d2dbc0000000000000000770188bc58d16dbc0000000000000000fade26bc170f87bc0000000000000000648b93bb907392bc00000000000000001a0feab8ec7d90bc00000000000000006f62903b0a0a74bc00000000000000000b6896ba1a73c63bd7a6c9bbc1fce7bb7d4287bb7de5253cdfaafeb8a6291ebcf7fd0ebbf619f63b6a587f39fd9f21bc359f7fbb4b77113cea3c5c3b31f936bc8ecc48bbcfd5cc3b0e35113bb69114bc5e8372bb8ba7be3b96f6a13b82c100bc34f738bbcf68833bfeb2413b1ba3c4bba27158bba4fcd13ac30e843b64c312bb58273abb46158e3ac483433bcf0c13bb2210ad3b7eb7fdbac601ef3b891521bcec5f943abb8e86badacae73bb1ca02bc44e509b96caee63ac406d33bb4ebc8bbced37fbbddedf23a5ce3e03b89a1faba93ee98bb1266653b074db33bb1e1a5394e1f9fbbb384ac3a4747a23b432c783bc78537bb4fc12b3b90585c3b30958d3b1f2469bb49e25e39af648a3afbba103ce56ef4ba84ff793af9e6733a2a6dd33bc2e816bd239c713c46d91e3bb7c460bcccf369bd746ddebb90890c3cc00a75bc8e0447bd151772bc5f476a3cf35e28bcc45457bde3cbddbc46dfa43c3e3e34bce5032fbd1d66cebcfa87aa3c345ed5bb0d9b1cbdcf39e7bc049aa43c37f6c9bb28b5debc2386a7bce5b8873c1c6a3dbbf67893bc9ef597bccf06533cbdaa46bbd0941dbc22250ebc823e103c007b31bbd37da53bbf5913bd4a3e8b3e6ea45f3f0d3a413cf7f034bdd626733ea0c9533fb878dc3bf7931abda82f4a3ea83d333f62232e3c87ca21bde7961b3ea0771d3fe7940b3c543203bd26b6de3d2db5f83e3e9e2a3c798504bd8e4f823d9933c23edc490d3c0f72d1bcb3d9f03cb52a813e8eef273cba339dbc531c8dbcaa13113e89c7ee3b91193cbc31531dbdbdb9cf3cb21857bd94f5cc39000000000000000073de5dbd2b77c7ba00000000000000000c19e5bca5740dbc0000000000000000c556a3bcd3f744bc0000000000000000a86fccbb5a3c81bc0000000000000000307e1d3a759196bc000000000000000035fea73bd93887bc0000000000000000ea80d33beae191bc0000000000000000243ce73b1a0767bc0000000000000000594ae1ba64a8bf3b00c2ccba39d1d7bbe3559bbb600be13bd8c8d93b5556b0bb498296bb39d2ec3b0af8133cb54ce5bb48538bbb3ad8bf3baf6cd73bf41ae3bb7b765ebbfbb1b93b7e0ec43b7eb3d6bb445095bbdc0d853b29e6ed3b0bcaa4bb940158bb40b1433b6f68b83bf423e8bae9340abbb33b01ba9a73a63beb1b1d3b6721f5baea1dad38d2ebd73aa5096b39c3699c3ac5018c39f052713b0b9b8abbe12899bbdb40383a66882b3bdd83693a1070dabb9e66ae3aec09633bb6c09f3a8bb40cbc1e21e03a22af853bf25f733b1776f9bb540cf13ac4cf3e3b04a6833b2d3af2bb4294d03a97b2163bbe00e13b0b4bbebb20d8613a7d92b4394f63f03b3d966dbb1231baba10fc03bbfa49163c236ee6ba546f77b917891dbaf863f53b99ea1fbd306390bbe824ab3b691b45bc54674bbd9964fbbc9630db3bdb0931bcbf9f4abd5ce129bde08a4f3cffccf7bb001735bdfd573bbd8744723c6addc1bb6af712bde8fc20bd10d3803cd62436bbd5a4f7bcaaaa1ebd4f724d3c79c7acba62acabbcb93f02bd4efd133cadc1513785693ebcf4a5a9bc974eba3b2301b2ba45a499bbdeb530bc3e8c623b58b2a53add95c73b4d39cebc84bcfd3d987e823f9729393ca94adebcca03cd3da15c733f6ba0223c723cdabc135da03def95523fc5411a3cd5eec0bc12cb623d29982f3fb22f053c3811b3bc855b093d83a90a3f5d470f3c477994bc8e6f043ca91ad13e00af0d3cbd0876bc233165bc1c8e8a3e1c46c33b8768f6bb5bf306bd0fd3073e82ecac3b0a1f92bba8dc2bbdf341fe3bb52532bde40317bb0000000000000000f39c20bd791becba00000000000000001ecd7bbcf9f812bc0000000000000000abecc6ba33bf57bc0000000000000000c9fb1f3c9f5986bc000000000000000092937e3ce6be8ebc0000000000000000c4328e3cee7393bc000000000000000090cc623c9a896abc0000000000000000494e3e3c235163bc000000000000000000000000000000000000000000000000f9db53bb36c9aa3b58a6d53b5ea98ebbe7502fbbbfaa963b2c78dd3bbf0a94bbea1276bbd143d33ba9e7d83b7380b1bb690b1dbb878a1f3bad1cd03bd0958cbbd04611bbc552293bc832c43b277024bb8c4503bbb90b8d3a2b72b43b9332f7b9780fafba6620c5b974a8813bc5a7da3a00000000000000000000000000000000000000000000000000000000000000000ca815bc8f8c1c3b9e0e853aad9a6b3b9e9f17bc7f201c3bc21e673a9cc3633bc38622bcabf3403b426edd399d5b9a3b342f25bc9c38153b80e2003b1b2faf3b438a02bc08b2ef3a553cb038a835c73bf108ddbbb02b11baeb7547bac851e43bae3180bbca6f1bbaafecf0ba44aafa3b00000000000000000000000000000000000000000000000000000000000000002f3814bd45a328bd7ccb003c1dcdaabb249802bd44f136bda75a093c24b925bb4e9feebc803538bd6e762e3c969d453a4209c1bcbefe23bd64aa1a3c1c14673b803393bc392618bd9b61cc3b5b6d603b22023abc4132f7bc4be23c3b5810ae3b52a4acbb8a8cb4bca7361fba089d943b000000000000000000000000000000000000000000000000000000000000803f7ec5d43b622b48bcc93bafbc27f1823fa333d53b0c3428bc44afaebc1a425e3f4ff8d53b399e3ebcd0b9c4bc1288383fba53c33b6f522dbc8517eebc62db113f2bf1993b7a1202bc5a000abd36c5d83eb4338a3b2966b0bb8e8d15bd07c08c3ed7c6693b3321f2ba53f829bd1b6d033e0000000000000000000000000000000000000000000000000000000000000000204b34bc4812f3bb000000000000000057b09c3b14dbfebb0000000000000000e9ee813cd8b03dbc00000000000000006b01b73c41a851bc000000000000000003b9d53ce5696dbc00000000000000005848c43ca7a947bc000000000000000042e8b83c5a5437bc00000000000000000000000000000000000000000000000000000000000000000000000000000000a536c1bb9feee43a70bf2e3dd4a4093c15de8fbbc463773bdedf263d6b963f3ca38eabbaa7e8ba3b3693053df92e533c0807b4b98d2bcd3b9624cb3c399a473c8e72ca3a7ef4493b1518943cdb8b003ce866f23a07f1ac3a391e1e3c3295cf3b59b90b3be9ff413acdf8f93a7b98993a0000000000000000000000000000000000000000000000000000000000000000fc7930bbe01e14bbe8e792bad526833cd99f6fba51e64ebba13044bbb6d73c3cd66932b89fc939bb5d4f49bb1d613bba5efcdcb8f45711bba62552bb8ad418bb24d21d3bb55440bb6d0fdbbba50905bb9247b739e0c603bb0459b3bb54e31fbb236cb43ac368cebadac4dbbbe57bfdba00000000000000000000000000000000000000000000000000000000000000009ab75cbe6b7736bc873a033c72d2de39392156beccf8b4bc2f48f23b2cdfa43a678b3ebe5e0401bd9afb983b8fb288388d2118be4736fbbcb4d5e83a4bc19f3a6761d4bd82dccfbc3ce0083b7c7aa13a478d66bd4afa72bce865abb93a2bc93a537019bcd6e1d7bbd2365f397625663a0000000000000000000000000000000000000000000000000000803f00000000b3abb53c723e03beba1fad3fdedad3bd8ace8b3c0dcfbcbd4a268f3fd29f43bdd4b9463cee9792bdbae56b3f65399dbc7cc4183c729760bdf48d2f3f464a093beb701d3cfc6115bdbb4ee53ee2d81c3c6a87653b1c3311bc96aa603e9fe9333c9dbc343b622ebd3bd8cf103c0a75d23b0000000000000000000000000000000000000000000000000000000000000000822f773c6d04a0bb00000000000000002d2fde3bc09ab8bb00000000000000006e2d3f3b3a222bbb0000000000000000137cbf3a5b2879bb00000000000000003bc6373a3f6c81bb000000000000000053b4fa3a14be5bbb00000000000000003ea71a3beaa31bbb000000000000000000000000000000000000000000000000324e01bc01abbdb995d5ba3c9b99203b647604bc5ba22dbba784293d71aa193cd1c5ccbbf9b2193b5b1c333d6d5f7a3c366189bb77b1a73b1690153d5b678e3cfdbcf4baa6888f3b6321dd3c1f07713ce83b2fbad990b13b3fd3a33c2f11303c8938ed391749443bbe63283c65f5cf3bb108833a4e81303b220b213b57d3633a8c2d5b39a5923a3981fb71bbaba058bb9b8fe3ba0cb790ba1c5eba3a547a8b3c5a1498bb7aa80abb4514dabb14c5263da97539bbe4073fbbcfc684bb28a2b23c3ca883ba0c7271bba8018cbb7d44573c09e9f03a93e296bbf29ca2bba7f8f33b24e0493a9e145abbe9b601bc0c5a0d3b824efb3a7d86f4baacb2f9bb4dae13bb55e2533b72b130bbd9fcd0bbf4eefebb2e1c043bdcb8a4ba84aac2bb790ef03a02d708be5acc2f3c69d556bb5bceed3a762552be414906ba516336bac1364f3b601164be64fedebcb9dbe43ae016673ba61d4bbe73e412bdb7c8a4ba749ca53b8c9320bedc3017bd804e3ebb3c6b9a3b9e63dbbd8578f5bce2ba49bb4254913b32ef64bdae14acbcc7148abb4aa2463b2c4417bcb27310bca5125dbbe633ea3aead0a23c6340963ba791acba22a9823a6d53333dbeb058be84b7ac3f504f4a3c7ac33d3d1de04ebed4b49d3faf3b1c3dce2d123d67dd29be5e928c3fecb0873d1450ee3cf05204bee57c623fc26eaa3db065ae3cab8cbebd4b2c263f85b9b33d5833903cbe826bbd394cd13ee4f5a13d628a393cb4af96bc18183f3ea567873d0372cdb99975a13cdf0bd33bf52d363df980b93a54d47c3cdceffebdf8ddab3bacf86ebc0db6743b0000000000000000c86692bcf59b063b00000000000000001c7cbdbcac5ec43a0000000000000000fbf5c5bc56ba4e3900000000000000003067b5bc3e29013b0000000000000000e47d9dbced0e363a000000000000000017d581bca9f5b63a0000000000000000f99133bce566603a0000000000000000ec51cdbb5bdd203b00000000000000001012e8bb00b7623ae6604c3cce32b93b032e0bbc79a2233badaced3cdf004d3c8fd9ddbb1310bd3b0941ff3cbe669f3cdc34a2bba1ddc23b47ece53cf77f9b3c93e422bbc1d8fa3b08fba63ce091883ce01106bb8d1ca03b63556f3c4b15403c2b82d8bacbd2703b895edf3b7b9e063cb59e0fba72d65b3b8689433a9c1d113ba17813bbe814453af76816bb7c9452bbea3442bb303b06ba130aaf3a9d42563c8ad4e3b901ca4fbba0869ebabe00bd3cf8290c3acbef83bba51e87ba2b155f3c822fb83ae9c380bb397057bb87072e3c8eae763b57ff94bb18c09dbb0471683b27d4983bca2a94bb67ede1bb2a70783b5ba47e3b478839bb4e0cd0bb7b5e2d3bd0814e3bfde43cbb577ff8bb4f659aba13453f3b4db3c8ba905676bb96ac383ad56fc4bd9c402c3ca2cb52bc0fefd53b4b242ebebd84b4bcb4d705bc57739d3bc6d73abec6dc3fbd2f0313bcb3ec033c6c422abe4bf265bdfd2007bc8db1ed3b906001be3a3e4abd75472ebc5343ce3b9746b7bda7a337bdcfe204bc06f9b73b1f633dbd154eedbcce151abca627a53b725521bca84849bc488b6dbb20d8373b986b603c7b38533bb8f7073a31d05cbab4653e3d175f55be26848f3fd1036a3eb04d523dc2ed62befe818c3f232d743ef1a8263db2c838beaba5733fc8737e3ea3f00d3d3d2015be5a15443f6c30723ed60bcd3c195bcfbdedc50b3f32c7543ed629b83ca9b287bdb5b9af3e66f1303ef9a8723c6e010ebdac28203eeb51ee3df5faed3b63e141b9f76b0c3bbe907e3d87958a3b9840303cfbf5b6bded17333c6d6987bd4166753c0000000000000000545d8ebdab95793c0000000000000000dcc984bd5e63393c0000000000000000bcf372bde50a133c000000000000000029003fbd8a0ec03b0000000000000000c4ab2cbd96bafd3b00000000000000000c0e00bd9447a73b0000000000000000b4adbebca686b53b00000000000000009e8683bc5e09b73b0000000000000000c575ddbba02c3c3bb3ab123ce6d5db3b7de0f5bbd90b9c3b87249f3c0650963cd731d5bbac43a43b3dd4d83cb51eb03c0fa07ebb6179c73bd35da53ca5aeae3c8b6c2cbb05a2ae3bf064813c34ca993c269d19bb784cb93bf8183c3c22ee433cf386d0ba5dce823be8ceb33b5421f53b35c416bb725f8e3b9e9c8aba035ee63a4a34cfba80a55039b09345ba96486fbb5bd806bb9cbd8eba5fd7d23b70e9b939be145139b13588bbabd8a13912df763c7b33763babf089bb3cfe3ebae036333c983da63bf951abbb348928bb0f679d3bb712ba3be4116dbbcbaa76bb1c5abd3b0250d93b761a85bb63a2bcbb8417aa3aa26e943b48015fbb050b9bbb03b035ba3d7a643be10816bbea49c5bb3e737439d16b133b9f3b14bb181693bb8256973bac09a0bd91c8883be8d2abbce7dc093cbccc0abe5ce341bde8b476bc6825263c635c18bed6ef97bd4aa883bc6aa1233cba1d03bee21a9ebde1d38bbcf052143c1816d9bdaaa898bd005594bc25a00d3c5f938dbdae406fbd060a64bcdb09d63b540016bd260810bd14183dbc5fd0993b0c19febb62e566bcb1b566bb4390083bc0a7df3b914de63b027c13bbd7d6a23a774e1a3d896343beb3f96c3f3486e93e3f83423dc8e150bec3c1643f2f00f13e04e41b3d077c2abe8350443f5178e93e6cf3ff3c23a003be21001a3fab05d13e17b2d83cc09ec7bddb1ade3e7c49b23e0aa5a93c57c67abd8794863e82c5863edaba6e3c4ba3ffbcbdebed3d256a2c3eb8230d3cfaa6c4bb0cae8239dd92993de01cd03b24827aba72d395bdf42ba03bc7ace9bdf318c53c0000000000000000e3f5fbbdf49fd13c0000000000000000fb2be0bd3359a63c0000000000000000f317bebd2f33923c0000000000000000effba2bdbb61723c00000000000000008e5f80bd3f9a3e3c00000000000000001e4d42bdf0b3403c00000000000000001a8606bd3ace153c0000000000000000bd15c8bca64e1d3c000000000000000041e285bb481bc63a3199943be0ec1c3c026d8abb6470c43ab9bb703cf682ab3c985c83bbec31a73b43ff863c65ebc73cdfe35abb59adb83b70b46f3c5003c73c5b0ff6ba633eba3b6bdd273c1e4e833c546433bb9d98d03bffd6053c0721763c07adc2ba5a7ca63be4af503b9f36043c00ff04bbbff5813bb766b139a6494cb81e7ca3ba36014a3af4281dbb933d1dbb53b021bae07305bbe021943b847844bbf2f18b3bba30a5bbb0f592b9f7fd153c69f0a23bfaacadbbf54443ba82dd953b5d69023cb3af9fbb9fa629bb58cc913bc9edd73b52dd51bb693c5aba2e2619bb626a073c8694c6bb983141bbf4e826ba4959a23bdc331fbb467d9abb3ce347ba0cafbe3ba5bc81bb2d493bbbc03cdcbaead7403beb1b53bb926ee2badf33e43a70d869bde8d52bbcdec7ccbca535353cd64cc8bdec7b96bdc01fb0bcf708543c3091d3bdf002c8bdd74aadbc0a6a423c8f92cabd7cacd9bd5129cbbc08354d3c198492bd455b9cbd7d94bebc310fed3b52fd5bbd2ea094bd9ded9ebc8f5b253c1f64efbc59fa26bde2833cbcf1c9a13bdb5004bcaeb67bbc798fd8bb4eb7d83a4850033cd0eaae3b7dac56393330023b40660b3df4d01fbece99313f9dae323f30ea1b3d60f025be89a1273fd60d363f6925ef3c52f603bea7c60c3fe94d293f9137e03cfcedd5bd24b5de3ebe49163fa8e08e3c9bf691bd766b9b3e4d74e63e35ee983c78bd58bd25813f3e13e5b03edc88563c1456f2bcbbeaaa3de983523e9c0ff43b987a18bc5f01a33a5fdca73d80beb93bba8737bb6a0668bd7aa6d5bb214223be4fe1fe3c000000000000000039672cbe3bee113d0000000000000000c83210be9ffbd73c000000000000000060b4f8bdd277b13c00000000000000009a6ba8bd37b3823c0000000000000000ab26a0bd4c01843c0000000000000000b1395bbda25f593c0000000000000000d42417bd69c7663c000000000000000026fe00bd9a303a3c000000000000000038682ebb97f3293a4fbd173be0ad5f3c11837fbbfb800c3bc28f143c1f7ed03c64b076bbd9a65c3bc631493c23fb003df54e41bb8ee5d43bde272e3ca8d7e53ca2c33ebb674bbd3bde73063c7acbc43ca4fc3dbb1982f83b22fda73b46f5803c94be21bbf218cf3b0c20043bb359113c3ead11bbe9e7933bec349438f76f1c3b5ff423bb5f0b3c3ba4fe15bb02b972bb86ac4cbab9725bbb1271083b6776c2ba7a93c73bb267eebbf2fa8eb9f1a0533bb039fc3ba04eabbb707aeabad5c94b3bcca3263cb948eebb547b37bb8a73adba59bf383c3345b6bb3a5c0fbbbe62993aadcc0f3cd7bd9fbbb67564bb895432bb6820f13bbc6096bb3bc0f4ba25d052bb18d29b3b1dd084bb9d941abb7f2506bb1b4c3a3bd1f045bb282c37ba1945093a03641dbdd63302bdd5b1c7bc2459473c10386fbd650adebd68669ebca47d693c33c18ebd53a70ebe13aec1bc646a583c887f7dbd39d308be22a3cebc4322663c52815ebde972f0bd457dcfbc8b96313cfd1118bdac86abbd623e91bcd912aa3bd731bcbc9bfb4cbd45ca3abcfb31a53be053fbbbe11f80bc9eb962bb1a3cc23acf57903b802c093c8f6a743a0e03b83acbb6c43c024ce2bdb68be83ec9816e3f4f6eea3cf8d3e7bd217fd53e6e4b703f10a6c33c1ba5b9bd5759b23e69c05d3fd39aab3c5aca8cbdba44883eb2383c3f5e358a3cbd2362bdbee3423e847b153f6cae6a3c4f9413bd0557ef3d1c82cf3ece74283c0646adbcb7866a3d6e5f6b3ec822ea3b6f2d2cbcaa52e93baa5a983dbddc983bffb28ebb29c012bd4904c3bc61c449be3224253d0000000000000000b47453be268d333d0000000000000000929d31be8265093d0000000000000000303f0dbea956d23c0000000000000000b2a2e0bdea63b93c0000000000000000e7e5a4bd3b3ca63c0000000000000000aa7e6ebd4af3893c00000000000000002aba1bbd5b09783c0000000000000000faaafcbc0ee15f3c0000000000000000b44692ba7f1aa3bad04286bae81b843c1668f1b9db4564b9da4b693b816ffd3c0bae1ebb7d0e113be241df3ba575173d3882faba7629703b029ce33bc35d083d4212f3bad2a8a13be9e3d23b9ca1cc3c985e21bb9c4ebe3be2108a3bc028913c10fafdbad3377e3b4f82223ba30e403ce7bbd4bab977653bdf6af638a9e9fb3ab34f5cba4b42b43a8212f73946e752bbea610cb995db57bb5088f33a36e82bbbf064ef3baa6cf3bb2b2c9dba74f410bb6140273c48bec2bb141f1cbb53ccd63a29632b3cd1e5c2bb99f11dbb86f739bbb4ad293c8c1dc5bbc14dd3bae2b430bb6bfe303c65177dbbc7efecba56a895bbf417973b442c5cbb8ef34fba09b787bb52067c3bf60f15bba5ecc039ebd84dbb2b735bb981afc2ba34693bb897b627bbe79437bcdca870bd6c3c81bc95e0373ce626a9bca63419be9d4062bcb0ce4e3cef0614bd334430becbb4bfbc79f0463c5e7705bd14332bbefdc3d0bc2c733f3cc96807bd87bf05be9599c8bc1ff40e3c7532c0bc8330cfbdf0ef89bcd24bb43bb91e68bcd7ce69bd47ea29bc585fea3a21b70fbc564982bcd81216bbfa6671bae93fca3a3c8d203cfce09e3beac6f0b9b3d26c3c765e7ebd31d5693eff3e8f3f8dcd893cb58a69bd8c54413efd9e913fbfd3773ca9d047bdf472273eba42823f9a8d6e3cdfcf15bd27dbed3dc4f95c3f888d403c1e4ee3bc2709b33d7e5e273f3818223cad259abc4ec6673d04a3e43e767efe3b1dbb56bc8e49eb3c34ec763e7355a13be8cf1abc833f6d3c5143733d6b9a043a7265fbbab09925bcceb854bddc7158be3d63323d00000000000000003cd160bed2c83e3d0000000000000000cac02ebe09550b3d000000000000000006bf0dbe7e87d73c0000000000000000fac7c6bdf06da23c000000000000000092ec96bd14439c3c00000000000000001b0046bd75f1813c000000000000000050d3d3bc812b413c0000000000000000e70cccbc86293a3c00000000000000001a86963aea892ebb439b3abb2bf0be3ceebcfd3a2ba717bbe6069cbb14d82d3d59e9e2ba18d68139103c313b9d793c3d3e1ee3b9a41c063b3ece7b3bffb42c3dcfbe06bbffb8823bf9b34d3b5a90f23c88960dbb30868d3bd079663b53fdc53c97782bbb0cb7ad3be1a4e33a244b473ccda318bb7d1d9c3bc02acd3a0e25543b2db48cb96a03673a73f5ceba90246bbb71d4fc3a286cafbb33a72cb9260a2cbb6d8ccb3b769d14bc140e70baba0502bc2d76373c809e10bcff5cdbba79b43ebb8d824b3c06e6c3bb461f52bbf4c26fbb38df503c79587ebb131662ba87ee85bb00b50f3c7913c4bbd9f6f83905fbccbb2cb8d43bff2c24bb65f3703a164cd0bb8db1253b1c12edba74040b3b2700a3bb8e787039dca61dbbc2f10e3bed5429bb259de93b41a4edbd777d94bb78a40d3cde63983cefad44befc24713bfcca173cae182cbacf1f5ebefea16cbc8c15343cb32a21bce8c14dbecab3b9bcc5ca2e3c6b5a25bcbf4422bebffbbdbcdff5bd3b3de23dbcb658eabd0b178dbc602bad3b62b53bbc10327abd35e832bc2383f93aae3e47bc79ca72bcb5c831bbc66e17bb4dcb06bac8e4a53cd12f843ba6b251ba251f873bc7f75abc6955743c2d0aad3fb2c2a33b501803bc3cc8163c52739f3f6d46c63b20f01bbc8b058b3b3b22913fca32c03b26e7c5bb48da853b8318703f8a81a13bf0146abbae4a58bab184343fdd42b33b6b17a6bb75240d3cf193ed3eae82943b863380bbf6f84f3c56146e3ea747933b823732bc167cfe3cb9a40f3d873aefb885f339bb0a2cd93b15c6dbbdc5b65dbe9f16303d0000000000000000bad042be0f8f213d0000000000000000bc1f17beda03d23c00000000000000000621d9bd2a809b3c0000000000000000acd490bd46497d3c0000000000000000cefc37bd26fd2b3c00000000000000005ac0bdbc0186103c0000000000000000f45715bb6917de3b000000000000000048e93cbc5107033c0000000000000000000000000000000000000000000000007d7b8d3aa2db63bb3499963af7a72f3dea84f9b989be253a91b4f73a6dcc2a3def1970baed49b03a96fcaf3b005b043dad4104bb3c5e673bd76ea13b2bd8d83c13c225bb1390ac3b2564ac3a2301943cc9bb8dba5ed78a3b7baf423a5ac5353cfc06e2ba4269493b3fd19139182d133b0000000000000000000000000000000000000000000000000000000000000000d327073c5871cabbc3d227bb6894e0b7f059413cac94bdbbbe31ecba0f8e18bb1bf83e3c15ac83bb01178cba02c711bbbdfd633c150775bb2b8c00ba8c5c92bb2fa1283ce436d8ba8899053aaaa5c1bb5d43a13b98aae8ba6840b53a1f92d0bb0c1a163b4feaa8b911c6253bd3f4c4bb000000000000000000000000000000000000000000000000000000000000000091696f3c2a8b60be2a06a3bb7611a33b96c6133c798958be520688bc7bb9da3be078b6baba973fbe99a9d4bcc785773bd35591bb95821bbeb789e3bc8eb9c93a330c32bbaf40ddbd20f7aabca6554db9548c80bbf02a74bd1b2844bc20ed29baa9cd2ebb0b2e2fbca9e793bb430253ba000000000000000000000000000000000000000000000000000000000000803f1ec411bbfa41ad3ca62ff9bd9536ad3f89ef6239ce1b783cc06db2bd24908f3f0635233b26872d3c05f58ebd0f3f6c3f947f6e3a1d703f3c62fd64bda911313ffb8ed13a0e4e123ccafe12bd92ede63efa24b73aa5fe9e3ba98b13bccf03643ebf28a7394ead103b394ec13b4cb6d53b000000000000000000000000000000000000000000000000000000000000000033fde1bd90d68e3c000000000000000096b459bd2e18df3b0000000000000000ee1fcfbc3e4c953b000000000000000002910abcb7dab73b0000000000000000a3eca43b946e133b000000000000000078823e3ced388b3a00000000000000009828133cf3ae0a3a000000000000000000000000000000000000000000000000000000000000000000000000000000000102ffba360a0ebc85722f3d2cfc2f3c6cdee3baeca8dabb3ef32b3d5cef733c27d253ba00505ebb7db20b3d43c6703ce05a9abaaf8334bb25d7e93cd0df6c3cebe69a3aee2d4bbb1ce49b3c6354583cc93d013b4daabcbacd7c163cfeaa223cecf5ed3a01c5b0b9cb6a353921f98c3b00000000000000000000000000000000000000000000000000000000000000008a4f8eba42460fbbeca821bc2b050e3d7477b938233d35bb7ed10cbc5005063d72343b39308025bb6ef5c7bb20c6b63cbbef813ada8227bba45f87bb7446963c4f48e3b9e70db9bab9eccdbb964b673caeaff7b9bc0066badc0cafbb348ae43b30b53db7f291dfb9955762bb2a69003a0000000000000000000000000000000000000000000000000000000000000000024257beced1e2bc7e45383cbbf986ba41c851be77e620bdb6f2fa3bcd29be3afba63abeb25832bd0bb2853bd76b083b17a618bebb3335bd20da263b2f21f73af08fd0bd727c26bd80f6263b7b04db3a7e6a5ebd2defdabcc1bd423b3d7aab3997c8efbbce7136bcf281253a6d22343a0000000000000000000000000000000000000000000000000000803f00000000f781dc3c109910be1f99ac3f90a2b3bd537ab03ceb84f0bd95e48e3faacab9bcc5208d3caa7ed5bd96b8693f0e25493c824b583c9e03b2bd56d72e3f3cfb0c3de06b403c8b2488bd07eae63e62a2213de65d3b3b997cf9bc9fd1653e2b9cf03c48882abb84f19cba9de4403c8b1e363c00000000000000000000000000000000000000000000000000000000000000008c84833cb56491bb00000000000000008e25ce3bb1ac77bb0000000000000000dfb6a53aaa6577bb000000000000000093073ebb0ba136bb000000000000000059a354bb7c6a20bb00000000000000005dfb53bab69858bb00000000000000008144a53bdff070bb000000000000000000000000000000000000000000000000d92e4bbbb76902bc8cc1e23c2cc5913a3044c439575c90bc7e53383daf41783c796095bae0644fbc5ce43b3d6355993c6c4ed0ba847d0cbcc951243d207fa83c2c393b3a6364fdbb064af23cd476a53cdc3aa03a298290bb7287983c6bc2723c59a1c03a7480b9baa9a7073c43ed123caa3b0d3b836a1f3b4fd2fbb9a8e663b93923b53ab27d303ae0829ebbbe9790bb19c219ba9b1356ba5bd411bc2b6e123d9e5695bae88a42bb31e0a6bce6a4913d23adefb998c779bb0a306cbcab855e3dad7dbc3a505b53bbefe142bc6a8a2f3d4867da39df892dbb78522ebc3d68063d9195513bcee652bb375516bc075fa73c7b2c3d3bd11f30bb7741cabb082fad3b8b1f183be907bfbaa4680bbb789a41bc499f353b4d6354ba6e4b46bbca8bc3bb04f01abe85e7853c363d0cbcdd175e3b9cee61beb5ea81bc2bc501bbcc1b843b50c568be19571bbda50090bba59ad83b082f4dbe2c965bbddc129abb0661d23b48da1cbee17f5abd7801f1bb7270e03bb757cbbd75aa3bbdf927bfbb99d7cc3b67b936bd24a902bd0683a9bbd9fa843b549d343bbb7e10bc9427e6bacc30d43a08f6fa3ca7f4f33a157765ba6501dc395d24223d6c3d4dbe0c29ac3f8148883c0a022c3d676a51beae559e3f95b7703dddba113d74a732beaa2e893f80f2e13db745ee3cff1e12bed15c5a3fee4f0e3e09bab03c06ddd9bd8a021c3f58d5163e426f4f3caacf81bd37d7bc3e26580b3e8e56673bab2e8bbc487a173e8ae9d93d86e84abc6d70123d494ef7bc0afb6e3dbc7222bc67080b3d3c4e17becfd5983cb90837bcc5e81f3b0000000000000000baba99bc62f0103b0000000000000000141ae9bc2803123b0000000000000000f6ed04bd7d9c033b0000000000000000993c01bda0e6063b0000000000000000eefe00bd94a4453b0000000000000000fa2cc8bc4634463b00000000000000008b4154bcfc77a03a0000000000000000d0bd45bc5470693b0000000000000000b1636bbbc328d8bb12c1aa3cb397ba3a2ad38bba7e2d4ebc1a35173dd0c12c3c315a08bbdbbf04bc4b14143d9d66903cee23b2baac87f9bba7d8033dd3b0963c0606aeb99a1397bb59fcae3c1da28b3cb05d683927913abb18e6683cd7d6613cb296643a1d1cfebafacfda3b49feec3b2b20753abdc6ab3a9191e737b58a703a5353b13a4c78293aaa5733bb75edc2bb266ba1b9832654ba660503bc55b7193da5e6063b231e83bba64680bc507a6b3d586a573bb4e56cbb086c36bcf8ac2e3d5c399c3ba82f74bbbc7c31bca6bb1b3d8eb3c83b9615aebb398a03bcde00c73cc499cb3b70349abbc9c8fbbbae895b3ccd04dd3bf35092bb730ebcbb80c5a63ba615ae3bf7ba25bb817932bbb25f02bc7b88743bf25b4abb51b363bb5ceb01bc099e05be364e153d6400efbcd4382c3c5f1047be03332dbc8126bdbc098c4b3c8ae541be0eec38bd12f3b5bc60e93f3cc37029be482e70bd415eb9bc23e7413c0314f1bdcdc67bbd76da9cbc1b8a3d3cda1491bda95974bd62fa8ebcd6582d3caa4ee6bcc74b2dbd59fe4cbc1fc1043cc46ae93b82baaebcbd71a1bba4be3a3b2051eb3c649e29bab3c945ba2a044b3b26c7273d6a8a4bbe49ad8e3fbda86e3e4cf6323df9ee59bec776893fcf6f883e0c3a163dd67a30be41ea643f29309c3ec5bee63cb4c70abe205b313fe8959e3e761c9b3cb4e6bebd73d6f13e9100963e272c3f3c13c349bde36c853e4ff4833ec92f6f3b018589bcd6c9b83d3c83423ef07217bc2496ee3c3d5a6abd12bee93d3bbf0dbc8cd71b3d8fc807beb8982b3d3f8b74bd2e9a4b3c000000000000000062398bbd2ec23d3c0000000000000000def291bd776d473c0000000000000000e51f8cbd8b72233c0000000000000000bd9884bde3ab103c00000000000000008eb07cbdcb90293c000000000000000037ed53bd75dc143c000000000000000069d627bd2d22283c0000000000000000253005bd272c193c0000000000000000a4ab30bb171287bb43d18d3c6bd0153aff1450bb4f3a05bc97e9ed3cc530343cecbcd1ba4dc2fbbbf2a2ef3c0475a03c4080643950d1d0bb6626bc3ce7f4aa3cbb2895b9c6c68fbb61e5893c64dfa53cd5d0213ae14a2dbb7f0a253c3e8f593ca423183a28c32cb90cf76d3bf8c7093c6b636839fd12403a5690e939a8596cba8947f5b95d56af3a069b45bb3ec985bbcbaeaeba71cebb372635a4bb3ac5d53cbf2ee43b30049cbb924449bcfe02413d1de0d33b63c9acbbef392dbc71a91e3da3fa1b3c65f4c2bbe59620bc0b69ea3c119a233c06e5d0bb489b05bcb997993c089d403c8114d8bbc8c8dabba52f183cd16d1f3c23d5aebb1fbc9bbb15dee5b914e10a3c126bbebb635558bbd8d3e6bbb2a69e3b7e6b62bb047fd1ba2c72a0bb9209f7bd2c7a3b3df97532bd4bf66e3cc34226be7e45aabc762727bdd5f0903cc42920be78d87bbdf0a015bdffcf8f3c551b00bea0cda4bda80009bdd04f8a3c2234b1bd07e7b1bd33f804bd9388803c606a42bd5c7897bdfde5cebc1037603cc0f452bccb2662bdfbd385bc008c153c6cf85b3c14c0dfbcce65f6bb1c44c43b8c05cb3ce30fa8bb9271d3baa3050f3b936a113dfdbc35be086e693f4f84eb3e68a4293d1af041bebf855a3fe25e003f0bdb003def5d18be2cea313f4826053f1065c23cc738debda888023fae7bfe3e56638a3c7fad8dbdacc6a53e157de83eb219073c89a507bd8c4e253e3529bc3ec56d9f3a879249ba490dc43cd762863e00c3ccbb4a24dc3c594397bdd1c9173ef5a7cdbbcdffe13cfdbcffbd92a4663da287e0bdb8ddba3c0000000000000000ebb7f6bdc484c33c0000000000000000f95bedbd153ba83c00000000000000002eccdfbd58ac933c000000000000000001b0ccbdf368933c0000000000000000fda3b8bd89dd823c0000000000000000004998bd5520853c0000000000000000b8ee7abda9228d3c000000000000000015d74dbdb6b77f3c0000000000000000b436fbba53a46bbba9ae633c78b4933a73863abafe55fbbb33c6b43cbe80713c5f17abba6642bebb165a9c3cd1b0a33c308511b97187abbb5874863cc59acc3cbb9929b96c0870baf2b1233c323d723cf05900b900daf6ba3201c63b6527853c62e679bae67fa33ac3374e3a3c49e43bf0023e39d552cb3aa4a591b9606b8aba1fd849ba5b1fa63abaf828bb690abcbb501cd1b9f4ff25b7851184bb4076b33c0356033c09d8b3bbed280abc6f970a3dbe431b3c050c96bbef77cfbb406aca3c33ad373cdc84abbbb570f2bb388aa13cf0211d3c8e7fa9bb9efd8fbbb3222f3c0995583c2785b9bb83dc92bb82a9963ba13c2d3c164390bb17773abbef2be5ba5445173c5005a4bb81eab9ba0bda04bcecdcb63b33ba70bbffe68bba7f43babbd307d1bde6631f3dbc6456bd864b903cae5102be1c8918bd4ce755bd42f5b03c7a11dfbd3cbfa5bdb34f37bd592f9c3c9976b3bd225bd8bd0a4b3dbd94df9e3c3c6774bd96dda8bd20de00bd63f2403c0e32dfbcfad1b7bde73804bd81f4683c3b3962bb677f69bd9dd0acbc4ff40c3cea4b793c6cb7eebc7d1a1cbc318ec23b0c6fb13c7348cbba01fb89ba21504c3b6f35e83c0a4613be7d032f3f01d5313fdbf5ea3c30a50fbe91471c3ffc393d3f7e4ebc3c47dad7bd78fcf13e96b3383f5d96873c6aec94bd40c2a63ed38a2d3f40453f3c275d4dbdd1e3523e90690a3f08e9d03bad0b8bbc69f6913d8dbcea3edb9af33a7d02073bc71655bce4279b3e5dedbbbbd030ba3c4a3fa1bd89d1283e17428ebbab73d23c8917e3bdc92b523d3e291cbe802afc3c0000000000000000432427becb280a3d0000000000000000b10c16beb6d7dc3c0000000000000000fdf40cbe677ad23c00000000000000000df5c7bd9d3d8b3c00000000000000003acbd5bd04beba3c0000000000000000064fa5bd0c0b973c000000000000000085cd95bd51b7ba3c0000000000000000908973bdf299933c0000000000000000334273ba833285bbed3e183c698d9a3ba352f6380974dbbb3547493cbc379b3c45a037391a4396bbb7be2c3c4407e83caadd1ab955a82dbbf8ac093c2979ca3c605b38ba5a1decbad980c03bf7e8c83c28d0a6b9ecaad039137c113b8a97813c73b681baf6197e3a584aae3a7ba8f03ba113afba7260463bc70991ba1ce1733993d520b963a0e73a2f9fe1ba3db8dbbbecd20c3b2246d7ba672b26bbb6b38b3cfbcb313c2c26c3bbc131cebb676bb63c3de7693cf229e8bbc20eb6bb662b6c3cc11f8e3cefb0e7bb123b8cbb2742003cd4f97d3c9203dabba69d6cbb13c3903be552823c8bf901bc0b921bbb33ed1dbbcb18463ccd19bebbe65d02b9f3f0d0bbb1660c3c6a28a5bbb29c0e3ad4ef1cbc7a72853ba3457cbb7d198f38db94e4bb75519ebdbed0773ccc2357bd6c28a03c06e0a0bd35ab99bdbb625bbdbcb3c23c4e2684bdf879fdbde3825abda981c03c76fb3abd5a7508bed70d46bda426a03c8045e9bcf17001be00fe31bd83f7953cc13204bcdc8accbd066d0abd56d06f3cc676b73b675887bd1a50aabc6c071d3c4d6e5f3cd55bebbcee0ff4bb8d1e9a3b326c9f3c014c1a3bbf7f5339c9374f3bd0dfa13c2e0dcfbd214ae63e18a86c3fb501a33ccd0cbdbdf67dbf3ef63f773fe829763c02c380bd0cf5883e48506c3faccf223cb09b12bdb6b02a3e97a9503f6645d83b83c590bce5ee963d1c192e3f1a0e613bd8a8b5ba15c9073c2b00013fb3abf536e92e263ce7772bbd8775a53e17b96cbbd68fa33c34d589bdf0451a3ec454a4bbe528a73c056fb0bdf85de83ce51a3ebe8c84173d0000000000000000df044cbef583293d000000000000000086ab31beaffa083d00000000000000000a0f15be4243df3c000000000000000011b4fdbd3ffcc23c0000000000000000bc44ccbd84b1b83c000000000000000028caadbd7230b63c0000000000000000d0578fbd4e0abc3c0000000000000000eec96fbd383b9d3c0000000000000000efe0863a722788bbb591023bb47d273ce2e0263a08105ebb14af283ba2d2ce3c5503073a36d540bb841a873bbe8b003d216bd539a58114bbc653f03a9a950c3dc9502cbad35a863963bffe3adeb8c73c0165b1ba9a0f273b857151bac5979e3ca3b9e1b9b20bb43abfc59bbaf531143ccd1a3fba8a94233b73d95a3ad27779baadb48aba366f073ba4472aba334c96bb7c64a53b7fb184bb9f4d11bbd675123ce373743c23eb0cbcee262fbbc67cc33b601f813c967bdfbbfbfe6ebbaff7aa3bf6f4893c0e44fabb27d2dfba4eba56bab34c843c4be4d5bba99a9ebabbcbf5babd2e773c9e52c0bbb75252ba5dc2ccbbc55d4d3ca7a4babbd9482fb9367ba9bb367cfc3bea42acbbfcc4573ade640ebc9a660c3bbd414fbb3a86133b200de6bb5c551bbdfa52c7bc00b632bd9d15a03c1a33e0bc12bcfabdd69d4cbdf4efc93c64e0e2bc1e151cbedb894abdb430a53c12293bbc6fc32bbe0a0e46bdc091a43c0005c4bb1d210cbe451e29bd5b97683caf2b7f3b48c9e4bd5e7e07bd8e9d403c9090043c7db686bd6838b3bcb2b1e63b7dc2103c660cd0bc54768fbb7f0b6a3b2c0b0f3ca130043cc0bb9c3bc80dd838c859323cfa305bbdd7d6663e13698f3f337f153c66e222bdb2fb1a3ef2a9943fb520eb3bca56c6bc498bc83d1e73863f94af723b23d0edbbf68bfb3c09f06c3fe96d1a3bac5104b98639c0bb9972383f05aebe3acfc5fd3bbfda12bdb8b1063fcbd2b8baf51f403cacfb4dbd879c9f3ea8a8d9babcb5583c7d783dbdae7bf23d051a5ebb1421493c95583cbd074c63bcae9750be6d272a3d0000000000000000b4c256beba4c303d0000000000000000541c25becaf9013d000000000000000084c60bbebb99d23c00000000000000009d98c9bd1242a63c0000000000000000c5c4adbdefbfab3c00000000000000002f687fbde147983c00000000000000001dda6ebdc38bbb3c0000000000000000d71752bddd55a53c000000000000000087faeb3af76036bb89f128bbe3c0943c2b82b13aed8744b975164fbc5880193d6ec1ac395df0d2b962cd0cbc9b4b323d3cccbb37ac2c32b95796c0bbd06f223d42fe4dba3d13783aac1f53bb7984ff3ccc8a9bba91ac143bd8ab63bbc333a53cf0d5debaf67d5f3b0183b2baa7912d3c29031dbbc68c6d3b75ec043bda9bd33907b98ab9eaaac33a1ab08a3969ffb5bb53ffdd3b7e50b2bb0b2e84ba9fe7bf39b0d2983cdeef24bc4e71f93a3b8d3dbc381aa23c0d2a04bcbb3f9a3a50ed08bc98fba73cca7ccebb53a7b039cf5cdebbdd10993c1696d0bb97e0723a600008bc3de28c3c90bfb1bb0102f13a617521bca9962f3c802978bb98d2153b59b418bc95cc8b3b244567bbef84433b008ce8bb0efab9b950580cbbb58f003bf755b3bbdeabb3bb4ccababd92b4ecbcd6b4893c57dbf03cd69136be49651abd24e2ae3c8561b43c32ca56be963c39bd1d97a43c0939953ca5254bbeb7dd46bd417c7b3c781d793c2c1b27be38ee30bdce8e573cfe64843cfd24f0bd4db715bd6b531d3cce74293c4e0a8cbd45529cbcbd42c13bc6f22abb1af38fbc3ebe5dba25367d3a5cd3503beee0933c0d59ff3b1643983727a8b23afb93fdbbd4d4833cb2feab3f63ecd63940ff2a3bc0a3b1bc866aa33fcab405bad66c093cc5df38bd1a7d943f0ee403bb66be7f3c029778bd17ba773f8ab92fba8ea8823c1c2f87bd09413e3f3ddb50ba96fb803c81f77abd6a85013fd28c77b9a413213c586e27bddc7c8a3eb93fe63afec8d4baf804fdbad64a813d9ab7d6bac8006b3b97f52dbc1284acbd979550bea81e223d00000000000000009cd634be76a20d3d00000000000000007b0904be5e3ead3c0000000000000000b0fdb3bd568f8a3c0000000000000000ae896bbd1cf2463c00000000000000006c4121bded17343c00000000000000003678f6bc13e4333c00000000000000002e84f9bc85a78c3c0000000000000000f38112bddff66f3c0000000000000000000000000000000000000000000000005711b73a544105bbfc32fdbb4692283db775963a0d36f1ba1471dfbb0dd32a3d24f769b9bedd69ba9e2732bb507e133db22b38ba1208223aadd642bbea30e53c4cf518ba3374bd3a32f86ebb2728a83cd3a08aba87c9483b79443cbb5bc5183ce31388ba3f6d2f3b1019a9ba4e9eaf3a0000000000000000000000000000000000000000000000000000000000000000af5e553cb1c5b9bbaf1e813abd6b09bc7b52803cb9158fbb742a4b3853aa07bc2111783c698d65bbf4108c3a6943e4bbfc40753c4cad1fbbf2b74f3ad0cbdebb0c884c3c330001bb2562e73ae50ff2bbd5b0223c4c6edcbacfd5e23ad9dcfebbf650803b540042ba75ac273b68eccdbb0000000000000000000000000000000000000000000000000000000000000000a290003d35d057bea17ecbbce294243c21bf073d8ee354beed4a15bd01bf0e3c5987b93c1ba341be58301ebd02ecc63b30dbaf3c99691dbe51de28bdd7b55e3bcdd99a3c8566e2bdbec70cbd1bcb8c3b33cb3c3cc17071bdaa90c6bcbb53c53abd27703bbed12abcbf77fabb786e82b9000000000000000000000000000000000000000000000000000000000000803fb40098bbbaaee83c308e0dbe6b5fac3f472638bb113dd33c2faff3bd15728f3fd7471fbb774eb63ceb24e1bd4a276c3f561005bbdf69a93cbf11c8bd20ca313f3d2cb9ba5e6d813c8eab9cbd9a6aeb3eed9c8bb94e75fa3b2e9e1bbdcf6c6b3e7e8fc23922d4833aeabedbbb829a503c00000000000000000000000000000000000000000000000000000000000000004c88bbbd0ca5743c000000000000000087c4f6bc2ab7d23b0000000000000000664214ba6b6aa63a0000000000000000f566c73c78f700bb00000000000000007312ed3c718505bb000000000000000065f0d13cb24afcb90000000000000000c8fe1b3cef4de23a000000000000000000000000000000000000000000000000000000000000000000000000000000009419843aa7bde1bbcad1243d303584bca8127a39d006ebbbf86a2d3ddbe68fbc2fa165ba7f969fbb8b9f193d274a80bc706089ba68d487bb23ac013d75da52bc75c02e3a354ac2bbebaec63cd87fc1bb36fe5339d66a7ebb93b94f3cb531ad3a6925b539a3b2f9ba53624b3b1e20c83b000000000000000000000000000000000000000000000000000000000000000093fd403b08feaf3a35f50dbc42e9243c579ed23ac0601d3a7324e5bb42b37f3c9cef113ba726f8b9b71448bb60df443c3cb6c13a54da5f39c53407bb376d3c3c7dd32dbbe095a93ad3f0f5ba3053533cb7e212bad215633add93423a09ba0b3c985e29b94c5ed6b8f63f893ad510243b00000000000000000000000000000000000000000000000000000000000000002d9d1ebef0b4833cd51f9dbcc6c8e33ba26820be0aa90c3c050157bcaa17d73b447115bee781ca3bd97f3bbcb827af3b9e85f8bd81b228bb860600bc3a6e823b39a6bcbd8a2551bce06c90bb2b00663b494c56bdd9c3b5bcbc2825bbaeb9133bde5a35bc9e1ce4bcbfb9953a8af5233b0000000000000000000000000000000000000000000000000000803f00000000d922d53c14b6e2bd713f9c3fe83e5bbd21b7b63c8d0acbbd2cce823f5c0076bb1445913c2cebc0bd6a05553f5047ff3ccabc6e3c78a8abbd8af9223f8d46593d31390f3cfb3b8dbd6791e03ecd8c863d8712073a1a6635bdc3147a3e8312693dd0b43ebb1f89c1bc42b3653d7deb463d000000000000000000000000000000000000000000000000000000000000000080058f3cf79cf9bb0000000000000000ef02a53b9e2e9fbb000000000000000034cd1ebc07b2d93a0000000000000000dd29a3bca9a48e3b0000000000000000f71bd1bc40bcd13b0000000000000000309bbabc1a01d73b000000000000000080becfbc5130f23b0000000000000000000000000000000000000000000000007536963a3f4313bc467e0d3d2052b3bcec0b763b91e996bc637b663d6bc48dbc1a6eb23a4c296cbc1243623db0a964bc8b024b3a47ca57bc135b4d3d25374ebceea8533a821d2fbc7c5c193dbfbb48bb7195273a109901bc6e14cb3c15e79b3b9803203a133890bb8bfe173c5069433cfbac2c3a3a449c3a5b3300bcfa42473cff9eba3a447a56bac1530cbc1233313c50480c3c6a63d5ba6c9308bc5de04f3c282ce13b780f85ba387883bc9c9e163d2e2a8c3b5a588db8e7131cbced88ee3cc074113b649c57b93ddddcbb98d1ce3c525800bb13d7373a0244a9bb0c3bc43c80c1a1ba1f02a9baa1b611bbbac9873caca8d4ba9240fbb9e56058babd0e4b3c25a33a3a53f6cab99724af3a64dba23a081b07ba8d9c63bafefec4b95e3ea1b9834902be8373673dd02b2dbdcc115f3c77a83ebe2d95a43c437ff3bc70f53e3cf96c41bebe6c8e3b7506d8bc1b04063c4d562bbee6d2fbbbbcc29abcc66ef43b902408beae12c6bcd43f23bca37c793b0130b5bd678529bdf4c952bb45f3943bdc5526bdd5b54abd1645423b92c7133bd9e4353cac3939bd8a135c3b50fe203baacef93cd89607bdbd97073c78ba9ebaf0d0083dad4914bed0489c3f3056783d3014153d52a022beb12c923f7880ba3dcd8fdd3c94e60ebe8f44773ffc31113e372ab73ce6c7f0bd4091433f181a2f3ed4746e3c6444c2bdcef40d3fb3543e3e897d8f3ba9b288bd436cb53e2ea3373e3c25b2bbb01217bdafb8233e45df1e3ebfca83bc48ecc33a9bcecfbb3b5fd23d3d742ebcdfed093c2d54f5bdb652893d0e93f6bb50ab2abb000000000000000033da1abccc18abbb000000000000000048c7e8bc2ba47d3b0000000000000000e49728bdcc2f063c0000000000000000a09556bd381d4a3c0000000000000000a3a367bdfb6d5f3c0000000000000000c0026bbddac3683c00000000000000004f0245bde5b1473c000000000000000053c32dbda997573c0000000000000000f2c399387c2309bced0d053de85fc8bc97d3e13a890a6bbcb39c503d117cc3bca71f313ab88b35bca426373d57fda4bcd5c89739562926bcc195203db12d8fbba3e0533aeff304bca463df3c5bd04b3a9e565c3ae66ce7bb2e21853c162f583c62b4643acfb984bb0d97c43b8d794c3ca7f0a63a7f27b1b9ae3df7bb1596883c941be43a4b5451ba19f318bc27ea393c6d5a313c232973bb5e94ecbbc3139e3cb7740c3c7a66b6ba20bf45bcc7e6033d8674ae3b2936f9ba965704bc539fd73cf4ef1a3af45eb7ba90d3c8bbef33c33c15b51fbbc5e78aba247458bb81fa9b3cf5cd86bb7792e9b9ce2c95ba49675c3c879c96bbc8c8fbb9380472ba0438f73b0b7f08bbd18b34ba0ace473a20603cb9fa43fdba4655763a183436bab1afcbbad131f8bd72af9e3d557d53bd0ac2773ccf052ebe5a05323d1e2646bdcc44793cdf421fbe0946503c42bacabc9296c33b021d10be9892bfbcd4428cbc8fb7b93bc8e5ccbd94162abd5047edbad8978a3a07c87ebd3c568abd8d59e03b2d5a79bad92ed1bc88167dbd0d69823cde9fa9bb0d3d933c0f3c7ebd9164623cb86156bb0ee6073d59fc24bd1c1e733c4b2eb3bb3088033d347614be217b823fe3d6813e9ed0053dfeb425be3fe3763f6684913e0742d43c697e03be282b473fd019a23e3fed8c3c6395dabd20541c3f47e3ab3e1e6ae93b7d2c9cbd48d5d73e0de6a43e9213a2ba488e40bd1e4e783e95429c3ed3aa58bb1c2dcfbca018d03d8240753e3e6081bca3112c3c3f543fbd70b4343e4d7844bcf927a43c3c5afbbd88b8be3d1b0b48bd8158053c000000000000000093d178bdde653c3c0000000000000000bcf896bd0312923c00000000000000002640aebd03b3b03c0000000000000000a61bb3bd4c0cac3c00000000000000008149c8bde533e73c00000000000000003c27abbdef08c33c0000000000000000b8fea4bd9e07d13c0000000000000000477363bd7b587f3c0000000000000000cd08b739e5b7f2bbdc56e73cbf50e6bc4a30333af92a35bcb099343d7a28c8bc6d7b4a3a0f7533bc41ee233de14e0ebc6350eb3939863ebcebd6053d61a1f8ba2dc6b93ad431f7bba848a53cabe86b3c98be7e3a02a9b3bb1391073c7ed7a83c5512723a32814bbbec13e237cf37b23ca353da3a10b691b9f58c08bc3181973c879a8d399dc80ab9e3f711bc3f765b3c64ce803ca954bfbb5858b6bb9a258d3c2c4e033cf11f79bba19e1fbc8ad5e33cc3c3473bbaafd0ba63f4debbc710cb3ccaad1e3a57c21cbb393c4cbade50ac3c8eaf0dbce26209b9e4f88fbb22867b3cdcc6e9bb560352394af660b943ed1f3c384ed2bbb3082f39c038c6b9fc60c83ba20388bbd92b013afa367dba15c202b9b34336bb854e303a9e95f939ec34a9ba0a29edbdbb86b53d3d0e63bd3049483c821b18be947d343dbbdc4fbdc5b07a3c09480ebe992547bc4891dfbc58fed13b6d61dfbd019038bd783e14bc63548c3add039bbdb9779abd645d183c946aa2bb07fb1bbd04fdb5bd08a37d3c9b03f8bbf23ee5bb46d0b1bd3bcd9e3cc98708bcba74b73c947a8fbd011ba43c9c5612bcdfbeec3c09be34bd9c6ba33c52b62abc69f6e63c68c705bec37f533f3c3ce63e0c97de3c434c0ebe51d1413f1b79f93ea298923c81d7e2bda3231c3f45e0013ff888a13b9ea5a2bdf6bfe33e267dfd3eab71633b377f57bdf798903ee7ecf13efba3cdbb8d67dbbc4066113eb007d03e8ef52bbcb5b9b1bbeaeead3c0293a53ef7f064bc02b3793c978894bdfa885f3e51e620bc8a919e3cfefefcbd203ce23d1505b3bdf55ba13c000000000000000021a1d7bdc844cb3c0000000000000000414debbd054de73c0000000000000000edd1f2bde461043d0000000000000000efc6ffbdd726163d00000000000000005b35f1bd5f3a153d00000000000000008ba0debd4ade0c3d00000000000000006591bfbdde17013d0000000000000000389b77bdb51f863c000000000000000051dfc9b9d1448abbb49cd23c15e0d2bc53c3303a2f2b1cbcd1250e3dcb2b7fbc386e05398787f8bbdcfee23c5cd316bb5db15d398e2ddabb0ae6ae3cb3b46f3c2169b938c5434ebb7268413c58490e3c6d0c703aadf79dbba4e4b63b143eda3c325d4b3963ab07bb751924bb9df3ad3c31fcae3a17df6bbae4780bbc4853963c585f1b3a62b09339645803bc60c23c3ca6ac693cc62fbdbbf23196bb7d89653c6222d43b35eb4cbb3211e3bb9f9fc53c8c67da3a859c71bb0a5e68bbbb979f3c474de8bb35caa5ba878131bb2561593c1e4d16bcc7d7643a2e2acfba4fc1263ce48d2ebcb05f0439821489baa248e73b9639e1bb059a933a8eae253ace779f3b21ee93bbcc91823a76fa5fb933f9e7b929e24dbba947c93a66d051bad769abba04c5dbbd3ee6a23d6d1e4ebd3013d53bd0a0fbbdc987b93c8f8931bde8c2313c7671d2bd63d710bd26f55dbc91fffc394da6a1bdc127a1bd9f02493bee54cdbb6e5b51bd72df95bd5f3ddd3c1f1f83bcc40ab0bcf148debd5e29cb3c53bd5fbcfb3ed03ad5e0b8bd75aed03c707746bc29a8ca3c497d90bd5405b03c45c550bcdb0fd93c62d028bd6298a83c6bdc4ebca08aba3ce3d5dabd7eab203fa95d263feeb78c3c72f9d5bd66360c3f0add2f3f3c430e3c52ab99bdf5e3d53ef91b2c3f92c52a3b688f4cbdca72903e5293263f4b5e393bd6da0cbd824f3b3ef52a063f2e44ebbbd3e32bbc5e20633dcdbef83ef4d914bcc1179c3a43ff87bca3b4b33ec7d642bcdd32903c32b5b0bda6356c3e97e103bc3b38a13cfe93eabd4352d23dd94ef5bddb03fb3c0000000000000000a47d10be5ded103d000000000000000060d10cbe514f143d0000000000000000619611be339a2d3d0000000000000000d283dbbdf46bdf3c00000000000000005549ffbdac26223d00000000000000003127cebdc2f0f33c00000000000000009372b6bd8243f73c0000000000000000e7e655bd94704f3c00000000000000001ff371b9123d80bbe478973cf37e91bce8aa533a495cddbb6df7c33c898a70bace83603a60fbd0bb7ff6883c9205893c0132453a080d93bb016b103cd6abdd3cbe84443a8148d1bbbee3003ce4e5f93cd162193a608cfeba795ecfba246cef3c45bf663a5cda0bbafe5ad2bb74c5bb3c61c9263a856e1f3a892f1cbc0998913c2407513a844a2d3ae0aa06bc5bef133c1578393cebacacbbd2d263bb4ab96b3ca7b6163b9bb926bb9b9090bb77e18e3c02d191bb9ca177ba51ccebba45f4523c003220bc3ca6da38a1bdfbb92f800d3cf8cf69bc6f85883a5818773aceeae93b70b632bc7fee013b96668938bd3c833be0699ebb15eba93af2599fba01e8023b1d095abbb8a6e53972bf883a9b6e05babe89dbba1d59503ba1597ebac96c8fb9a9a5b3bd888c593d398c27bd24918c3b797cbcbd74d18cbc7ed118bd67a90e3c6ab390bd631da5bdd21b43bcfbddb7ba1bd03dbd74a3e6bdede9fc3b8892ffbbb346debcd8abfbbd1e96ab3cc79066bc7ec1bfbb6656ebbd0e41b13cde6f69bcf7a7543cbc03bfbdc6498a3cf6a26abc07d5c33c9b7782bd93e9863c444145bcbfe6c93c4de505bd87ef813cd53455bc88c66c3c533a9dbd990edc3e446b593f2e03c13b321182bd5994b13e60c8623ff31c6fba0add20bd8d38773e77195a3fd5dbd0bba9459bbc7cb2123e22f9443fce0804bc0030f1bb60ce6b3dc77c293f1b411ebc3178a93bac5ab4bba924053ffefa0fbc8de6613c9a3575bd146abe3e779c4dbc5194a63c5854b9bde9895e3e8289ebbb12c29c3ccf48cfbdf4869b3d07fd12be11e6133d0000000000000000d49d29beca5b313d000000000000000080ed20be3c4b353d0000000000000000c61713beb9832f3d000000000000000012c605be7995263d0000000000000000189ee0bda3dd143d00000000000000002c57babdfb1d003d0000000000000000ed4a9dbdc711db3c0000000000000000f63a2fbd9f89103c00000000000000008a6c2c37005c60bb52cd2d3c470485bb7bb2a03941b689bbc069153c52dc8a3c32ec943aed6086bb1c3c003c1e22b93cf0578b3a94e564bb4ffb783a51a21f3dba085a39205f96bae5cfdaba94c6033d4e8d163a223dacba3b98c9bb5377023db9c3b8393112e0392661d8bbfaf4bc3cf34d5db9fed51b3bb07d15bc92585a3c8b021539ac05bf3ab090f7bb2572b33b3f961e3c46cd91bb9aa91aba80f00d3ca97542ba5db190ba574573372463243cb9e3dabb15cad3b968c9a6ba503bfd3b156c50bc6c19d73ac128a5b93de2973bb83e4cbcc0694b3baa45163a603f5a3bd9a50fbc9863133b20556c39b74cee3a2903f8bb0574e43abcbc20b92ce2583afd129ababba5913a170ebe39775fa7ba317e533932a9873a0618073aa0d0baba035375bd55611c3c2a1010bdd8e6993badda5abdb74e90bd8a2900bd561ef23bf20326bd7416d8bdaa3cb63a1726f6bbead7a7bc05b313be4bfb033cbf781cbc25c2e4bb537305be158e8c3cf48c6bbc5703ea3b45cff8bd6959643c8f945bbc57af5f3c8aaeb2bd33fe7e3c84a440bc5c47b03cad064fbd4061dd3b42b008bc782f8f3ccac866bce935f23b8b27ffbbddb19d3b272e1fbdbbf1723eda82843f420d8bbb9c5eadbc42b51f3efb08893f590c59bbb36b4fbc5c31d33df355703f160410bc1829a93b7842ce3c3a225d3fe3ce03bc28860f3c831b63bc4e3b303f4ed007bc57e8703ca55a5cbd90a0083f92a7f1bb46e8623c05dc88bd7416b13e15fefcbbafa58f3c2794a4bd0110383e2416c4bb75af893c6dbb97bd4885f73c06ce1dbef114223d00000000000000001a2430becbc1363d0000000000000000c68805bef0ac163d0000000000000000804801beeb80213d0000000000000000996fbdbd0e7ced3c0000000000000000ed3fa4bda4fee13c000000000000000049bd5bbdc9647c3c0000000000000000b17c6abd09a5ab3c0000000000000000afb212bdc96f013c0000000000000000cd9c283ab881e9ba0e3a203b2546333c96fcbe383aa787bab8f8d9bb6c461e3dcbc31f3accb88eba954e10bcbc2c433da84c853a3d4badba16dbe2bb6bc8433d3a40343a72ec8eba2c0a02bc91d3293db27ef8b8912cec3ae3cd1ebc4b2e0f3ddc6d4e3993513e3ab11215bce3a3be3c60d26eba26de2e3b46ebdcbbd247f13bc51406bad8a9433b4a5fcebbc0a5bf39007c143aeff183b92cc694b998189b3ba6b9cdba88c05a3a3ba1893b780b00bb78010ebce0bb213b37c50f3b6db981ba6fa045bc79ed5c3b2586c13a953120bb66863bbc3c69223b55b4853a002954ba2a3be2bb72bc813bd7369c3a2c5bddbab3b1f9ba082f313b9c4f0239a1752ab98e14073b255c0f3b5a40893adf5f07bb9be4833bcabbe6396f2973394387feba05bf08bdf2e453bd534484bc7bec0abbe7bf28bcb0e605be150ae4bc3e1fbf3b55d2afba13cd2ebea78b13bc368fa0bb09d48d3b96b72cbed1fff23a1db42fbc174c2a3c3c9119be7f78aa3bf34440bc9172873ca443fabdf44da5baf23253bc6a248e3c4c09a8bd1a87b7bbcd22fabb1c03573c80a0e8bc1730dbbb535bd9bbdded543c7b94a43a5bc9ddbba62595ba2d5b4abb49d946bb61b0523d87839d3f8e6135bc95218c3c6e4cbcb97d49993fcd2623bc7168af3c3ff413bdf8be893ff9a51dbce583b43c80756cbdff9a653f64050fbc066bb53ccb8592bd582b343f5d860dbc90809f3c89c79fbd965f023f26f295bbb87e753c1fe593bd44649f3e4dc87bbafc94193c3ac152bda7d1ed3d1fea0ebb07c91a3cb48f38bdc9df07bdc3a917be7bf9193d0000000000000000fb2c0ebee4a9213d0000000000000000fb17d4bd7cda073d0000000000000000477b8ebd02b4d73c000000000000000060451fbd93d5843c000000000000000019c1c4bc6e34493c0000000000000000390499bc5418393c00000000000000006edcd0bcc6e4503c00000000000000004f9317bc94190fbb0000000000000000000000000000000000000000000000001c49a93a8f6cb7baf038a5bbb333193dd98b8a3a8b5c02bb89bcafbb5bb42c3d99a3543ab093b3badb968abb93cf1f3d915a6d3abd14d6ba1cef9ebbfe360e3d3f247e391259523820da09bc33fee93c95c447b8eafce43a79f90bbcbca5943c95368db83dbeea3a39b4d4bbe849cd3b0000000000000000000000000000000000000000000000000000000000000000157c5ebc41936a3b2288c63a180032bb0eb163bc5956593b0747293b721e84bbdf568cbc9bec833b7ac1133a458591ba46cf75bc5261643be03f993a8d2fccba5aab16bc6fd5123b5299bc3ab54b19bb4fb65dbad78dfa39752e753a13b6dabaa3ce6f3b229cb13a500c373ac67986ba00000000000000000000000000000000000000000000000000000000000000000d827b3bbcf419be16bb293b6f2192bb8f32643c967725be2fb5fd38d64986bb9bdc4d3c9f711bbe7d13873b559fcabb48207e3c20a105be9946cfba31529fbbe19da23cb3d4d7bdbd8704bc0c3560ba3d938a3c658980bdd4158fbc86e488bac574583cf9f5adbc8220bfbce7c04a3b000000000000000000000000000000000000000000000000000000000000803f647433bc1cf0043d0b6fe2bdc06f9d3f35d039bcb264fa3cdf04d7bde0d0843f7b891abcce39dd3c0866d5bd78ca5a3fc10efabbf576bd3c9757c6bd23dd283ff127cbbb533fa93ceedbb1bd90e7ec3e112043bb67c33b3c6ca37cbd82ab863e32ced5ba1239d23bc99021bd2969903d0000000000000000000000000000000000000000000000000000000000000000809187bd730d8a3c00000000000000008c8ea7bc92b3263c0000000000000000497f0c3c21200a3b0000000000000000992bed3c1e2c9cbb000000000000000000dc223ddfc101bc00000000000000008ba7133dd846efbb00000000000000000434fd3c532421bc000000000000000000000000000000000000000000000000000000000000000000000000000000008f1aedbbfadc70ba1654413d7258883c64ec77bb76f2fe3ae5c6333d4ec0933cefda3abbc8b2933b1531133dd53ea43cad15a0ba44a93d3bfb99e13cabb3903c7e10943810ce323b506aad3c8abe2e3cb08a28ba4fb05a3b87f1273c87e2ee3b798917ba3a55ef3afe9f7638261afe3800000000000000000000000000000000000000000000000000000000000000001f1630bbc8bdb1bb994e2fbba017213d1cbbc5b97eaf8ebbcb67d1bbcec4cf3c28e5923bdebd96bbe14bf8bb6321463c7a78b93a2ffcf139d12201bc1cb6d43b9e6bd53abee6cc3a9a1825bce880afba91a5fd3af12c0b3b83b816bc9222e3bb0670d338f5a2433b9567e5bbe07cdabb0000000000000000000000000000000000000000000000000000000000000000f61179bec7d955bc20e0783cb58aa7bae73168be252901bd470c113cedd2533a04d155be9d8931bd5a35823be17f333b106f2bbe257a24bdb3121cbb17b9583b3bbce2bdaa8816bde56618bbd667a83873f66bbd6391b9bc55ae92bb0617b03aa85b7dbb773f96bb1dc57abb718d83380000000000000000000000000000000000000000000000000000803f000000005a4cfe3cd2bd19be352eaf3fe224ebbd3f3dd43c4228dabd13db8f3fb62a1cbddf13d23c8dfebabd1562723fed8169bc1477b03c13da8cbd7c74333fa4532d3caac9963c14d011bd7d77e23edaabe93cbf0d2c3ce8f48bbbd1905d3e8c6df83c03ba263b0d7f983cb339b5bb26748a3c00000000000000000000000000000000000000000000000000000000000000001640833cadda09bc0000000000000000139d5f3aeb5fb0bb00000000000000001cd065ba0bc4c1bb00000000000000000b723abb195fdbbb0000000000000000553b52bba83882bb0000000000000000fb8256bb47ae8ebb000000000000000042f6793bc6fd53bb000000000000000000000000000000000000000000000000864efdbb10287bbbb838d23c412dd93b7bbf0cbce746b5bbb82c2d3df460513cb8cad3bb66298e3ad44d3c3d728b9e3ca58fc1bbd213393b2e7e283ddd47a83cbb6d7fbbc14a4f3bd1f5023d2f696f3c2f3553bbc199ab3bee7ea73c402a273c6cb46ebbfd348d3b971d2b3cb244a33b0f09e8bab85b213be546263bd4622939e29a81bb337430bad399d5bb7e5d95bb0c91a1bbd25635bbb42470b823fb303dbd11b3bb34faa1bbb89b99bbe003403dc14b8db98fc484bb3c7680bbe510fe3cada9003a56032cbac288cfbbe70bb93cf5d24c3b1e1e01bae2abdfbb66e5183c5f8b8b3b5d10c23a4a9603bc76aaeeba2e92103b31a82f3b8370c9bb468505bc921ceb3ac46bce3aafe595bbac5125bca4a7fcb9c61dce3a628568bba8c2a6b9c4a922bec937993cef098c3a25f7c33ab45b53bef380223a9f763abb9aede33bde3c73bedd3605bdf9ce4cbb15cfd53b77745abe0d993bbd6e061dbcf4d5b93b9c3e24beeff845bd22e363bc36fac23bd042d5bdee702ebd45cb80bca149e83bac173bbdab8903bdcd9672bc0814863b8f42c3bbe74c80bc222e40bc5315703b9be5003d494bdd3b0acaa6bbc05fcab92e51453d97136ebe5a1daf3f9e7b6bbc87a03a3d34d641be42f1983f95985c3dee40283d72392ebed68f8c3fb6ac953da3931b3de2ca08bee48b603f8422d23d03edf03c54fab3bd7eb8213f4090eb3d6b80c13cc0933cbd054dc63e65a6e83db785743c12caaabbc976223e290dc93df9b5473bf851b73cd241b93b12f2873da1fad5ba0e7e0f3da16f17be341c873c5164c4bbe6d160bb0000000000000000d5d8afbc56c1f5ba0000000000000000415fc5bc0f5a05bb00000000000000003779e5bc1ac58fba000000000000000043d1dfbc5ba0d53900000000000000009a63dcbc77310c390000000000000000718fb1bc2317af3a00000000000000008dfc96bcbf2f3e3b0000000000000000786e93bba44a083b00000000000000007adebebb65a1c2bb5b82a13cfd758a3b1bdb0fbcae6765bb7fa70b3d62ae703c703ae9bbe2ef8dba3d4b263dcc54973ca318c4bb4892943b65bd0c3d49ea9a3ca24dc8bb0454343bace6e53c84f1543cac74eebbfd02953b30f6a93c2d45f73b79c2ccbbfd754b3b83b4363c661b543b926cbfbb9138bf3ab51ff43a6a5301b842d72bbb5906cbba45b04dbb490cd8bb518fd3bb8c6b44baabcc723a577df53c8031f9ba26a589bbe980753a6d810e3d756c5b3b74710ebb8815533a2139d93c174aad3b1e22f9ba2d1743bb192b4e3c3c09a83b940db03af43291bb10fdc23bd9f0db3bcbd0373b824e4bbb1f09a5bbc5c49f3b2e025a3bde897dbb3dd6e5bb9847573beae6d43a3c9370bb67fa92bbc224a33a2169813ade7bc7b88679cdba14a6ecbd0a21fc3c64398ebc95a5fb3bb8263ebe12cb89bcad7489bca235423c0a434dbefd994fbdaffc9fbcaf39233c5bf431beab4084bd08ffdbbca0eb5c3c2a2301be730984bd9617edbc29bd293cd94198bd9d8c77bdb05eefbc520d043c3d96f6bc73a62abd6368cbbc0ffbe83b114f0c3b8568a9bccc0986bc47466b3b9603b53c58ac953ac30ee5bba591943a7ef4383d65745cbe32f58f3f00f64f3e9fa7473d7c5560be9b308c3f2b98723e614a323d55283dbe360e743f4234843efa92153d9b7308beae2b3d3fef848a3ea51bfc3ce705b2bd9c11033f4453823e7d39d83cbd292abde24c943e183b683ec3f0893c3e65b9bba193d03dc6842d3ec0d0273c88b6833c7985e1bcf704c73dd9e80e3a770ad43c7723d6bda7bdee3cdec057bd9d6be03b0000000000000000e52986bdd3f8e83b00000000000000006c2988bd06d4cb3b0000000000000000e85384bde704603b0000000000000000214666bd4c76a63b0000000000000000688957bd1cf1a73b0000000000000000b40e2fbd4b4f7b3b0000000000000000103bfbbc997bf83b00000000000000003b52acbc14480a3c0000000000000000912782bb4845cdbba6fb973c23623d3bc62bccbbc04993bb3a21fc3c28b0513c1a8d27bca978993a34d6103db2c9913c09751ebc5bad833bbf45f73cf8758b3c9dbc9dbb7b54db3ae242c93c54fe403c1b4412bc918d9b3b433c963c87a88c3b09c800bcf8e58f3bc8e6253c39a43f3bcab6cebb8eb2153be4f29a3b999ab8bbd2b08ebbc77f10bbb7f711bb33f1d9bbc9d759bbec4666bbde64453b22787b3cc633323bad1223bb9387fa395e03ca3c4eb7db3b156729bbea7b10badfca823c41dd403ceca022bb6d7dcc3960df993b9818503c292f5c3b4d3182bbbbb158ba9f35313c3d813e3b66a8abba6e751bbcf7ed003cc5266d3a08d51bbbfa461dbc9d08b93ba079fab9dd94cab93fba02bc9601503a506da9b96f390f3be59009bb500ac6bd9fe1b63ce70fdcbc0acd503c1d8e16be4b031cbd460ce1bcc734813c15b61abeae35a3bdb13d16bddb12963c1652fcbd3781bfbdeaaf2bbddb788a3c590db2bdd3b8c4bd3aa635bd18f97a3cc93f3dbd4c15a4bd68a221bdf63f6b3c01fa96bccb3d5dbdaaf2fdbcd4ec193c31b9c73b0d48d0bc689183bcb8a8c43b3afea23cad030dbb46f1bcbbb9c2c53a4fc2183d29e749be1644713ffcd0dc3e8ffa353dcfe748be568f603f4a55f43e5d84273dda121fbe19453d3fde11fc3e559d023d09bcdbbd75b90d3f546dee3e08a4e73cb8d284bd5165b93ead47d73e73a8b83c1f6fe7bcd96d463ec93aac3e341c9a3c6a9f38bb32387d3dd862683ebaaa233c3c394d3c840701bdffe7e73d35c6d33b81d9913c3d54bebde6c7ca3cfc44dfbdcfaea03c0000000000000000fa43ffbd6e5f9c3c0000000000000000af6cf2bd1a6c933c000000000000000006ffdabd9a18683c000000000000000039f0bfbd9c6a3c3c0000000000000000080a9fbd2971313c0000000000000000ae2c70bd4bbd2d3c0000000000000000a63c2bbd7337363c00000000000000008dba03bd4d895b3c0000000000000000d7b7b5bbfcb9e8bb7fbb8a3c28de723b6a6c80bb444cd0bb0eb8d53c450f7c3cd0bedebb18e2f93a16a3e53cea4daa3c20290bbc0c59773b4e7fda3caf3a953c17ea13bcb4b36a3bf7e5aa3cdda2503cbb4ad8bbcbd2bf3bf0918b3c916c0f3c6e160dbc803aa33b8db8313ccce7e9b8e6dadbbb6b964c3bfe508b3bdc3b83bb653896bb969bf1ba4b548539ff520bbcdbaf6aba5929b7bab1970d3a63f7633c4a9be23b9ad78fbb50bf103aab713d3c9931373ccfd7ceba4b78e7ba43f2bf3b534d7d3c76af3b3a64423bbba71df7b9a051453c2637003a59b159babbfe70bb89d0423ca4750c3b837d5cbb8ca141bc15fe153c2ee7473b3292d2b98f3e21bc875ac73b0e420abb6813b33900f9cfbbdefe8f3a6873e6ba7d54053b336570ba79499bbd05ceab3bf47c0dbdbb18893c1300d1bdea008ebd408918bdc7319a3c3a53d4bdef7eddbd706443bdd481a33c0359a2bdd5cf05bec3065cbd6de0a83c62da5ebd6f44d6bd703f5ebdd6bf803cafccedbcc817c9bd03ec35bdb38a693c8f9143bc6b106dbd6ae3f8bce43ac23b7a69b93b24afdbbc2a5870bc76cb923bffe4763cc9ff7aba85f220bb5151e13a1430ea3c37f81cbe2461323f8a36313f1bc2003d1dbb12be6e20223f1ec1393f398de23c0559d9bd8d45023fcfe5363fa7ffd53c63dc93bd7475ba3e49ed293f449dab3cd6a720bd7db8673e328c0a3f677ba43c3bfa69bca6c4e63dc003d73e33f5703c2fe95c3997c7023d11b9823ec6112d3cddf7f03b5e55e7bc537dec3dbca9bd3b5e37553c381f91bdfbb22d3c9b7428bef4d4ee3c00000000000000009aea30beb033053d000000000000000044011ebe1704c13c0000000000000000b0850fbe5ff99b3c00000000000000005e81d0bd30ca673c00000000000000004f1bbdbd9dc98b3c00000000000000003deb7dbd0fbc5b3c0000000000000000fa1047bd6711913c0000000000000000dd950dbd88bd863c00000000000000005f5c85bb70c216bcd2dd743c8ff6c83bf863b4bb67dc92bb82a2a83c770e9a3cb6c40fbc980b84396f94c43c0893b73c5d4002bccdff4c3bc307b73c4364a53ca94921bc055dba3b8edeab3cf6d9833c3a3a1abc2a5dd83bbd69853c12781a3c182101bc9fd5c73b84ec423c94e7043bd6b1d2bb859827b80464ad3b375159bbbc3aa3bb380fa4b8f61ac9ba921704bc565e1e3beaec87bbdd1dd739933e8f3b01ee333ca0f1c3bb2cfb393aad18d13a2679aa3cae7b42bb16ed92ba30ea30bb669cb23cff7e20ba55691dbb463a12bcbf08a53c8154873a30f10cbbc7702fbcfe837f3c2523d43aba1d04baae8a4ebcd7eb4e3c8c263f3acf80093a1afc4ebc383eef3b350a6cba7f61e23ad28eb3bb83a04b3b16aa3fbb11ff4b3b6e4729bb44f32cbda59cb7bc3c130cbdb1d0923cc11066bdbf5edcbd4b9314bdbce7a93c27415bbde14d1dbe054856bd1f8cab3c9cdb2dbd9a9121be670972bd28899e3c1036e6bc850517bea10e57bddfaf8e3c89bca8bc0301e1bd7c5e30bda68c3f3cadcd27bc3d418abd55c7e6bc0e08b83b5bd8f6391325f3bc23ab1cbc74bc6c39ccf3373cc39691baf4c01f3bbe832cba0890953c8ef1c4bd1835e23e96d06f3f7613b13c032fb7bdba60c53e34f5753fca82a53cc28171bd0335953e5fec6b3f46638d3c927606bde984473e6162503f829e933c48f486bc3adde93d02b3293fe89a813c06ecf4bb76a9873df137ef3e3c4a563ccdc682b90ab7a13c65d68a3e69f2313cf4ea703ba41f39bce9add33d0e1dae3b9f0be33ba2df18bdcbb772bc8c5851be6fc11c3d0000000000000000ef3a5bbe07cb2e3d0000000000000000bbd43fbe14d2fe3c0000000000000000caa91cbe3f55cc3c00000000000000002a5200bee75ba53c00000000000000001e30b8bdab4b923c0000000000000000f2ec84bdb8978b3c0000000000000000695629bd3d838a3c0000000000000000ac591abdeecfa83c00000000000000001360fbba79f2fbbb484e133c72e4f33b46d39ebb7df563bb6f2a6c3c21d3a63c0a171dbc142a30baeb34a93c013ae03cd69b11bc9a8ecd3b3d489c3c7b3cd33cefc90ebc6d0bb73b8265973cc0ad9d3c54891abc3d26c93b924c803c5121553c5ebddcbb3044bf3b50361a3c6115963b863aa3bb8d313e3bc8d7c13b7e45a3bb11e100bb640558bbd507dc3a8f0fe9bb68a8053c1f1914bcc03a2a39d24a31bb8296a03cc0f30ebc4480f1b90d5c91bb55d3cf3c9db3cebb1ca5f4ba1bfedbbbde63d73ca4829bbb73c40bbba1813abca0fab23cb2f41cbaef3b6dbab25f35bc7a49963c537084ba16e23aba979144bc32c03f3cc75183ba11f53538cd852bbc8d36043cbe87b1baf13dc43a6cc2a3bb21dc523b038826bbb8ed513b29a651bb537030bc1e774cbd8090abbc5b4d823c20c35dbc8f6e19beb02001bd8f03943c430188bc1d9844be6ef446bde37daf3ce9535cbc757f46be6acf58bd114d923cc22663bcd3c226bed57547bde9ec473cb98a38bc845a03be9c9208bdb9d9053cb56f0cbcd6da90bd8619a5bccc99df3a064e83bb2fabe1bc9da155bb6cba82bb4b19923b68bd0e3b71f9c43b96bc23bb37c8eb3b9f8b35bd52c95a3e020a8f3fcdb6213cc3720cbdba00233e7b68933f2b0e5c3c28da8cbcb8fdd43d32e7893f08473d3c6409e7bb0fbc7b3dcdc36c3fb1393d3cde8244bb6e330e3d38f9373fe3076b3c01d6c6384957b03ced94fd3ee698223c3e61393a037a783c7c36863e2b24003c3b7b27bb2e31ea3be6879a3dbbd5a23beac0d3ba052cc1bbe8cf21bd81f163be993d483d0000000000000000079762bef444333d0000000000000000afa73dbe25a9073d0000000000000000b7ba17bef25ece3c000000000000000019bfe0bdc7b3af3c0000000000000000da19a3bdebd69b3c0000000000000000dbb047bd2658883c00000000000000008bfef0bca210873c0000000000000000e911dbbc5bf4803c0000000000000000898833bbcfd9a3bbf18d6a3bfbf9903cb464e9ba7f0430bb3548913be1d4033da0d1ecbb0c93103b1ba8443c2b312a3deaea13bc568ebe3b1c667e3c0929143d8a71d5bb0693e53b75144f3c8deddd3cf51301bcf0df083c6411513c31be853cefdad9bb68ddcc3b77db373c3b0a943b3d5958bb5cfa483be041d43ba5bb1abba0ec71ba60f19fbaefebb339231a12bc665a7f3ca2fb6fbca1b714bb7722faba83c4bf3c9f7680bcf8a22fba00c71abce547d33cd2a214bc1c2012bb7493debb9e19db3c34fa87bb87391cbb0fcc1bbce2c4b63c0554d3ba8e5b42bb06531dbc32069f3c2dea2cb937e7ac394d162abcf05a393c5a52aa385d746939028b1fbcf53ddc3b256850ba78a3ee3aecf7bfbb45fce03a974768bb6292f83a83f253bb13ea8d3cba0d02bed8f08aba7385563c49c7863c62563abe602252bce7e3603cbd1dd33bc99e6cbe070e0fbd5cf7703c933a3eba40e162bebb8b22bd48482a3c38ecefba510b37bed76829bd2900e23b3e4315bc5d3c06bed15bfdbc1289bd3a53d33bbc1e2f8ebd741488bcc2ed8eba15f92bbcd262b2bcf4719dbb1b8998bb5004a1ba2bbd7a3c5d0a843cb865edbbaa0f00bbccd9723b807e05bcc2d8ae3f4870953a64c6463b36f3e13bbbda9b3f0d76713b5138e73b4e4abcbcf0f5933ffe8fbb3b5698353c662bd8bc56f4763f599ebb3be2dd1b3c27f7c2bc508a3b3fa20ae03b13f9b13bc2aedebb83e1f83eda9d003c1b14e03ad04a103ce27d763e0e03cf3b72448ebb0405b53c1920623d0ed4013b87d21dbb6de8b43c3c5ce6bd90bf72becb45503d0000000000000000d73832be3379143d00000000000000008cb213bea7a0cd3c0000000000000000b129d8bdb3b5943c00000000000000008a758bbd42127c3c0000000000000000df101bbd0507343c00000000000000008e198ebc5792f83b0000000000000000767640ba02639e3b00000000000000002eb313bc555a4d3c000000000000000000000000000000000000000000000000294e61bbd64026bbb502133bedf4423d40f8dabb6fd7903b0c35d53bc4bd343d4f26b6bb29fd833b3e24433c4d97173da9dce2bb0d9a113c11ec1b3c36b6e83c563ec4bb7cfc063cc8881d3cd9029b3cae7e23bb1a37a13b1c7a003cf430003c997329bbef2a7e3a31cba93bc1ff81bb000000000000000000000000000000000000000000000000000000000000000007ecba3c5ad27abc99555cbb45540bbbcc0fc13c3341cebbd3f707bb7302bbbb0e02bd3c9d3440bb271d1fbba6e3cabb554ca83c83d700ba9ab969bb9ebdeebb269c5c3ca003413ac91c2dbbc5dc0ebc16c2093c6696103b3dab9fba91edfbbbccb9533be37b463911b0993a968e76bb0000000000000000000000000000000000000000000000000000000000000000ef2e0c3d171d80be7c0c4abb87f8003ce069993c4acb6fbeb7bec7bcd3a19d3b1b690b3c7a615ebe93ee1abda2abe23afaca973bf98433be7cb019bdb3a133ba03e99cbbb4e7e8bdf02001bd8dfb02bb71b306bc478177bd05399abc550d92bb626e0bbc041cd2bb15cc9939e181d4bb000000000000000000000000000000000000000000000000000000000000803f51eda5bb5180003d059c13becc3aaf3f6297053addbdc73ceb44cebd62f48f3f5f56053b68af9f3c6a93b6bd7039723f4a07413bbbd98c3c94ab84bd60fa323ff296693bc0f3553ca11208bd2a0fdf3e103d553b072e913b8f4bd6baafc9583ea286b23af7dba4ba0e2fd13c450747bc00000000000000000000000000000000000000000000000000000000000000004c96f5bd5969b53c00000000000000005c5c48bdf117f03b00000000000000003932babcdafcd63b0000000000000000c997cb3bbcf8543b00000000000000002b20bc3cfeae5bba0000000000000000708eee3c3bcc9eba00000000000000005f31c33c250095ba00000000000000000000000000000000000000000000000000000000000000000000000000000000b5af83ba712988bcfc4e553dfcc4a13c4adcde39ce1383bc05f84e3d48059e3cd471043b369340bcb834363dfe05ae3c10cb7c3b8dcf34bcde98133dfc598b3cbbc32e3bcfadd2bbf3cfac3cfd4c463c2a5e783b8ade40bb913d2e3cbf5ee23bdd8c883a2c85fe392140323a0a3723bb000000000000000000000000000000000000000000000000000000000000000052033abb4eae3dbbc1d095bcbd30863dc4889abbdea9153b26da9ebcd5f97d3d6767f3ba7ecc193b597083bcc4af433d3c7cfaba9f3b743bf84791bcf778263d4b89cbba8388b73b5eb16bbce876cf3ce0d7123962dd8d3bab6933bc000fea3bfc41a63ad517b23badd1a5bba3bcb6bb000000000000000000000000000000000000000000000000000000000000000045607ebe90d607bdaa39b53cd0069fbb40d26fbe8ed721bd0efa753c523f8fbbc45661be59da37bd13610f3cc86335bb5c1b32be474724bdef59ba3ba45e46bb2fb1e4bdfd9907bdb4e0cb3a02ab2bbbe6445fbd1b4090bce74585bb496e7dba6cbb023bc7e2a23a5bb176bb21701abb0000000000000000000000000000000000000000000000000000803f00000000dec4023d45eb25bec8ecb13f915dd2bdcbcfce3ce90c08be638f923fd223fdbc6baec63c50d9febd7a64763f0abad2bb29f2a83c2fcacabded32363f2e19983c7ccf4b3cfc0974bd0df8e43ee0aceb3c53ac913b862585bc07fd573e0ad7be3c6602d2bb9dd4bb3c6e6985bc75a02dbb00000000000000000000000000000000000000000000000000000000000000007210583ce82606bc0000000000000000649d2b3aad4dbfbb00000000000000001a8d8ab98c90ecbb000000000000000042a00cbb8b60eabb00000000000000001bd766390a8506bc0000000000000000f688533bbb680fbc00000000000000006752803c2cff15bc000000000000000000000000000000000000000000000000006970bb98f772bcb3d91d3daa909a3bc0898fba3292a8bcbd26513d77413d3c43e313b91c4f8abc49cf693d06e88c3c3c21f13a0a2776bccea0443de318973c4903253b23c521bc6ab90e3db5795f3ca7e73a3bb0a094bb3721a43cc503fe3b3ba4df3a06e61a3a783fc33b66650c3be3c7e23ad9b13f3bfa6c09bb357423bb6e9bfeb9067e043bfa41cabb8bc80bbc0f1a6dbbebbb88baf2618cbc5ac98e3d9eea97bbe7c5623ac2b0bdbc2f47a13d2d379eba4cd9023b3e34abbc023b8d3dcccba439ea93673b1d76a4bc0f105c3d7ecd2a3b0e0f843b320985bc0f250a3d105aa53bcfc8b13bf13f3dbc47a1323c8509d73bb9e9713bd0e9d4bbbd5ce7bbf729b83b6471423b7a4e1ebbae9678bcf6b5a83b180d893a81dddcb9bff5aebcad6b47be93a5d33c3d20edbaeff46c3ad82b66be2186853bc645fabb3feb363b3fcc7fbe02c5c8bcde4905bc9e27853bbb8857be46da1ebd14da46bc76cf6a3b7c9b19bef63a2bbd6cb194bcecdd8a3b7518adbd26dc0fbded75a4bcfb4e783b2e7bb1bc835ac8bcc100aabc6201a83b47963c3cf83a29bc9ed067bcfea1413a9eab423daf9ae93b23ef16bc8cca973a6f98253d056063becd7eb13f4648cfbc3ec6123df23e3ebe6b3d983fe8957c3d8682fd3ca50a2fbe6605893f2634c83d02a2d13ce8e204be20ba543fd9070c3ef5427b3c3721a7bda635123f93061d3e75c2e23bafec01bd7368a33ee464183e9b9ecab9e690fa3ba799c83d5bc6fe3dc9be45bc798c233db69115bd5c41a03d627c8bbceea3953d6c6c42be43ce8c3c2965753a9f8cacbb000000000000000020a19cbc106828bb0000000000000000b1e9c6bc4f38afbb0000000000000000c30af3bc7bb69dbb0000000000000000ef34e9bc3832a0bb00000000000000008028c9bc8b96abbb00000000000000008e3597bc6e448abb0000000000000000d9162cbcb56fafb800000000000000006c1c953af7c332ba0000000000000000b87acab858258bbc7b9f193daa6687bb73a3873acd5da4bc9fdf523de5b3af3bc6a02d3bcdd29fbcc7b94f3d71b82e3ca15a203b837c34bc7cd5183d4c17513c12fee83ae3ec04bc7e10c23c2eb61e3c4a83f53a6fdb8aba823f223ce6a9673b392a943a2dabe43a81c7133ba6b4d23a816b24b9ad5d3b3b44a979bbb9973bbb750d4cbaec28313b727abfbbad1febbb7c9741bba26bd53a257491bca906853d2541883a30ca0c3a15dfa8bc41998f3d412bea3be460683a546da0bc43727b3d7d6c063ce708583b784a79bc6e1d103db7f14d3c4572523b9b2a3fbcb8fb843ceecc633ccaf34b3b217feabb17937fbb8774353c4e98223b3f0585bba29d6abc87ea503c5df41fbad68080b94990b3bca23bf83b50654ebbf023573bad59b7bccdd02fbee9cb8f3d41f80bbda6e6053c15a65fbe97d55e3c4bb705bd79e1373ccf7e56be26e1cfbc4cf60ebdfbd6343c644a21be07613ebd955729bd47754a3c3353c0bddfaf58bda96032bdda8c453cc97f0bbd9cd349bd3cae2abd6111243c113d683bc00e1fbd99bd0abd5036193cfc2a0b3d6b2bc9bc429dd0bc8699e83b4fe33d3dade2e6bb81812abc91dbb13b33e6093d41074ebed9c6903f2f6e393e2e1c153d996e4ebe1fd5873f28bd7a3ea4cee53c361f22bef99e5f3fd92e993e508c8f3c84cdcebde994203f179ea93e52c2343c3f474fbd23f5c33e1266a93e9e055c3bc35db5bb564c283e0c62983eb2059fbbe144df3c80faf43b67116c3e382d4abc5aed603deb4adabdd340183e83cf84bcfd8b833d279729be5a6c8d3dd0721ebd4c78a63a0000000000000000640c64bd2f76b93a00000000000000003b6281bdb41a553a0000000000000000c77185bd3728643a0000000000000000db1379bdb92fac38000000000000000078df5cbd708fca3a0000000000000000080936bde23a413b000000000000000015e801bda564a73b000000000000000095eff4bccd9c343c000000000000000093b301baa6f98bbc53ab223d9a5f20bc84e1a13a45f186bc38172e3de1a85a3b4f24fa39dbe639bc3884173d000af13bfad0b43a04c301bc08a8ce3cbe241b3cbeee893a979ff2ba2ae3633cc2c3d63beb0d533a85dabb399a80953b2184a43b6b4162b94a2b213bbb3501bb08bcfb3ae68c37ba79eb8d3b6dfac8bbc322aeba32dbb7badf3e8f3a3d8fbcbbf80ac0bba8ae713a6b68473aa75757bca2b4543ddc8c083c6ce87bba72118bbc8ba05d3deb587c3c0e13bb390ce162bcc4e40e3d355c8e3c38f2e23954ab16bc41956d3c8cfba93c7f42c03a938a04bcf4c599bbff85a63c3651553a6e7e81bbf2527dbc2d1fa13c51fa0bbbd73d1039cc1ababc4f067a3c72e997bb852dfa3a7b5ed7bc3897ff3bcda1a3bbaeb1933bec63aebc89c629be3d5bb03dc4e16abd9a04863cf88235be23e41c3c817c75bdb4a1a83c29b213bec3e932bd442f80bdca45ac3cec85c0bd7cde84bd934886bdadc4ab3c924910bd38859dbd7fc28cbd96fea23c8af6163bbae194bd060970bd55fb8d3c9f81f63c154375bdb6253abd13cc7d3c2b693c3d0f5521bdada9c2bc7e96233ceb4c4a3d3ce072bc9aa7d9bbd9f5973b3abdf03c9de639be216f6f3f8730cf3ed87be03ca09929be26bd513f49e4fa3e687b993ce812e8bd61f01e3fe75b0b3fae432d3c9b6c71bdc8eacd3ed2180c3fe735953bf10d51bce631423e852e063f63382dba1ec66f3c9c5f3f3d192ce03e1006e3bbe167213dbacb80bd5db1a73efbb03bbca68b623d563c01be656b4c3efd622bbc0cbb573d214922becef8b33d2f53a7bd5047083c00000000000000002fc7d4bd5778253c000000000000000016a4e0bd5754223c00000000000000009772d1bd42a0cc3b000000000000000000b0bfbda683e23b0000000000000000be189fbdd59fe13b00000000000000003eb487bdbd4d0f3c0000000000000000aba373bda028863c0000000000000000659d5abd6c89b33c000000000000000065077c3b778888bccea30e3d4a4b4ebc0264373bdc9f75bcdf43093d8739453916cb2a3b30262cbc9725cc3c8772253c3d19233b054ba4bbc9d5703c2ad00e3ce7ac203a77e95cbaa22d9b3b045e1c3c89aab539bb876d3a007c70bac7aff33b6b3a573a2331f33ade7577bbfbc5923bcc0aacbaf56c333b5345f9bb942ab7391017e7ba9084723b31e1abbba4ec84bb14694e3bbee30fbaa0e043bcf5aa263df927843cc7c213bb8d9a36bcf32a013d1617a93c670b26bbd05120bc69cc873c5709e43c7a81c9b9e528a6bba632e1bbb5bec13cd691bbba14a263bb0dda47bc9a1ee03c30b9f6ba7511703a5a7cc6bc5affa93c590b87bb97d87b3a7a81c9bcf723803cc2acc6bb4ef2803b4c9ec2bc52af023ccb3de9bb5f81753bdef2a8bc95f60ebe6537a43d166c97bd517fd23cd6c7f7bd5c2679bc079d99bd5ee2d73c7adaadbdb0258ebdb4c9a0bd145ddb3c212805bdbac4c8bd12aeb1bd414bed3cecc4833ac477c6bdcbfd9dbd7970c33ca40ffa3c4605cfbd7ece8bbd7963bd3c017c2c3d45b698bdb5d030bd7439893ceccb3f3df9f841bd5e5495bcc8cd1e3cf5103a3d27fba5bc5ff8f53ae4e9b53bc13e943c4b420abed5612e3f26e6293f6c70793cb227ddbd20730d3f9b263f3ff0340c3c158d80bd07d5bf3e43ce463ff6684e3be8058abc7ed4423eed60413faee9b339f12c163c265a583d9196293f0fd2b3bbda05093db8a43bbd56bb0c3fd5d8d6bb4d4e283db70ecabd76f3c23eb80a0ebc30d43d3d7de4fabdae955e3eb97d08bca042283d689a02be708da93db67a08be10cb7f3c00000000000000002aa118be46d1963c000000000000000007de13be730e813c0000000000000000829f06bebd0f5b3c0000000000000000b771d6bd5db10e3c0000000000000000456bcabde6f33c3c00000000000000001362b1bdbc7e983c000000000000000076baa4bdc71fd93c0000000000000000362e93bd33f0003d00000000000000008a815b3bb35139bca1eac63c5fde26bc131c283b2ecf10bceb48a23c0dda7e3bc78c483b0faf9bbbb2db1c3c061e2e3c16db7b3ad6ef2cbab07f803b63ed6a3c77501d39770f123b756d58bbf1638c3ca6cc08b908aa3e3bde5a66bbd796393cee0e40b9f656113bf964bcbbf22dc83b11c798b9870c593b3df6c0bb972c113ba1be6b39fb295b3a65378bbb7d34a7bbcad7393c17e993bb0d7b0dbc9403b43c3256c63ce4fd12bcbf33d8bb3e942d3c1bb1043dcbebcabba8558fbb9062a7bb4359053de78e9abb75d398ba1aa789bc5f290c3d8f4bdebb63f508b84d8cb8bc13b2e63ca519babbcf921f3b4d51dabc4ad1ba3c0311e2bb7b8e8f3b1cc5cebcf2d7733c62c9ffbba709833ba48da4bc3a260a3c3b67f2bb4a2b8e3b695486bc2735b7bd75533a3db6ab96bd5583e53c3d4b7bbd2a8266bd4f919fbdc277063dc1f9b4bcf2d5e4bd946eb5bdd097023deceec43b632906be8e5abdbd4a12003da9fc073da24e10bec050a9bd2fc2f53c372a2f3dfcd2f6bdf85671bd8d4db23c8cbc363da910b7bdc8aa0ebde18b693c27ed223d639a4ebd3c7b26bc748bd03bca26043d14fc85bccbcee93b86a6f63ac697fc3b52a1a1bd34eed53e944f6b3f1d26d43b9c096bbdb3db9c3eb4437b3f3b200e3b0c069fbc353c283e7fd3793f066ac0b982c4e33bad5c4e3d73f6643fa6f192bbb69ae93c09d92ebd8896473fc9cf80bbe1290a3d69c0a2bd87b2173fe533cebb9e3f173d30d0c4bdb5eac63e4357ebbbb7d1f73c3f41b6bd90ab473edb818ebb6383bb3c5fdf9ebd600a463d5a9632beff94ce3c00000000000000009bce3ebefd8cd83c00000000000000006c6a2abe5057b53c00000000000000004e110bbeef8a6a3c00000000000000000b8cf9bdefe0603c00000000000000008722dbbd11da913c00000000000000004d03bebd34f8d83c0000000000000000f81dacbd48920a3d000000000000000092eb98bd211f083d0000000000000000819d403bff8214bc81763f3c33247dbbe627383b71fe5bbb5a34ad3b1e71103c5c13173a1f7394ba39bd40b92c9eae3c7ef0b13a72bdc539fb28a3bb5c64d13c9cba0cba44ae3b3b5cc5babb779cbe3caf065cba94065e3b4f7de1bbbcf2923c0fb7dfb8ea63613b66daa3bb7501023c93c818ba7a6c243b580866bb5c674b3a574db23a36fa1638b0c1a7ba2f3616bb51f3803c186227bc7b9a43bb9c8ca13b456d013dec5253bceab929bbc13001bca2cd153dbe1633bc767e823aa32e89bc69f3193d326e0fbc42207f39a859abbcf499023da1e3ebbb104eb93ac5a1bcbcd2eee63c6319fcbbfaea3c3b6d27bebc3a1ba93ce967f0bb9fce6b3bc2f9a8bc40ae383cbb539ebb0b15af3b8a5486bcdd5c903b96c2d0bb4123993bbc2717bcf9c503bd6f5d7fbb77496dbdbd8ce63cc27d60bbc309e1bd52dc91bd79c8013d830fa23ce56523be97e6b0bd8e610c3d4f0d173d5b0239beb6d2aabdf347fa3ce654363d29232cbe796588bd189ab93c8258393df1210dbeccbe43bd6f6b893c178f133d4918b1bd4ff5c4bce5df093c6473db3cba4a2dbd272d8fbacddf42ba40bf7d3c2f8430bcd9f68d3c572d1dbb885ba83a5de20fbdea1e443e44338f3fd3e85439f55651bcfb91c93df42b963f29aa5abbe9f8123c66d4843c18c88e3f4bba44bbe2b9b53c91b634bd68467e3f69c77abbf87bf63cd2e4a5bdd8bd4f3f390752bb66dfe53c2a1badbd88f4163f9e9682bbf9b6c63cf4e38bbd2188b13efbae33bbf062533cff762cbdfd1f0d3e24fe54bb02d1673b9274b0bc309b20bb698145becb5f033d00000000000000005b4e46beed82fc3c0000000000000000a50321be7ea3a93c0000000000000000e93d03be4031623c00000000000000006e76e6bdd09a973c00000000000000007929c0bd7ea7bf3c00000000000000006b0b9ebddf0bd93c00000000000000006ce583bd77ac043d000000000000000056d07fbd6500093d000000000000000008283f3b46ea42bbab1c0fbb836b2a3c7580583b8fa799ba098c0abc4f54c33cc109063b2868f2392c4532bc1a2b1d3dcc0e44388139833adf4430bc54a2233dd1918bbac0fe583b46442bbcc078f93cae953f3a142cfbb87f9296bb08e1ad3c1c47aeb9ebca4d3a5e8c14bb2e3a3a3c95cd113ace4cc8b86e7ab63ada6f993ae266633a17a490ba5d63343bffae95bbdadfba3c6d5a7bbc941945baff2b18bcb21e053df6828cbc1ec6623ac3f281bc0708133dbbe748bc6847403a9f8daebc20cd043d655cf5bb95233c3b0d72afbcd590eb3ca3dacdbb634a743b7022b6bc90d2ba3c9c2b12bb9866863bdd3e9dbc8fb1653c483418bafd83a13bd0b670bc0a95db3baf236fba6ea18d3be36215bc5dfb48bafc3753bb6022663b833895bbbc62883c4261d2bd70a813bd9479e23cb526073de01321be72bc41bdd415df3cc525423d1d335ebeb66682bd90dfd33c91c1583d704e5fbe61e373bd786aa33cf993483dfe5b3bbe5cdd5abda008863c690f173d7e300bbe3ce71bbd2a1bc83b2f8aae3ce3979dbdcaa4a2bc8de38a3ac5e2b73be9b1efbcc56ff03adcedbcbbdf556bbaa6c3313c1a0eb93cdc40c5bb05f78dbb3cfb153c9fd48cbc669eb03f1f9f94bb19dd2f3c0a2eb2bc0c049d3f6c5c5bbb27dadc3c3168a4bd9f62973ffcdd7cbbb23adf3cbfd5c0bd6598803f59f455bbd19de43c233ebcbd96a8473fc22e20bbbf30af3cd1a28bbd84a4063f940fdbba8790313ccf7d0bbd9f408c3edb8cbd3a24bdc1ba9d228e3a112ca13d594706bae86ff2bb2b3fd43ca210d0bd95a05fbe67e51c3d0000000000000000f27814befe9dbb3c00000000000000006de6f3bdc8697e3c0000000000000000799abcbd07e15d3c000000000000000026c387bdc6646b3c0000000000000000fe293bbd9104813c00000000000000004a5704bd7dcc973c000000000000000091f8bcbc8d7aa63c0000000000000000b21c30bd8285ea3c000000000000000000000000000000000000000000000000cd55d539a656d33a6b8f98bcd7f8433dbbfc90b9f5dbe13a53a983bcf9033e3d211595b91ed6413bf3ff51bc9835273de37eb4ba4c3b653b6d4f32bc7f6c063de3b45cba02e81e3b1d118dbb5ed8963ca5f864389183d93a8ba5a5ba0feb053c6bcddc3a44e865ba6385173bf8b986ba00000000000000000000000000000000000000000000000000000000000000004ad1d93c0cd668bc006fd83aed7796bce737ce3c5c0be7bb9fc12d3b551595bc514bc53c0e622dbb1db6283b65bf97bcaf96b33c060a50bac06fad3aa88374bc8edb803c55b4233bbc16683b260a54bc61d4103cb3104c3bc685503b7cd412bcd98b4b3991c66c3bd17fb43ac1ad4cbb00000000000000000000000000000000000000000000000000000000000000000090883dee827cbebda4d2bc6b27893c38d27e3de2c36dbe9a6914bdd33b293caa5d573d542c5fbeabc842bd6d3fd33b0b6d343d73b82ebee01e3fbd9325563b35cddc3c9e60dfbdd8411abd75fc03bbe0a5103cec1e62bd0cc3adbcc3b2b2bbb3c0adbbbcbb87ba17947c3aaa8005bc000000000000000000000000000000000000000000000000000000000000803fe0e0cbbbd231153dce8f21bedfc2b03ffe9d7abb883cf03cc89401beb106913f411f47bbf654f03c426af0bd76fa703fcf620dba530bae3c0f8fbfbdd427303f5f0567bb08a5563c27f750bd5cf7d83e0ac13ab9afb0903b242e39bcc1eb473ecd8ad73a5092d3bb1179ec3c463eedbc00000000000000000000000000000000000000000000000000000000000000009839d4bd8e917b3c00000000000000008e5a06bdabe6703b0000000000000000888116bbae52533b0000000000000000ea7ec03cefaaf6ba00000000000000000b3e163d6e41473a00000000000000006b030d3d07c9453b0000000000000000f3d55f3cf314e53b00000000000000000000000000000000000000000000000000000000000000000000000000000000b12c843b97950cbda2e38e3d970c0d3c78e1853b5a7415bdf1b0a73d686c50bcb1b3513bca6204bd1a6fa73dd8a407bd49a6293b7394d7bcfff58c3dffc205bde327313bff6898bc7a0f393d5d6ef1bc9128cb3acdc0c7bb4ece993ce2c48cbca6e3133b333429bae4de563a14120dbc00000000000000000000000000000000000000000000000000000000000000000f532abc10ce343b116c3dbce244863d1d4edbbaa770243b3c13d1bb0560833d6b329f3b9e5b2d3b5ea415baca924d3d442ce23be1976d3bd1aeb13af3fb1f3de7ec3f3c6768bbb81ad24f3ba8a0c23c472cff3b998c273a76f0293babbfb63bcb1ead3b8ce8383a2c453b394cf38bbb0000000000000000000000000000000000000000000000000000000000000000db2086bee088b4bc1900eb3c0e1909bccfd186becbfb793c49dcc73a7b818ebbed1a7dbe13274b3d7626bebc15482e3beffd4bbea97d663dc89c17bd573cca3b1aac03be06ea403d0a112ebd9f01223c5d5d78bdb3b3153dd3220dbd721d253ce8f3be3a794bb83c9537e1bca3d1053c0000000000000000000000000000000000000000000000000000803f00000000ea7c183cc46412bef7f4b33fd342e2bd403297bbe9d6d7bda5d1943fb24295bd83541fbc0017bbbd0000743f879684bd712b45bcf3ae8fbd3fd4333fc6f93cbd601482bcadba17bd962fe23e04d7ebbc764c3ebce9d3c9bb956b4f3e76a2f1bc0d5c19bcbbc8853c3b0eb4bcc594e8bc0000000000000000000000000000000000000000000000000000000000000000926e873c82d37cba000000000000000097bad23c600eaabb00000000000000002332293d77a847bc00000000000000001bac3f3d131284bc00000000000000006363473db29995bc0000000000000000ee5f463d440faabc00000000000000006acf403d018ea0bc000000000000000000000000000000000000000000000000b2db983b1ccc13bd73ed8a3d56fd03bced7f073cace139bd2b2aa73d14de0cbc1ad8a03bfc872ebdbf72bd3d61e2e9bc39ae3a3b1e4109bda226a43d9e51eabc6f360d3b9c89bcbcfb97623d4b80d2bc5d078e3ab67a0dbccf93da3cd5e291bcabbc543acd713d3af61ee53b87d506bcc91a183a0d39023c5bd724bca87ea9bb8563e23ab9402a3c2e57d2bc5342d03b6aa0fcbbd4d6903b975d48bc584c8f3dd5187d3ba5f60aba9ab8fdbbe878a73d8111263c81a3ac3abebe9eba10a8873df3b9643ccc76dd3a79ce5f3b6dc1443df79f7b3c7633283a5ce0ca3b95b8dd3cf217653ca93d39b92e507a3b617ae53b8ae40a3cd996ab3a7239af398f56a4bbf55be93bdaa4263a6608df39ac3f8cbc111cc23bb445fabaff8878b90627c8bcb97a6ebed40d4a3d4e285ab99a9488bb5fdc8cbedc01ca3c205903bc07ba163b6ae090bec079403d74181cbddaee0b3c5d0974bebc91333d828f56bd29f42d3c5eba28beeb64f23c726d68bd0560643c992aa7bd04e1743c7e4d52bde2646c3c1ecea6bc8926d0392ee80ebd604b0d3cd309ec3c4cd9353b378ba2bc2e443c3b8e2e9f3dc415b3bcb62748bcbcdedf3b95d9033cd4a730beb2b4b33f823328bd32de69bcc6c601be835ea03f7539943ca7a289bc964dcdbd6a53883ffab5513d2678b5bc9ccc7cbdd89c4e3f84eeb33d0775bfbc1c72c5bc05eb093fdd30e23daefb84bce268d039b2428f3ed23cf63d968f0cbc9752973c7fdc813dcf54dc3d8efcd9bb6ee5153d2e27abbd79f0693d2f3c23bc4fcb613de26663be92395f3d9f7d363c288dfeba000000000000000037efa13bb6ed41bb00000000000000006356a63c587c2fbc00000000000000004790c83c796357bc0000000000000000c7fbbc3c13047fbc00000000000000003d0f903c385882bc00000000000000007979363c0abb35bc000000000000000019256e3c1eba0fbc000000000000000031d58cbbb9d59abb0000000000000000ec2d823be15d17bda975a83d3dcb4bbdf331b43b8ddc34bd3757c23daa7147bd5978653b4bff0fbdfa20a93d6ea72cbd71c4bd3ab117b1bc30b4673d25970cbd9cdf0f3bb7122dbc9d2beb3cc2e88fbcb86cd63ad140d0ba741fe33be9bdd5bbb9c9ba3a05be993bb70833bc72879b3bcf461e3b1d76333c0f67d8bcfca0623c8679013bd1c6563c62d604bd9c11c83c959c2f3c33d5413b055579bb8c3b7f3df5fe803cfdb6343b3d72333aa1e6823dbeaec03c7895a8ba6d957e3b0daa433dca25e13ca4cdf2ba4fe1ed3b219dbe3c75f4b93cd52a41bb33bb883b2a62a13be87ea03ca2f305bb58183b397db492bba36e843cc5ee59bb7318c438198957bcde443b3c9359b8bb03f1e7ba0529cabc388c2cbb5d8b1bbb2bcd8ebbf55abebcf5d566be1eb41b3e629d85bd89c42a3c42be86be0e92e43d573897bdd4d06a3c83326bbe3c73923da148b1bd7856c03c41bc24beee45113d8d15bebd9a78db3c4cabaabdfbed7cba1b72a0bdc723cf3ca175b4bcd6faf7bce8e784bdf17ba73cd514ca3c7f9c4fbd63af31bd736e853c3eb88b3d58cc7dbd00c79ebce69b3f3c15d3ab3d2cb893bd84bead3ceacc7b3a982615bc359709be54e6903f0838fe3d80abb5bcea1ed8bdece4843fc0a3323ee54ac1bc66938cbd4bf14f3fb72e813e47e6d1bce380b8bc83870e3f4a66983e339191bc9cf7553b6e079d3eccd2a43eaaf8e6bb1ff1863ceb69d33dcebea23ef8cfd5bbc9e8f53c137225bdc13e8e3eeedf93bbc79c443d641226be8e995d3e00c185ba76143c3d5a8b52be95a11e3e2ed7213c778ec2bb0000000000000000f094133c878721bc000000000000000059ac083b67d172bc00000000000000003f0bb2bae0568bbc000000000000000004846cbc2cca51bc0000000000000000b419dbbc774a1fbc0000000000000000e1fe19bd2b107cbb0000000000000000355f35bdc386373a000000000000000002fe9dbd6f21843c0000000000000000cd683d3ba85207bdc04eab3df42ca2bd56ce923b751507bd828ba83da8bb71bd7422e23a8c7badbc7f235f3d64ce25bda784943a710c1fbc3fe8e33c3f87b1bc3bfc193bebedc9baab44c03bb016b3bbb28ae43a55f18e3bc3c317bcc4ad073ce175163b5eed223c3133d9bcaae7bd3c240d283bada04d3cd7ca12bd53e6093dec55333bc332243c629a03bd8def103d1560e53c6f06c6ba35ee8f3befaa263dd978e53cc46dbcbab7af4f3b55d1293d14150a3d9c6ba2bb13acea3bf54eac3cfe34fa3c8ee6b1bb34afb63bbb49143bf33df13c3ed950bb0b377138169cc4bb7ecabd3c3509b5bb0ac3a7bafe2e4abc1bab823c57dbdfbbfa081fbbb5e6a6bc039a3e3b139fdfbb96f09abb400eb4bc893d3dbc8ac643bab03298bb257491bc89b150bee0115b3eac8800be2d62f13c372454be4688043e37b3f4bd55f0053d669216be01fb563da38bf3bda094113d8deb9cbd367e41bbe166dcbd16850a3d3c0190bcb6655bbdb0c5c8bd38c3e73ca3ddb03c15a1a7bd009d8bbd3e54c43c205b743dc984e0bdbf1b16bde8a8983c97d5ad3d6172f0bdd52b0c3c8c281a3cfe759a3d87ccc9bde125363d567a26bce7d289bc7bdcc8bd18c4623f52eda83ee13ed0bc8d8988bd2fc43f3f967dd43ebcd1cbbcafb3ccbc6ab2073f4267fe3efd9a86bc8fe6163b94719a3ed970083f89cce9bbcd167e3ca10add3d0ad00c3f72db88bb8e8bb93c43ada3bc41f6fc3e852af1ba26c4183d6876f6bd56f0d93e9a57403a83461e3d5c9839be13cca93e8965483bb1e4043dbf1340be8d6a5b3ec64796bb87c35abc000000000000000055448fbc32c171bc0000000000000000c343fbbc28565bbc00000000000000005c0825bd07414ebc0000000000000000b65e65bdf2fdc4bb00000000000000003d2d8abdce49a53900000000000000005eb4adbd4556c43b000000000000000076f6fbbd9d27bd3c000000000000000054180ebe12842f3d000000000000000069dfe43a0bb0cbbce492953da6e0a5bd6d39183b5092b2bc0d43613d55b856bd87c6ea3addd912bc7ba3d83ca074cdbc0ff3273b7bedc638a28f8b3bab54a0bb403aa53a901e473b943a24bc670b6f3caffe8e3a14ca243c805eebbcadaae73cb4082c3b9369263c0e9c0ebdab82273df08e723b77542e3ce4b21abdc0b0273d6112bb3a8d162f3cc743f6bc183d003d263d223d86c7ffbb8bfdac3b20b0db3cfd5c0f3d97977cbbebebfe3bbc3f873c4e24113d05fb02bc427a683b8a03373b05a3053d880672bb131aceba0ec5f9bb673fb83c3ee126bc502b66ba8fc600bc1487b33cc95604bc09fc00bb8b318abcb0f3bb3ad7a6e2bbca90a6bbb5cd88bc186063bb20b3c3bbf0b7c9bbe93f85bc0af866bc811baf394eeba8bb461f45bcd8ca2cbe6e28543ec58b1bbe474d3a3dc9e00abef00dcb3d933f13bea5b32e3d481e91bd2b122d3b609cfcbd57ef2a3d45b97bbc836a79bded07f1bd97ed113d30bd933c8eb4dcbd73fd86bde4d4f13c2c527d3d4d2813be129177bd0224e23c89759e3d319419bee519cf3a50f2423c4c06a83dbfa70bbe7fd5ff3c3e15013b03d6893d7712bfbd657f643d189b80bc1e6ea3bc938a5ebd5b041e3fc48d153f99d5b7bcdea59cbc29fbee3e83ad2d3f808966bca6494d3a17d68c3e81943e3f4fe692bb04ae643c5dcbce3d4187433f5d1c9cbb7955903c2eb11abb4611333ff49e43ba79b4e43cc8a5e4bd4693253f10d35b3b2e46ec3c1a0821be1007043f74a7b53bb731c13cbbcc2dbe791dbe3e7473b73ba25c993cf4df1cbe37844e3ed30031bd054570bc00000000000000001dfc6bbd68163cbc0000000000000000cb529dbd35f00cbc00000000000000001bdba9bd50dc51bb00000000000000005043d1bd2211c63b0000000000000000c328e4bd0913da3b0000000000000000769819beaef5e53c0000000000000000be5436bea9b1423d000000000000000008fb23beaf93683d0000000000000000c3bed53aa5107abc377e413dbd3783bde9c9053b08d81abc2c22e73cf53decbc5776a33aff0783b94642933bab499bbb0ff50f3b63a92c3b3f4a3fbc5659733c5717433b35a0043c72aaf5bcef0e173d1ec5483bb36d203c73fa0bbd9eaf403d47660a3b54ee273c1c091bbd30e4423dc0b22b3bfd4aef3b6b09f3bcfc751f3dd7a7323bcb669f3b938fabbcd98db13c7592383d1ecf4fbc2220e93ba4840b3cfcc21a3dfcb212bcb375983b03f9dbb931ce123d081604bc968c463ad3fecdbb911d023d054b11bc67b951bae90f3cbcadb8be3c855e31bcdef485bbb5126abcea22833bd940d2bba1c5c0bb49726ebc8b0fb7bb34f2a0bb2d8a83bb75d46cbc8cd74abc0d7861bb0debb5bb7ede11bc895f74bce02ed03ad929b6bb30488dbbf86ddebde5cc163e60f41cbec3755c3d38f58dbd27c2ec3c6ec70ebe0d2c4a3d33bf60bc5a1487bd193ffcbdb330323d1be1c93c1e5bfabdd9accdbd7ca3173de740793dd2a52fbe39df92bd90a3073dd1dc973dd8ef3abe635141bc75b86c3c7082a03d838828be57a2d13cf311113ba6b9863dc64bfebdea4d553dee6c16bc9943323df64585bd23256f3d86ddb0bc1bb5adbcb88919bc3579b83e0a86593f148d61bcf8e3da3be773653ecad7703f3c8891bbcf350c3c2bb8b23d8d79783ffb2953b863485b3ca68789bca16f6c3f49f70f3b6dbeb23c4553dabd90255b3fd0eea73b35ec9b3cb44310befea1353f6aabc93b574b863c59051cbecfda063fd117113c2b13c13b729607becf30aa3ec040083ccf69043be8e6cabd00fe0f3e08f9acbd9cbe2bbc000000000000000060ecd3bd39f6d1bb00000000000000001f7ce7bdd210f0ba00000000000000005865e3bd8c8c623b000000000000000095db04be936c0c3c00000000000000009fa728be9892f63c00000000000000001b7141bedb754f3d000000000000000062254abee16d8b3d000000000000000064bf24beecdb863d0000000000000000d83c143bee69cdbb7a53a43c4b6c0ebd7e16ba3a65550abab32a413b9525f1bb253c003b9b2c863baafd73bcb544a83c7758183bab9e053c4270f6bc8e832f3d1a62603b1d24193c437c14bd718a673d8411403b9b4b1a3c616e19bd70686d3de719433b61e1f63ba1cffcbcd223363d1312433be7bf533b5b8897bcb27cdc3cf1b00f3b4c46d63addbe03bc0d8d363ce0e8293da1a95abc704f8a3bcc367cbb3ef61b3d258d2bbc5b99193a516907bc9db3083d48053abc27e2daba9ede29bce649be3c63a637bc020a8cbb9ae64cbca6da143bbb80f7bb31f3e3bb04d22bbc6b11fabb6a099bbb50d2debbdfa026bc014352bc6a6dfdbacde6bbbbcde4fabb3c1a7cbccc9fa0b91f6483bbf7c55cbb2d2e4ebc3517843aec2feeba63a7aeba484238bd5a35773d87fb0abe41e35b3d987e86bb13c47abd7a98fdbdb154403d6cb5d83cfbd814be3dadc5bdbceb1f3d5c366d3de0f64dbe43118dbd7484093d62208f3d5e255fbe0e171cbc69e17f3c8897903de3c24abe9c86a93c1523943b8e91773d36dc18be1cf3333dbc7008bca67c253ddd4dbdbd6f18733dffa97dbc1866943c77f108bd5f685a3d3f02aabc30902ebcb6c9e73b5c06143e777d8c3fca3166bac11f0c3c7895203da9e6963f6e98a43ae8df533c0aa1dfbc8f51903f80d68e3b0100733c8ff5b8bdeee4853f6606ce3b50633f3c4e54fcbd6b59643f45c61c3c35a4f83b182f04becab2313fcbe1113c061f233bda2fe1bd5f48ea3e9ff9bf3bee475ebb127b96bde92e753e27642b3b8b7aa3bbed922ebd1aa95d3d481cf0bdc30dc2bb0000000000000000751909bea566873a00000000000000006dfa06be62dacd3b000000000000000019c509be15730c3c0000000000000000e9bc2abefcbffa3c00000000000000004fcb3fbe0923493d0000000000000000c2913dbe11dd7f3d0000000000000000b9bc41bec629973d000000000000000002fb14be679b883d00000000000000008404203bb03bd5b87bd988bbcc1ee73ad7f9333bb6a8803ba69391bc7a00963c1bcc253b3796003c628908bde603503d5b42643b446afd3b8ddb1ebda73f8a3dcedd5a3b2abbe23b40f417bdbff1873d56bb2d3b0731de3b8675e8bcb901543d6438213b5ab23a3ab1b883bcbcb6013d002d143b87032838b714a1bb12975a3cdccb2c3b01b819bb13859b3a0158f2ba55f5023d120768bcb7ee40b9043de2bb44a61f3d3b4e47bcfd36c9ba3fc815bc08edcc3ce9283bbc68bc5ebbfe4132bc96304e3bfeb0dabbb4afc5bb5be213bc03f11bbc85c9d2baade1b6bb7fafb0bb5fdc7abc8d7a893aceb5b4bb8fc17abb9f3665bcf749863a22183ebb0f08c3b91b1777bc3ff4273a5548d2ba24a107babffb00bc7f8b103bb0506439a06f8d3aa833e33b834290bdefe6bbbdd451343dd946103dac5213bed5d6d2bd14382d3d6966773d48e06bbe100184bd0642033dfe538a3d1e9d80be1c4865bccadb693c5de3803d764b6abe3ca3943c4b165bba24464d3dd3aa32be1431143d58e027bc57e9013d4217dfbd178a363d1a9b7ebc5a44213c6ecf41bd7bc55f3d2f3276bc697323bb066f303c57e60d3db79180bc1a4ad0ba6bfe623c6e7517bdfa48b13f3bea6c3b8d8c613b3e5154bd0904a63fb52e913bc5f01c3c4673cabd63aa9d3fab96103c8220a63bc6c6e1bdcc0a883fc866033c9d23193a5c16dabdf14b583f9506cc3b18ddfbba93f6b2bdc18f163fba1bd83bea75f0bbd5a05dbdb086a93e1dec223b527ca1bb859282bcf608e53df5b10c38c0e8c5bb38f0da3b35dba3bd917c23bed4ee0f3c00000000000000000c91e8bd413851ba000000000000000029d1f3bd67b1f03b000000000000000049700dbe3c42d13c000000000000000012f815be33ae293d0000000000000000645c10be4939513d000000000000000047a509be97576d3d00000000000000007ee310be7356803d00000000000000002e69c2bdc6e1493d000000000000000000000000000000000000000000000000e8cc323b749ce33beba70dbd1240773d515e203bc684e43b2e5415bd8d758b3dd3a8013bfd56c83b4a8007bd7e998b3d926dba3ae5a0c03b1bb5dcbced1f6b3d968bec3a60c6313b4f0687bc20730f3d984d013ba421213ae7b4dabb0dfe863c836c123bf9cb38bb250df53a31b198ba00000000000000000000000000000000000000000000000000000000000000006634693c982e24bc9cc75cbbd7aa1cbc677584bbe83608ba7cf595bb495cd6bb7af26bbc7066773b801f78bb972d80bb265392bc4cf1b83bbe4282bb7bef12bb6ef742bc6958cb3bd8bd52bbf65458b9cc9329bc7d30b83b12ce74bac666ab39a6e590bb941e283bccc5cf393d371b3b0000000000000000000000000000000000000000000000000000000000000000897a803de1c67ebe6748f4bc2ec9ab3ccef0813d28227ebea01c05bb664bf43981015e3dc28d72be6188a83c94206abcc5e8343d963743be020bc43ce0cc93bc1a20d73ca81b00bea755873c02e3adbcb11c243c60e276bdf6c6a33c1cc28cbc99579fbbb268043b68a7523c43da5dbc000000000000000000000000000000000000000000000000000000000000803fefdb913bfd32713c4a461abeecb2b33f89b6163c4838d73af7aff0bd1554953fdcec023c38a04bbb7f33d0bd6568753f0a77f13bdbdac2bba357a3bd6ddc353f276dd93ba75107bc36d343bd1e65e73ee86c183bd818f5bb728778bcf9ad573e4654503988fc00bc7e8d5f3ce369a8bc00000000000000000000000000000000000000000000000000000000000000002bebc8bd6cd11b3c0000000000000000f04382bdefce873c0000000000000000b02a60bdabc0f33c00000000000000000fd618bd6358033d0000000000000000d30fb2bc60880b3d000000000000000035d8d3bc4142003d0000000000000000764fa9bc8a5df23c00000000000000000000000000000000000000000000000000000000000000000000000000000000953c6b3b3653083b9bc50e3c5abc2fbb4efc523b1b993d3b7113eb3b32ee3dba9353593bdba5443b524ed03b5ceb84b95530c03a4d4d1c3b90d6af3b9e18ab3a2e80ee3a9d8bdc3aca227c3b801b333bdd78d43a3ed2b53adbc3673b69ac083bced2973a01122d3a62e0283bc7650b3b00000000000000000000000000000000000000000000000000000000000000009be62e39711bbfb9dd4a013beba418bd66b38a39666085b9f908dd3af94bf8bca1f033ba4f816ab9321c8339d535ccbcf3685239df21f4b96a39b63ad840a4bcc235213a880af7b940c0113b97e080bc67ff00ba3e104eba7531423b42441cbc854432ba8393e7b9c374723b43608fbb000000000000000000000000000000000000000000000000000000000000000024f36dbd856042bb2f4e01ba0df0c8b9c49561bda09c93bbd247043b212c72b998a14cbd1b04c6bbf2a6353b31528ab712341fbdc0b4b2bb0d63683b141e91b94fe7efbc2322b7bb4946913bbcb112b84df49fbc6f47f0bb846e633b55462cbaa872edbb72e800bc170b663b97049db90000000000000000000000000000000000000000000000000000803f00000000370985bb9918e2bca373893ff8ae14bcdca3a1bb18619fbcc86a653f0a6e053b0350a9bbeb7193bcd31f3b3f4431073c7a4b84bba7d598bc773a113fc3b1223c99f96bbbb59bc1bc3ce5d23e59c9243cfa3ec2ba567ce9bc699c833e5a51133cb20a023ab53418bd4840dc3d7dd9d83b000000000000000000000000000000000000000000000000000000000000000094a282bcbce8423b00000000000000005a612ebc3918f23a0000000000000000f7950ebcc6d5663a0000000000000000cf7ac6bba8ebd6390000000000000000e68d82bb7bfa2f3a000000000000000091666dbb4f60a73900000000000000002bc64ebbd4130a3a000000000000000000000000000000000000000000000000b7c26e3bb0a780b9aba7b13b973b96ba0913ae3b442a4c3b1c1e1d3c53ebaaba7bee893b9e515c3bd23d173c4177df38b2f3433ba8517f3a8e515a3c1ff5bfba835b3b3b931f1d3b41e8d13b3958053b4bf20a3be7f90c3b89d5ca3bc046593bc1cd013b0282c83ababd9d3b276d693bdb8ce43a5ab5933978bc3b3bbc85133b59e7ff39d52f89ba20a6953a93f5053bcbed6c3a4775c7b94385673b6ecf17bdfc87843a7c1f90b984f9db3bfdc635bd75f6fc39680911ba8a22923bd7cf1fbd6bdcc63b1ca144bbad38533b191410bd896eb63ab59b2738eb8e533bab4acbbc14c793395b5298bac1aa8f3bf0e99cbc52a64c38129b2cba5808a03b23e85bbc38678aba561f85ba3f33c13b546fa1bbe3a8e7b931e3fab9fd66863b85029fba5bb9ffbc1d4ac23a67259ebb0957fb39b5dd81bd40c9abbbfcab0cbb2d08753af03b88bd64eae5bb10b8643a3bdf7639bad762bd2edb3cbb19fd913a0760bdba8aae3ebd466606bcf343543b1fb91b3ac3db17bdbac214bc8648833b3f89a83982efc9bcf7aa17bcd97d4a3b61e12837b7f90ebcdf4b1cbc597b883bf81a10bab1018f3bd2ef8ebb6aef5c3b5f633fb909542ebb610963bd6c57893f2f78f63dd08cadba772c80bd4be5803fc6f6ed3dc9e251bb3ab93ebd7a35593fcef9e23d57ba85bb75d730bd7726323f9967c73d817749bb60c11bbddbf7063f7fbaa93d471f8cba15b02dbdc298c33e0473893d5fbcad3ad17f43bd5d9b703e84b9433de48cb53bfb214ebd2e98c13df853d73c2e89993b527b29bda697aebceda5023c43c6f9bc371f9c3b0000000000000000ed8104bd90a2bc3b000000000000000096d0c7bc74fe453b000000000000000038eea0bcd568923b0000000000000000bf186fbcbaf6d33a00000000000000007b7948bc8ae8993a0000000000000000593b13bcbc007f3a00000000000000009751ffbb9768c33a0000000000000000a945a6bbfac94a3a00000000000000004c48cc3a724050ba8b75713bfa2e3c3a7d53903b3518aa3a5873e03b3a5a6f3a1b332e3bd27bb5b9bfd2c83b3f0c7a3bf52b4c3b9c9bfd3ab5cae33b4109563b7110163b351b853a4458b53bff84723bef47063b657e6d3a8a30ae3bf1a6823b64cbad3a4cf6103a3755863bc2af613b57fcd03a349668bafea9073b10ca3b3b7b5f743acab4c9baadd4153ad52d033b3508bd3a3c1d08baca42893bbe3004bd46cbb43a3c75bcb9957ad53b112729bdc890e43978891f3a795cbc3b489a01bd343c5c3a4f7547bad72d9f3b2e9af9bcf687a73a7d86ecb93115713beb3cb0bce4997a3a32725cbaaef0963bbb1b90bc1c4ba9396b8524ba30c4963b67a729bcddbe83b9d4ee77baa1eab83bfe13b3bb58c62a38b58fedb919118c3b30e4eeba6138aabcda92953bce66cbbb4d5d5e39d91047bdb8c02cbbaa8791bb5851843aa24e49bdcd5f04bc29dc5d3aff515fb9b0b158bd9c9a1cbcc3dd083b3b6f303aac251bbd184700bc9d445e3bde90013a673d08bd1b3719bc5e338f3b301a5d3a15e1a3bcec28ecbbaa65863bbe7f8f39fb1f04bc6a17cdbbef94833b439100394050e53aa378b0ba9422473ba4b61db896a233b7414f72bd8ed9663f8a868a3e6541373aef0197bd27f95b3f96da833ef40fabbaa83663bd8b6a363ff398693eda2a60babdb45cbdac4b193ff6784a3ec60d9eb9bdce37bd10d6e73ea57a213e7d919b3a528a4fbd71eaa93e800b003e22e13e3b2ba73cbd1e02523e18dbad3d6523de3b477751bddc9ead3da69c473df9b5bd3b377e16bd177a69bca5e1393cd0b620bd5aa2703b000000000000000044753dbd1fd5ac3b00000000000000009b7d08bd26b6103b0000000000000000e0d0e2bc43aa003b0000000000000000ed079bbc65417c3a00000000000000005afc88bc01bf763a0000000000000000328546bcd1e1823a0000000000000000fc242dbc8be8b53a00000000000000004271c6bb54d3453a000000000000000029d7043b3051b7bad35be63a7abb433b9e0f7c3ba840153a38688d3bb19e7b3be1745a3bb785b43adc8dc03baf02973bf9c6213b2979a93af294c53b3b06b13bead0fe3a2056743a7ef7a63b4fe4a53b67f1073bdae8653af8de883b6950a33b2d62cd3aea51b039e510643ba1a8963bfe5ea73a152814badf6cf93ae1215e3b1acbb6396237a1bab633ca398223173be1ddbb3ab9fb7cb9a0eb523b71fbebbcbfe3d93abd19ddb90570c13b645b14bde239b43a793b48bac144a73b326600bdb056dc3af94317ba722c993b86a9d3bc9ee3d13a77ba40ba80798a3b378ba0bcdc4ac73aca915bbadea89d3b4ef470bceaed933ace9d40ba8679a23bb57819bca1eff839f3b691ba8fe0ab3b3a8499bbd096383a49f008ba77f76a3b91b0f9ba064593bc52a7c53b24f3cebb5a31003af7ec2dbde1c264bb991da4bb747c653a947b4bbd93c72dbccf588bbadaa6013ad68943bd88cf4ebc738fd23a93433b3a338920bd3ed13fbcf2d55e3b6350543a0b1c01bd65a12bbcdc40853bcae0683a5b00a7bc1ca5efbbfa94803b33b42e3ab1fc17bc986263bb0aa8823b263ef0393f23c3b95fe5cb3a4d32633beca18c396e2b0338f34c69bdba483d3fa425d93ecf18083bc99a95bd07ed333f9bdace3e5ae0a23a04f17dbd9f5a1a3fecbab53efc0a8a3a3df065bd4e0cfd3ecaae993eb72b7b3aeca04ebdc09ac23eadb1763e46f2233bc9594dbd7aa38b3e96663b3e08008b3bd60e48bd8c0e2b3e446bfe3d546dd03b3ab03fbd08678b3d3ea98a3dc67ba13b117c03bd865d53bc2130513c81fc3cbd2e60433b0000000000000000b67964bd46428b3b0000000000000000e7ad2fbd11042b3b0000000000000000a66608bdf64ede3a00000000000000009e0bcabc2600853a00000000000000008fe09ebc971faf3a0000000000000000bf2871bc71e54d3a0000000000000000c74a36bcefa0963a0000000000000000762dcfbb95e6dd390000000000000000368dd93ab3dc6fba9cf6fe391068983b150a473b8c942e3a1be12c3b78ffc53bf16ed03a6347cd3acda78b3b3b30c03bed8d003bf587af3aaf459e3b5133d73b860e293ab0a8253a8473313b8b63a33b183c193bc9022e3a0569643ba369c33b50547cb97adeecb93200063b37f53c3b10180ebadbe9a938ab81b33a32de603b4713243a15914cbaaf4309395a1c113b0003a73afb673fb878045a3b82b1c8bc41de973a28632fba26a0bc3b950fedbc7e460e3b6b489e3adcf4723bc603b7bc0c05dc3a247d86ba47e6933b77e2a6bc586e033b7028a3b987893f3b9bca48bc54be053b5837ddb94999843bc2073abc0c18113a0ede72ba24a1a13b0143a0bb60bdcd3a287011bb0d059a3bfb9328bbfbe68e3a527755ba4ccf473b96fd66baefada1bc6f2f953b000fcfbbcd4f10b8d0e721bd8a24f9bb7eefaebbd7d6243a927536bd89d774bc8081b43a1504333bcf5337bd9cc291bcf660893a6e58753a7dbbeabc17632fbc1902193b9e5d903a528bf6bc4a7549bcbf42483bca43c13a7e6299bcb12c0bbc23685a3bf928ed3a55c128bc9a9584ba7808573b5ceea53aca972abb5e16673b2827433b1773f839e634a83a1a5f56bdb668143fe982143ffb8e473be79085bd0e5f0b3ff4c60c3fbb03a83a029c56bdaf50ec3e28b4f23ee2a30c3b152655bd7a0ac53e4654ce3e9c449c3a425513bda20d923e9a759b3e39304e3b9d7a38bd99b5573e82ae753e23c84a3b32c120bdc173fc3d95da213e92f0cb3b65571dbdfac1413d4c1daa3d9d0a973bebf0d8bc7b5783bc48173e3cd01154bd7185be3a00000000000000004e6177bde000323b0000000000000000703c2dbdbe90f23a00000000000000000b8612bd5200583a00000000000000003780a1bc116d603900000000000000008d5da2bc209a9639000000000000000028e66ebc081a693a0000000000000000ae0727bcd4ed2b3a0000000000000000c2c3b2bb4c58ccb800000000000000004a49b13a728398b992e771ba5c81ad3b517f2d3be791d63a5f7cdb3a9383f73b0ed6153b6ba3183bdb9b5b3bd6c8013c16b9cd3a6f72063bf3357b3b593d053c66da803a7ab2ca3a125d3a3b0229db3bf5aa913a3241993afcf9263b3bc8c13b6c66183a9908233a003add3ab0e29e3b0c69363ac0bb733aeb77d43a0742443b602826b9d05370ba940535bae87de63afd423f3a2852dab8c288653b8a849abc28af593a0b72cbb801a5af3befd4b8bc285a8b3af9bd4dbadd9ba83b3b6d94bc7da0f23a01dc0fba89eaa03b561a70bce63e0b3b21be25b9ee8d733b488634bca342013b656627ba49d6893bd626e5bbc161fc3a46d916ba7ec6753ba6455abb5d2d953a2cbe50ba75a49c3bee0a2dba6a74673a18a0f3b9b75e0d3bb9d3cf39e967bfbc9b4102393239d3bb6440c6b938e831bd76fe89bcb778bebb11bb8f3acd9d44bd863dd6bcf712ffba39da883af1ca38bd630fdabc5b42a2396c1ee13aaa071abd9418afbcbb0dcb3a4128fc3a590af7bc396789bcd8cfa53af92af83aeb96acbc6ae616bc2056c13a437ec53a77b650bc4fe379ba6db1923a4967833a2e3587bb1cf7aa3b0f97e93a0003be39f4584a3b35453fbd13ded83e73873d3f0d5fab3b3d0b76bdaa61cb3e292d353f42d9873b17f754bd05a4ae3e0dbb1c3f9354853b85ed3dbd18958e3eb3e8013f3289a53b628d28bd228f593e97f8cb3efb0a8b3be49e1dbdca1f173e2239973efa25a43b27640ebd43a8a93d285e453e80fac03b994f02bd6f53b73c0893c43df8e2a93be6b2a6bc6004aebc3f0a073c7f5f68bd3c54da39000000000000000053fb88bdb713df3a00000000000000006dd54bbdf8290e3a0000000000000000bc4a17bd5d61aeb70000000000000000b5e1d0bc1d9f4fb90000000000000000933d9abcbe2d4bb90000000000000000ffc455bc93f010ba0000000000000000578f18bcf91425b700000000000000000aa88cbbbdddc8b90000000000000000f13eb43a24adac3adfbf91ba1516c73b1ee8093b35654c3b4204e23a2193103c444bbb3a43b6233ba9c22d3bdf81013c4438c93a70e12a3bc4e4513b60e4103c0421103aee9a023b7e201f3b493fd83b96f4903ab85ff03a386b153b3a99cb3be96d14b9fbefc0391eba7d3aeb94733bc3f195385526b0390b6df2b8c5a12e3b577872b8983482b93ebd4cba20fcc53a7f63d0b9056ab43834f5793bb8f24ebc5ced56b8be490d3a6321a93bfecd60bc46da7e3a18208a382a888b3b000230bc63d8da3aac4385b9ac048c3bcd670ebc00d6133b948ec4ba4c604e3ba124b0bbb3b6073b87b9a3b92fbf633b2aa337bbd5af443a1842b4b7122f733b9ee33a3a89026c3ac4d559ba1189263bc520343b6038663ad1c0e5ba3e97fa3a2c35323be777eabc75380bbc18cce0bbe361b0b8111842bdc54601bd8821debb6f3e8e3af56536bd666110bd64fa53bbf080013b6e6b39bdeeee19bd6ba8c2ba818b083b92c908bdbaf1dcbcea94cf374f53163b3d37f1bcf261bebce25655ba5d542c3b569096bcb54f45bca6742739d794273bc46841bc82f910bb09519bbac7e7d13a36b790bb75eac73bd5640239e043673a46c7893bb19e22bdda688a3ee00d673f4f87cf3b25774bbdebec7f3e7ecc5c3f2665a53b033320bd36b65b3e1cb5373f5606903bc04b1bbda125323ea5e61b3fb2d75b3b3742f1bca310043e67beed3e5a189c3b6af8f1bc3269ad3d0187b13e688dbc3b6f39ccbc23972c3d8e2e633e9d03c43b07dfabbc3d473fbbfe5fd43d2ab8983bfd9a58bccc74e5bc2f924d3a534474bdca1a00ba0000000000000000afea89bd4dd2543a000000000000000035ed2bbd7bb0c2b90000000000000000d26007bda4d481ba0000000000000000e4d59bbcc664aeba000000000000000034df75bc8b7c44ba00000000000000008f7332bce6bef2380000000000000000c712fdbbe3a219ba00000000000000001bde80bbeebf12ba000000000000000093f6723a3c65183baa8f24ba4b91da3b6f158d3a965a863bee4c523ba3c9293c363c7c39ada87d3bee0d8a3b0f37273c9708663a895c313bcd1b853b7a52193c494c893ac9e9543b897e1c3b18f4df3b8ee0243a1abbf53ae9960c3bc9b7c43bc9180d3ab14fc73adedebc3a1ea1913be59570b9d8961b3aeb053839778a133bdc522cb9da41103941b5b9baceee073a60c28bbae391303a605a553bf386c2bb31a209ba1c5e643ad48f873bdf3c76bb31482b3a4b8f533a6c53813b677952bbad35e73ac7c0a739f9666b3bab1828bb40940c3bb6e17339d582403b8ef5f8b8f2e5103b0aef8eb912cc243b3d237a3a2fa6073bdbbb02ba472bf33a936f653b3098913a590c2fba581e8f3a7800b43b1c3f553a834e5fba1422663ac9dda13b3d3b19bd63ddcbbc825af0bbd02621b7e29f50bd6fe362bd62161abcd934023bbcd845bdd0936fbda4bdb4bb7f3a203b851130bd7a485abd8bf48cbb3f38273b25b509bdc72126bd7e756cbbf800623b8456debca8af07bda495a1bb0414613bd3c891bc9efca1bcd65194bb0e1f413b9a421bbcf26ccabbbf05a1bb9314123b447c4cbb8c4ec13b797615bb6166ab3a06a2a43bc83efabc3174f73d7966893f50cae93bdf1f0cbd7a10df3d180c813fc07bae3bc28eecbcc7e5c13d77525a3f779ea33b1480d3bc0fd8983db010323f85e98b3b50c1a2bc7b35523d138f083f5026443bd3539bbc72c4ca3cdc30c63ecbd2893b6c586abc209c8dba6942783e9af4a03b375b20bc77d1d9bc0e2fd43d9253833b1314b5bb255318bd190864bc8b0a67bd3f7b1cbb0000000000000000a40766bd746236ba0000000000000000dad906bda5240ebb000000000000000080c1a4bc7bf613bb0000000000000000c6ad2bbc3c64dcba00000000000000007e42f3bb2473fdba0000000000000000bc448bbbe68945ba000000000000000049b6b2bb802a4bba0000000000000000915439bb7236a6ba000000000000000000000000000000000000000000000000b6d6e639931f723bddd3263bbd02e93b22e4383afc96573b899b573b4214e23b3d921c3a82e3503b37dd653b0102b03bd21894bac5b4283bed7d1b3b6ce9a13be27079396807113bd67e053b1290883be08322b93fb6ab3af68a5e3a02cc363bf981bab9ec2e813a61e3df387f88c83a00000000000000000000000000000000000000000000000000000000000000005db554ba9ab0893a7fbd213b35eeb43adddcf0396087603affa8153bf6b09e3adc4a463a6ab06d398db30f3b28a9c43a52afe03a20323d3a247be53a2d1ae43a7071d83af226a83a9555e63aa5d4433b534ccb3a1da7a5b981806f3a14d98e3b0e1fa23a730234b96fb3673ac80ac33b0000000000000000000000000000000000000000000000000000000000000000e71f2cbd947e6bbdfce5e8bb5c30a63a0f1011bdffa661bd6393b5bbe6020f3bb0c9fbbc4f1c46bd4252aabbe1bf2d3b18f1bfbc618b1bbd49808dbbdfd45f3b6fb28fbcd736f7bc71d97abb44c7303b287c38bc8ebe9fbca8d3aabba593403ba348aebbf1e9f4bbeef69abb7b44473b000000000000000000000000000000000000000000000000000000000000803f8557a03b8e1185bc67e85fbc145f893fb7d26d3bae175cbcfe1217bcda9a653fecb9cb3a144034bc07772dbc8e533b3fc2be463b2a3b1dbc4ef762bcc35b113f11e73d3ba13bf6bb9832a8bc1a2cd33e7ed4313bf99d8ebbcc8be2bc60c6833e98dd053b4b725bbaf12419bd9d53db3d00000000000000000000000000000000000000000000000000000000000000004542c4bc139191bb0000000000000000b5d11abc91a546bb000000000000000098921abbf4202fbb0000000000000000966e113b0092baba0000000000000000c41a9c3b9c24b0ba0000000000000000af6d5b3bd6045dba00000000000000008cc4193a5959d1ba0000000000000000000000000000000000000000000000000000000000000000000000000000000057146a3b79d286bad043cb3b8164f4b9065f213bbb70cdb8e84fbe3bcf1dcf3a979c1e3b16d233baa9b7a23ba002fc3a4247ed3a9a688cba9f0a7b3b7d8c463bb79e993a0290fbb9171d4d3b0cac813b19714d3b7f3a6139324a0b3bd980993bb8570e3b416f46bb8829503a23a79f3b00000000000000000000000000000000000000000000000000000000000000006c7d5dbad18f88bab82615bb6aa00cbd9115d1ba7753c3baa6970dbb9548eabc2492cbb9d482cd39eefbfbbaabcbc4bca0c9a139482e6cba11ca98bac1b399bc78c80f3aeef237ba30c094ba66c469bc778b263920a827babb965c3af47a27bc953cda398cd199389bfe763b26a6e2bb0000000000000000000000000000000000000000000000000000000000000000f9f1c8bc6327313cee7c02bb7a7b22bb2f33cebc5052173c79fd82bae8aa3cbb91cab3bcd6d2ef3bb723303af0fd48bb9de18abccac4b43b5f53d03a7ada20bb9a134cbc92136b3bdeec243bc57ef5ba019ac0bbb63d0a3b11c70c3b0ce2bcbaa3e51e3ae316863a0aba323b4553a1ba0000000000000000000000000000000000000000000000000000803f0000000092042fbcffa16dbc78b57c3fad71023b219927bc61ac56bc7c5a563f1da7013ce0cc23bc2b7c73bc2db1303f0650563ca91813bc61cb94bc2b3b0b3fdc8a823c80cff3bb6545bebc9ba5cd3e9145963c5adacebb341cebbc5571843ecef69b3ce14a50bb8a6e16bd5158fa3d9d23aa3c0000000000000000000000000000000000000000000000000000000000000000cdcb8dbca942e43a0000000000000000a4ef62bc746290b90000000000000000bb6a34bc3e0f16bb0000000000000000c69f03bcee9f31bb000000000000000061e4cdbbbe623fbb00000000000000000a4b9bbb342944bb00000000000000005cfb7cbb0a9b58bb00000000000000000000000000000000000000000000000096b23f3b25278bbb0d46953b3806f03a5291e53b156843bb3fefe43bc1417d3a71f1543b93099dbaec5ad83bbd00303b566d613babe604bbccfbb23baa1d863ba6491f3bc3272bbbad21833ba96aa93b09bb1d3b8c4f5bbb100e173bbdea9a3b3bbf543b9c1059bb4faae53ab6afbc3b25ee793b6a3966bb080e33390efbb73b57af163bd0a090bb0830b5baab29a63be7f8b5b9c3255fbabd4c40ba178113bd77ebd6b95759aeba3c56083a667832bd223b8f395e17acbaabb2673903131dbd0306c0397935d3ba162793b9c3c906bdbd57b33a19818bba95b51e39860fc9bc211c053b242bc2baef55513bb112b2bcc5620e3a1cce9abacf8a843b29f774bc5b23133a6b396eba1289d73b216925bcae4ca73ac5e0ffb6111aa33b3920debbe7895abc9e6e873c45588abbb98d1dbb179f03bd7c208b3cde713bbb4a3351bb302803bdde5b553c3a1dcb394e195ebbf300edbcb6ba333cf246043b68f478bb5753aebc84c7083cb8c7563b31814bbb369986bc57c1e23b90db9f3b90fa7cbb1b7f1bbc3f37793b31ecb33b6d213cbb3647cabad08e2f3b13c96e3b7e7d13bbf3cc8a3bddbf833ba999833b0ef8a4bacee212bce53ae2bc4f907d3f8526053eaf103cbc817214bdccf5673f0fb9003ebb0932bc99acf9bce1c6443f167ced3dcd772fbc017efebcf20a223ff14ed73d3e6614bc186300bd7277fc3e10c2b73d3ebaccbbf84624bd5df9ba3ea308a03d9ada84bb113d34bd23916e3e8110813de4c94c3af4a94abd79c2d93dc03c393ded0bc13a0acc25bd8eb601bcdfb4c83c5b11d6bc00511e3b00000000000000003ce6ecbccf62013b00000000000000006043b6bca7141aba0000000000000000e47e8fbc113b2fbb00000000000000008a4e4cbc80f173bb00000000000000001e321ebcd9ef6abb0000000000000000eb0404bcccc49fbb000000000000000018b7b6bbac5f97bb000000000000000028775bbb21d77abb0000000000000000dc8c593bf853aabba41ec43a78f9983bd69aab3bf05990bbc919443b8189ad3bbe12603b1d7341bb9362833ba649a73bce12983b7b3b5fbbe901733b2afac83bf2c7103baaf756bb1999153b2fa5c93bfe2e5e3b07248bbbe091d7b9decaf13b210a763b0f0b8bbb1e4fefb85165c63b8738533b21f594bb2bf2e1ba73f9d33b472b0c3bbc9490bb230d81ba44758d3bc617853a557b68ba1ed5ff3904f206bd71b5cab7f930f0ba7866ca3aec712dbd8e678f3a5fe8cfba111a843a31b80abd757ecc3a21ec8cbaec29593a001d05bd1db9203b284309ba2e15b23a2fa4c8bc076a1f3b3d051dbab1d4573bd0e8aabcc0bc063b99adbeb97f39693b10a071bc9558153b1201fbb95082c73b59de3abc1b75f53addb9b8b72c24a33b10a8f1bb52f84ebcb059993cd9fb45bbff4339bbf01dd0bcf2ce9e3c073a0aba37ec86bb661de2bce89f553cd2bdda3afd796ebb7ee3eabc4d75413c9cc55f3b88e068bbc695a3bcaa3b193c534d953b0a883fbb48e490bc50170b3c59d3bd3b1cac46bbc0ef2dbcbf26db3bc206ae3b887802bb591488bba926e73ba23bbf3ba79212bbd49d8e38997bcd3bf23b9e3b8de3a2bab435eebbdc290cbdc232583f33a88a3ea51317bc8c6036bd46bc463f1a77813ee22e03bce14818bdca06273f2460663e200d0cbc3a2126bdc8240c3f8c2c4a3e577f04bc6ded10bd2c46d83e0c28243ee5509dbb9e7735bd5da7a03e6b2f093ea95cdfba3cc02cbd68c24b3e22b9c43d7a862a3bbbb649bd1dcbb83d9de8873d0cee513b969a15bd019f03bce9d8d23c5087ffbc51af983a0000000000000000e2de0ebd19851d390000000000000000678bcbbcb75400bb000000000000000005f2adbc3b157cbb000000000000000006df5bbcd9ea93bb0000000000000000201439bc0d6cb6bb0000000000000000894bd7bb4c909ebb0000000000000000da98a3bbb478adbb0000000000000000c2970bbbefa386bb000000000000000061f8f83a1040c0bb745d0aba16f3af3b75878a3b897699bba872ad3a1efbec3bcec0653b444272bba21dfe3afcb7ee3b7d4c383b548889bbe492433a7546093c0d48293b3a6e6cbbef99ad39ea14f53baa6e353b745c81bb83be15ba3db2f43bd5973e3be9218dbb8fbdf0bad599eb3bb231153b283dbabb27429abb705d903b926fee3a33c481bbde3f62bbee53903b9349013bf9c493bacec7b0399e96f2bc9c96d53a83cfe9bae96b2d3b28d617bd4328013bafe6b9ba1267d33a2e2308bd9a174d3bb71d25bb9d3fc73a9d3df4bc88c25c3bb95187ba56861c3b3ecfbabc642f603b48b898ba0af06c3b66669bbca93e7a3b145802bb3822973bcc6664bc2d084f3b2d63373a208f9f3b9c0c23bcc6a5493b81420ab908a7873bb48beebbb8465bbcc4e6903c79d7cabac3e360bb1266d9bc6d83943c6812b7b89e5186bb7b07fcbc10ac523c540e443b74d678bb9bcbeebc3e5f2d3c3285a63bd0f69ebb1ee9c6bcff57143c6e92c53b112f40bb7d5fa1bce7960c3c0e2adb3bea241ebb671859bc5a49123c0cc7e83b7a32e6ba0a2717bcc1f3f03baa3f023cd033a5ba825e48bbf94f103cb38cb73b68a0c2ba0c059cbb228911bd0192323f2b4ed33e59dbd7bb74373cbd1821243fcea3c43e0eaddcbbd4b130bd528a0c3f7d1aad3e68cad9bb15772cbd0733e83e2e80943eb4ce91bb7f5228bd248eb43eae76723ed6b041bb228233bd4e8a833e05743f3eb7439b38d5e334bd1f75253e95ee093e3f64c33b45dd35bd9387923df0e0ad3d93db6f3bc66f02bd483722bcad52d43c5cb202bd87fa21ba0000000000000000436b19bde2a3deba00000000000000005011ebbc5a5461bb0000000000000000c987adbc443dc7bb00000000000000005ba867bc0a15b1bb000000000000000001c51fbca676bcbb00000000000000007beaacbbf89ccebb00000000000000005dbcdcba1da5c2bb0000000000000000fa5be7b908bfa8bb0000000000000000847eff3a6e9ba4bb002bd3bab6e5f53b54b5613b84178cbbb3274ebaef97123c34dc433b24575ebb237d98b8a5a5033caa4d433b9b3054bb68b058b932200b3cd0df553a45c158bbd35875bac477d13b6816d53a58b02fbb71c284ba8606e23bfe2efd3a931c7fbb50a362bbfcbfc13b03c1543b7bdb36bbe2f7b3bbdd90993b9064a53ae01a4ebb171a94bb713f673b9189023bbba0ffba0e26923ab059cebc39c2f93a94bb0cbbb4804c3bd7d9fcbcf6211f3b6a93d6ba558f033beab1d2bc0ce4453b4872cfbaab2b293b0b4bc7bc14206f3ba86a11baf7b6aa3a71d47fbcc774803be2ba0b3ae377953b61c487bcccdd873bd648e2b991936d3bf63c33bc01728b3bc42413ba3522c73b8a14ebbbce0f813b50a68ab8a8894b3b112db8bb1fd384bcd3388d3c62dfbcb82df188bbe2a4efbc809a703ce81de03a99da8ebbd21df4bcb43c0f3c3f9f963bfb176fbb088500bde0f4e43bf9a2c43bf03373bbdcaba2bca63bc53b59c9c73b7791f0bab9ebb6bc03e7da3b4dbbf03bd1e110bb2d186cbcce7d073c76b0e93b13a5a5ba216032bcc9fc243cd9dee93bac88e9bacd0fbfbbee19223c00fbcc3b530c8dbac05e93bb89650cbd04b20d3f02000e3f6ff39dbb486b36bd5845013f5d5c033fd90092bb1ac21ebd2f23db3e3000e33e8c9581bb2e412abd8f40b63ed40fc33e8a3b4abb7229fabc0c8a8a3e0751973e6aebe2393be227bdbfce4a3e8f1f743e3c02a33aa10913bd2d61f83d5066273e0c84723bc91a1abd8fe4403d5c75c63d45db6a3b329ddbbce49d71bc00d2c73c9a4a06bdd8cd64bb000000000000000091031abd1fec9bbb0000000000000000d2b4d1bc0720afbb000000000000000039d0a7bca0f3a4bb0000000000000000113f16bc7650b3bb00000000000000007e06f2bb6c78debb000000000000000029920bbbeb6ecebb00000000000000004b488c3a2d2ed2bb00000000000000003733273baf4eb0bb0000000000000000967a803a0dc065bb734e5cbbed65fe3b35bc8c3b8be10dbb2121e4ba07cb113c4de5533b829708bb5d47a3ba8d80173ccf763f3bdb4eebba4a7e88ba4bed133c996d2f3bdf181ebb570709bb2ec3033c8b91b83a5d41edba8b8641bb3955ec3bb7320e3b55c327bbcdf795bbb811b53bbbc6183b82882ebb5a67c5bb0654553b4450d338bcf211bb95f8b7bbfd9b4e3bc729b73ae4c8a5ba19ca183b8f7ea9bc719f33ba56d101bb82ce363b9b3cd0bcc6d6103b2d83cdba76f4733bf645b8bc06082f3be8c4c4ba49f66c3b3bbd9dbc9671833bc48096ba772f433bc8bd7ebcdedb993bb67e07baa42a973bc4b43abce676933b5af02abae02f973b3b3604bcc5616f3b8bd84cbacd3aaa3b7746afbbdea1923ba4203e39b822823b307c65bbe444a4bc42a1573c1f40913aa9e884bbd2fa10bda985bd3b4c4f4b3bba782abb980d19bd9f95203b2763cd3bced260bb66010dbd8a7e7d3a1364e73b08ab24bba601e8bc814f013bf8dff23bdb1d13bbeb6cc2bc868a843b5230fc3bb4ff71bac9b191bc91add93b809dde3b45856aba8e3a53bce717273cd2c7d03b60087fba613b00bcc576113c6a80d23b62489539853110bb6af207bd5223d23e7bd7323f1da5bdba101533bdba44bf3e2e10263faba611bb258e27bd3b06a33e281c103f6af0c3baeda21fbd981d853efc1af23e211255bafdac12bd2dea4b3e1179c13ecfc2d63a18ac19bd46400e3e34f4933e2c2c513b405509bdbf0ca13d2de5493ea7eaca3b452b01bd3be3b23cd1bee03d546dad3b064ab2bcc8a5afbc9bd7a13cd0d509bdc29794bb000000000000000086f31cbd8fa180bb0000000000000000e2e6e8bce289debb0000000000000000285d91bc7735fdbb0000000000000000269318bcb211f0bb0000000000000000abce54bba3b9d0bb0000000000000000fb5c9f3a6bd3dbbb0000000000000000e76b8f3b21e3f0bb00000000000000009f34963bd9e080bb000000000000000038b1353b56fce4ba2e3783bb50abfe3b7b127f3bdb450bbaad4037bbee3a223c8d1c233be94013b70ebba1baa0370e3cef3b3d3bcce934b9c611b4ba5d12ec3b6e1ec63a7cae8fba0f1f29bbbc8cd93b0043183b07141aba795c6dbbb660c23b9981da3ab36c8bba3b508cbb009e913b7e73153b0049aaba3271d9bb79db263b2b59913ae92ec2baf7f3cdbb1775c83a7fb3e0396047b0babce4623b81ce7bbcd23e1e3af324d8ba8304b63b7cc49bbc76a0ca3a9e69aeba6b3a8c3b2b9073bcc6c03e3b64e78eba5bd6963be60a5fbcbda7703b4f97d7b98531433bf26517bc9de6863b985d42ba90fd9b3bef96efbb4e36773bf37b31bae4e8803b01d074bb00a7543b6c71cab9f4c3963bc10e9aba00e1673b5d7418b9fff0403b111c08bae715e8bc276edb3b57a9093b669f83bba9cc2ebd755bd7ba34c28d3b55e081bbab7718bd0e72cebb4287b63b749f22bba68919bd67f901bcf50ef43b294ce6ba680cdcbc9f3f71bb8c01de3be3cd27bac4efcebc06ffe1ba714ad43b3df89ab9df8b8ebc153a173b6018ad3ba8f98639fc295dbcb719fd3bf272b43b946aaebafc0601bcab6e253cab11933b19379cba9364cd38718ffbbc12c2893eb509583f75f1453a79af25bd5cc4783ee605483f7ce3f739dea208bdc7e8503eef5f293f340d613a6b810ebd5ec6283e8de00f3fba02653a65c8e0bcc207fb3d1c5fe03ec5bc4c3b8d6bf4bc59c2a13deec0ab3edac9863b25e0cdbc15bb213d260a643e592ee03b97a3c0bc68a697bbebbbf33d0353c13b96a67cbc468feebca6ff6c3c07b908bda282c3bb0000000000000000187c10bde1ddf1bb00000000000000000fa0a1bc0c76edbb00000000000000005b8547bcc87404bc00000000000000000b585dbb2957d2bb00000000000000006d11c53a8880e0bb00000000000000002557a93b9b0fc4bb0000000000000000854b183ccd88a6bb00000000000000005a20e83b87a3a7bb0000000000000000b225333b9a9b213abfea84bb4adbf03b209a783b36115d3bbb7bddba4583143cbc7a663bcf883e3b3e743f3a96a0243c3c38003b25cd163b21eadd38a78e0f3c1f98123baa7a713a45c1d7bae03bca3b2de1f73ab13f563afdf027bb6210a93b3d0dd03aa52b83398f778cbb6b44603bbe138a3a9d7bb638fa8ac2bbe83fa93a6f03413a4f0d7bb96c5fcfbb7775eeb99d46b3b9e88385ba9cd38c3b4e4323bcbe8c49bab8dd8aba632cd33b753811bcd651053abad099bac2387f3b73201ebc7b9a3e3b64c8b4b8c11d6e3bcca3cdbb8e3c563b0490d0b94fd4713b728b96bb0519763b03179fb97c537f3bc16d01bb4a32683bbbac5bba489f5f3bca2e383a9c08923b721f83388cbf603b2a82693b0bea253b55e532bae361363bbe60653b093e15bd5f5e82bbf20b803bf37173bb807943bdaefd93bce26c883b3eed1bbb04a533bd11cdb4bcb9f9b43b6573a3ba3ec71ebd653d9bbc84f5cf3bd7c3063a201ee5bc050359bc2c5eae3bcdfa483a7b27bfbce1e117bc5628973bc3e7bd3a314488bc429825bb8a803c3b918bd83a9c6e39bc49b3803b2590363aee3f493ae5d0e7bb9f680c3ce9f8123b5b5c2b3af958cd3ad843dcbcb72c043e5da27d3f6606853bbe7b05bdf4f4e73df1c7673f423d5d3b3b85f4bc6254c23d4774463f2f9da93a60fcd5bc3c41903d1431243f97880d3bb896b7bc03f7473d6d5c003fb7526b3bffb6acbc7b0ab93cb21fc03ee541a33bed328ebc9d034fbb385f7b3ec2e3e33b267a61bc0a46e2bc8138f53d2af2d23bb9cc0fbc52ff1fbd49546b3b50b8e5bc5b5608bc0000000000000000e0dbcebc2d590cbc0000000000000000465043bca2250ebc00000000000000008d8484bb37330fbc000000000000000008b37b3b39c4dabb0000000000000000fd0c0d3c7ebdc4bb000000000000000062113b3ccc64a8bb0000000000000000ef70653c496993bb000000000000000069973c3c827f7bbb000000000000000000000000000000000000000000000000cb611c3b9860423bd0dedeb8ecfad73ba5d9073b5e873a3bcd749f3a1e04b23bbcdf703a4c61143bf835993987f8a83b4cd7aa3acd48b63a28e036ba0140893be47dd839de8fa73a5d67f9babb672c3bfd5ae53abb5aa13a03df2abbeec5b13ae528e13921ef3d3aeda193bb3c0b11390000000000000000000000000000000000000000000000000000000000000000d3884cb9b6b07d377dcf863b808683bbce72513ad91199ba6670873b3ec623bb774de33a1940b339eccf673b825308bb9eb4223b6b804d39201e293bc69d1bba5b68263b7dc747b9a27a893b3a56673a3af5653bd5d7333a7f683f3bdb45383ba021273bdb051bbaf9d9f73aae5cb63b0000000000000000000000000000000000000000000000000000000000000000e06b20bd2794c6bc3ac48e3b44e796baff2605bd8da2cdbcde4d7a3bbc1a26ba812ddcbcf784afbc85b6733b9c7fa43a8aeaa6bc22d483bc507d563ba9b0f03a84bd84bcf6b142bc2c42143baabd213bc15b2ebcdc68dcbbf378b3b84d743f3b8811debb846ab039935e063ab68a183b000000000000000000000000000000000000000000000000000000000000803f92251a3b5c8fa1bc49e4cfbbb3eb7c3f757b173b595c8abc0da000bcb873563f8727083bc85178bc39e22abc16db303f84e3083bd0f954bc12d378bc1a890b3f4c7d643bf04220bc76b8b6bcc64bce3e79377e3bf3340abc43cbf4bc8680863edd22ac3bc0dda7bb4cf51dbd3064fd3d0000000000000000000000000000000000000000000000000000000000000000308705bcb8e511bc0000000000000000e2bb653a3788ddbb000000000000000042dcb93b9aaec2bb0000000000000000548e193cd79094bb00000000000000005935413c9fe85dbb00000000000000006479593cc9b026bb0000000000000000ac41673c721f02bb000000000000000000000000000000000000000000000000000000000000000000000000000000008c62c3ba6d8013bb389eb1397b6bde3adfb59aba3da7e3bad10086394c0cdc3a513a93baa47810bbdd21afb7ec6df33a69326fba943b01bb064219b95900e23aa3466eba067608bb4e339eb92024ee3af878ccb93abc13bbe5216c3a0ec78f3a71efe6b9ca2d15bb89fb51bae026013b00000000000000000000000000000000000000000000000000000000000000006274493a5c5c56ba72c64bbb1c5596bbe7f4933aeb4da7b95a7e17bb5f526dbba768af3a43bb2cb96f2a2ebb31ce74bb6e24cb3a5d08aab879d90cbb74344dbb1aa4d33a802327b9a658feba7b0f45bb13ae2d3b99422e3ae94cd8ba18ab38bb5432013b7d107339f2209eba33001abb0000000000000000000000000000000000000000000000000000000000000000f305a6b987eaaa3b6e2cf4b9eac9d439b0bd09ba6408403b9a7c5f394e0490bac8f3fcb9d7724f3b8fd13b3aa75a71baf307deb9e415433bf283863adb706bba64e782b971fe443bd99b9f3aaeef7cba1defe8b91426f03ae99d053b13e419bb4a32093a791d473b4846d73a9a164fba0000000000000000000000000000000000000000000000000000803f00000000b66b54bb8fa18fbaf26d633f346bc53a756c26bb70827dba4747423f65d90d3be60147bbb1b1b4babf06223f1214433ba44936bb5c29e4ba8a7e013f84455b3b012138bbd0f329bb8d62c23e499d813b0a9d2dbb46c75bbbe31c813eb9812e3bb3841bbbc7c575bbd327023eabc8903b000000000000000000000000000000000000000000000000000000000000000040be1abb1755b5ba000000000000000040bbbeba8b37a2ba0000000000000000f30a9bba2049a4ba00000000000000002c9065ba5871c0ba000000000000000072d551ba358ce6ba00000000000000003999adb8fb21bcba00000000000000006d0322ba6811faba0000000000000000000000000000000000000000000000003e80e2bae53a58bb6de212380052143bc50626bbe30550bbb93a8c397e67373bad7e40bb4a853ebb0b08b13807eb2e3be090d6ba465342bb085189b9da372a3be330c4ba71904dbb63d84cba34ae1b3be0eaa5bab3e754bba1f284ba1f922d3bfdb1b4ba096958bbfef1afba32c9893b9cb4debadbf122bb0daa54ba9e42343bb7428b3998d989ba6d7ae0bafe5da73ad0c8553b05dd01ba874d51bb9716a8bb2f42ea3a31c28db89bc269bb1ca7c4bbd4a4073bdd6fbab9a14e52bb8561adbb5daf173b0c580eb9849c50bb51c49ebb993c0c3bcfc479b9521b4abbefe195bbceea273bea90083b761924bb648491bbff34923be30fe03afc8f1dbbfaf97abb059fdd3aba291dbacdd2c1ba680d3cbbf17bc73aab73d03aa77bb0b60c614bbb67b7f83898fc813b38b9fb3a4cb0c1ba530549b99e1ea93b6addc6392056b8ba7f6714ba3230993bcba5483ac282caba946f29ba13e3903bb556a83a23ddafba8c801bbaf0d1823b39f0b13a55fec4bac2fb23ba750a9a3b498a063b0921a0ba042888b9b679823b6b34ff3adedcc1ba4746313a0ff4373ba846ec3a92b0c63911a928b9621b2a3bc1b8523bf0a69639e6a45ebbe817e0ba0179633f581f023e084282bb7bda16bbdab5473f8c0de83d2ad771bbac4714bb48142b3fd534c93d278772bbaeb32cbb747c0e3fc404aa3d9d5879bbcfcd53bbd3b1e33e09548a3da17979bb0b0a8ebb2721ab3e9b2b5a3d9e7b57bbdbdd9dbb88e7633eab0d183dcdf620bbaf9b9abb3623e73d3c6bad3cc85a35bb7a3d9ebb33d1733a5d7ace3b0cde23bb5557e1ba00000000000000002ee735bb0c63e5ba0000000000000000295114bba51f06bb00000000000000008f0bd3ba862f0fbb00000000000000001651093ac0fd25bb00000000000000003e618dba2ed91bbb0000000000000000d81389ba8f7e3ebb000000000000000053ff99ba8a8ae8ba00000000000000002c9c493acc024dbb00000000000000005507e8b9383aeebad3d3cdba646a3a3bea07f2baef3878bb5c1592b96b89543b2b34f6ba006698bb7a382fb883ce3d3b0fbf10bb35da7dbb8d9c61bace0d473b1548d5ba859a3fbba71e5cba622c1a3bd0efdcbad66a68bb31f5beba28fe223b5c54c6b91a6822bbbfc435bb2082363bb31914bbb6475cbb7360d4ba87eb2d3b0e7318bb1137e9ba246586ba74b8e03a172eed3a95a6e6b89272cebad9b8b5bb78a7103b5fac52b9803067bb204acfbb2696233b9e1999b885798ebb26a991bbff79413be7db8939887870bb95ebbabb60c61d3bf5d8af3909cd2cbbf71883bb99392c3bc85fdc3a8d8b2dbb4e5d9bbb84c9503b43f398baa38bdbba4f3d3cbb4aa66a3bb46c553a8542ffba6d8a73bbf124183b0f55273ba2992dba3aad07bbad50763a56249e3b165fc7390ddf94bada8706baf7c2c03be4f78b3a0e30c7bae088ccb90e4ca43b665ac93a80709dba282ba1baab15b53bcd3f093b8a5baeba985f41ba3b4f8a3b9a55023b948588bac24798ba0918993b8b3f123b866b0ebbefb914398f9f943b54b1403b6943f5b926f328b9b2d69c3bfb60613b2a2b4dba7c07f0ba3667ac3b98381c3b61de1bba897185bb39a773bb6796423f70e7813e05138cbbf6a67abbdd5f2b3fe640663e82423ebb666d2cbbde8e123fda0e443ee10e85bbca9883bbc41cf53e78bd273e008a4abb7f1759bbda1bc33e4b28063e163972bbc2cda5bbdac0923eecf4ce3dbc838abb97bdb5bb5fe1433e84e88d3da90e3dbbdd65b6bb9e97c53da337203d1ef1aebaba07b7bb48545d3be83eeb3be7551ebb97f9c1ba0000000000000000487e43bb565bffba000000000000000093ece1baaf0f02bb0000000000000000f842d9ba14c328bb00000000000000009afb74bae82b1dbb0000000000000000c70ced3992d30ebb0000000000000000b8d21b39c59419bb000000000000000090398439d0904fbb0000000000000000c269e33701430ebb00000000000000003867ecba528e3ebb530a50babae0243bf47d10bbaa3b8fbb813a1939dd10873bd95a03bbe27a02bbd8eba9ba745c2f3bfbdd1cbb1ab085bb2cc0c0ba00cb543bf50378ba180a6abb6a85e4ba17ee273b65bcf1ba1c4566bbdacbe5ba77de213b65a703bb74e702bb47de1abb093a013b80033ebab7ef64bbd4cf29bbdce5d33af7cbd1baaf9d2abbb228daba6ca7ba3a6c0c053b9ce47ab9f2af3bbb76c592bb5fa86a3b15d36e3aa12984bb2ba7d9bb6e07183ba2f842ba808ad8baa0d0c2bb97965a3b8dfccc39d32076bb2725afbb5e5a443babfda03978ff45bbb8fe9ebbacb4553bc818473a50ed30bbb81092bb72be563b0344753aa03c81bae71c93bbf593343b48423ab86f9d01bb03bb80bb32a81a3b0163ba390feec6ba5bc32bbb86e707b934c1a23bfc3f6e3a7641a1ba90680d392d48e13b2d4f283bc72d0cbb9579e8ba9410a33b0bf35b3b410b1cbbe9e6f1ba7913bb3b6646323b7ef9b7ba397cb9bab39e933bfa002c3b4b08baba1243b5ba6c689d3bdb05553b68e85aba3a19c4ba5932983b25b46a3b139f3aba7ae4a9ba02d8883b20b24f3b2f986b39a0fb33ba6858513b9bf1283b5815a33ab02f45bbfd2e3fbbe32e223f19d0c23e015997bbaf669fbb2af30e3fbc7aac3ed8768cbbe24c93bb4390f43e8cfd943e248c7abb3ce88ebb692acc3e717c793e7a006cbb98d69abb04daa23e5e39483e36a862bbaf9e9fbbcd78743ebca4183ec8edd7bab5c9b4bbeedc223e05d5d03d16762ebb0466bdbb14a2a23df4395e3d4af1feb873128bbb97db273acd7ab33b497b29bb263adeba00000000000000001e706dbbea683cbb000000000000000052f362ba50b1ecba0000000000000000e60cbbba53b443bb000000000000000056aeacbaf96060bb00000000000000001fd78d36a8a840bb00000000000000004c730a39f75b52bb00000000000000001c35da3a369326bb00000000000000009c3e183ba51333bb0000000000000000d5bcb2ba425045bb79d783bab26f2b3bdc7408bbf03a7cbbd274b9ba9777493bac4fb7ba7a834abbbcca99ba41ae273bba770abb92cd6dbb625fb6ba89d8143b0accd8bad65f3bbbe87abcbaac4c023b16b69fba1b0a4fbbe1b503bbc0b20b3b01d7acbaa92142bba7590cbbf1c5c93a0fedc9babff13ebb22d222bba251ce3a403419bb5b426abb5bc3e9baa90c9f3a0eef173b909bb039c6a136bbfdb788bb98373d3bf48e8c3866ea57bb01f4aebb5434363b9e77833970d13abb4e5c90bb4aba453b7f249f3904ab58bb5984a2bbdd75333b7840373a88101ebb10556bbb77305a3b2ba3a83a8a960bbba4f18bbbb34e463be37d5c3aa6220abb08fb5bbb0bca583b5cfe833af2baddba2cd459bb1b47303b0da3303a92fd23bba3ed06bb4b114aba9be49e3b2dc0bf3a732e61ba0d7fdabafb5bb73b36bc0b3b63eca6ba565cdbbae1d0943b6ba3103bf0cd8bbac872f5ba60d0993b517d3b3b0f679bbaadc0cfba5a376e3b70aa303b1668e2b917a015bb175d903b4608603b7c0f77b98b60ceba5210753bca565b3b91a5cfb9dcf6c5bafc128c3b9fbb7e3bd20eafb9741c8bba9f825d3b15f5523b680010b903e14abb6f0553bb1cc1013f7de1013fc5ed76bbb2f18dbbe43be43ebc01e53ef9314cbb31e568bb7b33c33e8d6cc43eff0169bb00758fbbe5fca23ef02da53e322a28bb1c246fbb41c6813e45d6833ea9c94ebbc7fba8bbee01433e2448493efb1126bb58f28bbb5c72013ebf56073ec6070fbbffde9bbbd328813dcebb8f3d27ab83ba9a1d62bb677741370f20c23befe016bbc038beba0000000000000000ac1623bb973416bb0000000000000000676eb6ba65321cbb000000000000000090b585bac3923cbb00000000000000002adf15b9b1d71bbb000000000000000098f9793aa39532bb0000000000000000e6dc6d3a2c0f1ebb000000000000000082a7b13a43d33fbb000000000000000052f6b13aecbc17bb0000000000000000ea8788ba618352bb0aab03bba9c37f3b14acf6bab6a754bb4d98b7ba9c77813b2876d0bacffd52bb35e4e2ba899f333bfc8fcbbac15e58bb72b602bb1d661a3befcce9baa17516bb7ed968ba7352673b9bd4a4bafafa4fbbab6525bb4ce1003b7d0bf3bad57322bb7c7df7ba1328123ae6124eba76f43fbbdaba57bbf4c05039f1f61bbac4e5efbab2e80ebb9b8c173a2c8afd3af34ac7b89a8544bb040990bb5033193b17c0d03affed4bbbce75a1bb18983d3b4f30203958b935bbb932a0bbd494533b2f5d2b3a116133bb35b994bbe27e363b1a49233aab46d8ba536942bb2b176f3ba568493a7c0018bb8fb68abb79c4313bcc7cfc39f5dcd7bae71935bba2fc893bef64d338701ce0babb0566bb6bb71b3b2146733a9da76bbad76e0abb8d18dab7c226873bf4a2c63aa4898fbabc99fcba6b82953bc1740b3bba6ce9ba088d4bbb29a3913b0c99303b7e2db2ba6ad141bb44fe893b6c8d5d3b9c9c5dba747faaba8cb2b43bf67f623b479a8fba318a37bb233e8e3b2d918c3bcd80a0b8167cbaba821e4f3bb17f613bdaba1aba161845bba6789e3b22c6a53b044065bab237deba97243e3b0c0e543b1a5d3339158063bbe91f74bb895ac23e2e33223f3f505ebbc5957dbb1cebab3e26060f3fadf666bbdf6b91bb38ab923ecf13f63eab3455bb8cf491bb2d5e743e39b3cd3ec6ee78bba92caebb2727423e87f0a43e5e5547bb7174adbb75b3113e47307a3e3b9cf8bab14a77bb4817bf3d08d5273e314e18bb60bea8bb1edf383d0bf2b03d3280a0ba71a360bb5be98cba30adad3b9a3418bbd6a207bb0000000000000000fd4433bb4d7f45bb00000000000000006cbcafbab54650bb0000000000000000152f99b961723bbb0000000000000000484b42b91e203fbb0000000000000000818d763a483934bb00000000000000004b69993ab2264ebb00000000000000007bce433b8fff6abb00000000000000005c96ef3ab34a08bb0000000000000000c57e6e39a74710bbe8b703bb655cde3a2ae608bb096154bbcfd41fbb03182e3b2c12efb89b3e1fbb52edc8bae1e3163b6eeb36bbbe4d8abbda24baba7374543b2d3d46ba49ec1abbec0709bb8eb3a93ae14d98b932ba21bb363620bba667cb3a46ed87ba4be90fbb5ca315bb8d6b813ab3ba2dba672c09bbaf3247bb7807da3961b67bba6522dfba520716bb57c56939dd32023b27dd7139605ee0bae15262bbec4f3a3b2f388c398d7629bba8a6a3bb5d593f3b8f187bba2a0301bbb9cd63bbe3c8953bb5f7b239d7e1ebbac8ea64bbc7fc273b86c28d3aee4aecba1e304ebb73f3593bcb51983ac9f639bbb4c84cbb148d403b48c6be3a93d4abba6ef41cbb0a643a3ba6d3843ab29750ba0ba711bb1aa5133b963eaa3a8c5b4bba4420d8ba89b327bb3a8c5a3b359c85b75f1c38bb3f1f85bb8d808a3baf56503b378381bae52443bbb62c573bfee15b3bb3d10ebb47153dbba677293ba78c553be32862bae58d39bb46c2243ba00f4e3b34ebcdb8b58653bb0542563b4de5853b46036eb8c37918bb6bab413b822f753b488fea39760c30bb2f465a3b0256833b0aebe0396ac3f4ba494e243b299d513b10e55c3aa49d23bb8eb34fbbe66a813e9d09433f1dad5cbb84fa99bbde3c643eddba2b3f862924bb8de5b2bb274d433ebff5123f5db618bba98670bb3ed1213e1622f63e99ed16bb5f3e6bbbf6fd003e6059c43e9a906bbb03f892bba93ec03d39e6943e14d3e2ba3fe06ebb10a5743d311e473e9e67afba2bbc8bbb3165ec3ca7bacd3dcd4489ba74b140bb3da3fcba076f923ba8a166bb9c586dbb00000000000000004682b0baad5633bb000000000000000080ea943994a773bb000000000000000097048039f68e45bb0000000000000000697f903a635b05bb0000000000000000e776013bef4a34bb0000000000000000110b1a3bb3f7e8ba00000000000000009a77323b24c92cbb0000000000000000b0b42b3be9e845bb0000000000000000c445fcb9e73d3bbb3afd68ba4cf62d3b0e710eba670b46b8020aa4bac466613aad2794ba885b1ebb045412bb9bc1be3ac85891ba48e02cbba7af29bbeaa8cc3a913d1eba87ba2dbb2b8721bb95983e3a92d23aba6840e2bae0f115bbf6902f3a5d96e4b87c41c3ba338120bb0d78a4397b15dfb9f3a6f7babed83bbb132c8f38eba1cab9a8bdb0ba0f2f3abb78f25ebabd14983a86d0eab9be2520bbfa4f83bb0f16913a67158c3afab960395d2247bb63670d3b30770e3ac70e05bbbe9978bb1a1c303b2d723e3a6d9bb6ba94874ebbf10a123bdbbfd639794a8fb9ee8b4abb5297243b7e4da13a6bcb99ba8e0116bb06c3263b7077a33ab09611bab63df2ba5c4f283bf36aa53a972f12ba04d5cdba09e4cf3af875833a549bbab9331da5ba11d38ebb78256a3b05eac33a6e51cbba98feb0bb6b2de53aad5a673b942619bb45bb9abb6883583b18503e3bb68729bae9de8cbb65d7c63a4dee5c3b21a679b9c0c1e2ba04588d3a0320463bb6aec6388f8754bbeb08d33ac0695d3b9e10e13984c843bb8173f43a3f2d663b864a043a9f1c32bbfb43183b02cb6d3b022d423a8a510dbb08bc6e3bfbab3a3b269c0c3a44eb48bb06cf06bb68db023ecb58633ff6dd06bbf95f43bb574ee23dcc5c473f453d2cbb4f2087bb7b3dc23debcd2b3fa9e805bbdf7c95bb4677a13d96160f3f8aaa00bacc9379bb84b9823dda67e43ef603e9ba74c762bbe2283a3d94daab3e3e79afba89b670bb4b25eb3c0641663eca918dba508b67bb5132433c2b6dea3dab2773ba8e4c30bb20425cbb75953e3ba708e8baa82939bb00000000000000005f5c08bbd22d0abb0000000000000000beb88c3910ea37bb000000000000000079fcc13a906b32bb00000000000000003282073b290b0bbb00000000000000007a8f2b3b8ad8feba0000000000000000d8aa473bd806f0ba000000000000000031245b3b8a99e6ba000000000000000046802d3be846c7ba00000000000000000000000000000000000000000000000091282abbfe3382bad61cbfbae994943ac46248b9b08351bac8939fba59deb23afc64e4b9ae7d81ba07eeb4ba11105e3afe1c30bab0539fba5a2dc7ba2068293a0dbe4d3a52b818bb60cab9ba1c212739a6a80dba6df928bab051c8baafad66b853dc363a17dabfba154621bb50b93dba0000000000000000000000000000000000000000000000000000000000000000f636e13a31d31c3ac63d2ebaf29b11bb5332193a6518ea3ad094c2ba135af9ba1fe4de3a3900363a055f3dbaf7feedba4c0be23a2222403ac7e04cbad3d9e3bab582f03aa245793a7d4bebba351c7aba2cedc73ac6b3613ae9f6d837632d67bae563553b17b5103a3bdd37bae24c8dba000000000000000000000000000000000000000000000000000000000000000031ef82bb9bca063af73c143b25ffceb9a2da42bbf583ab3941bab33a50534dba65795cbb6068b3385546193b585d063854732cbbe234183902a3183b5f79a039366c1fbbc8e0da39d1a6283bd638283a66c80abbd8262f3a57ca143b4aab0f3a803022bb54dc3a3b82e90f3bfe8f0e3a000000000000000000000000000000000000000000000000000000000000803f498bb8ba145435bbd043123a8eff623f12f9ab3920e00bbbb45f393ae49b423fd5b3b1ba78da28bb72f7a4b91728223fc47fa1bad35421bbcae66fba049a013fb26b17bab89810bbf2a8e5ba0d92c23efbe425ba410008bbafc61bbb5ab1813e736453ba3aa62bbb09377cbbd485023e00000000000000000000000000000000000000000000000000000000000000007fbaf339d812f6ba0000000000000000f5b2bc397da00abb00000000000000004469f03a5b1ee0ba0000000000000000e2f41c3b1ce7a3ba00000000000000003c702c3b3fe0aeba00000000000000008f7a253b1a4695ba00000000000000009d1f303b1d8aabba00000000000000000000000000000000000000000000000000000000000000000000000000000000eb60b6bb162e443c8e9aa33c7b17183bf7a911bb861f483cb1a9913cd959663bbab33d36bfd4133c18454c3caa9a453b44e5913ae016e83ba735233c971b763bbcc823ba6b57cc3b7df0043cf9575d3bf7a116ba56aa833b161a943b5a558c3b9a6b99ba17a8e03a79dc033b7e5b663b0000000000000000000000000000000000000000000000000000000000000000cb70703b99b2e4ba2e930a3c2530dcbc8591343b6eb148ba336bd53bd7cff2bc2377403bc05fa4394341763bc4ffeabc69f6053bfe5e44b97374343bc955c4bc92571c3bf866ac37a24d2b3b308b92bce59abd3a638004ba3440153ae9e0e2bb9a1db33a6b0949baa8dc95ba5444e93a000000000000000000000000000000000000000000000000000000000000000010590bbe739cc7bce9073d3bd384413a428903be7191eabc5ac6143b0a1f5a3906d0dcbd7dc2eabcbe9ecd39fdb10bb93539b3bdb517e6bc1bffc73902f6c5b94d8284bd03a5d4bc550a463a176e79b9fe8e2dbdbbe9b6bc27ee223bf2b206b9d0f77cbc71e978bc1854533bb290aeb90000000000000000000000000000000000000000000000000000803f00000000b1140e3c310199bd66989e3fef583cbd836c943b251d46bd3ea2833f7cb364bce588b93a9bc10dbddab7543fac439b3b0593363a19c4edbcacdd213f7912563c2738533be74eeebc5366df3eb15a583cc8a2683b0257d4bca0f17c3e340ef43be4eec43b9612e3bc6f17853d2eac19bb00000000000000000000000000000000000000000000000000000000000000002da648bb9a17e53a0000000000000000b66b07bbc8817f3a000000000000000073be59bbe76ffb39000000000000000052a554bb4e5069390000000000000000a3f310bb1928d9b90000000000000000a5859ebacc38bc390000000000000000da738eb97e508d380000000000000000000000000000000000000000000000009089b9bb28f2e83ba90f4f3cbbd5b539790928bc276e7b3c5b86c63c6aa3b53b0b4ec0bbd682763cb167bb3ce137ef3b4d2c00bb803a5c3cedb3993c655c003cf80648ba529b243c488d593ca476c33b675cc5ba004cf13bb4af303ce94cfa3b161506bb1354d43b84a1af3b3f99f63b20554cbb527d033ba82d033bc1dcaf3b41ea09bb6a2147bad6b403bb58a01e3bf48c6e3acd7b17ba1800533c4911d7bceec47a3b759a08bb6fef673ce5ccafbc11744e3b205a8aba54dc523c764901bdd3aa5c3b42623eba07e2233c218700bd0f78333b8cb0ec39005e003c84a5d7bc960bcb3a570720b9e51ab53b3a6287bce61cfa3a1e3a81bac1a6cb3a31f5a1bb30909c3af630b6ba63085ebbf544c23bf8d49cb9b5832bba8686b7b920980c3cafa8a7bd50aeb9bb4fbdb9bb31b2113b5b4d16be7021e1bcc731a8ba51aada3ad46819be763a11bd9f3b84bb40a71f3b8aa805bee1091ebd419fafbba6e6113b4fc9cfbdf0f70dbd4d53aabba9eca63a06089ebd4b700bbddf9549bb75b5c03a635047bd1472dabcf2d76139a8929c3ac0ce7bbc1f4685bc3d251e3bc6c4ab387d8a0c3ca7ada2bb69b4623b3869d4397c3d873c35d306beaf839e3f0caa9f3debe4af3ca2f110be5786973f27c9a03d8003503c3b4bd6bda1d9813fa8e1c93d1e2b083cf7b6a7bd9cf8503f84cece3dd4b9db3b809e84bdc0ec1b3fc949bd3dd1b3053c64f56cbdde92d43e7d9f973d6f1d233ca20e49bd4673653e0488493dd8916a3c1bcc07bd15be453d7e40aa3c86f8453c0b9106bd04d08abdea2d30bb28b9f4bc9f25b33b0000000000000000a369d1bc7887ba3b0000000000000000044ccabc4a894d3b00000000000000008ebba7bc8240163b00000000000000006d2293bcdd86f13a0000000000000000bb4480bc2dd6803a0000000000000000f5e872bc43295f3a0000000000000000a7422bbc5d26503b0000000000000000b15515bc8b7c393b0000000000000000783238bb4afaba3bc1160b3c691b3a3a57ba02bcd8574e3c7912693ccddbdd3b565f99ba91e60d3cc9e17c3c8273d43b8cb502bbc78d3c3c0bdb683c3f07093c7beb5dbadb4f013c60a7283c2366c53b2d0102bb21b1df3bebed033c8dfb063c5bf9ddba2fb0623be1fd8b3ba716bf3b5ea65dbb195cfb3a1633963a880bad3b9ee309bb655f3f38bd3b1cba9b56dd3a0eff7139222891392ed9463c6da1f3bc2033be3a2932e8b9b22b933c202bdcbc12760f3b471c733af0452d3cb672f4bcf8d62d3b50352039c4d3333ccb08e7bc5e7f063b57febbb888d7fc3bfcb7b4bca237a93ab51d253986c9d63b364751bcd44f7e3aa66c92b9fc9e803b7ea39bbb25609f39d7f9cbb9cdff5238b14baf3b8bbfa3ba195b96badbc3383a816fc43bf44e5fbda06e40b948e765bc5d52703b63a4f0bd3ae5bdbcc3a681bc49aadb3be5efdebdc0cb0cbde3a651bc2490693abfafe6bdef652fbd66e94bbc785c673bc9bba9bd061d13bd557414bc26c3333b352b8bbd15810ebdffba05bcb57a3e3bfd0f23bdb5d8cdbcd4779abb9e93263bcb0e7abcb1a08fbcae0cd7babe4d033bef82683b357b25bbb8118b3ac282ed3a150d823c674f04be7e91843f239f853e42f0a73cc6a71bbe0a1c833fb108843e3d50433c65e4d7bd50da583f3f07803e17bf313c6969c7bd0cdc363f840d643efc7c0d3cc3019bbd3d4e063fe6ce3c3ed077493c7bd391bdab23ba3e251d153e68243e3c4b4867bdb5e0523ef1e2c83d72ca853c68fd3ebda68a553d4f1c483de5b4553cf1e906bddc6d3abdeeedf43b93fd64bd7823e33b0000000000000000734c78bddea82a3c0000000000000000168f3cbd3048013c00000000000000006e0a2bbd08689d3b0000000000000000059200bd215b4c3b00000000000000003d58f9bce9be913b0000000000000000e80ad2bcd43f603b0000000000000000f908c0bc7421ca3b0000000000000000467d8fbc91997c3b0000000000000000629dbfb94109933b2bda763b5198973bba3040bb9ed6223c4dc92f3c2acfdb3b34b80abbd459323c07ad4a3c5bb7323c5d0f98ba3aa1143c0997373c9674353c52f2d939f92be53b95a80a3cceac103c6580d2bac488e83b234cd33b92c7143c8c6216bb46f8713bbbfe943b78d2ef3be8162bbb5123e739941f213bb9bd723b3653b4bae2056cb92f9a9dba3c91073bb47c35bb6b8ad53ae72d293cb3abf1bc8f54703ac175643a9e96553c7eadf0bcaa93173a2bbc9d3a95523d3c22ebe0bc8531263792bebc3aa1571d3c3081bdbc19b2b93a8df5a93af424063c16af9abcb7ac3e39eec33f3a580e013ce69840bc9ca7543ade384d393e1c793bfe9214bbef93b0b973a63cba2aa5083bcf70b23b1756b1b9666ac9b81664273b26d8973b56122abd9d85a63bbaf3babcc6d0ad3b96abb9bde37dddbc55c7bcbcbd5fc13bdcc6d5bd6e2735bddc4ab5bc448ed03b0d01c3bd85643cbdb8a497bcb7dd8c3be1aea0bddfda2cbdc38786bc1602503b465a78bdb89c1ebd22946bbcd591a43b9b5d20bdf760e3bc54411dbc5c085e3b06a780bc643763bcb24c9abbc90e643b0a5fc3394425b1b95f11d3badd08193b3be82a3cd52fe5bd8785563fa3f6e63edd2b9a3c31a109be119f533fd409e63eafc25d3c2e4fe5bdde8d373ffc1ed33e17ae3d3c8ebdbfbded12143febecb53e5d1c213c0697a1bd0128e03e4ce5943e37d4263c34f18cbd736d993e5855603e79a7553c8dae71bdd17f283e5dd6133e7943713ca6ec45bdd4be3c3d0c75913dee052f3cc5c80abda1a009bd64a75c3c079a9cbd2344f63b0000000000000000431fafbd52984e3c0000000000000000576f92bde466393c0000000000000000b41e65bd1946c63b00000000000000005f663cbd16c8a83b00000000000000005f6725bd6808943b0000000000000000b25a10bd937dba3b0000000000000000141406bdad06e83b0000000000000000a7fbbebc5ffe983b000000000000000079f5483aa80e663b3084123add080c3ce143c9ba54a1f13b33a6ed3bc028303c69118dba3929033cb0d2183ca3af483cc1b873b8ce6ad93b2814173c4941463cd0d1173a85e68e3be608a23bf16eed3ba44d46ba42eeaf3b95a9523b2b4d1d3c47b2baba12c2343b56403d3b79d5d13b62c801bbc941ba3a250ef4391aa2603bee4798ba6c2e2e39e5097cba5ff2fb3a224c65bb1d16ff3acf64053ca362d6bcaa30b0ba5bedfe3acf042a3c9391bfbc8be929b9a695e03ac63d003c36cea8bc06edea394540553bc506143cd17999bc88c15339a8ffa23a53749e3ba2d066bc75ac6e3986f78b3a28bdc53b35b104bc2da07f3a02671c3a5b33893bd54702bbb0850fb8b5e046388b3e1d3bb009613bbbd52fbab2cf84ba6587533bce309a3b79e014bd84f92b3a51cedbbc266b893b80d097bd953511bdcd8af2bceece053cf8e1a8bdf9174fbd958cd1bceed98d3ba3d1a8bd522266bd45e7ccbcdea9653b4abf5cbde57b12bd82f38bbc5b2c333b48ab54bd754c21bd8c7495bc9f80733beafe01bdac08c7bc068355bc8b0d833bebab6abc5b5f2abcd4e60abca0258f3bd27b10bb0981813b13918bbbfd20693bdfb3213cb2d2c2bd9215253fc0f2253f30bc6b3c4d46e1bd41921f3faf5c243f9c86303ceefcb5bdaeef083f0146113f06e11e3c9a7aa5bdf2dde23ee5e3fa3ea7a99e3bf1d865bdc04ca33e4ca1ba3e12a71b3c44b97bbddd096a3ee823943e034b1a3c9fc342bd35a7fd3dbe07393ead3b333caf661ebd76da063d6e2faf3d2e38103c5706ecbc12a2fcbcf6962c3cb318c4bd492e113c0000000000000000616ddabd875b5c3c0000000000000000af39a4bda9ea133c0000000000000000d5668bbdefc4043c0000000000000000862926bd1ad9493b000000000000000038af3dbd1a7cbd3b00000000000000004f9a17bd1797a83b0000000000000000f49910bda141ef3b0000000000000000427edbbc6b34603b00000000000000001ed9fab9bc5c593b523ce8b9728e283c017814bbe6df9b3b01a10e3cff097c3c38913ebb477d0b3cd1d8303c5422873cf79403bbc455e23bb286143c6233753c541503baa424d53b41ded63b0712533c801dc4ba3add883bc51ff23be128e23bfc1a56babf7c633bac4c563b68f7f93bba8519bb4530bf3a44a29e3ae64b503b335d49ba09b07e3a6eb11bbb956e013be03586bb6223103b54abbe3b16e686bc3985bfba5ed2283b6fe1f73b95c13bbc3f7d9d3796cd183b529abe3bc01e33bc7079813ad6d7133b0403c73bbf39fcbb851cec370ceffd3a00d5a93b2ef308bc7c19693b9dda323a93c0943bec1a6bbb60c2743ab7f7813ae3d3913ab269423b3ed6c4389505f2b980340b3b4c286f3b3a852fb93fd83fba9a83f4392c81a03b05a807bd60ce18bc015ce7bc324ba23bdc0187bd7c256ebd88770abde139193cf7319fbd4fcd9bbd776101bd215cd53b915994bd525c95bda5c5ebbc90f2c53b68dc7bbd127f73bdf82ad6bc165f963b97253bbd17644bbd2979a6bc78ae853beaaf00bdd40ff7bc2ff48fbcffc18c3beeee57bcfc8533bcdfb531bc117c993bb9f9e6bac911003ca2a196bb2a977f3bb779023c8fac9abdd241e63ebc37573f2aaa593caaf6b5bda31edc3eb112583f61243a3cf1669bbdaf63c03ec87b3f3fac0c133cb60588bd8c8f9d3ec6c71e3f549e023cfa3f65bd63616d3e4eedf73e45540c3cf6ed3dbd599f1e3e8291b23efcf49a3b258516bdf35ba43daebd5d3e5a3f133ca3b1e3bc3594673c16a8bf3d60b1b93be3529dbc2c2ff9bc9ce69b3a1ee1e6bd5d662e3c00000000000000009ef503be7900913c0000000000000000b12bccbda57e573c0000000000000000474398bd54f3ff3b0000000000000000cb666ebda5cde23b00000000000000007d3e42bd7890d63b0000000000000000ec072cbde394063c0000000000000000f23b1dbdcafe083c00000000000000003716f0bce36cb73b000000000000000008b081ba6795dc3a4ceb023b6c9a473c46c245bb3767943b3a8f0e3cd2089a3cc167dbbaf284943b46371a3c7f36913c631a15bbdb88c73bea962a3c2412973c3de129ba1a809e3b0c1cd53bb4904e3c0a9e07bb12e4923b201bbf3bc64f463c09c4e9bab30a353b9466163b3c66ce3ba9c42bba4a12c53a75ab893adcb4253b928b48ba4df520badd9cac3956324bba98be45bb1178f03a6c66203bc8f68bbb3234f2379aeeda3a3db02d3b8a06bfbac16f8f3aab9cdd3aff1d4c3b9d1128bbc69ec83a5adc1d3bc711183bf1796dba982a013bd4a5e73a66b82e3b8ce550ba2310fa3a3a290b3abe42313bbfd0ba38dd7b473a08dbc33a7a10063bbc3d1c3bf0bed33a79153fba5de349ba5706833b67a59cb9da0523ba774ef9390eca0b3b55daffbc802ef1bcbf1ae5bc5883ed3b8e1f62bde179b3bd223e0bbd123a243cae747abd6e0bb5bd1b54f2bcf7f1a93b9c9481bd70b9c2bdf77905bd7196b43b7bbd49bd6e968ebdb2cdd5bcd02d7a3b85c72abdecc06dbda104cdbc43cbb03bdd12cbbc648afbbc065e72bccc90033b107a12bcf9b439bc343f4ebc5b9bbc3b48ee823a099d033c3c7ab2bb0d8c903be867033c3c5d5dbd61b3843e9580843fe6ab303cd49d77bdcf29753edb80843f825df93b14c347bdec155e3e1aa15c3f385cfe3bec5a38bd3b40333e8c293e3fe6909c3bf02f15bd81a8053e9ece0e3f9e45cb3b37deefbc2ce4ad3d9fb0cd3eb8c3a73b2b69c4bcb8cc263d31b5703ea5a4073b031530bca5fa86bb8ff1b43d3faaa43b3f84dcbb0f8df4bc91cd91bc2fbb04be09bd783c00000000000000004c3410be949ea03c000000000000000077d4b6bddf822f3c0000000000000000d6049bbda259213c000000000000000072464dbd6e99c83b00000000000000000cdc31bd38f8e03b0000000000000000d47b0ebd8369cb3b0000000000000000d13709bdd81b063c00000000000000003808e8bc478ab43b0000000000000000f42e80ba767091b8ef94493b4c9e713c4a743fbb4b7879ba0563493cb85fd03ca2bf6abbcc811a3bc042583c3357cf3cfad252bbbaea823b2b6c533c1714a83ce7c72dbb2aa38d3bce8a093c7bed613cf7f3e5bac49e6a3bb598ec3b67d0473c9faea9bafc94be3ac4a69e3be170003c51131e38b5d002ba253c253b78c0293bc14535ba58c3663915e693ba285e8dba648667b9da6909395e0b32baa72cb33b0138a73b520d26b9e38a11bb77d13d3cda9ea93b46efdf3ad0f2c8bad5821f3c0eefa93bc54ee83a2606a9394e83c73baeb0b73bade73b3b1776733abf099e3b9b07a33be42eec3a6e2903394641833b2ffc9a3b7b677ab6f43a8cb9f30b5c3b8c13493b02c3bbba3e0eabba8830823adb376f3adb93d8ba442a4c39e085463b1059f8bc229b86bdfddfc7bcda55ce3b850c1cbd79b508be9271f8bc54a21f3c64425cbd91980dbee02c0ebdfa94c23b888850bde6b7f9bd71770cbd7d60673b64372fbdafd3bebda98102bdf34ceb3ac20900bd07c193bdad93e6bcd79e8e3b6cec8fbcdb4038bd6b5eb2bc9fe5953b565394bb61bf4cbc841534bc19398f3b31dc5f3b77a22a3c14a780bb5f0d873b6a50c23b560aeebc03ee9e3d4d869e3fd932cb3b7faccdbc71447a3df12a983f52e3f13b759cc2bc0691883d81aa833f43fdc03b859cbabc8d7e6b3d3530553f26f4803b470999bced082e3dce5c203f8a0c353b07f941bcae969b3c7a2bde3eb69ec73a21cbb8bb26a000baf7a37b3eb22292b6ec99193b311e55bc8cc9883d819859bae9c98d3b398706bd04f95abddab405be9d247e3c0000000000000000a3f704bee4d2a73c00000000000000004ac8aabd4fe2403c00000000000000000c8457bd40e00c3c0000000000000000c46003bdf21aaf3b000000000000000030d8cbbceddf613b0000000000000000c5a2b4bce0d1963b000000000000000064e8c5bcfd9a023c0000000000000000d472babc2a38943b0000000000000000000000000000000000000000000000000eabf9badd3b21baa78e3e3c1040a03cc7f519bbfe00343b14c9513ca2d8883c3a1a0ebb056b9c3bdd02113c84d14e3cf8e3a2ba7889743b6f43043c6dd71c3c1672b2ba5e8f4f3b479cb33b48eecf3b54956dbafa509f3afdcc8c3ba708a63bd91a3f37b9417bb85a33c73abcc9963a0000000000000000000000000000000000000000000000000000000000000000e349833bc1e8f73848ce67bba809613c0a47a13b339d853aa41b17bbd9ad1d3c5f58903bce5ecf3ac4364eba4255d03bd650653b628fb73a57b715ba5a12b93b50b3813b96ff943ab0001fba5d43943b67ea913b3184983925b4afba9ad9503b8b3b843b383509ba0c3b5fba03af1a3b0000000000000000000000000000000000000000000000000000000000000000167215bd07de09be66cdc2bcc67b883b593416bd41b502be2407e0bc53dc0a3bb66317bd50c0dabdbb7de0bce9d0893a319af7bce1dbb1bd3ba2cfbc635a8f3a6500a9bcefe084bdb850b8bcdd561d39602123bc423831bddce493bcb9d6db3abf23d4380f258cbcda1532bc50480d3b000000000000000000000000000000000000000000000000000000000000803ff8e5523b337c2abbc6d371bd18cb9e3f3098493bb11c6ebb0a9518bdc4ba833fabbf323bf950a4bbc5cad4bc70ff543f1ed9103b33cd98bb40bdcabccc1c223fec8a813a1c2f34ba19d4ddbcd04ae03e7d38d3b8aa74903bdb46e9bcc9d47e3e7f3542bbff012c3c7aef06bdf4b8883d00000000000000000000000000000000000000000000000000000000000000009dd280bdad50063c00000000000000002f9bddbceb6ed23b000000000000000035d1d2bbbbbb073b000000000000000092190f3b1f88043b00000000000000002e4ac23bc6cfe63a00000000000000005dd9d33a7141033b0000000000000000b088bcbb1a39b43a000000000000000000000000000000000000000000000000000000000000000000000000000000009701a6bba1fe663cb861673c2e7ba7bb6db47bbbfb2e613c7052513cfad96ebb6f48f2ba97bb323c50c50f3c30f9abba9fd60e3afa180f3c876fcc3bbffd173abe60f5ba906ed23b75d3ae3befbd023b7ec5aabacb34a23ba257923b9b774f3bff81daba8efa1f3b7929243bdce5873b00000000000000000000000000000000000000000000000000000000000000007a25e33af85d4c3a9ada013c5df60dbd9f2e693a328a053a39ad0b3c5a8e07bd92817cba0b0f6b3a2450e33bcb10fdbc88d2ecbabdb9483ae344b73be2b1d2bc5fadc2baa027853a6ec7b83bcea982bc66d646ba324ddeb91c9dc53a3a17d5bb1a63e0b960aa2ab9b8194239e4c9443b00000000000000000000000000000000000000000000000000000000000000001d7dd8bdc8f676bcfc0aacba1f830a3a4cc3d1bd904588bc36d98bbaab99943a14f9b4bd8f8c80bcaddee5bae895f83990a793bd942b8bbcd76ce1bad056453a0c3667bd25049fbc06f0d8bac46e0d3ae6271cbd028ba3bc0fd06e3949aaa43afeff7cbc64679bbcb56a923aa05ec13a0000000000000000000000000000000000000000000000000000803f000000003e48ac3b069a7cbd51ab963f1c26c4bced55373b358f3dbdcb647b3fc604b33a8620f7b8358525bddfe84c3fc6fc873c940978bac65823bda0411e3f90a5c53cddc5863ae2372cbd1b12e13e24a2c43c64788a3b817b26bd7cea853e05c8923cc3bca73b961b30bdac1db93d8741133c00000000000000000000000000000000000000000000000000000000000000008176d3bb459d3f3b0000000000000000ee09c2bb795de13a0000000000000000db4cebbbecd30a3b000000000000000091f2d8bb2843ce3a0000000000000000d852c0bb224d1b3a0000000000000000bb399bbb89d6ce3a0000000000000000ec4264bb233f113a00000000000000000000000000000000000000000000000092ecb4bba379243c190ff33bedab0ebb6d9848bc4996a23c51098f3c977ca6baf7cd01bcca04983cf768823cfbdf383abbdd9ebb94b2823cf447503ccdc2eb3a4b2284bb37d33c3c5d5d073c6eb6483bb32d6bbb11a4153c4f290a3cc655a93b8cf3a2bba844e43ba0edb63b531da83b7f999fbb4053393b1299683b2346ac3b7cd71abbc914c2b8d23fd6390a54643bbd456bbad8be7e3a6833423ccc8f12bd837add3a367e9f3a2ae6703c81d402bd0387f53857481e3ac4345f3c4f5015bdd31b9fbad44a503ab467473cfa2407bd287d0cbb8dd2383a5094383c4307cfbc083ae1bab1c3043b2806e13b5d4d59bc3a55be382ae62f3a2625883b428129bbfb081db983ebfcb8d6742abbe581263c6ac36aba25181fb9ec12c8ba67ab1a3ca2b088bd1ca5d63bdd0261bca96a823b0d4dfcbdcef730bcbfee28bcde4c4b3b01bb02be6bb288bc889919bcf5440d3ba342e9bd42429dbccab30bbcfcec2e3b4457b7bd2a1597bc8069e9bb8b31ab3a066391bdfab9cbbcf9a2d2bb49cb913abaa241bd3ae5c3bc2b21cebbaa839c3a18f097bc71a1a5bce5d2d0bae53bce3a6d7f443b498d03bcb89072bae809083b8ccc573c6ad9d6bdf6bf963f61a4d13d8eb79e3c98a6edbd18af8e3fb944db3de4bc4a3c3911c2bdae7f743f2733f93dc7d91a3c7daaa8bd15d4453f9e19f93d2a46f33bfd0894bdb836153fe951e43d9350113c86e18fbd588bd03ed7e3c23d1b3f423ce76d83bdf10d6e3e39df913d3376713cbc014cbd15bb833d1682193dcb085c3c84d431bd866652bd6ad67b3c313906bd0a59dd3b0000000000000000f88ef0bc7a90d43b00000000000000004c8be8bc4ac3cd3b000000000000000070b6d2bcc6f08a3b00000000000000008088b5bcb190723b0000000000000000c52aaabce7f64c3b00000000000000000c9198bc1619883b0000000000000000c15e8bbc0fb59c3b0000000000000000cb7975bcc9e2813b00000000000000004d1c86bba6f91b3c48ddb63afbd4373b53041fbcfcb58e3c6e8a093cec06b93a9a2688bbfd065a3cc496d33b5657843bd789b5bbfe0a753ce55e013c4a70933b1fe259bb9348243cfe80923bc15eb83b95c6b2bb54b91f3c5564973bf73bca3b90f65bbbe3d79e3bc874943aa37cd33bbff2b5bbbc13603b0e51143beba4ab3b876678bb09e83d3a537946ba0ff42f3bf8f885bbb351f43ac0535c3cadfd09bd7d9b66bbafb10c3bf7fa873c54f30cbd870b49bb9fd1bd3ad9ec503cdb2306bde8dd57bbf2cfd13a480a583c6a19eabc50562dbbfc17433af3172b3c1193a6bc0e9d39bbccbb7e3ab9f2083c00f831bc3a044dbb868dfcb78c12bd3b6a482abbc4fb8dba638ab4b941b2d5b92a9b1d3c9a8da5b94c941aba6d70e9391876183cb64d5cbda517ac3c9a62b5bc1306983bb106d2bd1958323b3cb8b7bcd1f7c83b0848c2bdb42ababbc2dc85bcc60e293bb82fd3bdc2c57abc25a485bce66c603bc9b79fbd8fa080bc2eb748bcadf94f3b7baf8abd3d259abc146946bc1134373bcc2927bd7bc252bc20eeeebb3b043d3b519fa8bc468461bc76cdf1bb5ceb4b3b048c00bba1b51fbbbdf958bb882b1c3bac08713c5d3de2bd86377d3f3d768c3e6e789d3ca16005be717b753f8aa28c3eec3a443cb9fbc5bd2cd3483ffd16863eb13c5c3cf89ac8bd6d3b2b3faf08783e0f9c243c8c79a5bdd49bfd3ec0b4523ed9ca703cbba1a5bd4b90b23e2a33303e76554d3c72b486bd30864f3e3ca9f93dbdf5893c245f6cbdc257653da3a59d3d85977b3caae026bdc16633bdd73ef23c5e7d69bdd343233c00000000000000003e457ebdee544f3c0000000000000000c55645bd5d44ec3b00000000000000009ab03dbdc64d063c0000000000000000eead1dbd1983a83b0000000000000000fc5714bd24e0d93b0000000000000000386aeebc957f9e3b00000000000000004455fbbcc576013c000000000000000001f4bdbcb22e9c3b0000000000000000867007bb1af4ee3b7bdd92bb6371e43b0efdcfbb9fca7e3c9fad823b2141be3bd7d0babbbdf6793c5377b43b5628dd3bd3c7afbbec05643c90eb9a3b0e98f33b4cfd73bb22b5323c5809563bc3a3f93b8f4dadbb0bd2153c8189533bf592e13bf190afbbcc33dc3b7296143b5885d53b32e3bcbb795c863bba90593ab7e89d3b5a7d64bb43d4d33a2f38eeba8c1f5a3b77a7acbb60b6873abe02403ce3cd04bdc294cabb4967573b6d525e3c5ddb01bd156d99bbf2c9cc3a89da4e3cd93fe7bc97e98ebb14fb8f3a48b8363c041aabbc51526cbbd8f0193ac699303cf6cc86bc023f06bb82d6cb39b7b7f23ba853babbda170fbb2cb1bd38339a8d3be588a33a373b9bba71c8f1b8e9f9823aa94f153cea3792b913bb80ba79600d3bfee8e83bbc7f3bbd9acbec3c1f0be3bc9527663b3538b9bd8d17e53bdac3f7bc492eec3b7235cdbd44101fbce3d8cbbccd4fb13b06f7bfbdd50888bc6f74aebc5cf3633b7b27a4bdb11c8abc6c5794bce11b273b554a81bdd90498bc53e282bc4c6a543bd9a334bdc7f179bcc32152bc74e9493b2cb5b1bc71b2fcbbc22a34bc802b523b3182e5bb841a8b3b2e6eadbbc77b023b4d64483c8891cdbd20234e3f557ee63ea7d1a73c38f8fabdac62473fdc5be63e5ece833c146adbbde0532b3f1678d53efa946f3c8241c3bd3c800a3f43b9bb3eb6585d3ccc05afbdb845d13e5ce79e3e9c66693c556d9dbd85378e3ec8d5793e1193833cef6d87bda9b31d3e4d92333eb796863cdac95ebde4fe223d4579d73dd5d6643c6ed620bd8fd11dbd0b25253de7a299bdd463373c00000000000000003776adbd3e626e3c0000000000000000719191bd6c713f3c000000000000000089f174bd9a212e3c0000000000000000bfa94dbd9c7cfd3b0000000000000000c33e37bd433bfb3b0000000000000000d45f25bd2a45f73b0000000000000000f0881abdd65f0e3c00000000000000008de4e1bc954ba13b0000000000000000061564ba1258e33b6c189abb675d173c1b09a4bbf2524d3c5ca0923814771e3c0fdb92bbb7ec443c8adc2c3bd085213c028d7fbbdba9423c3680583b9023193c722ababadd48d93b0808aaba2f09ed3b066260bb5129033c05bf853aa8f8013ccf0c84bbe785b13bb625c239fb12b83b427e9cbbbfa5713b810309baa949803b8deb50bb6100da3ac46645bbec18143b388fd4bb521d983ac8c9253c1436dbbc9783fcbb2b25263bd2db423cdeaec5bc1201b8bbaf09d43a0f6c1b3c266e96bc32f2a7bb9a82483ad5a71f3c765f79bc354085bafd8a0eba4314eb3b050e3dbcde3231bbf760f7b7568de13b3f0968bbfc120fba710630ba74ff883b0ad71e3b9fd82bbab1996ebadd09b83a73b9123cf831b93986d835ba990a173b8384f73b940a3dbd0a6dec3c4a35f3bc9c733f3b5496a3bd6a2f3f3b7d6207bdbc7bd43b7609aebdffc46cbc7476cfbc8fb2733b02deb1bd830cb5bc8179c0bc41ac383b47916bbd9bca5dbc6afa6ebcf1301f3a46c76fbd02d69abce34d9bbca71d0d3be7bd1cbd14e43abc879a70bc5a43123b1d42b1bcedc123bb92f24fbc167d413ba01d13bc3cbc013cd512c1bbeafb7d3ab9ba1f3cb0ccb5bd80f01f3fe17a213fa9938b3cf910d5bd2975173f07391f3f4bbe5f3c4e23b5bddb58003ffe650e3fc2aa653c5366adbd6681d23e38a4fb3ea17c023c6b647abd038d983ec506c03e3fcf543ce9a288bda30f533eb71ea03e73944b3c3d115abdbd53de3d0e43593ebb5d653c8cdd32bd87e79f3c53abfe3d02e8493c7ebc04bda0a927bd0f4d263d8c83b7bd8534453c0000000000000000999fcabd6dfc793c000000000000000065029dbd7cee2b3c00000000000000003d998abd673a193c0000000000000000585631bd5b58563b00000000000000002c1f3fbd27b7e03b0000000000000000c9071fbd4459b53b0000000000000000610b1fbda3bf053c00000000000000000685edbc140e983b00000000000000001b9bb3ba5466c73bef3db4bbfe04473c533dbcbb8aef423cbf5bf83ad1c85d3c7855ccbb0aa7383c6911c33b8a3a623cfab3bcbb15a02f3ca998c33be0fd4a3cdb2d86bb7fbe183c06582a3b1b01293cb20896bba93cd23bf88f3a3bf724183c1ad787bb004dc73b925ea43ac397d73bdd3f93bb4b88623b144046b91d646f3b17411dbb170b0c3baf2f06bb74b4c63abcaef2bb7ad7193b4ba5f13bcbde90bc6db505bcf1af4f3b2c69ef3bd7f03ebc9ca6c7bbfcf2113b6a07083c47531dbc2bde8dbb40f4d33ab66ee63bd7fbadbb979c67bbf1678f39f4d2dd3b339557bb3f0384ba1aabb93970a77a3b9218703b586c6fb9d83389b9d068a83ac9b7da3bcb2b1f3a230d47ba62e9e7b9cf322e3c9e9f2c3acdbe8bba7845053a42fdee3b2fd13fbdfb4f9c3cb5e5ffbc5a18613bef1c9fbd4b5380bc58d715bd4f1bf73b3807afbd25be16bd995cfbbcd4dbb03ba111a3bdac9e24bd4b66ddbcc4358a3bc3088cbdf0af08bdf46bb9bcb2ca133b68f55cbdf8b8e4bc499eadbc37420d3bae1417bd305f8dbc864c9ebcc7cd683bfabf9dbc97bf48bbb09281bc36054a3b3d7a06bc62282f3c6c48f2bb6feade3a12a4293cd75f97bd9675e43e46884f3f039f823cd88cb1bd0b98d53ef6194e3fba1c763c3063a0bd2453b63e1aa3383f11d5433c14e78abda893903ec1bf1c3f9c62363c55fc76bd78d5543e5c59fb3e9b033b3c964754bd224b073e655bbd3e3dcd313c529f2abd2639733dfa057e3ecc45273cb794f1bcc7cdbbbbdcda063e694e083c6092a6bc3eab37bd7dfa033dd4cecfbde538493c0000000000000000471aeabd02989e3c0000000000000000682bb9bdb43e593c00000000000000009b2091bd077d2f3c000000000000000041d662bd0651043c00000000000000008c043fbd4ff8003c00000000000000009a312abd1926053c000000000000000078b527bdff1b103c0000000000000000cb37e6bcc2328a3b00000000000000001eb125bb5fbfac3bd235aeba0b22633c9539b2bb296d073c7f33cb3b7775893c3d906dbbfb6ffc3b8666ae3b07ce5e3c85f1afbb41bd1b3c18c7033c4e5b573c671e6dbbfad1eb3b663a7f3b1f3a1e3c3de890bb265cd93b93c0843b9297123ce07034bbafdb803b722a0b3af2baa33b655b0ebb4b960b3b43fb3c3a94015d3b9163c8bab0b4c73aae921ebb2b12b63a4248f8bbc84cfb3a3c5f513befa2abbb0980fcbb901c723ba3053e3ba2ba573ac6cc5dbbac40663a7f30623b64a486bab3b971bb8be2d83a0c57193b5ecd793b8ffd36ba13e5f438c2183a3b0e98443b1ebb943981d12a3ab5c2923ad86cdf3b28f6d53ae173abbafc62963aa59adc3bd6e5f83af22d8cbabb602abb10b3193c8a95d93a03a5c4bacdd308bb99cff83bb4c33fbd8d4211bbe8dcfdbc9186ae3b1f1793bd9b223fbdf4c015bd7e6c0e3cede48cbd7c294fbd5591dbbc21d9723bfa9993bddc8e7fbd999fe9bc24464d3b223b60bd0eba3bbd7c27bbbc593d483b2eec3cbdbda624bdfaaac6bc34d0203b5bdae7bc34f2b0bc478b8dbc89a5233bb12a5abc1c3ebabb3f9599bc20469c3b976d6bbb38da313c2a0223bc85e70c3b26411e3cb9545fbd71368a3e7e3c7e3f3725593c90777cbd9746783ed5377b3fb0c0203cb80454bd110a553e1ed8513fe9092f3c5ed944bdc51b233e60e5383f3519023c2eed1fbdbb33e83d83920d3ffb34083cd43408bd42e37a3d9df4d53e374fe23b0a29cabc45d2a93c2b4a883ece2ca43bda0253bcb942dcbcb9ab013ec8009a3b3e59debb87a544bd7822403cb5b9e1bdb977723c000000000000000069bbf1bd187aa03c0000000000000000365797bd80ec1c3c000000000000000001c683bdbb842e3c0000000000000000e21a29bd19bb9b3b0000000000000000362a1ebd8801d73b00000000000000002977e9bc6d1c9a3b0000000000000000898610bd643b193c00000000000000007ec9e6bc8c77a03b0000000000000000035fd2bab5f1443b424b2f3b431f563ce11655bbf6c3db3a538c643ca736ad3c8e4b7ebb43cf5d3b0fb4673cadc8a03c10b280bbb4c0a53bbb01443c01c5893c8a2676bbd46cd93bee65ed3b34bf3c3ca17a2cbb3cfe523b001cf13bde7c1f3ce1dc01bb8ebe303bd3a4573ba6e6f33bf6902e39048768baa5cced3aa887583bebb483396a21c3b76bd710bb7554863a46cfaebb016a063bd56facb9fc1cab3b73018bbbdd685a3b2f3a81bb6a095c3cd5b8febaa53e933a8039e3ba53f5313cb08d66bbc399803b3da060ba83221c3cc0066b3a2a650739fc007bbae5f7103cfd48063b5630473a8d13d2ba771b1e3cd5bb5b3bfb39d739c79102bb4305063caa51483bc6d90cb70b5f48bb33d6cf3b53a01e3b811d53baff0a33bb3c85cc3b735645bdeb6613bd9ab8d3bc83fa873b8e246abd0884bebd885a0bbd0adb023cfb2f7dbd01f1d1bd475cf2bc22eca53bef4269bdd7aabbbdeae1ecbc114f8c3a2fa540bd968a90bd6de1ccbc2d89ae3aa9900abd24776ebd4816d3bc2a36ee3aeae397bcab1918bdbf71c8bcdf86173b5b30f4ba1fff45bc1fdfa2bc0aa2743b4f32223b10070d3c114a36bcc8895e3b3c63d33be198febc3cafcb3d7775963f673efa3b84eae9bcfab29f3d3c9e903fc220e53bf043dabcaf708a3d84c5793f33aceb3b8557c8bcf455423da9b14d3f2a44ac3b1ddaa3bc310ad63cc8ab1d3facd1943b70c46abc0962b7b93ecbe33e6015003bea3ecebb5dfbc2bc1d878a3e43678aba4f0b853bbbf023bd8f31d43d1aa588397c10bb3b985458bde6c3afbcb176d3bd85834f3c00000000000000001738cbbd6eef883c000000000000000067e87dbddfdd233c0000000000000000aea91ebd0da4eb3b0000000000000000d4fea9bceaaf6a3b0000000000000000154182bcf6cc4f3b0000000000000000090380bc804b783b000000000000000027e4c5bc425cd33b0000000000000000ea41abbca3785d3b000000000000000000000000000000000000000000000000236e02bbfb057a3a8b2a523cd8aa5f3c0c1e16bb5326173b9be9613cccd44a3c346061bbdd454e3b8f503a3cb9f4013cc8322abb00116a3be0140e3ce20bb03b0ab3f1baaf27233b8959d23b804b773b10f039baa25c9735cb278e3ba2c5813b255f8638b23694390c748e3aa9cb0f3b0000000000000000000000000000000000000000000000000000000000000000b3854abbc315303b6e544abbe6ff5a3cd3d708bb1c921c3bbed54cbba097403c1386fcb9d015823a6f144ebab6752b3c24610739fad0dd3900a97bbad9c1133cb4e5023baf71453a133ab9ba277d083c90554a3b04b31b3aefcc01bb1be4f73b3a093d3b1a7831ba78e816bb9d1d9b3b0000000000000000000000000000000000000000000000000000000000000000f7213ebd4748d1bdef719fbcb35a003b9d482dbdd63ad0bda7399cbc51a9d13a0ebc20bd1e3ab3bd87a393bcae146e3aef1902bdc76493bd4ef08bbcb3d2153a66b1abbca19266bd29cc90bc4871133a05960bbc1c3520bd309194bc2c7c3d3aae9ef83aaa2a8cbcfa8075bcdb21643b000000000000000000000000000000000000000000000000000000000000803f8fc9423b0c66a2bba6163abde8b3963f2e97463bb38f94bb036215bd964d7c3fd970443b20a2cfbbe37205bde4454e3fa604293b8258a0bb25bb13bdd2761f3f60438b3a757dddba794027bd4c54e33e45db56bab4ad893bb6e333bda18d883eef7603bbdb62153c313b4abdcef2bf3d00000000000000000000000000000000000000000000000000000000000000007e8429bdd31bb23b0000000000000000ff0753bcf94b543b000000000000000062ae313bee8c3d3a0000000000000000f9b52d3c1b753d390000000000000000af53533c985b45b9000000000000000062c8033cca0dba3a00000000000000006c61f13994218a3a0000000000000000000000000000000000000000000000000000000000000000000000000000000020d5313b95cfee3ab7c1a0bb7f71283af1c2dc3a17833d3b2af0e4bb11e165b93b242b3be4fa0f3bf00cfabb557aa03add7f363b1c6bb13a0fdc09bcf78bf13a0737023b190dc33a9a04e7bb082dd53afb15f839164bff3afa89a9bbfbb4783a28207dba1aa5d03ab2bb20bb81b8a13a0000000000000000000000000000000000000000000000000000000000000000d8faa0ba5f389ebae865a03b5578fcbc0cd702ba823853ba6413b53b412eddbc64221d396a65cbbade14aa3b9f82c6bcac2ce93a27b132bba28aa93b2e52b5bc2693933a858640ba5938c23b469f91bc4e38313a9c43fcbad612b43b5e713ebc744f143a5ce6c1ba3453c53bb9f6f6bb00000000000000000000000000000000000000000000000000000000000000005e24f4bc722d0c3c9b601bbc46d4933a403b04bdd7cff23b9ee0bebb1a492a35f878febc0ec41b3c30fe9bbbf5e8f4b9dceedabcdacd243cc9558fbbfb2c12bbeea7bebc4e5b0e3cf09a21bb2027daba649498bc572db43b5df302bb6ee602baa8394dbcc8d7ac3b82cc04b9419abeb90000000000000000000000000000000000000000000000000000803f00000000ad1e2cbb4020d3bcddc7803f29b6a4baf63645ba86acadbc33235a3f78a90f3cea7736bb6916b8bcb920353f2fa87a3ce4391fbbb044aebcda490f3f71fd9d3cbad7dbbadb0bd4bcf3d3d43e9939a23c3e2b78b9b0aed7bc23398a3eb60d8e3cfe68093bbcc206bd7b12043ed97a913c0000000000000000000000000000000000000000000000000000000000000000fe4234bcadd8ae3b0000000000000000bf3c1fbc0123a23b0000000000000000018627bcc6d0583b0000000000000000b18326bce6796e3b0000000000000000b3da23bc5b68143b0000000000000000197616bc85c2393b00000000000000001b5f30bce25b5b3b00000000000000000000000000000000000000000000000076d46e3bd78d20b7c3aa22bc05c7c33b23de0d3a7101b53b848636bcafcc083b2370b73a7a389f3bdd0e27bcf1efbd3a8db2123b45a1893b3be541bc5d8be83a1268073b57ff753b39033ebc9548953acea4d83924f3913bd9c619bcb7e25e3a3230d0bac8b9963b410607bcd3dc113ac1e696bb0f72cc3b230381bb91e191ba216b04bb52d7273b65a983bbd8fee1395be92e3a2ae74abb5e48c03b868501bde6bf68ba657270bae4cf453cc07c15bd0852153ba6303cbbbcd93a3cb99b0cbdbbc83c3bb4e04fbb40ba303c886a00bd3949773b7ee266bb45c12b3ced4cd2bc892e783b39d690bbb534213cdb31a4bce2b07c3bbb0b3abb59eb2b3c334c65bc84b5cc3ab2ff03bbfdd50c3c859bd4bbd8a39b3bdb5c1ebb3999e83b01038abbaac78cbc24a4a73cd4666fbc7280473a259421bde8a7993cd18650bc30bba43ab16e35bd53108b3cf1301bbc5587b8ba7bed31bdca9d883c89f8e1bb6c5822bb8a9118bdc426833c71fd64bb79305abbc3ed0dbd56c5613c058813bbeb1545bbdbffebbcfc1c353ca77f26ba3bc123bb1348a4bc9901df3b2cb17739454296bae76128bcfa6a193c8fac173bbefd30bb41ea853a9d602fbd67de803f7fb4013eb746ce3b197e51bdffd46c3fea00fc3d8014733baa9239bd139d4a3fe678f83db808173b43692fbde1ea263f09e1e43da21fc83a5a5226bddea6023f00ffc93d3f864d3b9ebf30bd153bc13ebba2ae3d93f4c23befca34bded6d783e820b8b3d280e213cd96334bd429adf3d921d433d29aaf53b749712bd1356e8bb8715d73c6211d2bc7ff3ea3b00000000000000004717c8bcbe1ff93b0000000000000000bf9cbabcf335b03b0000000000000000eea9afbcde1c8d3b00000000000000001d449dbc2da6333b0000000000000000ec42a4bc3a37da3a0000000000000000309c94bcbf84443b0000000000000000b23688bc2cfc493b0000000000000000f98263bc3e408f37000000000000000018c33c3bd6d5123942ab59bc4375073c38f4b73a87f9793ba04385bce1c0c63bba4b173b0426493bb49466bc4fac983b8f574d3a9ccdd53bf68068bc05e7033bff9bc53a9a99623b32fc6abc94e9c33a4bfa7bb92f059f3b1ca561bc636a863928490e3ad001303bbef820bc444e293af87b84bb7178823ba117debb0507c9ba08381abb18bf413bc90bbabbbf6af0bae3872b3b87b091bb02ed383c1a8701bdca37343b47029abbca6e663c137d16bd636ab03bc6629dbba4832a3c0fa1febcd4bcc13b956aaabb2ca15b3cf704f8bca180083ca67bbcbb888f393c187ec1bc9938f63b6805a1bbe50c523c4237a2bcfba3003c454c82bb3a42103c8ab350bcc2ded93b08a296bb410b243c9e78efbb1be2be3b35b7d9ba1f3fe93b1ea222bbc84d93bc8f40f43c5f4781bc50fba4ba8ddd17bd3633f43c4f7d89bc923c01bb24d716bdff13b93cc3740cbcecbc96bbb20f3abd9e8dba3cc8c4d3bb56d9b9bb9d861bbd3d3da53c85bd0abb6105e1bbde541bbd8ee9933c4de94dbaa75ad5bb507ae3bc2da5713c1353353b184fd8bb3ef9c7bc646e533c4376543b8a06c0bb3a4a70bc0353323c1cf2cb3b5ae377bb8b7f273ba34f4ebd60205c3f92ad8b3e74990a3ce6f381bdbc724b3f48ed843e9f8d7e3b469b47bdb9f6293fc9986f3e1f00ba3b88275cbd5816103f42025a3ea75f863b2a813bbdc866df3ec7a8363e4828fb3ba32a4cbdcd50a53e0a071b3e4e92de3bb4642fbd9243523e2550e03df990593cac683cbd0104ba3da311a23dee64353c56670bbd57fb24bc40af0f3d19200cbd46f5f33b0000000000000000630a24bd79c40c3c0000000000000000ceb0fcbcfc255a3b000000000000000039b9ffbc7689563b00000000000000009e33c3bcd2ba2eb900000000000000008f98d7bc3e1eaf3a000000000000000000fea7bc2e1d2cba00000000000000008394b6bc6192143a0000000000000000409882bce4d23ebb0000000000000000c9be5b3b36b914b9f22e84bceb0e393ce34a3f3af44e9d3b40889abceda4d83b515bd03a4eb89d3b555193bc450c893bf977853a04f3b53b15308bbc264cc63a459f95394de7ae3badfe87bc86ee47b98caf99ba4c549e3b2a8a5dbcd10e18ba5d1ed3ba5e0fbb3b0f9238bc903218bbce4796bb9391b33bc6b312bc62ba6ebb2ed1a5bac85b593b91e104bc5d4e22bb1af4e53bba6eeabb9c831a3cb6f4e1bc45aca63b88cbccbbc3ac713c8d2804bde252ed3b807dd5bbb399633c014df9bc93a1ff3bda3203bc93a65e3cda13d7bcac521c3c2283c5bb7a4b563cbbc2a5bc54300f3ce974bcbb8e70513c413c82bc288e1d3c737ab0bbcabe243c12b933bc8785153c58618fbb43491d3c828790bbe92d153cc2f557bbbc61e13bd2c752bbd7a799bcdfe90b3dcb815cbcb15da4bb5cba1bbdae620d3de08683bce28c95bbd63c45bdec45e93c874a37bc71e0cabbfd9134bd3d76b93c6de91cbbdb28f4bbd1cf30bd4cbfb13c77f4ad3999a00fbcca8422bda95b933c69f2243bab660fbcb83f0cbd08ad873c2a69a83bc5be0ebc4786e1bc9d2d703c0c4eea3ba2fe09bc58d98dbc75425c3c6e27073c240ef7bbac21df3ae62b4bbdfbab353f5561d63e2652183c06a782bdf9b0273f6f0ccb3e06e3fe3b42206cbdd247103fe4f1b73e1630f93b22b760bdbbf2ec3e67979f3e5e57e83ba7544cbdee97b83ed363863ed1b61c3c20b74cbd0b84863e6662593efc3c3c3c23e240bd7737283e81e4223e20f36c3ca21f32bdbc428d3d9d63d63d747c273c459701bd288c49bcbbb32c3dea9726bd8918863b0000000000000000deed47bdbaa0e93b0000000000000000c19d2ebd88766e3b0000000000000000c89e17bd6cc9073a000000000000000004a2fbbc2973dfba000000000000000005e9e7bc3fb216ba0000000000000000f18acdbc2cc61ebb0000000000000000d577c1bcd78026bb0000000000000000067a6ebcebeebcbb000000000000000025c4623b7a3f8838858d8cbcbfe31e3c3bb0bf3a6c61873b58709dbcb3c5d83b6e3e8a39cb06973b01828bbc72f96a3bffa86d3a4214bd3b74398fbc88cc443acd09e03901aba33b740c7ebccab34eb9fa9264b91cd1963b8a1d72bc5c8759bb40d124bbb27baa3b5b5c26bcde9850bb2db34abbfb50b93b61cd2cbcb8f784bbbb444ebba1cca33b9f2813bc6f0e96bbd497003c8c14debb82c81d3ce349cfbcc88cde3bfbd7f7bb5a14553c5d03e1bc2b89193c74f8eabb9d33313c7cd2b0bce6b4233c3706dfbbecd24f3cbcc5acbc45462b3c8e18a2bb31200a3cad6b73bcc6a5383ce003c6bb9e153d3c24bc58bccd6d263c635faebb6d87063cd20dd1bb2c852c3ce25297bb9c14053ce3a95cbb8e921a3c44a054bb7a82f33b0df456b9e05bb6bc3a0b173d10a06fbc5167e5bbb8241fbd0891073dcd5d5dbc8bd8ffbbd63f26bd8087c93c06c2a6bb9c7501bc528441bde8e0a83ccbca88baabec22bc12f40bbda586863c96f3903b88f727bc8df329bd2e09853cc3e4c23b1cdd33bc961703bd927b4d3c6585f03b4c9d31bca34de1bca643673c9f4d143c878e23bc890f94bc06b4503c04e7363cbe7710bcdfbf4d3b0b4f40bdfc15103f60ae103fb8c10b3ce72d6abde709033fbfae073fe81d023cdda64fbd5605df3e45f1ed3ea4600f3ca83154bd3f01b93ea503d23ee11aa73bb82127bd53ee8c3eeb62a53e2b3e3a3c6d1a3fbd19f94e3ef7e2893e7829233cd92021bd0297fc3d4685413e956c4c3c241415bdbe903f3dbec0f93d4e72173ca934e7bc701e91bc9c22323d598c3fbd8c64773b0000000000000000381853bd41589c3b0000000000000000a89a2abd75278c3a00000000000000001e8a1cbdc17438ba0000000000000000386ebcbc1cdf9cbb0000000000000000b573dbbca383b6bb00000000000000006c98acbc6445bebb0000000000000000559aa2bceca9d2bb0000000000000000e51b53bc5e7b07bc0000000000000000dbd4d03aada4073bd49c85bcc0a7003c1f51e9baaa24d43b21f491bc5dcb733b65777dba72dcdf3bf26885bcccb66d3a562c18bb953af53b538061bc2b9902bbf7f245ba75f9e13b63f66ebca58054bb731f5abbaeb0ce3b089347bc97adc7bb0cec58bb945ad73b996720bc18d3cebb2253a2bb06fdc63bf832f5bb540bb9bb4299f9ba26a5753b1981febb244494bb3d9de63bc3afd3bb2b11103c7a79a5bcc6e5f03b5997e6bb65fb563c35b9a9bc28eb083c25e3e4bbc8dc363cca4093bc971a103cd31dcebb94482e3c2a2b67bc8cd62f3c2393e9bb1733213c27c63cbccb833c3c718092bb05d71c3cc941b2bb6d97373cab98c3bbdce3f63bd1a086bba713163c8fd69cbb1229bf3b056ece3a059b2f3c831f7ebb0cd6aa3b10033a3ab610dabcdc43023dcaa247bc9ef00cbc549138bd6f3cda3c1bf358bc555a08bc2e1949bd81a6833c8063c2bb3c3424bcad0248bd71612e3c961f3b35fccb29bc810236bda715273c828ab03b23052abccd782abdf13c003c7542cc3bece139bc8b9d11bd95a8073c4419193c265f1fbc7052e8bc603f263cc25d123c5f3327bc1ec99dbc38be283cd239363cc48cf3bb0922943b551b2bbd7e91d43eb5ae363f9349383cae4757bdb74ec03eeff82b3f382b2d3ceefe44bd93f3a33efac7173feea52d3c44243bbd2f93853e8c3d013f15d11b3cfc5729bd73c14c3e8ff5d23e4aa6433c05ca1abdb88d0e3e0aefa43e79414c3ccd9f09bddcf09d3d7b0f6b3e5c12563ce6adf9bc6737a93cbbbf0b3e612f1d3c56ccb3bcb504c6bcc5b81f3d75ea45bde2d40b3b00000000000000004e2f69bd237ca23b0000000000000000a56338bd9a110e3a0000000000000000af1811bdc7b917bb00000000000000005c91e5bc6262ccbb0000000000000000a19ac0bcc802dabb0000000000000000c8b4acbc83b5cfbb0000000000000000345195bc6d7cfcbb0000000000000000788b34bc17511abc0000000000000000503138babb45af3ba52f65bc6ff6a83b69cc44bb368bfb3b1a3b55bc0051c23a242b6fba3e79e03b68c82dbcfa779dbafa6c10bb837e063c72ec32bc5a8792bb742f06bb9a57c73bb5411fbcb8abafbbd2f656bbb6ade63bbd060abcbc3cd2bb735617bb4333a23bcecfe1bb36f0a8bbcd5e82bb33efa53b34ac6fbb6ad3ccbbccfd6ebbf137e43b14dbabbb1468aabb1288b53b8ba7bfbb3574e23baf4d49bc0d6bb53b1a23b2bb446a143c26a24dbc26f9ec3b48e89bbbdbbdc93baeb231bca13c043cbfb9b2bb4bc0e93b72a4fbbb33710a3c0057b1bba60ed63bd0469fbbee240d3c14d593bb5e90ca3bc87b04bb3986093c38c33bbb247a9e3b41329eb952e0ff3b1cc25dbbe9f8213b8a93723bd3c7db3be0a70ebb4445e53a4e45453b849200bd87b8b03c480636bce8ef00bcb2583fbd2c62383c9f9330bcf78804bcddc02ebd72452d3b5387ecba1dfa12bc2a5243bd4546e9ba1dd4083ba0412dbcbdd623bdb6dc53ba3681c63bd8af19bcc1051dbd833c01bb32b0f43b8a102bbc26f7ecbc3ab1fe396156083c982a06bc99cdd0bc9e365e3b2bac073c15991cbc91f18abcaa53e13b8d40033c8f93d2bbfdd9b73b47ea0dbd1e0e8a3efa4b5c3f5e81383c874f2abd021d753e4c954e3f5e7ff13bd79d07bda0154f3e8bd12e3f139a2d3c41a812bd1a86253e7b38183f8b58193ce3dbfabc41c4f63ded78f13e620a2c3ccb58f3bc03eea03da1e8bb3ef649093cf001c7bc328f2a3d18a57c3e76f1303c14bdabbcba6f4dbba952123e0a41e63be33975bc85c5ebbccb1f023de8bc47bd3d52273b00000000000000009d9059bdd42c7f3b00000000000000004ca805bdc9012fbb000000000000000012d1ebbc7c0a70bb0000000000000000968398bcfdf9d1bb00000000000000000bad80bc514c0abc0000000000000000ca9e28bc277f0bbc000000000000000002e94dbc3696fbbb0000000000000000e69f0bbce2ba11bc0000000000000000465206bbdcae9a3bc3821abc739e073a731089bbbe4e0b3c11e79dbb842534bb496e52bb93eae53b4bc1a5bb82147bbbb21652bbedc3e23babfb99bbcc3fc8bb3a505ebbe03fd53bfacf9fbbf1aae5bb7ab86abba514cd3bec3b60bb19e2e9bbe69e2bbb734b9e3bbab422bbd2f3c4bbbe0547bb9add683ba3ab46bae236aebbb38317bb586d763b16f56bb93044abbb4458833bcb4574bb2d10b43bf8b0bfbb1f5c3c3b62e261bb7e5e803b4e335ebbba76523bf91c5fbb7ab5723b40dc3cbba7db8f3b460655bb7d7e923b87000dba5522ac3b5eb02fbbcdd3863bb18668b89c5fb53b2a6415bb3f52403b7662213b8182a53b44b247bb0b9a8c3a0899a03b9c0ba93ba3dc3ebb0c35bdba8df3fc3b6dc6ae3b421137baf13028ba26aea73b46980ebd543bbc3b8d54d6bbe87601bc7fcf3cbdcd7744bc2c19e1bbe884e2bbdd783fbdc099a6bc2c11aaba5cf0fabb021e27bd939ca9bc748a803bc0f105bcc81612bda3328dbc7a24de3b0becf6bb25cf04bde6177ebc3e0fe03bb162f2bb9619d3bc666d3dbc2488ad3b4461f1bb737c8abc8795d6bbd2c9703b2775d4bb38a35cbcbc62fc3ab8e7df3b405eadbb4360e03bc3a4c1bc0b7efc3d46e6803f3911193c696bccbc94d4d73d912a6e3f44bb223c4ab6b7bc5277b23db9d24d3f4809053c5c3fadbc0e45893dfc2a2b3f508cfe3b49309cbcc958393d6491073f83d5043ccb8490bc808fad3cbd87cd3eb53ce13b1e5b6dbc252aafbab9088a3e5c68ca3b3b201dbc253ec6bcf4860d3edecb963b7891aabbb90d12bdd55e8c3c4fcf28bd72f4bab90000000000000000e4a623bdf715ee3a0000000000000000cf29c5bcd11253bb0000000000000000616756bc6e66b0bb0000000000000000391fabbbbe7608bc00000000000000004cb623bb605009bc0000000000000000951d33bb506920bc0000000000000000a135babb1c80ddbb00000000000000007b1cd4ba3ddd0abc000000000000000000000000000000000000000000000000c0a924bbc251d33b0ef98abaf784c8bb04de4abbd4fcc53b3d6caf39099fd5bb22832abb3f92a23bf754b3390d92ffbb08bfbfba3f83963b2c780abbdc4611bc59862bbbcb718f3bc6fab9b81477f7bbcf0229bbfb4f803bd03e053a4306c7bbc76bf2bab0e9cb3af1ab0e3be82e77bb0000000000000000000000000000000000000000000000000000000000000000c7111e3959f090babf554b3a2365963a9336fcb9b484453a442aa73a889c053bfe4f773a1a2016ba82c3ed3a8f39013b8f79253b97b0ef3976fc453a4ff15d3b9981d43a905593b9f7b14c3aadb5813b6677733af9e49c396e1c1eba504ac03bf2ec273a467ec5396fb5abba7971e53b00000000000000000000000000000000000000000000000000000000000000009f1812bdf6a7cebcef440eba1f2496bb009cfbbc0c6eebbc2595e63a455382bb57b7eebc00cde0bc82e8b03b7ab188bb4327d3bcd575c7bced1eed3b275890bbd5efabbce8e7aabc8166c83b65187ebb37e47abc72a888bc1ade9a3bb5eef7bac88226bce1564dbc9774933b446a02bb000000000000000000000000000000000000000000000000000000000000803f9c95c53b58e41fbc77817bbcbf01813f4028b33b975108bc6f905fbcb39d5a3fceffb73b42d118bc708284bc0ae7353f8f4fb43b8e1befbb45609ebc4569103f87e3963b9b70e3bbd7bfbcbc47e6d63e54db6e3bea7fb7bb05e5d8bc0eb78c3ef39b2b3bab0b10bb98bc0dbd3c3e0a3e00000000000000000000000000000000000000000000000000000000000000002dba77bc5fb44bbb0000000000000000808f89bafe8098bb00000000000000001b957f3bbc83d0bb0000000000000000e218093c98830abc0000000000000000efbb213cec44d8bb0000000000000000f742133c9521d6bb0000000000000000f7bcf13b242cc1bb00000000000000000000000000000000000000000000000000000000000000000000000000000000be01c3bb991bfa3a376b323d5bf2dc3bc1e971bbc3188b3bb0c6223d12d73a3c3ddad1ba3a78c33b6b650b3d7eb43a3c75306b3aa39a863b79a7d73ccb41293cac8c733ab3bf733b424e8f3cc48f203cfadbdb3afe69a83a2334343ce39cbe3b0391293b68b802398767203b2b2a993a00000000000000000000000000000000000000000000000000000000000000003ac05dbba11f97bab2ada0b9324f6d3cc582f7bab9350bbbab2a3abbe8b8223c55a4d4390a6336bb4ecd15bb9c14efba340b333afa645abb727754bbded791bb80ae5ab7ea6cc8ba96f79dbb946b3abb61a1573a31b4d6bac7b1c9bbc6e817bb4287d83a4d54a7ba3141dbbb3c76b6ba0000000000000000000000000000000000000000000000000000000000000000007d5fbed4b114bcab96113c2edc903a5b2556be03259ebc2f92fe3b3541a8bac6b140be965ce4bcab16783b4458ec3a85fe18bef1c9f3bc1c1fa03ba0610e3b6a6ed8bd46fab0bc686fe63ac6bf1a3aedf270bdf08683bc9318463a8db4f13aec5a3ebc160cb3bb1cbd8a39e39f603a0000000000000000000000000000000000000000000000000000803f000000006b24a83c3cccfebdd264ad3ff2bfd4bd6dd7803cd184b4bdbf4b8f3f8cf854bd4032413c0a318dbdbe7d6c3fc4cfbebcf92c163cc61055bd9e7c303ff5facbbbd5ccdf3b154805bd9f7fe73e29b4e83a3491983b5d031fbcc0ca663ed9991e3cdb2a173b2126943bdd2c393c0ce3793b0000000000000000000000000000000000000000000000000000000000000000cc3a7a3cf76de7bb0000000000000000ac28ec3b6a0271bb0000000000000000f59a523b83ff90bb0000000000000000306d303b0bcbadbb00000000000000008be361b99cba2ebb00000000000000000e7b123b11976bbb0000000000000000f921803b6cf063bb00000000000000000000000000000000000000000000000020180dbcba0cc93a84bcb33ca1441d3b48b608bcde82debabdf1293ddacb1e3c7322e0bb176b313b2e55373d59b75a3cd82184bb9969ba3bb94e1c3dc045883c738a2bbb14c0ad3be1ebea3cc2ad703c627580b920a18b3bedd7a53c10cc333c06de6439f7b1543b1c1d343ce345e33bd4b54c3ad8cb3a3b8d82343b165d773a72e436ba40a23039b95578bbd7d293bad8b45dbb6cdbbb396c5d173bb0126d3c83b4a1bb6ae113bb6989cebbd315223d94212abbaa1b4ebbe21d10bb7ad7a83c6fc64dbbae3760bb237a69bbb7fd423c5f4813ba958f38bb3936b7bb3315e93bd092153a58be32bbb233d5bb10e11e3b33dba23a8b717abbd58df1bb60078ebaf559bf3a052900bbb3b3f4bbf4c3aebb4b2f5e3ace0148ba5218b3bb0254453ba0ba09becd14323c119706bb5bed853afba555bef8c8273bf99767bb7ab37c3bb2f266be0b89b6bc1164c4b869f4943b4c3852be644a03bd5e72803ae9fd923b0b9123be933a08bd0e3710bb6b943d3bc1f2e6bd4888e4bc327e12bb02fc6d3be6ca70bdfb1297bcf25a42bb39a6703bec9e46bc35b4d5bbd93930bbf894153b7745963ca852833b771c54ba883aa23929622d3ddd3355bef2caac3f7178753c3de8393d3be74bbe2cfb9d3f230f123de4a80c3d0cdb25beaadd8c3fcf157b3dfbdbe33c5abe02bea663643f3ac09c3dd897b23c7f13bbbd4eed263fdc64a93d238d8a3c71fd61bd6ae8d43e4d41933d10bb343cf8aaabbc7f08433edabf753dff3ca239e68f953c1f15d73b4e19343d961a283bb1fd403c0c54ffbdf41ec63be0de83bc3dfc893b00000000000000009bcf85bc6cb02f3b000000000000000019d9b2bc083fb33a00000000000000007659b5bcc917a53a00000000000000007986abbc3185f73a0000000000000000c0a590bc11018c3a000000000000000035f07bbc98ec923a00000000000000001e6d4cbc6c6bf13a00000000000000008480b3bbe1334a3a00000000000000001d4bf4bb496e093beba33f3c88a9c13bc3d719bc90d1723b93feee3c939d4b3cb6e3cdbb7ffed33b9f3cfe3c6768a03cb439abbb2c87e53bd874e93cf5ee983c305387bade6f983bb88ba53cef847e3c2ef22dbb6979a73bbee5853c2562453c8a142bba35926d3b5e4fb93b561ff53b45f5b2bad1511f3b48caf73a5c252e3baa8080ba931aa73af25449bb9ac82bbbcf1947bb4483a7ba00e24b3b2135413c66d4b8ba64f01fbbe2ecdbb9e09aaf3ce1790a392d1c8ebbcea832ba8423453cdd2d473a860c8bbb66e131bb8520313c4a98753b01548abb231787bba78f573bddb7033b5dc27cbb175bd4bbec24b53b41a5623bf1f828bb6bd5d8bb4839073bbfe2483b4e6f31bb6f91f5bbd8c8ea3adcbce33a2d20a8badc02dabbc595613bfeccc5bd4a3e563c4fcb6ebc3ee2bf3bd9a631be854997bc72530ebc6474a83b55a13ebee25e39bd01460ebcac420b3c59982fbe888346bd79290cbc0584c73bdeb904be08563fbd64eb31bca455fa3b7c19c3bd0b531fbd6fbe12bca037d03ba11947bdd8f3d5bc4a41febbe6fe843b63f454bce82d20bcceaea2bbf14e363b4139373ccbc2ba3b15c400bb3df68e3a84cf303d50dd52bee1068f3fbfe06a3e9b4c4a3d8f2f5fbe44e18c3f1572713eaedb1d3dffa734bead7b743f65407b3e9d27073df90911be6fda443fbcf1683e5e35cf3cd52bcebd6a7a0d3fde884e3e3be5a63ccfcb88bd2e6db33e5e03293e0c387e3c6c5e13bd4b01243ece72e93dd068d73ba4ffb3ba895c0e3b53bf7f3d1d3fb73bea74043ce117b9bd4361483ce60081bde7f9713c0000000000000000446b8dbd3a38843c0000000000000000ca4286bdacce383c0000000000000000234f6ebdbf68253c0000000000000000f2f63ebd80bde33b0000000000000000c45734bd5561e13b00000000000000003c8e01bd8239d43b00000000000000005fcabfbc448ebb3b00000000000000008ce187bc6bdac43b000000000000000035ecb9bb872c573b5c78fc3bd1d4103cab6700bc6c74963b59c8a93c5e66983c7d0faebb1f8a8d3bdac6c33c05bdc43cb28a86bb76d3c73b066bae3ca132b43c71ea3fbb7fbb043c67d77c3c1584983c7e4e03bbc65bb43b3fb03d3caae35b3cc2c18fbac015883b0669bd3b0bb8063c3ce9edbad181683b2c743c3af54c973a6a727dba25b1753a8b380ebb8ea0edba57fc12bb595846ba94159e3b14dbc4b9d72c68ba7c686abbb2b1e33a8fce563c10fb3d3ae99f9cbb1aedeabaec544f3c38d5353b81d178bb16a3f7ba4c6b863b1d3baa3beb769ebb258f93bb7feeb23b29aac53bc5bfa4bba629b9bb7a3ed93a5dd9823b41fb8cbb07cee0bb22e7bd3afbfd8d3b5eee80bbe7bcf1bb0cc94c3b02d8b73a180910bb685037bb612e463bc901a0bd7d97943b13f5bcbc122ffe3b0cbf0ebe19f42ebd38e38cbc6203233cc0241abefbee88bd89f087bc8288313cb4aa09be05a995bd633090bc827d3a3c8f24e3bdfaac8bbd956d9cbcf1571c3c471498bd308c54bdd1c57fbca775143cb93e26bda6d408bdba6d30bc7f96b53bc5884bbc8f823dbcbf5eb8bb8798543b4caab83b5317fb3b700571bb4f1b093b6ef5183dc7ed3fbeafa16c3f8563ea3e7c443c3d6cd54cbe82b5643ff661f03ef23c1d3d0ca229becefb443fdeace63e4130013d53bd02be63d21b3f0504cf3e7d67c03c918bc2bdcd05e13e6676af3e7fabad3c5ff881bd7d8e8b3ed73b833e8e66803c86e107bd2fd5f53d1289293ef384183c4a1e16bc86e5313b0d869e3db6d3bb3bef7549bbbe5094bd3ba1f33b764beabd5b36cc3c00000000000000004879f8bdbb4ada3c0000000000000000f9cde1bd7c6db03c0000000000000000c29ebdbd530c7c3c00000000000000009b92a2bd653c6f3c0000000000000000819380bd1333513c000000000000000087384fbd4d793d3c0000000000000000943a0dbd64163a3c0000000000000000591dd2bc3549173c0000000000000000a1d080bbfb274f3a5c53833b59083a3ca72a9fbb01093b3b4366653c2fc0b23cbdc996bb94cbc53bf2b3763c8bb6ce3c65ec57bb1ec3b83b99c0803cc36dd03c8584acba796daf3bb45b073c95319a3c2b52ccba18ddbb3ba14a123cef6c603caf94babaf5c46b3b35493b3b87f0e93bfc1aefba616c8b3bc7167b395d3b173b7adae6ba2ac8c73a39d70fbb44643cbb702082bbfe99cabaa699be3b43d15cbbef4af73aa65c91bb90455a3a04c6f13b3eb9973b26deabbb7c92b337f19a823ba171bf3bd50aacbbe038c3ba2fbc993bdff08e3bc5294abb71fc03bb330ef0bade25033c293baabb7b826bbb23e3ea39a6ba9f3b45bb36bbcf3a3fbbc1f7e6ba3930ab3bb0d69bbbcbec88bb48faa1bab72caa3ad6aef5ba8e9c1bbbcbf3a33a25c573bdb884f4bbabd2dfbc615a593c39cecdbdb3a18cbd1ab8bfbc8a40523cf4ccdebd7f48c1bd40c5c1bc6b8d4a3c42efd2bd7eadd4bd5711bfbcfb32463cf4909abdd2d090bd3cfdc6bc22c7093c87ba70bdc1448dbda27a90bcb319fb3be7fefbbcae6b1cbde5a653bcc334c73b885b18bcb1784dbc1dfbddbb21883f3b4ef2d73bdc23e43b03b924392a201e3a32e4013d092b1dbed26e313f679f323f8319153d8b3821be00c8273f3b5d353f2779e63cc17500befbd40e3f0e41273fea39e03c0ac5d5bdbd3be23ed5e6143faeae9c3c140795bd76b09e3e0065e33eaa48943ce97159bd7dd7473e13a5ae3ee46a653c8d5ffabceae9b53da94e503e7074013cccc22bbce074593a8d37a93ddec4ed3bed51aabb3ece69bd9efd72bb773a22bef7a3023d00000000000000004f5a29be77280e3d00000000000000009e340cbefb71cd3c0000000000000000948e00becf1ac93c000000000000000058c9a8bd6f087f3c000000000000000043e8a8bd96ff913c0000000000000000f46666bdea3d663c00000000000000009e2329bdac9f6c3c0000000000000000493207bdb7c2613c00000000000000005ed908bb445e363aa87d043b4685633c0aca37bbccb32139be39143c062dd03cf2e273bb6369893b41b64c3cf1d0013dac62e5ba939a8d3bb0ae383cc9c8e13c946320bb84f0c93b4650213c7099bc3cb59fe9ba15008b3b5c7fac3b26c98f3c9831fbba0742d13b1811523b1d780e3c856800bb135e873bf7d3493950ea033b7637a5ba29c7e93a6758efbab9f1e9ba82c949ba3fe46bbbf07d0b3bbd964dbb5d849a3b25cab5bb9ddbbeb8cc2a8d3b7e30fb3bea9bd7bbbf0119bb10e87f3b8e180a3ce0dcd1bbcd5520bbd3032c3ac319243cb3f5c9bb440f72bbf35f713a0b5ef03b40589dbb905e05bb7f6dceb9bae8f03bbd9ca7bbdd6542bb74d854bb0c04923b9e859fbb514217bb64d4a5bafd99703986f0f2ba434399ba84e62c3a1ef41abdf028e8bc49bcdfbc9d0b503cf9757dbdbc5ad8bd0d8cb9bc0eac6d3ccb1d98bd9ddf0abe45afc5bccd7c693c12a58cbd60a702bed0f4cfbcb719563c42fd74bde340e6bd52b6d0bcc6b1553c594729bdd10aa7bd1cbea2bcfd270e3c731cd1bccf3a46bda94f43bcca8dac3bbf2e2fbc3b8170bc902080bbc355503b6e3d0e3ba328253c4ad91638668a513a5f29c23c2402e0bd0db3e83e9cd96c3f004dde3c8665e3bda3a2d53ec537703f3965cd3cca02bbbd3933b53efac05c3f5b639c3cc6b590bdaa8a8c3e52643a3f04dd933c5fa35cbd5c31483e2864143fe9e65a3cab0015bd7ecbf83da6a3cd3ecc143c3cb9d2bdbcc546753d0f9b6b3ecf04d73b9d1c2bbc142ed83be314a13d9e49523bed9248bb214817bd31efaebcfa3741be27861b3d0000000000000000615352bece08333d0000000000000000716131be30b00d3d00000000000000006aa20ebe9e00d43c00000000000000002010e9bdec80c33c0000000000000000971caabda5359e3c00000000000000004e497dbdc91a8d3c0000000000000000664430bd62db843c0000000000000000c31708bdae3b6b3c0000000000000000fe6f7bbacb91a0ba95c105b9a4a3833ca36e88ba40dec2395ef8523bdb94023de84cd4baf52a8d3ac3da133cc02b123d2d9ce0ba5eff8d3b9ac6fe3ba2890b3d4326bbba8aeb733bb195ea3b4669c13ca75454bb20d2ca3b2adebe3b614ea03ce0eb2dba2b8b5d3befdc083b05fc1e3cc1b8e2ba40f4633bbe78043b51893c3bddc25fbacde6de3abf928fbaedc094bb1b3819b872a364bb44ed6a3a73a7d8ba68e2ef3bf72200bcd56610bbf8d6dbb865d01e3ccaebfdbb8f310abb8efdf23a38d0313c9359edbba03626bbe257f9ba0c3d263c4439a4bb23193fbbfb7cb5bab3651e3c80d8cdbbd2f7a3ba588e59bbd78cce3b2eb470bb9c631dbb16014dbbcd848c3b72e85bbbd9075dbadb8004bbb1b3163b674f52bbb2961ab9c15b09bafcd143bc8f6272bd9dcc94bc78bf403ce079c5bc952317bef7a380bcb3905f3cf71023bde3a22bbe57b5bfbcae436d3cb3191cbd55c029beb5b0cdbc11e94b3c58ba09bd24a804bef189bbbcc646183cc59ae5bc5e51ccbd4cde8bbc9e4ff03bf69b89bc55e65abd197130bcd151273b2be514bc2a4e90bcf94c41bb776607bad478923ab219403c7107a93a95cc3e3ae592643cc5b97abd5143673e0fd08f3f7ec08b3c52f46ebdd921453ed61b913fd5cf6d3c691b48bdfc03293e49fa813f7695583c2bae0fbd74cbfc3d42b55c3f6932243c6e4ee3bcdd48ba3d1bc6263f36581d3c5d78a8bc25267b3dc07ae63e597ce73b1ce640bc82daf53c5e19783ec5d58c3b9aa519bc2049543c6e117b3d56236d3a342260bbc85a4fbc30b746bde3c757be8fa1333d0000000000000000f9ee5cbe7c873b3d0000000000000000c85c2fbeeaeb073d0000000000000000c41d12bef48dec3c00000000000000009bf3cebddfc7b03c00000000000000005c27a5bdb8fda13c000000000000000082805bbdf97d973c0000000000000000c878f2bc1e315e3c0000000000000000bbc4cdbc2920653c0000000000000000bfa80e3be20681bbbf31f9baba8abe3c0fa51b3a9fbe99ba924d48bbebfc2e3dbe61c8b9e8b2c739f983e93a19fc383d2f6487bab765e03adcbabd3bf9c7293d20aed6baecf6723b9b56a53b9ef8fc3cb5c8abba0878ac3bb389733b8014b53c3fc2e5ba6e6b8c3bddb3173baf064d3c1a8107bbbaab783b63bc1d3bf4ae323b06684cbae7e1c33ae9ab9fba976c35bb97afe03a3a6ebdbbcb9984ba07bf96ba5d4bd63bcbd817bcd01b56b9fdebfabb0ef12a3c35bd00bc933f35bbd25412bbfed7463c0ebff3bb4c65f7ba63015cbbb9d4423c082dbebb9f74e1baa7fe87bbfee0263cd224b5bb751f30bae189b5bb0b3bd43bf06588bb96113a3a9463cdbb48b4273b32a118bbe53f073bf79a90bb25996abaa7af89bab4220b3b8d402cbb71df783b3a4deabd7de1d3bb9771233cccb9863c196247bed874983be446003cef50f7ba16a05fbe31ef43bc68082a3cee0f48bcd5974ebeebce9fbcb388313cea124fbc29cb23beb875afbcdfa3f83bc22640bc9294efbdf9e47ebc8ca0a63b0e563dbc3f1c81bde67d16bc5b572b3b1f2f41bc3f5a7abcbe10e9ba874ee2badc89edb93a67993ce8c2683b9f6da1ba720ba13b53c861bc534a8d3c6bcdac3fea1e963b8fb112bcf1541f3cdcee9f3f966dce3b934219bc4db30a3cc41c913f729cc33bb9a3f2bbf5a3023c17e86f3f6c95c43bde0bd4bb43ea983be2e3343f05ce923b95ebadbb7553173cbcf9ee3ea9af923be6aa88bb9266763cd8ba6f3e556b4f3b65dc2cbcfdd3fa3c918f123da9bfcbb9bec0dfbacc606b3bc1a3d8bd332d58be46f3293d0000000000000000a56543bec59d233d0000000000000000e0ec17be6504d93c0000000000000000f9ece2bdacc5a23c0000000000000000aa879abdfc54753c0000000000000000ecab50bdd3344c3c0000000000000000b9f5e9bc0350173c0000000000000000a11688bb4995e93b0000000000000000113f4abcd8dc063c000000000000000000000000000000000000000000000000c4d2e03ae7338bbbd6517d3a00ce2e3daf26a03968fbc9b9c4e28a3b211b213d79d3cbbab8bbd63a5a9dd93b0e49033d58ff33ba38ad4e3b2ccc443b400bd23c2d3f65ba2726293becb6573bccca963c6d914eba79d2663bb876363a28a4433c045f41ba2117363b2f443739145ae93a0000000000000000000000000000000000000000000000000000000000000000d77b013cc7fdc6bb994a3abba2c9d53a39214a3c773ab1bb5b6ae0bac93101bb218d4a3ce37174bbef3e4abaaaf447ba0af66b3cdfe138bb416c5cb99e9240bbdb83f63bf4e9c1ba0dbbaeb9447c81bb4ea5c93bdd684eba1a53fe3a4e8cd0bba9c7393b218d92ba1b23173b22aec2bb000000000000000000000000000000000000000000000000000000000000000087c5583ce41e61be8af948bb8c34943b94cae13b79dc58be881d6cbcc1dfb73be1218abb750e42be3331b8bc5fad333bfe46b9bb6f2a1ebe00e2bfbc2cd88b3a08a183bb452edebdce8f98bcca9409b9375151bbf8ca7ebda35538bc681694bab2d206bbd3ef4abc04bf13bbe8eaddba000000000000000000000000000000000000000000000000000000000000803f3f4004bba0cfa13c1f49f4bdcc10ad3f2e849dba42c1773c45ccabbd154f8f3f51ab193af5773b3cee5f88bd80246d3f22868f3ac5b6183c4d284fbdedaa313f3a5c4b3aef51173c5a060bbdb111e83e46bdda39f4b5733b8f760abcb661673ec46ff3391a17573b770d853b9b6c073c0000000000000000000000000000000000000000000000000000000000000000b16cdfbdf4908b3c0000000000000000cf9c6dbd87b90b3c00000000000000009f6506bdc6acb43b0000000000000000ce9e56bc43b3ad3b000000000000000002acd9babe38563b0000000000000000615dda3b3488eb3a0000000000000000960ca13bbd79dd3a0000000000000000000000000000000000000000000000000000000000000000000000000000000075a626bb1a806abb185a2a3d39a1d73b246bf3ba1dbb92bb36e92a3d997c433ccd14abba9ae1103af9e6063d6a3b3f3c535068ba58010039550ddd3cac965b3c152f603a55e6efbabcd59c3c5e942f3cd5db9c3acdbb01bb51282e3cb05b0c3cd17a353b6f13f0baf6b6cc3a910d8d3b00000000000000000000000000000000000000000000000000000000000000002e2caeba19c6c6ba8211dcbbdfafd03c206734baf0da27bbf95cb8bb0fd0d03c89f658372f8bb7ba37e5a9bbbbd7833cebb526bb3cfe03bbb3b68bbbbd2b673c07ee94baa1a581ba9ce990bbfbc6423c05a3e0b903aa39bae09e84bba4f6093c02515fbab499d2b9719c9fbb27d8803b000000000000000000000000000000000000000000000000000000000000000074f256be3cc8a2bccbd9493c28ad0abb9fe155be5caff6bcca3a103cabeb3a3a8e1a3ebe7a800abda1199f3bf8a7133ab0a01bbee58714bdec1bb03bf0630a3ba1bdddbd23e400bdce918e3bc930893a5b7f7dbdb99bbabc96981d3b07e90a3a21ac47bc3d2f3bbc9fdd863b6810f2b90000000000000000000000000000000000000000000000000000803f00000000a08fa13cf1da00be8250ab3ffb5fb2bd0f96813c16bacbbd0ca68e3f7dd606bd329c433ce576b1bd861e6a3f307a61bba6002b3cd20999bd6650303ff1304f3c791fee3be98f61bd8a76ea3e44e4a63c7884013b21e7d9bcde85703e8a3c793ce21891bae20d7fbb2c2da03cdb858c3b0000000000000000000000000000000000000000000000000000000000000000c4f9613c81486dbb0000000000000000f9f8f03b9b52acbb0000000000000000199d9d3bf1038ebb0000000000000000b873493b13b092bb000000000000000072f5ee3a25766fbb0000000000000000e48fc53baa3ab3bb000000000000000007baed3b7a3387bb00000000000000000000000000000000000000000000000029a7b6bba27ba0bab388bb3c4d055e3b7b7836bb488d43bc25f1383d4bab383c74a154bbde92d5bb19cb3b3dfc22853ca1ceffba1502a2bbb12a293d5400883c37522dba1a3f82bb8585fd3c4756853ce452b738bba964bb52a2b73c14185b3c1a33e83a0e8906bbe799403c2eb0083c7371373bebb543bae9032e3b4d1ca33aced2b43a8afb00bb7cb613bb14ec2fbb3dd560bb5eda61b8d9cac1bb2a4ff33cfa05e9ba031631bb573569bcf10b813df27085bbfaff91bade0332bcfda1443d7c4625ba2ab281bb15381cbc59041b3d6f3e9abaf07bfebaa29312bc9599ff3c04947739731a23bb00311abcc2a9bb3c99f9453a4ea00dbb1106f7bb6e0b383c8194603a6f26edba5f22b5bb14921fbbf7c5d23a3fa88aba6b1ba6bb5764ee3ac3fd1cbebb7dac3c54e32abcef8f9f3b48d16dbed0a46db96a6cfcbbeec0c93b1e3a74bea0b7a7bca1b3d1bb710bc03b7b7f5cbe50f305bdd619e6bb6041173cf1f02cbe7bb40fbd436f05bce285c33b1919efbd99b2fdbc8e4e01bc1844ca3b976a75bd7306b1bc760cbebb333dbb3b918800bc491074bbe12545bbf28e353b55e8bd3c680b343bc84f8fba21f8b33a3843023dbac43ebe8315ab3ffd25c03ca6fa043d4ee13dbea9689e3f0137593dac5dd63c901a20be5b5c893fe034c23de3f3ab3cb99dfdbd82145c3ff1abeb3df1f07b3c4f4fc0bd0a141f3fedbbfb3da1071f3ca2bb69bdf505c53ec636e63dfd74293b508594bcbe25233e5d19bd3d081621bc3a6c053d6cb209bd6a017a3d762bdabbbfa8df3c4e7d18beb3deb23c4c5846bc659e013b0000000000000000392281bc9c0b2d3a0000000000000000b523bcbc297ed23a0000000000000000caa9dbbcbd1368ba0000000000000000d5d2cabc605f9f3a0000000000000000f55ac1bc3f1b8f3a0000000000000000c766b9bc92ffc43a00000000000000007eba7fbcf18be73a0000000000000000ae7b58bcd105693b00000000000000005e4893bbe35228ba05487b3c0c6ebc3bb5619bbb13c0a3bbd54b0f3df4f0203c7cfc72bb735190bbc2a60e3d65de843c448f5fbbc8bf58bb0902053d7516993cec7f3aba6b6783bb692cc63c4bd5793c7b7cdfb9e94140bb6d338f3cea60553c61c06bb9434797baae12f53b47ce093c60d4933aff9998ba83076e3b806de8b943b575b61f74a3b8cf4be1ba3d11afbb393ccebb59c00a3b298fd3bba034023d232617bb1b3bb6ba63f341bc9216543df437a8babb680cbb0a2fedbb3445253d38369e39b35112bb867322bcdd811f3d2cdebe3a262b3abb1518f9bbd237d43c70fd483b7a7c81bbd83503bc7a2db13c256d5b3bff6b67bb8692e7bbffb95e3c8487b33b5f0e61bbd31ec1bb10b7d43a9644af3bce8d2fbbcc269ebbaff8af3ae1be0abecb61343dc727fbbc42e0253c54bc52be6cfe303c34bffdbccd41623c285051be0a51a3bc517eeabc3cf6623c1ef63ebe729a12bd7c96dfbcb319593c6ffe0cbef2541bbdf29bc9bc83de4e3c9b23c4bdc9d41abd6feeaebc661e4e3c2a5141bd67e6e3bc7ab188bc51551e3c07a3a9bbb7f037bcdf8b46bc8debe23b61148e3ce04ea03b43cae0bb9776873b3934063d50b139be1fa58d3f87786f3eff24093dcb6c43bed366883f725b843efcd2cc3c252a1cbec08f643fdb8c933e2ae3b03c6f65f9bd736a343f771f923e47db743c2861afbd56fcfa3e62ab873e40b9153c13324cbdb8c2903e9c1a703e7595573b8d6da2bc373eda3d62c4363ef0acd2bb1bf2cc3ca61b68bd3c65ee3df575b3bbba67ff3c90230bbe232a573d29126cbdd36e2b3c000000000000000018ae80bd3aae223c0000000000000000415684bd61f5083c00000000000000009d5b7ebddf46153c0000000000000000e36d6bbd93d5de3b000000000000000076f26fbdda95133c0000000000000000c6bf4bbdc2271c3c00000000000000005ce138bdca542e3c0000000000000000183914bd6a44323c00000000000000006f6192bb94e4a33ae0b21a3caefd163c3677a8bb47366fbbb25eed3c4f791e3c5c233bbb4d1895bb5b11f83c17b69b3ca304dfba68f789bbccc4d63c71ec933c9360b6ba23253bbb4185ae3cb3f5863cb7a955b9f04b3ebbb767583c5fe6553c070507bae634c1bafe57f23bfcf2cc3b7f340139f94645bad8614b3be7e3f9bad8ee5939d71a60ba898e0abbe91a89bb9d8a0ebc53ca153bc72344bbc251b93cf2192ab9bc4498ba014afcbb077b2d3da5fcbf3a3da915bb15dc23bc904e233dbea06e3b71ed69bb4b2a0bbcc39a013d10c0bb3b226e6abb1c7a17bc2ad2e23cfc21003c9cf1b3bb407904bc085c8f3c8a1e0e3cd0709abb3473e2bb6ebb2e3c00f9133c045fbdbb9103adbbd8e0353b17dec63bdecf91bb4f3eb0bb5099793b203afdbdaf746e3d203651bd510c853c6bcf37be79f5eb3bf04146bd0750a63c674135beea8007bda1933cbd4e79aa3c7f4c18be2a5048bd9c492ebdf61e983c310bf1bd3cc960bdb6ab2abdcba0963c813893bdd80f4ebd41b502bdbba7893c19b109bd8ebb12bdd5d0d9bcfddc653c637abeb9e9d487bc1cda8bbcd0f4233cf9a2603cbd4ac43b6c573abc8ca8e93bbf61dd3c2e4a24beb80d663fa1e6e93e17b4f63ce6c12abec9e5583fc99af83ecb68c73c89360abe572e333f4d67fd3eeb61943c99ebcabd4418063fdc28f03eab04633cf2438ebdd5acb23e21d8d93e99320b3c750511bd44763a3e122db13e91043f3b550ce3bb61841b3d311c833eb1bb95bb9f97ac3c58e395bd0250243ece40fcbaccc0ba3ca00705be92b9903dfc5ec8bd6450873c00000000000000002af0e2bd4c63a03c0000000000000000eda8d9bdcdf3873c0000000000000000846acabdabfd843c0000000000000000b6b1c1bd9c2a883c0000000000000000cbecaebd07875f3c000000000000000086be9fbd4d0e893c0000000000000000a00f8cbd15c2963c0000000000000000420c6abd59ac853c0000000000000000e3b074bb65685cb891a8163c5005023cf7f418bbf83490bb38a1ab3c709f6d3cfb2b2dbb0fda6abb1816af3c7c2fa33c466ed8ba92678fbb66e9b33c529ba23ce1d124ba8125bbb9e2302a3c5954793c72cd36ba7678d2ba630f4b3c9fd0433c137590b93f30f3b960b4893ba180bd3b3aa477bac2db123983793a3bc5343abb9319e638117569baa8a9953a2538efbb084af0bb4d77123bbfe5dfba9dbd9f3c19e412ba399162ba7150fbbb6a12103d4e01ef3ab750cfbab92191bba413e13cce91cf3bfc777fbbb662e8bbc808d53c5e477a3b72d75bbbc79482bb7fbb713cc4ab2f3c0ec5b4bb3e70e6bb4348563ca1e2213c9022bbbb49c19dbba9ddd93b83b0283cd1fcd4bbd36f4bbb1899d139197cec3b89cca5bbde408fbbf960e23a15cfe0bda6165d3d85f67bbd496da83cc0f611be54cb20bc635280bd5548cf3c130207bef8f146bd775a63bd6232b43ccf73f2bd13c390bd4f3360bd1717bb3c2cc9a3bda1a754bdd9ac2ebd93f5843cf00561bd8d2784bdf88c2bbd5500953c3c19b7bc9c601ebdf637ffbcc2cb6e3c8ff5253bb75379bc1830acbca48d363c73f84b3c3ce5f33b07d53cbcba62113cfbb9ad3c212803beaba12b3f0f1a303fd162b73ccaf700befeab1b3fc2b5383fa745883cbe77c9bd27e2f73e6701313fc23a623c53408fbdc7c5b23e1cf6253f18dc293c81204ebd94d2693ef1b3033fe53edb3b2323b1bc14c4c13d5714e33eb26d4c3b11dd66bb8e79af3af2209a3eae674bbb4cc8a13c1fa1a7bdee8f353ec5f70bbb7b48ae3cfa83f2bd3844923db0740ebea225cc3c0000000000000000218f18be933dd63c0000000000000000242309becf51b33c0000000000000000480905beadf8bf3c0000000000000000411bc5bd89ee813c0000000000000000b3b2dbbdf344bd3c00000000000000002cd4afbd5bd5a43c00000000000000007e0ea8bd872ac43c0000000000000000d5638fbda1a8b03c0000000000000000d469aebaae2ea4bacd84a63b550a2a3c736aebbafd9296bb14af893c97448e3c6e90f9b9b8207dbb1f3b823c4212d33c0a30f7b9b82360bb8b7c513cf3f1d53cdbc188b846fa63bb00d3523cd065a53c8faaf7b94683e3ba92c7e33b85605f3c0611d5bab4b92d3bcc2c7b3b7999c73bfd9329bac8051b3ae28d543ae7bdd6ba0b9e26ba8e780b3a245b6b39ea0107bc6c78a9bbbc57613adc0153bbe5cd923c68c88e3baacb51bb3957c5bb6466d33c2988053c64f99bbb02bbddbb0e8ca93cd89e263c2daaa9bb5998d5bbe8f5913c078d483ca572c7bb6145cabb64835d3c31ff5c3c4589dcbb8c338bbb804a083ca893443c5376ddbb050352bbe067713988112d3c103ddebb407207bb3b8d13bb4d55df3b41629cbba6c40eba8f7ef3ba3c9eb0bd2e9e093dfe9684bd55c0c33cecb9ccbd99d945bd3f2c85bd8798e63c30f1bbbd056ac2bd5ad77dbd85b3de3c4c5d94bd2da3d8bdac3168bddc70c33c03aa5fbdac05cfbd2ef853bd3571b93c1c7ef9bce0b09fbd8d392dbd06799d3caebb27bc057554bd8bb8f6bc1b72683c251cdb3bd33babbc04978abc5875263c7ded383c4eaf0d3c60071ebc23b9ea3b2993793c498cb8bdd488e23ed0e1693fb3f77b3c0adaaabdfd3cc03e9db4723fb1d3473cca0d76bd596f913e4195663fd519223c47ff20bd8d3b3e3e79324b3f7574c23b286cb7bc550cc83d81bc293f4a57543bbad4f9bb21d0c43c1494ff3e9ce8593acbc0e63b17c00cbd16bfa93e5ecb5ebb1e9b9b3c2b4396bd9a782e3e94c31ebb3bc0a43cc812c8bd99894b3d5c5a2ebee8cdf73c00000000000000002aec3cbef7c20c3d0000000000000000009d29be5269f33c0000000000000000887f12be7771d43c0000000000000000b41901be48d7c83c00000000000000000da6e1bd6c64c93c00000000000000001b3ec6bda4f8d93c00000000000000004a08b0bd4c99e63c00000000000000008bd991bd8de2bf3c0000000000000000087877b9cf2d6abbff92a93b8119393cb790313a867f92bb0ba3e73b0d30c53c06b577ba237590bbed4d1f3c7fc5f53c2fc7b4b967a939bb1ad0133cfba6ee3c142e36b97b9d8bba547cc83b77b9b73c807787bad3b91c3975c79d3b3e917c3c171184bad4cf9d3a37971b3b5562f73bf617a1ba506ddd3a3160ae3ac40ddcba978fcdb7f2702a3afdb8b93a0446f7bbe24133b8ce6d7cba90aad1ba74823d3c68c7293cce2dbebb9b6991bbfeeb4b3c48f2203ce7aab8bb3ba2ddba944e4b3ca2d66e3c6a07d9bb602d77bb12ac023c64f26c3c1c55dabbc2e928bb47bc993b6ed5683c7384ebbb7a1bf5bac7d0603a6d61473c6dfebbbbb11091ba85d774ba21951f3c4ac3e6bb6bbe863ad2e0e1bbb530b73bb51396bb98b86eb9469b88bb47c44ebd3e8c38bc8dc75bbd7a6bbe3ca7743fbde97cd5bdd1166dbd5425df3c0ac14abdadec07be80f05bbda10dc33cdc0111bd995b16be7da160bdf5ffbe3cc284d4bc1c2ff7bd8ac241bd92b89d3c91824cbcae99c8bdeaf818bdc691833cdf1c0ebba34b6bbd761de7bc5f123f3cddfbe83b1f30bfbcf7bd30bc2858073c1fc7153c648a3f3caf1f5ebbe6ae8d3b6d300a3ca4ce50bd99c5663e40928e3f58100b3c54781dbd57d6233e5547933f3045ab3b46fae4bc8f03ea3d0a49843ffad1963bfec843bc5e3f533d1196693f390e6d3b69caaebb57ac5f3c2fd2363f3b35c43a65f3903bc526d1bc6f94073f8b9632b919f2253c58a247bdf8bba63e70229eba7150683cda9e5abd9a480b3e662f4fbb462e803c6a8378bdadb9843b299e41becbae0c3d000000000000000090534bbe80e2153d0000000000000000aa0c22befd1aee3c00000000000000006e7110be9313db3c000000000000000030d1dfbd2688bb3c0000000000000000bd71cdbd552dca3c00000000000000000e75a5bd1a8dcc3c0000000000000000dcea98bd850ae53c000000000000000054437dbd50fbbf3c0000000000000000012ed03a32a27fbb7a69153a057e983c5513943a846e4abb1c25b9bb20a4183d5ace013a30db1fbbb35445bafdbc2e3d5a972239786548bbfd08113b3dda193d9131af3934dc70ba45f1d23a3834f23c34cb61ba0fb78c3ac57e1e3af3dbac3c89acb8ba754e473bea0d60ba7cbb2b3c89eafcba84826e3b64c2cb386edb063aeaf48eba7f931a3b3ee300ba68c4b0bb0bf4563b762d84bbb36ba8bab998783bd0ce653c08ca08bce7a6293a223a94bbb765893caa6403bc282367bab3a513bbf536893c61d8ecbbeffeedb9d870d9ba7a51813c18e1cfbb5c882fbad15c57bb3610813c8975ddbb829ae6391079c9bb9c67333c7f57b4bb0a37a23a5552efbbd001e73b1079d4bbb1b9683bfb1203bc69cc823a11eb17bb3242133b1fb7e1bb25677cbc323aadbdabea0fbddd1c9d3c185e873cecc135be8a1211bdfb47b63ce7c8b63b915852bef5eb2fbdc8ffa53cb5ad333b907546be95a735bd8eca923cb9bc8a3b9c8422be989026bd275d673cd3c1f03bff30f7bd761704bde2a8453ca42a043c5e608cbd1e51a4bcffbd123c566c4e3be442a9bc9abefdba52736e3b8f52df3bfc81853ca182363b231b143b4df7713a93f3f3bb550a973cd4cdab3f9242b93a126992bad02670bc387ba33f9043e33aac3f293b7479f3bc442b943f5bd3463aa7a6fd3b5a3130bd96b6773f171da6b929d82b3cfd915bbdbd733f3f29d2663aab89313ca1f744bdd8e3033fd580523aab2e053ce2c52dbd1793913e08f7b3b9b0a4e53a3fec16bc42c3913deec9b0ba71d3dd3b6088c0bca6c992bd560f45bedc8d0a3d0000000000000000d92831bef560003d0000000000000000906308be95f4b93c0000000000000000caaccebdf266a03c0000000000000000f24397bd5266873c0000000000000000be6c76bdc765883c00000000000000004fe241bde960863c0000000000000000d49d28bd7628a93c0000000000000000e31033bd55a5983c0000000000000000000000000000000000000000000000008b9ddd3a337093bb4e80113abd26133dc0d3df3a9f0385bbba9c0cb962b71b3d732dae36f30f1dba75e1303ba021fa3c11400b372da4d2ba915b163bdc06c83c9f65f7b908228c3a402e733a8c7b893ca6de06b93ffc033b3e64dcba2657303c4b8ff4b9eaae083bb92cf7ba0b850a3b0000000000000000000000000000000000000000000000000000000000000000e8a4473cc378d8bb4105ec39419874bbc9e1663cf664aebbbd7f19b9550869bb445b7f3c098e92bbbd8e2e3a966f93bbd6bd713c88af86bbbd3f143a632d7ebbf096483c697847bbffd7063b7c41fdbb7c7d223c1c2550bb60e8933a874de0bbce289a3b7e8f0ebbc2f3123bb147ecbb0000000000000000000000000000000000000000000000000000000000000000e3cf953c403c53be4297a5bc425a263c6ffbb23c715f58bee348d7bc47da0b3c9fd7673c2c0840be333702bdbdd9b13b5c2e7e3c049722bed22c03bdd83c9d3b94147b3c294beabdaa28d5bc7b9a7e3bca9e593c02258dbdf27e93bc3b4ef63a5733143c07f19abc71dba5bba4502739000000000000000000000000000000000000000000000000000000000000803f266b38bb5387ac3c40c7fdbd9887ab3f0f780dbb608da13ceb47d4bdbe8c8f3f0182e9ba53f0833ceadcc5bddeea6c3f1e4583bac0007c3c4105afbdbe8e343feab0c9ba6f6a683ca8cd8fbdf8c9f13e137ed0387f58053c30e11dbdbda57a3e91008e39354e803b48eb60bc2da3cc3c0000000000000000000000000000000000000000000000000000000000000000a5eebdbd09ab603c0000000000000000d7e72cbdc006f63b00000000000000008f6889bcf4d6a43b0000000000000000d8290a3ae5d0603b00000000000000008546ae3b2dd3583b000000000000000072b4ee3b2b936f3b0000000000000000cde7053a5d5eba3b000000000000000000000000000000000000000000000000000000000000000000000000000000007f27dfba524de93b9cea793cda0ba4bbee391abb732df03bb3c4983c778a0fbc449bedba41cad43bc3326b3cfa54dcbbbed1dfba35c09a3b1ddc473c580792bbeebe1439c5b3b43af65c523c006c62bb3926d939a30f2cbb279a373cfc6c69bb2fb5953ab8695fbb47ccfc3bda4468ba0000000000000000000000000000000000000000000000000000000000000000a31dc6ba69a42e3befa4a3bb9e4027bb34f98bba31c10a3bb175abbbc119453b759376bbf771403bdd2368bb3d70903a7cf977bb4e9e0b3bbde3b5bad5c6c33bd44409bb4f4b3e3ae32b85bb96d1213c71b182b92c9a7a3a48c17eba7a03423c5d777d3a79463cb987dee8bac00a433c000000000000000000000000000000000000000000000000000000000000000003bffdbd8114573b41c9b6bbf4575b3a30aa07be4574b33b238ceabb38c4f33a2d51f9bd2ee7203c3e0b4abc4bc87f3ba9a5dbbdf83f153c04b75dbcaee0b63b4004b9bde9dfaa3bcd4959bc9276ea3becf47dbd96360abbfc8308bc2a09933b020afdbc743dacbbb6aa12bc87d9e33b0000000000000000000000000000000000000000000000000000803f00000000730b523c60c1b1bd594d983ffb5957bd01dc383ca92696bd703a803f96f19dbc4655223c99588cbdaf8d523fced4e43a7758b03bff2884bdb699233f2434543c8eeaa63bd2905fbd5d68e83e9047a83c2cde63ba71581cbd6441883e80a6823cc32051bbc46de0bcd162b13dfa10673c000000000000000000000000000000000000000000000000000000000000000067666b3cafa8d6bb0000000000000000930c1e3cc883c4bb0000000000000000ede8a83b7975b8bb00000000000000008dcf853af75990bb000000000000000053f611397bb49cbb0000000000000000889a8cba26e585bb0000000000000000998d19bb51888abb0000000000000000000000000000000000000000000000008db70abb6ebbdc3bd17db13bc3898b3afb9819bba8d8b13b23fff23cc05530bc1582aeba7e81613b7af3eb3c4ffb08bca61021bbb04b6b3b8bf8e03c432b48bc86898fba82d8ee3afd17cc3c0ca924bc0a14a9b9525cc6ba5aa9c53c6cdf1abc68028b3ae0418abb9192a13c0877e6bbe5591c3be73bfebb5f936c3ca0a2a5bbeada363b1085e8bb011b0d3cbf73aebb0e45d4bb6545823befbcd1bb3e80f23a6bab0a3b0086263bf60e4dbc1038bc3c28dffc39dc68e43ad37c12bc21fbb43c72984b3bb7bf0a3a3237dbbbb4c7ae3ce35eaa3a90993c3aa5baedbbc558a23c4d5f503b87dab9392b8db4bb4d7fb73c0853ac3bec5f56ba3b1ba4bb8faebb3ce255cd3b5ca5a4ba72ed19bbda8a8f3c7621bf3bb317ecba3556a0bb700f773c22bed0bd38333a3dff66fbbc4030103cdf722fbe2b2e073d6027e7bcc2f8bb3ba87036be4a64e03c5fa201bd860f1f3cc36d28bea567c63c085407bd4744343c16500fbee0689d3c53d3f6bcaa9d2a3c0c1de8bdd6a0193cb696e0bcc48f313c08399bbd36ee25badb9cb2bc2cd11e3c910bf7bc664712bcb92468bcbe30ed3ba1eeb1bbe23fe6ba67ff31bcf3bcf93bf6c2a33c36c9f6bd82e5973fc2d68f3d8641943ca0d302bea7678f3fdc03a33d6a5f3b3cbe2ce2bda32d753f01f7e23d22361b3c0043c6bd6a0e453f6dcaf63d6214f03b37cea2bdd419143f6b85003e0f23b039d5967abd5d14c83e224cf03d3790a4bbd2fc1dbd6cec4e3e4a48d13d742a53bc1dabdcbb1a98c23c27ca963dd6dac9bb8c2b91bb48deb6bd3790583d726b34bc394e4ebb0000000000000000aa26e6bb2c5c54bb0000000000000000705d74bc16baacba0000000000000000f337a5bccae6f6ba00000000000000002aa5c4bcd8b05a3a00000000000000005724ddbc52e8cd3a00000000000000007953e5bc4819183b00000000000000006549d7bc4cc6243b0000000000000000e49209bdae80e83b0000000000000000ab6488bbafed0c3c3354413b8fd7343a14aa12bbc22d9c3bbf8bb93c7b8e37bcff9941bb570eb33baa9c943ceb0b23bc0ba804bb1afefc3afc56ed3cd87774bc54173aba661e35ba4164c93c6a8175bc4cfc703905ed7bbb7522d43c783871bc5aa2c435ebf24fbbc9b9823c658f47bc179e3b3bb33611bce9a3893c239e36bcfb9af73a749bc9bbd77d3f3cf70d24bc9071c6bbf4f6553ba9acd0bba1a7273c5ec225bbe0e5593b4ee637bc7fcae13cde67d9ba7f0dfd3aad65ecbbdc20a03c621f0e3b477d6e3a2b43f2bb4194cd3c990bac3b4214e9bafaeebdbbf0cbb23cd4e6e63bad39edbaa8bacdbb5fceca3cc3cc143cf71d90bb92ae73bbafab983c2fda2f3c7c806ebbdc4975bb6d0b953c3f6a103c55eb8dbb880865bb7f8d483cc818d9bd1503a53d228e65bd08247c3ca22529be0df7933d8e4b74bdd862963c55791bbe6b785d3d709250bd11f17b3c17d621be8973233d5edb51bdefcc873ca21b02bef5d1ec3cb02932bd7cea683c126ad3bd6d9f473c297122bd2ef27f3c509984bd420bdb3b714fd4bc8cc7333c8f45eabcc657d6bbe14fb8bc394a3c3c0639d0bb5ba42abb0f680abc84c5be3bad63aa3c2134f7bde1497e3f1e00803e6f9d773c2f5007be7af8713f83da843e75d66a3c40e5d8bdf5b8453f1fb98a3e28d9ca3b8e89bbbd87d8213f6af98a3ee9af933b398090bd6c38ea3e2a9d803eb93bddba183a4dbd7734963e3cad703e911d16bbc3e000bd4d4f193e17983e3e6b044cbc623bd6baa10234bc698f1a3e99b601bcf772f73bb892c9bd324fbb3daa472bbd6d99a03b000000000000000014343abd5cec3e3b00000000000000004c355cbda7a1da3b0000000000000000a2ef65bd7bd3003c0000000000000000062066bd6842323c0000000000000000681d83bd25e3483c000000000000000079047fbd4be67a3c0000000000000000b42086bdfddf8a3c00000000000000000d0769bd7b62843c0000000000000000711467bb5315c83b3d46273aba0ea9b9144843bbdeaab43b5720b13c8fb682bc8dd515bb8797e73a659ddd3cca8890bc532ea0ba78fbbfb9395edb3cd4688abc6eed2db9d3dd4abba55dd93c35978cbc70a1fc39f8b484bb5a8dc73cbdac80bc233b9f3a9a4bdfbb8633ac3cdf8853bca0d42c3b8b70fdbb64e7893cb58c46bcb2197c3a9246a9bb6d84293c73c04abcc4c683bb17ad2a3a5bd71dbb8d12273ccf919eb91e61143b81f314bc8d8bce3c173bae3b0c5daeb95c9d02bcca5ee03c5aefcb3b568211bbf009d2bb7682d73ca0dae13bb01f8ebbac30e0bb2818d63c12f7273c6fea73bb9ebdbcbb971bc23cffc23f3ca0dca9bbdce985bb2688ae3cadcc383cfecebebb36318bbb2339753ccddc4e3c8c0bc6bb041d69bb50b56d3c0de3d6bd347dd53d530192bdaea3a03c83a21ebe6d6fb33d80aa9ebdb11fc03c41c51fbe8c3f6b3da4528fbddda2ae3cb60d0fbe9209143de81072bd162aa33c80d5f1bd6247ac3c365f47bd670f993c790eb5bdf7c1503b32b222bd504b7d3cbe1d6cbdc810f7bb4d74f7bc28f8573c2059aebceee74ebc439aa1bce21c3b3cd3d02abccf2fd4b9945cf6bb764e9d3b184a803c723ce3bdbd7c4d3ff55fe03eb097433c4490e9bde3b33f3fdecae53eeeb80a3ceed3c2bdcb961e3f1680e63e08115e3bcaf398bdd951f53e7ad5d83e0050f53a078c68bd109bab3efdf8c73e236a78bba3a412bd405f4c3e635cac3ebb06f2bb4d698dbc787f8f3da12c8d3e940625bc4059873b771623bd8df14f3e8296ecbb5e2c003cb015d0bd8454f53dfb3f96bd13bf443c0000000000000000e8c6a6bd2633593c0000000000000000502faabdf31c813c00000000000000007b5bb2bdbe6e963c00000000000000002f50bbbd8c8ba63c0000000000000000eb47babd8ddbb33c0000000000000000b34fbabd74f1c33c0000000000000000dae4babd99e1df3c0000000000000000f57e99bd0dffa53c000000000000000099fa10bb9a98ca3bedb7d53a65654fbb928414bbe311303b1d059f3c6b317dbcb789a5baa0ba3f3a6a75ad3c98f677bcb176efb913a5efbaaedde13c805697bccf3069baeccbc2b7a63f6b3cb5bb8ebc5215af37448594bb27e0cc3c62d992bc95eddd399e0498bbf376863ccfdb57bc09a40f3be495c0bbdd6e763cf71f49bc0d3bda3aaf67c4bb33f3203c72fa53bc1e2414ba5b357eb906a7aebbdcb5403c19aae53a6fa979b9d52d01bc9b3ed63c341dd23bd6023bbba670b6bb0e40b43c312d023ce4a28fbb9d72f3bbddf8d73c9b153d3c219ac7bb3b7e44bbe7f08b3c093a403c858bccbb973aa0bb593db03ce8453b3ce06cc5bb4f3327bbd644833c40ae3e3c96b9b9bbebc430bb5e25493c48d85c3c3882cebb722b47bb2240433ce413d4bd6a23da3dc7ff9fbdb790a83c75140dbec37baa3d0130aabdf343d43c62a001be3d87353d936086bdcaad9e3ce2b7f9bdc39eae3ca3066ebd2adaa03cb238b0bdd2c4733c0f3a02bd193de33bc11b9abd5ae40bbcac7c11bdc61d623c296936bdf1b667bceb11a9bc810bee3b1d9f92bc6dcc86bcd46f68bc97c2f53b79c997bbe4ccc2bbaeea06bbca484bba2c76613c9b2dbabdc71a1c3f4355213f2519093c2ca4b3bd89a70b3ff69d233fef48a63b59bf8dbd672ae13e4edd1a3fa5b7af3ab3bb5ebd2e8fa83ea1d0113f56850d3bbe0828bd3f836d3e15f9e93e77c09bbbe292b6bc049cec3de8a9d83e0c95cebba358fabb0921de3cb94da23e0f564dbc783a4a3c9a717bbd83146d3ed488f5bb9fbf553cc167d9bde509003e0bf2cbbde0f89a3c000000000000000088b2e4bd371cad3c0000000000000000c1aed7bd9b3bb03c0000000000000000abbde7bd06afd73c000000000000000043e8bbbdcfbbb53c0000000000000000db4ee0bd21d3f13c0000000000000000819cc6bd1783de3c00000000000000008eaed2bdeb82033d0000000000000000c20da7bdafb3d73c000000000000000027ba03bb5909583b332b9d3bef37bdbb694e36b9142bc2ba2965b63ce33257bca24620ba7b9583bbbe4fd03cc84455bc378805397a469abb7f2ad73c65854fbc96626139ea11a8bb4c6bcb3c5f8a61bcac11023be4e8f1bba6d4b13c305538bce4c2a83a5f3dddbb8a06763c59c1fbbb90edcf3aca16dabb952e3e3cd99207bccd48b03a12b277bb6c02c13b5eb51fbc9806683b0aa168bb2c7f7bbb59e9733c835b563b85b69539ab12d1bb80aec53c5164d73b884847bba04a81bb603dc33c7d9f163c0b9e93bb1b0159bbbb17a93c6acb223c8fcad9bbfae086bb5472ab3ce2cb343c0602d4bbc7a613bb19c07c3c4e7f493ccb4adebb3a3eb3ba66f7653c48bb353c1885c2bbb53acf375d0fee3b04a7393cc065a1bb4c3025bb66d41e3ced9cc5bdf84ab83d21509bbd0a72bc3c81cdf1bdf7be573d9401a9bd5325db3cbaa4e1bd5e9b193c83a785bd38f5b43c5804c4bd075b65bc131750bd9eae8d3c9db39bbd4c13d6bc0d8815bd79f5593c082f52bd8c0e09bdc01addbc8e692c3cfa98f6bc312117bd0efd95bc1f96e83bd51f66bb7da4e7bcafb419bc968d8f3b65ed853a12883dbc7cf1293bf2bf50bb6e4f103cbc2d84bd22ead63e78e6513fb0c9813aa56c6bbdaf43b73e6261553f9d0c8ebae7912fbd0f1c8d3e2c61483f2f5d86bb64cae5bc0a56453e9294323f254a92bb98479cbc3ae6e43d6609193f8f960abcf6f19fbb16aa1f3d39b5f53e73560bbc1260983bc778d1bc7f18b83e99092ebcf0ff813ca3879ebd96ba6f3eaa70f7bbb0d6873c6a12ccbd3273df3d2f92f6bd5318b93c0000000000000000985809be71c1c93c0000000000000000736b02be4273e23c0000000000000000d3f3f9bd01d7e83c0000000000000000b86ef3bd3d5c003d00000000000000004199e1bd9ae3fd3c000000000000000079e5dbbd66340a3d0000000000000000fa24d6bd2c42153d00000000000000007540a3bd93c4d33c0000000000000000b418acb982f46eba1adc123cb8e151bb99a94d3a62bcd0bb812fb03ca5c4d8bb62a1463a689f67bb33d7a03c55afddbb5bd53b3a6848cbbb20cbc03c444662bbbcc2a73a0280cebbe6c29c3c71e6c5bb1ca6363a3e77a7bb27b7843c57714abbe460833ac32f6dbbd148363cb766c3bbfde4c53acf0065bb770e9b3b6f89e7baba9ba33ada106dbbeba52b3bf2886abb19349c3b1e67e9bae4310fbbcc5e513c9944993b5a93d0ba145e17bb1038a33cec33003cd835a2bb318070bb61967c3c87a5d03b028158bb86a1d4ba0849813c96eb073c10a6aebb864624ba83302e3cb65b053c30b27dbbc768a7ba08be263c33ea1b3c308ca6bb3937d1baaab4e73b48d9f23b65fd6abb385713bab766bc3ac168cf3b383a18bb95a33f39b4d2fe3a248498bdcf2f523da92390bd97d0b13cb21bb3bd9c3f2dbbe93496bdf772da3cb2c69bbd9c67d5bcf19035bd71c56b3c058a87bd939375bd19d024bd4d084e3c683e42bd9b9066bd414ab4bcfb68c23bfe6a01bd5c7c7bbd4de2a2bc1bfc883b5c3283bcd9e730bdaa36f4bb53e9013ada11d53b1a380fbd6898e3bb79e4163b7b8b283c5e5e44bc1e32873b824b6bbbe25dcb3a0fef16bd247d723e2f73803f5a0a81bbfc81c4bc3974363e5957823f2088f0baf85ba3bce2bb0c3e8139613fd2b2d9bb2ecaafbb9191943d1dbd4e3f966aa7bbfbf4fcbab07dfb3ceec9253fdffec3bb632bf43be8198abcd422043f24a0afbbe0223d3c3dd532bd39c4b33e96aebdbb7ff49d3cb5b5a3bd8bb4553e9b9ad2bb5767903ce7ffabbdd79c913d987affbd605cb83c000000000000000011ae11be90cde63c0000000000000000e531edbd1b53d03c0000000000000000e467f2bdd0dfff3c00000000000000001ceac7bdb7bde13c00000000000000001767cbbd795d093d00000000000000006220a7bd791bde3c0000000000000000cbeabbbda8330f3d0000000000000000a86798bda122cc3c00000000000000009088553a7dc665bbd953353ce02927bb600ec83ab25718bc8d8e9b3c9af22b3ccb0fa73a5a3b06bc0c8f953cd1ef313c1819e73aedab02bcd5a8963c993e183cdc6c9b3a1dcfd6bbae3a7e3cabc8c23bb7309b3a1694c0bbc7b5263cd6cc173c18a8363a17139abb5de0a43bbd9d0c3ca1d17639fd6eebbaa2491ebb810afc3b597b053abf6106395bef63bb83cd3b3ba490bf3b1fc22fbb58f453ba4ae90f3c1e17de3ab8462a3b9048183bbe75df3b1b94f63a943356b988eaec3a0fb2ca3b0e1d2c3bd3861dba77bdbc3aa128a93b2c9c593b78c6adba982d8c3aad35963b675a433a9e67cb390246c23a6adb2d3b4200e93a32994cba395a2f3b4e868cbae6692b3b427426baa6c6213b33be9cbb75ad413a482af9b9c60f703a8d5a75bbf5bf54bd9f6956bc06b137bd652e5d3c0bd632bdb3eaa4bd541a4abd6a9f853cc63b1dbd9d70debd66cb0cbdd5c6233cf215fcbc7bc8e6bde658b7bc5693713b4181a6bcf177d0bd25de6cbc8c1190bae4ebd8bb1e86bcbd76bd96bb30748fbbefadc93b5bcc8fbdeeb4fdbb104fcab8ad9c913cf60d25bd97be74bbb88246390dcc833cc77f86bcdc37de3b05c77bbb32c42cbb2576afbb6d557d3dca5a993f5610d4bb123f043c75c5a83cb2f8943f49c3adbb4c7a073c17132a3ab202843fd7b0d5bbd4f8433ccc4ba8bc204a5e3ffe25b0bb8d7f493c2c5d1ebdcf5e303f51ca97bb64116a3c71095ebd28a3033f7d6680bbde7e563cbc1083bde19da93ed648afba3505463cf48372bd01c0193e99104dbb3cb88e3c3f7780bdd881333cb62701beb447c73c000000000000000092d5fbbd9db7db3c0000000000000000e646c8bd202ac53c0000000000000000daeaa6bd831ed33c00000000000000007ef886bddb20c63c0000000000000000d48076bdd666cc3c000000000000000012ee72bdf6b0c43c00000000000000007d787cbd58fcd73c0000000000000000644041bdb522883c0000000000000000000000000000000000000000000000004aac0d3b27aae6bb86a4663c4805db3b80aae93a7733debbf18c883ca55d233ce4fec23a500aabbb3b6c663c0e22cb3b3d42003b8d1d97bb99923f3cf053d43baebbde3a02298ebb8d98f73bc7c6fb3b8cee803a231e35bbb57de33a4273203c33f32d39ab1a6339918a93bb5b4d173c0000000000000000000000000000000000000000000000000000000000000000c8adb9ba5bec563ac7f0923ab15a363b28d682bba06a2f3be52b043b2626cdba1e7286bb959bb03a8b7f133aef3c4e3ad7d6a1bb5abba73a69e8efb8c1fdce3912439dbb0906e83a41c8263a35ca5cbac50d40bb9f39f53a89a4ad3a203743bb8e2e5dbb14ea513b1283f93adf81c2bb0000000000000000000000000000000000000000000000000000000000000000b6fc92bcb756e6bd745a1dbc0e268e3a278a16bc8bcbffbd9512b3bbe249deba4723fabba17ff3bd8037203b05c8a4bb360af6babbc4d9bd7fc4aa3bb7edafbbfc89a13b84d2b9bd4973843bd8d6cdbb6cd6533c70938cbd691e0eb9e4c5a5bb448fa53c42dd2bbd89f9babad9b0abbb000000000000000000000000000000000000000000000000000000000000803f3506bcbb068aac3cfb16adbdcf45993f4648c2bb682db23c27fe9fbd842d823f70b68cbb2751923c975c9cbdc475573fcb468dbb24eb8d3ccda997bdfcf4283f1b1632bb556d743c4e7b8bbd9646f33ea0b0b0ba007d453ca8276abd1d12943e7f684fba7366393c3a7049bdc603dd3d000000000000000000000000000000000000000000000000000000000000000089f681bd6c29673c000000000000000065fb00bd8056293c0000000000000000f38691bcd1490a3c00000000000000008a19f4bbac07fb3b0000000000000000ac700dba55c2ca3b0000000000000000bfabffba7e3ef93b00000000000000008ad961bb9477da3b00000000000000000000000000000000000000000000000000000000000000000000000000000000a91cd6bb7bd7383b1191433dd92d553cefa89ebbe6faad3b95cc3c3d2bee7c3c025832bb4d86003c2d6c1b3d34f38f3ccab983ba3febc23b9106f43c46937e3c8616c538f3dda53b975fb13c96e1153cabe6acbaf2f4a43b20c4283c8716d33bf46b55b8363ad03a65dd7738fc99523a0000000000000000000000000000000000000000000000000000000000000000b70629bba9ef5dbbb637c0ba99440e3d105a01baa23116bbdc46aebb7be5b63cfe05533b8ecd97ba9219c1bb83fc453c0dfbf63af1a6b53af990f0bbdf9aba3bf8e5993b0ef1bb3a99670dbcd9bcd3bafc767b3bb46cbb3a6c1ae7bb19fa97bb3180193b5e73e43a2222debb620477bb00000000000000000000000000000000000000000000000000000000000000004ab47cbe959611bccd5b483c7c84a7ba07286cbe443ec1bc447d013ccd24a03a441b5ebe155e14bdce909d3b0b19f43980a62ebe206a0fbd7601403a78547cba2857e7bd35b6fdbcd78bafbafc5fb7b9751375bdb5a1adbc780a5cbb4d0186baaedfdabb775fbebb34ae54bb8dda15ba0000000000000000000000000000000000000000000000000000803f000000006c64eb3c2c6811be3fffae3fb456e5bdf200c13cd8b0c7bdc769903f9ca34bbdb5baa93cd837a7bdbc67733f2ab5cabc262d9e3caf7d70bde8b5343f51f871bbacb2833cb2e1f6bc81aae63e588f2f3c00c3103ce5f843ba1b4e613e5ceaa93c133e293b7f99a43ca36e80bbc355603c0000000000000000000000000000000000000000000000000000000000000000dfdd7e3c1b1c0ebc00000000000000002678853b7762e9bb0000000000000000ffe2a2392089c7bb0000000000000000444dc03ab934e0bb0000000000000000d756e8b96aeabbbb00000000000000008934ee3a9e6c9fbb0000000000000000810ad03b02118ebb0000000000000000000000000000000000000000000000005f2ff6bbb177ddb977f5d43c9244c53b82203ebc75fd0d3969592d3d0b190b3c2dd704bc2c5ca53b0559463d38b6813cea05dbbb1f2d033cd0cb2c3de45a983c3e242dbb5b73c83b3d42fd3c46f5603c909d7cbb3d52dc3bd185b73cb8ba1d3cae6851bbb6b89e3b89c43a3cfbd48d3b7098c8ba2ecb3f3b62cca93a07affab9a0e7c3baa57525bb02ad8bbb040ab9bb79c8c3bb2cd0ecbad40a6237a96a223d8f0a72bbf4b22538018a01bbde44303d8040f4b9fe021fba863a27baf8f8e33c29300d3b5ec3993a9ac695bbc7a1973c9477d33b3a682f3b80c0babb9c47113c6e959e3bc7b34f3be30ffdbbb449713a0fdbe43b22373e3bdb1cafbb0321c7bbd171e43beafb793a69b5b8bb5949debb1d4c3c3bf5acb53a04d0cebbda25653a951527be544eb73c4f6a00bb04b1163b42ca55be79a4e03beb5e05bc77ab473beae378be8152c6bcd3c2f3bb59108b3bcec360bedad613bd80d121bc60a4663b13fa2bbe23b621bd50a466bcb6b23b3a9dafe3bda4d51abd4ca37cbc8d326e3b339e4ebd5065f5bc12b563bcaa9ad03a02a1c2bbf92571bc12943ebc7d13d6b9219eea3cbf06953bd76b00bc577ad1b9326b3b3d14e46bbef410af3f224b21bce7ab2d3dcaf03ebeb7b5983ff95e4f3dc25e193d0e212bbe36d58c3f71a0883d2327093d479f01be8581623f85f1b13dc03fc63c1df8a7bd6394233faa2ecb3d44f8ab3ca80f2ebd6330ca3e459bd03d3632673c7618d5bb7093283e7555b93d48f7183b68f4b13c61bf9c3b42c6853dcbcba53a9639133df64f1dbefb43be3c2e6ad5bb4391ceba00000000000000008c709bbc367ce737000000000000000043dcbdbc897782ba00000000000000001f3acbbc5c11fcba000000000000000012dcb2bc51db3c39000000000000000042ecb5bc384c1e3a0000000000000000ba1daebc7776913900000000000000002e657bbc6069753b000000000000000082b681bbc3122b3b0000000000000000a29391bbbfe4e3bbee49a73cbbaec43b91bf8bbbdd5b2cbb1131133d6fb02c3cbce0e6bb6762183b8d892b3d2d6b923c4ea599bbdeb9b73bbc13143d6f8c8b3c82e795bbb409c83b6f87e83c51da4d3c7104b4bb3e92823b8990b73c0d08913b440696bbfa956c3b6daa3d3c2adf5d3a483ebabb4be32a3b4db95b3bcbf967bb0c7b25bbea79faba93031a397cb4eebbc45ec7bbacdca63a156d943a884cd23ccc148b3ad9ba9fbada9893b88abc003d7377323b02ea333ab2059fba4b6dd93ce738093c6f92833a247d39bb1676413c100e1a3c9b52483b0be75fbbaaf7763ba286503cacdf063b03576cbb8c9cbdba87c0433c735e813a88f0b5bbad1a91bb05e1303c99be85383ac4a2bbf44022bb63b1cd3b0fe017bac15d16bb5735d7ba9bd1eebdb36f093d17b0bcbcb2d9e03b249043bebdbbedbb8495b6bcefae193ccca556be8f9c15bdb763c4bc4d95023c90b539bec9555abd7e72edbcec620b3c125b09bed22169bd4556e7bc9400de3b1716a6bd7e0058bd5ddefbbc95a9ce3b6e0310bd5e7c17bd32d5cabcef7caf3b73556e380df4b6bcbc8d97bcaaba3c3b6deea73cbd27bfbad77716bc6660b2398c6a263d72bc56be71de8e3ff7f7543e0567353dbc7a5dbe10ef8b3fea316e3e070b1f3dc44a39be5e36743f40ac7e3e184a0c3d50eb06be6fdb3e3f3f83813e6580e13c722bb2bd158d053f6806743eaa82b33cbc0c2abddbcb973ef1e65c3e4ad4853c692e24bc273ee23d7748283e15c2273c20b8493c081cd7bc86abd03d0f1b933b9b15c13c8474debd7d2b213dc40259bd964b243c00000000000000004fbb81bd5e2c1d3c000000000000000044477ebde0b0fd3b0000000000000000c6227abd404e163c00000000000000005f1059bdc68bdc3b0000000000000000f57349bdb4efd63b000000000000000001992abdcd10113c00000000000000004a2ef4bcac36193c00000000000000001eabb9bc6321263c0000000000000000604863bb26f0bfbb17ea9c3cbf98d43b0793c7bb1af3a1bbbc5d053deec8603c5527a4bb2ea0d1b97016133d5e87963c0004d0bb0577a63b929bf53c202e8f3c8001f8bb9e63213bd9f9e13c2596303c33b3e2bb767f013c20629a3c98ddd83be953ebbb8773893b303e3e3c35026ebafb90d9bb797fed3a73dc943b0ad1cbbbe83893bbda0250bbe5970e3a55791ebce29974bbac99b4392c2abd3a31e26e3c8d471d3bebf4f9b99574fc3ac90fb63c1f9edc3be4bfb53af2f4413a363e493cc0245e3cbdd9e33aad32d3ba87698a3bd3888c3cfeedb63aa23b1fbbbe2b7339f8cf513c57023b3bf3ca8fbb8176fcbba2167a3c92bde539585f8bba880b22bc3b0b413cfe653cbb783218bbf6637abb704baf3b36d304bb8dc94fb9648714ba3c4bccbdf216ce3cfca80cbd23f52d3caaf119be3301e9bc39d319bd1569573c1cb61ebe767f8abd666f23bd79657a3c6e3907bedb07a9bda8f337bd2a79613ca7bcc2bdb7dfadbd7e3e40bd10cd3d3c0be75ebdbf4090bddc6d26bd8fbe283c2e83a1bc9ee755bd72faf9bcc13cca3bf33f873b5975c2bce8f895bc8885333bbf3b963cb050ecbaa1531cbca83de93a46420b3d16cc46beb5f26e3fb166e03e86db203d0ef146be149e5f3fc81af33eba190a3d6a061cbe67f33d3faad0f33ed3abe03c45f9dcbd3bc00f3f381be73e0e85d03cea108abde8efbf3e201bd03e6a61b23ccece09bd2c25503e33b8a73e56618a3c53d7b0bb9cc7803dfc46673e4ba53b3c222a003cc54200bd8306f83d14cb1d3c1b9a653cc231cbbd9d311b3d34e4d9bd4560a03c00000000000000002a87f3bd71e6b33c0000000000000000718be8bd7633993c0000000000000000b03ad0bdec92913c00000000000000001007babd5f9e7b3c0000000000000000fd949bbd74bd7a3c0000000000000000668873bd94a9703c0000000000000000854936bd86ff8c3c00000000000000005f57fcbc06fb8b3c0000000000000000fa151ebb1d5313bc5175913c7b03013c55f777bb1596e6bb20b6d63ca703763c432bd8bb01ae23bb076cff3ccc459c3cc60dfebb50ab0a3b08f0e73c384d813ca81bc6bb3899a23b576d9d3c69dc573c0fe5eebb42998f3bf16a953ccffda73b6e1008bcfc7db43b31d4213c80f161b96226afbb63f9ff390e9bc93b71000dbc5f3e95bb02ba0eba0592b13ad05844bc66a430bbe9ae00bb40e324ba010e0f3c50341c3cd0636bb9813a2c3a68ab413c2461503c71ff343a6298003ac1fdb23b6ba99d3c8a14653a2c2135bbbcb844b9fd646f3cb122303b4828caba428f8cbb59d19b3c4ea1c73a266ababad8ff2ebc4f30763cc2f9e3ba8a51e93617062bbc8478573cbafd7dbbba3f28bbdc066cbbd71f193c2776c0bb7881143a3e2580bbb9ed98bd3891313c0d4f2abd61648b3c59d5d3bdd78673bdf2273fbdef4b873c40a2d7bdce24cfbd58b448bd996b823cb872aebd63d7f5bded855cbd4643883c5c9377bd5f3ac7bdbddb51bdc2c3463c119d0cbd9e26bfbd3d2b2cbd7c69303c86ae52bcb10a64bdebe7efbc68d1d33bdb17673b694fddbc96ac89bc7634543bf3738c3c9c3091baa7b6bdbbdeb6383ae8ddcd3c32ab1abe1c1b303f1b50313ff447e63c8e7611be8ff61f3fe7de383fdec6c83ce3e7e2bd96ba033f0633343fcdc8bd3cd20e96bd4095bd3e8bdf263ff11a933c30bc38bd23b5743e4744073f63b3953c70aeaabc7561013e02a3d43ebe657d3c5f0ac9bbbb511a3dc053833e54ea1c3c3c61b23b3069e2bc3551003ef991163cdee72f3ccee595bd2894b23c7f5423be7a6af03c000000000000000097512bbe958e053d000000000000000036971cbe1258d93c0000000000000000da5610be9cbfc03c0000000000000000417fd3bd7897913c0000000000000000dc36c4bdfaeaa33c00000000000000001af78cbd1542ad3c000000000000000014b348bd26c0ab3c000000000000000071941fbd47fdb03c0000000000000000fa7b4bbbd8aa25bcea7e3a3c56ff163ce8cbb7bbba9cbebb2bafb43c6fa5933ca0dc06bcc36895ba7ac3c03c94c4c33cb9b5d6bb26470a3b6946bc3cdf29bc3ccafae3bb15b5913bb0a8993c48f9783cef2cecbb5986aa3bb6267e3cd8f9093c4638ffbb4b34983b25c0393cb5f324ba4fd7a1bb99b36d3b8e359e3b2c47f0bbe55683bb76bfa8ba6f4c273b38741cbc88856e3b45d06bbbc89280390bed8b3bbb55833cc079f3bb64a5db3a2a1c8f3a8dcfbb3ccddb85bbd1c4ae3a6f30acba7021d03c74cd90bbb5beacbaa3210bbca4a3d43c1d7e95b92b6449ba541126bc7a35b43c20562fbb984f27ba640a25bc2157a73c0230a8bb70108fb9c09e25bc80217a3c3225e0bbacff603aa4f0f4bb056b0a3c1dfea1bb7a49aa3a2fe98ebb18ef2dbd430293bc11332ebdaf6b8d3c63e863bd2f94d4bd4c662dbd7db1a73c094c6abdf07b16be730559bda267943cd44d40bdff891cbefbd269bd1587a73c62a604bdb6e60ebe4e6953bd2103553c27daaebc5a92d9bd78e929bdec8f1e3cc1882fbc03c68abde0b2d7bca776043c4789a63a50dbf8bcaa422bbc8f19d9baddbd4f3c961065bb9f7baa39cdb434ba1bfd7b3c99e4c2bdca88dc3ef09c703fe19b8f3c5b83b7bd7167c23ee35f753fea6d813cea9383bdabab963ea6ff6a3febc4823cd86d20bdef054d3ed4904d3fc6324e3c1e95bbbcc9e4fd3dc933283f280e523c6f1f55bc6fdc8a3d6e15ef3e2e95523c6f8c9dbb0098b83cc2508e3e75bd153c6940c1b9083719bcffb6e23d5c7ac43b5fb32a3b97d72abdf8cb96bb59664dbef124283d00000000000000003b7955bea9802b3d00000000000000003f403ebe6c0a0c3d00000000000000003f951dbe0567d83c00000000000000003ae402be1370ca3c000000000000000002f5c1bd707bc53c00000000000000008a4e90bde10ea53c00000000000000003f253abdab43cd3c0000000000000000e6a422bd6b4cd73c000000000000000018f773bb9623fdbbc0eb093ca389213c5a5f8bbbd215c2bb62e0603cb416ad3c0cef9abb92d3a6ba97e79a3c5417e73c85970ebcd26d913bce719d3cc3f5d83cfc95e0bbc30dba3b6ef6703cc2039f3c6ffca9bb5b68d13bbba8513c5dde323c402cd2bba2108e3b7709303c4e75063ba570adbb5d32ad3bb7cd893bc5c6eabb28780ebb63efd9bae973103bae4236bc41940d3cec0300bc8c6034b98ad73ebbabc4c33c452536bcf5eca638a8ac48bbe7b9d73c2a04cbbbb11038bb0e1204bc517af83cff4ec7bbe61920bb46e31ebcd0bad23c2c5e4dbbc5b99eba937720bca805d23c78f63abb962321bb68da1ebcd900a03c6d7be3bb53249539be9b0dbcba877d3c1738e8bb4bc49fb83e67aabb316ce33b522bb3bb4021b23a116c58bb343407bc22ba4bbde35acfbc53a57d3c166649bc7c4318bec6b00bbd52c0923c42dc66bc60ab43be71ed38bd2f07a43c1f3f8cbc50f243be2dd13fbd4145833c72da7dbca69a25be24ba31bda72d353cd81a4ebc2b8f00be813603bd418edd3bd86523bc99cb8ebd17de86bc7485ea3abc7a47bb188eebbc0f9d87bb21ec10bbbe0bc93b8102183a5bd7c43b35843fbb064dd83b93a535bd302b533e57818f3f6701ff3bc89317bd7ab41e3e56a0933f0a13003c8c95a9bcf479d83d5212893f3fd23d3ccc662dbc96ba843d30c86b3f3ad3143cdb29b7bb5e76273db278373f80d6fd3be5707bbb8f5bde3cbf69fd3e2d62063cf62f15bbb10a763cea10883e02aafc3bead881bbf6d6cf3b7828ab3d5906853b973518bb0000dabb66f60fbdf86a5ebe048f383d0000000000000000a41761be3352373d0000000000000000b0463dbe9ff6ff3c000000000000000006d01bbe0200d73c0000000000000000fd6be8bd4e5bb33c00000000000000007c7da8bd06d89d3c0000000000000000d5625cbd57eda33c000000000000000060200bbd3f1ca23c0000000000000000cad2cfbc61789d3c0000000000000000d94157bbad90ffbbd1046e3bf4bf993c034f1cbb1858b4bb8337bf3b371d0d3d9650eabb0744c1ba4c5d5e3c3f26263d3bc9e4bb31f3a23ba501533c62171c3d85d3d5bb4281d63bb140593ce753d83cb7b1cabb0815dc3bc05f3a3c54c67d3cd58499bb63f2d73b9b4c073c8b80b03bbc1eedba0228883ba9cdb53b0b5e9dbb4fc998ba79cbd9ba37ba063bd1bd30bcbd9d843c3ecd86bccd9d04bbe26f4bba987cbc3ceed086bc1cc8ed395704d0bb8069f33c5e2a33bc93a46b3929c7a3bb0e9ce43c2490d9bb678617bb3c8f03bc7590e73c3c6185bb17debcbae27d11bc4d9acf3c4ba98cbbb02d4fb924a811bca069963c65276bbbf6aa36ba83ebefbb0c6e4b3ceb4f6bbb243ecdb9bf69b5bb89f0b03b7ccbebbbe0b49b3a8eeb65bb400b9e3c0cad01be952473bb3e8b793ce30a853c5e183cbe18d228bc5115473c9b22ae3bf54670be5ea8eabcc042653c951b383ab4d865bec9e1ffbc30dc323c06a4acbb56d439bec66409bd3eb6a73b45e52abc0fbc07bef3ddb7bc9a0dba395c923dbc04ae96bddf9e54bc0660dcbab78a12bca102c9bccad6f3bad755f3bb7429f33a97466e3ce8a96e3cf103a2bb1dfdcfbada6b923a734a24bc8700af3fbb51853af2fac6ba25c2c73b5ef39b3f2139463b1beed23b3bebb3bcbe14943f0327833bcb1ef43b7db2c9bc3c0c773f78f7813b6bfffd3bb7299dbca8013c3f8350b93b5f868c3b7de029bbafe0f83e6406bd3b885d9d3ada26143cdb67793ed943b83b9038cbbbe167bd3ce696683d17b7ad3aed3a91bba0c9ba3c1615efbd55646ebe7f47463d0000000000000000aeb633beeec3173d000000000000000013c017bee1a7c63c00000000000000001929e9bd6363923c000000000000000022079ebd87646a3c0000000000000000e5db3ebd50002a3c00000000000000001d82a7bccd7d0f3c00000000000000000a99913aa192cb3b00000000000000009f2dd9bbc7934c3c00000000000000000000000000000000000000000000000037b351bbec2c20bbc6ea603b92233a3d16d290bba62a243b7e518d3b258a333d1b29adbb204bda3b60320c3c8c961b3dc6958bbb64f1123c7e85d53b3ca6ef3cf24c88bbdc91f03b4f02c13b17c8863c9cb1e0ba2be0ea3b6971803bbf8e093c8a9c65bac9917f3b49c2b13a2b017abb0000000000000000000000000000000000000000000000000000000000000000d0b5ae3c2fba60bc88dd08bb30881dba8ebbb73c114409bc3f6e9dba8e9b81bbc8e2cf3c6bd077bb153b7cbb72d02ebbad41ac3c266d09ba48069cba532be8bbd3cd943c122775ba90ec73ba4a31c4bbe9bf343c16d176bad5a603bb821b9ebb3873da3babdefdbac6fb0e3a670b9cbb0000000000000000000000000000000000000000000000000000000000000000e3abff3c38657fbe9fea023b47b9fd3b6c5aa63c818870be1e0359bc1cb55a3b2a10dd3b3da361bee436dfbc36b8003bc842363b602536be2670d8bccb3348bbfa4a46bbea95f5bd33e4a4bc97ba2ebbf24a1abc9f557cbd24ee32bcca0ba1bb16ece6bb3e6506bcf0cea33afc90cebb000000000000000000000000000000000000000000000000000000000000803fa4d3cebbb4cfea3cf9d80fbe03deae3f97f4a5bafe1db13cead7c8bddce28f3f7efcacb713a69b3c79dab0bdd159723fcd47e8b71eea8e3c9ad182bd68a2333f4980ad383516443ccc7305bdc604e23e2c01a93a7989ad3b036061bbb2d4583e6522a7b8f2338538de6dc33cbbf65dbc0000000000000000000000000000000000000000000000000000000000000000dee9f6bd2a309a3c00000000000000002b3f69bdf0e5ba3b0000000000000000348904bd58bd043b00000000000000001680d5bb753185380000000000000000dd102c3cbe02f2ba0000000000000000f8a1bd3c099c96bb00000000000000001702c03cfd6336bb0000000000000000000000000000000000000000000000000000000000000000000000000000000027b1f5ba5f0a6ebc9b6e613d2be0823c7b94b839031a79bc60426e3d2123673cf312d63848e420bce3b3503db30c6f3c3b61413b63a64cbc8b16293d5a50583c3942033bcb28d0bb05c0f63c819a143cb7ce5a3b65ae98bba3f3573c9061a13bc4a60a3bc97250bb0b1e2d3b047648b900000000000000000000000000000000000000000000000000000000000000002e7a96bb550b12bbfcf350bc8162713d3619a4bbf6c4b9b9af7c3abc9abf513db27491bb2033e53a89a033bc0e902c3d83af69bb264f053b17f525bccf21123d67684cbbc5de653b14892fbc6d8eb23c410714bb0aeffd3a73cc01bc941e0b3cc025b63a68a12d3b37f0c0bba3418eba0000000000000000000000000000000000000000000000000000000000000000cf8383bed8ff8bbc7e7ea63c2df462bb804a7dbe6d4993bc3df6653c3c688abb53086fbe8399b5bc49f8633c6bddf7bb15193fbed2e9b4bc58463a3cf1efe6bb6c2e02be876aa1bcfd601a3cfd9502bcd73481bd7f1517bcd05dbb3b0d03dcbb589f60bbdaa791ba59d9873b1c69ccbb0000000000000000000000000000000000000000000000000000803f000000008601bb3c016314bea77fb13ffa5fd6bd7f796a3ccca4dabdf4a5923fc09660bdf9fa413c2cc2c0bd545c763fc40522bd61f81c3c45b693bdf964373f974dcdbc7c989b3b18b323bd093feb3e8c6d66bc6e765db9fe9bb9bb03bf5f3ea1bbfabbc248b0bbf6b8d43c404f95bc12e979bc000000000000000000000000000000000000000000000000000000000000000059715c3cbfa8c2bb000000000000000023c7243c9c9c99bb00000000000000001bc7383cef4da4bb0000000000000000ddef513c7d8cb8bb00000000000000003bad6e3ca799d1bb0000000000000000004d713c84b1c3bb000000000000000014dab73cfaea09bc0000000000000000000000000000000000000000000000002cb92abb696d84bcb95a2b3d675bfb3b1750dcba9011bcbcaca6763d3456d63b1cb985b81a219ebcde22883dd9db143c7cebb83a99c186bc45546c3d8740143ce9a9d53aced74dbca32e373dcbf9c83be5d55b3bcd1918bc9380eb3c3d3dff3a669a1a3b7daca1bb8531533c442eedbabb173c3bde80c3bae3dae33a50eb9bbbb459a539c5452cbbb1702bbbb8ac1cbcf302e3bb822b3e3a82104cbcd4dd8a3d26c10cbcac53803a22536dbc5dc2983d47e4d1bb035e2b3b48d746bc95f4793d4b0262bbf71a753bc47041bc76f84a3ddcea9fba6a66493bd5e320bc2a44043de4bd163b0b76143bf7e1e5bb7301323c32c6be3b933f463bde40a8bb4b7c2abb94aaeb3b6c6ec2b91bf0f9ba9b267ebc5c5ff43b36244c391e36eeba6ee580bc027b5bbed3e0273d7e232abb77bb373a378980be8a780c3d4d6714bcc06d4f3b71e88cbefab5763ce338f2bb9872203af84e75bec8832b3a2e5130bce5b93c3a15a936bef31ff3bb45542dbc9f359cba0908d5bdb6b32abcc5b555bcd47298baf5a41abdba4213bc5afa5ebcd7bf6db9ca62013c1e2984bbaff446bcccbcb939249b3d3d3968aa3b9e320bbce5c3513a5d72f63ccf4f50bead58b13ff9e2c1bc8741c53c1ceb24bee81f983fb533303da314943c55bf0bbe861f883fd9507a3dbd8d2c3c6518c9bda517553f24d9b23db9e8bc3ba50b64bdaccb123f961bd33d47b8433a977760bca48aa23e52acdc3d62be2cbb6eed913c691fc23d5321cb3db11e20bc8a433f3df3596ebdbdb4a63d5f8a67bce2fd943dbb4761be6f03173da1a71f3b715b71bb0000000000000000518e08bcc3c845bb00000000000000000db106bc610533bb0000000000000000b3060cbc294493bb000000000000000027dc0cbc889fe0ba0000000000000000910ef5bb117f25bb000000000000000077480fbc2a5a13bb000000000000000010791cbc0ab0a13a0000000000000000fdcb103a058445bb00000000000000007196a2baa73e99bca073243d9d6309bbc945d7b96a00b3bc32c56e3d13b9153b1f4c17b701c697bc35956f3d3d31af3bf0ec00b9a05c7dbcd4bb4a3de8e2d33ac24dfa37c3094cbcf7550d3dd9c24c38da4572ba7075afbb2b95a33ca78ac5ba0dad8e3a165a9cbb90c6113c15e28ebb451078b8b86020bb34ef713a1d6f08bc23302c38cca3f6bac46618bbf04c42bc37f321bc40939e3baa4132bce766803dc6c0b9bb18da633b06d523bcd44c833d1adbceba0aa1413be5ad25bcfde05f3df67c963bb8dc6e3b0f53e1bb44c5123d1266c93b2fe1393bbcff88bb9179923cf5c0383c46ebf83afb1919bb7a3818ba64a2613c938fbfbab9c0eaba2f3b1abc8e428f3c9fd78ebb00da643aca6f9fbcc6cc4a3c6a2758bb5333d53a2cfba0bceb5c4abee536ca3d835017bd6e3f033cf41a80bee6ef683d140f16bd8411243ce6fd78be12d5b73c4c9d24bd9cf73f3c290845be0fbe863b8aa120bda881f03b12ef01be44241fbcbdb227bd94e51d3cfd166dbde9cac9bce8cd16bd220aff3b6b7900bceb8ecdbce2ae04bd20b00b3c70cdf83c7f79a8bc28a6d1bc95ec173c27ef473de4cf79bbb9589abc02bcf23b3ab3b43c2fb42ebe2f8c8e3f0bf62b3e84fc9f3c4c9f25bea74e853f7099593e7cdb5b3cb379f5bdea895b3f4854833e3c1ad83bf4ab95bd2fd71e3f4d428c3ecc2d263b679deebcf802c23ea8458e3e601518b8fe7d6b3be4f9233e79e2883e36ba95bb3663023d504d24bce13b683e95ce1bbc35726c3d14100dbe34d02e3e2abb44bc7909883de8fc54beaa76e13df4a1c8bc12bd55ba000000000000000080b308bd133611ba0000000000000000ef1c16bd2d2d30bb00000000000000007fd015bd7e26833a000000000000000050e510bd61b50cb9000000000000000046921bbd12a00c3b000000000000000036a50dbd005d563b00000000000000008a3e0ebd16f0c03b00000000000000007eb013bd2068283c0000000000000000077f6a3a93818fbcb713193daee4f2bb8e7ba6b9de4babbcde1e5a3d8c76a3bb0a9d883ad0f892bc6e9e423df6a7c3b9704021ba492c27bc5baa103d73fa6ab827e11e3a982809bc21d0af3c0e508f3af384c3b9aaea37bbc7d33c3cb04148bbc67282ba39cad5baae37aa3b49aadbbbc0d3a039ef9e82bad32861ba8d9414bcf7b2a0ba21c629ba2d4330bbd30362bcd2c523bc8984c33baab6a9bb89a13d3d80de4ab9f458573b7c97fcbb46904e3d0c8f093cb54d4e3b407ebabbb54c0a3df159283ce7b7103bfbde38bbb110703ce00d9e3c6fa15c38acb819bbb8c8923a7861c03c848411bb4f8f39bb2dd219bc67bbc53cbfcea5bbd3e5a13a72b8a0bc86e9c43c10c212bc023e923aabd4b3bc29a7a43c44fbcebb07c4513b9c51afbcbbe642bef2c3013e8ffa85bd92b4873c0e5a57bed78d7c3da64e8cbd7671ad3ce34136beba31433ca09e8abd8b079c3cd66700be790c9abc59678cbd400bb73ca02081bd167835bd409488bda9e58e3c88f87ebce54554bdb1ef6cbd5c3c9a3ca0a9a73c4b4749bd8c6c3fbd2513893c7ed4373dea7f18bddfdb01bd548e773cce165f3d70ce93bc0dcfb4bc3fb0573c68e1643c1be60ebe523d663f5c61c43ef43b643cc72fffbdd9c3483fdeefe93e3feee53b1627a3bdb2c8183f1408fe3ef6d63a3bd1671fbd6ebdc73e2052003fb7f7a73a182496bb912c3d3ea02dfb3eaa7efbb96080893c64bb0c3de569db3e3b6898bbdb7c293dff5bb2bd38c8b13e9b3cfcbbb02e603db8d426beee197b3e734cf4bb7bf05a3dab8c4fbe14f01a3e263865bda5d6463b0000000000000000dc5795bd0f679d3b0000000000000000347099bdcdca973b0000000000000000fc2f9abde380483b00000000000000003c9695bd1093f53b000000000000000075c294bd4c01083c000000000000000054328fbdb0a1413c0000000000000000a64293bd44aa9a3c00000000000000001e8291bdcec3a43c00000000000000006375853ad94e84bc9ef9143db6a654bc4976293bddbb98bcac58283d3938f2bb61a1513af7bf4abc09380b3d91b43b37574d873a52bdf7bb6df3b03ce9813e3b352ca9b954de99bb10b5513c0c7cc03af87a11ba54fd20bb9b11ef3be1a966397044353a3b2320bbc28b713ae4278bbb25bd8fba5d50de39b3b101bb042816bc9cb8e5ba0d78973a20ccb2bbbc134ebc962dbdbb2d62c73be417b8bba277163dfdc0093c92fdfd3a964b47bbe11ceb3c200b5d3c4ae8813ae43023bb9664733c4d52c33c30a24cba92daf0ba5470caba4021ae3cb1f431bbfb025fbab44497bb5a27ec3c55eeb7bb736b603bd8aca5bca537df3c693408bcbc86233bc06da4bc9ab1ce3c18004dbc59e1713b1ddfbabcc562b93cf06552bcbd518a3bd6b19fbc636d24beaff0f93d569babbd9025d13cf05919bea537173d2be4b4bda97ee23c7b16e9bd2c1b9fbcadb2b1bd269be83c251d73bd0eb780bdcb8ab1bd1c68db3cce1ed3bc88b189bd9bb89bbdd7f9d93c194a943c603cb0bde71491bd46e3d53c7a55113d81fb83bdbfb04cbdfd69bd3cb4714c3d5cb043bd760ef9bc46c2923c3991573d90a6bdbca4ed9cbcfe17853cb0c3d23bee68c6bd4c1a233f5955253f7976a53b1bde9abdbacc043f6f6a363f9e231c3b9ee22bbd3097b73e2e233c3f4366b13abfee17bc8fc4393eb232393fd62a6cbae246b53b8d7d713d7f75243f106349bb93aef93c61e575bd3ae3103f6dc384bb65d9143dd788f0bd0d99d33edf56b3bb9b43293d94951fbe64bf8c3e6cdcaebb6c622c3d95ef2fbe02921a3eadb4d0bdf4cc2a3c00000000000000000b0be1bda129423c0000000000000000030ae4bd7911343c00000000000000007c38ddbdb2ec363c0000000000000000f49cc7bdbb8c403c00000000000000000faed0bd3dbd7f3c000000000000000026c8cdbdd177ac3c00000000000000001bbdc8bd5329ef3c0000000000000000e7adbfbdf3cd013d00000000000000007856123a23f95bbca611ec3c10f876bc0f30203a174636bc1d9dcd3c78bad4ba11c838ba9fdbe9bb812c993c73cebf3b65710b3a94b661bba4b9293caf9e073c49060bba8cc229bb5e48ab3b1eb5213ccccceab87291b83953d57f3a05fbab3bf46ca7ba0e977bb8dfbc513aea23a1bac95609bae1e3e9387ffcf3ba367ebfbbbebbf7b9b20c4a3a57bebeba1a6127bcd36f453bcbc02b3bd33b9eb90e4a943ce7bca53ca42174bbf9b9cab7c3141b3c932dd83c5b1a96bbb8e5263b3c0044bb7427013d6a14afbb03b2b23af0cc48bca734113d918706bc4841073bfc588bbc15d80d3da54942bca2d2263b8d52a0bced57fa3c2cc254bc5b9f923bd0a4a2bcd01fe43c01fa82bced2fa43b4259a1bcd096933cc3a04fbc0b46983b7ba190bc9eb4d7bd2ba8ac3d82d5bdbdcb87f53c7ccda5bd90e2b3bca363bbbd03d0093d4dcb38bd45c3a6bd3b75bfbd01a0083d3d0326bcddece5bd2223bbbd9c4e073d0ce6943cb35204be6345a7bd859bf33c4d12033d7242eebdf27a7bbddc3ee93ca4192f3d344db7bd4da028bda5c1a73c89593b3df5af6dbdaad8acbc5024863c0a16323d37c4e5bcf5bcdbbb982f4c3c08a997ba9e7c50bdd416c23e3891673fe09cf4b972f115bde46f8e3e4954763f9b64a1ba260536bc08651a3ec97d753f0d3aa6ba32b5b23bc67b453d5556633f34790dbb3fbaaa3caae331bdb6d0493f4ecf20bb1b8acd3c4454a6bdc9201f3fb1c3ffba42a1d03caef9e3bda8bcde3e23cb62bb0f34d23c8b05ecbd00f0803e903e52bb3093b13cb944e4bd85e7e63d47770dbe05e7923c0000000000000000cee71abe46b59a3c0000000000000000bd7411bee2cb8b3c00000000000000000d4704be5358863c0000000000000000052201bec0c09a3c0000000000000000f347fcbd4f6ac63c00000000000000009a8cf0bdaa3c053d0000000000000000f2a4dabd8879173d0000000000000000a754d3bd8ba11f3d0000000000000000647b6a3a1bdd04bcd2935a3c328b0dbc8c962c3aef2ebebbbb83213cb9c5c63b017f4139ebe608bb4207913bdb96923c97c7a2bae71802ba08020c3b33c4b33cd12fffb9b14dc33a96ee81baaaa1a23c84b3a4ba5c7da83ab60d32ba9fd66a3c17fca4ba0c230b3bcc841fbbfc51eb3bcae31aba4d9ec13af40ab9b8aba33fbb738727392759ce3ae0a319bb0206cabbfe95693c59d1aabb3dfe313ae7217f3b5079f13c6ebe1bbc9d7b2b3bfe7bd0bba0b9103d14b928bc702e203a77902bbc60e6163d32de34bc86942b3b2f6d85bc2bac0b3d09353ebc1fa1dd3aee3a8cbc4cd50d3d7ce35dbc9f35533b3c3f8ebc8f4ed53c238556bc78419a3bc66e8fbc1998bf3cdc177cbc5aa4793b11d658bc7d78663cef0f55bc2637893b983e25bceac92dbdbb868a3c94e398bd1440053d2bcd67bc9aaac2bdfd0ba3bdf887093d194bfc3b0dd61abe11c6a9bdd0ba0d3d424dce3c5b0835be153d9bbd4238043dbd4b0d3ddddf2abea98d81bd69a5e83c727a1e3db40e12be89633cbdd2a4ad3c321f163d9ddfc9bdc3e7c9bcf4f5743c0828ff3c2aa266bd5178c3bb4763023ca6fbbc3ce377a9bc0742ca3ba82cca3b244b2bbb512ba0bc6b8b273e37168f3fc7e6dbbaa82110bc8e10ac3d5501963ff35603bb9e7c823b17ac593cb8d88e3f8ea37abaa6433a3c94ec1fbdaf8a803f564756ba32d87c3cffce91bd4374553f766bbcba11336e3cc6ada3bdf0231f3f4b1f47bae5dc563c569094bddc6bc73e19b182ba60e8dd3b3bc463bd8a903b3e169a6bbaf57b673b4aab2fbd69ca273d05e929be7df2c33c0000000000000000f6c431be3d57d73c0000000000000000256d1cbe5ae9a63c000000000000000087e90fbee95ea33c0000000000000000a87c07be8dc6c63c0000000000000000a690fcbd0313043d00000000000000006c07dfbd7706113d0000000000000000c44dc4bdac6e293d00000000000000006f5eb4bd123e223d0000000000000000fe4ac93a425c07bb86c1563a6bbb113c95a3e83a7e8cf3b81195eabb184bd03c0663c33842f1d2b82a54b7bb3c4a223df684b6b86f44523a3867bebb1088253dc96c95ba8e2df73ac968b9bb3f4a083dfd56cebaa624263bc3372abbe94ac43c436500ba11a73e3ae41f5fb9e7ec2c3c70fd83ba4b9e003b473ff53a49afaab91da0c4b750eab63a93ed0a3ace30b9bbb5fdab3c3f892ebc60e4f13819cfeabb9103f93ccdae7cbcf892e03aa2fe64bcd582fc3c947037bc56bd0b3b921f77bcbe2efc3c54c624bc409b163bea0d7ebcf7e0f53c0f532ebca0c9383b29fd77bc69b0c13c9c0d1bbc0d36773bfa5457bc101e923c45000bbcbc4f813b31412fbc22e4433c37d5eebb849c883bc1d1c6bb94658d3bd6b30ebc01b7473b2a736fbb9655483c1d9ecbbdf9ab39bd17d4eb3c9c0efb3cd7c526be436030bd0d08ce3c00921a3d9e3362bec95858bdbef1d23c7e802e3dd20367be3a603dbd7dc3a73cc410263d256f49be070420bd1b83823c6f68fe3c31be17bec4e2d9bcdfaf163c3506be3c689bb9bd7e0236bcc535813b6714093c0b5919bd4655a13bfbe48ebba50db93bd0e91e3be64ea23cecaf60bb8051aebbfb87133cb025cbbcc173b13fab141abba334a73b77afc7bca2a69e3fb9252abb7a575c3cd6f082bd873b983f25aee8ba9f5f4e3cda239dbdc2bd823f7dda92ba7a381c3c131494bda71c4d3fbe399aba6e5bd83badd158bd6b840c3fb4c387b9af6ca63948cffbbc1b189a3e014c473afbfd07bce0735d3a4bdabb3de79dcdba94b714bc3cc5963cd767bfbdf26d49be3de4fb3c000000000000000042d212be41aeb13c0000000000000000ec2b06be06e5903c00000000000000009b12eebd45afa73c0000000000000000c0e8c9bd5eb1b83c00000000000000008087a3bd02b4d93c0000000000000000ce7488bd1020ea3c0000000000000000270d31bd2abed83c000000000000000048b35fbd06c5053d00000000000000000000000000000000000000000000000019a01f3ab8a07e39845f54bc0f7c4b3dd56bc83a55d29a3acf1d51bcf3e9533d30a44bb9ed9e1c3bd1b40cbcf32b443d31b435ba914c3a3b1c8f0bbc3b55273d98890eb99a7f5e3a26ad86bb1db7d13c2fdb9639d6ffe43a940154bac12c533cde35aa39c1301c3ad9bece3a951b2b3a000000000000000000000000000000000000000000000000000000000000000053e3b83c2c912fbc970e8f3a28a25dbcf487a93c73ecdabba6fdaa3ad09b75bc3f87ac3cd1eeb0bb1035843a560e4fbcaa599a3c0b93a0bb985c3d3ae90d36bcf8196e3c1fa7e6ba9afa2a3b10500cbcfed2123c0adf69ba1599f53aa67bb9bbb8db2f3b2d9f4cbaac4c013baa2586bb0000000000000000000000000000000000000000000000000000000000000000efb2733d269484be25c858bca643653cbec15f3d46b17fbe67cb85bc4277ea3ba30b403d40f571be55aebcbc38ff9b3b4966283d1f0246bea40bb4bc2224ad3a2dccdd3c5ee305be1fbe7ebc0ee480bbdd68273cd7bb8cbdd00a10bc575ebabb3a08da3a761f39bcba30ce3b80930fbc000000000000000000000000000000000000000000000000000000000000803fca528ebbf06eaf3cb9740cbefa4db13f8a53b9bac0fb723c5a3bcebd38fc913ff017ddbadea4363c85a6babd16a1743f89b94e398eb5d13b742290bd9f54353f3ccd4bba2f01173bd95e22bd3a91e43e6c425eb8a37b9dbb80937dbbca3b553e2f3b673ac25f17bc5d51ea3caafff4bc0000000000000000000000000000000000000000000000000000000000000000a5d6e0bdfc9c633c0000000000000000090e65bd481a003c00000000000000002b511dbd2769033c00000000000000001b448ebc01d6003c0000000000000000a9b4c4bb45322c3c0000000000000000803ec23b2d46173c0000000000000000464c863b427c2d3c00000000000000000000000000000000000000000000000000000000000000000000000000000000f87637ba39028bbc84cf6d3d81f1203c1520f7b8fa86a0bccbd0883daf79edba796f2837eb228bbc9765813d321f13bc0733363a7d3d83bc99d3623dcb6e39bc34133a3a1a0c4bbc2782283d743738bcaf8a023a7410b9bbed88b23c680af7bbdfcfad3a3ed3e9ba57d7e63b3d62d0bb0000000000000000000000000000000000000000000000000000000000000000062dd6bbf4e64e3a3989adbbd650463dbb39a2bb2236d93a528e89bab8de2f3d67dd03bca1d28b3b7534ae39ef0c033d683019bccb6cd53b1ddbbc3ab86cde3c49720ebc2185ba3b24d05c3a51bb8a3cef95a9bbbc6c9e3bcb12b93a0d0aac3bf3385fbbaaa69a3b373ad8b90e066abb00000000000000000000000000000000000000000000000000000000000000003c258bbe4aa8a2bca644213d794b36bc44ca8ebeb2e9623c92e5cc3cf32d1fbc66fa86be74391f3d0115b03cb2e866bc00f563be406d533dfb756b3cab4668bc836e23be635a583db04b0c3c53c841bcfec9a8bd0cd1293d26200a3c10753dbcb6f964bcd8a5073d49ad05baf6ca0cbc0000000000000000000000000000000000000000000000000000803f00000000b3a593bbd99fd4bd626eb63f39da02bedeac3fbc29f963bd6f34973fa85ae5bd1d063fbceeef15bd999d7a3f35c9ffbd16f75fbce7389bbcfb663a3fcf7ff1bdf7e433bc7ced913a7dc6ef3e8779d3bd6c5b3abccee4933c08835e3e3c07b8bdfe4110bc6e0cf73c2c49bebc3b1c87bd000000000000000000000000000000000000000000000000000000000000000093f4a93b20236c3b000000000000000073204c3c7d98403b00000000000000003399c93c0dc73f3b000000000000000022460a3dcc82cb3a00000000000000001aad163dd665013a0000000000000000ed721e3d449f90ba0000000000000000025c383de24992bb000000000000000000000000000000000000000000000000821094391fb49bbc88e2593d02eae73a47ee343b63390abd188cb53d534e44bc58167c3a2b9ddebc64fcb43dc62ca4bc0f080b38fe47c3bc5702a63de2bbc6bc72fb5d3a0ec589bc6df6773d7bd6b0bcc5a6093a11770cbcd665113d22596bbcdb34a0395895e4baddc54b3cd1750cbc16f2133a4089ce3b3bf732bce2a3f4b936b0bb3a930d953b7c2853bcdba305bbcf4c5ebcc80abe3b723fd5bbe4b77c3d77d98bbb22d4443b547764b963e4863dbff3f1bbb011eb3b42a2643b52b0383d1489b6bbf377ce3b4805ae3b5e0a013db0df48bb5914c83b1b6a813b57016d3c067a52b87cf4a83b38e88a3bb9ee4eba46931d3b1248c03a6573c43a76e328bc61ef993bedf0a838ff28e739d6cabbbc72f8203c9fa77abab5ab86baa8a7c3bc705b84be6fc1893d32421d3c8b6cfcbba1cbaabea891963db79ca7ba459fa8bb959fa8bed6e1c13d486d51bc0f16ebbbcf8f91be0339bd3d33fd8cbcb1cbd0bb6b3255be4202a53d5887b3bc46aaa4bbc515f7bd402a6f3dc329c8bc79d061bbae2f11bd56030a3dfe44b3bcefa17e38f76d3c3d7feda93b97045dbc84c42cba43dea53dcdc5e0bb7284dfbc60e9103c0dbf1dbcbc1b01bef237b53f244d8fbd6bf1c7bc3e0182bd1b2ba33fd9fd1ebdda25c8bc5500dbbc7975893f492603bdba7dbebc2d1c293b7c8b513f694157bc4c4893bc9c59d83c55e10a3f428a363cc4c26dbc907f363df2cb8a3e56f5133dbcc5eebb664f3c3da0180b3dd970753d509882bb1c08583d929921befac58c3df39b8ebbfa2e6a3d4b7390be91d5ac3dce53143c65040e3b00000000000000009a99163c49208d3a0000000000000000e06ea53ca2526e3a0000000000000000a2e5d03c7581ab3a0000000000000000330cde3c583c8fba00000000000000006175df3c96eae2ba000000000000000010c6923c0c0fcaba000000000000000072a96e3c34023fba0000000000000000a327153cbad206bc00000000000000007b48013a400abdbcd7cd883de249e8bc1886113a917de0bcb9c6b33deb7c21bd4b10553aba62c5bc9e41a43d416f23bd9ef67b3a4f4884bc65cf843d0c951bbd86eae2383c331bbcd1352a3d3a54f1bcc5bd10ba7ef6c2ba0ee19a3c5d5084bc4a1bae39187bc43a4cb2233b2557fcbbe8e2063b4a87dc3b61138bbc486e7d3b32bacc3a046de93b68caadbce5efd53bd92699bc32e3563c00f8443a41c84f3d52ee34bc13c65f3c27b7a13bb194313dfa387cbbaed3323c29d2c63bbab3ee3ce72fd4391978233c2d42963b88f3173c7fabd93b87d8ea3bb365783bc10948bbf53d353ce59a613b8dae303b72cb6ebc4e6e823c713050387fda4e383dcb8fbcf65a933c0c5586bbb27434bb9faacebc9c128a3c67e5d0bb5f558aba6c6febbc3cdd85be2e8e4c3efdab47bd05b970bbbfcb9dbef0e6443effeb68bd20e353bbab658abe2374223e3f1f8fbd26d41a3bbff850be770c053e8d609dbd884ca43b2724f5bdbb0cae3d51a6a0bdb45b083c3bb02ebdff93093d572f98bdcc625f3c5a6d933cb35a0abcd47a8cbdf6738b3c0e3aa63de1e633bd501f6abd8fdcb13c8828ce3d33da72bdfb5129bd3eadc73c2af6b4bcf10c69bd773b8d3fb494813dbdc0e5bca47e9ebc559c7f3fc807a23d92d6cebccca1e83b4eef443f82d9163ef6d5a2bcae7f143d7fd3043fdd0d403e10f23ebccaf23a3d388b8a3e21d76d3ea0d0dfbb6590403dda06693d61f5883eddb915bb27ca343d290acabdac9a8f3e5819033afbcc373daa7d75bee0218e3e3ad2cd3a0435423d4a1e93be2ef5793e65a3be3cdd7166ba0000000000000000eec4db3cf6158dba0000000000000000946ee93cf5928cbb000000000000000080d4eb3c0a6899bb0000000000000000e913ac3c576df1bb00000000000000007b28dd3b1621e4bb00000000000000006bc708bc0fb6eebb0000000000000000b3aabfbc9aee15bc00000000000000002c2e5cbd30809ebb0000000000000000d791e9b91ff195bcb3e3833d03db56bdc8923b3acd2bb8bcfb0da53dd70773bd941504b9d1ba74bcbdab7e3d7e874ebddaa669b9502600bc9a9b233db17117bdd7059a39e70d17bb9db98d3c155396bc88e7553a689d503b23eac1ba320954bb16c10c3b442db23bf2886ebc44d1ae3b496b3b3bcf65053c5c7ed4bcfc028b3c33a3fa3a9438cd3baedcbcbca9bb6a3ce1168abc247e9a3c5d03963b783df83cf06980bbd492853c58d3083c949c8a3cbb72b33b2a68423cc994ca3b128b7b3b83a0433cf7e9053ca2de873bd82fefbbd3ed8d3ccc4b963b5860c53a3c175dbc7720a13c139199b91d1dbabaff6683bc5a91cb3c4618a2bb45616dbbd4dba3bc0698a23cc33d0abc2964b1bbb9cdb0bc5ff69f3c009a69bc20c178bb45a1a7bcd62d6fbedaf2923e078fe3bd744d153c374675be4450773e0038eebd427b173c24f635be9c2e2c3e1bbffebd1578813c669ad8bd9d2ecb3d4151f9bd90f69f3c49dd11bd0a9add3c64bcf8bd1278d93c4922ad3cd35d04bdf4b0d5bd7f7cf13c02518b3d141d9dbded5bb9bdd5c0123d7a54cb3d54c3d7bdefe787bdd473213d614fcc3d2698ccbdc75012bda04b203dcaddb8bc8a949fbcb8c14e3f4760843e866dbfbce0d59f3c9d5e283f1c559e3e3eeb82bc594b0f3dffeee43e90fbcb3ee19221bc83412f3d55e36f3ee149e83ee9407bbb1a4b283d8e97373d99e2023f03d677b9b51b053d196cb5bd1c74033ff0e71e3bca34f73cf16642beb646fd3e443f963b5258cb3ce79a7cbe46fce33ef3d4b03b0385c73c271a84bed87cb03e2175d13c77e701bc00000000000000001f97e13c50b1d7bb0000000000000000fb858f3c6e4122bc00000000000000004c12003cb36f13bc000000000000000085a30fbc10bb48bc0000000000000000f54d02bd0e470ebc0000000000000000cf4373bdf87125bc0000000000000000bc13bcbd6b68fbbb0000000000000000cfd4ffbd49f1353b0000000000000000904ac83a73658cbc21197d3d045a85bdc7209fbae7075bbc343e763dda0779bdd4a4c4b78366eebb8fd7183de39a23bd78fbad392ca608bb4996853c50bea0bc80748b3a3e61fcba02e90f3ca37546bc38160c3b3e8cad3b64f987bc93af573cdcd9343ba7aa923bb6efa3bc2f0d903c34114e3be095d03bab17f0bc5ca2d33c6c3f353b76c7ce3b2ca8dbbc708cb33c0d66dcbae9457d3c9fb5b73b935a5e3cf722e13b9f45623cd8660b3c254d62bb0c3b913c9044d53b55148f3b3eb1fabbb82f9e3c1bf6ab3b4702083b82876cbce05aca3c5310c7bb11b757ba685322bc6d65cd3c8abfbfbb3b9d70bb2a958ebc7597b93c88224bbc2d46afbbd70855bc45409e3c86eb7bbc360cd9bba15256bc1b48593ce18477bca9af9dbbedba73bc1bc83cbe961d983ef9c923bea44fca3c20e31ebecbac603e669e25be8cd4d33c304bbebdbd2aea3d003521befd02063d9ba5dfbc468bb33cbffe1abef99b153d2dc59039c66000bd77fcf0bd58ee2e3dd4af823df9a3debd82d0e6bd2b853f3d627f9f3d677f01befbf19bbd5b044b3d356fc83dab6f10bed2e94bbdf367513d3895bf3d1e3cf6bd9d2c4fbc8d8a223d01459bbca173503c8535023f3e2d053fdce47abcf7492a3da7dcb13e5efd183fe63d05bc27d0113d833b433ecf772d3f91ca0cbb1e54153dc442a73c666b3d3f8d228aba8bbfd03c93d324bd0cbd323f7db9863b9f2eab3c3fda2cbe7c98373f46fc9e3b0d6f333c469d43be2ea61c3f9604013c567da63b5caa5abe20c3033f69c7b93b56f6073cffff51be97bbb73e0ee9203c2f4a5dbc000000000000000092a7b93b860067bc0000000000000000908372bcb57240bc0000000000000000c7aefebcb6065fbc00000000000000003e3d90bd24521cbc0000000000000000db5bb7bd55b543bc0000000000000000f68506be2c6274bb0000000000000000c8482bbef246533b0000000000000000629e37be0341943c0000000000000000b2e732394b9b25bc92a8373d47b477bd6348ac397e9fa3bb6fe8033dc1252abd1b805b3a46b5b7b969af403ce6cf7ebc0ee34d3add43643bb926acbbf2e0593b1733063bde06603b4cd27cbc951ba43cb6311a3b65ed983b01f6b7bc6b0ff03cc98e593b5d8d973b8e29d4bc0929033d3bf1403bc461973bd4fbd7bc9b6cf63ca3bd1a3b2c3c853beb2fcdbce8e8d23c3be66d3cab87023c2f86ba3ba1d3f3ba46b8ab3ceb71fb3b3437ac3b20526fbc2d8fc93c95b4c6396cda203ae4b85bbc0a22e23cd3d42abb48edecbab03362bc06bac63c61c2dfbbf11c43bb996556bc4538a63c054d54bc876599bb066218bc9fee783c8d277ebcef5bb4bbf49730bc95bd273c801d8cbcff43b3bb7f75ddbb06479c3bc29184bc35348bbb64e5cbbb9bd7f1bd22926d3ee5d13bbebc53283d6f1e91bd3dd2fa3dfc833abe43a4293dcb2c9fbc5b168a3b71d827be616e3d3d8ba4b83c22919fbd0d7f14bee3903e3d51b1613d298212beb58bf2bd86d2593d56318d3d688c2abec78a9ebdb89b5b3d57c19f3d8c192abeba993cbd919a593d4a0a9d3db79315be7f266dbcc4ea4b3dcfd18b3db6f3e3bd12a76f3cf0d5043d2b1f42bc2a5cf73c9e18823eb098513f3f61babb11b7153d6062e73d474d683fc26647ba3200da3c9e2cd43b9da9763f2961003b3ca0933c16b39ebd5e8c753fdae0993b137d383c84380ebeabb96a3f3bdfab3b8758943a078f1fbe98134d3f7c31e43bc7953bb9759825be3e76253fce43cf3be81326bcba5b13bee3c7f23eaa45cd3b497dd2bbcc8404beb23c943e0072cbbc516589bc0000000000000000d3ab0cbd4a8e76bc000000000000000086656abdd6e361bc00000000000000002b7fa4bda30332bc0000000000000000cc00f2bd04c31dbc0000000000000000c48e22be227bd3ba00000000000000005df245beab47f83b0000000000000000b6f361be15c7a33c0000000000000000cab555bec3b8133d00000000000000003818933a7a736abb9d97a83c3a3913bd7809623a2493713adc586d3bcf0820bc68e3963a159494392bb1b7bbd82d523cfca8393b578f6d3b671082bc4a8cf73c9222123be8bfa43a5b68a3bcaeaa1f3dfbcb153bff68733b073fb8bcab252c3d44f1fb3a9c836d3bb8d2b3bcd6d30e3d7d152a3b3cb1253b6a1295bc704cd93c39a20d3b8fb3513a80e064bce54f903c3a38ce3c86eceb3a58ca4b3b193c1cbca56af73c023114bb5af0023aa3d957bc28f5ee3cab4ce8bb919cc73911aa13bcc90ac93c383f27bc661798bb8f2d15bcb6e29f3c55a064bc979962bbca52c4bb6b3a2e3c8be187bc70576bbbd1acb3bb0254ef3b14df81bccba15ebb6bb4a2bb1550c23a2e8782bcabbd9abb952d1139c0f630bb03d15ebce75d11bb4dce29ba028d30bd69eae63de16935be67fc4f3dd4a49c3932e9bdbca3e728be35da593d7dcbb53cfb3af1bd5a9209beb8f3583de516373dd6ba3bbe183fd8bd6c3d5c3d32b1603dccb555bedfb386bdfbb5583dfca0693d95e94ebe9dbdf9bc4170503dd899563d639b2abecddd08ba33af253d639a293d92c9f4bd89b2ac3cade00f3d65fafe3c13c68dbd0ac6133d4296b83cf92baebb5409ca3c3ee4753d6cc18d3f5e85cb3abc5a893c0233ebbcc755993f074a973aa7d50f3c65fa84bdec94953f47fa913ba6a00d3b3d70c9bdb58d8d3f4ccabe3ba46b4cbbfcf4e1bd14cb773f2c5ca03b278830bc91b1d1bda275473f37efb63bfdf321bcbf72b6bd21da0d3f37cc8d3b4f6f75bc0dd766bde8e0ab3ea7d1823b2a2148bcdf543abd0756163eab9b79bd191595bc0000000000000000b316aabd2b9d71bc0000000000000000c8e8debdc61233bc0000000000000000d85c0cbeb565bebb000000000000000025dc33becc8e193a00000000000000001bac53beaa6e5a3c0000000000000000269960be5961eb3c0000000000000000c2a36dbe64a41d3d0000000000000000855c51bed8af3b3d0000000000000000d3030d3b599556ba0a8f1b3a35c5edba3d9ccd3a3a71d63a988d91bc2fc7023d52aa2b3b3d44be3a5653abbc054f4e3d7095b13a9acc9b3a8aa8babc5b6f713d4dea583bf6415e3951c8acbcf8a3663d21bd403b9791a53a81f49ebc51e73e3dc852033b669a82b96d0745bcb4d8ef3c41def63a9e971cbb8f372dbb7bbc0a3c6e92263b3d94d3ba9eb48abb1990533b873dd63c095ff4bb25986eb97d0b02bc206ed03c38b1d4bbe347b3b928d299bb3b82a03c51e227bc660b39bb1fee1abb1c861a3c3f6e2cbc500d4dba4222fdbaa86c623b200d4fbcdad56bbb72f1cc3a9e49eab94c6b37bc22d978bb152ea23a0bda33bbb5c92cbcee5900bb595f643a295e48bbdbb52bbc2d34d3b978f3db3a3828ebbb4ae9c1bb992e9eb9a1010c3befd22d3c05d46dbd718af8bd02cb543d9431133d957e2fbed3c0debdccea3c3d9e2a203d985c7abe9a9696bd69e5333da1d7283d908a87be14a21abd736f233db6e6173d0c747bbe7c7404bc0689123d726bfb3ce35c4bbe27e4653cf36de93c18d8ab3c5a5507be5cd2e83c5cfab03c5b7a623a41a74cbd8062133d38d2893c068a4c3a7efcabbb13c1133d5577523b56342bb95975373c584c8ebd5daab43f7e95083b1016c1bbd8fb7abdaa0eae3f87d41e3b3464b7bb6fe285bd5db5a33ff7b5543b385521bc007a81bd4a408f3f3d32623be9da50bca1fc4abd6010663f3d2d6b3b2c846fbc2c8003bdc89d253fa877493b5d1b55bc08ad3dbc1de7c23ed223123ba89c02bccaa71b3ce64f033e00094939d16907bc08b7753ca20165bdb82cffbdad8b10bc000000000000000062cfd6bd80cb38bc00000000000000003dde07be51d355bb000000000000000099b025becaef993b0000000000000000203937bed8d06d3c0000000000000000b86041be7902db3c0000000000000000715e3dbe3ee70d3d0000000000000000d27632bea420333d00000000000000004ea00dbe7d30453d00000000000000000000000000000000000000000000000056e8153b77b6bf3a252bb8bc6dd76c3d549e0d3b1caa5a3a3685c6bcff14893dd33f3f3bd8996f3a7974b2bcf73f863d4874f13a49c6de395bcca0bcf057693d360f013b60958939930164bcb9ab353d1924e63abf09abb9e945ccbbd005b43caacdd93a6492d5ba632a27ba9578933b000000000000000000000000000000000000000000000000000000000000000006b5db3b84db0bbcda7715bb267620bb8ea864bbe4dfd2bba1a7d5ba7cd2173a901b33bcacb497bb31cc80bb297e083b067d44bc7895a5bb0af61ebbbbeaf53a775073bc54ba20bbfa8acdba2b66d53a236b16bc6a3c21bb0f6ac9ba860f143bb346c9bbf2ea18bb7082ce39e3a3843a00000000000000000000000000000000000000000000000000000000000000007c11413d3fc189be86928ebc9917cd3c106d293dda888ebe3c2d2f3c61c7773c06ca0b3db36588bed56ffe3cf7ee033cdd0cef3cf80b68bede631e3d8fd49b3baa3d653cc55a28be9e10273d440cabbaabcc363a35b9b0bd8fc6083d9de60cbb11030abc0a1a5cbc511ede3c96c1bbbb000000000000000000000000000000000000000000000000000000000000803f8b64363b3875abbb1d82dcbd1828b63ff8833e3b7e1e3cbc37a578bd9fec983f854f523bfe535ebc08f036bd75117e3f52c47a3b797f6fbc362ad3bcf8f33f3ff673063b10ab3bbc6d6972b9e635fa3e2d12da3a6c131bbc5253a03c38bd6b3e0c48c03793a7c3bb3a860d3df394b2bc00000000000000000000000000000000000000000000000000000000000000009f64eebddd7c9f3b0000000000000000b4b6cdbdcbf00b3c00000000000000009426d8bda3ed7f3c0000000000000000d072cbbd2c51b03c00000000000000005698b7bd61fac73c000000000000000014f492bd8327d83c0000000000000000e2be67bd2201003d0000000000000000000000000000000000000000000000000000000000000000000000000000000093e68b3b2557d53ae19e143cde3c09bb4f473d3becef2f3bc50a103cb8325738e93c053b3f95123b5319e93bb814083a17f9fe3adc200e3b3b9bcd3bd9dbe53a8568ab38eb0cf73a773f5c3bd769153b4c75b73a37878f3a6153553b747eba3a3608a23a5dcceb385865ea3af6aaeb3a00000000000000000000000000000000000000000000000000000000000000002f3f8e3854af02ba4646053b8f2608bd2c0d253aa84582b96179d43a8806e6bcac56993807afdaba2187ef3a9ebebbbc853594ba99dd8eba0dba1d391eb992bc56b4223adc3e79ba25e70e3b2e4e58bc81bb53ba567fa3b95ecb253b8e7311bc5ff6a4b851e3a5baceea513bdbb59abb0000000000000000000000000000000000000000000000000000000000000000944b5fbd26ecf3bb9e52b339c1f46f385b8557bd40eee5bb6825d03a4f2f28b9174338bd1f77e3bb98192b3b7205a2393d6a0ebdbf4eccbbfead4d3b5ee1a0badd42cbbc9d88d0bb2f24553b881448bacb226bbc54b500bcf861003b37c5a53944538cba2858f5bba187ec3a24196dba0000000000000000000000000000000000000000000000000000803f000000009ccfd3bbc767dbbc011c883ffdacfcbb982eb8bbf51c99bc531e643fbbe57f3af7829cbb2cb180bc9bea393f735fb03bf8e487bb62168abce297103fb776ea3b0ef94cbb3797a6bc57b5d13ee032c03befce93ba9143d1bc8440833efaf49e3bdbb83a3a32fd06bddc72dd3def5c053b000000000000000000000000000000000000000000000000000000000000000053718cbc23b27f3b00000000000000002d7d4abc2a4c493b000000000000000038121cbcea5c913a0000000000000000d2adcfbbea13b83a00000000000000007b2881bb9c0ceb3a00000000000000001e545abb631d213a0000000000000000973810bbfe0c773a0000000000000000000000000000000000000000000000003655023bec6c0ebb883a0a3c2b4af7bae07aa43b6c88023b67d1353c41bc5ebad3a05c3b6f21123bfac4413c4877ab3576c3093b43f4043bf9e73f3c873d123b33c1173b3bfb843a3f73193c90bf2f3b1fed103b822b873ae867d23b0b9f5f3b9c9b1a3b4597043ad243853bd622373b00acfe3ae4e566ba4ce1e53ac49f123b2f71813a73b7ecba758cf9395c28173bea6e283820287eb98e97673b85930abdb375073a69899a3901e3ce3b873327bdd20409ba9b413dba7e20c53b385811bd368280b9fc2451ba02a0533beb6efabcd07c2eb9298be33803ba353b9c0faebc9c13a838c451acb9ffd1643bc9be94bc74277bb9675151ba829e9e3b42b84cbc150c68bada9201ba43a59e3bcc6fd0bb8b8edeb98bed02b915db5e3b0f0442bbf3e2e9bc5836edb9030dadbb1a6c123a6d3477bd21f50ebca385e9ba37f0d23a05567bbd8ede0dbc958c6eb900089e38fcbf62bd172725bc6025c53a149d07ba89d220bd0ed918bcce74c23a00111f3aafcafbbcad161bbc82ff1f3bd82281387a4286bc3dd017bca480293b4bfe053a123eb8ba45f30bbc4153c43a42e82b3816b22e3cf4643ebbcc11983ac129b63784a671bb12fd5abdbc73883f8364fb3d48ab31bb7eb076bd5dbf7f3f5836ef3da2c086bbc7ae3cbd224f583f2bc0e13d9c8297bb68f221bd0cf92f3fcd9ec43dd4245fbbc16512bda9c8063f8135a13d4714cdba04be20bd7fc1c23e232d803d1c9d583ad70d2ebdea56703ecd382f3d51e3b23b73fe3bbd2b90c33d08faab3ce2578c3bfbac19bd8cac9dbcad11853b99bc06bd59e7a83b000000000000000094d60dbd4f049a3b0000000000000000ba48dfbc3be46c3b0000000000000000afe7b3bc36a44f3b0000000000000000a35b73bc3626bf3a0000000000000000082252bc9311bb39000000000000000048a418bc7ae730ba0000000000000000f47cf2bb0d52d03a0000000000000000f6faa6bb4ab3063a0000000000000000afa72a3b5f3adfba9071ba3b45deaa3a0a5d8e3b5b2eaeb8ed4a143c4b8a053b9f0fd33a0a149d3abc22153ca43d783b9301563b7285853aae0a123ca285943b76e2c13ad9cc2d38d7eee03b2223903b3721f03abb7240b875b3cf3b3401a73ba20aab3a8e82aeb984d28e3ba538863b1d00df3a5f6ffcba89ebf83aa4175b3bf6254e3aaf1a09bbae21303a505c2e3b61789c39503ddcb9bff7563b37c0f8bc241a81392b571eba9956c93b52f71bbd2099b93908a304bad1a5573b05d5f2bc7547423a5e748fba8e5a903b6f4be6bc07a37d3aa7f424baa6d02c3b6403a4bc3576293aebb803bb7504863be0d389bc5dbc2638b0214cbabe73773b776630bcf48afeb964ad30ba69ab983beea8e4bb8fe846b71120bfb964c0403bbe5577bbe71497bc4233273bf776ebbb4952b139682734bd5fe0b9bbb178bfbb204a8f3afab33abd4e5216bcd5fae8ba7dc3243a3ac53fbd86c830bc2539ba379c97e03a2dcc04bd154b0abc70935b3a12233db8810dd7bcfb140ebcf1abe93a81db4a3a24ed5dbc687fc2bb7ca6ce3ae1bf1939ed4b3bbaacbf8dbbfa00993ae2d18e391c53f23b131e103a0392893a68dc28b9b902e2ba731970bd1f14663f4cdb8a3e0ca319ba736592bdfd295a3fe188833ee5337cbabe665abd8956353fbd00693e76eeeeba5a5e54bd01ba183f45a5473e58ffc0ba5bae2dbd4243e73e4dac1d3e1d240d3a904840bdd8d9a93ec89bf73db08e2a3bb0d72ebd880d533e41b4a53d4ff0cb3b530542bd54c3b13d8456333dfd68a13b5a010bbd4c5d3bbcc65c053cb12527bde419853b000000000000000050c745bdd7d9b03b000000000000000095e70fbd2472493b0000000000000000625dfbbcb61c063a00000000000000000779afbc1109363a0000000000000000382c9abc7175973a0000000000000000b7b161bcf600a33a0000000000000000b57d42bcd32cb33a0000000000000000c830f1bb766bfa390000000000000000605f0e3befdafbbac76e8a3bd1008d3b26d05b3b558d3bbaa5fbdb3b15fcae3bc334353b6fb73f399b9c013c0512c03bb855123bb70b653987b8fc3b2943d93b86a9c33a7e32fcb85b02d13b9bd4d83bcd30f43a8cff4eb98f5ca93b4b92c83ba59abb3acf8989ba49e6623b2126a63b9fb1173a002815bb0349133bf13d903b78f9223aceacebba1147033a1570423bbf001f3af28018b66536cc3a434bebbca545213a235119b94392b83b3bf808bd8019f139ba3f12ba60e89c3b821aedbc52c68b3ac6dd87b9966d8e3b0395c6bcb92fce3a96d3c1b9f286693b6be498bc6f2c763a720e2fbae58a853b47026cbc6b7ad5393f192bba91f3843bb79825bc9d4c363a2ac492ba25c8ac3b4d5ee9bbd444b339b275afb9f4241a3bdfc776bb22126ebca4c4a03b1d6704bcf68a2c39ede416bd5ae2afbb8853f8bb8ccd0c3a9ccd35bdd97245bcdaee6abb54f6523a428a2abdfcb851bc48e173ba1ce7863aeaaa07bd24ca2dbc1a2eef39cfa6443ae518c9bc9c600dbc1102193a7c3e2f3a134863bcb9b1a1bb49996e3aab1f073a60e90bbb1cdad9baed59983ad534b1392c728b3b3e2b893baae18d3a9b1658b9c5ef99b9b24767bd59cf3c3ffe34d93eccc35b3a11dd92bd92bc323fadc7cd3e1642a1394bdf7bbdcab6193feca5b43e9ff8be3930335ebd1d48fc3e18e5973e354a193a078b46bd3495c23ec9e2723ed7e41a3b207f42bd7a698c3e4e70373ec3b48b3b5f6439bdc48f2d3e663bf63d12ffc13bd46b35bd67d2943d78e0833dd632993b8c56f5bc67b118bca06d2c3ce14041bda672423b0000000000000000486369bd3814833b0000000000000000bd2039bd4cce273b00000000000000003d2419bdd704073b00000000000000000a03debca8db753a0000000000000000b236b4bce01f263a000000000000000013b58dbcad20943a0000000000000000358f59bcd8f0be3a0000000000000000eaf505bce4efdd3800000000000000005700ce3a906ce2ba5057283b7561d93b7482183be81b86baaf19963b5b04ff3b9e34603afe1a8b39d0c4c03b6900fc3ba138023b57483c3ab1f7c43b859d113ca48dc93938bf10ba5189733b2273cf3bcc1ed03ae99816ba9280843b59aee33b57da9c3ac71114ba14ca293b2c2bb03b9bcc9b3a15feafba517a4b3ad385853bc0185c3a8ac9cdba3e684d3988db583bd23977baab009bbaff6f4b3bc178c9bc5840ec399d9eabb908bbb23b606bdebcb27a5c3a611709b919b12e3bebe4aebc8b64b339fe0da0bab6678b3b73c5aabc7efdd4b9085005ba177b6a3b3d1b4bbc6f7384b95dbc0dbae0b48f3b0aa039bc37e47e3a2d444bbaacac093ba601e5bb2fdac93951ae93baf737673b7bea9dbb33e984ba474d81b888dc253b0cb739bbbde47ebc47cd863bae4afebb04b0acba3b460cbd281705bcba7000bc9ae9703aff1419bd12b86abc99fc6bbb4aa1a13a011e1dbd4b3687bcd0fa92ba1d7a1f37e566c6bc9217f8bb0ccc86b9f0a19739f089c5bce21410bc4cbf133a7ad5453ae02455bc314d39bb2438ac3958c0503afd17b0bbe20a493bcb8fc73a63b4b83a4930b93a96a8003c501e943a7a03dbb854f5813adabe56bd2202143f0833143f72cc213b5b3a85bd60a60a3f29e00b3ff13bdc3a1ba655bd11fbeb3e5448f03e1cf6d83a5fe44fbdb8f1c43e9619cc3ee0ef283bdee80fbd79a9923e31f0993ec1ed6d3b42b72ebd84615a3e722a723edfae473b708813bdea7c023ee8691d3e9cbfc93bfb8913bd2cec533ded59a43d11eaac3bb74fcebc195b42bc77f7313c271354bd7298abba00000000000000001d3e78bd4d0e843a0000000000000000a59a3abd50a3803a00000000000000009d5a1abd78b88dba000000000000000024a4b5bc93a743ba0000000000000000918ab8bcf287f1b90000000000000000fabb7dbc3c9a8f390000000000000000acb863bc9c6ae8b80000000000000000f23c01bc27a2b0b900000000000000009ce2cf3a9bfab0ba0deb9639253de43bccffbc3a2f4b0f3b88c34b3ba5a32a3c7e9d0b3bd325123aa2be873bee7d273c69baba3a7ea6773ae72f9c3bb068203c26908a3ad01146394671753bad000b3c82dabe3811f96fbabf41503bca41f13b3e3e403a1f90a0b900e4e23a74a2b43bb262563a479777ba049da7b78111753b02231d3a342b87ba390f02bad38a2d3baed91bb8bf621a3850fa593b95e695bc493460babc937cbad4439b3b9b3eadbc83760a3a249993b97843a03b7ef78fbc9e54693a75e102ba290c893bf41965bcca0dd93a1b20c9b9ec946b3bb14034bc4f7bef3a602d17bafa1f293b0075f2bb4338ad3a4e1551ba7c1a6b3b7fdda7bbd2b8343a869772ba72a0653b85a529bb81bc713aaa8055b9524f8a3a236142bbf967a1bc7cdc88b98f020ebc7af7ddb98ee619bd61a288bcdc9229bcf75d1f3b9d3a2fbdb1aacebc1747b1bbcc4d8f3a489921bd456cc6bc4fce4abbd2bc9b3a7a9002bdcab897bc5f2fe3ba530ea93abbdaccbce36a4ebcdcadbeba527e913a7d1489bc88f890bb0619a7bae29f843a6f5d03bc296d993b88e873bacd98f5391ddbb7baf3021e3c59b80c3a9e65baba3adf2c3bb44542bdad41d83ef88c3c3f816e3a3b0b3676bd96feca3e3716343f4a69843b7c2f56bdefe4ae3e73a01b3f595a663b04a63bbd582d8f3ee8d2003f3fff573bb59724bd9a235c3e37bac93ef7cea73bb3b716bd4cd91a3ebb73953e1503b03bc4d808bd7b1bb33d9989423e4b74dd3b2c48f3bcabc3e43c5ee1c03d75a66d3b20c99ebcabd58abc8837f73bc6bb62bd28e892b90000000000000000699d8abd0fc8843a0000000000000000671351bd2dd9a9b90000000000000000e1f120bdae7990ba000000000000000091a7ebbcf2187eba00000000000000005cd2b9bce4ea04ba000000000000000031b88dbca0dc58b80000000000000000c5bc62bc42153db90000000000000000832fffbbc923cfb90000000000000000353aac3a516f18381eecdcb9cc6b043c88e5043b596cb13af4cde93a7da33a3cd42aae3aaee7b73af9685e3b427d283c63dda83a82a2bd3a44316c3bb8f02c3c55feee3aed02f939dbb0123bb99d033cabf7e93ae87f18397d27663bda6bef3b1cb39439e80148396ac18d3a5438a33b8c5d6239b6731fb819f60ebac25e413bcf9aaa3a7d8a2bbae2d4a2ba7ec9f03a405a8aba3f4884392d795b3b6ad650bc3dac1dba057afc391429b93b98235ebcbc62df399cef98b8e837833b06d325bc0ad3743a3376c1b95dbd853b457d0dbc7e9ebd3aed0e803a94e1303b4418c9bbefb4c43ad78596ba3db7813bc55b93bbfbd2a23a1ce412baf34b2e3bc2ec00bb7ffffe39244364ba43f92b3b3e78f5b83574133a76e2d4b9faa4af3a0c8b26b94afdcbbcfbc304bce88b19bc506071b8b9ab2dbd1ffafdbc9dee29bc2d94d03a214420bd5a9908bd3b5cd0bbf5edb73a45f121bd0b580ebd286391bb5247ca3a3ae1f1bcac0ec1bcba0941bb4fd0a13a9172d3bc9e0892bca0135dbb5bc7063b35f484bce472fabb18de21bb4fb9cf3a91a41dbc3bfa923bb19641bb71f09d3a35f15cbbb499373c0cddadbabc3a99391f22853b063a29bd25fa8a3e1b33663f09e9d63b660852bd3970803e9fb55b3f39399d3be06623bd561f5d3ec464363fae7b983b5c301bbd7564343e80891a3f1ef1633ba914f0bceb7d083ef882ec3ea58ca43b0e88f1bcfeaab53db8dbaf3e3ef8a33bb184c0bc6dca433dd464603e9cd4d43ba564a9bca946523b3f69d23da14ba23b9d465bbce3d0c0bc9b4b5139208f70bdf574c4ba0000000000000000730a8abd1ec94ab90000000000000000fecc30bd4f33e1ba00000000000000000aef10bd292515bb000000000000000031f1b7bc5f4ddeb90000000000000000ed6e9fbc88afb8ba0000000000000000d3b766bc5b3cc8b90000000000000000563c4cbc7b4d92380000000000000000f8a0fbbbc03147ba0000000000000000d663793a389ebb3af8d986ba6ae20e3c900a923a688c573b86762f3bc8db4a3cd09a653a6034523bfe2a873b4075483c5e851a3a91aa1b3b562e5a3bc183333c0606f23a1848003b1ce3cc3a2f661d3c9883e0b9a2ba2d3be00a6c3a62b3ff3b68c7233a1ee48e3a7155f439f0b37d3b18c0093af2f6863a624aa3b92838153bb416c839e382a2b9cd421bbbaf53b5390a7fd9ba3503533ac4c8613bb31ec7bbac0764bafffe953a9af6923bd24a7fbb3657ff3900ef423a4409233bcd0c1dbb33cfb63ac8c66739f1a75f3bd8530cbb6755ca3ae246acb99200413b306123bb7db5ae3a96c432ba0a31073b8c4410bb3522683a919a1639e47a173b4214c03a3a50623afbf6cfb97b754c38ff10ee3abc5bbdb99bc3a8babf2d953a6507f63a33a207bd3be3c4bcbd5124bcdb2324b930f93abd73ff58bd76a048bc4e0c2b3b869c32bd101c6cbd9ed514bc09b62d3b8e381bbd08e949bd4e34eabbf3e23f3bc145f6bc0dd715bd5c9cc7bba0d1193bd468b9bc7a1dd1bcd4eba0bbd68a893b458686bcf22e4fbc431ba2bb948faf3a997b0ebc259d493a4377d0bbbf98023bfe7180bbfc8d393ceb8210bb8e94b83a2d1dae3b182806bd46e9f93d2e96883faca1ee3b210015bd7343e33d99ed7f3f3044bd3b2b55f8bc8dd9c63d0fda583ff1af9f3ba867d4bcf63f9f3d5db3303f9b63933b0653b3bcfa2b673d9a69073f170cb33b2e5287bc005bf03c0b1dc53e4a4c973b8f0f62bc1c465c3ba849773e46b4c53b8ef013bcd836adbcc3ead23dab2b8f3b1419cdbb3e7100bdf34948bccb8760bd53ac7ebb00000000000000002f3d62bd7a5a1ebb0000000000000000aab40ebd475351bb0000000000000000d528b7bcd54763bb0000000000000000a35866bc129352bb0000000000000000dcb332bc412728ba0000000000000000e1851dbccfd40cbb0000000000000000cf8122bcef718d39000000000000000044e4c8bb5163f4b900000000000000000000000000000000000000000000000044dae5b9f50feb3ac058ee3a2f8b123c56b8203af7863c3bef472e3bcf6d0a3cd2a46739b3bb0e3b7a3ed33a582cc93b2923aab985ed213bec9f0d3b6c24c03b0c111239c483e73a632aa93a5c717f3b76c02cb8c97ec63a11e5ef381fa9013bf719c7b94d25663aeea447ba7050813a000000000000000000000000000000000000000000000000000000000000000097f0eeb90d62a33a6b4b613b7180fe3abe1aee396602593a40c7213bec6ddd3ac289fa3a7ac58c3a2b480c3bc100943af7c7133b67b71bbab2ecc33a0f6b443ae2cb023b9ba97dba1bb5fe3a99281e3bca07f33ad4bbef39bf31a53a1065293b0c868f3a975f7ab74d83613ab166773b0000000000000000000000000000000000000000000000000000000000000000ac8d1bbd644162bd6e3c19bca10ebd3a3d3104bd7dfc58bd08adfebb5a640c3b6347e1bc2fc734bde376c4bb8d4a413ba0c0aabc32670ebdf0bbb4bb6578503b4a2383bc2beaccbc6763b2bbfb40433b55dd34bcfc7e78bca499cbbbdad0483b270fcabbad0c03bb8a989abbd57b1f3b000000000000000000000000000000000000000000000000000000000000803f1aa3b03b263a92bc559745bc5465883ff71b863b50d663bc76b5f9bb5e4b643ffe4e4b3bef9949bc8c2c12bc02f0393fb8c3093b6ccb0cbc4f0336bc18af103f8576463bb9b9e1bb419d8abce8e4d13ea8305c3b7d9f8cbbe822c8bc8e5b833eba81643b21e079ba46e306bd9d18de3d0000000000000000000000000000000000000000000000000000000000000000a3bfc1bc0f0fb9bb0000000000000000d9f831bc3af589bb0000000000000000ce3e7cbb1df464bb00000000000000008d291aba543111bb0000000000000000b97c183a40ebd5ba0000000000000000acad09387ef74bb90000000000000000bddb2cbb8e795fb900000000000000000000000000000000000000000000000000000000000000000000000000000000eb7d343b62deafba8ecc0b3c6c10093ac70c463b1310ceb9142bea3bcc3ace39d9d2e63a527745ba061cd93b6f911f3b19a9bd3a68ea7abacb3ea93bcea3443bb8af913a782225bb471d963b32167e3b46c4f93ac91af6bac04d413b1022853be4d4f33a43d95ebb27b5c03a199a9a3b0000000000000000000000000000000000000000000000000000000000000000a03526bbe262e5b9a7d10fbb1abadfbc1b451dbbd1a4d5b9fb07bebab038babc6d3dadbac2378fbab94bebbaefd69fbcec1e57baef2837ba833d91bacaf475bc4c8e49ba792070ba7eb4c1bab67d39bcdfaa5fbaa8e502ba6c3f0a3a647708bc48cd54ba97edce389495033bc427d1bb000000000000000000000000000000000000000000000000000000000000000090cda7bc06b1a03b388949bbcf93d3baef21afbc37e2143b828520ba0f1fcbba48878fbc58ba343ba52678ba2f39ffba725e40bcb695053ba5a98abaa82018bbfbacc1bb644abc3a3bd397baed2812bbd76397395c6c3d3a6d23afba2dbbe0ba1ace083c30d7563aef5c12bbc9909dba0000000000000000000000000000000000000000000000000000803f0000000086751dbc352d59bcb1ec783f4847f33ac0e90fbccc3539bcef8f533fb016ed3b3a560ebc658d45bcec962e3ffd56163c19d6e1bbe5f665bca5b8093f6d29223c1d28bebb54358fbc0f2bcc3ec52f313c9e8295bb296ab4bcf4ff843ea4942d3c1e133dbb2fb3e4bc143cfe3d89e1323c0000000000000000000000000000000000000000000000000000000000000000a98f83bcf635183b0000000000000000bf7e3bbcdad4fdb9000000000000000060c81fbcf96d9bb90000000000000000e34df9bb1cef40ba00000000000000006c92d2bbb14fdbba00000000000000003aeaa5bbd85c15bb0000000000000000956b94bb25c306bb0000000000000000000000000000000000000000000000000606843b4f64b3bbe348db3b68cd423b0d74ae3b5b428ebb3b2e103c9bfa733b6fd74c3b5fca2fbba00a183c230f7e3b3424293b451833bbcb62083c818ea93bf6b43d3be7151fbb2db0d63b296dc33b4a94ca3a70519cbbdb08ac3be188e73bfac2233b55eb91bb59c5403beca6df3beaf5623ba8ce9ebb62c9843a81feda3bd88d163b736eb1bbac3ff638e100d33b120d36ba27acf9bae910f4ba534dfdbc651d3abbc471febaaeb4613a96bf18bd2d8d90ba9b01a9bac6b412ba574b01bd3a853bbaafa1cdba3fcd52ba9b6ddebc0e3cdeb9dec8bababd72cfba2a91b5bc35950b386e5b82baef2eb83afadc9cbcde47b537f74821ba5979dd3a214961bcc318723984508fbac1c5693b546530bcd924153a18f3a9394fa41d3b0b76ffbb064c15bc018a2d3cb308a5bb52de66bb3b10bcbc419f013c58634dbb71a11dbb7f6ccbbc9aace23b2d421abb5be54ebb9d27b1bc1f79c53b6e53c0ba555e44bb12145abc4b58b03b65357aba38225abb26a2ebbb25e8a23b013a71ba563d40bb390dbe39bb02963b24bdbcba63cc1ebbe502113cc54a983b30decebad78c4fbb11fb563c6973cf3b5c20b7bafd91d7ba670e1abc0174cebc5a437a3f6c20063e61f619bccd5204bd79d8633f4f14fb3dfc691dbc9651d8bcbb37413f8d35e53d32941bbc3b05ddbc8eb81f3fc07fca3d81ca14bc0f84d1bc52eaf93e22bea83d6990bcbb3591fcbc2780b93e9939873deea67cbb5caf0ebd49ce6f3e9b05513d8dbd3db9c28c20bdea3ae23db15d0b3d5735ac3968dc09bd325722bb645a7c3cddabc6bc2e3f133b0000000000000000bc45e0bcfbbc9b3b00000000000000003ccbacbc108f19390000000000000000a60f8dbc5c1c94ba00000000000000003ed04fbce21a16bb000000000000000011d635bc82b536bb0000000000000000666c10bc90383dbb000000000000000087b7e0bbedb8ffba0000000000000000f6a7b9bb615a4bbb0000000000000000eb4d0f3b31bec2bb7128a53b18d8ab3b365b733be442bfbbb4b3043c00f9d83b1501303bdd8f8fbb9730e43be5dae03bf71f303bb83b9abba484e23b86d1043c9c82c03a383a9dbb9696943bb49af93b471c773b2de5a9bb577a993b84e2083ccae4f83abdfbaabb6c1df63a2fe9023ce676463bfe59d9bb612282b9a613093c0261003b1df1c9bbe0969dba1b0fe53b77492bbafb9e81bab514deb97887e4bc789609ba7fb4c1bab500863adffe0ebdd4b011ba4bafd8ba13c488399962ebbc0e5660b94f2a0cbbce9c6f39d0e2e1bcbc264f3aa4f77bbade02f5b8fce4a6bc2c3748b9500626bbb9d12b3973dbaebcda767a3a6b2f9bbaa5ccf83a2b3c68bc040b973acbb2c2b9812d5e3bcee056bcf2cb0a3bc7ab73baa8a1073bd1f61bbcc8b2e1bb20bb603c4b49b3bbf73d22bbe2e09dbc64df493cb074a4bba9496cbb2610a5bccde80c3c912a14bb8d7c75bb054ca0bc576b0c3ccee6e0ba034d8dbbf1a342bc57cbf53b84c3f6b8237f41bb71fea9bb814ff33b9a9dd93ac88402bb52668dbac5880a3c7a430fba388858bb602dd63be18f243c8e8b70ba2f0e46bbb2cb093c0986233ce5a3393a206a46bb154be9bbf49d02bd5159553ffe1f8a3ec40fdebb3e5624bdb354433f2364803e8998e9bbe3fb07bd21e4243f72b0603efe23ecbb590010bd09550a3f5608433ee9bdb2bb417afbbc4ec1d63e351a1d3e64a76cbb6e8519bd19d0a03ea03aff3dfdaecbbac7ff0dbd6e8d4e3e9b9db23dfec1ca3a9ef523bd6fc0c43d1acb643d18f8b43a21b8f3bc5706c8ba731e9a3c3fe7f1bcace5853a00000000000000005ce007bd46f2753a00000000000000000c3bc6bccbcaaeba0000000000000000ed94b2bcd5f534bb0000000000000000090374bc629a74bb0000000000000000b3cf60bc6a9896bb0000000000000000a97d1fbc52778abb0000000000000000ef310cbc85f990bb00000000000000004c16dabbac8593bb0000000000000000c65f883aab8dd2bbfeb84d3b2d6a023c83496d3b3802cebb68aaa53b8735223c491b533bdfaa8fbb5391b43beb6f1e3c22fa223bea04abbbddb7a03be56e293c6ff46d3a1f219fbb3ccb703bde0b2c3c45fb193b7dd7b2bbcbf2f23a409b253ccfc70a3baa5fc7bbc0c48c3991b01c3c4ef7393b63d6dfbb798adfba4012153ce570a73ad2cac1bb713510bbadf0eb3b8f018cb8d9efcaba86ec60b98e83cdbcbb2a08bb59c7f6bae725ae3a57f503bd380e923852d40fbbeccf8f3aca8cf0bcb0774e3adb6508bb4ad6523aee34d0bc0a153039a72b26bb6effaf3aa259a7bcfdf6f43ae61bbfbabc42cc3a31d094bc59fa033b0ada94ba40e1023b333577bc71101c3b5cc461badaac4d3bbea856bc53123b3bc65d0dba478fe13ab4c21ebce7f0ecbbcd097b3c3d5732bb44df6cbb033098bc7f6a683c955cc2bb5fcfbebbc568b3bc98f41f3c8d1b0abbaade8abbbd4ca4bcc315113c5a1d01baa2e288bb7ab269bc6cac1b3c1975153af6c55abb20b51ebca433263c7e51c139d8e989bbb9464ebb20c6443c9cced039e01971bbbea2263b24486b3c2148e139e82b69bb95f98b3b73cc583c618c8c3af21341bb887bc0bb014906bd799f303f59a3d13ea128c4bbd48b2fbd80c3213f2926c23e45bdd2bb544320bd71110b3ff6b1a93ee7a8a2bbe5441abd778de53e6349903e52c2a4bbc5950ebd51edb33eab576a3ea36708bbb02f18bd8e8b843edd5b363eca3293b9eebd18bd91822a3e97ab003ef8d7343b30aa19bd0d009e3d3dae993d5229e53a9bd0dcbcb55a3fbbfef4a93cd07b02bd7a70a0ba00000000000000004bfc18bd5c96183900000000000000008859eabc51d537bb0000000000000000f41abbbc1df485bb0000000000000000e9b286bc501d89bb0000000000000000f2a564bc05c6a5bb00000000000000002b752ebcd06cb8bb00000000000000006b7005bcfa78b8bb00000000000000006b059cbbd511a2bb0000000000000000f630843a59d8cfbbcce08a3a74951c3c8b5a363b60e4c3bb010d163bdfe03a3c5c53e03af4c2a0bb685f3e3b01ff343cf7669f3ac1df9fbb28ef353b657b423c0e7052b994f76cbb4cf0d73a44fe1b3cbcc2dd3abb9eb1bbf9251b395f6d2e3cee9bc83af9a8b4bb045bcebab888153cddd51b3bb307c2bb968361bb0ab3093c0643973aa4efacbbb9a264bbcb81de3b756b9b39c64bd9ba73aeca39f8d6b4bc56cb00b973931ebb5800e63ad5d9dfbc84ea643ae9a305bb3f7d883ab3d8babcc1c0de3a7c39fcbacf0bea3a0c6eb2bc824d5f3a3c6527bb710a51ba88b964bca31b353bc629b6bae879e43a272384bce83ca13ab2047bba2a0ae23ae24e4dbce62f583b875498ba2a36333b754740bcdd26603bf902ffb9ce98913a302f15bc95dd24bcb412743cd45080bb4ddd7cbb2561a5bc622f473c4bd92cbbe99997bb939daabcf9f0003c750e61ba2e3785bb18ebadbcefe9fc3b55ae6639381d8ebbfa375fbcac5a053c2deee63a41412bbbc24440bc3a17313cdca0b53a5f0c7bbb036ab7bbbadd553c4eaadd3a398156bb11c3bfbae8b2873c5494cc3affcc77bbd1ab473a0dca7b3ca1e0193b485644bb38558ebbde5003bdf9300c3f2a8d0c3fd40854bb742b27bddee6fe3ee755013fc8f075bbc79610bd6b2dd93ed302df3e053d46bbcf5916bd9327b53e4957be3ed5976dbb41f1d2bc9d318b3e9913943e3d5441ba662c0dbd2f184f3ed4926b3ef666693ad0c6fabccda0023e96a2203e2f81353b165c03bd4a92663d2862bb3d1021103bb075bebc91fad5bb23f2a93cb794f9bc937543bb0000000000000000a6ca11bd80c380bb00000000000000002f34d3bcc7aa94bb00000000000000003317b4bc4008c8bb00000000000000007f483ebcb42c98bb0000000000000000e9d349bcfd28cfbb00000000000000000ef0fdbbee93cabb0000000000000000ddb9cabb89e8cfbb000000000000000058e150bbe1a7babb00000000000000006ea9b53a12cea1bbfbbf5cba17db273c17b35e3b16349fbba5babb393932513c5c655f3bee4a88bb8306983a1be3523c4006403b045687bb5f42353a654a473ccd58dd3a0ae764bb29ead239c210393ce509103bde9891bb0ee7d0ba0d0e273c3c58163bf3d79fbbbc1057bb0738113cfc360f3b25e7a4bbef8f9abbac5dfd3b7e450d3b6fd973bb7a22b2bb0828be3b1d8876389ab0f0ba068bb03a37d79abc163818ba509a1fbb8f4d663bb81abfbc1f1e773a506701bb6f3f403b14fba9bce646dc3a563001bbab9c373b74f094bcaad62f3b3125a7ba11249f3a08e46ebc6a14443b5017c8bab01a353b04b85dbc498d653bb62dbdbae89a413b8c9d37bc94a5683bc8019fbab2c14a3b52231ebc1b276f3b368f10bae17d263be2f307bcdbfb73bc485d4a3c5c9550bbe8ec88bb88cbd4bce7fa053c808331bbb43a9abb408edfbc687a603ba701f9b8a7bb86bbfe59cabccdab493b298f2c3a0ece7dbb29d2a4bc08b1c33ba0aae73ad58a44bba91b75bc6971173cd848de3a2be959bba3e11fbca8bb593c09cccd3aabab63bb55e3d5bb3499973ca92e003b49704fbbff2144bb911f8b3c22f71e3be2122dbb978411bbe930fbbcbaa6d03e420a313f0c5cacba36cf25bd58d8bd3ea72f233f8835a1ba553a19bd7c2ca23e814a0d3feabd02bacf570fbdf977853edcfaec3e918a83ba1da105bd5fad4f3e6cf0bc3e92c2b93a156b00bdaa4a143eb6da8f3e22e43f3b0929f3bc09fdb23d4c24443ed067d03b510de4bc93f8073d62b3d83d65ab9c3bfb9cb6bc9a024bbc19c09a3cb7fd00bd656d97bb0000000000000000724217bdedd3b4bb0000000000000000059de0bc1ac3d4bb00000000000000009391a6bc3a3ee0bb000000000000000079615dbc34e307bc0000000000000000a11224bc7e83e0bb0000000000000000a012d4bbd9c3e5bb0000000000000000113b86bbff02d4bb0000000000000000d2a3cdba547ab5bb0000000000000000c01b323bca5a69bbc6c53ebbd224343c3876633ba62435bba72362baddae5b3c8b280e3b519810bb2994b1391cae463ceb07f63a1e7326bb3a27d3b9175b533cf88c063b1a983abb7de99cba4f57263cb21a2f3bad4b3dbbac1d33bb2dbc183c8de1ac3aa68747bbd8ee7dbb1ba4ed3b7f83223bd3884dbb9846c4bbfe8ec53b0851b53adb8b46bb9321b5bbf927863bb07a19ba6b86e3babe25373b61ff78bc1f6937ba2259e0baf1a4983b37cf8ebcdb548f3a8386a8bac3fb683b32e867bc7db42a3a7d8281bb20a7173bf77a66bc1bf5243bd636a9ba9bbe3a3b78952dbc582a573b7855b4ba34e16d3b248e21bc1c065d3b83dd98baba9d3f3b8876f5bb8cac3f3b0627b9ba87d32f3be2dccfbb2c6e4d3b698f2ebad1bf1d3b15cfa6bb8fd4a3bc9083f63b27b51bbbf0ab81bbac5602bd3d92bab827f2ffba9aad84bbae31e6bc01a761bba2be4b385ff24bbb6d55e3bc746192bb0cfae03abed1dfba12bca1bca1968d3aedc4d53a5c411cbb4baf8fbcf342b43be9fbd63aa1c604bb6fd036bc467a3e3ca6a0883a1a710ebb9d5e08bc6d878c3c2846213a7da74bbbb4078ebbc83f8e3cc471fc3a2e0000bb71a5aab9e587e3bcb743893e6b52553f1f2db43adf7f16bd415d773e9019443f80485e3abd09fabc9dcf513e1737263fbb8b493bc197ffbca10a2a3ee8a10d3f6eb5893adca6cbbc620e023e78acdc3ed7073a3bf025d7bc635eb23d907aa83e1f50813b370db7bca723483db16c5f3e2298c03b69e5b2bcd5a9043cf27ced3d84ca9b3bd40c89bcaeb698bc13546a3ce6eef7bcb6adc0bb0000000000000000e58709bd4bcff3bb0000000000000000d27aabbcced4e2bb0000000000000000a7f673bcab3e20bc000000000000000096560cbc4b52dabb00000000000000005f47c0bba5ced9bb0000000000000000b7dc3ebb3261c1bb000000000000000007238fbabb98d0bb0000000000000000feff283af37aa9bb0000000000000000556c113bf191bbba3a383dbb6b63243c0d55673b6efe1a3ac6151cbad9ca4a3c8729183bdb3c0fb990b5113881f8463ca6ac303b276187b8c95596b9f76f373c311fe23aaec13ebae9ddbfba01ed123cd502be3aa86b51ba39933cbb0e13ff3ba630283bd460b9ba360790bb5408b73b343ac13a3f41b4b9bc82e2bb711c583b7fda5a3bd4c222bbb8fee7bb3dc7013b4ff669ba1eb23abaf1ca863b687b24bcbce050ba9a0204bb0fafc43b7c6324bcc566213af6e816bae4f5893bc01a0fbc4baf0d3a66906eb9838f283b9145f2bb0417be3ad415b637bd30403beba4ccbb4c6b583b185280b9cb9a673b17cfacbb27054a3b0f0938ba378e3e3bfaf374bbb0d3853bbcfa28385ea4323b20a353bba395493b2dbfc8bac006a93a89c731bb27fbe7bcd96e06bb0c0f83ba1e276ebbe69c1abd04ff62bc36e5caba237717bbd3a507bd8e9087bc055e9a368f5af5ba0efae8bc15065abc8737a03afedd44ba1860adbc16bddebb32a4ad3ae214b8b9440592bc947efaba352f4c3a03d350b9f66a49bc8277c23b75ebb239d8a8beb9106104bc862b603ccdc5aebacf79fa38e65bc4bb6d1c8b3cb0f9fb3aea40f9ba401f0d3b6069cebc583e043edc3a7a3f4c252c3b84dff4bc5e51ea3dbec6633ffbfe3d3b7094d2bc5006c53db046423fe36b4a3b57d5bbbc42f79b3de812213fcba4233bccb79cbc8cd55f3d53f4fc3e12f5893bf17598bca540fb3c6f68bd3edf579c3bbfd381bc5826ff3b5adc783eb7bed03b58a657bc9b2187bcc2a8f53d3a09dd3b6e081ebcbd99ddbc5e49c63bbefcddbc089a03bc0000000000000000c13dc3bc3c1523bc0000000000000000ca675abc1ef808bc0000000000000000884f06bc5e6febbb0000000000000000b6a6c1ba86bacebb0000000000000000107a8a3aaa0ec3bb00000000000000008ed5223b8e62a7bb0000000000000000b882043b586589bb00000000000000004809813b66eb98bb0000000000000000000000000000000000000000000000009223143b86d0a23ac3b656baf35c0f3ca43e023b5af96c3a230c86397a8bfa3b2983273b27ae053a075b0ebaf9a5da3b68d2793aaaca2b3ab69a55bad9ceb33b4a36e83a32b44d39327df7ba76e19c3b8f41b53a85737dba18fc8abbecd7d23a0745533ac3968b398c0b9abb57281f3a0000000000000000000000000000000000000000000000000000000000000000f53e43b90b8281390505933beca881bb1820663aae3dbc386af8893b25f255bb3a59073bb1f21739d312303befed35bb44221a3bd05a08b94faf183b11f5d9ba4134563be99f86bad73df93a1632e3ba8c6b073b40dd4fb93fe5cf3a29c5003ab7192d3bcce287b997090b3bada12d3a0000000000000000000000000000000000000000000000000000000000000000fc9d00bd1734a6bc1ada96b9f867deba07bbd0bcb12ba9bcf3c1b3b8354900baa63cadbc61d487bc469e463a2961fe390a3881bc1ee234bccf12053ae27b013aba2c48bc6fa9c2bb8ec6333aaa95b03a5c4901bcce3a0ababed511bac2aa3b3a98a6c5bb4d15093ccc10afb905a55b3a000000000000000000000000000000000000000000000000000000000000803fa9e9773bb52590bca34398bba256793f9cde7d3b68a36dbc3e94a5bb2a78533f7086193b65114dbc25afecbb2bc82e3f5561243bd13428bccb5d28bcc0f3093f3cf10a3bdcb812bc0dbc7ebc65dacc3e9e67a23b4a07d6bbaeb9a5bc6824863e44c79e3b7d17c4bbe4fde4bc8d60003e0000000000000000000000000000000000000000000000000000000000000000571607bc57a00cbc0000000000000000c3c6d3ba2069e5bb000000000000000042d7183b11acb0bb0000000000000000ed28813b702799bb00000000000000007212c43b3d367fbb000000000000000015cfb83b466f38bb0000000000000000f6d6c13bd99a24bb000000000000000000000000000000000000000000000000000000000000000000000000000000007d90a7ba0651dfba9886cb3ae554133bad2f2c39dec4d5bae3ba893af6d3e03aa56e9eba39dbc8baf9609b3aaf99163b88d6c1baf275e3bae506943a0176273b8b638dba1eb324bbdc9cc3b93cd0773adfc3abba4f47d9ba9862f9399329ff3a9451e2b92b9bf2bac8be9a397c25143b000000000000000000000000000000000000000000000000000000000000000004b86a39c3995eb96fdc2dbb784a77bb249ccf39ede31bbafcc51dbbcd984abb6569683a4eba88b9ffaf18bb65643cbb6f1e813a475c3aba02570fbbd88325bb0a60a33af45527bab82a1cbb967d55bb2f1f653ab6d3ecb98190d4ba81f2f7ba9b11923a29ca40bad928d1ba44d1fdba00000000000000000000000000000000000000000000000000000000000000008bc9193af657333b4a1922ba0db1aebac9b94ab79930023b58138db9426381babca5a039e4d6203b168f5f393ead49ba94d07b3a80a0193b4b5609ba88e8c1ba1777e23a203d4c3b9542f139792092ba5a5ab53a051a1f3b11f8c139c2aa6dba4b3bfc3a3a18373beeada6398888c2ba0000000000000000000000000000000000000000000000000000803f000000002bca3fbb7d5285baa1bb623fd2aea23a163c21bbf9f068babefc413f1f6acd3aac3023bbd4dc7bbabddd213f1754d239fd3b22bb526789ba9f73013f0e20dc3ab3144ebb0fb444bb7e8fc23e52d9443b44c212bb278018bbf880813e25e4143b931717bbb3603fbbeb72023ea21e2d3b0000000000000000000000000000000000000000000000000000000000000000b060f5ba4f9c8fba0000000000000000139daeba54f08bba000000000000000084fc67ba6d0883ba00000000000000008f38adbad95ab8ba0000000000000000d2e777ba2442cbba00000000000000006fd065ba23a0b9ba00000000000000002d5c90ba7ba10bbb0000000000000000000000000000000000000000000000009e90deba314634bb3aaa953a896e363bb1b939bb949672bb89a0163bab0c863b987e0cbb7cd660bb6ac0433a345c2d3b344d25bb9e2c29bbeac0a23ac6ff673b2d0013bb0832ccba93e6933a2f9c603bcb19bdba971439bb2f7ada39b052613b44f70fbbe4aa91bb3a14603ac21b8c3bfc9de7bafb359ebb235d853a3d8d9f3bcde56cbae2fbe6ba4e2e24b86fbd243bbe337b3aa24fcab975184dbb4ead8dbbff1ce93aa5820cbbb8eebfbb699acbbba78e2b3ac135d439716f5cbb72cca9bb4dbcb43a86ce50ba286848bba1df8bbb3b84d93ac87349ba9ec37bbb4a3898bb5618e83aed8c85ba9e9419bb132978bb5b53aa3ad7a310ba90eac1ba080322bbdae2f63a1dd9b3baaf4c14bb608077bb5a31d43af99d3db9d6222dbb1ed907bbdda4993a6445633bc526d3b93008acbaa4b9bf3a1f58a73b2a6deabacb62a7baf5c243b92167ac3bf866a03a97700dba427d033a6d90813b82d46f382f0deaba7f20463ae7ac723bd48ac938b370ddbad513983acb18893bfbbc253a17b701bbb0673e3a1cd1ab3b891b9dba4b21bdba5e91723b2b9dc13ba20b1d3a5cab21bb044efd3a5ae0563bbf6f823a80efa5baab4d58bbd7c710bb3342633fcf4b023eb9a29fbb89bae0ba6a93473fe5c4e83deaa482bbd65b37bb4e3a2b3f9b6cca3d653c6fbb723921bbba6f0e3f897ba83dc58293bb74ec10bbc896e33e7f62883dc1a05bbbfdae62bbc512ab3ef91a533d571321bb0b57a0bb0e5d653e1c3d103d16aa66bb9ac7adbbd518e93dab9ba23c11d7edba764e51bbf1bf083bc4cc683ba79018bb2609c3ba000000000000000024b90bbb90b2a6ba00000000000000004f793cbb74da31bb0000000000000000c15df4ba79ab06bb0000000000000000d811a9babf4a15bb0000000000000000ac37c2ba377424bb000000000000000086ae96ba49ec6cbb000000000000000000cccbba132577bb00000000000000002de237ba9b9615bb00000000000000004a5812bb1447a6b9c61f3e39658e363bdc7310bba19a6cbbabc3c83a8deaa23bae6215bb0dc69bbb9e7fca3a7eed913b5e51c2ba85b16fbbedaa203abf9b873b13c3d0ba3f025ebbc1a1f1b929bc3c3b0255f3babf3c83bbc2d596b92d9b733b592d02bbc89f43bb5a2fa139e8ad703b37e403bbb38284bbc4fe61ba8731853b2b62d8baef142fbbe60c01ba1b1f303b2b75763a49a87cba779079ba19649dbba717653afd95d9ba78dd7abb441bb0bb00ca8e3acfd086ba399d4dbbad3a74bba8ca083b916e5fba4fdf6ebb71e4a3bb518a233b8dbb37bb2241dfba296959bb23792a3b2058a5b96dba62bb821685bb178a023bd5ac87bae20721bb863148bbd5bf273b2ac181b8d8da49bb73fa69bb5bc00c3b2d48eeb83efdecba1d432ebb44f85e3aa12b7f3b44759db994a1aa38faa8c43a992a923bcc2521ba5d0671baf5138e3a430e643b9c623cb9978015bbd785b23944bda53be7d9493aec3ef4bafa39813a9f7e993bb81ec73a209ca8ba0b279f3a7a74b73bf568c93a7e66dbba9d40da3a4dda973b3b6b923a83be14bb2613003b9aa4ba3b304dcb3ac6abc6ba5a00b53aedfe833b6ec2c43a1ee5a5ba33cb06bbc5094ebb4632423fe5a8813e7943c6bba37155bb55562b3fca0f653e1340a8bb19331fbb5792123f2385443ef94f86bb8d2a78bb8cb5f43ede73263ed2942cbbad505fbb5d45c33e32a8053e009c87bb0f4585bb1729933eb4aecc3db1b336bb91b26cbb9d01443e10b28a3d4b764cbbf600a5bb829bc63d71031b3d4fe712bb72705ebb26000d3b405e923bb62b26bbbc9004bb0000000000000000736776bbea07b4ba000000000000000053402dbb4ca67dba000000000000000052d000bbbc7625bb0000000000000000a5294dba4623f5ba0000000000000000ff1d8cba0efc31bb000000000000000022349cba34035fbb000000000000000096418dbafc3a56bb00000000000000004a7114bab1aa1ebb0000000000000000853b0fba072c6cbbc623ddb990b41d3b16760ebb281a88bb34c63839f219ca3b5feb03bb7f3576bb36bd3d39e5c98c3b29411abb4e5b65bb80cc6739761a953b3487d1ba5d1784bbc0fa2d3a0b67933b2fcad7bab55e7dbb72caa1baea88a03b7d58e5baf7ca66bbe0b754ba391d7a3b1a7b16bbc61280bb62fe3cbaea3f943b25faecba8a2e44bbdff974ba0ddd3d3b2a8c153bd61746361bb869bb662c94bb713ef83acac2b1ba064a82bbce2fbebbedf31a3bd13c29ba38b070bbf7aca9bbb175293b7b6a2bbaa7e753bb5486a0bb4413443bf45eb6b9215463bb6828a7bb0eb75a3be6e622ba1a2e21bb59cf9abb8113423b42d6b3b92b8732bb86b483bbf660183b778457ba9dd139bb128883bbea3f263b0ada49b8c79c06bbd86d45bbc4bb1539fe67663b845a6d3a8b6c98bae88e8f399426f73b176e7a3916972dbb49c548b7b0a0b23b2e008c3a9163ffbabeefe5371fecb83b5d0e9a3a45030cbbd4dd4e3a3a32b43b120fd23a0e1cf4bac1670cbab58ad03b50830a3bb43d19bb4b32233af25fb83b413c0c3bdc8fe1ba6648c73a3e8fe13b911edc3aaafc09bb2b24773a9472993b1ffdfc3a6581abba9b3a69bbca7367bb1a2d223fc7ebc23e3c618dbb4e918ebbea010f3f05b3ac3eb9a381bb2e0b84bb6299f43e32e2933e63c87dbbd8248abb321fcc3e6922783e5cb98abb5f7ea0bb792fa33ecb73473e50c067bb6741a7bb900f763e2637183e624160bba59f92bb13c8233e017fce3dce8959bb1e2795bbc681a73ddb78593d4e6c1cbb436b6cbb16eb013bf3d9b03bd36ef1bac685d7ba0000000000000000bef15abb4b474bbb0000000000000000fb9406bbe19b15bb0000000000000000dab9feba59c73cbb0000000000000000a98ea3ba82f146bb0000000000000000eb958fba708468bb0000000000000000169128ba10e548bb00000000000000003f7380ba7f4261bb00000000000000007d5f9ab9c9ee29bb0000000000000000740ce1ba7c8b46bbfc766db85f2e723ba625caba46496abba0121fb805a0963b358dc0ba8dbb50bbd01b8ab97ab9803be924b2ba43096bbb9d7219ba11e78f3bd3d4d2ba368a24bbdd2cc5b9ca455b3b1f240fbb776a62bbbe6b52ba4417853b323b36ba04b18abb608e1ebaaf05633b1aea0fbb424e6bbbe1d499bac6df713bf673b4ba3f2333bb121e8dba3a79273b87ddeb3a9a5503ba733235bba45783bb52412a3b8b0079ba68bd4bbb9619a9bb159a1f3bcba205ba07bc3dbb970a8ebba5cd3b3b6fd0d8b92c504fbb4a3ea0bba85d2a3bfd2c10ba8d0319bb13ae50bb38444b3b245749ba5a2834bb969c88bb43473c3ba12cabb975c263bbeb4934bb0a30543b812e8bb9355f0bbbd67670bb48252b3b89cac7b74782efbaf4c337bb27b6e239d1d7a03bf5b01a3a18cbdbbad914a3b8d543c53b5971893a023618bb5204ebb9c4b5a13bf67dbe3a8d4bd4ba491a6abaef0db93b7513f63a472d09bb3f7cfcb89b11913b6dcede3a2b7db7bad1d838b80e65bd3b1755113bcd0c0dbb3cd9bf39301ea93b5fe40a3b1faaedba0de0ab39bb6ec63b8fa9223bc85304bb82d6b739aa2e983b776f0a3b2820a9ba6ca549bb584b4fbb01a1013fccc0013f7d0d81bba56c8cbbd322e43ee6bfe43e09fa62bbcf776cbb8d23c33eb71cc43e592d77bb9aad92bbd333a33e8ed2a43e652630bb9e61a3bb8e08823eee65833e58215abb388e8bbb1653443e6167483ecd9a84bb057158bb2bc4023e78bc063e7b6b29bb881e92bb8f48843d46f78e3d5fa70abbb5bf5bbbfba1b53a30c2b13b20531abbbd4310bb0000000000000000191838bb020359bb0000000000000000d8fab1ba0c5810bb000000000000000041e7bbba2e3953bb0000000000000000857b11ba9bc61abb00000000000000000d764aba987a63bb00000000000000006c5bbdb99b8d52bb000000000000000097378db72b6e6abb00000000000000004e23dc38fc552dbb00000000000000002fa6c3ba20cd3dbb45b4bbb93604793baac698ba77dd6abba5c361ba964b823be32d17bb69f161bbb359f9b957f88e3b374fdeba671374bbca4b7ebaeefa973bd075b9ba82725bbb759178ba71d37f3be716bbbaea216cbbd564baba2362723b7263ebbacf7a3cbb16079ebae054623b80416537728979bb0ab911bb1f092c3b5e0090bac8b31bbbd1ae87babc92453a4d8a033bf6c411ba276326bb809d7abb9c666b3beae14eb981a538bbf722a5bb01c0323b38ec17bad59c54bbe01a92bb2feb693b7b15abba814e4ebb829a96bb22e24b3b4b3ab23951bb2fbb961584bb7ea9573bd7785db955f426bb136085bb14e7503b91dc17b9b8f7eaba16d953bbeeb0413b696a5bb9cca52bbb4ad676bbdbe2623b4cce43ba473cc3baf5dd8dbb10869bb977b19d3b3853613ab92ae1bab17cc7badf49a03b19c4073bfbdff7baccea97baceb0a83bb9a3da3a750700bb7310a6ba7adfba3b477c343b1ae228bb33a468ba535da63b0398233b6e965bbaf22e8ebad163b33b1f73273b893bd2bab687f3b9c3f9b73ba351283b1607ddba954067bae99bf23b4db81c3ba92deeba91cfd338009aa63bf3bc553b0e1ae7baecad3bbbf67e50bbb18ec23e6a2e223fd53863bb8d1597bbcae9aa3e752b0f3f1b2259bb1fbb80bbefdb923e7d8af53e22626bbbc37f8fbb8b0f753e62c2cd3e82a34fbb899481bb17a3433eca99a43e175a45bbf17792bb97c0123ef610793e25688dbb41707bbb0fb3c33d0fd8273e68763bbb144e98bb1f1f423d67f3b13d3534e4ba299c2bbb81508e3ab118c03b382512bb4d801bbb0000000000000000af0c0abbdbe94dbb00000000000000003db4e8ba390c4bbb00000000000000009bf705bb2bc764bb00000000000000000439fdba7f5a82bb0000000000000000625e57b924d75ebb00000000000000007f8db7384e865ebb0000000000000000c4cfeab8243374bb000000000000000006d7d13a22504abb0000000000000000871b92ba382216bbeaf453ba931c513b6b677dba344864bb87cba5baa2a8973b19ba15b9e60899bba9ffd3ba01994d3b947659bb1fe036bb3ca356ba64d66e3b3e21adba555c1dbba2d790baf0b5443b2d97b2babb0c35bb730fb0ba026a523bd1306abaf227c7baad9a17bb5297dd3a6fe29bbaa86512bb36b149bb70b0ef3a888552ba028214ba1ac308bb5347c03a8958ef3a429c89b941befcbae5694ebbd1684d3bdb315dba78942ebb1abd94bb63f0213b15d71db92f818c3b2e3196bb9a80543baa9307b8bcc319bb36f470bb1ede383bbb4a80ba492450bace0428bb01d0503b11ba6fb8d78d00bb33ce5fbbe57f6b3bfc84233a769871ba966f68bb3780863bcd70343a04e595ba7ee00cbbbbf7033b2e70d23a12b7c8bab1ef2abb626c95ba94f7803b2157863a550ab2baeba00fbbaf4aa63b0013013b0a3de5baf81310bb5b06603bb5e9dc3a487ba8ba33fc16bbd47f833b5a8e203b52c102bb707466ba6e13853be4dbef3a8bf103bb1b26d2baf24f963b0352293b1aa9b6baa507f1ba76ba643bf8804f3b4a1702ba083200bbedbc933b5c80753b7d4160ba5d1a9aba741a773b5553ff3a8875afba91bf1abba1403ebb7093813e0160423fcca352bb345b8bbb8435643e336e2b3fa78782bb5d0578bbf5e0423e139d123fc1df24bb4b4d78bb017b233ec6a3f53ef43635bb1bc3abbbe246023e1742c43e43f318bbaaac81bb54adc23db65d943ee89347baf8a684bb56e97e3dc855473e67d893bad7659ebb740cf73cddaccf3d0916edbadc9889bab9f836ba007d8b3b28ccf7ba125f11bb000000000000000017c8dbba45ca63bb0000000000000000c71e6bba0b211fbb0000000000000000dcc15bb99bf05bbb0000000000000000c4c7f4b9868442bb00000000000000001186a83920474fbb0000000000000000f841af3a6ff401bb00000000000000009c84bd3afdbe43bb0000000000000000b4e7a539bf3d41bb0000000000000000ca652fba112fe6bad72980ba54c1343b48bf1fba4ef751bb374e0ebb09a1583bd43b21bbdfd0c3baa91d86ba7a93a03b94fa81b8eef10abb51e2c3ba28693f3ba7973fba4f0df6bace59caba0f5b093b3b1bf3b9291604bb16e5e7ba3d74073b44649ebaf7447bba7ff734bb5138533b099165ba8d9b6fbb876beaba4f35233b9d3505ba6070d5ba83c904bb4d27a33ab7b5dc3ab1611cb963b5b1baa4a92dbb9349763b054470bab6d69e3a6cb27ebb6620cf3a7c3a84ba71a22abba9d61ebb57a4323b0c2023b9d0e2c5baa76e47bb152c1b3b7b1bd239369c8dbac16322bbe1e8383b9314af39a76c83ba6f6f2bbb524e863bca61bbb9430d02bb0e7457bbf10d643ba9d93c3af74124bac839edba7025123bb9d641392f2211bac607e1bac90d05bb1fdb2f3beabd8f3a7e7cb0ba079168bb2c39343b00be373bb30842bbc22a3dbb1b0b823b6dc5473adcc219ba791437bbc637293b4fa20a3b5c21adba1b970abbd234273b3c48343b0374aab95f2613bb6f6e473b68a9283b3ae334ba054823bbc364a23be4ac063b6af1baba252946bb3092463b0c64623be4da65b935e9adba68ce723b3b8f103b24990dba3c6101bb93672bbb0670013e9e98623fb492e2ba02558dbb27d1e23dbbc3473f57948dba9cb340bbd4cdc23d935a2b3f2a9305bb9e5965bb5037a23dc9b90e3f1b12e1ba4ab941bb3403813d4b20e43e96dcdcbae54058bb19f53d3d12b6ab3e0ea728bb6ceb82bb50ef003d286e673eafc473ba115d36bbadfa4c3c643cec3d58968bba672026bb6c7bcfba5aa8793b456da3baa01c0bbb00000000000000008c6a273aa24f54bb000000000000000054a8633ad6c275bb0000000000000000910a083a36882bbb00000000000000005a13813a55aee1ba0000000000000000f03daf3ac6641fbb00000000000000003ac66a3a219c49bb0000000000000000b9c3183beed2f0ba00000000000000006c76983a593110bb000000000000000000000000000000000000000000000000ca6ea2ba39119f39c73cb6ba54ccfa3abe070bb826758fbaffad5bba0217c43a2dde91baa8e795bad11b86bae76b023b0b377bb9faab90bac3babeba0026723ae35805bac7944dba93f471ba672610ba1d134e38833f6abac7dda1badb893a3a33c548b90be294ba1f3ef2bafdfffa390000000000000000000000000000000000000000000000000000000000000000671fd23a748ca4b9f7026839df441cbb5b01e13a26b0bab9f2e225ba03e4ceba3942273bf7268b3a0f0420ba1aefe3ba35ae103bdfb8443a0c11c0b97278dfba42d5073bc0831c3abcb4b43871ac72bad40fd03a05dea139ab4f9b37a65e8bbaa70e043ba368a939373731b9b359a6ba0000000000000000000000000000000000000000000000000000000000000000dbd251bb93e0813a4e14ac3aaf2791ba27d722bb88f7093a4656be3ac03d19bac0db0dbb4aeaa73adaf4163b37c8c4bae52707bb40cff63982ee073b35cb44b9f219b7ba21309fb97c9eff3adf9428b9adc8b2ba06a8d03a7c43d73ad0449fb9350dd6ba9ad23c3b35c10f3b3188c7b9000000000000000000000000000000000000000000000000000000000000803f18c614b79b9329bbaa41c339baae623f51358cba0f2ff5badd477439241a423fd85894baf3340dbbd09468399b10223fa4778cbada9901bb65894fba9d76013f0dc11bba4427ceba642b3aba5d77c13e152a17baf91be6baafe0bcba8284813eaadb36badc9e0bbb1b751abb8b3f033e0000000000000000000000000000000000000000000000000000000000000000e80e39b8d2690dbb0000000000000000a1bf4b3ad64ef3ba00000000000000001cdc063b9de520bb0000000000000000bb87db3a6112a8ba00000000000000002c2ad73a2768c6ba00000000000000009690aa3a3f3dbbba000000000000000039a5d63a7ce1dbba000000000000000000000000000000000000000000000000000000000000000000000000000000000e9791bb87953a3c40e3983c067b9e3a5b3130ba119f353c7e6e8e3c9f89863bf43c7e3928ea033c8030483ca538193b801e913a82d6e33b4a3f113c15892b3bab92183a1492a73b805db23b04f1653bed3b48ba981fae3b8240a53b1e1b7a3b967f91baf8e61b3b722523baff9e8f3b00000000000000000000000000000000000000000000000000000000000000007aea7d3b583dc8ba615b043cf069e6bc8df0783b18befbba9bfa3b3b85ede0bcb3202c3bd62c1d3aa300aa3b14b8f6bcee402d3b0420073a15a33b3bce0bcabcba11c13aca4284b914b5f63a75108dbc2704d23abf3c10ba8ae08e393dc310bc6bedb63a9fc006ba6f4c0bba52e4873a0000000000000000000000000000000000000000000000000000000000000000140e07bea5d5cfbc059bac3b6d99b5b937ec02beb46dffbc8402e13b30aab0bab222d3bd51a5f0bcd9845d3aced341ba4a9fa8bd2b01eabc3661ac3afd1980ba4eaf77bd4a1dd5bc6df8053b00adaf39059524bde3a4b0bc46fc143b4d55e8b9ec4855bcf66188bcfed4773bd6d700ba0000000000000000000000000000000000000000000000000000803f000000008762e33bdff390bd84fb9d3f431438bd1a3ae13b3d0237bd877d833f472d87bc52fac13aee9804bd9ef0533f13a5dd3a4d2cb63a3ba7dfbc9b73213fc7dc013c2984fe3a03eed5bcf93cdf3e5d2dfc3b5a62663b36d2c9bcf61d7d3e28a2353bc6b29c3bbd00cfbc69c5863d88af97bb00000000000000000000000000000000000000000000000000000000000000004fea92bb6ece183b000000000000000025648ebb799be13a0000000000000000062f60bb07c4883a000000000000000069bb14bbeb9be2b90000000000000000ebf427ba366397b90000000000000000f27e573a1f9443ba0000000000000000eb61dc3aec1c5cba000000000000000000000000000000000000000000000000acb990bb1049cf3ba6f24e3c56ef2e39a92622bcd3026e3c4999b83c23f5bb3b264c92bb0f064b3cd254af3cc9c3063cefd6e2ba5b444f3cf194903c3d68e03b291169b9a79feb3b254f3a3cc060073c7c90d5baae7ae83bea31283cc4f8d13b9e5b07bbdfa6a73bb177af3b5c4ff93be7a96dbbd3bb783b836ea139e13bc43bfe240ebb927b15b9e59e1abbde7dbb3a1f47b93a280455baee9a3e3c95efdfbcc6d5603b915b1abbb481803c6c80c4bcbc29413bc98cdcb9a7824e3c0e8903bd8bbc4b3bb8545dba5884213c346504bd9fc2093b62e82fba8683f33be871cdbcd3ca573b148841bafdcab43bfa2790bca2f0ef3a9ecf37bab865373ba036fdbb330f433aa759cdba161533bbb47c863b8569883af5bd87ba2d02a9b8e1a5d43b13e89fbd4e2515bcb2aca5bbd6261e3b1f5413be78cbd1bce1cfb0ba3379213b43e512be9e9d1dbdc08c97bb5e68423b4e8a00be3f411ebdd6a83abbe196d23a7f29c5bdaa310fbd2ed89dbb14e9513b137095bd354109bd38895cbbed20c93ad48238bd50d8ddbcc49692ba2456c63a291f6abc22537dbc988d213b10b43f3afdf32e3c04e2aabbee33213bde4a053a5f0c623c6dbf01be70cf9d3faa70a73da131a03c81920abeeabc963f1c05a63dcf91303cb3c3cbbd0060813f5dd9ca3db6e3f43b76c89dbde05d503f1be8c43dd229cb3bdc5981bd48e81b3fca4db13d9630113c0a0165bdc94ed53e2049893d7ad0313c2d7341bd0735683e27d8363d9d7f713c03120ebd94284b3d75978c3c526b403c2a5707bdd52787bd41d096bbbfd700bd44d3c13b00000000000000006dcde2bc197bb83b000000000000000079c9d0bc0449803b000000000000000066aeb4bce2c3413b0000000000000000163596bc931ecd3a0000000000000000eb4771bc8989883a00000000000000005fde51bcef55f93a0000000000000000dc35f6bb8111dc3a0000000000000000a60deebb19cf0f3b0000000000000000c5e9d5ba97ec723b0f68f43b81ed2f3bf5219fbbd54e3a3ccf545c3c50edd03bfb5076ba4c120f3c0869563cd045dc3b9ca63fba6b7c033c1616503c35e81c3c369102b97da2c73bdfab253c8554633bd6b317392b16a53b5e6ed23bed3e053cb7949bba62a6603b24932e3bc98fb73b317d5fbba59f2b3b91d496b960b1973be2490ebba913b7b84fc8b9bad3f6b13ab86d57baa9e06a39e7f2423cfcc2f1bc0df6983a07fe243a00156f3cc33cfdbc2c14673a6276ae3992152f3ca09604bdcde3f438128daa3a1aab403c87acf3bcf1c70c3b5d817a3aa9d0e43bbf62b9bc74ef423a1f47c3394a84cc3b618e7ebca4a4843ae5acb1b91a578d3b24c90bbc1c329f38937445ba434db13a72283a3b5d0dc639bfd28bba02ff2a3b895d6e3beae556bdf0b640b96c906fbc59fd7c3b618bdebd6e04dabc4ef061bcc0f3853b634ad2bdcf6505bd262a4cbc7353673b89b2d9bd1e1e25bd3ea246bc74fb843b894c9ebdf71b07bd076b24bcc46d163b5ec181bd4bd60bbd6d9815bcdf14383b62a210bd4c79b4bc809fd3bbb2be4e3bdd8661bc8ed569bcdb784cbb6d7d3f3b236ebe3beac820bbf1e608ba01ea183b6178793c46d6ffbd2dd8833f3038863e9331a03c94cf13be8b77823f8d00843ea4a33e3cf067ccbd35f3563fdf327b3e33742d3c1a16c0bdc356363fdf915e3e994c253c709691bd6090063f7fd4363eeea83a3c3a588cbd2e9dbb3e979e0e3eaa8a3e3c63dc5ebd3309573e8dd2bb3ddbdf803cabb641bdfe80673d25a6353d264b523c76a710bd97442bbd9257a43b4ee063bd808c003c0000000000000000aee473bd5f5d2c3c0000000000000000f3ad3fbd6634b53b0000000000000000364232bd38e4d23b0000000000000000c22704bde77d553b00000000000000008f89fabc50e99a3b0000000000000000f6a7c0bcd0c03b3b0000000000000000d18eb4bcaaa4b43b0000000000000000f47288bc9be78f3b00000000000000007e47803a29bf823ac5874b3b4c87cf3b8e8e37bbdc4d103c6e6c483cf9c2b43bad8602bb8c9f093cf0563c3cbf312f3c3f038639b7fd003c721b273cc34b383c070d723af3b5a13b260af13bca532a3cf0a797ba7bb0ba3b67577b3bc3c8163c26c490baccd33a3bae9d313bab74e23b9ae509bb1a22d53ab8441db92b8ba03b42ca93ba0840f4b9c362fdba431f313baba75fbbeb58a83ad186213c2c84febc14801a39efbf413a1db5653ca07602bd6d2326b989f0d03af5774b3c8032e6bcf0281fba72ffed3aeddd0d3c5993cdbc7814a7baf058013b36f60b3c141cb0bc49278d3844a48a3a39efaa3bc89422bc4cd3cab9d32ff039cd1a973bb92ba8bb91a8bcb9306ecab9ac61203b8f06e53ac908d1bafc453639e39b453b1cc82f3b352913bd82b9813bdf58c8bc6d0aa23b65d7b0bd6547e5bc712ab7bc5aef0b3c0a78c7bddc0936bde8f8b0bc4254a93b1d89b7bd242335bd9c3fa3bc0c409f3b909595bd256e20bd32838dbc7a4d823b0ba368bde01a0ebdc0e274bc954caf3b08dc0fbd98a9c7bcd67d30bc23897a3b611e58bcb69949bce592debb14998e3b1be11b3b3715173b7bc57dbb62f4483b65c2243c78dedebd5800563fe067e63e36fc8e3c622c06bec13a523f4213e53ec4aa533ca7aee0bda463373f12c4d03e75472f3c3b60b7bd114e143fd86db23ea729203c07bd9bbd0bf5e13eb9e7903e7ca94b3cbb3a8dbd34fe9a3e0e87583e71a84d3cac226abd01cc2d3ee6cc0d3eabfa693c784242bd7cd4503d21b28a3d97d0323c494212bd79a9eebc4b11293c2bfa9bbd12c8213c00000000000000000516b0bd73e32e3c0000000000000000bf598fbd4f2e183c000000000000000029b669bd9dd2d53b00000000000000005a1a44bd88fdc43b000000000000000018aa1cbd83746a3b0000000000000000d57d14bd07f5c33b000000000000000016e201bdc702e03b000000000000000065b0c8bc0970973b0000000000000000d9f8903a3926263ac9759f3ac2db243c33a191ba269bb33b4bfed93b179c403c50a7a8b94885be3bd28b103cade15b3c670b4c39ee85ab3b2c51e93bf521623c8cc2c33a3425323ba894483b5836073cb4f375b896c29d3bafa58b3baedf1f3c9d6d20b8045e013ba167b23a7fd0d13b921303bbaa45533aa596b2b921195c3b317e51b9c4b157bab96200bb8bb00a3b98dea4bbac57143bf738003c281dcebc467278bbde72293b81e0383ced6cd0bc9eedd5bafddc443b5b9c093c8665b4bc375bfeba026d3c3b21740e3c7f3199bc9fdeeabad59ed03a3bcb8b3b18e171bc2cccb7ba9eb60f3b10bdcc3bbc8e28bc7aa88bba067e1e3b7e976e3bed1090bbc4fb8cba9af093b954e96e3b1bd1a83a486ae1ba9dfbff38e2364b3b52efec3ac57a03bd5d45b439fc72e5bc5a84c13be1568cbdd94b0bbdaef2ffbc8959023cd0fb9cbd080b44bd4368dabc58aba53b7d9ea0bdb06455bdb75ed3bcbfa7be3bb9c04bbdc4c101bdb9ad8fbca6bf393bbf084dbd3ad010bdfc73a9bce839863b0950efbcdfa5a3bcfad36dbc82ca893bd09554bc9108edbb7eca2bbceed4c53ba11809b9a20de23b7cf5b1bb4891753b94df103c4090bfbd2f10243f60bd243fecec5f3c76c9d9bd91e91e3f26bf223f33d81a3cbbc2afbda489083fcd310f3fc216243cf80ea1bd63b3e33eacdbf63e723fad3bd78159bdf8a7a43ef3ffb63e0b00063c727473bd2de86e3e40a8903eccb3113ce8a93bbd2582033e1825343e9de7343c987820bdecf21b3d33dbac3d258c0c3c62bef3bc40b0d0bc36201e3c62e5c0bdfd83083c000000000000000006e0d3bd3a21593c000000000000000064a5a3bdd505173c000000000000000000cf8bbdaea7f63b0000000000000000cebb30bd898f563b000000000000000038db47bd0809d23b0000000000000000a6a91fbd0df9bc3b0000000000000000744217bda6d0d83b00000000000000001e1aedbce75fb53b000000000000000033fbcdb8f2f5dc3a49a2403ad439403ccc97f3ba8492c53b981fbf3b5e917d3cbcdeccbab6ffd83b649d023cf1da8a3c63f25bbaed8fa13bae392d3c8818623c8d94c339e278943ba459a33b788a5e3c5b0139b95853913b5e5a553bc1aa193c869cfbba023d773b03b6293b9730d83bc217feba9977943aa42acfb90506e33ba0bd77bad54a0eb9715c5cbaa046263abf57cabb8f5d303b6ba9b73b25618abc0cee44bb36d8203b74b0e73b4e8261bca6a310bbf24e643b8daebb3b2ad13fbc6aa435b977e4153b60add83b65c946bc1ba69dbaeacb273b9d1aad3ba16104bc2c84eab96850d03ab4d9903b67c5b2bbb4a1cc39b1f9d3390ce5603b6b94baba19947cbbd204873a54230b3bdb5e8b3b0f06fdbab8eb2f39e9cd133be9e2103beb60f6bc230319bcbe5afabca70fd93bc9fc7bbdb00a60bd75620ebd7015263cf91a95bd1a7a93bd731f09bd0c0cf93b689a8bbd3bf48cbdf163eebc94cec93bfd6b6ebdb9a666bd94ace8bc41a9c43b5fc335bdef9429bd0cdfbdbce63ad43b6e73eebc0a99d6bc17f39cbc9bcab43b331b63bc254a16bc049c1abc9830853b699630ba4aa7213c4ea3edbb5222963b19820b3c343699bd49e5e53e8e44563ff4a2493cc920b2bde352dc3eb4e3553f11c9363c0e1d98bda186c13ede583d3f2ed3213cbd0087bdfab19e3ea01e1d3f5424d13b468c5dbddf83713e17faf43e279df03b7e4638bd151d243eff97af3e7c65f43bdf4316bd4037af3dfc6c593e67f5ff3b892be6bced8d9b3cfa59b93db5cd9f3b26d0a1bc1067d5bc1abe4f3acf1fe0bd3d1f233c00000000000000008eb0ffbdda16823c00000000000000001692c9bd7c3e3d3c00000000000000003eeea2bdd6da313c00000000000000006ada79bd1571ed3b0000000000000000554f50bde4b3e23b0000000000000000d20b3abd904d163c00000000000000002a6319bde2cc123c000000000000000058a202bdfaf6d73b000000000000000049d00cbad6b8d53a5530ba3a6707623c5b9f3fbbcf248f3b2cecd23b1901a33cc74b55ba94d8af3babcade3bab50943c43d41abbc111c23b0431023cefb5943cf4fa4cba1036973bf5a99a3b79dc4e3c319ffbba9c79953bd10dae3bb3932c3c3adb31bae7c0273bb070f13a2510d43b9bf8deba92a8ee3a174b953a5588e73a432a2dbaf47df738b39ff4b9c32867b8c92e92bbb839dc3a9abf143b13d3c1bbee0a7bba679e1a3b77fd7d3beba425ba04daa2ba7883333b2a0d063bb79aa0bbcdd063b80eef553b0214533b042b9eba7e92f23a38a90d3a67d61a3b667e10bb8304013a33231e3b1544bb3af1e65f3966a6ec3a17bc8b396601173b19ac5939d4fbc639976aae397644d63638124e3b4a7507bae4af9eb95c32303a7a44413b8030e7bc2179f7bc8eaef1bcff8b103cd07a5cbd4a7ab0bd134212bd1a2e1f3c80626ebddf36a8bda63c03bdc016cc3b976e79bd6632b7bdb23d0cbd100bd03bfd9742bd461b86bd248ddbbc6ae5fc3b283c21bd37f453bd02cddabc1976773b0ddbc5bc9ab9e4bcb6219dbc06b59a3b3ad82cbcd213e3bbbddb63bcc1c4b03b3cb163b9857b2c3c3558c1bbf0596f3b2ad6f63bff0f62bd85b9853ec6ec833f416c203c0cab78bd9396773e01b8833fd732083c738c46bda6a2603efe1b5a3f1178f23b1ba934bdd74a373e717b3c3fff14a63b094c0bbddaf0093e6a3c0d3f8cfae73b31e3ffbcf358b53da9faca3e279d933bc084b3bc1253363d3d17733e09f6823b203e47bc2eb286ba8511b13d09195b3bb9c306bca435e4bc7bb09bbcb6aeffbd5034553c0000000000000000697a0dbe7659a53c000000000000000048b1b2bdee201c3c0000000000000000ec679abdfae61f3c0000000000000000e7fc64bd47d16e3b000000000000000050803fbd8a7d173c00000000000000002f5a18bde3aac53b0000000000000000b3831dbdd77b273c00000000000000002fa2f6bc71fcdc3b00000000000000004338caba07e4043a9724203bef25833cd72743bbb2692c3900984b3c5178c63cfa1862bb4a37493b63495a3c5d6abc3c6edf20bb29029f3b8488253c4dbcb23c203cf0ba58ef9c3b439ef53b92036d3c883a8cbafd22433b3e3dc03bd5c63a3c9ed3bfba4bdd233beaf7ad3bc6f6b73b9e2affb93a7083b900d72c3bc6dc093b648562b9a981ae39f2315eba957aebba721b13bbaa75833a923cbcb9696bb83b3562893b80cc3bba5580eaba91d8253c9b19883b9215e43abba6fe3738eafa3b7c61593b2b78113bf95364391a1b973b042c233b07923a3bff94a8392be27a3b49bc8d3b40c9d43abd2de338464b8a3bf5e4443b85f5413ab1b859b945b7293bc908883b95580fbb8ef26bbaa762f33a8a82183ab2489cba02f082baadb13b3b364efbbc37d184bd7f96d6bcf51e0a3cd5a420bd626307be495bf8bc344f353c2a3b50bdc54409beceda0cbdd972e03b232f52bd6520efbd1e3d12bd60b6bc3bd3832cbd8cd2b2bdd72f0bbd58b5903b5a3a03bd376389bd0dcee4bc3f5b803b09d397bc659e26bdb737b4bcc57e8f3b1924b4bbb1eb40bc132c3cbcb6e99f3b54f4ce3a1763563c3e03a6bb7e14543b9471cd3b827bf6bc9ee2a23dad049e3f3dc2db3bb5dddbbc7b62863d88c9973f3a7db23bb128d3bcc127903dbecd823f36efb63b2d2bb4bc7660803d0214543f948f473bf4f68ebc28e7383d96a61f3f0000103b067c39bce1cac23c4190dd3ef1b0a53a4437c5bb58f1f33a8dea7a3e26b4cbb9b26f5c3b393a5cbc4d8b893df6b145b8183c8b3b995b05bd73cb51bd0d8501be6d6a5c3c0000000000000000536501bee1bf983c00000000000000009808acbd143b2a3c00000000000000003f8465bd51b0f33b0000000000000000f1e90fbde37ec43b0000000000000000160bf6bca5d9a73b0000000000000000277ad9bce707db3b0000000000000000124bdfbc83ea183c0000000000000000549dccbc57aae53b000000000000000000000000000000000000000000000000568605bb42a8623aa0751d3c58a5963cd4e50abbdfd1613bba901f3c5cba873c1990efba45f9763bf1e4093c969f333cc8bbcdba7ff5573b0fd5a63b7f4a123c9647aebaff9e7e3b8372a63becc8a13b36418bba9dfb193b87db1e3b7958a43b63376cba5812583abe7a0c3bff26043a0000000000000000000000000000000000000000000000000000000000000000b0d89a3bfebe1e3a714544bb04cc5f3c48cc7d3be97ccb3a2a4e25bb2fcb273c8e6a933b7d14023b68db9ebacf50ee3b2ad0803bbbdccb3a4744c539571db43b7bc77c3bb18e553a3664e2baeef2a23b738e673b53ef623a0ecd3eba994c813bc861623be7a6ceb95c59a0b93661f33a0000000000000000000000000000000000000000000000000000000000000000fad115bd324206beb002c9bc3ff0703ba15c15bd67e5febd7dd7d8bc18d9353b188311bd2f22d4bd7285dbbc54cba23ab972f8bca553a8bd1d0cccbc3ca8183aff5bb4bc0cc17abd680bb5bcaf81a53ad36b49bc2a2416bd86bc92bce49f443b4442e3ba2f3a77bcfb933abcb8bbe73a000000000000000000000000000000000000000000000000000000000000803fc15b513ba75e91bb74a760bdf10b9e3f3a8d4f3b44218abb4ebb07bd2840833f55e6053bf18dafbbfb0cbdbcdf27543fff720c3bcf3b44bbf590b0bcfac5213ff90db93ab0db2bba708cbebc4e95e03e55e85bba3451ae3bd998d8bcb7347b3e1c0633bb27ca283c0b2302bd8b638b3d0000000000000000000000000000000000000000000000000000000000000000367c80bdad44073c000000000000000087e3e2bc0557b03b00000000000000009abd20bc0793523b0000000000000000618c15bb019f113b0000000000000000e58afbb7a9d21b3b0000000000000000488352ba05bd91ba0000000000000000b836f2bb0356333b0000000000000000000000000000000000000000000000000000000000000000000000000000000028695fbbac343c3c0e022c3cf8b19bbbe38b33bb6dee303cbfb5173c63f34abbddb901babeb40d3cc34bb53bf49695ba0bc1cab81a50ce3bf160673b748038383bb40d3aee07a13bf611093b55b6c43ae95d28bb766b9d3b3c0e003bb84e1f3b325c04bb0a4a723b85d419b95977433b00000000000000000000000000000000000000000000000000000000000000004b593a3bf8b43739d944ed3b6f510bbde2e81b3b66378ab72326f53bf5cc03bd8aa0f5b973bf8d3a81d2b53b263cf7bc4fd746bafdf2303a35aca93bed55d1bc046224ba141a303a34f76f3b73bb8dbce168243a4e5b9c39515c4d3b5dd9efbbeef2163acc67e639c1becb3a5961543a00000000000000000000000000000000000000000000000000000000000000006484bfbdf7a09ebcb0e9dd3a4f5933b9c27ebabdd60da6bc1dd6c13a42f1843a49ec9dbdec5f97bc3f044bbaafec2eb8164d7dbdcf2899bc11cdcabadfa88139796e3fbd5a369ebc1243f8ba730ed83ae22508bda017a1bc673d36b9aec2c338350f52bc927e8cbc4997673a876c803a0000000000000000000000000000000000000000000000000000803f00000000eb95573bfcde5dbd0ff0943f066acabcb9e4233b414a24bded29793fe657a3bb0adc2b399c880bbdba444b3facd3023ce001123a85de02bd35741d3ffb56523c4062ba39e9440dbd59abe03e8d4f593c2501843b628512bd6142873eb920e03b7a01533b44b21cbd25ddc53dfce362ba000000000000000000000000000000000000000000000000000000000000000084c0c8bb7efd0e3b000000000000000026c881bb457dfcb900000000000000005b569dbb20f8863a00000000000000008bc984bbd84a733a000000000000000013b82bbbb6952c3a000000000000000050046eb91f847b39000000000000000081f29e398e0654ba000000000000000000000000000000000000000000000000e33b83bbc125133c03d58d3b5ad4033ac24923bc4a15a33c1d52233cfaf2d23a1354b8bb76e7893c00b5123c78575e3bad266dbb2c0a563cbd29cf3b65ac8b3b7efbe3bac82a2d3ca3552c3bf9a6ac3bfb2ca2bbbf95243c0dcdef3aeca8cf3b6f4186bb0990013c261baf3a7a5fae3b835cc1bba689ef3b26e5faba939ba43b1aee7bbb3d55663b920556bb16c3983bf69514bb2487f63af3ff2c3c31bc17bde617c7398117843a66f8533cd8470ebdce2b01bb24c9043b8083403c909a1bbdc35512bb22afec3ae93f353cbb780dbd090f26bb540ab13ae4520b3c4715e2bcad5ce9ba7b642a3a362b0c3c911a91bcfa4185ba2780a03a0771843b7415cdbb58e5d3b93ffca9b9670ac9ba9b06ee3b251f69b9431927b974f3ae39a6d5b93b99ae66bd6dfd763aa55b41bc8e11383bf30be3bd29fd60bc2008e6bb8a883b3bc1dfe5bdb48294bc6e8914bccbfb0a3ba7efcbbd8f369fbc5ebc0fbc02d4233b5c939dbd334690bcd7a911bce6cd343b1bc180bdf6e5a8bcf668efbb129a543b07432ebd7a5b96bc6d4ac8bb67f3c33a08d395bc987262bccf0173bb76655b3b32b7293b54429ebb098977bb3448373b408c323cb82ac8bd65ea943fe056d33dc92c7f3c0db8d9bdac5f8d3faf30d63d4651283c6ec2adbd0b9f713f3abce83d2c380b3ca92f97bd93ae443f0543de3daa0cec3b56db84bdec3a153fdd20c73d85ae113caedc80bd60a9d33e7c81a43df73b223cf9506ebdab9c753e124c683d9ff9593c58fd46bdf326963d0487e23c12114f3cd7ff33bdf78629bda850f13b8c9403bd4c82da3b00000000000000000ee9f7bc44d2c33b00000000000000007f82e1bc357caf3b0000000000000000a81ec0bc5c1d923b00000000000000003397a8bc1f1d603b00000000000000000b2f96bc1568e53a0000000000000000290f7abcbb03833b0000000000000000305652bcc7db4e3b0000000000000000a77f3cbc3e02463b0000000000000000da131ebbd8fee93b8a8c52bb979cdf3baacd02bc01ac863cf4f2c23a7e24ec3b4c232fbb1328273cd5b0963a310f143cc46387bbbbab543cd75ef6391b26253cc4b53abb615f043c6fbb61baaa01173c300894bb0519153ce70b05bb1158203c362d48bbda13b73baca73cbbfd10113c85c8cdbb68f8f53b240a7ebba1aae43b96ec93bb4ef54b3b51a89ebbb390c03b3de3cebb3a12353b4193403c276111bde8b3d9bb354d533b3f8e723c37c819bdc970d8bb87c2263bd220373c5eae0bbd55b9b9bbe89fe53a7460313c0c5df4bc21d1e4bbc580393b7d8d273c2858babcfe44c7bbc5602b3bc0bd053c62f677bca7ec8bbb3d23593acf7cad3b3d59f6bba6ef64bb37815d3aacc03a3af3b5b23b5c8015bb1336883964b40c3b5a55ab3b18792abdffc3813c7307b6bcf3e48a3bc3c2b5bded094a3a049cc0bc4722d63b7c13a5bd5fc1bcbb14309cbcb8e5903b5ae5b8bd533b40bc7afcacbc868fb63b54b08abdfa4022bcfdf184bc6c98783bda0971bd66284ebc54bc87bc4f509e3bddce10bdc988c3bbba4251bc89968e3b9c7da4bc4aa8b2bb804d36bc6339cb3b869e51bbe605923bb045f3bb42c5663b26b2593cc547d2bd69a87a3f06bd8a3e3f448a3c9198f6bdcead723f790d893efca12f3c4647b4bd642e473fc764803e41b54d3cc057b7bd56442a3f8f4d693e06091a3cc3bb97bdc582ff3e50e4413ede00573cc2f395bdca21b63e5e601e3e262f3b3cd74676bd0b41583e8d70de3db5f57b3c46bb65bd05d88b3d3645883d78a5653c24b429bd067504bdd033c33c16265bbd669c1b3c000000000000000072a772bd12394b3c00000000000000004d5241bdd756fb3b00000000000000003dfb36bde24d043c0000000000000000987412bd06d8c03b0000000000000000def10cbd845ed33b00000000000000001c60f0bcd995b53b0000000000000000e566fbbc5160d73b0000000000000000e7f6c0bc5a6eae3b0000000000000000401d22ba581c8d3bdf09ccbb49825d3cc9abafbb8e945b3cb12a73bb405a463c18029bbb01e6553cf06013bb87505c3cc16868bb190f1f3c9ba2f7bacee43e3c900121bb75be2c3ca91b86bbe053473c7e1099bb89b5103c410b8abb564a463cebf1a4bb7256053c2c18b2bbf011183c2c67c3bbc25dbe3bc70f9fbb38a8fe3bf87139bbeb303b3b8181bebba4d5d83bed5e2bbca8c1203bd2c4333ca75d0ebd6e5334bce7a4983bdffa593ce8e809bde0ab22bcfd2c6d3bcc01463c05cdf9bc2ad2e3bb99da353b964a443c1326ccbc8cd90bbcf0171d3bca26023c2237a1bc0271dabbcd1ceb3ad400023cc9f135bc6af296bb7930a03ac2a9973b238669bb688490bbb3bf713ad429003bdbe9bc3bd32644bbbf7cd739c0112a3be43c3c3bdbb014bd2af8eb3c0b7805bdecc4e13bf62998bd83beda3bba250bbdc5990b3c7b77b1bd24b6cbbb3390f2bc62a0d53b47fda1bdb6ee2abcbd0ae3bcd1d9bc3baa758dbd119e14bcfc29c9bca99ea93bdb3964bda78bffbb3a79b5bc5bafc13b9c731ebd2cc35dbbe7eb9ebc960eb63bc40cb8bc35a1293b580c8cbca640c23b6c2000bc86f4533c66e928bc9232693b051f373c4a19c5bd71bd4b3fadc3e43ef85d8d3ce5c7e9bd80c2443fe9dde03ec920793c5b46cbbd0d252a3f4107ce3e6672593c5b43b7bd5fd90a3f5827b33e27b9513c28a3a0bd859ad33ef719963e9bae593c55b590bdbb8e933e44a56a3e6fa67e3c803080bddd7f293e09e8243e91646f3ce92f57bdd45e553d4973c33d86ab4c3c920021bdac52d7bcf2aa113d080290bd3754283c0000000000000000c99aa5bd02c8673c00000000000000003cd08dbd8929403c00000000000000001a4074bd4f74433c00000000000000002c8c55bdd66d0c3c00000000000000003dc63bbdeb95e93b000000000000000025b927bd5ccc073c0000000000000000156c22bd7fd42e3c0000000000000000a2eff8bc1619b93b0000000000000000131a5dbac65ca03b1a8414bc900e933c65e68abb49ca1c3cb812e0bb7552953c32333abbac97243c563f8ebb50098d3cd6ca3fbbb0fe133c22b8afbbdc9e823c012261b94af2933b66c6dcbbc66a573ce21148bbbac10e3c2706b3bbddde473c85796bbbbaafb93b1be6c0bb5888203ca5f7a6bbe435f83be59cd3bb43f6033cae453fbb9aea333be2a0dabbb220003cf64450bc949e5f3bebe5213c7c92ebbca27f63bc2f47983bbc583f3cea72cdbcd3852ebccdec5f3bbcae113c5d59acbcbb1533bcb3b9693b41d0253ca5bd8bbc8efbcabb3088f9393b4ee13b02ad75bc400908bc07533e3b27a1cd3b33f7eebb4053b6bbeb938a3a688d913bf90886ba0f3e97bb2c1c493aa421f63a7deb7d3b11ad26bbd20524ba3c42543b9891263bcbac15bde37edb3c43c010bd49f1a43b32f68cbd4326bc3bdbb01fbdedb31a3c0f5096bd20d7dfbbfb7b09bdf8d2db3b855a9bbd188f3fbc86d200bd44fadd3b77814cbd7d152cbb8bf5b3bc63d0103bd5fb5dbdbb76debb1966dfbcac8fc03bd73211bd80c68c3a1d4fb5bca459b33bad46c1bcdd611b3cd864aabcab2acc3b9ecd2abcaa448f3c3a3f60bc5f83ad3b19543b3cff18afbdbeb31e3f2ff71e3f38fb6f3ccd2ac8bdb329163f95631c3f0ccd383cd423a7bd76f0ff3e66530a3f2f332f3c8b8fa1bdb43cd43ef2cef23e858d033c8f6969bd5a229b3e617ab93e11cb453ca0f180bd26e65e3e1c55993e5686353cb5f54ebddbfef63d67fc4e3eefe2523cc72d32bde773053d2609f33dc6bc2b3cb2d4ffbc36cfeabc50cf243da9fcaebde1ba343c000000000000000086f4c3bd6977793c0000000000000000cca09abdbca6373c000000000000000031f28dbdc15e2c3c000000000000000075593cbd2d67a83b0000000000000000b0075abd19e73b3c00000000000000009e9736bd8a20073c00000000000000005de336bd98873a3c000000000000000023d111bd9444b23b000000000000000077add6b970957b3bb6a81bbc3d05a13c20e1d5bb2796823cbd39c8bb2023a33c01c594bbbc1c3b3c44fb4ebb677c9f3cab9889bb3c84363c014b3fbbb8d68d3cb0b841bb95d61d3cefb1a8bb5b23813c663f94bbf20d053ca15942bb01d34b3c05f39dbbc2f6ff3bcded96bb87062a3c8e5e98bb887ed13b7fe29bbb2829dd3bda5733bb9f187c3b23f5ccbb6db7cd3bff5c57bc2f8c283b20f5e43b12dc9dbc6de678bce755c53b2a0bd13b377d79bce99b3ebc2d09753b7538e73ba2094dbc3cd124bcfcbe7b3bcdca863bd58a12bc370813bc7ea3cb3af7b2a23ba853cbbb6545e0bb5bb0253b57268c3b2b7993ba005d9abb6008ac3a5274323ba7ce503bec4190bb6a1bb93a43335dba2d17053cc6eb46bb5cce9b392585d13a712da93bbec01bbde4f2af3c565917bd797bdf3b7c848dbd16be1fbc5d8f36bdebd03a3cfda09abd9d65d1bcfcb91cbdfc59023cd1e892bd6ff6d8bc01b20fbd213cf13b5c1a7ebd938397bc3e94fabc3763bd3b93054cbd7ce35ebc9a7af6bc4ba3e63b9a961abd3e7259bb1346d9bc4a45b93ba69bbabc5e48153c90ddbbbcea9fd13b26bc56bc97e09d3c8c6272bc2145873b37ff1f3c34cc8fbd1b16e23edda44c3fed6c6b3ce560a7bd1e25d43edddd4b3f7cf44e3c968e93bd4a22b73ef435343f6d24703cab3283bd3390933e1ced173f3d152f3c81b060bdde0e5d3e2704f43e3990133c949345bd11bd123e1b7fb73e1552223c606923bdfbae943d6b2d773e4b6d1e3cce21f3bc59b8f73bf662043eaa86f03b90f0b6bc147b13bdfab80b3d69abc4bd4a723f3c00000000000000009516e4bdd7e9953c00000000000000007ae7b8bd5986653c0000000000000000268196bd69bd3b3c00000000000000004ee078bdeb45373c0000000000000000817d59bdbc1d1c3c0000000000000000617a47bd1a10363c00000000000000009f1d42bdb439433c0000000000000000875c10bdd3f5013c0000000000000000b8f606bb2421b33bff5ca0bbd5ef983ce677a6bb95b01c3c920dbdba5559a23c694f6dbbb94e043ccfad92ba58318d3c142489bb24d9163c405faf3a8422893cae694ebbf509053c9a7a20bbca6a673cb58888bb4caf153c40c258bb0d11473c619343bbb2bbb83bde2367bbbbd3023cd04a55bbd977b13b44c81fbb5159ac3b82c8f8bac43c073b7a7c35bbdabf513b8bc24cbc6635943b5b6a603b4b56f5bb2fce4fbc998cb13b2b415d3bd279e9b9ab5e0cbce5f4573b61ab793b618c60bbd73813bcf9c3693b71c96a3bd2ec9db9e131c3bb42d0163b625c0f3b672f4d3a39cbcbbb4d89033b7a030d3ad3d19f3bea5703bb2faf8738ba5bb73a7543873b2ecc4dbb96a9953a28792bbb312b0c3cc50ffeba0a71043945fec2baf8c3ec3bcc6f29bdc385ec3a88c615bd7584fe3b4a4487bd037312bd57c02fbd9d97413c38847ebd10f31bbdaa4806bdb7f5ca3b212588bd78e244bd9ad112bd24eeb83b9e6b5bbd677a03bd4006f2bcd641993bd0513cbd3e03c6bc0fe4f6bc6d86c83bf94af9bc205112bcead2b7bc9185953b173a96bcbe88a93bdc02c8bc1b27ec3bad760fbcac45943caf0459bc3cd3883b4f2f0a3cb1ff55bd33cb893eede37a3f4ddc2f3c2bf56cbd053f7b3e130c773f557c0f3c159345bd6c58593ecd6f4d3f384f073c0c5e39bd40fe2c3e3bdc343f998fe23ba5a113bda021f83d77400b3fbd09013c582101bdb5ea943de53fd23efc1cd23b41a3cbbc9114063dbf62853e729c953b57236cbc073f89bcc4d5023e18e49f3ba81e16bc536c25bdd74b653cb908d3bd8675503c00000000000000003effe8bd6c468f3c0000000000000000783097bde304193c00000000000000008cdc8abd4195463c00000000000000003ac74cbd13a2013c000000000000000061d148bd669f273c00000000000000008c9218bd7fb6ef3b0000000000000000f9f533bde1db533c00000000000000006cea10bdda95ee3b000000000000000056581abbab79983bc80bc6ba2434883c397a6bbb3038b03ba058263c9c6c973c2fcd87bb53f5f93bbcf4013ce0e4973c45f475bbd9effd3ba87fc03ba2ed7d3c50a159bb89d7ef3b7f25043b97ac333c76284bbb5f85c93b2483343b25a30f3c15f900bb9f8d743b3481033b68bed23b561966ba95f5d33a1875ab3ac67f363bc43734ba36eee73ad44113bb7be86a3ad9f21ebc1536893bdbed643a9c1e633bb1c9f5bb6f41a93bd7fb72bb8056423cc84bacbbd845793be10b49b9da3eed3bb3207dbba4f6713b3e1eb9ba0474003c74da00bbb770fa3abefd2239b792c33b45ef46bae865ff3aa20152ba6514f83bc5be193916c9cd3ae6f9fdbafbc1fa3bd26a0f3ace2e8f3a845345bbc2dbe93b228cff39def63ab97b7537bb5593d23bc7e63cbd9f08f4bc4c4b01bd7569d63b764666bdbbcea6bd807911bde5a5073c2ab47abd5700b3bd20a511bd76d8d83b74ab6cbd90129dbdd1da07bd2079963bd7f839bdf86368bd3329f3bcf653463bc47614bd7d3d36bd5e75eebc63b0823b5797bdbc5c71d4bcf433dbbc25b58d3ba6feffbb73b7bbbb4a23b3bca52dae3befda3dbb82f3633cdf5b50bc6b7a883b4146c83b76a7fcbc6913cd3d2372953f8c59ec3bc73df6bc1eefac3db09d8e3f210b9f3b828dd3bcee579b3d473e763f7c98f53b65f3b8bc3f02673d364a4a3fd553693b59498fbc940d133d528b1b3fae6e4e3b217a58bcf6611e3cf2dfe13ee9d8233b4c39e5bb202565bc34068b3ecedaa2b93c902f3bc5cf0cbde4f2da3d64e0773aadb45f3bd2e941bd93c46bbc8d21cabdaecd303c0000000000000000421ac4bd3d667f3c0000000000000000dc2d85bd71e8283c0000000000000000861c3dbd05b2f73b0000000000000000a655f8bc6108b13b000000000000000059fedcbcb23fcd3b00000000000000002dd4dcbc21e2e43b0000000000000000205002bd265b243c00000000000000000cc4e4bc2d13cf3b00000000000000000000000000000000000000000000000024dd1dbb7606683bee67173c8249313ca2fd25bba0c7903b02d9173c2a22143c949f32bb13ba8c3bb3a1ef3b8466d03bfd1f1bbbf607b23b2ccb903bfb11333b05bf06bb951e843ba9e5693b24c7ca3a2d4ec3baa91b353b8917473bf8f7a93afc8555386d8cf538e9b6413bb19004b90000000000000000000000000000000000000000000000000000000000000000bcf724bb465b1f3b87960cbba0e84b3c8ea5c3ba9eabdf3adf7513bb4048233c2901d5bab977d03acada8cb938591b3c73c5d9381012a23a048438bac92afc3b4bbc613a3f81853a689a87ba6acaed3b5086033b1eda89b8430efbba49cbd23b52ea093b38b93139069d1abb88dbd23b0000000000000000000000000000000000000000000000000000000000000000d1943cbd9298babd3979b9bcfce16e3b0e1227bd8105b8bdc81da8bc940c2c3bb16821bdfd9a9bbd349da3bcbf9ee53ab82700bdb86374bd02d69cbc11c79c39aaefb6bc99fe3dbd423a92bc4ded443ae63d48bccc3001bd9d328ebc32101a3ba20b53bb1e3370bc761d67bcb54d383b000000000000000000000000000000000000000000000000000000000000803fcded103b5f15b1bb68f622bd141c953fc036313b383590bbbe65eebc1ac5793fddb1f239c0a69fbb849ed4bc92324c3f776bca3a6e6a53bb1583ebbc0f5a1e3fbdd1823a47cb50ba7eab06bd00dae23e48c46939c957923ba9851abd9f74893ef9ce12bba10a163c640b3abd24c9cd3d000000000000000000000000000000000000000000000000000000000000000012582bbd595e983b0000000000000000d40d8cbc076a423b0000000000000000df0ea2bbdbd0e43a0000000000000000c55ba8390e71ff3a00000000000000007b2d123b613bcd3a0000000000000000a4fd44ba33f1323b000000000000000093aefebb70783c3b000000000000000000000000000000000000000000000000000000000000000000000000000000005585d83a8841f9ba42d64abb002e293b5446fd3aae6d07bbc0d851bb112e113b768d0e3b852d3abb63c8a3bb1490673b628ef03a52f30abbcb6ca5bbf5a0b43bb71add3a232b0cbbed75b7bb8b61b33be48c95b9adc73bb8baf485bbec72913bdc0754ba49b32db9fff23fbba726b03b0000000000000000000000000000000000000000000000000000000000000000bbdca1bbaffdb53aaf84ad3b952ef8bc041059bb26ec06ba0a0cab3b59abd8bce94d1cbb32be90b9727f843bc1b4cabc151245bbc5665dbade59a93b739caabcb58d17bbb6da2f3aa4b2c03bf29293bc140b5dbbd11488b9ce26a93ba2f355bc245d38bb29a22d3ac8b3cc3bf85d27bc00000000000000000000000000000000000000000000000000000000000000007cecb6bc85e386ba338a03bc3ad52e3bba6bcabcb7ba8aba9de6d2bb2dd0e539f83db7bc4596003ba304e2bbe867c73a0c4396bc7cac7b3bae94c2bbe590853a4d677cbc41c27c3bdf5cc4bb4295783a700638bc610b233b3244a2bbe396033b5f5fa0bb391e813bc35aaabb4ce52b3b0000000000000000000000000000000000000000000000000000803f0000000067e6d7394a9cc8bc31ac803f9147a2bbeeae803a3df495bce78f593f9a93e43a828c6e39eccf8abc0e4e343ffd76da3bfcd596b9f07c9abcc4d80e3f68d10e3c7de5a839d73eb7bc4bd3d43ef18c173c7af7a63ae16dbfbc52f08a3e7ffdf73b9907023b2a84efbc990e083e4b4dcd3b00000000000000000000000000000000000000000000000000000000000000001bb808bc3762863b0000000000000000e0d5a7bbacb4983b0000000000000000e92200bcef3e733b00000000000000002999f5bbddca813b000000000000000031b0f7bb3749463b0000000000000000580cebbbb24d923b0000000000000000795f0cbcf19b803b000000000000000000000000000000000000000000000000550b7a3ba89895bb8837e6bb17bf3c3c063a3d3a3f3f26ba320d1ebca49b1c3c3ce6ec3accdd22ba11d425bc8cb52c3c5d0e373bdf32abba60873bbc835f333c04f2223bc5120abbf41d40bcb4372a3cb451f739330fffb9777434bcd3d72d3c6ce105bacce0e239584d25bc1ecd203cf96b8cbbfe32363b446c09bc7efeeb3b472176baa665d7399c91f4bbc5d1033ca49be3bbf277bd3a98aadc3bbcb10abd4ef1e5bbae60653ae0583b3c55761ebdaf8cb9bbd13e32ba5e902e3c0f2518bd48fda8bb0cd47abada1c1f3cdc6307bdd47174bb140a13bb9dbd2b3cd27ee7bce38763bbf3c916bb186b203c6e3bc3bceb8164bb02eeb2ba5c92183cf53396bcaa310bbb5bcd61ba860d193c6b963bbc744b83b808fc97ba3d2ae93b50f910bcf77d1ebc7da6563c133089bc53987a3ba323f5bc1b16233c187887bcf9076a3b98900abdc952323cd0926dbce387053b899404bd9e983b3cd57a53bc5d35c43a8596dcbc7a9e4b3c160e32bcb37ce239ab90c6bc59c54f3c258b39bcd076f73aa7389dbc2d094a3cf4e710bcdaa2693aa50f5dbcd237373ccf1c02bc3405073b0b6197bb6876653c67dccbbbabf78539a0053e3b306235bddbf1803f8560fe3d1dda0e3cad0050bdc66b6c3f23a9f13df117ce3b6d512ebd13fb493fd978e63d27dbc03b74ec27bd4178273f7ad5d03db981413b970119bd3307033f97d4b13d4e35d53b2c9d22bdcc16c33eedb4943dc267f13b8d512bbdb29d7d3edf845f3d43b8293cd02a2bbdbd8aee3dbf0a113d8998f53b22c313bd1a994f3a83c3903c5151bcbce9eeb73b000000000000000020a0bdbc7761e83b00000000000000001125afbc8427cc3b0000000000000000a0f6a7bcf370bc3b00000000000000001f7b96bc870c913b0000000000000000d05297bc20b2a73b0000000000000000ae3f8ebc91f8853b0000000000000000088593bc690ead3b0000000000000000a5a786bce0933d3b0000000000000000d6a9473b761d9bbbf53c4bbc05da943cfe85523a37aa11bb89fb80bc62e4943c2eb93c3bb0a757bb867c5fbcd766873c4c2a693a79549cba8a9487bc6bb2843cf084cb3a68a809bb9c737bbcc3a6653c27db94b79fdaadbaa41b86bc4bb05d3ca62cd1b8ef8360b96f5753bc97654b3c53cd5fbba981ff3a18fc5bbcb4b3293cb39761bb1edc4a3b9ac634bcdcd4c63b104ac8bb9225d3bab650233cae7a05bd2acc0ebcd63ca3bab0535f3ccd5e20bd41a078bbb45565bb8c9a1f3c41e204bda73385bb213c66bbe9ca543cc6a707bddc9583baac408abba091293c77c9d3bcddaa333887005bbbfb3d4f3cfb75c4bc04e4a13adb5e7fbbaa9e123c3e6689bcc852223a0e4349bb9fc71f3c449643bc09966f3b455d3dbbad02083cebb4e0bbcd0428bc3b71cc3c3072acbcee1ccc3a97bddbbc8c5fc93c5176c1bc8a034f3b7f7fe1bc507ea83c72ae8fbc365cf838a8140abd1d52b13ccbe88dbca658af390613e2bc238eb53ca43f57bc8df999bab5e7e4bcdc61b23c1aa63ebc3a414db9b68aa3bcf750a63cf08f1cbcdc1cd3bab48990bce219b13c07741cbc2e6416ba929d2dbca6ffd13c44a89bbbf33b3dbb04d5cc3b10f851bda2965b3ffd2f8a3ebea7393c1c4b7fbdfaff4a3f3ee8813e9b4fcd3b63ad42bdbc0b2a3f92e9673e28e2103c446852bd82ab103f1fed4e3eed9efe3b86d435bdda37e03e291e2b3e4474253c9f8648bd9650a83e24ea0c3e0366063ce31a2abd0cc0583efda3cb3da11c4e3c271d3bbd939dcd3d35fd8a3dcc513c3c81270fbd1c232dbb5dfc043d26c009bd3c3ef03b00000000000000003ce825bd17cd1f3c000000000000000022a601bd03bbc23b0000000000000000942705bdbc63e23b0000000000000000bc6ae1bcad91a23b0000000000000000f7b2f2bce1e1603b000000000000000047bbcabc9d5d793b0000000000000000c0b1debcd493ae3b0000000000000000875bb1bc3670283b00000000000000000f0e823b4804cfbb1f4479bc4970b53ce14e0f3aeb0483ba233badbcc63dba3cf08eae3a24a209b9d789a0bc40baa33c99fc813ae4c2013a8210a3bc3dfe913c99fb863ac0bcbaba7c789abcd3528c3c205d27ba150b303a770c9cbc87746e3ce52513bbd70a363b5fe091bc81535e3c91df87bba29a423baee785bc85203b3c2fc38bbaa4b17f3aff6766bc418d223c36adb4bb322292bb32f41b3c6dc100bd7116dfbb647a4bbb807f6d3c873f16bdfbc296bbb2b286bbde42483cb37d07bdd77b83bbd157acbba9693d3c42d5ecbc739f2e3a6c6ec2bb9cf0573c8a9ad5bc2e02b5397ee9b1bbff3d363cb2a6a9bc1130283b61ab9dbb8edb273c4fc776bc8b08403b7c5995bb902a233ccfe029bc2534c53b83149bbbaf26003c4cc709bcb2312cbcbbad083dd123bfbcaa0b02ba93d4e1bc965a063dfa27debc1fca183b955e0dbd015de83c41aabbbccddb2539d8ed13bdfc2be23c000595bc3d58cbba6aaf01bdd667d93ca70465bc8a6c5dbb22a4f2bcb44bd23c88e767bc001f67bb21aedcbc475adc3cef242fbc9f5e63bbdf72b6bc113ce23c214a20bcfa8c21bbe2036dbcb44cd03c23ef91bbfdd7b2bbfb08b43b8f5b50bd975e353fdb0cd53eca7c453c6eab82bd1d9e273f58d2c73e41d9373cd8fb68bd4605103f85e5b23e90f0453cc20560bd9894ef3e1d5b9b3ee3112c3c7a1f4cbdbd60bb3e032d803e2964433c609247bdff808a3e09a64c3e9d1b5e3ca7344bbd2f9f313e4bc4173ea1f86e3cf10236bdeda9a23da8aec33d311e2a3c74cb09bd35735cbb1e041c3d2a872bbd2fc3f13b000000000000000096cc50bdc5f72f3c000000000000000097bc34bdf7f6033c0000000000000000894326bd1dffe23b00000000000000009f4f11bd0645913b0000000000000000bd4e09bd4b67973b0000000000000000886804bd6385593b0000000000000000527402bd3175d63b00000000000000002cbdb1bcd82e9e3a00000000000000003ccf5c3bc00e95bbb6a890bc1ca8be3c165cca37b852acba2c67b7bc0bcdbf3c3b7d5e3a5edd8aba8d51abbc986e963c931e3139183e26b76317adbc66a09a3c2e51003b58fb25bbfc4792bc43e3743c3da6a0ba8e6cdb3a20afadbc964c673c10e8c3badfdcc43a50ca95bc25ae523c5d6088bba0c2713b8b028ebcbd08243c03731bbba5112c3b95be71bce3bb0a3c46c981bb67f4a4bb4863273c4bbfe5bc198ea5bb76619dbba81c603cfd3002bdd73890bac97cc1bbf8192d3cc0e3d4bc5f48b8395a80d0bbf9fb503c5622cbbcf8ec703b36f6d2bb19220d3cdebd9dbca31c8c3b3c9fd3bb68c43d3cad158bbc8a99b73b063eb5bbcb090e3c852133bc051acc3bbbabdcbb9b69163c656807bc1cd8003c776d9fbbe825083ca8c2e3bbfef66fbcab94143dab6ac4bc7f7811bb4f12f4bca71f0f3d5252debc866835ba86c609bd7c4fda3cb73eabbcfba855bb75501cbd9c52d43cfb309ebcc56d79bbd141dbbced91c83c2cad1cbc4cf7babb477f06bda67ee73c84113dbcc81ea4bb9436e4bca014e03c22b513bc35e1a2bb5f9cccbcd06cec3cdd8cdabb3a12a4bb547c91bcc82bdb3c9a7d0dbb0f7cccbb0e91c33b3a2344bda4710f3f5831103fe1525e3cf7da6bbdfcf7023f2d6d063f3a4e243c740045bda283df3e5e7feb3e0645433cec0153bd80d2ba3ed73ccd3e5d9de63b71dc1abd6c698f3e06cda03ec2e0503ce6f639bdfc9f553e78e8843e2d19263c7fa821bd7682043eabff3b3ebfef633ca3861ebd2e96663d5398ee3dd7eb2a3c5bbcf6bcdf2212bcd3aa2d3d180243bd7c74c73b00000000000000009fb15fbd66b6123c000000000000000070a32dbd10c1d83b0000000000000000efec31bd5180a23b0000000000000000538aeebcf94c1e390000000000000000fa1911bd8cd7473b00000000000000008377edbc11948c3a000000000000000032f4febcf17b0c3b00000000000000008385bdbce7d534bb00000000000000003912a03a287d07bb3a139bbc0ea9ac3cab908a39c69daaba1e79acbcdab0ad3cd66ca2ba3efa293b9aeeadbc825b963c5017fdba3947443b76abaabc1877623c0f9550ba5a93163b43b5a7bc64a5613cef182bbbe8a5613b110aa2bc4bb2323c631b44bbf44b623b72aa8bbce2380f3c9007a6bbc462c13b69d98bbc9fc2043c461bc9ba6f1c223be03761bc9d97d03bb3da1fbbd4f5a7bbfe06183ca9f7babca36e95bbe68190bbe0f23d3cbaafafbc014951ba1c6703bc6bff393c6a26aebcae498e3ae51ec8bbc2b1253cf8c19abc0f488d3b8ff7ecbb2324233c6d5881bc586bc63b2ba9f7bb31ae123c14be3cbc1428c43b6b4bd0bb86acf03b87cff1bbf5f1c03b2358afbb3a70cd3ba8cf55bb9e1b013c31a8b1bb2694c43bd3389cbb9deca7bc8a760b3dbbd4bdbc24ce36bb900214bd2294f53c55fce4bc07431ebaa33726bddf47bd3ce15dafbc227e08bb89201fbdea59b63c21b68dbc72ff86bb01941bbd829aae3c0b093bbc8005c6bba00b0fbd8775ae3ca0862dbca2c3b5bb463202bdaeadc73c7b800cbcabbab1bb4cd1ddbc25a4d93c02cfdebb553e7cbb9b039ebc78e6ce3c88ceb8ba5b35d5bb7baef63b28cc2fbd5c61d33ec405363f57571b3cdd3851bdf84cc03efe892a3ff65e473c1c1541bd0c1ba53e7ad3153ffe735a3ca1fe31bd36de873eea8bfe3ed7d03c3c01e524bd8090533ecaf3cd3e9e784e3c3fa21ebdea22163e7b83a13ebb8e513c357611bda9a6b23d91f7633e3173573c7b4008bd96b8fb3c18ec083ede81183c7687c2bcc06278bc6ed1283dc3084ebd470db63b00000000000000000fd174bd06d5173c000000000000000031c84cbd97ffdd3b0000000000000000bb592fbdb5ec8a3b000000000000000025b917bdbbcae73a0000000000000000ab9711bde07af43a00000000000000009cc403bd6f95aa3a00000000000000008e6b04bdc7479b3a00000000000000003115b3bcb2bcc2ba0000000000000000b79caebacb380c3ba7a399bc43c4963c349355bb6d45a93b78929abc0beb843ca2320dba6b991d3b6f0786bc5f30443c13eb53bb1dbf9a3bcbf686bc3dc52a3c1702f7ba188e5b3bbf3784bcce62013c7aae49bb24cbac3b870281bc9b66da3b135c0cbb3ba7783bb81e58bc41acb33b4cf593bb4ed0bb3b95f03dbcdfaf7e3bf79c32bb97418a3bc57532bc9f02493b8e9ea6bb95d794bb8f4a083cc7fc81bce56f3bbb62e85dbba2b50a3cfcb47ebc714bf63a76b1bdbbe0e0b33bffcb4bbc1d11d93ad67098bb857e113c21414fbc81b19c3bb4f2a8bb5ab9ce3b4bea10bc2026a73bbab8babbf662c83b283ac0bb9deadc3b4d3eaebb44c4923ba7da5dbbe901cd3b517da3bb01c0573bcb21ce39354ff23b54219fbb092d393b35e7323a372eddbc89e1f23cd44dc9bcffac12bb09f623bd46f5923cbef2c9bc48f896baff6118bd436a333c1c3e78bcc9ff8ebb7f932ebdfec8173cb5226fbc58dd83bb983e11bdf3153f3cfd8bf8bbc67ce5bb6a3f12bdbd624e3c86c906bc573caebb45d2debc74f36b3cae268ebbaf19b1bba7b2d3bc80e29f3c1059b5bb57fd8ebb0bfa98bc456aa23c28d532ba20d1b1bbb55d083cc0bd12bd5b0f893e295b5b3fb172483c684f23bd5c0a753ed6044d3f2f2d1a3ca5ba01bd670e513e869e2d3fb2544c3c742c0fbdcebe2b3e9d87163f16ea1a3c1d85edbc328b013e868aee3e03da2f3caccdedbc6865af3df66cb93e42950c3ce869c6bc8dce473dd92c7a3e3e86243c8601b1bc5018b73be19b113ef687003cb4d389bceaedb8bc391e0c3d21f856bd90b89a3b00000000000000004ffe66bdf082003c00000000000000000aae1dbdef283a3b0000000000000000eef319bda462503b0000000000000000ddf2e7bcfdfaa9b6000000000000000060fee4bc9cd1343a000000000000000098deb4bcfd3195ba000000000000000087abdebcc6407a3a00000000000000004559a7bc3e7e16bb00000000000000000e54c7ba46278c3b510e5fbce4fb243cffe090bb13d0ff3b5b5231bc45ad073c3ae714bb07a5ce3b85cb2abc26eea63b8b136dbb12d4cf3b13f21abc8ef54d3b833417bbf194933b302d2fbc12b9eb3a1bc93dbb3723ca3b9ee71dbc6a5e563a698e60bb5e2ebc3b979303bc5d1e0139d89780bb0464d23b6668aebba7c13838960646bb0d4aa93bf6e9eebbcea92cba3a8545ba5d8950bb3fcc8b3b88e600bc67fc33bb6d72b5ba35ce4d3b41909ebb754f333a460b3fbbd9064f3bc0d2a1bb6caa2d3b337795bbe07d513b625432bbea0abb3b33b178bbee75853bc29320bbf341a43b71f482bba25dc63aa9f7f8391ad1ae3bc0fa79bb303ee83ad40a093b3da27d3bc0dc56bb9145c7ba8ff3c23b1d25c93bd29ed8baa74efb3acc32573bfb6002bd47673c3c43128cbce3b067bb90f028bd242899bbc45da7bcd5d2d7baa6eb24bd9d4a29bcd69d65bc65256fbbca2e25bd087b21bc492d21bc62c8acbb0ada07bded49adbb01ef8ebb2e4a9bbb6dffffbc1eca13bba737a7bbb155c3bb018ed4bcee9c083b404a82bb98cd89bba7f5a4bcc39cec3b4b319ebb7bda2abbed5583bcb3864e3c2db2173a28f399bbd4f3e23bb91cbabc69bef93d9df1803f87a60d3cb0b3babcf4dbd93d965c6d3f9d3bf83b5ebbadbcadb8b93d34ac4c3f08aff53be41a99bcb8df8f3d0ce82a3f41a1e03bf3c08fbc46c2513d3dd3063f973de23b527584bc0462e63c1673cc3e79a0cb3bbcf96bbc1ee3cd3bfc3f893e2144b83bfab026bc3e958abcea890f3e24316d3bcb5712bc12dff0bcfa5cae3c28a732bd4659253b00000000000000001b1334bd4c61bc3b000000000000000038bbfbbceaea123b00000000000000002443b7bcd40d38390000000000000000c19f6dbcf0502dbb0000000000000000077273bc5b31e0ba0000000000000000fbcc6dbc81983dbb0000000000000000228294bc75bbf13900000000000000009fbc5abcb2cf82bb000000000000000000000000000000000000000000000000fac213bb072fd33b6ca8c4bbccf976ba577152bb2720c23bb3b89fbbf4c505bb944cf9ba7585a73b4585b5bb19fc4fbb06641cbbdf0a9a3bc2edacbb15733cbb2a6b1abb72339b3b1a2e9dbb3e8d8bbb105893baa7a2753b108188baf90674bbfd4d08bb5322893b4af814bb266c75bb0000000000000000000000000000000000000000000000000000000000000000149d6e39163032ba18a8013a20b1fc3900f6563a5a9f8bba6e0ef7b8d02c033b31f33e3b57fb81ba28d1913ad2da903a6211563b61f81ebbc66a5b3af0aacd3ad6b3633bba2d12bb7e20a539d4965f3b29c3833bc9c2d1ba0386bdba8ed8473b6528913b046957bad30fbcbaa4dcc93b0000000000000000000000000000000000000000000000000000000000000000cafd06bd391696bc8b5e04bc8aa671bbc1a9eebcf227b2bcfd59b4bba4f834bb6496dfbcb4b1a0bcdc30cabab20180bba721bfbc387b80bc74f44aba58dd83bb57a8a9bc1d4f45bc87c0733a36ae27bb0dcf6bbce29213bc0378deb9b97717bb6c3458bc78a978bb747d4138c757fbba000000000000000000000000000000000000000000000000000000000000803f5f21853bd17906bc6b2c61bcbf6c803f32bf9b3b93ead1bb76f638bc122c5a3f7c28883b9f0de2bb5a144fbc6126353f43a9833b7114d9bb5da35fbc6f720f3f72c4723beba3b2bb2c8d96bc2fe3d53e0c64003bdefd6ebb2a12afbc73248c3e0981da3a006b08bb6c5bf5bc48ff0b3e0000000000000000000000000000000000000000000000000000000000000000d47098bc611219ba00000000000000005e26fdbbb31052ba0000000000000000610429bbc3a659bb0000000000000000d2e04f39f7764ebb00000000000000006a0a463bb3a962bb0000000000000000325e58b845a610bb0000000000000000f73c44bb23473bbb000000000000000000000000000000000000000000000000000000000000000000000000000000006999d5bbc700943bb4d4283d5361d33b8f6e83bb61c8d63b1753263d1280113c9eb9e9baae82ea3b6c5e063d3a6e463c17f7afb9eb7eac3bd13ed53c3254203c46342ab95c66b83b68738f3c54ae173cff69443b0380433a96c2343ccd6b9e3b2d7ea13afbb37d3a4cf4033b765a333b0000000000000000000000000000000000000000000000000000000000000000c69648bb1084e1baa42f2dbaf9ca433ccc3402bba03820bb035527bb1269e83b6018f3ba185f1ebb4dc279ba71292cbbb4011839105557bb3fe047bbb899a7bb18116bb92ca40dbbf9238fbbe9ee90bbc0c5953a6bff10bbf9e2b7bb3cc33dbbb993dd39e994a4ba5017babb837787ba000000000000000000000000000000000000000000000000000000000000000012915ebecdd1d9bbce99063c7385e139d13658bee1df8dbca05c013c29f9f8394bfe40be3592d6bc689bc03bb4fdb83a08371abeb549cebc502ec53b9f22e93a611edabdfbb3b4bc07bb4d3b8e48c83adbb075bd9cf747bcee60823add9ae73aecb54fbca7b7c3bbebb3a13a9a02743a0000000000000000000000000000000000000000000000000000803f000000008847ae3cb3a2f9bd0853ad3f29f0d4bdb7cc763c1090aabd8a4d8f3fa54759bd4d1e2c3c3e7086bd56bb6c3fde60f4bc93b42e3c4f1f46bd5b33303faf7349bcd43ebc3b8cb6ecbc4372e73e1bd592ba76b3ac3bc2092dbcddf8693e55ca603b7288233bb4d6963badb23f3c16e11f3b0000000000000000000000000000000000000000000000000000000000000000b8b16c3c49349bbb0000000000000000e5afeb3b3c6956bb00000000000000006b192a3b8e9171bb00000000000000003d7fce3abe1392bb000000000000000063041c3bb02084bb00000000000000002aecb43a0e585abb00000000000000003bd17e3b6d2977bb0000000000000000000000000000000000000000000000008f240bbcd418213b046db63c5158d53aab5510bc4ec78939ec1e253dfb351c3ce621bfbbd05c873ba2722f3dfedc6a3c1f0077bbc269b03b9ee3183d19db863c438949bb6236eb3b06f9da3cb9bd843c6f3026b9e125823b3858ac3c0cdc223ca222643952a3e93a90114c3c84aee63bc8412c3af453283b5b86ef3a5468ed3afbe32eba48b08439cf637bbb4730a7bacab10ebbae207aba0f385d3bf0d6483c1e22b2bbaa5793ba77cb88bb9e10113d443887bbd90d34bb3a230ebba2b2853c9cc946bb0a702ebbb34f3ebb9c03303c3ecdd4bae0551abb77537bbb987f4e3bbe7ea2bae2d77dba2908f1bb32cd723bfe68083a39785dbbe46be0bbe5c94f3a9ccde23ad36e5ebadda6febb343a4bbbd293a43a455ab0ba67ebd9bb024bb03b9d6a09be58c12c3c229a44bbb8c0103b13b056be2682ae3bd50982bb65ec643b145c67be29b99abc0ce51e3879e98e3b23cf52be0f82efbce910b439748b803b693c25be951afdbc21ca0ebbcef7ad3b9047eebdf134bebc60c652bb89bc5c3b984f82bd773280bcc9498abb1816af3bea8870bcc557a7bbe26a5abb56a4b23a9911823caea5ac3b8b49bfba73cb903a6153223d2a0053be5c14ad3fc987753c2db2323dfa7d48beb97c9e3f768f033da0da093dc4b621be7f4b8d3fa722653dd614dd3c28f3fdbda679653f56dd8f3d67cd9f3c7ba3b1bd7ba5283f3b34933daae6903ccb1069bdde7ed83e223d883d37f52c3cd4aaaabcc08e463e6833643df38bba3a5c50883cd5b0003c40792f3d792d8f3b6ba50b3c2667fbbd2c1fc63be3a384bce508993b0000000000000000ec6c80bc15b6033b000000000000000081e0b1bccf74e33a0000000000000000411db5bc27d7c03a00000000000000009c56a6bc28ff41ba0000000000000000e34c95bc8aadc1390000000000000000cd1769bcd6254b390000000000000000eb5168bc8579043b0000000000000000093badbba9416c3a0000000000000000606aebbbf0bc243b57cf3a3cc8dbf63b759f11bce23bae3bf8f2d03ceba66b3cc2bfe5bbfe43e73b84c4003d9187933ce8eea7bb9860f13b1830e63c720fa83c0a700dbb4b3fb33be1069a3c5501813c93ef03bba4cfa63b712a7f3ccc24613c40ce8cba197c973b7442c83be981123ca5fa2ebb018a353bb8e8ed3a912c183b38999cba9a40ed3a5f2974bbb69edcb99efc92bb44a71dbac4c0a53b358eb23b932c24bbe6e314bb97672339b75f8b3c1eaeb6bad21562bb02840e3b250e123cec9403bab74763bba1511dbb537aed3b4b0dc13a16af60bbb55a06bb33aa133b68c30a3b1ec287bb8912cfbbeee5833babaedd3aec3b37bbab2cf8bb7ba7683b926d583b3f7311bb8f2dddbbb4db0a3b766a9b3a2cb2fdbabe2eaabb5ff3693b3975bebd438b393c12d169bca62cbf3bb7562fbe98ff8ebc1a5d28bc1c78d43bbbc93ebef98f22bd462904bc5f12e03b87a431bed29f3dbd485028bc94c2c53b570707be33b631bd4e3924bc7e29df3ba407cbbd683711bd11d809bc4cd6da3b60a255bd3818b6bc2f5108bc5a266c3b06148abc24c8f1bbe92df9bbe345673be87a0c3c6d37e03becc52dbbbb2ffc3a905d2a3d7fef4ebe4a378f3f45216b3e8e4f4a3d7a565bbe9d198d3f162a6d3ebbf1143dc05930bee678753fa7c8713effb3053d8bed0dbe2ae5463fec815f3e5510ca3c5f31ccbdb007103fba02443e993db33cf61b89bd6cbfb73e856a1e3e79b2853c6dfb1dbd9fff2d3e3b32d83d40460e3c3b4474bb8296e03b3971743d0f34b53ba6a4a13bdee4b3bd923c453c765f80bde31d563c0000000000000000b23a89bd5f68663c0000000000000000f5527ebd3cb02a3c0000000000000000754460bda2e20b3c000000000000000071383cbd7347e13b0000000000000000850b2cbd68e6bc3b0000000000000000860300bd29b8c93b00000000000000004935c5bc717aae3b0000000000000000039686bcfcd2c23b0000000000000000ffcbaabbac153f3b1de7e13b9a531f3c81b1f3bba3a88f3b1524a03cdd72a03c4a60ccbbb382d23b1323b73c618ac33c22ad8bbb5a0fcc3b28f3a93c8f59b43c914f40bbc240c83bb245833c7866aa3c464bf4ba07cba73b5b062e3c396b713c30e4faba0d1b643bc55fcc3b1587053cb153dfba8d8f843be07ecc39e328663baf35a7bad5febbba76988bba647d4aba6bd89bbbf3279ebabbccae3bdfb196bb8351dfba341076bb63a55e3b1cbb2e3c39e52b3aed01a5bb57008b3a3cf8e83b08c0e1396563abbb664f6dba04fabb3b3fe3083b2aef69bb857d29bbad2b203b73516c3b2c4494bbdfa9a2bbb8531d3bb68f6e3b44b780bbcbcabbbbb88b373bd86ad53aa9d96ebb3f5de8bb4733463b26d0003bf09ef0baeb1385bb6f8db33b8eb496bd282e6d3b1e64afbcad0c163c60d40bbe4c4d27bd011c8cbc7eaa1f3c23dd1bbecd6d85bda0ce81bc86eb2f3cc95f0bbe39028ebde18c6bbc7ab0443cad8de6bda87a82bd705188bc17be203c9222a1bd7c7245bd409669bc4afd053cbde339bdbb63f4bc445333bcf80ddc3befb873bc4e780cbca142a3bbf063573ba8a7813beb0e213c400494bb6f070d3bbc28133d55eb39be49f66b3f7d1aea3e34812c3da51f48bec31e653fbf8aed3ec0da163d7cf123be7e94463fcd6ce23eda0af93c43d601be129d1e3fa0cbc73eced3c43c731cc2bd7dbee73eee50a83eb5d3b33cb02584bdd0a2903ebb3a7b3e7c6f873c95f915bd5ec4053e8f01223ef767343c2c3f40bcf2ad9e3babd0953d89e9f73bbd82b3bb53768dbd50a4ba3bd64be5bd34eebc3c0000000000000000690af5bde9c1d33c00000000000000004a35dabd4e92a33c0000000000000000e93ebdbdcd82683c00000000000000007f7fa3bd5044823c0000000000000000c78e81bd60903c3c00000000000000003f7d4bbddca01f3c00000000000000003ca016bd59b3483c000000000000000092ffd7bcd4290a3c0000000000000000432297bb85d5d83adf25813b93774f3ca4bf9bbb6dcd953bdc164c3c5cf6be3c1b4353bb9e087a3ba59f753cb8f3d53c1e1438bb770b8b3b3376823c6d2be13cd15c9bbae2feab3bbb69063ccc25943c5abb36bbe0edc93b127df43b8a9e893c776fc2bad0d5863b3905293b8855273ceb3f1cbb162e173bcebb1fb70523e13a2f46cfba1521b73a011527bb980483ba94f650bb496ea6ba6424de3b521599bb8cbb383a519190bbb02fe339336bae3b580e723a0eca7ebb6b3d5e3a1249dc3a46799f3b88b096bbe5b1e2ba0e4a5c3bdb00433bd4fe31bb65188fbad8c61dbb3e0b9e3bc5d884bb713535bbd03bd2b912e2463b6aa46abb9bc269bbc219eb392f81af3b03e502bbe69436bbeaa9c1b940b8573aef7b4abb47403dbb7c2d4d3b418462bdb26e1abcb2a7dcbcf7693c3c17ffcbbdfd938abdcdf1cbbcd0cc583ccfeedebd6afcb4bd0bd8bcbce6dc523cffb6dabd1977c6bd689ddcbc068a613c33ae9cbd311c8abd6e5bc4bc5afe103c7bdb80bded1785bdd61695bcf275193c35640ebd6be503bd1be868bc39d9da3ba7883cbce3153dbcc88513bcb5f1103b336d033b41c2333cf3f628bb27a63b3bbf3fe93cbeb518be3d8a303f830d323fb0120f3d3abf1ebee3de283f7e79333f5501e53cb34ffdbd0238103fa4bb243f6ac7e13cb268d7bda049e73e636a113f2a51933c2ef491bdeacca43ea001dd3e5641903c403d5ebdae2c533e7019aa3ed2e75f3cc9d704bdda78c63d8b1c483e7fc11d3ccf8268bcb4dddb3b40e2a53dcbce0e3caf84d3bb244761bd995f56bb65731ebe3babf03c000000000000000070df22be7291053d000000000000000015360dbef7fcce3c0000000000000000d3eef6bdcd6db83c00000000000000005e0babbd8a9c7b3c0000000000000000c081a4bd493c873c00000000000000001b316abda890693c0000000000000000f7e62dbd3512713c0000000000000000ae100abd53e4483c0000000000000000a13908bbef7fb93867d30b3b84cd743c9d7e2ebba08e62394267103c217bd63c1ae520bb21e54d3bbcef473cd860083d91d00bbb9e4c863b8b4f393c6adaf93cf5dd14bb1f468d3b7005173c77f5c83ce009c0baa3da833b91370d3caf1a963c06642bbbdb2a963bd38d663b92c6233c7e0bf5ba9abf1a3bc8dd463a18cd5c3bb81786ba2b85683aa68aeeba732ac0ba833d4fbbf0702bbb3382043b73c157bb6896643bc2049ebba49f283aa55e523bf4b89c3b2951b8bba78ae3bab3953b3b5aa0ba3bbfb7b5bbaa86ecba87179539326ace3b85d67cbb7684f4ba3c03933a56f7e53ba8da9bbb2ac720bb449dccbaee05b33b2f9c92bbf525b8ba47155fbbef1f623bad3280bb4684c2ba557026b9a4ebd23ac60c41bbef0194bad9550e3a003e1dbda24ef1bc7c0fe6bc9da95e3c796083bdef5cd4bd727bbebcb328623cbc3c9dbdcc1f08bed192bebcf0c3723c200f91bd5b1802beb3acc9bc677f3d3c3d9683bdf263dcbda371c6bc18393d3c76143cbd71cba1bd95659cbc2b62103cee82f1bc94a535bdcc4654bc1c55a33bf9e13ebc5a7d43bc4464d3bb0600743b5226043b3e04313c0855e8bab2a7de3aa485c53cb99bdbbdf4cee83eb3096d3fadc3d73cb1d9e0bd7350d83ed3586f3f1f47c33caa87b9bd9fc9b93e64365a3fcec6aa3cd3ed8fbd9bbc913e032e383f8f787c3ccf3f67bd58a2573e6909113f9ef17d3c00141cbd6ac4073eda25ca3eeca23b3cf352c4bc71878b3dab9a653e3cf4c33bc42634bca133183c34a2993dcfc3803b067282bb5f1817bd94d0a8bc4a4042be779d193d000000000000000021ff4cbed66c273d0000000000000000270c2fbe551b043d0000000000000000c1ea0cbed594d53c00000000000000004785eabd9501c23c00000000000000002c8cb1bd2ad48f3c000000000000000024ce80bd92fb8f3c000000000000000059b22ebdb4d77e3c000000000000000020a710bd2b3b6e3c0000000000000000577169ba2fdca6b91f6a64ba3ab88b3c87ea0bbb0d044f3a06809a3b5e9d003d314587bad74ea639fb13103c8d51123db318d8ba14eb913a071d2e3c8dff063d5572edba9100903b667fcf3b1b5bcf3cd91dedbad57f6c3b9cf9b63b5279983c2f823fba94ec893bcf31413b72f13d3c673930bbc4fa403b79f1963a0f1b273b0391c7b90424ca3a59fe0abb11b6c0bac7c785b9088c7fbb12acb939468b47bbca1daf3bbf52ecbb8605fcb9797b02bada74f83b2b95e6bb9a4213bba4c4183bf3891b3cb41bd6bb95c109bbef2ec53a864d0a3c5d02b8bb34cee9baaf1da3b9a482fe3b7ed397bb52f0d6bac3b904bb189cb23b1bb8adbb5dd0e7ba31d20fbbabd38d3b290860bb530a9c390c5304bb4682b03a8a8b49bba377033938b2a6ba0df532bc583a76bda14492bcc6ca3f3c510fdbbc101116becdc05cbc5899543cb25b30bdb2372abee02eb5bc9376633c6f692ebdaaad26bed74db8bcfcb9553c35621cbd7cef01be0951b4bc92401a3cb8d0f5bcee9ec6bdee447cbcef22c83bf841a5bc3cc65abdf79535bc3d4bb53bdc3a1ebcb5287abc1e2f72bbca6015b9c462863a3443463c65d94a3a80dea63a6ed7653c52967bbdb2e8683e0d738f3f6f3e783c81e567bda1374a3e90c4903f2919763cb02e44bd0105313e9f39813f82164f3ccd501abde258093ea0695a3f4b1f333c193bf6bc1820cd3d9abc253fbfd6243c80d0afbced678e3df041e33e83c8e53b4c1e63bc4718113dd5b7763e309b9c3b97f91abcce59723c184a7d3d84ec1a3bdb177bbbd7eb4dbcd6ce52bda2fa52bedc602a3d0000000000000000b33c5cbeb8d2373d0000000000000000fefd2ebe3c32033d0000000000000000284312be441dd73c0000000000000000d147d6bdc9ffb03c0000000000000000ddf8a8bda3e3a93c0000000000000000250068bdc2af853c00000000000000002baa05bddf67673c0000000000000000050fd0bc8771573c000000000000000096f4083b182581bba0790dba983cb83cc94fac3a4b1823bb51d9f0bae7532a3d660e6bba3ecce1396388763bba963b3d7483fcb96360953a639adf3bff95233d44aab1bafff8403b3f4fb33b30b0f83cc44201bb62a3803bef80873b6976be3c3414ceba9673793b9d80403b1a804d3c1a08efba2486493bdb3b933a3b3b863b8c1384ba6205913af50c7d38fb6e8bbbcd63ca3ac945a9bb276d06bb1eb1a3396079dc3b56a121bc40ffdfba5d7baabbfb74263c30c30abc079640ba5d733cbb5944323cbb0be5bb694d34bba271acba4fe82e3c1a968ebbe07c09bb0fe330bbd442143c1eaf9bbb867db239ee14b8bb3324ba3ba9af55bb0cc2533a8197a0bbf5d24b3bad4729bbee5d403b2b73a4bb09aa673a57f06aba6b0ec03a2c3312bbd1d3cf3add27e8bd7e8fe6bb7780213c3389653c624d48be301fca3b08cc013c312cf0bbd4ab5ebefdee39bce2b83c3c2ba06abcd89d4ebe00c88abc05d8213c9f1190bcb67420be6eb8a3bc76d3033c9ae768bcd524eebd9b2472bcc78f9d3b975052bc30ff82bd3f7108bc1d9e083b405e2fbc3ea77ebc5a2129bb587ebcba39cbb0394bbc943c53806d3b5372f5ba77eb9e3b44855cbc55bd843cb6c1ac3f0da0ad3bc7290cbcb7bb3a3cdd23a03fb291a83bf27c24bc51af673c30e7903f800ad13ba089e6bb0d98443c345e6f3ff4f3d33b14e7d1bb403e683ceab6333f967d923b9c9e76bbf5ac533cb30dee3e341c793b3544afbbb834943c90846f3e44e2153b619201bcc148f93c7f6b083d94fa9bbad1d7a2b9c5ce443a01b0d7bd3b8c54be983c1f3d0000000000000000466a43be09721f3d0000000000000000738b18beb9e0d13c0000000000000000aba6e5bdf4dba33c0000000000000000674da5bd03dc853c0000000000000000bf705dbdeb23483c0000000000000000c9e2fabca87e1a3c000000000000000083a79abb5949d53b000000000000000062ab60bccc2f1a3c000000000000000000000000000000000000000000000000dc6dcc3af66b21bb96f4173b89d12d3d9d65803a87251ebbafb1c03b64591d3d0cb2f2b9e0be5ab9d980ef3bd294083d9eda27ba08fdc63a6a70d93b797dcc3c6e3d5aba1a3c2e3bf7828b3b2b3a963c7d1bacba19785e3bca6d063b25e25d3c0e0e75ba7fd12e3b324c9738c8c34c3b00000000000000000000000000000000000000000000000000000000000000007b98e03b7b9cd8bbb82688bb2f2c4b3b95a0253c6626a1bbdfa919bb2558d93a37474b3c0175c5bbbefd04bb69a62a3af982483c17955fbbcba4fdb9985602bb6a1b0f3c8dd743bb53b4a1b9cc6751bb8374983bcba32dbba301ad3ab5a8aabb90159a3a39f0f0b9c5a4363b44a5bfbb0000000000000000000000000000000000000000000000000000000000000000e30af23b5cb260be0a67bab987f1a93baa656e3bb10d5abe3ec236bcf268773b773e11bc074c41be82a29fbc04fdac3b4441d9bb0f9322be398aa8bc0f16033b9380dcbb22bae1bdf21a76bc26a4c43ab9ecb8bb784f7fbd5aed24bce4898e39ff0949babc967cbc8f4186baae4db6ba000000000000000000000000000000000000000000000000000000000000803f8c88e6ba455f9f3c76baecbdaf2bad3fb44f69b9b6dc5b3c6a2ea2bd308a8f3f61a1963a8a9e223c40817abdca7c6c3f8af6083b8a13073c4ff740bdb417333fce964f3a9c22073cb68dfdbc25a1e93e3dc5edb9d66fae3b46cf1cbc017c683e57fa94ba545c513b0f5d8c3b16f1073c0000000000000000000000000000000000000000000000000000000000000000ce8be5bda7fb8b3c000000000000000066eb76bdb51e123c0000000000000000bc1a14bd96ebc63b0000000000000000c59797bcc2c0823b00000000000000005aa7e0bb1c562c3b0000000000000000a0526c3bd622ea3a0000000000000000e1c1963b8677643a00000000000000000000000000000000000000000000000000000000000000000000000000000000e8f891bbe37f823bc8930b3d27a9c33b814a81bb8984493be6050c3d25262c3cf46044bb4521dd3b46a2e53c5d17353c906204bb1f148f3bcaa3b73c5a2b3a3c110f9abae1e8783b1cab813ce018113cd2d5433ab3798c3ad9f9203c0b2efd3b19129c3acaf267ba49061c3b7adc853b0000000000000000000000000000000000000000000000000000000000000000b2a459ba11a0ccbaade37abb85707a3c453320baf308ffba1ade24bbf228753ca64a72ba61659dbaeca148bb7afd0b3c4c56c5bae09dcdba6c9931bbe37ee23ba31116ba662e01ba3f0894bb64250d3c40d863bac1eb66bae79c9fbba22bfb3b84ecb3bae40f92b8c226a5bbb348003c0000000000000000000000000000000000000000000000000000000000000000b2fc4bbebefd9fbc0b39423c609496bacaa34bbe6d35dbbc91ac213cfd0b9fb90de035be343308bd88200c3cafba2cbaf04014be63f007bd0234da3bad6ca93ad347dbbd7641ebbc4822c23b07185dba8ece82bde496a5bcbc59bf3b7a0c113ad4a38ebcc2a422bc5585a93ba7ce81ba0000000000000000000000000000000000000000000000000000803f00000000ac79833c2139e9bdda9da93f2ea0aabd36f52d3cb0adaabd77438d3fff4915bd4214073c86fc9abd011c693f623673bc38a9023c47637ebd7c3b303f9a023eba79f8d33b745143bd60c9ed3e974fc93b2e40093b08b0ccbcf3f4753e31485d3bf32ba7b935c204bc6846f33cb8642ebb000000000000000000000000000000000000000000000000000000000000000076dc303cbfa05fbb0000000000000000fb44983bc0f46cbb00000000000000005c7c943b841659bb00000000000000008dfa463b01b991bb00000000000000000a25863b02d367bb000000000000000017f3613b367f88bb0000000000000000b3dd043c55a381bb0000000000000000000000000000000000000000000000001e8ee9bb4dbad53b7ab95f3c155adf3bc749e0bb207fccb8e125143d4b55823cec94aebb409a463b69151a3d29cca83cd911acbbf3e68f3bbacd043d7f23a43c426816bb4e9c323bed4acb3c761b8d3ce104c2baabb5913a054c9a3c7aa28e3cc6821a3944fc2cb883d91b3cef7f2e3c4fdb093b0c3ed3bab169513bfcc5223b81ba223a30511a3943fa88bb3ac30e3b55d999bb39a0a33a928437bbde938c3cee7fe2bb6c3842ba94a427bc215b553d6cc306bc9d8f42b99ab6f9bba04f123d6a4abbbb7b8d00ba02c5e0bba687f13c849678bb5fbb5fba0c6604bcc091d73c479a9abb564e12bad9e00abc5ef5b93cebf93ebb4b0e1bba045716bc05df8e3c4f6a98bab5c5cbb9fd9cf6bb24dd083cc46c52bb1a8523b8e12713bccf433a3c06f010be3c0b853c028705bce55b543b289f6ebe2140c43b8e10bcbb5689943ba3ff73be7c7a73bcdcecbabbb192b73b9d465bbedcf5bebc997ac7bba2c8ae3b73a72fbef8d3d0bc6b5cc2bbad72973b472b01beb42cb8bc831fdbbb9194a63b97b090bd29f136bc417cedbb26d08a3b71e89ebc92c8153b08399bbb996c283b24a71a3c2ac2413c0db78ebb483e403b80afe43cb98930be7b34a93fe954003d743bea3c497e31bec87d9e3f5438523dd0c2b63c6cd110be1098893f9790ab3dca748d3c1f78e5bd71b65c3f085cc93da9cb573cc681b3bde451223fcb88cc3d6823223cf07768bd0af8cc3e5f5eb93d9e4b863baf3fb5bcb8e3333e40d0983dd19dd0bb02e5af3cbed3c5bcc6fe543d0221caba8602673cff620cbe6be1883c8b1880bca23d1e3b00000000000000005b0597bc8f461b3b0000000000000000fdb6c1bcf17dca3a0000000000000000c142b4bcb164c03a0000000000000000f2a0bcbc78d06c3a0000000000000000028a9bbcb3ca703a000000000000000071f28abcbf50c33a0000000000000000650d7ebc3fcdec3a000000000000000047e621bc5e0c493b0000000000000000f3ecf5bb56d10c3caa9e533b16dd813c16c4eebb3d9f8b3bae09be3c71f49e3c2b65d9bb8d91e53b0f77b83cca0cb83c3c13abbb5858b23b1261c03cc67bc53cad534fbb826f1a3b183c863c52ebb43cf655eaba7053e13a5112603cfaba8e3c2245b6ba96f0b43a39ff8b3b52195c3c365b73b903c21dba7c50253b5410843b6fe733388b22a1ba8e92ffbada3e553a1fb74fbca077863b847e2bbb3077ad3c54263fbcfd66593b906504bc466a253d4ee401bc3132833a749acfbba8b3f13c898edbbbc52a94b804050abc419e013d1101f1bb31b06f3a5e82eabbb202d73c96cd9abb4601d53936da28bc5d85c43c21ee3abb2dae063ad9970bbc7a97a13c2df1edb9666e1dba783f16bc883f693c203b8dba6429dab787fd06bc4b6e573cc7f5ffbd4713283d68f3f6bcf02c1d3c50584fbe032d5e3c72e8ebbcc979373c19444abe9b8832bcd7c3e1bca291483cf90e42be2eb7b4bcd623e0bcf4254a3cc60016be8ee1bfbc08e0cdbc78f2373c86afe2bdc7dda4bc010ac6bcb8eb333ced1281bdd91a3fbc2e24aebcac380b3c9306bcbc6f0c1a3b77438dbc40ddeb3b37a49639a7da813c989348bc115eb03be113d43c2e6028befbad8b3f4bd8713e84b7f53c888034be3ecf873f4556803e550ec03c632310bef0b2643f7827883ea369a33c36dfeebdf2f7373ff810843ef0e6693c6375aabdc626023f40a1703e7cdc343caf335abd67469e3edf644e3efcedfb3b02abf7bc1ef7073e5d0a1d3ed60f28bb17033c3c621622bd72aed33dc09f16badf23993c1c49ffbd88b74b3dfef85dbda96c0c3c0000000000000000879474bddf65243c0000000000000000d7d96cbd850dfd3b0000000000000000d86965bd8beb013c0000000000000000de0e4cbd40aae53b0000000000000000540549bd2c4b073c00000000000000003fab2fbd03a0023c0000000000000000e25c1cbd32461c3c00000000000000001d3b0ebdb2d2153c0000000000000000b409f0bb1774073cef8666bad0459d3c6b7cdfbb32bccf3b17b26e3c9849c33cac5bbdbb8291933ba5a89e3cbe65dd3c9d3893bb68e5723b46ef8e3c19d8cf3cd45a6fbbab0d5c3b87426d3ce11db93ce53e0bbb684c923ac09d263c0c389c3c2095faba69da033b747fa43bce5b3b3c3f76a5ba02cd2a3abbd4d33a6895933bbe0e16bad0bd0aba0cc345bb9642b23acf5587bc6dc6aa3bb1451d39f8f26d3c92b259bc60346b3bffd2f1bbbedf103dc24c27bc1c3a0b3b0ddfdabbfdbd083d1bd6ddbbb31b2b3b6833e8bb3431ed3c8f9cb5bb3fda253a1a5cf1bba267e53ce7c13abb2b5500baada906bc0ff2bd3ce84897ba81668eba4ffe1bbc55129e3cc466f739f42dccbae272fcbbca8f643caaffb6bae0f08238ac56ddbb2b605c3c92bfefbd5af6633db77d51bdfc71833c32a334be3428663c3a3040bd48a6903cfc1e3bbee53f80bc27ff41bd2c4b9e3c531825bef3d9ecbc98003bbded588a3c27ac09be1266e7bc055b30bdc0fe8f3c1f25bfbdd85fdcbc18f015bd81e67a3cee1b68bd05bf3bbcc88209bde8eb783c56fab9bc63a4b33bc4cbd1bcf4393d3c5710b8bb0671c03c1f4cb8bc2811223c5dfcbe3c3ab915bebabe623fd8abe83e76b1d03c0cbf1ebee63b583fa273f23e40e6a93ce59d00bedca4353f223bf03ef86d833c001ec5bd85ef0b3f62aade3eb1903c3cc27f90bd5d84c23ec77bc33e88f90b3c2da72bbd902c593e4fa6a03ee69ea33bc9fe85bc065b883d309d6c3e7d93e4bafe9d2c3ca32361bdc0d3133e684d153a8ef1463c4f47eebd0a218d3d5f0ebfbd2724823c0000000000000000478fd1bdf9f78c3c0000000000000000be20c6bd405a6f3c00000000000000004468b4bded985b3c0000000000000000ce01abbd529b673c0000000000000000ff6e9cbdf8155e3c0000000000000000bc7690bd6e6a633c00000000000000002ccd83bda4aa8d3c0000000000000000f56a5cbda1f7663c0000000000000000b14e8fbbf957e03b3f1c81bb2796bd3c204da6bb22cfa73baf302b3cd4dcc63c55ac5cbb92a34b3b8a6d4e3cbbf5ea3c18b931bb888c173b4bc4653c85dfec3c8ed9d7baffdbc83a0501ca3b4294ab3c5cd601bb8353c93aa28c183c22d6933ca3b8c5ba0172893a5f9a573b93052d3c36a39bba7e49163aa1a1843ac6b6603b1aa31dba7d401eba64bdadb9ce6494bad3c694bc98d4b13b291815bb42b7663cad2243bc135d6d3b9050c1bb5153e03cb16914bc9a82013b5505bcbb55dfd13cf059e7bbdc399d3a7bdf0abc2636d93c3808cebb38c55d3ae5007abba8b78c3c6aaaaebaf37be3b9e5a3f4bba37d9e3c651e893a9a9973ba7999cfbbf3596a3cd3b5a23abe64a4ba8164b8bb59c0283c5efb5f3a024f13bb7d20b6bb93b72c3c022ad5bd955a663d881880bd02d0a93c033714be6987483b967e7cbd981ab83cedf60ebe757cecbc9efc6fbd5f2ab43c39a207be1e4939bd84696bbd05bfbc3c6e7cc2bd23fdd3bc5cb549bdd2e98f3c33cb9ebdd74106bdb68749bd21e19a3c369037bd70d452bcd07221bd74c67d3ca59d9abc6ee3bd3b7669f7bcee5a4c3c7537d9bbbc86e63ca11fcdbc6abf343cd973913c0a99edbd8cac283f95812d3f5c9aa53c4bf8eebdaa9d1b3f6f18333f9e02793cb829bdbdb171ff3e5d29283fbbb65d3caadc94bde833c03e95d61a3f7db22b3c151f5abd247a833e5902f53ee166ed3b2ffef6bcc598033eb3f5cf3ea23ea83bb02c4abc3d75ea3cb3828e3ed406ecb9f19a343c53fd84bd38982b3e4e8d21ba3d1b633c7c9fe0bd1881943dc53304be65eeb53c00000000000000005bf20bbedc6dbc3c00000000000000004df9f6bd5c109a3c0000000000000000356eefbde419a43c00000000000000008c72b5bd7351603c0000000000000000b2a9c4bd388ead3c0000000000000000c9e9aabd17e8963c00000000000000008e2e9dbd0e24b03c0000000000000000eea38bbd76eaad3c000000000000000087e168bb74d0823bd81143bb66c1af3c6cb023bb61aaafb987533e3cf515cf3c99cd26bb59a98fbabd0f5f3c5420f23ca0d0f1ba03bfabb74741463c959ae53c509405bbc5e698ba0484683c3a3caa3ccc06acb90cee59b97a32ea3b41b78b3c2a4f7bba2d3bec396ad9a83b6ca00e3c6e141fba7d18feb83d794e3bd86618ba489cf6b91b401b3a042cc8ba46b927bb42b47cbce2afb03b7bbe06bb8a13683cbe7603bc1982fa3a0c2bb2bb57e3c73c224535bb955ea339b919acbb6ccfbd3cd2080739866109bad138c3bbfe12ab3c7536433ba1f406ba9d01abbb2dbda03ccfaf6b3baf8742bb1208ccbb0851583cf3708b3b9c8221bbbd2194bbf19b1b3c8e2dae3b117f69bba96a7cbba964a13b1ccfb43aeb52ffba96f273bb1aabbc3b9295abbd73eb0e3db63288bdae07b53c3eb4e1bdc25606bd34ad8abd2c6ae83cd233e0bd7cf691bd5ca784bdefacd43cfceec3bd9f119fbd35397abd6531c13c5e12a6bdd9768bbdf4607cbd60c6bc3c16095ebde24853bdeb024abd6618a73ce8c203bd701ddabc23f528bdd766883c23632cbcd2c342399e94fbbcd564613c471f76bbde57d13c004fb5bc48803d3c3455673cc218adbd0e63e03e97b8663fffe1673c463ca5bd4702c63e1f0f6d3f61e34d3c14037fbd657b9d3ea8eb5d3f1428183c826739bd5dc25f3e18cd413f2400d93bb2c8f5bc75bb073e3585203f6568b53ba6356fbca75d5f3dc6bcf13e6ac5ab3a9ce38c3a202d5abc79b9a03ea95c59ba939d573cda0885bdd5bf283e1edd14bb88018e3ccf61c0bd868c623d78e71fbea257d43c00000000000000006c912fbe05a4f73c0000000000000000c82f1ebe3b81de3c0000000000000000d7f607be7ae4be3c0000000000000000993bf2bd40c0c03c00000000000000002cfdd7bd3610c43c000000000000000070aebfbd3047cc3c00000000000000005dd9aebd393fe33c00000000000000009d2795bd33c4b23c0000000000000000bd7451bae0823f39de556839a6239a3cde8de1b9fd8f3abbc07b043cfbd1dc3c010dfd39f9ba75bb31913d3cc495f73c28a276baf44a82baba96253c5ca7f23c28ff8fb9c6a0f0b9a3f8003cbcedb83c32187dbab770a1b92524e93b086c873c11706c38f3f3ea3963f6473bd219073c6c11a0ba993ea53aadc1213b0ab654bad816e8b9b835d1b9f042953a36f194bbf53c27bce28d533bffa221bb4940383cc805163b63d31ebbd96ca5bb1fe0853c93dd0c3beefc07bbb89eb3bb49db8a3c37c4ce3be0dc2dbb8429aabb9c1d5c3c696ad83bbd055cbbf74e8ebba3e3203cdd0e013c48106dbbdce43ebb1ad3da3b954df23bea1079bbbd7495bbc51d963b8140ec3b544592bba380efb8aac07dbaaf4e5e3b015258bbc39923ba795741bab71b61bd95d899bb35f665bdd7f7c13c9ef379bd1b45babd8c0f6ebd9705d33c188987bdbdebe0bd2da26cbd2b5bc63ceb0563bd1bd0fcbd6fa36ebdfb5cc63c057834bd577cc3bd06c952bddc46a53c1a2601bdcb829cbd2af83cbd5dca9f3cb60c84bc27f021bdbdd50fbd6e80653cad026abb40670dbc856aadbc1177333c37243c3b38ddac3c0abc6cbced98103ce660f43b15983fbde014683ed2348d3f42a7143c957f30bd21ce313e74d1903f3c13e23b039d03bd8d4c0b3ec17c803fb592a53bd25c9ebc9775a33deb7b623f9d98693b49693bbcf3bd1b3dfc17313fd5bcf03a5c0948bafa5c09bbcc0c033f733a0a3be4379b3b7c3e07bd5486a23ef2195dbba511623cfc1552bd45450c3ee49e07bbd2be773c5d7e85bd798f563c0fdb32be412ae33c00000000000000002af63fbe8c610e3d0000000000000000a26016bea87dc43c00000000000000007adf0abed6e2c93c0000000000000000e98ddfbd22adb03c0000000000000000a65ccabd57f2b93c00000000000000007174aabd7917c13c00000000000000002ccb99bd0e78d03c00000000000000002a2889bd6c17c73c00000000000000009089693aed6849bbfd892e3b1abf8f3c0b56dd3a1816b5bbdb110b3b1dee0e3db017893a8c56a0bbc037c53b72491b3d510cb7391d8459bb6f08013c08ea0d3d107e1dba0f7335bb4ea3043cbb1dcd3cb28625bac72138bac5c8843ba3149d3cb7c73dbac02a813a021a393b51ea243c4607c3ba74652b3bc0f691b958d2843a9aa6fd385bba893aa1505db9251eabbbc3950c3bac8617bb800a0dbb3a09e73bc4332f3c062600bc4a1795ba92abc83afe214d3c241dc8bbcb4d00bb756d8d3b3095643cefa4c4bb055af3bad2483a3b8d443c3cd09f59bbcd93bfb9f348b63ab80a473c3a0193bb1aef183adfc6deba1ffe223c0b8fadbb5f9701badb1a7ebbbdecb63b7ce98ebbb010373b124dffbb4afa063be49433bb0c2c653afb1fa1bb3e64cabc39a29abdb9dd2bbd15ef9e3c290ee03835872ebe71860abd2f28b73c53ab55bc664744be0a2d2cbd4eb7a33cd66f7abced3b37be2b8636bd20369c3cca8863bcf14c13be38e627bd69ce643c1c8e1dbbb269dfbdebe808bdd1b9433c341306baec6082bd212fb1bce2c4203c38865c3b5f9a84bcb61ebebb5948983bae57023c2d9f8d3c3ca02cbb71d1923b76df1b3b54f44abc6dc2cf3c7044aa3fdde01c3b701babbbb1ea4a3a3cb1a23fbd3f1b3bb7026abb49cb01bc79f5913f753a0c3b38b1513a5abfacbc6b22743ff6ab993a2c39dc3bccbdfebc9b753c3f7cdb90b9b4ddbd3b924c1abd53c6023f0a22463af14c0e3c86f006bd3b46913e88ff2fba1987b23b30546cbc39b7903db96117bb072d263c01b207bd73b176bdfbac36be42c2f33c0000000000000000729d2bbee885ea3c00000000000000006c9f06be9689ae3c000000000000000007e7d1bdebba913c00000000000000005117a4bda99f923c00000000000000003b7488bd186e903c0000000000000000dd0d5fbd1c1b8b3c0000000000000000de6637bd844ea23c0000000000000000f69041bdc463983c00000000000000000000000000000000000000000000000065480b3b958bcabb9a01fd3bee10e63ca1c5c63a56efb8bbf17c113c4193f03c123f2a3aa98289bb6d83143c6fdec93c7bd28838eb77e7bab125e63b75dc933cb51c483ae36303bb6f03dd3b2158493c48958839f512523a335a763a2766e23b058291b80bdb993ae7ffbcb9fb10af3a000000000000000000000000000000000000000000000000000000000000000077c3503cbb57bebb1010c0bafd5baa3ad0be723c45a0cfbbf4f5c0375dfbceb909226d3c927c8cbbfa8a21ba32a99e3a22ef793c7e749cbbe1e08739e808b9ba0113523cdd9385bba4ce91391a2781bbdd9b273c236f51bbc7c98e3ad98ec4bb66a4c53bf0d055bbc202173bed15f6bb000000000000000000000000000000000000000000000000000000000000000082bbdc3b0e464abe50199bbc2bbd233cc1c7093ca1b04abe5c9ec0bc477d0f3c69fcd83a24f636be70cff6bc938ce23b3fb6c53b992d17be6c46ecbca5a5c83b3e35e43ba2ebe3bd44b3babc663d9a3bf6f6363c445c8abdb22271bc9723f43afd99493cb04cc9bc811d4dbbe6c9bd3a000000000000000000000000000000000000000000000000000000000000803f81bd68ba0f9e763c13a2e2bda824aa3f372281ba4c125b3cc157b1bd7c6c8e3f787ca9b97a25383cf8d1a2bd95906b3fc0f97439b9821d3c172a8ebde361333f696e20bac287363c1c5c71bdee37f43e67f95b3984c8ea3bac400bbd078f7f3e3a0489bac771cd3baed29fbc3177193d0000000000000000000000000000000000000000000000000000000000000000cc15bcbd87324d3c0000000000000000c78a42bd44db083c00000000000000001b0addbc8e3faa3b0000000000000000f6ab5fbc40ca993b0000000000000000f33ee8bbee35ac3b0000000000000000f47e7fbbd72bc83b0000000000000000fb03e7bb7b95c93b0000000000000000000000000000000000000000000000000000000000000000000000000000000045052dbbb8b35a3c3f8419bb6341fb3ae41a19bbbeb4483cacbe13badbd53c3bbc3f6cbab02d463c25728dbb5b58a13b7957b2ba4a533e3c3d7ababb8dd8bd3b5b07d4b851bee23b7ea687bb3894c33bd00106b926c9b93bca5e0cbb975f983bf8fd5a3af978d339389fa53a3956933b00000000000000000000000000000000000000000000000000000000000000003a374bbac25d1c3b26444cbb758140bc88d880baf61a063b19d678bba32dc4bb6d60afbb850e173b351495bb434d06bcbf8ecebb08f7563b56b187bbff5878bb140194bbdc732b3b54e77ebbcecb043ad2c989bbca7c013bb47a84bb5e45e43b1c5e06bb656ac63af05468bbb7613c3c0000000000000000000000000000000000000000000000000000000000000000eba7bbbd309d95bcf5b4e23b472195bb1b1ad1bde4b381bc461bb63bae2926bbc790c0bdf98942bc77c0e23aae130db9410da7bdf41d18bc63c6b039f98a283814568dbd286f0fbc32fb9ebadaeb6d3aedc050bd35b311bc6c2fd73aeff2bd39124808bd493bf2bbca7fbd3a7555523a0000000000000000000000000000000000000000000000000000803f000000000d93043c78728cbd3869953ff24a50bd9b1ce13b8d0866bdfcee7c3febb1dbbcc34ee03b1b6b4cbd7b65513f983680bc00b89e3b5d723fbd4003233f3afcd6bb0d98853bc86a25bd5d1beb3ee08597bbf93407b974ecffbc56198f3e72b100bc9dba74ba44f8dcbc4fabdb3d3c3138bc000000000000000000000000000000000000000000000000000000000000000026073d3cdc1f5abb00000000000000006744073c38f395bb000000000000000053e41a3cbd4dacbb0000000000000000869a053cb072e8bb0000000000000000c884053c4df9d9bb0000000000000000c3ad203c862dfdbb00000000000000003db10a3cf26ecfbb00000000000000000000000000000000000000000000000060c587bb7b7b7e3c286a84bcae45a63c24cb8abb12d5b33c7e50b1bb02837c3c52f85bbb31de9b3c64509dbb7d3c6f3c408554bbe38c9d3cce88d2bb94ff703cbd4ee2bababa673c5163d6bbb907523c2489d1ba67423a3c05e2fbba9d1f163c145131396e26943b06abfc3ab660de3b8b0af63ad9800dbbd954f13b298d37395d05b93af89bf2bafb2d433b2730b83a57176ebc827ad23b5fc79cbb73b5a5bbfab105bcad169a3b71f047bc96c8443c5c7b30bc5035a43b5ebc12bc61370b3c0fbb49bcb03bc03b887a1bbc2d3d233c760636bc61f6a33b93580bbc0781653ce5b70dbcf0a09a3baf7209bc94789a3c1cb1afbb586b233b241df4bb4a27c43c7f3203bad39d753a4f3df1bb099fd83c65a71dbb1fb9f13a4608e5bb630dbd3c2edb96bd30518b3c4b3f89bcec42403ba60110becdce1d3c46c658bc5bc0623aa23f16be6b72093cf0278abc88aa343bf9a20dbe7e0b323c2ff99bbc8c26a53b86b5f7bd9e75653c84aeb3bc9de4c53b4f00d6bd52a5473c58b29fbc4801c03b31a1a6bd2f36233ccb237dbc32cec93b4c3a53bd62492d3cf9ad63bce5d0b13b3306e5bcaa069d3c620c74bc06d8cb3b21b6563c1cdbd9bdc7ae953fc590933df0a2393cb718d9bd956b8d3f1a1a983d9487003c511bb6bdd7de723f5645ba3d306cd83b9e909bbdf647453f2df4bc3d65d3753b3fce82bd469c163f9e7eb23d6300213acfea4fbd65d4d13efb169c3d79e078bbf5e914bdf151693ef5c0763d0511eebbbd5059bc779e643d47e5243d91aa6fbba60c6bbcfd6067bd04a1ba3c5ede00bcb00f8dba000000000000000014a0febba92416bb0000000000000000b8360dbce391bdba0000000000000000bb6318bcbbbd71bb00000000000000008e4618bc0e1650bb00000000000000000f212fbc4a1d4cbb0000000000000000e79a6dbc91bbb2ba00000000000000009b3529bc729ab1ba000000000000000026a18ebc7852053b0000000000000000e3d89dbb52019b3c79fed3bcc48d023d8a1e99bb3157ad3ceb638ebc88e2c93cbd4290bbee089a3c0d1994bcebdad53c64d548bb1fad863cc8c133bc14af923cdf9806bbd6434f3c1e1520bc7762813cb63b1aba2965213c500828bbeb551b3c89ef99ba89f2d33b7ba490bb1828093ca9fd0f3b61b28dba2b6fb23b2442f3baf0ef3e398722a3b981689c3bd80a48bb23e1cbbcd7f7183cc284e5bb5ac0bb3b2d6abdbc09ca3c3c99322bbc9ba68e3c04eebdbc5b71113c8fe1f7bb4a1c4f3c48029ebce12e263ca26c1dbc5cceab3c1b828fbc94e6033cc9ce0abcc8849c3cf4bc58bc5288ce3ba63525bc2db3d93cd7d00abcdd33803b9ab6dcbb1a3db93c8f0360bbed32433b9dd309bc42e5f43ca1529838f2eb913ad599cebb8db0cb3c0195a9bd2ac3733da25c32bd0ad31f3ca3e30abe1fa8593d264d3abdad11263c143a03be026d373d2a183abd7736503c21f10fbe63902d3d1a033cbd378f303c81a1f1bdd5ea233d1bcb2cbd881c3c3c780ae3bdc0bb163d923e38bd5042793c0b609ebd4b180e3d28841fbd674f4a3cb0a472bdbfbd033d31f410bd4d11623cbeb113bd0c460f3d83d8e3bcffea253c90494d3cf8c0d2bd86e1793fc66e7b3ed4d0203c6a6adcbde3416e3f9e3b733e6247f23b37c7b2bda7e3443f8665783e14fb793b265d9abdb895243f4e8f693ea743303b322371bd17e5f33e8b67503eaa2b08bb9ed138bd2093a53ea4b1393e9a08ddba258608bd507f373e3d7f113ed3e517bc81fbf1bb8d63d13c0e89e03d0140dabb88d583bb45658fbd71bc853d23fa05bd0e59f93a000000000000000070580abda67f8c3a000000000000000090c612bd1910023b00000000000000009d351cbd34ba2f3b00000000000000007a9419bd515c473b0000000000000000571327bd83ae353b00000000000000008ec025bdae5ae63b0000000000000000e60731bd8135dd3b0000000000000000584737bdef14243c0000000000000000260788bbaef8873c9888f8bc6fbd283d7a8f8fbbb661a33cf80fabbc2eeae83c885662bb5ae58a3c145c4abcd866bd3c3a8703bb87b16e3ca22621bcbfcd933c9d2702bb4dfd513c439e04bccfed4e3c1f48b9bab795dc3b4842313a470c8c3b16e18e39095d6d3b466b5d3b5fc8d439baf04d3aebedafba7c75fb3b397fc6bb3bff93393e97893a12063a3bfa804dbb84450dbda351543cde6c9dbbbd20c33bc46504bd13136c3cf76f2bbcae21b53c1a7dd8bc78073b3cd0dd2bbcf79ac33c5766b0bc5b87153c67f724bc97afcc3c465ba0bcb15d0a3c22da22bc0825e33c385835bca296c73b268ae2bbb300db3c0fe9bdbb7b89443be8010abc57c6e73c23a40cbbc59a243b4754e8bbb74ae63c0a768d3ab7f396ba26e7dabba790c23c8737aebdbaafb53df2da84bd73bb893c6c5a09bee1f3a53d4ec78abd5895923ca3f414bea7d4853df5fc88bd4e82a93c8a790dbe2c456c3d8f7283bdf604a13c522ffdbd143a643dcf6e7fbdc131b13c4206d9bd6ab9453d460965bd695d943c57caabbd877b2e3dfa975bbd7211aa3c8bf878bdcabb2f3de67841bd8d8c9d3c6f7327bdde4f353d7ea414bd028d723c0899273c7d48bebd0c5f493f8242da3e1cf2e33b7da2c4bdf8ff3c3fe11ad83ec3579f3bba6fa0bdcf2a203f9f50d03e6ad7da3ad91e80bde556fe3ef7fcbd3e409e62ba23b74dbdeaa1ba3e728ba83ef36c96bb018c08bde8f46e3e84a18f3e0ae1aabbcf529abc7869de3d3f00663ed51403bc604ecdba55f5afbb83832a3e11f6d0bb8f24c8ba3a5c9bbd228ac63d0b4d76bdf71bd73b0000000000000000f69282bd54e18a3b0000000000000000140a83bdb9339c3b0000000000000000330480bda8dac33b0000000000000000b43088bd1314d13b0000000000000000e4c087bdaa861d3c00000000000000007f668abdebda473c0000000000000000599791bd686c6a3c00000000000000001dde83bd050c723c00000000000000006d4533bbb637683c309ceebce72c1c3d553c4ebb7aa98b3c3da59bbc1c9ee43cfb9c17bb40d5533c22fb40bc4045a33c81931bbb39564a3ca85fcebbd0625b3c0972c8ba8819143cc34a26bc0f182a3c084e8bb9c787ce3b20cd2a3b6e5888bab32e48b954a9203b5ba26b3b026583bb0202753af2328bba1482193c922819bcc5ad2e37399498b916289a3bff2f11bce0f003bdb039333c4c85cfbbacb31a3cb17105bd5858633c843a26bc595cbb3ce866bcbc02ac123ceb41eebb46d49b3c0b9cb2bc9f161a3c281e11bc1756d73c83b02fbcaf63ef3a20eeb5bb8ae3783c9d7a18bc0746a33bcda40ebcc20edb3c20bde4ba43f83b3a5291b1bb553eb13cfad03f399bea813a1f43acbbcd99c63c86b8b23bb87a00bb09488cbb63ce9e3c6a90b4bda8a9cb3def1e9dbd4b10a63c0cc201be093ebb3de713aabd753ac23cb85ffebd5efe8a3d84d196bd4509aa3c42ca04be3d367b3dbcc09dbde8bcc43cf514c5bdec00613d73086dbd1be3763cb66bcbbd589b4a3dcd518abd4910bd3c7d6297bda798383dfe2a5bbd2bdf9b3c4eb063bd54d43e3d6b6b55bda06ba93c15cb1fbd7581393dd1fb11bde89b5f3c67bc0c3c61bc97bd65fc183f4f611c3f2d5d883b23f691bd45060b3f08701a3faa22363b407a64bd0379e63e4b5a0e3fb77f0bbaea993cbd01d7b43ed0a9033f704e383b2f4617bdfc3a823e9431d33eadda8bbb0b60abbc5e9a1a3e2d7dbd3ee3429bbb509d21bcd75c783daae28d3e33b918bc1242363bfb5a00bd33304e3e5540cebb3da1f63b9ecba7bd415ae73d506da6bd8195223c0000000000000000f630b4bdde3b2e3c0000000000000000e408aabdfa233f3c0000000000000000aa53b4bd28075b3c0000000000000000177993bd01ac743c0000000000000000cc83b1bd7f778a3c00000000000000001e4eaabd810b8d3c0000000000000000f56ab4bd2ffaab3c00000000000000000575a3bd8194a73c00000000000000007f1723bb10053c3c4925b2bcada3083dcaa7ebbaef38233c1d6bf1bb0636a33c238582ba7871013ceee29aba42ec6d3cd9f887b980d1853b20a48a3b91bbcf3b2c9cfeb993c5a13bfcda933b23880c3bd6a9063a20f7853a07061e3c1ad1bebb9328543a02b4efba67c2363c1e95b2bbbfb1e23a381c93bbaaa1473c7d8644bcf2bf363ab49cc0bafee7d43b552410bc086aecbc9694213c124199bb324b513c42acd9bc69cb5d3c91bc03bcef45d13c9c41a1bc4fbe133c23acf2bbbbc4c83c9a2c5ebc748df63bae38c6bba0b7cc3c59f2efbb617d823b0f0bf3bb043dc53c4a8ed9ba5bcde13a060299bb1bc0ad3c5497c9396de5863a768a94bbc695a73c3e4f9b3b29fddaba439b72bbc1d7953ce659df3b2ada1cbb4f0762bb4f887e3c1b42b3bd8ffebc3d98e3a6bd7431bb3c8327f5bd521a943d891ab5bdb291d43c394ef8bdae55403d60cdabbd7d5dd83cf4f1e9bdc6f51b3d1eed9cbd580abb3cd721c9bd6954053da38194bd1abac73ce2f1a9bdf637f13c4d7182bd067ab93c144886bd6ed2e23cdf1e70bde8ffb23c62822dbd3f20043d28a14abd841caf3c9f11f6bcb374183da8820abd01dc513ca1107f3b2ec15bbd1f28d43e77074d3f9c703c3a44fa46bd38e6b93ec8454b3fa6a5d4ba53a615bd7c70963ea1523c3f43764abbd988c5bc474d5f3e49eb243f0eb9dbbad0db92bc4268143edfe80b3fc348bcbb88a1bbbb846e943de6a3e03eae42aabbfa64d93aee2c893b7190a83e284900bc593c653cce9b6abdb5db5f3e1450dabb7fb8353cc133b0bd761bdc3dafc3cabddd8e683c000000000000000077cfdfbd944e5b3c0000000000000000d9ecd6bd3c7c6b3c00000000000000008c01cbbd5646923c00000000000000006d16c7bd3b699a3c00000000000000008a4fc3bda68aa03c0000000000000000fabcc2bdd10eb23c0000000000000000d057c4bd9a7dd33c0000000000000000a60ea8bd17f7af3c0000000000000000b7cb83b9f4dbab3b9e2d18bc82eaad3cbe2f6db8dbb7213bf045ac3bad273e3c1cd1c7b980013e3b05315c3bd184f93b5f28553ad36e5f39d650573c5669b9ba1e7d463ab75490b9fd4a123c5a8a32bbd736923aeeb519bb5eb9723c91c515bcf77fa33a2fd61dbb663f273c5df212bc0486c03a045fafbba5ce5d3c7a7c66bc606eb43a2c1b7ebb6b8c073ce25e1bbcf5e89bbcb0a31e3c5007aebb1fc8723c3c6a88bc429c263c93c39fbb5178aa3c92650cbca2b39b3ba1b97abb601b8f3ce926bebb557ab53b696ea8bb5e3b9e3c0f88313aa7241f3a5bbe6bbbdd64843c8978703b88328b3a9ca06abbecbf833c733beb3be180d7ba68bd31bb6652743c803d133c68c1d0ba6b9740ba4220033c5681193ca24a7ebbebcf9eba76640d3c69cf9ebd2a18843dfd4ba2bd9821bb3cce5dcabd34dded3ccdd0aebdc650db3c1f5eb8bd5ee6683c7edb8ebdd06ca43c774db5bd1c624ebb4b7195bde9beb53c4dac95bde970413af30071bdf4a88e3c7fa47cbd0d110fbb24e16cbdb7339d3cc17f31bd0c83053c5f253bbdbb5c783c8830cfbcb5063c3c2ccf28bd5e2b973c7a2683bc8f5aba3cd380eabcbef8643c569cd23aff9af6bc997a733e2aca7b3ff5e71abb01d5b0bc2f8b423e394b7a3fa1af02bbdc5894bce9ed203e4c37573fe1a947bb5ebdfabb0de6ce3d8700443f40d739bbf77476bbe59d753de33c1c3fb746a5bb8b1fbb3b0d3e1a3ca499fa3e248cacbb8c5ea13b8fb4c4bc0a96ac3e18ceb3bbdb90763c7dc474bded74523e0ad9bfbbb262843c8496a4bd8e4aa53db4e9dcbd0718763c00000000000000001197f1bdfdff703c000000000000000091a9c4bd42a0853c0000000000000000fe7bcdbd19fc993c00000000000000007c81b4bdcb499e3c000000000000000074e7c0bd55fbb63c000000000000000019eea8bdd37eb93c0000000000000000ddb2bbbd9260c23c0000000000000000a98aa4bd6951b23c00000000000000007ffc1f3a319677b8c1d8983bf1a4b63b32e3a23ab53afabb8ceaa93cd9312c3b5ef7de3abadea8bb86179f3c1f3d3b3bbbfdc43ab328c8bbf7ccb23cf84289bb3d2bbe3a29088abb69b3a23cfd37ffbbededaf3a4146a7bb24bb903c7384fabba1a9893ab9a5babbe4885c3cb9d6d2bb91a07b3a60ffc5bbc8eb2b3c3204a8bb071cc33a7c2c9dbbbaa2f63bfe4600bc52ccecbb30419b3b432d24bbd144383c0a227abb245ddc3b50827e3a707f0d3c425084b9a9ac873b1ab513bb1432473c537f463b4e101b3b11fc39b9192ce93bd1c5a13bad1a803a61c8a3ba1157f03bd083e43bd60fb9b9b4b739385d0f9b3b417cf93bd9ff97ba7203253a535a1c3b77ded93b9180a3ba070e0c3b4bb01fbbacc6df3bda0a1cbbc42b143ae55b073b641778bdb970563cdb157bbd243b943c407774bd1a8a30bdda4082bd72f2a33c80df7ebd041f80bd9d5870bdaee7843ce4b25cbd82fa78bd6ac64fbd8b54643c06b53cbd0b214bbdd1bd37bd34b5533c2ac0ffbc815238bd83a41fbdeb3d4a3c00b785bc8f8807bd6d9007bdb6233b3c52fd0a3a6a3575bcd543e3bc23cf5c3cfaffc93a4970943a19bf40bcada9e83b6de6b7bade72dfbbf13c883d3242963f9e670fbbbece86395f80233d1b64903f4caadbbab6bc093ac50ce03cfa11803fd66ae0ba64deac3bc122a43b84fa563fa08f05bbcf06c93bd71955bceb7d2b3f002e02bb094e0f3cb8f708bdde00013f72969ebaef281c3c9c1145bd1420a93e464e2fbadbf0483c4b5766bd31ad253e6c505cbb54df423c5b3385bd861a093ddc4eddbdbef36e3c00000000000000000e9cd7bd9794753c000000000000000052d4b1bd8708863c000000000000000026759fbdd9db823c000000000000000025e28dbd7309873c0000000000000000462d89bd603e903c0000000000000000ca2f86bd8c1a9b3c00000000000000002d9790bd9aceb13c000000000000000055d180bd24c6943c000000000000000000000000000000000000000000000000c6bb203b2692e2bb4a76ac3ce34a07bcda7b033b02b3e0bbe4c1b53cd86b0abc0293cd3a7b45b3bba41fa23c404649bcb043cd3a5b17a4bbc4ae8e3c234052bc7d219f3ac906aebbc016893cdb4d41bc0191b03a4b6389bb134d3c3cf63cd0bbaa28663a51af75bbe255fc3b6272d8bb00000000000000000000000000000000000000000000000000000000000000009fabbb3bebfd0a3ad9394dba4d1d833baa41bb3be5e4163ada50143aaf741cb88831ec3b11cca3ba97c1f73858364a3b19320a3cab2b0cbb74a287b9e3aaeb3a32fdf03b5fd091bab6bd8a3a4fa2adba167af43bb15c2cbaee4e973aee7228bb260ae43bd51db3ba9445f63a4f81afbb00000000000000000000000000000000000000000000000000000000000000003c9702bd0592a1bdc668e2bce82ed43bc00fc7bcddd2bbbde480a7bcdb81933b5782bfbcde53a6bd2ff991bcfd18263bfa0d82bce73598bd9c006bbc8e61de3a0a110ebcb82480bd94d473bcc5eedc3a6024523bf27552bd0eea48bc5927093b70fe2f3c9b190abdb5c5c8bb728f103b000000000000000000000000000000000000000000000000000000000000803f4a271cbafd4e483c02058ebdb641963f6c52a4b96df6683cf19f6dbd40ec7e3f121061ba90bf323c5c1168bdb5ac533f21a1e736cf0c3f3ccd3d68bdb7fe263f1cf42bb9e1511e3cd85f5cbd4a4bf43ed17544b9ec7ffd3bdeb740bdd930973e48b3c73977310a3c2e443abd073a003e0000000000000000000000000000000000000000000000000000000000000000452068bd5483093c0000000000000000624f14bd8652f53b00000000000000002580ccbc709cdd3b00000000000000008bde99bc2468e73b00000000000000001ebf83bc5343bb3b00000000000000002a8c8dbceddd013c000000000000000095e1b8bcd971e23b00000000000000000000000000000000000000000000000000000000000000000000000000000000ee6308bcefb7a13bc163413d3494163cb5a67bbba8bbde3b71cd313dcd1a463c1dc159bbc9b61f3c6f77193d5eb74e3c5dea23baa488f13ba97fdd3c73ce383c6e9fcf3a0469b03b54c8b13cac74df3b57a81d3ae130a93b2de72d3ce03d803b108ef63835352c3b9f4297393ecd05ba0000000000000000000000000000000000000000000000000000000000000000279f92bbc8b5f4ba2f6facb99e4d0c3d80bc213817d3d2ba6f8ba1bb0e16b23c841d9b3ba9291dba8f499bbbce3a243c00e79d3bb7c4123a7a90b9bb202cd23b91e4bc3b445374b9cbc405bcd3ebc839c53ed63b52148d3a0a3a11bc29237cbb00bc8c3b56b5ae3a85d3debbdb76efba00000000000000000000000000000000000000000000000000000000000000000e8d7dbe323294ba220c453c7010e8ba85cf6bbec42885bc1984c13b064077baba495cbe5bb8e3bc662fb63b2d0e1bbb73ee2ebeea67f1bce216e33af9e76fbba363e9bde6bee7bca33b1e3a061484bb306d72bd466fa8bc191033bbda1c18ba8beb05bca9770dbc0e47d2ba0e4048bb0000000000000000000000000000000000000000000000000000803f00000000bf8fdc3cdc6c0dbe88afae3ff29cedbd01499f3c2cfdb7bda1d08f3fc8cf67bd6519a03ce09f93bde999723f5eaf1bbda72b8f3c966c53bdd8ef343fa70086bc26ff583c26d5c3bc1a2ae63e1c4a8539df40133c21d1003bfb5b653e64c1303cd2a39d3bfdf99f3c0b3f86bbfb86413c00000000000000000000000000000000000000000000000000000000000000003265833ce60c11bc000000000000000031fff23b0afbddbb00000000000000006cc3c23b360504bc0000000000000000c6a1c43b6b85d9bb00000000000000000c329c3b94149abb0000000000000000606fa93bb22fc7bb00000000000000000fe7163c487191bb000000000000000000000000000000000000000000000000c5ab10bc9472c73ab2e5de3c4efc503b94da21bc3178763ae1f92f3d6e7a0a3c8fa1c6bb4a23c73b361e433df7ff793cbd5a90bb5f42f73b8d7e2e3d3502883c702bb4ba67b5cd3bd86b083d16cb343c7d872ebb3e54cb3b6066b33cf7fc133ce360eabaca04ae3bbcbe4d3c9e73263bb14d18bb6413403b07178d3bf68cecba469b7abbeadf69b93eb0b0ba08cab2bb162e9cbb63d2673abf9b583bb87e113d7b0f5bbb47d1233abd8b36bb82eb2a3d37b58c3a2cf435b928b9a2ba611fd63cd696b43bcfda463aee8787bbb912893c1152e73b6511b83a2448e6bbbc311a3c686f263cc670463bc73af2bb42e8c53ab40b223c7749533a195ed1bb6120a1bb0f92403c97d2203adb14f5bbef9aa1bb3f5ba93b36e133baff47efbbdcb7523b212c25bee61fc63c671bdfbb1fc488ba2a9c56be3fc9273c3c2336bc37d7563ab9dc78be4c5881bc3bf218bc5c5c193add2d61be77dbecbcf5c330bc14141dba90b32dbe3b8507bd94b056bc887fbab9d604e1bd63c40ebdc72273bcdba6b5ba7c3854bdf1bcdbbcc15160bc641483baee360abc1d528cbc3f5b60bcb70d89bae40ad33c93cbe43aa8b2d3bb1e49dfb689d1343df9de69bed876ae3fb41eb9bb7e90233d5f0b3abe1ec6983f5f6e403dc0e60f3dd1ae24be6df98c3fce1b593d71aafd3c68befabd02a2633f24b2933dc893d73c568ca6bd46a1253f7731a83d89b4af3c1e1427bd9c7acc3e68a8af3dae2c7b3cdcad02bc9647303e3c28a13d5721ba3bee419a3c4be8013c077e853dc548bc3b6cecf23cb19a1bbe674cd23ca7b19fbbdf0feaba0000000000000000417686bcd92b9b390000000000000000ef6084bcce0748b8000000000000000058d89cbce1671eba00000000000000005ee695bc137cc23900000000000000002eae8abccac9583a0000000000000000bc2175bc6ef4613b0000000000000000870b69bc5764903b000000000000000001a4d6bb854f173b00000000000000001e8472bb6da28fba6740993c50b4f53b6d09b9bba573af395451123d70156c3cc25fc2bb6343723b77ea243d3fee9d3c985449bb76c9b53b415c183d7bb67a3c103a7abb10dae33bb3d9dc3c26da813c9a1364bb0c8e3e3b4fd4b23cca81e93b00bc80bb545fa83b296f353c4580ab3afd80b9bb5b05013b1daee93b75aa7bbbcca488bbb54538bb31a9dd3a91f7dbbb540493bbfe10e43a19a9c6b91d21bc3cb961ca399d8c1d3ad6611d3b240adf3cb45e8f3bf263c13992bded390f7faf3cb840323c730c3f3b0a660cbbf7b0493c989f463cb109e13a53d16abbf2bcb53b05c9673cbb999a3a022e8abbbe005d3a772d8a3c786ba53a3789f6bb851d12bb35177f3cb5ae43bbddceb1bb54f0a3bad2231d3c4145d4bac197d2baf64219bab5ceecbd2bc8093de00be2bc34a0413b836b41be69a68dbb2d22ddbc81bc5a3be13e55befd2902bd3bf1d3bc48f08c3b49543bbe1eaa37bd080b03bd02a0583b65a10bbea3d63fbd1a28ffbc0089263b9e55b0bd5c6742bdcb8bf8bcc527753bc0f115bda6de14bd8b77c8bc1461263ba78e32bb182bacbc1f249abc0a3e0d3abe6d973c1a6a8bb9826043bc0c6a1c3b915d203d839257be5baa8e3fd7d9553ecfb9293d9bac5abe35188c3ffccc663ed310203d225736be2d35753f9a626f3eb4b7033d260008be37ba413f8f10713e3930da3cccddb3bd6d8e083fceb35e3ecf5acd3cf9a04cbde2eaa03e4f214a3e05c8953ca4e983bc981bf73d0bee1b3e1ac0643c713bba3b1806a3bc7d8bc83d315dfe3b8048913c42bfdabdc9df2c3d514750bdfca84a3c0000000000000000139169bd38583e3c00000000000000002c626dbdeaa71b3c00000000000000009af95abd3c3f0c3c000000000000000077a244bd7df6163c0000000000000000c27e35bdfd99073c000000000000000058f420bd60291e3c000000000000000029e1fbbc9f603f3c000000000000000022fecbbc31812f3c0000000000000000c17e0cbbc6c3aebb5876833cf039183cc46091bb37d8e7bab056fa3c16b28f3c47a189bbb360d33aa165023dadf9b73cff674abb2b15113b054d033dd633973c1d6382bb4024d23ad43fd33cc31b5f3caeb583bbf8f1973be63da13c722d063c4920a3bb1be9943b96ee363c50adbb39e04b9ebb9f994ebaa3e9be3b70d187bb6f12b7bb5ea42dba6a0da33b086d0fbc81f4a6bba5ba9b3ae147ae3bbba40c3cd7a68b3bdce6e63a2442de3a24809d3c836c3e3cd5adc9393a582b3a7716593c3633823cc47fdd3a8fb91cbb4111be3b4ab78f3c1fe8f23ac0a497ba8c185b3aa7a0a63c77bc283b4cb49cbb60d0abbbffb7ac3c2dcd1cbb0e448abb20b78ebbfda88e3cf6a83cbb298d44bbde953bbbd1ce283cf5d460bbd6288abaaf450fbb0977c1bd58f3c23cd09b1ebdf8b5003cc69416be0f86debc5db822bdd5cafc3b095b1fbe542284bd97d029bd1bbb103c265108bed78c96bdd28a37bdd3130f3c9db9ccbdc8139dbde36e31bd504a023c0bb469bda30089bddf5620bd8fd1b33b9d14d3bc307440bdc34cf2bc2f08b63bc1a82d3b5277c4bc9441a8bce58dc33a78c8933c236f2fbb871728bcdf83363bc0b3003d857043be05a36d3f3d9de03ebb9a163da8f644bebaff5f3f25bcee3ea5ba013d3a971dbe63a93f3ffef7ec3e9084e13cd312eabd9ff1133f5a83db3e4f48c03c15f099bde33bc93e2dadc23e6d12c13c53722cbdc1a5633e01b39c3ea70a8d3ca5f187bc0cfaa63dfb0f5c3eb897573cb21d25ba0912c3bc756af03de63b2c3c0915d43b4d86c2bde8a61e3da1cad3bd85fcae3c00000000000000006fe7eabd4859b93c00000000000000000f2eddbd1a16a43c00000000000000006fd4c9bd1ec5973c0000000000000000dae8b3bde89b843c00000000000000008ead95bd5f69803c00000000000000003c7e77bd904d663c00000000000000004b8736bdec97983c0000000000000000e1d511bd60be923c0000000000000000298014ba88d3e9bbe874723cd2f4423c3c87e7ba64b6a1bb9f14ba3c73389f3ced9e6cbb4f9c28ba71d9d63c20b4ce3cf35479bbac62ba3a7b04d53c4c0ab53cbf2d5ebb25a2953bd5a0983c9e065e3ca97d8cbb5099343b4f20743cc1fb1c3cf3a92ebbb52b583bb128283c130872398ad96dbbe16360380d2fa43b47a9bcbb6f1130bb6b65c5ba92e9ec3ae60c02bc994186bb9b000a3a86b80f3be698d93b5ee7f83b0a0cb6398840393a0ec1313ca835843c3d24a3ba82a681ba102f053cda12a63cb0255a3ac970b1b6f446083a97e28f3c7587d339d28615bb402267bb04efbc3c2438e5baae8c3cba36d4c4bb3134a83c08068fbbf3826dbbf39507bc6fe28f3c0afbb9bbc594ecbabc7e9fbb0f6b113c6aacabbbbff05d388c0c65bb571290bdab54253c72aa34bd5a38213ce6b0d0bd0dcc7abd3e8540bd7ac15f3ceedbddbd3ff6c0bd0a4154bda52e623cd7cdbbbdb835e1bdde2e57bd0f9d3b3c880386bdf028b7bd3d754dbda3323b3c02981cbde6b2adbdffc229bdbbb3173c82787dbc792e4abd72d1eebcf773e43b5a57303ba8f8c2bcad1991bc73c9193be9e7863c467fedb80cb107bc96665c3b786fb83c2a9319be8afc2e3f8b10313f0f56d13c24ab12beab9d203f4f8b373ff70fb13c0119ecbdc39a063fd4e62f3f3797ac3c5647a9bde405c83e3397203f21398d3cbd0258bd55f2853ee7bb013f7b2b8c3cc3620dbd4242133efcd0c93e212d723c94bb51bcc47b483de5da7c3e0a4a473ca10788bbe8da94bcb6adf83d3e21193c9250673b425a91bd2e0bce3c338c1dbebe0c023d00000000000000002a5e27be4745053d00000000000000009d4818be1b2cd43c0000000000000000e24008bef754cc3c0000000000000000cd62d1bdfd7a923c00000000000000009118c1bd3251a93c00000000000000002f2d8fbd703aa63c0000000000000000f60250bd1c77b33c0000000000000000e44c31bd4cafa73c0000000000000000f2ab1f39806e0fbc4e75483c0d2a5c3c2db793baa40de1bb81f2813cbeb2d53cc3799bbbdcc393ba1784a73c2e98e93cb8a595bb9a8a103b2973a43cac52c93c0d5647bbee46f03a55598f3c6c89aa3cfff6b0bb34ad843baa5c4b3c70f02e3ca71b0bbba9a7393b9f511a3c5525263b64fb2cbb37262f3aaea1893bfa0f8bbb0bb947bb67158abbcc848d3b945a0abc660c093bbc5983bbf40a07bb804d193b258c833ced01ccbb1544c73a641fb23a7169ad3c64357bbb39fa873a75609bba0159e03c523629bb0507ddbab696c9bbb209e53caf136abb74992f379f97dbbbd4b6e33cd4ebadbbd69fd33a947d34bcfd2bcb3c054df6bb213444bbfeb400bca63ab13c80882fbc72bc31ba7ca204bcfa95443c68560abc04995d3b13afbcbbf47d19bd6c259fbc3b0c37bd5449823c559156bdd481d2bdfa5830bd43626a3cd1d667bd288c11be799d50bd7c02813c01bf46bdb7fc14beda375dbd78696f3c9db41cbd9f0c07be09a444bdb39b1d3c44ebcbbc48c1cdbd9be818bdf125fa3b1a525fbcefa378bd1536d1bca3a9a23b543fb03ae740e1bc20a33ebc7b10b6b6ed5a493c2cfdbcba5eef13ba274bc23a991c753c50f6c9bd7ef7da3e9f4e703f69d37b3c9ae5c2bdd275c53e1d03733f4907803cd54990bd8f039b3e6f7b663fcbaa463c78a93ebd49af5f3e60eb483f6d453a3cc3f203bd5aea133eacf2233f155a4b3c9843adbc351db33d3cbae73e23352a3ca10f3fbcd3c4123dac15883e4757243cc22cb1bba1ef81bb4771de3d498f013c937d20bbc28915bda528b9baee7249be5a10283d00000000000000003d2952beb557373d000000000000000076083bbe0fa40d3d000000000000000095cd1fbe03c5de3c000000000000000083eb04bea960e23c000000000000000031eecdbded62c03c0000000000000000f35c93bd5639bd3c00000000000000007eeb51bdf834cd3c0000000000000000c21430bd97b0bf3c00000000000000005c1677badae51abc4146d43b48f14d3c423321bb46c1e0bb977b283c6cc0e73c00a79fbbda6928bbbf79733c3a6d063dc5746abb192ea8ba004d743cd97cf03cbae5a2bb6167233b39c3543c1c32c63cbf3a43bb4719863b0e42323c8c7e7b3c66a013bb53de063b4517e13bc043803b2a8076bac5e1a9ba834f853b58c48fbbdd6f26bab4c088bb9f02743b07870abcac09f13bc833bbbb92fe6639b135efba2ee3be3cd8973bbc5def153b3c19f5ba1a79003db48a09bcf71139b8dba4d5ba48470e3d9af6e3bbf4ca8239a011acbb3c3cf53cb4a1e2bb192a663a69e0ecbb7b40fe3cdee1f1bbecf35b39d4d220bc4959e83c60f83cbc3ecd1c3af2370cbc22fea73c5c8c2abc2d80af3a51c2cebb7fdb483ccf1b32bcd911113b699a92bb767095bb3ec050bd1a37e9bc1c916d3c7dac33bc4bc018bef82301bd754d7f3ca3f492bc6f5641be14812abd136a753c569585bc6a6342be242c2dbd5d02343c786e93bc9e4b1fbeedd51fbdf4fc183c80c97cbc7bd5fbbd2500f4bcd4efb03b32ed2bbced348ebdd49c75bc500d653a28ee75ba5741e8bca9ec86bb2da23cbb6d72d93bf7a9853ae5ec993b95b75cbaccaf843bd80c42bdcf1b513ec3a48f3f3347a73b20b428bd7d94233eb1c7923fce6c9e3b23b2e5bc3ccaeb3d710c883fb781e53be265adbc253ca43d2dbd683f89faba3bc8fc50bcba5d633d90bf333fb308ea3bc70036bc5829273d2089f83e2277f03ba82a09bcdd11e63c04f6853e55e9cd3b1bfe19bc68e16a3c11a49c3dd1a6123bb6f897bb53d197bb6de70fbda5aa5bbe6d4b373d0000000000000000b1c961be26f1323d0000000000000000cfe340be3b5a0c3d0000000000000000ab0e21be9949e43c000000000000000052c5f6bd2a84bc3c00000000000000006a5eb8bdae62ad3c00000000000000003bf272bd7777a33c0000000000000000cb4009bd9e92a23c0000000000000000f070eebce20abd3c00000000000000000896cdba88c003bc2c971f3b39bfa93c7fd6f4bad28e9abbfe0b113ba18d183d693192bb47e9deba905b263c32fa313decdbbcbba278143bdf212f3c251b273d967d86bb036d723b3242173c1fdbee3cd57a87bb2e546f3b30ce183c2f58a93cf3c808bb89b9bb3b459aa13b5b3eed3b52502236176ac23a76ad643b955adbba5838ebb903302bbba4bcd2b8612311bc9730643c820461bca7b034393e894c39c12cb93ce7a084bcc37dbf3ae69b90bb1549e83cd8f845bc6b4b973ac0d86fbb94c4fd3c16180cbc1705fa39b70a82bb07cee63c7cbbfabb602e72395bf8e1bb100be93c0e3a06bc94f4af3ac60cf4bbf88eaf3c2a2406bceb4df739dbd807bcf874883c081e08bc05c6063b2b44f1bbd2ac063ca7f617bc7cebe83a933cd8bb4b84943c2bf500be3299ddbae0a0533c7d66953c543d40bed0ebb1bb01de3d3cba29ca3b10af6bbe0b50c5bc4046543c4fc9afbaf1be63bedb1dd3bc1ad3063cde76c2bb063438be719acbbc60c5ba3be9502bbcded806be278198bcbaeabcbaa49b37bca92493bdfa8a16bc956000bb79240bbc258dc9bc281e28ba134cc2bb42a27c3b8d754e3c69f3723c7addd3bb4e7474bb5e7d36ba2e0715bc9ddaae3fff3a9aba662d9abbf95cbb3b61139c3f5414323af27de6b8cd467bbc5ddd923f0aae503a7c4a1e3beb4975bc4488753f552ea23aac468f3b969d0ebcba123a3f34ecae3b576b16ba8920b83bb727f53eafa4013b756a11bb0010983c2252733e7b30813ba86feabbca06eb3cd2f6513db54cfc3a24aa32bb0332bc3c3ec1efbdfdf66cbec38b3b3d0000000000000000b59c35be20d50f3d0000000000000000a92b1abee00ab03c0000000000000000e432f5bdbb448d3c000000000000000014fda8bdef7f483c00000000000000007b0050bd6b4a263c000000000000000011a1ccbc9727163c0000000000000000a5b106bac727bd3b0000000000000000014ea7bb5a0d623c0000000000000000000000000000000000000000000000005ff73fbbd88eadbb6de5483bcd10403dc5205fbb2ee548badd8ed73b14de313d12318bbbfc29793bcc101c3ccd6f1e3da9822bbb1571a63bf562d23bacb7fb3c4b1c19bbd985c23b7a4e9d3b6151913cfd33073a4939713b2165853b18dc093c70fcbf3ac72a813a7e16e1b90d7ba3b90000000000000000000000000000000000000000000000000000000000000000444bab3caa0368bcbae446bada36553b8286c53c03b902bcc64c05394a8868b8bb9acb3c74469bbb51f42fbaabc205bb2d19c63caeb887bb127f16ba1e222dbbd5929e3c9f0d15bb4908843a07fbd1bb70b17b3cf9d520bb79d86eba3596b8bbd5d7e73b28bd7ebbdd9f8338e0bec7bb0000000000000000000000000000000000000000000000000000000000000000371cf23cd25280be4e35df3b4fb4e33bac9a803c7ca773be1971ffbbdc0f773ba96e923b29945fbe3314b4bc7ed2c8ba1a3e0cbae77a37be2bf198bc926a4cbb787974bb49b7f7bd34935cbc1026d2bb076d1cbcbe3c82bda43f0ebca836dcbb3c2684bb9a9a44bc66febf3b870802bc000000000000000000000000000000000000000000000000000000000000803fb901e9bbf6dacc3c9f6f0bbe4cc4ae3f5d9f91bbef999e3c6233bbbd75c38f3ff084b7ba1c2c863c4bb0a1bdf89e713f63f2a5ba454d603c37f166bd6a40333f1cf2a4ba6188303c0de2dbbc692ae23e1c7edc399527b83bef1c9a3af96c593e73ff61baf373123b2c13cc3cb94b6dbc000000000000000000000000000000000000000000000000000000000000000032c2f8bdd8e9833c00000000000000004f697cbd910b313b00000000000000009b7510bd3fcd8c3a0000000000000000dbc868bcb30363ba0000000000000000250fb03bf47283bb0000000000000000d08fb43cf8dda0bb00000000000000009423b83cc657c1ba00000000000000000000000000000000000000000000000000000000000000000000000000000000f1345ebbefb629bc15c55b3d0ab9543cd8729fb8f62f1ebcd81f613db55e363c5cde813a408fb0bb068f463d33de353c470a0f3b6ec79fbb0c78213dfb6d2e3c4d76453b6530a4bbf198f33ce788bf3b55d5423b73b477bb24f3893ce1121b3b9fd16f3bddeaabbbcd6ddd3bdc9489ba0000000000000000000000000000000000000000000000000000000000000000d74608bbaa0131bb6cae1fbc5f874b3dbba8ebba50efc1ba46cf12bcf731283d3a7e6139a6c318bbc5fb23bc646af63cec2046bae1e781ba095c22bc5672d63cccba0e3b17f988bae5da01bc577b793c6085193b40fea1ba70fceabbd9f39b3ba3cc2b3b258fe639d3a5bbbbe658803a0000000000000000000000000000000000000000000000000000000000000000c8f081beccc2f4bb42c3793c1b563cbb7bea7abe39202bbcd411353c0f5965bb748168be3c4190bc9d53423c1de384bbe49b3ebe28f391bc15213b3c4e3bcebb29cc02be64938cbcedf61e3c98dcf1bb76b686bd45b615bcf9cde03bd301b2bb47d848bc07c596ba2a78b43b018fe1bb0000000000000000000000000000000000000000000000000000803f00000000be75a93ca12308be867eb03f8debd7bd3c7a603cf689c0bd77f2913f740172bdf1bb353c63399dbd497f733f913e3bbd0e2b0d3c4b576bbdb6b3353fa67a08bd1123883b0873f0bcac85e83ecd1aa9bc8677643adb9bf7ba6c3a5d3eab082cbce06a95bbf43ac53cdf8391bceb3155bc0000000000000000000000000000000000000000000000000000000000000000444a393c931689bb00000000000000003f2b103ce08b4dbb0000000000000000d461073c3b546bbb000000000000000061f5383c5ec815bb0000000000000000eff8433cacf423bb00000000000000009d411b3cec8b0cbb0000000000000000dc658e3c2cb26ebb000000000000000000000000000000000000000000000000924505ba4ba83bbc06f2073d7e137d3c9c43d93a3d8ba4bc2183743d5ff6233c5df0f43a9ba671bce9857c3d83951f3cee74483b619464bc524a703d6802233ced908f3b16202dbc5e2f3d3d89b4233b74799f3befaa0fbcb310063d6651003a9e8e573bb35da4bbc89fa23c6941b1bb0ba56e3b1a3f88bb0e004c3c60d947bc9d05ae3a920a4cbb825f873b0fb566bcdddd0cbc73e5f03a16e62cbc0740693d9a92ffbb9a3288ba18df55bcdf4e8a3d4ba0a1bb30ecdcb97e7f2abc1a94563dc69fa8bbb337003a58af27bc3112333d34f571ba232a94b8fb0717bc5cb0d83cb95eb73a2b433dba787a00bcd4eb383c2d5a963ba47b44b9753db3bb59484bba11a7e43b938d95ba52594bbb2f8e60bc497fe23b7d8b3eba80fe82bb935819bc6e7e5cbe4c65373ddeb6dcbbd02fc9ba4c3088bec2ca413d659f50bc4900433be42f8fbea7d6ef3c53c230bcefbbec3aa23c80be1b8e753c7efa1bbce0db813a26d442bef31b363cfffb2ebc88ef0d3a8541f7bdf1885a3bc28921bc4a9739ba43f666bd36c2ad3ba70c3abcd71b49382d5b70bb6db5163c606639bce7676cb95a22d03cc595953ca86af1bbcfc726ba73e4f43cb85642be305db03f19a39ebc3759c43cac081ebe590d993f193f0d3dfef1923c8a5601be48aa873f4b7c503da9824a3c30cdbdbd3968553f331e8f3db56fcb3bd2414fbd988e133fde13af3d2213563bfb0283bc36baa63e2d5db93db10ffcba325f6b3c1ea8c93db708b83dc3c911bcedb43c3d0ad797bd2df5a83d812b3fbc619a813d18f166be8eb92f3d36378c3a659598ba0000000000000000e412d0bb121d4f3a000000000000000014d4ffbb1e23523a00000000000000006a4d0fbc6ca4813a0000000000000000096ef8bb06c3893a00000000000000000d9219bc32872c3b0000000000000000987e15bce8e7173b000000000000000052f539bc1fd0613b000000000000000052cd89ba0c29983a0000000000000000ae699e3b57d17abcd4c9f93c9677733c18b9403bdf338ebc3a19513debd72e3c108b6a3b7d8f7fbc4b245b3d7d32263c1d14a03b1f4e5abc719e453d87ae723bf32b593be2bd16bcffa3173d2b32b53a9d18733ba2ffc6bb6ab3d33cb594a5bba01b323bda97c2bb1c67923c1bc92abc2abdca3a0723f6bac90f2f3cd4d295bc5094a93a2ebd20bb3e9f043c37249fbc79a68cbc9085533bf3410cbc0888593da6e431bc332ea83b4c11f6bba00b6a3d60a702bc5bfb1d3bbda0e3bbfa73423d0441aebbd391343b68e4cebba0dbf23c9d03c0b94c5d213ba23faebbc0a2993c3519a93b38d50d3a942980bb8077c33ae87c093c0ffa23bb9301feba735ce1bb1195483c934355bbf9b6beba57db63bc0ee0d13b8520643914b624ba7b5d80bc4d6c50be0aeeca3d56660dbdf89aea3bb0f484be52eb933d445619bdd11ed33b9afc80be2e8b2c3d404a12bdfa47113c4bf654bee7d7e93c433a0bbd05a3bf3b6a741abeb9c05e3c5e410cbd2d32e03b71fcaabd8078be3b0fb80cbdf5a5f63bad0a02bd7decfc3a490ff0bc1da1043cb7c0d43bf55af63b537ecfbc857df53bb368d23c534acc3c90b6c4bc4f1afd3b45d79a3c07bd1fbe47bc8c3f831e2e3ee18e8e3ca6e419be0829843fc2314f3ed622443c7c1aecbd37475b3ff1876c3ef052de3bc1f593bdcb3b213f76187a3ea1ed4d3ba54c1bbd16abcc3eee697a3efa0ad5b9efe14ebb683e2e3eb87b773ea52a93bba0c3ba3c6d2734bb61b0533eb91613bc6db53f3d6b5e12be1e3c2a3e024331bc54f5663dbee362be90f8ee3df191bebc610ca63b00000000000000004830eabc7ccca23b000000000000000034bbf2bc32187c3b0000000000000000ab04f4bc6f53c53b0000000000000000113802bd31d9c73b0000000000000000609d04bdf355f33b0000000000000000242206bdbfca023c000000000000000012d403bde3a61e3c00000000000000009609fbbcc37f103c00000000000000003126ad3bf3133fbc52fed33c7daf2f3ccd60b63b942693bcfe193a3ddccd533bdd5f663b16bf5bbcfbb6333d2a0aae3b97db753b3d7725bcb05c163dfe8717395b457b3bca4f02bcc3b3f13c791278bbc8e4023b10da8ebbffa6973c72c2f8bb7463833a58cfb4ba9f93533cf36f72bc3498ab390496fd39ff31173c1ab2b0bc1d96d23917d18cb9fbb5da3b19fdb6bc9aa9b1bc2a55fd3b64dda2bbe62b183d904b19bc212aa33bf36866bbc54b2d3dca8885bbd80ba53ba0c55dbb2722fc3c26c60c3b9bd25a3b88244cbbf59c903c9ffcf03b1616963aac6535bbaac8803b76b8413c738ab9bacd9f77ba5c2494bb4ad6813cc89515bb450481baef8647bc5e5e913cfa75b5bbad94aeba717089bc916c333ce5bd44bb9d2c8d3944de77bc821a43bef811013eaf396dbd6abb4e3c881a61be466ba43d038780bd10977b3caeb449bee97b173db2d47cbd6a0d7e3c72f218be086f5d3ceab97abdc2aa673c832ec4bde8e908bc73ab6dbde3d1873cc4bf38bd334369bcf87a56bd3f507c3c05c518bc2a9a3cbcccae37bd19265b3cb18db43ca76f06bb072816bd92d2613c53baec3cbe9e963c3097febcc00c593caa19243c078a01be787a5f3fb939c63e3c73243c6056edbd627a463f2304e13e459fa83bf03fa6bdc8a31a3fcc33f03e8757e03a9b7d3dbd69b8cf3e7a1aee3ea996c03ace8793bcf83d573ea4c3e73e4485e2ba8b7ca83b44af4a3d98cfcc3e6ce799bb0f61d33c46fc9bbd250ca83e1cc3cdbb99dd283d02e32cbe2810773edc1d02bc01db303dbd175abe356e223e837451bdded40d3c000000000000000083b877bd31da243c0000000000000000d9b389bd88d4503c00000000000000004e4984bd281e513c00000000000000009b4b89bd4d17533c0000000000000000adb684bd0910723c0000000000000000917285bd5c598d3c0000000000000000780a81bd374c983c0000000000000000eb3770bd5d78933c0000000000000000e93faa3bf2e749bc6b4ac93c1bdd803b5793bb3b3ab580bcfc06113d7079063b6ee6893b38123ebc571df53ce976d43bb8ed673bff571bbc83a2d83c5b7a1d3bdf45243bcea1cfbb6a9f9a3ceffab43ad7cf083b6a6966bb0e28483c5aa3e9bbe89bfeb99649f9ba02ae153cd5cd47bc1e62aabafcdf243bfdc9863ba5389dbcb19c8ab9ede2d536e076633bdb39c3bcbbcdb2bcb9b8223cefa319bb7739e43c12c806bcd93df23b2df03bbbfde4d73c57f91f38d4d0653bee9716396dbf713cc3cbce3ba207f73a86d72fba92c8953b3c47df3bb7e42eb922d3f6bac80f7c3af3e9863c193d23bbe1180c3a965247bca9b8893cf559acbb34f1313909c23abcbeb4963c342a0cbcdfd4a33a176c87bc6224673c81180dbc5afc763ad1ce7fbcdd7124be6507023e1adf9ebda34ca93c93cb26be11d2733d5ff8a4bd5a31b53cf35707bec073ec3bc8099ebdbaecc03c4d66b3bd88c9f3bce0339cbd20e3cf3cb6fb75bdb0e5dabc208e8ebd088fc23c89ed53bcde3433bd433583bd1d9fc13c1b74cf3bd411d7bce99c51bdf8afaf3cb7f2e23c05cc3fbc11141cbd25dfa33c48b6153d15a1223c176ef8bc73e3aa3c28c3693b471eb6bd29d51c3f8c5a253fd23f4b3bb19b98bd0ba7023fc6d0313f2572853a187f4fbd288bbe3e374e343f8a2385b912c2cdbc3650543ecddb303fe9a2bfb7865725bc316bc63d7f44183f067018bb303f4b3c49d00cbdd448083f82284dbb8cf9ac3c2d2cd4bd0f8fca3eb018e6bb3f8ff03c923622be6ea78d3edf67a3bb280e0a3d5c5b40be9a152a3e6018b9bd5abf7d3c0000000000000000bc5ac5bdb6e1923c00000000000000001ee4cbbd42d78a3c00000000000000009994cebdb8488e3c0000000000000000d468b1bd4c92813c000000000000000003c4bfbd0928a93c000000000000000000e3bbbd7097c13c0000000000000000ab5cb5bdb4dad73c000000000000000053a1a8bd576cd23c0000000000000000a04eda3b0f502bbc1b77933c4839e2b96b67a73bf36d1bbc894ca13c424e583b6262833b25ce02bc43d68e3cdae7e13b61b20b3b45a285bbc8eb563c6e41f73b971b093bde34cdba1ba91d3ce743673b72b48c3a5ae6893a91c7ca3b130a17bbdd7b10b9ddce1d3a6c40c93b15f32fbca6fec0ba6a31763bfee48d3b8ce989bc1638a939aa101b3bfb82923b8cf1adbc7e8c65bc208ffb3bf97a0ebbebc74d3c6994a43bb31f20b92f7bcc3991d11e3c55aa3b3c02cc61baa80b53bac8591b3b5f34903cacf53dbbbf9db73a3d45fdbb3ab2a73cf06cc8bb2122e835d40930bc5996bc3c12e51fbc913a913a76a566bc4686ba3ca1a228bc2e7bd23a4b1f76bc436ea33cf65656bc028b1e3b85868bbc892f513c6a2a2ebc41a1b73ac81784bce685d5bd9157b93db794b0bd35a7d63c554fb6bd6e2fcf3965c5a9bd2e71e83cf1b776bd4d6b6fbd2ad2a5bde757ec3cf1bbf5bcd88ea6bdb6d2a4bda389e73c74e3fcbb41f4bcbd468e8ebd035ce93ca79d263cbbeb9ebda43268bd872dcb3cec66ab3c4bb75abdcf2b2ebd4d20ab3c1e88eb3c44eaefbcec3cc7bcf51c943c2dc1f63ce6bb023bc1a6a8bc581ea13cdd5b853ac6ba5dbdde12ba3eed1d673f3e2ef439a69d3cbdce3e8e3e5a6a723f83c853ba9de6ccbcbde22a3e6a766f3f8ce405bbfcbd18bc6f1a893d125c5c3f8f721abbf310843b5fee80bc11cd413f9d2960bb89650d3cd81c80bdd6ac183f845b85bbddd6713cce55cdbd49c1d73e347466bb6e77843cd8a7eebddf2a823ebc8061bb04e9853cc7f501befe2d083e2e2200be7771ab3c0000000000000000a3050dbe91b5d23c0000000000000000157308be6e99c63c000000000000000000d1f9bdce60b93c00000000000000008393f8bd6c2bc93c0000000000000000f54cefbd5b8aef3c0000000000000000617adbbd0097fc3c0000000000000000c98ecdbd332e063d000000000000000079cdc4bdd057083d00000000000000007b3b9a3b508ee9bb1f5a013ca9ea50bbda67853bc96893bb7897d53b2478013c61d53c3ba9fd02bbedada43b02ec903c352f0c3b8f078cba3e45413b7c4e803c0fb16d3aa067403a3410823beb92443c09db5fba1067543ba96b393b447ec83b451622baedcd213b505d553b877568bb081d95ba644da13b0ab73c3bc8e33dbcf8659cba6834723b0a34a03a694764bc500a0c3bd6d22e3a74fe14394e12223b4bb8903cf563a4bb1fef693a41085ebb885cb43c6cc0e8bb2204b0b9395bcebb9186d63c859613bce464c4b9c0020abc828dcb3c81720abc0f55f339623b3dbc2de1cb3cbb4d3abc3e30253a57483cbc989dbd3c875462bcf1c0343a456737bc1743a43c380975bca98b553a911e40bce43c673c8a9458bcf39dee3ae84710bc8e3928bd4ca5bf3ccb7a8fbdfb9ed53c18fb95bc8988abbd0f8b8fbdfbb4e73cc3eb6cbb248906beae7091bdc478ec3c53e71d3c16461cbe322584bd6285d83c015c863c64380bbe6c3c60bd9045bc3c30a4a33c58deecbd37bd30bd2756ac3cf66eb53c7ffa99bdec37c4bc7511793c6b20b83ca5e423bde67e14bc6853343caadc903c755bddbb1077a0bbde603f3cf386b8ba2752d2bc7a671d3e003e8f3f63c84dbb1f1298bcdd0fb03dbe54953fec3f50bbcf3b08bc79f5eb3cc8f38c3f6e5e45bb9be0c6baa5f29dbcf9567c3fa94e42bb89850b3b416f36bda26a4e3fbb0fe4baacf50b3b7f2575bdbbc21b3f2e6d1cbb261b8b3b658e81bd6a75c53e87eab3bab0fc8d3a16cf64bd19c4413eda4507bb442968b9ffe451bda1db603da0621abe8458e73c0000000000000000d25c25be9c9cf53c0000000000000000e4cb17bee8bde23c000000000000000090a40cbe1907e93c0000000000000000523a03be442fec3c00000000000000003e52f1bdce85013d0000000000000000f54bd6bdb0920a3d000000000000000028e6bcbd18a60e3d0000000000000000ceadaabd13f7063d00000000000000008b02483b1b330dbbd0b389b989fb1f3ca2dc3a3b260645b6f8f7f4bbfe24d93cd637b93aa4a126b8f9a89fbba66d123deb04d13729a8ef3a8a9a8fbbfc90183d4a2b7f3a9af6a93aef61f6ba70c6ed3cf0f0613976c3223b8a6e53b9ae7f903cc7df6bbafb994a3b4ae6b83a2f4dd33b0d8c9cb90fca6c3b0bf41e3b888c5abbb062ea38313f603b00e1ad3a0ca026bc08f8523c7ed305bcaf9ab6ba8389a9bb6b02b93c07bd50bca919f13a81b653bcc789c43ccd811ebcc2ffaf3762e723bc5627cb3c230131bcc41eb1b9e17915bc716dbc3c53513cbc2724dc38e1261cbca570b43c428838bc1bba133a94e916bce9948d3c11832fbc815bdab85554dbbb7ad5393c006d21bc69c2843ac398bbbb2f5d063c941146bc853ac83ab864c9bbb9d7743c565cccbdaef920bdca3cd23ccfb3f73c30f527bec67505bd0d3daa3ce03a013d671e5bbed3d61ebd1584a23c3cd6013d661f5bbe3f510abd5e74853cee16f03c323140be9ab2ddbce257733c1d6bc43cb25f0dbeff5691bc819a083c060d723cb415adbd21fdfcbba0d58f3b152b983bbbf707bd144bec3b82592ebb802f1c3c2b44b53abbb4803c8adcaf398b7799bb4777b1ba7321c3bc9e9bb13f3a5e01bbed21d8baa273bdbc72f09f3ffb441abb8744913ae69c47bdd53f973f191d1abb5e1a123b9eee62bd77fe803fa9da0dbbdb6c9c3ae5ed5cbd62594a3f92dbdabaf93f8ebadf7a20bdafe50a3fd52fc6b96ade5cbb5b0fb7bc39dc983e5710553a1ee725bc973b703b6140ae3d6c869dba2f5205bcc9163b3c35c9afbda43f3ebe473d043d0000000000000000e00714be49dbd83c0000000000000000f40208be7030c23c00000000000000005e48f1bd5213c63c0000000000000000a51ccdbd7da7c13c0000000000000000eb29a8bd9354cd3c0000000000000000faf484bd18a2ca3c0000000000000000737022bdfdceb73c000000000000000021a455bd43f7db3c000000000000000000000000000000000000000000000000698a243bf52ef4b998c923bca9633c3d9be98e3af3a4a43a5a7a18bc482b433d66e92b3a1e513b3a009396bb89b3323d82897fb932ae2b3bbc2777bb76770b3d773a503a76e6103b87a740bb1d0ccb3cdccd753aa590293bf7b516bb7b034e3c974ea13abe72153b140148b99a11593a0000000000000000000000000000000000000000000000000000000000000000902d993c552a32bcdfabd6ba59a316bcd114993cfc3b17bc89e7dbba8b140fbc1c8ca63c9c9c10bcccd684bae25e11bcd527a73c3d3f0fbce346bab8355d09bcf211653c03e3cfbb1fbe5aba124be0bb87f6333ca8efaebbd91856394e91d6bb56877d3ba13e24bb34cc2d3ab6ccb3bb000000000000000000000000000000000000000000000000000000000000000065315d3d4ac183be75d495babbdb1d3c1c6e453d2c927dbe3aacabbbd5648b3b49051f3d6bea70be921e2bbcc2316b3b56f60e3dcdd545be6bf81cbc77946cb9d1cdc33cdc1c0cbe99a3d7bbd07e28bba66a3d3ceab398bd3ac3553a2901b3bb8b70993b01c3a8bce0d52e3c47d31bbc000000000000000000000000000000000000000000000000000000000000803fced9abbb3377733c8ea6fcbd343db03fd5b6feba3fc21b3c35f8b2bdfb50913f8ab4e3ba0b46023c7e2f9ebd7324743f016a21bb1f7bab3baa1070bd0b57353ffadd50ba3e8b923a3d4cf1bc80a4e63e341b94b92b3c2fbba6bb19ba4820543ec30e6cb9fd41e4bb377cf23c008adbbc0000000000000000000000000000000000000000000000000000000000000000fea0e1bd1027893c000000000000000088a97abde28f353c0000000000000000b66849bd4385323c000000000000000014c3f6bc5b702b3c000000000000000076fa67bc84411c3c000000000000000066f546399333f33b00000000000000009bf4003b9d87193c00000000000000000000000000000000000000000000000000000000000000000000000000000000db7918bb178041bb9e87e03c5d179f3ca65fa7baf894d8bbff7e1d3d3e7b673c268d2bb92d47c8bb24d6fe3c983c963ca8f689b8ed15f3bb4f6bfa3c232a763ca677a6395089ddbb9b3fcc3ca1a4573c30ccb73a1302d6bba3c39b3c44770e3c73b54c3a1c4dd3bbf4784f3c96286a3b0000000000000000000000000000000000000000000000000000000000000000c57b8d3b7f70a3bbf67c12bc25e91a3d4dc7d5392a833ebba94ec0bbe569123da09b74bbeddf0dbb1cdee2bbeaa5103d23f1babbd99e93ba24097bbbe108f43cbddbdcbb178499ba4ac68abbaf59c73c7e6f92bbb2c558bab2ea47bbdebd753c3df879bb03dc21354d3bcfbaedee3f3c000000000000000000000000000000000000000000000000000000000000000079736fbe50162abd895af63c6acbb0bb6f6a7fbeffa39ebc83e4d33c7c2497bb859d73be9d1593bcc022003dd58b07bce91a58bef816f1bbffe9f83c249e0abc71c528be78b4e93a3b83e63ca65507bccae8d9bd88abc63b9e2cc13c53050bbc13fb58bd27f4973c378bad3ce1911cbc0000000000000000000000000000000000000000000000000000803f00000000c061923be787babd58eeb13fc3c1d8bdd64dd9b9d5615bbd4873943f9a33aebdd9deb0bad39834bd249e773f82ccafbd2d4d72bbd49ad3bce9da3c3fe41cadbded483abb15ef3cbc1a72fe3edcefa2bd5a3eaabb6faff63b80c1803e0f618bbdcd33f6bbec8cba3c072aa03c1e7a8ebd000000000000000000000000000000000000000000000000000000000000000020a3d03aee714d3b0000000000000000eb4c333a491c2b3b0000000000000000b2cb813b3539973b00000000000000000d7dfc3b67d4853b00000000000000002e54463c6a53373b00000000000000007a4c643c14922c3b0000000000000000cae5c43c571bae3a0000000000000000000000000000000000000000000000009f8546bb248486bba639643c09f4033d594df7398b44bfbc9bb77a3db4928c3cd3bd46b946049dbc05f57c3d723c673c94c75e39440198bc7b00823da3e9ed3b0ef30d3aa52089bcf84b643da114573bac37d03a18d487bc7f25453d61eb97bb49e7f839bf2126bcc654083d5e0d20bc3e47783a36beddbbe647a63c66df8bbcdc428a3a43980cbc7ed2ba3c1f3fa9bcfc9986bc2db35e3b356f25bcd6856f3df91c89bcd07da23bad27d5bb627a933d848599bc3992c33bd465aebba2f75f3d7a2a95bc8dfac53b7fb862bb5534393d631593bc66a6c93b2bcb8bbb943a093d746858bccdd3b63b8fee23baf98da73c950900bcc2fb663be9ee97ba576cb73bca0698ba0966223bb2b6fb3a143351bcaf2c52ba48de433b1b5c2139754bfbbb5ebf70be23f40a3d879b7b3c74c9e1bbbac8afbe978d833d04568a3b5143aebb4b28afbed173873d745e573b5cdaf7bbdf29a1be0025923da7c4473b70adedbb7d8484be82f1923df239ceb61131d8bb9bb23fbe09b48d3d3a949bbbe7f0cabb8eebd5bd5e00883dc2215ebc572834bb428593bcc88e663d856684bc80a144bbe4137ebb00c1803d66c5b3bcef1934bab80dedba057ddbbd6969b13f85f061bde499f7bbc62385bdfe5fa13f8bfee6bc9275c9bb9b0419bd6d60893f9c2994bc868607bccf825abc383f573f40551cbc004a96bbb979ec3bb9c6153fccc8c53b820707bcc92be73cc136a73ee88da33c7bfcc6bbc106323d7eac9c3dc21b0a3d78feeebb1159843dc38912bef56d3e3de7c312bc5603853d9b7d7dbe31fbf23ce087953bc53f0e3b0000000000000000967d043b3bb9223b0000000000000000c8b4d13bcec4663b000000000000000002e2033c75a7663b0000000000000000810f203cb9effe3a000000000000000078f4263c36812a3b0000000000000000b5b43b3c2efbe03a00000000000000002b3b0c3c8b0e6a3b0000000000000000fdb99f3c1c6e52bb0000000000000000e593a1babd9545bc55c0c93c7ef3023d55e3d1b9421ca1bcff1e7c3dbbc4133c20f303ba25b68abc20e4743d4be64f3b219694399383a3bc3bd2833db13821bc0a92143a589b6ebc5e275f3d10197cbcb76a8439191b3dbccdc93c3dea77c1bc7268e339f30219bc20c2123d0c72edbcba80513acb878bbb7feeb33c23f804bd003d5fb8b27ed3bbd448c93c016423bdf2e041bd37c1953c4f3fcabb0235803d6a7427bd1beb883cec8b76bbf6d6673dc9881abd8175993cdd5326bbab89373d9e2104bdf5e37e3c13098ebabc7e0a3dfa74dbbc35b37f3caaf1cdbaef5a943cf67a9bbc99a25d3c3d2baeba5393783baadeefbbadcb1a3ca55ea0399e1982bbf3f5df3acbc4f73bf693cdb960a6a7bcc7da183c9c64913bf7faf23a2d27a8bc48c087bee74b223e71c55abced672cbcbf85adbe8a5b2d3e0501b0bc95701fbcf66ca0be04151f3efddeefbc034b0fbcc6bb8dbe34b91d3ea3c715bd5051babb0f1e58be358c0e3ef7a639bd5cff78bb875c0cbe1554f73d60585abdcd7a6fb9f4cb91bd81d0cd3de0dc7bbdaccbad3bfe479e3b8447a23d87ec8dbd4738e63b4fdade3c7d67973d281f95bd8b2c533c2b512ebca5415dbd59e7893f20589d3d69b132bc1211debc0b527e3f6f22a63df3ad45bcf53386bbe0ea4a3ff85cf93d9e9d1bbca64b7d3cc202123f4102123eaaadebbbe84d063d33efaf3e1486253e311991bb5ba93e3dbb02f13de9ce3b3e0e60c0bb1689573dd39f57bd03bc413e08ba5dbbc78d823d1adf6ebef324483e768c94bbe0a0823d3a3a97be65e02e3e21fe1d3cb0a4393b00000000000000007ba13d3cd027363b00000000000000008cce603c9d80823a0000000000000000fb34783c6ea898b90000000000000000b404653cdcf81bbb0000000000000000cb61703ce9376abb00000000000000002ce0f33b58049cbb0000000000000000cf8ab83be2c5afbb000000000000000083f5e7bb2232d0bb00000000000000000f5389ba3b212dbc326af83cceb0b93cbb18a9b89278abbc6b0f883d98f847bce2ab89babdd88abc7ecd853db74eacbc29e85a392bc57abc62956d3dfe4be9bc2e16de393f4b4ebcffa14d3d8d9a11bd9b41c039e957f0bb1bdd0e3dae771bbda96a84b921fd51bba209d13c45a822bd73ede6b8fedca2bae624833c5eac2cbdfe55e9b9c4113fbb7b72893cfa723cbd831989bd8af9f23c876b07bbabc22c3d7eef57bd11d7e63c410dc5b8345e1d3d9bc434bd1bdcd23ce196b53a1216bc3c09ad0cbd12afc33c1a3fbc390c63433ccae5b2bc83209f3c29b12a376f4d4c3bfbd414bc5c356d3c770affba535906bced37ec3ac0fd2b3c46daedbae4459bbce832553c0805b63b3a7404bad66fcdbc87ba8c3cdb350c3b8b59113a3646c5bc273383be433c7d3eae7959bd3322e1bb967898be6ad17f3e114d86bd089cf7bb79a783be6dbd5f3ebb1ca0bdb00d15bbc9fe4dbe85a33e3edc31b5bd380ba23a26800cbecbce1d3e6941cbbd9d8ac43b15d685bd36dfee3d88ecd9bd23286c3cb1150dbcfaa3ae3db292e1bdddee923c0c933d3decdb7b3d6e15e5bdae2fc93c099c4c3d0b826d3d28c3d8bd4afded3c876f3fbcf20c8cbc3457493fe1b0893e6f6b32bcdd3dce3b7f062b3f19d7963ed399febb4dfea53c2ae1f73ecc71af3ecce797bbcc8afe3c6f99983ed6d7be3e606779bb74fc1e3d53cde43d1355cb3e91ac0c3aa1a9293d5f1933bddf28cc3e20ffff3ae8713d3dd8cf2fbea2b5c33ee711153af1b0453d1dac8bbe00cfb33e1566f83a6738423d9fb595bebf628f3e50435c3cbf8f28bb00000000000000007cf26d3c6bb293ba00000000000000007dc4553c3ae285bb0000000000000000d576423c7041c1bb00000000000000002f9fca3bb998e6bb0000000000000000a12dfdba3e5d1ebc0000000000000000917560bc0e3f0cbc00000000000000005e16e0bcdff21ebc00000000000000009f4142bded46febb0000000000000000e6a094b93b3953bcbfdc1e3d9177b63a659d96ba4c078abce42e7b3db41ff0bc3c5f0db967f555bc6507573d4babe7bced543bb9cb1031bc4a81473d8b771fbdcf046bb793b40dbc31070a3d4caa10bd078399392f1887bb851fd73c959a28bd130d883ac523deb9a373723cb9751ebd7a9816b9e443003bbda45b3b40b819bdbe3783ba669a8636fe7eed3bcf402abd222e84bdf1130b3d930bb7ba5da4003d2b8d4cbde6b4023d96855c3be58d853c339e1cbd73dbe13cf2dedcb8faf4193c0642c0bcb843c63c750fe1b9571519bb70986abcbbcc863cc22cd6baa95cbeb90beaeb390fde5b3c81771cbbcb0c88bcab80573cf110b83bc2b768bbd20b8abc736da53cf7a6ed3a7d0630bb54a0d1bcec98d73c45fda5bbffc721b984d2b7bc053369be28b8943eb755cabdb23e66b9dc0769bef9bc893e17e0e1bdd5881a3ba01a38becd71523e1af0f7bdd1bb0f3cfdaffdbd47b5243e7cff05bed5ee5e3c4b5fa9bd556d003e311102bec3f9b73c03ca57bc50549a3d81c50cbe372ddb3cab7fbd3c0e15483d583506bebd390b3d9c3e8f3dd95c963c329601be59af243dea64913da24caf3c0878debd8d56273d248623bc5d4fed3badf9003ffe19043f888ec2bba14bb13c1b0ec03ea7440e3f6c3d58bb48efd53c13bd783ec458193fe35cf93842e4043de1a1aa3d6054203f41fb5cb88c32e23c3fb75c3c0b67123f2f978a3bff36073d6cdf0ebe30d2153fdc71d43acc50f73c96ec44be014e013f9af4973b4e5eee3c3dd982be5c8ae53e6d0c5b3be16ff63c1dbe87be6da1ac3ec3d04d3b3946e6bb000000000000000053a9823bb609b6bb00000000000000007af3d5bbf665ecbb0000000000000000ad6d30bc321a29bc00000000000000004dc301bda87817bc0000000000000000b72c14bd6fc941bc0000000000000000216473bd43c113bc000000000000000094dc99bd347f10bc00000000000000009bfec4bd3765deb90000000000000000e2a4c3b90d073ebc3d97223d2b1688bcd957d53950f04bbcfc71413d131309bd76d01b3999790dbc0b27163d85f1e8bcbb644f3ab56eddbb6892de3cc4acf0bcc03e683aa0749cbb551ca13cf0aff4bc2184753a322566b9df0ce23be4c8d7bc6033073a5716233accdb823bc644e1bcaa9a9f3922bb1d3b70fcf2bb892aafbc0597b3b9ebfdcc3a9748bfba4ca6e2bc523e42bd0db7033d675c2d3ba8092f3c9539fdbc1293ec3ce3d4f03acdce243bf46792bc630cc23c72511bb93f9549bbd2049ebb7bc87b3cabe2e9ba13acf1bb4e0ae03bdfa6393c81721cbbf2674ebc56ba893ce74a8e3b38ea4dbb13d06ebc27f9d23cc9653abbe14a0fbbda8690bcc5b8e13cde3fedbbc316cbba25c69bbc3b9ef63ca32f31bc451938baad0ea2bcf00d29bedad7853e86d208be28a94a3cd9ab0fbed99d4f3eee5315be42526d3ca376b9bdf669fa3db6a518be28b4a23c50833cbd210e893d587717be2ac7e63ce1b60ebc9a69d83cdd3917be274f093d22a6e53cca24e3bb7de20fbedc24243d33d0593d731ac6bcb67502be94763c3dba429a3d43690fbd7affe2bd4ed7463d9411913da66a92bc893db8bd355b3d3d08a6acbb45cd973ca18e853e5c7d4c3f8738febacf23b93c0dbf153efc525b3fef7b8e3a6801a53ca58d3e3d0b32613f4b4e843bbb8b983c6e6322bdcb845a3f7767ad3bb855a53c921cdfbd9df24b3f97058c3b97fb883c1ff91cbe0c13343f0593683b71c6843ca0913dbe7b4b163fe68f853b8e695e3cd1d849bea9d7e93ee0a4893ba9645d3c8bfe48bef43fa13e0466b2bcaf6939bc0000000000000000a784cdbc81591cbc0000000000000000cda916bd62b626bc0000000000000000e1fb48bdf68f3ebc0000000000000000a77784bdd9b730bc00000000000000007e5aaebd62d40abc0000000000000000aabfd8bd0c97b5bb0000000000000000456a01bea70952390000000000000000a0b30cbe7ba1053c00000000000000000449523ac42a04bc4b1ac93c7caa94bce775843771288dbb9591a93caa09a8bcf5c69139b0a83bbb74d06e3cde8e59bc8998d23a08ceecbadb6ac23b2e81d5bbe19fcf3a91ec533ad5f08d3a0107b1bbdbd8903a5160113b7965a0bb9aa0a9bb36beee3ad3825b3a1c53bebb6f46b6bb23c42b3a0c3e7a3b59d93bbcfea513bb363ba63a68620c3befae3ebc135e01bcf9cfa6bca9d0be3c76d8d63a321dc33939b8febaa089883cd6c664bab54bc0bb14e2be3badfc2b3ca42a12ba1bf0debb855a6d3cbe51a23b9ac749bbc30e13bc565ea63c1e3778ba0aad9bbb5e8127bce6ddd63cebf7e2bb23367ebb1d5a43bc8827d43c0ec224bc76d919bb6b0526bcecfbd93c20bd73bcdd5d48bbe8752abc6428c73cb3857dbc3e36bdbab29205bcb8c3a0bd0fdd1c3e65c713beb518bd3c28b827bd637b583db03d1dbe0ce8f03ceda0babc88d970bcff5e13be307b153db7da173c3ace8bbda03f0cbe906e233d13e2d63c0476b5bd4efbfbbda592313d6774313d05b6c8bde84ae0bd802b463d9758413d2e44aebd045db0bdf895433de957583d450c97bddb5684bd1b60433d91c45f3daf3d3ebd2acf4dbd61e3313d8f684dbad35b433c29ec943d19f98a3f4891253b1f7c2a3c030dbdbb7f16943f29eed03a6bf9243cc91f0dbd88818c3ff6e2873b6c82d13b3b40a4bdd1d0833f5c6f983bf7fae23bf881c6bd6924643f848d863b3048b63b08dde4bd3b1a3b3fd1ebe33a13d5663b8881e1bd49930a3f75ab0e3b5bff443b531fcbbdf4e2b93e9a44203a2d900c3a3318c5bd60b1513e4c3257bd7d5124bc0000000000000000267483bdbb2f2cbc0000000000000000d1a0a9bd3bb227bc000000000000000003cfc0bda51914bc0000000000000000c72ce7bd09cda9bb000000000000000078fb02be4ff9b1ba0000000000000000688216be3be4d63b0000000000000000737124befaf6363c000000000000000072a71ebee965993c0000000000000000e898823aaadd29bb0fed053cd71222bc8d18db3a9cb6e5b91cfb0abcd006b73c4eb0013be2cfdbb9087e11bc55f7e93ca2d1df3a3379a23a05dd2fbc9276f23c57d00d3b26ff8c3a6f693cbcdc20e13c8f681c3b1c0d143a734d45bcef9ec23ccde91a3bedc6e03aef982dbc3d5a703c0717dc3adfbbb7bac5e3e5bb0099dd3bab98f13a20ba8bb8653928bcbc5cbf3b5d7f2a3c06b5c63b54e580bacc6b87bbb4fb6d3c61f1ab380e49cbba04426abb5a17923c31763dbba1493ebb605ba8bb4867ae3c84a0d7bb89ba33bb6b6fb7bbc67ab43c8c2627bc086468bb6fe3bebb6354af3c057349bca9f125bbefc5a3bbc1149f3c8b4976bce8fa4bbbd8f7bfbb35963e3c95da5dbc7c3c50ba828365ba7810363cd19a70bcf4cc1bba717b21bb4f09dbbb2551a3bcf6e2f1bdc1ff053d964dc43cbb0017be2064c5bd9996083d4952d03c588748be7ef2b1bd3da10a3d644c053d939d57be3c069fbd6850173dc6740f3d77e54dbe9a9780bdb9671c3d4d4e093d85502fbe19e137bd7238153d2e97f33c9af2f9bd3990cbbc358a083d0871673c4d7177bde3a7a2bb6c26ea3c8b07ac3c12ae20bda37b953b4834c73c57b5953a2097533bd6a65ebd4c9eb13fb9db83ba5cc0f4b9ff8c5bbd2a14ac3f07ee643ad7a2253b0af47cbd768c9f3fc04d7c3ac644553a0a6681bd4e5f8a3fbdee123b114fccb9e37667bd4518603ff3c97039aa720fb9f2783dbd0175253f1a1b713a59fbc7b86b290cbdb5d7cd3eb9a983b630553bba346a1bbcb26f213e08f8f539ad5e54bb052603bccc28123c6e10e1bdd60577bb000000000000000031e8ccbdfce0e4bb0000000000000000e837e2bd61dd2dbb00000000000000006862f2bdd291cdba00000000000000008ff9febd74433e3a00000000000000008f8e08be0919fb3b00000000000000001df10abe5257553c00000000000000002ec208beff7a9a3c00000000000000001a8a0ebe0b87f13c0000000000000000000000000000000000000000000000002c672a3b56b239ba572816bcee58e63cff0a323b1a383ab95cba59bc23d92e3d484f493bdb723c3a26e84abc2da61c3db7a1413b002334b8e8574cbc6753183d26765a3bb1866239863855bcc970083d7bdb043b393380b90e5835bc9a81cc3cd735173b424891b9c695f1bb3976813c000000000000000000000000000000000000000000000000000000000000000037f3ae3cd7ea22bc9a001dbb8a32cdbb879c7e3c4bdb1cbc9ed1ffba060a82bb0a6c8f3cb5194cbc4e993dbb82bf96bb04b05b3c0e073fbce97d2ebb87cd4abb427f0e3c67ed2dbcc9d430bbd6de46bbbe90793bf38813bc6710dfb9e046c23583fd5fba128303bc380b19baa903a2ba0000000000000000000000000000000000000000000000000000000000000000d124303d1f9977beec9afabc82e8bf3c9bfa263de4fa86be842838bc5df9933cc693113dfae380bedb3211bcf959a03cb7530a3dd2a067bebfad093bb0278c3c90d0d73c6b8e39be9c92403cec9e613cc0a25b3c3457f2bdc6d8a83c1b1a063cc6c7a53bec5a77bdb3a6fb3cf944913b000000000000000000000000000000000000000000000000000000000000803f28fb103bf3681abb3d47c7bde5ccb23f1dc7973a503c92bbe89b65bd5c52963fc5d5993a36fd5dbb3c6937bdd6ef7b3f8b85033aa40094bb7e72fabc396d423fa28c1f3aa8b04dbbb79359bc35aa033fc6a072bafad233bb6ee61d3c2ff4863e81e03dba85ae62bb1ecdd53c467ec93c0000000000000000000000000000000000000000000000000000000000000000a9fdd6bd9481553b0000000000000000164ca6bdc6a67f3b00000000000000006540a9bd1fd3ad3b000000000000000074a3a2bd9d7a023c0000000000000000227796bda9292f3c0000000000000000c9da85bd5f885a3c0000000000000000737489bdce03a03c0000000000000000000000000000000000000000000000000000000000000000000000000000000055e3603b15feb13a09622a3c620606bbed7b383b488eb43a65e8173cdd6bcdb9934dfc3a1626f73acfab063cccc86e3a2966f53af102973ae20a013cc796923ac329d838c925d33ab0a8993bf524dc3aa523cc3afd935a3a47c2243b5666ce3af8d9d33a5f3ae7ba3131913a0b16c53a000000000000000000000000000000000000000000000000000000000000000008810ab9bbe996397a34243b9a5bf1bcb2438db909a8613883c3183baaccc5bcedf6e9b86d9507b98e92b23a7fb6a6bc6e4ccbb902f23dba0246be3a99ce83bc57c411b9169a543830d2013bddd843bcc8c1fdb9620ac0b97414063bc7740abc1b3481394658a2ba34d9373be67754bb00000000000000000000000000000000000000000000000000000000000000007a465abd2a5737bcef807a3ad2fa433a8af950bdc4632bbc3a9ef83a889b7739434c2ebdad8819bc8867ea3ae2f31a39294a04bdc7ed0bbc0879c03a905c0eb98fccb4bc612d02bc0fdfba3ade4c18b989fc31bc2c0a03bc9079393ad76e9e398bc1a13bf6fa12bc097284ba60dbac3a0000000000000000000000000000000000000000000000000000803f000000000729e2bb1211d6bc8b93873f038000bc99bfbcbbf2978abcc4f0623ff627d0b8643dadbb1d6966bc9917393fd487573b399985bb199875bc79df0f3fa46b743be27b37bb141f8ebcffb3d03ebc6f3a3bbe6f8cbaee66b2bc31d7823eb24ac239962d2fba36d3e8bc0400db3d298e19bb0000000000000000000000000000000000000000000000000000000000000000f69494bcd35a583b0000000000000000f95d58bc5743343b000000000000000058cb27bc993fe73a00000000000000005793b9bbbaf2793a000000000000000076fca4bb0732823a0000000000000000caff58bb94434c3a000000000000000087b091ba5e45043b0000000000000000000000000000000000000000000000000d29423b7ab803bb7cd1143c7d2c82ba6c2c923bb88ce0393401523c9ba336ba0e42673b82f1b53aab4f543c4317b53a7f99443ba2ccb63a8f2c3e3ca0433b3bab7fe73a8514493aff41133c0cd84e3bc8765d3badde0b3ae759e53bb3ee533b9494f53a3672d7b9353f8d3b28bc453b7e590f3b966caaba6dcc9b3a1342083bbc7b4a3ac5b705bbb7d4fd39f353ea3a164eefb986792ab9698e283b4591fdbc866e63395208213ae8d8c03b9eec16bd1bb0bfb9668bd6b95e8e833b878002bd7970c3376bdbefb929fd5d3bb25ddbbcb2facc38d0b38cb9406c283b2391a7bc5c988db98152eab98f14383b948889bc2130cbb922fc25ba5d9a4f3b539743bc36a727bafc9deeb99b2c8d3ba08bf5bb1bbf2cba0b14d3b872dd033b310375bb9410ddbc53dea5bb5f50aabb071a593a2a1a68bd73d853bc513b0dbbfd85ff3a4b6a6cbd391558bc1f7692b9450ce6395ef74ebd5e334fbc5fc21e3a1a9a98392c2a14bd12832fbcfee0603a1d55ef385f77d2bcbcde2abc25a0233a989b1e393b9731bc8a9b14bc44df71395ab2ae39c1c4823bd367fdbb09da8db918e2bc3876ee7f3cca3525bb72f476bafb978138059893bb61a058bdebd6873f5574fc3db99e63bbbafc6cbd5ade7d3f49c4ed3d06f396bb78502ebdb313563f8b49dc3d85e188bb845e14bde6bc2e3f46dfbf3daaa150bb6f7503bd23f7053fd2c89a3dbca6e3ba24a10fbd043cc23e57866b3d8e74963a3f3d17bd7198703ed9c6173d9e20b13b9c1627bdf473c73d80cd803c3a3b483b5f0608bd820b87bc17e8d2b9e96c09bd9c08b43b0000000000000000b3a412bd3a9ab03b0000000000000000da2de8bcaddb7b3b00000000000000001fe8b7bc6eb1233b0000000000000000022089bcaf47c03a0000000000000000389561bc3348a43a0000000000000000a80421bc36c9d93a000000000000000016bff7bbfefae83a0000000000000000928ab7bb7fd8813a0000000000000000c93a103b684530bbd2f4f43bc953ce3a1fb4763b1c37abbaa1f3333c8639343bdb1c283bfbf0e638a62f103cabd7993b587c253b8e3b02b986db323c58c9a13b43c6aa3aeba51bba7b9e063cb2c29f3b7057cc3a4f525cbac683e33b817fa63b0a049e3ac30295ba4e979b3b5de58b3b4f6ecb3a38c726bb456cfe3a08d84f3bd21c993aa12e40bbf047593a5d69453b3abee0b927c53bb8d8d6413b5eebe5bc29c1d9b9ebde91b9d7c9b53bfaf30dbd14029739f66406ba4925803b038cdbbc19e3d837eaa403ba2584793b365fcfbc35b6a639ceebc0b92dce263b35c595bc09a9d138fc7f0fbaa9644f3b97f782bc4b90f6b822c1b9b9232f413b580230bc896342ba0e2e803a95dc5d3bcb2b0bbc4a8a86b99cb9b8b94877103b48819ebbe0fb80bc3b3a6ab9d03e0bbcc1f6453a233b23bdd70a1abcb2b0e2bb282cc83a81342ebd07193abc9f2042bb9772653adf722bbdd6b956bca4c112bb85473339e02ce2bcfa8b18bc096f83bae40d6b3954d1a8bcfce414bca9fa4eba9de20b3a3b5703bca362a9bb6dee1fba2d7b42398860a13b118a4cbb50bddaba3c5efb38c928453cb17af23af6e868bad63d8a387ed70ebb30016fbd0d77653f8a338b3eefc8a4bab5468fbd6f21593ff315833e1ed70bbb8d4351bda144343f438c663e4fe621bb373d4bbd0827183f5433443e4770a5ba654421bd03e6e63e4b411a3eb0cd263a693032bd0835aa3e1f02ed3de638103b19831cbd525b543e651a9b3d6eafa93be97d30bd9c18b83d5dfd1c3da64b8b3b2c7bfcbc78170ebc66b98e3b0aa22abd8dae893b000000000000000010824abd4d4db43b0000000000000000f61d13bd0d0e5a3b0000000000000000c0a904bd5c26f63a0000000000000000e0c9b8bcdad2b13a0000000000000000deeea7bc4dfecb3a0000000000000000594678bc83d8d13a0000000000000000ab095fbcfc43d83a0000000000000000d0d70dbc765d8c3a0000000000000000b2cede3a5b7d45bbe4f7a73be603be3b4076023b3b4051bb3806113c0b45c63bf6001e3bddd12bba8d421e3cbda4e33b6c9e0b3bd63b2cba6f73123c71d7f03b6953843ab1a30bbaab4b063cd68c0d3c41e9c03afb70b5ba3ca8c73bbe1bdb3ba522bd3a9d5be3ba6c4f813b632fb93b1f0f623abb6504bbd8880d3a90008d3b49cfe239863c40bb70c2b23aad3c733b16984abaf38e2fb9facc003b9240cebc64eeb1b9c4ae7db91c9cb23b8711fabc177260b628e6a0b9a8728f3bd1afd5bcc10f1d3994187fb918f9663b59b9b3bcf081acba5cd93538ccf9733b745a8bbc290b113a9b27c6b9b0f94f3b632267bcd8af3937e84deeb9ff0e403b2c192ebcf4160aba59205aba90231e3befacf1bb9763993909de90b8db1cde3ab6b4a5bb940c46bc44d6ea3a123527bc3c605939b08204bd09d709bc962c1cbc07fb963a71f11fbd95ef64bc42f0bebbece6423ab9a915bda2bc65bc256a79bbc55b0a3ac8d4ecbc589261bcaa1e82bacdd8143a24819bbc8d2cfebbe3c5f5bada50513abb0003bc421d56bbf5cf05bbaafba239a461723aa5985b3bb6281cbb8c06a0b968f20e3c8bd5c73b98b47ebac8a683b9936788bab68a64bd80dd3b3f988bd83eaa16143a871290bd77f4313fcaefcc3e2d352eb9a92572bdfaea183ff8d7b23e6f732f39c0c254bd9899fb3e1bdf953e9667c43ac61238bdbd2ac33e386b6f3e11b9093baa7433bde9608d3e26b7323e4911663b708829bdcea4303e0711ec3d5843d33b1d8012bd46629a3d7c4f783de53b793b539ae2bc92b8c4bbf9c1f43b6ebf41bdf2e01f3b00000000000000009c196cbd96f27c3b0000000000000000df1c3ebd0bb80f3b0000000000000000e9a01bbdd1b5af3a0000000000000000d093e7bcdbdd6aba000000000000000092bec7bcda068db900000000000000004369a2bcba1acd3a0000000000000000f8df7bbcd81c4e3a000000000000000095092dbc56972c3a00000000000000001b8e9b3af73d27bbe1e2743bf6a0db3b22171e3bad21d5ba92d8c13b1b4e0b3c944cd63a9bc353baef5cd83b0bf3043cc77f133b625f3cba6b53e43b2cfc1d3c96eb3cbb4b98823b5cb86c38a20c313bd5c3b43af55dcdba86f39d3b1bb1013c2c0c8b3abdc378bac09a103b353baf3b26b9a83a866c19bbaf87db3a0f6a923bf9f7a239419426bb3072373a6150713b44d366ba21d41cb9d59f133b43dcb2bc9571f9b9c2b79d3888d0913b6e9ecbbcdbf3643a33088e3851e9603b429aa0bccafe823a0e1000b795a5653b682b95bce16c3cbbb28f70bb41cc89baf265e5bbf4b33c3a1a596839deed4b3b0adf3bbc471d2439ea206eba4e75313b997decbbfb0dad38f8caebb9081b153b8236e2bb064a5e39b6011eba0638923ac98da0bb7b2445bcfaf5173b236530bc3bb534b9960aedbc31d021bcfda62fbc7d71783afe9f05bde17b81bcd740edbbf5a5b43a12f80abdf6268cbc9329a7bb3ec1873abada86bc6110bbbbc609cf3a5b563fbbdf979ebc06dcf6bb427442bb87f2953a2b2215bcee69e1b9eb7d16bb44a7f83a139ac8b941b1c23b97121dbb55669d394146993b07be223c0cb498bad99c07bac491af39cb8056bdfda1133fcccc133f0190f53ab2fa82bd7b240a3fff050b3f85d79b3a067651bd0c1eeb3e9524ee3ea886db3a41354abd6ffac43e9cc8c93e079313bb1ffc1cbd24f9943eacc7993ef901503b49b124bd29095d3ed74e6d3e9048263b49480cbd3eb7073eaa80193ea131b53b435c09bdb13f693dbdbf9d3d966e7c3b9ca8c0bc4391f6bb46d90c3c33f553bdff4d6c3a0000000000000000f10a7abd1631e53a0000000000000000ccaf3cbdae6db03a0000000000000000df9726bd56deebb70000000000000000d814acbc195c933b000000000000000096cddabcd16900b700000000000000000c589dbcc4e3a339000000000000000040ff8ebcd3c8613a0000000000000000705139bc5c1827380000000000000000fc2d803aca7509bbdfa3ee3a77be043ceb1b593a5ee98b39db530f3b9e71383c0af2c43aa27e8fb8ad26ab3bae223e3c58f3ef3ac279d839461b833bd5243e3c82feae39cd783eb90c70723b26770c3c99ca313adc4322bab569753b39ef0b3c7c81da3a5b9a3d382b490a3bb52cc53b78a80f3a5b7101bb30b5043a891e883b4caa8f3994add6bafdcf80363b646b3bb6a79aba0fcd4c38e6bf2a3b500e92bc43600cbb8021e2b815e3ad3b6d689ebcdab589b96928743a8f8c883b578886bc2c6256bab8385d39143d813b72a256bc5373d03a32e6f5b979a6a63bd1a24ebcbc09813a92b906ba1dc4273b623d0bbcec24a739da8f93bae63c093b13bedfbb4109e937c05f38b92a0a2c3bb28ba0bb2704a0399e0358ba18449d3a8a3269bb396d7bbcccad84ba50853fbc22918638363705bd6a1393bc0af55fbc81af683ad37615bd4cb4ccbc82a013bc7908953a19080abd39c8c0bceec2d5bb6a61c73a5a40dabca1729dbc17e56dbbf5c6f8b9d89ba5bcac7b19bcb16486bb39e8833a3b7b4bbcf7326abac80a7fbb3defe739e7f590bbb7a9103ceddf54bba439023aa4c5843a2053563c8530a5bad35bdcb9ab760b3b266745bde461d83e00073c3fdbc09b3b3d1d74bdfa3ccb3e2677333fff13733bf96153bd19eeae3e2f3d1a3ff151703b958a3ebd5647903e08a1ff3e1321b13b461d1ebd937b5e3e6d3ec83ea4a1873b607410bd15b61e3e9c5b933e99d59b3bcdfeffbcc2e7bc3d700d3f3e8903cc3b8d6ce7bc295f0b3d9fbabc3de9778d3b03c19fbcb64a45bcee8ad93bf86a64bd7c4bf5b90000000000000000e1af8cbdc9a7ffb90000000000000000807b56bd405d83ba000000000000000059e029bdc19099ba0000000000000000136e00bdabcdfbba0000000000000000981adabc92beaab90000000000000000829fb0bca1d5bf390000000000000000f99d96bc86f6833a0000000000000000c91d39bc8d6314b90000000000000000c6d7a63a73c881badc278d38fcd2193c539c393bdb5038b9647b0f3baddc503ca55e453af4f0223a0547713b0d6a383c35477d3a3072453a3c127b3b4281483cc591243a1c19b938e6553c3bb3c31a3ce79ca73a95eb5d3a6b65e23a97a4fa3b47ac83387faf48ba55abb13a82a2b73bed227a3a0f864eba8e30e2b9f76c523b3c0db0399c44a2badd3f83ba51eb113b8fe50abbc0e1ac3967b2573bc7b549bc5528ddbaa13c0e3ad1c08b3bc52a5abcbc22a5b6da86a139673b6b3bd7911ebc44f3dd39a9fe4b3949ce723be01807bcc2268a3ad15f36b78220173b27e3c2bb1585693a7e799e3a8f5a743bc5d2c0bb1f1d263a313e90b9f212003b3c7f6bbb11648439e45db0ba3e15223bb7712bbbc34905388017afba1abbab3a656006bbc008abbcebeb0fbc209f50bcb8950339b2ec15bd7093ebbcfe6d6fbc7ca1503bde4c0abd6d8603bd13891ebc939afd3a582d0fbdf6a308bd6e7a05bc9370e73a74eec9bc347fabbc70d1b8bbd9e1bb3aa893b3bc03136bbc90fbc6bbbb47b43adef253bc862f58bb269c97bb1196983ab24df2bb6f22193c7de39dbbf5d7a43a0ea1d4ba1f347b3c89dd1bbbd6c0e4390ecf893b769e2bbdb7f88a3e877e653f3555f13b8d8354bd14dc803ea7255a3f450f913b6c8f20bdcc375e3ef1c7343f99d0953bfa4418bd5c0e373ee57d193fe58c633b7664e7bca03b0a3ea400ea3ebcadc03bcd83e4bcc458bf3d4061ae3e9fb2a03b3461b2bcf5ab583deba95d3e984fce3bd238a2bc25041c3ccb0acc3dfd26933ba6745abc23b695bc269eb8ba0c8d6ebd6fa706bb000000000000000093018abd125ec8b90000000000000000283633bdcb9a17bb000000000000000037aa1abd7e8245bb00000000000000000d94d0bc190523bb0000000000000000d781c0bccd83caba0000000000000000402e93bcc707d7b9000000000000000059708ebc4f1d633a0000000000000000015935bc1fb7923800000000000000000b286e3a8d3104396e5b7bba96322a3c1e88793aac3a023b57da0c3b6b0a5f3c2f1b2c3a535bd03a448c3a3bf8a5573caca9ea3ac03a9f3ab4f3353b5e5e403cee49b3398edb8d3a30b01c3bdbb3183c4b9e92391ad2373a2f06df3aa656ed3ba666293a144e323ade8c383a608d953b3d04abb96f0901bac3c271b80da6e13a46ccfc393d488cb9c579e9ba981b363a3627f1baf88e283a4763633b1592cdbbc24c97ba20fbda3a4428873b6aa366bb1644393894bf313a4a76603bf5b943bbd1d8953afe952e3a8db5453b669d25bbb7d8ba3a3011a53942ef2f3b727ff1ba966eb23a3ddb7eb91d491e3b2887a8badd9e7c3a238bb9b87a8c0b3b366231ba2ede83390b6e57395698813a364c933a8fb7ac3795fe85387cbc973ae09a3fbace23e6bc21e5babc75f84cbc7f33a9b915b023bd52da54bd5b077fbc2b39463bb5871bbd86995abdc4c544bce15b373b5bb409bd5ae33fbdd77d25bc89451d3b74f0d3bcc6d607bd1174febb2e85313b0526adbca038b9bc2a9601bc5e9e243b7cd46abc60ad0bbc75a0e9bb50d40b3b9eec03bc29a7c33bfe62e2bbd303fa3a009967bbe704873c24466cbb05accc39cc28ac3bf43107bdddc5fb3d99a2873ffe6fea3bfa7017bd2521e73d314e7e3f6099b13be84df7bc45e8ca3d9f98563fbde79c3beb09d3bc1de0a43df9cb2f3fafc5903bd1bba3bc0b1c703de6c6063f6976933bd2048dbcef2f0e3df563c43e8bffa03b4dcd55bcfc78233ca009753e4f17993b19d10bbcc83469bcb727d23d34c7953b5655d1bbb2e2dcbcc0614bbcc6dd54bd3ce498bb0000000000000000f7f366bd457156bb0000000000000000c15e0ebd9fae8fbb0000000000000000cb03cebcf9c98fbb0000000000000000f5958abcf6ec54bb0000000000000000737974bc34131abb0000000000000000d71a5fbcebb61eba00000000000000007d3f74bc46e2783a00000000000000004b0933bc982c2c38000000000000000000000000000000000000000000000000d9786e39778fb53a45eed4b9e5ad343ca4df663a5dd9073bfb1eff3ad153123c3df411ba02fce33a9d5afc3ae60f013cddaa523959d4a73a32939a3a4872c03b067ab839e8149d3aadee463a817c943b48865039dbf7963a449c09b8f4de133b40de36bacf2db33a79fba4ba305523390000000000000000000000000000000000000000000000000000000000000000968ad9ba25bb503b4d2f893be3f7813a4e499739f9341d3b8b46123bf99cf83aed529e3a4be06a3a4a751b3ba112ce3ac7f3b73ad34b1d3a12b2e13a72dc843adb9ec33aaae8a83a4814d73a5ee7aa3ab1e6a03accb83237d2d6963a5819d33a2902db39478b6d3906f4fc3a9639013b0000000000000000000000000000000000000000000000000000000000000000f00c07bd7c965ebd925d50bc5dd4083b5168e7bc0e0551bd672922bc4aa0243b406fc3bc3f192ebda8480abc1a94313bf6e49dbcb1ff05bd1c5af1bb762c3f3b92ee73bcc00db7bce5c8cfbb21ff253be66c28bcab5532bc4f51b8bb8a982e3b7b6bdabb9b23213be92fabbbd2750e3b000000000000000000000000000000000000000000000000000000000000803fc6f39e3b312d9cbcd13b3fbcecec873fe846853b6fab69bcf034c2bbbd01633fdb04723b7b6e3bbc3778c2bb800b393ffb63503b6a7913bced13e8bb9960103f4ecb553ba368d3bb3c685ebc03e5d03e3e6d463bfd7b55bb821da1bcf313833ee31b373b95b04dba08d3e4bc1a6dde3d000000000000000000000000000000000000000000000000000000000000000016eecabcee5dc3bb0000000000000000e07842bc5da898bb000000000000000002e2c1bb9c3f74bb0000000000000000567a6ebb922144bb0000000000000000eea542bbc29afdba00000000000000007e0c86bb02c5d9b90000000000000000446bdebb7c1b5539000000000000000000000000000000000000000000000000000000000000000000000000000000004109153b525cb2ba96d7203ca12fc9b80645143bd14840ba2c530a3cc110553adcbe6eba1ab3a4390dbeef3bb71f013ba6eeac3a7ba83cba202cc93b20d2173b75ddbd3a3f7dccba45c39e3b59cc293b41c6b03abcee12bb33ab5c3bac07a43abcd4393b907358bbf5371b3b1f98983b0000000000000000000000000000000000000000000000000000000000000000af3312bb768769b911de8ebaf146b8bc8d41cdbae4998fbadcf904baf27b99bc27ebeabafa2338ba8bb9afb60def75bc1a4cbdbaf25534baec4d59ba9ca145bca4ffbfba69cb40ba39a8a6b9a7dc1ebc17d507ba6d7a49ba432c8c394151eabb31c3b7bafc8f8037d5f8d6394552b5bb00000000000000000000000000000000000000000000000000000000000000005ce299bce2da80badfd445bbc3a17dbaa0ba9dbceb1099ba8938a2ba2f3cb6ba7bff70bc42767cba757aecba70a4aaba89d31bbcbaf29fbaa8a900bb819fcaba925a67bb84e589bab64f23bba63dc2ba27136c3b2abcd3b902846dbb776a88ba064a483cb1c61cba2b1391bbc0b163ba0000000000000000000000000000000000000000000000000000803f00000000805e09bcd7df47bce8d8763f1ec0803a4046f1bb41c423bc72b1513fbab6913bc5d4bfbb348e18bca46b2d3fc49bbf3bccbbbebb8adc36bc5cea083fb8d1be3b70fda4bb1bfc5ebce11dcb3e6ce9b93bcef97ebb7cb688bc90f1843eea6f5c3beaff35bb73a5bebcd171fc3d9c675f3b00000000000000000000000000000000000000000000000000000000000000003bb166bc4888233b000000000000000064b740bc97448e3a0000000000000000ee250ebc72c8323a00000000000000002afae1bb5a64e0b90000000000000000d5c8b8bb8e43c1b90000000000000000600fa3bbcbd5cab9000000000000000071baa2bbae8158ba0000000000000000000000000000000000000000000000008097c53a1696a0bbc9ea1a3cfb72313b14cbd43bacbf95bb59c2383c44e1f23a00523a3b96aa50bbb734393c6f4f733b8793393b0f6132bb68c6243c3aca9f3b1e805539f28363bb88520a3c5847c23b659b073b23ea71bb1d78d43b923fc13b2a25ff3a0d8d98bbd948903ba5f9bd3b8cb2353ba35fbbbb35f21a3bb25eb43b6656883ab584b9bbc5b0bc3ad367b33b2b3a1fbb365b51ba4544b8ba759acbbc9a6621bb756205bab4030b395a5effbc0c192bbb9fed57baf7b34bb90290d9bc06ddddbac1d161ba9bcb05bab378bbbc3cca10bb6715a0bac24df9ba5d0d8bbc913bc2bab3579ebae15b0d399b7880bc6bf496baf5f60eba7730033a833a4ebc75a168ba4f3c36bac74ed13abf1530bc64e4feb94bd38a39f40ba1395ad902bccca9cbbbe09fb23b5e0fcabb65819dba9e21a6bc59cd493b3243b2bb0d39b5ba2412a9bcaafff03a0dca74bbf623daba82008cbcbcf6bd3a72db51bb4aba6cbb3ac609bc31681f3bd09a87bb121f7cba656738bb4150063bc71782bbb6591ebb0bb8c33bcf3b3e3b37d898bb943702bb4475723c4bfa873b506cadbb0edd13bb64248e3c3858c03bd44ba5bbbe94c8ba295e01bcdbb5c6bceb60773fe0a6053e00f805bcb608f2bc9b0f613fa057f93d324c00bcd0b5c6bcfc5a3f3f20dfde3dfc5cf3bbfd1abcbc6a3c1e3fc10bc13d5381d0bb4daeaebcd013f83ed3439a3d97aba9bbb204d2bcdbb0b83eb4f1773d74824ebb54d8e4bcb897703e993f2f3d7e673eba381502bdff39e83dcfb2ce3ca9e04bbaea58ccbce3333f3a308df83b2d00b7bc6ab81e3b00000000000000008ed7cdbc1585333b0000000000000000c4fba3bcb6e78a3a00000000000000003fcf85bcf4d4b9ba0000000000000000884638bc0665b3ba000000000000000088993dbcb69bb6ba00000000000000001c071fbc3b458f39000000000000000033610abcddecd8ba00000000000000002227edbb8bc5d0ba000000000000000095bdb73a555ccfbbc88cf33b20eebf3bd399533b44e0d2bbf067293c55b2ed3b9b67ff3abc9a94bb732b1b3c566cf33bf841923a7c0ca2bb31221b3c3e72153c9d07713abbeea4bb78dce03bf60d023c8612d93a48c39fbb1729d33b098b1c3c2d23ae3a4004b7bb8baa813bb5d1023c1ae7223b1d11f3bb4132f73ae0ef0a3cd47ca13bf40569bb04e4073b9170f33b6a68fcba3b6695bab1ea3dba1c80bfbcffba40bbdfe2b3bad475823a58abfabc9e19faba492aa9ba758a2c39a80bc6bcf943ffba3cd1f7ba96c69c39db6ec0bcaa6f80ba4dbae8ba5e2781ba83a48cbc5e2b7bba262fc3ba8da107babe9687bc90a083baa241a2bafb5f8e39be6b5abc31934eba695b3dbab7dfbe3a200b5fbc10bb203913467fba925965bbd1f7d2bb89ec3ebb0e641a3cb936e5bbf2e50abb61b95cbcecdd013cec17fdbb922c19bb32126fbc6a20993b2696a7bbea7834bb1fbf5dbc28cda83b7df097bbda7b53bb2305c4bb2fefb73b18186bbbe90352bb69dd82ba7f33f43b744c8fbb186b52bb9571a13bb538033c358c92bb229a44bb1265563c08d22c3c938ebebb72fc47bba949703ce415323cf52e7dbb56694ebb58e8cdbbd43cefbc377c533f8223893e3025d5bbbf501cbd5c43413f48a47d3e3beeb7bb50aff7bc411a233f92d95c3ee64cbcbbc08b00bd7b25093f846f3d3e9712a1bb627ed2bcb26ed53e7369163eb93e8fbbde54fcbc93b3a03e4a04ef3d1c5dddba8203ebbcaba1503e41d2a33d5896633a0c3909bdd782cd3d0db3423d9e8f5fbbaa04aebcde525d3b6986493cb6c3d1bc712b0b3a0000000000000000925e02bde98c933a0000000000000000d913c1bceba0aeb900000000000000003cadb0bc5c10a4ba0000000000000000aa0977bc610213bb00000000000000005fcb77bc57fa29bb0000000000000000e1e241bc775a29bb000000000000000056c742bcb9161ebb00000000000000006dfa05bc90b44ebb0000000000000000326b633989efc1bb2a0bc83b76390b3c3def313bcb7ee7bb30bf013cfe1a2f3ccbf7643bcc9fc3bb6e540d3c728f3b3c81c8a83aa3ded4bbf9b9ef3b39b4383cba0f803a1f94b9bb54e2c63b3c36353c960ce73a76b4cfbb61ac923b7739323c299bfb3a19d6e0bb641b423b2e1c263cd44d1c3beccaf5bba918573ac387213caa2e193a08c2d5bbbd5f7c3985f70c3c1a5b0dbb45edb8ba525b81b9c5d8b0bc71b642bbe9d5efba195c703a8b5ae8bc5a72e7ba3a85b2ba77b5303aab44cebc6a75e0bae382fbba059699b91ffebbbc955d40ba4e8301bbe4403eba914997bcf46f12ba78aff3ba9d74bf38fa3c8dbc65ddebb98fd7b0ba2ccc2f3a781577bc0f4478b8b27193ba0557433aa79469bc646eeeb7ed18b139b7ba86b9ea8130bc60fd29bbd280423caa6cefbb9e0f4abb02454abcbdff213c4d0808bc152258bb67e973bce95fe53bdbaac3bbc5b156bbf7ef60bc9d38d13b7bf9acbbc63e6dbb40e4f2bb064dff3bad6280bb372b78bb79a22abb95fd1f3cef798ebb3a0883bb57b47b3b5b624a3cb69f95bbab7076bbc64e1b3c8539813c7a449bbb14017dbbac84273c0afa793caa6171bb6c067abb767ca4bbda9cfabc36432f3fb60cd03e6da994bbf72824bd2a35203fa4babf3e32f28cbb779b13bd8ebf093fff4aa73e7a6547bbffff05bd7042e43e33238d3e6fcd74bb1c73f6bcf8a6b33ef9c2623efaa912bbc49d03bd746a853eb6102f3e218712bacfe301bdb5472e3e6d6ef23de7e8bc3a6d5a01bd5aa9aa3dbf558b3df1dc253a55c9babc05f2363b06a5863c87f2e2bc5d3342bb000000000000000093b00ebd84d27cba0000000000000000aed1f7bc320b5dbb00000000000000000f94c5bc7b9534bb0000000000000000364496bcc15c6ebb00000000000000003f5f88bc1ffc83bb000000000000000027dc68bc51547fbb0000000000000000df4e4bbcd1cb87bb0000000000000000ee4010bc552286bb000000000000000001de533a4751cfbbfe87663b05502a3c2ae2173b9ba1ddbbe317a43bca8d543ca944ba3a6facb6bbf09daf3b67c0493cce28cf3a033c86bbd964993b9f98663c7216243a90a2bdbb5c2a423b7723213ceaaa513a9bb5c5bbffba383b9804483cc1b4cb3a7482dbbb89adc73a4816273cc93edd3a4704ebbb271036ba4c18203c6a8c853a4978fcbb18ea05bb4503f73ba4b541ba0b7cdebae5e941b912b4a4bc6c4f24bbbeef29bb81fa9f3a971cc9bcec8422ba116e15bb2be0383a99e6a8bc2aefeeb8713a04bbf02ec539d1b5a4bca08498b8c3c5b1b9fb0a57b9fc254ebc4af420b9e8db0abb2e415039a03a81bca972663a92e6b3baa751e539db3c64bceeb9393a1039bbbab7db293acbc85cbc5c6c433b4b86a2baa5eb7bb8707726bc416ea7bbf56c4a3ca819ccbb3a0d4abb546b5bbcd8bc213cfbff04bcf1621ebbc44a70bcdd5bc83be85696bb0d8a87bb7c796cbcd693ec3bef288cbb6e0b84bb6b9de4bb25a5f13b9f1444bbcc3f8bbbcec196bb1555473c4c1e88bbc4468fbb62ab8e3a81d76b3c15c14bbbe73d81bbfdc1a53bd55d9b3c884e6dbb67558fbb244fa23b56148e3cd93bfaba13d477bbf5166fbbacf0febc536f0b3f2e280c3f40ea85baabdc1ebd0253fd3edbd3ff3e0fdd34bb92ba06bdb548d83e8279dc3ef48123bb044109bdc68ab43e3a59bb3e7e55c6ba9e46b7bc357c8b3ed55e913e1fcf98ba3e03f7bca430533ebf27643e5c14023a8d39e2bcb0ee073ec5341b3ea389ce3a8bb1e6bc6b5b813d8737af3d9fcfb23a5f6da6bc383bb9ba09cc8b3c4437f0bc081129bb0000000000000000e44e10bde62ce9ba0000000000000000c59ee1bc02ba87bb0000000000000000f605c1bc71c899bb00000000000000008cc973bcc19aa9bb00000000000000003ccf87bcfa4facbb0000000000000000ad6c4cbcca16a1bb0000000000000000db1542bc8fcaa3bb0000000000000000987e03bc16fd99bb00000000000000002052b93a7727bdbb16fe763a85c3303c01b7313ba540bcbb103b3f3b5d0a723ccea51e3b1a11aabb7c31683bd48a6b3ccb3cf63a95a79cbb90ab603bfbbd683c52969c3a7753a5bbeb0d0d3b0338503ca795ed3a0999b3bba344f839b71d413c08893e3b1b1dc1bbac90f7b9498c313c7b711e3b31cbc5bbc7fb1abb65e8193cdff7a33a2d57b2bb3b9d10bbfeebfd3b490db0ba373ebcbadeea853a29b58bbc366e18bb06fe10bb1e022e3b28ceaabc92f898ba79ccf7bad3cb153bc3c099bc10de71b9cf5ce6ba5ad3fb3add1189bc8376133a388f12bbf45a403aa0276bbc5586273aea6412bbbd7dcd3a90d762bc38c405ba1e794ebb69b2ac3a1abc4fbcd57f823ac2a794ba2418de3a676a49bcd8499e3a98d5ebbacfc0263a434d17bc402a1ebc0b7c423c7436d8bb6cb068bb66ba93bcd7b3e13b6db601bcf5bd80bbb993a1bcf35c2f3b4ab1b6bb462e78bbdb038dbc6cee5e3b307194bbe0fb66bbb4f140bce96ae23be63952bbaa377cbb33bb0abc01a8363cc1a077bbabc626bbc1845fbb9f75853c9df33cbb3c0b59bbed201a3a9476af3c4d8952bb169f86bbfe2f213b7241a43cdff6b4ba519b8fbb5363dabae290efbcc3c0cf3e4d932f3fecd80bba27d01bbdb09ebc3e6343213f210477b9a7400dbdf4f4a13e59920b3fd9293138b39f01bd2504863e2e6ee93e30b7a7b91d6de2bcfaab513e3969b93e8432bf3a3224e6bc85f1183ed7058d3ebb852e3bae03d7bccfc2c03de4e83f3ed0de6e3be815cfbc939e263da6f6cf3dd69c063b4e3291bc034fadbb0974863c480101bd2f7d87bb0000000000000000f29113bd14079fbb00000000000000000e64e8bcb0c7b7bb00000000000000006ce1babc5d8ebebb000000000000000022bb88bc1af2bcbb000000000000000070ac5ebc1ebe9abb0000000000000000793262bc48dedfbb0000000000000000873b2fbc5a8da6bb000000000000000096bdd0bb80a2a4bb0000000000000000daeba83a268e90bb307f88b9b855463c48ed5b3bc56d8bbb42481b3a2bac793cc22ced3a36025bbba08ade3a31195e3cf23e0f3be0aa81bb4a3ef53aa9bf733c9c5e873af67369bb98e3ad39fdf7363c833ce83a71f98cbbd36b97ba37ce3b3c49018f3af8f189bb2a0ddabaa95d113c7431153b04e894bb8cad83bb947d013ca71eb53a36c688bbf1c484bb2a4ac73b3d85aeb91d1fb3bb38ede63a77f25dbcd20115bb3a8482baa23c893b5aaa86bc46e6edb91487b8ba01653e3bda0a57bcf86b4e3ad07a30bbd2662e3bbff26dbc88b9823af32fd1ba6167933a10b628bc4958983a20fbe0ba9be20d3b79fd34bc2bc6b53a0f00b2baf202d53a324f17bcb9f78a3aec07b2bab8af0f3b097123bca135bd3a3ecab3ba90838a3a652c05bce71467bc7896e53bec7490bb74e0ffbb3714c3bce45680b5de82fdbb75f236bb78fca9bc0e7546bb331aa4bbfc4833bbc8cab3bcf66c4cbb3a656ebb655c83bbf21058bca15f413b5cb22bbb66002ebbe85638bc70470b3c357852bba97b4bbb1223c9bbc1bb533c05472dbbff693abb3a0566bbcc77b13ccb8754bbbd9a4cbbfb8ba6ba41fda83c4ed68fba5d0661bbfb21b4397d1dd7bc2e58883e0f34533f16ad173ba8820cbdfdea763e4cf5413f4ca3c33a9a30e1bc5464523e1346243f40cee93a905fdfbc5ad62d3e681a0b3fd49ba53a6abbacbca8cd053e706dd93e76a63b3ba694bfbc6616be3d0cf4a53e3126483bc4e7a2bc744b633d71f35b3e4782a23bf4ada6bc25e88e3c0abde93d3fc3593b007c69bccfc833bc1792573c81a2d6bcf13519bc00000000000000006aee08bd6e97c2bb00000000000000002cefb2bc5ae5cabb0000000000000000b0ad97bc1758f3bb0000000000000000e16241bc2423c0bb000000000000000093ff3ebccf65cdbb00000000000000006bf911bc25419abb0000000000000000a2b20fbca8a49fbb00000000000000008b15b5bb98d89cbb0000000000000000fb42233b421520bb771814bb06e73c3c798b4d3b5ec11cbb18851ab9df98693cecb3083b82c7efba2cf1b039e6665c3ccada1b3b5a7be3ba722e4e393e5b4d3c8cccca3ad97b10bb1035a5bad34a333c7103e83a70aef3bafb61cbba3e21153cd27bb83a79dc1dbb34a84ebbe452e73bcc18e83ac98323bbf4fda7bb493aaa3b5754dc3a5c303dbb97cdb1bba17b743b979ee2ba05aea8b922305a3b3abd1cbcfe9108bba4dec2b957af8f3b38170cbc622d23b9f4ef34babf86683bc2500bbc47a6483af22d69ba3acb533b0359f9bbbb19da3af9a96bbabbe5ef3a63cfe4bb2c0ccd3a71b483ba96e12d3b773acdbba0cbcd3a7d1452bac74e2e3bb1efc0bb8d347a397b994c394f11123b1637bfbb5993c23ac3c26fba4940e13ad7efb9bbd64eaabc9cf385ba2fa1a5bb3a4a36bb7659ebbc01764bbc21c6e7bb9ee607bb17c6d4bc7e396ebcc52da5bb8665e7ba4f1db5bc279336bca6a380bbc957bcbab19087bc377467bba64c1cbb0160a9bae47552bc65c6f13aa4ec45bb9b67cdbad33f17bc795c273c77a43dbbac47b3ba1fadbdbb2f789c3c88a06bbba79a05bb5acb73bb9866aa3c46cdcab9491009bbc699153b8353b7bc47d5033e5d31773fe689723bbb83d3bcdc67ec3d4710613f80b13f3b165ebcbc87c4c83d8c23403fcf77493bc7e0a5bc1917a23dde341f3f6d6f1b3beeb98abc504a753d3c2dfa3e7b606d3b84bd82bc1236193d8257bb3e67cd8c3b385964bcb9d67d3c6c74763e5ec4b83b87dc4dbc852ec7bb6dc9f73d1d1f923beef222bc5f9c94bccefdd63b663ec0bc3bbee3bb00000000000000004129c7bc0888fcbb00000000000000007a9c76bccd8bf6bb000000000000000023b125bc2e32e0bb0000000000000000e377bfbbf8a9cbbb0000000000000000c7edafbbb080acbb000000000000000075e49dbbc54490bb0000000000000000de32bcbbf7db7ebb0000000000000000744759bb79387bbb000000000000000000000000000000000000000000000000ba5e0b3be7aef139e5998dba70793b3cbc540b3b0cd345395da9e3b9c6dc1d3cdf2ece3aba1b213646a820b851c4003c9d54c43a3da473b9f95616ba9951d63b69c3a33a48dd6fb9ebb5b5ba81f29b3bf77ad03a597696ba09ef0ebb49d06e3b2c81ae3a40745abaa8a595bbed62063b00000000000000000000000000000000000000000000000000000000000000006557933a07913839f7e1733b236066bb219a2e3aa42c0f398bfd593bb4f622bb23a6973af45081b9711d273b784319bb5efbc63ac91fe338ca7e073b69c016bb0858223b0d59503ae340f63a191e19bb0b9bc33aa9e945b912b3073be9da17bb2cded93a3a3ce6b9d874093b615021bb000000000000000000000000000000000000000000000000000000000000000049ddccbc13c094bc2a318abb486cb9baec38aebcfdc592bc043a4cbbb812d8b9272f89bca37571bc5a9430bbbb5c0db9bb2450bcd9db12bcb90b11bb95edcf38e4bd26bcc4715bbb551916bb00a69fba7a57c9bbe3ea743b4aa8f9babb0ef23816c9abbb279c443c063189ba575291b9000000000000000000000000000000000000000000000000000000000000803f3883653b272274bc5b9d81bbbe1c773f327c573b787a44bcfb238cbbf10a523fde58453bf17f27bc8eeb9bbbda622d3f79f82e3bcf9c0abc978ce6bb6f18093fd6843f3b05a5f7bb111f3abc7033cb3e6d24633b46add6bbb93072bc7e12853e9a4d923b526aaebba45fa9bcc602013e0000000000000000000000000000000000000000000000000000000000000000431c10bca9ac02bc0000000000000000885751bb168fc2bb00000000000000004d4439ba0e68a7bb0000000000000000cf271e3a572e8dbb00000000000000001844543ae4308ebb00000000000000005657c13914e224bb0000000000000000b75384b9f83d1cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000f6e1abbc8931bbb8e1d453bd2fb303be5b1cfba5028a8baf63fd63ad38eea3ab19b06ba7579653a34b6cf3828158e3b2163b639e11fcaba15aaaf3a9d10ee3a5cf1dbbac4bec4ba6c89b23a48ef003b94b34fba6ff4b2ba3638983ab6c5fd3a50b443ba83d3a0ba11d0c83acb32343b000000000000000000000000000000000000000000000000000000000000000076d299ba071a13bb439e43bbbfb020bb3ed4433a63acc43957701abbe24f4cbb69ea603a6c4eb7ba17ebdfba370d1bbb2c53cf3745033cbad62811bbd04917bb817fde380e8a60baa73a04bb46aa0cbbf9498b396f4933ba41edc7ba5525c3ba6ff78039d3c668bab728beba6b0f9bba0000000000000000000000000000000000000000000000000000000000000000191ecd3a0d02213b5ce8e8ba2935b4b915e7263a0895fa3a064097b9c19d18bb0a758cba0be10b3bbd47cdba921ed5ba25cd583a9e04d03a73eafeb9a09283ba756ac13a0431d63ac90607bacc685f3a5872053bd191ee3a8509d6b975697dba14b9573b00a0263b5957c9b97626abba0000000000000000000000000000000000000000000000000000803f00000000421080bb5f3038b9aff9623f8d41373a132034bb679d82bae61e423fe114f73a7ddf13bb5eb937bbd462223f029b113b115530bbb205c7ba6159013f0bc5e03a296a22bb7254e5bada25c23ed02cdb3a5fd00cbbae54e8ba1087813e5e81c33a9c4307bbf9ba02bb8973033e9acb003b000000000000000000000000000000000000000000000000000000000000000050c231bb28ea55b900000000000000009ff71bbba0bf07bb0000000000000000b7cd05bbe321b0ba00000000000000002b9a98ba49ec72ba0000000000000000f41c91ba21af84ba0000000000000000da5988baa93491ba00000000000000004584a9ba0f50bdba000000000000000000000000000000000000000000000000ce4eedba9f5541bba734733bd1ff063b615208bbba2d30bb0ba8513bb688823bb601e9ba619c15bbedef2c3b49ce6e3b245af8bae9ea82bb3203353b50bc663bc8acf0bab66c0bbb9e14123b3e076a3bf3e329bbd50ad1babc72c53a47205d3ba97500bbc29f25bb9692d73a2810703b381dcfbafd5f7fbb6d99083bf93b913bed26dfbadb4a57bb316ac239e6858f3bef0d9e3a92caebba79b559bbda8e93bb76faf937c4eb9cba847063bba424a2bbd1b0583998b393bad4f23dbba3ec86bb610af3397077a2ba334996bbf6da66bbaefedd3931c9b7ba69382fbb87a352bb0e240a3a938ed0bac89f18bbf63a8abb1e7c583ac094a4ba2b632bbb5b7341bb3d85c13aa80f22b9fa9803396d12c3bb93e3b2376208d03904aa96bad04744bb6d0eb83a52cd893b19a204bb387d2ebbb82f1e3b7f8c653bcd35aeba5819e4ba71d7bb3a3d8f573bd0af62ba7358d2ba8a41c93ab3d1553bb827b9b9e983eebabcfdda3ad9b4603b6e39b5b9c624f6bab2120c3b4fcb633b5abb01ba729e11bb51d33f3bcba3793b2a7498b96b75faba7d278b3b40229c3b695e5fbbd2cd82ba5072973b2e809a3b80de4eba0aae0cbb0f5b80bbc1c553bbf71f633f4f61033e154187bb92192fbbcb7e473fb999e63d9d475bbbbcd01ebb6cdf2a3f4d1dc73d05e150bb88c316bb95700e3fefc8a73dcac95bbb482b28bb82cde33ee9b8873dc4eb29bb60a467bbc12cab3e15a84e3da94d49bbf23f4ebbfddd643e19900e3de8f50abb488c9bbb0c7ce93d07a9a33c52c95fbbf2557cbbae378b3bc8c4163b7a34c0ba0bf926bb00000000000000003f0440bb7b43c4ba0000000000000000388f1fbb77f2d1ba00000000000000002c32efbae443e8ba000000000000000076d8e5bafd1efdba0000000000000000291bf8bae12c1bbb000000000000000078ecd1ba53b010bb0000000000000000e6a440bbe8cd9dba000000000000000021f004bb35fb1ebb0000000000000000c57a1bbbdf512cbb4fc9083bb7cc743bdff31bbb1a0421bb830c143b95d4983b96ae87ba1b9667bb784ed53af426863b93f41dbb54e94cbba00d1f3b0535a23b3d8df7ba23ed32bb1977df3a3a10823beeadecbaeeeb40bb1b01df3a0c1c9a3be48991ba451352bb1fe3d239662e993b0b7232bbad305abb4e40bf3a6c24a93b8dd4e1ba756c30bb59bc603a32186f3bfa10083aa74692ba2dd33dbbc3346dbb7d25e1395bee20baeb8747bb368e7fbb47101e3abdc2313a2ce309bbb362a0bbf7157e3a0429c7ba0d5d61bb7f3990bb97c5843a5e3f94ba9f1b44bb86a65ebb547ca83ad968aaba85b82abb88a07cbb546ccf3a4da698ba58913abb82c76ebb122d123b9576f7ba467156bbce9a60bbfe9ba53a2cba74ba154f1cbba90530bbb1d81a3b3233833b361144ba4ab0e4bac069083b1547963b22e076ba2dda20bbe2eab63a36557b3be7bd0dba93710ebb1bbff73a621a9c3bc56d82b999cf1fbbb6ceee3a9a62843b33e38238643f10bbd750263b8150a43b7d6ca4381c0121bbd12bd83a5148a63bf5dbcf39715919bb7cf9743bdf5dca3b28c647baa3453fbb60883e3bd1da903b6080cc3957bd02bb06dd5cbb3d1a40bb5166423ff3ed813e5cbb69bb199295bb08052b3f0d62653e7cc01dbb72736fbb1e85123feb79453ef10c81bbe04066bb6ffcf43ef81d263ee4065bbb122047bbcb7bc33ed8f3043e943674bb49a271bb2e4d933ef8b8ca3d907960bb37bc85bb9391453e15498a3d870b64bbda777cbb1cbdc93d9f65183da65729bb6fe34abb1def4e3b4c3c843b2c252cbbcebdefba0000000000000000a3d858bbf7d722bb00000000000000000b5423bbde8614bb0000000000000000087426bba67432bb0000000000000000ef98e5bad37d25bb0000000000000000ac6901bb2ab13fbb000000000000000015c5c3baf36439bb0000000000000000236f28bbb21257bb0000000000000000df7098badb5124bb0000000000000000ccc044bbb7d7f4ba4ff2283b2b9ac43b296f14bbe64279bba6f4e33a4f48aa3ba55d1bbbddf25fbb9ddd063bfc34b63b9f3a00bbe91665bbba3f033b15a2b73b787a09bb96b63cbbbd1c38b9b8f3a83b54e61fbbc9675dbb8688bc3a3478af3bb76408bbb3735bbb4c7e963a1b2da63bed71e9ba9a3e50bbf7a454b97311b23bb75606bbc92e5dbb58f73ab997faa53b5b3f083a9aa1baba243b84bb4447a3bb74c9663a5751f8ba7b9782bbffc1b2bb35a5a53a9178d3bad6cc66bb0cb59ebb5dbd903adf8c00bb94c25fbbd7609dbb2413d83a3244ceba1ef547bb438260bba2c2ea3a3ea3c3bab71a4ebb5c8687bbd940033b023addba32ff37bb90b37bbbb941083b039ba1ba6d122dbbc88bb4bbedb0103b48184ebaea7c33bb46ded9ba03b8493bc84c8f3bb74950ba17601dbbaee96f3b82a0b23b086b54bafb1441bb470fc33a9a32b43bbd3f55b93cc32abbdc9fce3a1902b83b43b8fdb92b855abb36165db808a9b33b9511093a4b4b24bb54a3113b0246c13bd824c3395bff36bbfe7e273b89a1c53b58d8c13904b027bb8992153b8e06e03b4b9c543a620d32bb267e6b3bf832ca3b7cc2933ad01b85bbb0c491bb52c91dbbcf57223fc2a9c23e5a78d1bb257b94bb35140f3f59bcab3e29fa83bb538482bb79c9f43e35e8933ee0fd7fbb1fde8bbbe97dcc3ea6eb773eec4a53bb41845bbb5da1a33eb415473e78b273bb044d83bb83ff753e4f05173ed6e256bb07ad88bbe3e2243ef715cd3d99ea3fbb9023c2bb9308a93d72625b3d7c794cbb51bb85bbc877063b2c4abd3b9a0144bbc2c024bb000000000000000057b269bb43194ebb00000000000000007bbb31bbda843dbb000000000000000088b649bb3a5f04bb00000000000000007a7be8baf4544ebb000000000000000046aafcba358e5ebb0000000000000000ec8bf7ba3f9a72bb00000000000000004c9dc5ba0f3074bb0000000000000000183b6bba3c9244bb0000000000000000f7bcdebad7ea3cbbc29cb23a64639f3b5ebf12bb87dc67bb03e8d13a4e7dc13bfbbdf1ba43a14ebb2d52a23a13b9a13b969220bbf36967bb4af0b23a75b6be3b9f11f8ba2a6720bb8955953a2580963b9f4222bb5f6d65bb251e773a39dcb13b3715eebad9f547bba257cb39589b8f3ba6f90abb6af463bb66f1c0393fbda43b1bf505bbc8542ebbc6e5953968958a3b16acab3a85644fbb538133bbe86f7bbb27b1c03a2010e9bac8546abb246e9dbbfb60bc3a0390b5bae160d5ba262f86bb199be13adda7d9bab0fb66bb8a8094bb72a6db3aebc890baf7ff0fbb6d1642bb1e87073b2fa9d6ba344750bb78c385bb3925fd3a4f58c4ba43ca20bba7d458bb011d0e3bf2abc3ba510e33bbf1f578bbbb85003b61b834bbc92703bbd0f13bbb8638db3a1d60ae3b820cf5b753d507bb44f6bd3a8da9c83bd65064b9ced231bb8e067b3a07a0a23b26bc0739f87a1abbc35d8a3ab645c13b89b8eb39fb2839bb46daa23a3599a33bc4093e3a57b900bbb302d43a2b71d33bf657723a1afb3cbb3bf7c93ae16fb83b7d775e3ade3b2ebbcadc023b930de13b157d923a64c92dbb595cfc3a0252c13b9f75903af86d0dbbad0b58bb98b962bb78c4013fd2e5013f97f183bbbb438abbf745e43e30c0e43ed58274bbab9964bbb365c33e7c10c43e32ed7dbb3a6d86bbfaa5a33e87aaa43ed7d397bbcc8f3cbb0670823e8e69833e663f68bbc41f88bb7712453e702d483e1ebe39bb063965bbf17a033e7e51063ef1df4fbb232287bbc3d9863d730b8e3dd0f925bbed094dbb9e332c3b4d10b83bb7d62bbbfa3925bb0000000000000000a36649bb68b84cbb00000000000000009b4313bbc83b39bb000000000000000026b110bbbf7d67bb0000000000000000b8eb93bac11e96bb00000000000000006d0bd1ba87ca6ebb0000000000000000bd3ca1bab96960bb000000000000000044b4a6ba1c1478bb0000000000000000829c70bad9414dbb0000000000000000743c67bb89eb3fbbd045863a8b1cb43bd37df5baf3e16bbbecb78c3a52ddce3b4695bfbaefac50bb6740063a0b1bb93b786fe9ba8e7d5dbbbc70163af494ba3b4362d6ba7a0748bb93801d3af07bec3b9b482bbb3e8a21bbfefec8b9c6abaa3ba482cbbafb6a55bbbecad6b84440a43b9d85f8ba1ec963bb20920dba3f21973b9b42bdba9c043bbb54cbf4b9f3de673b409d9639cd980abb086230bbb8e06dbb5c4fa53adbc529bab3a352bbf2cc98bbaefade3ac54ecbba5ece37bb5b698ebbe2f0043baf5cc9baf3eb3dbb4b5b8fbb27110e3ad94e34ba51ac54bbf5fa6bbb7b2f123b99fab7ba719a0bbb15913fbb637e1d3b97e6b7ba0d0c20bbb0a277bbe07f853baa5ff538c2c10dbb595c81bb99a23f3b0f5c14bb0555fbbac4f74fbbb78a9f3a857cc43b751d913aa75b36bb64a8323a3b75cf3b2aa899b9ed6a1abb1a352138b751b13bde89a4397c5234bbe0900c393d37b63bb5042e3a2cdf32bb458a243aefceba3b028c61badae1e8baba038c391832ce3b936b8a3ac3d233bb9a7c863a641cd83b093aa13aaa282abb878d6d3ac6c40e3c144f883a375340bb0048543ace6bf03be2ce0e3b175d54bb29e240bb476355bbd8edc23e287b223fba8270bbddba8dbb1882ab3ed5010f3ff51051bb30c587bbcafa923e9085f53eef5d58bbfe1589bbfd76753ed944cd3e4a5150bb604c61bb0b63443e6367a43e15a90dbb5f2fa2bb457a133e28f0783e9d8854bbc78283bb0fa9c53dd3b4273e1a7838bbb5e991bbfee3473d653ab23d6f0211bb09e25bbb49a1b43ae852d53b9c9265bbbcca52bb000000000000000079d186bbb6c230bb0000000000000000ee0f16bb521363bb000000000000000034cefebab82d65bb00000000000000006fc441bbded830bb0000000000000000a679b4ba7f4d73bb0000000000000000272e90ba97d473bb0000000000000000bd47afba97f588bb0000000000000000f12f9839c1e885bb00000000000000008cf4b5ba7cd919bb0d4f3039ce3f8e3bbb21e2b957a750bb605718ba6a2ecf3b1886faba0a8925bb539c9a394408aa3beed0c9bad06e35bb5c84e3b77d8da83bee4b2eba2a5b23bba96fafb9b4e9853bac92e2ba994243bb694ec5b9f636a13bf923c9bab09f24bba05748bae778833b331686399a5b47bb1f858cba96bc843b0d508cba445714bbb6d845ba4a8a5f3b8f9fa03a9d869bbadac0f0ba5a0547bb1061093bc4a8a6ba916f04bb056c93bb22a2283b9dede9ba639017bbe38562bb1bb20a3bff9a9dbaaf6414bb404974bb5bce073b362f56ba306812bb900f42bbcf64373bfbee04bb98c409bb111b72bb4b9d243b3daab8ba358de5ba521946bbf83a1d3bfd3afeba3e7ee3ba050863bb95070b3bd06451ba58d9bcba13e52abb24b204b963de913b135f2c39f09809bb6061d1ba02bbbe3bdf6e233aa5e523bb16111ebad4e7983bdd85ce3aa08f33bb640b66bab4bb9c3be18fdd399a4848bb8d04e4b980e88c3b355d893ad00604bba7eb29b9f82ebc3b2293b13a234736bba99f46b9f24eb63b48848a3aef9c28bb22e80bb8fb93d23b23e8a23a6fefddbaa7708a3920aab53ba05bbd3a1dd1fabaa44d18bbd53d40bb5db0813e9575423fe30a38bbdfe795bbd345633edc562b3ff29334bbadf253bbfcc5433ed2d3123f58bd2abb9f0f6bbb1e7f233ef97cf53ef63d19bbae644cbb3b5c023ea524c43eccc324bb102773bbf598c43dbc6c943eab0b04bb83de59bb077d823d855a473ec9220dbb9a697abb90d6023d6376cd3d2543daba77e139bbf718273aa632a73bb30815bbf8482bbb0000000000000000241b14bb6f315cbb0000000000000000698c1cbb54ae5ebb0000000000000000fcc2a7ba64e75cbb0000000000000000f9cf48bafcaa42bb00000000000000005e7332ba004a5cbb0000000000000000b69b82baf56875bb000000000000000041b28cba23e941bb000000000000000028c86fb980c840bb0000000000000000b2728cb909060bbbaf548cba1c4ea83b45fba9ba35fe89ba6e82c9bae5a5b03b50dd39bab2b204bbd0658cb9683d8d3b47175ab9d5648abb479d16ba11d3833bba8db1ba71be03bbca502eba698e753b944b5bba69c006bbdc3850bab27b6c3bef333cba02e510bb3806b0ba3f01493bd5996bba41e615bb0f32c5ba49c6533ba8963dbaf39447bbf04288b9e9cfde3adbec253ba7fec538a4c9f8ba690d46bb1288163b0ede0bbbfd257cb8efc089bbf0bae13a81c058ba9749b8ba13eb43bbbde6dc3a1737cd39e3d0b83994a645bb23d2083b688560ba4f50afba949024bbff04103b142e13ba02a997ba66431fbb0b700e3b10a073ba15f836ba4c092cbba400383bdda45eba6e2047ba6d2a31bbf550463b996b0b3945ce02bb0336a9bafd9208bb6940973ba13fc73a9b7832bb24b095ba7802873bf690873a3038a7bb4dd2ffba77343c3b66b3313a4b82eebaca3efdba1f53493be6b40b3a460c66ba15e8b0ba6163623bb2059d3a858f00bb750780ba6f4b803b1b55ae3ae0c8dbbac68c75bacc93983b5d79bb3a3a2bfabaf77682baaa2bbf3b95060a3b0f2210bbe1cd003a7a86ca3bfe5c3c3a01eafcb992b3edba78f555bb00fd003ea21a633fa05a35bbdce6cfbb719de53d5309483fd9a20bbb5ce44cbb05aac33dedff2a3fb921dcb8a37b5bbbb408a33d70ab0e3f213cd5baed2f3dbb8979823d274ae43e48d4d2ba83e935bb415c423d1ec2ab3e2a9c9dba0e1246bb32f4fd3c0433663eaa74a4baf0ce59bb079b6f3cac43ec3dcb0377b9dc3167bb5de8e439135bb03bef3623bb28cf64bb0000000000000000671854bab5b283bb0000000000000000081a63ba795f2cbb0000000000000000fee46dba85ef0bbb000000000000000050cd08b73e1140bb0000000000000000629d44388d2626bb0000000000000000e0cb9c37f66344bb000000000000000005092a3888cb68bb00000000000000007fa855ba9e1b6abb000000000000000000000000000000000000000000000000bacb1aba8035b7bae14f50bab5cd4b3bd716b1b933fb80ba702f11ba3f0e193b054ac7ba1bda73ba78031aba18751a3b09a4773adf418aba92b246ba9125023bcdb30cb903e8e8ba5dc9edbad9de263b8c33cd3803a759ba6fba55b9ec1d013bb27ddeb9e6c648bad2121cbb8dda583a0000000000000000000000000000000000000000000000000000000000000000bcc2c13abae9f9ba06e230ba6f7105bb3666a23aafb8d9b9cb4cceb9281adcba554bba3a7d3500bac46aedb98b29dbba94b7ab3ac7383aba4c4102babf4bccba122867b87885fbbad6818a3ade680dbbd963a03a3cc403b92e2228ba0c861bbb565e1e3b649dc8393d0e8339faf0b9b9000000000000000000000000000000000000000000000000000000000000000013d226bb52bfd33afd87513ae1dd3cbba7bd06bb354e793ab5d9163a5da383bae6efeeba52e7943a0d30223a815fa3ba916ccdba2daeb93a9a58253af2d6c0ba3cf207bad958933bc9ed9d3adac035ba6d408eb9a8a2443ba817aa3ac25664baab74e4ba5e618c3b3b831c3a120cbcb9000000000000000000000000000000000000000000000000000000000000803f6fee8cba43770bbbabfde1397bba623f227670ba1e68eebadb1a8c391810423f700e4abab249e8ba85ff9b3881da213f263533ba0fffe5ba258a60b92366013f11c2a8ba3d2922bb5f8a74390d99c23eeab2bdbab9a454ba936f95b94ccd813efc718eb90fc989ba9bde2bbbaf24023e000000000000000000000000000000000000000000000000000000000000000060395538548e7bbb0000000000000000b5123239684ceeba0000000000000000f8187a395b2515b600000000000000002c69a939e4133eb90000000000000000aa2ba6bae7e6d6ba00000000000000002475103ab979f9ba00000000000000006d79973a327bb4ba000000000000000000000000000000000000000000000000000000000000000000000000000000008cf486bbda64393cc69d923ce4000a3b826893ba6db3283c76777d3ca9ef373b11ee063ad923093c972f443c41a52b3bd59d8e3a3dea833b052e083c5441033b5893573a7bcc973b2700a73ba61c583bf1db77ba084b943b4f8e163bc906673ba4b592ba23d3593b4fa1a3ba9111843b00000000000000000000000000000000000000000000000000000000000000001e29753b69d207bb59f0f73b02c0e4bca693503b476972ba6bc0a63bc84ae7bce88f6b3bad7330ba8059683bc4bdf1bcb902503bec4de7b7a159583b9a83bfbc38f4353b982beab90c5ae73a345a8fbca8d6313b51aa6bba4872c83ad10620bcb469ac3adc3151bacb1193b9ff289cba0000000000000000000000000000000000000000000000000000000000000000d5a704be35fae2bc4d11f43bb5d5adb97f40f7bd5250f9bcd856b73b6ffe14ba7cd2cbbd916efbbccb8e293b16723abaec0ba2bd5e65ebbc69470e3b1c3343b9651c6bbde2d5d3bc11b0043b2c9599b9035e15bda965aebcb3b24c3bd847beb9b33e48bc8ff874bc28d1393b9c64d4390000000000000000000000000000000000000000000000000000803f0000000001a1e93b2aaa8abd7f4c9d3f94e231bdb6117a3bf7da29bd4184823fd7d48abc7bd2fd3aacb1edbc06ed523f1a75e3ba0879cc3a374ebdbcc2f0203f46986b3b36771c3b02fdbfbc65f3de3eebd02b3b94cd8d3b865cbbbc7e3d7e3e33eed3ba6f18ca3b48fad4bc57ca8e3df00925bc00000000000000000000000000000000000000000000000000000000000000007b27d8bb12f4003b0000000000000000b2e877bb177f163b00000000000000001b578cbb6a2a6a3a0000000000000000978437bb5c9714ba0000000000000000cf3631bac51505ba0000000000000000dcce7b3aa6a95cba000000000000000051e7a93b781a20bb0000000000000000000000000000000000000000000000005e6743bb4091903bf8c7543c5e7d56b8d201f6bb13a2583cc332ac3c2b7cd33be0074dbb10ae3c3c28ddac3c33b2f53bb12067ba9519283c9120833c9990ca3bacf29f3aa236d83b81d53e3c03a9cf3b422c0bba8560003cae1deb3bfe45d43b4131fcbad920ad3b0628963b72adca3b7b7570bbd027a13b62bf80ba2d11b13ba955deba150b7c39ca3e4cbb00e9da3af6aed63abc2490ba9016343ca3c9eebc74a0623bb64a14bbf6c3653c5499d2bc66c77a3b4b75a6ba365f3b3cfd640abd904a463be10392b9c932283c33240bbd89c54a3b4bc172b695caac3b6299e6bca6870e3bcfe89fb99c26a33b48ada3bc4be8183b1c3895b9983e533b85f61fbcd1e50a3ba6810fbb844fc5ba3dcb233ba635293ac3175bba56c41439c35e823b427298bde52c42bc6b0849bbf7f89a3a6dc80ebe4546ecbc5b9a9c3ad6b6e43a25fe0fbe587f1abdf351baba17028e3a0c91f5bd03ee1ebddc1111bb4182343b2ee1b7bd0c7715bd442639bb8a1ba33ab60b8bbdcda302bdd0f837bb8140f33a6b352ebd7705debc825200ba47fb593a888963bcdf8469bc671c303b2028c739e959433c1f299bbbd091103ac4c9a73a0671513c0cbef9bd58399d3f719caa3d29b1913c7e5005be1b7c963f6039a53de38a343cea6dc2bdd21d813f4059c03d7aa8d83b7adb94bd387a503f0ab8b93da2d7e73bff706fbde3c11b3fbbeea43d1a1ffa3baf1356bd26ebd53e1ae77a3d72b6253cf13f3cbd174f6b3e9e041e3d617f613c043210bd4ffb5a3da26c493c01eb433cdf1a0abd1c257cbdd3d106bc1cc000bda503dc3b00000000000000009cbde9bcdc0bba3b0000000000000000d6d2d6bc931b833b0000000000000000c91dbabce5391d3b000000000000000021858fbc0b5df63a0000000000000000675360bcd28c2f3a00000000000000006f0731bce000f93a00000000000000004962acbb5499443a00000000000000001882babb3388073b0000000000000000e6ef3ebac46b1c3bb319053c934c7e3bc19581bb184d0e3c5a10683c84d0bc3b996b18ba6399cf3b9fab613c7aefec3b089d233aebbde93b35aa483c408e143c1419e9395c66a93b3d820a3c8defd63baaaee5b97ab2893bd228b73bc80d013c65e0f5b9091bf03acaaf0d3bf123d03b39f246bb9da65e3bdf26d8ba1ccb9d3b54caecba082ee2b9779b13bbf02e2b3bbbb0aaba5291093aba283f3c1dfef8bcc2e4c03966323db824d06d3c44a806bd0fb02d3a1685e23953cf2a3c6d6f07bd322d043a217f683afa1e1f3cf740f8bc32ef9c3ac0ed3dbab0f7e03b4d7dc9bcf2d26f3a8720773acb79e33b57308fbc0ab928ba20f425b9b4c8933b4d5325bc01056439a8b044ba2583fd3aff2e38b90c2b8fb85406aeba3f3d4b3b0cf52a3aff5b40bd244792bbf43d66bc2b816e3b9cd1d2bd3fa3e0bcdc1542bc9dedae3bce53c3bd4a880ebdb96f54bc038c7b3b9c65ccbdcbc227bdbda93abc1e186b3b8dde94bddfc610bd8fd223bc2621953b37036ebd450f08bd6f3505bcdbe6293bd32e01bd503aa9bc22dbe7bba257713b347236bc387362bc53cf4ebb5fee413b7826fa3b20aab2baf3d58eba7cb62d3b15de503ccd36f8bdec27833f8cf2863e07db933c18f40dbe0ab2813fe8f1823e7095353cce5dc7bd90e2553f4bd3773ed231343c3109babd9742363f24b9593e13be253c4a0391bdb301073f4dcc2f3efdff373c601c87bdce7ebd3eac0b063ea13c413ce25259bd0f525a3e9317b13d0305783c4a8341bdd3a77a3d0c8c1c3d2d09563c10c611bd54ae18bd83606f3a951e61bd7e27073c00000000000000006d1b76bd100a163c00000000000000004a8a43bda44ff93b0000000000000000b3c62ebd5027b83b000000000000000019dafcbc7848563b00000000000000002d2af7bc7b818b3b00000000000000001cc3c2bc2b10553b0000000000000000404fa5bc8e03a93b0000000000000000a23481bc8837653b00000000000000000749c23a309555baa867ae3b33add13baf4d4dbadad49f3b0cba243c8350153c5a1c6737287ad13b70ba363c40b5333cd5398138f338b33b2a3b203c2810263c7e41823a31a8773b2459c63b94c71f3cc2650f3a6f77543becf6a13b8edc003c4b2e43ba04bc223b4990e93afdc7e23b1ef7ecba19bfc23aceadd2ba326c933b38cd4cba9f2edbb9394b13bbbbf63f3bac6f5dbbbebf463af735133c5d17ffbc610707bb3683083bb779463c50c900bd8c6e9fbafc77f73af0e8303c1022f2bc68199bba8ad9153bcdd1113c2f58d2bcea59e8babb3e2a3bda56133c609eb4bc4b3d1dbac43c983a9c8bcd3b3a4272bc6130ecb937a3e239aee9993b387800bcf394efb964651dbaa2405c3b9e3ca8ba0d2ee1ba991d753895dd543b5c950e391d8f03bd7617a3ba0d70bcbc0c80a83b4197a2bddf4ef4bc91d0bebcb07ef43ba912bbbdf85431bd6e1ea9bc7351b03b3f33adbdacac35bd2722a5bca0deab3b210989bdd71919bd833c93bc7d75a53b606650bd62cf03bd3a766ebcd751a03bba5302bd7037babc2f613cbc73019b3b2a4b3bbc35961dbcb1a6f3bb76219f3b87e5913bcc74453b7d1590bbd5af723b4d21273cb4fdd9bd12ab543fde4ae63e28ec883c7d3401be2529523f0f6ce23e59a44b3cd070d6bd05a6363f9fa2cd3ee9602e3c2a15b0bd764c143f6d67af3e8f471d3ccff699bd577ee23e104f8d3e71ac263c74ad82bdc2d49c3e8486503e498e403c001e68bdb5d7333ea441073ef90f713c65a942bda5ee693d39ac7c3d71d1263c07e814bd75bfbdbc499bdc3bc3c597bd762eee3b0000000000000000f5efaabd7d673c3c0000000000000000da468fbd88930a3c0000000000000000633e69bdd41cf03b0000000000000000ff1249bd7098703b0000000000000000a74b27bd5991af3b00000000000000002f2811bd70ef9d3b0000000000000000e23602bd8806f03b0000000000000000e168cbbc68779a3b00000000000000007f0b9a3a8c4e6bbaf8ef143b2434343cf0bb0eba5dd4a93b89c5ba3b6a7f3a3c508bc839d87e8d3b1a5fec3bf898583c1894af3a62a8983be70eeb3b1d4f5a3cd354043b49b5c53a40f4413b2abb1a3ccba5543a7a37413b3ae9423b8aad0f3ccbdd603af9337d3a2432493a4830b73b6a7d9cbaf8fd113a5b14d7398235543bcb3094b9789b19ba835b1dbbe336353b1c8fb1bb5877273b1fa30e3c319aecbc51ff5bbb1bd8273bad47353cfc13dbbc162a41bb42b51b3b3bc3e83b3e92bcbc59d415bb607e603bf9e9003cde57b3bc123325bb41cffa3aff7d903b40a58abcee9901bb1831123b5a01b53b80814cbc7e58aaba01b1c93a82f3873b6f96debb3fbc88baf4df25b70ed8853bc128e8bab51006bb3a4b813942b45f3b0d95e9b9b6d2ddbc59702dbbf59cf5bca4d7cb3bfa0880bdff6811bd25bafcbc6b160b3c9fad8ebde89945bd547be1bc5c5ec23b39d691bd05824ebdf7dbdbbc1255ba3bf5573bbdc765f9bced639fbc0db0883b85d839bd8deb07bd6932aabc120eb13b5e93d7bc04f091bc94836fbc654aa03b22b145bcb998b6bba04540bcea27bf3b868b34ba93bd0a3cc779d7bba4ce533bcace0e3c39dbbabd86ea233f38fc233f292e4f3cc5d4d6bdf3921e3f497a213f4a861d3c3d23abbd9075083fe9ff0d3fd7be1a3c86389cbd59f2e43e56f1f23e8e32913bf6c251bdb150a63ec5e8b33e2fea1a3cebd66abdf492733e5adc8c3e53c6f93b2bb83bbd6e810a3ed5362e3efe901a3c5f4b1dbd866e3a3d53f4a03d6bd10b3c5fc1f4bcbce7aabc2ffff93bc218babd6d39073c00000000000000008609d4bd1cef5f3c00000000000000005c44a0bddf28233c0000000000000000103d90bdae450b3c00000000000000006e0e36bdf433703b0000000000000000994f4fbdb526e33b0000000000000000c0b425bdd7e2dd3b00000000000000008cf518bde5a10b3c0000000000000000d0d9efbcf3b5c33b0000000000000000465e2c3a2098ee387e97c53a6324513c421ea6ba9675863b305eb43bbbe9833c752c84ba3781c13b8855063c0f7c893c67744bb9b9799f3b84dad73b2130843c370e81b8ec8f803bbb2e8f3bae7e453cbf03b9b9bff3713bc710793b14c9193c0aba85bacdc4583b00e74b3a99e8f83bdfad04bbdfd61b3b5df5a8b8d9fc373b5b5c89b9f4b621b8ec4f09bb755cf73a68ddd4bbfcb2283b80b8ac3b6c1d94bc217093bbaa26653bd70dd23b6fd476bce2dc2fbbbde25c3becd9c03b858569bc5f57ddba1d3d5b3b81aca73b2f2249bc5c48febae717333b24c4b33b2ade28bc4c2d3abadf4e373b8c516f3b5c99c6bb8b1f8eba896bc83a1b553f3bd7e02cbb062575baac5c9537dc54033b52798b3a486cd1ba2c7225399b3a173b60a6963a47cad3bc1b2727bcafe800bdd9d7dd3b18bd69bdb4385dbd192712bdd8222e3c2e228cbdabe68fbdb31c0dbdea41063cd1bf82bde5de85bda1cc00bd8282e03badc261bdefb752bd0fc5debcf069af3bc9b52fbd170d23bd1d50c6bcdfeebd3b182eebbc7467b2bcbc12a1bcf92fa93b576b5dbcb78d5abbfeee60bc467bd33b2fcea4ba261c4c3ca1790fbc19ac953b8477003ccc7396bd0cefe43ee34f553f66d44f3ce5ffaebd3d8ddc3e9956543f6285373ca84295bd9c64c23ec0783b3fe453103c13017cbd16f89f3e4e6f1a3fbb3e063c571f55bd2427773efee1f03eae62f93bfd7d3abdc0532a3eed3aad3e09a1013c9b2b14bddbc9ba3d1434543ece31043c3da4e8bc5822cc3c88a7b03d2d8acf3b24daacbcf2fbabbc531900baaf02dbbde1451a3c00000000000000007bbefabdf1a0733c00000000000000002852c8bd0d70463c0000000000000000ac6b9ebdcc6e1d3c000000000000000027e77bbd96b4e93b0000000000000000a93457bdb8ac003c0000000000000000a58241bd7125103c0000000000000000094430bdae372b3c0000000000000000e5ca08bd48c8f03b000000000000000004118dba9319e33a1767b338d596703c75a922bb70149c3b1a07ca3b21c19e3c668a7fbae3d07f3bc331bd3b7c06943c44eebfbaf7d7bc3b08eef53bd111873ce8d7b7ba368c813b1ace4b3b5829603c87178dba2297963baa21633b3a3e273c3bc7aeba4ba46c3bafc2943ac624ae3bbd29b6ba8b46d93ac5d8623a621cff3a425a8cbac6cddc39608f81b9ead581baad50a0bb64c0d83abf2a673b76cdebbbf2ea17bb73730a3ba6b74e3bd40633bb3352f2b9072c253b9365393b9ad395bb77d4b0b9e0b3343bc4e43d3b10457abb72d25ebaf5453f3b2330623b81e5f2ba7d86d9b9112c113ba4d8383b09b80abbdfb361394facc43a14d5cd3a5f2f26baf89bad39fa5ed1b9a56a9c3aaba1043ba0c0ffb9b25f40b9b3f1893ab2041b3b0200d7bc2a51fabcddb4febc087b133c326650bdfb5eabbd321617bd6bdf4e3ca9a761bde569a6bdc81805bde85ce53bb3726dbd93b4afbdc84a0ebdd6a2043cf35240bdb5457abddf8cedbc2ba8bc3bda7719bd164947bdd73bddbcad44d43b3b9dc7bcd403c3bcafd19cbc8c27983b1b984cbc025c91bb94d069bc9754c93b27dd98bacf4e4e3cc228f9bb40ac803b627b013cafdb5ebd9b08863ea96f833f9eba283c87a577bd824f7a3e50c5823fc13efe3bc20244bd648a623e76db583f1a9dee3b03de33bd547f3c3e67053b3f84a8a63b82200cbd85f50c3e98ac0c3f361ab23bc76ef3bc2957bd3d3e9ec93efeee883b5831b1bcf7e34d3d98fd6f3e66b97b3b86cb52bcde249c3b689ead3d748c413b55fe1bbc84bcc3bcdfb8a3bc0d01f8bdd294483c0000000000000000800f0abe35cf913c00000000000000005981b4bdf312113c0000000000000000ef74a1bd41a8193c00000000000000000ac569bd3213dc3b0000000000000000954456bd7789093c000000000000000098f323bdc1e0e83b0000000000000000748926bdd1fd3f3c0000000000000000bf4104bd01c0103c00000000000000004cb894ba3138bf3a31b30f3a37678d3c542f55bbac80e93ab4482f3c4f24c13c272f31bb59ac513b11f73b3cc815c13c0ab836bb1c20a93b0da3113c69b39d3ce53040ba9a868c3bc626dd3bec44603cd84914bb8cf8953b4113b73b8b953c3ca6bdcaba01e4e93aae5dca3bdbc9ba3bc1a2abba937f5f3a1ef7873b42cd4abadeb93dbaeeb36a3a58fd80ba643465b96dd109bbcb87393a10bb31ba19ab803ba04d853b4ebd18ba0a83bfba88ee1d3c4dae623b1e93b93a04d43cbaa422f03b1fba633b0af03c3bb564a039e0cb943b32c1423bceecc53af7c831b921830a3b01176b3bb0cbea3aaf44e9b8d457063bce27363b8f4d273aada88c3936c4f13a05d8983b4d53f0badec04ebafa5b2c3b5771a8ba1fad33ba533a33b9cd7a203bbbabe6bc935384bd18fae0bced7d0a3c37ea23bd7b9403be047ffebc2c61403cf5cf4ebd99b506be5a1214bdf3c2063c59fd48bdea00e5bd509612bd8304c63b3cf82bbd2245abbd74dc04bd6b28ac3bc74704bdd43285bd04e5efbcd9e2973b527fa7bc43081abdc492adbc898d9f3b50fce4bb73f12ebcfc1f31bced42793b5e6001bad0856c3cef99b3bbdb326c3b4c16df3b576001bdec06ab3d30219d3f8e1fe03bd689e6bc6b4f8f3daa00973fc158bd3b5193ddbc81a89a3d283b823f8668a13bd70eb0bc0ef2843d7c84523f6ba9623bfa4d8cbc85cd4e3d957a1e3f71cf383b4c7b2abc0153eb3c66f1db3ecb03003bb62ec3bb8babc73b6438793ee1b843ba8073463b43e73ebc5337893d76082d38c6d8283b5557f5bc89c04fbd4a77f9bd8f234c3c000000000000000002c7fcbdc2108c3c00000000000000007fa6aabd3f392e3c000000000000000022f76bbd2f27f13b0000000000000000dd3222bd0cebc23b0000000000000000ae5307bdb319d53b000000000000000011d6fbbc4c5ee43b000000000000000064fef0bc74da2a3c00000000000000002c79e6bc7c1f0b3c0000000000000000000000000000000000000000000000003e430fbb8896023bd32a043c97ee9d3c3668d0badf94403b55fc123c7d1a7b3c5d9db8ba7dd8753b87abda3bb16d363cb3b47fbaec2d923bc66e8f3bdff5033c8351eeb9b7553b3b0f41463b9f39ab3b1b1c66ba450c2c3b2be7653b8c30033b5c26bab9913dc2398e2b283bab0e03ba00000000000000000000000000000000000000000000000000000000000000005bbe813ba5be08ba4cc838bb1e0c513cae869c3ba68e913ad3221ebbfb1d1a3cdc8a573b435deb3a917e0bba5455bc3b1208653be480133bf1c00dba9777963bf96a143b63b6cd3a222710ba4606853b8543803bc026033ab2c64bba15de453b5eaf843b3a6b5fba5fea77baef90293b0000000000000000000000000000000000000000000000000000000000000000bed314bd935004bef26bc7bce5e1b13b51d014bd0ab9f7bda22bdbbc7c4d4f3be9e210bd5c7acbbdc60adcbc3d65fa3a7679f4bc908fa2bd9d8dc9bc5f9e223a4e4eb5bc8d8267bdbd9daebc70d8f23a4c574dbc5d0f17bd05ce8abc0923b03a71b99dbbf6f557bcb9ef26bc9ae3113b000000000000000000000000000000000000000000000000000000000000803f4325843b1250b5bb204753bdb82d9d3fc050393bb36679bb4f31f3bc41c4823f954e2e3b95f19cbbaac899bc1e90533f81c3dd3ae85a47bbd9c793bc4951213f5870003ad1fb25b845d5a0bc933fe03e08b0acbaf5d69c3bd64dbfbc3b937f3ec805e8bab22a283c244eedbcbfb58b3d0000000000000000000000000000000000000000000000000000000000000000c89c73bdead7bf3b00000000000000005be1f2bcf9299e3b0000000000000000027562bc2be7353b0000000000000000a2c5b7bb5b061c3b0000000000000000348385bba70ed03a00000000000000002fcbbebb3213533b0000000000000000004e26bc38073b3b000000000000000000000000000000000000000000000000000000000000000000000000000000005ea23dbb33542f3c6a32103c2df972bb1cfaa2bac8a2293ca9fef03b6c8f95bbb4516ebafa74e13b2d23963b8a3835ba2ef3613a6322723b0f2b3a3b804e9bba782d3738b1cbae3b0b59413aab79a6392461e8bab68abf3be13b63ba1525873a8518f4ba5aed993bd6afc8bad00dd03a000000000000000000000000000000000000000000000000000000000000000060c36d3b0a674039fbe2c53b621305bd73fe843b3d5d1ab9b3b3ad3bdbdf01bd2289823a20e8263a0885b23bebfcebbc5de2f93a50071e3abb8f5f3b6c54c4bc810c29b9a2cb123a7de17d3bcb8697bcb292013b464180b953a7223bb4b30ebc3afd223bfce713ba774d1d3a213664ba0000000000000000000000000000000000000000000000000000000000000000c97db6bda356b9bca680513b84f2debab86eafbd3115c3bc6b34803b7d3553ba8fa090bd0e4abbbc89f1123a7513ccb756fa63bd9deaadbcca5ddb3982148bba885f2cbd62a4a2bc4fb495b9cb9d1a3ab23cf1bc86cf9cbcb49fb93a44355639aee725bc423787bc882cfd3aa41254390000000000000000000000000000000000000000000000000000803f00000000630c583be9c24fbd832f943f8a2ee4bc677c123b0fe80bbd9861783f48740dbc04b2763abcddecbc01484a3f8305e8392515f43a2731e1bc8f501d3f3bfa4e3b8fb10dba9dc3f2bcb9f4e03e335a423bb69f343b2888f2bcc1ea873ec0dec8bac3fb843b7a500cbd4252c93d89e816bc000000000000000000000000000000000000000000000000000000000000000000feaebb35332f3b000000000000000013051abb7951663a00000000000000001e354abb1b07813a000000000000000006020bbba4e3223a0000000000000000616869ba7368feb60000000000000000f6f5073b614ea9b9000000000000000034d2243baed723ba000000000000000000000000000000000000000000000000bfd622bb5f3bc63b5fc48d3b9c99993a559bfbbb495e903c9debcc3ba8cf823be39383bbfe625b3cf9b2da3b3309a53bf232e7babd7e2a3c34d4a63b76589c3ba88b17bad9f7ed3b9c42f23ad507a63b91d036bb3cf2f73bc071dc381fdec53b125160bb3539033c3cfaf8ba509ad73b4729e7bb3a7b323c1ce9c4bb9fbc993bf65464bb6058473b7c6673bb962ea33be537fcbaba5aac3af5bc1c3cceb719bdd34a5c3ab69f4b3acfbe3a3caf940fbd36c145ba7f66c73abb6e273c7fbc1abd3bfda8bacf08e43ab5960f3c058710bdd60a41bb8697e33ad6ca013ce926f1bc8445afbac341973a149cef3ba36aa9bc5e9087baf9b5bc3adf707b3b9a2c31bc5f618b3aeec7a1ba4374ce3932ef9c3b8f4abbba07ebc8399b8df43ac069d13a1ba943bdb9e1bcbb8c3121bc20f75f3b13cccfbd4d819bbc296fccbba46d083b288fd2bdc5f6b8bc8e22f5bb4020f73a0f82b5bda7c7c1bc73a3fdbb33dc1d3b12ad8abdfceaa8bc8bf108bc7bc4293b152a5ebde25caebc4d43dfbbbf6d2c3be54612bde0358fbc2141bdbb9eb8dc3a0b1491bccf5f4dbc0dad01bb7c81463b68aba63bcd4947bb8f5362bbd3f1203bfcd3203c1ec3bfbd5b2d943ffe8cd03d24965d3c2432ccbd0dba8c3f9048cf3d22ca213c2457a2bdb021713f18a3d63d0e2bf53b326888bd6e51443f002fc83dcae6dd3b454f6fbd3bf0153fa241ab3d3a2a083c875269bd11f8d43ef446873da3dd1e3cb6d65abd9cc17b3e1cf32f3ddf543e3c80933cbd1b77a23d5a89983c5b452e3cdfe22fbd9f8506bde04dc4bafb2cf3bc1e26a03b000000000000000057d6e3bc01d0b23b000000000000000090decdbc6e57963b00000000000000001a4aacbc6b815f3b00000000000000004a958bbccdb9503b0000000000000000c11181bcfdc0133b00000000000000006b535ebceca34d3b000000000000000015c727bcf015f23a00000000000000004f3526bcdc87343b00000000000000008126f4ba896d813beecde6baf04c1d3c723fb2bb259a463c50cff839a704123c0b6db5bac3b0cf3bac09143a5b3b373c604b07bb5b9e133c41522ebaaa73353c8fa608bb200ab83bc52021bba6ae303c693237bb9b06f53b2f2391bb21a1393c110712bb5b48863bb66695bbf2591d3c2423b7bbae2c053c6144ebbbf84d0b3cc9fa80bb58ca873bc8c007bce75ddd3bdfc301bc675c513b83b9313ce4ee13bd1366ddbbe040653bac1d533c1c4c1ebdddfd11bc0524603b30d6283ca9f20fbd48ebfabb63ad773be8d71e3cabeb06bd670ee4bb45ae2e3b0e36123c8c18cfbc3250d7bb9fdc403b30e3e33beb0296bcc473c3bb6afe043ba172b43bd52e37bcb0599fbb1f86b13abef48d3a7fe6373a9dea91ba6c08803af9b23a3bb52e163bb4bb07bddc45183c5605b6bc97169f3b82519ebdfc27e3bbed42a9bc4f22bc3b95368dbdf1b030bc256c9cbc283d973b7722a0bd426386bc56629cbc564eb43be15469bdddb445bc9b3b8fbc21828c3baf5c4cbd482e4ebcd43f8cbc8b189e3bb30fe5bc2367a1bb608157bcfd6e923bc41083bc3cb30fbba1d24fbc8c41a73b31e896b94d8fc33b04a815bc223c743ba9a8503c1433cbbddbde783f292e8a3ee756803c34f3e8bdf2c0713f4d1d853e3b72293cd6afaabd3fb1463f8a5c783e916d4d3c2fb5acbd5c582b3f12995b3e5bea193c4b698dbd772e013f4ffa323e0d41453c7aee8cbd750fba3ed5480f3eec20263cfcae65bd5707603e02edc23d179b653c90765dbdc679a33dd2795b3d23b0423c57da2cbdc7c2aebc3a54763c730d4dbd6643083c0000000000000000b94e62bd600c2d3c0000000000000000fade36bdf1aee53b00000000000000005a8630bd3f12f63b0000000000000000959e0cbd1132b53b0000000000000000310908bd6330cf3b0000000000000000dc22e5bc37dd9f3b00000000000000001c52d1bc5e17ea3b00000000000000007afbc4bcd7048d3b00000000000000008baf573aca43663a5e03afbb36408e3cfbcb6dbb6e01273cac09a4bbf9a4823c1d6940bbed69083cfa335ebbd984873cadaf06bb0f25043c11e59abba8be8a3cf80efeba2356d03bcc48debbbeb3843c475f4fbb9586e03be869cebb9cb2783c01f56fbbb88bde3b0fc405bc1cd05c3c4b67c6bbc391cf3b372a13bc7375373c16704ebbd315423b68e7d4bbc0db153c45d964bc80eca63bc2400a3ca9100fbdd9765fbc888bbe3b693b3b3cd79212bdeeca4dbcadcd9a3b3f32373cdf6604bd800c45bcd00aa63bed1f133c953adfbce53a46bc0039983b6a151c3c9d97bdbc76b72fbcba7c803be9edd93b2de367bc55c918bc20e96c3b331ebd3bb851f3bbe50f03bc1b04243bf897963bbf168e39090ad4bb3740553a500da13b775a37bb0c93e5bc385ea23c0d7303bd5c2dc73b57ea80bd9e2d983ad83e0bbd0548153cb09993bd215c28bcf739fabc1141013c5be48abd572948bc8d23e5bca1bfcb3b282b6fbd023e0bbce7dcd9bc5c15db3b434d43bd9e21d7bb7ee7c2bc800ace3b58390abdab6802bb101daebc4c70cd3b5d1897bc44b7f13b070d9abc9a04ee3b982866bb1d90803c77a75cbc06edc03ba6d13a3c5a14bbbd3dac4a3f8076e23e39d9853cd5bddcbd500c443f6bfedc3e5ef65e3cc573bfbd10cc293f2eb0c73e6d0b453c6688a7bd1a7e0b3fa633ac3ea2824e3cccef97bd9f31d73e494b8e3ef95a413c8e8786bddd7c983e7d805a3e3a41403c010574bd142a363e2d92183e6b08603ce4dc50bd17db873d7628ab3d5474323c06b929bd45f66bbc4694d13c7aab8abd58360a3c0000000000000000fcd29cbdd3e0513c000000000000000055ff86bdd1b3353c000000000000000078c169bd9564233c000000000000000087884fbd79e00d3c00000000000000002e5f37bda673103c00000000000000004ced2fbd1e391d3c000000000000000095601dbdff3c173c00000000000000004744febcc5a2d33b0000000000000000ddff523aa38503b8b47d0cbc184dac3c96151cbbcb18f73b28920fbcffb1af3c9f21e4bac217ea3b4c6302bc2ed4b33cd31d9bbaa83dd93b8b6eebbb4690a83c0a62173a011ce63a514b05bc74ad8f3c61eee9bafa44d83becfe21bc7b8e8d3c794848bb6224af3b6a7d18bc7d44783c9deb6ebb9650d73ba82528bc0ef04c3cd70ae7ba850e3e3b5bc912bcc690383cbb708abc5fd9953b9556163c747df4bc5fbe8ebc8472ca3b499b203c29e7eabcd5b57ebc5a40be3bea89063c317fbdbcfd2379bcf91aad3bfac9063c51f9b3bc421f3cbc6569433b92c7cd3b537b8abc1e474cbc19f2983b2dfec33bdc1240bc7dc02abcbd804e3be7ec8f3b21e6b9bb1a491abcea4b393b5ee9083bef8e8f391a4defbb5134863a64f7293b57058ebae867cbbc871ec03c55381abd74f4f23b31b961bd11c73f3b66e923bd05a1273c8c4f7dbdd71508bcc57712bda1d8e83b27be82bd5b523ebce88310bd776a083cef4628bd88bd47bae516d5bc0236743b205b3cbd1de30abb7d76f8bcadd1ed3b1874f7bc4a1ccc3bcff8ccbca703d83bbf2dabbcd134663ce132bdbc65aaf63bbdf60ebcd18cb63ca94989bc3614bb3b5b1a263c2702a4bdc2eb1c3f0ac41d3fa803603c17c9babd021b153f5f37193fce8d313c76609dbdb53b003f4452073f0791433cfd8f96bd5b46d63e4e50eb3ee57bed3b474a5abd243b9e3edbefb23e3b843c3c717a71bd5c59683e69df913e91142c3c202245bdad1b073e3986413ecb2e3f3cae7c31bd1ac4413d6c22dd3dc17d263c5c7e09bd3d3c90bcc94c063d3fb8a5bdd8c52c3c00000000000000003819babd53ae663c00000000000000009ca795bd7f662a3c0000000000000000dc648cbda797383c0000000000000000c18140bd3cecc53b000000000000000033395dbdbd7f263c00000000000000009fbf3bbd12d60c3c0000000000000000b1da3abda861353c00000000000000004f6e19bdb45fe33b000000000000000069396bb97d4f4c3bf57a16bcd66dbe3c75a088bbc74c243c0de710bc5303cb3c5a0257bb7f51263c4542ddbb4986bd3cd2016dbb2839213c3c26edbb9b6cb13cbfd120bb2947003c5fa00abc2883a43ca77a44bb0971053c554401bc00dc823c1fc076bb940afb3baf630ebc7f706f3c0e7297bb1624fc3b17a50cbc0bf12e3c1c4e17bbd9dc5b3b1abd07bcb7ec363cbc7595bc72adb13b6311b33b1643b4bc9b8f9bbc0b0d053c6da3ec3bd53c86bc6ad78abc240cdc3be8a7ac3bc78170bcde1580bcf5fff23b619bc23bc4ad3cbc761a63bcb60da43bc5e6b13b676723bcf30245bc6b33963b5b275b3b3a5c99bb8d5e2cbc3610803b33bb243b6d3bb4b834de1cbc3d0f4f3bbea50b3a3cc1933b7bd415bc9fd9413b963bfa3aae401e3b540efabc2649a13c18a123bd0d2c143c40ed6dbd706819bc13d23dbda5d6393c239f84bdb5c2bdbc006029bd4bff263c4ea981bdf9f7b7bcf9f123bd4cf4063cd58f60bd5f4267bcba2012bd500b013c1a0739bd83abfcbb31e508bd696d103c5e660cbdffba313b6e94f7bcdd38fa3bd2adb2bcb8f3643cc503d6bc875f103c5b3c35bc88d2ca3c5aa18fbc2162d33b0d751e3cfa2f87bd0c6ee03e35524b3fa002523c263b9fbd5dc8d33eaaaa473f659d3a3c726d89bd69c0b73e7210313f88d91b3c59a571bdb752963e4ed9143f9e4f1d3c3bac57bd409b663e4e06ed3edc29113c5b0739bdc7c01d3e827eb13e885a0f3c08cb1ebdfd28ad3dcfa96c3eff3e0b3c66e6f9bc19a79b3c2a53fa3ddf30043c3f38c9bc3e5bc7bcf567f23c457cbcbd4c2b2a3c00000000000000000848d9bdbb6f7e3c0000000000000000f29eb5bd66aa593c0000000000000000e0a398bd35b7413c000000000000000070da80bd5df12a3c0000000000000000de666bbdd0232d3c0000000000000000ece753bdad0c3c3c0000000000000000831452bd694f4d3c0000000000000000465924bdbb3c003c0000000000000000398dddba6c3a983beafa02bc9c94ba3cdf729abb2ba8273c6d747dbb6650b93ca4521abbf5b1f33bdd41a2bba1c6aa3c690081bb3bfe163ceae888bbfdfbb13ca3b101bbdcc9e73b52cdbdbb9b62863c162ba0bb9508173c9e89c0bb02627d3cff6913bb21b0b73ba095d2bb49fe453ccab36ebba878ef3b57e1b7bbeb18023c819316bb5b8b803b95bac6bbf617e83b94c686bc9c99d33b6fd14b3b968414bc45c982bc33aade3bb4e3743ba90992bbc92e4abc004a933befaa653b0f13d7bb379853bc4a99b83b8e1b593bba2f30bb63b02dbc089b903bbe742f3bc00b13bbacd11dbcda379c3b345b1e3b85170e3b780df6bb01e52b3b1311c33a309cd23a77dae4bb236e3d3bd09883ba5449d03b44a8babba0cc8e3a1efbf2b94a69a23b186d0fbd6daf9c3a56e522bdc57a0d3cd56071bd64d30dbd97063bbdf265543c1bfd60bd3d570cbdb8cb17bdf56ffa3b187c79bdef7b2dbd763f24bdb6be0e3cbc2443bd836dc7bcfe150cbdeb62da3b4d3c34bd3e4b95bcb81710bdff00e23be2e7eebc34243fbb8563d6bc6593c83b37ee9ebc6dee1e3ca43bcabcc66ff03ba80022bc8981b93c2bf894bc7020dd3b971b1b3c22924bbd37fb883e63e3793f411f113cfa1d60bdc2357b3e7a8d743faf0e013c122437bd76625d3e6be24a3f3b98023c34a02abd6b75323e5352323fb530be3bdb8f08bddf1b043e98c1083f9978d83ba0b0fcbc78fba83dfb1ace3e14a8b33b2f01c6bca3c92f3d55a5823e493a933bfa6785bcd369c4bb8805f93d44618b3bbfee35bc11b306bda8ab613c9b3acdbd0a834a3c00000000000000002a0fe4bd43978c3c0000000000000000273a98bd9a7b293c000000000000000002ad93bd3822443c0000000000000000b9ce61bd2e4f153c00000000000000009c5a5cbd74763b3c0000000000000000ac7132bd80b8113c00000000000000009cbd3fbdb1725a3c0000000000000000731523bd556f193c0000000000000000dfae0abbc33cbd3b783283bb54e7973ca81389bbb595013c11ec8d3b2db7ab3cd1144abb1030c33b66d3893bc238a13c01462bbbadf7073c21b5a13aea848b3ce6844cbbc96bf63b714d0eb91e494f3ca80e1dbbc9eff73b95c44bbae4642b3ce1e118bba2c1a53b406622b96311e83b3c90eaba51a45c3b2877feb5c0c8413b2b59a0baf8c2473b1cb943bb20d01a3ba3b540bcd0da813b8a7a93398077dd3a4aa407bc65dfcb3b6534c1b9105feb3b37dae9bb961f9d3b6a25fa38ca69d03bfb56eabb3448bd3bbec5f2b935f5b23b7587c4bb3d8b873bd4f0e43984f28d3bbae786bba8bd483b473c93b981f28e3b45f43fbb35793f3bfd43afba54bed03b635be7bad5d7b63a2e6af4ba023bd93b75fd2abbd4be8b3a4f4405bbbcdfe03b576c27bda07ddfbce75a0cbde2f8073c7bea57bd0a02a3bdcf1c1ebdaba31f3c7eb564bdfe16a6bd881d1fbd47a2003cbb895abd047d8dbde39618bdcd04b63b1ec530bddb544abd39f406bde2fe993b997314bdd0a017bd14c201bdebbec73b9c2dcabc8e9aa1bce7b3e7bcf31cd83b999432bc16d934bb6d1eb4bcc91ce73b0655eebbe13a933cb56e6fbc7f5ba63bca81be3b2ba9f1bcd23bcd3dfd6a943f3836b23b2e3ae1bc649fb43db5d38d3f6698923b8b10c7bc3ef7a23db145743f6fbc873baa65aabcb543833dfd61483f08f4523b2f6a94bcf1ee303d8d691a3fdc1f2c3bafae4dbc13129d3cf288df3e32660e3b1452f3bb3e94a6bbeb30893ee6483f38272db43938aad6bc6134d83d7c33a13ad6193e3ad9442abd2acc43bc757cc3bda823333c0000000000000000b4afbebd037e523c00000000000000006a5688bd00511d3c0000000000000000a74749bd44a8033c000000000000000048aa18bdacd9cb3b00000000000000009d430ebdfd72eb3b00000000000000000e4a09bd2b07ec3b0000000000000000ff6514bdb34a2c3c0000000000000000268806bdd737f23b0000000000000000000000000000000000000000000000006b7431bb2337b83b9356b23b101c203cad27e0badbe1c93b2e0fb73b81f5043cd54e26bbd799d23b0e862d3bae608d3bd706b6ba4917a33b9ec1943aa577803bbcdecfba47a2a23b3a6a473ae8a91c3b86f3bcbae9cf873b0a75c53ada25a9ba38a2a5ba83b86c3b9335b43a8c4b47ba0000000000000000000000000000000000000000000000000000000000000000d83a38bbb3972c3bad4ee2ba6aee283cc54db8ba0e2a2e3be5f93cbb75ff243c512ad4b9a1e6bf3a39bf80ba6599023c9721d7ba043dcb3a7d5574bad014fa3b4d981fb9bf3ad13a9489aeba0d34d53b9e3b123bb550883a595ed9bac05ee83b39e5fa3a0aa7563a3653b1ba4882983b0000000000000000000000000000000000000000000000000000000000000000a42d32bd6c31aebdb6cec7bc836c9b3bd8ff22bd33dfaabdc9a4bebc83464a3b802319bd700d89bdba00b5bc54210d3bf35801bd9a355dbd142babbce358183bb26ec1bc984524bdf2c29fbc8dece23a388177bc58aee0bc6bb88abc3117c83a8d28f4bb74e027bcfbb74cbc4357f73a000000000000000000000000000000000000000000000000000000000000803f6cc10d3b253babbbb81b15bd5a7e943f354bb23a7a189ebbfc63c8bcc897783f156ea73a0bb973bb46afabbc855f4b3f0796783a9727e1bae6b0bdbc16af1d3f8bb295b8eb53c7386b37d8bc9282e23e9efe45bad319403b0ee904bd43128a3e71ff14bb2093073c4ce61ebd8a7bd13d00000000000000000000000000000000000000000000000000000000000000007a7a31bdc494653b0000000000000000459ba9bc4f9b393b0000000000000000a3ca39bc5925783b00000000000000001626b3bbcea19d3a0000000000000000eca7b8bb7c67113b0000000000000000db96eabb014c3b3b000000000000000097936abc0f178e3b0000000000000000000000000000000000000000000000000000000000000000000000000000000067bbd43a7fd883bb10c9ee3a622727ba2672ba3a5ed462bb054734b919bb583a3c542a3becc3aabb6538163b5f52e83a17feaf3af6a090bb566604bb831c5c3b61ca423adf5d0bbb48fb79ba5ab4593b63b7c7394ff62dbbac6bf3badd491a3ba01307ba75feedbac2dad4b9f0dc693b0000000000000000000000000000000000000000000000000000000000000000ce8282bba011f33a0da0823ba919eabc4a1d8bbb0a3a6d3ab919683b8724c6bc216696bb93d64f3ac800523b4856c4bc1bad9ebb1c02383ad506b43be9f2a2bcf467b3bbb9569a38080e5e3bd02799bc844e87bbcaab663aa4a6993b174056bc58138bbb6b3e9d3ad007973b17313cbc0000000000000000000000000000000000000000000000000000000000000000a9369dbc2f3b17bcadf6afbb25aaf13a542db4bc468fd8bb599fa5bb2bb7893ab76898bc5ab9b7bbabbc99bbac04063b6c0175bc134d4cbb8dec99bb95c4123ba85123bc23481fbb1a1da0bbc648303a79fcb7bb3d2d0ebb5a7e6ebb6e1f063b24e5c23abccde7ba5d8e6fbbda701d3b0000000000000000000000000000000000000000000000000000803f00000000ac15b33ae014cabc87f7803faf151fbc7ad8003b1d9b92bc52f5593f6eedd5ba02d1873a990b94bc6624353fca69783a92e61bba46788bbc03470f3ffb71343b0a484e3a2ac99cbc8f2dd53e5762363ba906a43a8248a9bcb8458b3efcb9d9399356243bca49e0bc515b0a3eeff926bb0000000000000000000000000000000000000000000000000000000000000000dccfc0bba177333b0000000000000000c8af53bb4cf1523b000000000000000084c5a1bb7b8f303b000000000000000044c5a0bbbfa3173b000000000000000039f9b4bb952da23a00000000000000009e9937bbb05af93a000000000000000006f1aabbd5ca053b000000000000000000000000000000000000000000000000b230343b85b507bc20a134ba3c5a343c9bb33f3a12b9c4bb796796bb157d253c91c5e03a691ea9bb785da9bb298c393cb12a153b39d3e5bb62bbacbb378c523c73a6663a04dea8bb03abc0bbd404503c814b523a6f539dbb3ae4cdbb53e3473c121b11ba73ec5fbba6bbcbbb6908423ca6f54fbb9d3217b99b0adabb216b353c0cf791b9a36e36bb8ac1b7bb7dbc4e3c3dba1ebc37990a3bfdb0e53b767510bdfb542fbc8b59543b09391b3c69fd1fbd48c314bc65d8cd3a1eba013c9c0916bdbda326bc3de4cc3a9faa0c3c24cb0abdd24119bcdcdd8a3aa104e63b03ededbc900428bcde77fc3ad07d0b3c4599d1bce4c303bcea99a43a3efa013c898ba9bc592efbbb4025cb3a0f38e33bb79571bc4a83cfbb92f2763aae6ccb3bc1ef47bc8bb83abb3b33aa3b122f84bc0bf4593b046daebc5c3dba3aadf87ebc99eb8c3b6aa7d1bc7e06f73a05e263bc00a2293bc2a8c9bcc6181f3bf73167bc049f4f3bc08194bc0ba4c23b81da54bcee8c543b56bd7dbcbfc8b43beb2d3bbc7f8c853b542614bc94daea3ba15e32bcd338483ba30fb2bb45490a3c021a25bc8b5d6a3b1ecf613b640a493c71891cbcb2de253b2109923bf06b41bd6e27813f2764fa3d00b5153c440153bdfce56c3f4349e73d18faeb3b2fdd2fbdc8324b3f0642d93db001cc3b32ea21bd5645283ff661c03ddeeaed3ba38115bd92fa033fe86ba23d5ac0d23bec851fbd4bfbc43e7a23823dea05e83b912821bd4dab803e30b9373ddf931c3c31c129bda19ff83df15fd33c5c8aed3b6d2515bdb152d53ba821163c2454b0bc42c3a73b0000000000000000d563abbcc41ed53b000000000000000042799cbc0515b73b0000000000000000ff4c97bcc1b2a93b0000000000000000c6a490bccaa4be3b0000000000000000c3ec89bcf62a893b0000000000000000d8dc87bceee99b3b0000000000000000cb6384bc69a59c3b0000000000000000dab181bc0ea7843b000000000000000071cc163bc35b1ebc567cd9bb8071a93cd283993a4a6408bc28ad20bcb0fcb23cda8a143be34808bc8e4e01bc2015a73ce3de653a1be9f9bb89db22bc609fb23c2468b13a9ee4efbb637c23bc7f76a73c7f672539802dd5bb73eb42bc400db83c0a76653ace4db1bb816122bce3d7993c4a6740bb0363dcbaa9ad4cbc43089e3c9efbb5ba8cc659bb08da26bc4be1933c751b60bcdb41483b64c7103ceec00cbd49db7bbceeee353b7495423ce3ed28bde76d52bcf41b853a1538133c0f0f0bbdd89d6bbc5540ca3a78673d3c11420cbd7c6447bc5e3845baa3f01d3c1f16e9bcc7745fbc6920033b34062c3c1d25debca9c015bc097e68ba6169f93b8392a4bc78a246bceb672f3bfbba0b3c480b81bc3232d9bbc7146a3931c3fd3ba4d053bc3a4129bbf4c39a3c5b60bfbcd70f6c3bf8138cbcd054893c790ce0bcb41bc43b0b189abc9d15613cfabaacbc75f2803b6b03b7bc61487e3cd544b9bc8abf943b72d99bbcb7b7873c112093bc62da4e3bf1708dbc5d749a3c47ccaabc40a5933bb37e2ebcafd7953c523776bc3628d93ac3ac06bc1beeaf3c79128abca126833ba72630bbcbecb43ceedc55bca288c93a208c073c505f5cbd6f065c3f5844893e4c82423c764c83bd600d4c3f8a7c7f3e3d7ef63b8e1e46bd4fe62a3f837f623e1f6e193cc00d4fbd5844123f79f1463eb45c013c68f034bdacd8e33e305f223e89e13a3c7de145bd4389ab3ed5d1033e0d58063cc34826bd759e5e3e4a87b93da2f93e3c55173cbd13f6dd3d2e036c3dbab7333c58ce17bd6c9fcd3b46d3ba3c783e0abd79f2e33b0000000000000000e5621ebdd9b21c3c00000000000000007f5bffbc305dbc3b00000000000000002fe106bd27a0063c0000000000000000255fe0bcddaed33b00000000000000005ed0fcbc3fa6fa3b00000000000000007de9c9bc0eb79e3b0000000000000000f66ae6bc7a5d033c0000000000000000c28fbebc1c395a3b0000000000000000fe1d803bb57b37bcf11529bc5802eb3c1d68173a4a0411bcd6277abc5b6bf63cc54c113b616719bc48146dbce8aeed3c7cb15c39030ff2bb73b57dbc8892ec3ce596a83a4327f9bb23bb7ebcf0e7e53c985383baffd4d9bb62ff88bcc2a8e33c331e9abaf98c57bb538f83bc5f5aca3c55623fbb067ed4ba450683bc51cac73c45a3c637b2dc6cbba63c59bc73cdb03c0eeb82bc010c943a9ec7143cba6d09bd021e9ebc5c068c3b98454d3c609c1ebd41fc8bbcddb6fa3a41aa383cb61a10bd433d7abc343e793a935f3c3c64d302bda82261bc393998383db6373cd381edbc09695dbc218f5cb9d09b313cd447c6bcfc4419bcdbe5f73a22bc283cc6a3abbceba83fbc347eb639ccd9023c9fdd78bc6df5cfbb1152a4b84e19013c5d0259bc03fa5dbb367eef3c9c27eebc8615553b484888bcfb88de3c7c8408bd1c9baa3bb152c5bc3ed9c13c882ffabc4f84a03b7843d5bca563c13c7acddcbc2e537d3b311eb8bca24cce3cb33fc9bc7f3d433bc762b1bc067ad03c1ed6bfbc1d195c3b2e0488bcf474e53c0c12b1bcbd10ed3a821a59bca1af013d6b93acbce5327e3b9049e6bb29d6f83c543670bcb913b03a65c0fd3b7b455dbd56c3353fd9c8d43ea708473c10ee81bdec1e283feadcc53ec102423c766b6bbd7311113fd2ffaf3ecf263f3c65375bbdf891f03ef33d973e7a9e313c46004bbda86dbe3e9a4c793e8b963e3c0f8a46bdc5d98d3ee9dc433ea375433c3ffb41bde71b393e4b4d0e3ef4dd5f3c07ee34bd86f8b43d251ab43d88511e3c70fb11bd1f20883b5e66073dce5f34bd6cd9f93b0000000000000000b5544fbd83ae373c000000000000000093f13abdc3c1323c0000000000000000e9f726bd315d093c000000000000000094431cbdbb63f63b0000000000000000b16816bd7316023c0000000000000000511914bd3454f03b0000000000000000a85113bdcc0c0a3c00000000000000009f6ee8bc1e24723b0000000000000000c491553b5ef522bcb0285dbc8726003d47cbeb39b0b2f6bb6a9aa4bc762b0c3df6eda03ad1bcd2bb1b3785bc3e5ff33c3d35893a06efcabba40297bc446f003dcdc6043b1560e4bb798671bc42c1d53c71d9853a9697e6bb47c895bc3d04e93c0a8d18ba7eb659bb6e8386bcd9edc83cf71c06bbc4b3d1bad25398bcb032c83c502458ba1dcd08bb39fe6cbcf5b7c13c76aa84bcc10190b9bd46153ce085f5bc668ea0bca227f03ad703463cec2001bd917a70bca8e012bac0210b3c99a3e6bc72d37cbcbb2a7239c3972e3c9a96e5bcd9912ebcca4a09bbfcedf63bf3d9b1bcf8014bbc425504bab274283cc271afbc5ebc16bca60bb9ba806fff3b02dd83bcfb0b02bc9f49ceb9dae6fe3bfc815bbc4ec0bfbbbd29c1bac83be43bc6c82dbce6acf5bbf89f093dd0d9fdbc6746e13a11a6a5bc7a14053db9760cbd1128ad3bbfd7babcb881d53c3c78e8bc670c133bb259e2bc6d9fe03c2297f0bc2f396a3b357a98bcc7e2d43c44d8a0bc9e473bba0f31c4bcc0b2f83c5a5eccbc8a17fd3a538f92bca74dfa3c8830a5bc4769923a403491bc8cf1163d1e2fb4bcb5811e3b868644bc51bb0a3db27d75bcdde7ceb99af0ff3b80c349bde5670f3fea0f103f13633f3c35ad68bd9e1e033f45c8053fb595283cc58b43bd99dedf3e3bfde73ed841463c3ff54cbd45f5bc3e0be2c93e2d96f13b3fd618bd1492913e31439e3eddc5343cf9ee32bd5c2e5c3e66f8803e8aff203c9c8a1abd256f0d3e8f00343e32474c3c901d20bd803b823ddbebe23d0213203c3ac803bd68a4c0bac5601d3d23134abd5a48083c0000000000000000b0f168bd39b72f3c0000000000000000fc203abd3627e33b000000000000000012733dbd85a2003c000000000000000064e807bd09ef503b0000000000000000bf7528bdcb49ea3b0000000000000000d2f00ebd61aca93b000000000000000070f21ebde36fd93b00000000000000003764f6bcb4972f3b0000000000000000fc596d3a9e0bcabb685583bcf0d0fb3c423cacbabf6744bbef61a7bcde030a3decea6aba4b7739bbaf92a5bce16cf93cb8caa2ba25b41dbb4253a0bc0dfdee3c8a75dfb9b08430bb5402a3bc7761e53c2bca25bb96863fba7a76aabc037fd83c6c8637bb6ca9af3a3db0a1bccaa3c73cacbd75bb07ea583b09189fbc26a0bd3c8a4a46bac69022bae0b178bc63dfa63c854a7dbc6e79983919630b3cc3bacebc32eaa9bc8d813e3bbc88233cc0afd6bc31a488bc28705e3a875a173caa8cc2bc03775ebc60ed3a393ec8053ccc5da9bcceb044bcb338cfba40e6093cea3998bca0472ebc62fdc139f266093c5e2c80bc617f1fbc4fd045bac5efcb3b32a141bcc34f1abc3c978e397b36ab3b0d5b09bc655c93bb4eb1c9ba5c22b33b39f301bcf5e660bca799093d27db00bdd461053b9eb3e6bcd0e3f83cef3121bdb850c23be5ab03bd3aa3c23c49d607bd8d25853bb16004bdaa54ba3ccb33ebbc7da44f3bf6acf7bcc189d33cefbdd4bc3ebff83a5835e8bc8bfbe73c9f69d0bc9fcc0f3bbed0d2bc4ac6013dab89babc3fea0c3b3259b5bcce03113d4d9fb5bcebcd1d3b9c677ebc15b10c3d55f96bbcac8830ba2f40fd3bfd7d32bd4057d33ea02b363f28d2523ce75552bdbacfc03eb8792a3f7ec4453cc7663ebd9a74a63e561c153f45c8413ca96b2cbd886b893e71c1fc3efce52f3c029921bd18fa573e0174cc3e420d473c3bb71ebdbd991c3e299a9e3e7ee8373c0a8713bda075c23d91bf5f3e454c333c52d400bdfa881d3d4e49043ed5a20a3ca626cfbc537e10bca942243d326858bd054ddf3b0000000000000000acb182bd89e5393c0000000000000000a2e95abdaba90a3c0000000000000000615948bd3d5f1a3c0000000000000000ec9730bded9ee43b000000000000000086c12abda746e83b0000000000000000afda21bd999bc83b0000000000000000b84426bde755103c000000000000000068b5fabcb46a193b0000000000000000a395eab909431cbb6de082bcd749dd3c5c9523bb889cff3a5fef9bbcd129ed3cd8598939da4960baf87481bce632bf3c82f1fcba2f98443a99f393bcd1b7ca3c765439bab5b46a3a228b89bcf35db93c47cf46bb466f213bd88096bc0009ad3c267381babc5cd13a2da877bca2de903c211282bb8f979f3b951885bcaa93943ca11335bb7790233bca1e62bc4cc57d3cb3676fbcba78b43aa9c7d73bf0618ebc4ed191bc7517213b1172cf3bcb198bbc9cfe2bbcd5f6d5b949eeaa3b057978bc840c47bc3fe7e7b65e6db43b4d7a62bc6e4604bc2de694ba4f12923b05482cbc07f808bc68754eba6a8bab3b9de90abc7c15a4bb5642d9ba0419633b7996c2bb203adbbb4c2518b96000453b855907bba80970bb1e5180ba66ac783bc6063ebb2a8cadbc625ede3cab97fbbc222e173b173f0bbdb3859c3cc39514bd45f7aa3be359f8bc6a405d3cf219d4bc7194a53ae12912bde9ab6c3cd017e6bc618ef73af588ffbc844e863c676fb0bc3cf1173a6534ffbc40b7aa3c72a8c8bcd9e9c43a1724bfbc94b0b53c5e2187bcb2c3093a878ac2bc21a5f43cf3dd9fbc6d522d3badea85bcec1cf23cda3e5ebcaaa387393d571c3cdcbf0bbd971c883eaba45c3fdefe213c6d3621bd0c3b773ef59d4d3fb8ae033ca72ffabc1607533ef4652d3f2dae343c207708bd49b72d3e238c163f608dea3b183addbc0da0043e890eee3e1b2a1b3c8291e3bc836aba3d8c65b83ee1d8d83b9c77bdbc26de5d3dec4e783e9b0a093cdf11b6bcae3b393cc49b0f3e7548dd3bf18194bc8ab18abc58a40c3dc53c5ebd220ee13b000000000000000032a077bd41ad293c0000000000000000c9f02ebd4642ad3b00000000000000002f4b36bdb49fd93b0000000000000000cfc20fbd3ffd6b3b0000000000000000546b20bd0431b13b00000000000000000337f7bc30c0523b00000000000000007c5816bd83b6d23b000000000000000052adeabc5364353b0000000000000000cf12e8bad6f04c3bc16679bc9d48a03cd99f55bb8fc0ec3b3f2864bc9a1e943cb5a12bbb1393b23b9a0462bc73e4843c6c6a13bb4130873b355461bc387a7f3ce32e28bb8264af3b9e7267bcda755a3ca4d71dbbe4429e3bc7d147bc41ac3c3c678a21bb82deae3ba7c552bc0d422c3caa0d58bb8a31c83b07f41dbc7786213ca83c13bbb877963bdedd31bc43ca113ca25b36bc93b6b33a31c0683b4e4e07bcd1604cbca163783bb49cd83a813f9bbb27c123bcc10ba63ae43e1c3b548aa9bb5792f4bb1526933998ce043b630ca0bb39b9a0bbecd962bad5a4193b31d715bbdc8983bbc86d20baa430d13a8b389eba5f4162bb9c47b0394cdfa83a27db893adb2999bb06644d3acd1c37ba69baa83b57f3aab947f107bafd4f713a96bf043ba557efbc752a653c3ad1d5bc3ff16c3a94801bbd2701edba2453febcd122933b080119bd69b9c4bb8199c5bc2e45b93a080712bd3def4ebb6c2eb4bc3623573ae20300bdc139fc3a2e698ebc977b90b9c77eebbcb6ad963b3dc488bc5027543a4119d6bc869e383c228085bcd5c1323afe97a9bc72058c3c68c77cbc685c3c3b86fe86bc5acab63c231722bc03e3d039f814be3bd315b0bc337df53d7691813f7b50d83b7e8ca8bc7d82d73d578b6e3f3bdaca3b88659abc3250bb3dd9c44c3fd9e1bf3b825c87bc4acc963d48a02a3f03886d3b41e784bcbaa35e3d22d5063f6737aa3b25996abc226d053da19ccc3e63618a3b0b9048bc2941343c4371893e176a0b3b089b0abc9bf75abc9523103ec3758f3b0e0e18bc975fd2bc2c49c13c309243bda846943b0000000000000000116349bdc77a0a3c0000000000000000b4ee10bd7e4a943b0000000000000000c43bf3bc72588b3b0000000000000000f5dfc5bc4a41193b000000000000000059e8c3bc54013d3b0000000000000000f2b8d6bc6611643b00000000000000007e68dfbcb3fda93b00000000000000007b06bdbcbcb7283a00000000000000000000000000000000000000000000000032150bbba2c7db3b84d311bc8e7db73b8cf9cebad5c4b93b9e7900bcd0e2723b33e71bbbb548d03b96450fbc4024733b889837ba9998783bc0cd01bc09471e3bde6621bbd37b9f3b26ace5bbc8a27b3abac7dcba67e9873b01f5b4bbefa21c3a04a9d6ba7a79c53b21c9afbb1d6cc33700000000000000000000000000000000000000000000000000000000000000008ef998bbf3e5863a4160e5b9c2b1e73a6c8c1ebbfb232e3a3e5470ba3d15c93a9f8c44bbfb77f6394d9d7c395db8283b34cdab3955cd76ba1c18e3b94976883a480681396fca4aba1d1a21b97e234a3bf9638b387a45c7b93f1a5abaaadca73b2ed2423a58e2f9b8532607bb6866b83b000000000000000000000000000000000000000000000000000000000000000006c301bda90283bc2c7e7ebc0e6dd9b77e14e0bc339393bcbd2f48bce7c108bacc12cdbc4b6477bc76161cbc2f003b3990e4b8bcbfb128bc504cedbb9f9bf9ba6e65a4bc0ecce4bbc1c3d9bbac5235ba8e6088bc070114bbd308d3bb56e6f9363ebf6fbc3e55803b3e57aebb28b663b8000000000000000000000000000000000000000000000000000000000000803fabfb493b4e59b3bb7fda72bcd1ff803f41aa153bb21a4abb57ff2ebc2d335a3f76f2953b181ba2bb8b882bbc4c98353f0f7d273b9e0f66bb54044abc8cc70f3f6ad8123b34cc41bbf0d081bc8452d63ef29aa238ce5a43bac55fa3bc81e78c3ed1f21e3a4f7030baef93d7bc85c60d3e0000000000000000000000000000000000000000000000000000000000000000260ba9bc701cd5390000000000000000c8ae3ebc017a493a00000000000000009de5ffbbe7a327ba00000000000000006596b0bbd5cec53800000000000000007973acbb2638dab90000000000000000a89ee4bbd18cba390000000000000000245725bcbe1b27ba00000000000000000000000000000000000000000000000000000000000000000000000000000000f25fc8bbba35993bab95273dea5eaa3bff9ca9bba73f123c2dc31c3d722d283c5dc020bb27240a3c0575003d35303a3cfbd11a3a35edb73ba3d9eb3c76fb2c3c73b26fb9b411d63bb9448a3c080fee3bd2ba353aef0e393bb6d7313c53eac83b66eeb23a919f9f39e778873bf59a663a0000000000000000000000000000000000000000000000000000000000000000dda359bb64c115bad5dc253a156a0b3c60dffabac89c06bb070723ba9244313bde89d3ba2348e2ba7f49dfba50fca5bb632e4fbacd5e7dbbba854dbbd9c9c7bbc4f73c384f5b7dba233099bbfc0190bb8455143a26bcb9ba6910bebb713d05bbdd518d3ab9ea85ba28c9dcbb676f963a000000000000000000000000000000000000000000000000000000000000000034a55bbe747697bbb8920c3cdf8bceba201d58be9bb780bcbd10f53bb909b53a468c40be82c0c3bc2320df3b6bed743800461dbe19b6ccbcd70ca63b68c2473b6057dcbd74269cbc1e81733b5af2283adafb7ebd1cd251bce462253be13a1339024c72bca76182bb84a912b97b1a9f3a0000000000000000000000000000000000000000000000000000803f00000000055f9f3cbbf5f1bd17b6ac3f7eb8d6bd88c0643c5fd6a0bd157d8f3fe2a06bbd054c3c3c9a5a7bbd0ef86c3f4b5503bd6a45143c5cad43bdcccc313fc81192bc5671fd3bd05adfbc920ae93e368008bcac36923bdd95f1bba3bd693e34560b3bb543803b1e962b3b9c426a3c473a6a3a0000000000000000000000000000000000000000000000000000000000000000a507633c021087bb0000000000000000a0b9da3b360a95bb00000000000000005f284c3ba2a68bbb0000000000000000d12b603bfc5aadbb0000000000000000ee39293be78975bb0000000000000000a95a973abd352fbb000000000000000002ca9d3b47726bbb0000000000000000000000000000000000000000000000008d8d06bc33cf5a3bf7cb9c3cf9a95a3bedbf1dbc5cf74b3b46d61c3dcc26243c3d46e0bb64c6df3b6c98293ded80623cb0e294bb2c06e93bc7691b3d2da45a3c03ea85bb7cc9083c36b5c83c27ce753c86f9e9b9408a5d3bcd16ac3c00d92b3c26e31bba9fc4893b44e03c3c3e93b93be59f9c380516293bc21bdd3a49473c3b29fac7badd4dcc3a8eaaa7bb64bfbc38cfbe3ebbc5eb6039778da23bf7d6f43b24b7c2bb40eab3baf2eae6badd88f03cc5ceaabbe975e9ba4ce18e39e2c8413c3a1704bbc1c460bb7b7352ba414ea23bf5051ebb19e18bba16b8f6ba5e656c3a6235933926c58abba565c0bb86c6123bfd5894b932d9a3ba8461e1bb37f9e139d5d3483abef9ffba5bc8fabb9c0704ba9ef8823a847c8ebafa44cfbbabd6b03bb56b03bea8fed93ba6d878ba68912db9f4a354bec47fc13b4c874cbb7fe1743ba9fd64bea66e8abc93b6293aaa8d303b6b7e52be5b38c7bc6e04b0bad1a1943b38c522bed573f3bc9815bf3a26941b3bd8eef0bd5eafa9bc3a7313bb98f3873b2a9f84bd54d665bc127c7abbee96443b6ead8dbcabfe64bbbe3394bb34ba463b3c63793c6196ae3bfa68a7bada5bb93af6361d3d3b434fbe34a9ac3f2072903c8927313d113546beb1f39e3f9749e93cadaaf93c74d01dbe507f8d3f5f744e3d90d4d53c8f40f5bd6621663f7cef783daf26a33c82fdb0bd9f5b2a3f4d60823d1162883c102e5fbd7c36db3e875d683d0008403c8dcac2bcd0734e3ea33d483de9c4f63a75865e3cc6461c3cac57253d8ec5c83b7c23aa3ba021f7bd5a76a63b0abe88bcbd66a63b0000000000000000b0a76dbcbcdcc83a0000000000000000cd69a5bc818f183b0000000000000000e88ca5bc39c9e03a0000000000000000a8879ebc226cdeb80000000000000000504b8bbcb399503900000000000000005a7e5cbc9c539a3a000000000000000042f84fbc5912843a000000000000000081f0a6bb0e52833a0000000000000000d8d0f9bbdf10893ba1c82a3c4d5ef63bb9711bbc8982c83bcfc4d73c36b2673cbe57e8bb83da093cc84fed3cea809f3c71cbd9bbe600113cdedbdc3c3a56a53c957c1abb0c06b83bd3d79e3c8cec873c4ef46fbbab5cc53b39f7813c392b613c9c880fbb6702913b705dd23b8b82183c11991fbb99844c3b4782fc3ad227403b0fa341bb2512fe3a71f362bb4144f8396acc8ebbaa05b8b80ae6b63b971ad13a07dbb1bbeccf77ba6ab9113b9d6e493c16ad45bb07a02bbb46a40f3b92ce7c3bb90970bbf552bebabdb20cb919df8b3bed153bbafaaf70bbc6dc0abb8701963906f39aba572c04bb9363a3bb2fb83b3b04029539957925bb2598c4bb8d801c3b2e187b3a54f900bb493df8bb2722893ba69f863a065e98baef72b0bbbea5b23b22b7b5bdc51d133cb4ec5dbc6eecb33bf1e52cbe600390bc29e3f6bb242c963b3a203abecd7e26bd6db9e4bb1de5ea3b55ff31befadc33bd88140bbc23d4a93bb46806bea92625bd12ac04bc1301e73bfbb5ccbd05d609bdf7570fbc1ac4cf3bcbb565bd404fa5bc729702bc65d2993b50e393bc2691a8bbdb07a7bbf2e33f3b2591c43be83f033c67fda5bb7043023b2de6283db5414cbe08cb8e3f52286c3ec8d73e3d1ae157bec7ac8d3f228a673eef00183db1952dbefb4e763f00ab6b3e2315043d1f310dbe97a3493f2877543e45c8c33c5ce5cbbda46b123fbcd7373e9bedb83c1bad8ebd9275be3ee8ba113ef80d8f3c25a727bd32be383e2c86c33d5b83283c3b9509bc3a73603c59335c3dcca5f83bff4702bad445aabdd3e9263c3e4c80bdc664603c0000000000000000517986bd73a26f3c0000000000000000813d7cbda4e3143c0000000000000000f01e56bd8d7e163c0000000000000000013039bd82fad43b0000000000000000e9cf24bd2b58c53b000000000000000079e9f0bc4f29b03b00000000000000007900babce7b9b03b0000000000000000332b82bcac5aa43b0000000000000000d75be5bb7e2c933be496cd3b7c24393c99b2e9bb0892b93b625d923ceec6993ce6fbc4bbde08003c8fe9b43c8f70ca3cbbff93bbefddde3bf5eab43c3c3cb63cc50138bba6fdfb3b4b4d5d3c5f6aa83c848626bb26b6cc3bab78333ca800833ca6c2feba9c82823b69d5bf3bca47133c97f758bb85d8883b83b4a9bac224a83b0127f1b966edfb38c1c090bb7fd31bb986449fbbc1b050ba1951093c70b10bbc6e3002bb46bd6fbb5a10773bcba6933bb50215bb6c9a38bb0e440d3bc3fb753bb74424b9e1938bbba2158d3a713882ba597a2a3b2a9875bb1ff218bbfe10a33ab65d6f3aee4160bb8b4b92bbdc618e3818cb4e3b631f56bb65eebfbbdb6a213b7ad9cf3ae41648bb84fa8cbbbd14263bcfd700badcc781bacd3fbfbb6c5ce83b3ef48abdea7a0bbb0d529bbccc11e83b4c5806be5eb82bbd8d3083bc6750183c71fa19be1f0d81bdbe8380bc9100253c86460dbef58c87bd18606fbcf4881d3cccdde7bdb51e78bdf6ee8dbc07b5123c3b42a6bdeefb3ebdf0814bbc951e023cd7f145bdb07cd2bcdd164abcd936b83bd6a37fbcd7d4d3bb79e10cbcd1915c3b6833653b7370313c94aa44bbabc2063b36a3093d912e38be77646b3f3383e93ecd7a303dff0445be6969653fcd72ec3e65290f3d236424bef1f8483fc15edc3e8f32f03c939600be6689213f1b25c13ee152d93c75d5c9bda611ef3efae19f3e69d4aa3ca23587bd778a983ef0216e3efbc0943c7c5229bd4efb123eccdd163e1131383c8f8a84bca2f0673c9403893debcf1b3c95cb31bc0fd584bd918d233bc007e3bd6852b93c0000000000000000c269efbd5702c63c00000000000000002433d4bdd6209e3c00000000000000005361b8bddcab7e3c000000000000000070329bbdabff5a3c000000000000000021ca7abd96ef433c0000000000000000dbd040bd2a25273c00000000000000009cb309bda46c2f3c00000000000000002ce4d7bc304e283c00000000000000003e5890bb44a3b93a2cfe8e3ba24a4b3ca5f285bb7d48583bf245573c0770b43c2aea99bb78419b3bb36f853ccdf1dd3cce5535bb56d99c3b43e5823c836bc83c49e1fcba79d8a33b723a133c5add9b3c672d1cbb6ede923b61ce0b3c11bf823ce1611ebb15a69b3bbbf5173b8c701a3c0aa8d3ba1168033b6248ec3691eb723bf2e17cba59dee839f30eb8ba801e93b9727784bbc4f117bafb22d23bdbf114bcfcb2bbba9c476dbb69255f3bd33c503a425917399ee246bbea4d473b08d97cbb234a0d3b647c5fbbf4ebe1ba09b6813b9501ab393016ddbab443903a1b8ceabb3f74883b4f7d8abbbeea1cbb595a943aa8d1e93ab31833bb116f13bb0a897dba0a56e73ada8925bb54be87bb03e7293bbdb1a23a837346bbb73e32bb81b31c3b468d4cbdcbb061bca09de1bc0c20343cf70fc6bd49ba86bd27f1b4bcf356603ce930debd4f40bdbde52ea4bc7d592c3c96a8debd97aebdbdf83fbbbcc28a443c6da29abd7b7e84bd6302acbc9f24053c5b3686bd4a4b73bdb9b6a4bc2bdd1d3c44d010bd4294fbbc874653bc22008c3b3b507abc66a7dcbb13730ebc3ad7653bf58f983a9b406c3ce512a3bb2774173b415eef3c4d8d15be0132303f8646323f12e5093d7efc1bbe53b6293fc34b313f46b6db3c7770f9bd637e133f9c8e223f57d5df3c8463dabdfb3fee3eb9200d3f33e1913cfc4a92bd2af5ab3e2408d53e60e39d3cad8f70bdd9af623e4cdaa13ecefd583c9afb13bd4666e13df8773a3ec53e373c108c92bc30266d3c6de2943db844003cbc9611bc28d350bd082113bc55c71bbe6b03f43c000000000000000082eb21be1b09ff3c0000000000000000c9e609be6937cf3c00000000000000007fe9f1bd9c02b43c0000000000000000cf32abbd0bac723c0000000000000000bacd98bddcf56d3c00000000000000006e506cbdc4898d3c00000000000000000e8c20bd89b5433c00000000000000002f1c03bd825b513c0000000000000000916940bb79d6523a05d1e43a3e0c7f3cd1b959bbb50bef3951f7183ca2d9e03c8e9b51bbc77e5d3b8d275c3cc7af033dd6b222bb4d1d5e3b15e6533c0b3df53cc14c19bb3ddaa73b95d5fe3b02a3db3c78c1ffba7927853bf658c03b18699c3cc6061ebb4f33853bddcd7e3bf904373c69ce1bbb31f3273b6e7ff7383a0e9a3ba3b5eebae3bf763a5b8c74bb2048f5ba567808bb31cf2ebb5bcb8f3b0406e7bba0734f3adcfcb5bb8d4c4f3acd3e143968ed333b5c169fbbe5d846baa7c1093bfe6e6e3bb00e95bba17dbeba73ae94ba3f929d3b9e1096bb361f4aba7642e3ba0a80803bfe6495bb83c305bbb84a8fba5154473b15fa53bba8de01bb9b3a27bb4fd52d3b5df075bb519441ba46d4ccba623b903a287120bb5fa6e0ba9c05533b94c80dbd413b03bd4248debcc138563c8aee79bdd722dabd455c99bcf9e7593c14969ebda16e07be6dbeb2bc58d8613cd5d295bde25400be85c4bcbcb42d573c42dd82bd4df0dbbd4ab4adbce4c83f3c312b44bdbd1d9abdab388abc1474093cac8500bdb7d02fbde73a42bccdeda23b8c6d46bc4caa33bc82c7e4bba16b653b129ee73acd37773ccea47ebb93e2c93ae3ecac3c59a3dabd3aaee93e6f1f6c3f4969dc3c56a1ddbdf871da3e56206d3f13f0c43c3f68bdbd92afbe3e8477573ff6c0aa3cd94296bdfeb7993e5b10343f358c8f3c0bcd69bd0c55643ecee30d3f84b8803c40732bbd0d60193e2359c23efa00573c9692e3bc97b2a13d223d5b3e16ce043cc2596bbceec0753cb8b08b3d67efcf3b9398fabb113907bd2a59bfbc04363bbef8020d3d0000000000000000cd7c49be3f88273d000000000000000030d72bbecc84013d00000000000000007fd40abed93bd13c0000000000000000f9b5e5bd25ebac3c00000000000000004ea5adbd29a79f3c0000000000000000ab407abd5012863c000000000000000059e927bdb5137a3c00000000000000005a6c0abd015b783c00000000000000001091e1b9707323ba5c271e3abb21803cf206d9ba855ffbb9a2b1d03be3c4013dec2a9bbafb839f3a23e01b3c78f3143d95a11ebb3251323bdb5b183c38e40b3d42b6d6ba34a57e3b0544003cf901c43ca915dfbacc155c3bc73cee3b5711ac3cf77fd8ba109a7f3be095283b5b981d3c4e680fbbf39d363b49ab9e3a3d023e3b790d65ba536b3a39f9a852b9d5e6bdba5176d4ba22a951bbeb7e2ebaa3315abb7e277c3bb082e2bbf533c2b823fa48b9e27db43b85f0d8bba39a15bb6308d73a21fb003c4514b9bb001b01bb2bf50b3afa31bb3bf33289bb1db392babd348cba09e3843b98c86bbbdb2817bbe28df7bab45dc93b11e499bb3c498eba19dc07bb9346543bd75859bbd3ced2b6daf6c4bab9564e3a307307bb96a20aba3b8e40b9c7432fbc0f8e78bd558086bc0c983e3c49e3e5bc134e17be85b53abc9cf2483c99273dbd8ad128bed4d196bcab89633c39a738bde31025be0a55a6bcd09a343c8c2526bd8f6bfcbd8f0ba8bc6d51163c8a560dbd24cfc2bd0dcb64bcd0e3ef3b2258abbcb9c04fbd372f31bc1b60823bb08736bcd18957bcaff28fbb5c2ac9b9d93d0939aab85e3c11312bba3fe6343a9d87743c7aeb77bd40ba693e4d3d8f3f9e62863c538471bdc2fa4d3e0d32903fd29f6e3cffaf4cbd8e533c3e8608803f032b633c6bf824bde106163e92b1573ffa723c3c5af505bdec8be73df680223f69b0333c50f6c7bc60dca03d61e6de3ee549093cabd886bc3f0a363d40456e3e95a2a03bc74e2dbcfa8aa73c0e1d5c3de0d13e3b409eccbb15c22cbc35d757bd3fcc4ebe7fa8243d00000000000000006b415abec62f2f3d000000000000000009ac2cbe29f1f93c0000000000000000190912be9da7e13c0000000000000000dbc6d3bd3892ae3c0000000000000000c9a6a8bdd26f973c0000000000000000651e61bd7177863c000000000000000070a6f3bcafb8623c00000000000000009463bbbc270b413c0000000000000000ccb20a3add4015bbb0242fba0444ad3c491ce73a4fa57cbbf6bff43991342c3db96ecb399039caba21a8a63bcf3b3a3d29fea2ba556cb03a9366f73b78131c3d7e6bbeba9f150c3a6835073c2493033dc6449bba34742e3b4cf4b53b5941b23c5c15c2ba1c6a4c3b4b49433bfb2d5b3c9a36f5ba0f05313b0492673a9511a13bbfea95ba7575ac3a4fd981baf03a93bbfaa6213baaeec2bbb794fab99d9448b96961993b516516bc4c52e5ba2e6195bbbf71ef3b8b37fabb3e3128bb898386b83fa72b3c9816e5bbfdb01abbd5220bb9228de43b0c417ebbb05ae6bac380c3bab7621e3cc927d0bbc38272b96c5b8fbb2782943b403247bb4f9e553ab389a3bbcada313bb66211bb5f93583b8b5297bbeac3bc3a0e66f5baef93ab3a285013bb9094033b86bbebbdd96ab2bb92c9173c387a3f3c3dda4abe5e36233cf4c6e53b2e8820bc95ac5fbe3bf1d8bb618a153c7d929bbc5ed349bef8ce84bc9b882a3c83599bbca8b823becd9365bc811cb03bbc6d89bc56f5ecbdac6d54bcf63bad3ba3ef5cbca4ab7ebd90c708bc64e4a73a7abe1bbc964a84bc24b625bbf899cfbabdf98e3ae901983c61f5243bdf9a06bb5f0d943b3d5071bc11788c3c25a4ac3ffe14b13bd8fe1dbc2c9f703c7e41a03f8e89c43bb9e445bce3eaa43cfd8e903f8ebfe63b8f651bbc4c51b93c706f6d3fc9b7d93b662c13bc25e3ad3c1bce323fe8f8953b0a389fbb07aaa83c7572ec3eaf32733bf97ab5bbb521b43c29e46b3ef6ad0d3b897c18bce6d9fd3c3b2efc3cacb379b9a2e10d36163ee0b783bed8bd9e1c52be38ca1a3d00000000000000009f4743be7a551f3d0000000000000000115a19beb9d8d83c00000000000000004192e6bdfcd39f3c0000000000000000efbba9bd3914843c0000000000000000fea862bdaa624f3c000000000000000047e2f8bc1efa223c000000000000000064b251bb9d6c973b0000000000000000eccf3cbc9bf9113c000000000000000000000000000000000000000000000000e400963a754c83bbcb539c3b63ed1e3df587e1380bedb6bac7cdca3bd73e1f3dc0da29ba802ab5b98685f73b60ff023d54a115b9c4edc43a58d1013ccc2eb73c0d0486ba3345543a24fb933b67ff8f3c15f4c7b9c127083ba3213c3b41c4313cae0b41ba9078c53a199a323a28d2383b0000000000000000000000000000000000000000000000000000000000000000a1e2013c7565dabb0a9236bb2baf853bf86e263c5f67b5bbd19d08bbfc1bec3a54893c3c4c4668bb82652bbb4c42013bdc9d4b3c307b89bbd8a9e8ba01320938db8e063c78c1c6ba2dbbd1b99e9c57ba08a9893b87173cba79beeeb7aa859dbbc9d7313b14b013baedad2e3b2d0e9abb0000000000000000000000000000000000000000000000000000000000000000e849843b65a45cbe576f2bbaaa31ac3b6cd292ba34b559be34d6f4bb6ef17c3b0a2819bc3f8042be13be95bceaba7b3b4ab72bbc56001dbebde29cbc3c5e503b420509bca492dcbd772484bccafe223b963d9cbb622284bde203f4bbab1c85ba1dfac4baac7c6cbc1c193ebb408e03bb000000000000000000000000000000000000000000000000000000000000803fc850c3baae858e3c9d3ce5bd9997ac3fa94290b9d87f453c293a97bd008b8f3f02ac213b8af7053c820566bd6ac36c3f7dc9953a3b4e153c422039bd2a60323fffff903a7ebeea3b47c6e4bcd3bbe83efbad583a6ab7a33be5b2ddbba1186b3eda54a2ba2b5f9f3b84a7bb3ac590413c0000000000000000000000000000000000000000000000000000000000000000d6bbe1bd32e3763c0000000000000000924685bd99c11b3c0000000000000000c21525bd71f9983b00000000000000001fa7b8bc8c07a53b000000000000000009e722bccd6cb53a0000000000000000b5efdbb99832f23a0000000000000000ef39943b30fded3a00000000000000000000000000000000000000000000000000000000000000000000000000000000260fb8bb85ec0a3c056ae63c6ba6d83b4acb8fbb00111d3c8100e33c487d303cc3a072bba67b1d3c4e25bb3c1b19313cf6adc0bab24bda3b90708e3c2f662c3cf0d8c4bac61ce83b74753c3c1f0d123c7ba278395fbd503bae74f23b707ce93bf3d9833ab68ac039e9c0963a53d6823b0000000000000000000000000000000000000000000000000000000000000000984f57395509d9badd2f13ba7fb3b43b968e05ba432bbeba91cb0abbe80da23bfa29703a6f0c0fbb78f174ba8aa4d5b9d950323a5d797cbafde921bbe32f2ebac424733a2947adbad62168bb614f3b3b4fbb1bb987098aba2b90b3bb3235ae3bf142e339450aa4b93deec8bbcada173c0000000000000000000000000000000000000000000000000000000000000000770d42be064ea6bc7af73c3cf1ffc9bad08a42beb40fcdbcb5b11b3cd938abb976802bbe0d1703bd7f90083c87e473b99fb40bbee7a701bdb4a6f03bc3113cba95cecebd3e13d8bcec8b9c3b53823639ca9281bd7d6c90bc0a31a83b0dfd2039d3baa4bc6c9c0abcc328683b583c24ba0000000000000000000000000000000000000000000000000000803f000000000e8e6f3cfe32d4bd4b49a83f443da5bd3eb12b3cf89096bd98648c3f4dab22bd1a8e0f3c20ab7ebd4cb6663f2402b0bcbf0d013c5f5a54bdd7652f3f7c8626bcf278c63bce6025bdaf12ed3efd1c9bbbbf50993b0854adbc2ca7783e34f40dbb2069ea3a16152fbc04ee113dd68902bc00000000000000000000000000000000000000000000000000000000000000000bf0083c0a6406bb0000000000000000d1297a3bd67920bb0000000000000000c9543c3b74b521bb000000000000000038cf4b3b37e329bb0000000000000000dc81933b6f1c67bb0000000000000000825eaa3b7bf06abb0000000000000000aea3e83bc3f540bb000000000000000000000000000000000000000000000000cedaefbbe931303c613bed3b4e8f2e3c799d28bc3b6b373c01cdc33c1849c23cb99ee7bb45a8203c2197e53c8bedc33c310ad7bbf31e463c07ebb73cf91ace3c5a75a5bb42b11e3c9b46813ca564c13c4e6538bbf144ca3ba0a35b3c319ca23ccbd2f2bad7bd7f3b4e19c03bf9b76b3cb7e694378bd3d23aeff948ba2595163c0b50cfba1198403b0c73febb1928ae3b1388d3bb1dccaf3a059010baf1c1073c0d543fbc5412933a464a8bbbfb9a113d789f1dbc3997103a4e2990bb8b33bd3cee2f04bc71d603395cdb8dbb4310903cd553eebb86a97d3a1ec9b7bb9731993c125ed4bb3924d4b86f6ce7bb9fea7e3ce871aabb3648043aca7cfbbbd696873c1534babb98f4703a88a725bc67a3833c589273bbd626473a5d7c09bca695873c505005be412b163ccde996bbed1a483b4e7563bef3319b3b45e3cdbbb58ba83bed8c67be99867cbc442d96bbf055a53b219a51becbc2cabc2d4e8cbb2298ad3b73352abe241bbebc57ecd1bb9add7a3bc747febd5a8095bc7198b9bb2b9e923bdaa09ebdd1f101bcd522fabb3864893b236feabcf1d5dd3b1451d9bbda4e3f3b76c7f83a83f3483c3dd498bb149d0b3b6447d73c6b8629beb957a83fc9dc113d3394da3c676c27be0de39d3f684b533d151ebb3c2b9307be0961893f4e979b3d0765933c8022d9bdd04a5e3fb224ae3d6e355c3c064ca5bd2f08243f351aaa3d783f423c961a61bdca36d33e1406963db026be3be7c4dcbc246a453e4ee2703d5f32e138380a1a3c13202abcbff3313d00bf293b2d2679b91176f5bd3c291d3c8ce096bc2a88063b0000000000000000c3bda3bc0afd0b3b00000000000000008f53babcd11d133b000000000000000078ceaabcff3599390000000000000000580899bc1549993a00000000000000006b218cbc84dfcd3a0000000000000000f3fc84bcc64ded3a00000000000000008cd244bc2a8bce3a0000000000000000967801bc6d6a013b000000000000000033fe11bca962653cc287c2bbbdc5ba3c62631fbce929653c889e1a3c47b2de3c663d17bc4a786d3c7def1a3cc3f5fb3c1962dcbb03e8593cf9ca333c015dff3c45a692bb8557203c3bf8b93bab7de23cc950a3bba65a1d3c4a9f2d3b1ef2ce3cfb8f52bbb691f43b00060abbd873943c48daddba1d358a3b98469dbb94023f3c0ee401bbe6c7343bdde60fbc0e030a3cf90275bc3be0713b4414073aa9652d3c6fad6ebc6ecf673bb30b65bb2235d63c473546bcdacf153b05fccbba3bdf893c7d574dbce7bb253b4874b3bb93beaf3c34a531bc8ba41e3b45c3b3bbbac98a3cf7141dbca92fe23a6a1f01bc5ae2ba3c243501bcd00f063bd73c10bc0b3c993cd002e8bb6027153bff782cbc340f9d3c8a49d3bb211ed43ac589fbbb566b973c2998debddd0ffc3c4a4bddbcce4b173c64d53fbe3fcee13bedffcdbc71b52c3ccdde39be96b768bc23b6d1bc197e3a3c2fec39be2708a5bc4054c1bc16e71f3c49d010bee47c9dbcbc06bdbca3d2223c81b1e9bd0b9175bcca80bcbcedf81c3c368a8cbdd1463cbb6987a3bc3555fd3b572809bd24ce483c84ba93bc6297d53b401523bc928bca3cf9f37cbc6312bf3b160dcb3cfad821be12618a3f41a1753ea6e6ea3c436e2cbea88f873f356c7b3e3d21b53c23ce08be2c42653f7eba7f3ee3879e3c28bce3bd401f3b3fc986713ec78e733c898aaabd39f7073f0e81523e146e4f3c6c4373bd4505ac3e57db323ebeca1f3c52361abda682233e0f20013e6e1f573b906106bbabf067bc3d0ea93de459e23a96969d3b6aa4d7bdb020123d31435cbddf11173c00000000000000007d6d72bd8ead0e3c0000000000000000d32e57bdb9cddd3b0000000000000000069051bd3937f33b00000000000000001a9037bd14c0a53b0000000000000000a75e31bd36e8d93b0000000000000000bae517bda556d43b0000000000000000d16f0bbd0198063c00000000000000004db4eabc94affa3b000000000000000097e8d6bbf3a3513c23ae48bc1ffff63cb8ec08bcf0875a3ce60bd13a1ce6063dfcd8f2bbadde443cd977dd3b249a123dd4e4b5bb2888263c5a91f63b6c1f093da07eb4bb2367313c26b6453b6ba4003debc314bb9c71903b3457043b3f4cd53ca5b651bb178bc53b5e55c0ba43a89d3ce5ae28bbeb487c3b4e40d3bbfaf66f3cf2bb30bbef019c3baee40abc2feb153c9dceadbce8cbd03b18b7f93a2f361a3bf9c3a0bca069d53b64217abb2cf6b63c581f87bcaa708d3b348a68bba2bab43c1d7b6fbc0bcf8d3b1277aabb57b2a23c0ee254bcc12b713b10f2bebb9912a83c09761dbc805b603b3892fbbb95b7a43c5adf1cbc5957233b761211bc22b0ab3c7a93e8bbfb68e03a302c14bc3e77aa3ca8a222bc847c3a3be2eaf3bb2edb803c9344c5bd4786283d398836bd58c9573ce71023be4c46cb3b08f82abde782763c16902dbe536c90bc76372dbd5559813c1aa31ebe5bb0c3bca6bf28bd7b5b813c5d7607be816aacbca54023bd8cd9703c2dd4c8bde6185cbcf20d16bd75ec523c562389bdb416f2ba3ef800bd30134e3c15bb0bbd02016a3c5bc7ebbc50e9343cc6ce81bc9a4b0b3dd6dda5bc8052e73b0807b33caef10cbebc76603f5230e73eccd5cc3ce10115bed507583f533aec3e78f0b13cc67bffbdfaba383f7285e43e306a903c96d8c6bd5f89113fb78ecd3e609d653c08b598bd4f78d13e356fb13e2fb04f3cd8f950bd84fb7f3e64e68c3e6b4c0b3c4313f5bce89bd23db7fa493e114b5d3b8163bcbbdbc2d0bcbefcf93d9bdb8c3b999503bb5ecdbabd2cf0503da164b2bd8e4d693c0000000000000000073dc8bddc58823c00000000000000005b88b9bd9d95763c00000000000000003ce6a7bda5dd3c3c00000000000000004bd09cbd243d603c00000000000000000d608dbd2ebf473c0000000000000000793e76bdf51d533c0000000000000000ffda62bd70756b3c0000000000000000c56e46bd1067633c0000000000000000e0ab98bb2dca433c4e4075bcaafd043d0705b7bb9c08173c8ac0beba5cf6103d689b9cbbf9bcf43b922b183bae6a173d18489fbbe5950e3c654c0b3bed79183d55bbe7ba422dd03b5a898ebb7099f23c085580bb4946d83bf4d04f391264d53c395ee7bac2dc593b7e7387bbfc4a9d3c78c1f7bae484843bdc04abbb9214443ce69cdcba463c643bd78519bc6493153cdce5b9bc3f80d93bdc0f1e392798803b7150a4bc1d79c33b90d318bbb9d28e3c7b0f8bbcb7a4b33bc67c3cbb1207863cf8e861bcb27ba03b4ec99dbb7d93a23cc12b6cbc2f4ca33bdde166bbe28a2c3cdecf22bc26ac2d3bfb64cebb2174a83c1b2111bc42b8843b7617a6bbf1ee7a3c221eddbbf2b4983a9540fdbbe2d57d3cc9a808bc2f98253bdf4daabb9d85633c537dafbd6a2b333d50866dbdfc39993c285b06be5e7197baca7368bd6e1da43cc3a506be6d5cd8bcb31260bd841f943cb46a06beefd615bd392f61bd418aa13c9e5dbdbdb53278bc223948bdd4a76e3c66fdb2bd91309abcaa2446bd52ab8e3c8b7d5ebde900823acf0d29bd7e165c3ce95e03bda7f2ac3cac4d0ebd4d30563c9f1984bc13311d3d3fa7e8bcb37f333c50ae853cc0e5e1bdbf11283f23f12b3fe89a9c3c1377e9bda3591d3fcc192e3fcf30833cf39bbdbd4ffc033fc0b3203f6f29683c44269abd8fe3cf3e0d53113f9ae5373ca8ba63bde8d0923e3c5ce13e25320e3ca8f221bd9c81293e35a9bb3e47fcd13bb270b7bc74b07d3d6ad17c3ed1b26f3b812611bb4d300ebd485f113e73f5503bcc2e373891cfb0bdd4525c3d1734f7bd01029e3c0000000000000000106103be2c06ac3c00000000000000001c18e4bd5f22953c0000000000000000d39edbbd54e4933c00000000000000007558a7bdcc12613c000000000000000029deb2bd8730923c00000000000000001b3396bd0755893c0000000000000000490d8cbdf3649e3c000000000000000013187cbd1a8d8e3c000000000000000020293bbb21e6ec3ba7fd2abc22b1fc3c0f9192bb55d5a73b597e2e3b6f12023d4e9f63bb943e9d3bd4d69b3ba8491a3d6b281fbb9723a13bc9739b3bc823073da27052bb0d5db83b7b5c873bd419ee3c63b5b4bad8f03d3b15b5363bd53cb33c129f1bbb781b853bb818e7b99819753cea98c2baa3bb403b499203bbd7efc03b003e06bbd663303bc582c3bb83c7813b0253bdbc21d1e23b2ac2e7ba363feb3bbcff5abc34709f3b198150bb860d9d3cf9e031bced087e3bdb14a3bbfb729d3cfd0a11bcd916443bea2992bb41b38a3cae6df6bbb7ae653beee2adbbaf818a3c66bc96bbfc6b043b0d15bbbb6f49683cc17c84bb189f8e3a5610adbb6514553cfa82ddba1f3eaab7a772a3bbbf8a1f3cf1aabbbb2ef0963a89e655bbf9a7143c0bd995bd150edb3ce98577bd6750ae3c4208d4bd9d710cbda02082bdfd42c03cde21dbbd12c389bdf51875bddfb0ba3cc530cabdc79789bd9d0e72bd3ca8aa3c6c99b1bdb4cf5dbd421763bd52959c3cd94885bdc29a10bd334f47bd18ae8e3cbe7431bd539266bce36524bdc6e9743c67b5b7bc09a6603c191d07bd85fd583cca714ebc07a2173d0268d9bc7d1e2c3c35a5613c0ba7a9bd3130e13e8d5d633f07bc6e3cd6f3a7bd2db9cb3e5305683f5548653c6b658ebd7d46a93efce4553fc467293c82924fbdb060803e1e05383f56860f3cb4241cbda8262c3e6f1b163f1a21fe3bd169bcbc36e2b83de321df3e8798923b2d6a38bcf669973cf073923e5371f63a640e553b98ef2abd6cfb143e84a49e3ac3add63b0d9fa0bd464e333dd08716be4ed2bf3c000000000000000052b125be78eeed3c000000000000000012f912be9be8c43c00000000000000009a7cffbd1cb7b23c000000000000000010eee4bd5b09b43c0000000000000000074fc8bd5ab6aa3c0000000000000000ae86b2bd5f41b43c00000000000000007bf3a3bd95e8be3c000000000000000023f389bd428e9e3c0000000000000000f50ccbbabbb2b23ad82d80bbffb1c93cdd07adbada6f66bacd05a03b49b6fa3cd9a8d0baa42f0b3a2ee8d73bc21d0b3dcdcbe0ba55555f3a0c32f33bcf4d033df82a87bab3a5b73a24f09a3b7c8bce3cc117d0ba2bd1843a50e5933bd7019c3c788428ba836ad2390f7de43a0e373f3c293590bafa99d03a944fbc3997de4d3b68ec2ebaadd27b3a990512bbfc4572bac15d3dbce8f13f3b5007ccba3ead263c9af49bbbe3832b3a52ed61bb9d327b3c1d2a83bb8fd7d8397ea26dbba89f683c7467bfb95d8ad8b9408379bb2bd0643cc5bb74ba05f70a3bdf877dbb994d313c9c701d3b0b2590ba779d1ebbee83253c4b7dca38ee9028b967b630bbb913f63b7909f43a142c09bb16d71cbbdfcc853b4a0dc8ba8f5b3dbaa1436ebab2373c3b06e24cbd044a13bc5aa95fbd68c3a93c58a181bd4a4bb5bdbfd859bddcf5c33c019092bd82e9cdbd598462bdb630ad3c256d85bdf942e1bd4bbb5dbdca4cb83c4d3663bd5685a3bdc1a455bd1e31863cf3d12abdda6e83bd8e6836bda023883cd091e7bcc5b5d5bc5f0d11bd50e8503c68d64ebc157c8e3abcd9bfbc2be5203cf28c45bb388ce83c5bf792bc3b7e0f3c18bc003cd98c47bdc8886a3e4e158c3fd005123c390b3cbdc0c5443e9bf28d3f6a50083cf19b15bdbbcc253ea683793f767fbf3ba95ed1bc0c31e43da6af593f4526b63bf68589bc91f68d3de346293f82f95d3be9412bbc3a9ae13c364bf83e1065df3a15f6acbab40f17bca72b983ebb942fb92b7efe3b7cb011bd90a5fb3d62d2f2baf085143c904d61bd6ca9993b2b6529be7f6fe33c0000000000000000d4a935be48ceee3c0000000000000000646210be502fca3c0000000000000000aae203be0039ae3c0000000000000000005dd6bd3e59b13c000000000000000015a1c3bd4d10b13c00000000000000008877a3bd05b0b13c00000000000000009b4f90bdb883c03c000000000000000043fb76bddc29ae3c0000000000000000ccdc1b382575f9ba0759473ba621983c5f66c63a7d0ecfbb72cdde3b4ee2013da24186399cc0a3bb414e1d3cbabc143db79bab39245d54bb1681313cf963fc3c702e3db81746f7ba2216113c7520c33c0f61aeb93adcabb925dfce3b4845973ca65c34ba2e7a4c3a6321323b2611203ccfe326ba89087e3ac6ca693620ea5c3b596244ba5f19a03a06f71aba07b89bbbc72203bbefce97ba3995c7babf2eef3b2649233cb0f2d7bbe41513bbe832bf3bc4ca133c8df597bb0f7bdaba7c7e013c860b143c02bc3fbb993922bbf9b1da3bcde8233cc30f43bb1168e2ba53dc863b1fa40d3cc47d7fbb37ba17bbdbbd2b3b4356f23bf77e79bb7278ce39b0aad3ba6947733b71bd55bbffa5f43a36f2bbbbfc1efc3aee6c0abb140d313a6e7a18bb54a6d5bc1fff97bd851f1bbd6a219c3c126b26bca33f2cbe299ee9bc2d60923cac6bcbbcc97e3abe86021abde0ee8f3c68a0e4bc4fe229be13bb26bdc374853cecadbdbcdbd205bedc0c28bde1c1763c52ec80bc73cac9bd5aa608bdb4834a3c5e5fd2bb298466bdaa18aebcf0f51d3cd3c9463a2c8164bc7cf7febb6ce4923b5e31b23b2c5c9e3c1ceea4bb6a35913b3494383b35ac6ebcf7fb003d98daa83f86db7e3b97ad47bc68d5853c1f0fa13f56b4453bbdf11abc848e5b3c2bac8f3f3c98313babebbebb1e10603b76b56e3fb27ddd3afbbf61b972fe1ebc0d38373f3a7c383b411d903a3c3e90bcc4dafd3e3f600ebae26fb33bce01a3bc1f428b3e719b79ba71e8c83b5f2923bcbff37e3de1afcdba3d491d3cae9b06bdf3c174bd0d1d2ebe4fa0d53c0000000000000000159826be0963dc3c00000000000000005c1a04be4017ae3c00000000000000009128d1bd97a6873c000000000000000045d4a4bd4874733c00000000000000001e3687bde5e1783c0000000000000000458a5dbdc19b663c00000000000000007f9b1dbd8a25843c00000000000000008a1140bd0408903c000000000000000000000000000000000000000000000000847cbb3a4295d2bb45bb443c7adeb63ca241ee3a7a49cdbbfd9a553c5261c33c72f5323a9b8386bb7a7d4a3cc28a963cadc1e839a9781fbbe195453cb0bf3f3c5b17623a48c03fbb406d0f3c20b5063c1c08fb397dc75cba10038e3b02cf9f3bdb705539b554c539d5b1023b986afbba00000000000000000000000000000000000000000000000000000000000000003a67603c24c3c9bb48e96eba71ec943b8ada713cee459ebb7c4402bbe3cd403b77ad863c6bc788bbe19e2bba4a96ee3a985f6d3c407022bbe88e31ba21b179b9b9b6733c572a65bbcc6f9fb9a6c9bcb92a92263c2d592fbb6fb6683a345fafbbaced013cf46150bb835ccf3a9bc4d4bb00000000000000000000000000000000000000000000000000000000000000006aed9cbba6583ebefa9d94bcc9411c3c0e922bbb7ecc42be0da8a6bc05b6f43bdae7ddbb6aa32bbecbc9ecbc7e11e33b52f7b5bb02520dbe8cbfdcbc43a9713b6446a0ba9737d4bd81a4b4bc8f08933b15aed73bba5a88bdb49a4cbce043033ba837363c326bc9bcd62a11bb666c7e39000000000000000000000000000000000000000000000000000000000000803fc66ed6bacbe1473ce896c7bd65a6a83f1e7a3b3a77ed153cdb2995bd47368d3f915b3db81d85173c736185bd1365693f2c630e39110e113ce20166bd136e323fc5677838c4d3033c8a3a39bd3531f23ee6ec15bab490063cb82ef9bc36d7803e7eefc8ba63ddf23bb836aabc826f2f3d000000000000000000000000000000000000000000000000000000000000000009a8babd07bd483c00000000000000001f0050bd8e7ccc3b0000000000000000691b07bde89db03b00000000000000002623b2bc0ac5ca3b0000000000000000dfd170bc1cd45a3b00000000000000002a5e1bbc3f75a93b0000000000000000c19a42bcb48acb3b00000000000000000000000000000000000000000000000000000000000000000000000000000000609074bbf698883c683518bc48c3643b52683ebbd50c8f3cca3e2cbc330baf3b206319bbdc8e6a3c46af5bbcd108de3b17dec6baae7a4e3c3a5474bc63e5df3be807a1ba042a413ca91f5ebc8ae4f93bc3326bbaf495213c0ea23ebc4568d73b7f6c1fba01e4d33b10ad1bbc6e86043c0000000000000000000000000000000000000000000000000000000000000000bedaa23b242db4ba4b6cb7bae7d68cbcaee19d3b825305bb0f5620bb48e946bc259cc23a82c933b9383ee1ba5f5049bc2958843afaaa30baa2aa1dbbf37024bc94af853a3d8e93ba3a6b1cbb361cb3bbe553ec3a0cfb7dba9f068bbbf149613bf2c2893a27b690ba962a67bb70080f3c000000000000000000000000000000000000000000000000000000000000000054129fbdc501fcbc3e0f143c77102bbbc56ab1bd1d75e8bc5bd7023c81a20dbb7d5d97bdd24ce0bc99e8cf3b2b7032bbcdba79bd1c9dd2bcae88df3bf9b8eaba645e50bdeb65afbc7e91f33b566e2abb352e24bd9d7c93bcbbdfba3b1ddda6ba9247bfbca7d67abc174c0a3c10571ebb0000000000000000000000000000000000000000000000000000803f00000000910bd83bb3bc7abd38ca943f2b9f4cbdd6e7553bde4135bd77a57b3f0d00f1bc1f366f3b92a528bd7932503f978bbabc6e27683b927613bd2bd4223f23899bbc50519d3abf0000bdb19feb3e745898bc9799a13ae5a5debce13c903e989596bc35d415baccdbd4bcbf82eb3d66a4d1bc000000000000000000000000000000000000000000000000000000000000000069190c3c64ce16bb000000000000000045830f3cbf601bbb0000000000000000261ff63be71436ba0000000000000000bd501e3c17c593bb000000000000000016e2203c5ac824bb0000000000000000b8d8083c1eb760bb00000000000000008a042b3c587a56bb0000000000000000000000000000000000000000000000006c10c0bbea29ad3c27d7e7bc2699e73ced49d3bb5b88f83cdd41f9bc65eb023d50ddb5bb6258d93c37b0e2bca423093d66f49abbc3f2d73c79daf9bc85eb083d086885bba139bb3caa30efbc604bfe3c399b63bb7e97a93cfb83d6bcb548e83c673422bbcad9683cfc99a4bc1780d93cea3beabad6284c3c945d91bc262ab43c864bfbba7d5d0b3cef9180bc4a549e3c1a7a63bc35ffa13b6faf2dbbf5c250bc082223bcfe72643b5877e8bba998703b039e59bc6d72853b9a26abbb75607bba05be6bbccbefa83b063fc4bbe39e2839ce9067bce663a23bc7e4acbb22f1873bdf635bbcf3129e3b4e2cd2bbebaf263cfedf45bc4f0d803b844bc1bb8323913c1d7327bc2bc72d3bb3fe00bc3766d53c0be435bcfc86763bff09c2bb87c2ae3c8d555fbddb3eb9bac9bd18bc2fc09c3a71b9f2bd2f579ebb062c07bce5c656bade6ffebd4bd01bbc5daa1cbc99271d3bcbe8e8bdb2d9c8bb5bc548bc2b33783abd37cbbde28536bbeade2bbc64820c3be685b4bd1af9a4ba19ff29bc49a4b03a1c6792bdd06c013b73710bbc6916d93a167959bd5aa5133c6f99c7bbbc4b0e3bcdc3e3bc86b6803c805202bc0cc23f3b5d702c3cb34fc6bd820b953fa6878f3da4a0ea3b0e42bbbd44438c3fb617943dae27c93bb68d99bd20d0713fae129f3dab37803b269b7fbd5943463f3157923dd823f23ace3c58bda44d183f184d813d603a063a841231bd7853d73e31c2513dc9781dbb609304bd5215773e8164193d5200a2bb2df583bc316c913daa20963c778d05bb682a9dbc010819bd0e415b3a384ad4bb8821d5ba0000000000000000d9ffbfbb40c00f3b00000000000000000c96dcbb7c25d0ba0000000000000000883bc3bac0ec32bb00000000000000008da0bebb76f828bb00000000000000003d327fbbd225cbba0000000000000000751fbabbcc93dbb9000000000000000056b5a1bb3927a3ba0000000000000000a9a5febbb51838b80000000000000000edd0b9bb9854ba3c47b22ebd76c2533d8807debbecb7f63c79923dbd73835f3def45b8bb1489cb3c33282cbd1868533d28579cbbdd2cdb3cf2ac25bd3dac413d842262bb40c8ac3c93751bbdfca43e3d75ff61bbd681a43c3e550bbd418b283d408538bbf0818a3c420af6bc803a123d41b7e0ba40a0523c97e0c3bcde50fa3cca8400bb89033f3c9ed9b0bcaf2ee83cae1907bd7b0f253c1d8783bb3c76f9ba3da814bd27ca643c1fa0e5bb1333133c68ee08bd8d75483c2b5a9bbb40096e3b689d01bd540a373ce7fe00bc3775333cce0607bd0baa2b3c55e6e2bb44e6573ce81aebbc43642a3c421ef4bb7126a43cdb43ddbc444d213cc59cfdbb3402a83c0483bfbc11d1123c2e3d13bcd2c2f43c0a05adbc8a16f23b0ddb01bc47f3d33c395e77bd82f80e3d881ff8bc89c2d93b6c2ce5bde68eeb3c8c6dfbbc28f29b3bbf2cd3bd9050b83cbd3504bdc21ba43bf292f5bd8a17c93c7abefcbc84e5e53b6494d0bd1e7ee73c534b03bdb6f7013ce56dc7bd8244f23c780c00bd59fa013c91d495bda29b0e3dd13c01bd67e9113c5bb285bd5b56233d694decbc3a8f053c884e35bd6b8a2a3deb98d9bcb7de0f3c71ff093ca3b1bbbd22f1773fba46723e4a28d43b57e1c1bd243b6d3fda36663e62e09c3b74bc97bdb8d7453fa31e5e3ed9313f3bf19481bdeaab263fb48d473e48f7823ad5fc4cbd0facfa3ec9c22b3e19e5bfbabdd11cbd2ac4ae3e9d8d0f3ee4d9b5ba6f91f5bc96d04a3e86f7da3d9970a5bb901229bc64e0463dee18943d97ca88bba1c400bc487d44bd8866193d323ad0bc686fb13a0000000000000000ddc5d5bc2cbf84b9000000000000000029a2babc26a86f3a0000000000000000ee69c0bcdb7c0eba0000000000000000181fb6bc8e3a03b90000000000000000eacfc0bc5d5320b9000000000000000030accabc63343b3a000000000000000014a9cbbc4fabfc3a00000000000000005e81e1bcc4aa933b000000000000000077d68abb4c0d983c3c7649bd40df8a3da66dafbb3661e23c55c055bda9e0893dfbaf9abbb11dd03cbe063bbd29ae7c3df6c983bbf1c9bc3c27902ebd35126c3d333d7abbbf02b63c4a4126bdd675593d7db132bb4d16913cb05b0abd2612383d6ca42bbbb2d9823c48efe8bc0ce91f3de46ebcbab3113c3cd803b4bc03b0fc3cfe8951bb24be3c3c3335bcbc2024003da26d4abdf126863cd68f6bbbc20a50ba42e353bda3eb983c2bc30cbc73b2683cbdff48bde0e48d3c1941f9bbe6d86a3c893f39bd87da8d3c0163e9bb8cc4893c7f5137bdd432913c8e2302bc23cc9c3c88391ebd41ae703cb6d300bc4293b93cc37b0fbd1695623c64d701bc858ad03cedcffbbce1c4523c4a7c08bc1208ec3cbf3adcbc5ce82b3c9e88b8bb72a6cd3c997a81bdf3af833db71a53bd0fff303c14a5e4bdd4a76b3d36f74fbdd8a6413c2bb3fbbdd2814d3d22f357bdf3d34d3c54faf4bdcbde453dd1a559bdf3ca3d3c1d27e8bd3e99543d54e65fbdba094f3cbf89cfbdcefc573dfab051bdb5a1603cc930b3bd5ec5623d80b444bd4810683c834994bd7cc37d3dca6e3dbd74d4613c18f957bd94ec823d732c2dbd21535e3ce291e73bf87ea1bd1556473fcac8d33e7d74bb3b3aa9a5bd1e703c3fe99acb3ea2e6533b5a3185bdded3203f297bbf3eba4c913a284559bdd7cd013f64fca93e8509beb961d221bd21a4c33e4276933e11f0bdba31caf0bc79f2823e030a713eaf7a66bb854f94bce331083ec516393e6f47bcbb10c58abbf711983c6337013eed2aa0bbc54888bbdde760bdb0ae8e3dc9e43ebd85d66f3b0000000000000000802945bd1d51bb3a00000000000000000bcb3dbd721eff3a0000000000000000b7942ebd7bd6173b0000000000000000e76531bde8fcb63a0000000000000000077c35bd3a54673b0000000000000000326647bd22eb9c3b0000000000000000d25442bd5fc5c43b0000000000000000b00746bdc70df23b00000000000000005b8059bb82298f3c58f44cbdf093983dcf3a87bb2397b93ce01248bdc9f3903de6015fbbab51993c32da29bdfb317a3d28eb44bb1c30aa3c091321bd71b96a3d762c04bbcff0713c492118bd4b58463d637740bb80fd853c674bf7bcc7bf2d3d2ce2f3bacf8a3d3caab1c1bc8bd20e3d8670d7baa105203c6fa9a0bc4624ef3cde009bba2314133c72899abcd5a9e13c644f6cbd8f7a953c6a496cbb11c48e3bd43b70bd70bfc03c28a7cdbb37e2803c7fb552bd91ac993cd283a6bbfa3c543c04fe51bd576e9c3ce2ca00bcb006a13cb9fa24bd1cff553c8fe4aebb4224453c885b2cbdae0f8f3cee93cdbb361ec43c3cd80bbd8563593c755dbcbbaa09af3c097b00bd7f3e613c5e2cb8bbd155e03ce0bee3bc73e3333cec32dbbb5460c23c7cf692bdd1cea53de35d86bd6f2e8b3cfaefe0bd61f0933d11a78fbd86f2623ce89adfbdbd8b773d55d086bd776c783c58e6f3bded087b3d759b8ebdd432933cc7f2b6bd81db7d3d3a9f74bd01e2743c06a8cfbdff30843de98488bd87d6963c9021a7bdb96b863d58e872bd368e8c3c705891bdf0bf913dc39978bd668d993c769b61bdddd5933d45214dbddee58d3cc577923b26e080bda7dc173f67e3183fd0158b3a78cd6dbd95ee0a3f301b143f4f98013b5f6240bdcde1e93e5121063f671bba39f9231abdf0efbb3e716ef13e949cec3ab503f2bcb67c8a3ee0e6c03efa7f73bb5b129bbce54b313eba08a63e387457bb4e4529bc682ea83d8b49753ea782efbb2be11f3b911227bc3dd02b3e819d95bbf661e93a9b7989bd1240b73d74f386bdd348bb3b0000000000000000411c8dbdf3a5af3b0000000000000000ba7283bd1910c63b0000000000000000f0e884bd7030cd3b000000000000000087236fbd0a4ff63b0000000000000000772083bde2a8e63b0000000000000000dcbe80bdd2c2123c0000000000000000cba487bd04bc413c000000000000000045ca83bdbeb13b3c0000000000000000e85a22bb7922853cf52d2fbdb5178a3d8a4141bbfb8d8f3cb26c12bdda6d773dc4031bbb62b0803c4b15e9bc8841593d2dfa00bb35a2613c67cfc9bc01d2393dd01dd4ba3ab56b3c9309bfbc808b1f3d83f86aba0a2c173c0af47dbc53ef003d37fc9fb900fde33b16b746bc8862c53ce85f13b85aaeb33b447effbbec568b3c9a6b8bbaa343d93be5203fbcf3cea43c22e763bdf11fa33ce7c3afbb58e90b3ca36d68bd2ac9c03cdf53dbbb6328983c1f614fbd4178a83c3a36cbbb1ef4923ca65039bd3aa1a63c6844cbbb383da03c85de29bdf5ac903c8abddabbde19a63cfbbc0fbd7481813cb1fdc6bbffb2af3cf7cdeebc0c5f633cde81d7bbf5c1b53c3395c9bc1d224c3cfb41c2bb07b1b43ca649b8bce20f0e3c50679fbbe9de9c3c85449bbda3faa73d10c49abd83c68e3c1e06dbbd29a0843dbfe2a2bdda1ca73c51fbe7bd5bea4c3d511e9fbd28d8a23cc1b7e3bdb450463da8d59bbdf825943ced08d5bd34225c3d1bea9abdb8b2ad3c69e2bfbd6ff15b3d535d91bd3c43a13c5497a2bd30e06e3dbb478bbd0b97ae3cf49682bdab76843d0fb480bdb7f1b03c6b4b49bd3c478b3de31759bddb7d9f3c75fc803ba13d34bd8cbbd03e7d23493fb127c73af4ec23bd8ad8b93e9b19453f8275133a4a6af8bc93fa9b3ed234333f66d08dbae218b3bce645713e48571b3f6fbec7ba172b5ebc1e66283e4b84013f9c022abb3a2efebbf0c0c13d80a8cd3ea16959bbe427c13920f0dd3c8f1f973e100cbabbd2de193c3dc01bbda8d0453e5ee388bb47a7f33b7fba95bd7167c03dfd5caabd8ad9133c0000000000000000c690b7bd0392dc3b00000000000000008fe5abbd0a17023c000000000000000075eaa0bd19b30b3c000000000000000075d19fbdd2af193c000000000000000084349bbd1784333c0000000000000000ab579fbd7be74c3c00000000000000000af7a4bd17e86f3c000000000000000074c492bdbd6d6b3c000000000000000044b084ba37a0103ccbe0c5bca8f9453d93cd9cbaa5be053c2e0369bc0568243ddd6b81ba4fb61b3c908675bc81d60b3d879246b950ebe63b23cdd0bb087bdb3c7b2a0bbae9cfc43bb14704bcffe1b93cc3b71cb93f6fa73bf171f2ba5f2e623caf6b53ba6d52493b80b7a2bba005543c0140b13a1b769ab9a41c963b7b9cfe3a78be3839e32e163a21a6a8bac27de73bfccd39bd1fc79d3c441a5ebb5cda2a3c93072fbda8feac3cdc318abbe5bc823c4c3215bdfb76893c40a299bbb0f85f3cc9a105bdaa5f8e3c2c9fa7bb21a7813c81fbf0bc5560633cb3ff89bb7c536e3c3cefbdbc0ef2553cfc9287bb7864803ce10395bc066f2c3cd08329bb5057803c925556bc0e8f1d3c7c2186bbb866623c410943bcd258d63bd93e1ebb6aff3d3cd5bb8cbd445d723dbb8995bd6481973c27b7bdbd6f02fb3ce73aa1bd8b31a43cbfe6b8bd1046d43c353397bdc748993c5281bfbdff10963cdc819abd599e9a3c99eea5bd9334e73ccd8d8ebd8f93983cec9598bd5c15f43c50228ebde147a63cac0b65bdc6de1f3dde477dbdccb5913c23c430bd9eaf353dadb96bbdff94a63cd9ec06bd8515523d383940bdd552943c405f33b98acecbbcc83d6e3e3a66793fe5576b39af09a6bcb00f483ec9be743f6c4d7b39a03b6fbc2eb0283e6d19533f46d440ba106e07bce3c8ee3dd15b3b3f7f9697ba386740bbfa76973da464163fea5c29bbb345943a3ca0eb3ceb7bec3e937530bbd7ae333bb60629bc6859a33ebf0b75bb38fe473c477f56bd8034443e26a380bb41e9423cb0fc91bd9714983d17e0c2bd2729213c00000000000000002468d2bd6f2e093c00000000000000009cb9b1bdc19a293c000000000000000007bbb0bda1b2313c000000000000000016b7a0bde09e423c000000000000000064aca4bd3684543c0000000000000000a4df9bbd69487d3c00000000000000004084a6bdde50883c0000000000000000d2f595bd7ecb863c0000000000000000a0ea73b9c11d5e3b6264a6bb1c3dae3cbb3a153a6ec5dbba33f8563c355f2f3c550d0d39401f9abaec93533cc671153cf905c73986e80a39bad4433cfc9a673b7bb3cc392ad5fbb8db443c3c804ef4b9fb98333ac5a1e4ba12f6713c05fc86bb81a6bb39ef3612bbac03473c4b8ccbbb27c95c3a518dbcbb0ef1653c05460ebc901c443aceb2f9bad10de83bf28ccfbbf613c2bc6151493c0b1c13bb04860a3c28787abcfb6b533c5802f8baa56de03b6c104bbc34e3323ce5b7bcbac4faf53be03121bc3c55203c3e01d1ba5aa7c83b80c3edbb0687073c1519deba1724033c227a6ebba6c7d23b2d7c9bba0970533ad47d37ba021ca23b91e181ba4689c03b69e8853af1c43d3b57ce593a235a71ba0d28723aa7e51a3b86609cbaf8d5b93b26786fbd22bc783cc0227ebd02e9833c72e076bd1b7c12bda4d97dbd83b9823cb9a981bdf33437bd11e77ebd80d36d3c811978bd71b811bd7f537abdf0626f3c31975dbd48a7bbbcca546dbdb2f96e3ca31836bdba3f88bc588d54bd0985713cf041f5bc32e1ecbb9a3b37bda6036c3c8c3f4abc2656b73bb46f1ebdf4058e3c104158bc8ce4cb3c68f3febc1e5c543c326ad0394ecbebbba9d38c3dfc3c953f792aab3a0a519fbbceee543d0d818e3feb0a4d3a14bc6fbb03a51f3dbdb77a3f7d55b3b96119ff3a23d5a93c4922523f8b8135bada62653beb2e3c3b75b9263fe1deb53a4dc4f33bfbb286bc36d2f83e603678b97cb37a3baccd01bdd409a33e194ba0bace610e3cfdd648bdec021d3e7116c4ba469b1f3c626f7cbd5b070e3dcc93cabd1cf62b3c0000000000000000bbfcc2bdecbb2d3c00000000000000000898a3bd24db373c0000000000000000e66793bd57ad373c000000000000000031fe84bd5b19353c00000000000000004de687bd99e74f3c000000000000000041a283bd7d914f3c0000000000000000289686bd769e6d3c0000000000000000c69583bd3aeb773c000000000000000000000000000000000000000000000000e21c8a3a5fb788bba5a9a53c38f03bbc8fea923a7c1563bba7beae3ce0fa86bc37b09b3a2df28ebbc12fa83cf6b693bc73828e3aec9efcbab9558e3c15a39abcf4a5583af1e534bb286b803c363995bc214db33a0f1799bb81fc7f3c31338abcb9146c3a597396bba31a723c8c5c91bc00000000000000000000000000000000000000000000000000000000000000000603883b0cb46b3b219d63b93ab5033bda6ff03b40e7023b90a9e8b953969a3a7a12e03bfd88053b4d5a0dba71dd003b05ebeb3b8157af3a84189cbac9a365baba49193c489f3a3a8b9a423a2e92343b3421353c71f993bafc3172b97c0809bbe26b473c32deadba0ca66f3a3fc100bb0000000000000000000000000000000000000000000000000000000000000000a98c10bd1fb889bd535807bdb732d63be147f5bc9c0898bdcec1e6bcc25ed03b571bf4bc9c8e7fbd8bcde1bc677b6e3be9cebdbcdb6d56bdcc33d9bced7aa13b15778dbc04e330bd796ac6bcb015a13b68caa5bb85a012bd352fa6bc4022b53b95d5353bb1afa8bc0c5263bceca1b43b000000000000000000000000000000000000000000000000000000000000803ff0bc413a718ded3b2e436dbde565953f817d9039eb33ef3b11bf30bddf397d3f082c2f3a5106c73b0a0134bd71f2513f59231d3b89bdd63bd6512dbd84d8253f8a2047bbf6e4c43b447a2abd55c7f23e0a3ded3acc29923bb5391ebded28973e21be7f3a68e96f3b03bb23bdd818043e00000000000000000000000000000000000000000000000000000000000000001f006cbd9669ef3b000000000000000084881bbdd891aa3b0000000000000000a54bfdbcf363d13b0000000000000000d148d1bcb8fda53b00000000000000005704d2bcc6e9c43b0000000000000000ce54ccbc2a23ed3b0000000000000000406302bd20dde43b00000000000000000000000000000000000000000000000000000000000000000000000000000000f1c12fbcf5f4083cf391393d4c34003c76a8f3bb7239123ce460373decb8133c0fb3a3bba14c403c704a103d3a54413cd200abba0c33233c0e3aeb3c7496323c406c52bb5a97193c7b26bd3c3bf7503b609f9eba498bcc3b41b33a3c6a88343b555634ba835b6d3b01ce843be495e6ba00000000000000000000000000000000000000000000000000000000000000006c3798bba4a09fba04190a3a482d003d39f0583920d2d4ba4176a9ba0602943cfb3d513b7cf880b80c583fbb00fae43b49355e3bd9843cb9ce9c06bc165f593ba707d43b007b07ba1630c6bba0860abba423813ba4e5043bd7b2f9bb092ab1bb64233b3b326ddb3a7271fdbb06ad79bb000000000000000000000000000000000000000000000000000000000000000042eb7ebe663aeb3a51ef413c6be022bb8b1c6cbe836e51bc70e2e93b33cf88b9826b5bbe9a8addbc588e633bfb6da6ba6d962fbe560addbc48cc833b24f372bab7deefbd28dfcebc02c8b73a2085a0babb5b73bdd5abb1bcc3c97eba263c89ba2acb0ebcf19014bc1aa5c5ba81d594ba0000000000000000000000000000000000000000000000000000803f0000000069b0c83cb7a007bec374ae3fe1dbf1bdb10d933ce40dacbd8436903ff3c881bd85a7833c50d389bd64e1723f71862bbd9995683caa462fbd55fe343f1217c8bc9faf423cf7d690bcc327e83e425df9bb6bdf143c8f53953b35c6643edce90f3c6a0fb13b6079b83c3b61a1bb284e0c3c000000000000000000000000000000000000000000000000000000000000000061b3893cf0fb1abc0000000000000000a38e1f3cf76b0ebc00000000000000000fe9b03b5270cebb00000000000000001f187d3b5247cabb00000000000000005559aa3b8e2ebbbb0000000000000000f269273b3f9b80bb0000000000000000c8cf183cdd81c1bb000000000000000000000000000000000000000000000000740639bc169f633bbc8ecd3cd2ab933bc0ae53bce825833b76cd313d70bed63b3f4310bcdcb9213c816c3a3da5704d3cdc65f0bb83c4463caad32a3d7f86423cada375bb85ba243c9446043dd95a1e3c76c1a4bb5c381a3c56fac73cb34be43b756f4ebba0f8003c0c826a3caa3f6b3a12ee3abbd03e773b1fcc113cea2021bba1d19ebbb4e137b84007313b39adeabb63d9f5bb8fac963af06a973bb15dfe3c8fb4b5bb1926413a101155ba0e401c3d71468eba19fa1c3a04818339b197ac3c08c7773b4764ab3abae23fbb2888643c1e0fae3b1a50b23a486babbb049ac03b1f6cc73bff35533b904bd5bbf2cd52bbd0c0013cffcd013bd16bf9bb37b0a4bb4988cc3b6219eb3975af12bc9e2bdbbbed972a3b62bec93a4008c3bbf5ea143b342322be121ac03c4b84dfbbcfcab5392da755bed312613cc73332bc7558503b196975be8ef25ebc70a3f6bb80532b3bbadc61be259cc2bc22ac12bc91bdde3a535b2fbeada2e4bc650648bc8d9b393b54c2e6bdf0e602bd286940bc341c003b72d066bdecfccabc84472cbca8fdfc3a6ef03fbc306f82bc6b1e17bc7d5c5b3b0692ae3cafae9e3a7f63d2bb50282e391c613a3d7bd866beef2fae3f85e0cebb7962213de1143dbece9b993f443b1a3d9b89093dc32e23bee4a08d3f14663a3d925ff73c8e13f9bd0a66663f5fd46b3dc969c23cdbe6a2bd4b42283fa05a8f3dffd6aa3c0a5726bd70ead23e37f6973df4d9823c843921bc296d3b3eee338d3dbe2b143c2a9c883cc2b6613cb382753de287093cf5eadc3cde0e16bed234bf3caed188bbcc55f3ba0000000000000000f6006cbc8dcd81ba0000000000000000a71095bc4a9452ba000000000000000011d688bcc78448bb00000000000000006bc083bcb8c694ba000000000000000028738bbcd5fa9cb900000000000000008c7e87bc4c3e6a3900000000000000004d4b82bcef142b3b00000000000000005c94a3bb7045003b000000000000000016fbd6bbaaff3bba6f2f9a3c8ae3063cf03605bcf462903be98d0a3d984c5d3c574412bc209e003c52ae223d7467933c2275c5bb05380f3c20b51b3d415e873cc6ec6ebbabf6003cb313dd3c829f593c1c96bbbb3b1bfb3baf85c03cea5cbf3b63d9b8bbc7dac83bfcc46f3c73c62d3b30aceabb0a52923bcc150a3ceddf94bbe97cd7bb206b863aa38c983b4daddebb85c70bbc96322c3b9409993b7e5a923ce23a8dbbb5aa163bdb524a3b9c75c33cf004313abb447b3aef88963b0731803c3e72673b8cd98d3ba6544eb891a50a3c82afe63be60f4a3b96d787bbc71f9d3b09ae2d3c0ffc2d3b1acc3fbb3da7b4bad78f023c60e17f3b7905c5bb539972bbe5093f3c29e7c6bac905c9bb7a2c94ba9c2af23a97a9de3a18903cbb2271823a52d9dcbde7d7eb3c1303d3bcb5eaba3b902c3dbea17f6fbb4014c2bc24a4f33bacf751bea567f2bc3eccbebc53d0fc3b69903abe617328bd13cdeebc39b5013c9a4a0fbe30a82bbdbc71d0bc6d4eff3ba56ebbbdd33a2cbd80becbbc1ef1fd3be3b42dbdb96b00bdcd9ab6bca24fb43b3cf7f2bb10328dbc01ba6abccc7fce3b67966a3c80121f3bbf19e8bbabc5983b4d7c1b3dd6ec57beb6c38e3f59df543e7aba2c3d022f5dbe60cd8c3f1d325e3ef6630d3db28536be4b5f783fe20d613edccefc3c76700bbed801463f8fe35c3e0717d63c507bc4bd3a030f3f6c92453e2e60b03cafd35ebd3a3dac3ef7c4353e58dda13c133cb0bc560a113edd430a3ef897863c559b46bad88911bcdf6cb03de0b8163cec02193c040ccdbd59b2213d362f4fbde32e1c3c0000000000000000e1be71bda1ba073c00000000000000002c2762bd3f4bdb3b0000000000000000da955bbd21a6023c0000000000000000adcc41bd34b1a13b0000000000000000eb813ebd1d63db3b0000000000000000dcd317bdc3270a3c0000000000000000d10a00bda24af83b000000000000000095edc0bca4ffed3b0000000000000000407405bbc8ef96bb45e4693c6e07453cd2afbfbb183b06b8c99be63c14d9a93c3e73a9bb8efb943b56cdf93c018ed23cff1e8dbb0183b23b9d34e43c10ccab3c8d727cbb0650ba3bc20cc13cd6b67f3c456d98bb0d64be3b4287923c77e70d3cff1fbebbda7d983b23e1563c090b653b12d7f9bb90308a3b028deb3b09e57dbbf3ae41bbb4b052bbe71bb63b99f70abc90b8f7bb1b9d053ba58eca3b6549c13b976588bbdbb1833bc171953b30fd823c0acb783b9cd5d63a018d7f3b351eeb3b4260dd3b27c5973b0b93ec3a00bf603b593b333c8070173bbf0e34ba23ff31bad0c9443c28cb813bd2cb46bbfb07debb8c1f373c6fbbd73a181c08bb2b0bd2bb196d303cd37c54bb756d01bbed6e8fbbd537a93b1b57853a2a8f95ba343058ba7823b7bd41069b3c1b831bbd8a6f463c5f6b14be7fbed7bc28a21bbd790d4b3c9ed41fbea9b573bddad420bd18d0603cd2e00bbe52808bbdf76c20bd05db5f3c0b64d4bd63a990bd54c61dbd121f613cb15e80bd86ef72bd109806bd3ae6473c6c1cfbbc80d823bdcd3ae4bc09a3303cc05a63bbac2d95bc11a284bc090d133c4478793cc644d33b665035bc6f2fe73b9ee4f23cbd1944beeb256d3fd924e03ef16d0e3d371446be2a6c613ff771e83ee4bbf53cdc2824beb2db443f5929e23e491aca3c1d39f6bda7c8193fc0c5ce3ee53cca3c79e7b0bdd0e1d93e1e3cb53e80beae3ca4d04fbd67b8803e78de8e3e0aed873c69d5cbbcc13ed33d4871453eef116f3c1e0ef9bbd12004bcaeb8d73d557d543caa4e84bb81beabbdcf01043dcb58d3bd74f6983c0000000000000000867cebbddd37b33c00000000000000004929debd54619d3c00000000000000001a01cebdf8028d3c0000000000000000e2cbb5bd108f773c0000000000000000dd839bbd80774a3c000000000000000085ec6dbde8245f3c0000000000000000d32a41bd3c8d863c00000000000000006dfa11bdf3305a3c0000000000000000aee11cba1e6fd7bbd2c2423cd71c8d3c06ae5cbb4e2f51bb1e78b13c26c4be3c3c582fbb8f4e26b971fbc03c12a6e03c935a3fbb432a493b21f6c03c1185c83c2e1748ba4745923bad0c8f3c06ee923c8aaa1cbb0d262e3bb41c7c3c1844553cc73bfdbabc74e23ab897253cab325d3b5258f1ba881b0e3a0ae2d93b78bdbebbc68356bbf6f58fba2d128a3b3cd312bccf1f1bbc264e923b705e833b4e15463bf5b3a039f961113be108bc3bc4a1ae3b1d74c23bd062413b085c813b3926543be0c73d3cf193803bc680ec3aad489bba732c473c7bb4643bb0b34bb955a39abb65af853c5f59a63a093c2c3ab91d14bc1fdc4c3c27ffd1ba05d9fcba05dba1bb62284a3cc1dd36bba93d27b9cb1dddbb4bd3513bd24933bb58698836a67128bbded775bd90b2de3aea7726bd198e643c4d77c6bd3d9175bd7e322bbda10f8a3c308dd7bd2377bcbd773535bd70d87e3c9f29c3bd25e6d6bdba023bbd0b9e8a3cbd048cbdd163a6bde6e932bdbed3553c959132bdcca49fbdddc71bbd9e295d3c3045b1bca8732abd33ffd3bc291d3b3c8306f7bad0b278bc121968bc4385033c05b7443c2db5a23bf9b839bb93c2cb3b2107ae3ca71e1dbe58972e3fa328323fd32fb13c7e6117be313a233f67fe343f35469b3c54ecf3bd3a440b3faca32a3f65089c3c9e0dbfbd7b84d83ebd23193fbce9523c3e1b80bd73f1953e66e8f33ebc97703ceb9d27bdd26f343ef1c7bc3ed7c5743cfb4bd1bc6e3c9d3de44a673edc6e393cd22a47bc6f941dbb99c6d93da270103c9b061fbbc52079bd4a3e873ce7b921beb9abea3c00000000000000002c2b29be4c44f63c0000000000000000bb4119becc46ce3c000000000000000077fa0abe99adae3c0000000000000000d196d4bd49287e3c0000000000000000e9b7c2bd86a6a03c000000000000000055c394bd8f909c3c0000000000000000730055bd96be933c0000000000000000c4fa2ebd9025953c0000000000000000e0ec1abbd6e90ebc04bb303c7ce9853c4b8706bb629ac9bb04be783cad84e03c14722fbb1a725bbb641c9d3cceed0c3d1fe1e4babd0f8e3a45109a3c99ebf83c399207bb3eca043b644e703c0fa4b63c81274cbb65eb483b6a36423c6b6a6e3c65ff29bb919a213be6b4173cd1cfb13bfef18cbb1410263bd676743bd2bf15bb5e6095ba3ea183bb53c0313b5b1dfdbb5c0245babc097d39ef854b3bf628ee3ac88c113c970cfdba8777603b1577563a9f3e763ce40943bbfea0503b8b2401bb7655963cb95b15b9d53ce63a0bb0a9bb0846b63c0717a9ba25aa343ab457b7bb3578b43c84aa9abbd118833a83a805bcde239b3ccdb2a2bbd009463831b814bcc974873ce00013bcf9d98c3a8945c7bbc2171f3cab29f8bb8f2dcb3a843a8fbb68e708bd5da9e1bc13aa2dbd5db38a3c6e034bbdf080d6bd661517bd4f328e3c3aee6cbd73e511befc7e35bd5861a83cbf264ebdc4e212bee56041bd07ed853c0ee42cbd823402be004f29bd188f7b3c5213fabc82ddbfbda6d302bd424f4a3c06658dbcb0e159bddb94bbbcfda2003cfa9e81ba8ff4babc05d7fabb7dcb823bf3f9413c8af9d03bdc241dbb0e8acd3bede34c3c35f3cebdd169da3ee030703ffb6c4f3c63f0c7bddd3fc93e8fb8703ffa853f3c14279ebd863ca63e9e83613faf5f333c4e226cbd6b497d3e014a433f0dc12b3c5a4d2fbd4457333e5fea1b3f4be32b3c330102bda509f13dcf2cdb3e0d1d2e3c3b33a0bc1629703dd85d7e3ecb5c223ca58a7abc322c5d3c3f20c73d58d5d03b21a5cabbd0b500bd3e70b9bb3b7347be8a2d1b3d0000000000000000f7f652be40392b3d00000000000000001db239be8318003d00000000000000002ea821befda9eb3c0000000000000000fc1d03be1cccb83c0000000000000000ba69cbbd3ca3b03c00000000000000001f0c96bdd0d7ae3c000000000000000058c949bd4121af3c000000000000000016fc2bbd62cfa83c0000000000000000d4f9d5b8b0f804bcca677f3b3ced8d3c41eb26ba6a31f2bbc8dd023cd379033d7c6defba38e971bba1e25a3cd40a1c3de0ab07bb953ac2366eea4b3c366e143de36767b905a8f3392a86313cd4e0d83c030152bac681303b7758213c06bc8c3cb74e91ba2ce81d3bc190893bda59093c579a7339663600b9118c433bc2a007bbaef16c3a70c2abbbd0f2b93ac955dcbba55c7c3b4a22c4bbc2c8fb3aecc075bba270833c0282fabb988fa83bd01e20bb2ec1b33ccc05d1bb4c5fa83aba1162bb981bcb3ca07fa1bbfc97523b4d51e2bb6885b93c589554bba8d3823a0f80fdbb9d50cb3c38d6b6bb007dc63a791824bc599ba13cafd607bc0728423b45a711bc5ed2913c452850bc98c7c63a47d8edbb0645043c3da7d9bb2ad8e33ad90d63bba033a5b92e1a70bdd237b8bca164843c7e4cfabbee321abe25d5e1bc2c5d8b3c170390bc830540be5f9910bd1c5b8d3cf48b9ebce69b40beb9db13bdd628783c0a6c95bcc79619beef6207bdbd051f3ce62d89bc7a84e9bdcfbdcebc532ed93b0b6a22bccde582bd7efd58bc3e56463b3d897dbb8106bebce91f80ba9a7c073b61e70b3cacadcf3b0861e03b6ce2e03a70886e3bb00f50bdb01e4f3e318f8f3fc0f0893b3eb541bd18ed2b3eecfa913f5c29273bb9bb10bd7ddd083e01dc853f4ab2623b43cdd2bcd80ed13d867e633f42e49f3b7599a7bc9c1da13df1052f3fc7e0823b4f4f8ebc09ff7a3dc59eee3ee808813b899d6abc4259313dfa2f7d3ebaf1e63b66af4ebc9fbfcd3cd9698c3d7afb8a3be24329bc68aae63afbe02dbd71c55bbe85a7373d00000000000000006b6b62bee9f82d3d000000000000000078a943be6c8b0a3d0000000000000000e6ce23be5450e63c0000000000000000c756fdbd560dcb3c00000000000000007e83bdbdd22eba3c00000000000000000b5e7dbd4c8aaf3c0000000000000000ca8514bdd765993c000000000000000018d5edbcbc10883c0000000000000000acf57fb9517b2fbc0693c63a4097be3c93e78339716db6bb63489db967272e3d797624ba797496bb4d86053cf6ba463d1d3358b91ddfbfba6c89133cf8f8323d06e8d739bb6a483b6bd2003c7ef2043d755b283ad7e4fd3a45bae33b2e46d13cf9c49a3acb99813a4d86b63b7c41343c20a11d3b145bb8390e59293b4919a3b9fbe1e73ad2ce18bbabeea5ba4b3112bc9d6d4d3ca45845bcc81f393a388b943a64b5943cf3446ebcda18553b890b95bb0bd7bf3c80d01abcd7304d3bd3a858bb0746e23c8baceebb1c49ba3ada239ebb17f3dd3c7882ccbb48c9cab87464d7bbbce6c33c8393c7bb1dc8ce3ad2df14bc53b79a3cc0dfecbb2ef9e93ae65101bcf6ab713ca293e6bb1ca1173b616deebbdc94063cafdc1cbc16c7d63ae365e9bbb666be3c70e207be9ed178b974ba653ca880a83c657143be36441bba7f183b3cf1d1c13be4166fbebfc693bc783d313c7af474bac93564befdd3b4bcbe65123cd0ccedbb2b9f38be22cbadbc06fa5a3bbab81cbc776306be7bad89bc266831baeb7121bc784a92bd61e029bccc1a48ba143606bcd826c0bce6641339ce6dc8bb7bbebc3b4ff47c3ca461823cd76fc3bbd41299bb32ee88bb2f18febb2afdae3fba2e62bb0a430ebc9c02583cd7569b3fd26fe8ba7b6389bbc1bec5ba91f3913f36e5e8ba11d41ebbae5b4d3b063d723f409195b9d7c609bb0a71d83b1484373f5306163b66929cbb27d0ac3cc74bf03e190aba3a5c7fbdbb0363ee3c9da16d3e7d17463bec3f1bbc4cc1103d560d433dc9e7363ace7e9cbb4086c53c227ff1bda9736bbe960f2f3d0000000000000000461f37beeb77093d000000000000000053f31ebe4edec43c0000000000000000dff7fbbd0072933c0000000000000000b6d1b5bd4bb86e3c000000000000000052425fbd17433a3c0000000000000000eb9cd2bc4c4b153c00000000000000003237a3ba7c00e43b00000000000000006109babb3be3473c000000000000000000000000000000000000000000000000849272ba50a4efbbce59543b9fbd413d60ddebbaa55725bbd88b123c37cf383d7fbabcbac625803a8e991c3c1879243df2bb88ba43e4073bbaabe13b0998fc3c7003c2b931a24e3b77de013c958bb23c8f410d3a2780063b4178733b49ee333cc3c50e3be266b6ba9456fc3af440dc390000000000000000000000000000000000000000000000000000000000000000eccd923cd71044bc111a043a3768803bc860ad3c3b15febb5b5f9e38ff0c0f3a2695bb3c6ff9b2bbc5018a39e53bbbba709daa3c18872ebb1f8f843a6f2186bba7af923c5b2b8abbd34ee63a6c6d00bc1a984f3c0a224fbb6475a3399e86cabba564023c78ac93bbc09ae43ae60c02bc00000000000000000000000000000000000000000000000000000000000000009bb3e93c467380be8ccf2e3c1c0e8a3b2f21573ce78473be1e6a6cbb5aef2d3b19dc9c3bb38564be995b73bcef53c4b95c49323bcd5f37be2c4c87bce98c80bb0d7895bbc183ffbd1d0445bcef07a3bb58b2c9bb3a9289bdd277d5bbb2c4a7bb6704f0bab6bc6bbc6a76d43b860d11bc000000000000000000000000000000000000000000000000000000000000803f01b90cbcb1f7ce3ccb6e05be2b34ae3fa01c85bbb7aa823cbf83aabdd3618f3fd70876bb63b67a3cf4cc8cbd2587703f42e031bbd59a463c23c73bbd33bc313f12b712bb7bcc283cd3f3abbc688ce23e08be0b38adb39f3b0d628b3b41a7583e3fe492ba9c9b623b0383ce3c4fb860bc0000000000000000000000000000000000000000000000000000000000000000ca84f8bd3265843c000000000000000038de84bda9bf953b0000000000000000743d33bd8f14173b0000000000000000b14e8ebc8d080db9000000000000000066b1b23a2aa788ba000000000000000010d67a3ce9d686bb0000000000000000a14cb53cc93f76ba0000000000000000000000000000000000000000000000000000000000000000000000000000000057b5f9bba85fa8ba6dfb373dfb054c3c48408bbb826771bb48813e3db2b0093c897f86bb6f50c4b91b30233d16512a3c45f259b82b85a9bac7c7fb3cde6f123c11503ab8a3c243bb95e1b23c9305b93b2a4c9939cfb212bb16f14d3c63a37f3b22569bb939dc8fbbb3c8763b04bf2e3b000000000000000000000000000000000000000000000000000000000000000005a9cabb19355bba51a306bb6fa91c3d05143fbbeb7712bbc55a68bbc98e0e3d041abdba313c9ebaef4c05bb52cdd53c3db3c8ba57e5b1ba2e3bbdbbd84cab3c8d49453a55ea85ba8f2982bb03cb833cf01a2eba2c63c2ba242d91bbaf15e73b4dd79f3924cbc2bac3fda4bbc67fd93b0000000000000000000000000000000000000000000000000000000000000000d44877bec287a0bb1907593c37ca95389e596fbe0949b7bbf0b81d3cf5be1c3b0cd55bbea83462bc5146183c21fca537696c32be5a116cbc91fc053cebbe173ae6adfcbdcb7d63bcf355ff3bfb78f0ba65a285bdcbb5e1bb12cfa83b5254cdb9c5e68dbca09fd8ba43191d3bbfbfc4ba0000000000000000000000000000000000000000000000000000803f00000000b1379b3cd916ffbd66ccaf3f6858dbbd3378383c6579adbd5af2903f47ec80bda0f0013cf8f48ebdf0bf713f357b47bdb1f2fb3b081644bd41b1343f9a5814bd3dae813b7b44dabcb21de93e4814b0bc62eefe3a99c8123a4a435f3eb86e2cbce96070ba9151a23c0064ebbbd77624bc0000000000000000000000000000000000000000000000000000000000000000c11a283c68aac4bb000000000000000014baee3bc2d7b4bb00000000000000006ccccb3b37a99cbb0000000000000000d32a063c5b1f9bbb00000000000000004d741c3c60439abb00000000000000007a5e0f3ca4b16abb00000000000000009c4c723c026f52bb00000000000000000000000000000000000000000000000038bcebbb46e16fbb0413c53c2d008e3c1b03adbb582d4ebcb37f543d9193203c49675cbb4a841ebc14de5a3d83be343c444162bba4310cbcdc6f4f3d87432c3cf0b930baa73c0abcd2f1263deccdf63b6ebf21bafe97fdbb8767f43ca4a33c3bde7e823a47fdfabb08f7973c365b13bab762f23a2bc719bc8817773ca958e5bb4a35e6ba87caf2bb6956cc3b993aa2bbaa8a70bcf323ae3a51180bbbedde373d3f3077bc73d06d3bec80edbb7fd9733d24ac4bbc4378143b2e353cbb37eb393d56613bbcf956023bad897ebba8391e3da3b704bcb240c03a725c8fbba0c2ca3c7681babb2742643976dc67bbee11723c1c9a51bb4c3398babd7786bb831b973bcae2a4ba438808bbfab8afbafe5bf9bb9bfacaba37a398bad00badbbff97c1395ed64dbe2d101c3d5922febb4a8d913b228e84be66943a3d69405cbc3243f03b17a78bbe93d1d23c283210bc1b55ea3b1c557cbe8c108d3c121212bc1a0bd43b4d3446bec6573c3cd4ee0abc86cc983b18f005be711a233cea2a21bc5c52e13b00d08dbd7238223ca07e18bcd8a2a03b298498bcf7e7893c396c22bc1984bb3ba12aa23bf38ebf3c04a2d9bb23bb363b15dc053d94173ebe3170af3fec304cbc7793eb3cd5b520be2ccd9a3f8594e63c5c8ea23cb53e02beba98893f220a2e3d1d9b7a3cf547bfbdd20e5a3f2713723dbf1a3d3cac4e63bd45311a3fb2448e3d861df53bbed9b0bc0152b43eca31973dbbde543b6886083c81af003ef770973df8273dbb134f2b3d950c6ebd4d5a923d6dd5b9ba135e4d3d62a94cbe0426043d226e36bb0408deb8000000000000000076111ebcd2e5c2b7000000000000000044ee3cbc788e36ba000000000000000048531abc565374b80000000000000000b5e508bc53d9523a000000000000000079d204bc520a213a00000000000000004238e8bbef5a523b00000000000000006abc09bc0a043a3b0000000000000000875e19b807c62e3b00000000000000003d1837bb289300bc6b688b3cd771a03ce78d17bb150b3abc2fb72f3de3f4653c56f2c6ba0f3d30bc8ef7353d8ca48b3c6e7ec1b9948c2dbcf08e2f3d07183a3cc94f93ba638621bc27330d3de2f7d43b91f4153abc6033bc183aeb3cc7b44dba7d97e23ad20e1bbc1df99b3cce6549bbf1f11ab9e1fe1fbc186d8b3c9e9a38bcc469dc386acb08bc7275583c49a450bc474fcbbca12cf13ba55669bbee9f1c3d1e24b4bc1e58f73b22fb6fbb1f44333d5838a5bcc8ca9f3b0f775cbbce91203d54896bbc9674a23b63f14cbbd76ae43c4b3851bc8ccf8a3b3af253bb6af0943c085be1bb6e1dcb3aaa335dbb3278ef3bc70ea5bbba2ef639ef948fbb23e0463b30f21d3aebf950bb12271abb5a6bd7bbabb7abbb78a337b9547860bb622108bcb3963bbed8d4a43d3f5410bd4351313c10817ebeb6e6783dfc7e06bd6906413cd9f27ebec630173d81a7eabc5860543c9a235fbe5ac4d13c6cefe8bc48c94f3c271428bee260943c2f2bd5bc655d3d3c09b2dfbdd9248e3c904edbbc48b7473c2c0d7bbdcb68873cda75b1bccb4b3a3c37c0c3bcea13e03c68f8abbc5cf4463ccf121f39cd1a263d5c3691bc852c2f3c1f24dc3ca0f81dbe0e048c3f76973c3e512ada3c6d611abe44e0853f9f6c4c3e08ef993c5a43f1bda071613f5e9b613ed9147b3ceb58a9bd85ab2b3f9aa2643ea5c2513c172f44bd6d3ee43e4a6f5d3e9a67193c46e980bc1129673e4021503e17bba53bce91173c1d94343d78ba323efb7a0a3b4a66143d79a8d7bd30450c3ec1d355b9b8e3393d781744be7ec9ba3d4e35f2bc0647f63b00000000000000006b2d0dbdee6de83b0000000000000000730f10bd579fa53b0000000000000000c98c0cbd2769a33b0000000000000000347b0abd641b053c00000000000000002b92f6bc2ab7d23b000000000000000006e5fabccd08ef3b000000000000000097acf1bcc1ff2d3c0000000000000000ff85cbbcee472d3c00000000000000000b0e073b2b6714bcc0ad5e3cf22fba3c44249d3a3e9247bcbe57133d57557c3c7711bd3a20dd54bc7deb1d3d55967c3ce07bce3a2fea43bc13e30e3d1afa393cad166f3b456d56bce3d8013df57fb93bc622003bc39e3dbcae6fcd3c776f05bb00503b3bb82434bc5cf09d3cb2c002bc1143323ac9e811bc54948b3c41a07abcff36323bd8b327bc62a0453ce80083bc4f390cbd242f403c23615dbbfc4cd73c4746c4bc8c502d3cdd5a90bbb7c4f73cabd5b6bc4c78243ca0a4bfba34f3d53cf42f71bc27a7e23b998206bb0c15813cd9ba31bc6564bf3b0a058bbb7c31113c43b09fbb8519ed3a9ebf2fba1b7c07bab678d3bac61611ba94ff39bb8ba0acbbefa5273b5eb953bbbc783abbad6435bc161672baead343b9e55285bb8b07dabbcb1f2ebe34c4cc3d274456bdf393803cc7835abe97157f3d67755cbda541963ce94a51be17dbf93cfebb40bd792e983c93112cbe6428743c3fea40bd34b0a33c16e902bef296cb3b9b9d3cbd9acea13cafeda2bd31f5d33bc8b526bd6b13a53cc5ab2ebd32307a3c283a15bd3eada53c1a8d76bcfc1aec3ca649f6bc5555933cdc75e5baf453443d7b06edbcff33913c5009933ca70602bea9345e3f496dce3efbe7ab3cedb7f8bd2ade4a3ff322e13eb436773cce28babd4ab6243f5b5de53ed3a94e3c8ac77ebdf7afec3eb9e6da3efc01133cce6403bdff2c8e3e42cdce3e0b8cf13b45081fbc6dfbe83de3cfb03ef9bbe13b29fe4a3c6cd0ccbc8f388d3ea1293b3b373f023d5e6603be72b54a3eb49ce73af440053d9c4b3bbe71e3f73dd7e77ebd60dd563c0000000000000000fed292bdeea8633c0000000000000000161e98bdfe3a5b3c00000000000000002cd58dbd6214433c000000000000000010f589bd5f9a5a3c000000000000000062bc7ebd38e85e3c000000000000000076d674bd0d6d713c0000000000000000b0c263bd2c10843c00000000000000004f8451bd6726783c000000000000000083e2ee3af2dd07bcc845523cd8d59e3c998b8a3bd2b653bc653df73cdc205a3c1627913b03d830bc4c5ddf3ce797953c03c87e3b861942bc9fb5e93cd2a2353c4032373b3a7e1ebc94319e3c344a013cdda3853b773c27bc783bb73c7aba97bbf1b77f3bc5db09bc8dd6773cfb6417bc2589743b809d00bc2ad55d3cc49d96bc0bc8233bcc0efbbb09e5333c57ecb6bce1fe06bd9d10783cc88e48bbfdef973c9b1dbabc7d46453c457980bbcc1c923c05c79fbc28d5273ccf3c9fbb4b36523c6f4824bc792f0a3c0af028bbdeee073c5d0a12bc4c47d63b7890f7ba96581d3bd5d72fba1d7d733b32a582bb6e6b36bb9029d93adc8d7cb98bdd48bbda1201bc782eeb3bf8afeabbb2e8efbab1a04cbc189e313bf485f6baa5a64dbbf05511bc88d016be5bc7c53d24198cbd2b28b43cef3727bef4cd353df74383bdb8b5c43c1d9918be9dd4cc3b662482bd8bd5d23c1deef5bd64b986bc4c1e81bdb38cdd3cce22bbbd43a50fbba2bc6dbdb3e6c83c9dc264bda3f62fbc653755bd6567db3c4160f4bc374a373c3f443abdd14dce3cca89bfbb0aefbf3cfaaf08bdb6bac93c64064d3b10184e3d0378fdbce4c4c43ce71b4e3c5f4bb8bd6c891c3f6f7f283f019d573c9bb9abbdcf2b093f8266303f2113213c6a6a74bd3da7d43ef1f52c3fde59d33bdd991abd08a08a3ef08d243fa3d8bd3b4512b7bcbc66253eacb6083f377c803bcd2df9ba6c5bf93cf642ef3e156c943bc7a5183c6eea4fbd22beab3eaabeb73ad271b53c4012f6bd073c673e80ead739bc7dcf3c0f1221becf4f043ee541cabd9a44963c000000000000000001fae2bdf277a63c0000000000000000bd8ad4bd1d70853c0000000000000000038bd5bd858e9e3c00000000000000001eafb0bd02a0843c0000000000000000ba84bfbd899f953c00000000000000009d99a6bdaf6fa13c00000000000000005378a1bdce8db53c0000000000000000f7df94bd247d9c3c0000000000000000e193693b104120bc2ff63d3c3c73363cecea913b2e0758bc6272b13c2ea2503ca5f5b43b969246bc9519ac3cc7ec6f3c735fa73b8ad92ebc9db4923c2249483c2f2b893b85ab2cbc66a69b3c386bc73b44a09d3b17ab17bcb462773c3b8a92ba17a28d3bfa2fd4bb3fd15b3c410755bceb212a3bdc6dbbbbceae393cb30e99bc8886013bfd18eabb663d313cd779acbc97bcd0bc0ec1493cb19aa1bb2ead273cc3fafabb88a0d33b17b909bb0895b63b58d06dbbfb49833b379734bba88b503b8c316f3bbbebfb3a5d8ac7ba5f9bf0ba2c3de13beb196eb9c5ce32bb050085bb6e3d093cc45160bb6ba8ebba988c18bcb8745b3cd959c4bbda820dbb512d1bbc3471763ccaee2cbc6ecabdba409e44bc947df33be77cbfbbc6b4d4bac0713ebc8177cabd14a48c3d464094bda987d93ccf33c2bda74489bcba5b88bd7bdae43cb385aabd548a5dbd40d87fbd9be6f83c26377bbd25a08abde64679bd3138e53c40e036bd86cf86bdd06b69bdd2affa3c6273d6bcafe33cbd59252dbdb4bcdb3c12524ebcd1d4a7bc897111bde267c13c0d26d939796f9c3b3047bbbc3c0abe3ca321fc3ba03f093d0898c2bc3dacb33c9a95073cb0d063bdd18fbb3e3bbe693f9204213cd8b655bd8c12993e7eda713f0ef2af3b9de20ebd1ee9573e70f0673f0254403bdaadaabc8914fe3d604d503fbda6863bf11d05bcdf4c363d6e40323f9346633b6eb65f3a5f6d11bca33e093fb8b69b3add30083cf7ea61bdbff4bd3e7b62003be12e473c8918b1bda3255a3eb40e8d3a9fc08f3c8d80e2bd6938d23d18090abe4e83bc3c000000000000000083fb18be2c4ad33c0000000000000000b9ef10beb988a13c0000000000000000dd8d04bef954b33c00000000000000007648febde0abb73c0000000000000000f961e8bd2889b63c0000000000000000e011d7bdeeffc63c000000000000000037c6bbbd9e20d13c00000000000000007c05adbdb0d0d33c0000000000000000c73fad3beb550dbca3b2033cc67ed53b7994963bd0800dbc7b522d3c09e55f3c464e9c3ba21aebbbc9171f3c71399f3c2920963bb786f3bb544d233cf69d983cb1d7ad3b2db8d0bb28ac283cc2dc313c6830883b7837bdbb47d2293c517dcc3a4e3f8b3ba5cba6bb0daf073cac029bbb21bf5c3ba53512bba25bce3b425871bc7051433b4bf657bbb5b4983bf7f793bc6f560cbc4c06a63b915bfebacf9805bbb19ff43b71b22cb9dd10e2ba6c41c3bb68dc193ce80ab6ba9f757db9fcb7c9bbe0f7823cc26283bb210195baebc5e9bb5bdd763c01da85bb17322ebbc297febbac20a13ce54b1ebc2f5c82bacb4507bca315943cca5235bcf8b0a6ba1f510bbc43d7923c832156bc4901edba0f7129bccb174b3cdde621bc36f3dbba59ed09bced4e2abd9f2eef3b09e367bd663fd43c6c1ce5bc942db4bd686660bd4092e63ce39dc4bc35ba00be20f451bd107de43c786972bcbeb60bbeb04348bdb128ec3c36811ebc1829e5bdf6a530bd2e65d63c44da72bba462b7bdd8d3ffbc5670c93c692a5c3a341f44bddb87a8bc705da73cb79ed33bf9326ebc59040dbc6dfa8d3c4770343c7635803c7901b6bb8d2c873c3478143be1c3dbbcbc881f3ebe60903f338e403b10e1aabc741ecd3dc95c943faa3a003b88786ebc32f3783dd9b9893ff213e93a1e69fcbb430a983cc84d723fc3587d3a617475bb9556ecbbae16433f9bcfbd3a515fa4ba99c0cdbc26dc0f3f1ae4a63a9ceeff3a30361bbd5e24b13e2984133b743d953a097c22bddab5253e1a71d63a76aaef3a72e747bdc4691a3dd72128be184de13c00000000000000009e6735bedb5ded3c0000000000000000c21825be8651cf3c00000000000000008dbd17be7525bb3c0000000000000000016a09beab0ec03c00000000000000009b21f5bdd4a8c83c0000000000000000c9c4d1bd3ed3ca3c0000000000000000e91db9bd375ecf3c00000000000000006a139abd0e23b83c0000000000000000a8f7873b6997c8bb775c923b14a8123cf417b93b16908ebbbf3ac1bb9f16013d4cef8e3b609090bbb7c69a394682103d2121913beb7d74bb2bec09baa59b0b3de62ba03b7d4965bb53c867b9e7a6d13c526d883bd3b305bb53d6a039a12a873c8c7a4c3bef7af9b832a7173aa026853b233f6c3b4b9f82398cc7d9377e1e36bb570b1a3b5ff7ca3a5f82beba6f1f31bc1a023d3cd0fd96bb033d37bb9fad9fbbdde5803cc3ab2cbcb8fed838c82824bcdb499a3c433810bcaa8253ba473afabb8fc5a23c3a1007bcaa12b4ba7075d7bb25aeae3c727620bc91ce4dba5e46bcbb3ad29b3cf04e2dbc701fe7bab5e692bb3c3c913cfdc71dbcae20fdba9034b9bb0f20313cda351fbcbca5e5ba985947bb1638493cc79a44bc589194ba4546bdbbf392003c8ab6ccbdd105f6bc58c2b83cf777c83cf21b32bedad769bc41b89e3c947e953c646d52be7fd8c2bcb74ca93cb0d88f3c36a64ebe4e51a6bc0e109e3c8cf56f3cf4202ebef63f88bc445e843c1ab92e3c08bbfdbd0f4f3abcc4ee603c42c8f43bef0f93bd416e67bb7e94123c8097b0baf899c4bce7960f3cb060423bd1991e3c0334d63b98a25d3c5246c43b76f90abb7c78c8bad77aa9bcd14bb13fe8d9fbba2eba0fbba908a9bcf9d8a03f41f518bb13a5c4b9cf8510bde543953fcc3c13bb4a89e039937412bd5e027c3fe4c555bb6ebec83acc7c0bbdb085433f8f9f71bac584c6ba658cbabc57db043f86eec438e8dd77ba655c33bcf0b08f3e556bd43a644aeabb17e6393c6b0f943df6fe90ba3cb95ebb6fffef3b0b78afbde61347bede89f53c00000000000000009e6827be7638cc3c0000000000000000f1f416bee9acb03c0000000000000000216103be811c943c0000000000000000dfe5debd3a95923c0000000000000000952bb4bda73a943c0000000000000000cb7e8dbd20f8913c0000000000000000931f29bdb07f6f3c0000000000000000c0ec56bdde99983c0000000000000000000000000000000000000000000000002892353b6aa14cbb918886bb7d87293d8663593b0cb820bbe002cfbb9fa43d3dbd415b3bae57f0ba1c6d8cbb2ae41e3d5e4af83a32a69a39b8af9bbbf993013d551d193b7482143adf4077bb47d2bd3c2d92653b2917e23a5640bfbbb437633c8c6c3d3b407e143b2070bfbbcf4c053b0000000000000000000000000000000000000000000000000000000000000000e3129a3ca29d30bcb217faba8c5da6bb5e8f893cfaf4ffbbf6a5d7baaf9667bb75a6a83c7f7001bc3804a1badd591cbbbc90963c7be9febb80f66cba1e146bbb2840893c6c14e9bbd58412ba90c246bbc5b42f3c9c4eb8bb208fc3baffe519bb94b8d63b408295bbebe315bb821b05bb00000000000000000000000000000000000000000000000000000000000000001dab313da4f57cbea864743b9dac1c3ca7281c3deac476be6171073b7951d23b47a2f73c2ced63bef722cfbb783b743b9fedde3c740a3dbee331a5bb41815b3be67fa83c5dc909be6d6a48bb0fb8d3390cb9383c63d397bd39c41a3b56bd13bbe3f41b3cee38c9bc5ac3193c67cd21bb000000000000000000000000000000000000000000000000000000000000803fe8a6c2bbec1b783cc700f5bdf013af3fbf6265bb3f69f03b701ea5bda998903f13379abba0d9013cd9c08ebd2893713f68204bbb3245963b890948bd1ee1333ff7295dbb00665a3b88b7e4bc3c1be73e6becc7ba4eaa93ba28811bbb9fee5a3e7361f3b91d126ebb1cf5bb3c33dd8ebc00000000000000000000000000000000000000000000000000000000000000009e9defbdc9096c3c0000000000000000eefa93bd354ec93b0000000000000000dc3e65bdd6e7fc3b0000000000000000108927bde5c4bb3b0000000000000000f310bebc03c19a3b0000000000000000643e03bc71d97c3b00000000000000003d7180bb4bb0043b0000000000000000000000000000000000000000000000000000000000000000000000000000000070dcc8bbb9061b3c665f893970edbb3c4ff84fbb7275813ba831283c158dcf3c452f27bba3f5983b4863973bbe99e63cf7a651bb246bae3b7d1630ba3d9de63c1f633abad35e4a3880af263b7484e03c995c7739b6dde4ba65f0133b9b5fb43c988325ba9b4827bb287e5ebb4d8ac43c0000000000000000000000000000000000000000000000000000000000000000ff9c083cf279a2bbc550f5bb38cccf3c52ce803ac64819bb5e91febbe4a0e23c6cbcd23a4f501fbb099208bc9076c93cf86e1a3a01eb8cbb2b3f01bc86d8c53c092cafba4cc8edba36fb04bc8108c63c87640fbb737dd0ba34b706bc020eb03c59b44fbbe40d38bb059cf9bbd0f6bc3c0000000000000000000000000000000000000000000000000000000000000000671540becf765cbd88df8e3cff9a3ebb28f252be4f6722bd8e36743c65c3b2ba0eda44be37a748bdba149b3cd4ff6abba7022ebe807d2cbde180a53cf2fef6ba922412be87251abd925bac3cd6a675bb2667cdbdcbe0c8bc2b388e3c859f50bbc89a8cbd1fe782bc8364b53ce34e52bb0000000000000000000000000000000000000000000000000000803f0000000027c5023c1005b2bd625dac3f7cd5b4bd98a9943bb19669bd5042903f032f73bda315883b893341bd3529713fbde06abdef90093b193a0abd0372393f3aea5fbd1cffc2b93b859cbcdb11003f20364dbd8e08a2bacd087bbb50d6893e1f7a2abd2acb81bb0bb5293ced787f3d9c0c6ebd000000000000000000000000000000000000000000000000000000000000000000681d3b8fa7c7b900000000000000007e6c9b3a88c0c0ba000000000000000041fe703b810786ba00000000000000009829a93b3d626aba0000000000000000486a873b098700ba0000000000000000a1c0053c1e01d3ba0000000000000000db87653cd1092dbb000000000000000000000000000000000000000000000000a31300bc68145b3ce35905bd6548793d1b39a5bb530d4c39548cea3b20817c3dc36594bbf00178ba9d0d563c19786c3da61f1cbb6fcb71bb7242873c3405573d9a3cf2ba6dadcdbbad1b973c7bc43d3dd50c95ba64b40abc2c1d9e3c2f35103d198a8739b38a34bcdc8c993c3312cc3c6367713a460361bc77d1c03ce93a013cdce680b973001cbc3371183c6c56403cb781b5bc02b6393b5d281abc2193433dfa300bbd3c82ef3bc1bb2fbc9f97823d74350cbd0f24d93bab882bbc1e58643db3ba0cbda6f0e43bd5083dbcdea0553dfdd008bd4fb3f83be9cc12bcac973b3d82a500bdc175f33b89e126bcf927263d9e00e5bc85bfed3bf0c702bc69d7003d241bc0bc9564fc3b6b88bfbb3077a83ca3caa2bc6547903b45ffe6bbc396d93c631d3ebe735b12bc1c1a893c889592bb94599abe7d75a43cba92193c24b7f7ba2ee39dbe671d773c4224463c81f646bb569e95bec09a943c8c18673c7b2f69bbdc6f83be4d66c63cf835273cdca434bb202d58be9869103defb6e83b95f934bbe10e20bef49c453d6e1af83a9f3010bb7882cdbd7317823d590b92bbd60202bb4067a4bd2454823db9462dba0f5b22bb821b9c3bff30d0bdc7d2ab3f8c31edbc86f1473b174ca1bd72339e3f341dbcbb76bdf13af22469bd0cee873f88bca33b9ed22f3ac9cd0bbd9b72583f42d0453c7ea836bb60db6dbc8abb1c3f159e773caa4200bbd2f9d83baebabf3ef210983cd6a4a3bbf5c4e03cd9cd103eec06ab3cad98febbc3e3613d381ba2bd00e8d73c844c2abccd30603d125832be2dac1ebc461e353b4a094cba000000000000000048e4db3a7f69bfba00000000000000007fee903b55d516ba00000000000000000fd3873a28450dba0000000000000000fd35823b211903bb0000000000000000a9f4c43bf21f91ba0000000000000000d48bdd3b974290ba000000000000000026aaba3b88036bba00000000000000005709643cfa30eaba00000000000000000f7c96bb4486c23bccc210bd54dcc13dd74458bbefea37bbfae227b997df9c3de29855bb7568e9bae47d0a3badd38e3d4322b5ba3fee0abcc94e923c1a0e5b3d6ec97fbaac0d12bc571e9c3c1c032a3d33668e3aa4055bbc6155c63c8895cd3c7dee033a7fea4ebca3d7c23c03cd653c6514543abc4179bc9f27fb3cb38415bc18f7953ad9aa81bc2f1bfe3c8a9206bc238d87bdbc176b3c1ec52ebc4d10743d2e3c8dbd3550893c13803fbce612823d9bfb86bde93f953c5c4c3ebc6cce6c3da9a381bda5508e3cae500ebcb4ac4a3da52274bdf4dd8d3c09da23bcc5c8303de4085abd3e12823c3f6615bc8202113d03ac42bd325c843cb7c5d1bb4549ed3cf82e19bd120d853c54148dbb0abd6f3c543718bdc9fa853c8bb383bbe223673c428e6abe61249a3d487d0e3c171ab2bbcec99ebed68ab63de392013cc109a6bb43639bbe864fa73db0585b3a54a1abbb5ec094bed1b0bf3dc1211abb14199cbb267a83be3c5ed23dde47c7bb1afb3fbbc8a055bec19ae53dbf765abc4daa17bbc90523be34eef03d072cc0bc1998bababce0e3bd3ef00a3e1a0405bd15f198398323b3bdf8e60c3edd6711bd51e0b03ad80d9bbbebc463bdeba7863fd02fe73dcb6cc0ba467d3bbd67a67c3f8cf8e33d9a9a48bbbe17cdbc5ddb503fdf570b3ef33eafbb7b566ebb7c4c1e3fbc8b0c3e1d299cbb3e11733c5f85d43ef0e0073e0b0ab5bbd483fd3c130a533e63f6073ec399f8bbba7f313d1e15ee3cc133f73da080e9bbf2b4823dec781abe84b2e23d9dcb0bbc3bdf823d9ae86dbe9470ae3d08c7b13b3a7d423a0000000000000000c7f5493bd34d9fba0000000000000000c7b09d3b2b3fdcba0000000000000000b23db63b08c860ba0000000000000000e5a8b23b4be0f9ba000000000000000078276a3b6d66c1ba0000000000000000f9f7a03b7c9ac4ba0000000000000000fadedf3b2ed813bb0000000000000000744f2b3b02ea1cbb00000000000000008ccc42bb26720aba3fd8c3bcadfed63de3e3e7ba0a1518bcc7915d3c1eaa8b3d23c885babaf53bbc1bb3c13c44865a3d3a205cbac48f40bcdddbeb3c57bb1a3dace73339c33f82bc501f133dd0e88b3cdbf41c3ad7c579bc14c2123d6156673bfccb453a687c87bc84ff1a3dd4dc85bc83ce273a36f281bcd595273d5a5a12bdec0b493a3bd08cbcbbb8133db2c7ebbc7afccebd67abeb3c6bbc01bc52d4463dea21cabd3545f33c9eed00bc2691583db9c2bdbdf552fe3ca321e3bbe0a8323d41b0adbdb1bef83c3b39fbbb4bf5173d3072a3bdceabf13c10a9b2bb6cb8e73c387e8bbd08dee53c90a385bb683fad3c7c2065bdf3c4e23ce36487bb0c54333ca8702fbd2ab9ca3c4d983eba58ca413b1c7738bde29ac73cf7481dba9af42f3b79d875be8be61b3e8f21b7bb7708edbb166399be493a2d3ee80d32bc62eedbbb3e8893bec452283e6dadb3bcbef1bebbd9b483beb668263ecee9efbc58dbb4bbbe4461be9f13313ed1f41ebddab840bbc8c42dbe4ced2d3ec9df4cbdda77e738d05403bec636363ed7e277bd61f8b23a5e55a6bd058f3a3e6cd491bd594f803b26c586bd2116383eb3568fbdbc33053c006da0bbbdced1bc3606463fa41d963eebb38cbb836384bced1f303f9e3da13e42ae8bbb4a9aadb938180a3f42f3a93e208939bb10f34c3c2470bf3ef8a3a63e724b8abb9a90d93cfc06513e32faa13e3e6692bba75a083ddda9513d972a963e9dc577bbf774463d4effb7bd4597863eb4fca1bb45bc5e3d16af50bef3486b3e5cb0c1bbd2785b3dfd8783be5422343e186ca83bf81555bb0000000000000000dce23dba967c05bb00000000000000004040873a352c7bbb0000000000000000801060ba29dc1dbb000000000000000097a8203bb901acbb0000000000000000006fdc38a390a8bb000000000000000060e94ebbcf9281bb00000000000000005e7e01bc420d6ebb00000000000000004d095bbc56098abb000000000000000038694eba8af4f7bb4f2394bb62c7af3d5c8f103a38a862bca4f9c93c2a72553d0cd4a737f92753bc9bd1ca3c61731e3da2a8a23a43b58dbcc095233d35d5463caba5f1b9a4ee2cbccba1be3cf4186e3c2363103b8b9790bcb333283d47b0c8bce60aac3aa74b77bc128a0e3d9abae9bc8196f43aab7b7dbc18e11b3d91ec4bbd41ad113b6fe277bc074c183d21cf42bd0bf0ebbdcb32163d101a8bbb8c891e3d6b8ee3bd0ef1223d4153c8bb8845123dcce4c6bd1d58173d92cb9fbb0c65ee3cc685b3bdf29c183d074e7ebb838cbb3ccbc8a1bddca00b3da96665bb8d26813cfc3383bd038e063deb5c10bb8dd9c93b9e3f52bd6674fc3c8d58ab39cde4d33a9b161cbd42ede73c17ed0ebaf41ff9bbb0690bbd8e93e93c50ac023bd0b0f9bb75536bbea3a7573e915d12bd927b18bb06f083be9911593e414226bd14b235bb0d7a6bbea867453e55f265bdbb40033a2e0058bef745453e934385bd207d063aeb9f27bef998383e63bd98bd4d3eec3b4c6303be6565403ea7abafbde9e6003c2606b5bd0aed383e6813c1bd9517233ca70b3ebd913b3e3ee38fd2bda1ad603c685b0abdeab0383e6713d4bdc2cd813c0885c3bbcd6fe0bbaddc023fdf53083f51f31dbb8fc18e3ac01ad63edff50d3f86ee58bb90b61d3c90a99e3e5b630c3fb3f5ffbaafb79a3c1500363ea262093f9ae96cbb17acc13ca70bbf3df16cef3e35e107bb35450b3dabac49bdadd4e73e86fc9cbbd5091b3d9a3100be10cbbf3ed34442bbabd82a3de86a5ebee55fa23e4aa4b8bb82ea2e3db19e7ebe751a773eda94b2bb7da7b1bb00000000000000000b2425bc6b7785bb0000000000000000750668bcd6d89fbb0000000000000000778b3dbcc4c5b4bb0000000000000000dfca9ebca2dca0bb0000000000000000e074aabcfe31cdbb0000000000000000cfb0eabc79dd48bb00000000000000005ad3fbbc57b2a1bb0000000000000000c02330bd90bc30bb0000000000000000c121ff3a402635bc488ec33b4a37513d7c749f3998995dbcbe8ffe3c4ae8603c46fbf13acf0a71bc1e7b0b3d6f84483b74e9143bdf955bbc9d55153dbd4963bccec2303b2ace7abc8e78213df3b3efbcd663203b06cd52bc66460a3dcfc920bde117053b097a55bc150d053d901d4ebd71ce303b10be4cbc1bedf83c11b076bda445673b1ba558bcbaa2ff3cb0c177bdcd92d2bd491e303dfc1796bb6913d93c6d68b5bd46b3243d4ab29fba4f589c3cf1519cbdf46d203debb13cbb25547f3c39937ebd5b72103dcb67acba6717c23b5af74fbdf4310c3d71a395bafd7cb0371af610bd48ebea3ce04ac8b7660453bb37f1b4bc4504d33cfa37b03a5535cfbbad6dffbb4f05b23c9c744a3b761c6dbcd58f1dbc39beb43c014c713ae5b351bcef4b3bbe19f2623ec6078fbda4e7323a20fe3ebe26d7493e732ea2bd6eb0573bd20626be5305263ea4ebb5bd3ac7af3ba18a07bec20d193e36bacbbdb1ea0d3cbc99d4bdee99163e73fadcbdc1232b3c6f7189bd37870b3e74c6e7bdf55d7e3c1bc119bd02d60a3eead2f2bdb897933c4aea9abbdba4093ebdb4f6bdbed2b73cc24ea938c6ad143ea17ef1bda095b43cead472bbb6b2fd3aaa1a923ebbc04b3f85b7beba0cafd53b0500553e05e9523ff209a6ba080d163c8c39023e1cef4e3f8158e1ba9a458f3cb5393a3d6a35403faaab8c39be0dbb3c237a05bd62382c3f77f8faba1bc4ba3c0ecfb2bd58b5123f0c8c30bb1343dc3c9f6e15be2851ed3e835645bb55e1e73cab6c3cbef914b63ec14307bb2ac8e13c941a4dbeb8d9803e6babe5bc455991bb000000000000000020001dbd99c7c7bb0000000000000000e1ac25bd08c193bb0000000000000000143734bd8b867abb00000000000000005c2442bd165d2dbb0000000000000000eedc5fbde5f93abb00000000000000005cce78bdb588adb900000000000000002af290bd2e13763a000000000000000044f396bdc5281c3b00000000000000009d1b9d3a9ced28bc6d93743c1f8c803c5b451f3bb2b947bc1535d33cba0b6abce353163b191340bc7d9cca3cb75657bc643a3e3b500b35bc1e30bf3cf623c5bccc72043bf4791bbcd615b03c01cb00bd4ee82c3b685025bcb685a63c8ee51ebd7ad2383b0eee1bbc0e39963c5ec72dbd64015a3b2eeef4bb1739473cb8303cbda6ec043bb2e406bc6aae693c9b0835bd53c888bd7613183d366130ba810f0c3c396d2ebd7177033dcba68eba28d8fb3bf6ac08bd2802ef3cdbaa9cba3edbd93ab94b9bbce6a9d03ca6a82bba302dd9ba5ab715bcea65b43c1bf1253a30dfabbbe1f3143b7c9f8e3cd390bb3ac1f104bcfa3c2b3cfd574d3c0ed7f63af38c30bc6280a03c6f4d083cea863d3a540854bc58208f3c14ef093ce4b70d3bb22531bcff2ed8bd4023183eab4eb8bd76af0f3c22c5b1bd0d09be3d924fdabd6a4c363c4ec097bde514663da891e5bdf269753cb40d44bdb079fc3c95c4ecbde844943c32defbbc2f7cf93c00e4fabdd6f8b63cfcf144bc20f4f83c52e0efbd28ffb43c4b8da93b1e1f1f3dfec7e4bdeb47da3cd107ca3ccf09363df225d8bdb314e23c3d77da3c7b31743db7c6c6bdae71e63c2652b2ba022e883bd31ce53d63b4883f168b83bab5fcb23a19fc473d61218e3faa58063a8aab003cbe36a53cc857833fb50735b843cc043c8cb4bbbc72cb6e3ffd0772ba2bed263c66d961bd62104c3fba89b4ba7afb413c6b80a3bd4999233f2d66a4bab9b6573cd680ccbd28bcf03e65ef3cbaea054c3cacedd9bd9d30a03e3a300fbbc5b82d3c9a0af2bd52a53b3e2e4f7bbd970795bb0000000000000000625e9bbde6fdd2ba0000000000000000c2d49bbd7c3dbfba00000000000000003236a0bd42aa2bba0000000000000000be13a8bd2922193a00000000000000003266b4bd40208c3b000000000000000051a3c5bdbd9fbe3b00000000000000001e81cebd65fc123c0000000000000000b553d0bde629413c0000000000000000ab88183be9b10bbca4a1803c3de68dbc9b4a193b32c2debb0b0d603b48da7b3bab4a403b2589ecbb2f5fb43b21c66a3bdf36423be3abccbb1016d63b2d4ed3ba80522c3bea64a5bb40618a3bb5447fbb36256e3bdd6bc1bb6f9b093bd8fbe2bb02ac343be58b89bb0beab73a049d44bc028f293b7ba356bb8c4259bbd62636bc84ce753bc03730bba67b21bbeb0ab4bc983514bc89399e3c8b6b85b821dc76b835b6293ca79adb3bfffb923aee353fbbc538503c9a63bd3bcb285139966868bbeb00a93c2fdd6a3b0038a1383699bdbb67c4b93c2150bd3aafd0413a4355f3bbb677e03cc0cb1abb8ed2a03a3f7de7bbf37ee43cce52b0bb8a42a73a5a1905bc2b8ddd3c058b1ebc7c53c13a8155e3bb35d0fc3c2be7dabb3827e53a17aa04bc8f14d2bc1e4f5d3c0785c8bdff448f3c98c2dd3ad3c9d8bd04d6a5bd8954993c0037393bcacd05be8ed6adbd6192b13c63f8fa3bfa9708be0370b4bd870fb73cf122793c51b2fdbdc8e3a4bda7bab53c2211b83c751ed4bd6f5e95bdf984cc3c7c17be3cb3c390bded946fbd359ec63c3e39d83cfcd51bbd69f51abde590ba3cea6e123d721090bcc45836bd1d06bd3c995b7eb95eb3303aff81d4bca088ad3fb5112cba738a233ab790ecbc6ea6a63fe766a7ba1141503bf5af24bd8eda973f0a1d79b98fb0353becb52ebd0f50823f918dfdb98229723b387f2fbdc416523f1c6e02bba238983bfaad3abdee9c1b3f708ccdba37282b3b520623bdea22c53e6b70f7baaac6e53a1744b6bc527e213e27830fbb85420a3a04e7febc8a5a2d3d2d76e6bd693b923b00000000000000009528d3bd47449e3b0000000000000000fc2acbbd39c79b3b00000000000000006de9c1bd316cbb3b0000000000000000f3adbcbddfaf053c0000000000000000bd44bebd6e66003c000000000000000072aec1bd1ad9433c000000000000000049d5b9bd8832693c0000000000000000d236debd3a4a983c000000000000000000000000000000000000000000000000c9e37f3b674fb0bb3ad6cc3bfe4edcbb278a5e3be2de81bb65701a3a0f18fa3bd8f5553b30273bbb7554993a57d6553bb67a573bd7841cbb5dd2e4b927eb263bffd6323b3b0a8ab853ae9dbb6e538e3b32ba2e3b43172abaad05ddbbd8f2c23b51a7663be08f0d398d87f4bbcfea583a00000000000000000000000000000000000000000000000000000000000000008f961c3d392201bc45add93960f9d8bb72451a3d9d7c37bc8359703a5011d7bbedee193d774e28bc4f55a53a0046ddbbea9f113d48bc1fbc6f9a943a9e2d08bc37350f3d70ae53bccca26c3a839701bce77ce33c2c7350bce28cf23a8bd7a8bb0e75e63ccc1570bc6169343a38ed9bbb00000000000000000000000000000000000000000000000000000000000000005d5e033d337143bec81546bde2b5903c579c103d64a25ebe6f4709bdcc227a3c5a960c3d18f652be2f5b0abd00316a3c9a200a3df3e53ebe8c6ee2bc40fc533c3ede083dae6e23be2cd9a8bca96a683ccbcbf43ceda0f1bd5ab25cbb3d232c3cd730f43c71afaabd2c56ff3b081f2b3c000000000000000000000000000000000000000000000000000000000000803f35d657ba988e303a93a7aebd126cad3f1d6e26ba3699aeb9f83768bdf4cc913fb0fb9bba4546e9baef3c3dbd4ce4743fe7d484baff5768baf3c70dbdabae3d3f92f1e0b9f6e003bbd731a2bcd5ce033f472801bb310e10bb5f0c7cbbe2578d3e68e8d3ba99a6b6bba48f523c2ccd853d00000000000000000000000000000000000000000000000000000000000000002821c1bd0086163c00000000000000001d918bbdee11043c00000000000000007e4986bd02e5193c00000000000000008fde70bd9e1b1b3c00000000000000001fb263bd811e1e3c0000000000000000c0f045bdbdfd2f3c0000000000000000f47675bd65b17e3c00000000000000000000000000000000000000000000000000000000000000000000000000000000d5b2313b36ed8438972e293cc38250badd4f1e3b3658d63ab757213c3356c4b9844fe33a77b49b3a14ca053c607d123aa159e73aaa75003b9780ec3b3d9f013ba5e4193ab4f01b3bb3fa893b522b443a3074c53a7cefb039c5ee1e3b74ad973ad45c3a3a674a3ababf5eb13931ba443a0000000000000000000000000000000000000000000000000000000000000000fcfc13b8c99a4b380964013bb85fd7bca3252eb9fa0bac3692341b3b1ccbabbc9bc7f038d009d338ff36e93a443d92bc1bdd293afb2c9aba3a6afc3ad3027bbc81c701baa6892abaa7ba4c3b01dd37bc59bb86b72803c4393ecf0c3b45b9f9bb9dcf99b9b32e16383daff33aa919a7bb0000000000000000000000000000000000000000000000000000000000000000bfdb56bde51c6abcd3c8ca3ad41e963a771f4abd15dd5ebc88bb073b3109fa3911e326bdf51f41bcd601013b42ef553a15d4f0bc4d692fbc91b4253adc11a7b95963a5bc11b51abcaa1c043b5e4cc83a3d7105bc5b9b02bc1fd1bc39a592653a02e3c43b61a5e5bb965d84ba14cfce390000000000000000000000000000000000000000000000000000803f000000005c1bbabbe1c6c3bc0b17873f877712bc491bbfbbe81280bc2efb613f57beb3ba910ea2bb431e48bc2142383f54d0bd3a2a8ca8bbb6a63abc6a330f3fa8841e3a283f59bbfa5066bc2842d03e85f985ba840c00ba4a0f8fbc09df823e82ea60bb23ce3a3a2672bfbc404ce03d04d0febb0000000000000000000000000000000000000000000000000000000000000000bee496bc07a09c3b0000000000000000d8645bbcbc74483b000000000000000019dc27bc6950263b000000000000000065ac04bc9643363b0000000000000000e8cfc0bbb2a0e23900000000000000002dec21bb46eb0a3b00000000000000007ff8c8ba9232b23a000000000000000000000000000000000000000000000000a249343be4e7ffba028d323c842099b86653843b34e121ba274f5e3c18d5a1b95ea0333b2b3b023a3b77633c6838b13a215e243b4e647d3aa8b6473cdff3213b570d9f3a8ff46639b29c1a3c069f3f3b3498033bf58f573a552b003cdb03723b9e4d133bde6e02baea94803bfe37f43aae4e0c3b75635cba01d9103b65186d3a0a8f983a08f9f1ba99cc903a0c89263a8437b1389a98a53a4cb61b3b67b2e9bcf1a9ecb9421216393935ad3b4c9a04bd41abcfb9fd637539ce28753bd466e3bccfaaceb9a673c3b92ea8583b72fdc2bc463e88b9f9bfd0b85c77153b03ce94bc89b60dba5e3bf5b9ebabb23a947e83bc261c10ba72fe0539e147383bf7213fbc3cec74ba284432baad1a893b949013bc52783cba6476b43922951a3914928abb5722d5bc371225bc8af3bebbafd4843a79e35cbd743090bc9bab1dbba017e53a689960bdbfb98cbc542723badf65af3ac4c041bdcc6b83bcd903b5b9b20d423a848c07bdc7de52bc07f5a4b8835d5b3a7138aebc9c1b33bcd89ecebae596f738117006bc789d2fbca4cffabaa274353aca88eb3bc562f7bbf8ab69baf057a93ae8c79d3cc64a32bb57794fbbf48e163995778fbb00db56bd0b69873fe2cdfb3dc69f7bbb7e6a65bdb28a7c3f7c30ed3d4caea6bbbdd425bd5c47553f4230d73d0a969abba23408bd69c52d3f3712bc3d2dd562bbb137e7bc5899053fe1a9933df9875bbace1fffbca43ac23e23c1583d44fc403aa5c705bd17036f3e9169f23cea78853b84d010bd3edeca3ddfc9373c7e9ed93a4d9ef1bcdba477bc34c3c4bb82cc08bdc55ebc3b0000000000000000012915bd36d5ca3b0000000000000000692aeabcad01843b0000000000000000e790c1bc1be5373b0000000000000000da488cbcc5691a3b00000000000000007de85bbcce24c03a0000000000000000c5c93ebc847be23a0000000000000000f529e4bb55234b3b00000000000000006ddf06bc72a2453b00000000000000006df1f83a66825abb3cbd073cbee9ea3a8afd513bdb200ebbadf9463c0f753b3b4dc7453bbfaf8cba9a21393c4d407a3bbdcce93a67dfa4b98ae43c3c3bd4933be615aa3a530539baf190123ced82a53b2577903a1c0982ba0895f43b9534983bcb78383af161b9ba2bdb9d3bcbe6593bb304e03a14f022bb9c2a033b7571303b24cf923a53f81dbbc6f0ca3adb103a3b7d129dbaef6200b935b3163b6decccbca8b83eba19f01d3a4003a03bf38dfcbcbd15e7ba8fe784bad74c9b3b339cc8bc37be20b9be18a5b9983b473bfd72b9bc9287e5ba8af6e238befb083b302683bc4d3dfab841bfd2381cf8213b65a66cbce86e69bae8263cba7b46ed3ad33a31bc233324ba64ae05b848631e3b116316bc979dacb90261acb87fab453ae17cbdbbec1559bc5cfd73bb961715bcdccd683ad87c15bd1ea35dbce0f201bc5131fb3af5451abde9d06ebc9c0b86bbd4d8f43ac7411abdf17585bc612960bbf8749e3a834ac2bc44bf2fbcfa6e77bb06d5673a33db85bc840520bcac882cbba446653a0c1171bbe2e790bbad8c4dbb98a2933978131b3cebd405bbcb5562bb9eb2093a55c4733c0a6c1a3b8cdf2ebb1baaf738986c42bb2be268bde689643f4b128b3ef22bf6bad5338bbdb20e583f5f2e823eb3d43fba5cbf51bd24c5333f1a47643edeab0ebb3b1a3ebd4ea7173f0cdb403eb9caaeba964b13bda1b4e63e6774163ec26fe739c0ca1ebdd969aa3e0359e23d04f7d43a5e060ebdb8f7563e3663903d1b09a33b87cf1abd57c6bf3d163d083d53a44b3b6d91dcbcb9faaebbb938413ab7b52abd4d5a843b00000000000000007e864bbd6f04ad3b00000000000000001d7514bd74b3793b0000000000000000e90707bde047323b00000000000000003435cdbce510ea3a0000000000000000dbf5b2bcc7200e3b0000000000000000bad38bbcdd123a3b00000000000000001c126ebcd5ff2a3b000000000000000033fd20bca77e8d3a0000000000000000f1b9a53a00ac30bbdf43ea3bc320ab3b7a78313b9e190dbb10b0263c4e4fa03b2acabe3a2e04d7ba40892f3cb5b4ea3b4a79ae3a122195ba1a80243cce2dee3bbbee933add7242ba81e00d3cc9c7d63beb195a3a18cd9dba33c6e43b093bd03bcdf6b73a196f07bb6daf993bcca8a53b12dfa43a06de37bbd756313b3d27813b7e7adc38a2833fbb2290c43acb73413bf3d24bbaa3d6a1ba021e0f3b72efc0bca29a1abbf78d363a09d6353b78efddbc5fe285ba75bbad3ad337603baa8bbdbc4ec6a8b9974ff6b9a90b513b4fe49dbc8982f3b962f0f0b914160c3b560a81bc884fafb9026ca8b92f96003bc1ef55bcc36deab9bc9112ba9352ed3a8fc12fbc94a158ba9fac17b61bb9fc3a36de0cbcdb7580baf0230b39e1d24f3a2bd9c2bbd3321cbcedfe6a3934fb36bcc1a95a3aed5cdfbc7df638bc20073abc3e3ce33a5a6f0fbd64ef8ebcd6260abcbb10973aee4c01bd614b85bc973eccbb9ae7863a97f5b9bc047344bcc04f9abb3af2063a691a6ebcb6f507bc789287bb00213e3af1157bbb6eea53bbb6e493bbac948c3949b6ea3b53914d3bc1f18dbb907326395d023a3c90d0e53bef944bbb9643f7b96953b4ba2a5b63bd7bd23a3f9b3ad83ee3a3513929f78abd9903313f4587cb3e03253bba7c7f6abd0bdd183f4ef3b13e8f3872b99f0049bd8b1efb3eadf5933ec177d2383d312ebd4142c33e898d6a3e2731b43a447823bd3d798e3ed6182e3e63a7453b409119bd5bd3333e2f15e33d3eff9a3bed1511bd1aaba43d789a603dd05b313bd6c1c8bc712d04bbbee3a53b14223ebd3b1a203b000000000000000050586bbd1f316e3b00000000000000006c3942bd4f5e163b000000000000000025a11ebd7e81cd3a0000000000000000358bfcbc6d3fa23a00000000000000000a40d9bc090cd43a0000000000000000a8d4b3bcfa12e53a00000000000000007f9a9abc181a063b0000000000000000fb1348bcee4c913a0000000000000000143f683a348b3ebbdc62a43bce12e73b7db0e53a7ea617bb75bee73b69dc113c0a8e9e3a69318dba8794033ce2ce123cc4cb143acc3d87babc8d043ce302183c63c01939070a13ba555ccd3bbfbff53ba3a5153a81d9c2ba02e7bf3bc059ed3becdda2b9568e43bb341d863b6064b23b77e8453a21e321bbb750123ba60b8b3bbadd4139710519bb03bd003bfe217f3bef4de1badda129397249cc3a1ba7a1bc97b3b4ba2aacd53940706b3b740cb7bcb354fbb9c3819cba40933d3b6d6a99bc3ee521b91246873a0f6f303b7a7183bc4afe0c3ad7a15d39193fa43a989e20bc443055b707a8c1b97e60f83af3fa34bc6191aab9d6ac1aba2307113b6d8c02bc69436aba158c08b90bf9d63a9bf7fabba8ecf5b97a60a6b93565d339764abdbb3e5302bc88ed68397db65cbccbe482b80b03c2bc11e44cbca5d463bc941fd43a1b24e0bcf4718dbc35f20fbcdf900a3abb05e7bc8b5793bce07100bc6795833a33c38bbc5e0124bca6cbc4bb7884593a5e4f69bc2623e1bb8632b1bb6b0e253a140e98bb2120e7396e2c96bb1871aa39c459503babc6f23b8e049bbbf06516382f1ef23b84e1363c53525bbbb8d650bab42014b9bf4f52bd3e43133fb542133f8e30e33a53c77fbd43d0093fd23f0a3f0dcd7f3af3144abd2e14eb3eada6ec3ef84d6d3a5fce3fbd6553c53ea3ffc73ebcb0703a55b5f9bc887f933eed30963e4e7f023b869b18bd118b603e7c5a693e6b3a7a3b73a3f8bce9130c3e5ce0153eb98b933bfc51fbbc7d397f3d7315973d693f4b3bdb88b0bcf29238bb589fd43b99cb52bdc9fc4a390000000000000000111179bd9251c23a0000000000000000c2d53abd1ded0dba00000000000000008a652abda64c77b90000000000000000e102cdbc555023b90000000000000000f784ebbc5955e83900000000000000009800b4bc53c3303a0000000000000000397ca8bc411bc53a0000000000000000ddbb66bcb3ce0f3900000000000000003772ee39708026bbe960383bfa940f3c7630f73a04b2b0bab4629f3b94aa3a3cb083ba3ab53269bae17ccb3b633c3f3c50a0433a1c4b51bab47ac83bac06333cc19a583a6aaf84ba8f81ad3b9578213c56adca3949a764ba8e4c933bf808053cef9df03a3d91cfbaccd33a3b3ce1b53bc355263a2dd7e9ba35cdfd3a3261873b267d5bbaa3e2beba9f07ad3a44ee773b6cded8ba5d278539459b073b7b5186bcdda614bb9c40263ae3858d3bffb297bc0b0d7bbad88df339e53c773b798e70bc5ffdb3b9073a77b9837e453b69564fbc30279ab84d9a7db92fa7243bc25f2abcbb648739c0a1bdb9d1ba1d3b2a8d0bbc0b1c4fbaff7a733a0b3eca3ad6b5fdbb7a9a3aba013ca0ba63cbf33ac3a8cebbc1130e3972689f3917ed8e3a6b5d99bb4ac130bc5cf012bb61ed6bbc929d2439293dd6bc0d769bbc6b4887bcd669fd3a87d2fbbc6fdbd3bc8abc44bc1b36013b452fe9bcaaf6c0bc68ec1bbc29ebc33a3adfb4bcd67085bcad8dfbbb3cb64f3a462c85bc316e0cbcb66de1bb77d8783ac6dd16bc8a742c3a743acebbfe969b399cf6adba96b9323c081aa9bba595083ab3c2703be7e6563cc1e090bb8140b0b9f339093bbdf040bd8d44d83e024a3b3f14c0863b628673bd4ca4ca3ed795313fa18c5b3b41714dbda94baf3e102f193fb805513b4a2030bd3fe3903e7c38fd3e4397253b474d15bd4a14623e85ecc53e1b5b773b017906bd47c0223edc9e913e5efc873b269af0bc1eddc63d9c7c3d3e520aad3b6901d4bc6dda253d7045b43db408143b5b968ebc67ded1bb45a1bf3b2cfc60bd67ac93ba0000000000000000604588bd28e8a8b900000000000000006c6859bdf0e168ba0000000000000000041d30bdca57a8ba0000000000000000ca3d0cbd790da7ba0000000000000000f50df3bc1cbdc1b90000000000000000e07cd1bc15aeeb390000000000000000d086b4bc21ebdf3a0000000000000000eb087ebc9341c4390000000000000000ae93a03a2b92bbba3d560b3aabfe223cafdacf3aad81f8b9b91b023b96235c3c47b8a1b90deee639ee8d813baf9c423cb114813ac96cecb82c9d883be7e1453c0f7e063a8895d5b96411593bcb2d1f3cd470283a2c2875b876264c3b374b0c3c4c28123ad203f3ba9bf3073b2e6ab63bf5132f3a9f8983bab310c1399b3c4a3bb6e2263ac7a987ba071e23b921da143bab3435bb1f86c3396e06383b941f41bc8f000fbb1322a63a86878c3b34fb47bc451227bab203a53a3628913b2acc1dbc60dd91b95df8cb3919a6483b6a1905bc86b8ad391b4196b8f62b263bdbeec8bbcc15253af734ea38fc8b103bc606c7bb0dbe92bab875a8b9a5d4043b953694bb1f9a57ba96599a39ca1ce63ad5929bbb6f2735ba392213381a6f683aaf7581bb6ae482bc27aa12bc47c37bbc8ad4093ad717f5bc9d94fabc8d7191bcdf10353b6541e8bc67e20ebdd7e745bc0b3b3a3ba36feebc4ef603bd4bc93bbccd5dff3a702aa8bca2e79fbc38f204bc938b8f3aaaf493bca37144bc664a09bccbbfa73ac3bd26bc32d891ba5d60d6bb825b64391737afbb26c4473c44efd9bb9143113aa55d81b95cb68c3cbdf879bbb53adab9ca836c3bf8512abd06dc8a3e2234643f9cc2c83bef9050bd4e42813e6b77583f5e50a43bc62c1dbdcb1d603e7825343f8682873be79114bd207a393e8946183f15315d3b0dc9d6bcdce60d3e2046e83e69af893b4126d7bc4ee6c83dc1daac3e5f8e9c3b4a2ea7bc2747703d6a46593eda4aba3be7409abc8fba853c3162cc3d21f4873b7a8550bc35da55bc294205ba3c9f66bd46842dbb000000000000000023e187bd329c13bb0000000000000000743e34bd7df44abb00000000000000002abf22bd26804ebb0000000000000000c493e6bc499f2cbb0000000000000000bfbcdfbc30e3c3ba0000000000000000d9f2b8bcf747e43a000000000000000075ddb8bc76cfad3a000000000000000034bd7bbc5d40fe390000000000000000a1637a3a5b7c31ba688970b9702f3b3c498afcb9077a843ab45a843a7b84653cdf46343bdeba7b3bbf2da03b5d23853c3bd03b39a32f113a8d0e133b9d2f3d3c26b339ba89c75b3a47e6153bfae11e3c8dc5fbb9e8dca63a342e0a3b9842df3bccead939afc61438a2f5c7395920bd3bffca463a1df72239fe62e6b935859a3a9b7bd83ae58fb5baef8594baff496e39f3a3ffba68eab23ae37a493b2ee2d5bb89932bbba50f5b3bf2848f3b01cb48bbf537853b6651a8ba3348cb395c43b2bb8a3ff539a5028b3a4c444a3b8530ffbab5f2af3a2dab74396b47193bb19d1ebbbfa4743a388ccd398a962b3bfc50a7baf201c4390adc6c394d41be3aece515bb1f2cadb956b36e3ad2d0d23a3ad7acba5d48043a9ac3e5b9b10bba39915a56bb76a3b4bc1ffdb5bca25784bc016b7f3a688911bd3d4d54bd637fa2bcd9eb693b4786e9bce26b47bd2e6d96bc6d071d3bebf4ebbc19f039bd42b658bccc974f3bbd67b6bcb0e8fbbca5a824bc764d1b3bd9cc9bbc970ca4bcfdcc18bc156f273b31345bbc5f1e82bb410c0cbc58cf033b732f02bc65d20f3c1270f8bb1e500a3b7c365fbb17b8a53c7e0d99bbef9b8eb6575da63b60cb0cbde871ff3dbc43873f2f27f63b464214bd27f1e73da29b7c3f5bff923b7a4f00bdadb2c83db915573f4f65b13b25ccc8bc4be9aa3d2b212e3fa43f8d3b44f99fbc283f803d1401063f99b0633b1fee79bc6d3d213ddbffc23e8f248a3b2d204dbc258e813c3a70733ead8fad3bce8910bc42ec01bc56c9d03d3352513b25e100bca715a0bc6d7736bc2d4852bd4b829cbb00000000000000004b055fbdbc3e82bb0000000000000000b1801bbdbe67a2bb00000000000000001fffdabcd70e85bb0000000000000000bdd9a4bc3a0565bb0000000000000000f6dc99bc0a1d02bb0000000000000000c02295bc56311dba00000000000000003ff5a1bc9080083b0000000000000000dd8880bccc9fbb380000000000000000000000000000000000000000000000009ffb343ab4419f3a691a25b95fb32b3c1a0f1bba53faf43963979fb865cb073ca8a9483a35ac943998b62c3a5f3efb3bf8286fb917e1e33adc72ec3940e4c33bcc3e6c399770cc394e38b739d8da863bff2b0b3a1ad9783a6b2bdfb8f76dfc3a7a42eebaef9fbe3a52fb02bb1f8355b90000000000000000000000000000000000000000000000000000000000000000c6e881b901fdfa3a3498293ba5b0bc3aeb7703b9642cd23ab7d22a3bcc4b023b6a9cc03af018863af5d5353ba8c6d5391f057b3ac92bdf3aa888353bd47d4a38942bae3ab2e3af39bc58a23a0ca98a39bbcc983ac624d1397a45a93ae47ef839c2e14c39f96bf939049d19394029813a00000000000000000000000000000000000000000000000000000000000000004ee1edbc233454bd3caf70bcc2302d3b696dcfbc44714dbd4ef344bca6775d3b69d7afbcf8ca28bdadf926bccc2c1d3b06955dbc8689fcbc5a1813bca1d5bb3a3fdc5dbc45b8a3bc48dedebb9551353ba87f24bc6c820dbc82b7cdbbc9d60f3be52fc3bb45e19d3bc889aebb85bef63a000000000000000000000000000000000000000000000000000000000000803f753ea53b3b059bbc11c218bc25eb863fd9589d3b23725fbc524996bb1da7613fe8538e3b25aa24bc43c721bbcb7f383ff060143b820c16bc177bd8bb17d60f3fd2f2443bcb41bfbbf08821bc125ad03e90794c3b6b5c48bbc8207cbcc5de823eeb93843bb84c05bb1204aebc6a5fde3d0000000000000000000000000000000000000000000000000000000000000000be20c4bcd93fdfbb0000000000000000d83750bc86eb99bb000000000000000092a304bc1bd592bb0000000000000000bbfd9ebb44b11cbb0000000000000000c557b8bb21b8dbba0000000000000000a400f4bbd79224ba0000000000000000378f38bc2982a63800000000000000000000000000000000000000000000000000000000000000000000000000000000a1c62a3b03fec2bae90f263cdd4b29b92a1a003b25a171ba4c66043cdb36ddb980bbb63afee14fba2903093c521be53aa683ca3a6afd1dbae957d43b0bb9c93acb2fa13a99fe86ba9265a63ba7e1b83af3c2a13a71620dbb40d9853b67b6853a5d289c3acb013cbbd447583b647d863a00000000000000000000000000000000000000000000000000000000000000005b500fbb3373e3391c2c22baece299bc97a101bb0e264e391821dbb95b326abcb4b71bbb65ea2cba9d329ebaeaa858bcbbc1b8ba40fc6839ca0aac397ca228bc13aed9ba984901b8b5b582b9a86204bc4d01dfba00cd8038cd6891b8aca0d8bb145908bb23c8013a41ea8eb8d717acbb0000000000000000000000000000000000000000000000000000000000000000019791bced88b7bb714c3cbb8426ad3916728ebcff13c8bb8d58fdba181d6ab8e99d68bc40e887bb9cd935bb0cdd31bac2af04bc780275bbe15f1ebb0e2512b908b322bbc9c956bbf6b340bb084ab7b9f985913b8a1032bbd73070bb8bfde9b770cf613c1b1ec2ba6f7ca7bbcc4b18380000000000000000000000000000000000000000000000000000803f00000000cee3efbbd30a3ebceadf753fc6ff5c38592fcabb6a351abca81f513f128ebf3abb34c2bb2e3108bcc6df2c3ff26e6a3b9d3c86bb35e513bc156d083f81f71a3b244f83bb0b7e2ebc92a8ca3e3ba2ab3a4d304dbbe09960bca97f843e35c613ba311503bb4e648dbc5c25013ef2ce17bb0000000000000000000000000000000000000000000000000000000000000000c28253bccbf3373b000000000000000034ed1fbca029de3a00000000000000006630d4bb3efd973a0000000000000000b2add0bb2b2f683a0000000000000000b8cbacbb28d70c3a000000000000000033e990bb2884243a000000000000000090a998bb8a5f463a0000000000000000000000000000000000000000000000003094dc3a4ad5a8bb23a7363cf6603a3b0d14863bddfd98bbaf69493c554d453b918e123bb55f72bb0d83543c5fd1983bc97e193b5bce46bb55ba3b3cece5893bd885f139e1500bbb477a143c4ded773b9511b23a9f7c59bbf940053cb3489d3b3133b33ac1a787bbd828bf3bd9a9803b4dbd343beff69fbbb649803b1dd23a3b4454ab3a415ccdbb2d53183b17d18a3bb4fe09bb2b5f98b995a1b2bad7dcb1bc35dc5cbbf9bfe939515a843a272bd9bc042524bb19dbf8394a1680b90edcbbbcdbf122bbe0233a3aa83e03ba082f9dbc4b16aabbe6b1deba4f73d3ba04e782bcede426bb73eb9db96af85cba9b3758bc21e91ebb2723cab9441a47bab4ce35bc947705bb8fccc939dc116d3aa72f23bc931bdfba6a0148b900b148ba4dc210bc3ef786bbe19209ba7fd2fabb8ec0993a570f80bcc2084abb5749d5bbb864f9382a508dbc2a2548bb1dcab8bb4886fdb9357e64bcbf405fbbe6e198bb6b9d21bb459eddbb2bab983a548e11bb12d45f3a4de495b956ed49badecacfbbb5508eba41860f3ca98c4b3abd53d0bb66459aba418c913cb14bf33ac4ebe4bbb07965ba5b62ac3cb4ad9a3b0e95e4bb967d82ba3a43ddbbdeb4d9bccc1f773f9f6b063ed80ac9bb9513e9bc267c5f3f556ff53dc736dabb6ff0b9bcc9fc3e3fc64bd93d1d88cabb2be4a5bc43af1d3fb77fb73d0ea7bbbb944190bca842f83e23fa903d7f64aabb5502aabc55ddb83e7d46603dc20234bb518ebebc38a3713e8142143df804d9babad0d5bcba0fec3d329e8e3c36366abacbc9a5bc623a5d3b90b6153bc446b6bc3a671d3b00000000000000007dcbc4bc82e3593b000000000000000020f0a4bc6449a43a0000000000000000c9fd82bc3ead80b900000000000000003c4553bc52f2a0b900000000000000009d844dbcfad2f239000000000000000028d827bc04fb43b500000000000000002d5c15bc22b7e0390000000000000000421c08bc0f8d2039000000000000000034dfa23add32ccbb3a6a1c3cf39baf3bdea8473b70a1d7bb662d4b3cb6c2e23bd65af03a0d3c75bbccb4333cc03feb3b2094da3af336a3bbb47a403cf4ee003c8c080139f36e6bbb15821a3c4967fc3b1adad53a994fb5bb8bacfe3bfd94f83bd686983a2f7db9bb362fbc3b5f4ed63bad63ed3a4bf2d9bb2f3d963b26cad73b3131843a9813b9bbe655653b11fdc03b895e69bb172aebb908f48cbac786abbc667b80bba1419bb80532123a41dfd8bcf8563cbb225718bad081b939ed84b2bca4a958bb98c80bba0a8976ba7e17a9bcd2b5ecba06a20cbb8f3f02bb0f8f70bc5aad28bb8d7b3cba31228ebafe1381bc48261bbbf1be6bba49137eb9b92f52bcb69e34bb21b1bb3a81e21bbadef15bbcb86b02bbca283bba1959d0baf1dc1bbc8143e238560eaf3b35e713bc0c56b8bac6ab16bc6ba10b3b43e321bca74981bafac133bc213d8839dfc6e6bb13b3dbbacf0119bc4157e23933c8f7bb635df4ba512917bb6b972c3b7b1cfebb372ddaba503b363b3ab4893b14a9eebb3b320cbb94770e3cf51bca3b764be6bb6b6c2fbbe0a3913c6f7e193c798e0fbce7201cbaabd0903c63b21c3cee44d9bbf23927bb0db7a4bbfc24f4bc74f1523fad16893eef8ba4bb18fa15bdab71403fe8cc7a3e466783bbf4daebbc6ab0223fd5a3593ed679a2bbbca7eabc51f8083fbdb4383e7b859cbbe46eb8bc6406d63e02a6123ee25552bb3152ddbcef05a13e7c0fe23d29511dbac0d8cabc70cb523eb8eb973d23847cb8e35cecbcb549d53d1290283d237d33ba85d4a8bc15a1c83b2a84f13ba9c9d2bcf60a823a0000000000000000b3f2febc23fdea3a0000000000000000ab48c1bcae78053a0000000000000000b21cb6bc38c309390000000000000000d84682bcf180b9b90000000000000000b63888bcb8e43bba0000000000000000019b5cbccb1667ba00000000000000005caa62bc83c653ba00000000000000004b0b29bc0ca79aba00000000000000006ebfa4395e6ad9bbee07fe3bc094ef3b8f6e2e3b4e91f9bb4fbc253ce38b303c780dde3adaebc1bb2e90393c8362273c1c0ac43af3d0c2bb02f0243cade4343cecc9363a6bc6b8bbb0690b3c6f482b3c1329853ab50fc7bbf9b0e03b442b1f3c70b7b43a3128dcbb51a5a23b89550b3cd25dce3a468cecbbd1de763b7c620e3c3bf8673a6c9cc3bbedc84d3b0ba6f63bd03d38bb48c43bb8b746f2ba38f490bc354887bbaa916eb9fa65283a286ed0bc096f74bb90f679baa2a2ddbadf9cb3bc97e84fbbf92967baa3b534b9d3fb9fbccc7925bb78cf9bbad1d281bad6cf87bc3c0032bb6b3fb9ba491114ba178681bc6df1feba34ac9abad7525dbaeffc6ebcf88c34bb004747ba522121babb2063bcae1ec1bae9e543ba4c8db8bae27429bc9a77d53ad7c9fb3b63f41bbc173f57bb88d2edbb782db73bafc43ebcd7e29aba0e531dbc52950a3b3f151cbc211818bbffd006bc0529413b09bc08bc143932bbb7da4ebb4d07a53be2aff8bb056f38bb001bf53a6390f43b770f01bc5fb73cbbd88c1e3c5a9d243cb98f00bcf51668bb57ff653c7c656d3c817b10bce9be52bb1f276c3c2969693ceb5bcdbb3ab148bb5e2d4abb7720f7bc34f92e3f7efacf3ee8894ebb670c22bd95db1f3f2b75be3ee32162bbdc180bbd7eb7093f0620a53e902b53bb169d00bd2764e43e09d58a3e0bc73bbb0127e3bc124db43ea6375e3eca70e9bacebfe6bca1b8863e2c32293e0b4d17bad312e5bc973f313ee856e43df93f483a2567e4bc1d58b33d53367e3d86211ebb96b1a4bc4452d03bb9c8203cec42e1bccc659eba0000000000000000c5f30dbda3508aba0000000000000000b825f1bc451052ba0000000000000000b344cebc9b92d3ba000000000000000062fda7bc826a13bb0000000000000000dcb49dbc934c04bb00000000000000009dc377bc4da210bb00000000000000002ad882bc03e1dbba0000000000000000676038bcc94c24bb00000000000000008be956392762d4bbaef5cd3b3313253cdde9e93a4ed2e3bb72def83b6d2e593cd540e03a2f9cb5bbef44df3b0998513cbd28963a61d4c8bb1071003c4cb2563cbae1b0b9493899bb1f9db73b9ce3233c7755913a0bcdcabb173bb43b52843b3c376fa03a70e9c7bb3af1683bfd32253c54c01c3b90ecd9bb1aad313bf0e31c3c18538739d478c7bba182ff3a62f11d3ce08b82bbed0174ba15e57bba4bf293bcb79a7bbb472d65ba8a49873a871ab2bc7de546bb0dace4baa5a76b3a9ce696bc157c22bbbb82a0bad9d273b9ed4390bc8ca4dbbadf82e1ba35e6b0baf10f46bc42b713bba19fe8bade4e5eba7d0076bc4a9735bb614bd5ba29a1dfb9213254bc2a0018bbff7692ba4a83e2bae2d156bc65e20eba0c7793ba8b20f2bad10033bc29b6b2b976751a3c63222cbc317de0bab23cfebb4249d63b7b7b3ebc86ba84bbb1a110bc3604683b1bdd14bcae5f6cbb1fcd09bc59187c3b916f0cbc913f58bb15c828bb64f1c53b49d5b6bb735a4fbba6f58db9d576223c649001bcfb0460bbff7eab3b1102693c411901bcdf1073bb5c5b1d3c1025963c3e9f02bc91d984bb71941d3c8198973cdcd3b1bb7b9479bbabbb43bb749ff6bc3c3f0b3fd1260b3fb1fccfbad7b518bd6cc7fc3e8f46fe3ee578e0ba4db801bd4081d83ec8bbda3e5721e5bae220fcbc466cb53e3ff5b83e3bb405bbae2eacbcc9548c3e5c898f3e539d80ba056bdebc7a03563efc13603ee447f037a243c5bc88930b3ed4f8163ecb9779399e51c8bc8e288c3d9653a53d80c217b9d5689cbc9b40543b1d3e713c786cf3bc9265bbba0000000000000000931e0fbd7af5b2ba00000000000000001aa8e4bc73dc35bb00000000000000000e2dd1bcea6944bb0000000000000000628185bcebd767bb0000000000000000213e9fbc22314abb00000000000000006c928bbc905642bb0000000000000000487a82bcfbbb52bb000000000000000086ff39bc88517bbb000000000000000009c09a3956f3bebb4b9e613b705b4a3c2c2e213b68c1d7bb4ef1a23b2efd7a3cb1a0bc3afc4ec1bbbaedc83bc2336e3c15aed13aef81afbbf90bbb3b495e6e3c1ee03c3a6ffda9bbec57983b468d4c3cb107a43af9d6bcbbaaef583b62ac473c0611e23aee69c0bb65a9f23ae6ce273cf3cabd3a3618ebbbc1aaa23a05ff233c3431fe3afcf3dfbb74e9f8b9c4cbf33beedb47bb84d390baa00a003a09d680bc72328abb31666cbaaed61a3b10aaa0bc8b5a60bbc9b380ba3a94aa3a057b7fbcc41b26bb83468dba03aa6c3a296880bc8dd60abb765ed4bad4858b3826b963bc2a40d5ba5396b9ba7859fc38276f61bcb0f3a7ba47b7a2ba31eda439fbb156bc6a6518bb2bdc95bab435f0b9ee2c4dbcee731eba4139bfba4f34b3ba2c1c44bc80078bbb30c1223cb52623bcf85a4dbb1b2f43bc0f3b9c3b04854fbc9e1c2cbb023f58bc75499c39fe282cbc5a5528bb64933dbccb66083baf8311bcead14abbf28ce1bbe164c43b08b1febb18a763bb6b6a70bb5aef2d3c1db4fcbbffba66bb8e75283aab947d3cc52ce0bb2e6a62bb5b21b33b3209b53c86bbfebbab4380bb698eaa3b0fd3a43cee3380bbda568abb8bef7fba4b47eabc5842cf3eb82c2f3f9e04363a24f416bd8ca5bc3e065f203fbc8705b9992505bd19d7a13ea1dd0a3f81a4d33836caefbceef0863e684ce73ec171293982b2d0bc98ca543ef1aeb73e6d7a823ac928cdbcf00f1d3e8cd98a3e31b4fa3ac32ac1bcc867ca3d023e3a3e4e3ff13a1e74b9bcf37e413d0befc83d57b03c3bd9836fbc8a4d0fba9d0b543cd5ccf3bc0e6085bb0000000000000000eda516bd64d663bb0000000000000000899ff7bc4c067abb000000000000000067d4cebc30358cbb0000000000000000ac1ca5bc3c3a86bb0000000000000000e8089bbcd2e481bb00000000000000006a0788bce4c85fbb0000000000000000e38486bc96c15cbb0000000000000000a51f33bc9c8f88bb0000000000000000d2d6ec3a570096bb5060523aa43a493c2a33f93a08a299bb5f961d3b5db9853c3020c03a9bac80bb96ed503b8736693ce07eb03ae60390bb952b463b4610723cf859cf3adcd970bbf69d173bfbd5463cca96003ab37d93bb32819f3a5f8d3e3cdad1973a180792bb48e1a539a211153c6c000b3b528d9dbb8bd6b2ba2bc6083c45b68b3ae3ec8dbbbdae9aba525ce73b908069bb569363ba1eb6e53a9b6351bc8c6183bba0f125b94608013b085b77bc052b0bbb918684ba5c740d3b00f247bc6c63eebab1072eba8fb0d93a695347bcade109ba25d417bbf613983a31181fbc7b04abba748292ba7ecdbb3a975235bcb317a9badfa6baba856eea395a5f22bce22ee0bacd1133bad4bc7d3a39173abc52b542babd039cba65620f39659317bcd3d31dbc70b2d63bac4126bc59e851bbc60b8abc941819ba2be753bc24131abba50279bc89fb64bb53d715bc44022abbf18f71bc10051ebbd70914bc512327bb0c3811bc7c8e4f3b043604bc4d41e8bae859ebbbecbf0f3c7cceeebbd31938bb43242abb6c945e3c34d9d2bbf6d971bbe2ed89398bf7b93c120ee6bb235851bb8e67193b6a46b53ce60e8fbb2c695ebbcac7963ae7dad3bc8062883ec2e8523f734ba73a83bb0abdd29e773ec41a413f119ef93aa791d1bc85a7533ef45e233f97e6e93a2b16cfbc6425303ea0040a3f218282b9d986acbc434b073eb846d83e02792d3b7decaabc3f8fc73db73da43ebe302a3b073791bc0ef0793dee01593e0aac723bedd299bc6ab9c33cddd6e33dddef0f3bd2f964bc78c2babbdcbb463cb5c9eabc1877a3bb000000000000000092df0dbdf827afbb00000000000000007e44c3bcc5e6b8bb00000000000000003d8cafbced4bb1bb0000000000000000f09c72bc5d98b3bb0000000000000000ef6185bced588bbb000000000000000008f566bc3eb028bb0000000000000000d46972bcf3154fbb00000000000000006d512bbcf3d668bb000000000000000093bc963a44895ebb567a81ba09a9533c28713c3b7d4322bbb51778ba5701723cfb56d53a5d2512bbe4cea63aab626d3c0f83e53abb3400bb81d6863a7bed553c3bc0ac3a8c3202bba2249a3a09775f3c204be13a566a20bbb78dc8b9e5d7183cb4fdea3ad0b53ebb0a3890ba9c9fea3bc1bdcb3a65503fbbf45449bbd5a5c13b4040b73a5ef65dbb3c9d85bbd95bb83b995c2ebbccefc9ba6140033b3e4616bcaacf4ebbd66f753aa576a53b44be0ebc1d12b4ba0884d03842ed3b3b1ad1f6bb05d2b0b99ce8d6b9c9e8313b2b4afbbbbb26223824f51a3a36aa9db762a1fbbb0c8ab6b94c491bbae570f23afff8e0bbbfdf28ba376584b95348f23ad4b2eabb92820bbb27835fb917b3d33a63e9fbbb8358a9b9b5d03dba8d32643a59b5fbbb9dda7cbc1b7d1dbadb861abccca445bbcb4dbebc735749bc24594abca0df86badcc3a6bcf57366bcf62424bc8d4aa7ba098a8fbc4d182dbc283d03bcdcf79aba5b3d3dbcb8949bbb8589ffbb6954faba168722bcd9f7303b3506d0bbb799b1ba9a3bdebb5c8e393c0a85c3bb5b5fd8ba86b96abb2140a83c7018d4bbb9aaadbadb981cbb9c3abf3c2caf3fbb977a12bb0280313b4cc1afbc6112043e1435773f5403783b4e99c8bc1e49ec3de210603f87234e3bac42aabc823dcc3d60813f3fb7b1473b4f3a92bcde1ba63df8361e3f09633d3b48ff81bc5644813d6277f83e8dbe6c3b1f4863bc8ca32b3d2a15ba3eb864353bf61659bceea6a83ce8d9753e88669a3b830f41bcbabd483a523df53ddaf35d3b974124bc0b435abcfce6e23bb798c0bc4d75d4bb00000000000000007165cfbccd50c3bb0000000000000000bc248fbcaaa6d1bb000000000000000025ca53bcda9ebabb000000000000000050d13dbcf01077bb000000000000000019ba25bcef408abb0000000000000000a8c02cbc97d873bb000000000000000090b846bc4e2313bb0000000000000000a09810bc26b643bb00000000000000000000000000000000000000000000000072edba3aa1bd86ba54cb4eba0a73353c5556a53a117b11ba03d4ff3896ce1b3c53629e3aa9561bba36e7613768c4053cf0657d3a12740fba0478c5b900e6c73bc1b1653ab8cab3ba2c802ab85f77be3bd63c2e3adb9eb0baa1941fbb28dc9c3b215f5f3a23e671bafade59bb54501a3b0000000000000000000000000000000000000000000000000000000000000000e242f5b9b4b63a3a5f5f4b3beda351bb7a7d5039e7650b3b7fb91e3b5e5e0ebbb4be243aeebfc43980dbf13a58c50dbbec88f639422c0fb9a738dc3ace650fbb30ee853abebb3539ca1eae3ad28449bb94179a3ae3e6d9b99a2f263b9ce953bbb84048b9ef8f6439adf4ac3adeac7fbb00000000000000000000000000000000000000000000000000000000000000009626a4bca44187bcd4d204bc90b6a8baf5358abca36991bc2640eabb1a075a3adc6762bc65d760bc2d61b5bb69c88db9827b30bca9bd05bce90788bb09dea7b91a45f1bbf446f9ba1cb083bb74090fb930a7d1bbfd70813ba62392bbab6bf2b9ae398cbb41b7563c481a15bbb7e818ba000000000000000000000000000000000000000000000000000000000000803f53d6603b0b7d5bbc97ac39bb1f21763fbd204a3b09a826bcb3cf09bbdf2e513fcd661f3b5df60abce18236bbe3d72c3fc5d71a3b085bf1bbacc29cbbd396083f1d29263b72a8dfbb4fd50dbc191ecb3e5c36893b123aa9bb52323bbc2537853ee7b1693b8f44a0bb26a879bcc200013e0000000000000000000000000000000000000000000000000000000000000000b1b926bc6133e5bb0000000000000000e9d1bbbb8142b9bb0000000000000000f51f46bba7739cbb000000000000000065d922bb1bf880bb0000000000000000dccb3dbbcb8342bb0000000000000000b2b630bb652d63ba000000000000000092c4a8bb254b0dbb00000000000000000000000000000000000000000000000000000000000000000000000000000000dc2a73ba385eb9b853809a3b5951953ae6e31fbac0f743ba0348363ba180903a0605b5ba3e9984ba9e813a3bdd4bea3a63964bbae3e49aba82f7d73afeaa253b0812f9b8e2102bbb5cc8123b453b9c3ad9acfbb8426bc7ba22e5bb3af775403bd6ba79babb91cfbac47a1a3bceb4093b0000000000000000000000000000000000000000000000000000000000000000eb4797bace0c26bafdd4aeba2b200fbbca727dba554481389215c2baf33e15bb29d8dc3750fb3aba3d4fe9bae0e52dbb74d1c239f695a1ba840ba7ba17710ebb07133abbd9248a3777f2d6b99c205cbb14ac71bab64a80bae7bdd0bacc6bf3ba2d3f27b9dbce11ba05edefbae7e4d8ba000000000000000000000000000000000000000000000000000000000000000013f73e3a06c8ad39ea2ed8ba1db050ba557a8d3a4fcdbd398acdc7ba8e4eceb9cce602ba88618d3ae2cb0bba19c0a1ba13e8883a01f567b8e3bba0bab26fb6baba918c3b839b2f3a84700dbb3cfcd13a3476903bc22d253b321eb5badc14a3ba84128b3b1e16f73a31414abab41ad3ba0000000000000000000000000000000000000000000000000000803f00000000218a68bb25c6a5b845e7623f759c513ab647f8ba6a0e83ba1a48423fd1ad4a3a93322ebb2413c1ba4306223feea4c73a854605bb728de2baeccc013fd8e20a3b905e4bbb1f5ea6ba5470c33e454f3b3ad24303bbdf0118bba48c813ec4094c39f98113bb778824bb748f033ea8188c3a0000000000000000000000000000000000000000000000000000000000000000074b12bb7f24ceb90000000000000000e21cf7ba6b0518390000000000000000057907bb8fc082ba0000000000000000df52cdba67bcb3ba000000000000000065ee003acb7ce9ba00000000000000000b8fe6bad0746eba00000000000000000f0d16bbe9d2a7ba000000000000000000000000000000000000000000000000c5f814bb4ae4c4b9313f7f3b214e3e3b4e6109bb553337bb1cc7b03ba016863b853f04ba00ee68bb0c93803b0b27453b168ad4bab82edbba9bc6843bcc3f723b701e9ebad847e4ba65dc403b39148b3b740203bb8a1f4bbbfe1b5d3b5d9e463b6866b9baa3c809bb1c8e523b91286f3bbd0cffbad9eb28bb81d5543b0b43813bb54868bad7b0a4ba23f7053b6543353bafbe95bae78ce939dbee0bbb84b378bb49d1f8b906442bbb2f3956bb1427a4bb2844233a734440ba26e46fbb0b9263bbf41972b97d0e9bbaafa48cbb448765bb3871db38966e9bba2c9802bb351c4dbb45c49eba1b3df3ba504f34bbde9177bbbbc807bbd0bcd3b9adc01cbb0ee033bbb2f09cb95081bbbab48c26bb724a32bbe719baba7be4c4ba98b9dbba87e757bb08ee553bdad7183b23290abb3d0008bb52e0753bb66c4c3b615dcebaaee356bb95d4173b06fa7d3b543106ba4911f6badc61373bc7e4323b4cf78ebab2ba14bb9f59153b91b1bf3a625c4dba5e83efba010b723b9a4b7f3bf05208bbfeb65dbb78b6993bde79573b54813dbbafee93ba4df9b83b89957a3b2422acba276b50bbf416943bcc49393bdc0509ba1fce50bbb2d908bb7db444bb351a633fa22c023e761e7fbb520481bb64f5473fb7cce73d51db18bb69f31fbb8d262b3fe167c93dd81b44bbbf9425bbc8c80e3f633ca73d89d22cbb4ed035bbabd6e33e73e2873d89325fbb076865bb59b9ab3e426f573dd66d49bb934b59bb342f663e2c2d143d71e54cbb288e73bbb205eb3d914c973c14ea81bb470685bbf785713ba897763b65f65bbb23a9e9ba0000000000000000efe948bbcb8e37bb000000000000000092b24fbb1b84b8ba0000000000000000c3964ebbc3b1ebba000000000000000064b5f3bae558eaba00000000000000001a3f7cbbc3834cbb0000000000000000311474bbdbc980ba0000000000000000534a5ebb38f294ba000000000000000082c423bbb5e09eba0000000000000000283a1ebb9a5a48bb4cc4713bc944bf3b4b0b86bbbcd04dbbedb99e3b79e5f33b8b4d1abbee383aba25f6623b85df853bfaf60fbb442725bb1fa1953b198db73b2256ffbae4172cbbf8c2513b734dc33b4ce4ffba5b9b06bbe68c233b3034f53bd42a01bbf45624bbf531473bdbf28f3bdcc735bb11745fbb26405e3bd5fcaf3bde2f60ba2bd24ebb97f8653bacfb983bd062acba5e777cbb51e311bbb3ca7cbb655fe236d9bb1cbb300c64bbdb18a0bbf0d0ecb90ed06cb8259400bbc32e87bbc2b801bb3ff0edbacb7e4fbb797587bb81a009ba428df3ba4ad057bb3cf471bbef259539741036bbc2e324bbfa9039bb7ee4a23885e1e0ba0d0c3fbbc67c46bb522dedb8dc9408bb9730e6babebf74bb01ba2039433d7bba7a3a83ba26437cbba839633be601b43b28dc2dbbf9c937bbcab7853bbb67a33b42ad65bb6c5962bb57f9313b75ae6b3b2b74d5ba5c3c2dbb31de783b31859e3ba99ac1ba623626bb47cb4e3b0d19b73ba677e1ba56e823bbe9944a3b786fac3b9b4939bb37c57abb7c3b953b2bf1903b841495baa47033bb2d06bd3bf67ab93bf640bdba541854bb9b70c13b1c45ae3b8bd995ba611e03bbe4c48abbaa8273bbbb34433ff3f5813eb5e986bb9eb68fbb759b2b3f6ca2663eeeeb12bb9d356ebb41a2123f85eb443ea22f71bb403969bbafecf53e6479263ef65f56bbf98d6cbbbf16c43e3c79043e151442bb3605a3bb9d50933e1255cb3dba075dbb066e5fbb88f0453e819a883d978881bb1bbd93bb878bcc3d0387143d6311caba98028cbb1edcb63bf1158d3bfb118cbbcffb60ba0000000000000000f9b7adbb7cf743bb000000000000000057d842bbb5351abb0000000000000000dd2848bb286719bb00000000000000000acf56bb37fb26bb000000000000000096638cbb806980bb00000000000000000eb91bbb2f822bbb0000000000000000912045bba98159bb00000000000000006b57e2baf0b41dbb00000000000000008ca1d3ba343137bb18d86e3be07fa03b873723bb18c902bb686bc83bfffbe33b423415bbc6c25dbbac9c6d3b38cab73bc50019bbc78c5cbb2913843b9e81cd3b11140fbbcc335fbb1d1a233b59e1d43bda3800bbeb036cbbbf36683bc401c43b473302bb84ae32bb37d3573b2dccc03bba6f10bbca4e7abb696a2f3bf168f83b8a8108bbb19441bb59030b3bb93be03bc00026bac7f370ba246e20bb764c84bbe525bbba13d820bbd30150bb28b7ffbb10fab6b95e3cf3b9abc84fbb3db69fbb50773b379f9a85bb263704bbd22498bb2426463a36afbbba33629ebb140f97bbc15190b951a43ebbdc0be5badd0d97bbced8d539daacf4bacb158abb4ee85bbb4b83deb9007b43bb09276dbb9cf98abb60b982b8ede01bbbda5735bb4f8c52bbe232723b8c42993b359b0bbbed747dbb5f679d3bec1ae13b146848bb8e0949bbd9a5333bbdee9a3bbec6febac5e456bb4d41593b1ef4b63bd205bebaf190acbb7c41903be46ec83be42021ba39c590bbf7a9873be837c33b8012e1ba1b4817bb3665983b3d32d13bd13335bbfb3240bbec559b3b30b80b3c8980f4bab7038dbb0c78813b5d99f83b1b779bbadf4256bbc8d956bbccdd88bb1d5d223f2203c33ed93d8cbb4644c1bb06f60f3f7fa3ac3e0c7084bbf561a6bb2d58f63e8bf3933e4f208cbb8a8a95bbba22cd3e1221783e5a3868bb55029ebbe69ca43e24ca473e1f4e81bb9571a5bbc576773ef6da163e98ed6ebbd61e8abbe263263e052dcd3d64c56bbbde73a5bb8600ab3da301603d41c545bbb26d71bbb94e833bb882df3beb4b86bb2665f1ba00000000000000005c71b0bbac8b7cbb000000000000000030bf7ebbc2a84dbb00000000000000002c9d67bb4a42b3bb0000000000000000dadd1cbb590f23bb0000000000000000bbb56fbb672f27bb0000000000000000933a96bbc09e54bb0000000000000000004f70bb015d90bb000000000000000066a320bbf2436abb0000000000000000a22ff8ba0d3055bba758693be533963b24db3ebb2e9423bbc1519f3bcc4ba03bd7300b38260fc7bb29729e3b3edff83bd277f4ba25304abbebee353bf28bbb3b8668c6ba78b11bbb1b8e1f3b61cea73b24080cbb5198abbbd6ac593b5a15b23bf371fbbadb5874bb6ae77939fa14e73b9163a8386b747ebbb25b973a98a3073c52cc1cbb93f51ebb9ece1b3b7b5c7d3b1fb4c8baad6bd0ba6dc3a3bab7a491bb4ec19abae9d62ebb7db4baba66a777bb0094343b1654a3bbe6fdc2bbd3a287bb7255693a5a1affba35f639bb032a92bbb1a29f399c6be7baef5f1dbb653d4bbb5bb79db80c0521bb97a7e4baa19000bb6990c03af1387bbb51a1c2ba17938ebb4b30f43a9338c8ba04ae6fba900d8ebbe385a2b99c3f22bb65b217bb5a2e15bba32d813b0800d33bf3c51eba694118bbf6228f3bae2f923bdd372fbb64126cbb36fa833b9b0ee63b92e236bb0007b5bb55d60e3bcb76a53ba22036bbfba251bbfe1c183bd921a33b2f3d35bae8de27bb0816803beeae003c96a7a4ba4ebe59bb4cc5a73ba18b043cb079ffbaba2b36bbe108323b800ff43b769ab7bad1f79abbb204863bf223b33bbf0f95ba393956bb24b36fbba94d94bb4e1c023f343c023f0aa650bbaad076bb099ce53e3c54e43ecd3898bbc48d60bb12d6c43e3049c53ededb51bb6a4e97bba9dea33ec448a53eebaf30bb53f557bb55d5823e7977833ed30f66bb5ac989bbc604473e0290473ec88e67bb61aa9cbbd2c1063ecd44083e99fc48bbc8b4a3bb9f9c863deeca8d3d2d0a08bbca5b99bbb3cc943bae22d13bbdf796bb8e022abb0000000000000000c7099fbb2e386bbb0000000000000000ae0b96bb8f9c72bb00000000000000009217a5bb460a6bbb0000000000000000249d11bba3cc9ebb0000000000000000ce5e4ebb0e846abb0000000000000000ad6cd9ba02c0e0bb0000000000000000dd405bbb3800a9bb000000000000000005352ebbfb4a81bb00000000000000000962e2ba0d2957bbf43ddf3ae3d1b73ba2739aba194b87bb1a30083bbc5f113c581bdbbad81f7fbaec06313bdc6ce03b0b8d22bbdc1902bb2e800a3bcf52e03b2d41b8baa4938bbba860313b517aea3bfa87fbbaa025d0ba58f1073baa30d63b3858e7ba28615fbb6ca2d23a62d6c83bb7e0afba6d6a92bbd141323bfe52f43b43c1ddba18abd8bae953a0ba400aa43b3a6b5fb99e6816bbd0b5b1ba157a88bb973f80b93bcd2cbb3faf65bb2e53b5bbf631ea3943c509bb878925bb944bc4bbad42323a60ea0dbb450013bb3dcaa4bb7b23d33a695c34bb20d666bb2f66a9bbdd87183a24ad24bb3c53ccba6eaa89bb5eaf0d3b5c613abbeed626bb923c81bb3add9e3abb49fcbac18648bbdf089cbb7fd27a3a879491bad55cdeba0ffb7bbb0592713bb106b43b065cceba44f251bbd7325d3bb336083c49b905bb750a68bb5d7bec3a814dc83b286071bad3f07bbbe01abc3aee40cc3bc0e75fba0ed778bb5a55233bf52fe83b5902d9ba6c1c74bbda5a193b265feb3bd46d19ba997872bb1a59263ba566e43bdb849dbacc425fbb8fa67f3be27a3e3caee8e4ba6b7bc2bb9a6e093bbedfd93bbf2e7639ea1543bbd8355ebbb2858dbbb8e5c23e586b223fb67670bbe42cc1bbdcaeac3edb280f3f7a6334bbd190cebbb395933e1b04f63e5d4016bb7f5aaabb2438763ea7b1cd3e1e5cc6bb367763bb0811463e8441a53e9cd5b7baad2e93bba10a153e1b4b793e128b3bbbc3f98fbb646dc73d1ba6293e5ed16cbb3dbfabbb325c523d3f8fb03d631eebba8b1f05bb30b11a3b0262c23bcbde6ebbd1154dbb0000000000000000996295bbd6da74bb00000000000000004d3a53bba9e386bb0000000000000000dbf172bbb5d284bb0000000000000000dfb062bb54677fbb00000000000000008e9729bbf5b48ebb0000000000000000e7ed4abb23da80bb00000000000000004228b4bb87b0cebb0000000000000000b5300cbb5afa56bb0000000000000000889817bb905108bb6e4016baf1fdd53bbd6c8fbab25f52bbd54dcb3a9222e83b7de5b3baec042bbb334aac3a90f3c53b82a3aeba099116bb86f9f33afc35ec3b497482babf7742bb1777113aa725ef3b419bccba63a232bbc387a83a70dcd93bf2377bbaf60f2dbbed97213a47f69f3ba901a439ce1a10bbe36d8d3a089fcf3b2cd5cbba841189ba837ef53a62158f3b41fa9c3a44aa88bb084913bb15ed33bb9541c439119027bbda4214bb813f8ebb61a53b3a16f708bb4dba0dbba69962bb975d29ba0606b6bae355bdbac8e551bb75bb0d3a3f58f3ba5227e5ba99bb6fbb84519c3a081163bb7fd5f6baff0860bba6e13d3a33a714bbb81307bb313e45bb7238a63ae09813bb942f12bbe23a9abb50025f3ab7463abbe6549fb97b3c73bb92eebbb9b2d2ce3b694b0dbb1afc9ebb84402e3aac3bca3b37fcbcba588665bb5315c139cfeba33bc3be41ba25024fbb24ed3d3ab737d03b514e00bb98c195bb38a0253943fbe73b0e1740bace233dbbc99f0cbac5cde93b262d02b9016b98bb5b4f953a0230c33be6dacbb99f114cbbd529b939c1dd0c3caff405b91e3058bb96e27d3a652e073c94da28b99c3fa1bb93e01ebbb3086fbba836813ed822433f16c52ebbf3c59abb5751653e47ab2b3f9da817bb2ae875bbd62e443e23e9123f7eafd5ba8e246abb2edb223e1763f73e3bd114bb0b4985bb15c9023eb993c43e7c8b0bbb24b17dbbfbd8c23d96ef943e201a0fbb895d60bbaf02843d2cc6463e956e26bb914aafbb64220a3d0264d03dbf1219bb0a5d74bb4e72413a27afef3bec432dbb23e7a2bb0000000000000000685671bbfa5a7dbb0000000000000000f0341cbbaa556abb0000000000000000d53d6bbb6d0362bb0000000000000000d66e0dbb0d8a59bb0000000000000000e6b270bb25bb66bb0000000000000000ce81efbaadf97bbb00000000000000004a74f9ba028083bb0000000000000000f7cac0babed6f2ba00000000000000005c80a9bac56e85ba1776c33af1f6983b342112ba7f975bbb65e7123a51ecc73b27c0abb8452261bb6c8f4d3ae36db93bda8330bacca6d5bab0b87a3a9bf80a3ce46c73bab524f3ba9761763aa46c773b0dc509bad83393bb5ac6ed394c70a63b5c43aaba864f4abb16c485ba4b6d803b1ac780bacdb40fbb5294cf37c001b23b17465bba0d5d74bac43759ba9cb37c3bb897b7b93aac44bad50299ba3749d5ba93fc353accc700bb029acbb950bc8bbb1c76443a4f24cfba6c3392b87d008fbb56e6853a86a6fdba810720ba258489bb0272c839e3a4d9ba0597f5ba30411dbb7f878b3a40b9f6ba4e397aba4bc046bbd2aa833ad53738bb8e62cebaae396bbb0a27b838825ee6ba2038f5b9510d1fbb60f5613a8f26c5bafa278439ce0940bbfe85acba79fc7b3b4a398439a515dcba07347dbae73e913b009986bad47f44bbbc3338ba7f607a3b829c4cba635c3abb562c22bbb5abc13b27e98dba330f34bb0bae5839c7c3513bfc7a31bafaa217bbf70ccc3899e5af3b8efc0e39c9d63ebb615a5b3b5ba4b23bd0226d3814496bbb8d84463a90e9013c054440bac9d73abb68dbb838ee53d23b077be63a55d11fbb9b7189ba523475bbd959013e5503633fdffa25badbae95bb2655e53d60bb473f290e1bbbba1d9abb9b33c53dbc4f2b3f043f25ba7d4297bba4efa93d1b010f3fb5d2debabfba25bb1682843d431fe43ef66dafba94dd6bbb7e87443d1a32ac3e40263fbb8bd665bb8fb4063d5175663ef9d61ebb2c1b40bbfe40833c396aee3d6ec8d0ba46b652bb453e96b9b46da33bcc17bcbadd5805bb00000000000000001a511dbb007d5cbb0000000000000000b9cbe7ba14f75bbb0000000000000000137604bb5b3158bb0000000000000000d8cac9bad31e32bb00000000000000006f5897ba109e41bb000000000000000024a78dba22e48abb00000000000000003fc407bb40a86fbb0000000000000000f2884ebb25e962bb000000000000000000000000000000000000000000000000454535b96b12d5ba1050e1b887c5853be02f4339a429a5ba400f31bae4862f3bc70b89ba7334c6baa4fb34bbff87983b0816bab96c99bdba7f7365ba9af7f63a98139b39c9129dba501d9db85eb6363b1c59c8b9e9feb6ba369f84ba8fd0193b58da5eb8fe57c8ba5dccb4bab4d70b3b00000000000000000000000000000000000000000000000000000000000000008932303aeeb294ba2a6685b9a66424bb168934393c699abaaf1509b98c1700bbc5e0483ad39232b91179b3bac7b5e23a351685394d84d2bac83c2b3afc60dbba336782399748c23bdd6be3b9afc9e6ba23346c3ae7468fbac4a2fcb80534d7baaf74c9b72252f2ba6124f038573ad3ba0000000000000000000000000000000000000000000000000000000000000000748feaba43560a3b32fa36ba931bfdbad2150abb3e85353b7df984ba3565e4babca978bb3b50543b34697bb9c8a434bb18a86bb957fc423b29eda43aad3543397d052dbaa41c2f3ba89de038bb7048bbfb488fbabc5e483bcfe28f39b5bc85ba895933bae36d923b3b2bef3a070021bb000000000000000000000000000000000000000000000000000000000000803f8aac21ba785235bb26e23b3abbfc623f0ed4f3b9c3400fbbf5b1e13a62ab423f4f8eb1398e85fbba96730bbbc178223fc2b999ba37ea01bbfc8d693a885f013f094611b98afb07bb6b1a17b996adc23ee8c393390a9900bb531b8dba9be2813e0c8bc837f61308bb6abed8ba0131033e0000000000000000000000000000000000000000000000000000000000000000528a81baa11519bb0000000000000000c3b289ba50270abb0000000000000000cd070cbb22a05dba0000000000000000e10e4ababf7807bb0000000000000000b8032fbb90dd52bb0000000000000000f122dab97453e5ba0000000000000000bcbf023a17753ebb0000000000000000000000000000000000000000000000000000000000000000000000000000000038743bbb5800183c38c78d3cefff233bde10a5baf3d4183c98237d3c46ed5c3b7c795d3a07d1a33bae702a3c4aa8363ba43aac3aae6e883b52ca003c96e7343b91f09f3a00434d3b9a4ead3b675b023b2b5ce3b9fd817e3b101fbc3a56be853b26a085ba2cdb553b497fceba43a2543b00000000000000000000000000000000000000000000000000000000000000000df2893b2990edba5558d83b91b2e1bc0e729e3bd03fc7bad604b63bc0d8dfbcac9c843b39720aba4375173bb6b2dcbc6214553b634e67b8194e4d3b5bbcc6bc46c5643b732909bac0e7bf3a42ca93bc886f413b232ab1ba78b8a63a5b4226bc71a6163bd68d76bad53cd736f61c3abb0000000000000000000000000000000000000000000000000000000000000000f43402bec049f7bc16810c3cb2d9d5ba40caf3bdcba902bd7b2cc83b983ccabac11ac7bda62002bd32a3613b4e2799ba7b379dbd62f1f0bc1eb73a3b57848039e05265bd09ded3bcc610143b04737db975fc0fbd7828a3bc87bd283b0af71eba11232cbc723a6cbc4604863b9afa27ba0000000000000000000000000000000000000000000000000000803f000000004e4fd53b49c283bdc3dc9c3f10e133bd4e95833b342022bd0e5b823f6d059bbc7df2393b3e98e0bc5a08533fd275a1bb8b100d3b4914a6bcce03213f7382caba007f123b8647a4bc2b89df3e7cf594ba59aa863b41a7a7bce9f87e3e8559d9bbc6d1b53b0c55bebcdb448f3d1da567bc00000000000000000000000000000000000000000000000000000000000000005a72cbbb44492b3b0000000000000000391768bb84a2da3a0000000000000000353c79bb2859383a0000000000000000eff6dcba2b98caba000000000000000059d7a838312b39ba00000000000000009959323bd56de7ba000000000000000084f9b53bf118c9ba00000000000000000000000000000000000000000000000036431dbb8ab7873b01eb4a3cf47665b9156cc7bbe12d413ceb76a73cab49f23b341ed1ba0ea4163ce8a3a73cdc62e33b4f4c6e3aabaa0a3c31fb843ce859ea3b266f843ae993a93b4737333cae2db53b164de239d320b23bd2c9ea3b74daca3b82ab29ba1a0fb53badec3a3b6a99c13b3eff72bb5fd2b23b207f19bb0390ae3b582fbfbae1eeda3991735abb7c29d83a88df4f3a5f0f09baabbf2c3ccf26f4bc6521563bda9318bb4304553c751ae1bca8fc703b73220dbae4a0343ccbc913bda246283bd44097b87cff003cbc8a0abd9395583b2d02a8b97cdcc83b27a5edbc58642e3b97331cba59a0a83beb79afbc4986383bc10434bab89d3c3b4a7649bc919aba3a90e7f2ba2a9504b91cffb6b9c8eea93afca995ba5107853a0115b83a492e91bd78726dbc01cd0abb1becdf3a13150abe590600bdbce83d3b3f143f3a8a310bbe103c1fbd3f8394b7cb68b7393329edbd32ae26bd77513cbb0cc9013be39eafbd61d014bd65fbfabab0bfd43abb4784bd018204bd123aa1ba2dcfb43ab07523bd2648cabce7a0a2ba9abea53ac3aa48bc714f46bc5639953abcc2bb3a2e535e3c2c4fa0bbb04fc03ad0985d3a93004f3cbb16f7bd74f29c3f4149ac3dd0cd8d3cd6d200beea12963ffd77a43d71841b3ce626b8bd2d13813f6842bb3d1df40f3caaaa8fbd2017503f76c9b13de457da3be27560bd2d031c3fe8ce963d8d9d0c3c6e074abd5931d73eeb1a5c3dfe58263cd3e536bd59256f3e883b003dd2c1593c5e850cbd9cb9643d88a2023cc5813a3c1ad40abd44dc6dbdcb635cbcf10a05bd1e24ce3b0000000000000000a668edbc17b4be3b0000000000000000336fdcbcc334a53b0000000000000000744aacbcf380393b000000000000000053f58bbc42f1b43a0000000000000000e06756bc99dfc83a00000000000000006e8b05bc115afd390000000000000000dc7367bb0a52cfb9000000000000000066cd52bbe0f79b3a0000000000000000a2a4173947d4ea3923122f3cd3412f3b460027bb8441cc3becad713c234ec53b4e8c3d3a7da9953bf1864f3cb66a063c70cea23af846a13bdca24a3cd224fb3baf33163b46c00e3b2973093c47edd13b0eb71e3a634d353b182dae3b3d3fde3b3dcacab952ff973af65c1f3b72d5a23b4efa06bbb3420f3bd336eeba5551913b2dc392baf51729ba6a9228bb47eb213bdf688cbac24463392849303c504e02bdfcb0b53aad1d1fb878106d3c404d0dbdbff45bb972f7f23938580f3cd16804bd8393ef3a4b3d7b3a080e133cacca02bd0dd62c3aaf1b653a69c5c93bccb1d5bcdeeab63a0f24f5390975cc3bd879a3bca3e7ae38809fb039df35b33ba94744bca57b803a32768fba38fc0c3b6aa54cbb424a4ab92dc91cba2600363b4d7a04ba175832bd1a9507bc724852bc1b8a3c3be608c8bdf66700bd3e0e37bc666e9e3b5ccbb7bdc4a01cbd49f32dbc8b90233b39dec1bdf9f02ebd135b3abcb701663b405b88bd30e816bd60df03bc4acc2d3beb575bbd6f9805bd48860abcf728393bf6ede7bcf56ca9bca251cfbb3d6c343b53c217bcb39a54bc118f4bbb741e0e3ba139143cc30f85ba8706c6ba0574113b4dd9483c3a9ff4bd5a07833fcb53863e4cc38c3cf2080bbe567e813f6db0813ecfc82b3c0da8bdbd728d553f5fa9733ec570313caec0b2bd929a363fe67b523eadbc163c08c089bde3b6073f7925293e2d702b3ca01882bd6fbebf3ec586fc3d9862253cd7a351bd35df5e3ec8669f3d93fc753c8c373dbdb870893d88c9013ddf44423ceee512bd985305bde0475bbbd6c35dbdb805fc3b0000000000000000c57674bdbee51f3c00000000000000003a7f3bbd71e9ea3b0000000000000000df732cbd3e8eb63b00000000000000008864fbbc111e343b0000000000000000f164f0bc802a913b0000000000000000b042bdbc83d8523b0000000000000000887090bc75aa973b000000000000000006d969bcb4d6503b0000000000000000fd8e9e3a218ed4bad7d9c23b68feb93bbc388839d8734d3b6329213ce318113cfe629b3abe0c613b3bd0433c6a051a3c03cebd3ab49a573b6e60253c22b02e3c4500e53a76fdb03aeb81cf3b8f95273c8fc54f3ad8d5183bcccf913bfef7e03b4d9bb9390cc4993a1f65d03a9f17c03b7d0c7aba4047673a6594d2bae998763b8b6f3ab83733b5baea8cc3baa6d0083ba78075bb9fae023b2e4d153c203e03bd492de1ba4383d53a03494d3c615e0bbd95a6f3b91a57233ba6f1223c790802bd4770d0baebb6fd3a39fe093c845ce1bc148ee6ba7dac963a941f0a3c4848bcbc70a20dba433eae3a13e6ba3bdf6d89bc767376ba2e59853a45339c3b232f34bc67037fbac742f4b81e5d803bcdee7abb11f2e3ba9d0f40bac7db713b99342cbb3ebed0bc0762b6bb7787b5bc18d7923b165a93bd9f9705bd7ee0b5bc2694cf3b902eadbdc41f41bdca27aabcd747b23bcf909ebd4a4c3abd2aa299bcd550bb3b19f880bda3501fbd5bea92bc3a71b23b146d40bdfb3803bd1c8e71bc4435ba3b3c1ee3bcacf3b2bcfe2e2ebcfe9f923bcd9117bce09d19bc7000e4bbe9cc7b3b9f6dcf3b178b863b08388ebbf37da03b678a193c2fd5d7bd3726543f37aee53edb0a803cb086fbbd7e64513fd5b8e03ec0ed433c6658d1bd2786373fd369ca3e7529313c9ea8adbdaa3c153fba4bab3e0029033cba7892bd21bce43eecdd883eb507263c7c3f7cbd051ca03e7e43483e6c42373c761a61bdbb893a3e5ca6fd3d49d8583ce83340bdc658833db9af603dff960e3c567314bd204f8dbc40f3013b52e195bddb35023c0000000000000000e838abbd6c29473c0000000000000000f26a8cbdacb70f3c000000000000000019c46dbd0cd5e03b0000000000000000ea4c46bd673dcf3b000000000000000042492dbded81a13b0000000000000000af6112bd1426c93b00000000000000000d32fabc9630e53b00000000000000005a39cabcd9b0813b0000000000000000bb1a2d3bd65b25bb377c8d3b86c60d3c23030c3a43d00f3ba1a7d93b945f3e3c3644ce3aa977f53a5e97fd3bd68b5c3c3ca9e13a28ef303b1feafb3b391c453c2107073be3f232baafc4573bc9e0283c0bd2e43a70624c3a24aa293b61ab0e3cf2d05a3806f4043b7f3f08b77ca3c73b8e7d25ba7a04343a757b3abaad0a3e3b7810a0391c822ebbe981d9b9c66d1d3bd436cebba8f6523b0d25c33b6e76ddbcef4a79bb800b643b74e9103c2bd3e1bcbc3344bb38df423ba2a4e03b63a5bebcd3645fbb6ff8683bc711ea3bf479bebcf8bcefbad733943bf9e6643b2f1091bc8fa81fbb059cf73a732aa73b17c164bcfe89ecba72ebc93a6290a23b77dc19bc3e060dbbfdd2183a6b40423b36395fbb250d11bbdc4ae33907425d3bdb02e6ba3a9bb0bc7e75bcbb3a8ef2bc1ce9bf3b337464bd3aaf1dbde47e00bd3acd0d3cd06785bdd20a4abd9cacd7bc7e40a83b567a86bde3c050bd8e6cd6bcbd90bf3be2a925bd758b11bdc6f7bcbcdbc6e43a44ea2cbd49e200bdc90ca5bc3548cf3bd815bcbc85e68bbcde5e72bcdefc9c3b2d421ebcb0179abb979e26bc2e3ba73bd5bd553b5260fd3b2eb504bcf30ca03b85041d3c68ecbabd2a51233fb0b6233f7bf7613c905bd1bd92a01e3fae59203f8226153c0137a6bdce1e093fb8440c3fdfc91d3cbba199bd973ce63e8735ef3e2549f43bd09e4bbdce37a93e9ee6b13e20b80b3cfd5464bdb3567b3ed610893eca980a3ca38838bd5e21113ec3c7263ed4b3303c998324bd6473543df3aa973d8203033cadb9fbbc073272bc21232d3bf49cb9bdb761103c000000000000000078a6cebdfa99483c00000000000000003537a3bdaa7b1a3c0000000000000000857390bd2af60f3c0000000000000000c0202fbdf6ea703a0000000000000000cfe352bda00afd3b0000000000000000bed729bd7ee9cd3b00000000000000001f4920bda7de013c00000000000000002b78f9bc4db1cd3b00000000000000006ca9843a5f4526ba13280d3b99924c3c7bfc0dbad5ce513b709da63b50db7a3c2ddb98b9aab1903ba601d73bbb068a3c52f0d4387ac88b3ba31ddc3bf8336b3cc9b2c7395bfb823bad728e3b1b8e443ccf1982396b1f4e3b7321463b6da61f3c72175bb8797d4f3b6bcc2639b8cdb03bfe329fba8f90b43a2d5c91390547163bbb4917ba2588a3395d18f3bac2081a3b07f2e4bb0f5d443b408aae3b77d59ebc165277bb8d9e463b76a0f03b1b0c90bc83c235bb0cb7683bf0efb53bb7ae7cbc66af1bbba32c543b8b84ba3babf967bcedbf82bbd3d8493b09f0943b05e543bc26c23ebb6dc12b3b1cd3973be37b1abc58089bbaac0bfa3aa2e2e43ad89e7bbb3084ddbac6955f3a6f14223b8e053cbac4151dbb13f04a3990ad1c3b51a4aab916d4a7bc16cc55bc896b08bda2e8fc3b7f9f4dbdbe6365bd7f9417bd21a8383c6c3180bd656290bd8f5c10bd1fc0123c0b4472bd895b86bdf33201bd7098fd3b96a84bbd61a24fbde6b6e7bc0353063c8d8523bd153718bdc9c7bfbcaa9fc33b6fc8debc272aa4bc3196a1bcfc36a83b0cf34cbcd1e737bb491f56bc39cec43b78a4b2baed84413c232d0fbc45c79e3b69ecfa3b6dc895bdf6f4e43e247b543fb9164b3c687babbd5d0edd3ebee0523f1166193ca67891bd1de3c33ed5f4393fc2a00b3c812c75bdbbd8a23eeb0f193f4e0dd53b78b253bd9fcc7b3e2461ee3edbc1f53b49d733bd481a313e7579a93e88e6e83be1bb0fbd0114ca3da68b4e3ee02cfb3bdbb0ebbc0d78033dce07aa3dac8cb03b565db1bc31ef7bbc42e81fbb6d59d8bdb01d323c00000000000000005799f6bdfa1a763c0000000000000000f206c9bd3a2b453c0000000000000000771da2bd836b1f3c0000000000000000e85c85bdebf6073c0000000000000000682565bd42900d3c0000000000000000ee824bbda1152d3c00000000000000004dda36bd6954353c0000000000000000cb650abd1741f03b0000000000000000bbe666baa6a1be395931e339f0aa693c141bf1baddd3913b1f06b53b6306993c5e4c90b9dd4c363b3915b23bd505923cfe8795ba208da43b5436b73bb1e08d3c08a2973976e7093b9472483b04af603c7069bebaf8058a3b7d013c3bdc531e3c899007baec6a273bafd76d3a9a92c23ba92d08bb3ae0073be8a5953a5a8b823a59130fba3a92783ab731ceb9ec4ceb388e2eb2bb3d59093b0e1a743b3cc105bc9542c0ba08aafb3a6169383b128d8cbbdb0106badd20e03aae66263ba33df5bb0ebd87ba2d51783b27c1613be18cb4bbb98716bb8844483b0d923e3b5edd73bb61e0c3b99286323bae911a3bec3465bb86cf04bb6f1a133be3bce73a6f03afbaf7a27139d6a8c1baaaf1f53a8e7cac3a02600bbb78d360b9be87193a57b9c63acb93b0bc491403bdbfe200bd1e901a3c46c743bd48a4aebd4dca17bd5ebb4c3cafc749bd99e4a3bdfe340fbd73770d3cde615dbd3dc2adbdd01d12bd9d2f093cfd6137bd16c472bd60dcefbc3ad4b03bfee013bd7f2042bd5642e1bc8262e53b663abcbc6054adbc1e449abcbd2bb43b3dbd53bc92dd94bbeae94ebca02eb73b809414bb77b7643cb32fdebb9551923ba4fbf93b69f35dbd7a05863e820d833f542b273c92f075bddadb7c3e5a4c823f627b053c73f042bdbd23683edd1f573f1dd1dc3b8fed2ebd33ee403e4f5f393fde90983bc38306bdc6c8133ec9a70a3fd533b83bbfcae9bc3b62cd3d8416c73e38a1783bb4e3bbbc0fb3623d66ba6b3eb802853b277367bc472f2c3c925aaa3d77a1463b7ade1dbc493c9fbc8f2eb3bc8f28f5bd8c994c3c00000000000000002b9308be138d8b3c000000000000000070c1b2bd64a6183c00000000000000004947a3bd3784273c0000000000000000eaf26bbd7aa9ee3b0000000000000000e7a85ebd8ee4123c0000000000000000fb5933bde867eb3b0000000000000000a1d82ebd73044f3c0000000000000000c2ac0abd1023213c0000000000000000d526b4ba0339f03ad0e3b53ab318843c93f63abb7162143b71ba193c830db33cb26e28bbabad803bc3351d3cbd96b43c8c7a03bbbfdab23b3d1bf13b01be953c37f97cbad172a63b847cb93b92f4503c6ca4c3ba418b823b67929f3b41e2133c5a66a2ba7cdd3f3b68168e3b63c59d3bafd8bcba96aeb23acb38643b599957ba06bb8abaa224433a1c96b83a539751bbfe02d0ba695ba23909297e399cd61b3b37e9c93b33fc17bb8d54eaba6cc6053c5e5c893b6d7fa93a3e789238cc24973bf588753b1235113b4b88fa38c04e3f3b3d49203b9f57263ba571f8b9792b413ab5886e3b7251353b29c033b8c686083bc8ab8c3b490043ba80ea553a5f31c43a53d28c3ba7d09aba586f7ebac5a0173b8c79ca3aac7edfba709986b9b5e0253b3e97dcbc746f84bd4036ecbca427143c742e1bbd88f401be968ffebc9ba0553cbdaf41bd5ac105bea7be12bd65a2113c01bc41bd8b07e1bd215313bd419ac73b9a471fbde6cea7bd087904bd7865bb3bf78704bdbb517cbd8cead5bc086ee83acb34aabce4f212bd54dfb6bca640cf3b23a4f6bb2fe51bbc347f23bccadd263b295222bbfea2723c3086aabb68b8713b93bed43b902702bde532ac3dd8f99c3f000cfd3bbc77eabcf009973d8d4d963fe24ab53b9327d7bca077a13d78bf813f49549e3b8629b9bc26a4923d7770513f355e683be72e8bbcaf61623dded81d3ff1cd533bfc9650bccb760c3db2f2da3e2588033a0af0cfbb5c4c383c23e7743eea52913976d8aa3a0debf7bb7d23843d65887e3a8495c23ac50ad9bc341e51bdcb5ff6bdd96b4b3c0000000000000000e799f9bd82e5813c0000000000000000dec9abbdce111a3c0000000000000000b27073bd5b07d53b0000000000000000325733bdcc3eb43b0000000000000000e11d1abda88bda3b0000000000000000bd0301bd49c0de3b00000000000000003eeefbbc8f93343c00000000000000008665f2bc94330e3c000000000000000000000000000000000000000000000000fa67ecbae10a303bda1cd93b63498c3cce679bbaafb3853be270013cd321613ce18cd6ba7785863bd412a13b7fcf443cbce36abaa04f973b00ad413b80c2003c80e938ba86895e3b61df833b1664733bceb4a1ba40ce453b12115c3b8211ad3a23f018ba86a1da3a8728303b2c89bcba00000000000000000000000000000000000000000000000000000000000000004fb4ba3bc01ddbb8d15648bbf5bb4c3cef2fc83b7cbcb43982a20ebb92180e3cad406d3b3746133b481124ba1dd8b63b15b83b3b9410863a51dc58ba38cb853b2e652a3b778cad3a38c624bae90c773b5a4f8b3be1e81b3abebcb7b92e21153b7c59763b516eafbaba9349ba7ee52b3b0000000000000000000000000000000000000000000000000000000000000000dcd415bdf5c000bedb4dcfbc36d68e3b85cd12bd2ebcefbd2d33e0bcdbd5803b4d220fbde201c6bdc0c0e7bc1259173ba218fdbce5e59bbdca70d3bcc7bff53a86cebfbcc79560bd92dbb1bc1d08573b906d71bccd1811bdd88582bcfe339d3a925bdebb138137bc741a0fbcf94af53a000000000000000000000000000000000000000000000000000000000000803ff6df5e3b6619d2bb4ad644bd8afa9c3fd7f1463bb6617fbb6310ddbcab3d823f73ba413b96899abb7bc386bc31dd523f8a54d63a6d3cacba44d664bc3b32213f0fe52f39e512483a158385bc7f8edf3e26fdc2b99d519f3bb3e8a5bc04be7f3e356002bb7e3b153c71aed9bc7fc3903d00000000000000000000000000000000000000000000000000000000000000009f2b7bbd54d1d43b0000000000000000df12fbbc65e68a3b0000000000000000229382bce952303b0000000000000000a60a28bcaa40193b00000000000000006857f0bb0766183b000000000000000059b918bc24183e3b000000000000000090d06dbc51bb853b00000000000000000000000000000000000000000000000000000000000000000000000000000000d330e9ba1259063cad2e0b3ce4b66bbb20993aba934efe3ba9ebf53b85f40cbb39bb86b80e9d673b906eb73b840348bbafe7633adf69683b39b6773b43e416bbc5a95e39a6814c3b2954e03a4500b6bad62db3ba57a49f3bef2472baf625f0b84c7f0abbca53ae3bc7e55cbb21f8573a00000000000000000000000000000000000000000000000000000000000000009828aa3b489584b90630b53bd12601bd3eef9f3ba69b0bbaceef8b3b0dcfe7bc54ce9b3b9228b5b9b171a03b17e1d9bc8677353be7f850393b4b693b6060cabcec407a3b50e710ba2a623e3b770b91bc0a42523ba02e54ba802e113bb31321bc858c963b87f8ceba7708cc3a9f4d48bb00000000000000000000000000000000000000000000000000000000000000003ffcb1bdd5dcdfbce4bbbd3b97ac08bb77d9adbd20f1dbbc561d6c3b82a98cbaffe289bde921d9bcbac5203b532caaba4b1159bda126cabcf35ca03a99dca5361b7021bd2196b3bc86a81c3b73050aba5564e3bc36e599bc6993283b7d8c1fb9122321bcf2c872bc1203213bfaf3b4b80000000000000000000000000000000000000000000000000000803f0000000046fd643be34846bdf269943f0499f3bc311f113b6c8a03bded8e783f967f53bc6fa8493a05e9cfbca0044b3f7ef2b7bb3beb9e3aaa44c8bcf3481d3f710a22bb66e7833aeaf7c0bcbbd7e03e95498abb6a0f103b92e6c5bc1395873e4ddb00bcb168683b3f5df3bc075bc83da64a7abc0000000000000000000000000000000000000000000000000000000000000000799eaebb3356d23a00000000000000001e3924bbea60963a0000000000000000c4e73dbb0ceebe3a00000000000000009292c3bafc11273a0000000000000000cec4103a87c21aba00000000000000008963053b1249b2b9000000000000000017e6303b59903cba00000000000000000000000000000000000000000000000021a781ba432dfa3a1d40e83b3491b339d6b8b2bb470c703c0edfbd3b6271ad3bbd33f3bacd81193cf8e4063c25e4903b267263b99236ee3b80cdbb3b1360ab3b8d0d51394db73c3b8f4b843bb5e46d3bcd6887baf7c2a83b49abd23aa7388b3b4fbc2ebbbf6fdb3bbc8a14bb79c2bb3be2b5c0bb2cb01e3c512ed8bbb6a1ae3b777a44bb8b0e673b3cd889bb17285d3bd21e9e394d18c438a910033c25fc16bd8c470e3bec72e8b9c87c203c9e010dbd82cbb13a407f023a20050a3c192d1bbd6dbacab807567e3a9360cb3b3a410bbd3b5dd9397eb56d3a0bbdf63bcdf9fcbce6a7ab39cff4873afd87af3b6e31b9bcc4944a3a3ab4d137f0548b3b6b5250bc9b16883ae756b0b9a430c03a35099338c2e2c539430e0bba9ef50e3bd3068fbaed3d32bd26395dbcc4ed06bc128b1e3bcccdc7bd8665cdbcb59964bb2668fb3aff6ac8bdca7ceebc5b13afbb2958a53a5716aabd404df1bc78479bbb474fda3a88347abd0ff3d4bc2678b0bb92f5d43a329e44bd34c8d1bc18aa97bba696d83a784704bd231998bc7e3e55bb6438ea3a2a5074bcca983abc5e4e9cb9b417543abcac073cd8a471bb1a30ceba8d5e023b406a303c6c5bc0bda078943feca4cc3d9ece5f3c3261c7bd373b8d3fea39c63de5ec123c4a959abd9c0a723fa069c93d1f3e0b3c443784bdef93453f15cfb43d4dedc83beda25abd82a2163fd3d9973d2d54013c56c454bd8d6ad63e7ddc663dd3cd043ccb7246bd2a9c7e3e8d87073d68dd253c0f5630bdc04baa3d8651163c71241b3cba3227bd67a9edbcc15419bca25ae9bc65d0b43b0000000000000000daffd7bc53c0a63b0000000000000000225abfbc4991923b0000000000000000d0709fbc0bd9453b0000000000000000a18186bc4dd8343b0000000000000000923a60bcdcc9003b00000000000000006ed644bccd80f33a00000000000000001eb303bcf62be93a00000000000000008b8609bc840b213b00000000000000004d36b9b97d16a43922c7d73a597dee3bad5f65bbadf6003c068a143b75c7173cbc4fb9b9a2c3253bddcc4f3b123f113cf4bd48baa3c2753b4c30313b158f1a3cb200aa384f9e953afa76b23a2a6f123c7adcafbac4816c3bc697f3ba8264103cfb9d9dbab4671d3aa6500bbb84b60c3c1d8fa1bb8486e53b433df0bbf9cffe3bd32f07bb252cd63aa3c8d5bb2f0bf63be40cdebb63554c3b6c17283cd90718bdb1aba3bb81714f3bb16c353c899f20bd3d3cb3bb05ca3f3b7f4b163c41c411bd0a58afbb106b3e3beb42213c3ae00ebd9716b9bbc79c1b3bbb94ee3bf487e1bcdfe9a3bb9d13313bc713dd3bd8eeaebcd4239fbb3404683ab2c7a13bf3ca6fbc6ff64dbbce3e443a274a703b418463bb16a79dbba040af3acba2713b5ef148bb941ad2bc64552a3a41f19ebc5132bc3bc2228dbd4ab574bc174999bc26fb8e3b943c77bd02d49ebc28bb92bcd229993bfb348cbda713c6bc74db89bcdc36963b5b9c47bd5e6a97bc5a9477bc3cd96d3b36f227bd7b648ebc488f61bcbd5e9c3b72c2b4bc4a790cbc56fd40bcd128a13b07d943bc022d7abb02e615bccf00973bb2349e3ba2e4a53b2eb108bca417713b5556483c7307c8bd13de783f6785883e9bb6793c215ce2bd904b723f074d823e5120383c883da8bdf3a1483f397a6f3e228a313caf15a4bd87492c3f0b66503eb753143ca2e485bd1a73023f1ae9273eb825313c27a784bdccbfbd3ef322013e69052a3cce6b5bbd80ee673e10ffaa3dd3c8423ce3f958bd62b5b13db8d2283dd997243c4ff927bd531c5abc826fc83ba5e948bd31dbd03b00000000000000007f0d54bd652d1a3c00000000000000005e3231bd73efd53b000000000000000072de22bd8ff6e33b000000000000000014f604bdcc57c53b0000000000000000386001bd05b2b73b00000000000000002545dcbc6716aa3b0000000000000000bc08c4bc419fc33b0000000000000000e963a2bce769963b0000000000000000ce55dc3a3ee088bb3ad777b98484803c9b35baba6e32873b4dce0fbb7e0d7c3c57ab11b6d1555b3b8d7711ba71f17f3c99a527bac02b3c3bfe64a1ba023c803c4f95603a48ef823ac50b30bb33b7713cb4e232bae0342b3b6ca4aebb14bb643c356cf2ba4bc3773b94e0c0bbda074d3cb5eb60bb48da8e3b5a2205bc6b8f283cc91ea8bac6c446b92af896bb6fd02c3c0be966bcf76c8b3b05020a3c9bcb14bd4c0c56bc4d08a73b9759313c62f517bdad4037bc1948963b791f1b3cfe480dbd84fc31bc96e68c3bcbc8193c8dbcefbc05c63bbca72f873bd613ed3ba47cd4bcbe601ebc1f9d773bd2dbd53b1c539ebcfda415bcb24f5a3b8793ae3b522e48bc4e2f02bc1426fd3aa8a06f3bb93e8fbbdd72e5bb4355d03a09a3853b2cedd3bbec7581bc36be1d3c9935f3bcf9ffc53bf1dc4ebd9e850abc1aa501bd3108123cb55e81bdb0ba97bcefadedbc921feb3b01916fbd9b5d9cbc17d7dabce69de03b0b6340bdfe8f69bc0050cfbc524fe33b817418bddaa130bc233cb9bc9f64c53b6a57d0bc3dee92bbfc7196bcdbe5c83bee4243bc374ba63b437c84bc9664dd3b0a28d93a612b753cd5f267bc0f00ba3b2a6f293c98e1b7bda45c4a3fd377e03e20287e3c9b41d6bdf012443f8849d93eca703f3c5555bcbde77e2a3f1276c33ed2cc343cb5b19fbd31d60c3fbdb2a63ee106363c3e9e8fbdb1b2da3e3a7d873e34f7353c76d780bdad2a9c3eb69b4d3e6f003b3cdccd6bbd1b57403eb8bb093e504f413c06c04abd0a799c3d60f8913d87bb2c3cd79326bd0095edbb0149933c13a282bdb278093c0000000000000000708e97bd927e433c0000000000000000d02283bd1bc8293c0000000000000000296462bd86c3173c0000000000000000cfad4abd09ce083c000000000000000060b432bd966d123c00000000000000005d7425bdad16f03b0000000000000000147c17bd122c103c00000000000000009d53febc7d15c13b0000000000000000de3ce23ac47931bbac0541bbda249c3ca69732ba07227d3b514beebb9693af3c68b7333a0fe1a23ac54003bbe403a63c38faacb92b200c3b0f347bbbe5839c3ca332a13a4abc02bb24bc92bbe8f4883c8ee9f8b9a7a9053ba7b1c0bb98908e3c3693a5ba93c0113b00e5ffbbf3b6683cfae170bbcc06ea3b754552bcf838803cc69d01ba40810e3a02d6f9bb7e2b533cbbd28dbc3b3ed33bb55ce33b718d03bdce1088bc11e1c43b833a0f3cc041f4bc683a75bc8065a43be11ce73b5e0fd5bc12c687bc3db2c43b380e003cb9a2c8bc77b250bcb68b823bfb2ac83bf448a7bca6bf57bc43ecb23b0e0aca3b8ca87fbc9b232bbc084c4b3bb5b4803bcff211bcd7bf3abc8cc9583ba64c9d3b639cf6bba3d617bc786d2c3b88a0263bc60c5dbb526575bc9886693cc8141bbda981d43b629e3dbd1c9ca7bbd12922bdeeee1e3c27c94bbd92d266bc54260cbd2a93013cb6d25bbd513885bc6a060ebdb1060f3c18c103bda46c8cbb3265dcbc9d549e3b322410bdf0d3c9bb2e90f6bc8949e83b7b86b5bc916c193aec50c6bc185d013ce70235bc8dbdf23bceb8aebc4e9e083c7262a3ba7a83aa3cb4ad8abcb5fdcd3bf3a3293ccdf9a1bdadc21c3fea0f1d3f617a523ca710b4bdb8e3153fe98f173fe7cc123c752294bdb328013f0585043f27ab353cb7448fbdc6b1d93e9aa3e53edee9ec3b6f1d4fbda6caa13efb32ae3e7877223c135f66bd640a723e83d68a3ee5ac003c821a3bbd13d8123e5b18363ef3cc373c1fd23dbd26bf723d89ebc93dca04093c29c108bde65e0bbcafb1ba3cab6ea1bd41ac1d3c000000000000000019a6afbd00b3593c0000000000000000cd5a94bd6b223a3c000000000000000041d58dbdf941383c000000000000000087f947bd1320c63b00000000000000009ea45cbddf24293c000000000000000042f246bd8304173c0000000000000000af663abd32741d3c000000000000000003e91cbddbadf13b00000000000000004e510d3ae87e4cba3d6dddbb5aa7bd3c73bcf0bafa4eb83b0846cebb39ebbe3ca34dacba5316d33beffab1bb8e08bb3ce37f82ba1769a33b9b54bfbbc484b33cb632a3b9d8386d3b45f8e7bb71b3a43ce8e58dba200a7e3b0e41dabbb456883c36341ebb0a41b93b62eb0bbccaa18e3c618355bb8393b93b03d900bc6495393c262c80bac85fea3a40e104bc470a4c3c44c499bc9200d03b4e8eca3b2a37bcbc69bc92bc9762e33bb8ccc83b32e9a1bc90238dbc32ebec3b7055a33bb0668cbc72d077bc9d42d53b5c05a43b18167dbc9a177abc124fc33b1d58aa3baa8e53bcad8659bc67e9ac3b7d91603b26af05bcd7b641bca52a763bd8993f3bfc7983bbaa6238bc77b9753b18b6e53a7070493acab321bc4cee4a3b1283f53a6937f3ba11adacbc3daa4f3c9e8727bdfa350d3c6b203dbd941286bcbce83abd2af64c3c077e64bd039cf6bc861929bd51092a3c54eb5abd68cdd4bcbd621fbdeeca153c1bd33bbd320c8cbc45b015bda9c60f3cdef41bbdc94a19bcca8006bd865d113cd2a6eabcb7ee15bb260ce5bc4b31043c47f48ebcf5d4653cac44c8bc9a6b0f3ca78601bc80c5ca3c7f2999bcd971c63b47c0173c323c85bd9e89df3ed4f04a3ff52b443cf08b97bd8027d43e5f1c463ff4a1343cdc5984bdef5cba3ea63e2f3f84a4093c320a64bd3d6d993eba6e123fbfa4093c76304fbdf3156f3e396ce83e8578003cebec32bda670283ef918ac3e2472013c42e91abd853dc23df169663efc2def3b361800bd5bc3003deb37e33d8e52013c7796d2bc044278bc8d3cba3cf963babd7bb4333c00000000000000008b5fd4bd2c1f773c0000000000000000ade2b3bdf3be4c3c00000000000000004e5597bd7bcd353c00000000000000000af384bd765c373c0000000000000000cb7b72bd2f63273c0000000000000000f91056bd89ff563c00000000000000007d8f51bd5073433c0000000000000000b24828bdee40183c0000000000000000a91d26bab477443b86dee1bbe996b13c448f3ebbec290a3cc525d5bbc503c13c2db7d3ba88d18a3b8d7894bbcb1fb53cc16117bb29acfd3bfb14aebb5f4fb43cd835b7ba4eedb53b7d50d7bbcfbe963c257f1cbbc9efe53bf3fbd2bb15ee843ce6699eba4289a43bc5a3e7bb6367483c84b632bbfb03a03b53ad9ebb3b17023c1cd604bb73e7a43b25fcb7bbbbd9053cf6428abcf5e0bd3b832e253bc5142abc77a16cbc5131cb3b1851583bd2eaeebb6f085fbca9989f3b0cb2833be9c10abcffd761bce39acb3bd4413b3bbcbb9cbb1eb23fbcafc3883be69a1b3bb43f8fbbee0340bcded8ad3b8156ec3a5a83d5baf69621bcaade783ba803003b358b31b8d07002bc6e50063b73fd073a730b283b3e4a00bc994a1b3b3b500f3a65920e3b8837e0bc1f6734bb070927bd41a01e3c7c0748bd53ce20bd6af137bd09b44b3c0da343bd3f4c18bd5fc822bde7ae063c2e575abd2f7830bd228a2abd6d6a183c5ae72dbdf7f5d2bcea6a15bdcbb5023ce7711fbd23ca92bc5bfc0cbd5ece0d3c09cad8bcbc6778ba3ab2e3bcf112e13b27cb8ebcb8873a3cc4f7c9bc0353163c499d06bc8ca0b93c206394bc7961da3babfbf93bf6f842bd6bd5873e8854793feee80e3c173659bd23817c3e6ba5733f7e85e13bc6d12fbd2055603ebaab4a3f70aeda3b19f924bd0234383ea6a1303f41d1a93be19904bd40e60b3ecb79073f6be7b83be21cefbc58d6bc3d04bec93e614a843ba5ffc1bca88d503d68ef7d3ef951a53bc2e28fbc785a633b8325e63d872f5d3bb4e25ebc175cbebceb45103c08a0c9bdb1e94f3c00000000000000007816debd76e0803c0000000000000000172a9dbd919f3f3c0000000000000000597397bd11af463c0000000000000000299170bda5f3283c0000000000000000c7fd66bdd52f343c0000000000000000001b3ebdf4000b3c0000000000000000032c45bd724b533c0000000000000000858825bd0785113c0000000000000000b7adfcba40efa53bc85293bb41fd973ce0ce65bb35cffa3b52a1573b785d963c17e41dbb31dfeb3be417b93ad51f9e3c05de12bb4cb2003c6dd790b9e824893c2b8cefba1025df3bf88151bb54c46a3cae4df7bad0faba3b946d31bbd45e4a3c9dea1abb2618b43b3ea095baa7b8eb3bc1fc12bbd578a13bd419bc394039ce3aaf97caba9d98483b7d6970bb934e893b69213fbc34bf9e3bb731dd3a57df5fba281ababba51f933b1cfde4b9ca09983b07bbd5bbaacc983ba2239a39f7d1533bd29cebbb0f2aad3b447c10381ba9113b0384ebbb2b428c3b25cfe539d04c2b3b6e97cbbbac178b3b86f941b84e54963bbbf646bb661d343b7c75bfb9e75c823bfce5aaba25538d3a51338aba6dbfb03be9576bbbdba5163ac08ba3bad243b53bb84712bdecf2f4bc0c5d13bde1c8093c18753dbd382fa8bd08731cbdfed4293c1e4750bd110ba8bdb46e20bd6d5d0b3cbba448bdd9608cbdeb0b1bbd0f17e13bd4a328bd9b4445bde5210cbdc7f7bf3b87d10ebd483310bd298105bd5c67de3b4888c6bc7355a3bc901dd4bcd44ad13bd4a850bc25a926bbb33799bc51bad23bf15cfebb7007963cbe9863bc2e96de3b968b9c3bf1b6e6bc3aa6ca3dbeac943f40f8bc3bccd1dcbc1ee0b73d31c38d3f1ceb913bf768c1bc6b04ad3d59b5733f15d46c3bfa2d9dbcb8848e3d35f7473f0652383bce8d88bc2fe04f3d6a7f193fa3241a3bff934ebc438fdb3c8decdd3e5224063b9a1b0abc8c0e923bbe5c863ea46afb39e8c14abbd40a8dbc2f12cb3da0f2e83acd3494babd760dbd180f80bc7f1ec2bddbb61e3c0000000000000000a30cc1bdd5e95b3c00000000000000000acd8cbd4077153c0000000000000000826e5ebd2bdb093c00000000000000008de62bbd31d4f13b00000000000000008f2728bd4329003c0000000000000000669918bd0c67033c0000000000000000baf91dbda9f01e3c0000000000000000441510bd4fc8eb3b000000000000000000000000000000000000000000000000d32abebac9a6b43be1b4393b9a3c333ccbab05bb42a2c73b4c4d4e3b1b0c023c04d70ebbba99d03b24ec98395321e03b11e9c4ba6da0b93b458dbbba8cb3a73b537d65bad0c8ab3b1a413839014b103bea7eccbafe6c883b36ce293a9bb7a9b8f01f12ba4a2c123bd8e4243a21cebdba00000000000000000000000000000000000000000000000000000000000000009a056fbafe3ef63a1c8818bbe4c60c3c80692ab9c3ec0e3b823fbdbac9df013cf707c5baed79143b5d53a3b91841c53bca98e1ba6d9d0c3bb6b497ba7cabc63b6fa237baa4df243b5c437fba93409d3b32f7523aa5e9383af7ab77ba4880b43bab3dc83a113bcf393850e1bab661b63b000000000000000000000000000000000000000000000000000000000000000068f227bd6aaeaebd9383d8bc700b913b8ea715bdd341a8bd6d3fccbc093e7b3bac630ebd356888bddcd6c8bc051e0c3b72d9f5bc39024fbd57dcbfbcc99e4a3b4a3fc5bc3f3a1dbdb50ea4bc9767b73af14480bccb9fd5bc2a6486bca1d13d3b8211f1bbf7de13bc0d7434bccbc81f3b000000000000000000000000000000000000000000000000000000000000803f67f7173b913180bb98a20dbd51c2943f6c89833a0df743bb24a9afbc1384783f0736e73aa03f8bbb90ed92bceb394b3f7e01353908f38bbad87f91bc4fdd1d3fb45d54ba3e148c3a78b0adbcd177e13e1ecc35ba0609503b890acfbc93c6883e57622fba03d7d33b07850ebd059fcc3d00000000000000000000000000000000000000000000000000000000000000006b8c39bd4eb28c3b0000000000000000f6b9c6bc5c6f573b0000000000000000534979bcc842333b0000000000000000afd24bbccaf9473b000000000000000059d92bbcaa571b3b0000000000000000bd5346bcf816663b000000000000000036bf8abc4ccf673b00000000000000000000000000000000000000000000000000000000000000000000000000000000d115a03afb48a9bbc559ec3b88fcdebbbdf0433ac3757cbb0ec4a93b146fa5bb2f58973acde8b2bb4688de3bb42b88bb386a973a9746b2bbc578a93b868368bbbddfa7399bdbadbb23048e3b0abc2ebbca770dba40fb23bbe03b293b6d61d5badead72baa4e5bcba5107443b05ce3dbb0000000000000000000000000000000000000000000000000000000000000000c81db13910161b3abc9d203bfd95e1bc219c313abdafef39ed123d3b0ee6bfbcbf050bbb9cb4903a1429133b7d48b4bcd35449ba369dcb39cf23213b5d819abc279e0fbb755b973a7ce8493b23298abcb69f74ba78981b3ab4e6263b73554ebc3a6b7439fe4960b8cfad603b34312ebc00000000000000000000000000000000000000000000000000000000000000006263a0bc675091bce7faa4ba085d0d3a65ccb8bc0ea179bcea77e0b90385c3388d1993bca5256abc02569bbaac98433a1ade34bc0ca62cbc7af612ba989dfe3922e8e0bbd31232bc5656723a5cd4f93ae6602bbbc5c01bbc2b945d3910300c3ac556c93b961323bcb705b03a7175953a0000000000000000000000000000000000000000000000000000803f000000005bbdf43a2ec1d4bc886e823f826873bca11ca13a44fd99bc55ef5c3f171efdbb9c2e363b11178abc429e363fe3fbbabb35b7ca38ebd287bc1528103f3f4848bb4199ef3a3ed692bc0c72d63e2267a1bbbbdaed3ab09ca1bcb0c38a3ebe3fc3bbab2dc03a7b7ec9bc11720a3e7af93ebc0000000000000000000000000000000000000000000000000000000000000000d2103abb2ab2bb3a00000000000000002abbf6baf0a83a3a00000000000000001089ffbaaed4923a00000000000000009fc1adba621faf3a00000000000000005d0cfeba016a9a390000000000000000f86a77ba61d5e7390000000000000000983661ba281e53b8000000000000000000000000000000000000000000000000ebcee73ade0348bc778e073c03bc7b3b035936bae261e6bbd1ca833bde93653bd0ce983af5f814bcd4a0b33b4ea8b73b2170843ac7d417bc5bb04d3bfe6bb63b7006b23a97c318bc004f923b5305d13b086a8fb90b8901bc09bb0c3ba07ced3b5c219bbab5a1a8bbdf4b043a29e0003ceb8d39bb09aa9ebab91a39bbab4bf53b756a96baa7e9b7bb74105739acf0073c0c0205bcf32c1f3b3c48c73b050211bd4b31d5bb39973c3b09bef03b7f5f1cbd1f1f0ebce39d403b3da2cd3b1d1415bd2840ffbb9deba53a0b40ca3ba45307bd316d2bbc6c15243bbc759b3bf6affabc9d9702bc2916ee3a1eafce3b9380d5bcd921ffbbebb5af3a5ab1d73b33c7b4bc7afddebbedc71b3b406d893b784764bc18a904bcde7c1a3b84d1b23b112055bcd328783ab658a6bb86484dbcf0b84c3b251ea9bc4fdd2fbc4c0d31bc62ae383b94a2b4bcfe4825bc386d22bc9e2e1c3b253aa9bc27990cbca4952cbcc296323b22511abcf94cc5bbfc6a1cbca630533b0d4508bcd58e9dbb5d850cbc1e7d333bd90377bbf7c502bb87c208bc3f445f3bd002143b62a021bae6fcdabb9f0c3d3b10dd393c6c22a73b5151debbdcfe4c3b9e94a93b0c1a50bd04d6823f0497ed3d2897093cc7165cbddd29713f59ebda3d0e85dc3bac1835bd283f4e3f9d94c93dca25c33b145f20bd48d52a3f6a33ae3da595db3b448c1cbd25b0063fcad98c3d8409c53b023a1bbd343bc83ed629563d8f9ab53b05b418bd724e833e002e0e3dcecbe73bddcd24bd1853003eb707643c695ed43bb48114bd2c573f3c1a622ebaa56796bc806d8b3b0000000000000000c99e91bcac1d473b0000000000000000c4a180bc4799883b000000000000000024da65bc8422863b000000000000000047ff4bbc1081443b0000000000000000640058bccb9a4f3b000000000000000080c15dbc5e97863b0000000000000000075744bc7154383b000000000000000077513ebc2f27433b000000000000000087cfe43afcf458bc01644f3bf930863c6b37523981c246bcf0332a3ad2228d3c1590ec3af4454ebcc50a133b1b11883cf731073a33c147bc94c2d839371aa33cce353e3a18f447bcaf140439dffd943c59c691b88bcf23bc376c20bb28cb9e3cd09c3c3a74e411bc708947bb8fcf943c513355bbd6f58fbbdd19d8bb9d739b3c6bd7aab9d2a6d7bba08072bbe3fe913cf14a83bce0bc853bc501f33b096f11bdb29e92bc3f5a903b628f0c3ce56328bd535f7fbcde75773b765af23b5f3a0cbd840994bc2e70a53ba54b0b3c921f0fbd64847ebcdca8453b77aef03be4fbf2bc50a789bce8057e3b9eecf53b1f6ce5bcb1fc62bc4543493bc67ec63bf195b3bc60a576bcd0758e3b8524d03b784b91bc953948bc96b9433bac3eb13b4e9a81bcc4a4743b7b3d1e3cb784b8bc253ea43b9c172dbc3649903b69f3cbbcd63dea3b911736bc075b7a3be6cfa9bc47d2943b48d388bc1de2933b8493babc3dbacb3b3d8107bcc897de3bf40b9abcd5d0913bfca200bca99d013c2dd6a0bc3d1bc63baacf5bbaadef2e3cb82687bc1b96973b1065b63a3a1b643cfcaa8bbcb671cf3b2ff9f23b31f4853c29cc6ebc7e4b8a3b5517043cb18968bdf0095e3fe006873e4c3d373cd9bf85bde6e54e3f5465783ed3cadc3bf4e847bd6eb12c3f80d25c3edaf7133ca10553bd7293143fdb1e3f3e1dc4013ccd1536bd272fe73ec830193e8ec0193cf01a42bd6559af3e6357f13df7ece23ba1b724bd7aa7633ec892a63dc6fa253cb55635bdec7de93d54c23e3dd26f153c17f217bd6c3a513c85855b3ccdb005bde9a1ba3b0000000000000000245b0fbdc9ed023c0000000000000000a492f6bc725ecb3b0000000000000000be0bf1bc2b57e43b00000000000000006df8d3bcdcdfab3b0000000000000000cf6eddbc83e6db3b00000000000000003bdfc5bc4ae9a63b0000000000000000bb05d4bc850bcc3b00000000000000005c83b1bc1609993b000000000000000080c5d93a6b8877bcc1304cba3864d43c46fe6b39ac8a52bc72148abb8afbe43c50073b3acdbd4abc644497bb77a9e23ced814239a38e3ebc625db4bb287ce83cc157413a613250bcc2b9e9bb7477db3cf90210ba052a0abc60a800bc399add3cfb6aabba5768f4bbc09501bc81dae33c21fc05bba8c6b5bbaf1a1fbc793fde3c245145bad7fbfabbdbf0e0bb8d44cf3cce10a9bc56688f3b07ad003cc0bf0bbd58b9c6bc5e1be23bb05f0e3cfb1b1fbdb642bdbcfc44b73b8c06083c2a7d12bd30ebc4bc2c5fd13bb7c5083cc1ef03bded22aebcac069f3b123f0b3c4d5bf8bc950fa4bc2783ca3bbc93dd3bd9c4c6bc15bfa6bcab819d3bd249e83b433cb9bc6932a3bcff95a93bac20be3bc5d591bc597f7cbc370f863bad77ba3b63b885bcc03f8c3bb43dad3c1a3ff2bc93b1953b4ab418bc9d55843cba0f09bd59b5083c1ba878bc0324583c49eefcbcb9f3ef3b9d1383bc56845a3c35cdebbc0db7dd3bb0d45fbca5a8863c35a3dbbcc168db3bb84b1abcb0348e3c4ededabc54b3c23b32bed6bba07eb53c7db6c9bc6163e63b0ec646bbc173d03cd1cec3bcb016f23ba01b363bd359dc3cbf7fafbc5c3eb03b8ab4043cc4fd66bdddff363ff37fd33e98dc3e3c6a8b84bdcdc1293f7312c43eaa0b323ccca96abd7adf123f4b0bad3e0724213c359358bd5df4f43e17cb933ece952b3c07bb43bd7519c23eadb0703e606c183c691540bde695903ec50d3a3ef4c3253c07783bbd9b27403eca13033e7f29263c5d1032bdf3e6c13dc5769c3dbbfe193cf84e11bdfbbf3a3cdb00ca3cd4f82ebdcb90c93b0000000000000000278e47bdb7702e3c0000000000000000503434bd31f8123c00000000000000009fc22abdf469e43b0000000000000000d51519bdc6ab103c000000000000000054ff16bd0dd1ee3b000000000000000078860fbd1b61033c000000000000000069d50ebd5745083c00000000000000008d78edbc29f88a3b000000000000000095d2933ae1b157bcefbeafbbbd1f043d701e8d3a192d46bcd99525bc68770e3d52ecae3aae261fbc300c11bcd493083da55b003a020f2cbcf6ec2abc090c113d265c083b979837bc9831f8bb9d97f43c7c1e99b8e80206bc88a147bc2944053d9db807ba59f3ebbb700140bcfb09013d56d7c0ba40c898bb36be50bc83e4fe3c5a7b6138dd2ad3bb5e5926bcd91bec3cfb6dcfbce61fa83b53a8e93bcb26f2bc932ee7bcd5cce03bc89b053c7c960bbd46a8cebceaadc43b3ba0d93b17a0e7bcb71cd5bc017cb53bb5ced33b0d61e9bca223a6bc255e3b3b743dc23b815cbabcceb4c7bc6ad2b73bc3c0f13b7c7cc2bc565fa9bcc15e7b3b92a59a3bc2b185bc383eb0bc76e5b33b80c9bd3bc9e677bcf4708bbc3032533be5d1a13b918960bc79ca8aba33cde73c58ee0fbd2d74b53bd65d36bc7810c73ce6d61dbd3414023ccd6f84bc11e7a53c791d0cbd20aedb3bb0a998bc9a37ad3cb3ce0dbd1221013c2f1c28bc7c3bb53c23f8d8bc27e86d3bea2481bc8050d63c4a7700bdeccddd3b578316bccc71e63c8b1bdfbc6593bd3b6b6c08bc872e0d3d96bfe0bcb80df13b02b73cbba3bd0a3d83ccc7bc8098823b33cbfa3b809949bd5d940f3f8a60103f9cfa2b3c669664bdfdd5033f26fb043fc25d073c4dc144bdcb80e23ef199e73ef782373c974348bddc9ebf3ebd16c83eb309db3b16ed18bd26c2933e44299c3ee1941a3c6aec2cbd8c8d623e72a47b3e1baf0e3cdd4d1bbdb09c113e10b52d3e8ca91b3cf8dc17bd8994903d7280d23d8ac2083cefc6fcbc2d9eb93b2a4d043d82794fbd1374023c000000000000000076e363bd63c5223c0000000000000000d4d145bd07690e3c0000000000000000794c43bd1d28113c000000000000000052ed14bd0c2bb43b0000000000000000d2cc31bd79761e3c0000000000000000a0471dbd9c7ef33b000000000000000054d621bd6c4e093c0000000000000000a07007bddafee03b000000000000000010a1c43ae1790bbc0e4531bc2831103d29f990ba4513adbb0bc26cbc554f1a3de2972eba9531adbb3a6f73bc1032183dcb8dc2b9ac2fc0bb91867ebc31ac153d341b77b96073d6bb70d659bcd4ac103dba0aa8ba947c6bbb9a1676bcb3320d3d1361f7ba0e98c3ba17d182bcc487073d24282fbb419c4dbaa6c084bc8967033dfba6e9b9d65348bb0fb25fbc4769ee3cf53ac8bc7d13b03b9e08af3b851cc6bcbb85f5bc4fb0093c1570cb3bc5cbcdbca700eabca63edf3be7f3b73b5902b9bc33a4e1bc85b1dc3b348caa3bb29a9ebc0b59c2bcc592a23b7d0daa3b030b94bc4b37cabc74d5b63bb2a9aa3b65997cbc249ebcbc4353b83be4807b3b92933abca6d8bdbc3473ce3b557a623b3e4c25bc33e889bcbe9a8b3bf8a1963b860721bc692e1abc6d3afc3cb1f919bd9b92b13b2258b0bc08edc33c27512fbd26591f3c4b5bd6bc13229e3c41d922bdd657163c70a0cbbcebc89e3cc23423bd998e123ccfa8c1bcc4f3c03c9d8a06bdd37ad33b96bfb1bcde1ed83c901508bdf8600b3ca2d299bc4fdcfd3c58b8ffbc72ca003c8e3a80bca76e153d9035f7bc46a0163caf8c04bc52971d3dd144d9bc2c91b33babace23bd29b2dbd4ea0d23e126d373f6f7d283c890348bd9dcdc03e42302b3f9be5153c045432bd44bea63ed99e153fe300183c823b26bdb8878b3e6a0ffd3e0ad8fe3bac331dbdc4f45a3e3c5dcb3ea6b00e3c8ef509bdef86203edf469c3eafce043c489a07bd8921cb3d5368593ec5b3ff3ba1d1f1bc5450313d80adfc3d8e05f43bec2ed0bc531d8cbb1fb0123df70669bd50d5113c0000000000000000537184bd4397463c000000000000000092b16abd0fab293c0000000000000000cd8350bdbb1b153c0000000000000000fe703bbdc5df003c000000000000000014193abd96e70d3c0000000000000000ddcd33bd6ece0d3c000000000000000039d332bd56f31f3c0000000000000000bcbc13bd69cad03b0000000000000000fa7673b908c583bbd1306ebc7a7c043db39addbaa19a0738d5118ebc66b1113df7ee30b96e3f88bacb575ebcbc05f63c8558d6ba34d193b9855b8dbc90350a3ddcaa0dba4b3c62ba7d687ebcca1efb3c78fa05bb8cafd23a1b3e8ebc4699003db16514baf90123ba1bb961bc2510e03cc6d550bb3b3f573b56658bbc626ae33c15b393ba239aa33a2e1e5ebcb306ce3cf9acc8bc8a60bf3b1642903b1ac57dbcba41f8bc62180b3cc151273ba88f62bc9e88abbc52e6a73b14d63e3b72956ebc8187cdbca6f7e23be47a6b3be6f63fbc7f97acbc6c37713b68833c3b3b2824bcf5c4bbbc4fe5bf3be18b083b7fa310bc2d6690bce2ed7a3bb5d2693bc4d6e8bb8d3ea6bc30cec53b4244af3affdc13bae4b07ebc1ac8843bbc1fd4391d9741bb95b18bbc5530ce3c3f2f16bd6bf5cb3b129bf7bcd201863cd8922fbd4c2a193c2ad7d7bc86b9323c45c406bd61e0ae3b46a004bd56cc523c56c817bd437bf53b4e28d7bc531d933c3ddffbbc5a0bc63bc255e3bcf20db73c698f08bdfb3afd3ba6eb9cbca273cd3c3471ccbc43c5aa3bfba6a9bc76f30a3db4c3edbc58530e3c697f5bbce1450c3d6c9db9bc73c6b03b6a23c13b4d4902bd318f863e996e5e3f6d73123cc8e712bd56ab723e5424503f655ccc3be457f5bc3f3c533e64fd2e3f0779e03b268aeebc13462e3e1697173fa9dab93b928ac7bc3d7e063e7a19ee3e1bf6d43b7a8bc3bc65e9bc3d123ab83e38f07d3b1a58b1bc2b796b3d6083743e4bdfa23b265a9dbc71fb703c8e430c3ebf28bb3bfda780bce84061bcd652033db7cb6abd3493013c0000000000000000a00983bda57c303c0000000000000000ae9f41bd6952df3b0000000000000000fa114cbd60c80d3c0000000000000000d5a427bd8b33e33b00000000000000008d1c35bd56a0073c0000000000000000400c11bd83f1b33b0000000000000000abf72cbdecce113c0000000000000000ca3d0dbd98f2b73b0000000000000000868281ba3a94393b98a98dbcf522d23c2f641fbbfbf5f53b9e8f67bcd2cfc83cf46796ba50dca43b9f6f6cbce128c63c71d3c1ba984d9c3bf3b373bccffcc53ce73ab8ba6d50883b0b9564bcf3a8ad3ce809dbba81ce783b5a926dbc1078b13cff09d5baf42ca43b95b361bc12a39a3cf50435bb76e9073ce74b49bc6653883c7b18c3ba5f858d3bcce555bc7fdc8f3c4150abbc6669b93b1f3ab73ae045debbc44ba8bc1fe9f63bfdaa043a3fad5abbe93e92bc2924b73b30c132b9b9cc20bbf7cc91bc08ffa33b40cc0c3a220a25bb7eea7cbc240d7c3b5e08083ad74b93ba7c6c6dbc717c943bf53f8938fa7d17388d846ebc0b977d3b659629ba6ddce63a67d369bc98a6a13be5afb6ba9f1f8c3ba3f84abc96c86c3bd881eb3820cb043baa7fe5bc517b6e3ca74a02bda6b9a93b871c11bd22dcc7bb17d618bdeec4123ca3d710bd2d410fbcc50a09bd29309d3b87880dbd8cdf7ebb1e81fabcb3afb73b0f80eabcf49d9b3beb15e9bc7036a23bf3c1e6bc9988173c269fdebc0212aa3b2cedc5bc2924663cbbd1bfbce929bb3b740ea6bc810eac3ca947bdbce76ff93b0e6885bcf1b9e73c3c7a90bcba318e3b86b17c3be19c9abc125aed3db3ff823ffb96663b78478dbc0cd7d13d74e9713ff8b22b3b4d3a6ebc6567b53d7fa34f3f3f7e633bc2ff63bc15fe943d52c22c3f3219213b659559bcba755a3de2c8073fcded663ba2b137bc6dcc083d5364cd3e3c15023b086318bc9dd23d3c76c0883e31570b3b0587e1bb3cd72abc871f0d3e9292f63a60b7ebbb3e2dc6bc61c3c33c773e57bd2c67a13b000000000000000013015abd643a0d3c0000000000000000d7e324bd0347e93b000000000000000071fd10bd4b82c73b000000000000000095f2f7bc83d5ba3b00000000000000006e32f4bcce0eaa3b000000000000000045a4f8bc2e97ab3b0000000000000000465008bd113ae93b000000000000000022f4edbc1a26723b00000000000000000000000000000000000000000000000001507ebae26afd3b599e42bcf554493cbfaaa1bae28dd53b91e714bcbb650d3cd70f8dba5c97b63b92781cbc69c9143c745e0fba730a9c3ba2e91dbcf010083cb698e4baf204a23bbf2909bc68040a3ce5b38fba9480c83bdac5ebbb2f96b83b048685baf196cd3bba520abc32a8be3b00000000000000000000000000000000000000000000000000000000000000008e5429bcc21e693bbe300ebb8047923b48dc00bc95fc793be1688aba19763b3b2733d7bb9cf71739daec93ba9d67323b43e2bbbb48eed13adf63fdbaa25f5c3b0edfb8bb363b9c3aa85d6d39abb18a3b82389fbb3ffc043b836facba9562a23b1d288ebbcd2bc53ab21803bb7f16e03b0000000000000000000000000000000000000000000000000000000000000000993604bde3d081bc845eb6bca114ba3a9be3e6bc34b8a5bcdf218fbc5d26083b4127d5bc637072bce79780bcff12a43a6f53c6bce9270abc2c4f65bcd5b5db3a12f4a2bc495665bbbf785abcb813c03a1fa98abc42440eba06f245bc8351373bcfa883bc5062093c51f02dbcf0413c3b000000000000000000000000000000000000000000000000000000000000803f6663953a7e0026bb5fcf94bc997a823fa1cd903a699ad8ba362338bc58265d3f6a0b223ae3dbf2ba147041bc9b16373f64bea33a8a8490baa45763bc7e95103f39522fba55d6d5b916dd79bce371d73e7b6730ba08b7873a8c779bbcf5d38c3e830f6bbaafd8d03a543fd2bcbb670c3e0000000000000000000000000000000000000000000000000000000000000000da15c7bcfa77f63a0000000000000000b3a27abc0e4dd53a00000000000000009b923ebc267a1e3b0000000000000000d1212cbc1fcfe13a0000000000000000e10631bcf378443a0000000000000000391341bcbb4ae73a000000000000000031b879bc4f10813a00000000000000000000000000000000000000000000000000000000000000000000000000000000511cd8bbe8b6e83b307b203d146ec33b1ab484bb24f9043c3111183de0b7083ccf83f7ba4043143c4e2cf23c3f3e343c98898aba02cb003c5e0fcd3c3d2bf43bc4b752b98659aa3ba5378d3c5817dd3bc0470e3a438b793bacad293ce5ae8c3b397fc3395ef9303be997903ab6873f3b00000000000000000000000000000000000000000000000000000000000000003d2234bb505d0bbbb353a93a7bb2a53b9abb04bb077a8ebade6d5bb9e90d0b36cbadaaba4cfe21bbe13e33ba5fc317bc6e1e36b9fd2b4ebbb3d11ebb53e302bcef75dd3af2e141bbc7bf3ebbe89ef0bbe6a35e3a50a0f7ba57699ebbf4964fbbccd7173a69adaabae66eb6bb2efa3bba000000000000000000000000000000000000000000000000000000000000000065d95bbe951285bbca070b3ceee771b9eed056bec2e333bc85c3f43b3d382eba7e463dbe8d08aabc9284b33be8f7c53aa7111cbedc50b3bc3d309c3b687c6b3b6557dbbd68bb90bcc42a993bcb4c433aa60780bd0ee913bc16db1838aed3113b447b63bc6ee5d3bb9d344eb96dede23a0000000000000000000000000000000000000000000000000000803f00000000e943a43cdef6edbdacf3ac3ff4f5dbbdf9564d3c083c97bd3f508f3fa83177bde63d393c6acb5fbda6356c3fb36f20bdfcab0f3cf19825bd68a5313f42e6b5bcd57cc63b7798babc5fbde93ed02759bc40808f3b3f98d3bb69196b3e09ebefbabb07433bb0a8783bcbd5823c156b513a000000000000000000000000000000000000000000000000000000000000000082976f3c3a0b97bb0000000000000000dfe3c93bb77742bb000000000000000046de523bcb5d23bb0000000000000000e106853bdc27b1bb0000000000000000b9cf2c3ba33c12bb000000000000000087b1633b90228abb00000000000000000f20903b4a145bbb000000000000000000000000000000000000000000000000977505bc465c8b3bdc0f9a3c735d3b3b001d1fbcf3f9bc3b85ac183daa3df83ba6e7d6bb4b86053c22c82a3d6314453c5511aabbe3cf0d3c3071133d5bfa6c3c34af28bb241f0b3c55cace3cfa7a5e3ca9357dba4021c63b483fa73c0eff2b3c7bb6b0ba41c3a73ba484333ca12ce73b9c170cba0978183b685e513b3407d03a04e4e8ba34831c3bca47a8bb4aa9a7b9616538bbc4b49bb98d33c93bef18573bf970c9bbe288ccb92fb7123a0728bf3caf15aebb8d6ac2babe60cf3abcf6dd3b4dd752bbf9883fbb5bb8d3394e4e283a17915abbd3f481ba129de1ba7a2065bbe41e0dbb201106bb0fcdafbb77d395ba75688dba6ce016bb4221c5bbecaf2639402e7c376f8883ba4e0df5bbed32973aa20ab93aedc1aaba4b3de1bb5493f93b0971ffbd922dab3b00b964ba6c998e3a72b352be8099f53b3cdf4bbba30d393b9cb362becc5f85bc8c7c993aac8f323b74c34fbe2c6dd4bc7331533bbe75173b56ae22be52d9d3bc4a1cae3ab71deb3abe39efbd9b4da8bccfd110bb53a3843bdd2a85bd811462bc649c06bbbea15c3b33b69dbcdeaef8bae67286bb6a9a2b3b170b603c6ffa953b3b5bedbae434693a0a0e1b3d36874ebedea8ac3fbac88d3c8ca8263d197a43be9e569f3f2af0d23c1ee1fc3c91a41bbe9f498e3f39aa2e3db18cce3c8439f0bd0f07683feb585d3d574caa3c18ecaebd82cf2b3f8ace5c3d6741933cea3f60bdf1b8de3e91254e3d22de4b3cb370cfbc7b55553e0609273d6006b33bee4f003c80a5683c1e5e153d7e85013c02f28bba5e43ecbd9487753b5ddd81bc98cf643b000000000000000031ee6bbc84791b3b000000000000000068a78cbc484d003b00000000000000008f75afbc4e3c1e3b000000000000000021728abc9584863a0000000000000000045670bc9872a9b900000000000000004c9a54bce8a3143a0000000000000000efd841bc31e6663a000000000000000022069bbb3f8d893a00000000000000002434e7bbfb828f3b5dfd1b3c5d05d73b5aad0fbc71c4d13ba23fd33c7f8b593ca438c3bb540a0a3c4b7fe73c394f993c0009b7bb2ce9193c4a06d73c8772913cdc4f14bbfeffb33bdac4a03cbf84703c70ba5cbbd96cfd3bee905f3c8cec5b3cc45e1bbbd7e8953b8d709e3b957e133c2a72fcba7be8503b0e1f073a7cc3a93ba72909bb4dc9103bd7d48fbb2137073b9e4b8ebbb239c8bad574043caaa065bb274d8ebb9506e5ba7e99a23b14819d3b30edd5ba9f0532bb74088d3bee1c3ebbfc906dbbb19418bb01fdeb3ac13d1dbb2fff71baa917d5ba95cde7b8bce4abbb381105b93dd336bba9862ebb675e8cba0fe030391f1906bbd70193bbf1a2be3ad23b4b39a682eaba9d26d6bbb291323b638b15ba7e9848ba68199cbb73ebba3b692da8bd9e53883b7c0916bced10a43b49ff26be1dbba9bc9e91b5bb2ed3883bc56434be8d6e31bd95127dbba499963bdc912cbee25131bd70b69abbd2d2bc3b411f04be7bbe25bd3016c1bbb7e4663b4cbccabdc50a06bd4cc8cdbb3c5ca13b344461bd5beca0bc065ccfbb97066c3bb20a9bbcbf61c9bb7cd09cbb12a7453b3265b63bbde50f3c5e1f4bbb7686ab3ad6801f3dd2ce48be69be8e3f3f0c6c3ee6653d3d008055be74058e3fb0bf633e413a103dc05729be36f5773fc474623ea27f013d63530bbeafc14b3f021b473e47ccc43c1c8cc9bd2217163f2451293ec2ffae3c9c1992bdaf12c53ebc84043e4882943cf2d939bd62b6453ee2dbab3dd03a463c6eac60bc62fec63cb12e3b3d150a213c52afe0bbf9d49cbd80d56e3b1fcc7ebd0c59563c00000000000000002c8885bd555e633c000000000000000010d46fbd1e8e293c0000000000000000fcd454bd71a30d3c0000000000000000c6df2abdcab9df3b0000000000000000b4b518bd9dbace3b0000000000000000ef6ed9bc76f5af3b00000000000000009ef0a7bce2da723b000000000000000086e063bceee5ac3b00000000000000004bdf97bbedd4af3ad4a8d53b9aed2d3c1cb0debbd19cef3b20c9903cd14f963c9bedb3bbcb61e23ba456ac3cf43fbd3c20031bbbc41bdd3bc656a73ce179b13c33df35bbf1d7063c8268813cf3c59a3c868dc0bada5ec33b84191b3c217d683cc69988ba3e10ac3b8697973bfc252c3ceaa1dcbaf3d5453ba974c6ba91d5873b1d3419bb8703f93a75e279bb9f6cef39046d8bbb53457dba89ab183ce87c61bcf4146fbb74c73abbc376cb3b5e840dbbf37c04bbac476ebb06396e3bcf483ebb81417ebac1cd2cbb2aae453ab0c89fbbd2d5cd39af9d75bbb8349239c0fba8bb5bbd58b8863a40bbac056abb076e3dbb77df653a908f56bb24a598bb5f6b8abafb52913a241708bbcb50b6bb31c3593bb77082b96492bdba38274cbb52a6953b8a316cbd776815bc29f58ebc839aeb3bb54bffbd100a40bdcdcc47bc7eb30d3ca1b014beb63c89bd6e2c30bcfa600b3c35ad07be39e08bbd14f145bc172afc3bbf1be7bd09fa7fbd505b49bcdaab0a3c555ea3bd428f39bd0cc01bbce82ad23b8e8041bd503cd7bc2ddd27bc5b0a9c3bb0558abcd510adbb3d85fdbb9c99223b6ee0353b0683223c5ae791bb33ffc03a3cc00a3dd7ad36be7fc56a3f1904ea3e250c253d604d42be3a9d663f9a2ee83e8bc30e3dd88622be586a4b3f4485d63e52e1f33cc16303be4231253fda11b93e1185ce3c7b58cdbd4504f83e13b3963e75acba3c746590bd6249a23e63d05a3e210f983c3d7c3ebd58d1223eeb1d083eaf1b653cfb27bebc48c9e13c32ab603d13e9463c778594bc3b425dbdd623b4bbe4dbdbbd83b0b13c0000000000000000bcb0e9bd7f37bc3c00000000000000004782d0bd6dff993c000000000000000047c4aebd62d8733c0000000000000000a21d92bd3bcf523c000000000000000080016bbd365e2d3c000000000000000004c42dbddac1223c000000000000000010d6ecbc47ed263c000000000000000034a5b3bc3802f93b0000000000000000127213bbe18aca39ec1cae3b7544393c81bea4bb87bd6f3b6d3a513cf123b43c8fa03ebb2e7ab13b727f843ca55fca3c3f5780bb151ae23beeb2623c6348de3ca48a3eb9ff9a763b0cf40e3cc4f57b3cb6ad08bb12c5cc3bc7ca033c5c60923cdb69e6ba91e96e3be4074a3bcdfd033c6cfe06bb99c7693bf4b3abbae91ea13b9a60c0ba9790bd3ab36691bbfbb4263a4ddd8ebb27bab9baf37afe3bebd463bc5f3fdcbacead7dbbba3eb03bf540b5bb1ceb2bbaa43059bb9a58d83a7f10c2bbd616503a7c8fa5bb80cc533b2a59acbb3d293c38e391a0bad964993a040413bcb90a843a222370bb899432babc627dbb98fe023b627954bb6f300bbb4f901bbb632ee9b9f0dd2cbb7b011fbb75cd1139ad98283ab4fe2abbe8dbd8ba06e40b3be47d2bbdeef3b1bc015fc0bc494e323c16f2b8bd331b95bd467d81bc9967303ca6a8cebddd65bebd8ae786bc915f203cdc93d4bd4a7fc6bdf73c93bc7e39483c6a3696bdc89683bdd099a3bca507fb3ba02a84bd412d7bbd76c469bc4f97093c92a91abdc4c5eabc141553bc8932c43bd11a5cbc8c17f3bbca14f4bb4c1a793bc0d1193bd304663c2e9068bb48280b3bafd7d03c074b13be961c303fb9ef303fe46a093d91121bbe2f792b3f93ee2f3f30c6dd3c3748febdfa0d153fdd301f3f2867c83c8a30d8bda649f73e74c5083f825e8c3cddc997bd352fb53e0e0fcd3e46569b3c866c81bd1e2b773e5f51983eda696f3c49591fbdc352fd3dd73f2f3e93c6323c9e15afbcb69edc3cb261753d18a6103cce4180bca1d81bbd89c16dbc7b5e17be9be3e43c000000000000000018ea20be0aec003d0000000000000000eb0804be6a6bba3c0000000000000000717eebbddaa6aa3c00000000000000005788a4bd8285693c00000000000000002f6b98bd92987f3c0000000000000000ca2359bd2a865c3c0000000000000000dc1a12bdca2d373c00000000000000007704f7bc81564c3c0000000000000000bf750cbba3f69d3adf0e0e3ba60c713c5dd15bbbf01a1cba8eb34b3c67e8c03c5b6e4cbbba83453b9674653c4bdc053d57b50fbb1357813b5899663c5642d43c3d4bdcba1b3f7a3b26b7283c4f01cb3c8cbe54bad5ec623ba5e6d93bb169843c4d31e1ba7b9d8e3b23f64a3bbd9a4e3c94071cbb4d97193b659d3f3a024b6d3bea505eba4199813a17b12cbbcfe8273ab34886bb615c46bbc092983b0dcb48bc499d453bd5fcc0bb5507343b7d5f56ba25c5e73ad91dcdbbbf1e1f3b553441bbdc57873b21e9a8bb7e386eba254746bbf354953b40bf84bb4b8b20ba92f72dbbbbbf833b56f57ebb5762f8bac9a54bbba458093aa80f60bbc60989babd2129bbcbd4413b29c16abb9a7164ba71b494ba8eb019b9cdebdeba54b387bae75c9a3a4d8dd1bc4e8520bda2c8bdbc43d5463ceb6371bd38aae1bd0f1875bcd9694e3cacb197bd45850abe73c48bbc1ad9553c10a796bd3830febd0a6f8fbc52243d3cd1c488bd58b6d7bd16e592bce4970c3c6d4242bde70e99bd98ac81bc1933003cd4a1f9bccf062bbd01f3f4bb8486633bccbf54bc6e8a22bc7e8ab5bb94b06c3af866653ab0464b3c1e117abb0192543aa01fb43c86e4d0bda97ee83ecccc6b3fd409cb3cb74de3bd63a6de3ebb866b3f36e4b93c4675c0bda6f7c43eb106543f5535ab3c9def9abd79aba23eecc82f3f9181973c225c80bd6d6e793efcf1083fe513723cd0a633bda211293e8976bb3e71f6523c10f304bd3066be3dafdf4c3ec566183c576c9dbc265ce13c1cbc6d3d453dd33b5d1755bcaa50c8bc890900bdd6cd37be89b0083d0000000000000000663547be9dde1d3d0000000000000000c45628be0455fd3c000000000000000061fe08be10afc93c000000000000000012cddabddf05b13c00000000000000001cb6a8bd01eb983c0000000000000000c0eb6ebd2755873c0000000000000000aa1b16bd9ed86a3c000000000000000090ffefbcb890643c0000000000000000e80396ba46c1fbba66b30b3a5fac803c4cbb05ba092aa5ba6fd2d93b0c6c033d43b0bebada4c123b1fed283c5358063da3a4e4b93450163b496f2a3cd768083d94fa10baada1513b8891033ce289c93cefa68cba29f71a3b0e16e03b6ca1a43c2d1f18b83d831f3baacf3e3b5d77293c9ea2b9ba74800b3bc700c43a0424573b2f3a7dba2a245fb9c1239cba53fe9aba5164c4b9b6797abbfddbad3a7f349fbbb891283b9cd0f6bb419ab4391d2423bb0b9fa43bdf17cdbb0fcd12bb1bef0e3ae802c33bc615c9bbe8d90fbb312d42bb2a1ba13ba1cb95bb2122a5ba4b6904bb02d5933baee8a1bba1d534baa5bb43bba4f1913bbf238cbb9c73f2ba045558bb072d0a3b152258bb526f223ad94c30bb61575ab96ecb08bb1493613aa11d90ba27e4f1bb948a87bd5da865bcb0432d3c5b34d9bccb671bbed762cfbb423e2f3cdbae3bbd17ea28be121553bcff253e3c1c1e3bbdb25e25bedaa38cbc6e88383cb7b32abd81adfdbd9ead8abce3cc023cb7cf0cbd1b2ec3bd4b7c28bc4cdacf3bcb45aabc6eb14bbd136e2fbcc6ab5f3b0ceb32bcfea171bc7376eaba9c94e8397391943a9e8b693c11b99a39711310baaf51613c513277bd608b6a3e42018f3f88a3843c203b6fbd1d64543e44878f3f06ce693c171654bd0818463e9e2a7d3f2d89613c75f32dbd9daa233ec6f2543fd9e0223c6c2605bd8370003e38011f3ff651203cda22d6bc8bccbd3d4ec6d83e8875073cfb5a9dbcc5cc5c3d8005653ed991a03b73df46bc4a4ae63cffcd3c3d1e62363b2088b8bb7f600abcfb1b72bd439849becc76193d0000000000000000dd3a57bee4262a3d00000000000000002a5e2abe159af83c0000000000000000fc4e11bec8f3db3c0000000000000000f23ed2bd3047aa3c000000000000000078e2a4bd39878e3c000000000000000047f55cbd62247d3c0000000000000000750dd9bcfac7303c000000000000000023969cbce999373c000000000000000004ada03a69a129bb28e19b3abe31b33cac3b873a052a8bbbc53f1f3b1303233d02a7f239f31d63ba0d87e73b66b03a3d1135b936e507fab985431b3cdb161d3da3c941b774b2ae3a195cf03b6795f93c017658ba736b8f3b05cf623b402abb3c7de8b7baf72e553b2bc03b3b38fd5c3c8fa49cbaf1b5153bf122703a6260a53bf3ea76ba6037103ba559c2b968aa8bbb4b0b883ad100cdbba6a579ba937229ba9b0fad3b448917bc30055aba8e6880bb6f9fd03bb11400bc61e823bbc031ccba1feff63bf008dabb6c5138bb0864113a8ebc003c2557b2bb10ec00bbf7dd38bb4e5ab73b2a3874bb777b83ba6f87b7bb3e54813ba19c5dbb5e649d3a9c938cbb4f22f83aeebdf2ba8c2ef33a0505b0bb5eb36a3ae7d6e8ba15c2f23accae2dbb3d7bba3a2de7f1bde87218bb35f4073cf987293c8a974cbe97525f3c0f9eaf3b9c0568bccccd60bebde653bb3ca80b3c621ea2bc6a654bbec78234bc5951163c61ddb1bcb2d821be2d1c5bbc248ce53b289187bc0c08e9bd238b31bca22f5e3b9a4173bcee1e81bd93c3c1bb6698e93abad106bc2b5587bc642f7dba88ed53bbe7ee5c3a9b80983c5d28203bba690fbb7cb6913ba27c6ebcb81c9a3c22a4ac3fe45ba03b73a823bcfa3a8b3c552fa03f4f0de63bc85055bc4ce6f63c06ea8f3fe515d73b8f4f41bc2272f63c80f56b3fe027ac3ba9720abc3c09f53c8629313fd8abb33b08f7d6bb2b07e73c828fe83e5714303b3c0df0bb0701ec3c54a4653ef4d7383b62b310bcd413093ded13d43cfb9f09ba2a3d9dba2e16c93a2137debd18dd50bec6e8193d0000000000000000afe042befe481a3d000000000000000047fd19be297bcc3c0000000000000000d3f2eabdbf489d3c0000000000000000ea10a9bda5f1763c0000000000000000a57165bdeb334f3c0000000000000000462dffbc6a11063c0000000000000000283287baadaca53b0000000000000000789618bc0a950b3c0000000000000000000000000000000000000000000000004b615f3adc0668bb096dc33be1621e3d209754b953e21fbbaf670e3c4f44183dd2670cb9e766443ae838013c75a2fb3c83c922ba04402d3b9ca2d83b42eec33c02853cbafbcc3eb8b996e93bad948d3c4266b4ba5c01173bddac573b47a8263c939797b99b39aa3af318163b57b21c3a0000000000000000000000000000000000000000000000000000000000000000dd86ee3b4659f8bb510548bbe8a1a53b751a1b3c965cb9bbda3740bbd7a2823b5cb22a3c1e1393bbfebf04bb1aaf0c3b70d11e3cfe384dbb0ca0c5baaa8f743a978af73bae946ebb99e21bbaeb6968394953b23beab804bbd5388d3aad6991bb348e423bbb63acba8597b73acbea97bb000000000000000000000000000000000000000000000000000000000000000031a4363a235d5cbe6d16e23a4c24ac3bedad96bb182457be4d5da9bb5f4d7b3bae3a69bcc3da3fbe1d7d84bcc22ba73b830160bc569f1cbe719a7abc45e1463bd20242bc4888e0bd2ada37bcf567333bb239c5bbfcbb7fbd69e401bce834e83916a459bab75386bc89d3a0babe35d7ba000000000000000000000000000000000000000000000000000000000000803f44995bba05067c3c886cdebda4a2ac3f29919638971c2d3ce4b78ebd2a258f3f0acf223a1a41de3b87ae4bbd23ac6c3fcedb813a046fbb3b145313bd8cfc313f40d90439a30ec43be94eb9bc4abbea3e463a55bad9bbd83b7ccbc2bbd48c683e709e38ba858c983b206ed73a25fd643c00000000000000000000000000000000000000000000000000000000000000007e11e7bd9db4843c0000000000000000bf1e89bda92f253c0000000000000000f57a37bd5c19a13b00000000000000004168e8bc00bf933b000000000000000063bb8dbc3ea8f13a0000000000000000aea4c2b93f9bc03a0000000000000000f125833b41f3d7b600000000000000000000000000000000000000000000000000000000000000000000000000000000c670d3bb1a983a3c1749c43c22f3003c1f64a3bb2a1b443c3a47bd3ccb033d3c64ba3fbbaea6473c292f8d3c562d483c4acb2fbb14f21e3c85256d3c4e96223cf632c7bafb0fed3bd337113c605d0e3ce36e80ba08c2a83baaeeb33b86c3d23bae94c7b9e76f433b0ed6eebae49ea23b00000000000000000000000000000000000000000000000000000000000000004e89b8b96d5528ba04da363b4fcbdbba6d743ebae6a9feba4d56533a7711b6ba99d5b8ba85643e39fb60c6b9f6f10dbc10d9023b6f3625bb8af184ba14e8b5bbe940093abc29a7b94238fbbad660d9ba2fc2053a98a899baefc646bb7a86323ba6d7b6b7452c0bba79079cbbfd4bee3b000000000000000000000000000000000000000000000000000000000000000054473dbe4e8b97bced29213ccb4e6bba2f753bbedca8b4bce07e063cdadedd39eade25be935aedbc8706063ca07af0ba934306befe19edbc972dad3b50318e3a0abec3bdf1d5bdbc8719c23b6c7e23ba05d97bbdf4506ebcecb25b3b87d6ef386ae2a2bc1f4fbabb1a531a3b125138390000000000000000000000000000000000000000000000000000803f000000006d75513c872dc7bd7cc7a73fc683a3bd7a85193c129c8abdd3d98b3faa6536bd0772f63bfd004cbd6699653ff767e0bc979bd63b1bd52cbdbd562e3fd49f8abc6291c23b00520fbd8443eb3eb7cc4abc4f27353b22668ebc7430763e7032ddbbbfd3293bf13e1cbcb207113da5db29bc00000000000000000000000000000000000000000000000000000000000000002586e33b4fd53cbb0000000000000000f73dc43b45e416bb0000000000000000e78b313b92ed0dbb0000000000000000858a8c3bceef18bb0000000000000000dfe26e3bb5416dbb000000000000000098839c3b2c462cbb0000000000000000e1a3f93b9da944bb0000000000000000000000000000000000000000000000004b5115bc81f6503c5a048e3bb09e3b3cc3c83fbc7914883ca2d89d3c95e4b13c7b7c0ebc7ec8773cf6f2bf3c3a13b53cec1a02bc4274733ca89d973ccee1bd3cc718bebb08e85b3c1578473cf9ccae3ccfada9bbe683313ce0f1fa3ba5de9c3c6ace4bbb2d53cc3b463f6a3bf3105e3c261e0bbb2ce3873baf6e42bb5755253c50275dbb5f2ca23b553718bc223cb63bbc72b0bbb2a1933a8fa8943bd27826bb2cae32bc4fa0a43aee1f9a39939aa43c425214bc66bf843a2190d43911ae0f3c086500bc60cddb39008124392972b43bea82bdbb22244939f4740dbb6ef3823b78a9eebbc33c503a48d686bb3c151b3c8d2fb1bb3f4ca33a1492c0bb3d26473caac5dcbba2ecd63a378f02bc435c7f3c3a883bbb57a5543a2de2b5bbdb546d3ce91feebdeed7a93ac4e631bb65a9bc3a3da354bea04d0e3bc6936ebb17b86d3b5f9c5abecbf684bc278d0bbb872a653bee5e43be0442cabca2030bbb9c88823b7d081ebe33faafbce5d997bb7a0c573b4650f2bd31f989bcc49576bbd90d603b2bc994bdc6ace3bb0854acbbb3f4443bb939f2bc2f7ade3b3e5fc3bba879073be038f23aeba74d3c8276a4bb4571c13a9164d03cccbc24be0d48a73fae81273df7a5e13c7d9823be3fd69d3f5f67483d3052af3cbf6702becaa9893f73f4873dbead923c0b61d0bda44e5f3f7642953dc642783c6aff9cbd7fde253f4ddc8c3dabea503cea5a6abd9841da3e21be6e3d345b1c3c191305bd12c2523eb335393d09b98a3b69bfdcba341a213bef480f3da34eae3bdb8415bcbd3ddbbd597b2c3a769ba4bcea11723b0000000000000000ceb0abbc35de453b00000000000000003bdfb0bc392b193b00000000000000001ccda9bc0d47003b0000000000000000e68f87bc094eec3a000000000000000060ad87bce0c8113b0000000000000000b1eb5dbc49dcab3a0000000000000000925e35bcdaa31e3b00000000000000000e5fa6bbaae1bd3a000000000000000086e212bcf759613c4cc7b4bbff01ab3cd05126bc2233893c980e903b443ce03ccede1ebc3494893c1df4e33bf40edf3ca8f609bc4d0d863cd64afd3b69e5e93c0ab7b8bba411443c78041c3bde1cd73c085faebba6862d3c7eb0523afc6cba3c0457babbf15e2f3c3514ddbb3f6a913c4c5492bbfada013cf23109bce1f3613c238780bb7761cc3be0f845bce3a30f3c5f6152bc9200363b07d68e3b507c36bbc5c058bc486f123b1a2ecf3aa3a90f3c1a182ebc94c9f93a3e64153bcf73383b28303dbce802263bb0653bba2d04c53b23e31bbca7f09a3a8e7f0dbb8a8fa33bd2c11cbc095b073b45c492bbf7c4443c71d5e7bb474bd53a8e2f88bbe10a3f3c5161f4bb96c1d23a591202bcd5b9853c41fce1bb8893163b5ac4c6bb6b6c793c9774babd900e923c25f4bcbc1f7f033c4a5c28be7b4074bb2f5d98bc593cff3b5d0828be1cf7bdbc440991bcd2840c3c44b828bedb1bdbbc480183bc1be3d13bd40602be96ddbfbcd4c38cbcc9efe83bdeb5d6bdd94c74bc946a86bc2ae1e03b96af7bbda0e3c7bb82d271bc86e1a53baf7405bd9e87313c63516ebc73b6ab3b57bf0cbc909ac53cc2e73bbc5ee64e3b4eacd23c73c71abe9cc1893fb8aa753e9332ed3c02082bbee1fe873f2bab733ea7e4c13cadbe07be843d683f5969733ed002b13cbcd8e4bd9e8d3f3f96af5b3e77e18d3ca9b7afbdbfe90c3f544b393e8f50803cb88187bd3cfbb83e5b82153ebd39443cae263cbdfbcf3c3e5fecd13dc153113c25e78cbc9bf1443c1373783d7b9af53b6ee930bc74fba5bdcc5d9c3cd3fc4ebd5646083c0000000000000000e01b6dbdf47d2b3c0000000000000000f1d963bdabe8093c0000000000000000d00341bd6067033c000000000000000006012bbd2636d43b00000000000000009e571dbdbfbdda3b0000000000000000933407bd35aee93b0000000000000000e5aae3bc649ff13b0000000000000000781bbfbc2364da3b00000000000000004bc9c9bbf1672e3c7c8f2bbcccd1c83cf5f421bc0d9c843c1c97cfba89b0f13c549803bc147a643c0bf4863bbb9a083da046cfbba8a6523c7db42d3ba825033d052dbfbbf6b94b3c1ae480bab536f83c90daa1bb274d363c47024fbbd35cc93c08e9a9bbcb0a133ca2c7cdbb789fa53ce88da2bb61c7133cc77623bca7b06b3c688c67bb321fc33b23ed4abc7d50543c8f7a8bbca8dc893bb5c79f3b326a35bc04157abc00918f3be13b2d3beeb3243b590974bcfcb7443b218dc43aa36e863b501c50bc75e10f3b8dd77dba91f29e3b7dec47bc053e743bc14df4ba8350eb3b07c22fbc4a591f3bbd3584bbb4bb1c3c77871fbcb5e90a3bff10a6bba47e513c2c7a28bc88414d3b4ba9bbbb4de2603cfed234bc92f33f3bf01384bbd542573c13ab8fbd1322af3c1f4c15bdca973f3c20d407be965901bcf8bc0ebdde263e3c5cd116be34f4eabc625006bd7c49523c3fc60bbe577b01bda1b608bd370c503c222ceebdce36f0bc114601bd3ad4333cf4a2b5bdf12b88bc0962e0bc1e67233cf67279bd8b6be5ba8141d3bcadfd153cacfe08bd00dc803c2c56a7bcdd00ec3b80e24abc133a023db4a0abbc04dcd53b03eaac3c444709bee45f5f3f2739e63e4585db3c821215bed683593f9d73e73edb34b73c4354fdbd10123d3f9033d93e7e719d3c521dccbd7efa173fd229be3ea8b2823c7b05a7bdf313e23ec8f19f3e4e31823c66857cbdf2fe913eac9d753ea2cf533cbdcd2cbdf94c0c3e7186263e6ccc033cc53da0bcde58153c4f8eb33dcdca083c80f399bc4d4182bd429ddc3ccf6ab1bd5f55543c00000000000000003a54c5bd7e91973c00000000000000003666afbdb3bd6e3c0000000000000000d0fb9dbd6ed6503c000000000000000021d88cbd5a365b3c00000000000000001f007fbdee5e473c000000000000000040af5ebdc63c503c0000000000000000d82041bd7357473c00000000000000009fc811bd99bc2c3c00000000000000005a26a9bbba37fa3bceaa3ebc387aef3c59d2e5bb8b16413c59c36ebb74db0b3df398a6bbd843133ccd1fc4b971c4083d9d5acabb86493f3c0746093a7dbf0a3ddb1716bb0349e13bf09dd1bbdbc2de3cc87a98bb0b2a163c883ba7bb18dad93c325133bb5b1bd33bf87ad5bb899d8f3c903878bbafcbcc3b9f591abccb71693c6ddf3cbb4c4ba83b15f232bcbe20243c0b30a4bcdd82c43b9ae7803b35dce1bbac7e8bbc6080923b237f3f3bec55843a14ce6abcb9b06b3b760f603aeab1cc3a145461bcd40da23b3fa554bac266c53b0f515dbcd01f8d3b61640db8f4b985ba7c742dbccdfd5b3ba2e04bbbcb24153cabcd03bccd40213b835680bb47a70f3c547017bc04a4163be5839dbba956423c3aa707bcce22303bf90e68bb83c4193c1c497dbdb79fbd3c5b6c46bdd5a15f3ceb6cd8bdca0aa4bc2ca442bd0b0b8a3c35ece0bdf4e81abd517233bd1032793c3441ebbd6b2b33bd569735bd2a68763c039f9ebd9c90a1bc3a5023bd6287243c9e6a9ebddb0ab1bc256e21bd32cc5e3cacb541bdb7d080bab94c01bdeceb223c7038ebbcc5389d3c181de7bc1573133cf89d3cbca13c083d9381bbbc96fcf93bf5308e3cbaddddbd8d36273fb73e2a3fd9d79f3c7b31e8bd3fbe1f3f88892a3f17b48d3c6dc4c0bdf602093ff60c1a3f2c1a833c5208a7bd0132df3e79ab083f1af2493c5ba472bd1d15a13ebfcbcf3e2795433c0ab34dbd498b523e176da63ecc47263cddb30dbd54b5c93d7547573eeb750c3c935e95bcde9721ba4667e03daf65ca3b56d150bcdb386abda191033dc7d7edbd75f2a23c000000000000000019a6fcbd7d0ea73c00000000000000009926dabd9c6a893c0000000000000000c39fcfbd92c5983c00000000000000006e889bbda4ad6a3c00000000000000000ae89fbddf88823c0000000000000000cf1288bda95c7d3c000000000000000048476fbd2f498b3c000000000000000037b053bd324e713c000000000000000025f234bb7505813b1d7205bcc00aee3c9ab98fbb4763c13b9fc1a339d9f9fc3c5b659dbbc620c73b4ebb5f3ba92c0e3d5cbb8dbb0f6df63bf38d5b3bbbcc023d8f846fbb2e38d13b98efc63a18c1e13c9ec026bb8f09b73bf74d65ba40beaf3c43786ebb39d2c23bac2b6abb4af1823c071d58bbfa958d3bbd8ca5bb22a3033c46d7ecba66c3493b2e8b09bc213bd23bdc5b9ebcaf38a73b53e1883a4743853afb0028bce1e8f23a53493aba3770a33b09d70cbc666fb13a81919abab778123cb2e10fbcdb82f13a659d79ba1037e63b8ec7c7bb2c7c883a928c1abbc48e003c4f09b3bb0673a43ac28079bbc47c043c2298b5bbb05b123a401944bb6b3b103c769984bb1c3f92b860472bbb5168f83b7f9ad0bb022ca53a0a6636bb0a5dee3bef235dbdfaee163c9b0d56bd42048f3c98f4a7bd6d5b55bdc97847bdd3de993c6eeebebd28a09bbdd9174bbd99dd9c3cc797b7bd67c096bd30b737bd0c95823cab1ba1bd739b63bd77383cbd0587863ca19274bdc22217bd2e2221bdbb2d5a3c3dcb2dbd1c5244bcc75202bdae65303cff7ba7bc4055443c69b1d4bc032a233c54b936bcf1c5113d262bb9bcd5a1013cdff36b3cc467adbda062e13e49ad613f20a78a3cad39acbd4648d43e5a80633fdfa8703c04c993bd2ae4b53e4cd84e3f588b453c0f646ebd736c913e0bba2e3f39762a3c9b1b41bddcba523e08b60b3f716c263c90f609bd79f1043eb7b1ca3e0318f03bb418b6bc26625a3dcb387d3e2353863b844222bccc8c1fbc2cfae43d2836b63b8a57b7bb7a4450bd2fb4a83c315a0fbe1d63b03c00000000000000008aef20be5d6ee33c000000000000000086ab0bbea235be3c00000000000000009442f0bd20aca53c0000000000000000a4c0d4bd3b1fad3c00000000000000006eb6b6bd6e64a33c0000000000000000c1279fbde34da83c0000000000000000dd0286bd8aa89b3c0000000000000000cbcc6ebd0309983c000000000000000098ca1ebb8187443b2ee857bb1a6ba63ccf1810bb25f4a63897e1cf3b007ede3cf8ef08bbb8670a3b6ea6d43bf86ef33c469d02bbcdeaf13ae5b1fa3bb5a4f23c6667edba899b403b1dd77c3b8093c03ce4600dbb6a78383b4635853bf0228f3c2a2b9bbac19a443be49ae5b98aa42f3cb9aedbbaede82f3b44a78fba62af873bf589c7ba6e18b53a428b54bb43181f3a754518bccc32a73a0ea92f3979b1223a08f4ecbace08ffbaa08365bacf26003c4221faba2548a2b9371ee5ba53d5ec3b813d01ba21f884baa6ac47bbc19c043ccfabddba123e393aca2f15bb9a33cb3b0499abb9de4971bafbd1e4ba2531b23babc8533a6cb498ba013b5abb5e71c43bea0e233ad0f6e9ba07c981bab380e53a7d5124bbd1f501ba4b9e43ba1090363b1af809bd5c90ccbc2c8930bdef8a873cd60456bd4bbdccbd532e2bbdc835a03cbec07cbd3d46dbbd2f0036bdcb54863cd50480bd2f8fe4bda7fe37bd0576883cf76254bd0857a4bdb1382bbd14f0553c66262bbd5f9e7abd88280abdb3b3473cce90d8bc73e4e1bc9d11f0bc812f1f3ce7d85cbc34a2303a13708fbcc362b93b8bec2fbbb94ceb3cc1f480bceedcd63b8d07113ca05c46bd92f46d3e39f78a3f4080213cd2a34bbd722a513e45498c3fe6080f3c910828bd176d3a3e8ef0733f9c5f113c36dd07bdcd76103e26c1513f2145df3bbf8fc2bcd8e1cb3d6014213f3b18cf3b14ada5bce151733d151de63e4606793b38cd11bc2dd0a33c4546883eaa27983a369057b9f6b64ebcdccbc43d47c4c43a5fa02eba1c1919bd04046dbcb7df22be2e98d93c000000000000000063c531bebd5fec3c0000000000000000f8000cbee7e5c13c00000000000000002bf7f6bd2c0bb03c0000000000000000b7b1cabd1f44a43c0000000000000000ba82b2bda3fc9c3c0000000000000000e06f90bd1d1a993c00000000000000005d396bbddec6a63c0000000000000000b3b24dbdbd73853c00000000000000009e590539d37f0bbb24b27a3b4c308c3cb2b7503a6240d7bbd5ef1c3ccae7e53ca63cc2b92e1e6cbb2ef33f3caa57043de21941ba03a313bb78f8463cd334e03c2c80a73772d5febafd42163cf543b53c9d1aa5b91b2a26ba12e7f83bc0bc723c5711a1ba3c99a83aa863303b1bd01e3c13b7a3b99c45253a4193d4393127033b747f43b83d79c839b0ec13b9f6248fbb5f50d939a9d029bb5ee893babf53c13b3a87313cdbdaffbba781bbba7077b23bd749113c12f6aabb85edb9ba9175c73b3663273c461096bbddfea0ba1c26bd3b7b65fa3bff3136bb28d196ba06718a3b90c4193c01a286bb5497aaba5939d43a8478983b574a25bb18cd1f3af6d38abaaf67943b4f7485bbe6824c3a23666dbbb43fcb3a853f0abb2da06a3963f8ecbab823b4bc4bd6a8bd7f8500bd9e197c3c26ed2dbc763631be51178fbcf8de683c8504e7bc92b739be8056e6bc4d23653c262bfdbcf90126be7c2807bd80fb573c0b4ae5bc2f6402be2bc603bde4b3363c2f9796bcb955c4bda75fcebca1e30e3c90f623bcaaef56bd168d7fbcf12aad3bf347a93938836cbc6f7f37bb7daac43af6099e3b7ee19b3cf92381bb634e4b3b2134593b88c989bc6a471a3dc125a83f00fe773bc4026fbc258fdc3c59ef9f3f96aa8a3bd37a57bce4b1f13c0b9c8d3f6acf2d3b06881ebc17abc23c4642693f1a8a223b0613e7bbea935a3c6395313f15e4183b6e474abb7d90683b4dedf23e91a6973a2e57f4b9e7d850bbbab4823e6e091f391cadae3acf187e3a6868413daab45cbafec7cc3bc032dabc688f8abdc02f2abe68d5d03c00000000000000009b8323bee30ed33c0000000000000000b70a03be599ba43c00000000000000003179cdbd452c8b3c00000000000000004592a0bd16d86a3c0000000000000000aeaf82bd8e896c3c0000000000000000487c49bd0e03613c0000000000000000f92b01bdd72c653c000000000000000007b41fbd1a3a6c3c0000000000000000000000000000000000000000000000007271b03acc2db9bb1da7603cef0da43ca0b6c33ae013a6bbeef7613c49f8af3c17d45e3adb3b4ebb1ea9653cb8f6733cf5189ab845771ebad95a363c925a273c56c0b4383deb00ba6f6f133c1320b83b7fb16639c83dbdbaf8eec93bfc94763bf9e6163acc74c9394d543b3baf2e0cbb00000000000000000000000000000000000000000000000000000000000000005f41553c5368b5bb9a44c6bae2bcc73bf382743c0b6badbbb39508bbfd67893b5e155b3c436261bbbf69d5badec54d3bb34c733c506440bbb51e91ba8ae2113be9b63f3c9f5d4bbb9c26bbb90ed914ba5455243c610d3dbb21cab13a6ddf3ebba680b93baeb3f9baa3f4133a7608b7bb000000000000000000000000000000000000000000000000000000000000000024a115bc5ac93bbe81db57bcefd3dc3bb4b002bc98643dbea03182bc998bb13b006f83bc92ea24be6525b9bc8ea3a53bd66242bc5e0d06be8eb5b9bc7702403bb9e3edbb098cc4bd706494bcc4417f3bd259c3390d7484bd486b10bc938d223ad6bb0a3cf819bbbc4ed9013a77b690ba000000000000000000000000000000000000000000000000000000000000803f451b80ba258d153cbab9bbbdc21fa83ffc08043a678fef3b952982bd489a8c3f3692ac3aae3ed33b77f34abd8a73673fb093a6b92b53b63b3c0231bd6acd2f3f6f931b3a90e1e43bb89310bd396bef3e66e7c0ba7cc4b13b694fb0bce9757c3ebe7f5ebaba43093c213a9dbc3af5213d00000000000000000000000000000000000000000000000000000000000000007148bcbdf319453c0000000000000000541f5ebdbfaefe3b00000000000000009c8811bda4beab3b0000000000000000565cd9bc428db53b000000000000000094cc9bbcce6b493b000000000000000060c632bce8fba03b000000000000000022d831bc3133943b00000000000000000000000000000000000000000000000000000000000000000000000000000000206aa0bbc3f7873cb29817bc7a7bad3b4e1185bbc4a98a3c05bd44bc82cd973b7b633abb6872533cae365abca0c99f3be3033dbb6d36663c083d6ebcd33f503bf72707bb80902a3c4b5367bca525a93b129311bb81ec353c9f7661bce2bbef3b3ad41dbb0192143c44b759bc667eb73b00000000000000000000000000000000000000000000000000000000000000005c8fef3b53ba53bb5122bd3a74559bbcb4d4fb3b6b9af8ba9d3c643aca6374bc4a2aba3b6eb0fcba32077238edf768bc72c5e13b1ddcdbba3b35d53a21b56bbc8840a03be373dcba9b03a7ba5d18d5bb121c923b84fc10bbc96973ba01e8b03a429f893bf7b00bbbb82edaba2cf5e13b00000000000000000000000000000000000000000000000000000000000000004485a6bd374807bd241dc13b9de93c3ab3edaebd8755dfbc95078a3b3dbc12bb02cb8ebda925f4bc2a65b83ba6ff72ba89bf5fbdc57ff5bc8357a43bc8e8ebba2d0238bdf415bdbce144913b0e65abba661d0fbd25f9aabc173cb73b34de07bafe5d86bc3d1680bc61b6063c235404bb0000000000000000000000000000000000000000000000000000803f00000000ab7cd43b463567bdd728953f1e4c39bde4195e3b12151dbd10c37b3f0be1dfbca224613b819d02bd6cd54e3f4460a9bc285d1039a276f2bc5233213f20fd80bc50a3103b0bd7c9bc0dd0e63e74e490bcab3110b8174ad4bcfdfd8a3e99de88bccb008a3930bec9bce937d93df5c5c4bc000000000000000000000000000000000000000000000000000000000000000090cbda3b5e384dbb0000000000000000a1609c3b99651bba00000000000000009454973b925125ba00000000000000006f8b8a3b348adeba00000000000000002d22c23bbfedd8ba000000000000000057e2aa3b9b69cdba00000000000000005b0eb13b9cadacba000000000000000000000000000000000000000000000000ae46f9bb41c2ab3cc336ddbc803cd63cc7151ebc8275093dc97316bda4a01c3dcbb7f7bb909cef3c3a3a0cbd8317193d73fbe3bb48c0e73c6ff219bd8042143d7d91b1bb0bcfc13c1e6a17bd4d640f3dcfd9b6bb5bddc73c696916bd4012103dda68bebbea74b23cba0b0fbd06a5183d2827b4bbfd4cae3cba3308bd5ce4083d0b30bbbb41ce913c107cf4bc63bfde3c257d10bcdeec4c3b489f6e3aefc881bce05f46bcb2a2763b617a37ba915686bbd25245bc361b7e3babaab0bafb7802bcc56348bc6af5683b71c8daba5945c7bbc3d055bc61a4553bb28851bbe739e2bad1a35ebcf8f78a3b629342bb1f13883b568886bc79418e3bec8787bb4a39423c5b1971bce9ed843bca0fbcbb6349bb3ce7c53bbc0412363bc9b187bbaa289d3c8e3856bdb88d0dbcaa0617bc60bea53a0ab9e8bd401af7bb68dd33bcfb79fd3a056cecbda89359bce1302dbcc337ce3a78bdd2bdb7ee56bc60d41cbce57dc73af921aebda2c213bc086a0fbcc582e83aa4da97bdda08c8bb964817bc874b1a3b5a9c76bda413afba4a91e8bbefcf043bc3843bbd738e243cea88dfbbc050353b68caa7bcaab62c3c5109a4bb8de8063bae01083c0dd0babd3600953f6db1963d3073fc3b0028b4bd8b7c8c3f2027983d6305c33bb6de8ebdbb70723f73349b3df1a5903b86646ebdea45463fdfdb8a3d4909683b80623bbd01c2173f7b30683d1b8b373afd4520bd5315d53e82a1353d77e7813adb99febc23ee753e0014de3c0287a1bad4cba4bca86a8f3d2d7a423c64c35dbaeb0dbcbc39f306bd4ddd32bc5ac826bca8a1003b00000000000000000eaa37bccda4363b0000000000000000c3be10bc1512df3a0000000000000000ad7d04bcf2ff09b9000000000000000073e4a3bb9e4c9a3a0000000000000000e0fad5bb1540ddb900000000000000007ddcd2bbc96803ba00000000000000001134d5bbebfef539000000000000000048e48dbbada5e9b80000000000000000cc51e7bb781fc03c266438bd4ed95c3d45d01bbcafc6013da7e862bdedd5803de4d8e5bbe1c9df3c9d7945bd1e70663da20fe4bbfd3def3c566b55bd1c066c3d4f5fc2bb1806d23c42fd4fbd64b6633d0ed7dbbbe81add3cac7f53bd32ee633d9f29cabbadf6c63c982841bd8ec7493de17ac3bb4e93b73c9d6b3bbd6a0e483d5528cabb8e35b63c37272abd761e3c3da1440bbd08a9303c2ea301bbed96debbddfa09bde0f93d3c58cababac45fbdb900fe0cbdfa913c3c155f5abbc42f83bb15ea06bd350c433cffdd81bb32e2943b650502bdfcd3353c78cc91bb884ec73bbe9705bd2e2f2f3c1dbca1bb3031623c43c4fabc375f2d3c6a49a2bbb86b5b3c908902bdf57a273c0d3ee8bb5f0ef63c17d5e2bcf99a1c3cc6dccdbba9b5bd3cca3c57bd829bba3c394bc5bcef7ea43b12dac8bda125763ce5faebbc799da93b9706b5bdae831a3ca32adabc354cc43b887cd2bdc66a123c07ffe2bcb1a0a63b3b82aebdfe626f3c6c93dabc740e8f3bf47ea6bd0cda943c145ed6bcf74bcd3b7a4369bd7363c53ceec4cbbc00fee33b17ff6cbd57610a3d7bb0b3bc7246c33b89c91abd88aa1c3d5b38acbc011fbc3b75780d3c6451acbdc6a9763f30ab753e7e37be3b5ae1afbd7bc36c3f643e663e16bdb03be58587bda670463f5474583ed451293bb7f177bd5d33283fbc523e3e103cad3a43fe41bd5acdfe3edeeb1c3e6e4ff138946c1dbdcb42b33ecc47fa3db13993b94137f7bc8682563e660ab03d1f3860bb745f8fbc87637f3d13ef493d7b65d0bab40170bcaa090ebd40bb963c9b95dcbc6f6cd33a0000000000000000498eeebc7ceb163b0000000000000000165ecabc9a74a03a000000000000000076e2c1bc5786193b0000000000000000c0a6aabc0a6aec3a0000000000000000eea9b1bc99e9ac3a00000000000000003562abbc81f1ed3a000000000000000015ddb3bc57be6c3b0000000000000000a47cb4bcc43f693b00000000000000008ceca8bb5bdca03c576959bdf7a2963de15806bcc79f003dac9683bd35e2a53dff70e6bb00fcec3cd99077bdbc059d3da815e5bb5460e83cb82b71bd6485963dda4fc3bba216da3c901174bd1767943d4110c0bb1c55dd3c0c6c68bd6bf38b3de88dc5bb7e63ce3c46025fbd9cb7853d2452cfbb9e3ad33cf28352bd37357d3d5738a5bb4e56a73c8e543cbdf41d603dffe84cbd5967823c96c62bbb3b10c7bbfeb85dbdb249993cbd5395bb9b53c53b44b052bd8e08953c1b0683bb34c3d03bd74b4cbdd72b8a3cb3fc9cbbcb650a3cb9534fbd5ae88f3c82eac4bbbf32713c69ce45bd30e58c3ce6eedabba3c4953c481e36bd78ec8a3c7382d4bb02afb73c5b5e3abd2abd823c3a2df6bbea07ee3cf36b22bd9c97593c90dbc8bbfff4b13cb3d049bddd203c3d4dca32bd485f093c7502bdbd39801b3d37e73ebd77cf1b3c3071d2bd3fc6f93c9f323cbd1a2e213c7a20d0bdf805033d8df939bd195f193c09a0c0bd028f1b3d056e39bd8586263cca58b2bd8f69293da2ae2dbda354253ccdd7a1bdcf92403df6583dbdd38a253cb60c84bd9f71633df3c81bbd1d323b3cbd3737bd6e216c3da08c14bd2986353c24babd3ba17d92bde29a463f6e3fd33e779da53b4b1499bd6efb3b3ffdf6ca3ee38c443b652879bd0d97223f4abdb93e96ed163bc8e34abd5a7c043fe23ba23ecf4a043a68fb22bdca57c93e41c3863e745a9abae821f0bca2958b3e2ab6543eb1912abbe499b2bc87f61f3e9c57183e4d7ba6bb5d8b3abcb441223d1db2c33df6851ebba0b45abc3aca08bd5072253d7ff136bd25868e3b0000000000000000051647bd43669f3b0000000000000000737b39bd3731633b0000000000000000e6222abddccd6c3b00000000000000006cc121bdd5b0873b000000000000000054061cbdc0cc3b3b000000000000000034d80fbdf963653b0000000000000000dfd821bda3dea23b000000000000000020aa10bd9606b93b0000000000000000c52d70bbc9d8863c7c4d5ebd2594ac3de4f9c6bb28eacb3c986a7cbd82ebb33db3e399bb6776b43cf24f64bd5115a43d89c0afbb650ed03c390875bd335ca63da79f7abbcda88b3c68e04dbdbcb78d3dbf67a6bbf1bec43c4c6361bdea56943d4f608fbb7764a43c931644bd79fc803d996fa7bb99c9ae3c85644dbdb6a5833d29d087bba2729a3c01bb34bd4b3a6f3d283c7dbdba8cac3c8c9067bb33349dba370f87bd1a99c03c384b94bb5049043c306275bd7326a93c451d94bb6ff2d03b6f887ebd0cb8b93cf89fb8bbc6974b3cd9ba5abd4d4c953ccb1262bb6687bf3b6ba86bbd3a6aae3c575ad1bb8d77993c0c3e55bd7824983c2656b6bba61a913c079d54bd1c4f9b3c1eaad0bbf281d13c6ca43bbd26928c3c3567bfbbb142af3c292e62bd253f783d2edd69bd7cb4293c099ab5bdcbf5563daa6676bd748e483c8376b6bd35452b3d002272bd8e275a3c59d1cbbda46e353db13e77bdab76593ca8da95bdfa6b4e3df0e65cbde43e3a3c5a98b2bdd062623d24c86cbd335d683c1d158fbddb70703dfb4f4ebdb7f4673c609086bdad7b8b3d3bce53bd810a7c3cbe864ebde9b2903d93473fbd4a2f663cc2bb993bf30f6abd35dc153f3014183f7cdb753b44255dbd704c0a3f46f0113f82662f3b4fee3bbd9705ee3e4f1a023fc7508d3a12b914bdfce8c23e602ae53eca0fb03a305ff4bc7b44923e51aeb33ee4c2b4ba4324adbc1b87463e48b6943e8ed6dabac47187bc2bd8d93d74a5523e709285bb2994c8bb65768b3cb67c063e048d45bbce15abbbc9b32ebd6464773d546a80bd7b69f33b00000000000000000c3b85bdc029ce3b0000000000000000abc86cbd3ffac03b0000000000000000c7ea69bd5b63b83b0000000000000000d75f4bbdea94f63b0000000000000000b8c256bd2896bc3b0000000000000000f4eb54bdd497e13b000000000000000035d14ebd11b9cf3b0000000000000000e1fa49bd268b0e3c0000000000000000ba3387bb0062833cf0fc45bdc1baa53d10eaa0bb0cf0ba3c9a3664bd4790b03dff2598bb7c24a73c64cc3dbd3b359d3dc18181bb2ddea13ccd3639bd7582933d722787bb0e5eab3cd1393fbd267b8e3d25d588bbebfc993cd4df29bd5d4e813d200b74bb9c148e3c55ef1bbd4ac3663d976677bb832b8b3c965d15bd5d75543d953757bb37e3573c7efa0bbd09f44d3d804286bdf180b83c680a16bb1e75353b438f8abda8f0d73c2de9a5bb13cc273c9f2184bdfb38d53c147e87bb90281b3ca44573bd1f98bc3cb9e0afbbf6cb683c67f170bd4096be3c436ec9bbddb17b3caeac5fbd3809b93cc4afafbb4490933c4fa550bdf1b2aa3c0f82bebb324f9e3cf90d45bdf406a43c12a9cdbb3ec7b93c14a232bdfeb37e3c7db1a7bb10e0a63cbb7477bd24c7813d126184bd0e686c3c981eb1bdb564233da6508dbdb9ae6a3c5988c2bdb05b073d08528cbd83ab643c82c6c2bd95f40f3dc9978cbdcc8f7f3c00dabbbd4d58343df26d8abd08ec823cefa6aabd7261473dade182bd0d36753ca3a592bdca66643d42ea74bde4c1833c099c78bd8b98853d07466abd16ea8e3c2b0e48bd87fd923d5ad04ebd87b38d3c84af3a3be2a027bd1980cf3e4ec0483f3170143b19851bbd6692be3e5c14423f885aac3a6a14e0bc3beea03e7d3b2f3f5377663a86bcc5bca821813ee251153fd131fcb801ce91bc1e58403e9016f33e987079ba2b0d3dbc845af23db218bb3eade808bb8a67bfbbca2b593de9c9823e774187bbb705eb3932e726bcc45f1c3eeae905bb0fab203ae02355bdbb67803dcce29ebd262d123c000000000000000010e7adbd757d103c00000000000000005aa49dbdeab70a3c000000000000000011bb92bd6579f73b00000000000000005fc086bddc2fef3b00000000000000000b3181bdfa3e093c000000000000000020547dbd8fd20a3c0000000000000000049c7dbd1d8e1c3c0000000000000000005d6fbd0ea02c3c00000000000000005f9928bb59c42d3c7df800bdf9db773d06dc4bbb770f663c687cd8bc094e6d3d623236bbfcd34e3c1e25e9bcf59f5d3d997b24bb7d76463c72a1c8bce3894d3d8c111abb434c3c3c32bbcbbc3232443ded4a08bb4ebf2f3cc0a5aabc51bc213d0d8bd0baa3d72d3cb222ccbc36a0223d5f2119bbfd490b3c6dc27dbcd4f5ed3c459ea4ba2771ec3b8f6c90bc1e03fc3c4f7b59bd0a66b13c9f3b3dbb0ef1c23ba6d169bde5eed33cf37c6cbbb6c6333c6cff4dbddb66b53cab4346bbe48f0f3cb58443bd33c8b43c09798dbbdb09643cbf413ebd14d3aa3cf98f70bb56ca493cc8272ebd07a9a23ceec15abb375b653c4d232dbd6df39d3c7de79dbb94c46c3cd57a09bdb3d1813c764c7fbb8c5b853c589b05bd8b7f823cdd0d65bbf335663c89a667bdfae5283d08c983bd559d653c127ba0bd3f62623ccb9486bd0a8f6b3c5af198bd3a60493cad9d87bd0e656d3c410ba9bd27c4093c02b889bda8b4663ccdb997bd9435ba3cae8182bd4bd1663cd26a88bde185d83ced0f76bdc3a0703c573e5ebd9385253d2b7767bdd6eb823c32d63bbdff17463d29f64cbdca987d3c147f12bddbed703d1af838bdbab85f3cb02f143b99b8c9bcbfa16f3e66a7783fce30b9399158babcc2df523ee248733feba6863a4fff9ebc869b363e6ed94e3fe367f039a90d56bca0560c3ee25f353f8c784db9c4cb03bc8cb5bf3d54920f3f4a082cbbe34aa6bb48e95a3d9677da3ecfaf90baf0a20abba9b86e3cffe0923ef08425bb011c9b3b6e5be9bc622b1e3e5b1024bb216f8d3bcea15bbdce8c443d6c89b4bd83bd113c0000000000000000166dc8bd9839053c0000000000000000d3c3a1bd1d04093c0000000000000000092a9abd9c360d3c000000000000000063118cbd61161d3c00000000000000009d4987bdcfae1a3c00000000000000000fb682bdea98103c00000000000000001b3983bd7a993e3c0000000000000000e7226fbde0072e3c0000000000000000bd657fba3ba0ae3b352d27bcaa73053d48678cbac4cbf53a7081be3ba0d49d3ce02b35bafe698b3b2a452f3b00c7aa3c1eca82ba71df953b60f51a3bbdfe853c9e8dbeb99d71873b3e02d8380279743c674944bab43b613b7effd63a8f972f3cb51311bade6aff3a8193263bb4aada3b3ee215bab7445cba656bdc3b12bcab3a5e31ecb9d724dc3a8c1370b849fdb73ba7510abd2dd3873ce67a0dbbaf5ec83ba7c9a1bc15e66b3c1e65ddba6301c23b334e9abcfbad743c65714abb1ca2c03b21e0a9bcdb4a6a3cc15f18bb75fdc73b0675abbc9f92583c9ccd04bb3efb8a3b76d38bbce3f6493c6fa730bb58d8cf3b5c624dbcf7d41b3cc2880cbbc70ed43ba01e06bc1a35f93b4dfebaba4294b53baec158bcbef8fa3baffbc5ba0e06e03bd6134dbdfd06323b472d66bdc961443c824e51bd68a757bda7784dbd0c72223c3aec6fbd101b5cbd761d73bd645f1b3c8fb967bd49802dbd13c656bde4322a3c37c948bd1a76c5bc1d5052bd4f70273c3adc33bdb8f149bcb13640bdd8422b3ca59c03bdbcf0d9ba889124bd7b49283c010289bce60d0a3c2a0402bde6992d3cf86382bc718bf43ce433fbbcceda493c4f80933afe3e0bbca09e8f3dd499953f1d06a03ad6d016bc6fa17c3d35018e3f73d7d53ada3485bb0003563d200c793fbc7f883a25c896bb38af223d89114e3ffacd08ba3c22cfbaeeea9b3c0a32213f7637903ab597613aa565513b2a80eb3e0f1425ba415f6b3a5bba80bc793c943e5ebd8fba68eb093b0106f6bc4340fe3d844519bbdebbaa3b41ee47bd8cda8b3cd37ebfbde802173c00000000000000000b24b8bdf0fe113c0000000000000000556c94bdaa630a3c000000000000000075f783bda3cbf53b00000000000000009ffa68bdbe75ef3b00000000000000003a405cbdf6adfa3b00000000000000007a3d58bdc6e8123c0000000000000000ebe750bd3e38233c000000000000000004d15cbd8eee363c00000000000000000000000000000000000000000000000063d5b939b119deba6142853ceb8401bc2aee8e387d14debaedbea03c0f227bbc64f4a139c31f74ba791a733c647e47bc8081ed39d487d4b96fec503c09c670bc9f7c8439336e4fba5687633c20d280bc7462fb39929248bbdb36713cc93786bc289f3d3a58c973bb1432673cf00596bc0000000000000000000000000000000000000000000000000000000000000000dc0c103b00edb23b2bea44bac57f093beec4dc3beebe353b5405e739c09a593a2031703b9094913b6a93cab9e7c3003b671f793b95038e3b64aaa5ba1afdc23aed2bb33b02f8293b4170bc398dbc97b9bc22f73b9148003b611cc13733a38fb933451e3cae5f0fba64ab0e39deb2b7ba0000000000000000000000000000000000000000000000000000000000000000e3d202bdac1298bd3500fcbc0d21683bef02e4bcdb4e9fbdd81acfbcdc50423bb963ecbc723782bd6728eebc6d29a63a8572c5bc4f2648bd4b6dd2bcc21b023baa0892bce67220bddabebcbc8464233b19a917bc5c30efbc77038ebc35da123ba8e7e1ba9ab354bce6b949bcf3a68e3b000000000000000000000000000000000000000000000000000000000000803f6aad6f3a71598d3b2fbe4ebd4496953f306285b8adb0283be5db0ebd0ef77c3f7a5597392e31353b7b2fffbc5680503fa728c23a9ea62e3bea30f0bc72d9223f719729ba99860b3b7540efbc8c38eb3e7eae933ab667da3aa184d9bce9138e3e0b5c7b3a38bf833b4a9a09bda9b4ea3d000000000000000000000000000000000000000000000000000000000000000093b05dbdfc5bbf3b0000000000000000e0f107bd31b4a63b0000000000000000a98adebc3faa903b000000000000000060f7bebccf95983b0000000000000000f451b9bc3e3f663b00000000000000005c7dadbc8c0a863b0000000000000000ac55ebbc4842943b00000000000000000000000000000000000000000000000000000000000000000000000000000000012656bc698a563c9f442d3db3671f3c345606bc3552633c9774313d64f7463c086300bcb467a63cffb8173d73492b3c476bb1bb593e8d3c6b45fa3c12cd3b3c94e188bbe1f5513c6b31c23c4787f23b52756abb6d6f473c2cb66e3c9395873bd672b2ba5c7ea63b99e8a33b4507e13a0000000000000000000000000000000000000000000000000000000000000000a02dd3baf857a4bb9d42f33937a4ed3c1c4100bb665e46bbeb1088bbc214733c7b19db3a6d666fbb74a2c4bbd5778b3b56526a3b3c7d0abb88702ebcf9e47a3b9d7c593a6a4d303ad77931bc4080cfbadb4b26b932341b3a10fd1bbcbb5970bb0625b939874e1b3b7c4030bc944d99380000000000000000000000000000000000000000000000000000000000000000251c80be769b7f3be1c2263cf9bd13bbf7ae70be1c9027bc7a2abd3b7c7d1bb8bb5b5abe2e0dcabc24a5cc3be3fe6bba04af32be7e42d5bc2a99683bcd91d0ba3164eebdc785bfbc42329e39e7d5dcba66c180bdeb19a8bcb177a938bf49b237d3722fbcbd5c14bc230403bb59a0ebba0000000000000000000000000000000000000000000000000000803f00000000a095c43c513f05be160bae3fbfcbeebd0468803c77229fbd0a3f903f7bab82bda512523cbc246fbd386e723f2fa239bdd76f353c179d13bd6ad1343f3a3be0bcf6a72f3cebc157bc8a27e83e274f05bc5b5d863bd64a233c0302653e4c2d013c61b0ae3b6a77b43c1fdf9cbb04d12a3c0000000000000000000000000000000000000000000000000000000000000000660b933c0ec303bc000000000000000077fa073c2f47a9bb0000000000000000668ab73bbc9299bb000000000000000083978b3b0b1eb6bb0000000000000000e9d5453b3d3a36bb0000000000000000705dc53a98c882bb000000000000000061c9bf3ba8dfc5bb000000000000000000000000000000000000000000000000b83e2dbc96fe0a3c9b3aa53c2c49d93b822c5cbcaaad193c7d9a2b3d5ec0d13bba850bbce239793c34523e3dffe2433c186212bc9c5d8d3c28f1313d632e483c851acfbb9b658f3ce11c0d3d855c123c8a3e7bbbd1aa543c62ffe73c7f6dfc3b6c9bc9bba7733c3c7ff5863c6fa9423b403761bbd536af3b36ca193cb4a802ba5985aebbfd46c43a680f073b92ee2abb0209c9bbd10721ba395fb93b9d4ec73c6fd0c5bb25a3f4b97b6683b9e290fc3c4dce17bbe3cc36bb13b254b82522753c256026b9c49304ba124993bb2696363cc5c3183a72fbbb3aeb7b01bcdb8f563b31072fba488c1b3b4b5832bcd42b15bbc354f83a18f3d83aaab71bbc734666bb44ad33b9a86d0f3bb41011bc084b95bbebe025bbba3a613bf38ebcbb02fe4a3b2db41ebe58159c3c585887bbc9efd539bf5852be653b0d3c428002bcd4f4023c4b1377be547c6fbcf26999bb05d0c13b75bf60be3b31d4bcc5b69fbb072daa3b5f352fbe0cf3e1bc706413bc7178b73bbdefedbd9f12febc6efaf3bb622a9a3b9cca67bd50fcc0bc916a09bcb62c913b631a54bc7aa597bc4fa6b0bb4cda943b1841a03c0240133b1f9628bb6e54ec3a7280323dfba767be3c12ae3f33fcb3bbcd571a3d34ba3cbeb1e0993f87a30f3d1fb3fd3cd5c521be66c98e3fa31b203d090cd13c1d1cfabda2a6683f823f4d3dfc8db63c099da8bd42bf2b3f50536c3d6db28f3c307523bdf7b3d73e0829853dfff3713c186a49bc0832453e34486f3d615aeb3b47d5813c4fcb9b3cf4c05a3daca7103cc9cd9d3c02f610be9a3aa13c35e9a5bba280c9ba000000000000000083e777bc020347bb00000000000000004a8987bcfa1ccfba00000000000000005457a6bc2a5c97ba00000000000000000d0695bc7aaac9b900000000000000001e5c99bcccedd6b90000000000000000a7c593bc6d3f493a0000000000000000838c98bc184b043b0000000000000000dd64e6bbd7f19aba0000000000000000425880bbcf96073be3aa853c6e58f53b09610ebc2ecbd13bde07183d65803b3ca1860cbcc0113a3c9cb1253d63c7843c8771f6bb82626d3c1778213d35436a3c705fcebb60434e3cae0bfe3c38a4413c192e0dbc2bef4c3cfe57d63ce220b33b1d8b01bccd8b2b3c9435853c1606473bbd49eebba413a03b8e55123ce2c4b3ba016fcbbb8656183a6d07ad3b45b2b9bb376b2ebc98308b3b8f0b003cdfeeac3be741ebbb392afc3a3409f93b4069463c15779dbbf541323bcc608a3b1c5bfa3be9ee06bad91a8b3add62b33aacd3623a9839a938f783863bceffb1bab6a69bba4f57083bbebcac3b325e80bb07f827bb700f9e3a723e263bb817b4bbc49210bb8a19b43ad9ed223bfb6adcbb3bf219ba862bc4b9e47f1f3b1f6b09bb2561883a27adc6bdc37b993c45ceb2bc3bb5293c5abb36be27743abcd1f79bbc5472413cfb004cbea3120cbd1b2b87bcb224653ce17439be04d336bd9b5fa3bc64566c3c880e10be6dea37bd377a9cbc75fa2c3c6962c0bda05e28bd94fa95bc0a33373cdcfb3abd6b46efbc4c2179bce287253c3d3503bc35148cbc806927bc36edf43bfc345b3cc1ed733b5a5cbcbb69d7ca3b5b791a3d777056beae4f8e3f7b8d543e222f2c3d6b5b60be579e8d3f26f8553e9b0c043dacbe38bebf947b3fb609523edf3df23c7bfd10be5c374c3ff308493ea31db83c4d93cfbdc6e5143f1e77333ee7c1b03c1d677ebd0d63b83e6e9b1e3e19d98d3cddf9f8bcf3d6243ea881e93d75e3783ceb9f01bc5040da3b1c0c943d1d05313cdfc4643b56adbcbd35e8fa3c302651bda338e73b00000000000000003b226dbdb3ebf23b0000000000000000adec68bdd2b8ca3b00000000000000004f4f58bd2f60ba3b00000000000000008a0347bddff3da3b0000000000000000b1d83abd6e8dba3b0000000000000000516119bd4fdef93b0000000000000000d89ff8bce0d8f13b0000000000000000407bb1bc4950a33b000000000000000063766f3a8c20bcbb54e7a43c7fa2213cf41597bb6cdf04bb23de0a3d90c17f3c581836bb8cab6a3bb7cb1d3db3aca73c509ba3bb178ccc3b4a7b0b3d5aad9d3c77faadbb35c8e83b233dee3c9c22713c39cabbbba9dad13b3fdcbe3c2afce93be0fdb0bba829a03b70b5913c13000e3b8441eebb62d9033bb99a033c482488bbac908cbb20c8d3ba9b5b8a3b468fd5bb142f68bce49dc13bac89143cf117bdbba97ce3bb39729b3bb2d3003ccf79953a5f008fbb5f583f3b2a28b53be13cc1ba49c0fe3836c6953befc5823b9db3aabb97f4f73915d1be3bd9ca4b3a7b5d72bb00bf263ba0ed683be1b459ba26da11bcd9cb6f3b94d6b53a99bc3abbc3b6fcbb5016403b49060e3b74fe84ba6b734fbb85ac0ebb37f0f63a0e631e3a06f779bac1ee9ebd90a6043c00fbe2bc53387f3ccc4306bebf1228bd7852e1bc9b0c8b3c0a1a1abec58a87bd4a80e3bc7d84993cba4d07be910d94bdcb06f9bcaad7973c2c51d8bda8558cbd0e2df3bc6cdf903c2cd688bdc2d159bddb3ae0bc71aa883cadf7f2bc03cf1bbdc1a6b0bce1af7a3c7e2969bb76a449bc220245bc9cee143caf35853c8bc8d33b92b1a4bb596a053cc266ee3c795b46be7f976d3fb8c0de3ed17a103d607e49be725a653f0b6be43ea5f5dd3c096428be913d4a3f9c89d83eabf1bc3c17ca03be8f7a223f84a6bf3e458ba73c343ec4bd9dceec3e03f3a23e5a838f3c87e879bd11ce933e48a97d3e8fae833c39250dbd08b2053e36f0293e3d03573c41de82bc61a9323c8e52af3db1784f3c8e7456bc015e8fbd7d20a03c00a2d8bd82458e3c000000000000000068d0e7bdb0fea33c0000000000000000458fdbbd19c7853c00000000000000001b5dc2bdc37c803c00000000000000001747a9bd0b20433c00000000000000003f3893bdb0234f3c0000000000000000f36167bdf5ae6c3c0000000000000000b2e030bd8174503c00000000000000000a7606bdd0622e3c0000000000000000802c473aeedd25bc6420973c8d8b7b3c568f31ba491c89bb9017ed3ca7cbac3cb65d01bbc42816bb9e93073dfe47c93cd2a826bb7e06073b6833033db641b83cba329dba04fd553bd18fc33c79bb503c0cbb2fbb71219f3b0b57b43c9a750a3c3c06a9bb0d66ae3bd54e403c5570073ba9826bbb3beb0d39a5f2183ce93c98bbd54945bb55132bbb6f720d3b001a04bc0fb32fbc6648c93b8be9e13bef3ef5bbe23dc5bb6a1f573b7401f63b2261cdbbb07247b93798a33be0a6c03bf26704bc5799713b26d5623bcdca0d3b7d93ddbb6314423bf519de3bbb87e739c62f17bc08bd9b3b0e01193b50b271ba4e7123bc9ac08c3b0e77833a11723aba47fb11bc02db423b0a4659baf03f8f373ab3cabbf357413b4d5818ba1dd7b6392e9169ba7fe93cbd15ed7cbc22180abda973853ca871aebdd4c799bd9a4cf2bc2e71af3c5f30cabd5f2ecdbda27107bdfae7a23c49f0bcbd805cdfbdd7f50fbdd056b73cbd5684bd18d9a9bd1a2d19bd5400903c5a1241bd79f994bd5a2cd3bc773d873c7d0396bc67f91abded6aacbceda0603c2882a53a431b58bc5a7253bccd9e3a3ceffc613c2ed0253cf6ee59bbeb07ba3b0b1cb33c45231ebe23ce2e3f1924313fa060c13c3fcf1ebe2448273f752d313f874eab3c05a701be34cf113f58e6243f4447803ca993d0bde596e93e63e7103f0f1e593c995197bd6056a93e379fe23e289c823c74895abda26e5a3e7b37aa3e3f5c493c387508bd79cdd23ddc41473e1777623c43dcb6bc84138d3c5fb8b03d8f4b3a3c977c38bc40583ebd754f513afe261fbea2c6cb3c00000000000000006a1a26bebcc4d83c0000000000000000c3a615be53a3bd3c000000000000000017a507be48c8a23c000000000000000047e8ccbd8767853c00000000000000008655b8bd4b289c3c0000000000000000754f83bdb4f5773c00000000000000002f2f43bd7dbd8f3c0000000000000000605a19bd48c87b3c00000000000000006e4fb8b83c5535bc4b1d803c90cb5f3cecbea93af19647bc38e0b83cdf31d03cbac852bbf7caa1bb5c2fe93c2032ea3c674620bb5f2d33b9da19b83c6ea1e03c31020ebb2a691c3a0123af3cb98c953c133653bb3891653b6d84803cd32e483c937e84bb3c777e3b2b6a2c3ce0a7a03b444186bbea89413aaee2a63bd79d91bb7483e2ba9d3c32bbc875c13a54820cbc338fa7bbdd8a433bdf93ef3ba98417bc0939ee3aab44803a55f1023c5a400dbc23a8b73b3e5bff3a2b69963bbcb1bbbb0ec6303cf893d83af098443b0f4017bcdfac443c9b34a23ae2ed2e3b61ac32bc509e333cb7fa4339f0013c3a84ca26bcd71b0b3c6c9318bb4314dc3ab8c516bc983f0d3c8eab77bb3e016e3a30e6adbb45b99b3bde1976bb6c441d3b64e9d5ba7a2290bcae792abdb27c09bd24e2b83c3c2c1ebd30b5f2bd2df4d6bcccd2af3c027e55bd0f721bbefbad02bdc324ce3cc2b146bdccd716beab830cbd6c5aaf3cee2029bd0aaf00be80bcfebc97d6a33c300adabc1193b9bd820fd6bc2f1c7e3c2bc551bcedd353bd0e1e71bc7e13283ca864363ac1b991bc79c86cbb5c96d63bb38a5f3c342a443cc56b673a5bb8ca3b2f066d3c0806d7bde8cadc3e6d186f3f912f763ce120d8bd7433d13e90b66d3f10f22e3c9183b2bd9af7b23e19875c3f5ecc333cf25e89bdcd08903e329f3a3fee7f363cddcd63bddd625b3eab52133f45a71b3cb6482cbdfdad163e38f9c93ea9d8283ca8df03bd8ddcb03d4755603e7bb3193c535cc0bcfc3d003d00b2963d4d5de53bbbf47bbc521bb4bc089fb5bc6e1c48bed4520c3d0000000000000000bc8350be167a1a3d00000000000000008c983abe255af63c0000000000000000d1e51bbefbd1cf3c0000000000000000454403befc0cbf3c0000000000000000d7f9c3bd23beb13c0000000000000000e95c8dbd0566b13c000000000000000035ee38bd1199943c0000000000000000caac14bd9c9e963c0000000000000000b057823a278845bcd392353c300c6c3c8295ed3984ba3fbc31897e3cd531fe3c753140bb28d6b7bb648e9f3cfec80f3dcad23ebbe092f1bafba89f3cdef7fc3c7ce024bbdaf40dba390c893cdd90bc3c006416bab6c3e53a4bd1573cd4b67b3c6c3f59bb715cd93a8932113c829f903b61d64bbb26931e3a1005223b34764ebb64d95eba76ec60bb2f39253ac0c018bc13b4cbb7ec3c0cbbd1729e3bf02018bc26c81a3cae90a8bb29428c3b72a10fbc4f96603cbc95a6bbe717b83b0ea901bcca7f8a3cd7a780bb173d323ae33efcbba622813c832d44bbc866a63a7e0127bc7158723c3e86b3bbc284a0b8f59124bc131c3d3cffbfd5bb871d013b29150abcd792223cd983f0bb26692b3bb9e1f2bbca3dc13b95f5c9bb1c47e93a72419fbb6ea7213c5dc48ebdbf3c72bc5ca4843cdbb7e3b8fc1c28beef8364bc0ce1963c51c56dbcbbe746be8448bdbc2455a83cb2bb83bca9b63fbe167dd7bc1de7ac3c2e5a79bc9d161bbeaa63bebc7bef693c83ec81bc6122e2bd3d7e7fbc2310123cf6b0e8bb16eb6ebdad5a15bcc37bfd3b940d8fb81d367bbce4512d3ad42ff53a3f2c563ce304443c4ff3073c9e4f073b353b6a3bb5db5abd3d54523ecb0b8f3f8736da3b053056bd885c393ef4a3903f1e7f883b0e1e35bde39e1e3ea81f843f951faa3b8a8d13bd727d023eda9b5d3f54fd853ba354ebbc531bd53d320f293f43aaa33b0a39d9bc4acdb03db59de13ed699c13b45b9c2bcc17d813dcaf7673e7c1bfb3b76609cbcdc5f153da0c2673d635d923b868c76bc7bc5fb3b13a74fbd9ac756bebfc3213d0000000000000000d12e5fbeaada293d00000000000000001c7a42bea9760a3d0000000000000000998d21be5714d53c000000000000000076b9f6bd4417d03c00000000000000004f54b7bd8d85bc3c00000000000000001aec66bd11f7a93c0000000000000000022306bd3b179d3c0000000000000000dc5bafbc6b39683c0000000000000000f4d10a3b99df56bc790bd43b43b5ac3cceea0b3be41838bcfc8af43b14cc163db6a3febac30accbb67df423c1a10313d4db739bbb5f69cba1f404c3cf5642b3dca2e3fbadab1af3a4ea43b3c3635f23cf1d499baab78813bc3a50d3cc485943c9b738bbaafed1d3bcf33d83b548b0e3cdd39fe393faede3ab88f723b6cc208bb70b31b3abc9ac0ba8146dfbaf5770bbc61c1283cfa493bbc88972f3aff505139641d6d3c58fd55bc18988d3bdbcbccbbabb1a13cdfac14bc2ae5303ae6f428bbaed4a93c7850d3bb5d18e63a3534a9bbd136973c25f7a7bbd8eae3b97af6cfbb3dcb963c6046c3bb996126ba09270abcbbcf663c3215d4bb016831397f2ecfbbaa46113c27bd98bbbaaf053b35fcc9bb24eed93b175dfdbbdc109d3a85e7a5bb3532c83c2ed60cbeb9b8ed3ba968513c1707d13c2e504abeb2e5213c1b3f1c3cbd8bf93b5ea16fbedec1e7bb6efb363cd62a343b1b6964becf935abca694043cf34a36bb106f37be9eb480bc6020b03b394edabb3f3001be47e52fbc9f4e073b5334ccbb3fb889bd66bbcbbba92a63bacf2992bb037895bc5f26f93a6542aebbbc260c3c41ed8c3c1109603c122cc4bb8b3661bbc0e4cabb17e394bb4b53ae3f2b3513bb48fa3fbcbfb4ac3c6b409b3fc9ce01ba7ccf0dbc7ffd603cdd53903f93fb52ba9f850fbce6ab703cc9c36f3f8a219439335dfebb9e23c13c5582333fdb1d5d3ba6cc27bceef70f3d4ebae93e811e753b64eb51bc1d84173dbe32633e9848933ba92683bc60a8293d9cf3273de3d7293be52e01bc3645bf3cc57ff9bda8b967bea50c303d00000000000000007f133abee0ad0c3d0000000000000000ca8022be7a45df3c0000000000000000a10501be8c86b33c0000000000000000b445b7bdab71943c00000000000000005acb66bd96c4833c00000000000000008f43e3bccdf1453c0000000000000000737aed3a7663d63b00000000000000004819233aca64453c00000000000000000000000000000000000000000000000062b44dbaebfcf2bb9cd6b73b60b3333d69c9bbb82b3465bbc49cf33bef212f3df20128bbc1abff3a5594223cd1d8173da142f5bae6a64c3b7437e43be22efc3c400a453955a6633b3f62ee3becdca63c4056b6b856d54d3bf6f1743baaea2e3ca1c9133bd1cb173bb6a4663ab52c16bb0000000000000000000000000000000000000000000000000000000000000000cd42923c954760bc748dddb97a5d863b301f913c1dcd08bcadd08fba21a33a3bc4caa23c1fd992bb3d6539bb2b852a3bc813913cd2a0b8bb22d5d9ba617332bb6ee3473c6efd48bba205cdba8b8bdeba2b36223ccc7b47bb41ac4dba40af9cbb3169e23b32a595bb669cefbab14702bc00000000000000000000000000000000000000000000000000000000000000009768c33c8a2081bedac3813c3f8c7d3bd271503cc22a72be2ef2b8b963daf43ac7948f3ac9ca64be087c58bc655aa3b92bd237baa22c39beec1542bcd8f3cdba504fb8bb1c47fabd043b13bcc05f91bbe1d296bb9a7987bdbf57f0bb54a8d5bb69dac5b95c3f48bcd959ad3ba20be0bb000000000000000000000000000000000000000000000000000000000000803f0a92c9bb6d36b73c9083f8bd9df2ad3fde9275bb94cb593ca11d9bbdc3108f3fff4b12bb0f6e153cab1970bd8252703fd4daa6ba4461333c594918bd856c323f36939dbab412a43bc4d67abcb98ce23ec956543aa8b8723a48d6083cfde4583ef3ab003b7fdcee3a7882b93c67bb2fbc00000000000000000000000000000000000000000000000000000000000000000eb0fdbd13cb933c0000000000000000290f8fbddd731c3c0000000000000000a05450bdc331043c0000000000000000c821e1bc767b943b0000000000000000948e1bbc9a85603b00000000000000007bf62e3c667f163b0000000000000000fc54a83c0bd683ba00000000000000000000000000000000000000000000000000000000000000000000000000000000894f33bc3442883b15c91c3de29e013c8683ccbba6d7663b8020183d2b55113ce258cdbb5ddda13bd2d9023df6081a3cbf76a7bb4b29893b7ba4c13c7a57293ca9e338bbdb35943b8e206e3c32c80b3c52b049bb3742503b1e61e43b0969c33b172937bbeb4d4c3bc2fc2dbbce50003c0000000000000000000000000000000000000000000000000000000000000000d1fd94bbb2c933bb2da9803ab92bec3cdbe999bbd9f327bbe49690baea88b83ceeeb3ebb43db58bbaa8592b9055e863c3030f0ba505262bbe0d606bb36674c3c87f90cbb031034bbb4f373bb774ffb3b5a260abbab8f48bb1d3d44bb2e416d3bb3daf9ba605860bbe1c2adbb815e4c3b00000000000000000000000000000000000000000000000000000000000000006e886bbef3fb3c3b3155283ca1f5023b2e5561bec00f89ba2e4a2e3c3f76313bdda24ebe347907bc0b3b2c3c5cf4393bfa4327bebecd21bc1c060e3cef71143bba47e7bd181400bc0ccd043ced099d3a0d9c7fbdbefe5ebbddd3a43b4a05b33aa8e960bc40dda9ba6d9d8c3bf18a4e390000000000000000000000000000000000000000000000000000803f000000009553943c9d4bfdbdcbd5ae3ffb39e9bd73ea553cef47a7bd2a75903fc0848ebdf4b2123c9f5f81bdabc86f3f57c757bdaf08053c11e832bdd6a0333f29d81bbd3800f63be8ecc0bc596de73e756bb2bc333c8f3b2d0cbbb82139623e48010abc536e873b28236e3cba2202bbb371a4bb00000000000000000000000000000000000000000000000000000000000000009885893c373d05bc00000000000000002be22d3cb19bccbb0000000000000000ef41003c5187b5bb0000000000000000dbb7193c7961a0bb0000000000000000711de63b93645fbb00000000000000003f6ee03bfd2943bb0000000000000000b7f4413c2d5a76bb00000000000000000000000000000000000000000000000005d079bc64260a3ced4b883c2697543cad3274bca9416f3b4d6f1e3d32dd073c10e557bc4c9fca3bbc432e3d1ddb0b3cb58434bc1d31cf3b4210143d6efa233c355ffbbbb976853bed4fe73cb82e2d3c79b1fabb208b943b3707973ca2f7d63b0bbeebbb91baa03bda3b153ccdd8253b29b0e8bb237fcc3bfee81c3b6ddf26bb2aae18bc3e5fb23bce5757badd4da9ba178546bcdd0bf03abfec6e3b8001ea3c606856bcb0bcb93aadf19b3a9d6a313de34424bcb5350b3afcbe083b2fc3fa3cc9c917bcab25083aa7a813b9d84cd73c6dea27bce812513aa7443fbb3565a03c993c06bcef244c3973d23bbb51703c3c4f1e66bbbf70bfb9ee2272bbee8ba73b114f8ebb7d30723906c95fbb721b59bb260969bb26ddd7ba5a39a2bba5bfb83b29d22fbe15ac053dd77a0cbcc7fddf3b92c46fbeb9dc233d8c3726bc6b5a383caa537ebe4d9ac53c36d1edbb71cf343cc7a068be7e4d9a3cd64dc9bb56132b3c4c9a38beef11603ca83199bbf0db293c2080fbbd76a95c3c74eb98bb14b3203c4efe86bdf7ef603c9f19cabb9f26f93b83c78cbc6286993c0bc4aebbd899e13bea3f0c3b15d3c13c39a76ebbe063883bf85c133d665c46be96f1ae3f745419bcf640073d2ff12ebe809b9c3feb74943c3cf0d63cf1bd0ebecc738b3f5566fc3cedeea83c0938d7bdd7cf603f6712243de096993cc0b391bdafed213f5943513d34b4513c78d514bd4f44c53ea6b16c3db734263ce6fbf7bb0542233ed83b5e3d2b318b3bd893c43c04c4d3bc1647643d0f9ec33bb861d93c9ced2abe64f0cc3c61b9d6bb1d98d6ba0000000000000000871d49bcf8cadbba0000000000000000394478bc95cd9fba0000000000000000f6cb6dbc80fb67ba00000000000000007a9d80bc27e7bcba0000000000000000736480bcc71b25ba00000000000000007ca371bc817a663a00000000000000009c218cbc74935f3a0000000000000000e98cb8bb33b22b3a0000000000000000a48c45bcaabaaf3bfa4d203cb1d6893c280483bcd7a10e3c5fffe33c8039523c6e586abca66fe63b8450f93c32a38a3c5c8445bc643dda3bf337003d2249233c697e22bc2341d53b6eadb33cf15d2e3c31182cbc6e43a73bb0ce923cbd1f4c3be6a416bc6d019c3bb60c413ca8ba74b910a223bcae37a43b7bba1e3c42390abc605bfcbb4946233bf892bc3b6728f0bb0cd0bebc171e0c3c9768b43bf221ac3cc44993bcbbefda3b5952363b7a64f43cbbf789bc45a2bb3b8e9c293bc981de3c6f895ebc3e5c893bc9b22e3b2f77a63cd51b5bbc6f45b33bce2619ba817f753c944909bca9768e3b30948dbad665323cf7ee02bc06a7713b9ded0bbb25aadc3b1de839bb5703fc3a363f0abb4d5b283b0cfef2bb4d988b3ba3c452bb6eadee3a1c2e12be540a743dff4705bd537c7a3c5a0159be59bc3b3d07fbdfbcc0538e3c092b63be8508c03c468ec9bcf3f2963cb5b44abed234a53cd995a9bc2e10943cae061fbe8117863cef42a1bc7e10893c58a0e2bd3c999e3c754aacbc7190813c2cbb84bd7736c13c85e087bc05996b3cfd6de6bc045f083db06b8fbc8e40583ce5bf24bc8b573c3df2c686bc0d8f423c1d51013dbcba2cbec2938c3f25b1473e1adc103d01bf32be3e13893f7f0c463ecf0ee93c701d10bea4326c3f7eb14f3e64d4bd3c9d7fdebd70d1393f7241483ecedc963c42ce99bdbc6f023f557a373e3e52883ccb0532bd28a3963e2560263e05a1563c343694bc7b32db3d6c92053e7332073ce941fe3bf77644bdb113c33d89d7e23b4bd1883c40090ebe98605f3dd3ba31bdb171d43b00000000000000005c6550bd6569e43b00000000000000000d864bbd2efcb13b0000000000000000a7c84ebd502fc63b00000000000000001afc35bd0d17893b00000000000000008b9130bd2d41ce3b0000000000000000b58225bdfa12b53b0000000000000000cea816bd3d1bc83b0000000000000000d194edbcdc228d3b000000000000000045ff3bbcb425823b40a9de3b71ddad3ce60756bc8387453b330dcf3ca6d75c3ca07d37bcdf838f3b10e0dd3c1d0b693ca4a633bc637e3f3bcaaece3c08f6313c16d40dbc44a78c3a6525cc3c3a1ee93b1a5009bc87066d3bd9ea913ca4861bbbd3dc0ebc4fd9503afbb4863c410201bc173d09bc6986043bc2b07a3c084775bca7c8f9bbf418a339b4191c3cf5fd67bc7bdefcbca786583c94eeae3b67303f3ccfe29cbc8504153c21188f3b77f3c43c73e599bc9c771b3c96be273b7b18a43c71446abc707d1a3c28c7613be3887b3ca85c43bc38af173c5e21f8b9bc055d3cf57cd9bb181bc33bc54a2fba4349f63bea92b8bbc724c03bf44082ba44c4ad3b8f6795ba72096f3b08cd1bbbfa5d943a10040cbc2bf7003cc36730ba8ddb6e3ba0cb02bea2648b3d64ed42bddc3ebd3c9dbc36bebe2d0c3d62a733bd5f60d43c548c39be214b7e3cbdef1cbd3827da3c5cf720be5094e33b4eac16bd53abd43c57df04be837fb73be4e20ebd55bdcf3c2744b1bd545f6c3cf06507bd851ecc3c81fb61bdbb79e83ce597e2bc5ba2b03c46e8dcbc16a9283d63ccdabc9bfea33cc37348bce76a7a3df229cebc29e68f3c8fbbd93c883d14becafc603fed70d63e34aee83cbaed16bead90553fc54dde3eea89bd3ca91cf4bd48a0343f1b06d73e0bc4873ca943b7bdf5820a3f9520c53edbef893c8ca788bdf332bd3e7ff4af3e4e024c3c88b220bd5ea34f3efd2d8f3e9f82153cdf0f7ebc73bd693d2b55543eb355033c4f51053b417b6fbd9223093e9e18c23b7ef3cc3b55c0fabd5da9883d01cda9bd680e6a3c00000000000000005974c5bd07db6e3c0000000000000000a324c2bd5ae14a3c0000000000000000fca8b6bd0843493c0000000000000000e095a9bdf41c2d3c00000000000000000f159ebd6bba233c00000000000000006a2691bda89c363c00000000000000001b5074bd1932373c000000000000000069d34ebdf144283c0000000000000000864beebb675c573a5409fd3b77af923c58441bbc9eb613b834e5873caf568f3c0a4d1ebc416c8e3aa7899b3c54ff953cd65ce5bb8fd888baff63c53c72ad2d3c5f006ebb58f51b3a2854403c2033253cac05dfbbbb50afbae5ea963c3eeaacba177adcbbe59fc73ad7dd6f3cb0860bbc2a4bbebb9cbd923a96e0443c75608fbc0501bebbd53e29bad39e653c77a093bc001005bd27e7873cb000633b2b87073ca901b5bcddda673c7d45633b56fa703cc2a991bca3d3553c62dd473bc9483e3c5e775abc274b523ce6ab513ae289363c6f5d70bc6536513c531d80ba3915db3b3a7bddbb8d302a3ca9f0f7ba84a0c93b101186bbf2a10d3ca70ee039c60b153ba53a24bb03fed73bb779c6bae4cf83b9c09695bbd472033ca9d22ebb65e5ea39f8dcd1bd4d8b803d9c1675bd53e6e53ca64c08be04c5763c99185ebdb3ecfb3c781205be70ca2fbc21714ebdb3dc003dbbe1f4bd974d99bcd4923fbd9bb4f63cb4b6b6bd1c02123b90e245bd5c6fe03c2e388cbddefc58b9c85726bd4d44ea3cdb252ebd8396d93c138c13bd1f87c53ce38aa4bc6d922d3dcde700bd4b83b23c0b2028bc3e217e3d42d7ffbc23f99b3cc085a03c50d4e6bd3d4f213f542f2b3f12c59f3c075fdebd5420153ff3232e3fbd3d873c9210b3bd960cf63e7aeb233f86d7683cf62f8ebd55d8b83eee45153fbb54273c0cd24cbde8737b3e796dee3e89a3253ce0b1ffbc356cfc3d6ee6c43e5c93d43bd47197bcd7acf13c0ce3833e1956aa3b993c76bbcc8459bd9f341d3e87a1983b4c7c5b3b9c73d4bd1833913d93d8ffbd3ca2a93c000000000000000060e50abed981b53c0000000000000000787204be18f69b3c0000000000000000b31effbdc943943c0000000000000000a46fcebd6a307c3c0000000000000000cdc9d7bd58af943c00000000000000008b08b4bdfd9a7b3c0000000000000000d1e99cbdb3f48f3c00000000000000008a3889bdc1678f3c000000000000000076d9e6bbdf030fbbb012fb3b00b04d3cad35d3bb631f36bb33d47a3ca3085e3c7075c9bb755093bae91e8d3cb03f8a3ce03ad0bb8b52aaba9ee8833ca37d443c0aa647bb54fd05bbe471923c202d813b84a870bbc860a6baf6217e3cdd7b35bbd4e3cdbb7c0db439e05d813cd27c6cbc564c74bb40eb023a564a913c03e9b0bc419a8bbb2291a9ba6156493c8052acbc7047bfbcad807c3cd772993b539ea33b32b0f2bbf79eef3b5d697f3b7e52013cf595b0bb33cdd33b6851943b4048923b3b340fbbef89fa3b13369f3b2fe0993ba3d9ea3acf97d33b271e8b39612c483b03486b3bb26aad3b1730053b65534dba51c48b3bceaf8d3b7b93173be66c2eb9de02f83b7bd81f3a396cf039576853bb6b1d133a9241ab3b1b310e3b3bae50bb5aeb89bdf5650c3d109d83bdb5a0003d3bd9a1bdf15013bda1e954bd2dd1083dd77a9ebdca1f85bdbbdf49bdbda6053d8c0289bd819b82bddc103dbd692a083dc42268bde22453bda48c33bdfaf2fa3c1a6c1fbdfeb7e1bc651722bd1a2cd33c0dd3c9bc84de1c3ba57003bd93ddc33c3c4554bc1d8ae83c07edb9bcb96d9c3cf25020baed034d3d494ed1bca845943c823a4a3c3ece9abdb354c73ebb8f6a3f504b533c76c799bd676ab23e92326d3fafb2313c747674bd71e28e3e47965c3f587e043c238944bd6334523e34b93f3ff51bc93b03220fbd836d053e679f1d3f9e06963b0752bcbc46258d3d80dae63e50e3aa3bf69a83bc000d3d3c76ee933ed65b2f3b9dd0dcbb7d2404bd9f64103ee0e1ac3a016d31bb215d90bd18963f3d5f4324bebca4ca3c00000000000000003d4537be1eb3f03c0000000000000000918b28be5408d33c0000000000000000ad3c1bbed695b33c000000000000000046f40bbec5c2b33c0000000000000000e792efbda720b63c0000000000000000a27ad1bd2484ab3c0000000000000000e24cb2bddf4fab3c0000000000000000662496bdc834a93c0000000000000000567f78bbf76eb0bb6df8043c4026033c13a28eba454fafbb16561c3c9c5a543c139138bb79725ebb74c73a3cd1d1853c99ad4dba029ba5bb16f0413c650f7b3cad8e11b8925b29bba0e13b3cdfd3ff3bbb2b5ab905dc2ebbad006a3ced3d4abb2591b2baa62f9eba2192703ce3031fbc5450ecbadee63438edd8643c892c97bc814538ba1d16dbba2a282e3c030fa9bc7166b3bb85ad943bab21813be3769e3a3150fb3b23c27e394c1d643beaa5aeb8bb86263ce1128e3928a9663b745605395c80343cceaff13950a30f3b10f7bd393195453cc2be4b3abceec63a662e0ebbf00c633ca2c39337e36b073b61152cbbac4a483cad54f8bae2fe953a415617bbbb7c5e3c7b0188bb7a342e3ba3c385bbbfae0a3cbc42c2b86353193934d543bb1527d1bc2b2a95bc88913fbdff33e83ce53aadbc6effd0bd764313bd7cd3e63cd840cebc6d6204be52cb13bd4868f23c2f4bb3bc512802bea644f9bc4546dc3cd0dc9fbcd91ccabd30b800bd8120c53c0ec47ebc43ea8dbd8dffc0bcb3a4aa3c277727bc27d3f8bc5b038abc375c813c923e6ebbb4861db9f50349bc0bd5423c72e7913ba488003ddca429bc05bf193cee58b73b38b41fbd8c1d343e1e47903f1ae09a3b745317bdae650e3e806e913f7399363bf9faf2bc0690de3d7ecc843fc105c93a648fc9bcfbee993d8e31633fbc977e3ac48f94bc23da4b3d74e0313fa0ea83b8361f6cbc3e0ee93c7364fb3efd52483901ff2cbc423a013c6528923e6522173a9cb915bc2ead89bbcf10df3dfe4f64ba23a472bbe707d0bc841bc1bb98573bbea525f73c000000000000000041f54cbe06d2023d0000000000000000d66039bec16ad83c000000000000000014d127be5b2dc93c000000000000000095a90dbec74ebc3c00000000000000009ff1f6bd8322b43c0000000000000000619dc7bd9cfcb73c0000000000000000e8e499bdf603b63c000000000000000044c27dbdb7f9a43c00000000000000009909a33ad04c94bb1a0ead3b0780043c5ffe263b4a01b4bb878b25bbd9d9ed3cd9b7433bc37cb0bb4270083b749efc3cf1c16a3b63b496bb6a667f3b92e3da3c8a69893b26a759bb79e8a23b29c3a23cafa22f3b629c6bbaa4399f3bd070313c337f073b4989dbb9b33b013c841af6baf1c6e63af9cde238c0fbe53ba9390dbc5b3d113bfddb8838094d023cffea8bbc62e43f3c1897a4bba095953add9844bb85fa623cd7b629bcaf796f3b8a63f2bb6038733c7ef9d0bb994ae43ae27075bb3b06863cf324aebbf1abc23a65d899bbf519703cd17e92bbef35cd38487594bb00e57f3ccd479abb99309c3947879abbaf4a593c37ad56bb2602b03a0f09a2bb8184393ca4bb80bbe6b78f3aa5ec5bbbe9ca4c3ca12d9bbb8a8d2dbad91ec3bb6dce303cc97ce0bdde6591bc5e1ea03c9a1fcf3c221035be1176873a9c51913c157a483cfb4f4bbe62bffebb5a11a23cd8b71b3c99ce40bee0da18bc1253903cb769b03b86131dbecaacf7bb408a753c738ef93a719be1bd6460cabb204b1a3c24f1a8ba7c5a6dbdf2b725bb5704a93bb673bcbb3fbe59bcaed0413bcfdedfba0c77fa3b887f443c4cb5a93bd69f74ba52fb19bb68f4efbb1dd953bc9621b03f386e68bad1c6debba802d6bbfc3c9f3f47ee52bb066f9fbbadca3abc90dd913f5f8b14bba45dbbbbe6a534bc8ad8723f64a7ddbaebfcbebb28d8a9bb5f38393f7da906bbceadb0bbd0a50e3b9896f73ea735e7ba8381bfbbbf180b3c9bfd803ee77c563992b823bc4b74bd3c9588523df7672dba0b9c97bb8e3a0e3ce40dcbbd32a753becf210a3d0000000000000000ecda3bbeadebf63c0000000000000000480a28be98c8bd3c0000000000000000a2c40cbe22eb9e3c000000000000000079c8e8bdba2f8a3c0000000000000000d762b5bd6847983c0000000000000000139d83bd01a68a3c00000000000000008b9807bdaeb17e3c0000000000000000556217bd40e29c3c000000000000000000000000000000000000000000000000c5ca983bc224eebb3fc0d0ba8725163df51cc23b7e93bdbb6f0551bb5aba293d9ea6923bdcfb79bb0c6bf9b94f7e0f3d41ce9e3bc02080bba2fdb5ba3a33e23cf0ae9a3b0b9976baaa1dbcbac7aaa13c013d863bd84a66bab49286bae709223c5cc0823be0daef3940c569b9dfe8c13a0000000000000000000000000000000000000000000000000000000000000000d5b4853c6d2b24bce90563b95ddd6eba8f9f653cc37301bc483798ba73cd4cbbd7418e3cbb75ddbb86f8bab9547f09bb7538833cfdc3a4bb3a8330b9c57b81bbe923453c21edffba3e8985baa5528ebb4763253cbfc22fbb2ebe3039934f6fbb9202d13b4f50f1ba7fbbb6ba801c9fbb0000000000000000000000000000000000000000000000000000000000000000a0ae003da00071be0199523c31fcce3b2301df3cc83869beada0533c90848e3b0a3ca63c5e195abee662cb3be461453b483b8f3c5cb330be8b12da3ae03c2a3a85fa563c3b9bfebdc1f8583b0ddd16bb8a06f63bac8e91bdb648813b1e399abb392de63b2e59dabc70830c3c48abfebb000000000000000000000000000000000000000000000000000000000000803f17f006bc59d6783c253aebbd0271ad3f9b40abbbaa671e3cde7599bd8fe78e3fff6fc3bb620e023ceb4780bde1f06d3fb76296bb385ed03bdd1932bd75f2303f028d6bbb561e6c3bc985cabc98cae43e01fd4cbb1e192d3a159b1bbbe3fc5a3e5b7cf3bab539af3ada1c4b3cac9ebfbb0000000000000000000000000000000000000000000000000000000000000000f36ef7bd8e775c3c000000000000000051f3a2bd15e9df3b0000000000000000905482bddd6e9b3b00000000000000006c1a3abd2c76c83b0000000000000000bf47eabcde40953b000000000000000028fe04bc3ed43d3b000000000000000072f98239aaddc83b000000000000000000000000000000000000000000000000000000000000000000000000000000005e122dbcacf6833c8ae9c3b917ff953c18c8ebbb8d6f3d3cb2309b3b05c3b93c9a4dc5bb98a7313c0b9678393bb6a83cfbecb8bb147f193cba1433bbcd43b23cecd99dbbaabef13b21c98abbe8b1b33c523981bb2b6d173bd044a6b9bc95933c85949fbb1fa45d3b3ddd05bc8328963c0000000000000000000000000000000000000000000000000000000000000000f3e9bb3bbbf9c6bb26a7f5ba22736c3c2788633a3dc095bb0f3f32bb4e417c3cfe80f83a47079bbb0021a6bb082d513c2a39d93af8f4a1bb404d57bb805d853cb8b3fb3937b29ebb4e49a9bb122e8e3c4570febadf784cbbd21ca2bb3834933cb60fd2b968cfbebbaf97abbbac42cd3c0000000000000000000000000000000000000000000000000000000000000000c2be27bee6911abd4fc02c3c34dbd93a05c42fbe6bd500bd9f9a0c3c26881b3b63b01dbebd351dbda4c3343c6b39f43a370005be283114bdca013c3c6a49cd3aadf8d2bd2b6f07bd49203d3c144c073bcd9a90bdcb2ab6bc98f82f3c75251c3ae1481bbd7087b3bc962c5e3c1965e83a0000000000000000000000000000000000000000000000000000803f000000009d642e3c6ad8b0bd7e5aa73faaaba7bde8e3e53b77a166bd39ee8b3f5d2c5dbdcc69ce3bf90d3cbd3105673f4d5526bd7ff1863bd48a1fbdac98313fddea17bd3a67303b2b91cfbc08cbf23e93e803bd6fb6f23a41c947bc3a59813e5385c6bc989cb9b98db782bb65cc613ded4b09bd0000000000000000000000000000000000000000000000000000000000000000c9b3a13bc3c085ba00000000000000005450603b9ba8a1ba000000000000000011202c3b404653ba000000000000000075dc373bd7450dba0000000000000000ed0e7e3baf95f0ba000000000000000076209b3bae3b3aba00000000000000003f22063cf17419bb000000000000000000000000000000000000000000000000c58f4cbc1136be3cef0a2ebd05cb733d0d7d41bc801a733cf00f1fbcf9068e3da25429bc55a14c3ca7e1c4bb7e9e7e3d9f8400bc7b093b3cb88907bca801813d0e7ef6bb8ed1023c9b2e09bc1e3b693d8f7ed1bb9eb0923bf3709dbbfbc1493d9f2fb8bbbeee203ac30622bb97cb293d6b0997bbc11667bb0ff2d83a2264053dc12bb1bbf6dc5e3bb3b788bc38490a3d4edee0bca6f81b3b3eccc8bb4932083da0102ebddb2e283c0edff6bb6943473dde7c20bd63af223c13b006bc000c2d3d4a351fbd8c69183ceee51dbc4b392b3d51d31ebdbda71a3cf54e16bc7337223dd2fb18bdfe3f343c81361ebc8f3a243d563212bd5dfc303cbec51fbca9761c3da3a30fbdb4ad473c20c11bbc6946123dc7c6edbce494bc3be1a01ebcdf19253d3a4a1abe17050fbcceba913b0adc853b63d880be97c15c3c5358603bee33c13b944d81bea72b873b12d9b43b5093903ba2ca70be4225e7baa115af3bc28ea03bc3a24ebe33acb13b2efd993b5a49a63b161d2ebe6851713c8cd3833b7a354a3b53d901be9453c63c2879823a07b9a33bdbdeb9bd513e273d541868bbccdf5e3bba8089bd2fbf0c3dff950b3b9f62ba3b2a0a2d3c4f18e2bd8a7ba63fd5d3e23ab665293c2a31cabde6389b3f99159c3cec240a3c5ab69abd81d5853fa27eec3c3a23a53b0ce55fbdb3f8563fa8290d3d32b4053becc50ebd46841d3f36300f3d590dd23a6d8f88bc849bc83ed930063d78ce2bba6b9fdd3a3a232f3e90cfeb3cc22d6abbd394e93ca1b404bd81ebe13cec96cabb9057d53c711803be5e7b0ebc998d17bb1eff9f3a00000000000000004eb044bbda75bbba00000000000000003b061cbb7a898fba0000000000000000c3d55abbf164d8ba0000000000000000864a14bb0231b0ba000000000000000095e721bb51300b390000000000000000069199b61f1a47bb0000000000000000b91a2dba17862fba0000000000000000ed06ac3be99455bb0000000000000000fb6610bca5c78d3ce1d078bd4250d63d47af1bbced7a653cd0f706bd684dca3d231c03bc1cb0533c40f2e7bc174ebb3ddbfad7bb6e23013cd7e993bca851ac3dffeda3bb41dab33b39508dbcec57993de44299bb26b1843a4b051bbc175d843d2c2686bba05e933a822c42bc842c623d073665bbb67e93bb878bb3393169233d9e292abbeb4040bb4a5238bc435f3a3d117a98bd994fa33cb50f20bc50c23e3d9a80a5bd593cc73c666d1ebca3794d3d09a89dbde791d03cf8db3cbc17f1413d5a9f9ebd754bd93cb3e03abcda943d3dc87296bd5f14d73c127f45bc597b343dabc293bddb2be83cd4d448bce4b02c3d1b0787bd18b7cf3c7a6b33bcb66b233d37cf82bd424ede3cb26c2dbc98d9163da79479bdf8bdcb3cb64017bcbc2c093dce9036be683a453d542e0ebb2e53ac3bea317bbe2726323de01a88ba0c37aa3b43937bbed411283d3b0c91bbcf6fcd3b210678be01ed3f3d8c4480bb15579c3bdb215cbe32de583d5d4d9abbb9e28a3bed8040be5c1c853d4bb713bc24a6b13b0d9019be3c85983dfd605bbc6f46ce3b6fc5fabd45a8bd3d5e7372bc9063c63b50ebd2bd4bb6d53d524894bc3027cd3bec5d573b242098bd84a9833f04ca293eef379a3b0b5294bd16497c3f9ff5283e53af443bf2bf57bd6e4f543f367b303ed6d78db94af709bd5647273fc12e273edb53b8ba3bcf85bc34efed3e0395153ee6dd67bbc2bae93a2cf78c3ee347023e52e0c4bb21af803cefbbd53dc769ce3d7569f9bb1c030e3d9b9281bd7fa09f3d951237bcc66d273d27221cbea201343df669e7bb99a640b800000000000000004f502bbc7d106eba000000000000000010db28bcfde93ebb000000000000000097ba1cbc748e8eba0000000000000000114e0dbc1c324fbb00000000000000007de2f5bb07a882bb0000000000000000766ae5bb0b3450bb0000000000000000199dbebbcdef69bb000000000000000080c25ebbe1b10cbb00000000000000008fc4c7bb8a2f2b3c28dc70bd24f3013e82b094bbfdfcc03b79b9d4bc3b30de3dfe8e95bb8f57cd3a34359abc6cb0c93d2df02bbb313912ba13d536bc2261af3dbcc4f8bab1c9e3ba7158a2bbf066933d36319dba5cc22cbb1daef1bafc00693d7e2ec8ba6cb3c8bbf893a43bb07a2d3de34a0cb97bcbe3bb76131c3c645ccb3ce7ebebbab84077bb1f0461bbcb7d1f3da1afdcbd9f3e153dbea70fbc10d81c3dee6cf4bd73753c3d8d8e2abc72913b3dae88e3bd0c3c363dbdca38bc42152e3d9729d9bd9e4f3c3d71e63bbccd21233d3035d5bd03d5413d1e9c4abc34bc0f3d216bc4bda2b0363d1d4b42bc75c6073d5a51b6bddd9f3f3d65633cbc1695e23ce989a9bd3f453d3d175233bcf71bd13c7e3f9fbd1413313d4f701fbc7d53d23c9a7e40bed723ca3d220b8ebc8013f13b3caa78be6af1ca3d77fb3abc659ea53b22af79be0c95c03dcab09abc375ac03b3e636ebeedb6c73d58feaebc9f48cb3b5c1c58be0f46de3dd485cabc6df3f33bb14837beb3cff43d0ffbdbbc43ccec3bd74d1cbeb2d7093e887311bd3ff9e43bb7bffdbd3eb81a3e8ab921bd77a7d53b4643e0bd2885203e73a320bd566e193cc2b844bbd01c3ebd07de463f12b6b73e9a7417bac52643bd5cfa383f479fbc3e7b9ed4ba3401eabcedf4183f6440b83ed4b69bbb11b74ebc5100e83ea604a93efd83bdbb065833391bf19a3ef8af973ee361debb69193e3c7aed1c3ee590813eb0f303bc96a8e23cc91d6e3cb7e34c3ecf0842bc5238223d9d57cfbd8f411b3ee5673cbcc79c2e3d60f72abe87bebf3d653c7fbcff71a7bb0000000000000000f9bcbabc164227bb00000000000000009c18afbcefb391bb0000000000000000f210b9bcf2c4acbb0000000000000000dde0aabc59ee9abb0000000000000000f34ab7bcb923babb000000000000000036b6a2bc84e1a4bb00000000000000008c21a7bce1fa8ebb0000000000000000f93b88bc3dc4efbb00000000000000009f894fbb59849c3b40cc31bdeb63013eca0223bbe8b282b906e89cbc60e2db3dfe13f8ba2c24b13a154a72bc6602bf3d655b3cba712a9cbbc2c48cb917d6953d3c4011bb4a901c3ab0df6fbceee59c3daee276b91a89d6bbd697323ccbc3313df62e7aba30aaa6bbf682a83b64fb103d4b5412ba91e905bc70d0913cc6f26c3ca63885baec44bbbb7f1b0a3ca72dc03cb88e05be7608593da24c24bc32d8093d5b3b07be658d6c3d7bc925bc5ed6043de757fbbd35b86f3ddfbb36bcd36bf33c4cf5f4bd80c0743db9b140bc1486da3c9ca2ddbd601d613d221c1bbca5dcc93cd299d4bdf7d3743d2dca3abc3c7c9f3c855fbfbdfef2653d27fb24bc5bf2a43cfb60b1bdf84d683d1f7d26bc90c3743cc613aabdfc81603d9dc70dbce4f27b3cfea03bbe32060f3e3402fdbcdff6c13bf32c5ebe9861063eec9509bd5495f93b514055be3ffef63db3fe2abd85bdf73b9d2d50be4b2b013e4ac428bd7b47e43b142e2dbe6eee093ec9ee52bd8af41e3cafd624beba94183efa205bbd69c71d3c0c4d07be28f3223ed31868bd33b91b3cc86ddebd0a5c343e35277ebdeb292c3ce73cc0bd0dbd3d3ecab081bda57a2c3c79c771bb06fde3bc2102093f1877143ff38286bbd160b6bc121df43e1578153f0c87afbbf66639bceec1c53e0c8c0c3f2961cebb636545b6cdd78d3e9302023f94230ebc22741d3c9271343e73ccd43ed7d5f4bb77e3a93c1c3d793da1e3bb3e2cc31dbce33ed03c8647c2bcdb3e8e3edb1337bcc9a8153d2aa7f8bd14d0553e6f293cbc1883223d2c0231beeb9e0b3e0bb401bd36b9a5bb0000000000000000c02319bde9b9a1bb0000000000000000affa10bd9f74d8bb00000000000000005b9e17bda927dcbb000000000000000020f200bdcfebe9bb0000000000000000848d13bd8b39d1bb000000000000000099531dbd4ad1acbb00000000000000005fe10cbd321ecabb0000000000000000a1e91abddb6ba0bb0000000000000000777e9db9f2c216bb47e4a1bcd99ec23df94091ba14529dbb2bd7043c03c0753d51ffeeb9062febbb700e6f3cf011493ddaf5bdb8757dc3bb188d8e3c9ec6153ddfea793a5ea9d4bbd7cda33ca615b63c9f6143baaf9eedbb65f5b93c9952093ce99331ba3eaeb2bba851b83c25a5c5bbd6fe94390e6f02bca829ce3c3dfdb7bc79a02a39e56ac1bb3958943c35abd4bad2d2fabd4e5e7d3de3cb16bcc5e1c63cef96efbde00d8b3d1d781dbc2f16bd3ce0d9d4bd0d8f833d18fe12bc316eaa3cdc5bc9bd28bf823df5e614bc4bb0893cbb77b9bdb392803d1af831bcea41553cd93ca3bdbb277d3d8375e1bb9cce183cfe988cbd5c6b6d3d79e9febbc32ae83b181c67bd693e6a3deefdf9bbb09f2e3bfeed7cbd02a9603d4c0e0dbc6d05f73b615d1fbe22ad173e87c067bd2298e33b91b72fbe08e9f33d74a86ebda4b2aa3bebb12bbe2687d33df44880bd7070d13b7ed11bbef61bdc3d3d778dbda34afb3ba72d0bbe8d04f23d98b997bdc9821d3ce2d4e4bdfa73053e96409bbd0ee5043c8da4b8bdf6dd143ec3eca8bdf7b61a3cabba85bd0e25243e83a3abbd21b7013c66517abd37e72e3ede71abbd9949593c8b6c75bb3c1d69bc3e08a63e2c8c533f46d233bbb00647bcd1988e3e199c563fd54b8fbb95219cbbb3a35c3e706d483f381ba5bb39e2b53b5f660a3e8fe5313f2c63dabb9a614b3c213e883d01e9163fd2e5efbba2d29b3c37eddf371d1ef13e51cffbbb2b87c63cd4ab82bd82c1b23e826619bceb8cf23cab16ecbd2491713e9c35eebb1ad6003de45b1abe84b5163e7fe672bd8abab7bb0000000000000000fdd28fbd5441aebb00000000000000008c538dbdc5977fbb00000000000000002d7e84bdf7f7c0bb00000000000000003e1c81bd9f5492bb0000000000000000b91983bdf72881bb00000000000000007f9f76bd91c31abb000000000000000016ad80bd8b1681ba000000000000000085856bbd129cf2ba000000000000000057319f399f199bbbc93ad93b7dc5203d3a20c93aa1e8debbf0adb03c8c565d3c71a2793a7fb4a9bb3f459d3cb684473c6523793a4c5eb4bb9cd5cc3cd9c15ebb4048b03a02649fbb51debc3c12951abc0d463b3a81bc82bb2f0fb43cca3fa7bc2decd03a0d736fbbaa6eb13ce9c9cfbcd8e2e439465315bb6bd9a03cc35f19bd82e202ba2e0920bbe953883c20c4c0bc3c00abbdf3e76d3de328bdbb4443453c31f88ebda8dc6a3d4396edbbf42d2b3c45c076bd74055e3de091f0bb9dcbea3bde0455bdecb65c3d09c8d2bbe9e24c3b4db239bd4ef3503d6d93d6bbae83453bedf814bdccad443df2abe9bb19b87739865ce2bc2d0b313de890cbbb0fa6d5bac41491bce686233d4b08c7bbf67e31bb0d85d1bcde15283d040076bbcf6f1cbb5e6cc4bd5e13cc3d2b4e8fbdd37dc23bb76fc3bdf3b74a3dafb3a0bdcbf8e43b7b48b5bd02fc003d99dfacbdeee0f03bdcbda4bdcda2163d1a2eb1bd7de8e63b4ee88abdc4d5443da168b5bd61030d3c1e0859bd54c47f3d9793b5bd684f1a3c0e9b26bdf024a63d3661b4bd59eb3d3ceae19fbc814ac73d3d49b0bd16bf313cdc8c88bcddb7e83d78c1a6bdcb094e3cdfd873bb6b09ecbbf2d6163eacde883f6c971fbba64fc8bbfccee13dbfe08a3f286229bb6beb1a3bbb4ca13da1cd7a3fade548bbd670a33b176e2a3d509f5a3f0e6b89bb674e223c37468a3b60a8333fa56f95bb58d2503c02e7d9bcf59b093f9aa2c1bbef958c3cd4665ebd5b8bbc3eddb6c7bb43fc903cd2189bbd53735c3ee85bd6bb9194973c0181ccbd9944d63d373fb2bd2b7824bb00000000000000004151d7bd987d25b8000000000000000060bcc5bdbd7b513a00000000000000005892bdbd98321f3b0000000000000000b63cb2bd355bab3a00000000000000005987adbd8444703b00000000000000001af1acbd9538a63b0000000000000000e591a8bdc5b7e03b0000000000000000306096bd3a6ead3b000000000000000070508c3aea90a2bbac24a33ce4c01dbc7945693a697b26bb6d4d493c6b78ccb8b712753ad8e4b5ba274a753ccab5d4ba246a103aed8fd0bae2a15b3c2fabe2bb6604b939efd90f3a6338633cd37648bc8ae303394c06b73a4fa0273c5ec58ebc96c60a3a88f23b398e30ca3b94209fbc982f7a361f98883bcd66a0b940f796bca4dd3fba9e2b0f3b40fc0c3c0f11f4bca3f5cfbc93571b3d836e2dbbaa88a03a9cda80ba0ee8b93c09f693bb67bc583a6a7a5abbc731c43c5c1b8ebb6a12fbbae7a1063b508eb63c75ab67bb68afe3bacf0e8c3b5b66a93cf56e70bb8d377abb9a72183c0299893c333672bbc42b92bbf5502f3ca5c4613cb4b981bb9188ebba84f8823c94d1af3bbbc670bbd4769abb67a2853c2702603c516a75bbf2778fbbae2ae9bc03be5fbbf13ca0bd84dc193ceb0076bc1407c9bd285885bde7130f3c522392bc1194d9bdc6b58ebdf47b3a3cd9a77cbcc207c4bda5ec95bde57b3b3cb16438bcb2c192bd6fb691bd76b54c3c8f06cdba7ecc41bdcc7488bd171c483c447c423bda2494bcee6170bd9358453c7b35363c0b2fee3bd84c35bd722b513cb4a7993ce8ec003d17f367bd8dc6543c5593abbae48028bb510b82b92effa93f46dbd0ba667ee8b934c5d5bb5bcda13f7ed893ba51205e3a926b4abc2f9a903f23ab5ebb9393813be7b491bc79fd723f90ef24bbddfc823baec0bcbc47a73e3fe5750ebb74409e3b6df8ddbc9cb0083fb5804ebbf6fc9a3b522afbbcdd5fa43e097267bbc1109e3bb553bbbcb2b0dc3d3cb9bdba2a89a63b8b791ebdf9662f3ca63c03be48f0a03b0000000000000000fdcbfdbd300c3a3c0000000000000000095cdfbd1d370c3c00000000000000008767c6bd293b003c0000000000000000183db5bd7feb1d3c00000000000000008be7a8bdc8ae293c00000000000000001ad59dbd67af4a3c00000000000000002ce48abd2e1c733c00000000000000007e4ca3bdc251753c00000000000000000000000000000000000000000000000030a5ba3a646f69ba5c4a833cbcbd71bca0498a3ae0e0f5b927d2223c14558fbbaca4e139dcc4c13ad1df363cd7153bbc752b363a4864d33a0ed4013cdf6e63bcd3708f38feed043bc422ae3be7fe3cbc7f56183ae42a583b9ed68239ca2f14bcdc9d28ba140eab3beb97d4badd9b6bbc00000000000000000000000000000000000000000000000000000000000000002e99003de90f88babe0deab9387bd5bb48ae043db6dcc6bb16f072b7ecb0acbb36d5053d6da79bbbf3f9e9394b74eabbb5c40a3ddbaeddbb4316beb8e839bebb8636fc3c89dfe1bbe812093ab7eed6bbec70dd3c8eb92cbcc9e05fb9c424c3bb73d7e83c9a6f2fbc4fd28c3a8122ddbb0000000000000000000000000000000000000000000000000000000000000000c14a8c3cca8928be53962bbd4f2c0d3c44ad923c2f1334becb1b00bdc285eb3bcffc7d3cf9a620be663513bd2945e63b4bd8a23c33040ebeab5204bdc20e033c5608a73c09bfe1bdb0c4e0bc3cefd33bbffac23ce594a1bd563573bc03fb013c00fdf13cbb204bbdd74526bc5054fd3b000000000000000000000000000000000000000000000000000000000000803f929280ba91af843b606da6bd985ca83f4a62bbba26fb0f3b828962bd14738c3fd6c6c5b9a4a59c3a326e39bd0328693fd1d2c3ba7105623aba2518bd6118333f04bf1cbadaabaeb9937de5bc8beef63edd1955ba56a53cbaacf658bc011f843e8427acbaf69c52bbd6299abb7bb0783d000000000000000000000000000000000000000000000000000000000000000032eac0bd7925403c0000000000000000ee8182bd9097393c00000000000000008e5967bdc41a2e3c0000000000000000700d4bbd1790213c0000000000000000cae22dbdedc5363c0000000000000000d52617bd26a11d3c0000000000000000bb772fbd0daf573c00000000000000000000000000000000000000000000000000000000000000000000000000000000ac7e1b3b3940a3b94bdc1d3cbf37b6baa1c3e13a48cb90398d57073ca4cb56b97bf6a33a9abf4a3a699cdd3b3cbe8c38034da23a2e1f5f3a3eb0b03b8337003a4b0a963a76bd203acf2a6e3b5f94113a5593703af0db59399917ed3adba7003a21ff933ab853e1b96c1fde3927292bb90000000000000000000000000000000000000000000000000000000000000000aaaeffb99f166db8921cb03a46aa9fbc577b7cb96bb8c0386f83b03ad97e86bcc24d0639895fef38f9aa923a699d5abcb514d1b8f5a798b801c0a63af32332bc8d5c8637998b843626014e3a157e12bc7bfc8bb9f1670c39cc6e9f3aacd0d7bb39f385b9828ffa3819cbaa3a9fc79ebb0000000000000000000000000000000000000000000000000000000000000000438d22bdf9987abcc689b439ad0b983a86eb1ebd8ee157bc433d9a3a441d823a67ab01bd37bb39bc5d8a923a555a7a3ae168bbbcac191bbcfe0b0a3ad8c3ad39810f6bbc40ed05bcc55412bac857353a4cb78dbbceb4e0bbe55f74ba2212493a96c2043cbd6bbfbbb3581abbc6334c3a0000000000000000000000000000000000000000000000000000803f000000000393f0bbcad19fbce7e5823f8050c8bbd73fb4bb164040bc55495c3f901c9cba1fe49bbbc9c00cbc7239343fe5f18738857a5dbbf4d607bc29100d3fe9e1f9b9665b20bb00521dbc2af2cd3e2da933bb30d23aba010047bc3534833e001ebbbb2a5c38b996cd87bc7182ea3d02c41fbc0000000000000000000000000000000000000000000000000000000000000000d62c8fbc78ae7f3b0000000000000000973751bc4a8f333b00000000000000006d3826bcb90d083b00000000000000004802e5bbcc6bd63a00000000000000002c74a1bb63aa013b0000000000000000047752bbf8c0ed3a0000000000000000d60312bbf48d103b0000000000000000000000000000000000000000000000004021d839648916bb8d53263cd40984b9b18a323bbc4109bb796b433c67b419ba9e1d043bede61fba24e3433c1d9dbb3aae2edf3a624d3fb8ed732b3c57bef83a616b6e3a20baffb8cbf0083c3b59093ba4c3983a4bf437b9ab84d43b9a37083b3636f93a1d2b27b90970893bb182a5390361b73a11aed3ba25a4df3a8728423a842b3d3a2236e0ba5ad8da3a8930ea39d73c3bbb50719c396fa537ba64a7b7bc7711c738ebb2203bad7a863bfdf2d7bc71d643baa6f70eb91e4f073b8291b2bc456d31ba338d5ab73761d03aeda894bc306dd4b9b41c0c389441893ab0f16abcab701abab3182db9315a9c3a9bd24dbc73faffba564d8638d0ac2339736318bcb3a30eba260f0a3a7c07b83a87e203bcb26a5aba8d0ab7392e8dd8b7d4209cbbc53289bce22a1fbc5c89afbb462bc43a3c7825bd04b292bc5f738cbb59f2283add9629bd78658abc63bf08bbd09fb13a21c710bdb24277bc0360ddba011c9a3a1338c5bcb21441bc62d1c4ba988c463a43726cbc0ca726bc3a5a21bbc3ec7a3a7a63deba3a57e8bb5b2239bbd1d72f3b6e64333c6c9ba4bb46c869bbdecb9b3ae8e09c3c812467ba23ae89bb2d46de39ff9300bcb5b926bd7e41833f8bba003ea1acd9bbcd2b3abd2d63733fc464eb3dc2a0bdbbfffd01bd40bc4d3f2218d43d00c5a4bbfaaad2bc7f93283fb610b33d405d7abb5fe5afbc3284023f9d858c3d346f1ebb8f1db8bc10e1be3eb625493da87fdaba868ecfbc49e2713e546eea3c741ff03a7b10dbbc997fd83db5ccf83b9366ff390046aebcb58cf7bb7dffe4bb8021f2bcdc9a873b0000000000000000988a09bd3096bf3b00000000000000004e95d4bcb429663b000000000000000020ceaebcc1a01f3b000000000000000046e482bcb715d43a0000000000000000de2959bc66d8043b0000000000000000e7452bbcf9e0e43a000000000000000036990cbccf13253b00000000000000009a23d3bbbca0d73a0000000000000000eb4a023bb3d369bbce570c3c1fb7be3aa8c1343ba5c503bb4d52353c92cd153b2e3bd93a3b72a2ba166a283ca9f1663ba3715f394eb842b95ac81c3c0d68963bbad74e3ac0d363ba8c9b063c8d94693b0648b43a950f28baa039f23b2c8f793b9ee42a3a68949aba5678963bdc843e3bc3ffdc3a69666cbb12d85e3b9845443b29b369395eed04bb1adf153be6a6023bac4bebba0b13bf3914adcfb9586fa2bc902605bb29d8f3391caa1c3bda72c1bc59cfaeba10ed93b9519fbb3a44ab9abcd9e70bba095e3e3a8de88eb9d7f889bc75b084ba6d1973b9e6294f3ab00550bc3fc208baba4eb2ba98f4863aa23046bca6ab97b904b71d3acc41c9395fbc16bc04caf0baf70bbbba7c06523a19e705bcc8745aba2359133a304dadb931cbb4bbc96fefbb8e1b98bb420c16bc6c31273a8bc9bebc54525cbc947311bc6226f73a79eeddbc8bb868bcb6c3c4bb52ae8a3a7b34e1bc013a60bc8eca9bbbd871bc3ac3ec82bc952b21bcfa5c85bb402ff8391c9512bc363000bc1d1984bbd18704baeb0a133a528f80bbc18781bb6ac5823a70f64e3c8bd0b0b7dc7cc8bb32b8f93aad02823cc9ac333b6ace85bbbcec6f39bfd092bb8ded3dbde26b5e3fb6c0893e23c64fbb4d2168bdd717503f1ee37e3eb85871bb4d5721bd71452e3f005d5d3e2b5552bb089f13bddd77123f60043b3e782f1abbc7aae4bcf27be13e1e16113e966d36bb5b9ef1bca7eda73e7519da3d8fa219b96c88d8bc1118563e390d8a3deeb6003b0667e8bc8601cb3d25d4fe3c9141583ac072a8bcb32a32b977886aba591113bd9b960e3b00000000000000005dbb30bd1541723b0000000000000000effe04bdb3e1083b00000000000000003d7fefbc9286f53a0000000000000000a654afbcd9379e3a0000000000000000da40a2bcf386873900000000000000004bb780bc7f68003b00000000000000008c867ebc44cd4c3b0000000000000000e02423bcc15b853a0000000000000000e3d9613818f94ebb3c2ce83b90b28b3b5f66733a64504bbb2616203c5d39bd3bbadb1f3a200b2cbba13f183cbd65d83b04a3813a071d93bae6331c3cad4bc83b74d8e0b9690a26bb893c063c723ef73b0a1735394b0cc9ba38e7d13b7443df3b3faed13951e0dfba0540ab3bb209883bde1bbe3ad7add7ba49ea8e3bb008743b9dae8a3a28e2b4ba1a116b3be5d8543ba88ee3ba748788b9c60f4cba209994bc7d2bf7ba5f772239b944583b8a99b5bc80809bbab92e013be48c633adac88dbccd3dc3baecd0feb9829f793af4157abca029113a3cb525ba124c11baa98e49bc6cd0a8ba52f9e4b98a8ffeb9c81d27bcc4767cba3ef967b97bb2bc38ceac1cbc7359f5bacb44e2b90e3881b99c7c16bccb82c9ba5fea09bbe19197ba571bc1bb9d4137bb5cc470bae25a3dbc235c0fb9d9848ebcb3ab29bce02c65bcec89b83aec78c7bc869a82bce8a62dbc01c6963aef58abbc6c5160bc2cc6efbb4a13463a645671bc69d525bc88e2d1bb2cae6ab9da59d7bb1324d4bbcd35c8bbaa48c5385efa863a2b478dba5e80b1bb9d69e9383279303c81a7953b3ddfb6bbfb2519bab21b603c4bfbf43b07d77abbfed27bbaf2e65abba91636bd838c363fe02cd43e046d85bbe8886bbd1d102b3f2d97c53e239b3abbf71a39bdbb04143ff5c1ac3ef6a7efbad03121bdc980f33e0fcb8e3ea36491ba8ae607bd92adbe3e69bc613e47c4303a6720f6bcca168d3e8efe263e3088173aa2baebbce45c353e048ed93d5364b73a4e4be7bcab42ae3d6f7b573d87004439e8bd9fbcc3a4153b9f1c773b70f321bdd00dd6380000000000000000a9d647bd323de13a0000000000000000940b25bd214539ba0000000000000000ce130bbd1c3e9c3900000000000000008793e5bc52963ab70000000000000000f8facbbccf53023a000000000000000072bcabbcf576803a0000000000000000d1e794bc4af4c13a0000000000000000d9fa45bc93761d3a0000000000000000feabb638f62435bbb13cb43b45dcd63b1a6b3c3a2c5150bbcc000c3cc010f33be3b9433a03beebbabac5f83b0e0b003c1c290f3afe87ccbafecdfb3bab16063c6ea93db9c8b4a6ba27bbad3b4ab0b63b7c37093970c3cfbaa12dcb3b335ad83b1878c8391a49c9ba4116933bf2c3a33b8450743aa20a6abb2da68d3b9437633bdf7a8eb7a59f10bbf6f9453b2dd4683b35c3e9ba6f450cbabfbc72b98caf84bc28843bbbd6c6d039d4d7b63afc5b9dbc9f0fd3ba97918cb92b86713a3b546dbc28ed74bae42245b9c56a323a429857bcdafd5dba8b5622bac8138b391af307bcd07842bacca608bae018aa39228822bca9dd93bafaffa5b985675cb8af5904bc898c01bbc2f165386a2ad5382842efbb90a2a3baf09285b90b5667ba99aebbbb48b83dbbcadb093a550b54bcec0f29ba229b57bcc46229bcc47f78bce4b17c3af7fb94bcac8062bc58062ebcc664e33923be96bca4bc67bc7ad115bca5bb053a3a111fbc54f5d9bb10a5b9bb15e6aab92ca7ffbb01c18abb49badbbbb1d191b8d040b6b947ff113b2a7cbabb52bc29b96eabe93b93ff003c92edcbbb138aa5b9ba31183c46a2333c3cbc8cbb22355cbaa742ddbaabee2cbdd906103fa816103ff4a402ba2ac755bdf908063fab9b053f9b055fba73b225bd518de43ec3ede43e88f982bab27f1bbd006ec03eafd2c03efe422abae3bdc9bc090e923e04a9923ed52b0239cf28f1bc9d5e5f3e307d613e941e1d3a9f71cabcefba0e3efaa7113e4621e53aa0fbc2bcb587893d2d4b953d9aa9ea39293f8dbc7e71243b95a3a53b71a32cbdcf6cd7ba000000000000000031e94dbd00713cba0000000000000000479a20bd5ab390ba0000000000000000765713bded9898ba000000000000000012f8b9bc820babba00000000000000005602d8bc50c541ba0000000000000000f04facbc2dbd02390000000000000000d439a8bc744f413a0000000000000000818866bcac2fedb90000000000000000259c05bb1a4aeaba630f523b63d6e23ba10afe39896cedba1225a73bd5901a3c1ab3ee39e0bdd0ba0673b93b1537303c70a9b43a2d73e6ba3334a83ba62b1a3c0cf1643abd4903bb9967ac3bc120033cbbcc8239ce2e86ba4ab19f3b9b48eb3b443940ba6a925dba61fa223b31b5d43b0029f7b92cded1ba511b3f3b489c8c3bd27a82395b0abeba232b283b9c87743bded9f9ba592bfdb9a96f323abda157bc6be703bb5b971639b2b71d3b0f0877bc47e3d9bacc60fe38bb3fd73ae84f4ebcb561d9ba1f0e0eb92b68413adf7119bc6067523a4f2bd63856d6fd3a10df1dbc8e258bbac2221aba85f5293a7d6c08bc77f2f4bad8cb4aba5149853a4a21eabb8343ccba521fca3a215b403a4e1fe8bb108f90baad22ffb9ede108b96d42adbb8bb48fbbba2749b987eb73bc3401a8ba6ee77fbcbe295bbcbde08ebc1b6d33398744a7bc3d2ba0bc9de059bccd748f3a05038fbcca6b95bc92583abcadad2f3aa25b4cbc0b963fbc3cae10bcad1fe339836f21bc94329fbbb3b703bcdb54083935eba8bbe9528b3b1ef8cbbb595c2fb97038053b27a3473c5e45d3bba691aeb9de53aa3bece86b3c420a85bb166798ba8378373ab9941fbdf880d43ebeb1363f86bcdf3a85374abd028dc53e09272b3fc5989f3a167229bd5404ab3e2f50133f8d7f683a158c12bdd7008e3e7297f33eed74103ab4a2f7bca7c35f3e6c69bf3e9598ae3ab510dabc47b0243e76798d3ea526083b07adc0bc674ecf3d2681383e1501423b4af2afbc4ab0423df512b53d043ac83ab58b71bcd02b59ba110dab3b570f38bded4b6fbb000000000000000089b863bd480a49bb000000000000000003ed35bd642034bb00000000000000009f291bbd346a42bb0000000000000000bdc704bdc08f02bb0000000000000000c690e1bcf07cb9ba00000000000000003148d2bcd0b637ba00000000000000008b32b7bccfcb513a0000000000000000af5d79bcf1131cba00000000000000001ef6483adec206bb19c98f3aad9f103cfb3fa93a69adfdbafa5c4b3b660a473cff269f3a8eab15bb2737643ba68a2d3cc16c7c3a2513e5b94f137e3b4cd7343c3327c6b8267c45ba38185d3b1153033c0e63093a42d143baa52b6e3be8e6fd3babfb123a644f81ba7197293bf484993b1148643a56bca7ba3ce29a3a9b24563bf3cab0380011a2ba08254a3a1a122d3bed3e4dbbf29de93a0afaa73a2f7935bcdff540bb686fa93a4f0f1c3bd4da44bc9bfe83ba21c15b3a103a6c3a7a06f3bbfbdd84b94d0839ba4af10f3ba74ce5bb654321baf14cbeb8c3276d3a2637c4bb12349cb9fba72ab87a87b03a9a8ec5bb08b613ba611bb737ceb1943aa9a7b3bb1881ceba8a9380b950a6be3ae904c4bb910d95bab1221a39ea30293a719ba1bb745317bc7c7abebb5add80bc71eb53bac0a0acbc34c1b6bc3ec599bc67edac3af311a1bc103acabc6b2c62bc0112b53a33d2a1bc856ac5bcdcaa46bc05c32f39076766bc9f936bbc4c6413bcac35ec39644e57bc188b02bca2180bbc83f60b3a0d9fcbbbeb09073bbd1ae5bb4e8f1e3a9d202bbb6b16603cab9fedbba86925b996099a3a7e728c3c310588bb78f52dba08ce163b51ff11bd13c3893e8e2f5e3f5b62a83b687434bd57c77e3e7f04503fc569583b1f3c0dbd14885c3eb7362e3fa7cbb33a18f4f1bcbedd383ed3b0123fabf5063b1371b6bccfc10e3e698fe13e52fa953a6b4baebcf68dcf3dc2d2a73ec5e6383b4b1690bc9886813d1149573ea0b2733bbd3d87bc8781ca3ce93dcd3d0a86143bedc23dbc65dbc6bbe973c23a28753dbd4efc98bb0000000000000000dc215ebd5ea08fbb00000000000000002e6b1dbd348186bb00000000000000007aaa0cbd2560abbb0000000000000000f519cfbc2e1646bb00000000000000000586cfbc04b0daba00000000000000003590b2bc02fb38ba00000000000000005af5c0bcc128efb70000000000000000987083bc1d4817b90000000000000000740e483a911ea0bafb068fbaf3b4263c3898933a759597376d0360393db04c3cbdf78c39976787b96003be3ac5d85c3c44a7743aa9a0b239686a083b584e2b3cbe67b93922a816b955f6023b84fe053c2a3f5b383cb1c9b9488dc53a54bad13be016e73956f894b9c902993a50ae773b241da83a1da4abba6fa95f3aab14973940ccd639a5532cbac6730fbbb1d1c03a32d139bb172c863a1799073b8ae7d6bb4555f3ba557d093bc4223d3b1e6d99bb943b6bbade37bc3ad2110e3b7af95bbba7203138d79a833a2664ee3943b52cbbbe00a3390b2c48399fa1bf3a6d1d33bb429c0b397277b73985dcb03a14e05cbb32ee9fb90c7f1b3ae116cb3ae96766bb837f10ba8883b83a80341a3a03812dbb0dd44dba6ea18839dd688c3ac36481bbc76b7dbcc40b88bc484a8abc347b91b879d1c5bc42e21dbd5e26a4bc4b0c183be905c1bc0bcb25bdcd7284bc67ce193bc380aabc25b60dbd40d05dbc2c52093b34db85bcf4aabebc259129bcd540973aa65c5fbc8b545abc46421abcff97a63a411f1fbce0ee8fba9a8e01bc6605ae3a4d59e6bb9e09553c3a9efbbb17bc3b3ae4e24fbbee47a13c74fb5bbb429f533938bd843ba507f4bcf41c003e0f3f833f8e9eaf3b6cb807bd5084ec3d19f9723fd23d813b36add8bced88d23d66c04d3fcfb66c3b3787b0bc1536af3d5886283fe0c72f3ba45188bcca77873d548d023fdf875a3bea5965bc56093a3dd937bf3e39d8513bf16337bc4009be3ce236723e76c33a3bbc8302bc0e171d3af7d6db3dfa26333bb007dfbb8baa4abcb5cfd9bbc0292abd3712dcbb00000000000000002e8b35bd9de4bebb000000000000000098a5f8bc9a81b4bb00000000000000009fbfc2bcb0d3a7bb0000000000000000f96698bc1fcc86bb0000000000000000c7e597bcf44033bb0000000000000000b76d9abcad20b1ba00000000000000001480a1bcd05ff23a0000000000000000b5d37dbc839ad0390000000000000000000000000000000000000000000000006d284b3a70b6d1b59c6396baff0a1c3c9585d53928e9d839d0fe4eb79b9bfb3bfba3a23924d786396639f639cac3d63bdb509c396d99a33918524a3a3771ae3bae4b0d3a31349439b7a10d3a9193673b9073b7385ca6a53920f1e8b84e64e03a863bbc3917ea4439c98f4cba1b39003900000000000000000000000000000000000000000000000000000000000000003e064cba5a0ad93ae505133b8b96e0b7763c17b994e9c63ad8cefb3ab0bb423a3d050c3a12328a3a227ee53abbdc683af79b003af81fa539022ab03afb032f380638243adf5dc939f43fa23a3c9216ba217ba83962992e3ab6089c3a21a167ba18f5d5b97366d93866eda13ad795efba00000000000000000000000000000000000000000000000000000000000000008250acbc9d7d22bd64d975bc4e86903a686a98bcabd21dbdfd4a4bbce2a1093bfd457bbcd62302bd318824bc868eee3affa44cbc314bbebca78406bc1b30c23a21ac2cbc2a3368bcdd96d3bb8ff2cc3a29c309bc20d890bb0053b3bbc993e23a91f5bfbb6e52033cb37796bbe2859c3a000000000000000000000000000000000000000000000000000000000000803fea6e8c3ba7948fbccfd5c6bb13e2823f2f6b583b77234fbc2922deba42185c3fafb2303b96721fbc53658cbaaa41343ff620143b3e34f6bbe02d22bb66000d3ffebd203b99b5b1bb0da2adbb8afbcd3e2ac3223b47754dbb805519bce82d833ea8af403bef4609bb85aa76bc388cea3d00000000000000000000000000000000000000000000000000000000000000007feba0bcfa90e9bb0000000000000000cad538bc842fb1bb0000000000000000280d00bce1af96bb0000000000000000dc2cd0bb05145fbb00000000000000002cc1e7bba58329bb0000000000000000980f12bc8fb98eba00000000000000007aac47bce80025b9000000000000000000000000000000000000000000000000000000000000000000000000000000008ff0073b83f4dabae6b4273cd3da76bad38ee13ac6b5aeb975aa113c9472c1b8bc7dba3ad3ffe5b99ae2063c11716fba9f9abd39cb3383bae84edb3b7ace42391b380a3b0e48dabad8adc23b3917163af428693a592d3dbb43491f3bf879c2ba3717713aa0a260bbd482733b153626390000000000000000000000000000000000000000000000000000000000000000e1f621bb5f6f993a554855bac33879bc4030e8bac08b473a02c8ad38bc394abc3b8c26baf97fe1393d8507bae87428bc66bde7ba7d977cb9a2d650baf75904bcd8bbd1ba8b4674b828d457baec8af8bb158193ba7be1923a4815aa3aeabcafbb948d45bb0fc71d3adb8301ba849984bb0000000000000000000000000000000000000000000000000000000000000000425277bc040219bcddb055bb7d82b83a030c83bc851208bcb7bc06bb8c100b3a7c7340bcd7fdc0bb772854bb854f453a9e64febbf87adabbeeea06bb173355391545bbba5db090bb2ba636bbcdd8f2b66cd6993bd119a9bb036367bb883e293a6227593ce4ebf9ba5335cdbbfbf12bba0000000000000000000000000000000000000000000000000000803f00000000ae34c3bb3d0e31bc0ddc743f6efc7dba559fa1bbfd6fe5bb7ebf4f3fae01193a3f0a91bb73ffcebba11e2c3fe9a7a7b8787356bbe75ccabb40f5073fffb4efb92caf5bbbb9160dbcfe80ca3ef88cadba0b8f9eba53f323bc8ad6843e0c3dabbbb25800bbdf784abc31e6013e3dd9abbb0000000000000000000000000000000000000000000000000000000000000000791544bc20d96d3b0000000000000000bb8210bc5e300f3b0000000000000000f3a8d8bbccf5eb3a000000000000000022a8b6bbfbf4d73a0000000000000000a7dba4bb8c5bb53a0000000000000000684289bbf5e8b93a0000000000000000fd7e85bb19e3013b000000000000000000000000000000000000000000000000255a8e3a70a09abbada8363c3d33c73addf4623b2e2aa0bb85555d3c4fcdda3a6cf6333b7c048bbb05ff683cd8c51c3bd043c43af8872fbb796a3f3cf9464d3b7780213a8efee2ba16de223cc268473bebc9763a02493abb00c00e3c4180393b44874b3adcb263bbe263e23b7d8b1b3b8ca3263be8a48fbbdd3b973b5508593a5c394f39aa4679bbdbeb9d3be1b0dd3a7cb547bbe5be1b3a5745f8ba7c7687bc703f59bb1d46a63a238ab3ba2c73adbc4b6f43bb0ce678392d02023a27918cbce44b2ebba31ec1396f6b28ba46c37fbc32c734bba85b3f3970a4d1baeacd3fbcc68143bbcb977d3a63e110bafa603abc5b533ebb036b4e3a99d29ebafa4321bceabe0ebb3610c239e2be86bae5de11bc67e939bbb6a05a3ad403fbba2859c9bbd27ec3ba82b877bb584afdbbdeb39839ff4354bc1d9f09bca245fcbb00cb923a83e578bc92fa08bc80e0c6bba53f463a954939bc7ebadcbbe0f7b6bb5d8ef9b88dbf8bbbf0c18cbbd202b6bb4c6f06ba7ecec93ac0444ebbfcb3d2bba2ab70b9ed491c3c7acc8ebabf6de9bb5febc8b9487e8f3cb1099f396701eebbd93b343ab427a73c4afd2f3b3265f3bb146bc4b94958d5bb7cd0bbbcd5fc743fc687043e29abbabb2705d6bc69a25e3f1475f13d1e15d3bb4439abbc5bd63d3f43c0d23d3d1fa3bb3ef08cbc52cc1c3f7774b13d55c99fbb25096fbc37aff63e94fe8b3dbbbc65bb06258abc7d53b83e912a4d3d4b6337bb315b96bcf69a723e0549003d083d9dbafb92a9bc90f9f13d4dd3483ccad119bb345983bcf0bba53b616f04bb530b9ebc1c3b163b00000000000000002e04babce58ffd3a0000000000000000d28b96bc49a4233b000000000000000099057dbc3b72c33a0000000000000000015d4cbc22ad913a0000000000000000d67d46bc480ccd3a0000000000000000eb3c2fbc039c9c3a00000000000000006ebe16bc88f0063b0000000000000000e16310bc9007973900000000000000008387b0b72827c6bb7295403cf36b7d3bf123093ba7e3cbbbf4865c3c467eb53b99558f3a56e78ebbe67a3e3c88b4b83b8e80953a1b6795bbb605493cfdced13b259993399f7184bbdacc1e3c68a6b33b9a8f873af5deabbbc6551e3c57c0a73b94754a393ceb8dbb426ef03b227dad3be6fbb23aceddb9bb52dad03b6a108e3bd702dd3967afa6bbb47ecc3ba8298c3b92c287bb1575fbb7215801bb4b367cbc7f3b8ebb9b2d333a47f4aab98b30abbcf8a35abb1ab59c3996c59ebad74788bc019879bbad2318b9b186b5baa1ca88bcedd318bb4c59baba414ff1ba5f0b53bc98ca8dbb1f1150badd3d01bb13a75abcb2731bbb22b3acb9dc91d0bae0e02bbcae3e84bba33d323a8310d5bac83e3abcf9024abb389bc7b8a80410bb9c690ebcec99893b83ce683a8e3f26bc45322fba663895bb175934bb970f38bc408f76b942dfe7bbc0be78bbbdad0dbce07ff0b94965b8bbf33c4bbb628412bcbd4c94ba7de405b995ceb7b935efecbb7e6391baad80a03bcc075f3ac56610bce5cab4b9d1ab293c50e6883b76dfe0bb63f808bb8b11993c21ffdd3b1f6224bc8fbda0ba4d998d3c7a5e003c1b27febbcc55ebba8702a5bbe14de9bc816d523fa4ae873e66af93bba7bd07bdb1d43e3f9e62773e6bba1dbbaca8cebca4aa213f47f1553e03ef8bbb1d2dcebc8157083f9e8b343e8ef65cbb0ff7a1bce255d53e2f4e0e3e4acd6fbbc81eb8bc7d25a13e1f83d73d646603bb4cf3a0bc1d3b543e49ab8f3d9e2997ba0d67bbbc8707da3d6ce8113d5682d7bac6188ebc2ce1133c960b813bac6bc5bc21e13c3a0000000000000000a824edbcaffbcc3a00000000000000001587b7bcecec333a0000000000000000913bb2bcda0da2390000000000000000050a83bc2a5203b8000000000000000061178abc0e37ce390000000000000000193d72bc04abfeb900000000000000009e1176bc1e19023a000000000000000079cf33bc954028ba000000000000000090f46b385352f8bb41bc1d3c80db023c8f6e023bd37adabb865d453caa0a1f3c68a7ad382d9ab3bb5b1e3f3cc9190d3cce955d3a5b5aa5bb83c9343cc5c3183c310cb2397a259ebbb181213cc08d0e3c6dc5ff397e8da6bb149e173c9da10a3c7308bf397e98bfbb6545f43b754ff43bad9f5b3a5e22cebbbd77c73b5c91db3bfc172ab8bf4795bb684dc03b253dcc3b1a81a6bb6d02153ac3e8edba94e77abc4b82d7bb910b113a9f6e12bbfd03a6bce3c19cbbb2a08439e6b838bacdf6a5bc6ced85bbc7e93ab86adf9ebab76185bcfebb6bbb744201ba2bf7efba113d63bcca0f64bb684995b97500f8baafd357bcb01c88bbf589e637f9d2f3bae21b54bce4928ebb8e268cb87a05ffba6b7649bc07ba4bbbdb836eb9b39636bbf31a11bcc14eac3b518bbe3b1db546bc7e6f9aba1c9deeba6550af3ad91559bc0fe91bba683d9abb204647ba80884ebc9bbf83ba9ccd80bb3443e3b939652cbcef11dbba8be30f3a36cf163bf5fd18bc9a0110bb7b33a23b09039f3bb7d429bcc8a56abb6eb22d3c9926053c1f0825bc73db12bb05ce813c54e4423c070128bc440416bb08eb803ce606433c85fff4bb33c38bbb35487cbbe1bee7bcbefb2d3fefcfcd3e67352ebb731c12bd47a71e3fce4dbc3e846f4cbbdf7101bd38e2083f9385a33efc4646bb6ecae1bc8566e33e0769883e5eec48bb81e6c3bc380fb43e777f593e60b71fbb518ec2bc0769873efbff233ea60adfba3651c0bc33a4343e3446dd3d8bf753ba38dbb9bc6187ba3d2d8b6b3d75fb04bbf40187bcab671a3ccb13073c76b6dcbc003c09bb0000000000000000343505bd5c100d3900000000000000009e12f1bce3e674ba0000000000000000457dc8bcfdc794ba0000000000000000201da8bc5130d7ba00000000000000000ac4a2bc36609bba0000000000000000fce997bccfd1a3ba000000000000000098a58ebc1f22a4ba000000000000000084db4fbcf76ce6ba00000000000000005f66c5ba0cb0b5bba9f6fc3be9d41d3c0a96b13ae4ffdebb1b741c3cb598423c523c8b3ae013a7bb5a2c173cfad4213c63939fb76837d4bb2e97243c5147333c0c9a35b9631182bb3cc8e33bca160f3c0ff1453955f0a7bb0beca33be6262f3c68b5053b21a3e3bbdec5c83bcc500c3ca96b683a2344c5bb206fa93b878e033c83dbb3ba5e0497bbf00f9d3b27d0ea3b4cbf8dbbf6a85eb90b34d9ba9d4d77bc4b7fabbb16097fb91b6b91b9fa9495bcc2ad69bbda1fe3babcdc62baf96673bc625995bb33847eba3ad51dbb536664bc789134bbcea39dba80c4f9bade5326bc1aae5bbb7b8127ba1c67daba246553bc5a0973bbb70c6dba3528e6ba63b933bc914290bb89cbdcb9610005bb497244bc5a3e40bb9c1c5fba51f683bb4b4111bcaeb6763bf0ffef3b4f7746bc48f321bb067adaba0fa5593b48d46ebceb64f5ba08787dbba856503af4b136bc97f3e0ba5c063fbb77dfd7398b9439bcdbc31ebbf7fd403af88e833bb14900bcc9e73dbbb3e73a3b795d023c73b323bc97f48fbb562c1e3c64d8363c8bb317bc269f44bb3d774b3c4ba9833c4cd123bc9a2b45bb5b724e3cb5277f3c4515ecbbf9ab4ebb657a2abb2cbae4bc59750a3f188a0a3f6b0fecbab6db0cbdcb46fb3ef0d9fb3ee5ac0bbb95bae2bc0412d73e8dead73ea4b0dbba5d93dbbc2b74b53ec5deb63edbf714bbd82b97bcc97c8c3e948c8d3e4998bbba851cbebcde1e593e50ef5b3ec8d98fba0c8ba3bcfd9f0c3e994a123e64cf17ba3f82adbced60943dcd569d3decc79dbaf47c7ebc1965ef3bdaba333c8192e0bca6191cbb0000000000000000484709bdd5f906bb0000000000000000af94e5bc155c0ebb0000000000000000819bd1bc6b8918bb000000000000000095358abca71636bb00000000000000006364a7bca74a00bb0000000000000000a4d68fbc206520bb000000000000000073e496bca7e7f6ba0000000000000000553359bcb0db2fbb0000000000000000fb64083a1adab0bbddaaa63bf286353c7b8ae63abc89c8bbbf02db3bb63b633c11e6b93ae1f8b3bb5943eb3b2bd9623c02ffa33a23e0a7bb2df5eb3b6361593c58387e380e9f9dbba74dcf3b986d3d3c98370a3a14beaebb056eb53b9a3b2e3cc6c73a3a016b94bb3c1fa73be651233c517e61b9df90e6bbc2217e3b75e10b3c67c9c9396b65acbb7323843bc960f13b5a8a93bb84aeaaba6aae37baea5c62bc6e90acbbfe9010b8037a223a692386bc72698fbb18fc1eb9165caa39aa3a70bc9b7170bb3f2798ba509c0a3a1b0f5bbc696560bbbb779eba83a591baa19942bc4e896dbbe48853ba6e9347ba7fd743bcfa3a67bbab1a01bab7d188ba8c4b49bc96bd86bb324be0b9835936ba42a93cbc63e727bb290189baa13e63ba641d26bc1f042b3af38a003c73e850bccb9533bb9a13a3bb7cc6133bb05081bc9162eaba4b89ecbbd0394fba867065bc830608bb2d76d1bbe4c6bfb8aff741bc93002abb32ce1abbb027883b156e2abc860940bb33d0fa39580c093c293327bc9ef42dbb85e0a43b7b67683cbf6d22bc0dda45bb411dd53bba959f3ce2d11ebc24444bbbc3b8193c94c8963c312ed5bbe06169bb450152ba2affd9bcbc3ece3e48f52d3fa05e7d39a9b507bd0f73bb3ee6961e3fc91f0db9db61f2bcea2ea23e4111093f197643b959cdd6bcd608873e048ce43e972c4bba6b81b5bcde8b563ed225b53e241948384271b3bc434c203e8d7a883eed98d0396a35b1bce0d1d43d7d17383e059faa3a106d9ebc07b4553d626ac13d66e52b3acff377bce0df283bcfca473cb690e6bc8ff580bb0000000000000000ba430ebd2fa54dbb00000000000000002ee8f2bc677254bb0000000000000000e061d0bc211a7bbb000000000000000063d6afbc36d562bb00000000000000005d52aabc68fa46bb0000000000000000f5f29ebc8d7f26bb000000000000000000869cbc7dca0abb0000000000000000657959bc18bb59bb000000000000000074c042ba4db790bb0f19253bc2e24c3cba80f13a1c74a4bbbf615e3bcdd6753c7242603afb099bbb87e99e3b09983e3c76bf0e3b1f7c8bbb80689f3b84d75d3cdcb34e3946be83bb79246b3b9b43343c010a883a10c58dbb8a8d5c3bf13e333cb6434039216b88bb6c31133b9e780b3c8e52c03ae82d9abb758bc43ab3e1053c0d6f1a3a37408ebb1c034d3a0a57be3b194249bb3248f0ba34754e3a5ea136bc96c6a9bb777b583aeabfe13a4ce55cbc0569a2bb46d113bad246543a811e35bc657167bb7d48ad3ab8e762b8e7b231bc22f12cbb2d4697ba3490ddb9a86915bc5f823ebb338b18ba1210b0b847eb26bce6263abb26a182babf0d41b935fd18bcb82572bbfb2c42393c4972b9e9b334bc8308ecba8de0bcbaad974b3a281718bcf8cd67bb012cc33b48e35cbc97ea1fbb73611dbc02f6c8bab23285bcb32acfba307c0cbc995576bba14347bc4af3edbafbc217bccfe11abb599144bc3df9deba833599bb9f811d3b999418bce4cf10bbc17d51bb3d35f93b0a0324bc499b16bb9b8f4b390134473c90290bbc7f0518bb913a513bfaeeab3cecca10bc373b8ebb94fd7a3b511bbf3c56d0a8bba69680bbd73d353a3e2ac4bc88fa873eb1c1513f22c1153bf258f4bc2ea2763e021e3f3fe1b08a3abc49c1bcf4ae543ea6d2213fd1fc903a73aababc5675313ed594083f5558193a201f8fbc93350b3e7309d63eddaeaa3abcaa98bc827acf3db44aa23eaf3cc63a1ff77bbcbcdb853da343563e1320033b5b9f86bc7a37f53cc463df3dee0e083a36844dbcc6f8d1ba714f213c2a27e4bc8fc797bb000000000000000088ec06bddd159ebb00000000000000000451bdbc40cb91bb00000000000000009ab4afbc517bbbbb0000000000000000f22f8dbc533386bb00000000000000003aa49bbca4bf75bb0000000000000000e0ea88bcfc4252bb0000000000000000db5a93bc8f4121bb000000000000000039e182bc0e87ebba00000000000000005d45943a13ed67bb822af8b8056b473c9ec6253b74231fbbaa61e9b8fc4b633c35ea9c3aed574abbddf2d73a7e5b5d3c05c9853aacb04cbb512ae53a67f3493c2b8a5d3a4db332bb29ffa23af0f8283c9c74643a94663ebba6eb853a4927153c31240eba7eaf40bb49c173b85bdbdf3bf262af3abdbe5bbb44129fbad7ccb93bbbc87f3aee7950bb493a65ba2614ae3bb8885ebb09c04e394c12e93aae580cbc099c8dbb6575e53af991c83a8046f6bb27f521bba81b6d3a9ae3053b2146ebbb9709f5ba574ec5b9930db53a5aace2bb6d296dbaa91540ba1f5ce539c700cfbbcdfde4ba800877399e63063a791ed9bbed9f04bb6abc89baaea8743a508fedbbd0784bbbda738b39f38a0a3ba55d09bc641d1bbb7b1e7c3a76e064b9865cfbbb04341abc434ca3b9dd2947bc7f9928bb9b3380bc0cf619bcca2684bc4d8a8aba25ec68bce0cc51bc938d59bc5a767bbaa72a49bc38d021bc49013bbc491347baf1c60cbc279f4dbbea430ebc546b0cbb45f4d6bb9d46293b1b6510bcd4e6c4ba82d08bbb7bac413ce0b8e1bb64901cbb9ba3e2bae6799d3c46c7fbbba36508b9a80b303aa5f7ae3cc9af9bbb568a3bbb60e41f3b07e3a1bca13b043e9610753fc092313b4056c1bce89ced3d02455e3f27ee333b9de899bc966ccf3d39cf3d3f06691c3bc9df86bc8fc8ab3df5141d3f9294f83abcd558bce2c6853d6216f73e29640f3bff2d4bbc18f63c3d99c0b83ef98a3b3b71e136bc3514d73c28b7743e7e3a8c3bd7df37bc4d1edc3b2222f23d8d4be63aaff712bcfc28ddbbb096cd3b7bc6b6bc2d82cdbb00000000000000008afccdbca966bdbb0000000000000000c12c95bc577fbbbb0000000000000000d3b675bc165da1bb0000000000000000329542bc9602a3bb000000000000000065545bbc7c0781bb000000000000000040cc55bccf3e88bb00000000000000005bd17fbc0da2d0ba0000000000000000518144bc6e1a4bbb000000000000000000000000000000000000000000000000c8d9d23a90e069ba276d0cbba955123cc8e48c3a967d203a051ca6b805a0123c1305b5b997e37cbae4c3b0b8886a053c3224be3a207f61baf1f278b64380cf3b8a64153b15ff1cbb665fd3baff29bb3b00dce23a461aa5bac48595ba2746623b40dad03a2966ddba998e09bbab8a593b00000000000000000000000000000000000000000000000000000000000000006d2696ba9531a63a9c811c3b38083abbe18f50ba0466603a0199e33a7ef313bbd1575a3a9e41503958accf3a74f312bbacc3dc3733c8593a37248a3a90ea03bb094f8fb7c19d7539038d183b982c7dbb647e83baef770c3a83f4453a1cc356bb91c6c6ba39a1363a467dc1396e4fa2bb000000000000000000000000000000000000000000000000000000000000000086517fbccb6566bc7b0d28bc46c023bbf55f49bc0f7e7cbcf62210bce14e1fb9f3e129bcb3da3ebc80c009bc43fad9b9645d05bcfeeee2bb9479c4bb117a02393c22f8bb7e3fbcba98f0abbbdde8b9b9bdf3a3bbcbb2863b6bcb97bb2c29fe381ede7fbb1028533c593c89bbdcebdeb9000000000000000000000000000000000000000000000000000000000000803fe87c623b6ef736bcb4ffb3bab08e743f8d87093bd0d312bc6a7797b95637503f0d0f183b9c4ef2bb73a638bafe322c3fc766a03a64f7b4bb94f4ecbacff0073f3af20a3b3db1d3bb77eaacbbdbb4ca3eeb680e3bc5008fbb38a2e7bbd895843e4e841b3b14e199bb678429bc5b06023e00000000000000000000000000000000000000000000000000000000000000008dde1cbc44f3b3bb0000000000000000639100bc0edb65bb0000000000000000dbc7b4bb138992bb0000000000000000ffa38fbbdc1532bb00000000000000004016aabbd43c47bb00000000000000003ffedfbb8ce6ecba0000000000000000443115bc9076e8ba000000000000000000000000000000000000000000000000000000000000000000000000000000001acef2b97faf9dbaacd3e03ba2f0813a6dbd2ebabce914bb5ae78c3b9a2ba63a835286b975a6d1ba84e4953b91484dba968bb7b975a044bb332c073b2e39be3a71472dba67adb1baef3c4f3b441efb3941531aba61e579ba0b1c513b68d8313a0292cbb9b265debaba3f4b3b1014fa3900000000000000000000000000000000000000000000000000000000000000000fe646bbc9ec86bab746d7ba75a3a5bbe8ed3abbf50cfeba0a0b6c370ee574bb09bd40ba09313db96e7260bacba843bbe05b74bab75b5bba0497c139fbfaf6ba28cfc4ba1ab186b9063e3eba4e7bf7ba964b87ba06af58392185dfba293ac4ba9793dbbace0937ba245a1bba01ba01bb00000000000000000000000000000000000000000000000000000000000000005f3a233bfd14d8b9d3d576bb7915b5ba1254083b0eb75a39a0d5bfbacbe8d13a80273c3bb0d5c4b805c358bb2dd8f4b92de85d3b1f4c253b407fb9ba7bd3a33ac79c4b3b46f895b85fb3deba33bfdbb9533d843b25d6643929b5d7ba75a324ba67eca63bef521a394a440dbbace5c9390000000000000000000000000000000000000000000000000000803f0000000007d036bba81c83bbaefa633f7efdf839f03ef3b9a5082ebbd0a9423f8529823afce6d9babede05bba778223f491c9dba5ea106bba28b75bb05fd013f587e413b4caa8bbaa44e00bb12e5c23ee69dd437dcb33ebbf56308bb2d51823e2ef011b928e5b3bac3ea42bb3827043e8827ffb900000000000000000000000000000000000000000000000000000000000000009b2630bb965c61ba000000000000000043f9c9badb5d4fb80000000000000000d05972bb3ecefeb80000000000000000165bf1ba06950bbb0000000000000000a4b90bbb3d7f26b90000000000000000af5af9baac7b4bba000000000000000060f725bb88f60b3a000000000000000000000000000000000000000000000000ea74f9bac6f61ebb7389b73bd539323be793a0bac55739bb4a9ad73be3951c3b184acbba7451fcba2c7ebf3b2ddb273bfcb5c0badcd3b6ba4ea0b73badac093b90c1adba0bdca0baa7a2c53badb3d23ab58fd1baed0209bbe0c2ab3b9167263b7ef4adbaf0cb1ebb53e6883b42db603b56c0babab16437bb39ffa73b34883c3b908dc8ba3d4306bbade29c3b88752e3b5268ebba3f8c48b9b7b516bb4f6a80bb581214bb7df4f33905a11fbbcf1a97bba589dbbac559ccbac2b01fbbacd07bbbf24440bb879014b9c98531bb24c155bb0e4e1cbb4686f7396304aeba5d2222bbb3cd13bb5a9110baf49932bb73f045bbb03329bb1467caba2434bbba251535bb98f6e7ba2f30aeba1c4015bb6fcb50bb72cfe0bada531fbbbb5509bba82e1cbb9a229b3bbab8b73a174733bbe4eb2dbb4173983bc0834e3a7f967dbb5eee9638cf8e783bde85863a94ac30bbfb1436bb63e5833b0d8ac939a35207bbd0d4c3baa56cac3b136cf0392b2e4abb602dddba31c2b13be486a33a92f933bbee9b8cbaadfeb93baae3443b02fd69bb1fc155bab751fd3b024b283bc2fa36bb0f53fcba6958f03bf7bf283b508c22bbdd0842bb331849bbb82f6fbb919b633f5e1f023e029547bb27dd85bbe258483fd8bde33d03d53bbb653e4cbb1a922b3f2f74c53d86e778bb72092bbb5ebf0f3f6eb2a33da2a477bbb9251ebb4b6fe53e75ae823d0d7c77bb3db765bbfc8aac3e6d09483d8e8116bbf19d6ebbb90f673e44f60a3df51a33bb77588dbb121eee3da9fd8e3c943b2dbb7d4352bb9735c43b28cdd13aa88673bb91fbf9b900000000000000007a1aa0bbf8635ab90000000000000000f14d68bb4d792dba0000000000000000f7c04fbb89931cb9000000000000000048e271bb3988b8ba000000000000000083a464bb88e277ba000000000000000061a18cbbf2d345ba0000000000000000d4aa57bb01efc6ba0000000000000000ed4132bbea424fba000000000000000008eaafbac4344dbb3226f13b29c1773b3541f9ba78c621bbded4fb3bb3ebba3b2f75e2ba9b7a49bb0612d13b53d28a3b69f59fbafb0131bb36cac03b85f27c3b482ffdba4ee719bb2f4ab43b1bb0843bb2651239bdfc7ebba01fc03b6d25913b0d21f2ba2beb1dbbad5d9e3b14aa7d3b31fafcba46c747bb7f08bf3b0e108f3b5a90cdbac70825bb6a78913bb6325c3b16e4edba40bb27ba24f921bbc4d98bbb99b446bb3a3512bbd3b372bbe7c681bb85fca8ba708904bbf3e72cbb231f8bbb1bd5a4bab41a9fbac2d50abbe64d91bb0bd200bb7ee29bbaf0991abb28196fbb127828bb6caa8bbba2701ebb4f62a0bbff63deba83fbc0bab36312bba81c4dbbbfbe0abbfdcaf3baf38d28bb3d5771bb1fe4fabaab36c3bacb1702bbbc5e46bb90d8a43b37324a3b50fa48bb3cf751bb49bcda3bef798c3b8e26a4bb87f754bb19c1a83bd29e443b772434bb9e4f37bbc8a29d3b97f6213b025b31bbeee70ebba2ecb03bea23533bffbc4bbb89cdfbbaf957053c0cb87f3b896582bbf80052bbbd0fc73b0628763b353426bb5e0f13bbfe75023c7cde9a3b37ed53bb0c3f26bbeb93d33b216c743b105936bb950503bb6e474fbb25be9fbb9597433f9316823e480aa3bb94fed9bb9b5d2c3f91aa663e5ae259bbde0b88bbff30133ffbd5443ee07538bbbea09ebb113df63e35a6243e2ff24dbb01ed7bbb8ec9c43e212a043ef0b853bbc191adbb74de953e07d0c83d57c13bbb846881bb4329473e0557873d316858bb82bea0bbbfb6cf3df7ca0f3de04222bb4f5272bbdf7dbc3b1832343b85fc89bb034652bb0000000000000000ec5dd1bba6a12cbb00000000000000002d836fbb401146bb0000000000000000a56483bb044d17bb0000000000000000e5df83bb3a6303bb0000000000000000fa34a0bb7e3a5dbb00000000000000006c9e5abb201e10bb0000000000000000b17e8dbb1a5f24bb000000000000000013ea59bbf15323bb0000000000000000970f28bbf8c72fbbbd21ce3b402a883b6cdf14bb064b71bbe1ccd03bea1dd03b5063ef3870ec5fbb7a5cbf3baa16b93b84da36bb48198fbb104ad33b11cace3bccf5c2baf18451bb6d96833b49b2c93b11f61fbb428197bad76abb3b98b3843b9b3800bba6d963bb7f00a03b8ed9b23b37c82abba9a576bbdaa6003c6bf6a33b2b3febbab3c025bbea72a93b1527883bb2f736bb67e9d1ba3dfb4bbb146581bb626f1abb81592dbb30505fbb0d7ab7bb2a0d06bb0f25e4baac2b2bbb7855a0bbf4bef5bab3a367bb7c5480bb8ad1c2bbd282ecba451b03bb82a85dbb2c2685bbc60d62bb34360ebbafc7a2bbbc870fbb7064f9bacff7c4bac74d2dbb442b8abb496c2dbbd82d32bbaeaa86bb7b7e92bb5b3cfbba4ec103bb854d4fbb83a540bb4c59ce3b67c9763b6a517fbbe7ab13bbf5a3b73b0af2ac3b48128dbbf6cb6dbbd6399e3bcb5c903bbc5b72bbcb0495bb0e40b73b86bfa63be3aa6bbb768045bb53dabc3b2e0eb33b45e348bb36ba9dbb390dc63b05db773bc77534bbb24d39bb9f0acb3bb153bc3be8774dbb182e3cbb9dbdfe3ba6eabd3bd9577fbb338977bb4ac8e43b47b2a03b19c53cbb545634bb256348bb9ab992bba415233fcff3c23edb1788bb3b4dcbbb8e790f3fb370ac3ee2055dbb0279b5bb7a22f63eb5ef933e2cb796bbe7f497bb7c04ce3e4251783e286669bb51d7a0bbcf2da53e0a8b473e2fff8abbe3fc9bbb8b427b3e6d10153e061051bb611fa8bbb075273efd13cc3db4e246bb3b33b6bb9028b03d3442553d9d2075bb69d678bba086dd3bd29f8c3b1f85b6bb6ecb01bb0000000000000000feaac2bb1e9c55bb0000000000000000b80aa9bb90fd97bb00000000000000000e1ba5bb67d94bbb000000000000000046408cbb367236bb00000000000000003eebc2bbdaa930bb00000000000000007eb68abb96544dbb0000000000000000448fa4bb14c603bb000000000000000022696cbb3ecb3cbb0000000000000000a7802fbbc56835bb75e3aa3b8b80b33baa08f4ba53fb94bbd2f7c23b5c6be43bc608e7ba97c2bdba38d0893b1859f43bc5c23dbb24596abb48a78d3b16ef043c258eb3ba7f2c29bb2f1a713b9404a53ba74e96bae6c6b4bb26b4cd3bc033fa3bfcc492ba7daaabbb9723b03b83eea93bd06aeeba679964bb5a5a993b35d3df3bf0469dba2ba447bbfb6b6b3b1e33a83b07bd04bb7d4215bbb86c11bb69dc83bbeb7a06bb639e38bb92335abb127cc4bb0d740ebb2b5443bace2deaba0e4f8fbb495f84bbc12961bb839447bba28ce5bba750b9ba199100bbbc6f0dbb9d0168bb499a0cbbba5d8bba6272f6ba2201d2bb0d78e0bac6c32cbb12a447bb6b7c81bbbfda3abb87be0ebb4a6b27bb81de83bb0df0b9ba969718bbde7f0bbbf2ce66bb95d2c83b123baa3baca65ebba31c5dbb6702ad3b114dcd3bfbd179bb80fb73bbce4f663bc9f3d33b3bff6cbb398c43bb19e9ba3bb45be33b569a79bb00cf65bba7d2683b87ce993b035c2ebb3bac31bbd12ad63bd2dbfb3bef766bbb440e66bba723cd3b2b5ebb3bbd9d42bbda6c69bba273cb3bb250023ca62401bbe3c646bb06d7a23b1359cc3b741e15bb07014bbb9cfe46bbeffaa1bbdf91023ffb17023f5e6916bb564ddfbbec77e53ef579e53efd5f6abb3390a3bb1c44c43ed84ec53e8de06fbb0d2eb2bbb25fa53e8db9a53e396524bb8aea84bb960c843e025f833e59e039bbc068f0bb8ada483e81b5493ea99d86bbac9233bb013a073e9c1c063e0b3660bbf73fa2bb1e9e8c3d4df68e3d08f1a1ba92fa85bbed6c9c3b2a4eb43ba5bca6bb967064bb0000000000000000a06bb4bb5dd86bbb00000000000000003d5ba0bbf92498bb000000000000000015cae8bb3586beba000000000000000023877dbb0a672cbb00000000000000001916a6bb05956abb00000000000000004aad84bbbd1d7abb0000000000000000aa60b3bba87c3dbb0000000000000000a0a45cbb06dc60bb00000000000000009c57b9bacf6354bbcd7e413bf237f03b51ffbbbabdba87bba6fb723b10f80a3c7781deba7c7f53bb20eb883b4956ec3ba8ae4d3a8926a4bb71128f3b65f31e3c920c29bb9e349ebbf75c913b9f10fc3b37d0ccbae86065bb910e823b037ef23bcb28ee38bf5067bb71ae593b2c4ad83b315bbebac5956ebbe13c763b2793153c1e7cacba6e2755bb620e243b0828de3b9ca490ba76341ebb5487fabac3568bbb4a7e35b87e7d64bb5f75a5ba4963b9bb4f49f1ba9d00fcba56f81cbb287d92bb5264b3ba51ff8fbb30e88fb8801902bc532ebfba795f10bb357615bb97aa7ebbcaca85baa0036cbb249a2abba0b78dbb6b84ddba466817bb838d3139ae5888bb3490f3ba579831bbcb8c08bbe8bb8fbbbb4f20ba6faa60bb5a03fcba58718bbb28f8383b65bbea3b6db52dbbe6de6cbbbe71403bb773f93b523a84bb6ca841bbe9b44b3bd847c63bdace6bbbdeda58bb8a76cf3a046c0d3ca4054bbb6c491ebb9243813bd959ed3bc14445bb239451bb1248893b3b1ffd3bed7b1bbb85bd29bbca07833b6d1ff53b0bbc43bb8a6c62bb04aca33b5517123c481846bb9a7a86bba2a6563b5a470f3c8cf2e5ba88773bbb4dd818bbf0d2a4bb1508c33e1b01233ffae2c7ba9359d3bb49ebab3eb3ab0f3fc8942fbb6807aabb4be0933e0f4ff63ea6a51bbb7601debba7a6773ef524cf3ea14f14bbaf459ebbf4ce463e9a91a53e049830bb0e24a8bba932163ebd277a3ec45818bbd8e4a1bbedccc93dff51283e157234bb7371adbbfd00543d23d2b43d497307bb01ef94bb06d14c3b4885fc3bf18c8fbb8c317abb000000000000000088d4c5bbc0226bbb000000000000000086cca5bb476d4ebb00000000000000007bb68fbb6cc597bb00000000000000003a7d8abbac53b8bb0000000000000000de7c7abbbeeb3fbb00000000000000006dcc8cbb5d1675bb000000000000000038109cbb56ed89bb0000000000000000875b49bb0b5162bb0000000000000000e3dcae39eeb491ba7283e53a8510c43b5daa92bab92970bb5389383b555c023c04388dba174229bb91091e3be23dd33b180315ba68aa07bb25342d3b13291d3c676fc8b9e99550bb362f143b5585d63be8efb1baddd03dbbfbeb513b492bcb3b031ecfb976c41dbb94e40e3b8b37cf3bdc7253bae74889bbce20dd3a7c46003cc7d29bba0c672abb9ef8fa3af354b73b8037b1baa3c3f1ba6743bd385f9680bb740eddbae32e13bb6a99dbba99a29ebba2dea6baafb811bb33cde6ba757a6abbde3adebaf2741dbb663d89ba5eb04abb358d85ba76b50fbb02d9a6bac40a7abb62fee1ba64101bbb005304bb256e6ebb3f2db0ba06540fbbce6c0abb8c2753bb386237bb78de50bbf95ebaba37da60bb7a02b7ba4d9fe9baa46b86ba0dde4abb9396b63a250ebf3bf34c41bb68504abb66bae13ad83add3b57017bbb12ce67bb16c1ce3a3b33ac3b77f230bbd9424fbb7308c33aa3f3063c17cff0bab01dbcbbf9e8d73ac4eeca3b279b1abbbefb4ebb42785f3bee9cda3b838145bb3b2950bb9a32273b0066f03b70e010bbefea61bbfd20823b4ac8273c0da3e8bacea383bb3acf293bbe46f33ba57a10bbd70757bb56c00abbe3468fbbf8c2813e2607433f1e5109bbf7a5b0bbf893653ed3052c3fc0480dbbbfd086bba67c443e8a13133fb0438eba5826b9bb2bcc243efdbef63e5ddceaba0ffb8abbe9a5033ee11cc53e1ca91dbb3b2e88bb121bc63de9e8943e9a5b29bbe1e472bb0cef853d5f31483e4e46e5baecccc5bb7edc0e3dddb7d23d4ac67fba40d76abba3d7123b9f91cf3b7b4e8cbbb1813abb0000000000000000c66ca3bb516f75bb0000000000000000e12f69bb14974bbb0000000000000000f151a4bbe190c0bb00000000000000002e085ebbce5b65bb00000000000000009f2484bbe2cc54bb00000000000000008afa62bb0f6b64bb00000000000000002a51b0bbe16a60bb0000000000000000abf65ebb5f5268bb0000000000000000a4ea1b39148812bb1f6f963a2352d03b4841ddb983cd2ebb6292a13a8578e93b89b495b9b76a4ebb39862437ebf7023c4b2a5fb9e13f11bbe31c893ac839d03b9500c539418825bb2ef71f39dd4a9e3b58dc33ba7bad85bb8b142e3938b1b93b50a0a6b96ba71ebb2dcf483a0e7eb13b788660ba66f558bb473639385e58b73b65ededba8b7b0fbbff8e883a5003b03ba3f47fbacc9016bb9eabf4b902b045bb9fd999ba0a3914bbf98e5fba096268bbc2b68aba21c3dfba3961e0b9214c87bb92b30eba53a2b2ba089579b9cf0b50bb363a8b3941c44fbb4e9423baa9cb63bb267da0b90c3602ba2bb4fdb9476b34bb3f3f20bab0f40ebb58afa3b9c0333fbbcd8efbb981d260ba2c1ebdbaba927ebb62e1a2b979bfe9babad452b86b1d35bbd9532e39fd52ba3bc76927bb151747bb760b87b960c1b03b623959bb5dfa53bbfa73003a07ab833b3e8b34bb4fc932bb217edfb900a69c3bd01127bbc6df23bb7bc13abad3b7c83beee9a1bab60179bbc5360bba964bbc3bfd8fc4ba16094dbbc39e4f3a117cd93b7135dbbaf56636bbfdd0063aa07a073c489cd2ba9c6415bb60e9ac3acb2cf63bc16da2baeff233bbe7273cbb5ec86fbbddfd013ef5ba633f7dd49cba1bdc8fbb4c01e53d1b3e483f53ae0bba53af36bb3634c23d86762b3f89ca14bbfbea79bb1414a43d74540f3fe8d182ba6ab17bbb3b72813d5697e53e640207b9e04853bbe3df403db07fac3eaed824ba85665dbbd306033dcaa0673e6fa45039858496bb9a037e3c17feed3ddda60dbb0d3447bbe9be5a3a9e98c63bdaa066bbdfe25abb00000000000000002ab27dbb739654bb00000000000000001a1d4cbb392f3dbb000000000000000027f63dbb2f3723bb0000000000000000fbdf01bb268402bb0000000000000000fc3717bb0d598ebb00000000000000002bca36bb841e44bb0000000000000000389a47bb89f155bb00000000000000001f7a2fbbc90a4ebb0000000000000000000000000000000000000000000000002f895dbaa14300bb289680b8f1be8f3bf29fd3b9ea66a0baaa338b370816873b0f0da9b936dda7badbc9adb95f28703b2c7e50bab4c5b5ba1e4cb6392223943be0041ab9ab4974ba88d082397d168c3b6d68d739c03937ba2a87aab8e85a593bf8c94c397b07b2ba5448abb9cddcd23b00000000000000000000000000000000000000000000000000000000000000002db641ba22cd67bab67ba439b34923bb40059bb92c7243baa8cc44b92fc2deba7160e9b92aad24baed1a5bb7544cf4baae5c31bb463d93bac58286ba2539d4bae56275ba62b56cba0c88fdb8efa0acba037af6bafd623eba6333caba6fafa0ba1097f53af484cbbab1823c381b18d8ba0000000000000000000000000000000000000000000000000000000000000000d492c3baa5c81d3bd34922bb4144ccba8fa7bebaab600a3bf7a2e7ba9127a5baa6ebbbba88230b3b4d32ceba95a08eba7badc93a13f0793bddec6fbbe31802ba711892b8e55e833b09dde8ba525a88ba2ee99bb8f698843bb8c019bbd8e41abaf9b9d33ad65fb83b15da4cbbdbef2dbb000000000000000000000000000000000000000000000000000000000000803f19ee0f3a97a03ebb0dee543a7079633fa3b749b81f4005bba619763931af423f33faae39e1b7fcbad2779b382842223fae02c4ba8b0ef8baf23d023af102023f4c3ce8b81f63e2bac9f2003a595ec33e9ffe92baf44caeba855cc4b93c59823e6e9d89ba70b6d7ba8f43adba0832063e0000000000000000000000000000000000000000000000000000000000000000b4a304bbe068f3ba000000000000000019a3a8ba1602ceba000000000000000044f6b3ba2ea1a4ba0000000000000000601b6bbb35b31abb00000000000000001d2a06bb6811d1ba0000000000000000f0f02ebb2c8471ba00000000000000005763faba02a557bb00000000000000000000000000000000000000000000000000000000000000000000000000000000fe0ddfba3fd2fb3b61508a3cbf477c3b9fa8ef3887f1de3b19d4633c13ed983b1b2d873a7919aa3bf3c42e3ce93c323b08add73a890a8a3bee9dda3b6ba19439058a2d3a41ec463bd8ef593bb230ad3b2ad3083a8878893bd4bcbe3a84984c3b1143d8ba411d8a3bb9751cbbaac8063b000000000000000000000000000000000000000000000000000000000000000069b06e3beaf6fcba32cdca3bd692e5bcfa28913bd180bfba76ba933b2817e7bc01eb833bc05fd7b93f425f3bfacfebbc7a06993b729e3aba6c18e23a6404ccbc588c613b13ab92bacb6a243bae039dbc0ecd553bc7cf8cbab497bc39e24950bc2ce2383bdf1a83ba0df39a3a135ea8bb00000000000000000000000000000000000000000000000000000000000000005480fbbd5b0905bde311173c87acb3ba7ae7ebbdbf5908bde6a2d13bc1d1f9b9a7b6c1bd328c05bddd7e803b583a81babefa93bda5caf4bcce50803b4c20fdb9b66359bd2b3ddfbc620f9a3973998a3a5f4f0abd982099bc7c264f3b3aa421ba8e7024bc61d931bceb5e2e3bf55a12ba0000000000000000000000000000000000000000000000000000803f000000003c6dab3b01b978bd71359c3faed332bd22659e3bc93110bd15f7813f744aaebce1682d3b7465bbbcf463523fb15e01bc1e9b113bcaf48bbc297b203fef9fb2bb3331543bb2bc83bc7c42df3eaea88ebb5fe18d3bb99e89bcf40c803ebece3abc52ddb13bc20cb4bc992b923d40e29cbc0000000000000000000000000000000000000000000000000000000000000000529bd1bbbbb33b3b0000000000000000c71699bb412b963a00000000000000007fbd89bb16baa93900000000000000000e004dbb9eda993a00000000000000009a61153b4c79b3ba00000000000000003f11283b77936dba0000000000000000f645e13b263b0fbb00000000000000000000000000000000000000000000000039ac82ba117eaa3a974e623cb83dba3a276389bb72491a3c289aa33ca35afb3b7bab06ba32dffd3b9c6da03c5f15063c1915d33ab0c7b83b327c813c4138e53b5b9e0f3b6dd4493be9f64b3c5f78ad3bad0f513ab6658c3baf6c023ca4ba9a3b512631baf7eb863bae7e503bbf869e3ba7593bbbf1a3a43b6f918dba958c933bda06c5baf8e61739a9ea8fbb8b91473b18749e3a9a3f7eba357f243c12dbfbbcbbb34a3bcbb025bb4c044d3c0015f2bc69a5813b3a31bfba6ada193c7eb410bd2828963baf3d83ba9fb8e43bd2260fbd0bd8573bea7107baed5db23bc3ebf8bccdf9573bdf9b00ba7529963b7349c6bc5bdb6f3bec008bba47ca763b543a79bccee7003b09ecf4baca964e3ae39681bbc140b63a4ac7b2bae395ee3a6468a83a747f88bd32d7a6bccf0213ba37079c3a656904bec68409bd252c973b0ec2e53950d604bee1e030bd05f1463b18ac78b9d143e0bda32b30bd044503bb846c003b5127a8bde52e1dbd4363513702fc343a478f78bd5b8f04bdbb0dabb8ec97a03ae75b17bd05b8c0bc25b8833866c1283a2eb130bcd33e3fbc6f18093b945e363ae32a433c8e8ca8bb664dc23a98f22a3ac7f23a3c7de4f0bd72399c3fe4c1b03d88ed8b3c11aef9bda08e953fb217a33d29da1f3cfb88b3bd5b8b803f6c80b33d30e2003c3db384bdf7514f3f8854a83d61e6eb3b960c53bd2b621c3febb3893df9e1093caa783dbd1256d83ebf97413d4204243c05b328bd38ca713e6dc9cf3c5786513cd0dc0abd170b793da6de103bef55273c38180bbd8cca53bd1e7f8ebc0e5902bdaabac53b0000000000000000732defbc071fb83b000000000000000009e6d2bcf85a953b0000000000000000aed6a5bcb0bb3c3b0000000000000000296589bc2e608d3a0000000000000000717756bcc90ebd3a0000000000000000b27b09bceab8553a0000000000000000e550c2bad473f9b900000000000000004653b2ba65e8023a000000000000000068ac313aa4e6e8ba0710353cbdd3363b4366eab91770593b40f9773c1cffb53b3af5c83af6a0283abda46b3c35b8bf3bc7bf3d3b53250e3b3119633cda57e43b0eb2363b53060dbaa7b8203c3bbf733bdfa5f63a15b2a43a150adb3b1ce6b13bd79ec53a39ccb539b4baf73a6fa6573b680b06bb1ef16f3a04cbb8baefb7013b246cc7b70b1dfcba01939f3995a7a33ab4fd9aba0391323ae19c203c305203bd293df53a5fe4e2b907b7533c8b7313bd3dd7113a27338d3ab7700f3cf6b80abd81ca193b7a5a48b7f349fa3b81170ebded11083b68d8913a73aec63bc461e1bc8694bd3a65bbb0b8b3c4ba3b6c4db8bc1a34b8383016a7b97f74753b39bd70bc0878563bfb5699ba7c5e813b3a11adbb8e1325ba1789b0ba67551c3b8d90febae87a1abd533150bcc83e44bc8aa4333bd0cfb7bd3ffa13bdc84f16bc5753793b0a32a9bd44d828bd2f6f2bbc3b222e3be024b3bd345c3bbd048815bcbeb4593b4a7680bd77d11bbdac8516bce180303bfc054abd0ee708bd58c9e3bb11ec763bd826c7bc65b1aebcc000acbbb7c9453b30a0e1bbd70940bc19b085bb6cd99f3a1fd22d3c734285bb3653653a8372263b8938493c626deebd366d823f85b6863eb5c1873c6db506bea9f0803fa2ac803e745c2a3ce394b6bde8cc543fa0d96f3e58a4403c32f0abbd559a363f81ef4c3ed8bc1b3ca54785bdbfcc083f8dde203e39c12b3c3d6678bd908fc13e0320ee3d3351263c815a45bd2d3f633eac33923d31cf593cd3dc3fbd7299943dfe86d13cac26313c1edf14bdd4d0e5bc072300bc296758bd08e8ef3b0000000000000000044772bdd471273c0000000000000000bd2a39bd178fc73b00000000000000009a0628bd2122ab3b00000000000000005d6a02bdbdd77a3b00000000000000003d40eabc6bce743b00000000000000006410afbc5a8c683b00000000000000003a9793bcd7b4ab3b000000000000000092e15abca187933b0000000000000000ec51433b92e3a8bbb13f0a3ca28eb13b0730e83a0867ae398baa413c3efffd3b2296003b55549d3a1da9543cecce143c6bc50c3b01f6003aa742303c57760a3c9857443b2e670d3aeeba0b3cbb8ff03bc8cb9a3aeae64e3ac30ebe3bf006af3ba4e0bb3a824d04b8c156363bcc1a983bfeeb5cbaa1538c391ec314ba825e123b575822b9fba673bb94c0bf3af860223a45ba83bbd1aa9a3a95730f3c358c09bd0f0293b8a66b5e3ab85a363c7a3e12bd6a3c3ebab7a6e03a8b85103cdac304bdbfee433974c1133b0637fa3b1167ebbcc43a10ba1ab2d83abb0dd33b71a4d5bc2a8a143ab20dca3a1612b23b40d9a6bc2438d139ec15d6397e749e3b37dc66bca91ad6b9098bdeb95338993b4f3adebb37d41abb925d333a940a8f3bfe0d89bb6b94adbce6b52abc11cdb6bcd264b73bd78d82bd23421cbd3d5aadbcbe30de3bbe2b9fbddae94bbd064b9dbc7523e53b019390bda94647bdd02197bc813f9a3b726a6abd4e4429bd556b8abcb219b83b3c5227bdf0a609bd15b661bc2790a33b042fcabcde06b8bc895d24bcbfa6943bfaa4c6bbef8b1dbc124caebbad108b3be3660e3cce40563b9f8a44bb0e95613bba62243cf906d4bd3993533fbf70e53ef112763ccffff2bd5bdd503f76aade3e614f4b3c4174c9bd3ddb363f2fe7c73e8b002d3c955ea6bd35fb153f048fa73edc191f3cd67e8bbdec17e73e3370853e6fee343cfef575bd6d63a23e66b73f3e709f2d3caa3759bdafb9413e7092ed3d8b2b5d3ce4c140bd72c2933dc7b7423d85210f3c81f013bdc7613bbca8215ebb1bb594bdecb0f93b000000000000000071d0a6bddff43c3c00000000000000008f218ebd988e073c000000000000000090c36bbd1edaf43b0000000000000000e18546bdaa8aba3b0000000000000000e4bf2cbd2b4ab33b0000000000000000bd8914bd8e15c23b0000000000000000054bf8bc1668e03b00000000000000001bfebcbc35bd593b0000000000000000917a013b2e3387bb5c71e23b7d9ded3b1ea4e83ab244d1b83d27f53b63663b3c9262e63a94302ab98f2b163ca3793d3c00003c3b92e5ddbaff2a1b3c360e3e3c5f595c3b1fa8bdbabbf79a3b7c37d83b3ad7013bf7148cbadd0b9e3bc716e43b8594253a89e164b994caac3a2a6f7f3be7bc1b38440d8a39e1dc88b9de8ef63a7ca60a39279efeba2b87ce39bb3bd938aee5c8bbcac4453bbea2e03bac7aefbc01d797bbf686503b06ce123c2a17eebcf79408bb47af203bd0b5d93b7efed8bcec8012bbbd5f4e3b7332ea3bb3cbc9bca84a5dbb4f3e363bce0a383b80f896bcb83ecfba2963ce3af68fab3b022c87bc13381abb16bdf83a4258873b6c6232bcff17a6ba60069f39e593883b891de8bb635625bb6b594c3a036e813b395c4fbbe13974bc7d2a1bbc217ef1bc01a2cf3b5fd047bd411429bd772cf9bcd683103c051a6bbd2c7e55bdb540e1bce2b6d43b358f70bdcb795fbd010edcbc3b5bd93b378614bdf64303bd0780a5bc4bca623b191819bd071607bd47339dbc7182c73b8a96aabc13d88dbcbcc264bc36a0903ba38deabb48b5afbb52261abcfa28b23b4af58a3ba9d4f93b6f90d5bb2b9e8d3b8b9b063cc315b4bd1b9d223f60d2223f7c5a463cfac4c9bde6e81d3f4dbe1e3fcc202b3c7cd1a2bda241093f9eba0a3f82481c3c97da93bdcb41e83ea221eb3e5a81b53b363f47bd662bab3ebc05ae3e65f0123cb5035cbd04b8803eb9c2843e95070c3cd35333bd54f8183eb7e8213e307d243c897725bda936713d4e608c3dc99dd83b7cc100bd3e1c0dbc2ecb45ba2b0ab3bd1ab9063c00000000000000007106c6bd33003d3c0000000000000000476da0bd4128103c00000000000000005af48ebdd69c0b3c0000000000000000c2763fbd89ec723b00000000000000004e9558bdad5dfe3b00000000000000002f4c28bdb947ce3b0000000000000000f72a24bda5020f3c0000000000000000ad9700bdefa8e03b0000000000000000e117e73ad7d860bbc8f86c3bfa98353c3b10313ab4db883a7898c83bad87643cd87992387810463b50f2ea3b6292793cf708623a896bd53a8aacf83b1229633c9452e13acd7d633ac8a1a93b5de02f3c235aa7398948f23add808a3b63e5003c5b5c6639ec7f863ac24b3f3b5c7bc63b65e710ba9b01243a3944123a1d66ed399975cfb974eababad8e905b968929d3a7ba9cfbbf2de773bbac3a13b2b03afbc1338c0bab071293b2029d43b6efe9cbcdfbadababf8b283b5555be3bdc098fbcc2151abbbdb75c3be6488c3bfb4885bc67c846bb37e86d3b235b973b9e2a78bc6136c8babfee193bb380693b240a30bcc7ab01bba0cb883a30b48b3b4409e6bbaf48cdb7142682b91443173baae754bbf23f53bb8c5cf639f94b793b788d06bbbdaa72bc887089bce9e20bbde98ad03b93bf35bd3b036fbd412d1abd16722e3cbfd668bd864d95bdbcba0bbd6e1e263cf02f58bdf20184bd4668febce83df53be8193ebdb30556bd2896e7bc0f64ea3b488f13bd09151cbdcfc3b6bc7875d13bd423c7bcc304b2bcefdc99bcf318dd3b38002fbc023b6abb502c40bc0e69c13bc3449d3ab34b3c3c7c94ddbb7492993baf140f3c1c2e93bdfa92e43e27c4533fe58f403cfc68a7bdce53dd3e0f44513fac60263c01a68ebd9241c53e3025383fdd6c0b3ce2796bbdbd41a43edaf4163f5c2ffe3b80aa4cbdec59813e7ff3e93ec973f43b8b1d2dbd312f373edf30a63e1403ca3b128111bd54eed73dea30483e52fbf33b1bd3ebbca2a6213da5719f3d4357c43bbf57b7bce5b525bce3a8d3bb69b6d2bd77ab2c3c00000000000000003fb6f3bd3f21713c00000000000000006ad0c6bde13d323c00000000000000001998a0bdf427153c000000000000000029d985bdae85f13b0000000000000000a8b96abdee50073c000000000000000046c24dbdbd9d1e3c000000000000000081443cbdab3d3b3c00000000000000007ed10ebd4c16eb3b000000000000000088aa8fb7e8cfc4ba2edbfd3a6da06e3cecc113bbc159da3b98a7973a668b983c580f7639c78de33a7379c93b162c883c0ab3e9396035683b4880cb3bed6a7a3c94cecb39918fe83a5f80963b75c4323c2d7b38baf852893b1960433bf3cb023cf52828b87d6fe93afc2ec83a69f75f3ba19aedbaf3fa103ba81b043b047cd139394958b99eda183aef74f238995edebab575c0bb84e62b3bf0c15e3b690204bc7ddca73a7c4b0cba33e08a3b84520fbca6d00cba7a243b3b2a40023b2a5902bc644271ba80535f3b7ad31d3b277deabb11014d3a61ee113b1ec3e23a37f3b4bb471955b94385083be90bfd3ad896afbbfd7c61ba61a2a63ab078f73afdcb61bbe6a72d394f206abab43a0f3b84b8d938218664ba3b1134b902d741b968180c3adcae98bcb2250cbdb1be0abd63c2283c864520bd1704b1bd5f5e1abd3da1663c37193abd6f01a4bd712412bd7fe9023ca05c4ebd36a5aebdf7e90fbd0cd20b3c2b0124bd7e1974bd0011fdbc3936d93b910311bdd7cc3dbddd79d5bc6989f23bfeb4b8bcfbd9b0bc745b8ebcee32af3bede04ebc42e36abb9a5b37bce11e9e3bc487e5bab6d2583c3aa6d4bb4e7c873b724dc63b70445cbd0f69863e84a2823f2925293c203474bd0856803e163c813f1cc5df3bdd533cbd34266a3e80e3553fd90ce23bf18d2bbd7eb1463e3185373fbc40983bf2c300bd138e193e07e6093f25bbd13b614befbcf380dc3dec31c43e4b98843bee5eb3bc3412823dacb6693e3609703b23ac7fbc4afc893cbc31a03dd9a8803bd6593abc9a176dbc1181bcbc7568eebd06ff4e3c0000000000000000747c04bed0b6873c00000000000000006995b3bd54fb183c00000000000000005638a4bd2a44253c0000000000000000f54b76bd932deb3b0000000000000000ee506abd83a6143c0000000000000000ad043fbd1f900a3c000000000000000042e933bd3e095e3c0000000000000000c3ad0fbd7fb6243c0000000000000000e3be80ba13a5d83ac735223a9ce47f3cb8d61abb9fa8343b830c163c4109aa3c486be8ba4660893bf267df3b7eeab03c7116a0baea31a13b9511e93bd9138c3c2052d2b9c023703b1d708d3b42ff453ce3b1cbb99f99793b3746bd3b9a09103c714bc1ba49d82b3b08ca963bb0af923b3f1c25bb122f2b3b193c743b456884babb4035ba3e2a033a443b503a7d4224bb13d3a3baedde12391f98863908464f3ac23ce03bdac027bb18348dba69edd13bca6fb13b7039f639091ccbb93b11543ba4b1653bf1532c3bf63d1abad58c9a3ab9bc5c3b482a053b738721394ceea03a17b31f3b74ede63aa3ea4139a89fc939ae1b6e3b37a136b9adef6e3a402f1eb9021e823ba0c1bebae9576839cda1133b4450d73995fef4ba484ee039e080db3a648dc2bc847f81bdf437f7bc977b203cedbf14bd468f02be7cf2fbbc9cbf4c3c139836bd1f3a02be941316bd4ab0113c550336bd16c9dbbd391b13bdf2ead83b1a271ebd0e6ea5bd8e1a05bd83ecc63b443005bd403b74bdd550d7bcb741943b2e25b8bca1b50ebdf4d79cbc60109e3b55041ebcee4d24bca9a7e5bb1292e93aeaaf2bbb43766f3cd8597ebbc58b7d3be915e23b33c004bd3bc9af3d46349c3feabfde3bcc87ecbce68f9d3db192953f2e99aa3bdfc5ccbc438faa3d3fa8803f97c69e3b5cd1b2bc6a929a3d9904503fbe8b513bb85385bc59e7783d310e1d3fd4bed63ade1643bcc0d4203d8ac0d93e8dcec73a56fcc4bb5969853c0b67753e8f184c39205796b921245bbb4dee823daeb9333a45a0563978c7b9bcb1fd51bde296f0bd9ed23f3c00000000000000003ebaf4bd61d57c3c00000000000000008f22abbd633d183c00000000000000006c037bbdd692ec3b000000000000000062f13ebd5cdab93b00000000000000008dec29bdd042f43b00000000000000002cdf17bdc1130c3c0000000000000000903803bd25342b3c00000000000000005cf9febcf2f0223c000000000000000000000000000000000000000000000000f1cdf7ba5542253b56329c3b0968923c1d19b9ba29b7a63b9d82ca3b1e10573c497bb1bafc438d3ba6c6ae3a961d713c02c3dab946d6ab3be7a7343b1ca4ef3b7d48f9ba30ab6f3bf383ef3a7ade843bf7838dbaa5a7873b9de3323b017ef23a457205bade58f13a0b9f2d3b464ffcba0000000000000000000000000000000000000000000000000000000000000000c885c73b9fc9aeba3e70cbbaca3f303c1551d83b032b8639371342bb8380003c69b54f3b05957438b999893aceb4193b9f75573be2be153b67327cba5ee76b3b75024a3b4efc133a293360bac19d803b358b6d3b8fa68db9b31c0eba4efdb93a9888833b5923d1bae44698ba9564303b0000000000000000000000000000000000000000000000000000000000000000398b0bbdaabafebde268dabc13fec43b29b30bbdcfbfeabdc375eabcedfd953b082a12bd66e7c1bd8173ebbcd139c93be551f3bc52e997bd3dcad3bc778b8f3ab2efc1bcc83b59bdb4aea6bc03e71a3ba3f780bc3aa60cbd883b6cbca9da0a3be83211bcd24732bccf1df9bbac3b1a3b000000000000000000000000000000000000000000000000000000000000803fbc75583bdb37c2bb1cbd3bbd337a9c3fa627603b3c5ca2bb5ce9c1bcdcee813f3c19e9395f51e9ba19e42ebcc5f8513f3b3bd03a652d2cbbb5052cbc598b203fdecd093b6dcf78b9034d44bc942ee03ef23015ba5321a33b708a7cbc3a747f3e1b4fa7ba8d19013c05e4bfbc9da7933d0000000000000000000000000000000000000000000000000000000000000000ce9473bd7a6ab93b00000000000000001a7506bd72237f3b0000000000000000b9a2a4bc85eefc390000000000000000d63049bca0f2313b00000000000000007cca4ebc9127f43a00000000000000007a6861bcae765e3b000000000000000071c092bca1799b3b000000000000000000000000000000000000000000000000000000000000000000000000000000002f658dba7decc33be5bd1d3cf012c5bae65c1039cd93a73bd163d93bebc72aba9aba093a1df5143bd808e43be75f17bb4db7bb3acb1296374ac3653b89811ebb930ff439f434b23a40483f3b1ef028bb09fc3dba5b386b3b5d688b3763f013ba9610f5ba45858c3beffe4abb37ee213a00000000000000000000000000000000000000000000000000000000000000009149d33bc4b4b3bafdb1943baa3feebcc252c03bf83f4dbaed31883bd9e8d9bc323f983b37b1a7b9ab1c563bc736d7bcf0ca913bb13cb7b99c9b493bddbcbbbc68c87e3ba299f93895da2e3bfa5e97bc67aa7c3b027d87ba66a8143b374437bc4b36733b5ccc9abad0bb0f3b41e4afbb0000000000000000000000000000000000000000000000000000000000000000b6bdb8bd653d00bdea34ae3bd5a9a2ba8e1facbd414ef5bc191a993b251976ba2d8f8abd4161ebbcda7c313b8f3098ba24be55bd9e7adabc72912c3bd8b5cbb9c8701dbdbebcbebc1763923bab0f51ba6a66e7bc275990bc4af8593b2b9e3aba655b25bc9bfa56bc0272893b5bd311380000000000000000000000000000000000000000000000000000803f000000000c8a853bd2d944bd222e953f4e2607bdac1d323b451fe8bc1807793f458684bc6f59eb3a63bfb2bcbd0d4b3f810f21bc2c859e3a50209cbca8931d3f670b12bc5c2acc3a5c7a9dbc9617e13e04ec24bc26df043be77e9fbc8f8a863ed77a54bcc633513b4138d1bc01a4c83d737faebc0000000000000000000000000000000000000000000000000000000000000000a8a87dbb2f36ec3a00000000000000003f9fd4bae087523a0000000000000000ff12e9baafdcad3a000000000000000055fffcb9bb4f44390000000000000000e15b6bbae929c839000000000000000065b8273b423f23ba00000000000000007d096c3b5eeee7ba00000000000000000000000000000000000000000000000023a02439b194c9baaefe2d3c5af52dbb462833bb1dba183ca9aaf83b426da53b997a00ba836d923b559c383c3b315c3ba69dbc3a5fdbc93a092c143c947e413bd28bb13a3caf2c3afa9df53bcc042d3acac6b8382861b53a7808883b88dd143bf7aeb6ba5671603b416f6839a40a463b5f2590bb60bbfd3ba028afbbeeff833bcbfbfeba67c78b3aac3bbdbabccf823ae942583b98211738cff4063c831a14bd586b8e3b15dde5ba98e0173cdce40bbd27f3863b1c15ffb99518063cd91e18bd19ac4b3b741b18ba276ff53ba9f511bd6f4d283be3956138ac34ba3bde2701bdf1456b3b0130eeb9d824d73bf1a4cbbc3ef9143b69ea13bae18da23b1b1c85bc91b1533b16fab9bab74e503b2aaf90bb129fd13a63fb2fba7885703bb84ca6bbf94423bd5294a5bcee57c7bb69d9a13ab86fc2bd9efaf6bcec441abb647d0f3ba7f7bfbd240612bdeda044bb1347423a2238a1bdf11910bdd46880bb4e26243bae456dbd4401ffbcc59139bbe75bc73a0ca036bd2ce3debc43a205bb16cfcb39bfdae7bc31e59cbc564c22ba7a87f33ae5ff4dbc82df3bbcc666da3a118800ba2deb3b3c98909dbb3efa4a3a851d8d3a41022a3c7ad5c1bd31fc943f2736c73d884e543cceb9c3bd99cd8d3f9cbebe3d9731173c4c2a95bd113a733f8d5ebd3d714bed3b42e371bd837c463f1485a73d7953013ccf914cbd2af4173f1d7c853d40a5c73bc0e23dbdbc72d83ec511393d06fdf43b295f34bd19c3803eb79abe3c14560a3c4b2821bd8b2ab03d9b73383a981b0c3ccc2520bdef64cfbce89a93bc4f3dcfbccec9903b00000000000000006ae5d3bc503c9c3b0000000000000000a22eb3bc0319823b0000000000000000a25d97bcd773383b000000000000000016967cbc50d3d43a0000000000000000f0584dbc53f9253b000000000000000038a34cbc4284ae3a0000000000000000673cdbbbf9db1e3b0000000000000000f154c9bbd458713a00000000000000003aeaef3a7201b5bb187c0b3ca19a2a3b32f681b85114063ab85b0c3c3a71913bd4bbce3a99162dbba7e9343c8eb3793b44cdef3a35513abb59d70e3c8798913bd5bdd63aabea7bbb6d84e93b614c983b345d7a3a674038bb72bf8d3be400303b2aecb73973de29bbcd96393bb1686c3bb6be0cbb6169d93a080a4ebb31728b3bbd1095ba1ff5b8b945d3d2ba34d9683ba0d176bb95f5d53a6b26133c57fd18bd35c076392b917c3a501a2f3c01c025bdb642e3ba52c5a13a3793e63b233c14bd1c28afba5a13d23ac001103ce5c012bd3879debae1170f3b2edde33bd203fabc3118a5ba7b9b693aacc5ea3b1748cdbc711e10bbdc025d3acf4eb53b6f0d96bcc42e81b9a19771b9769e8f3b96ee26bc28c71abb40e40aba763f843b06f9f6bb89a899bcb60405bc977d8abc20ba7e3b54d66ebde0caddbc744c84bcd1c3873b141d60bdcee3eebc6e3883bc365d783bd9bf72bd8c240abd66c352bc97465d3b548620bd6763dbbce99c58bcdd940e3b992d09bd56c1c6bc495b22bccad6693b5c4d70bcd89e65bc774313bc37bf453b764f94bb5c7114bcf4c292bb74b92c3b3fe3173c0996f33a217274bb5604843b2f88413c269dc6bde914793f643a873e3d317a3c620bdfbdf10a733f274e803e4871423c3c61a4bd8fdc493fa809693ee0f6323c82e49abd4fcd2d3f2c44463e304d103c4f7e7ebd0639043fabc61b3e3351203ccd3178bd31f0c03e5e64e83dbaaa0e3cfad84dbdde566e3e3d66933d7eb44c3c67b250bdd2f5c23df369e53ce181113cb7ca23bd132e00bc7d857fbb115d3cbdcc12dc3b0000000000000000261b4ebdf3c5153c0000000000000000f5ad29bd076bec3b0000000000000000b9741abdcf11d63b0000000000000000bf85edbcbe65ba3b0000000000000000440af0bcc102a93b00000000000000005c3acebcb7939b3b0000000000000000d90badbcbefb943b00000000000000003e0f9abc1690783b00000000000000004fed603bbb0e13bcdb8c003c18b60c3c6b12293a87c618bbb264933b5c7c223ce213be3a7f62d8ba7cb0da3b75681f3c229ae03a6ffc49bbce79b73bc99d0c3c611d1d3b6f859ebb4519533b2f56013c9a0e083ab4bf57bb9c117d3bedc8183c508b8bb904018ebad6baa4ba1894ce3b9f5be0baa0c4273a85b656bbbbfae63b43362a3986fd86bb1b5f5239b48dd23b8caf22bcd06d803b4e41fb3b92391abd8ec4ddbb0c97393b0d492d3c6d6d20bdb088dbbbbed28d3ba399203cbe7616bd732ec8bb8e7f803bb9acf83b029901bd2d8bf1bb98a0593ba785033ceaaef2bc3a5aafbb077c3a3b5f8efd3b4faababc74baa9bbf61bd53a8004b73be4558cbc0222a0bb15688d3a155fa33bec5a28bcedbcbabb9f639a3a8da3a83bd5d429bc6b70cebb30ec9739f747e5bcd0bbb53b88dd28bdb0afacbc949ae3bc4217e83b003659bd7b1af0bcbec3cfbcc11ab63b97ab44bd96c2eebcc6ccbdbc6cd0883bb53e15bd2f2bc3bc8579adbcd198a73b1251e4bc849196bc52be8bbce9ebbb3bc16883bca4e63bbcd5c676bc01ebbc3b9fdf84bb140618bb5a7e3dbc9359ba3b96f2203c89d2053c264e2fbc1bf08c3bd715303c4d4ab5bd02c54a3fbe4bdf3e3c9b723c1417cfbdf5dc443f6ae6d53ef693403c50a8b5bd89ce2c3f30f4bf3e837a2f3c75279abdf59d0e3f0773a13ec2d7293cabfa85bd911adf3e1b0e813ed8e1253ce1927bbd81f6a03e20273e3e11082e3c0c265ebd2213493e960ff73d6672373ce78f4abd2ea1b23db927693d5b640e3c813825bd2d24843b55ccc53b19e480bdafe4103c0000000000000000f6eb8dbdc292353c000000000000000031fc7ebdb439203c000000000000000071025dbd73d5183c0000000000000000eb8545bdcb4b0b3c0000000000000000d0fe32bdfbfedb3b00000000000000009c611cbddc11e83b0000000000000000efaf0fbda6f7f03b0000000000000000a0e5eabcf05fd63b0000000000000000a7113f3b058205bc0ce77b3bf6bf643c0b86163b5c0892bb0568d03abb7e683cca1d033b158852bb8bbb513bfba6783c1ec8253bce8591bb605d243b2fb7673c6bfb1a3bb17cc6bb96f3103ba402393c65b9c83aeed575bb8f68cdb812c13d3cd9c5303a22aa09bb939928babcbf183c5771b7b9a75102bbaf7e3fbbe257e13ba740083aa17c36bb8c8aacba077afe3b90a460bcb77f9c3bbdb9d33b2c9405bd6cd945bc0977973b315a063c216e05bdb86131bc1b508a3b267bdf3ba763f2bc2f6d49bcb145813be268f53bbaa5e1bc9e6937bcd381853b338e9c3b410db6bccd223abcf0eb723b1d13cb3b00fda2bc870effbbc581463b2a9cb53b6b7565bc5293f2bb9be4ca3a50a9973b4e491bbc72dd08bca71a3a3b13cb853b0e4c10bcdc31bcbbd37b943ba4940ebdcd1cda3b080ffcbcf7948dbcfdef18bd3664173c72e11abd7f05e2bcd96604bd5e9ff13bdba829bd885adebc54d401bdbc95063cae9eb9bcc8dc4bbc0accd0bc2017be3b5b46d3bcf05877bca11acfbcc8a5c63bdd8167bc2abf9abba7eaa1bcae4ab43b5d4cb3bb71a6ac3b8f928abceb3fda3ba78ab23bf72c763cf22f6bbc09d2bc3b7ce8193c0a5b9ebd425f1c3f25751c3ffcd5483c9a4badbd1bac153f8d5f163fb428173c9b2e90bd8ae0013fcd41033f5ab82c3c367b89bd4e6cdd3e0be0e03e9f29c63beb1148bd086da53e7d8ea93ec3cb133cc0c05cbd89097d3eb3ae843e3cb6ed3b3ade38bdf0ef1c3eb121293e8a5b053cd4b128bd06358d3d5862ab3d12a8043cfdaf0dbddf60123b831f5e3ccf749fbd4749163c0000000000000000e6ffabbd3f9b533c0000000000000000511d90bd4d5b1b3c0000000000000000a8fa87bd7784383c0000000000000000523445bdc352cb3b000000000000000010c85cbd85de2b3c0000000000000000e3cb39bdf4500b3c0000000000000000180f33bd6e5c1a3c00000000000000004a2013bd2e01ef3b00000000000000009b270e3be2e2a3bbb2db71ba432d8c3c00e57a3a3d7ae53a49969fbada9a8b3c436d9539217b01ba06eef63888b6913cb53f283aedc0233a65c7533ab59f8d3cccc6c63abd0886ba07d73abbf199763cca1027391f154d3a60d04ebba249523c49beddb9f347293a944fe3baf0d1113c5b1ed3babe0ad73a1a2b7fbb12e3f43b916484b9aa3dbcba97cb21bbe370053c9fce7ebca43ca93b2ac7b33bd083c7bc342e52bc8af5bd3b4e23b33b3ccdb1bc6e4b38bc9d3a8f3bf477bf3bf2359fbc083f41bc1033a53b7ba0be3b27a49bbc902442bc6b72993b938eb33bbb4887bc35861dbc9b2b863ba79f8c3b4ea944bc269a2dbccbfe243be99e633b857909bc6daae5bbe831c83a2ff4853b193d92bbdba316bc6788073b53c8503b48f5abbb0a2841bc1f5d543bc14224bd5352093cc6650ebd6864e4bc5d7e2ebd25272a3c5fda31bdb8171fbd179024bdc802243c1cb130bd01ca16bd2aaa13bdec99013cb0910ebd3097cbbc78ba08bd109b083cd5a1efbc0a6e8fbc8b43eabc9adff83b624bb4bc887d9fbbe72fbdbc24e4053c1e842ebc1275023c92e599bc3614ed3b9828b3b97d4f9b3c51cc85bc3150d23b039d063ce4f980bda5fcde3e65034b3f69cc2f3ca1fe92bde608d53e6fb4453f4a3c1f3c55897fbd4bb3bc3e98e32d3f79ea003cdf6f60bd41489d3e0a5d103fd99cf13b212046bd949b793e895be33e2393df3b5e1e2cbd768a333eb64da63e23eaf13b88c719bd21c1d93d25c3553e3883d03b9f5106bd37bb343d8bdec83d3a2fc03b1283dbbcc37dadbb7911543c3680b6bd80cc2e3c00000000000000007af4d0bd9b72723c0000000000000000f49ab2bd43d2573c0000000000000000b21198bdb7583f3c0000000000000000e00089bd729b2c3c0000000000000000234670bd1eb42a3c000000000000000095da5bbd789a323c000000000000000037414cbdee23373c00000000000000009e3a29bde23c083c000000000000000013d5a539fb8c623ae3595fba056b863c1d56edbab7ccaa3b4cb735bb57708b3c70a5b6b8475b9d3aa0deb7bae930923cd75ee5b901d8a33b74512ebb62f4923cea8956b860124a3b466662bb77ba743c1a01afba9746513b55e31bbb756f3f3c40a143b94e8cd53a9df835bbe8d6263c8edb13bbb7ad893b304c41bb6ab5833b2a6b6fba692dd03a018f1ebb7fcec53b0fdc44bcff3f883badb0953b4a4f67bcb644e3bb7d992f3b9e64723b2c8833bc62c52ebc57089b3b07dd693bbbd932bce1c01fbcd8559a3bd93f323bfce00bbc99bf37bcceef7e3b89c1053b69baeabba24b08bcf42b853b34b9723b03ba9abb3c3c07bcb2743b3b6ebed43a1bf175bb0e6790bb8315763a741edc3ab4f4373a02bdbebbc302ac3a640bef3ae1234cbabac9a5bc6bd935bcdfcd20bdf1cb193c6d601dbd0bce46bd39702fbd36293c3ce5441ebd2cd135bdc2a61fbdf0cd063c1eef34bdfd114dbda27720bd4980133c62bd17bd3eaa01bd426807bd5051f73b16c300bdcb96c5bc30d7fbbcd8a7f53b1485a8bcf78bd2bbd579cbbc74f3e33b141a66bca1e8673b836291bc1c74d63bc69285bb3d23923c2f7d6abcad68c43b2ec6b33b61183ebd2958873e07b8793f6084123cd3694dbdb4a87d3e9678733f9faddb3bb22d27bd451b643efb294a3f9c2fc93b50621abd68353f3ec0702f3f0050883bc705fabcb9ae133ee1f1053f0ce78e3bf6a8efbca466d13d1732c53ec67f903b8260bfbcaf1a7a3de8da753eeb5a7d3bf41b99bc6fe46f3c0375d63d8eb5603bb7167bbc213466bc8bef6c3ae70cc7bda1084d3c00000000000000008eefdcbd3c9d7c3c0000000000000000d07d9fbdb9f3313c00000000000000005ade99bd7783433c0000000000000000fc1c76bdb2ae1e3c0000000000000000b21974bd79842b3c0000000000000000fa914abde8da173c000000000000000066024abd8b4d433c0000000000000000539525bd19e11b3c00000000000000007e70c1babfa99f3b1b2e91bbc3927a3cdd161bbb3093ca3b343e533b3f987d3ca27a19ba4dfcd23b4ee2d53afdce853c05128fbab95baf3b79a387ba87b6793c096378ba3726ac3b46a706bb4148513c476e8bba9ba0b13bdba6dcba7767133cc5dde9ba4b3a893b780ba2b904b7a23b937ec8bab051673bb489e83a206f27ba5c7991ba9235263b54e81abb3bba243b81affdbb0f20393bebe18a3a041d5fbbb3e3c6393e1fab3a592b973ac05e01396a002cbb5a05713bddba33baf78666baf4cd80bba0e4733bb297983ace8f5a399418b6bba787803bfc5a313a37defb37f5ba43bb78942b3b35a94f39a3af7d3a101487ba604f973a8ab2d23a4b5c053bf63c303b726fb8babbe297ba11c4843b81ae2cbb7f3202b9a110f6b9dee38f3b1e47ecbcabb80ebdc76915bd223b083c6f1815bd62c4b7bd8d8f13bd51c81f3c712635bdafe6b2bddffe1dbdbed7ec3bfd572ebde85b96bda87b18bdefa0dc3b249a15bd2f4456bd49740abdb7f1e53be7a4febc93e91fbd671bebbc3d40b63b97d8b8bc470dbbbca341b0bc5a18ba3bb73d39bc6a4e03bc190651bca7eea63b5c2b08bca97e883cc0112ebce152ae3b4e0dc93bba3cdcbca71ec83dd41b953f77218f3b9f91d0bcc166b93dd3c28d3f739d933b95ceadbc209eb53d40c8733f96ed233baa8699bcf6e89a3d4d50473f9d7c303b30ae7dbcd3786e3d4ceb183fc358f43a55dd52bc8e43163d428ada3e19c08e3ac73922bce62c5d3cc107833e4449aa3a8d71a4bb817afdbbf239ba3d1eb5f53af0e397bb0dc3d7bc2891a8bcd78ec2bd2d002a3c0000000000000000a6c8c1bd380d5a3c0000000000000000a70491bd37971e3c0000000000000000669b67bde2700a3c0000000000000000e4d23ebdbf0fbf3b000000000000000008e82fbd1727f73b00000000000000002ddf25bdd81ef93b000000000000000014c91bbd79d5173c00000000000000003fa518bd220b033c000000000000000000000000000000000000000000000000a326daba8f98c93b4474d839b675223cd423debac69dac3bbbe08c3a5862ee3b5007c7ba857acf3bb49847ba47adfd3b8fbd6eba20e3b93b659b49bbbbf8b63b63e2c3baf747af3be454d9baf3e72e3bf5b7b2bad33b8e3bfcea2e3943f284ba600c98bad6385b3b514ce539539c02bb0000000000000000000000000000000000000000000000000000000000000000534c0f3b7234193a1db2b9ba768def3b4d563d3b95fbb03abead90ba8420cf3b53070ebbe785253b11a389ba45028d3b330098bab84afd3adbb875bacdad933be7ba18bad536da3a0396e8b907c7813b108e003b25d82b3a49da58ba91c69b3b214c4c3b003a52ba80bc24bad0d89f3b0000000000000000000000000000000000000000000000000000000000000000eb0c14bd527bb4bd70d2e1bcdb4f813b652106bd3e48abbde928c8bcd709513b2f6e05bdc87887bd57a8ccbc7b9be63ad6fcedbc793251bd81cbb9bc7a69143bc7a7bdbcccd91cbd934f9cbc720e253b0dd685bc7018ddbc23e960bc9f6d233b72c529bc09281dbcff9100bc1585113b000000000000000000000000000000000000000000000000000000000000803f349b153bbac286bb85d10bbd6a36953f50d8b63ad84115bbd55c95bcdabf783f1c06243acfefd3bacfd56cbcaf2a4b3f169f27b9a5944839678f5abc1ac31d3f7b063939d9fa15b96a9475bc2adce03e682982ba86ba083b79259ebc5699873eba758eba46058d3b27cadcbc2109c73d0000000000000000000000000000000000000000000000000000000000000000657c41bda2b1b13b0000000000000000cf47dabcf9224a3b0000000000000000113f9cbc2994743b0000000000000000023178bc94c8223b000000000000000077ed72bca9141b3b00000000000000006fa189bcee04133b000000000000000053c1b0bc8dcf823b00000000000000000000000000000000000000000000000000000000000000000000000000000000687f9e3a92b6babbf48b323ce56d2bbc6cfe863aba7d81bb7b10df3b6b611abc671f653a64f2c0bbbba0213c88b612bc38e9903ad74beabb19041e3c28ae03bc5bae193a4ab2a9bbf2ce013cd374eebb4d5562b9c1701cbb67f2983b6cd0e6bbad4eafb977c933bb8986993be145eabb0000000000000000000000000000000000000000000000000000000000000000c118943b62c6eeb8bf70fd3a4b60cdbc2be96f3bf315d4b94de2e03a8d0cadbc9a0a3d3b41e128b98890e83ae4c4a5bcf9672a3b1167b7b907c30c3bc7148ebc3f9df13ad8c81abaeefab63ae2c97ebc0d3c553ba255d8b99f63f83a8f8a41bc091e703b05e706ba7828113b67e726bc0000000000000000000000000000000000000000000000000000000000000000e64abdbce1f2c0bcec784f3a5c498cb97706d7bca5f49fbc7b8ba83af46cd0b99f9c95bc3865a3bc88dbe13a195c48b916a728bcbbdb90bc8004d93a79b2b4b8e4b9c4bbc4588fbcdbfbca3af0f981396d9e27bb25926ebcc4b9643b19b05b38f1c2de3b3f825ebc0c25753bf851a1b90000000000000000000000000000000000000000000000000000803f00000000065ceb3abd3dd7bc81e9833f4ae792bc6fbadd3aa70c8dbc17e95e3f960318bc0d81a43afd0080bcbb3c383f29320dbcd46c813aa2aa69bcf9d7103f30bc0abc91f6133b88c781bc7dc5d63ec15f38bc6b11e83a5a9888bca7c58a3e24c841bcaa97f93a5993b1bc375a063e718c87bc00000000000000000000000000000000000000000000000000000000000000001eb4c4baea9b203a00000000000000009df582b9c26df7390000000000000000114c0d397ff88339000000000000000034832c3919b7b8b800000000000000006184953aa7b30a390000000000000000e6ef853a65fdf5ba00000000000000008e54fd39521ba7b900000000000000000000000000000000000000000000000069c2e13a881d78bc2e53903cab90aabb7552a53a60071ebc1bad333c6a1caabb8030d93a20da3cbc00a3633c079d7abbd9a79b3a083649bcf902743c51759dbb2543e03a93784ebcca24673c04488cbbb566143acf3e2ebc5ed13e3c3c144ebbd9d0fc396c160fbc5ecb153ce21112bbd7ac9bba87cb9dbbd8488e3bc2dcdfbadb76533a096e2abcb208433cb77915bbb3b781bb5294cb3a36bfa23b0f170bbde628df39d875583a30c6a33b401a0fbdd95df0ba8943783af3909c3b08810abdfe770ebbb3de083a1c73a23b4c0103bd2dad5bbb5d619b3adb67913b184eeabce3050abb7fd9003aeca4913bcf16d1bcca6efdbac5af273abdae903b908dafbc9f993eb9cadaf836f371803bba537fbcc4a00fbb37d1803a9389853b8eec83bc9a14793ba49475bc4f9f06bcb308ff3a7936a1bc5b9d9dbc1d95c4bb626f2a3ad8eba9bc63e9a4bcffc6dabb3581963a4ccf73bc9eb6a3bcae27b2bbfac2cd3aaf73cbbb26cb7bbc2c08b8bb5dd86c3ab95020bbf2b87bbc1e2a80bb0fdf943ae382833b6a804abcc31548bb1ea08e3a18f50c3cd02115bc789c88ba2224533a71ecb83c2792c2bb28854cbb899fe03a8070b83b1a0656bd242f843f8e1fe33db7b4db3baed956bd8af8733f024cd03d5e60b33b66f82cbd5fea503f9ebdbe3de6d1ae3b2cf016bdae1f2d3fbd879f3d3c66a43b54f90bbdb325073f226d7e3d0f25b63b27370ebda9b7c93e49e7323d3c489f3bae4a0ebd81aa833effcec93c932cc53b85100fbdf794fd3d1036a13baf78b43b096e09bdbdc65c3ced5d43bc62787bbcdf4b2b3b00000000000000006e3e83bcee96373b0000000000000000cfb75abc558b203b00000000000000006cfc37bc5ead023b00000000000000004f3c1abc32f80b3b0000000000000000823722bcdabbe43a00000000000000006de21bbc68c8df3a0000000000000000b16e05bc1686ba3a0000000000000000bbb614bc9323d33a0000000000000000da8c3f3bc84295bca8326c3c4feba63b18abfc3ae00588bc1d64613cde5bc63b2d05313bdb5189bc811f773ce318933bf501143b52f98abccdd66a3cfc79b53b3ff4163bcf6391bc65b4653c58b98f3bac941e3bf3a26bbc4a92483c916ba43bade6aa3a3edc5ebc3c4c2a3c6b4ce13b2b4d873adaa023bcb5b8ed3b329ad53baec4503a799b43bcb2cc113c36c6c93b714d1ebc558dc53ac35cb33bb8a10cbda3e328bceb9e3c3bbce3cd3b01be1dbd6a8d34bc23d3b93a4704af3ba1020cbd60e11abca1b13d3b8026b33b26dc0ebde38b15bcaab7973a07fca53b9548f1bcaf1720bc1b27b03a34f2a23b65cce5bcb10918bc0141923a41749f3b0688bfbc8281f8bb4444e73a832e9a3b4832b0bcb958febba5368d3abf1f9f3bcb0997bc3c7d1c3c7b2e80ba6d9a96bcb764313bbce07ebb23421dbcb14a8fbcd590843b0d5b8dbb07b61fbc4a488dbcb39ea33b61abc9bb57a228bc34f684bc2740263bc155bc3a5822f5bb7f225dbcdb691f3bde9a753b1c20e6bb0aec59bc65f9ac3bc48a113c02feb6ba02b24bbc80b0803b8bae683c6d00c3b9855511bcaa41733b0de4993caa5fa03bb1ff17bc502e153b0348dd3bf12665bd6d4b5f3f7aa6843e756b0d3cef2081bd918f503f6b7f713e3ebfd63b9ce148bd1d662f3f248c573e8c9f013c42124dbd596f163f8a5c333ef364e03b28f02ebdf05aeb3ec4050e3ef51be33b8eeb3abd97f7b13eda70d73d5bacba3bcc211dbd2b85693e425f903dcfae003c5ef92bbd3b10f43d9dec0c3d9bc3d03b339b0ebd1806963c1e4bc33adf7febbc594abb3b00000000000000003a91f8bc226aa03b00000000000000008beaddbc4c4cb53b0000000000000000117dc7bcfda2933b00000000000000000da9acbc925e8c3b00000000000000006698b0bca84f763b00000000000000002a35abbc0e55823b0000000000000000d266a8bc05ba8a3b0000000000000000f2278bbcbf5e863b00000000000000009e0f3c3bd5589ebc0858563c9cd9793cceaf263bfc3b93bc73a62b3ca8c97a3c2cc6133b5f848dbc6a6a213ce46c763c0699003b260b87bc4baa223c9c3b773c3035113b30db9abce850183c5ef28a3c1d00d33a248079bce6b9013c8569773cf6c78a3a07e175bccc080c3c18b77e3c7c93c83905bb45bc953b963bad627e3cddc0f23a434462bcef09033cfc346e3ccc0d8dbc08f85f3b8c4cad3b652f09bd327e93bc3607843b40a8cc3b432b19bdc6dd90bcd965773b0527d73b33f40dbd441492bc620c663b784db83b431403bd75d090bcd1b24f3b84e3d73bb222f4bcfa628bbc3bf8483b472caf3b38d9dbbcd0a780bc5a9d3d3b9a70b93b7622bfbc36de82bc09ea4c3bf984a03b9b5ea8bc84316cbcec46483b4419903b0cea9dbca9674a3c88c2163ccd10d4bcb7d3843b345f36baa7e40a3be9c3e8bcc6dfc13ba969cabb5a36aebaa8fed2bccb6e9b3b8f80a6bbf95d6dba8cefc8bc5dc5bd3bc02e77ba1edcfc3a6e09bdbca98cae3be17ef43acbb78a3bbafaa0bc9f1eab3b5de8d13b8b00963b25739ebc0ebaa03b53dd263c35fa4d3ce02d9abc3ac3b93b7ff7833ca7bb723c165a8abc0ecf713bc300cd3bfe905bbd867e373fedd4d13e0628193cf04a7dbd2cfb2a3fb179c13e9c57073cc0d15fbd0a6b143f98efa93ec34e0e3c79144bbdf1eaf73eed738f3e8382f23bb0ea3abd766fc43e0b77663e91d4f53b315833bd98ae933e335e2f3e6e1a033c1a2931bd85fd453e637ced3dafc1fa3ba73325bdc1adcf3d624d7d3d145af63be88f0cbd0c5f993c9776583c9e8820bdfdd7b13b0000000000000000aa7d36bd4f76fa3b0000000000000000961f21bde5b5df3b0000000000000000994516bdfc44e03b000000000000000061210abd76d2cb3b0000000000000000d805fcbc0601c63b00000000000000007fcffbbcee19c13b00000000000000004b21ecbc62aadb3b0000000000000000c96dd0bc4338943b000000000000000085904f3b147295bc457ffc3bd7b1b83cb047303b163d86bc1f63b13bdb22c13c5414153badbb83bcaabfda3ba942c13cc8ed263b23e082bcd18b913b28c1c63c2c1e183bb30877bcad3eba3b4ab7b23c0006033b13466cbc41f25e3b2623ba3c8904c83abb7547bc5987113bae29a63c55cd9e3a870038bcf2539f3a5cd5b13c47e4e93a610748bc9f2e563b0c52ae3ca445c2bc71cb983be464a73b48bffabc78d2bdbc6b98833b2bfbc53b5bb302bd37c2b6bce43f823b3621913b771ff3bcd4dfc1bcf506953b5823c23bb3bde8bc5453a7bc89cd423baa10933b94dec2bcd343b5bcec11853be2a5b43b2718c2bcbf1f9cbc6ce26e3b20f28f3b442ba3bcb556a3bc3c03743b126b973b9d4393bc4d7890bc5bf0403b75af913b185687bca05ff63b8f05943c249200bdd69d993bc5d112bb5d683a3c38170dbd2b2df33b09c8dbbbbe72dd3b0c46ffbcc8b8d93b2f93f2bb0c9d033c3de400bd0d0bc63b7dcd00baa8c0493cb354d1bc1e678d3bf83eebba9d6b563c3ea5e2bc93b6b43b6bf3af3a3032843cd705c0bc4b48d73be74aa63bd4e3b33c90a3c2bc8b94c53b51f6133c1c87c33ce5d7a8bc524fa73b18c4d33bea9543bd7ab40f3f90c60f3fe3e4053c062055bddbdc033f6a4e043fd7b9bd3b355c3cbde4a7e43ec0d3e53eabfd0d3cce4735bd7219c13ea2a5c43ef3fbaf3b8f820fbdb0b2953e7df5983ef3b4ef3b136221bd38be673e8d4f703e611ac93b6ab00ebd7f88183e5b84243e1558e03b0cff0cbd93769f3dcf82b83daa34b53bcdb2f4bc8f574a3cfe38ba3cfbda3fbdc954d13b0000000000000000272555bd7e51023c0000000000000000266938bdab60dd3b000000000000000043f436bd6c12f83b0000000000000000e01210bd5309a93b0000000000000000d9e822bde086e33b00000000000000009f270ebd921be33b00000000000000009b4814bd6780e23b00000000000000007b2a03bd8b70bf3b000000000000000041a1e13aa0f54abcddca4db89a3eea3cfa72bf3a2eea19bc86eb35bb4fd8f03cdeef1d3baec705bc4cbf66bb666bf33cd4372439adfb07bcca043bbb9b19ed3c2520db3a261a25bc807e3cbb0a4eec3ccc006e3ad94809bc324475bb1d6de63ce9bfd2397affe9bb0dec8cbb9417d33c545323395d03c5bb69f6a4bb5f22cf3c9fc5b43a8a93febb0e4f18bbb6b3c13c8d23d1bce4e4933be2d08d3bb07cc0bc67ffdabc1339cf3b1ba9813be2acc0bcea8fd5bc6afbab3b07a4703ba2ccb9bc5e4cd2bc0a7da23b4803923bc2f9acbc81f7cbbc7f94963b095b4b3b11d899bc971dc4bc0ae8893b587d723b1c0688bc3d02b8bc127c903bf70a673b0e1d61bc0c3db5bc99358a3b099f4e3bc6903dbcfbbc9ebc6a9c7f3b74d1563b39b146bc7b85f3ba2e2eb83ce28913bd62c2c13b3a3c44bc14ee4f3c9df122bd97db063c76809abc9954093c81ac19bd4cd1e83b7f8590bcfabb173c408910bdd1bee13ba03652bcd522623c1d4a07bd9086e53ba7603dbcb3de8c3cfb80fdbccbbaf13bb4f001bcd8cfae3c7477eabc3aebe63b053f8fbbe1d8db3c7a8ae0bcccc9093c5be14d3a2214ee3cfa0abfbcbff1b43bc679b83bd54c1fbd452bd13ebcd4373fd69bdf3b5cb937bd5ca0bf3e5d6e2b3feae4c93b9d9021bdac91a83ea98f153fc90dd73bdb611dbd1b5d8c3eaef8fa3e42e5cc3b756707bdd34e5e3e8d52c83e5708b23bb73301bde8e0243ed467983ef655b53bf03af0bc39dcd63d19574f3e6474bc3b8bd2e2bcd2474e3d6659e63dc866983b332ac3bc61eb153bb053e23c15735fbdfd55dc3b00000000000000001a387dbd99b8253c0000000000000000cf105fbd1658163c00000000000000005fc64cbd3f141b3c0000000000000000cf5233bd5b69fb3b000000000000000028343abd6a91003c0000000000000000f5af2bbdf3fb013c0000000000000000021029bd38d2083c0000000000000000092e0cbda931be3b0000000000000000ec158a3a708bc5bbaa41debb4228e63c653f053a95da64bb32ab24bcad4afc3c8c6e3b3ad050b0bba208dabb0c8ce73c0c0b013a0b8d5bbb31c20bbcba99fd3cd56a053a4ace7fbbd91623bc9ac8f13c59142f39491a3bbb0f4d23bcc587dd3ce4af243a329e91bbd5ccc2bb5e28cc3c3be5a1b9a2b08639e96c29bc28b8c63cc0470aba73a142bbd15ad1bb6d0ac13cf82ac6bc84b6a53b2c413b3bb4c878bca3c9d8bcdd75c43bc2762d3b34eb78bc3e85bdbc28d0933b60b23d3b725360bc050adcbc788fd63beabb0f3bde0041bcd8c7b8bc10a6833b3586243b845227bca378b5bc86818e3bc0991d3bc5b80abc53aca5bc3bed8f3bea09293b952f07bcf234a6bc58a6933b395ca83ad5e985bb83bf98bcbc09703ba51e0c3b96cfcbbbef8449bc05f89a3c4b5111bdf1fac33b455fbbbc093cfa3b1b8f28bd6036023cfb42a4bcd049a13ba6600ebdf847ca3b4772cebc7b6cbc3beb4f14bd3c9fd73bf96fa6bc96b5523c01be08bdea24c43bfa94a6bcf7db813c501107bdeac4f53b054f42bc773ba33cc3adddbc71f9c53b6dc95abc308ee03ce44cdabc6e7aca3bd1d2c4bb1541fb3cce3fbcbc4f45d93b000b833b477ce4bc572f843eba935f3f40d8a23b223fffbc73e16e3ed616513feeea943bb6bcdcbcb02a533e17cb2f3f5024803bb883cbbc9a042e3e0db1173f3848683baa4da8bcae3b073e1253ee3edf49753bff5cafbcb1e7c73d6ea3b53e2b30173b714ba0bc4458793d89ac703e4950343b0f178fbcc0d2a83c6b5e023e8d7b893b114383bc505100bcfa9bd63c036864bd075bf13b00000000000000009a2982bd58fa1a3c000000000000000082fd45bd79d2ff3b0000000000000000d9c548bd3d98053c0000000000000000bbbb2abdca03e23b0000000000000000980833bd32510d3c000000000000000069e819bd8f6dc13b0000000000000000895027bdd2941d3c000000000000000002900dbd3ecfc13b00000000000000002b92beb9c3151f3b391a49bcd520d23c33b000b9434d8b3bd2b83ebc274fb83c20ceeab9a82b0c3bcf0a3dbcaf28c63ca85ad1b829c7043bbbf343bc2073c63c7e96cd370d98753a9b9031bc6d23c63c8fcc75b9e98ef93a9e1838bcf2ccaf3c9f4c2eba83b40a3b7e3226bca572943c7b7f2abaaa2c733b84f821bcdfab803ce2a521ba2561343be1312ebcedfd9c3c132aacbc94a19e3b18f9d93a5c6c02bc260395bc2a85ad3be99712399f1e80bb2c159cbc53519d3b7bc49c3a593685bbec4599bcb8f0803bfc893b3a91a039bbabe395bc075d753b4ab5d63999a739bbfe8196bc2a4e4b3b6796f6398997b0b94f4e7cbc5980473bbd65913928ef2bb71caa61bc34ec223b953b19b927fc0b3b44a86fbcbc1a3c3bf4a3d1b8a908a93ab543b6bc49551e3cb08c0cbdd2ec8d3b5b3df4bc1d7f52bcbd0610bd6233ce3bfedafbbcc08f60bcab390cbd8358993ba011efbcd8890bbccedc03bd1a1fa73b4da5d3bc6900b13a1b87f0bc2009a73b2825c1bcdc8f8d3b4ee8e7bc947acc3b3d559ebca7cc343c9df6c8bca660c13bfb2884bcfcd58f3c3eaeaebcbed9043c715955bcecc8e73c99dca1bc7a75a13b7ce9063b9c1472bc4596e03de81c843fcbe1183b040a71bc5f76ce3d6ed1733f6bfb0f3b810a57bcddd8b73d2dba513f9dbcea3aba123bbc5ab7963d17ab2d3f50e4e93ac81831bc7a4f683d90f4073ff722b53ae5c31fbcbc70133dae22cc3e2b1ec73a05930abc6f6a883c4bba853ef62f503ad82fb5bb3c6da4bbb9bc043ed679853a38d9d3bb13d4a7bc29cb933cef335cbde882cd3b0000000000000000c0be55bd0dfaf23b000000000000000018942ebd5f01ec3b0000000000000000044018bdffbae03b000000000000000040af05bd31d4b03b00000000000000007d5c04bd239fb73b0000000000000000ab9f03bdf969b13b0000000000000000fff908bd9ed3b83b000000000000000058c902bd7f49a23b0000000000000000000000000000000000000000000000005d21bdb9589ec13bcbef3bbc9a4d583c03c285ba4715b13be85f19bc0d182c3c08fdf0b9ae5e723ba7c72fbc0a88363c62518ab9dc87793bdd7e34bcb567413c617c0fba2ffb883b6de11abcad682e3c3b5e40ba4e9d913ba16e0ebc8a92fc3b269c53ba02b6af3bfcaa0fbc6929f93b0000000000000000000000000000000000000000000000000000000000000000ef0b30bc46a0323b946c23bad6dc093be0da05bc55db053b01774e38ed8c303b7c7907bcec7cc33adf52c1ba042a6e3b0b9804bc201fe23a97e8fdb8be1a3f3bb50df0bb6a44a33a2b371cbaf10d5f3b9b12aabb35d1b83a603f19bacc098d3b2d17c0bb5d7b9c3ae35845ba7ec3b23b00000000000000000000000000000000000000000000000000000000000000000056ebbc9f5bafbc2c93babcc99b053bc352cfbc7cc5c1bcaacfa2bc54dc123b310abcbc614684bce5209abc63323d3b7f92acbcee8311bc96598bbcca38f33a0de59ebcc55a91bba4587fbcac123a3b578175bc2f33a1b9e16050bc3b282f3bb56b78bcc48b123c405145bc74b23f3b000000000000000000000000000000000000000000000000000000000000803fb652263a130fc3badb4599bc281f843f3d20313a58fcd2383aa644bc8a5a5f3fbb1a563a7042393a39422abc4d8f383ff0ae00b88d873e391abc3dbc1b0c113f694187b9380ce63913b563bc9efad63e2bdd44b9332b1a3aadc988bc50678b3e117b5fbab348a93acce1b7bcc992073e00000000000000000000000000000000000000000000000000000000000000005400d6bc7167153b0000000000000000e27f89bc6a0e0e3b00000000000000001ed06bbcf0ef7b3a000000000000000064bd52bc9f14e03a000000000000000099555cbc3263e53a0000000000000000bc2d68bc845aa73a0000000000000000680197bc489dd33a00000000000000000000000000000000000000000000000000000000000000000000000000000000a234dbbb6211123c835d153dd489c93b05c285bb83a6223c4a92173d87d4083c38c013bb5ae0283c97e5f43c2c9f083c7fb4bcba85771b3c65a9b73c00db0d3c9fc870391cfcc93b886a873c19ecbc3b81cfe6371f2e8b3b2bf2273c57ff603b4ab765395c1d3c3b2affdd3a3f261c3b00000000000000000000000000000000000000000000000000000000000000004abc91bb6bca51b9d2a9063bcd9e293b99cacbbab02018bb4c1a043a0a8690bb51374cba233cb7baf24faab86ace42bc66842c3a7806d3ba37c24db995a04dbc0987073aafa58bbabfe096bb836210bc1366d1b99d15ffbaa1378fbb27f68ebb61c2213b62b0e4ba076aaabb266bfa390000000000000000000000000000000000000000000000000000000000000000b44558be145f52bb58cc0c3c74edadbad53d55bee4fb0bbc20f3c43b5e448e3a44863dbe252a91bc8479cc3bd4c547ba065819bebfd9a1bc6021633bc053483ad75ad8bdc77a6fbc9a8a863ba418a6b9250582bd20eafabbf8ada53ae480193b3b5181bc5f7da0bb7aebdebaac37053b0000000000000000000000000000000000000000000000000000803f00000000fe72983cf617e7bd8979ac3f09f4dabdeb0f553c22c190bd0d578f3f215183bd747c2b3cd89150bd117a6c3f82cc34bd976f063c89ec0ebdea53313fd4c0ecbcf5b5e53bcf9fa3bc008de93e77b58dbc4496b13be90798bb93bb6b3ed190a0bb0df78a3b23cdb43ab2ce823c7c9fd53a00000000000000000000000000000000000000000000000000000000000000001a1c583c31f571bb00000000000000001f13cc3b7e39eeba000000000000000094f36b3b34c71fbb0000000000000000393e903b4c2688bb0000000000000000c1ce023b62a004bb00000000000000007aabc73a45362ebb0000000000000000a6ea9a3ba2db88bb000000000000000000000000000000000000000000000000f0b3f9bb34d4983bfa15a03caef4d93a904223bcd286dd3bc9571d3decf1c23bf607cfbba6c01e3cc909223dc4bd2f3cab9999bba9dc2f3c9e04123d212f5c3cb71458bb822f0b3c0c2fdc3c508b393c590c0bbb86bbef3b22fa993cc5f82a3cb294b4ba7af8a43b3c87403c4c8cb73b76d9fbb8b036d83a2614243b6fe91e3b65fa0cbbc4e10c3b41f178bbb39dfd3979bb49bbb8aec8b84c9e093c89354cbb86b8b1bb2bc7d1b98366563b6cbf873ca9b29fbb0a47e1ba1e66443b879b923926f652bbb0efd8baca7c293b0711c1bb9f59c0ba883528bbfca51d3ae40906bcdfecc2ba40a91ebb3f722bbb00cf67bbf994f9392c96d2ba2bc1abbbe013dabaa1ccb9391307aeba0673fcbb90781c3bfe283c3afcbb84bac61ca9bb7c74ac3b676ef5bdb9087e3bf1f64bb921ed343a0ccc50bedf8dfb3bec0235bbfcc5033bf12b5fbec4b077bca29b493bda5b223b74494dbe8862c9bcd279723a8aa70f3b579d22be4f7dc4bc5837d63a3f9b493b8eb7edbdc4219dbcf7d2f8ba4bdb8d3b47a684bda61a66bcdc5030bb8a08f53a3cda96bce6a990bba60e84bba9d7433b1b9d6d3cd8618f3b516b0dbbe07d5b3af55b1b3d6d0c4dbed580ac3f66018d3c5cb2243d65b142be4c0ba03f01aaad3c5486f93cafd918be2ce48e3f226e153d7698c23c73b8eabda8b6693f3c6f383d6fa9a33c0275abbdec032e3f83ca383da7618a3cace963bd775de33e48a5233de2aa5a3cedd5e9bca13a5d3e141a113dc816e63b4385393bcfe1a23ccd6a083d06e5193c37a59fbb23c3e3bddaee083ac37e84bc0b60703b000000000000000095ed4dbcfe920a3b0000000000000000d64a92bcd3b57a3a000000000000000077fd83bc79c08f3a0000000000000000900d88bcfedb9f3a00000000000000009a8e49bcce7f0cba00000000000000001e512ebcdaaaa83a000000000000000008533abc3fcdf0390000000000000000734b08bba979303a0000000000000000cb4903bce609b33b2484343c8844ae3b1b1203bcd7ea0e3c943fca3c7dc25a3cf9e2b4bb4312083c075ff33c29cd833cbf92a0bbd0ba2e3c414ad63cf659933c5bcd3bbbd662e13b3d899f3cdfcc5d3c8de6baba1f3adb3bb01e6b3cd199473cf32f14bba877a53bafcfde3bf45ff73bfdf038bb82c3433b1c22c73a88b58b3b693501bb0b55e43a4c5f9cbb5619463a9a7f76bb573514ba97c53e3c5c053bbcdf6eb3bb96983cba3915db3b82e063bb309586ba8a928abb4cbef83b21271fbcaac42fbb0b200bbbeb28313bc65926bcc7c9ffb968e705bb8c1f403b1ccd20bccf677b396f3968bb857b2dbbd978abbbb70f4d3a47c435bbdc292abbcea974bbabf6403ab095cebaa33a9cbbec74db3a9c51843aeb57f6baa07282bb7df4bd3bbbba96bd64e604bba99de6bbadcd3d3b7d751fbed59dcfbc42b7fbba157c273b013a2dbe084b38bd7e8119bb4b127e3b68f128bef4df40bd4e5c5bba387c7c3b5c1700be68112dbd8e7779bbb705863bb9fbc6bd2be509bd62ba77bb0401573b1d3359bd7b99a3bc067584bb633b813b854498bcf688f4bb941a35bbaf4a063b5472ea3bdf7dd23b2fd55abb8f84563a8e22183dc25d49be96f68e3fa948693e260e3a3d629a54be40988e3f49535d3e718a083d612f29be4aaa793ff312573e1d8d023d4f060bbedce84e3fd97a3b3e169bc93c440cd6bdac021a3fe5571a3e0725bd3ceb7099bd6980cc3ece88eb3d61239c3cb0704bbda060503ecf2d933ddb725e3c5a91a7bce259123d34bc163d2f0a433ca85868bc87ae8bbdcdee9fba993d75bd344a4a3c0000000000000000cc917bbd689a553c0000000000000000077862bd8c7f2b3c0000000000000000ca2e4fbd2b6a143c0000000000000000daaf20bda6cbb33b00000000000000009f090abd2fa6d33b0000000000000000dc0ac1bceb74323b0000000000000000e52a8ebc9875773b0000000000000000cea919bc3a24663b0000000000000000588a8bbb682b463bb1cf0b3c980d113c74e4bfbba72f913b0073a53ca6798b3ccaf7b6bb1569033cb78fbf3c6f37a33c27aa58bb2841023cb944a43cb775a13c035a8bba136dad3bc567a63c18557d3c067138bb0bf3e73bcee5373ceb895b3c360811bbbba3993b88ffce3b19e5013c2f6906bb5f5d343b4b05433a4a40733bcdfefebac955dc3a484631bb69c2063af8faa7bb6338aeba4668293c848db3bca7c813bb1dfc14bb74dd123c3ab228bcfd1a5eba5d4659bb9483c73b98871ebc09db8eba1a5531bb57397e3bba1d48bc4950c73a8dc82cbb24f896397ca918bcec9d5e395aa0ffbaa51b8e3a770620bca5fb9438d48a15bb7c9d35bb68e403bbd4f26fb9dcf171ba51a25dbb54cf83b962d1c5380e02e3bad38b87baf788263a403d50bdca6b84bc967241bca687a93b7360edbd318862bd8fe10ebc7ca9e43b385610be37f08dbd419b16bcc155f53bcbb701be04d790bd471de8bb1dd3c23b1b51e2bd9a4680bdf91024bca2eec23b80cb9ebd12af3bbde6dd09bc3e0ca53bd9c43ebd5cced7bcf63fb0bbdaf7313bd5fd77bc6bfff1bb5111a3bb1de1893a38b1b33b86180f3cb4fb56bbbc21ec3a0070053dcb5633be98286b3f4da2e83e97fa253dcc8f42be466e683f9117e53e3a350e3d77e424be499b4e3fb743d03e329ff63cade903be6340293ff60ab03e5fabd13c0ff8d1bd10a3ff3ec4a58e3e43ffb83c9c7898bde4bbab3ef092463ef5599e3c648950bd64a7343e9af9ec3d43a6843c8fe9efbc2e511f3d725a323dbcf5403c27feb8bc263631bd76625ebcbae7d9bd328bae3c000000000000000058f0e1bddd8caf3c0000000000000000cc48c9bdd9e09e3c00000000000000001ab8a6bdf95a753c0000000000000000a44f8cbd21ff573c0000000000000000d3db4fbd70fc223c0000000000000000bb941ebded1c233c00000000000000002b95cbbc8eecfb3b0000000000000000a9fa93bcfc1be43b000000000000000036392bbb53750abad249cb3b2bf8373c3baeb1bb345d6d3be694713c6b04a43c00f9f9ba3da41f3b5d3a8c3ccd2cc33c9fc426bbbebcfc3bb1b4873c8008bd3ce54165b7c60f343bee88223c5cf8703c2dd888ba055f913b5c091d3cf7bd603c92d390bab9fd5c3ba9e4803b17180b3c903476ba3c44bc3a31edd939a3d4623b5f4e6cba3281423a682585baf1610bba79a659bb965e17bbf3f2063c9691a4bc656997ba54255abb879ffe3bcba342bc4eb6a33887d564bb05079e3b965b4cbc06c21b3b6d0d87bb6933663b80713cbcb8ebd73a313df3ba05c9153b36c26bbccbc5a43a9ce202bb2f5cb63a8efe04bc3be5653b9db39dbb9d0b7cbab7c180bb2924f6b8604848ba1023eebac9c4d7ba8b9225bad53b77ba2a23b9396264afba4e6c01bdfbebefbc85e793bca533153ce916a8bd0d92a6bde4b042bc2c7bfa3b3540c3bd92f8c1bdbb8e6bbca6860f3c3244cbbdcb22cabdef5951bc52a8e83b14978abdb9428cbd632484bcab41d53bed9b7cbd686676bd0f703cbc3819a13bbaaa0fbde5de03bd147a1fbcc9f4c43bfe145dbc92a4ddbbc919c0bb391e013a24d1c03bb1800f3cdbd60fbb261f7cba0c1ee63c7c3813be487e303fa908303f6ea5053d84d319beea902c3f38102e3f8ae5e33c1e1000bee155183ffb9c1a3f1587cd3c342eddbdaa09003f0c17043fc467953cbb499abdec84bd3e0222c33ed0239e3c379989bd654e853efe8e8d3e6b95803cfe9c3ebde5ee103ec9831e3e561d553cc6f8e9bc1480293da37d443d7be02f3c6087b2bc6cb2ebbc4269c8bcb57314bea131d63c0000000000000000be391abe5035f33c0000000000000000770f00be93b9ba3c00000000000000003b4ee0bd70bca63c00000000000000001f539bbd3c664b3c0000000000000000b8f58dbd48e8693c0000000000000000eed63dbd1dcd183c000000000000000006fcfabc49ae293c0000000000000000b2bcb3bc9d54213c0000000000000000653dceba279d46ba79e7933bb49b443c0dcd02bb1e385f3ad4163d3cdac1cc3c4c32f6bae3d86e3b139c793c0e12e73c4eb3b7ba3aff6d3b151a4a3cd349dc3c021e66ba22cf953b34c43a3c53ceb93c56d297babb6d993b34f2023cdbf6863cbaa6c0babee5443b30028a3b768d163c3ae52cbb38a56f3bdc2e383a1394093bc4c923baa80a9c39c846e8ba59c08cba21112abbcdecc3ba8f41a53b4b1876bc9d32733a2b30babb8de9863b45e51fbcd38d343b32a6c1bbd585343b983601bc0eb6823b9b17a1bb1ee5203aa29204bc12ff843b65fd8fbb5f44233ae2d8f7bb01664f3b7c08b0bb265b3539f2d6f0bbf776043b1a656ebb37c591ba01e8a2bb28965e3b11cf58bbd849ce3965c14cbb77021d3a050a06bbcd01a9babc7d2bba21b88ebcbe6e45bd5a2ca7bcd1c90d3c4d2253bd9649f1bdfa2306bc0ae8253cc53c8ebd7bfe0dbec8cd2fbc8e8b183cc3398dbd7a6303be1ee06bbc0521203ca05080bd50e6dfbded294fbcd5a8f13bfb0340bd4c709cbd7dad1ebc8951c33bcec1e7bc3a232dbd41cdc0bbcbbf123b131737bc56c646bcc1ad37bb455c11bab792863b2ddf463c6289e9ba80632c38a4e4af3cdc4fd4bd1cbee83e5e1f6b3fb74ed03cb389e2bdb268e23e06bb693fc5e7ab3cc388c1bd05f5ca3eb175503fcb769d3c17699fbdd9e3aa3e89432c3f8449903c28a488bd37af853e6ee4043ff70e723c76c447bd84133b3ed4fdb13e7624423cda1a0fbd6e39dc3d9c663e3eb0fc373c92fcd0bc986e213d62b8343daf1ff83b925b77bcf52b80bcbaa32cbdd3f434be5aed0a3d0000000000000000ad5043be2030193d00000000000000006e6423bed1bcef3c0000000000000000964607be89f7cb3c0000000000000000e109d4bd4453ad3c0000000000000000be6a9fbdc676883c00000000000000008b8f5cbd0e30843c000000000000000021e8f5bc03474c3c0000000000000000a258c5bc75c1463c00000000000000006f1a9bb9e3c90abb54f7613bdc137f3ccc9c5cba79e16eba0951033c9bf7ea3c32352aba908e8e3939af4b3c37a2083dbe21e0baa9806e3b5ab7503cfd6dfc3c7d8155bae5eb043b0ba5203c8cd9b73ce199aabaa509593bc13dda3b6d29993caa78d2ba4f37523b95cea23bbb0f153cb5ea1fba0542133aa54c183b12b1673bcdfce0ba53597f395cd22f37cb7f2cbb1e00e6b9114ba2bbf809e73a72460abc0fb9823b699eefbba9ceee3a130ee1bbaca7d23beb77d8bbc648bdba2af90fbb73b6ce3bac02e5bbb58da7b8e5479fbb79e6b63b43f05bbb11a23cbad011a0bb3f44c83bd2c4b8bbf3459f3945c09dbbcc528b3b1a9980bb8f28bf3a26b3c3bb8a1d373badfb51bb045f15ba63447dbb0529ef3a9d5d38bb715e253b11b4f0b8b09854bbe88398bd2dba09bc784b183c71d6b2bc95d520be8edf86b96e82013c1a3937bd88842dbe49d54dbc6ae81f3cb0e035bd796e27bec83016bc8d520e3cfea125bd3e7a02bea8b461bce3b8b63b8a6309bd3f1fc0bdd28b15bc0f9eb03b7c75b1bc81c44fbd3f4ce3bbd2b2ca3a66082bbce2aa64bc648a66bac189f0ba77c4c63a8daf4d3c820e6db92a8e0fbbfd2b653cfa5578bd9af86c3ea5d38e3f8b95783c53ad71bdaedf593e60ce8e3f47ab833c9c5f5dbd3211523e41457b3fb4fe643cf5e43bbdcc20313ef8cb503fa94a373c36300cbd93c80f3e29231c3f3296183ce380f3bcf4fcda3de077d03e81d4023ce01fadbc202a883d7211573eb463e03b3d5f7ebca8b1143dd261143d2f9c4c3b74e831bc43f794ba03f784bd0b3e47be31c5143d0000000000000000d1a255be90b82a3d0000000000000000ac8226be110df63c0000000000000000fdb90cbe2db1cb3c00000000000000007db2cdbd8d2ea53c00000000000000005fe19cbded2a873c00000000000000009b2545bd72d1663c0000000000000000bd18b3bc57fd1c3c0000000000000000833365bc9c783c3c00000000000000002a260e3adeea53bb8e26f03abbd1ab3cafe5843add4aa3bb99b6c23b8b74283d4d72853995382ebb4527093c8371323d3d9de8b9f2dc933a31b8253cf44c1c3d4d4c46bacec9b63a1f5b173c1920ed3ce9663cba2323123bcbcce63bf959b73c6bd141bac11f0d3bb7f0793b00ba523c0ff582ba07000e3b12c44e3a5ecf8e3ba21abebac2baae3a34af923719d474bb23e5b03ae769c3bba2e6f7b9e33977b9d4fc5a3bdc211cbce737f9ba4a6c6dbb7b25cf3b2132f2bb9fd8f4bac0d7f0393c36063c85ede3bbccd618bbcc61b7ba714ae93bdbce95bb5e8fd8ba15a533bb5cb8b63bbcb680bbf7b7d8b90cdc83bb0e80813b37c530bba789eab988136abb73ddb83ab0a1caba639e453bdb25dfbbc03bbe3aa06f0bbb9209a73aefbd22bbc2b2713b2f29f8bd02b0383aa777c73b6769d53b5b0751be1e949c3c1f8d663b38d662bc393e60bec90ab43a287fcf3b2ff8b4bca7a34fbe60d4a3bbdca4d53b09ccbcbc3e5a22befb6908bc5fee973bc4389fbc70e3eabd7188e0bbeea3ea3a43986fbc7da581bd552b87bba079f0b99c1bc0bb981e91bcc3871c3a20bc80bb745c013bb3958d3c98bc303b159726bbbd38803b003f7fbca9209a3c5363ac3f7bf4cd3bf14f2dbc7285b53ceb00a03fdd14bd3b809e7cbcd5480e3d7c158f3fea0db13b46834ebc8433243d6cd06a3fdff4b43bd0ee3dbc3b66223d4cdc2e3febad903b73d41abcccf4173db73ae43e7c0ba63b52fb13bcb63a0e3df4ea5e3eb836063b120a17bcadab153de462a03c890c163a3c45b8babda94c3bde82e7bd6c084ebe250c173d0000000000000000f84343bedfc91b3d0000000000000000d3811abebffed23c000000000000000013b8efbdc219a33c0000000000000000976ea9bd96dc743c0000000000000000606b67bd981a4e3c0000000000000000ed23f0bc55f5063c0000000000000000dec0603b59e3383b0000000000000000f7fd81bb077cc83b000000000000000000000000000000000000000000000000f229b03a687e1abbababb73b71a7183d553622390505e6b79b86173c4bd3133d56025936ec44773726a12c3cfae6f33c10345e3aa567b43a79aaea3b402fbf3c2fb679baeebe313b893dbf3bfbff8c3ca7a8a5ba5717d13a28ef7d3b77550e3ccce379bac85e043b3f432a3b6af44e3a00000000000000000000000000000000000000000000000000000000000000009dc3dc3b429bc4bb6d006cbbf2b38e3b9bc80d3c5c22b7bbc78151bba422513bdff30a3c70b475bb9233dbba89080c3b9eb9133cef8800bb52b848bb69d7c93aa91dfa3bf5ab5dbbf32889ba3d0e85ba43a7923b7cb88bba77eebe3a2f0b41bb1e5b893b17a6a3ba28b6b63a2ebb66bb0000000000000000000000000000000000000000000000000000000000000000caf23fba032b5cbe5dd29b3b1b65193ba4ea06bc0bee55bed32c55bbf93a793b904098bc9ce93dbed1f64dbc8b07553b4b2d8bbcd0fa1abe29ff5abc59fe133a79864cbccb44e0bda61132bc6ae9193b2918e3bb7a0780bdd73c91bb3520fbba5b8662bb369f75bc8427feba316c15bb000000000000000000000000000000000000000000000000000000000000803f17bba5ba7d19823cae76ddbdf2a7ac3f8ba163b92281343cfe5d85bdf7248f3f99fb353a5dd1d93b234338bd624c6c3ff6d7a93adb3ce03b2e1cf5bce7d7313f08f19f3a6877c83bc8da9fbceb4dea3e0c78ebbaf4fa8c3b721218bb0d5b673ec2fa94ba20d19e3be8fc123b0e5f683c00000000000000000000000000000000000000000000000000000000000000008e9ae6bd83fe813c0000000000000000f7078dbd6ad20d3c00000000000000002e8444bda35fd03b0000000000000000fd9a07bd4b29b63b00000000000000002efc94bc7078963a0000000000000000a22a42bb99c1df3a00000000000000002dd0403b6637523a00000000000000000000000000000000000000000000000000000000000000000000000000000000e44ddebbab115c3cd534b73c9070213c86bfa2bb726d6d3c687ca03cf2674b3c426a80bb7464533c8212853cafd93a3cd37a32bb1045413c5acf2a3c2f3b2c3cee0320bbf87f163c0c57ef3b9dfb073c5ea4f5ba437fc53ba3e5b73b0b64c73bb99d81ba55038e3b310d2dbb178a793b0000000000000000000000000000000000000000000000000000000000000000610271bb82638437dd55703b66aabbbbb7b925bbe657e1b9ce12eb3a7005e0bba16b5dbaa39e54baf2f7193b6f2e62bc5e40ad390663c3ba7fdca739462435bc112893b9e9416db99d196c391696f6bbf224deba06b89139d5c414bbb7cb5e3a47566bb9e3df77396ed163bb15d4b83b0000000000000000000000000000000000000000000000000000000000000000b4093ebe58fc80bc1d992e3c478b86ba0a7f3bbe4b838dbc8107003caff196b9e42f21bec5d0ccbc8961d53b8ab124ba30a002bef290bebc3d13c13b3491363ae4f6c1bdd1568fbc8c27933b9491f6b9a9ab7cbdadee03bc81af053b3a5bbf395a709ebc6197d9ba122a8c3a4032d9b80000000000000000000000000000000000000000000000000000803f00000000f0cf523c6f6ac4bd6a43a83fb8c2a9bdcfe2253c0de17ebd68488c3fe4a649bd1639d63b9a0a3dbdb1b4653f8eb602bd2c7cdb3b0b6913bd7d002e3fa8fab5bc94c0a53b7d09debcfbf6e93e5f278ebcbdc48f3bf76c79bc400f743ecba418bc3dd8663bb12030bc12db083de1e03cbc0000000000000000000000000000000000000000000000000000000000000000be7df53bb4371bbb00000000000000004177a13beae011bb0000000000000000bbdd3d3b393e8cba0000000000000000d9c3f13ad29d2dbb0000000000000000f1d62f3b1620baba0000000000000000009d853b4a3414bb0000000000000000d488cc3b5db522bb00000000000000000000000000000000000000000000000093d900bc0bf22d3ca04ffc3b70a7063cc1ce35bc3beb8b3c97369d3c00368b3c700c0cbc451a743c178ac73cc6f8943c5c67e1bb18a1783c946b923cc3159b3ca658b2bb52a3423caed0463cb18f903ca697a6bbb97b373cb2aa0d3cd478763c9c2b84bb0827fd3bec4b763b2c2d263cac6f71bbc9f7af3bae3d1cbb3550f63b5f6a6fbbd69cc13bd65716bce1026a3b88a640bb47f187b9c9f6093ccfb36bbc8dd309bc7d7e1f399a04c53bac2ede3bfe6dd3bbff2d6dba2e3fa53b0354b4bb5d7cb9bbb82744b943795a3bea56f8bbf07da7bb14cb7d393739273b415506bc46faaebb5159eb38c41adfb96f1c04bbb38b62bb4c330c3951fae7bab366253b12e99ebba574b83aa88da6bb94f9373c2ef4b9ba8aff16b88fec45bbd9c10c3c7a05dbbd22d383bbb0da66ba2c79db3aeca746bed02ae0baa91128b987b31a3bd3744bbe7adfa7bc7eaaae3abf4e3e3b719436beb3ccd5bca72ff03a200ddd3a3ca10dbefdd1cdbcc7aa8fb9c0e6c83a2130d8bd42c393bc86f6b038681ac43a329b83bd600800bcf6b60ebbdb6dc83a669fd2bc1bc0b63b4004a3bbf34b8d3a7c65e53baa14263c862812bb688cbe3ae7d8c93c7a5123be11dca73f70b3203db970d73c8ef524bea6c19e3f44a7243d8ad3ac3cef0801bea2e38a3fdbf2633d8284973c8d38cabd7ec8613fe36e6f3d9d5a7a3c6ecc9fbd1eb5283f8c31563d5f39623c35776ebd0199df3eab812c3d88103b3cee7f19bd62365d3ef8c7fd3c4ed3fa3ba8ce36bcdab76d3c9aa0d23cf7bd273c24fcaabc1aefc0bd9a70febb7c09a1bc2ce2643b00000000000000006bec9cbcb4c64a3b00000000000000006823a1bcc55c193b0000000000000000182096bcc0b2dd3a00000000000000004b3377bc6515213b00000000000000007ff846bc2296ae3a000000000000000002a52ebc012fd23a0000000000000000c30fe8bb6643f13a000000000000000057bf3ebb62697739000000000000000092b1cebb9300fc3b8d63983a05bb583cdc1014bc4a98793c058f243cc8d99d3c69e3e1bb1ed1533c44f93b3c9cdca23ce070d4bb6825483cba0a3a3ccc84b63c50739abb4a7b173cd41ede3b6a46973cb76ca8bbe3fe273c28d24a3be4af7d3cec468cbbf7630a3c62016abbc543613c61bbacbb0c9ff73ba647f5bb68d7093c9c206fbb147da13b1b711cbc615ae33b7a0a00bcf583843a011e1b3c3d1a91bccdb5dbbbd64c7bbaf770e23bd0ee46bce651b5bb49e4b3399c84e43b64dd8ebcdb31b8bb532f1dba048cbb3b69e33fbc30e5aebb3342563a3adb703b5e4f30bcc57855bbc6298cba6f0d893a80d7a0bbf5328abb5996f83995a0b1b9b2979fbac93985bb8f0152b94512b9baa2f0e63bd0c78fbbff972e3ac1f810bb6193c63b24be89bda49845386e8743bceada833b8f9710bed8bf9abcba912abceae7c23bba0011bee46d10bdbeee10bca5f9633bea3011be220b1cbdedfa00bcd572863b1c81dcbd27f501bd30fc14bc0558523b3700b2bdb075b4bc738d11bccccf943b27cc40bdcdf851bc6717d5bb154b243be39ba7bc51ca873be946f6bbdccb633b49bc123b973f7c3c1ba6c7bbe716ae3a2959c73caf631abe95e3893f8c6c743ebbe3fa3cc1172abed854893fa654693e1328c33c25e902be31476b3f02d9603e0d70a93cc4fbe9bd25d8443fdb2a443e33c3993c901ab5bd1617123f580f203ea3b0883c474192bd10f1c53e850af53d978c793ccf5d5fbdbdb1533ed1959b3d59c9423cd08407bd1dc5193dd9ae1d3d8e302e3c2f07c6bc6d8575bd36150f3a728e52bd536af53b00000000000000006ae465bd3018273c000000000000000063cc42bdf379003c0000000000000000350e37bddf8cfd3b0000000000000000646e11bd31ffc33b00000000000000008ca00bbdf784cc3b00000000000000009e91ddbc5f51a43b00000000000000000b79a2bc6b388f3b0000000000000000d2db8bbca199b03b0000000000000000dbd684bb1ad1733ba7045a3aadfa763cc536e1bb0e96313c44d1bd3b3b6f993c289dd2bbd5412c3c38362e3c412dbd3caaa7aabb7d10163c4c03fa3b9f26c13c137684bbb114fc3b0d99d73ba2da933c7b9b90bb15d2043c41e028b9a89e9f3cbfc998bbe5dee03be6f619bb63ca523c3677a7bb448be53ba223b4bbadff103c129839bb1f77a83ba8dfdcbbfa4c893bbf8607bc44e9513a38d71d3c78f3dcbcb610bdbbf6729bba0673f13b97e786bcd05bb9bbf52c84ba2618d53b02e883bcb27590bb7520b3ba3c34ae3b2d114cbc26f782bb926b01ba6dc12e3b32f52cbcb428c3bb34ff7437f433163b6ee4ebbb7ec87abb725d2cbad672ec3782f936bab3645abbdb5775bad11ae6ba0d8b7e3bb97285bb37b2a8b9fb7ef2b9aaec1fba339f30bdc902aabac44cd5bc923e023cd279d3bdd4d502bd6bf4b1bc0076ff3b41def6bdc8ac46bd5fe6a4bce9db013cd985e5bd26244fbd1570a4bcbed6043c8d13c0bd08872dbde44a9cbc028fde3bd90d8abde9f8f1bc8da284bc5596ba3b10e932bd71044bbc123a50bc61d5973b7301a3bcd8d5c33ba42f3fbcedbe8b3bbf7f3d3b23ec953c892014bca56c793b043fb13c51f009be1ea95f3f1851e43ee362d73ca29b15befe595c3f13c2e13ee6bebe3c887bfebd7926423f25f1cd3eb15aa23c038cd5bd17621e3fffe2b03edd389d3ca5dbb4bd38e8f13e2e338f3ef446853c2e1f8fbd7494a23ee8b34d3e50f07d3ce3cd5cbdc07e2d3e7410003e65645e3c7ea51abdb6b8283d520a613dc52f4c3c6e7f03bdb0f011bd1d053c3a348eabbd1a58653c0000000000000000bc0ababd6e28913c00000000000000007fe1a5bdba63693c0000000000000000966191bd2f59443c000000000000000020e179bd0ac73a3c0000000000000000fd9353bda52c2b3c0000000000000000292a3bbd7af52b3c0000000000000000892414bdce311c3c00000000000000005143e8bc7699073c0000000000000000e33e0ebb3ecc0b3a7b6a483a89977e3c4c4851bb521c713bd4ac7a3b6aabb53ca1875ebbd06d9a3bc15e013c6177bb3c017b6dbbce94793be85f0e3c5401bc3c67147bba4f56183bb59d7f3a29e4923cb34152bbf9959d3b7db2093b312e783cd9542dbbe2b57e3be79fd4ba7a1c3a3c64bf54bb6af48b3b6127c0bb0be6fd3b48d912bb5f71c03a8a2cb0bb2e57533bdc720abc49f928b95150ef3b309ab9bc8e46babb07598db89647bd3b796e85bc8e9195bb7b0b85bae6deb03b85076ebcad309cbb551bc038090b963bd7fa46bc050fd9bb75d7813a9207613bfb576cbc1d45e2ba549e70ba7877173b7ebccbbb343244bb4b8c7eba9917fc3a3dd0d7bbef5c57bb43a426ba3e41023a3fa6adba7e9425bbfd3a76ba91e95d3aa44339ba72eb08bdf64787bbfea014bd6577373c242b95bd1a883fbd306801bd3cb22b3cf4f2afbd626176bd23e706bd4d64383ce285b2bde62d85bd1460d3bc7d46033ccf1565bdffe317bd7eb2e5bca978023ccbc161bdedef10bd4db4c8bc032ce73b2c25f7bc7f926cbc07759abc562dd53b91ea3cbc248d993b17a674bc93e28e3b771b2c3bfb6ab03c376f44bc538d7f3b38e5943c9fb9dbbdf70f283fc781293ff46cad3cbf92edbd3b0a233f9261263fa7988e3cf0f3c5bdce020f3fd6e9143f194a913c59b2b3bd1e6cee3e2608003f546e573cbcd483bddfadaf3e5ae9bf3e34847d3cb0107fbdb773783e2823913e45e83a3c3fb737bd8cb5073e5b782d3eebce363cd5b207bd58c2103d564c973d8c2c203c2bd1e7bc1b36e1bcdbda7f39f43de3bd985b973c0000000000000000f1fff1bd5110a73c00000000000000009a59c9bdb29c883c0000000000000000408ac0bd50558d3c0000000000000000c36e8dbd6d42403c00000000000000008e7c89bd97b7753c000000000000000073c162bdbb1b4e3c00000000000000003f0439bd4ff75c3c00000000000000009c1226bd6c8d3b3c0000000000000000fc47bbba440bfabaa4ce8d3abe2d823cd4414abb0e93213beede0d3c69ca9e3c749d53bb6350513b0d0a1a3c07cec13cee001cbbc18d523bb789fe3bf5f6b53c4fa705bba9b64f3b7089d73be105943c5e4024bb1b565b3b821e873b49b4613cb23123bbe927423bda38043a3413283c6ffc1abbdc76433beeb5fbbafaa7133b711cf0ba700f923a76d98bbbc44f273b4dc4d7bba04175bac361b13b2ae47ebc4fc3caba24832fbbbadf8f3b15a20abc45ca223bb27f7abb65ef113b373506bcac3f873a83b016bbcfbc0a3b10a7bdbb8ce23a3a4186fdba63da133bf980d5bb3a0ea2b8ce2a27bbc375bc381d682bbb11d4073ac6cae9ba5e42b03830729cba7e38bf3ac6d51bbb293532b9f6f31cba90b956bba6dc85ba1ca0353ae1eb85ba785ad3bc70f5a4bc161e1bbd195a4b3c80ba6abd3c3e9dbdb75f07bd8cd24b3cd2658dbd5537c9bd3ee304bd7d9a4f3c77a488bd00d3b6bdcea302bd13af193c59d46dbd73c795bd499ff1bcbd91223c658338bd84204abdd571b9bc9854033c34b1dfbcb722d1bca93e8dbc0814923b1ffb17bc6160f4b9b13a41bcaa68453b331c323b6a69b63c118a40bcd5498f3b05905a3c4f2ca7bd1183e33e6a33613f3333823cf4d6afbd87e6d93ee1f65f3f9410843c2cc29bbd3a66c33ed47e483f9d825a3c59f582bd754e9f3e60be263fc9c2493c7c6362bd54dc743e2448023f5db64a3cafcf37bdf72e293efd39b63eb02e253c7db10dbd460ab83d3190533e4c72093ca5d0cdbcdc5cc33cea3e983dea87d83b779f9abcda16c0bccdf629bcf0720dbe7be2b53c0000000000000000200018be894ed83c000000000000000051e004bee64bb53c00000000000000009275debd5eadac3c00000000000000003d5bc0bd9ac9973c00000000000000005348a0bd964e8a3c00000000000000005a2886bd8e268c3c0000000000000000eb0a50bd5782883c000000000000000040fd2ebda93b5d3c0000000000000000798c5aba13c0bdbacd0b863bdef7633cbaa2a5ba2af616bb3bf9333c33069d3c481cedba9d68cf3a9640143c024abe3cda9b36ba060da7baacfc4b3c10e1af3c32ebaeba862aa03a8ab1f43b1f11883ce4ccc6ba3f84ba3ab45fd13b6ed8473cfa8196baf10fab3a98e81a3b2474013ca1f39cbad317783a335ed43a64596e39ad5b82ba8e8540baa89f87393f973ebb14ba9abaafbd21bbe33b6c3bbbcdf6bb081de03bbbbfeabb8c91e039499920bb19fb843b79e681bbb328b53a2e8f33bbc288b53b34d18fbb9c6958b9cebdb6b8334a803bd61f40bb7613ddb9e66d02bb2346bf3bc63473bb0af6c639fbbb0fbb315b343b9b3771bbf4bffa398e381fbb2fa6383b89ea66bb0efc7c3789d0c5ba304b3d3b5fd12fbbb782303aa1d934bb33628abc3b4043bd8e2100bdf30e443cfab30ebda409f6bd3c76cabcb21d563c6cf243bd5547fdbdf04bfabc4b503a3c82ce47bd2d26febde627ddbc53c9233c463a27bd59ccb9bd608de8bca25e1a3c1f1b05bdb8e494bdb9b5aebc3eb7db3b34ad92bccc8514bd6c366dbc0e52d43b2f2db2bba76deabbfb82c5bbf6cfe83a9e7b943b67d4873cd7b5d7bb09fa193bcdb6003c20e848bd6339713e979a8a3fc946483ce2ce56bd22005d3eee9d8a3fb827153c8b7931bdcc784d3ebb706f3fab2c133c0a331cbd696c283e25c44a3fc518033cb854fbbcfbb0013e6d41193f98d4e33b040dccbcc6e9b53da364d53e8278c73b26b49ebcada9433d2a936f3e88b57e3bad6034bc7fd54d3cc80a823d972bb23b7e8a1cbc669f74bcbd2421bdef7e1dbedcbacf3c0000000000000000fedd2cbedc9fee3c0000000000000000f19405beaaf1b43c0000000000000000980ef2bd01a1b53c0000000000000000a1afbbbdcd0d863c0000000000000000c649a0bd5f99943c0000000000000000d01e7dbd5a7f613c0000000000000000ba1b32bd3c866e3c0000000000000000a21e14bd9fdd513c0000000000000000051eeab8413f2cbbd6f0d63b3c3d353ce7fd623add62e2bb463b603c5282b93c23d658b9607599bbc90d6a3ce34cee3c62deceb96fee39bbf812633ceba4bd3c88e6b6b9a8cbe1bab2293d3ca8238a3c1a915e39591fe0bae0892a3cf7483b3cf205c8b9a54f66ba1849a53bbfa1023c7d1ab0b95e7680ba2a9a633b7d8d43bad9835db946099db9c150693a2df8c1bbd4e9d83b94cac9bb1b6fed382da5c13a96e7703c04d323bcc8878eb9d435143b13973a3cf52fe9bb213a123ada94073b9158533c76f5d6bbb12131ba3dfe4c3b23e5203c696794bba0fcd0383f88e2395f1f2b3c5014b0bbb6fd18ba583f8239bf4cb23bb06674bbb114313ae6fcdaba9a32bc3bf57579bb9227b83a56c0bdbba4533f3b74964dbbd8de383ae4c385ba0e3e46bc2d54c3bda75aa4bc2f6f343c8d8ed4bb1b303bbe9974b8bbf6761a3ccc6fb7bcd81e43be8a3f87bce8f4153c653de9bc1d2e2dbec852a4bc609a033c9b25d4bc4be405be822baebc33bfe93bf7958ebc9f87c7bdbfb06abc3230ac3b58ba1dbc45cf65bd96d9eebb104c0e3b2cee523bc95192bc5be44d3b35bc09bbe915bd3bbf83783c5651023ba97f68b8c580733bd2488ebce75d1b3d8a11a83f7d3d703bd80d8cbc5d4e073d1a5c9f3fc091653b89387fbca2cc2a3d47708c3fee567d3be49860bcfa4e253d7323653f0cc1243b53c722bc887b073d93de2c3fe76c803b196e14bc1a7fb63c6677e73e51d7f43af57faabbbeae783ca79d6d3e3941d83a9e4f44bb029d633ccd70e83c79097f371ef6b63a6d4683bcd4eeacbde0ab27be003fc63c0000000000000000d8c622be8e5bd43c0000000000000000e70501befb67a33c0000000000000000e36acabd5d9f873c0000000000000000e6f99abd94ea633c0000000000000000cbce75bd932b453c00000000000000001a242bbd0e323f3c00000000000000009c5b9cbc4867233c000000000000000044e6e3bc2a90363c000000000000000000000000000000000000000000000000d5f32c3a665975bb866b463c363ea63cce46263a2eaf4dbb953c593cc1db9a3c6ceca6b97c2a60ba49a03f3c7675803ceb11ae3a00aad6baeff31c3caa332b3c4d1a543a1935a9b8772d0c3cff5eea3b0517c139eececcbae573d43b8edf623bcbd6da396dce1e381477193b878db0ba0000000000000000000000000000000000000000000000000000000000000000d5b2503c00a9bfbb8b3affba61a8f33b6a4d723cd5babfbb1c17e3ba4a0fa43b8424533c64d050bbd4c6a3ba7dca953b5225413c8a3351bb83b447bb0f399a3bc676163cdc5630bb37d1eaba7d99923a6a03003ce92f1ebbdb35f7b9a06db2b993d09d3b8c3201bb1581b738402387ba000000000000000000000000000000000000000000000000000000000000000050bf59bc1fa03cbeec5d0bbc8b78943b11cf5ebc2ad93abe5a0a39bc0b20903bdf1ea5bc0b9c20be0c1e92bcc6a2643bddc67bbcc6db02be644d88bcf15c203bcb5667bc6a07c1bdda1343bc9db4d93aa6e44dbbe43579bd221061bb9044bfb8f977833b97b4aabc1a4b1a3b4cabb3ba000000000000000000000000000000000000000000000000000000000000803f087348ba7ea7093c1c4fb0bd5d3ba83fb811b3b9d4dae33b85af6abdfa688c3f531391b99042a03ba71928bde338663fb5427c3a72fcbe3b4eb212bdaf362e3f7fb7a5b9ae31c33b417ed0bcd2a4eb3e5fb79438b5e5913b4b7589bc4b4d743ecc3597baa177a23b923867bcfdea073d00000000000000000000000000000000000000000000000000000000000000007040bfbd16de483c0000000000000000a3386ebd658aef3b00000000000000002bb428bd3e20ae3b00000000000000007e68f5bcaa55973b0000000000000000eacbb9bcb160833b000000000000000019d946bceceb093b0000000000000000182a14bc386d683b00000000000000000000000000000000000000000000000000000000000000000000000000000000dd7f40bb2ea6613cfea89cbb51ce7b3b21ad07bbfa025a3c336ffabb1527f53bf40810bb909a2f3c802f18bc363e5e3b36b9c9bab683253cddeb41bca5726b3bce0ac4ba77120e3c360245bc685b723b4f1b1bbbdee42a3c888461bc5646db3b3db744bb70b0263caf246bbc3cfdde3b00000000000000000000000000000000000000000000000000000000000000001b8eae3b800cbeba56c8183b36a4aebcb523973b04a10cba010faa3a54ca8abcdc7a993b3072e7b9a877ea3aa5818dbc79f45b3bd92556ba2836583a13d16cbc53d83e3bbcc723b9ff28c03aee6824bc04c8023a942cf1b9011a07388f31f5ba66ab9b3a8447bab93ecc053a0d2e323b0000000000000000000000000000000000000000000000000000000000000000809fc4bd2efdd6bcda60143bb3857a39ec82c6bd9a20bdbc84b56cba076a8ebaaa0d99bd603ccbbc734f203afbdd0cba527c67bda19eb1bc2f1a1e3b2e2a2abaea172abdec5a9bbcd8ebb13aecfc84b9085d02bd817e43bc1bdf7f3b9a7823ba9b6a52bc058a08bcc94d583b1ae0acb90000000000000000000000000000000000000000000000000000803f0000000088adcd3b713a5fbda616983f893a3abda86e8d3b44e316bd886d7f3f7b66d5bcfd44243bcef2e4bc56b74f3fd72d9cbc3e544a3b927cbdbc246d1f3f4c5d73bc55b4833af901cabcb786df3e0c0d6cbc332f173bcf85a0bc487f813e0d0174bcf1a8f93aa31bc2bc6c22aa3d2402a7bc00000000000000000000000000000000000000000000000000000000000000009d83be3b9bff40ba0000000000000000f4d5c03b8249803a00000000000000002c00613bbdeb6dba0000000000000000a2dd1d3ba5a384b900000000000000001c73443bb2f56aba0000000000000000f51d173a942f51380000000000000000e767833aa90b63ba000000000000000000000000000000000000000000000000a37a47bb9ee3653c877979bca3f2973c94c0b6bbc2a1d93c5eccd6bcbc8f053d950f91bb6cd1b03c5643b5bc2d70e53cac024dbbcbd5a23c6fbcd0bcdb71d93ceded36bbb3978a3cfecfdfbcf5f9c53c792b78bb254f9e3c7013f6bc4180e13c86338abb48f6993c3cd0fabc7c6fdf3c45f0b1bb1d30b93c5a0012bdcab7f63caeec8fbb3b9a8c3c02b0e4bc80bba63c550996bbf06def39c46c5a3bb66dc1bccf9602bc5a31ae39881b5c3b160589bcb49be0bb8a5bd239f1eb383b2edba0bc1a53e0bb60d98c3a09c1ce3ac18e89bc859fd8bbb02b653a8ce1023b2b8359bc0d220ebc2a6c913a9098cb399f85ccbbe29010bcfed9803aa3c9883a07ca37bab99635bcecee723ab541c8b9eb08313c61bcebbb107b8f3aec9eafb95445f03b924a6dbd68c81ebcd2a11ebceb0be93ac69fecbda9e935bc31502ebc59e14e3b30dbe7bd5e6992bcb23a2bbcd0f23a3b21fac1bd679387bc79731dbcefb50f3be18c90bd44cc52bc225a11bc0c372a3b5d296fbd052904bc429808bc6d70cc3a551328bd4e1426bb7a05d5bb0539333bcbf6e7bc9210173c6ca2d3bb7635163bb56aaebb2ebffe3bc5a85ebbb28f3c3a93b7123c674bb3bd24c9963ff62a9f3d86ac183c0279b4bdac7c8f3fa2f5983ddcb2123cfebe8fbd4726773f178b9d3df45bdf3bf75d66bd553c483f9be78d3d16947d3b4e343abd9706173f59c1653d51c4b83beb0d24bd1368d13e65392a3da2268b3b894d15bd1edd6b3e6db2c33c79e1933b9d92edbc689e733dc774013c28b39f3b7b9afabcf1cd29bda2504fbc553143bc116b0b3b0000000000000000f69364bcb00a193b000000000000000083d038bcb9d4c83a00000000000000005f854cbc27caf23a000000000000000049971fbc7fd97d3a00000000000000007dfb31bcbc3c0f3b0000000000000000c10533bc2a91643a0000000000000000fea61abc28d5003b0000000000000000908401bcd1b1e73a0000000000000000e6daf6ba759f323c7af5ccbcab6d183d9fef84bb0286b03c12350dbd6f74313d339c4dbb00228f3cc02501bd3a181e3d360751bbb8c8a03c56b711bda931273da5d439bb77dc8a3cd62117bd8433193d3a926ebb6bdcaa3c491e29bdd867243da9d789bb56a79d3cd8b722bdedd8153d3de3b2bb4eccc43cdd6036bd4304243d6d0e6ebb6ff1933c99ef0fbd2c5e023d08d998bc3fab3b3bedef483b2d29a3bc3a2494bc7cb4553b3f5e473b1a3498bc9add98bc8a836b3be568033bee308dbcdc7399bc3df9703bb3da033bdcbf6fbc002894bcf80c5b3bec1dda3a1ca92abc2a519bbc4579523bbdc8463a5c23a2bb4fde93bc083b7b3b0d44243a875f433940459dbcd184303b354cbcb9c10c0f3cdc6d86bc09de073b1ef86c395525d43bcf4d2cbd022f243c5e32b9bc51cf8d3ba77da8bdfecfcdbaf101c4bc470d823b341e9cbd1eb9a2bbb6cec2bc15c68b3b53db9fbde8f69fbba071b4bcbf04793b569373bd628b3a3aa204a6bcaba6553b1c7f53bd9ef9a23b4eed9cbc6f6a983b4ae909bdaf5a363c06f68fbceeca573b04b7ebbc2d17ab3c068f7ebcf0f5923b826656bc3074c53c3dec57bc847b993ba8d9053c9f04a4bd9d52783f16cc7a3ecf83173c6f2eb3bd0054703f83bb6c3ece9d0d3c4ac38bbdbd9f4a3f1ee1593e041fec3bfae37ebdc6f8293f9dee3a3e4bd4ba3b1bfd4fbd45e6003f791e153e6a39b83b6b463ebd3bd3b53e981be53d36a9af3be91724bd6793593efdbf963d7f89923bf86c07bdbaa0923d22cf163d592d933b7799e7bcdf12cfbc3bcda23bf800ffbc917c863b0000000000000000ff010abd029fbe3b0000000000000000fad5e4bc1159883b00000000000000009807cdbc17d5763b0000000000000000516fc3bca28e833b0000000000000000d036c8bcc5ac4e3b0000000000000000ff82b4bce74c6b3b0000000000000000c505b2bc1c96683b000000000000000065719abc911b5c3b00000000000000005266c7b8a1b7dc3b810ac9bc0885403d853f48bb5e99903c15a326bd4d1c643d5cf9e9ba07c3713c7fb11ebdb4f35e3d310023bb380f843cd0fb22bde76e4f3de48928bb82b8863ca6aa2dbda6e2493de348b4ba1745813c990e38bdd57c483d3e2f85bb7f8a993cda6035bd45b23a3dde578cbb59eeb23cb57e41bdb7203c3d7c4384bb4a94783c1cb815bdb95a223dba58eebc5fb9bd3b500c413b3273b6bcd23dfcbc8c6ebc3bd89de43a8df17fbc60e1ebbcf9e4d43bf4a6f23a16ce66bc90a6eabc56c3b53b2bf2a73ad84c36bcdf09f1bc8bc8c13ba6f2703a638d09bc6522e4bcc701aa3b2bcfc1b9ded196bafd04cfbcdb53913bf8457b3abe962d3a1901d6bc765fa53b145624ba0e3c083cff91b5bcca625b3b09e4ed3a2ed6713a7d4c00bdcccbae3c24a40ebd8690943b2e4487bd5b193b3c821520bd8c13ea3b50e195bdee845b3bac1b1ebd5651a53b8ada8abdad99c33bcbda0ebd487cc13ba3bb6dbdd8ab473ccbdb09bd52ddcd3bd38846bd0f188e3ca50900bdb9eac73b9cd71abd1aefc73c0914e8bcf060c53b9fb2f9bc4c3d083d8ac8d6bc4bc4c43beb0062bcb966123d543bb9bcda71b13b622c003c821493bd6b1c473f8150d63eb9c0103c7fb59abdd8a73e3f5e02cd3ef156de3ba48e85bda858263fa8c1b83e6ba5ed3b7bda66bd4f76083f85119d3ecdf3d53b7d2647bda00dd33e6c277e3edae4a93bdacd32bdaa0c943e15713e3e54839e3b220c1cbdf2a7303e5ff9ff3d5b39893b37fc01bd1ff3843d3c94893dc6b6ae3b9f9ae9bc9d9b45bc7bde873c5ac542bd22bceb3b000000000000000029a852bd2020e53b00000000000000007c6538bda471ec3b000000000000000046ee2dbde857c73b0000000000000000749423bde971c73b0000000000000000790719bd4754c73b0000000000000000b65d18bdfc02b73b0000000000000000a46a08bd474fb43b0000000000000000d4e5febcc1a9a73b00000000000000008a5e133a461a153b8e67e6bc4ad8643de786daba9c7a393c7ad513bd7a53763d1e4562bab62f143cfb160bbdf6b7623d5994b5ba12c1443ce3f222bdc964623d92781739ef6b9b3b549503bd82f7463db67a0bbba5d75e3c645728bd47324f3d8d1b98baa3fb393c12be17bd70b53b3da8ce34bb96f5773c3b8531bd9d87403d59ee5cba07d72a3c07b913bd6ce8313d9e8e14bd1be2dc3b1ad2fc3ab21495bc7a0618bd6f11063cfcf5103b575a57bc6dd311bd5674ed3b5144753a14fd55bcaf1e0fbdf415043cc997a13a140714bc47c5fdbc22dec03befacff3aff5d26bc6e6a04bd7cd0d83ba57f9139e11d24bb2ba4fbbc804cbf3bdbe66e3a8adcffba05dcefbc5c8fc93bc5bc2fb9aba3b43b9b53d9bccd22963b8f22a2b76ba52a3b2888e3bcbe97f13c538536bdd409d63bf3e44fbd001b7f3c6c3b46bdf199d83bf4f05dbd1145343c307337bdd7a9ec3b7bab6cbd66a12e3cb1dd36bdfae2eb3b10a01abd448ca53cc5f921bd74b8ba3b049035bd35a1c63c472f23bd519efd3bb756fbbcf2e8013de3510dbd3408ec3bdedfd3bcdb9f2b3d7cd509bdbb95ec3bef6070bcd7bf373db5f1e8bcd3ccdd3b4a02e83b9dd260bd46a9163fbe8e193f54f0c73b7fb371bdafa90c3f6083113ff923e13b2dde45bd847cf43e2277ff3e7099c93babc738bd9cfdcc3e1661dc3e2350993b9a971dbd83949a3ebdfba93ebe92a83b6e3715bd9701613ed7b5843e5211763b755afabcbf2c073e340c2e3e265e673b46c2e2bcf8924c3d2990bc3da1fe823be17dc6bcdfb44fbc31dcba3c81207abd568d053c0000000000000000a78e80bd76291e3c0000000000000000ee7964bddb2ff63b00000000000000000cfd5bbd6067f73b0000000000000000d11d35bdd2e9f53b0000000000000000ad9142bd6974d53b00000000000000003a4931bd8211ce3b00000000000000009d8e2dbdd4c2033c0000000000000000e0721dbdcd80d03b0000000000000000225a91baf5b6c73b328ddbbc70f26e3d2a55aaba3ab7433c42b40bbd0f006f3dc7f4f0ba2e0e453c9e7003bdf56c613de5a79abae0ec373cda7e06bd7453593df5ce7ebae454453c8f2813bdcee04f3d5f9504bbb033453c9e260ebdc617423d114718bbd2b2483c1e0812bddda3353db81b07bb9021593cb6ba0abd268e203dc69ac8badffd0d3cdd15e5bc764e1e3d4a091bbd85c7023c68ae0f3b8cad4bbc75531bbd779b133c685a2bb9390befbb3a150ebd98ce053c09c89e3a864ed1bb1b7509bd531cfe3b904bf53890e28fbb372011bd76150d3c7dffa6b95e8e14bb985a02bda94ddc3b761e8d3acc075a39c69adfbc9edbdf3bb075133ae092893b453bd9bc167f9d3ba94497ba2579df3bd469cbbc8bfca83b1c0c5d3af8245e3bd0eafebc3c93d63c432f4dbd82ddeb3b5d8a5cbd27772a3bf89257bde3390c3c3bd573bd8de0d9bb49c351bd14b1053c73b169bd531d9639e2c94bbd17aae63bda1056bd1911253c98f23fbd04140f3c583c38bdb5389c3c8e4033bd60fb033ce4d310bd2d6fe23c064f28bd2c32d73bb57adebcef3c1c3d5be10bbd72c60b3c720a7bbc16c13c3dbec702bdd60be83bb84ac43b505f33bd5872d13e49044a3f7af1c43bf40a36bd0483c43e7240433f0f41ac3b136020bdac95ac3e4e9b2c3f30368a3ba7db0bbd82318e3e38f80f3f70047c3b17b7f7bceee95b3e0ad2e43ed5a13d3b819fd6bce14e193e9674a73ebe77373ba372c8bca619ae3d5850583e1bb2473bb5d2a0bc6748dc3c50ced73df3bc0c3b456990bc78069fbc0715cc3c7e509dbd74da1e3c0000000000000000b863acbd0e1d313c0000000000000000c7a396bd4d3e293c000000000000000017d581bd8448183c0000000000000000df7075bd4701f83b000000000000000080cd5cbd7688063c0000000000000000fa904bbdb14d1a3c000000000000000097cd44bd1ef60a3c00000000000000007fec35bd28eb033c0000000000000000846db0b916c61b3badf28cbc18c5343d5c82beba8aae093c217e95bc0840303d0ae1d7ba2f0ced3b4442a3bc7170313d5e4f83ba232e083c3dc9acbcdeac1f3db955c1bab757d63b3cd5aebcbb28203d0fcaa2ba3b1e023c30dbacbc8dfa043d68f0f6bac2390f3cfddfa8bca92efa3cdf8e04bb707be43bd0ff9abc49b9c63cca1a6bba561c893b743b81bcb2c9cb3cedb1f4bcdcc6f83b90dd5d3aa6d9b0bb91c8eabc141cf93be6fb46b920a93abbc9e5efbc787d063c89fc893a675a35bbb2d0d9bcd49bdb3b1f1ca2b9e6242dba20c4e3bcfd9ee13b07537d3a96d15139204abdbc7750ab3bc9f76bb9af67833bd30ac2bcd676b53b8bb1a2b9ca03cf3a327d8cbc9078793b81d243b74c63e33b152e9dbcefbe653b8b21c8b71422873bfdb9f8bcb73db43bd56743bdd6e1d53bffdd42bd007befbcfbf74bbdde35083c90c64cbd3cd6b5bce3754ebd22a9ca3b953452bd204dbcbceb533fbd916b023c75e034bd753fc7bbe55b37bdc0abd73b9d0d1dbd25851a3b234325bdab04033c0c30f7bc6fd9953cbbac13bd522aec3b6ab2a5bcb12cd43c0470ffbca6dfd93b6fcc58bcfef2143d6c38d3bcce66ea3b7ad5483b8926e6bc9e55743e11ce7a3f6498893bbae4e3bcbc175c3e4812743f25483a3b8b54c2bcda10453e8bd84e3ff196563baedeb1bcdccb223ec674303fffad053bb42b98bc807df73d0b31083f6748343bdf5ab0bc8f11a83d8464c53ef2d2413bf8767ebcc11f353df0d2763e25b89c3ad9f54cbc72fd893b453ed43dae6feb3ab0721abcc721bfbcfea8b93b6e05b0bd764c283c0000000000000000f7efbfbd0589353c00000000000000004b9e98bdefc32e3c00000000000000002d0e8fbdb54d133c0000000000000000675474bda637163c0000000000000000ef8d62bd1e1a013c000000000000000081394fbdfc1ff73b00000000000000000a853fbdfc8c173c00000000000000000ce52cbd6675033c0000000000000000b3cfb8ba5c29923b9a05a6bb7b34ca3c34c2a8ba01d0473bf878943b6c1a823c87139fba28238b3bd9a0dc3ae7e9943c9284a0bafd2d923bb53773ba5daa813c5c1726bade9a523bd4dc5dbba9e56f3cec7294bae7344f3b98b0efbad30f243c840961baea8a203bbb30d3ba5416cc3b9a0534ba613d663ad1c8e33a9f5d173a903978ba0c74dd3a1e99e3bae403a73b4a8f85bc739e983b8fe1f738173f0cba95b452bb769d373be9094f3709d1a639eab6e7bbea96513b4a8892b88c58463a081718bcae5c9d3bde807638e9339339bce11fbc8999743b57e550b85c82983ae517d3bb3e6f4f3b51e57439590c153be67b78bbbd8d063b2ebd99b87668343bc2a8a139eca333b90002d0b946ce2f3b2bbfcdbb15e9a53a3a2eae3912e7713b349204bd0aad03bdcd1427bd80d5cc3b7a820dbd7c24b2bdce9d15bd8e5fad3b5c1c2ebdcbcea6bd707e20bdca0ac13bfe6c21bdf6f883bd8d9a1fbdc88b723b787210bd06c721bd9d8a1abd6eebab3b617ee7bcea6bf5bcbb60febc35d2863b9816a3bcbc2f3ebce840cabcb53b843bbee7fdbbc55d1339019c77bc8337823bc1bbf8bb50d7b73c355987bc70468a3b9e46ee3aac4f3bbca084963d82d4973fd25afe3a643a32bc0f59883db28b903f74fbcd3ab43a0fbc0d03823dafd3793f4bf3da3a2c9d0dbcab3c5f3d1c764b3f03a29e3ab71e08bcc7ff243d61571b3f9486453a95e3d5bbe80fbb3c3128db3e8a439b3a0f73e2bb34eead3b5c5d7e3ea37c6c3abc9686bbb3c621bc963da33dae4efe387ef271bbb256f3bc1ce7babcefa9babd3ba01d3c00000000000000008252b8bd0b271f3c0000000000000000445892bd86170b3c0000000000000000ad2470bd7d4af93b0000000000000000c2e748bda424f63b000000000000000019023abdd76cd43b0000000000000000364929bdfb0ac23b00000000000000007aa11abd2e80f53b0000000000000000f67f1ebdd750f23b000000000000000000000000000000000000000000000000189a48bab9df073b3455283c373351bbfe3fc1b92fa0503ac732453c5b06c8bb36f907ba585e553b4492043c5c9cc0bb2b3a3e391c865e3a1026ca3ba2db18bcf0c6e7b8271a743ab76c063c65b223bcf6fd5039f829c6bab819223c24914bbce0c4a2b93412f7ba0fc5333c8ae569bc0000000000000000000000000000000000000000000000000000000000000000b7a9013cbde21339875201bacd76f33a67df133cb20589398b209bb982b7dc394ca1bb3bf30d3f3a3e24deb9b7708a3a650e843b96f2893a3a8221ba29a48f3afa4ea73b9e3a9ab96f27cfb9dc46123af3b4f43b1f0276ba0a5b10b9ba771e3be5df0d3cad3504bba445cd3923b60a3b0000000000000000000000000000000000000000000000000000000000000000ec48eabc8f45c0bd4324ccbcf5009d3a9c7fcebc9f18bfbd668ab0bc5b65813a78c1cebc7c3498bdca08cdbca920ed3984dcadbcc96d53bd73659bbc423d6f3a84ac6dbc756f23bd443f88bcd0d3a53ad31116bc4fbfeabcb8fc1fbc1b1c8d3a09d142bb19123abce7b5bbbb4943cd3a000000000000000000000000000000000000000000000000000000000000803f6eed82b86711ad3bb18d40bd7246983f5e45eeb868207a3bf659f1bc31d57f3fa3275d398b8692b94faeb6bc679e503f8ea0703844e9cb3ae48eadbcbbbe1f3f66e0113a8ed18539ef50afbcfe61e13e266082bac2c08fbafe9ba9bc385b823e669d1cba1069b9b82891d6bc69a1b13d0000000000000000000000000000000000000000000000000000000000000000f1e256bd5e39d43b0000000000000000ba8e0cbd0752803b0000000000000000783495bc1542653b00000000000000002654b1bc54bef73a00000000000000006a7293bc7769363b0000000000000000ba707ebca3c2e13a0000000000000000fd38b5bc342a203b0000000000000000000000000000000000000000000000000000000000000000000000000000000001e245bc7f7f6e3ca8ba1e3da0e6843ca706cebb4691763c9cda353df21b7d3cc17f41bbd6a89c3caeb3263d6ac0913c37cd06bb2722623cc347103dc490923c1ff940bb2ff8483c94c3d53c64d25f3c2aaf90ba3920f13bdaea843c8cb92f3c0f1c86ba8b77493b6c99873bd5b6113c000000000000000000000000000000000000000000000000000000000000000070b8abbb2451bebb885a6f3aad9cc33c39d432bb7c0abdbbaad57dbbc3e22e3cedb179bb83f34abb4c20cfbbaf24aabb14444ebb7314eabac1b615bc564e0dbbc1af43bb9f1ebebabe221fbc26ab88bb3ddc39bbc8998d3a3d752bbcfe9f8dbb4f8b5abb82dc363b169708bcbbc8d7390000000000000000000000000000000000000000000000000000000000000000a09481be9d59d43bf411d53bf55cb2b7042873bed4ec2abc3c6ccc3b73dd5fb9b8f75fbee286cdbc5b537c3b9dd718b919d034bee066c1bcedb3363b3f821ebadf4bf1bd9679ccbcb067c2b9c056603a1c7880bd419b97bccd7582bb7ebdf83a5d2f58bcb65223bc6b749abb764fe1390000000000000000000000000000000000000000000000000000803f000000003228af3c060200bea008ad3f7cd7e1bd4ba1573c48239cbd1c00903f09da78bd856b453c802d6bbd0432723fb70726bdd7a1233cc6b51bbd9531343f0a4cbabc45450c3c589263bccf01e83ee8114dbb162f8d3b6200e83bf6e1603eb0c73f3c95b88c3b69c2a23c7ce0bfbbe48ca63c0000000000000000000000000000000000000000000000000000000000000000134c9e3c934c0ebc00000000000000009713fe3b11097fbb00000000000000000b77813b35e609bb0000000000000000a145143bf12826ba0000000000000000359947ba66acd1390000000000000000b7c866bb07773a3a0000000000000000ed634d3a5b4344ba000000000000000000000000000000000000000000000000528508bc6da0183c7415453c5ea04c3cdd552fbc2403423c99b2163dcfcf733c7ce07ebb918c8e3cdb85333dfc9aae3cac207dbb25168b3c5ba4343d0014b73c2cdd6cbbb16e853c5a41123d934e943cf85f84b93247493c0f49e43cfac5743cc5332ebb0856183c0f57883c51c8463cb36a5abb9288a33b4ed3b43b4c96fb3b61ccabbb05d4d13a471fe4bba4ed743b2141cabb081d18bb5bdd193c0396b13ce23205bced9126bbe3047f3bb419f23c326592bb0710a3bb4234ef3ab7ec0d3ccd8710bb223655bb8b9f20bb8a18ba3b5db7daba32f01dbb8cb45cbbb8e97d39440a51bbb7cfb63a32490fbcae9a35bbf913f1ba9ef4c737dcbeebbbe50c29baf32024bbc4ba893aa771e6bbe2fbd03a162a4bbb15a5ee3ad17cc5bb7ea2373c1eaa1dbe7a3f953ca8d494baf5ddf63a0bb957bef303cb3b2cd2d1bb5076f33b6ef277be00bd99bc6a0fb9badb49cc3b912d66befd54f1bc1c851bbb2782583b195133beb5ce00bde4d3c7bb535d963b742cf0bd802afcbcfaa4d2bb38e4a33bc7697bbda447c7bceab2e6bbc44db03b827369bcb79173bce014a6bb239c9f3b5e3baa3c97a6c03b3118a5bb1d574e3b61222c3d62de60beef6dac3f0370103a6e30173d3e9439be1266993fdcbc1e3d56e5e93cc73020bed0d78e3f1aa3133d4f4fc83cbabffbbd7b966a3f0f15423d2f5faa3c17d1aebd317a2d3fd2a55b3d535b863c789641bd5128dc3e8e2b6e3dcc6e3b3c69a58dbcc2e64a3e6bb6613d8fa5bb3b0d02383c311ea93c30a2443dfef9f23b7ebf823ce4d610be5059a93cdd7474bbea7edcbb000000000000000039d55dbcf9e1b5bb0000000000000000edfb7fbc495f2bbb000000000000000027b58fbc44ba46b80000000000000000b9b4a4bcf20d8c3b0000000000000000bc6a99bc7f9ef63a0000000000000000dffd9cbc96ef2e3b00000000000000004da2a1bc9ada573b000000000000000053c7f8bb2641edb900000000000000008dba08ba63d5613be7dc2f3cba38463ca725a7bbe65a2e3c1832e23ca837a03c95a3efba7ea44b3ccf6d193d0b0fb63c0a0a0dbaf8d3633c52a51f3d63a5a53c2d24b7ba686d4a3c627eff3c0d3f9b3c035f5abbe97d193ca4b8d53cdc1b7d3cf7ec6dbb059ab83b2e0e8b3c2ec80f3c4889b8bb8e4a933b7ed9223b46167d3b3fc73abb33a08ab82d193dbb390500bb8aa821bc010dba3aa9393f3cdf9e9c3b94e9bfbbddd755bbc0601d3cd4ad283c535a93bbe2e2b8ba413c073c6c9c113ba92c3fbba97419bbd840553b49dd36bb96d141bb7e153dba073d533a7b238ebb018a49bb92c8163ab6aa80b9579a28bb234274bb9183023b0e4053bb9420283a66de45ba44739cb8967516bbbf2c873bf38796bbfc101b39bf388aba3683f33b68cec2bd47ca443c655243bc93e92d3cb23b35befdc790bc7fc00abc1f523b3c7cd94ebe239e1abd5f2edebbc4c41f3c5e943ebedbd435bd753738bc1e8a523ce7f913be3c9d38bd01c12abc1bf93c3cd6a1c6bdac2e23bdaadf32bcb536203cefac44bd444fd5bcbd651fbc08ff163cf4d4eabb0d5334bcc7dfb2bbc5ff143c6609823c181d1d3cc83775bb0a64e63b3fc9253d0dc550bebb478d3f41ac543e38981a3da99055be8dd98c3faf644f3eda5b023dc5e036be726b7d3fb12c463eb0e6eb3cc8a513be7693503f82b2333e111eba3cbf9ad5bde22d193f644a1f3e7b08983cddee8bbddbc4c23e963a073eaf5f803c2dc60ebd45ad323ebaa0c63da0be353c752a2dbcaa184e3c6459763d3596193cf5c88fba719bb1bdcf94843cf5e942bddbfb5b3a0000000000000000261654bda37c29390000000000000000a63e52bda605363b00000000000000002a1d39bdba72833b0000000000000000c68627bd19f6213b0000000000000000e28c20bd2e4db33b0000000000000000062ffbbce301803b0000000000000000558de3bcea97563b0000000000000000683791bc3d674c3b0000000000000000e24ba73beea492bb1e56743c277d4a3cdd1a1a3b9edc163bb289eb3c596da53c449fa93ab38ec33be48d143d1b22c73c89f87ebabd0d0b3c6e63103d945bb93c0914943af647e13b1444fc3cce24a53c5c191bbae7a8a33becc8c23c488a4a3c035f32bb7e06a43bfd078d3c5308c53b009f81bb7967293b020bcc3b7022d6b93d49a8bb5918cf39670db139583bcebbb8513ebc8799743b2b496c3c0d6628bc47a11fbcb3f3943a6b3f563c867f4fb921d6a3bbe57d4dba4e14313ceb57b1bb4ec7cbbb43c62abaf621103c44e12ebc15822bbb7373fcb9ae17a13b938ddebbf7a256bb1a10f3393ba0853bd89c05bc8b893abb54c4b9b948ddf13af2bbe9bb5db263bb93de33bba5571e3bd3169739ae4685badb56eabae987863b3c77823b4f1a84bd8991e0bb6f5277bca6e6413c293407bea4c549bd650b3bbcfb9e7e3c4f261cbec28295bd4d0034bc39d9743cd0730dbef1a49ebdf6a759bcc1a8843c88a0e9bd84fd8dbda9a981bcb6ff883cb6c492bd340757bd2c7e3fbcbe1d633cdbed08bd52390bbdfce511bc27e5483c302ec9ba4d3404bc475c85bb4b1a3c3cc895823c3976363c2d41be3a9645d83bbe12f43c18983fbe784a6b3f3541db3eb42f0b3d33f346bea431653f8d7fdb3ecf89db3c8ed92abe53df4d3f2e37cc3e417eb73c003108beba35293f7735b13ea2959b3c0411d7bd5951fd3e51ac903e683b823cb87694bd5d0ba23e492d593e4b56743cfa9936bd17f41b3e9a7a073ef03a313c12a3afbc2fb3ba3ce320743dd9b72c3c0b458ebcbc4981bd17a304bb999fc3bd872f093c0000000000000000c418d4bd9664383c0000000000000000bc7bc4bdc4b72d3c00000000000000001e37aebd3b50223c0000000000000000c91392bdcfc00f3c0000000000000000f0f67bbd0b72003c0000000000000000188635bd1b96fc3b0000000000000000e58705bdec8dcf3b0000000000000000c113c6bc83d99f3b0000000000000000c02f9e3b7c25fdbb0f14a43c43b2473caa47843b0bfc86bb1f5aef3c2146a53c0dd8613b96fc9fb9c6b2103de517e13c9445b43ab3b2a53a32ab143d3691d03cb9d6aa3a9fe7cb3ac16ce83ce4b28a3cc407a23a7bc0f03aeb20c73c2c22613c44df03bba8db8d3ac63a923c8869bc3b1f1cbcba2ea89639ee39f83b4e8f3dbb39ea40bba0b385bbf1c9823bc00bdcbbe0d140bc43af033bed7e6c3c56c84bbc991589bbc4e5393bd67c503c20e3e0bbb68484bbb60a943a1728013cb9ba21bcc917bebabdd2683abc8e063c70121bbca839d6ba45a5f1398f4ae83bfdf74cbc20a561ba4ef89a3a67e79a3bdca32ebcb09ce1ba8a930bbb2ce8713b81b5ccbb229ea6bae3a38fbbdca0913b05968bbbdd7990ba5cdb79bb932cd93b95e08b3a78721fbd7b26fcbc37fd91bc41709a3cc83ca9bdc6e1b3bdcfb186bcad85973cc5d2ccbd3f08e6bdc3728ebc573c9d3c6687c8bdb16deebd150791bc14aca53c9bfa91bd06a2aebdd3b3acbccaae8f3cf4d348bdcb4296bdbd5d67bcbf92863caea4a6bc096419bd79fa1dbccfc0403c1179193b6acaf9bbc8d508bbd8a22f3c0bb1a83ccf44293c1e55223b24b7013c5689b63c58fd17be6ba32d3fc2112e3ff5adbb3c84a41cbe2db8283fbbe32b3f74c2a43cb31c04beba04173fbaeb1c3f3ad78e3c0173e2bd42c5f93ea137073fc9d74a3c28a3a6bd8ed4ba3e9c44cd3e8098423c203783bd4d877d3ed516943e494d363c595b2cbd81c1033e8d79223e754c493c21a5dfbc1630053d8b9e593d9288fe3b545a92bcf54b1fbd6347c8bc979519befdfab43c00000000000000004d8c1bbebd0aa83c0000000000000000e0f20bbe6bb99f3c00000000000000005b3cf9bd7730973c00000000000000003b6bb7bd4eaa583c0000000000000000849fa2bd09765d3c00000000000000001e8f59bddf9f4d3c000000000000000039c50dbdacd1263c0000000000000000ec6bcbbc6febfa3b0000000000000000d28dae3bb24869bcb1a9b53c58e1253ca5aa613b850e22bcda00f73c7788c03c6748363bd44ac7bbe2e2023d6b88fe3c1ffce4b82fb493bb8c1a123dbe38de3c240c60b90f1333bb3035e93c72d5c93c044a8b3a2de9baba9f83c83cb9ca803cd7dd84bacefc0abb34d19e3cdf22953b52993abb9b4a2abb0e1d2e3cbfadcebab0dcedba991987bbfc16b93a7c4e1abc8b09f3bbef5e783be2c2403cb6206abc431491bab38836bba5c0253cf90b1fbc0490713b335723bb8bb70f3cc6b120bc975e883bec5b0cbb0de5c03bf96d4abcdfa5823bc98101bb27d7993b5de901bc7908e23a2216a3bb8c7b9d3bba0d44bc2381e2b92e509dbb9297983b4d7820bc93092c3a7588d6bb294dd33b3b6fa8bb2103f2bab80692bb1c96c83b5f61feba22db08bce96170bd2ebd79bc2b5ba53c13761dbdf42b0bbe79b2b9bb36c29a3c8bcb66bdabfd25bee89d38bcbf02a53ce05e6abdaeb81bbeec6086bc1415a83ce32b46bd8dc905beed1c54bc9cb18f3cac3b07bd566fb4bd89b73ebc08b7793c35347bbc4c743cbdaa203cbb9f23433c4f65283b849041bc157ac63b621ed33b9fd38b3c4890823c5b8f023c3ae5e53b05e8603ce84cc8bdc87bdb3eb1006c3f73d6593c3231cebdb480d43e8b4a683f2b603d3ccf67b8bda87bbe3e5f0c553f8155443c568b96bd6361a03e8a05313f21fa043c4c7d7cbdacb9793e87a2083f0fb2273c6bd547bdb5d5343ea3efb33ee6b1123c075512bd412ed83d021f3a3ed843f63b19ccdbbc01d62d3d321d3a3d0decdb3b94f384bc2ad66dbcdc4444bd844140be98f2e63c0000000000000000693645be74ef033d0000000000000000c6ba2ebebbe3dc3c0000000000000000e29d10be8531c63c000000000000000003d9eabd8578a03c0000000000000000ca63a8bdaf1fa13c000000000000000079655abd2b806e3c00000000000000007db6ffbc7c6b2d3c00000000000000004844b6bc19f3313c00000000000000007b98893b8fe387bc44549f3cc594263c00f61e3b69a45dbc084bd33c348cd43c1a24f839d6b423bcc1a9033d3b73073d7d5506b9fb67c7bb81f5eb3c9553083d34fe65ba79c05ebb2426d13ccba0cc3c0830cb39c96e67bbc388a03c2a4da33cb305e439163618bb3c16933c1cb0fa3bb47f0bb91ea660bbf6e9383c564f58bb5c386639029b94bbd6d8b93b133238bc3e3ac3badc7080bb8b93f93b18e433bc546fca3ba813c5bbfe56083c199129bc709e043c4bbed8bb72067f3b572f09bc7ff9003c54b499bb5949713b276939bc8c0ca03ba7346ebb49d2933b6c9b34bc79358e3bee02c4bb659d8b3b2e8a60bc4103d53a9f22e7bbabf2213b0a7c62bc96d91c3ba04907bc0d63be3bb4f519bcb187f5399ee400bc369ded3b09c5f9bb5d989a3cc89fb2bd5e3661baa366713c8fd688bb0f3a34be4fc29f3b9ace783c82f0a0bccf8251be40916dbb6619943c5087bcbc4daa48bec4e31abc1673803c9665c5bccdcf1cbefb89e5bb4ddf603c81478ebc2d91debd4b9880bb8226293cf5f109bc193d68bd24eb063b5153cc3bfd2d003b3d9e59bc8b84243c6f2d443bd28a7a3cf9287b3c189d4b3c72c50d3b94a7643b72a649bdfab3543e300d8d3fd982573bea064cbdbc0d463ec5eb8d3fec4b7f3b36c537bdb43e323e3199803f6ff5773bf63f1dbdc2fd1d3e97e9553f75266039f20505bd7a23063e1657203f8202803b623b04bdf87ae53df328cf3edb94c53bf260cdbce21fa53d7ab2473eaf4bec3b0736b7bc5cd2433d2656eb3c7051583bae5691bc3c9f493cb8f194bd12174dbe01a0153d000000000000000041b456be28cd153d0000000000000000aae53abead62f73c0000000000000000ed851abed572e13c0000000000000000b5a3e6bdf487ac3c00000000000000002e6aa3bd63c38d3c000000000000000044fd36bd5c4a703c0000000000000000b6129ebc1683283c0000000000000000919324bc722ce83b0000000000000000c9223c3a8bfd69bcd05c873c48ff623c3aefb33ab00b74bc30c9953c86361b3d9ad01dba8e9b1bbcaf28c53ce72d373db3818cbb60e2e1bbce0ed23c593c2d3d8f30cbba945137bb4b8ab23c3681083d50ba4138564085bbf9b2a53c422ccb3c7229b8ba2ad512bb67db8b3c34dc413c03534f3a90a737bbf265373c24930cbbab883138be76a0bbae41d43b826922bc77a28c3b69b11abc8775943bd755f8bad2b2143c9dd45cbcc6e3b43bb348e7bbcede3e3c9f500dbcb739fd397d114fbb9026663ca01e1ebc875ed63a59429cbb46b91b3cfd40d7bbe91b83bad1a8c0bbb4bdc63b4bdad3bb385e41bab8ad10bc75ea903b0d77c4bb27ff1b3b13c224bc4dfa663b1d69d3bb92fc8e3be1051ebcac8f253bd75719bcf4aa913b29760bbcfe40c43ca52a14beee3aa23c455d1c3c8960a13c9db356beb991c93cbe38cc3b63a80cbbbf5b79be9421bc3b34dd253c896e1ebc49bf6bbe2397863a053b1f3c7d747ebc242e39be841c4fbbb889e13bd4954ebc1c9601bed3c0763abf5e893bfec72abcdf9189bdbedbfd3a156ac93aee028cbb50526ebc6adea83b488ed2baa3ec3c3c78a1ab3c076d983c971a81bb4c02b3bbda3698bb84de3b3aec6cac3f91b143bbd71926bc885c003dcbe2993f3c5caeba7e681cbc5b72da3c373f8f3f1780d3baaafd3bbc41d0163dc0996b3f1274a23a4d913ebc31c12f3d6caf2f3f8b338e3bbfc87dbc6b254a3d19acdf3eb17c933b0d0967bce0ef4b3dc3cd503ee4dff53b636193bce1073d3dd2ead53c4b915e3be0c9f5bb4b64bf3ce05f0cbe1b1a60be06512a3d0000000000000000a13e39be8a7f153d000000000000000096ee22be4487ea3c0000000000000000bad701bec968c93c0000000000000000cf7ababd276a9e3c0000000000000000691f61bdca81753c000000000000000066aec0bc839c2f3c0000000000000000aea6043ca9b7e93a00000000000000006f83373ccbc4c63b0000000000000000000000000000000000000000000000003d3a5ebb4f3226bced976b3ca9c1313d4cbf44bb89eacabb48d4773c36a2403d3f58afbbb2f4feba9491953c2485313dacf389bb05e7a938f5ab793c4fe8063dfaec00bbeb25c6ba5ed6643ca32cd83cb4c417bbf076913a9889303caf90803c06af683a5b0abfbaf1461c3c297d153b0000000000000000000000000000000000000000000000000000000000000000c430633c795560bc5d9127bb3c700a3c469f6a3c0cb21ebcc8af6abb1c10b23b5fef613c137207bcf79186bbd83f993bb770513c666eb1bbf965c5bb262c713a9a2c283ce58cbbbb95f4cbba305840bb9114553b79e789bbb06cd2ba1c01b0bbae57f93a25f18fbb1eb37339363d1cbc00000000000000000000000000000000000000000000000000000000000000008057663c102182be7d8eca3cd7e2ba397770193ad2fd76be889de23b226ee13923073abcbca167bef20077bba77c0e3b71101bbc7c1c3abed1308bbb9c79f4baab1740bc45f5febd5f67e2bb92190abb0f711ebc81db8abdb41994b9bc7b5fbb701a79bb28b84cbc66f7dc3bf71d85bb000000000000000000000000000000000000000000000000000000000000803f983d1dbc8b7eb33ce522e8bd8a22ad3fd574a3bb0c7e6d3c2edb83bdc0428f3fc6263dbbd84f073c5df03bbda800703f32540ebb642fd73ba288d3bc6243323f7eb500b922261a3ba8c28fbb4364e23e4008e93ac7864fba6be86a3c4c76593e9f540f3bb8681b3a4666c33c13d120bc0000000000000000000000000000000000000000000000000000000000000000ff76ffbd7bbca53c000000000000000041fc99bde7dd5a3c00000000000000009a346fbdaa3e263c0000000000000000088a11bdc99f0b3c00000000000000008dd853bcdfcdbf3b00000000000000005841a73b1d25463b0000000000000000aca59c3c580828ba0000000000000000000000000000000000000000000000000000000000000000000000000000000075380dbc1723fe3beb1f043d7f21403cfe6230bbdae1c83b8a5e0b3da16d1e3c9051dfbac40c0b3c3ad0d63c610c433cf30018ba72e2023cec7c953cd2f52e3c0b6e543a899fe63b8b441e3c9f9c193c3e49c83951dbd13b14dd9f3ad3c1073cb19ac9baba3a003c008806bce0c9043c0000000000000000000000000000000000000000000000000000000000000000d79fe4bb684520bb3d2bf93a063ca43cdeb0ccbbaaeb17bbf6974dbb039b713c4d8962bb19418ebb6db366bb1a73fc3b14c0aaba479b93bbe6bf99bbae21ad3b0f6542bb173652bb867bf9bba545a33bf62f0b39bc309abb598fcfbb068b1c3b012ea7b92a1e93bb933beabbc277b13b0000000000000000000000000000000000000000000000000000000000000000049462be4c384a3ca9031d3cdf6a9d39aa8a55be72162b3cbe8ef73b73e1c13a1c4842be1c543c3ba21e113cbbcb403abaf81cbeb3ca8a3a2537ee3bfdad6e3a6176dcbd9162153a6082ff3bf40acebaf8be72bd66af533973e25a3b895a3cba3ce199bc010ea63aa48c783bb571adba0000000000000000000000000000000000000000000000000000803f000000007d60883c12eaf0bdf5c1ac3f61b7e5bd622b363c74b699bdd5558e3ff21291bdc3f60e3cc8ec6cbd00ae6b3f2e0464bd6936133c790b22bddb2a2e3f191016bd62a8bd3b6b369dbc92f5de3e1557afbc7fb6903bd361ebb9f51e533e3a9091bbe2118a3bf65a483c8a7955bc2a84a83b00000000000000000000000000000000000000000000000000000000000000000801923c68adfcbb00000000000000002615233cf6d0a7bb0000000000000000cddb2a3c3c7c8dbb00000000000000005fda143c224c8dbb00000000000000000115023cb8e6e3b900000000000000004780083c351d4cb9000000000000000092b01f3cd9eaabba0000000000000000000000000000000000000000000000002fa950bccb63693cac7e393c2dbd323c24442dbc3eb7263c4bad0c3d3268993b82ce0abcf6c2423ce20e0d3d6c11203cbd6efbbbb2cb5e3cf453ef3c0d4f413c145a85bb6173463c89e2a43c8f232c3c87f6b1bbe634573c06ea453ca2100b3c043e7abbbfa7433c57dcd93a201aea3b057aaabb329a433c66c4bebb37679d3b3d22febb64bc4a3c29ce07bc3b258d3b36bcb2bb9625b6397a20f73bb83b313c2616e2bb3f4b713ab5b5193b09a3d93ce68bb5bba95a76ba08252c3b94a9813ceb548dbbf9a1dcbae2bcb13a00c6363cbd2570bbbe8ec7bacc6733bb05b4053c909fd1ba7b7b0bbb6d3067bb063e993bd5e17839e573fabaf30587bbe1a27c3ac6450eba46d7a1ba81108ebbd79a37bb341d95baf1f9a1ba0c1282bbce86833b344519bed693cc3cf402d2bb5d600c3be25e50bed42b063d86bf27bcac53be3be46161be3d4d8b3cb01b4dbbad97753b3af94ebe3f865b3cc3fd57bb3ab64c3b664c24bee2ef1e3c9ac7e8ba45ccf13a0033e4bd6d25173c40c946bb7d70483a037671bd4365dd3b8e4f7dbb922c1eba8bc081bcc54b083cb34facbb315c78b9dacb393b1bdb953c0d1792bb2e352dbb72951d3dd5af44bef42fad3f24b61abb9c35133df8f12cbeb5539b3fad5a883c6496f13cf36d10be6d888b3f92f3ab3c1905cb3c9348e3bd1b54613fa8a1f63ccb49b23c4f54a0bd0bda243f66bd123d85f5a73c361645bda65ccc3efa57323d46b17f3c075ba3bc6bb3303ec01b383d7272273c0c35273c019331bc0dbf483d40113d3c117b3b3c3e931cbee951bd3cddaf21bcebdf11380000000000000000bfca4cbc6a6903ba00000000000000007b605fbc34cffa3800000000000000004d8766bc8b75d53900000000000000006bf350bc4ebc263b0000000000000000457a4dbcb009573b00000000000000008fa04fbc6b9b693b0000000000000000d43360bc190bc63b0000000000000000643aaebbd2228d3b00000000000000001ffb10bc5f9e4d3c1899203c4aaa353ce5f147bcdedd883c893fb33ccb1e263c80d442bce9e4913c93e0ca3c54fc6b3c65a418bcb9c3813ce258cc3c432d443c5a77e7bba181763cfce9733cb4d0393caf8ae2bbf9ed603ced364b3c513adb3ba0b00abc2b615f3ccd19ec3a9faab73bf58c1abca3da843c6a6528b94b9aceba35200cbceebb2a3c1b9b9aba2bd57bb9500139bc3c4fcc3ba5eb233c764383ba5b3eddbba7d8853b9a311b3c63f7e43bc347aebb0b111d3b4dab103cade9933b848786bbb3057f3a8042a93b7b72893b9c9340bbc181203be041553bf6bc25ba575ccbb9ddd676b967edd93a7cf44d3a5d70833a224f2fb9ec8e933a87bb0bba1ad2043b480d513a16398db9402b29bb96d340bb2a7e853b31c74e3bc32146bba986d5bd33ea093d542cb8bc8d13c43bb5ed30be4416843ca28c92bcb67acc3bdfeb3dbee9c9dc3b2fa47cbc7589b93be5cb2dbe53f2693b827b65bc0002af3b2d5906bee76c213be4cc5dbcf0135e3be270c2bd2557da3be4cf50bc68c7243be71a54bd62185e3c0b0271bcbd2cba3a67e89abcf922a23c6b4365bc45259fbab58cfc3a0ea9ee3c510d81bcad2314391c36163de8a42dbe98f38b3fd5084b3e994d283d2a2535be23f9893f75fd3f3e9a2b0f3d03d519be9d74713f2187383eed3ffd3cde20f9bdb29e423f4b9a283e88aee93cd8eebabdc39f0c3fc9e3153ed9abd43c9cff84bd52a1ae3e8702fd3d50acb03cd7f41fbd56bf183e03c0bd3df4759f3ca87f7bbc57660abc855d893db957833c69e2b8bbd0bbd2bd21d6f63c618545bd2e23f83b0000000000000000591f55bd0403003c0000000000000000ac564dbd6d62063c000000000000000008703bbd68efdb3b0000000000000000386821bd55a9c03b000000000000000068c71abd778d133c0000000000000000c176fabc2efdfe3b0000000000000000c3cce3bc8f20fa3b00000000000000009954adbc133dc13b00000000000000008851b6bb6903de3ba21c213c89020e3ce0712dbcf0bc553c29bbaf3cb0032a3c3fb219bcdb7b333c4e67e43cea2c373c38f2f0bbf6193d3c5dcbb83ce8583b3c5de3d9bbebb7443ca5b49f3cb61c1e3c0b53f0bbfbdf2c3ce305533c5504a23b6aa2dfbb5ca9353c5fce303c18919ebb0f6714bcbe784b3c2d0db33ba2eab5bb627cd1bbff37ca3b6d0e963b98ebecbbba0f50bc430f1d3c274e583c95ac55bc0841f2bb54bed53b4c543d3cb17296baa3ef97bba6ddc43bd121283cac8aaeba5f0a59bb49aa6b3b342a033c0ac5a5bb729a44bb2dfa603b6216bd3bbafe89bbc7b7a5bafd1db53b5f66843b7938aabb6b333db9e8ee5c3b15be853b8565ecbb65fc1d3bbadc813ba053f13a31ade4bb24c65cbb0a5caa3b103f7a3b1159eabbb6f5a1bd7cd1c43c62cb0abd9cc22e3cb94a07be8e15cfba13c5f1bc93f63a3c659812be073098bcde27cebc6f842a3c794601be21fa8bbc9ea3b5bce4551e3c2349d4bd18bd76bc28eeb5bcde73103c929b8fbd875815bb1a46b7bca25ea53b2e1917bd5634473c6ee4a9bcea118c3b0a1d3ebcba66d93c56beb9bc6f86da3ae14c8e3ba11a263dcd55c2bc2d53323b7081093d494b1bbeb5d4623fbd6cd83e31a4183de11f21be4f315b3fcc7ed23e1e8f083d6ce20abe1dae3f3f512ec53edec5f33cb2fce0bda714193f9533aa3ee1fadf3cb800b5bde6cadf3e3e058e3e8df3d13c49e580bd88228b3e3a37593e9214c53c813030bd6df1f33da589103e6a07b13c5075bbbc80812dbba83a9b3dabc4903cc4348bbc8c6999bd6c3abb3ce89bb7bd1dbe7b3c00000000000000008ffac1bd807e723c000000000000000099bebabd933e6e3c00000000000000004248a7bd813a5c3c00000000000000001b0f95bd04f5533c0000000000000000822480bdf9c34d3c0000000000000000794e4ebd2ef9243c0000000000000000f44b30bdfeb4333c000000000000000074fc06bd5283143c00000000000000009fbca5bbc466a33b5776173cf478293ce5abc3bb4246bf3b56f59a3c60224d3cea37c5bb7531b23b50d8ba3c0805773cb0ddb7bb84eaaf3bc3cfad3cd39a5a3c3a1948bbe62cb13b64725d3ce6280d3c1f1bcbbbc18be13b864b943c69adb93a0130b3bbd49ea43b16f1383cff4380bb1cb7bcbbd699c23badfc3a3cc40445bc7645c9bb31268f3bc1e5f33b33c906bca53c46bc0d9c333c4d383c3c6a804dbc84fffabba8c2173c5368433c9027b1bb5a7ebfbbf0e7cd3b13813f3ca5b20cbc5e5330bb4fe3a73b3daa103c07309dbb7b093fbb819ce23ba105003ca6c829bc8d85d2ba34158c3b94b1f03b2106f1bbba7da03a8ad48e3b5925913b0c3800bc3172513acb84a03b1408ab3b7c420cbcab1d5bbbd2b5e63bde52c13b1d8616bccdbf5bbdf483073c86582dbddd9b7c3cfadab1bd3e8407bdeabb0abd84226d3c6412bfbdfee547bdcf6400bd2faa683c357eb7bdd09949bdac0ce4bc5b07513cd97e7dbd5ccfcdbcb221f7bc44a5293ca03545bd0b978abce39dd9bc5222ff3b5e2cb8bca8e9c23b0cfbcabc73108a3baa43a3bb499fcd3ccbf9cabcd4e20e3b3a51443c3198223d59afdebc9df61f3bf4bfd53ca48bf6bd4135253f2efd293f4572e43c02cdf8bdc9711d3f9bef263f6bdfd43c0837d5bd2199083fb993173f76dbc43c25e1b6bd13d4dd3ed86b023ff9349e3ccd5c8cbd7827a03e7b21c93ec58cc13cf1d565bd93c84d3ed5f1943e5b1a993cde4b21bd174ec93d1a6a323ea0d28a3ca66bd1bc47bb2d3cddfe9d3d4695833cb7c697bcc18055bd2bafd03bf97605be4c31a53c0000000000000000f2cf09bebe9da33c00000000000000003deffabd7c15a83c0000000000000000cb60e8bd65ec853c0000000000000000c5e0b7bd3a3d763c0000000000000000867fa6bda940893c00000000000000002df984bdd37a733c000000000000000022f64abdee1d563c0000000000000000b7b424bd7001753c00000000000000009e4647bbc41e0cbba654633c372ac83b6f44d3bb0231063a6260973cce625f3c9393acbbc45167372c56ba3cfe7d763cb3b79cbbab3907ba8c929f3c0bd3723caa41b0bb64fc1e3b14c5a53c784ca03bd9ad91bbd6cd0f3bb613933ca036e0ba0556b8bb54e3763a7efd903c8ded34bc7cdff1bbadc4cb3b1bb95d3cda1191bce2a98bbba61cadb9b46c753cd9808dbc92d52cbcf3710b3c1dd91e3c30dd46bc8ef996bac2e9ba3abbde2b3c6c57d0bb65410c3b54c7c339bfcc213c5da2dbbbf65e153b1386fa3997380e3cdcc41bbc5231393bff04583a1194cf3b601de7bb9e708b3b280ab83a5b43fd3bd7d123bcdfb4913b73e7f03807d2d13b78e324bcae29b33b2bb0253b9282b93b7c8137bc4fe7a0b952bf223bc4f4bf3b1c6f33bcd0a2debcf40483bcd9d724bde0f68c3c22d932bd850fa5bd9c0bd2bc94649c3cd85f52bd0b66c0bdb632c8bc5d038e3c81e537bdde2eb1bd60a3bebc7d70713c970d1ebd98bb8dbdd6daa8bc2527563c5b1ac5bc9a6716bdf40baebc7a43113c70cf1ebc1ca4e4bb5eb89ebcfa36a43b6861a83b2b97833c8df88ebcb951283a6e9a763c21f00a3db75ba8bc89cc9a3bf039a53c7d03a9bdfc2dcf3e8464673fa244b03c167caebd7224c23ecc93643f16e99b3c6aae99bd344fa83e42c64d3fed7c8c3cd6b37dbd9f9e873e18d52b3f838c8d3c8eed55bd5ed04b3e1ef8053f67e5723c377d31bd15200b3ead6fb53e8d506a3c1aebffbc25ac953dda01483e680d803c92a9cdbc9af2b03c2b8c803d5de11f3c477b85bc921fd7bcc3648cbca0dd24be9087da3c0000000000000000a4ad31be22cfe43c0000000000000000cba21fbef62bc63c000000000000000091290bbeb747c13c000000000000000073c8eabd00f2a53c00000000000000004dbebcbd99c09f3c0000000000000000e11f90bde231973c000000000000000091254cbdf2476f3c00000000000000006d3e2abd1858653c0000000000000000a59ccdbaa17be7bbf422583c34ecb23b0c282cbb73c0a1bb74e2843c8102703c61b340bb93e082bbe5f4963c9e649d3ca61dd3baa4c887bb4f3c8c3cc5ce6f3c835d49bb971a47bb6f31943ca3f9dd3b5d9929bba7e726bbc8fc953c4980c8ba720b84bb19f3e0b81739813c77c838bc85839dbb0ee0c539f079833c678898bc62045ebb0ae356bbda2e813c8e93a0bc88f142bb6a14863a9a38f83badce14bcdbc08f3b4b46b9bb55130d3c4ae61dbc47bafe3b1173e1bb87f6f33b6c831cbc3cb4023c98adccbb5d49c73bfc712abc46aff23b744c96bb079ec93b159c1bbcfe5bf43b0eae7ebb6282a83b77aa34bc9154db3b1c0219bb3b10df3b10963ebc93fed13b810336bbe220ac3b7f5a39bc3a4f033b356b933ab27f9d3be0db22bcfeb3613b91494dbde250bcbcc965883c7370acbae01e02be0b3b1ebc7c95913c54ed12bc5e9613bee0a244bc91359b3c794efdbb365b07beb73523bc0f857d3c55dc00bcc8d2cabd914f40bca486473c1a8bbeba840d8dbdb14effbb64eae63b3694a63b92a6eebcb94b08bc4bf1743b58e6263c990e9b3b43edfabb45f4513a6ed88c3cdbadc63cca2636bccc5c7838894d2e3c36553ebd17b9403edc878d3fbc962e3cd2de36bdf4be253e06ad8c3f4abd1e3c873127bd666a133e6e3d7b3fc236153ce58f10bd3d0df53d1023503ff3f00f3cfcc2f2bcc9f1c03deaf71c3ff6f42c3c3b07d4bc6eaf963dd0c2cf3eeedef63bdcb0adbcb37e4b3d3f2e543e66f10d3c5e268dbcbb55f93ceee6213d0a2a163c63be83bc167b853b574b73bdd9c938beaadff33c0000000000000000b68844beb79cff3c0000000000000000151e2dbeafa7e53c0000000000000000749f14bee825c73c00000000000000002ea7ecbd80ddaa3c00000000000000004fd3bebd18c1b03c00000000000000007c4d83bdff258a3c0000000000000000690c23bd019c503c0000000000000000a8c2e6bcc18d5e3c0000000000000000d305a139ad6af3bb8b22323ccc96433c4e64703976820ebcc4db783b0f3e083d2b68893ac128febb43c3163cc53b053d136e3039d12ee6bb468b0e3cd734ef3cc45b91b7cd659dbbd6972a3ca1d3923cc953f3390dff8abb14d2353c4ce2de3bb7c9afbaa7932cbb293f323cd3a760bbcbfde1ba0c1c9eba3049383cf4474ebcec8f57bb527e87baf4903e3cd33792bcfef5993b597a2ebca1937d3b414792bb068d573ab3583abc072de13b6a5313bc68e0833b0abd27bc86f5ac3b50d2ccbb2e9bfc3ba8c93abcf4e99b3b44d805bca9e8c43bd3f10cbcd8507e3bb5bb0dbc5399d73b16fee3bb4ddc843bc0b911bc3b96a83b08098dbb6bb6143b27c3febb8193423bcac913bbada48e3b8e440dbc24e6943b100ba7bb9466283b7e4701bc98e9a13cd3d4f4bd0523193bdd375f3c8a30043d9dd831be7adeae3cd99b3a3c57198d3cb39742be5d7d543c2fdc4a3c633a853cfa5834bef2a5423c1215323ccdca493cde030cbe1ce10e3c0812ed3b498d133c266ebfbd39e0ee3bd2e80d3b6251073c92ea37bdf91b903bd33d7eba09afd03b72a892bade8e4c3b80ad92bb0c348a3c68407b3c3760e53b4fd78ebb69f41cbb205f36bce3fea0bb9754ad3f50cf89ba171d44bca6c74d3bc98d9b3fad0ac2ba93352ebc79c7b63b7d718c3fb6c0a1b9ba882ebcf28f193ccc46653f475b2cb939a12bbc0bb8873c3be6293f903e0e3ba95826bc8dbdc23c185bd93ec000403b8f2219bc8f37dd3cb7bc493eb4f3773bd80753bcd420143d79fac73bd212f53a79dfc6bb02a6883cd2be05bedcc44cbe8b210d3d000000000000000031d234bef7e1f13c00000000000000005b441ebe4c5dc83c000000000000000063e502be562ba53c00000000000000000ab3c6bd613c9a3c00000000000000005cf785bdb6c6873c00000000000000003ef821bd78f6583c000000000000000043d9a2bb2f58b03b0000000000000000f373bbbbba6d273c000000000000000000000000000000000000000000000000c7055c3b5d6f3abcf9cc863b0cbf243d1c50873b975c15bcd200d63a7faa273d15f0063b3d42cbbb2b89f33abdda0c3d02f6483ba0c8c8bbabbc323b2063d43ccd8e0a3b131a3bbb2600553bd4c9743c13f0053bc7b781baa3047d3aced8033cc546cf3a469f0fbb89358a3bb63089bb0000000000000000000000000000000000000000000000000000000000000000923fdb3ba1e881bc310d8839d461633b810de63b1ff55fbc75d491b96de6c6b97882013c811847bcf2b8353a74b2f8b945ac0c3ca89d2fbcab1f66bac99599baae02da3b38e50fbc9a7aa1ba828c39bb33205e3be46db5bbf58be2b9440d6fbb4310063b5c107dbbcb8e91baf139a1bb0000000000000000000000000000000000000000000000000000000000000000cb2fd33c9d165ebe92a7d13c04aaf13b3e6ebc3c151c51bee2d9b43c4026ce3b412a873c77243dbe08257c3c505ac53b571a513cf97a19bebf84753c2f16843a3126343cc6b9d5bdebb1453c84104e38af03e73be61c6ebdd073333cbcc90fbb871bf63bd40e83bcc91e4b3cc20bc4bb000000000000000000000000000000000000000000000000000000000000803f799628bc5d9c503ca918e6bde662ab3fd84306bca1ff1d3c780698bd49a68c3fd45805bc3642f33b7bca6cbdfea9673f5231acbbee4afc3b327c2cbd5f622b3f0aef99bbd605bd3bec48bebc44c8d83e977984bb468b973ba46f0fbbf993493eb0ae4cbba746a33bf65d2a3c1b099cbc0000000000000000000000000000000000000000000000000000000000000000247ef5bd1866833c00000000000000003636a1bd2388253c000000000000000007177fbd8027153c0000000000000000939031bde72f073c00000000000000005c55c3bcdbf1d13b0000000000000000c2c441bb6797423b0000000000000000778d353c64f82f3b00000000000000000000000000000000000000000000000000000000000000000000000000000000cdecbabbdaa60b3cfee3543cc901baba00dc5abbbb0f8f3b1ab76d3cdc42b1384ecb1abbd024b33bcec42a3c7d4fb6ba71c82ebb788ebb3b13f6c93bd16094baeec2f6ba287d0e3b2842973b0eeeddba11d5eaba56db153a622bfa3bbee76abbdfcc09bb3f2eff3a6edcb23aa551a1bb000000000000000000000000000000000000000000000000000000000000000044b4b73b2b7a30bb5ff5c33bbc9351babbe3383b0859cdba33198a3b8339fc3aef6a803b33f39dba27301b3b5b9150bb67f4823b0595deba809c043bd82537bbacc66c3b184f81ba0383ca3af8efd73a4c823c3b3c54c6b98ece933a15c9bb3b194ea13b32c9b9bad605563995e7f23b0000000000000000000000000000000000000000000000000000000000000000f9c721be9953f5bc3a48813c48d78dbaac9d1dbe677ccebc62fa583ce5a2a4ba273a02bee09ce1bc3011573c8700aebaf7d2c7bd2fa7d2bca148483c3c3c9cba30748dbd5942bebc8b2d403c4701d1ba1c4c2cbda7b284bce82f353cc56400bb801358bce13d80bc4b243f3ca64b92ba0000000000000000000000000000000000000000000000000000803f000000003e160f3cfb7ea2bd9179a73ffbc1aebd8ac5ad3b692b57bd5c608b3f394c56bd399aa63b101322bd0b3e623f90a530bd2e80943b31cdf9bcdc1d2a3f5ea204bdaa9a503bc10eb7bc4312e13e9ea4ddbc0d07fc3a987b4dbc31e45f3ed17f89bc2d4a233b84be01bc51e6ec3c3e03aebc0000000000000000000000000000000000000000000000000000000000000000eb532d3c157454bb00000000000000003589da3b1ead00bb00000000000000003bbab43b1b922dbb00000000000000001fc6aa3b99e0ffba0000000000000000370faf3ba4119dba0000000000000000654baf3b4c44c1ba0000000000000000309f073c76d545bb000000000000000000000000000000000000000000000000b9430dbcbf02983c45e9c2bc03aafb3c0f0810bc8a68743ceb601bbcc8db153df835efbb9332593caa142bbc49b8083d8631e1bbaf96643c6aef76bc7dd8123d9398adbb29f43b3c21df91bcd16b053dcd56e4bb3d823a3caaa494bca857fa3cdc2797bb8219003cf6d487bc6b5cd23c5d5eaebb4459e43b71a66fbcff8cca3c33af02bce82a643cdf3bffbc325bcd3c6cbc98bc67c2983b5863543b96208a3b00e0d5bc0c51e03bafda893b94fd6b3cbf42c3bcd1c7de3bbe912f3b781d043ce20bd0bc999cee3bc0bc813a49e6e43b7da8bfbc069eee3bb21e32ba97df2b3ccf4cbcbc5d01f03b07657b372fe0243cefc6b0bc05aaf63bb22336bb1ddf483cfe29babc36f7013cfb2753bbd1807b3cd58f90bca717b73b8e5d34bb6b96a23c281d06be0aaa273b457e763b263f763bf18653be39e57e3c73533c3b4495863b6af14abe5a63a03bf2ad5a3be607663bb23736becbab443bca872e3b16d2803b099413be0d3cad3b05d0a33a68297b3bab0ce3bd21f7233c7ca6703959515c3b3b4f9cbda5027e3ce22c5cb857414b3b090556bdf11fcc3cc937a1ba97e95d3b63e200bd0e54ba3c0e8a68ba9740823b508e7a3c05a9eebd895fa63fcddf9d3c7777633c6383e3bd7fce9c3f2db5ce3c55192f3c0800afbdacdd863f80db1a3da851283c9f2e89bdcb77583f1c6f273d9f980a3c4d635fbd89f81d3fb5c71d3d9ef9fc3b122e18bd950bca3edb980f3db6dad63b7b14b8bc6140353e3ea6eb3cb286c03bd21c8fbb36b189bc87f6d53cc75fb03bd73129bc4835debd82b46cbb27ba9abb68509a3a00000000000000006877dcbb53fc053b00000000000000005f19c3bb92d6bf3a0000000000000000595abdbb444e373a00000000000000005a52a2bb7578d83a0000000000000000c4bb8cbbb9c6e03a00000000000000003d8f87bb11b3db3a000000000000000064194dbb3851113b0000000000000000917c9cba766ebf3a000000000000000043e607bc7907aa3c563280bd7963a73d52b420bc410dc13cb4c84abd1e809b3dfbf81cbc5f71bf3c306b47bdedd8993d3e820fbcc580bf3c7fb651bdbd7d963d9db4ffbb6aa9a03c229f50bd58cf913d803ff0bbcff09a3c2ba053bdc66f893d168a08bcc61aa83c0e5454bdbf7a843d8a3610bcc75d9e3c2e184dbdb4ae743d707808bce1ff913c5d3c79bdcb438b3d6fec64bddb08823c2a03a7b9f57d243ce23967bdcd9d8e3c6148b2ba8625373cd8b55bbd2290913c057ad9ba7bb0253cd71a5fbd6606923cc70a16bb3a3a003c546d57bdcb738c3c81648abb2df6473c62c958bd40e7983ce29bb4bb8bc47a3c7c8c4fbdc9798e3cd3fca7bb1be8863ce0ba4bbd79898c3c1203c6bbfe9f983c042d4bbd1f278b3cf03bf0bbd7a4b73c191d0abeeb634b3d853395bcf0ff383ce8a73dbe945b1d3ddb556cbc35e11e3c6e3944be33e4053df71989bcefe31d3cbe5030be27250c3d846890bc4e091b3cfa1a1bbe9937223da0d381bc911c183c026300bef972413db06f92bc420c1a3cb405cebd0ca25a3db67c98bcb849173cf0eaa1bdc2a8863d508c9ebc4700203c876b8abdb6dc963d85b4b5bc0ec8373c482c2c3cbddbb3bdc3f3833f0ae95b3ea24c523c6630bfbd9031813fd0a44f3e2b69353c37959ebdb2205f3fbfea463e87ec273cad0d83bdb868313f68f5343e45fe0d3c74ea3dbd1162013ff2b6153e4b16d53baa4f1cbdaf35a33e6e8cf23df0cac43b9247dabc7ce2153ee2b1ac3d87a4a73bed3464bc0de2c7bb74da603d4c76733be29c8bbb7a8dc0bd711ec13c4bd2ddbca8f8df3b000000000000000096cfdabcf699ca3b00000000000000000acbc0bc8398aa3b00000000000000000f71bcbc1fa1d13b00000000000000005922b5bc8909aa3b00000000000000004a2fa4bca686b93b0000000000000000487585bc9bae9f3b000000000000000051cc7cbcb076ba3b000000000000000038565dbcf7b6983b000000000000000058c8fcbb9c43b93c3c40a6bd571fea3d941725bcf8c1d83cbd9d8cbd4e96db3d88e613bc669fcb3cf1328bbd65a6d43d480802bcc2b6c33c351d87bd4ba6cf3dbf141dbc2c55d43ca00691bd84a3c93de53b09bc7d10ba3c56d389bd6b1abe3d652f07bc06e7ba3c0c7788bdf416b73d6d7e0fbcae6ac53c778584bdddd5ab3d0c1808bcdf85a43c8c789dbde6cebc3dce0ea6bd813bcf3cf6fb71bbbefdd33bcf22aebdb9f8e63cde799dbbda4f2e3ccb18a5bdbf0dde3ca0b9adbb4d8a1e3ce8cda3bdae3ade3c9a81cabbe39a283c4267a0bda489e13c4507f0bbc95b423c0c969cbdb7aeda3ce8b7e4bbb618463c078e9abd7c03e13ce20a07bc14ec7d3ce8f196bdb667dc3cd14612bc8800893ccc3992bd3098c13c546c09bc6b32913c8fe306bed9aca33d58d617bd70087a3cd32935be0aa68c3dd0fc18bd7675853cdf3a35be6116783d04b81cbd454d7a3c0cb42bbe2136843d3f3a1dbd5fc47a3ca58519bed23c983d7d0323bd0d1f7f3ce12e02bebc3bab3dce9c20bd049a773c3525e0bd4a38c13d2f1f22bd9a98713cca35bfbdc0e0d93df52a23bde4ba7e3ca0ea9fbde3b5e43d885622bdfcbb753ce5ef003c82388dbddab34d3f0f61d83e44800b3c314d94bda307453f26c1d53ee5d0023cf74471bd2613293f921bc63eb624d93b2b6f44bdf658063fc50caa3ee81ea03bd18e1dbd1fb4c33e50848e3e3dddb03b7cabf0bc27a3713ee73c5b3e9c417e3b2622bbbc459fcf3dd29d183ec5f4183b9ead25bcae8e84bc07e9ba3dd367263bd88b10bcc2a0a4bd94f3243de76745bd77f1313c0000000000000000eec254bd3481343c0000000000000000f29d43bd3445303c0000000000000000e5ae36bd9c662b3c0000000000000000365b32bd7098273c0000000000000000c04b19bd43731c3c000000000000000009750fbd60961e3c0000000000000000a5b101bdc543153c00000000000000005a65e5bc92140f3c0000000000000000cba906bcb765ae3c6d21b0bdf88b093ec15400bc8571cb3c3ba9a3bdf680023e908c02bc7ea5c13cf22498bd87c4f33dd1b00abc42bfd03c40639cbde888f03dc20ecabb11c7a43c004b9cbd2bd4ea3dc5e0fdbb7327c83c88a49cbd9a38e13d577be8bb2271b63c89e391bdc5efcd3d8bf8dfbbc367b03cae7992bd2826c83d4ef0edbb0b7fa43ca7d693bdffaccc3d3f87c9bdaa57063de56abebbc278d33bc65dcabd1ed60b3d407503bcd73a133cce50bcbd385a023d4d64d1bb7688bf3be9aac3bd14f00c3d5f6514bc3398453c47eeb3bd12fffe3c20e7e9bb62bd503bfe62bbbd123b073da7f318bc33ad3e3cd9caabbd5497fa3c790707bc961c153c3ad9abbd6af2013ddc9141bcb07e6e3cb11ea8bdce30f93c787206bcc8a8523c9364f5bd68f0cb3d97d06cbd851f9e3c406617bedfdfab3ddbaa6cbdb8cf913c86c616bed57d963d0f0d6cbdb8ed973c679e17be1404a33d6ace6dbd988e9a3c4acbefbd82e2b83dff7d61bd866d8f3cfec1f0bd76d3cb3dd4146bbdcca4933c8512c7bd766ce63d0d1a62bd7b52943c1b6eb8bdfd18023e74ca65bd1358893c81119fbdb0d0063e5ee460bd5fd5963c13389f3b2c7851bd71d2123f9eed223ff1a2c03b88354bbdc7df083f7c4f1e3f0ff2913b2a6628bd1afae93e95ae0e3feb1d823bb1b80fbd9035bb3e27b2f63edba86d3b36f7d9bc81fb853e54fec03efc84e03a62dcb9bcd11d283e48399a3e1d63dc3a6b8598bcff618d3d393d4e3e63ffe83a417527bc00bb92bc522af43d8d66bbb9fe42cfbbca0894bd76f6553d1e018ebd4ca2583c0000000000000000bcdd8fbdd7e57a3c00000000000000004a6583bd2347603c00000000000000005e4476bdc58a4b3c0000000000000000693361bd037e453c0000000000000000057363bdaffc5b3c000000000000000018d149bdd8f6393c000000000000000060a93cbda59f4f3c00000000000000009b032bbd4f0f473c00000000000000007704bbbb8504853ca44780bd1e6bf63d3855debb9afda63ccdef5fbd2687d93dc58dc4bbe046a43cbc455bbd9dded43dd6b0b1bba5c09f3ce17659bd9a73cc3dd908a2bbdc299f3c00c353bd9253bd3d1dafbfbba507993c39d353bd619bb33d8c819ebbd54e9d3cfeb04dbde46bac3decf7acbbefcd9f3c038145bd8137963d41608cbb49d8553c349949bddf11ae3d4170c6bd8fde0d3d2e0cd8bb4b36cd3be17bbbbd10c90a3d84aa0abce8d71d3c01eab2bdf5ee093d07ac1fbcb8f6df3b3a9bb1bdda92093d3b1312bcaa67be3b039aaabd95db073dcf9727bc68fe003cfafaa4bd297d043d911e17bcb344c23bfdbea0bdac64003d425022bc60eda83b67a59bbd200afe3c7d072ebc9792e33bbf339bbd42c3f13cb822f9bb018cff3ba152ddbd664dbf3d33108dbdabf1a03c0d7a00be3823513d16da87bda115a73c3db501be5ea3313d5fbc85bd851d983cbcb9f7bd3f045f3db10a84bdd5ff8e3c6838e9bdd36b923d38688abd1d31983ceb4ac2bd0d93b23df10583bdbfe28d3c0148b1bd08e5d23dcbee7fbd9a19833cf9c68ebdcc79e93dfa986dbdf4547e3c922879bdfd1c013eaa447bbd06ac953c3f1d4f3bda2313bd15d9bc3e5f735d3f2c65273b75701dbd11edaf3eb1415b3f8a563d3b6b90fdbcdf7c953eb091443fd0dfb33a2ee1c9bc7583673eb66c253fafe0dd39765a9bbc0c30233ee492033fb9f3f83961236bbc95a9bb3d0d22c03e7ec162b95bde2dbc9684ec3c2fa2743ef951a1ba634db8bbbba7f6bc9111033e2e0af2ba619cbdbb736f89bdc03c323df3f1babde124883c000000000000000090eac8bdb5c6873c00000000000000000befb4bd1cde833c00000000000000007a71a6bd8ddd7c3c0000000000000000258496bdf0a4813c0000000000000000aad88abd56c6653c000000000000000090e579bdf2bb763c000000000000000080a264bd57b97c3c0000000000000000eaa050bd9a204a3c00000000000000006f160cbbc9c0f23bd699f7bca86ca43d21bc2dbb6661473cb846bdbcd00f8c3dce0224bb0332303c78fab7bc03a48a3dec6bc2bab2ab333cdf32b2bcbb7d7b3dd679fdba5cbe1f3caabab8bcb14c733dbade04bb59fa393cf238b8bc7689593dae89a9ba076c243c0931b9bcb1a2473d183cddbaa2fc343cd8a5afbc1981313d89ba0ebb9594c93b6f07b9bc9ee6493dcdff92bd5d77e23c7e60cabb8f467c3ba9397bbd3f03cf3c064512bc3f792b3b207274bd39d3cf3c13fdf4bb10884f3a010c6abd0f8acc3caa7311bce26d893706b268bdc9decd3c2fc4fabb33c0a839948761bda1fec93c4b4808bc21d94eba844950bd15e5b73c0d0409bc290137ba436f43bd2be8b33cdc4b0fbcfe7cc8baebd957bd16e5b13cb02ef7bb41f0923a4b7787bd5427313d71df83bdba7a8a3c449e98bd0a4f14bcb6cb7cbd7613823cc66c97bd188398bc539e84bdfe96783c923795bd45f8543a252082bd5a56633ca8bf87bd4188b63c23a981bd5ca36e3cb8ee6abdc4272c3dd3436fbd27dd403cbc5f36bd9c0d783d6f3967bd0f234c3c9e3612bd7fb8a23d55ef64bdd8d8363ce847fbbc44bfbe3d463258bd49f6553c2abcc9b838deb7bc39ac373e29ad8a3f541b053a8265afbcb4531f3ecb98893f6533253ad1f594bc03f2093e20e5733f4d2bbab9fbfb67bc41f5d53d69174a3fd764feb9fbd42cbcba38903d88ec1c3f30a591ba133d07bc1875193db9dedb3eb092adba92c2e1bb1c63b63bba87823ef66ed0ba770332bb37cbb3bc6837d13dd914b3ba64f48abaccad34bda4d0fd3bb979e3bdc7d0913c0000000000000000843bf7bd078ba73c00000000000000002498d3bd6bf2923c0000000000000000fae2babd5b21963c00000000000000007c7cacbd928e803c0000000000000000fa5b90bd10f67b3c000000000000000013b886bdb224843c0000000000000000d1796abd7334873c0000000000000000225544bd1fa85a3c0000000000000000be7f25bac4aa113be07a763b1fa1c83c026d35ba42ea733b7f1282bba7b4033d3aa239bab4dd983b220336bbbbb2fc3c341dc1b9619a993b754154bbfe68e63ca6f691b9cf23b93b0e2184bbf74dba3c082f27bad690ba3b564fccbb94f3ad3ca19547b8c7ccc53b4e9102bcf92ba13c111854bab019d43b525c26bc717c953c08345f39a4bc463b53c0203a8a01e63b1467c3bcdd4b413c8b1dd2bb92a214b9045648bc7299703b9c61b8bbe2e1f4baf80978bcf5b3d83bd91cb1bb884b1abbbfc182bc9da5053c15b3bbbb29e042bba09580bcd0260d3c75a7cebbb85e8fbb378a74bc6416f33b5fc3c1bb82f670bbd4288abc74200e3c36cfc9bbbb20bfbbe87f66bc9577c43b62d3a5bb3bc4d5bbb8f46fbcc6a5073cba97b3bb2b6295bbb9c5a2bc29a346bddb9e53bdb9364d3c0b6832bc3875f5bd6f2311bd03165b3cd2389cbc598ae5bdad682dbd7caa453cd9a9bcbcd0c8b7bd220937bd0a3f333c153699bc51ff65bd8d8d2fbda8e6063c139169bc0f5ff7bc617321bd8054123cc7a3d4bb1dd1be36f31a10bdeb78d73b5651dd39a4c19a3ca5ede1bc8d1e943ba237ee3bca2f1a3de9ab07bdbc66b73b6e19a1b962ec03bc78245d3c904aa93f675132b9c1560cbc3221fd3bdda2a03f5557bab946dcfcbb0ce34f3cceea8b3f8ec4e3b90436b7bb78d04c3c13da633fb4d7c9b9ae30b5bb5121133c47d72b3f228c26391f3583bb8c19313bc068e63ee6ddebb7361888bbc520a2ba4b826d3efd226fba112d1ebb6679673a61ea193d2f5bebba14a928bb9fc0a1bc47687bbd43f907bef3679a3c000000000000000018a704bec45c9f3c00000000000000005065dabd164c8d3c000000000000000068d5b7bdcd757d3c0000000000000000bf0897bd9c2d7d3c0000000000000000fdef85bdcfe16d3c00000000000000000c3051bdd411623c0000000000000000a61915bdaa78643c0000000000000000debf31bd14135c3c000000000000000000000000000000000000000000000000ecc760b91507c6ba50a7863cd3739db9f01fd4b90da90bba7ac32a3c6795363b06702abae731803acb9e323ca375acba37fa7bb95de920ba47b0343cf2eb93bb841ce13907104239a4ce183c1e41cfbba78b0bba2abd463abc41af3b4a298ebb1db7fdb90bf9993acc24f63b528319bc00000000000000000000000000000000000000000000000000000000000000003789863c9764c5bba2c03dbb0fd7b4ba0b2f733c5f91c3bbf22708bbe5be37bb19876c3c2aa895bb819c30bb14405bbb32b3823c11fdb3bbf95402bbbd4115bbc305373c3b7f4bbb44f425bba5a775bbbeac2d3cb62a8ebbd38534bb131d8bbb795f273ce96839bbe83535bb6285abbb00000000000000000000000000000000000000000000000000000000000000008f97973b6c6a25be6fc4a4bca1eac23bda50d83ba93322beedea74bcbc03ab3bd57e803b68cb05be1b7e92bc490b883b9f2f333bd611d1bdc66aa1bc1f4c943bc9f70e3c04e797bdbe0266bcc226e93a052d633cb25f44bd40b9fcbb12a1053b6dc2a23cb58eaabcb7dd02bc7a9ecbb9000000000000000000000000000000000000000000000000000000000000803f8feafcbadc91a03b10d19fbd4e01a73f6dd194baff83453bbb6f55bdc1468b3f837e64baab5f0c3b45bc23bd5fd8613f2fadc7ba01dd4e3bff8b04bd60ba283f432d5cbaa367d03aa9c0babca6c9e03e7900e8392f389d3952a85fbc62de603e3ea036ba5611cfb9ddd014bc613ed73c0000000000000000000000000000000000000000000000000000000000000000561eb1bd670e313c00000000000000007c356ebd4b5af43b0000000000000000791342bd0fc8cc3b000000000000000047a01dbdb541c53b0000000000000000d225f2bcd14c9e3b00000000000000005c27b0bcb537883b0000000000000000b0aa9fbca19ab33b00000000000000000000000000000000000000000000000000000000000000000000000000000000916d0f3b4a6c1aba906d1c3cb9f279ba68b9e53a9105afba9e8d063c9cd482b92f5abd3abdbc433a81b7de3b9d65163a65741c3a7a30143b763b9d3b3e7fa5397bf7b8396ea45e3ac4056e3b136ee839e850863aa1b0dc395c0fda3a512556bad6d1d33a86d7223a5e10f9b9ba2c2bba0000000000000000000000000000000000000000000000000000000000000000a91cda34d0cb4b3a523ea13a56e37cbc6b5c3439d31c353a11efa03a990c50bc8f9910394bba55398eba9a3a4a9d30bce70019ba58df2b391a468e3ad4b71abcdec275390c054d3a1a92a43ad23cf3bb331ea83af01c20bad44a963a9bbcd2bbf521f2b873cac1396230d93af5a288bb000000000000000000000000000000000000000000000000000000000000000033fe22bd94d4aabc06b4d93994fb143bd9661fbd5c9192bcf390a63a3eb1063bb7fb02bdb51f6ebc3fd4773ad473e23adcceb3bc163843bcab528439c6a39d3ac4b66cbc42ba15bcae1cdfb850819d3a1ab7a4bb394af0bb50be98ba0ec2ec3aa445113c234ec3bb6aff98ba4e889d3a0000000000000000000000000000000000000000000000000000803f000000007eb5f4bbc9409cbcf0e0823f019edebb32ae83bb2af22fbc02de5c3fa29062bb5d4689bb5610dcbb063c343fba6d31bb73ebcabaf194c4bb51690d3ff25328bb5a3d0fbb5b25c9bb3ef1cd3e48ebddbb15376bba5ae107bc8556833e20c136bcb72188ba6e0233bcdedfe83d5ba888bc0000000000000000000000000000000000000000000000000000000000000000a46090bce8678d3b0000000000000000ed033cbc1b9ace3a000000000000000060752abcb05a3c3b0000000000000000036404bc44b0093b0000000000000000e40eb9bb837e0f3b0000000000000000dfe60bbb1e7a4a3b0000000000000000e95858bb519a453b00000000000000000000000000000000000000000000000068f43838301b30bb16d9233c6f0928ba918a6c3bd5b412bb77a6493c38f573394ec4d83ad52201baac91483cc8acc83a311b8d3abbd303b975192e3caab7013b15d2453a8c7e4939d2db003cb1ec303ba6347a3af99f4a3a5f85f63bfaf9fe3984fe08ba7354afb82f81873b8a61563ae8a27b3a9de2abba705fc43ad46efcb93963153ae866a7ba15b89e3ae625afba60c26cba5d8496b948b89ab882048bbc9b3eaeb97f218c3a61eacd3a4a02acbcc34183b907adde392b8fdc3adb198cbc852aadb902b2143a0c7fb33a255b68bc485c00b9e80874387c3b693a850d44bc4415f0ba562eb83942e4b13a51da22bc299b37ba2d5d25b953d2783a0bfe0bbcb5ef14ba6c261d3a256b473ad2e000bce62914ba8146033927fea2b9a89799bb7bad86bca02a89bcc2d9cfbba4c4203bc77f20bdfe55cbbc29848cbbc1ff3d3b709c27bd9b10bcbcac5921bb1293023bea560fbd2e71a2bc074a74bb5a46803ab240c7bce03c85bcff9af3ba7c1bcb3a4c155bbc07fe5dbc7a8506bb6ff2bc3aafa0caba7c820fbc171537bbdedbaa3a8eb43a3c401fa8bbf0004abb0adcb53abfd39b3c1fda0cbbc9a660bb1c3a143a1556d0bb6ad52cbd2b8a833ff727003e423b83bb952536bd3994733f9a39ea3de2b9c4bba4f3f5bc70454e3fb10ccf3db5e5d4bb8dd9b6bc7eb9283f0994ab3d478467bb11af93bcb70f033fbdd0843d0f31fcbae99f8cbc3febbf3ef118333da53751bae57f93bc9a30733e224bae3cb438733ac809a7bcfefbda3d2ec29339d61a86b8620c86bc73b3ebbb51d062bcff52f7bc36668c3b0000000000000000bf530abde12cb23b00000000000000002e7ddcbc1974843b00000000000000005a26b1bca3950b3b0000000000000000345a8abc28f3323b00000000000000008fe669bc95c23e3b00000000000000000db43bbc1799493b0000000000000000298328bcb1ae883b0000000000000000decfc3bb5f2b3f3b000000000000000097ad363a541e2dbb6912153c78957f3aa214a13a71b429bb331b413c0ecc0f3b413e623ab9108cbab4622e3c46eb543b041a9d395ed873ba8a64313c0ce4723badc57d396dae95b9548d083cf71b423b3afa18399b53b8b99dccf13bd8f5363b166fe9394a6927bab28aa93b4d93d63a8536cf39f74120ba8713853b1072d93a91d2543aa1772cba5b24663b3c39b4b9e8fb04bb442ae5397f051bba5fbf81bcd377d4ba0bca823a0381933a59299ebc72728bbabc55cb390f3f633adecf6dbcbe9d9aba86785139b2ca633915e960bc8a75a4bab9afb838e00009397e681fbca9ab85ba722448395320ceb79fc51bbc8badb2ba4c90feb829530bb92a71fcbb627b44ba2d361c39004814baef85dcbbd4ca22bb5f0ad23992d103bb05b469bb88b2acbbf9ce1fbc93b92ebc7882af3a7076b5bcc4a2a1bc08c82ebc8960253bfca6cabc56f19fbc7fb9ecbb56ae063b12adcbbcbca49cbc4527cbbb1d5d003b31ef6fbc774a56bc4999aabbc86e783a866000bc18ca32bcb1cdabbbe849a23a7b75ed3a315eb6bb71e09abbb8e77f3a805e483c689325bbaab78dbbe97b1c3ba261903ca3a6243ba6a2bebb64a483bae8bc91bbb5fe3cbd43355e3f98af893e9ead8bbba7c85cbd3d13503f4bbc7d3e178779bb73d41abd009f2e3fa90b5b3e8c3e8bbb5d5a09bd5a23133f51c9363ed2ac27bbdda9c7bc7e2ce23ed2200d3ef007d3baba67ccbcf204a93eb57acd3d9d3a75ba04aeafbc86d9583e48077d3d94bd8f3ace73bebc1cc7d13dac88b93c5ee095bae31b8abc20255a3bf122c1bb382812bd2860133b000000000000000096dd32bd5d20763b000000000000000084e108bd0b1a393b0000000000000000b754fdbcaecf353b0000000000000000d95fbdbc25b5c33a00000000000000009388b5bcf10f273b000000000000000026328fbc3ceb263b0000000000000000d2ac8abc9fbe383b0000000000000000b4be4abc4df6253b00000000000000007db91f39337e25bb0e18023c808e633b4223303aa43136bb0fae2b3c336b9a3b09f6003a326ddeba412e313cb59db43b731abbb9119a90b909991d3c5a64a83bd9898038f1af89ba8c0e193ccada903bf58f6d3a21930cbb71aa053ca00c923bed6f89baf9ca7eba7e5dcd3b19b2533b6fee4c3a3093e0ba931f983b1eb70d3b8f48bbba278f9fba7f56823b30ecff3abc6223bbf7dfd139eb3217ba54306dbcfc8615bbe69c753a437b6e3a69d191bcaa5ff8ba4108133ab4af143a43436cbcd4afa9b8608ba13ab4d6993a4e0036bc0b19cfba9b6997398476a7b8145523bc8602a0ba5b550f3a0e3d083afe1a20bc5de9c8bacf3e57bafa20beb862eafdbb071605bb3396843836da14ba244fecbb5ececdbacaf2d1380e076fbaf4d383bba87807b9feccb4bb794c5abca8131b3a09355ebc219a86bc008e7bbce4d5073b8d3ea5bc94c0a4bc3e4b42bc8a91c93af7449bbc689d94bc349214bc8b68ae3abfa549bc9b5659bc107b02bc4ab6963ad145e9bbe8450cbc29b1e5bbbf7d9d3ab3ce333b0a9847bbcf48d6bb0451a73a4fa73e3c74ce253b1aa4d8bb9629273ad7d46a3cc5c6b03bd21aa8bb34c4feb8ce9e3abb113437bd17d4363fa652d43e132b15bb113162bdb3482b3f0919c53e28f137bb2aea37bd7efd133fca98aa3ef68617bb4d9119bd078cf43e304f8d3e46d9f2ba5b21f7bc4b5dc03e7e5d5e3e7f5991b9655ad8bcaa488e3e178e223e1a6816b99b55c9bc37ad393e68adce3d327d123a1c4ababcdfb2b73d9b1a3c3d2f55eeb70fd678bc4cf4ca3bc010dcbaa1e120bd96a63e3a000000000000000069294dbd61c6eb3a0000000000000000a8332ebdfb728b3a0000000000000000e08e14bda86e2c3a0000000000000000921efbbc9956463a00000000000000001420dbbce51006b900000000000000009ba5c3bca41d363a0000000000000000e675b0bc5a682e3b000000000000000091526dbc6fffb43a0000000000000000cb7118b9253d20bb38c4cd3b144db13b02f2a43a1b6297bad06ffe3b53010f3c797ce9b84a7eafba3e8c063c4cc1e63bb2b69eb981188cba6ae5093c4ab2fd3b0bccc7b9a3062cbad630cf3b2416b13b0bf602b8f91452bada82ef3b6382b53b8fff5c3a61b7cfba6c97ad3b031b763b50d981b97f00d0ba7b059f3b7b0e4a3b91e682b91ca8b1ba5333853b30102d3ba04043bb394d5eb988c797b966235fbce52652bb5a18d939884a9738ca5383bc7a122cbb622d923a9b6dd239daa638bc6d9ce0ba976c29388dece138ebca23bc5008b4baae5a5eb9a24e1fbaeb65ddbb5fe5e7ba3209ddba93ae4db99b82f0bb5950e4bacf10f737d77295baab5dd4bb4bd21cbb6c27b43aa4b0feb9d992d1bb56640fbb6e45bdb974749bbadfed90bb8271903a54074fbb3eff82bc59d3cab8cb0a20bc6df26fbc19a587bcc1338d3a34a767bc026594bc56336abcda47e03ad5b86dbc43f491bc6fd044bcb5f46c3a8d1beebb038015bc1408fbbbbe34ce37c1eea1bbe323dabb876b10bcb557493a7c34bd3a1dd26439e83de2bbd979c339fa33053cbe9fe13b1d97e3bb01b860b9d8b8303c0ed61f3c6a64acbb15d86dbabbb8b4ba28bf2dbdb130103fa6ff0f3f300783ba0a2652bd4dfe053f8382053ff66972ba75ea21bddcb5e53efa2ce43e0fa25fbabf2b12bdb7edc13e3dc3bf3e87eb80ba89a7b9bc9d5d933eb158913e1a0bdfb895b9d4bcf4ab633e735e5d3eeaf49a3ada37b1bcc15e133e6ff20c3ecb903c3a97baa8bc2f45953da1f1873dd5bb36b95dd96bbca462c93b74d3c03a0ad52dbd3a709cba000000000000000048a655bd420941ba000000000000000005062bbde0b40fb90000000000000000d5f91cbd323735bb00000000000000005eadccbcee524fba0000000000000000c27af3bc1d0cec390000000000000000f0ddcabcf8c97f3a000000000000000068dfc7bc55cea53a000000000000000095ec8abc0ff4d73900000000000000001e59a0b924f80ebbde93833bd4eaf23b7e1496390e480dbb1357bc3bf4451e3c5cebd0390243b1ba394ecf3bfd86233cebe554b9ffee77ba28ffd03b7a131a3c1af1403a91f08bbad8d6cb3b6be6033c8dc1a2b9649292ba27acb43b1776c33b0c7052b9742e99baa87ba23bb0d59d3be653c5390450a3ba45af843b99305f3b8992eb39e6e180ba4540653b9018503b57d636bb444c42ba5bc9e9b9284a44bcbab14bbb2b6eb33aa095743ad2355cbc7b4fffbab5ae443aea87873ac73f24bc627191ba94f728ba863aa8390d7c06bc4c0f04bbb46f08baf59e5e3aaf1df7bb6070bbbabb1b353a0380193916c5dabb26e809bb39de8f3882a337389c88ccbb28e233bb52c6c939a065b7382554c5bb543969bb1100c5ba7578c2b99812c4bbaa3f0cba451763bb24908dbc7c0b60399c6027bc7a3592bce1d6b0bc5446b33a98cb72bcde05c0bcd3288fbcda07bb3ae69566bccadca9bc2c6980bc3484fa3a056b2cbc0d2e60bc114444bc8b875c3a9613f0bb2a7ef5bb052e2cbcca87bc3a6538f6baef90013bc64e0bbc7425243a1482753bca0b2e3c241ffebb2c4bd5395bd2e03bf4c85b3c2e51a8bb7f21bcb9ec042239517122bdc28fd43e92cc363ff2f3d03a935042bd8227c63e21f12a3fe8abba3ad95a27bdff83ac3e483f133fdefc693a2bd208bdcddf8f3e7407f33e1d4a033ab21fe5bcce9a633ea134be3e7a438c3a2ed3c9bc3f65293e50608b3e96cca13ac9f1abbc3220de3dc163343e122cca3a05609abce6b05b3d1002ad3d5369f13949c86ebc2a2b833b68d3063beadc37bdeb688cbb0000000000000000bc2b67bdea711bbb0000000000000000534b40bd08302cbb0000000000000000c16e28bdf48ac6ba0000000000000000ebd90abdc5dee2ba0000000000000000dedc03bde567063a00000000000000009878efbc19570a3a00000000000000004b7fe2bce5c1df3a0000000000000000f98d98bc0c32733a00000000000000008129553bb83dc3ba5763253b2712fd3bfefec139a5d581ba35b41d3bf42b2d3c24059f397f1280ba5ced763b5a85293c5560a2bae05a23baa24a853b4ebd2e3c65885b3920964fba83938a3bc0edfc3bd1c40d3aa9f713ba3b66903b3745da3b8b8f93b71b8f4cbae1d8643b5bc6903b06bc0b3a6b6c95baf70a433b19e0343b88f11b39ff799eba477e173b76d7073b6f6a7ebbea889939a0e0143be0aa34bca81730bb999df23a99d8b63a05e226bc4275cabaa6319e3ab189ac3a31afcfbbf29a64ba5f8d6a3a7ecda33a87ffc0bb0e0f99baab43873965553f3a395a9cbbe030ebbaaf86b13a778c4a3a0a0aa7bbfe8fd3bae5f3c43975452438dc3499bbc0f71ebb6c97593a924b153ae2dab2bbcd2402bb949aa439ec8d7c38ebb991bba3d567bb120106bca61ca5bcac094f3ab06f50bcc1a5d7bc1e58c4bcf018223bf3206abcc5e0dabc18c593bc2848b73a89f77cbc1522d7bc886686bc5613b43ab4ed2bbc825780bca86f42bc388a153a588d17bce7a211bc6bf73bbc5cf6c83a72a09bbba696943a502e0abc3058443ab46c91ba1af9533c6181febbe7c22a3a9041303bf216853c2954a1bb7db001ba2c74313b90ad14bdb2f3883e8b715e3f2f2c763bfc4c32bdb9657f3e1e1c503fc6f71c3b2c8203bd0ce85e3ef00d2e3f6bf91b3bde1aefbc6b453c3ed963123f7ccfe23a8327aebc204a133ebfcee03e00a23f3aad12a4bc3a39dd3d2312a73e06f6ff3a242c82bcf7bd8d3daf3d553e4609213bd5d072bc6b8f023df4a9c83de396ba3a01ae2abca0c6abb93cd40abaf80e3ebd2a8867bb0000000000000000ae4861bd0e8b80bb0000000000000000b08f24bd419088bb0000000000000000dbdb19bd4d7682bb00000000000000002d8debbca23649bb0000000000000000ad0afcbc5a9484ba0000000000000000537edcbcaa978bb9000000000000000036cdeabc0a0dc53a00000000000000000dbda6bcb290443a00000000000000007bdbf139b86ac537e5b346bae08c1c3cceff2a3a516446bab8f9bdb9d61c503c5aeb0f3a567717b993c9e63a3478453c9ae732390031feb8dd61313bfc63193cd79ce339ebe6d1390fa5d93afa8ef83b86d6073a1faab0baa6a1473b5170cf3b1b1355394740a0b90ed1dd3a51d86a3b83d0643abfd5b7b91530a63a1b252f3b55d8083a3fdec6b9a35dc63ac39e9f3a4b4942bba2acaa3adb36e83a5ec0debb3bbbb3bae42b493bbb17be3a755855bbd6ef4eba59c1e73a80a4ac3af8a836bb4b1d6739880d493bcc8b833a67e618bb6454b3b8ec6e843aa473723ac9f404bb41b36b37c1142639fafb7c3a06fe25bb30976eba39cc793a392b4b3a41c465bb82bbe1ba444ab53a0e9aa73afa6488bbe753dbba44b87c3adb97223a90498fbb688020bcd18081bc4039acbc87f23b39a3f397bc648222bdd2a7ccbcf3dc513b96d58fbcd8992cbd330dadbcb977233b9d6481bc862818bdb20f8abc3b3f223aa71d63bc0750c9bccde75cbc790cd33a3c442fbc8d3066bc313136bc9930163b028f0cbc2ecfc8babc1115bc0e1fc33add7ac3bb33da363ced51f6bb2060be3aedfecdbaa7b49d3cb80694bb34898ab8f6cc363bd4e8f7bcfd3d003e6586833ff886943b653703bddd9af03dc53a733f79a9713b7946d4bcc5f3d73da4184e3f01d6413bb7dca7bcae9fb43df7b8283f6cbe123b2e9b7bbca9308e3d38ae023f23554c3bff0250bc9ebc503dedb9be3e6e33263b9ea528bcdc62f63c9c38713edb81353b5f910cbc9fdf103cfa0bd63d5d0c023bde23e5bbb957d9bb003b08bc44fa2bbd50d3d9bb0000000000000000eff83bbd4861c8bb00000000000000005d2a08bd583dc7bb0000000000000000ab88e6bc0047debb00000000000000008835bbbc321586bb0000000000000000debfbdbc12f712bb0000000000000000f58fccbc9d1b7eba00000000000000000196e4bc3f66943a00000000000000006d96b1bcc58fba3900000000000000000000000000000000000000000000000029089138456520ba850ed3bae9c6133c4eb98d39f191fcb8392dd2b84a66083c5d214539643e54b88dd0f5390f5dde3b288116392a83ebb51dad173b40c0a33be1eddf382f76f8381825663a10946b3b6da92c393d3ba53a3306ff3a9116d93acbe9a939be78bbb96e0a79b9ab82b939000000000000000000000000000000000000000000000000000000000000000079be383a285ed83a8d8a1f3bfca6613a160b463a9f16dd3a80e2193aed8d5e3956cd1b3ac989813aaf4c213a138ebc39aaad163a075093bae8fed6395cd4d1b98e67133a4beb8e3a09955e3a101f3dba1ab3bb3a5ec3ae3925799d3ac3a7d6ba7b1062ba6c98653a66597a3a266a1dbb0000000000000000000000000000000000000000000000000000000000000000393f87bc73b827bd5eb6a4bcc730913a28286fbc112c22bda36480bce316153b5c0b49bc922103bd07204abcba52043b73bc33bcadebc0bc822825bcb250d13a283112bc400e6bbc0f6f01bcade1a83aeb1603bcd272ccbb7cabcdbb83f5343b06c6d1bbe5dd033cb2e684bb6d28b23a000000000000000000000000000000000000000000000000000000000000803f41759f3bb43396bc4325c1bb901f833f25f9fe3a7e4c36bc99bd1fba7c835c3f90bc0a3b7aa518bcfef3a03aee1c343f7035ce3a7310e8bbdc78fd3887510d3fcb14003b317b9bbb7536b7baaed0cd3e63ccb43926fc54bbe7f75cbbc137823ed0300c3ba0f70fbb467b14bc4bbdea3d0000000000000000000000000000000000000000000000000000000000000000666ea0bc22a204bc000000000000000008e457bc1d77b5bb00000000000000001c991dbc7d7b96bb00000000000000004bae1cbc624385bb000000000000000031dc30bc4d7e40bb000000000000000087b95ebce2de02bb0000000000000000ac278ebc2305d1b900000000000000000000000000000000000000000000000000000000000000000000000000000000d5c8e63a5489d0ba1acd243cab4899ba7d04af3a64f1b1ba1bdb153cf3e281b98df805383c9f0e3a2eb1d13be6bcb7371986fa3907054cb9a636d23b5abf84b9fb97a5394cbb71b98165a33bccbb2bbac7fd063ade4763ba1d5d7c3b1ff8adba486a80b9d6ae8c3882c6443bbbee07bb00000000000000000000000000000000000000000000000000000000000000007f47afbadcb4ca3a6efb5bba742a34bce4ec1cbb37f7873a98cd12b9596302bc5aab41ba140ad33a1fdc43baa2560cbcb1c5a5ba9474103a22fa3bb92578c7bb6041a7ba3ec84a3a8a298fb8b955abbbc178a9ba0504203ae50a7738a24a94bb31f050bb597bed39133d163876c98ebb0000000000000000000000000000000000000000000000000000000000000000993674bc6ed36ebce7b658bbdb4c183b2fc67ebca54e4fbc29b60abba4ca8b3af2123fbcf9421fbc4a74feba302ecd3a91d0e3bb6141fabbf78f1dbb0f8c263a0cd509bbcac3cabbc0b932bbddf8643af791943bd4f394bb06a350bb43c0713ac3b2513c10db50bbe82d87bb030aa9b80000000000000000000000000000000000000000000000000000803f00000000c71bc4bbcbd823bc98ac743f8bac15bb6dba9ebb14d4dcbbe42f503f310c99ba53642bbbf34c43bbec492c3f573072bafa4c53bb77b577bbebfc073f45eb2dbbbbf62cbb6360a3bb7d2dca3e7090a6bb807a02bb4c2ad6bbeaba843ef065ffbb139aacba395a14bcda06003eccc72dbc0000000000000000000000000000000000000000000000000000000000000000526749bcf603593b0000000000000000799bfbbb07d8ce3a00000000000000004ee6fabbb10c243b000000000000000062cfc9bbf76ad93a00000000000000004406bbbbb43ef43a000000000000000001799bbb4314133b00000000000000002acc9cbb7134323b0000000000000000000000000000000000000000000000000f02c5b9aba194bb1b683b3c076ef439f6dbd83a0c755fbbc8256c3c8e81d0393cd4073a062847bb9b8a4d3cb5423a3a8c7c223830ed41bae570773c1b00d23b1d880aba03e8daba8982253c13dbae3a34368c3ad8117fba0a491d3c2bdf7d3aaa984338440d1abbbce0f03b651430b77e17283a96de1dbb16f19c3bb26addba6296d9ba985bf0ba14f9c43bd9a44b3887fc3bbb546fa63a75b4cabacd0841bc810570bb59800a3bf58950bafa2980bccf9e1ebbb303873a40107ebaef4067bcc4ffb3bb6776ba3aebbcc1ba30c32bbc633434bb96ad813a2de008bb1ebf18bcd95d41bb533d9139840f03bb80b702bcf2e541bb9450963a46a1d8ba7cccfebb136e0ebb023deb3a1d72c9bacad9e2bb7fc530bb3be4643a2e3588bbb7bbd0bbe8fd87ba7e573abcbc4ff6bbf72ac23ac5672fbc21b480bc8abc0cbc90f8313b42dd5cbcb31060bcebdedabb7bca153bd050d9bb525187bcc9de16bce767313a16bb56bb1d0802bc45cdbdbbd2e7393a2fd49b3ae9b9c5bbeffed9bb7a71703a6f322a3c895b68bbd4e6e4bbb124d23969aca43c67cce6ba83c00cbc8114d63a49dfb13c75c9e3b9042011bc8c32a1381995f8bb415ec6bc82e6753f97f2043e74eebebbf089c7bc69695e3fd860ed3d3549a8bbafe091bcc0bc3d3f8e8ccf3d6143b7bb50a256bc276a1b3fcee7a03dcd529bbb1a173ebc2b06f73ed686843db2ee93bbe6773dbcc643b93e95203b3de92136bba70e58bc30e0733e77d5d23ce8f8feba4dde6abc07daf13d55d3c33b5f483ebb5c3e30bcccf8ec3b59f8c9bb1b27afbc528b193b000000000000000045dcbcbc01c9773b000000000000000014bf9cbcf1b34d3b0000000000000000cad5a0bcc7f7c83a00000000000000001a0955bc5eb6ef3a000000000000000041bd52bcfd540d3b000000000000000078833fbc9d7b1a3b0000000000000000387a1ebcc0a7713b0000000000000000452025bca5abde3a0000000000000000d5d60ebac87a95bb34d8433c7a1c293b75bd423ae28aa8bbac47753cb49a6b3b0464a2bafdf231bb10de543c4db1873b8fcc9fb968444fbb68da653cf9a0a13b220a15ba39eb27bb8369343c885c5f3b61e6e9b940244abbef6e333ce313fe3a0477a3baf5cf3abbad7f0a3cf28d233b633cb8b94b2b7fbb4668083c0443cb3aee3f043abd11f8ba9a4dc73b2103143b4bf39bbbefcf983aa2ac28bb29be55bc734bb1bbe647ed3a18bae8baeb7d85bc9df08abbfe7a0b3bdf474dbb5ffa45bc20cba5bb58bb4a3a98711bbb68764abc125a81bbe6dacc39f8a623bbd51b18bc10599abb246b953a1d6921bbfe8e24bcf7cb9ebb53ae6c399ed33bbb639303bcd695bdbb3cda923a031a51bb977014bcf475a0bb74ce8fb954e91bbbc152ecbb4f94bb3bf35b8fbb9edd3ebc98e00d3a4791acbaea6c26bc7ad25ebccf03c73a6dcd8abb96b218bcd1ab2bbceb44eb39f2b933bb6b8b07bc37de36bcb8f8a839b215093b91a19cbb9ed40abccb4225b99c5df73b48e613bb2c9825bc49e9c5b88fd2433ca6ce363a343b20bc4de652ba080cab3cbd34693b33a23cbca0aa95b95e04a13c0c34b83b1448f2bbfbc1ba39314e9dbbd6d4e3bc100e523f4c12883e68b296bba31c05bd2e583f3fdf55763e22d96abb12cdbabc9bec213fd093533e7072a3bbc044b2bc5bda083fecd6313e9cca8abbc4f185bc8e01d63e53470a3e29fb76bb59b592bcaa9ea23ebc6bcf3d8dd742bb4fb47cbcc65a563ec698843d5e6835bbc7db92bc99f5df3d00c5f13cb6cc0dbb77db47bc45ef273caa2d08ba05bfc9bc99b0613a00000000000000005cd1f5bc08ee013b0000000000000000fd4ebebc3934b03a00000000000000004b83b6bcaf4e373a0000000000000000bea88dbcffd29439000000000000000063789bbc58d6833a000000000000000015c471bc89119a3a000000000000000001827ebcfb23d03a000000000000000030dd55bcfe35c1390000000000000000519d0fbaddf294bbd224363ccc32a63bbdb01b3ab672bbbb9fa2683c9393de3b8869823ad7e1bcbbb062643ccd96a43bc8bc33b9d77182bbb3c8563cee86ee3b1caffeb9392b4bbb33dc453cc133d03b9d3b0dba20076bbb9d13303c873aab3bc2fe46bab5ea9fbb8b66253c57cc923b09fc3cb86e1b81bb9b980e3c7fd1b33bb9d98cbaa43866bbdeb2cc3bb783633b0ad3b3bbd2cf0b3af8a227bbbabc4abcd07dcebb3833693a69bdcaba9d1684bc4b3587bbfdeab1b70d1ee8bad5386ebc0b11e9bb8e556f3a2f9d20bb91964abc0e3d9bbb7856c4b88b6590bbcf8223bc71b0acbb35cf643a42a024bb98f529bcd3f5b3bb68914d3a6466fcba4a172ebcf95bf0bbceb2c2b901304bbb40bf39bc3d3e99bbfa889f387e626ebbe7c2e4bb9504023c9d82d139e5775fbc049493bae9e52e3b20a0b1bba4cd87bc826fc03958b08c391b04f3bb595867bc2d579639b098c9b84034b8bb7a4a54bcb8f41fbae792883b349404bbd0e637bc0e7ab8ba0de7043cbb55af39e3e53bbc489b49baee56693c114d973bf1bb39bc27afb8bae35bac3ceda4083cf52a3cbc122c80ba49ac8c3cee51113c71280dbc56a3f2baf28272bba005e1bcc1e02d3f1a13ce3e9fbf61bb1ca40fbd47ea1e3f669cbb3e525e65bb393de9bcbfcf093fe6c1a13e030057bbad4bcdbc706ae43eef9a863ebcf65abb1676a9bc1169b53e1ede553ee94e38bbef5ba5bc66ca883e31521f3e7614b0bab380a2bc40b0383e2ac0d23d502d1bbb8e3896bcebc4c23d6ffc523decf749bbe52a56bcb4c2573c8b52803b79dbd6bcd3d89bba00000000000000000dd509bdc4389f3900000000000000001e57efbc55c7c6ba0000000000000000ca2fd8bcfff8ab3a0000000000000000c005b7bcd20f92ba0000000000000000afa9b3bc588371390000000000000000af51abbc9acaf63800000000000000007681a0bca1c3573a00000000000000005f2059bc4fbd68b900000000000000006e260fb98a9d7ebb9215173c2166fa3be0c552b98285a9bbfca03b3c9ef41a3ca6312fba05fd84bb7613333c0356163cc3d0aabaa5545fbbed24403cecef223c4afbc5ba93a651bb53cb013c035f043c077ce5ba926ea3bb94de2d3c7585033ccbf354ba0b7979bb50fc093c32dbbf3bef622dba21df81bbcf9c063c0e82a93b67eb89ba516b41bb8d60ea3baee9973be87eabbbf26e99ba76c675bb4be03dbc7965d4bb1d199a3a18aef5ba58e169bcd628afbbdb25e239e92d0ebb6ff03bbc828894bb501fb0b88b1547bbd11c30bc574f92bbb6ac87ba049c55bb2570ffbb270a9cbbfd0533ba6d1a5fbb88d41cbcc19ca8bb3a6fd6b8f2ae3fbbe4ae18bcbd20c6bb7ffedb3a415462bb582722bc07cc9bbb90b511ba4af463bb08fbe9bbc119f93b94676c3b116c6ebc8d2e3ebb740c683ba088ebba966692bc19b80fbaca19363a29487ebbe60e72bc1dc268ba0b48e83ae20d35bbce6c62bcdd9725bbec438d3bd3a11f3a89892bbcd51106bb8788bf3b204c333bfeff40bc645d2bbbc2ce303cde37043ce81834bcca7df7bab461803c1cd6503c872f42bc3a4123bb46e4773ce2cf4b3cc96413bca0852abbb50781bb628cd7bc25350a3f27290a3f159a0bbb9a3807bd2190fb3ecadbfa3edcae20bb3e8dd9bc90fbd73eedd4d63e5a6049bb6478c9bc53bbb63efcefb43e0742b8bae0e76dbc8d5e8d3ed0dd8b3e595545bb546b9fbc4b605c3e50a7573ea18900bba2258ebc1dbd123e51120e3e4d660ebb67d28fbc20119e3d5558933d260c2abbbb014cbc944a393ceef6ea3be1a3dbbcadb30fbb000000000000000036c70abd57ea06bb0000000000000000dc4ce5bc1eeeffba0000000000000000285ad9bc848f4ebb0000000000000000737999bc6132e8ba0000000000000000d4abbabcd1c91dbb0000000000000000ab4aa6bc2e6f8fba00000000000000003f01adbc14a883ba00000000000000001dbd78bcbd88a2ba00000000000000006a5599bacda790bb7891f83b913b113cbe3a263a966aa2bb388a173c64122b3c3f41fbb910d39bbbf8ef173c3270523c71369db9b02c8fbb8e37153c82cc373c501c68ba088576bbaf68113c29f5213c8d5dbeb9ade888bb1c59fb3b0f4d0d3cbfe6eb39c49bbcbaf5aae23b6f11fa3b87d128394e2297bb50f6e03bfae1db3bd8802eba4e6458bb7935ca3bf2f2c03bcc07c0bb81d050384f8b1bbb6be63abcc2ebd2bb3c49b13af6df29ba01825cbc13e1d3bb27694d392712cdbad89542bcb3b6a2bbda1cfb39837abfba0f712dbc01c7a0bba93b05ba5d4020bbb17b1bbc7af9babbffaade3ad9f40ebb526a28bccbf2c7bbdf4203b8cfe258bbd3a91ebc1062d1bb7552df39696820bb359829bc0b6c99bb70a622bbca6a42bb459c02bc510bb93bdcdb6e3b9e9882bc7695ecba86ebb73acc28e6ba612aa4bc0cbf2fba8e0899ba220d92bbdab594bce1f2c9bad8dd80bac6d578bbd5bc7dbc59a4a1badbd2183b1dfd743a511457bc26a50fbb0c96883b1edeab3b3e7251bccc1f08bb4224f43b6dfb2a3c6a983dbcfcac13bb4b39413c35098a3cf5f345bc27d318bbad613d3c1dde843c113809bc749f1dbbcaedb5ba2f6ad2bcdf97ce3ef2092e3f0bd4923903d80cbd3a68bc3e9a8c1e3f0c2bbdb985e9e6bc3741a33e6cbc083f5c2d54ba975cc7bc8a88883e27fbe23eac1401bb4d0ea5bc31e0593e76c8b33efeef363ac00fa1bcc9ca243ea8db863ecf0900bbb81c89bcfb6fdd3d020d333e333f49baffc78cbc206f6c3d697fba3de6d0fcba6f3a49bccc87073cf426143c9922e7bc707c7abb0000000000000000a64119bd5dd447bb0000000000000000b75e01bd777777bb000000000000000067ebe4bcf84e59bb0000000000000000f4eac3bcb52861bb0000000000000000908ec7bc5fb31abb000000000000000041bbcdbc3deefeba0000000000000000874ebfbcada6a1ba0000000000000000c5f883bcd386f7ba0000000000000000d1548539686e99bb2fdbab3b175c223ca763383a4a72b3bbe660c53bc63b643c35e43138c3e28fbbfa88c53b7fed453c8ec7e7391d3e84bb3403f03bc80c543c96b974b92a1849bb9c56be3b32db223c322b70ba41a9a8bb53edc53b900a1c3cdb3ee0b8d41962bb6d0f9a3bf2e4ea3be15f3e3afb817fbbdab9983b9cc7dd3b60130039566757bb7201843b8a01bc3b4fb6c4bbec0c72b9945d22ba39f92fbc6a3ad4bb65d0da3ad9fbffb844772dbcad748abbd7cd3f3ad7526eba4e4bfdbbf4ff95bbd4a22d38b1a79eba227619bc4af478bb200f10ba6d0eb3ba294ff6bb1cd39cbbf3558638a5f2c2ba9f9a07bc8e5b80bb738698baef1e3fbb98ca06bc0abcc0bb1e906e3a053bbbba4b5323bc99e79cbbcd863739647fd8bae1d107bcea441b3b5f2d223bcc2090bc482d28bb0da219bbd8ed91bb0799aabca02f30bae97558bb4b6fdbbb21ea84bcb07c7dba299095bb26b0a8bb427483bcc515e7ba526387ba9c106338b63441bc3c2df2ba15ee3e3a5312b43be5b84cbc6dea09bb43ff543bcbe1293cfc2e1fbcff13b4badbc0d33b01949c3cb28835bc1ce204bb474ff23b77989b3c00eb05bcd62a20bb0531293a403ecdbcddee873ecc3c523fc673c23a82a5e7bcf45b783e24f73e3fba000a3a2093adbc6a77563e4b71213fd61b863972b0b0bc82ea353ebd39083f28f6a9b9312381bcbbac0e3e6ff5d43e786785b9560286bccffcda3d9358a13e26842e3ac08264bc81dc8f3da1cf533e360b153afd4670bc7385143df818da3d37ee06bab6a736bc4192813b63430c3c9c3cefbcc6f985bb00000000000000009ba30abd29609dbb00000000000000000c73ccbccfe08fbb0000000000000000bafccdbca17da3bb0000000000000000e0c3a1bcc23085bb0000000000000000b054babc41fc7dbb0000000000000000c9dea2bcf5fbdbba00000000000000003a15bebc3352d7ba0000000000000000143f8cbce1d8fbba000000000000000015625dbac0711ebb3201043bb53c443c007f883a68496fbb8bdacc3a477f533c2be8183ad15d42bb1b1f2f3bb1f0543cc84d40bad27d0fbbb149693bb764333ce5c5d6b923103ebbe6763c3bfeba1c3c3de07c3b1ee41e3ae75db43b3fce2a3c4fd80eba49a748bb8b554c3b3655cc3bb2cc863abd435bbba2dfac3a4f92ab3be8db9239f33cf9ba949c1b3bb578bf3b521283bbd0151d3bebe8523a1c12d3bbf9af81bbf6830e3bacd91f3a6a5a03bc34f846bb2456c03abfc4ce39cb49cbbb5f136fbb78a80d3b6234aa36d874b7bb6f0931bbb7cacc3a0d33dab96444babb253c17bbb28284b9b6d14fbb33e0efbad04f83bbb5d3bb3a8cd3c0baa0ddddbb50808fbb1b0a7439a6361bb64ac407bc4a0fa7bbc6343c3aba529cba0c71debb971592bb94bb28bbf75b82bcf8f506bb550707bc78c953bc47fea6bc401db9b9f69d04bcab5469bc239a91bc738906ba276ddbbbd0b646bc3fcc67bc6702d4ba14f194bb83928dbbaf563fbcd5c992b70265b5391e158d3bedf025bc0319dabaf8ae62ba3bc1333cc2dd20bcef24e2392b33dd39dd82983c55bf0dbcc19fdeb9edfb613bf387b33c5a35b9bbd386d0bab9f51b3bd9bc95bcc351033e74a0743fa7332a3baa00b9bca6d3f03d9d125e3ff451153b908096bca361d43d88833d3fa2c5d13a5ef978bc524ab33d2c011d3fcf078f3acc3846bc1d658d3d9278f63e18e6bfb952afc8bbfe8a3c3df602b53e0b95f03a34c92cbcbe3e083d4123723ea55b083bcdc527bc219c5b3cde07f03d1186d6390fc31dbca2703cbbe3f78d3bcaf4b3bc656bcabb00000000000000003ff1cfbc5deec9bb00000000000000007b67a4bcc6c6bcbb0000000000000000f04299bc2175d8bb00000000000000005a6b7bbcc47a9fbb00000000000000001ab984bcb8f894bb00000000000000007c96a5bc597e32bb0000000000000000b6dcaabcc11db5ba00000000000000004c4a81bcb87e02bb000000000000000000000000000000000000000000000000362aa43a0cd3bebad4f865ba3d31223c6053133a4702b6ba4959e8389afd0e3cde74093a1c4dbababda71d3a8ae3043c18df6f38a89ab4bae1f8643a9be2d03be12883bada940abbaa0cd1bab7bcbf3b154fdb39937900b94f5e62b912b3893bf739303abb71edba65a4a9b9693f583b0000000000000000000000000000000000000000000000000000000000000000c0ef49babe2ba13ae9bbb43a5f7043bbd0297aba5d35dc3a5995343ad36d07bb051750b97a71563a8aa3f139007605bbd1f5d5b953331a3a7f01fc38b6fc19bbe83ed7baaed1ae39a5944039d4825fbb5d2a13bbb5c3b7397139533ad09487bbd3cc06bbc73eaa3aa56bf0394ef7a8bb0000000000000000000000000000000000000000000000000000000000000000879f12bc814a7cbcc90663bcf337b6ba015a08bc4f1683bc4ca44bbc5929b537b560eebb58e14cbc604225bc1502a2b9be85b2bb10f8e4bba414febbddf129ba55aa99bbadcc90bad3dff2bbc4814bba409182bb4735a03b21d2c5bb58d1bab98b213cbb553d563ce8828cbb5032f8b9000000000000000000000000000000000000000000000000000000000000803f6cec563b1e9b3dbc9ad4f6b96dfa743ff0941f3b70c911bc0a9e9d3af2f74f3f9713fc3a601ce7bb387aac3a6df12b3f8b88ca3ae76bbcbb3a5a173ab7f4073f0d73d93a656cabbb1c2a03ba36b1c93ef87aa0394cd732bb23945ebb0cd5843e6267083b67de95bb8780bbbb7282013e000000000000000000000000000000000000000000000000000000000000000031bd23bc28aaf1bb000000000000000075f702bcb6e1a1bb0000000000000000a6aad7bb46d69abb000000000000000085bcd9bb4d4383bb0000000000000000344be7bb074b68bb00000000000000002a4316bc1b8f28bb0000000000000000645558bcda9c1bbb00000000000000000000000000000000000000000000000000000000000000000000000000000000d99064ba360ef6b999fb863b996fba38320d3cbac91c0abaf75d903b51302a3adfce4ebaec53f4b9ed38733b83f5483788de9eba684138bac03b7d3bc8c6cab8011c24ba2584aeb9b3f8423be939c538bae521ba840882ba2ac1643b554b4339bb2369bad69431ba13b9633bade402ba000000000000000000000000000000000000000000000000000000000000000052eebcba37afefb94348f5bad053e5ba9f5646bbecd044b9baa984ba289af3bace439dbae0903dba7cfca3baab94cdba41f5afbaaefb16ba377cf8bad7b4f0ba7f1465ba83a46bb9b7a7adba060b97ba6b453bba634471baf80cdfbac829bfba747aceba67690239528faeba955c78ba00000000000000000000000000000000000000000000000000000000000000007454103bcc96b6bab35e03bb1a8912370da0d73aff727bba89da84bad4ae8138e8e10f3b377aa1ba2f20dbba4b7cb83850d6273b270a6eba1b0dccbac803a0b90cb4353bc8a155ba6ee47dbab4df66b9125c823b870ac2b86bc758bae9f569ba674da73bfe110bba3ed1e2ba3040ebb80000000000000000000000000000000000000000000000000000803f000000007accf6bada7cc8baf21d633f7934b03902b704bb7ad49dba0d91423f2f56013a7831d8ba723b84bad62e223faf6101392987eb3826eadbba75d4013fe78f5b399488b4ba00f2aabab0bdc23ebdf854ba87efd7ba4230f1ba145b823e816391b9f33d00bbeb78e1ba174c043e3b3ba1ba0000000000000000000000000000000000000000000000000000000000000000c79128bb88e5ba380000000000000000814685bbdf6dd8b8000000000000000000d6efba04a963b80000000000000000dd1eecbaa8c76db9000000000000000001fbaaba84c391b90000000000000000ed14aabac1bc36ba00000000000000006b4e0abb8b8c35390000000000000000000000000000000000000000000000008046e0ba6ef21dbb9448b53b5ff24a3b3a7de2bad0a5a8ba892bdf3bb246d13ab547beba34d712bb6e9be33b20c8e73a392d3aba4de377baf2e0bb3b45721e3a6ddbf9ba283734bacf51a53b17be5b3a7251f6ba11204eba218eb43ba466883a3a7310bb4dc945ba3bc47d3b3d76983a1aa84eba605112ba3478c53b0676283aad9807bb69288eba2c44983b8e822f3a3efe23bb8d9681ba573536bb41d671bbb16dfeba5f3427baa81a36bb25863fbbdf0923bba39e69ba5de32dbbde5974bb15a4e9ba613ffeb84ce450bbf9202ebb30e1f7ba80afecba6f3a5dbabfdf04bb1f7022bb28f341babc5430bb6951f9ba227193baa9f398b76cadceba669d98baf23247bb75921cbabc536fbb278299ba2dcc19bb9f938cb9f06d2ebbdb40c3bae953d93bd3e677ba92d857bbe5cf9cbaa9fa843b20f3af38b22843bb68f283ba3e509c3bae5f37396db352bb274f63ba771e903b4f9974ba9c9220bb88d65fb97123963b1b6e92375c9636bbfb2ae3ba8c21b83bab7d5839ec0741bb28a534ba41d2df3b5914793ae6f276bb0c5769ba8ce9073c345d5e3a5ce25cbb0f2be9b8a5a7e03ba2a5623a4e0927bb6a0553ba88c434bbe9048dbb1b50633ffe2c023e5b4c3abb0db969bb1fdb473f4edae53dc53630bb87f77bbba29f2b3fd987c53dddbbd4bacf7b32bb93240f3f0bcea23d30f949bb9f5e17bba0ebe43e850a833dbf463fbb4fdb2bbbc77aac3e8dbf433d6a3f7ebb6ffb48bbc2ef673eac62f73c143a77bb856814bb8829ef3d2bf4813cf0b9c8baff972fbb6e94b13ba4559d3922d65cbb515ebfba0000000000000000f06ab0bbc0e9bbba00000000000000008dbc7abb8b61a9ba0000000000000000638136bb5b298db90000000000000000e8ac43bb19d8fdb90000000000000000362a6cbb8c895fba0000000000000000399490bba8e787ba00000000000000002edf80bb1a14b2ba0000000000000000669f43bb20265cba000000000000000043da0cbbe3d9b4b90acccb3b1cf30e3b2b1304bb22c7c4ba2e18f33b21c72a3b2f0412bbe5efbaba249fb33b6bb3e73a549f0abb6cf49bbab6b6eb3bf1d7443bcd9c15bb76e29cba9a5ea73b7ad3403b9d059cba18f798baa427d63bf801063b1c631cbbef4e21ba4256b53b18eafa3a8779b3b981a1b5ba35abcb3b9bca0a3b52eef4baf275a7bacc4ab73bcfb2203b3bf248bb973402bab73646bb306d70bb137945bb303fa4ba8cfa6bbbf06365bba73134bbf3aac5ba9aa7ccbab03f42bb3b0e85bb644b2dba93db55bb18a837bba81d03bb3565b3b8fee05dbb6e9b19bba5b24abb2943b8ba5a7341bb4b6331bbd36a07bb99d9acbadbec5cbba61ec1ba4e4547bbc0c794ba7bd764bb7d7712bbe5d910bb2f4ec8bac2673dbbc679f2ba1647bb3b322f893a37e783bbb16a92ba04a6ce3bbfbfc43a171e90bbe16ad3bab9bcc83b5295283aa96468bbddfd5eba5bafc73b290fed3a8d4a9cbb659ac6bac8b5a93b96c41f3b7a9a2ebbd929d1babbe7e33b538bea3ab01682bbf3fbe6ba9fb7d23b3ad30d3b202632bb25b840ba4f96063c499f323b27d36bbbf258d3bae657fe3b3852253b8c9827bbf70af2bafb0467bbfcb549bbc0fc423f3a99813e525b77bb113c9fbb07dd2b3fb830653e246801bb8b4a76bb8557133fbb9a433ec0d559bbb6c181bb3388f63e6df6243e149067bb3aaf5bbb90a7c43edc4b043e6f315fbba5e379bbeff1943e3850c63d049984bb2f7f23bb3d50473e23df843dce447bbb445671bbb704d03d52380a3d000543bbe87d74bbe514df3bcd350e3bf84e9ebbab90bcba000000000000000095cfa9bbd8c4f3ba0000000000000000547688bbffdbbeba0000000000000000e25481bba40312bb00000000000000002a2a60bb6d5821bb0000000000000000767893bb65fcc3ba0000000000000000c59a4cbb294319bb000000000000000013648dbb002ee1ba0000000000000000186e43bb296604bb0000000000000000ab613abb20f422ba96c6fd3b9ed2343b34ad44bb625b09bb9a6af93bb9d07a3bd5a77abb46215bba76c0023cc1f0903a6a7212bb47bfe5ba536fd43b2349703bbc37ebba0218aebad2c5d33b9da84d3bf188e9bb3adc43ba50c7043c5fe9513b07b65eba96ec14bb0bc6b53b05b0733b2ae685bb778ac6ba1efde43be219493b46bca6baceac5ab9f4c6913b4c83ff3ae2146bbbb2d9f2ba2d98f1ba56631bbb9a8766bb1a21f0ba03dc32bb800f80bbe85d93bbffa38f3a3a61bbbb1f0ba9ba8df842bb32bce5bae40b66bbf1ff58bb3f0a45bbd3fcdeba5eea4fbb138424bbdc1b65bbac348ebaee68e8baa18908bb3cfd27bbe79432bbc45e07bbb29a56bb252661bb48d2fdbad7419dbbb12b17bb60d73bbbf1d605bb3520cbba6c3d45bb92cbfa3b985b333b63f593bbc1e934bb9e86e23b2838543b48bf9dbb56c204bb2887043c3eb20f3b79c3b5bb6649f2bada31b73b5b8d2e3b502788bba6aa1dbb8169cb3b79f9333b01ed78bb671702bb62b8d03b8765593bf70584bbb6c801bb3d61da3be62c933b687d3fbb829de1ba63e2173c8d9d853bd3e387bbff8011bb61cedd3bd751433b069cccba1b9803bb34f586bb9d2f6cbb2402233ff3d6c23e874351bbe3aeb8bb846c0f3ffa02ac3ebd58bfbb81950fbb26c7f63e4046933ed00468bb99489abbed8ece3ea7bf763eb70f5abbc13c74bb49dba43eedb0453e10b63bbb520059bb4ee3783e4e25153e867136bb79c396bba46d273ea44dca3db910a5bbbcb27abbaab2b23d4ba5503dc4a408bb618884bbcce4cc3bd612323b5642b0bb3ee0a4ba0000000000000000d236c0bbd9992bbb0000000000000000238ad2bb49942fba0000000000000000af199ebb8e1608bb0000000000000000c46799bb6a482bbb0000000000000000cdb49bbb7d6122bb0000000000000000208372bb12eed1ba0000000000000000a22d99bb632845bb00000000000000008dd10fbbb960cbba000000000000000017b2f3ba8b53c4ba4038b43b84de8b3b374e16bb1690f8baa5f3ce3b00a3af3baea1cbba9ff9ffbacd50cf3b78b49c3bc2e007bb0e0075ba428ed43b79209c3b28e7d8bad6c894baf4059b3b76f3643ba8411ebb23c6c0bacf4ec93b9f6eb23b3974d5ba55a164bbf0dcc03bf88f8c3bd83a01bb49ee07bb59bbb53b5102873b0ee508bb0140a7ba7b3da23bb90c693b7cff2ebbef0bb8bac4d338bb8a9c41bb193853bbec5609bb906162bbcd2164bb7cca3fbbbb8bb0bafbe14bbbf92b54bb02953bbb06ae16bbe32f45bb8bd88fbb08701abbf6c8c4ba3c0f2cbbb50b0fbbf55c74bbc103cbba73d159bbbd9530bb65a541bb6e94babaacb23bbb826492bb4d9f45bba17ae1ba56343dbb53cf4dbb9ffc2fbb888accbab69135bba6bd0bbbae18ad3b1d99883b36967bbb45b61bbbfa6eba3b3667923b4fa3a0bbfe8426bb5d1fb53b15c6873b895b81bb749409bb719fc03bb905853b157c86bb68d86bbb8aa6903bfdf3583b27c348bb904103bbdc8bcf3b9040af3be491a2bb252b24bb8b3ed33be17ba43bfe1b78bbde2926bbd015e93bb144b83b31ca7dbb646b26bb4ed4ca3b7f549e3bcd364cbba1051bbb6efe3dbb0b7b8ebbab1b023f2c12023fe43f4bbb6e8daabbde30e53e2a2ae53ecd9552bbd5d891bbc3a1c43e7373c43e088544bb53b9b4bb460fa53e3c92a43e936830bb7d6752bb6b54833ece0d833e388365bb11a280bb280c483e06ac473e28d257bbfbed6cbb31c3063e58e8053e176c52bbd80189bbb2a68d3d429e8b3d0c6f63bb0b7d4bbb3027b93b0011983ba92b97bb7fec45bb0000000000000000f06dbebb8bfc39bb0000000000000000a5a596bb1dbb30bb0000000000000000b07f96bb8dd963bb000000000000000045fc6abb87661dbb00000000000000000e1bc1bb61cd38bb0000000000000000687e8fbb3ec142bb0000000000000000891192bbebea3dbb00000000000000006e3870bbf82a39bb00000000000000001771ffba1f6d15bba8eb7a3bfe01c43bb6c503bbe60823bba37cae3bc069f23b76b254bbf7fc47bbb531843b83bfa43b8d5005bba27400bb1917a53b5c80a63b40f7dcbad6f4cabac8509a3b6b3ca83b4c45f3ba48e7f7bae7d09d3bf1239d3bcc7d9fba42f96abbb80a293b4db5e83b996504bb898104bb0700b43bade5a73b3f9d7239f58014bbdc52873b2b89aa3b140573bb4f9cb3bad152aeba2dd559bb959135bb7f0e11bb902448bbfc3070bbef136dbb5786b7baf3a218bbc19523bb3cf51abb2d8df4ba102930bb411148bbe0081dbb64c21cbbf64030bb7ec53abb82b855bb36ed08bbdc7243bb8d533bbbd39226bb3435c3ba080c82bb1e7c95bb54356abb206706bbb0394ebbec814bbb4fc16cbbc09538bbd9ae45bb1a7146bb318f673bb2c2983b954f9ebb79b3cbbac31a953bd14fd43be2a8a0bbea7786bb9a16393bf3b8823b74fca4bb5aacefba7f048b3b8293883b76c663bba25536bb44a68e3b0971a33be90566bbc33833bbb0b89b3bf453ac3bce1d8abbc6f832bbda66a13b898d083cf1fec4ba1cc596bb5324d03b7885e43be62b8bbbae4c33bb97c9a03bb909ec3bf2df84bbe0d97abbd203b4bac70e9dbb6ec8c23ee45d223f3a5340bb00a8b6bb3303ac3e23b00f3f5294ddbaa5bc6ebb6333943e3a85f53e58363abb085a98bbf763773efe31cd3ee2ae3abbbc6483bbf957463ede90a43ececc0ebb412985bbcf28163e6906783e781971bb5ec06abb366dca3d11b8293ed34a4bbb664289bbb849573db4b8ae3d00a860bb4a1881bbfd0a8d3bcdabec3bfa96a0bb2fb704bb0000000000000000caefacbb9d9d2bbb0000000000000000ba9eb6bb06c129bb0000000000000000c9fc83bb60aa4cbb0000000000000000cb7488bba29e60bb00000000000000001bfb42bb4d6541bb0000000000000000f8e233bbd772b4bb0000000000000000ab21a9bbbf2346bb000000000000000009dd3dbbb28877bb0000000000000000fd2ffdbacd52d3baa19a853b4356e03b7e24abba4dd018bb5f368d3bdb11d23b0fd2d1ba4057bcba7acc703baeb8b23bdb2785ba551d08bb5118843b08eac13bb22806bb19e8a2ba03a69f3b12db973b6d50eaba9ccd8cbad3e2923bc084b83bfed7a8bad6bcf6ba98512f3b5898c53bb315e4bad982e4bae1b68a3be00faf3b7e0066bae3a2f7baafd5473b9761b63bdeab4dbb45690abb7c8830bb814e25bbe92645bb989b05bb8bfd11bbdbd06abbd10ee1ba02b2c6ba49e344bbfad018bba0132abbb5230abbeee100bb202855bb934315bbcd378eba361a54bb172c11bbf29a27bb4dd00abb81222bbb53b226bb223125bb8a9a02bb44ea00bb2e1629bb4a4b35bb2b9c0cbbfaba2ebb5fd942bbb18554bbf132afbad5e2f0ba77213dbb7d9b663b123abc3bffb39abb39ad45bb37bf423bed4aac3bd7589ebbb0e834bba0f4203bb401883bda254ebba7a534bb9c32383b2102a33b92f885bbfd1a26bbd1e4833bd0058f3b0bc357bbbfce09bbe9bc813ba7eec43b24b483bb46d23dbba4ef4c3b0d0ee63bba3956bb466fc5ba6058923b1893f63b8c7d5ebb290e2dbb6a845b3b8a83023c6962cfba97e414bb1a7012bb1b6d6cbb7535823e3626433f664409bb9c93a1bba679653efeb72b3fe2703cbbb67362bb83aa443e22f4123fd3a5d0ba053b93bbc3f6243ef324f63e9c0b43bb588649bbb343033e3e89c43e3d3c3dbbb13fb2bb0feac83d58b1943e54b1f4ba60e264bb286c853d6642463e456912bbff6681bb4a08103d8f1fcf3dfb87e5ba95b56fbbdccd1e3b32f4ae3ba7cfafbb1a5663bb0000000000000000478eaabbc9ce73bb0000000000000000249850bb2de071bb0000000000000000aafd8fbb06c848bb00000000000000005cdb7ebbac7f4ebb00000000000000001c078dbbf14655bb0000000000000000a63c82bbe71c70bb0000000000000000a81096bb45fa63bb0000000000000000127126bbb96f45bb00000000000000003a451ebab0f3e8ba83020e3b7fe3a63bbf8fbab987cc19bb6295273b1e5fde3b516c02ba5feb99ba7116373b7818cd3b9aeffcb97539e0babc4d1f3b77a5b23b9841d0b91c6bacbadf35253b4576a53baac935bac07393ba5d3f113b7ea8a43bd61f63baa52eebba85484b3b64719d3b810582bae72246bbc4344b3b06ee8d3bffb678ba36f9dbba88ce3a3ba8d4853b971f1bbba7d42bba989eb5ba8d6937bb63bd69bb65cd0abbdbf7d5ba312567bbc71326bba39445ba555302bbc4f383bb3d31f4ba2a1980ba439f97ba96d22ebba48de1ba8555cfba63a8f5bad5b203bb298b05bb2617d6ba1583acba615c83bb88a33fbbb85250ba519ce5bae8f718bb472e09bb7c1bdfba836cedba5e3227bb8b0c26bbeebeeebad8bec8ba0b3123bb1e429d3afcef8a3b3e4a7ebbf3079bba49aa823a8edca03b5a0b6bbbacf262bb30f0b23a413c8b3baa2f8bbb931bfdba5e3f813aee97783b28886abb3d8c11bb615eb43a1154893bdb1d43bb956904bb3bf9a83ab9fba33b28004dbb67ea14bb74b62b3b8555c33b29d663bbb44af2bac8053d3be98ed03b489d2ebb4423f6bac341623be7d4083c981e48bbae3c43b9086b90ba07fe66bb34d7013e5942633f113b9dba9c858dbb1d0de53d133c483fc02ee3ba5e1535bb9240c63db40d2c3fa58883ba3a5863bb993ca53d280f0f3fe7933abae6d34bbbfd66843d59c7e43eca283dbbc24421bbb339473d595fac3e643fecbadb5944bbdf66093df012673e10dae8baa46c72bb91c3a13c5d9aeb3d6a6bcaba357e49bb813f363bc6c1a23bdc6e72bb68f7dcba000000000000000076fa53bb21ce74bb0000000000000000096d81bba3916abb0000000000000000b01c4cbb6ef73bbb0000000000000000a0c147bb85893ebb000000000000000086f768bb7e4b30bb00000000000000005cd88ebbdd3307bb00000000000000008d0b7bbbff2c1ebb0000000000000000ae7d83bbc0b526bb000000000000000000000000000000000000000000000000a5e08aba1cb9acba3cde1a3a21508f3bbde031ba39c50fba6942873a7885713ba50cf5b96a0d1ebab26c7f399513563bb48ebeb8efbf24ba5c3b633a7330633b133fbbb96a3d83ba77464a3a74ca4d3b9d929339a70008ba1665e73a7ca02b3b72aa01b9f75bc4bad6742e3a51c3543b00000000000000000000000000000000000000000000000000000000000000007794a3bafa8625ba12d2fbb800ca00bbf9c589ba37078bba9f4ea9bafe908cba565887baeb9895ba35593bbabf3b7dba32fea0bad33546bae389adb93831afbaf84792ba389032ba15ca29ba27b2c8babbea9cba2dda96ba3c641bbbffbedaba40e993baa65456ba89a90fba74bb05bb00000000000000000000000000000000000000000000000000000000000000005d4646baaf1b193bd2603ebb0456b6ba4d6c69b984e0d03af4ed3dbb562871baf73361bad747d23a4be120bb030cab39b0f982b801613a3b9cc91bbb895bb4baf62eb5b7e0f6443b16b7e0ba68ac8fba93cb163ab3f46f3b5257e4bae0ebb3ba142e413903409f3ba05dc1ba96b7abba000000000000000000000000000000000000000000000000000000000000803f9af94739bb1f18bbc3c132390613633f862883ba347fb6ba9941823afe82423ffa8809ba273ea9baf57cd138af1e223f15b6a4b92fb9d0ba68f6473a9f78013fc33eedb9f295e9ba302388393ed0c23e1ee70aba1c4b9aba617aff3a9c35823e4eb35ab99e2b0dbb013c14b95dfc033e00000000000000000000000000000000000000000000000000000000000000009874f4ba5474f2ba0000000000000000d027e2bac38dc6ba0000000000000000d5f4c5ba096befba000000000000000068a101bb9c3fb3ba000000000000000008aef3bade95d4ba000000000000000082dd21bb0d65c9ba00000000000000007ad51ebbf703e6ba000000000000000000000000000000000000000000000000000000000000000000000000000000006acb96ba82f8c43bc7068b3c103b853b35daa43a118cc73b3c82543cb37db43b0b26cb3a6ff57d3bf61d2f3cec6b423b24c2953abdbc573be98df23b3a492c3b826fd43a747a243bf629c03bd574843a3ef59c38107d803bd102b639e0e5453bf86346ba6376833b2e9113bb004d2e3b0000000000000000000000000000000000000000000000000000000000000000c16ec33be09433bbc07cbd3bdabfd9bcae854a3ba4d70cbaeb02493b4c29d9bc4c6ca73b31c797ba722c063b0f04e1bc7460543bc47531ba408ba93a7b82c4bc1848823b486b31ba865da63ac21ba0bc7d2e6a3b5bd4afbacba2943a7d4556bc16971a3bf4a677ba96ef443ac6b7dfbb0000000000000000000000000000000000000000000000000000000000000000c369fbbd37580abdd0dd0d3ce379c4ba33acebbd9a510fbd66fd0d3cf21b10bba297bebd3aa30bbddc4f9b3b87ccb1b724ec97bd9b88f4bc7fb0443b7eee13b958e455bd5682c7bc195a833b01bffdb91fa60bbd35b291bc3be7143bb34c1c3a4c8a2dbcda2e14bc8ef6253b9e0521ba0000000000000000000000000000000000000000000000000000803f00000000a31fcd3b7b1778bde7259c3fb61d37bd2738803b336a05bd15dd813fb151c1bcafe83a3b6476a2bca208523f7d5746bcf6d9a73b695771bc5167203fdb0e06bc93f8473bd2a84dbc346bdf3e271242bc51756e3ba44569bcd238803ec30777bc5fffb93b795b9bbc7c7e933d4644babc0000000000000000000000000000000000000000000000000000000000000000eb52d4bb55b1333b0000000000000000fdf88bbb4c44d63a00000000000000002a498bbb15fcae3a0000000000000000bc9846bace4589390000000000000000c5479439a171b438000000000000000033eba03b3400e1ba00000000000000003eea043c1a3917bb0000000000000000000000000000000000000000000000005b67383875e139ba02757a3ceb96d8b951a21ebbec37eb3bee55ab3c9841103c1dd51f39bab7c93b7507af3c7ad4143caca9163bdad4573bb6ff8b3ca9bbd33b286d543b187d533b74e5393c95f1943be22ded3a9c76353b55e6193c8103923bd0a3f73946167a3b1c86653b7ac1a93b888c38bbd92d8e3ba054b4baac3c8d3ba8b06ebac84d72b8125950bb33a18c3a4e72fb3ab1a092ba1fd1233c220ff1bc7f1e163ba7343dbb55e93a3c7e05fcbc4003813bacc2f4ba487e103c6b7615bd9d28923b1fc3cfba3fdfe63b0ada0fbd9a16a43bc17aefb9767ca73bdaa503bd0702713bb5ea94baaf908b3bdfe2d2bc6ffd323bb3709eba709f613b32f695bc2910e83a664203bb52f1523b14f3e9bb7769c03a703783ba50b0f23a6a0c18bb28b982bdf7e0c4bcf4c6e83a55af8f39e32a02beeeb414bd8480d03b12c2ec38b39003be186f43bd866d6b3b2de02a3afa4fdbbde5df38bdea17843aa0c9693ab1c1a4bdfe0621bd4c8b16ba3b3ac53a07ca7abd5b6f05bdc8a4573930cd543a4ac40bbddb8bc0bcb15b3c3ab7dc713a595623bc35e91fbc56f8043b3e42603819dd803c373048bb12abba3afe502739e330233ca1b0f0bdfb5a9c3f67c1ad3d8c328b3c4688f6bd8baa953f049e9e3d275b273c4c18aebdab01813fcb17ae3d0f78063cfd2980bdde3b503fe92c9b3d58eac13bdca040bd82c41c3fbef87b3daf2d043c90f92cbd97d1d93e0b632c3d1c49143c5cff19bd0838743e83229b3cca8c463cd05209bddc5d833dd52e51bb1f3b223c26ac01bdfe0755bd9c85bebc0cd102bdba39d03b000000000000000049d4ebbc2288bc3b0000000000000000329ad5bcca66863b0000000000000000fc74b5bc7aa9463b00000000000000004fd38cbc082acd3a00000000000000000b2058bc8c00d33a00000000000000002aa7e6bbb00344380000000000000000e32704ba1af9153a00000000000000009a310a3acfc7ff390000000000000000221cf33a887c80bbf9774f3ce91f423b1067143ac6dc063a4ae98a3c61deb63b6044103bbdcb1d3971df703c50c4a13bc13d1d3bc6b3343bd4dc873c1529f53b27516f3b43ea08bba0a9283c1d53413be35af23ab94f683a96a3e83b63c6973ba3e4b23a76ae6fba5f21823bd8501a3b99a71bba19c6a33ae8579cb9d157693af3ed2c39559019bbbafbc9b9377c633a39230eba561e063af8ae223c262c08bd85b0173b4108a7bad07f4e3cfb9215bd0178bb3ab4de783af4d1053c86000bbd82708e3b377c13bb2422ee3b4e3e19bdfeff333b38b9283a0d1ca53b7152e3bca0ab3b3b80c69639d7e3a63b8fcdc0bc56c2143a7704bcb75e34983b61808abcb80ff53a681a9cba7b67583b9b3c1abc867dff396d7fa6ba801f823b3b4baebbbaaa0dbdcb668fbc0aba32bc4af1243b0396afbd2da727bd9adfeabbe3308c3bc2839fbd0e0a35bdedd11abcafab4d3b6e9db2bdceac5bbddf69b2bb31d1943ba90e69bd972521bde805ffbb99c1213bab293bbde6b512bd49d8babb319c3d3b8be5b2bc15beb9bc2cc931bb7348483b0d478ebbea4b42bc243fd0388262fd3a65e64d3c9f9200bb941ab0393416e93a670b513c2eafedbd68b0823f430b863e97f7893c6b6b05be6f39813fd1b47e3ea0ad2a3c9624b6bdea3b553fe66b6b3e008d513c7b7ca3bdbeed373ff51d493e4b1a073cdd2b79bd5a57093fd4ee193e81c13d3c24fb6ebde372c33e51e3dd3dab91183c85153abdf90e683e4217803d77bd653ca09b38bd35fd9f3df06a923c27a7213c507010bdfa9ebabcedd267bcab2760bd22a00e3c0000000000000000b9526dbdd87a193c00000000000000001b413dbdea9ab03b0000000000000000253536bd91e2f63b00000000000000001cd800bd434a4b3b000000000000000048fbe8bc63f3873b0000000000000000e528b6bc36cb4b3b00000000000000001a338abc02443e3b00000000000000009f0c36bc7e1d553b0000000000000000a2d4383be4c4c3bb77872b3c38e8613b0dc12b3b8438fdbadb19553ca184de3b2973283be1f379ba1d52703c7407053cedfa323ba3be96bafe06463c2748f53b30345f3b6230adba5dfd0f3ca083c73b2802163ba37903ba14c7ef3b7f26883b174a283a972898b8f3e0863b5d43713bd961c639e0149eb9994daa3a7c100d3b7c9ccfb8e93244bbe2400639270b8e38c30e0ebb9869a83a9b6afa3b241f08bd2d52293a0c08173a46402e3cd8ba16bd504c113b1fa8713a73f20f3c1da009bd09c47b3ab0ea063bcd86ed3b9b0cf4bc9116e3387a5f013b9ca2ec3b3cd2e6bc3d78a43ad8d2c3396f5cd13b8911b6bc7de70cb93db0123aa83dab3b0df28ebcc330fc39535bcebaab89703b5e1733bcd563a5ba567139b9e96e933b33a9bebb319583bcda8c7abcb759a8bceba99d3be8d66ebd0e9533bd3e55a9bc3cc6f93b551b95bd321464bd09df98bc7e39d83bb63687bdaadc54bdb68b8bbccc8aa13b4fc75abd777f39bd3ea179bc76a4c23bc7f11cbd9ac912bda6b33bbce3acac3b5d6cb1bc097ec0bc0ea20fbcafa5883b8a789dbb458434bc76128bbb3ef0aa3b3a8a2c3c6f2be63aebe447bb55825d3b08e10f3c04e6d2bdf6e1533f34bee33ec182843c12fef4bdee72513f7224dd3e3582493c54d4c4bde1b1373f2b0dc53ec9a9193cd3eda0bd31c8163f9d43a43e6c24153c5ca088bd8858ea3ee517813e1c69123c2c446abd2cb2a53eab93373ecf72343c3e7753bd99f8483e098ad93d0fb6563c75ef36bdd9609f3d005b223de86e053c5e5410bd23c9eabbb38c0bbc6dad90bd2d7bf63b0000000000000000b87ca8bd9f103b3c0000000000000000f8148dbd36f00a3c0000000000000000f0066ebd18fdd53b0000000000000000c6c84dbd7011b83b0000000000000000abe22bbd6af5b23b0000000000000000606e12bd6fc9c93b000000000000000086e2f4bcb3a8da3b0000000000000000e758bbbc1b2aa13b00000000000000002b42273bd23c99bb2f2bea3b81ccd43b8efc443b86873bbbc5cb1d3c6756183c9809ef3a62dbc9ba40362f3cf3a41a3cb2e7823b18b8dfba0af51e3cb3e6173c0b71033b4ea31dbb8e65dd3b3460a73b34652a3b2d3e0abbf231b73b71889a3b27e5a63a551ae2ba49199b3b677f603bc139803a8a2c26bb5d31d53aa22b663943ff813a05a252bbeb2df23a24394bba25cfa6bbdcde763b1d30cd3bd224eebcc3fc7bbab01a8f3a991a0b3c11b8f5bcf6a083ba0422f03a3b8dca3bd584dcbc016ea639d441283bb5dfc53be558d4bc3ffb22bb6867473b50aa013b63fe9abc6b1e3fba724dc63a0088b13bd78a97bcc378aaba0ee98f3a0bf88b3b8b4158bc67ede9b9292a43b9ba1cae3b34f71ebc31e3c7bad4af193a33461e3bc01b99bbd39711bcb3dd7bbc2289f1bcda10b73b2b642cbd96e342bde6d1f7bcc8ac203c908c54bd785868bd86ced3bc8e95e13b21015dbd8f536dbd6606d4bc7ab9de3bd21403bdf11910bd3ed4a0bc697b753bb5ac09bdd7c613bd38c98dbc9d97b93b54bf89bca88fa3bc0e8d48bc7c0db53be54ba5bb1eede5bb0292f8bb5464983b2b6efc3bbfb3873bf2663cbba1c4493bfc6ef23badd9b2bd5595223f1e98223f3f61553c1049cabd8cab1e3ff61e1e3f91ad1d3c06fd9fbd404a0a3f0b44093ffbd91b3c6ca28ebd5918eb3e32d5e73e8222e23bd0b53ebdec66ad3e4d8faa3e16830e3cef7456bded75843eecba803e48c0043c8b092dbdb79a1f3ef7ae183e97c6183cbe0e20bdce3a893d1fbd753d308c053c3fc4fdbcb82436bb93b9f2bb5186b2bd1400053c00000000000000007591c8bd1d443b3c0000000000000000a77ca1bdb5bb103c0000000000000000cbe990bd35eb013c0000000000000000aff445bdcd1b8b3b0000000000000000de5f5abd048bf23b00000000000000004d4832bd5f05e13b0000000000000000e4b621bda8c7173c00000000000000004b3307bd67c0003c0000000000000000ca3e053bd6a870bb3a626e3b977f203c6868853aa7a7ec37ecfee23b6fb3483cdc598b3a37aac73ad45b143c0d735a3cfbf6513a3cb7db3938ff0d3cc01e363c64de143bbd90d93976bed43b03272c3cf82bb83a19de963a5f04863b0608de3b5b6c4cb9f508f0396243853ba46c463bbb0fbf381afb54baea8a1a3b1bded739f1f72fb75dfc17bb27f6933ae7c7c539ac329cbbc772053b58deab3b7287b1bc0f421cbabdc5023ba877bb3b83e6adbccd02a33ac1d5133b9320b73baca5abbc7054d83976a3d63a7221853b0df48abc440007bac92d4d3bd6cb913bebaa8bbc2c4686bae22d0b3b3e1b733b05155abc8b3cc9b915d4813a0cba723b7cb810bc59d59abafc1504baca6c1f3bfe7b78bbe2212fbb744ea138bd624c3bdc3068bba3a123bcfd41a2bc826208bda2910a3c10e21abd1e2884bdc6c412bd282a383c7a8650bd2f909ebd67dc05bd19281b3c209848bd9d3890bd8161fbbcc9ff183caed126bd4fec5ebd591ddfbc0d87e13ba4ba05bd114b2abdadc4b6bc0392013cc774bcbcf79ac2bc78ef75bc4c50c93b37b419bc6c7fa8bb308e05bc2eccad3bd5312f3b3e92193c3d9ea2bba04da43b4bfcff3b2e7093bd4419e53e9c23533f9d284c3c9e40a6bd0cccde3ee2a4503fcb172b3c08cd8abdec3cc73e9f2e373f7849153c87e066bd7629a73e3abb153f4efcdc3bc94948bd7bf7843e7e8be63e9358f23bfae025bd4bed3f3e09f7a23e124ee93bdfa310bd8ab8ea3d269f413e9872023c7c4bf7bc61ed433d5caf913dd5eca33b02a2bebc880a68bb506c3bbcefadd0bdd4a61d3c0000000000000000c902f3bdb608763c0000000000000000af37cabd1fd12f3c0000000000000000ab49a4bd253c213c0000000000000000d10c8bbd6ce6053c0000000000000000ccd770bdb92a193c0000000000000000e6d057bd9f6f1c3c000000000000000051283ebd75f8433c0000000000000000d85e14bd0626123c0000000000000000e6b4ff399c01d8b9c890343b16fc3f3c6b61d838a9020f3bd76c613b56038d3cd8ac5e3940b5093ba0a9963b1a4b773cbc3e8f3a236b343bbe05b83b12ca753c07f4a53a4bbe8f3aa1cc793b372c1a3c91ce6d3a2a831c3ab9b50c3c1c544e3b94d1e53883be9a3a6475353b1b44823b16d69cbab14eb63ad2153f3b069a89baba4492ba3522b0b85a70f83a5e9be2ba1c7018bbc3b8853a0d544f3b8d3642bc23dd1d3b3aa8e5b9fcc5263b30e023bc3efdc53978a1d73ac25d373b6cdf11bcaa5d243b1b3ddf3a54e0c03a0f7208bcad096bba3b932b3b3af0e03a6e640fbca68a3e3bde40b03aa099163bc133c3bb1a6facb9a0da72b92dfb053bdfb3a8bb32a9c33a973ee3ba0ac7e23abe6adfbafb7f4cba4efa95ba5f441c3b803c523a296f59bce21419bd1f7c07bd5c6c293c8df908bd4d4bb7bdc43619bdbf8a663c182e29bd3b30a8bde1d113bdd8fd263c1e6a39bdaf60b2bd77e60ebdab7f1c3c27d014bd4a397ebdffe3f0bce1b8f93bfb3310bda9453bbd5dc1bdbc7304a33b6cd5b3bc60a1bfbcd8ca88bceb29e23b93a851bc286aa0bb8d4fffbbac59913bafc064bbe4ca363ca4b398bb7e608a3b496ae63bad9e59bdbd31863e2a4d823f95d1363c0ede6cbd8059803e3fdf803fd46fd53b330f3abd01016f3eb3f2543f2676e33b2fa72bbd56234b3ef86a363f8295a63bc73af4bc8a86203e8368083f36a9833b2872e6bceaf8e93d5b8fbf3e7469a43b0bcdb6bcc2c4913d9435643e9500983b7d7f8bbcc6afc83c517f943d3d72403bd1fd4cbc40ec08bcffbae0bc49edecbd047c433c0000000000000000548c05be4c10813c0000000000000000edcab5bda3fd133c0000000000000000c12aaabd73b1153c0000000000000000b8467fbd6500f73b0000000000000000ab7170bd559c1a3c0000000000000000dff746bd03b3113c00000000000000009d103dbd3556593c0000000000000000c09811bd8cc4273c00000000000000006a0c77ba4772cf3a85cd1b3a9ae26e3c872c0dbb0855373bceda043cc71fa43c1708edba3c1f8a3b40b2e03bc395ae3cac6433ba8116a73b202ba23b7fc1863cea009aba7436813b7e52b23b118f443c564154baa570943b5b787a3b74a6043ca041baba44a0753b569b833b3e66463b6271edba599afe3a9371973bf51ecfbaaa5fa0ba926a9f3a5145cb3af49955bb91d2853a6f17c9bae9f0183a34178ab9ce7e143c29268dbb3a98713917c1853b456aeb3b9644acb9d94086b8899d6b3acd77b13bb7c3b43a4fb66cb9a93dcf389041933bad0f2d3b0ae77c3ac32ba7ba072f303ba725903aab375f39d45dc4ba123ba83b9084ecb9aa1e533a024835389bb29d3b5d8e3ebbc867163a0c13003be4e067ba6d0198ba494494b9d227dd3adc61aabc978489bd7513f5bcc0f0353c73d409bd75d903beda3c00bd3304623c29d429bdde1c04be975a16bdd3242b3c0bce2abd07dbdfbd46ee16bd12c8043c13bc1ebd5fe5a4bdf011edbc81527b3b686000bd2fb879bd4c2dd1bc87bccb3bf70bb7bcafcc12bd807a88bc5c9fa43b5aa13fbcf6142cbcf4a3acbba9a8ad3a040685bbf0677b3cbaef59ba6427533b55bade3b5f1402bdd22caf3d94609c3f9334c53b4ec2eabc01cca23d8d8e953f5c1ec53b4c2cd2bcccf2b13d9856803fdaf0a53be382aabcb059a33db9bc4f3fd532673b49ee84bc135a893d033d1c3fc982403bb9083cbcd35f433d61e2d83e544ad83ae8e102bc76b0bd3c080b713e2561213a7c900bbb85dbea3abc3a7c3df7bfb13aa66becb9603d94bcd3b25abdd89fefbd56412e3c00000000000000003a02f8bdfc97803c000000000000000037b2aebd82fe083c0000000000000000b7b183bd1113f93b0000000000000000fcdf54bd93bcd33b000000000000000084be39bde0d2dc3b000000000000000055ee27bd6d220a3c00000000000000009f840abda6434f3c0000000000000000190c0ebdcf43343c000000000000000000000000000000000000000000000000158f08bb9b6a933b6a8c573b805d863c4a9914bacfffa03b81555b3b7c2b5d3cc1b001baa996833b8766293b6c3f273c2b0288ba0e78923bff12c23af913e03b1c2dbeb8dde96d3b828f053ba31a7e3bfa98afba816e1a3bb139573be2794d3a987904baa739f03a36ee4b3b787d19bb0000000000000000000000000000000000000000000000000000000000000000d0910c3c1674f7bacb0008bbed28113c8747e63b182f92391d5322bb78cde73be12b8c3ba540933a86f413b91aca553ba5128b3b02268c3af29165b9d10d043bee71433b707dca3a3f7a273945170e3b9be88b3bc41c9cb9d7e492ba20a3823b57cd923b4141a7baa113c6ba273c3a3b0000000000000000000000000000000000000000000000000000000000000000cc2801bd49a0fabd3fcae4bcfa34c13be5e403bd4e51ecbd07a4e1bc6656963be7c003bd1e8fbebd01d4ebbc593f6e3b6df9eebc754595bd7796d7bcbe1a363b1e14c6bc8fac55bd4e3f9dbcf980b93ad0e390bc9eeb0cbdb68b51bc7a41ee396ccd34bc7a3726bc4bbbafbbec938b3a000000000000000000000000000000000000000000000000000000000000803f07d06b3b5806c9bb297f37bd79259c3f5ef42c3b5288a0bb7b43a8bcaadd813f268e55384d0314bbab781cbcf8aa513f41341439ee4f93b91ebed9bb0f94203f7cee08b9b66cebb866a508bcd50cdf3ee6639939f3615e3bfb4534bc5f19803edab6a7b827f7ca3b841f97bcc15e913d00000000000000000000000000000000000000000000000000000000000000001d2f78bd6303af3b000000000000000056a20dbddb9c733b0000000000000000ce52b2bc0f1fda3a0000000000000000637586bc0485a03a00000000000000000a947abcfffd253b00000000000000004dfd82bc04d4963b000000000000000039a6aabceb9ea13b00000000000000000000000000000000000000000000000000000000000000000000000000000000b9973c3ac30a0f3bcc8f1b3c2b5f7f3989e40a3aa6a2323bd88d153cd4978b3aa60cce3af90da8bad66ced3bfcdcf3ba57a7c03ac23d88ba80db933b679d0abb66079b3a344a6d3933f9fd3a3c8a11bb47f301baaebde43a45a587393ba988ba480b7eba64c2193bc2ba13bbbab7a93a00000000000000000000000000000000000000000000000000000000000000008878e33b201be1ba629b773bc148ddbca12fc53bd1cd08bb3000753b559bc0bcd342e23b3713b9ba9a67163b72c6ccbc67ff9c3b9e6a62ba8f9f293b565db7bce537b83beb3afbba3d78213b5dc79abcd460b13b422295ba0f77413bcd7f57bcdb7f6e3b7695a9bae343523bf1d408bc000000000000000000000000000000000000000000000000000000000000000043feb1bd432714bd12dedc3ba9a2c0bacbb8b6bdf90501bd0c72a63bf633a8b9bc0c84bdcb8706bd5ec1543be225f0b9de5449bdf77be1bc58f2a23bbb2a7fba766819bd09d6b1bcf8ab863b4960ffb9528cddbc119780bc5b2e5f3b1b9018b989511cbc0ee722bcd505b43b03c9d2ba0000000000000000000000000000000000000000000000000000803f0000000087a29c3be0163dbd2206953f69110ebd82a2473b851ad1bcb396793f65128ebcfcd5173b016c9bbcfab34b3fc67b83bc35ee303b53bd68bce84f1d3f24fd58bc7285db3afdc667bcf07de03eb41095bc2c5be23a3bd26bbc1c22873e90929fbcd0a4333ba0efa3bce708ca3d0b65edbc0000000000000000000000000000000000000000000000000000000000000000805f6fbbf3fed03a0000000000000000ab3121bbf1e7d03a0000000000000000317738baf640703a00000000000000003d80d5ba79a01b3a0000000000000000a3cd193ad0a79438000000000000000071144c3b99e417bb00000000000000004220863b66b7afb80000000000000000000000000000000000000000000000009dc93a3be363ffbbf763803cb0113ebbb7369a3a2c94c63a102a653c9efd753bd746173b7b7ff6bae163683cd6c9bc3b72ec3e3bebf771bbbaa36c3c2769b439365d4d3b0a85b3bbbee5483c5b99d7baf50fb53ae45956bb425d143c95094dbae404bb3a9e328cbac933933bb8e2443a8a2b01bb05f23d3b2312bebac0ca003bfb636ab9a62f29bbee791c3b2b3b20bb35f0743b27222cbad4a7f93bb25c11bd2c3dd43b050c0ebb8da0123c961d12bd5a8d8b3b578100ba946d053c4c6119bde355c73b7df2c1ba976fe83b9f5915bda9c8b23b1c1cb0b974ddd63b6d5209bd59f6a23bd7ef51bab15be83bda68e2bc7c908f3b0f8abbbaa2f7893ba889aabc6586673bac1fe3ba9e49a43b45f235bcbb6c2b3b682aa2ba2aa3aa3bd7e32bbc90f60ebd8927eabcb3a054bbb180893a8836b6bda3411cbdcf96853a6b39af395403b4bd3cb537bddfbeffb93cecaaba94cb96bdb9d92ebdeb2488390381be3aee4352bd9b9014bdd0a8c9b9ac38d439788022bdba75f7bc93cf6f3a1ba3b738bce2c2bc29d7b1bc4881a63a7d4f5e398f4c07bcd2a12cbc8f20633bd85820ba50b7803c477ad0bb1b37343b3147063a2e65283c0d3ec0bda5d1943f541bc73d13b5573ca062c2bd57e18d3fcb8fb83df4cf043c05bd90bd91e1743fe7ccaf3dba1e093cf31761bd76f5463fb9f3973d6a7eeb3bef2b39bdc88c183f4949673d5c5dcd3bbffa2bbde3acda3ed6f50e3d6b6d043c777d22bd3b38833e40a3503ca646133c7d9a19bd214fba3d843711bc833cef3b697b13bdd116a3bc105fddbca08fd5bc8535b03b0000000000000000edecc8bc93bf953b0000000000000000e623b6bc1935f63b000000000000000062cb92bc02fcca3a0000000000000000352f75bcb0bd1e3b00000000000000000af64fbc4e541f3b0000000000000000a72022bc44e62b3b000000000000000098c08fbbabae783a0000000000000000243871bb6fffb93a00000000000000002828813b42e83dbcdd1b853ccd930bbb3bb0643b9aaa0abc7d748b3cd6fa8bbab9dc833b63da20bca3648c3cb4eab1bad2d6793be80d17bcf65b853ca2c150ba19376a3b8eaa1ebc7b7b683c41b901bb324f6b3b08bc02bc098d2f3ca92603bbc608ed3a9295e5bb55230d3c8076f7baead36b394e6e8ebbc47e7e3b5b2413bb9eed973ab4efc2bbc158a63bbb7a03bbf3e73bb95377b238a068103cf9231cbdf949953b09fc8aba6860303cc2a52bbde6e8c33a383aad395cf80d3c86971fbddfd3543b5defbe3602f1073ca4a11dbd697af73a319e9139ac73ec3beaba07bd25f7563b4f8bfab9ee74f63b3ae400bd5246a43a0a082dba1f21d63ba2f7b9bc64d6643bce9ebdba53aada3b6c3a90bcc627923a4d03b4bacfafb73bfcb55fbc696c30bc533693bc4eed5cbcc9a7573b337a45bdede01cbd95213fbcc76b823b82e131bd6f491bbd0ca93dbcf695683b7bba4cbd55f630bd42801fbc8fdb303b378400bd45960ebded5304bced16113b3827cabcb6cffdbccb14b9bb0a8e153b8954f9bb85a8a2bc6268b1bb7c12463b234a6b3b50784ebcc72ae7b9a66f953a7e4c8d3c060c6ebb66a5a4baac11fd3a8aa6403ca1b2c4bd8154793f4cee863e13387e3c366bdebd1642733f40837b3eb501273c95bf9cbd0896493ff307633e22fe453c32479abde4292f3f0cf53d3ebf77123cd67470bd64c2053f1934123e26871f3ce3c566bd8e00c53ec105cf3d302b083cb16741bd0068763e0fed753d5af7393c56dc43bdafc6d43d3f6e703c46e80f3c6d8f20bd50f63a3aac4273bc252537bd27bdd93b0000000000000000b2de4dbd0b2c093c0000000000000000953522bdce25a93b0000000000000000dc3f1bbda386dc3b0000000000000000f3a1f7bc1024a23b000000000000000027d6e8bcbbb2a63b00000000000000009d10c4bc9b9c8a3b0000000000000000ee249cbc3fbd963b00000000000000004cf380bc4abc763b0000000000000000bbe5963b49ef6dbc57fe793c2bd4173bc6b9a93bab6f3ebc1d48793cbe9fa439e6ef913bc61f2cbc92ac7a3c86181d3bae69863b17c236bcf2d6753c53bd893ac4208f3b7a0342bce39d5d3cbd65a6380cbb3a3bae0b1cbcd3e92f3cbd5dfebaa3df343b8c3913bce1cd073cded4cbba0cd1863a3b66d3bb90f3cd3b444623bb5bb7e73a26a40abc1acd083c8598dcba7e2eb2bbbc942a3bd6ca123c5b2920bd358c6fba83d8d73a39532d3c1a3532bd90dcc8392642183a3c4d153ce7681cbdc1f32fb96476f03941b30c3cc59612bd1e3f88bac3fb9e3a47f5073cfc9308bd34ced5390a359839fd60153cdf3de1bcfd92983a903216b9a69cf13b40ddc7bca5f3943a92ddb8ba5f27f03b16d095bc799105bbc264f938bc65ce3bc94875bc353f1f3bff8425bc91bcc7bc0aa98c3b03d5e7bc3d5a12bdda7fc9bce4cda93b05831fbdc6802dbd5d61a7bc4982bc3b6a2514bdbbe928bdbadb9abc3582c93b4134d4bc6abf0dbd268187bcba8d953bcabe91bcd55bebbc9a6d4dbc38c3903bdefbaebb847ba4bc422515bc3b0b713bc1dcae3b4b211abce815a8bb6a154e3b97f9943c08747a3ad8fac8bb48d6803b4d9d183cd2feb6bd17da4a3ff5a8dd3e2feb663cd138c7bd644d453fecc0d63e99864a3c6328afbd54892d3f31acbb3ed249383c7f7396bdf093103f81a59c3e5d842f3c8c1984bd9885e33e9858773e16d71b3cbc816ebdd996a73e87a4323e17e4333c769a5fbd1cae543e8e67dc3d543f2c3c04f945bd55e4cb3d1c34333dc21f033c403827bd9ac24a3c294997bb25ed80bd4eab0e3c00000000000000004ec687bd678b2e3c0000000000000000ac0281bdd0792c3c00000000000000006ae05bbd6e66033c0000000000000000de9442bd281aef3b00000000000000002aae34bdd336043c0000000000000000d17d20bd2d1ade3b0000000000000000b21f07bd32a0f53b00000000000000007ddcd8bce396b83b00000000000000005db38d3b89c55bbc9a4d5e3c31d6ab3b2c9bb93b47403dbc11da513ccf41993b75ca783ba7482dbc59453e3c9879ca3b398a933b436b33bc026e433ca8ff873bb2a2533bbc872ebcb33c2a3c9a8a593b3e29433bbd6109bcce3b163c6254143b1d49fe3af8b2fcbbc914e93b2484423a9ae3953a9a58d9bb493ac93b065ab2ba131a233bb6af15bcc0ba013ce69bbdb876f51dbc57ab243bd573e93be0a010bd5dc8bbbb46d3253b531ff63b5b5a15bdb395b9bb70453a3be490e83bc76900bd0f4aabbbdc2e5a3b3663fe3b254a00bd0daee7bb9fa6333bda73a03b6ddfc8bc281393bb00830a3b500bd93bd198d1bc11bc6fbbe85e843a8083be3b345e96bc0b3bc3ba7d6f47ba4145da3ba97481bc5df79fbbbebb503ac5da863b689c54bce3a4953b7d62babb36aa0bbda644083c520989bcfd6bffbc72e201bd3904113cea60d5bc77df1fbd6500f3bc7d78d13bea71e8bc35de20bd8cabe1bc488fe03b102c51bc747cb1bc0f24babc7ecea33b2ca079bc920fc6bc5a35a9bc387cca3be7a68dbb2da646bc60c17cbcefc4a63bfcbd6c3be90992bb97822cbcbb80a33bc052593cd7ecb13b78fa1ebc46b3a63becd01c3cc2039dbd73651c3ffa9a1c3f5cd2553ccbc4aebd7651163fca40153fc970203c1acd8ebd5449033f83b4013fcacb2a3c080d87bdc9f0e03e1703dc3eb2cdcf3b486941bd7174a93ed4bca43e2448153cbdbc54bd1e67843edd097c3e0d64093c845835bd400f293e3b861c3e4595213c571532bd2ec8aa3d2fa48e3d53e8f43b546b0fbde65a5d3cc9b4323bd0e999bded820d3c0000000000000000482ab0bdeda63c3c00000000000000007e798fbda56c1f3c000000000000000011658abd06192d3c0000000000000000172e47bd57e6d73b0000000000000000902d5ebdb109173c00000000000000001c4d3abd93f10b3c0000000000000000ddf12fbd180f233c0000000000000000c04810bddae8fa3b00000000000000008a409b3ba02018bc2837da3b8785163ce794353bf3afd8bbc58dc73bf5a3f83bd09f303b908db0bb216e043c5916063c394afb3a6cbba4bb96b9ef3be26fed3b9b07503be08df3bb6707cb3bcd7fc33bb82cca3ade12b7bb087db13b7a82783be1c8c03ae1246ebb69fda23b6a39de3a9e3b933ab2a284bb2ff7503b87c9c4b9a2b0733a127d9dbb8a09a43bc26a423aacd716bcff59543b20af523b9c26dbbc6d6787bbcdb4e63ad311f13bf366d7bc926952bb67dee73a1288c43b0886cdbce2318abb48d9073baa4fb93bfa38b5bcdd13bebb28b63c3bb231c23b5dd2acbc6a186fbb40e7b03aa5b1cc3b65dc88bc8ab04cbb5902103a56fb853b49d06bbc9b3859bbfdedee381891ad3b5c7939bcb1cb85bb74fda8b82d5a853b5fe21bbca1630c39e3dabdbbf9e51abd0daf093c3d84afbcb4f31fbda29922bda609243c146b01bd410b4bbd759816bde85c193c5103efbc737b3cbd142e09bd95aa063cd6bac8bc052a0fbdedcbf1bc3187db3b6e479bbc71d4d4bcc304c0bc10e5e63b70fd45bc0bc46cbcf1189fbc450dd83b07957cbbde1c0bbba26cebbb7cc3293b497fe73b4629243c42a34cbc71f8cc3bec4a083cb2bd7cbd91ecde3eb4ee493f9d323c3c148a90bd1720d63ed185443f4a6d253cc78a77bdefeebf3efa2f2c3f66480f3cef145bbd9424a13e074d0e3f8e5f0e3caa7646bd2298813eac75de3e4b33d13b984b2bbd091c3f3ec885a03e0043ec3b9cc61cbd1e41f63d9b82493e4ac7e63b9cc210bdc6a76b3ddc0db23d3152bf3b9dffe4bc8b93c33bcf25c13b03d3b4bd9e442a3c00000000000000006798cebd1608703c0000000000000000e959b2bdae1c4d3c0000000000000000876c9bbd7408323c0000000000000000c9d989bd25dc373c00000000000000000f4b79bd5fa2283c0000000000000000697662bdee21303c000000000000000087785dbd8ad7553c00000000000000008bdb25bd207c1e3c0000000000000000cd0ee93ae41f67bb36d73c3bdaff223c8cc8fe397f06a2b949b56d3bbde0263cb816183b02833fbb5ab8603b6a09373cb054833a94f3e1bab7278b3b846e283c65bba03a503c25bbba5e253b04f3023c0459943a578c3db9c4fc3d3bd7019e3b82a41f3a5f0b36bbf0c9113b0271793bfc634dba9b1922ba351c613b24a5edba1cc7993963541bbbcbd6783b9a402abaa91ad6bbe482043b6a027d3b39f588bc495797ba8a662c3a9443963b5c0a77bcf9ffa3bbf28bf63acf01553bdf4d6bbc130243bbd0431e3b7c70803b1ea54abc2b93a4bb13301d3bda2d533b72962fbcb0ff56bb6d38bf3aeab6313be44a1fbc446535bb1d1f0a3a5b8f6d3b68bef9bb5abdad3a44a504bb1090303bb6423cbb4bd11fbbecae2bba2a5c3a3b4ae29ebb29960ebc6f9f99bc495019bd1a92103c55d4d5bcdcdd6ebd70da26bd864c2d3cb924e4bc06aa54bdce581abdbdb9113c4b870bbd1e036cbd85e215bd2e62083c4825d9bcea101ebdde3dfdbc95a8e53bb529cabca6c601bdca8ad6bcbdecc33bbae169bc148c63bc6cb89ebceac7c13b5c3e10bc9c0737bb055b36bc3c51973b66166eb95f3f3a3c90f50ebc38b5a23b81c8e83b46783abd832a873ec52a793f8dbe093c61f14cbd5442803e858f723f938dd23b253324bd3fc9683e43f8483fcb00cf3b06f019bdc073473e494a2d3f0074a03bcdc0fabcb9371d3e67cc033fc865b13be25ef0bc75b8ea3d458ac03ee60c9a3b5722cdbc826a953dbc486e3edc1ba23badadb0bca0f8e93cdcb0c13dc27d843bcb538ebc6be798bb498ae9bb5930c4bdf72d3c3c0000000000000000a0d6ddbd54d37e3c000000000000000096a3a0bd41392a3c0000000000000000ae559dbd5e593b3c0000000000000000dd5880bdc053193c00000000000000003a0074bdcc173a3c0000000000000000f1454fbd3d410f3c00000000000000008c854dbd12b04a3c00000000000000001a6128bddb4d1e3c0000000000000000e10256b90aaa113b203009bb19b63a3c280b85ba4f13873bbd647a3bff18243c7d175cbabda3763b6969273b8dae3e3ca3ae7eb92674743bcff9143a5b26303c764fe4391efc303b9f681fb9dcfa073c1b1cf5ba3cca5f3b87b0813ac909a03b875713ba94b7183b00ab013b8811d83acef2fdbae7063f3b6ec48a3b9e3fa3bb7bd0c3b9b266b33a42e7bf397038e4b910892cbbd025513a1335d33af8faacbbb9a5fb3b74610bbb2d085c3a6e5ce9bad69c8a3b9d0997383d88683ac505d3bab45d3d3a2211f33ab7656e3ad53027bb0d3ea6baf402223bff689c3afd831dbbbcf1603a9bf2233a5672083b1a9b9cbafef1243b457d98b968bf933afa5420b9926cd23b4cad7fbb49462d3aa498bb3ad791f6394099e3ba836d9d3a1b71f939ecdba7bc931a20bd84f116bd2261073ca70efbbc4283bebdd96f10bd688e183cc51213bd27dbbdbd4e751cbd956c033c015f12bdab629ebd34f514bdd547df3b54eafdbc2cd663bd147001bd0d25bd3b9c6ae0bc15d530bd8db5cbbcda7fb83b9557adbc8d3ddcbc671293bcc5053c3ba84f3fbcb5b345bcbd5b9bbbdd68433b4231b9bbad654a3c10fcd4bbceb9883bccf69c3b9fdfd9bc3fd8c83d56a9943f3750b23b248cd2bc3c25c03d3f7a8d3f26dd823be666bcbc7f54be3d0d35733fa75c573b7be89cbcb2dfa83da444463f5ec0023b201885bc73a7873dc78a173fb3922d3b480b58bc67723c3d832fd83eac7d013918882dbc9f2dc53cdb10803e6ac7e93ae5b9ecbbe7e7013b0d1dad3d64d3223ad0dec5bb99928fbcb602ccbc289abfbdf900293c0000000000000000dd1ec3bd8def563c0000000000000000e7b297bd6a27263c00000000000000008ccd74bde60a0a3c000000000000000039cd4cbda658d73b0000000000000000cebc42bd7e85df3b0000000000000000defd3bbdccf1383c000000000000000045931fbd9b501b3c0000000000000000d9e621bd952c0f3c0000000000000000000000000000000000000000000000007576bbba71c9d13b487d87ba3e7a073cb38336ba2262a53bd56e30ba0eccec3bec14fbbad89fac3b218d44bb0a29d93b194bb2ba47c5973b572288bbdc39913bd7aa9db88808613b164125bb0ab9cc3a0375adba2edb813ba8de8f399ad884bad0cbb8ba5d5e5e3b3255c4b9332424bb0000000000000000000000000000000000000000000000000000000000000000d8f1ce3b2eb831baabcb0ebbc766d43bb9fa983b0497a5396da280baf4a58f3be48d013b41678f3a4badbdb93fbf7b3b3545023aac40003b93028fb88f5b3e3b682aa03a1dab8d3acc21d0b93b395d3b1fc18c3b4acde4ba30c1f4b98fe57c3bc553853b06938cbad15db1b74b0b963b0000000000000000000000000000000000000000000000000000000000000000ba2501bd2d08b6bd4c40ecbc5068893b0ec6f5bcd66aaebd92b7d6bc3448823b9ffef7bc1e2989bde364d7bc4e57493b0ac7dbbc362950bd7245c1bcf54bb03ac33ab8bcd3ef17bd5c7696bc8f57383b64777fbcf32bd3bcb4592abc27e3373bb66553bc85221fbca01ab3bbaebcd43a000000000000000000000000000000000000000000000000000000000000803ff59a2e3b22d6a2bb798008bd9b1a953f65dcde3a33c611bb08d177bcba03793f4f739a3ad41402ba29e114bc39514b3f16a1053a53b586b9da7307bcb2281d3f9f6b58b950c575b9b18d14bcef14e03e4a19bebae5d11e3bfd377fbc206b843e8057e0b91ef52b3b61d9a5bc3d07c93d00000000000000000000000000000000000000000000000000000000000000007f3f49bd23808f3b00000000000000002935f4bc8219513b00000000000000006406b8bc5b30163b00000000000000009055a4bc7c49113b000000000000000072e9a7bc64132a3b0000000000000000af49aabcd837033b00000000000000007074dbbcf0ff653b000000000000000000000000000000000000000000000000000000000000000000000000000000009a234a3b0c4e26bc4d685a3c24ee44bc9a5b0a3b175cf8bbd531223caf57c1bb8ed2073b73f810bc05f7443c26e130bcdf4bf33ad06304bca640493c52fd31bcd287b63a0e3ed3bbc640373c6dcb22bc3ce6a73a8257a6bb8e30083cfc3df5bb8f45aa3a1eaad3bb1bd0043c35cf19bc0000000000000000000000000000000000000000000000000000000000000000aa69bb3bd788d7b9ca88953a805cc2bc34ed863bac2e4fb92673093bd9efa2bccd65873b6f8c90b95eb4223bc5409dbc7e84713b1f1e66b943c0083b412a99bc2ba0973b26aee0b97669263b5a5f85bcf0013c3bea8700ba60ba513b550e41bc18ef933b97e118ba20c24a3b61a648bc00000000000000000000000000000000000000000000000000000000000000009342aabcea25ecbc2b78fc3a162b98b91c2cc4bce1d8a5bcf6d2073bda871fba405386bc7119bfbca9a41c3bebd418ba8eaa08bc75c8acbc9812403b0d4600ba576f46bbb9489abcb0518a3b0beabfb9a6e5743a6cfe85bc6b219e3b419888ba879c173c7fdc6ebc412cac3b4a399cb90000000000000000000000000000000000000000000000000000803f0000000050ce503bfb36d8bce6d2833f42819cbc18452c3b9dbc84bce9155f3f4b8e7dbcb31ab33ad4f461bc283b383f42bf36bc95ab093bcae35fbcc528113fc0704dbc7997af3a05f954bcd7a0d63e57ac68bce851c43a4cb150bcc53d8a3ee31f8ebc2a12be3aaddd94bc0c28083e544ababc00000000000000000000000000000000000000000000000000000000000000005bb0b7ba8249483a0000000000000000609b14ba46c5423a0000000000000000ca7e6db841bbbb390000000000000000d8786437ae0e15380000000000000000c2d197b9bfec353a00000000000000006212b23a975830ba0000000000000000229a943a9814b3b90000000000000000000000000000000000000000000000006761ad3b2930a6bc06a5ce3c2d5859bc377ac33b9dab99bc26e0b33c8a1529bc16ffb13be7c796bc283ebb3cbccc34bc95f9953b0b349fbc30dac13cfc4940bcce52873b384797bc5155bd3cf9663cbc1dfe813b5e7e8abc7921a93cc8d333bc1a717d3b1c1280bcb17b903c049420bc07b86f3b04dd65bcc2016d3cc1df16bcf2fa403b62d96ebcdd14a13c8ec32fbc295fe83a9402c4b89dc9683b1c0408bd40a25a3b31945bb9e34dc13b3fa010bdfcd1003bf514d2b8bbcea53bbbee0abdfe3def3a0641a2b889dab43b2409ffbc092e2d3ae7742cb91eaaab3be4fef0bc8afcf13af75f3bb8e037be3b7555e0bc3023a93ae777b3b9f4ddbe3bbbe3c7bc3c8d863bf8a954ba4979d33bea4ea9bc4a04ac3a41f305ba0e36c53bd9efa1bc910b0f3c019abdbc1a2fc6bba2e8ad3aab6c56bcce31f2bc52b38fbba414fd39795570bcf993f4bc75228bbbf0d4923a329b05bcdcece9bc31355fbb0481b53961697d3a3428c8bc91482abbf5922f3a96e29e3b3ee2b9bc8a72fdb917bf503a8b012d3cbc5297bc51cea0b83822223abf79893c8b8974bc99d8173bacf3bab9d59feb3c2c4656bc1f0a5c3ab99d4f3adaf6d23b788d55bdda1b843fe3e2e33d54d9ea3b547554bd7df3733f4aa0ce3d2137c03ba6d62bbd9284513f9125b83db024c93bd06516bd0fac2d3f9693953df5d4ad3bbc5403bd972a083f47bf623dd43f963b248900bd7578cb3e6ab7113da3c9a03b8a4801bd9aa1853e97d6843c1312b63bfd7203bd4c05043efe398dbb001b953b0a4301bdb86b9a3c0289aabcf6b988bc10d2263b0000000000000000cbc379bc1f1f1f3b000000000000000029be55bcf9e6b53a000000000000000033753cbc5feb163b0000000000000000b4dd29bcf5f9043b000000000000000098fd2dbcea0abc39000000000000000052ce14bc0641dd3a000000000000000068a0edbb225a703a00000000000000006413dfbb97b91b3b00000000000000009c70bc3bff81bebc3b1be43c7b92d7bb7d73cc3b61a9cabcb772ed3c97db11bcaeb0aa3b8b69bebce651e33cd5a6bbbbb66dc23b3f8acabc8ca0ec3c434515bc1110a03bf7b4b7bcb9dbdf3c4217fbbbb95db53b855abdbce030df3cd6f812bc2eed973baa6da2bc8684c53cf20bd5bbbccb9b3b8698a5bce25ebf3cab4a1ebcdb128d3b057892bcd6cdb13c00aebdbbf1acb7bb6446653a3c76c13b3c4b12bd02bf89bb8f526f3ac907fc3b150322bdc20ec7bbe290273abd1ace3b557c10bded5f80bbed87073a0511f53bfad614bd520cabbb0c844c3a8b36bd3b057301bdab6671bbe361e0b8f258f13b060a04bd4f0792bb208aa239d32bd43b145fdcbc558597bae82fc2b90b8e023ca4ffdabc6b6d6bbb3df09338d4fecd3b011bb6bc95b6983c32bf4dbc2b3c77bc6c3a153b9993dc3bb81eb8bc0ce269bc72751b3b91fe8e3b1c9da2bc01746dbcd3132c3b2caab13b1ddcc1bc75063ebc1c321b3b107f433cc22695bcc8ee2cbc51e80c3bfbed7c3c8db399bc55dd0ebc975c263b918fa33c55dc26bc980b04bc0792f73a816fdd3c66d925bc6a839abb7aa8c33a6ab6ec3c6bd6a1bb362ca8bb6958fc3a8358c93bca0265bd8c645f3f62c6833edb7f273c991082bd68e4503fde086f3ed4d5e93b320448bd492a303fb04f523eabe7013c4ed947bd634f173fe4292e3e8f0fd23bf37b25bd7c57ec3e5437083e55c0f83b4ffa2dbd6b23b53ebee9c43d1abdc83b83011abd6aa2703e8dd6713d804f013c105f26bdc675023e68c0a83c0b15c73bf44709bde424cc3cd9c902bcb639dfbc19d3873b0000000000000000d614f7bc16b6933b0000000000000000d22ddcbceef5993b00000000000000008570cbbc06ba863b00000000000000005dadaebcc012683b00000000000000009904adbc6012843b00000000000000004dba9ebc59d95f3b0000000000000000a1d393bc7964783b0000000000000000e19b81bca0a0343b000000000000000037f4b03be157cabc8ab7db3c03969f3ad158d43b50d1dabc3467e63c3477dbbab8c7cb3b5d63d6bc3910e73cdef9d9bac154bb3b9a82cabce31ee03c748cdfbaca70b43b2305cdbc82a4e23cef6ec9ba1031b83b83cababc0da3d13c3c1431bb8bb0aa3ba3f2bdbc4301c53c93383ebb60d3c13b4d36afbc553cbf3c691d9cbb90c2983b69c5a3bcd6afbe3c5654a0ba0aef4cbc1e7ce33a1d7dc93b5e1b11bd648f26bc00e2b63ae8dd023c1f5f24bdc29e19bc09ae053b5deef33b25951abda07038bc0580c43ac7efe53be4c70ebde0a936bc7523e73a70dee13bab2709bdf6b6f3bb7af8833af95fe73b8deff8bc20d506bc33a0113a9cb3ef3bc158e2bce038d6bb88fe053a732cec3be9cddbbc39d2e7bb7681ae3ab8b1b13b17fcc0bcecb4b33c7d5abcbafd43c4bcd2bf843bd3094e3c879348bc2cc2c8bc6de7953b554efd3b1a4c87bc23edb4bc17cb693b776d083c714081bcb819a3bcb5b8683be3e65f3cea9b44bc78329cbc53f7793b1350823c4a102cbc636485bcd701653b18eaa63c8195d0bb34b467bc1aa9803bd9b9d13ca2f625bbf7835fbc68f45d3b5a5feb3cd77f003bfa7d51bc1e2a7c3b8b8de63bb2455dbd16b6373fa9fcd03e578e223c096b7fbd10932b3f6514c03efd34183c329961bde492153f8b58a73eafe9083c907d49bd5886fa3e2aed8b3e9668f93b07ec3cbdc263c83e15815e3e70a2ee3bd64b2fbd3ac0973e4bc5243e4ae7f93b16c12ebd15ac4e3e6dfad73d12ea003cc7ec25bd9722e53dbe34513d09eace3b76a40cbda363e23c5d1d303b877d1dbd8288b63b0000000000000000e66134bd3cc3d83b00000000000000004fee21bdbe5ebf3b0000000000000000126812bd2e28d53b0000000000000000c4f10abdd6e5b73b00000000000000004e6a01bd1d9a993b0000000000000000d28ef6bccf5eb53b0000000000000000d861e8bc36c9b53b0000000000000000a705c7bc74488b3b0000000000000000b1ad573bf4e3b6bcd532b03ccbf50e3c6b96b83be77bbbbcd080b23cc443d73baad7a03ba4d7b1bce9ccab3c46d4e03b4f2cac3bc5b6bdbc4242b23c23d0c73b76ff5e3b46719fbcd0cca43cb09ae13bbd3da33b6cefbabc92b5b13c5546a43b6076933bf59da3bcd7a39e3ca22b753ba47b623b5f0c9ebc8f7dab3c5a12333b02c1b43b73cb93bce829a13cc02d9d3bfe8b92bc13592b3b99a4be3b89c601bdc7f489bcbd15293ba590d13b0ebc0abda85683bc89ac1d3bf0f8b73b2cb8fcbc05f481bc9d421a3b0f0fd03b901cfebc277d81bcfb681b3b60f9913b39b3ccbcab297cbc7966093b3df9db3bb829dfbc7a165abc461ec43a042fb63bb349bcbcf3e448bccf96813aac61013c26e6c0bc401458bc914f023b0954903b10c4a9bc41d0923c3ff1ff3b52cdf8bc2fca9e3b3e17333ca59bfaba411703bdf098b13b6575e13b803eb7bb471aeebc552e9c3be9d0e63b15e0d7bb7178dfbc7d97ab3b9d92363cd4479437b3bfbfbc88c0833b2c73553cb6c689ba129cc2bc37a0a73b0c62853cbf963f3bccffa2bcdd5d8b3bf403b13c67a4c23b814896bc55d19e3bad1cba3c61e92b3c30388fbc3e0d8a3b9924e83bf2eb41bd0cb50f3f40880f3fdc98053c899754bd2c5d043fd1b9033fa749e83b9efb37bd1d29e63e0442e43e0cba013c0acc35bd914dc43e415cc13e609ca63b68190dbd98ae983e4bd8953e69c4e13b5f7c23bdd36b703e3d8d673e4b03cc3b24000cbdba80223eb40a193e59b4e23b3a8012bd6ef2b53d273ba03dd2238d3b14cafabc303bb53c720a543c131f40bd9420ca3b0000000000000000051656bd2b3ffe3b0000000000000000a65f3cbd3b3fcd3b0000000000000000cfe739bd05a5f23b0000000000000000518210bdc1a3a53b0000000000000000d35c24bd7cf4e93b0000000000000000c20010bd9e00c93b000000000000000008f30fbd6e7ae13b0000000000000000c3a7f6bc4ab2bc3b00000000000000006e9b673b442991bc8257603c8cee693c43608f3b30b489bc190c5a3c522c483ce28d823b664d8bbc381f4c3cd0b8483ce24aa63b9e268cbc28136f3ce77d3c3c8529493b39028ebc9921683c5024413cd7ce803bed1980bcbaf25d3c7ca31e3c26bd6c3b48a078bc5e93543ca4fb0c3c891d7a3b5c7f76bce068563c45d2e63b92e1553ba9ca68bc450b563c2518123cbc2da5bcae84273b7c8a9a3bafb2d4bc6c0196bc74d7133b89b3b73bdf77d9bce41999bc54062a3bc970953b3e7ad2bc84e991bc9e84063bfea09f3bc799c5bc185595bcf5e7d33ac435d23b58e2bcbc930684bc1fa8dc3ac41ca13b4249a5bc5cf569bc2cd5533afd13ad3bebca9cbc934653bc4d60043afbb4ae3b1a5b91bc08c56cbcebdcae3addf7903bf04c83bc3622163c206d513cda1e0dbde6cbb93bedfb013b1b2267b9b0b818bd0279d93b790739bb497781bbc03412bd58f8c93b27a909bb090e95bbe9e303bd0d7eac3b0208a13a0904ec395cc2f8bce392e13bde0a613b1f9a3f3b0682dabc741aaf3b8961ce3b21aff73bd105bdbcd98bb23b6d4b2a3c0e91453cad47aebc2988b23b2980643c03778a3cf158a3bc104ca33b43a3a33b469821bdff99d13e13b4373fdee2f63b2fe036bd9cbac13e2fb12a3fb9e4f33b295c23bddc17aa3e7ed5143f066dbe3b72e513bd26028f3e3fc3f73e59f6c83b64cf09bd36af663ef546c53e00afa23b524001bd5c5a2e3e3dc7933e23fbb93b3f4bfabcd5f1eb3dca32463ebf03c33be662efbc798a7f3d9e3cd13d1d5c673bf356cbbcf422553c2afc9c3c81275ebdbd4adf3b00000000000000000a6a7dbded95113c0000000000000000a5035ebdd72f073c0000000000000000c2fa4cbd50e4063c0000000000000000f08d40bd5f0d0a3c00000000000000008f0b35bd6e8eee3b000000000000000077e232bd86e5f83b00000000000000008b742abd119c093c0000000000000000eb2f0ebda8c4d23b000000000000000048da4b3b503126bc3570893bcd4a843c669f3e3b90321cbcaed8263b1dca823ca78b403ba30122bcebe23e3b121d893c86a92c3ba1f726bc81e4693b36d5823c50ea1e3b753722bc95a48c3bd54a7a3c3583543b61102ebc8b52923b93db5d3ccd96233b0b7b21bc49b9b33b1ba03f3cf2bc033b83f8fdbb36258b3b2177163c6ad5203bed4810bc781ad63b02a1273c4def95bc1ae50c3b14ac4c3be5ae91bc45c88abc87a0273b8970823bc25f93bc332c8ebc08561a3b5c85513b60eb84bcbcaa91bcb1aa0c3be22e6a3bfe3c7dbcd5ba8bbc7603003be23d423bc45161bcd0b87bbc8194933af14c1e3be1f648bc07d46cbc5b70ca3afd2f6f3bf6e045bc8dd545bc25403a3aed8f673b15bc18bc4af151bc229a0b3b0c484d3ba4091fbce30fcabac3ea2b3cc87d0cbd3b14b53bae9524bc3af73bbb91f21fbdfbddcb3ba00031bcf7a679bb678e0dbd44ebaa3b8cee37bc92daa8bbec7e0dbddc41c63b9f7aeabb6eea193b7574f0bc69599e3bc5e5eabb3d6c8e3bedb4e9bc4e319f3b3b6edfba7747213c5646c1bca248a83be81922baef56803cc2a3adbc148c863bcb09a53b0d37a53cf11595bc1108ab3bc3fd903be53be7bcfea2843eaaf65e3f47a2b13bfb35fcbc104e713e8c82503f0b229f3b6ba9d6bcd76d563ecebd2f3fe86d9a3b9e45cfbc2db5343ebe55163fe6c57d3bb10ab0bc73240f3e1a11ea3e8f4f963b8b7dafbcd196d73dbbddb13e0c47843bf5faa7bcd06e903d54ce6a3ea2ae863b8e829cbcc341053de296f43d8b92463bb5a38bbca9aaf939fccd983c6e0461bd32e8c43b00000000000000002ad580bdf855fe3b000000000000000046124dbd70f4dc3b0000000000000000dbe24ebd8019f03b000000000000000058152ebd7381cd3b00000000000000004ee136bdd104033c000000000000000067d121bd07dec83b0000000000000000b19a2ebd3ef9013c0000000000000000450611bdf1b2ad3b00000000000000003129c13a37d845bba0d7a5bbf6159a3ccdb19d3a982d19ba3236a3bb032f583c8a429c3a5df107bbf8dc82bba8a97c3c70b85b3a5c0e0bbb2d7fa0bb03f47d3cb424893acf233ebb7d668dbb9aca7e3cd6d5bb3af61ef7ba9a5382bb8bce453cc4a1853a2b6b42bb0ec81abb28b42b3c3bf9263a7113a7b9960e21bbefb1923b8073203a8a080fbbae8ef3bad78b383cb31485bc91a91a3bfbfdc43a5f680dbcea4729bcf4f4ab3a9f7f9e3a632ddbbb23d644bcf4991e3b049b953a8f0ce4bb4d6157bc2a31fd3a246ac53a64cdb5bb255d62bc3aa7003bec1a933a64fca4bbe41e45bc0e3ace3a86cd8d390b876fbbc66f13bc9284ea3940f0513a59bf19bb112bb4bbbdcb3ebaf02c7b3af88c8fbaa1d637bc367ac239da859b3a2b2b3cbb85d97ebce347963b79860ebd71348d3bfe77a2bcd93fa0bc7ffa0dbd6419a53b4a91a5bcd60fa4bc4d210abd96797f3bf727a2bc446a6fbc940401bd8562983b3f1b88bc4694a8bb5df7e5bc94c78f3b93cf81bcded245bafae3d1bc48ea8a3b194643bcc871983b11e8aabc0b4b8a3b33a51dbc4fcf213c2a6280bcb9ba8e3b23b7b8bbacfeb23c5f9984bc148a8b3bee40083bb6a97ebca257e33d830d843f1aa12c3b089579bc6423d33dea27733f50d32f3bbf0561bc6af3bf3d81bf503f389e2f3b089337bc1c2aa13d0ec42c3fbfe4113b04dd2cbc446f7c3d375d073f996ef83a7e6821bc0665323def03ca3e9882223b24cf19bc94b4c13c626f833e757ab43aac8b04bc8e60a33b883cff3dd3451e3b55a917bce0ce37bc2a4a643cdc2157bd40dcaf3b0000000000000000f6c053bd1ef3d63b0000000000000000741830bd7108b83b0000000000000000fcf71cbd4a31a93b0000000000000000c69310bd3cc69a3b0000000000000000056c13bda847a23b000000000000000072e711bd6fb8ab3b0000000000000000018013bd6183c13b0000000000000000131e0cbd3104b13b000000000000000000000000000000000000000000000000bfc955b9b490853bc50f35bcf4363e3c7303a939551d893b941b15bcaf9cf63bde54b2b8be660b3b72c50abc1ee3103cdc3119ba116e363b723e12bc49fb283c187da3b93faa2f3ba1f007bc85db053c0a71ccb9c5af8e3b9afa0fbce68dbc3b78e423baf029563b9679f7bb67ffc93b00000000000000000000000000000000000000000000000000000000000000002d3ac1bbafb9963a87ba22baad137d3ad75c8bbbd870993ae2dfb6b9ffb7153b7615c7bb6668163a182118babc74793a38facebbd5615a3a554f91b9a07e1c3b016a83bbdd52b439faeda7b98faa2a3bca4e43bbe409ccb96e9c1cbac7857b3b8bd21bbb0f1223b9dcc63a396c4b6b3b00000000000000000000000000000000000000000000000000000000000000006041bfbc7f6bb1bc78e5cdbc04dceb3a522bacbcc0b3d8bc364cadbcc5a2063b4c589fbc532c9cbc180ba4bc13e00e3b4ca293bc4f631cbc5a428abc7766cb3a7a1d85bc6f67c2bb35407dbcac30ff3a105783bcfe93afba03a73bbcc195033bb93045bc65bef73be35636bcf4fce93a000000000000000000000000000000000000000000000000000000000000803f617a1d3a1683a5ba4eae8dbc279b833fbe7bffb8e60b333a1c9225bc791f5f3f886e7c37cc8f5cba433908bc5967383f8030093afd1799398b5310bc3cf3103fa537e138c7164939a6eb15bc9575d63ef76067ba54e94f3a430160bcbbfb8a3e38ec1dbae584d239ea8888bc9efe063e0000000000000000000000000000000000000000000000000000000000000000198cd7bc8be30c3b0000000000000000a5a999bc6fa56939000000000000000036d984bcfa5bdf3a0000000000000000249773bc7d99ae3a0000000000000000fed488bcdf4bbe3a00000000000000007edf8cbccda1893a00000000000000008a47b0bc67fdff3a0000000000000000000000000000000000000000000000000000000000000000000000000000000091a0d3bb4ff2183c6007183d05ada33b58bb87bbfd291e3c8b95113de0eef13bf85514bbab17263c2435ee3c25b71e3c554314ba3e9a243c813cba3c7bb5003c1b019f373143f83b198b7e3c39e9a33b207915ba0989b43ba91f1b3ccce9933b80cee7383c68333b2a116d3a8717d63a0000000000000000000000000000000000000000000000000000000000000000d2c955bbdf18e5b92a05533b442265b9eeef69bbe42f89babeb4283be839d0bb585d23ba1fd3c6ba3ba0b83a516b65bca9d8fcb642a3e4bab75e5eba6ab36bbc7741cb3a0239a4babfee38bbac1536bc7e119335b8e992ba91d57dbbdac5c2bb8fae7c396fa44ebae42e9cbbff2e0839000000000000000000000000000000000000000000000000000000000000000079ec58be7e8a7eb941f1d33bb194bcbad39754be93dfb7bbbb29f23b92c48139e61441be66c76cbca7d5863b1820dd39c98b1abef3697fbc51c9673bec91143a1ac7dbbd780d49bc159a9c3a4560d33a894281bd5596fbbbdd70ce396711b83adb8d6cbc8e7d25bbfb68f6b9fbf0d03a0000000000000000000000000000000000000000000000000000803f000000003cec9d3c89d0e3bd5391ac3fff89e0bde06e473ce9d38abd87578f3f7d518cbd7660173ca9e939bdb5436d3f65f64abd50d9013ceb6501bd5ac9313fb8d60cbd2562e43bb95390bced7bec3ec4bec1bcde2ab93b39634cbb46ee6d3e6250ffbb474f983b1a16343b1a327b3ca751d5ba000000000000000000000000000000000000000000000000000000000000000092da6d3c187861bb00000000000000009dca0a3cbb683cbb00000000000000004eabb53bfd8169bb0000000000000000de5d953bea3415bb00000000000000006a4a513b3cc69fba00000000000000005bc0083baa0244bb0000000000000000ce825d3b194642bb000000000000000000000000000000000000000000000000fbdae5bbaf4db03baad8a13ceda6a43ad8bb1dbc9c54073cd01c1a3d2f53b13b728dd4bb691b2a3c9da8273daa86203c88b280bbd30c363c08bb123d1600433c5def4ebbc1ed0e3c6c35d53cf7542d3c1c1217bbea68053c79a9a13cb648093cd547acba0953a13b2997393c138aa63b3f5ec1badedd283b5b1d613bb8e4193b5c164fbb4df2053b64386cbba4f2773a36614cbb08ddd5b8d436263cff0f04bcb476a3bb08d00cba0d16a03bce6f1f3c595f51bb196fa8ba8343a43be811a9bb22b45dbb760dcebaf343703b88cb3abcf323d1b9299320bbf2480c3b1caa59bcec90a5ba6a859dba12cbe9ba931308bcd3cc0b3a3fe7faba96e96ebbe49c56bbfc54143ba80f00bb552ecabbbf9d653a24a643ba85825c3892d874bbbc69a33b4d76ebbd1d500b3aa14d953a1c15a6b8d0914cbeaf98003cb7e3d6bac53dc33a990d5dbe1a297ebceb60e83a32657a3a362d4abe67fabbbc7488353b0a2ec93ab84e1ebee0babfbcbb93063b0d4bb93adb1fecbd97f39bbc849c6bbaa2241d3b165b83bde42745bc3f6d25bb655f063be5eba0bc7cf3adbb7b9e84bb20c8143b54b57c3c8878833b9002e0ba121a2c39f3b8163d01d94cbee98aac3f5a97913c24f1253d7f7241be7351a03fa4f48c3ce88bf83cb80d18be93a78f3f0683ed3c5781cb3c37a4ebbd8a476b3f85c3113dfa84b23cc5dbaabd8692303feba10d3d4e29933ce47769bd0ed7e63e392b053dcf85613c998ff9bc26a7643ebe41e43cdac3083c4e486139f40fd13c7dbbf63c1c852a3cda5f16bc8efedabdb969bcba80d57dbcb7d3823b00000000000000008aaa45bca10f273b0000000000000000fa897abc1239033b0000000000000000c31e75bc3a38b03a0000000000000000960863bc3725f13a0000000000000000e2fd27bc26abd1b90000000000000000c6391cbcdc0a953a00000000000000007d5627bc6f8ba03a00000000000000005e4733b98cda1cb80000000000000000a0a1ddbb737b4b3b46d44a3c44299c3b2b62f0bb79a7e63b5da6df3c1c2a1e3cb0de96bba710133cbd30f23ce9a86f3cee504abb2bfe193c317be03cef3f7f3c2f49b1ba7d43ff3be571a73cb0014a3cd90ed0ba2dfdc23bf53a743ce458243cb5a41bbb1087d33b088fda3bea04eb3be8a99cba919f223bd4f9ea3a10e1583b327911bbb5b7273aba8f4ebb5018aeb9c06a6fbb765d36b9a548463ce9117dbc02d26abb814e0ebb88d0253c46ec28bc10cbe0ba9bc92ebbe843073c321790bc0f08b4ba942c3bbbe46cbb3bc5b286bcdb14e23954e822bbec9c4c3b6cab90bcb0d02a3991882ebb4f7a0f3a12e523bc0a99933aaba014bbce5df5baf568debb4a8c483a33cd13bbcf0095bbb383f4b91251173b3e1b03bb07cde2ba48155e3bf70789bd14a8febb4a4ea2bb98e00d3bc93a17beada3ddbc5a35eab9674ce03a5a9f28be5e4941bd8a5704b99d44333bbb0224beaa553ebd8de941baef644c3bc41bfbbdbb4728bdec2f55bb66588b3b89a2bdbdf43f0dbdb7ab0cbba0f10a3bf7d352bde397a4bc10654fbbe7723a3b16ef87bc1b6300bc647d64bb638cdc3a1ea11b3cbfaf893ba8e94fbb6d28df3a1dcb1c3d5cac49beddde8e3f0fb16a3e25a8393d1bb154bea9208f3f635e543e89b80a3dcf7127be14077c3faf354d3e191df83cf4e80cbe377b523f8a162c3e3da9bd3cbb7fcebd37101d3fb366093e3f93c33cbc279ebdaca3d33e201fcc3d41ffa93cd42a5ebda425623ead856a3d2f5c853cd04be4bc53e1393d5437db3c7bba583cfc0ba1bc127c6dbd962508bc063972bd7a97413c0000000000000000267f70bd09625d3c00000000000000007f535cbdaf102b3c0000000000000000f4683bbdcc890e3c0000000000000000e34113bdaa0dc93b000000000000000025d2ebbcb47bb13b000000000000000020aeaabc2d5c733b0000000000000000123758bc6070653b0000000000000000b73ee2bbd60d313b0000000000000000035dfcba431426ba74d01a3c03cc013c0cf1b4bb80a9d43b6361a73cd7cb7f3cfc6889bbb8cfdb3ba882d73c43969d3cac4e06bb7770ce3bf0fdbd3cb6b38e3c797597baf51e023c2dce883c71c0803c934415bb12f2c73b58865a3c53a9473cd9c2bdbacbfe863b4a6bf83b7286cf3be98364bb8d90693b4fa4053bc3755d3b1666b8bad9751e3a04e40c3abb66e1baf00c19bbca69e4badde7493c3997e6bcf3a212bb855c43bb8ab82d3c6d869abcdee878ba863278bb56aa043c853a93bce0a78fb8f3c857bbd0f59e3bc61fa1bc572d023aa1615bbb81728c3b4449a1bc4cd6ee3a480a2abbc82b043b569f52bc24cfd73abbd236bbdf14fdb96e1915bc1ee95b3adf521cbbf52006bbbd9609bb16ad31bac3ce8fba506204bbd3f949b680861bbd8440cabc9c2f35bcf4638e3b687ae0bd61c578bdabc643bbcef0983bdfec06be85799cbd3a13d3baa908943b1bebf9bd1a3198bd454999bbd953a13b2b7ed4bddf4586bdf4cb98bb3f75a63b847d99bd64b343bd49909dbba7905a3bf11c38bdce14f5bc77776abb05301e3b39747cbc1754c5bbd14948bbf2ac7d3a9ceee53b5ff9c23b8a0aafbaef211b3a5ca3053d69cf34be954b6b3fc687e83ee53d1e3d4d8940bef9746a3fa2dde03e0ffe0e3dd5be25bee444513f684fca3e7792f83cd54404bee58b2d3fa8eda73e510ad83c04a5d8bd8db4053f44b1833e4777b83c491ea4bd1cc7b33e307c353e51e5ad3c52b767bd24d8473eaadecc3d97d68e3cd5a60cbd673b5d3d99f3ee3cef3e7e3cbe06f2bc1b3e0dbd5ef1babc2562d4bd1329aa3c000000000000000095ece0bd1144bb3c00000000000000003fc7c1bd63b6963c00000000000000008a609fbdbe7a6d3c00000000000000000cc582bd41212e3c0000000000000000374946bdbd4b1b3c0000000000000000c0a10abd449df83b000000000000000049fba9bcb3afcb3b0000000000000000787a45bc4dcea53b0000000000000000ccdebcbaf2e4daba311ffa3bca80213cd6751abbcd44fe3af2dd8c3cef8c923c5f07f3ba8785573bd5bea63c2e0ba33cd8c3d5bab7fffd3b2670893cfb03bd3cd656003abcbb453bcf964d3c17cb423c95204a39e0e04e3b37974d3cf40e403c761a15bacefc253bbe9a993bfa25133cffcf5bba4a47553a6ab40d3b2e0cee3ae38600bb0a54ae3a6dca29bae62f00bbe441febac15329bb26722d3ce51bcfbcadb0d63978a77bbb1184003c9b8e94bc2f46223aa36183bb90afea3b5528b2bc44a1253b18442fbbed06b03ba1cd8fbc17bcb23acde608bb0872193b76699abc2a642a3aa97ffbba7290183bdd4d4ebc5c7fab3a88f519bbae1bc13a79b521bc6dd92f3a14841fbbb74548b902c0a8bb44421b3ade5d27bb8a33013bed6e40bb896bafbcab5b23bd31e182bc03f90c3c9dd792bd2e83b7bd6f2cd5bb9f04ca3bd9b8b4bd5c79ccbdc1fb12bcba1ff23b4092c1bddebddbbda5ba03bc2485a63bd18d84bdad588dbd1bce4fbc1caccb3b76c973bd55b582bd934cc9bb3957843bc584f3bcef8006bd4758d8bb5e02ce3a354a23bc57a330bc9cf1dbba89424f3a9fd6eb3bc7fe1d3cc2e201bbb291cc39c129cf3cd62213be2dda303f8414303f2121083d97221cbef2592e3f70e42b3f7b9ad43c9f94ffbd0c0a1c3fd483173f9a3fcd3c1a52e7bde162053f1402003f5083893c4b5ea0bd9caac53e40bbba3ee988a43caf9a92bda354903e725a833e17738b3c73e052bd9cab233effab083e6f146f3c79d710bd64386a3d8e0a003d617f5c3cd5d5e9bc244e8fbc4b7214bd692b13be04aacf3c0000000000000000827319be6b9bf63c0000000000000000085ffdbd06aab23c00000000000000007f72ddbd6447a13c00000000000000000f4797bde6026b3c000000000000000004e585bd73c46b3c0000000000000000d68130bd3e60373c00000000000000006cd8c3bc3be80c3c000000000000000062c58cbc2018113c0000000000000000bc8bdcba4c0188baa58ae63b1b94383c8ee005bb55411c395329543c805cb13c6519a2ba67b9583b5291923c5499e03c7b2a74b8eaa80e3bca1b863cb678cd3c0b2a453a2fec233bf701583c401cab3caff563b9bab53d3b77bc2e3cc64a663cd76a80b987602f3b9d0bb63bed610d3c586ceabaa21a373b81cce63a9cfd013bad6793ba01babcbaad8301b9fdf6f1babdc6ccba71a482bb7892063cd87da9bcc508573b61dfe4bbe49db13bfe7d71bc8313873b9520b2bb4eed673b27945cbc6595a33bd108b5bb16a6c53ae24170bc472aa93ba286a2bb44ae543b909941bc1d43803bfbac80bb0b0f383a647629bc2757473b38fc76bbc175d1398cbe18bc4ac8573bda8e6bbbba11ab3a48f1cbbbba3c953a977c20bbee0b083b735cbfba45c708bc1b1670bda25852bca1111a3c536833bdd1a2fdbdc0661abb9521023c4dbc86bd463116bec2f3adbbe74cdc3beb8384bd408c08bed5a101bc97c1bb3be63f78bdeb6de2bd318008bc2f16c63b0fe735bd4283a4bd732185bbae6d2a3bae43dabcfb3d39bda3324bbb76c9273af0e121bca76b33bcb37bfcba385cd4ba92cbc03b9d8a263cf2ae76b99bca98ba3028ad3caae1dbbd7fc9ea3ee8a36a3fa215d63cd51be3bd6e36e53e909b673f5fbdb83cd3e6c5bdb91ed23e668d4d3f1febaf3c027ea6bdc20ab33e7c36283fb4c08e3c47468ebda603903e1ce0fe3ef852883ca6855bbd25624e3ecfcca73e44f4653c9f2c2cbd9f93fd3dc78d2b3e0ddd3c3ce454f2bc73c85a3d1204e73c4b8df13beaebabbc8803dcbba3015bbdcc3133be1245fd3c00000000000000008c2543be313f193d0000000000000000fbcc20be886af33c0000000000000000d71602be5c3bcf3c0000000000000000b32bcebdea1f9f3c0000000000000000252697bd0f72823c0000000000000000e92644bdb90b6d3c00000000000000004f92bebcfaca363c0000000000000000c0059cbcab12413c00000000000000004bd61cba82af36bba331813b9413783c9ded863966d1a7ba31c7273ca5e0ee3c398887ba13f79b3aafdb573c3b41043da291603a2a2ae83a337e483cf8f1f73cb3204dba77b65f3b3f422b3c9aa8b63cce065dbae30f633bee710b3cf7e3823c19af61ba215a323bdb0da83bd95c0d3cc2ff76ba7fd0143ad46d5a3b7a619f3ab7062fbab6bdb1b988661bba1fc501bb38039a39f091a7bb1b84913b557755bc6711653b3ec7f1bba1d3bd3a01701cbc30edaf3ba244f5bbd26bf839e36df0bb96ffd53b7187c7bb55524339b1daffbbdc0ca13ba0099abb90c2d1b990dc09bc66bab93bfd5780bbb0662a3adcc914bcb6fc6f3ba8507abb00742a3a4f80e3bb67ea363b9a0546bb089ce23a1f00bdbb42fe803a335918bb6176b33a194f47bbaabc903b821aa8bdc8d85bbbb691e43bb64d99bc9e6029be80cec43b2c4aa33bdac924bd608e33be688a8cbb9c35073c3d2328bd8ece2dbed757bcbbe72eb53bf22424bdccdd01be4e2017bc0e18dc3bdba301bdbf6cc6bde568bbbb2c56a13aa000a4bcad1d58bdb7633abbdbfbbe39afa405bcf6d081bc9743e139b89bfcba0071bd3bf161233cb685f53a88b80abb3e4b4f3c036b74bd5ff26c3eef798e3f8233753c043a73bdd2dc603ebc568e3fe471763c2b0860bde78b5c3e1347783fd20e593ced9049bdb8d6403e160f4e3f8572313cb8fb1cbd34a5203ecfd0173f87d82e3c502c05bd92bcf63dc56ac93e9b340c3c21b7c8bc006ca33dbbac4a3e89a6df3bcbd1a2bcb4fa3f3d56ffcd3c9d23a33b8bd85bbc034f933bb50397bd67a647be07ff183d0000000000000000518953be12312b3d0000000000000000a86f27bec43af03c00000000000000000d9e0bbefecad43c0000000000000000aa41cabd1be29a3c00000000000000008e4094bdae768d3c000000000000000030e73abd93c7513c00000000000000003b0c7dbc7437e13b0000000000000000bb7eddbbc953f53b000000000000000049e3b83adc6b2abba984253be658a13cd0fe523a8baf77bb7bffc93b0e57263d2eb7823995392aba2c432d3c090c2e3d02b433b8c83b34b94b8f5a3c85da153dd6e6a2397919d13abde6233c7e86da3cb005cb395dd5e73a2c72fd3b346fb63cee80b9b9401b143bfabb993b4311413cd95a98ba0134d93a7c15363b1838243b005e19baadf83b3aa4d607ba49558ebb6e87ed3afe9cd2bbf9493eba0f2f22bb001b693be71e29bc04395db85cdcbfbb253bba3bb401dabbb3ace9ba935c44bb93f4fa3b1e8dd2bb1520e3bac80b36bbd701043ce9b2a4bbf22a8cbaf6115fbbf912b63be17e67bbb10e89baaa00b4bb6070983b452041bb35c5d53ac7d0e6bb6b235c3b6de316bb7d72103b625edcbb8b56dc3acac200bbe355dc3a871106bba02ac33b76b6febd00fc323b1f26b83b447a0e3cd34e54be5adcc23c6a610a3b11167ebcc81264be260acc3b5bb57a3b5a99b9bc96a94fbeac4523bbd3dac43b3fb0c2bca34223beeaecadbb6d73553bfb6f97bc58ebf1bdff094bbb27ed793a901f57bc8c1984bdf7a751bb34b128ba8373b6bbaf8389bcda49afb92ee26bbbfc905c3b5e1c873c70dc4d3b4d305fbbaff28b3b77d981bc544a903cc07fac3fbdbba23b9d8f50bcafa1d73c9e7a9f3f5128a93b3c8d7abc5ade2e3dc8788e3f0b23dd3b0d9f75bc2e66463da4e3683fa84c603b85f45abc6c3b4b3d2bf62c3f0123963bec753fbca49e3d3deda8e03ed718703b6e371ebcd8062c3d3b36573e2b781c3b9fbd33bc88e7283d62393e3cd0fe0839c0a555bba51caf3b8672efbdceba4dbe9702173d0000000000000000991543be6ad5183d0000000000000000b8b11bbe87cada3c000000000000000068c0ebbd982f983c0000000000000000b064aebdd36f613c0000000000000000814861bd34b1383c0000000000000000bbfcdabc3c73ce3b0000000000000000183a153c00b485390000000000000000f61c5fbadb6cb83b0000000000000000000000000000000000000000000000000552d53a454a82bb8e75fe3b8f001b3d4da9f33945fb073ae43a0d3c6d42133d5e5584b92c95b03a873a2a3cdfafeb3c016daabafd968f3b7518ff3be710bb3c455006ba9660173bc329f23bd4927b3ca8d735ba423f123bed26963ba18b1c3cf3e224ba0b32023bf49cba3ae3e8b03a0000000000000000000000000000000000000000000000000000000000000000a25aba3be898c8bb670a90bb14a5d03b1bf10f3c57b6bdbb113271bb1ff56c3b847c253c2d1c7dbbf9d18abb84a3743bafff0f3c3d4334bbbe8837bbd9fe9a3ae771d93bd3f916bb912e8fba20bb39bad2939b3b3a9acbba0121c1ba7ad12bbb3be93c3b00b2fdb89b3f663a3e4b4cbb000000000000000000000000000000000000000000000000000000000000000038e794bbaacd5cbeaa4c153cf45e8c3a20982fbc4bbe56be1e7f50b92d8e203b5f99a4bc474740beb09c12bc034cdb3a8374a0bc45361abe1a5532bc4289e03ad43687bc4493ddbdffae07bc93ba85380a2514bcdfd281bd28c07dbbf2f65eba789621bb305281bc955577badc5b3abb000000000000000000000000000000000000000000000000000000000000803f03d5a9ba0d7c873c2713d5bd9c9cac3fcdf3b2381004363c817879bd0e078f3fa2b8abb99095ee3b88bb23bd870c6c3f4748963af3b8c23beaafddbce29d313fa268a43ab615bc3b2adc63bc0787e93e8aa33eba8d07ac3ba577c0bae7a76a3e81586dba98e5a63b948d103bdb7e693c000000000000000000000000000000000000000000000000000000000000000048b1f0bd811b8c3c0000000000000000475c94bdb6bd193c00000000000000003f435abdac19ce3b0000000000000000f90013bd017e823b00000000000000000e32b1bc02d9dc3a0000000000000000faa4cfbb532e613a0000000000000000a71f3c3bc8a78aba0000000000000000000000000000000000000000000000000000000000000000000000000000000078d1d8bbd254803cd0e19d3cbdd1323c595489bb790f6a3c64fc9b3cecfe673c6ec351bbb9856a3c2344803cc587373ca0d014bbcc62383c35e82b3cc0fa2e3c328c01bbde38313ce5f0b53ba6a7eb3bdf8e2bbb13f1ff3b00ec2e3b1380fd3b801ae3ba2898ac3bbc9d1dbb1003573b0000000000000000000000000000000000000000000000000000000000000000ef4792bb7793ea392c6aaf3bbd5945bcc90266bbf8ac74b9e442213beda237bc1ed5cbba310541ba525d163b2ea9a0bcece61dbbe3aca63a62d70b3bc2d088bc73f791ba164af1b73bfa38ba652438bcf000e6ba14e321396737cfb8de1c2fbb7a981cbae5913b3a701302bb73dc2f3b000000000000000000000000000000000000000000000000000000000000000030873bbe8c1a4bbcac9c093cce676fb9b4633abe21b669bcf62ddd3b69716139170b21bea423a1bcbd0fbf3bb58e2c3a87ab02bedc379fbcd5d6c43b700386ba6a75c1bdc9fe20bc62d47e3bd9e704ba926278bd7259b9bbe6a0f0396749eb39c386aabcf9df5d3b3bafcbbae5c9563a0000000000000000000000000000000000000000000000000000803f00000000210e573c101bc0bd407fa83f7fbeb2bdcfe3143cd63669bd235a8c3f1eb364bd2dafef3b895f2ebd779e663ffa682dbd8c4bb93be9c9f7bc726f2e3feeeb00bd7dfbd43b1cb5c7bc4e9feb3e6ad6c6bcd13b6b3b908852bcc78a743ea00b61bc5bf78c3b54c23abce810143deea57cbc0000000000000000000000000000000000000000000000000000000000000000c72b133c5c2138bb00000000000000008f7fa43b183c49bb00000000000000007c4f933bcd7131bb000000000000000066f5723b900813bb000000000000000035a46f3bae36a8ba0000000000000000ea986c3b98f5b2ba000000000000000095d7d43bccf92fbb000000000000000000000000000000000000000000000000da80a9bbeba2e43b164e403c88cc973b0c271cbc12237a3c2dcfc63ce422563c1b2fccbbf148443c9ab6eb3c643a463c484dbabb97bc593cebbdbc3c30a8763c6df957bbdf42213ca5dd863c913f483ce1d992bb0b962a3c1097353c671a253c6f9612bbf8b9ac3b8b7ffd3b1370b43b36f185bb3ea6c53b0272cbb981534a3baed646bb69a5643b731ecabbce6e833a73d2afba0a667dba4181363cd3ddc9bcafc5eebbdfdf79b963d0233c27c405bc636a83bb280a8eba5dcb153c48f599bc665594bb38f3e4b9b3a7033cba7bb5bc251411bb1104b8bad323af3b1cc5abbc553bf3ba56942cbafdfd813bf89378bc01e878ba4aea37bab2911e3ad4bd09bc09e5cfba2830a1b9c8de0fbb64a5133b02dd7ab8cf319ab9e7daea3840d0c83a79e6bcbd30e959bcdbdd853b734a5eb958b33abef06501bcacf7933bb33db63ae8263ebe1a0dd1bc1ee28b3b1a426b3a14992bbe965ffcbced51bd3b485b95395c0a04beecd5dfbc24f9553b563aa73af0dec5bd8138a5bc7745d73aac031b3a3e2560bdc29638bc0866093914a7993a30468fbccef14c3b473c73bb3974aa3ac61f663cfc2de73be56dbbba3a1af639c873c93ce79225be96e6a73f86eb1c3d0946d93c45a823bedcb29f3f29f7013d00b9ac3c10b501be383b8c3f868f2b3d752a8f3cb34fc9bd7981653fa23a2a3da4ea873c62539fbd06962c3fbdc00c3d10307d3c10507abda435e83e3d38b53c49c9623c4ad32dbd3b7e6e3e290c733c02ba433cb6369ebcb041ea3c2cbd5b3cd7874d3c71fbf0bc165fa8bd16c792bcfa068ebcbb7a5b3b0000000000000000266c96bcbdff133b0000000000000000dc4c70bc33900f3b000000000000000032c366bc6c90c03a0000000000000000742438bcb1307c3a000000000000000008b803bcc266623a00000000000000001c0dbebb1dfc17b80000000000000000a9395abbded2243a00000000000000008458343b53fb28ba0000000000000000f6150cbb520333b9f4195a3ce9b6153b556da6bb2824cc3b7d68a43c5f40103c601f34bb6587ae3bfbbdb73c1a75353ca2c2d7ba520db33bf57fad3c5b68443c72a9e6ba7caa4f3bacde873ca5e70d3c503601bb0a286a3bb0e3513cf1c1e73bc35250bb3993a23be5d5a43be48c6a3b08864abb60594a3b06d9a93ae84a9a3ab2bcfdbae3727eb91ecd0dba50f952ba7af39db9ac81eeba6f81523cae140bbdd929d839fb7d1abbb84c593cc05ef4bc0282913ad19928bb54ef283c759809bdcdc18f3a3fe63cbbb70a193c29ddfcbc6a4b9439260ee0ba8f7d053c3567f1bc7761db3ae7f30bbb7327b43b9737abbc5cc1d03a6f1001bbf982aa3b22778fbcc247053b8bc620bb031e063bc7dd05bc08dc07bacc5367ba1c41473ad2ce92bb6e5038bdee19a5bced31a1bbf621f93abbf7e8bd280e17bd43cf0fb7313db23a7ef0f5bdfc9c59bdadbc423a9febbc3a9b0df6bd450e52bda41bf338966c0c3b4e74b4bdd17b36bda23b493a3a3fcf3a4d408bbdafbe11bd888b463a7fc2293a75d0ffbc5c2da9bc0938f3372bf95a3a9c7cc7bb889adabbae45b4ba4f5a873a9f6b853c14ebc33b8611843936d00139db8fcc3cfa4d1dbe6db88a3f63b4703e74d9f13c00c92cbe178e8a3f082f5d3e2de5d23c969e08be6139703f2ae44d3eb385b73c0f81f1bdba9b4a3f1c742b3e9d07a63cacdfc0bd5b4d193fb1bc023e8c2ea33ce5e3a6bdfae5d43e8640b73dee73923ce12f82bde9dd713e000d403dd1cb913cfa413fbde0c7853d8e53443cc30a7d3c231e1cbd42d714bdc421a1bc18114fbd7c56133c0000000000000000f52a55bd293b1d3c0000000000000000e45434bdca00e63b00000000000000008db621bddab5dd3b0000000000000000d9a3fabcf283903b00000000000000004277cbbcc2b69f3b0000000000000000b27e9bbce9e76d3b00000000000000006cac2abce17d613b00000000000000007604e6bb9ecf3c3b000000000000000082a9a53ab10610bc54c1913c9fb03f39141a1bbb7026a73aabd4a23c9171b63b2d1150ba993e9cb85a4ec23c6e442d3cc22243bad5a5133ae6cab13ce4710b3cff8b7cba97e339381add963ce8f7b23b1f5ca3b9b061eab99ac84e3c7650df3b27a21bbae2349738f87dea3b247e483b9b8027bb9eb0c13a7eb3323b37df06bbdb8a8bbab3cd1ebb3eb6563b7e2fa0bbdae3da3aeade1cbbc970543cfc742ebd4708783b8b139dbbf841503ce2351abd21487f3b99a47fbb624a373c8d2510bdce40943b1f3fa5bb104e133c1dca0fbd9091583b2a573fbbb506273cf027ffbc9081603bab7784bb8d8eb83b76fabebc67db073b05102cbbfb4da43b095a9dbcd73c643bf6c13cbb5e6b7f3b409763bc4be3293b5d933fbb16adaf3b02106bbcf8ca6dbcd111f1bc77ed55bc7ae29f3b0e6793bd8cff7ebd325fb8bbc919893b8d74bdbd607e9abd5b98a4bb176c7c3bee83abbd9fe191bdaabc8fbb9536973b148c88bd9e9c83bd0a6969bade1f873af40242bd800b41bd09b454bbfa25543b05ddb0bc3eb800bddda006b98e4345b999de973adbf52fbc18cda33ac62c363a18c8bf3c844891b7855c8339f0c2e339239db53c33680dbe7111613f58bde23ee4fde03c6b4919bed80e603f219fda3eb3f2c33cdacd06bea6b4483fc8cac23eaf0dbc3c2508e3bd8e85263f3b2fa03e45229a3ccdf1c3bd836c013f3e97773ec0e5ab3c97d0a8bd59c9b63ebd4c283e00e5973cbad78bbd274d533e42ffb93d27ef8e3c637e55bd54989f3d37beb33c91295c3cbb1032bd6c7715bcdf62d3bc6953a8bd6a9f5f3c0000000000000000022fb6bd4ea6803c0000000000000000002e9bbd2fd6513c0000000000000000f75e84bdc426353c0000000000000000c05b59bd78e6323c0000000000000000065f37bd51c0053c0000000000000000401408bdfc7e183c0000000000000000d427babce43bb13b0000000000000000164d8cbcbb0acb3b0000000000000000c1c4233b69a24abc309d9e3cbb9f21bad1c6be344857c0bb78efaa3cefbfb93bd047d33aa4f2b3bb8c21bd3c97f2fd3b7809303ad8ad9ebb32e9b53c71fde83bc5485a3b5876f2bb23f2853c93c2443bf31c4a3a099f68bb697d803c79e6373a98f2cb394f0977bbce79133c7ed7e6b9724697ba1ce218bb2cf6123cdc6cb5bb2b0a8f3a2db3c0bb71c8913b97e2c7bb7950473be1f981bb3b6f363cc8191ebd5694a13bce8095bba9da333c850b11bd2409cb3b1e9898bbc0b9113ce1c90bbd5033c73b4ef28ebb7a55163cd805f1bc3cee9d3bb75f3bbbe95ca83b6177f0bcb3e9b83b1f336ebb29c3cf3baa7dd1bcbec0973b0e2d5cbb56f4983bcc94a5bc7ad9483bb03461bb85adb03bf9a08bbcf9c7423b55b236bb6e48593bad1c52bc16753cbbec6718bd5717b4bc1321e13b0a082fbde6bca2bd70504fbc022bb63b54cd61bdd3eeb4bde49b82bcd046c53b4b8175bd9e53b9bd370d1fbc8eb89b3bb64e03bd2c5176bd6cb482bc5813a23b95fc05bd544b71bd53fd9bbb888c023bf49209bc03900abd996676bb1362fe3a5def953b08504ebcbfda7e3a967b87baec72c83c7bc9163b2c733fba9b539e3a71f5933cdcfee3bd4ac7293f0d1c283f2d26b23c0f30f0bd71f0263fe680233fb6689e3c3b18cdbdafc9133f19890e3f1d94903c892dc1bd55b6fe3e9793f03e08067f3c4f3290bd7876be3e8709b13ea0298f3cf19c90bd88b1903ee106793ea95a7c3c3a9b65bdc50b2f3eb4cb093e77f1713c087f4bbd17ca933d8b4b133d2d80613cefcf29bd0c71ff3a6017f2bcddd2ddbdb3fb933c0000000000000000b2cee6bd230da23c000000000000000076b4c3bd8fb7853c00000000000000003e90b2bd6f167d3c000000000000000001b680bd9a0b253c0000000000000000c1dd6bbdf90c513c0000000000000000034738bde7fc1b3c00000000000000004d350abdb750353c0000000000000000a464d5bcfee6053c0000000000000000a3b1e53ab22817bcc5f0673c6ab2883a2465863ac918cdbb205da73c1155c83bad32e439637db6bb86c7c23ca9c8173cf3f0cc3a64a791bbbf6bb33cd2b30c3c6544d23afc6e87bb02059c3c92d09c3b7692e3394a629cbbac868c3cda002d3b952bd63acc7193bbcddc4d3c67c594ba98641536c3e85abbca501c3c1c59ecbb9e4e953900b6a3bb05f8c33be589ffbbca9e9a3bb58182bb709b013c74dfe2bc3af64b3cb1f90dbc9ca6023cc5f7cfbc2014593cf601f2bbbdb5fe3b5fe2cabc678d3b3cc633cfbbd75bb03b8a66d1bc4f902f3c313ce4bbc5b0a13bb9ffa7bcd852193c2b2bacbbded0ae3ba8179abcf622fc3bc4afb7bb55687d3b5bae85bcdf4efd3bbf319fbb0a558a3b7f6072bca9c27c3bc3e474bb271c4e3b35153fbc4247dd3a0e9c4abd64ecb4bc1c30e33b34fad5bc7c39e2bde13468bc8702073ca02b31bd0e1602be1c564cbc08bcaf3bc7e234bded46eabd1a0a65bc9bcec23b99c614bd2057c6bd8fcd31bc184fac3b0655d2bc9a7c92bd37c2c0bb6520de3a84001cbccce63ebdb42c9eb96a03a3396af6e63b032f8fbc61b7853b11a7b9ba3aa99b3c0fd6433b539eff3a7ff485b9e147613c3944aabda852e53e84fb5f3f95d08e3c15debbbd20a3e03e2c835c3f48fc773cc7f7a5bd5dcdcd3edece423f386e843ce1128ebdd4d9af3efaa31e3f080a673c41c385bd3f2b8d3e9263f23e557a503c19e356bd713d4d3e87b8a23ef8a04d3cc3ea3fbd052a023ec5c62c3e367a333cb34f09bdad92693d4138173d0acc1d3c1382fabc1a257b3b327321bdcc5d0abecc88b63c0000000000000000a22b16bebf83cf3c00000000000000001543fcbd4217b23c0000000000000000951ed1bda58e8c3c0000000000000000d37eafbdcb318d3c00000000000000007a3c8cbd7f18743c0000000000000000709853bd9b34653c00000000000000000bfa11bd53c8393c0000000000000000127be2bc5f00263c0000000000000000ee01da3a2a06e8bbe28e783c5a7a0f3b2c9a533a6dc9e2bb90819a3c6b751b3cd2fe0a3a9fa7aabb501ca83c6b14603c4037833a15afb8bbb7ee9b3cf9ef363c23b78c3aa997a2bb95de923cd8f9d83b90d27e3a318720bbcca56d3ca898643b7212f339964f86bb7134483cf1cc53bbe090b1398f2799bbe6041e3c7d8ec7bb1815b6395e708bbbd526043cdcbb31bc6b7f1f3cbfb907bca66a573b962680bc1bca723c0b1a2cbc16739c3b61e060bc6c47563c35a6fcbba61e7b3bda5e5dbcf20e5c3c8eb604bcf68d783b935c28bc5dc53a3cfa27cbbb13ef103b7aca40bce0c52f3c6816cbbb4520ba3a2d4b2abc501c183c10a3bbbbfbb54c3b66af19bc2fa5f53bca7daabbabe41d3b04661abcf45bde3b94678bbb0e29123b171debbbd5a4fc3aaccd99bd279b80bceeb7113c839083bcb11914bed3fadabbd57fea3b85e3f7bc8be717be904559bc15b3d33bc2dc00bd1d4414be5a6c14bc2aefb63bd8aae4bc486ae4bd804a1fbc63fa7e3b0596a5bca8dcb4bdbe272fbb4794e23ad6bd07bca5874abd43494838d26953396c89ba3bf10ec0bc2447ef3b08e92ebbbdcb6e3cfe40503b50bdc53bd59837bbec7b253cf44d60bd2203763efe5f8a3f87332c3c83cb60bd2d71693e253b893fa69d1d3c533c3fbdfab55e3ee6436b3f369c133c96043bbd20f1413e24d2443f34f3133c429914bd38511e3ee1c3123f86ec143c18380cbd69c0f13d705dc53e57b2f73b626ee4bc5fdc9b3d87b9503ecae5ee3b8422b4bc79261a3d44d9123d47b7c03b71df8abcbb105d3b11a479bd16991dbe945dcd3c000000000000000047b028be1b98e13c00000000000000000d5e04be31dfae3c00000000000000004962e8bdec93a43c00000000000000001bfcb2bd5517813c0000000000000000b65e91bddc09753c0000000000000000624354bd3fea443c000000000000000070c9f3bc47832f3c0000000000000000e1a7c0bc186e203c0000000000000000dec0163a76f68fbbaa70123cca0af53b7bcba83a02d51bbc1f57a93ca184a03c6e7d853a6770afbbc392953c45dfc53cc6d3833ae7f0a3bbce6ca43cdcc1963c8c108c3a48918dbb62a18d3cba674c3cb10b0f3a0fe853bb1d84703c7911023c6bbd9b3a1b2a81bbc75e223c5d27943bbb8fa23ab6e884bb3c6bf63bbf016cbbdac0e4383ac2bdbaacb6953beb010dbca392383cdd0bffbb0c25a53a4c4b26bb7d1c843c52343dbcde3bb03a824e37bb713c683c1d960ebc7255ae39eaba07bb3420873c3ca30cbcedd270b90bf30bbb9e804b3c7176b7bbee215e3a7c403ebbf9b6453ce96ed8bb248903b8735752bbe387df3b9e9f65bb95563c3947a795bb966ac53ba4cc81bb0ca0c73abd5eefbb7031b43b134460bb20afb63a1ddc8bbbbe5b24bbd2b1e3bdc8cd24bceb30d83b297647ba1e9e4abe0f35213c903bbb3b85b697bc9e844fbe6e8a0cbb3ef5b73beea4c0bc36e538be8ce7f9bb586ab83bb4a9b5bc951611be7f3fddbb6c8e293bc3f282bc5a37dcbd7c5021bb42ace53a423bc2bb6fad84bda0bb8a3bb62509bb1c72f03b832bcdbcd9082c3ca3b791bbc37f183c29d4ce3b554a283c29ff80bb9ff0643bf84b96bc9fc9233d83f2a73f0ccf883b020997bcde1e263de9a89e3fbb6b9a3bfc0795bc5617613d00218b3fbae3913bffcb87bc75576d3d3bd4613fe0f44b3bb97f64bc9c98513d8474283f4e438d3bfdf454bc8df32e3ddcb2de3e5b2f5c3b9cab27bc4e4e013dfdc15c3e84732b3bc888e0bbfd60e13c581a343c4a51aa3a742398bbcd689bbbf490c7bd292c25be9a9cc93c0000000000000000fc3a24bed075c83c000000000000000082ff01bee1d69b3c0000000000000000450fc9bd29db6e3c000000000000000029759abde32f4d3c000000000000000076336bbd99c03e3c0000000000000000945b17bdcd771a3c00000000000000005b6a0ebcdb03bb3b00000000000000008f8699bc520a113c000000000000000000000000000000000000000000000000936990b698148abafb3f1e3c1610b13c13120dba91bd52ba02cd4b3c0000a93c9356ebb7980b2b39851a1f3cddfc853c8a0028bada38a83af428203c8093333cba260139c620a43a227d003cbaf6e43bf4aa1438f0c68fb98336e63b88498e3b8eaf2e39ffca6a39a4692c3ba1d997ba00000000000000000000000000000000000000000000000000000000000000003f334a3c3043d0bba0ec06bb4140fe3bb2e3673cc2c5b1bb9a488dba1224903bb2334c3c23518cbb9cd7c5baae29b23bcfe7453c0da15fbb27c8f5ba84868f3b82671f3c438e21bbbf95e0ba9c84153bc422c23b3617d7ba610deab7f7039ab9372f793b24c296ba300e03ba2655693a0000000000000000000000000000000000000000000000000000000000000000f8ff7cbc5b223cbe71fdadbb8a346a3b5ab895bc69c63bbe9e42f0bb8b6c453ba8c0babc249920be184c52bc9d8f423b6f46b5bca8d901be3b8d4fbcf47cf73a4ef18cbce566c0bd9de0d2bbbfef65b92af605bc327278bdb9c000ba820d8aba1f6faaba29249ebc08d3c33b54954cbb000000000000000000000000000000000000000000000000000000000000803fa2b7a0ba4305113cf669acbd182ca83fed7558ba912cd83bf5454abdac3a8c3f13a825baef63693b4a2614bd34a3653f826d0d3a5ef17d3b3da6ccbc99cb2d3f0c1ec439feef7d3bd97793bcac61ea3ee70a09ba5479af3b97451bbcd0e5713e263faeba3ac7b83b41893abcbc18023d00000000000000000000000000000000000000000000000000000000000000002a9fc3bde579503c000000000000000086627abda248f83b000000000000000054613dbd1866b73b00000000000000005c000ebd32598b3b000000000000000088e2e4bce7179c3b00000000000000008a396bbc6026ee3a00000000000000008ebc23bc75e31a3b00000000000000000000000000000000000000000000000000000000000000000000000000000000955fe63a402cac3b543716bb343f303c7c633a3abfd3043c23a9b3bbb2993e3c3022223bc1f3243b43bea4bbcd46013cb790c93ad78bfe3a8dbcfebb0c07d93ba4d3d03a83e8843bff0a1cbce393053c19e8ecb9395edf3b69b951bc9278233c971bb9b81753fb3b48ee63bc5f1f223c0000000000000000000000000000000000000000000000000000000000000000e1d9f83adaeeee38d62fa43a7c9fcdbc26bdb93add8eb1b9fcd18f3a0d31a8bc1a8f433badda9ab944e5a13988e3adbcfa28233bbc0383b939bfb83ac17d9abc2b84453a9e408138cf8f1a39c25e86bc547435baf7daa2398a4b953a6fc31abc1237debae5c1c5b8c409d5395febc1bb0000000000000000000000000000000000000000000000000000000000000000590cbfbd8daaedbcc165f8390b84dbb92dfac1bdc24accbca9acdc3a56428aba655196bdd51ed3bcc4a513bb66c7db39575358bd561cc3bc956f8eb865cec0b8053a27bd27f896bc046de638bfda0e39e5caeebc3dc40ebcf36f023a4fabeab9a9c224bcde7b69bb630bad3adb2aac390000000000000000000000000000000000000000000000000000803f0000000049b6b93bd74a56bd482c983f919d41bdfe52903b8b220bbdb501803f6dfceebc286b513b395bd1bcac83503f9fd4b1bc236b073b06aeaebcad0b203f4a0094bc4df6643b82169cbcfadde13e69a095bc51cb1b3be0d78fbc5642823e57c5a8bc8f48463b2a90b8bcffb4b33dd454d6bc0000000000000000000000000000000000000000000000000000000000000000563bcc3b5a0d1eba00000000000000002bc4583b0f18b13a000000000000000057bb193b5bc31bba00000000000000002419023bbfe367b80000000000000000e88acd3af36ce6b900000000000000004a72cf3a7634c2390000000000000000e9c7e93a4a115cba000000000000000000000000000000000000000000000000af37f73b75b590bc9ac4d13cee08e2bb5c53a73b6a868cbbbb0b7e3c77bcb83bd9f1d73be8e92dbc8c53a83c64754d3a4e19d13b899cf9bbe0e2483cf16a4a3b3c0adc3bb8b33fbcda267d3c5c7d68bb1b26a73b7ea30fbcfb63193c254285baf5d0903bf811c2bbded0e03ba5efdfb98da8da3ae14a28bacf81ccba8104773b4b0c843bc6fa05bcc06eb33b045d04bbcc18b33ba1f4d1ba8a67bc3ba1582dbd882e8d3b7f7a11bb6d6ea43b313d0fbdf64db63ba738f6ba5ddbbc3b5b6c21bdd3f7813b792fc6ba618ea03b918b2ebdb4d1b03b5ea2b6baf1438e3bb7031ebdde76a83b9673fdba22b1a03bcc09f8bc262c433b323ac8ba6b33993bda44d3bcb17cde3ae57ed4ba26f98e3b51cf63bccce0c03ac336faba825f913b660888bc2979f4bc32b90bbd267b8b39d9f7edb9397ab1bd416e13bd3f2e573a140d5d395e51acbd4af32ebda089e6b8065d2639ff467ebd07f135bd8abddc3a25304f39441629bd4b6e17bd4c17af3452e559380ff7ddbcf80bf5bc0b69a43a0e432db9b76341bcc297abbc89d2363be6709e387718f5b9e8fe0cbc7234e63a19f5de3936bbbc3c29c2e4bbf516993b28de943ad43c223ce0efbebdfaaa973f962c993d6a9a1a3ccff6bbbd8677903f66688a3d0363f93b029595bd28387a3f4f49843daf90df3b8c2c72bdf8034d3f095f5d3d1ecafa3b7bc74cbdddba1b3f900a2a3d6cedc53b6f003ebd479dda3e0893c53cc283c43bb15a2dbd82247f3ed4f9ad3b7494db3b421b1ebd12f6a33db2611cbcf01ee33bafb921bda161b7bccc56f7bcdaa239bc446ff63a000000000000000030f83bbc879ef73a0000000000000000b2ec0bbc4e077b3a000000000000000073e8bcbb4ada513900000000000000000d25e5bb0e9f0c3a00000000000000007e81eebba994a53a00000000000000001737a2bb57d7ae3800000000000000004dd651bb03980d3a000000000000000066b632bb72e857b90000000000000000a337323c319f05bdd2643e3d9c1994bc9415383cac27f9bc9867333d35179fbc3505303ce09fe7bc4e8c2d3dd537a6bc362d343cefdff8bc6498163d77608abc96aa2c3c090ef7bce193223df6b4b7bcba59133c3c5fcfbc71f4073dcebeaebc8d0d163c43ead0bc542a023d274aaebc646fd23be7a89cbcdfa5c43cf0d992bc971ed63ba269a4bc305ccf3c24e782bc8abdb43bd02706bb8382f23bf97f41bddef4163ca3ce39bb359e003c5eb34dbddf0e1c3c5d9624bb0cb5e73be5ab54bdfde2f23b765f0cbb6721d63baa7932bd63e0203c4ef31fbb469efc3bc26739bd8210153c8d5320bb5e46e83b7fd824bdad23113cca0a23bb3721eb3bdd7a15bd70110a3c93774cbbf18afc3bd731f8bc0accc13b065904bb3bb8e53b3a67d8bc084dc03b31c701bdbab38bbb53f4fd39a2fae4bc00374abd97828cba2c9ec7383a92b8bc18e24ebd57ec5dbbfc320f3af2b5a9bc37886ebdf93f40b920240939582585bb792840bdc397923919380ab98928463bf8fa28bd8762093bae3f2238f1e0983cea9400bda4530a3b60a96f39648fcc3c24b4adbc2905bf3b97fcb4b97fdc143d97b960bc50fa7f3ba1b81eb9b390173c94c3b4bd2eb67a3f8da4733ec10c2e3cd93ac1bd026b743f85b65d3ecfaf203c9a199cbd45c34e3f9c45473eb9411d3c1b1295bded12313ffea3273edd04f93b8d1078bd3212083f9eb7f83d19ed0c3c662c6bbd7fbbc53e6ba1a73d04f3d63b2d3f50bd051f783e8944343daea60b3c8f8445bd1535da3dcf915a3ba6c2f53b5ecc2dbd6c96bb3b85d2c6bc6d1ae8bcc32e213b00000000000000008ca8e4bc310b5f3b00000000000000008a57b1bc14eb043b00000000000000002052a4bc68e7fd3a0000000000000000051684bc2d56f93a00000000000000000dd17dbc54afc43a000000000000000079c86fbc2da4b93a00000000000000003c8024bc033bca3a000000000000000090530fbc0235bb3a00000000000000009a7c393c675127bd4fe36c3da003edbc7ca75b3c06f01fbd063b6b3d979103bdfe554a3cc8f220bd78a9693d7c6406bdfa034a3c17451bbdb1e4623d07b30cbd0581383cb42b14bd716f5a3d6b481abd187b363c6c470dbdfa19413d12970dbdaca51f3cf07d01bd39b32d3d451b0fbd98501e3c4859edbc626f1d3da69d0abd5e2a093c37e6edbcd972293d4a49f8bca10bf53ba30704bb65670e3c237151bd679b5d3c435b80bbca44003ce8ec5bbd8013633c3c7f72bb7e9e063c0f0d50bdaead733c4f976fbb63b0043cea4e4abd8c115b3c1ec95ebb755f063c87ed3ebd3055703cd01c61bb1ae1013c6eec32bd07cf5e3ceff98abb33b00d3ccfa61dbd686c7b3c39e895bb79cb033cb8600ebde8b0323c2cca64bb38d1043ceb340abddf07e13c479307bddb283bbc63b3843acc72c03a0c0f60bd74ae06bc7fb5033a797db0bbc7fe7dbde4fcd5bb0f3491b76eaa8bba76b370bd63dcadbb43f238b974b6243cdc8f60bd46aaccba7881113aedb29f3ca5423abd5a48fe3980b68eba54f2ea3c2d2114bd1b6b963b005e9639d3321d3d94b3e2bcb870ca3b223c09ba321f3e3d612893bce8e7923b9f5b59b9757e0c3ca13b9fbdcf384a3f1f7ad23eb013243ca31cafbd8a0f443fbfe5c43e9724133c39219bbd05d32c3f076fad3e91b7063cde8488bdc356103fa11d8f3e663f073cafc87bbd8444e43e118e5d3ecdcf063c24856abd6078a73e5e9f193e563e023c86065ebdd672583ee6f2af3d1e22f63bb3e848bdd0f3d93d9f61d83c11e0f93b79c230bd9162ca3c511c9fbc93ba2fbdb5119e3b0000000000000000b68d33bd4a94c03b00000000000000003de918bde2c0a83b0000000000000000d95906bd30ad8f3b00000000000000008e41ecbc29b2393b00000000000000005daad1bc50b03a3b00000000000000006dc5c0bc01324c3b00000000000000004e9a9abc0a5e2a3b0000000000000000a1067fbc74143b3b00000000000000006d1c303ca0f01dbd54e8693d1ed9e6bc2f1b493c2d2426bdf503783dd5b619bd0dfe2c3c02b813bdb555623d30b209bd87dc413c8bba19bde6ad6b3d9fcb24bd1f050b3c810e0fbdec0f423de9ba02bd1876373c61c910bdfa66593d108432bdd2c2183c144100bd3f13393d04d61bbdee4e193c52e904bd247e4e3db01a32bd8989053c9f3fe6bc23da2b3df31c0dbde345b33b99aa35bbf1cadb3b24c63abd6baf513c80ce75bbdc1ae13b8f7547bd6208313c546e4bbb412ee33b2b0831bdab91753cf95593bbe0cfca3bcbe638bd1af7053c4d860dbbd12d003cf6a91ebd0c808e3c091499bbe7fee03bc4a023bdc539783c90c37fbb44f6ef3bcf5d13bd0788893c65098dbb11f8f93b660c06bdeebb423c183079bb6788f83b508debbcc1ab033d114ef2bc95ae86bc546df73adae7963ca1bc5dbdd1413dbc5876a23a39f2173c4d4363bd5dfa43bcfbc1723aa6283f3c2ab877bd3c3c14bc5e47103b9567b03c6c1e1ebd05de3ebc62fa4b3a7e61cd3c75dc39bd865b76bb58a31e3a97a7003d3c33edbc03eda3bb812296398f3c1e3d5978d5bc9549b83beace34ba22b7323df01078bca1a2253bc91d2f3a10fff53bef4081bd17f4193fef49163f84e50d3c8d0987bd49d2113f83b10c3f5930023c1d677fbd9046003f3f74f53e0e640e3cceb766bdd284dd3e61d2cc3e540ddb3b4dda40bd7cd7a93e7f5f9b3e9f8ee63b2fee44bd961f843e970a623eb170da3bdaaf36bd55ce2e3eec89063ee2f4cc3b7c6f2ebd1accbc3d2bfc4f3d50dbb23bc3981ebdc001cb3c3fc552bc9d2866bd22ded33b0000000000000000fe1b67bd0448c93b0000000000000000a74c47bd5120ae3b0000000000000000df5d34bde9d7783b0000000000000000fee00ebd37d7823b0000000000000000c24910bdc91e763b00000000000000003bbad5bc410d673b00000000000000006ad3d2bc2d793f3b00000000000000008ea9c7bc73f36f3b00000000000000007c57003c0626f1bc0c25463da665e3bc6f00143ceab3fcbcde61603dd74624bdc404203c3b60fcbc577f5c3d675320bd2b6e083c974802bde0aa553d6dbf25bd9d9c133c50c0fcbc0e43503d0eb331bdc294043c681bf0bcf749403dd0be36bdafedef3bfed0e1bc8745423dbd743abdc9d2ef3b1d6cddbc39ad393dee2442bd6babb43b8985c5bc0e62253d01111abd7170fe3b76bf51bb44afc13b5fb21abdaaa0a33c6677bebb70aec03b4a571fbd2efa9e3cd098abbbd6b5b33b82cd19bd9a6fa23cc900a4bbb84bd63b09bf10bd29159c3c95049ebb631dbb3b481504bd7dc5a23c8b1eaabb5595cf3be823f8bccf30ab3c03bac0bb7c1bd13bced7e8bc62a1bf3cd0abd9bb6fb0d43bf274cdbc8d25863c1e6e9abb1c8cdf3bb2d2bdbc5562be3c4a1b04bd67479cbca1fc163b5d77423c384188bd561e78bc1ae4e13a3062b13b8e2f9abd9dbe6cbca77f063ba893cd3b12da8ebd427237bcc7ee3d3a5d8c433c487478bdbd0b0fbc51b84b3a4664933c4a5e43bd12ae86bb292ccd3980c6d13ccf8e23bd9b32103b52d15d39f47a083dcdcbecbc1a08fe3b63f641bacfec193d99a274bcc6bf863bc2269439934ac13bdf904bbd8db9d73e491f473f628ce63b93ea59bd5097cd3ed0bc3e3f5e3fbc3b779c46bdea15b93e2fb8263f46bed83b1f6434bd50659d3e6cc8083fe7dab53b3b252ebd59bc7f3ea0bbd33e8653b03bd21625bd616c3f3e6f06943ec4b8ad3b07ca1cbda32cfe3d9fa82f3eb7f49d3b9f2211bd8541893d06987f3d3fcf9a3b62ff01bd14b1883c85324cbc94f38fbd7affec3b0000000000000000c4d29abde8c70d3c0000000000000000d1a97fbd124cc33b000000000000000043205cbd110ec03b00000000000000003b6c44bd1ce5b83b0000000000000000a79725bd3d8b913b00000000000000009cbc10bdcc0f8d3b0000000000000000ddf0f5bc7958873b0000000000000000e514debced805c3b00000000000000001080a13b3a9d9dbc7d6e173ded41c8bc8559be3bc9cdaabc7a87323d11fc13bd0a76c23b6529a2bcebb41d3da34601bd204bb93bd543a3bc6f722c3d0a3013bd6826b23b02d3a4bc77081b3d868b19bdff9ba73b550993bcecd91f3d670329bdcb3eb03b1fb395bc2d32103df2bb21bdf39b963becd89fbcf95c203df1be36bd49f2923b2f3295bc71c40f3d27f713bdb210503c5a0b9ebb7136713b1c6dc1bc09cfb73c281db1bbf9b8903b4dced1bc3ccf923c64ac99bb00f24f3b2fa5bbbca7deaf3c4912c7bb2a4e743bbdaababc6612973c85ef83bb43dc7a3bb6bfaabcc9b3b73c51c8cbbbe27c8b3b41dbbabc2c7dac3cce2dc5bb95d0723bd6319bbcac42c43c9b3fecbbeaa48b3ba52185bc72a08e3cff33b4bb0815723bc06d68bcb453283c25752cbd1610a0bc0755553ba380ab3a8359a8bdd0b786bc3080ff3a8f7283bb2b6698bd117e93bc7005923a50aa72bb366fa3bd049b6ebc14113d3b58641f3acd4574bd489f3ebc3fa85d3a4d83013c98774abd091c7fbb2051823a1ed73e3cbc79ffbcb96255bbd7e88c3a4aeea63ce90bd4bcc6f30f3ccab483390502c23c983249bcdd0ffc3b6e16f638ae8a893b044902bd38d57c3e7801783f68dc8a3ba72807bd883d6b3e6534703f828a8d3b0655e6bc7108593ea3fe493f2fea8b3bba9febbc8b0b3c3e161c2a3fac38633b494ad9bcc1c9153ecd7c013f887c753b47a7bcbcdb22dc3d5e5eb43eff5c7a3b0be8c4bc689e933d3f9e5a3eab75663b0269b0bc547a123d3e4e8f3d28098b3bea509bbc37082c3b1caec2bc327ea4bd80d9093c0000000000000000532bb3bd97910a3c000000000000000065c588bd1cfb103c0000000000000000f99f77bd9e93ba3b0000000000000000922b4bbdacd1a33b0000000000000000386642bdcc0ca93b0000000000000000b0911abda246943b00000000000000009f2008bdc995773b0000000000000000070fdebc040e883b0000000000000000dc1ab23a7cf39abb498e8b3cb7d45bbc6c5a123bb1130abca146fb3c1b36bfbc063b063b25bd03bce7fce03c4fafaabc5ea20d3b6231eebb6046d03cccc8c1bcc3f81d3bfc27edbba66bc23c76bbcfbc47b7163b957d23bcde92d83cb83fe6bce71af13a96fd12bc32d9cc3cad40eabc366e063b989739bc21daf13c62f80dbd7418833a088af6bbdd69a63c43e9e0bc7d45613cdda690bbde18063b281425bc23e4df3cc659edbbb4a5123b476c28bc88b7ba3cec52b7bb681de43ae1e131bca43bac3cf19da0bb3315cd3a1be626bc30dda13c075da3bb8d07c33a3c0d13bc572fa53c138999bb5befec3a8fcce9bb98e4a03c17eebabb0c29e93ab2f0b4bb7911bc3c453be8bb3a14233bd588c7bb0dd2963c7dd9c1bbc0f5213b9fcb57bb7f9833bca8036bbda636bebc0770563b03e824bc2448eebd629d8fbca7c5733b03f295bc9025e6bd77d39dbc7d302c3ba8138abc6803c3bd082995bcc873083b59c966bce77d92bd31436cbc81c0eb3a4a5ddabb912379bd555a0dbc99259c3a91615fbb8c7d1ebd9cab00bbe0a9673a1c0cfc3bf0b0dbbc6415083c8eae423ae2e7e93b834779bbfa8de53b0bf52e39edc0d33a41af4dbc98339f3ddae4963f1ece013bd86d71bc1ebe973dab8d8f3f987e333b50ac43bcd7289b3d8536773f416e133bf04641bc27828d3d9f49483ff3b3ee3a48ef32bc7ef1693dde47173fcc0a1b3b090d63bc9f6c253df4cdd03e58e5fc3ae54835bc2c6ebc3cc66b6c3eb571bf3af8042bbc11ff063cbe89743d2d55793afa350dbc549057bc1d9524bd9b42b4bd291d0e3c000000000000000000cfb3bdf049173c0000000000000000d92b8fbda2d5fb3b00000000000000001e4263bdfe97cf3b00000000000000002c343abd7c58923b0000000000000000e6171cbdd9ec8d3b0000000000000000fa4510bd796a9a3b00000000000000002467e1bc8744853b00000000000000003cf2f8bcd3818c3b000000000000000000000000000000000000000000000000c608caba2122c23b8b56723b7e4585bb91fe31baca049d3bdadcbf3bae61debb291c9bba2b5cab3bd6e4eb3a8474fabb58b457bacc39853b02bbe93afbf51dbcaf576eba11f9813b3938223b76643fbc2105f839eba25f3aaa59dd3b862356bcf0be17ba1250923a6d68d03b114d65bc0000000000000000000000000000000000000000000000000000000000000000c032613cfd7b63bba32b1bba5376cd3adb8c643c028a36bbfc361bba491bcd3933b83e3c372aedbab25d4fb900a4223bd542203c535996bacd9cc8b907d41d3b4cc0213c6c8c07bbda07dcb9bde6323b2df52a3ca8e808bba59bcbba46bc283b5542323c947953bbe54adfb9bdfa9e3b000000000000000000000000000000000000000000000000000000000000000093dcd2bce5d2c4bdb37db3bc038e443bcf5dbabc6c8ec5bd6c0d9abc4d3d153bc5b8c5bc6a409cbdc08ca1bc270bfa3ac8bfadbcf3ca6dbd871f80bc0b9d3c3a12959ebce7aa2abd89e23bbc764ca13a4a954abc4474f9bc2f5a80bb2a83913aefc019bcf02e39bc80c2a43a7fa9203a000000000000000000000000000000000000000000000000000000000000803f7e31123a1cf6b23b456240bd5c1d983f241be4b9de22583b458cddbcfff97f3f2f5a6a3712aa7c3aa7e39ebc674c503f52e8ceb95754cc3afc568abcb5af1f3f3a30cd38cfe0e33afd6d6fbc708ce03ead2ab4b9ff8299b992ea6cbc0aa0803ee175efb97252cd39a9d8adbc007cad3d0000000000000000000000000000000000000000000000000000000000000000c0d561bd6dd7bf3b0000000000000000094210bdb0cf613b0000000000000000434cdebcb85ecb3a00000000000000007de6b6bcb0a5163b0000000000000000c254acbc0c6be03a0000000000000000e6e699bc955db0390000000000000000ee1ac4bc41661b3b00000000000000000000000000000000000000000000000000000000000000000000000000000000ed0f55bc13f16c3c48683f3d346c643ccb8109bcf4f7763c8d683d3d9659703c4e7ec5bb64c7853cbd50263d3e1e933ce6e352bb17564b3c852a0c3d7ba0893c1c3260bb7f51193c3794ca3c3a54653caa137cbbecbd9b3b23406b3c7c81443c4a1885bb7960753b22ee2c3bee7d083c00000000000000000000000000000000000000000000000000000000000000001d1828bc2cd7a8bb6d19293b7bc3a93c6a36d7bb44d0a7bbba7af6ba160e113cae5041bb0e59acbb1fae00bb8972b3bb8902bcba9481a0bb33e5a4bba89bdfbb07895abbf37ce2ba1447d9bb104e8abb7ff47fbaabee85ba872acdbb32330fbb7522c8baa64a91b92a0c17bcf6aca13b0000000000000000000000000000000000000000000000000000000000000000ce7882be9a903e3ca0bc0e3c641c80ba31d976be9c9957ba59e59c3b3fd82dbad2ac64bec59355bcbd21963b370960bbbed937be11d177bc8065183abd0409ba5303f8bd1ab94ebc758208bbd07fe3b9909781bdc87e43bc3b0ba3bb1b9e48ba92fe28bc9c938fbbb385e2bb81bc283b0000000000000000000000000000000000000000000000000000803f000000000c619e3ce20301be8e1aad3ff9c8e7bd1f8f523c63cca0bd4a548f3f279380bd7bd43a3c2c7878bd4c5d703fa94c35bde4ba2e3c0c7f28bd4f5a323f5c64c8bc48b81c3cbe368fbc7961e13ee68561bbedc9aa3b90df2e3b55c8593e603d513c761cab3bd3a9893c89861bbc48cbb33c00000000000000000000000000000000000000000000000000000000000000005deabf3c4aa1fabb0000000000000000b6a9493cf9e4fcba0000000000000000d5d2023cf7b5ceb8000000000000000060a2de3b7b33a03a00000000000000001f33cb3acc101e3b00000000000000006b1f03ba8f4a4a3b0000000000000000512580b8846a0c3b000000000000000000000000000000000000000000000000cad622bc8405ec3bd37c733ca76c793c760c62bccf49143cd19b193d018d883c1c0f09bc89336d3c9e35333d6089c43c5b6db3bb4cbd573ce2bc1f3d8966cd3cc473a1bb8cc02a3cf87afc3c3115b53cf96294bbef45133cefb7c23cc63e9a3c8e1ba5bbd563c63b2616213ca22c8e3c852d8dbb8aa3093b97ae31bbcb8b443c2e11f0bb529a26388bd429bcc97dae3b654651bceb8156ba07c1723c929b663c79355abcd3febeba38313a3c5047bb3c6f7c1ebc8f3065bba612453c2f2e453b7ce0ccbbf4f893bb9ea80c3c2fc947badf5896bb825272bb3048aa3b28f2a0bb357557bb3cf234bbb53febb93e6c40bb8f1a1abb99d225ba1864b8baf5057d3a91193fbbab498dba280773bb869ca53b7fcca5bba2cd303ad92392bb0286803c44ac14bec81eaf3caa9a1dbb7836953b16c953be386a913cacbee1bbce31e53b7cb177be9dca89bb637e41bbc032743b775f67be734060bc4cbb68bba688073b63ec34beca8c81bc58639bbb9c53353bf755fdbd5d896ebc1b51f0bb58b8853b2ed381bd58ad51bc7cc207bc688f1d3b974f4bbc5ac0c7bb5f4ae1bb7b1eb33b85b3c23c823c753c2cdde2bb6d3f823bbc20283db13b60be7f6fac3fde2bfd3a8361103d34d93bbeb295993fafe5063d717af63c09c626bebeeb8e3fc8bffe3ca028da3c65d107be6eb86b3fe1801f3da2d5c23cbd3ac0bd04d52e3fc404363d46499f3c2cfb74bd7ed1de3e979d573d161f7f3c974feabcbfa04d3e96a1543db4a1e33bfa791a3b73fccc3ca6dc3b3dbdfd203c26542b3ccaed0bbee47da73c33a886bb38a3b4bb00000000000000006de92abcc3f633bb000000000000000027fe3abcd8e668ba00000000000000008fc75ebc5d74e73a0000000000000000fc7c43bce3a8da3a0000000000000000fd4288bc6696933b000000000000000088c48cbca2edab3b0000000000000000fd1e96bc2b50e43b0000000000000000c644eebb79431f3b0000000000000000705d0bbad0158fbb64c31e3c9ff3a13c2cc782bb574f5a3b515dd83cc827d53c235795bbed8a103c570a093dcd64003d9c8a0abbd965ff3b287a003d4576fa3ce6f574bae6cd833b5d8abe3c324fe63c375057bbfd239c3bee7b833c1641c93cc8c892bbd616b83a7511953bc117943ccf18abbb061b353ad7b763bbb58a513c8ec2c6bbc2737fb96f5b27bcdcf4ba3b94c473bc1b77a13affa2a03c86fec9ba999f53bcc9642bbb7f6abd3c8f4732bbc52835bcd6f622bba84fa73c350607bc2f60e5bb9bb1a9bb68558e3ceeeb42bc23cdd9bbab7b65bb5cb9613cef8457bc349bb2bbc56b9fbaa0f41e3cf8aaf9bbdf4b98bbb1b181bb7a90c63b09a8a4ba0272b3bbf34b2bbba803263baec69f3b478dd8bbdf5d85ba11fa963b0bf1ea3bc94cafbd4bd37b3cbf1649bce8e2023cd09631bec29099bb36c511bcf05d223c6f1150bef97eb3bc2a4ccfbb6500bf3b7ab545be4a51dabce8e11ebcbe95c53b3d7517be9adac8bc571519bc1323c13b78e1dcbd9f1f9fbce3e050bc6cc6be3b9b8a5dbde28d0abc18f429bc3988e83bb2d53dbcbd81b53b75cb0fbc1b1bd83b4a21803c00478d3cc7d3a6bb4f3db63b86b1183d134f50be316c8d3ffccc543e1ded173d577157be09aa8d3f2cda463eae4d083d72873fbec160803fb9d1363efaf7f13c9f9a1dbeabd5543f5b27243ee87ad03cd4d3f0bd87ea1e3fe227093e3d4fc03ca079a9bddf2ece3e952be63dff66a13cfd1f4abd1f47463e969fa93d71ec793c5c73b0bc7e57d03ccd933b3d03f6373c44311fbc298999bdba441e3c2de048bd53702c3b0000000000000000c4f448bd88347f3b000000000000000045db39bd8a779a3b0000000000000000703826bd32e2e43b0000000000000000976a09bdf57ab83b0000000000000000efd5fbbca32ba63b0000000000000000fb82debc18cac03b0000000000000000a1e8b7bceb66e93b000000000000000048ef87bcd10da23b00000000000000007a6fab3b3fbb14bcca500c3c4c62a43cb376d13ad79515bba6a3ac3c51a8063db4ed863a7b2a163b55e0e93c90760d3d01b22c3b3073203b989fcc3c7800083d8c03693bcd62a53a0751a53c88ccf83cce96fdb8f8c6e1b9062a573cacddcf3c4e6992bab25f3bb9a217b63a15d7a33c04ec3ebb779207bb1ee9a9bb93d7353cc7aa00bb155e52ba070b17bce48c9e3b563217bca2b0263b6464ce3c0720a3bccc0c0ebc0147b3ba47a3bb3c8b8615bc76e4aebb5e8307bb71a3ca3c6f9a7abcd69049bb91af57bbf814aa3ca60592bc68b9ca3982978abbce4a7b3c195470bc449db6ba65f124bbc568673c269a52bce13c6bba0ffe6fbb8679223cb2e7aabb32db14bb05efbdbb3e4f013c44321b3b686d7abba1f033bb3bafc33bf281b83bdfa663bd3e542bbc9d4549bc1c672a3ca98705bed9b431bd6e2d07bc22c9373c6d3922bea0d172bd966c0cbc1cb11b3cba7717be28bf73bdc3ee27bc1143d53b3fbbfdbd55fc53bd9c3328bcaf71033cacedabbd884b12bd4fa446bc52c7fa3bb92330bd630e7dbc1c6b1bbcd433b23b0a7c1bbcbfee193b15bb11bbcb55cd3b6482483cb1d9b33c668a33bb7c9ebc3bb13bfa3c1df33ebe93736b3f165fdc3eef59f93c986f47be0b2b673f86ddd63e1b71de3c8a2231bea9f3523f378dc13e48efc53c5fd913be56292f3f9efba43e26eabe3ca361f2bdbd1b063f6747813e693fac3c9d67aebd0936af3eb3973e3efe29923c003860bdf7d1313e391be53daf6c713cfe27ffbc81a0283d4b3a2e3d94746c3c94b8bbbcaa4f4dbd189055bc130ecabdd3ac443c0000000000000000fd5cd0bdaaa4533c00000000000000003fd3b6bd680f453c00000000000000002e2497bd66ef4d3c0000000000000000c1e279bdaf19f83b00000000000000001f1f4ebde2fd2f3c000000000000000065bb14bd341b133c00000000000000009ce6d3bc45f0e83b00000000000000007d64aabce8ba6b3b00000000000000003732c23bde0044bc1be4413ca115953cfb35eb3b7fe723bc2ede933ced73f23c2feec53be4cbc3bb216fc43c8040133d638aaf3b05eb37bbad04be3ccea8133dfc23a23b1baf4cbb361c5d3c957ef13c40e98a3b1bdb85bb8273373cd97ce53c3d3a323b47a18abbf4c6153b40b4933c5d428ab9137396bbd3947fbb274b2e3c463fc3ba69669bbb99b2d8bbe763403bc7bcc0bb5fc1963b1c2eb93cc4919fbced57a3ba998392ba1db6be3c1e2172bc738e7f3a97de0fbbf6dcbc3ce3d699bc95ce813be1bb3bbbda07a63c54cfa7bcfa27073bbbae4abbd95a993ca958b0bc6c57ac39747b80bb8458853cb59c77bc03db143b61109dbbce0e563cb4c333bc38ddd4ba2029d7bb2e903c3c1ddd3fbb2b17adba26d3b2bb14e32d3c0a1dcd3a26e1f5bc1d151cbd181529bc5fb41d3c1f7caebd3c1eadbd987f00bc13945c3c1120d9bd3628d8bd5b6027bc567b3a3cee09e4bdd6e7cdbd4a3c27bc3914203c3a9fa6bda28996bdfaa854bc2103123cbac289bd58105dbd0c6506bc4db8003c89880abd1ec6adbc911707bcf2f6ad3b3e04d6bbda5d533b5efbbaba6294d23ba452583ca64aae3ca20e62397404ce3b47d79b3c7af519bed8b92d3f2c1b2e3f137cb03cf7cd1cbe4d3e2b3f4c49293f7973993cc3d109be2a841b3fad42193ff5509d3cf7f3fbbd6ad1043fd705003fa771643c90f8bbbdf7f2c83e5a22bf3e8bab8d3cba649fbd849d8e3e4fe6823e6af25d3c19e65abdf92a1c3e21f1093e6fec523c412f0fbd0df9483d7fdd0f3d7a39033cea24bcbcb151e8bcc75019bdf25919be08b6ab3c00000000000000005a691abe289daa3c0000000000000000565c07be0b30983c00000000000000000817e6bd8ceb7d3c0000000000000000c080a1bd5c032b3c0000000000000000e9a685bdf3453b3c0000000000000000fc6e31bd4ef1143c00000000000000004fd5d5bc03d7c23b0000000000000000305186bcf510ca3b00000000000000008429f63b42a96ebc29ee293c25d38c3c93f3793bb98d2ebcdc6f923c7887053dafb7b43be1dd9ebb149eba3ce929213dd6b88f3bd188fbbb1f79953c8ac7243db874ae3b8e5fc4bbd3ae873c44bc073dbd34bc3bdb81acbb49ec223c9acce43cea7a2b3bdc39b8bb1b31763bb398a83c95f7363b9831aabbc8e0fabaac18233c9b31e73a930fe4bba24aa6bbf468d9393300d8bac69ff03a85908b3c8efe83bc212e8d3b0e827fbb16c7a13c98a07fbc1cddaa3b1e9101bb57cc8a3cf72d8bbc3803d43b388260bb46dd963cb30093bcbaaed83b9a8dd6bba43c8b3cad4293bc3247ce3b6a2a8cbb6cec713c25cd93bc2b11bb39ca5ae7bb5b89683cc7532fbc02936dba395c11bcaf561f3c20f3c6bbe00f8c3602cbedbb699a403c566950bb095523bc186c85bd55e139bc6e11473cfa0c38bdf2e908be9332403968c0413c887992bde3771fbe800364bb9b4a0e3cd06693bd13a413bef4e3ecbb7d61d73b708a83bd97e3e9bd0f07bdbb4c8b063c38e14dbdf5b39abd25aee1bb5f55963bc39d04bda9fd0abd0dff3fbb9fc2663b2d541abcda97c7bab3fb6a3b39905a3b039e203c9da19f3c6c66873b05695f3ba4173c3c6ffac5bdf56cdc3ef13f6b3f4936353cb4a9d0bd00d9d93e332e663f523e353c82b5c8bd4911c93e2df54f3f6858363c21d0abbd3f33ad3e3a872b3f5487343c866e96bd71808c3e674a003fdf29273c423a81bdf473513edbb2a53eff821c3c71fb3ebd78a9033edd91203e9d1c133c41f701bd3bf9693d41c1d23ccdb7863b96adb1bc038838bbc78380bdcc8a3fbed07aef3c00000000000000009f7947bea854043d0000000000000000ebef29be3998e23c0000000000000000eafb09be863eca3c0000000000000000decdd2bd12699a3c0000000000000000f8c791bd81a8893c0000000000000000f4d62bbd2df45b3c0000000000000000de37b1bcd0f43e3c0000000000000000904f83bc5cd70d3c00000000000000007f65993b0c4e3cbcd0ac413c0b13473c04659f3b978101bcb7427b3c7421f33c149b163b1889bcbbe3209e3ca8ef243d14769d3b37f263bb906d903c5b1d263d0b03903b485480bb39487a3c03a4063d2b9da93bc0a041bb645c373c4b44dd3cdec6943b17ed68bb7984f33b1187913c2885433bb60b53bb30c31d3b3373d33bcdd94d3b10e4a5bb214bceb9d4df2ebbe9ce5c3b21793abb85e33c3cbed349bc9815573c423ee9bb19f4323c6fe748bc3ae23d3c9fe5bcbbaccc383c97cf0dbc97e95e3c0979b4bb107d103cd56033bce71a433cc562adbb8bab083cd0fa4ebc93540c3c1b9ddbbb9cc4253c38fd5cbca5cda83b223fd6bb99aa123c250c31bceabc2e3b577a12bc69710a3c6c7cd5bb18bd0fb8d186e7bb6a27f73b2991bcbaf841703cba32bfbdb546d53bb53f0b3c37d239bc84a738be118e413cd0f2e23b8a460dbd397e51be711ab53b9f10103ccd632fbd4b463fbe31d62bba7dfda63bd58920bd637516be943827bb4133773bf75219bd16d0cbbd26a90abb1ab53c3be1ddd3bc095442bd2d1c3a3ad23949bac73237bc117f18bc0debc43bfa3e143a8b57c53bf1ac893cafed123c911de539fe3125ba1c1c43bdbb3a553e8e3a8d3fceabf239946450bd3b524b3eec898d3f8723373acbda44bdff0f403ef1e97e3f241e233b200138bd986f2f3e6eae513f2bebc33af94a22bd0175163ec2751b3fdd089e3b69b51abdaa5b013e843bc63e9f33793bd2bff2bc657dbb3de8f9373eed314d3bf674c9bc0f425e3d1087913cd32a2a3be13e8fbcafed803c94c7adbd6e0c52be6c981a3d000000000000000087d957be38b41e3d0000000000000000671438be298bfb3c00000000000000000dee14be673ddc3c0000000000000000f7e4d2bd88f9a53c0000000000000000820b8bbd1694883c00000000000000002b860bbddbee4e3c0000000000000000662618bc7528fe3b0000000000000000d0242bbbe62dcb3b00000000000000006354053be884efbb4371423c5647433c31ef193bb3af07bcc13b443c20e6193d7c9c093b65c7a4bb1457a33cc4f8383d9afd3a3a18db3cbb076ba23c9ff0373dd083313bb48e0abbf431773c0d1b143dddef473bdb5afdba7fc8593c78b6f33c70fa353b852ff2bac7783c3c354d8a3c0206853bfc2f5dbbf80de03b1a2bb63bfe52ec3ae7982fbbd3f8863b8706a2bbec161b3c5a0604bcf980293b75f524bb5cfd263c8c5a41bc01b1d93b8fc4e3bbaa687c3ccede02bccfc9743b083295bbdf7c943c41110bbc698a613b066799bb8249523cc24bb8bb9570683b0fd001bc5e03293c5bce93bb7fa3793bd6921dbcf7a2023c6864ffbba4e4383b910deebbfff5593beee2e2bbed24aa3b171db9bb52098eb940adcfbbe8684b3b5d6383bbd1d1ab3cbe951cbe831bc63ca77bac3bb5d0173c0e6957beb3f9083debaeafba69467dbcad717bbe3293773ce1ca8d3a44a8dfbc989367be453eaf3b37ccadb74887e2bcd53333be3b30843b6621daba71d2e1bcb446f6bdbf72e4ba53837fbbcb2ac7bc33247ebd6cf45c3a09b23dbbb25377bc85cd6bbcfa91313ba9e05abb74a2a13b34009e3c1aa33c3c023593bbffec19bc3bb887bb332d103a4c3cac3f21a2f7bbd94b47bceab7183d3e90993fe4d55fbb92e56ebca1e01e3d26a38e3fa4393ebb419486bceef7343d53746b3fdc7548bae59d7bbc4ea5473d22472e3f8eb4f53a685d8fbc484a673db3e3dd3ecd20f03a84f27ebcb8e7513d0d7e4d3e77da0b3b058293bcde1f423d4ba7c53c203ee9ba7811c8bbce87a33c450f0dbe5a9f62be81202a3d00000000000000007eb237be766f153d000000000000000018a81ebe5ce5e13c0000000000000000e29df6bdcb13c73c0000000000000000cf64adbd5918873c00000000000000005a8b35bdff0c503c00000000000000004ac26cbc0834133c00000000000000006a53643c7bd4803a00000000000000001901883c7bfd963b000000000000000000000000000000000000000000000000ed1d01bbe7dea2bba640893c0982243d7d7dd7ba3d214cbb58cb883c91bd333d5bbbfdba7450df3a3f758e3c558b253dadfe1c3aa3531eba85e8613c6e3e123d29df883ac47ba9b922015f3c2571d73c48008a3acfe9a2ba5442363cd43b983ce6660d3b4fd4f7ba49a7243c3e87933b00000000000000000000000000000000000000000000000000000000000000007bba493c6ea942bcdce7abbbda3c013c69f9493c8c72d7bb6b5b6dbbcf64b53b6f1f833c0ffcb4bb79a182bba05b3f3bf6fe693c375ec1bb958592bb0d1309bad5301a3ca9c782bb7b52cbba860a6bbbd821b03b887596bb52d292ba9aef63bb26471c3bf26e2abb75f0cbb99628d3bb0000000000000000000000000000000000000000000000000000000000000000a574a03b359081be3299e13cce6a7dba8e8f21bcab1673be655c413c3b1166bb262cbfbc081c62be1c94323a5e0eb4bb5fb4afbc262534be4a06e5ba666796bb7d5db2bc248efabdb43f45bac333f1bb0af29ebc5ea486bded456cbbf4ca8dbbc7092fbcb39d6bbc964cce3a858d9bbb000000000000000000000000000000000000000000000000000000000000803f9c4b1ebc201ba83ccc53e2bda30ead3fd302a9bb38bf223c1c6b81bd8d08903f52670bbbae78783bcd672fbda06a723f4fd731bb19935b3b8d1dd9bcefea343f9fa590ba6d90b13a5e1cdcbb5393e83e72e4c13a804351bbddaa343c83b5623e13940bbb77a5dd3a5bb0903cbcfa0cbb000000000000000000000000000000000000000000000000000000000000000066eb01be66eab03c00000000000000001e9597bd1e454d3c0000000000000000bd8d6cbd0fff2e3c00000000000000009b590bbde39f153c0000000000000000c7f04fbcb73ce43b00000000000000005290023cf817643b0000000000000000a89bab3cb03f133b00000000000000000000000000000000000000000000000000000000000000000000000000000000850a60bcb97fdf3b5be4263d26eec33bc5af23bcd947c53baaed2a3d8a68843bf2171ebcf818fe3b6981133d2093b23b6817fcbb4294093cbee6cd3c24dba43b2535b4bb3d3adc3b3d276f3c424ad73b55d345bbdf59503bab66f03b23217f3bd79953bb2ff9433b5d8496bb5630d03b0000000000000000000000000000000000000000000000000000000000000000f6847cbc1f84c33b7f1c1f3c1394b83c0b1e5cbcf3af993bd29ac23bb190ac3ccd6221bc792e923b44f1b93b2e4a4f3c669239bceca19e3bd8bba63ab43d6d3c7cedf2bbb1b15e3b82f556ba315d3c3c72019ebb2f40403b5b9f80bb0e863d3ceca7cfbb0773463bf502aabbda994b3c0000000000000000000000000000000000000000000000000000000000000000916f5cbe17a8d03c8da18c3bb564adba6b2a52be0a78ab3cc832373bf4a790b9b5a53cbe7ffa723c3cef5c39ae1602bbef311abea94a573c736e613b4cf337bb6e49d7bdbae9123ce2cb1eba091442bbac9966bdf914df3be69834bb0d810fbb508d74bc8331f03b8abd84bafae11bbb0000000000000000000000000000000000000000000000000000803f0000000072266e3c6bd6f7bd45bcab3fb9ecebbdeead113c7814a6bdebe88c3f8e2d9abdd090d53b2c867ebda490673f711d72bd7dd6f33b00d93bbd56cf2b3f09de2fbd98cbc83b3c62e2bc3d23da3e0f6dc7bc715bae3ba5ecefbb20bf473ecc0159bbe9bab03b8bd1bb3befed9bbc7f88053c0000000000000000000000000000000000000000000000000000000000000000b61a723c3dd344bc00000000000000005ee6343c2a132fbc000000000000000021f8263c058c13bc0000000000000000e3f1e13b5c10eebb000000000000000055a3fe3b3be7abbb0000000000000000a976c63bfc2890bb0000000000000000abe7a93b19a59cbb000000000000000000000000000000000000000000000000f6f9fabba0fea13b66ad373c11bc3e3c5fea3bbcb8b7eb3ad36c063d2ee1b43bf10c04bc7d059a3bed1c093d4584363c6d8116bc332b063c104ae33c0fc0453c0ce0b4bb2ccea23be229963ca7244b3cc5fababb0cc3f93b160bc23b5193583c5a6f44bb99cec63b6d92c0bbd038653ceac22eba578f883b0e6674bc0eaa6f3c841146bbadc7a43bd58caabc93595c3c13e71cbcefe1de3ae4c59a3ce89e9ebb6ee41fbcb43b353b0e02823cdb7a6e3c1ca324bceac90b3b634c813c27a9dc3b5b1018bc06b8103b94dd583c0848ce3b0efeedbb62fee63a96e1093c362f8f3b5aadcfbb02e7093b62a8b83bfa502d3b72176fbbe754333ae906f7394a9c8b3ae5f528bb05c050b92da48cbb4d2a5339dcf597bb3db63f3acbc75cbb95f3523b7d39efbda35caf3c0a8852bbeebc623abe552fbe55f5fa3c89a3d9bba9e8703bdffe40bed454943cf4ed8dbb85c50d3be6d52fbe4c24593c92ab74bb31138e3af92f0abe1c3f393c2eca78bb006a76b93f88b8bd4ee4263ceae2c1bb23ae7bba75aa23bd3594c63b6c57b6bbc7fe83ba59ba983a8f3bc33b4abdd3bb7afcc0b99947993cdd56943c5141ddbb30c2aeba67a80b3d06574cbe076fad3fd76510bccf3f013d179f38be06e29b3f03e8963adcf5d83ca8cf21be53708c3f7fc8943b658db93c878708be05bf653fa160153cbe89b33c2c6ed3bdc3282a3ff4ca843c3f879f3cabbe96bd67c5d83ee652b43c84e78e3c99233fbdcd4b493e0164d23c8263663c9bd861bc5032003c71b10d3d35d08c3c34565cbc324804be81be693c2b7214bcadef29bb000000000000000074b82ebc52b420bb00000000000000005bd614bc01d23dbb00000000000000007cd418bcf3fb3fbb00000000000000001b7624bc3b7277ba0000000000000000fb8002bc102f903900000000000000005ab3c8bb78a6a1390000000000000000200f34bc25062c3b0000000000000000ed1890bba3a05d390000000000000000d64c803859ec99bb3de5da3b4759793c7f0c76bb1ad68e3b80f97a3c86808f3ccbe182bbf0d0c63b2124953c07f7a13c4f0188bbdba6f93b13bc693c39d29c3c35f764bb65c4003cfe9bbe3bf1e8ae3c18e7e7ba35dd043c0d6e8cbb7812a83c9b813cbb2200f93b187454bc022f913cb2e61ebb355d093c6c78a9bcb2e09c3c49212938fd8a3e3b521fa4bc9f4d6f3ca21ebebb2310dcb7a334a63c46d0d9bcb98d81bb47ad5bbb597baf3cc33396bc9f7062bb6a0222bba2f3a83cb0e893bcabc849bb898063bb01348e3c944b7bbc3a2918bb92d432bbde6d693c84c895bcbfe48bba48c929bb9177133c436a71bcb6e5123a61cd92bb89c6d23b0e3957bcfb68ee39153a91bb572f0f3bfe5640bc123fbfb9570f0cbb0f11513b465061bcb3e253bd1025503b989308bc4d2e9e3b6e08febd102dfbba2693bbbb16f9a13bf6b90ebec59e27bcdfc993bbd343593b63de02be3b6124bc3bc7aabb4807493be886c4bd03f528bc1cddcbbbf7cda73a54e07fbd3ee947bbdde6eabb26d3ce3ae458cebc8ca25b3b404601bc90c38a3afc1fdf3b7bd21f3c87cfedbb5b2539ba1e80da3cd7caa33c5fce0cbcd453bc3a2c850b3dcc2d3abe4cca8d3f5ec43d3e8fbf113def104abe343e8d3fcfe5233efc34f53c8be02fbe7f3b7b3f29cb113e0fdbf83cc6381bbefeb34f3fbf4ef63dcf3ddb3ca6c3fcbde2571c3f1874c83d4ea1d83cc92ccbbd7005cf3ee689973d9892d43cafa297bd3885533e6cb3503dcdaaad3c40e64fbd070a353d4421e03c20aba53c03d316bde28a6abd144ec93ae47533bd5f8e1a3c0000000000000000dc0332bddb37123c0000000000000000e4a823bd9bddf03b0000000000000000116d0cbd3041f63b00000000000000009715e7bca806ea3b0000000000000000a78cd1bc3ecbdb3b0000000000000000f57fa2bc7c37fc3b0000000000000000f5878abc972b023c00000000000000009df076bc5916dc3b0000000000000000e7c3123c087d48bc2237d43b8a4a4e3ca084313ba89b6239e2ac4a3cc78b9f3c5b170d3b7adf32397114853c77a5ae3c536771b92ade2e3b8a00333ccb25ab3c581a453bb0c0763ba6b19c3b4891a73c94692a3a10fa913b85fd55bb25f3913cb5ad2cba5fa4b33b80ed22bc4922873c666c9c3aaaf9db3b41c194bc3b1b503c9443003b667c1f3a1e2d81bc1dd5493c86382c3b9d4e54bb9c4bb23c24013dbd27ae8a3b1ef0d8bbdda5ad3cd0c305bdb5b0a63b0597dfbbe500a93c3fc602bda9eda93b7889c7bb1ff2a03c9fa801bd797bce3bf3bacbbb6398713c82b7e1bc6c50ad3b8d9ed6bb8de0473c1a33dbbcb058f63bf643f7bb91e60e3cc218c5bcb1b41b3cde6c01bc73e9aa3b10abbfbc23d3923ba2a4abbbebb4d33bd57fd5bc907e7bbc4390d4bcfe26e6bb3e17903b5f119bbdcd4032bd768bb3bb2cb4c63bbe1cb8bdb49d54bd9625bbbb82c97b3bf2ee9fbd274e40bd82159abbc4bf233b676c85bdc84421bdb95d70bb8c7e003b3f4f07bdc039c0bce84b12bcc4fbc33a2ceca2bba6a638bc0a96f1bbd7d3073bbe03933ce29bd13b486418bcc224b6b865b5163d3bcd723c04801fbca6c6b1b8d0fbe93c67ec26beb216683f829dce3e3b8f0b3d2fcb35be25dd633f836dc23ecc9ef13c931023be03404d3f75c2a93e6e0ce63cde970fbe5f222b3f4e2f893e3219d23c8d9afabd9fe6043f2af64f3e9b50da3c9fc0d0bd458ab43e456b0c3e51f4d43cc2eea4bd1635483e8342953dc3c3b23c17d276bd213b823d7959a63cb830ab3c642649bd9bd587bc9366dbbcc90da8bda979a03c0000000000000000d3a0a8bd928aa63c00000000000000007eb295bd26db993c0000000000000000c3d877bd71ae843c0000000000000000e93c52bd53e4703c0000000000000000ddfd22bd91e4733c0000000000000000049df0bcf8092e3c0000000000000000c813adbc5706553c0000000000000000129162bc016c143c000000000000000066b3523cd1e689bcb2f33f3c29b7183cd87f053caf3027bcaa3f4a3c5ff49d3ca992ef3b6c3fbebbf978513c85c0b73c8b24ba3b1655a4bb11e3643ca333ac3c853bee3bf803d0bb20b1113c79306a3c8530a63b516b1439f4600abb12708b3c9fbd873b7d232bbb7b3a84bbc161493c30828d3bcce4bab889033ebca72e223c73a7ca3bf1d1fcba5b913dbc60c1043c55d8163cf5a0bebb60aa833ca78634bde7804f3cf7b512bc2c348a3c1d4a1dbdb8a6533cd469eebb16dd8a3c349519bd649a4a3c92f614bc2a3f7b3c759205bda29c423cd398d3bb40fe4a3c52b118bdb8745a3cf63814bca2c9253c3f2cf0bcc7674f3ca33c14bc49ac063cb7eefdbcb914623cf6df25bc4166c93ba812fbbc2735003cd6cac8bb6ab9cb3b982800bd068a073cdf5551bd527c05bc494ce43b6396f5bcfc8db5bd89614fbb2917a23b97a32dbd7546c7bdd6d950bb0fa6733b8cbe3bbdc6e4b7bdbd4f15bb04b15a3b0cdcaabc785083bd7680ddbb2019283b950146bcc19c4abdf0e485bb399428b9da64343c3dcfccbcc7d3e0bb56e0703a99a1eb3c30f689bb9e65f5bb3bcc0fba2b51263deaa7453c42f50abcb68c9ab9062ab53c9ccf06be67f2293fc136253fce8bde3c29ed0cbe3bf5263f1e191d3f0e3cb93c2c6e00be26bc163f8366093fe7bcc73c41b3f5bd5076013f1bd8dd3e1250af3c8e70bfbd7e7fc63e8e91a13ed2e1ad3c57d0b6bd59ec933e3482513e233fb03c05ca93bd4792303e24d9c63d7895a13c8f7b69bdc370a13d222ac33b8fe58f3ca44249bd6604033c1c5359bdbe99f1bd7e08d23c00000000000000001a93f0bd951be63c00000000000000003771ccbda2fcc33c00000000000000005cb4afbdaef6bd3c0000000000000000f1c081bdef29913c00000000000000005f4654bd6915ab3c00000000000000002d690bbdc6998a3c00000000000000009754a7bc782e7d3c0000000000000000100874bc8808843c0000000000000000c2c4143ca56287bcf9c62c3c6002e23bf721f33ba9d12ebc34c75f3c5463963cf7999f3bcc9af2bba04c593ca826c03c34af853bfabcabbb221d3c3c88c0b23c2ba7703baf3c48bb3f25103cf480833caace803b511768bb2397b23bd49f303c4e903d3bb4ea54b9fd08c3bacc9acd3bde355a3b35169139933ca4bbfa934a3bea76a03b57ef83bb1b275bbb73e6833a8c7e5c3cf52cc9bbdf0e5c3cf09516bd5df4953cec2559bcdb34543ccb2804bd879cad3c99c95dbc18f14d3cdd1affbc1baf8b3cd0543bbc6728433cf9cbeabcc6c5903ced2239bc4451233cec3feabced1d923c51bb1dbc8603cb3b1290ddbc8c648d3c0bee21bc9ddcc93ba01fe2bc5e628e3c6c015dbcbd82253bd345d0bc9ff2483c343406bc3d6f923b9920debc0deecc3c3b0da1bdd894d7bb037acf3b6bee41baafa407bedd55ce3bf3c1653b04615dbcc1d113be2cb0143bcdfc913bf7dc49bc5e1305be8e0eb13ae88a1b3b153311bc79afd8bd58c8053bd4a658b853962d3bfe2890bdb41b8eba1288c7bab1a0853c881d20bdb5df35bb79a82cbb75f7e23cd4dc58bc510e133a597d7ebbb9d01f3d2b1d513be42932bbf6c7dcba0720973c82abb4bd8362d63e12f1623f471ea73ce38dccbd4dccd23e00585b3fb497ac3c6322bbbd6426c23e2a72403fe087943c1858a6bd8c1fa73e6a781a3f1e209f3c364f9fbd1ee68b3e0ccae13e3e209d3ccd8d87bd916e513ea72f8b3ed2d48f3c54ba63bd00d80d3e8620f53da8018e3c24194cbd426e9f3df2b461bb8f515c3c6a8e1dbd240cba3c688299bdd1f31abede3e053d00000000000000002b8f1cbe5314123d00000000000000008ece06bec1b9f93c000000000000000067f5d4bd38a7d93c00000000000000003fe1aabde88ad83c0000000000000000dca36ebd3f1ab93c0000000000000000c94117bdeb22a63c00000000000000004c0b96bc89d98a3c0000000000000000a69280bcd05e853c0000000000000000ce27b93b83e467bc6aac5e3c8b93ce3bc1d2873bc8e406bcc6b53f3c4f80a83c1a94143bd77af1bb81fb7a3cba1bb73c7d568e3a6a00b0bb195c653c5cb9a53c4df7043b7d3597bb99db613cb9c44f3c2bc68f39b5f3e5baeb4d053c7c79123c9a2cd4385efffdba156a043cf06cb9ba06b2853a9de1353aaada1c3b9af9a5bb1389c13a8cd7a3bb4d903c3b0c528fbbc331883c99a92dbcf9affc3be63ec2bc41beb33cfb3076bca927e03b7c51a6bc54eaaf3c6fa666bcf143043c150b98bccd0fb33c6dc756bc2262ed3b8b8b97bcf051a13c52272dbc016f8d3b01cc8bbc05859f3ced7836bc0d32aa3b95a997bc07dc9d3ce14544bce181693bb8588fbc609e9b3c2bb733bc9680773a760d91bc808d5e3c7f1016bce2517a3bff7e9dbcd62b043dee8ad3bd0afd753b08faa43b2ce79c3cb97232bec313533cab50503b235c3f3c8c7141be298c323cd1ba543b8d3f0a3c974a2fbe35a0053c4a114e3abfe1f93b2af20abee6bfbc3b54de4bb9df673e3cea0fc4bdc4370d3b0a0b0bbbe98e853c1ff65ebd2728343bcb7e59bb305bbb3c565dacbcb6b61439128f92bb6cc4063d8a60353aed1590bac2d90abb06f92d3c58fb4dbd4b8b4a3e74ff8b3fa0bd4b3cc54a57bd021b3c3e83d3893f421f423c8f2b56bd0381323ed795723f7c964d3c09ce45bd358d243edae0423f9fe43d3c534c2dbd67fb0d3e14f90d3fbce7553c4c132cbd5745f83d8af2ae3e506f4d3c3f800dbd2cc9bd3d0220183e1f8a413c212800bddc4c843df0912abcfc80283c30f8dcbc9112023df778d6bd3d092bbe3c010a3d0000000000000000461931bef0b21c3d00000000000000006b6515be9aa3fe3c00000000000000007acfecbdfb0ce53c00000000000000008c8baebdb9c4c43c0000000000000000068c6bbd1686b23c0000000000000000275b08bdac21a53c0000000000000000f223dbbbabb5793c00000000000000002a4bfc39554d3b3c0000000000000000fa34283ad378ffbb8c70553ceb132a3c4c12ac3a23331bbcc679043c8c18f73c4163073a1c4204bc647e383c991afc3c1726e9bae828d4bb8ae15e3c5763dd3cf4eb15bbd34b76bbc5cd4d3c2d948a3c2d3a86ba309f98bb67702c3c64b70f3ccec016bb6ffb56ba13991b3c4ca68bba2b9b96ba77ec2bbbbaec0b3cbe5820bc45a7a3baf5a10cbb770ee93bc52775bc6a1d7d3c455d61bc601ffc3ac159d9bb77e03d3c97a350bcc2a8b23bcf7b2abce069803c668b2ebccb87793b5c7fd2bbbf416b3c65251abc2d4c8a3b63a8b0bb6df9803c415717bc908b643b7be9d3bb9e5f793c057ae9bb6b55123b0271cfbbbae0673c3c25cfbb402ab63a9f6e03bc87776f3c2910f0bb0171cb3af10f13bc12f8653c817a0bbcda1148b9fc89d3bb2c77d33c0f111abe4519943c81b2423b13500b3de30d4fbe3f5a023d498219bbd479b03c433f60be8b2c953c2ae6c6b87e83853c0cfa4ebe0edc823c1dec06bb9432403c8fe222be98a3333cf7fe4ebb4b5b5b3c0e51e8bd8a6a9f3b0ce39bbb7f7f193ccd8177bdd7611a3b8fe7a7bbdaaa373cb71684bcffa863ba876ecdbb17d5a03c384f853b4d8bb33bb7aae1bb4002273b567616bc6f2a93bb7f28ad3f5361753b86f669bce578513c3a649b3f1bf4613ba22780bce2df9a3cc0428b3f2717b33bf52487bc69a8dc3cdb68613f0a75b53bcbe471bc7550103d4e2b243fd5fcc93be2e760bc2fd6293da982cb3e431fe83bd48e66bcc243323d39902f3e8a44fb3b316e65bc333a473d4eeb67bcd164b03b3299f9bb1e81c33c48bf1bbeaf0a42be83120d3d00000000000000007dd627be6531023d000000000000000004d909be61fed63c00000000000000000a6cd3bde77ead3c00000000000000001af591bdd135983c0000000000000000ce061bbd759f7c3c0000000000000000d92c43bc8d0f2a3c0000000000000000fd95983cc755a93b00000000000000002b18823ce3b8e83b000000000000000000000000000000000000000000000000f76c22bbac3401bc07604d3cc847093d109319bb5894ccbbce152a3c70cb073d65c78bbbd26398bbc314663c6a48cd3c6ad58dbbfa7353bb8d3b443c0d98913cb4444fbbd08454bbab88533cd5c5d93bd2c45bbb0640fdbaedd4203caef8b7391a355ebbd6e30cbbec07323cb5192ebc00000000000000000000000000000000000000000000000000000000000000008713c23be368ebbb8a7ceb3a57fb0e3c5d299b3be346a3bbfd28093b4122be3bde88053c631c81bba837143b14efe93b17fb053c43a90fbbc420a43a8e35e83b79a9fa3b0faa36bb8654b436d166883b86d6cf3bdc41a1ba44ad18badf9c2e3b8761e83b2527c7ba9ecaa1ba08f5253b000000000000000000000000000000000000000000000000000000000000000089bb753c460c63be24e4b83c4b61dfba3271523c14ea55bee4048f3c108323bb8aceb23b059d41be5400113ccafc3cbbd3f69a3b2af01ebec340b43b8a278dbba4ef513bbc7ddbbda138a03b73096ebb074f113b9c2270bdb549083a5292bbbbc1b2863b4365a9bceb48a13bd878d8bb000000000000000000000000000000000000000000000000000000000000803f4d90e8bb866f8c3c2755e9bd5399ac3fc4cf80bb72b1313c01bd96bd34778e3fe21387bbb27a233ccd2068bd73006b3f605ee6babaae0d3c250121bd941a2e3fd1622fbad581143c5d25c4bcd645de3e93bb8e3ab1dcfa3b1c3596bbd10f513e5fce86b967f2293c9d49853b329a79bc0000000000000000000000000000000000000000000000000000000000000000d226eabd1adb743c0000000000000000472b91bde4be113c000000000000000075165bbd0860093c0000000000000000626e11bd672af53b0000000000000000d47d7fbc8a2aac3b0000000000000000e17dc43b93c04f3b00000000000000004b978c3c717edc3a000000000000000000000000000000000000000000000000000000000000000000000000000000000d0dc1bb94d27a3cb3bb423ba6e7753c92afd0bbdf2f693cf05eb23b4973343caf6e95bb8425503c79df533a05e9403cb2479abb84ae563ce7883cbbb0cf333caa347dbb266b363cf48068bb8f09223c9d1185bbccc5173c1b867cbb69fbdc3baa827fbb3e08103cc659e9bbf85f083c000000000000000000000000000000000000000000000000000000000000000052458dbb0c6f463bd6dfce3bbd037abc9bf93cbb2de62d3b7c00a33bcd131bbc09762fbba02a313bd4258a3b989568bc583006bba04f4d3b58d48a3b5de75cbcaca81dbba3493d3b1e3b243bf6322ebc0b08b0bae175313b1fbd7b3a90dc96bb5627d4bac4f3133b71378c3a50fbe4ba000000000000000000000000000000000000000000000000000000000000000023c928beabab793b6b06cbb99bf685bb70cc25be3e26a03b98f6cbba9d5039bb861209be04318c3aa79b0ebb867767bb61b6d7bd88672a3b726232bb81b494bbfb989bbd68bab73ba2221dbb9b1750bba41d3dbd5cd4293cab787fbb8d3a67bbc7e8babc011f963cafef89bba2ae63bb0000000000000000000000000000000000000000000000000000803f00000000c8f1253c0195b0bda253a73f036b9dbd63e00b3cd98e7bbd2e788b3f3f8f4bbd0e1bce3bd3c745bd8642623f3ccb1bbd7e04b33b022020bdd0f4293fb80fefbc4584b03bcdbc02bdbe60e13e4dfeb0bcdbc5bf3be1e3a4bcd92e603e6b3328bce616a23b1046a5bcbb0ac83c6f0717bc000000000000000000000000000000000000000000000000000000000000000040f4af3b4b9105bb0000000000000000f1af823b5e45e1ba000000000000000039a9113b2a7203ba000000000000000071fd423be50705ba00000000000000005c1e913ababecab90000000000000000552f613a8e57f9b900000000000000006499173a099b7a39000000000000000000000000000000000000000000000000b4ae7b3c4d04e7bcc65e053db51e6aba85eddf3b26da82bcafe6163d919102bc224e283c162cacbc6a911a3d2a1be8bb404f353ca96c9fbc7947093de2160abc4725313c72ce9ebc27cdf13cab24f3bb526a2f3c4d82a5bc735bd83ce1ed1cbc6628363c6c0ab3bccb7cd83cfc6942bc2cb2003c70388bbccb6daa3c52cd62bc34213a3cd37ca4bc7683663c253466bbb3659e3b05966f3adbc8663c4b9c5dbd1a72eb3bba1c493ac6136f3ce0ef13bdec80043cbfa85d3abc89523c64bb2abdbfed0f3c069f373aaca94b3c71243dbd33de083ce837a23a57e82d3cfa392fbd1e31283c8ee3553ac626163c6add1fbdf3dd183cab6d8e3ac976103c783d13bdce472b3c2744ba3a2edfcf3b380ce7bcc15eb23b0b02da3a8871043cbe3e08bdb6d239bd09d2cabc936b723b55e205bcc95eeebda50c8ebcc22f293b057d10bccfd5e0bd3b71e1bcd4d1dd3a9a5516bcf16badbd1bd3eebc8d96c03a828010bcf9b466bdacc0dcbc50ac453993730fbcad76d2bc8dfbbebc88e5b3b80bed10bc38bf393be8037bbc234926b9a6c316bc63bff33c4771d9bb0407b2babeaa19bc90612c3d5eaf763bc2481ebb190906bc1e8f8b3c0fdb08beaf01aa3fe047703c6376a33c20ad07be0cf7a03f68f1043cd3c78a3c0f67e3bdedc08c3f065a823c1f1c733cd70cbfbd9285643fd9767a3c2860813ccf43a3bd48382c3f2d81513cf39a743c50638abdbf5be73ea40e0a3ce9f1623c471660bdf1fb6e3ea8e34b39100d803cde111cbd09ad153d1c5f733aa5c43f3cab4635bd5b9d7abd6a29adbc0db6eabb64604fba00000000000000000880d9bb9665fe37000000000000000032e6d5bbbf057d3900000000000000001a948cbbc6261639000000000000000005e56abb2582b1ba0000000000000000394b5abbc60bf0b90000000000000000b89d08bb82c02eb80000000000000000dcd413ba82ee22ba0000000000000000ce747ab90ced61ba000000000000000025c00b3de4659dbd961cb53d1b8a1dbdb297043ddb0f8dbdeff99b3d3740f0bc65e0073d027f89bd69929c3d5a2100bdf663053d554088bd355e933d0d08f9bc017dfa3cd7f981bd506b893d0cd6f3bcb6e3023dabb581bd849a833d1dd706bd5fa6ee3ca41f6fbd6a6c6a3d107ef8bc421cea3c75146abd73c1543dadf8f0bc67e1e53cb66a78bd3bd2783da47c01bd0b5a913c66cd5abb6849833ca1aa8bbd08e7973c565629bb89bc8c3cefc78abdd3fb9f3c3bb659bb8071713c3f3e8abd8449a83ca9d7ebba040f7b3c27118dbdd2769c3c7211bfbac8a27d3ca80689bd49b2b03c9a703fbbe2546d3ce99585bd3cfe9e3cefa458ba6a2a5e3c2c4179bdc08a973c278275badd224c3cf30d6fbde4727c3cf0dfdcba1b92663c826e6abddf15423dd03392bdaf8de33b1ed824bc77f700bb1002a8bdb502023cf7e445bc9fc646bcf70cabbd6c4af63ba37a44bc5ece003c66a3aabd2ba2eb3bf93955bc5c25e83cad669cbd83eba83be7b150bc90f54d3d7f9e8cbd4a9bd23b23ec57bcf1048d3d0bc15fbd14a4a73be9324cbc3680b13db7ef36bd9c5caf3b79f055bcda37cf3deb3318bd2498ae3b2a0d2dbca740823c5920e7bd4e3f8b3f732f373eb677943c204c01bea5fb893f3247203ec1538b3c83b2e0bd4fb1743ff4730d3e67d1853c1bd5c5bd31d6493fd1d5dd3dfecc803c369fb5bde82f1d3f20209a3d09b2653cdad6a0bd0bfadb3e15d9333d47af813c3a578fbdeeb0823e4c8af93b98057b3cd27c76bd66eed23d4d86a8bcafc6683c05b355bde4931c3cbf903ebdb406abbcd57cd4390000000000000000534ba0bcf92b093a0000000000000000910990bc7ccfad3a0000000000000000aad878bc4f4610b90000000000000000b4ea18bcfe23dcb80000000000000000196b01bc562ef4b90000000000000000c34eb2bb1f71c9ba0000000000000000f0f151bae6c510bb0000000000000000b31d273aa7d02fbb00000000000000008e862d3d4db0dabd9ed10a3e2c27a0bd2cb02f3d2168cabd8c08e43dec3a80bd10402a3d379bc4bd8377e83dff3d85bd759a293dbe79c3bd66a8e13d090381bd83422b3d8cf2bebd3b4bcf3df16980bde48a233db880b8bd2431cc3d399680bd16ca203d36beb3bd9f98bf3d938b7fbd6742183dcbf6a8bd61e8a93d9af76cbd4ad51d3d0c56b7bd31dacc3da83088bd9c94e13c38ecdbbb52d1a93c05f89bbd7bda053dc96c01bc3c609b3c79e597bdbafd0a3daf56dfbb6494943cc40298bd4adf063d4093dabba303993ca0da94bd0a8e0a3dfa46b7bb1e4a8c3cdf8792bdf254043dbfc0bebb750a8b3cba0d92bd17ee013d7e7ac1bbd30d8e3c75128dbd6ef8033d934589bb9074863c5e2a88bd0b60d93ce9f6acbbcab2943c100086bdd378c63dd962e8bd62de353ca0e232bc6749763dfa8306be3762623c12a755bce2e55f3dff520dbe4c39563cc8e761bc91948a3d133508be27ae4d3c48977bbc1967a33d365efcbd4726563c5a9275bce3d9ca3db82dddbd8efc6d3c66606dbcd411e93d3660bfbdda7a593ceb837abcb6b9023ef458a3bd267b673c6e7089bc200b0c3e1f9991bd8476493c5cc13cbc300f563ce87ec0bdc1d15e3ff79bbc3e2b8c803cbe7bcebd620a5c3f2a0bb13e15d66a3c4792bcbdf5aa443fc228983e3d6d753c5763b6bd5cbb243f51706e3e71366e3cb620a0bd332e033fc736293e6ff9723c75cc93bd9215bf3ea4e3c13d51c05d3c451e88bd3900733e6aa2f03ca076723c02d577bdb3a2fa3d4bebf0bca2713b3c76d95abd93ee3f3d35238dbd2fb50dbd823e163b0000000000000000b5f70fbd1435303b00000000000000008c63f5bc0fa4df3a00000000000000008c32aebc3d71dd3a0000000000000000b8b289bc8cbbc6ba0000000000000000e97061bc500b36ba0000000000000000c67df0bb72668bba0000000000000000116016bb671b1bbb0000000000000000ca7199ba621067bb0000000000000000e14f1f3d5002d8bd3a6d123ee56cc6bd873b2b3dc394dcbd06120b3e6e33b9bde361253df9b2cebd31dd033e505db2bd54cb2d3d9114d5bd1db1023e1f3bb8bd439c1b3d82e2c2bdb426fb3d725cb2bdfa07283d56dac9bda897ef3d61d1b7bd6bb01c3d2e4fbebd3e53e23d5d31aabd7bc21b3d7a16bcbd4d1adf3d66eeb1bdfa83173d4cafbbbd6cc6e43d919caebd76d00a3d3a4b20bc602d9c3c81dd87bd79e81b3d6fea20bcf15c9c3c98a383bde309193d4d361bbc4ba5913c14a588bd5322263d498814bc8144973ce0298abdcecd053da71ffabb694c963c5bd984bd0dcd233d24ab0cbc6138963c6da388bdc8a0133d3a1405bcf97e903cecfe7cbdfea91a3de32218bc501f9e3c81e483bd0093053dc079fcbb08218f3cc80378bd073cdd3d252f04be0d7e5b3cf1f020bc3a66ba3d04ca21be0d91623c479749bc72b1ab3d99231fbe66b05f3cb15a40bc8a13ba3dfcac20be7c6b803c76c661bc0ba6ce3dd98702bee4b53a3c1a0536bc6654eb3d309c05be5b878b3c41a976bc855cf93d20aedcbdaadb8d3cc9d03dbc9f6d0c3e2a40c4bde61e953cf96c62bc3c250f3e4da2adbd9bd3a23c80583abc44d3353cfd1890bdf545243ff6e8123f17b5633c6dbc9abd4bf11e3ffd1c093f4994333c8ab88abdac800e3f2ee4eb3e5e8f433cc20483bd0e76f83e4112bc3e13f6333c37146abdb2a6c03e8971873eb615283c205268bd7aab983eae51283e68263c3c4b4164bdda314d3e49c98e3d0cf9323cbf234dbd9625f43d3ca493bc9742353ce8673cbd4aac583daacf9dbd9f834abd5dc08e3b0000000000000000ab2f40bde73e993b0000000000000000f6c425bd0f297f3b000000000000000083c009bdb6f1403b00000000000000009fe8dcbc7d30f23a0000000000000000b1399bbc515db9b9000000000000000002b183bc71ed82b90000000000000000ec65cfbbadab20bb0000000000000000f7a8b0bb740a25bb00000000000000008031003d592fb5bdc143fe3d2321bebdba020f3d7790bfbd441eea3d64e2a2bd38b10f3dcf83b7bd9648e63dbf36a1bdc6b60c3dee4eb2bdf306e23d3055a7bd12e9103d76e7b4bd6a64d83d127da2bdfdfd0a3d01a4abbdd679d13d4808a6bdf00a083de5c1aabdbb07c73df46ca3bd13260d3df316a7bd1ea6b93de9089cbd8f50ff3cdc19a4bd5c8bd43d1e96bbbde6580b3dbc5130bc9f6d773c58ce40bd11f9273dd92b49bc2eac823cd17443bd4b61223ddbcf46bcb713813cf61745bd456b223d0e132ebc70b77f3c5c574dbd3acc1c3dd2602cbcda4b693c08544cbde6f41f3d9f8d2ebc2d34783c1e3c50bd2f231f3d281324bccc30783ca51b3cbd613d173daa6524bcc2c06a3cea094cbd5e8b0e3d25081fbc87b0823ce55f3cbdcbb4b33d28c50dbe829c523c030904bcc74ba03d4b413dbe64df7e3c2ab515bca3ca903d4b5642beec9c7d3c25f825bc69859d3d38e735be3dca753ca9d02abcecd3af3db7e724be60ed963cc87946bcb9a2c23d00740dbe8dc3a83c0f2249bc46b0d83d5bcdf5bd764b9f3cce8944bc962de93dd209d3bdd761cb3ce73367bcbcc9f83d51b0b5bd72d0c93c0dff4bbc5026223ce40e47bdc59ddb3e02d94b3f3ad3273cf45b61bd4707d63e0f83453f99a4153cf16052bd4883c53ea4362a3f2f850d3c073a3fbd062da93e4344073ffa34323cc29d38bd07668c3eb62ec53e09141a3c56572abd3233563e741f733eaf76193c6a272abdeef7173ebd7cce3d52be0c3c47180ebd2331ba3dd17681bc94ac013c14ec02bd8ca92e3d5380acbddbbb8abd8c4bfa3b0000000000000000b5e991bd8664053c0000000000000000d6cc68bd6265f33b000000000000000005033abd353d963b0000000000000000419514bd917e653b0000000000000000bb9cd8bc9729483b0000000000000000d0dd8fbcc21eee3a00000000000000007ace14bce888ea390000000000000000f6fc9ebb1fe22c3900000000000000009605a33c493378bd0340b53d718695bd1296b93c15077ebd2b4ea53d7c316dbd894fb23cf2d273bde16ca63df06572bd5654b93c79e37abd8a24a33d619b7abda5d6b23c0a116abdbc909b3dd96879bd81afbc3ca7c572bde7ba983d893a82bd808fb13c3df563bd710c903d9da380bdda8bac3ca59c63bd032e873d7f257abd6489a93c83aa61bdc2a8973d5c2796bdcfb4083d94834dbc44ec373c6f15c3bc64b10a3dc65756bcc95f163cc804bfbc5e9b103d33904fbc890a1b3c4519d0bc72610f3d885c3cbc955e243cf162d4bc699f023d350c2fbcdf55143cbe67d5bc5ca9083d240f3abca584163c8a1dd7bc22e2003d56b92cbcf2d92e3c66bde9bc68c3fa3c8dc51fbc8b1b1e3c9ca1debcec35f63c01682fbcfc092a3cf353e9bc8e3c633d0ffd11beb456663cafa7a0bbef03413d666a44bee3bb6e3ca82561bbd6c22c3da56c4cbe953f4f3c094597bb87263e3dd2433cbe5bd25f3cf079dabb26f94d3d4cb223beda4c7f3c921dd2bb6400703d7b8e08be1f518a3c3eeae6bb213f843d7a76ddbd5f4ea63cc33007bcfa0a9a3d6867b0bd7ba0b93cf50c20bcf224a63d3fa496bda9c4c93cb02a08bc9d65da3b5815fabcbb905d3e3305843fc2d8ba3b896fe2bcf1d44f3e6837813fe575bc3bbfe2d8bcf2e9463e3daa5f3ffa02c93b6eaacdbcb61d303e9422323f1f46b13ba5e9b9bc38dc113e2570023f2c47b83bb2b0a9bce61eeb3d8187a43e2fe4983b20b09abc314caa3d5606153ed5b0bf3bc3848abc0bf15a3d68cbffbb7961cb3b680187bccd0dcc3ce86dc3bdbfa4b6bd0d893b3c0000000000000000a117bfbd9ed8423c00000000000000000d359cbd3b94213c0000000000000000ce4b6bbd2029053c00000000000000006c4741bdd742eb3b0000000000000000dd6504bd26c3803b000000000000000030a9c1bc70f3953b0000000000000000cdf003bc0788393b000000000000000001b56dbb9f67ab3a00000000000000003bd5d23b9728b8bcc98a133d658b03bdd3022c3ce07a00bda59a263d018b7bbca8f3233ce23ce6bc679d1a3dc3d182bca297223c3cc9e8bc45a5243d18d4bbbcc583263ce61edcbc773d113d5d43c5bcbd942c3c456ae0bccd16113d2ffcd8bc47d21d3c6467cbbcaeb2fb3c58c4cebcfda6323c489bd5bc2ba3eb3cc43fc1bc4a39023ce550b7bc9c61fb3ce02b26bdb1d4b33cccfd30bc0e42443b18b0aeba0a449c3cd2d737bc6aad403bc8dd7abb6f07953cda050ebc81d8223b666439bb1a08aa3ca8c318bc0beb4c3b79a2a9bb4ac5973ce058f8bbd8290b3b3bf1b7bbe830963cbf90e4bb8057233b005dc6bbe4837a3c9471eabb81c5273bdfd5e0bbb5204a3c5506b9bb3a11333bda370fbc5a14a53c7ba10bbc55ce533beef1a2bbe3b8d43b51fe0abe7189ec3b51b2143b1a2fc03c9dfb5abe3f69663cc3ac463befc3603ce91253bed6eb2a3cdaf8373899fd383c00743bbe4c04e83b0ff90a3a33c4503c962b1abe7b1ef03b398457ba9bc9923cf33cf0bd37272e3c529572bbeb3bbf3c9079aabd47de553c92e53bbb59a0023d248861bd1d25853c5f97a1bbf11ade3c16d00cbd5b5fa73cfe3c8fbbd217f63a6576b3bbbd19a73c578ca63fc4370c3bf290f6bbcbc3cd3ce1cf9c3f4d46053b600403bc481f153d8c3b873f1bb4f93a435cc5bb269b173db17e583f04b1583bd5f3bcbb2b4c193dd0e01e3f73eeed3a3ab4bdbbd072073d68d9c93e3e9f2d3b79599bbb16b0de3c47c5333e62751a3b24d88bbbce3de13c000993bc85e1e03a66fe22bbac5344bb34a9ebbd40c5eebd71646f3c00000000000000004fb5debdc173413c00000000000000008f01abbd81d1203c000000000000000046ea85bd1637093c000000000000000099b042bdc287b23b0000000000000000d9960bbd5817dd3b00000000000000000da99fbc0f2b863b000000000000000079c0d3baf5ab273b0000000000000000e1f4d6bb8bda333b0000000000000000000000000000000000000000000000009bb669bb869f983b3d37ae37aef2383c00cfeabaf0de073bdd86df3a8e2e4c3cc1d5febad84a5a3ba1df85bab8220b3cb52214bb8efc613b7d9d1eba8d87dd3bab77d9bad860683bc5a48bbaa79e2e3bb09be2ba34cf433be77a51bb4bde8a3b0d961fbbf1fc963b4ce085bbe2a853ba00000000000000000000000000000000000000000000000000000000000000003f80df3ba019bcbbc56401bba6cf643ccc23c63ba36e92bb883dfaba62771c3c6948963bdd5941bb406d16bb9c5c263cd2e2853b542c31bbd52debbae3a9273c18f02f3bae952fbb50ce2ebb3342293cf530283afe727aba1c6ffbbac6dc033ce8e2e9b9688905bb540e09bb25b6243c0000000000000000000000000000000000000000000000000000000000000000aa10debcb84b23bea75606bb61139d3b91b49bbc6eef22bef5bbc6bac7748c3bb658c3bcd48705be0b3b6fbbfcd8443bdc4ab1bc5418d2bd310b70bb1e7a063b0055afbcd41493bd551c0bbade85fe3a049d45bc07562ebd2ec0ca3a290a4b3a1ff154bc5ddd5ebc6104f83b08ab4739000000000000000000000000000000000000000000000000000000000000803fefa129bbacd5273cd53fafbdcbe1a73f60efa2baeca20f3c62456bbd04b28b3f5fdee9ba6dccff3b476a32bd23ac623ff681a2ba98e8d63b457b17bd20fe293fdbbd86baa3d6cd3be22ddcbc9c61e23ea43336ba7291b83b3b08a3bcea26613e6b38a1bab99dfd3bd5fda4bc3fe4d83c0000000000000000000000000000000000000000000000000000000000000000fe6ba2bd7457183c0000000000000000d1b952bd3f948f3b00000000000000009d191cbd515c833b0000000000000000ab51f1bc9d067b3b00000000000000006323a6bcb6522c3b0000000000000000ad850cbc1bbedb39000000000000000031a1f6bb642dc43a00000000000000000000000000000000000000000000000000000000000000000000000000000000144e193bb0f0f9b9371b343cfd438138b937c33a59750c3a70991a3cc97ca33a1f1bc03a5443ac3a8120073ce074be3ad11fab3a3c14023b9042da3b402ea03a8bd9db38bf628e3aa4bc7e3bcaec58395fac9b3a5be48c3aefec123b64c09938521a423a85279d3950a104379cad03bb00000000000000000000000000000000000000000000000000000000000000009108a23ad82c203ab4f70c3b486c7cbc6975853a81199a38e123173b4a8f52bcf4c7513a835bc038aad11b3bf2f633bc94b9413a43a26f39c8be073b2f1617bc8d43083be48561b9c36e9f3aec440fbcdb17df3910dd02374d20033bad28e6bbac8e4c3ac38303397309d73a13da8bbb0000000000000000000000000000000000000000000000000000000000000000a8f654bd159fedbcc40e013bce0b1a3b9b6149bd2076c2bcab96203b989cf53a34f827bd463ea2bc5c23ea3a5223f73a6adff9bc325379bcaecac63a85a1a23a8d84a9bcfb7644bcda28833aa9a3993a6b8a0abc26f20cbcca7c8e3a7bd87b3a89c79d3b03bddebb7aca753a85068e3a0000000000000000000000000000000000000000000000000000803f00000000472ee0bb0d5dbebcbd0c873f7c262bbcaf4c9ebb21923ebcc7d2613fc49bbabb21bb89bba8d2d9bb795b383f7035a6bb70c23fbb43969bbb72940f3fa0ddedbb6dcd45bb060a83bb921fd03e620f37bc058750bab36fdbbb44cd823ea16c87bc969fa6390a9f2dbc060ce03d602ebbbc0000000000000000000000000000000000000000000000000000000000000000d7de9cbc412ba83b0000000000000000b8a96ebc1adc783b0000000000000000ae373fbc8ea0603b00000000000000007c840cbc24e63c3b0000000000000000dbbcc9bbe732293b0000000000000000c4b05bbb1671263b000000000000000045b13cbb63825a3b000000000000000000000000000000000000000000000000f262073bf0165abb2edd263c9629af39372c0c3b521bf9bab4cd6d3c254bdc3ac7f8143b0919833a82615b3c2b54f33ae6238f3a72075f3a48a44f3ce0ed3e3b1e961a3a7717193a68de1c3ccd4afa3ac77c183a75ba2d3b2ce3f63b5f67bf3a7ab34a3a9402083ae26d983beaefe839fdc130b9957587b9588d043b7b901fba796967b998504ab79510b43a5932bdba69f097ba4a49cf3ac00a7d3a52db8fbcf93a423a461deb391c8b703b6a51a9bc7d76cd3a0248823a5918ef3ad16b8fbcf1ad223ac677bd39d189163b82d76cbc91bc6bb90eed69b9ae10ce3ab3bc25bc834758385b628a399bc3683b2bd22fbca7e6dfb9f5d5903a197eb33a832d13bcf2b7e0b6727367394973153bb48f02bce6cc58bac7f1863985198eb94566b0bb2075bbbcb07ac7bc0193d6bb5c3e883bacdf50bd72640dbd2ab234bbabfa693b9e3359bdee4f04bd00166cbad8f80d3bc70b3abd2ea3e4bca30dd7ba268d253b00a504bd05e4b1bc9f5489b82e514f3b1333a9bc72328dbc6f1eb5ba8a5cf93ae984c7bb092f42bc65c6b8ba03b3ab3a9441073c9a6ae2bbd18c7eba05bdb63ab1db9e3c3aba19bbdf2923bb14c2013a214497bbeb3753bd966c873f371efc3dd42368bbbeb25dbd4e387d3f7ed0e73d255354bb99bd13bdab0a563fc65fca3d9c248ebb5608d3bc579c2e3f2335a73dc3ec6abbc60fa0bc7322063f2b89763d3894e9ba2f1c92bc11bdc33ed3491a3d1b158db98d9f8dbceceb743e6b0d6a3c0cd6123b6de69ebc9c0bd43ddb3e18bce6d38438beaa67bcb7d02ebc4fafacbc7eef0cbd7f9ca83b00000000000000009e341abd27f4e33b0000000000000000881300bd8576953b00000000000000009ca4d0bca7bf963b000000000000000089e1a6bcfcd3503b0000000000000000836c8abc0db5863b000000000000000020a84cbc8da0833b0000000000000000528f17bc20b4963b00000000000000000e38cabb3f177a3b000000000000000087ce8cb9d0ba08bba3fa203c48314e3a1eb3c63a72b9fbbaa3b8623c2ee9593bc254e73957f224ba4fe1453c1f8f763b97bee639d7cbd9383e7f523c9467853b667c403a0262cc3ae137173cb36a503b10d539b99c2fa539de500d3cc9a02a3bcf8f863a953173bab9a7d43b8bd2fb3a6dcffe39633c74ba2a14603bc99e11b96c19b53912917fba6978133be2fa3abafe96c0ba5b00513aa28324ba0ce98cbcd58d14393762583a314c303bdf9596bc64adb8b9ca77303a07c0f73a864e66bc63e126ba52ce2f3a93b8c03af04650bcc721b2b99d120c3aa8ebb43a0d1b27bcfec12eba0056b7395638603a9ce719bcf842dbb9d48cb03992c37739abbc04bc86b48eba3a896b39d7812c3a143beebbfcf3a8babea68438825be538102786bb6c0404bc25d285bc63d63bbc4f67373b4a61ffbcd0b5fdbcc7bf3fbc2b368c3b559406bd720de9bcccae03bc5eca603be32607bdc3f1e7bca86ae0bb5b31473b998eacbc81e9a3bc02cda3bbb8dd083bcb5555bca63e8bbc29d09dbb2b0f0a3be6dbc9ba65ea14bc54db6ebb9c5f0f3bdb193a3c5fdc91bb19db78bb018adf3aab728b3cafeddbb844a97cbbbd4d553ad3dc22bbb53269bd97a7643f16f98a3ec34fe1ba90c387bd2aee583fc32c813e73d811bbe6c837bdbfbf343fd5485e3e6b4d2cbbe09b20bd5ee8183f38a7373e57adc8baf6d2ebbc04f2e93ef7a10b3e9f2673bab2dfdabcf3e9ad3e6ed3c43d910e08babb7bafbca0a95d3e970f623da854ef3a3dedbabca5dace3d32526e3c0b90643a095b80bcf1230b3af8fb63bcf9a62cbd77808f3b0000000000000000076155bd88dac93b0000000000000000881121bdced1963b000000000000000076ef16bd73e4863b00000000000000008fbcdfbc35c55a3b00000000000000005fe9d7bc4ef0863b00000000000000009585b2bc90d0a13b0000000000000000f34b98bc658fb43b0000000000000000832d4dbcdd9e823b0000000000000000e5dc4e3afa821bbb19f7063c78050b3b2060093bc98715bbf5c8453c0323b53b10a6443ae9a525388c7a543cb3d5af3b42ca9539126994380c1b3d3c08a1c73b50f7abbab4a1ff39aa5f2b3cea0da93be873ca3aa5a4dc37a86c093ce77f803b30bc5fb8035085b8931bd63b9d111d3bcdbb76bad6bf12bb2a51a73ba0eabb3affa985b974be99ba423fa43b6e0f55b908c195ba50879b3a8382cd3aff2d6bbcdb116cba1761f33a9d0d8f39d31699bcf41fb9ba3547313acd9f1b3b991e68bc77b853ba74f1043afddfa93ab4142ebc73ac71ba5fbf243997bbba3a501e23bcd130b8bae02d4339ca92d139a11dfebb88db02bb5cf94bb73449c439d8c8d9bbc76e0bbb0eb5863955841c3a131eb8bbca72a0baf6f1eb3947306dbadefe86bbd1aba5ba5f4441bcf48785bcfbdfa63a56c78cbc6f4bdfbce41495bc784a5a3be792d3bc86b8ffbc674461bc13cf5c3b041cc9bc06b8e2bcc9a936bc92d33a3b66068abc3714abbc52ae11bc5bde1a3bb2cb1ebcd2977cbc86defdbb4b5e323be5f3063980d200bcb474d3bba4e8e93a354d2a3c46f84cb9ca83bcbb14ece63acb507c3c8dff333be55a80bbedd2893ac1b0c7ba9f335fbda5273b3ff2a1d73ec0a2b439005087bd93d8313fc97dca3e5dbe81b8c9ec5cbd8984193fb613af3e58be0abaf52230bd6e4ffe3eb5eb8f3e4872eabaef5209bda9f9c63e91db5f3ec5b997b96042efbc02c4923e4057203ea5bc6f3a2871d1bca0253e3ed036c33dd7691b3b2477b9bc384bba3d4de91e3d27e4f0386f357ebc6a83ae3bbce7e4bb1c9942bdfcf5ba3a000000000000000075f075bd05eba93b00000000000000005ac452bdc3e26e3b000000000000000023fa33bd74ad483b000000000000000097a216bdef722d3b0000000000000000b01c07bd96b8603b0000000000000000bbcdefbc34ff8b3b000000000000000017c0d1bce24dad3b000000000000000045c18bbc5178813b0000000000000000fb2602ba941cceba8fb6e43b93f0a33b15c2c83981aea9ba8c66103c0779e63b6ab499b98ca691bad2bd113c4f34f43b55cc57bae18b98baf908163c915c0e3cee75f3b9cf449e3a4f4ecf3bbb29b83b3805e3b92b727439972be23b07dec53baca876b9892e0bbaf81dbb3bfe703d3bac2ff2b89c2749baab8fa33bc404023b529ccdb9d0a4feb9a753823be381b63ab1574bbb515a0d3ae1f973b8cda35cbcdaae12bb7e32c33ac8b2d73a3b616bbccd1cb8ba090ca33a118c013ad52f2bbc03cc70ba00ee053a6e85ea3a2d5802bcc886b9ba2268ac3927fc823a2677c7bbfa3ea3bad80cd639a6e4fc39ef65b9bba88615ba7ee751baf74c3d39bdca9ebba19127bb5bbf113ab2661db8657a9abbb79d19bb0f846239be2256ba462c49bbb10b6e3aba9416bc24469fbcdfcde93a7e8945bcbd04c9bcf7c8b2bce82a723b02fb82bc2580e2bc64d787bcf15f453ba54192bc7ac6ebbc17fa6dbc6263463b36121ebc171789bc425419bc454cdf3a3a1ef8bbf4ea6fbce2d517bc3acb203b7e5417ba6cc58dbbf86cd5bb2736093b31abdf3b2504703b99f7e3bb5969c03ac178313c94c6033cba8caabbbebe99395e644b39fd3d53bdea70133f042e133f415bbb3a8b607abd6e910a3f04ae093f96e35db90b813ebdcf4aed3e993aea3ed1780aba05482ebd6baac93ef6e1c43ec0acbf38f8dad0bc8214983e1fa5933e0564e839f96be8bc76a46c3ed84b5d3ebe65363ab7d6b6bcfd97173e0f9f093edb88d53a9581abbc92fd993d8344783d58df143a3e6868bcef5bf03b651c83bb612b54bd75e4123a00000000000000009d1981bdbe9fd93a00000000000000004e474cbdc5807f3a000000000000000038c448bdb342ab3a000000000000000063290bbd31a5c63a000000000000000056d81dbde4ff373b0000000000000000525bf4bcedf46a3b0000000000000000752bf8bcf4c09a3b0000000000000000a875aebc3345463b0000000000000000c18000ba348be7ba0efa7e3b5876d43bf887a8b9e60604bbbe4ad83be608283c52163b39b5c8cfb9a093ee3b1b6d2e3cd20c83b9d68f4db94c61fd3b962f1f3c83d007ba9a223cb9804ef43b53bb063c30a7dcb9354802b795ffd73bba1bca3b9ec78c3a5d7e24ba414cd83b0b4b6c3b523bccb9cae738bbb8808d3b7ebf1f3b9dfa19b965a627bad3dd6a3b4724cb3a26e061bb983b2d3b6c4b7db96d0951bcc28e13bb447b1a3bada8203b1fac5ebcdbbce4ba0d90db3a8783e23a7a0910bcc1a7a3ba5aa2aa3ac8378b3a97d6e5bbf08054ba677c303ae2cbe839a0a4b8bb2060cbba6db6db396631103a6f72a3bb3a7121bb8c5ea83a6e9c9db992a7a9bb945673bb3aa3c53a9c7fc73a06b59ebba2e623bbbbe41238f85a953a5f0d63bbe2b0bf3af5b01bbc3251b8bc8cb6b63a925734bcf20ce8bcffe6d8bc5c2e953b121d8fbce23c0ebd1cc3b6bcb8277d3bcffa8bbc5b5fffbcf16995bcda9f543bfb0a56bc4e2fb5bcb4e866bc02bf3a3b9fe01cbcf6e467bc2b0d44bceaa6123b4d2952bb19908fbbfec225bc6720ad3a18cf5c3bb2df0e3c4cb40dbc15f0373bca15cf3b98c13d3c365aacbb801be139cf363a3bbdff45bd4110d93ed3173b3f66d0873b9a4a6bbd1494cb3ee018313fc5e0413b63e240bd2f7cb23e993a183fbfa4113bb2bd1ebd0635953e9f05fa3edb06c93a1216ffbc57db6c3e7974c23e8e08033b1984d9bc08a1303ee97f8d3ef518f43af4afb9bcccb1e93df430333ebddc013b47e4a0bc09276d3dbf44a03dacc03b3aa44b57bca35eaf3bfc2c3abb6fb863bd3675d0ba00000000000000007d9b90bd23c9d039000000000000000084006dbd105b2eba0000000000000000c30b4cbd918b21ba0000000000000000fb6b35bd764f103a00000000000000000dae24bd9f15b13a0000000000000000be2c1ebdafc6723b0000000000000000375e15bdd3e7623b00000000000000003b82c2bc03bb3f3b00000000000000000f0de339e0574dba0a4565b70e6f153ced8d223abf1601ba0fd4363b8ae2463cd12c2f3a18719eba4db5a63b47b23e3ce4edbeb9a4b360b8781aae3b20143c3c290a9fb8d48380b989cc943b1dcefa3bd315d6b898512d38dcc7aa3b41e5e63b20069bb970105bb92e338c3b1589993beab7adb86c9be9399a8d293ba5dcab3aefce8bba6ad6d8b9f7703d3b8b38b83ab14e87bba025e7390301b63aa6e817bc5eaf05bb51eb493ba15e113b70b30cbc8e30c8b9674abd3aa414e4393f9dc8bb1e292ebada4f003bc13b703a551690bbe480dfb8339d5e3ac69b2e3a11176abb98168fba8fb39e3aebb72e3a00d673bb2b8ab2ba1c67233a077c69392b835abb5db75dbb666fac3a1cbac339a2db3fbb89ce0ebb9b514f3a589894398e4a49bba5e14ebb0fa05cbca48ac5bc6ccc363b56d85bbc138417bd7097f8bcb28b993b339e89bce05a19bd0054b7bc9fe04a3b16f58abc1e3c1abd0e77adbc76f75c3bec6d4fbc5247c8bcbd696dbc7b0b0f3b6cb63cbc0d4e84bcbbf35bbc7215203b2244d9bbfce07bbb9ef91abccb681f3bdcd988bba624113ce03efcbbba471f3bc4de103b12027d3cff66afbb2b62893a96ba7c3b2a2c2cbd275a8b3ea58e643f1cdeb73bc2074ebdbb0e833ecc26583f7012613b299119bd1410653e0ed2333fa5f0653bd49507bde263433ef16e173ffa21153ba490c3bc027e183e011be63eedcf2d3b44dcb3bcf021e83d2beea93e350f1b3b4acd89bc3eeb953d3cfc543ef25a353b1e3969bc1e800b3dfb1cbe3d2287f93a82952abc1f7bd63a25ddc5bb7d6268bd76720ebb0000000000000000128a8dbd3448f1ba00000000000000004d224bbd3a48f1ba000000000000000081d442bd933030bb00000000000000001b6f15bd3de2d4ba0000000000000000259e22bd560cb1b8000000000000000009240fbd9c96f73a00000000000000004bdf18bda22b983b0000000000000000d005dbbc5c7a663b0000000000000000b43fc539aaac1cba626e32ba567a133cee9c6838ffa32039c4bec33827b7613cf01a56361bb81db93554fc3a22a25e3c06a6c9b93ca2f8380c68393b3d2d433c702a87ba52d3923a3913853b872b233c279953b94e1a0b3991f16e3bd707e03b667815bab161fcbae8ad393bcdf5aa3b9cb34bb9811fa8b8bb61ee3ac3ab883a6f5abd378ded7dba1590743a3bf1a23a86c641bb82661e3b8934b73aec25c2bb560801b8cc87373b3d89013b38de4ebb5b2c263ab0ad383b8ea8a33a944ac9bad9574c3a79b7213a66204c3a95938abae892bdb72ef1803ad79ede3ad8fde1baebefdb38104dbc3ab968e6392e89c3ba852e98bafdfe9d3a8d3cb63aa21d0ebb5645d8bab7afb43ab05f5b3acf59fcbac31305bb796c9e3abb067e39931d49bb1a7c0ebc1708cabcecc2e4bc5a3b0b3b958c91bc060f5cbd93de01bd7fd5d23bde7a92bcee7861bd0071dcbc7c8e863bff258cbc7d0d43bdb881b8bc6219783bb23a57bc61bafabc2f3d8fbc78521a3b77aa54bce39db7bc5ee563bc754c543b253b18bcd144bebb713032bc422a403bed1904bc5adb073c1d9af8bbe7ad583beb9e45bbf1b89f3c5bff8ebbf67ad83a6960af3b546409bd25e4fe3d131f873f9fa5d53bf06c16bd1f9cf03d1ce77b3fd635913b5c7deabc4593dc3d9300553f770b793b5633bfbce4cabd3d19d22d3f52900f3bb38892bc7789963dfec5053fc6be2a3b9cfa69bc32c9613d73bdc13e73c7523bbddd1ebce9eb073d39c36f3ef281463be1b306bc714a403c21efc93d944ef13a0604a0bbd14ba5bb89b881bc86e64ebd7d19b8bb0000000000000000a8a266bdfb2f6abb0000000000000000c3c92abd5375b4bb0000000000000000d7320fbd2a869ebb0000000000000000a06cfabc28b220bb0000000000000000049c01bd5e89ddba0000000000000000a58d01bd0ecfa1ba0000000000000000d4a915bd535e8d3b0000000000000000f0afe6bc8ad2d13a0000000000000000000000000000000000000000000000008ffea8383ea89a39b14667bab3502c3c38609738b51ff438c9f28c388a661d3c2112c0b94731043966f2153a26291a3c28dca8b93d4fdbb87f9e723a04c8cc3bdad537b94657a8391756b53a3dc5933b7e427d39d2aed9396e8a8e3aa580063b4e42bfb764c4d0b827b2413a2ed2e4390000000000000000000000000000000000000000000000000000000000000000a8b3c5395b452e3bb52cb73a46bf5d3ab69aab3a5fbf0d3b275e583a3fead13a600a173b8be1013b2cd25c3ac3c3a73a0d4c8f3a86b1913a35d15f3961cf733aa0f4853afdcb553a5374f0398e31793943ec2e3ab8cf1b39dc01063a61c283b779e30fbad740903a3789333a6a0085ba00000000000000000000000000000000000000000000000000000000000000000a0c75bc669155bd6814d1bc8dad573b9b5669bcc8a548bd851ea7bc822d483b9e3656bc281b23bd87cd82bcc251333b006136bcb6bdfabcbdf654bcaed2fd3a345529bc7239a7bc97c722bc98f51b3bd76119bcf3930bbcd58ddebb0668363b834d07bc4d6cb83b3d7c94bbc237143b000000000000000000000000000000000000000000000000000000000000803f0c169b3bea7e99bc4644c6bbebcf863f7384683b9d3760bc2eb85db98bbf613f11de3a3b48a527bc23fe2b3b460a383ff5b8063ba330e9bbef40343b3e600f3f8716e63a8292a8bb2b33673a2541d03e19c5e33a64a53cbbc6bf18bb3fbc823ede40043b7b63c1badf92ebbb0a7ede3d0000000000000000000000000000000000000000000000000000000000000000e7ecd4bc83fbecbb0000000000000000c26c88bc9fcbb7bb0000000000000000a51c54bc8dc9a4bb000000000000000026f358bcc23385bb00000000000000003a317cbc4f3131bb00000000000000000eb298bcbcdca9b90000000000000000ed89cabc4a76833a000000000000000000000000000000000000000000000000000000000000000000000000000000001580853a40c91db9e78e403c488dc5ba2ebcf33adabfb8b9a92b183cc90d32b9ac256db9e904ac39fa39073c4b628938bd0f8839bf966b3abc6ada3b23a81bba1bac68391850233a96edbd3b81566cba3f66ac39dae57239b04f6f3b813109bbfdd2bd3aa3cdcbbaffae6c3b64a924bb0000000000000000000000000000000000000000000000000000000000000000f36c22bba655473b45619eba90fc1cbc74a90fbaee4d6b3a92d2803a086af1bb39f456ba70035b3aaeb8efb91d5cc4bbd7117aba5b03aa3a19ae1db9e86e8abbbe024abaa0cf093ab36038b977ec85bbb8acb5bab653b53a35a589b9af2670bbf189d7ba62a93e3a73f45fbafd8b1dbb0000000000000000000000000000000000000000000000000000000000000000859e93bcdefb9abce01545bb7b43103b9dc192bce2d888bce2d303bbc774223be91866bc96275cbc52200cbb8445e83a2129f7bb707e26bcb2601dbb4932e43a7a7218bbc00602bcdeb61dbb4abda13ad1309c3bb477b1bb74b950bbe4041a3bd60c523c984a92bb72c9bebb7318573b0000000000000000000000000000000000000000000000000000803f0000000023f2e9bba1ff16bcb34f763f3b9b11bb3149c6bb318798bb8f32513fcc173bbbdf8fa5bbe7823fbbc5542d3f9fd157bb808982bbdb30f5bae87d083fd6e4a3bb240451bb585518bb13e8ca3e0310febb1fd11dbbf89f64bbeed0843e4e8b3dbc0c9b21bb5cd9a6bb5221003ead7a86bc0000000000000000000000000000000000000000000000000000000000000000f9c560bca7c1323b0000000000000000358e2ebc6b264a3b0000000000000000319316bc8628863b000000000000000057ebf0bb34e8163b00000000000000007646d3bbc432303b0000000000000000bb0cbbbb904d163b00000000000000009c4f46bb2a50ea3a000000000000000000000000000000000000000000000000811884ba6d7e93bb9d11803c953a84bafc8ae5b95b6e3dbbbef16a3c771fd8391ca5633900c799ba005a723ceda7a83ab5e5a43ad3bf99b97bbd573cd57e9f3a7bba01bbb6dc143a127e373c687a913ad25f73b98b4d8ab735db1d3cb51886b9f8641e39d1e68fb9760df93b05c5cabab020d8ba4ced61bafdd4b53b138765bb980952ba12d411ba99ba963b23d11cbbecaf82bb0b68eb3a0f8c09bb6cc615bcd6f12ebb7ad7103bb45d96baa15a49bc1bb220bb4c07dc3a7a3da0baaf3925bc47d823bb0c7eb63a04a8d9ba569a0bbcc70b5ebb924b293a369ba5bab34dc9bbe3ec2bbb3b6e6d3abb21d0ba7c48d5bb1cf045bb5e3d743a157dc8ba9345c5bb509c55bb2828c93a02bdc9bafcdcb6bbc1b22cbb2998903ae0c2c2ba3e1358bb172fc2ba175480bcb6c419bced774f3b94954fbc8a3bb5bc45e60fbccb2b803b3c8864bcdeeba5bc71eef7bb1fc0373b169a29bc52bc88bcfe54e1bb256d153b90234bbb1f3056bc6d7ce7bb242e993ab78e2c3b067717bc3d0dd3bbe49ec53ae690373cae4fb7bb6db0e5bbcadf763ae0f7a53c798446bb8f02f9bbdadbef3a265db63c90097ab84d3909bcc8bb8c3ad8ddd4bb54ffbfbce1aa773ff868043e9457d3bbb920cebc4e59603f993ded3dcf5cd5bb1fb889bc164a3f3f6503cb3d9ebbcebbebb04fbcb1241e3f24b5a53d41b5dbbbe25717bc6610f93ee8db7e3d70b690bb217f1dbc9f45ba3e1e80283d89aa75bbddf321bc2091753eaa30a83caddf19bbcbb636bc39b4f43da59a283991948abb2b4d10bc8bfdd03b4fd05abc870eb5bc716f733b000000000000000032afcdbceb57903b000000000000000037ccadbca24e4f3b0000000000000000a63198bca97f303b00000000000000007e6b68bc4c16093b000000000000000087b76ebc88ae413b0000000000000000c8f354bc069d603b0000000000000000be5147bc818a9c3b0000000000000000517810bc87bacf3a0000000000000000ed0290ba965158bb2cf64d3c28fab93a9aa18b3ab20a7fbb3b44813c66a8f53af1e6ebba1c119fba85a86b3c1f02583bfd92efba5400fabaee70703ce734373ba86e8eba85693ebab6a8443c10d6163b5d8084ba13366aba01e2403cfaf0ae3a57eb87ba004a87baf853163cc895123716461dbaf516c4ba19b6053c2aa2bcba08c12ebad54427bad8e1dd3bbf7cb9ba82a99bbb0262413a7ca241bb95831fbc635dbbbbca034a3be24f3abbb02351bc5bea6fbb046e6339fb023bbbb4110fbc25849fbb8b320f3bdc0bc6ba47a81fbcf3e785bb959d5b3ab04249bb74f0dbbbddf999bb89327f3aedcd58bbef22f1bb441a9dbbc08d993ab28345bb6b21d4bbca58a9bba245083b166269bbe9e8e1bb384596bb6a119e3afe5d73bbddec85bbac99ce3bdc3e1abcc0f94cbc8665b03ac30746bae5ac8bbce1b57dbc1744793b2fcb74bb7b2875bc5dae39bcc34f653a9d5c31bb14d773bc57dd4bbc208b303b071a373b104e12bc61b022bca6a4153a94da0e3c3c58dcbb3ef12ebca9e7443af15f5a3ce97c0dbb69b721bc8932a13a6444ba3c396c323adb8434bc6319833a2097b03c3820093b959915bc03cf82390804a9bb3053eabc84e6523fe93e883e1c86bcbb18890cbd9728413f020a773e96dfbebbe9a6bbbc368d233f067b533efc9ed6bb0d4bb3bc88150a3f2ae92e3e0187a4bb38f77dbc3885d83ea339083e7cea97bbdb4281bc8e85a43ee80ec63dcbf971bbaa255dbcd78a593ec1e7763d2c686dbb82ff69bc7f00e53d532fc13c906d78bbc09121bc24f8483cf22ac0bb92d7d3bc68f44d3a00000000000000004fd708bd07c5683b00000000000000001aefd3bc60062c390000000000000000140dd8bc3005343b0000000000000000be0ba5bc3176903a0000000000000000cf0bafbc237ff63a00000000000000006fa295bced43c63a0000000000000000bb6698bc679d643b0000000000000000da9359bc1444023b000000000000000087dccbba5e4858bb2311453ce270633b153c5eba22656bbb7a76803c2862c23bd51af2ba49116dbb7ec26a3cf3e1da3be3f4b0ba7fd506bb86da6f3c4d69b73baeeed1bac8b5b7bab7f85b3c0fc79b3b6d7fe8bac787edba4888443ced273e3be255c8ba5782edba4f872e3c4237f83a3c1707ba6ef5bfba6579213ca4ab1e3ae29cbebacaa256bae0510a3ccd35943ac2efc5bb7dc6ee39d41746bbe2d527bc69efb6bb23af213b583a2fbb61834cbc0ab1a1bb98dd153bf1ffecba60b537bc2287afbbe60a8e3a283348bbaf3c14bc91cbb2bb1937a73961c266bbcc31fcbb92a59ebb8a8606bad6e484bb9e7d03bce93dc4bb95de8b3a262581bb7924fdbb4dafc8bb0a79863a7f7757bb54c8debb83adcabbb694f539ce6283bb138c96bbd2e4213ca87b8abbd39e7bbcee1f1439c80eb33b48f54ebcf87aa2bcc94a423bc8236c3bd3726fbc279181bcf970223a6081ca3a760039bc0d3c74bcb059813ab81fbd3ba329d9bb781c5cbc3340b0b97db1253c3f4856bb560343bcafac2a3a3ed0803c9009cd3a16b84ebc103ebc36e830b23c7f1ead3bf22d4ebcbabf6bba56fba73c3688de3be64135bca56c7aba257486bb8b6df3bc3f0d2f3fe7fece3e14fe63bb5cc514bdd082203f2ff0bc3e7fe643bbe5d4fbbc6cee0a3fea97a23ef04b8ebb9439cbbc6b84e73e029a863e3d628fbb5bc5a3bc18e9b73ee2e7533ec68594bbe4db9abc60168b3eb8251c3ed39a5fbb285f89bcd6f73b3eabe4c93d222380bb196689bc681cca3d51233d3d5a6085bbdbf233bca9bc703c46cc88b9b6d3e7bc17c08aba000000000000000034c419bd67b031b900000000000000004fb30abd43d3e1b90000000000000000acd5f0bcc93bd6b800000000000000004c90d2bc979da7b900000000000000003d54c5bc1741b43a0000000000000000bc99c2bc2e30a03a00000000000000003a5fbbbc3fe6413b000000000000000095858fbccb56db390000000000000000350e10b880684fbb89d5313ccfcec83b9ebdedbafc589cbbe64d4a3c29a4f13b7c6599ba4de231bb4c6f4d3c1866043cd0c5caba162c1bbb503d533cfa57f33b986dedbaaed9b0bac21a253c73bbb83b688d83ba6b8e28bba5e63d3c0eb3b93b16197cbae8f8feba0535203caf68783b21d1e8baf3e299babf402b3c5fd8d83a452598bad9d691ba56cd003c1ec1043b8ddbcebb02e08637b0a962bb464e1ebcb9e2efbb8ae95e3bf18354bb0e2e50bc221eb1bb0a741fba38622fbb49a914bc3fe5dcbbddf3d63923aa53bb0fd90fbc9b2b93bbb8b49ab9374d5fbb588fbbbb8493cbbbff900f3a372a59bb40e80bbce621c9bb27ccff39e22053bb363ae9bb7e82fcbb144a183bc4488ebb10ae08bcd5f9bebb20289c38434e7bbb0343a9bb3022283c6d1dcbb9c0028cbc5c0883baf1e6bb3b158506bc41ddb1bc66f71d3a277f543bb36013bce76c8dbc306c3d3a25c26b3b0200e1bb48bb94bc731df9b80a7ec43b380123bb014441bce0c7a8ba713b203c2c8f163a27c869bc903b4fba0b33583cfaf0ae3be56d4bbc9d4371ba9fe19d3c63ce343ce96763bc00f0123a62448b3c28fd273c0d3827bc6c31febaae1143bbf4fee5bc790c0b3f269a0a3f0fae2cbba16812bda1c5fe3e3c1bfd3e7b7837bbfecdddbc608ada3e97c9d73ece895dbb4713cebcee0fb93e9dd5b43ef4f860bbfdff81bc5c8f8f3e33d38b3e78ec4fbb768093bc8b74603ed30f553e7c9d91bb62927dbc8ef7143e10040b3ec50f53bbc31983bc837da83dadc38c3d546b78bb6bb332bce06e603ca22f733b6d6aebbc225f43bb000000000000000032331abd62830abb00000000000000007e84fbbccdcbbdba0000000000000000e824f6bc6d11edba000000000000000069b3adbc455c05bb00000000000000005a85debc754897ba0000000000000000ef0cc3bc169faab90000000000000000b45cc2bc4d88c9390000000000000000595593bcff0a28ba0000000000000000a40610bbdc203ebba6d10d3cd41d063c589ed5b9fba090bb86aa2b3cdafa3b3c29d188ba0a8f5fbbab48313c533b343cfdf3e2ba9b3450bbc9412f3c8cac233cb131a9ba835f20bb004e283c01910b3cec57b8bab9c828bbdd87233c9c15e93b21aa07ba914ad7baa295033cf211cf3b34ddb039583e5bbb7409f63b2a62903bfd917cba0d40a8ba8f78f73bdb91533b7208d9bb56a58639226d80badfd017bc60d8f6bbd288713a5c45e1baec5d42bc3a35c7bb8f55c63a29a419bb78511bbc089b94bb3aeaab3a6c3241bb0cd00fbcf975c2bb490f983a13934ebbf43cf0bb3de8cebb730e133a2c1e4cbbba4f06bc82c2e8bb3829263ad2998cbbb14ff5bb9093debba21aae371e2284bb941619bcc1e4c2bbe449cc39d4ed52bbfe20c8bbc88b0c3c8bc38f3afdd19bbccad4ccbacf3aac3b32d3d1bb9f28cdbc801a3b3ace2c303b842524bc30ddb0bc5e2335398350213be41e01bc02e391bcc6f7573952eda03b468b34bbc1e584bc6d339fbac348f03b9ce1273b0cbe77bc68f971bad021393ceccaff3b174e70bc466a993922a4583c01dd753cf07958bca61718bb1386653cd0126d3c95232bbcfbf205bb1e80beba93cadebc62d4cf3e13b62e3f5fc344389ac60fbd9a73be3e38c71f3f65297bba4799efbc229ea53e823f093f643819bbbe78bfbcedfe8a3ec2dde33e463016bb90a6a3bcf9c65e3eb0feb33ec3e304bb175d9abc001e2a3eb76e863e4c5636bb534684bc8c36e63d564a303e943228bbb48f87bc91e2813dcb74b33d1c6e3cbbdfaf34bc74db403ccf02c93b1a0ef7bcf63a8fbb0000000000000000475924bd8e7b68bb0000000000000000442f0ebdd16e6ebb000000000000000097f302bddd4187bb0000000000000000d262e6bceae44fbb000000000000000086a7eabc6c8218bb00000000000000003bb6eabcf4d9d0ba0000000000000000ac18e2bcd1e4613a00000000000000009f37a3bcc4d66aba000000000000000013fd32bac33c52bb18acae3b4c7a1d3c543eb4b94d9a88bb7261df3b1a9a533cb2ae81ba9ad544bb0f0aed3bbb1a3f3c293429baa2513fbb453f033c7a97423c122b13baf95514bb413ef43bdcf2183c843bc4ba869c4ebb90c3173c191a033cbfd41cbab99c13bb1d03db3b45cacd3b2a33bab992123cbbf44cd73b2edf963b2d685eb81f25b1ba03d6c23b215d703be3d8bebb58ca7c3ad65497ba98210ebc7defd4bbcbcc2b3bd51c9bbaf23023bc76fe97bb36818b3a7e11fdba6a46f5bbe7f19abbe793883a0f44f6ba0e45f7bb831397bb2ade2c3939c40ebbb3c5d1bbca5489bbfb91fbb95418a9ba1e6304bcde13ccbbaa41a539109ff5ba9a1ce7bbff17debb6fb2383b702e3ebbd36217bc7205b9bbc4b0b939569e1cbbbe8bd9bb417ba93b4c482b38dfa4a3bcb127a6bae8cd103bbbbc13bc8e5ed4bcbf82d539a3b1bf38050933bcc7dfa8bc28cc57b96d4f59399ff215bcf677a4bcd229ebb9027df63a1d4929bba6f879bce909b4ba7316563bcafe2c3bb98d63bcad50d53a2e65be3bbfc6143c052a36bc882587badec50e3c99a9923cce4253bc384d3fba09461d3cc658913c392b1dbc87a9a9ba1da6583ac9a8ccbce3c2883e1368523f1a95e03adac5febccc3d7b3ec057403fd2fff33a702fc3bcd72c5a3eea0e233f240b49b91c01b5bc3f7c393eb4d3083ff2eb55ba6d9c86bcd80b133eaeeed53ee488c1bae1817abc5241e23d3cc9a03e545484b9e14058bc18d9993d0d9b523ed388063a111c6abc935d2a3dee1bd43de906e0bada3c27bc8d3f003c57bfbc3b5adfecbca9caafbb0000000000000000356d16bdd57cadbb000000000000000066e4ebbccdf49dbb000000000000000030a0edbcefdea7bb0000000000000000b04fc4bc7e4d88bb00000000000000002f28e7bc121118bb00000000000000000f51c7bca30022bb0000000000000000e04debbc85acf3b900000000000000009329aabc561b73ba00000000000000001a695a3ad64674bbc349063be252333c136b7d399ced58bbbc292d3b49d75d3c3c09e7b731ee2cbb58fb6f3b2cb7553cdbc955b94f4a28bbd8f88b3b08223f3c61aa70ba02abb2ba7c92a23bfb39213c51136bb9142b0abb5057933b6dba063c074850b961a612bb1dda853b66edc83bd7fe39bab8e8f7baf4758b3bf9a66e3bdbd4fb38d3c2c3ba0ec9933b75e96e3b18d4a1bb68dea23aa2d4be39e7b700bc182a87bb20d45a3ba6b80c396b1bddbb9af83dbb81e1073b0a130eba4948abbb8fa425bbb218bf3a809f69ba321ba9bb025283bbe46547b92bcbe1ba81ce81bbcbc161bb18bb4c3a69b29cbaa711bdbbbf2089bb3b89863ac52b86bad46be4bbc963a2bbea4a023b480edeb91bf7f4bbd802cbbb97cca43a6d92d2ba86fb0dbc095593397ad825bb4282aebc68d403bbc1bd58bb9f9085bc31c3d3bceb72643aa84f82bb939991bcaefbb6bc46346db9e47771bb825b65bc79ae98bcf68ba0b9f03ac8ba8ca4cebbfd0c64bc15d227b9d6f094ba0d221e3905bf56bc66ef52ba5c9ae93894e5133cf7b12ebce7aba3b92950383b7ecc903c53441ebc3ec2163a4c2a663b7cdc9b3c47de11bc60ab47bafc00493b37a3b7bce2cf043e4602773fffb4683bc85fc5bc6c0df63d79915f3f5e7d083b51c69dbcaca7d93df4ac3e3f30be983ac43d84bcf81fb93dc7801d3f1ba142392a985dbcd4df953d918cf73ee5669939f9993ebc3146623d5e74b83e2cf8283a689428bc1f2c163d8c57713e076a0bba090419bc20449c3c4446ea3d143c37ba7dae06bc503d353b8cf03a3b4e61cbbcf00fc2bb0000000000000000d88ae6bc44c8debb00000000000000001922bcbcbeace7bb0000000000000000a7b2a9bc38fcd2bb0000000000000000492097bc0c97a1bb0000000000000000cd39b0bc6e349bbb00000000000000004207c1bc5ed742bb0000000000000000d944d9bc410029ba000000000000000063d7a8bc9f87abba000000000000000000000000000000000000000000000000c653f339bada0bbbb1e8813a419c3c3c48fb84393324f4ba668c023ae751193c80c041b99f4ddeba81e18a3adc72083c81220cbaa7c5bbba5852bf3aa022d83b107920baacb6e7ba455d953a50e69d3b55c4b4395d00caba579f8f3ad6ed733b57142b3ac61622bb6921ed3abf34603b00000000000000000000000000000000000000000000000000000000000000008e20d1ba0460f93af13bb6b97890a0bbc709e2b9255ed83aa86514394ef60abbfc1cd6b94f5a633ac555a1b958ab0ebbf1a72dbaebe58a3a5c7bf0b9932727bb5e1975398019ad39b35fd3b9a2995bbb9596f1ba814f4e3adbeac8b7e20d89bbc87597bb3157053bf6d14b394186c0bb000000000000000000000000000000000000000000000000000000000000000024a7d3bbc0b19abcb3e19abc9eb55eba38fab3bb972495bc24ff7dbccc49c337b2199bbbe53067bc384c4fbce82c95b98d2581bb5f6804bc1dc91cbc4d9e02ba2fcd7ebbe97954ba026b06bcb6e6ad3a769e53bb908f953b7423c1bb99d6c4b8e560a5ba4e92693c05e392bbdc7756b9000000000000000000000000000000000000000000000000000000000000803f8839533b2b774cbc05e1c93ab2da763fad27053b3a741fbc4f35343b210f513f88cdd63a8ae0ffbb381e543bc9942c3f338c983a13afc5bb88373d3b7a56083f435ad9393c3eaabb496ef93a2e7fca3e83cb7e3ab4548bbb9281db3afc72843e5fa7073b04e999bba4404ebbf925013e0000000000000000000000000000000000000000000000000000000000000000249248bce912fbbb0000000000000000eae618bc3bc1bfbb000000000000000092ee09bc298fb6bb0000000000000000ca0616bcfdd29fbb0000000000000000bd8743bc66e48ebb0000000000000000e62063bc79ef5cbb0000000000000000c21d8cbcb7f71dbb0000000000000000000000000000000000000000000000000000000000000000000000000000000002004cbadf1d063a28c9673b141c83b9f7f193396631b03ac0c8643b03d3293894d4fcb92b16c13ac548073b12b35eba3c3854bac9be0b3a6c7c933bd521c63a009684bae5822f38c50db93a458c013b5f3131ba31f0663a2847333b302681b958b9fbb9ebfdbb3ac417353bddea9fba00000000000000000000000000000000000000000000000000000000000000002ef3bfbabc5aa038ce55cabad18a36baabe434bac3a6c9b974fa0ebb9ac5ce39b8fadeb932dc85b83d8694ba67fc0d3a8ad212bac16e88b977faeebada9f24ba11f3393abaa17bbacb11c7bac41f25bac8e745b927c2b9b90d5194bab4a4ed38a6f1e9bad66f0bbaef7935ba6d888f3a0000000000000000000000000000000000000000000000000000000000000000879ce43af98803bb21dd19bbd9179ab96bbf02b9b7f39cba99e192baf56e92393994243acb080dbb1be512b9210e6cb8aecbb13b2aa240bb17a637bbba946dba639b5f3b04b48ab98dda48bbb938ecb9aa7f5e3bd7b6c3b9c18408ba08f09db922e1a13b27bf3cbad93aeeba3f4ea7b90000000000000000000000000000000000000000000000000000803f00000000d17105bb3cfc4fba0865633f2b19a13997cd1abb6f26beba7a5a423f131c2c3ad113c8bae2ddf53948bb213f37cb02ba8cc114bbe8e05aba028e013fff7cd3b75ee9f3bad2d051ba8904c23e52cde5ba3f8676bb1612c4b9b30e823e78221bba20df53bb5a51d8baca65043e92fa9dba0000000000000000000000000000000000000000000000000000000000000000e7af3abb1cf9f6ba0000000000000000a025b3ba2010d4ba0000000000000000c696a7b94feb24b8000000000000000039d034bb764496ba00000000000000005c0154bbe73d3e3a000000000000000065645bba993a50ba0000000000000000f88406bba0affdb9000000000000000000000000000000000000000000000000d1a628bb56e68c3a005baa3bde5d9bbab2251dbb359f85382bf4b33b43af863938458fbaee91a03a3be6bb3bafea863a01b4bfba4fb2133a82649b3bee4e2e39ee86a7ba6312373a6099873bfd1984373ea4d7ba9a9d083ae55cbe3b4d413fba504dacba9f543f3acb0f893b0d4d32b9f631d6babeaa0d3ab1d3753b5b7b76baf101bbba77b5703a3e926f3bb82ddeb98569aeb965acb2389b82f3ba8821fdba165a0fbbb2fd0f3af217b8ba68f4aabab9377aba86562dba8e5bf6ba625119ba6e42e5ba020344ba73e11bbb28e950ba652cfdbad8616cba111ef7ba42a9e8b90af514bbf2b20cba4e1818bb665625baa3d9f6ba3c75e6b9955a0bbb44087db908afa1ba9b8067ba1d4329bb519d39b82de2fdba5f5291b8900311bbca90fa396521953bc8350abb83a902bb0ec5373ae0067a3bf4b5bcbab73751bb546cdbba3da8823b97301dba29744abbda0b1dbbfbb1573b781ca1baad891dbb2f9472ba5e785e3b3e1753ba74c315bb36c4f3397a7bc63b75cb473a9dfd9abb66a9b9ba2827b13be32ac7b80c2a17bbd33d2aba98cbce3b383e0bb99da258bba22111ba1da8c33bd29f6039565c11bb282d93ba59a61fbb6da2d0ba873a633f4750003e0d2781bb444033bb9ca9473fda39e43de5c446bbf5daabbadb5a2b3f1927c53da1393abbe59dc4ba16c50e3f8715a33df73d1fbb6c3275baca52e43e9863813d42dca2bbf10bb9ba46acac3e4a3e3f3d51c138bb7579abba7f69663eef9f003d0690e7ba848ac5ba05c2eb3d5ea8773c65f742bbeebc4eba53d59b3b6e6b28b95e8d20bbf7561ebb0000000000000000d3016abbd0ef98ba0000000000000000038160bb96953bbb0000000000000000463438bb317e91ba000000000000000015d937bb4d3792ba0000000000000000d96eb1bbfe56abba0000000000000000a21531bb271f8cba00000000000000008e2771bb98f606ba000000000000000038dd20bb81a1a6ba0000000000000000fbb6c8ba74092e374103a03b0838083aa790c2bafdb49ab9dc5bcd3bbdff2e3a3b88feba1d543e3ab1d8d43bd5d0f439b6eb07bb4723de39767fd03bf01db13ad681d2ba3a32143a13c39f3be8a1313a8fb315bb2ebb62ba76fbda3bec4acb3a5dc54bbb93b98e3a3ab2cf3bf8a43bba08c51cbb9fbf033b6db7953b1946273a5d9cf3baa269883a1fb9a13be634fe39eea840bb8dbe49ba4eaa42bbd6eeb0ba8470b3ba2ce581ba991122bb8e3704bba6032dbb4715edba628a38bbdc9192ba846736bb15f753b9717245bbff4577ba6ac721bb27a31aba08f028bbe38d14baa0ab39bbe4395fbadf9e95ba0821c1ba86bb5ebb6cf10bba51fe88bbd4a3edb9176035bbdefbebb98da274bb9d7e483a2091b4ba488f4fbb36ab46bbf71f403958989d3b9c47993795ad02bbec672fbbc756bc3bf7949eb9907d95bb9e1923b9feb0bb3bf172fab928e174bb18d5973a6babb33b8b9c2d39577879bbbc83fdbafb5c9a3b3d4c4d39dee548bb54740c39b8dfad3b6974c43a7c824dbbb808e8ba1010fc3b5ce1d73afe5a67bb01a833bb79a8113c4ca8fa3a700e53bbebe705b9dffde63b473d9e3a83f119bbedd88cb99ca6a0babc1a52bb85c6423f7587813ed6aa4dbbe3a96dbb3a162c3f5c75643e9d0a56bb9b5e3fbb91a6133f81cd423e72434abb94dd18bb0c06f63e5b26243e64aa49bbc009f4bafa58c43e4554023ec94f2cbb723102bb2c09943eeefcc23db406a3bb146fdebaa8dc473ea844843ddd038bbb938f6ebab6c4d03dd8bc083d5fbd69bbda6cb6bab8c4c63b5a1aa63a7b6714bbd4dc9cba000000000000000059b9a4bb8ea047bb0000000000000000fea373bba33a4aba0000000000000000678888bbb43b5ebb00000000000000004ed362bb7bc001bb0000000000000000b51a71bbab2122bb0000000000000000fab5f9ba709760bb00000000000000008a6c6abb87f0f3ba00000000000000005a6239bbf76401bb0000000000000000f729dcba8f262638ae154a3b3dc4d33ae3fc21bb7e9d94394217f63bb8b9923a9b6a03bb3825ce3944e1d63b4d890a3bb33543bba13391ba38e2133c52a73d3b1972e1ba0bd3e33985cbb63b1cb2da3aaa9000bb801f0b3ae83ac83bd5d6fc3a04dbadbba05cbbba942b933b65151e3be6c6fcba44b0093accedb53b1581953a270f06bb08de8b3ae91c953b5c6c983a314c26bbadc679bad44621bbad36a3ba3a4880bbc81358b820b679bb5521c8bae4f246bb8d2591ba15da4abb49869ebab94c2ebbb79e52bbed6085bbdef0963afc2b2cbb6f0436ba90043abb49bb45ba69b83cbbbc0dfdbabd9d79bbd27313ba2e7c67bb0934b0bad82851bb0991b03a826640bb0483baba839952bb6a8105babcd872bb00f709ba958655bb38ed63398a83e43bbc679c3a3daf84bb411f03bb79e5dd3b17e2143b73e1b1bb48ee3bbbfc7dbd3b296cb13a6abe86bb88b93bbb0ceb0b3c60c2f03a896196bb835ef5ba6f8bb53b1160af3a467b5dbbc49635bbd99ad63b2b0c083bef4671bba85223bb9dc1fb3ba8da9e3a6c0308bb62450ebb2fc1f33bd34a1f3b8d4169bbeb3301bb4478c63ba4eb0a3be5bb89bb8ff014bb22a233bbb374abbb1fd1223f7897c23ebbca87bb7f3d7ebbfb380f3ff6e3ab3e73f165bb00d044bb0cb4f53e8332933e67dc81bbe116d0bb3fd3ce3e9ad8773e261854bb6e4b19bb9b6ca43e6e9d443ee66a81bbe0831ebb63ec783ede7f143ead260cbb8d1c16bb554f263ec8eec43d26e580bb42511fbb7e6fae3d89cd4b3db6017abb71248fba0fc4b03b3fa9153b2dc90dbbf56c3abb00000000000000008008b3bbfbf035bb000000000000000096f491bb54a851bb00000000000000007908e4bac8d9e0ba000000000000000092a975bb90ad43bb0000000000000000bb0287bb77fb40bb0000000000000000107d98bb4cba97bb0000000000000000fc7088bbd25029bb0000000000000000f9b52cbb5ead57bb00000000000000001d588dbaf43fefb8fc9bad3b6d8c2d3b242242bbce2fd43952bdd23bbcd24d3b2e17fbbaec6e8d385c9aae3b3213243ba5a216badf9590b75198bc3bd9552d3b87e378ba0ab016394f8fa23b0807163b9f02e8ba16097c399891b63b3a4b1c3bc03701bba0f377390ca5a03b9a77033b869c04bb3634ec39e25dbc3bea20283b362363bb40ff303a8e49ab3b2175d13a8bf217bb240dcdba0fa607bbbf19acbaefec50bb66cb0fbbcbef7dbbf3277bba956a22bb6579a3ba762733bbb3a2a3ba974934bb3ff5d0badb2349bbec4b8eba36671ebb6d7bd4bab92e41bba44c6ebabdbe32bbfbc120bb18c051bba7355bba47c021bb7d43f7ba32b63ebb6ae32fba3ae273bb42958dbaa72459bb64c227ba873128bb03de1ebbfa4c85bb4779c5b92e21b13b8c86343bb71b68bb6641d5bad0a8c73baa7f303bb0e093bb414b53bb7b019e3b64e7003b0bd56cbb8e182bbbf8caaa3bc1510c3bd4087bbb9bc84dbb9660a23bd882103b118145bbff8929bbbdb6bb3b80c1323b1f5769bb308840bb045cb93b49753d3ba57f41bbd2221abb1df6eb3b24d1853bbffa8ebb5d0532bb583ed03b6807583b870f37bba9b13cbb328009bb188d4ebb4ee6013f6be3013f867d81bb3ec44fbb4b10e53e488fe43e6f7a3fbbc0903dbbe813c43ee698c33ee73156bbe55846bb0d60a43e44aba33e335758bb2ff719bbb561833ecfb3823ee98968bb858b24bb176d473e3269453e541a53bbf39c0cbb7e05063e3c38043e43907bbbd2991abbe8be8d3d5e66893dbca686bb9152ecbaab0bc03b6a85643b8b2872bb67c184bb0000000000000000194893bbfa836ebb0000000000000000749178bb07794bbb000000000000000006dc86bbf24d6abb000000000000000069df55bb57464abb0000000000000000c36b7ebb635050bb0000000000000000ceef62bb232136bb0000000000000000a573aabb261466bb0000000000000000332e51bbe8c349bb0000000000000000a7eec2ba0957beb8898b8b3be69d4e3b3586aeb9e7f60cbabdbdb33bb55e773b3b9f23bbf84ba0ba26a7d03ba7bb743bfb440dbb1c9bcdb70f18ba3bf5ae6e3b9066e1ba2e8d643794a0a23bd9ff483b0041ffbbce4bd8b901101eb9d15ebe3b4f9f14bbe1f27cb94fa7b63bc0a0263bbef737bbf246623ae4f4c23b52f0373bc82376bb8cd2d33ad541c53bfc0f6d38b29f1cbb2259aebad46dfeba1e4da2ba00c74bbb46f20cbb80ab41bb8e7600bb2fc389ba78dfc9ba484592ba1c2327bbd03437bb61e7b6bab9dc64bb41dbb2ba087a23bb95ee20bba6423fbb9fbf91baca67b3bbb9e33d3a073f61bbac87a5b8438e3fbb5ff41abb113649bbd3109abad2f554bbe91e14bba19883bbe13f01b9d5f212bb0614efbaae1d34bb19f84f3add258c3b23ba4d3b575b32bb20380dbbf862a53b69b94c3b41ca9dbb697336bb2aa2bd3b04aa553b779f93bb5640c1bb874ca83b43a8423b4e6387bbe5ef71bbdda29a3b66233f3b03d166bb7a8134bb3780da3bd6f2b33bc2c4debb1d4e7cbb018dc93bbb9e873b947e5ebb70b047bb2773eb3b6fbca33bf8c376bb10804cbbb022a23b188f783be6b32dbba83effba62d0dfba4f143bbb0db8c23ee827223f248f40bbf6f488bb97dcab3e62d90e3f561044bb9dc55cbb2943943e1581f63e4c7652bbd56653bb0dc4773e13e1cc3ea1b951bbd32c30bb7062463eaeb6a33e034086bbb0944abbe1ab173e1385793e03fe5ebbb4f633bb333dcc3d88cc253ebd9e91bbebd47cbbe30c5b3da573ab3d1d9e46bbc9e618ba00ec883ba829773b06a33fbbe87873bb000000000000000064909abb04a082bb0000000000000000b56b11bb089e88bb00000000000000009f9b8dbbe1698cbb00000000000000002e0974bbfe8f50bb00000000000000004e43e7bb770661bb0000000000000000d08284bbae375cbb000000000000000021708ebbeb6a79bb0000000000000000b1afa9bbb12816bb0000000000000000d6d265ba6cd717ba5b8d833b619a803b850d42bb511b2db9c5e8643baf1cb43b3f5c17bb907d063a39c3a33b68118d3b90f2d2ba67351739313a743b88298f3b616cb0baafea08baad7c7b3b74a73f3b955fdeba3e4a43b92c06993b104b613b875f25bb1ce53aba10ca9c3bbc9b193be9201dbb19f23eba530ca03b8cdf283ba53cd9ba24548f3ab84a683b9031fb3a94d823bbc1471cbbbc1654bb4a36e3babf1666bbcca6e5ba22327abb4b486dbb1b1132bbfd09b7ba438e41bbb61b0fba8a8385ba49e548bb907e2abb97bd8fba551f02bb0c65afbac8d112bb51dec6bae8f12cbb950c39bb46aa3ebbca5daebac73480bb9b23acb9debb41bb03beebba779ae1baf34e4cbb30c262bbad5cf8baea1827bb8e58b7babbee46bbee4613397d83853bf6cc7c3bbe5e84bbca104dbb4a1a3d3b3214953b872facbbe28a4bbbbc376e3b732a683b2a3d75bb776c2abbc5af483b9c40df3ac07629bbc09f8ebb807a5c3bd32c423ba90045bb10d91abb4608963be709833bc19a64bbe7612bbb4bfea43b494a753bed9345bb468304bb6523ad3b5085a83b135cc4ba88923fbbd890823b4da38a3b218e49bbbc4512bbaee736bbb47a56bbaa1b823e48de423f1b5080bbea40b7bb6f42663ec3b72b3f129162bbafcaecba86ab453e3ce9123f98b730bb701d3bbb4a54243ebefcf53e4dc70ebbcd1d2ebb5b29043ec0c3c33e37115fbb286349bbbf6fca3d63e1933e5a3049bbc6e139bb1d56883d0e01453ecb7d5fbb948d53bb2bad123dc859cb3db054a9babd7f3cbb10165c3ba628813b71ea6bbb0ea864bb0000000000000000fe74a6bbdad586bb0000000000000000447066bb62999bbb0000000000000000265d00bb6df88dbb0000000000000000ee244fbb8cab3bbb0000000000000000b14381bb97764bbb000000000000000048d188bbf6257fbb00000000000000005368a7bbd58d45bb0000000000000000162c6cbbaa521fbb000000000000000089d6b4bac6d633ba1b9e2f3b1b5e753b0317b6b79fc27aba16e53f3b21ec853bfc357fbae2f918ba28d9493bc5ca713b5442bdbae44d203ac80b8e3bc7abac3b5562b9ba39ff48ba9a0f363b5f34473b57a472ba75f88ab96b6d3b3b21d1433b288308bb09a3db398bde793bc6695a3b5588003ad52d04ba1bfd533bf28f2d3bfac01cbba557133821a0b93a5a6f573b503be0bae2cad9ba8c2df0ba4279c2ba03ff15bb26cbf8badf6450ba2b3f11bb5201efba1a6bc6ba01e1c8ba7e53ccba37042cbbad5f8db576700cbb45bc6fb9fe5acdbaf8e4b0ba978bcbbaaef9d8ba1c8a03bb313592ba4514d3ba729198bac56c3cbb8ce51fbbf02e19bb35d904ba0b0130bb04b1f0ba29790bbb8decb8ba79e9abba149cdfbaeffd4bbb9fd05ebaf2c6133b1d404c3b4f864fbb1c3928bba29e0a3b11ee223b982f8dbb98b34fbbab97093b99030d3bce066fbb39fb18bb6bd0633bda22fa3aaa697dbbe9be92bb6c4d0d3b80fe203be0622bbb74c4fcbadcb71f3b9807583b97cb48bb34501ebb89c95d3b19159d3b5cdc53bbd81468bb1834583b1a6cac3b4ee34ebbc5dc25b751c0e13a930ab83bda5dbaba7ff971bb6aa3cabaa51a33bb021e023e95f1623ffd7b08baa86271bb484ae53dde85473f96eb4bbb0d6c2abb101dc63d89062b3f4c2de9bac580b5bad0a9a43d070d0f3fe3458dba67a41fbb77ec843dbeede33e2623c0babf1c05bbd1034b3dc177ab3e78029abbe71a0cbbc0910c3d9b22663e1389fdbadb1624bb4cbc933cf9ede93df51e75ba7fb160bbaf6e5a3abca09d3bb3021ebb80144cbb00000000000000006b6f56bb27f8f9ba00000000000000003e8a33bbb91347bb0000000000000000831646bbacd467bb0000000000000000ad2628bb22012bbb0000000000000000f4614fbbc2cd40bb0000000000000000ecb641bbbc9a73bb0000000000000000069381bbb1e46dbb00000000000000007eeda1b989ae0fbb0000000000000000000000000000000000000000000000003f3037ba03a955ba8566e13a3295863b47e6c9baa2ae14b9cfd0cb3ada012d3b69f030ba72808636890fa139dddae93af3fe9aba5618813ac3ce3b3bf8dd223bb00ba1ba3c477eba99c1123a36fc973a2b6506bbc0b0a4b84381f63afa6f3a3aef77923ac050d4b9d1fad53a9474043b0000000000000000000000000000000000000000000000000000000000000000c91e08bbebab8aba591d94ba4a28c6baf75877ba82cacbba8160f3ba123321bab853053a39343fbaa4df83ba3286f0b9bc53b5bab92289bab5a507bb8d38c1b9dcd40cbae1355dba718e37bbb1ef223a5b80f0ba253ebbba7ed5d4b9179b0fba57539dbae4ce5cbad7c31bba817b7bba0000000000000000000000000000000000000000000000000000000000000000af68623aebbb0e3b99107fbbe5cb69baae697d3ac350a53a8fd51fbbe2f7acbac617eeb96493c739dfe331bafb22c5b8a7ed093bf766f83a2a0d20bb6c0cfaba0d518539b9a7a13a0a2ca3ba7acda8bab2bdc93ac692bf3a0c0e5db90889d839ff1ab93a9e3a803b4e2ab3bad5f744bb000000000000000000000000000000000000000000000000000000000000803fbbe411ba25d109bb2a2c813a2e28633f77279ebacf1741bb2d21973a2263423f588f613a2ac793bacd45b8b85f2f223f6d2ac8ba2a6a42bbad7b323b268d013f8aae6dba06ae4039e777b439a6e5c13eb9913cb9c2586cba9e3734bacd0d823ea0d633bbedd2b1ba58574d3a1f36033e00000000000000000000000000000000000000000000000000000000000000003d0121bb59455abb0000000000000000465ba9baad3b05bb0000000000000000301ad9ba4afe06bb00000000000000004d7504bb222123bb000000000000000006727aba2a77caba0000000000000000a5882fbb99ad0fbb0000000000000000028614bb0a7fe5ba00000000000000000000000000000000000000000000000000000000000000000000000000000000173020ba7df6703b19aa943cc25ed83b36b68439f1e6af3b9d606a3c8d15fc3b116dbc3ae31f763bd492353c16c2a33bf8fa043bac283a3b6f36bb3b5aec4f3ba104bf3a921f6b3b1f54943b661d073b8f79223a385c4c3b36f0a93abf3b233b5827bbb9154e573b878907bb8ceb1d3b00000000000000000000000000000000000000000000000000000000000000005af20e3b64f809bbeaf9c13b8d5bc7bcdaa46a3bdc80e8ba109e893b4814e0bc0bf9953b56536fba1777ef3ae841d8bc3461903b3ef7c0ba6272b93a382cc6bc04c1703bf87164ba8078ae3a7886aabc4095453b81e19dba10a5fb3a0efe7abca179003b77c770ba9e1a643a4da8fcbb0000000000000000000000000000000000000000000000000000000000000000863300be8cc412bd288e463cbe97f5baf1e2f2bd704314bda5de123c7623ceba79d7c2bd3a9b0ebd7189883b8b02beb9cdd798bded7afabc9756663bea6a15391b5061bdfb17c2bc0cec773be6dfa3b9299a0bbd081e6fbc5e33573bc3548db9b34324bc1295ebbb77c42c3bbacb63ba0000000000000000000000000000000000000000000000000000803f0000000025c2c53b5f577bbdae1f9d3fafa147bdfa9ab03bcb3701bdcf60823fd6a0d4bcf541673b93a192bc92d8523f907084bc115c6b3b387647bc0e1f213fe35a61bc631d393b45da17bcfcd6df3e852981bc8f27843ba4b430bcc3e37f3ee87ea2bc31e0a33bf7a67bbc23c38e3d98b7d6bc00000000000000000000000000000000000000000000000000000000000000009c5ecfbbba5b403b0000000000000000330582bb9e431a3b0000000000000000eecda3bb5ed6e03a0000000000000000d71ee0ba3cc1043a000000000000000004a8a43988802ab600000000000000005ab8993bda59f0ba0000000000000000c77e153ce17ff8ba00000000000000000000000000000000000000000000000083348a396797deba20fe7e3ce459f13a1d0ab4bae110ad3b4db1b33c34b1273c4063a13a4d579b3b8bceb33cc4371e3c4e3a623b421d123b8997933c3330fa3b9777253befb4f03ace96543ceee4a53be0d01a3b781b263bcec3133cd48bb13bd6448d39525b513b1e6c8d3b6076b13bf24202bb524d6b3b52155c3a8665453b05f5ccba20ba4b3a595cfabab9e523bac1385c3a9ade8fba9dbd123c89bae7bc3665273ba4125ebb0dce373cc71cfabc53b46a3bf07221bb3470073c7c6410bd760c833b634484ba7226b43b256312bdf2d1913b343553baaf58803b9a8bf7bc3a67913b38b5cfba5565913bc887debceca02a3bdfa4e0ba78d4643ba50399bc2230cf3ac495e5ba2b6f613b333b28bcf342df3a821f24bac4e07a3b9955b9bb0dc183bdd541d7bc25f3f43aad21253a0f9703be685220bdd90f0c3caa7259ba079c03be7dd345bd89fa993b747aa9390220dfbd837947bd95364d3b31c9b8b9a57fa5bd646b23bd87f42f3afddfa63945ab79bdb35006bd338eae3ae853703a73610fbdb906b4bce79faf3a7b638d3a269326bc33f412bce93e233bad4c0eb780a3863c6fb8c5ba1447ad3a7d9a5eb93953483cf626f5bdbae69c3faaadab3d6af58e3cd0c4fbbdb47e963fb5a5963d23502c3cba5eadbd5660813fb104a53d5e45003c58a67bbd8673513fffb0953d4f81ea3bf69131bdbc761d3f0315673d73ae053cf4bc1fbd2f3ddb3ec2eb123da4a3083c24640cbd2f27743efd8c4d3c31253f3cdc5700bd9fa2843da2e9d2bb8419093cbfbbf7bc758851bd24ddddbc2cacffbc2678d73b00000000000000009aeae0bc6b79b83b0000000000000000a636dcbc3962b93b0000000000000000f109a5bc1119843b0000000000000000e5758bbc2e5b5b3b00000000000000009dc141bce729c63a000000000000000028dddfbbc4ef593a000000000000000053bcd83aff3dacba00000000000000004732a23a19b0773a0000000000000000c766203be3384cbbbd30513cce3a0c3b586ac73a95f2a3bae356973cdf09c43bbdced03a99f72fbafdf2843c4b84b13bf63e4b3b71e236ba6dd48e3c6f51d83b09f5373b548cf0bae1c3543c78f4743b49352d3b1cae19ba78d5183c21ee3b3b61ccb63ac2d280ba6421bf3b2e77a13ace3b973a80f386b918b1cfb98e87aa3a076002ba10051abb2ae7903adc5a7f38c49cb5b8c3147fb95d080d3c4bae09bdef01663bb2920bbb83dd453c1dfe14bd45ec1a3ba5968eb9d8250a3c6dad07bddd929d3b29db47ba09a4043c997d11bd27dd443bebaa9cb9d754ac3b39a2eabc35be563bbf3710ba929cc93b37fcd2bc9282023ba3001fba76fd8d3b821694bca2aa4d3bfc60efbaaaa4333b567e31bce9b69ab8ab6fddbaf16c9f3bf79ae7bb23f501bda4daa8bcb11c26bc392a453bf92eadbd62783ebd1e2a9abb2070813bf047a2bdcf954cbdd84de3bba1287d3b232bacbd2ad165bdea82abbb80783c3b0e6276bdf78f2fbdc6f7b9bbd88a3d3bd0ec3ebd053f1abd061370bb7236573b9885b4bca450c1bc283b1cbb277f493b95fe8fbbe4663dbc5e4a9db86ce6613a2e3c5f3ca7a305bb56ad5b3afd70663b28085a3c9692f6bd8b22833f3253863e07d8923cd98808bec332823f63d07b3ed177263c7c55b7bda82a573fb4b5673e0627313c3654a3bdeeac393f4a1e3f3ea3d0103c41b771bd10950a3f3d87143ef686203c1cbb62bd6393c63e030fcd3ded1e143c17e02ebdbf576c3e1c0e6b3da46c593c3cbb2fbdd473a33dc7203b3c395f493cce940fbd881aaebc3efd9abc64df5cbd7223083c0000000000000000f32173bdcae61e3c0000000000000000bc3941bdea0cc33b00000000000000003c2e2abd3902da3b0000000000000000f13807bde3328d3b00000000000000009672e9bcecac833b0000000000000000dcd3b6bc6b29563b0000000000000000a9726cbc342a953b0000000000000000936e29bc4fac38b90000000000000000b610453b86d6e5bb7152383c4d49f73a6a99383bafcd59bb304d703c475dc73be8e2463b659708bbc7f0853c7022fc3b89345b3b6002f5bae194743c3044d63b6fe24f3b9aaa31bb8a4d2a3c5f77943bbf07283ba309cbbad431143c0568953b688dbd3a5db4c3bafb1bb13be693243b095f3439d4f10fbb8cc3443b15092f3aaf03653a5d9f2fbba47f003b6a54a8ba53ec9eb9c598983aedb3ec3b67b805bdbaf90b3b068be1b7d477313c6ad013bd35bf533baf33b83954da0c3c5a360dbd1090473b65228b39aaf5e43bd257fbbcaf0aa63a36f11b3b3e99ac3be139d7bc7bf3b03ab973503961dcbd3b2bf5bbbc0eae1f3b4cbb78ba31f9ba3baafe95bcb5532c3a1292a8ba020dad3b4e953fbc928270b92f28f6360bcb793b3af1e5bb935c40bc309ea7bcb19ea5bc2913a83b248066bd9ada4bbdfd5b95bc2917e53b2ac691bdd88c7bbd661885bcbd4cc33b304787bde1d86cbd1f3173bcdd97ac3b4a4e51bdda454abd794e65bc86a9bf3b4f001bbda4e01fbdd2c21bbcd83c893b04b3b1bcb211d3bcac1cb0bbaa20a73bcbd38abbc71442bc3339fababe50303b2ac83c3ca1f68bb8031ccabab4d7363b0bc1243c6e54d3bd1a10543f09d4e33e70b3823ce46bf7bd85e8523f17ecdc3e3e0e573ca80acbbd85e8393f9bd3c33eb724363cad89a1bdb2ad183f5677a23edc39253c5d9583bdd00ced3e708c7e3e6984183c5e4268bd381aa93e6133303e4f67353ca73a4cbd66834e3e49cccc3db96e473c55a037bda893a93d8777053de7d5fe3b3cfc0dbde45851bb86e879bc712b94bdad72013c000000000000000005a2a9bd2b8b3d3c0000000000000000b0bd91bd25061d3c0000000000000000a2df70bdb578f03b0000000000000000206e4fbd7f6f9c3b000000000000000044792fbdce9be93b0000000000000000f04816bd447acd3b000000000000000004d9ebbc8dc6f83b00000000000000008e93b3bc38f8d03b0000000000000000c9bc503b4d7bb7bb1a09303cb10b923be6df113b292d6bbb62f82e3c0cfbe13bba28433ba4dc1abb1daa4c3ca2c6173c65af583b28c984bb42584d3c840e063c6726053b146246bba4a5063c6f8a873b936f273bcb2938bb3ed00b3c83f6433bee139a3aaaa19abae55ea53b90c3de3a2599913aa6dd5dbb9cd81a3be8b7fa39402c4e3ad6fe47bbce48233b557ec1ba326c52bb9c90eb3a0eb1a03b205bf3bca1e60c3bc55f45396da9163c7ecff1bc1d73573ac369cb3a07b0cc3bfcb5dfbc55f8dc3aa685d53a3717d63bf095d3bcf480fdb99680e53a1efa2a3b700b9dbcfdd3ad3ac62cc33a82a3b43b840fa4bc12226d38dd24063a23c48c3bf42f68bc970892b97ecf56bacecea83ba1201abcdc50a7ba14f19939cb2f8c3b7d48e6bb90a900bce259a5bc90b6e8bcb548f23b619322bda8e25bbdf7e7e3bc652b203c617648bd59c681bd8bebcabc90d8f03b71c352bd2ab285bd4594c4bc01600d3c6f1ef8bc371d22bd3b3396bca2da973bfe7f06bddfc126bd75da83bc15cfe73bef9188bcfb2abbbc14a117bcee8b643bc4c9afbbae5d0cbcbd4bbfbbc612c83b31c70c3c1624393b10b5ecba1e735f3b2e29233cb6e2b9bde4b3233ff5f3223fc27f563c570fcebd76c11f3f088a1e3f48f6133c20719fbddd9b0b3fbdca083f3f9f213cccee90bd1f86ee3ec090e63ef80b953ba5ed39bdc04db03e9738a83e08240f3c57824bbd6b5e883ee6bd7b3ed6ccf43be4bb29bd8573263e3994113ecabf0e3c5e0f1ebd023a953d624a593dc045c63b1496ffbcd099f73ac71c4cbc5d8ab5bd171d153c0000000000000000080ad2bd7bbb523c00000000000000006e20a5bdd4fc153c0000000000000000667a99bda84aff3b0000000000000000ddbc49bd5e169b3b000000000000000071b662bdcfe1e83b0000000000000000a0a337bd474e0d3c0000000000000000bd4a21bd6694113c0000000000000000982305bd5473e43b00000000000000001823f63ae1698ebb5feac73b4f2fdc3b1a04d33ac9a90cbbec3d0b3cd211393c2066b53aee1511ba87e91b3c3db3433cdd03833a2e958ab8564e253cfb7f2a3cfa89163bf13f11bb3999fc3bc24b043c5edbb33a3d6b76ba023ade3b24f09c3b6cf8803a6b7e3dba0f7bc13b0dd9033b2254fdb9b6858dba6319883b3aba5dba94bc243ad1320cbbed072a3bc1eebeba15d001bb0ee69f3a36c99d3b66bdbabcb0f00f3bcabc783a31b5d23bb1adb4bce81a3d3b7551b53a3bffad3b9756a3bc3dbef13adb8af13a3e01a33b98d996bc1512c2397e43343bdfb1a33bcdb68cbc1f21a73abeb8843a63c78d3b1a805ebc00c0803ac3cdfe399807833b284f35bcd7464b3a32d9c9ba51dc873b93a2d4bb1015c1ba032b09babcb3473b7a0f5dbbe82f8ebb6100d3bc11f108bdd6ea1a3c359008bd91f191bda65010bdff5c453cd1723ebdc54cacbd259202bdc876263c84bc3ebd17a497bd0772f2bc68b30c3c5bc324bddd2178bd254fd8bcd29f003cb9f001bd373c38bd6ae791bc0c23da3b7038b6bc7ad1dabc136c44bc5719b73b15c31dbca9520cbc202db4bb3185a63b52ec353b4114e93b1f6e68bb96ee903b21ba073cb88796bd77f9e43ee9f4533f9748503c8b58a9bd6177e03e8271513f320e263ca6d98dbdbeadc93ec497363fce2a063c29526ebd9380ab3ea8d6143ffbb7ff3b7d5144bdb96e883e0757e53e4a91eb3bf4c52abd82a3473e17859f3e0715e63b995111bd1a7afa3d633a3a3e82c2fa3b3efcfabce961603d6bdb823d4e32a43b4e42c9bc97c6203b995787bcd8d9d5bd46b91e3c00000000000000005a8bf9bd15b87d3c0000000000000000446acdbda195373c00000000000000007806abbd175f353c000000000000000082d391bde4c30c3c0000000000000000e5fd7cbda5cb123c0000000000000000bec760bd5173353c000000000000000008f741bd82b64e3c0000000000000000cadc15bd0e86153c000000000000000064913a3a1859b7ba0794153bcf5e253cc8de71b748cabc3ac132cb3bcb787d3ccd5fa13a2b8050b8bc9ad93beb695f3c79b2673aa3dfb23a957cd73bb1e1683c6d8c5bb85d112c3a6d9ce93b8964133c904a6a3aeef0bc3ab167b73bfea2053cb6ab88b9cf55a439442b983bed39963a13c56dba96ef723a45344b3bdef899ba695412b9fa65bab737b79e3a316b4ebbb4398bba8127e33a26ba4e3b609656bc23efaa3b2e242dbb4a14873b3cc53cbce70a7b3b329ebf39eeac433b745436bc42098e3bd0b2c03a9e46223bd55123bc7ba7283b20a5333a007d3a3bdf4e0fbc1899083ba43f1a3a500fe13a036beebbe86a9b3ad64f29393ffc3f3bd5f8bdbbc16d013bb80824bb9efe083bd2012abb4222fe39395791ba886a8b3a40d66b3a814d05bc21912cbdfb8200bda0f91b3cb97f03bdd77ac5bd4c640ebd0aa96c3c4fe816bd0b5cb5bd73f50ebd22dc323c9a7730bd114fc0bd650d0cbdace41c3cdcda0bbd1a6a88bd4893dfbc74a6053c7e8902bd613a5bbd6124bdbc1142ed3b4f21aabcc13fd7bce2fb4bbcc28caa3b3e8252bc6e30ebbbac3294bb4a4d5c3bf56abdba49b5093c0ed57dba4e3d333b0ad8233ce3a75abdf221863ef7e9823f5f71283c145871bddd45813e9794813fa993e23b45213dbd7deb713e0844553fe7dafb3bdea828bde674513ea7ac363f3482a53ba18203bd82cb263e2378073fb146a73b6b75efbc4939fa3d557fbf3eb5a69f3b385fbcbc980b9e3dbfa45f3e81d3b33bde2397bcadcdff3cd2cb863d1ee5863b390586bc7d763bbb32d705bdd811f3bde155273c00000000000000003f5a09be89fd8a3c00000000000000002431bebdb0ea133c0000000000000000d0e1aebd15b0283c0000000000000000351e85bde0dde73b0000000000000000bb1082bdc3f4313c0000000000000000cb1152bd7fdc213c00000000000000005f153fbd921d733c00000000000000005e6a12bd83aa443c000000000000000029a62fbac48e0f3bffbd04bab4686f3caf900bbb0a675d3b3a27d83bcb3aa33cc9679dba3fcb513bf36cfd3b1530a33c4071a2b980c0903bcda8c53bf132843cbea79639860f263bebe9ad3beeb2303cd59c43babdde1d3ba81bb63b2370003cd4941ebaee93233b4e0bbc3b70d7583b0be4f3ba360d933af1ffad3b57896dba8a10afbaa207a93a7544003b53fa79bb8ae4303b4b9dffba8b0aa93ae29c6dbbcd9b383ce9e0c3bb6c217fb894173f3b38f91b3c4e14ddba5eb37c39c73e93399f7ed83b617e103a2e4360b984b6f0ba257db63bb18d833a532186b99cbbecbaf2a5753bc655a73a009df63a5a4ba1bafd44a23bc907a3ba58b6063ac622d0b9742b963b7be366bb3232163a9adade3a617c1a3a0adaf5ba8b90c23a40e46f3a60dd7cbc37568fbd89d301bd8bd83c3c7efbf4bcedcf08be96a1eebc7f1d683c20591fbdcbe109bed32c0fbd9ed4313cbf4924bd201fe9bddbc90fbd9ebd063cf32413bd7e77aebd1c23f2bc336edd3b857c00bd55757fbd18b5c0bcfef6a63bb461c3bce5f71cbd8e6856bc19956b3bd35655bc0a5130bc52751abb8773473aac3589bb84255f3c9284983af1bde13ae4fccf3b5182fbbcb0a2ab3d37a89c3f6c8ee73bc1f8ebbc18afa13db52b963fd7ddc63b189ed7bcd2f1b63dcef5803f380d8b3bb596b2bcee24ad3d9d1a503f97b0553bcdfc86bc0215953d12a81b3fb7429b3a57a655bc797b523dc209d73ea64fd03a3e7c11bcd1c7f63ce0ad6d3e7fc67f3ac7f759bb7105eb3b4ecd663d6253893ad9175bbb833767bc73716cbddfb2f1bde341483c0000000000000000e06700be913b893c0000000000000000fac7b7bd69251a3c0000000000000000d48f8cbdee51f13b00000000000000000a7e5fbd5ea1be3b0000000000000000392c42bdc2bc0b3c0000000000000000e59530bdab8f173c00000000000000009e8109bdfaab513c0000000000000000d2220ebdca393c3c0000000000000000000000000000000000000000000000009708eebaa9c77d3b0df91f3b7172913cef32d0ba7f45b63bfd0b2e3b8c885b3c15b60dbadc8e7c3b9d42ce3ae8ae323c95e289391d0f233b17542a3b2700063c1fb5bcba3f099a3bc4b9153bdb67603b73ce97ba157e703bc6f1593bb6444439daa2f5ba2ab8393b57711e3b598ff6ba0000000000000000000000000000000000000000000000000000000000000000e4c7183cc4ea21bb4936dfbafc9c003cfd05243c94c450baf431ecbacb81b33bad2fae3b317e913a8f3087ba14ae5a3b6670933bd713613ab84874bac5b51d3b3aa88d3bfa5e123a9458d2b94c3deb3a25e32c3b765bee39117de2b9999c0d3b1afe9a3b303413bbfdc624393ded5e3b0000000000000000000000000000000000000000000000000000000000000000a207f3bc4ac301be0621e6bc8753d63b9e1deebca688f5bd494feabc89b0b13b136bf7bc2bafc3bd5826efbc5a9c7c3b1aace7bc2b1399bd45eed4bc28054d3bbb74c5bcb82066bd9e789abc530b063bf42b9ebcf71408bdcaaf31bc4c93013b1ec24cbc92e829bcca8448bbe73a803a000000000000000000000000000000000000000000000000000000000000803fbc71643bb2f3b9bbc7c836bdf3d79c3fc068483ba26a89bb7b78a4bc9d79823f192a073b30c672bb7366d1bb407d523f5f87cc3a7f0904bbbe9002bbc7ef203fae9e6e3a986ca3b93edc20bbf75adf3ea09969baed22403b38c4eabbc31d7e3e4fee1bbaa4119f3b44157abc56f08b3d0000000000000000000000000000000000000000000000000000000000000000819e81bd5cc1a63b000000000000000086041dbdac66453b000000000000000071d4cabc4b200c3b0000000000000000b28ea4bc27f0a73a000000000000000028e694bce9a9db3a000000000000000062209abc67702e3b00000000000000004298c4bc1da0ae3b000000000000000000000000000000000000000000000000000000000000000000000000000000000906233b994fc4baddf82b3ccee9163b2cf1143bc54b29b93199143c9321703b67793b3b851425bb74bd033ceadef8b96bd4583b69a129bb2cf68c3b5a5cc0bae4dfd23a83a6aaba50cb623b0493ffba7bb5f039b9a0913a1c9588b8306a5e3a06dd203859f2d43aeb38aeba7319553a0000000000000000000000000000000000000000000000000000000000000000d20ace3b3c52b7ba91fa943bf1c0d2bc6817b93b0f4e05bb5686543ba61dc6bc4de3c93b286c50ba0934433b850bc9bc385cc03b9110debad850963a5d27bcbc4871c33b97b873ba55822b3b6447a4bcdeec413b6a336dbaa514773bfedd82bcdabe793b705730bab6b9473bf1f237bc00000000000000000000000000000000000000000000000000000000000000005c1facbd42bf25bdd2c40d3cc2e91abbaf4aabbd836a1bbdff51063cb01b97ba46be86bda50b0fbdaa04c13b52e309bbabd849bda5cdf4bc7f06a63bfc0b24391d6318bd4e3ac5bc69d0b73b9858c8ba1b99d9bcf29d78bca56cc33becf7c9ba19ee1abc5eed13bcf47f9a3baf8b03bb0000000000000000000000000000000000000000000000000000803f000000004f50423b7e9e3abd3770943fb16b10bd8d210d3be457c3bc1dd0783f3d6ebebcbee2f03a7b8c75bc991d4b3f9b6793bc780b0d3b1e242fbcf12c1d3f583d92bcb59dca3a925f1ebc95fce13ed5d0bbbc053bf63a39b12dbce0fe883e06b4d6bc0190673b0d028bbcc147d03df7260dbd0000000000000000000000000000000000000000000000000000000000000000c0786ebb16dfe53a0000000000000000607409bb9eb09c3a0000000000000000d8db0fbbba67a03a0000000000000000ae2368ba0aa2513a0000000000000000cdd8943a27b8b6b9000000000000000062fb8b3b4def83ba0000000000000000b890d13b54cf49ba0000000000000000000000000000000000000000000000008cb79c3baa193abcf61a913c354d69bbdb887d3bb5349abb766e8e3c88ad863ba232913b69c0e4bbc7999d3cac89153b90d3953be22fe2bb5ec18b3cf64e25ba731a673bfbd2f7bbf72e6c3c17d12abb06ec503b77bcbdbbd143373c137908bbaf3b343b3eae6dbb21f4ef3bb7e89fbafe960a3a75a1cdba685a0d3b5dc6d9399b36953a0d7266bb7ad9813b348467bbb4f4963bdf3bc9bac3b3f93b1c6211bd01e2003c5d6b63bbb687223c137018bd3fdade3bf90beaba79e8033c30701ebd312e033c28b110bba63ef33baa7418bdad4be03b8f7c8bba8346db3b37fc09bd5c5ae33bf282f8ba82c1ee3b45b2fabc9437ba3bae71c3bafce3cd3b0447d1bc20f58a3b2aebd6bab657d73b177292bc2b606f3b3c26d9ba5a5cb13b8b305ebcfb65f8bc9bdc11bd4f4c33bad7f3453aae19a7bdef9440bdfc3c813b9ed2c4b9e7e5a7bd1f894ebda1fb013b92e4f3b869c28dbd839545bd1521243b42ed5d38550443bd1c3928bdb77b0b3bdbc177ba42b718bde89f07bd877b273bfd57a8398315a4bcf183c3bcb692673b7b0486bac3027cbb6bc034bc9863a83bfe28ccbaec9b8f3c5610edbb4069903b6df737ba3f132e3c111ac1bd0e8c943faf84cb3d36c55a3c9684bfbd51bd8d3f2b98b53de5f51c3c07348abd3091733f84f4ab3d4c42f73bbf8e53bdc9a6473f3d358c3defbdcf3bf67f27bd7b3d193f383b4a3db5fee93bc07419bd25b5dc3e82a0dd3ca849e13b485014bd404c863ee907323bc37c1f3c5f4e17bd31efca3d73bd95bc7e8bd93bc39506bd1d3573bc98bf0ebd27e1dfbcbeb8ad3b0000000000000000dcacd6bc9e33b63b00000000000000006d5dc0bc95f19c3b0000000000000000abf19abc9cfc453b0000000000000000c2a479bc5252293b00000000000000003a3152bcda311b3b000000000000000050e001bcb8ed023b0000000000000000e393ffbadf81823900000000000000001462a0bab4d2c03a0000000000000000540dd93b21937ebcdab6a73c087daebbcd6dd43bda0980bcecf8aa3cf37c54bb8e66a73b53f63ebc0d15a73c469d6dbb1449bf3bd1e964bc614fa83c098085bb4474993ba1a847bc0062913c473aa9bbfb329b3b931642bc93e27f3ce7dad4bbfcaf2a3bfcd116bc8c90473c29d3a6bbc657263beaf407bc71dbe33b56b9a8bbedae0d3b2e2000bc66ff0d3ce530a9bb847d373b34d378ba54210a3c490a20bd9137fd3b08d826bbab43443cc74c34bd490da83bf8cea7bace3afd3be1601cbd6b7bd93bd49cdbba5022213cbd9d25bd2ca8a93ba1091739db0cf33bae7a0ebdb4bfe73beccb39bb3128113cd0ec0bbd2ced663b55da10ba32a4013c7ac8d5bcdcd1b53bf2997abb1e9a203c4fbbc4bc7ba06f3b9e7bbcba5106e93b55ea98bcc9985ebb4a31e4bcde993ebc297e5b3b612523bdebf847bd0eeb05bcd4ea643bd39a1fbd8e4743bdde9a08bcd122233bcb2832bd723a56bdaeabdbbb1ba1333b7f1dd4bc9e1d2dbd9ea6c8bb94d6e93a692e9dbc653817bd5a9113bba24c033b5ed33abbee82cfbc68e7b3bacab7c33a3599323cfed28fbc2452c73a2f0c7f3aa738b23c49cdddbb71a9e13afa25873962643d3c240ac8bd7d03793f6d9f873ec5ff743cf5d2ddbd33ac733f0d7f7b3e93a9303cfe909bbd57c54a3f5c5b5f3e04a7323ccdb493bd304f303fb99c373e84570d3cccc967bd3a22073f1a8d0a3edf001c3ccecd5ebdd264ca3e46b6bc3de49c093c62ab3bbdca787e3e24e84d3dce1a323c381543bd9043e93dfb99f13ad1a30e3cec5c21bd2eee073c8bf2c5bc6d823ebd5752e93b0000000000000000a01b55bd5508123c0000000000000000a93830bd51f6e13b000000000000000050941dbd0e77fe3b00000000000000009b8501bd93aba53b0000000000000000ac3be9bc436bc23b00000000000000000a76bebc5400883b00000000000000003e6b81bc35f6dc3b0000000000000000d3f363bc8c175d3b0000000000000000d26dbe3be7ed91bc24c0ac3ce688adbbff04dc3b5ab88ebc160fb33c4a1995bbd1b9cf3bf8618bbc18fdb83c9b095fbbc603c43bb74277bcd962a33cc29c9bbb03bfc33bdb3975bce6ce9c3c1940b2bbe1b7973beda252bc27918e3cb3a1dabbebc0823b1cde47bce145693ca2dbd5bbde2b693bca922dbccf81343cf9eb00bc8060063baaeb23bc7c74463c4d75bcbbd5bc60ba76c73e3a91a70c3c045626bd25ff933ba6e3b1bae44b483cc3c435bda85a953b581b3eba64582b3c0c7c28bdfd62923b6eec10ba16760f3cb9551dbda63f4e3bca6927ba138a083c300914bd893a823b950969badfec0d3c584403bd9b96a63b6a7a13bb66c30f3cb7b8e8bce954ae3b228811bbf0c7083c71d0c0bc0c92a93a953bb1bafdd7ef3b7ef994bce17f443c138aa5bcbc27bebc648dba3ba3d88bbc5e4743bdbe97a1bcd78fc13b24d3f2bc83305dbd17b297bcc66db33bbe8dd6bc6f8153bd125181bcbdb5a33bcebd91bc5a8937bd82ce64bcdf90ac3b99dc35bc1af417bd4d1013bc80828a3b8efcb738dc4bdebc7b9badbb5c99663bf711463c64e27bbce3a648ba227b913aca59ba3ccc88c1bbb99837bb378b683b6b5a263c590bb7bdcb894a3f4b8bdf3ef2987d3c8271d2bd1d7b463f31e1d33e32e34e3ce77ab1bd73412f3fe05ab93e6f0b433c755c97bd355e123fb348993e1387303c552b83bdc7a7e83e415c6e3ec8a2263c24e56abda072ac3ea941263ed5da2e3c2c8258bd78e6613eeba3c13dab893a3c33a54abd7c95e33d73a0fb3c943b0a3c7d7b26bd1de0b43ccf887abc11d082bdb2130b3c0000000000000000a39494bd6f7b363c0000000000000000fdf582bd6fb83e3c00000000000000008f4b65bdf1ee123c0000000000000000cf204bbda3020f3c00000000000000003a7f2ebd5145ec3b0000000000000000000b1dbd545f023c0000000000000000bc20fdbc9685f53b0000000000000000a84ed4bc13b5e43b00000000000000002bd1bd3ba16f90bcc29f973cabd21fbb9ed2cd3bc14c86bcf371963cc41752bb87fcce3b157a71bc976b953c5142ebba09a3c23ba7627fbc6dbd983ce1954cbbaf41633bad8956bc0bd3803c173659bbdc4fa13b5a8e67bc9415833c4f5fc4bbfa92453b3e9230bc9f295c3c4182c1bb26aa623b709a31bc4add313cb25ce1bb725f343bb6f622bc26a94d3c8756d1bbdc5a9dbbf604f83a66cfea3b449f17bd2b02073b853e04394980183c280c1dbd07cf803a0ed58839dfa0e13b07560bbddbf3b83ac2003f3a6ad90a3ca2df0bbd6bd636bb1ee8ce3abfa1a93b9c9bd8bc8ee9b93a8eb70e35c3fd023c5f3fecbc01deb63ab24f97bad31df13bf92cbfbca8c04e3b66711dbb1248083c7267b0bc0ca8fdb8fc7f98ba9810c83b3fb289bcb8a9773c1ea982bc35b102bd2fdf003cc307bebb9ffe2cbdec8500bdd97e0d3c4dad84bcd16b49bd708adfbc5b9eda3b554d95bc0c9e52bd745dcebc720ff83bf3bd9abb9bdbfebc0e62a5bc0c60b33b42c3c7bb740b0fbd8ee489bc668fdb3be2e1143bdd8db1bceecb2fbc4cc39b3b77dc363c261f36bcfd75cdbb7f18903bc60ba53c7d17feba313cb0bbeb5b8a3b4b67233ceab3a1bd7e4a1d3fd98f1c3f39d4613c0653b4bd2195173f0aff143f63591f3cf74a91bdafeb043f0e80003fa4962e3cef3589bdf1f3e63ec90fd83e1ca7ce3b43d243bd4951ae3eff46a13e9fe2183c6d825abd76e48a3e0160713e0a2f0b3cb2e138bd8f6f363e4001123ea6a7213c6cf039bda17ac53d27436c3d0dccde3b913115bd1d6fc33c404b02bcafc49ebdfd691b3c0000000000000000f93bb2bdfe754a3c0000000000000000c94f93bdb286283c00000000000000008e6c8cbd409a283c00000000000000006a494fbd123fe33b00000000000000005d4564bd8643143c0000000000000000d88b3cbdc708113c00000000000000001f9930bdbbcb1e3c000000000000000092ca0cbd0b5e0b3c0000000000000000ad93973b81fd5bbc241f673cd01d313b777ab03bea2742bc3584633ca499f138d53c873b774c2fbc7b31613cf6eba33aa7436e3b90ea2bbc3f32643cc7014c3a4c5f913b984d44bc4d025c3c75dc8fba4498353b100224bc92103a3cf4703cbb677ca13b0e3515bc535d373ce65fa4bb26d4d33a81c904bcfe16223cd8b5dbbb6d44293b247306bc12272c3c34cd8abb841baebb5de38c3a07e0be3b0878f1bc4793283bc3238aba9e0d003cf3dffebc35c9143bdcd95f385f66ec3b3c67e4bc7ea5cc3a41fb0ab90858e93b78c6d4bca07f1c3a956a763a576de23b4499cfbc1f22013bdc2684babfc1e63bff73a9bcdb51343bb8e0cbbaf2ac9b3b2dd497bc9a82573bbd0a3ebb246ac03b120175bc756b0dba0b8783ba8eacae3b99985fbcdce2103c8a6988bccd5314bde146143cb66333bc592352bd993b1abdac033f3cbd8c9dbc77997bbde2550ebd9f4a133c74b79dbc09df67bd0266fbbc5940163c2f987bbc47dd3dbd4869e2bcf8ef013c75293abcbfd510bd7a439cbc0583d33b3c07b5bb5f8bc3bc336a57bc8b3ab43b8d77443be26226bc7e5edfbba53b8d3bb3a2543cccaf2f3b1474d9bb2936813be26d063c46e783bd9d7fe03eb3644a3f5dbe433c3a2095bd57b8d93e9717443f042f273c236f82bd8da1c33e8bf02a3fbce3143c31e760bdd36ca63ea6670c3f08340c3c4cf84abd9201883ea656da3eb756fa3beb7c31bd4b3d4d3ee6c89b3ef422d63b6af422bdc7130a3e52123f3ea099283c4d8415bd6126913dfbb09d3d2629c23bf42afabcdb75913c7c57c3bb112cb7bd8a44303c00000000000000006d29d5bd8d54723c00000000000000006bc9b7bd27255a3c0000000000000000a4999fbdbf80393c0000000000000000dc618ebd2d49323c0000000000000000e2dd81bd1f473a3c0000000000000000b9ba6abd75f03b3c0000000000000000905052bdf6f1423c000000000000000058d924bdde07283c0000000000000000fc07263bae1de5bb5117d63bf3da743b9f45553b2396a9bb46f9003c523b5d3b9cfa4e3b8a17f6bb3524053c16bada3b6b36483b3e98a7bb6001043c6df53b3b70cf0b3bd043b4bbdcc1013c8e3ddd3aaefa293b9349a3bbacc5113cad467cbafe3ee73aeb61cabbbd63043c4aecf2ba8346583acaca5abbc9ffff3be364e3bb1cd4603a849087bb23fbe13bcecea4bb9a299fba3373f4392174a63bb903a0bc806c013cd48e34bb6bdb4c3bcec87ebc3adc063ac0b9093ada14883bd44489bc6d415f3b20a288b8a7a1893b90bf90bc6e20f038a64ed53a17567a3b266c66bc7a52123b9e125fba21778a3b423d56bc8035e7b78b44c1388708903bf98f52bcf64be53b9a909bbb6a12a23b4e6811bc55caa53949b734bb77ad833b8b78efbb896f5a3ae7e4ccbcdad51abd3489203c9b438dbcb95b89bd50b428bdf922353c09789bbc79b176bd944617bd1399123c3ca7cbbcb78088bdd0960ebd670a143cd33195bc4abb3fbdba39eabc1b24dc3bec3599bc0d4a22bd49d6b6bc7e7bdd3b3a5c10bccbe8a3bcb59781bc59dfab3b4cf1a1bb7af225bc11768fbbbd8a4b3be276863b86b0e23b45518dbb96a4ba3b069ff93b189a42bd1384883ed577783f054b0f3c4e1d59bd8815833e5526723f6682e43b1de72bbd1dd36f3e5ca9473fb4c4e63b0da521bd2622513ed67d2b3f7e80a43b5f3002bd4b7d283e19f8013f1f0ba13bf25802bdd5ea023eb8e2bc3e118abd3b4926cdbce455ac3dc5ef663e95aaa33b240ac7bcd15a2b3ddb78b13db299953b7953a3bca441c13b081c69bc7c97c4bdc1a6423c00000000000000001bdfe0bd519d793c0000000000000000a807a6bdfa1e303c00000000000000005af5a1bd8393393c0000000000000000fa0584bd5baa133c0000000000000000c4fc83bddda7393c00000000000000009f385bbd3a17153c0000000000000000a0a354bde6fe563c000000000000000032f22abd1343273c00000000000000006ef3923a15d8b6b9e11a1fb93ac6003c0c1304babdab143b6339833b9d03003c9170853a000b5f3afc682b3bb778173c20aca6396851613ab74a533b9501113c1ccea039257016bab19c253b0d15a23bd823463a4c0cc3b9a14e533b5465173b3030ae39ad8aae39a0b1a73b02a0f7ba4fc09eba3532703a164ab63b6fb8b1bbc316db39050a6cba73d9353bae264ebbf2c7c23a1753a1baa9bf063b012b0cbcfb93543ca264a9bb628d0f3bc4bc85bb65fb143c511efeba038eb73a0322a2bb9b82943b58720f39d7e4153bdd19babb91222e3b1f4b4f3a6f680b3b4996b5bb58c5853be9085eba0c02023bf95980bb0cc6d93b31de2dbbb6a0853a3bac1dbbfda70c3c9138c5bb07f2c33a674295398b01523b35094ebba3d3bc3afb308eba2ec651bc81322ebd75d615bd22010f3cc7bdc4bcb4e2c5bd454112bdc5b92a3c7d93e7bcb66ac5bdbc161cbd137e093c3a89eebca660a7bd46d417bd42cb0d3cfe46d2bc67c574bd818ef9bc4c3ad33b531ec6bc32c341bd311ebebc5870ba3be8549dbcbc0ffebcc5ea5bbc22758e3b5c1e51bcea0175bc80229dbafea1413bf82785bbe26e113c8cf1daba3ef91a3b2023a33b42bee2bcd0b7cd3dca0d943fd2e5ad3ba63ddebcb2cac73d22dc8c3f5e01893bd11ec3bc8e48cd3db788713f6926583b6470a8bc054cba3dd3fb443f4d466f3b70bb87bce0039b3d5139163f3c6f2a3b459f6dbc9cbc653d8397d63ebed6103b588841bccbb90c3d72337d3ec906123b64c70abc8ed41f3c505aad3d68a01b3b8bb311bc08c413bcb994ebbc63a3c0bd7c4f293c00000000000000002fc9c5bd93755b3c0000000000000000321b9abdf2451f3c000000000000000092bf81bde238e03b000000000000000055f55dbd6a2ae73b0000000000000000926359bde026033c00000000000000001d0649bdd43d073c0000000000000000b42937bd1a2e2b3c0000000000000000c3c829bd0d0a1d3c000000000000000000000000000000000000000000000000f3eb53ba6dbda13b438926bb02d4043cdaf780ba2c60b33b99d249bba407003cc89b073993f0473b415867bb3807c83b25097e3ad9a1763b11f44cbbdac31a3be442d1b9e5a50f3bb685dcbab94cd43a48e839ba7fe7493b464745baa1e3edb906dd8bba3eac6b3b309c6bb8f5fa43bb0000000000000000000000000000000000000000000000000000000000000000b2bd163c0d5e8dbaabba3cba1a8e913bc6cae23bc76822ba1814a7ba0198843bba51883b513ebc3acea18dba8e6e303b7e5d053b25f3d637b0c83eba5a9bfd3a5614523b3a03303a4df43a395195013ba4c37f3ba5a843baea0c01397c69563bdfe8b43b3fb58dbaade7313a9469133b0000000000000000000000000000000000000000000000000000000000000000f35fe3bc75fcb3bd347902bd7832933b5a8bddbce1d4aabd4329eebcfb2e963bb79cdcbcceb48abda636e3bc50833f3baf3ac6bc50ee53bd5c80babccc0e953ba595b5bca9ee22bdaafb90bc4510213ba14d9abc28a6dcbc8ec729bc0686e03aefc076bc11c300bcdd2993bb2e2e193a000000000000000000000000000000000000000000000000000000000000803f03c7c43ac92693bb25def5bc7b8e943f0b59fb3a6f896abb48ba42bca003783f8ea59c3a22fd2cbba15a3bbbf99e4a3fe5e138ba61ab42bb4b3a99ba6a211d3f2999d9380ab917b98c1e36bb0dcfe03e410d85baa5bcbd3ad107d7bbd53d873efe1c9bbae021313b4d476abc9f6ac93d0000000000000000000000000000000000000000000000000000000000000000f3dd49bd3c6a5e3b0000000000000000b00706bdce2f583b00000000000000009636d1bc3a91cb3a00000000000000007231babc01dba13a00000000000000001d27c9bc1dcdd83a000000000000000024abc3bced8a663b000000000000000011b7eebce7c48e3b00000000000000000000000000000000000000000000000000000000000000000000000000000000a692573b47270bbc3909433cdd8247bc87d5143b1a6102bca6d4113cb95921bc82ff053b823405bc0e2c1c3ce96520bc60c5c13adf62dcbb473c143c400024bcff19993a4a9ebbbbe425f23bbfd416bcf9c2fc3ad534b5bb9a15c33b7f8a04bcf23e173bea28a8bb541fc13b32ab09bc000000000000000000000000000000000000000000000000000000000000000095b5043cf91c65ba8a49613981baafbc3a7ed43b688f8eba6583cd3a955f91bc045aaf3b8e8b2bba7231fc3a032682bca755a63b0d5b47ba5f59bb3ac44671bcbbada03b916483bad0dae93ad75455bce073b13b751889bae7a03f3b4fea48bc9a2f8f3bcb313cbaf7cf043b189841bc00000000000000000000000000000000000000000000000000000000000000000bd97ebc588303bd9242563b8efed0bad47b99bc0a53e3bc80292f3b07826eba785e5bbcc389cabce97a023b68a972ba81e7f5bb52c3b4bc40c2293b1c4a0eba27986ebb9f29a2bcc96d733bfaacdfb96b82d039d76387bc0734a33bcdf8acba31d6073c73105dbcd69ac93b36a022ba0000000000000000000000000000000000000000000000000000803f0000000086ac293bdb94c3bc734b823f985495bc42e8233b446d6bbc47ab5c3fbc034dbced030a3b78c02ebc4d97363f4a1f3cbcd403bf3ac2d320bc2589103f5bb95bbc23308b3abf271abc9be2d63ef1aa81bcc689df39d80a35bc3eee8c3efdb1a1bc08fb0e3a9fd763bc3ca90c3e555fd5bc0000000000000000000000000000000000000000000000000000000000000000ed39b5ba0858c73800000000000000005f055dba2202583a0000000000000000b12ed7ba3cc006380000000000000000f9ffadbaedf0bd3800000000000000000dda03ba6309c2390000000000000000a5908e39736500ba0000000000000000409c853a785878ba00000000000000000000000000000000000000000000000036e3a73bbefba2bcd5d8cd3cb3fa72bc3828f73bbbccabbcf965c33cb97368bc42c4ba3b608794bc7d4ebc3cded555bce9969e3bc8eb91bc26c5b53c350e6ebc2427683b2cbd80bc5947b43c3f7868bc4b173f3bc2a078bcb2dba93c08d364bc67e1473bc2e853bca35c9d3c34945cbc2c8c963bc1e25abc0962843c555540bcdfb4513b91ac2cbcb147923c01d24abcfaf2ca3ae00c3fbad0265c3bf68c02bd3571cb3b1140f5ba1765e33b313c13bd5594713b738c50ba4f53bb3b366104bdb0e8613b0e15a2baf841673b9666f9bc8e64323ba89a69ba3955893b57c9d8bc6893783ba0428cba7488b53b9863d4bcf0bfa33bc8dbd8ba481bbf3b2612c7bcb37acf3bdbe61fbb1ac3e23b6c36c2bc1cdd653b68b958bae5c36d3b19648bbcebbf443c42b7ddbc9732f5bbd2f6253b530d96bbc6fe0fbd550c80bbb9a9d739da08e2bbd4b207bdf40ca2bb78a3863a340885bba93206bdb1361bbb80ef953a19c8963bb619e4bc59873cbb2a3e883ab72d063c4b64d6bc283384ba35cfce399c7b6e3cdf51bbbc11f6da3ad8a2f6393ff3a33cda7a9cbc4204503bad481bba56efe33cab9279bca85d873a07fa67391eedaa3b04c04cbddaa8823fbf4cee3d6dc6063cb7c150bd0cf6703f1470d13d1d38ad3bcdd61ebd6f7d4e3f4c4ab73d0fe6d93b04610abd903b2c3fc082943d3ff7a43be39fe9bc6079073ff9565c3d262cad3b16f7eabc8a81cc3eb7f7073d18afa53b1d33f3bc40a9883e0d2a3b3cdfa4c33b4921fabc142b0d3e51772fbc8e32393b8a30e0bc5565b93cad72bebc99ad99bc1cc37a3b000000000000000042018dbcde0c783b00000000000000002d4180bcc01c7d3b000000000000000011166dbc56c28c3b00000000000000009ac74abcc0c34c3b0000000000000000c8e940bc36662c3b0000000000000000da5b37bc1054ff3a0000000000000000cc31d6bb776e273b0000000000000000e21100bc3905063b000000000000000070a8bf3bb514babc7695f23cf35239bcd20a033c7ec3e9bca5590d3d8fcb84bc713c963ba9eca8bc1596ea3c671c51bcef63bf3b545bc8bcb907043db9b282bc9e9e453bdebaa5bc5ecdf03cdc536abcdc74a63bb23fa0bcfa19e43c371381bc8654463b857d8abcf7ebca3cb7fd42bcbe97ab3bef5aa4bc2206f33cb879babc627b7f3baebf6fbc2d80c33c67c835bcef8320bbe307abba56eb9a3bcb840cbd54ce4db9b78cabba185a013c516926bd0cc037bb863acd3956d1913b3f6402bdc60ab0b94cd53bba27dfe23bea3e13bdb3700ebb43d50cb947b5843b628cf3bc511c523a485eafba61ccd53bc41af7bc8d20b7baa2dfd6b969b2af3bdc69c8bc3081913b5c8eddba39caf53bf608eabcc47736ba70beacbaca41933bbcf6adbc512ec13c42e386bcd2088abc78df853b6bd0873c7867f5bc2b5a7fbcce17703bee63393cdd23cbbc0cf466bc7545603b0aa14f3c7314f8bc3b1b5bbc1d1b343b245c903ce829c4bcdd622ebc75c8313bc7fd983c021fcfbcf2d920bc8dd5533bb6e5b63cab928cbc4785e9bbb16d343bb6bd053de03c90bc6f4a6bba6353abbaeef2033d93c737bc743396bb71a52b3bf334123cb89761bd23f25d3f8d61863ed4d7233c95d681bd70504f3f5cdf703e6ad2c63b771534bd8b832d3f8d08523e13eb093c911041bde3dd163f6f442d3e378bf23bde741dbdd38eec3eb81e063e8e15f13b1ca423bd1e4cba3e09ebbc3d77798e3b101209bda53e733e3d436c3dd5350c3cb6ae26bd07670b3ec8a57d3cbb709f3bf2c804bd103ffa3c685851bcaf1e00bd7771e53b0000000000000000fa2d0dbdb176eb3b0000000000000000b2dfe4bc167bae3b0000000000000000f0e4ecbc8569bf3b000000000000000049a1c4bceac4963b0000000000000000702cc4bce132a53b0000000000000000fce2a9bcdbb6853b00000000000000000ae698bcb090f73b0000000000000000922d89bc48cbad3b00000000000000000f5a8d3b954ac9bc3bd6023d388c0fbcd58a0b3c2839ecbcf9ab133dda6e48bc64b2f23b2e3edebce09f0e3d71bf54bc632c973bb3a8cdbc6bd20a3d4ada36bc72d9b53b20abcbbcdc630a3d49df5bbce25b9b3b34abc2bc378a083dc6f357bc2653b93bb233bbbc5f42013d823b63bc9c04d73b8d7bb7bcf700fb3c8a8c60bc9f6f053b619389bc2553e63c94792fbc06b12bbce2e3c73a6ecaaa3b110210bd6161cbbb45071fbaa150153c14bd2cbd6ba9b6bb01d5d2b9f67c903b29bf1bbdeac2c6bb65e4b8b93fcaf33b110c10bdb4bde5bb190dfd38513aee3bf9770abdc0e758bba9a35bbaeb7bc63b5b6a04bd4c5582bbed9f79ba21bfee3bed75e9bc4d220ebb105716bb9b96053c104df1bcc8b999bb770b8737c0b2b73b1dddbcbc41d0ea3c4dae11bc03a5cdbcedd3c33bc35ebe3c8bfea7bc3385d1bcf7cbcc3bd93d983cae05ccbca4bcb6bc1334a73b12ab943c6424c9bc657da3bccf07b93bfc8eb93ce0fdb3bc82b09bbc9fb4b43bd67bd43c9f03b0bc3aeb87bc89df933b7235f73c6a1d89bccdf04fbcbb41963b112b0d3d4ed35bbc839820bc9efe923beb7f0e3d6b4ee9bb9b4a2bbc91c88f3b6252f03b4ccc5bbdf77a363f3c79d23e5efb383ca45281bd93ae2a3f7a6dc03e5034213ca5815fbdba49153f73e3a53ec9ae1a3c8f8247bd568bfb3eeaae8a3e569ffc3bfdd139bd49cdca3e64a05b3e3c4eea3b724432bdf4269c3e98c31e3ecba2f03b76b22cbd9fad593e9cbfca3dad29213c212f2cbd837afb3d0daa313d6242b63bb29b09bd89f00e3d5e7d4bbb8f2226bdf978e43b0000000000000000eb4b44bd33f1083c000000000000000003b629bdd69c063c0000000000000000015f24bdfa22183c0000000000000000dc1b17bd050f083c0000000000000000b1200bbd4c53003c0000000000000000ccd904bdbe02fa3b0000000000000000e991f7bcd056f53b0000000000000000f365cebc0c9bc53b00000000000000007438933b3f74bebcac49f53c3f0859bba1cace3bcbabdfbc83f9073de023dbbbc69ab43ba191c3bcf4f1fc3ce444e7bb13aaaa3be08ecebc1402053de17f02bcb9cf063bf7269fbcb2bee63c78bfb5bb5f48b73b7f83c3bc2825013d4f9511bce869833b0dcca6bcc0daee3cbb230dbc05ebad3b6d1ca9bce41cf53c223e2ebc2fb5593bcdf289bc41f0df3c6c3d06bcf5ec65bc4669073bffd4a73b569207bd4a814abccfd8a43a97a2e33b217d19bd329c41bc95fd8f3a25c0bd3b633b02bd044837bca6c46c3aa8d9db3bd84208bdbed140bc5d89fd3a2206903bdd82d2bc57e51fbc43668738df77e33bbb09fcbcace0fabbd6491cba3d72c73baa39d7bce7b5cbbb0e5968bab8dfe33b8d70dbbcea85f2bb48c2143a9c90893b9fb1b0bc0ffede3c984a14b9f1dcf7bc75f5de3b9e03c53c134734bcece105bd8ec2033ce025973c67e679bcc173edbc3a8fdf3b7d7d9b3ca07492bce330e6bc9abde23b891ba83c17fc13bcb843bbbc257ca53bc2adc73c17f950bc76e3babcf3a3063c706dd93c5eeb06bc75d29dbc1856bf3bc134003db44dcdbb28617bbcb0b8ba3b1f13003dd92195ba99fb64bcedb0b63bef3de73b9d8348bd61f80f3f08740f3f7236243ca3aa5fbdd8b3043f3587033fce9f023c3c9e41bd01fde73efc4fe23edc2f0c3c58a33cbd1230c73e96b7be3e9084a53bc9570fbd2ac79b3e1795933e21dcf03bb18424bd27bb7a3e7fbd613e81a0e93b3d1917bd61ff2c3e91d1123e0f0a093cd8fa1dbd3094d03d8b7d903d24529e3b055002bd5a6c003dadacc63b4dc146bd3840ed3b0000000000000000e4b462bdcd3a0c3c000000000000000056f542bd53df0b3c0000000000000000a40d42bd2dd51f3c0000000000000000fc8017bd9858da3b000000000000000003df2ebdf1bb083c00000000000000006ea51dbd751f103c0000000000000000429317bdc628193c0000000000000000d3e002bd9af8ee3b00000000000000001f837e3b9728a5bc391fc23ccdbc8c3a4a20d43b9e75c1bc51b1d43c377909bb6f7fb13b6f36bdbcba76d13c0a559eba63479b3bb472b4bcef89d53c615783bba98d943bbb51b4bc68afdc3c228273bb98348d3bc4a2a6bce469d23cecb2bbbb8b4f5e3b4bc8a5bc0228d53c4b43c7bb8375973bc936a1bc57b4d23ce361febbb0c36b3be54386bc2998c93c81cd99bb967a74bca72e2c3bb96e943b93f0e7bc290d57bc4ff8783ad58afb3b1e0907bd90fd63bcfb0f8d3a7910d33b38ddf6bc1b585ebc9787ee39cb10cc3b2af8e6bc3e7557bc5a4cb43a1adbd13b9efbdebc269a2bbc1a9053b8d258af3b5310cebc522d0dbc17e48aba09cce53bc2baccbcf9cee2bbe98af2ba1c27013c6249c0bcef4719bcc2bbfc3928e36c3b7ba497bca642a93cf1319d3bde4a11bdd9dbd63bb37b823c5c7310bc414822bd9c5f033c8b71483cba6073bc071113bdd434003c11ee503cc9735abc29b201bd50141d3cffbf823c710a37bcc1faf3bc9522f93b966a893c4e5817bc48efcfbcdb1bdb3b99e5a93c8d5a99bb87dfb7bc4845163c0306c43c72b468ba0cb896bcfbebc63b089bcf3c58f6c13bd1c18dbcc4e4cd3b0053da3ba06e27bd3025d33eb848363f62d41f3c17f944bde4f5c33e6947293f80be0e3c4a562dbd96c1ac3e2e3b123f2ebef33b883916bd5291923e4bd7f33ee7cdfa3bc91417bd7d1b713ecab2c13e8e89e03b3ed610bd19473a3e9d3f903ebe09f73b8f4402bdb6fa013e1ba73f3e5b35133c86c70bbd761b9c3d7083c23d5d76953bdfcfdebc5172c83c60f9553cd4405bbdb8faf83b00000000000000007f7a81bd34d12c3c0000000000000000bade68bd1747303c0000000000000000857850bd7802243c0000000000000000db8146bd4c41143c00000000000000007ab23ebd032b1d3c000000000000000075d938bdee77113c0000000000000000319631bd6fb7213c0000000000000000e18f0fbda66c023c0000000000000000e696803b5f2a70bcbdaa6f3ca4f1933b3dd8993b188e87bc644b793cb657523bc8d3653b62fd74bcfda96e3cbcc68f3ba7a93e3ba47892bccfe7b53c0428953bafda0a3ba4ff76bc5bd2823c25d8d13a2d0d7c3b993b84bc233b913cfdce0eba3ee01d3b463b56bc6770893cf690c0b91b21913b87db6dbc59998b3c27b628bb84691f3b72503dbc8605883c92d819bb87cc68bcbf36dd3a21ad6d3bcd5faebcae9367bc1625883aa6e3b33b2c65c2bc18cf50bcb814173b2f86853b4f66a1bc54f46bbc712bdf3a1140c93bb62ca9bcb3ca40bc07c8513ab6109a3b17cd91bc0ed539bc1462fd395746b23bf99196bc00c023bcc024803a9318833b574e7ebc24170abccce4e3bafd9fbd3b815487bc7d68e6bb0d1592b934c1513b0fbe5ebc954d153ca8e1863b7edd0dbd8dfae93b30dc7c3b31840bbc315c2abd7a96073c89df583b35480ebc1c6008bdfd8cdb3b28d8a23afd7f96bc58dc11bd2d97003c8ff1be3b2338d2bbbd26f0bc9ed4d63b5670ea3b34f5b0bb49a8e4bcb30dec3b9f3d203c109a003a34e1afbc7b1fb73bfc564c3cb7629a3ba1de9cbc23dbe63b5a1a753c8782043c431080bc17d0ad3ba901a63bd901fbbc4206873ec90b5d3f93a1dc3b928d10bd345d783e19654e3f0557a63b78e9e6bcc5805c3ed9e32b3fcab3f53b97cfe7bc87a93d3e84e6123f5510c13baa24c9bc2862193e6a1fe63e1c5df43ba866d6bcf12bf13dbca1ae3e8622903b8526bbbce5c7a53df580633e047ecb3b7a56c9bc85a1403d9f56eb3d904c933bc410acbc0ca74a3cf7a6433c60fd5dbd95d0f73b0000000000000000832782bda165363c0000000000000000e43741bd3b2bbb3b000000000000000041da51bdebe90a3c0000000000000000e60732bd533af63b0000000000000000418d41bd1e44123c0000000000000000a97320bd73f1d93b0000000000000000725239bd77c52c3c00000000000000003ec615bd232bea3b00000000000000009ade383b83b708bcd6d96c3b3d23143cf5422f3be5f9dcbbe44c243b6bcbce3bd7b6f13a91fa0abcab8e9f3b39dad23b3a2f203b81bf0ebca3f89b3b82c8b13bf511f03a33ff0dbc3e0eba3b44f6b23b1fc6093bdd530dbc339dc63bda919c3b89c21e3b7131f3bb9bfddf3b5e2c683aa4acc53ab80fcfbbcf35c33bca2997b940f8063b56f8e8bb5bf90a3c6341a13a3cb64fbc6c03143bef484d3bd23e53bcd9e613bcc8c8033a8946233be8a53abc938d1fbc42607d3a5f735c3bd4a430bc6fcf2dbcc504b53af900323b7e8026bc8aad39bc83d4cd3a1f5e253bede01bbce5081bbc7a1c053a78ea253bb5750dbc19ffcabb365f0cba00e7373be4d6efbb07266abb46e11ebb57e8473b7a6fc5bb3124c1bb4072f7b9d5cf753bb865ffbb97278abbf29fc43a54230dbd5640ad3bb0a12cbce6fe99bcd1b11dbdc315d13b91c92bbc86d9abbc24c816bd0989c83ba0ab0dbc203692bc270906bd41e6c63b2e7cbcbba3651fbcfd30eabc18edc63b4494b1bb4305bdbb762cd4bccf09db3b5c6e31bbe1b8dcbaed83a0bcefc5c73b8158d2ba913d993bb4e17bbca55bab3bcf76b73b0cd5673cc46f69bcb071a33b8d8c803b2bec97bc1d86f03d5b00823f1e274a3b501786bc4b7bdd3d9a2a703fbfae8c3b228385bca8c7cb3de0cc4d3ffc926f3b690b6ebc0258b23dc74c2a3fa1194f3b079057bcd444903d7087053fdf2b283b0fc155bc3f525b3d4629c83e45f3ce3a63444abc97900f3d0087823ecea7653baf7a3bbc11596d3c3c4e003ec791073b9dd24ebc974757baff50273cd41f47bd37ef9b3b0000000000000000799559bd9aff193c0000000000000000163d35bdd158f53b00000000000000003b4f23bd84b3c43b0000000000000000f1e215bdcbdf983b00000000000000008fa81bbdf3d9ab3b0000000000000000607f1dbddb71a33b0000000000000000f7aa22bd49a0f13b00000000000000007d9f10bdf881d33b000000000000000000000000000000000000000000000000fc8fb23af3727cb9372fecbb56c6f73b23c2363abca612ba3612b7bb3aa7bf3b837e623a9c9c06bb643d88bbdf1dc73bd70b89b8ba0f0abb933169bb3a61ca3b2d915bb77a43b9ba53238ebb6231673b66090c3abbacd7ba0ab225bb33f76b3bd633133a2666b2b98f6544bbd7ef923b0000000000000000000000000000000000000000000000000000000000000000f542a6bbbaeab63a6d55533960f2a8ba827c9cbb3dfad33a5e76073a91ec37ba5ae7c6bbe1f4a43afaa91a390db59dba382dccbbb785843a76f4be3a3e1db0ba98069fbb410f8e3ae2d0ad3a9401c7b92ed562bb08c955b76c0c4f3ad3aa0bba9bc386bb06399cba32f3dc3a9e4290ba0000000000000000000000000000000000000000000000000000000000000000fb438dbc0ca997bc1f93dabc9c0c203b334776bcdb56aebc4fccbdbc3fa9d13a80065fbc89eb83bc682dafbcfdaa243b2d5d42bca64522bcdfd29ebcfb42413b23fe29bc4865bfbb16e083bc91f6013b850423bc4e98f3bade2553bc860a323b2b0622bc4717e93be8031ebce9b3a63b000000000000000000000000000000000000000000000000000000000000803f5f62873a328340bbc77f60bcb4fd813fa74eb63ac4f1abbadde7cabbfc895c3fda9f763a7213bcba304465bba544363fac2b013b9f2d00bb991a4abbe328103fc512d23a68addfbacd285cbb8af0d53eadd36a3a724696b9744bbdbb66048c3eb84010b956049d3986b435bc6aff0a3e00000000000000000000000000000000000000000000000000000000000000006061cabc7da4943a0000000000000000c69e99bc3efa313b0000000000000000803f8abc172b933a000000000000000052508dbc91159f3a0000000000000000bfdf94bc06f283390000000000000000a042a6bc4e6de93a000000000000000015f8e3bc4d8be33a00000000000000000000000000000000000000000000000000000000000000000000000000000000bcbacbbbc22a293c280c1f3ddc29743bf6a85bbb6ec14a3c5db0123d281cca3b3be4f9ba71f5383ca47af53ca1d2323c8496d339eddb373cb103ba3c752ed53be20912b998d90a3c8ede893c3529ce3b3df3b1b8d3b2c33b225b1a3ce4a16d3b281d05ba99ba553b4f09363b7936043b0000000000000000000000000000000000000000000000000000000000000000d10e6bbb92260c3af9cb833bc9c94cbba31713bbc960b1babbe99e3a049e10bc2bdc8bba35a316bb2ca4cb36177d97bc53813ebade27c7b9faa5c737074b8fbcc6b42c3aba60ebba1b3340bb42e162bc4e7dd039cd814bbaa86ca2bb96dde6bbf6d51f3a552071ba42989dbbb991343a000000000000000000000000000000000000000000000000000000000000000000fc5cbefdf3593b965dd63b18ff25bbdf4d57be0e9ce6ba69d8793ba03e593ac6953fbe950e64bc83259d3b3caa383aa2481cbef1cd3ebc4f725f3b32416eb99aaadfbd470320bcea81a53aeaf0bf3a346881bdd6feb4bb9946bfba8535c83a93b590bc0288f836e7de10bbcf9ed33a0000000000000000000000000000000000000000000000000000803f00000000806f963cf768e3bd650fad3fa579e5bdf2c56b3cb06684bd764e8f3f87c293bd475c183c9c662ebd166f6d3fe71f57bd9197053c2fabebbc8261323ff0dc1cbda90ba23b683359bcd273ec3e666fdebc5a1b063c14d390ba6d9c6a3e19e910bc3a748a3ba29c2d3b59f37a3c56b5beba00000000000000000000000000000000000000000000000000000000000000007834843cc7347fbb00000000000000002223103c15c424bb000000000000000019adbd3b231e41bb00000000000000000c3a943bc1813abb0000000000000000eb548f3b0e11feba0000000000000000e5fe0d3bc7a507bb00000000000000002851693b7fed33bb000000000000000000000000000000000000000000000000ca8000bcd243bd3b4a01a03c29aa7d3accb322bc3049223cd0191b3d8cbd5a3b7632bebbb3e03b3c96f3293d24b40b3c4a0771bbe114393c22bb173db2cb293c2eaf6cbb91ad383cdd34d13c58e73a3c160411bb8f17183c7d08a33cd3fbfa3b31fb30ba248fac3bf901353c2014953b231ec3baed23423b6dba5b3bb147423bff5c4ebb27b8c93a2f2291bb1a8612b95b8865bb1493523a19004c3cefad3bbc4fa993bbeaf483b9ed2bed3bd4f9873bd67867bbb7516bba6edde03b08dc46bc189a10bb2ec7e4ba183b993b916087bc88dd2cba982e0abb0df25a3b3db885bc2fd15fbac26f1aba6d4c6cbadb5539bcb234c53a7f4308bb659190bb2e44d7bbd330833a9d5caeba6d44c3bb3de3633a993f9f3a4d9170baf3142ebbb082ad3b29cce3bdd47e0ebb8389003bb56838ba599348beba0f173c498821bb7a567c3a52535cbe794157bc5290183be5a1333aacc54bbe4e4ca4bc991d243b8c1ea83adceb1fbe9bafb5bcf7b8fe3806fe003b7816ebbdfa2090bcb32ad5b9493a6439704b83bd3ec639bc116d1fbb9747183b2fb594bca1d2ecbbf2e029bb3df8f93a7e16843c394b663bdcabd9ba2006db3922061e3dc0bc4fbecbc5ac3f25fc7d3c2657273dc04740be9438a03f4b3d693c1ecef13c5eaa16be6c74903f71b0b63cee7dd83c4204eabd58ad6d3f6a4bda3ca3cf953cb449a8bd17bf323f52e5b43c6deda73c1f9d6bbda2c7ea3e134ec13c54dc733c45ea06bda4bc6e3ee1e1a73c4375383c9c60d4bbba4f043d836dd33c07f83f3c83ad5dbc1c87d3bd127b82bb8a325fbcdebc543b000000000000000007e13cbcf5ce3a3b000000000000000036cb61bc6842c43a000000000000000019d57dbc4474133b00000000000000004a9211bc104ef139000000000000000016b626bc00f79a3a000000000000000067b404bc2b4021b80000000000000000705115bc76b9e83900000000000000006feeb838d71877ba00000000000000000e44b4bb8ab2163b3d446a3ce3167e3bf13ac3bbd2a6013c716cdf3c15920c3cd07e8cbbe599173c4834f33cec656e3c78270fbbd77d1c3c4690e93c357c5c3c1dd4adba8fb30d3c533aae3ca0b6443c84ac9cba8df7f43b25eb813c541d263cb4a9e4ba1d19d53bebd8ff3b3574ad3b687268bb52367e3bfb0e063b73a82e3ba4f832bbce73de3a0f0f08bb92b475b8b06445bb33b658ba0a94603c2ff2babc656f2dbbdfbdc5babb4a2f3c928384bcbe6c24ba3bd812bbf0ea263cd502b2bcc7d3a4ba770235bbbd7eed3b7153b6bce614dcb991dfe0bad22ab13b118ab4bc910af93a23a63abb186f813a55af75bc4365df3ae98e26bb74246aba57db22bc43ce0d3b815a17bb7d82cebac7bbaeba27f1d43ad20e81ba102300bbd6623b3b419d70bd0e9c4bbc0dff01bb17e57d3accdd12be46f501bd14fc9e3a97473f3a7c9324bea93a48bd5753803bf872f839400922be18d341bd5e4fac3a3423663bf2dbf6bd9c9f2dbd979b56ba34c5fe3a02e2c1bdeb0306bd6ab8a7baf824163bc9c84dbd5095a1bcb5f964ba1c2fa53a102787bc92f2f3bbb3f456bb13eef73aeb601a3ca3406c3b9c8318bbdca889393285233d45de4bbe000f8f3fc673693eab4f373d02e756be5e30903f05a0503e51c60f3deda72bbe28567e3f4db7413ed644003d973d10be6229563faa4a203ee21cc73c137ad6bd2291203f340df83dc3a0c73c1ed1a9bd5cfedc3e8710ad3de9dcb83c03a46ebd95886d3e846a3a3d96958d3cbbc704bd8659643ddaaa933c6113773c6e6cd6bcaf764cbd2ab973bc487974bdf4bd513c0000000000000000b4f96dbd8839523c0000000000000000732d5abdfbb1333c0000000000000000e70732bd3ae6ee3b0000000000000000902203bd06a6cd3b0000000000000000fc1ddebc7159953b00000000000000001c7596bce4a38c3b0000000000000000f9c325bc1815ff3a0000000000000000ef2d67bb1e95e23a000000000000000005a1ffbaf5d6e8ba102d403cfe7da33b75b48dbbb565953bbe43b53c5d426e3c687958bb84e3fd3bec3fd73ca65e8b3c681519bb8a9cf83bbdc1c33c7a6f843cd0e584ba5e5feb3b72e39a3c4f0c723c60a5d8bac792cb3b2625553c3c46223cdaaff9ba4c33a13ba909f93bcf1be23b4815f3ba28c6113b8cf7443bf128523aae9247bbb3b825baa9b4e3387e4cc0ba712118bbe59cf9ba41ec683ce68a00bd07f5afbaac112fbbd4584a3c6c60c9bc7b8796391e1e73bb7267223cf037cfbcb9699c3acaef49bb9b46103cd9a6d1bc666c8a3bf77c8abb48b2b33b814fc1bc3b22f93aefde30bb75d47b3b24018ebc2c074a3bcafe56bb6821363a001a2bbc511e163b726832bbc2b111b894a4b3bb3de39a3a473713bb7a9f963a25828038168cfcbcf4450abd94ebb5bb9d52773b654acfbd452088bd0f11d63a4459213b1f7c02be7aa9a4bd2228c43a14d9593b709bf4bd2a949bbd074b593932463a3ba4b8d1bd7a7b91bde483a4bacda8453b15c995bd640d43bdc9d91ebba0262c3b82352ebdf95cf4bc22e140bb6079f13a4d1e52bce0d50fbc190ae1baa6803e3a91bb1f3c6e2ca03b0fef54ba32e79b397940073d943a37be1a126c3ffff5e63ea76d2b3d06d444be99ce6b3f6f34dd3e0183113db5d927bebf73553ff37ac33e4190f63c10d409be06ce313ff7e89e3ee7b4e03ce459e4bd764e0b3fa439733e54f6c43c20c8aabdb84cbe3e9e79223e0e0dbd3c9e2c83bd816d573e92fda73df0c6a13c3b4a30bdbda68c3d0d2d843c6987763c7ee110bd624db7bc42e903bd8502d5bd21e7a83c00000000000000004b45e0bd29bdc03c00000000000000002003bebdc8b9913c000000000000000063a399bd0cd26a3c0000000000000000d07f7cbdb58a453c0000000000000000e7ee2fbd9e3c0e3c000000000000000097a2f2bc0b79ed3b0000000000000000d5a56dbc26cf843b0000000000000000cd9805bc1b71a93b00000000000000000915cfba4ce77dbbba99553cb12ebd3b99d9cdbab531e83ac6c08e3cebf48f3ca9cd91bae9315d3b19d3a53c66f49f3ce968933aa1c7813bcac59f3cbc88ab3c0a58ab3a0c93ff3a80175a3c68bd5d3cec13bcba9172af3be2cb4a3c90d14d3ccfdb11ba81263f3b7fabba3b1872b93b33f246ba8af1633a3a266f3b951d933a3ca4c7bae05555babeb490badeae02bbb4628338ef1d0bbbbbc0363c7e5af4bce2c289b9b44490bb4521423c808ee5bc2f51023b97af81bbbc83073c803fc7bc2cd0333b831588bb3338f73bbbcbd2bca4dd413b4df056bb6d2eac3bad4dc0bc284afe3a33fe0ebb68fe953b0c3691bc561a373b2ddd71bb9a3a913b8f2475bcd41c333ba80e6dbb74e57b3a6340e4bbceb2ff3ab37614bb1994283b8d6782bb8cf12bbc44c252bd89711ebcd0f0d83b4a4384bddb79c8bd5940433a0ca09f3b0376abbd52dde1bd4af1d0ba9541933b60ffbbbd82fbdbbdbe3728bb0329b93bfc767abd1f519abd926e21bc5cb0a03b23e972bd8ba288bd9a74d6ba9c34b53acdc2fabce1e808bd285d56bb4e62093b39a80abc2dbe26bc14a5d9ba6f3b7339d7a6033cf5d9c03b51d9db3a474ba4badf95ee3c3b5116be7185313f38c32f3fafd6033d5a1e1ebe2fa7303f96b32a3f41bbe23c754605be19821f3f40e6143fffaed43c2fe3ebbd8f540a3fab95f53ecafb8c3c0f63a6bd608cce3ea71cb33e27f9ad3cabb59dbd15ba9c3e18d4703e9eb8863cc4bb63bd12bd363e56cbf23dc7fe8d3c8deb2fbd49ef903db6a2903c997c553cdfaafbbcc144dabbed0446bdbb6414beac31d93c0000000000000000d1b219bed01af13c00000000000000001e8cfebd3632c43c000000000000000007c7dcbd4e05a43c000000000000000098ec94bd13085e3c00000000000000001a7d7dbd2520743c0000000000000000d5f21dbdb578143c0000000000000000aa0d9cbc5c40e93b00000000000000003ad350bc46fde63b000000000000000002f381b9b1a244bb58ccdf3bad8d3a3c580ca1ba3e687c39f5ad7f3cdb83b33cf97464ba80b5463b6e54973cd362e03c784d5f3966a5493b60d8873c5e87c23ca20c9339c0baa03b1021673c1bc2993ce49e3138ca3d653b39282d3c9114633c8ee367b92afc333b17d8cb3b63a20b3c629508bb5f31013b6d4f403bb35ec93aab8019bbc8f6b8baa535fb3a355a94bbd4b2e43893f698bb42cb183cc097d0bcc99c213b522dd3bb4028023cca39a8bcfc2a8d3b2162d8bb6e5eb53b1d849abc1a8baa3b2673b5bb49408a3b1de8a1bc69d8a63b450492bbde35533b884e8ebcb376713bd44360bb973c1e3b6a4d6dbc2132863b7e0c7fbb744cde3a64b940bc3c8a0c3b92387ebbceeaf43a6ae7e2bbbbc2463bffa31ebb84048d3bdda13ebb479ad0ba62bb8bbdea2e28bcfcefe73bc9ed1abdcd9d09be0d298a3b7e3abf3baeed76bd782f1cbe543b243bcde7a93ba2c67dbde5470cbec4b613bbb1afa73bf4416ebd65e0ebbd180f3fbb0ee1873bcc1332bd4796a3bdad66b4ba76ad313a0192d8bc589e3cbd02fd52ba7fb993b9cda101bce50e5cbc64ddc439789bdfba434ff83b2d7d003c08f3023b249cfbbaa8feac3c984dddbdc6c9eb3e2d6e6a3f9faad13c0aa2e6bd3cb9e93e7dca653f9bc1bb3c4069cebd29b5d93ebfc24a3fc125a23c4929afbd3b43bc3ee726243f5334a33c7cc199bdbda89b3e7c32f53e0360833c331172bdb750633eda369e3e836f7b3c16b140bd69fe113e00cd183e00e5493ceb400cbda3cd863d1173843cd723153ce5aad8bcfeb7853ba79d81bd6d3835be2555113d000000000000000049c640be1440173d00000000000000004ac023be1c45fa3c0000000000000000340b03beeacec53c0000000000000000a367c7bd773f9f3c000000000000000074b58dbdb4557c3c000000000000000050f833bd3473493c000000000000000034e394bc43c71b3c0000000000000000cc864ebcb976123c0000000000000000401b31b8233e8cbb8904e93bfe0e593ce1987cba171a07bbbe64403c9be9dc3c4158033956eef1397da86e3c42d9013dc4a8b6398c31c43a40586e3cff4cf43c280bd5395eea273bcbaa503c1016b33c909807ba3d33593b9f2f143c4264873c0dd9c8ba51ca343b29fbef3be259083c39479ebab569153a973c433b93e5d63a77c74eba8c7683ba023bbe398e1c42bbb1e3653aea9bcfbb48429a3ba29e68bceef3a33b8feb0bbc1f39783b925f40bc5898cf3bf7e1f7bbee9ae33a0b191ebc254ad43b781fc4bba2a88d3afe3138bc61389a3ba2a474bb2db69b3ac6d33ebc8d73b33bbae997bbaccdeb3a4ffe3dbc57de963b170c71bb9e9c323b624e1bbc243c593b3b9e69bb29c0593b2c78e7bb0da4f83a0848eaba9ae2153bbf3587bb926c293c2c25babd4c0b8a3b41aeab3b0b4b7abcd0262fbe7d8a463cb3fb613b369c1abdafa839be0e52423bf3a4af3bfc5226bd2b7d32be4524023b42ca923b020724bd732807be919749bb2e2e2b3b810402bde0a3ccbdb73f4539d6337a3aabd59bbc7cba62bd37a2223a66f0d2ba47aae5bb52987dbc2270e93ac32f49bb923bd33b91372c3cfb5b603b113d90bb58fe5c3ca32a7ebdf6646d3ed0998e3f6c887a3c9d0f80bde145673eebb58d3f483a5c3c22e26dbde0da673e1d87763f6281623c6d7550bd3c2b4e3eba1a4b3fbc920d3c5daf25bd10c42e3ee5e3143f92c1373c2d4c1abd463a0c3ea30fc23e733a0d3c2e49f0bc1d32bf3d08113d3e6289f93bf665bfbcd721633dc0c14f3c2c8da13bd31280bce2fa313cc00eaabd1cee49be7f341d3d000000000000000014e055bee02e2f3d0000000000000000d9182abec098f73c0000000000000000bc7d0bbe986ecb3c000000000000000053b1c7bdeb3c9f3c00000000000000002ccc8fbdf386783c0000000000000000a3e328bddda4353c0000000000000000f70618bcdc94ca3b0000000000000000c85724bbdbb3d43b0000000000000000f4d5653aadc052bb5b5f663bf2e1aa3c5e8bc83ace78a9bb544d123cad79233de2b73239598552ba26cb433c76c42c3d0dd6d2391a8d343a8dd8573c8d7b193d810fc639a6896b3a77e6353c008fda3c04565bb9b0613f3baf4a163c46e0b23c864b5dba3f86fd3af2dba73bfa8e4d3cbe24a3ba014e733a52304b3bd0520f3bc01c06bbb5a57e390e5b673988da77bb9488e53aaec7edbb9d568ab7ed01a0bb33fa7c3a22520cbc781544b9c7a8c7bb6c71b43b67faffbb16b74fbaee9b8ebb6c2cf13bb421ebbb175c72ba914b63bb7dff0b3c5773b0bbbeb24cba807d9bbb1825b13b50ee5cbb9e5aa4bab0edb7bb0e2c7f3b95206ebb3a5a1c3a4b9ff7bb8ff4563bbe8fd3ba408e443bf9adbebb8bfc973ab7b907bb37da513b5d0b37bb5f011a3cab4b07bee7f20f3c0f9d8c3bb80f013ca90658be7604033d1937c1ba1ed67fbc720169befeb84b3c2ef2133b49c3d8bc9d4d52be17b77b3be19f883bcbc9bcbce88926be5d5de6b83b123f3a291cb8bcd566f2bdd1b3773a453d00bb85d25bbccd4c84bd26bff8b9637c61ba2dbba6bbd05478bc885a26bb33db89bb315c803be65e853cbb44ab3b207964bb694aa93b91d66bbc30e2983c4f87ac3f51e39c3b98d64abc24fceb3c1a629f3feae0c63bd8c285bc1d66493d5ded8d3f26ffc23b7d5789bc351a743da579673f3a24ba3b22628cbc3762743d35ae2b3f34099a3bc7b345bc06e7643d5d17dd3ec49cb03b371241bcace5443df7d9503e8c393f3b3b1d52bccd87353dc51d013c7f7fe038e1685abb83f9fe3b74e0f9bd490d4fbe502a1b3d0000000000000000959f46be01f11c3d000000000000000011421dbe4a0ae63c00000000000000006be1f4bdec7b973c00000000000000004bb5b4bde7928d3c0000000000000000751667bd7d073a3c00000000000000005268dabcfbdade3b0000000000000000942d4f3c32fbd3ba00000000000000009b894c3b1f5e543b0000000000000000000000000000000000000000000000001b5250398a8720bb034a033c5fe21b3d8625f1395dd7ef39a42e203c4d331b3dabdb79bad7920c3b7808273ca521013dba19a6b98b705f3b0b38123c2240c23c055d1cbb385a3f3b2222fb3b65a18e3cd4a788ba5829563b2b8a843b3c651e3cb57758ba57defe3a3317e73ab3f20b3b0000000000000000000000000000000000000000000000000000000000000000c5c2a53b398fdabbeba15ebbaa03ee3b04e1023c1745c2bb081578bb078e853be15b053cff9a93bb5cf539bb0bc2b03a217bfb3b988452bbdea51abbf10f003bdc19b63b46fce6bacaf980b9321489ba8683573b046f78ba26a7ba3891f539bbc9500d3b903932baafe3493a53214bbb0000000000000000000000000000000000000000000000000000000000000000f0b4f3bb2aaf5cbe0949183c313df13abba164bc8b4a58bede8d983b6d45e53aba8badbc203a41be1040f7bb354b433bc2d7bdbc570c1cbe23c406bca676133ba11b98bca2e7ddbde764c4bbb0ee2439bdf116bceead7dbdd23317bb1e610dbb4e3b44bb37e378bcc025183a59150cbb000000000000000000000000000000000000000000000000000000000000803fe95804bb63e2823c0d47d3bd529cac3f880990ba50e42a3c45fe67bd7b538f3fe06e1b3915edb33b389b12bdeb6f6c3f4152123a70829d3b3125a7bc663e313f8c61713aac95893b5a771cbc9df9e83e4e3de1ba7752a53bab4aa03a3028693eb44a95baefff9e3b5a6d153bd5f7403c000000000000000000000000000000000000000000000000000000000000000098fdefbd139b8d3c00000000000000006615a1bdacb90e3c00000000000000002ce46bbdb8fbf93b0000000000000000266e24bd7153833b00000000000000003859cfbc850e033b0000000000000000dc4af1bb6a8b3fba0000000000000000c4a97c3b3721ccba000000000000000000000000000000000000000000000000000000000000000000000000000000006db0b4bb956d6d3c9e95a13c2b32543c279390bb671f853cb80da13c44d17d3c00abddbaaa3e6c3c2b7a6b3c5a64483c4648e0ba7adf583c667a2a3c82c85c3c384bf6ba647d413c86a4cb3b7904243c5b7c0cbbc1291e3c3b2e823b2a96d93b3167f3baa3bde73b1af21cbbee742f3b0000000000000000000000000000000000000000000000000000000000000000f6c7bfbb5d9e323a8a51dc3bb34a88bc1245f1bb866b223aaee68e3b754092bc58e4b3ba3d5051b8b177613be666c7bc3a065ebb2c01c939510c613b67eac2bcc7d626bb4810d9b5f6de043bafa783bc21961bbbc01d123addefb0b96e4514bc697cabb996a09b39ce6fc2ba8915173a0000000000000000000000000000000000000000000000000000000000000000d9ae39bef0302cbc964ff23bc40e58ba9ef83bbe2dbd0ebc7f77d23bc6f4923826d822bef9637ebcd4d68e3b334e67baf05107be418467bc9258893b2de654bae7bbcabddf9ec0bb4c54063b18536538767f82bda6dd53398c37afb914ce1e39d835c2bc0706073c5ce89ebbee28ff3a0000000000000000000000000000000000000000000000000000803f000000008992573cc028bbbdbb19a83f2f1ababd7234143cb5285bbdcaad8c3fb62f81bd9baede3ba29d18bd8e67673fa9de52bd90e3a53b01ffd4bcb6cc303fe38a2fbd2887b23b0dfba5bcb5e2ee3e470617bdd585ba3b9bfe34bcd61c7d3e08bac0bc3883b63b81dd48bce993263d65549bbc000000000000000000000000000000000000000000000000000000000000000014b8123c8d67c7ba0000000000000000ae59c33b4f5966ba0000000000000000ad6cb03b636590ba0000000000000000e202cf3b715792ba00000000000000006bd4a83baba78aba00000000000000000ae5bc3b4b61b0ba00000000000000003622013c72ea58bb0000000000000000000000000000000000000000000000009166d3baf2fc4b3a9bbc873c3ec1163b72fdf6bb44f5493c15ecd93c0809223ca72e71bb4e4b223cb7c2053da04d283c95f023bb059c1f3c1012dd3c3db5613cdde1c0ba516d053c3bf2a33c6c6d323ca49080bab93e053ce02a613cbd690c3cb65f04bb5b82963b1c2f273cd030603b268e71bbd05caa3bea42063a983cbe3a962bbcbabf3e003bf7dba4bbc29f92b841a97fba1b1f6abacf077e3ce4dd11bdacfbc6bb2ce3b5391d3c7a3c459baabc023659bb3ee155ba5571593c17ad03bdf59f79bb641f78ba6a8b403cbd160cbdab90d5ba712842b909c4143c6374fdbc7f007cbafbf920b9f09dc63b5279d1bc9d7e6d39aa8695bafcea993b4f2c65bcc922603ac7e82db899588b3ad2d270bbd7e4353afeec9aba3316443b406586bb3cc29fbd5c58bcbc9adee03bdd506fbaa0ac2ebe792d57bc0caded3bd86e69ba4b7d37be1b41f5bc8a9d1b3cf56453baf12725be0d7e08bd74b4003c0f9181ba07ac00be3712ffbc1b85cd3b39f1cabafcdabebda61badbc6012933b00d8a2ba1c0a5fbd11a728bc4b4d693ab31bd53982d680bc05d8073ae7f477bbc2df5239b5609c3c750dc23bb02facbad082b73aebbcd53cc98f27be3433a83f9b9b143dc9c9db3cc2fc24be616ea03f8c0cd83c3b7abb3cf37303be96ec8d3f6cefdb3c2de89e3cb3edd1bd89536a3ffb2fc33cf6e5953c4437a7bd0aaf313f5aea863c3191873ce1fe87bd6f03f53ead71023b61d68c3c62725ebddfa9833e3e9282bb2fc57e3c4bf906bd86c7513d00cd06babf287e3c835f26bdf02487bd6a3af4bc288e8dbc985e543b0000000000000000d39a82bc15932a3b0000000000000000007166bc5fbbdd3a00000000000000003d5332bc2e51423a0000000000000000d5cbffbb9c14fe3a000000000000000092fd90bbe06c64380000000000000000fc7ce7ba054350ba0000000000000000fca5053bf09263ba0000000000000000b751d63bb42f03bb0000000000000000ecf52b3b116c2bbcc5c1b23c505b27bbd529173a1d03f3bad8ded03c359cae3b29bdca3aff5446bbec46f73c938dd23bc209843a5be9b9ba0dd5e13cb828123c1e982b3bedcffabaff33b23c926cae3b7e0c333a1d6cb339b63e8b3c63e3993b9874873ad00147b9e1a8283c46139539af06b5ba35443d3a78cd523b3390f7b9198466ba8f6531bb9981ba3a15da6cbb1adbf13abeb132bb46d0973c60ae3ebd7e4a963ae87c65bb7c56a03ca4173fbd210e613bb84951bbb020833ce56b3fbde2272f3b90fe3dbb1984803cac153abd1a8b283b50332dbbb919643cb50c36bd655e6a3b737915bb948c323ce23412bd464a7e3b964a50bb0545123c935bf8bc5f8e3e3b4ce007bbd7d0da3be4ea93bc6645313b632a84bacf19f93bacdb81bcffc7aabcd9c21ebdc9b89a3b7fba6c3ab7a6bfbd711c6abdd577483c348688ba92d3d0bdbb168bbdb698223c11a5abbade10d9bdc1c386bdc128363c7b27a5ba3a6b9abd04f366bd7ff7143c1c12d2ba7e8e74bd1d6638bd917b133c1dd93dbbd98bb9bc10f8f2bcfac9b23b349debb847ceb13aa54258bcc218903b93ecc1ba82aee73c42f764bbbda4713b22d738bbc17dd23c8e4422be8a228b3fce946d3e6ac7f23c2cf030beac238c3fae5b523ebe92d43c7d710dbe3875743f88a63c3ee401c63cd3dbfebd7702523f46330e3e0c0dab3c2cffcebdd1df203fd848cd3d8578c03cc226babd1392e73e4e0e723d4464b33c2d159abd7e2b8a3eb1a1963c8d8eb13cb92f7dbd8890ca3d50e05fbc4935a53cc8565ebd181f22bc9aa02abda8014dbd3cce043c000000000000000084b74ebd2a72093c00000000000000002e822cbd1726eb3b0000000000000000c3f903bd8aeca53b00000000000000005e4fc4bc8ac3643b0000000000000000f21b8cbca129403b00000000000000009d1c18bcf7e1d23a000000000000000003d210bbbb6d99390000000000000000abb8ba399dfbb63a00000000000000000a13c93bb26999bcd3eaed3c6aed22bcb0df5f3b046a29bc601ae33c31c4223b68a9543bafbc18bcb4c20a3d5716883ba335853bfa84edbb4732f73c6c1bb83b337b913bd0bbfcbb4cf6e63cdc65b03aabc8443bfbedacbb2d119b3cd750033b9d24d43a3f81c3bb1f9b643cafb088b9153f763a04b06fbb1381fd3b6fe16bbbad6c423b05d9f8bbc896b63b747a06bca3c7e03bae8f8bbb77d4923cd18e65bd798f003c9540c5bbfc70a73c42cf5dbd3cc9fe3b1aedbcbbf53d983c954356bd7ab1b83bdf04b0bb0a99863ce8274ebdcc68143ca7f89dbb1d297b3c578943bd2339b23b2ea27ebbbd5d543c66a727bd1f89c23b69dd8dbb8750493c4f950abd2e619f3b588854bb41220e3c9123dabc0b8a733b7585d8ba6e40083c1af5bdbc3e695f3cdd196bbd5e8fb2bae8dbbb3a59e039bd6c4db6bdd766123c96e647b9a8a690bdeb89cabd0aae2f3c164638bad5a589bd0643c2bd3973323c9445aaba7a945bbd8a94a8bd76da0d3c6ef957ba60a00ebd07a980bd95d8133c0902efba928821bce2e136bd2101153c157d24bb3220583cfac9bdbcc419023cfa0254bbc7b60b3defd722bc8535013c15f83abbff57c63cd6b812be89d6623f4c11e13e1aede33c6ca51fbeb1e8633fff8bd33ea5e4cc3c71130cbe817c4e3f28ebb63e6c3fc23c50d0f4bd871b2f3f656a913e219eb93c7976d9bd9dd40b3f1e71553e2396b33cd332bfbdbb3fcd3e1574013e94abb03c4f85a4bd3fa3803edac2593d228bbf3c8b5c8cbd75e5eb3d26df3abcc00e943c895c76bd9319c73cf1b45bbdc8b2a6bddd565b3c0000000000000000c435b0bd6644723c0000000000000000cd6293bd6d60423c0000000000000000c93872bde87e353c0000000000000000a8bb40bd0bd7f93b0000000000000000113607bd7c3dc33b000000000000000029e5b7bc2dfbb43b000000000000000035a103bc954a523b0000000000000000f8cdacbb64981a3b00000000000000004323d03be013b4bc6d4ef63cf9bd35bcfddfc43bf83b88bc0b33013d3bce7cbb189aaf3beb3a69bc31beff3cb4c9543a9426a73bac765bbc1da4053dab67f93a41ccc33b1ce462bc562bd63c2b01a1bb0d82a73b379131bc0994c73c337456bb8888493be9950ebc1259973ce1f10bbcf8013c3b371e1abc13465a3c4cfd10bc9dc2893bc51430bcf3eb343c37e029bc0c0af53b627b90bb4585823c3ee451bdc6bd4f3c3df9fdbb6cf88a3c42404ebd744f283c15efc2bb07247d3cf2a741bdd0e9353caa00cfbb28377b3ca8043cbd9fcd0c3c2bf06dbb78072d3c24562dbd297d2c3c495cb1bbed6a653c11d022bd3354063c783672bba79d3f3ce47709bd285edc3bb0b284bb963a263c3018e9bcdce6c23bdc2537bb74a2173c996dbabccaefdf3cedf284bd740cb4bbd781633b19a55dbcc397e3bd5c52b73b6d095f3afee401bd8d46eabd5e2b593b7ce6fa3a34a224bd7b9af1bd90bff43be14c08baab9d8cbc8111a7bde28bb53a85b85db8d2ba8ebc3dbba3bd384e223c100702bb0a4e953a77da47bd398b0e3c80164bbb210f9f3c8ffeebbcf4ba443c13e895bb3782133d2f8846bc98171e3caf0088bb4ca29f3cb72cecbd80a72a3fddb2263f45c3b43c98bafcbd510d2a3fb3eb1f3f80d8a13c1440dbbda7ee193f0bf4083f4c50a43c75cdd3bd14d5083f584adf3e259c763c1dea9cbdf3decf3eb76ea13e8b92963cb1d9a9bd2060a63ea7cc513ef233863c0ec18bbd8ead573e1011cc3deaf78d3c176d80bd2b12e93d782f09bbdea27c3c32b55fbdf66c0c3d0a8b7bbd8a17dfbd95c4843c00000000000000000397e7bdd25fa33c0000000000000000d57bc0bd4280713c0000000000000000d07fa2bd785c4e3c000000000000000071ed70bd0da5223c00000000000000001af04bbd90f81c3c000000000000000010010ebd3418e23b000000000000000079078cbc23c3b63b0000000000000000ea2c50bc26bdac3b000000000000000026eae03bd99a94bcd6a7c83c617625bc4b219d3b8d1681bcfbb9f63c232fccba7806a13b5b7674bc47d7093d4444513b15809a3bd48049bc3bf6003d42784c3beef5a73b1e7549bc1497e33c741985b93ead703b20b92abc0647c43c8090a3badf887e3bd87c28bc9769a13ca58ec1bb265e153b966201bcfae0643ca5a30ebcaedc7c3b4d3f4dbc3547463c43544ebc5cbb413c747401bc416d293ccfdf1cbd44f0893cf54726bcf52d623c47521dbd79fa853c2eff13bc3ed8513c203019bd02d3733c070214bc24c0353c41c510bd6b71683cf9c2dbbbf5782a3c248505bdcf50393ce8e1c1bbee4c153c69e6f5bca45d353c4cd1c5bb145f093c1b22dbbce4a4133cee9aabbb76f0f73be99fbabc37ef033cf64088bbb589e53b833fa0bcf698d03ce48998bd244912bc97b4b43b6c6c62bb89700fbe156bf03b3f500b3b9eebb0bc19d61ebe42c7fb3b95258a394b65e7bc758f0fbe97fbe73b59c7c23a6f40b3bc4243fabda9b7233cf2cf0fbba2f25bbc651cbebd64f2313c7d7f3abb2f72cf3ab75080bdc21a713c94ee9bbbd36f8c3c124f0bbdb28e853c7aafd5bb0c38f43cee4344bc2a353c3ce20d98bbf8097e3cf59bb1bda3b2e63e384d5f3f3f5d8d3c0d04c5bdb8d7e73e4585593fbad6873c6654b1bde298d83e18bb3c3f794a813ce6409fbdc320bf3ec491173f80577a3cddb693bd343e9f3eb6d2e13eae05743c38b77fbd1715753e3083913eee35763c1c6569bd53b1273eb588083e0609783cf06349bdfccabb3d18aba53ba9233e3ca36f1ebd31b4fc3c7f028bbdf0cd08be7f7ba83c0000000000000000995115be3b7bbd3c0000000000000000c737f9bd9e71a73c0000000000000000f6efc9bd9f52823c0000000000000000c79da4bd2bf9683c0000000000000000f51475bd85e6333c00000000000000008ee522bd289b133c0000000000000000ff5da8bc1117e43b0000000000000000befc78bcd0a6da3b0000000000000000bbf8a03bd04569bcfa05b73cbacfd3bb86bc5d3bf35156bc2661d63c29a9bf3b9166183b908e2abc791ad03c1fd20a3cfd36673b615a30bc9634e63c58a8043c25e64c3b9a2f1bbcb847c73c0031833b1b604d3bb8930cbcf792b43cf068ec396962e43a918dd7bb088f893c035897bbe2a3053b33e6ecbb1d4b4e3c9afbd8bb90e1de3a2749c3bbf0da253c7e9553bc51e7693c4fcc21bc59f2e53b6617cbbc4c77933ca38a3dbccc80053c9b0bb1bccd09923ce0271ebc1718023cdadb9cbc44998a3cda3924bc076dd03b7991aabcb5ce653c915ce2bbea56c73b2ad99ebc3dda5a3c0343debbbaeac23b940c93bc69741a3cb390b7bb19e6ba3b7d9f89bc2777f83bb53784bb7b65bc3b76f380bcb8ef0a3c942d8dbb67938d3b28646cbc99dbae3c5f56c0bdb961a2baf8099f3b4faf26baab7b2cbe5f113f3c719d913aa46594bc84e32bbea5a85d3b7746073b91cbacbcbbcb2bbe19eaf83bf385333a20c495bc306005be0a02b63b3ff49dbaebdf44bcdebed9bd7acd383c0a0b53bb998246bb30e282bde067593c1da69cbb8f744b3cd0c30fbd35d18f3c3b7a08bcc704c53ce89106bc8958823c5095e1bb7fca133c0b1b53bdef54773e08d0893faae6393cb7df69bd3e00723efd04883f6da50d3c74b056bd0a3c713e7992673ffd852d3c9ddb4abd95af593ec56f3f3f8b47143c7dad2bbd3cfb363e325a0d3ff958023c03e922bd4b09153e8dc3b83e3f0f0d3cff820abd97e1ce3dba973a3eaa2e103c9ba0fbbc3e05833d2a68383cbfb2ec3bf9c0c7bc7dedb03c7b83acbdad9e1cbee072c23c000000000000000008f429bee812e53c000000000000000087dc04be3fa9a43c0000000000000000d828e3bd288e953c00000000000000006b16aebd74516f3c00000000000000005f7784bd6e2f513c000000000000000001bc3abd65322c3c000000000000000065668abc99feed3b00000000000000004ea736bcaab9cd3b0000000000000000bdb2493aa4819bbb99d84f3cf48c6c3b74c6083bebce39bc495cbd3c7b569e3cbf19f43ab560fbbbea88b93c2153bf3c8498c33982eec2bb7fadc23c16079c3cd605133a9fa0c9bb3da3a93cc6e6443cf9c8953aa462bfbb7e37993c3f200d3c27f8c73a09aa9abb1e685e3cc738633b6e3abf3af72ebbbb2673103ca5532abbd228343a5afb7bbb7f04e63b7af52ebca81f613c9cac1bbca371133b14dab9bbf5dc7e3c741f42bcf4e4563b5ba798bb550b733c94b121bcf1631d3b9ac4c5bbf6ad803c23ef15bc14b3333bab0babbb6ce6703c1855f2bb563c513bf448abbb6f93413ce758b9bbdcf6293bc83fd9bbf474fe3b3aa08ebb5a910c3b4c20ffbb4c88b33bc9dd21bbb91d073bdff903bc8f68b73b88862dbb83732c3bcd72acbb1f9d083b895ef5bd9fbfdfb8e63a803ba069103b3d4058be6c42c53cfce04f38ee7673bc31965dbe2f87523c5490813a68c8b5bcd02948bee760f13b11d0cc3a66839ebc7e681fbe4712aa3b55a8733862ef71bc5101f5bd0e361a3ca8464bbbe12284bb41d798bdbd10493ce5ad8bbb8bcf253cba43febcf6e3823cf9010fbc6c0d443cfccbb23a56e4873c0ab4f2bb3ec17b3baf3a95bcb46f273da4a0a73fc9998d3b17efb0bc9ef54b3dcdec9d3fa8e8973b775c98bc7db6853dcff9893feab6923b68b39ebc2ab5933dcf265f3f5b73063ba38285bcf59c853d6638263fcf83993b58127cbc5e646d3df17dd83ea7024e3b3ee64abc5b253f3d59d8503e9dc97a3b1bcb3bbc7feb133dd9a8e6baaa73b83a7e1fc3bb3b064f3b28bddebd238226be90fdca3c0000000000000000d3d723beb813d33c0000000000000000ba7903beb8f39b3c000000000000000042a7cdbd7fbe733c00000000000000004b989fbde340423c00000000000000004b6c61bdc9e3193c0000000000000000c5e200bdfbdcba3b0000000000000000c9aeea39c85f363b0000000000000000662529bc7f159e3b000000000000000000000000000000000000000000000000103e98ba8390393ab46f033ce932c73c50aee3bab0e58039b7bb493c1373be3cbd6bfbb998a5a93a47c9223c275f9e3c179dbbba6721333b30fd293c1c47563c5d1e2aba886fa03a8456093c996b173c7754b1bacbb38c3a531ad93b6043c23b625f85b9e6349b3a7a17803bee4fb0b900000000000000000000000000000000000000000000000000000000000000005ea83a3cdb6dddbb96a9feba2310053c1705513cf006bfbb41544bba4dcbd83b1e4d3c3c4e3983bb60a68abaecd6c83bbfcf3f3ccf795fbb8bf3acba8d3ea33b15a1093c95f437bb5b0872baed85623b889aa63bc3a4f5baf6bb0f3a7e000f3bf640253b502ef438359d29bac7f9c13a0000000000000000000000000000000000000000000000000000000000000000d8b292bc7a773fbe4e4071ba0c9b423be9dbb2bcf51e3fbeb7d7b4396c64cc3a159ce5bcfad725be062bf9bb96206e3a547bebbcf51608be4493a2bb472f6239f77cb3bc4b0bc8bd3ff102bb5a4cc8b9f52d59bca36a80bd2388863b563207bbbd27a9bb089fafbc3220fd3bf3dfa2bb000000000000000000000000000000000000000000000000000000000000803fb024d4b970dd083cac92a5bd1d15a83f3f2d33ba8062863bdd2633bd890e8c3fe9e9b6babafc7a3be335dabc2e07663fd56227ba097b523baa8d92bc50c52e3f0826e3ba44a6bb3bb1c541bcc2c6eb3efb3413bbf00c893bb830d8bbe643753e51b200bb778cd33b670c1cbc2200153d000000000000000000000000000000000000000000000000000000000000000040acc8bdbb75463c000000000000000055228bbd78dafd3b00000000000000005e2455bd1e86c13b0000000000000000cba633bd153fa43b0000000000000000394709bdb5b7883b0000000000000000cd8e94bcb510bb3a00000000000000006c6126bc9b19e73a000000000000000000000000000000000000000000000000000000000000000000000000000000008aa98f3b5c8c033b2dc5f8bb236d843c812b723b4c7eb93b7aea33bcdda7983ce320973b1078423b00ae50bc02237d3c25cf923bc1551d3a06a35dbccf55543c05b9213b09b9a13b90366bbc440d593c6055073b299cd23ba8a083bc12f56a3cad13cbb9720c1b3ccd478abccf45613c0000000000000000000000000000000000000000000000000000000000000000387755ba35da7c39fb0aa13be69d01bd6313dbba6bf21e3a1890d93ace2ae0bcf002dcb99d6b42397166f33a82c5e7bc0a98a6397cfc193967e81f3b1f7fd4bce8595eba12e29a3ab96f2a3b620bb9bc381233bbcf79523972012b3be6e88dbc0f1540bb7ed5653aa5e43c3b5c823bbc00000000000000000000000000000000000000000000000000000000000000005b0296bd1bbd0bbd9788373b883b56395939a3bd1d42eabcbca76eb908b870bab30a82bda53ee8bc106f973adb56d7b9d01347bdb423d0bca9121f3ad7257fb9f28a21bd4e0597bc3f2beb3897e62fbaf9adfdbc7a3ceebb59e8c3b9fb0de9398f4b73bc3f3311bbbd0572baf3de0d390000000000000000000000000000000000000000000000000000803f000000006c57ac3b59325bbd5c05963f1b5b51bd564e993bd15807bdd24f7d3f3b6016bd6c34973b473fddbc3bf4503f615c05bda2c0583b29d5bbbc15a9233fb59b03bd507d593b515eb4bc4f5eeb3ecd1bfcbcdadc513b1a75adbc7c27903eea55f5bcc674c83b28d5f6bca1dded3d1da90bbd0000000000000000000000000000000000000000000000000000000000000000c9033f3bbcb16eb90000000000000000dd338e3b79bcdd3a00000000000000003870433b0dd89f380000000000000000a094363bb09d27390000000000000000a4312f3b3dde62ba00000000000000001e98f33a63896c390000000000000000dc68523b178f12ba000000000000000000000000000000000000000000000000da5d893c282107bd7371063d661822bc24b6773cb45ea7bc47c1983c20adb73be99f6c3c44e4b6bc6bcfb23c471d5a3b76587c3cfa44bebc9f27933c7614843ae7f5633c1c0bbbbc61d6863c0e836eba1e6f533cdbf297bcecde393cd876fa3a879b163c06a561bcdf9a0e3c8c70013b0c310b3c8a4c1dbcd664fd3a86b5a93b4386043cd4e25ebc38c9f83b72a461ba9c089f3bce19e8b98323373ce41a6abd1c6c083bedbc72ba4bf32e3c0a3f54bdcdba993b753482ba62aa2b3c46335cbda3efa63bd2b833ba66761b3c37f15cbdc3bf8f3b518b93b9d3531c3c3a9a50bd4e7f503beaeb43ba94482e3c0d8442bd66a3243b5e5597b997b02e3c79af20bd29a50eba60de67b93baa2c3cc2f502bd9d8d383a61ad82b92b1f403c4f7700bd890f9d3bd6b753bdeb89e03bea69e9ba09c655bdc22c52bd7ce5ab3b0cdf01bb79995dbd27ad70bdafb4dd3b7e850bbb4f3824bdfa8d6bbd42d5b53bca40f9ba88a1c1bc07ea4cbd40afaf3bd1e207bbc12f6fbc6e852ebdae31dc3b5b97d1ba02c747bbd2b003bdce0ec23b8ecff8ba130e2a3c9c0d89bc5f16a83b4940cbba8c59023d37028ebcd302f53bf6cfe9ba3f65253c358dc0bd79c8953f0c6e8e3d1382093c4bd4b7bd828a8e3f2eaf783d84a5043c261197bd5427793f7083533dbcd5ec3b8cbc80bd59cd4e3fae45173de01b0e3c829363bdb6bb213fc6119a3c5930083c883e64bddce0ed3ef31dd2396159163c75d75abd7d76943e23088cbc50471b3cf43458bd6101013e1d0805bdefc9453cf4fa69bd62d9963ce63855bd6c750ebc18567c3900000000000000008a7304bc0681c83a0000000000000000c4cec3bb077ab3390000000000000000cbfdf5ba207071b90000000000000000fbca97ba4f5653ba00000000000000004770ed38507af0b900000000000000009927d93addc5b9ba00000000000000006cad523b116012ba00000000000000004f0bdb3bfc9a52ba00000000000000007892ab3c0ae85fbd17db813d54a005bd25dec43cc3ab5bbd7fb5773d622ae6bcfd48c03ca3645cbd4a196b3dbf0701bd8d1ebb3c6eec4ebdd9b35c3d7529d6bcde0eb03c7a2947bd12c2513d8f28e4bcfb8da33c4cc73bbdc986353dcc80b5bc20b69a3cf89e26bde235203d37e4c3bc45cb873cb92110bde5c5033d9a438bbcf357783c54fc11bd0053093d979293bc1770443c8cdb06bba2ef863c9f5484bd6b9e563c09142bbbc687673cb01590bdb4394a3c2e51ddba3111693cd59889bda4465a3c95430ebbfa3f673ccd4e8cbd3bfe533c9006e4bac7b56a3c1f6c85bd36cd483c5b2a2dbb7be47b3cfaa373bd69bc313ce11e0ebbc2ac6c3ca8b963bdeebaec3ba4339aba3fe9773cf3e052bdea6ce13b47cfb0baf57e6d3cf84332bd9ae7333df1e874bd733ba03b4b8a5cbba2b6653cc015a0bdf763373c83cb69bb0a3d903cf5ef9dbda4492c3c48dd85bbf41a203caf7daabd8c144e3cbb7981bbffc4b73c97e399bd5a004b3c895492bbd75ee33cac9c8cbd03503d3cad573bbb2628303d337d67bd2a45613ceb3667bba341473d996b37bd67c3783c79e183bb1440673dfb350dbd557c693cf3cd48bb8f5ff23b77b9b8bd97fa783f93656e3e571c0c3c4952c2bd2a12733fa0094d3ed23b103cc0e7a0bd0db14e3f6da8333e0960093c186f9cbdb9df353fa9b9083ebb2b033c1eeb89bdad2b103ff088bd3da214ef3b4be887bda49cda3e6e7e4a3da264063caa1c86bda7dd933ec6b94c3c4129303c4ebf82bdb0bb213e7de100bde732393ce7d970bd6c14453d77945dbdd029aebc2393153b0000000000000000c01fb0bc82dc8f3a00000000000000000eba7abca09e15ba0000000000000000e5a137bcbaebb6b80000000000000000e3f806bc65db45ba00000000000000008eea45bbb8d429bb0000000000000000d9a2e4b94b7effba000000000000000027ac783b6c8539bb0000000000000000ce868b3bfcef5fbb0000000000000000c2aeb73c495885bdf862aa3dc5824bbd1420dc3ca9fb8abde925ab3d7f3d51bde1d9da3c9fcc85bdae1ca23d242e45bd0f8fc43c30957bbd8697973dcd9d3abdfe1cc13c0ac373bd01138e3d6c5b3ebd20fbc63cc39b6cbd6b6a823de73429bd1e98b13cfc345bbdb97d703d272d1cbd7471a43cac994cbdc8ad5b3d804214bdc3748d3cd40b30bd0c04593db94a13bd298b763c088f5abbf9c3723c968a88bda7a8ac3c61c282bbb244823c679191bd69e0ae3c07507dbbc689593c0a6c8fbd97a19d3c22ab3ebbbf146e3cf6b988bde1089f3c2d6c35bbbd517f3c95b389bd70b9883c7e7110bb783f763cf29881bdc708853c20e948bb02187f3c851171bd6b44813c92d74dbbfd278c3c83aa66bdbf72633c49993cbba17f873c19e853bd5524823d526d79bd5bc86a3ba04c18bb94c0313d9fb0b9bd12412d3ca77499bb397c073dc8cfc5bd157d433c7953a5bb1c24113d3101c7bdb2f1713ca858babb0a7a353d6e08bbbd7b03813c05c3b9bbd47f503da879a9bdfa4c9f3c6752d4bbc9db5f3dbbf495bd1c70a63c685b9fbbdb79863dfe477ebd5641bc3cb3fbb7bbd2bf903d624a44bd1320983cdc5a66bb2eaee53b8a519fbd6899483f7933cf3e6249f23bbf96adbd3fd1433f24ecbc3e6c3a033c308e9dbd1e862f3f16b6a13e4551d93b89aa90bd3dcd153fc1d3803e9836053cf1cd89bd2dcaf43e75b63c3e70bff53b3ef487bd7f85bd3e8b73ed3d1341153c6e3381bd18bc833e71b3533d0f3a103cfd5481bde03a203e6b8e4abcb4e40f3c94bd6fbd516f863d1b1355bdc25c27bdcc4ae23a000000000000000069e318bdf5a11f3b000000000000000094f4f9bc46b7f63a000000000000000087a9c6bcb6ae7cb90000000000000000f86992bcd68fb8ba0000000000000000e6c213bcc7f009bb00000000000000009ae5e0bbaf8576bb0000000000000000102d8b3999cb89bb00000000000000006c837d3a416f88bb000000000000000039189d3c063b77bd0557ae3d786c68bdf75ec33c40a787bd5b90b83dae1484bdc6c3ae3c6e6078bd3fa4a43de2b466bdc7ccc23c985683bd895ea83daa6e78bd54a6903c7f7a5cbdd818913d9fd252bde053ae3cda106fbd4817973d520e69bd1f0e983cfec755bd0274863dfdd949bda95aa03cd26452bd182a853d517e4cbd80e0883cc28843bd465a743d721d3bbd4743973cc16b85bb9427563c5d116fbdb540bf3c6b5799bb2ed9483ce86980bd8479af3cf1b495bb33ed3d3c14526cbd4648d23c21d48bbbaf59583c2a6379bdd95a8b3cd0b95cbbad48413cf5c65cbd79e9c43cf4b088bbecf5723c812067bd0c70a13cfce962bbb1b1463c9ad452bd1b2fa03ce88c84bb56f26d3c126d52bdf3b48f3c753d85bb6db2583cddb33cbdb2377e3d52276dbd2834b4baa80716bb2406593d3dfdb0bd41bd243c58c5afbbf726303d791cb5bd4d13953b2ab264bb673a3f3df95dd0bd177a563cd517cdbb5e81483d471896bd339ffe3bb72273bb39e35c3da2deb0bd7abc8d3c7a04d7bbe2546e3df16d8cbd27a38e3c45a7c1bb106c8c3d90c787bdab4fd83c2015dcbb64ba913d84114dbda67bb13cf115bcbb404bdf3ba5717ebd240f183fd059163fa68dd33b4c9b82bdb2f5113f75580a3f1581d53bc18e69bde959023fd39eec3e144bc93b86376fbd4f4ce73e8ae5c13ee6a4cd3b73db50bdafbab53e6633913eaa73b53b1b5e5bbdac47963e1019443e6ce1053c38ff4ebd2f0d543ea51dd63d3027173c3a315ebd6097083ef606823c7a6a063cdec24abd55857d3d19c231bd9c8b64bd7fde813b00000000000000005ea166bd3e833a3b000000000000000051ec35bdcd38233b00000000000000007ce616bdbe44103a0000000000000000d6daf7bca3d3023b0000000000000000675fa4bceee0f3ba0000000000000000ef6e9cbc24946fba0000000000000000881cd8bb721e84bb0000000000000000409ccebb374e19bb0000000000000000eba07c3c89b34bbda42a963d79e858bdedf89c3c930961bdee33a93d538886bd210f9b3c51ae5bbd43eaa03da11479bd1a848f3c046051bdf3719c3d41cc76bdfa5d8c3c8b024fbdd342943d4e4279bd90818e3ca0754bbdd92d923df3806bbdf15e953c38e743bdb99c873d3c8162bd188b833ceffb3bbd83de793d338f56bd27c6693c43b527bd29816b3d1c7c39bde0ef953c1080a8bb72b70d3c128232bd2293fc3c3fbddebbfa51263c1a5e41bd31e9ed3c27fac0bb67981a3c2f343abd88e8de3c4720acbb6d5d263c4b0e41bdaa52e43ca88da8bbc8ea3c3cccd237bd700acd3c1a30b5bb4423173cc5c92ebd0750d23c341fa7bb2bfe1f3c58b42bbd0b22c63cbcf2a2bb3de52f3cb7b915bd4d20943ce66b89bbf2b03e3cfc5c12bdca55393dc6244fbd7db0ebbb698910bba9a91e3dc39ebebdcfad8d3ba3ec87bb3b62fc3ce349d3bde2b5a63b706f9cbb2d97003d75f6d6bd4744213cdda5acbb6634153dffd7c1bd10ee4c3c2fefdfbb8a2a253dc57bafbd1f578e3c9773a7bbe6613f3ddbdd9bbd8e3cc13cd92ffcbb4d2f5b3d759381bd23cdea3ce137efbb172e703de1163abdd71db53c8d90b1bbf7f8ad3b04193dbd77f8d33eef69463f7985583b401a40bdeec6ca3eeca93b3f1e1c993b40ce3bbdf52cbb3eac91223f7a127d3b2c4033bd34fca13e9901053f3489613bfc6d25bd0d1a893e23f0c93ee9ee983b4fd91bbd40de553e6c768a3e3b70623b03bc24bd8eea1c3ecd2a1b3eb8b2623bfd401dbd4980c53da006213d2770e03bf53823bdd3bf333d383a12bd921c91bd8cb3f53b000000000000000023ae92bda5e0913b0000000000000000e57376bd31ce343b00000000000000009a9b46bddd67d83a0000000000000000b20724bdc875803a000000000000000079fdfabcea6816ba0000000000000000efc6babc0d05e9ba0000000000000000371d5ebc7e2198bb0000000000000000afb139bcd78602bb000000000000000003382c3c460306bde1cd633d44753bbda07d393c5e4813bdf33b833dc04b69bdddd9443cd8300abdd5f5643d23f54bbdbc593a3c1f860cbdcbe0753dde2f5ebd2bc6253c643402bd8e53693dfef154bd1da0323c54f408bddf7f693da38654bd6e94223c41d204bdef9d503d950e42bd4e5c3f3c44d908bd2b5f5a3de40846bd5e58073c80b0e9bcd4ab3a3dfa3e2abd98feb73c9f33ccbb32e0bb3baa0ae0bcc855013df0dff5bb7644b13b46b3d9bc1651d33c7bcec8bbc380903b4ac7ddbcfe85ec3cc4d9c3bb86ef9d3b41c2d5bc831bd03c482299bbb6cd993ba600d8bc68e6d63c364693bb3e83e73b3d7bcfbc6452ba3ce57ba8bbb960e23bfa07ccbc7c9abf3c9215a5bbbdcccc3ba07fc0bc59269f3c88fd96bb32fce43b7297a3bc1960bd3c4c984fbd66daf2bb2eea39b90bac803c99c7c7bd56fbc2ba3f7985bbe23a333c4338b0bd03643abb619336bb90823f3c1ebed1bdc0188f3bf134a4bbf0495e3ccad8aebdf522b63be00d8cbbd277933c7170a7bd9347613ccc13d9bbf503ca3c953471bd7eef683cb7029fbbdf590b3d29906cbd522ce93c76200ebc1119253d7a0e1ebdbb3cc63c83c4c0bba059503b2d66e5bc9364753e807e763f7ba3463b2738dfbc0876653e65836c3f9502173b581fcfbce52d583ef1cb453f0e67683b6a0fcdbc3bce3f3e1449273fe0744b3b07e6b1bcb5531f3e92e3fe3e04d9c9398475bcbc5643fd3de7f1b23e770a483b8a0fb1bc1e89b03d346d583edb1d173b26d3b7bc0f975d3ddd327d3d6172003b86d3b8bce5b88e3c32ef0fbd7a71a7bd0186a03b00000000000000005da5aebde986023c00000000000000009bcb88bd0994c93b000000000000000021156cbdfbff803b000000000000000069a53fbde315873a0000000000000000f47115bd4ce3fbb80000000000000000d2c0ffbc57306eba0000000000000000d43196bc3da4abba00000000000000000e8155bc9a6919bb0000000000000000bec0533b886311bc8ed8d03c186de1bca30e753b09ac52bcfaa6253d4d911bbddbd47e3be7fd46bcd89e1a3d778208bdf815843bf0cf46bc1b90113d38d813bd4ff18c3bf4c970bc3cbe0f3deb3617bd5df5803ba2d15abc8194123d68cd17bdc4ae8f3ba9ee69bcd6ba0b3d94ba0bbdf1b05b3b3bc671bc3b160e3de27d07bddcd64f3b69f43ebc398fd83c19f5f3bc24faa03c1cf4c6bb061cc93ab7c608bcd188053d793a05bc96e44f3b37ad33bc621ce33c02bcd1bbe684fa3a8db637bc1076de3c0003bbbb7417143bc47d2abcf923c43c553e89bb5fb2fe3a5d6105bc9f73bc3c3fd49dbb5d911a3b87af1abc4107a93c6aaba3bba13c6b3bbf5b1bbc5e1a9e3c4cfa8ebb69bc1d3b305cdabb4e26893c1bf7a1bbe0d0363bc47a98bb22861abc0d044cbdc98788bc791deb391f7a0cbce3e6e8bd5b6294bbdbcdabba953a6dbced58ebbdd3a514bc11c0c0bab0de75bc5d36d3bdebadd3bbb98a07bbddec2abc090badbd05ce36bb215962bb57f1c1bb1bbb98bd94228f3b782b33bb01bf253a213975bd424f4b3c670773bbd9ef0e3c4f3b3dbddcf5c33c7615b4bbcb84363c602ba0bcdebd983c6d7c74bb7d2bf939a0fe2abc9ae6953dc151953ffeebc43a70d73fbc47929a3d61698c3ff0e4233b18e027bccbb49e3d35cf723facc61a3aa54c14bc1ae68f3dc0c6463fc172943a7435f4bb2b7f713d50a9173ffa05093a106608bc77f5353d7150d53eb876ba3944d713bcacd1eb3cc0f1763e3c75e13aa642fabbd28e403cbc4a903d20c04d394783e3bbd58c2bbca70804bdbbc2b9bd076d013c0000000000000000f0d8adbd320ae23b00000000000000005b6b8ebde4cbb83b00000000000000002bbf6fbdfcfa813b0000000000000000823745bd1cf6113b0000000000000000bec323bd3b72873a0000000000000000bab30cbdfd9e393a0000000000000000c9c6aebc26fff5ba00000000000000000fa4cbbc2c5579ba000000000000000000000000000000000000000000000000d88303bb77d2063c8812be3a8bfbecbb5d88f2ba885ee03b56c8a03beca040bc74656aba1266c23baede383b32343abc8a7392bab51dba3bec43633b9bc36dbc1b1d8fbafe0fa43b14ca3a3b25f24fbc89d115bba269943b781ecb3b4de555bc10c7baba496b483b4a9cbd3bb3fa45bc00000000000000000000000000000000000000000000000000000000000000003f4e783c08a486bb78dcefbae784aa3bcd55893c8e0832bb955f99ba33c38a3bb5d3523c1452d0ba72cc0bbb1148803bf216483cd0dfcdba03081fbbc2b1a03ba177323cd8ecc6ba1401debad66ec03b26c3203c09aa01bb44a5febaabc4aa3bb635063c4727aaba3311cdb900c7f53b00000000000000000000000000000000000000000000000000000000000000005f6bffbcb5f8a4bdd76cacbce78b9a3accf2e9bc021eafbddf7179bc1fac0cba3e58ebbcf13b90bd80b28abc9715efb945a6e4bcceaa69bdb6b547bc082d5ebadd18cebc0b1233bd39b411bc0ef526ba10dd94bcfdcb0ebd17e5a2b95a6408baf1157abc6e3090bc956cba3bf45d1cbb000000000000000000000000000000000000000000000000000000000000803fe4a5113adbdba13bafe838bd6582953f08d9b6387a32733bbdecd6bce73f7c3fe1fb403a3d2e8a3be98a9dbca1604f3fdc2aceb9ed37a63bf7ba82bc30ab213f84fa50396288003b0e8c7bbc141de83eff155fba13f7a73b8f3e8fbce5f08a3e3def0dbbe9e2ad3b0892bfbc33f3d93d0000000000000000000000000000000000000000000000000000000000000000f50f68bd8e13e03b0000000000000000ea7b23bdc8e4933b0000000000000000bd5b05bd4de7643b0000000000000000615ef4bcb2f12b3b000000000000000072dce2bcb88ac03a0000000000000000b0bdb8bc2c320d3a00000000000000007812d3bce4c1943a00000000000000000000000000000000000000000000000000000000000000000000000000000000c4ca4fbc7944913ce5d73c3d89c1493b670000bceaca873ccf02303d229eae3b8b92d2bbe51b9e3c0ada173df1c7e13b6ea9b9bbd1627d3cba8bf93c4ce0ff3bf857cbbb60175d3cc5569c3c78ff553b4e1477bb92450c3ce912273c95533e3bfdf7a7bb93ecca3b0c74a2b9c268bf390000000000000000000000000000000000000000000000000000000000000000c1cad6bb0590b7ba51e2493b518e593cc46fdbbaed761fbb8a8175ba5428e73acc63083b51b942bb78bfa5ba2d6a24bc638b933a498100bb9a6961bb4b7626bc4d1c993be26f13ba9ee7e1bb9f03d7bbee4b1b3be0cc353a03d9ebbb7e67c3bb0860243b70ec3c3a417618bc24cd873b000000000000000000000000000000000000000000000000000000000000000037987fbed66ab83c9c3e993bbf34ce39c24c71be284b2d3cfd0aeb3a8d08493a11a361be9bcfb839010cd63ae9e08a39b3f933be6b8529bb06b2caba6840f53aee03f7bd4bf83bbb325320bba05d34399c6081bd2daab4bbb0743bbbaf7e093be44a22bc802aecb8ec14b0bb54690f3b0000000000000000000000000000000000000000000000000000803f00000000670ead3ce27700be3ae4ad3fa984f4bdee56503c4c1d96bd9e638f3f93ad93bdc52d293c35025cbd6b9c703f95a163bd941a0b3c890d04bda983323f208f18bd9e2d023c45e954bcf935e23e3b244bbc759da13bf3c2d93b3b1c5b3ea954d13ba143973ba1017b3ccde51dbcbfc48a3c0000000000000000000000000000000000000000000000000000000000000000718db93c27cbf7bb000000000000000091c45c3c0a80e5ba000000000000000062a4233cc718acba00000000000000008f2cf53b738e30b8000000000000000085294a3b5e19553a00000000000000009831d039384301b90000000000000000cada613a21ec0e3a000000000000000000000000000000000000000000000000334f15bc296d163cb589a33c708eeb3bac9d3fbc43035a3c8dbd1b3dff8ac53bc3db0fbc2613933ca0f1333dd929373c2f91e2bb4ac78a3c7e47223db4383f3c5b853fbb0983853c9a27d93cd526153c2d60a5bbed16733cb5c59a3c2c53123c7258a1bbcea71b3c8d8ff93b8696b83b9b4191bba8e6063c29527ebbe741863ba4dc07bcb47d833b23ca1ebccf073db940a22bbc2b2617ba1114813c69e44d3bb2960bbc17c928ba74f6563c4ad7a23bd1682cbb27a685bb3e4f633c6c0520bc81b0c3ba1ed39abbe3fb153cbf205abce62a113b353717bba4224a3bb3706fbc6c123e3b5e4130bbab0ba339e2e52abc8ca65c3bd4be3dbb3e876abb9848aebb3887a23afd54013acb75d7bb36fb4ab9509523bb7fd4293aa33da4bb11d4583cab260abe0ca9b23ce40cd4ba5d4fe03a486648be4a07b93c5c8600bca021c33bf8376dbec118673bb1ba97bbda7b6c3b5bae5bbe535474ba1ee997bbc55c853b22ad30be523dc2bb0088b2bb08d5323b1365f6bd34090cbc9afdb7bbcb07443b63b277bd2c8b03bc66a6c3bbf770293b0be54dbcbe689ebbe1c9a7bb80df0f3be46aa73cdd67303cc3df97bbd6c85a3bdbaa333d008467be9dd8ad3fc64153bbca43113de6043abe68579b3f0c4bb73cfd36f33ca5e626be717a903f893e813c364cd53cbae704bebe5d6e3ffaf58b3c0f40bc3c5d0dc4bd29d9333f2fffd23c37529b3ca2c782bd5ef5e73e2658033dabfa8c3c1d9806bdb1fc603e062f113d8555453c7867abbb28c0233d1b82143d14807c3c03136dbb1b26fcbdeb359a3c068af0bb36361bbb0000000000000000c22749bcef5900b80000000000000000094923bc97ff8e390000000000000000f9c22cbce903543b0000000000000000961825bc7391143b0000000000000000b68e47bcfcee533b000000000000000027c241bce75f723b00000000000000002abb80bc12849d3b000000000000000044ddfebb5e440439000000000000000035b0813a1021e8bac18c683cab17443ca8b04ebb0cf5243c1df4da3cbe02853c74e026bb20474d3c400f0b3d15a39e3c9235beb984a7683c4887e33caf9f963cabc57db9bb5c693cd0b9973c28e7883c4c1bbabb88c0393c6bd05d3c9acd473c2b3284bb88241f3c3771c63a3643fc3b5119e4bbe456e43b5c5ac1bbe116b33b94108fbbb6031b3bac4b2cbc7f593e3b07aa57bcb4589f397c27ae3c17b19abc0e5de7bb346a33bb4b8fae3c82b6adbc659991bb8c67bcbb25f4b93c8f9bd5bc3d2f7fbad88bb1bb1e06923c9c81e3bc4333f33af9b390bb45763e3c20c9d2bc5d85703bbdbdc6bbffd0103ccb1679bcd7a7fa3a6fc87cbb24efb53b806930bca538d73af10833bbd805283a0a8dc53ab7ee02bbfef7eebac20c593b4e567e3b29f191bd9e01253c42be41bc5c81f63bafd01ebe08ebd6bbfa8a29bc93de233cc5de40be38db91bc6af9ecbb2f67f33b261139be649c93bc2c4023bcb1d6d93baee311be3aeab7bc4a28fabb0b70ba3b7119d4bdfaa085bc9e5e20bc74a4833bfb0356bd7824c8bb18850fbc147ea33b7dd079bc28092a3953efc4bb6cce713bca89863c0549193cee0961bb1dfd2d3be7cf2b3d3f0056be2bf78e3f0d55513ebb6a2e3dbba55fbee92c903f7b973b3e4ebd113d101e43be1b56833faeaa1e3e101c0b3d914225beed275c3f227f073e601ce53cb24f02be9e59273fb1d7db3d156ee93cfbe4bebdf689df3ecb80ae3d7790d23cdb4982bdb4ba653e2897793d89eaa73cd61a0fbd7d09633de4b50c3d5fd38e3ca8c6c6bca29d52bd61f29d3bca1c5bbda9b1a83b00000000000000005d9459bddefdc03b000000000000000032b839bdd746ec3b0000000000000000e51f20bdc79bc33b000000000000000086bb00bd279cae3b0000000000000000288befbcc7f5053c00000000000000004c8dd2bc8fecd13b0000000000000000f5e2a2bc2481a63b00000000000000009b5787bcf53f693b0000000000000000eec3153ce238c1bba63c4e3ca788783ca274993ba047ee39d28ab83c2b80c23c8705003ba3cbd23bef69c43c8df7c53cab3b933b41d6003c882baf3c88d6c63cdb859f3b8b74d83b025b6c3cb55ea63c11ecd13adae50d3ce5d2bb3b30ef803c17a5bbbaea6eb43bd09588ba15545c3c76af6cbbc2f9663bd41f02bcf299e73b32c533bb4a76253951fb26bcaf84403bc62e15bcf5c506b9bf4abc3cf7941fbd998fc6bb3db453bb5555cc3c20b3fcbc953ed53a03e6e6bbdd28ce3c3d0509bd1670173ba0d0b7bb4857b83c489e1ebdd885a23b82180cbcf032983c3fe504bd1d68c73ba3a4f8bb1d74643cb2f2dabc8ef5283b0c3b01bcdc142e3c7e688abcab824c3b6dbf0dbc2be5003c1d59bebb6826a3bac0e9b2bb4a17063ce61d08b9052815bd8329a2bc086727bc6239cf3bf37be9bd469c33bd4d7a1cbcf133333c293511becb7766bdf8afe7bb570d103c07210abea1ef5bbd862027bccd82f33b3fb3efbd238e37bd6ce639bc18590d3c0a37a7bda5c6f7bcfa2024bc6495dd3b461e2dbd89415abc13a011bcded7c33bc98e3abc6bd2153b919ef1bb3085ac3b970f4a3cf8ce5e3c075d6ebb74658b3b6e820e3d7a2b43be6df16d3fdc81db3e2eec1c3d0c2550beac5a6d3f3933d13e48c50a3db2063cbe3dca5a3f76bdb63ef8fded3c2f761ebe4b26393fc7dd913ef0a3da3cdc0904be1d0d123fdd505e3e67f8d43cd677c7bdfca0c63eb72d1d3ea54ac13c2e688bbdb4f7593e5356ad3d146bb03ce5ac42bded38963dcb95e23c15c3a63ccc921ebd6e88afbcebdfb7bcf018d6bdf58b633c00000000000000006ff0ddbd8cc88a3c000000000000000036c3bcbd61ea643c0000000000000000560a97bd17ca653c0000000000000000b8476cbda5644f3c0000000000000000019a42bd11f2223c0000000000000000417e0abdd340053c0000000000000000d209d7bc4122273c0000000000000000cd7483bcefb7c43b0000000000000000dacf0b3ceb3034bc881f433c7e93903ce1d4093c50dd92bbf157943c2424f73c072fcd3b6fff2d3a6696ab3c2b78053d29c8163c64e04d3adcc79e3ca9a2f63c9dabd93bc27f103b8e952c3c91b6c63ccf10883b3349cb3b2e2f803a68f5af3ce4ee053b15c11a3be71e21baf0b77d3c294c8fbad04e5e3b91c632bc0f202e3c161b3f38f6f800ba51292ebcf400e53b4f6ba5bb6736a6ba99a0b53c6f9710bd0842d4b92676a0bbd2b1ae3c746408bd40ca6f3b6166afbb027fb63c80df14bdfea36e3b95d803bcae97993cb57514bdb811e43b0a9592bb7c1b883ccc5d09bd1d58e03bf74f1dbc6e59883c18faf1bc8a927b3b1e200dbc9888573cd6fea0bcdd23833bd8e30fbc78df523cfa9848bc19ee00bb005cd0bbf85a0d3c662e8abb2e9e48bc52c74bbd72f71fbc7872203cd73c8bbd28ffb8bdc19e96bb61fb133cb4bac2bd52d6d4bd4036c0bb9b83e93bfc8ccabdfb17c2bd580ed5bb7b58033cffb896bdc70891bd423221bcdf231f3b709781bddf3445bded1c12bc4a32af3b9b6402bd99be98bccd2a1fbc7e5c833bb18e04bc1a813a3ac3ebc5bb53b3113bea123c3c1eaa8c3c7f7056bbf906563b44ffd23ce3841ebeec80303ffba02e3f0674d73c0ca021bed026303f9e3b273f07bbbb3c030c12be4590223fd6e3123f3d49c23cd84103be40690e3f30e7ec3ec12f873cb8f0cebd354edd3e761fac3ee779a43cf548b4bd5e42a53ef76a5e3e06818e3cfd2087bd9912433e3276d53d82998c3ceadb3ebde84ca83d698f803c240c7d3c8fff19bd6a230c3bca3246bdda9b20beb137ca3c00000000000000007d8c20be2374c83c0000000000000000da1c07be5590bb3c0000000000000000f6ccd9bd221b9c3c000000000000000093f19abddc05773c00000000000000003f0c6cbd69a4583c0000000000000000d17e10bdd05c513c00000000000000000646b4bc58e6233c0000000000000000b9e36abcce54ec3b000000000000000030de1d3cced555bc504a323c9711b93c82520b3c405e98bbd9604b3c5551073d7951093cd8b340bb2759943ceaf7223dd98fe73bad64353a49a52f3c9196133ddb11ed3bafd84b3b9fba073c6fa0f43c5610c93bd93b853b6d0b1c3baa4edd3c675cca3b195cee399b76f5ba18b48e3c2eec3d39c616493b9d30debb053b213c240e513b62a40bb9241e19bcf59dda3b193f4fbb900984bb872d943c3c96fabc3219603b07f6e3bb3cb5923cd21008bd55150c3cdd2333bcf6e9943cc60cf4bcf1cd2f3c63c821bc34cb893c6013fcbc04c0263c1c3a30bc684b803c55fa01bda4a0f83b3fc33fbc79375c3c487bd1bc0159d83b266b4ebcc1e05a3cda79bfbce315973be53737bc93df1d3cb6f336bc5a2bcc37340e1abc7812203ce02308bc756e833b9ec999bd53ed03bce1e9323cda9a02bd79e309be8f80463bec26243cf11f6fbdad771fbeb227a0ba6c69183cafed81bd448b0abea612a0bbfb39013c046977bdc87fdebd579f95bbe077ec3b3cc245bd6fee8cbda02cc5bbff11223bd68d08bd7ce3e6bc3c2d97bb895f873b8e2951bc3babc7baf75a14bbd990bc3ab2540f3c0fef7b3cd36b053a9d88f03a6091613c4943cabd6abfde3e1db46c3fe0718a3c7f14ddbdfcabe13e29e5643fdbaf893cfa1dd1bda2d3d43e51074b3ff25d823c80cfbbbde76dbb3ea2ba233f5af64d3c9dcaa6bdf5dc9f3e336bed3e60fd3d3cb6e388bddec5753e61f2933eaa764a3c2e0f56bd39e0223e75b7083e9718423cd13e24bdefc2ab3d108a273c4fca283c07a5f9bc31ad9a3cdb5c8ebd14d345bee0d9003d00000000000000002ea44dbed63c1c3d00000000000000007d5d2cbe1714f33c0000000000000000939809bef00fd23c0000000000000000c814c4bd82aea63c00000000000000008f4a82bd4c4d9e3c000000000000000052b522bd51bf6f3c0000000000000000a7eb94bc0956403c0000000000000000d3a77cbceb912f3c00000000000000006529e53b5ec815bcd9aee73b239a9a3cbed48c3bc885aabb23c7143c65901c3d25c7983bd2565cbbc41a463c140c253db9f4c13bcf1c773a28dc243c92001b3d4211cb3b8cd3b23a0803023cab0ef83c4d98a83befd6853b9e9b863aaccfbf3cf68b5a3b20362f3b34c6b2b90a25863c20cd353b98d7633bb58ce5bb9ea2263c0e73043b0a3c91bae66c08bcbefd7e3b82c4703bd470ddbb2fd0363cc673b5bc2635223c87cd4cbc8a14623cbc31aabc6733853c467c58bc7f6a2e3ca4bf9abc693a823c1bdd43bc32dd2d3c0553b3bc0f8c7e3c52662dbc4592183cb5b2b0bc3dc36e3cab1166bc782bfb3b0f85a7bcbffc113cb56542bcba2d073ce62f86bccc71d63b728060bcce42f13b781744bc1496cf3a896312bc515ac53bdd65a7bbfc249d3c8086cbbda3f1e43bcc1aeb3bfaab14bcc21b37be2aa53a3c7381083c57b6febc2b784cbea8f1063c1687d03be7c015bd95bd39be6698193be77e7a3b303423bd526d0fbe3e40b7ba6ec40b3b723d15bd6f90b9bd2f63f3baa207453a65a6c5bcfbd82ebddd118dba7c461abba1967ebce7dd8ebbabd54cb8438f1d39a5bc873bc3268f3c441cea3ace9145baed18bd3b55124fbdacce563ec15e8e3fb488683be5f654bdc7b3533e13778d3ff43db63b44cc4fbd47344f3e0f817c3f8486953be96247bda5fa433e23904c3ffe2a6f3b03f428bdb9912d3e8205163fd16bf33be9ae23bd1033173e3d9cba3ec7e3a53b0bd106bdcb15e23d0241253ea922bf3b4f8fdabc2ca1923d9bdabf3bdf66b73b186e9dbc6ac3e23c5fb2b6bd99945abe7fb5253d0000000000000000ca6660be8153343d00000000000000001f433dbe4a76143d0000000000000000fc0a14bef612fc3c0000000000000000daabd2bdbb5fce3c000000000000000039e083bd1d33a13c0000000000000000197804bd160c8d3c0000000000000000a9042ebcf1884f3c0000000000000000f6a01bbac6ac083c0000000000000000536c85b84e4edebb28d7c93b2ee2b43c18d8343b779036bb161b393bc4e42f3d1851ec3aa450f638dd5b2a3cc451393d686ee13a56bce73a6370263c2c812d3dc3b24f3b53238f3be102cc3bbbfb093dba55893bf8668e3bdda54f3b3f0ce83cbb2f7e3b7d73f03a10ba143bf951803c777b5a3b335f8c3b511bd5baf05ff13b289a283b8537dfb90d4f5bbb3b5b0b3b56f72a3c39fd38bcb6baaa3b337f4ebb8f313a3c272686bcdd28b73b0e8e2dbc41bc963c774a60bc521fa43b218901bc4e77a13ca23448bc2bc3d83a9369f8bb51b8953ca60847bc0e92d23a6fde1abc3c15613c41575dbc7cc0163b27b31ebc2d24353c066924bc30df563a68de00bcda6ea43b926a08bc759c213bd9860bbc78b4a6ba17fff1bb96e5ab3ae98e8abbe13b993cdca61ebe6dcfc33c9128853b3809343c1c6652be6a01033d043ee4ba5e7b54bc804c73be5240743cc70f753a886dbdbcff0d5fbe6b9f1f3ce5b1f7baeb3edbbcc5062ebe1056b53b10205ebbb9addcbc0e3ee7bdc92d7439714878bb2f8dc7bc1ff25abd41bbcdba9da236bbaf5c89bcdfa0ecbbeab841bb04774bbb41fee639b2bebe3c9e47dd3b3d7e6cbbac0ec8bbbeec34bb6c635ebb11e2ad3f36c0bcbb385f28bc2d04133d55fc993f5a995fbb81fc5cbcfefd1b3d656a8e3f93f92cbb9aff5fbc51b4443d56fe683fd9bf5bbbcd0566bc3f53623d71442b3fe2a90abb1e6568bc28ba773d8dc9d73e75fb553a32dd69bcc60b663d2ef5443ebb9363bac5e74abcc972483da4ef853c057804bb6b5bcbba00dfa43c857d10be973868be82aa363d00000000000000003a183ebe7841273d000000000000000082f721bea36c023d00000000000000008f01f8bdf159e73c0000000000000000f2dca7bd4475a93c00000000000000007ada32bd2cab8f3c00000000000000004bbb67bcc398313c0000000000000000ce71683c00c1573b00000000000000000aed973c92059d3b0000000000000000000000000000000000000000000000005c5116bb6cd115bb965e173cea3e2e3d07f14d3add8ac83a3301ee3b60c22e3dcd34053afc543a3be993353cf6dd1a3d8d456aba1888c33bfde7d63bba78f33c0c00d83a8d65463b54c3c53b62d8b93c3f68023be6aa593bc6265f3bc3b2513c8905953a7e1c3b3b6b0c093b1a76593b00000000000000000000000000000000000000000000000000000000000000002b2f443c13463cbc977146bb10b9203c82cb823ce99335bcd2c191bb48cdbd3b38cb8d3cb26b10bc91a996bb18ed613bbbee833c54ac08bc95c364bb576a393a2ddc603cc029e9bbc8e483bbd183b5ba293c043c3b65c7bb9f3c89bb151519bb8a70873b106260bbad10f3bada7281bb00000000000000000000000000000000000000000000000000000000000000009506363b6aef7dbeb957e73c946310bb67fb15bc52316dbe5a96873c84f492bbc2cdb3bc51965abe5e32c13bcea3b3bb8213b7bc32b730be3592b83a0cd7abbb86d0b8bca347e9bdb9bdc73a57f5c2bb95c292bcd7956bbd09398cbabd44b2bbe8132abc0cebe0bbbd118a3a63a5bdbb000000000000000000000000000000000000000000000000000000000000803fa68d34bc0001b03c466becbd5703ae3fb1e005bcfc6b443ccad188bd2516903f2887c8bb51ae023c39da48bd135b723f73ddc0bbb565e63b44bfebbc87c0343f3771c8bbec4ff13b87b956bcb773e63ef693a3bba7629d3b65bf3b3bd8fe5f3e0494a4bbfbefee3b430f0b3c10c5c8bb0000000000000000000000000000000000000000000000000000000000000000da9902be3708bc3c0000000000000000d12ca2bdc8b3843c00000000000000009fe173bd2019513c0000000000000000ae6f12bd5faa293c000000000000000024276fbccd53e03b0000000000000000a8691f3cfdbc593b000000000000000080e5ad3c931f9f3a000000000000000000000000000000000000000000000000000000000000000000000000000000005ef547bcaa57973c09b3113d775880bb2c472abc33d0813c0bd91e3d78b6b6bbccea04bcacc17c3cdaad073d2191f5bab7ec16bc440b833c6c15d23c96293dbb8ad5e5bb5e72533ca097933c59a225bb567a98bb8961173cbe0b223c3c7e50bb4c96a4bbf3cd193c868b0ebb69f6d9ba0000000000000000000000000000000000000000000000000000000000000000fff8c5bb5421993bdc751c3c0aae403c628aa9bba689983b1f44e13ba7731a3cfa15a5bb8412953b7455b43b61fca43bf74541bb7a4e763be2364d3b4f7dab3b608f2ebb4dc98e3b90b356391be2a13b0aebd2b953c5673b480997bb6bbee43bc23e57babd927e3b7202e7bbfa9c1f3c00000000000000000000000000000000000000000000000000000000000000006f5b70bef300063d26c610bbdf4689ba680163be6269ee3c9f372cbb7897653a5aa951bea1879e3c94829cba7fddd6393dc12cbe8600923c7c0c0fbbf6e692ba34a3f6bd820e623c75d32bbbfebf253ab9978bbd66c1ff3b1112fbbacfc28f394649bbbc116ddf3bbf3327bbc37ea8b80000000000000000000000000000000000000000000000000000803f000000008047623c0313f5bdc85aad3f8166e6bd2c3d133c2b569fbdc6d68e3f188a9abdb5d5073c481e83bd4ba96d3fe67d7dbdc26b093c2f4f3cbd26ef303fdbc634bdb848093cb83ef1bc2066e43ed07bdcbc7c41073c83b249bc70d05c3ecddf70bba75e253c0a2d0ebb3959c4bbfe96353c0000000000000000000000000000000000000000000000000000000000000000a95b5f3c4972afbb000000000000000049e4f73b56bfa7bb00000000000000007e33e53bc887b2bb00000000000000005014a93b7dcf2dbb0000000000000000b4e0453b495693bb00000000000000007c545eb81fdbe9ba0000000000000000446cdeb9e02111bb0000000000000000000000000000000000000000000000004b243abb67e93f3c1c6b183cb330ad3b4b8e0cbc39c1303c9a14043d5f1c5bbb0da3e5bb38356d3c9839013d12de763a0ab1ffbb25227d3c0c85f23c6ab2e03aaa60d9bb880a793c7cdfa13c11b59a3bad08d0bbff68713ca08d283c948f673bebe7c1bbdfca623c7050dbba1ba8bd3ba8f7c2bb464d3e3c73141cbc8b03b33b157a88bb51b8543ccecf8cbcde57a33b5e4559bb0151a3babd8bbd3cc5d3cdbcd0448cbaf1f067ba4a90a23cff8998bb223f5cbaf61dd2bab91bad3c072e33bc8d4df1b94f8804bb6acda53c2f313abcc73491ba5ebf1bba2f64663c912f11bccb96e23a62778bb95189273ce6e1c1bb8a83043b140f0abb1e32cf3b53a984bbac36503bb057a8ba4ee9abba6fd0533b93a3c53a37baa6b93d4ba5ba78d04a3bb7addbbdf737463c623f88bb30dec33a2e5730be2f18c23c060b14bc32c9973b970b47be26ff603c4dedcebbf6383d3bd94b3bbed1691a3ca49e74bbb59f2c3b7c9f17be1855a23b094367bb688b1f3b6becd5bd21da883b56b298bbdb7fe03972cf5ebd852aa73936f201bb933c953a533134bc89f2faba36722dbb9aa03739ce7e523c02710c3c602b44bbebc3abb96c51003de0e44cbe84c5af3fed8051bc4dbff03cc87836be27049f3f3d1489bb4c6ad73cf63a25bec066913f349b4dbc2b9bb53c743c0cbe2bfc713ff87c3fbc8f5eb93c95a8ebbd95f0383f7416babb231db83c017cbbbde85df73e81f284badba6b53cc6ed89bd7aeb813e4de5913b66bda13c4f9c1cbd1298563ddac6983c534eae3ce15420bdb73bc2bdf557bb3b77a014bc1b520f3b0000000000000000924113bc5753093b00000000000000004791f2bb1680c23a0000000000000000049cf3bb90ec453a00000000000000006584f4bb7c7808350000000000000000023fe0bb86897c3a0000000000000000da4d06bcf118363a00000000000000007ec756bc8a58793b0000000000000000b905cfbb5ab4df39000000000000000062820d3cc05afcbb73fd3d3c76aa093c85716a3b60a4b73bdec3843c9bcc343cb4b6f93ad19be43b7b87ab3cb82f4a3c4e8ee03ad97f2b3c924c823c124e513cad48a93a8df8163cac3a223c0fbb593c0a029cba97d0563cddb996baaa495b3cfea328bb5e98443ce2c21bbc9faa5f3cd76a85bb6d31663cd58090bcc448533c01f2f6bac2b30e3c1c2194bc1b55243c25ac973a6393d4bb145bdb3c24f150bde536e639f48307bc9b0aef3c85a637bdacbc5a3a1756e7bbabf1fe3c88b42ebdb985053bfea3ebbbe79cd83ce5881ebde088df3a6381e7bb5bbacc3cf27016bdc0ff473be584ebbb9204a33c51c7e8bceac5783bc50fbabbe7ae783c69edb8bcf0528f3bb586eebb712a493c15e88bbcf713cc3a381787bb4a9a3b3c17c382bca3c27ebc51ddc8bcf5603fbb5f5a373b40a9c9bd4231c3bc2cb7fbbaeea6803b1284fbbd19ffd7bc5af617bad4a1443bb513fbbd7b12b4bc1f2258bb60e0583b5ca7bcbd9205b3bcd058c3ba34090c3bf0e385bd030a65bc7d5c6cbbced5383ba67acbbc9ca328bc830557bb0b25663ab137b23b7d9f53bb48a45fbb80a9b83ab50f043d7924bb3bcf5a8dbb8f572ab96cf7fb3cc2d736be74a88f3f6f6b333e98f3063d0d1948beef30913fd5b10c3e341fe23c165536be435f843f6601db3d0a51e13c64ca24be7265623fdaaf9a3dd661cc3c50bb0dbe3b70313f1d25443d67aae43c93befcbd8014fc3eb63ed53ce202dd3cbccecabd86c3923eed02bc3beb7adb3c6953a8bde987e73db6bc28bc57d5ad3c747085bdd5e094b93c71ebbc5ca925bdee5b313c0000000000000000773d18bd2002363c000000000000000021c4fbbcc5f1013c0000000000000000913ccfbc26f3d63b0000000000000000b1178ebc7ac3b03b0000000000000000ece281bc358d8f3b0000000000000000fd0647bc50c38e3b0000000000000000fdeb05bc2dd3533b00000000000000000832bebb634d243b00000000000000007ca2833c8f7fc9bc60aea33cba6bdf3b5a4c573c971f31bc53c8993ce05ba03caa3e093ca38ec5bb001ea73cfda3933cf7dd1f3c401757bb9807753c7f399a3c1a97e13beb505a3a04ec023c58aca13c9a30c63b0bacec3a52cbf5ba0e84923c425b743bf752853b931d2abc9656863c5b30dbb902411c3ca892a5bc4c31733c3d96c43ba5ea063a74c991bc5a116f3cab90ab3a8e4309bc2830043dc6ec8cbd77d3003bbe203fbc1dcbf93c335e75bdbb1c6f3b4d7247bca7b4063d31a45fbdf2f3683b734133bcc4cdfc3c6b2a5fbd32625a3b802c2dbcb06ce93c72544cbddd97673b83142abcd6f5c93ce81e2ebd2d1c983ba3d318bc943ac83c4dd31bbd009c883b291b19bcf4cb8b3c206a00bde1d3853b227efbbbd6b7943ca89303bd8a371a3dc8df90bd5738913b4ffd8f3b45d10dbdd5039fbd981aa83b2e0e923b352b7cbd4cf9a0bd7dbaae3bb298923bdbfa6dbd57e88cbdb877833bac49e53ad7b844bdf36068bd1994ed3a3f36583b65ebc2bc2a691fbdd56b9cb89c0ee13a1d21963bb72beebc2d923c3a588440ba74d0ee3c92f817bc6ebdcdba97bef7b8cc124e3d6e4e00bb5d6982bbb03397b9e5e8d03c1daf1fbe6183693f88f6c53e304beb3c6bae31be610a6c3f6ea9b13e6490d13c6bfd25be30715b3fc6e08f3e7783c93c523618bed6cf3e3fc9f84f3e1311c53c49c20bbedf021c3f3782053e2b61c73c9b7bf9bd7fe3e63e88ba8d3d7f7acb3c39ecdabd80d2943eae22403cddd3c23c3979b3bd6fc8113e63e00cbd36a2bc3ce28ca1bddd36563d42aa92bd16dc97bdaa6d803c0000000000000000fc7197bd66f9913c0000000000000000185a79bd902b553c000000000000000048793dbd22405b3c0000000000000000fe610bbdbca6163c000000000000000082a9bdbc195ad73b00000000000000002f6f54bc0b40aa3b0000000000000000c076ecbbad3cae3b0000000000000000153e9eba60ad413b000000000000000023f7a23caef402bdd1d8bf3cf1353a3ca5747c3c1e62c1bc68d3ae3cc8f3c53cdbd2623cdea88ebc2bb3b13c3cb4ca3c4554453ca7236bbce91b823c60ebda3c0aa3643c017884bcd84f5f3c643b983ceacb1f3ce528b6bb0c5ebeb92558b63cf3dd043ca38accbb4cd490bb03e4863cf296eb3b26a583bb46535dbcea897d3c36bbe63b3390b3bbbabc68bcd2464f3c09e08d3bb65232bcfc49db3c87eb85bd36815f3b9a4454bc2cd1eb3ccb6f7abdf7cc9e3b993f5dbc29dde93cc48f70bdd4f18f3b8a6c63bc9372f23c50225ebdb2e4783b76d81bbcd77bd23c843f57bdd9f77f3b485a47bce734cc3c607645bdff07cd3b62a23ebc9a08b83ce5ea2dbd89f9733b6f0e2fbc10d1a63c33241ebd49141e3ba19e12bcf3649a3c7b9910bd142b803d8045d7bdae69fb3b6f476f3b4ec7973cc5260dbe32f07f3cd355bd3af755b3bb899008be8457453cc68c253bd05061bc4d24f5bd03ef5d3cd938ea3a5ca1323b5cc9c0bd823bb73b203b32b951589e3b770c90bd5c81c73b5b7673b936aee03c123d27bd84d4af3ad13a2cba7c67343d5242a6bce843bf3ac72633bb4a2b753d8e91d0bba7ba92ba4e6928bb5d119b3c0193f8bd394f2a3f7d34213f2e65ba3cdeba08be9fce2c3f2b85143f392fa83c3f1effbdbc74213f581ff73ed7f9a33c252cfdbd5ca9133fe4ffb83ece42803ce49ecdbd1c91ed3e15f67a3e2f4cab3cfc0ad9bd20f4c13ed2b4f93da7fe943c2125babda781833eabf6e63cceca9f3cbf08a7bd32791f3ed61963bd40528e3c3a3d8fbd6ef3953d50b2ddbd38f7e6bd2d1ac63c0000000000000000359adabdc657c23c00000000000000008624b0bd28b79f3c0000000000000000ace48ebd29e2863c0000000000000000cd1142bdf556463c0000000000000000d3baf3bc3f9c3c3c00000000000000007f0c8bbc350c003c00000000000000005d8885ba44f7db3b0000000000000000995b993b8814d63b000000000000000010e17e3c45b303bd245ac93ceb962b3c799f5e3c5c29bebc5bf0a93c9c56e23c6fbb4d3c67c4a6bc5ba0ab3cb485073d37932b3c80265fbc1d5a5b3c8557f33c0efd223c58526abc4749443c433de23ca5950b3c46f017bcf5032f3bbc05bc3c7496cb3b7784bcbbc68f77bb01ac883cec82af3b5c8f61bbd54e33bc9849833c1f1cf13ba1e000bc20ee07bc71c4263c02a8e63b1f8f48bc0cc4983c075b4bbd6917e63bda3e88bca689b93cb1dd55bd90abfa3b62c880bc53dbb73c92bb39bdcfb3fb3b8b5369bcb2f6b93cd0023cbd0df0b93bf43b63bc8291b53c3b852ebddc60893beee744bc965fab3ce21325bd038ea23b078f3bbcd7dda13ca9bd16bd5e938c3ba37a54bc13439a3ce16e11bdfd59383bcc5a04bc3128823cb54a06bdf60c8b3d48e604bed5dd5c3cfa78683bdcb6273d692c37be107dba3cb3c33f3b8231963cb15c3cbe8c67993c4580343bc3255c3c873424beee96613c3878133a2e55513cc39906be9fc9613caff8c3b81cf3a73ceb3fb4bdd44ad03b1616b1ba674bea3cc3155dbde355923be55204bb08c5353de5c6d7bc01ab103b3c9029bb4081773d9c9734bc0dba8b3b53248ebbec48713c2d24a7bde164d43eec29603fa043893caba3bcbd2c65da3e9abe543f90cc863ca824bfbdae8cd43eb094333ffd09673c9ad1afbd12e3c13e77e9093f1f99603c4b92aabdade9ac3eca12bc3e6201573c459f9ebdbb048d3ed2454b3e3c6f643c56338fbd30bd543e2f855d3de9e4633ca23787bd85710c3e1db984bdd414483c94375bbd8869953df19204bec62514be4843e33c0000000000000000816916be0dad093d00000000000000009698efbda244c43c0000000000000000a6b3b4bdea4fb23c00000000000000006ebe80bdb933913c000000000000000064f216bdcd0a633c00000000000000009c5c8bbcbc183d3c00000000000000009b01c83b016c083c0000000000000000743dcd3b8386823b00000000000000004e801d3c6131c1bc788fad3c310a583c6fff0a3c8987a2bc589d8d3c2cf50b3d8545c63be48d81bcf906943cd53f0a3dec69da3bbd4670bc8dbd723c0dd6113db05b893be06e3ebcc2c3633cacc9cb3c034e813b528205bc449fb33bc4f8a93c795b6f3be842dfbb2efd263b3984413c19f4313bcf0271bbb42d95bbc06b1c3cd3129f3b763c05bce7e1babb9da0c43b7be6f53be0fc5fbc9750513cf6350dbd0345093cc93f92bc78ec5f3c3c0e00bd5407043c104283bcc433603cbf1fdbbc80c2d63b9fd370bca8ac6d3c55acdbbcad5ed83bd91d4bbcc7015e3c821bd1bc03b49d3bdd5449bc8259623cfe9ed2bc7d0e9a3beb2a34bcb0025e3c92c6c3bce44c7a3bcc272fbc41192b3cb551b6bc4317173be0f10dbc5c82253c8493b5bc1ba47e3d089916be2de2b93cbdb6543bf2d5343d07235cbe1f1dfa3c0b911e3bb85bf53cdc7765be7490ea3cbc34d43a68a5c63c1fec4ebe64b4b53c56a0923a45d9a93c13ec1fbea5ac863c84a38bba0a95a93cae51e2bdbfc13f3c09a085baabf5d63ce1bd85bd33d71d3c75d286bb27da0a3d22e5cfbc353e5f3b8a4546bba5f3363d4eb1f0bb01f3533b12187cbb1041053c39d42abd9761443ed5da8b3f8cedf93be80b3dbdd030453e749d883f01b2fe3b23f247bdf71c4c3eb9a76a3f4ed6043cc54945bdb8d1433e63ab383ff15eba3b31f232bd78d2343e25ef003fe3bff03b054134bd869b263e2373953e67afe43b1f982cbdec1a073e1bd1cd3d0bdffc3b4e921ebd0ee2ca3d62555abd0a8fc33b7dd601bd0518753db0e013be103b2abef0b4083d0000000000000000221e2fbe7e870f3d0000000000000000b08d0cbe7100dc3c0000000000000000a32cd5bdadc6b73c000000000000000028b792bdfd9a923c0000000000000000b0b12abd37776f3c00000000000000004bb25cbc97852e3c00000000000000001819243c9728bb3b00000000000000004c6ca33c9395803b0000000000000000533cd73811642bbcb910723ce7909f3c9765153bd95059bc3837293cd0302f3d327f343aabcd1ebc56fa3e3cb6c5373d4df7fb399f6d0bbce6c83b3c7f941b3d26412d3a71aa01bcada21b3c93adff3cde1119b997f2aabb5a31dc3b4024a43c3e5e06baae0965bbe502673bbf921a3cb046353a90ea9bbb5a891ab9f3683c3b34ba7fbafb0384bba4bec13a7bc451bbbfcf0a3c76ee64bc35cab93b3305d4bb3e6bc13a4efa57bcab95123c8a8e43bcaae3663b85713dbce570fb3b757206bc1f10aa3b4d362fbc8a44143c1d8612bc81e7633b4e8508bc6cdd023c549e05bc62d9e83a0616c9bb91e7033ce6a61bbc45266c3b6d2cc5bb4872df3bccc019bcd3321f3bd568a9bb8669c93b77f319bc0513383bd6c1f2bbcb5f663ba89abcbb7d9e003da36d33be99cafe3c2287a1391d762a3d295572be6f58403d1cdf1dbb5207cb3cd7107fbedce80b3df6999bbac3b0a23c105167be6752f13cae7336bb4a38893ccc7637be59c9a63c11390bbb35f18b3ce1fbfabd369e803c3f0d96bb0e0a613cf3ce81bdde78c03b63a067bb9cbe9e3c474282bc4044d33912473bbb74b4c23ca32fc33b5601cb3bb64c99bb0785febaedeabfbb15f816bc8873ae3f544b1fbafa1f35bc771a9d3cb0f99b3ff3eff8b7612759bc7faafa3c248b8a3ffbfebbba0ab162bc3cd8313d431d5e3f845936ba44bc6bbc16bb503dece91f3f20789438c04671bc4313673dbe7bc23eb679693919d664bcdd32723d6bdd1c3e7a5e233ad1d383bc24a5613d9fdc02bdd4a230386137e7bb8fbae13c16ec30bed03d43be01460e3d0000000000000000c1d129bef3eef33c0000000000000000305209be2efeb63c00000000000000007587ccbdbdc98e3c0000000000000000715389bddd96623c0000000000000000570b0dbd2512153c000000000000000022b696bbd882823b000000000000000015dad73c2308b2ba000000000000000058f7ee3c6d23cb3a0000000000000000000000000000000000000000000000005df18cbbce0317bbaef8ed3b2afe203dae1586bb20f612bb45a5f43bf0141a3dcc3e8ebbd050b8babdbc243c05b2053d24d386bbf3f1cf3916261c3cf067c43c434b6dbb610723ba5c8c033ce665713ca3ff2bbb209b95b83025dd3bd80dce3b06ad7dbb8fbaad393649bf3b008469bb0000000000000000000000000000000000000000000000000000000000000000b94a153b292e05bccbf016ba93bf543c1390043b9d09a5bb0e264e3b056d103cb03f6a3b50398dbbad3a433a69c5213c6e9d923a46f183bb0619983ae8e2033caee4ad3a4aa0b3ba38982d3a4abab23b6edba7ba1dba423998a3a1b97d476e3b493ac1bab5dc1ab84f49bb39ded4323b0000000000000000000000000000000000000000000000000000000000000000cdc44e3b47836cbe4f82003dc92056bb7efc1d3beb8361be39d7ce3c9fe146bbebe4d8bb08454cbea0688e3c18a063bb036ee7bb46be25bec52f6c3c88c117bbb0e297bbaf81e6bd57032e3cc12c7dbbf8cf4cbb673b75bd1b8ed33b5b5b8bbb09e3863a1df92cbcd01adf3b6ce596bb000000000000000000000000000000000000000000000000000000000000803f432cf8bb7583843c76fce1bdb532ae3fd81d01bc21e1223cc1088bbd14878f3fe9648fbb3f56223c32fe54bdcc0f6e3f2b31a8bbe11e163cd16e1abd4d9c313ff4eaa5bb3415273c7cf8b1bc3e45e43e0a9c80bbee6e273cafba18bcb85f5c3e4773aabb1988403cd99173bbd3dc0fbc0000000000000000000000000000000000000000000000000000000000000000a947f8bd575d893c0000000000000000cb839fbd3e62183c000000000000000066c87dbd7a12f83b0000000000000000c6992abdc49eb13b0000000000000000d416afbcf8f7573b0000000000000000e538b93af6caf63900000000000000006ad6883c84778dba000000000000000000000000000000000000000000000000000000000000000000000000000000009d29acbac277fe3c63b719bc7fd7683c03b5debbd621023d800e9cbaf983e73b2dc1a5bb0f10ff3c9176d1bb73b60e3c9b51e3bb278b013dcdfbf9bbb234dd3bc8c7f7bb1e11f43c20ac0fbc465c583bbfe324bc0fbad23cd697aabb5c7ea9babcf526bc2affe53cae094bbc9d533bbb0000000000000000000000000000000000000000000000000000000000000000112d60bbfca83a3b472bf93b841023bdb3cd11bb2690153b35bbf33b71faf8bc6a0ebabab98ad33a818fe23b3cbe12bd0590d2ba302b313bc29bf83bd7feffbcb51be338ecd3d73aeabcd33b4e77cabcecc6af3a497b103b5a83de3b830169bcc977433b5ec8fc3a658cd83bff9034bc000000000000000000000000000000000000000000000000000000000000000069262cbe167e603c8b5e75bb870c87babca236be38ff6e3c64961ebbfe51bdba4dc725befbac423c559770bba024573887510ebe1d62743cdb180fbb0e2edebaa21aeabd560a963c1d6d8fbb5db504bae7c5a3bd1d21a03c377c5bbb0cbeb2ba249b4ebdcd49de3c82599fbbcb3482ba0000000000000000000000000000000000000000000000000000803f00000000a185683c997fc1bda7a7a73f91f4a4bd0cc06e3c8efd86bd1c978c3f21a36abd9b7c333c2e7368bd94b8683ff0dd31bd9957623cd0a555bd6ce0323fb81811bd4143653cc8383ebda54ef63e055ccdbc6a78563c629616bd2ee0833ef7f282bcd3ec813c430b2ebdf2c96e3d3b42edbb0000000000000000000000000000000000000000000000000000000000000000f19b8d3bae212eba00000000000000006bba283bfbc0003a0000000000000000b5491f3a29e51cb800000000000000006e0332ba4df65db90000000000000000e64e93b9df9dc6380000000000000000a06773ba11da8639000000000000000027f522bba63bd9b90000000000000000000000000000000000000000000000009edb0e3d4b7c9bbc19c71ebcb4a2813cd0d5a13c1ec8a13a6f6ecb38e2af083c2472b83c1439b8bae5ba603a6a3a353c143aa63c03ae793ba57da1bba7a34e3c2c38933c3fc7033c9eae2abcfc342f3c9366863cc9ff1c3c274270bcec12e63b18ee5d3c6b40303c785f83bcccba8c3be4ded53bf464793c0f5689bcce5e3dbb20d1503cc1ef8e3c52f3e2bca262bd3b9d9b8dbbce230f3ad721433cfbe6a5bda91e3dbb6d47003a6738503cfdb583bd2b6b4dbb9e95203a29f64c3c599390bdb63185bb0e5cc339f4024c3c992d91bdf38bd4ba37e5fd3915f0533ca7ca8fbdf1c244ba319f1339d67c3a3caeae81bdf94d1739262edab6e150453c5f826bbd0d4a1f3b7446dd39191f4b3c37f833bd6fa5703a1b2e67ba4f70473c29b358bdea1d57bbed5d00bd5f840a3bcca159bb384ecfbd1f1769bc7c9bab3af8486ebbc344debda797a9bcef71583adc0956bb7d5bc7bd89a7adbcbb85fd3a4d4a62bba7bb9abd6aea82bca1de92ba09205ebb32614abd1e2a28bcd2fd8fba27125ebb41a9afbc6449f7ba8935c7ba131127bb7763d93b8a83e33b64112abb82521abb5e24dd3c843f8d3cd1cc9fbbbeeae5bad989cf3bb55f05be93a8a93f82f0453954273c3c81ae02be848fa13f7411f5bb7a18463cc301e7bd59fc8f3fb83c1abc0eb8543c48a7d1bd5b0d723f34f567bcd2f5513cfef0bfbda3953d3f7e1c9abc683d7e3c2c81b4bd5c90073f840ac3bca854833cb4a3a4bdb7f1a13e1763e0bcb0898e3c86c794bdd610df3da641bebc2d1d8e3c5e12a9bda9bfae3b7f3920bd93178fbaae272bba000000000000000097dcccba7de5d73900000000000000009c102339ed975cba00000000000000000d8b923a650581b900000000000000002545063bae15c7b900000000000000007b1e843b1e6988ba00000000000000005e37523b3e22bcba00000000000000000e47b43b7b9631bb00000000000000000f79a93b9b1dc9ba0000000000000000c586653db243a4bdd9820b3de1b9b539d451603de86480bdd3fb273c97428c3c895f5a3d066966bd47c2073c18a0923ca51d513d2a5241bdbda68abb6e07953cde424c3da3dd33bd6e3327bcf66ba13cbda2393d4c88fabcfb2ba6bcd1859e3c7dc1283d977dcfbc4eefbabce1e37a3cc2291b3d244c64bc0d9018bdceeb6f3c3fbd213deff1a0bc3998c1bca80b473c5dbd0dbbd5d407bb2aee333cbae991bda47aafbb834a00bbb5371e3cf25fa5bdc0988fbb62cffbba7b19273c94c4adbd2378a6bb4b66c5ba021a2b3cc562afbddba68dbb92b8d0babb59423ce5c6b3bd6f6491bb36eeb2ba552e3b3cf05eb5bda2f73abb0b17d0baae72583cbe14b3bd62624cba713a73bb18d2573cdbd0aebd478784bb33d53c3afec1693c441aa8bd1c04d03df778c3bdde57333cc64e9bbb674a4b3d004ec5bd4b43383c7af886bb3473063db201c5bdba1f173cc081aabbec5dfc3cb184a8bdf4f08f3bf67d55bb33d7423dbebb97bd99f6cf3bb8fe9ebbd961723dfb0a77bde805733bbe1aa1bbfe5da03db7f23bbd2579ab3aa8f449bb5407c33def49cdbcdad582ba30d13dbba48fe33d796f9cbcc7382ebb874968bb84f47dbbdc5cc1bd4600893f71f61a3ef3af473ae0fee2bdf9138b3fdd1fe83dd710ee3a7558d3bd565a793f3573b63ddd0c053bb5f6c8bd264e5a3f77c3463d43c8373b81f5bfbdcf94323fc6d9633c2339e03bb431bbbd0c0b083fb79c73bc3bd3083cc836b7bd2e13bb3e704742bd0a7b1c3c69b1b1bd983e553e01cb92bd2baed33b1dc09dbde9ecc83decfcc1bd147a05bcc53f91ba00000000000000001a48c8bbfb5196ba0000000000000000ec6c80ba96e051ba0000000000000000823ffe3a06bb57bb00000000000000005fced43b367a49bb00000000000000007dc8063cd8d912bb00000000000000000530403c95a491bb00000000000000000cb4713c164b62bb0000000000000000244ea13c462bb4bb00000000000000004dbb7d3d3239f2bd009fb63d0396c9bce1ee883d6859e2bde25c4b3dab46803bc175823d9a75cabd3bcf2d3d1e831c3c73e9813dc0a2bebd44f4ed3c3610723c7906803db0b0b1bd0940a43ce13e7c3cd94c753dc5a598bdce7f993bcc4f863cdcfc6c3d5fea86bdf38be5bbe8d6923cc406643dd4ef62bdeb1cb3bc611c9e3c4561623d2f9370bd0dad64baa817363c69d36e3ada3dacbb2e983e3c8e8b73bdbd12a3baec5cc6bb628c1a3ce3a482bd7b154bbbbd00aabb09e4273cb8af8abdbed19abbd1807dbb0f972c3c5ac997bd8c9c95bb6534a0bb2c8b3d3c141099bd47adb2bb4a345abb4f8d4a3c9125a4bd5572b9bb75af18bbac44473c92dba6bd734fa2bbae3264bb2e9d3b3c6ce9a8bd301faabb729644bb67147a3cccd6abbd65ba183eece41cbe5f9bbc3c089fb7bb4297f93d683d2fbeb95dc13c4372afbbdf87d13d57202cbec345b23ce3a2d7bbcde5e13d996122be8428943c9cf9a8bb3474ef3d9aca12be8ff1703ce313aebba091033e2e82ebbd6f08313c9314a5bbb295113e0464c5bd90e02c3c8efd9fbb454a1e3ef9d296bd3035823b3d913bbbcfb9293e5d207ebdbcd6f83ba7c091bbeb0bfcbb566b83bd8e9f553ff898a83e560ccabba5229dbd2ea7583f3bda923efff1b4bba99e97bd3243493f8f0e653e5d0a84bbdf1990bd6e35313f0f46203e89f501bb769f91bda0e6163f564aa23de59f87bb4dbc8cbd1b5ff03e9ee3423caf999ababbc68fbd5ef7b13ec7a255bd9a8e583a7ef090bd4a27713ec3f9d7bd15cc64bacd0588bd39a3173e556c17bef3ce8abc73ea0fbb000000000000000011e878bc30b390ba0000000000000000e144ecbb58eea2ba00000000000000007dcd523a7a0b86bb00000000000000000040143c8ce094bb00000000000000002460633c028ab3bb00000000000000003864983cadbde2bb000000000000000069fce63c5ecc0dbc000000000000000070c1ec3c11f30abc0000000000000000c49d5e3dfd0802be0a05f13dd97d49bd6548743df39a04beef0dc23d84d4a2bcefc66f3dd818f2bd9981ab3d123e88bc6ebd783d4ecaeabd52f1843dda4d88bb7405653d3b3ed6bdb6a18d3da1659cbc648a743d94a5ccbd9178173dd352e03b2edf673d50f6b7bdedbcff3cda7e113bd091693d1026a8bd8641573c832a383c14915e3de474a4bdf85fbd3cd536313996e8133cc6ca02bc7c48223c7a5a10bd31da833b816501bc4570303c5da019bd86c8573b52a6ecbb6472403c5efc3cbd3a2e1ab9be32eebb19a53a3c6c8045bde0ff553b3940dbbbd053513c34dc60bd7da197bbd105b4bbca554f3c41df64bd2da351bb9a20c6bb22f4653cc3b37ebdb32dd4bb64b99fbbadef433c1e7582bd490a6abb56529cbbb4416e3c229f81bdc1a4133e11c338be9080043dfbb8ddbb90b80d3e9c5c5ebef2700b3d86dfd3bb8c08013e67f854be841bf23c8fa0f1bbf036043e827b53be1e86f23cc98cd5bba1e40a3ed8ff2cbec3edbd3c77c8bcbbae1c1a3e789e29befa4ab73c2e90ccbbd67f233e34400abeaaff9d3c463eb7bb3fb7333e9979e6bdd564843c04ebaebb7fc6363e079dc3bd14289a3c1ba3c1bb41b1efbbea4018bdee7f173f57970a3f585a13bcd5a92abd7869173f987bf63e1a48d8bb0dfc28bdb38d0d3f47ccca3ef872f2bb08e128bd5adb023f55c9933e10ec04bc1d3c1bbdef08d53e32c1433e8b33ccbb3ca92ebdca5abc3e32a39b3da47ba1bb6c6a37bd99ae8e3e0d3d74bcf2eaabbb2c3337bd2dbf563e2face1bd304a64bb976638bd62780d3e3eae28be4c79fbbca0645abb0000000000000000b6dbd9bc1465c0ba0000000000000000a4847cbccb0a59bb00000000000000007aa0dfbb549ea7bb0000000000000000c7508a3b50fda2bb0000000000000000437c693c1d01e8bb0000000000000000b2beb43c137707bc0000000000000000aa1a023da92b02bc0000000000000000aa5a093da42b18bc0000000000000000ab731d3d841de0bd3abaef3de6b67bbd2547423df08becbd6c33cb3daee7d8bcbe26423dd504e0bd3de3b13da9998abc432f3e3ddd10d3bd40cc9c3d6bac31bc62db443da6cccdbdb6ce7d3d3469b1bbe1b83f3d5082bdbd7da3473d1533ac3ab2bc433d0841b4bd8d4f1f3deeacf63a632b3f3d8ff9a4bd4c46a83ca08df73bd0dc353dc2519ebd70e3123d9dcc02bcc0496a3c06f728bc8ccd343c0c898dbc3eed383cb94d37bc67820e3c9f02a4bc748b073c260a39bc4e5a1e3c0923bbbc341f833b4b6c21bc310d103cdd12e8bcc01d033b321206bc9511483c9b2feebcdd04853a7dc913bcbd93253cddf20fbd225132bbedced9bb28e6213ce8101cbd2750a6bbd605f2bb47b2373c38d629bd2a9c81ba9273bebb65db243c743726bdf655d63de0c43abe44761d3db54ad5bb2702d93dfc4878be068d343d834fc8bb9bd3cb3db81a7cbeea231f3d3192b9bbe8a0d63db5ad6fbed1b51b3d390dd4bbbc9ce83d24425bbeb657133d1ae7f8bb29edf63dfc863ebe2567fa3c421ab9bb98a90b3e3b721dbec6e8e83c8d20c0bb733a183ee63301bee51ddc3cd63fb2bbad991d3ea2dcdabd30c8be3c2928babbf956d2bb2dea91bc0880bd3eff7b473f61b6dfbbb4bbc8bc871dc23e33053a3fa1470bbcd092bebce101bc3e05781b3fe5acc1bb08f9b3bc3433aa3ec308ed3e9e1317bcc2b7bcbcbc12993e1058a03e0a5ad7bb5d58d2bc0f4b823ee6f22a3e0767fdbb30afc0bca8e54b3ecface83ce5a1f0bb2459d8bc1b351e3e03dbbdbd0492c2bbabd6a8bcc752c43de20a24beec7052bd61ed90380000000000000000f72247bd4f1349b90000000000000000e4b609bd9c05c93900000000000000001f2b91bc6105a9ba000000000000000061209cbbc5b7abbb0000000000000000db48fd3b8c5e9cbb0000000000000000c672a03c2f12bcbb0000000000000000191a083df40af3bb00000000000000009381153db4831cbc00000000000000006970b03cb38999bdee34d03da5b673bdc1d1dd3c8d18a3bdd89cb83d3ddaf3bc3394da3cdfde9abd12b4af3d5009dfbc953be63c0f6b9bbdb8e19c3d652e84bc6032e03ca02c93bdf3598e3de1e686bc7889e83cc3648ebd63ab763d261128bc1c1fe53ce41a88bd76de533d26e643bce9f2f03c883083bd5309183dc03326bb83f4d33c099072bd0d2b383d78d875bcb27faa3c166445bccaca033c02f695bb7763833c1d7460bcfa23dd3b65356ebb00be8c3c13e85fbce99bf53bb6b6e4bb92f6353cf71337bc3784143cc53404bc3ab91a3c7fdd38bc6a19e63b361f39bcc95b743b527f1ebcc85c263c4bca51bc08a1ab3b132d1bbc0811133cedbd8ebc5012f8ba5d2606bcded5063c51a785bc48f0843af3def1bb13fb173cd26395bcb051553db22b35be1d62343d14dad1bb05436b3d086f7cbef8dd4f3d9bb5dbbb72854b3da0867ebed78a363dfd42d8bbbf55663df8007abe8e29313d07f1d1bb7560803d98605fbec0b4343d4cd7c3bb6a9a943d989e40be86f21b3dc509d1bb4cf3a63daa901cbe05e01b3d5204c7bb4b8bc53deac5fbbdc82c173dfabdd2bb13c1d93d1cb6d6bd50ca0e3da8cfcebbd74190bb58f804bcd31c323edea2833f158a93bbceb23fbc8e262f3e66a07c3ff8cab3bb9b9af5bb09c8323ef90f553f0708d3bbbc8526bc1b4a283e39eb283f7a5ea2bb6865fabbd872153e2f76f13edddedebbb5e9e0bb6e47043ee6518f3e0ffec6bb954813bc9e28d63d3f98e33d72f7e0bb0e7e18bc7ff0a53dab5871bd0c288dbbeffe18bc38ce463d634e16bed1689dbd200b603b0000000000000000bc539cbd5d2cae3b000000000000000097cd58bdeff10d3b000000000000000015bc11bd8c5f25ba000000000000000093bda8bcfbf7d6ba0000000000000000d0f1b53a33431abb0000000000000000750f5b3c17acbabb00000000000000007a70f33cc38ca3bb0000000000000000b8ed193d264810bc0000000000000000b54fa63b7ed1f7bceccf703ddb892cbdbd51523cf6492ebd8065863d2dfef7bbf497403c4ca722bd50586e3d42a5e1ba1a663f3cb4a221bdce0e703dfdf985bb340a493c7e511fbdcfcf593d9e3c5fbb6a0d4d3c7a7022bdb873403d3d6d4eba35815b3c2b0916bdde58223d3eafc5ba2793683c38651abdd224023d429d753b4d8b0e3c16aff9bc7145073d41b88ebc9516d33ce96776bcba98b23bf37da03b24d67b3cb7d272bc009ec13b30a5e73a42ba543cee6653bc59f0db3be2ab303be576413c011045bcce83d23b8319123bdb13103cb2cd29bc4899d93b08a2173b9b0aa33bb23a1dbc5d67cd3b2e86e43a3d43de3aba1d0dbce85abc3be1414dba578f62bbff1ff8bbc7c0a23bf0932abb7619963b7cbc09bcdd879b3b3777953a36bec0ba12c219becb52023d1f2c8fbb3cdda23c6a357fbee01a493d6e9096bb601d333cdd6c81be2836263dedee9fbb10a2243c8e4571be1029243d7e2d90bb45df503c5b5c52be17ef143d1b04e2bbec97ae3cb1d92ebee7bc183dddc7aebbf75ce83c453401be67100f3d6e35b1bbc8503f3d8c2bbabd79a1143dcb03aabb26d2183da69f88bdc1551b3d9641bbbb44d237bbf91288baab38c63bba61a63fbc1cc5bba8b168ba9cbea63c4cd79a3f0047cabb670502b93ac8003d55f4853fd4eac4bb3d47573a5eb6123de4be563f939ccebb500c1338f3a0173dd1461e3f57e0c8bbf610613a8b0b0c3dff04c93ee86eb9bb8a76233ab288fa3c202f343eb58ca7bbf2859cb9c4def53c2559fabc24ff87bbc5cb8e3becb490bb858afebd6409e3bde9532e3c0000000000000000fb79cabdaa28123c000000000000000065829abd2a47c43b0000000000000000071f5dbd7bafe03a00000000000000006ca408bd3e2c423b000000000000000096be8fbc162598ba000000000000000004c3fa3a6bfa34bb0000000000000000138acd3c1c488dbb0000000000000000e1d3b73cfdb8bcbb0000000000000000000000000000000000000000000000001739a9bbc418783b7a98a13c43f3653b61024dbb2375203af652b53c3782123c023c5ebbbfebb939ba9eaa3c865b8d3b89a936bbf66d3bbaa587b13c8b4ea53a93ba44bb5be385ba6ec9b13c342d90bacb150abb707557bb77cc943ca87e023bf28071bb688608bb1da2943cb61ee2bb0000000000000000000000000000000000000000000000000000000000000000a64d633c575f1bbcf764f53a7b443a3ccebb353cae3d05bc7882233b0c06fd3bca2c2b3cd19fd3bba70c1a3b4e651e3c3ec31e3c2879d9bbc58aaf3aaf151c3c199cf93b60d4a7bb7701173b61fe233c8fbb183b1008a6bb7d44113bea550d3cf9705a3bf4b1a9bb3f4ee73a4e314d3c00000000000000000000000000000000000000000000000000000000000000001a560dbdae632abeaaec633c1d21d6ba38f5e5bc71d631beb977723cc4a714bbb70203bd7d3520bea8935b3cfe4750bb69c5fcbcc65808bec133583ca74d1abb4e2decbc6470d0bdb21e833cfb09a5bb569b82bce0a290bdb58f843c869e14bb32fc86bc298b12bd8e93bd3cd6c497bb000000000000000000000000000000000000000000000000000000000000803f72d480bb5c75e73b4eeba5bd4662a73f8254a1bb0e09e63bd11e52bdfa9c8b3f277586bb944fb13bd3d435bd4bf5663fe99a85bb632e0f3c5c9a23bd82da303fca189cbb1268db3b1c86fabc732ff13ecfddbabb82f3093c13cab6bc74727e3e96c8aabbc82c1a3cdd1405bd0515613d000000000000000000000000000000000000000000000000000000000000000064c2aabdf934ea3b0000000000000000c47865bd03ef973b0000000000000000b47b34bddc7c1c3b0000000000000000270a0abdb331423a0000000000000000ed5bbdbce9451f3b0000000000000000552c23bc0dda14bb000000000000000056318fbbae3bcfba000000000000000000000000000000000000000000000000000000000000000000000000000000003640103b9158d9ba47a4323c048db33a471de63aa69936ba9b751f3ca2cb1f3b6a44b93a5a219239f0ed0a3ce202223b38e0073a64b6e63a8e10cf3b6e3ec53a93fc2a3a475d003bcce9943b76b81a3a0986053a9182b23a3be72a3b3ed55d3986629439790a4c3a9a3b353a0c8186ba00000000000000000000000000000000000000000000000000000000000000009581343b642186366ad10f3b69064bbc8698423b7d65beb90859393b897d29bcf689073a4dfb82b858d3423bb05711bc88ef913ad245a0b862351e3bc32200bc21b3583adf6727ba350f203bd3cce6bba6932b3acc1436b9c30b1a3be90be8bbd0845439b9a20bb8a31e0e3bd741bebb000000000000000000000000000000000000000000000000000000000000000010b45abd10e306bd1ec2ee3a3c26233b695d51bdbf58debcb274003bc1041e3b3f802fbdf44db8bc15cfae3a3b6cf13a830506bd3da693bc9fc20b3bdaa3023b61acbabce4bc62bc61ab623b70e2853ae2733bbc914213bcba250e3b1491a33ac6c1153ba7c5b9bb4a130c3b8a63673a0000000000000000000000000000000000000000000000000000803f000000009c0ef3bb62c7bbbc92bb873f45df3cbcd89bbebbe5332cbc5849633faf92e5bb1c07a0bba25d8dbb8b57393fe348e2bb4b9d2abb170117bb3835103fba7328bc0ce801bb12b312bb7441d13e9e6e7cbc3b6216bae3f948bb0954833ea226aabc55f719b9ea04bebbd253df3d9b7aecbc00000000000000000000000000000000000000000000000000000000000000004aa2a2bce87ea33b0000000000000000e1217abcb6ee723b00000000000000001daa39bc31f7353b0000000000000000a52816bc41ac4d3b00000000000000005b0febbbeae3113b00000000000000008cf479bb41bd3c3b0000000000000000076ba6ba34b04b3b0000000000000000000000000000000000000000000000002bf649b9e6d5b7badd05293c176f77ba7369263b4bcc0dbb3c8e503ce7d54f3b6834863ab2b5d1395d15613cee2e2d3b2176c63ac746da3aaa054a3cad06543b2f08f63930cdcb3aa0661a3ce0e40b3bf95b253a3ccfdf3a685ffb3bc646d83a514cba39e08d2f3a16b0893b2fb6983aeed28ab945644c3abfbd283b37e306bb832157ba78756339363cbb3a849f44bb146a023aae0c343acc1a113a4a4257bcad9ec53a0cc6f7392156533badeb88bc0a3ca73ab792ae3a4704113be9935cbcf5859cb901414b3a9a74ac3a64e454bc94b21e3aa7484139401e093bfe4114bc8e46393a493ffdb8e9881e3b828611bc427d3abaa787533a80605b3aa88a15bc5999163ae5209439be190d3b95daecbb8845d2b7ea322d3826de503aea6a6fbb838eb6bcae43e9bcf5e0c1bb83b45b3b4d2053bdc31128bda29b54bbfb778b3b18ec5ebd02db1abde3e9efbac5b75a3b221e41bdbed604bdc8546fba3e886c3bd1140abd0d12cbbcaa9f8dba3a82343ba68ec0bc9a85a4bc111ca8b93542163bb28923bc32476bbcd4cf883a0cb5173b508cb33ba621e8bbe5ea813ad724a63a3051873ce2282bbb937714b9e630823a1c6698bb7d5357bdbea4873fb891fb3dc1523dbb804b60bde0c47e3fc9d1e53dc1a78cbb25e80ebd2a5e573fb813c73d0f6763bb3314c1bc41db2f3f01fb9d3d433f3ebb83e381bc271e073f65bd683d8f2de5ba4c4c64bc1d51c53ea4ab043d913c6fb80b2246bcad43773e4187e63bb983ad3a8d3470bcb9a0d43df5cf7fbcbc6e6db8f89736bce60040bcc386ddbc439c0abd77b9b93b0000000000000000354815bdb435ec3b0000000000000000345dfdbc89b5b53b0000000000000000bd9dd6bc47f4ae3b00000000000000003955a9bc825f8c3b00000000000000005e6e91bcbd1c963b0000000000000000a6d54bbc6ce5b33b00000000000000002fff14bc1a4fa33b00000000000000007cb6bdbbf2ef8a3b0000000000000000256dfe39e68601bb4cd61b3c9d99da3819b0b03a026841ba3e52543c1264273b6e94523a809a5339cfd5403cbda7703bc83d33baf59c97b946ac383cbed8873b519a7339e982853a8b591f3c0b2c323be75b55b961df5e3a96760d3ce44b143ba923fa38a61b9c3aac9cc73b42c9a33ae6439fba34c1c5b896297d3ba2b39ab9a3551bb9f71222ba764e003b7c69afba9dff5fbaa81c333a830ea639ef7355bcbd9a9739d0b5f33a12d3ec3a2d1b81bc9174bc393d56cc393692e33a63462dbc8214133a18c1613a3ea00b3b32490fbcc083c638d041b439863e993a9c35dcbbaad7cc371b19db397c0f9a3addb8e6bbf1f1c2b92fa49f39892d873a7586b1bbc0d49eba92722d39381e3839650fc5bb0a7eddba95672fbaa7b06bba76d278bbfa43febbd683aebc286c40bc0251553b7686f3bca1e41abdb53641bc112eb13b675706bd47940abd0f7309bc9c998b3b06f40abdbda00abd74dbd8bb3bb7663b0834b4bc4736c4bc056ba4bb41062a3b63047dbca8e9aabc200789bb8e67493b979c9abb38434bbcf50043bbd421023b7bd5093cb09ae7bb06618bbacab62e3b4a9e633c668f13bbfc2a7b399518f63a083103bbbd1b70bdceca653fecc88a3e47d7b0ba917c89bddc105a3f358d803e8990f5ba023235bd6fc8353fc4f05c3ed4c611bbbb411abd68381a3f4a4d353e3351f5ba1744cebc465aeb3eba8e083ec93181baad43bcbc15d4af3ee8adba3daf19e9b8781495bc6c805f3e7475503d6413f93a46658cbc8adad03da53df33b3185063b0e8b40bcbb1cb43a8606a3bc92cc2dbd2c20923b0000000000000000279854bd2002cc3b00000000000000003b2e25bd2bc4983b00000000000000005d911bbdb86fa43b000000000000000090e3edbc6acd6a3b0000000000000000bd70e8bcee3d9f3b0000000000000000bf57b7bcbade963b00000000000000001262a7bc8afbed3b0000000000000000a53a64bc42deb03b00000000000000003514bbb96f30bcba79610b3cc35f0e3bb2a373b93adbb7bacb41383c964b9c3bc683223a3c7382b97f813f3c09d3b93be86cac392474393aa8da353cba50b43b696633ba240a703a5ee1233c3f44963bccc7c539071f87393966073c6452553bea146cb9006e143af1e6d63bdc66f43a87523cb9758580b956fca13bb6ad193aa8e19cb98898a33828657c3b02008939a73ebdba380785b81ea24aba733746bc82a68fb87a4a853a6d6ed9392d0362bc9e1dce374ced903a279fbb38795e1dbc617a9a384cf4893a9a11863a4ffff7bb23c4e3b997e41d3a3c702c3aef3ebdbb1fd3f6b94482383ad311e53ae1a9bdbbc42771ba9ee7eb393cc3183a36bb98bb2cbdb1ba85186d3a00f6c2b9f6518dbbaf5bc9baeac2b839af6077ba498908bb68681d3965ed83bc8c7f8cbc4c5d303b14a689bc592203bdfa0e9bbc5e84a13b893cd1bca1e815bd3ccd76bcde138b3b8341cabc22af09bd48bf47bc73ba833b1e7c93bc8e6ad6bcf43f1ebcdcc8513b8ec71fbcf30aa3bc11a1f5bb48ba583be8b20dbbee6a3ebc1631b7bb510a383bbcbb013c8fc86ebb0c5e8dbb46232b3b08d64e3cc6b2d93a23c872bb95f19c3a1725d5baf0ff68bd8c4c3c3ffb7fd83ebdd760baa9cf8bbddaf8323f2c89ca3eefd10c39ba7857bd70fb1a3f1364ae3e356753ba3acf29bd4a57003f6e168f3e0c213ebaf5e201bdb13fc93e98ea5c3ec8fe4dba4538debc539a943e9f4c1c3e3ad187398ef6b3bc9855413e44eab83d5287ec3ada1790bc1c46bf3da185043d5ca52a3a8e5034bccf31e93bb2614fbc49f147bd38720e3b0000000000000000623a7dbdbc799a3b0000000000000000d93257bd60cc743b0000000000000000f2143bbd677d633b0000000000000000fe2f21bd333d553b0000000000000000800413bd29ed883b0000000000000000581502bd82f3a23b0000000000000000a5dde4bca6d9c53b00000000000000002f0297bc53b3843b0000000000000000f29dbb399327b0b7b9b2b53bd440363b7402253adf5a0139de54f73b11caaf3b9fec85b9621461b9e6ae103c98ebe33b0b4095b92b0e1c3af0d91a3c7f98e13bb16b1dba3315583ad163f03bcf93983bd5e101babe1f593af01e013c385b993bba3de8b840196439987dce3b17ae3a3b0c97bb38e027a5ba2854903b7f51813abd7f2139a07f7eba586f5c3b516508391f7e6ebb83f2a33a69a35f3ae80448bc0eb027bb90460c3befc5dc3a2ac150bc1c626aba9518bc3a69bf4c3afd9df6bb736c4bba1a089c3a9e4f3c3a6ca0c1bb0ffd69ba70b0e8b68f410338ad8f50bb99ef97baab0f1839c6377a39b76975bbdc61d4bafd372c3aaa57ac39fff84cbb52b11bbbbb7cee396db5cfb7ccb828bb29e220bb77085a391ecb4bb9558191ba881c7d3b1e154cbc0421a9bc454f1e3bddd811bcedafeebc6d85c2bcbfcf973bcfd883bcb2ba07bd7ef199bc7f877b3b56a492bc6b0009bddaa389bc84837f3b88b51dbc40fb9ebc62692bbc95cc123b881e0bbc100196bc330f30bcf941393bd59ae6ba195003bcb91af4bba0fd1c3b579bc63bd3fe6fba1b77c9bb2d51103b22792b3cc796873b02d69fbbd7d2903a4dd4da3addbd58bd6dfe133f2ca4133fdef23c3b6f547fbda0ae0b3fdb3e0a3f1959833ae4553cbde9c8ef3e9bdfea3e52599139f59026bd44a8cb3eca73c43e32799fb9cb48c6bccc8c993ee1b4923e5431eb39f517d9bc32b1703e4d645b3e41492c3a22b5a2bcbaf31b3e4f11063ee922943a104290bc24eda23d3068663d99e34238901c3fbc5c63213c6ec8fabbddb356bd8612bf390000000000000000e0c884bd50a00b3b0000000000000000fba656bd7bc8aa3a00000000000000007cab4dbde3f9cf3a0000000000000000ad8e09bd6c05423a00000000000000009a8d29bd3a68913b00000000000000006ff40bbdfe546b3b0000000000000000bd270abd984ba23b0000000000000000dcf4c1bcc911693b0000000000000000e4a9d9b9891a76ba183e893b31abac3b68ad3ab9cf5a2bba3c60c53b6525123c7e2956b924cc33387d6ee03b47e81d3c3f9284bac4b1d23a66d5073cf2871b3c7078f8b96f8bcb3929c6ef3b16fcef3b48af89b9792cc1393b4ad83bbb0ebc3b4307d4b950719939d2f7bf3b1b167c3b0c32f1baa888a5b8ac109e3b5b63023b1e607738d8ef1cb96bca803b58d3b23af4313ebb4714a53ac9c3a33971462bbc05f2d7ba1cfb2d3bc3178f3a97d52fbcc5bf56bab340f93ad6f45e3a2a8fd6bb9c5591b77031063bca17063a2774a2bbc16651baf318923a9b04b239db5e47bb95acb4bacc72853ae343b2399a5030bba3d6c9ba108e5e3afbd94039bc3210bb387b20bb68e0c73aca42bf384bd905bb55250cbb4d8151b95a6615b99cff82ba3b58453b75ac4bbc77b7ccbcba2d033b80b006bccaef0fbdaa11f6bcbac7a43bc9406cbc773223bdf23dcebce5ed983b0d0382bcb15111bdc16ea2bc8c8d563b9e8847bcc666e2bc3a2e86bc5d57613b709c19bc64939bbc51394fbcf9e2713b72fc96bb349af7bb21ab19bc19b9583b2ddaa83a0ac8453bb3f3e8bb5fc96e3b0e83bf3bbada113cf6cf96bbad76853a79aa223b771144bd02f3d83e23c73b3fc773853b1a166fbd28bdcd3e93f9313f41ff353b8c953fbd6442b43eccd9183fdd25d93af1371cbd9758973e9b89fa3e44beb13a5fd0f2bc62a0713e273ec23e597e913a697ccbbc66b4353ef0718c3e6f02a13a4ceba5bc15acf13d021c2f3e489e003b904d88bc09fa7c3d8024993dfe9f243a854632bc4839123c2a49cdbb5b0662bd84c9e3ba00000000000000008e1e90bdc334dcb80000000000000000a19976bd5c1612b90000000000000000bbf55abd4b8553ba0000000000000000fed13ebd44f4203a000000000000000030af35bd1886f23a0000000000000000a4282bbdcc9f033b0000000000000000299021bdf3dcea3b00000000000000001709dcbc104c8b3b000000000000000014fe043aed2acab83fe5fe3aef6ef73b1d25133aa2edba39e8fc4c3ba4e63f3c665bc2b68b7a6038b3998b3bbb73293c16d2e4b963d2893866fca43bb02c303c59090dba9ba0c23975d1a23ba4b8013cf37147b8821ee3398c03b13b19badb3bed3994b957444bb977bb923bd5848e3b6fbb59b8d0265eb96d0a873b1757b93a4f3e77b9b2f8dfb968874d3b78686f3a81c415bbe070603a159e6339e70522bc4d7892b907051e3b9cdc773a774b0abc432dad3880e4003bc002693aad8583bb982da338a2d0f23ad5ee9e39143638bbc2f1d8b92b0d6b3a5d599b39c61bf7ba5cc912ba4392863a5b106c3a0724a3ba88db95ba2625733a76662f390590d2ba35fa1ebb5151a73af320793a078eecba084919bbb8af6c3aa28394b9cd32abbae6461c3a8f3589bcb925e1bc34f5683b7b4b0abc96202ebd0a9909bdc3a6e43bc17d4ebc634f2bbd84bed7bcfa33913b59fc67bcaf722dbdcc99c5bcf351883b1ef42fbc5aa6e4bc9a4b8dbc1927433b41012bbc76eda8bca16a73bc4564783b36aed5bb50d607bca63124bcf9f4583bc47a89bb4a35ca3b2abb00bcbd47703b1899bb3a61d24b3c14eba4bb35bef83ac61b653b8b9d29bde6b78b3e280a663f821ea83b643a4ebd3c78833e3981593f4d87743bf27215bdfb75683eeb28343f6ce7443bbdcd04bd3e0a473e4d10183ff17ffb3acd19b9bcedc31c3eaf97e63e01ee2e3accd7b7bc1069f33d387ea93ead49023bee3f82bca9d29f3d0454533e47333c3ae50e5abc8d14263d049ab63d55ee933ac42018bcb8dcad3b913518bcdfb370bd940359bb00000000000000000fcb91bdcde30bbb00000000000000002db456bdfe3f03bb0000000000000000eab14fbd21171dbb0000000000000000022327bdf206baba0000000000000000ff9235bda016383a00000000000000003b7f21bdeb86073b000000000000000033022fbd9ff6b13b000000000000000037d1fbbcf677833b000000000000000082f42c39b75b82b964548abadb74173c7298b0b6daf26239968f08ba18c9523c716c97ba403b893a8b14123b61da653c0160bbb936ae24390d3d3b3b6c99403c3ee31dba51f79839dc35663b11c4123c57dae4b9a6fec83905ef833bdad7f13be4fd2eba0cf1eeb885a6593be3a9893b8635bb385cbc21b9f79a303b50e89c3a4ecabeb8f3fd1eba9df1013aec52253ad899fcba7ddc2b3bf923913abd71b3bb74e16e3a13df873bdf67cf3a944439bb034a0a3a1dfc503ba82b3cb96e71cdbafd64ce3ac632193b38a0713991f068b9256d8d3a663fc63a3d947f3914acc938bca3503a99fdb23aa212b7ba2f32f6380b427ab9cfdacc3a870baa39c00d77b9de2ab8ba4fff1b3ac43119b9f54ea7ba5319e9bac841f238a13ddb39ea5aa2ba1c5a96bb58ade1bcd7ddfcbc403e453b9ea55bbcf43c6bbd4c3e13bdc462d13baf1c60bcdc476fbd82e402bd3d47aa3bd07069bc966852bdac57d3bca9a2813bf62041bc239e15bd30a09ebca2915e3b5f1242bc896ed3bcc6aa7dbc21dd803bce1c2fbc0d6033bcb1d632bce6f2603b47e608bcd08d823be595d7bb10f8993b4e5d30bb34957a3cbc8d65bb2ac3313b5c3eb43b69620fbd11dafc3d0bd2873f7252e43b23b219bd9546f13dafcd7d3fbb58773b53b8efbc481ee13df09d563f189b5e3bef89b9bc5c3ec43d66cf2e3f28f1063be09087bc72519f3daeeb053fede71a3be0445fbc30a8753d165cc23e8f75153bc9d728bcaceb1e3dcfc56f3e217d153b454f06bc7ceb863c0d75c63d50efe13aba83c0bb0750da39541c8abc737f59bd025a97bb0000000000000000943172bd577975bb0000000000000000e1b633bd89e69cbb0000000000000000ad271dbd4b18a5bb000000000000000057f608bdb56a7ebb0000000000000000dd1215bd61e1e9ba0000000000000000ef251ebdfc61153b00000000000000002d9f2abd277ba83b00000000000000003a0907bdb9aa6b3b000000000000000000000000000000000000000000000000d88d9cb979038cb71f31daba97dc2e3c2c3719b977a275396e1c21babe1d1c3c1845043a55fcf6b9f0330f3a4839043c5a4712bac008a7b826d6d53a8711cf3ba70b5fb988381739df12fc3a1681a53b0c465ab902350b39b6d2dd3ae6ac253ba3f1a8b80f18dfb9fecf993ad2da8c3a0000000000000000000000000000000000000000000000000000000000000000c67eb63a45df4f3bed6e183a1f4e0a3a2b03173b2b8f103b682bdf39a723fa3a72c7d53a3117033b787b7c3ad6918f3a94e6bc3abb40b53a9948c9386ebba13a7305af3a54e6973aca0fa13941b0973ae601b439fb7bdb3a93a4743a381f843ac15b07babc93bb3aaac7653ab8f5ef3900000000000000000000000000000000000000000000000000000000000000003cf941bc959c5cbdccceecbc7ec04d3ba5b23cbc8fb654bd1e0dc1bc6f2f473b78d111bc04f830bdf8749fbc6a351e3b26321ebc205905bdc79174bcebf7113bf81213bc4c33c2bcd3ff50bcf5302b3b8ece0fbcbd7a2dbcf9b2f1bb643b4a3ba2a407bccd55583b09e280bbff8a533b000000000000000000000000000000000000000000000000000000000000803fc8bc903b338295bc815adabb058e873f7f1d413b452059bc3659be3a50f6623ff1c2523b49a528bcb9c7953b3e0d393f943ece3a9865f1bb9aafb33bfe0b103fe2fbf63ab5ce9cbbdcbe9b3b653ad03ec0f90e3a3a4c71bb80ac13399119833e88049a3a48de24bbbeaa3fbbcd02dd3d00000000000000000000000000000000000000000000000000000000000000006a33debcd2a5eebb0000000000000000d16495bcc000c3bb000000000000000049877bbc67e5b3bb0000000000000000859c81bc455d8dbb0000000000000000929394bcbb0b38bb0000000000000000b249b8bc02831dbb0000000000000000cb48edbc4b14dbb700000000000000000000000000000000000000000000000000000000000000000000000000000000751d043a5405f2b8e38c213cc4368aba8b4894393797ea393f15123cb8650338e2f00eb73a8d603a296f053c9eb1c439248ac8b8616eb73acb6edc3bff5707b9cd2f5f3844906c3b86a49b3bec970bbb4f8218b9c592c73a44bc5d3babfa34bbc682e6b87eccdb3aa5d1183baf369cbb0000000000000000000000000000000000000000000000000000000000000000f81bcf39f7eb013b1aca9cba86ef8bbbd3d893b7787aa53a6df855badd737abbf7fd5b397333ad3a76b2a3b9d096cebac03c51b983d8663ad97263b89d5621bbfe883d39536eab3a98e725b9a38605bbe34b3fba8bb4793af7cca5b85b7ff1ba799a9ebae586a63a1826adb9d600a2ba0000000000000000000000000000000000000000000000000000000000000000f0ab85bc1ce2ccbc075e66bbbd087f3b17839dbce1fbaabc03ec1bbb17fb933b8d8f75bc159186bc04230dbb12cf0c3b622216bcc37d4abc1827e4babb35fa3ae5457dbbde6e24bcc55388ba10ff0f3bdf584b3bac59ddbb80f7e3ba4933e73a6314433c71859bbb174522bb91b9f63a0000000000000000000000000000000000000000000000000000803f00000000ad5608bc58d90ebced23773fd1ca84bb0ab5d8bb903c51bb42fa513fc79280bbd7d1b3bbcad944baf1fe2d3f1f6aaebb6e3989bbf050513a442b093f494b03bc3ea47abb4d98b73a5d8fcb3e15e144bc010833bb65db393a7066853e5bd181bc4d3229bbf9b590b7bb26013e5f5bacbc0000000000000000000000000000000000000000000000000000000000000000701780bc043b673b000000000000000074194dbc6b743a3b0000000000000000dd5732bc9645033b00000000000000003f0f10bcdc9e1f3b00000000000000004cfbe1bbfaf65f3b00000000000000006e63cbbbbf72563b000000000000000007b4b2bbdd668d3b00000000000000000000000000000000000000000000000027909dba48d9e4b95d3b4a3cc659cfbace4003ba1f651ebbcb727e3cf5ad99bad2db48bacb0e9437517f693cd656363a8aa5dbb91b10a23a9194513c90a89d39bc0462baccfe013bcca31b3cc7cd91bac55832ba03510e3b86b91b3cb897aabab9e654badcc0033b089ef73b7e1d56bbebd818ba443d843a3cb7ab3bcc05aabb2dfd00ba87e4283b3ba5693b31e7b6bb08952ebb1e8dd13a3daf64bb7fecc6bb76988aba73e52f3ba4af23bbc9d0c1bb998d40bb1c902f3b848f02bbf7ea9cbb3041f0ba5930cb3af3fae0baa16788bb1b6b1cbbc328be3aba39dfbac18543bb60aa16bb8295e53938d4a2ba380235bb7f9b2cbb6f6bb53af8dbd0baf4a327bb00d739bb7a9fcc3a7826f2bac0254cbbe36340bb1cf5cb3ad40112bbfd9d5138ef4f4eb92e33acbc6f3d1bbc0084573b258859bc10b9f3bc546409bcb5ad9d3b9f1c6bbc1ec5d2bcc16ddebb52a7933badc13bbc3428b2bc01dedebb77db4e3bcdd491bb5f4b73bc55c9d1bbdd6d193b4528e93a939148bc6103bbbb6079273b3ae4293cda3207bc3468b5bbff79113bf9dd963c7df0aabb418bbbbb532d233b3bc4b73cb1076abb03bebcbb6bcadc3ad3f9f0bbee72c7bc0108783fed61043e51ed01bc4b3acbbc3b5e613fcbede93dd51d00bc793774bc46cd403f4db2c83d5dc7eabb423422bc32381f3f0213a03d1a9ccabb2bc1c4bb31e0fa3e0bc2703d91449fbbce398fbb9fddbb3ea7cb153d9c3d8abbcd7cc3bb96ef773e3866733c435280bbbb24a0bbafedf63d82d6debb053d8bbb05e840bb99f3ce3bd7719bbcad7ebfbcf9d7083b0000000000000000f428e7bcf8df8f3b00000000000000001fadbcbc18c9dc3a00000000000000001c27aabc956f343b000000000000000030ae91bc5d58833b0000000000000000e44785bce123633b00000000000000003b936abcd1348c3b00000000000000001a2251bc6c5bba3b00000000000000003e3422bc76a68f3b0000000000000000c117b9ba6c7e0cbbeb0d433c50fdd9b9a828f6ba5af85ebb01af753c2ad6f73ada1139ba57a63fba1f965e3c085e003b0e64d5baf518a939a1136f3c119ad03aeec2cebae2228d3ac6d6403c3d393a3ab1bbb2baf86186398a2a4b3c60a194385a8678badfae143bc702083c35fd15bb4174a9baaa2c8f3a44aa043cde8c86bba43777bad0ccba3a7264ca3be8d485bb084090bb7a57c23a85aa73bb8e3fd4bb23f187bbe659633b0b7789bb9e03d0bb0c1b5ebbf6bf533a966613bb707eb8bb6e437bbbdf4df13a3aba5abbbfa591bb7e466dbbcbcda43a579c4bbb14fc4abb6365ccbb23ff323b957151bb20d03abb66243dbb3c56013b39d79abb665b0dbb9115aabb8aad0b3bf28a70bb49704abba8098bbb09e7983a8e6158bb7f619cba513eeb3bd3d475bc9c3165bc57001a3b44be2eb82530cabc4e167fbc72056e3b9ee95dbbb72faabcb5ea4fbc2bf33d3b314620bbd3f8a6bc644d4cbc3ce6343b93131e3b4b8d5bbc8bdd21bca61cc53a5406e83b307a45bc62fa27bc1d3a543b6afc423cf0c7c3bbc9991abc50243e3ae6c4b23c66cd3abba33722bc5b0d5e3bac09aa3cfa6f87ba762801bc3b8f9d3ab2c0b9bb797df7bc7220543f79eb883e4c0de9bbd53e0ebd67ba423fe9ce763e3278ecbbf9a5b7bcfd67243f4ee1513e3688dcbb8ea598bc54560b3f0a042d3e1332c1bb77ea48bc225ada3e8931053e345fc9bb5e4231bc87cca53e83c1ba3d946293bb844304bc36af5d3edc52603d4f7cafbb513110bcdc91ea3dd409893cbece9bbbdf1bb6bbb1a0633c4c4242bc83b3e3bc06de4c3a000000000000000054030dbd0e3ee63a00000000000000002c0dd8bc3779a53a000000000000000015c0e8bc3088d83a0000000000000000061db6bca6b9713a0000000000000000c6c6bbbc656a063b0000000000000000e529a6bc215d113b0000000000000000036ea8bcd82b933b000000000000000014a66dbce2477b3b0000000000000000420754bbe6c797ba5b404c3c5f769a3a5ff807bb60defdba4ed2763c99ff583b551217bbf6ce77ba7e77713c65e3833ba83c0cbb11d6b7b9eb08603cba013d3beb97f2ba2e84713a84cf583c88fe2f3b6fd1b3ba83cc4738432f4e3cc71a973a73fbf4ba67f9983a9dc1303cb43530bad761a8ba1af0993aba59203c7f0c19bb5fb4a1ba2883d83a6b49fd3bbd5516bbae68bbbb3c77bb3a99386bbb384cdabb1a7ab8bb997c263bad587bbbdc85febbd76fa8bb53ec093bb6f279bb3797bcbbb0e1bdbbd35e383a421c7ebb9d5c99bbf000aebb1cf4273b53f97bbbd3b95abb31fabfbba36b863a969944bbb09f8bbbd1f3c4bbcbcabf3a50a385bb70f95bbbcb3dcbbbd9acf93a39aa87bb1c004cbbe383adbb3d03483af9c776bb6a719aba31c1453ca0a427bc2a0b90bc9ecc773af19ce13bab9e96bc5d41aabc9fd72e3bb22e1d3b1bcba1bc81f495bc1de5153bb3d9123b5fb690bcfcd789bc0edb2e3b8f8ccf3be47350bc98f66abc4bb9a2399b0b163cd0dfcabb1be65bbca6f1863a5c8e803cd85844bb02424cbcec5dcf3aee92ae3c5489a13a419245bcd0ceaf3a3317a33c772d2f3b1f171fbc85191eb889098bbbc329fabcebff2f3f8f51cf3e4e6b9bbbfab315bdc97f213f49c7bc3edc5ab1bb5d5eebbc89d70b3f2ae9a13e667ebabb24a1abbc2743ea3e3f3b863e6e36bebb4d4b8fbcfea7ba3ea562513e3035dabbefb27bbc66eb8c3eeb891a3e5c64afbb391849bcc140403e6962bf3d010babbb645a2fbc38b1d13d8d2e253d7c83a8bb5213e1bb40de8b3cbd8bb9bb72f8f9bc60a5b8ba000000000000000083511fbd34dafbb9000000000000000092e30fbde0efffb90000000000000000026a06bd2f02d5390000000000000000ac8be2bc4a8496ba0000000000000000f5a7e8bc85a2fe390000000000000000da5ed9bc754b163b00000000000000001206d1bce3ed613b0000000000000000b5f493bcb98f0a3b00000000000000002c8c4fbbba2ba0bae071353c2e0a493b67bda1ba011d37bbddaa433c65a8a53bb80614bbd9c6b9ba51b64c3c68c8c33bc817fdbaa1387cb916b5603cea75d03bfc49bcba534824ba0ac71a3c4f129e3b500819bb75331e3af4f0433cc0604c3b8850d6ba5227643abe3e2b3c0a88a93ae311d1ba47f6513929bf1b3c4d3eaeba3bb8d4ba2dfe7c390b3e0f3c544b2abad1b8cebb0b37a93aa2aaa8bbf4abe3bba9ecd5bba362053bb33446bb562e14bc9f2cb3bb43269f3abda37abb82bab4bbb224afbb3a8f3c3a10898cbb000690bb2c08c5bb654fadb8407254bb113de4bafe57c8bb954f94b9107598bb4eab79bb4247c9bb4680963afe4f7fbbca3965bbdececbbb73bfc339308c90bb25fa84bbc885d3bb041d053a520c90bb02ba68bacfe2573c0cef8abb0245a5bc9f15edba360f333c549944bc7bd0c4bc0197ab3a34edbe3b0dd86bbc1c27a3bc9073c13939f6cd3bbd3f5abc776f9cbcebaf6e37d4ced23b0bb6aebbbc0b4bbc8125e9b95dc13b3ca16b93bbcfce7abc3c50d539fd69623c4b8f623a7b6954bcc8a5c239d6a89f3c47f4943b4e3545bcd5c492b99e76943c3b23d73b19fb29bc2d67fcb9b60232bb4d4df2bc99ec0b3fe89b0b3f2c6119bb3db513bdbf3a003fffa6fc3e5de980bb1566dcbc6194dc3e7429d83e4dec9dbb29a8c3bc5b7abb3ecadeb43ec1ff88bbb56b5dbc3d64913e3dfb8a3eaaf2b0bb258284bc6f4d663efa34523e7f2993bb4d224abc25e61b3e1a18073e3d94a6bb0f1443bccb5ab23dbbcd823d68e0a9bb4d570fbc36c7943c53fa29ba2281f1bc77a350bb00000000000000009be81fbd8d193fbb00000000000000000c0208bd2a934dbb00000000000000002dd409bd424f53bb000000000000000048f8ccbc993608bb00000000000000001ea2f9bc411784ba000000000000000047dbdebc8c2f8f3900000000000000002b73debcef741b3b00000000000000003d08a8bc47c4883a0000000000000000827bc4ba3d8af5baa6ae073cb17bc23b8b0f00bbeaa228bb636e2f3c2615083cff6ef9ba8a5ad7ba63be383c8be50e3c2cf421bbf8d25f3a35d7443cbb5ae23b6b9014bbe296aeb95a7d383c0011db3bbe1c3fbaac4d47ba8e142c3c0d9f963b1ba0cbba68c8efb8087a2c3c34dd413b29e898ba5ff98d39de16233ca8c88f3afd02aabaa736fb3ab5ff103c9b16403a367ed0bb078c443a1d5a41bb1ca6f0bb911cdfbbd58e223b242b5bbbe6a508bcc0fdc2bb5abdcb3abd9a80bbb8d4d1bb6bda93bb6e03073b58792abb416db0bba001c9bbfafdab39daed8cbbbc6394bb4a88cbbb1dcb9c3a9cf054bbe97aadbb6b03debb66849b3a9a4688bba86fa0bbede7f8bb30dc013b737687bb1b2b9dbbe791d2bbf404c039fd3a7ebba19775bb2883483c4a7a42bb55efb5bc72ed3aba2a26223cddeb4bbc72f7e4bc7b8d6c3ad011d33bb32977bc3390ccbc9203d63ae035d23bc68161bc1491b7bc9682753adc97ef3b4babf0bbfcac93bc3b8286b92e412b3ccfaa31bb2bba87bcef44b4380e34463c61b3913bee416fbcf690003969e07d3c94be253cdb5d64bc99e13d3afdf27b3cad00303c9ae12cbc60a618ba7bd18aba3853eebcd597d03e867e2f3f2a6c60ba949611bdf408c03e6146203f211300bb21d6efbce09ea73e81ac093f858560bb04f6c6bc56a48d3e88b3e33ea3c27fbbb83b9ebc835b643eece9b33e3faf43bb705a8fbc48f7303eceeb843e1ed376bba7d66cbc2d95f43db4022e3e61d787bbf7874fbca2b28c3dd824a93d5e8091bb92eb15bc7e828b3cffac153be3fa01bdbec2a3bb0000000000000000da5c27bdefbda6bb0000000000000000e2a617bdb254abbb00000000000000009a0710bd81846fbb000000000000000021ba00bda26a72bb00000000000000007fde04bd951718bb00000000000000009b9603bd94970eba0000000000000000422d04bd3ab8633a0000000000000000b89fbdbcafaba6390000000000000000889095ba6b9c0bbb3515b93b50d1013c653bbbba730929bb24c7f23bbc29323ca42369ba1e5a2abb8d200b3cd7b5273c853d59b936516fba6a5a023cb9772a3c0b4fd6ba349c6eba7f48093ce744f83bf4b3ccbaab8c77ba7e45193c47d5db3b3b8f04bb20ba743aeb9cff3b6f9b6b3b9c228b3aa9dbc8ba98c1033c0c254f3b12d128ba552f00396f99f13bf156763a3b68c7bb2b1ba33a30bf01bb2a00fdbb5a76bbbb36c6513b508a2bbb8e62ffbbb3a071bb82b39d39f81803bbbb08b8bbdaa994bb1ae0cb3af5f560bb869dc9bb848e95bb880a7d39ff644dbb261479bbfad3b0bbf9879f3a7ec969bbf3ec96bb0a17cfbbf1ee8c3a0d1e5bbb83a49abb3f21febbe021b73a956a70bb4381d3bb786dcfbb7270b83a36b827bbb20b80bbfe571d3cb00c4abbc47cc3bc27c165badf4f013cc2b75ebcdd1ef7bc6f97043a6288713bdbcc83bccce1bebc1575193a342f7e3b68f151bc882bbabc8ef1ea371e319f3b60b5cebb83ed8cbc92933eba8d01c83b5949a4ba3f8f89bc5f10103974beec3b75f6de3bb00d45bc6d553c3a693b283cecf25b3c666a43bc5decde3aebda323c39f86d3c724228bc6e6b793873d1a43abeefdcbca38d893e61b3533f85f9753aebbc04bdb40d7e3e5052413fa4310c3a2431c7bcaaf85c3e8c41233f9238dbba0848adbca5133d3e1e36093f0a8403bb467380bc9eaf173e5cd7d53e8ba41dbb362a80bc5846f03d1899a03e1ce520bbeae945bc6279a53d1456503e1a3828bb1c6255bc6144453d7685cc3d273b36bbafa00bbc327d563cb95c313bf4c1fabcbfccc2bb000000000000000060901dbd5089debb0000000000000000b535f7bc803cc5bb0000000000000000c52f01bdb27bcfbb0000000000000000dfb9ddbc464da1bb00000000000000007b3802bd73388bbb0000000000000000fa85f6bc73e4c0ba0000000000000000b85005bdec70c43a00000000000000000f59cdbc91d6e63900000000000000008b2342baca3c2cbb43ab0e3b8ef6283ce2523aba3cf62bbb54463f3bf871483c4dae5cbaf4e107bb29c3353bda444c3cf12212bb57dac7ba986ebc3be1bb373cc5879db8c85622bb67f5c33b62a10b3c3de37bba0799bdba1dc6ce3bdeb4ec3ba822c4ba1915a4baa98d9a3be0b0af3b4b2721387086e2b956cbe23b18fd813b9ea4d3b9632004ba58fed53b986cc33a7c9496bb890f013be020a4ba7ebcd4bbaeb16cbbd52a7d3b1a92a2ba52a6b8bbf3ed7dbb2fb7e33af8bef7ba32d67dbb287a6cbbd9c5823a899976bb14b958bbdf3445bb6a4f003b7a083fbb547490bbb24969bbdeb5c63ac8e716bb8ce98bbb2788c7bbfa4cfd3a563940bb00909fbb9c3fc5bb81fe253b485c95baf861dcbb4355b7bbff65f23a68ab05bbaf659fbb246fa53b24c0f7bb7158ccbcce0e4ebb678a303bb45b9fbc3085fabc98e7333a0afcf23a4af9a8bcb4b5d2bc2086313abcf9953a10c686bc6d01bebc3267b2ba2d10d53afe8d17bc427b8cbc58ce99ba79dddf3aa3df2cbbb41772bc19a2ddb97b1d8e3ade3bdb3b31ed41bc2bc1183a57d5483b698d6d3cbe4e2abc9faed63a8f47a13b317e913cd63ff6bba142bcba5bb1323be871bebc85be053e3afe773f08584d3be437d0bc7f67f93d4ab0603f54188a3a50bea5bc6c0add3d605f3f3f9614e338b8cd86bc7403c23d1a491e3feee987ba3c6a5cbcdf809f3d7361f83eceaf8bba1c803cbca7da793df9b5b83e152c6db9885619bc4eec2c3d8e67713eaa3d0ebb660a00bcf2c6cc3c560eea3d912ef1ba60aef1bbaa0c0f3c846e0d39f7e8cabc8b2505bc0000000000000000fbeef0bc68e609bc0000000000000000a93dc8bc0a1505bc00000000000000006062cabcf16befbb000000000000000086beb7bc6b7de6bb00000000000000006c36d3bc38e5babb0000000000000000f1afe9bc7eea6bbb00000000000000001ca704bdcd4b6eba00000000000000005a5cd0bcb15430ba0000000000000000000000000000000000000000000000006dd6b2b9ec8f0ebbd9211a39a158233c2fedb8b9fd6efdba549b773ae601103c9a149fba650e02bb6cdad53a5d97ff3b361781ba564bb3bacbe3273b47cdd13bef25e93983675db91d82243b27d59f3bbeb53db91730c1baf39f373b95766f3bd716fab9e06ab7babe5a593bc6ba173b000000000000000000000000000000000000000000000000000000000000000071489eba09e33a3b5a7d21babb733cbbbcc18db94645273bd18a3dba6a51dabaea6f93b9f075003b3fcdf0baa99d1bbb37b864babfc6603a6e3ea6ba320601bba5b7bcba4b75863afcdadbba94d147bb28e581bacc9e5c3ade3d4eba464b7fbb1d7068bb6adabf3ae6f92fbabdcf9bbb000000000000000000000000000000000000000000000000000000000000000082db1ebac18f9abc439fbbbce7749bba55cbdeba4342a0bcfe5a99bc159c33ba95fbf7bafe367cbcace176bc209b2eba208dcebadf3117bc51c83ebcd05eb7b9d2d3c0bacfe681bb61b31bbcd52513ba6d51d6ba06cc4d3bc6a6d7bb5b03813a4658bcb905d54b3cc2f3a3bb7fd1123a000000000000000000000000000000000000000000000000000000000000803fc0fa3c3b4b3a6ebc7bd88d3abaf6763f6b63cd3a409f32bcee3c9d3bd7cf513f55efc73aae091fbcd286bd3bda2f2d3f4277a239be5eddbb6f3ec93bdeed083f8252d4b90835bfbbbf0fc63b3f38cb3e8d4686394d8398bb4b09973b22bc843e35f753b9780ea3bb833f6c3bd626003e0000000000000000000000000000000000000000000000000000000000000000446354bc3ecb11bc00000000000000004c932dbc6b31f7bb0000000000000000009a26bc1bb1e8bb00000000000000000b3a40bc391fcabb00000000000000005d6475bc7769b5bb0000000000000000b1a98dbcf66b50bb000000000000000022e6b2bcd4c641bb0000000000000000000000000000000000000000000000000000000000000000000000000000000029610cbab60e8a3a66a82b3bec832fba0c518338bb6f2ab83f8e203bb2875cba273d4338595eb13ab0eeb63a1c4b48bab534aaba8447ca3afb52fb3aa9d40bbbab78853a0d008d3a5579e43a456f99ba55c1e8b90f1cc73aa1c0f439c112a8ba2e78d9b809d8153b12a1e93a86d9acba00000000000000000000000000000000000000000000000000000000000000007ac685ba5e7900ba0c74acba8e2c8e39c60061ba5ec50439b634a0ba53d47e3a55c3bfb996b7c9bada0b42ba24c4073ae8444ebafb0b88bad811a538ca16893ac1c4b7ba6592403ad0dc75386e94c1392f6541baf2a104395935423a232ec93a17862bba21c390bae09212bacfe2eb3a00000000000000000000000000000000000000000000000000000000000000009b58a43ac73119bba2cad4bad3823aba7f385c3ac2eff8baedd9b4baf5b772b95004a93a1be6aaba4e1e6dbabd2baabaf0afb43ab640aeba8aca92bae31a01ba45e4f23a397fc1ba39c9d8ba70de7d3a8df5383bbf75c4ba9e129dba73fa1b3aa1e4673b73ef51bafb837bba9dfc093a0000000000000000000000000000000000000000000000000000803f000000009ac4fbba36b8b3b9948d623f45e18d39d04cf5bad22fdd390455423fa69ec439a94cefba9001833978de213f0e9f9b399bab29bb46475d3a006a013f6e5488b95aa730baa03907b9c32dc23e0e693fba57ee1cbbf2d7fb399e3d823e7b6700bb50b6c0ba6cca643a7b99033ec69bceba0000000000000000000000000000000000000000000000000000000000000000832ff6ba9b1d3fba0000000000000000eff4ccbafd855eba0000000000000000e34bc0bae3d10cb70000000000000000025fc5ba63775bba000000000000000005e602bbc4d1533a0000000000000000fc7ee8ba4eceb8b90000000000000000d1cbd3bae75487b80000000000000000000000000000000000000000000000001fe220ba061eaf3af31f823b9a513dba381e60ba1291ce3ab2f98c3b33f931ba44d53dba6523263b7a3b6c3b863d2abafaed46ba8b02293b2d1da73b3877a0ba181006ba8e99f53aa959603bf81729ba517e3bba9789013ba43c633b7acd44ba6efe4a3889c2cc3ab4a6703bb5d73fbaaaadcdb95f901c3b63c64b3bd365c3baa215ccb9463bba3ac6ab053b3f268dbaaf9904bb0af783b9c07dcebafed59739dc6700bbf52000ba34710dbbfaaf65394f18aabac2a240ba95e6f7ba0482983ab600fabade1986b9bbe2bcba7b34893a31a5d9ba22ee4abab863c6bab1921a3a7d0468bb96bee3b93194e1bab625873ab716e0ba5e485aba254127bb7d6274baad3d08bb8a0d9abae5c1b3ba9884cc3acd1503bbcb695bba1e8b6dba00106c3abe99823b727bbbba0cd33abbe7a4ccba217f603b14db10bb54ef3ebb2ec197ba044c1a3b113513bb52041ebbf681c5bafd1a7e3b153919bba42038bba93d5dba35b14b3b4e4698ba85980abbfab771ba602b883b398475baaa9800bb14c10ebb904fa83b572533b9edb9f1bacd4a4bba2b3fb93b0f5c45baae290fbb165b56bac448943bee9215ba46081ebbb86514ba38578abbe8f3e0baa1fc623f4f84013eeeed44bbeaf4c5ba3460473f1cd2e33d40d03fbb98a620bb44482b3f2d75c23d50142bbb7cd42fb993d70e3f9037a13d3bcc25bb606cecb9a0fbe33ecca2813d153227bb3fb18236adadab3e5f8a423d8f8d6bbb5018f3bac405673e3655003dc1ea41bb772c88b9141aeb3dc4e8713c697de2baea1d46b97505793b99dc16baa8d65cbb0823c0ba0000000000000000284158bb3f4bb4ba0000000000000000f62828bb8da525bb000000000000000091355bbb91e0c8ba00000000000000004b7e2fbb304fa3ba00000000000000001f812dbb22634fbb0000000000000000ff0d13bbc4c383ba0000000000000000acc946bb21159fba000000000000000050cf13bb3cf339ba0000000000000000f01317bb94f1a83ac4bb7a3b12652e3a5c8f6db9c870223b43afc53b10ee5dbab0d421bb3149d83afbda883b50148c38b2e65cba2971e13ae0e99c3bae20163928468bbad3bd0d3b2c06833b0a6702ba308eb1ba5ecfec3a6b69873b65d402ba7c033dba7ac4d63a57864b3b1f9e21bab49096ba08d8fc3adf426a3be59886bad7a446b8c653a73a5375873bbe51bbb9f78614bbb9eda4bad0a184ba7567bb398c3956bb30e28bba681a56bb361b8b3a8a410cbb86d297bae2f954bb6c63323a5b1c25bba6ff9bba900a17bb5f47c63937102abb46f914ba29ae0dbbe781a43ac5d129bb8b9760ba44371ebb953d503accc9fdbaabeabeba2665d3ba2dd6643afc5031bbbafb94ba28c916bb647e883a4837ccba19bcb2ba257ea2bb930a773a2b0b923b0692ec3955ed48bbb65aebbacca9bb3bdf27a137995f98bb2f731dbb29577b3b90e443baced94fbbfd08dcba86dd863bb13344ba78a153bb235d04bb7729963b71dc4eba161137bb8397a9ba431fa23b7624b3b95c913fbb715bebbaafb8943bb7393fb9822319bbf2d381bad5c5c23b7475063bb03b4abbf88de9baaabb903ba93e373aa0e812bbf8b163ba4ba14bbbe36568bb6e81423f291d823e65fb7abb023b57bb406b2b3fa71c653e6a3377bb509e7cbaba81123f4c22433e097f58bb71c4c5ba8230f53e550e233e43c52dbba5974eba9b36c43e72d7013ec0b44fbb4a9864ba4309943e1a82c33d4c0826bbd7f206bafbb8453e99a5813d6df061bbfa0a7ebaf249cc3d96d8013d798bf6bac2e7d1b99dd8873b52e789baeadd32bb6bd505bb0000000000000000b8189bbbcf8549bb0000000000000000ecd547bb8dd90cbb0000000000000000eeea60bb50f11ebb0000000000000000de43abbb432bedba0000000000000000911a5ebb51d912bb0000000000000000a89c32bbbbd0cfba00000000000000002f2868bb3f9209bb00000000000000007cff1ebb57ad9dba0000000000000000c280bbba526c993a2e409b3b88c30d3af3c6c5baf566a23a4e1bad3bc03b463a8196ecbaeb27fe3aeff3ac3bd6a5fb391a7ae5ba04cd7b3a7964c73b8f510e3aa135d6ba17f82e3a1ec7b03bcaefb53921ce90bad906d53a62948a3bdfee43bac136f1ba1dfd143b23ae9e3b139b17b94c9507bb693f293b46379e3b53012bba2d1a7cba8b2deb3a9f516e3b490a45ba826b31bbc78213bb265d17bb709b24b929d635bbe500b0ba78b72cbb0d8bbbb9972b4bbbe83b9aba312134bb4e05a93a47ae4abba717e2ba8fa432bbc73f29b83fc73abb8b52d3bac51b2dbb842539baddda14bb37bf00bb87ca16bb8e5f013ad51734bb0ca5e8bae92216bbbc0c903a4a2a7ebbc20ba4b92a068dba8dbddf3a72c01fbbec6be2ba3f2f17bb74a6823a7440b03ba3b3c53967d970bb64d41ebbee93ae3b2e4944b7988a85bbd75331bbe110ab3bbd4380b947de8cbb6a823bbba6b9d03b8cb61b397dda80bba7fe39bba35cc03b4495bb398d3855bb5a3911bb3f87a93b8f176bb918f728bb39ab1cbbd851d23b2b39453a465f63bb4db422bbd20fec3b5530673a7a9681bb6a295dbb3e8ebe3b9923333a969537bb19f701bb225e2ebb3f7d2dbb1e3c223fc378c23ebab650bb8b9148bb40b80e3fe90aab3e620f4bbb02bf40bb4fb0f53eb6be923e596a5ebbcb2025bb8cb6cd3ec373753ed71d51bb713b1cbbbba2a43e4136443edb9256bb4120bcba76c8773e11a9123e7bca84bb6418aaba8369273e37bfc43d9dccefba4e8e78b9be66af3dec66483d0a2b41bbb53c70ba360db23b2e5abc3ae8cd64bbe38330bb0000000000000000835b84bbe91d3fbb0000000000000000aab886bb671261bb0000000000000000547782bbc2b756bb0000000000000000f5c75fbbf4b196bb000000000000000055ba30bb515817bb0000000000000000987a6bbb4d5c4dbb0000000000000000611289bb4f7966bb00000000000000003e5c3ebbff8ef7ba00000000000000007b7641bad0e74d3a15c0a13bd918813a19b7a3ba8705153b7e87d33b978ac83a6a9809bb310295b8d949b43bb992a73adc7b82ba7d0e053b0cb3cf3b663facb933f7f6ba3b092a3b6b5ea63b0b15003bd74d11bb631d103b6e64ca3bf7fa2c3abedf9db9faed083b102dab3bea6ef6b9b82e35bbda656c3b83ebd33b9c1d123aaf1bc7ba5e55f53a6c5e873bf35b01ba09ea14bbca0b1cbb5306f0ba3d1bc0ba2c8892bb485645b7144a25bb062d0c39974477bb591f4bbb011c3dbbe54e80ba7d8c5fbb1a09aeba3c8203bbe513ef39c00365bbfa2cd3baa46413bbf743d7b9242a44bb7347bfba99224ebb002f6cba33013dbb12c08fba4763b9ba0f89593ad5b785bb808fc6baf98b65bb5100c0bac5e242bb501319bb3d3cceba70813c3a5d46b73b70b2a43ad58451bb10d332bbb95ff83b89d152ba523284bb7254a4bb16b7653b6e5a8e3a58a344bbb91b68bb044ed83b6680b33a387f9ebba0334bbb5357ab3b5c78fe3a5a3057bb7cb764bb0b9ee43b41abe93ad36f6fbb27d94fbb3dcfd33b4030093a467b5ebbff240cbb8c50083c974e1b3b954a6dbb60f2a5bb6dd7be3bf69a4c3addf259bbba10dbba1395fdba475c75bbf9d5013f4ca8013f6c5f50bb3bc53fbbea5de53eaee3e43e8f5032bb2a1096ba4987c33e4691c33ecde399bb7a58ffba35c7a43e20a3a33e724449bb3a4207bb349a833e0ea2823e43cc73bb5e003dbb1a8a483e0f34453ef6aa06bbf3e552bace05073e3f5e023ecd9885bb30c539bbcfd68e3dd374883d93dff5ba362998ba382bbb3b8bc10d3bc5cb4ebb660917bb0000000000000000269db9bba4d48fbb00000000000000000ffe45bb3a5f07bb00000000000000004baa9ebb909a78bb0000000000000000b1e865bbd33c80bb0000000000000000b7d87fbb9468a7bb0000000000000000155187bb066e1fbb00000000000000002f8c84bbeb4b63bb0000000000000000f2d982bb0fcbe3ba000000000000000054a812ba2c4c673a63b0933b0311d73adf09c4ba5131a93ad4edc43b0cbd3c3be79a71bae807953a2a8ca93bd9ddd73a82990dbb7c20243aa6d8b53b814c583bb83088ba78c8ed3a3953bb3b8063053b5cadd6ba5b5afc3ac66d903bac4f0a3a2130c2ba197dc43a0063a43ba8fd0a3909219fba6fd0ca3a56fbd03b494dfa391790a1baee28cb3ae9378e3bd636393a944330bb34dec8ba5556f6ba63a634bad3e270bb08316bbb0d8230bb47e11cba1dd35fbbfef6eeba090200bb0196c5b956f948bba13bd7ba29085fbb868a62ba469a5cbb1a5eb9ba3db481bbdedeca394a1c59bbbe1ceaba4fe91fbbe724ad39b6343cbb50dba2ba410d31bb78fa6f38c3974cbb322818bb14c518bb5258b73943d02ebb3eb39eba1e0a12bbba71b739ae0a9d3b655ef13ad16a79bbf9ec30bbe4f2cc3b9edf103b61c7b2bb937fb3bb6e6cac3bf8a7b63a081a91bbd01b50bb8e59993b99ce3e3bf0fe8cbbb2f155bb26ebbe3bf29c073bb57e8abb348e39bb5326d73b0debc33a264f85bbdfc034bb3522c13bb183b23a8ead6abb4335f9ba41d0bc3bb3f41d3b6b1c64bb1bbb26bb11e5b53be1871d3b45d145bbd1b4e8ba368700bb40dd39bb35bac23e3203223f280460bb634f60bb6ee5ab3ec5c30e3fb72a20bb738b37bb41b4933ef2a3f43ecaf10abb2b47a3ba09b8763e27e7cb3e47c532bb923ae3ba4401473ef28aa33e51075cbb6d2bf7baa980173e8416753edc7539bb32e7ffbade75cc3d09d9243ef03841bb9536d1ba0649573d2e24a73d00282ebb7481bfba1cb8a83b10214b3bbfa352bb47e34dbb00000000000000002c38a6bb2b9f7cbb0000000000000000fb377ebb0e9f79bb0000000000000000d43382bb8c686dbb000000000000000068e58cbb943658bb0000000000000000f1178fbb46e354bb00000000000000007f458ebb3bb832bb00000000000000001da28abbf65b3bbb0000000000000000b2bf69bb9b342ebb0000000000000000e8f848ba258f8d3a57ea4f3b229e0e3b8ffec0ba87dcd4395285c73ba24d143b4d148eba678b073ac2eb653bd719ec3ad27561bab873803a9a2b8c3b1e49003ba0934fbacc834a3a9b1d983b527bcb3a9c3b9cba5713983acce8883bdff0b63ad62055ba80ee933a154d813be4d6be3a3451fbba4f08123b91b7a93bc1a6813968e4feb9fa769e398c17663be5dfcf3a0bd9aaba78e2d0baec59c4bad959e5b97ffb3ebb0ce20fbb530515bb17ac80babe5007bbd38bcfba5190e4ba8cd916bafa8f30bba656f9ba2c6a08bbdc0eeab9abc138bb3bf8e3ba8d8704bb078f13ba62413bbb36b7cebae1ee12bb398bf0b71493cfbac31d49bb6863fdba1657ca389cee62bb1531a3ba6b7f4abbb84786ba9adc3cbb593be1ba88f300bb3ae5733af5a3493bc356e63a73953abb2b1453bb4190cd3b3ed7d83a17e897bbf9774fbbf346593b285c993a94a358bb69161abbd614873bc6adba3a02437fbb32b529bb08528d3b7274e13a7d8d52bbe9012cbb12388c3b495e093ba2426abb8cd02abb61a58c3b61242e3bda3603bbcc6c5cbb1bf7c63be7c68d3bb15a79bb986c36bb843d8e3b72f5563bdf0f57bba7cd0cbbb3e8babaa51e1ebb7058813e453d423f86971abb8ecb50bbd919653e9be32a3fd7caf0ba33430cbb0954443e8c25123f572f18bbc3790cbb227f253e6079f43e3d7516bb2ea7f1baa77e043e047dc33e815b2bbbd0f4e8ba7ed3ca3df721933e4bf419bbcb66c6baa7d1883dff59443e9f6165bb84f232bba0a5173d4678ca3d7f7317bb536587ba21e5693b8607633b2ef720bb7f3c00bb0000000000000000621171bbe1977abb00000000000000003eb32dbb461b3fbb0000000000000000e00964bbf2f057bb0000000000000000b14e46bbf75c47bb0000000000000000548a6cbb5a2750bb0000000000000000353d23bbef23e0ba0000000000000000b5d49dbb4eed6bbb00000000000000000a9a86bba7d03dbb0000000000000000ef036eba0278bb396c1f413b5c43de3ac16286ba4e33883907fd4b3b965d0d3b926d1bbb37b2623aa6dc983b34afd6399bb357ba221d083a08e7693b0bdd0b3bf23283ba3202e139e780503b33b8c43a5006c7bad269d4b95d3f913b762ff43a3198ffb9b90c9939f7fa313bb27ef53a765f6eba5626163adbc7773b3c97b73af9d176baf680e73993aa6b3b76c0ae3a5b6211bbb310bdbabdf0dcbab8265abaea551dbb8df0b5ba475dd1baec8898ba014e56bbdb8af5b897439bbace0a12ba440b05bb13ae13bbf1a4cfbaeb7fd2b9a51c11bb9963e3ba86b2b0bac36ae3b9b15502bbb3051ebb2f5bf4ba877b8aba9b670abbf305a7bad06074ba349e1aba56762cbbc0d6fdbae815dabaef3102bacb8505bbb5b2beba744b14bbab2a1abaf17d593b317cdb3a3cc675bb0e6322bb3032533b0d779a3aa6b695bbdcbd23bb9c7c793bff53383a48e6a6bbc2cadbba8eda5c3b5634983a0c8461bb5c8e31bb5a8a473b776ea53a24954ebb756b10bb9276243b7df22d3b208e30bb873c83bbe63f453b6166603b27611bbb47042bbb4b09843bc6786f3bf9db30bb49d121bb8a1b803bcf516b3bfe7804bbc834ceba08217abab69cfeba24b0023ea7c2623f8764dcbaed2f3ebb1f05e63d8159473f104254bbf7a8daba4c69c83d36f92a3f352ba6ba5aabd9ba85cba73d7d6b0e3fbef1c8bacc9dd5ba89dd863d6876e33e3ea30abb270014bb57124b3d5a74ab3e90f05ebb7e9cd1ba4ed90b3de893653ec95b06bb2f06eebae7189b3cbdf5e73d747c1dbbf25203bbb30a603b0794543b6cc02fbb727b44bb0000000000000000f9603fbbc8185bbb0000000000000000ba407fbb9fe311bb000000000000000046e71cbb827258bb0000000000000000ba1a33bb8be53ebb0000000000000000b8d632bbeb7540bb0000000000000000f3d037bbeb3c53bb000000000000000047a873bb3a7952bb0000000000000000eacd48bbbb130bbb000000000000000000000000000000000000000000000000910d17bb18606b38ab37153b1dbd383b930067baade588ba38250d3b95fcff3ae5b5a2baef4725b971c8d33a5ec1873ab7fa05ba25632237895af83a2c97e23ae6c803bbfafee0382fbc003ba6894d3a219a68baad105b39e13c773aed48ba3a4c624cba2dbbe338b0d2073bdb21953a0000000000000000000000000000000000000000000000000000000000000000a5d63dbb9ae7e4ba1ea62dbb17b14bba5f28e638e478aeba83f19aba5664a3bafe9b13bb657659ba0a26d2ba9cd483bac83d88b9efe24eba043b50ba039bf3b92b3492ba162956ba002ae8b9e6e68cb98037b2ba9126a5baa2319abaf8da09ba88b6aebaadf65fba33d189baca5aedb90000000000000000000000000000000000000000000000000000000000000000e011e93a0e7aab3ae190a0bb6c0782bba624d2b878f04b3a0bac49bb901bb2baf6ddae3a208e3d380f6748bb2d41d4ba7932c43a034f8a3a6e3f8ebaecf31abb64e7e73a2938b63a2eb8f8ba483ea2ba9acaf03a326c273b1c6e98ba91a8a7bac297063bfe3f353be119bcba8c63abba000000000000000000000000000000000000000000000000000000000000803fbf590fbabc43dfba8566a93a7ecd623f30115abad51bdbba3bdc7f39ce4d423f63c7ff396b77b1ba1795a63a4dbb213f546283ba8f8685ba4bded43a8253013fb2f7a9b91ca939ba1147033bd02cc23ed82aa8ba925e86ba57f5e93afdcb803e0e5599baa795a3ba207bbf3a8d93023e0000000000000000000000000000000000000000000000000000000000000000400451baf2f814bb0000000000000000c00c9fbac3a7acba0000000000000000510bd5ba8f55bbba0000000000000000ce1c48baa15f3bbb00000000000000003d22e7babfde80bb0000000000000000bf74faba42af04bb000000000000000058801bbb23ef00bb00000000000000000000000000000000000000000000000000000000000000000000000000000000c071f0b91c417f3b6f3f953cc3f1053c1196073aae1a993bef3a6a3c2c0d283c4dcb253a61dc603b9845393ceca90e3b6af69f3a656e513bd9e9fe3b36e7a93bd803ce3a74ab313b6d1f8f3b9c572a3b43dc49b91aa58a3b7fd9d53ab1225b3be8bb1cba1e58483b2c42d8baf21e973a0000000000000000000000000000000000000000000000000000000000000000166b2f3bb57115bbb522b53b3348cabcd193423be58b3ebbb245803bd961cfbc8c5f7a3b51770eba5c98563be4e6ccbc12995f3b018a9cba3d4f0a3b1703d2bcdb6b8f3bed578bba940f30394af6a7bc703c1e3bfc8372ba5f64913ad73776bcb457133b99214dba67fc033b0eea06bc00000000000000000000000000000000000000000000000000000000000000008fc902be4fc418bd53a24f3cff3536bbad1ef6bd1ed715bd36340d3c474a29baa4dac8bdcd160ebdd363ab3bd36ea739d1ff9ebd7de4f4bc8df7b03ba793a7387ccf60bd598ab6bce2ff213b20a4d6b914b813bdb5b762bc7e741f3b17dc6abab68629bcd0ab93bb967c433b0cbe39ba0000000000000000000000000000000000000000000000000000803f000000001f73f63b8ae277bd55519d3fe2b550bd3e41863b59fdf9bc14bb823f4970edbc9d9e1e3bbce961bcebf7523fd64990bc086c703b32f9d4bbe9f5203f154f89bcc42e6f3be1eab7bbec9cdf3e20f3abbcac1c7c3b4139d7bb40947d3ebc8db6bc30ea2b3b17014bbcb0b08b3db1c8f8bc00000000000000000000000000000000000000000000000000000000000000006b5db4bbfd37613b00000000000000001d9288bbe31d1a3b0000000000000000a51ecebb29b4203b00000000000000001ee378bb8d8e1cb80000000000000000eba1e73a5995dab800000000000000003c38a93b9212a0ba0000000000000000024c1f3c26ad29bb000000000000000000000000000000000000000000000000cee5d43a3a5047bb6427833c0fe1193b03aac8386b0d893b81b2b73cf0ea3a3ccb98a43acf398a3b70d6b63c3adf233c21294a3b99ea903b3254973ca6ba263cbc4a213b417c363ba8b8593c0ac48b3bce990b3bcc82453b5b1d223c86f89e3b0f7fe539fb52413b61acc83b06ee753bd1dc91ba5cba7b3ba145abb9346b533bda96c1babc57e3387d7dcbba36e614ba46def43a4e0204bbc1a9073ce917e4bc8e6fb839bc8242bb59831e3c98ddecbc3f898c3b78cd2fbb2d2cf23bb63e0fbd4826e23bea0a26bbaf6eb63b4d2b21bdfe5b7e3ba78a44baf4dc573b5684f9bcd025883b1068b9ba3e0b8e3bca40e2bc43da443bc127cebab838913bc68fa9bc0b47073ac95252ba4c3f3d3b0fcd33bcc41e193be8e89fba91bf783b2591b7bb838184bd4938f8bce7f2933bf0bc4dba15be03beb31022bd83ce133ce7bac1395c0805be9a9d50bd02d5ec3b7ce015baae0de0bd448f4ebd6790533adc0295b8a23aa9bdcf342dbdee90583bb2e7793a486b7dbd25c503bd1108223ba3a787394ebb17bd1c95a4bc348df23ae930ae3a011823bc45edc5bb1b47043b2bfec8ba3f037d3c1d463ebaa422c53a83ea6ab8b26c513c5ce6f9bd93a69d3f3faba73dbd868f3cbc3101beff24973fb6a58f3dfd852e3c462dabbd8706823fdc139b3d2305fd3b256366bd5c7c523f46f9883d95f5a33bfa9827bdda8c1e3f0b734d3db1e7d93bf98e0ebdf6bfdb3e14d8f03ce93afc3b1ac100bd54ad773ea63d093c4332383c67ebf1bc9c4b863df83422bc66a70d3c0ae9e6bc010954bded65f3bc348d00bdebc4043c00000000000000000ddddebcb2cf893b0000000000000000eabddebce48bba3b00000000000000000cd79abcbae26f3b0000000000000000599288bc1432123b0000000000000000e76e51bc6d2d013b00000000000000004e65c7bbb20b4cba0000000000000000c8c9313b224de8b80000000000000000341d3f3bb1f43ab80000000000000000b7d5b23a4afcb0bbe7e2653c1c85e63a2153f53a2c01a4babe5d993ced08da3b33782f3b37e20ebb2baf8f3ca805be3b5422333b8075bab94fc6873cb2c9dd3b245d483b1fe2debac0d6493cdd966a3bebc50c3b9ce9083a5491133c2566693bf8d5bb3a4fb109b92031aa3bddbb493ab3913db9c1a08638c1b80c3b4d89993a5cc853b98bed02bbd3fa46baf61e28ba7fbe763ae6e163b98d4f1c3c30f7ffbca3688e3b4c4d2bbbcca43f3cedfc16bde169733b5e7f51ba4f3cfe3b1aed06bda231ad3bdeb9b8bafcafe63bf24a09bd25f05f3bac0800ba3d59a53bb95ae9bc1179923bfbf754ba0d6a8f3bde50d9bca60e1a3ba5629dba1d7b9e3b1e6a9abcd3441a3b452cafba00b5b03bac1b5abcedb10f3ad06fa9ba23a1403b7732c9bb5068f7bc0372cdbc03b208bca565563bc1f6abbd46c24cbda59b5cbb7d49573bec6ba0bd02025dbdebbcdabb0101783be294adbdcea36bbdf98c80bb277c683b9f3c71bd95fc34bd129785bb532c523be5223ebd15d91abd8ece48bbd4c9523bd7eebdbc4af7bfbc73afaabaaf44293b0376a4bbc35047bc1ff3df3a321d783a78d8773cb0782bba6d5bbe3ac1f85a3a956a4f3cf44df8bdd865833fe868853ede37943c449a09becab3823f3ece793e861a2e3c49e9b4bda78e583f05d6633ed9602f3c40dfa0bd59a33a3f6fed3a3e4b920c3c588c6abd72990b3fccec0c3e2df8223cef7250bd20b7c83ecb9dc23dc30f043cfac523bde65a6f3efb89503dd153463c89d92abdc6b0ad3d5f389d3bfd68113c35a805bd20e1b0bc0681b1bc1a135dbd939ef33b0000000000000000ce4c75bd98ff2b3c0000000000000000203241bd993cd63b0000000000000000538531bd2ea3db3b0000000000000000261406bddc68673b00000000000000007dcbe7bcaa47533b00000000000000005c37b3bcc813763b0000000000000000aa4262bc7f015a3b0000000000000000ac091abcdc289d3b000000000000000038604e3b4db7d0bb5f41473c99f9ff3aac27523b36958abbf30d803c4cc9b83b8c10673b875b5dbba3ab8d3c9ea0fd3b8a07123bb133c8bafb4b6e3c0662db3ba1ae703bbe1ccbbaa676443c9a2c823b872d3d3b1ba42bbb9fc0173c83ac433bb031773a587c20ba8fd9b03b98cd213bfb31f13a0d4827bb05b0453b791c35bae61c843a2f3d54bb5b590d3b783972ba4fe7a037c8d3503a9064ec3b578501bdeb8f833bc8a81bba47c62c3c85fb10bd84eb993b42f4d5b845e6033ce71c09bdf58e8a3bc9f4b5b847bcea3b16d1f8bc16b24c3b3bd5b43a4fe19c3b5421e2bcb361563bbc07be39f240bd3b3314bdbc08fa503b9bebe8ba57a09f3b454692bc9247c23af12ac1ba4620943be4ad4abc96df9d39701c61b9055f783b60cce0bb473339bc9731d1bceb5c9cbc4cefa43b3f255fbd65e265bd9c3788bc527ede3b35dd8ebd5d3988bd33e273bc5c2eb83b6f1984bd1f8e81bddceb5fbc6c32b43bed7151bd05c758bda8a040bc9cfeaa3bf9bd19bd199927bd6e2010bcff7b8b3bc3d6b0bcb0cbe1bce07273bb8eae8c3b115984bbcd2638bc9bc7a237c2a12c3b87ea353ccb3a95baabb62ab98b51203b365c203c1c3cdbbda678553fa687e43e6aad7d3c278ffbbd065a543f572ddc3ea0de583c7bf8c8bd40443b3f09cbc13ec99b2b3cd02ba0bddf1d1a3fb0739f3eaf7e143c4e0a7ebd7bd6f03ef73b763e39f1123c52625bbd5003ac3e2f7d293eb1b8223c4e1b43bd99c3523e4b53bc3d47a63a3cff2930bd82bdb13d8996cf3cdd6aea3b113106bd046ba8b942fea9bc532d95bd786e103c000000000000000044f3acbdf41f4c3c0000000000000000c39893bded6f1a3c00000000000000001f6975bd83a10a3c00000000000000007bf752bdcbf7ce3b0000000000000000ab8631bdba2fd93b0000000000000000f0a914bd10aedc3b0000000000000000a74febbc2884f63b0000000000000000b6adb4bc3e34cc3b000000000000000063302a3be75ab3bb40bb0a3cccec6e3b9ae85f3b23793fbb2d1d263c8bc0f13b3bf20e3b61b3d6bae31c523c743afe3b5a804e3b60a10dbbbd7c493cea73ea3b5f3ab03ab6c7bbba18d61b3cdce8133b768c123b162b86baba14123cbd600c3b1a38953a5796e6bae93ea93bd5ae1a3b2f53233ad9ec0bbbcc4d873b4ac5c5ba8f749539780b51bb0ebb803b517a53bb19871fbb1ee3103b9093b13bfd84ecbc2826323b6777c13949a2ed3b4f4803bdd9093f3b9e8a1b3abdc1ab3b68c9dcbc5bee4d3ba6e72d3b0384b33b8517d4bc31d4053b400b7f3a7dbf373b4fb2a4bcc706e53ae358683acdf17e3b9636a9bcd9a4603aeea3863948aa7c3b351d67bc84170b3bbddaaeba7dcb8e3bcbfe25bc7c2898b9fd86a83868dd9e3b8ccbd6bb86333db9c966ccbcf7b9debcbc12e43b05160cbdf83a76bd887bdebc9838283ccb8944bd1b1f8ebd7de7c5bcea06053c0f6c49bd27578ebd627fbcbc7a83003c88fafabca59734bd8ff289bcaf029b3b2b2704bdbe6135bdc78a62bc06d6eb3b898693bc6732c7bcf4ba05bc95a5b73b499ab7bbc76a1fbc43ed28bba6b3643bf9dcec3b9192283b243116ba45313b3b6c3c0a3c35eab9bd48c6233f8a10233fc9d5533c3d5fcdbda0b0203f4c471e3fbfa4293c0fb49ebd492a0d3f19ad083f028e033c30b28ebd39ecf13e207ce43eb135963b762332bdf1b2b33ebaa9a63ec43d0f3c56b34dbdc9228c3eb200743ef52f003c548124bda5aa2c3e17f70b3ef61a083c27e919bd7cfea03d0771393dd275e03bf852fdbc0ecfd93b11cba5bcbeb0b8bd824b073c0000000000000000165ed5bd4955593c00000000000000006724aabd0c78293c0000000000000000f8e399bd827f023c00000000000000003dd956bde5088e3b0000000000000000263868bdf375183c0000000000000000d96d44bd3a64eb3b000000000000000032fd24bd050d383c00000000000000005315febc3449043c0000000000000000bdc60c3bcab79bbb1cc4d63bc4fac83bd7a4db3a80bc83ba3002083c5157173cededb03a8d4103ba2f032d3cac983d3c4b24293bc7e29bba2690193c0431193caa49053b653f8fba51960b3c5bb8d73bd62fe03a6f7a9eba82d4003c7df58b3bd8b87b3a6cd313bafda3e13b8081073a81774fbaa686b4b991c48b3b299ed8ba9cc6023a73aeedba75c32d3bdcfa11bb5b338aba5647993a49c69a3bb879c1bc2ed6a03bc93c8b38237fe03bb179c1bce0e9953b7ed8e439f6c9b63bd4acafbcb7eaa73b4160903ae788663b677e9bbc0d0e043b9f902f3bf14f6f3b6a4d93bc8c0d713bcc094c3a8d66773b716863bc4b44083b5f0d1abacfdf803b8e4639bcc615b03a449101bb3d438a3b2e33e9bb121892ba245267ba0457333b978683bb8a50d6b9c3baffbc437b02bddaf3143c9495f2bcbe8a9fbd3fc305bd67e2423c8b002fbdfdf8b6bd16d402bda2d1423c9a5b2fbd9477a3bd752cdebcfee2ff3b88f31bbd37c086bde93cc0bc0e25ee3bfd8cffbce6f344bd969587bc4adec83bd570b2bcf50df8bc035910bc3035a63bf9432ebc324f0dbc37321cbbbd4f8f3bd54a193bba24bf3baa688fbaf62f9b3bec29043c0d8c97bd1d33e63e9438543fe21a4e3cf112acbdcb09e33e7988513f0a18273cafa28ebd0b6ccc3e90a3363fa01d0b3c18a168bdffcaad3eb42b143f993ee03b2c8e43bd299c8c3ed357e23ebb3ae73b56982bbd4fb8503e1a1f9d3e9fa5ea3bfba012bddf79053e7b96333e223bf83bbc9cfebced6b7c3d5e056a3d70f5843b6d73c5bc6930ee3b5538c0bc267ed7bdc2b2213c00000000000000006813ffbd71317d3c0000000000000000150ad4bdeba1403c0000000000000000cd7baebd35fe293c0000000000000000091d95bdefc60f3c0000000000000000799582bdde0c1b3c0000000000000000d75c63bd86e0353c00000000000000008ab543bdc4eb593c0000000000000000a3dc16bda7fd253c00000000000000005c72e6381c9f84bafc20843bc20f0b3c435b153ae2d2683ac7cbad3b78ed6d3c6442c63a7499c4b9081ee83b832b593cbb4ac1390edad93a927a0b3ce63f453c6531afb9dc29ed3a31aebf3b7f21093c4971ed3a5ef6e539c764023c9c2e563bb2c222babaa4e1380318813bc7dcbd3b3f5800ba49dab8b7e227a93ba45c18bb82b23eba40cabebadbe3563be27426bb9001a33ae27f84b76fbd423bf76d59bc84a1033c70b35bbb86369b3b7ecc59bcceadb93b80f880b918c6483bc45045bca82caf3ba4a4ad3afae65d3b323a4fbc6ed98e3b999d4a3acc1b5f3b1b4523bc4e228f3bb9b994b94d13da3a235926bc94e5c839b38b2ab9f8c4663b7f7cccbb6623293b20e225bbd5802d3bf45d38bb7c66203a3e0702bb37ef2f3bafd35fbadf31aebb808841bde3e104bd66d84c3c7955d9bcf460cfbde1520bbd4f076d3c0c630cbda76fc1bd49520bbdac19283c043421bdf0cec8bd029b06bdc83e323cfe4c0abd045a8ebd7adbd6bc101ae63bf1c0fbbc47f064bd076fa0bc033f023c62f3acbc65b2f6bc3bb53fbc8005aa3b74e759bce3d71dbce05099ba188a253b66a295ba5943fc3b4127843afd602d3bbe03ea3b2dad5ebd5af1853ef321833f661a2f3ce5c475bde6ae823e2b94813ff77bf53b36c23cbddc19753ebdc3553f506ef43b9d262dbd7742573ec8c7353fa2e59d3beca901bdc31a2f3ecda5063f2233c73bf687f0bc6767053e7345bd3e63de863bd108bfbc2a53ac3d863a593ef306993ba8caa4bc7a371b3ddc967a3debc46c3bc43278bcd8197539775415bd36b1f2bd35c4453c0000000000000000e7d40cbeddda923c0000000000000000cc67c2bd641d253c0000000000000000c18cb8bd739c293c000000000000000093288abd39a6fd3b00000000000000009ca685bdaec5273c00000000000000000b3157bdb3c3243c0000000000000000c84142bd9e0f7a3c000000000000000022ee13bd68b0483c0000000000000000c9bee4b84757713ab7e698392cdf593ca41517bb47a48d3b2b56ad3b4937b03c15f235ba973c4e3b3613f13bfa2ea03c1f099939df2f7c3beea7c33bef32813ca44f5d3adc5b363bfb38c53b2b9d263cfe1da4ba102d123be8dfce3b3668e63b21e7d3b9c23e143b4ebfe33bf000633b99f9beba9736c43a69dcb73b5683dfba95b882ba0b3f6b3916454b3b918d62bbf9d78d3b033358bb8b75d83a32b872bb57eb4d3c8dffd6bbb7f25e3a5e46533ac074323c49a714bb76688b3a8283f0ba2603253c315b79ba9ddd953906bc38bbb8f0bf3bc3f9c13ab0bef239a52a85bb3243e63bdefb3d390ccb3f3b3d4d7bbbb079893b02fc90ba0b34923a302685ba8ebba13b20d07ebbba2f8fb87196cb3ac09fca3921cc0cbbde7da63a07660c3b6a7538bc686997bd92eef1bcf7083a3c243fe2bcb3530ebec35ee3bcb9ad6f3cecd910bdae260ebe58500bbd87d0383c77c51cbd4327f0bdf49b0abd2a61173c76b10dbd1f31b4bd6933f5bc1d0ede3b191cfdbc2f3386bd9e98abbc961d6f3bec8cc9bcce3d24bdffde2cbcfff5653b15b46cbc7a0641bca52e983a4f088bbae56ac1bb9342543ccaed4a3b7578cb3a7f28d93b5d5f03bdc280a83d773a9d3f40a2cd3bf315e7bcca7ba23d3b98963f4031b43b9771cfbc0519b93d4214813f6c3c863bb339aabc0302b93d65834f3fc378393bb05386bce0f2a13d1dcc1b3f9441423a75d151bce7ff783d8b0ad33e58b00a3baeec33bc8e36173d69be6a3e72c4313bff14a5bbf990423ca7ac563dc31c473a9927aebb65c918bc56e87bbdde85f9bdb815523c000000000000000018f404be4c1b8f3c00000000000000008239bebd5e9e1b3c0000000000000000748692bd750af03b000000000000000048dc67bd15b2f53b0000000000000000fc404bbd4f59113c000000000000000070ac39bd187e1d3c000000000000000002890abddd54723c00000000000000002adb11bd480d423c000000000000000000000000000000000000000000000000520160ba48e7793b5493e83ae1fe8a3c8bf899ba9fa7863b1406353b085c763c254690bae91b763b2828eb3ac8573d3c222849b871b8953b948cd33a6ef8063c82165e3a37feb6b8f8d2773be565bb3b869b8dbab1615c3b175b153b24f4eb3a36c5a4ba0012c23af8216f3b726539ba0000000000000000000000000000000000000000000000000000000000000000c24d313c9d2d98bba130c8ba8a3cba3b2bca213ce6e039ba758394baa512923beb49ce3badea7d3a4a72a4ba73a72e3ba1c1b73bd6988c3a5b94c8baa1d3013a7397fb3ad691b63a91c698ba6530983bdfc7893b63dbdcb90a8c10ba8b143f3beb2d5e3b4eccb3ba2ef32639f9ec3d3b00000000000000000000000000000000000000000000000000000000000000007dfae1bc776e02be0464e6bca1940b3c0e9debbccdecf5bd075ef4bca7f5b83b3551e7bc2ff3c9bdf992f7bcb49f5b3b7a50ecbc63e89cbd39dfcebcc9b8303b8e2eccbc675965bde66778bced1af33a23b9a2bcf07e17bdb6cf28bc6edfd43a944a63bcb4812ebce3babfba550d9fb9000000000000000000000000000000000000000000000000000000000000803f7364403b78579fbb275838bd8b6e9d3fc2ed2d3bbee143bbd6658dbca27c823f6cf1373ba6e88ebbfac66ebbb54b533fcfdaf03a448462ba4e1dda3ae5e8203f69a5b13ae01743bb8ef34a3b1597df3e9a87dbb900e4083b78c03bbb83517d3ee1fd85ba2bb0883bdb5334bcec588a3d00000000000000000000000000000000000000000000000000000000000000007cc888bdfc92d23b000000000000000092a526bdb6667b3b000000000000000073d9e6bc1f14243b0000000000000000020dbdbcafd9013a00000000000000001da4d0bce0e4a63a0000000000000000d7c8afbc55e9973b0000000000000000291bd0bcad179c3b00000000000000000000000000000000000000000000000000000000000000000000000000000000d326383b882d43bb33c2243c0a99a73bd830003b0f91cdba891e053cba0cba3bde19253bdd58f1ba58d2dc3b23a60f3b31ccba3a6cd609bb9e25993b2601d03af380003af747ed38b2dae33a11787c3a1e9f9a3a63ae003a0b9429ba473e1f3bda31f6396d4fe03aadd0d0ba60abc23a00000000000000000000000000000000000000000000000000000000000000001005cf3b03a209bb00f26d3be5a7c8bcba86b03bf608edba9e40803b3860babc887ac53bb3cba8ba13520e3bae23bdbc4f40cf3bf9b1f2ba9d19ed3a4642a9bc5a49913b1366a5ba94fe213ba5ec9bbc68808c3b7b0a78ba5bfb2d3bec558abc1c4e1b3bfe109bba8806573b428859bc0000000000000000000000000000000000000000000000000000000000000000b306a9bd81bd35bda7a11d3cd4111abbe2eca8bdf6271bbd51e4193c7a4a10bbf2eb8bbd188517bd85f7c83b183a03bb2f8059bd0ec8ffbc6e95ac3b498a53baf57e22bd2a14bebc9dd0b83b66468cbae6e1d2bc25e363bc7af8b23b26fa31bbef7e27bc2584d2bbfc79c33bca96a2ba0000000000000000000000000000000000000000000000000000803f000000003ac06a3b4ae12bbd642f943f633c17bd5caa393b1c81acbc846f783f3c8acfbc63f0ca3acbba32bc060f4b3fd184bcbc5904c13abe12bbbbb6d31d3fc052c3bc4731023be23394bbedade23ee101dfbc7d77103bec6ccfbb74c2893e5b8905bde2363d3b2fee5cbc9bf1d43d66ec24bd0000000000000000000000000000000000000000000000000000000000000000e6b293bb4e16073b000000000000000017f848bb5c5fcc3a0000000000000000cbfb3fbb942ff23a0000000000000000955562ba34b05a3a0000000000000000325999391e421a3a00000000000000005ff96a3b05d31a370000000000000000cacaf23b8d66bdba000000000000000000000000000000000000000000000000168aa63b074347bc4ed8913cec2f7bbb99b8bd3bdea705bca014a13c7f03a63bfc8ba23b84df06bc251a9d3c7423463bd138983b29fffdbb153b813c87a01c3bf936803baccfcebb38b1533c7f7f99ba49475f3b04c3b8bbe9982a3c946d6fba24ec2b3b8d2d4bbb1e62dc3bf225abb90e29a93ad53200bbe3122b3b6a482d3a3e085b3a9a2234bb3a63543b8ab63ebb11afa73b32e20abb3d79f33b7c860cbd5f63e83bac7673bb13e1243c05b51dbd62e2043c18ba4fbb8a76f03bc3c11abd47ab013c008038bbcb55e03b721814bd5e5bf53b135102bbe2dea73b848f06bda4b8ee3b84c6f2baa99fd63b5ed502bdee24be3b9df41ebb73ebc33bb4f1e3bc75e45b3ba888e7b92c20e03b5662aebc45d9263b585a05bbd8c4b33bfe466ebc269cd9bc1ca12abdd977013b518c163aee409ebd95e856bdb096ea3b6c5d95bac7caa0bdba9d68bdba42a53b1774cab713e188bdd34456bdb55e853bcf07e8b9018b46bd2e6036bd483e753beed9e9b9fd2713bda4c311bdcee6a83bc12edabafbaa9abc96adcfbc9dc2bb3b0958a0ba120a33bb52b52abcbdfad33b94b39bbbfdf08d3c89e5d4bbb474d83bfedbf0b973a5243cfde6c1bd256d943f2858ce3df876583c17b4bdbd3c758d3f75a6b13dc9c3153cd94384bdc094733f5523a13df3f9eb3b39e342bd4dee473fccf9813dd49cc53bba0116bd5e5f1a3ff2722e3dc598de3bbc7009bd5397df3e5933963cfc15ff3bf7e404bd2c98893eee83cabb8fba233c8b2112bdb23bda3df568e3bca73adc3b19e002bddcc63dbc42d329bd356aecbc0118b43b00000000000000003b73dabc74d2b63b00000000000000003647c3bc22dc9e3b00000000000000006d0da5bc39cd913b00000000000000002f7189bc84f0853b00000000000000008e584dbcce6b333b0000000000000000bb9cefbb6cc1223b00000000000000006ce004b9286ee13a000000000000000081b2eeb90faa983a00000000000000004771c63bf2d884bc7be6ac3ca23ae6bb1f3ee53b443d82bca5e6bb3c33de93bb6d70913beb734ebcd623a73c6d4f84bba1d6be3b17e044bc417ba63cd228a4bb7422663b230d41bc809f933c48ebbebbce7b7e3b1e8321bcde6e743c16afbabbe7d4203b0fb203bc4bd0373c088dbebb2c63423b2eabfabbde65ad3ba27ba4bb5287303b88e7e4bb80b4f03b89e0aebb28099b3b4b27ccba8b5f0b3c44ea1fbde39b1f3c771789bb1585493cae6637bd5f2dc53bd6bce5bac336f93b7d7615bdc8053a3cf32271bb5573fb3b0a3d26bda798f03b4f620ebb38e4f53b75320bbd7ca7093c28775abb954d053c57630abd5e61ac3b5e0eecbab281d93b170edcbc8f15e53b1e2057bb717fed3b90fad0bc9dbe903b1d251cbbb048db3b00298ebc9e84e03a8df00dbdb45017bcbaf25a3badbe0ebda2c46fbd581690bbf5d94a3bb7610bbdd1355dbdac8be9bbcf56553bbfb228bdac3f79bde1cd9cbb1c2d883b7a58ccbca64742bde77d08bb2ae3d13afda290bcce7f2fbd996c04b8bda90f3b0e9b2bbbc56beabcd7105d3a4a83bd3a823a853c0fa7a4bc64c1c53b6b1310bb3bf7a63ce0e418bc29ce833b2ca39439d493423cab13cabdc063793f766d883e7f0d823c9860dfbd5194743f61347a3eccfe193c004599bde7df4a3faa725d3e31d7423c30878fbd1f2e323f9e49313e7719063c866d5bbdf3e6083f3381023e88801f3c4c6f55bdb6b8cd3e449aa73d441d003cfada28bdcb1b833ec15d2a3dfb9a693c3a2346bdb31cfb3d0819e6bb9c46fe3b45e21cbd45d5653c7ef606bd8cc547bde6a6f63b0000000000000000f03d5dbd4bd11f3c0000000000000000bb4236bd9547eb3b0000000000000000be6a26bd7b11dc3b0000000000000000ea2c0abd16e4cf3b00000000000000005e7df2bc4ceed03b0000000000000000dd93c2bca673a63b0000000000000000703085bc1198e03b0000000000000000450b39bc01da6b3b0000000000000000e966b53b621c90bcbd31b63c0feb0fbc4614073cb864a1bc3345c63c3302ebbbd70fcf3b043a82bc6e13b73cd249cebbd1cb963bfbc486bc4223b13c570eb0bbde02c03ba86063bc51209a3cd46502bcd6cf613b18e850bcc7538a3c3697e9bbf0a0523b516c34bcc3d5703c9bf60bbcaaa3403ba2fa1ebc53a62f3c5fa8edbbc0d5cc3a854dfabbe6bf2e3cd1ca03bc747ced3adb20b3b9ca85f53b488d22bdc8da043c33c64bbbfca03d3cf7b239bde023153c78bf29bb78d81c3c3c7329bd0ef9ee3b9a3314bb9db6213c80eb14bd7384f13b48b2b7bad815ea3bb20610bdda2fe73bee9b22bb7394073c7d01febcbb90d43bf9df6abb998c133c5cf5f3bc7299e63be7366dbbe3f8183c3307d4bca84d473b4a640cbb0c51b33b8f3395bc0d73953ce655f3bc1bc7afbc7abed93b42002bbc99e86cbd90528ebc6202d03bf3d9c0bc981a83bda92f67bc87feb73ba0d3c2bccb967abd4f624fbcea43b83bdb7f71bc324059bdd80230bc4e66af3b88d601bcb10d33bd276ec5bb799d573b0076563b606806bd901e1238fb6e743b2b2b593cf75aa9bc15932b3b28fdd13985b2c63c64531abca4fd063a368d153b63ea323cf3f2b9bd130d4b3f1d39e03e525f733c6143d7bdc9d1473fc563d33eef83553cd239b1bda1f4303f8bfeb53e5710353c6c1a96bdbe6c143faaf3953e27fb2d3c70c07ebd0f83ed3e3258653ebfda1a3c653962bd79a7b13e8a691c3e25872f3cd11e56bdf2106d3e1b7daa3d8b6b443c383349bd9ec5fb3db17d9e3c693ef33baf2b1fbdb441f43c5b56c9bc457986bd7b450a3c0000000000000000fe1c98bd6da8523c000000000000000017ea87bd2a3e273c0000000000000000edf46fbd93b8163c0000000000000000090655bd063c103c0000000000000000eaf437bdbbb80f3c0000000000000000646d20bda452023c0000000000000000b93afbbcb484103c0000000000000000df41c7bcdf45003c000000000000000091f2bc3b83948fbcbcf9a23c9f16f0bb975bd93bc6418fbcc721ab3c5e18e8bb19689e3bbc507abc59fda23ccad2a2bbd424b93b65737cbc178dac3c2df4e7bb1d4a033bd97a51bce2fd853ce451dbbb90e39f3bdea458bc599c8b3c879f15bc60905d3b652728bca1a5683c91d206bc129a4a3b75f92bbcb26a433cb79d12bc5723103b98edd8bb9e763f3c2d1303bc8a9d2ebaaf41ad3acca6d63bf09e14bd6d34d13b5cfdfababfc4233cd68324bd4e92ad3b714e7cba79dcef3b89c10dbd8a08de3b4bada6badcee083c737b11bd8ed75a398345a63a99239e3b9b07cbbcadb5e03bc30c1ebbc609fd3b29a1fdbc7d5d9a3b0f96efba4a20e23ba25ccabc174e973b70ee69bb5786053c1d41b8bcc3e3f23a37c1d2ba6350b63b4a7f81bc48f8b53cbd75cdbcfdf0eebcfe3dfa3bdb04573bea205fbddb72edbc01f71a3c549e0ebc024777bd29f2c8bc2201003c9feb3cbc6a6c82bd4871b8bc718e003cf7f43db80d8a23bda6748dbce807ba3ba69d48bbe3232ebd247d4cbc5ff0c13b364c973b3b1bf1bcf895e5bb7e0a813b58fa633c551e95bcab100fbafe9e533bce20a93ce270d7bb0f00f0ba15b87f3b5d9b1f3cd839a4bd50fa1d3f1f1e1c3fd21d673c14f9b7bd3715193fd6b7143f3a36343c499394bd7533073fe395ff3eb2992c3c69828abdcda3eb3e0b88d53e40cbbf3b1dbb3ebdc2c3b33e74929d3ed7641b3c86715cbdd90a923e3305673e5189083c61093abdc009443e4e10073ebf07263c0bf43abd5b4cde3d14053c3dff89db3be23c17bdc15c0d3db41599bc97a8a2bd0bb41d3c0000000000000000e8f2b9bd2ce5643c00000000000000006a259cbd8a162e3c00000000000000000a1895bd3dde513c00000000000000002e915fbdf312f93b0000000000000000564d73bd1b9c3a3c0000000000000000fbc346bd7c7b253c0000000000000000cb9930bd1ed92d3c000000000000000059bd0bbd1690153c0000000000000000fd8a8d3b0c9c5abcb6e37e3c615799bb389ad53b6eab67bc477e7a3cb18291bb5d0ba23bdd4c54bc932d863c540278bb9302913b4a8344bcef9c7a3c9f8d87bbd60e9a3b294647bcf90d803c6bb8b6bbc660553b989e34bcbf39653cdfd1e5bb9fb4293bc7d516bcb4b6563c0bceefbbf082d13aaa5b06bc34ac363c3e101bbce628e03aa38df9bb4fba2d3cfcc4ebbb7726ea3964388fb950aabc3bbde5ffbc8e7cd63b15331fbb845a0b3c5bb408bdb512193ca33424bb7b66fb3bfea0f5bc2c20ba3ba1c4aebadce7ef3bd2c7e0bcd6cbb93b679266bad2b1da3b80a0d4bc534fde3b0cf408bbdf84dd3bbec8bbbc76ddbe3bf1d247bbcad7053c0d2bb4bc0a5df83bc601b8bbcd820a3c909b96bcceb31c3bc09d07bbad65b73b17005bbc72549f3c0492d0bcb9ac10bdcc10213c48c5df3a98a37cbd501c11bdca0a4d3c5b931dbcac2593bd5b4a05bd65f2233ca18441bcfb838abde02fe3bcabc1233caa3615bc073968bd0c4ebfbc4c810a3c2552d7bb129338bd48488fbcf7cdee3b916687ba19a201bd15cc0dbcd9cdad3b76f6be3b203982bccda211bbda10783bbc66803c102b83bba49311bb9ed0703ba597153c800689bd150ce23e61644a3f63b9443ce8b69abdf5f1db3ec072433f50ec283c8c6285bd91d1c73ef64c293fa8311c3c717069bd3092ac3ee7d00a3f95c5053cb5854fbda45e8e3ecef8d53e1140083c98d532bd4b455b3e3209983efc66093ccd532cbd587a1a3e525e343e6673053cac4820bd4a42ae3d3e41843d0690cf3bea1e00bde349e43c037374bc5de7b9bd80f0403c000000000000000065fbd8bd85b46a3c00000000000000009dbfbbbd6fb0563c000000000000000061dca2bd4ca9393c000000000000000053d794bd11c9353c00000000000000008d4885bde39c3b3c0000000000000000519c74bd99f2463c000000000000000085854fbda18c673c0000000000000000422b25bd08322f3c000000000000000099236d3b778905bcb54f163c268795b8797a173bd2d0c3bb08c8e33bded3113b69b0573b7b8002bcf157223c65488ab9f564693b2d330abc068d2e3c0c501f3acebf083b7abaeabb18b31b3c74b896bac9d5883b08a402bc171c303cfe8b80bb533afe3a1bd0d5bb1f86273ccbdba2bb5a30b63ad22ea6bb449a153c1a17fcbbde486a3a642990bb9cd6053c2933d2bbb8b6163bc30f6aba7de08f3b1d2eaebc3bed2f3c9650afbb4b38013c6461b7bc6f5daf3b7ff5edb98103973baa799bbc6826023c17b1f0ba7a21a03b60249abc3d437b3b8f0184b9b0c5a13b17ed85bc58c0d13b0aaa3fbbc490963badff7fbc24af773b7283eabaf31a853ba6375ebcaa74f23ba862afbb3a6db43bf6d43ebc0b026e3b30e062bbcde98d3bff760fbc3986043c1e6a02bd1c6e19bd2c7c3c3c14e5b8bb06c99dbdb93513bd2742393c081f2bbc579e8abdc5b813bd72a71e3cd8fa81bcf86b9bbd938e09bd344a2c3cafbb32bcdf1564bd27cfd5bcb520f33bc8745cbc017946bddeb595bc6a37e73b7874b6bbad90dcbc360b45bcd0039a3b0fdf48bbee036fbcfafdf6b8b4a9273b8cced93b8ab26f39f95d98b8ff95373b1ebaf93b462548bd15c7893e00ea783fe40e143c485864bd6116863ea9c5703fd580dc3b3dbe33bd210d783ef2a0463f57faf23bb5de2abd784a5c3e5f222a3fe169b43bee9d0cbd3ed4333ea2a4003f25baaf3bc67307bd3d93103ee281b93ec81ed03bb754e5bc6304c53de8705f3e7bf7d23be9aadcbcff7e5d3d911da23d3941973bbe5ab6bc2f9f793c2cb9b2bc31f0c8bd2650383c0000000000000000f95cebbda2c68b3c0000000000000000a61fa7bd4db3223c00000000000000001f13aabdf3c93c3c000000000000000075048dbde8be263c000000000000000070248bbdbcfd3d3c000000000000000093ec60bdf12c363c0000000000000000478f60bde7355c3c0000000000000000dd3d2cbd51db4a3c0000000000000000cd08083b5e3c01bbdab40c3a0b9b953b04ff893a19f53c3a95c0813b30b9dc3b3992e63a3f7e89ba5b519a3b6ad3ed3bd5adfa3a651c09bb705f8b3b0366b83bdd4ff53ae4ca3bbb298fa13b1faa123b0bccc53a210036bba9c7ba3be992d2b8fe9b6239492283ba50a0c63b79e029bb6fa42eba210152b9c8a6c13bf643a4bb6d1eaf39f9d4b0ba357db43bd857a3bbd54bb43b350c19bbf10b123b0b8620bcab80853c4d91e0bbc219bc3ace5bb7bb5a9c503ca99456bb8f74d13a3d91e7bbfa1a133c60efedbae401253b15f4f6bbcbccdb3bd76e32bab8f7013bfae7eabb8efbeb3bdf859dba446a153ba96fcfbbc0320f3cc0b864bb50654d3ba460a0bb692c193c2337ccbb6ece323b6b8d0ebb8cf3813bda9569bb3dab4f3bbb7291bbac91b3bb702e41bd14f818bdf9951f3c769c98bc1810ccbd48b116bde05c323c9b06bdbc2984cfbd08d41cbda07b253ceeddbdbcb0c9b1bda1c512bd81fd1a3c9a84a9bc30b588bd26c4edbc83e0ed3b5b56a9bc5b0159bd7c48adbcadcfb63beb238ebcee9f0abd35273dbcb09a873b15cc4ebc9aa082bcd42f2d3b5a61f93902c27dbb94e8c93b1171ea3a7526e13a5a2fb33b571cf2bc8701d23d97d4933f05ecbf3b58a7e3bce60ecf3db7768c3f465a923bd387cdbc5b9ad83d0bb5703f948b793b8333b2bc1ed4ca3dcbc4433f8a6a453b96fb98bcc98eaf3dde7d153f585c3f3bebb487bc5888883de966d43ed6f4dc3a03d159bc49e8383dc46a7a3ebf402b3ba49c2cbcd3419c3cda63a53d97632e3bf2e530bcc83e433798040abdce7dbdbdcc59183c0000000000000000313acbbd4dcc713c00000000000000006bd6a1bd74200f3c000000000000000004dc88bd7c1e003c00000000000000008e5a70bd3000e93b0000000000000000de636abdbc250d3c0000000000000000fbd15dbda21e1e3c00000000000000003e8a41bd6efb463c0000000000000000df6731bd529a343c000000000000000000000000000000000000000000000000727f3cb8a7917a3bfae9b7bbb47e193c72f4103967b85a3bc9ab41bbb8e2dd3b69ce65361bd3603a3cae2cbb59cdad3b1e30523aa9ee3b39ee3d5cba87cb0b3b347dacb990e6c03a44be7338e095083a7c1617b9aafaaf3a10467bb8269857ba550511ba2f941a3b3e94d53aa1b914bb0000000000000000000000000000000000000000000000000000000000000000a6a1273ce2521abb262f72b9de68633bb1ed163cf977b1ba3c7046ba86fde73ac31abc3b32c8bc3a47f0b639a3c1e43a3e60a73b26c01139092f02b9d628933ad774af3bcb1107baca25083aec07e439cda0a83b9241c3ba19b92d3a613c653a838aa93b9fcf04bb2a3f8d39e144123b0000000000000000000000000000000000000000000000000000000000000000f257b7bcfb11b1bd568308bd9046b83b42e7babcec7cb0bd5e64f6bcbb75ad3bc461b8bc84ba8dbd1864ecbc2bab5e3b7d09b8bcf84b5bbd1faccebc6cda633ba7baacbcdb3024bdf0d097bce952563b78779cbc3e1be5bc59450fbc6bd5023bea9387bc31d725bcff1cf5ba3885943a000000000000000000000000000000000000000000000000000000000000803f039eb33a4e97cbbbc0cbdabc63f3933f9d1cbd3a919e6fbb0f57fbbb82d5773f1432613a53057bbbb3887b3a831f4a3fd87f6e39b0903dbb98a0983bf6d01c3fa33be739ccb088ba76aea53b3556e13ecf83aab9ccb555baec19aeb8ba88873e40abc6b9039cc73ae6930bbc5e97cb3d0000000000000000000000000000000000000000000000000000000000000000c81c4fbd8642743b000000000000000091e510bd746e523b00000000000000003b45f0bc1b77313a0000000000000000ed9edfbcdaf3143b0000000000000000e5b6f3bc94df0a3b00000000000000009122f1bc59a5493b0000000000000000b2940dbd4c7d923b000000000000000000000000000000000000000000000000000000000000000000000000000000007a86e239d16097bb9cbebe3b81fc0dbca1cf5b3a898ee4ba66f1533bbeb1e0bbdd6d2dba7eb52eba2be1343b825d00bc6df95ebaf224c1b9a87e263b1eb002bcfc187cba61ff1039473ad83abe99d8bb4ab518ba82a0a6383d0d26baaa20c2bb6b639e3809072d3a4567233aacaba6bb0000000000000000000000000000000000000000000000000000000000000000b3bcdd3bf523b3baf207a238325980bc431bc33b682fefbaec63a7ba5aee4bbce5ce993bd914b4ba601faeba3e9119bc0c0b903bdc84bfba2cee84ba30ff07bcf786903b793a8fba4e7a44bafed9ebbb6294a83bd3f5bbba33af3f39e3d6e4bb707b883b591183ba5306cab83117cabb000000000000000000000000000000000000000000000000000000000000000058c27dbce2b500bd8e96bd3a55a238ba3c089abce498dfbc892f963a6d1905ba8b0e79bca66ecabc73e0263ad7d03fb9295624bce7cdb6bc0db8a23aefe829b9434ae1bb4f079cbcbf992b3b76494cbaabed1bbb627188bccb95383bf16c79ba4d24843b1a5b5dbc9694a93b0a9f23bb0000000000000000000000000000000000000000000000000000803f000000004f0a773adadeabbc62c6803f663270bcb8a11d3a5a5b34bc58055b3f3f1339bc1fecbeb98265c4bb1b98343f5d0b31bcf24e8ab9e6a9b2bb61c40f3fb47b57bcface03ba8f6692bb430ad63e8e0382bc297ec4b74c46cebb17f08c3e30569dbcd8e47bba3ac202bc2f480d3ea7efd2bc0000000000000000000000000000000000000000000000000000000000000000a377c5bbb904323b0000000000000000bf5e76bb4c09263b0000000000000000d4c684bb92c22e3b000000000000000083db86bb8c79293b0000000000000000f6255dbbcb83ba3a00000000000000005ccc99ba5ad8c33a000000000000000006e44cbad3a2843a0000000000000000000000000000000000000000000000005013de3806522cbcd2709a3c95a171bc36746c3b538d5ebc6db3923ca24f5bbc50be833a919a1ebc8dbd823c941f50bc7b686bbab03ae2bb1cf8703c0f3164bc770d97ba893cafbbe998573cfab750bcd1bd90ba429d9dbbda95423cc6de62bcb579c9b90f6e82bbd4a3393c229f40bca10226ba28b286bb2b28183cae8633bcbbf87cba7148a3b986a42e3c93b928bcc7e12c3b98639abacf0858390d88cbbc99eed83b059d3dbb95686d3bd4b0fbbcfd66983b962ef8baa714c73a40d7cbbc04e0923bd87f01bb996b6a377f80acbc56e5823b668fbdb900b724babfd390bc8258b33bf7a01dbb3c6be439df6e8dbc006da03bb5cdfabaa0bb453afcef83bc6a072a3c29718ebbe45a413b1e8d7fbcbf08523b319f40bbd069c03ad3bf27bc42aa583c8067e9bc52d4ffbbdf763f3b24e101bb2a6c1bbd4bd1bebbff36ce3aefacafbbc91714bde3bc9cbb29470f3bf01579bbe7e30ebde21f96bbb9a1873a0550083b4e3aeebc1342a7bb4ae2be3a54a29d3b5c37e3bc97d513bb02bdc33a03e0353cf6d5c3bc868eb03a8f2b6a37d92d8a3c34efa4bcfe93183b54a7a93a4e87c53c519888bcf160063b290c093b5b5e3a3bf54d3dbd1f56813f65c5f53dfec1ef3bbafd3dbda2086e3fa9d4d63d3646a23bc1960dbd6d744c3f99feba3d87a57a3b0f07dcbcb4342a3f865c953dbc8d3c3bd23db8bcc1a5063f02385d3d86f3423b57b8b7bc1105cc3e8967023dcb98213bc75dbcbc272f893eeb90243c6b909c3b705dd3bcf85b103e62894fbc1a912a3ab858b2bc7f96b93c8c7dd1bcb10fa3bc9ddcbb3b00000000000000006bc1abbcf204cc3b00000000000000009fa4a0bc33fbc73b0000000000000000aba088bc78f6cf3b00000000000000001ba776bc4b89943b00000000000000009dbd5dbc21079c3b0000000000000000302556bc56138b3b0000000000000000f19814bc5e2cdf3a0000000000000000b13309bcd218953b00000000000000009336253b52e166bcf39cdb3cdee07dbcf7d1203b3da093bc2f96e63c4ad693bcee8988ba07d630bc3e1abe3c78e87abc4c3cbb39a2044dbcd3bcd63cc97696bc44cab8ba54e707bcefd9ad3c4d228bbc6c6fb2ba521f03bce57cb93c674593bc7fdecebaa9b69bbb53c8903cf58e77bce7e8c4b961f1ebbbb7a88f3c3d0b80bcece579bab8b480bb837f793cb1414fbc1a6d1aba48c04bb956d2053bc08af7bcf20db33a781a18bb67ad8d3b03ce11bdfbcad5b99e123039938c453a2c42cbbc612bdd3a7ccddcbaba79df3a9263e1bc5226ca39f637bdbaf38a5bb965dcadbcdf3fc13a435ce3bab6a4893a3652adbc89a49c3a1ae94cbae44e983972ce85bcc653863bd32439bbc6471a3baf8ba2bc5777ba3a2c31cbbaf4b7d538f08b6abc8689db3c76efafbc34fc89bc04b0bd3ba0e9a13c612307bd88ab8bbc61b8cc3bfc1e513c0bf6efbc960477bc1fe1a23bbaa2573cd7db10bdef2a6cbc69afd43b63ff8a3c9fffe9bc538620bc470d9b3b3a799f3caa76ebbc533c13bc28a0a23b06aeab3c2bc7b7bc3e18dbbba9f94f3bc768f03ca50db4bc9c8c28bbc1ce1c3bb49ee83c24d37abc070d59bb99b2333b97aecf3ba20658bd365b5c3f1737883e69cb1c3c6b1f74bde2524d3fe7a4733e76ff9f3ba51325bddfc42c3f374e523ea402c13b89ed2bbd97f5153ff77e2c3e248d7f3b711c06bdaf1aec3e3d98043e3d3e9c3b829710bd0a59b83e5d46b63d4af92d3b020be6bc4f4a763e39015c3dc980c03b70f410bd23df0f3ed09f503c0eb3013b2b03d8bc3266093d4d7289bcda2908bd4bd5d23b0000000000000000efe11abdbc5c243c0000000000000000a885f7bcaf88bf3b00000000000000005f2304bd13c50f3c000000000000000093fdd9bc1821fb3b0000000000000000a663dfbc5e9b0a3c0000000000000000d185a8bc7d35af3b0000000000000000af0fb5bcfda6fc3b00000000000000005da793bc34b6df3b00000000000000005f5651b9587b86bc0bccfc3cb7f776bc54c9413b1b9aa8bc50b1083dd85e9dbcda180d3a991d89bc7803fc3c9c289bbcaab58e3a9b0e85bc427ef53c642c9fbc38b977ba003350bcc76ee33cf12997bc8626f2b9ddb03abc57e5d43c2f809dbcc368fbb99fa525bc4c55cc3c518490bc507a403a17182bbc9c72bd3c00b193bcce31a5ba7db5bebb7680b73c6b6070bcde1bfabb604c8e3a7924cc3aaa11fabc0cf676bb9d1dc13875f7a83b267119bd84a118bb477992bafd36303b3fb903bd2bb2a9ba9963b4baf2b0343bf101fcbc8dee60bb57bf6d3a8246a63a74efd3bcf7d3adbaaf53f9ba1909bd3a3b67c7bcbdcc3a3a2abbecbaba67083b72d9bebc03b6293b9c867fbb44a6143b75aeb6bc16ba9bba5afd67ba00f82cb97d467abcdec3033de5146abcdee9c2bc1eb6f93bfa4bf33c8677e0bc454cd4bc51500d3c12c6bf3cbe5802bd7b75bcbcbaf2093c8bf0ba3c929afcbc6e3bafbce9e0023cd084cd3c4682ebbc27e598bc23c8f43b15bcd63cdaced9bc3c2171bca806e63b1122fa3ca0b2c1bcc69e4dbc7e6dc73bf10f0f3db1b8b0bc3ec115bce212d23b4168123d90cc68bcc25109bcbe94b53bd801da3bb31a54bde300363f4f19d33ed2042f3cce4c7cbd7b252a3f3182c03ef6060a3cae9b53bdfbfb143f2585a53e92d6fc3be7113cbd3059fc3e5476893e0749c63baa4829bda039cc3e2238573e9822b83b0e7f20bdad1f9e3e8f011c3e880bcd3b117b1cbd19095f3e6461c13dd4cedc3baff81fbdc829053e0bf7183d1946533ba2d7f4bcbfdd1e3d7c930dbcd8862cbd2fcf003c000000000000000015204ebdf787453c0000000000000000ea8738bd574b273c000000000000000034882cbdd21b243c00000000000000001d0f1fbda0c51f3c0000000000000000ccd616bd05e02a3c0000000000000000abe30fbdbd9d2b3c000000000000000051f8fabc2f68253c0000000000000000e129d8bcc38bfc3b000000000000000002b6193ac62c81bc9fc1f33c47a355bc9823273b8bb09dbcbd86043d777383bc9e677738f2b26cbc3b63f03c691e7cbc4cc69abab27c6ebcdbadfd3c941090bc0632dbbabdea1ebca777ce3cb53c5fbcc769c3bade0724bc7656e33c0d8e96bc1e2185ba05b429bc800cd03c524386bced8bacb86bd924bc6b51cb3cda1689bc370efbba7e0fa7bb19d9b63cef2a6bbc58ce17bc86d04e3bec351b3b5cd5febc5244eebb3be3303a3c76573ba7ac0abddad9f2bbd3f11e3b3a79223b76b1edbcd7b7ccbbbe18933abb1e9e3a00b5dcbc051502bc68dc063b1266a5ba0893a0bcf218b7bb93488c3a1a31b23a9efdcabcbde437bba25f20ba2ceda53a8e23abbcb0ccbcba120e03bb06ea063bb5bfabbc0c8404bb5a1898b9a94a98baf5606ebc7558053d48fc04bc839ff5bc3320123c02cbfd3c94469dbcf1a403bde0f92a3c5cacca3c17cfc1bc1b85e6bc35baeb3b2b74d53c5d5de1bc852ddcbcfd8c1f3c69eec93c443692bc55ecb4bc37cbf73b6e8ced3c146bb7bc940aa3bc47a7143ce776f23c3a7c99bc14af82bc28c6d43baef80b3ddcef80bc2c3e64bc6a7b0c3cd274083d29ae2cbc358627bccef1c93bdbe4dd3b53c748bd7fcf0f3f86820f3f354bfe3b31e15abd533d053f6baa023f2e8cf93bea163cbd1043e93e2ec5e03ee268cd3b6a7a2dbde3ddc83e7fddbb3e1a54343b3d6901bd61069e3e412b913e8ef8d53bc4091dbdcaf67f3ed36e5b3e245ab23b28de0dbd1d03363e17be0b3e2691c23bec3314bd1341e03d58b2843d38a6113b4c43e7bcd5091f3d1e2db1baf5b147bd4d97f73b0000000000000000ad4163bd71b8383c0000000000000000b14544bd579e283c0000000000000000aaca43bd677f303c0000000000000000e07e15bdc284f33b0000000000000000d11330bd9b1b2c3c0000000000000000ea301dbdb96f2c3c000000000000000031231cbdbabd423c0000000000000000ea3cfcbcb0ff0e3c00000000000000008e0d99b9aa227dbc3977ea3c09972ebc0791823bafdaa7bcf928f73c968960bcfc03b93a3ddd8dbc310ae93cded263bcf7e4743a90c485bcbdcce63c4c5763bc30cd6d3939d56abc4092df3cda256dbccf94383ac43573bc505bda3c73ee7bbc0b78113a4aeb4ebccdd0ce3c753371bc7221373a91633ebc895dc83caf5583bc024961b9d458e0bb5c39b93c1db752bc13bb3dbc9c9d6d3bfcd83a3b58c5eebc5dca0cbc17bc9b3a0d61d63b104208bdf50505bc41df893ae25e733bda53f5bcb59a01bcc6c7ba3af8ad7f3b6b83d3bc26b2f0bb5a44b03a69462a3b89c1c6bcc6a3a6bb3f3729ba15a04c3b44afc2bc279f94bb012820baba096e3ba4abb0bc1e4782ba967048bb85656d3bc9fdaabcf8874ebb7e5100390a59843ace0176bca07feb3ce738a7bb1ce304bd395efb3b13f3dc3c513b8ebc8db51cbd4ca2443c5128bb3c3364bfbceac80fbd82632e3c2cf0ac3ccc31c4bc836800bd6e89173cc615c73c76d7afbcee9ee4bc44841e3c0174d03c4c81a3bc2214c5bc93dd213c899ade3c211a7bbc4252a7bcaf021a3cc420f83ce7014ebc8dbd6dbc5991063c5fe2f33c190ecebb375055bc21ced83bce25213c333432bd6981d43e7a7a353f92380c3ccd8f43bdf8c3c53e81ea273fc83d223cb22536bd99b7af3ec9c9103f5fb20e3c1a1424bd7f7f963eae93f03e2f51dd3b675b16bde3ed783e0cf8bd3ec17f123c779814bd7706453e2cff8c3e7bd2ff3ba92b0ebd19060e3e1b96383ef0a6fa3bfeff0ebd9780b33d67b8b23d49766c3bccffddbc5112063de91f753b422550bd193ce83b0000000000000000eeaf82bde9ca4b3c0000000000000000dbb467bd988f3d3c00000000000000000d8655bd7c7c473c00000000000000000be547bd36552e3c0000000000000000e11a43bd5c4f313c000000000000000048f73fbd8f48403c0000000000000000acb536bd6a844a3c000000000000000028350cbd7f03183c00000000000000000adffe3a62fb58bc5868a23c0a09c0bbbb586a3b3c3b8fbcaa23b43c9c870bbc7053833a640554bc9ba7a23ce240d9bbe42d0a3b73fe6abc4392ac3cd23627bcd4c973395e5447bc4e07a93c5b3018bca79f813a325039bc1e73ad3c943738bc3bf43c3a61cd2fbc59559c3c40b612bc8a19693a757640bc9294a43c1c4842bccd6d0d3a891204bcadeb963cdc9026bcd68e12bc8f8e273bf693373b542eb3bc001dffbb29065f3a858faf3b8532d2bcb03411bc58344b3b7081123b654ca9bce54704bcbace1d3bf68c953b57fababc7292f8bb262f183bb622623b640897bc23c4c5bb92ad853989ae4c3b4f1a9abc5fe0a5bba6c0963a8d09033b11cc6fbc0aa5f4ba20f716bbde72853b01eb86bc46fe79bb829a02bbd4cd043b570661bc1ace943ce0fa36bbd96d08bdd28d013c4a12833c39118abc8ffb23bdc5b6283c277e5c3ce4348ebcc34306bd30d3eb3b9765843c9c0bcdbc732a0bbd83e91e3c1af5833c6c0d85bc7d70dfbc1a1cdd3b75458c3cbce889bcfa1fd8bcee0f153c47ea8d3c2b491abc0e2aa0bcee97d53b5abbad3ce5d2efbbf0537ebc49ccfb3b3a49b33c5e3d31bb5ea548bc94c7253c379bde3bb2ac00bdcb09893ed16b5b3f9fa30c3ce62c18bd79e87d3e29614b3f6832de3ba1aaebbc08db613eff082a3f6e8cd13ba9f0ffbc822e473ed894113f100c943bd6c2d7bc2f2f223e3716e23ef360d43bae43e3bccf8b033e3ccfaa3e3f5bb43bf827c5bcd890b93df18d5d3e0528f93b6675dfbc98686f3ddfa1dd3d4d46903bb7edb8bc07e0b83cb46aa73bfd3d53bdb62dec3b000000000000000004637ebd3c20433c00000000000000001fc73cbd0a58d53b0000000000000000a2c54fbdb2a51b3c0000000000000000b8142fbd7204023c000000000000000010e541bdc922333c00000000000000002e0822bd80f2e93b0000000000000000a2c23cbdc869413c0000000000000000fd2f15bd6b0a033c00000000000000007677443b013129bc72ef213ca52dc4b9386d8d3b1a402fbc2375203cec6354bb5af7133bdcff31bc9d7e353c80ff85bbc9a8f43a75ad28bc622d423c67bf9cbbb01ccd392ea915bcf72b463c2904afbb6b5ee03a253024bc67fd503cef6cb6bb733fa63aea4110bc0d10523c571ccabb7687e93a982a04bc1569463cc40206bc9302fd3a0f29dfbb311d4f3cf2e0acbbb8850ebce1f1513b06c5423b1a6685bc7eebbcbb0068603a6320493b56f377bc7145c0bbcb3a923a5e62693b13d06fbc9fc5c8bbbcdc1b3b0514533b63e854bcb7c7bdbbb3cd1d3bc8e2083b0e3e3cbc51c2bfbb7170323ad6cd543bf29540bce18e7ebbf6fd04baafc7073bc32633bc5d27e8b9848732bb08c37b3b9bb01cbc5749cfbac741cbb989cc4a3bde7923bcdca1993bb88a68bbc9ea0fbdd8e3da3b3928723a64b3b5bc4cb41ebd868d233c2784de3a9939d3bc03a914bd7ddc083c3e121e3bda85c8bc879605bdc8d2d43b2321a33b691f90bcc64ee1bc4924d23b4aa8b13bc8a86ebc03f7bebc015c083cb15acd3bc87218bc12dba4bc81c2003c5debfc3b0dce78bb0db566bcce04e53b6ceb3d3cf389873b6dc639bc42cbc83bb0969b3bdba1b3bccff5f73d3828813f8b0e963b8007a5bc5d15e93d62b96c3fb1d7af3b2ecb9dbc38adda3d00bd4a3fd0ecb43b429c99bc3e3bc23d8a4c283f5a138e3b399287bc6f45a33d6299033f013ba23b47de84bce519823d3f7dc43e7bd8863ba6527cbc036b3b3daa9f803e1eb9b03b06e375bc6e11d43c10a4fa3d01aa0e3b17ff82bcf80d173c2db8b83b16923ebd8221553b0000000000000000d92652bd301c023c00000000000000000f5031bd2891013c00000000000000002bbc21bd9a81dd3b0000000000000000845114bdef88993b000000000000000052db22bde9a7c53b0000000000000000c06b22bd36fcdb3b0000000000000000022e29bd98a7153c00000000000000007e210ebd0aa0cd3b000000000000000000000000000000000000000000000000b792013bbfe6aabbc00201baf3cf3a3b69f5ad3af0b087bb7c25de391a254f3a265a823a3ccaa7bbffbd023b12f858b89876af3afadfadbb44d0733b450216b9b7d2253af75ea9bba82f473b0316f1b9e979693a384d9cbbfd6a473b80a038bb374b233ab2f492bb0e548f3b61b4e0ba0000000000000000000000000000000000000000000000000000000000000000749098bb057b073b627bf63a0d14babb034f73bb53ece13a7c85c53abb7c91bb757488bb37a4073bfddad03a645196bb1c3dd5bbf975df3a6347093b2219a1bbf5d088bba9d0a13a27fc0c3b9c1580bb0f7945bae081223aef4e0c3b3b3b6ebb0b78b6bafe78bfb957394d3b9c9c14bb00000000000000000000000000000000000000000000000000000000000000003f6c02bcdb5c97bcadc2dfbc03bf383b7edce0bbb805aebca960c5bcf6d75d3baf85acbbb69093bcda65b2bc4e522b3bfed364bbd7a256bc9512a4bc87009f3bef0a5abbf38518bc278787bc9e5d5f3b1a2962bb03fcf5bbf56b61bc65a65a3b9c5405bb3f74043b2a812bbcea22813b000000000000000000000000000000000000000000000000000000000000803ff662533b77f3b8bb7e2806bc0e21803f57191c3b620c7bbb388263ba471f5a3f92b3263be9ff95bb9fb3223b4786343f18bb353b696ca7bb51825d3bb6170f3fc3352a3b265b92bbdc924b3bc7d7d43e37341d3b8c6587bbda80293af4658c3e9a76b33a5369b5bb2c76f6ba158c093e0000000000000000000000000000000000000000000000000000000000000000a968bfbce111a53a0000000000000000ec559bbcfc38f43a0000000000000000592f8ebcad573c3a0000000000000000590c95bcef0c8f3a0000000000000000d9a09abcc6123c3a00000000000000002fb2afbc06b2013b0000000000000000408cd7bc879d053b00000000000000000000000000000000000000000000000000000000000000000000000000000000b90ab5bb015e2e3ca681203d69fd853b7ce047bbd438523c0d34163d7dc2f03ba95096baae65523ce540013dd18ffd3b1926553ad7f2383cdac1b33c291f193ce79787b92e33153cc54f923cbbdca63b9da5b4b8709ae93ba5b31c3ca1738a3bb6c970b912cf6c3bca7f093b59e3ae3a0000000000000000000000000000000000000000000000000000000000000000e42e96bb77537339c3cc383b34caa3bb14d225bb1a115fba142eaf3ade384dbccccca4bacb05c0bacfea9fb8ebd0a4bc4ad6bdbad1bb2abbb62212bb047698bc88b1113bb5aae3bae9b923bb09827dbcbe83d939c195c6ba4a19a5bbf02de0bb140b5d3a62062ebafc4fbdbb83a5e4b90000000000000000000000000000000000000000000000000000000000000000f7eb5ebeb3e0e63bcb52ac3b8bfca2bac19f5abe26890a3bd23d683b9f97363983e741bec62ad9bbf647713b6fa6a4ba89991cbe872413bc5aba243be3920f3bbe13e4bdd0d8d0bb19d59abaaf61da3a39cc86bd465b39bb91b7dabaf167bc3a462883bcdbb4dab8e2ee24bb59fbcb3a0000000000000000000000000000000000000000000000000000803f000000003ecba43c19bfddbd9d06ad3feb34eebd927e503c9ada78bdcf9a8f3f55f79cbda2a7223cd9cc1fbd08576d3fb63076bdce10fc3b526cbebcffa9323f78d53bbdcf50f33ba0e22dbc7a69ea3eda9af2bc9fbabf3bd8d5283a83d66b3ea71140bcae82db3b4273e83af3be743ca159ddba0000000000000000000000000000000000000000000000000000000000000000790e8d3c33f987bb0000000000000000c20b2a3c8b528ebb00000000000000009b95c13b4b2b303900000000000000006964b03b343549bb000000000000000041da933b80b91bbb0000000000000000a2cf403b28acd2ba00000000000000004602523b75f742bb0000000000000000000000000000000000000000000000000922debbb0839a3b7c2ea13c9672383af16d21bc18a8373c2aae193d3fee533a09519ebb0dc3503c68b6273dfda9e23b3a5a78bbd7d15b3cc485123d5da1283cedc8c7bad5b1453c051cda3c6a3f043c4fd291ba7461233c02a1993c4f4e023c6045b6bae8edb83bc494463c5213553b7de2abbab62c4e3b84b8553b9175023bcba030bb8e998a3ac65b64bbd9e39239f28e2dbbb2a8033a6ebb4a3c4af957bcd9987abbf3f90138c5cf1b3c66c05fbab92753bb8073f5baf5f7f13b1c227bbc90520abb7d74b7babf37b83bd08fb3bcaa10843ac74b33bb6902df3aa6e9abbc83601c39305826bbaa900639d01779bcee373c3bc84dedba3a023dbb59d104bc17c11f3b69b104bbc488cfbb4ad7703ab419773aa2c22dba876c5cbbdfebc13b2f8ce0bd3283b9ba78c42d3ae46716ba8b6b44bef17f373cc5ae2ebb4b40643a21885cbe542b13bc3f222f3b26d98e3a54b649beeef38fbc3ab10f3bedb1db375ae01fbea25695bc0c332e39d665e03a47b0eebd1cc75cbc548936b962e9ad3aa1ef80bd52fd33bc92d84fbb1e94a33a4b1f97bcdf18e4bb653729bb87d51c3b6fca753c315b383b9f37ddba9caf9a39e671233dcb0c52be72e2ac3fa9ee853c2616263d4c1041bed255a03f54a51c3c80f6fe3cd62918be08de903fd1ca7f3cf1d4d23c86e3e8bdc8316f3ffa918a3c1f53bb3c7550a9bdf992333f833c753c5a83943cb58c70bd1002f03ef079373c9a4c883cb77812bd2402733e5ad7563ce8914a3cae9e17bcd4b2153d1535bf3cbcf85f3c342d8fbcace1cebd5683a9bb19c457bc8522683b0000000000000000fa4024bcdf86d43a00000000000000008bb564bc7db22b3b000000000000000048dd46bc8b1e033b0000000000000000dd9124bc79ed213a00000000000000005951f5bbb17e933a00000000000000002fc9e4bbc432423a000000000000000008c118bc55f5103800000000000000002d4e7e3a1ad48fba0000000000000000305990bb50ca0e3b05085b3cfcd54d3bdb58e1bb795f253c15d3d63c5dc0023c788c9abb0a782f3cca4ffa3cfccd6c3ccd13dbbaf455423c1c11e23c2dcd5f3c2a0f85b9abfe2e3c4642a53cc65e413c6f0e4ebb4ac31f3cacf78c3c0634c53b0abad7b8fba7d63b9fa9e93ba70bcd3bf56182bb86abbd3b6827003bbb55bb3a5a359cbb9d57143b533138bbc3f360ba42a734bb97afa3399cfb6b3c139bc1bc5f022bbb06cce9baeded723c6d09c4bc069994bae72347bb91f1343c8aaee3bc7be371ba3dc37cbb8eda093cf30df0bc0bcf6d3a58470ebb9270a83b3ac4e7bc8240863bf0a189bbe8cf053bcdaf89bc4cbbda3a66a157bb6abba5ba3dca4dbcf8c5793b5b7977bb2bfb47bbd677e5ba66ca073b4842f8bab7f2ad392320333b97455fbdf1f988bc3cb3bfb92823a2397a920ebe52ba08bdbb209e3b6ec3283a643f24bea0e945bdd8e29d3bba06c23a713e22be0f8339bde80e8d3b48b6c33afe64f5bdae362bbd1834a93972edbf3a753dc8bd7d0be5bc24c53dbb52a26a3bea8d51bd3483adbc9606723a661ddf3afd6c93bc3dc5d0bb26703cbb05c4ff3ae0e1203cf840a13bea11c9badc46633aed29283df5134ebe929d8f3fc9af673e51b13b3d476f58be618a903f7f4e4d3ed63d193d6b2e2fbeb4dc803fb3e1363e0e180b3dc23512bee9065a3fe1be0e3ea25fc93ca5bad5bddff2233fafe1dc3db29deb3cebbfb3bd8ad1e33e1cd5943db36dbe3c56977fbd01de783e9165123da180ac3cb56a18bdaef0853d76cb1b3c40cb8a3cc61001bdffaf3abd2b739ebcd69e76bd6b664c3c000000000000000088fa6dbdde4a3d3c0000000000000000c8a44ebdb799193c0000000000000000d9042ebd2b31093c00000000000000005c00febc39add73b00000000000000005f6dc2bcf5d26c3b0000000000000000a04f83bcd1f5393b0000000000000000cc35f5bb2717913a00000000000000007dd7e8ba795f913a000000000000000092cae3bafc3e11bb0fbf493ce098843b18a286bb6113d13b5aa8a93ccd41643c941f6cbb69a8233c8b50d33c58dd943c83ba20ba07830c3c3bf3c23c1c5c783c84d1d8bad0551a3ce200953cba36623cbfa06ab967f1dc3b2ec44a3cac64543c7bca0abb2c10c73b660cc83b2f73d03bdb6cc0ba4b2e683b5333213b84ac283a459a5bbbdac2b73aa7f10bbbbcaadebacbe747baaad00bbb2d1b7a3c427a1abddece5fb98ff183bb262a6d3c71bef0bca75c85ba75ef69bb76b34d3cb2f203bd61ac593b4283a7bb3bb1023cd52300bd6a4ef33a2c2f7abb3b4ae23b710ce1bc907ef13a353a75bbd406713b4651adbc3e4b6b3be44d8bbb44a1b33af58950bc8960873b0c8d55bb647414bacc58ddbbb111003b83d157bb491ecc3af87481ba4501adbccab924bd3d04d0ba1d586a3b232fc3bd6d9790bddaac863be1b6593a9f3c00be7a81a9bd3c28d43b786a453b6ebcf5bd05e39bbd7f81773a416f863b49a6d1bd26fd87bd0cbc273bb937453bd3ab9abdacba42bd102862bad57ef63ae9e92fbd1ec2d8bc87275eb9b17fd03a5c3766bce48314bc405e2bbb81f1243a085e113cb430e03b1ec7bb39a89606ba0f100e3d103d39be45986c3f58d0e73eb43f303d6fa849bef6116e3fe7d7d93eb52a1e3de64d2ebed1f0583f090dbe3ecbe2003df1800dbeb151363f40bf973ea781ef3c5205f0bde8d90f3ff8fe5f3e2241da3cbcb4b7bd6f0bc93e237c103e75efc63c07758dbde6dd663eb5e6893d0329b13ca4ca4ebd3b08a73d5e0f9d3b269f913c29161cbd7e308abc6dac2cbd15f3dcbdfd13a53c00000000000000008e9bdfbd575dd83c00000000000000003b82c0bd2950963c00000000000000005c8e95bd7a83653c0000000000000000982f74bddd942c3c00000000000000006e0729bdfda4163c00000000000000003c68dfbcea75f53b0000000000000000822e21bc2f34393b00000000000000002024a7bbb536743b000000000000000066dbb8ba05c569bb3ed9293cdbafd23b91051dba8910823ad7c28d3c51ec8b3cd1b584ba3e677d3b6e47aa3c8e0da83c2c850cbbb335d43b879da13ccbe1a83cbc94083bfd39353b763f5f3c402e363cd348a7baa38faa3b59424c3cd3f03c3cf66d70ba8bf39f3b08ef043c2487953ba87f42bbf237673bda82243a5d662b3a64f81bbb8dccd6b9df69383a38cf51bb154209b9d1c030bbb71a803ca4de10bdc800373a26b9a3bb6973473cc2cff8bc5f08093b64eda7bb4b9f383c603a03bd8ccb783b701e78bbe1e5253cf16af7bcdc6d6a3bd89f4dbbb649983b2085e0bc683dd13bc526bbbba697ec3b38b3bcbc44c88a3bf1156dbb9ae72e3bffc38cbcb9447e3bb81154bba349dd3a331004bc6725ce3a290e2abba46f013b348437bb7d5a81bb4a2c72bd03606bbb21b1843be29471bd9826d3bd3b0ecb3b25a47d3b675fa4bd00d6eabd37af303bb4ff2e3b0fb6b3bd14c8e1bd7faa9e3b28cad43afac577bd37d39bbd6914c8bbf8e9853b867f6ebdfed988bd0547c33a4d1cc13a314701bddad00dbd43bdd0ba6af30f39d17410bc7f3a21bcb742be38603781bae76c133c20ea103c31d5153a913367ba36afe83ce8a81bbebc84323ff5fa2f3fed7e0a3d44c922be5c35333f74b0283ff2c0e73c972809bea523233f9a03123f9fc4e23c3fe1f8bd66f20e3f034dee3e4c9f943c63d6abbd6d4cd83e3181a93e6a39bd3ca488aebd3eb2a53ebcf05d3e2648a43ce5507fbd15ad483e24cfd03d0088a13c863b41bdfe09ae3d83b3543be12f6f3cb9171fbd5ca03d3bec0672bdf55717be6ea4f63c000000000000000032bd1bbeb92fef3c000000000000000071f8fcbd798dce3c0000000000000000b9badbbdc5a2a63c00000000000000006f4a90bd1d1e693c0000000000000000d4d56bbda55d513c000000000000000008d40cbd98761a3c000000000000000085c468bc7b50cb3b0000000000000000d088c0bb532fcb3b000000000000000061f9aab9c8a37bbbb2f2d73b146e223cf90680b91230a63940b7873c20bbb73cf6cb68b936fb203b19b08d3c161aed3c15159cb9f00e9a3b5ac6913c3c42c63c7886353a10fa9d3b22ee703ccf5ba33c9b1c5aba9adea63b7c5e393c6ad2523cb83846ba4c59353bf2e4c73ba444033ca5a30cbb658e163bba4a393bb0bc993a869801bb9ee283ba6ce1e438fe6a12bbc6ec913a2be89dbb63d91d3c398ad9bc80ef243be1c0e7bb8b74193c4578dabc72fc7b3bf954fabb7594d43bfd74bfbc4778833b4eefd6bba8aac33b2d28c9bc587fb73b047cb5bbef15783bb845acbcea6d9f3b79e2a9bb0dd3843b03349fbc7a2e583bab5982bb2cf8843b8b0a7dbc0bd7903b942db2bb4123333bd0fa05bccaf5253b559b46bb3034653bd4a37cbb4b7d003cdf019dbdc3f22cbbb560e43b906702bd909a11be8b34473c61fc4e3b45736fbdab5f21be8113123c32c9bd3be06579bd7e3811be0acc743b2859993b30136cbd9156efbd59ba3b3be4721c3b62b936bd3fffa3bd3c4ff53a8080933ab4dddabcc72a37bd6b8f103b4de655ba27141dbc8a5b51bc39cf193b0528d8ba4954d73b06acf03b3aa5333b435f45bb6667b53c9946ddbdccf4eb3e3dda6a3fd28edb3c3d71eabda9faec3e4917653fa4bdc13c94c5d8bd851fe13ead7d483fdd4ab83c4290b7bdaea7c43efe4b203f0012a53cda4c9fbd52cca33e0ba3ed3e69e0953cd24984bd85d1773e5fe1943e8b9f7b3c8c9f53bd034e223e97cd093e60e84a3cd1c420bdac5ca03d6a1c1c3b185e373ca968f9bce0fc673cabc297bdb4bd38befe4b063d0000000000000000dac444be7dbb223d0000000000000000e68525bedaa9f83c0000000000000000921301be0c25be3c00000000000000001625c8bd624ba43c0000000000000000f0c186bd1479783c0000000000000000aecd22bdca51293c0000000000000000781543bc1b55d63b0000000000000000b8ac08bc37de1b3c0000000000000000aa519a3a8439a2bbd07cd63b927a643cae8b42b9ae9c02bb0546383c14c2ee3c6ce05fba484cc73a02bf6e3cefc4083daa1cf539d436b03a9a56693c423e003d4d9f09b9c30fb73b869b2e3cc4e0b33cbb8e713989c3593b8a6c163c0966903c0baab7ba99143e3bdd83e33b62f4053ce83ba6ba464b403b58162d3b1976963ac0ef0abb499bb6b9c61b27ba9bb421bba2c2d03af81bcdbbca27833bcfd387bca1da5c3b90d517bc930bb43ba8ac81bc3e90af3b0fdd0abc13675f3b022870bc7610b53b7538e6bb4ea0303b27966fbc45c2b73b0f37b2bb646cf73ad5e592bc70e6973b1c0d93bb5257bc3aa2c851bc5a72a23b1abd8bbb8cce243b4d793abcaede393b83e26fbbda37163bd5fa11bc1001413b35a64fbbba86543b214b94bb4acc853c1560c9bdd650f43b07f0963b430b3ebc2da035be93dd9f3cd976023b78070fbdd0723fbe5b6e103c7f08b93b640127bdb09b34be37710e3cd4826e3b897016bd7df907be30ba313a7eef373bb11508bdb6d2cebd7993a83b20b90aba340da4bc4eb05abdd939123b4d93b8baad92ffbbf3bd64bc09f7b53a5c8622bbf95bcd3b4246303c1f9f653b58608dbbe8535f3c76b57bbd411f6d3e4ad18e3f90ed833c1d2686bdb00f6f3ebe2b8d3f11977a3c2e1b74bd9ac3703e9432753f48846e3cede965bdc8985d3ec667483f79fa343cc1df30bdf6d73c3ed2af113f17484e3c5b5128bd56df1c3e6cdeba3ef26e323c2d890bbdaaded93de5d22f3e6c15243c43b9e2bc0c77843d8782953ba1a2bb3b771a8cbc576a823cdbd2bdbd08784bbe1ab91f3d000000000000000097cc58beb9212f3d000000000000000078d72bbe21db003d000000000000000051f80dbe6e41c33c0000000000000000e6cbcabd10779f3c0000000000000000eb028ebd75a36c3c0000000000000000a9131ebdc353243c00000000000000007154a1bb73c67f3b0000000000000000233f753b0230733b00000000000000009c3dcf39eb116bbbd936813bfc17ab3cbb4f383a686084bbff1b173cfe43293dbd5fab3a1a7ee7ba8627633c1eaf313de3bd16b98f47563afdd2743cdc231b3dc4f89e3ac6e4893a9389493c1e2ce33cd028d4380ff9f03a44e51a3c7e50b03cea709aba7da9853b4d38ad3b3529483c24fdb5ba6aa4283b91305e3ac1f55b3bc539f8ba2837e6b8b373353a643d86bb6d89e83ae1f8e6bb5e699c3afa4597bb59ccbdbadff20dbcf702553aa95007bce85f923bd16803bcf20b54bab6d3ccbba249b73be231e6bbebccd8b983e0babb6772e03bded7babbee61abba7fbbe5bb07f6a73bfa2581bb2d60f3397b1f12bcd07c403bed392fbb53ef903a86e521bc21fa663bda20debac071493b6dc708bc5582633a992ceaba001f163b34500bbb483b3a3ce2760abee78d633c5f4bd43a8ae4f13b81f95abe3f141b3d254361bb044188bc95726bbe5b0e9d3cb16b9c3ab11cd3bc2b0a55be4d9e383c7e4b4c3a534bd6bcd62027bebb92843b4d8cc63afc96a9bcbce5efbd278a693b99c4cfba6de06abc64f582bda0e0343bdf7b43bb766c3cbbce886dbc99ca50bbbc127bbbf6c5933b88e0923cfa578d3baa928fbb5ebb7b3b393b68bcf8ce973ce483ac3f5fb8ad3b7a1d52bcbe390b3d6ae39e3fc010cd3bcc2f96bc84676a3dff988d3f8e0a993bea8090bc1be88b3d8de0653f32f4ca3bd03d84bc95988f3dc7d6293fe167ab3bd4c880bcf15f833da8d0d93e3fbfa03b134665bced416d3dcdb3483e3c8d533b6a9a4ebc156e403d199b593ba33f9a3a3792cebbc1ad2b3ca62504be586a50beedf41e3d000000000000000043f747be2941233d0000000000000000e2b720be14a0db3c000000000000000013aef9bd6716b73c00000000000000009930b4bd706c6a3c0000000000000000a92d65bd5b4f2d3c0000000000000000b76ac5bc35afa83b00000000000000004a8c873c463435bb00000000000000004846143c5a50083b000000000000000000000000000000000000000000000000d9dc4f384ca8beba5fa7f13b7c65273d8654a8b77e5501ba957c283c14c9203d89c25ebaf4d9863b037f253c34ab003da67500bbc5047b3b3d6a1d3c4c32cd3c5ec03cb86bd16f3b21dae93b8a3b8c3c128881bae182323bf8baa93b4744283c6e80d1ba97c6113b97bde23a544d993a00000000000000000000000000000000000000000000000000000000000000000171523b9ab7dcbb39e54ebbf82ecc3b6536bc3b32f7b6bb3e385cbb89cc893b1ce4013c14df8fbb181f88bb6c3e333a8285d83ba3dc07bb787605bbc61cb1b9c58cef3bc19985bb663f36bbaf3a59ba2de15b3b98e5fab996fc7fba79e43dbb7db42f3b8bc4b8b9c2bc0b3aad8f11bb0000000000000000000000000000000000000000000000000000000000000000f3dcf3bbd0255fbe0a1a6a3cd515543a134a85bc27a659bea621103c6c5663391ca4cabc189040bea4141ebbd539183b4c07c6bcb91d1cbe8eab89bbf4e80db8f94ea9bcdb5edebdec5c64bb3d5985b9bd1143bca2827ebdd8b88eba89860abbba546dbb9d455cbc51314539c4272cbb000000000000000000000000000000000000000000000000000000000000803f6cd126bb78878a3cd32cd0bd65aaac3f794206b905860d3c523a59bd9e238f3f28cada3a5d79d33b58b901bd60ec6c3fb1a7ee398aefda3b4cca88bc112c313fa22d68b64874883b77138dbb4e59e83e62cdb33956b8903bed05633b348e693e0e2ec8ba0de5b53ba8de8c3b93d1303c0000000000000000000000000000000000000000000000000000000000000000f6fef5bdedb3893c000000000000000028fda4bd29cf363c0000000000000000f58380bd74c3973b000000000000000018b33cbda0cfb73b000000000000000095b4f0bca99e323b00000000000000005e251bbc4ad612ba00000000000000001927493b8e0f1fbb00000000000000000000000000000000000000000000000000000000000000000000000000000000040dbbbb19886a3cc4abb13cbb0d4f3c7f2499bb2dbe8b3c2e2fba3cd065553cc2973bbb8dad813c9b09853cbb136a3c8352debadea3503c6b4a623c62a53f3cdf4473bbe8bd683c839fed3b61a22f3c79270cbb31d7333cf209b93bdad67f3b913e1bbb4479dc3badb7acba1e81303b00000000000000000000000000000000000000000000000000000000000000000c4bebbbbb075a3acec3093c8b029ebc8ab5d8bb3a47f539f4fbdb3b7969b4bc52d4abbb637073b991d0723bee19e9bc6150b9bbdccddf38fd6a773b6cd9ddbc05cd2fbb1bf9cdb95979663b8696aebc5a49ecba5e7c4bb9ee0f3fba579537bc8e12cab9c2231c3a889f56bac7b570ba0000000000000000000000000000000000000000000000000000000000000000819e3ebe37eb31bbac73ab3be8cf033ab5aa43be6b79a2ba61e0853b6fb6583ad12c2bbeb9d2f7bbd17b9a3b2f0d553af2a90ebe51f02dbb2f27623b235eae3a618fd7bd6be802bae20710ba7d318f3af0af8dbdf804053c09d138bb0ff8113b6672e3bc0d8b4c3c88dcc9bb1634a83a0000000000000000000000000000000000000000000000000000803f00000000f4b2563c22fdb6bd8eeba83fcf7fcdbd5e26f63b531754bd6f8b8d3f890995bd58640b3c6ae505bdc4c7693f653884bd51e6d43b76c2b0bc1709333f1c3675bdd01cca3b40ab7ebcc0aaf33e87ab3fbdab10f53b69b332bcfaca813e47e3fcbca671f63ba5ba4cbcb0723a3d7260b2bc000000000000000000000000000000000000000000000000000000000000000051c0243cbbff10bb00000000000000007ab5f23beb06e5ba0000000000000000f5bbc83b9007e7ba00000000000000006f52ea3b9f812fbb000000000000000014bce53b652db7ba0000000000000000e2d5973b5f0ff3ba0000000000000000e29fd33b6b79c3ba000000000000000000000000000000000000000000000000591369b919740fba75f2803cb0f0863beb7ca7bb76cc333ce789f13c8734f93b2df647bb6060223c5ee50b3dfce22c3c7ebe08bbcddf3d3c69eae83c422b523c24478bba5839213cd84da83c4bbb413c1190f7baa26c273c5b607e3cbeab083c18a529bb650aee3b4c15083c7dd69a3b2df74bbbde7bc23b0e501d3a9234b23ae9d42bbb88c0183bb69cc0bb997bda3af0914abb58741b3a30ab9a3cf46128bdb842dabb27f1933845f4933ca2f006bd2218b0bba36d1aba1a95863c17232abd3303afbb519346ba0edc6b3c386b39bd9a3d23bb7b09bcba9f1b363ca50b24bd97c541bbadb073bac9351f3c2c2f0bbd06b492b913e1cbba3c2f043c03bab4bc85150d3a91dc82baa61e1c3bc83ee7bba7cf26bac2e5ad385c44c33b53a4bfbbe61e91bd83ffeebced07243c477112bbe3ce27bee9cc3bbc6d81f43bfa975bba87d937be8d97cfbc150a153c44cd6db9a28527be3af4e0bca52e033ca8a98f3915be07be9e04c7bc2cc1c43b64f9a33981ccc8bdf15b76bccf2f893ba01fae39d6c66cbd91e0c2bb9b567cb95162bf3abd748abc58d6293b75af8bbb0593f73acce2843ca384fb3ba4aa3cbbe2f08f399237db3c00de2ebe6320a93f99a6053d8191e73caaae24be881fa13fae1e763cdc16bc3cd0df02bed00b903f15bd0e3c71d8ad3cc7c9d1bd159d6f3f8cde073a7b749d3ca0a3a7bdf072383f15b71dbc437ba43cc5778ebde7cdff3e91fca2bc2e94923c991e68bd9b9f8e3e3b1fbfbc0f4aa43c94ac2dbd22688d3daf2a54bc893d9b3ceb9e47bd49db5bbda35a1abd791d80bc2e02143b0000000000000000a7f051bc299c1c3b0000000000000000d63b1cbcc86d923800000000000000007583ccbbbd1280b9000000000000000015e568bb4f5fe2b9000000000000000027ba483a872da6ba000000000000000075514c3bb0bf04bb00000000000000008bdf9d3bcaa606bb0000000000000000df931e3c177a0dbb0000000000000000e7b2a63b81ff58bc60b6a73c8a6608bb49aec83a06712dbbc64ad23cabd1183c2e416a3b61fc8dbb28b1f03c4ef5303c0d7f103bd26a803a7e94de3c085f4a3c8fcbda3a4b2957bafa79b63c3b391e3ce1199f3ac69eed3a48366d3c0d13183cf6b0063a8f32313b2a05df3b3cdcb93b7ef079bab64ce33a819e653a5f9f1e3b8e4ed0b9158b59ba48e044bba293af3966e01b3b58833ebbba11b63cdbef6bbda9d7bfba8c5f30bb30b1c73cc51171bd9828a5b94b191bbb3389a23cbb4973bdffe7acba342074bb13989c3c467270bd791121baa5c42abb8eef933c1cd55cbddd1b52ba8ec5c8baf4ee7a3ca3183cbd1e547d3adc152ebbcdec453cf22c1ebd452e683a8881f0ba9ca12b3cfdf9c9bccb61383a67d727ba4167193ccc6092bcbdbe4bbbcbf554bd681c1c3ce9fe7fba39c8a7bdcc9188bd59128d3c665b15bbd566bdbd40eb9cbdc17d8b3c62665fbb71a7dabde0d88abdf412843c02580abab120a0bd68f365bd1c65463cb7fc97bac2377cbd64ea2cbdb521213ce17d23bbb1f1c6bcde2eedbc090f033c54b974ba0044a23916aa27bc6ac9633bb176bbba17e2dc3c19e527bb46c8383b69bde9ba2cffe13c991628be2cfa8b3fefe9683ec005013d31ac36be39a18e3fe0de3f3e7cfad63c93620ebed82f793f424b253e8877d53c4a8103be68c05a3f6463df3d603fcb3ca6c7ddbdeaa02a3f9e02873d0f9acc3c75ddc9bd1911fb3eaacabd3c52c0ca3cc0aca8bda2d79a3e889637bc0dd5d63c612997bd16a2033ed58a25bddbccb23ceeb386bd86333d3c9d4b72bd363e41bd29ece83b0000000000000000e50640bd9c3ee93b000000000000000087ba15bd609ed53b00000000000000003352e2bcb309533b000000000000000083ec88bcf3c0ac3a0000000000000000251112bc27b4c93a00000000000000004f5b0cbbe0e28bba0000000000000000ef58f83bb528cbba0000000000000000811f223c1b71e8ba0000000000000000ed3b083c0566bbbc0f17f03ce0210bbc17b8cf3badc761bc84fbec3c1a27e63ba797a53b808b26bc5a7e043d30871c3c0876bd3bc65221bc8ce4ed3cbae1353c3e51a43bee5808bcc271cf3c9e1a063cd6f3303bf6cda3bb4dffa43c9f5fc83b1bcf073b067f5fbbcaf5223cb96f713b373776399efd26bb3b378d3bb37059b977a5073bc131cabb58eb293bbc103abb10d2df3bbde38bbb27b6a83cf50a86bdec29713b0625a5bbeb93d03c25f189bdfd454c3b2689babbac6abb3cf75f86bded18043b3b7f96bbf6daa83ca8d47bbdeb416e3b4a469ebba9eb9d3c544973bdb98ac73ac71359bb8545863c0c7152bd0901493b8bd541bb27a7843cb97e32bd56eded3a210717bbe47c5b3c676b06bd280fb93a835d8aba4c823b3c54f4e4bc9d990d3d1f6ea1bd9c003b3c968afbba1f38e7bc8f94dfbd7041a53c5f6a35bb419271bdce49e6bd5823af3c65af81bab48173bd4533d4bd1efda83c778457bbeccb45bd4107babdb4f5963cc7ee27bb0a5d04bd51fa86bd0b1c803cb38719bb9ea331bcc9b336bd0de3503c8fbe9bbb0f1c533c4824b9bc2b5e243cdd8b4cbb3d810e3d094737bcc9f41b3c2ddb8ebbe4edc43cfdfc14be8256643f1b00df3e85c1e23c195a23be72c6673fdca9cb3e80d6d43c652c13be3e41563ff9d8a83e48fabe3ca38fffbd6d6d383f73687d3ea58dc73c64bce4bd329f163f5bd72a3ee57fd03c2b26ccbddf64e13ef8c7ad3d3e13c73c8b20babd8b9e943e8bbf7f3c0197d33c3a24a5bd75c21b3e55b93abdc178ba3c65d691bd8c00543d2f81a5bdf79ea5bd6154513c000000000000000018e9a8bd159a533c000000000000000027138abd3e88133c00000000000000006bbb50bd7823ff3b0000000000000000173617bd165fa73b000000000000000058d5b6bc092e283b0000000000000000240015bc553c4f3b00000000000000001e76b73ba86fe1ba00000000000000007e15f43b96ef8a3800000000000000003091273cca9ed2bce241f23ce32c2abc0b0c053c48549fbc1ac4fa3c8c812e3bdb16de3b527888bc38c6083de6deb93bbf6eda3b28e96bbc7100f43c052c173cbb90e53ba89669bc8d8ad53c6ada13ba5cc7de3b601032bcb99ab03cdd978d3bded0843b698de7bbe99b603cf3cd5bba149e583bdaacccbb74b9ed3b119fcabacf90543b5370fcbb99f1fe3b6866e7bb9c61253cae3fcabbc3b19a3cf8507abdba1e223cb7fb01bce2a09e3cb2f77dbd683b003c9675e0bb88b9913c99ba68bd8bc2fc3bfb94bbbb02e5953c695475bda199e63b622f86bbccc65e3cb68357bdbe88bb3b403f9ebb52a3783c450457bd63d5813b74ff65bbd47a583c512f2bbdfab54b3b9fd32fbb61a3503c669f18bd0e258f3b64c552bbe74b263cbbfaf9bcb141453d5362b7bdd357d73b6c4b093ae169033c78170ebed570ad3cefe602bb621da3bcd3ae0cbea83f993c805e5fbad56ef3bc6d5d0dbe300bb53cb6df83bb0a7a24bc6de1c4bd8bb5453c03d5f3ba33cc64bcaabdb7bd040f9d3c10ed94bbd4f0323b13fa62bd2c91843cab8468bbe712b53c693601bdeaf6803cc0cecfbb67f4183d0a9883bc5e4a5f3c5890b7bb8c36903c5e2ef1bd816c2c3fc5e0263fa56dc13c93da01be82e02d3fe8151d3f580fa83c02a6e7bd3e2b213f735b033f87b7b83c5a4adabdd467113ff814d03e52c07d3c74dfa8bdff2be23e4abb913e240ebe3c035ab8bd28dfbd3e2515293e2c6a983c5ade9ebd9d79813e1c606d3d6e3cb13cbe3f95bd7d6b183eb56a20bdf1ec9c3c125f81bde9597d3df42cb8bd5ff6e4bdfec98c3c0000000000000000aaa6e5bdb6f28a3c0000000000000000a23fb8bd2f15533c0000000000000000fb539bbda99d2c3c0000000000000000ccec5fbd6051153c000000000000000046d018bdeb19a23b000000000000000025daacbcfe62483b0000000000000000824016bbad679c3a0000000000000000252f5e3aa1155d3b0000000000000000ba4aeb3bb24dbfbc8459e43cb07d2ebc67ffe33b6d259bbc6cbd003da3289b3b47b8e63be88b85bc129af23cfbff443cca64bb3b255163bc1f53fb3cbd2d253c6811ae3bffea65bce1a5e13c87b3e63b8ac25e3b3cac1fbc7a34b43c5219ab3b4d42893b5e0508bcc224843ca772fa3a1032213b014109bc5410253ca9513bbb7a73353bb2b003bcacdaf23bbcd7bebba65e4c3c00b9ecbbf2fc743cb9a940bddb5b523cca3f21bcd736863c0dea47bdc374433c373810bc536c6f3c18663abda6741a3ce9bbe5bb3938673c02193ebda4e8253c664aefbb22c95e3cbf0e2bbd54dcc63b96de8ebbb87f5d3c1ab921bde49dbd3bb0729fbb1dbc373cb2740ebd7cbd2f3b36a829bb342c2e3cd00ef0bcb5a5423b85bf08bba1cb233c25f7c6bc8260463dc6cccdbd8c6cb83bc3f1863a249c603c994d2abe33d9d03cc83864bbadcd1abc6cd134be8717b73c453136bbc22e7bbceab124be9900c73c8e8889bb97ee89bc3d5c0cbe2d8fb73c82dd92bb585421bc66fad0bd3a62ad3c061bdabb8164e63abe7e8ebdd57bb73cc521f9bb6c929e3c912710bd16d0a23cf27d0bbc7144053d8e8b71bc8d09773c563adbbb9016703c7984b4bd211be63e64cc5f3fb0888e3cf939c5bdcb6bed3e2afd563feb797c3ce5a1b7bd58fde33e08ab383ff35a813ce504a5bd9fb7cd3ec08d103fa33f843cb15d9bbd578ab23eec15d03e7fd1813ce6208fbd59968e3ea5db7b3e19d7873c6a2383bde76b4f3e27cfc53dcac3913c27316cbdd0af013ea97efebc879b5b3c360350bd50b1693d901ec8bd568c0cbe91d8a33c0000000000000000275916be2b01c13c00000000000000007e79f6bdf0089b3c00000000000000001e7ac2bd84335b3c00000000000000002d6a94bdc0e0343c0000000000000000975748bd4267173c000000000000000072e9dbbc08b5c23b00000000000000001d3e23bb5d36d53a0000000000000000742e10baf81c293b00000000000000006e82b53bd24086bcc9e2bc3cb9d083bb8d8a953b747f73bc745bd43cd5153e3c322a763b0ac244bc37ebe33c0f84393c8765823b8d2f52bce49dea3cd4426d3c755f863bbc6e2ebc39cbc63c78aa183c8722533bef7e2cbcaf6fae3c8a84093ccce2023b08d6f0bb89b27e3cd4ebed38581c0a3baefec2bb226e183c07d5b9baf3ce153bdca9e8bb9e6acc3bfeebe4bb9b69553cfecc13bc62eb0d3c2554f0bcb284493c632227bcf402283c794ff2bc0b707b3cca102dbc1e0b1e3cc74af8bce368423cbd0c0cbc12ee0f3ce625d7bce76e153c6585d0bb48c4023cc21adebc8258e63b0065abbbbe27083c87c5c4bc5e03d23bbfc380bbb2df0f3cbfc4b9bcbd3d823b50fa3fbb2ae5d73b072c9fbc54b2813b9c222ebbbfb4c93b104b89bc75c80d3d03fdebbdd2ae603c022bfdb94ea15e3c3d7845bee344f83ceb855ebbe48dd7bb83da3dbe83c8a23cbde382baf96180bc14d93ebe41e6c53cf9186dbb077d50bcad7f15be1033a23c805354bb764205bc5858f2bd06bcc33cba5accbbfeab1239327291bdcd4da93c2ce1fabb08cd483cc5bd12bd31719f3c063b0fbca938d13cecfc30bc69279b3c399200bc4cc1133cf73159bd6038763ec86a8a3fde14293cb2f067bd89e87a3e7a57873f44f2283c800f54bdb90f803e4d0f643faef3263cc89550bddae7713e30be3a3fc18d0e3c562033bd65b0523e1422073f1663293c9c3534bd5b9f333e58f8a93e7997f83bcdfd1cbd29e3033ed768213ea1772b3c0b5912bdd60db53d61269ebc034b0f3c9876febc98532a3d9ad5dbbd8a0720be072acb3c0000000000000000c6502abe16f5cc3c00000000000000005e0907beb7db9a3c0000000000000000fc69e0bd5edf843c00000000000000009d0da5bd379c203c0000000000000000395c6dbd7c9a103c0000000000000000285816bd9634d43b0000000000000000658dca399171d4b800000000000000008d4c993b940d95390000000000000000d699bb3a0c77d7bb2cf3403c2596ba3b50190c3bac072abc5e62b33ca6e9d73c31a20f3b6e8cdcbbb9dab13c8f81eb3ca52dc03aacbbd7bb676fb83cc37fc63c2db8fb39a059babbea50b13c964e8d3c9642833a01218cbb43ed8c3cec2d563cad829b3a4750a1bb2a2e4a3c0677013c0aadc73a79c48dbbbd5ae33bf822d039ed77173a0f2a4bbb10b98c3b6092cfbb8b50423cd0940dbcf54e4c3b3607f7bb4bc9093c667522bc88e17c3b50070abc2053263cce4013bc2057dc3a747b1ebcf274363cc265f7bb8148493b400306bc95ea113c18a8d5bb97035a3b59320bbc4a9be73b86d786bbd483443bd1ea20bc933b593b7bb40ebb3f894a3be60417bc6e69fb3a6cd9acb94deded3af27e12bc13faf73ac49395bad3cfff3a037b99bbdc56373ca42608be33133d3c0a03d8b92b61b83bf74d66be1d6d213d4b0e94bbdce64bbcd8496cbec803d23cf5c917bbeee29fbc19de55be8eacb53c3ce142bb2331a3bc2ee52bbeee5b9e3cd10d6cbb52e081bca17104be7dd5a23c162fcebb72f3a5bb0654a2bdf8d69a3c4a21e2bb578e123cc6bdfbbc86ad863cfa1216bcf5d14c3c935bdb3afabb8c3c803a0abc6d03553b80a285bc1d311b3d9615a83fe06c853bf208a2bc9af65b3df1a09d3fd42dbb3b15fa9fbc44b69c3d2a6f893f5daa6c3b658c9bbc652aaf3dca825d3fd41f7c3b11088dbccf06a93dadc4233fa6b78a3b284486bcd7e2983dd674d33e2678763bcc026cbc48187c3da2ba423e4e24903b7dfb5fbc89753f3d3b6756bc9511533bc7eb1fbc887c3b3c57d5fbbdcb1829be03d7c43c00000000000000002b1427be6c77ca3c00000000000000002b1106be5b81973c0000000000000000ba76d6bd10fa573c00000000000000000faca6bdf388413c0000000000000000218a5cbd1ec0e63b00000000000000001f5ce3bc4d8e5a3b00000000000000007a9e2f3cb6d04dbb0000000000000000820a1e3b2c8f383a0000000000000000000000000000000000000000000000002931f3ba41ab0b3b2757ee3b056fe63c8faaafba4e841ab8655a4c3c271de43c60baf3ba3dde0b3b9fec273c21a4b23c053b9cbaf41f2e3b2bdb263c30918d3c3b1dc4ba746d293aeb62213c5090493c2e15a2bae2b32c3b9216ee3b9f02d83b29c0fdbacdfeb93a1bf7473b77625e3a00000000000000000000000000000000000000000000000000000000000000003228013c5374b8bb4f5510bb02f0063caaf0043c7e86a8bb9c1fccbaceb7c93b4541283cbe4396bb5e2087baa006923b83aa173c9d108dbb421923bb338a9b3ba6a4c33bd9c829bb14bf8abac43b893bc971993b21fdf0baee2fabba1b7c233b49606e3accb6163af00b05399a9c2e3b0000000000000000000000000000000000000000000000000000000000000000a3629dbc4cbc43bec37cfd3bd35f2bba66b6ccbccc4c45be2ca0223ca03f2bba702afabc18022cbe51e6c53acec6a137c1a106bda7f70ebe0a320f3ba7ab76b9f0b6cbbc8470d5bded02bd3b3fa7c8bad6348fbc7df785bdb1d2ac3b3d30f5ba669be5bbc48ab1bc8374313c7117a8bb000000000000000000000000000000000000000000000000000000000000803f5de9f9b93def093c0830a3bd7d2ea83f590567ba61c9f03bc91824bde67c8c3f16964ab981f9823b1894aebcd1f6663f73269d38518bad3b3f210abcad6d2f3f62401cba61a3973bc504adbb075bed3e1249b5bae521bf3b66bf51bbaf5d793e7a7e1bbb7ff8fb3bfc2bd7bb74570f3d00000000000000000000000000000000000000000000000000000000000000002bacd3bd4138513c00000000000000007be199bd3efc073c0000000000000000d78a81bd6bd0d73b0000000000000000a81557bd454fad3b0000000000000000d92129bdd7624a3b000000000000000090da9fbcea19ab3a0000000000000000f5f742bce9cfdbb4000000000000000000000000000000000000000000000000000000000000000000000000000000006305813bb0f6a23bd88454bcfb7fb13c8b42783be2b3013c7c927dbca2c4b43c5b28143b1166be3b1f4e8ebc0810b03ca347283b35daed3b98c198bcc0719a3c1610cd39e8d72b3c6de6a4bc09dd943cc9374db650942e3c276a8abccf36853cfd458bba9a864a3c850e8fbc11866e3c0000000000000000000000000000000000000000000000000000000000000000e83676bba4ad7a3ab455b63b391313bde2c786bbe6e386390870843b25b600bd0dabadbb974bed3a20408d3b7ad4edbce9fe3dbb2dda3c3ada03063bc840dcbcb40e4fbbb4335ab971bfa23b8ae3ccbcde62a0bb0085b13a573abc3b8188abbcd7ee8dbbd020153a5c78ad3b157a7abc0000000000000000000000000000000000000000000000000000000000000000220d86bd8c0f0fbd8b0f343b4fa13ab9c05a99bda7d4dbbcdea27d3a94f5ff391eae80bd326bebbc113a323b209446ba16e655bdd421c3bcc4799e37a7180c3924533cbdea0e71bc8e9bddbaece9ef3a48ee17bd426305bbfe912dbb3d94b83917dcc4bc338ca33b67c298bbc85bbf3a0000000000000000000000000000000000000000000000000000803f00000000c8e5de3b850d68bde0c3953f9a0780bd862ac53b92cb19bd756a7e3f328449bdfaf4d73b0457f8bc1d34533fc8633dbd8ecee43b42d5debc81a6263f8c8c3ebdb9cf983b7fd1bebc2c52f33ebb5931bd95acc43bed35cabcef61983eb34b24bdfd53e03ba8b500bda82e093eb9702fbd00000000000000000000000000000000000000000000000000000000000000003656cb3b92c51aba000000000000000062adca3bb5d6e3390000000000000000571db13b3bb1ac3a000000000000000096c8ef3b2c8cc2b90000000000000000fba2d13b01e461ba00000000000000002db3923bc080603900000000000000009f24dd3b331ed6b8000000000000000000000000000000000000000000000000cf01793c69f7d4bc5a169d3c545b2bbbe06a7d3c17828ebc83be303c37e95a3ce7a7493cbcb255bcd6b5f03bd0fe783c55e1533c2a4645bc4edc3c3bdbc4703cb79e213c066216bc994522ba499f513cbc3af83b2cc262bb910aaebb058a803cef4fd13ba64441badf95d4bbaf196d3c645a933b7a4f0c3bb7681abc24a1753c6660133bd611a53ad7abdbbb6843073c41d0753b4c2041ba3ab1653c7e5684bd1da819bb6356feb6c8677b3c136684bd9ff787ba983bc938f6a96c3cc54783bd1e9a22b8121c6339e942473ce9607abdab8286ba0a94133805ab723c25c172bd0fd326bbc908c33981f67a3c4e9867bdd8b638bb7232cfb8b2546e3c7bec48bd2fd5a3bbfabcd939e618913c082e30bd145e38bb0a52533a278a7a3c52bd0bbdd7aeac3cdd6d7dbdefb4113c460700bbfdcf02bd17b47bbda519043c0983abbacacf31bddfe482bd8c10d43bb979afba329412bd5c017abd2d74d43b081f08bb301cb2bc4b9956bd0a28d23be15771ba79d38abc5d2532bd53d7b73ba20a7eba68a5e1bb9cb2e5bc2639263b50c42c39829a9a3b4d602abcc43c10ba1785be396ad2cf3c84ef47bc5dd0533b1ab3acb9ca1d1f3cfd39c9bd48af953fd88a873d69820f3c5d96c1bdd0f18e3fb10b443d3115113c539aa4bd83ed7b3f58220f3d5d40143ca8f58ebd6663533f3a278a3c1cb3343c79d686bd7060283f4de980bb0822413c34cb86bd8160fd3e39ebbebc8c023e3c08ff81bddc34a63e2ecb21bdff21533cadf68abd4151243e94284fbd2b38673ced1085bd35132a3d7b4286bd1133e0bbac8bd6b900000000000000005286a4bbdb58ca3a00000000000000004ba128bbaabd08b900000000000000006165cd3a147d4cba00000000000000009e77583bffeb83ba00000000000000007117bb3b1f7f66ba0000000000000000157ad03b7397abba0000000000000000e565e83b21d6dc3800000000000000008cc9503cc99d4abb0000000000000000a3eaaa3c4f0e41bd9d73483d7952babc8418b93ccc403cbd3f34253db57a5bbc41c59e3c138125bd6b9d0e3df7376dbc9d7e9c3cb8c50dbd587eda3cd1af6bbb5192823cc4b2f4bc0c49ab3ca376d5bb9a1b693cc45ec8bc0a15563ca6ed4e3a7d7e353c47549ebc7a3f2c3cbaa752bb0563343c72f56bbc19b2c93a3f11d73b01fcfb3b1a6643bcbc90a43b2b6ab13ae4340b3c874db6ba11f08b3c5fd398bd916a203ce363d4ba9534ac3c179aa5bdfc8d0c3cc30ca6bac16b8a3ccc409abd344bbe3bd48d6eba240c9a3ccdc89ebd6b42c83be78d18ba9815973cbf1b96bdbb7d543ba808e5b97432a13cf95d92bda87b4b3bd6faf23824baa63c275382bd0edcafbaf0783f3ad9e7a93cdd6d7abdbca86dba6a44273ac766963cef884bbd1179833dbe8899bd908f363c2d9f59bbc8891e3d18aac7bd8208893ca8df9dbbf76b023d681fbabd8ce3713c384192bbd769b43caa6bc5bd02dd933cfa9485bb1e61043d08d7acbd79ea823caf5095bb75c5033d069d96bdb145793ca2534ebb7a382e3d98a070bd244b7b3c173a71bb0b05413dfa5235bd6f3c4e3c585838bb1651553de7dc04bdffed473ceade3dbb017a143c15a3bcbdca46793fd0786b3e935ac63ba856cebd1572753f28c1433ea0bf123c33a6acbd587f533f9cf5213e92c1173c01f0afbd69af3c3fcaf2e03dd2fd3c3c9832a1bdaacc183fc30d883da6a2423ca3fda3bd9480ef3e0ea2a03c90f1543c0f809dbd2c88a53e935f49bc0793813cef0da9bde64e4d3e87a276bde3ca823c117899bd0a12a53d76149cbda12cb6bcfb7c7e3a0000000000000000d09a98bccf7273390000000000000000b74c53bcb686d8b80000000000000000d038e6bb0cd6faba000000000000000072e304bbc49048ba000000000000000019ec943bb15f79bb0000000000000000f753d53b11a17abb00000000000000005cc76e3c28cf90bb0000000000000000ed045b3ca33457bb000000000000000016e5b13c409971bd3528893d876a28bd73f3d23cae5e78bd5c717d3dd4280dbd8fcfc43c31855fbdb4185d3dc192e6bc61ebb93c299149bdab3d3b3d1852bebc6e02a63c13643ebdaeeb1f3d9d269ebc16139c3cc9b71ebd6d94fd3c78b56bbc4b7e823cad7004bd43a2be3ceb4a1abc485f713c31bfe2bc7b8a823cc26187bbaa9d2f3c0feeb6bcdea4933c906719bc300b813c277034bb6573943c493899bd4b15853cfde35fbb2b83953c0f7aa5bde534783c74c025bbd10c973c3ec6a2bd28d74c3ce01806bbad46853c6df09dbd30933e3c4455edbadace9d3ce6ac9cbd4d280b3c10174abaf0e59d3cd57e92bdec7ddd3b1d4840ba0e30a33c41a58dbd2b8f3b3be78584b68fdcb33c04ad89bd6ce89c3bb1d468b9fd499a3c912965bddafcb33d26f3a3bd0a37233cf2b2adbbc096933d91fee7bddd0ba63cbbf19fbbefa0693d97b9f0bd2a12aa3c5e73cabb07805d3dfd62ebbdbcfeaa3c0635bbbb3c6c6d3dfe2bdbbdf7aeaf3c4342cdbb5b8c713d75bec1bd23e2b03c9a39c4bba97b823d05e7a5bd4937b13cb8e1adbb1fe78e3dbaa886bd3798b93cf4a1a0bba815933db78b53bd34a0a73cf558c4bb01f7cb3b6e4ba6bd5d67493f7e8ecf3ef762ce3b2f73b3bdc000453f2f0db73ea542e13b816ea9bdc3bd333f6f95983eb87b1c3cc3899fbd6dc41c3f8282683ef6e6153c375d9ebdeb87033fb8bf1e3e0d96133c99a69dbd528fd03e6cafb03dac7d3e3c9c90a1bda4c99a3ee03b8e3c1500633c4946a4bd1ab04c3e1c8b39bd777c683c8b9f98bd98f3d13d61b2a3bd288d2bbd43f66e3b00000000000000000bfc14bdc39191ba0000000000000000dd98f0bcede38fb900000000000000007d5b9abc4e58f7ba000000000000000023cb53bcc91df7ba0000000000000000932d7fbbc3915fbb0000000000000000eae8733b509c99bb000000000000000093413d3cc308d4bb000000000000000065bc1f3c622180bb00000000000000005ee1a63cc28b7abdc68e9d3df98455bd200ec33ca27e7ebd5e34943d0d3646bdf8e9ac3c9c7d69bd22ab813d187729bd2c41b93c95ef64bdda86753df7531abd124a843c9a5d38bd7ad7493d899a11bde3bc993c2db845bd22ad363d86cde8bc4cf77a3cd83216bdaa71163d00c4babc54de7d3c89dc09bd676ae63cf3f886bc7bb1473c8904f0bc59f6d23c680587bca9c6963cbe7d6fbbf1a6713cfbdb86bd9470bb3ca74193bb6e806b3ca22d8abdd1b9933c876254bb83ea5f3c895486bddc7fa43c7b4b1dbb5933873c6d598fbdb855693c3bfe31bb659d663ce4a478bdbfb9743cc17f14bb13ae913cafe685bd88921f3c3a2dc3baabb9953c272f82bdddfbfa3bb60fa3ba384e963c59367bbd1392fc3b9ae286bad8328e3c8aa35bbd4abaac3d87c29bbdc706fa3bdc16a4bbae2ca03d0410ebbd909a963c1ea1dbbb75d5833d6d95ecbd811f893c1efdcbbb02fa873dd47800bee6dbc33c611a16bcdd82843d4f02bcbd5b03523c178d8cbb8c428a3d9519d8bdd4e4de3c3d98f3bbf08d8d3de92eadbd649cbd3c5cfdcbbb8df4993d518b97bd6a55e23ceaffbdbb31ae9c3d2b496abd601ecf3ceee8d3bb7f80ad3b605d83bd5777183f8076173f9d728e3bfd5e88bdc01c133f4f8d093f8b04a33b766080bdcbef063ff741e73eb23cba3b5d0986bdd4e0f23ea1beb83e7b99043c15d268bd1439c33ea7a3873e91b9d43b94cc81bd77e4a83eecc5283ec780ea3b7c7679bd35187b3eb402993dada91d3c2bc886bd97b2323eaa5289bcc8633e3ca80784bd2d8ec53d4f8c94bd29f37ebd4f11953b0000000000000000ede065bda2f3ae3a00000000000000005ed035bd29edd53a000000000000000032d30dbdc3afc8ba00000000000000009ea7ecbce9707b39000000000000000002e365bccca2b1bb0000000000000000e5c1cdbb4d5b63bb0000000000000000479da63bd9cdf8bb00000000000000002012943b94b7b4bb00000000000000009cb58f3c8e9f52bd1feb8f3d320c4fbd593ea53ce19963bdebcf8f3d47165dbda7de9e3c6bcf54bd37e9853da24144bd21bc9b3ce2b74abd00156e3ddf692fbd976f8d3c87a73fbd473b5f3dff9325bd417e8c3ca17f2dbd09483a3df86e02bd4063873c934820bd1cfc253d9c34d8bce2e3643c6b2807bd7ace003d46a1a4bc0a68403c61d1e8bcdc0aea3cddb1a8bcf7a9b23cef18b9bb9ca32a3c69984dbd8eece53ce241b8bbc1fc303cc4ce51bd8194d93c0bc4a7bbcd93343cb0f252bdced3bf3c95a196bbbdcd233c1e6e4fbd5b0aad3c73aa5dbba29d493cbe4d57bdb4a29a3c37fe3ebb8a5d3d3c9a0050bdf989503cd509abba4da9443ca69149bd2eaa263ca91014bac4a0653c5db846bd4c8f1b3c4dd901bbb21a6b3c91e937bd1acf863d784a8bbd268d913a38705ebb63d47d3d5fe1ebbd0e6a853c5dc204bc4b625b3d6a2f03befff6943c6a9505bcb45f543d03fdfdbdf8ad983c7514f5bbdbe2643d3c06f2bdd659c23cf4b50fbc33eb683d32b1dabd9390c63c514f04bc6b37743d6b87bebda049f33c77e015bcae73873d68929ebd9533063d16bb16bcebdd8c3d8f355ebd5226d93c6831ddbbc6a0253ba77335bdadf7d13e768f473f1132953a909c3abd681dcb3ed3673b3f3bb2cc3af69e39bd8760be3e2d71203fedfe063b87f12ebdb6d8aa3ee5da003f7c74403be90c2cbd1ed0933ef81cc13e50126f3b77af30bd45fa743eaecd7f3efc7a893beeb537bd584b3d3e3b85013ed5a5cd3b607641bd112a073ed063523c6f89cb3bcfdb49bd2a28983d355b82bdd2fea1bddbf3ce3b00000000000000004a2f9ebdffbd693b000000000000000009f781bd24732c3b00000000000000009b2c4fbda692d33a000000000000000086de1cbd32759dba00000000000000008424dfbc6eba7fbb0000000000000000ea3473bc95728bbb000000000000000053dbb6ba7e69f3bb00000000000000003ebddbba1eb599bb0000000000000000fe734d3ce0b117bd3d76643d6ae635bd630f653cb6e91fbdde146e3d901346bd95ad643c4f411bbd6a2c573d29ba30bda734623c70d918bda17e5b3d58b42abd0f5f4d3ca9e60ebdf003413d31361abd691b4b3c278305bd3009313d5e4d06bda497283ca9c1f4bc65571c3d2fb0f2bca0e9273c32ebd2bc9931fd3c2c51a9bc3308163c7a8dbbbc7088e03c45159fbc11c4ba3c8332ccbb9c07973bc508ecbc6976fa3c2213d8bbf468843bca47e1bcdc4dca3cd5a1acbbd3e6943b7e87f7bcc355d43c85e2a1bb175b8c3b6877f4bce4efab3c3df176bbbfdda73bae41edbc6615963c7f2b67bb47f4c93b8d7affbcbb0b7f3c904a5bbbd602053cb826f4bca6b51a3c54c45cba43250c3c7c94f1bc19e2203c613cfdba562af83b16bee3bcc0c3143d756d82bdf9efefb98b1b54bb0293fd3cf26eedbd97cd4d3cf59103bc284ce13c1686dabdf01be73b2112c0bb5df6d43cf93bffbd3dc4793c34f601bc1f3ff83c7f58ddbd02bc8b3cd4b2e5bbe8fc033de2c6d2bd1b9ec53cb824fbbb5adc193dd2989ebd6b06b33c2059c5bb53be2e3d538291bd7b980d3d978f18bc001b423d8c6f42bd0872e43ccbaae9bbf3b638395d71c4bce0446f3e7e0a783f5c2e6139ebb7c2bcd5b7613e0e1a6d3f32c1653abf14c7bc56a15c3e0b4d453f5eeba13afc83c1bccbce483ef911263fd70c80ba096aa8bcf4282c3ed81df93ef26d8d39c6e3b7bc4963113e6c77ad3e3a91b43af283cdbc7d25da3db4ca483e0dc33a3a9b75cebc63059a3dd0bc303dbb9e3f3b34f9dcbc8e5a253d45345abdf1e3b6bd18cdf03b0000000000000000b548c0bd1201c63b00000000000000000b7b94bd14e78e3b00000000000000005a4580bdf9d6223b0000000000000000d6574bbdfb9bb3b8000000000000000066ee19bd4cf5b5ba0000000000000000c40be2bc069210bb0000000000000000fd2717bc4b4fbcbb0000000000000000af27d2bb2586a8bb00000000000000001dbf863bee355abc2338013d5a0502bde4e4893bd6da55bcc6bc0f3d3d7904bd2a429b3b31a681bc1f63123d0db2fcbcc2b7c13bdbb781bc2aba0f3d9f61f8bc23729b3bf47985bc381d033d29a0f2bc8e0db43bec866bbc6f4bf83cb8b5d7bca33cac3b703b73bc3feee43c79f9a9bc00e6503bd2e033bcb678ad3cbc1465bc50fe6f3ba03e41bcf559aa3c4ae283bc9828b23cd44bb9bb39a3d23ab39c1ebca7c4ff3cb692e2bb28b9ccb989469bbbbd02dd3cab8cb6bbd39a5cba380fbcbbd637d13cfcfd91bb952522ba2e8c0dbc92daad3c88267dbb8fcf963a55de09bc08019e3c0a0e80bb239bbcbae20813bcb894623cf98de0ba5d83773aa6c8f4bbd7de193c0be683ba38be2b3a7df0afbbc582083cb7a0e5ba3cf14d3b846408bc29cf93bb9ce75ebdc96c2ebc7f601ebb3d98d1bba432f7bd1a90fd3b7e61f2bbd1fc0ebc4a5e00be44e5543b870ebabb98b50bbcacd3f0bd3f70ca3b0491ebbb89b28bbb51bccebd3e3a083ca43fb6bb6cec95ba8903bcbd9fd97b3c2635b9bbeecfac3b985e9cbd8d79ac3cae62febba3bc2e3cf30a70bd286ef73c609d00bc21ba993cf63105bd6be2c93cd569cabb361404389becb5bb88be873d5653953f029fa23aa4e903bcb33c8e3d616c8c3ffef2e73a82f3c8bb443c993d0841723f883ca4b9984783bbbfbe963d6578463fb356fbb9c42c77bbacb7823df053183fa62fcc3a311c9fbbe3b7543d0bd0d63e94f0ed3943abbabb4b1b163df76a773e10b29cb98e7c96bb6bdb9b3c63b48f3df9f90e3a85edf7bb22fc07ba62fd1ebdfc87c8bd4e7b123c000000000000000066f7babd1607db3b0000000000000000f8ee9cbd03a0b43b0000000000000000e6ad85bd6839673b0000000000000000b0c45dbd8c0e843a0000000000000000093b3abd631d1c3a00000000000000002aa5fdbc904ba7ba00000000000000005fe47dbc7e07b8bb000000000000000044468dbca7a750bb0000000000000000000000000000000000000000000000006928bbbace4d8d3bb0ae883b941230bcd786acba061c753b847dd53b2cf544bc092629b90868db3ad3a0ee3bc3b864bcfa3d36ba59b0913aeefae33ba55a7dbcc953aaba984d3e3a22de0b3cd1015dbc18fb58bad168163ac941033cfffa34bc8f16b2bace4f133a98db0f3cd83f23bc0000000000000000000000000000000000000000000000000000000000000000ef068b3c173058bb120e65bb64b9313cc076903c1f2235bb0fcd85bbb2f6073ce1aa6a3c766613bbcea88cbbd587043c26fe6e3c733921bb967156bbe278013ca45d333c52ebc2baa62001394975c83ba1941c3cfec4b9ba8b3b49bbaa17e63b2997d03ba0cc09baf65100bb5b48093c0000000000000000000000000000000000000000000000000000000000000000e95003bd9c1e9fbdbc0185bc298edcba4959f1bc8bd7b0bd18ff28bcb32461bbb1cde0bc754a9bbda27b3cbc8691cabae6aac9bcebd583bd460300bc740226bbce45bfbcbfe95bbdf92c34bb83e7edba0f2e9ebc66b42dbdcb36793bf09060bbe57b64bc354ddbbc52571d3cd2a380bb000000000000000000000000000000000000000000000000000000000000803fc5ccd03952e7c33b675b4ebdbf2d953f6fc76d3ac0dfd63b2704f6bce5507c3f07c99639794bd83b866cb4bcd5ab503fb33b4abaf512043cdd6ba2bc18e2233f240da3bb2bea1a3c477192bcbe6bec3e77a2babac6670d3c70ca8fbcb3a4903e3193d0ba4a7a183ccbe5c5bcd16dee3d00000000000000000000000000000000000000000000000000000000000000003a0881bdd36ece3b00000000000000007a7342bd5fb1963b0000000000000000ef1c2cbd9bae7a3b0000000000000000b9161ebdf1085f3b000000000000000015f307bd221f983800000000000000007d19e0bce23d9f3a0000000000000000a2abcebc9470ac3800000000000000000000000000000000000000000000000000000000000000000000000000000000dc0836bc88728b3ccd50423d04b6103b0797eabbf374a23c8e59353de5c4753b6b5023bbc076b63c632a203d1c75fe3bc32217bb19848e3c6792003d125a8c3b9f1779bb98928c3cc12c9a3c02bc603bcc2e0abb0dfb2e3c3e673a3c26e6273a521078bbc5c5af3b6d89123ba4a93dbb0000000000000000000000000000000000000000000000000000000000000000a5e77dbba65b9fbaf7fbaa3b1f880c3cc13ffdbab59bcfba3df1c7ba67679bba589c1a3ae0f843bbd3343dbb4b3377bc2c71423ba06103baef0194bb99f64abc9ea4903a1bf77b39e159dcbbeae61abc05f7f53a811683392fd200bc9704e6bbb91df8b9d7fa473b14361dbcc806e03b0000000000000000000000000000000000000000000000000000000000000000254c7fbe1dc8ce3c3c1ca73aa4a537ba865471be10b96c3ca0b7983a8b00e8bad36f60be51aa3b3b6372a33a97cda2ba130a36beb16a2a3a5cc53ebb37f3c839b112f3bd98f4ecba68c0d4b934fb88bac3417bbd4c069abb00b583bbe9fdbc3a7c1331bcae3786baf00c57bb3544b03a0000000000000000000000000000000000000000000000000000803f00000000be059f3cdd34f8bdf851ae3f987f00bea0a81a3c640a89bdb1a78f3ff9daa7bd9d93f63bbf6940bd1417713fa2688bbd738d5a3b0856c9bcb521333fce7236bdcafff43ab41296bb54ade23e23febcbcf8e0c03a3b572d3cbd32593e0eec9d3a65bae73a771a893cfdc34fbc10d89d3c000000000000000000000000000000000000000000000000000000000000000037a1bd3c21d5c5bb00000000000000007763823c102acfba0000000000000000ea56213c7a1cc63900000000000000003cfb1d3c5486623400000000000000001b14c23ba286af3800000000000000005111dc3a43877eb700000000000000003ae8d6394500adba000000000000000000000000000000000000000000000000e9243ebcc151353c5f1fc03c9828373a1fc768bc25568c3cf7b0243d7c8ed6bac85613bc4831c13c5dd63b3dec65e83b262bffbb6322da3c8b04223dc5cfd03b04cccebbe87ac83c1c53fc3cf81ce13bd0bfbbbb0c92aa3c0254b03ca0e8bc3bd49f03bcbad2933c12d4103cc7b49f3a59380bbc69455c3c8b7992b88a84b4bab69e3bbc0099fd3b7979dbbb833f78bbbd9cc6bb1f57ceba2a68793cbd2ea5bb6ae829bbf140d4badb60633ce8818bbb74ffd5baed6078bba6da613c7409a3bc1d823c3b0fadaabb7210073c7127acbc9652c23aae2871bb574c3d3bcc78a6bcd36a193bc59727bbfb668eba77815abc95f73c3b43c6f2ba96233ebba332dabbfb33ff39a93cdb3a7f33acbbfb2ec2ba259c0bbbd2e6643a5ecc94bb77d1553c311702beba98873c14f72d3b5a7768b987a03cbefe88903c801aaebbc9ac463b9f1669beb061d53ad72f50ba1e55db3aeb4d5bbe6cb531bb4cf036bbcec42a3bd4c82fbe739806bc0bce41bb7fc7fc3a4aa9f9bd04f141bc42588bbb3f4f143be49980bd069119bc778c10bb4fbfb93af72270bc6d32d6bb3b05b3baf50b053bf9c0a33c9022ad3b7252d7badd2fda3aada1403d244c67bebc77ae3fea7df8bb7660183d4e143abe218a9b3f7ae0543c699bec3c595b22be46c0913f51955f3967ceb53c6a3403be05c5723fc698903ac236a73ce6aebebdf26b373f813ad23bcd3b873c671679bdf2fdee3ec9718f3c33b3593c05e90bbdcdca6c3ee3beb13cdda12a3cd969c4bbd9f93a3dc48ee93c6463803cfc161dbc94aef3bd19e5943c441e67bba3ee84bb0000000000000000a9dd08bcf4e94eb90000000000000000c5bcbebb1de9683a00000000000000000d47a4bbf4d28c3a00000000000000009a21d6bbd1765d3b000000000000000071c2e4bb4ecd953b0000000000000000d11011bc69ac353b0000000000000000d9c957bc16ac903b0000000000000000b6e6aebbcbee743a00000000000000007bb870bb013da33b56688b3c611b253b0bb3e8bb29fc813c0b22f13c9faa1e3cfb269cbb671ba93c88990c3dccb24a3cb9836dbbc121cb3c7fd2053d52f8463cc0f719bbbcf4ac3c0631d53cc51d173c1c1fe7bb793fb63c1dae743ce580063c47410fbc03259d3c834fed3b6b30943bdcb54dbc69cc8a3cbfef58bb3354573afb58ffbbfe4fc73b1e81bbbb6fcfffbabc7d78bbfc1131bb4379903c869ceebc3b4c61bab00dbbbbc7cea03c6d6802bd8b4e973ac35001bcea57933c60640fbd0e2d803bb43dfbbbbd786a3c701c1bbd4a85423bd8a6b1bb2dae1a3cd9220fbda3a37d3b553995bbbe22dc3b6ad2b7bca4f1443ba4ad78bb8bd0623bf2636cbc7c652f3bc60ea0bbb226123bb6284fbb20c3143a0dcedcb9628aae3aa027883b1c4454bd00d896bb6bd325bbb14e1e3b52a813be5b4486bc36aed1baa065ad3bcc5f38becdfab6bcc991b4ba8fcb8e3bdabc34be01c8b8bc5e9781bb9f7a5c3b59af13be883bb0bc86c7a6bbd3669c3bdcf8d8bd861b8ebcfff4b2bb161a523b41af63bd269e44bc463390bb18dd373b404085bc60504dbb7c7b1fbbc7f6353b2c35203c94b0fc3b62b227bbeb27cb3a626f3d3dfbd459be763d8f3f674c4b3eaa483a3d34af61be115b913f219b2d3ea24a183d4c3a43be49a6853f7137063eaa23f93c7f7026be15b7623f146fcf3ddf46e53cc7f303bebefd2d3f0deca23d134bdf3c614ac9bd0166ee3ef95f733d3f59b33c140587bd6ea27c3ebd4b233d6315ab3c35772dbdd1238f3d4722973c349a8f3cfb1ef1bc97c323bdae9d8abb851644bd5823d43b000000000000000014c245bded15db3b00000000000000004b2f1ebd2cbc023c0000000000000000aca6f1bc2218023c00000000000000003559ccbc0ff6f43b00000000000000005affbebc304e123c0000000000000000786d84bc1a3ac73b0000000000000000808884bc54e2cd3b000000000000000087ba21bcd0d6943b0000000000000000975ecf3a18b9abbbd413873ce8dc123c776423bb13c9113c44a5e03c4be56e3cdb7460ba06387c3c917afd3c448b963cd1fff5ba12008e3c044dde3c465a983ca4f6c7ba1818ab3c92d3aa3cbbcf7c3c686252bbd036a03c8525523c779d2b3ca17ac7bb7222813c71bd6b3becadd83bef5415bcf2ba723c03b3f9ba151b1b3b3a850fbc189c133cd827cdbbcee0b73a5add4abb757187bbcf31b13cda7d2dbd45e3ad385cebffbb0f7ab43c188a26bd5b661d3b5fd20bbca971a63cfb7a3fbd3bafb23bdae302bc225e9a3c6ff842bd00eaa13b35a3eabb18b38a3c865829bd961c9c3b027800bcf24e293c0efdfdbcb351ad3b155aebbbac9f123cc486c4bcf58b113b871fbebb55fbc13bb6c606bcef9a493ae01a65bb438e793b35172ebb7545afbcff380fbd51ab073bcfa4983ba372c9bd452e5fbd8e6cab3a4090d33b413b09becd9084bd66b4ef3a57616c3b69d405be1c0d74bd28f578bbe16eb43bb7bef0bd7e023fbd6e026dbb22b1573b2b35a9bd973709bdfa5d8ebbeff05c3b245932bdd3da8abc80fad4bb0b5b983b638467bcae0893bb130d54bbc0223e3b19c7183c10b6353cc32579ba60c7a337d4441c3dced247be91856e3f014cd93eead42d3de85f52be14c36f3f0bc7c73e97df093dc5c13abe7cc45f3f9df4a73e6d7dff3c85f420bedf95403f6e377f3edd2dce3cfa1509be5aca1a3f5579353ebf71bc3c38b2d5bdad6ed73e7f7ce63dbdccbe3c81579dbdd70f7b3e09d6623de098b53caa9264bd48afc23da0df053cc892b43cb26235bdaea5f9bbe3d514bd5878cfbd218c853c0000000000000000c8dccabd97ae943c0000000000000000b6eea7bd75f8983c0000000000000000a9ee74bda671713c0000000000000000ba753abd26a65e3c0000000000000000449205bde4b24c3c0000000000000000873ccbbcc7523e3c0000000000000000fd9e5ebc1b73213c00000000000000004e91e5bb583e983b0000000000000000c715333b6d0414bc7b1a803c8f5b6e3cf254223b567c21b9a64ebc3ca531b53c176a203b0749df3bf075d23c9517d73ccbc27c3b4b233a3c908dac3c7029e13cd6187b3b5b42173c5aee883c13ae8e3cf1b7c03a6a56663cbcf8193c3927883c74b31ebbcb762e3cc44f843b8dec193ce85793bb13c22d3cb358cebb93549b3b191298bb4922b73beea1c6bbed23c03a736881ba430f93bb0d018f3c02b52fbd559b00b9b774e8bb2267ac3cf70c35bd6b41953bfb3615bca686933caf3941bd3a7d483bd5611ebce0fe8b3cdc0c3fbd629f8c3bdd2ed3bb51e3733c17813abd3848873b858b08bc55c0493cc1fa1abdce265c3b5f4317bc2151303c518adbbcd082143b7055dcbbf427f73b065b71bc8ba8e5ba31b3a2bbc07df93bef4007bc278d6b3b50d686bd7b036b3b487dd43bc5505abd454dd3bd9dd6fe3bbcd3003c58e1aabd9fd7e3bde662a23b9633b83b4750bcbd7e97cfbd503f2a3bea4ee33bd62196bd3c2a98bd522981ba29b3753b868682bde39b41bdd8c4a3bb833d763ba61f0abd669aa1bc15f88abb4ca2543b4baf17bc22019b3a9068ddba5930043b0867463cf483363c3a45483b876ff63a454ee83c9baa1ebe08db303fd0c82c3fb6e5f83c671626be33ba323fa73c223f1589d13cb56514beb460283f09490b3f8cb5b43ce5f509be47f3163f1845d73e3e65943ce586d4bd7415f03ee63f973e18cdac3c81d1c6bd79deb83e8ee9323e09a18c3c9e6a92bd1dfa623edf03923da9fb973ca7655dbda3edd93d5cb023bc22658a3c23dc3bbdcc1aa53cdad785bdcf1e1abe7ecdc73c000000000000000033c514be376ad53c0000000000000000a529f9bde2abcb3c00000000000000005984bebda2a0a93c0000000000000000ad0586bd2573913c0000000000000000c6f638bd4546973c00000000000000001552ccbc14e1543c000000000000000024bd3ebcd874233c000000000000000016d9c0bb02211f3c000000000000000077e47a3be8d820bc8bca553cc1ec5f3cb840943a40bd72bb3d00953cc933fb3ce6b85a3beb0c813aed5d9d3c3b55063d536aa23b411e073c15ad933c4bb2f63c1d4c243b7224ff3b0288593c9355d53c0599523bd0722a3cd349c93be2e09c3cd6153a3a6d98433c5150b13a3d73533c8ba595bb87df1e3c929e6bbba371f13bd9a524bad67c203b558300bcdb4d753bb7128bbabc5e8abb9c3e5a3c909212bd319eca3b55fa37bcf9fb893ca7431dbd2c32e63ba2ca55bc03ad713cbefa18bd095e323c3da440bc0fcd3e3c2b3527bd63d1f33b95c015bc546c5f3c13721dbdce3eb43b3a1b3ebca441373c507b0abd05169a3bab7e17bcfa6d0a3c7241cfbcdf025e3b64a33cbcf6391c3c068393bcaeadcd3aa7240fbc17e7ed3b13ac1cbc63a0c53c3d4ebebd54f0fc3b00e5073c27d9a8bc3c0f19beb6ab733c751b103c1f833cbd74a225be54653d3c2635033c3e8b66bdc31811be277de23a44f9d23bbf3b71bdb273dcbd8c9d153a9b286a3b54e33abd0d0f86bd25f390ba8197373b6e3d02bd4e91dabcc4ad69bb4eedc03aa9e438bc531816bb2c37f4b908d31fba8e96f73bbab9833c82f2283b8f1b403a60949d3c238ecebde200de3ef9eb6b3f4b72913c1ddbe2bd2f19e63ec94c613f7eae9f3c6d6edcbd22e6df3e345a433f3e90803c7344c4bded49cb3e95491a3f3240773c648ab6bdf958b13e2e34d93efe0f5e3ca8f798bd71f68b3e61907e3e81e04a3c50cc79bd25ad413eada4c93db6a06e3c32b33fbd4e9fd53de6566ebc2b1d2a3cfa3416bd1f8c133dc491babd1ddd42becd36073d000000000000000012c347beb71e213d0000000000000000bef223be7a9e0f3d0000000000000000de82f8bd4e11013d0000000000000000a15ab3bd25f6d53c0000000000000000cb2864bd1486c13c00000000000000008692e1bce757923c00000000000000008ebe10bcfab3743c0000000000000000ef90a0ba971d2a3c00000000000000003a291a3a030626bc1b65063c7a8f943c1f5c103b18aa72bbf5ba3e3c2a89073d8c5e963aced2503a8794713c490f243d4db31c3ba7e2b13b5ae75a3c7cd4153dac45583bb8b7f83be6b6233c178de63c0e88593bec7d333c19777a3bd23dc13c7e1acc3a436def3b3e27193b7031663cb5cce6ba937e223cf0ec9dbb6cb8f13b9f001bba45e36d3b733eecbb52f2a43b9454633b2c9f18bc1eb8293c042ec5bcc58f163cfa3867bc3a2b253c3690cfbc7375353cbb9b63bcf561fc3bdaceadbcbe8e4c3cdab653bc14fefa3be25addbc590c0a3cbb403abc1972c53b0051d0bcd21cfa3bf0ea4ebc48b5bc3bfa7ecdbc03f99b3b1af931bc2445cd3bf2b9aebc9ff31b3bc02725bcc6a1bf3bb23064bc073b383aab81f0bb09eb913be3361fbc6cfd013d277bdebdd8209b3ce00bc23bd1479f3bd18a40be4d26b43c8186f03b2432b3bc55f154bec4e08a3c7430be3b882f02bd654c3cbef251083cddfba63bd5ff0dbd55b40dbe3478483ba20c3e3b985a0dbdd3b6b5bdd2bf2d3a4e7d9db94f2dd2bcc43624bd4f4241ba9969c636191745bc4e9162bb9afcc039287e26bb930eb43b142d8c3c4b15403be57d42bbf054e03b0ae948bd29e4543e42b98d3ff7a5273cabf768bd20d75a3e63558c3ff04def3b716a62bd84575b3ed3f3773fc747e13b1c914fbd42ec533eec89453f026dd13bf59742bd535a443e67570e3fd957f93baff739bd2e76303ec00caa3e1cf4063c12be18bd4a95093e947e0a3e97af173c963b07bd2ffeb23d010768bc7cfda13b9e4dbdbc2601223dc648d9bd753d56beea75253d000000000000000030245abebfd1363d0000000000000000c42238bec150203d0000000000000000ccf30dbe76cf073d0000000000000000e743c4bd87dff43c00000000000000009f4766bda116c73c0000000000000000529ad1bc28f0913c0000000000000000f472b9b960c4623c00000000000000003b95203c46b4073c0000000000000000bbe10d3a128901bcc1a2a93b6e7ece3c95d3a339ff1484bb9475c73b3620313dc74e86ba68340d3b3802473cf30b3c3ddc20a93aa255823be28e163c60de2e3d6e60543ae7eeb73ba418243c3ca4063d57ebea3ac299fe3b18ccb53b858bc73c54fe0e3bfadbfa3ba2a516ba9eb7723cd0e9f9395657f03b55b11ebb41a7aa3b62dd0fb9161be33af38fa0bb9262d33a86f1cb3b46de43bcd4852d3bf6fd90bbbf50b53ba3567bbc1709a13b93982ebc4b9a3a3ccdb946bc9b3b293be2e429bcd860433cad0b24bc8903ef3aa7373abc83af1f3c23041abc2268483b278c5ebccbde003cfa500abcef9bef39cc426bbc7b998b3bf811fcbbd464563a80d439bcf9fd0d3b3af8b2bbea44433bfe8e21bc4706bfbacd42babbee8493398576adbba360bd3c083d23bef2a8fb3cda3c903b674d5f3cb86257be8bc91b3da86a54b9485224bc94e276be3215ad3c50519d3a68398dbcecce61beec3c703c3fe94bba92a1bdbcbc4a2fbe73eae93b7106ccbae4c9c3bc985ae4bd216ccb393267f6bacf2eafbc2a1b4abd890787bae98282bbd8485bbc63638cbbf640c8bbd83c25bb9a07313b195ad63c7009a43b97c080bb96fa81bbb74b9cbb001e92bb85f8ad3f965c70bb1ef756bcfe4d273db784993f636256381e7474bced693d3d32598d3fe0fd0bbbb33e86bc73f5723d9178653fd8a309bad5f476bce631893ded75273f7d13753a8e157bbc97e9923dd042cf3ebb233f38f2da68bcf89f8b3dc956343eb4b80f3b37aa79bca20a6a3d6b7afe3bddf58b3a9fb492bb1beec83c9a941bbeceda65be3a1c393d000000000000000053593cbe0e042a3d0000000000000000570b22be1713163d0000000000000000f3d4f9bd5efaf73c0000000000000000b4c3a6bd9a64c33c0000000000000000311631bd863fb13c0000000000000000a7f948bcb4705c3c0000000000000000ea15923c0758633b00000000000000007d8dbe3c53798b3b000000000000000000000000000000000000000000000000660958bb15700dbb05cbcb3b0549393dd6d4edbab92ba73a361b243ce98d2d3daf1373b67b494d3b1b8b313c2354193d4bb158ba3041d03bcc90de3b4a86e73c90b3d93ad18ab33b2df1b63b430f9c3c4706d2397a05a23bc50a493bf7844e3cf2a6cd398b50553b9fb34dba502a3e3b00000000000000000000000000000000000000000000000000000000000000004cb5173c153a3abc7c116abb0d3a4b3c0323113c38e003bce1a5f6ba5f05b43b545e363ca4e7b5bbd1858abb42c2b13b98d8063c7ddd98bbb8bb77bb15f61c3bbbd7d53bf3a457bb4738acbbeda929ba4a0caa3b129858bb2da84fbb6b1f11bbb3c13c39c175ddba9fc405bbb68301bb0000000000000000000000000000000000000000000000000000000000000000cdd0f13a102d7dbe21c6ef3c9323e2ba03751fbc50f16dbedf5b913c51d495bb8ae3b4bcb96d5abedd07ae3b50b23dbbc75dbabcb6c92ebea7845e3b032da2bb41dfa4bca0c2ebbdcdae0f38e128f1bb535f90bcf66c67bdd7bdf6bb55cbecba69cbf0bbb98192bb65d2dabae31a90bb000000000000000000000000000000000000000000000000000000000000803fca6e0ebcc73a9a3c63b0ecbd4a60ae3fb62becbb99c13b3c46867dbd2814903f5ca4f6bba9350d3c2ae537bd0219723ff134a4bb8066933b7c02d1bc5d48343f54c68abb6a00093ce82619bcaa2ae73e7c818fbbe250a63b645aae3b86a2603e40109ebb86a01a3c6a0cf13be31811bc000000000000000000000000000000000000000000000000000000000000000024cb04be91add93c0000000000000000f624a6bd59d39d3c0000000000000000b54487bde7e18c3c00000000000000008da02bbd746c803c0000000000000000e9fb98bce3d43b3c00000000000000007d3da83b8192ac3b0000000000000000c284a33c4b34e23a000000000000000000000000000000000000000000000000000000000000000000000000000000009d5840bcce86a53cec152f3db4ebb5bbdbb017bc1774913c7ddc453dcb62c6bbe12908bc7df3a13c92442f3db4180bbbcbda12bc4de1a43c912a0d3d890bbdbabf10fabbbf2c7e3c4664df3c89db5bbb782eefbbe7fb603cb7157b3cd24668bba798e8bb9d26183cbfc8933bec6dc0bb00000000000000000000000000000000000000000000000000000000000000009e5639bb19e8a83ba3c5403c40c5f7b94039ebba9c30b53bd331cf3bbc97adbaf39a0ebb71b7a13b1ac0a83b1dd4babb745a90b9ebf99e3b91a12d3b600bc2bb1e4794b97365ac3b27c52e3af6ea3abbd96c383a91dd693be2789bbbb0ac6f3b57fa2c3b4ecd6d3b7743c1bb7d00413c00000000000000000000000000000000000000000000000000000000000000007cc47bbeb0e42c3de6cc73bbddfd87bbaf3577be8437153dd5b637bbbe885cbb331467be9f5df03cbe3d1cbb59a284bb0c1d42bed295ca3cd8fbd9babf229dbb41f709be6825953c116f9539a41c9abb5061a0bd65631f3c89f8653ad71a62bbfd29d6bc1b15e43b24bcc939385220bb0000000000000000000000000000000000000000000000000000803f0000000001226f3cae29e8bd31cdae3f9cb6eabd2bdd2a3cf4f48cbdfd58903f8d7c9dbd4502193c258169bd8785723f4a578cbd823f1d3ca5c927bd25f2343f72bb40bdaee5183ce754d5bc21c5e83e95f1ddbc98dd133cc41b40bca08c5e3ef3e33e3a56b9283c73dadabb2d208bbc395ab03c000000000000000000000000000000000000000000000000000000000000000041c2413c23dfc8bb0000000000000000ea61d03b8c02b4bb0000000000000000fdbcc23b748f9abb0000000000000000bade6d3b065b87bb0000000000000000efc2bd3a3f6449bb0000000000000000d44606bb229229bb0000000000000000cfcf66bbfc2369bb000000000000000000000000000000000000000000000000a9c76fbb5e81383c225a183c8759903b36f329bcf544613c087d0b3de88e81bba25002bc0146803c79601c3d4a67083bfdcc13bc1e85a83ce7f2103d04d8683b38f405bc0d1c993cd34cf73cf588423b5f8e49bce4159b3c424c903cd8559c3b014751bcee47a23c0ed1d33becf8763b575a69bced35893c28f129bb34f1c53aca5848bc98876d3c21dd3abcee18dfb91b9201bc2bd4af3b159fc53cddeb10bd7fe5cabb2421cf3b6aecb43c81e2a0bc0272f1bbb80dc63b4f2cbc3c347fdfbc2dc1debbb6bfbe3bacc19a3c1cffc3bca518a1bba222973bab9c7b3c4315a6bcb21c9abb5b25ac3bc41d583c04a12ebcaedc9abb45e99b3b9ef9f23b5aa214bb186d87bbe5d89e3b6e832a3b1b6ef13ba9a54abbe564783bd95a3b3b3ceb743ca151cbbdd038c33bd9bf4dbb959067bb9ef62ebe615cae3c565601bca290d0ba617b51bea1f95e3c54c0a2bb418d8ebb77504fbe7929603ca70f6ebb069688bb8bd82dbe2ea2343c1aa68cbb605a82bb3159ffbdd2eff43b149269bb23af7ebbebe893bdcfff973b08a8e1ba95658dbb5bfdc5bc186e3bbbbc40783a6ec891bb23ebcb3be7bf2e3c085433bb34ee4cbbedaaf13c47603ebef4e5b03f2d0ebbbc75bdd73cc91121bec54da03f68f19cbca352c03c491f12be5457953f636f0ebd1e13bd3c7a9a00be68d57c3fcda70bbd6585c73c91c8ddbd8a8b443f3e2601bdb3f0cb3cf374babd7f6f063f9943b4bcf9bad53c549e95bd5d69933ea85048bc8357b63c0cf945bd683ba13dbf440a3c922fd73cc09961bd4339a4bd6b8d983b308229bb596ddcba000000000000000065b715bb5bcfc3ba0000000000000000976267ba608079ba0000000000000000781130bae57bdcba00000000000000000d82c3ba7e7d4db80000000000000000100d69ba3bbc16bb000000000000000077219abacfed53ba0000000000000000a571c0bbeabaef390000000000000000cc841ebb153ed8ba0000000000000000cbe2013c87833ebcf886be3bc341293c68219d3a1fda6f3b9586883ced6b7b3ce1b2d3b9093be13bd218b63cf98b6e3c00f94bbb9fd84b3c7bbca03c1c23953c199a93bb5fad673c822e5c3c0a53833c76f302bce667923c2dd2a73b6ecf813c070e31bcf8a09b3c0469bebb7481433cbfac76bc4ac0a23c039958bc3eac3c3ccb9e42bcb767603cdf9a98bc2c8fc43bb12c52bc704e8f3b47d2dd3c348f7bbd48d350bc646b943b2b28f63cc5c072bdcd4734bc059b5c3b9f0ef33c650d60bd180d4dbcee24823b090fe73c7d584cbdecab3cbcbea88c3b7eabe63c0be434bdcbda2abc38f7743b921fbb3c3baa07bd49b321bc7bb55d3bebc1a23c97c5adbcd5510fbca2c9863bd354833cc340b9bbc2de06bc40c94a3b9a58853c2ab468bba521103c623b31bd52cfe73ae92cd2bac590acbd7d5a11bd253076bb90caa1b9930cfebddffbe7bc7a1f19bbfb99e2ba85e307be8a0ba7bcd9f49abbab1002bbf165e8bd18056abccac3a1bb98bb2abba5d5b4bd14afafbb89baf2bb33e76bbbb1b33bbd86ad12ba5e26e2bb617134bbf93378bc629db53b735404bce5d897bb9fb4893c84042b3c9576ffbbbcfbfeba6d80e43cbe8f20be56df8f3f9bbc1d3e0187ff3c82ac2bbe8fce933f7af3c83df9b2db3c28d21fbefeb6893f33d76c3d12c0dd3c558c15be9166723fdf55903cb6bde43ce93008be8cab443fd53b17bc7680ea3c8c03f5bdf796103fbff4debc6588fd3c393ddebdb7d9b53e1b0e2abda8d9013db3e0c0bd69692c3e2e5033bd71b3e13cc562a0bd1282353d56ee4dbd38a9d1bc1c6c5e3b0000000000000000af06a3bcea42473b00000000000000008ac441bcfb7b5c3a0000000000000000b2f9f0bbc0c9f33a0000000000000000a3e517bb8cce033a00000000000000003ee6fa394bee1b3b00000000000000003d61b43bf87e853a0000000000000000c209693b3278263b00000000000000008f08a23bc6a15c3a0000000000000000d1135b3c55c4d9bcd6a2163c09358b3cf3560d3c21bf63bc1ace503c45c1df3c2fcadb3b862ac1bb7e0e7d3c7c7ded3cf719953bbfec41bb4537573c4dfedd3cc122d93ad814243b315cd13bc37edf3cc46b0abb130de03ba5c5f2ba9540c23c9d63f1bb0d82343c3ce526bc19cbb43cc3d42ebc05d0723c7a0ea4bc3d298c3c8febfebb8c81433c3ce2acbcc8c5543c35fd62bc09f67c3bfb74d33c78229bbd87898dbc62f7633bf6bce13c0af48dbdb72f85bcec57e63ae7ede93c000387bdabf682bc0afe393b2e36f23c234d80bdd15f83bc061d563b2ae1e73c2cce69bdc45f51bc9eb5573ad901dc3cabf43bbd3c8e7abc17061b3b47fbd43ca32113bd4a616ebce217473b460fb73c57aebabc60c440bcd958993a2df3b03c6314afbc5a64953d63ffd5bdee261a3c681119bb78b214bc8a34d0bd41f7df3b3076d3ba95e356bd71f7babd1e24693b0e6700bb3d4382bd00668cbd4c6681ba88ecd9ba4d067dbd135b4cbd74a2aebbca2932bb782734bdf1c301bd951eecbb40224bbbf11678bcef4379bc37552abcdaa888ba9d7eae3bc8e57db97a3034bc94084abb1d52133ddc36053c687d29bcf99a8cbb13b0df3cb15b02becc36683f5e69b73e38bfe73c6ffd10bef671703fe65c963e9501da3c48ed0cbe6abe663f77f7563e11dac93ca42b00be0c82503fa434f43d1b20df3cfd80f9bda293323f15e1323df421dd3cc6adecbd40610a3fa8365fbce099e63cfaced3bd1c51c03e31e57dbdab6ae53c7c9ac2bd9eb6663ed4d7bfbd34ece63c334fb8bd3f1de83defcdf0bd155e5dbd432f023c0000000000000000672e44bd4aa91a3c0000000000000000a76e05bd3c12033c0000000000000000a34c93bcbef5db3b0000000000000000d8c4dbbb2f60943b000000000000000088f53a3be990c03b0000000000000000da732a3cc2225e3b0000000000000000f2ea7e3c937b3e3b0000000000000000715e933cee144a3b0000000000000000d872873c95f819bd14cc9a3cb38d973cb51a733c4e0dddbc5cd9863c85fe133d9b7f393cc134b9bcfa6f833c582f153dfbd4223cfe7f52bc11591a3c5929243dfd6e153c439858bcf631113c0945e33cd2fb1d3b2c8b82bb22f65abb612d003d871fa13961589d3affce1fbc0e0ebb3ce1fb3fbbf3e3cb3b4c909ebc942c983c380a13bbba54463b9e33b0bc0e7c733c4e625bbca3e5bc3aef05a53cb9ad8dbde90993bcfe4e5b3916bac03c57ce91bdc36f7abc293ac4babe94d13c45d085bd61949bbcf8f2683a3a3ad73c6fd581bd5e415cbca9ad063a0edbc53c06ee6dbd380b90bc3213b9b90fc8d93ca82e4ebd78c486bcd265843a737ec43c99bc31bdffa468bcf87767b9d788b53ca0c710bdf7ca82bcf663f5bab3efc43c56aafdbc429acc3d69151cbe644fa33c6d0d46bbbfe1423dbfaf2ebe3d0aad3cae3afbba88683d3c9c2921bec9c0663c800876b9d27f57bc320404be02231b3c25b300bb4cc5b439948cc9bdc8046c3bb6da6cbb233f05bceec978bd8ca9d5bacf36f3bad047443ce8820bbd3126d6bb61ce33bba425ed3c5690e6bbd4d44bbc7984feba2b93453dc75f503b536e02bc5e2d12bb8a69b53c6e05bebd27b2263f8fdd1a3f88ccb63c065fcdbd830e2f3fbded063fe11bac3c44ecc9bdf11f2b3fd37fd13ec449ac3c523eccbdc93f233fa8d3893e500f9a3c1498b2bda478083f3e98223ed402bd3c1c62b8bd6470ee3e2570e33c3376bd3cdc63adbdc4a9af3e90ee5cbdfff8c73c0b8ca7bddf6d6e3eda4902be1223c13ced4b94bd57510f3e43e928bef33bb4bd0c89503c0000000000000000dcd09cbd11b8573c0000000000000000b1cf68bd8d26343c00000000000000002f6f19bd5bb7103c0000000000000000897a9abc5c810c3c000000000000000026c2efb99bbcda3b0000000000000000e38b4c3cd36db73b0000000000000000dbd6cc3c1e139c3b000000000000000005a6003d485e463b00000000000000006d12523c942d17bdd09db73c63c19a3c2108553c7098edbc7b2a863c91b5373df39c1f3c962bbfbc5a137e3c2236443de2cc013c859c9bbc51d5453c3e2a363deaccf03b072e64bc8044dc3b87c3273da9c0863b89e11fbcb62b97b9dd90033daea23d3a10f853bb26dafdbb4191dc3c81320abbb4ff6f3aa79d6abc69e9bc3c7ecc04bb144a1bbbf8d47abca152863c81d836bc8a9511bbeebb7b3c412859bd5ce987bcf216fbbac3dd8a3c11195dbd3f1e7bbcde692cbb3367893cfddf4bbd656384bcdc1063ba30da9e3c989e45bd26228bbc45af08bb6068a33c918441bd59d571bcba8ca7ba63c8953caaa123bddf1e8bbc81d6d9b91694923cded613bd70d48abcf183c3bae5f4943c5455f4bc4c4568bce96bc2ba84598d3c31d1cdbcc0acc93de2f436bed4d9cf3c346abeba280f883da9c666be0201063db3489bbaf68f013dbd215abe652dd73c22cc56bb604dad3c1ece34be5753883cf8873cbbbd4e2b3cf12b0cbed7f61f3c67a8e9ba26a6013c2e6fb1bdb764c03aa63634bbf62e983ce93d3abd28f1c4bb92174aba7618f03cf04e79bcc3252cbc1d6550bb3203533d028a34bb24cdf8bbd95f11bbb247883cec6f67bd6d98cd3eee9b5b3f8edc9e3cbe2587bdfee2dc3e1fba483fbd44913c4af38bbd4431e33e9272223fdc9b783ce30b86bd2f53d93e6268e83e337c8d3c52b482bd2b77cb3ea7598b3e8a1f823c929980bdb5f9b13e6828db3d2802973c1b7575bd11148e3e763cfcbcdb89983cad8f6dbdd18c513e2d1f0dbe43598c3c82dc51bd9f06053ee3df44bec75af3bde356a23c0000000000000000c565e9bd3f41a73c0000000000000000bb7cb2bd172e883c00000000000000008d4c5ebd4601523c0000000000000000efefeabca8aa1c3c000000000000000066ebb7bb741df63b0000000000000000e815833c9380b23b00000000000000000082103dae62b93b000000000000000085520e3d9c68113b0000000000000000f194ed3b10e9f2bc5744a03c5c51c03cae46e93b4c78c0bcec15823c202d4b3d5aefda3b026eb7bc00e38b3cbbf3563dde9cbc3bcd0e99bcad28363c68d5613dc60f7e3b687b7ebc0f5c113c4506263d1649093b5b8b33bc38aa2e3bfc70153d7b21743adc63febbf9dcd3b9b05acd3c5702e1bacfea8cbbadbf02bcddaca43c4c3a36ba792e38bb35ab35bc746d753c7c1b1dbc78075abb199c0e3cedf500bde73963bc085c7dbbd9f10d3c3cc507bdc3512dbcd007b1bbc292233cb976e5bc45a758bc464a4ebbc8b9243c3f8de8bc634b48bc559396bab5573d3c2498e0bcd67d4dbcd4300fbb94d91b3ccdb0bdbc56a25ebc1e4cb6ba1ad42d3ce190b2bc54266ebc7e8556badb451b3c193194bcdfb44fbc66cf74baa611223cfda692bceaaca93d429041befdd51f3d70537ebbfdf2763d656e83be6a04353d4408a2bbc8e5203d300b85be92e6183d4fc586bb664ef93cc8ff67bea46ee13c59d060bb47149b3cc5ff2ebe49048a3cbdee93bb21c0813cdb29e9bda503eb3bfa0c8fbb44b5903c895f82bd2495383b0f5b97bb72a3d93c9991b6bc9b00bcbb547d73bbeb742c3dccbe7abbad93c0bb2bce9cbbdf3b3c3c21dfdbbca5bc363e40d48a3fb72a423c6d96fcbc3ab6483efdee843f7eb1293c778d0abd56475b3e0de75f3f8b65223cf47d02bdbaa25e3e5867293fd120223c2aaaf1bcb47b593e42e6e03edc40413ce2e404bd7bee4f3ed7845e3eefa02c3c77f9febc7608333e03c90f3d9669553c3df3ecbcb50f0f3e22abe9bdc5de263cd1aedbbc2547c43dd26649bee1a919be9702ce3c00000000000000004cd615be90d2db3c00000000000000003280dfbdd3d1993c0000000000000000ccfc9bbde06b6d3c0000000000000000fd3636bdc22a3d3c0000000000000000e8f14ebcccea263c0000000000000000feae543c4468d23b0000000000000000f4a1153d8e4b1a3b000000000000000047f3463d0158743a000000000000000092de56bad4a02abc3018893c6992e23c81cb303b5cfc85bc58c43c3c8dbc6d3d3fd7c43abf3d57bc86f73d3cc7217b3d02f0653a1f0c3ebc9ce54a3cb231653ddeb69c3a8cdb30bc841f143c7560403d286e613a37c10abce82e973baf63163d8c2f44b9f0f0babbe595fd39c325bd3c297d30ba565f5dbb9eb776bb1174703cf8deecba39b180bb406230bbe0a1113c8f1886bb2bcbfcbb2152083b6480fdbb39f765bcc1f3b6bb520db23b6a8256bc7f0f27bcae3c8abbf368943b29500fbc701011bca3fd6bbbaf84cf3bb37617bc31d614bcdb2cc7ba7549993be47012bc83cb15bc2ddc99ba89f99f3ba7d214bcabee17bc4858b1b98f20913b9c1f1abc4b521abc0c575239dc17633b2cb810bc459b2abcbe472dbbdc151c3b300259bbb7930c3dd80353be70e9363d602d8fbbc062403d517f88be90e3703d168f11bccf1cd63cb2048fbe53a1353d1d1cc9bbdc92903ccb8b81be8ae7173d1cf2dcbb7628583cc68b4abef041d03c7264ddbb0531493c7a100bbecd2c5f3cbcf4b2bbe9744b3ca39790bd2bd4923b873788bb62cd853cd3868abcfdccdabbc71c7dbb1b89c73cb165d63b606885b8755790bb144f863b854339bb68ef4ebc14c6ae3fbed6863b74ade9bb9957c63c30539a3f98c2813b858133bc23622a3d5355883fcb06833b9ecc16bcffdb623d6158583f938d0a3b3b18bebbe2d7823dfdb7183f6150883bef111dbcc6d0953dc36bb03ecb53903bf392d4bb254b983d42d2f23d2ee5bc3bff5540bc0871963d3e2f82bd134b593b10701ab974df163d9b9254be0f5439bed2f0fd3c0000000000000000f76d1abe93a6e63c000000000000000082f5f9bd17759e3c00000000000000003f93b2bdb3b4603c000000000000000089b45abdabcb1c3c00000000000000008bab96bcf2e8cc3b0000000000000000cee5113cc3a60b3b00000000000000006c762a3df1dbf7ba00000000000000000edd4d3d7cfebaba000000000000000000000000000000000000000000000000e62481bbe4a231bbdea8303cdca3483d34c858bbb7df8dba8ce50f3c776e4e3d4eca55bb2a043bba286f1d3cebab2d3d3d2612bba46245baaa4d223cfb210a3ddfb543bb95fa75ba57920b3c4afdb83c910126ba8b7a1fba40ec943b64c9723c3b9dc6ba253d45baafd48b3bd23e7c3b000000000000000000000000000000000000000000000000000000000000000066a25bbbf9b5aabbd38b2f3aa45c3e3c0d4a33bb25f53abbe68f8239c1e3123cfe0d173a1019d4bad39da93905be203c3d38bc38e0ef2f3acfb569ba0e2af63b138de939894d8fb9136768ba7067e63b9e3cd5ba2cc59f3afbf532bb438c803b78c484bbdc619a3a7e7a46bbe3375a3b0000000000000000000000000000000000000000000000000000000000000000877d6fbb64e57abe9b27233d1020f8bbde8cc1bbf32d74be53d8073d5a55e8bb402c63bc21d35ebe7115d33c4605eabbab445dbc6a7637beb273a43c893cf4bb438454bcd9d7febd84855f3c5fe8debbc269f3bb4fb486bd982ada3bee25c6bb0c67baba414f7cbc020ab73b17a7c5bb000000000000000000000000000000000000000000000000000000000000803fec2d74bb25c61b3c44c9d6bd4e4aaf3f56f51ebbc718a43bf2e383bd73cf903f181f69bb20d2b13b62fb4cbddbeb703f4c76dabac4aced3bc1de1cbd7d54343fb75028bbfeb2173c81b5c1bc5e71e63e8df056ba123ffb3ba1bd2ebc3c095e3e147db4ba7c25633cce8d2abc0fad3dbc0000000000000000000000000000000000000000000000000000000000000000aea5fabd1db8973c000000000000000064c4a7bdc3ab353c0000000000000000a9538abd92b0f53b0000000000000000c9053ebd80d3943b000000000000000043bfbebc21c2473b0000000000000000c2509d38c14a99ba0000000000000000418cac3c268460bb000000000000000000000000000000000000000000000000000000000000000000000000000000004e17cebb604a113d28be77bb2828c43bdc4411bcb09b0b3dd3302c3c60e0363a7b3915bcd0d9103ddd52663b229c063b45c121bc67a90e3d4dc4bf3b75a659b9d25b36bc7900003d2161fa3baebc4abb0d7440bcc063cd3c95baf43b1fe4c0bbca7154bcf35fc53c0a608e3b621519bc0000000000000000000000000000000000000000000000000000000000000000215caabb162d503b34d18f3cb8e93cbd92298cbb7b27433b13a25e3c2b04fbbc91d645bbea59253b13077b3c0e650dbd22e0c0ba3643053b5b1e4d3cb2b3dbbcbf63d8baf76f3c3b1670683ce7ed81bccd6805ba7f6ccd3a06a1303cf2952cbb4264d9b95e89373b56c61b3cc3c4243c00000000000000000000000000000000000000000000000000000000000000001bca42bef5c0f43ce4bbc8bb1a574d3a4d4a63bef9840c3d6ceaadbb5ad23c3a4c5d51be8fa6fe3cc487a1bb35414539583441be5c25023dfeb1b1bb0097883a07a225bed13bea3c500474bbb1d830ba7932f1bd3f09e13cb57a72bb168e863a8b25afbd87f3fa3c61066cbb3457203a0000000000000000000000000000000000000000000000000000803f00000000da5f233cf662c3bdcdb0ac3f28e3acbd969d233c0bef8bbd2bf4913f7bb455bde1d70d3c6f0581bd6aef733f2c7a39bd6735473c825a7bbdac333d3fd5d0f3bcc77b1a3ce7bf68bd3657043fa69591bcfb044a3c85c150bd60a58e3ec567aeba84708c3caa4872bd35b8853d07d64e3c0000000000000000000000000000000000000000000000000000000000000000a4d2dabacb1240380000000000000000032453bb6bacf8b80000000000000000c11499bba4772b3a00000000000000008c5ac0bb7633d5390000000000000000b09ab2bbcd0c2e3a0000000000000000a7f4a7bb124689b80000000000000000d823d5bbd91599390000000000000000000000000000000000000000000000009444ab3c4b0a22bcdc9f94bc5d1b803c7c200c3ce424023c304c893ba29a743bdbdf013c5bb53d3c3091253b65afd83bdb55c93bff03943ce76ec9ba76eb133c89dd593b3755ab3c62888dbb5fe5e73bf790133a4591d23cb7cf08bc2bc7943b6d7927bb104ecf3c5d9533bc957d153bdd9be9bbd6c6cd3c15d529bc842e2fbbdcf6bdbb265df23cae08a0bc7b1d7538bc3716bce732033b3fb39b3cb4e6d1bda914d5bb51cccd3ab770ad3c1078aebdb85edabb8bd7b63a06f7a93c2abdafbda697f2bb7211243b570bb43ca765b2bdfc63f9bbd0a70e3bcc34c63c6f02a7bd9475c7bbedad0a3b5b79bd3c21eb94bd4221babb41c22e3b9204ba3c30d865bdcb8e8abb646cd03aedfac13c2fa51bbdb1ab76bbd2281b3bf1acd43c71d928bdca115c3c29ced5bc591a33bb5663c43a042bd2bdd2448b3ae7c0b5bac199933989c801be4e6480bab6d636bb27a5af39798107bea152af3be8396cbb9d9e0839d8def7bd3a9c293cf17b7cbbc677b23ae2d3d2bd56159c3c094ca2bbf90f2b3a33c092bd81f2b63c587391bbe908743a8cfc20bddcb1c73c85aa8ebbc333f43ac3a8a9bca082093d55d2eabb5f72193b1af4453bd24adcbd313bad3f7611e0bc74e20a3ba1d1cabd510ea63f8026fbbc9757b83be841c8bd44ff963f437f11bd21bbc03be046bfbd7c9f813f6cf21bbde194df3b8a60bebd4447513f39f730bd1fd0363ce541c3bdde891b3f560b2cbdddb8563c2d89c5bd5ce0c53e99091cbd051d5f3c1923c2bd95e8273e9a30c7bc0f59903c06d4e9bdc12d3a3d79b3f8bcf343173ba79951390000000000000000505e74b9ed27fab70000000000000000c9ca1d398f510d3a0000000000000000c994c3baf320c53a0000000000000000336bcbb9e0d1e4b9000000000000000057bc7cbab5ec9a3a0000000000000000c9ede9ba3a0f3e3a00000000000000002c0f05bac4a22bba000000000000000091edbabac9966cba000000000000000091191b3d7c4b87bdb458123cb7138f3c47080a3dc2a732bdba756abc361de73cee35f73cf30502bd8e1886bc59e9e53cdde7d93c531299bc6cbed8bcc51fe53c6086cb3c5a5f36bc16be06bd7ceae73cfe70963ccfc0053b70b51fbdb6bdc93c0f26753cd120243c604b2bbdfffaba3c65bb1f3cc207a33c9f5a3bbd0f016e3ca6ca3c3ccc8c853ce2c53abd170c883c634a39bc2a6342bae80b0d3c921bc1bd8cd747bcf24b2ababb95333caeb8e2bdfb6e4dbcc00c983865ec873cd507f3bdcb2233bc12c321ba410f983c3d8ff8bd171030bc31f057b87d9ba33cbd08fabd67cf2abc673d8bb9b237c73ce072f2bdbfea21bc38e79c3713ebe33c9d7ce6bdc139f9bbf450fe39ee89eb3c8166d8bdb143f7bbfe01243a54d8f33c6c8dc4bdf7661c3e4c24d2bd3f5f1a3c2de0803a5b5bc73de475b7bdceacc33b7bdb9f3a4f456f3dc40a9abda2657c3b7537f03ae576183daf545dbd5dc19fbacb303e3b2ccd033d3e0812bdb2fd81bb925f343bdcedf63c379b77bc3702c9bb47356a3be71c153d6588933a871f11bc8a1b823bfae2233d5bbdca3c185e29bc9b37923bd188703d9267e53c79d149bcbbac5f3bfbc6dcbb622c61bd94b7883f496cda3d01b613bbe08892bd250d8d3f5aa34b3d0cb720bb293a92bde80c833f4c12a23ce720eeba52a998bd404f6d3f9afd9dbc538a563ad1b2a5bd1c354b3fbd3848bd6274283b29f3b3bdd272233f4ad49abd269e973b082cccbd2396f13e6805c7bd3ec5063c5f70d4bd3a6ca23e4818d5bd1a67d93b4ae7d8bda770403ea01defbd2b54453b275229b90000000000000000fc4a2b3b27a8a63a0000000000000000874ea13bf563883900000000000000008bf6b23b9c5b09b800000000000000000870a83b478e723a0000000000000000778b013c9144aa39000000000000000082b1f73b82641d3a00000000000000006837003cfa6cbbba00000000000000000a8b073c1ed0a539000000000000000083ec2a3d1269d4bde1d83d3d17ac343c0576293d0616b6bd900e063c970a123d6fae1d3d0e1894bdaa0c36bb3e721c3daea6143d654f71bdeb69b1bc9b4d2e3dc78f0d3db1ee4dbd03c208bd2121373d68b8fb3ce0fa05bd18223abdcd68283d1b83de3c6cc2abbc038953bd321d133d9713c43c0b3d0bbc57227fbda2ad0e3dbf8ac23c98a521bc8e2271bd8832103d6ab735bc379fc6baef9c0c3b60e794bd43e977bc124810baccd7893b00e8b0bdd33162bc03f2f3ba8a67b73b440ac9bd62c980bc654c57b901c9fe3b0803d3bde39578bc32b387baf7be4a3ce1abe9bd5d1478bc1f5fed37ec097f3cf1ecf3bdae5763bceedc05baa4429a3c83a9f7bded574fbcd81086ba4ce9b63c1018f7bd8bd95ebcdc2ba239fc8dc73c9198eabd18b5693ec4ba3cbe2179c63c6d2c77ba381b503e3a583fbe574da43ca25407ba65d02d3e0f3928bed3a6563c035d1b3a37d6223e4db70abe7e5b133c3eef08b9d13a183ea285ddbdc8a75c3b2c08223bc3ce0f3e226992bdcdd9c7ba570c3f3bf5da083e389f24bd9dfabbbb451c893bbe550a3e27f0bdbb5d6b3abc1636a33bc7060b3e9a9ff03897d871bcb8b3d73b6937eabbd8bac2bcc3e7493f523a8f3e396abcbb83f00abdb3a2523f887b513e1e578bbbb64a06bda7484d3f15de023e42c79dbb46291fbd0ca03d3f6b1d4a3d4df497bb069c36bd8f222c3f1360d6bcc56424bbd2af57bdcd56123fc245abbd0a62fcba647a78bde809ee3e3c9e0cbe47045c39db1d94bdb8ddb63eaaf538bee7cf7a3a4c3aa1bdeeda843e60554abec17cc73bd15c8abb00000000000000008581bd3b7878efba0000000000000000b494293c2d19f9b9000000000000000020a1643c4d0719b9000000000000000075ad863c7f969dba00000000000000003407963c6ef8baba00000000000000002867b03c6df90abb0000000000000000e458b63c37c6e9ba0000000000000000a961ba3c49a64bbb00000000000000000b85183dafdbecbd6dcda33d9fa6cfbbc174213dfbffe0bd17db3b3d1cc9e43ce6be1c3d1d37c7bd7d17f53cd4ebec3c77391a3d35d6b2bdd4d1783b1ba0343daef6103d34f29dbd1400e93b76c7f93c41e50c3d4dba7cbdc3aff6bc3bfb433de476063d409f53bd767313bdcee8283d897ef43c280119bd7ae456bd3c142b3d4604f73c12d605bd1b4f4dbdf5d0273d7caaf2bb297a01bbfd8306bbb2cf24bde22e4dbcd95881bbecb574bb6e443dbd72385bbcf7780ebb6b1d84bacba07cbd0ac785bcbf3fd7ba29572d3b9e9896bdfaa84cbcf4fc20bba17d8f3ba687a2bdf6be8cbcf4b0c0baf7b0053c638abebd0b047dbcfa248dba00e3203c837ec7bdab078abc70c21f3a09ad5d3cd14dd6bd4c8c7bbcab303bbad53f703c877fd3bd1e815f3e89e466beb6471b3d5b1877bb8a6e643ead0285be02c8043d076ee0ba16d74f3e4ed96cbe2701e53cee19c9baa09c4e3e2ec258be179ba43c5e41a9b9e5d73f3ee5b529bedd35753c868cd73966f5443ede6d06be1979c63bec041c3b593a3f3eca60b9bdc3cbf03a33132f3b66313c3e803139bd1069e8bb4b1c723b27bd373eed7709bd3911b5bb7eab5b3b445eb2bba52f3fbadb16073f0b45023f3cb1a3bb257370bbcf940b3fe37fd33ea20397bbcffde0bb6f370b3f347e9d3ea4eba3bb9f1016bcf819093f9aec383e19b0adbb106775bcac50ed3e95e9c13d82da06bcac068dbc8763e53e617b36bde4af8dbbca61dcbcdda4c03e86e5fcbd2dfba3bb9bea10bd627ca63e57255bbec0f73abbc11f3abd9b157a3e0a947cbe06bea0bb1848acbb000000000000000099200d3c228e5abb0000000000000000d6c5403c4fab9ebb0000000000000000fed8a23c2c7e09bb00000000000000007b63c13cdaf78fbb000000000000000057aafc3cbb188ebb00000000000000009f25083d76ba8fbb000000000000000019b31c3dcb2e91bb00000000000000003626173d48938cbb00000000000000006676d53ce6ffcabd80a4c23d354aa6bc8044f33cbc4cd2bd0473863d0fcf893c3400f93c27ffbabd360a3b3d0b94e73c15adea3ca2e6aabdd1a7ef3ca08a103dc71feb3c1d6ea1bd670e2b3c63252d3dbf4fe73cc9868abd91b4dabb45662c3db1b2d53c55335fbd79ebacbcb18f2f3d46e5d13c206e35bdbc0921bd73f13e3d9f05d63ca02d31bd77a50dbd3f3c273d277a4cbb40328bbb46f36abbde2125bc850012bc3af78fbb3f5ca1bb1dca89bcaed62cbc207187bb1dd0adbbae17eabc359e54bc81a64ebba46695ba06a31abd3f9d67bcc24f67bbcf1529b99a483abd61d284bccb6d04bbfc72f93929eb58bd81fe94bcba66afbac04b893ba94687bd4d9888bc8246e9ba51d5af3b6e9a93bd73dd89bcf70af7bac72c033c0a1e93bdcbeb213edb1b73be7621423d5b3eb6bba6e4393eb0019cbe1029573d23f1b9bb4594313ed5e293be08742a3dc7638fbbeef5313e4b4585beb3250c3d525b4bbb5d2a3a3e9a146abedc9de13cba49a2ba93d7373e3a6f33be0e6ea33cd95752ba4b843a3e5fdf06be1c30493c5e65833adf6c3d3ed294adbd541b333b9f98213bb1093a3ec4fc82bddabe7f397be55f3be18d7ebbc6e0143c0604973e660e443fd04b1cbb620a8a3b0d959e3e48012f3fd1974fbb3ea9ea3b6489a63e6658093fd41ca8bbe53ddb3be327a43e54b2bf3e7fb299bbb57ec13b6bfa9f3ebfa1563e27b88ebb705459390b22953e528b633d519ea4bb762dbaba0685863ef41aafbdde8a81bb2bef01bc35196d3ed31b4dbe5f638dbb1ed085bcff4d393e90d581be0ee1afbcdbcbc2bb000000000000000051d53dbc19c2b9bb000000000000000000dd153b9f5795bb00000000000000009e3d6c3c1b39b1bb0000000000000000c6eae33ce251cdbb00000000000000004487093d743d99bb000000000000000039803b3da5d6f0bb00000000000000002e06543db3bac5bb000000000000000096b9583db1ddcebb00000000000000009d2d723c3ea08bbd7669b93d5c2208bdf2268d3cfc018fbd8c92903dab92893b1b60843cd06087bd67bf813d400a1e3cd3a38a3cf17980bd1f343b3d9b59b43c9603853c4ad774bd9d3b113d793cd93c36db913c946658bd667a8a3ceae8023d3e628b3c280e45bd37cee93b1780f83cabe8813c3a361dbd722d73bc84de203d126b863cd19c18bd26516dbc3843163dfbddcd3bc62ed1bb48f26ebb2dffed3b8409f0bad90bcdbba5cd8dbb5e937d3ba97d63bbe90da5bba2e72ebbefa36fbb1f5ddfbb0837afbb050476bb2d01dcbb1e220dbcae5059bb45b2e5bab03245bc7cc246bc4b0d67bb0d9c53bba34fa3bc61065cbcb6c300bbaf6258b93761d7bc8aff7fbcc68d01bb0eb99939d80a0dbda09282bc4b67bbba0523133b871416bd928da83d5bd569be40ef743dfdf826bcab94c43dd7bd9fbe37c67c3dd49522bc2ce1c53d35909ebe0afb693d9ed80abceee4d73d1a3c96be03c5443d08b3cdbb4e79e63d66cd83be930d243d8dfabebb26fff93de2be58be24cb043d63ce5bbb3349033eaff929be9d72e13c6cf580bb568b103e4368ecbdf73a723c9afc8eb9ebae113e2538b4bd5196483cfbe59fb97e68d6ba118cba3b2abbe23d57a7853fddd1a0ba1a907c3beb02e63d4b807b3f768944bb1cd1253c9181053e42fb4f3fa9dfd6bab0f3ef3b5d3e083eb69e1d3f7eb057bb86bf313c6e51033e4441d23eff9e99ba507b0b3c5328053e1179543e9dca5fbbdb92f93b9bc8f23d4997003d5a1c50bbe10d063c08bae53d6c7b17bee91059bb3001313b0f26b73de18d70beb80a51bdfe0b41bb0000000000000000fce92bbd0aed0fbb0000000000000000e3cca2bc99c0b7bb000000000000000003ba8cba3ca3c1bb0000000000000000a5d78b3c5f5b01bc00000000000000003780ff3c1d49f0bb000000000000000052a5373da8460cbc0000000000000000c341803da64d28bc0000000000000000af197d3dd15806bc00000000000000003d4a463b0074c6bcf989753d627301bdab36e63b0b5e0fbdf7bb733dd8e1153c93ecd03bc0c109bd7f82553d11c8913c25cedb3bf09d09bd83a0473d5ad0a53c20a0e03be60d07bdb141263d7d61ae3c0675e03b295803bdd869fe3ca760cb3cf05eca3b5c71debcd56caa3c2b67b63cd377dc3b5359bfbcaf38783bc441eb3c1459b33b9238adbc14fa233cb4307e3c93a5603ceb31febb9b082dbb2867893c0216cb385e8dc3bb00bd8bbab540f83b82e981bab807bfbb4e63e7ba46b3213c4f7731bb594b8abba357eeba32b9083c7e4db5bb32b153bbcd51b5ba5d76da3b670807bc337e2bbbb69688babfe5aa3b800f27bcff860abb73c817bad713aaba33f26fbc031849ba4c2d59394b16b9bbcb5e31bc8fcbdcbac22d22bb181e1b39b26edfbb9e0940be46ae483d35da38bc310ed63c3f589cbeab81833de9ce3dbc5868b03c261b9fbe04a55c3dc65d12bc0026d53c0fe797be90a8543d9d8b17bc55640c3d660385befb64303da56307bca62f373d17565ebe04871c3d99e9dabbeea2633da07124be0ad5003d71ec99bb8a7d903dd66ad2bd2859a33cff7315bbaa9e863d19cba9bd0f44dd3ce956b1bbc3de86ba947ecf3a8e85dabc9b3eab3fd9e6dbbac62a6c3bb7298fbbdf909d3f0d1128bb14a3c53b359d873b1f5a873f3317f9ba9a04de3bb8001b3c7887583f6fdccbba31bc113c19226b3c0ea51c3fe34625bb43ac013c498b6f3c3d48c03ea0509dbac48c1d3c701a8e3c1f5a143ed7f182ba53d8be3b385ad33c1183a0bd4a6710bbf7cd633c5b18a6bbfe7033bec984c8bdad1f6a3b0000000000000000db5a96bdfeeb173b0000000000000000936256bd61ff99ba00000000000000005cf002bd93fa84bb00000000000000005c2e1abc703b88bb0000000000000000eda11c3c0e42d1bb0000000000000000a214e33cbcea0ebc00000000000000007c45643d20ff2ebc00000000000000002ab3573d2d423bbc0000000000000000000000000000000000000000000000002a2b98bb57cee83b1ca3c13c374b463a332221bb2744973a58dfce3cfce73a3c0d8d42bbb83ea13a8cc0cd3cbdcca03b8c2555bb422ddc395655d23c866f923bcb4308bbdaf1cbba0866d03cf4ea7f3bc8f8aabae91335bbdabaa23c0a40a33bf3fbf6ba4ce12cbbace2a73cf5543eba000000000000000000000000000000000000000000000000000000000000000007ba163c4b62a8bbeb9b9cba2fe4843cc4cd923b630e54bbe5d9c3b8b564543cceb3aa3b888e48bb954c9aba4543883c08f6633bafed12bb189cc1ba57fd8e3c4a2c3a3a7fbe94ba783bf3bab94b8e3c78b84ebb01c20eba27ee26bb45618a3c7ab171bb8c5e0bba954737bb753f9b3c0000000000000000000000000000000000000000000000000000000000000000059252bd10603ebe896acc3c15c70fbca31b1cbd518c55be9aefd63c170ff8bb5d3e2cbde2ff44beadc0aa3c43ade1bb22841dbd43bf31bee29bc23c962103bcaf70febcc71414be2b8dc03ce1f602bc6b039abc7cafd5bde26aa43cd78dbdbb470a43bc009a8dbd006abb3c3722e9bb000000000000000000000000000000000000000000000000000000000000803f1c331ebb82976c3b287eb4bd44d3ab3f9406cebac1ec143b39747cbdde2a903f46d8c8baf4199a3b6c9c6bbd5e4f6f3fbde105bbc65be33b6c1e6abd3eb4393f0016bcba9161073cb5754fbdfb31003f3572a1ba38b7073ce1ce3cbdea488a3efed347bb9956883c0d0d68bda3a7803d00000000000000000000000000000000000000000000000000000000000000002c11b1bd3d5ed23b0000000000000000f1c55bbde378193b0000000000000000d50728bd36dec43a0000000000000000b937ffbc9d0a80b90000000000000000ecc99ebc324397ba0000000000000000b9e1caba4bc38bbb00000000000000005c213c3c3f04bebb00000000000000000000000000000000000000000000000000000000000000000000000000000000e056cb3a62e027ba7aee133cc165f93a02d5cd3a29044c3a28580a3cf0ef333bfec3513a1449f63a630dfc3b4dff323b69f26e39105ffa3aed02c73b5b2f123b9080843a91ef063b07f7953b4668a83a084b1d3a7861be3a7e7b2a3bfdc5df384ba0df386e7aa13ad47f683a96649bba0000000000000000000000000000000000000000000000000000000000000000cf21223b575d9a39a764c53a437a22bc4c4b133ba29c423804762b3bdb3306bc82b7743a3699f5b938ef333bb7970bbce143013be12e283933e6923b8571c6bbd84c6e3a232e1ab9942dcc3af997bdbbea0e423a7ed0aeb9b4422f3bb6b5d3bbb0130e3a8a8b09baaf170b3b195bbdbb00000000000000000000000000000000000000000000000000000000000000002a9464bde1691bbdbb05133b9fd4433bb1f15bbd1a4e01bde4b2213bfcc2233b0ac33fbdb7cfd2bc3c15843a11c75d3b8e0b10bd8375a0bcf4bb3d3b1389263b7a03dabc46797abc2b293e3be3cad83a30797ebcd19d27bc1b72613bd687d43abf3114bb34feb2bb69fe8b3b0cbbf8390000000000000000000000000000000000000000000000000000803f000000002bb2b4bba1debabcec75883f6c3058bc3ffcabbb4b2a1dbc4c93643f97df15bc34033fbb336483bbfb823a3f28090dbc3c0909bb841d903a9a47113ff9279ebccd8915bb3c4b343a748cd23e2a6e95bc8fb8e9b9e43a3e3a5bac833e5356d0bcd441b2b90eb0fdba8157de3db6730ebd000000000000000000000000000000000000000000000000000000000000000055b496bcf64aa93b00000000000000009db76fbc2683793b00000000000000005cc739bcd3b38b3b00000000000000009e9510bca6e3843b0000000000000000fbf3e8bb4f5e403b00000000000000005c9f74bb58374f3b0000000000000000065c14ba2cb0563b000000000000000000000000000000000000000000000000b8659d3ab290caba5d570d3c40af10ba8389023b495174ba47554a3ca645453b6afa923a13212b3a3e014c3c38a2723bbd32fa39be3e913a7dce303c42bf4a3b092c8439a654d03a763a0d3c64c1263b48ff7c39e676f63aaea4ea3b40ccd23a797123ba0dab3d3bd38a983b2b36e639454833393935bd396652183b75d541bae0414a385a69c0381cd7813a6fe013bb1ea1c23ad389b338a35a81b8814d2bbc8e253f3b87cb723a8cc0203b0fea5cbc0864243b04b4143af555093bc48124bc7286083b9d61473a46183e3b475309bcbe2cca3a532bd2b8f1e51d3b6782debbe4a58b3aafc7bab79af4383bad72e1bbf0542d3b9f4c51baf6bd023b6972fcbb54b84339f21184380f9d073bda98dabb2cd7c6b9eb7104b9a1901a3a7bb454bb77bec1bca6350abd2b10b4bb6415733b3c4d5dbd61c63cbdf58f3fbbf29d8e3bb28968bd871233bd4c4d11bbad47783bf2944fbd18c61abdf0938dba027b5f3bece418bd7de0eabca7bf0eba4f19353b5596e7bc6ac7bebc4281913ad5b1383bc8e758bcae0660bc1e06393b857aac3a66274bb9538700bcfe54863bcfe7d03a8185413c71fd4fbb051c163bb08b2c3af2937fbbe12e62bd62ba883f4092f93d271b06bb26e363bdf073803f4722e13d543367bb3d7d0abd9736593fe1e8c23dfcf256bb1b56b0bc0822313f93269b3dfda538bb69c353bcd532083fe4ec5a3d6452c2badf701cbc75d9c63e80a3e03ca8bcd6bae459f0bb2c07783e939bf03acb1eb839229920bc453bd63dc8dcb5bc5d4450ba428de0bb0f5a4cbccacc09bd954308bd67aabe3b0000000000000000531619bd994bf63b0000000000000000647affbcdf55b63b0000000000000000262ddcbcac7c973b00000000000000004d3bafbce0aa893b0000000000000000280595bce35c993b0000000000000000d2bc87bca9d9863b000000000000000098993abc140ac73b0000000000000000ce9dabbbc4608f3b000000000000000035c1b139cc0f9cbaf771063c9233e3b8080c363a354e6dba45963c3c6f37223b1c152a3a7a342d3a59572a3c13c2623beb00db397252973acb61333c6125793bf339ce397ca5bb3aa3bd073c3d88173b498d45397438f53a0458023c1387fc3a2a47f5b703bfbc3afa95b93ba381563aa7f9c2bad1a97c3a1acb813bf1db35ba0c0074bab5455a397327153b627da1ba7356abb92e8eb53a16c463b9897123bccee2a63a3868c73a1748b13a71253cbc7b5fb43a59b2673aac3ed33ab3aff3bb790db63ae3fb733a9d40f03ae656c0bba835943928ca3f3ac0b8b23a4bd780bba7dbd139712f97395f25ea3a1a7c88bb5d9558b90b82c639dfe6c33a206468bbf50a44b99ae408ba748de43a375863bba17225baee04cfb9d56a833a5475b1ba9161f2bb8763d3bcce9a43bcdb08793b23f5f8bc90b330bd3a174bbc3415b53b6e400bbdc03122bd159717bcb172973bcfb314bdaf2522bdceb1f0bb139c933b2cfbc9bce6baecbc95c2adbb8c9b833bf99d9dbc2d50cebc63f859bbfeb6693b7f7e0dbcb7477cbc7b4743ba244e463bcf97753b2a840ebc9d1a853a283a473b9c40323c70783ebb0163cd382704e83aaabbcbba65e473bdf392663f98d28a3ed2a5e5b9abe48bbd1ff65b3fd07c803ed48fb4bae6cf31bd0e2a373f20865b3e63c6f7baed1213bd62af1b3f42cd323ed9d7bbba022db7bc4964ed3e97d6043e6410a0ba3c6e9ebcaf6eb13e354fb03ddaeeaeb91e7869bc827f623e5a5a3a3d5531693ad1d550bc3de8d63da7c6a43a03d9ab39f9bc00bc115bbb3aad9dc9bcfac52bbdd001873b000000000000000005d155bd3e0cd03b0000000000000000790228bda5109b3b0000000000000000f7e61fbd6d519c3b0000000000000000e8c4f4bcbe98653b0000000000000000cb94f0bc205ba53b0000000000000000d714cbbcfe4db63b0000000000000000719dabbcb35cc33b000000000000000056944dbc9283783b00000000000000009337bc3932d0a2b81c62e93bb20b903accd7c1393523ae38902d223c266f643b14c72fb83836263a17972c3c7cf99a3b26836bb822608f3a2466223c06dba73b1864bc37b4cd983aae99113cc4f27a3bd1cc09398010e33a2499073c24de6f3b8ad603bad6ce833a37ebc63bea56cd3ac154feb92fdfc539892c893b4cb244b97f7e5eb991522f3a0711393b414784ba132471bacab7e03ab90502b930b335bcbf06303a087e0f3b04b2b53a34cf3cbce62dd8395e29e43a207f743ac7add1bbbe167b39cce8813adc85b13a03928bbb0a19cb39d2cc283ab07e9d3a61c328bb8cced239357abe3a578ad63ac7d0dbba82ed40ba3e43ea396d81583a0b2502bb7a0fb5bab162da394cc6d039c4fed4bae6ede2ba1a2d8db94d2815b989d9d337563f873a6a03a6bc111ca0bc1c496e3b8d4883bc7d821cbdf7d8b1bc129fbf3bde45d5bc311c31bd5ff986bc605eaa3b00f6d4bc3f9d22bde91f58bc8ac2993b5b91a1bcc2a801bdda6120bc6411863bb7b27bbc2ebcd2bc77b5c6bbf9389e3b5b86b7bb77b681bc9f548dbb6490643bd5335d3bd7cb00bc31e17ababc42973b2b28143c8d87b7ba7b7989b91962483bc86e5eb9260368bdde223d3f3b1ad93e52b3a13a173f8abddc4b343fb42acb3eb78e78b3702d57bda89d1c3f246dae3e19cfdfb962d723bdd6d3013f4e918e3eb08027bac2e6f0bcc993cb3e5c715a3e90eafb394a2bbbbc685c973eb096173e26473fb8ddb492bc603f453ea4a8ae3d7db0f939d3d171bcaaf7c43d7ce3d33c9da30cba429a11bc4c050a3c7be792bc69514cbd2ca14d3b0000000000000000097780bde38ba93b00000000000000008f4f5dbd08ba823b00000000000000009bee42bd5c93763b00000000000000001d3926bdd637693b000000000000000051501ebd5409633b0000000000000000dea00abd787daf3b00000000000000002750f6bc4e4eda3b0000000000000000b230a3bc88ff973b000000000000000048e670ba3ecf303af1ada23bafda443bdaa5af32582e8939baf3f73b2c9b983b3e12a8b8c6e0703a3051053cd8c4b63bd990cfb9ed3ca63a649d113cc5aec43b1171a3b90da4983ab5d8d93b435b713bb0244cba3298ab3acc7cf83b02bf7a3bc674e5b92636533a45d8c03bdd93103b552342b944990c3a584f9b3b7ce27f3a9d8a41ba4526bcb89d5a9d3b9949a03a3e49b8bacea60a3a7fff1d3ac0ab25bcdabb2dbaa819113be0aa6b3a8cd813bc5eeaa2b86788b13af187363aa27e9cbbd7ec23397febd73a8771803a613b31bb1aa09eb908c0a139d664143ac8351cba339d0fbaee9aceb882d04e3aad2d4cba1fb877bad6670f3a4657ef39fab694b952ffacbad65f58ba2cdcad3942d28238ddc4e4bae193ad393b9451ba3e58b539445d8c3b0d8f84bc5778b6bc6300803baeefffbbb04311bde443d8bc3abfa63bdc7478bc388a1dbd0f75a7bc0f7d923bd9fd91bcaaa721bdc8f394bc0104923bd36b2bbcd46bc5bcace733bc3f70323b1fa12ebc8203c4bce9d725bc916c853b04e47fbb15e752bcc965cebb6a00693b40cd273bb26b9bbb83b184bbd407803b825bdc3bb75b923abb5e3ebb49b4d63ad6a5093b4a1555bd787c143f2ef3133f36d4093bb4ec7dbdfb880c3f25cc0a3fe89b8a3a9ef239bdaabef13ea8a6eb3ea50c193a3f4920bdab2ece3e1789c43ecf3595b9ae21b7bcb7689b3eaa2c923e3ac2cb390626c2bc0673753e8f8f583e21678739c2e988bc18ad1f3e0611023ecbee603ad98369bcc85aa93def654d3dc41011ba48c0fdbb02c2303c58fe5dbc1f0457bdb25087380000000000000000dbad87bdd734203b0000000000000000c7935cbd1072cb3a0000000000000000869357bdabb2f03a000000000000000066da12bd8e29923a0000000000000000d4e033bd99e3593b0000000000000000a0e217bda3df803b0000000000000000fb2b14bdca07c43b0000000000000000f36ad1bc25c5833b0000000000000000bf0357b7a41c3d39e1d3813b63887f3bfd51a1b8ec61313a73bda53bdba5ea3b3fc459b950bd923a6230ca3bbf380c3c18cdd439d8ab0d39e19efb3b90780b3c3438eab97c8e973a98bae13b8fc3cf3b1459bfb9870eda3aad65db3b8674b03bf79cb7b93ad13b3a217cbf3b0aec653b4041383aced010b99212a13bb5f05c39441ce5b7f3f40b3aa8a6823be6eb12ba287414bb8189f23a8abc2ab9a48014bca1a10dba40f9413b341c773a409309bc58d4e7390020283b1782283ac8ef8fbbbeaf0ab995b1e83aa38c3cb90caf8cbae92576b9231cab3aa177073ae44b0fbac5e479b9ee28ae3a5409a939a204f439eb8c5aba49de4e3ae238cf394210f3395edd31bb8323b53a292add3a2d5e0e3abf1d40bbc466933acaa0c4391ee4d73a1c02af3b52e182bc6130dabc1ffa513ba51db5bbaf871fbd8e8c06bd5addcb3b9afe4fbcd34c3bbdba53e4bc4a79b33be6d05ebcc0fa2abd40f8bebc15db923bc78444bc7f8109bdae5890bcf3f8863bda6f27bc8964ccbc50f75bbce20b953be9efd1bb6d9c5dbc873214bccf8f903bc1ec4abae26204bb0d58e0bb2099963bf0838c3bfaa8aa3b8bbd99bb77a4373bbf1d123bc92c46bda071d93eee1e3d3f82348b3b0a3c6fbdb8edce3eeb58333f67be433b25083dbd3d1cb63ec0a3193f408c8e3a9e0319bdc625993ed4e8fb3e0476983a36d5e3bc321b763ebff2c13e9b049b3a6dc3bbbc61e73a3ec5af8b3e60cdac3a394b93bc4680fc3da8cf2b3e4183e8367d7b80bc1481873dc109903d742d54bacca923bc7e2f423c543e2abc24f46abd1c1d1fba0000000000000000eae096bd038c9b3a000000000000000052c780bd28009439000000000000000005ce67bd673827ba0000000000000000439d4bbdfc19833a0000000000000000ad1147bd8e78153b0000000000000000e62f3ebd4ebf883b0000000000000000c7012fbdf3fad93b0000000000000000d43df1bc06309f3b0000000000000000a5cd06ba0233813a9383d73a00c7d33bb1a6d639a4be2a3a2bcd363b681b133ce235a4b94a8d2f3af8a9603be094173c5fa303b9291f673a36d29b3b27c61e3c2b44e9b90d14833ab322a03b8370e53b25a300ba7b3a0e3a0f4fac3bb977c93bbc2d17baefbc9c3901cd993baf51873b1e9d0abaafd2b7b9a73e893b7c5d173b28414db9655644b9d3374a3bb2fe473a1b6f0abb7276193b6f266b3a2a94f5bbdaa4fab913cd813b45810e38c8b3babb206b623a72c9203b288a593a23c210bbd145283a7e6a173ba90691392edd4ebab157723983e4dc3adde5d53ac9e7aa39c3f984b9b57ea73a6df9b1386fff133a267302baa3f04e3a2876033821a18c3a794abcba7d74973a7b1b453998595f3a72d109bbd2fe253a329245b98eef8e3a3187033b7a7ca9bc0cdefbbcfd58603bcc43b7bb88dd38bd2f401bbd0b37ca3bebbb24bc643d40bdc0d3efbced2fa33b1f8545bc945644bdd478ddbc967b9a3b22551fbc6a3f08bd9d919bbc646c803b1bd427bce47eddbc753985bc7fe78f3bcf90e9bb04d361bccb9423bc83d78b3b2e0daebb33ff29baf123cebb0bba9c3b635626b9151bfd3b7da15cbb972c333bf9d0a93bd83e2bbd32a58b3e2aad663f2e7aab3bdf974ebd0ec8843ea2c05a3fa0eb7e3b118317bdbcb76b3efc73353f6579373b0e1cffbc47d34a3e9ed5183f03ee6f3a43e6b5bca5e3203ea76ee73e1e3ee03a92b3a1bcb136fe3d07bca93e922cab3acc686abcf97faa3da21e523e36c4063b73db4bbcf5103c3d6f5eaf3d7c95733acee300bc3108113c0bd74fbc299279bddd87e7ba0000000000000000c8cf98bdcb997bba0000000000000000af7761bd6783dbba0000000000000000e9765cbd145107bb00000000000000002d5434bd01ada6ba0000000000000000987a47bd0412083a00000000000000003b6932bdd95e2e3b00000000000000002cde43bdbe9fc93b0000000000000000b5a209bd38e59f3b00000000000000009bb5a7b8f30e9f399954a6ba6f28fd3b08093ab913e6e63962d584ba800f3d3c2eb69c3afac6e33a2c4b053b157f523c06b439babed29039e6be283b6b8b2d3cabb205ba7245aa39f659643b1b240d3c7e23e4b936d5443833db863b85e3db3bebf7e9b9bfa462b8f666733b9711973b93fc45ba047f86baa6ff2d3bdaa8e13a917bf1b8e67607ba3655233b09a281390c2051baf58c593b5f262b3a2702b6bb1d1f113ba36a8f3b4c45e33aae001dbb14d0b23a99f1643bf66392ba459601bbe24d0e3be58a263b6d65f7b893af883a05b7e53a4b80003bb3a5c4b836f9d93a913e9d3a4c1cf33af1642b39912bf13a682dbe39160acc3a51bfed37e933de3ab82562ba3c76c83ab6c080b850b3cf3ae26ff9bab25f4a3ae4537a38df945c3a84db93ba4014f6bc12fd0bbd820d643bfdfe16bc940678bd619b22bd7253dd3b918a1dbcdcf282bd275611bdd912bd3b455937bcb73065bd06b4f0bc47298d3bb69b20bc47c728bde308b2bc1b2a6a3b6bf031bc138100bd09328abcf5e38b3b2c912ebccc3b89bce32f36bcaf38943b8f641ebcf69bd9babb84bbbbe824ad3bb1676fbb9959323c3f111abb5f7d5a3bc765bb3ba2a407bd4af7fa3d81ca883f59efba3bb55f12bd3e0bf33d66897f3f7ddcb23b0e78f5bcea52e43d6b50583f5ecd433b1262b0bc17feca3dc8fe2f3fef82063b12d983bc828ba83dffa0063fc2cdb73abff053bc989b853db8c4c23efbc3d23ae7aa25bcf612373d2bab6f3ea9b7013b75b704bc0c52bd3cd756c23d8e2d9e3ad321c1bb9683973bf5a3a3bc87f561bd465a79bb0000000000000000912c7abd7d4838bb0000000000000000dbf143bd78db77bb0000000000000000a6d228bd300a94bb00000000000000001c6318bd1b3877bb00000000000000001ce725bd51a9d1ba00000000000000008d4833bd99e4a13a000000000000000022f240bdafa8bc3b0000000000000000dd221abd0e55933b000000000000000000000000000000000000000000000000b554ffb94da2073928e00dbb95c51c3c5500d9b9fbfaa23960b943ba85880e3c2e7f3eba279afc39477eb03a150a003c4381f93864125d3a01c9463b5c47d73aca2da4ba0cc7a23a69b2403b5427843bb0e36eb9aa248ab99ec70c3b7d14613b15c9dcb8c10514ba6fad043b8a6edc3a0000000000000000000000000000000000000000000000000000000000000000924afe3a1346573ba7287538bf9609393b501d3b135f2c3bfdeb3ab99a6dcc3a350d283b7f2d103b9e1696b992cc0d3b15e52f3b5238ad3affe3823accdc423b57e1e0393467e93a19d67cba19bc4b3bb926dd3a0e517b3a926fc8b8a8b9eb3a5942f4b9b6c69b3a759819b83fcdbb3a0000000000000000000000000000000000000000000000000000000000000000910f06bc312a66bdfa7c07bdc5e94c3b5f9e06bc6e805cbd5c84dcbc5912343bd70117bc2df638bdb95bb2bcd0c5273bdf3054bc17a00dbde3fb8abc79d5ff3a6276f0bb2015cebc59234cbcef94413bffca0fbcc6356fbc6a28fdbbc1b8193b03020ebc0e50c0babad380bb719d6c3b000000000000000000000000000000000000000000000000000000000000803fd9c78e3b36ea8cbc3f83e0bbfeab883f377d363bbfb248bc87b4213bb177643fcad0f53ad2c51cbcba28f43b6b693a3f99e24dbb9684bcbb8ff5203ca810113fc2f7a7390e64c2bb971cfd3b4169d13e27a2523a55e464bb4eddcd3b174c833e3be86d3a7bb01ebb26b62f3b4921dd3d0000000000000000000000000000000000000000000000000000000000000000d57ce8bcf7ccd3bb0000000000000000e992a0bc23aac4bb0000000000000000a1a897bc5b5cdcbb0000000000000000ed2e95bc3ba395bb00000000000000007e2cadbc7958a0bb00000000000000000d6bd8bc600217bb000000000000000080ec0abd235e893a00000000000000000000000000000000000000000000000000000000000000000000000000000000feb9153966f7e3b9400b0c3c21b4dab9969f3f3a0f03a63a019f083c43106939310b3e39d1c7f83a2dd5ef3b494f0c389a008bbad47e233b7432c13be0804cba2a46d439c2d9183bea34873b131af5ba72e036397cf64a3b1ee4803b4333e5bad9ed18b80636243bba70d63a00a9a6bb000000000000000000000000000000000000000000000000000000000000000052e0a63acd40063bfe2fdaba4ff00cba9d9a9f3a577cab3a97af2c39fa19d537eca1143ab24caa3a8d9c453968d99a382a80cb3943a40e3a18f7743a20675139a757fb3a07bb843a5d38953a03fbbeb8b99784b9b9ab093aa651813a6f13a6b82c69dbb9cbfd223a2c093d3a21c952b900000000000000000000000000000000000000000000000000000000000000005754a8bcf3f7ffbc5a3e52bb4b11963b59aeadbc3420d5bc433d13bbdd62633b25c58ebc3c78aabcfd2beaba78fc583b71b743bcab7a7fbccc1c99ba3829263bb890e1bb929749bc652cf5b9f809273b669ae2bad9ad14bc9a1495397170243b2fb1fc3b5c61c3bb0e4a933a9c3a163b0000000000000000000000000000000000000000000000000000803f000000005e7f13bc0fe505bca08b793f582ba6bb3ed702bc6d9407ba3cf4533fef1cbcbb6bebc8bbbbbb323bb9eb2e3fd09304bca5459bbbf8fea23b11110a3fd38c37bc5ad27abbb71cd03bc000cd3ef7a287bcb9de4dbba43bd63b7a01863e5a1cafbcd36f2fbb3927d13b41ab003e94f4eebc0000000000000000000000000000000000000000000000000000000000000000796993bc0f61503b000000000000000008e175bcaa15323b0000000000000000f6fa58bc07f0223b0000000000000000176031bc48be1f3b00000000000000001f8c19bcbd3c343b0000000000000000c003febb52a9793b00000000000000000a8bb4bb73ecab3b000000000000000000000000000000000000000000000000672a58ba53ec5dbac5cc223ca67039bb86af71ba4fc542bae7c14d3c2cc618baba7433babef4833a7ec9483c369d7fb8f301dcba79c7453b7d8e433c179f383af4eab7ba63d05a3bc6181e3c394cf2b993d99eb96a90573b3897013c78932bbb6a6b17bb74506c3bdd01c53b8fce8fbb36c0b9b9b089543b5e1b803bc780d2bb600932ba24ce563b1048383b5f3afbbb3a49b5baae75203ba3bd81bbb70ac4bae154e0363c644d3b88a842bb1b7c10bb902f323a32468b3b0e1c00bbd2da90b9d112d0b8731a133bc49b9cba5f7641ba3d8befba65ed283bd430d1b9f8ca9f3a06ffa6baa853893a4a9004baaf6cb0391c51cdbacda40b3bda8e71ba6314c8389eb5c6baed9d693a83456aba0a656bb9e81910bbad8b073bf73794ba5832de3aa4c8d8bab804e8bc50fc21bc17e5893babca71bcf07b1abd14b01dbcd5cec13be9db8dbc36240cbd73b80fbc44a69f3bfaad7ebc429cf0bcb7e5c2bb847f493b22af00bcef88aabcb518c4bb9bef533b761c24bb318d8fbcd7ba86bbb447673b73e3a13b73e445bc458a31bbec6b333b9c57593c86ec08bc96f0f1bac098523b3c8f8d3c41fc9cbbd5d81ebb3b66173b8f640bbcfb58d4bc8f437a3f3996043e687211bc60c4ccbc5a61643f7df7e93d36040dbc4e9356bc2ceb423f809bc33d68c823bc4569bfbb4596213f6582973d19fdccbb9c3394ba0803fe3e2d725d3dd820d4bb5d869f3a6700be3e397cf43cc36083bb338b3a3b1cfa793e3148d13b904b9cbb9bf6383bfef3f83de1b88abc41c493bbc17d573bd72cd53ba3fdeabc5f5cd4bcf47b033b0000000000000000bcb5f8bc31d56f3b0000000000000000166eddbca281093b0000000000000000c434cdbcaf6f023b0000000000000000d0c9acbc95ae263b0000000000000000bf3999bcaba6813b000000000000000057ab82bce4f1a63b0000000000000000d8525bbcecffe23b000000000000000036dc27bcf550be3b00000000000000000b3407bb39ed19ba071d263c8453f2bafca2febaf7c12dba30cd563c189f3fba0062aeba26279a3aaaff453c64d44a3a85e4d9ba3845113b78df543ce460b139393ab5ba0800873bcf4c1b3cca93aabab9f69cba4ae45b3b2f35233cddaa16bb2e0740ba2050b13b9724f83bb830a8bb63dcbfba52d91e3b45ccee3b5002e9bbce5a2bba43f0403bdfab883b681dc1bb1d8943bb33ad093b9fe095bb91b222bbe6de2fbb81524f3bf4fa89bb1b0e05bb939905bbb6e9043b6d6c4ebb8da4ef382f161ebb57d51c3b69b261bb4126823a84163cbbd1f3cd3ab04a3dba4a848e3ad97724bbee1e263bf1df1bbb301c9b3aedde31bbbbf58d3a4ad0f1bae25aa63a07ad3cbbb82c073bab9346bb83ed47b9980354bbbbd7ad3ab447e9ba6d9ffa3ab4a8f43ba92aadbc10176dbcc9ed4e3baae8d0b943f005bd081b8ebc23f0a53b99fe93bbda66e9bc8dce62bcd2c7753b98b181bb3c2cf3bc192d54bc0800783ba72d19b9dee2a2bc5f9024bc1b42363bfa18913b1f358ebc0cba0fbce2891a3b34e4313c90052ebcf2b805bcda4f4c3bca1c923c661d0bbcbc32b7bbe32c773b45dc8b3c5a018dbbb33bb1bb2a480d3be7bcd2bb0b2c00bddc77553f1130893ecb4bedbb91560ebdb604453f7516783ecf7ce8bbee7fafbcf6a9263f6c92513ec8c003bc269d84bc01960d3f2d65293e87cadabb38fa13bcb463dd3eb55d013e6ab8e6bb64c7babbdf26a93ef309b03ddde9dabb595d05bbcaae603e9a8a443de294d8bb055a0cbae4d9f03d8193c83b3765a1bb59babb396c006e3c5c2c9fbc277cf1bc298493390000000000000000fdab1dbd685aa33a0000000000000000d84501bdbe00343a00000000000000005d3401bdd9e2ba3a00000000000000000a2ed0bc4838ba3a0000000000000000f166d9bc3361e43a00000000000000001fe4b3bc94aa943b00000000000000006669bbbcc55cdb3b000000000000000098bf73bc8d539a3b0000000000000000df5931bb534a8e3a959d353c12f575ba44bf0cbb9f1e9eb949af523cc68a773a0e4e07bb0d0c963ab064593c7906d23abe0be1ba3815f33ad4cf4b3c0998a73a0c7fb5ba908a353b273e3e3ccb17ae3960c8a7bacb8c473b95aa2c3c405492ba5494b7ba2376303bd4e22b3c746174bbd5c6c5baf4b8313be5c3bc3b1cbbcebbf7fd76bab8658d3b660e993bdd826fbbb9b0a2bbe1ddd23ac1dc9fbbfed406bb44b493bb8792533b8d2298bb90a23bbb459486bb1fc72a3be71f93bbb34f30ba40f17dbb8981ff3aefbe86bb2b6b413aaa048abbed00aa3a7d5360bb163cd03a11b98bbb41b7f03a384769bba951a33ae40db7bb2998703afa2b67bb22841e3a4fe4bbbb07f1133b1c7982bbb302153b387e9cbbaaae8a38040033bb2adcbd3a9fb83e3c6a5862bc4ba89dbc507fd73a86f2013c440fdabcd776bdbcc2d3803b64f01f3b7cb4e6bcb6fba6bcf8525f3b4d43253b75deccbcda6890bcc8004b3bc203ac3b0d5e9fbc14e972bcb11a293b5d7d053cd4b179bcf0c850bce23f3b3bb35e5d3c3f7a0fbc88411ebc81fb8b3b3d76993c1a58afbb12752fbc0651953b802b8d3c260f5abb193805bceb1f6b3bf4cfb0bb33a3ffbc0456313f5b73d13e4faeb8bb08901bbd62b2233f152dbe3eeef5d4bbcd8beabc86f80d3f7a76a23eb863ebbbdaa9a9bc59e6ed3eec45853ee7a4e4bbd1b568bce057be3e7add4e3ee44ddcbb98a823bc80ca903e9173133e69a4d3bb1673e7bbfdce443ecad5ae3d1431bebb979574bbc8b0dc3db675fe3cd3c0bdbbf50127bbf9e3a33c2bb244bc016a04bd29640cbb0000000000000000b6b52cbdb1899aba0000000000000000ac6c1fbd07a694ba00000000000000000b6214bdeb6330ba0000000000000000fdc706bd2aa164b90000000000000000776403bd2870d33a0000000000000000f7e1fdbc0cdc163b0000000000000000fe9ae8bc028e933b0000000000000000d8869cbc81f95f3b0000000000000000579c1ebb322ca3b90b82073cfbe1c23a76fda6ba8ddabbb974f2363c20c32b3b0df7f4baf0db6a3a348a343c7acb543b807dceba74f6e53abfc7433c72204f3b9a44a3ba299c133b5072193c9ea0c83a8546caba49003a3be6e3303c8696123a83927cba74ee403b0946193c45cb8cba6ebb31ba8feb533b2e7c123c4cc14bbb4e1985b751d58c3bf9ebd93b0be25fbb4b97bcbbd76f733af55c90bb898c99bb5e7abdbbfe02383b0be16fbb7a9988bbf931abbb4ba8303b4d9d8bbb6f8f80ba0dfba3bb75feac3a8d1695bba26e8d369e9694bb6d55f2387c7f5dbb5b278b3a5e5abbbb13eef33ab2f379bbdac8aa3a56c4a9bbe67c0a3af41c63bba891a93adc03dcbb5128243b55786abb2969a23a1cd7afbbb82efc39522f2abbec7f4a3a4e2e873c601127bcb227b7bc2a43a3396d6b4a3c4726acbc7222debc96271c3b5574fd3b4406b4bc2fbcbbbca23ba03a9f5eea3b832cafbc5a31aebcafb8cf3a1f47ef3b5eee4abc25d369bc5ec9023a365f263cc12147bc52d080bcbaf7053b29874c3cf2efb7bb2aed45bc942f733a22b2843c4788cbbad9bd44bcae46773b0869733c7efb77ba319f12bcab521e3b97904dbba71203bde2db0c3fb2b20c3f013f2fbb096d17bde293013f5480ff3e0ac597bbc1f0dabc6618e03ef477d93eeff2c0bbf3d1b6bce4f9be3ed6eab43e3cf8aebbd7384ebcdc93943e2df58a3e23fac8bb6d3e4fbc32286d3e7bbd4e3e8247c3bb102708bcf01b223e8637023e61f0cabbe478d0bbdc15bc3d9c38643d652db8bb37f05cbb40eeb73c274befbbc87f06bdeb9088bb00000000000000009b432cbd5db784bb0000000000000000620d17bd820182bb0000000000000000c9d619bd7f2a4dbb0000000000000000a69ae0bcc6b627bb00000000000000003dbe0fbd37da58ba00000000000000005bd500bdf171ab3a000000000000000055f407bd6bec263b00000000000000005589b6bc49783e3b0000000000000000953c1fbbf59f323acbab053cf731893bfb1e0bbbd259c33937ab233c9509b13bacea98ba6b31d5b9d85f3d3c90febe3b138f0ebb8044643ac26a2f3c8ee7b63b47a7dbba210ebe3af47a2d3c992f843b8ed0c7bae310043b55a32c3cb3a8163bebb59aba981f0b3bada6263c7ca2fe39fe9820bb5ca4233b0f5f1d3cbbc2d0ba4e4e1ebbf21ae93aba530a3c5ae245bbac4be0bbc646e53adc048bbbddd3d1bb142ac2bb96083b3b0ddbbdbb8b2c6dbb1209a2bba47d583b0f5653bb1fe959bbd6f398bbb5921e3b0baa90bbe39880ba280bb5bb7c5e753a361f83bbb6eef238a8e8c6bbe70bef3a5ffa73bb993358393813c7bb2ddd063bc27772bbda4f2639b0addcbb5668013b3b4460bbc5e9043a80b1a8bbfc7b983acdf340bbd5b0e6397d94823c5ab6dfbb8a1ad4bc270816b9b688753c8cfe9cbced3205bd4bbcd43a01700f3c3d34bfbc0260ecbc2f61cd3ad882073ce79fa8bc0944cbbcefa9ab3a9f880f3c6ca172bcb732acbc11d8413a1ecb1d3cd5091fbca53791bc3874143b1efa383c377255bb23f86abce11f253b4254673ca732373b828c53bc5fcc483baae7673c7f4c7f3b197731bc9727f73a03eedb3869c9f5bc2d5dd13ec1f1303feaf4d3b992021abd0072c33e2d54223fad1bd1bac431fdbc583eab3e314e0b3f7e928cbb20cdc0bcf8e9903ee56ae53e728da5bb03af90bcd6576c3e472fb43ef12fadbb7f526dbc542a383e8674843ed4b2aebbfca933bc4d54023e63a2293e9b8cb1bb255508bc072c9c3d92389d3d0497a6bb0699bebb5475b53cd7a88abb2c650bbd93dcbebb00000000000000002b7e3cbdc684c3bb0000000000000000e1ed27bd5a67c7bb00000000000000001a961ebdcc21aabb0000000000000000a01f16bd878d94bb0000000000000000a63a1bbdbbeb29bb000000000000000048151dbd79513339000000000000000005b31bbd94732e3b000000000000000081b5d6bc8ee62a3b0000000000000000eee6cfba64182cba057aa83b41dab03bf8a56dba2b2b0bbb548be93b1a200b3cd1cb24bb6f36c8ba44c3c03b8846d63bbb3ad4ba5af548384ec9053c6eb3fc3be482cbba6477113bcd89fb3b7a96ac3bcd05b1bae4d5823a06371e3c9369913b39d1bcb955e79f3a0e870a3c09f40a3bbde118bac27aa03af45c103c466011b92d3b02b9de36bd3a82b8d93bbc79a7ba7f16c3bbe679f63aefc243bbfbf7b7bb90dca3bb289d803bcae999bb184fd2bbf72539bbd421f73a66b696bba77c93b9b88990bb7f7bf83afe3777bb9eaac3ba9aa885bb44248a3a4f1665bbaff66bba1693a9bbfd75c93a33837bbb9d3ae4b9fa82afbb472bc93af5bd53bbca452bba8782dfbb2cb52b3b8f794cbb05ea7fba3127d2bb81332e3bcd2c18bb8bac9db772aa633cba2defbb705be6bc809f87b9dfdf5c3c8fd99ebc120a10bda690e93ac3142a3c3b86b1bc75f6debc4dfe54b84c20043c4698a2bcc5a4debc4476083a561bde3b2a574bbcd4b3a3bc936ef7399d7a013c25e701bc5d139abcdee0c93a376a003cd6316dbaf6cc61bcfc6afa3aa7eb223c9b1bdf3bcf2451bcc2a14f3b363b1c3cecef263ce5241fbcd1af553b4f15a63a6cfeebbce6578a3e9177553fec22e83a2ef308bdbd3f803e58c7433fde7910bb97ebc7bc0dea613e45c7243f00d910bb62f9b4bc4df9433ea45d0a3f7f3357bb200980bc592f1e3e46d1d63e5ca683bb4cc463bcadb2003ebe70a03e878b7bbb57b228bc94feb43de15f4e3e283f8dbbd90a13bcf2866a3d821ac43da12270bb8e07bebbf10d9b3c0346f2ba708c03bd05a6e2bb00000000000000000cee26bd92f612bc0000000000000000903e0fbd6ea803bc000000000000000018ed13bd4849fabb0000000000000000c7a003bd5933bdbb0000000000000000bad91bbd36a48dbb0000000000000000bafc10bd263e05bb00000000000000008a7027bdc7e3de3a00000000000000004fa1f7bc24b8983a0000000000000000e7644437ae422fbbdb5d1d3b994afd3b59feb0ba847bd6bafcd12b3b0760233cd8a049ba002637bbd83c883b0039223c94e5c1ba0e8749ba05b9ab3b2dfa143c1a070dbbc2b19839a286983b1166f83b456995b99bcd113aa68bc03b33a1cb3baea66cba3fb0dab7e4f6f43b5456133bc759d1b9fc35eab853bee63b4cbfc03a44b18fb9eebd2f3a8c09d33bc7d57539f550aebbac9b903b7b7123bb10e39abb2cc753bb93df9f3ba5e30abb0aa095bb76ed3ebb00e77f3bce732dbb433211bb35da0bbbffd7283b62a352bba3c2bbbab7d284bb64badb3abae278bb8f481bbaef6008bb78bb2b3b190420bb287405baa6d883bbafe3063b8278d2ba40a9e6ba3ff2adbbbc102f3b3a0e07bb4af60bbb605dbfbb5441e73a211bf7badd83afbaf57a343c6fa023bc0147fbbc04891ebbca7e0f3c7dffc6bc53e215bd30fbc83953fad63bc603e2bcff5702bde702313a24f5ac3bfef6b6bcab89dbbc87fd9bb9a57da13b6edb66bce3f8b1bcac8287399e99463b2a0a23bc712f90bcb06a0c3b544d803b2ad0063a1e9d55bcd774223b25c0843b0914113ca30229bcb051843b832bc83b69d8663c1df3ffbbcb2e1b3bfd0b2a3ba9c4d4bc13f8063edf667a3ff4663a3bc200e1bcaae9fd3d877f633fa0fa183a8b9fb1bc7320e83dbaa5413f42c656ba9d3b91bcaaabcc3da2d51f3f15c62abb05a74fbc96c7ab3d4176fa3e4b380bbb97c82ebc1ae88b3d49e7b93e3de769bb06591cbc4785553d8f636e3e5fda23bbcaa501bc2abc0f3deea8e13dc94648bb4565cabbd2fa803c4f3b2dbbd8efdbbce2f51ebc0000000000000000e9d502bd3a7224bc0000000000000000292ee5bc647016bc00000000000000007bafe2bcd75123bc000000000000000034fedabc83f61bbc0000000000000000187303bd1b7addbb00000000000000008d1112bd5ad668bb0000000000000000aa3e26bd5c268a38000000000000000056d805bdc9cc5d390000000000000000000000000000000000000000000000005ff27aba8068e8ba68123fb918700e3c9886c3ba8e7621bba34fb73a6f8f053c23f59dbab644a2ba5c7d033bdc6de23bebeb16ba206080ba245f5d3b5b94b83b461c33bac63922ba16df7f3bcb409f3b693703ba57e61fba5887943bd3a7163b1d95aab982cf44ba7274a43b5aea113b0000000000000000000000000000000000000000000000000000000000000000bac96dba934d4d3bcfcae9ba288131bb4a19adb7bb65c83a71b319bbdd0deeb9b68979b98a43fd3a5c0112bb7c9d8dbadb5538ba497a9f3a348300bbb7b692ba01e1b2ba7c80703a6f1704bbdb1881bab7e529bb8f39323b4530e8ba7b3db9bace9758bbd6f1ba3aeafb9aba915214bb00000000000000000000000000000000000000000000000000000000000000007ad1893b5a93b2bc899be4bc5269d5ba75bb433bcb88b4bc72f7bbbcf186d0ba8122083be54f96bc66af99bc86f4abba7860be3a80ce45bcb1ee67bc4fc860ba54563a3a6c9fe3bb371b3cbc537812badc14ca38484120394a4f12bc977f383a0bdf223a925e083ce226bebb6c780b3b000000000000000000000000000000000000000000000000000000000000803f0cb30c3bdb6d85bc9680173b3e93793f2925293ac1dd56bcb3b7fd3b2bbc533f0d0610baa1d122bca40c1d3c9f922e3f536a8bbaca85f6bbf0d12c3c80cd093f61c7cfbadf92cebb1b2e493c446acc3e7427e3bae736a1bb9a4d3d3c836e853e24f5dbbaeeeb9abb137b363c28adfe3d0000000000000000000000000000000000000000000000000000000000000000268865bc739028bc000000000000000059e744bc44d91bbc0000000000000000f3b84dbc95f50cbc00000000000000001da56cbcef12f5bb00000000000000004c8798bcc1fcdabb0000000000000000e35dc3bcc746a5bb0000000000000000f5d4e9bc78313fbb0000000000000000000000000000000000000000000000000000000000000000000000000000000056d84cb9756cbb3a07dee03a93ed88ba50d1d9382c7aec3a9299d73a04c75eba1164c1ba2768bd3aa2d2a73aab4d8aba2ee4a0bad2762a3b46937a3b319ed6ba876b64399c18c93abbcd373ad46656ba267446bad137273be9a36fba265100bb18e2bdba4c2a1d3b61d10e3bbf2957bb0000000000000000000000000000000000000000000000000000000000000000a078aaba4ad7f138dec648bb48df893aad8b7ebabb8da2ba3ef94bba9917cf3ad79a11babbbbc93708b713bbef66bc3a7048b9ba1fcb49ba13caa1baf76ef33ab966abb99cdad7bac3dccfb98db1a13a5fa304ba0372243a8b99afba5b26fe3a8769ccb8101bc93a1ae2c53a97ca133b0000000000000000000000000000000000000000000000000000000000000000e416443a302640bbc23705bbd0bc343afc38263a6d4534bb87afd9bac4a926babce9f439821f1cbbad3d8eba2e0656b803fa5a3a4d621ebb06c611bb34695bba3b2e303a31b5bfba68ec4eba64f2dd3956b1d5b8216a07bba42c97ba863e3d3ab4a06b3be7b157bb34bca2b9c37d823a0000000000000000000000000000000000000000000000000000803f00000000970a30b9d639f3b78192623f71f57439f8d5eeba778a013a844e423fddcaf538b5a7b4ba39f9893affe1213f9967d3b6255b26bb86f5e13ae5ae013f7169c4ba808bb4bad70e923a160ac23e5f4281badd6143ba93807e3b23ad803e9a8320bb466132b94ba0c43a9ac5033eafba91bb0000000000000000000000000000000000000000000000000000000000000000e27e0fbb42f6b3ba00000000000000006b59fcbaf43072ba00000000000000004d48eabaf2f216ba0000000000000000739e32bb21b9beba00000000000000007a00bdba7c9487b90000000000000000f74104bb6248203b00000000000000009b9c61bb0356ab39000000000000000000000000000000000000000000000000156db6ba1ac2133b16e6333bef9397baba5f90b9be13063b873d443bcfa4a1ba9984a739dfeb143b6e8e2e3be066b9bab830ceb92f24da3a81e10e3b3645aaba0a7e80b8e6b0193b66ca283b1e2169ba0791813ab1cd513b31aa2a3bb407aaba08eb38b90daa253b5e7f153b510d19bbac8a563aed055e3bdea1613a549f2ebbd420e738d081013bc5d4893a8593d7ba02fce1bae15c30ba437420bb6ff4e53a260afcbaee837fbaa121b5ba9668a93a2b7506bb927c98bac61427bbb228ec3aa2f9e8ba283e5ebaac3fa8badc44893af93deeba791385baf1eb73ba7023dc3a0535f3ba1c9d68badd09bdbaa611393b45c516bbb7b74aba11be8dba2e9ffb3ad7a717bb5aa2d5ba14d890b9ab914a3b33a7b9ba819094b99e7a1fbaeda90c3b63414e3b162a0ebbea7940bbcaaf41bb7f4e2e3b556551bb444857bbd16db2ba37da083bc59351bbb52a4cbb32b3dbba152edf3a1aaa43bbbf5035bbd71bbdbac930233b41efd7ba1d4415bb34d2b5bad823563b55dd6abbcb2720bbf40dbfbadd0b803bfd378fba8a682cbb141ca1ba5891a53b95a516bb201e20bbd7678abae8915c3bbc1d9abab9aec2ba6dbd09baa03e62bb48c90eba47d8623f7fbd013ef7132bbb10a77bba9553473f71dbe33d80a669bb046a7639fa7a2b3f0792c23de9af2bbbf71a3db90cfa0e3fbf7ba13da1b71bbb494d133a60f1e33e1767813d5a1d24bbcaaf49b95fd2ab3e302f383d6dac16bbbdb6343a6540663e3580fc3c9dc905bb6343fd3a7983ec3dedd8553cfe4ef3ba25f4763acbf56b3bd8dacfbaaeb826bb4b08f5ba00000000000000002a7e5dbb41c402bb0000000000000000332054bb523afdba0000000000000000ef7b4ebb1bdd00bb0000000000000000d6d22abb7d0ef4ba0000000000000000312e3dbb2909eaba0000000000000000fb226cbb4af81d3800000000000000009cb26dbb696dceba0000000000000000d12512bbdb547bba00000000000000008258c338648de03a068e313bb2db82ba9b1616ba755bfa3ad977a43b143df8b9ce8ed3b99fac0e3bf9ab4f3b18ba9fba7b059eba1fa7553b6a347b3b177960ba1590743aa8dc1a3b10e6243b8dd59eba50e3dcb5b41c363b85903f3bb185c3ba65c2c239b6f0233b7bc0153b0c69d0ba34e5ef38029f343b11e8193b587d05bb1bf984b978b0d83aebb2af3a807ed3bafc890fbb50c602394a8172baed74933a079568bb50ca213a6995dcbad0a2933aeac905bb114eb8ba09269fba93d8ae3a1fbc34bb86a2cfbada8e13bbbe4a313b29021abbb80eb4bab3ec95ba3b15dc3a932827bb3f1ba3ba350dafbab0f2113bb6cc13bb0b8c66ba069f70ba8dd2123bada11fbbfb548eba4f2d8dba3250373b3acce3ba4e4625b987d82a3ab87fd13aa9e1723b7c8db9ba40f54abbf25667bba7767e3bf8f7a2ba3fb653bbb0093dbbbae05a3bd02d10bb884f59bb81e8dcbab4a78b3b3a03f6babd0b71bb1bb120bb98f95f3b20c5b8ba16f934bb38b4f2ba16628a3b1b03c6ba7f2e4fbbd6b9ebba7a44823b8ec89bba8b2e2cbb9aa7c1ba9086a53b0de586baf67d32bbcdd4cdba2c55633bf43e5eba778df8ba0ad74fba0b9f68bba2d9c3ba885c423f9271813e5e263bbb727801bbbe1a2b3f6432633e7ee611bb387486ba30ab123f05c6423e92e766bb3591c0badbd9f53e1a3e233efda718bb9abf69b74fe4c33e3294013e092737bb1c47dc39d136943efb3cc23dfaac17bbe281143ae46d463ece80803dc2a53fbbaf49433aff01cd3d2d75fc3ca6e450babd755f393ae0793bc2b255bad71248bb28ba16bb0000000000000000d4e14ebb353b71bb0000000000000000fb3c55bbeda705bb00000000000000001c896bbbf41a38bb0000000000000000156742bb118100bb0000000000000000782d72bb67f216bb0000000000000000520551bb4097ebba00000000000000009ae863bb4860e8ba0000000000000000bb3024bbf1559fba0000000000000000979adfb913b3e23aef93623b8c7626ba6c4757ba7a36063bbef6883bdf17d0b9001d55ba02071b3b4e207d3bdc6138bacfef7eb981b02c3bd8ac743ba5143abab795a2b905092e3b41e0673b9b385bba7bcc0dbb22ff4a3b07466e3b06cf03bab4108b39d8e34d3b7d7b4b3be64da7baf71bc038a99f423b2fcf313b1094f4ba6cb99c3aa1f4453b7770243bf39773ba0a0539bb5de7c4ba0a6dbfba6f99613a97e846bbbaddffba814512bbbce85b3a1c3050bb9e286ab9e816efba89b2ad3a8a6f49bb6c8f04bbeaabdfbacd8bf63a1f2a3ebba88cc9ba56d7dabaceccdd3a7c4222bba5b54fbba8a2dcba90e51e3b34bc40bb462ae3ba6d3245bb2d592d3b94c84abb6f0fb8bad913b1ba776c303b7c04debaa1e8c7ba2f77b63929e3823a5d11983ba332c6b9442073bbbd3222bbe2a6a93bd9298bbaa4f290bba1f210bbec59a03b8f45c8ba9b6991bb771239bb0010953b158ababa9ce68abbacf033bb10c99c3bac5157ba8de86abb590627bb0e54ae3b3fca4fb9868b3dbbc50481bba6fea93bffe0f4b9a8ec56bb19b018bb2689b83bcb5a32ba40c957bb37d610bb852b9b3b2a062239d3ffedbab5b342bb295616bb96040dbb0823223f3776c23e4b8b58bb9fea34bb73cb0e3f411aab3e187f2abb025bf8ba1680f53ead95923ee1c044bb00aba0ba883acd3e00ae743e4a0b34bb7b0f39ba1987a43ec17c433e213a59bb22d986b9a296783ed808133ecf3e34bb0403c639efa0273e9661c33df8414fbb761291395c91ae3d0655433d13ac40bbee1fdc3a115c733bd402653ab60550bb153242bb0000000000000000580b82bb1ac944bb000000000000000088b482bbe9464dbb000000000000000052d783bbe7b050bb00000000000000004a826cbb75293fbb000000000000000078c34ebb16450dbb0000000000000000280c77bb89bd2bbb0000000000000000ee0684bb07261ebb0000000000000000ff8e1bbb5702a1ba000000000000000060758fbaf66ca13abc604b3b0d5a7db98f016438faa83c3bb21f693b3c03c4b9467eb0babf29413bf13a413b70dbb1baaee162b99839213b08e9793b1086eeb98181dfb910d4f83a5e0a333bfa3452ba69b0d2b856432e3bf79a613bb0f94eba96cc1fba0a54e83a4bf57e3b37827aba7c63e6b9714c833b21cf683bd1c194ba70a7bc375ad50e3b6e647e3ba251b23978b33dbbc4ebe6babaec07bbb15d92b829f455bb5fd088b939f4aaba3e2ba13abb31edba5bca20bbd97a32bbcb7d0f3be93157bbae6597ba77b1c2ba5037b83aea255dbb834c09bbf425dbba8add943a31b651bb56f8f2ba66d9d8bac873fa3ab85008bb76372cbb11b720bb66db7a3a37fb47bbd2c020bb3464feba9729e03aeaed58bb0645bdba98989fba7eaff23ada65913beca59f38f44e72bb1d6e87bac946953bfe391bba2cc4a3bb50306abb20a4803b1de2c6ba47e059bb5d4e23bb457e9d3ba6bc39ba84578bbbb0af5ebb4908773be7d02ebaf5e8d8ba85b1debab986a43bc4544fb929c86abb751044bba0c6b93b73dd78b8bfd630bb96891dbbc09ccc3b8198b939e50052bb2bc01fbbcf22843b5b8be43ae7529bbacaab2fbbbbea95bb036088ba7f9e013f838c013f516023bbf97218bb06eae43eae99e33ea23383bb348334ba5f8ec43ee0bec23e90be26bb92cbacbaf25ea43e85faa23e415370ba26038eba7926833e57c4813eda3141bb18d823ba56b9473ec199433e9a71f9ba55ddc7bac0c5073e30db023edd367bbb94e00aba0c0d8c3d52a4843d4d3326bbaa2e32b8a9e8a53b7ddd353b821253bbeced30bb0000000000000000a1108cbbc5cc7ebb00000000000000009a372abbfcce0fbb00000000000000009d877dbbf56567bb00000000000000004cef5cbbf7ddb2ba0000000000000000409f7cbbd7053fbb00000000000000003c3d38bbaae316bb0000000000000000409b81bbb2a628bb000000000000000029147abb766521bb00000000000000004219dbb72e34033b8c3f803befbe82b9cd775dba6298ff3a27ea863b3fb9bf393e91eab9d6260e3b492b873babff173ad92a0239cdb22b3b4934823b72a267b7f8c8abb915ff233b004f743b2c8c93b92741bbb95ae8183becca733ba456a2b98f2429ba2e1b1e3b8607663b7b1520ba8329d3b8df01253bf402573b192ca1ba8791d5376f11213b8f8a2f3bced229ba54e450bba1c931bbcae484ba601f2c3a649351bb9a5328bb1ee2e4ba1753ca398dc748bb5f4988ba8991e6ba15cc7a3a4babf2babca35bbb328747bbe5c9d53af22f52bbfeeb08bbd8aaccba788cba3ad66d57bb5e91f4bae793d5babc50d33acaf634bbaf1c33bb61ced4baac3ccd3a19be02bb3f2a25bb8976cebac092fb3ab11627bbf8dee7ba7c01b9ba6748f63a1b4aa63b5da360366e968cbb62a76abb9a8fba3b61e6063a71cda0bb0b5959bbb17aab3b94215d39bb7dd0bb25515bbb6f07aa3bcd7fc5b8d54b9cbb0b2f1cbb6a7b9d3b84a375b7508287bb265356bb15cba93b9b1fb339ae6581bb57ba35bbdba0ae3b046f153a159c64bb7b5904bba668af3b3ec6363ac98e86bbc1f9bbba6671903b4112833a9d132fbb9c1900bb44bf56bbe82cf5ba18bac13edd22223fac551fbb12f938bb9cc4ab3e26940e3fc95a2cbbbecc03bb35d7933e378cf43e9a8784bba24c89ba22e3773e7cd1cb3e27fe29bb12ef92ba0d1d473ebffea23ee3333cbb859788ba2c69173e35f6743e00eb3dbb8bae87bad2ffcd3d118e233e78db47bbf02100bad7095b3d4f51a53de0a42dbbc4013fb902f0a73bf8f7fd3af55660bb262864bb000000000000000094cf7dbba0a067bb0000000000000000dcc057bbb153afbb0000000000000000cfdbbdbb868f11bb0000000000000000921080bb707262bb0000000000000000782484bb4a294dbb0000000000000000a06c8fbb6b082abb00000000000000004a97a0bba066d1ba0000000000000000ca3e59bbe7130ebb00000000000000006dfa0fba2b9f633ac2a1193bb28d9838868b46ba048ac23a95b8773b8b09803aaa8855ba7592b23a60e6563b08c3443a8bd32eba267ce63ac5066f3b2280113a7420d9b9d4c3e43a85e7473b1a2034399453f5b9929c243becc28e3bc1003abac7e04bba981ee03a90a44d3b38856639499e91ba664ada3a2c094a3b3d63a9b9d7a58db87c6ff93a33ac2e3b055ddf380367c6ba11a1ceba468794ba080ebcb9649b57bb04211ebbeab3ceba3af4c9b76d8935bb0b8f31bbc08cdcba42639e397f124dbb7082faba7b97dfbad992433a161d1ebb9addbababb1bd1bafa00523aa11f72bb146213bb4a19e4baa3e7ba3a520a1fbbf93b9fba4a24daba5c5d163a539656bb9aedc3baac1777baf14c253a6c0addba79b214bb30d0a2ba43b29f3a20d95d3b75d8053a929b26bb97050cbb9ff49e3bb20c373ab7cda5bbe99d6bbb9f6b8a3becd58039aade85bb6b8838bbef9a973b1e008739f8db96bb20835abba016773bb2d1cb394ab55dbb41d028bb1db8af3b7fa814b9189327bb64f34dbbb834823be3c3a23a688941bbf11bfeba1ff3983b07f3e33a9afc5bbb89de20bb74e77a3bcb3de43a12e2eeba2ebf41bb6867abba108a19bb657c813ed717423f00f7f8bab8de2cbbb77f653ef5fb2a3fdbcf04bb13be00bb1339453e9654123f38471bbbc3a7f0bae23b263e4199f43ec27f14bbd1dda9ba7dfc043e29edc23e1fd631bbdac38aba7232cd3dfc50923eba001abb70b1abba22c8893da0e6433e40fd12bb48e90dbbf56e1d3d8081c63d65b615bbc0791eba09338d3bf3011a3ba94a47bb0ac5f0ba00000000000000001cec5dbb4d5178bb000000000000000066733abb3c893ebb00000000000000006d9c60bb789b72bb00000000000000000b903dbbe4fc3ebb0000000000000000332534bba0a982bb0000000000000000df4168bb8c0b1ebb0000000000000000ddcd8dbb9a2041bb0000000000000000af6234bb0f05b6ba00000000000000002c9e40ba6784083a10b8193b92a0973a0c93ce3919a13b3812b9773b5c5bf03aab6793ba32d4e63a1326233b844d0f3a1c8ecdb95848e73a9e0d6b3be1bac2b82761c2b996b3c33a93df353b0dd48f392e5e34ba42db9c3a3ce48b3bdf3bde3ac14e0aba5164683b73e04c3bedce3c3ad432c9b9d93ce03a4f17483b81011939daf010b97f99f23a610a4d3b28ea353a4ef0eebac64623bb7a30b2ba059ad2b90f288abb594b0fbb83b08eb97c279bba488528bbccec25ba34040bbbf7a2203a421824bb0b34efba9b4fc0ba5c372f3a19291ebb9577f1bae01cb7ba92b23b3ad0bf38bb02bedfbad795ecba4a419e39367c60bbaba7baba44a4d1baffbf0f3a27762bbb443ba8baefefcaba26f8593a113c5dbb88c5b7bab8828bba3e4f853a78be4f3b5d78913aee0071bb70d7f8ba884a9f3b66f7973a3c4dd0bbf5f596bb4c98893bfab73eb94e229abbb35150bbcce4893b5611513aba1196bbd08838bb6a45693ba6bda839fd0865bbbecd24bb941aa43b49511b3bb5746fbbf70629bbfb33793b5171eb3a622b85bb7fc934bba124853b3bb80c3b583f33bbcde1dfba363a7f3b92b32d3bd1e3b1ba930743bb40979abaf21707bb6f15023e42a8623f49e272b8c9314fbb8d44e93db884473f1fdc0fbb216db6ba6bf1c83d14b72a3f9de003bb4f03b5baafafa93d13870e3f463703bb86938dba0378883dd55ce33e94a00bbbdcebb7ba95664f3dbc8bab3eda6816bbe492023a6eac103d186f643e24271cbb03d9a7ba2651a33cabb0e63de21007bbf0ee45baee93803bc74d3c3b49c8fcbaf94a28bb0000000000000000ea3305bb6127a4bb00000000000000005c962fbb7a4459bb0000000000000000c2215abb9ca75abb00000000000000002be230bbd3c84fbb00000000000000000a047abba2824fbb0000000000000000ac383cbbdc7778bb0000000000000000dac884bb60ac3abb0000000000000000850620bbbd0b58bb000000000000000000000000000000000000000000000000f3a91abb968c07bb37fa193b13b9413bf6bca2ba3e22b9b95ed5183a10282e3b06f1e0b9e23ecf396346bc3a9466383aacb8a8394a2a1a3b5e1e413b9220953ae64d1cba5bff703acccd013be2fa0c3a8bdabeb97ed37b3a4aa7123bad7e6d396305bcb970e3773a9bf2063b8f99b4380000000000000000000000000000000000000000000000000000000000000000871e2abb836e2cbb1ee033bb88b13bbae1843e3993140dbb8e7bdcba31ab82ba5cdca4ba776c1dba107f43ba55e4d6b805392ebb331049b9a23414bb1139c5ba1072a0ba41cfc7badd51b1ba4c0e9839eb0cbebad522dbbad7a390ba5f7a86398d0228bae05b57ba58728dba935b4c39000000000000000000000000000000000000000000000000000000000000000066024a3b412c173bb77d88bb81b270bb8d95b237ca99e33a2584aaba6a722ebb3371e33aa0a836b8a48635bbbf32f1ba54904b3b6e91933aebd9c9bafdf54abb94f4153bbfe9483a0838f3ba15c190bac094263b8c9b813a521eecba098388badb4d1f3bcaa1ed3ad8ce09bb1b0816ba000000000000000000000000000000000000000000000000000000000000803faf0b14bb8f05c5badee1403a7a3f633fdcfdcdb8e1cfdcbac3543f372b96423f99971fba1f056aba2a95c73a0fb6213f4cec06bb375086b9158f663b838e013f1eaed1ba465171ba6423223be518c23e5331b0ba6fa8c7bac1c1223b67b0813edfb7afbac0707dba8e3b1c3b4644023e00000000000000000000000000000000000000000000000000000000000000004601aeba21e0ccba00000000000000006791b13af9a381bb0000000000000000aa7d9cbaff721bbb0000000000000000455a81baba0964bb00000000000000000e4fdfba79d9faba0000000000000000b1eb1dbb49280dbb0000000000000000f5b644bb940441bb000000000000000000000000000000000000000000000000000000000000000000000000000000006e022e390cf96e3baefd913cdeab233cce99be3a94ce743bdbc77c3cd618263c20d9d53a1438533ba740353c4365e13b6b8a0d3b5e502f3bf531eb3b7661cb3bf6ee5b3a219b413ba075c73b5069283b2409293a3a41823b4082093be849a03b134d4ebae55d583b8f5738bac039ea3a0000000000000000000000000000000000000000000000000000000000000000b4e3ec3a9d9720bb081b783b3a23b9bc456d4e3be090e7ba5b8ef83a5c37d0bc24cd833b765ea9ba6fa7173a7ed7cfbc3d507f3bf463e4ba7acb193a4d67cabc13453f3bbcbf36ba68e4833abf5cb3bca658ee3a341d38ba10fbca3a55bb8dbce460e0b999030c390614cd3a355815bc00000000000000000000000000000000000000000000000000000000000000002ce404be03271bbd9e0c553c807837bbfdc7f9bd15da1bbdbea3253c496119bbcfb2cdbde64817bdd335d73b5cdb04babbcda4bd8c7efcbcc46aa53bafe83aba38f76dbd7027b9bc5a92983bdf32f238249f1cbd1f0f44bc16bf413b83cab4ba782c4dbcd9ee5bba06a2173b13186eba0000000000000000000000000000000000000000000000000000803f00000000b559ff3b7e857fbd3eee9d3f19275dbd87f6c33b43b9f5bccf55833f623c03bd35e09b3b307238bcc2d7533faa26b6bcc796853b9b9dbdbb6714223f2742abbc5208623b9357b1ba60c7df3eb5acc3bc4d06793b91f444bb84d27d3eca7bd1bc709d363b869e20bcfa288a3d485e02bd00000000000000000000000000000000000000000000000000000000000000000dad8ebbc820403b00000000000000009cde9bbbb20a333b0000000000000000e51898bbb2dcb63a0000000000000000666338bb1f64e33a0000000000000000aa027e393a4b55ba0000000000000000a897a43b788b9fba0000000000000000f6ce1c3c89c802bb000000000000000000000000000000000000000000000000245fa539b87308bb8d4d7f3c0a16463be2bb3eb8e4fb703b9f29c13cca69503c49ff033bed76b03bf696b03cefbf473cd89d8c3ab13d893b9354983c5d972c3cf144f03a3c6d723b126e543cea23e03b145daa3a2280813b6fa11c3c918cc93b77b6293ab4c2823b1ea5a03b6697803b40b304bbc20f8d3be97e093bfe87333bda805ebae719eab81413fbba6fa628ba59d69c3a6838cbba225d023c72e7d4bca4dcf138d7b156bb04bf263c7e93f4bc6bbf693b74d657bbb69de53bcebf0fbd9024763bb03228bb361baa3be3270bbdd6b08e3be52b23bae895493bd3e6f5bc1c9c713bdbddccba2376783b3b21d6bccd820e3b8cbca0ba1203723b3d49aabca33b3e3abe3054ba6c2fa23b26175dbc8c059d37f883acb996b04c3bc5fa97bb6ae685bddff7f9bc09e39a3bf221a2b985d004be736627bdfe712a3c23ba91ba415d08be14b455bd2235f23bb0c62fb74fc9e8bd843f4cbd5098803bd5accc3a7726afbd538c2ebde3662e3b6eaa253af80486bd675c02bd2f002f3b803d133aeaf71bbd06f698bcfe49df3a74e1483aecbc2fbcae31f9bbead2043b3321d1ba37e0713c381fca3ac9b4683bcbc0b7b929d55c3cef9a00bebd0b9e3f9d05a43da1aa973ca29201bedac6973f9be1873dc31d333cd7eeacbd9dbc823fe675923d27470f3c05d864bdd641533f14a7823de96cc03bf6d616bddbe21e3f137b3d3d1c7bb73b5a21fbbc02e4dc3e3445cc3c02bec83b052ae7bcabf2783e2d5c643b10462a3ccbc7cfbc671e7f3db4b930bcda42c63bcfb8d0bc710153bd984101bd3278f6bc3044cf3b0000000000000000270cdbbcd553ce3b0000000000000000b428d9bcc3bdc23b000000000000000058c5b7bc2eb7773b00000000000000001e008bbc9f33253b0000000000000000e4d043bc94258c3a0000000000000000c265cdbb698c6d3a00000000000000005832823b7ed454ba0000000000000000dbeb4e3b1fd58eba0000000000000000188c0d3bcf219dbb939c6c3c6feca33acc84f03a485f76bae47a923cf8a4023cec594f3bb8d46bbb2f179d3c0cf1d63b1c0e583bf1696438dc588b3c20fb073cb8590a3b2b5b4dbac4d7493cd0c8a83b7d26223b1380543ad2561a3c2696943b2834653a9d82273a13339e3b27c6043bd62b29bad2deb0b9da05113bf35da73ab65f5c32e1adedb9c4f1b9b932faf8bac52ea13aea03b9b9697b083c5c2dedbc749a8e3b03c44ebb96383a3ce6770ebd726eb23bea5060b95edbb83bb02e06bd4c51bd3b6db8f1ba42efc63b2fea06bde2be893b3b6239ba9370833b5ebcdcbc8e37943b85cf5eba6bc0893bbc24d9bc1caf3f3b8aef6cba2f97983b427990bc6e3dfd3aea54c0baf090853b5c555ebc839ebb3a058b92bac4e5793bef33bfbb8eb0fcbc23a6e1bcc311d8bb5a9b313b5edfaebda5c75cbd9d79feba534c7d3b7d11a5bdf0b16ebd32bc91bbbda5a33ac0c0b3bd826c79bd37617bbb8192873bae8b7fbd5c8b3dbdab9f69bb805d1b3bbadd4cbd2afe20bdae7e3bbbe4b14d3b3ba9d2bc1e11c0bc77ddddb903c1f13ad436aabbcaf214bce16b893a31079a3a64cb433c407b97babc333f3be8f54cb81fd3533c9ff1fdbd03fa833face3843eb8109b3c4b250ebe5a9f833ff847773ea7b12f3cd76cadbdb41b5b3f15f65f3e42b9323c2fda9ebd52293c3f461c383e5b00083ca29a56bd0ff50c3fe467093ed341163c898a44bd69a9ca3ecd0db63d7aa5f63bce9d17bd8153713e7eb8383d4acf473c79041dbd4377af3d8f513e3a481e013c0feaffbc28afa1bcaa59dcbc81de5cbd25fbfb3b000000000000000089b076bd8a0e2e3c0000000000000000c6993bbdf388a63b00000000000000007e9434bd8808f73b0000000000000000768608bd24988d3b0000000000000000b606ecbc9eb8923b0000000000000000781ab6bc9ea18e3b000000000000000044755ebcd1553c3b00000000000000004b41f1bb0ade793b000000000000000001af133b168ac2bbb554443c34e6bc3aeaca3e3bc84249bb25bc6e3c85f0f83b523b2f3ba6912fba3880803c2f5b043cabc3243b700b95bae905733c771fe43b343af03a0b36fdb988c4453c5816a93b9fde023bcc172bb989c0083ccdb8053ba51a943a499d3bba95a2093ca7b3243bd39299396b850bba9d93243b16ab44389872203abf8e6dbb8ca63f3bbac2a6ba0bcfec3ac01ca2b6f0dad33b2c0df9bc73220b3b77ced0b984be223cdcfb11bde518e73b5d3ff8bae2a3f13ba99803bdcef8953ba2a512b94fd4c33b4c55f2bcb15b7c3b421a533aa556983b039fd8bcd881a43b310176bad957a93ba3aab9bc1b61213b693ac4baf0ec993b68c09dbcd26b023b44e00ebbe057a63b7b8c41bc7a64483a750b8aba882d923b6c310cbc92fe18bc83f9f0bca73895bc4b33ab3b5d1b5bbdf3367abdadf66fbcb670f53b638390bd1ccb92bd098959bccc80d63b502b86bd521d86bd25b854bc73f8a53b5db559bda5cf68bd4a3838bc2c92ce3bf0b425bdb7ef28bdd713cbbb02b87a3b512ebfbc5a2df3bc8b8c2cbb0fc8873b86edc0bbc36b4bbcb616193b5f8ecd3a8d181f3c599503ba10b2043bb5c65e3bcfd21d3c5260ddbddde7553fbe33e53e1adc8c3cd992ffbd74e8553fcd0edc3ed15f523cf8b3cbbdd8ce3c3fbcacc03e82f9253c827e9bbd87ec1b3f145f9e3e0c20fa3b578975bd5efef33e2ac1703e71380e3c86b04ebd5431af3edb8c243e0cdd163cefab3abdfa38563e1444af3de8e92a3c5eb824bd084ab83d35a69f3c8042c03bd73cfbbc1260133a1ad1d0bc1c0396bd8c570a3c00000000000000003172afbdc44c4e3c000000000000000041e095bdea72273c00000000000000004a087bbdac2f0d3c0000000000000000544c59bd88bcd43b0000000000000000b54238bdcc37fe3b000000000000000099ed18bd7697f53b0000000000000000a995e0bcbe29033c00000000000000001bd1b5bcc2c59e3b000000000000000030431e3bc57ebcbb1e10043cd8e7493bb8b3193b40952abb4137363cf289b43be131033bd555bbba70db2d3c7400593c3f812b3bf87bd4bae1cb3f3cda9bda3b4ca9a03a0fd2c5bac73e013c2e93333b1782053b3f0abbbaf976153cff4a753b959e0c3ae3efa1b9473adc3bb3ab803af2f5d6394e7cdebadcfe503bf69ad7b9e77201ba880ffdbac604173b188e91ba0096173a443ee43a9504af3b01b6debc7c9fac3b6992d53661effe3b0751f4bc180c273b62430b3a315dbe3bb5f5d6bcecbe9d3bf804213b14ffaa3b0a6fd1bca169093ba4dca33aae7c3f3b688f95bce6515f3baa90d03aefc7883b5cf8a2bc51d31a3b1ef376ba4c339d3b0c876ebcaffdb03aa0dd9eba97e0a13bf1e922bcb7298639042589ba5743693ba539a7bb90511f3a8b3802bd9215dfbc2160003cef8607bdb43589bd8ecacabc36301e3c586543bd19c59abd6d2fc9bc45fa0d3c55844cbd2bea97bdf050abbc0c23f23b3c91f2bcfa9548bd4e3e7abccc77993b93bc0abda72042bda2fc50bc449dcb3b247db0bc7ca7edbc7f11b0bbd801a63bdc42e3bbfe5e47bc54f8c6b863e3743b3f6edb3bc54616397e820139d3196c3bd175093c0e05bebd065d243f9c00243f515d5b3c567fd1bd6a38223fa8bc1e3f0d4f223c26cba3bdb18a0e3f591b083f8a561b3ccbbe8dbd27c5f53e2fd9e23ebfb29d3b71c12fbd85c8b63e1344a43e7576e93b054843bd0fe28e3e426b6f3e96bbb83b8c1521bd749d373e6041083e073e083c14c916bd208da83d15b31d3dc658b43b8c92e7bca857133c4f2acbbcddecbdbd6a82153c0000000000000000a814d8bd2b504d3c00000000000000000305b0bd681f433c0000000000000000e7a99dbd67d3083c000000000000000031b85bbd33b9983b0000000000000000a5dd6ebd9906fc3b0000000000000000e7af44bd8147083c00000000000000001b6f23bd1dcd253c00000000000000001849f6bcbaf6173c0000000000000000c5f5bb3adc6759bb961ccf3b08c68f3bb4b4cc3ac447aabaadadf63b9d111f3cb40b0a3ba3c25bbad07d283cff972f3c6f02c13a66b65e3809f12c3cfa162e3cd617673a2d7700ba55ae073c6117e73b6d861b3b913b92ba43e0ec3be0afa43bf62896383ea899b74b4fc13b8e86363b65f8ebb9cf9680ba74ea8d3b3ee497b91e6db439a261eeba9d9d253b60e30dbb0cb4a539dcd4533a7a55be3bf6ecbebc9b8de73bf23050ba2497ce3b21afc4bc7c62023cdea57dba9901973bb08cb1bc5264c53b58fca5398660803b1503a6bc56879d3bb550b23a3fb3843b55b58bbcd50e883b2e7648394e95053b7aaa71bc4c4a393b2a07bcba03ef723b8e8a23bcf9f8a93a115523bb707b5f3b0f82cfbbfb9262b80ac42dbac1843f3b96e26abbde55083b837712bd5ee0ffbcd5ad213cd5f2d9bc3b92aabd758d04bde57d593c34052abd890dc7bd61bef0bc01e63c3c12842dbd1918b2bd24c5ddbc0f6e183c78cc17bda3b28fbd8fa2b4bc2e33093ccea302bd3e2e56bd7f3a7bbcf3a1dd3b36c2bbbc49fc06bdd0e2d2bba798bb3bc97f36bc5ed040bce4d1b1392e1d733bd1560e3b225f7e3b8259c03a46be443b50d0f13bcfa998bd2f7fe63ef88a553f0388563c3b07aebd4db0e33e6d59523fb7d42d3c47388ebda62ad03e4315373f9968063cd63e6bbd96cbb03e44f2133fa5b3cc3b69ea40bded35903ec84ae03efa84ea3bc1a824bdcea5563e423a9a3e35b8ce3b549111bd73de0b3e24f52d3eea35fe3ba37102bd690d883d0717533d9c19933b96fac9bc244d253c5b0be3bc69e8dabdce1c2d3c0000000000000000845603be118a7c3c0000000000000000493ed7bd3908413c00000000000000006933b6bd1c64303c0000000000000000353199bd81d40e3c000000000000000036be85bd3083253c000000000000000048486cbd1d0a403c000000000000000050e645bd48d3633c00000000000000002ea616bd7c50303c000000000000000016f7983a4540eabae360463b517ee63ba7915539e4408d3a2a3acb3be410723c4415843a23795b3aa11bbf3b9190593cf0dda33ad1bf4d3ac6b8043c5a76573c893eab392c9a9a3af086ce3be1140f3c22fe68394d37d33ab39ece3b8bbdd63b004a503aa4392bbbfc95293c16412c3a8dd597bae70b693ac75a893b94b2b4b9bf1020bacf02c2ba1d70363bd842eaba163e5b3b61b880ba335f343b8bc766bc630d243c37e59dbb02f0ae3b608d64bcf383fe3bcb9103ba81182c3b853b4fbc3c660a3c2fe83cbaa600423b051656bc4f547d3bfff9ac3ae6cd203bc1d237bcdb19a43b401b4ebaf694213b11a204bcad97493bdea486ba3af9633bc17af3bbfa9a233be9e056bbfe080f3b89b314bbe44b2ab96ae00dbb71893b3bf910b0ba352c233a780b53bd5833f4bc6afa4e3cae2fd3bc4becdebd9c5a09bd3a30823ce71ffcbce4cdcbbd050709bd484d2d3c2f591bbdb641d3bdc50d03bd7b68363c8e8302bde1729bbd22bcbfbc681adb3bc26c01bd6d5674bd7a5489bc434fe83ba2b4bdbc73c00bbd87f210bcf628b03b7d2467bc6df735bce5c4cb3a4117c23a63601fbbdd24e03bba7f5a3baf03263b58e8023cee7d61bda3ad853e7c9f833f2845373c09a774bd57b4823e0e72823f3ac6e03b02043ebdbd87793e851e563f6bf9de3ba55e2abd0c2b5d3e8dfc353f4e02b63bed1d03bd4e98343e60f3053fd251873b06f7eebcb4110b3efe40bb3ea672db3b936de8bc9622bf3d3f69523e15a9ab3b4d81adbc72922f3d80d1683d0005873b0f9f88bcfa1fa83bbd152dbd45a1fabd9c7f443c0000000000000000524d12be102aa03c0000000000000000ab20cabda404243c0000000000000000e445bdbde71c293c0000000000000000115a91bd4723063c00000000000000006ab08bbdd61e2a3c00000000000000005ca461bda089263c0000000000000000fb7143bd78e1823c000000000000000012c115bd1be85d3c00000000000000006526a1ba4d7eb33a0832083a1de5663c54947dba7468953b5bf7583b1c2ea73ca90855ba8b756c3b9b09e73bd8f6a73cb7dd11bac28a5a3b4164d93b14be843c4f2d28391adffe3ad078d03bc1fd2f3caccde4b9a6bfba3ad410cd3b81911b3ce94388baf4451c3b1882c83bd11e773b35c8c8ba541e30397f11d43b6e9e93b97f4e94ba813894b92b84253b313a37bbac52ad3ba0e08cbbe9d41e3bf62fa6bb0f7c7a3cf15e07bc3a7ee536495ccdbaa7bc543c807671bbffc1033a105280bbb63f2d3c8b75f7b9849f4d3a51d981bb549e063c81339438adfd233a3b1797bb6449943b797b413a0badba3a5c0a32bb05fbdf3bc28837bbc5a9e93a19af08bb7c8b443b760d65bba41c963ab171343b2735e13952aa09bbdfdcd53a46cc0a3b0edc10bc7cd79fbd15efedbc3c9c443c1e21c7bcc27211bee0f8d5bc4085823c686a10bdf39e11be571a0fbd0a20413c0c3212bd790ffbbd024a0bbd8527233c789f06bd7aa6bebd1ee4e2bce8f2e23b168cffbc09bb8cbda69ca6bc8134d43b3a0dc6bcd82d30bde47d08bc1fdcfc3ad1ab80bc772850bc3dec3c3b9faa86bab837a5bb2564313cf888cd3bda1767b9cb23f13b1aa501bd80b1a43d12989d3f0ae6d33b4d3bdfbc36daa43d6c21973ff6a3c73bec8bc9bc4b18c23d8f69813fe07f9b3b69b6abbcf502c13d87f94f3ff48a343b4e6287bc275ead3d16681b3f15850f3b21e86bbc8899843dace2d43e24e8c23a44422dbcbcbe313d62d5663e3e25c13a62f6f4bb8cc7803cf1c34b3d5771d93a65b3f7bb2aada4bb07f485bd85f300be96d0803c000000000000000031bf07bec81a803c0000000000000000b3b8c7bd214b4c3c00000000000000003bab99bd0608ee3b0000000000000000c85975bd67cfcf3b0000000000000000251b60bddbe4f43b00000000000000002ab23fbde58e3c3c0000000000000000056610bdcc896f3c000000000000000075b70dbdcfd7513c000000000000000000000000000000000000000000000000b463fdbaf257553b2c90d33a5e9ba13ce6379d3955d94f3b47d9213b52d0833cda2883389060093b94fa213b7f863e3cc1cf22ba7a584f3bb6c4093bf22e113cd2f46c3a40f8de3abd40483bed38bb3b6b1ab4b9a245d43a7928843b4f2c363bcf1f97ba2643ac3a2a47863bdd9414ba0000000000000000000000000000000000000000000000000000000000000000a100373ceba095bbe5347fb7de31a83bf5a32e3cfb567aba0ea83dba63606b3b6ddcf83bd00c73b9b39443bac079df39500fc43b9a0bd43a25d04cbaead9993a16029f3bead188b82c7205baef6f0e3a25686a3ba75ad8b9c7fe9bb88815b13a69ef3f3bcd13b8ba4577e5b95f665e3b00000000000000000000000000000000000000000000000000000000000000006090d0bcb50f07be7c11eabc8ffbfa3bdacfe0bc645100be3989f0bc4e7dcc3b38d0ddbcd908cfbdbae7f4bc78cc8b3b2656dbbc3b07a8bdaaf0d5bc68530e3bceb5c7bc0ed26dbdeae592bc05060d3bdfe3aabc2c3418bd977309bcb6ee873a318e7abc5cd944bce16ff439b82f5bba000000000000000000000000000000000000000000000000000000000000803f4489283b5df092bbed5d3fbd18279e3ff3cb0c3b956b4fbbbef38ebc634b833f3bf4523b93af80bbd607b23a2778533f5407943a3d462bbbf8eed33bbb99213f39eceb39055e20ba9df2e63b8b21de3e4ba696b985b86f3aa9550a3b8b207c3ece69ca3629860e3b03bed8bbb903873d0000000000000000000000000000000000000000000000000000000000000000398a93bd6047133c0000000000000000be8d33bda123273b0000000000000000ed77f6bcfa50b03a00000000000000008fd2d0bca428e23a00000000000000003386ccbc5ce3a43a00000000000000002ff7c7bc7b4b813b000000000000000017addbbc3477cd3b000000000000000000000000000000000000000000000000000000000000000000000000000000006d2b043baf7834bbd87f223c00ea0c3c8971343bea1c8abab21c003c1ff4223c0b213d3adadcaaba8a53b93bfc2bcf3baf4e8bb6cd2dab39de3a303babee783b8c88913ac078b63925d5b73a3001603b1e866cbaf3667d3b1ba9b3b9dd56973b81884f3ac970a73af42792ba6c30d73a0000000000000000000000000000000000000000000000000000000000000000038e943bf0a31abb2eca4a3b6a21aebcb5618e3bf0d52dbb9dad163bc157a0bcfda3b13b5ae30abbcd79993a7ccca3bce3f9c93b2b67b9baecf7d13aabfc96bc95a4913b4232aabad9a5ea3a6ad492bc995ef33af755e7b95198833a6b8a83bcac27073b828adeb9c419403b9c117fbc0000000000000000000000000000000000000000000000000000000000000000426db6bdc8be39bdc56a413c91e331bb1fbbb3bdc0ef2cbd63f2273c7040e2ba28f795bdba4a1bbd4cf3f93b5723c8badbf471bde4d500bdf9bdd73b7cf645bb873c38bddfb2babc103dd33b9a33e1bad3ece6bc578c20bcf5579e3bfa4082bb85ea4abc61963fbb52afb63bbdfe26bb0000000000000000000000000000000000000000000000000000803f000000006a56493bf2a82dbd6508953fc54526bdd917873bc3658ebc03bb793f0985f5bce354e93ade919cbb5bcd4b3fc796dabc9facf43adb03dc3a48011e3f4032e5bc43dd5d3a133c283b0d1ee33eb70208bd08dd163b6aff68b9fe54873e0df423bdc7d4383bfc0af9bbb09fcf3df8643bbd0000000000000000000000000000000000000000000000000000000000000000422fb4bb038f133b00000000000000008e5146bb198dce3a000000000000000059e195bbc3da023b000000000000000061c266bb6bc34a3b0000000000000000e4bec238174afb3900000000000000009605963b9083573b0000000000000000847f233cdeb213bb000000000000000000000000000000000000000000000000aeda8e3b79de00bc6f9f6e3ca47c0d3b48fda73b6eb7f5bb7b3b9f3cf3ba103c85399c3b17c4e6bbe404933c29dbed3b5b2d543b277692bbaf75763c550ac33b5e38043b51fc34bb5863333c8530463b73e2e33a8da2dfbac1800d3ca904b939f818cd3a7d553abad911c03b9a6af63ae4443139ffbc2e3a67c5373bd04abe3a2e591a3a040a1aba5c24c83a41c5e8ba4622613bd3441abb755d8b3b19910dbd07c0b93bf0d277bb3f26253cb2b017bdee5dde3b001d68bb9537953b0e5c0fbd6830f63becee5abbe32a9a3b152405bd38ece63bedec48bbf73a323b566beebc554bda3b9ab918bb78c7883bdb3feebc24537d3b03ede7ba45ba993b2191dcbcc333bf3a87a13cbaf60cc13ba87db0bc2855063b82c38eba62d4653bfcb452bc0d7cd7bcdeb042bd17084b3b51b6823a282ba4bd3f7f6bbd63c4283c5b3d08bba3e0aebd370474bdcafbde3bb3f2d6b94ad799bdc59067bdd015ed3b29161cba484163bda3043cbdb831d83b391c49badd562ebdb4da0cbdef3ce93b04fbd5bad933cbbc0987b8bcd00cd13b81b4bdbaa523a6bbbd0500bc23efe63bb88062bbab40593c75bf33bb8496b53b9a0833bb65154d3c6d73c5bdcb50953f6b93c83d9eb26f3c086fc1bdfb9f8e3fe10cac3d493b153c804880bdfa8e753fde8b993d3653e93bd53833bdf7d1493f8b55653d6903a43be625f4bc6f941b3ff918103d4270b93b42fad9bcc98fe13e01c50f3c649fc93b0482d4bcee8c8a3e886f66bcd9b3153c4fd700bd9fc9db3d53440ebdff76b73bf567e5bc740471bcdbd042bd6c6eedbc17a5cc3b00000000000000007272e3bc7173bc3b0000000000000000e1c6d5bc90c3d03b0000000000000000a8e2b9bc555f9f3b00000000000000008aa696bcc809913b00000000000000000b924bbc63995b3b0000000000000000ec9cd4bb604df83a0000000000000000faf5193b9acdb2390000000000000000daa6293b2d8a0a3b000000000000000027a4903b307c55bcf80a963cce81b7bbeb25be3baaed5abc7acfa33ca37f42b9d760423be6620ebc01128f3ce42b6639d6f3643b4e061cbc916e8d3cb4c390b931cd033bb109c7bbb52f4a3c73e426bb18221d3b528ba5bb8c4a463c14f37eba3f47a63a45ad48bb2153f83b6c61a0bb762e8d3ad1868abbbaacde3b6db618bb360c6c39384fd2bad37a493b0a8b76bbfc399e3be09de6ba30b1033cd32013bd8293273c1be39bbb37a8313cba242bbd9016003c91303cbb54d0c03bc35c06bd181a283cca2c84bbae6eea3b818a10bdb4b1053c83952abb3c17bc3b1046f8bced44d13bf7e44fbba4eda93b776efbbc7615f93b8c5af7bab911883b32aabdbcf1f98d3b52a552bbd413fc3bcb17d0bc4e85323bae4306bb545b923b3c5974bcfcd3303b2fa428bd843ffabb5862583bc24210bda71e89bdea3906bb28ce163b7bff19bdd23b7dbd8534d5bb55fc873b97ef3cbdf48788bd8d65b0b8580f2b3bf0b5f2bc25da56bd9ebd4ebab757e03a20c1c5bcfc9435bdd7be3e3b53defa3a9a3616bcb24103bd750dab3b77681fbbae18d63bff9794bc9a59fc3bfc279aba5127933c64c204bc9c8dad3b8675bfbac1d74c3cee80d0bd18777a3fb02a893e18358b3cae52e4bdd482763f367a793e3447223cf3bc95bdf0a94d3f60ee583e6e022a3cc8ed89bd6fad343f39392a3e8279113cd7944ebd8c240b3fb305f63d6e52193cbdd341bd206cd13e599f933d34bf033c2f601bbd0d4c883e9393ef3c67ea433cede031bd32e4023ed67386bc5718e93b2d2808bdcbd46c3cffb825bd39e151bd8e4c113c0000000000000000928f69bd981f3f3c0000000000000000d48445bd0b06023c0000000000000000e81e36bdd01e133c00000000000000006c9f0ebd17f3e83b0000000000000000447201bd8a71ec3b0000000000000000e484b9bca1a2e83b0000000000000000b2436abceffa9e3b0000000000000000a8e718bc206bbc3b000000000000000032fc763ba73a5ebc16ff953cdba213bca574b63bad4274bc6017a13c5dc881bbbe47993b8cad4bbcf741943c02692ebbbff93f3bc8eb20bc41229a3ce63c80bb07643f3bb3fc02bce60e663c08167fbb0c45113bf029f0bbee3c403c5c1c73bbe1e6ed3a577bbfbb9e29343c234d8cbb33098b3a68ac99bb3162eb3bd4e7a4bb2236893adae58fbb974add3b894892bb204ca63bc5c197ba6648ca3b8fd513bd77d6073c1afb78bb6b822d3ce9c128bdceff343c73cf73bb86b4093c2e791cbd4062233c223a81bb8305f83b51d411bd2ee9043cdae410bb6108883bae1602bd4c39fe3bdc865bbb7ac4c53bf2dfebbcebd6d13b9ab177bb0082d43b55a2debc4730b63b581d8fbb3c9ddc3bc18abdbc8df7863bff6532bb0fc22e3be49060bcd448ad3cbbf317bd13af9ebcda78d63baf160abc3f3c8bbd94ab57bc0dbbf13bb51cd0bc289a99bd479a4ebc89b1c03bb6b6dabcdf408ebddb2b04bc289bb93b88b594bc169d79bd5fc2febb5d68a83ba46b55bc417453bd9d9f25bb6da26f3b7d5112bbcd8413bd08b91d3b7f64303b5ae8093c2642acbc0cb7d83b596394381c07a83c14973dbc8e82713b8043b73a4dc62f3c0a6cbcbdfb684c3f97cae03eece1903c0cc5e7bd6d264a3fa36fd33ef3f45f3c1089b3bdf5fa333fa24cb63e39e8343c66f192bdf7b3173f217a933ea0bb2e3c93fe6cbdf944f33eac605d3ec742203cb94457bdab2eb73eeb9a133e032b273c373746bd98dc763e8f82943d8bbc373cd9623fbd347e043ef05fd33b6451e43bf61311bdb1ca0a3d0c7610bd46f78bbd804c283c00000000000000000a18a3bdeb165f3c000000000000000091e990bdee48543c0000000000000000ee1f82bd6238333c0000000000000000bf7163bd4025363c000000000000000085df41bd65a52b3c0000000000000000793c25bd4026253c0000000000000000e3d3f8bc50b5233c000000000000000066b0bdbcc59a0a3c0000000000000000bbf25a3beac155bc121b873cd60e00bc2685bb3b39d274bc62049b3cc0d2e7bb09c1603ba61f37bc4531853c61a391bbdc70513bea8234bc8453843c057abfbbb64a873a315be0bb74b7453ccb3de1bbef331a3bfc540dbc7b285d3c221dd4bb3584953a46dbbbbb573f2e3cee47cebb080b803aeef9b4bbd56e093cda0ad9bb5f4b053ae9575fbb6feefa3bd177f1bb17e36f3b79b7ab383518a83b7b810dbd641c213c241450bb0d691d3cdfd220bdd905133c17631fbba7a7c73b852900bdd23e0d3cdedd9aba7235c33b9e7b00bdd6f7763b30e809391b67343bb90dafbc3b390d3cff7f23bbd8f7ac3b3e50dcbcd45dac3b549939bb3624a73b82b2acbc2765c23bdff48abbcd19bc3b9757a4bc6f1d533bd6af27bbbf7e793b9c1c63bc4118ea3c47620fbd2513eabccc290d3cb149d93ba70d8abd0f21ddbc6fff353c64e9c4bb4ea590bda4c1b7bc3c64093cbe1054bcf7f595bdd0879bbcd4010a3c4d5004bb63ee46bde5b371bce03bc43bb0b1afbb736250bd60902ebc7f5cd63b42f38a3aed730fbde80517bbbb3a853b620b1b3c82e3afbc34f5683b89c50a3be8ee913caad52bbc1561253b1a5d353b664f343caee2abbdf7171f3f73d71d3f390a5a3ca2d8bdbd6a661b3f31a2153fa5031f3cbd2896bd408c093fb709fe3e6939383ccebe8bbd6703f23ec333d33ebb0a9a3b87f538bd5bd8b83e6b9c9a3e1fee1d3c89a750bdf4d1983ebc405e3efee8f93b16d32fbd79534e3eda21f83d17052e3c888531bdb169f23dea05063d8324d43b3cf20dbd77df213dd64aefbc0cf9a8bd6afe213c00000000000000005eb5c4bdf603723c0000000000000000616fa2bd85363f3c0000000000000000746c9fbdd1d1503c0000000000000000bff564bdc2dd033c0000000000000000a2ab7fbdf25e4b3c0000000000000000d8a148bdc416303c0000000000000000277b31bd1549533c0000000000000000d3b708bde870383c0000000000000000458e423b1c1137bc9f7d773cf7a5f3bba0f6a43b64834cbca65b593cde1878bb5f18a03b4d3339bc9b004b3c46d99aba8ab7413bf9cc0fbc3398463c5deee8badd276f3b692f22bc30c3463c4ed511bbc4b5de3add8ae1bbeb7b433c7bb296bb5623a03a0ee6a9bb526b253c17a6c2bb2799753a423ac8bb149b0d3ca07bacbbfaa62139c96a61bbc4e7ff3bab6dc6bb63a2263b08844339faebb43bb5d7e5bca3a4443ce0ef90bbba0d113c2fc80bbda8ae453c47f943bbb6d7df3b7572f2bc8ba62b3c997e4cbba3a4cf3b99c8d9bcd6bb023c66f00dbb23139a3b87b0ccbcb234fc3bc1375bbbc5abfc3b0d5fbebc916eeb3b66ff76bbd609c43b3b74acbc5105cf3bed3fc0bb4fd50a3c0b0d92bc8cb3193bac2c36bbc249703b3ae134bcda84c73cb5410ebdcb140abd6446283cfecc0b3ca39e98bd43ad0abdec40523cf1ccc6bbad64aebd7072febcc25c333cf39e1fbc8dc4a1bde517c8bc6027123c9129fcbbaecc8abd3bc29cbc0c34223c43acf2bbb7f45dbd396a3bbcf3fcd13b570a72bbcb011abdcfef9dbb55b1a73b7b32453b6917a7bcad1b7f3b97f90a3b7d17573c3d14e6bb8ec2973acb0b5b3b8433113c2cb590bdc55fe33e6f674b3fb864643cc5bca3bdc30fe13ed537443f0f302c3c73cc8cbda2eacd3ef8bb293f48292d3cb28371bd1a00b43ee4dc093fcdd5053cc47e4fbdca4e963ecb6cd23ebe9a083c80f741bdb4f06a3ed990923e6a710e3cf99a2abdb184273ee956293ed2caf43bde6420bd6c11c73ddbdb5b3d6560b73b95b7fcbcbed30d3d1643d0bc118ebebd37c43c3c000000000000000039abe5bd26f88e3c0000000000000000dbf5c8bd5c66723c0000000000000000b3afafbdb9535b3c000000000000000099cca1bd944a353c000000000000000017b78fbd07f56b3c0000000000000000f2cb7fbd0edf5d3c00000000000000007d4f55bd6a6a813c0000000000000000140027bd3bd54f3c0000000000000000a887753be10605bca1baff3bb24906bb0999883bcd12f3bb59dce83b32efd63afa35da39ae39b6bb07bf323c37f299b995e3783b577c06bc6442133c9bca883a69b3e03abee6cfbb2d5d173c3dce0bbb317ef03ada4dbdbb4e011d3ced6afbbae0ba3c3a842e83bb5cc20f3c2f4f39bbbfb3863a70a67cbb7fbff83b8fe7a1bb7bd21a3a2b7218bb12f9cc3be87badbbd3f9c83b798304bb2354913bee73b5bc7d7f803c7893debbe850d43b1544c2bcf6640d3c93d8f0baf447b73bdf91a5bc5dd82f3ca14c33bb9451853b51279cbc925f033c5ce92abbbdf3843b7c4b87bc3fa0073c9dd24fbb76b4aa3bf6f383bc1e749f3b31c13bbbc1b2763b2e8c51bc6298da3be5d5c6bb7484b53b7c0b56bc44a16c3b340874bb3d23773b92e506bc1b0a883ca7d02cbd60a113bdc9fd4a3c82d4563a5c90b4bda53c18bd12b8503c62b6c0bade3da5bdc49d08bdf1a32c3c084341bc5972b2bdd78effbccb3a3c3c89ea1abcb4ed85bdb9ecbbbceea4163ca70245bcf3826cbd750e78bce76ff63bf3f9d2bb41740ebd615702bc69bdb03b06b799bb2b8d94bcfefd853badf2db3a0af29d3b003f38bbbc5f8c3bde891f3b58ac0d3cda5155bda8518b3e87d6793fa9c0333c5fcc6fbd775e883ec858723fa37de63ba44035bd84637d3ed337463f074a023c90bf35bdbf9e693ea1a9293f239dc13bd13110bddedf413e03cdfe3e2f60d73b152e12bd07cd1f3e01a0b53e5708f53b514aeebc2d02de3df1fd563e6517e83b7588eebcdbfd893d10558b3d459ca53be69dbfbcc12fcd3c237201bd80b9d0bde0254f3c0000000000000000d262f3bda86d923c0000000000000000e664b2bddc41303c00000000000000002be5b3bd3550463c0000000000000000e88496bdc07d143c000000000000000031ec96bde28f573c0000000000000000927c75bdfdc53a3c000000000000000090f666bd42c37f3c0000000000000000a38d2ebd529b553c0000000000000000d0f4213babd030bb86a38f3a16239c3b9a07e13ae152b6b99142023b000b123c18c23e3ba29558bba5fd3d3b1ee70b3cbec31b3b8e1d2dbb489e8f3ba47bb83bd29a053b6abf82bbcfadc43b0641263b3bf7d03a04ad4cbb2a8dcf3b894dab3a6ce902b92d311ebbc583ea3b4da16aba11e0a03985e821ba045cd13bd6c1b3ba172ae438cc0171bb8178bf3b45398bbb09ff023cf7ef5abbe2a3fa3a619e45bcaa569a3c33d913bcac95533b7f2d0dbc3c9c813c8e72a2bb10c3e53a96d714bcecde583cf9a043bbb585243b532007bc7ea1223c895201bb4f7a163b00530fbcadbd113c68f537bb0ebc533b666906bc5b42073cdf8f8fbbb15e623b988bbbbb8487fc3ba23ad4bbb5771a3b3f177ebb17082c3b774369bbeb3b4b3ba71b663a7dc5013b375264bd406019bda8b0283c7d6f45bc5c54dfbdf36b11bd0df2543cef0184bcdc69e1bd5e581dbd6beb3c3cf39a97bc5800c7bd04ad0cbd01771e3cfb258fbcf5619dbd3ee9debc630e0f3c3f50a0bce52077bd3cc793bcfe44cb3b5b518abc682628bda39bc7bbe88f833b32ab6fbc4b9f95bc55e6ff3b385d2dbab9766abb67cf313b19c5b73b593d5f3a3b37e73ba40900bd91c5d13daad6943fe218bf3b9ca2f3bcef68d53d280a8d3f450dae3b2050dbbc6798e73d5f5c713fac39973b8b00cebc3af8de3d29f1433f11a0853bc7fab1bc2d21c83d7021153fcb2e513b4c5f8ebcaed0a33d3871d23e9aa6173b01e47cbc413b6d3d81c4743e54df893b5f735bbca0cfe93c3548943d9d921b3b7b436bbc517cbc3bc9a927bdd7d6c3bda6172f3c0000000000000000a4c6d6bd8430813c0000000000000000c24aadbd82442b3c00000000000000002e3f94bd1e090b3c0000000000000000159f85bdcded013c000000000000000058c780bd96861c3c0000000000000000aa5770bd3cf73b3c0000000000000000475552bdeb65563c0000000000000000fd6632bdb2e0433c0000000000000000000000000000000000000000000000007ddf123864d30e3b256070bbe6d51f3c1ca2cdba3c54b93b1551d5bb4e46323c51162e3a8d37c1ba72a991badb6d993b645a2a3a1c66b8ba60e55eba9dc95a3be044203a91e68eba0ad0043b9501093b60278f3ae4a9923a4d1c7e3a21320d3780b727bad218ca399d29343bca12efb900000000000000000000000000000000000000000000000000000000000000005bcc3f3c744f47bb90da3db53f810a3b50cb243c9f8359ba0b91563b85fe68ba7848cf3b7fd9f539d99c8b39961b2dbae6e2cb3ba86f923a30ff583a02c0b1ba61588a3beb2108ba2af0973a4a13e4ba5b36b83be2f945ba7ff7373aba89c2b98aab6d3b3df204bb5648b03a6a0a393a0000000000000000000000000000000000000000000000000000000000000000b4838ebc3236bbbd6ba70fbd248ccd3b28aca6bcb593c1bd867eebbccf563e3bacd08fbcc2a898bd8e2bf4bc9a86ad3bea5589bcfe3e7bbdff86cdbca3e14f3bad929bbc8bbe3dbd22b18bbcc734a03b713799bce368fdbc348f03bcf75c8d3abea88ebc041d41bcd490033a4b035239000000000000000000000000000000000000000000000000000000000000803fad9c293b38a8eebb3f5bd4bc20ab943f0812d0baf4bbefbb049191b8dc19793fa171f73ac982b8bbe3e2003c7da44a3f0d46103a357f97bbf67f693c2ffd1c3f7a20143a0a6f57bba4235c3c13b1e03e5bae223a086358bb582bf03b1f72863e2989aa38ee2908b9aa245c3a09dfc43d00000000000000000000000000000000000000000000000000000000000000005cbb60bd23a3973b000000000000000061341dbdf48b8a3b0000000000000000f3280bbdae10903a0000000000000000f76a06bdc4423c3a00000000000000005b150fbdcc20b73a00000000000000007d1a0ebd03e81c3b0000000000000000c61720bd8d7cf03b000000000000000000000000000000000000000000000000000000000000000000000000000000002b2092bb68fc94bad8507bbb99ca98bbccb7e1ba27ab143bbfc838bb1ef9a5bbf94c0abbd2b8dc3aec6057bbef9bb7bb07f237bb03207e3b48c583bbc9ebaabb2ecfb1ba0ef5703b778358ba3322b2bbeb839dba6627023ba49487bb41f82fbbf806aeba2c87803b441c7bbbb6c10bbb000000000000000000000000000000000000000000000000000000000000000051c40e3c94cc38bbe2d1abbae23095bb6104ac3b253c0fbb6e0779bb2767a8bb9b559e3b96c520bb5e9e6dbbbb9a26bb5bb7963beb03fcba0d8084bb32f03dba4e386a3b522b6ebab0b32abb750b00bba88f993b4fe401bbc27c13bb092a25b9589a543b1738d3ba122a21bb51907b3a00000000000000000000000000000000000000000000000000000000000000005e11b0bc8e8601bd628d2a3b30ac67399c84a9bc90e3ecbc5112823a6913ec3955878cbc3548d8bc4ba823396d8dc63a2a6774bc7962b3bcee89b83a4974403a98d243bcdf7ea3bce25c113b077f40b815730fbc22557bbc49d48c3be4edd3bae7683cbbe47a51bcf48fc23bb44fc3ba0000000000000000000000000000000000000000000000000000803f00000000935da9b9d59c69bcc370803f3ba738bcefc6b6ba6549e0bb1878593f251734bc19212bbb74b973baaf56343fb79148bcbb4a54bb0aed793ae5630f3fa72b71bc0e2b5dbb20f0db3ad3b6d53ecba696bc302946bbdc61713a62648c3e17d9b6bc497255bbe5f8b1baed810c3ec685e6bc000000000000000000000000000000000000000000000000000000000000000045885cbcd162743b0000000000000000f00ec7bbb1b49a3b00000000000000005bf5efbb277e9e3b00000000000000001da4bbbb2d9b803b0000000000000000e091bcbb4ca2563b00000000000000006e9581bbf382f93a0000000000000000b0f607bbd25d113b000000000000000000000000000000000000000000000000f67a61bbdf0668b84ee61a3c558562bc941e77ba0bfca0bb6845263c535038bc54f849bb1da3213a38b5b83b873d25bcaced96bbabc5833b90428f3b50944bbcf80f98bb2f12ac3bc4a6023ba05234bc540ca2bb7cb2b43b69f49f3a6ee025bced5b84bb6959bc3b707b053a07a012bc195f47bb4516ae3b61b5093a3e45d2bb054d49bb5294c93b457d5f39b22ce1bba429533b7e6c78bae9b199bb7d7077bcbf99be3bd3005fbb6cbee8ba4df19dbca399e63ba1fc41bbd3f24fbb5af37bbcb8ec953bc65e05bb3ba19fbb949108bca93c9d3b030cedbaa9ddb6bb74148ebb3fe2da3be32c55bbfbd7a0bb4f7fa5bb32edb93be33f50bb7c1ba6bbf82244bbb39eb23b03f372bbb64b8ebb89bcb9bbe8b7903ba6a40ebbd8ca9ebb87b88f3a7c6b353c8532f7bcfa5a09bc263c8e3b5543a03904dc29bde3e0d9bb622b6b3b762214bc44d325bd9657bfbb98704b3b490b11bc4ba715bda7319abb3a10653be853b1bb6b3e00bd679d55bbd160443be6083cbb8168f6bcd2e656ba9e71353bf1e8263bf4eccbbc6a7a9e3ac3dceb3a1c7ade3b8a4796bc9f499e3bc1e94cba1b0d4a3cb9e27dbcf43b5c3bbcb1b5393f4d6d3a090024bdb1c17f3f63d8f93d4707a63b914c2abd941e6b3fe21cda3def6e1d3a1d59e4bc4d2f4c3f55cbb63d9c3ab1b96ecfa8bc9f2d293f9287923d8df623bb578459bcfa24063f2d37513d59b91bbb916c55bc009ccb3e4878ea3c7eb60bbb63015bbce76b883e847acf3b1effbfb9312882bc9085103efbe87dbce5d3a4bb80e340bc0ed2af3c625ee7bc2df0b3bcb718c73b0000000000000000beaeb0bc24d0123c0000000000000000056daebcf15ff63b000000000000000062379abcdce0c73b0000000000000000a9f28ebcc692e53b0000000000000000243183bc085fce3b0000000000000000cc2d69bc35bdd93b0000000000000000befa31bcceb3c93b0000000000000000d0ae17bc2c43a73b00000000000000001bf69bbb583959bb0207953c75bf7dbc854386bbf16565bb6bf9623cb73f98bc552f9abb7c96a83a33a8473c646c80bc8927f4bbbc8c133b12cb393ce8fe99bc49aabdbbb0eb753b2ce71e3ce9847fbcf20fcfbb4fd6be3b83c3f43b85517abc7cd9b1bb9316e83bff8cc13b5e4a50bcd9d6cdbbffa4da3be5de9f3b394f4cbc309185bb351eea3b12766d3b39592dbca6448639ece32038d2656bbb76d9abbc6f65943b785634bbbe1220bb429ab7bcaaaaf63a1f284a39fc74b6bbc04a5cbc9b20933b05aeacbaab968abbfa9560bc5f160e3bce3accbab7b7aebb934a08bc3bbc4d3ba6f7d7baa9ddc1bb2625fabb076c703b36a8abba2386b8bba95a55bb418dad3bbf9a67bb219a84bb938cc2bbfab3453b0c5dffba835eb6bb2af7fbb93196e33ca187cfbc18ff7bbc84a3043ce3e1923c5be01cbdb3cb58bc9b0b073cc58c363c48780bbd08f060bc47adc73b6d4d183cbbe323bde0e146bc74c1003cfb082d3ca0f603bd97b71ebc8c03d13b7e53553c22ce08bd63d1a8bb73c8b03b899e523c527ae2bc3d71b9bb370a9f3bee95a03c3adbc8bc0b18e9ba4046603bc48c9c3c047b8dbc2a3a4d370e69543bc5af843bbb5746bdb8fe5a3f2f57873eb9e9c23b0a8158bd2b864b3f6bcc773ee98b7e39b5ba14bd5f2d2c3f926a503efe8f703acbe80dbd4add153fc2d0293eff1f0bbbe4dacfbced0aec3e82bc023e284986baba73d1bc07c1b83ec8a4ad3da82720bbecaba0bcb554783e9487513d40056b381907d0bcbd34113eea16e03bb4e479bbb68e8ebc40a2063dd7eba9bca0b402bdd2beb63b0000000000000000e87827bd26b4463c00000000000000007ecbfebc7300f43b0000000000000000e2d50bbd00e6273c00000000000000005d82e2bc94bb133c0000000000000000763eefbc03a21e3c00000000000000000e32bbbce9c8033c0000000000000000c2e9b4bc3c60323c0000000000000000091086bc8a81f53b0000000000000000be299ebb674821bb67f4a43c65bd8ebc2803a1bb78b27dbbfb54aa3cea74adbc819dccbbad7be3ba2330913c99d3acbcf020bebb0faa553a3e8e7a3ce900a5bc6466fdbbd3d1623b908a643c51b1bcbc9e1ecebbf0576f3be2a1413c53739abc1776e6bb96a2bd3b0096163c3b028fbc2b4ca2bb6ecbbf3b0a8f063c84d081bc8ecbb0bb8b10d43b06c0d23bbe075abc4ce046bb5681193b9421dcbb2bbeaabc5440583aef0892b92403debab426d4bca724883a7d3b00bad24259bb8852a9bc9c44b13a00e944bad5e9a4bb121082bcd139063b7cfebd39551ad0bbdb5444bcd2e5683bd9b30ebb50f0a7bb6af535bc627af63a2d0d2cbb1ae8c2bb9a85ffbbe05b863b2c4b6cbb5473abbb6951d8bb54671d3bfb4ebdbab0e9d7bb9d5297ba20f7063d791d98bcfc0cb7bc6176063cdd01f73cb2c70abdee08c6bc15c8343c2809bc3c048c1ebdee51afbc0b12313c39b4a73c59741cbd6ad38cbc5cb71d3cb28dad3c792510bd22e077bcd788183c29c6b03c3d140abd9da44fbc3a11123cf4aabe3c2a4ef0bc803bfbbb6ab3fb3bd9c8d33cd0bdd3bc6a9d8fbbf68acf3b0a90c13ca17195bc598f83bb5793bb3b5f293d3b14d245bd12d8343fe5b9d23e81f6f83ba5e165bd7753293fdebcbf3ede6fb13be86842bdf22e153f2b89a43e2de54c3b3f5821bdf8c8fc3e562e873e76a7983ab46e0abdd58ecd3eafba523e1af54e3a2cc106bd3c59a03e856d163e7e2aa53985d1efbc4843633ea3a9b23d4b3b42ba937bedbc0cad073e7423003d0e2d63bb88f6aabc2dc92d3d6aed6abcd67123bd8691c93b0000000000000000b2cd4bbd2f16453c00000000000000002a843abda776463c00000000000000007c8128bd6f8c333c0000000000000000a36e26bdcc09273c00000000000000009e9619bda716403c0000000000000000542a0cbd60004a3c000000000000000042f9fdbce2ef493c00000000000000002fbbc3bcc044113c00000000000000002cb8aabb5e4a85bbf801b63c6d5788bc9365a8bbda3aabbb76bfb93c708fa9bc4612dcbb5f6d3ebabe2a953cd50a93bc9c8cf3bbd362d6b730f8933c4707acbcc36aa4bb2c95613b14fe713c86346ebce37ddebb01f9803b4e92673cc14b9fbccc68e8bbd3728b3b6101373c06a98abcb174c7bb087bc23b91f1463c2e1e94bc849cb4bb73b7ea3bc6ad103c23ce69bc5ff49bbbbc76603bf35c45bb8c9db5bc739b1dbb799bea3aa2687cba4e2ecfbc93e785ba22dd363a6f6237bb3cc194bcdb78c8ba4797c63a0ae79bbb8a5788bcf02570bbec6f203b977399bbe84f32bc7d367539a4d933392a36b4bbf6292dbca0fe6cb81b50233aa51692bbdf1e05bc531ade3a91891dbbfb97a0bbd37309bc81fba03a165289ba3e92cebb0fe409bba68e103d10ca61bc6eafd9bc98b6133c2f3e0e3d328ce4bc8535f5bcdb53473c145bd73c4b1e01bd7998ccbc1548333c426cd93cb5010dbd385dc7bca9ec4b3c22eac43cc33ad9bc202f94bcb1c1dd3b6f3dd63ce952f9bccfda88bc2b652f3c50c0cb3c85c2c9bccbf942bc38e8fd3b211af03c5d7fc7bcbb01f4bbec91183c7c5ad53c72da85bc1878dbbb2ba1f93bd5d97d3b365736bd089d0f3fd6c00e3f41d5053cbbd74ebd385b053fc32a023fcf5da13b8f1530bdf947ea3e9bb3de3e7bdb643b6d2121bda9d5ca3e549ab93e95f021ba48a4ecbc1645a03eac1a8e3e9452683a455504bd0785833eb790543eedfd2d3b2bddf9bc938c3b3eb9a0063e9e0f303a7181edbc7c6aec3d04d5623d713a4dbb7a54afbc0c37273d507af5bb562239bd527cae3b00000000000000009bbe5dbd19af283c0000000000000000c1d942bde748e13b0000000000000000e23e41bd6036183c0000000000000000d99e11bd5dadd23b00000000000000007a0e2fbdefc52b3c0000000000000000eb5318bd2685113c00000000000000005c201abd358d3a3c000000000000000054ffebbc94031d3c00000000000000008fd286bb0fde8cbb89ecb43cfa0684bc19605dbb4a35dbbb02e9b03cbf589dbca031aabb7c0a98bb32e8a43c9dbf9cbc7ea79fbb2f8f77bb15b79b3c43ba9abc1cd79fbb9046833a27158b3c4702a6bc5c87dcbb7ef9f039a810803c9c9d9ebc604ea3bb2e1e043b7a90643ceb5493bcfa05aabbd7181e3bba25413c682185bc126090bb1fd8b03bc665203c4f6f4ebcb84ea3bb0da6603bdfb5aeba9a48b5bc10842ebb4be2e13adbc7473a8b87d4bc641513bbb5f10f3bf02fbab92cc9b8bc066df4ba663ec43a16bfe9ba01aa90bc8bd86abb1aec1b3bda1cb6bb8e716bbcafd54a380b8817b916c94fbb33fa4abccd58903ac0cb48bae4f21bbbe8a234bca281f93ad5db48bb21b839bb432315bc03e00339f0327eb9b3e794bb56e969bb1b4a073dbbc737bc3bcdf3bc4f22163cc393043da9ded5bc1b030fbd4acf633c08b9e53cedf605bdea6105bdecec4a3cae05ca3ce0d008bd2c46eabc088c4e3c8e9ed63cfd98f9bcf1dfc2bc6df6393c9733d13cbfefecbcd93ba7bcdb013c3c3397d63c2521d3bc00de7ebc322f1a3ca275dd3c1d5eadbc501235bc1dc5253cb793cc3ce9ca53bcdfa2e5bbcc91fe3b3d86af3bfe9c22bde86ed43e4f85343fc9ec123cac0a44bd8400c73e133f263f3f36f33b88672bbd250fb23e546a0f3fb61ba13be4101bbd41789a3e23cced3ef8eab93b7deb08bd8d52803ecfb5ba3e5fe9503bf20d03bd5c804c3e9248893e6fe60a3b180bfdbc4581173e5188303ec2c1583b740bf5bc4f0ac33d030aa33d8a298aba8474adbc7b92183decce1bbb954444bdfdcaa93b0000000000000000bb9975bd84ef243c0000000000000000382962bd18d4243c0000000000000000902e52bd4c7d193c0000000000000000077a43bd7627253c0000000000000000055143bdc4d4303c000000000000000079833bbdb7204c3c0000000000000000f6122fbd0b185a3c000000000000000048c3febc61f01a3c0000000000000000be271cbbdf73cabb31b98c3c783e3bbc22b91bbae4261abcda6b983c07777abc3c756abbdddf86bb0abb623cdde155bc733247bbc33989bb2f5f8a3c0bca86bceb0878bb677448bb17b2743c94466abcddd178bb9657e5ba12cf6e3c3f2a7bbc660a81bbc25fb43acfa0483c247854bc9d3a49bb18d6b83a9c85463c738c61bc866d37bb12145d3b69af123c806d3cbcb84c9bbbc4c3793ba6a0773ada7ea1bcb6ea54bb2f350f3bcadb063b34a1b9bcea3b70bbcde95d3b68fcb1389abc6fbc45d5afba9f5bfd3aef0ba4ba182196bceb61efbadb6f163bd72fe1bafeb53dbc2acf19ba8694c1b8df0399b9627d4cbc0e284abaee5b1f3a8115fdba85bc08bcf1fcfc3a886818bbe51087ba746544bc20b99a394ae403bbde900ebbb4cbb4bb0f4bc73cdb4f02bc45aa00bded0a143c7ffdcf3c23ebd3bcedb819bd2a684a3c7c2f9d3c7492cabc9aa7febce1aa0e3c0d04a53c889801bdfb2b04bd4d314b3cc4b8a83c95a1ccbcf1edcdbcae0a113c611eb03c9eedd6bc6d91bebc0fa3443c84c29e3ca66f96bc6ad880bc90360a3c4b88ad3cf68786bc3ca542bc75df0f3cb0ca9e3ce8a52abc13f80dbc8715113c3133c33baf7b02bd84f3893eeaaf593f0a84ff3bc72f1bbda9c2813e1867493f0e558a3bd9e9f7bca5fa673eddbb283f1541ec3b888efabcd8964f3e5ba20f3f0b67553bfe74d2bc52b8293e7cffde3e6bd0903b17eae2bc15f00d3ec0a4a73e9639273b9b7bbabcd449cb3d0489573e1a32393b4a72cdbc046a8e3d514bcb3d9a62933a9dbca7bc7a41f23c18152c3a784741bd7d1c673b0000000000000000944373bd243d223c0000000000000000976336bde4bda43b000000000000000082f54abda7c8ed3b0000000000000000661d2dbdf931d43b000000000000000085be44bd4778203c000000000000000091e71ebd42f3ee3b00000000000000004cbe35bd44a0493c0000000000000000fd490dbd7483383c00000000000000006eb287b8aaf3e0bb55b1383cb9a7e8bbc634e53aed26f2bb50e6213c6e3c12bc1bb0adbaac43c6bb6d6b343c9d7231bc4e38c8bacdf1a3bb212a363cca3e31bcb2c401bb93f770bb963d373c6d5341bc1c5d2abbbf0b6fbb533e313c674337bc1a3b1fba8107aebb32de3d3cb3014abc7a078dbbcd21fa3992a6fa3b72ae0cbc5f0338ba429b1a3901e7173c247802bc0fcb9ebb83b7643b08281b3baa3584bc5cfb5fbab5b2203a947b333b4df78fbcc94d0cbbc59f2c3be17e0c3bd40b64bc3fb63cbbc460403b4cd7a43a5c9551bc2a560abb5410413b2242b6b89b3b33bc92c713bb1268883a20f0fd3a554223bc64aa21ba1e333e3a3f5d933a813e19bc9ecf123bd3c64cbb9893a6ba76c3d8bb01557bb8c4dfe2b99d0cfe3a0cc4c9bbacde5e3c1ad00fbcf6a401bd830adc3b3813203c99efdcbcaf921dbd35d5493cf38e3d3ce75c06bd15410fbda291203c0a8e3f3cb76001bdaac201bd35d8253c3a23523cb151d5bc6d52d6bc8eecf33b5de6493c6e63c0bce296bcbc9afa2b3c01bd423c1feb96bc74cb95bc2f12063c4ae20a3c26984cbc447230bc3de6063c68566d3ccea07dbb4ba811bcc088f23b70e5bb3b6d17b6bc95c9003ef5ff7f3fe882033c2032c1bcfa23f03d03596b3f24dbb33b2f90aabcf9dae83dcfd9483f96d4b43b595ca1bc9a25d33d6f34263f611c923b567d8dbcb3c8b23dde47023fb72ddf3b540997bc5e45963d90ddc13efa53bf3ba5ee95bc9956673d511f7d3ee88a133cda7199bc4742213ddcebec3d7644253bc7da86bc86e2903cb5b3b33afff92abd7ab7363b00000000000000009de64fbd3a66f83b00000000000000006a902bbdb60dbd3b00000000000000003bde1dbd9c518b3b0000000000000000d5dd11bdedd6863b0000000000000000dd0e21bd05c3b83b00000000000000000a9124bd5249073c0000000000000000f24b27bddb061d3c0000000000000000a8a00bbd8b3bcf3b000000000000000000000000000000000000000000000000f3e6d53aac71babb1434433bf61872bb0a8c3eba939e81bb14a85b3bbb0389bbb9dd863a76276abb4e7c893ba68e77bbbe05efb90eb587bbdd8fae3bed2bafbb8d89e1ba74659abb10adbd3b8590a5bb4dfa8c381e5610bbd311bf3b8d09bbbbb0989c3a8326ccbbefaa783b6d7448bb00000000000000000000000000000000000000000000000000000000000000001c0f20bb49dc333b99498b3a411f0cbc005320bbce562a3be59c7d3b7a0cefbb6877c8bab0218a3a1e8b923a17e5f3bba2ab2ebb4d9b223b448aa13a6a3acdbbc84212bb1eeeff3a3dfc033ba4b888bb89e5e4b9307f8a39aa95ab3a7a77bebba7ea79b82f9b0b38f8517c3b094820bb0000000000000000000000000000000000000000000000000000000000000000d7f42fb85ef5b1bcfcbfecbcda42893b4eacb03af404c8bc627dc8bcecb7813b6eb4813bc70ac6bca917c1bc5151ae3b62d2773b06b693bc02fca6bc5daa923b15718e3bb3bf71bc19608bbc875e933b55024d3b776836bc8a1b51bc0697a53b68719b39b83090bbcb0818bca0c0a03b000000000000000000000000000000000000000000000000000000000000803faa55903be6c306bc506e8bbbb0cf7f3f8404a93b334ceebb6d97483be64c593f20ca6e3ba26602bc89cd073cc8e4333f8a7a563bac2212bcf1bc2d3c3ac60e3f3290923b0a1e05bc0c6d233c2391d43ec0f7763b5441ffbb011b183c6f7b8a3e6b65a43a1006e5bb386c193cb1360c3e0000000000000000000000000000000000000000000000000000000000000000d4d9bebcf8e1d6390000000000000000a36e9bbc8c54803a00000000000000000bda97bc332914b800000000000000001c8d9abc53753bb9000000000000000029e1afbcdd8df1b80000000000000000a9b4b9bc503bee3a0000000000000000477211bd4906383b00000000000000000000000000000000000000000000000000000000000000000000000000000000abbfaebb559e303cbc9b1f3dad310e3b89e86dbbac66553cef9e1e3de1e4a33b283914bb6b79453c7d9c033d7a05df3b5f68183a04d6453cb02bd03c743ee73bf81a2638b94a1f3c9217883ce6f5a03b72e71639d9e8db3b29de2b3c7d8b153b923fbbb90a07373bcbaff33a01461e3b0000000000000000000000000000000000000000000000000000000000000000d82586bbceca91b914a2993bf1faeebbae766ebb1a8796ba3464d43ab2af73bcfd70b9baa822a4ba691a883a07e7b6bc5e6ebfba9fa609bbaf7f41bbeb0ebcbce10a483a7f13ebbae21de7ba1bf49bbc941589b9ca5368ba4e77a4bbd75826bcb21ef039dae92bba5dcc9dbb042cc0ba0000000000000000000000000000000000000000000000000000000000000000f2975ebe6fd9463cc069943b312383ba1e215bbe15a1f83bb3e9653b1a9b303a208644be410e85bbb867973b662f413a887b20be402476bbb086fc3aff79ea3a0c49e5bd4c4be9bafccd44ba5344d53a734a87bdd242c9baf93f2dba62e7d93a6d157cbc7f7d15b98c0b35bb7307073b0000000000000000000000000000000000000000000000000000803f000000009db6993c2aa9dcbd1fe1ac3f4167f5bd41ea573c15c267bdcb988f3ff6afadbd8b820d3c9cc10cbd03c06d3f41a784bdaef0143cf4928cbc8b85323fd46f59bda145f43bf2ddabbbd8c2ea3eadb915bdc5aae63b2156573b461a6d3e72ec7cbc579ec83ba556893b5184443c7918ffb9000000000000000000000000000000000000000000000000000000000000000047e8903ca71496bb00000000000000008650493cfab78ebb0000000000000000faf0d03bd26d58bb00000000000000007830b73bf93f97bb000000000000000024ba9a3bccf2dcba0000000000000000aa8e513b4d5c31bb00000000000000003d77f63a8bdc41bb0000000000000000000000000000000000000000000000007962c1bb73b68d3bb3409a3caba45cb89ba728bc7725353c5c011d3d95402e39e7ccc0bb0ba3603ce64c2c3d2071c33b2f245bbba2f76f3cef25193d9699ef3b8c3621bbac82503ce0abdc3cf7ea203c1ef411bb2b5f2e3c5fe3b03cdd6ab03b6924c7baffbe083cf9f6433c4851803bf940cfba0867673b67d5f43a476a193be82662bb3f90483be7dc7fbbdf4b5537cb3725bb32b81bb9ca27593c9cc563bcb98f96bbfa5f9139e6a8263cda0861bb2edf4cbb9954fcba6989173ca87ba8bcf11dd5baf1c449bb3b099a3b952fbebcae728bba825f48bb0bef4c3b077dc5bc15137f3a2ee032bbd586b7399de788bc8b840e3b6ee564bb1c1670bbfe9d2abc8837153b51640ebb90f1dbbb8242933a2f29ad3a75548fba7b094cbb1d68b83bcd92debd175618b79fd3063b8f44c4b9079c42bea7dc673cfd6d88bb9599023be53d5cbecc46bbbba6061f3b34d09a3ac2824dbea87a32bcf72f2c3bd9ff043ba6cf23be877d50bcc7f741b9091d0f3bc56cefbd173347bc7922f0b9bac3d33abc228abdabe501bcdd1f26bb98dc4f3b14f3a3bc77bcdcbbe1fb27bb6fd4203b90cf643c3588513b493915bb1d0f9a3a09211f3da96254be840fad3fe164683c0f222e3daa3441bed06fa03fe6e8e33bb8dd013dc41b16be6354913f793f0d3cea49e13c8064e5bd6d90703ffcd2b63b6a63bc3cc590a2bda38b353f40a2ca3b3757a13ced4665bd775af13e3a65b93bf903973cd4c608bd5b3f773e2757f53b44c46e3c75654bbc59b02d3d41baad3c773d793c6a549cbce1f7cabd20128fbbf6b962bc0938833b00000000000000004d1f13bc4dbdb93a00000000000000004ba547bc4d46663a00000000000000003c5d4abcff73013b00000000000000004a2b02bc33b1a03a00000000000000007047e7bb293ed1390000000000000000fca1edbb8f8b4f390000000000000000156d20bc58ad3b3a0000000000000000db0073ba52f5bf3900000000000000005924afbb284cb13ab103703ca1892b3bdb53f7bb9d7a2b3c967bcd3ca6cd093cab2893bbeaf3443ce6eafa3c7dab5b3c3f9aa6bbf1fc663cc188e83c44424a3c6c77a9ba79881f3c7faba73c7cde173cf0ed41bb5bc3483c388d803cb3400d3c237c30bb39c1fe3ba4dced3b6f37a13b77d25fbb66e8d43be539043bd021913afc5b41bba5f5ea3adce775bb3478a4b98b7f38bb3e3a2739a3ff8d3c248bdcbc6f702ebb2622faba5026813c6e52d5bc6ca7d1bab08961bbe164543c33ca02bdea176fb9a83e5bbb6005273cd08103bdf9fdfc3aafe82ebb717d963bf19cdbbcb42b2e3b69ae95bbca4e2b3b88abadbc86f6403b506b6bbb3963723989b654bc6a38fd3a8e6632bba6d052bb328d24bbf9544d3b6bd808bbc43be6bacf5d8a3b92184cbd835b93bc44c146ba9cc76339ec1b0dbe89f0fdbc8cd8913b6e3a283a08f022be9deb3cbd50d9c33b3d469c3a6ad924be1bd125bd538e373b6ae3153bd02300be97e715bd18105d3a98c7923a3ac4cebd723bd3bc42d419ba4735443bfce364bd4d2680bcfc6b15ba6455ef3a38759fbc619eb1bb2b900abb3b01d93a5b95013c8692953bc31747bb5587543ad3282d3dd30d53beebb18f3f023b683e40e0453d5cd15bbe7027913f3800463e80f11b3d0ed52ebe4fbf813f502e2c3e4aec0e3da4ee13be15ff5c3f6646023e60a0e13c0d44dabd102b273f585ec13d2515ed3ca448b1bd3635e93e29eb6d3d73ffc93c560780bdf1a2813e95cad03cf94eb63cde4e28bddc17963d11618b3b63588f3c6ebd05bd01502abddbc3aebcd6a979bdc4fc5c3c0000000000000000898570bd6df1503c0000000000000000bbca48bd0bc3223c00000000000000004eab23bdd648ee3b000000000000000082adfabc2559ea3b0000000000000000830dbbbcc2187a3b0000000000000000df0268bc0d82553b0000000000000000d66bdcbbfd26a03a0000000000000000ae8634ba52c8113a00000000000000006e4f64bb44004c3a3b12163c9563d63b35a5a3bb1decf93b1513a03c9043653c5cf592bb57232a3cbc7ed23c59e5953ce08850bbb587263c7cb6b43c0fa0993cdd16c9bae9c02e3c09a99b3c0ad4613c358253bb270b1d3ce80a463c4d7c2c3c2425deba76d0ff3beaabd53b07d2a23b3d755bbb19a39b3bdb44863ac637e63aa21641bb88a6083bd94800bb6c93ceba219734bbf7312bbb90338d3c3ba81fbd329e43b94da96ebb98ca883c7bb509bd5b513fbaa29492bbc89d573c03b90ebd25a7973854288cbb9e693b3c65790abd0b4c293b50769abb1d7cf73ba27902bd44d75e3b798a73bbe4f1a13b53c3c1bce021473b877868bbb1898e39f41480bc89058e3b847391bbe0909a399f61acbb6c16293b278f34bb891482b9c35cbbb9e42d94bc9f9036bdb3878d3aad1e7e3be7f9bebd9caa94bdc26e013ce42d253a37effebd420da6bd1b180a3c3244153badbdf7bd56e098bd7329a33b00eae53a7e04d9bd9ea782bd13674d3bae5b493bc2329ebdd70333bdb2f8ce3a6b0d5c39284642bd0f34c4bc4d60c6bae913ce3a363b93bc15b7c6bbe7ab15bb7ee5ae3a8735d63b099bbc3b9e00bab973899db93551173d71a840be91de6d3fb4e9e73ebc26343d1e6d4dbe5adb6f3fa7b1d73e86441f3d2c7231bed83d5c3f5849b73e61a0033d471b11be67533a3f52e58e3eea54003dccabf0bdadfe133f15c44e3ed177da3c9721b9bdf3d4cf3ec699003ed99ed63c482590bdbed8733ed28a5d3de5b4c63c0f095dbd1aefba3d811c5bbb11199c3cc3732fbdb97909bcd6ad3fbd47a8dfbd7a7bae3c0000000000000000be4ddfbdbc2eba3c000000000000000006afbebd98e6933c00000000000000009e8391bd2d01783c0000000000000000ba4b67bdbe01323c0000000000000000d5281fbd15620c3c0000000000000000e634b1bc5b09bd3b00000000000000003c11f2bbabc9193b0000000000000000c8c098ba655a1b3b0000000000000000b5beebbad892c2ba5843213ce58f1e3cb56b23bb77383c3b75a8893ce7b5973cb54c14bb7f7e863b3df9ac3ce52bab3c1999d3ba97d7083c0bbca13c6132b83cb8070fba80cfa33b538d503ca3f6533ccb50dbba84c6083c9aa33e3c20055b3c57f203bb2283d93bccefad3bd6eab13b32bd49bbb4735a3b8327b33a913fae3a86ce23bba2c4d93a51b0b5ba46416abba982daba75a660bb895d783c7fa217bdcba3f8b805c99fbb9a36733c476410bd6c27cc3acc41b1bb7fd74c3c191f0abdf749f03af6c2a8bbb612273c48130fbdf9d8823b9c2080bbb033cd3bbf35f4bc4684213b981aa6bb4437c53bf2bccfbc26bb7f3b90ada2bbb7ea443bcc7c89bcb7a87f3bfdad77bb2df0613bac1a11bcd98b423bd61e4bbbd449dd3a28344abb7f2b8bbae59a84bd3c3cb838a276ab3b49d65bbdce93ddbd70443d3cbcd0133bb36fa6bdbddbeabd30dbd63b4f20843b35dab8bd9c7ce2bde076eb3b3bc96c3b874680bd266e9cbd6f8e83ba2451513bf79b83bded5a80bd15cb343b9e22523ba46114bde005f4bc5b90f0b84a17c83ab64753bcce9100bc313fabb848b4aabae590d03bc36c123ccc5c1239ff7434baef4ded3c736d1dbe3e00333fc782303f43ac173d137728bee6fc343f5d35283f9dd9f13c030d0cbe3b0a263fd78c0f3f54bef03cee70febd6a6a133ff29ee53e79e6a63cfef1b0bdcc1ce03eb03fa33eebcfc23c78a7b0bd8411af3efd194c3e88bdb53c592d84bd1e87563ec3fdb23df49d903cf58551bd1f5ac23d7686c1bbb31a8a3cde4f26bd5adceb3bd98c84bddf181bbebffeef3c0000000000000000269420be99c1053d0000000000000000e50a01be4c6ac13c0000000000000000e515d6bdf14fa63c0000000000000000cb8c95bd5962523c0000000000000000cf8f62bd5e03433c00000000000000003dc802bd5d490e3c0000000000000000fd3a15bc387f733b00000000000000001a4624bb94acc53b0000000000000000e716f9b9750453bb84e2c93ba319303c456503bbeb0ca63a49da623cc973ce3cc9a3cfba6a99b03ba6c98f3c71f2ea3cba2e0cbb4383b73b403c803c2b08d53c0fabbeb940c6aa3b8e5b7c3c8cf7a43cd857bfba8dd6d93bb606213cabfd6d3cd82ec1bad1f1ac3b3528cf3bffa6fd3b13de00bb66a7903ba88c5bba2ecc3a3b664621bb6c54123bb03d87bac9e22bbb9089373a502597bbc2ab2d3c03fbfabc139f5939f4ecdbbb4eba303c0a1de4bc0d57713b02f602bc68b30a3c0294ddbc04711d3b0fc1b5bb7ae1ea3b6f13e1bcef1f9e3b70fec4bbb963af3b96a9cbbce71ba33bcf5aacbb5f9aac3b57eca3bcd4bd2e3be2b581bb21e72f3ba98b87bc923b543b0462adbbaa5c373b538103bc3840703b721366bb2de0893a29d007bbfe82663cfac3a6bd2b2bb83a53b69e3be067f2bc645517beb2388c3c49b6033bd7286abd14b622beb68c5d3cbda05b3b8fd779bdb51112bee39c213c194d303b7ea077bdef4beebd398adb3beec7763b739f3fbda0799fbd631e403ba19056b906d0febc9a332bbdecc02e3b288509ba267557bc976611bc20ed7c3940560aba0946913b6225173ce042603a530cebbac4c6bf3cfa57e3bd1ceeeb3e3f666b3fcb70e63cc84bf4bd1d13f03e0f94643f60e6c83c399fdabd6fe3e53efe4d463f507dbe3cafcfbcbd8d8bcc3e54711d3f4956a73caa47a3bd3000ad3e863ee53ead989a3cabf78cbd48eb833e3e0d8c3ec1de9c3c268b63bdfe39313eaf73f43d18ec803c179f35bdad6ab93d489510bcbd6b573ce0a208bd81a7863cbe8fa2bd17153dbed118113d00000000000000009c6147bec364253d00000000000000005ace27be1972033d0000000000000000c21604be4ff0ca3c00000000000000000e7ac7bdb88b903c000000000000000015cf7ebdd61e733c0000000000000000b6b70bbdd0f2173c0000000000000000dc71c4bbc2449f3b0000000000000000b15d19bb7b90d23b0000000000000000cb31c4b9654326bb9d1a743b6fb9803cae561bba4511ddb97acc393c38a5003d0b22f9bafa814d3b7867653c8627133dfe7679ba3d466f3b833a7f3c0be7043de8b482bae1d48e3b7483453cbbfcb13c7210a3bae935873b1bb23d3cc353913c2248a2baec82863bc323ae3b15ce233c5bf80fbbbf23623b8218be3a2d77c43a72066aba3d9fa23972d08aba087e29bbf9f0b7ba32c6d8bb2c09d43b988b96bcf6780c3ad8a507bc8ad3973bc1369dbc054f393b249402bce41e8d3be85388bc9252703b6dd7ecbb8546833bd05989bccc1eb23b5f6fbcbb406b3a3b833e89bc28958a3b44099abbe706353b4b3976bceeff583bf2bd96bba6a1ef3aacd13ebca8d38a3b33a873bb19e6f23ac9d9f9bb07fcb43a5f101abb26f7823a593e39bbe388a53c1ad1cebd4a62513ca50b3f3b67fc1ebcdead39be2ff7d63cc6e21a3a17670ebdaeec42beb0c9833c8f703f3bd0742fbdf92136bed3dc573c66f8473b2bcb22bd66f807beb683a13be547b33adb8216bd491cc7bd55d6b43b524f9eba6f8fc8bc286e52bd9dac6f3baa40b7bac0f502bc577f50bc65d3bc3a9ecf52bb522a413be3d0513c533dd13ae51f62bb48dc5e3c25c981bdfaa16e3e69028f3fe15b923c5b4985bd35f6703e39ef8c3f54936f3cef057dbdccdd793e8108743f3e12793cfb3d6bbd8ec76a3e81b9453f67f9443c086b3fbde6154c3ee8f90e3fa040513ccd8431bd26a1293e4178b43e29fc383c4b6714bd1ea0f23d5695243e21bb323cb72cfbbcb878933d41cf37bb0990f33ba273a5bc101fa83cd323c5bd270c51bed9962b3d00000000000000000ef65cbe8557343d000000000000000018fd30be66f1013d0000000000000000070d0fbecf6dcc3c000000000000000040f7cabd7e019b3c00000000000000005c6b8bbde25c723c0000000000000000437314bda685163c000000000000000053f53c391c6f7d3a0000000000000000468d0e3cd708233b00000000000000001a32a93961cb34bbe822643bd4acb53cbf611139976f61bbf426023c189a343d20c7a0b981101fba33a9613c7e9b3a3de4be42ba491acc3a799b6b3cb852233d8d8219bade96063bee253e3cf66ffa3c3b6ccaba24d4543b481f083c3a9cb53cfe4883ba96d88d3b3272a83ba979583cc14eacba882b043b8a83b83abe163b3b290117bbbebb203b24b9a3ba99f666bbbb4113ba5bc6e1bbf221a63ab6b0c8bbc97094bb8159f4bbe8e37b3ad45df8bb66730b3a6d0ae9bb26e8c839a551ecbbfa40823bb969f7bb5a6eb1ba8ddff3bbdd7a8f3b451085bb93b1533ad22c07bc4b99533b1a4a62bb176cad3a8c2a29bc887c303b605130bb5b3f6f3a8a1920bc69dd123bf36575badef4383bf2a100bc7e07bb3aec23f2baa5a22e3b4b5d2ebb5e74563cf48c0ebecfba983c4c50a63a856af63b42295cbe99e3353d1e97c5bb957195bc6a216dbe7bd3c93c328f2cb823a0e6bce42f54be7bb0843cccd2083b51a9e8bce04228be2912123cd4bc8537f7dfb3bcaf11efbdfa7bd03be7890bbb1ca78abc4aaa7cbd2fe6073bb96fe1ba2d05bdbbc4f83abca2789cbb2a603ebb1262433bfe8aa03c0228b63a0eb86cbb4dc4853be1af6fbc1775893c3fe2ac3f2b11a03bc8f461bcde061a3dce689e3fc654d83b80679ebc9f23853d2b118d3f3c11f73be66d98bc2ceb9d3d3b4a643fc702a73b22e69cbc79e9a13de9fc273f7d65a73b8c4376bc386e9a3d8bf0d43e9a12be3b01be70bc2835823d97a6423ed53b6a3b41e86ebc0bcf543dd9ba1abba4369f39c149e3bbbba34c3c367606bed88554be513a213d0000000000000000b3754abee4b4233d00000000000000000d7125be33b5e53c0000000000000000425f01be3929a03c00000000000000000e8cbbbd8aee693c0000000000000000002c64bdbb311d3c000000000000000062acb4bc4de5353b00000000000000008bb9a83c629bb8bb0000000000000000f8496f3ce51c5c3a000000000000000000000000000000000000000000000000e590323859b7ddbadfc60b3c1f26263df2b51fbbc847d73a0489343cce5f253d51cfad385124173b0250243c41da0b3d89e013baf0b6fa3abe7f3a3c359ecb3ca02f9cbabe1e453b0e72203c05bd9d3ca23b8cbaba181f3b9558ab3b63ae213c3ed5ceb9cfa3cd3a8b75033b5e900d3b0000000000000000000000000000000000000000000000000000000000000000eda7d53a9e84bebb378a7bbbbed9c13b6d27613b539b9ebb1df721bbcb3b943be37ca33b8f0a7dbbf3a82fbba6d3273ad685c03b92436bbb603696bbdc6da43ab1395b3b98d5e6ba400849bbc5659aba0aa7353b95ee1fba97701fb9602b1abb3a9e903aa7e954380aaa233817662dbb0000000000000000000000000000000000000000000000000000000000000000151101bc118d5fbeea8a923cd88437ba566991bc758d59be8d36503c145da2b9f823d3bc9d6a42be3299e93a7ad2933af822d2bce8b81cbe0efab0ba3081b039cbd4b5bcffa3ddbd2d6cefb92cd73539f7335ebc738878bd2ee44cba841af1ba76e37cbb3ba54fbcbebc9dbac78812bb000000000000000000000000000000000000000000000000000000000000803f687df4baad06913c9906d0bd1edbac3f881a30ba35211e3ca8754dbd10428f3f1a4abeb9defacc3b64eccbbcb4856c3fc0dd843b8287b53b12490fbcc816313f7033083a179b963b8b4823ba488ee83e7c5b53bade1f9f3b52640c3c0ac3673e6537bdbaa912b33b7883bc3b68c33d3c000000000000000000000000000000000000000000000000000000000000000027b2fcbde816903c00000000000000007e9eb0bd87da353c000000000000000081d58bbdb34bd93b00000000000000008b2a4dbda3d0973b000000000000000058ae0ebd57d24e3b00000000000000004dd43abc203e9fba0000000000000000de4e833bcfac09bb000000000000000000000000000000000000000000000000000000000000000000000000000000007feaa0bb4488683ce93fd93cbc76f93be3af7bbb4808853c8edaf63c5d58f53b8f1b0cbb6082653ca982bc3c3e681f3c0a3d00bbcc5d7f3cbcd5883cea00293cfc64d5baf189593cdce2413cc1e7c53ba133fcbad5c6183ca65f123c78fafd3aca5501bb8222c23ba6ab5f3a2044263a0000000000000000000000000000000000000000000000000000000000000000bfcce4bb9a0bea3aac94083c2b73acbc4b47dbbb8108af39b495bd3b7ddec4bc8056bcbb593c253a2317453b11d7e0bc2fd093bbbf99ab3951cd103b1d34ebbc554b44bbec12bdb85d9e903a414cc9bc503be8bae813253a9995ce3854034bbc960c9eb990a38c388f7235ba037903bb0000000000000000000000000000000000000000000000000000000000000000a28748beb3fb043c4e49ff3ac7b7793956ae4fbe4f7f513c766ab53a0368013bb3d239be9adf913b3ccdf43a0e9cdf3ad4041abe64b3c63bac7b843a0461fc399ec6eabd71d63d3c8e532bbb4122113b511294bd5028513cb2218cbb6386e93a48d2eebc3c6f7c3ccb8cf4bb86d9503b0000000000000000000000000000000000000000000000000000803f00000000b32e643c2730b8bdc526aa3f6128e4bdbfad193c9cd842bd2ceb8e3f38a1b7bdc3bb253ccfbae3bc6dab6c3fcdc8a6bd893a023cab165bbc9841343f2e2594bd06bb023c3898f2bb8c2ff73e59777dbdab1af63bf3a48abbe3cc813ec3dd1abd956f0a3cf4330cbcff912a3d92ddb9bc0000000000000000000000000000000000000000000000000000000000000000340f653cc2a611bb00000000000000003c502e3c545b4bbb0000000000000000dc9c183cb48c5fbb0000000000000000c360fd3be370a6ba00000000000000000a37103cf7060bbb000000000000000032e0be3bd254a7ba0000000000000000bd929c3b2e65dbba0000000000000000000000000000000000000000000000007507f5ba5bfa383b7ed05b3c2f6da33b15f7b6bba2586e3ca5edf43ca9588d3b79a18fbbf76a623c179d153dd082e53bfade18bb9795813c3423013d4959303c16c964bbbb597b3cdd66bb3c6103183c3da069bbc6e6603cf4ff8d3cb5cad73b6f748cbbec58303c3619163c2dce7d3ba7c08ebbaa19d33b2f7086394409c33a4bbd75bbda473e3b48b6ecbb04d01b3b3d1b88bbfb851d3a8f46bd3c14ec36bd07d5f1bb4092ac3a739eaa3c5d3a25bdbdb1ecbbd0a411b7b83a9f3c125e41bd8e96cdbb7dd63bbab6ae723c38894abd7172a6bbf6f66aba2d40503cfb4332bd92eb3dbb3a8caaba4129493c242714bd3e1771ba982ca7ba363ff03b90ffadbcf4687d3ae35adcbac4148b3bc78f8bbb30632b3ae1ec60bace07933b7f8b683998ac8fbde34ed9bcbf62133c27a3dfba92d22abe04e40bba31ad993b4c8461b9338e43beb05343bc96b1053c7e86bf39046937be1fc05ebc8839c73b0a96763a501816be1a0418bc43586a3be5142d3be48ee7bd6bbfb9ba35b6993aaf890c3be5998cbdf50c9b3bfb8d40bb344e053b4616bbbc7ed7eb3b611bdabbece2843b9b3f4a3c2a38393cdc60ebbb3aa90f3b381de13c59bf36beab36aa3f92c4cb3cdc7ff63c0db929bef4eaa23fc7e4f9ba992dc53c3f0504bef27d923fffc65dbcab5dbb3cdd5ed3bdc39a753f94e6d1bc0dfeb03c19aca5bda6a23d3feb580fbd7149ad3c52bf8ebd3e43053f20b130bd1c22b73c365c6ebd8949963eb82b22bd7ba5c53cef8c4bbda12aa43d4b11a3bc63a7ac3c28ca53bd399859bde7751fbd3ab34ebc4551093b0000000000000000b063e8bb20189d39000000000000000088c1d1bb38adcab900000000000000000c56a6b9c42a9aba0000000000000000404e003b18a55fbb000000000000000029b19d3bf6164cbb0000000000000000eee5b93b7f25f8ba0000000000000000ec29953bea963fbb000000000000000063da453c670b32bb000000000000000039f90b3bc951dbbbcec1633c69725c3b398f96b8109f963b66cda43c514c503cb4690ab83d4b803badd5c93cfa04763c888785ba7ae1ec3b771cca3cb085893c2ba44437b4a3f03b49f3953c3df7493c6600e3baef67223ce48f403cb45d463c85b67abb6d421b3ceef6513b9a9bec3b29bf99bbaf430a3c913e28bb3c68933bf2f230bb57fb873b95e9d5bb4d3eb53a5cff1abb21fa64b9f05fda3c515383bdb1b78bbbb754b8bad4fce93c42698bbd5bed71bb751714bbcad6c33c17c282bdea368ebbf26950bb291fc03c092781bdf53c36bb121fdcba821c8d3cb03d67bda78834bb830501bb5afd853cfcab46bd051487ba30cc71ba757f663ce01e15bdc0bb013a330bd6ba9175383cc824b3bc310704ba667e0bba2a98003cab8a4dbc70cf943b300071bdd27b673cb8942cbb76afa5bdeda48abdaeb4a33c470973bb1239d2bd78dd91bdfe3e903cfc345abac8daf4bd49336dbd6d506a3ca0b1e7386e73bfbdb92d3cbdd05d3b3c89bd90ba6d4ea1bdfab2e7bcb43aea3b6790ce37a66123bdd5de88bc0abecb3bdfc2a6bac3ad61bc882ca63a7efc13bbcb79243a4b8b873c3861f03b23cc2fbaa4a7b93991b1e63cf3ed30be6d4e8d3f050a653e4022073d957b3dbe9ee0903ff9aa313eb779e73ca64d18be2eb9803f3d000b3ef594e63ca2fe0abef493633f8c6f9c3d9600e03c074be5bd94fb323fbf23133d0109f03c15edd2bd7009063f9d9416bc9b4eea3c9d2ab9bd938aa73eefa51abd49c6fa3c2920aabd8114193e35866abd637bdb3c5c6d94bd2707b43cb74b90bdf01f43bde851e43b000000000000000081aa2ebd3fe1cf3b00000000000000000e67fdbc646f0d3b0000000000000000e9c4a7bc0cbfde3a0000000000000000dea251bcb8912b3a0000000000000000cb7aedba232865ba0000000000000000ec44843b6d450cbb000000000000000076b0563ccb4767bb00000000000000009bff773c730d7dbb000000000000000077efcc3b0a9478bcc4f08b3c5248f53a9161523bcadf96bb2f53a13c70c17d3cd9ca503bcdfeb0ba6b31c43cb8549c3ce9d49e3a7bff743bf663b83c11ad993cf5dcb33a09c7333b865ea13c3c8a813c7e7b2ebb2e73ef3bd63f1c3c8cce543c38a5f4ba6bcdeb3bbb31a43b99400b3c811e69bbee89d23b94be77bb77efb43b8d1c04bb54320c3b4d11a0bb50fb943a1283123bda3852bb0b4dd03cc66195bd76100ebb113d5ebb7c52ec3cf2e39bbdc0cb89bbcca454bb8963ca3c3a6395bd230057bb1bd20ebbb1e6ba3c8fd48abdfcac1bbb043658bbf8a8b23c78ff84bdee691abae4fa2dbb93d8a43c894e58bd3bdc8abadb4d28bbb8018c3ce0092ebd88b41db903bddcba93d8663c5baff2bce571903909778eba312a403c922ab2bce1903e3d2af8bcbdd01f913c2c1828bb2a8abfbc34fbedbd1915ea3c3033a6bbdc2881bda879e7bdf86ddb3c2b0f23bb636996bd6937cabd40b9bc3cab8890bb56d88bbdfda6a6bd5476ab3cc8a02fbbf6c14cbd25615dbd86b6683cd47d3dbbf73de7bc7048f5bcc871163c8e568dba641b7fbbc43bd4bbabb3813b3a6815bb1e60b53c243962393b25983b038631bbaaf3c83cda2b1fbe09a3663f0b61df3e10a9f63ca22d2dbeb93d6d3f5961c43e91dffa3ca7f91bbe1ce75e3f71a79a3eb7b6e43c6e3a0abee325433fa0645a3efda8da3cec22fdbd495e233fd0e7ff3dc03ae13cee55dfbd57bcf63e963a413d9e19ee3c9575cfbd7464a63ef6eba4bc8427fa3c7bb8bdbde25c373e034899bd448ed03cdc01a5bdcb7d883da495d0bd23e1a9bd1540423c00000000000000002836a5bd6be4503c00000000000000008ade7ebd9d92ee3b0000000000000000c41335bdcedf9a3b000000000000000040dee9bcdd4d403b0000000000000000e98a67bc4a50c33a0000000000000000aefe673aecee52bb0000000000000000aa6f783cc86a52bb0000000000000000157e8c3c96fc3abb0000000000000000d90b053c27c89cbc50de9a3c4f90d13875d9b13bf93533bc131f9e3c383b763c3efd6e3b34afd5bbc6bebb3c317b8a3cec1a5a3bcf839fbbe513bb3c936ea03cb818433b569b9ebb85038d3c0cbe053c2fb34439d3c4f93a23b1553c584f5a3c1a4bd2bae789383b4826d53ba182bb3b17bc2fbb9c459f3b98b687bad24f8e3b9fe4e7ba5da6c13a0a3524bb5799b7399f0b963bc4ec8bbb729dad3c70bf8bbd176ed03aefe9b1bbc8e9cd3c1a1d91bd8c33b23a263f97bb8df4b63c99c08abdca95043a215cacbbde6fb73ca47186bd76e52a3b633952bbef31733cfbdc5cbd15ee1ebac3a564bbabe1a93c789761bd04eb563a07c22ebb126f853ce0662cbd83f28c38513911bb486f6e3c3ed40dbd09da59ba8a5996ba396b4b3c8d54cdbcaeea833d76bddfbdd105913c73f7deba0611583c2c101cbe6dea093d98cfa2bbd5139cbc5c3d15be7d1be23ce2706dbb07631bbd17b70cbe01a4f63c693373bb18a5a6bc645ac6bdc88e8b3c70641dbb169701bd6299a2bd2204b03c033e8bbb3e0835bc55802cbdba176e3cbdf57abb377a863b80f687bcd8ad2a3cee1281bbe3fec13c503ce1baf872fd3b8e1f9dbba10aab3c491501be47692d3f9081283f6a34b63cc86e0abed918333f587d1b3fafb9aa3c897af7bd94ef283fddbdfd3e72e5bf3cbc96f2bd60321c3f3ad0be3e56cf9e3ca40ab8bdb522f63e1ed8813efcc6c23c38a0cdbd498ad43ea9f0fc3de00cb33c4a0eb4bdb030933ec8efac3ca84fd23c6b2cadbd4e7c383e133b90bd1149b33c08dd96bdec68a73d9798ecbdf7c0efbd9eb38a3c00000000000000000d38edbd75eb853c0000000000000000d5cbbbbd8769523c0000000000000000dbc395bd79000f3c00000000000000008e4853bdfdbbd63b0000000000000000536ce8bcf7bb3d3b00000000000000005f3939bc85f7c13a00000000000000006ae13d3c6b1d37bb000000000000000080da693c33264e3a0000000000000000a82dad3b2aa183bc0cd18a3c1b418c3a9202ae3b1ea538bc04279b3c5c65a03cc61d8e3ba90a09bc03a1b53c50cec83c53dbda3a93f3a7bb42dfae3cf40dbc3cd8e8243bf6d6e3bab858943ca66f9d3c6951a43a84db88bafde7603c79cb803cc80709bad6d6ef3a2938ec3b702b1d3cb3e4e0baf718373b98bc843a7d7d973bcb1228ba3f1169397b4e42bb19d114ba8d00d03bb125bbbb3273913c1b7a61bd552a8e3bfc93f4bb80e09f3cd3706bbd6b61953ad978e3bb479d913cab745ebd90d52c3baa06b3bb8d97963cd07551bd7b3d933ad1a7aabb4623883cd7a14fbdb815a43923d97dbb6c257b3ce4a031bd19d61eb8f31708bb4a0f593c39ae14bd08e3a637d03118bb1f13463c0dd1dfbc0205683a39ca98bacda7293c1997b5bce97a813d4a63f6bd4af98f3c7229dbba9cd9c33cf2b73cbe05fb203d4fabdbbb3e6ed2bb3a0541be7567143ddb2e79bb65f4b0bcea6d2abe87e9ff3cce1caebbefb8c6bcb3ac0bbe26ade93c377f97bb9afababcf6c9c5bd7575c93c49f8bfbbd86930bc23676fbd1687a23cb8c8cebbd2f8433b5f2bacbca4c65c3c5adbc9bb1d66bf3c72b527bb6f583d3c0c77e4bb857f713c098bbabd7444e83e5e43623f4ea7913c86b9ccbd895af33e2145573f4479993c51ddc0bdf5c7ef3eea8a343fd3b37d3c576bb2bdc9a5df3eb2a20a3fcffa8d3c1b79abbd1c83c63e8741c03e463c943c606d9fbd05a9a33e22dd553e81229d3ce1e695bd1e2f743e7184773deaa39f3c3a978cbd23f61e3e52f77cbd2a938b3c07de72bd73b39a3dca08f9bd6b6615bee151b13c00000000000000006c921dbeef55c23c00000000000000005161f9bd9f71813c00000000000000005e01c4bd79834c3c0000000000000000ba4a8dbd510d153c0000000000000000a79d2cbd1be49d3b0000000000000000769666bca395b5ba0000000000000000fa39433cb1ce3dbb000000000000000084f9673c440ea7ba0000000000000000acb8b03b8ecd56bc7e0b6a3c8928a13bcf01693b68020bbcf194873cc3b2d13c778b223b2489cbbb0c2b983c22ecd33c15b6333b9246bbbb47e7a93c6a3de33ce40e8d3a6c2f66bb03798f3ce971993ce8a5803a2723f7ba9a1f6e3c0ac9823cc777e9399e623fb9d1be173caaa50c3ca3594bba1ac54b3a7d13b03af264783b006003bb0272613a8f5efeb901a06eba12c7d73b2f32debbd3de243c74390dbd1e840b3bc66aedbbb29c473c0cc017bdb537ba3b4ecaebbb9502393c8a9712bd85f92b3b6b8bd9bb18a7373c8c510abdfffc7a3b92a5a8bbd620243ca72206bde3cec93a8e3f91bb76971e3c237bf4bc6966453a9c3a24bb6e1f163c5cb1d1bc9f242f3a4a069eba4816f73b948998bcb77bd5b874d385ba48f2e23b905b65bccdf8443d906e06be4840db3cce5786bb3dc0b43c615457beb38d3c3d681f06bc957ef0bab75151be66cd063dc7fb8fbba28f79bc0eae4abed5dd163dbb7eabbb56bb88bc3e7d1bbe5976e43c75e2aebb351e8dbc3e3aebbdf583de3c0628c0bba00806bc233889bd5eabae3c783cd2bb6535643b72ecbebc076d5e3c0c9eecbb1fc8913c0a498aba9f084f3cb96ccfbb6feb123c360a5cbd949b723e0f818b3f61da1f3c2ace67bd89df7e3e4ccb873f12a01d3cae0c5bbdcd5c883ed9d9633ff7bb1c3cd76e5ebdf52c853edc01373f23621e3c9d3f41bd176e713e22af013fad0c3c3ce2b44abdb1a6543e0bcb9c3e2f10353c395c38bde8d2213e52ce033e67ee4a3cf51535bd152ee53dbc443bbd02702f3c29f719bdc33f643dcb1805be971a28be69ecc93c0000000000000000259a33be0a41d83c0000000000000000fa990bbe79058e3c0000000000000000b9d5e9bdf8f15a3c00000000000000006850a7bd0bc51d3c00000000000000008f7e59bd18eba43b00000000000000004e32dcbc09fff83a0000000000000000ba38703c1da6bfbb0000000000000000d558a63c88076dbb0000000000000000bcc2883a27a4a5bb66de063c9aa5663c3768563ad88fb1bbef50833c01941c3d535b783a3d99b0bb67b59d3cc414263dd1cea5b8637632bb92ee9c3cdbca0f3d8e66863a4aa222bb3ddc933c363fd63cbf6d1cb9c59795bac9ee553cad3ab63c17f4f638122140ba95d6173cd34c4f3c56ff98ba8807853af2e1d73a35d44c3bc02d00ba75c5b7397f62a9ba9f0e42bbe633a93ba555d6bbb7638b3b5ed045bc537b1dbb4389dbbb48705f3b8ef748bc4aa8d4b9b531c5bbeaf17c3b55e94cbca9f2883bb9f0d4bb67497f3b04205dbc0047133ba1f894bbb0ea7a3bb8f964bc3654d23af8cf4fbb38c6a23b014157bcf0df3bbad44a80ba83bb0a3b6acd2dbccebed939382fdc39ffe3463b0c0106bc9b89033a2a88f2b7fcca273b812fa4bbac78a33cdf0016bec249b23c60d778bbd2c0123c264474bedca4673d496c1ebce7192fbcec4f7abeb76d293d47edbcbb9e8eb2bc050e61bec6b8073d345b99bbd2acb2bcfc9034befa63e93c0a78acbb2e17a5bc65e105be872fd03ccf69b4bb558d23bc3bc69bbd0a41933cbbdcb3bbeced2e3bcd43a9bce31a153c9242c7bbe6190f3c24132e3c61db333c5a75f6bb3d37013b605b65bccc79003daf5ba93f2ab58b3b1b2c85bcba0b5b3d6a4a9e3f14767d3bd1309abc3475ae3dba44893fb5cd863b633399bc9139cf3d71b65c3f53b7903ba78b95bc0e97cf3d5bd6213faac01b3b7ee08ebc1afcc03d3feccc3e8004a93bf06987bc0868a33d43cb323ede51923b49e986bcc6896b3dcf42dcbc0fa6603bd4e75bbce6bbb93ce9350ebea0ae31be23acd83c00000000000000005dd330bec95ec83c000000000000000089cb10be19ad903c00000000000000005af5e7bd9b59513c00000000000000006e15b1bdaa13123c0000000000000000728068bd2fe1743b0000000000000000f5eab8bc0ea460ba0000000000000000b602b73c552119bc00000000000000004edf723c46bd48bb0000000000000000000000000000000000000000000000003468e3ba7592f43a65daee3b6a6b093d0e62a0ba15a9fb39e7da213c7021103dc623cbb90550b33a1d6d3a3c8b4dde3c8721d2ba5b05ee3a9d49433c2b3bb33c3283abba08ddbf3a87d11a3c80cc813ce68a25ba11e5013bbcdfc33b6954313c1145f0b99e404a3a2731583b02b0263b0000000000000000000000000000000000000000000000000000000000000000a9fa1c3b177b93bb854deeba3190023cf41c203b67b87abb42ebd4ba18ada43b6c6cda3b6ab296bbfcc7fabaae449c3bee8eb33bfe3e1dbb9a0fedba9d40813b4539763bbaf823bbf4c8cdb6cfad0e3a9debec3adfba05bae59f59ba8a44c13ab608cc393bf8f5395737b1bab2df253b0000000000000000000000000000000000000000000000000000000000000000b1a0a9bcd1664cbe403a893c35e710bb1718cebc22c04dbe44ea933cd84011bbf89e08bd5c2237be94470d3cf55b44ba027806bd57f217be2a39253c4b7d1dbbd5a0e3bc380de2bd5e06263cc98bb0ba77279dbc6fa789bd820c203cb7ac6fbbe20c0cbccdaca6bcab43043cf44469bb000000000000000000000000000000000000000000000000000000000000803f50df22bb31ad583c6952a6bde891a93fcec903bb4c44103ccdf414bd115f8d3fdf41a5ba64b9c13b4b7964bc98f6683f8f6e8dbae8dab33b2b8e97b94f6f303f696693ba6958e73b09629b3b11f9ee3ef187ffba237dea3b4d79833be48d773e4a8c47bbaab90b3c7c8d21bb0c97fd3c00000000000000000000000000000000000000000000000000000000000000000f84e7bdfeef543c0000000000000000632ab0bde03f0f3c0000000000000000243c99bd587dcf3b0000000000000000671484bd8a55b23b00000000000000005d6c4bbd232abd3a00000000000000004eefd4bcb77dbf3900000000000000003c9614bca05c18bb00000000000000000000000000000000000000000000000000000000000000000000000000000000fac9503aa249d23b57a827bc05f2bd3cff346ab9dc6acf3b26a722bc1c18bb3c97e1d7ba1366163c84f43cbcf07ea43c0528a3ba8fb4083c760e5fbca8f09d3c4331aebaef19ec3b3b602ebcd6a8823cc5b363ba779be33ba9b9bdbb051f373c99d5353877aed63b20fdd7bb89aa183c00000000000000000000000000000000000000000000000000000000000000002df4dfbb3b03be3ab331cc3bf5d4d7bcd045dbbb5f54cd3ac53ea53bdd0fa4bc4e0b9fbb2ed4e43a56b4fd3a85358dbc64beb9bb211a8b3ac4521a3a0ca856bc015d81bbfc90af3a07b8053b00cb30bc10b49dbbb76c6f3a8fe7d63acb3436bcdd198bbba6211b3a74ed943a10c0b0bb00000000000000000000000000000000000000000000000000000000000000002ecd9fbd9ae407bd0e956e3be3868fb83639bebd3818b5bc50fe003bd7645b390416aebdc570afbc7a87bc3a992eabbaf54b9ebdf65977bcb333d33aed12543ac57a8abd15b0d9bbed1772ba38c00cba801558bda7356c3ba9c024bb4796ef3a639318bd4177463c62f1b3bbacdb1d3b0000000000000000000000000000000000000000000000000000803f00000000bbe1e33b562d73bdebd4963ff6ff91bd8c9cd83bb32a16bd3038803f523880bde2a4ef3ba40acabc38c4543ff05d78bd8465d43b841eaabc7171283f709377bd94909c3b833a6cbc89a1f63e7d3370bd5753033ca1089bbc344f993eaafe4ebd1955e73b6cf9bbbc6f39053ef21a4abd00000000000000000000000000000000000000000000000000000000000000008c424b3c113060380000000000000000f1d15a3ccbff25ba00000000000000002897383ccf7188b900000000000000004044573c355601bb0000000000000000ba502a3ce4801bb70000000000000000d17e173c456395ba00000000000000005e27233c70f760ba000000000000000000000000000000000000000000000000380e9a3b3f17c0bb9689983b1bfdc33b1ba4cd3b951a89bbb3712d3b038fb03c23c8873b826b5c3a0264db3a06b4b33c4aad463aa3fd6c3be09d41bbfc9ab43c566142ba6472c93bedb1f3bbc09e9b3cba5b97b9ed5f023c1445d7bbe3fd933c0632bbba500f1f3c445c0dbc2dc88a3c75af84ba7d280c3c0764ccbbf23e363cc8422bbb9f051e3c2a3721bc56de0a3c1550ceb9009bcc3927a3903ccc6a7bbdbf29ebbb36ce8f3aa325a43cb5d080bd71f6c8bbaf86923a28db873c586c6abd99bcaebb859b493ac5e27a3cba584fbdaa035abb342d603a580b643cfafe34bdf2b9a6bbb3e1823a7c77393c4e9126bdf7abc0bb25c9803af631473ccde309bd8277b9bb4c205a3a37004c3c6c7cedbc986fbabbea77e43abfc2033cab7079bcd761713c1e9885bda93a543c51573ebbc60833bd480879bd0198393ca55602baa5eb85bd816774bdd0d32f3cf8637eba975685bda32f56bd93251e3c120deeb8a75359bd9b3e2fbdd363e13b5c2f96ba701c48bd9b37f2bcb156b63b4dc417b840e615bd243977bc3f1de83ac3eb4c3ac4e78ebcff93523b55d37abbc3a4123b9200cc3ac315003b72d2f13acb1c3839a66f703c081de1bd1921973f8aa0853d819e873c871fdfbd8068913f8a690b3d63ec723cd2f6b9bdf504813f142b8d3c9dfb7b3cfa819fbd0830593f25e61bbb0c7c873c5fa78ebde6042d3fb8579fbc32aa973c4e048cbd13a6023f1d0f22bd396e953c3b3187bd2821ad3ea8685cbd0422bd3cffcb8cbdfbeb2a3e713979bdad00853c6b387dbdadb7113d44018fbd4d2c04bc31d313b900000000000000003be304bab6b09eba0000000000000000f954933a37c703bb00000000000000003e4bc33b60c660bb00000000000000003e550a3ceccf30bb00000000000000002e792f3cf7475cbb00000000000000008b1f503cbe554ebb000000000000000040db4c3c3150b9ba0000000000000000bf42893c88fa6bbb0000000000000000d540163c77a8a4bce0b0a83c178c0abcd922273cd4807dbc12001e3c7450bb3b78d7853b1d7a31bcf3b5ea3b4997a53b5057b83be701bcbb228553391846503c0082c73ac8891eba5ca764bbeef2363ce697d5397bd26b3be5580bbc54d1863c6faa32bb168ef23b4b2917bc11ed183c8d3627bb281b103c4d7a6abc9417743c504348bbd3c92a3c2be031bca447103c9c77cb3ba4df97bad9caae3c058f9ebdaaea3c3bcd754fba498dd73c49feb1bd67626b3beabb87b9b052a43c8dff8cbd39af3f3abc518cb99e7db73cb99093bdfebada37af97cb39e6f28f3c3a8172bd047c16bb9c0e7a3986659a3cdd5767bd640d9aba4913913a3b1c993c906642bd4007bdbbb38ccd3af58ca23c8c292dbde2af6abb9a2e963acf124c3c0702edbccecc883d9665a6bda8ed7e3c4da5a5bbae710a3d7872d0bd905bbe3c70aea2bba206923c419dbcbde52ba03c2cb7bbbbc23486bbe804b6bdc6b8a83c24bc99bbeba440384a9396bde3768b3c17b889bb14592dbb82187dbda7236b3cdcb00cbb78fa093c5b4e2fbdfc1c613ccd5f85bbc17d443c1136b7bc34c7fd3bc1248bba1c65af3ce51972bc6ee1033c4f069dba5dc6803cb50ddfbd02857c3fcb48723e6d4c8a3c76f9f7bde6d77b3fc1343d3e03ec913ce119ccbd9cb8583f79b1193ebb329a3c064dd6bdb8da463fe526bc3d5ad29f3c8e1cbfbd92611f3fe1104e3d94d2ba3ccd24c1bd9a87fe3ed43fde3a698f903c0d47aabddea8af3ea1bcdabc7a67d63cb122c5bdd8025c3e24a097bd7400b83c998ea3bd90a8af3dea25a9bda602febc64f53e3b000000000000000050e4b7bc97d103bb000000000000000011d895bce0b265ba0000000000000000c54806bcdb4924bb0000000000000000484ac7ba77bf73bb00000000000000002b0ec53b41f290bb00000000000000006aa8f03b2a5282bb0000000000000000b2379b3cae1cbabb0000000000000000add5833c6da8c3bb00000000000000008205313cafd7e6bc28c1ff3c7dbaafbc6685453ca465dcbc6a7aac3c296dd8bb4c18323ce8d1a0bcbae4483c8dc3b43ae3c8983bf41c56bc0fbdf13b72499e3b0b5dd73b6ce418bc19e3b6bacfda083c91ee553b0b495bbb03f322bbfb54113c740a2039bb4a383b047b14bcbb11593cbcde713987c6a03b15e04ebcd58c613c06df73bb01e01b3c9ed831bc313fd73b4c38353cffc92bbbb331ae3cb801acbdc8ff3d3c3c890cbbf9a0de3c8ca7b9bded9cee3b3ebe01bbd11ec03c7ec6a9bdda3ea93b08e2e6ba66b1d33cf91a9ebde0ee963bf22a12394056b03c2e2f98bdb642233b3038a3b85f63b13c340a87bd964ec8baaa91983518f6a43cd0376dbd70a17fbbfb3d8d3aa3f0b03c54b856bd841128bbc76c5a3a87dd593c2d1016bd5497c83dfbd8bfbde79f7a3c170bacbbad0f9f3d2b2000bec195d33c945c10bc1381483d293dfebd0422d53c6432dfbbed6f183db32beabde94fd63ce71daabb18481c3ddbaed4bd02d6cc3c8e9e08bc0ebde13c971ca9bde3b8b63c238dcfbb6fb1e53c056e86bd6e9dab3c3aec78bbf149093daf1931bdba738f3c4e6c33bbea89193d95f0f5bcbc5c863c46c169bb0632763ceaf3cdbda1f24c3fad0ad43ed0f2793ca85be2bddb214c3f42a1b73ef660883c033adabd9d383d3f1097943e3e6e883c6851cabdbc6d263fd08a5a3e4486ac3c3a7fc9bda6fb0d3f254a0b3e0fc4aa3c36ebc5bd9329e53eece5863d689bc33c4d3dc6bd1f87ac3e422610bb31fbcf3c416ecbbdfa41693e8ef280bdb7e2b03c9f8ba7bdab42e93d6d01b9bdad0560bdb0b1b43b0000000000000000b07c46bdeab5013b000000000000000020c71bbd8ef1b3b800000000000000003611d7bc9d625cbb0000000000000000218e8dbca84505bb00000000000000000de9c3bb1d9793bb0000000000000000436f3f3b1e37d9bb000000000000000085c6613c3b0e19bc0000000000000000cfe4593c27dfc6bb000000000000000039573b3c901f06bd92a01f3dbde0f3bce160783c2e8509bd8051e73c656a93bc45be1c3cd8e8c9bce56caf3c576638bcefdd1f3cd872acbc8c78653ca1eaaebba3b81f3b735a45bcb22d393cc1861dbc27dd8d3b94d422bce3f8c53a6a433a3b7791b83ae649f0ba91b938bb5c2c853b98ff8b3a0b95033b8a6413bce3df0c3cf787cdbaa241aa3bcf5e03bca4a88f3b061d813cf54d8ebb3faea33ca0429fbdab59893cfa3b78bba05cb23c9812abbd64ba553ca87d38bbf453a83cd9c798bd0246453cb5600dbb6f20a93c803a9bbd1cea043cec6d37bb4138723c4ec86cbd75f1b73b30216dba657dbd3c7d9387bd2353013be9f1fa38ae089c3c3d9f66bdedfd8dba027b9339b307a53c029862bde57a68ba2d75183a0d1d703c43db20bd6f19d43d7e25bebdacbf383c4def98bb87a2c13db72507beb662cd3c51961bbc142d8f3d98d804be3bebc53ce4ebf7bba95b7e3d5c4c08bef973ee3cd1ef25bc99e7623d0faac5bddfbf873c239281bbc779453dabd9d0bd7e27fb3c5ef103bc7df6353df43f99bd2f0bc53c0dc0c8bb0b69393d384963bd3798ca3c8fc4b0bb80fc393da84720bdf302bd3c47c5abbb6ee9453cd0cfa7bd3e1d1d3f19d2193f31cd3e3c266bb8bdc70b1b3fa8c60a3f72a1543ca7edb2bde442103f3a87e43ee45b8b3cc156b8bd85f9043fd463b23e9559723c96a79cbd8a8fd53e11a3803ea97a8f3cb075b6bd6ffdc13ecb7b133ee227963cda22abbd99ee913e8e1b623d8ffeba3ca177b6bd1478573ed0c71cbd2149a23cbfcfa2bdd03df13df21eb7bd8a1ea0bd9f3a0e3c00000000000000008fdd96bd6ad7853b00000000000000002e4971bd7cf3073b0000000000000000c45647bdff54993a000000000000000055b111bd4848493b0000000000000000abe0b9bc39a7adbb000000000000000026d029bcd2c492bb0000000000000000bf05c83b522c0fbc000000000000000001dda53b0c8de4bb0000000000000000259c3d3c70500abdabf8213d3857f8bcaa54733ccb240abde75af43c33f8adbc6d254a3c7f14e3bc1399be3c9f3146bcb5da2d3c77d2cdbc0ed4963cea1809bc3d56063c41d08bbc22f22d3cd7fbb5bb195fbe3be8265dbc895ee23b1dfb4a3a9d21a13b405000bc01ff3b3a4708943bda36193b509905bbe0ecb5bb44af0d3c0799bd397b5681b934d979bb18ad3a3b3e588a3cdebe8abbf3f27b3ca90282bdb54da83c56efadbb9b808f3ce3888dbd64c7903c3a2277bb21e58c3c09e286bd06c86f3ce9db35bbb3328e3cc01981bd67c6493cd21120bb0e0eaf3c9b9d81bdd2120b3c1ca89ebab5bc943c731d6cbd472f503bec5acdb907ae923cf93959bd86eb48baa8c1b23aec649f3ce4fe4bbdbe7aa13a8ed09d39fabb6a3cb7411dbdab7bbb3d7044b2bd2328ca3b1fb5b1bbea94ae3d85790ebe48c4c93cd5952cbc6ee08d3de50718be85b4c93c6b692bbc1d547b3d80740fbe4855e03c3fec23bc41b25e3de81f04be6922f33c2ba61fbc48d2493d125cdabdebe9e73c6cb914bce209333dc611b2bd398cf93cce7d07bc8150363d37cb80bd5ad2ef3c410903bc09e2413dcc2a26bd9642b23c3b0fe6bbd646003c1fe67cbded0cda3e816a493f002aee3b8a8284bde166d83efec73c3f4b3c093c9f2e87bd872cd13ec1611f3f247e123c6fcb88bdd481c03e2e5afc3eccf40e3cfb528ebdfe98ae3eea1cb93e46d03f3c622f8bbd6c13933ea973693e47f65c3c493490bd22fa6e3e7453d43df9da5e3cac8c90bd88f2303e36742fbc17b7743c834a86bd869ad43d4fc2a2bd03f1c1bd0bb6413c00000000000000005db9c8bd1317113c0000000000000000e41aa5bd22d2b63b0000000000000000add187bd8a45203b0000000000000000900756bdd9e5e1b80000000000000000d5fb1abd145a15bb0000000000000000ec43a8bcee7595bb00000000000000001ad40bbb107b12bc00000000000000002c15e239bf859abb0000000000000000c833343ca27adfbc55ba033d8434d6bc38b43a3c072dd7bcf635dd3c0aa68ebce082313c26afd7bc73f8dd3caec78dbc2472333c2ea4babcb7389d3c1ce718bcc41df53b3aad9bbc81628b3c8b84efbb6cbff73bd2465fbcda0e0f3c0a1abfbaf67eac3b002c1cbc6289053c163f5cbb7e0f4d3be1cf84bb9d5338ba183fe23b183e503a64cc8139c116f9ba6ee9523b82639c3c9159adbb721e173ca17532bd2671b53c50a994bb9a5b293cd4d431bd9d5d973cb87c99bb6a21253c10a937bd975c8b3c96d36cbb38952a3c64ff31bdab1b4d3cfbf51abbbdc62b3cd6dd2dbdfbde193c3a1eccba629c4d3ca02530bdb2c5bb3b87614aba842e363cbe2221bd65d289ba6f71843a4e48603c376415bd1d5b34baf9df1f3a5437403cf794f3bc676d823d6bd9afbdde46bd3b13e8cebb6fcd6b3d7df511befa0ea03c973038bc98264a3db8a806be1c7c683c865104bc1ef6333d693316be601cc23ce43521bc014f303d7967ffbd730ab23c17530abc8f21193df513e8bd5e75ed3c9f0e19bcbf1a143d47dfa7bd813acd3c0b4a04bc72030a3dbc9980bdbe59fa3c2808e3bb21cf0c3de84d16bde0b2cf3cffa4e0bbe959553bc50d0dbdd0297a3e3c067a3f8021cc3a64a917bd887f753ea1016f3fadfe893b614921bdb2f2773eb796443f4339373b1afc21bd9c746d3e0d0f243fbab1cd3b897b28bde991553e5e39f33e382fa13b262d30bd48a63e3e6f19a33e0485003c0d7733bdbf39183ed360363efee1043caf6b3cbd3a19ee3dc85ea83c0d69043c7e2037bdd89f903d4e9498bd2b59d8bdf8495f3c0000000000000000d652e1bdb29b133c00000000000000006e85b5bd8bed333c00000000000000002cf9a1bd954e993b0000000000000000caf777bd4c49523b000000000000000053293ebd3bfc99ba0000000000000000c2760abda8a61dba0000000000000000211503bca4841dbc0000000000000000d76804bbb6e5bfbb00000000000000006bf7e33be38a79bc0695a83cc71688bcf881ae3bf5e91abc59e56a3c5afad7bbfd8ee93b2d4b42bc1425833cc401c4bbfac9df3ba0cc56bcd1437a3c21e785bb4f18ed3b52fa57bcd921653c165ecbbb55c1b23b7a8c15bc76472e3c4c6756ba2cb80e3bb1a3b3bba81af63ba6b0893bdc27033b608df338d9a709ba810ffc3b5d935f3a12e22dbb6be6833be11d6d3a4d35813c9b168abbddd1d63a030294bc863fbe3c70799bbbe5cc333a0d2663bc02c59d3ca2e480bb79b28c3aa19d98bc5abd943ce11988bb0e61413be553a4bc2973633caa08bbba8b67c93a80f395bc1faf3c3c2fb1bbba90d68c3bf0e2a1bc7c7bb03b980fa9baef35a53b9eb185bcc87125bbb881f23aa074823b3c5666bce57bd73941775e3a365bf53b26bf81bc85caa83c22699dbd1e7bb5bb798089bb0723613c088811beb08e5a3c9e493dbc269f663c64491bbe48655b3c2e1011bce8304e3c861a14be7436543ca60e04bcc81b523c21bafdbd7757873c01cd1dbc41bb453cbd45dfbdbb24ae3cf83019bc73b2073c204facbda010bc3ca438c5bbf149213c6e0156bda866e33c112be3bbb5a19b3cdf67fabc8155ca3c7c64e7bb9ae342b858191dbc310a903d5060963f881a59b9803612bcd796983d137d8d3f7404853a59f149bcb98eb83d7a2b733f8c8ae7b9c1d950bcca4dc23d27c0463f35cf0b3a26456fbc5912bb3df798163f005b84bade5164bcf70fa53d1d11d23ec45c4a3aa66172bc34d18a3d592a693ed89f57babb894bbc7cfa3a3d9761583d61a60d3b1c2699bcc773d73c226679bda3e4dcbdaf68673c0000000000000000be86e2bdc5d4313c0000000000000000d4f1c0bdfc72083c0000000000000000cde1a5bd91e9eb3b000000000000000070f888bd47799f3b0000000000000000a5f064bda207243b0000000000000000fd791bbd8b27e9ba0000000000000000cc3163bc282701bc0000000000000000626d73bc70cf7dbb00000000000000000000000000000000000000000000000082e80b3b3b8edeba3f766c3b76ba31bb46e2153bc89e05bbe611633b06a37fbab2d58a3b3fd8c0bbcc949d3b52f768bbbcbf723b5a69d0bb98eedf3bec9ccbbbe0464f3bbfa6d7bb9803ab3bdaa654bbd03c313b470b71bb0b67b03b6d24d4b8899b363aa49512bbbd0e613bf655943a00000000000000000000000000000000000000000000000000000000000000008032583c88a13bbbfff48cbb771eab3b6f9c693cec6916bb41b47bbb710c723bbb024d3cf163f7bab11680bb81580c3ba5a6443cfaaad9ba1d72febaa4f800baa81bfd3b83e780bae31b1dbb769582b9f8cda93b086a5e38ded814ba696ab43af5ccb83a3e98e339c1fc3d3ae6b2dd390000000000000000000000000000000000000000000000000000000000000000821c8bbc2ff7c0bd07bb33bc33d211bba43f7ebca0cdd2bd425fa8bb57c38fbba1a14dbcfba8c6bdbe8bb7bbb42f63bb9c74eebbfbf7adbdd7b48ebac3166dbbf7f206bcfe1292bdf1a1373bdf4949bb4c3c1abce1806bbd87a60d3c477693bb4b77b5bba25213bd9ebe583c212f75bb000000000000000000000000000000000000000000000000000000000000803f419fedba9478303c513555bd410c963fb87311bb67bc173c323ed9bc369f7d3fa46e36bb03c6033ca3ac4ebc138c513f54285fbb5986cf3b3726f2bbfe0c243f66d20ebb3cdad03b0fd52dbb4cdeec3e7199c2bb0f3ad83bb600c1bbe054903e76f2aabb212fd33b503123bccc8adf3d00000000000000000000000000000000000000000000000000000000000000008e8195bdb2aa0b3c00000000000000000d2570bd7f98d33b000000000000000003ab66bd4094f13b0000000000000000329150bd9b46b43b000000000000000040a43ebdea5d843b000000000000000070a109bd9388c53a0000000000000000fbe1eebc767e0f3a00000000000000000000000000000000000000000000000000000000000000000000000000000000494229bcfb3d913ceb84423dec87143b2dacafbbedfaa53ca99a313d247bb13b59e60fba8ba0c13c28451a3d1ae50a3cf0de5c38d3e5b03cbd9df33c23cbe63b647c25b984349d3c9928903c46319b3b79507fbae8cb4d3c7729283c43ef393b082c41bb09bed63b47e0b1ba3e80cfba0000000000000000000000000000000000000000000000000000000000000000869232bbf57060bb158cd53b3e3f703b0073ae3a9bcf8abbf46cb3bae7c2d0bb2d34473be1f0cabb541006bb561393bcd95c683b250262bbad368ebbe2c089bcfc21483bee0d6dbb4f5afebb87f761bcf263383bebeb38baca50e8bb5a6d97bb6c0b3ebad9fb263b48e5eebb2024b93b00000000000000000000000000000000000000000000000000000000000000009cc480be1993ef3c7d89183a521c3abbcfbe71be655a7d3c207c03ba3f6810bbde4663bec0e3b83bb250bdb8e9e47ebab92338be82fad43a873638bb3430f6ba45e5f5bd0ee5f2ba13b256bb708f833aae0584bd372fb6bb763072bb50faecb9ca712abc661fa2bab3658dbbb5d5d83a0000000000000000000000000000000000000000000000000000803f000000001938943cbe47f3bd70c9ae3f804e08be7437ed3bfefe7dbd2f16903f0bd2b4bd288f603b4c2928bd13e6713f04ac9bbd1e5232ba137887bc3a90333f637d5cbd801bdeb9e505073b1dd6e33e0295ecbc4c8192bb70678c3c456e583ed3fc6dbaf147dabadee0b13c195881bc297db73c0000000000000000000000000000000000000000000000000000000000000000350ccf3c780ac1bb0000000000000000effc903c675ee1ba0000000000000000a530463cdecdb23a0000000000000000d777393cc0c8983a00000000000000004d55fa3b4d77a33a00000000000000005838be3acb9c0e3b0000000000000000e7bebaba2bb7d6ba000000000000000000000000000000000000000000000000872957bcc62b5a3c9a6cbc3cd142ee38ed6055bc11fda13c55641b3d450fdebad2a60bbc707de83cd8bb2f3d16f10e3cfa3eaabb72f8f03c3015183d7f55413c0fc458bb1ddfe13cdfd2dd3cfc82033c1eef3cbba6d7c83c874f8b3c657f033c8af5a6bba54d983c2598ce3b07f2763b85c1debbb9b8773cba9942bbb934bc3a6f3d34bce400f03bd38f0cbc4d6067bb2d2de4bb93c430bb3ac0833cf0de1bbc4ad2d7ba0a60a2bb3698443cf8e015bc6eeefaba8e8608bc76b4373c11ddcbbcbae5df3accdcf1bb8dd9fe3b0805e4bc7bd51a3b588cb6bb0eff483be81bcbbc8a8a093b2d09b0bb21ab12badeeb86bc8fb0ab3abc253fbb76a58cbb5b99f4bb786d8c3ac98328bbd00de2bb39601c3b518c3ebb6369e139af1366bbc312703c60cefdbdd5318a3c64fa67ba9bbcb0b8f9793abe97598d3c0b145ebb83c72a3b2e516bbecb51bc3bf8df15bbe120193b21d25fbe2888a1b9c87c8dbbadd8943a2f4c35be281d48bbe3bec6bb96ff2a3b13affebd534d1fbcdd767bbb86a3b23ab7858bbd68dfc7bb2709c6bb91c3793b8d49aebc6fa47cbb2d0e83bbe39b963bec31793c5c00fc3b49013dbbfdce2e3be7de423d7ae568bec166ae3f2e8fe2bb7dbb143ddd2b34bec38c9b3f7c3d013c185dd33c70301dbe5114933fdd985dbcf35a973c4766fabd195c753f10d85dbc2bb3613c5af8b3bd20e8393f66aa07bc75ce1f3c59d266bd54d7f43e9174ac3b68ba243c6f65ecbcde9c723e0f79753c1451d63b8c1096bb9c26573df803b53c87246e3c949af6bb17aaf1bdd4ca9e3cd28017bac3d0b2ba0000000000000000c5e3c5bbef080bba0000000000000000c4b10ebb312e723b000000000000000076d8d5ba1430c13b0000000000000000a48e1fbbe69dab3b000000000000000060b49cbbf0ad033c00000000000000005576ebbbd3a3b33b0000000000000000521931bc1c08af3b0000000000000000cd39d3bbb5b16eba00000000000000000f76ffbb7c1bce3bfea4623c71a8643b327137bc9c44b63cc857e83c1fc0e33b4c3dcbbb4959d73cc9fcf93ccd0d6b3c7ae398bb40f4fc3cc6a9f43c9e883b3ce553abbba523ee3c54a0a83c81c8643c8b98b4bbadcade3ce9ff453c5bcc113c868f18bcd8aecb3c2a72b13b198f8b3b1af23dbcbdf2a33c8443b1bbf7a33ebacd4536bcdb3d3e3c1e5024bc70e3e2b9a5a6d5bb862130bb1281893cd67501bd227c2bbb633dd0bb7a6b993cf3ae1abd01a1fbba65ec07bc1d86923c28ac2dbdf420873a6e3d1bbc12ae4f3cc05737bdc314533bba15ffbb26a1133ca1a211bd012c913a2ceae5bbe4b7a93bfbe7d5bc398b3b3bc010c1bbbf89a53ac30973bcd1bd4c3aa4a518bbef310abb85e309b9aee8c0ba83206ebaae80463a6911053c254539bd822817bccc4146ba8d42213b67520fbe5a9a84bc35d0a7ba9d75733b1de639bedeb6a5bc643f74bac1cd633b496838be31859ebc05cd67bb1c8a583b298f1abe3ea595bc73bce6bb3bc23b3bdc3ce8bdc7d043bc835ccfbb997d8a3bdbb37fbdacaefabb2f19d5bb5ada493be61abfbcb20c133b3771b8bb8e78523bc554d13becca153c06e51bbb6fc8133ba4f8433d848359bed0f68e3f5e87503e75873a3d06de5ebeaa18923faf02243e84880a3d5d2b44bef8a4873f4fcdef3d477de83c537a24beb536683f7a18a43de97cc83cf6d8ffbd9040333fa49b663def05b03cee0ac3bd98d8f73e371f233de4c8953cf7837abd065f843e1059c13ccecf9c3cabc71bbd88409c3dee042a3c0c08863c317bf7bca3f216bdc1311dbce67b3ebdcaaced3b00000000000000001eae2bbd63ac163c00000000000000005c06fcbcc472073c00000000000000005d54b4bc5191303c0000000000000000fc338ebc51112f3c000000000000000038a589bc32b3353c0000000000000000af1f37bceec11f3c000000000000000003f126bc7774dc3b0000000000000000c66e05bc8641953b0000000000000000f48fdfba8b563c3bd396563c526af63b6cc69dbbfa1a3f3cf0feba3c91ec7d3c6ad7c3bab6f09d3cdacaf33ca7fe933c60b8acba256ac93c94b6cb3c01899c3c559656ba6a75bf3c0cf4903cd2b55b3cf0a583bb0177cf3c67972c3cc97d2b3c30aad3bb6ab0b63c7e85d53aa116cf3b1afc19bc1dee913c68269cbbbadbcf3a229c1abcb5a0323cd8ff04bc7a6e1bbb2633e4bbb88492bb71b5953cd53055bde1b1cbbb1ebfbabb1f418f3c596b3abd33fab7ba5ab700bc8be57f3c88f556bda59204ba2a1404bc9d2f793c40665ebdcf02123b99bf03bc237e2c3cafcb40bd2d4e023b1cf4f6bbb4a4cd3bfb1d14bd0250153a4056cebb7861cd3bc142bfbc59d824baba8ec2bbf34df33a04ab1cbca577d8ba0add48bb2003333bc448e3ba5ed753bc716f29bd45db8b3bca28903b3793bbbd235872bd7333cf3b983d923b6b2708be2b7180bdb401093ae3bd5c3b37040abea2ea56bd925fa2ba2e662b3b84aff8bd362c1fbd0905c2bb80c4a13bb6f3b4bdc604c4bc34cee0bb0712853b02ea5abdcd1233bc5c02c0bbdff8543b48958dbcf625503bda3b4abb256e323b96af973b37ba843cdc070d3a9861a93ac7a61f3d276545bee27f6f3f9b64db3e95bd353dff1f53be875f723ffebcc23e793f0e3db0703abe4593643f81529d3ec649f03ccc7f22be9f92473f4877603ea61ed23cd44708be813a223f0a4c173ed751c73cebf8d3bddd1ee53e5070b23d419fa83cf90e9cbd2974883ef23c043d7c2bad3c387354bdab65da3df28916bc9271ba3cf0bc38bdec971c3b731d3fbd00bec6bd6da5833c00000000000000003622babdf74f933c0000000000000000339f8ebde8429f3c00000000000000007ea54fbd302d933c0000000000000000073b0fbd6e99803c00000000000000002bbccdbc20e5713c000000000000000047a465bc45ab5a3c00000000000000002764febbfe9a1b3c00000000000000009e58f1baedc3e23b0000000000000000d4b733ba6ddda6bbcf72393c396b403cb6d7b5382932ae3bef52a53cb87ca83ce8ef96b9779c593c47edb93c3e4ccf3cd374673a75c4963cf532a63cbb73c73cbb21c53ada84823c83db6e3cd4cf853ccb8c03ba19be9f3c3165e93bd406813c43399cbb680f923ceeb64f3bf015ed3b7c3feebb9c15903c1a814dbb5e82db3a8a3912bc53511e3c627a0fbce3ae6c38f4b403bc93e44ebbaf9e523c0a813abd58431dbb2c0bf7bba693813c5c0e4cbd5d2e10bbaea002bcd7295d3c77a051bdd70c1cb99bb1eabbd404553c760758bd57b17e39270fafbb5321343c2bf949bdb4ff5c3a0a4901bcd181273c14c428bda587a2ba1791cebbe78ce53b2daaf0bc9b2b8bbab1f7c5bb7f04533b3d5c84bce5b584ba2b5995bbef119a3b3ed789bb276e823cdce89abd7a56243c0e48e13b0ea844bd70bedcbdaa6e483cda22e03b6f7eaebdaee0e4bd69a5d83bd5e5013c754bc8bd4c30c0bd4242253ba0b1853bc9a4a1bd4da889bd87fe69bb14a8f63a700b94bd009826bd7150c3bb07c0783b2fbc27bd3f596abcd082d2bb48d7963b5eab8ebc5bbaad3b994293bb4058243b0734453b562d863cc6d7a1baef11883b1867063dc19d1ebe020f313f8aa92e3fe622003de41d27be3c2f353ffec1203f2ef0dd3c27bf18bea8f22d3f36d2063fa2f7c53cf52a0dbe33f31d3f82f4c83eb0598c3cc045dbbddd63003ffd16873e56b5a13ce883c9bd6039c83e7ee4153ecb8b973cc63595bd0a0a773e9b414d3d84fba53cb82757bd67e2f23db1e0b0bc7e43933cd4d132bd8d02c83ca3d39ebd0db418be0ad7d13c0000000000000000905213bed332e43c0000000000000000d116e7bd8d99d63c00000000000000006117b0bd0fc0cf3c0000000000000000045158bd9e26ac3c00000000000000008df60cbd6ebcb03c0000000000000000dde395bcf8a9923c00000000000000003cc680bb38c3563c00000000000000003d18233b70e40b3c0000000000000000b0168e3a3636cebb93ae1b3cae3f743ce07a7db9344c313bd41e7a3c2a8be53c2069843a14a6013c0e06923c5223053de881953a07d2743ca74e8d3cbddee53cae0a0d3b7151703cde0c5b3c6408cc3ce4126a3a8b46863c4f89c53bb8e08f3c70d41ebbba4d923c63d8393bbd54293c37cecebbcdaa823c2b369cbb78563a3ba57ba7bb3c561d3ca79710bcd0fce53acb5359bb6e6299bb0b70223c602920bd9c0cd0ba3ed70ebc8fad4e3c67492bbd5df541b8daffedbb3203283ce1a432bdcf520c3b49ea10bce63d033c49cf43bd87c4693a509effbbd766073c7a8b2ebd72dd023bda3712bc9070173c80e11ebdea2bcb3ac0dd2dbc7d58a23b60adf7bcb64f0a396783cdbbf4918e3b658ca4bc379435bbe53bcdbbc57f8c3bfe3611bc3286f03ced68cebd7eca513c0ebfeb3bdab49cbc518f1fbe3f74ac3c29fd053c316f4abd1ba024be6c9a6c3c975edd3bc6fe79bd29a70cbed9e8a03b8d05c43ba85482bde830d1bde4fe623bd1265a3b6a3e61bd0d3c6bbdf34483bb7cb33a3b194017bd9842b4bcd48a93bbf7f9213b764871bce1ab883bc67290bad7c225badbe9913b57c89c3c7b02013b256abc3aaf17a73c2d48d1bda747de3e05af6c3fad24c23c6e83edbd63a0ed3e4af85f3f3194943cb68bddbd42afe93ef6af3f3f1152a03c7931ccbdab5bd73e1731143f5aab823ce6bfbbbd688ebf3e9bf0c93e7859503c43819dbda6ab9b3e6910633ebfff663c7a2780bdf0a8563e775a9b3d020e823c1cba40bd78eff03dc7c900bdd2865b3c85ae21bd45432a3db9fed1bd6c1941bedd9e0a3d0000000000000000ed0942be0e901d3d000000000000000051c61cbea493073d0000000000000000d2b6e9bd38f9023d00000000000000003c899ebd39f3d53c000000000000000026223abd8f8cc73c0000000000000000ba7c9abc116ea03c0000000000000000933a6a3aee40613c0000000000000000f032a53b2886453c0000000000000000b03cb83a2126efbb541bc83ba2e9813c3b4601ba86d81638c754313cbbc70c3d07283b3a6272a83bd4098e3c37d9133d3e0ba83a0e53ff3bcdf45d3caa20113dcc4b3e3bd4bc313ce9711b3c9105df3c734cc63a0a63573ce5770f3c206ea23c9f319eb8c8494f3c7243033b8e152d3c685913bb035c483c2a36edba087b7e3b231828bb76bd093c1d6eccbb5fbe143a948b68bb311299bb2d3cd03b6403e9bcc4c7123bab9811bc81ebc23b3f4aebbc3365933bd58311bc1fdb8b3bbbc4edbceaa1773b36a001bcceb5e73b2a1e04bd9df77d3b5e02e9bb772f243b1fadfcbce960803a117003bc44d6093bc4d4f0bcb15ab5b96eecccbb27eda63bf9d2d2bc6605febadb19e1bbf78c433b130e9cbcbe2cd4bae19cccbb36c70c3b337021bc413c153d278ef1bdfb0ad83ca144bb3be15b9f3b367346bee283e93c2619383b30fcb9bca80457be6083b03caee2ca3b0a0f0bbdbfc83bbea8574b3cf132653b42361ebd10140abe7be9943b7dada83916091ebd7efaa9bd1226733aee8adb3aebdfe8bc763e0dbd1fe4e6b9029dfeba0c797bbc97ad3f3ba6f583ba24352bbb75d7233bada6ad3c01d6743b4e62fcbaaedb343c0abd4cbd8e77563eea818e3f7871353c75bd6bbdf3f6643efdac8b3f97bb233cc9ae73bda0cd6c3e8c3e753fa32e1f3ce9f566bd91c46a3e87cd413f81e70b3cdfb04ebd54815b3e301b093f7df1233cc27d46bde098453e306a9f3e76f61d3c6c9326bdabba1a3e010bf03d25901a3c5c2b00bd4f9cc53d37f1d6bc5ec80f3c3337d7bc2d0a363d9fe3edbd5b3654be5635233d00000000000000005afd56be25723a3d0000000000000000cf6934be19d71f3d00000000000000006ec708be4ba10f3d00000000000000005003b9bd59b1f23c00000000000000000cca51bd8c34d13c0000000000000000d47f80bcced99c3c0000000000000000a615d13b7b835a3c00000000000000009f78873cbbb3ff3b0000000000000000e024e2ba0f7ac9bb3ce2ab3ba6a5c53c0c3c31bac98836bb46eecb3b300f2c3d9e2392baba25113b5bf2383c62d8473d39c316ba8932bd3b5710473c26b2323d550d143b01cabf3b68c5243cb1020d3da363ce3a7a40183cb447c93b9b73c33c99fc88b895a91f3cb663463bab3e6e3cabe411bb6dc6123c6ad59ab929b3943bad85d5ba4014a63bf73b93bb0f7407bb466b063b13240bbcf8cac13ae14ad8bbe601823af34c1dbc9f79323bae0744bccf138d3b835701bc83fc9e3a11852bbc4e749a3be673c9bba9e9043a1d3a58bcee4b823bfeb792bb1bcebdba9cda75bc50017a3a89838cbb603262374d0b80bc76e7fb39f95092bb19d61eba800171bcc7bfc5ba789ef6ba1e6c023bc9e743bc7bd47abb8f1f35bbc205273a0bf3f5bb4513d63c6c1b29be25ae103d40331a3b4446623c2adf59bee9c62f3d9f1b9abba89426bc757e7abe60aac13cf17e003bcad0aebc437861be3749933cead8fabab7a2d9bc16862cbe7b95ea3bb8951ebbccfad8bc890bdcbda0e9f236f41d3cbb8d0bc2bc56f443bdfb2e2fbbcbb53fbb855e66bc256836bb827cafbb462890bb51966b3b2079ea3c1bb3743b5d96a9bb7cf0a83aa78ba7bbab59a3bb8f3fae3f335074baff6888bccd6f443d3b1a993fee1d92ba3c3d8cbcd1265f3d6def8c3f505ef7ba720a9fbc077f923dd6a4633fb465e23a76739dbc55a3a93d3900263f7c25973adac9a0bc6d0bad3d93b0cb3ec22a053b97467abc1a14a13d96f92c3e9638983b47dd7ebc7635813de05f853b5e2b973a0003aebb7486d73c42641fbeb02e64be0dfe393d00000000000000008d023abed1db2c3d0000000000000000239e21be8477163d0000000000000000fa3efabdcc86043d00000000000000004c95a7bd6441d83c00000000000000001c2a24bd3f6eae3c0000000000000000f5cf55bc3d8c7f3c0000000000000000fdc59c3cb00c843b0000000000000000aceaf73c5514593b0000000000000000000000000000000000000000000000002a645cbba2c427bbf32afd3b4738493dd10026bb6ac1173bb028093c55fc3f3d087c98ba6705c03b47af2b3ce840203df970463aae77aa3bc907093c7762f73cd068233ae2f4d23b25f1a43b07a6b73cf9773c3a02c2b63be268453bed0f413cdc1a013b84b78c3b1024b4b92fbf5a3b0000000000000000000000000000000000000000000000000000000000000000412f9a3b2a4108bc458da6ba2aef343c69858a3b867c8bbbe5440abb8923cd3b4ce1093c377972bb3a228cbb5831653bb03aa53beffc5bbbeeed38bb91a4e739595d3e3b72cb9a38ea737ebb006af3ba53febe3a16f71dbaa3de64bbd16644bb9a9202bb78299cbaaf682bbb9f2c89bb00000000000000000000000000000000000000000000000000000000000000002dcc08bb325b7fbeeca6003d1400d3ba693080bc858c6cbe400d9c3c103847bb166feebc2a2159be0b29cb3ba91742bba5bcd1bc5ddb2bbeb7e9643b15069bbb1f9cc9bcdb34e2bd9e7d02ba1c1693bbf1d38bbc215859bdf8a3dcbb0e359ebb58d1dbbb06aa30bb4c8b02bbc428a9bb000000000000000000000000000000000000000000000000000000000000803fb5ae10bcd2d9923c8961e4bd7e64ae3fd80dc2bb22d8bf3b7b1563bd7169903fa372c9bbcf95af3beeba0ebd52e0723fa3cfcdbb3047c03ba6fd95bc0c79343f399292bbb97c853b36afdaba8e90e83e67aa74bb32daaf3b5f6ff53b04b1613e69f56ebb83861e3cdf9a213c76e70bbc0000000000000000000000000000000000000000000000000000000000000000c6c106be875ed63c0000000000000000c16bb4bdd8ac9f3c0000000000000000f13694bd68fe8e3c000000000000000052f748bdd26a823c0000000000000000fa72e0bc4eb9223c0000000000000000b64f86398bb0083c0000000000000000c394a03c9af8fd3a00000000000000000000000000000000000000000000000000000000000000000000000000000000ecc93dbc6849a23c11e33f3df3ac30bcd7e90abc9c5c913cad75513d4b4821bccdf900bc22a3a63c97172f3ddb5588bb1b6e0abc83bca23ce678173dabe984bb5060c1bb1c866d3cb898dd3c33991dbb5b8ba0bb13310f3ca7bc753c17b291ba1dd485bbc4f68a3b089b673b9a3cf3ba000000000000000000000000000000000000000000000000000000000000000078ee0dba3ab2b23bfd774b3c86e22ebb6242e839eb35793b91debe3b5d768abbee2d0dbaed03963ba3e34a3b100ff8bb1de22c3a1377a03b1684103bd73fffbb9013c23a7b4c703bed8732bb9cd037bb1ef8fc3a99bd8f3b70d3cebb0616a23bcaa6b93a25c8963b2f0416bcbb1a593c0000000000000000000000000000000000000000000000000000000000000000c37583be40f46b3d510025bccffa7dbb9afb81be23df4e3d98df11bc3d7e23bb863674beed8e2a3d653bd4bb8d0483bb666a4ebeaee21f3d792709bc2b143dbb818c16be5513e43c09aae7bb72701abb7bc4a5bd32aa5e3c6f99a2bbc4211dbbd519cbbc6b17ea3b6c4290bb576e9cba0000000000000000000000000000000000000000000000000000803f00000000e63c683c6900debdf155af3f1e31f8bd3915203c73a880bdd332913fde2baebd3e4e423cedbb4fbd6b69733f738b95bd6879273c99b213bd2dd8353fc47663bd6ff2353cd9d0a1bc6451e83e086feabc7e1a3f3cc84dd0bbfcfe553e5bb5c83ac21a4a3c31a853bb380ad2bc05d6f43c0000000000000000000000000000000000000000000000000000000000000000129c433c6d8671bb0000000000000000bb0ff33bb18415bb00000000000000004e3ba23b31e847bb00000000000000008702043b9149eeba0000000000000000f0099139e82616bb0000000000000000cdf87ebb98201cbb0000000000000000f9c7debb039a4ebb000000000000000000000000000000000000000000000000b53bf0bbada97e3cb9740e3ccc640dbae9cb40bca7abb03ca2e8e83c072d0fbc413922bcffd1d23c3793113d94d996bb5b5d24bcc572d63c622b183d0bf35cbb05f42cbc090ee23cbb0ae43c38d023ba613139bcdb75c43c14f18b3cc6b29f3a7ad53fbc0528b63c0aa9b63b92f7013b53da2abcb72a5c3c0d420ebb5036353b7e8652bc60ea293c060a14bc15823a3a4cb6b6bbf92aea3b44cbdc3c8d023dbd15f9ebba2c40013c19b5c53c1d3518bd54daeebad91cec3bef7bb53c986522bd919cdcba984ee33bb4f19d3cf51e10bd1b18cdba5adcdb3b7c9d543cb664e3bc97271aba29f2c63bddfd233cdc5f83bc3ef609ba1293c93b51b79c3b6367bcbb0b31a9ba6ed9eb3bc19813bbbca41e3ce7b1deba39b7cd3b2be7033aaadfa43c2960babde0134a3cc4cd0bbc378755bb97d725be2e10fa3c0f5666bcb216ffba5f2459be8346073df5575ebc654062bbcee25fbe9fa5133dd01968bc7c9e6fbb89ee42be7e88003dfcfb51bca36c4bbbaad812be3f11d93c564c48bcc6c01abbf8eababd357ea13c144a38bc04081bbb1ea223bdd225063c6219ebbbedc41abbe321b0bbd34c413c71bbf3bbf9a8f2bab540fc3cb52536be53c6b03fea56d0bc2af5cc3cbe7910be9dd29f3f1c39d6bcd7cdba3cb3e205beddc2963f101253bd5ab4be3cfae9edbdf405813f85216bbdad74db3ce6d4cebd959c4a3f2a1b51bdd996e23c1c55b2bda57c0b3f584a23bd8a8be13c1c4f8cbdae0d9b3e84b0b3bc6a11d53c69e440bd6947b83d9ad5593bb292fd3c710267bd7ce8a7bd9dd1593cba68593b9e4e27bb0000000000000000c4cfa8b9e258e6ba000000000000000036a9123b367f0eba0000000000000000aceb0c3b145bbab900000000000000001890a43a6bbe66ba0000000000000000ae1b2ebacd2b74ba000000000000000031f274bbb69090b900000000000000004f26fbbb51eb8eb90000000000000000bb1eedbbbc9ec7ba00000000000000004f14273bc7ed12ba43fe1abad353083cc53765bb0ffe9d3c9ee6d03b6a801b3c6b1dabbbfcaec63c80fb723c6d43043c915efabbbe66f63cc33c853c9ef8b13b1551febb60ebe53c6aca463c4c54b43b63ea3cbcbed6f93c6c259c3b09aac33b3f226bbc1643e63cde333abb1979753bf0917fbc04c8ce3c844633bcd7b5783be5115fbc59d7883c144179bc27b9313b7b4433bcc5de0f3cbdf9f03c79dc9ebdf24915bcf2ba033c1e2afa3c8cfd9fbd1138f3bbfa3d013c33c6f33c629a99bd77e0aebbb18ff63b2c7ceb3c46478dbdd8af7fbb6c90c93b20f5da3cfb436bbd291e4ebb9894fd3ba10da83c1b9d28bd9edb5fbbabd1d73bf151963c66a3c4bcdb5266bb1a59013cd34d353c4655c2bb3a1b49bba67bc73bf4463f3cb907be39b8fdef3c6b3138bdf4c6fcba2b51c9bac36f9abd7545b9bc48b306bceb1086ba7b2506be8c51aebbd8bd37bcbdbd44bb10b11cbe64001b3c6b496ebc550f3dbb172211be6b81823c4bd476bcd3551cbbc55effbd613dca3c48af97bcd4e831bb750facbd6971d23cf1756fbcf98e0bbba7244dbd59bad33c77bf6ebc041b08bb14646dbc86d2d73c559780bc6c284aba5344ec3c193615be0d088f3f0fdb173ef4b5f43cd11c1fbed2a6943f28d9a73df9dee73cd58413be2fb98c3ff1b7df3cf296e53c8afc09be08217c3f25eba8bcb909ed3c0af003be7740503fe4fc43bdf0ee043d1cf1f3bd60071d3ffcce73bd71a10d3d6769e2bd22ccc83e94b482bd1531183d90bdc2bd04fd483ece8d65bdf5150d3da87ab4bda4be7f3d60fb64bd05d69abc80d0f4b900000000000000008ef678bcd3b1f53900000000000000000e64eebbcc4dc43a0000000000000000b382f339ad00b6b900000000000000008d4e1e3b62d885390000000000000000d27f513b96aa043a0000000000000000cdf8923b308404bb000000000000000042c2db39d1c6e3b9000000000000000007513f3ba2457a3a0000000000000000c3dc263c9c4c7cbc632f88bad68ba13cc297433bb6f7933bdef47e3a63b2c33c9babed3a38fa673cb238c53baa59ad3cda25d3bae519a83c48a1a03b5ee9863cf4ada4bbe30dd83c73d1883a0181573c564cf4bb4667f43cee589abb2be0333c792842bcd924ed3c202c45bc77080e3ca56975bcc3d2ee3ca27f97bc5e60a83b89f432bcb00eab3c9497babcb6e58e3bde1e76bc43a3053ce3a8e73cc8a9bfbdc7647fbc2e10343ccd86013de3a6bcbd9eb13ebc7160143c8842f63cf010b9bd093f19bc91c0eb3b85c3fa3cb6e1afbd7e2c03bc12260b3c7937f53ce6a49dbdfb89c5bbcd97f83bb5cfce3c3b3779bd84e3c1bbd143dc3bc450cb3c75f430bdc2a596bb6860fe3b67029e3c0e82e1bc7c89d0bb9135b93bd67a9d3c47b09fbc2658ce3d261be8bdcd26473c7ac71fbbcee4f83b8443c8bd1f865b3b7379e7baeb3d5dbd67f387bdff3db3bb11c91dbb0adaa1bd26a211bd776938bc24bd91bae09bc2bd74f728bce94f82bc4df913bb9112aebdfe87213c15d79bbc1d9d30bb1c7d7bbd2455b63c9130b0bca982ccba0a7222bd20610a3dd672adbccb86b6b93180f7bbb27a073d6ead8ebc8a38a9b91dbcba3c3edfeebd6603663f2f34b63eddf5de3caf5608bee992723f8b7d8a3ef923ca3c0d6a00bed7aa6e3f9c56283e0344c93cf63cf6bd434a5c3fdb64833dd445dd3c6158f5bdbddc423fcc8887bca007f33cb281eabdc9511a3f1a2282bd2333fd3caddfe3bdaeb6dc3ee6fdcdbdbf1f133d2f30d3bd0b4a883e01b1f6bd6b60113d94b2cbbd2099113e635807bea0ad31bda211cbb800000000000000003e2013bdc958ef3a00000000000000000283a6bceca5413b000000000000000083e9c1bb7203d33a000000000000000094a58b3b23aab03a0000000000000000fd5a163c61aa673a00000000000000002017743ca3b02b3a000000000000000082a8873c41e4c4ba00000000000000003c948a3c68159aba0000000000000000cb344e3c6988b8bcd598af3b5d5fbe3c22cbff3b9693d6bbe3bfca3ad0b21d3dbf1de23b5dc6143a52df6a3b9ed60c3d27b46a3b33aa263ca79d46bad0bcf93c77b64c3b5b81273c9f59c2babda8ac3ce8ca4fbbe81ec03c0fa11bbc21fa843c1ac3c2bba27fcb3c32a97dbceba22a3cb5771dbc63fdcc3c34a0adbc03fefb3b822915bc4d41ad3c30c7d2bcd776d43b69b28bbc5dae113c5fe6b43cfe6db4bda0119abc1b13023c5b72ca3cb94bb8bd249384bca609083c844fcf3c8811b2bd91ed68bc0e7a053cc423cf3cf27dabbd48302cbce447d43b1e6cc43c4a7d9cbd24ed01bc2726d13bf334d23c69198bbdfd8af4bb1876d73b63ecb53c84ed65bd149be2bb856fe33b1215b03cd83620bdcd4ec6bb0a48a53bad41a63c68aa01bdaf080c3ec0072bbe3befd13c24ecb7bb22e58b3d11bc31beddada93cad022ebbbee38f3c2b7e12be1d873e3c74b86ebb947fc9bcd97cc3bdecc087ba38e985bba8abc1bc982a82bd08e7a8bb53d442bb600241bd09ed6cbc23858bbcce8302bb4862fabc8893143ccfd99ebcd8102abbda3896bc8524f33c3edbb7bc9b8da7baf37b413b77551f3d36ceb4bc9e290dba4179993c67c6aabd97b8233f67041b3ff9b7ab3c18ecbebdb3c7303f2747013f04679a3ccd57bcbd357e323fc5b1bb3e0394a73c1a01c5bd853d303fa35e513e5dd2973ca462b2bd8d84183ff27dbf3df9b3ad3c590dc0bd2f43093f837523bde393d03c3a76b9bdf663ce3e4a60dbbd36f2e93cd60ebcbda051913e854327be3752e83c9002aebd56e8313e159542bea19e9fbda9d3b33b0000000000000000cacc82bdf939913b000000000000000098dd29bdecc05d3b000000000000000067558bbc208f803b0000000000000000e4449ebbc392473b0000000000000000aa42823c9ff9873a0000000000000000f5e6b83cc16c5d3a000000000000000013f1023d8bac15bb0000000000000000969d063d7bb4a1ba00000000000000001315383c35cbcabcaeda293cbec1e13ce08e183c0ac541bc5a61a63b4bc5483d0c2dd03bde2587bbddd9553bf9c9473d7cd6853bcf5b573b24dc25bb59322b3db9b60d3b49992c3ccbb68dbbb597043dc7bab6bacf50893c879713bc49a3bd3c47c788bb799db73c3ad88bbce90b883c4ae5f5bb37a0c73c6e71b7bcf7db393c64cdaebb64b2993c9e30ccbc62001c3cae4986bc92afd03b511a753c6b1e89bdad61b7bcaa11dc3b2fe9853c2ea592bd20e097bc159fe83b6cd9883c19e48abd556572bcf52ad43b8b238f3c1e3b89bdcaf249bc1f6aae3b6c1e8e3cb0d681bd391718bc8c35b73b24b9853cb25068bd72d623bc7e6bdb3be49b8f3ca3f74abdf98601bc4445bc3b511c733c3cb619bd2bfc16bcec42853b27cd803cae9802bdcce20a3eba9a4dbe9f3c103d81a090bbac17b93dd4336dbe9738293dae2fcabbed82393d35a754be886bd63c878abbbbd4869c3cb0b020be5754393cec3c84bbcbf88fbb832acfbdff60323ad6f491bb14ea8dbc8b7047bd15073ebc4eb559bb7a807ebc42d50abc975087bc108c34bb629517bc99ebca3c512ebdbc6aba9dbac160423ce3ba093d02799ebcaddac9b99cd25c3c1deb40bd00e5c43e82b85d3faa3b643c7cd16fbd29dadf3e0a12443febd2793c3d0a80bd35d5ec3e9a23193f8d4e6e3cb4b67bbdeec0eb3e33b2cd3e82ea6e3c54907fbd78abe63e80e9513ed273763cec507ebdce09ce3e1c7a453dae42853c4d7180bdd53caa3eda59a9bdfc0da73c196281bd31b77f3ecd8c33bed00c9c3cf4077abda3cb293ed92c63be5cc2e8bd613c113c0000000000000000d9f4d3bdc4b51c3c0000000000000000f6ca8dbd8a92e73b00000000000000009f3921bd35c9873b00000000000000009eba38bc1367433b0000000000000000ed1b263cbc69fe3a0000000000000000e901ed3cce3fbaba00000000000000000cb1323df06671bb00000000000000000ed7313d74bb29bb0000000000000000d35ee43bf662aabcf0ee723c79b0fd3ca9807f3b613c41bccc3b0a3c4e57673dddbd8f3b1c980fbc0e98213c31f96b3d17256a3bad1582bb8625683b1ddc5a3dc445363a6873163bc02128b602aa213d732b2abae8cf213c7d1415bcd70f033d09111cbbb014563c7b512bbc583aa23c4fb289bbaa99833cb0748cbc3442613ca7bd75bbb3fe623c99e2a0bcbec8123c2c8199bc3408963b8b1af33b2c3c20bdf304b0bcd2e19a3bedd01d3c74b029bdef1098bc580b833bcdf7273c9b8b28bd8cd47fbc2255333be4ce223c952e28bde92847bc2fc0993bfe2d193c66591ebd9bc42cbc0a1d6a3b30e2113c51b018bd205e2dbc79a8743be13bfd3b52f100bd7a0d13bc0992b83b43a4043c5703e0bcbf3c0fbcc401873bc7130f3c6d0fc7bc4b05d63de67955bed637563dc50a08bcf390a13d1a838abe2951643da35a14bccb3e4f3dde6587bede10443d7bc91cbc4cb2ff3c950f5ebef26fed3c9657eabbb02c843c48b020be407e7a3cc9cccabb7e858c3b01a3b4bded10b1b927b687bb6ac987ba9b2110bd9eb80ebcf82e47bb3f938e3a8658033c6d538fbc81bb5abbf753873cae05e43ccb0297bc71ca90ba05c8ca3b8c4ab6bcc25a2c3e12b38b3f5445103cf943ddbc7a264a3ec579833f9889003c0f7af6bca483693efae4593fc93b063c3efbfcbc8e9b7a3e121b1f3f0ddf093c1aadf2bc492b7b3e0c46c93e15911c3cc0fe03bd3cca753ed9b12d3ed66d1b3c8aae00bd427b573edf9ebdbba6043f3c94e205bd143f323ef3741abeab783a3c2d7801bd192af83d7ade66be971513be436c883c000000000000000084720ebe139d883c00000000000000004246cfbd0272313c00000000000000001d7b80bd03bbfb3b00000000000000006892e4bcb2e8323b00000000000000007f7b893a3ec6af3a00000000000000009843d93c789907bb00000000000000003185523d2358c7bb000000000000000091706f3d347500bc0000000000000000f44d86b9ebfb16bc0cff933c54de0d3d8e2932ba357914bcda65523c5a84803daa4b13b983a7f7bb98803e3c3edc863dc04e15bab17cbebbd993273cab7b7c3dc6e3d4b9e1ecb0ba4da1ab3b57f84b3d338338bb8101573b02cc493a4333133d01a425bb19dbc53bb27ea1bbaf76b13c81d74ebbe755193cc20222bc1959533c780f81bb7774163c22642dbcf3d9c83b47856abc4c8198ba1c3f253bfd2e1dbcc2b6c2bc1518fb3acc7fc33b60bd85bc19838cbc4326d63a9f0fa33b17e763bc12d869bcfc29153bc6486a3bcf6b3bbcf57d4dbcc952643b52a1213bcafa50bca9ef15bce0ce473b5a7f1c3bebb651bc89b102bc6ad2943b35d9cc3ae22e4abc7c7c0abc312bb93b9c0f683a924256bc8b5e04bc0f70f63a18276838453c04bca2303e3dd50b66be5c847f3dc77035bc5ed4523d4aa68cbe86fc903da9827cbc5c56033dee0494be09c45d3d0a5135bc795aa33cbb1784be9de1283ddc3830bc7da7413ce1d648bee52ed33c871c1ebca214ee3b254302bed04e253ce67906bc51ce7b3b8cf86cbd816338bb4a10e0bba464f03b66a593bbf9cc7fbc5cdd40bb6e805f3c340ed03c44ea27bcbff7a7bbc1e6ec3ab50d193abfb0afbc9fbfaf3f6a6f133b5985f3bbaad8f33c74e3983f4e999f3a987ecbbb985a413d5177873ff0d8e13a11fdefbb13fd853d6c21553ffb1de33a8c29dabb4a40a13dc54f133f78d9343b041bf5bb5b96b63db044a53e19e2633bad6a08bc72f5b63d2538c73db9c8c33b4e5b30bc3a12a93d87379ebd5508643baea406bb9c2a313d97cb6abe431b3bbeae17dc3c000000000000000060c815be26f3b43c0000000000000000973ef5bd7c2e793c0000000000000000a982a7bd7ef1173c0000000000000000bbc93bbd05bba53b0000000000000000de9f20bce993233b0000000000000000d8279c3c72d2a3ba00000000000000005595513d44cf18bc0000000000000000c1da863d87f113bc000000000000000000000000000000000000000000000000150cafbb078447bb1809853c251c643db4be98bbe13255bb8397623ca5d4673db0fa61bb92f19bba7b194f3c12734c3d36569bbb6ab500b96d524e3c21112c3dffc16cbbbaaa94394df6003cac40eb3c0fc25dbbee37f73a8ff5683bbc709b3c3a1563bbecd41c3b238bef3a9726f53b0000000000000000000000000000000000000000000000000000000000000000f80629bca346a0bbb2fa7cb8ad8d6b3c5cb402bc124228bb5923063bca943b3c727a8ebbdf33aababd251dbbea403d3cc0205fbbea27baba8a6f0cbb5ed1343c6db459bb0109863a276f1ebbdfe0233c9f2288bb964ec33a980e61bbcb46f33b3ea1a0bb8ae2b83ac67db1bb793fe83b0000000000000000000000000000000000000000000000000000000000000000a47204bc787782be2c57523d052b2bbcab07f8bbbf3a7dbea4182d3d2f851cbcc2f867bcac086abe15e5033dcadf1dbcde538abce3ee41be4279d03c23d32cbc2df14ebc629f04befef9923c0e311dbcf26adebb71538cbdfe809e3b5220febbc62c8aba687e54bcd3cea939f082c4bb000000000000000000000000000000000000000000000000000000000000803fb50c57bb4749303c2cd0d5bd11f9af3f899382bbf87be63b3d3a7dbd7389913f45ca60bba200123cb3174abdba3c733f1acd84bb66c5323cbd7016bd585e363fec526bbb10ea443c12e7dcbc8cdde83e30ad4fbb9230353c606c78bc28e55f3e140b2fbb734d893c2b708bbc55bc76bc00000000000000000000000000000000000000000000000000000000000000004fd604beb458a03c00000000000000000fc5b5bdf335293c000000000000000001929abda8dc1d3c0000000000000000a32657bd03270d3c0000000000000000b2e8dbbcad84163b0000000000000000b8aca23aeb3a2c3a00000000000000002e5ce33c01599fbb000000000000000000000000000000000000000000000000000000000000000000000000000000008ad621bce366c33c0338c33cbfcdf0bb72dd18bc0df58a3ce4b1233d415f52bcb0981dbc29cd5c3c262a1a3d87fa25bc107b33bcbc11693c0c73133d31da3abc3e6d22bc4896103c23ab073ddcf12dbc82d9e7bbfe16333bf4a7ce3c501819bc76bb00bc5e6f18bba1d3923c44f3edbb00000000000000000000000000000000000000000000000000000000000000004d85cfbaa1f6433be0c3bb3c4dd80bbd6738c1b7c5ed2e3be64d8c3c8aa841bc09bc8cb934a25f3b400f8a3cafd05bbbb6e1b7babd15543b40797b3c9ea6913b53fabbb966246f3b8021493c523f863c34d6b4ba58535c3b3cb7e63b0375c13ce178dcba2692673bd2ab843bf76a1b3d0000000000000000000000000000000000000000000000000000000000000000013c74be187d323d356ab4bb163de3ba03f586bebb952a3d14c342bb719413bbe5ba81be3e93123d18938fbb65c536bbc26e6dbecca4053d1e2122b8d2b83cbba3fc3ebe3266d23c911becbae3261abb8445ffbd94a5703cfbb4db39e59cbdba69a78abd1415ed3bbd3998389ca856ba0000000000000000000000000000000000000000000000000000803f000000003e94883b0a37d1bd7bd6b23f0c81bdbd0653b53b2baeaabd8ebd963ffc7655bd0f11de3b7fbdabbd6aea7c3fa78823bd04fa2b3cde43afbd7663433f6532bfbc8dba5c3c3d7ca3bdd368053f99e0fdbb72596a3c16968cbd8a7d893efed0493c1b97aa3cb74692bdf7f4f93c1079ea3c000000000000000000000000000000000000000000000000000000000000000078a184bb64f78b3a0000000000000000d8faf4bb79a8ca3a0000000000000000b4bfb5bbbb58d13a0000000000000000e5ac2fbcad8dd03a0000000000000000e0fbedbb343df53900000000000000006e4cbdbb8fd52cb900000000000000000220b8bbe5924cba0000000000000000000000000000000000000000000000003ec9933b8e85653c578f6fbc37b40f3ccb64f739faa9923c159d993c6c6a0dbc7f4f2dbbb3d8a23c5677cb3c9899f6bb2c1ac4bb28b0ca3c0bc7cc3c098af2bb492712bc1c61bd3c4278d23c745a1dbcfe8225bc5a72a23c81cfc33cef5824bc77cc4fbc6338993c7ecc7d3c597805bcc22e45bc6765453cf1d1063c938bd5bbc5f370bc9ab6183c519bc33baacd0dbc58f528bb0399523a8c020c3da483fdbdd22f79baf4b62b3bc4b8023d75b4d1bd78fc95bad5df283b9fb6073dab98b7bdc70440ba38ec3c3b3687103df811a4bd543795b97fe7433bf6a3103d1b6476bdeac2a7baeb495d3b21950f3d4c812bbd28e9bbbac91f583b2fecfe3cd187b1bc1f5204bbb2697d3b1faee63c4688a2ba21118eba3dcb503b9729cc3cc440503c386f5ebc8398a2bb9fc7debb22dc75b9906713be7b8ad63c066a6dbba9b580bb50c144be9205cf3c463da6bb8c5776bb9c5c59be71fcff3c787545bb8fca82bb80e94ebee6be0d3dedc39dbb86b369bb3c2536bef206043d8317d9ba5abd69bb485e04be75eee53c9d115dbb5bbf64bb5f088ebd9abe833c69b33a3a015f7bbb02eb42bdd0aebe3c28c025bb7f1f70ba0a28c1bb4ae6d2bda59db13fe48a67bdd97efabbaea8bdbd4473ac3f97ed5cbdabc923bbaf79d7bddd329f3f672469bd5156d2b9ae6cecbdc3d98a3f9fdc57bda0317d3b1e6701bedb19613f830c53bd25d9db3b9fea0abef29c273fcd5823bd349b7d3cf0290cbe48cfd23ebea6e7bc369f9d3c8f2e0ebe1ee62a3e7bd897bbfd70e03cfd8e10be2b8d8f3cf9be26bcd255a33ba9ac7a3a00000000000000005889ecbada5e143b0000000000000000968dd2b989f21f3b0000000000000000b12faebb80cd993a00000000000000007dddebba0abcc93a00000000000000007c359ebbe7e6723a0000000000000000c0276cbb1d1ef73a00000000000000007b7786bb2e679e390000000000000000b60f44bb1c69bfb900000000000000006200b53cb9846cbc1c46c1bc016bbd3cc1da873cba5e003b01accdbc3139a73c4dd11f3ca4084f3c760f9bbcf9b2883c4a5ab03b1721933cce3330bc579ef63b570ac4b70b78c23c540c2dbc0458633bb7cbaebb3cf2d83c4259e1bb6a63b2bae0611dbc346ae73ca90d00bcb7975bbbf83279bc710ce03c37a173bb91161fbc958368bc4c64bf3c39310abca386eebb12bf05bcaa41403a8541bc3cb0151bbe42d779bb7c3d17b9ce96e23cb6b824be410840bb1d98813a185b093d50271bbea275fabaa4ef9d3a534d183d062a11be62248bbae973b33aec30273dc5ed00be576a4f3ad6e1a43a5c483a3d42dfddbd7dc18b39e1c6bc3abd653d3d868eb0bd65ccc83a4ce5043b2f48453d94ed78bde2cb0bbaab68093b8907323d9a4b3bbd78c5223ea79da1bd1bab933aa13478b67f22803dc3ed29bd921e00bcfed4d63936db02bc5af4b8bc8009bfbb2a0631bbc52284bdcbf0063c0edb0dbcdcc22ebb52a9adbdce9dcc3c77bbf5bb854a51bb4ab3cebdb678213df0b00fbcd77980bbc784b4bdd70d453dff9d0cbcc2b350bb8c82a9bd9b166e3deef003bc7ad960bbbe074ebdfea1543db61213bcf2af3bbb775438bc9baa42bd28e48a3ff8de903d853127bc8c775ebd3653933fb03d05bc42e305bcdf7f96bd1d758c3f9af914bd1ab1dfbb4b40b4bdffb6833f52269cbdcc0c64bb7b3adebd3fc6643f40a3c3bd096350b9371303be35493d3fbfc9d5bd5b7ad23b29b215be0f4a0d3fbc64dcbdec3f2e3c8ea525beaba5c03e1702cbbdd392943cd37c25beeb8f5f3e04a0c6bdf8116c3c7e864bba0000000000000000b120313c0848bb3a0000000000000000f5d9043c2a9b523a00000000000000001644a93b6954543b0000000000000000a9a1003bad22293b0000000000000000322763b939233e3b0000000000000000dcc821baeab92f3b000000000000000036f36ebb79f4083b0000000000000000958c5f3a5c495c3b0000000000000000a991ff3cfda234bdf6a8a4bcb378113d8885d63c65ebcbbc77fd21bd0cce3a3d7098a83c87fa21bc447a13bd051c1c3d10d5823c41c0c0b96f0810bd6cf6df3cb6ce433c0b6b103cbec113bde8b6b83c38628e3bd1ef9d3cde12f5bc3fd0413c942fbbbae0c8d93cb485edbccd4e903bf109abbb2f0ad43cf305b1bcc78395bb1d2a1fbc6e89e73c194cd6bc0807aaba2a2424bcf99897b9c839243c90840ebe4aab20bc8b561ab9ca3c733c8daa1cbe7a0d15bc9ee676b97d58b53c9b3623bebb346dbb53ceafb9ba82ce3cc5cd1ebe3b7948bb5129fbb9cd81003de3751ebec2bdcbba7a50923ad2bb1c3d64eb10bedba032b880104d3a313b313d3e5403be797e133bd766373a3f91413da5bedfbd7dc41b3aa92991391235413d034bb5bd79758c3e05a729be5a7b483cca2bb43a3a205d3e169a0ebebb84663adaee983ab6990a3e9a82bfbd94a40dbbabc86a3af5fe9d3d363a4abda82510bc82a003bbdb7d1f3d198738bc29343fbcd7b4bcba515f9cba8e69cd3cbe584cbc0d416abb690dd1bca7634c3db8096bbce5c650bb921e1fbd1f409c3d867d89bcd37c38bb7190a8bc3cb7903dfd987dbc7b7b8cba85b708bcc94f50bc64cd493f1a15803edce425bc62376cbceb54583f2d7b0e3e02d138bc71f2e4bc34165f3fda76373d44691dbce65021bdf447593ff88812bd684b1cbcd8056dbda0c34b3fad97e7bd0355e4bb520aacbd02b6333f675c17be6f9388bb9336cebd35b0173ff10635be0d8b93ba4bb803be4c31f23e203e49bee050d83b3ffb0bbe0e98a83e2f9948be3049b23cdf00eebb0000000000000000b610c93cea5906bb0000000000000000506ba53c2412cc3800000000000000008213a43c12d9f83a00000000000000001861973cdeeb5c3b00000000000000008e20363c2dd37b3b000000000000000083fe353cdb70713b0000000000000000943f1e3c80ce253b0000000000000000a8df2e3c178f1d3b000000000000000039bf0f3d3e307dbd78618bbabfc7123d2088003df61f42bd5e9003bdff266f3d80ccdf3c22e10abde79b0cbd43a34e3d99e6c33c7e02a2bc21e937bdce1a4a3d20aa8c3cbf2a27bc8d2226bdc8c4133d7eab663c2429813b8e6741bd0478e43c03d7e73bf5f33e3c0e3c24bdda04883c1809653bacacab3c768521bdca3bb13b9f02daba0ea6c23c8ccf2bbd6bba1a3cdaaa3bbcaec95b3a5cb4e9ba7fe1d2bd16a075bcd28585baeaf2703936f8e9bd370537bcbdc7a2b9acc7c33b471202be83e01fbcfbce33baf4c3333c290f0cbeb9ef03bcc51b8fb9bef3a33cc34808be2b6aa1bbc608d039e338cb3c4c2012bef5eaf3ba49028938f340fc3c9c3307be61d11f3a1378c839cc52163d3cdd03be71f181ba9d6324b9dca9223d6f22debdb4ba993e36886abe6e0fe13c9686afbaff94913ed3d769beba175f3c02ff683bdd8e623ee80738be858ef43b6a38633a3e0d373ec96003bef81779bb3a68e03a4a8e0c3e937fb3bd4f86913989e89d384d4ab33d0f3e87bc706270bc03ca17bbf15e5d3d39b29d3c260e7fbc3552eababb0aa73c720e8e3d89bca7bc25940ebb539faa3ce0398e3d0f56aabcfc8cedb9cb06e1bb5281ff3b008c013fba36fd3e27a999bb0d9a353cbf3a0b3f736cb93ecd5ac0bb25a3773b945f153f583c703e8c650cbc46d3b8ba71671c3ff238a23dea7d0fbcfcc4debcd241103f58a2853c7f7e31bc5fe1e2bc1ccc143f74a70cbe1d3bd0bb986f5ebdc9be023f256643be458d05bc2d9190bd4c3fea3e4fde83bea786c0ba7df4c1bdec89b23ea3af87beb2be603ceb6b3fbc0000000000000000bd0deb3ced410abc00000000000000002928e43c2085c9bb00000000000000005bb60a3d9d3e69bb0000000000000000e9b4ec3c299e78bb000000000000000084d7f63c471c3f3b0000000000000000c1afe73c605382b900000000000000000681c53ca3fe083b0000000000000000d48fe93cfd17eb3a0000000000000000a204e93c92a181bd817a993c8d32db3c0605de3ccd144cbd9b2863bc3ea5803de58cc53c25c81dbda3e7c9bc38887b3dca6ab43c631ff2bc43a60abd51a9663d13d0a43c8fb88ebc90f821bd1d974c3d3f0a843c8ee2f5bb1bb22dbdd37e143d9d3d4e3c49da243b33c02fbdb7fce23c2dd1da3b39a96b3c351b38bd10478b3c75eb853b018e853c174d43bd5c16983cc97240bcac439839aca610bc5f426abdbe4d9bbc78de8b3955b312bc4c888dbd8f6183bcc0d6ce397a6751bb3a36adbd110b58bc5af61fb9213b7739c0b6c2bd609330bc4fef2dba6d93a03b44d1dbbdf117fabbd6a99b396a221d3c8968e3bddf33a6bb33ddd8b9f193793c9ffce6bdae41efbae26e003a5c8cc23cebe5ecbd7c4da1bb8c0a8b39566adc3cfbf6d5bde361813ecee084be788d323dd3951dbbbfc1863e0b789abe5a6e1b3d406eba38d5446d3ec48f85be598abe3c4d437e3a06c74c3e258551be6ce4423c2dc6523a3642293ef5f110be4fc7243a3b44bb3a4552053e389c93bdb72d07bc5cff87b9206dbf3d24ec64bc18c364bce9c223b9e5bb873d933d223d1bc4b9bc2519b3ba6a2b823d9809433d68e3a4bc1fd91c3aeaee95bab5758a3c2ba7853ef8ba473f496c4f3a2bc69b3ce8008f3ed182283f3a474fbbd455a83c1d29a83e76a9f43e38048dbb6904973c4d81b73e477b983ea9a508bcec17813c7fd7c73e990ade3d0dc7d5bb4e67553b2e13c73e3c273bbd6be718bcb21c0bbcdc05c23e0b712dbea0562abc9df9bcbc25a6b53ef4bf89be4603c2bbbc8b3fbd8796933e152c98be52e641bc4b8f59bc000000000000000023d66c3cce6656bc0000000000000000daddcc3c717c3dbc000000000000000002d9113da37b0dbc0000000000000000e8ba2f3de662cdbb00000000000000008bec313df71865bb000000000000000094a42f3d398988ba000000000000000013d93d3dbf3abab90000000000000000b943393d0db8d5ba00000000000000008c0c8a3cda9a3bbdbb130a3d7dbaa23c626a893c65481dbd4d59d73b12c8613d5bcd833c831d12bd1ba8733ad6956a3dd6b47e3c0122e1bc901a4cbc59fd7d3d3fa7623c665cc5bc2c859bbc9f2d543dfac9583caab371bc8a91dcbc49ef3c3dfe67323cb238c1bbcfa1fbbcdfa50e3d7324143ce76c33ba1b7509bd208bbd3c8b9fc23b98affd3be99723bd4c8cd53cb82925bcee1f9d3a526a22bc8af17cbc67b896bc961d38ba5b4018bc4689e4bc74e78cbcde108a3a8b2cf6bba67012bdcb0d86bc8b485ab9512abbbb0c9235bdadba58bcba24253abd0995bb924d46bdf80146bccfa2e539e7f1a738dba178bdfcb81dbc3676933923dc503b731d87bd0483a1bbc473413a1a95c13b154c8fbdd8d505bc5bd4923acd7d313c3c3b90bdfb60253efd088cbe76177c3d0300e8bb8671343e0406afbe24cc693dea2ed7ba34322a3e07efa3beec143d3de12620bb7c07263efc0892be5da5f63c1ace8f39f06d193ee57d5cbedd4f8f3c946b20b82cfd053e0cf614beae5eaf3b2112d33a1c8fe03d81c09dbdd3d41cbb6dff96b86c83b33d92b396ba00879ebc2652a13a4ec69a3d2036b23cc8248dbccec0c23a93de093b7ee53d3cf53c913d7473893f472c233b84728c3cd71e9a3d722a7d3f19437e3abba6993c8f82e63d0191493f6afea3396801ae3ca044063e7613123f98acd9b9ead8a73cdfea1b3e438eae3e726f48bbfa4a903c9136343e1da7f53d72ca1ebb3337333cf4443c3e7de961bd7ed69abbe839023cc8cb463e43bb6fbeff789fbb721207bc9657303e163697beca4c24bdb27d82bc0000000000000000cfd9a9bca6e76dbc00000000000000004891483b1b967fbc00000000000000003efec53c5acd57bc00000000000000003633173ddde236bc0000000000000000aa4c453d8b4f23bc0000000000000000c8a5593d7519ddbb0000000000000000c3d0813dafcab9bb0000000000000000939e823d1386b4bb000000000000000068412d3b43167ebc47c70b3d8cfdf93b34cd563b938b7fbcb09d933cbe0b673d70009b3b07998ebc5d4c703cc99b713dbb628c3b473e83bc7ebcf53b4cba733d6182993b40ee63bc3516f63adf4f603dcd8a9a3b88ea2bbc2ed7b5bb57f2423dae4e5c3b776fc6bb133224bcf167023dab7c1d3bafe06f39352186bce576ab3cce26ac3bb4c3f8ba639ca0bc7a60a23c39e488bb32cfb3ba7491e1bb38354f3cbc3fb0bc3337b13ad077b4bb905ace3a840699bc47a02b3913d4cabbe2ad34395a6096bcdb851c3a1937cfbb5dbc70ba52328bbcc3a7303a643ecdbb014bd6bb200881bca9ee533a45a6b5bbdc8937bc353e3ebc5f92b23af97b36bb233094bc7faf02bc324faa3a39ec43bbc0b59ebc820c22bcae8c0e3ba7e343bb8e4bcfbc9cdb083d52c070be95c4763d8c3525bcdc2d863d157ab2beb586923dd508bebbc0b3913d2931b2be13d7633df1bf38bb600e9a3dffdda4bed1393d3dab11aebaf68da03de94c89bee457043d129aea3845a9a03df58f4abe39a1ad3c02fa2e3a7db6923dfec1e9bd4701063c6ad59b3a05e0763d2503d3bc4ab532bccad5403b043b8d3d3429fdbb5166d5bb2ec6c13a73841b3baa6d743bc95f4fbd4f8bb03fa0f3943b5ceef23a92f709bd8ea9a13fd822383b04f8063caa36d2bc6309893f5af3683bdc2f183c2a6f6bbc9c33573f0d1e1e3b93ba3f3c5fa804bb8e1f163f024d423b55226a3cb3150d3c203aa83e5b22a83a71d6613c4115e93c9eafa63d63c50e3b8441283ca079313d295c14be3a79f9bab95e9d3c38c6f23c23e680be88bcd1bdd4e783bb000000000000000043de69bd089e46bc000000000000000051cb06bd00bd4abc00000000000000006d4da1bb5faa4cbc00000000000000000c6e7e3ca34f46bc00000000000000009b95003dc2c32cbc00000000000000009e883d3dfe8f33bc0000000000000000038f853d1a420cbc0000000000000000ec9c8b3da6de35bc00000000000000000000000000000000000000000000000086f3c8bbd65b8f3b9939ab3cc6e0b73cfe5da6bb96bfd83a7d53803cee97043db0cb94bb3d330dbb26cb943c1130f23cd57929bb5c1090bb91ab8b3cf24ce23c85c70ebb373691bb38d5593cfed4bc3cc28d1dbb221e2fbbbcfc003ccaf3953cc83119395d20a0bb2d04d73b1af9183c0000000000000000000000000000000000000000000000000000000000000000dc8c4dbbd12e29bb86ca82bb0e4de03caf45d9bbce09b2b9371a42bb858db83c83a9ccbbeb4bb5ba78fa9abbcbdcd23c6a78e6bba0049e38de45f0bbf354e43ce0ede8bbda8c1b3a905ae5bbd10fbc3cbb1b06bc3ff3fe39ea2decbb51bab43c182adabb83145c3a8ef515bc2b09903c00000000000000000000000000000000000000000000000000000000000000003cc428bd7b8e6cbe46f9213d5c15ddbb9e3fb0bcf04b80be62871c3df645aebb096080bcb1b676bed19c053d80925cbb241cc5bb578d5abecfe6f33c988885bb4bc2ac3b6f472fbeebcdc53c0ce805bb8f792b3c48fde3bd2c24823c7c31203abd9bb43c40bb72bdf8ab453c68e6e6b9000000000000000000000000000000000000000000000000000000000000803f7ea2273b29f2b93a9e34dcbde19eb13fed48fc3a124f473b3b5bb1bd3119953f5a402d3b65bae13b80c9b9bdafb0773fa91d503b8259483c46ffb9bddd153e3f66e1063bfc01573cf738b0bd3ee7ff3e21e1063b3c16783c2e1f9abdff48823e00f5ac3a7d4ac93c414d9abd26f5c13c00000000000000000000000000000000000000000000000000000000000000004ce7b7bd645d493a00000000000000003ee851bd83f474bb0000000000000000843a16bd6503b0bb00000000000000006672babcf7a89bbb0000000000000000ea55ffbb279bddbb0000000000000000d103363c11e00ebc000000000000000066cdcc3c694c1bbc00000000000000000000000000000000000000000000000000000000000000000000000000000000fa2ecf3af6b943ba6423ed3bb58b423bbfe18f3ac9601d3a6289ef3b96b8613be3c8243aaa19a33a28efc93b71da463beb50313a6106d93acbb7a83bb47d2f3b57a37239857e1f3bdccc403bc47f2b3b34c3d838e368023bc405333b2c1f723a436112baa26b8a3a867a503b1652f9b900000000000000000000000000000000000000000000000000000000000000008545653b05e3c639edfc843a5e4cf8bb18ac503b4e13c8396cd80c3b42fdd5bb5d90333b5001a6b850cb3f3bf988c1bbab8c2c3b147648baa2ea303b8d1ab0bbd9f8093b302c5639d235663b5eb3a7bb055a673abaad79b74e0c333b61c8c7bb1d10e13935084fba0c741d3b4001c2bb00000000000000000000000000000000000000000000000000000000000000000bf66dbdba832cbdacb0003b3b7e123bbc8368bd316d11bd935a0d3b2507213b5e094bbda697f3bc97760a3b1a4d193b5c3c21bdf77ec9bc8d4f4d3bc406993a2a2a00bd02418dbce0d7923b11f2663a3c6da9bc693730bc0b25a03b842ca63a81f510bccff7a9bb2919d73bcb58093a0000000000000000000000000000000000000000000000000000803f00000000103187bbc450bdbc747f893f30b274bcabe932bbbccc0fbc9c28663fc3a330bc584505bbdf5d79baab8b3b3f4a6b3dbcb2bed0bafe685d3b1ad6113ff4377cbc5a5609baf594bd3b85bbd33e7d27b3bca4315abac0e38c3ba555843eee08f1bcb11793ba0156dc3a2146dd3d662c22bd00000000000000000000000000000000000000000000000000000000000000009e7787bc13379d3b00000000000000009c8563bce18b6f3b00000000000000005d8048bce93f4a3b00000000000000005e631ebc1284603b00000000000000005bade8bb09c1e13a000000000000000009cb9dbb67ab173b00000000000000003be5b7ba0ac52a3b00000000000000000000000000000000000000000000000014c4723adc9869ba0ffcd23bf62b90b99dcdb93aa93115baec5f293ca734853b221e443a542c303ad2932a3c5e89913bb1d0c1397cecd03a0ab21a3cc36e8c3b0dbf58399801f03a034f003cf181573b949b3ab96e640e3be21bd53b86e7143bc3fae4b99cbd063bdc15a43b9955c43ac9d8f0391e29093ab988373beb13e638b2423dba27d416392f28763aa805a4bac7100a3b44784c3aaa340cb8b888febb17e38a3b2f57733a0ee4fe3a677426bc898b643bcbb1163a1d47173b9825e3bb51ac4a3b1a24823934be2f3bf3f2bbbbe41f213b0b270739226b4e3b63649abbffef023b42dbf8b88c97523b52b8adbb2528c43a753d0cba2e2a3f3b2543bfbbefee93390f55bc390fa3113be629b9bb5cd7483815de16ba446aad3a970d1dbbcf83cdbc50321cbd4917b1bb710b383b22c164bd170551bde80f3dbba459823b6a8b75bdb8ef46bd9a2f15bb2848633b05e460bdf27e2ebdd1208dbae054653b55ce2cbda9ec04bd7d1f53391b85463b453c0dbda205d8bc26d01e3bf5ef333b13b3b0bc678e91bcc412913bd00d213bbfa8f1bb07e40abcc52bcb3bf169383a2362b33bef5639bb4cc9a73b1c74313a31fbd9bae46070bd47008a3f98cef53d4478c8b9d97665bd0d41813f989bdc3d0530f5baa40206bdcf1e5b3fb0f9bd3d8ab7f4baa1d39ebc14f1323fcf78943d9cb1b9badd301abc1d52093f9e964b3d5cd5b3bacb60b4bbb7a2c83efc3fb93c46c075ba2ea366bbd4887a3ead2c7cbb26d5beb9af57b9bb0e98d73d4ffce9bc5447a7baff685cbb65195abcabe21dbd79ab01bdb64cea3b00000000000000003ebb0fbd4bf8f63b00000000000000007309f5bc8548b03b00000000000000008ec7d8bc73cf943b0000000000000000522eb2bcba937a3b00000000000000000ad69dbc2196873b000000000000000087866dbceca18b3b000000000000000060de1ebc3679993b0000000000000000d555a7bb511c853b000000000000000066ccbc3989c380b8a282d23bd94b0bba6952753a5527213a4e570c3c34e4b63a35c02e388740943adb220e3c364f763be31b453ad35c053b25421a3cbe7e803b7cfa17b9e7e1fa3a903cf23bad282c3b950bbbb9297d123b5c83e53b596d213b0357cab9881cd13a234ea33bf625a03aac0c25ba3c726c3a4d1b5a3bb4cb49b8cd5ae6b9d794003abb7ec93a4a7391bafcf6913a5cc5a33a470328b9070bf8bbdbe16e3ba20c693a24dfc13ac91af9bb5e382c3b9653773ad85bd63af47b90bbecf4463b2c8e973a057fd53a96683ebb0ca6ec3af3c5233a653df13aa49ccabae967e53a9078b8393195273b908ff3bab3e0883a3dc25538f201fb3ab258bfba1bcf90398e74afb93fcbd33af3eae6ba66d8deb8a33e8a38c3d83e3a72e8b6b9097e03bc3bc1f6bc42df47bc11fe783bb66d05bd741e4bbd6e0a48bc88fe913b950412bd28f33bbd881c19bc73c18d3bd41826bdf97a3cbd27e1f7bb2fd38f3b3653ecbcfdc808bdac4691bbb3616c3b2b5cccbcb434f2bcbf3d00bbdacc693b7edd70bc539a9bbc8e94373ab1e3443b258a5bbb9ac33cbc72f95b3be71d393b1003b13bfc188abb3927393b5c37dd3a5b0ca039f60b7bbd7514683f947e8a3e0e6e3cb9f08a8bbdd6165e3f4b39803e9d0308381bfe2cbd7b41383f6b945a3e2f8648ba03bb08bde63c1d3f51be2f3efee47ebac58da0bcd26eef3e2eec013e0d1621ba36817cbc2a9ab33e3e2aa73d22dd3bba50602dbca69e643ec2f9253d53a45cb944370dbcf4efd83dbb73aabb8bf472ba44a0a5bbde6a9f3a9758f3bc70df27bdc70c933b00000000000000005f0350bdaa10ec3b000000000000000060bc23bdbcd7a03b0000000000000000b0a121bd36859b3b000000000000000058bdf8bcfa0f753b00000000000000005f2dfcbc00ce9b3b00000000000000003048cabcdee8963b000000000000000045dbafbc7f37c83b0000000000000000b6a754bc7563983b000000000000000003a418b9e82a5f3a5e0cb33b2cc6d3b90ae9a2381f717d3ae88df93b7e7f133bb958e53960e9ad391cd5f93b097e593b23eab7ba2991023b0e4a063c9a3f823b155b0a387ce1f93a1a2bfa3b0128623bb49618ba63ac083bdaebd63b039c3e3b7d560dbabd66d33a30f2a73bf0dcb83a035802b9d2afd339caa9763ba8061b3aaab552b9ea3acc39963a113b7a2e0cba7c340fb9c4cbc23a29b490b90918e2bb2950c33a3883163bace45f3a2b37edbbe2b4613bdcb6403b6108e33a5a8a1cbb407eb73a04c3013bb647003be59889ba729eae3aff24803a049fe73ab500173ad4c0b63a63a3793a0590e13af3c9263aa4611c3a47f0043aa6bbd93a0d846e3a376887b93d6ae2394fd3bf3aacfc693ad28dc5b9d372e1b74e91cf395b16d73a4297933abd11ccbcee0e99bc50fc623beca787bc329636bde173adbc007ec53ba454d7bca30e4bbdc30991bc863ca13b9c96e7bc5d613bbda58e64bcbe2ac33b7e7dbdbcd39319bd2f3b1cbc04e63a3b8b5c98bc6092f8bce79fbebbf710963bb52d34bc48deacbc830e16bb31b78b3b00ba02bbfde03ebc3c977a3a44538d3b5b29963bf6ef7bbb8f23853a7c131c3b8d556a3a15176cbdbcea3d3f3e52d93e0f0e1d3b7c618cbdfede353f227dcb3e8ff5b43ab6f84ebd3b121e3f82eead3e5f78423ac1731bbd8799033f41da8d3ef9a12c399e07d6bc79eecd3ededd573e2cb52f3968fba0bc4427993e048a143e60ff97b8c63167bcfa81483e2421a43dd2d0123a5b0b31bc89fdc93d4645a33c42da25bad5dbb7bbea3f183c28d4babc341a45bd3727443b00000000000000002d3e7cbd0d5cae3b000000000000000058845dbda804873b000000000000000043b945bda35b693b000000000000000080c52cbda9507f3b0000000000000000941122bda7818a3b0000000000000000365c12bdec0da73b0000000000000000cade01bde8a2d83b0000000000000000f9b1a7bcf479a23b00000000000000005a298439b433c43a10528b3b0d080a3aa743ce37e25be83ab86dc13baa184e3bc8843db9641ee93ac929de3bba9d453b0bc196386289063b8727e23bd761d43b676e6ab91a84cd3aca2ca23babec8a3b93e0cab963a0fa3a91d9ca3b94b3483b43d56cb99631b43a56b6a43bfc430d3bf65b86ba68372f3af6c6843ba2474d3ac5c92ebacfd7e23914dd283b30aa71b974c76aba0472fc3a3d3283b99c39eebbc5db853a5c66423b6bc2723aed13ccbb399e5a385622913a4117463abec50ebb93cad13a74ecbc3a3e9daa3abda31039c75ef93a474283393bbf623acc14ad3a6c9d073b8e169a39b06bc93ad60b283b8c885c396ef1c539f372b23a05c52b3b6fd71cba8a3e0f3a7619073a97fa2f3b7e3904ba84d98ab70d983239cd5d973b687ab63b1586aabc359ec4bc3f784e3bd6c9e9bb984d29bd3466e7bc25bdbf3b0ff777bc29bd33bd8517b3bcb44dac3b98509cbc8a913cbdc8f59fbc09bc953bb1e849bc9154f1bc78d444bc01ae4e3b641463bc8c5dfcbc47582fbc7cb8bd3b5d9bffbb09119abccd90a5bb11fa873b7b1b1fbb914e2bbcb5180cbb5c15933beb993f3b6b6619bbecea06ba5d03443b241bf63a400f59bd56f9143f7e9c143fa673603be99a7bbda68a0d3f3c8f0b3f8354d53a764733bde8bef33eb154ec3ee02abb3afca817bd0950d03ef593c43e5e906039f2cc99bcc2f79c3ed382913e3f2f433a89a8a9bc0893793eb608563ec5d1723a4e845dbc5d76233e3b14fd3d2e376b3a6be337bcc897af3de513373db6b8eeb8a8e6d7bbd620583cfab190bc0e235bbd2212d43a000000000000000001d688bd6387583b000000000000000062c75dbd32202b3b000000000000000092415dbdc462093b000000000000000013c919bd2268903a00000000000000007a413ebdc5f9383b0000000000000000d3d021bd278d833b0000000000000000e0761ebdc851ce3b0000000000000000f8d4dabc6d4ca53b000000000000000025b023b9f32ad03a4d3a313bc6a1fe3a88560cb81bdca23a53917a3b07bfa63b894f02ba3cacfd3afe43a43bfe9ad43b3f2106bab743f43a5ae8b43b5690cb3b3429fcb908c4033b65dbc53b2858b43b22a710bad609c53a1dcab73ba2e8973b91d246bade70a3399121be3b8b8a4f3b0ec539ba184eb339f43e833b6cf5e83a7f3205ba0bb5b0399ddb343bcafbe13896459fba4f62ec3ac3ebfa3923fdecbb2a24683a7b9e363bc3a3cd39dd05d0bbd27ce63a66034b3baf559f3a1097f3bad8bbf13aaee70b3b6739713a518e793a23e4833aa500b73a94fd6c3a787f2d3b54db603a4ab5973a3b20ab3a0212643bba5c1c3a3ac2d93990d7d639ee4d4c3b82d9d4b98342263a5a45593a4823683bfe0488ba1ba58b390aa2bb395f73543b2fceef3b67da9bbc8f35eabcf4f4563b9a475cbb6bab34bd4e5811bd20e3d73bbdfc3abcc1fe52bd7e22f9bc08a0bb3bb21267bcf38747bd7900ccbcfcecad3b6bbd51bc349823bdc3df9abcc3028f3b7cf148bc69a902bd6cc359bc9c3ba83b22ea0dbc909da9bcb81203bcc00ea23b60ad96bb733f15bc7c6769bbb849a33b454a563a3684e0b949579bba688b6d3befd3503b3c8143bd15e0d93e67b63d3f264e9a3bf19268bdfa4bd03ed82b343f20776e3b54d635bd8dc2b73e84861a3f56aa1c3b1dea0cbd5e919b3e64adfc3e7c0dc33a457fd0bcfab67a3ed631c23e4bf2ac3abda5a8bcb8573f3ef8ff8a3e3793843a8c3a82bc335a023e666e293ee815af3a72894dbcb535903d9e2d873dd20dfc39f0b8edbb50f8673c26976bbc7e0a6ebde152523a00000000000000003c0699bdecd32f3b00000000000000005b5c84bd7ccd873a00000000000000009b206dbddc879d3a0000000000000000646e55bdbe048c3a000000000000000010f552bd0920253b0000000000000000d7494bbdbb968b3b0000000000000000ae2141bd2ff4dc3b00000000000000002cee01bd44aea23b000000000000000079709db9147ca53a69fc353a6ac07f3b7c4e3fb9680ab73ae226b23ace7cf53bd32736ba4a83943a52242e3bb994eb3ba46371bad5efac3ab23a863b8aeb083c1570e939cb3e103b5c48a83b2207b83bf46bb9bafe64ca392be6a73b44c7cb3bce9337baa456293a7ae48b3b347f823b33841eba3e509d3967ac3d3bd3c3d33a7cd8dfb9dff7a3b99a09273b28d4523a714a6aba688b773b7a54433af030dcbb3cb3c63a7071793b13fdbd3a0df7a5bb7a26083b8f13373bb0306c3a5cd660ba99101b3bf59d203b2673273a0e94a03a1e3c1d3b50e0613a116d9c39cd7f183bc04fb43a8fe8f43a0a89df39bbbf5b3bf669653a43ac4d3a7c7a2c3ab112843b1f25abba78f4b73aca75053adfcb8f3bb1483fbad95b133a8dd0c1b7e27c4a3bd4e8b63baf7ac2bc5d4a04bde6b6823be1473bbba9e04dbdc2d226bd06d7e43b290109bc7be952bda20303bdf9e1a93b716034bc5cee5cbd2f56f2bc7978a33b02ca20bcbc4b21bd1b89acbc10eea93bfcf43cbc354d0cbd01b988bcfeb7b33b23970abc3315abbcd47b1dbcbf72a13b4bc806bc536ee4bbe70cb0bb96aad43bdaeaebba4544203b4ffd41bb01e9803b5799963b35b826bdd40b8b3e3b02683f4e4cba3bf55e42bd21ec843e7d855c3f9af2713b09040abd41d36e3ec294363f6bf75f3b75e5edbce30c4e3eeec1193f6a28d23aecfaa2bc839f243e1be7e73e049e0c3b8b6f90bcef2e043ea69fa93e7100bc3aa71551bcc0e8b33d2ab8503e3f3c033b8a3638bc89714c3d4340a83de66e563acd11f5bbdcd9463cf6ef7bbc5afc7bbd11a7a23700000000000000007ae39bbde558473a0000000000000000a08a62bd448486ba0000000000000000420f68bd5af999ba00000000000000007dbd40bd5c48acba0000000000000000e8cf57bd3448993a000000000000000021c641bd1a162f3b0000000000000000ae1652bdba82ed3b00000000000000008f0216bd4de9b53b000000000000000003f085b986f58f3a6cbfd3ba97eab23b0bf19bb92ad4983a859fb3ba69791e3c6033e9b9982a853abdd43a3ad7dd213ceb3ab4b925737a3a15c1133be6721a3cfa3af9babe2a933aa7d7453bc3baf63bd3a5ecb94bc04b3a9d987f3be98edb3b98d731bad3c21eb88838743b97a8a13b6cd586ba16ae91ba4724383b8dc15d3b4c32fdb94b4456baaf7c0e3b854f9f3a548afdb8676f3b3bbd8d243af239b0bb11e14c3b5d8ead3bf03a5a3a824542bb3d056b3b39b7983bab2cd23828b5b0b8e11a5c3b0582413bc7f89039b7d9203b26db1b3b39411e3be28246393fde503b2cf3173b8342fb3a09db5e39587f8d3b3bdfba3ab04eb93abf84f3b8500b8e3b721c2e3a9826883a18d720babd28783b510554bae22b083a334b04ba5cfd923bf6c0053bcb4e03bd07fe15bdef63713b0aa4c5bb0ab085bd6b6932bde7cae73b2b00fcbb9bbf8bbde7641fbda8aea83bb33f13bccd7d7cbd0ca504bd35428b3b678913bcdabd41bd2221c5bc6255763b9f552bbc05c11dbdbcc398bc95a0943b4c3132bc0991c8bc1a453abc4d8bac3b08a02abc9e0b15bc386289bbc5bbc03b7eb69abbc592973be698d5b92078933b275dad3b4439febce9d7f73d319c893fcef8c33b539406bd50e4f13df126813f9323633b01e9cbbc705ee73df44a5a3f8352443b8928a2bcdedcd03d0c3e313f4495f43a1ef06fbcde21b03d1c57073fe342b33a6f5c4bbc9a4c8f3d0dadc33ec348a03ab45122bc8d5a4d3df3ec6f3e8a59eb3a1e0e0dbcc28be63c26b1bf3df15d863a7e0bcfbbf5240c3cb338c3bc823367bd8ae505bb0000000000000000f77b84bdc46e88ba0000000000000000b04b4cbd2e0b81bb00000000000000007e3932bddfcb80bb0000000000000000e45c23bd33cf63bb00000000000000009c7a38bd8889f6ba0000000000000000e36145bd01d6753a0000000000000000da8252bd36dcb03b0000000000000000a82330bd3189a43b000000000000000000000000000000000000000000000000ffe3503a1b1d3b39cce412bb45bff93b81ff3fba12e72a3a48fc2dbad9b0003ca384f439766e01b9013c4f3a3a75e33b3b8190bac4868a3a6ac00b39048cda3bf15cc8b9352bdc394e4d193be729a03b0058d8b9ce3687b938a8123b49a46d3bc6950dbaa61d13bab5b6043ba2de263b0000000000000000000000000000000000000000000000000000000000000000dc7e8b3bf5d41c3b88b382b9eb5d46ba3f1b503be1ca303b65d010390518d73a7d89013b5d41a63a8ac40b3a1b750e3b6f441a3bc83762398360b9bab825773b7a4e0a3b7a1dea3a6c7c503982dd7e3b0419b53a6a8eb33a09bb03b93698633b2df23d3a470f883a766d13badcc4713b00000000000000000000000000000000000000000000000000000000000000005c579ebb29ba6fbd419f16bd3ce47d3b8048a6bb6dc068bdac75f8bca96c283b9c9bd3bb32054cbd1618d8bc5d5b0b3b649fc5bb24011ebdb9a7a1bce6f50f3b6a24ebbb9d66fdbcd9ab74bc523b193b3ecd09bcbdd6a7bc2d981bbcdf8e543b247a09bc1ee600bc4aa07ebb83ea813b000000000000000000000000000000000000000000000000000000000000803f4f196b3bbbef81bc052cbabbe79b893f0b451a3b5db035bc9d95623b4a11663f14a7283acb3115bc1128093cce863b3f4923cc3a156abfbbdd55443c8884113f8049073a48f1a7bb06d64a3c5deed23ed3972e3a8b4986bb164a2e3cfff9833e961a543a767e59bbe5b5f53ba714dd3d00000000000000000000000000000000000000000000000000000000000000007121f5bcaee6b4bb00000000000000008184aebc0ee2aabb0000000000000000d53797bcbf589ebb0000000000000000e7fca7bcbc6c98bb0000000000000000352fcebc9cc380bb0000000000000000f0bef5bc0cb1d8ba000000000000000051201cbde8c7c83900000000000000000000000000000000000000000000000000000000000000000000000000000000bfcf2739b96cf1b94b31db3b3743113a1ac8b738c767293ae875c73ba5168e3a4bb1eb399127053b7c92c23bb98a763a583c883a5561db3aece47f3b7885b5b9d712273a1e13343b5f2b623bcfa937bac527553902a6343b353e0f3b121909bb45a3e6b9d7871b3b2ad60d3a88a58ebb0000000000000000000000000000000000000000000000000000000000000000931a633b5b82123b7769bcbab67d733b89913d3b6793ff3ada311b39df53523b1037153bddb7a33a8d58643a76e64d3b7d85be3a7d8fac3aa7850d3b60245c3b365ea43abea8123a609a393b309ff23a573f7a3aec6db0396bd31b3b36ab673a2eb9183a3b067039dab6073bbbfa2a390000000000000000000000000000000000000000000000000000000000000000fb61d0bc1a6424bd0fc251bb0e52933b7559d1bc535206bd644018bb3ad1863b4e55b7bcba48debc2c87a2baff62753b998397bcb32bb1bc86284cb84f636e3b50ea57bc811782bc3c95013b78e8413b35a5edbb7aff2fbcb0ff6f3b00fc313b2bb1c5b98444dbbbdc16c13b1903163b0000000000000000000000000000000000000000000000000000803f00000000d9d718bcb28104bc94d87d3fc09ce5bb12eaeabbc8ce753a30af563f1cca04bcae53cdbbe177cc3b1268313f51d03bbc635f9abb10692a3c0e1f0c3f43b68dbc6f6f69bbce6e4e3cf205cf3ee7c6bfbc6a7047bbfab1613c93bd863ee9fdf8bc65c328bbf445723cda21fe3d5c0825bd000000000000000000000000000000000000000000000000000000000000000040f1a8bc6c24343b0000000000000000bb2791bcd3091c3b00000000000000004b6882bc1440063b0000000000000000da2966bc2eb8113b00000000000000006b023abc615e4e3b0000000000000000eb350dbcc0aa723b0000000000000000a29cb9bbdb5aad3b00000000000000000000000000000000000000000000000051a0d9ba765e2439dc94073c944033bb4a955aba229c0fbab361193c60f004ba2611b139f4374b3add7a153c62393d3a13b41dbaa404213b11b4093c0a1d43b9e37cc8b9e2d1543b1cf5e33ba54786bade2f10b90023853b4925b63b0f3011bb07475e3a1bfb753beff07e3b511087bb24dc19b9253f2f3b39c3e23ad306b9bbac2312b90e17663b76339c3a6c11eabb9fc6523ac0fbe83ae70485bb4bc73c3b7eb7323bacd95f3b7ad132bbb641683b6e846e3a6745003b8d1682b9c18d9a3bcf74f73ac9624f3b5e731eb938a1b63b2264753a53afc93aeffd473ab31ea33b75d7d139433db73af2f1b93a9e5e823b02843eb9aba8173bf461a53aa79c323b58dcc8b8e837d939f9cc113b8c031e3abbe9f6396645a23a9a0e87b95d02533bc57ababb080b19bde32a32bcb044863b214f98bc4ff747bdb3f81fbce07dc83b7e24bcbc359536bdf851c1bbc20e8d3bf675abbc92cd1cbd5256dabbc873983b87d975bc4d2aedbcc1b96dbbbe4f8a3bb2352ebcc229c3bce6b3b6ba9c1e843bb98f88bb1cec8cbcfe409f3a5a3a663bb573603b66b231bc1dc7883b2d11633ba5a01a3c39b2c0bbd610273ba713ee3a3e6906bc7307ebbceea07d3f7cff033e76de14bc19d1d6bcf2fb683f3190e73d3c5d09bc40e82fbc3609473f7167be3dd06105bcb9f81ebb00c3243fb959903d52bee0bbb7c6873b1d4f013f59dd413de97dd0bb0634193c3e37c13e61dcac3c549fb5bbe470433c4fae7d3e321da6bb6983a7bbadf3483cff04f83de564f9bc824859bbf49f2c3cafc5e03abe4c2abda4e8dabc4877773b0000000000000000c7d309bda648733b00000000000000006dfceabc32ef593b0000000000000000a002e9bca536043b00000000000000005f8ec1bc20d31c3b000000000000000039e6b2bc76806a3b000000000000000011c395bce642a93b0000000000000000a2d665bc1e34f43b0000000000000000f34602bca43cc43b0000000000000000b3ebb3ba33b1ae39c229ec3b1ded78bba556bfba550a4f3a50e33c3cd625c8b9ed9abfba2827e93af67f0f3cc0773cba42d131ba559e593b88d41b3cf9ddf1b9502146bafb88673b9478e43b4359ebbae3057bbab5a08a3b2e94d53bcb6b41bb25941cba20af623bee988f3b9cc242bb8656e9ba1d398d3b6a3b523bb787c9bbf8e974b9cfe1473bf853bd3a0217c2bb261ac5ba521d3c3b94327fbb89f9ff3a513a53b9fe8f683b817454bb74f12b3b4c251abae3d5523b5c6a1bbbb33dac3bafe3b8ba78d2433b431ba5baee83be3bdd912fba90e4c23ad1232cbac5c2d53bc82189ba10cd043b794c533a11f2bb3b607f4fbab4128c3a054d5c38a2e69f3ba6fed6ba3eacaf3ab7b03fbae4fd9f3b620fcbba2b069f3a92a8d33805e6843b28a1ec3b21daf0bc0e067dbcd9626e3b3aeb05bb5e1b36bdfaad98bc1751b83b4636f0bbc89c1dbd4bb377bc5714bf3bed5f0dbc7aed1cbd8e8e50bc3999ae3bf0c9aebbc2d5e6bcfb4c11bca40d813b0b2eb1ba6c5cd3bc285ed8bbe640953b80a58a3a892e86bc9b452fbb921d913b0863fe3bc72756bcc4bd89baba9d943bea35193c684901bc7f8df2b8808d563b4a1db7bb50c50ebdede8583f8b72893e7e5de0bb5a8f14bd3555493f3b51793ef739ecbbd4ffa6bcc6ec293fd926513e83d005bcba3149bce3e8103fdd8c263ed3e8e5bb0a7b74bb674de23e1904f93deff0cebb933f823af8e2ad3e297b9e3d8896b9bb8459a43b7112663e5f951b3dce47d1bb4192173c451cf53d35cfc5bbc50d98bb8370f93b8bed6d3c31dcf6bc335203bd266d443700000000000000004d272dbdde0d983a0000000000000000067111bdfb008c390000000000000000012a14bd2564c63a00000000000000002af6f1bc14159e3a0000000000000000610bfebc55ff373b00000000000000001070dbbc6ffca23b00000000000000006582c6bc4f5de93b00000000000000000d7381bc978cc63b0000000000000000448b0dbb9f4d513aad81e93ba4d93dbbbe10e3bae645c43a0a8d1a3cefc6deba812f01bb1291013bfcce1d3cb81401bac3e10abb216efb3a4db30c3c1caf923a01f24fba9558893be6e9073cbf3aa4ba417447bac5bb813ba0d5db3b03ea5bbbd2a71fba2977863b35c8c83b6f1788bbc83ebe398b13903b155da13b2bb7b5bb542d17b99f7f4b3b60fb0f3bfc6494bb02d738bb74552f3a704695bb79f3ee3ac9c40dbbac977d3bad3c89bba1be373b8fc7d9bae9a15d3bfec413bb7d66b33bf9514ebb00ee023b408c00bbbe9ef03b50e8bbbac2bd1b3be34be5bad8a4f53b6eb84cbb1791a13a3348aebaf8ceea3b527927bbbecc073baaec89ba810bdf3b81af31bb91710b3a0261b5ba9306e63bdecec8ba2f94823acc87e0b99f83ad3b88205c3cdeb3babc65efa8bccab24b3b90b6053cb28c1abd6ca6d5bcf2c69c3bc7dfaf3a6d0e22bd5d9cb8bc8c49933be3ba32395fe017bd3c3b9cbceec0573b04ac243ac26af3bc922470bcd589653b1543093bb2d2d2bcb47329bc48d5b63beb35b73b4e6497bcc7e703bc4501a23bd8f3fe3b008151bcf787a4bb4723ba3b5c491b3cc3b40abccc941ebb3788a73b79aaadbbbaf60cbd0653333f8af2d23eacf7b0bbf2a725bd6817273f005ec03e3f17f0bb0845dabc7f4f113fd970a33e3f86dabb8dab94bc319af43e19a5843edaf1eabb7f6520bc766fc33e24534b3e49bce9bb8b007abb5913953e02400e3ef1a4d7bbfc6a923a92214d3eea819e3d9281dfbb8645a83b03b2e53dd4bda63cb5a5aebb613d983b7908ad3c4248bdbc1be30ebddb97d1ba0000000000000000a4583fbd60b2d0ba0000000000000000d34f33bd4071d3ba0000000000000000191125bd188f90ba0000000000000000a8491bbde0f36eba0000000000000000021616bd542d163b0000000000000000cb5811bdc3935d3b00000000000000006fa005bd3bf6d03b000000000000000085bfbcbc4fd4db3b00000000000000003c7bb8ba0f7b003be6ae0f3c777a28b8281febba999e023bd6e50b3c97c027bafa67c8babd6f163ba740083caf46ce3944f4fbbaa6fd363b752d033cd9d11f3a0ae39aba6be3373b56b2c93ba95d323aec83e6ba3ab1af3bc02ef73b0e04c7ba767f28badbf2723bde65d53b24ff37bb6293ddb92995833b2967b23bd3e596bbf470633867b0753b8c9a863b689d8fbbec14a7bb32db493b23a05ebba8abffb94a777ebb886f783bcb7a94bb3bef923a1bcd63bb6801243b6e266abbce90883b732596baad04483bb726c8bab151bc3ba21668bb9ba8de3902481fbbe2cbf03b682768bbb7e10f3b2b5681ba4ab6dc3ba1586cbb5451f13a6429babad852df3b52b17abb55c9f63ae00f93baa9d9e23bc50e41bb93573b3ae39620bbe4490c3c85e5903c7d1baabc15e3cfbca2f7c13ab2f5703cb99efabca2c0febc4b6f613b02bb053c5c5200bd91aed4bcea942e3bb5b5b23bb6c602bdc8acc5bc907d513b1c49983b88629fbcaaa67fbc0fadcb3a9305c13be9d4b9bcf94979bcd3109a3be4a6e93b8fa773bc6ebe2cbc2c138b3bfb251f3c1bbb2abce08b02bc47a9bd3bce7d233cc14dafbbbaa5e7bb02054b3b211308bb9d430abd6e600e3fcb000e3f149172bb37811fbd1a24043f3db5013f97d6a1bb43e2dcbc66c0e43e55c2db3e9185d4bbdb26aebc9695c43ec401b63e8990c8bb1b320fbce528983e02238b3ec43cd0bb9e9c10bc0868763eeb424a3e2752c5bb68652abb15dc293ed415f73d372000bc286def393e89ca3d97183c3db583d9bb2135863bf642bf3c1ac77abc151911bdc5b1c2bb000000000000000089c43ebd143685bb0000000000000000ad4e28bdd52c86bb0000000000000000056b30bd927686bb000000000000000050d204bdea9f48bb000000000000000099de2bbda8a2ecb90000000000000000ae9e18bd1d9ec13a000000000000000065b21cbd4eb39c3b00000000000000005e7cdcbc552a553b0000000000000000da3bb6b969a7653a6aeea83b47644cbaddb1cfba752f063b09d7fe3b01c12e3b6d7402bbdf6d023b21d3fa3bbf932b3b059819baa521013b2233f43bab426e3b7337a6ba0ce04f3bcd4c003cffeaa43a52c16db9bd117e3b707ed33b303087ba36b836ba4daf443bc2dff33bc215a8ba5fcb08ba3394533b4e14d53ba07844bb146037b948f52f3b0842b83b5bb43dbba62b8bbb96bf3f3ba50a7bbb405d44bbb792a1bbdca78a3b963471bb45ff78b943a563bb41a4423be0757ebb8c122b3b3187f3ba245e403b65892fbb73af833baa2555bb2d4efd3a87947abb97acbf3b8d4a74bb88cd1b3b7e07e2ba61a6ee3bf31080bb28e1113b599c04bb16bbdd3b2a4295bb35b61b3bee37e7ba316bda3b0afc75bb0cf4a63ae37770ba14cab83b31b19c3c2ccd63bccbfee8bc749fff3a46768d3cbc41e2bc22b51ebd12d9283b1a7d4e3c82d005bd780c0abd2df8313b423e173c29d400bd6047f0bc27e6163b6448043c8262d3bc7c1cbcbc735f333bfcb2073c4541b4bce9a1a5bc8d5f943b1922ef3bfda36bbcba6180bc6cc1a43bcbf40e3cd33e01bcc2ee2cbc7614d03bb784033cd75272bb6740d4bb4897963b8126aabad4090cbd45b1d33ee537333f26179dba245c21bd30a7c53e65c2243f32f44fbb74a2f8bc7224af3e18390d3f77c37cbb102ec0bc02b3953ed880e83eec80c2bb47827abc900a763ede1bb53edffbd0bb7b3421bc3229433e5efc833ed781c6bb4a3dc7bb899c0c3e334e243ec90abfbb86af43bb8e92ae3d84848c3d092190bb0637fcb97c7adc3c70ca39bc89fb16bdfe0bcfbb0000000000000000e7974bbda103e3bb000000000000000014be3cbdd8abd3bb0000000000000000e4d639bd77f9cfbb00000000000000000c0b31bd79b098bb00000000000000000d773bbde2b8f8ba0000000000000000ceb637bdf4310d39000000000000000014863cbd327e893b000000000000000032ef02bd0b08813b0000000000000000c7bd9fbacfca493a38b8643b8da2083b7971d1ba7fd2843a8abda03b6f335f3ba98f9eb94808563abc4bac3b0dda8e3b09f500bbc3887c3abed1b93bc9d9a63b3f58a0ba88860d3bf241d43b172d283b0c334cbafd0d453be4aecc3bd2b9163b0bc344baf3a0f53a82f4dd3bc564a939297ad2bab7512a3b8171b93b3ef609bb6d87ad39ff6d033bcffea03b03160bbbd2929ebb0458413b3aeb2dbb3fce79bb27c286bb4449ad3bbfbf64bbb16106bbc5c823bbea3b5f3bc2b887bb547c643ace6e36bb0e00183b1c6682bb0428423b4e135fbbf6df533bb9233ebb9bdb903ba6b15bbb49eb283b362320bb46efc13b81f45bbb6921153b8ec920bbf553a73b606081bb63964a3be7d441bb0d9c8d3bc95586bb2412063b82e746bab4d5af3b7894953c10f64abcc76906bd5b874c3a39549b3c2cfbdfbc26b130bd4d99183b77b7463c8ddeeebcb4da0abd73f5fa3a9d9b2f3c17e9ffbc607303bd922be83a76160d3c24bab3bcb73fc2bc223bab3a3653cd3b5b61a7bc70e8a8bc04296b3baaf1cc3b917c39bca16267bc265ba23bc6fade3b4ae2b5bb883b31bcf6c6e83b840f953bd8fb443ab051f1bbf1cea23b17a7a73ad56bfcbc46e18a3e246b583f0c902b3a66b814bd3f11833ef0ca473f836623bb3c76d4bc3546683e7250273fc1036fbbb177a6bc2e7d4c3e04790c3f253489bbfd0e69bcb473273e3d41d93ed6cfd0bbb4cd39bcb6d5093e5f17a13e6a319ebbe519efbb2fb5c93d53054c3ec3bf9abbc252a4bb39fe8b3d9db0b43df19b89bbf90816bb7859db3cbd0105bc38ce0fbd5d74e4bb00000000000000001ab140bd65f111bc00000000000000005ea41fbdb5d900bc000000000000000027932cbd0f2709bc0000000000000000de081ebd81a4eabb00000000000000000e803cbde5b89fbb0000000000000000aeba33bda43e9eba0000000000000000ee4555bde161553b0000000000000000378218bd10f35e3b00000000000000001cdcb1b81640663a34a50c3a0cf1ae3b6833c4baaa9025ba615d4b3a1d53e13ba12bc5bae1618db84da9403b7b1ee93b2005abbaea29103a85ea8f3b0051cb3b9163adba4718953a1027ad3bfde4a03bfaf180baa19bd13a5f57cd3b0530843b5324a0baf431ed39d752ba3b632c433bd0d849baaae4c3391fbec23bf2e83a3a9844f63ae540dd3a2df49e3b0daa3fbad9dc45bbfeeb2e3b750042bb7e04a9bb14d8dfbad82bbe3ba1b135bb7a5c95ba5138f3ba0625af3b28a664bb80fa953974a3b1ba3bec733bccfc5bbb456ef33a4471debadde3173b525445bbe6355b3bf5f313bb8366203b1d7649bb1ebf8f3b42c91dbb253dcc3a84b826bb81cb863bdbb66dbbf656543bcfebe3bad52d823befa364bbe796713a0ceed6bafe3c8b3b0928843cb16878bc398e19bdd07789bae66a893c356003bd646236bd15d7d63aa8bd4b3c8e3d0bbd01a720bd5b323f398609273c919ffdbc5dd507bdd0a5fb39be5ff93ba884c1bc1e5dcdbc9772603adfb1bf3ba73196bc6e93a9bc318a293bc6194e3b061042bc065369bc36f3a03b8b0b0d3b490c0bbbbeae1dbcf2c8e63b9904533b3ece813b05ebbfbb9eb9c93ba2f1213b37d0d3bc48f5043ea6a67e3fefa3283b5940f1bcce43003ec085683f8b5fb3b9c217bebc2e79f13d909c453f73fe12bb17be95bcc8ecda3dffab223f36ac69bba78058bcd1a5bc3da8c3fd3ef4c892bb1f622cbccff9a23d7c31bb3eaa487dbb3edf01bce541823d57df6e3e6ad770bb1b51c2bb39933f3daa68d93db86d9cbb802c82bb694bd13c44a70bbc640ce9bce60610bc000000000000000035d815bdfa2731bc0000000000000000da6d05bd53ef3ebc000000000000000043fc08bdd4183cbc0000000000000000c5c60bbdfc001fbc0000000000000000d07c26bd5f7affbb0000000000000000f04740bd60af7ebb00000000000000000ff94fbdb619223a0000000000000000ad3427bd940dfd3a0000000000000000000000000000000000000000000000009e32c4390aa688ba4ea9beb935cadf3bbbcab2ba43181cba31f5193af8d9c73bb884bbba69563739ea41003b459ea43bcd30afba9b9909ba8a07643bb84c913b159888bab7d6b2399659763bd07f583b05291dbac93b1f3807e2893badca3c3b2334c5ba3e26c239ba16a53b7f8adc3a00000000000000000000000000000000000000000000000000000000000000006b3ff8b962fe833b087121bbf2381cbbfae86839e1ce393b7fe527bb5093f3b8b8eda0b9afcf113bfacc2fbbf5969d3a768402ba3deead3a905c25bb304a3d3bdf1d91ba7a033e3b982612bbee67303bca2899ba31bc0d3b9df8dcbaabfd2a3b344e1dbbc30a0d3b60d86cba3caf2a3b0000000000000000000000000000000000000000000000000000000000000000f1722d3cc823d7bcf6e210bd7742e8bae8e8fd3bbda2dabc2d56edbc9abca4bafe1ad63b1451c1bc9a5dc8bc89d47eba5975ab3b1a8d96bc40959abc53ce19bae3a74b3be17c64bc689e77bc4961043a16669c3abb59f8bb190128bcc587113bcd90d339a15d82b8b99edabbd5bb8d3b000000000000000000000000000000000000000000000000000000000000803f1705ed3ad3cd93bcb1242b3bced17d3f939873b9dbeb5fbc06b9213c38aa563ffd10debac38232bc56a2683c870e313f24591fbb4e3b11bc5f5a923c5bb10b3f110254bb8abad3bb8bf4a03c0423ce3ea28241bbce2aa3bb87a5a53cd2a1853e871c5bbb667386bb5e68b13cfef7fa3d00000000000000000000000000000000000000000000000000000000000000008af482bc97b93bbc000000000000000017ec6abc83ca2ebc0000000000000000a9ef86bcde922fbc0000000000000000705f9ebc038e1bbc0000000000000000f017cdbc0be706bc000000000000000046bbf4bcaa33c2bb00000000000000003f411cbdd1746abb00000000000000000000000000000000000000000000000000000000000000000000000000000000310528bafad6f9384d18b73a6c44b1bad5ba613aa6e5ca3a5d86303aa18ab3baed59663ab824d93adfed093ade9da6ba04a1673a68cea63abff5ad38d28fa9bafe4e973a5536d23a76642e39cfa5cdba3a83923ad505e23ad6df84399bed49bbf6836e3a195dae3a832e04bae5def8ba000000000000000000000000000000000000000000000000000000000000000078e587ba3f9410bab2e6eaba4739583ae34e91baf6f14fba1625c7b7fc9f143bcebb93ba8edd82b9a5a646b9cd57253b2618f9b9155b1c3726c0a739c386063b294a84ba10a6ecb9d3e02d3a75fa1f3bcf5b07bb8dec90ba5f28793aaf4b2d3b2f1ef7b91d2f88b6d728543acdec153b0000000000000000000000000000000000000000000000000000000000000000cd169cba2ec3c1bbf24b12bb9bfe2eba5bb9d3b85a2d6fbb5fc40bbbd81869ba7b68ce38789556bb385003bb93578dba13861eb9249c34bb989197ba43a036b957fe81398d102cbbf657a8bacf9cc2b983f1663aa6aae5ba553021bba9c9e3391e83413aef460fbb80e72eba461691b80000000000000000000000000000000000000000000000000000803f00000000a7e356bb15fd943ae331633f6eb9713a8101ccba978eb23a2d83423f30f9a537af48e3bac3ddd33ad230223f06a94cb9f2afa4baccad033b3079013f33ec8dba162da6bad911313b9a9bc23ea59aefba602856babc2e553be910823ec9ae11bb4eed81ba9a0b523bebc8023e072672bb0000000000000000000000000000000000000000000000000000000000000000474a27bb99d39cba000000000000000011992ebbf456a3ba0000000000000000f2e11abba0a5a2ba0000000000000000505309bb25a627ba0000000000000000b5c321bb45c85bba0000000000000000da38f2bac50009bb0000000000000000579812bb16b2a7b90000000000000000000000000000000000000000000000001f5ada3973dbda3a6f29b43a4e9208bbfdfa643afce88b3ba446ca3a369728bb308b473a25b40e3be4f8bc3a066d0dbb3669e33acefe663bd3841f3bc9d52ebbceb7223a1853703b1d3a2c3bcdd63dbbd7c2cc3a77652b3baf6b143a1fac0fbb1894303b1289763b8fa857ba1ad284bb84d3353bfbcb003b037bb2b91ef651bb5a6a853a1d30683b22a0afb97f6c1abb59290abbc93029ba69d963baee00023b67ce2abb3cc2a2b94f0229ba4e07a13b31620fbbd003343a8f4013ba65783f3b2fa71dbbc2f68c39a9a5093a8d5a873bc170a1bb191145b907b11abace6a8b3b1dffa3ba3a736db954611f3a2280663b0d60bbba763a31ba75404eb9d625a03b4b1003bbebe352b9194b183ba50c343b3ce69aba3752b9b9407c563a609a303b4b87103bb11b6ebb377459bb9420c0387805093b9063a5bbde4c8abb0fb415bb1a89b03a948f96bb890a76bb576dfab7a517173b2a64a3bb412079bb156beabad7d2243b70c150bb99529fbb0fae02bb5925b23aee6f80bbe95e06bbd09ccdb9db04603ad70124bbac10d5ba97cd20ba2cd0e53adf8f5abb7c1047b919ef483aeef7d63a457d0ebb0c76aeba233302ba03e10abb826aa4ba9dee623fc99c013e61d190bbe3a5a0b92155483fddd4e33de7ec34bb76e0183b9b542b3ff39dc23d9071ecba0a85133b9e3f0f3f53949f3d2fba3abb02b79a3aedf4e43ef04b823d67580cbba9bf3b3b4524ac3e145b363da89428bb0fd1253beed7673e33b1e23c55b101bbba4e5d3be9e6e93d03543c3c9dcdacbade5a353b4be9543bb21d54bb9f9251bb2aed10bb0000000000000000692d90bb2d1c3abb00000000000000000bf183bb3df92bbb0000000000000000db2e98bb713b2fbb0000000000000000d7879abb839777bb000000000000000050d081bbe89f9dba0000000000000000154850bb23608cba0000000000000000ba3b83bbf7dd083a0000000000000000a8862abbc52258ba00000000000000007a4f543acb48193b43d1073b696cdfba74fa0f3aebf1333b5c16263b083a0ebb10fee43ada3efa3a21cad83ab59bdeba4f68bd3a8e87693b5ee8bb3ab9cd12bbf113193b01aeae3b643c9e3aaeb78ebbd6620d3bd8ff713bf7b1e63a1b415bbb2adada3ac0e5483b111b9a3af9cae6ba81d4033bc885603bf4338e3ab81230bbabb1e93a48168c3bfb9e8d397e891dbb414c2abb2d4fc9ba5ea97db92ca9203b724d46bbe345b2ba4638a0ba3371383b9a0f08bbfabb18baab102c39302e033b37523cbbd9e7e3babf5509bb0ae9853b982a26bba01b22baa8d639bb27ed873b546491bbd70d3eb95cbb213a284e8b3bea7957bb1560d3b9b6f84b3a7eef833be94ee8ba7f6adeba320f863a2f09913b1723f5bad2560bba89f115ba22d3b33bbfb2773ba33020bb4d6370bb150518bba43c843bacd27abb18f09abbfe5b28bb7e4e1f3bc47c69bbd8a36fbbebd0d3baae2d523b5b6183bb315286bb420c09bb2154953b031b51bb95bc67bbf42408bbac265c3b35e018bbaf3672bbf7e165bb5cda3f3b734b08bba00373bb5c9b06ba972c6c3ba9398dbb28ed0bbb7b8338ba9836273bb8b8ffba051aefba9a0f7eba722d65bb0233a2baefbd423f29bd813e8f234abbcf34d6baa1a22b3f4554643efbf702bb7a3a0a3a50ca123f88b6423e52f391bb43828f3adb76f63eb4b0223eccd024bb6b13193b7ce2c53e6cd7003e6c4682bb74691a3b80fa943ec6e6c03d552663bb3540323bbf7e473e94207d3d4733eaba179a5a3b8b25cf3dda73df3c06022abbcf14913ad009403b69f201bb802d55bb5b5f2cbb00000000000000001b2e94bb267751bb0000000000000000031283bb399f19bb0000000000000000140e9abbe6fe28bb000000000000000094a783bbd86d30bb0000000000000000040a6dbbb9a096bb00000000000000004a17adbb1e343ebb0000000000000000b14983bbbc099eba00000000000000001f3c42bba4f7a0ba0000000000000000f092dab90157f63a9493053bf31fcbba1d4a6e397d69443bb698403b230502bb5d917a3a4a6b5d3bacc3353b1d6feeba24a3c5384b54973b82a9e93a90b026bbb0db873ab486493ba67cf13a503001bbe15c9b3a65ba533bb460d43ad47e1bbb48f8b33aac0f4e3b35c5a63af9ab28bb7eb83f3b1d09983b9c99093a890a5ebb14f8a63ad298103bfe3b86396ab816bb9c6b25bb569723babcabebba7cc0a53ad3aa69bb9c53eeba593cadba538f273ba16d54bbdc31d0ba26b581bad5874f3bde57f4ba29daa6b92bc8d3baa6a5973b498644bb01aff0ba6434fbb9aac65d3bea4649bbb345d3bac4116cb936bf833bb3872dbb750b91bab9fa59b83b72833b371b43bb6e91afba5b92b0b96e6cb83bfaa0f1ba7ce294b9eb03a539e0bf4b3b80f9853b31a0cfba07ba7abb1a920abb8d8bac3bbf702abbed78adbbea734abb8626943b8d3b5bbbb3b1a4bbb0d434bbfddeb23bceb980bb3fa6a9bb99c84fbb2bfc663b099d28bb3d5b75bb4a5225bb92b0773b3a4238bb2f3880bb476b0abbce316f3b99bb22bba0555bbb84bd09bb9d429f3b4dd53bbbb2e364bbf5abdcbab097233bd280e7baffb30dbba6eb69ba4a4897baf68350ba61a4223fcb76c23eff5743bbcb550dbb07250f3fd75cab3ea7e748bb1eb469ba9864f63e87e4923e871076bb16568bba37bcce3e4703743e1a842bbb5ce1183a07c6a43e4dcf423ea57a34bbd3cca63a02127a3ea59f113e9de73cbb7077e33a0598283e0088c03d59a55ebb9df9fc3a32b5b23d8a743a3d788dedba5169e43addeea53b099796ba374357bbb74034bb00000000000000008d8294bbd0a474bb0000000000000000f6f497bb79b657bb00000000000000007daeb2bbc4c574bb000000000000000037da86bb2f133abb0000000000000000590da5bb260435bb0000000000000000888a9fbb828f15bb0000000000000000af1ab4bbf47c21bb0000000000000000b56e61bb1fc9b8ba0000000000000000a38f98372c3d133be1411a3bc01884babd85093aecc74b3ba8ff473b06f100bb91021d3aa3dc483b539b5b3bbd508bba98a4f538cd7a4b3b31ac313b478ec7ba6138293a05a6393b0b14f93a0108d9baaf88553a65b4403bbc82ac3afea2a4ba02f0843a41fc5f3bfe71cf3a0ad427bb0e5cdf3ae24c623b3467b53a9b6231bba50f923a557c263ba035753a3c0ce9bac51f37bbbb5246bb75d683ba04c8cd3a50cb82bbf401cdba0c9d9fba03aa133b15175fbbd07f75bb7e01afba5c0e213b63bb5ebb6fa5a2ba08ff9c3943762c3bd6c142bbf2acc6baf54236baa549383bc64b41bb3b4fd7bad67b47baa9096b3b25c05fbb9b5accba21f30639105a8a3ba1174ebbdd9892ba44a0b7b859378b3b883607bb9d67ccba275900396027543b05ae9e3b398c0fba763a84bb95e50fbbdb0bc53bd245efba0e21c6bb503c6bbbd5b0a33bd7a2dfba58599ebb4f425fbb254e993bb1220fbb34a8a2bb60ec40bbb508773b9932cdba402772bbb48125bbb4be803b932d41bbcf825fbb7df713bbf8bb873b62aefcbac31679bbaee613bb41f18f3b2b72dabafcfb6ebb21d904bbbdba4a3bc02284baccc91cbb544678ba637178bb1e6121bb28db013fa0c1013f0e2246bb2f5531bb4856e53e8684e43e05fd39bbd494cbbae00fc53ed7bac33e4bd3e5ba7c44bcbabb0ca53e5f31a33e5be91dbbfddb8b38f5e4833e13e9813eb4204dbb63da073ad423493e0f89423eb09522bbc320a93a5167083eb791013e6c3a3dbb6f10db3a9dbf903d47fe803dc67400bbaa42b43a3ec8bc3bec1c6db8a35143bb225339bb0000000000000000ee7496bbf56a86bb0000000000000000104a74bb850d6abb000000000000000049b092bb49ae69bb0000000000000000a24169bb13cb35bb00000000000000006c93bfbb5f0a20bb0000000000000000caf8a6bba2033ebb00000000000000003beaa9bbba282cbb000000000000000048085dbbfc88c3ba000000000000000086e91e381cdc003b113a233bc7d548ba194541b9ca04833b118c8d3b6781d6bad3118139d92d3c3b0d3f3a3b9e91a8ba8459193a6e764e3bfe99393b9249a8ba1359463ac411433b5837123bcea5c5badb2e0d3a1b0e973b0795c63af06d39bbda3ac63915da713bf005133b573618bb84a1b13a960e5e3be529e83aad7614bbd404383a0ce2053bea46093a5ea755bad99939bb3f08b3ba411fa8bad396563a6ace90bb56a76fbb438500bb256ad13ae39f7bbbecaf72baa6ccacba06500e3b681165bb81e148bb88069dba891e2d3b2aa35dbb1297d2ba1d0b5dba4ea53b3bb50038bb134230bb5813b1bad446363b5e1c80bb8756a6baa7448aba4bfd793b706966bb14c591ba0c99a5b91d5b803b18b814bb61e531bb441672b98b33363bfb2d9b3b197c13b77f6c88bb99bd23bb690ff23be64eb9ba4bffdebb971082bb1261b23b996adbba1365bebbe22a6abb87beab3b5397dcba9846b0bbaba449bbafc4933b4bdcb9babf488fbbc2a437bb5818c63bc9c81abb2f3b70bb3698eebaec089f3b736fa7ba00388ebbefda3abb8ffb943bb76c87baefe777bbdf4118bb9928353b1b3dbcba3999f3ba9d54aeba8b99f0ba2a6f2bbb72abc23ead19223f127f3dbb97b567bb0997ac3e72480f3f4fad26bbe33f00bb9379943e48e2f43e7f7339bb2f12b6ba2171793e9b38cc3ecc472dbb07fbebb9b81f483e61cca23e2e0670bb439c36ba4c731a3eb5e4733ec29e4bbbb4ad9739dba4d13ddb2e233ef46a42bb728e873a794a613ddf5ea33d39fc0ebb140b393aca67b23b32402939ebe330bb7f2739bb0000000000000000f7d49bbbf5e099bb0000000000000000e1018fbbeb3685bb0000000000000000262e94bbc48c7cbb0000000000000000858486bb6bc65ebb00000000000000006528cbbb9ff620bb0000000000000000243bbabb23da61bb00000000000000007720b2bb83f037bb0000000000000000a77b35bbe7ffbfba0000000000000000046c0c3b4d3e173b23175c3b65d18fba8dac60bb36dc3e3bca41573bdec1d238cdcb2f3a8728353b53654a3bb592ceb703c4813a5c81aa3b0a165c3b05cba9b9150b3639ac85323bdc194a3b26dea8ba7310423ac91d453b8f2c3d3bc9d48aba8f548a389ae7043b94753d3ba91657bac2da363b44a4483be241043b068c01bb22eb523a00552b3b8dd60d3b362e62ba62b460bbb81dc6ba243b96ba85ed5b3a8b3e7abbb2ad8abb6cd646bb8dd6d33a27f081bbf41816bbc83231bb8046e23aad61a0bbd27ae7baeba720bb3fb21e3b2031babb6beeddba70f2d7baa1db043b2c495ebbc14fc4ba21ea4dba4fb5363bd1a834bb987f0cbb6c1074babe73153bbe2666bb7e46a2ba6e565ebaea1d593b870184bb07c2faba1f2fedb91034333b1a445d3b91b938ba6fe3aabb87b84fbb6dc8d33b213b12b93ba3c1bb166bcbbaa383ab3bf99e0fbafc77d3bbefaf7dbbcc11ba3bf36a63ba8edce0bb7b248fbb6142df3b9ef8cdba20a7d0bbfa478ebbcae5a43be5a430bbe2ef93bb9e2b2cbbb87c4e3b6b3eec389ec453bb283214bbc509953ba02fd1b9afcd78bb505f0ebbf7ba773bb1d7093a2c9701bb7a2037bbf894e4bab79b24bb7a0a823e4998423f42d206bb68eb2abbb9b1663ee1822b3f7d3fbfbab504cabac7a6463ef3be123f209155bb26d97eba1b31283e6347f53e3a0249bbf4dd91ba55bd083e7dacc33eafe737bb3997adb96f1ed03d5923933e8b3b2abb41328bb9f8768c3d048d423e2c2647bbcf92843871471f3d6623c53d845d13bbf32f8b39b05cbe3ba2a9f83a359fbdbaef1870bb00000000000000009e5a57bb2d9dd8bb000000000000000048942dbb8b389cbb0000000000000000b5f06ebb37c7aabb000000000000000020cf87bbf55a63bb000000000000000048d997bb16fe59bb0000000000000000977680bb2aaf2abb0000000000000000fd71bdbb50a342bb0000000000000000c33166bb1c4d55bb000000000000000064159bb99a7aad3aee3f043ba5125339ead8ccb9bd7ff43a06c7053bee5b40b94701253a80bba83a1fe0843bf670f1b9278aa6b8b0620d3bad0d273be2b085b94c6e5839fa11623ba40c5c3b9a87a5ba9e6a1dba132b613bd897463bdeac0dbbcd5f533901ca1c3b59b20e3b38fa8bba3bbc123a3055973b85b4d7394abb37bb18fce939d9437e3b32cdcb3aa1a697ba350c30bbeb7cb0babae89eba91ea7838818649bb8ec856bb4738ebba9c00a5398c7f5dbb8c7641ba0bcc43bbdf9673b9e12348bbd3f300bbdb25f6ba845b983a7f3e58bbea07caba94668a3a4bf23b3b1fce8abb02dbe3ba52b110bbf48f4f3b80d93abbb3838aba7a6984ba0496113b288b1bbbf27e00bb47aa8bba987c203bea941cbb07dd3ababd973fbac665053b212b853b85750c3a97b090bb76cd26bbfcaaa43bdf5135bac8a6c9bb229869bbd1b6c83b3d43b1ba4259c8bb21b871bb675b983b09db6cbaea54a9bb89e952bbd463a33bfae8d0ba1b689dbb020354bb9da8a73b1a1dba38edffb5bb672768bbde32793bf1fbb5b9d59778bbe7be18bb9124c93b0978093ad357a1bb0b2256ba3bd93f3b67d7db39016620bb0ca69bba6c35b7bac38925bb5e23023ec0ea623fb84e32bbfd6b5cbb1aeee63dc01f483fd110d6ba911cc7ba7b13c83db3732b3f80bd07bbd6fa1ebbe2d8aa3d07b70e3f7a7b4ebb0efd403af9fd8c3db53ae43e363769bbade3f1ba64bc5d3df086ab3efb273abb6d6e23ba7cd8183d2514643ed24e43bb51022eba9056b43c8134ea3da8fd13bbce50c8b93e47ad3b3043be3aeaefe5badda744bb00000000000000006bb83ebb907c17bb0000000000000000799c4abb04c78fbb0000000000000000646642bbb2ec7fbb000000000000000089b87cbb1d878abb0000000000000000341a69bba5b19fbb00000000000000006c179dbbfe6c5dbb0000000000000000e146e7bb1c0e8cbb0000000000000000ab8e8abb6ddbf2ba0000000000000000000000000000000000000000000000005d099cb93cbd933a98e9e83ae409153acc57cf39c5dadc3aeebc133b89bd6f3a6b6694385f55c03a0a8ff23a3c15d6b7f1bbf6b839a99a3a8d6abe3a90f65eb9d2008b393af1df3af427ec3ab15939ba0b445e398893cd3a5cacf33a586a45b97851713a979d253b07e4183b466a68380000000000000000000000000000000000000000000000000000000000000000ac6c0abb3dcd84ba2fec99ba5883a1b8f06545bbd75a49bb076601ba4e3e2d3a2b530ebbb16798bae81a90ba7eef453a25c4d8baeeeb55ba111c61baf493303a59991bbb000536ba431a61baaa2bb63a2544cbbac32e37bb76aa5fba20eda93a77485cba12dbc3ba0a3d01ba269b0c3b00000000000000000000000000000000000000000000000000000000000000001f71623b13539cb8d9988dbb2c2d37bb7c11643b848742b87d63aabbdb0669bb3bf94e3bdfe52aba902375bbf7d424bb5750273b8cd624ba01463cbb5eb8e5ba22a8443b5f880cbaad464fbb46650bbb696e373b9eac8f393b2715bb7c9853ba4ce2603bfaca943ae69ec7ba845edeba000000000000000000000000000000000000000000000000000000000000803f4c25aaba88a807bbba0ae83af5f8623f55ab2cbab07c90ba6f04343ba38c423f50abbcbaf6feafba0a2f463bf106223f7b969dba46fc82bad136403bf65f013f07b3b7bafb1d4fba190b863ba068c23eac4adcba428949bac6c67f3b45a7813e958bdaba4b59a6b9ad0ba23b0be8023e00000000000000000000000000000000000000000000000000000000000000009c4468ba564f4ebb00000000000000007aadf7b96c9219bb0000000000000000ed60bcba224945bb00000000000000002e5df1ba2ab823bb000000000000000065c023bba86042bb0000000000000000743643bb863913bb00000000000000007ab856bb0cbc64bb0000000000000000000000000000000000000000000000000000000000000000000000000000000058189438840e733bff91963cad0a3f3ca003eb3a67049a3bb08c7b3c5901453c65a9ca3aa7e4303b64d83d3ca88d063cf68e113bddee563be61c013cc126e53bfa6f0d3a84908d3bac31d53bfe8b7d3beb02f73921599e3b70b3a23ab589143bf1849aba0fd86c3be9489a3abf61a93a00000000000000000000000000000000000000000000000000000000000000000f3f163a6f6f18bbf73b6e3b5b25babc04972e3bca8403bbbb37b33a3417cdbc442d803b602894ba291964ba6317d7bc7b99423bc33bdcba4cb046ba8a90c8bcbaa0423b703414baa01e713adc5eb4bca8590e3b66a1e4b9a83ab03a04de84bccec7b7b8ead14eb9a82d163bbe9c28bc0000000000000000000000000000000000000000000000000000000000000000a95608be06df1cbd8c02593c6f932bbbc05600be25c41bbd01d4203ce08bedba42bfd5bd8b1118bd5eb2be3b6acb45ba292fabbdacd1fdbc3461be3b63f5bb3abdda7cbd339ab2bcd415a53b538547ba030025bd9f5702bcd1ba583a8ac7bbb8cd6b77bc71112338dd02583b20a19dba0000000000000000000000000000000000000000000000000000803f00000000ebb60e3cc90283bd21d69e3feeea6cbd643ed83b6b3befbc27c1833f1d1712bd07e4da3bf2c91abcfdde543fe67dc4bcb52d4b3bad998b3a03d5213f8877bebcb7441c3be4722b3b41f4df3e859ddabc81a8203b971a44ba14df7b3ebeabdcbc0fd3a83a6349c9bb49d5853d935c08bd00000000000000000000000000000000000000000000000000000000000000004b8c48bb351d403b0000000000000000b97559bbf7c21f3b0000000000000000d1fb9abbe0fbd33a000000000000000060467fbb613f88b90000000000000000eba9fb3961c4f6b9000000000000000003bdc13b736132bb00000000000000006a50223ca3833abb000000000000000000000000000000000000000000000000cc6e8d392f66acba20626f3c4dbc993b6ccedeb96cdf9d3b656dc43c40d3583c9c4c4f3a3c11a83ba370c13cabaa583c602f163be32f9f3b0c8b9c3c5b8b443cc091023bb82b823b228d683cf7f4043cc7dad63a39cf9a3bd2672e3c76c7ca3b84de3bba2437943b39cbf73b3f52993b80d61dba52933a3b7004593b0285e93a953fdfbabd6e813902e3a2b9758ee4ba27a4f139368bddba77aaea3b3570c1bcff165bba014e60bb7e121f3c7cc3f5bc291f1c3bb3ef4dbba17bad3b82c308bdcdc87b3bfa141abb35d3733be8ae07bd6f6b963b29da95ba8814f73afec9eebc659b4c3b80c6f6ba6979023b5777d9bcaee7073bf628ccbaf4637b3bbb5c9fbc0dcc59b7c42994396f73453be53d3abc0b0a53ba48f49db95f0b843bcc9847bbde968abd926dffbc8ca5a83bdaab8db9211b07beeb0022bd6ddf353c8413afbaec040cbe091c54bdfda4073caca944ba6aa9f1bdce7053bd9fa7993b22afc73a2f1ebfbd2d712abd5b963d3b25af3bb9e4378dbd1771f6bcc1f9053b941fc23a1b1530bdf4e191bc84a5303b28b5cf39eb746dbc1da356bb306690baaa4195ba68ab3c3ce5bc943b30126f3ba16821ba5061693ca65705be5f039f3f6e249d3d8a1ea53c4f0905be374f983f8e9a7b3d4dab4c3c9cb5aebda4d1833faf53873d70aef83b62ed5cbdcbf9543fb2426f3d017cb93bb6c602bdeff21f3fbda1333d7d67ca3b9e80d6bc98dcdc3e1b10b53cdeca9f3b0c35c1bc5993783e11fbc239462c193ce77fcabcd478883d40bd35bcb0d9af3b71f7bdbc1e9762bd739f0cbdaa83ebbc6465cd3b0000000000000000d393cabcdd68c33b000000000000000038e0c5bc7aa1b83b00000000000000000e7bb1bc9ec4613b0000000000000000d6948cbc2e37333b0000000000000000267a56bc191af43a000000000000000069d7cabb75a8f93900000000000000003e364e3b1dbad4380000000000000000778a9a3be13542ba00000000000000001bb6db3ae00736bba71a553cc457253b4932d33a764e8938c25d923cdc4b143c0632473a1a86103b5a4e853c5f73173c40e9153b8d57843a8f4a823c183f1b3c4b520d3bf447e53ae1e33c3c3468e33bd47ec23a9f7e0c3b2f2d153c7311b73b883a0b3a3b91e23a4126b43b8a47003b5108b8ba5251293a03214b3b4de4023b6acfab399a2827baeaa09d38375b5cbafbfcc53981d782baa9eceb3b5413e1bcb5ed873bdab234bb7c5a283cc0060ebde89b913bb4a99eba8c83c73b94cdfcbc4809d13b3a92f0ba82fc7c3b09d6f3bc481e8c3b25c694ba0ad0253b2e6acbbcee6c813b0f2a97ba4d0a863b448cc3bca06e1a3b5d5710ba1242583bc1a589bc5b86713a532ae4ba148e943b747f2ebc644cd739c46e04ba3fda763bc7b79dbb9dc000bdb430f5bc130eadbb4db0223b7340b2bda5025ebd2a40a7baa65c473b8f00b1bd149278bd6a519ebbbaec543b56c2bcbda0ff79bd2a782abb13e3613bf61089bd7e2a4bbd38ec14bb144b553bd9fd5dbd370422bd6ae60cbae52b393b5257fbbc6bd2babcfbb7943a8d4e0a3b901e1bbc8ed42abcf0312f3bfc83273aa997083c1cc3ac3ab2922d3b3368d7398178693c564b03beeb95843f71e8833ef9e5ac3c568411beb5af843fce7e733e8d2e493ca30eb8bd81d35c3f86455e3e1cc8453c1fb29bbdb59e3d3f21e8323e612beb3b1f8855bdb1b90d3fa82f053eab7efe3b20b237bd8ec7cc3e0cd5ac3d54dfd53b41bd07bdc202723ec821283d23da1a3c53940fbd6f60b03d2e3136bb87ddb33b3c64dfbc4f30a7bc3bc1efbce93f58bd5230093c0000000000000000984875bd7b6d2d3c000000000000000017fd46bd9c5cf93b0000000000000000c9d531bda0e7c03b0000000000000000060b0ebdd4ba923b00000000000000004daaeabce67e873b0000000000000000ab7fb3bc86e6543b0000000000000000ce1c46bcafbb803b00000000000000006c8ddfbb4c7c463b0000000000000000d3180b3a2d1e0abb74b91d3c29237b3aa8d10b3b7368f7ba0422663ca779023cd6f6f63a718c033aea79723caf790d3cbbe5813a9239013b3486843c08ddf73bbd41d43aacd2cd3958d8233c7b5dd83bf9402e3a744fea3aa16f0f3cb053983b11c8b43a439ab63ad87cba3b95846f3b3abbc039f6bfe2b93a3f1b3b445a5c3af00aa6b9c77cbeba36a10c3b39d0d1ba7cb1493b1e1201bad388c23b6527e1bc8a48ac3ba7daeabae3470e3c4ffb07bdac1fff3b77a316bb95c4cf3b9918f7bc4349be3bf1635bba5336e23b4aeff6bc3b21823b9592903a19a3603bea2acebc105eb43ba44cc2ba48b39c3bdb0aaebcbdfb2f3b1645adba83d96b3bb3bf90bca93e933a317ed3ba642e8d3b10b92dbced08d439b1dbc3ba68e46d3b50fc86bb1b2d3bbcafd605bdafe78cbc73f5b53b652665bd045283bd7df36abcbda5fb3b336296bd222c9abd555b3fbce6e1dc3b69ad91bdaba28ebdcb103cbc8e65bc3b968c68bd652e72bdecdc20bcc9bb9c3b8ce936bd02d338bd20aac8bb8805bf3b9859dfbcb68af6bc4c7544ba99843a3b69e520bc81b13ebc40d95a3b98c6223bd06adb3b27e07c3a0e02223b32c62a3b971a353c9e67e5bdfe46573fa81ee63e34ab8d3cd2e001beb744573f68eedb3e79e93f3cfa64cabd6cc23e3f8505c13e6d85123c9e6c9abd39901d3fe2c39c3e22f6fa3b311b64bd6fb8f63e59026e3eb10ffe3b163045bd31abb03edd2d1f3e5c23033c2bcb30bdb5955b3e0930a73d0247113c10fa1bbd69caba3da47e763c18829b3b3b8de9bc2a268a39d2c6edbce1c096bd54230b3c000000000000000046f4b2bd60004f3c00000000000000000d9798bdd919313c0000000000000000da7c7fbdd4c8fc3b0000000000000000b3aa5cbd2cbc003c00000000000000004f9337bd43ded13b0000000000000000dd1c19bd1cf6d43b0000000000000000304ae2bc8a07ea3b000000000000000073d8afbc4510c33b0000000000000000b8f14a3a8b2758bb638a003c31ce563b77b2143b81a205bbbc1f253cc4d5f33be53ede3af1a3803973363f3c4003193c0c43fb3ab16dd9baaa97323ca6d7113c702f813a38efec37e36ff73b0929523b43d8a53af9ead33778ad043cac89843b19c3ac39ffb027ba9c12bd3ba0df3c3b87e163b9564f5d38973a4e3bc3cf023abe781b39563a8bba2df5d23af9e5d9ba0501d43a7dc27f3ac23ba93b7c17d9bce46acb3b81191eba82b4fe3b8782efbce7b8dd3b88521cba126f513bc368ccbc9995fe3bf1db823a8f40883b4a56bfbc0842613bc5bf963a732ae53a2c0988bc3fec963b1526cd396069613b5f0994bc9d6e0a3bc4879ab9a9c4883b732547bcb9ecc33ac70503bb3a81573b5c0f0bbce2b1a9b948377ebae1cb633bec995fbbab39173af75a0cbdf3a1d3bc46cb023ca4410fbddca195bd34d2cabc79df233c0b1f46bd8500a1bd672dbcbc69fb0b3cbf4e55bdc99ea4bdcd3aabbc0fd7063c545507bde86f52bd05c974bca743953b6ff71bbd3b7a4ebd7b2735bcc8abd33b2783b7bcd6c8f2bc14d95dbb289c8d3bf0d02abcf9d255bcf64ee33ab69b733b2dba743b378d65b96ab7703b22055e3b0554123c8f0cc1bdff06253ffd51243f6c27643cb61ed5bddd51233f4760203fa6932a3c6001a0bd705b103f5544083f60eb1c3c52bc89bd3254f93e76e8e13e329e853b5eb724bdd4edb83ec83ba33e8080d53b881138bd9d7e923e351d6a3e7a65ba3be69e16bd0f6d373e5eb6fb3ddf37043ca19f12bd5769ad3dcb8a0b3d447ba83bf951debcdbe9213ca956f3bc81f0c0bd26000e3c00000000000000000aeddebd63b4663c0000000000000000f4deb0bdff1c1a3c000000000000000069eba1bd96e10b3c0000000000000000e0bf5dbdcdb46c3b0000000000000000b4e572bda498ff3b000000000000000058e841bde76a003c00000000000000007d0b21bd6057223c000000000000000053e9eebc6e300e3c0000000000000000125bd43aed8828bb3356a13bbea8993bf2418c3a5b680d3a8397e03b9a1d283cdaead33a916c323a8e8e173cf1f44f3cf6ed473afde66a3b1174153ce8814a3c6edb9c3a7dff1cbad5a2133c559aeb3b3e39f6b938a9953bcaa9cd3b553cb73b5774aa39aba82139e8b3cd3bb1724a3b03d90bbaf8aa02b9cbd7893beee5773ad5089cb9526101bb0e59743b02953abadbe1043be7d4a2380f02903b5ffbbbbc421f0d3c4e36f9ba536acc3b60dfcbbc288f133cbfe164ba34eaaa3bdf80aabcb109a93bc62efbb824366e3b9bd8b6bcd3dbe83bb8bfbb3ab0705d3bc21a86bc2957cc3b97a7c4ba78c3803b299774bc39f5083b1a2da5bac21b683ba4ce26bc2214d03a396c57bb61066e3bd990b0bb43ad03bb8c284aba07a4463b02ff02bbca2fa13b4c442ebdce50f3bcf6592f3cb319d3bc7de2b4bd973901bdcc81613c89fe32bdf9accebdb38ff3bc22f33c3c272731bd448ebcbdfd62cfbc2840353c9ec824bd002b9bbd78a1afbc598b033c8a410cbdb55e66bd554e50bc8a92e03ba150d1bc226516bda33572bb5fb2c53ba5775ebce43061bc4cfa163beb27763bb5a78139e159023be8507b3b5de4763bbc500b3c25ac98bd8ba5e63ec2a5563ff73b5b3cd761adbda842e53ed837533f04e1253cdef38cbd123fd23e1914373fa474d43b1d1c5bbdc837b43e99d9133febf0e03b32e13dbda639933e8a8fdf3e0f1ace3be7e123bd00725d3ecf8c983e7c57a63b6d430fbd6f22103e2f0c2a3ecf2eef3b063902bd7dae903d5ac53e3d08cf823bdc3dc7bc006a493cf11309bd7636e3bd643b2d3c0000000000000000d62906be35218d3c00000000000000005471dcbd603c4c3c000000000000000036c5b7bdd8821c3c00000000000000000fc29dbdf9ee043c0000000000000000e87a87bda1c6213c00000000000000001f396fbdc8f6473c00000000000000008e8a41bd8043683c0000000000000000eb9116bd79dc303c00000000000000006a7805392f7643b963d1f23ab67e013caf8a6eb937912c3bd4d6ac3bda79703c76221ab8cc47853a31b3d33b6f185d3c42775037c0bab33a3fb5e63b90ba643c41b00b3a1b9dcf3aff79eb3b14bcfe3bed54953afc231c3aa9a5e03be21df13b7b424eba5ef69e3ae258a63b351c9f3b60f794babb7f073b5e6c743be9b6473a864075b9641da5bac18b223b3ad5c0ba811e9e3b61f40cbb87a4703b45c77abc33b63b3c0ab3aabb6a65b73bde4787bcc4cb143c45397eba40a63f3b9e6c5bbc3689233c5d8398ba9b00763bb3b541bc63d2033c2e9201ba52afc93a236326bcdea7a93bfb9aa9b9ef94f43a310920bca9511f3b1cdfc6ba1957c23a505291bb1d61b53a6cbb65bbf2c8233b101647bb4a63313a187b44bb050a093b859d463a9be1e63a9a1862bd0e30f3bc9654543c950ebcbc489de7bda93bf9bc6ac07c3c3a43fbbc8616d7bd406e08bda284343cf7c01cbd4ab3debd4a7afcbc39194d3cac8207bdfe0ca3bd94d8d0bc6292f73b349e06bde2b983bd771173bc25f2d53b0f0dc4bcb1e310bd9bdafdbb1408a53b7ac186bc9eba5abcf10f773bf46e013b87f04cbb26028d3b7e8cda3b4c84b53aa30cfb3b56975fbd5cff843e004f843f0039323cc46e73bd1463833e6bf2823f3392e63b70783abd14c77c3e927f573fd173d03b24262bbd3973613e99f6353f7497813bbb50f5bcc1bb3a3ec86f063f77d8c63b8eb6f4bc0471133e6763b93eed159a3bf4bdccbc2e7ec43d24ee513e52a0b23bec63b6bc313e3e3d42fb5b3db241743bdf3794bcfd53fa3b27233cbd8bff01be3bd66f3c0000000000000000faf817be177ea63c0000000000000000daf2d0bd1f493a3c00000000000000009d54c3bdd1e01a3c0000000000000000370d94bd3dec173c0000000000000000f6088ebd81f0303c0000000000000000679667bd05cf273c0000000000000000fd6247bd6299863c0000000000000000c65f0ebdc666603c00000000000000003d71ddb8fb2e4b3bdb57f5ba84e0593c218472baeab12b3a6dfed83b2f66be3c3255aab7db9b923b0ce3d23b8cf6b93cf67f013a1b83383b4f29d83b13698e3c77300aba67b95f3b6f02c33b8aee4a3ce17aaf393f8bf63a7c2ae23b66231f3c432c97b98325053b71bfe13b415fdd3b6b57aabaddde7f39bb58ad3b6d50173bdeb3633909f6d7badbb5383bb47dc4ba3650d93b30e39abbd812013be872f6bb52fb7a3c072423bcc4c9753a4c9e89ba608b5e3ca23698bbd08cfa392819b4bb09933a3cef7417ba08e3e0b8d74ec2bb36df0f3c33c11dba6692933a06c3aebb5004e33b874f94ba4bd25a3a9da879bbdeff9d3b968752bb88f9553964cd72ba2827c03ace2d6bbb397308389fa3473b7c939abaa1d7bfbadff9453a467d453b36bdd5bbb4bfa5bd3255debc2689493c4a58c8bc715716be1a8fc5bc72a1823c97920dbdedc017be2a7e08bdebe75b3c1c4f12bd0e5f01bebf2d09bdb188153c9c5605bdb1ddc9bd1d73d7bc2e30f13ba15201bdaaf196bd194d90bcfaecc23bcdb5dbbccaaa3dbdedc7f5bbfe25913be87e82bc228158bc570b8f3b1502ddba8b29b4bb89c1133c0fe00e3c9ee9debac8dbd63b17a4f0bcdc099e3d00cb9e3fe39dae3ba6aac2bcf0319a3d98b2973f519fab3b5a4dc2bc3637c53d6313823f6a7b9a3b64b09fbccb8ec83d79a9503f34fe393b799d86bcb23db53d08581b3f7e06353b482c85bc34b0923d859ad33e01a22d3b295650bce0d5413dfd34643eabbc3b3be2881ebc6dae993c89cc443d46290f3b374119bc867e0cbb95b28cbd758105be16ec753c000000000000000044cd0fbe7355a73c00000000000000009098d1bd4cd63c3c0000000000000000c639a0bd1912ff3b0000000000000000a37981bd8a94cc3b00000000000000006f4167bd21e6f93b0000000000000000c81d48bd4cdf373c0000000000000000ac990abda3e06f3c0000000000000000f9580fbd875b6a3c000000000000000000000000000000000000000000000000db0f78ba30ee8b3b1fd08b3a01e59a3cf30acabac95b4a3b3bee243b2b62843c4273393a1d7e4f3be18c4e3ba705353c8d3267396617153bdf30313b25cc213c2762273975e8cb3aec5d8a3b7b7bb03bef8840bab0596c396fa7af3b79c9933bfb600cb9bb25173a6131893b79e2823a0000000000000000000000000000000000000000000000000000000000000000ecc8443cff2295bbc88a52b982900d3b8491443c167ffebaa3b801baeddbf73a80e50d3cc5d35db8a613043a654edbbae632d23bc9d5b23a82f323ba2d9fcfba5e5ba53b1a9398397d3895b7df1a323918772d3be95503ba80b73e3a45d3ee3a6651cc3a56d882bab4187bb9b060583b00000000000000000000000000000000000000000000000000000000000000000a23bebc664c09be17c5edbc638f093cd7b4d7bc424e00beb2fdfabcc63bd33b96a6debce77ad8bd81aafebcf9e3b03b07a1d6bc084cabbd6783d4bc79ff653bcf7acbbcfc1880bda40786bcb4e8a53af9a1b3bce3bc22bd690de7bb405ebc397bbf70bc073e6fbc1536133b897091ba000000000000000000000000000000000000000000000000000000000000803f9a033a3b914665bbea7d40bd86b89e3f0abc933bcf1b54bb8e2783bc04c3833faad01f3af01a17bb57cb4c3b9c90543f4c54713ae33fa3b994e6303c8965213f0ad3353a17f1d6ba05c0493c28d1de3e68242438c2aabdbadf74d93bf40d7a3e862f6db98a5daf38c63a3abbeeb9833d0000000000000000000000000000000000000000000000000000000000000000774d96bd2473083c000000000000000064fe3ebd9ddb823b000000000000000026e405bdbed4803a0000000000000000aeffe8bc3cad67390000000000000000d365e5bce19a0e3b0000000000000000d8a2c7bcbc94663b0000000000000000ceb3e6bc4ea8c23b00000000000000000000000000000000000000000000000000000000000000000000000000000000e0c7073bb18d3ebb1687453c38a1513c5817d03ad13647bb7b7a483cdb45373ca2fa203acc5851ba4bcae53b6528253c3db11a3ac68602baebaaa83ba7bafa3b3f98923a6b088b3971dd5b3b94399b3b0cd82f3878b5273b36324a3be487753b6641dab94d75623b15bc0e3b68c38e390000000000000000000000000000000000000000000000000000000000000000f91f0f3b5acf1abb3ed8c53ae5dc93bc35234e3b09af2cbbc68ef83a524d95bc6d62873b05ac1ebb318f4e3914d18abcf84f623bf428dfbaa19712ba2da482bcd96b3a3b30dc9eba7d1d793a806092bcd153743a805960ba66a5453a8efb90bc4d5860baf1f2843a1935053b5b9b82bc0000000000000000000000000000000000000000000000000000000000000000307ccabd30dc3dbdf825543c886047bb3b41cbbdc1ce29bd4b1d353c2b3d22bbe3c1abbd04371abd966f083c646d35bae3b98fbdfd2501bd185b073c464fe4ba56cb57bd44849abc23bef23be2dec2ba4df416bd273cfbbb99dce63b27120abbe4ad86bc8ae8b03abf21ce3b894463bb0000000000000000000000000000000000000000000000000000803f000000007877a43b63c82fbd3f6e963f4e1a3bbdd17e773b961d7dbcb7627c3f68161abd81f99e3a6f9bf23ac54b4d3f9cc106bd44963239943e253c9cf51e3f01ee14bd941e3eba53c6383ccfc3e23e88d127bd66b6113a14a7083c29cd873e5e3239bd04137a3ace61373a5fdac13d338950bd000000000000000000000000000000000000000000000000000000000000000097a1bebb77ac413b0000000000000000ac1e7abb3c86803b0000000000000000844cebbb1b29273b0000000000000000198a5cbba9ac623b0000000000000000ca691abb1fa8ed390000000000000000c724a53bda7582ba0000000000000000d458353cf8a40ebb0000000000000000000000000000000000000000000000004bc72f3b0286b1bbb422583c02c5253ba884203bd116abbbbc57a43c09915e3c31a7223bcb6956bb073d9b3cfc2e653cf8d6cb3a312443ba2054713c27a3323cac48dcb94cd8203a36ab273c3867e33b595afc37f710083bfef60d3c66afd33bf4219bb94a754b3bfd68d33b0573553b274161b9a85a393babfd663bf15f983a85b589ba9f1d003b785db2399db607bb6959583b7c1cf0ba987f373b3b01d5bc9e4b053b50326dbb0ae40c3c48ddffbc3fa2873b27a66dbba2d5793b1c4bf6bc07c1d53b93f398bbc323fc3a9632e6bc3bfca03bf83363bbcb8fe33a49d8c1bc3e883e3b66ba33bb2feb953ae1f2c8bc46e6b23a8aa62cba6677643b039fc4bcfd084abac3fd283ab80f813b0eb3a3bc8d978d39ad6e0eba941ffa3a184c29bc151916bd2fad44bdd8dda23b000c2aba21c2bdbd5bf068bd98a34d3c885a41bb9771ccbdc8a27dbd2e3c223cd803c9ba067ababdd8c06ebd7749213c6a7788bae41d90bd87e333bd0bf6e53be06bea39fe2e63bd5e2a09bd165c123cfb0434ba21760fbde0938bbc1c1aef3b4aa019bb07752fbccfb0b5ba4492c73bd77687bb0d1c143c9d0d523b83b3bd3b8267dabac844493c5b8bd3bd01cc963faa91c83d9c998c3cda6acabd6496903f61c89d3d8d1b113c654480bdeee9793f8ef1883d9a00b83bbc4718bdc9054d3f6a9b443de481523b9c6bb0bcf5341d3f6df5e03ca3f43d3b8e7584bc42c2e23e5ebe4bbab38d4d3b227d7cbca295893e330bc6bc4f36d23b8055c5bce088d23d2d3626bdbf45393b3e339ebce55cb3bc41d958bd0eacfbbc1c56ef3b00000000000000001820ddbc56caea3b0000000000000000ea9ddebcba9fdc3b00000000000000008ba1adbc0203b73b000000000000000029d4a3bc2edea23b0000000000000000e94b54bc9fb4643b00000000000000001d11afbb50b1063b0000000000000000986d813bbaec55380000000000000000ca9cb63bfb0dadb900000000000000009daa193bc550efbb25de543c1060e6bae8dc0e3bf2aac9bbb017813cbf54ea3b6382353ab6eb8abbf56a4d3cb1eda23be726493a17bf65bb5fda673cee69e43b54e40c3a20cf6cba72281c3c4d21443be29c38ba8934b83924b3083c88af5b3b6608b9b92bb14e3acc00c43bcebfcf39e729fcbaee23ce3a2d63693b61c516b9d534aeb9f3de923a9646de3ae1647abade94913b7c8d43bb18e9dd3ba54e02bdd508073cffe396bb89a7f83b34a313bd63caf83b30b05cbb1fb9653bd665cebc6954f93b91508ebb74e3483b41c8e0bcba0ece3be7b632bbe1f58e3af0e4b4bc66e7b83b21bc74bbbaa9103b9009c0bc53b0473bcea623bba904823af26e8cbca633d63a11c2f6ba21d9a13b3ed39ebcebce103a1f1dbcba87d3343b123d2bbc2ba251ba950540bd22927fbba5d7843bde4436bdc83491bd794b0db8532ef83a6e3748bdb48e8abd229c11bbd6d66c3b1e5477bd405c8ebdba61e83aa82f3f3b0c4038bde2ea5ebd570e343b0cc4163b659f1ebd5cc535bd6f00bb3b1a73053b5ea8aabc4fe5eabcbc30cf3bb7e7be3a43fa93bb4ac351bc02610d3c50a940bb74992e3cd4ff85bb6c72ea3ba3f8d7ba64ae6b3c1b2fddbdc88c7d3f2e31893e1900973c3da8eebdb3bb7a3fba25773e2a7d153c54e292bd6b41513fa724543eee3c243cf34084bdd915383f47af213ea7f2cd3bf89d2dbde6830d3ffe66e23d9d48d23b5a201cbd1320d53e2210773d497ba93bb6efe8bcd4ca863e14fdb23c58f41a3c38180fbda576013ebfcbe3bca4735f3bc240e1bc2181383c28db44bd4f405abd47cd173c0000000000000000c4c87abd1d4e563c000000000000000001884cbdae971c3c0000000000000000ccb03fbd9f88293c0000000000000000fcb418bd789cfc3b0000000000000000012c04bd1571013c0000000000000000e6fdc3bc51c0d03b000000000000000035353bbcc3c0d13b000000000000000079edc0bb7688a23b000000000000000070c0783a5bcbd5bb34363a3c401498bbd7ba3d3b5d3210bcf8c7533c2e96e83a1554fc3a3711cdbb33794e3c7eb0b93b4c355b3a54acb5bbc378343c7e69d23bb63295ba63608fbb86bc173cb9f7133bb92744b84a3eaeba5ed5f43b2842f23a06f84bbae58f73b98158b23b1559113b0eb1b1ba484b443a3e64803b13f11dbaddb81bba54e8923a32d4923a923836bbcf0dc13bd2ae88babdcf463b47e1fabc8b39373c0c88b0bb0dd8023c092114bd7be0263c8627adbb123dcd3b676102bdca1b313cb9adabbb3c1d7b3bedc9c4bc8ac50e3ccda860bbf21a4a3b8aa5bcbc99aad03b0cc546bb7c8e3c3b2360a3bc6df48c3bf21c55bb1e381b3ba5489ebc962f383bfff05abb37e8603bd81385bc66a7bc3a2ea633bb98792f39c2060abc58079c3cf9bf40bdd7b190bc9b43d63b052d66bc8b469dbdffae3bbc9f06df3be29610bd49f7aabdd6741abc1864f53b723b1dbd036c9fbdf5fa04bcd7bdf93b53d1f3bcc2d688bde9bf03bba86f953be315d8bcb08a51bdd945af3a1bed5a3b594b87bc2b9c0fbd01aeb43be5fa963a71f023bb423693bc593e153c45569eb98e7b223c4cabf2bbd042ce3ba341ca3a0196433ca755cbbd682d4f3f7c67e33e84c8923cb8d6e4bd0e7b4d3f6075d43e502d463c75e8b4bdfb84383fda1bb43e011e1e3cd03790bd0a0b1c3fe643903e2f5b063c490961bdd0b3fb3e63e0503e6444e33bc1b338bd3db3bc3e24f7053e3a710d3c34d528bdfe417f3ed13d6f3d21ea133c36aa21bdf7bf063e3782b4bb8ff1763b3d13e4bc1cb4043d1c4d41bdd49e93bd1759383c00000000000000001dc1adbdf4bd843c0000000000000000581e9bbd371d663c0000000000000000a1d988bd3e24433c0000000000000000745f73bdd057463c000000000000000093ed48bd71d4393c0000000000000000284b28bdb7143c3c00000000000000001025efbc4ca6283c000000000000000022359abc24b6123c0000000000000000133fe63a33fbc2bb37d80c3ca274a5bb6324eb3a5f4501bc31ca113c2e61df39293a053bf117e3bbcf4a223cb2d2103befe728b9cab276bb1321223cb085183b6c1c84ba56d384ba6d3aec3b991ec5babb42c2ba517111bb867d033cdba8e339e4e5b9b9d9d086ba2448b13b29eb99b8e242f2ba9cd2ad39c8018e3ba7f065ba49654dba6a2af6b9925ed23a6c7606bbcc16ad3b113df6ba9bde6c3bcbb0f9bcdb7c403c859492bb208eec3ba4850cbd3fb3263c8e9351bbd0be323b4975cabc7b59303c199e82bb81600e3ba53cbbbca136993bf08d12ba3dd085bad80951bce7ebe03b76fb5dbbeed4e13a8f3c8bbc75387a3be6082fbb8c422a3b62386cbc3ff5563b54949abb4da9543b7e1362bc3c80eb3ae18215bbac29f039528d9fbb36a9f33cacc135bd77e6dabc6dce343c7d05ae3b9ddfa2bde50fccbcd18b4c3cf46960bc1304a9bd99ca9dbc18cf1f3c8339a0bc2ab6adbde2ec85bc55c92a3c94c13abc166770bd463136bc61a8ef3b258598bc8e3b6ebdc86f7cbb7485e23bd16513bc5b2618bd8efaf43ac0bd873b487d65bbe459a9bcdc51fb3b381aea3abc3f1d3c0e4f1bbce2e1bb3b9ec1203ba4cb3c3c1b83b3bd6a67203f31561f3fa4b3773cee58c6bd7efe1e3fad1c173fdf18333c0fd99cbdeb0c0e3f1129ff3e66fe323c351b8bbd2c0ffb3e0812d13ec5ed5e3bc6c42abde212bf3e1c89973e7715073c726f46bdb9319f3ef07a503edc79a53b30de1cbd6d5c583ed894db3d6268083c43c21ebd2a3c003e0b4f983cd22f953be73ff5bc769c233d1dcd1fbd0c5baebd47232b3c00000000000000002c31d1bdf6e1823c0000000000000000fa2eafbd22004d3c000000000000000078eea6bd7eb3583c0000000000000000926d6fbd9d68f43b0000000000000000d0ae83bd7034593c00000000000000009a1e4ebde6b5313c000000000000000003fd30bd361d6b3c0000000000000000b06f02bde83a313c00000000000000004f26723a0ebec4bbc8b8db3b5b4291bbd02b233b39abcfbbf09eac3bc0c25c3b997ee83a47ffb4bb0caed03bd73db03b1593223ae0b089bb2c86d73b88768c3be30e76badce592bbc322043c4fae5e3bae436eb930f565bbc5dad93b2a24033b22943cbaeb95aeba2940e23b120c9f3a95b668bafcb1cbba77da883b0b038ab98d0f3abaf96c8d390ffe483b76d603bbb13fd73bdb29b2ba2e808c3b1c51d5bca67f673ce205cabb04aae43bd856f4bc2294653c514ea9bb20caba3bcc95d1bcd96a3d3c269257bba77e893b0baeafbc0b0d113c12a622bb23f4883b5d9e81bc3661013cb53b89bbdd87683b5ff18abc0ff3a03b04c89abb6218483bff566bbcb1f25a3b5d60acbbb921913bcd9944bcf34ed73a860668bb5e27a73af91d9cbb5f31f33c90523bbddb5b07bdb4a6473cc3c1133c68a8b3bdc00303bd204c683cbbb003bca53fcabdaa83e5bca3864c3c3c1174bcf607bbbd223abcbc4d0e2a3c2d3394bc2e8d9dbd798485bc0d32213c21a580bc5e477abdadf7dbbbff4fe63b786e61bce32327bdc40e4f3af387c03bc810d7bbab50a6bc1fbffb3b4a75ed3a34ba903b1f21d3bbb25bc13bdc3a403ba6fb183c75bf94bdc45ee63e832b4e3f8dcd6c3c2233aabd00dbe43ed434463f206c3c3cc08190bd44bad43e7ea82a3f85f6153c4b4d72bd800dbb3e8dac093f15dbee3bdea049bd212e9e3ed3accf3e72e0033c9abb35bd4a8c793e6a7f8d3ec99c0a3cc78520bdd286343ea6691b3e8ffb0b3ccdbf1bbd3230d93d3553203d0d306d3bad79dfbc2bf2283d8d031fbd2f4ec9bd76743e3c0000000000000000c396f4bd6d1f9c3c0000000000000000fe82d6bda1fa803c0000000000000000d141bebd67927c3c0000000000000000a980acbd03bd5c3c0000000000000000ce2f99bd78ba7a3c00000000000000008d0e8abdafd0813c0000000000000000a7a05abd02048b3c0000000000000000869721bdc14a673c00000000000000003245073b77f983bbfa5a683bb5e8063ba804153ba3a17bbb27caa33a614a0a3cee9792bacb4a1bbbb22a7e3b0491bc3b65e9813a116e49bb8b18983beaa7f23b2c90283a6ff421bbe2dea03b32ba723bed02a238229435bb9e1ecb3bc5d2823b758060baf523dbba039cb23b804f9e3a6b7af3b9ae0ababa952ea93bd1a4303b88ac1bb810ba42ba4c466a3b909a82ba05c7103cbb5f68bba7ef8a3bffabb4bce532883c5f080fbc6cc6c83b3c2ebdbca2594e3ce89f80bbb3258f3be3f887bc7b41593cd5229cbb934c783bd81c8abc2692193c977f49bb50b2253b87665cbc0035063c1c5d8fbb48047d3b42224ebca9b0aa3bc1e17cbbfee3283bd20bfebbc89b263ac08990bb890c883be1f1ffbbc193753af6ec77bbef0c923a873063bb93fbaf3ce1575dbdbd3c0abd593f473c52dbab3bbecdcfbd06cf11bdb510823cd2eaa0bb74d1bfbd17f402bd2c934b3c4e824dbcdd5ecfbdc364ebbcaa12563c121147bc01fc9dbd6233a8bc187b193c81b98fbc19d085bd4e1732bcde52083cf8804abcb08823bd136385bb2453c23b8f6f5abc55ec9fbc37a42a3ca7368139b9d85fbb99ee8dbace8bfd3b02f9753ac0500e3c681963bdc1858b3e51647c3f83ef3e3cbae179bd05ea8b3e5df6743fac61fa3b4efe46bd25e8853ec714493f2671063cd86e3cbd195a773e73652a3f89f6bb3b4a9813bd056c513ef63dfd3e2e3be03be71212bd19d42f3ee64db13efd18a53be08fecbc3d2efa3dfb2a4d3e5c79f93b498c00bd3cf89f3df2d25c3d319eaf3b760db8bcf60ef93c7d6d33bdb6ead9bd12116e3c00000000000000009fab03be3869a23c0000000000000000de63c3bd75bb353c0000000000000000f857c5bdc2cf633c0000000000000000632da3bdc992363c000000000000000045b2a1bdd6106f3c0000000000000000336c83bd8f464f3c00000000000000006b9c68bd7e128c3c00000000000000006c142abd447a7b3c0000000000000000da0ed63a525ba6badc152cbb55c0e73bd939883996b7bf3a1b62f8ba9b03863c80e8e73a953cf3b9958dc3b973cf733ceb5d073b0cb073bb671b113b4175423c0d815839c0f028bbb908823beacae43b06d4ca3adfe43ebbc51cb43b1655023c7d623b3a0442c7ba61bccc3b33d1a73b79bda638a9bc93ba6b73c53bfc74a63ac57233ba8cdc8eb97d6b893b85716cb923f0203c733ca6bb85e2713b8cc654bc1134a33c11863dbc4968823be2f32dbc1ef38e3c8237ddbbe8450f3b8bf720bce0756a3cc1df93bb7e9f153be5110cbca691333c9c1232bbdc5d223b8f1511bcf196033c671548bb0f2c0bb9467da4bb975bb73b3f6087bb79a43b3b2f70c7bb0596383bd0058cbb55265c3bd50281bb278c1139f88e37bb2178ce3a8c67d6b9ef03003c613987bda56715bd9a36403c56b402bc042afcbdbb9105bd23e0713ca61b66bcce6900be384916bd0e085b3c7dcf89bca8a3e2bd537e05bdbcfb413c8ee58bbc9c8fb4bdb113ccbcace2273c75d3babcf87891bda9aa6bbce34af23bb4c3b8bcc7883abdcb84d3ba8eb6553bc34a9ebc82a387bca69b143c8d6a14bb5ac313bcc9ad683b3dc1293c708894ba7bd9e83babcd03bd8456cd3dd99c963fc213e63b0535f9bcd5cdd93d56aa8e3fa5cac53bb7b9eabc1373f63d6602743fa1a1b13b5eb8d1bc4e0ff73d3228453f6513af3b48fcbfbce9c4e23d8b1f153f6a11c63b3348c1bc7933c53deb31d03e89aa853b143b9abcfdf9903df6316c3ef871943b259b90bcf086203d4d38803d42688d3b6f127cbc0fe5843c4c6855bd0c1bd4bdf12d5f3c0000000000000000975debbd92e69a3c00000000000000006124c0bdd994483c0000000000000000b9b2a5bda101223c0000000000000000433e93bd118b023c000000000000000031338fbd8e81263c0000000000000000729183bdca9e593c00000000000000004db050bd7a197a3c0000000000000000dcec38bd8a646a3c0000000000000000000000000000000000000000000000003805a03a1ba29b3a00ddc1bb312e693ca7619a3a7f950cb921d649bba841463ce292cf3a4482bfba2efb80ba18f40a3cb4cb943ac064b2bae708f1373d29b73b41533e39e269c2ba52eae73a02de8f3bd46062b9e77745baf405663b6598443b663c25b907c38bba7fc2863b4a87353b0000000000000000000000000000000000000000000000000000000000000000f54b5a3c0e708dbbf126443a0d66c8ba25d8423cac9c33bba3206f38a7cf5fba6c8c213c6ebd4dba98277aba8d2849bb3f28ec3b7b75dcb98ae8893a0e79a8baf078933b39f0c3b973acc73af399fabac73b9c3b133fd7ba7dea2b3bb32a49ba8dc48f3a279fe1bab196b23a309cc73a0000000000000000000000000000000000000000000000000000000000000000e13e3dbcf221d4bdf9c413bdcf34ff3b53446cbce379cebdeaa302bd4186f53baf6967bcad55b2bdcefd01bdc07dd33b0c706abc3f2e90bd98cac6bcfe3aaf3b87ef90bc5cf45bbdeb4c85bc2b9d973b773ba0bc10ef16bde4aeb5bbc889053b635793bc86f56dbcdb8c893b1634503a000000000000000000000000000000000000000000000000000000000000803f4d97443b8ac1e7bb68a3cabc034f963fbf9e183b5fdcc3bb0ec39539a9157b3fdd416b3beffbdebbfd0f8d3c9e9c4c3f1e2b5839510df0bb50b7bf3cd3bb1d3f0cdd6d3a84cfafbb16a8c43c3e0ce03ea3c73dba927e7dbbff1f9a3cf7a9853e1283d53a5b519fbb7068253c9857b63d000000000000000000000000000000000000000000000000000000000000000089b577bd829bbb3b00000000000000003d113bbdcce5643b0000000000000000054c21bd20eb543a0000000000000000678520bd006f1d3a0000000000000000038823bd9a7ae33a0000000000000000c21427bdf638893b00000000000000002dea2ebd6ae0b83b000000000000000000000000000000000000000000000000000000000000000000000000000000001894c5bad7a59d3994c4c1bb3df875ba77e061ba3b60073ad0c0d1bbe970c738709080bacbe1e23af62f00bcff1600baec11bcba545ff23a2387f2bbe5a3cebabb0019b9b3e5103b8357f5bb31eff3b870014eb8f211af3a6ec9d8bb3a669f3a9cbab03a571cc73a0fd6b1bb503b003b0000000000000000000000000000000000000000000000000000000000000000a5d4cc3b6daa43bb7492c4bbf3b02a3a0f34933bf33f47bbf9248ebb3448b03a33809b3b5c0932bb9ca89fbbe0ec983ba41a6f3b047618bbe0ab67bb5119b03b24e5843bc4220abb79675fbb6daabd3b37e13d3b765d03bbe22a26bbcd70813bf2310c3bbbc5feba9f3950bb7a1e823b000000000000000000000000000000000000000000000000000000000000000067f0cdbcfeb10dbd98d44b3a0ad69b3aab5befbc82c9f8bc14bcc83ad312f53a3be1ddbc41c0e9bcf1dd133b08f4b63a3777bcbc52d7c0bce50f993a9e072e3b66deaabc7bf1a2bc0f617d3bf843153ab2dc8fbca9095ebc36b7a33b13e493ba4eb73ebcedc336bc84ade33b3f8cbeba0000000000000000000000000000000000000000000000000000803f00000000ecc374bb9d916bbcfeba803fba9679bc34d685bbdb2a8bba93e45a3fc14665bc937ad7bb0d72a33b5394353f06ba82bc8a24edbb55bbfc3beedf0f3fdec594bcdcd6f3bb51c52c3c1ed0d63ee92abcbc10f3cabbc2f5163c1a008d3edf21d4bce296c4bb4cb1f33b5a3c0a3e7edf06bd0000000000000000000000000000000000000000000000000000000000000000fda025bca6c0ce3b0000000000000000d5160abc25d5df3b00000000000000005ca201bcc965b63b0000000000000000c8cb09bc4d69c83b00000000000000008132ecbba769963b0000000000000000cbd58fbbf013823b0000000000000000779b4fbbd49a573b00000000000000000000000000000000000000000000000075caa1bba798953b39a2ecb821880abce136e0bafabc133a2c3afab9c494b5bbcd8d63bbeb6f8c3be62898bb64125dbb97f584bbd7af923bdaa7d6bb2be89bbb0fd821bb57b2be3b59d9d6bbc599c7bb66900ebb9dda863b9a83cebb389962bbe63a81bbadc5d33b60bbcbbb5da222bbdd2118bb14759e3b6ba897bba2f89d3af14453ba0ea8af3b5a6a9fbbf15ce0ba9c389e3b4174d3bac2bc06bc7665c0bbffc5fc3b53109bbb5471d1bb1ddb3abca530fa3b8e6277bbad62fbbb19de98ba4040013cce5176bbe5610cbc299f4a3b2a32e03b32954dbbd9f111bc0dbcca3b61b9b23bdc6364bb723ce9bb6a6be73bb0dbab3b4e0e67bb991efcbb02b0cd3b6a091f3b35374ebb9327d7bb4e13a03b98e2343b6a7107bb78d7a1bbd8e2ef3bc402c03b906b09bd9d8cefbb84eab13bebeb2ebc711036bd050c20bb81aa853bfea8aabce53834bd65655fbb38c36d3bb740acbc8f7426bd028589baa5cb753b90408dbcf1ef0cbdca3e4c3a9513393b8a5887bc761af5bc60c0223bd201193b96c53fbcd275c8bc209d923bb5d4ae3aa415c1bb34d68cbc788bfd3b13cb8cba78df423a228a4fbcd5cadf3b139e7ebaa7068cba49bd22bd096d803f2ac6fc3d937c273ac23516bde8756d3f55d2d53db2191bbb6eb9c1bc93674d3fe0d8b03debbacabbbede47bc43e02a3f3907883d499d11bc3c364dbbda93073f1134393d574f23bc2dc847baf00ecd3e1fcaa93c89fbfabbb602b3ba32d4893e9292a1ba6fa0fbbb9bc876bbcf8b0d3e8f0db6bc40cc18bcae9d64bab36e8d3cc9f90abd1713b9bc67a7b63b00000000000000002dcdbfbc2012263c0000000000000000f967bcbc846b203c00000000000000002dc5b4bc8a900c3c0000000000000000d8689abc0b41023c000000000000000049138dbc45c1023c0000000000000000592b6cbc7827ee3b0000000000000000293431bcdb33d73b0000000000000000636b04bca295da3b000000000000000055fdb6bb5ccac23ba1d15b3b3b1543bcd2b9ffbb0624d03bbe0f943a300a4dbcd3a1b0bb6fa5ea3b685d9fba23152dbc849ec2bbf7c8fd3b140e77bb75d525bc5289b1bb5b96073cdc2fa6bb282520bc697f9cbbc17c1d3ca1f7d8bbe7c309bc0e9c83bb5b1c273c4512aabbd93cdcbb96f980bb2025223cadf7f8bb1186babb050b39bb264d183cf916a3bb208699bb86e51a3bede981b957090cbcb6aa22bc256bf83b2a2e2cbb11b30ebc9563fcbbed8d9d3b901c42ba522d20bc42fb0dba10e8003c010838bb539822bc1796a33a2a18aa3ba986ecba99ad28bc0050dd3b2da2ca3b88ff6dbb4b4a2abc64efea3bfb19943b0dd9cbbacac803bc05f70b3c1f239c3bbcd975bbdb6a16bcf53bfd3b66b0b23a5aacdeba34b118bcacdf183c5e22b03c2e38f6bceaa633bca773de3b4ced393cb33634bd200859bca6f3033cf1ce163bd37323bde7cf1dbcceaddd3b51f623bb906336bd35b701bc791be73b67c000bbfeeb19bde295e8bb5ed4bf3b444316bbc8cd13bde53cd5ba1f0dcb3b895afcb9d86ed9bc324b0dba40ad6a3b46ecf83ab18fc7bcc903963b6599143bf27eb63b12726fbc2999a53bf095993aa1b60d3bd24043bd6e755b3fcaab883e5e86ff3a62314dbd3e464d3f740b743ef4a562bb3152f0bc34172e3f4ae24d3e2a8f9abb99e0dbbc2089173f1eb3253e1522cabb94cb8cbc3e45f03e7b45f53ded7208bcdac768bc22f5ba3e116ba13d28b70cbca20f15bc076e7b3e81962c3d266ff7bbbb672ebc05e8103eccfb98ba36de11bcc8b0ebbb2f7df33c42a2e9bc321d06bdb881c33b0000000000000000438b21bd2155353c0000000000000000af4704bdc016ca3b0000000000000000eae010bd0ed22a3c00000000000000004aa3efbc7b8b223c0000000000000000421cefbcd63a2e3c00000000000000002ee9c1bc2a60063c0000000000000000a949a0bc0555313c0000000000000000608d55bc2d51143c000000000000000015890abc7df10c3c349ad63b73517cbc418fcfbb8902dc3b5826893b2efd86bc586e05bc37e2093cf794a93aeaa883bcc19bd8bb6207223c948ea0ba3efc6dbc592cd4bb4eb62a3c83cf3ebb751a5bbcb8e1d9bb85904a3c82e198bb3d3c3cbcba95afbb7a10353c5de0a7bbde9622bcf6cb92bb9bbc323c8de9bcbbe0abfdbb83ab1dbb96032b3c6cccabbb2a79f5bb9ce5233a0062843a214e1ebc1eeb47bc7935b33b8006d4ba6ff900bc1d7452bca188cd3beaf31dbbfba527bc5aebbfbb0a34d13b432bf1ba534b3ebcee878839b2e1ac3b7e13c1baec3b42bc56e0a83b57f1c63b661546bb1b2d37bc2549f83b26cac53bbe6f8cbb142739bc4630043ce7f8b53b329ea8bba03931bc4b3b133cad8cc03b291a5cbbd32517bc1365313cc901043dfd2ad4bc96e897bcad2f123c422acd3cd85e30bd9fafa5bcb52a483c10c36d3ca33441bd88348ebc86f2453c19712c3c1a8f41bdbee364bcca122a3cc8d7113c25cc2bbd52ee2bbc45ee1a3cb595e03bcd5820bdf42cbbbb7e100e3cbda6fe3b7f6b0bbd073b0ebb8374fd3b5bfe133c0056dcbc0344d73a0042c23b9cd12c3c719e9dbc41d31c397a0dbf3bf05a133b68f443bda251363f65b9d33e79a78e3b8e1661bd308a2b3f162cc03eb7c1cb39121034bd6780173ff842a43e322553bb4a8010bd9ad1003f934c843e5a75cdbb29d6d2bca935d13eb93a4c3e636bccbb317cb8bc1730a43e325f0d3e9b24debb19859ebcb2b1693ed3d3a03d17a6febb71108bbc3d960a3e6026b03c357324bc36cd1ebc750e243d364db6bc999326bdfd5fb63b0000000000000000e89554bdbd23373c000000000000000000f341bd6805393c0000000000000000791832bd775b2b3c0000000000000000db2124bd5db8273c0000000000000000045119bdf4bd423c000000000000000095700fbd43b5463c00000000000000006c39f3bcd55d563c000000000000000036dda6bc24c5fc3b00000000000000008312f7bbdfacf63b4ac2123c501784bc152605bc15eef03ba66ec03bfe7fa1bc54e2dbbb56a9f83bb07e5b3b4aa187bce9eef4bbd23f2d3c430bca3a9e2986bceab2adbbab5a2c3c6c7f99b966406ebc4cfef1bb36bb443c263d19bb07fe65bc3e95a1bb12d4373cbdce4bbbdb1639bca396a6bb7c303c3cbcac90bb1b341bbcf7402ebbef03293c384d73bb9fc80cbc03749b3a9227273b901801bc879b53bc2376703bdc2f873a4df003bccdcf5abcb5f8883b105b0d393c5114bcc375b4bbb124883b6a0fcd3915d12cbc1cef96baf8c6fd3ad49bd13a43cb1abc4fda873b41f7a93bbc34bfba552638bc48ce843b5e585e3bb226b8ba6de11ebcc71ff93b235d9e3b25f953bb221517bcf06b093cb1fce73aadd2fcba756314bc7a4c213c7c0e103dcf79afbce4f8c2bc07c3153c9e2f043df66017bdea22d6bc6e104b3ce8d7bc3c258d24bda7dca7bc74a8313c1bad953c405c38bd336e9bbc19e43a3c5dda823cf61805bd918374bc6054073c273d793c7d921ebd75bb37bc6153323ce60d553caa3ef9bce733cbbbba19fe3b1ab6553c945ed9bce5420abb9b15013cc6aa4e3cb8ce98bc1ad6d4b94721e43b571c843b1e1a34bded4c103fe54f0f3f0d8d6b3ba4944dbddc35073fd28f023f98a1c7385b171fbd4bc8ed3e70a2dd3e71c519bbe58c11bdbb94d03eab8bb73ed7b2c1bb0fd3b1bcb606a43eabb58c3e35f1a6bbe79bc5bcbff9883e03a24d3e173c0abcf09ca1bcdfa5413e3c34fb3de319c9bb8821a0bcc235f83d3dc13f3d68090fbcc2f24bbcfdda2f3d16eb85bc841d39bd99991b3b000000000000000082e65ebd9e0e023c000000000000000043e846bdcf80f53b000000000000000065164bbd6d0f173c0000000000000000697618bd2c548a3b0000000000000000fdfc35bdb303223c000000000000000045c319bd31b8213c0000000000000000ebb412bde52e4e3c0000000000000000b375dfbc92d51f3c00000000000000009a5bcdbb8c16ba3b618d223c449e78bca56bd9bba7f8ad3bee51c73b4e778ebc04e0eebbd0aade3b55bb5c3bdd0286bcc6a0e7bb64edf03b59dead3abe8282bcc270eabbb3c92e3c67dd683a5c2b83bc27daf4bb35cd293c3e0404ba737769bcc3e1acbb5a64263cb16412bb500238bc313f97bbbfa1193c439a42bb912a13bc7edc76bbfcfb143c3dbda7ba8855e2bb042dfdbab5d5d83a6393cabbd9a16fbcfe4d8b3b305b783a769db1bb665f80bcc4909a3bbddcec37025bdfbb6ff025bc7b1f783bf247573adce914bc5ac9a5bb85549e3b3aa0d0b6f4a51dbc43f805ba4c70c73bb19bf8baae8314bc1b15183b17e89f3b156331bbc51213bc1f586a3b930b8f3b79928abb4c0505bc4e1eb53ba59e193b2bfde0baf17f11bcca2eff3bb60d0d3d4bf194bc98b1e3bcdd9f5b3c91380b3d84fb18bd87b3ffbc1b4c5e3ca696db3c280a38bd835be7bc412b673cc9a2af3c112c38bd78d3c1bc1a82453ca0d09b3ce70928bd2802a3bcbc23533cba53903c477721bd84f054bc77922b3c5627783c397b07bded9019bcb8d8323c9acf613cf790d9bc365492bb6d40043c1bac4a3ce43a7dbcb0997fbb7d7b003cb6cb943bfe4b24bd45ced53e9f21353fe1c3d93b96cc41bd6716ca3ef0e0263f01cf893b56ac28bd9db3b63e70f50f3f6d244f3950860fbdbcc79f3e78ddec3e8cb0e1ba6827f1bc9c4c863e01aab83ee5cd67ba5e3cd7bcde4e583e3565863ec75c6dbb8846c3bc3452223e8ac4273ea0443abb9eaababca45bd33d932b8d3d44c2a9bb78f768bc7155283dc81128bc6b7e43bd9d7a933a000000000000000078087abdc2c1033c0000000000000000f3896fbd671f033c0000000000000000470b5bbdf7c90b3c0000000000000000c7764bbd26a2e33b0000000000000000ac474abdc22d363c00000000000000004d4d3dbd05c8373c000000000000000094b32ebd8074803c0000000000000000330002bd8364243c0000000000000000ae13a8bb190ec53a9d4c0b3c3a4546bc8971babb63fa473b82d0ae3becc078bc6fd5acbb7b39b23b3733863b0af15bbc2771c6bb08f7c63b38630d3b50e880bcc0b8b2bbdf38f93b44620d3b7f9965bc65a6a3bb13f1e93b0ba2f4b9be6a47bc3ed395bbc7b8ef3b9494f43adaf824bc596580bbc991cb3b192596ba6b33f8bb12ea15bba8dff73becc56cba42378fbb7763da393e39353bb59835bb062b80bc21857e3b4a6d8c3a1ac8baba651a7cbc69d9e13ac9233e3b9fda67bb327c1dbc7374f23b6d6318baa2c0cebb0600d1bb4e52963b67caef3884ceccbbfca443bbeba99a3bf61a3cbad868f9bbb0a9f9b9cfac343befb945b9bd06bdbb6bc70c3bfece723b24e68bbb74ccc3bb445d673b7a303f3ba5d41dbb3366c7bb4e74c03b59f1ef3c4fc588bc7bdceebc6f40193c449fe83cd3b714bd3b9f11bd5d4b653cfa88b33ca92711bd5058ecbc075d1c3c64f3b13c6d3430bd8933f0bc23e5733cc1a9a43cf6dc13bd3876b5bcde7e183c6fea8e3ce28114bdf10c98bcedd4433c7721513c7707dbbc2f1341bc2a290e3cb0b0383ced7dbcbcc8c0c2bbd068283c4a413c3cd6726fbcbe4861bbb613ff3bd143ad3b82a108bd57c78b3ea6025b3f09d0e13bf3a21abd826a843ee84e4a3f9b55de3adebceebc43d86e3e660f293f7f6f4b3b1c5af5bc43f6583ed5580f3fb93d393bd438d0bca06d363eeb79de3e8357fb393108c8bce5bb193e6e05a53ec75847ba2bb09fbc8d58dd3d927a523ec31fb8b9507aadbcd8219d3d6113bb3d474516bb46a280bccb09123d01aa10bc94a143bdb881113b0000000000000000a63178bd9714d03b0000000000000000aaeb3cbdd2d70f3b000000000000000080d752bd1ce9633b00000000000000008a5d3dbd5622bf3b000000000000000051d24cbd0e14013c0000000000000000987c28bdc6bcc03b00000000000000004f6835bda17e563c00000000000000001e4f0ebd0ee11f3c0000000000000000747320bb7f949dbabcb2b53be6e212bcbf58febac26667b97ed0113b0a292bbc389d9abbeb99cd3ad97ddc3a2d2c27bc1b7a9cbb02569f3a589a063a35bc16bc28c694bb9c555d3b801ee03aa73e29bc8ac8a5bb1d9f7e3b37e3d93a29471ebce09853bb91bdc13be2198a3944500cbc7dd151bb2acdaf3a43f0273bba35a2bb5b2e22bb44dca73beacecd396c5aa1bb16e1a53909b8323b8ad84cb95fa75fbc2770a63b1f82033955e44c399c995abc8afea53b4d2eb63a0f9d98bab6801cbc51e8723bd09c903a1a0312bb9cc6aebb68520c3b0161f73a270d62bbed5784bb35e2803b7d1bbab9a4781dbbcc1c14bbf9ce893b095c0bbbf87e4cbb358c05bb435d873bfc7372bb973f0ebbb3a7123a1b8b503bf6c037bb4d5931bb1812033b3382a93c6a6491bcc5c003bddb07053c64908f3c2cd31abda2fe11bd4d754d3c39c38b3cb08038bd40e307bd9b90283c85f9743cb3c62abdda7bffbc6b97493c55a1783c838d19bd4f2fccbca993393c224d563c58fc0dbdeb269ebcdd8b2b3cdd4f2a3c738deebc97e655bc47c42e3cd14a733b5fd09bbc5921d6bbcdb70b3c40451a3c014e24bc5f1d6ebb1ac9ef3b6510b93bddd0c1bcde7c023ed0b6803fff5f073c5438cebc50cafc3dbd266b3fe6b0c13b00e1bbbc2d55f83dc8104a3f3deda13b0f8fa9bc20e1e53d29bc263f6eba393b2e499bbc8904cb3d7381023f2cc9653b366999bcad02b03d9140c13e0c272c3b3caa96bc75bf8d3d5c81773e7497283b3f0884bc23f43b3d2c8ce73da20d533ad10362bc58c1d63c9276dcbb43a52ebdd818abb80000000000000000c0a148bd2f8fa43b0000000000000000b5f03abd5c40583b000000000000000077732fbd1188fe3a000000000000000095a126bd09b3c43a000000000000000094f82ebdfeb18f3b0000000000000000004f36bd5c6bd43b000000000000000022dc31bdb5851c3c00000000000000006e740fbd2437053c0000000000000000000000000000000000000000000000005b11a0b9637808bb34e97a3a43a0d2bbd3e5e7baf7a1b7ba4b1e50389363c9bb550f0fbb9d46ce394555bf3a36f9fcbb9416efba0e7e6a39640b233b89bef4bb22d247bb1ee09b3a75ac193ba222dcbb10a41fbb2ac6853994fab13ac0dea1bbdd42f7baee190d3b1d42fa3a318460bb00000000000000000000000000000000000000000000000000000000000000003d630b3b2a68003bd45be53acc980ebccb242a3bb9d0b33a9cc407ba1aead4bb4e4eae3aab851b3bb86e63ba68f69abbd2ecc03af44aba3a8c85a0ba6a1c55bbc39fa53aa800ab3a03eb0dbbb68a42bbaf4b593b6e9a4cba413933b98d8113bb987a033b7633beba3a47a437f65e0fbb0000000000000000000000000000000000000000000000000000000000000000f25d033cfd6fe9bc88dcfabc4b29c53bba99e63b3ea806bdc975d3bcf18bc43beea6133ceb9af9bcc60fc3bc5627b63ba6bc0b3c2f81d4bcf44ea7bccb35bf3bf51f053c9839bebca1e684bc5272bd3b2e9aaa3bd5ce99bc75af39bca018bd3bb3ccbd3b85e855bcfe10f6bb13e3dc3b000000000000000000000000000000000000000000000000000000000000803fee459c3bf41434bcd153b7baa988803fc06e9e3ba1fb0ebc76ba093cdc775a3fdeaa5e3b6d8c2bbcbd70793ceec4343f337a133b77841cbc40b1963c45490f3f2f2d603be6b30fbc1ff9a03c207ad43ec91c513baaf417bcda90913c7e238a3e6105713b83b82dbc7ec5903c213c043e00000000000000000000000000000000000000000000000000000000000000006517cdbcf2491ebb00000000000000007ee0b2bcde6796ba00000000000000006fecb0bc356c29bb00000000000000009deab3bc46e127bb000000000000000001b8cebc708abcba0000000000000000680cd4bc280e4bba00000000000000004b0f05bd5bc83d3b000000000000000000000000000000000000000000000000000000000000000000000000000000003e7897bb8e4c303ccf40263da33e513ad9369abb8a056d3ca664213d6d55fc3aed5eb8ba63346c3cffb5023dc709bb3b3f0c52b7f737523c295ed63cf6c6b83bf4f01dba66d33c3cc208873c2b675f3b4be76db98119dc3ba4ee2e3cb32e283baae498b9ff30113bcaf73c3b69a88e3a0000000000000000000000000000000000000000000000000000000000000000b18f6abb8ece75ba18eca33bf14905bcf37435bb13eaf6baedc0333b20ef95bc15b198b909da03bb30090aba0e11c9bce1d83cba9e6e0dbb67bf09bb62f9cbbcd67f933a830720bbad5d8cbb53dfa3bc2a26123afe43bdbab22d76bb54b738bc92bc9b3992ac06ba674badbb5480d6ba0000000000000000000000000000000000000000000000000000000000000000cd5660bef045823c3649f03a8a70013994fe59be641c393c5ade413bfc10b23ad80a46be435a0539e12fbb3a56248a3a3c6720be386a36bb3c9ad33a153ecb3af695e6bd5cdf0eba6ddf67bac97f1d3b8a3284bdf41dc4ba3afa16bb98a2da3a99c87dbcb59b82baf1821abbb2ec033b0000000000000000000000000000000000000000000000000000803f000000002490963cfb0cd9bd2310ad3f7a23febda1b25c3cf3fd59bdd0bd8f3f2903b6bd19db233c4f1af2bcff8b6d3f360096bd68ca153c1f612fbc6a91323f2bf065bddf28123c47c7e63a9b6eea3ed8b024bd86fdc43b02f4073c25a76b3e1d0888bc6ebace3b52a9e83b2ffa4a3c544ea23a0000000000000000000000000000000000000000000000000000000000000000dc509a3c0f9d90bb00000000000000001893423c6a9686bb0000000000000000d36f0f3ce57fc7ba0000000000000000f36dd83b3e4041bb0000000000000000d134da3be152fbba00000000000000000829023b5c40b7ba00000000000000008beea2381f548aba0000000000000000000000000000000000000000000000004db5f9bb4546e83beb069f3cf62ca0bad19a2fbcd5c9563c26931b3d13743fbb4f89c3bbfb03723cf7b72e3dc2e4623b010c96bb9cac843c4ed81a3d4250003c7f7b6fbb1481783c6caae03ce4e2c03b23432cbb6bb14d3c0ae4b03c679d8e3b3055cebae96f0b3cb06f303cfecb363b2b2dffba30d1913bc9f8223b9b7b013b1b43deba44ea9a395e0367bb91823fba083d28bb10cf253a304a663c7c7180bc216e5ebb3e180fb95b26383c4322d8bbf6f022bb915918bb408e183c9e41babc51dc1fbba9fe22bb1daebb3b3d55d8bcf9bb0a3aa4113fbbf173453b76edd5bca550543a8bbe73bb9bdcd1ba383891bcbf3f353b61cc3fbbc4f590bba7222ebc890c7b3bc5a95ebba261e5bbe1652b3ab5051b3b504ad0bae9487fbb7f07e53b56b3ddbd4c64c93a49370b3ace6845ba5a7842beedc0983cb8f295bb97a41b3b855e5dbeec8e91ba1385e03959d4ed3a52a94ebe058e18bcdd45003b2f7c0d3bdbbb26be33111fbcb87f163ac5cd193bcdf1f2bd558928bc754a72bafe86583bd3c989bd584dedbb7a500fbb852d383b6034a6bc362706bc66bd4cbb32b2483b3d22663c3508173b1b363dbb566e7e3ae92a2b3d1c9358be941dad3fcf775c3c63122e3df45a40be961ea03f9341913bb286043d7d9915be2e0e923f39a6b9391df9dc3c80c2dcbd7bdc713f2f7788bae5b9bc3c2afb99bdef8b363f8bd52bbb5f09b03cccf552bdf67af33eb7186a3a1b679a3c86f5fbbc84fa793e16b1973bc97c833c8e2334bc87dd3a3d23c2ad3c071b6a3cff929abc037ac9bd3e7ba6bae4f768bca7de933b0000000000000000a05214bc456645370000000000000000961c3fbc1262143b0000000000000000626923bc0f4a98390000000000000000e2a9f6bbc70add390000000000000000342504bc3971673a00000000000000005466fabb11f9233a0000000000000000e6a437bce8cb0b3b0000000000000000675945bad7ae97b60000000000000000a015b1bb450dba3bdb82253c4b53553b8eeef3bba38b333c58fdd93cd478083c635cc8bb8070783c86edfb3c7140553c368e9ebba0de863c3346ec3c6c55533cb4d727bb3e614e3cf2cab13cd106133caeac77bbc6156a3c25197b3cd71a053cea1946bb1338263c6ef9ef3b2789bf3b90266fbb7361ce3bbe6f023b49d6ad3ae1892ebb28da553b94b58abb552240b9956b23bbf82e70ba7e80843c6354e4bc642d48bb13d8e3ba63028a3cc1fee3bc6facd5ba7d107abbda2e553cc08c07bda1f925b902ee66bbaa6e263c65d105bd6d2e1b3b765758bb8961983b0aa2e1bc99f53e3b8c7d7fbb8358153b4a2da7bcbbeb1c3bcf3c7fbb084bdab9334c53bcd7bb993b264c89bb020673bb9831c3b91c10143b588e10bb347831bbc332e73be93948bdbf4391bc8011a9bae464f63afefc0dbe31def7bc434b753b21902d3a90d627bea7942abd5d81da3b9098063abeea2abe8c071cbd37b3333b105ac33ad80006be214b06bd3954343a8e001d3b8d92d6bd9cdcbabca30ac6ba8d9a163bdcc077bd26a469bc600afeba7754033b56fcc5bcbd887abb352467bbf988053b71b5823b01d8d73b556882bbd6ddcf3ae604303dd8bc56be21a38f3fabdc683e7543493df7d55dbec2da913fcbf8403e03f1203d3c612fbefe89823f198e253ea79d0f3d92ed11bec0cb5e3fa917ee3dff0ef13cdf9fd7bd52db293f5d3caa3dd486ee3c90bcabbd16d0ec3e33dd4c3d28c7d13cdae473bdad95833e90629f3cc0b3b83c8c0b24bdbf9b9d3da7f05c3a7ebe983c94aa0abdbf5f22bd6bd4a1bc278077bd9ade5d3c0000000000000000da1f6dbd3f4f633c00000000000000008eb94abd72b41c3c00000000000000006eae1dbdce80153c000000000000000067e3f4bc43a38b3b0000000000000000c78fafbcb431a63b0000000000000000195851bcaa37893b000000000000000054e3d3bb1fe3c73a0000000000000000b516d4ba12efac3a0000000000000000383631bb8dbbd1390c75fa3b9d7ede3be3c4c5bb258a303c2ea3973cdd51803c50aaa6bb4d0c533c15ebc63ce7be8f3c4c955fbb6dfc5e3c1b7ac23c7c15883c058087bb91b97e3cb3068f3cf598663c6dfe58bb627c493cae75453c754b193c7c122bbba5221c3ce6b5af3ba08bc63b720391bbc6f8ec3b9a82123aefefc23a48afefbaacb1463be82c95bbdfd130ba579044bb674006bb657b853ce6cd19bdbcd513bbb72386bb82be8d3cbf450ebd3105cfba9a8331bb05a8793cef621cbd51ff353af303b2bb6461133c498309bd1bd9043b5b48b1bb09a0113c696300bd4766633b26d6a4bbf88a723b75d0ccbc6c5ea53b2ebaa2bb53883f3a9e1f48bc92595b3bf37989bbb3de5cba6c416abbe911443b228a21bb499136ba5fc4a13a28a58fbc28583cbd6166153bd51f413b1122c1bd03498ebdba342d3cca4f023aaa2c03bea4f3a3bdc786013cd952c73a19b103bec4068bbd4a42c43b380b1a3b5d7ae7bd450672bd2d65953b14b2283b7889abbd88a623bd518babb925be483b8b055ebd6d07aabcb1430fbb7025bd3ae665b4bc8b7681bb0b8e2dbb91d5b43a9ce64b3b156a0e3c9a0fa3ba39c520babd651d3de7b544be28e46d3f5a24e93e81fe3b3d77fd50bed7f2703f594bd43e7b84223d4e6332be44d35e3fcaf7b23e5e660b3d791311be51683d3fde3e873ebbeafd3c34cff1bd6df7163f98e5413e0f3de83cc146b7bd4151d53e74f7e93d88c7da3c3c8b93bde1717d3ef69f3c3d76edc73ce1d255bdeacbc23da06ecbbbe253943c8d5531bdf06510bc64be44bd509ae5bda86dbf3c0000000000000000c14be6bde20bc33c00000000000000005fb7bdbdbe969c3c0000000000000000afe592bdb707703c0000000000000000c5a563bd9fee473c00000000000000006a3b19bd6f7b0e3c000000000000000099e8b6bc4963e63b0000000000000000b0a4f3bb1d73403b00000000000000000a15643ada62603b00000000000000001e79dbba9d4b7439cee6043c0caa173cab1d81bb3ce4d63b79d9783c4c95ab3c27cc80bb562e143c33289d3c9509be3c2d2f5fbbc80a543c2223a33c3942b73c31b603bbefa1083caf935c3c73135f3c05ca5dbb533f3a3cd5373a3c67723b3c8d6c73bb6464243cf19db03b566bc23b352c3bbb156bba3bb12b41b954a61b3b0f7749bbab6e253b923bb8ba36cd53bbffbe20bb8d45cfba2585743c594c1abdb27616bb53fe95bb3cf7623c85bf0ebd86731239c15ba3bbe0ee513c26620dbdf820933a3763a9bbf9e11f3c88d211bdaeae793b621672bb3979af3be026ecbc131d083b334438bb446ade3b7cfcc8bc57c17a3b44bfa2bbb2173e3b5ba381bc5997853bbfcc83bba90555b9c399c7bb4f5b723bab128cbba49b053b04b75539eac3023bea178cbdc744183bc045633b77836fbd3445e1bdcc98603cbd8ed23a2e23aebd8e30ebbd8c59183c2f5b3c3bd9c2cabd0645dcbd9a49ff3bf3a3103baec18fbd8c789ebd2d1e30ba3efa6e3b2a3390bd781e6bbdc135813b2fe1ed3781752dbd6528edbc6613cdba262d8f3a30e08bbc8c0aa4bb38b519bb01d87e38e5dc9d3a6ecd4a3c17d6a2bacae602bbdbb1013d698322be4232333f7e1d313f0c2e193d86fc29bee1dd363f9608273f87d5fb3c50a30fbea054293f90d80d3f453af63c145900bedef7163f7cebde3e7224ad3c5417b1bdc02ce73e144a9d3e3f47c73ce017afbd465db63e153d3d3ebcd1ac3c7ae184bdaf7e5f3e81f99d3dd861ae3ccc6a54bdee05cc3dc77049bc818c843c463329bdd08f233ce64c88bd52d41dbe63a0f73c00000000000000004d7120bef852053d00000000000000007bdf03be3468d03c0000000000000000fa81dabd08eac23c0000000000000000742391bda0ce443c0000000000000000bf985abdf3a0533c00000000000000006617f2bcdcb9293c00000000000000007be9e7bb95be8b3b0000000000000000cbc6cab91e53c33b00000000000000007a4999bad12ada3adc80403bdeea3d3c72c338bba982a13b4c02453c5af9e53c2f93cfba467cda3bb73c8e3c21c0f93c9c6c26bbb192203c456b803cfc42db3c0bd8dcba0fe71b3cb1b5663c55ccb03cef2d37bb567a2c3c68da1c3cb3e7753c7f5e58bbbb26003cb3dfa83b27bd1d3c1c570cbbaadad13b40b689ba3285223bc1091ebb22484c3b0c755bbb595f85ba798b22bac75289bb65cf223c9c59fcbcf7db9fbaf658dcbb0b72283c4bfdebbc0af6fa39b33feabb6848e13bb7afe0bce591863bc18de1bb7714e43b3c4dddbcd1f0153b1e51a9bb5360c53b62eacbbce2c18a3b43d8bdbb3e7f4f3bf3609dbc7578523bfb74aabb13c33b3bc73276bc2f08973b92edbcbb3970d7390bceacbbfe66e53a3da31bbbedf0103bc2fb4cba417d803ca10bb0bd5f4fd13b89b9eb3afafb01bdcddb16be3a70ab3c1d2ad53ab64d7cbdfcee22beecf88e3cfe04363b42e08bbdd25710befad4343c1d1b1c3bbe0b8cbd547be6bdc4d9093c3bcb333b831064bd9d1a98bd20ff263b1dd4f63a130b17bd2e531ebd6058953a30c88139bcb696bc735e98bb25504fbb4218deb9e8f57c399481593c0cc840ba18a870ba1f4ebe3c4cf5e8bd6b24eb3e915a6c3f8214f63c0b21f9bddfc8f23e438b633fb7afd23c2d97debdf329ec3e00db433fb77abf3c9c5ec1bdac20d33e5e8b1a3fca3db03c9992a8bd3d21b43e5b72de3e22fbb13c808190bd58fa8b3e6d37863ee907a13c224e64bdd7973b3e9036de3da5a48c3c6be733bde8d9be3d9dac3fbc789f4f3c78c00dbda127a23ce123a9bd2c2440be7df81f3d00000000000000004acf4dbea6a92a3d0000000000000000739127be8c5cff3c000000000000000070e604bee15ed63c0000000000000000d060c4bda50f933c000000000000000036d27abd5562583c0000000000000000b48effbce009143c0000000000000000d0bf30bb0366743b0000000000000000968ef63a0bb18c3b0000000000000000194454ba64b14fba9f9f413b5299853c924519bb4264223bd1360d3c58fa083dacaababa074c8b3b669f6f3cd17b123da6f21cbbc3dddb3b07b7783ca8570d3daf943dbb4bfde03b1533473c8d23be3ca7a81bbbcfa1f53bbad7113c52a5903c4d2919bbeae4dd3b7c11a83bb35d263c79304cbb9d64a63beb1ffb3ab0dbcc3ae5a89eba4dbbcf3af3e3d5ba080b30bb8125c2ba2c74b5bbb77acb3b6bc3a6bc31e90dbbe712efbb0f9cc23b9c4f98bcc4b8113bab3700bcb5199d3b773f98bc08d5173b9e42ddbb465f4f3bee8b93bcb4e09f3b1c06a9bbe87d133b865b84bc00eb3f3bded98abb8d597c3bd02288bcfdf1553bbf8a82bb2706033b6ab83dbc1f99853b5cc379bbfcf73b3b653ef0bb2732f03a639939bbf7eb293a94d693ba8a3ca43c18e6d4bd5acc7e3c5baffa3ac2cd38bc489e3abe03e7003d7d7103bb41981cbd414a44be1ea9a13c6b86bc3a8b5a45bddcb034bee0b5773c0b33c93a037d36bd088907be0fe1fe3baa03883adbd225bd9438c2bd652dc73b45d0d4baa8c8f7bc60f241bdc9230c3bc288dfba8f386abc023b17bc058a0dbb36542ebb2ebb9b3abbe8883c0feef2b9a9f841bb3b47703ca1d882bdb9746d3e931c8f3fb4388e3cc8f088bdd19c763e32998c3f968b793cfb0882bd83af813ea13c733f7c1d7c3cda116bbd675b753ea439433f0a81693c6a973ebd9f75563e0a540c3f23e04b3c3cbc37bd0f41373e4113af3e2958463c3aa914bdfe8e013ed35e1c3eac4f1a3c2561f9bc2f259d3d5f24e9bb1c7af43bccb5b8bc6eefab3ce71acabd2ea254be385f313d000000000000000062e360be042b3b3d0000000000000000183137be0f060b3d000000000000000035e611be4f47d63c0000000000000000a372d1bd8119983c0000000000000000ea0687bdc6d36d3c00000000000000008d640cbdbe480d3c0000000000000000bf30403b726ca83a0000000000000000f6245b3c377ffd3a0000000000000000bff93539b591e4badd60a33a2739c53cd6b60db93213f0ba0841033c4d5f3d3d8f0d87ba9671a23ad9a75d3cf1b03f3d7b0c02bb300e523b3265783cf95e273d7f2872ba7cb97c3b9ed6533cdf69003da07822bb1ffabd3be431213c9b8bbf3c138b34ba3ad96c3b6b6da83b6288483c8b4a1abb0e95873b0849693a4bd1593bd42433bbacb85d3bf07930bba1c563bbae6a23bb6006d0bb52d5f83ab163ddbbace807bc256bc3bbef930b38f6fbefbb0f87fdba7dd5f2bb0dd204ba3aece2bb6792923a4242adbb787fe939e25df9bbd1eed03affe393bbc3cefdb860cd12bc65be313b2fde4bbb340b003a4bd825bc4138053b0c831cbbd9d0ae3a743d14bc90953d3bf6cf92ba18730c3be2cfe1bbc5df9d3a7938a4ba920b873be9cd3abbe7d6803c943c10be43afb33cb97006ba3373883b85e55cbe44084a3dd9e204bcc99aabbcfeeb6dbee222ee3cc5a0073a35bc08bd3ee957becdaea23cc17801ba3f9e07bd918e26be745c2e3c61a423b9d529e8bc3d85efbd8663e63ba8ba8bbafc5ca8bc061f74bd858788b991b707ba44220ebc5a4e2abcd6ddf2bb60e0d4baea9cc13ae781b73cc5548bba1dfb5bbb55b7823b3a8f79bcd8f7833c93c1ac3f39caba3b2eb17abccb00293d4de39d3f554cfb3b3758a0bc70b78e3dc68e8c3f1ab0c63bde88a4bcdfecb03d2ba6633f1068d73bac8792bce028b53d9e47263fc158013cf43791bcb502ab3dd0c6d13e063d8f3be4526cbcaa2c923d4aef3d3ed90d963b21ce5abc45b6583dc6f13cba402d253a84ac0ebc9269743c12ba07beb65756bea31d273d000000000000000019024ebe5e03253d0000000000000000993329be9f59e63c00000000000000008cc705be09e3b13c00000000000000002f0ec0bd923b853c0000000000000000699667bd88bf053c00000000000000005016abbca960423b0000000000000000de79be3cd725f9bb0000000000000000d031983ccb0ddeba000000000000000000000000000000000000000000000000ff5c1dba3880b2b89862143c2fa32e3dc9f990ba9987973a986c3a3c559b293dbe71ddba90c1723b5329693c127c0c3d6f038bbae63a303b77112e3cb0dcd93cd9e696baa988583bd0da163cbb44973c08ad0fbbc95a5b3b698edd3be091333cd4be51ba092acf3ace38fe3a2307fc3a00000000000000000000000000000000000000000000000000000000000000007e25abba954ba3bb422594bbf682b73baef1033b8cae67bbf01f59bb6988923bed6acb3ba4e49abbeeb030bb0ca82a3a585a9b3bc6111bbb59f4d2ba4b0505ba12816b3b50a6a0ba2bdeabbad33cdfbae45f223b9f6323b98f15b8393c632cbbf1369b39311baa3a25c60a3ae62015bb0000000000000000000000000000000000000000000000000000000000000000282d1ebc63ac61be49c4aa3c18f0cebaca7db5bcdeeb5abeda10703cc39dc3baa3bff9bca65a43bea3f3c23a51d5313b0e8de3bc35181fbe607eb7b9c78c133a5024cabc7ea6debd8dbbe5bade45e039653080bc27e279bd576499bae0db1abb19d8c3bb5cb738bc803939bbee84d1ba000000000000000000000000000000000000000000000000000000000000803f6a8631bbcce7953cb2bbcdbdefe2ac3f60fe46bacad32b3cc0183abd585a8f3f1f67063a37bdc33b8ef2a7bc69b36b3fd88f94baacc0b43bb108e1ba4790303fb3c91ebb0293c63bfd59043c6e05e83ecbb765b97a2a9a3b42b9313c96ba643e435c34bb85ccd13b200e093cffe9283c0000000000000000000000000000000000000000000000000000000000000000812203be6be29d3c0000000000000000296ebbbd31c4453c000000000000000095bd96bd6b5ff03b0000000000000000fa2c5fbdfd79813b0000000000000000432e18bd7522473b0000000000000000ee5e55bc89d614b9000000000000000060299a3b9b6452bb000000000000000000000000000000000000000000000000000000000000000000000000000000006fa292bbb600523c6985133d49539abafa1a3ebbc9077a3c41f11b3d1ad73b3a7eb5b5bab1fd623cacee073d4c95df3ac75952b96ee7433c669ce73cd828013b936fb6bad82e3f3cff88a13ccc9e2b3a321219ba0fe7f13b6780523c63ae9dbaff849ab803114c3b8695883b025ffbba000000000000000000000000000000000000000000000000000000000000000075e194bb7ab0a63a8be8f83bfa09abbca329a6bba29c7139434b903b051dd9bcb28570bb71e89e399835ef3afadff9bce47249bbe642f637dedc60ba1234e3bcbf9052ba7c6e5abae04771ba51f5c5bca1f05d3913a129ba3d4ef3ba4e095bbc2faacd3ae514abb9640b2cbbc57a56bb00000000000000000000000000000000000000000000000000000000000000003fbf54be9fc0ab3c3b280cbbcb88d13a42475abe95c2c63c235a16bbb034293b7f7747be289b983ceaa2d0ba378f183b843229be6fdf953caeba86bbe5e84d3ba03bf8bdee40953cea7081bb0e3f4c3b38959bbdbe3c893c8ce9cebb230e853b5f46c8bcc0b54b3c9313e5bb45315e3b0000000000000000000000000000000000000000000000000000803f000000000aca823ca52bbabd01a4ab3fdd6202bec4b0293cee5b2abd6ee78f3f414cd7bdc390123c37e689bc70336e3f5bd9cdbde83bf43b7de6d938b1a4353ff09ab2bd161c023cc8a5ad3b696bf53e2a6493bd88b1123c7aad9f3ba61a803e5b0a2dbde138323c322d19bb4baafa3c24828cbc00000000000000000000000000000000000000000000000000000000000000006101a13c144d84bb00000000000000005ae3733c742391bb000000000000000033015b3c0d4f6abb0000000000000000d590303ca4002ebb0000000000000000511b0b3cecfa54bb0000000000000000fa4d903bab5f39bb0000000000000000b23bd53afd1605bb000000000000000000000000000000000000000000000000fc2ca2bb18480e3cbe763e3c054c813b79b4eebb9c0e933c01bf043d107612bb8e7dc3bb13719a3c1e9f273d4331a13801638bbbcd1f963ca52c163d803a543b3b717abbcd298d3cb83ff63ccc9a463b0e6987bb8b137e3cd3cca83c27e9fd3a452792bb29963f3c41ac4b3ce0cd3b39fb3ba3bb531ebb3b5795d43ac8c8a43a1b0c45bb667cd13a0140a6bb21548239bd96bfbbc2fcdd3a4a02b93c45f32ebdc735cebbe8d7d63ad990c63c0a4b2fbd02deb1bbfe086fb9247e963c60dc40bdb17fb7bb2316e3b986ba533cb30839bdaa0f58bb267783bab39f343c952029bd043378ba3c6102bbf8ebf03ba945f5bc5206003ae74bf8bad941913b0f488bbc17034c3b753d44bb62b6033bd30fff3af2d1993a433cf5b9e8cf0839aa47ed3b5d1ea0bdca8186bc2b3bbd3b1e834cbaec0332bed6386c3cc9dfd0ba7f82083b161456be9750093c437d10381aea2e3bb7304abe0007c33b62dd8a3a112e5d3b8c9e2abe7fc7d43b262b48baf2674b3b5b7003bedc81423c47da9abbc8ca823bafe4a2bd93b2463ca4fbc5bb77be8b3b038ff2bc7b35ee3b09a00dbc382ea83b342c033ccc464e3c74c113bc1b83623bc501053d79a842be479dab3f4a05863c206d003db33a2fbe7103a43f0bef83bcbed3dd3c2cae07beab08953fdcb110bd5e2bcf3c7960d1bdfece793f821a45bd42b3bf3cda879fbd0883413fe58867bd32babd3c050083bd8fe4063fd8556bbd7e66c53c4d055dbd1cfa963e84ba3bbdbf86d93cff934abde3e5a93d210e85bce2e4bb3ced5a44bd300c83bd0106efbce00d19bcdc2f7f3a0000000000000000f96f3fbb7bde87ba00000000000000007179a9381ac0f6ba0000000000000000aeb93b3bcf5e69bb0000000000000000da62b13b4c9743bb0000000000000000968cf93b274731bb00000000000000009905b13b48c91cbb0000000000000000a131413a1391b5ba0000000000000000ea61083c872a18bb00000000000000001b113dba9404433b8c25aa3b43af063cd736babb26e9773c3eff873cb2336b3c760eadbb68be7c3c0be5c43c27e76a3c3354a9bb54988f3ca3a2d43c65da5a3cd6aba3bb2a9c843c425ea03c0af21b3c59c9cebb80e8893c5635713ca3fceb3b6cb59cbb72a06c3c5dd6ab3b53a5813bf94dcabb377d253c55ba96ba121c253b43fc99bb6b9aa53b1a13eabbde93c13acca09ebbd453a4b9ccdee73c7e3983bdff4210bc837de4391ac6f63cedbc88bd74a0f2bb577315badaccca3c28777abda4e8e3bb43a8adba07a6b73c648470bde4a82dbb2f5a03bbb47b833c913645bd874b27bb3a701abba9217a3c5d811bbd6d7363bad624f0ba6bed053cff63d5bca303b93ac62b1abb9f72ab3b9467fdbb7223473aae91b6bafee5993b95fbe93a26df11bb6bbb5bbd427f4b3c02264dba04fcc6bd291654bd9a95603caa84acba846104be865350bd2c9b6e3c8016bdb9ed5319be577c09bda73b203c38e1603a3a31fdbd2208cbbcaf1e983b99fde63a690fdabdbf5202bc997acc3a73a62d3b47b686bdc94c4f3bbc3a81bad93e233b26a102bde7f3543c92da0bbc9aac793bfc3d353b27c36c3c2419ccbb7489d13a1375073d859740be2ded8e3f7850633ee4c71b3db0e348be6f2d933ff70c213e3e72023d2e8a21bec6c8843ff2b9e33de39e073d9ca012be4a776b3f39d5393dc093eb3c0b1fe8bd5f96393fe389033c8314fc3c120ed8bde2e40a3fe37203bd2576013deb18b3bdaa61ac3e90f45dbd9bfe123d2f07aabda4b1193e132481bd10fde63c8c5b93bd33bb7e3c79d984bdbbf144bdfefdd63b000000000000000093241bbd3165b53b00000000000000003fceebbc8135233b00000000000000004bf66cbcb5f7583800000000000000001545d0bbcf1132ba0000000000000000ad9a2f3bdabe2cbb000000000000000078ec033c0b0373bb0000000000000000a0f4743c5e6f91bb000000000000000088fd633cf7c315bb0000000000000000cf6a8fb99b68283ac9e19d3af5d0353cc97621bbcf47163c61b50e3c2c6dd03cb4df88bb0904753cb8358d3c215ec63c70e494bbbbb8753c0af29c3c7efa9d3c151ac1bb476b8d3c0353893c831c913c9aa0ccbb086e863ccbac2a3c20c6403cffbfe5bb5fa57c3c9b63843b0cded93bc668f2bb214b4c3ce18038bb1fb2343b131d87bbba62c93beb09dfbb49a52ab9b07691bb1b9f66baab2adc3c0f2093bd7da63bbcb9d11bbad6f5033ddcb79dbda5d91dbcea9abcbafb5ede3cfd188dbde03ccbbb7a9bebbae43cc33c19ba83bdae1de4bb52ae0cbb324eb53c2eac68bd5b7776bbfbd515bb03da843c08cf28bd8ff3b0b998ca21bb6364593c8878f0bc5d4bbb3a7f770abb1e5a1b3cdea666bc906c623a2f53dcbaa6e0cf3bb100a8bb15152f3deda4b9bde424953c8ff31cbb3c761cbd1197dabd0c59ea3c65be39bb56b8bbbdd347c1bd4c1fc23ca1c60ebbb2b4d5bd4f669abde2f38e3c9b407cba36b2d1bd16096cbdd3c9873c179869b96d5baebd7aede4bcfae0cf3b02aba23a086878bd85eec9bb12008b396f82383acb10e3bc12bf3f3c9a86c1bb3a13ad3a10b8503abb72843c581d5dbbef6c163a790af73c34ab2ebe8d1a6a3f93cce03e784f0d3dc44e3abe2f97733f3fd3be3e67540a3da2e42abe2a36683f6b6c8e3ecf22f53c210a13bea0654d3fc18b3a3e2c17043d5d0506bee7cf2c3fdafdbd3d4857013dd773ecbd52f4023fd9858c3c5f3e093d40abd8bdec41b13e4f1531bd9a190e3dd720c5bdcc0a3d3ec0edadbd4da2d93c0a29a3bdace17f3d470dd5bd2165b5bd2e896d3c00000000000000003fc0a9bd368d263c000000000000000081d778bde1d9f03b000000000000000044b924bd40c9873b000000000000000058bdcabcf60da03a0000000000000000cf28cdbb09d9f1ba000000000000000001afb43bd95a01bb0000000000000000678bb03cda32bdbb0000000000000000e02cb03cbd237dbb000000000000000059f4283b866f8abbd8ca133be9445b3c309056372f41653b6dd0c03baf06f53c201705bb6d41e83b59d0533ca501dc3cbf7b84bbf860533c939e6c3c3d50e03c47dec2baa008d33ba9be2a3cbbef793c844bbdbb2f52753cb4c0153cb4907b3c56bdbabbc514503ce62d253bfe30033cab16b7bb307d453cce6484bbde60733b95b3c4bb8736133c104e03bc5a7599392f1b18bb6d271cbbd612c63c0bf38ebd098cfabbee0e54bbdbfae33cc55697bda334adbbec8271bba1adc03c070684bd65d505bc1c3422bb277cc93cdd6683bd9d219eba309311bbbb08673c4ac741bdc59d85bbf0e526bbc51ba03c2c8a40bde1c1ccbaa6f315bb30ae573c7d8aefbc5e3f073a606d10bb17071b3c5e4d92bc1fe613ba9447acba6b04013c324d0ebcbd37803d735feabdbf93b23cd56434bb395a463b95da1bbe8ad0183de20ec0bb2c532abd0f430bbe3ddce73c80dc33bb0c978dbdd06ef7bd02f4f83c795757bbea6d4bbd0712a9bd9430713c262486bad77187bd14525dbdd697753cc4e4fbba26f52fbdb655a7bc3779c13ba480c9b91d81c5bc5359dc3ba3ece6ba5a9eb6b91fa6be3955e8903caa7d4b3a211ebebac70fbb3c8d2b0cbe62fe2f3f2f262b3fb023e73cef3017be1af4383f23291b3f78a4ce3cfb8f07beb9b2313f850ff53e7aa6dd3c2d7f04beb3ac273f77dbaf3ecb8ab23c58bfc9bd3563053fbcd8663ef8fed43c9d5cddbdbe8de83e885fb23d2a70d43c716ac0bda2b1a03ec8c8d6bb9c6afd3c5ff1bbbdd18d443e43c2b6bd7b35c53c557099bd7824a93d9bf500be0ed102bef034a13c000000000000000083b800be72e89a3c00000000000000008799c4bd3f60583c000000000000000019d492bd3b06003c0000000000000000b52e55bd2b52e23b00000000000000007e79b6bc95d25f3a0000000000000000f63446bb4be0e1ba00000000000000004471af3c2c3fddbb0000000000000000ac67b33c503012bb000000000000000088d83f3b15bab3bbb829d83ad158833cfceb19bb0c42823bc52a683b84510e3d2954aaba0a29d13b127c303c3ca61a3deb4830bbca55083c27b1443cea17083d946355bb95aa273c73d3303c635ee23c58cd88bbd1193c3cbd060e3cbe969b3cbf83c2bb30fa463cfd02023b25ea3d3cf8b7ccbb04811f3c11e7cebaf3f8653bc3e972bb9f03f83bde43b9bb0b0017bae24828bbbb206dbbe9c6963c03d770bd8d27fcbb243080bb6af8c63caadd77bdc58a13bc1d5c81bba9bfa83ce38164bdcf1be3bb89ce48bb20e79d3c9e8a54bd61cec3bbcaab3bbb5df1923cafaf40bd62af8abb139d22bbe819803c2e2a1fbd4a3b27bb0094cbba5da35e3cd14edabcfaa659b96d64b8bada2c0e3c60fc7bbc74c09d382a0f89ba81babe3b181ff0bbb9d28a3d23c005bef979d03c5abd62bb3cf5893c95ae3ebe92ef3f3d37e804bc25c8bebc272d3dbec4db2e3db689a7bb548030bdee6d1ebe7a0e0c3dabe89ebba1ba5fbd7516f9bd3696eb3c42a199bb63d74fbdfc3999bd1dec923c4efe58bb35d928bdc77206bd2294173c66ca50bb6146b2bceaf8763b07e5aab8d0110abb27e011bb6f648b3c541e943a08746cbb0e2b8f3c6836c9bda6eae93e2bb0653f04079e3cb199ddbdb483fa3eaf31583fcb679d3cd5e9d2bdf6baff3e3a39323f3b30a43c4d4ccbbdf673f23e8f8e053f0d0ba63c0ed7c2bd1503dd3e5724b13e946fa33c7c9cb2bd43ebb63e5c79343ed50db23c565fadbd47a58a3e1ce5013de197d13c3e319abdf6c22e3e103da9bd75579a3c53a984bdc407ad3d0cea0abebc6823bec32bd53c00000000000000004c4f29be9966d53c0000000000000000fc6c07be11f28a3c00000000000000003043cebdae644c3c0000000000000000404d8fbd7f4f023c0000000000000000e3a20fbd8da5403b000000000000000080b2b1bba91219bb00000000000000001314c23c8e5afdbb0000000000000000aa92c23cf45858bb000000000000000064ce9c3a06ee1dbba7ea78bada20ac3c779371bafad95a3becfc903b790d2b3df74293396322423bae87123cf91e2c3de3f942bb40fdc93bddfe363c5e8d243d75f139bb0bc5c43b8e00303ce5b8ee3c0a316cbb46dc0e3cc20b003c4982bd3ce7857bbb5686053c51c59f3be0943a3cdacf98bbf5271b3cac9955bb0ce69d3b289d57bb03869d3bf85da3bb699a6cba7ab67ebb9c1695bb696d543cd9c524bdd40f2dbc00e459bb61bd693c9fb526bd2f34c1bbb68eb1bbdb5e3d3c5c6316bd54c1e0bba7ed3dbbb76e633c438a15bdcc6a99bb75eb70bb7e1e433c32c203bd2dc39fbb52b609bbc9293e3c6ce1e5bc4736e3bab2fbc8ba2c83223c6a60b4bcaeb7543a398600bbd5c2d03b290b29bcb6b196b7d6fd23ba2e97a03bb39682bbd1e25f3da51e10be310b113d0417c1bbfc9d8f3c100c5cbe2055653d43e22fbc47a24abc994057bef11a2e3d8ba1afbb3150eabc29ad44beb92b253d758ffcbbaef506bd22d612bee00fe83c82c223bbe80218bdbe5ccbbd4d04c03c33f18dbbc7bfedbcd40d49bd3961713c88718abba9d186bc61efafba0ae3a7bab48227bad77bac39e1d4a03c3058513a0b9885bb62d11f3c99da5ebd8d696e3eaa418d3f7065333c6e8f71bdb1a2843e9b8f883f06a3463c75a47bbd5fca933ead54643f74ad323cec0574bd24fe933e5159333f84a93b3c18346abd2c4a8a3e0bb3f83e0a4d443c9cdb68bd60c1773e54768f3e050b413c791354bde94c3f3e29fcd03d0902673cba1553bda580043e104982bd253b4a3c257933bd4c73803de5af12be2af637be369bf33c00000000000000009f8043be11c0e73c0000000000000000a71f1cbeea8daa3c00000000000000001653f9bdb937863c0000000000000000d62bafbd2d5c0f3c0000000000000000f6344abde86beb3a00000000000000002165a1bc11739eba0000000000000000f1c7d73c512a3dbc00000000000000000a4f0d3d2c77f9bb0000000000000000c28df239690aabb9051787b9b9ded63c202108bb16774c3a5dcc153c937e4d3d79fec8ba98c6dc3ae940573c60ab4f3d427fc8ba8373103b3df85f3cba5b3d3d13c6d1ba4114563b4bd2553ce3f8103dc0ce08bbebb8603bae4a273c7df9d93ca1d7dcba239c823b9e0eb03ba83c7a3cd4b01cbb42d7873b9df8f3bad5484e3b66c50bbb30b0863b01be84bb8b5852bbd98595bbb4b973bb03cd613b0e9f74bcf7aa81bc27eb11bb7653b53b9ea96dbca68042bc55c34abbe8ceae3b03d785bc94fff4bb59d44dbb6eb3993bcc1771bcd0c6afbb47650dbbd8a9b13b0cd886bcbd949bbbab4eb3bae9f69f3b2f9b58bc8c8447bb5c8bec37ad6b393b913713bcf7736f3adfd18b3af233a33aeae081bb472c483a82ba013ad8d4e93a325e29baf007d33cc8a820bea8fc043d5e66edbb25e1a43b37ce75be6a258c3d6b5862bc4c9d88bc77647ebe5c4b5f3d998e07bc3d46f3bc9f6362be0e68303d2361ecbb5027f9bc09fd34be20e90b3d82b0b6bb97faecbc2671fdbdf50bd53cce14b8bbce1bb3bcdba982bd866f4d3c35fb74bb757fcebb9954f5bb3fe627bbebef28bbca07993a7703c63c7a08f0b90bfe7fbb08261d3bf16836bc048cc13cee1eab3fb42b433bca1c5dbc5182623da64c9e3f9524593b4db790bc73e0c43d48cb893f04d48d3b8ed4aabcaeadf23dca0d5c3fcfe07f3bbc68aabce1f4ff3d6c801f3f7fd4943b2de3a3bc0c9beb3dbfe3c43e13e9b23bab35a7bc1c30c83d4431223e7583a33baaf790bceae7863d91d111bd3a99713b8f9880bc9a33e63c7bc41abe66dd3ebe3b57f23c000000000000000031243dbe6970e23c000000000000000000ed1fbeddc1a23c0000000000000000a29e01be61097c3c0000000000000000a8f6c1bd924a173c000000000000000054206ebd862c823b0000000000000000ac8892bc235763bb00000000000000004102053dd02f5fbc00000000000000005bddea3c488f05bc0000000000000000000000000000000000000000000000001eacb8ba68d7e13af8d0ca3baee0293dae73c1ba7079c83ade852a3c7eb6323d900b84ba1b56133b28ae203ca690123da99d03bbdcc43f3b83ee263cb7e0fa3c764c98ba6040df3a73bb173cfe84ac3ce2c707ba3372ba3a9f97d33b7a62333ca98653ba93248c3a12644f3bb443523b0000000000000000000000000000000000000000000000000000000000000000994e9bbbf43436bbc4ef5cbb7056dd3b651d57bb941e50bb402421bbe4b48d3bbb1180b9f32130bb2c9bc3b96c2769b97d9e32bafa06e0ba4681f639dd4e5ebb7d9683bad8b2a5b9cfde93396585eab94ef518397d49963afc4100bb19f2c939ac2b3539a4b1623acbe499b6d27adb3a0000000000000000000000000000000000000000000000000000000000000000bf1ca2bc1f3957be162de43c1142b6bb18eddebcb1f758beba95de3c605d83bbab0e00bdba4042be8047963cebf1c8ba9b9607bd73e720be8a287e3c11252dbbf19fe8bc025ae8bd24b8663c49ca24bbf97a9abcb79886bd8029273c3d119fbb057625bc67a781bc13fe7b3b4d7e2abb000000000000000000000000000000000000000000000000000000000000803fe611edbaee608a3c02d2aebd257bab3fcf550dba65832e3ce47b01bd0b818e3f248ebfbaf7e8f93bdb218bbb7f646a3f7cee49bbb032323c0387223c1747313f0d2d24bbfb15ac3bb743a43cdf82ec3e19942bba7723c83bb4ce6d3c21f5703e519991bbf3e9103c1f52b73be903b33c000000000000000000000000000000000000000000000000000000000000000026b502bedf847d3c00000000000000004861cdbd31d0263c0000000000000000aac0b6bd6177d53b000000000000000006619cbd1079dd3b0000000000000000c8886ebd492d313b0000000000000000d226e4bc1ff7a3b900000000000000000970b7bbde0093bb00000000000000000000000000000000000000000000000000000000000000000000000000000000540d813a37fe27bacb0fcf3bb2c3863c94ad1a3b8a5e74bb52aa473c43596c3c9f0dc83a0ab3bbbbddd9083c511c653c7e7a233bf322c5bbccf9133c2e423f3cc858323b0fdba3bb1f7c193ce968e23b924b463be1c8b3bb7c83453cc945163b37d2543b028665bb7e90223ca5fa3ebb00000000000000000000000000000000000000000000000000000000000000000941d0bb034c023b7894fe39ad8310bcd4faeebb65d5c53a61ea41bb051ca4bb3798a6bbf84cba3a5e62cdbbfaa38b3b0599afbb9adfae3a5e1711bc785eca3b66d681bb03d9e83aedab15bc91788d3b655541bbfc70493a3045d5bb7013433a9c53a2ba734e1c3a2d02bcbb697cf63a0000000000000000000000000000000000000000000000000000000000000000ecace8bdb16d9fbcc6053539664ea43a3ee901be83b51abc744e8cb9c1112b3bd922f7bd2725f9bbc038153a0f99483a9bcddebded1b1ebb78d32a3a5f06e33a86e7bdbd369d9c3bda7475b960fd213aec3391bdea66523c5ad991bb96fd0f3b76f035bdebf4973c32c8c0bb4e89103b0000000000000000000000000000000000000000000000000000803f000000002dcd533c418b83bdabae993f96aeb0bd6672513cf4ea0cbd6c6f823fccb7a6bd4d4d243c4cc497bc333d583f058fa1bd6e901b3ce987e3bb55382a3fd6b99ebd855fea3bcd8b8739dd5ef53e22f193bd794ffe3badc915bb225a953e92f370bd1328ae3b799878bb5140e03d55504abd0000000000000000000000000000000000000000000000000000000000000000c066b73c9992c7bb0000000000000000deeab13c706fbcbb000000000000000088e09d3cf4adb2bb000000000000000023648d3cd1f3b9bb0000000000000000fe708b3c9463b6bb0000000000000000e2453f3c8b7ee9ba0000000000000000b8a7413c6b269eba000000000000000000000000000000000000000000000000dc5119bb9156ef3b140d5fbb474e473c5d535e3a5ecc1a3b1e90163c0de2a23ca110473a52850b3b46a1443c5e2ea63c48fc87397b14213b0cb8263c0d629a3ced537bb8c9404b3abc69043c6543713c8b01903a62b438396dd7223c8d80333c2ec96d3a615abc3ad57b243cac20a93b79954c3acc3374b84999233c542a46bbe3b73e3a2882953a3f1f043b3925ceba2b5788bb4e868d3a2e74463c87e739bde4c929bcdf8eeb3a786a8f3c55cd49bd85c12cbc2358163bcff4df3bc85709bd44180bbc4c97e23ac0b0b43918b6a9bce254eabb5393b23a70c57dbbf3052fbc4fd2dabba0851f3aa690bebbcb34b5bbf7f0a7bb5d3fa13a0356a5bb40a193bbd66402bb89616d392f793abb8caa98ba36a9d7bae5be853a202bb4bb3679c13bf5d037bc35585fbdaa81273c4e28b1ba8fbba6bdf92732bdff46db3b45e03b3b8067e3bdac8b22bdffdef23b3bd2f03a9f3df0bd4df9febca7aaa23b5400df3a0fefd9bd9c3d9bbc15529d3b2a00d73a0597c2bdadaebabb00a67e3a6d416b3b6d5f96bdecf6963b11cc3eb92143023b754c2dbd58588f3cc23192bb15ae323bc31e86bc0f688a3ce92250bbaab0ad3a50f5cf3c68b201be37b6993ff379753df302da3c9adefcbdcd3c953fced3a13cdd2cdc3c82efccbddbac843f5321d3baf75cdc3cf6f1a5bda1c75f3fec74b4bc9106c63c96a388bdb08b313f3e4b30bd9192c93c59c276bd448d043ffda56bbd2e4bd63cb93870bdc1f9ab3e1f7789bd5192e63c6d997bbd711d1a3e853183bd6e9b863cac0a34bd20284a3ce5ed86bda3f3c9bb5d2b1dbb00000000000000006f3af53becd2d5bb0000000000000000041e093cf080eabb00000000000000009368423cfb04d9bb0000000000000000b5ae5b3c850fe3bb00000000000000001b9c623ceec4c6bb0000000000000000097f803ce404a9bb0000000000000000d7945f3c8f53caba00000000000000005724833cdd8a92bb0000000000000000ee6a7abb58f6d43b6607e2bbf12c223cda2305b9a8a0c23bbcc8febb558cc33c6e9da4bbaa69f93b75110ebcee40ae3c8b401abbcee9b43b0a5e6abbeaa6cb3ca55848bbc37cb63b5a7884bbb160973cf9fc3fbbcb35df3b68c410bb6548913c822e5ebbc389be3b3f3a3cbbd03b3b3cbd7aa0ba2923733b66bf73ba1907df3b9e6326bb1501cc3b03a02ebb4cd1393bc65297ba281fd3b71686bc3c91368ebd8298dfbbfa3a813aeff5c93c2f8995bd5fbea6bb1cb6973a092a563c0f012abd8944fabbdd42cc3a8c74323ca6421bbd8a5ceabbb19b833a461a1b3be99da5bc98f2f9bb97e2f03a3fb2923a68397bbcc6acafbbfbcdb03aa8541ebb38aa58bb3435a8bb740ef23a72400dba95fbe3baf8b172bb477b823a4cd690bb40c0af3b9320503d53ac99bd8893653cab3a4abb027174bbb979b3bd31a19d3ca5b743bbcd2be3bc83589ebdb7f3853c80875cbb75057dbd332d87bd07d3703c4ae3ebba108671bd680941bd488a553cfc4f48ba385285bdf51cfabc2928243c3ca872b91a9d46bdf28a8dbcfca5093c3582dab9c58719bd615dad3b9021fb390a54113a14b45ebc7daa0f3c0cae9d3a0a9f473af004d43cbc2604be3b02813fc4b5723ec90af13c3afb12bedcbd823f213c353ead6cde3cb0a7f2bd06ab623f9faa093e95ed063db0e7f2bd97994f3fa979913d9fd7053d8341d2bd5eb5273ffe33d53c3dd90c3dd0c8cdbdda72053f635ba6bc9855e33c30ecaabdfb4fb63ee61035bdd731143db9aac1bd89725a3eed2fa4bd2d77d03cc0ad95bd506d943d3fe1b1bd191a1bbdc7a51b3b0000000000000000a5f3d2bc100366bb00000000000000001b219ebc976914bb00000000000000003702f1bbd914dfbb0000000000000000df00a5ba31d8b6bb00000000000000002857e83b290710bc0000000000000000c828063c399ef9bb0000000000000000cb5c9c3c95d9f4bb0000000000000000fb65983cd479cdbb00000000000000002d6f27bb5ef1913b6fe30abc39f1b43b55206fba8283a73bba2082bc96f9d13c541a0ebbc2ddf13b4af970bcd65ff03c82757abb5bb1043ce95847bc531fde3c48279abb15e00b3c703267bcfacde23c49e1afbb0876303c62c037bc35dab43c22b577bb5de91b3cba5c05bc179c903c7e8b93bbc2c6083cfb25d3bb6c6a403cc2ac7cbb795c1f3c8f541abce38bfd3b32321a3bd2a6f5ba4cfba13cb8c699bd636a69bb089a813abc91df3c2f5faabd013cbfbbabe5c8397936a93c4c3b84bde4e3b5bb8af9983a264a703cbf1b4abd5e7ed6bbaa97cf3a56c9283c3e2e0fbd8ac1ffbb5507c83a4250d53b1211cbbc9a3a07bcbebc1b3be97a573b0aa878bcadb3eebbb75e0f3b14bcdd3a82a2d2bb4b8eadbbc211e43a430599bb5887d83b16f6b83dfe52c2bd95fd763cf98d87bb66bd583ddf86f3bda6a2c93c696efebbd779fa3b9a5de6bdb9c8c33cdfb092bb7e528bbcb07dc4bdd07caf3cefca9abbfe2be3bc7eed9dbd9fbf983c617d90bb31ea1abdccba57bd1602853c572ed1bad0f91cbd29b4eebc7a394f3ca7ffb0ba3ac7f8bc63cc99bb9636d53b71758a3699f267bc8037263b2136d93b8efbdbba8cf1cf3c9a14f2bda7b3513f3dabd73eed27ee3c5a8d0cbe3571563f188fb63e2767fd3c89e805be1ceb493f2d7a8c3e2da9003d3345f9bd71c8333f6006443e78d10c3d7952f3bd57b3193f3217e43dd1de113d969ae6bd8ebdf83eb3a51e3d166e153da7d8dfbdb0f4ba3e8dc4e5bcc7361c3d54ebd9bd9b63743e08b4a3bd2e3ec63caa1da1bd7e28e63d2de2cfbda3c48abdf139253c000000000000000074aa76bd26ce353b00000000000000002d102dbd43961dbb0000000000000000529fedbc232688bb00000000000000004ba096bc3e6bc8bb0000000000000000548edfbbf6430fbc0000000000000000a9f8dc3b2a322cbc0000000000000000b0898d3cfd3628bc00000000000000006777733c2294dcbb0000000000000000ae99c7baca26043a3948aabb5f4d8b3beef47eb98996723a08f090bc025eb73c5e0c62bbe6b5f83bcb788fbc2285c33cef936ebb1b9be33b8f9a91bcb3e3e23c7322ddbb96062f3cbd4d89bc51407e3cb7939ebb1dfa213c54a382bcb249cf3cd105bbbb4960163cfc9751bcc30d903cc6d097bb7a5b303ce41144bc057c7a3c9881b0bb4257313c81862fbc306a153c1a4a873b11ebe9bad005b43ca3a5a0bd0fcb813a8ec89eba1e50df3ca014a7bd2886fcba4bed82b9d72c9c3c0ca080bd54f076bb786eecb97eaa973c4a566cbd40038eba1d26a4b9578ec23b16b5fbbc67e8f1bb7fc6023bb253313ce85806bdbb64cabbcb680439cf6aaf3b5df593bc156afabb1983263bb4218b3b6dee38bcf7bfb9bbff798e3aff67cebaf13bbc3a42ceda3d7ecad3bdcd27423c428cb3bb9682ac3d34250fbe9765de3c98b11abc24b92c3da3e302be4350b73c5683d0bb973f993c3160f8bdfe3ce33ca7a2ddbb1b90453c0c61b2bd43a7883c39ae87bbadc759bc736b95bd5e40b63c5f85c9bbd02b82bc49fb32bdb161663cd70c26ba354fb0bc6f4773bc347e3b3c93590fbb27000abc4b7781bbff69263c5ffbf1bac438a93cbaa7cebd2b47213f74a31c3f7bf3bd3cda32eebd8375243f841e0c3fef35be3c82fbdcbd67fb1b3fe8fae03eadc4ed3c4a4de9bd13ae123f6663a83e8e61c53c4340bebde9d0ed3e64656a3efa58053d7af1e2bd60eadb3e073fe43d5312f63cbc6dccbdcb70a53e9539bb3cbcc70f3d516cd5bd8393713e98e281bd3258c63cb3a8a7bd1376013e37c0d7bd9e97c0bd8d8b873c000000000000000060f6babd9c69153c0000000000000000c52790bd7cdfc03b000000000000000020fc6bbda263aa3a0000000000000000015c2fbd99d5893b00000000000000009cabbebcb4dfa7bb0000000000000000ba7f02bc15f5c6bb0000000000000000a4bd383c428548bc00000000000000009500323ca0d1e9bb00000000000000006b6c3c3a0fbe2dbb9be958bb50bb7d3983df103b4ba8a5391b398fbcb7a2c23cf028cab83190943bfcd0a6bcb403f93cfc95d4ba6e28c13bee6999bcf07eed3c464f39bb075de93bfab9a0bc023ef03c359986bbd0d8123c871683bc82a6e03caa3791bb693b3d3cb61376bc4dcbbb3c2a79a0bbdf2e283c22f340bc6c05923c540760bb4d391f3c0de442bc612d363c9d2bf93b102d54bb02a8a73c0d2395bd6c7ef13a8d74e6bace38d43c90dba2bddbf8fbb9db4041bae5a3ab3c5d1d8ebd51e038bbbab3993846b8943cec656dbdfb21a0bb75794ab986da833cceb048bd3378c4bb7ca75d3ac3855d3c600916bd1b3413bca012c13a1805383c9f3ee7bc8ffe26bc4053523b3912153c033c86bc5ea5cbbb312ac23a17ad21393d647bbb2bbdd83dcf10dabdb192323c8b47babba72db73d38941dbe6257d93c6b702cbc3b2b723dac9d20be8eace03cca421dbc4a5c153d65310fbe3d85db3cbd4403bc6188a63c7645f4bdf48adb3c3580d0bba35fed3aa5d9b6bd95c5bb3c1ab3adbba4aa22bc0a0d68bdb9a3a43ce69a1fbbbc747abc66a5b6bcc34d713c834520bbfc196bbbdcccf4bb93fb3c3c81af41bbae90633c1a0298bd4fa3e03ea3884d3f76ff4b3c87d5a8bd058ce63e584e3f3f50a9993c5fbbb4bd0e48e73e678a1e3f2e7baf3c9315b6bdad07db3ec974f43ee9afca3c91f3bebdcc30c93e4b3cac3ed206cb3cae04c0bdf5b3ae3eb76b4a3e3c1fde3cf98ac2bddea78f3ed9c98a3d74a6ee3c5c65c0bdf31f553eea452bbdcc6db63cebcd99bd7805fa3d72bdd2bde75fe7bd2164a13c00000000000000008e31f0bd90e36f3c000000000000000079e2c7bd7b101a3c000000000000000035df9fbdf999a43b000000000000000062b673bd03959e3a0000000000000000e6bd1ebd80f75fbb0000000000000000b04e8bbcafb80ebc0000000000000000a923963b5c0b52bc0000000000000000cf1da83bcac1d2bb00000000000000001b20243b11e6a8bb5f7b2ebbb7d7cb3bde69333b2ca166ba053977bc49a1d43cb382783aee3bbb3a3db24ebc8631a13c9bb2bb39321e533b9c2089bcc304053d02c8c8ba7607963bc89987bcc46bcd3ca7e1c3ba5d6fe13b7c2572bccb3fe13cd07983bba98fea3b543a5bbc9252a33c192e2abb2b8f153c69722cbc3509913c6bfc7dbb1b8c143c0ab51fbc787b3c3c627cde3b931e42bb9235883cc22c64bdd268553bfb60d1ba6a428f3cf04473bd9c66923bbd7a0abbdb61743cd23055bd7df1a9ba9f06b1b920e7893cb0b254bdd93f44bae28614393521703c6ea22dbd26d2c5bbbb839a3a5e4b5e3c06ff17bd9dfb9dbb0d8b713aa417243c66b0bfbc7e4c18bc6776413b8ec21e3c8ffea5bc30f3f8bb28d9223b71c8963b09b7f4bb4c96a93d500edcbdb08a273cbcbdf8bba9e6943d543729bedeb0d83c724b44bcb273603dc92e1bbe5e2eaa3cedbf19bc8381183dc64623be99a6d83c5ea719bc236ce83cb3c003be4269be3c6fbe05bc8c93193c2828d2bd7212ca3c48f5c5bb9673ac3b515788bd50ac963c8c6fa5bb82ff2cbc5f60dbbca984813c3ec030bbb5339fbbcf51b8bb4f30593cfc2363bb98c9b23b01202fbd1f64803ea0b77e3f897be33b15cb42bd4c88843e6967723f1205353cdd5c54bd7a2d8a3e363a463fdb68443ca7a471bd24f28c3ebb3e223f44804a3c871379bd649c823ea4a0eb3e20108c3cebe288bd4425743e009d953ed351823cfb2681bd3ee1423ecf98183e91f39f3cc0e78bbd99001f3eda5c41bc31a98a3c5a2a71bdf15cc33da1bfcbbda665fcbd1c05b13c00000000000000001e4809bee4b2873c00000000000000005fd9e0bd55a98a3c0000000000000000bb67c2bd76dd0e3c0000000000000000669395bd39eb9b3b0000000000000000405c59bd27cdc8ba0000000000000000612c08bd71b887ba00000000000000002fe235bb8c6146bc0000000000000000e9bdb53b290a10bc00000000000000003d3a4f3be69890bb2968e1ba4440f73bbd15823b7d78e039320128bc530a003d7bdaf93afa73b53ad26245bcfa99063d773e1b3b09aed43ae0905cbcdeef023d1962683a2153063b92993dbcedafe13c38ffd6390edafe3a2ef325bc3c5fd73c73b839ba4801c43b5fa906bc6e8db23cf2849eba60479d3b9c20bdbbb529813cd9922cbbd3a0f83be827c9bb25221b3c1be1d63bfa3622bb0e70203cf00807bdbed74b3bd77443bacab4e63b8642f9bc6fc7c13ad0ba9dba5450203c39180abdcb141b3a28f0bfbac51c153c53bf06bd52a34d3a6ffefbb91c301d3c3165f9bc1e977abb26af5c39bd7c213cd257d6bcba26b5bb71a98f3a5d3f043c27a7b1bcadc419bca0e0693bde1b023c44fd47bcaffeffbbbc8d243ba526dc3be1c91bbc92743e3d1bd5d1bd24bcc63a9892c1bb11b7013d82c92fbe0c70c13cb5c860bc8574f53cba1f39be3b85ac3c749b21bc0603c13c03042abe8402ac3c412400bc0866a83cbf8d10be911ca43c7dfc03bcb1dbf23bc19ee8bdb2b9b83c710dbcbbd32e91ba89599abd5b26a33cc3ba77bb3bcd20bcf408f1bc44ba953c492f55bb2a1f76bb6a329cbbcdd2483cf22e3fbb2e538bb9d23046bc2fc78f3de255983fec9e79bb301c07bc86ccb03dddca8f3feb9aae39075086bc84f2e13d18db753fa270ea3a4931b0bc1e60003e097c453f2e645a3b08b6d0bcf1ca023eca59143fbd986e3b5611edbc1d70f73de730c83e93c7c13b5bcafabcb08fd43d66744f3e7bd4703b8c28f5bc07549f3d26aec53ca6b70a3c7fc60dbd10a35d3d42a1b7bd680a00be6be4a93c00000000000000005f8a06be4c9f9a3c000000000000000021afeabd7bcf793c0000000000000000cd6ecabdbc2f4a3c0000000000000000ed19a8bd5b760d3c000000000000000061ef83bd93252a3b000000000000000044ef21bd31d08abb00000000000000004e9d16bcb91d46bc000000000000000021f8a3bb5299bbbb0000000000000000000000000000000000000000000000002509363b601278baa853e3bb13187e3c067ef73aaba87e3a093123bc3ab4ab3c95c63a3bc4bd37bb73cad5bb78a9623cdd70333b9a8f43bb98b7fabbbb31743c0e459e3aaa384eba6dd0b7bbc70c663cecdaed3a09660539b729dbbb78f67a3c4c6974b93310033a09e31abb99fd123c00000000000000000000000000000000000000000000000000000000000000003894b83b0f39b5ba890c1e3a8dbb0cbc0472c53b6411a5ba7109033b9fca1abc0dbbcd3b130267ba28be613b291d74bcdc5e5c3b838280ba7252bf3b542274bc08894d3a836d4c372bcecf3b84f07dbc515c37bb295f613ae84b8e3b896638bc8bdf6cbbb4338a3a92f9cb3b175f12bc00000000000000000000000000000000000000000000000000000000000000000bdabd3b1bf1f9bde9131fbbdb169dbb1ebfc23b1ac307be844d3d3b2396bdbb38a7193c0aecfbbde978e93aee519abb782f103c5e75e0bd4d96e73b118950bbeedae93b81c7babdb0f2103cbd7205bb2285a53ad74484bd2738413c5d0a16bbbca907bbaa7707bdf501423c164bc6ba000000000000000000000000000000000000000000000000000000000000803f4d59adbbf802793c883e5ebd7260983fb6c995bbd7a1273c5f7899bc776b803f35d70abb266f873b0fa3133b4161533f62b02bbb63e71dbaad64773c252e243f2c5626bb742511bb466bac3c5592e93e0db262bb39ab8939c7378b3c58a28a3e23cc0ebb88d287bbe2d8643c4495b43d000000000000000000000000000000000000000000000000000000000000000056ccb4bd45ff663c00000000000000004a2b99bd3ad6343c00000000000000006c9390bdae652c3c00000000000000001f1789bd0281eb3b0000000000000000675963bdf0f64f3b000000000000000038252abd4455e5b9000000000000000080c8ecbc03dcf2ba00000000000000000000000000000000000000000000000000000000000000000000000000000000d1e651bc6220a23c9384413df88b333bc6ef89bbea1db93cebb62b3d57f1a53b6099553a6806aa3cc1d9183d8985fa3b15f0953a8651ad3c55b9de3c2b3ee13bca5b083bdc168c3ced7b7d3c9016ce3ba3d7ee3aa1b0323c8154df3b703d443b20f761baaf91bf3b1a846bbba2578f3a0000000000000000000000000000000000000000000000000000000000000000364c15bb296b6bbb5899d73bf082fa3a7e491c3bb7b2b1bb66d4b23a1fd96ebc69bfbd3ba6bf90bb42cf80bacb7bc4bc9526f83bb602d0bb4e3c0fbb9828ccbc72c49a3b151c80bb397f92bb35e697bc6620c43b08df24ba1de2ebbb8c4423bc6a3b183bd87deab8cf7201bc3ac10e3b000000000000000000000000000000000000000000000000000000000000000071b080be69ebfb3c5662afb9914186bbe55971be4bcc943cd92c18bbb1080fbbcf9364be3305ae3b6cb508bb79111bbb674f35be5bb3f83ade18b5bb0e2908ba0528f4bd8fcf50bb778c7dbbf80515bae7167ebd3d7bf1bb1076a6bbc24289ba114907bc11af91bb382082bbc52e413a0000000000000000000000000000000000000000000000000000803f000000001ae2a33c45daf2bd1be5ae3fcb050fbe316bc83b666f64bdf743903fa8e1c2bdab867c3b417b0bbdfa61733f514eaabdaa01553a4ec814bc00fa333f64fd7cbd4ce570bb095f1c3c7d30e43edea806bd9abbd3ba590aac3c2c815d3ec14a66bba39d903a4e86b43c6fb952bcfed4a63c0000000000000000000000000000000000000000000000000000000000000000cf2ff33c0cb88ebb00000000000000002e15a53cc1ba283a00000000000000007ccb823c0200e93a0000000000000000a478793cb568573b0000000000000000535c1d3cf38e803b00000000000000006d80053b40b65c3b0000000000000000fa48d9bacd31343a000000000000000000000000000000000000000000000000515b52bc4032753c5d38963c9d64253bf6504bbc5878c33c2a58fb3c8f4d3b3b82d9ecbb4335ee3c67b71d3da6b2233c31c651bb3ca6f43c1206083dc0126c3c2e5fc7ba4b36e03ce3c0d83c71a5063c58d120b9fa52cd3c64da2e3c1a531b3cb82667bb5db9963c3473733b0653ea3b4cd374bb20c94a3c0fd78dbb2157103bb3d8e6bb6b96af3b40b513bcdd55c4ba5bf4c6bbc83966bb2bd9733cfa831abc8e4a4cbb11b46ebbebb33a3c8b0e4fbc1424ceb91d4cf7bb40a5343c4377efbce9de213b4d3412bc0119fd3bf09d02bdc3e5933b9cdbc5bb8946583bf7c602bd5cdee83b0856ecbbcbcc8abac6f8b7bc81888b3b4e36b3bbe4220bbbc68f3fbca7e63f3b96a2bcbacfb702bcad39993911e52c3ac913a1bac5a3d7bb53e76b3c80e4fbbda5ef843c883b64ba9b3f6abac22738be11987a3cca53cfbb10c9063a3cd26cbe4412ce3bcfbaa5bbf13c1a3a688964be4fd26739d8f6dcbb091b483ad77338be0ababbbb967567bba23f96ba629503becaa127bcec5ed2bbbb1a1c3a49688fbd929f29bc751a9ebb2b09d13a7a6fb9bc2c3a01bc22f04abb8ed5933a977c7b3c0fa0a73aa65395bb78c6403b22ae483d420c6bbe4292ae3f2747ebbbddf3113dda7e31be4fbc9b3fcd02f23ba130cf3cfa0616bee68d933f62869dbc9ffa913c2853eabd714a773fda70b4bc93755d3cf22ca2bd48403c3fc7fe91bc3da5233c3bf33fbd8be4f83e93d048bb1db40e3c0c40c5bce0fa793edc2eeb3b9763da3b1a4a5c39b99f693d463aa33c435b813c06a4fcbbb7c6e6bd3b02a83cae84933af3f3efba0000000000000000417cd1b9f2f8fa3a00000000000000006b2d5d3bd993973b00000000000000007391bd3bb818e33b0000000000000000c739de3b919baa3b00000000000000005727aa3a2f56fe3b00000000000000000d470abb25e4da3b0000000000000000fc90d2bbf39ec63b0000000000000000ae7785bb9aa4d2390000000000000000af8596bba1d30c3c6614053cf0e0a13b04b116bc620bc83c657ca43c07a1463c20728fbb4114ea3c07c9d53cc737873cbe1d2bbb5200053d0cecb43c4293793c86aee2ba2f7bdf3c18c67d3c36cb5c3c338d63bbac2ce73ceb770c3ca2c03a3cece796bbe68ea63c3aa0b7b81215a83b291f07bcf9f1743c091ff8bb591e373b6314f9bb4845233c42e224bcc8332739293f12bccb5a40bbd55f7f3c2891f5bc174aa3bb211eb1bb91eb903c8a1a1cbd2b964bbb8dd3febb5eea8a3ce78a3dbd7552263bac9d1cbcdb516f3c872948bdb7e5373b25dd03bcdd60253c77532cbdd207b03b34a7fcbb94457f3b3fb4e3bcbe5da63b7e91eabb06a047b8ca7370bc6c1e2f3b06c375bbab7e2fbbed32b1ba321e27ba4a43bbba2be66fbbee9feb3b3ddb39bd682e1bbc9db932baf8984e3b3e5210bef7e69dbc1e042cbbffbe2b3be31f3ebe642b99bc48b4afbb07ff1b3b61163fbe0efd9dbc872bcdbb53ce2f3bff8e1fbe0f4084bc4a9500bc454f4a3b6ec6f5bda81981bc590a1cbcec5f1c3b26a68abd0c80febbb626f8bb1fd74d3bd9e2cdbc33a6e2ba3679afbb0b9d173bb97d003bca01e03b432f4dbbff72b03aedd73c3da8d85cbe163d8f3fa134533e7473353df2455dbe8aae923f683f233ebd5e093d34cc3fbe8110893fa1c3de3d7a3dce3cd53720be0a006c3fdbb9913d195cbc3c8fa1f5bd28b5373fe36a2f3dc1b2963cf580bbbdfb05fe3edd5ef53ca2b2a53c65b16fbdc8df893e00234e3c827aa83c270511bdb530ab3d8c43bd3b124e993c8332dbbc3af808bd803a0cbca94239bd2740a83b0000000000000000866915bd167a123c0000000000000000f62bafbc907b283c0000000000000000783467bc8189283c00000000000000001fd808bc9b75233c00000000000000008680debbdfcf603c0000000000000000b9a04cbbf0a2053c0000000000000000a463cbbbd75eec3b0000000000000000ee0234bb49bea23b0000000000000000e282ffbaef86a63b2e1de83b7ab45c3c628562bb0d008a3c8736823c4adb933ccd5803bbb38bba3cb602b33cfc1dad3ce536dc3a59f0dc3c0b74823cce749e3cc848973abb56dc3ceed3413cfe9f7f3c72415fbae00ac83c8b06843bc43a4b3c6f969ebbab46a83c167a42bbdac5d53b6472d7bba107813c9326f8bb545d0f3a9ab818bcad8c123c652029bc70d682ba071a2fbcc40e90bbc285973c3c043dbd44e90bbc8f2df5bb5decae3c8a5546bde6c521bb95f90dbc4463a23cba1067bdb3e4443a7f710bbc53fb833cf30a6bbd10de643b3cb22abc63ed683c4dcf46bdb70b413b2c280cbc04c81f3c2b6724bd8182793b7a41c7bb8733ba3b8abac3bc6b54243b276ddcbb0890df3aacb303bcf6932f3991fd88bbe203823a62eb433bfd897dbc0a8832bdadf59c3be7bb993be159bfbdcbcc77bd8b3c903be7d3b43b248a0ebe394778bd259ae9b9c58e9b3bbf6e15be61544bbd9538cabb627d463b653208bed0ee1abd27af0cbc1e1d833b48e9cebdf756b9bc052c0dbcf483743b3dab7bbda78b3cbcf0db12bcb6680a3b42bfddbcd32cb23a2b96a1bbcf375a3b2e042c3b238c443c76c49bbbc29b8a3bf9d11e3dfda04bbe130c703f8e94dc3ea382263d115c53be3bbe733f1b3ec43e9f57023d14ce3cbe1a15693f4b79983ed1d2ca3c96d91fbe2d7a4d3f7035543e9df5b63cd4b108bebf5c273f91c0053eb7ef983cf817c8bdcfd8ee3ede13993d3e7ea13cac2596bdef8a8d3ea962d43cd1f69d3c5ef848bd4b47e63d686250bc9dc7a93c7a1a2cbdb824dcba6bbb30bd351bcabd8eb7903c0000000000000000d7b8b9bd3a799d3c0000000000000000ba2187bdf8bc943c0000000000000000ceba2bbd3fdf893c0000000000000000ae98c3bc57748c3c00000000000000001ded86bc8d5e813c00000000000000001958e4bbe50c433c0000000000000000656590ba31b8243c0000000000000000b3526e3bc39bc53b0000000000000000d0e62d3b0d82ffb9b5538a3b5963703c741cf03977960f3c8aa96f3cc1c7ce3c8308943a2b2e8f3ca2f36f3c3f48d43c37ae293b1b8aad3c09357e3cc1d1d83c5f16183b1aaaa03c3ea60d3c17c7953ce3b48c39c7f1c33caa941a3b23f35c3cc8b60eba9f81933c509579bbeddceb3b0bbf9bbb4ad45c3c9d48e4bbfdf5643a9220b9bb7c3e273ca3d83dbca19a29bbcc1a2ebc99bf3bbbfe0e863c168f44bda25d0abc11dcc3bb1e438d3c6cde47bd3f4661bb222505bcd7867d3cfc9554bddb865dbafd981cbcc196883c12dc6abdf0fbb0ba2e90f0bb45e83a3ccf3a58bd2f29473bfed02abc9f5d2c3c8c632ebd14e97e3a9576febb8228ab3b845aefbcce6316ba3940d3bb521b3d3b698c60bc854f78392bd0b0bbab9c7b3a3df449bb85417b3c87029ebdc243253cbb6baf3b12f956bdecb5ddbdcf41443c86d8b03b05e0bfbd3517e2bd2de2ca3b68b3b33b52d8e5bd4cdabbbd46ccd83970519c3b6054b7bdc6527dbd89f479bbe3ec3b3bf41eabbd0d3718bdd0a0febba698283b8ee950bd418d3fbcc8de05bcd6d3803bb9a9bfbc0743cc3b8faeb0bb8880e33a42f885bac664933c98c03ebb00a32c3bde92e73c32d620bee8c2303f6e39303fd0e5f33c28bf28be3b9e373f2094203f4eb7cb3cffc61bbee577333f287c053fa2dda73c744b0dbe5ec1243fbdd3c13e4e5c613c3dd6d4bda2ff053f724a7c3ef47b8e3ced8ac4bdb653d23ebf54033e035b8d3c08638dbd9a33833e45e21c3d0d4d9c3c107450bdcf89fe3d0de4ecbc91dca73cb8a723bd2327cd3cb0f19abdb07a1abee4ebcb3c0000000000000000608811be5e13ed3c0000000000000000eb14e3bd3a43d33c00000000000000005b4d9dbd68adcd3c0000000000000000ad9f3fbd3569ac3c000000000000000080dec8bc71dab13c00000000000000007aa401bc0dd5693c00000000000000007548a43bcefe493c0000000000000000faff233c2697fc3b00000000000000007fb61c3bc9696fbb5a3ea53bf2ba8b3c5660043b029c8f3bce673c3c52baeb3cd39fac3a13c8373c440d7b3ca72e063d6df68d3be8cd713ccc65193c131ef23c790e8b3b2c3b923c18f5f43b1c11b63c086fb13ad7679c3c6d7a783b2bbd713ce56a0f3a42688c3cc75d61bb4e19063cfe3c63bb9ecd463c44f4a2bbccd5213aabbe75bb985ef03ba2be2cbc6e3fd23af4a807bc77356cbb81fa423c4f2b1fbd2a8cafbb9725e3bb021f723c1c1232bde00c0dbb1f730fbc04b0613c2f7432bd39b4693aafa204bc47f6553cf88844bd09eefe3a4e70fabb94604a3c19364ebdb5d7ab3a39befebbcfea263c11d326bdcf45753af7b2f1bb7ec7e33b996500bdc62d0e39acb3d8bb7fbe9f3b21598fbc0cec11bb3d7182bbd1fc153b775cf3bb4568023de044d6bdd111713cc017153c59c0acbc75f71fbe0b16c43c7264ba3b9a6569bd773724bec8b2643ccab8f43b0f4d91bdbebc09bee6911d3b6d33c83beb3b96bd57cec7bdfe1def3a831c0f3b60fc86bdf40161bdb7bce2bbcc25273bb15c3bbdda7da2bcaf1b06bc0143193b4d1dbfbca682e03bdf26a9bb097be639eae296bac03fa33c852b32bbcb3e463afb90923c7d8cd6bd48c8de3e234b6f3f2e8e9d3cfb6aecbd8131f13e2e6a603fdc129b3c1d99e5bd1a4bf13e3ca03e3f3303583ca215d4bd4704e53eed57113f3d59593c5760bdbd5a13cd3efa2cc23e1e88433c88de9fbd432ba63ea404543eaf8f503c20347dbddc4c673eccd0893d8afd7b3cb8593bbde070fb3d331d07bd60fe453c623508bd1010273db5a1cebdf4d546beb981053d0000000000000000cd2445be4cef263d0000000000000000e91c1dbe93530f3d00000000000000003b24dfbda0cdef3c000000000000000081978fbdb26dc63c0000000000000000eae606bd4b0fb33c0000000000000000be0d0cbc493e8c3c000000000000000035180d3c70d62b3c00000000000000006c87733c512e083c00000000000000000aa22b3bf076c4bb1cfb923ba2938d3cdf7d9a3a07eaefb8837e233c8add073da6ce353bcdec853beb59613c160e1f3d4221603bba51283c86ec333c1692063d5a067d3b7657263c51d9133c712aca3cdae7543b195e4f3c42a87e3b01df9d3c0337333b69c0283c691aadb9df970d3c35fc1d3ae3c2243ceb1e4fbbc933d939cbc0f7ba75ccd43b1b45f9bb3ba90fbb3151d7bbe7eaa7bb6969043c8128dabc994a05bbbcd425bc3dce233cacecdcbce88a533922cf16bcbdc00b3cede7f5bc97c4053b4143d7bbff660c3c6de805bd403c153be5bc06bc6a70fb3b1de401bd9bdd8eba81e4b1bbd28ee93b5c1100bddd0860398738c5bbeb05983bd443d6bc18d3f3badd40b2bb9b54583b6a0486bcf5aec8ba2aa037bb7573ca3aadbefebb436a123ddaabf1bde600e73c70ef823b204d5a3adf0147be48d8003df7c3b63bfcb5eebc303b57be1702ce3c3a65ab3b250438bdd19b38be4523533c9df4313bc04440bd4f240bbeec93d13b8b2e243a76a03fbddd95a4bdc1740e390be5b739f2f404bdcead02bda0079dbb210ae7ba617d9fbcb28a803bda7b26bbba923cba99860e3a8cf6bf3c937049bb28e9f8b9d648083cd3d853bd8bad533ea0dd8e3f5ead063ce1f174bdcaf9683e291e8c3f4bd7db3b49457dbd12847d3e23df743f2355913bd23476bd5a057f3e54f13f3f355f983bd2885abdb2976e3edca7063f4ffd9d3bbba350bd0de3583ec4ef9a3e00c1d03b65de26bd40ed243e3843e13d9482f23be9defebc9530cd3d1b20e3bc49ae0f3c644ebcbc7efa253db3e3e5bd1cd358be9df92a3d00000000000000007d865dbea9b2393d00000000000000007eb238bef604213d000000000000000001fd06be9d9a0e3d00000000000000006854b2bdc28df63c000000000000000005ac40bd56fdc13c0000000000000000f4c917bcfdc2853c00000000000000001a74573cf142003c00000000000000005b6cca3c2bc7423b0000000000000000b55aaebad4d3b5bb39ab613b6eb8cf3c63f7adba821391bb81b60d3ccd33303d7d9300ba3cc36f3a32ce513c2170433d88c69d3a9909923b17bd4f3c60fd2a3df9ed5f3bf3bfaf3b8a284d3c9513f03ca94d2a3b3e2df93b7498dc3b318ca53c029dfc3ae346043c96663f3ba2c61a3cfc0e573acbcdde3bb6c67c3ac55ea5b9f7922436ab977e3b069f99bb0e1bb8bbd8509cba43fc02bc06bc803b0f2698bbc87354bb078620bcacbeaf3b98ad29bc235c403bbdbdf4bb862ca33bcd8118bce4a07c3bbfd4c8bb21a48b3b4b1b65bc654f603bc76063bbc87e723b021082bca942793bd4d7b0bb7199e43af65474bcc911f33a69a91dbbc357533b13f18abc430dffb99caa3dba88c10b3b1b8058bc9d9f37bb55911cbbac2e8c3812b0c2bb343ecf3c9f2727be8475233d7f88213b7b0e0d3cf69f58be760d393dedb22cbb6e5aa3bc9b2078bee1b1de3c64caf0b99375fcbc7ded60bec75c9f3cd20617bac0020cbdebd929bef6fdf73b86271fbb1d2c0dbdc202dbbd6e398eb84c5376bbd276d6bc356d3ebd0684bcbb30e868bb74a284bcea5bd8bab15206bc5eeb8abbc159703b268afc3c0893403a712d8bbb386855bb48c2b5bb99f8f9bb094cae3fb0654fbb35418cbc7ece523d39c0983f7a4f26bb9645a1bc34ce863d37de8c3fbb972fbb6a81bebc358fb13d0641633f2cb96bbb21f8b9bc5c6dc73d50d5233fafe6edba9c52acbcf288c63d4b1ecb3e0faf1739393d91bcfbecb63d4394283ef21be73aab9975bc9794853d61b5553b0021c63afe5060bb28b4b33ccf321cbed0356abec6d0383d0000000000000000dbf13dbeedb32b3d0000000000000000f7da28be39ae173d0000000000000000c1b202becf4bfe3c00000000000000001f23a9bde015ca3c0000000000000000420633bd901cae3c0000000000000000322504bc2e58393c0000000000000000dd22b93c11c7153b000000000000000024ae0c3d636b07ba000000000000000000000000000000000000000000000000fc4207bb9db2c9bb0f7f303c8887433d5d5aacba0f039eb968f35d3c20bc2d3d51a32bba5c0d1c3beea5693cbaf7183d52efd8b90e9f813bb9c8243ced9be73c1875553ae31ac23bb102123cb09b953cacf3ee3a6327ab3b198f9c3b7af10d3ccee48a3a46de593bbfa8d33ab0aeb1b90000000000000000000000000000000000000000000000000000000000000000b3fe4e3b5c84ffbbf2683539ec6f453cbca8a83bd9acdcbbdde5c8b9d39fb33bc592ed3bbab51fbba2bcc239de447d3b5656bb3b32b465bb1dc6d739e2cebdbade2f773b7eb01bbb25493ababa9035bbe147d73a752f173a48d8c9b9cc8fb8bb61a5b3ba3e79e23ae748bdb992c68dbb0000000000000000000000000000000000000000000000000000000000000000d95ed8bba0d27dbe1d15143d56e310bb7f74a0bc55606dbe164aba3cc15d3fbb321c06bd2a355cbe659d243c7aaea3bb05a8f8bccaad2dbe04e5db3bfa53b1bb98dcdabc164ae8bd56fc7fb9aeffcbbb79ba9cbc6fea64bd2a1ba4bb6c1abbbbfc7ccfbb0a1838bbc6aa45bb9d07c1bb000000000000000000000000000000000000000000000000000000000000803f4c291dbc6e00993c0d02e5bd0e00af3f8088f7bb6694843b443544bd3e4f903fa4110bbc95d8873a1a98e0bc1a94733f8b39edbb79a2503b0bbff3bb0346353fd5a5e9bbee7dde3af7291d3c4b25e73e670bb6bbbda5013be2ab8c3cbaf4623e7b48b3bb7aa11b3c56ee363cda81abbb000000000000000000000000000000000000000000000000000000000000000093b810be2858dd3c00000000000000003f57c5bda1f7ae3c00000000000000004383a5bd5b9ca33c00000000000000000b7d77bda4fe973c00000000000000001065f5bc6b1e5a3c000000000000000017d250bbb783dd3b00000000000000007897983cda9fff3800000000000000000000000000000000000000000000000000000000000000000000000000000000cda44bbc9f25c63ce9b2463ddd6a92bcc30affbbbe15a33c7e405c3dc02394bcec72b4bb362eaa3ce8f9433d3d2a4bbc9a90abbb72c3963c40c7243d90623abc99776bbb21b0603cbd5cd73c4b8f02bc59a9d9ba704de63b82e45a3c740007bba652f6bab6d0b23a5fc4363ade4cc5390000000000000000000000000000000000000000000000000000000000000000aa71f33a35bf1d3bef52783c22fc39bceb9a733b7f78113b22700f3c343879bc7d447d3b90420a3bdbcfa13b80ffaebcf9449f3b4f378d3a7810063b1643a7bc6177943bd123cd3a5c5fb6bace7680bc656a473b5bdeeb3a667792bb2a76f2bb31e4023b9ba6613bc9f8d6bbbe3ed43b0000000000000000000000000000000000000000000000000000000000000000a1ba83bee1c0873dfae27ebcf3334aba4d8280be69e0713d8f1762bc626abdbaf7b176be4f08513d9cbc46bce75a9fba0c0e49bef456313dc2f14abcdf97333a4b990abe8033e23ccfe22ebca229113ae50a92bdad3d2b3ca128f5bbc39aaa3a16d231bcd320feb9f76bdebbb900013b0000000000000000000000000000000000000000000000000000803f00000000f00d663caca7ddbd3908b03f4c4e0cbe4fd1113c18f770bd2468913f3c97d0bdaca6263c32102fbdd1cd743fa666c1bd9248263c695badbc7879353f719292bd951d3a3c3d5611bc3229e63ed7881abdf5b8263c80c53e3b5e33593e72d48dbb41b5573c1a2e633bed2cccbcc90b013d0000000000000000000000000000000000000000000000000000000000000000e90f983c79f8e1ba000000000000000046783a3c1f6da1b900000000000000003391073c394d7db90000000000000000e2a0b23ba2236dba00000000000000007c5bfd3adda8d3b90000000000000000d78a3fbb1bfa12ba0000000000000000e7c812bc0f9b65ba000000000000000000000000000000000000000000000000bae435bc2f05c73cd42d983b334da2baa9356ebc5379023de27fae3c426b09bc3ca051bc25090b3db7d8123d6e8116bc090d3ebc1e13083d9cbe243de83944bc912b2fbc22aee93c3461053da66b15bcf5442fbc37a6c83cef7ebb3ca5cbdfbb7e061dbc921c913c09a8273ca4f074bb4ca107bce1d23b3c65b5edb91790c238107e02bc0d215a3b7572c4bbe490243acd60c3bb6f7ca43b62c2fc3c19e347bd212b0abb6e22813ba483e23c297f3fbdcbff1f3a093e513bf714e23c435f5abd725fd33abe23313b4145b33cc27942bdcba57f3b64919d3ac84c8d3c858c18bd61dca43bb05e5f3a8c8c2f3cd0becabcbb059a3baf2de53a2cd5c13b77b547bc5748633be593953a4fddadba8dda863b3cb62d3b097db83a5d1e4bbb6700a43c66e1bcbd403b913cf22b35bc8034f2381fc01fbe0d2f0e3d89c78abce4bfc13a8ce45fbeb42a353de2b697bcf862e9376eb569be9108453d711f8ebcff16ac3618674bbe6e672d3d661d8cbc6641413accf01abe015f0e3d80257fbc69dee73a4949bfbde646c43c3e6665bc7ce08e3a983025bd9c30103c205418bc4d493d3b7512633b2016c73b7110e9bb5c85183b51dbe23cfb3940be030ab03f9540e8bc0a089d3c7e3d0fbe449a9d3fa8bcf5bc8e64873cc4ce03be6a69973f98c892bd5b17a43cd260eebd5869823f011fa6bdbec9c63c67d9d4bddfec4d3feda5a0bd3181e23c5a4db0bdec0f0e3f205b74bdbe3bef3c5bed8abdf5229e3e2ff015bdeecff93ccc0e52bd6aacd13d3a8d9dbbb2ba083dc7ff71bdee07b1bdbe14833c703ad03b0a505eba0000000000000000c4e4a03bb946553a0000000000000000d395353ce4d7973a000000000000000023004d3c98b13a3900000000000000002968323c262400ba0000000000000000aa9dcb3bcefde8b700000000000000005196383b594ff1390000000000000000d172bbbb4aa74a3a0000000000000000537f0fbcb507aab900000000000000001e3244bbb2f3503cb05552bc4c03533c9d6103bc8607053d738304ba950d113cb1c326bc188b193d9eb8593ced7c073b432c18bc0f461e3da1b5943c29a106bbd00a39bccf950f3d3b248b3cbc5681bb6caf60bca7180a3ddb97443cdccbc3bb5aee61bc441ee33c9df9583bd6efb8bbbe1356bcfb86a93c73438abbec563abbfab450bc70a74c3c3ad900bcf90908bb014576bcb6ffe33bf8510c3dec04a3bd758628bc2c70bb3b460f0e3dde4caebd0182cabbcd55883b84d7113d4e1caebd327c84ba2193733b5b81043daf359ebd4901aa3a57801c3b613aea3c1cc682bd9c841f3b8adb743a54bac93c3a9d34bd1990cc3b6ec6ca3965a2843c4a72d3bc8644b33bae700f395573113ca5d2b5bbc664653b14ccd13871c8003c8de2d23b16b7f53c84fe22bdf138e7bae2c3043aab12a9bd166f3cbc649838bc70d5323b0a3d13bef5c51e3c69947fbc9d74ed3a774332be395bf03c1836acbc14db6e3a32c929beea48133d2eb8a8bc9589b33a1bfd13be9629293d41f2aabcec7c2c3b74d4c9bd0337123d892499bc7cb6173b12746dbd1454fe3c5ab181bc7bda183be6d7afbce6b9c13c4bc84abc4075893b601fa93c69651fbec6a88d3f937c213e1312c23c35ec27bed48a943f8c809a3d1d72a73ce61c19be8de78d3f615af93b04aba43cd1b10fbe29ad803fe5c148bd50dfcf3c040d0abe411a563f57a0a1bd367b003d6c0a04be168d213ff6f9b5bd29bb1f3d54a2e9bd1192cd3e4b0fabbd367d2c3d3d18d4bdac364b3e42ca84bdc43f293d5cf5c0bdc89f553d0b8f51bd45ed82bc45ccd03a0000000000000000a53adcbbee18e33a00000000000000003728b03b0602f93a0000000000000000280b6d3c1798563a0000000000000000af8a953c4027823a00000000000000002c72873cf4ed103b00000000000000001ec6863c3f8820bb0000000000000000359e133c2f4867ba0000000000000000c225823b74038cba0000000000000000e82a683bae7aae3b117698bc38c2ee3c06b41fba6385b33c9e452abcdb05ea3ce9f564bb4cbef43c7816bbba5a2d983c2f54a8bbb7d60c3d5240773bbe992e3c51acedbb64f6183de8c2c23b1588b93ab0c033bcdadc153d803de63ad0d4a6bac8b65cbceb07043da9f882bb444f35bb5db580bca624e23c34e3f8bb649bd3bb967453bcb7089b3ccfe64ebcb0c494bbd6b9b7bce9c5f73b6c1c073dd58bc7bd2bc6a7bc05f6fb3b81e8063d0ab6c5bde73e78bc3cfcdf3bdcbe093d686fc4bdddbde9bb11c7963b97e2083dad97bdbd807340bb53cc803b8a81003d0d19a5bd0f92583a27dcd73a96dade3c1f8c7abdbebf5b3bbacfc33a2f7fbb3c372a29bd557c903b272f1b3a0c95953c1363abbcca919d3b17ac96ba4dee713c8b3c0ebc5992c73d674edbbdd5334c3c953f9fba8972b1bb4236a1bd8894423bd7c15c3aff7093bd83e22cbd393a09bc1e4eda3acdc8dbbd13cd1ebcf47f8cbc7e1d823a81b202beca05af3c43a9b7bcc9a8783a1bdeefbd78290b3d377dbebc29593d3b78d5b7bd45872f3d9fbcc6bc591d383bf6ba78bd75a33d3dfa41a0bcacedcc3aaf13debca253303d0d5d8cbc24929a3b68727a3c674103be7978643f80f5bf3e38d2913cf83a0ebe4811733f09f2893eabdc893cd3620dbe285b733fb22a133e2993723c892201be820d633ffef6103d92569c3cd2a702bea7864a3f750855bd4ec9dd3c021c03bee69c213f0269c0bd0eff013d4b50fdbd0c1fe63ea152ffbd2448213d9af9efbd11468b3e8eb303bed9a2213dcfe1e2bd1247033e72a3febd1cbf3abda822473b0000000000000000510c02bd3979843b000000000000000033bce3bb76a34f3b000000000000000086fc1d3c148f003b00000000000000005b66b23cb0a7f53a00000000000000000a17e63ca1a4c1ba0000000000000000f890fb3ccdf8fdba000000000000000057e0e33c196f22bb0000000000000000e9c6bb3c91ad9ebb000000000000000052fefe3b65d287bbda428cbc71131f3d6c009a3b31c10d3cef4243bce989353d01df023b39fc8f3cef69b4bbaa02143db2be8db91d16d73c70d16cbb6947ba3cb5280ebb2520c33c293924ba78df453cef3ecdbb0849043d6ef056bb35c1593bb6ca2fbc44f1f33c75d5f3bbb92baeba6cb84ebc4a3ceb3c44b045bc6fbe9bbba16440bcdf27b83c5a6a7bbc387eb9bb8ffddabcfd4bf73bf1e5d23c0466babd886edebcbac2ed3bedafdd3cf6a7bcbd7d94aebca368d83b343edf3ca163b8bd5c185dbc51e6e13b1527ed3c3038b9bd8d9819bcd89d613b7937dd3c9aa0a0bd14ad03bbdfa00d3bc2dcdf3c05598ebdcb42b93a0b4afd3abbc1cb3c7c4c4dbd7c45293bdb54fa3939eeac3c9e9b06bdf3cd8a3bbd502ebbac61853c5cb084bcaa9d0a3e55a028be5e5b033da0b841bb216e593d71ec20bec0e2cd3cc879acbaa9c325bc7408f0bd5fe0243c1b2aa3b9208b5fbd647176bd99fcd3bb66a0beba7d6782bda752e7bc512f1ebc87464539b8c8abbd1119923ce5b8c2bc026cfb3ae48589bdd4f50b3d2271babcf4d6873a21624dbd67ef553d2ea9d1bc3360313bd9edd6bcb5b45d3d3b58a4bc974d3e3b616d163c2bc2b6bd8e8e223f5b09223fa6ea2a3cff2ccabdea4e333f322e033f1fdb3f3c6003d3bd22443a3f51f1b33ec42c2f3cded6d4bd8b27393f80de303e2bd3413c4380c4bd63ee243f1f43543dbeba813c848ad4bd705a123fce3490bd9ca0b53c3022d3bd16e8da3ea57903beff04f83c9d8dd8bd44a8963e598530be60fe063db909d0bd549e2b3e4e9d3ebe8f5bb7bd2de9063c0000000000000000696588bd73fea23b0000000000000000579612bd0d209b3b0000000000000000ba077bbb59a36e3b00000000000000009b07373cb8c23f3b000000000000000085a20f3deabe34ba0000000000000000d4a5273d74e487bb0000000000000000b9e6373d4a4783bb0000000000000000e2f62f3da5c89abb0000000000000000a8dd043c882825bc2a992cbc38f8223d02e9d83b18457c3a6d621ebc8219653d4423813b70e0153c6ed09cbb9ab54b3d41ba363b5362663c624cb2bba27c193d392c7a397c1eac3c7e5aa8bbfa03c13c078f2fbbe2a5c73c2a40b0bb83e1223c86519ebb3a3dd83cc9a920bc858c2b3bb356f7bbca9ad23cd5bc72bccd2d6cbb1560cfbba4ec9c3cc40260bce4eecbbbb69ed0bcc385e73b72d8843c43848cbd495805bd8b5fff3b4941a83cebbc98bdc382e7bc12c8ff3b9392a53c1efc92bde04ca6bc4c37fc3b88d5aa3c00aa90bd0a5162bc5c6fc53b06c4a23c8bd889bd331305bc813c863b3b0c993cb8b371bdb55428bb4194603b08e69d3cff0441bd569f1bb9979abf3af9f8823c73280abd80000b3b354568bab3d86d3cc426b6bc98cb0e3ec79746befd34363d3bced9bb5287a03d31285dbe94bc443d39efb2bb6ba7cc3cb4163abe12d1e43ced3561bb9dfedbbb35f402be16fa193c26503cbb58a81bbdf29b85bd8efab1bb6c3b53ba0f3f44bd644f75bc2fdf8bbcf5ef4b3ac0573dbd1167ad3cef00c9bccf83393a75fd10bda609413da537d2bc88d1093bdf259abc31e6603dc660adbc9295603b2945893b03ef44bd53d6bf3ed317653f593f393bc57872bdcef8e23e86ab463f0db16a3bf43486bd2470f93e1b6b173f00c0983b8e638cbd35fcfd3e0a62c33e5fc2c53b8bbe8abdba0dfa3ea4d1363eca89183c8d8f8ebd5601df3e828fd33ca0e82c3c106095bd5bc4b63ea1cfc7bd2498973c09c89fbd4713863ef2e635be2448b83c47d79dbd5986293e19155dbe09b106be8ffe5f3c00000000000000008b1ee7bd739d3e3c00000000000000006c3091bdf8a2193c0000000000000000f044f9bc32569b3b00000000000000005f2f0e3bdc5e2f3b000000000000000073cebe3c0fc0043b0000000000000000fdc1423df21b7ebb00000000000000009c99733d832a05bc0000000000000000efaf643d244512bc000000000000000019ecda3b49e52fbc682432bb9fc12a3dbbf0c23b5d17a2bbdf9219bb281e803d9a4aa93b5af4b1388735213a34797d3d65cb963b7c58b33b78167bbac682543d68a0443b6e82073c3fd418bbece2163d9659a83ad0085a3cdf83c4bbd175ac3c57eafcba060e8c3cabbfd7bb8759eb3be9ea54bb9a02923cd3522dbc030e34b8714d55bbb5267a3c09697bbc7c99afbbb0c2debc2ab3a53bdc670e3c181825bd3ca204bd0e0dc83be2e5133ca7ef26bd49b2f2bcb515d63bb0842d3ccc8129bde0bacdbc1507e93b5916223c743232bd387da8bc3c40eb3b54a5183cf7c526bdda1d59bc016ccd3b8d9d163c6e9d1cbd000dd1bb34e28d3be00e1d3c942c06bdf22515bb911d073b59350d3c9a5ed8bc8b84833a8b0234bac2f5213c2aa192bc8997de3d3e454fbe61237c3dffb330bc4841913d4d2183bef3ff873de1a91abcd7fa073ded6a7dbe8cd0563d03cafdbbfea2433cf97c47be705e013ddd12c5bb811ccabbe7bf04be074e623c74068dbbd20d96bc33c871bddc1b8dbba0475abb0715c5bcd1acedbb3ba684bc92805bba95f997bcf51e073d48b1bfbceeb2313a6ac3c1bb65ca4a3d959fbabc3970183bc130b5ba0e6c91bcde80243eb50d8e3ff73580bad6f5c6bc9e574f3e44a0843fb5f4bbba9d78e9bcfd3f7e3e7b275a3f46dbf3ba8d25eebccf248a3ee8631d3ffc99b3bac4cbfebc9c3e8d3ef226c23ee744c63a6edb0abd5d83893e2f321c3eb339803bb5d90dbd8c456d3ecce176bc618ae53bf31d19bd34553c3e6d7a19be03c5103ca4f928bd10d5fc3dadad5fbe8aae25be036fa23c0000000000000000bfb51dbe60c3893c0000000000000000483ce5bd16f2373c0000000000000000217a80bdf95ec13b00000000000000007f24ccbcc2429f3b0000000000000000065d383c5a1b053b000000000000000008851d3db48b78bb00000000000000003bf9803ddab21ebc00000000000000005bdd933dd09240bc00000000000000002b1b143b388d04bcac49ac3b7d9a2c3dedf4543b8e6f12bc64c2d73be14c843d4b97163b6e62a2bb6258f63b23568a3d79dc1f3b389efcba7f4dd13b56bb803db70e293b5a3ba0ba755faa3babb13d3d7211223b6df8983afb25de3affe6f63c0c8262b70f59b63b2a12c4ba6d9f4b3c322690bafc0bfe3bd5d5a8bb0dee723af78ebd3a6605d83bcbba25bc509fa9bbb8acaebc7510b639d2c787395e5261bb69b209bda325ad3b4568493b616243bc2334efbc6b0cd33bd9836e3b80ea40bce70dd5bc841cf63b27d69b3a76e332bcc68bafbc8bd2f53bffc3db3ace2056bc3e7a82bcfdd6ef3b3654633ade1e54bc1cee00bc7031d83b5167cd3ac2e448bc2c05acbb7c97c53b7b6f3c3b659f48bcc236f6ba58235039601715b94c74e2bb73ff473da1565dbe5198933dea1a70bc3c8c263d48f584beb8eaa03d8dc787bc16b3ab3c0e948ebe9b82813d510a51bc03bcdd3bfcd77bbeeec9463d3a5848bcc113b3ba604e39be6f91ea3ced8911bc2b94d5bb5a6cdcbd59e9123ce4d8e6bb4b62f7bbbe0125bd2c7ae0bbb2b1acbb825297bb74e3353cddfea1bcd4c2c4ba1458ab3b547b433d02359ebcb114e2b92ff88abb8976943bf6d1ebbc7d6db03f5d2c41bbabf763bbc9481b3d66f9973f7875bebbf19fb0b943a66b3d7d9c873fc407abbb000d9fba9345a83dabf8543fa1b14abbe4d557ba21e9c83d18ac123ffb7875bb0842d3ba657bd63dc32ca43ed5cb2cbbb5758bbb62acd13dcdd3c23d8339d1b93f8708bc2074b13dd85a7fbdd911d3ba649486b9afb1323dd68d67be7c7c48be3656e73c000000000000000046501dbe104ba33c00000000000000002e0d05be9ba7813c0000000000000000518cbabd4ea2383c00000000000000009fd042bd30b0b43b0000000000000000dd5e1dbccb19243b0000000000000000746fb63c6b0c97ba0000000000000000fd87543dd6410dbc00000000000000000e329e3d2da56cbc000000000000000000000000000000000000000000000000f9b2edba8ac9a0bbeb747d3cff41673d2f9126b93b468bbb5f456b3cfb78713db4002eb803539cbb680d7a3c223d5c3d156fb93a610e9ebb12b66e3cce622d3dc862b43a90c68ebb376c233c4673ec3ca284153b88709cbba90ddb3b30f9863c95f30c3bdbc805bb40f82c3a4612253b0000000000000000000000000000000000000000000000000000000000000000cf5c9abc88c913ba868a88bbfb79993c161ca1bc6668143bea7e32bbd0bf533cae4282bccad85a3be8aa88bbb125563c6c3c70bc91eba53b10bcc1bb944e3e3cce1342bc01e9c73bf701a8bb04451f3cf31410bcbaf1a13b8d2fbbbba173f53b55aec9bbb1108f3b0bdcb2bbaa47c83b00000000000000000000000000000000000000000000000000000000000000003af189bc409783bee997803d4bb74abc6b2189bcba2b80bec5925c3d49ae4dbce2fc9bbc2f7972be50d0293d6ca82ebc2287a8bc80eb45beb4460d3da06b3abc4f006abcfc4705be844f9f3ce50d32bc321eefbb30ab87bd5e22bb3babeaeabbe472043a2a858bbbfba978bbbbf9bbbb000000000000000000000000000000000000000000000000000000000000803f1710b4bb55527c3cc02dd8bd0080b03f359dd5bba67a4e3c89e568bdcb80923ff300cdbb4848873c8cc037bdd473763f6d4de9bb28429e3c185cf0bcbdb0383fe4faf2bbaf15ab3c9dc0a3bcb6cfec3ed7e7d3bb8112a23ca2df52bc2a5e653e5a14fcbbcb12c43c384492bc03ec6abc000000000000000000000000000000000000000000000000000000000000000034c510be95f7973c00000000000000005ae8d2bd16ae5e3c00000000000000001cf3b7bd490e393c0000000000000000d6b489bdb50b173c0000000000000000871b0dbd68d2b73b0000000000000000311964bb1f13043a0000000000000000d025eb3c94b8adbb0000000000000000000000000000000000000000000000000000000000000000000000000000000058220abc0fc2183c88635a3d94eeafbc886e8bbbe4ac51bbfd40883d9f0fbebc58c381bb47272bbcd1aa833d2612acbcb20b39bb98746ebc2b8e6a3dbc27a1bc8c45c5ba516f84bc7acd323ddf6b61bcbcb15aba42fa25bcfb7cb03caad3bfbb2f87a2bab6ec0bbc0a254e3b329d9dba00000000000000000000000000000000000000000000000000000000000000004951e0b9325a383b7a96c03c7f3a5abc00d4b1b9ed13173b0382573c63335d3cc67353b82bf0823b26f9ae3bdfbf103d3131d7b7b6314e3b79b2e4381ec73c3df4bfb5b946e8f63a33dd2fbb26b54c3d47080bbbc195213b942397bb845e183d170c02bb043d373b4935f5bb3139063d0000000000000000000000000000000000000000000000000000000000000000fdfe88bee8a4443dde9728bbe667d0ba4a538fbe511e1e3d6ec2bd3a2b8805bb404e89bef425013dba2a333bab047fbb160d6bbede85d13cc6fb3a3b1fae71bb68f82abebab5503cc2da933b64ddb3baf04ab0bd5ee33437aa05573bf7dd38ba9c445dbccdc708bc0112fb3a0ea3c0b90000000000000000000000000000000000000000000000000000803f00000000d4353f3b8982eebd9c48b63fb9b1d9bdb576a03bb6f7ccbd9c3b993f84c064bd1387853cd1bde1bdc3c07e3fcac315bd35fac63c569fd8bd9d32403f70a09fbc70fbc33c10e6c3bde50afb3e3591963b2871e63c68f6a2bdfb2e6b3e6b1cae3c7959f53ce1f06fbd1423b0bca0d4123d0000000000000000000000000000000000000000000000000000000000000000ccd913bc4e309a3b0000000000000000373e6abcc1e3953b000000000000000074ed83bc0fee303b0000000000000000695687bcf9f68c3b0000000000000000c6e873bccd6c823a000000000000000087ef2cbca5f5fdb9000000000000000094e7d9bbd81317ba000000000000000000000000000000000000000000000000ba74e8bb36d9f83cfb77aebb2a71bc395c8b06bc20f1eb3c3d6ced3c954380bc5b5716bc3b65ae3c46b73b3d87df9abc3de117bcae582a3ce81c643daf04a9bcf2fb3cbca340a23b5a01603d7cf29fbc029a3fbc89f5a5b9a1ad373d608188bc2c4540bcbabf92bb05bde73cdfb42abce54830bc055569bb465cef3b80b4aaba8af2d0bb4521d6bbf0f3fb3a3b9d71bb52e20ebb2ad62a3be01a4b3df645fdbd7faa1d3a02b3363b87bc343d31e5d6bd9c581c3aa458193bdaf5263d35e38fbd87f0e43960a3f43ad55e123d75e306bd08bd793a51662f3bd234033d9b930cbbe58741bacb64213bb13bd83c7894a43c132cc8ba53c2263b3286a03cbe111e3df3b92fbbc556213b1d5f783c4390263d0fcd9dbac748573bb107683a9082323d4ee070bd904c483c77cb08bcdf2494b9e6de2ebe0065093d60c744bbcf885cbb238378be02b1163d91d274babdc952bb6c8887be814c203dbbb9153a85a52dbb571d7ebe265d0a3d50a0a73ae6f274bbc56c4dbef929d73cfc15c73a8a1c03bb2acb09bec4b3883cd5913d3b9ed5eaba85c456bd9cba21badbe1d23a4ac2a5baac7910bc4f05e6b9e495a03af705fdb9e38645bc0024f0bde406b53fab6a92bd40fa73bc749bccbd8f3cae3f13457dbdd836ccbb4d4507beb641a43f12ae82bdf842403b6c7925be1fd08f3f557673bdeaed3b3c6f443bbee1a3673f3b6b37bd671dc73c9e4247beead2263f565fd7bcc7a4013d051843beef0ac63e94a3f6bb0aa2233d345537bed9b9073e12ef5f3c8488453d540613be50285ebddf5d823c416f393c95a3073b0000000000000000bd6abfbb62f4813b0000000000000000050900bc96a77f3b00000000000000005e955fbc235c9b3b0000000000000000fef36abc4602683b000000000000000030ef7abcc596383b0000000000000000d4eb60bcb2ace03a00000000000000006b4ce4bb5856be390000000000000000b90ff8bbf9c2b5ba00000000000000005b85613a747af03c642623bd99faa43c204729bbbf2a053dee285ebc106ec13b4b4720bc7a4e063dc9c4113ca85593bbec7817bcb7d9da3cc593ec3cf99b74bc9f3f5ebcc352a23cb924163d490698bc682885bc5456423ca5fc203db66faabcf7e582bc2496d63b08580b3d24eb9cbcdbce8abce16e253b8048d33c4b8183bc5b934dbc83067cbb4b6e863c7ee352bcbf366bbbd2fe8d3ae4834a3d7f8337be089f3839b314d03a1dc7513dbae829bed0170e3a37a2323b5880543db7a506beeb338e3a25e1443b2314513da651d8bd0c460c3b8b7c1b3b9ccf4c3d0d177abd20254e3bb8b74a3becdd403d27a3d2bc2de0cf3afe947c3bdffe1b3def4fa63b620a273a31f6623b3139093d8724f03c715d283beb7f263bba2d983c85f1263d72b8f03dbb1323bdd73213bc9bbc063bea8d9dbc73df9e3a969656bc07a569baf0c7ebbdce47a93c1ba70cbceed53bbba3693cbe32d52f3df0c5cebbf6dc37bb7a9056bed6824a3d4d378abb45537ebbc6a750befb77553d514e4abb4dcca7bbd4382ebe13fe453d074023bb7762a4bb363e01be6032153da6d2ca3a678474bbeb6f94bd8274f03c2cdf8aba41cb6abb9a27b4bc9d4253bd09178d3f7ff0593d5740a0bc8bff8fbdd46d993f167510bda4f15abce35fd9bd3933953f4b0585bd3f672abcf2160abe0b568e3f9cb4ccbd2ab02fb9a9df34bec557783f73bfd0bd3d00003cdd3d55be9aa0493ff1ebc4bdc8c6c13cacfd66be2e7d103fa0a2abbda99c0b3dcf8475be5b5bb13ec40852bde217373d8a1a57be1fa81f3e4a703cbd4cefd23cb1006abb0000000000000000e195963cf1435e3b0000000000000000a9e2133c30d45e3b0000000000000000822d9139424d6e3b0000000000000000f54de0bbfd2ea13b00000000000000000c213cbcc8e7a63b000000000000000053d354bc04b8b43b0000000000000000a1de86bc187df63a00000000000000003d4a3dbc640a1e3b000000000000000095d8ed3bd9678d3c32c381bdf462353dff84943b42aec33c46a83abd0a59043d018f25ba395cfd3ce7c8b2bc3351543cc2029abb73bcfb3c57e2f8ba3ed052bb3ad022bc3eebe23c552d963c988172bca42d71bc2183bc3c617ed63c6aa5a0bcb9237dbc9142913c0dc8e63cf3afbabc507696bc57d71f3c4f22ec3cbfc2cfbc535886bce3bbc23bb017c23c8c01b7bcced408bc396cca3a6a782a3d575640be9046a6bb05b1c33a902a2f3da7fe3cbe02fd8fbadc8c403a393b3e3d44fb2bbe46c4423b5ad4093b7a80433de19f13befe0d973bab9d163b3632543de205ecbd6e0a803b8d8d463b49a9553db66297bddd3f7f3b9812753b0a694a3d41dd28bd808bac3b5e65133b7dc93f3de9470abc8436443b15676c3b1755f33c64eab43c0c2f793e169fedbd9f7711b9a714693bc5ea083eed2d92bd555339bc2936293b409e3b3caf6898bcd1c52dbc4a998a3aef5595bd7152ae3cd49e26bc4b3356bbf3b80fbeb682553d756e3bbca5996fbbafc02dbe19b8823dda8c00bcdeefa2bbcb712bbea6e1953d18aaf1bb2a66b7bbe9541abe3fa9923d406e9ebba8c999bbc2acedbdb9ff823d5eca96bbd08b83bbaae798bc9a2580bc74644f3f17f4783eb027a5bc9412c3bc7507663fcc07d23df4aa94bc660c51bd7b24763f18abd5ba9ada6abc04799dbd3302753f56aea2bd61e84ebc45e0efbdde2f6c3f549011be796694bb71ba24befb714f3f8a361cbedd81983b798549be564a283f4e9d20be5a8c8e3c961a68be6397f93e75dc0ebe15fb023d21045bbe8c89983e0d3102be6e52083d465e5ebc0000000000000000cb1e303d771dcebb00000000000000007be7e23c7a6821bb0000000000000000f084933cfa64c53a0000000000000000561c573c3e19803b0000000000000000a6c5023ac544a03b0000000000000000ad5483bb526aae3b00000000000000008a833ebce31ca13b00000000000000005c31ccbb61ae6b3b0000000000000000fb3f7d3cf22ae139dba18cbd618d743d3f9c4e3c2e9e2c3ca59785bd81f8703d0744b83b3768a23ce3bf37bd02eb193d956f1e3b8304d03cea66bcbc68ff803c6fcdaebb10f1e53c83ac92bc89f4013c295bf1bb884ae83c6bc21e3c32a86ebc46514bbcbb91ca3c09996e3caa829bbc0aca72bc2bab9e3c4360d93c7849eebce0db8ebce04d763cfa46b13c728ce0bca82d52bc974caf3a558dc63c682929be2fc33cbc880f963a322acd3cdf362bbe6155cbbb1fe0ae3a8045063d222e22becde10ebaab370a3bae96133ddcaa1dbe20a111ba1806023bb572293d47a3f9bde675c93bdcc0383b64b33e3de7afe7bd8921803b9f8f733b71853b3dbfc196bdcab5ee3bff95513bea0d433de09939bd3b44f93bdc05393b97fc203d2c590abc07109d3e870338beb698573c501c4c3baeac6d3e7d3e1cbef0a459bbf4bec83b6004003ef271bdbdf92a9bbbc2c8503af1b1c93c4de5d5bcee145bbc9dd491b8d7bbb9bcc6e6863a8c820fbc80d19eba42efdcbd584a733d5d4461bcfcfeb4bb311704bea9dc993dd5c538bc827a7cbbc07d17be7f94bd3d6a392bbc86ccbdbb0cfafebd3bc1b83d70c242bcd0a0aebbfcbc67bc98728a3c2923033f3176fe3ee75b5cbcfa748f3cab62153ff1dcaa3e14ec69bc0df51dbca2352b3fc3c8363e45bc88bc707ec4bcc0283c3f6887663cb4642cbcd95d8bbd028c323fd70c36bddd8c80bc74f2b4bd1b83393f09792ebec1efecbb982905be5c3a1f3f4e5243be5c3aa5bab3dd2dbec939083fcd9058be80977e3ca7f13dbe7f97be3e09cc50be5f76a93c15ffaabc00000000000000009406493dd77283bc0000000000000000507b293d945808bc00000000000000000219243df70550bb00000000000000002ea6d63c6a422bbb000000000000000048e0ae3c102a503b0000000000000000ff84533c68f6e73a00000000000000001b2aab3a29fba53b0000000000000000cff3c03b1938903b0000000000000000baaa953c17e17fbc3b8c52bd5a0c863d7619733cc1e940bb739d7cbd849b9f3d6c903f3cb582ca3bedb853bd81a7783d3febe63bce02843cf12331bd9c44253d85af8d3b7132a63cbb0eb8bce9278f3ce66e11bbbba2c63ca7f002bc17b41dba6cc0b5bb8ff0d83c21bfe33a051c6dbcd92535bcbb67ce3cf602493c23cdccbc37e659bc60d6a53cee805d3cf942c8bc0c568abcfa857f3ae1d1f93b769de8bd4c59a5bc53f0543a5cf7223cb0a8f3bd432b60bcee4dde3a0357873cb8be03be84bee9bba5361a3b4b05a83c049a02beb34189ba419fae3a4a2fdb3c7243ffbd4c99433b9d992b3be799f63cdddad9bd2783ce3b16684a3be1ef093d929fb3bdb52a013cd47d4f3b4bb5233de36c85bd5938ec3bff78813bc037173d7a7500bd80fa953e897670be849a023d66094a3b608f833efc1176be97a6a13cd4d2ea3b8c1d3a3e59b334bed4b17d3b389bbf3b322ee43d609ed2bd8a62bfbb936e013bceddff3c92b115bdbc1734bcc964443ae0e2f4bc0af6973cf03750bc96f62dbb9de19dbde51d873d1e8b84bc88126fbbc386dbbd8176c63d0efd90bc7939a0bbc39bd5bd1c0ec63d68fa8bbca6549fbb1c45f7bb9934fe3c399f803efefa4c3f76c5e0bbeaa00c3d8afc963e5637253fc19f2bbcbbb8c33ca9fdc43e682fdd3ef74631bc4da8633c5136e43eba89633ed2f770bcd80db9bb8ab1013ff9551b3ded2a47bc6c74f9bc2602043fb45fbdbd1bb720bcde9578bd202f003ff02746be183e25bc7178c6bd4331ea3e9c9780beb44d683a46f702bee82db53e9a2b84be7d4f57bcc199ccbc000000000000000011a3043d5f52e1bc000000000000000013c43a3de267a0bc0000000000000000b8ca483db3fd49bc000000000000000083bc413deba6eabb00000000000000008b2f0f3d0a0f01bb00000000000000007b42033dd26562b900000000000000009252d73cd93d383b00000000000000008e38c73c4dc8003b0000000000000000ebad5e3c119e95bc4e1ee4bc24dd823d46ce533c18711fbcd5af25bd383eb33d5b352e3c3637acbaeb022dbd315ca33dab0a153c4b2a443b379b28bd9ec9823d9bd4cb3ba1801d3c9cba10bd5d532a3d5483343b504b773c977faabc0160923ca74209bbddfe943c888b2bbc90f9fb3a9a2037bb2828933c68472b3b3ebc9bbc742b18bc9b7aa63cf13f663b6cf3b1bc144bb8bc55c7243b0951d4baa58855bdf67de2bccec7353bfad112bb445f7abd557ababc3509293bf9781b3ba17095bd4b5972bc3f6d103a5a39e43b1605a4bddde5fdbb8504003b64591f3c7944a7bdd634b3b91d16a33aecf05a3ccf189ebd8f4c983a3bdf053b1a31973cab9689bdd9340d3cf4a03c3b56c4a33c724565bdacaefc3b40fc053bd572d83cd3ed1dbdab8b563ef7c886be0d9f623d854ef2ba92834c3e51989ebecfbc2d3d56b59d3b37dc2c3ed0e48cbeadd7fe3c6d2c6b3b531d0e3e33ed4fbe43dd253c0607b73b66e7c13d04f3fbbdd8a9e2ba4150183be69b213d2c9e2dbd17a441bc10ab073ae784bdbba368683c73fd58bc62219ab9b74e3ebd8768a03d5a73b8bc6ddb86bb79a681bd7f35cb3dc795bdbc53900fbbec94abbaf88eda3c9da4623db36e8c3f3102063af7faf93ccedb923daf1c7d3f067586bbe40d063d9193083e9beb433f569ab1bb793bf33cd132363e5d31023fa275e2bb8499c43cbe43643e9718893ec3f604bc4b8a423ccb8b863e9dce4b3d4e7912bc594d11bcd84a8f3ee1bacdbd73aa39bc4c99cfbc1a7e923e42827ebe7ee5d9bb98ee6fbd2d3e823ed70095be51a146bd46e0d4bc0000000000000000ff078dbbc24c01bd0000000000000000e939a53c8fa4e3bc0000000000000000792f3a3d880fb1bc00000000000000009dd3553d2ce07ebc00000000000000004394583daaec08bc000000000000000005f2473dcc62c7bb000000000000000009cc3d3d9714253a00000000000000006050443d540c7eb9000000000000000086d2ba3b007057bc88618a3b74cc513d0439233b220b53bbec1c3cbcacf1b33d0d6bc13b7bf4a0bb6fa5a6bcda90b03da820bf3bc21d38bbb380cdbc1e23a33db3a2cc3b897d19bb7ba4c3bc7dbe733dd0039a3bdff3403be9e9aebc44b7153d104e3e3b0ca3823b239750bc36265d3cfb175dba2baaed3b3ffc8dbb575c3abca8ec98ba21c23d3c1388a7bbda7256bcfc6596bc673d953a61a704bc8f9ff63bf4360ebd566d893ba5e477bbe71171bb4d62debcc998da3a280eaebba6397abce58cbfbc8007f43a5d51bfbb0001a9bc228f7cbc89c97e3ad39889bb889bcebcd8430cbc90bccc3a5bdb77bb8e92e2bc0707bbbad3bd0e3bbee833385c6fbdbc7b30c83b6776083be89871ba82e465bc42ea9e3b9212173b6d4f0b3cc939d6bc909d8c3dc00e86be6172823d0876f4bb07fe9f3d38c8adbe435e893d2fd9c13abb08cd3d2332a8be037f353ddf7d9e3bbc7ccc3d5f4192be473eff3ced6e9a3b373cb93d175056be5acd753c0497a93b7648853d93c4f5bd3a21e13afd044d3b17eb1d3da55516bdc0e307bc446f01398cb0023caebd303d5fd593bc4ac2b1ba7786f5bbc46a9f3d57c0a9bcb19fb0ba19ca5f3bcdc7333c2fd592bdbf2bb53fe0cb653b5e1dd73b675037bd2137a33f993fb03a1abeac3c4dad1cbdc34f883f2992223bab26de3c0f14b9bc9778503f6c229eb84d72e93ce168ed3a8f1f093fa45ff8ba2ebef23c6df0fc3cbe90873e7b82d5ba97a3913c1be2653d1923e13cd36104ba4bae5c3cb7088d3d100828be826318bc1bc0e03b5b6fb63d2b7292be68cff2bd38695cbc0000000000000000d28d50bd8861f1bc0000000000000000c2007fbc75a3e0bc000000000000000071ea5a3ccca3d8bc00000000000000002c79103d2b0dacbc0000000000000000022f473df5bb85bc0000000000000000505b533d8e8a22bc000000000000000002da643d57389ebb0000000000000000253b733d65eac7bb000000000000000000000000000000000000000000000000bdf780b8ae5383bb5f5b333c77f8633dd1e8c93af5ff8bbbcf73e0baf4a5893d9cc6923bbc85dbbb7e8f25bcfa8f813d03a1ba3ba1cdfbbbec7154bc75ac633dabddd43b302002bc584153bc6cef273de0e1833bb9b068bb7c271cbcf6aeb33c99a99d3bad0ea2ba526816bc3be6c93b0000000000000000000000000000000000000000000000000000000000000000d37799bc2cac053a279d1fbc0ba7133d8a25b4bc039b913ab73c2ebc2a66cc3c065390bc3b7f413a8c9059bcb37b993cfd0c80bc8da4203a4d8f5abc2da1393c7c313bbc4f7ccc3a757142bc8827e53bfbc0c6bbdf70213adddf43bce69dcd3bbdc001bb76a2aa3ad01d0ebc28102cba000000000000000000000000000000000000000000000000000000000000000096d3a2bc898e8bbe21524a3d7060a8bb5442733c703d91be306e323d2989e939c9203b3dc5d087bec18e053d7b36353acaad643d8a9e66be964ad23c7310033b8047773d986a26bed5cf843cab14a23ae6e5363d38d8acbd42438e3b1a4b013b4c12103d974065bc6bb672bbab01d539000000000000000000000000000000000000000000000000000000000000803f78cb873be325ae3b689c03beba67b63feddaa53bc09f6e3c516cf3bd0768983f77d9633b1e8bd43cfd8706be1b74793f960aff3a9ccd143db82dfcbd6ad03a3f5f28bf3a61dd1a3d271becbdc190f03e495776baa92a2a3d1d79c2bd283e5b3e31489cbb1b2d413d88a191bd3187d2bc000000000000000000000000000000000000000000000000000000000000000019a1cabdea73bdbb000000000000000018d14cbd942f7bbc00000000000000002db3fabc68d468bc000000000000000006b349bc6e6f88bc00000000000000008565d33b3f956abc00000000000000005967c03c33002abc00000000000000003c190b3d80141abc00000000000000000000000000000000000000000000000000000000000000000000000000000000583c5339ccb6c139967dbb3b305b593b0598d83ac0de2cbaac78a23b6dea213be40db3390646923af60d983b75ee803b4e18fb39c547953a2e608c3b4bd35d3b0e1baa381a7ac53a8772763bf0ca3f3b731f273a3b5a1d3b1baf3a3bfd2a143ba92221ba258f7d3ab1a62e3b457c3f3a00000000000000000000000000000000000000000000000000000000000000001648aa3b9c34a1387a1c39399139dbbb2950273be4d1dbb9c212393b77e8a6bb4cbc603bbe2953b881051f3bd9b4a8bb4be63f3b41a9d9b98193473b6a5ba9bbd8b4213bfee3c339942f513b5720c4bb6a9c05ba11a1deba50f2713bf163a9bb06cbf53aa6de5fbaeaeb1b3b2d2fc1bb0000000000000000000000000000000000000000000000000000000000000000272979bdbf7433bde7e69a3a0b14b63a312875bd248016bd6a83a93a9bf2e93a852656bd463903bdb007d33aaf22c33a1b4434bd4721ccbc89a1413bbd86be3a5d9815bdede898bcf2fb8d3b61d1a43a0871e0bc91e71fbc546ab73bc979893a79fb80bc015b9fbb4d05f73bba42afb90000000000000000000000000000000000000000000000000000803f0000000024513fbaaa65c1bc025c8a3f08628dbc89fd57bb0835e8bb4b90673f8b7b31bc40a31db8095cba3a5a823c3fe02851bc7f2df53976f6c53b07a7123f045089bc2c7a91b83f37f53bdf88d43e1e1cc6bc9411a7ba95b9023c8dd4853e104d02bdc28ac4ba7b13843b6bd9df3d54432cbd0000000000000000000000000000000000000000000000000000000000000000cc9c5bbc808ca83b0000000000000000b8ba1fbcfa6d253b0000000000000000e1a930bc1a061b3b00000000000000000cdf15bcdd3c153b0000000000000000725b02bc00e1de3a00000000000000004de0aebb34d1a83a00000000000000000dd91cbbf63a3c3b000000000000000000000000000000000000000000000000f3e45dba54239f38c3f7743b04dd57b8f4259d3a8181033a480df63bd82d983baf838a3a5be2d53974f10d3c2a98bd3b0a9845390bc6de3a0600e33b37789d3b878174b95010ee3ada0cc33beb31773b19f4a1b5329e033bc9b9ba3bf7de703bbf0e14ba5172ff3aa893ad3b6f54c93af248dab96517a13adfc5873bdacae03ab96f20bae285243913a4ff3a88c3d6b9095e563bdb306c3a1436d9b85a98b2bbb38bab3bd75d633aa2898a3a3db708bc5eb8bb3b105e91b78631313b9dceb9bb635f913b6bb7c639d2e2223b54a88fbba6bb6d3b7b5f2939e015513b712581bb7a6d393b7a6383397f3d633b094e91bb093d1d3bbd0e0038f6773f3b1bf290bbc8d21d3aaa533dba05241e3b823892bb6b23deb9ef3c30bacefaa03a19cefcba0d16d2bc940b25bd67be97bb85bb2b3b44476ebd75365fbd792a32bb9d7d573bda8583bd770f55bd295258bbcb3cfa3af62671bdacb53dbdea21aaba0fec413b656943bd93da12bd10abf53927bb153b457628bdc466ebbc2452643b6674463a7e98f8bc055496bcc621c43bdf9b033be45381bc0a4a15bc0375023cf7a7463a4199dcba508b1ebb7b7bf13b0975c539fac7993932146abd4d068a3f3faaf23de94b213b450968bd3337823fda3bd63d00bc3d3ac53f03bd06d05c3fbc96ba3d2baa7439473e87bcf6b5333ffa8c903d21937f39b9c9d8bb592a0a3f48a9413db33d6ab905aa05bb4e06ca3eb390a53c0f1593ba75e842b9acdf7a3e936d02bcaf1f97bafbd82dbbcefcda3dd60f00bd50fed2ba787773babcc15abc67fb2bbde563d6bcaa28b03b00000000000000001833f8bc8a0fd13b0000000000000000080ad2bccd02b53b0000000000000000d23dc5bcf2ee843b0000000000000000fb37a7bcf899383b0000000000000000f66099bca6e74d3b0000000000000000db8a6ebcd7ae3b3b0000000000000000907822bc3690493b000000000000000070baa6bb5d6b313b0000000000000000d6ae1e3acc1f773a1b47783b49ef25ba97d7173a962f9d3a9606ca3b43a9ed3aa7203f399375e13a3a7ac03bda6b433b55c23d3af2dfa63afc3bcc3b3ce7ae3b7d33d239fd7e0d3b57f5af3b4a1f343b6913bf390b5b1f3bf85bb73b561b563b2aa806ba5ff2a33a3bb6833bf7aa233b8af5ef39a7ce98b99fcf7d3bbcf4f4396192e03afaba88ba7287d83a7992a93910770b3b135a963ae78ec1395633b0bbae02923b14a6d33a7d87cc3aa265b6bbd3f77c3bbbda883a8136ec3aa5271cbb9ea31d3b7749a33a82955c3bc2a840bb5b27483bae76973937fdda3a76854b3a3de43b3b57c88f395fb92c3bfe064eba9348f43a75ddffb923002c3b34805a391848f9399134da391a00b13acd2386ba6cb923386631243a4ff1083be756a139ba900cbc6dc00abdff443dbcc7b16d3bd3f70abd10cd5ebd38744dbcd5b89e3b0a4120bd8ac849bdfe851ebca37c7a3bf1dd2cbd3a2947bd2253f3bbbffe843bf06b07bd8c1518bd6b4a7cbb3785493bb5ce03bd1cf204bd5310e0ba48d2793b6fe4adbc0272b3bc78ab243b3e16373b130326bc1d8249bc27608c3bcc29123bc93f90ba6b5b8cbb22d0963b78a2213b3cae113b05da7ebd34e2683f2710893e0bfb773bc4508cbd6c655f3fbed47d3e8803043b05a726bd76d1393f0408593e76e01d3b8bc6ffbc13061e3f69dd2d3eb8e3f439d86c7fbcdd84f03e6d84003ee6bbc839a1ec43bc3bd9b43efe03a13d46c159395399e9bb518f673eac761c3dd3a947ba779ac4bb259bdc3d761d1fbc4e2cb4ba5f1737bb2779bd39c71309bd4a4f18bd6d8fa13b0000000000000000eebb3fbd1448d73b00000000000000001c591abda2529e3b0000000000000000d13816bda6f5923b000000000000000045cfedbc89eb5e3b0000000000000000580bedbc6df2363b0000000000000000bd1dc8bcada07b3b00000000000000000be6b6bc1102e53b00000000000000006dc844bc195fc13b000000000000000029520f399436e53ad39a333b8e12d0baafba56babd6a0d3ba4519d3be9d88f3a94317bb9199def3a7a77ab3b0936473bf063af39d77d4b3bcee4ce3b61da3b3bf87f2e3a6415ad3aea2a9a3b1ed3483b8b935cba5e8bff3aa12c993b2af33c3bbcf78a39a3e8bd3a8de6903b580a2b3bd4bd9ebaaca9a73a201a623ba88bcf3a1597c7ba0942913a3cc5183a2c1a22baa07f843a72add13a426eb939d938a1bb51e7683bf4690c3be706153a52ed8cbb394a7f3b5fa20e3bef320a3b36b8f9b91013a73bc323653a459fbd3a727d203b8483403b295d893a0d6e5f3b3ea8e73a66b4383bcf25353aac4c1f3b38d72e3b71fe143baac2e239a31e2b3b93081c3bf03f8f3a28a5a7b98101c63a7230123b02e0c33a4b8d6cba82e2f4375db0fa3ac304d239af6ee3bcbf2495bcf33e6d3b187291bce34546bd1977adbcd8d2b63bf4a1f3bcf6775ebd0a638fbc456e9d3b407dfcbcb48853bd902265bcfd4c823badebe6bc7f002fbd67f91abc4cde873be66ec5bc5c7210bd893899bbeeef8a3beb8f91bcce9cd1bcfa1253ba3400823be76b0cbc78d46ebcf910543b13d7803b16a5d0ba198e9dbb4bb02f3b52c7063b39911e3b3e636cbd2f723e3ff8f6d83e73789f3bbc9d87bd05bd363fa4d9ca3e8502533b28af46bd8af71e3f2a12ae3e05bbf13aa0dd09bdc8d7033f4a118e3ea3e9933ad45eb3bccce8cf3ef7b1553e3f4db73abf7c86bcce839a3e81cd123eb52a533a2a6031bcdcd0483e51159e3d719a1b3a5946febb3353cb3d2eb5813c99b8c539564630bbf1121f3cc886dbbc0dbe3bbd1fa3833b000000000000000019c86ebd7bcdc63b0000000000000000afca51bdbcec653b00000000000000004db93fbd3ca9743b00000000000000004c222abd52cb663b0000000000000000d7e01fbd87b37d3b00000000000000007e0d14bd43a2833b00000000000000008a1f00bd9bf7b43b000000000000000078199dbcfbda633b0000000000000000c871b1394ab7423b1665733a910b28baac850f3932c4473b55c5243b4257e33a210d803add68f43a203c803b07121f3be60c04ba924a1e3be40a953b932e743b61bff338a34e023be9b7663bcb1b1c3be24ffbb8415e173b323f933b4d20503be6c50abad109bc3a7381673b23160c3b5c6682b926aa423a9fc2483b850ee33a2dbae1b84fb6103afec4e93ad6a5d6391e98543a6df43b3b8876dc39403fa0bb19ec423bc510603bd64bed3a325e78bb7d85223b678c3a3b09ebd93a3bbad939ab27483b8e1fa73a5a230e3b191e273b8859f03af519533a0a4be93a48fe6d3b02a72d3bd9819a3a5045093b6709963b2b79e03a9d299d39e101f43aab75913b7f15573a4a9d0c3952c1fa3ae417a23b6235d2397b5e8b39d027933ad87f843be5dcb63ba724cbbc53e3cdbc6412303b3193f7bb556e3ebd42aff1bcaa0a913bfde186bc302b48bdca45bbbc7ceb813b9bccafbcbdc551bd8957a2bc27f18f3be96774bc3bd409bd6e2f41bc8e5a3b3b7ca396bc6f3016bdd26b1abc7bf0993b550d51bc8255c6bc09dd80bb29dc893b4f2302bc920983bcdf005737bd77923bb2e68eba9438bcbb8727f83ae0f2523b3d07373b213253bdff0a153f93d5143fcc629d3bb56672bddee50d3ffbaa0b3f0d40563b943b27bd25c5f43e8283ec3e0d21343be88c08bd77abd13ef197c43eedbdd63a047c90bc23119e3e2f4b913e6e98f03a52568ebcf57e7c3e3e83543e0265b73a3ccf33bcb34f253ee561f83dfebdff3a2af611bc380eb33dd54a2d3db996623a01308ebbebbd5b3c3ef0a5bcb81953bde9d9e33a000000000000000048fd83bdea7d7a3b0000000000000000144658bd5cad623b0000000000000000f09658bd3628413b00000000000000001ef316bd758fea3a000000000000000013513ebdc5ab513b000000000000000005a524bdc80d5d3b0000000000000000d31123bdf6c5bd3b00000000000000007055ddbc518e903b00000000000000009f8b803a3286653bbc033939a289a7b67c93273ae7a21b3b59a2dd3a67fc023bcc001bbaa01e153b7ee3383b1634943b93af4bba1e34243b0773783b08a2973b9ce2f5b91225fa3ac0074d3b0b0ba23b25598dba9733813a2fc1a33bbe1bac3b20bb37bab716a63adf02743b3f145b3bd86289ba5e66dfb7343c3e3b3e05233be24101ba52b23038dc1afb3a74d19a3a5c5d033abb69833a3c817b394cf5a2bba1a8463b39543c3b0ec1213bfb71a2bb2c94063be799473b6c0fe13ad2247d39ef28683b00a30e3b7637e73a278c4a3b83e95c3b44b9063bfcf5e23a2acd8c3b82ec1d3b6227943a22e0b93ab64d9d3b005b173b27e25a3a6f15b83a281ec33b8e73c03a660a363a76ab0d3a132db63b5409853922adde39b375a93927f79b3b4d5c053c13cebcbc9828e8bc46c1933b63a478bb5d8b45bdf62013bd48a4c03b58873bbcf7e865bd2490fdbc03c9ad3b0f9a76bc2d425ebdc3d8d1bc97979b3b113382bce0113bbdf58c98bcfdc1993bb63868bcef0922bd7fec60bc3add8a3b088e50bcf465e8bca521e6bb852ab33be8be0ebce05b87bc3be2d9ba510bb43b87a31dbb579fa3bb500a633902c0623ba5f64a3b8c1136bd7394d93ec0293e3f37f9c53bbbb25dbd37d9d03ecf95343f608e8d3b43c525bd3062b83e293b1b3fbf03563bff50f9bc6ba49c3e1fd9fc3e5f70293b45bab6bc2e567c3eabb1c23e7057803ba14c94bcd9b7433ea46e8a3e54d9173b17415cbc7488053e77d1273e8778f03a37262fbc1204933d4f18833ddd9bc73ad4f4b5bb22b7743c19fe89bcebed69bd2a232d3b0000000000000000e70a98bd8aa3a83b000000000000000051f981bd3dd93c3b000000000000000004b76bbd7a9e013b00000000000000008f2354bdd22c383a0000000000000000d43e5bbd2f30fc3a0000000000000000dc0a52bd818d7f3b0000000000000000afd345bd722dcf3b0000000000000000564e07bd9c87983b00000000000000003d7c69ba8437313ad9f561ba6e231d3bbec29fbaf5611c3b5c320b3af9bd8f3ba24b86ba239a253b3efea83a86239a3b684eabb9ba54fb3aada20e3b7c17cd3bb829123808f4153be2c1043b8c69933b22bd86b9fe1a413bf241443b1d67993ba59320bab3e9023a4998463b6b9a8e3bdc7941bab9feadb9cbcb3d3b3a195c3b0e97f3baf843cab9019edc3a4f17bd3adf529e3aa30c693bb45b45b90c55babbff9da33ba47ac23ba2bd6139f34286bb93875f3bdfa4253b44912d3a937100ba38ae773b7885463b2b22ae3a5e044c3b8cfd1b3b0aa1dc3a41f8f63a31e1a53bda730c3bd1c4713a27d4dbb9dd6d893bec8d253b8072a93acddd5a3ac3f0c13b661ea939a4149339da82b1b7dbcede3b491f473953246639d037bd39c135b83bd375c93bcb86c1bca1a103bd2992893beea81fbbcb5e5bbd8ca231bd2d50913b8b79f9bb924565bdac8608bddf3ca53bc6de30bc1e0673bdf646ffbcd25b9e3b910332bc141c3bbd8601b4bc056b6c3bf73039bc90c72dbd2eba82bc1993c13b2b9c32bcdfbee7bcb26017bc3107a63b9ce21abc43eb82bca6a016bb4636d23b564179bb425a75bb8b7cf739162d9b3b5b53853b98a71abd6cf0893e7b8f683f86d1b73b2a8930bdc6f1843e99eb5d3fbde9923b954cefbcdf606e3e9c31373fe1353e3b0d58d0bca4a94f3ef4631a3fe9048a3a10e285bc4cb3273e0c36e93efa0b923a560378bcd961063e2f84a93ea20d093be25e39bcc8c4b93d7bec503e88d1103b532430bce53a5c3d31e7a33d5ff8e43a460403bc05c2623cfb468ebce40080bd454be3b9000000000000000022749abd0b4e223b0000000000000000a81d6abd4d0bab3a0000000000000000cfa568bd044dcb390000000000000000f6ed45bd673a1aba00000000000000007e405abdd9d4063b000000000000000076b04abdaee21c3b000000000000000091bb5dbda6fdcd3b000000000000000027711dbd4c43b53b0000000000000000b8b656b930501b3b91e6cabacada2a3b6f631cbaee5e043b72cad1ba853bcf3bf5c2f73981e61a3be2a4773ab52d033cdb9735baf030d63a8c4ca13a664fe13b61772fbae1c09a3a9fe9123b6643c93b270753baad944c3afa494a3b843ec33bd821c8b97b3e4dbadcea193b60e4dd3bee2870badbc48fbad12d373bfd8a8e3bfa8a1f38c811c4b999aec039251c1a3b06687a3a40d95c3b405a633ab6d4acbbeafaa23b7357983bed0da03a209346bbbcd1b83b809c843b2a63ce39f7541a3ab491903b57e33a3bfc34463a3378643bedde793bf5e21d3bc43e91394c87a03bcc36653b4d17143beef6a339bca5c73b18ce2c3bfee7da3a507bca392cf7c13bc295e13adda7713a8b329bba11f3ba3bee998f385d862c3ad20964b97dbcac3bd9087e3b54d70bbd313a1fbd86b4773b9ab983bbd0ee89bdba8e39bd5fb4e83b41b5d3bbf5c792bd0c5828bd30d57e3b03a404bca60d88bd8d070ebd83f0783b9b3c0bbc25155abdb9d7d3bc42e36c3bdbef2dbc70543cbdd2bf9fbca58d9c3bf9fb45bced2609bd31f03abce8d6b53be08d33bc6b258fbcc5e042bb4b4dc93b6eeaa8bb24b01cbb9a2d503a18db983b63c59c3b1092debcbaa0f33d32518a3f7ca0bf3b3815e4bcd2dcee3dff67813f03ff5e3bd305a5bcc6c1e73db7ee5a3f734a3e3b78fe81bc4542d43dac2c323f7bf70d3b9a0241bcb570b53d9a00083fc8560d3b82702bbc6e00963d6266c43e6623093b27e326bc5901583db7e9713effbf043b26581dbc1fc6fc3cc98dbf3d2dc39b386053c7bb22e4163c6eb3babc28146dbdfc1b903900000000000000008f7584bd1ed9b13a0000000000000000904e4bbd9cd2ccba0000000000000000728535bd862416bb0000000000000000f05427bdf61713bb0000000000000000cb6c3dbdeb59bdba00000000000000004b6f4fbd365121ba000000000000000055ea5bbd405db33b00000000000000003c2732bd81e08b3b000000000000000000000000000000000000000000000000af7102baa242653a66d40bbb63c9a43be4246bba5383d2baf68498ba71d7a63b3add1fbaaf2d633a77ce9e395d0e9b3b50f505bae7298e3a2e71d63ae3f5503b9def25ba79eb203a1096df3a10538f3b249a1cb93eb9c0bae9351f3ba6b78b3bb5e375bada9680ba123a033bcfc6833b000000000000000000000000000000000000000000000000000000000000000093579c3b2570573b1c365f39f24f68ba81644b3b8c39663ba724ae3aeb51803abe9d4a3bf7ab023ba62f2638c65c583b9006dc3a7e410b3b3ecbb8398361913b24b2433b3ca5223aa3429eb9e91dac3bd337263a2753153b696837390504be3b2a68c73aba202c3a8f6bb1baab14983b00000000000000000000000000000000000000000000000000000000000000005a6410bb417675bd9a951fbd344b083b41b886bb0fc773bd06dd06bdb8ba8c3ab4968abb320558bdfb8de0bc73aa963ad96bdebb557933bd2ce3b0bc18bad13a89ecd1bb40f815bdeef481bce2389c3a8ae5f9bb73badbbccd5622bcc421493bfeb40ebc1fce83bcbebb59bb6121893b000000000000000000000000000000000000000000000000000000000000803fc1a02b3bec0f38bc49ae01bc54378a3f13bc503bba1f02bc94e1783b3773673f7e169b3afa50c0bb1bc9363c97573c3fe25a8b3ace5990bb7f4d4d3cba50123f9190763a27f076bb4e8b7a3cfddcd33e11ee7b3a194f63bbe813613c56b1843ef4ba033b8ca15abb0a77283ca2a1dc3d0000000000000000000000000000000000000000000000000000000000000000e151f6bcfba743bb00000000000000001031b3bc658e16bb000000000000000046289fbc607c84bb0000000000000000a001aebcb79077bb0000000000000000b382d5bc06d44fbb0000000000000000238801bd8e9a18bb0000000000000000456924bde823f13900000000000000000000000000000000000000000000000000000000000000000000000000000000110a89b982c7dcba3aaf093bc646c63a585775381ead1eba48282a3b8baa293b98de013aa231193a3d7b253be1ab2d3bb1a414b930fee03afa5f1a3bb37e013b4233193aa0b0b93a3da8f03a753fa73aab393ab929b29e3a9d1a2e3a04dde03ac751ddb953199a3ab6e5343ac4266eba0000000000000000000000000000000000000000000000000000000000000000c26bb63b7f87173b03760eba5965f73b820f9e3b126fc23a5acaa73adcddde3be387893b595c843a31951c3becb3b93b283e123b5044dd397a5c8f3b95245f3b1d225c3bee3d08baa372843b9f633c3b56b0473ba54a523ad5777d3b8cb1573a0bb58c3aad73eeb8a3ae643bcc6688ba000000000000000000000000000000000000000000000000000000000000000004b9fbbc4b9144bd01ff63bb17a5453bdf1404bd7e3424bdc82714bb07ca263b8f45f1bcf2b206bd2e3f90baae40373b9170c8bcd3d6cebc54a8993afb39ac3a1c3fb7bcf7f79fbc16a2583b33e63f3b808891bc254453bc0dd6bd3b8760b03a48e748bca93cc8bb8e6c2a3c88bacd3a0000000000000000000000000000000000000000000000000000803f000000005738c6bb3313f5bb5fc0803f0eb816bc07af8dbb186c743bfe005a3fa9f634bc2d965bbb1e8a2e3ce58c333f776b70bccc96b8bae873693cc9630d3f0611a5bc7698eaba9ddc9b3c15cfd03eb83bf1bc93cd53bbee61aa3cf8ff863e126c1cbd4560cbba2fc9b33ca36bfa3dc5284cbd0000000000000000000000000000000000000000000000000000000000000000617d9dbc9d071f3b00000000000000007e1a90bcbde5b43a00000000000000001ace89bc94a80d3a00000000000000007ead71bc3a6f683a0000000000000000f2d959bc3db3303a0000000000000000392024bc0291a93a0000000000000000ad0bc6bbc200333b000000000000000000000000000000000000000000000000222590ba238955ba0d3fe33a23fa57bbd1c6fb39dffacc390f32673b23343939c3f8acbac3a321ba31a24e3b1253223b78e552baecb3573a06921b3b8f76733a19ca13b84e2dc63a4de4133b73b6753993d043b790190c3b8ab01d3b35fd5839872928ba42d0103bf7e40f3b90a12dbae70db03806c0263a958fe73a3718beba0dbe09bac4694a3a472658ba45ea45bbb0eba13b5adf0b3b297f34bb36faf13bb327b53b3c10423bde0655bb6abb0a3ca3e8c73b5e35503bc82dcc3aa051163cc759903b3739123b38292c3bd2a02a3c00b1a03b9a60133befd8443b012efe3b7b6f463b2b02a03a1e746f3b9a29c03bd884123bf5860e3ae80b643b772c693b0c85b43abd6d56b8e286ee3a0fa1363960d72b3a9f2595b8d77a013bc8e0823a7b02fbbb059f37bd10871abcc195493b39b4cebcc6c870bdf067f6bb3365843be9ebffbca3c159bdde170ebc394e9d3b3580f8bca1b145bdbd6ec9bb535c623b4906cfbcef3b16bd851b41bbe717993bed93bdbc83a7f2bca434e83aedae7b3b328a92bc3deaa6bc7bc9c33bc1f2533b190127bc9a2f59bc9b11253c9b33433bb8bd77bbdbb6d1bb6616193c5276053b798aa7bb0ddbf9bc30c5803fff6f023e617398bbe8c9d7bca4166e3f6000e13d8be2b4bba64622bc85294b3f6bbeb93d836281bbbc37573b4b00283f3eff8a3dccb177bb86d1313c9d4e033f5ad2293d7b455ebb2e978d3c30cac33e0ac0503c0f5c59bbdab0aa3ce004803e3df778bcf6a981bbf35fab3c503bf93d4da929bd6c0533bbba92923cfc19a73a01aa48bdd31cd1bc78790e3b0000000000000000287202bd4c4c553b00000000000000004209fcbcc878673a0000000000000000d28af3bcf8d9ea3a0000000000000000b3b7d1bcbcc118390000000000000000faa1c3bcb1aacd3a00000000000000007c44a1bc6f89263b0000000000000000e58065bc5372923b0000000000000000ef2306bcebb1943b000000000000000095db84ba5d7b4e3aa713293b46ef94bb1b3fbbba34fbad39fcf5633b1c0545bb7e5609ba3235da3a101b673b459e1dbab2c41cba84b1d63a2a215c3b3e65e2b989399e36892e173b6658103b819686bafc67bbb99a1d253ba8ab053b5bfea2ba01cf07ba3240cc3a99a1a03ad5d1b6bab3f42bbaeebcf93a9030d639ea2a2fbbfcc697b95413903abbf236ba8ab052bb515c783ad6a02c3b9ebe16bbbc84d03b11196a3bf5c7813b9b94f2baaa5c1e3caeaf7a3b8fdcf23a090281b8a49e263c608c713b24773b3b49d7733a167d413c7105083b8e63e33a5313053b3848273c401b103b57a3033bfb5e303b97fa1d3c2dd1e63a134bbc3a7d6c0c3b5ee5c83b1ebdbc3a5495b4b9c188013bd3ebb93b0089c8398cc0393a773ec83a4808803b2c459b3bca5616bd2a837bbc55463a3bf5c9e0bb07a561bd59f297bcb92f963b35214abcef5448bd423080bc0456963bc9798fbc13d449bdcdfb47bc3668823b7a4368bc02ae14bd6c31fbbbd6b8433ba3d977bc49d20abd4a1774bbe0318a3bd49e33bc44aac3bc0b88523a23648e3b0cb6e8bb1fa68dbcd3d8bf3b96049f3b6df2ecbaaca11abc58ceb03b9f42503bd1a64bbbd98f12bd5e185b3f5d108a3ed1a86ebbe15917bd81f24c3f41e6783e3d3177bb8c0b90bcde822c3f8730503e51239dbb055d07bc01ca133fb902253e4daa7fbb5ea40c3b33d0e53ef1f2ef3dafeb90bbc12a203c5455b03e75b38f3df2818abb90825d3cfc8b683e21e5f93c861e8bbb9c1b8e3cda8af63d946992bc2c8050bbe0f9653cf7c5543c952522bd0d41f9bc7359843a00000000000000001ca127bd7242f13a0000000000000000ae7513bdd07209ba0000000000000000694818bdb947dab8000000000000000070e2fbbc17f1d7b90000000000000000273d07bdca9f8d3a00000000000000000f3fe3bc04672a3b0000000000000000da76cdbce9cda63b0000000000000000f66777bc07f4a03b0000000000000000ae183dba4ff20a3b5ee5213b34c7bbbb20f490baa63c163bc1db493bb7d694bb917d88baa4431c3b77c9473b975f27bba9c1c3ba9ade4f3becd3723b679a0bbb1f2b6539ac23823b7d68923bea960abcfe7691b9dcbc3b3bfbed143b121036bb23a0ccba9208453bbdf7b53aa57d13bb2b06a3b9fbe2073bff9b65b8ed6651bb39a8b0b9bdbc943a6db9c3ba21d203bb22d7b8baf8de813b67d20ebbe445a43bb6038f3aade1893bbf7014bbfd000f3ccd3b023b03926b3bb3f548bab5863c3c2ad7af3a8085843bfe84fcb90d04533cea0a223b9786c33a8e62f23a6aaf523c4522193bd892ee3a9033e43a8ae33b3cbf3fcc3ae802183b8f85923bb4e4143cec1b3a3ad80ad93ac1e3d23abd48123ccaa7a2b96172403a12fba53a3312d23b6afd4e3c922ef4bc62b3b0bc7d5f0b3b1cc8c13bdfe145bd9661ddbc3b36803bd9c244bb6fac4ebd07c3c1bce512683bc845d7bba43a45bde298a4bcb577283b313dccbb063f1abd6f9c5bbc2813e03b10bc02bc09c812bd58e807bc9751b73bab8cc9bb8ab4dbbca4fd42bbe3590e3b992585bb51e3a3bca4e4803a4b4ebd3b83e47d3a85c844bccaff663bf0907f3bedf49db9770012bda5ef343ffccad33e997326bb06dc21bd6cd2293f11b7c13e684d7cbbe0c4cdbc6113143f1035a43ec8b09fbb03f755bcf35df93e91fc843eff8c73bb590a59bbec08c83ec0c4473e3f5484bbc004693b51be983e428c053eac80edbac96c203c59a8523e25768a3ded8c8bbb06714b3c1359e93db8511e3c05c533bbcc10333c0e92aa3c74eeffbcef2a09bd30c785ba00000000000000001a413cbdf10df0b90000000000000000bf8b34bdb9e6c0ba000000000000000017e32bbd7a867fba0000000000000000cac126bd4545fcb90000000000000000b26622bd7eb847ba0000000000000000cc671abd29f63f3b000000000000000043bc0ebd1f01a03b00000000000000000d9dbdbc96fc933b0000000000000000b424fab94c37633b242a453bcf6fadbb1cdcde38f51c513b305b363bd6849ebb9e63813af22a553bea1c3c3b2a5228bb4f27943777e47c3b7c49963af91163bb379516b8c2b4393b77a1d23ada1405bbf8fbf437418b573b9c30163b1f7bc9ba051282b930a0653bd1bb5a3a0a4985bb6ff57db92cb9083bde3a3b3a5e243abb0aa177394841f63aec8ff7b97ab147bb813114bb9481263b05c2e9ba7e276e3b64c75dba8afd8a3b887204bb1a0bdb3b3233fbb9cdb5833beb4655baa5541f3c9e77253a4ae45e3b94e98f392aaa483c0c80a5b954a4df3a2401183a4169273c6d072a3aae881f3b211bbf3a056c583c26865d3aac1bf73a18dbd53a18043b3ce75441b9ee43df3a3bb5a53a0f772f3cf7c9d2b9e0e4a63ace96b53a1710053c59ee943cbc3bc5bc9ea0dcbcd40ec23a6756703cb26b26bd37b20abd10d34b3b2891d53b4cca2bbd8b83e6bc467b303bccf4083b521632bd2c91cdbce325543bcd2aefb3466df7bc605d81bce63fe83a8bcae5ba714309bd84e75ebc3b38993b045f26bb2df1cebce6a7f9bbe471a63b66ffb9ba556ca4bc694b45bbb161d43b9e6a0b38eb4049bc81265fba50339f3bdfe79aba9a740bbd437b0f3ffe1f0f3fa44ccbba817d1abda605063fd619033f8e23b6baf2a0cebcd612e93e728ddd3eb34a9abb0d6f7ebcbf33c93e0958b73e8c7d84ba7f63b0bbeaa99b3e5ffa893e00b7b5bb0de12aba72057f3ebe3b453e5dbd8ebb8879703b50882f3e47a9e83d9c4376bbc657003c59dad23da544183d70941dbbbe4b043ccb74db3cf49cc2bc841110bd0df18bbb0000000000000000cbf540bd2a7539bb0000000000000000b86e2fbd98f47bbb000000000000000060653abdaeeb69bb000000000000000088ae0dbd65133cbb0000000000000000a92f40bd6d7c35bb0000000000000000e9d32abd81e7943a000000000000000064f82cbdff697b3b00000000000000008c80f4bc110e853b00000000000000007a1076ba57285c3bad52093bfbfe8fbb7f6774ba3af8633be34a043b6fc96dbb6410e8ba3618123bda754a3ad502ac39f171f8b90681593bc2cd203bb699a3ba6c5e4c3ab02c483b5d26273b09c2a9baa7563337ae936a3b168e873a95720ebb05b89ab85bf91e3b91030c3bad9c9cba8b5eb1b92178063b8c0caf3afb3506bb84bd82b84aa7813a8c36c6b9bda563babb7650bb97044c3bb785d7ba4182983a2a34d2ba2239a53bbd6ecebad4d7953bd3ca003bc469163bc20382b94f9ce53b69a33a39cb4b513be2b162b8d06f303c9e1154ba28af253b19f30936e4d3353cb415683a53ef5f3b81cf573ae7b23d3c4d84afb7406a293bdc64373a04fa4c3c164bcab9c8ed1e3b52651a3a1561413c9f13a239f9bc8e3993e8503a3df00d3c0985aa3c302ba0bc6bfb03bddbcbaf3a6773a43c5b5d1dbde32d2cbd0fd64f3b79983c3ce98038bdde0b1fbd21b3e63ab7e6fe3b944630bd795200bd62784d3bdb28923ba2fd19bd1f89cabced523e3b785aed3aca2608bdb88e90bc7323bb3bbff3d2b954a2e0bc591144bcfc5fc73b593447ba0295a4bc4e09c7bb44c0f83b3192313805623ebc0e3153bb68a0e13b9c21f137252805bd5b82d43e16dc343fd8a015b9fd9918bda1c3c83e9760273f9012b7ba2dbcd7bc5bc7b23e27570f3fc5457cbbbbe48fbc96e5993ec2dbea3ef81205bc070f2ebc7b0a7d3e16eeb53e32945bbbc0b085bb2b40493e5cee823eeb4668bb57d342b6f1b9143e10b01f3e647d5abb65e7563bdf8bbb3daac0793d0cbe1cbb45d0913b63c4f43c4aed92bcb5a415bd218260bb0000000000000000a81e4fbd14bc83bb0000000000000000cae64abd592e97bb0000000000000000493e45bd8c6eaabb0000000000000000fac643bd0b0d9dbb0000000000000000cc2454bdee5067bb0000000000000000753555bd14972ab900000000000000000c5953bd9353773b0000000000000000cf6314bdd616673b00000000000000002bfb1fba97f4343b8e63473ae57641bb1331a7bae4453a3b4021af3931fde1ba8a6a83b95a4e1f3b6f44203b65c93c3a0b101eba61033d3b66abc53afbc554b6005389b97506363b1e0beb3a5d0ffab9479b13baa634233bcffe173bc5a99838294b9ab94e72e23ac8720e3b6aa5c1387625f2b91bcc913a3d1dea3a367ad2b92d19b738ae5f1d3a1b40583a426093ba351f6cbb3f4e9e3b67fd7fba63a168ba0de592baa2d4c23baef4ddba0f950b3b98f2873a4ed56d3b9c9bd8ba863aa83b4d9d39b9e3278d3b4be850ba1698123cddd30aba3edd413b8b4e8bb971fe253c1f4daeb93bb4813b1db4d9b95709473cef2c88b9c66b093bdbd0f637992b343ce01cc7b8f0fe3b3ba57828b9ca5f3e3c483b1fba8037e13af3bbf83958620f3c2d90b23ca62794bcd85e18bd6df49a3a9deaba3cc6451abd483247bd3b7f383b7eef813c9eb420bd5a811fbdfa29973acb09423ca11d2dbdc01817bd6d06e23acb54ed3bc3d007bdbbf8d5bc2909073b5b49683bc1c709bdf261b5bca499973bbb659c3a836ac7bc448a5cbc2a3cb53b0896a6ba93399abc0fd4fbbb108b063ceb6fb9b93ae61abc4cc05ebb3da2d43ba45adc3a6957eebc52da8a3ea1075b3fc72d923a0af508bd898d843e9b444b3f55b0adbae473b7bcee7e6c3edecc293f4a2f16bb4e3191bcb02b543ed4b30e3f032345bb90c923bccf562e3e99c3da3e8d1972bbfca9dcbbd6b6143e03ffa03e5aba21bbb8bd1ebb31b9d93da9e3493ebd403ebb3de470ba8cac9c3d1f49aa3d9b22f0ba74f77c3a30efff3c04bb6ebc0d3616bdf6eb93bb0000000000000000601149bd2c18c3bb0000000000000000351f23bdb8adf1bb0000000000000000fe5e3dbd9d1300bc0000000000000000ea642cbd5024c6bb0000000000000000681f59bd409698bb00000000000000003aa24abd625eb9ba000000000000000006a66ebd30b6423b000000000000000015b72bbd958b803b0000000000000000694642ba15b6053bff8ed5b90d8971ba7e0215bb9d421f3b3b7016bbc723ab3a68d71ebac87ef83a70d726ba25684639c74c44baa8d9003b7698523a6da2f73a8cd416ba58190c3b29adcb3aa9baa53a94f1bbbaaa43323b0b29273b86dbe93862a696bae6869539cdf4063bdb969c3af0f513bb6f5e19b8c1e21c3b12f423390d0019394fa4ee39b84de13a726fb0370b0e38bba18a873b82948cba6af01fbbb1035f3a22bdeb3bd7ea2bba53402d3a5d96953a0a48b53bc3cf98baf34f843b9372453a0ab5893b9cd4ccba505adf3b4696f93947c45e3b43f4a3ba46c70e3c4c06383a899a4a3b58f984ba6dec223c31bede3a9777973bab760f397866403c3fb6b2bae61e513b8deb96ba2fc6363cafe8fbb90eff063bc2971439d8d70a3cffcdb23c64f698bcfbfd2abdb0c64db97173a93c5eee23bd384853bdbfc1133b1c8b8b3c4eae32bd09833bbd99542a3a2663543c3ed129bd16941ebd176abd3937760f3c09890fbdbc66f1bc8085903a89deaf3bb33b09bdb70abebcba38613ba7da6239a203d2bce2f781bc0fd7a93bd01f72ba20b369bcb7e5f1bbb5f51c3cd49c93ba33faffbb40535ebbbe4cda3bfe8c183bb5abc9bcb679043e4ab0803f0640123b6d83d1bc60f1003eb88d6c3f997b3bba93b4a2bc5c05fa3db526493fc9501dbb2f0375bcbeabe73de02b253f8e2445bbc10523bcb650cc3dab61003fc0c43abb8753e9bb581db93dbe0dbd3e404382bbf59782bb6477993de2286e3e58530dbb4d027fbb4033643de8becc3d4fecd9ba1980cebafdaa003de33c61bc7466f9bc4ff8c3bb0000000000000000d88520bd1efcf9bb0000000000000000f46d11bd76821bbc000000000000000074f814bd3dd822bc0000000000000000130e1cbda6dc11bc0000000000000000c81546bdb83aefbb0000000000000000c9ba5cbd25b195bb0000000000000000016f79bd339d8d3a0000000000000000932942bd4a69153b00000000000000000000000000000000000000000000000055da19ba34af6a3a510cc4bab620f33a39dc60baa18a6d3a01c751bab4771b3b777623ba7b76993a1fabe4396542e03a3c04a3395373013a9be077387a10ff3a7effbeb93c648e3a34c2e83a91b8b73a8ef404ba9560513abae6133bf775cf3accbe10b84613c3398422213b1314de3a0000000000000000000000000000000000000000000000000000000000000000a1d0eb3831468f3bbc03e5baf1086aba88b197b940bc833b3784d8baacbe083bf5162e3a6975223ba76cb9bad38e8f3bfd6347ba77da293bbe5317bb9125e43b5285ae392bdc0e3b63f569ba4d2fae3b27c391394d4c1e3b095f99ba6facf73b8ff73fb86c610f3b6ab815bae45b043c0000000000000000000000000000000000000000000000000000000000000000a9548c3c602a00bd5ded2bbdf57f14bbad545f3c07c705bdf1d60ebd7d5acbbaccb52b3cc3aafbbc50d9f2bc23e5d4bade1d053cf7cad4bc3db4cabcb53f38b997ca893ba49cbebc78cd92bc623c513ab35d933a714996bcbd4f43bc6ad23d3ba333b0ba15fd4abcf832ddbb465aa53b000000000000000000000000000000000000000000000000000000000000803f7e9f7d3a36df82bc06bf553b1ad0803f7a25a0baf2763bbc4f104d3c9dee593fe5920abb2bd711bc1e909d3c6458333fafacf5ba5c40f1bb29edba3ccfd30c3f484633bb83f590bb5380df3cbdeacf3edccc1bbb21bc71bb8cc7ed3cd619863e732efebafed93ebba648fd3c6688f63d0000000000000000000000000000000000000000000000000000000000000000f1f989bc5b5812bc0000000000000000a12780bcc7590dbc0000000000000000f99995bc5de323bc0000000000000000f611b4bc5ba00abc0000000000000000a1c0edbce69c0abc00000000000000001a4614bdb85dcfbb0000000000000000629039bd6b5169bb00000000000000000000000000000000000000000000000000000000000000000000000000000000d890ba3ad4b4a13ad1081fbabe810dbb4114653ace5e5e3a02803dba3af6d9ba6745bd3a31caa13af42633ba983befbab072bc3a0b3f593ac67193bab897eebac725d53a93df503a9ea790ba65b0cabaad4fb53a84740c3aef739ebaab43bfbaea9ab63ad6a6193a3f2cc9ba3f5ccfba0000000000000000000000000000000000000000000000000000000000000000e3c083bad2213ebaa660f93908f87b3b59a388b9442ba5b95bf0453ae23b693b26cd6aba730747bab682da3aa85d7e3b1ac5a1ba41cacbbab828f03a44a7573b272b31ba14d88eb90fdf033b4e1b4d3bb63c8bb9b9d4e5387d94ff3afb322a3b8473ccb9e2976bb9dfdb143b8f8a293b000000000000000000000000000000000000000000000000000000000000000089db72b9df06bdbb064f3abb74c098ba4f1a8eba8c49aebbc2f40cbb740827ba3d7398ba4f0aa4bb77a814bbe6376aba9692aaba632d86bb0478f5baf3e4573a922cd6ba9cd26fbbe6c48eba963a0bba4ba5c0baf1784bbba31b25baadb51f371222d9ba605743bb42eea3b7ac0404b90000000000000000000000000000000000000000000000000000803f00000000cc5302bb1f2cb13a7aae633f0704393a436be4baf0a5163b551d433fc0e474b99fe1e9baf585723b85cd223f5b7156ba689a16ba7c4a803b4bf2013f0c9eefbae24549ba1d9b9e3bd72ec33ec20f57bb48da13ba4f9a9d3bc514823ed01c90bb8bdd52b9c6edb73b2dee023e3270c7bb0000000000000000000000000000000000000000000000000000000000000000021463bbd57105bb000000000000000001b25dbb0314f7ba00000000000000003ac86dbba8abf6ba000000000000000018be57bbad65e8ba0000000000000000669e54bb9794b2ba000000000000000047904cbb471b84ba0000000000000000624e45bbd23e26ba00000000000000000000000000000000000000000000000048dc293a9651a83a47a91b393ea329bb86bd643a290f9f3a9a1e98bae6fc03bbcc259b3a7087b83ac00362ba03c34abbf90ef73a093ff33a436740ba564d31bb8ec5f43a6c6eb63a5f1561ba9ff70cbb37ab0b3bbd4dc93a7aa3a0baba7c1bbb49f02a3b1faa2a3bfbe704bbc2962fbb07cdf13a58e3623a1c1ee1ba78fe11bbf154aa3ad7b0133aa3e3bbbae364e9ba8faf8dbafe0af3b838528b39b0212f3b991d5bba5b7fa33957da01ba58a9873b8a99ffbaf6256fbad106223baee3d73b2092cebacb5f54ba0531b13abeaba63b84aa9cba72c501ba80e8db3a47bc893b98989abadbd71abacb76123b970d943bd941a7ba3a6ee7b9f9f03f3b134e9a3b693d08ba4e5d85b854b51e3b1019743b4c0594b963a515b902c3013b9b18373b348c0e3bbbbb9fbbd1215cbbc663afbaab83353a169900bcbc7461bbb87185badd4759b8b032eabb7b3a90bb4e3b3ab987e615b99407d2bbb58d68bbc695bebad38af6b97fbea2bb353017bbcd9597baf7ef79ba2360a7bba5ea08bb2a8264ba5bafe2ba5c0aa0bb99bad0ba49e24eba1aba90ba392380bbdb7420ba53f0ddb813db61ba30793fbb502861b9de468eb878b608bb71cfcfba8e8e633f6c9d023e3e12c7baddd9bf3a8efa483fccb6e33dffa82ebb26b4c43a3f952c3f3fc2c13da5320cbb4502553b01b30f3fe679a03d32cdc8ba7c6c723b3438e53e233a7a3df638b2bae65cac3b16ecac3e9af1323d93bd2bbafa08c13bd8c6673e93b8d33c22ca62baf617c83ba7d5ea3d7b35153c449605ba0dc1a73bf30d553bd7fab8bb67e479bb6c7329bb00000000000000001772babb601d81bb0000000000000000cbaeafbb26d254bb0000000000000000691fa5bb5d332fbb00000000000000000d2b88bb395e0dbb00000000000000005f9fa0bbbc7f00bb000000000000000079e69cbb30eaacba0000000000000000162589bb97db87ba0000000000000000e9f348bb7b832aba00000000000000004b895d3a82c8ff3a711ab039843f26bb2267d83ae97e3b3be211153aa13e2fbb6640063a97ccc43a4a921bba702741bb7578163b0cc1233bae85fdb9fe9756bb4d23f13a16d8ef3a8cf844ba2d2825bbb548243bbde90b3b41e38ebabb8b47bb8fc1ec3a5b4ed83ac1d590ba649226bb813b073bcd61af3a938aeaba98f43fbbd675b03abce8433a0eccc5ba1a3c05bb12a8fcba7b8ff3b99caa5eb94543553b84015fbbfc3a66b93b4c76b9cf3ea43b18c0d2ba5aafd6bad6085f3aab50b83b341a19bb159642baea00863aa584b83b22e3faba6bd058ba2414a33a9d2f933ba1c0efba948d21bb3277f53a4d42b53bba31d1ba8754483935c8dd3ac1008e3b6c2ea7baa64a48b90f8a143b44b29c3b2c3a1bba699ff537031ae13aa5204e3bed864b3b81cc80bbea157ebb91ccd8ba2c417e3bfc24fabb7301d8bb013856bb4769af3ae5d1c5bb78f38cbbe21ac5ba09fbe33adce6cfbbd77999bbbd760bbbf689743a2d8691bb381746bb02f4e0babc2e2f3a7efdb2bbaf514cbb3933aaba7876b839ddc585bbaa5402bb37048eba4cb003b8d66596bbeb68e5badeca18ba1b194eb9175242bb56d453bae7608db9e82cefba7454e5baa515433fc2ee813ef10a47bb0e96abba367d2c3fbaad653ecd9f00bb13c345ba17f6133f17af423eca7421bb0ec5003b7ad7f73e3361223e1854e1bad848243b4f39c53e374f003e616203bbca72933b3fea953e8633bd3d7fedc0ba0d598e3bf326483e8898743dc821b4ba135bbd3bb4d8cf3de309d63c276472bae8bf8e3b9a33913b6d9b8ebb923a67bbff5e21bb0000000000000000a1db9dbb4cbb31bb0000000000000000b163a9bbd64546bb00000000000000006babbebb56e153bb0000000000000000d29a8cbb56ac1fbb0000000000000000a338bcbb82c623bb000000000000000015e798bbe0f0e3ba00000000000000006d21b2bb0cc2d9ba00000000000000001c6766bb00b172ba00000000000000004b383b3ae3b71f3b6be04b3aa26015bb1d45bb3aa6e95a3b411f003a99396dbbc207853ab640ea3a0750293afa5646bb0bfdea3a2fb4453be253b2b904447fbb9391023bf85b293bbebef3b9cd3e48bbe82b003b16a26c3b49d56ebacb067bbb74170c3baf0e163b047361ba004d3abbc52f0d3b7400013bcdc9bcba9c064fbbf39fd53ac70d8d3a962ab5ba5c5611bb2a4916bb0f668cba83521eba4793443b4a9554bbbaa3b4bade5104bac1c79c3bf9be3fbb8d541dbba3a107bad3738d3b85a341bb1fae3abaacde3c3af5e3bb3b38932ebb137bb9ba7f35773a08c6aa3b24dbcbbaadb1dbb9f61b893a87bbbd3b398cdcba9abf04bbe92bd73a8d58b43be45ae4ba603007baf5d4e63a51e8ae3b76ee78ba3a7d1cb99dc6b63a892a6d3b27b9903bfafd3abb93688dbb058c0dbbbceea73b36afabbb8133cfbb875346bbfb34943bac9fa3bb08f6b0bb2c5026bb283d493b562acebbeb48bdbb56ac28bbae9d103bd01a9dbba9608abbb78a17bb4b6bc13af6ebc3bb131395bbb8d518bba069c83a450991bb96152fbbb2a32fbbb85e713a834b98bbb16724bb3dc142baeed4ba3933a546bb1989c0ba640400bac50b0dbba9f122bb27a3223f0621c33ee0593dbb58da0abb2df50f3f3a0cac3eb02a4bbb685298ba4828f83e3e95933efe982fbbf676963a2db2cf3e05af743ed16a11bbc651023b4e01a63e7d5f423eb56037bbea04483b15dd7d3e757d113e67ec02bb4905843b1a462a3e9884bd3d3b6ffdba23db9e3bbab0b23d2726323d112ba4ba662b783b94b7bc3b44eb4bbbc48a5dbbd31f3cbb0000000000000000e007b1bb186585bb0000000000000000e778a0bbf7ff68bb0000000000000000caa6d0bb62db84bb0000000000000000376aa9bb207a4abb0000000000000000e7b4d5bbfb017dbb00000000000000009bf9b8bb51e784bb0000000000000000b459cbbb8637fdba00000000000000009a6b84bb1c65a3ba0000000000000000aae7473ac5df223b02728f3a347303bb656cb03a2fed5f3bc2fa883ae00d4bbbf9d2e83aee2f553baddb373a8a4f99bb47514e3a3d0a813ba41a973a70f961bb5371cf3a96be173b3c8528b980eb21bbe52b383b2e657e3b73fd17ba5e1371bbb4a0183b382c1f3b278a32baf9d74ebb6938123baec30a3b17629dba1a8258bb13b4c93ab797be3ab8ed8dbad42e1bbb933d2dbb1d42c8ba55dc1fbab6ea2e3b344165bb08e6b4baf1627fba043f863b11153abbd8233cbb5ddbe4385aa7993b578d53bb1b9709bb170fd9b97707903b43c024bb35099cba0d610b3a56188c3becc446bb96d39cbab825c83a339a983bdfd91abb0cca7cba8284cf3a18c6b43b1a2910bbe27244bab234cb3af32bb63bd814a5ba479ef7b902dc843a0a94833bc37da23ba8740abbe1009bbb62ab18bb460fc93ba40677bbf966dabb2e0e50bb28059d3bd56b81bb0092b7bbd7f594bbd114b33b3b6a9ebb0a3cc9bb384131bb7af92a3bd56166bbd4b580bba4540abbcc5a213b998db0bba553a6bbfe1bedbad9d0163b671987bb59ec6fbb1ca6cabaff73d73a6e3e8fbb86ce52bb710e87ba1aba873af13b4dbb3aa40fbbb9dfd4b9ce1507bbae2134bba83b023f2407023ffe8137bb47c737bbc684e63e1c6be53e092028bbc4df69ba8847c63ec73ec43e3c4b3abb80e130ba19a7a73e69f8a33e0721ffbaddb0823ad0b3843edac6813e9bba18bba43e373b19224b3ed9ef413e6dbdffba5c0e453bbd4a0a3e6085003eac8a08bb31ae7c3b0c13943d2878793dacecc6ba1897503b15ccdc3b0c6ad6ba68355dbb387843bb0000000000000000b0339fbb275185bb00000000000000001d5a96bb2e186ebb00000000000000009e2db8bb594f74bb0000000000000000ad678dbbaf4f38bb00000000000000004c5eecbb657357bb0000000000000000243ac7bb50ca3ebb00000000000000005fe1ddbb5fee23bb0000000000000000be9d9fbbd007c8ba0000000000000000452c323a1f22283b6efca83a76c016bb275da13af917623be6519b3ac0c948bb8236d63a2e71643b2545633adb9340bbaf719a3a0f9c523b785f3339397c69bb5ef9ff3a6d1e493b4ee00539e56f3dbb13f40e3bf628583b90d8583ad8dc13bbe83b3b3b786cff3ab5929bba4a3c65bb9813153be6e6263b2d3362bab80051bb8a8ebd3ae69bca3a53a740ba20a80ebb180045bb1cc0d1ba8b5a2eba339c053bcc9680bb79b404bb3d8664ba5d536d3b210d6fbb78fafcba6c4e7ab909af8d3bbdb47dbbc5e8d2baa3679a3ad1aea03b43183bbb1c9a00bbabe6a6395d759f3b8b7b5ebb1746c7ba4f33043a44e1ba3bced036bbfc92c1b99ce3cc3a3026dc3b91fa1cbb704841baed05913aabb2c13b4c22c4badab701ba2268913a079d863b712eb93bc399a1baa1f4acbb025123bb7c26e63b979d46bb48dbf3bb9c0971bb6301c03bcb5d72bb89c9dcbbb9ef61bb4bdca03b11d39bbb67ede7bb1f1558bb1e81833bd7947cbbcf4dabbbdee323bbdf21853b70319bbbee42b9bbf99842bb2c0c0e3b435797bbca9a94bbb00eefba8b59213b13e084bb1e0876bb34ae89bad3fd9d3a839334bb234c19bb3e6547ba0311efba221245bb3254c33e30a2223f318d2cbbc41658bbda73ad3e5c860f3f161217bb4eeec9bacc9b953ed7bdf53e987e34bb91ab2d3a39817d3e17bbcc3e69e51dbbeee1cc390aab4a3e2515a33e2a0c42bb6821a43a826b1c3e7cdd743e78f10bbbc98a393bb34ed83deb27213e748625bb51c13c3b5e4b6b3d3444a03d2ebbcfba27c52a3bab42e23badc779ba4b0244bb19353dbb0000000000000000b15b97bb60f58abb000000000000000092ac9abb98ee89bb0000000000000000ceeac8bb852a9bbb0000000000000000a6a6aebb2fb371bb00000000000000002c66e1bb6e7a78bb000000000000000041fbf1bb93d45fbb0000000000000000dc5ef2bbd0212dbb0000000000000000846aa9bbffa1e6ba00000000000000001116fa39c4161f3bcaa8a53a7ce6cfba2ffd4f3a23965f3bc6dec43abc4e25bb03266d3a94103c3bed766b3a65591cbbd1b1be3a41d35a3bc2032f3ac8bb3fbb4169d23a765c2d3bb4448a396a6a1fbbd030f03a48744a3b85793538bae84ebb7082483a685c5e3b4a4cca392a401fbba075143bfaf5303b3fd90ebab80a4bbb93a5c13a4418dd3a9ebe00ba200804bb8ce43bbbe850beba02a28eba01b2b23a061883bb3fc004bb8dc998bab1ed383b884e59bbb67fe1ba831346ba221b473b845474bbb030f3bad771dcb9eed98e3bcb8a3dbbaf0cafba82e4c338f51f7e3bfa7462bb88aad0bafbd06739e680ae3ba52138bbbb1f0bbb76326eb97b1bbf3b4e6945bbdba020ba3d7c983a3088bd3b8f82cfba697860ba4fcd263ac34e803bd7b8b83b641fdeb9828eafbbf30c32bb8bbef03b45bb06bbe8bdfabb678f78bbe8f4b13b138b32bb97a0cebbbb6d53bb16aebf3b185572bb6938e4bb3d1555bb477e813b01ac3bbb42c29cbbb5d12dbbb5838f3b172a82bb7afeb6bb638232bb669a833b052f35bbca3f81bb295af7ba4273393b91bc75bbada38fbb35c9d8bae904da3aa10812bb7a1821bb3b6743ba3099ddba3dba4bbb753b823e3e20433f9d2d24bb146368bbe512683e692b2c3facb30dbb4deff2babbe1473e4a04133ff45030bb365a9eba4c682a3e5af4f53e737601bb118f5cb90538083e536fc33e815832bbf1781d3a5182d63d4c2a933e31bd31bb9409f339f29b953dc4ed433ee49301bb8b701a3b93a22b3de6a0c23ddf2ce3ba1da8d03a74cee43b8af7d538945e0fbb757741bb000000000000000021c96ebb12a18fbb00000000000000002bec6cbbc2a479bb0000000000000000936aa3bbd4cb95bb000000000000000074348cbb256f62bb0000000000000000fca3d5bb66a189bb00000000000000001aa4bcbbb8f442bb000000000000000044d900bccea456bb00000000000000002796aabb8b51f5ba000000000000000060a26a39af40103b05ead33a9caaa5ba4f342f3a38d53d3b7b8eb73a27070abb2438cf3aa589643b13ea943a39790bbb20ce963ab9294c3b2616823af3a21cbb4ee2a73ab232303bc7481b3ab2190dbb1f20d23a97c5443b7088a539529e28bbd72b583b64d0183bac75a5b8404f3cbb6aa66a3a31fef33a23af2fbabcaeb4bad9a6f23ae6f3b63a394773ba834acabab34948bb2290bbba31757cba8056693a41af72bb9e24eeba32d58cbaac1dfc3ac88b71bb65b911bbb7e8bfba333db13a78ad68bbf2bdf4baf0844abae50b583b62974bbb0fa2aeba0e0ba9b94e3d653b2c1c4cbb589bb9ba4a091bb9edf5923b2fe04bbba26683b921c2d43a30ea8b3bdf69b0bae1df59bacb77e7b941598b3b330cbfba7ab155b91fa40e3ad397653b5ec0b93b752d01b88859bdbb959e46bb351cdc3bf6b3b4ba968ffbbbbd5179bb19e0ce3b130212bbdf79debba70482bb572cbb3b80ec3dbb9e33dcbbf6f267bbdfd2903b6fb618bb50adb0bb84ba3bbb0a2b933b2dd056bbdac8adbbf27e27bbf62b693b9ef555bb5137ddbbea7305bb70c02a3bd18468bbd8c697bbc5ea103944d0a73a2d2331bbfec820bb07f00fba56b6cfba224d51bb4ad5023e5b9f633f03fb01bb897959bb8428ea3d356b483f8fec04bbe0ff49bbe61bce3de9c52b3f882d25bbe5d5dfba1cb8af3d8b360f3f262916bb4ec837bad5808e3d075be43e15362ebb104313b96391653d2d8aab3e777b48bbc20334b8fe002d3d2c3a643e597ab2ba4da40c3be4d5d83cc04ee33d2fe2dcba7066963aca60f93b6515ee3add5fc4babbd34bbb0000000000000000349d10bb290288bb0000000000000000a19b22bb39f588bb0000000000000000e67169bbc19892bb000000000000000063607bbb1d7580bb0000000000000000d194b5bb37b287bb0000000000000000febbdcbbbc3484bb00000000000000009df004bcf12784bb0000000000000000779ec2bb92fef9ba0000000000000000000000000000000000000000000000009bede0398eba123bf679aa3a3cffa0bafa0b1c3a658b043bf5622b3adaa0c4ba666a4c3a1980163b9b6e6a3a28aed3bac7524f3ad2e3163bd3f6513a6e44a1ba864e943ad2fa1d3b8e5f0139669403bbcd3ac63a4e6d003bc6ab093988b2f7ba65e0ac3a35900d3beed2a53923aef5ba0000000000000000000000000000000000000000000000000000000000000000ac3734bb9b9bbabaaccf94ba9c91803a4eba2bbb2877b6ba941a4eba3f9abd3ac4eb2abb68dda2bab59049ba2bec0a3b7c98d6bacb5f09bb357ff6b9b3f51e3b952d24bb291626baa8b32ab99bfb513b84a0ffba489bf538744686b9b84a4a3bdb5d02bbce38c4ba2648e438c758713b0000000000000000000000000000000000000000000000000000000000000000f6dcae3b4ddd6aba9582c8bb4df05cbb976b8f3bdaffdebac4f5adbb53434fbb0e8d8e3bbee9f4ba188ba7bbc9133ebb1fec773becfed5ba0b7571bb16536bbb89527c3bc50b31bb974691bbc03e15bb6a54383bc7e400bbebc563bbe53da8ba2d2a383b8374e3badd7c43bb377284ba000000000000000000000000000000000000000000000000000000000000803ffc63b9bab2e92fbb267b343b34d5633fadead9ba5473f1ba1934693b7b75433f186600bbc746afbab724993b7293223f3581fcba8e2150ba5baaaa3b2edb013f94dd05bbbe8ecfb933c9da3b342cc33e3ac102bb41f3a0b8695dcf3be0d9813e45770dbbd1609a39ab30e83b1655023e0000000000000000000000000000000000000000000000000000000000000000e5c312ba91ac57bb0000000000000000efec93ba18b058bb0000000000000000a7bee3ba2aa364bb0000000000000000df5806bbfb4e30bb0000000000000000d04384bb55696fbb00000000000000002da099bb6a7d4abb00000000000000007d3cb0bbd9a339bb00000000000000000000000000000000000000000000000000000000000000000000000000000000a78b0c3a6adc7c3bd4019d3c9a7d4e3c4ab2843acc32b53b2196833caf60533cac93f73afbd1863ba1b94d3c2cac163c4afa9c3ab277823be7fc0b3cbe8ff93b4b2fda392c06a73b6246d83bf4d4943bdaaf963af52d7b3bbf5cbc3b37af2b3b296b97ba000c683ba697273b6547173a0000000000000000000000000000000000000000000000000000000000000000c898e739e1e037bb721a1a3b6e78b6bc82dc2c3b188720bba4eca839a735d6bcd7109f3b7a3609bbd5eda6ba86dadbbc3109633bd3c11bba9ce6cebabd52c6bc9966573b4d1d34ba17fdabb931f2afbce933dc3a5fd98fbaaad68a39b35491bc018777ba9b69003967ff373ba19d1ebc0000000000000000000000000000000000000000000000000000000000000000c48c0bbe32451abd5340403ce6c110bb669d03be184f1dbd4600143c9961a1bad71bdebde4bf1bbdbb44d13bbda536ba1101b3bd81a8fcbcdf5e993b5c26fbb8aad388bdb411abbc6386813b4aee42ba54b137bdf8e71abc905c283bcd114938bf2b96bcf462453b1d8b2d3b817a62ba0000000000000000000000000000000000000000000000000000803f0000000034b51f3cd96d87bdcb779f3fb0d67bbdcba8043c8affe5bcda60843f9bb41abd19adbe3b1effe7bb733d553ff151d5bcd84f8b3bdd3b863b850e223fa8dbd1bc96c0553b08eef43bb393df3effa7d8bc080baf3a5c5f583baee07c3e3696dcbc7fbdc03acb56ccbba121833dcb330fbd0000000000000000000000000000000000000000000000000000000000000000a0417c3a413af93a00000000000000005b1916bb7dc1113b0000000000000000d7f650bbea77f639000000000000000046695ebb7b5d123a0000000000000000513150bae1df47390000000000000000dace553b08fbd4ba00000000000000004ff51a3c25a032bb00000000000000000000000000000000000000000000000060d6b13932eff1b976315f3ce6cda93b5d849aba98cfe13b7b7dc43cf289663cd6f4cf3ad9aad63b1ccfba3cf7d5813cf1b9cd3a7871d03be2e39a3c7b5c5d3ce8b4e93a324bcf3b20d5653c0d652c3c0ca4a33ad528b03b122d393c8ec3f33be14c1a3796239f3b6e67033cfd60943bd493e6ba4dcf463b5d68543b14c6143a8d61baba3fc5273a6164a0b96cf6c5ba06e34339f3d9c2bab85dc23b6e0bb3bc1dbd3ebb92ae47bbed1e0e3ccbd4eabc5d0c093b17c862bbb1bd4e3b669b06bd763b733b088b1ebbc349943a46b500bdad146f3b471b08bb267d4d3a50c5f7bce556413bcab3bdba1367d53aedf1d2bc2210573a085f61ba0910413b8cd499bc38c4adb9efbd553a7218743b48140bbc32d7aeb9f3a4d7b9f7f43a3b8bb49bba02da8bbd374afabc325f993b564b7937b5a80abee8a616bd85fd333ca27dcebad0210fbe919958bd9cc4ef3b8c72da39ba78fcbddd0d55bdc783a63b1068be37ce7ac3bd8bd52cbdb8d82f3b37def63a27a397bd9fdafcbc0069283b54eda23a7dfa3cbd801f82bc8054183b52011d3a09927cbcb8d7c4ba2918d2b89b2ab7bac899ee3bae74e03bd3f3ad3a2bac01bad978853c909b08be9a2b9f3fab78973d0070b13c50c409be512a993f503d633dbdf8653cddd7adbd5b16843f1059823dfaaf153c67dd51bdd5b1553fb296633da918b23b83d3edbc9619203f81a8293d9c55af3b785fb4bc0684dd3e53fea13cad14883beb4f9fbc0847783ee7fa7aba593dcf3b8923bbbc782d873d71b042bc93038c3b350ca8bcc68362bd059f08bda5bed1bc80679c3b0000000000000000308db1bcdc73bc3b0000000000000000e2a9b3bc90de723b0000000000000000bd56a6bc0edf913b0000000000000000751293bc26e2b93a0000000000000000532b46bc4f59aa3a0000000000000000891fcbbb32024d3900000000000000008bc9033be9cb13ba0000000000000000e6ed9c3b93d1dc390000000000000000ea0ca4b83380ae3a0fa41b3c2400893b4828563af343513ad75d903c0b963b3c0749ac3a2a6fda3a26c9853ca4662d3c5c6ac73aa891983b910e703c38ad483c8265b83981da5f3b943d333c4897f93b9621a13a1557873b00d8273c15fbce3b31f779b9eb0a1e3b0ba8c93bba12773bf376bcb9a825cc3aa531663b87eca23ac646c2ba76e993b9142fea3a6b8db7babba7483a082673ba6dd8c53b1e11c8bc862b403b61963abbb7e20b3c899901bda796ac3ba4b3d8ba26e65b3b7711ddbcec03ba3b2f2613bb508a7a3bc8adfbbcf04b9e3b22fe50ba5775093b5b97c4bcc94c8b3b9e901cbb6064203bcb15b8bc8ec0073bddf57fba6b00393b571e80bc7f87713ae24f94baa639743b3ee114bc3ff267baa726c5b94900bf3bbdf186bb5a200cbd1f68fabc1a12bebb1f42243bc0bdb8bddcce62bddec47fba0596673b8011b7bd54d680bd31605ebb12770f3b5f8fc4bd1faf7fbde6f10ebb8831733bf4ca93bde62d4abd5ca631bb8f2e3a3bcd9b76bde62520bd420b68b96484723b8b9213bd8acec3bc7357003b3372f23a94fb5dbcc7e9f4bb5f11153b6465003aea80a33b09fa293b66583e3b0dc25d3a13cb6f3c123d06be8c02853f822d833e945cb53c4b3d14bee32f853fa32b723ed0cb563cbdafb5bd19ae5d3fb8655b3effe53d3c93bc96bd7f6d3e3f9ec7313ee625fb3b618c3dbd07900e3f992c033e1b98e93bdebc25bd9a24cd3e9b5ca73d201bb23b3a1eeabcbbf2713e5f8f1f3de0befe3baf7205bd77b5af3dbe2a51bb92ee843bb2b7cfbc3dcdb6bc0f4af7bc851c4bbdc172e63b000000000000000047cc71bd4e7c213c00000000000000001ff641bd9205f53b0000000000000000c57333bd4e66a23b000000000000000002f109bd33e5723b0000000000000000ca5df5bc8648863b0000000000000000a71cbcbc7d445d3b0000000000000000b85253bceed4623b0000000000000000330cd5bbd05e393b0000000000000000ec40943ab3b7c8bac5c4e93b6468e13af7b0b23a09cc8a3af2f64b3cb8a51f3c1d8f9a3a4aac223ba6fb713ce4684f3cbc258e3ad60c483bad1f543c271e203c8459593a9940543b23be363cca19063c273e58b80f96313b81c6fe3b247bf33be90d1c39cd843b3b53fcca3b8388753bc6d2f2b97b4e093a7c7b503bac74fb3a3836e1b91abc9cb913ba393a8b8b3cbafff6ca3aae8ed539fa5a803b7375d1bc7ad2af3b6f610abb7c4fff3b80d605bd97c0de3b3d2cfcbafb839e3b29b0f5bc42f3d73b8368adbae172833b94eed5bcf906b73bd40a3f3913be353b0cf4cebc606d843bbe4828ba7f89123be595a1bcc545163b8c7fdbbaa961963be9ae62bcb737df395b83e1ba628e853bbd860fbc001a48b9f1606aba6c27213b3df713bb87312dbc068205bd639083bc7a50b73bf9c36cbd923587bdffc75dbcd45ee23b2d5ea1bda4869fbdf7d44fbca1a4e73bb39898bdf08e91bda75c36bcc467e73b74f57cbdc3d37fbd799618bc21e7a73ba89450bd85da3dbd43db87bb13cda53b51580abd666ee3bc5e667438d6289f3b53c769bc3e5f3cbcdc7a6a3b7b1c1d3bab7f403bfde9443a140aa03bd35a013bf10b3b3c92bde4bd8685573f6cefe43e980e9a3c0eba03be29d5583f4020db3e2d7e633cede0c9bd8443403f5c91bf3e9f5c2b3ce2f895bd3e791e3f5ca49b3e0a9a113c511765bda72ef93e2d896b3e01c21b3cc25a34bddce8b13ed4a31c3e72359b3b055823bdb82d5c3e9899a53d455f043ca55f11bdc702bb3d76c44c3cdb087b3bb17ccebc5c8afeb9f26f00bd993098bd4a2d083c0000000000000000712db1bddf215b3c0000000000000000c98497bde1b9173c00000000000000008d8079bd63f4cb3b0000000000000000f99163bd2cb7f33b00000000000000003e2e37bd41d3a03b000000000000000065e224bded2a9b3b000000000000000044d6e0bc32eef83b0000000000000000ea5695bcc837933b00000000000000002b1f953a1e83adbab729d43b99f9513b1a6b0a3b81047339f237003c28c90d3c6b2a793a159d063bf47d233c2595293cb12ea139ca67193b30e4193c365f463c8e3b3d3ae91dc73a550ace3b0d5da03bc4f04eb8ddbe223bdf58f63b6441cb3bd9d2be392f33af3af5ceb73bc6816e3b5b718d372db63139f19a6a3b7915dc3adba43eb8556c89baa00e073b2aaf47ba58cc2b3b95b7a5b9f0c5a73bd01cd4bc391ff83b5565c0ba70e9bf3b9495e6bc73a7003c9f11a3b9d4f1753b37cdc1bcd8d9013c861cceb8db23673bc1c4bebc8ccc933b716e5d3aa7579b3ac7d877bced04a63b91a0c3b91450433b8f3188bce6a3253bd2947aba3fc82a3b190a38bcb581743af3f817bb3d79453ba227e7bb62ecf6b917beeeba415d2b3bd213f4baf09a49bad2e919bd018bd2bcf3bc043c7b7f17bd10ee96bded50c3bc5cd3353ceda750bd0694aabd40a9b3bc2440f33b4fa56abd6829a9bd37b6afbc7943073c972616bd667e5fbd58197cbcfa6fa43bc7472abd11e45abdb95023bc73c8de3b09d6dabc852c01bd8a8b36bbd67d903b800d50bc8fb462bc68fdf33aa1f0a33ba0eb203a4a7ab1b846cb763bf996903b05be193cc760c2bdde87253f373b253fe2b4573c3893d4bd121d243f0dd71f3f67ab253cffb49cbd3a77113f98af083fd1e5183c1b0d86bdf866fb3edd9be13edc8e933be4be19bd8467ba3ef445a23ec7a8da3b469a2dbda0ac933e69ab673eab92cb3b7f850dbd2b8e373e1e1af73dd8ccc43b380e05bd120aaf3d370d023d186ba63b6453d3bc45a51a3c2095ffbc57ecc1bd3d5f1f3c0000000000000000556cdfbdc372553c0000000000000000a1feb0bd182b183c000000000000000055caa1bd51a2053c000000000000000021985dbd7d7d3e3b0000000000000000880772bd610ff03b00000000000000002f9c40bd4ef4f23b000000000000000029f120bdfc62283c0000000000000000aa2cedbc72b4f33b00000000000000007e6f2f3a99b036bae824793bd37c8c3b675493b8ddfb953a1817e33b57962f3c598bbe3a6226393b5e242a3cf398463cf596d2b9170b183b677f063c22fb333c898184b92b38263b07de063c80960a3cfd80b339b86f443b5be3cd3bc374013c52a5ddb9b30cfc3ac061c53b1c8ebb3b79f76ebaaf89513a17fd833bf55d343b8be57ab9a3417cbadb7920ba06460e3a9f93703ba261aeb876727e3b679fafbcee242b3c807528bbb0d5e43ba487c1bc685a3c3c70f61cbb80f2173b7b3fb1bce56e1e3c53731fba16448f3bbeb78bbcbdec033c9d366c39dbed523bf2b58abc3eeeb53b3a4597ba5c0f343bc7485cbc543f4b3b13710bbb719d453be17410bc7f0a793a16fd5cbb84f75c3b6b2f88bbb30301ba374198bab222593b97d861ba5070653b4cc52abd9a04f1bca9421e3ce218dabc19a6bdbd657300bd5c395a3c62f83cbd8d28d3bd4073e5bc9536363cdbdf39bd7a97c6bd2405babcd1480c3c842f30bd2317a2bd615ea2bcc969f43bfc5119bd23f173bd7a063dbc9164d63b085cecbc507b20bdddeb5dbbcd09b93b1ec27ebcd48083bcfc1aa43b599c4a3b9abfb4b84cc96e3ad86bb93bbc7a283b7298fe3b511498bd9bf4e53e83f7563ffa87483c6816aabd2702e63e3025543fc7d8613c7b198bbd1bcfd13ef177383f5fdacc3b18d057bdf52eb63e585e143fc9a0c03b550f34bd29ea953e3851df3eaab8d63bbeac1fbdb43a603e7390973e281cc03b717109bdeebb143ef804263ef7a3d43bea2f02bd0316903d7dec353dab66833be653bebca5b65d3cd28713bd5618e4bd75d2333c0000000000000000b43309be07ec953c0000000000000000e470ebbd424e7d3c0000000000000000b9a3bdbde3c9153c0000000000000000a554a1bd6397163c0000000000000000a71489bdbc0f173c00000000000000009eb26dbd215b3c3c000000000000000050c53fbdcaac533c0000000000000000764510bd26722b3c0000000000000000802799b97b32af39786d953a631aec3bed5371b9c07a4a3bf6d78c3b0d9b863c99d335ba777f343b9d51bb3beb466d3c0a0c1c3a4d00503b50fcf73bb070783c7e0f65b9914e253b771bd03bf480273ce5aded383501163bd604073c148e1c3cc16a8bba3950873ad5e2d63b514cb13be0d6a0ba09be513afdad3f3bebcc583b367ab5395c12ae38fc46c53aeda5433ac5cac83bf07334bb41b4973bd6be7ebc6afa503cfa03bdbb7864ad3b0ce48ebc79ec323c6075dabae808343b131f5cbccd00393c394d9eba4a5e2e3b47f565bc4ab1e43b0759a039aa7dc83a670635bc814cbc3b3e6e01bb109c003b783a24bcf4053d3b523901bb1a7d0d3b3ee486bbe0295a39052737bb1114013bf8b034ba92cdfcbac17202bb43e1a8b8c622d5ba8da5463b24906bbd10d7e1bcaa044d3c896ec4bc6a80ecbde518fbbc2976853ce61601bd7508debd8ec309bd21e6373ca29b27bd4696e6bd0ccdfcbc8733373c0cd50dbd74c6abbdb6eeb9bc5f9cef3b493a0fbdc3968cbde12f64bce018083c6732d3bc548a29bdc545a6bb8241b33b61f680bc3d1283bcdc8acf3bf39d3d3903d91abb49a35e3bc6edf93b926c8e3a0ce2fb3beb2f5cbd1c95843eb0e4843ffe64273ce41969bd8eba823e7c7d833f1b3cdc3b858c2bbdda017f3e0dce573f570ac63b91681ebd01b8643e4f9f363fcfbe9d3b7032edbc92d83d3e55f6053fac27b83b4bdeecbc774d173e0f0ab93e91a4a83b8a6fcfbc70d5c93d13d1503eb844d43b3f05cfbc9a2a4f3d1dc4493de847a93b8d418fbc53ace83b80673cbd3bc805be0ba27a3c00000000000000005f9f1bbeaf38ac3c00000000000000006247d2bd21d82d3c00000000000000006664c8bde5332e3c0000000000000000ae5298bde54bfa3b000000000000000045d092bd144a213c0000000000000000d25366bd2bd20f3c0000000000000000222041bd73448b3c00000000000000006d090bbdd831613c0000000000000000405b31bac4e6d13a57aed0393ef34a3c108f0dbbc0c4873b4ba5b83b19bcc73c05047fba82f9943b317bd63bda8ab83c2aa586b91c4c803bf3abe03be1f2953cfd3ca3ba5e3a4e3bb8e9e23b78c35e3ccde0d9b9e6ce0e3ba7afd83bd5953f3c18181ebad054d53a37cdde3bd043043c660701ba527dbeb9bcb4bd3b0776d63ad1c35aba85bf6dba7870f03a3fb4c2b781b0f33bbaa9a4bb048d313b237607bc4f19773c352333bc43f91f3b8b1fabbbe935793c28fd9fbb89bfb93a568df1bb081d553c1d62d5bae7f4393a9042ecbbe77a1c3cf9d2f4b984f10d3b84e6aabb67cffc3b946ec4ba9da97137228c94bb8f71723babc521bb5eba233ad6e1d7b912e8953a475c47bb4f430c3ac338373b0206e5ba641010bb066d6e3a1ea8973b209e87bbaa58aabd57aedbbce243523c8bf1c7bc903917bef78cbbbca301883cde060bbd25b119be794907bd601d543c074e13bd062b05be4bf106bdc958253c55210cbd48b4cfbd742cdebc0638f53b75c405bdaf38a0bdfb778ebc7a50d43bbabfcdbc0ab649bd4a5c96bb47c6303be8016ebc728e6ebcbc01bb3b90e740bbf0a8b1bb01afdc3b7d15203c1b545eb991b99d3ba205e1bc6bad993d10f09e3fa1d5bf3b478cbbbc0be6983dc417983fba6f9f3b5c97adbcd3d1c43d125b823f7f507e3b733193bc3d45cc3dc415513f7850643b46378ebcc58bc03d7b4f1b3f5ed3813b38f489bc9e3c9d3d64c1d33e5a345b3bd23881bc8333523dff21623e272f6a3bfb275fbce3f5ac3cac4b3d3d8acc4f3bacc53bbc7a5f99ba46128dbd961a08bec0f5823c0000000000000000263c14be9562b83c00000000000000002779d8bd870f453c00000000000000005308a6bd10f7ed3b0000000000000000461283bd5e8eb93b0000000000000000bb2f6cbdc105dd3b00000000000000002ff745bdefb5283c000000000000000046b501bdf0c26b3c0000000000000000b6340abdfa6a503c0000000000000000000000000000000000000000000000008822a0ba0d466a3bde5f383b54269f3c8cc716ba9145713b644b6f3bf896843c990305ba85c12f3bab45693b5dff4a3cdd9558b9900a863bd4814c3b17e9203c7c261dba10c8283b6bce993b3549eb3bf75800ba0eb69a3ae2579c3bf731b43b9abd96baa259213aaad26f3b14ff6d3b000000000000000000000000000000000000000000000000000000000000000068d75b3c6635a1bb4a9969b9641bc4b8e9b65d3c6ea647bbce3caa39641090ba5d181b3cf662173a8043abb9755de1ba4bbbff3bb5be293a538eb0ba85f21fbb0824b53bd8f07db7d62c6339a46bf5b8674e2d3ba768acb806b26a395c98923a3aade939bdb7edbaa205ffb99c23873b0000000000000000000000000000000000000000000000000000000000000000966ebcbc3dd60bbe1c6cf9bc5ec0f63bad23d8bc75d802be728500bd5a99f43b98c4d9bcbc21dcbdc57403bda550613b5994d4bc0395b2bddd3bdebc0eb4403b893fc9bc216586bdcb1c91bc3901ae3a1d40a6bc0a6432bd2c8bd0bbd6938439340f67bcaccb90bc058d3d3b90374eb8000000000000000000000000000000000000000000000000000000000000803f8167263ba7696a3a36cd4abdec949f3fed2db33a9ed1e4390cc06dbc3112843fd6fdc33af1d677baaf44a33b80bd543ff8822f3aceb134b93ebb753cd694213fc60aac3ad22280bb616f823c3f7ede3ecdd70f3acc2865bb322a1e3c11567a3e1e90983a18e235bba0d29ab8f514823d0000000000000000000000000000000000000000000000000000000000000000b7fe9bbd0117223c0000000000000000bef349bd5d4e953b0000000000000000f3320ebd5a64ba3a00000000000000006ad8f2bc84a29d3a00000000000000002f81e1bc8b810d3b000000000000000026b2d9bc5e535c3b0000000000000000a15eedbc7bd2dd3b000000000000000000000000000000000000000000000000000000000000000000000000000000004deb573ad1dc03bb4242813ce108703cef5edb3a1ac788ba78a26f3c5314783c5b271d3a763678ba7c6c223ce5af483c7bd887b9d0b6a03792ea053c5479183cb4fa95ba8b7ef73aa629e53b7aead83b59cdb43a0ad4423bc002d53b8838863b85a41cba226a603b4406a83b25b341ba0000000000000000000000000000000000000000000000000000000000000000f7a8a3ba798b72baed899439c9d58fbcdc15b03af33864bbd50746ba26a999bc75b8383bfdf82ebbda431cbaf9ae8abcba264f3b959e07bb422726ba44aa90bcb9be433a0301aabaa75c99b62ad39abc6d2fabba3c508cb8e512ce38b56a97bc908de8baedf49a3a5928e43a1b5b85bc0000000000000000000000000000000000000000000000000000000000000000550be3bddfe737bdefa05a3c360595bb5377e3bdc65327bd40e64d3c931a30bbc7b1c6bd522b1bbdb617123ca7da21ba5148a5bdad5cedbcb74a1a3c2a8cfdbaeef783bd9b838bbc232f023c16041bbabeeb2ebd041194bbce1df33b565f01bb9a00aabc767fc23b29ceb73b24663bbb0000000000000000000000000000000000000000000000000000803f0000000020caee3bb4972fbdffa4983fdbee5bbd65f0b53bfd1a33bc97777f3fdc3b36bd0c6f943a724d2a3c488c4f3f71f224bd0375c039cc38a63c4aee1f3f6efa30bd9e5845ba7584c53c8082e23e0ef040bd939212bb6946883c6879853ebaf74ebd580636bb75311a3cf2d1b23d52f55abd00000000000000000000000000000000000000000000000000000000000000001b081dbbd3538f3b000000000000000056502dbb0d29563b0000000000000000ccf3ebbb2632763b000000000000000082a7a3bbfd3f1d3b0000000000000000120690bae403653900000000000000002347643bac15c6ba0000000000000000a26c383ce37951bb000000000000000000000000000000000000000000000000a20f993a9f6c37bb62263a3ce9fdbd3b244d2d3b34bcb9babf83b73c500c7e3c2ea6bb39b3b7feb97c11b43c7d748b3cd6b7d339efab263a53e3913cfd26853c76511abaeb4f1e3b4f12513cf591363c9d59aeb771e0833b3271323c6de7013cdd6e20baba869e3bf693103c79d0673b583958b96fa5823b1331ba3ba7b103bb798178ba23023e3b809eb33af60b13bb32867d3aeb609aba6ff4753a97869cbc810302bbf7be18bb3486613bc181eebcd88fc13a809652bb43aa663ac764d1bc87401d3bf9a298bb3d3633bae3dec0bc3c952f3b5ff54cbbdfcab8baca4aaebc64a2813aa30b25bb656a873a8228b9bc012c22b7270b8bba8eb3d939b596aabc27168cbadb2e8d3ab061f13a819d81bcb537d4ba20a91f3a3713d13a610ff1bbd13f37bd282244bd65dbd53b01ecd8ba3677d5bd532a5bbd2fbe563ced8e84bbf297efbd4de678bd3a48353c1d2128bb951adabd724563bdeabd1f3c9275c2397032afbd3a0031bddd320a3c4c422d39e88890bd8934ecbc2372203c7b6b823866893dbdfee157bc8fbd023c1040d2ba93208abc94564c3b891e883be82d0cbb2ba7803bda65033c378cb43b655917bb64ed6e3c3758e1bdf78c983f534fbd3d0df8a43c03f7d5bd7284923fdb85893d1db93b3c5e4976bd12e27d3f6501633dd117a53b235df4bcae6d4f3fb90a1b3d0169153aa5ca0bbc0aa81e3f94298b3c5c3823bb16fdbdbada2ee33e109c17bcfba11dba7e1976bb33c0883ed819fbbc0fd9cd3a680175bc50a3c23d67cb29bdba73c3ba13114cbcf31cf4bc774660bd370ce3bccc5c013c0000000000000000b7f7bcbcda51013c00000000000000006b90c1bc8795033c000000000000000020c5b7bc303be63b0000000000000000a09e95bc6babb83b000000000000000012fc4cbcfa9d2e3b0000000000000000678cabbb6fc9f43a0000000000000000d910923be19214bb00000000000000008172073c9cbc4cba00000000000000008594f938232c81ba428d1b3c5d11ec3a53a4963a17772dbb120e5b3c2718553c6f8cbdb9d617c4ba62813d3c44a52c3cb6f98eb90dd598b9b6e8503c9b95633c3b36baba7c84b13a9847123ca1a4e03b2a7de6ba19851d3b87dd263cba75f33bf052e3babeb7773b7c72a43bc60f703b47dd84ba9b4a633b06b45e3bcf80053bc3b883ba2aca223bfae0d839bcf175ba79fb2c3bb2c741bbc596133ab5e6b5bc2fcf7c3bfa927ebbf80b953b1e4bf0bc5c5de73b887f79bbc2baab3a88119ebc5093a73bb46f8abb075827b800aaa5bca3ded23b103d80bb460393ba732783bcb250653bd1b986bb35008a39d5108fbc5ac3173ba5c11ebbffc6bc39f2ad52bcf0f631bb492cd3380a64c93a95ee3ebcd776b7b9687d98ba935b643995bc9fbb207829bc5d6843bd78d996bb5db1da3b9e2b75bd4fab94bdf9b1683b88b9893a886a87bdd4618ebd6bfe7839014e0a3b2848a0bd57a590bd392c893bae9d563b610d80bd7c845fbdda58e83b042f4c3b3e2465bd8f5725bd7f1de63b688f573b091b0fbdb5bdccbc7c75053c031a913a0e6d81bc32e3d9bbb0e7293cb91952bb64c4303bfbb2e73a65c7db3b64a25eba5d41813cc3d3e8bd9905803ff3d4873ea94caf3cc00afdbd3723803f1194703e71c4203c184292bd6f1b563f981e4d3e13d3073cdc9d6dbdfa283c3f1d8c183e5014533b42ef03bd395b0f3f55d3cb3d21e9db3ab532d9bc98b7d73edd5f463d2bf00a37762d8bbc59b3873e6cd63c3ca3ce303b716bcabc9325f83d768409bdaa9313b93f8f96bc663e923b4e7e53bd6e684ebd8565053c00000000000000007e3e74bdb9cc743c000000000000000003f94cbd12022d3c00000000000000005e7e3dbdd09c383c0000000000000000f92d21bd7b179a3b0000000000000000a17004bdadc8cd3b0000000000000000d279c9bcd002bd3b0000000000000000ec5138bc18ebb73b00000000000000001fa39abbdef8833b0000000000000000fd107e39be4017bbd2c8b03bcc62bd397e65af3ad8118abb26bb0a3ca8390a3c25b432ba21d2deb92c8b203c07f94b3c8bb330ba468413bba33d263cc5a5553ce339e4bac922cd39b052f13bd633143cb005d5bad284213bbbbcc93b9c0cfa3b769503bb5988f13ad65ccb3bed50cf3b2e800abb169e1f3bce317b3bc19d413bd94a9eba0082e83a5c97c83ad47f58ba4277c73b24f8a8ba3e4748b909cfb4bcb88c283cc700c1bb7c63853b6766e3bc83ba193c9e9fb9bb7550b73a6ed5b6bcc8a2103c0f36bbbb66e1db3a3d3693bc1b51f03b226b7abb1236dbb906ef61bcd87a9b3b77ad95bb88596739b3e669bca72b523a339111bb6bc9703a72f341bc99ca9538ec0a72bba333db3a243715bcaee105ba57f3c3babb3d01bad1bc4dbb86564f3cb80357bdad9e80bc3b11c23bdcbcd3bc228aa8bd0cdc14bc9a4ff43b5a5a53bd2509b6bd4b31e7bb9305f63b3e8766bd426da7bd3bd172bbd018de3bee494dbd4fff8cbd0ebfa5ba9321d93be53a36bda3d64cbd2710953b868b993bf30304bd558704bdaac3023c48affa3a07357ebcba506cbc90ca273cff446e3a840b5fba918ef6baaefa0c3c1a50a9393b6b5c3c0c43d4bdbf96513fe2a3e43e3af99c3c7beceebd73b0513f230cd43e798f4e3c6e35b5bdedc23c3fd2b5b23efd2e1d3c9b9e87bdf701203f7f3e8c3e9fd09d3b8e3d3cbdef73003f67094b3e0604783b1c3013bd0d89c03e0525f73d9612453b9315f3bcec8b803e47293f3d36665c3bafa6f8bc1620043e50ae6cbc6d68ddb99ef89cbcede9df3c7c6052bd6fcc94bd0a68333c000000000000000047b3b1bdb8fc853c0000000000000000d6409fbdf392813c0000000000000000d0eb8fbda4d55c3c0000000000000000916378bdf072413c0000000000000000f4454bbd7713323c0000000000000000885c26bd9327283c000000000000000080a9ddbc70d1203c000000000000000018e886bcca5bee3b0000000000000000928e79bac605b5ba4222373b178258baf03a8539911e51bbf071913b5b8b043c4180deb9860dafbaaff4983b9d521e3c2fe5e7ba2b40f5b93ace9d3bf2092c3c0cc901bb2dac89384dee533bdf0f853b903f24bb216ea43ae1b28c3b6536fc3b597097ba1677e53a38ba7d3b34cdb13bcdb1c6ba9510ca3af6cd353b6efc603b5e98b2ba6982be3ab0c1833a83c04139ef1bda3b5d3402bba063b53a1370b8bc5a302a3c82308fbb5ec76b3bcdfccebc98a9373c3fb29bbb5e2c0f3a1c3392bc2f153c3c9c0699bb3a113e3ac50769bc351eb13b1423b4bac82690b90f5904bc743cd33b441e70bb8c3426b9ccb724bcc8033a3b26547dbbd6eb4939f8b3e8bb6045b839c4bd68bbd4f2db39ce43dfbb95a35b3ac0b865bb333cbeb9b54b07ba5df4cb3c8b2d52bdfe89c8bc050e2c3c6219c7bbf35cb2bdd27ab8bcf3e1493cd62dd7bcc787b9bd3b668abcc968253c13e217bd9e80b9bd0ba15abc2ea0313c0846c6bc58bd7cbd6e0013bc0f4f013ca13813bd32b573bd09f387ba06eeed3bdb43d4bca99916bd7852aa3bf6548f3b8e5a7bbceab38abc845b1f3c7dece63abf7f37bb7d7f9fbbac64143cacce203b6b10343c091eb8bd7654223fcf15213f0f307c3cfca0c9bd8de3213f9d69183f276d393c70ad97bda9c2113fead3ff3e34bb073c10ee7dbd0a3c013fd3ffce3eb3fb9e3a436310bd4682c53eeae5943eaf67843b533822bdd143a53e23f3463ed3bc273b1cbaffbc59635f3e27b4c43d3b98983bd6a5f7bc04c0ff3d6526003c7bb9ca3a2fffb4bc7f4d1b3d1bdc4ebdd16bb7bd3d9f343c00000000000000003127dabda9048c3c00000000000000009887b8bdcedf5b3c00000000000000000c25b0bdd5675d3c0000000000000000941381bd3f4bd33b000000000000000015aa89bdecef4b3c000000000000000029e45cbd81da413c0000000000000000bbd92bbddb6f573c00000000000000001694eabcdf043d3c0000000000000000ddf20139e6d92e39aeb5343a4228073afd12a43961493cbb01dcfe396190283c2cd0083a75f73bbb795ab3395304693c29170eba60e60db916036b3bb483483cb06123bbaccb94ba53cd443b98d91f3c62dfb2bab3f280babfeeaf3b7ea5183c64e4a3ba9a93413a2fa3a43b423ef03bb7cfdeba403d913a2f54673b6f61a13b8a742abbf2b1df3a6cfa973a4909d93aea22e63bb466c1ba12f6963aca11babc3963713c00af00bc19cebe3b4645c1bc5bac733cb4e3d2bba2fc583bec0d93bce0ac3f3cb695acbb47abd23a389760bc52b3333cb0eb9abb05a34a3afbdb15bcfa88e33ba2dda4bb7fd8253b209fefbbe227523bb36098bb52ba503ac4a9dfbb72135338aee088bbb796e939810a9abb554a9cba8df82bbbf8e4143ab306413a7736e33c14ae5dbdb6b0fcbc3f333e3c02898c3aba22cbbde902e7bc9bc37a3c08a483bcd300debda4eedebc062e6e3c1346e0bc5bb6cdbd8ae1a1bc7392593c434aedbcfbc8abbd62a76cbc127a423cc1de00bd783d86bdb70f5fbb11eafc3b94b8e4bc60d42fbd2817af3b9aa1943bfb6e99bc7c6497bc0178393c419c5d3a3ac5b6bbbf6f75bbde57103c1029523b03af263c699399bd34abe63e239d503f17686c3cfd2eacbd0473e93eeece483fd5fd303c4fd18dbd3813da3e646d2c3ff3f8e63b2ddb67bdd4fdc13e91aa093f29b8c23bda6641bd6b06a53ed0fecc3e93f8b93bc2b324bde479833e6b87883e782a9f3bfe4013bd67423e3ec74d103ea3e4f03bb9af0cbd79eee13d528ede3c6fce353b7075b5bcf610223d65bc44bdb687d2bdd77f5a3c00000000000000007fcc01be3748b53c000000000000000075bae7bd1d448d3c0000000000000000fdb9c8bdaeef6c3c00000000000000006126b0bd9388473c000000000000000036a69ebdaf1c693c00000000000000002da28bbd5681883c0000000000000000a80e52bdc792833c0000000000000000b46e13bd12eb403c00000000000000007c25c0396fef6bb905ac19bb0e18ad3bbde2533a80d50bba4f7e2abb11c5883cf99481ba7784c938de9e9b37b1143c3cd059ebb83f6abeba51bb2c3bbb94773c657a37b7c6e8fdba05c0203b1ff92b3c5952bcbaa598913a81887b3bfdb63f3c2d31c1ba893605396713343b55a8e53b1d9f1dba9ef920b92795ae3b1d05c23ba40fcfb9e61d5f39e6f8bd3aa4af2b3b1f0f1b3c7c3e9cbba7e5683ba409a4bc34a5873c079f2abc43ecb13b3792acbc41a45c3c4f80a1bb3266163b410646bc0098623c2867c8bb8125013b43c148bcb361203c16018abbdb03c83aa70a1ebc458be23bdb5aafbb0621c639b350d9bb800c573b5abe6bbb1025ea3af27b44bbd8ddcaba2e7983bbfb08e839378819bbefe0bebab94653bb281903394ad0cc3a5ab7b43cd1507bbd127700bda9b6673c8e72f13a4a5ce6bd0f7707bd3a76893caa9e24bc306cd8bd64bef4bc5b69553c352fb5bc2748e6bd8454dabc4991613c61f8afbc41daaebd244d91bc17d92b3c5133f1bcc15b93bd778ddabbc673133c2bbfa9bcd77f37bd7bda9f3a120ca83bb38cb7bc0a2390bc1fce383c793e23ba89f30bbc27988c382581373c70924cb96a561f3cdee35ebd170d8b3ee4487f3f5783353cfb7f74bdcefd8c3e1048783f1937fd3ba9723dbd21c2893eb8064b3fa74d063cf17832bdc5ea813ea55d2b3ffe3bcc3b1270fdbc6342643e195ffb3e179aaa3b2ffc12bdb2d03c3e2cd8ad3e3be4893bf2c1ecbc6f99073e6d9b443e0d22f13b91e903bdf924ac3d6dcf2f3d0248433b3ed0b4bc1b30083d622e56bd1a64e9bddd44863c00000000000000009b860dbe762ec33c000000000000000044b8d1bd6c39623c00000000000000007511d4bdc473853c00000000000000003784adbda402363c00000000000000005105acbd861e713c000000000000000095708bbd8ee9523c000000000000000000c463bdd999963c0000000000000000aac420bd2584843c0000000000000000ee3cf7395b96653a2fb486bb8494293c12f65e3a2e42803a927ca6ba664bc93c5f58cc39ec4d6539b829a7ba9209b53cb36ee139d16a28ba19877f3979bf963caf2e99b980ed33ba4a19043bf7ee5a3c007ea3b9255762ba0aff8d3b082f583c1f6ed1b8cdef62bad063ea3b7705273cef6e46b94bdb18ba542dbb3bcfb3be3b090a48ba017a96b9ddfc683b4a871a3b5f911b3ca4d1c2bb5d0a6c3b20997dbc16be903cc12f5fbcd825533bd51f55bc34df883c177005bccbdf083b281226bcdba4813c555902bcecd5dc3afbf602bc00102e3cd7ae54bb21b8143ada919bbbe673f43bdd9397bb9ba6633a6f5f89bb3cc0753b64e680bbde052f3a064200bb38abf0ba925f41bbe609b23acaa1c93863d16abb21f9c7ba5f7b093a964dc63a7fcd3f3c7cdb98bd30030cbd6d4d523c21e338bc46020abef0d4efbc0fb68d3c115389bcb7920cbea9460abd2b8d643c4e34acbcacb5f9bd9be4eabca798863c6294b9bc393ecbbd5da6bebc89d32f3c8d28e4bc02d3a0bd773a29bca94a043c328fe7bcca0450bddf16d3393883693b381fbcbc230985bcfd213f3c43ef4bbb46f838bc5bf1813b28884b3cac43bbba35bce93bd368fcbcd43ec43dd731983f6fb4043c503fdbbc9982dc3da29c903f802fcc3b060ed8bc7daf003e2089763f7c25b73b62ccc5bcfa5a053e55bd463fcf2a603bcdccbdbc30fffb3de466153fb53e8e3b8eecbcbc919dde3dfaf3cd3ea0bf9e3b9912b5bc09fcaa3d25eb633e6aedb93bcd9fb4bc7c00393de66f613de8d0993b4de098bcfb0dab3ccbaf7fbde746e2bda067823c00000000000000003dd902be5ecec03c00000000000000000e24d3bd46ae803c00000000000000007f1dbebdad67163c00000000000000005ccb9dbd482c0a3c00000000000000004ce099bd4a33343c00000000000000009b1289bd82a9473c0000000000000000257a47bdc6937b3c000000000000000010e42dbd6091673c000000000000000000000000000000000000000000000000ecd14b3aa557543a1d45adbbc36e903ce213323a256e3aba440c20bb08a6843c95b7c7399f783aba5646f0baeacc2f3cb06f9f39799994ba9da35b382c26113c519b95b860464bbae34f133bfcbf023cddb27f39ad484dbac95d663b3f18ef3bd1e146b8ee0690ba938fa63b5f67a93b000000000000000000000000000000000000000000000000000000000000000089045b3c6935b7bb4671c33a104b9ebb6087793c10a5a6bbba5f003baef430bab3482b3c86794ebaae0ba8392298e8ba88b2193c89d180ba29cbcb39c54dfab94f17cf3bdd797dba2e8a3bb9e720f43767c9af3a03b6c7bae8cd423a7cbd3339e6f88fba5db442ba51b28a36e96c303b000000000000000000000000000000000000000000000000000000000000000027bb1dbc768ae8bd8d2610bdc7190a3c5ae86bbc1c10e7bd210f03bde424133c7e1368bc2c9fc6bd95e401bd47a6e13bf3e781bc252ea5bdfddbcabc2eeccf3b0ea19cbcdca681bd567070bc0ad49d3b4e3ab5bc388b27bd677174bbf58e573b1244a6bc95ac91bcc5efba3b20630938000000000000000000000000000000000000000000000000000000000000803f617d5c3b333195bb3633d9bca83d983fcf46273b11d1c8bbfe8d903b22787e3ff2390d3b59c200bc3d70cc3c5a6c4e3fc53ca83a4b7002bc2ced0c3d047b1e3f77b43b3b32cb08bc09c1163d8e86df3ed22cde3a82dd0cbc24c5ec3cfb07833e5a3c3c3bd9ba24bca082943c1a9ea93d0000000000000000000000000000000000000000000000000000000000000000b4ee8abdea93153c0000000000000000af995dbd97e7903b0000000000000000c3f83cbd6d709d3a0000000000000000fd7236bd0ebf96ba0000000000000000f6a140bd05d7fa390000000000000000ff8538bda5198b3b000000000000000062133cbd5fa8d23b000000000000000000000000000000000000000000000000000000000000000000000000000000008765b33af96becbbaddebabbefa9db3bd245db3a8c9d0ebc60139abbc91eea3b1ea2d63a36f30ebc99ddbebb73baec3b97b81c3be3b7fdbb492a71bba2bdab3b30123b3a19bae8bbfa186cbb3eaeae3b32b590395cf7b9bb49769ab90a3faa3bf1414e39e01f8dbb73f5b73a8397863b00000000000000000000000000000000000000000000000000000000000000008f4ca73b64983fbbe860c4bb28ec0c3c19dab83b5fb975bb82c6fbba5063143c743b553bed861abbdc7c933842bf233c2fc56d3bded49bba7827ce3ac38e183cf797a73a01d70dbb31e1863b0ddbfa3b578cf2395b95e7ba2477833b51e3233b390882ba869224bab049833ba8e91fba0000000000000000000000000000000000000000000000000000000000000000505c22bd4a8816bd2cf1773bd50d4d393fd438bd890102bd3eda603b889ff33a4d932fbdc673e9bced8abb3b2efa353a75d526bd7c93b8bc47f8a23bf1bd2c39f4be0fbd72ae91bcd3f5d83b19d45a3a9d24efbcaf7d2fbc10d1ef3bcc4146baf8e7b3bc46398abb45f2f43b591c24bb0000000000000000000000000000000000000000000000000000803f000000006f37b4bbcfca3dbcd9d1823fe698a7bc8e9019bcdf689e3b4c785e3fe021b4bc9f9636bcb8aa793c9930383fe46bc4bc363247bcde59b03c45f7113f9cededbc12b048bcd83fc33c2431d83e4ef401bd80e54bbcb304c43c6dee8c3ee1b315bd44643dbc91edad3cb41f043e244d26bd0000000000000000000000000000000000000000000000000000000000000000739a40bca671ef3b0000000000000000361a29bca916bc3b000000000000000088c83abcb0d6c43b0000000000000000c53126bce6508c3b00000000000000002dde0dbc994fad3b0000000000000000f238b4bb81e1943b0000000000000000822aceba35814c3b000000000000000000000000000000000000000000000000b96a32ba62d0763be57df7bb8f308eba23cadab8d85355bb2570d3bb13a9d33bdaa47f39dcc7a8bb5a34edbb2671ff3b64d4d9b7d754d0bb4ab6e4bba377ee3b6522f43adcd7c9bbaebfecbb7537b23bcbf58d39e118ccbb097ea9bbc0eddc3b460155397b9d9bbb424e35bbfeaacd3b39d286b97d9f06bb58e3513af71b743bafcf5a3a223a52bb92fb413ac08bd13a2cf3d23b945512bb894a49bc4200a83b56f7d93b86a897bb8f5530bc56b1dd3b6255be3bc62689bbd527f9bb07c5493c3ee9de3b1c2395bb6d86c8bbeb12763c30fb9a3b76de66bb205330bb0960793c89575a3bc0125cbb773b28bb28d5583ce911c23a9a0f27bb2ba8c3b95251193cf68a32b9f20ff1ba5b4ed0ba901c903b8738c1ba59665aba88e89539733e8f3ba814a1bb6d3f21bde9560fbbd203513b8bfdf4bc9b544abdfa83f13977742c3b0acc28bdfe8841bdd17e0c3bedd72f3bf00538bde30a2fbd063c623be8764f3b94c022bde3740fbd700f8a3b14ad1f3bcbcb1ebd399ee7bc9e63f13b122ab73a476403bdaeaca4bc61e3123c7e565aba8c8ab3bc891411bc1d90133c72440cbb827635bc6c9e8ebb667d053ce599a3ba030220bb7c3530bd3d5d823f1549fa3d48073cbbfca91dbd6790723fee01cd3df43e1dbc6fa481bce9a9513f6a79a13d1c1969bcc872a0ba99882f3f62bd603d1ce688bc659d1a3c4b480a3fb4af093d1ec594bc5f2c813c9df7d03ee72a083c012b8ebc2785883c583e8a3ec6e65fbcc71f82bc9db84d3c56ca083eaa4909bd26785ebcc69d4a3cfd99d33ba4a029bdeb09c3bca484bb3b0000000000000000d774d7bc6ed0403c00000000000000008358d4bccf673e3c0000000000000000d49ec1bca766163c0000000000000000b6c9a1bcdf22153c0000000000000000437897bc729c0f3c0000000000000000c11059bc540df73b00000000000000001ea1fabb757bc43b0000000000000000dec276bbcb80a73b000000000000000075601dbb20dea53b62cee7bbb8c885bb2a4373ba157e033bb69223bc39d45f3a987cc3b996c4153ab0ad38bc75e2c63a8f9b3a3a51a7dabae9fd46bc2ff66d3b4844ce3a58941dbba03527bca3302e3b7378a03ac02f43bb5c24f8bbc5d29d3bfec5b73a52cc70ba765ac0bbb10a583bf440113a1a4b18bba9f27ebbbc374e3be041843a49b59bba96a72abb50d0503b74a9bc3b1370c6ba644f67bca929553b56430b3c5a348cbb160469bc12c9063c47b8df3be5c831bb224010bc26856f3c404b043c35568cbb22492dbca661a13cbb6aaf3b143e1dbb7f1803bc9ad7a43c5707b03b995a8fbbbb82c6bbcdeea33c47eb6d3b80c313bb4aff59bbc223893c019b763add424ebbea5d91bb37c5603c1ee970385948cfba9a2638bb3e25273c0bcb583cd68419bdf15916bc437ec83b4807afbb0cee57bd5756d3bb66bfef3bf9547cbcc84b43bd0eeedabba27efd3b14fed9bc19a752bd69fb69ba81dad93b7b7cc9bceadb21bd0e3119ba5e0f993bd92af6bc9ee017bd5ed7a53bacf0923b7f2eafbc8ab7d4bca4f8533be76a753be08c99bca48d80bcff2a183c2fab643afd621abc659018bc5aebef3bc9b6c1b978d788b903bc52bd9d0e5f3fc0ac8a3e27837fba504959bdccfb523fd980733e304e43bc47a3d7bcb489323f19744b3e123c4dbc0283a2bc64df1c3f17a51b3e854888bccf31c9bb5b87f73ebd79e03dad0f90bcca984ab8c5e7c13e6a6e813dcbfe83bc7fb5893bf66c803e5aa6033d565c91bc5cadae3badde0e3e56a090bc51396cbcf87bc93b80e5d43c754a19bd501316bde344b13b0000000000000000ee5c33bd68ae393c000000000000000010f617bd9595d83b000000000000000062c81cbd9032303c0000000000000000f262fdbccb160f3c000000000000000029e2fbbc705d2e3c00000000000000009591c7bc9a61d53b0000000000000000896c90bcd044293c0000000000000000485339bc32d8093c0000000000000000f70a63bbfed8203c1966f7bb3def09bc0a89ccba335a0c3c15375bbcfc3084bb8ae6aebaf817573b7b9e60bc253031baf08a5bba8a31093b2cb465bce17eb039bccb993a34e59b384bbc40bc61f1813a0092b23ab9f22ebabbc840bc742b193ba9b45d3a7ba189ba43df20bcf98a833b2ced083aa555acba7be4dabb03e59d3b7ad4e13a857560baf11aa2bb0b67b83a1d40b63b18cc2cba3ffa6fbc75c70e3bf7b8233cc5c170bbb6bd83bcbeca0d3ce92f213ca0cd57bb1a2d72bc6bb97d3cdc7d0f3cee6878bb118951bca49db43ca17ce73bb9083cbb3ef537bc3c2ebf3cbf64c73bd73d73bb7ea916bce733c43c9f818d3ba19483bb16e7e7bb4b3ab23c4e5b2a3ba5e38cbbcc93c0bb44e5963cddf2e13a45931ebbf0a60abb03f9683c5d4bce3c0ad00abd3e5f81bcccc30c3cdca72d3c95905ebd912e6ebc14d63d3c7a238ebb52fb6bbd432726bcc951103ce5a947bc7a0862bd542dd7bbfcbb1c3c8bcd89bcd00d4bbdd2c533bba3e7053c0ee39fbc9a8e2bbdf5f9523a49a8e53b9a069abc164802bd25e0963b43669c3be30979bc8b32babc2a5c033c014b433be703f5bbb00751bcf611be3bae14303b3ecb92b9e84952bde514393fd899d63e3300a9ba22d06cbdcd1f303f6e26c13ea19cd6bbcc002ebdbedf1c3fef8ca23e431f3abcd816efbcafcd063f6229813ee0f27cbc7ed28cbcce90db3ea772423e89429bbc93da2cbcb223ac3efc6bff3dd52390bcad848ebbb3a5733ebdbb813d18b78fbcd10d91ba87740d3e5553e13ba87880bc77f8913b0313153db6e407bd21d437bd60fb6b3b00000000000000005e5b65bd5fb1163c0000000000000000444f56bd5328213c0000000000000000788947bd5ce51d3c0000000000000000620638bd02f01c3c0000000000000000589925bdb5f3323c000000000000000088c20cbdbf763c3c0000000000000000bf99e5bc129b533c00000000000000001ddb93bc83ce163c00000000000000006b8875bb5914393cef6cdbbb311c15bc92cc69bbb75a1a3cb32a59bcb924ddbb9a2d0abb77c6013c547444bc2250a5bb490297b9d08f963b5b2d78bc3daaedba6fa33d3b7f21873b72dd47bc26ee87bbe79d073a14ee023bd5ff54bcc61e1e3a4d7b663aa75b813a04b22cbc3e40e83af652db394ea128399e4807bc3b406e3bd2fbfa3a237614ba6797cdbb08fa0b3b389ba63bb176513ac5a462bc3f060a39bd701e3c3fea1abb35b57dbc4084b13b8145173c698dabba98dd74bc0b0e5b3c000e0e3cc73819bbd79374bc4484a73c228ab53b2957cc37178a2bbc9584ac3cfa05e93b774360bbf7f348bc1578cb3cda15833bb08342bb1ba5efbbc8e2c03c0a79263ba3ad5fbb9a68eabb1ccdae3ca3b0213b37b529bb57e983bbf14c843c4115003d90a807bd888eafbcd0ac183c2d41bd3c872855bdd9f9a7bc734f503c7b75123c39db5fbdb2ce8dbc8224233cc2d643ba2a406bbdb1d84ebcffb1343cec6709bb461e28bd79b317bcb266f03b11d11ebc476c3abdd97348bbb6121d3c07953bbcbae704bd9103313a9533dd3b5db142bcf909bfbc867fa03b769f9e3b8775efbbace16bbcf6c29c3befc4893bf16dc239ac5844bd6cba123f68c6113f0da7913a19305cbd01ab0b3fd042043f011185bb660526bd8abff83ef97cde3e1a031bbc622307bdfeb4dc3eefd0b53ed92f51bc0e6d8cbc11a2ad3e5710893e563d55bc644d92bcdf0c933ea63c413e2ad379bcc0e90dbc31b34f3e5cf0dc3d4b2784bcbc85b0bb386d033e19c0fa3c600855bcc4c4c63a9eaa313d88c7f0bc30b64cbdacf86b390000000000000000200f7dbd6c62e53b00000000000000008cde5cbd36a2aa3b0000000000000000b6c460bd2d88013c000000000000000075d62abd8d73463b0000000000000000b90f48bd198b223c00000000000000002bf722bdb730233c0000000000000000db3b0dbd31e5453c0000000000000000e1dcc5bc8827223c00000000000000008c20a3bb0cd23c3c0c7adabbbd900fbca58727bb0291183cbd6264bce1c1e5bb841651bb5063f43bfbcb80bce3857ebbad170fbb9c54da3b8fc37bbc6dbaabba163e573922b79c3b30567abca40b98baba26dfbaa2ac133b602b42bc52b2cc3af9ae1e38ed50c13accfb2abcc9ca353bfe4a1fba99479b38acc7f8bb79849a3b66aa483a6e70383a06e0abbb03e7033badbbb63b54bf9d3a296c29bce6606abb9ef8193c5cbc9fba3c0b59bc5055493a4213303c123110bbb9ff61bc92e42b3ce00c263c887c2fbb37594abcbfef853c612e043c888705bbaef64dbc2732b33cd235f43b859e53bb2b1332bcacebbf3c77a5b13be30389bbe7dc0ebc0236bc3c2bb8713b0d2c9fbbbb0dd8bb04eaaa3c6f54153a37ae2abb824b84bb6424883cf7500b3d0a94f0bc7f94bfbce968043c843efa3cfed658bd99e6dcbc1aa3673c87fd873c2eb175bd50a7babcd2f2573cf7ed0b3cf73d78bdadd98fbc6aee513c2b49c53aae095abd93df5ebc29343d3c7ade83bbe66648bdc3e3bfbb121e2c3cf92c03bc947e1bbd6e3da3bafea20f3c63fa27bc9772d8bc38b3823bb284d93ba3b2cdbb7f136bbc09f6643b63a5b23b5af6ee3ae43a2dbd5ef5d83e8783373f63783d3b625352bd5d7ad13e97bc293f5e7e0cba2aaa31bd00b9c03ea3a3103f816e9ebb2b1211bd32f5aa3ee9b1ec3e503a19bc80c1e0bc55c4913e5c80b53e549c22bcb799b9bc18be6f3e30e07f3ef7213fbce7fc90bcc616343e42ea193eb5df3abcf26c4bbc431aeb3d1a8a583d43ea41bcbfdb80bbccaf383d4448d0bc2a6857bd59d481ba00000000000000007eda8bbdce95bd3b0000000000000000920484bd0c94bd3b0000000000000000e4a47bbd17c0cf3b0000000000000000504f66bd1b28ea3b0000000000000000fd7261bde708073c0000000000000000c5394abd4e923a3c0000000000000000651030bdb67a6b3c00000000000000001279ebbc22503e3c000000000000000097cf5dbbebce083c09c9d8bbf82df3bb369e6bbb07ac193cf12365bc20fba6bb60d95cbac261f53bcfcc45bc35bbc6bb41c209bb4cb7d43b24577dbc54d042bbd81d47ba4ee7a33bca7e4dbc567a29bbad2192ba0c70653bb9b952bc27b84a3ae4d9623a0e4e823b491034bc31e13b3b57b14bba1a30843a24ecccbb12368d3b2f2a1d3a8039f2390cafb6bb6453353b3968d03bd95d2cba9268f8bbb257dfbb5c9e293c6f30d8ba152221bcb7ae1dbb2e47053c61f719b9e7792fbcbe45af3b7652303c463ae8ba2b8c3bbca64f4d3c4a0af93becb5a2ba1c9736bc15ca883cc667fe3b89314dbbd0d32abc12ed9e3c9068b53b02f432bb8275f8bbe49a993c3ed6433b092c92bb13dd12bc7956913c80028a3aebe43fbbb37986bbc5f6713c0f41f83cec0beebc7b1cddbcb78c2f3cd924f13cc9335dbd3f8bffbcf595633ce9f58c3c0a3051bdd200d7bcec94253c388b4c3ce8c27dbd8635bbbc619a543cc988df3b701a4abd9f0e85bce2d4273cf0606db76c734abd61132fbc503f353ca628c6badd620cbddb22b2bb86f20c3c2f9b07bcc590d1bc78a7be3ad80fea3b9e67c6bb31104abc603b923b26a5b53b00e3983bcd3314bd799f8d3e2d2e5e3fe719cd3b17492fbd34918a3e861d4e3fbab84c39415703bdcea87d3eb61a2b3fdefcf2ba625308bd44aa6f3ebf97103fda07aebbf747c6bced9c4a3e4acedd3ebb69cbbbf374c1bc3103313eaf47a13eb4b6f4bbf9427cbc4340003eb191483e05c402bc46367fbcd913bc3d5eb59c3df53ac4bbbaa2f3bbf0fc2a3d4a59bdbcac5e57bdd9e4023a000000000000000062cf8abd63829d3b000000000000000008f357bd9e27f13a000000000000000063087abd45e06c3b000000000000000085c952bd35d42e3b0000000000000000d2c966bdbde4f23b00000000000000009a8047bd21a7da3b00000000000000007c3e3cbddc2f4b3c000000000000000061a302bde9f5373c0000000000000000b2d930bb5dd8da3bc2b2c5bbe5d4c6bba6784fbbea11a53bc52244bc240825bb469b1fbb35f4c03b603068bc920d31bb2ce905bb7c71b33bb7a05dbcad9c51bbefa6caba5c77a73b4b2552bc281bf0babcc8c1bab6d6823bb3be37bc280b963ad699babaddc8d33a147204bc9fb9423bed32baba179baeb911a696bbe6a6d53beff59dba1de1913a744743bb82278a3b1302983b7ef6aa3a270681bbe7711ebc25e9433c504b43bbb0bf75bbb54ac0bb1e66353cf60cbdbae1a9f8bb2f700c3b02ae2e3c17ab73baa25d0fbc8069f93b64d8fb3bd8e797b9479420bcfd6d3f3c739a063cb50221bb03070bbcbdaa673ca39bbd3b834f6bbb982df5bb5dbb733c1e11603b5181a2bbbc97b2bbd6ca4f3c9d78bf3acc0e3bbb18d252bb3ceb423c3036db3c6cf9edbc8ed3fabca780f73b9289b03ccd0664bde0dd08bdb9885f3c8c67933c2ee37dbdace2fabc8f51433c663c713c39677ebd2d16d9bcaf81463cca9f263cf80d59bd9387a0bc38b0223cfceb5e3b29c44bbdf81664bcda112f3c49a506bb9cbc1dbdf5ffe4bb0d33163c7dd3f2bb602dcfbc16d04f3a6e2dec3b65b79cbb44f835bc7d61173bfebaa73be8bbe13b839dd5bc80d6033e1c81823f6da9013ce1dee7bc0613063e329c6f3f2d11943b7da9dcbc9b45093e04914c3fc833c03ac7a5cdbc840a053eb0ae283fc6e58536ee3fb5bc3529f23d99f0023f848a82baade2afbc8007dc3dcefbbf3e260908bb6d939bbcfd64b43da58d6f3e026ba238dea38bbc4ef4823d8238c83dbc8b6cbb342222bc3630123deb709cbc366e3bbd3b879bba00000000000000003dbb68bd8ac8553b0000000000000000fc0256bdc750333a0000000000000000410a52bd51368f390000000000000000d01e46bd3f69acb90000000000000000ec2154bd22d8413b0000000000000000c9f34cbde252ce3b0000000000000000bdb440bd78ba333c00000000000000001fb318bd2dd8113c000000000000000000000000000000000000000000000000682ccabaa0b84d3b16d20abc6bdc5ebb3bec99bac42f503b07ff35bcb66123bbf68a7fba9e76a33bf00312bc083da4bbe9d191bac31b743bc1330bbc62e480bbd13e7eba7bfc6c3b486dfebbd7f201bb0dc58abadc0dbe3a8b10b6bb155ca23ae659a6ba5395853afee43fbb1bd2263b0000000000000000000000000000000000000000000000000000000000000000d054d23bc664583a3b5d0abb0ae9aabbb9a1f03b0a9e8939eb5583bbcec5f538aeb5d63b1d707739d2f3e3bbfb483e3b375cc13bf4a5a03a428fb6bb940be63b48ecac3be7b75cb9d3f4b8bbda930c3c7bb08d3b744eaaba20a386bb546e093c2ef4493bcf7d11bb13cf7bbb0e02093c0000000000000000000000000000000000000000000000000000000000000000cd537f3c62412ebdf650f8bcba77c33b2d035c3c604c46bdc799d2bc4565e03bc5f4433c663835bdedc3b8bcec36da3b79382f3c60cd27bd6c15acbc28a9dc3bdb06ca3b853917bd5ede6cbcc2bbd33b96bac73aca53f2bc053607bcbbb1d23b3f77faba9fc8a8bc0d1486bbff41d03b000000000000000000000000000000000000000000000000000000000000803f2a3dc03b4bb46dbcb3495c3b1b4b823fade4673b95726ebc3630913cf5af5d3fcb133f3b781760bc550edb3cb2e6363f4ab9113a6a5362bc70330b3d0c73103f81e0ab3986ae5dbc9323133d712ad53ec836af3a616055bc607e0d3d234e893e2d44d83aa03d53bcb0b0043d1852fa3d0000000000000000000000000000000000000000000000000000000000000000e244f1bc36c34dbb00000000000000003a81edbce1c827bb00000000000000005214f4bc7c7d9dbb0000000000000000a21bfabc37989abb0000000000000000d1db06bd8b933abb0000000000000000f3ae0fbda03373b9000000000000000014371bbdff2b203b0000000000000000000000000000000000000000000000000000000000000000000000000000000075e6a4bb536f413c271f2a3da8aad1ba174180bb18c4743c9044233d91a80c3be1a5533a48f56b3c4fef043dbcc6c13bc132053ab11b653c4cf9d13ccc97643b48975d390e21283cba218c3c31576a3b378b99382cbdcb3b27d34e3c9639293accd8d439ac0f183bd277f63aa06ebe3900000000000000000000000000000000000000000000000000000000000000008a5d5bbba5a5bab9e1589c3b938d35bcf2e93dbb05c0b7ba2b37063bae47aabc1c8995ba940b22bbf62804bb8dc2f8bc89c14c3a809200bbbd59cebaef16f9bc816d323a12670abb81c69bbb1df1bdbcca11ca3a9882f9ba3be4a2bb3a0d45bc3186913a07f5b8bab60c93bb929390bb000000000000000000000000000000000000000000000000000000000000000085d85fbef4d2983c3fcca6b82a5c263afc8a5abee592593c18f9173b8ecb863ad9da44beb018923aaaa6343b26febd3a861c20be5d7ec1b92bc7a93ac2766f3a3c80dfbdce2909bb2bb8d4b8a5c7133bd83384bdaa569cba5c5068ba2c29a33aeaba58bcaba1a5ba121314bb018a493b0000000000000000000000000000000000000000000000000000803f00000000c67e9e3c1c1fd6bd8015ad3f5f4001beada44b3cc73c4abd0d958f3f3f44bdbdff021b3cb738afbc2b126e3fa5809dbd35ff083c8fde83bb0012323f0fed74bdd678dc3bc6e5173c927ce93e9ef130bde759e53b94b8593c3acb683ef2d083bc1f34983b7d4a223c65e8403cc202b53a000000000000000000000000000000000000000000000000000000000000000021b6a23c2081a2bb000000000000000056394c3c93d371bb0000000000000000b962ff3baaef37bb000000000000000062dcd63bd238c7ba000000000000000033c28e3b26bccbba00000000000000005341ad3a84d8a8b800000000000000005c7697b95327ffba000000000000000000000000000000000000000000000000559ce0bb90a2e33b782e9c3ca962c3ba20d41bbc3e64603cc14c1e3d069ea2bb4417f2bbef2e8d3cd3662f3d56e1563baa2292bbe721933cd6951d3d87e9993b954e20bb9d74853c9713e43ce26fab3b95cc43bbfab95e3c8ba6a93c241e7e3ba03dd5ba57a7163cedcb373cd510283b3e167dbab9398b3b467b0b3b34513e3b5b24bcbaf62351bafc4369bb7dcbc9badd441dbb656486b99da9493c4a0a51bcac314cbbbd2b29ba03ae313cb2fe0cbcf50437bba3a93ebb0b020d3cbedbbfbc5d73b3badb488ebb25d3a23bfc4ef1bcafe7133a29083cbb6684a53a1634dfbcc567083b9a3185bb75b457ba0a20a9bce93e563b9ea76dbb1bb5bbbb0c5842bc5e632b3b79ee2fbb13e1e6bb417abdb94376643baf1f27bb6af686bbcc46103cd0e1debde0568b3ba8abe6bac630a33a2f2a41bedc6fac3c660f9cbb10b53c3b10a05dbe4246413b6c8795b91349223b102b4fbe324d96bb8874133bc598323bf21924beac3c11bcaeecfdb91d3e253bc334f5bd899fddbb225dd0ba8516553b55098abd4270edbb18cad7baec1a1a3b202b99bca6b131bc03255fbae7c5e43a8f85613cc277ee3a296727bb5935e43a09e1323d23815bbe70d9ac3f143d723c7678303d93883fbe31d59f3fba765f3b4224043d5b6310be8ce2913f0ca59cbb5f56e03c68b4d2bd0cac713f1708cbbbb016af3c62a48abdbc30363fade6f6bb8c88a33c095432bd6302f33e4c572cbb3cb4973cafcdbebcedbf793ea8807b3bdb9e7d3c4bae14bc989c3d3d5980b43ce45b573c511f8fbc25ddcabd0d524e3a808f66bca5814b3b000000000000000080d840bcad04dc3a000000000000000060dc40bc3fca603a00000000000000007c9436bcdd5c8a3a000000000000000028c201bc8175ed390000000000000000ff6bfbbb822aa4390000000000000000e40020bcdb88e83a0000000000000000915b40bcd195323b000000000000000096c908bb830e133a000000000000000085b9cfbb3a20f33bc680073c8e69243bded400bcd685623c6a21cf3c0b0cfd3b7825e2bb42218e3c36d7003dd1e8303c568bb2bbc2e2963c5cb5e83ce1623f3cb7552fbbca66803c2fddb13c8f0a113c55d186bb98a0753c69627c3c5d0b083c48f944bb307a2c3cb0c3013cd4b2203b7d4a4bbb3e93cd3b31dca93a06e2f63a24a41fbb2f92073a80bd36bbb4d34fba4fb746bb251992b94c0c873c075bdabca75e65bb0a53d4ba81ef6e3c40b2dfbc3f8acbba55e770bb187a563cfad005bd25e547ba65278bbba7840c3cffc007bdc1086b3a0a3745bb962b6e3b3496f7bccb4a113b4fd38dbb7e51933a1451b1bcdbe6893be2e389bb4367b9baca7222bcf077693bc24186bba908a3bb51d870b7d006353ba38321bbdf5f37bb7625e33b16774abd49ee84bc9a7696b8e0439f3abd6e0fbe510fcfbc55e2233bf0edb73a2bdf2dbe2b581cbdd4afd83b7eb0ff3adcb22cbeda700ebde1968e3b61dd513b2a8909be32d6fdbc845a913a8f42053bc11dd9bdf375aebc0e7aa1ba2fc8673b45a37ebddcd541bc7601bcb97f08963af136cebc65c06dbb46054fbb6d97483b8cd1c83b17e1a43b39604abb531c603a057e3b3df2245abecacd8f3fb56a673e87864e3d548d5fbe0de9913fa6a63f3e96931e3d28472fbe7e6e833fc32c1f3eff9b133dec8110be5719603fb830e03d4e42e93cea0ecabd5f7d2a3f2b239e3db29de23c50649fbd98e3ee3e097c363df33dc23c4cac64bd87d0833e435d853c9151ba3ce40d16bd8d919d3d110c073bf32e8f3c74ae01bd07b923bd2b6899bc0bd47cbd35875f3c00000000000000007dd379bd308d683c0000000000000000d7c44dbdfbc6103c000000000000000080f01fbd1381ef3b0000000000000000abcaedbc5bb5b23b00000000000000002274b8bc5d59843b000000000000000017f747bc5065533b0000000000000000a0b006bc0409b23a0000000000000000af4cf7baf55ca93a0000000000000000895290bbdeeeaf3b421ae13b851bda3b7589dabb99ab5d3c90728f3cfac1823cbee9c2bb6f068e3ceea5c23cbd948c3c87cebebba979963ca992be3c5623813cd60a90bb2c708c3cf9ab8f3c37ec603c55ebdebaeb20623c89f05b3c07cb0f3ca5bc83bbe3e62e3c61c4dd3b1891df3b0e8c81bb4621f43bafc9d4b8f779263af9aa01bb450e1b3b29117abb27438bba5cff21bb863f1bbbd0ad733ce7120ebd69bb89bb7faf4fbb0db6893c8bf30bbd92acfbbad35b8dbb65c74b3c654212bd32ae7d3a5529aebb20b1173c760913bdc1781c3bc863aabba4eee63bb87101bda4f8753b15a4b3bbdbe89a3abfc4b9bcd153303b962b8abb9cea113a65d541bc09ffa43beec188bb69493abb5c839ebaf0ff4b3b4ba522bb0af2a6b98239a33b1fdbb2bcfdf93bbde447513b2af3ff3a7459cbbdb05889bd59ab2b3cc61da33a131d09bea08791bdfe3e133c7ab5a73a31df09be529c87bded11ec3bca1db43aaf6bf3bd75ae5dbda08c883bf8cd323b9885b8bd4f0713bdd70305ba47ab0e3bb5f76bbd2fb3a7bc999eba39a368d33adebcc3bcb639d2baefe68cbb91d7143a6d16dc39cbc31c3c6d9606bb37d493b9182e293d71bf4abe224e6e3fdb5fea3edaa1473d8a1455be757f723fa806d33e9bf5253d5cec33be8513603f3773ae3ed25d123dd75e0dbe63533f3f01ae843ed003f23c59abe6bd290f193f280d393e324ce73c3a11b1bd0402d73e752add3dae3bd33cd7fd85bd47fa7d3e1b2f323d45cfb63c92f046bddb4bc13dbda4e6bb8f578f3c1ba626bdd13929bc592d45bd22c3ebbdaf81ce3c00000000000000002e2de9bd7735c93c0000000000000000a7aac2bd8c90a63c000000000000000048ac94bd7df3713c0000000000000000a0666cbd72ff473c000000000000000064b711bd64680c3c00000000000000001a8cc7bcec46cc3b00000000000000004d7bcfbb443d5d3b00000000000000009dce1e3b5d9aab3a0000000000000000767097bba532a73bc4ba523b2c03443cf6f598bbcf4f133cd5026b3cee84b23cf5058fbb3cc1493ca6be9b3c0e27ba3c694e94bb327f843c01179a3c6012b73c3c693abb4cb8503c8ac33a3ca1a3673c7d509dbbb6865f3cdf971c3ce3834b3c67425dbb4e1e343c8d7b863bed9ada3b33d4deba68bcb43bce58c039981e003bb590c8ba83e4b939924544bba9d89bbab008fbba948414bb58f17b3c304816bd243d34bbf4e6b3bbe1af643c165d06bda0c87939699cb4bbdc2b2d3cfabf03bd5f12b53a00dcc4bb30fafc3bcc9f05bd0809503bb0aa57bbb990a53b31d4e2bc840d363b235297bb031aa33bbd86b9bc4ad3963b09e2b9bb3460c2392a4b49bc9bbf713b70ef35bb8f2830ba8a486ebb98037d3b8bf9b3bbc69e293a03af523b067ecb3a646589bd88c2643b1693403bcd1d82bd3f25dabd35b26c3c9c4b123bb206bcbd8731e6bd5c853b3cd7d13a3b6054dabdf8fad1bd8c8f0e3c73253d3be53a9ebd588095bda05ddeb9baa1593b67e098bd68705ebddb94dc3ab196233baff140bd3e10d0bcae1718bacf6a403a849cb0bc8ead35bb504da3bb4f6dfdb8193770ba369c393c2dd644ba968c8e39258c063d410d23be2fc1333feba6303fcb5d1e3d35c32dbee17c373fdb73273f33a4093daa1e10be5a322b3fa9340c3f1577fe3c636100be9307193f6207dc3e620db03c126dabbd5c24eb3e50da983e3589db3c5cfcadbdf059b93ea7a7353ee824b23c133b7dbd6826613e7242943dca1daf3cdad649bda1edcb3d03a645bc96b3563cfbbb15bd7a2ab53be18686bd3e0721bee4f4053d0000000000000000be2229beadad0c3d00000000000000003f9306be4e1cd43c000000000000000030d3ddbdf71cac3c0000000000000000702d96bd53454d3c00000000000000009e1c56bd39bb523c0000000000000000dfe0e4bcb56dc63b0000000000000000f9abb7bb754c793b00000000000000009f62a53acab9563b0000000000000000e0983abb42dd763b5e3fe03a33825c3ccdee49bba699fd3be5e5263c7e1ef03cacb37cbb9b373b3ca563793c46cf013db6bdacbb223a643c6b16893cfab2d93c949750bbc0255a3c79e1563c2601b53c591f63bbb69c573cae192c3c4550743cbf2e66bb8115323cea1b853be6c9133c527873bb3941da3b770d5fb850ba923aced9a4bac2ae263b220574bbbc41ebbab59917bba59a97bbba64193c775ceabc103248bb2c41d2bb556b263c8232e3bccfb088ba4c57e0bb3bfce83bec1adabc8a54023b8f17d5bb6b8def3bb7bdcebcc806f33a5cf29fbbd6f49c3bfef2d1bc799b243b8a5889bb1f517e3b187ea6bc659e723b5a19aebb460bb33a2e164cbc2357743b60b686bb4115e3b943f368bb0464fe3adc002dbb8bad6bb7b535e63ab282563c8599afbda429d43b37e8a03b73ad1abd775e15be250bca3c22359f39b9a089bd05f51fbe5a4fa53cb88be23a625aa1bd6de708be97c7523caace393bd11399bd70a5dfbdbd1c103cbe4eda3acea681bd6a028ebd4646933b49bc1ab945c92ebd1ca811bd1a1f61b9f580eb3a026fabbcc96e5dbbe687f9baff5af0babc15ccba130e823cb38304bb414f8fbae841d93cd7f1efbd5e0fec3e1c0b6d3f439cef3c1843fbbdced3f43ee17a633f3450da3c8a85e1bd9779ef3ec95d433fa934c23c6684c1bd9550d73eae7f183f1231b33c7181a4bd2cb2b93e63b6d93e1635a03cbbc188bd31628f3e1c6f823e77158f3c990059bdaf53403ef6c5d63d297d923c07c22dbd1505c03da40352bc76d33b3c325b05bda3a2923c09eaa8bde68145bed9a11a3d00000000000000001e3f53be3ccc373d0000000000000000e3b32fbe0e7f093d00000000000000004a1507bebd0bc83c000000000000000039f8c7bdf4e4a23c0000000000000000c7e881bd88554f3c0000000000000000bf7ef4bcc91ff43b000000000000000042e3b3ba3602023b0000000000000000500d933bb8d97e3b00000000000000002033e5b9bff3aa3ac36a6aba5a55973cc0ab04bb2fdf643b9967123caa8d103dd11451bb5dad023ce3ea633c8026163dcf3a79bbdf02203cd345753cc5130c3ddafe07bba3d61a3c55f04d3c6f94bf3c475a84bbbe4e183c5082083c234b993cb8287ebbc8171b3c8e4cba3b01c3113cb1a2f4ba472aac3bd37d213acd050e3b1022edba6a9b003beb845bbb673bbebad73a82bbc59e97bbe963c63b281da2bc575a97bbc34addbb8ae0973b883595bc1afa403a762afdbbea2a8d3b832e7ebc4ddd8f39fd43c8bba5ba4c3b6c7989bc7f503e3b52cd89bb9516253beb148cbca817063b60d085bbf2163e3bdc2f77bc8913213b845e87bbf32a193b9aeb26bc7cad343ba31024bbc2ac5d3a6cb5aebb42d6fc3a708714bbccd5a93a62b32d3a21bc9d3c5a4fd6bd460ea63c2b6ac9b9066166bcbba638be6aa5053d8f4fb8ba4f7f3abdcd9a40be4512ba3ce07da23aed8863bda93731be35fe933ca14ddf3afbf355bd36b504bebf1a063c697c563ae8ec3dbdbcf3b9bd9207ce3b561f1dbab8d30bbda6c135bdc8320d3bfcbbc3ba74b593bcde91a4bb958567bb59ddcfba2536e3bae9928c3c58711dbba6bb62bba8127a3c988384bdb9866c3e9f7c8f3f5fc0993ca19a8cbd5f287a3e70448c3f79de833c446584bdec0a843e8f45723f16ee853c2d036ebd977e7e3e2ae5413f1b0f583c1c9644bd8824623e3fe90a3ffc16713caa2b36bd59693e3eee29ac3e893b4c3cbb0d13bdc5ef053e936e173e3b84133cd70be7bcaa92a13d1bd920bcc312fa3b3990b3bc6acbb23c99c8cabd353959beaaf1353d000000000000000069d165be05313f3d0000000000000000d0723cbea5630f3d000000000000000065b416be1668db3c0000000000000000bc0fd6bdc4459d3c0000000000000000d4278bbd97b05b3c000000000000000004a309bd439f103c00000000000000003f1bb03b00c882ba0000000000000000189d8b3c24420739000000000000000054f4d0b947e880bab4ec6339f9f1de3cefc210ba3d7ed0b8ba1aee3b08da3b3d4fc9dcba43c8283b7cd6593c356d463dd52e0bbb29bcad3b0829803c0676283d453c07bbd539ce3ba6d5513cd372fd3cee9d0fbbeb0dd13bedcf2d3c5573b83cff82d8ba7348a43b7aaebb3bb4bb423cd29302bb8204b83b7473d63962a4233b885ed2ba41f4be3a49b92dbb7d0683bb372dc4bb9e66a7bb992a103a1a6c9ebbdfdb20bc49aebfbb14d606bad3359bbb4a8454bb26fff4bb558d46b932bdb8bb32f9d83a6260d5bbbc7604bb8c23febb2bd90d3b080394bb6d24173a8d7e1dbcbe7eaf3aac3b6fbbfa847db990670cbcf7210c3b2912efba8b69b439279e06bccafe423b2132afbab812e83a19d002bc3acba13a0b52d9baba18d83a31b5aeb99e15613ce8ae0fbe24dccd3c74aeaeba854273b9abfd58be54f34f3dd19d07bc97c4d8bc8eff69be056ef53cff18843a5e5d1ebd03cc53beecc9a73ca7b4253a87621abd64c523befd23303c3c13403a00200ebdb4f1e1bd32d0cc3b69e873b85328c7bca70368bd0c1b1cba47c3b2b9afda36bcd9e8ffbb754721bcc0f30739b4a38b3ad0c8cb3c93bc58bbb87cc0ba9d7bb93bbb8d85bcda0b843c8d95ac3f127ca93b898e86bc0503343dc5839d3f2e6ad73bb2f2a1bcee35993d0f288c3f3130143ca7bfa5bcaa10bd3d4bec613fa13dd73bddde93bc0a78c63d0d36253fae27c83b9b2a8bbcb8cebb3d92e3ce3edc8ed53baf0165bc25ab993d4b5c3a3e7abc7a3b2e5a3abc519b5e3d2ebc803951f5ce3a0ddeefbbe3fb383c5a7c05beb2085abe442d2d3d0000000000000000297952be34372e3d0000000000000000af6a2fbe1e44e63c0000000000000000037809be0d78b13c0000000000000000444fc9bd160a7c3c0000000000000000f3086dbd6bf60d3c0000000000000000a82cb7bc6fa2ed3a0000000000000000e041c13c68990fbc00000000000000002024a13c624c4bbb000000000000000000000000000000000000000000000000f3529cba26590aba94b2243ca94c353dc5a3e6ba1a26673b92c54c3c0ede2c3d30f101bb0a739e3b36bd523c0dbe0f3d46229fba9f37a53bf482773c8f7bc73c46fb0ebb3949aa3b31760a3cae38993c547a04bb9c838a3b5c1bc03bf84a323cbb6787bab4c0243bf1c6f33a316dee3a0000000000000000000000000000000000000000000000000000000000000000369b4fbb368698bb8e2c93bb37aa033cacc4deb93603a8bbe8141ebbec5cff3ae173093b30c328bbb8c55ebbf7a3f83a34c8953bc77978bb100608bb7f773ebb7ea8483ba317e3b884db7fba40003dbba720963aa2c759ba3af4d9b9ba326fbbc5d1723a369b853a89ab3639e16347bb000000000000000000000000000000000000000000000000000000000000000051376dbc2d625fbecadfb53ca971c4baf9aad6bcb90b59be2d4c9c3ca6b582baa6250fbdbcb540be67130c3b701f4a3bc12d13bd60131bbe6a6cb5b9464d143b9d50e4bcfaa1dbbded1787399a9cc5ba4f098abca34373bd05a943bb31876bb9029edfbbfa5b20bc3ab847bb43d20cbb000000000000000000000000000000000000000000000000000000000000803f70d915bb178a8f3c8be7c9bd3b02ad3f8aedbbba5b2e2b3cec8b2dbdb8ef8e3fdb41c439af2ecc3bd3d944bc37956b3fc53c77baff39c43b64f59e3b8950303f06339639f24a9c3b37ec613c3eafe53e59c286b9ad118b3bec7e823c157a643e9588bfbaaccbc43b5992243c08d50d3c0000000000000000000000000000000000000000000000000000000000000000f73207be5333a33c000000000000000054b7c5bdc83c5a3c0000000000000000cc659dbd26ceda3b00000000000000005f9072bdd442c43b0000000000000000ddc427bd6f48803b0000000000000000bdb04fbcf12412ba0000000000000000b7feab3b0a8776bb0000000000000000000000000000000000000000000000000000000000000000000000000000000033d45cbb4271643c1020263d4b6306bc38180fbbb3fe843cd06b2d3d75e0dfbb25b100ba33af8d3c54aa163d614749bbf00a013a8df8583c1acdfe3c486e4fbb0c924e3a8813353c5f63b63c209c35bb92d33c3a1c59fd3bba864d3c1aa331bb23ee353a0e8f193b7a1f373b1503bfb9000000000000000000000000000000000000000000000000000000000000000015463bbbebf6493a48eef63bc7d9ddbc264618bb8477bdb9c2afb03bbe0117bd23980dbb9e826dba17fd923aa0f423bd45654eba23e1e0ba285553ba3fdd25bdd656023ab143beba715300bbc61506bda671113b07dcc4ba78aaf0ba63f4b4bca905aa3a9bd890baa33141bbc498bebb0000000000000000000000000000000000000000000000000000000000000000be7659bebd69053df8b0bcbb27df203bdd645abe6f7d123d9340ddbbe3ac483bc4c049be60f0d13cd0d668bbab31343bdf8224be7d40c23c8abfa0bb523d763b800fedbdb9e2a53c6fd1abbb742f4a3ba5bd89bdcd11723c8392cfbb709c5e3b2b3d89bc8521ab3bdc8971bbc965323b0000000000000000000000000000000000000000000000000000803f0000000035958b3c7815b8bd4fb6ac3f7bc710beb931023caf49e8bcd7eb8f3f6572f8bd546ea03bc23f2e3bd2ce6d3f4cf9ecbd7e333a3b7c56d03caada323fa3ced0bdc7fc743b9cc5f33c9adaed3e8365a5bdfee8833b7c10c53c9a5b733e305e33bdcb9ae43b56b8ff3baf9f963c0f4021bc0000000000000000000000000000000000000000000000000000000000000000f54ed33cf7b6bdbb0000000000000000278db63c08009dbb00000000000000000034a43c3ae399bb00000000000000000f1e923c3a398abb00000000000000000b725a3c17d35bbb0000000000000000c9b39a3b995f03bb0000000000000000c5be07bb74fe33b80000000000000000000000000000000000000000000000006f40c2bbf45d3d3c5cf2553ca9fe7fbad07316bc24a3bd3ced56093de9763abcc061c7bb24a8bf3c60682e3db11804bccedcb0bb2f02b63c579f293dafa59abb085e84bb1484a63c154f053d2497d9bad8555abb41fb913c6fb3b83c8f0820bbd4d35abb976a333c74ac563c5ba98cba1b7f29bbd384213b4b27243b91fd343b6e7209bbc5e1a3ba805c63bbf05e113ad7c16cbb99d4dd3a834c983c2ed710bd246a5abaae1b99b9ad50b73c545534bd21ca09bb4deecbb90f32893c2c544fbd2eafe5ba3eb5f2ba010b4a3c4e4b4abdc961c6ba0cff49ba9bae123c02c538bdd68bc33a019d4cbbab81ae3bf98d0ebd8627e13ae06f20bbf992073b342686bcf9897f3bc42783bb73edd5ba0b316a3b5172ee3a7ad924ba44eb8fba240a343c5902b4bdc806d6bb7f5e663ad24c9439b43635be8576fc3c9e0a24bc8711a33b71235abed672c63c4752b4bb6d1f7b3b877552bef63db43c256f9bbb2a0e753be97b2fbedac08b3c5f567fbb8412bd3adb4c03bee2718e3c0591b4bbc1518f3b6f6aa0bddf915c3c5711c8bb86bc4c3b385fd5bce9d6ca3a6d6c03bcf3c6a83b5ff13c3c26f58c3b1dabc1bb5d10ff3a0cd11f3d99484fbeaf58ac3f7936803ccbe9113df9e232beb7c1a33fe1c7d6bcd74bd93c252501be5238953f6ed153bdd90cbb3cd15bb5bdee257a3f0a728bbd2ab2923c944a68bd57a5403f64c394bd5c8e943cf38028bd5406043fa58687bd37959f3c51140dbd401e903e6f2144bdd048c53c15c311bd24d3943d26380ebcd9c1973ce3be1bbd881aa2bd92d46cbcbf1317bcecf9b13a0000000000000000edf68fb972ceadba0000000000000000e85ea73b28bf47bb000000000000000060fb133c30f680bb00000000000000002634303c6ac30cbb0000000000000000fa110c3ce4cf66bb00000000000000008415d33b7127c9ba0000000000000000106a56bb64ad163a0000000000000000dad0703b331630ba0000000000000000291faebb2306393c61dcc33aa79fe43b7f100cbc3935b13c9ce2943cdf04d53b23e9f3bb891bbe3c7b35e03c3addf13bf3e2d9bb1ee5c03cf0e1f53cc8ab8b3b3743cdbb3e24b43c03e3bc3cb913453bcfb8abbb0682973c1a13a23c94b6883af0d4acbb7256663c8a83233c0dff12ba1c731ebb3f15db3b0189223b71545db7f3ef71bbd45eea3a3f427fbb7bd08639c779bdbb5c5ea73a6046bb3c016155bd3babbebb2184d2b8787be53cdc477bbde561aabbc9648dbacc74a53ce9a96bbd9fbd35bbca3e1dbb113a8f3ca3c560bd75e68dba95b801bbff1d5c3cac6a36bdfc849e3a72ef2fbb7fa00f3c3d6a0abd2d14063becd039bb21277b3bbe0395bc3af03f3b32f811bb57cacbb9883496ba1173163b751e12bb414bae391e811b3c323483bc56592abd7eab1b3ccb8c5bba13f2ebbd8bf700bde1c20c3c4113ae38a1651fbecfa2dfbc1d94e83b95dd883a2f582fbe7f3620bcd1e0c639b2a5373ba56415be0526bcbb4bc99339ae97453bbdaef9bd7d3c043c003bc8bb0e09233bf6849cbdd25d4c3ce856b3bb456b2c3bfdc41abda5054b3c7d4711bccfdc623ba4e3ecb6697c563c07290bbca96e4a3b6e5d293d04d24fbe21868f3f6932673edf86323d87c454be1304953fc751173efc330c3d508d23be3389873fcbe8be3dd58c073d7de20dbeba36703f11d8b13c9606d23c9d77cdbd97753b3f488817bc1989ea3c5209b4bd50b70a3f43d83dbd80eddc3c99ca8dbd2556a73eebb372bd3a33f33cb11888bd0fd9093e813f54bdc230c03c32bd6ebdc47089bbcb4b56bdc14e5dbd5fbf103c00000000000000004c9f2abd18a9ef3b0000000000000000b298dcbce08e173b0000000000000000993e19bcc811fe3900000000000000006cef40bb2d93d4ba0000000000000000ebbec23beee2bfba0000000000000000d4ce0d3cff920bbb00000000000000001c43453c17a877bb00000000000000000ec9563cd29e3fbb0000000000000000fbdb0bbbad98f23bed3440bb7c6a653c57b8e8bb9454983c0ebb203c486ba13cbc8205bc5c66b53c021dab3cead47f3c7100f1bbd41fb63c5efec33cbe52403c43d9f2bb272bad3cf825b33c73de2f3c64d3d8bb59369a3cba19813c701f783b4ae3c6bbaaeb693c8d25063c2269163b590dcfbb4b491a3c3aa5423ad6508c39c36246bbc157683bc43b95bbbb88e6ba849abbbb464a6cbae114b43c2ed979bdd8fa1cbcee4ecf38dce6da3ca42a85bd3acbf5bb6c0cc2ba4b73cd3c7d0b7dbd5b5f8ebb96cd0abb2375a73cb1e55dbd19816abbb20406bb6e4b8a3c88be43bd82ed933916a560bb7c15453cabbc08bd05b2d13a7dbc36bbd4cb103cdd0ba6bcf3f8753b9b7438bbac8a923b93c613bb7d55483bd85e04bbadcdb339aeade03b6695c63cae93a6bd9644913c3f092fbbc76985bd135caebdbd7bc23ca98784bb2b49f6bdd4fc88bddbab8e3cff32b2badd3e0bbe040c3dbd24d2213c2dba44b9838007be6c3fedbc0505da3b658c52ba0c9ddcbdc61e14bcbd958b3a0f61f93a404099bd4203f13b376aa9bb6a86813a11ea21bde436a03c1cef2dbc10c6fe3a1457ddbb7ad2ac3c06cffebb98475c3ac465143d88e43bbe424f6c3f517be53ea7352e3d822b4abea015783ff01fbd3e079e183de60133becd1a6e3f26f9853e5e24043d423e15becf7e533fb8b8213e94c6f43c636503bed005323fb428883d69a5f23c9f0bd8bdbcd9043f35d7a03af74be43c156db9bdd48aad3e77ba48bdf91df83cf070a7bd58602c3ec4cf9fbd1dbebe3ca1af84bd14af203df93dc0bd452bcfbd5a74a13c00000000000000006c4cbbbd133c863c0000000000000000567b83bdc10b2b3c000000000000000089a221bdcfec8a3b00000000000000004b3ab1bc641a5d3b0000000000000000b93da6bbc11466ba0000000000000000b62c083c2d8cabba000000000000000001c29a3cac64b2bb00000000000000002ff9ac3c4cad5fbb0000000000000000a8d307bbaf059b3b0404adbbbe639e3c0f859ebb7f857c3c45d3a13bfe80e13c093cafbbf2227e3cffba703c0851cd3c9255e6bb0707aa3c5047983c9444b23c217ea4bbab136d3cea9b3f3cbe4f623cd6a4cabb09d8953c86dc5f3cf576143c7501d4bb611e663ce32ff23b2a763c3b33c9b6bbfe172b3c27b1aa38db38523810c891bb92d3a33b032b38bbd0145dbb6606d2bb20c7f1ba0ca2ab3c6a3673bdf8fc3ebc847a85ba0780bf3c2cc87dbd39e5f9bbaa5b1dbb0d32953c0b3f5ebd3bd102bcd97cdfba2348a43cf0515bbdb31ef1babbcf04bb2901333c111a19bd60ed4ebb2deae0baa0c55a3cbca00dbd75898e3aded924bb441d013c91b092bcbc8c023bdb1322bb67a0923b5df099bb02902a3bbf65a6ba39d4223b59ae823bed72343d8e41ddbdf835b33c9498abba7777f6bcc33405be6aab193d5271cdbbd29799bd4f1fefbd830dde3c91f843bbe12ddabdb38cbabd3fc0c13c247370bbc0a4acbdc85c7fbd19d9453cc2992939c316c6bdd138dcbcc52ac73bc67637ba685189bd1fc2dcb776c8d0bac668a63942b523bd5213933c0e8608bcd596e83a30c341bccfdbe13c842404bc597e96b9f51bf13c67671cbe9c52323ff9a72f3f41af0d3df4e225be83103e3fe8651b3f7195fb3cf76c13be8b71393f031ef13eeeecfa3cb1a00ebe022c303fb477a43e6699b33c6982c5bda4980c3f797f4e3ef003da3cd6d6debd7c22f33e1103823d72aac53c0321b1bd2d63a23e7750a6bcc905de3c3e74a3bd7f4b383efb1fb3bdf205a23c317983bd527f803d1b36f2bdc2a914be4d24de3c00000000000000004ed811bed63ad23c0000000000000000b993dbbdf4ea983c000000000000000006a09cbda927583c000000000000000068f75cbdfe23f63b00000000000000005165a0bc141a163b0000000000000000eb7d57b9ab2b01bb0000000000000000345dbb3cbe69d2bb0000000000000000e79bdd3c21bf96bb0000000000000000e4c81ebb8b4eb93bcca4fcbb2f5fb13c1860a0bb17665e3cc5c4113bc0ff143d24859abb7619723cbe56503c67a50f3d5834e6bb323b8a3c03b3713cb009e83c7007bebb45ea8d3cbf31833cfd35ac3c6565cebb7f77863ca83c443c7328523c8e87d6bbec51773c9f0ae83be7dc543bf4e88cbb8359273c4b0ef53914bc60bac6387fbb3fcdb53b5b86a9bbbece03bb066cc1bba93218bb0470893c4ed751bd0bc84fbc34621abb933da03cd3d354bdd4e73ebc96eeefbab2d58c3c856246bd0cdd09bc945f45bb4679833c8b342dbdd69bbbbb403388ba2eba6c3c7b721dbdff9b40bb1f4539bb2a4b3e3ce55eeabc40b5fd3aec4e50bb28a1283c608d9dbcb6a53c3b4fc9d7ba4b10963bf78cc1bbd81a973a91089dba2c8a5f3b7179f63a2244613ddc59ffbd2287dd3caa0fa4bbf91815bc0b1e2fbe13f84e3d7c3b23bc3bef64bd394526be11f72a3d3b2ce5bb005d9dbd50af04be823ffa3c421e5dbbca1cb2bd5af8bebd63f9b53c16499abb4ca7a2bdd81642bd1a930a3c55f0fab98f1b7bbda55c51bca7fc313ac3797ab9504116bd8d7b893c3f8105bce94a65b9f14c2abc97e2de3cd917c8bb96768cbaa306b73cec31ddbdebb7eb3eae0e693f107fce3c6e3df1bdec01013fad9b593f5dfdb93c8fa2e8bd6456063fc5e1303f9db9b93c1ce4dcbd20ac013f9301013f9e1bb63c1c56cfbddca1ed3ede71a43e7f43b73c57a2babd84f8c23eddc01b3e15a9a93c7334a6bdf5758e3ea96c933ca95aa83c218f8bbd52b8273efd11a8bdcf9c863ce7fc65bd886b8b3d790508bea70935becf33093d0000000000000000218840bed16e113d0000000000000000ace318be89b3d73c00000000000000003156e0bd7a15883c00000000000000003cc692bd7335313c0000000000000000d31f0bbddc65563b00000000000000003210bfba20ac5cbb00000000000000009f50e53c221428bc0000000000000000eb35e53c5acd87bb000000000000000056819db84ded8e3b9e379dbbcc62d13c270c83bbd2f9123cce0d443baf502b3d74bb6fbb958a273c87c82a3c8bb12a3d9aa6a8bb9c22553cd72b743ce44d153d5a47c0bbbaf0443c405b473c7148df3c78419bbbd1bd443cb42b503c69327e3c63d2b7bb796f443c2851c93b0048003c2d0e97bbc23d143c18b3ebba3e6fe73a97c14bbb5eb6a03bb6a286bbfc459cbbfa881cbc15f10ebb203a2c3cd91313bdd20c82bc5fb9b9bad29e313c82bd07bd807a36bc9a4746bb427c363cbddb00bd34e426bc891f2cbb6125373c5093f8bc47bfb5bb9fb616bbb1ba2c3cb221cfbc420f47bb220ce0ba5c0a143c5ce9babc999238ba531298ba9e4de73b760366bc9f6a293b723758ba06f7753bd83e6cbbcd1c593b658628bac9c2ea3a38c1263b23ca373d51050cbe584c233d1f2f0abc3cf069bb31804dbefd6c793d29fd5bbcca3d16bd67c848bed3d9433dbbee03bccc2975bd7c172fbe737a293d13cfd2bb843d77bd0edafabdd9adc73c880486bbc3667dbdb4ab9abd61c8863ca0147abbf93445bdc43ef3bc43faa43b36d802bb297cecbcbb83393c0b032cbc35f006ba41efd9bbbcb9fa3c74cd18bcc78ef1ba5c50483ce9ea71bda8766e3e28d58e3fb08d7d3c7e1e88bd31ba893ee326893f58e5613c25368bbdb8b49e3e24e2633f502f663c22478bbd7a0ca33e51e1303fe4be593cf74b84bd7a62993e26b9ef3e3da4553c7efa77bd02fa883e04b2833e4bb9693c87ca61bd7ed44e3ede04b13d43c2493c0cc839bd4d6f023eb9af86bd977e313cc57f19bdbc28503d0b8a0ebe047a4bbee2581d3d000000000000000099c457beb7f31d3d0000000000000000ed3434bef017fd3c00000000000000006af20dbe7061ac3c00000000000000005a28c2bda91e753c000000000000000076204fbda4e89b3b000000000000000074ee91bc36ccc0b900000000000000003b40033dd8aa47bc000000000000000015a2243d7fdb21bc000000000000000095ac9bbab739c23a28c03cba3d18f33c82281cbbf5dd873ba46f303c224a4a3d7a336fbb00b2b33beb138d3ce4624c3d72ab54bba8f8dc3bf5558d3ccde2383d3b046bbb3369033c317d7b3c0a150a3dda095cbb4ad6f23b6bde593cfa61b93c8b1e73bb1237dd3b277fec3b286e323c969319bbf947a33b0cc870babed8fb398e7ed9ba47e3513bbeb5aebb91d9a3bb08ea3bbc54b48dba0ab33c3bbb8953bc6e08c1bc1b980c3bafcff83a91da0bbce24682bcece7dcba0e41453b30de39bc6cad3cbc653f40bbe3dc953b865d60bcd20f1dbc3ffcd139dfe5843bfcd65ebcecf8c8bb40054fb9e441b53bde3150bc899973babd6bf6b971c6873b6fa00abc1ac7893b33e5fab8bfc8c13a95e132bbed0c393b6ec0ae3913bda33a62dff83ac177b43c5b1f20be7a6a213dd0981dbc742a46bcc31668be76239e3dca409fbc50631bbd437d70be2112703d8d3528bc30f34bbddfd854bea66e3c3dc1f8e5bbdd455bbd42ea23bef00a113d6bfbd6bbdfdc3fbdaf3cd7bd18dfb83cc0a9a0bbb77909bd5dba4abd6bfaee3bd5b02abb489146bc219ac23a392168bc622e0f3b0bb53eba1c00023dd03e07bcd34c08bb70ac693b4be93dbc44d8943c3d48ac3f70de8b3bd9a278bc68af773d7b809e3f290cc13b3c4fc3bc8ae7e73de0a6893f21cdd33baa53dabcd1a8133ec3fc593feb4cbd3b203aebbcfc921e3e627d1c3f35f4b43bda02dcbc7776113e6b7cbd3ecf37a43b6affbfbc7acfe83da71a183ec6fb0e3b66405bbcc011893d886408bd72474a3ba5676ebcedb5c03c4fa31bbec25d4ebe9879163d00000000000000009bd453be05bb163d0000000000000000b62335befff3e03c00000000000000008e4c13be5ea8b13c00000000000000004fecdfbdd914713c0000000000000000a61e89bd902bef3b00000000000000000915a6bcf6c903bb000000000000000094f3173d662586bc00000000000000003444113d9e9628bc000000000000000000000000000000000000000000000000e6c684ba36a1be3a3b0a283c3cb5313d21112abb9913193bfc8b693c0f4d383db10411bb3167723b882f7c3c3ba9103dd4f4b5bab4c2443bd4e2763c407bf73caa0b02bb9cf74f3b4c8e353c728d9f3c5647c9ba4ec4403bfb36fe3b081d353c84c8a6ba4e46193b94841a3be0ddb33a0000000000000000000000000000000000000000000000000000000000000000478c3bbc43c09abaeeea86bbb008d33b7d3e16bc3ebfefba8595dcba60e4783bb48fa3bbb47cdcba658489ba8bd1583a8ed103bbc0342abbc8ea6d3a015922bb40c41bbb035164386c59e4b9c072fcba9308c1ba3c09813a0b7fad39184f0f39f8b221baa831d93ad0ece539437725390000000000000000000000000000000000000000000000000000000000000000e023d2bc20f958be58a0193d3e0f04bc7a871bbd0d7359be1bbd143df028c7bb650630bd0d0e40be0e9fc53c4ee217bb24b431bd39391ebeb879a13c5f9b28bb6e7418bdbe40dfbd871a7c3c128329bb294cd4bc861e76bdc82c053cafed39bbd3b131bc8e2125bc95ed9a3ac99271ba000000000000000000000000000000000000000000000000000000000000803fc8c716bb9ba99a3c4bf5acbddc73ac3ff3a23fba8c6e173c3a35a3bc55318f3f7d2732ba1588653bef8c773c76af6a3fa91ce7ba91da773a0a35163d05fb2f3f9283cfb7e073d2b904312a3d436ce83ebf331dbb5994b53a2c00fe3c7b236a3e479b5abb94d4d23be3ec593cf04c663c000000000000000000000000000000000000000000000000000000000000000058b510bea02ba93c00000000000000007a79f3bd0b818d3c00000000000000005ad8debdf8514b3c00000000000000009e5dbdbda020333c000000000000000041118abdbd40cd3b0000000000000000b6b207bd2ae1503a0000000000000000970d46bba629d3bb00000000000000000000000000000000000000000000000000000000000000000000000000000000d97f873b63bf60bcf47f153dfed569bb85d8683b7f1e79bc0bbe313d32d5bdbbb3629a3bf85e95bcb9ce243d7507a2bb8c32a13b95578abc1ce9193db99cb1bbce32823b3d7e3fbcec1ef93c6097fdbbea6e2d3b284661bbfe97a13cf41bd5bbe8dad23a4586b73a6ce12b3c3eb7e5bb00000000000000000000000000000000000000000000000000000000000000000e5bb7badf214b3ac534acbbf3cb1c3b2c3e27bbe72b5f3a1c4db6bb2528533b7eb04dba2816553ae001f7bb16a4d13bc314c4ba406e373a965debbbdf2ae139bff532ba7c630f3adfa8bdbbf5af0abc282af93a239cb0b9cc7f61bb6a0061bc599ecd3990f6d0366ba13d387962a1bc0000000000000000000000000000000000000000000000000000000000000000e5891abe87b45f3b644652bb0eb5323b33f926bec3e0573cc46e68bb61b7773ba0861dbecc74503cfef00dbb07290a3b419c08becc306a3cc64544bae868c53a0a90d6bdc167953c78bd5fba96e0143b4cc28bbdec21913c900d36bb4a31c03aeebbd7bcd7ee543c84dcd9b9bc7dcc3a0000000000000000000000000000000000000000000000000000803f0000000098d98f3c4b4786bd74699d3ff6e1e0bdc2ba253cf739b0bc611b853f14d9dabd7d854a3bfd99cd3b2ed05a3f1180d5bd028960bbbde5e73c2ddf293fab7accbd4674a3bba49f1d3de324ee3e141eb0bddd3170bb5e9f0c3d7b358a3e6a5784bd881db5bb3f79ee3c1de1973d01ef27bd0000000000000000000000000000000000000000000000000000000000000000a5f9f53c7f6732bc00000000000000000fa2f63ccda33cbc00000000000000003860da3cda6e35bc0000000000000000a1e8ba3c45e015bc0000000000000000ac789a3c9cec02bc0000000000000000c52f273c9871a0bb0000000000000000cfe0d93bbe27aaba0000000000000000000000000000000000000000000000002bd671ba698a093bfc90fc3bf5a9aa3b43e0643927f3e8b9064e183d1ee2ecbb887c613bb10816bc9ede413d93a7dcbb4a9e723b6ef352bc6555473d104cffbb73218a3b83185abc3f72313d791205bc53db8d3b1d471fbcf0f2183d6ef823bc19e2543b528a91bb6eadda3c274f33bcc800803b2bdb9bbad4e8143ced3400bc4d4e893a87cc083ab486983b5a49fabbe8f4cfba43e4c839de9bafbafe328cbca166c4ba3f1388b828fffe3b7b31efbc9a06ddba4f20c4395670dfbb75aeedbb5b5cecbabe6f0d3a5e0f47bc15e5223b6a263ebab48344384d2069bcdf5fcd3b85c50c38ec39c73832835dbc09f7203b2fbf49393b9d5bb87e0b25bc132561bbd025463bcbb99eba82600abc350f8fbb337c1c3bf1f475b950cc93bb669d0ebbaebf49bda2c30cbd7187543bd3bf94b9146e04be390d4ebc7123963a5ca69b3b24882dbe838758bb672214bb5c57633b63b52fbe8e80a63b39c5a1bab962693b268d1bbed30c243cb36d96bafa474c3b014cfebdda236f3cb059efb905ff193bd960acbda455913cb1f3d8b8c5f20e3b0d1304bdf7f87f3c115616bbd2e3ea3ae8261ebb86d7613c5f8906bb6323623a9f8d173d875716be3d729d3f6aef513dd5ae1b3d16530dbe9b64993f23188cb9d66c0f3d8ea0d2bd7334893f14f50fbd4640e73c72ec8dbdc5ea663f7dec74bd63029d3c3d2527bd13fa343f64d995bd3a636a3c776ed2bc5e58033fdc55a3bde91d553ca5afa5bc3655a03ed67595bd54e7903cd1e6f1bce5adf63d81ec5fbdfe03b53abb9f3fbc24d6f6bc825c47bdf23a94bb9759f1ba0000000000000000925f803c4b4f3cbc000000000000000046e0a23cdf651cbc00000000000000007ac9ad3c3deb48bc0000000000000000c444a93c8d3b2cbc0000000000000000acc19f3cebbb1bbc00000000000000006dbf7d3cbf18b4bb000000000000000035fa063cc6eb17bb0000000000000000bf422a3c77ea3dbb000000000000000064bf9abba413243c839fe5bb2c7b4e3c109410bb3e41db3af2585d3c559b603cb8143cbaaad8cdbbaf3ab03c2e6f143c3fa7ab3a316537bc761c1c3d0ed2203b31791b3bf18461bcad78053d5d3099b94d276c3bdedc4abc9ade0a3d7cfea3bb6ead2d3b605501bc41b9bf3c719b96bb29113c3b5fead2bbd61c933cf66920bc9d666e3bc65e4abb78c6e23bb46af9bbb6ed73bbf9f3b739114ec53b5a1017bdab05cbbba4b8fd39d2ec093cf1b305bd9d4597bbe700633aee66cfbbed34f038c32e88bb3d087f3a90d82abc1a42fe3b118548bbe320f839a89279bc1d069b3ccf500ebbd49b5d3aae9188bcba128e3c8be54cbaf466cd39cbf672bcace17f3cc9f7c33a398b25395de343bc37b24a3c4c82dc3acd292139f2cd3abc115b3e3c756e4b3c61b57dbd2994273c2b9bc2ba923b8dbd70e360bde73c263c4dca283a4181d6bdba5f31bd33b40a3ce6502fba71a814be36bdb7bc3b4aa63b980a853a017505be7bc528bc87da9d3bd6aa8a3a9170febdce3dcf3b932eee3ab0e3cb3ad87ab4bd90643e3c711f1b3a17c1753a40515fbd3d17ae3c5648f3baec30a83a1c8996bc140b933cdd4108bb9a8cc8380718283d2fed1dbedf98843f72b8723ef4c83c3d07512fbe01f7883fc198203ea2651d3d3c3306be4e7b713fe9eed03d66d7293de41900bec8ab5c3fd5a0df3c79fbfb3c014dbbbd6d14303fd92128bc6e6f003de3d3a8bd97a4093f678b61bd66f29f3c0fde5cbd769ab33ecd898ebdd911ce3c86e476bd03d73c3e77eda8bde323433cad8f1dbdc607113d0bb898bdc99426bdddd7853b0000000000000000c168c9bc40289bbb0000000000000000cfb85fbcac0e76bb0000000000000000325ce93adc6820bc0000000000000000e7a0aa3b81cf0abc00000000000000004afc6e3c55f42fbc0000000000000000dc2c6f3c65011ebc0000000000000000d0c3983cd8ef05bc00000000000000007157843c1ed9a0bb00000000000000009aeeefbb5112643c2179a1bc7182a73c5b6d30bbf7a2973b39a171bbf338da3cde43e5ba274f33bb9da6543c93fbab3c220373baf0fd01bcf0c7ce3ce4b4353c822b1238e02865bc47b0f33c7975043cf4bdc43ade6536bc2db4fd3cf766e2baf8cd473bc2b125bcc12ed43cf2f391bbc0cefa3a7e39e4bb7425b43c6e813fbc7988e13a6a226dbbbdbc383c00ae2abc42eaa6bbcc54cd3941a3f03b10b72cbdc51725bcc9e6cb3acb2d153c83712cbdcdc305bca36f973a97d805ba21555cbcd45fbebbe62b633a07d9eebb74cbb43bd5d69bbbd3c9003aa1c062bcd237af3cd291e4ba33726d3a18ce7bbc7a5db53cfcce0bbbc4fea0392fdb87bcba3fae3cc5c506ba5357d139aee976bcdd78a63cfc55963a31b68639102a60bc043c9e3c462f5d3d2c67b6bda1df743c5e1885bb1dbc4ebcf786c0bd14cd993cb16270bbdab59dbd530f97bd5879613c6a8dddbad8aadfbd94804cbdb60e2b3c006fc9384240fbbd0c36f0bcd0f4f03b0df437b934d3eebd39eaefbb435a853bb18887b996c9c2bdd9381f3c6cb8103b2f45e73af04e8ebd3bacd43ccba572b9f080333b1d3e14bdc892df3ca8135c3a80fccb383bbe133d1a5a12be85b7583f84fbdb3e78c3393d659e27be5805633fe489b03eb8dc383d175b20be72e8593f8c5d763e62a7363d021914be09fd443fceb2113ed14d313d6b9203bed383293f181b753d8f3d203d9d3ee1bd175a063f3f35f8bb36b90e3d46efc4bd4dd6c13ec97779bdcdeeff3c6780a2bd1e4c653e125bbcbd6b482b3cf6603bbd7173a73dbc6ed5bd5b2ca0bdaa48733c0000000000000000d79487bd7d1fbd3b0000000000000000027e29bd84dfcfba0000000000000000d28eb5bc7c80e3bb0000000000000000a7c31dbc32f508bc000000000000000064544c3b9bf52cbc00000000000000001a32503c215a3ebc0000000000000000b8cd913cf5af58bc0000000000000000af81883c40751fbc00000000000000001717ebbb5f10823c1d12eabcc2d3db3c906591bb4bf70a3c2c6ea7bc8023233db1c206bb2ee92e3b431e95bbcd08f33c92fa41bb3f64b1bb34d5333c8cbfd43ca2165f390df205bcff77003cfacc663cc7cef33938ba1abcaa15b73cb2f80f3cfd5ec13a64ee10bc30ddbe3ce15942bbd0970d3b9b7703bcced6aa3cc0bf09bcdfa2333b1e5fc2bbe9bc563c757a0bbcb5f4b8bb497afe3976c4de3b14e949bde0c93fbc3ea9bf3a51f0463ca1af39bd659b25bc4713cf3a81ba54ba62488fbc47b821bcf9258e3a04e0a0bba3f1873a62808fbb468819394fb986bcf895cf3c74c5f1bbef439b3ae1cf79bc3189bb3c2726c4ba413458383cc555bcfd03ce3ca7b733ba2957833a6c786ebc8c22ba3c3ef3fcb87300883a13b867bc131cbe3c21c4a63d42c5dabd4003643c742ab8bb50f4d93cdb8500bef568c93c12ed00bc626a00bd6baed5bd6ce3953cb38b80bb60669dbdc3c2a9bdd26f843c182426bbcbc392bde9ab5dbdca132f3c1c96bcba10bed9bdc0a8abbc371c2d3cd16c5f3a30f8b9bd5d38a73a19eb7d3bbe57123a082595bd4362be3c44e5c6b9b586b33a878c31bd747dd63cf28e64bad3349dbab836023da1c6f6bd216c263feb53203f18cc193d433c0fbe6415303fc8480c3f0f7e1d3d3d2a0bbec1fb2b3f286dd53eef18443d725611be98e0263f1b4c913eb711f53c6d52dbbd2991063fcee03c3e1fc2303d6f00fdbd21d4f93e5c48643d94be063d6b21cdbd1e23b63e0e6998bcc496053d6855b9bd42ea703ef56eb4bd23cc7b3c28a35dbd7b49db3dbed3f0bdab0cdebdea6bc03c000000000000000077e7dabde0d28f3c0000000000000000fd419fbdd8e0213c0000000000000000688b5cbd4db0913a000000000000000029f11bbd188f473b0000000000000000325894bc3cbe3dbc0000000000000000041b2eb9cc2a15bc00000000000000009e32893ca0156dbc0000000000000000806ca63c240105bc0000000000000000308ed7bb0d57843c2b4df4bc37cdf73c8d8366bbfee61d3c2ee5dabc9b17463d8e7dc6bacb879f3bb31260bcc9552d3d368c18bba86b123bfc57aaba4ea70c3d05ddacba531f98bbcd5e0b3c0524d53c0793ccba32ceadbbcb6b973c205e2d3c267fb5393703e9bb7f19b93cc404903a9786e53a3955bdbb9287a93c1d631ebcd499703a75608dbb49695f3cced1f5bbf697e2bb7f09cf3914e0483c6d015fbdaad36dbc297a203b78086d3c2c1652bd57af41bc66c6f93a0a49be3b4ee7ecbc65cd3cbcc886f83a69171bb7f88743bc16fc29bc42c6b93ad4a3b5bbdd2ac23bdfd0cbbbe8e1a53a4df3b5bb6c10753c522882bbc39d643a726f08bcab82983c4417d5b9ffe4b03a948f2cbcfdf5ab3c7a2ce5ba15b7793a059f38bc7797bc3c7d07ba3de661ebbd3076783c0863d0bb4b0c3c3dbc661abe4abee63c707a2bbc8bf503bc1d630ebe3579d33c4d0f10bc9db232bd7e0ee6bd158fb03c7b48a1bbee0194bdc912a3bd3d2c8f3ca64c27bb9feeb3bd7ee725bd7779183c16ea98b94274b5bdbbb70bbc9289b23b32de6d3ab16793bd0cf1bc3cbebcbd39b17b623adc9e3ebd44c5db3cb2169039c54655b9ece1c83ca162b8bd10ede63e4dde523ffb52e93cc1eddabd55d6f93e383e413f4a98fe3ceec9e9bd2edd013f5b3e1b3f691a143d1818f1bd4279fe3e9fa3e33edd61203d963bfbbd5203f13e5aff913ec6d5193d930df1bd5980d13e3d28123e970f143d7845debde2a4a73ea47db53c334e0b3dec5cc0bd90b7633e6e4098bd04738a3c19b57bbd264ced3d6b43fdbd6e3f06be1867ea3c00000000000000006bfd0ebe1adad23c0000000000000000fcfddfbdceda883c000000000000000005b6acbd5474013c00000000000000000f396abd21be373a00000000000000007bbbdfbca4b1d5bb0000000000000000aefed9bbad1b35bc0000000000000000432b503c3cf983bc0000000000000000045b913c185d14bc000000000000000011754bbbb59f423cd1f6e5bc7dac0a3dff7004bb92bd213cc863d8bc5178593d50895abb984e083c6d62b8bca3604a3d61220cbb1a35523b2e6f25bccd03383d2d63f2ba493cfb39962b21bb8b14f83c6fd7c5babb43fdba2831243cd43ea63c7a09c5ba48f64abbba14463c1402113c2fe9e43986444bbb1a138c3cddb1ebbbeba7b3b9e7c572bbda35453c3ad10ebc23cf27bcc884e83aef20623c352555bdd44e7cbc9c66403bef5b6d3c655442bd371c78bcf3e9173bb68cbc3b31ffcfbc8d3954bcad93053bb7fbbd3b367192bcf95126bc8394783a37857ab9342f22bb85db07bc3611d53a6b1334baee84803bd52faebb8951813abc229cbbd32f683c7157f0b95cf5723a39228bbb651b673c469cefb91cffe93a631d8fbb9ad5903c65c6a33dc98cf7bdf6d79f3c264608bc74703a3dca8c2fbee631013d09c760bc75cd653cc5a022bef7dee23cb42b0bbc3e56abbc66a613beef48c73c5e8befbb193723bde44ad1bd8b53983c884432bbb9ca84bdd7b887bdfb536b3c3198f7baf7567cbd5f71f2bcb6f3143c6f4222ba8a1584bd8d14913c2d0fe0b85048043b5eb52abd3dd1063de37c0dbb67e89cba32b61e3c14d249bd1c47813e5d22823fb2c43e3c9c2879bd0a82913ea562763fafa4b23c14fa99bd13eda13e1157473fbedcba3c67b2adbd261eac3e25881c3fb060d03c413bb5bd1bdca43e3e87d83ed794eb3cdb73bfbd07079c3e75c77b3e1314d13c379aabbdd0f6773edc59ce3d95dbe23c6c0ba8bd3a82393e51f542bdce128c3c15db68bd2f96c43d8639fcbd9a7012bef8c1f73c00000000000000009f9324bedde6033d0000000000000000541206be3276cb3c00000000000000000079d9bd419c7d3c00000000000000009dbca2bd40350b3c0000000000000000235e49bdd79f20bb0000000000000000c26fe0bc258094bb0000000000000000393c1d3c89d08fbc0000000000000000d8cc8d3c2f9e38bc0000000000000000c60480bafa7d063cf93ab4bcc46f0f3dc87793398edadc3b0064a0bc4c2f773d5e10cd39300bba3b6a2a8abc3fa36a3dc9bc1cb9effe683b7eb65abcb4e7553daf9c6aba26321d3b35ffedbb40e6293d9e4caab9332925399a70333b7133e63c25f9e0b9a67500b945561f3c58233e3cbacc79ba6030a73a6d98383c1c2e9dbbeeda0939f5a968badb43293c6af006bc498d33bc0ba11e3b195d453c7e4a28bdcba7aabc52a0c83bc058153c0679fabccd5785bc119d563be07c063cfadae4bcccc862bc3856a83af131a63b8aa69bbcfcc241bcda6ed43a7bf5983b55f446bcaba033bcc6e9e53a08d32f3b4420a8bbaf8ca1bb49e38439fbe21f3bc1139e3a5464ae38ccde3c3a8213663be8c7363b97a13cbadf3d653ae650ecba1304173cb7986d3d1f2002bef0ef4e3ce61514bc1024b53cecca3fbea09e133de8318ebc9879043c026942be3d11ea3c1cb93fbcfd9df6bb4ffe2dbeb657d63c82cc06bcb082b5bcf0600abea75bb83cd998bdbb97d820bd84edbcbd3e69a93c9c0a4dbb78f247bd49cc35bdf283473c709f17b8ad9338bdd907083c2aaf913aad5a033b5d960abdbbc1ee3c0c6d62ba7bf7aa3a6aab6aba6bab17bc6516813d98ff9b3f27fca6ba565424bc85f4c13d48fa913f42da4e3b1b35eabc009b113ec704773f58f0393c15c62bbd0392303e7b6b433f04b0523c4cc54abdb6c03c3ef6670e3f0ce6863c562f67bde2e1383ee887b53e96d9593cb3a660bde2981e3eeaf0283e3b27423c3bf943bdf4cdd43dc813b7bb2e844e3cc73e2cbd728b8c3d91b6f6bd548113be64c5053d0000000000000000c82621bef6cb053d0000000000000000e38f0dbed09ae43c00000000000000003cc7f4bd0f94ba3c0000000000000000b965c2bdd7c6603c00000000000000009a1091bdd80f823b00000000000000006e2b1dbd9726bebb00000000000000008bc1df39172883bc0000000000000000abb61b3c4d7a40bc000000000000000000000000000000000000000000000000bfa3e93abf38843bfa1990bc62ac263dda8a403a3e0e793b2a3f9dbc112d393da38ce3399b6c803bdd4aa5bcbaee2b3d78f10dba766a343bf7b085bcb470113d6a098439e6371f3af1b4debb61e5d43c102e07ba7ad0853a6e8e54ba17368b3ce03f9a394db3c4396a1b943b4b0f833b0000000000000000000000000000000000000000000000000000000000000000a5481cbc5add213b3133b23b163895bc070507bcc08da33a3249973ba00a6bbc0aa101bc80ce723a0cc1b83b90d56fbcc308d8bb14f4bd38370a573bddaf23bc2c99cebbfdd60d3a6b158a3b9bb4bebbb001abbb2ac7833a21c3963bc0ec97bbda9212bb933dc238a246593b338986ba0000000000000000000000000000000000000000000000000000000000000000377f7c3c02401cbefc93343c89d306bceddf053cb8e622bed6d08c3c91c909bc97bbe43bdc2316be4a394d3c56d578bb6951a2bad20ffebdfe0e563c7e1a44bb78a135bc9954c3bd278d4e3c70ba6cba3b62b3bc4aa264bd64752b3c31bd77ba72b9cbbca2627fbcd27bcb3bb30fbf3a000000000000000000000000000000000000000000000000000000000000803f8cb9fcbb5b368c3c251e55bdb6019c3fc71339ba0703b53bb8f672bbcccb823f32c3183b83e434bc3ea5063d46f4553f800de93be5779dbc9f26623de84d233f0a85df3b5061bfbc8ccd7f3d232de33e8c3ac03b6d6fb5bce8d46d3d9d767d3ef7f9d03b6761bbbc2ec3443dbb31733d00000000000000000000000000000000000000000000000000000000000000001caee3bd3330be3c00000000000000006cbfcfbd67fba83c00000000000000004a96c0bddfa2823c00000000000000009785aebd3425713c0000000000000000713c90bdc3e9023c0000000000000000d09e41bd626ba83a00000000000000003fb6d2bcdb2b99bb00000000000000000000000000000000000000000000000000000000000000000000000000000000f71045bc8257a73c2d673f3d86e5263b3b5468bb057cab3c707c2a3dc26aa83b17b537ba05cdb63c02e40d3d4bab133c903ddd3af7f99d3cf929de3c328dd93b4dd6163bb094823c0c2d733c6479d53b37ded23a2a392d3c42bbe83b3495983bad6c803a5188b33ba26649bb5b96503b000000000000000000000000000000000000000000000000000000000000000070cf11bbcada98bbc580f73bd6f65bbb95c9763acbababbb82fb3a3b3ce0aebc24d4ad3bfb95bebbe765053ba0dc0ebdf1e3d33b5c2ecdbb78f5f6ba6a5709bdb775a73bb66567bbbc8632bba11cedbcba85903b70933cbb957c9ebb4bf091bc3a2ab63ab24b90ba84f0fabbcec865bb000000000000000000000000000000000000000000000000000000000000000097e07ebe85020b3d636c2bbb314c6bbbfb106ebe7d93a23cc9a04fbbf6d4a0ba26745dbe961e053ce6b522bb54c06fbb39aa32be5a65103bcbc8c4bb418f203ad7cdefbd81df5fbbce16a8bbfc886b3952d972bd65140ebc0bfebfbb85945e39c3d9eebbef850fbc7a32b5bbb4de863a0000000000000000000000000000000000000000000000000000803f00000000a650ae3cfca7f4bdf628af3f109412be684e133c77f052bdd7f68f3ff53bcbbd0088753b6d67bebc5f1d723f9c3bb3bd5a122c3b305c1c3b713e333f1be979bd51f80e3ae922a53c0bc5e23eb36dfdbc00b6f9ba4e7eea3c9cc5593eedc4d6ba1fba4c3bab12c43cb7e922bc1d98d33c00000000000000000000000000000000000000000000000000000000000000002b2e013dba2f57bb000000000000000037b2ac3c0ffad53a0000000000000000974f973c9e21823b0000000000000000f838813c76e61c3b0000000000000000eb871f3c11bd5b3b00000000000000008216643b3185a23b0000000000000000153c64ba5e63683a0000000000000000000000000000000000000000000000003d5767bcdf32773cb3cf833cedf02d3b53476abc85afaf3c1349033dd4ca133bf7f60dbca890e33c7a3b213d9483253cbfc796bb85e6ee3ce0dd0d3d19c0413c37f97ebae212ca3c6a71c73cd82a203c160b89bae3dfbd3c2f88623c94dd303cc30ee2ba47d7873c28579b3b3543e43bc54f8aba1d060b3c8b0ef9ba361b963bf16881bb4107873b158d0abc76cd86babf9d63bb92b18dbb3c3b823c27a7cfbb6da500bb106042bb9da9573c191a5ebc0633963ac84705bc2b966f3cde9a12bd9b2a933b92a81bbcef1d323c608528bd107ed43bbdacd9bbf11aa93ba02a24bde387b53b908cefbbc2b11539f11e07bdad1bad3b9dd9a6bbd2da55ba292fa9bcfbbe6c3bcecb46bb2e28eebb54beafbbbc726ab8094620bb48c8debbdc3c533c9c4af7bd6d1c753ce1b9c2ba19f6a6ba74e835be31a9683c5f67e1bb305dbe3a73e96bbe8395a23b3d6696bb777c1fbad16062be63f733badac2fcbb6ceb633a255d36bec0be77bbf47cfdbb43350cba885307bebd0f16bc7e9906bc4b28f43a2ae58bbd456449bcdc36c5bb28ec1d391b7fc9bcab4239bc8cf58dbb7cbe623b1e368e3c3682e8bab10f50bb5fa3f13a54f14c3d081772be59b0ae3f727302bc7ac4123d9f1b2fbe46be9b3fa4b5e23b7e54be3cf15f13beb605943f6a5fb0bc54189a3ca73ddabd88df773f307ccdbc9eb6773c520f8bbd39783c3f25e8b5bcdfdd3e3cc1041abdb5def93e5c7fc6bb428a173cec2a85bccb76793ec07ce93b2570103c6533bf3ab0a6713d9552b03c353d823cbfd64cbcc3bce1bdadc5b93c0107453b59b336ba000000000000000070f087397856013b00000000000000009039013c044e933b00000000000000006c1b0f3c2c080d3c00000000000000003ae9073c9489f03b0000000000000000a82db03b5901073c0000000000000000ce5ec639575d003c00000000000000003d0e9ebb9787a43b000000000000000043760abbb6b20c3b000000000000000021c71fbc4246183cc9eae13b35f0033cfc0a19bc72dab33c7c20903c172b5e3cdeddd8bb7cf4e33cd9f3c83c41fb873c7db86ebb3785eb3cfde7c93cb29e813c747beebab111c03c7fc5833c4c2c5d3cec0ebabab4d6bc3c56ad0f3cafc6403ca8c544bbed458d3cd2994f3b0813c83b343c95bbc31f433c9a2c77bb4b22013b4affa8bbe4279f3b7cf1c7bbe78e95b8e82595bb831d51bb45d7893cd047c0bc5c4753bb7b07e1bbd893b13c933f17bd66aa583af3f21abce89ca93c1f8151bdf51b993be0283abc3510973c591558bdbda3a73b906515bccbbe393c37d543bdaad4eb3b364622bc4ca3f13b9a8416bd1d28b63b9b8503bc1960973a899eb1bce5df893b789adfbbfabd7dbb0e10bfbbbd689339abaca4bad7ff43bbd488d43bc88341bd19c047bcb63945bb14e7b83a05d712be9d3095bc1f3c01bb50c4e93a833b40be0c08a0bc610a92bb6651e539f06f43bec756a1bcede5debb3063333ba5ab23be92228abcbbe404bc4c0aea3ad73efbbde45d6fbc012d17bc758d513b1c968bbd70bf3ebc17970ebc7927963bddcae3bc07be9dbbdf62e5bb5fb1ad3bfa3100ba7c0ff73acd6985bb82ee8c3bd2b8393d21a45fbe81418f3f16aa553ec186293dfdd262be1cb9933ff6e0233e3715023dd1e53cbec2238a3f17e7d53d683fc63c5b2c1bbe97656d3fabb5843d0f9cac3c3666dfbd390d393f101b1d3d5fe0933cc330a7bd02d9fe3e31c8bc3cb1b08d3cee6e4bbd8bdf873e39e4683c755a953cb0e3f7bcedaea53df676ea3b90c6983c1e77e2bcf9e013bd07ebb4bbee1035bd5f5ec63b00000000000000003a5513bd523d2e3c0000000000000000ad4995bc2ce3313c000000000000000001e02abc4d31473c0000000000000000cf4e66bb364c3c3c0000000000000000396d19bb01b2473c0000000000000000848d79b9d2641a3c00000000000000001d173cba41f5e03b000000000000000055e083ba91373e3b0000000000000000b7f2a8bbe4d1533b33d5793b9283723c4cf811bc8eb8903ce281783c28f69b3cf192aebb34ded23c1a569e3caaa9b83c359451bbea58d53c35e6863cac05af3cb0b7fdba1243d93c55ef513c0782933c291ba2bace7fbc3cc673d13b53c8573cb6063abb3d558e3cfb7f293a206bf73b105177bb72b14f3c0da1aebbb1e9973bebc985bb15fde83b9a34febb880615394361edbb922bc0bbd688b03c48381dbdabe97bbbfad4ffbb63b5bd3c908126bdab47e137963117bce8a0c23c08e560bd52514e3b36f837bc53a8b23cc22578bd32c4573bc0c113bc0fa88b3c5e535cbdf8d5f33be3cb29bce174183c0c442dbd8ed7a23b6e1000bceaefe63b401fddbc123a093b7992c4bb559fe43a17b845bc52302f3ac44b89bba425fbbafcd793b85a1d87bcb1553abdbbbaed3b6dcc353b6041d2bd40a77abddcbc9e3b0af36c3ba31219be11e577bd2da83f3be654893a6ce71bbe332143bdb1f99ebba92b243b5e4712be328a12bdcd14f2bb4e32453bab0edfbd0bcfc9bc4d380cbc25324f3be6c289bdb3dc3abcbfaf1cbcdf49773b4c39ffbcb0464dba5634f5bbf83f6a3bf8e5e3ba0cee173c78e9bfbbb546893bf286143ded0151be5e50703f181fe13edaad1e3ddbb658be4195753f7484c53e4917e83cf7943dbe94466c3f4afe953e11f9b23cf06b1cbe653e503fb0414b3e6838a63cc02b02be65ed293f6004f53dfb218e3c298fbbbd5803f13ea589883dcd99863c8f6086bdf0978c3e0f6cb13c1dc8973c3c9230bdf9d5dc3ddb033cbc83ed933c4ca520bd4dbde6bbf5eb1dbd9d3ad0bd4a5a923c0000000000000000011cbabd5e36ad3c0000000000000000452182bdcb9da83c000000000000000092071dbdfb56a03c000000000000000055e8b0bcbfdf913c00000000000000008cf31ebc0ea0763c0000000000000000816120bb90e7433c000000000000000054431d3b399f213c00000000000000007f31eb3bd47dbf3b000000000000000000b9afba17f4033b32efe23a1c29733c8602a2bb78a1103cbbc52a3c8c15d13c2c9628bbec7e7e3c3dfb8c3c42c0d43c917918bb2b90b43c8339633cc2bac13c28edd239dc0c8c3c223e0c3cd9658b3ca0bee1ba6899ab3c282cbb3af458783ce3a985ba61cf643c75dc87ba9a5afb3b101d7bbb0fe1293ca85ba8bb41e8ec3a9ac316bba3fb4e3be67404bc52117fba2635a4bbc7a4e7bbe048903c0b991ebde52562bb226bd4bbab06ba3c792e2cbde6a3df3a983622bceadaa23cc4d54fbda067353ba62243bc40b7b13c442d69bddb23863be88d0dbc3f177d3c9ad656bda5b79f3b40fb1cbccebb7c3c081941bd3218833bc4370dbc0b18ea3bab10f1bc1208343bbf05febbd93a203b6e417abc17de5739f4c483bbe0f5a23abc1b3ebb3240173c5b3aa2bd3e42683c2093623be3d573bddc29dcbd7065753cc954523b4255d8bd1232e1bdf6830d3c1341513b93e1f7bdb57bb1bd93e2263a19b2983bd455cfbd0bb377bd148417bb3437193bcf54c1bdcfee06bd00b11dbca653503b69586bbd8acf62bc96d616bc9e8c873ba74fe4bce7dd303b3d68cbbb3f055e3b2793b5ba422e803c305c3abbc9a6353b0e72ea3c4a1526be2976313f6265313f1cdbf53c1c1b2fbef1103a3f5c8c213fb2e8b23c44161ebe2937373fe95e043faac39c3c462e10be72dd293f2dccbb3e1358523cbcfbd4bd06390a3f29126f3e93b7533c2dfdbfbd7efad73ee30ef33d5243653cd8c486bd689a843e93340a3dbd02973c94eb43bd37aaf43d8940ddbcb706853c097311bd61c0713cad4994bd03891dbe881beb3c0000000000000000549816be2421003d0000000000000000b210e4bd9949e43c0000000000000000540093bd6a8ad93c0000000000000000aab72bbdc623a03c0000000000000000382193bc598e963c000000000000000074b10ebbb8db703c0000000000000000282c033cff7f0e3c00000000000000007298453c306dae3b00000000000000008d7db1ba81e605bbaee7263bdbdd923ceecb58bb31fcad3b1858093cbabcfd3ccd04cababdf41f3cbea2643c6035083d451f8eba279a613cf817513c83c6e23c3c6480bab3f7863c4ddbf43b4763b53c9ca6b23a62d37f3c836eb73ad1cc853c76cf35b964ab523c58c8543ae43d023c01459dba303c2f3c3042a9bb3a0e903a227517bb3889593b3fa8e0bb4d4a0ebb7947bfbb1e4ba6bbc7605f3c7396eabc76d5f2ba7c372dbcbb55963c7f320fbd5cd5a73aee113abc5734943cbfbe19bd8d09563bed6028bc1fa39a3c9d2330bdd3bb903b4eca0abcd48a793c8f1a32bd0d939a3b0b5906bc2deb4d3c8f3a28bdbb43c83bbaa340bc2d43103c3a93f6bc89b7c93a12bcc3bb118a393bd6a18abc8d85823a9108c5bba52a2d3aa1ce8dbb89b4d13c8a6fd4bd686c923ce7f7ca3ba44ffabce8cc1dbead87e73c2f94823b56b393bde4f622bed1b59a3cae516a3bd172b0bd3df606be1daf1b3ceeae243b0741b7bd3a69bdbd5df8aeb9a08e383b5df098bdfc3158bd81ae98bb29c2e0b9807359bd3264c5bced62f0bb8c0b283ba4e0ddbcc4c2513b50cd99bbaea1433a9a1704bbcf0e9c3c0ae303bb3bc6683ba5f0693c0f9ad9bd3ed1dd3e6970703fe376823c8e4cf1bd72a0f43e7ac6603f81d04e3c08faeabd1c26fa3e12da3d3f38b32c3c7455d3bdbe84ec3e24e50e3f8928183c4552bfbdd562d83ec82abc3e4f2d123cd0baa0bd749cac3e94c9493e466b1b3cc11172bd516c6c3e945b803d52154b3c34ef2abd313cf23dcd0dfabcdd165a3c967004bd08d9fd3c66ddc6bdeea349bea95a183d00000000000000008f2449bec0cc263d000000000000000033a91dbe8e88163d00000000000000001517e2bdb8a1023d0000000000000000247e89bda0d7cd3c0000000000000000111803bdcb77be3c0000000000000000384f7bbb394c813c00000000000000001127553cd0380e3c0000000000000000bd1b8f3ce31b963b0000000000000000f46097baad15d4bb4bd0713be1219d3cb7ff00bbed7055b9a3aa113c446f0d3d5f7f92bbf251ac3bd8187c3c90d11b3d5b3fd8bade92203c811d593c5e910c3d2a7f053a8b5c373ce8cc113c68ccda3c46ad54ba82c3503cd4209a3bbe99903c4cf448b9c8e7143c4090033baa8cf83b06ada4b99edbde3b69e124bbec2e093b8c1bbaba3a3d723bb1e0babbbf2559bb98a4b9bb5f7de0bbf50e1b3c594ca2bc2f0011bafc8027bc19774a3c463a9dbc7aa0ec3a42591fbc5663573cb5c8b3bc6246403b51c01fbcc9fd583ccbe8f4bceddee53af42107bcc2a9353c8632f8bc5b9ea93b497d30bc3acb1e3ce447f8bcef81263b1a21e3bb83a8113c9902cfbc2183123b0703e3bbd03cb13b9ba58bbcc54cd1bab67d39bb36706ab97df4d9bb745c093d22abf0bda47d023deaaba33a822016bcafce44be6d58123dc94eea3adbf532bdb66d54beab9cf83cee4c423a09436ebd7b7e34bee62d7d3cd2fd073b7d687ebd9f9a06be061f0e3c117aaab9ce9d69bdc718a2bdfdfac3b969f5c03980df23bdb873fcbc61f9a5bb6e76acba1df1acbcdfc4bd3ae80eb7bb20dbbbba32572dbaf9b1b33ceec104bb4f70dd392306bc3bcf1153bd251f543e0b278f3fb310a73b9b2c81bd5cec6f3ea4288c3f4549583b1a5580bd4ed5833eefb3733f5987003b05287cbd8d2a893ebeb63d3fb749243b677a62bd0bfc803e19c2033f605c523bc28d47bd573d663e2c78953ee178933b9f842dbd02cd2e3e5b61d13d013ea93b4937f2bc1e77ca3d1afcddbc43c5fb3bad34a4bc4f980b3df56adbbd8cd65abe45d9323d0000000000000000f1dd62be62b6483d0000000000000000c8e13bbea867313d0000000000000000d43f0abeb7fa133d0000000000000000e3bfb5bd8930f03c00000000000000007b932dbd66e1bb3c0000000000000000ad66bdbbc970703c00000000000000005d57833c2fd80c3c0000000000000000ab07d63c1288fc3a00000000000000000b3b82bade70d0bb3fa9193bddf9da3c944532bbc5a399bb46e8113c84202a3d576b46bb3be495b6886e5e3c7365393dfaa82ebb4952983b9f02833c57481c3d4a37fcba0cd6ce3bcfcc3b3c3458ee3c7ab5a4ba4cea073c4b93d23b30d59d3c2877dfbafbc2093cf58fc13a0c2b253cf1f7efb9ef7aa03b253b70ba52f8713a11128a3a39b3463af66ab5bb0ff0a5bb01dc49bba8fefbbb60317e3b64b7503a1eb875bb33fa36bc75e3e23b43f788bbb2c42d3b2b39fdbb3d1bbc3b9d2d83bb14588c3b02be20bc3dcc103ce6882cbc830d8f3ba763e0bb4a62ee3b467265bc755db23b7d5be0bb8e48ef3b356f85bcc350483baf79b0bb4533f03b3cc27fbcd2b1f13a01e33bbb41d0a03b35633bbc1675c5ba841b14bb53143d393cad91bb0055b13c59f023be55c2313d7237633991cb523baa9454be1c564d3d6f4d70bbc3aae6bc3cfb75be8ab8043d9e8a2ebb3fd026bd38755dbec07bc33cb25c5cbaab6730bd013b26be5418363c562ed7ba2b3828bd2887d8bde7f424ba5f4525bb25faf0bc0ba644bdc1f0c4bb17e02cbbfc0393bc3764b0bb8e8ef9bba67e11bb593eab3b2a49063d0c2106bb6a4c39bb4600bdbbb0e9d1bbaed656bc50c0ae3f6ac686bb4fb296bcecb9583d62b8983f1a804dbb6de8b1bc0e05993d226e8c3f2e41a3bbb7bcddbceeefd13dca21613fe98181bb7168c2bc782be53d1f4f213fa4b724bb7aecd8bc3bbfe73d4322c73ee161a2bacf5eadbc098dc83d3aef233eebe5aab8291f8abc22e78c3d2757a43b026ffb382d911dbbac308f3c44dd17be4b2b6dbe6e513d3d00000000000000000d6144beb316303d000000000000000040a02fbe912f223d0000000000000000a50109be575a0c3d0000000000000000d63db8bd22a3d23c000000000000000060cd3abd284aa43c0000000000000000f891e5bb859f583c0000000000000000054ca73c735e6e3a0000000000000000db18123d5cf984bb0000000000000000000000000000000000000000000000005ab685bbb40b9fbb03a4583cdc0c413d6bec19bb1090c3397360833c193c313d40b5deba14f7ad3a51547e3c8cf7083dc64a8fba687ea43b2683583c8435e03c89ebd0b9f4ffc03bcdf60d3cf4e6903c5973ae38bc94773b80118b3b1c94073cddb2943adc1eb63aa3dd033b3140c9ba0000000000000000000000000000000000000000000000000000000000000000d048e1b950d0f4bb333670babf747f3c80231c3bab7acbbb7fb8273bde3eb93b579ed83bb470c9bb083e383b7b4ba03b99a68b3b4671a4bba7c7e73aa104ddba326a503bcc2354bbe02c3d3bc3387ebb420e343b67d654bb08ce353b65eb96bbbfb2a53a95dbd9ba467a423a10968fbb00000000000000000000000000000000000000000000000000000000000000006ce446bce64b7abe79c7283dea7785bb2303efbc035c6bbe14dcd43c6b3d91bb12d61bbd3d8e57be7bb14d3c81e19ebb82dc20bd7c4b2fbe2462243ce1f7dcbbe96b06bd15a3e3bde44ef1393fe3babb6738b6bc7a5a63bdb20a9cbb25c8b4bb704fa4bbd5e5adbbe2a562bbd523a3bb000000000000000000000000000000000000000000000000000000000000803f85c808bc4ec9873cc445e3bd7982ae3f24ab15bcea5f483bd4a725bd3832903f4335e8bb0f13c7bad5ff86bcd933723f6a64c3bbc7050dbb55c7243c41ee333f9bb5dabbbdd0fcba4e28c13cf7d0e33e1a96c9bba67a00381de9f53ceca65e3e93f282bb2df0973b42b3903c677bc5bb0000000000000000000000000000000000000000000000000000000000000000ced316be7ee2f13c00000000000000000650d5bd62b2c53c000000000000000096fbb9bd6f78bc3c0000000000000000430689bd96f8a73c0000000000000000bf1b11bdae8f6e3c0000000000000000da0aafbbe489ef3b00000000000000001046983c9fb84bb9000000000000000000000000000000000000000000000000000000000000000000000000000000007d4e62bcd89dd93cbb7e4d3dfe63b7bc30aba4bb5794cc3c1f4d4a3d96b59ebc80c536bbb60fd23c73eb3c3dca6f84bc835fa93acd2caf3cd533223dba4860bc13a9283bda7a923cc91cc23c2a1b07bc2863863bcf43223c92ee413ca85f31bb48ace43a3c232d3bcc1ad0b831c4b33a000000000000000000000000000000000000000000000000000000000000000046338439563b063b9fce853ce9d5d8bc6aa60d3bf3abfe3983c6c03b8f101dbd6c5dcb3aae0c0f3a79ad7d3b6fc04cbd242c183a9ae18b39daa84fbb1adb41bdb5cb0a3a353df63a23cb38bb42ff26bdbb3c05ba69b4213ba9c90dbc1bb4c4bc5eda55bbd11b5b3b9947efbbd945aaba0000000000000000000000000000000000000000000000000000000000000000bab57dbed0a49b3d08cdacbcc0b7013b585f70be39068e3d5f29c2bc7638843ba4ac62be2cb86e3d840ca9bc25d95a3be18a38be63104c3dd64a9bbc6035743b9b46eabdc3b5eb3c5beb8dbc5be9603bb8ed78bd3c17403cb52f44bcce12853b7cd7e6bb0b2d75bbf939ebbb646b823b0000000000000000000000000000000000000000000000000000803f00000000e1e0573c9cb0cdbd17bcaf3feb821fbe66d7ca3b45ba00bd4442903f38b200be6d305a3b9f78b5ba4372713fff01ebbd41c1f03a77d4c03c25e9303f7a31b6bd40d6573b342b153d06d5db3e03064bbd04f1ad3b4a3f0f3daa934d3eb95af9bb4e20373c271a833c7d5fc6bc52490e3d0000000000000000000000000000000000000000000000000000000000000000f3bff23cff7f75bb00000000000000003504c13cb7da23ba0000000000000000a7a5a93c6761c13a0000000000000000ccd07f3c0f74183b00000000000000007a51133c3d705d3b0000000000000000aff420bbe1724b3b00000000000000006e5f35bce4959e3b0000000000000000000000000000000000000000000000004f4d77bca712be3c1e58003c174a82bbc17f8cbc56cf103d2267b73c4f484fbce69530bcd7071c3d7ef7273d535a8abcd56ef4bbb4fe0f3d714c343d365e82bcdc21aabb84ecf83c8705173d0f9b64bc4a5a32bb6aadc43cf835e43c53f827bc6cccefba5182913cd5fd813cb26fa9bbec7902bb2026133c44049a3b02654ebad2d651bbbbae00b50bbd2fbb30c9d73976166dbb3327483bc46eeb3cdb6520bdaf16b6b9725b4f3b3b47df3c323e5bbd04aee7badb15713b1cc0ca3c6b158cbd56318fb90abeff3ac05c8d3c782b83bd3d9106ba022e173b7dec3b3c703967bdab210cbbcf2c713bbfe16d3b35d521bd7cf105bb1fab063b4963c1b9e611cebca6d720bba5b9243b71d0eabbfa90c939bc26a3bb9b46a83be9a8b5bb4b11ab3c18ccc5bde531a63cc44604bcdb21c4ba22d11cbef658243d9fe99abc6b9e823a315f5fbe331e6b3de3b6b4bc96bdc03a405d63be969f7a3d7dcdd9bcdc03443bfc9542be4fea5f3d05d0d2bc04e37b3baa2410be18a5313d80e5c6bc3361ad3b3d4bb0bd0fa0d73c0233a0bc217fd53b73e519bd50bb243c119d66bcf80fc63b0e33fa3b0a17fb3a78580dbcb2ee9f3bf3740c3db67859beb16baf3f688ea7bcf2749e3cc2aa0ebe81759c3f093ceabcb0ad523c1c86eebd9ff0963f9308abbd95e3623c1818babdc4a1803f0af2c9bd6a178c3c16e986bdcf53483fdba4bcbdc1bda63c514741bd328d083fd7378fbde412b63c8f3502bd21c3923e0d840bbdeb0bd53cf300debc5e71b83db1a34c3b1cbff93c737733bd908cc1bdb8f6f33ca852fe3bdb0754bb00000000000000005cd30e3cb8553c3a000000000000000025ffa53cf35c16380000000000000000867fc93cbed4f03a0000000000000000dba0aa3cdc856e3b0000000000000000c7507c3c03a14e3b00000000000000000128bc3b2d1a6d3b0000000000000000b541d4bb6115eb3b0000000000000000376d66bc75d59d3b0000000000000000b3fc28bcee22a13cc14910bcb2f30c3c10025ebca8d6103d64cab33b5dcc133bf68e30bc51c4283d3e69ad3c833391bb5ce707bc7ecc223d2bc6eb3c1b781fbcabca0cbc7554133d8d61ea3c719939bc5fecf2bba949f73c3db4c13c237e52bc107dd3bb4f5cbc3c4eb2603c220628bc028000bc9c826c3c0cc7ad3bc374e7bbd834bbbbd3859b3bc20bb8ba8510a8bbf115fcbb1593273b6465003d6c2c88bd14af8fbb5ffe5f3bb56d0c3de0e9a2bd708921bb9f90143b6c7a0c3d777ebebd92191dbad713053b76e0f03c2513b5bd5893f0399f8da63a09d0a93c7b5a8cbd5d1d34ba4c911e3b74727e3cf13951bd83cfabba036f0e3bfe55ea3b0110e6bc8dfc48bbc047933b231e4637749f63bb580e67bb518e653bda4023bba190723cdd26bc3b052815bd6fd4043c76239dbbe46ccabd70d49cbbc05fcfbb37ef2bbba01320bea3f2ac3c712981bc886fa7ba70d23bbe7c21303d8ec0cebc1dc3013bf43e30be0aa14a3d0280eabc648f863b592d12be55c6573da86bf4bcffd4cb3bc715c0bd8ad42b3d1442dbbc3e01f63b929d46bdb156013dee85b5bcec09d03b717840bc9fb9a93c69c76abc2db9ef3bd84ae63c299742beeb4a8e3fc61f3e3ebf2ad43c5cc33ebeec4b953fb249b83d5a7e963c94301fbe6f938e3f554bf03b1f79673caa2104be47237f3f735b4cbdb34aa53c35a0e5bd7521513fac3eaebd949ed03c4df0cbbd0c70193f489ab8bda7e0fb3cea8fa2bd2b31b93e1e0496bd0eb3173d64038bbd9ca6193e14fc2dbd28de183d43f78cbd7f9c3b3c85afcabc06c1ecbc3b7fbd3a0000000000000000ccd5fdbb0b1955ba0000000000000000ad00193cd83a273a000000000000000066daa63ca8148b3a0000000000000000dc03e93cdceaa839000000000000000046badd3c9e41463a0000000000000000a17aae3cf101b13a0000000000000000d52d143cdf50733b00000000000000005654bdb9e1df123b000000000000000056e7acbb132b663c2c6583bcd306b53c9c610cbc4bb6f63ceaed00bbe12a8b3cc59dfcbbb35c163d3d82323c9003c13b7c13c7bbf285223da73b813c1c6762bab42bcdbbf2ca143d49feab3cdd52e3bb43ecd2bbf4360b3d197c843c44e621bcc49d07bce4fed43c57382b3cbe9e2fbcede005bc493e923c7106b53b692b33bcac4008bc042a163c745289b7110d0dbc42225abc98c6563b5babfa3c5ea0a4bddd981bbc09216d3bf61c0e3d8d48b4bdfb2e9ebb1c8e4d3b3ccb063d80a9c8bd1b756fbb28bc183b8104f43cc0d8c9bddad380b9db5d9c3ad321e43c80c7b2bd8d9fdab997c8343b6a61963c9a347dbd809c10ba493d123b5c9d383cafd914bd1e1a6dba57dee63a1b1e903b049d4dbc31403dbb97e0733b816359385e5bfc3b74916c3db8a4c5bd8c54f43ce2012abca12834bdda1b87bd14ad803c8bab1dbc144cd1bd2095dcbc37e86ebb94b0b9bb75ee02be50c4ef3b9d407abc2796f2ba82fe10becef7113d4d2adebc4d2e0d3b90d600be89bc3d3d0cd9f2bc09024a3b64d9b9bde1bb4b3d48e0fabc3f91d63b7aa160bd998c3e3dc588eebcdeb5023ca7879dbcbf3f1d3d6c19a7bc6935ed3b3a98b63ca1042fbe2b406a3fc1c6d13ec297b83c56e237bea3df793f648f963e9fc08e3c0c9823becc9a793fb0411d3e6ea25a3c7dcc09be16e0653fe4d0233d4f01583cc347f7bd32b0483fed7c4abdec3dad3cc5d5dfbdd4161b3f2af1afbdc710ea3c7614c4bda3dace3e6551d4bdc9c71f3d1ee9b0bda7d0583ee2e9c4bd2e251a3dc1a29fbd79e77e3dcfcca9bd6ded92bd78fdd13b0000000000000000b7ae46bdef96a23b0000000000000000021845bcf1035e3b0000000000000000244f343c531f013b00000000000000005505fd3c610eb1ba000000000000000009dd113d7bf5b9ba00000000000000003878183d7f6715bb0000000000000000ceaaf73c2e0621ba0000000000000000c0ecb83c42ce32bb0000000000000000d8b43939e388283cb6439dbc6141063ddc7e54bb7a68ad3c1ad601bcce7a023def3d73bb77afe23c27c4da3be250af3c51f94cbb274f053d24392f3cd87b1c3cfe73bcba1ceae73ce07b343c1323353b62f796bb10a7033dcb3a5b3c94f3e1bb5fadbdbb2a71d53c954c0c3c492410bcba59eabbbb50923c95d8943b341f4dbcbdccdbbb78db2d3c671696ba805350bcd94f72bc601dec39a0a3d63c972dabbd4cbc5bbc7b723e3bdeb1e93c5a4cabbd088738bc1da83d3bf5c8e63c3346b2bd698c97bbe5c5d83aa07be63cb7d0bfbd69d131bb234d943ac522b43ca401a6bdfdbc553ab48ae53a78e1ad3cc51f8fbd66000b3abffb133acfd85b3c1ffc36bd2b60d13a09c0473a4373ff3bc8a6a3bcb135a438795fb73a477d043b32f02a3b91c9c33db45b1abeb7be503df8f871bcff66603b33f309be33662f3d5cf474bcd3c369bd22b2bbbda10ca93c831723bca2b5bbbd55161ebde942cdbac452c2bb6451c3bdbd114ebb46da41bc9ff966bbc80acebd9432003d088bdfbc1f591539b935a0bd58b0363d62b8eabc6b516a3bbdd14ebd5f33543d53e1f8bc0edbb63bf936b8bc68bd543d354ed4bc4473e93badae5f3c85f603be88ef283fa7212b3f139e6e3cd71712bea3723d3fcb440a3f7319663c584811be96cb453f5ae1ba3e5ba3203c58d803be49c8413fbb98373e3b811a3cdeaddabd4e552b3f0323403d049e453c3cbfcdbdba9d0f3f865562bdc224ab3cf00ab9bd44adc93e3108d9bd2f92f13c7acfa4bddd7f6d3ec54d04be78be0a3d243d9ebdac77c53d84b809bec8e7fabd3eb16a3c00000000000000001711c9bda49d273c00000000000000004c3559bdd295c63b0000000000000000bc8b06bcba98f73a000000000000000071e7653c926ed13a00000000000000007d63203dbc60d0ba0000000000000000cea8413d5b74bdbb000000000000000025e9413d28519fbb00000000000000001f51323d710bdabb00000000000000002b1d753ae1bca03bc14495bc5129133d04b57eba1326703cd9a1c7bb92e32e3d2196bdba87f8a23ce559713b0c4a133d201831ba892cbd3c7f49ed3b78c5cc3cb0e4d3b97e13dc3cc503fc3bb3bb273c16f6acba45f8d03c965b0b3cc759b339cb272cbb8956bb3c0beaa93b2f0bb8bbf194bcbb4ef0903cb7cc2e3bf2fd3cbc8f8380bbc597253c8d316ebb961036bc9f7b6abc14adc83a1240a13c7fdf84bdaa668fbc31f4bc3ab08caa3c606a87bd1bae4dbcf140c73a5276c13c953991bdec4907bcfaac943ac7daa83ce4cb93bd65536abb4b042d3b4acda33c432195bdd3cc603a442c8d3addbc943c531c82bdb24fc43af0830e3a34795b3ce2a040bddc61f13aa2367e3adca7ff3ba809bcbc5cbb013b0ef2ef381376743b8f8ce3bb3070d13db55b39be0967813d378fa1bc1d36dc3ce7bb45beba588e3d3397bbbc8526e3bcb42422becca83c3da47097bc83716dbde152d5bd5fa6a83c2f924cbc95cc92bd41fe2abde4d117bb32c208bc44c88dbd113df0ba280d86bce2a87bbbd2df79bda7cfe73cc4e1d4bc00aeb4393cb22bbd1075453d5226efbc23825d3b214388bc4ed2543d20dbc9bcd3dc893b25a0ae3bea99a8bd128ecc3eaafa6c3f6332013cd76acdbd7d0bfa3e9ca14c3f06b2b63b2ab8d8bdf3cb0a3f7e201b3f6074df3b9109d1bd643f0d3f7880c73e1fb9a93bb522bcbd7245073f18313b3e4db5953bdbeaa2bd0366e53ed4de153d477f163c374c8dbd5cf3ae3ee13296bdc784993cdda380bd44915c3ebb7f0cbe82deb03c606867bdb2b9d03d444229be32f12cbe9fe8cd3c0000000000000000517919be1154a63c000000000000000018a1cbbd5d76603c0000000000000000bb9a46bd67860b3c00000000000000006ab885bb3576333b0000000000000000d1c3bf3cf71287ba00000000000000008a144c3d41f8bfbb0000000000000000edf8813d6a2237bc0000000000000000234f6c3d1f7533bc000000000000000099a88a3a83e54b39819b19bc6f9d183dd10d19ba8754183c834566bb16e8503dbb7866badc9d413c9730fe3bab43453d6fee03ba119e883c30640d3cdb74173db607ea3a9751893c5355f53bcad7c83c1bc89c3a8777983c0e4fac3ba110123c46d705baca03873c13cf5f3b98b134bb13138dba9f02733c8814abbaf831e7bb7c956dbbede5243c076e98bbcdc831bc819790bc2a748e3af5431f3c355115bd05679bbce75af53adf43623c7e3e2fbdd8978abc94eccd3a2423653c984932bd99ed48bcf4a8173b5a83683ce9384abd23f3e7bbb00d7e3ac84c303cdd0845bdb168cbba087e223b90341d3c3b1a3dbde3eb2b3b1482ae3af04b0c3c903f11bd98705a3bcfd9dc3945b09f3b2bbed3bc6262363bf0c58b3859f1563b0b5df5bb1b83a33dcd193ebe2b23a03de446c7bce431003d9c8571be59a9b23d9ca5e9bc72a34fbcdb3365bee58c943de81dbfbccb880bbde01d2fbe8522433d30d999bc03f935bdbef6d7bd6288b03c627f57bc8cdf30bd8cb233bde3a90bbbb54b1cbc6c7b16bdec0e8d3aca0c71bcece949bb98c7c9bc8346063d2711d0bccf8f96b89b84e6bb2670453d80dfd0bc36dc813baf96903a736621bdd47c393e896c8f3f784aee38bc695fbd259a783e1f33863f863002ba980a7abd03889a3ee4205c3fb3f3e1ba176c7fbddd2eab3e6b771e3f477a4db934256fbdf164aa3e2b0ac03eec038e3a7c855bbd58d79c3e66f5203e3c49053b106b2ebd7d96783e083230bb2f9ac33b3b6209bd9457253ef101ecbd6e5c413c2b8f09bd7e6da53de5c932be20a243bea64ef63c0000000000000000de7641be4957e93c0000000000000000245d17beae2eb63c000000000000000081d1b7bd21773e3c0000000000000000a1ad28bdd02edd3b00000000000000006440c83b3d57c53a0000000000000000846f213dd7540ebc0000000000000000f65e853df2a74fbc00000000000000004b7b993d5f8690bc000000000000000011f6ec39f804eab99f10f239e2ce113d237fceb915c23d39a748c73baa8f533dc726093a8c2e0c3b498a6a3c073d683dd9d3a73a0206d93bb5e57f3c72274a3df6ed263b32c3e93bbaba533cea850f3db7d91c3b7cda1d3cd7df173c487aa53c5693cb3a9fa02c3c4b4e303b2b30ca3b6793473aa6600d3cc1652cba20f983bbf6a9e03a576cb53bb9bce9bb869a1fbcd96e66bc8f5412bbd393933a12cc8fbb6b18c7bce406343bf031ad3bd0993ebc1422a1bc832a963a55e5b63b47897fbc16e961bc693b3d3a5395b83b2e2fa1bcc6c00abcf76a023b1deda93bc941b8bc144387bbbe2b3d3ba8d59c3b670cc2bc4330043bed0cad3a6060843bf197c7bc9a19d03b9c04793afb1df03a237986bc052dac3b1bd294ba56474cba4a4ef0bbe4df0b3d31254fbe02b3a73d4febc4bc2069623cd06171be8f2cbf3d6d39f6bc8a6f49bc66f685be270dad3d809dd2bc25f9e8bcdb8968be2eee833db2b3bbbc864407bd005227be20fa243d5b4694bc52c1ecbce322c4bd21c6863c914a70bcd0959abc610006bd6ac389bbcc0505bc281dfbbb7f1eba3ba04d99bcc8801bbb4177f33b69a63f3de34db0bce87497bacf2195bbf65321bb37d6c8bcea00b03f66b13cbbb72fc3bc4fad833d73d0963f15a7a6bb1155c1bc570fcb3dfcac873f6f85aebb2c8eecbc29060d3e6c09533fd325cfbbbc2de5bc2e86203ed0a2113f4fdcc5bb868cd2bca4751f3ec0e5a13ea0ad80bb4e4a92bc2a61063e0600c63d15930fbbd00626bc77e7b03d35f925bd11d0b7ba7861453a01e4d03c64e146beaa4e5bbee6ed133d000000000000000086b336be5663f83c0000000000000000f4b529beb152cd3c00000000000000000e9ff6bddcaa943c0000000000000000b6c999bd52db313c0000000000000000759dc9bc1d1a973b0000000000000000f27a863c558838bb0000000000000000486a473d27a150bc0000000000000000c327a33d6c7f9fbc0000000000000000000000000000000000000000000000005faa5bbb3f0534ba4ad9813c57ff573d531592baed6da1398f6a9d3c00b3533dbdce2f38cf18a9b9ef13a23c0a783c3dda5e183b9e4c2c3bff4a863c873a173dffcb543bbcaf273ba6d3313cc81dcc3cca10cc3ab7b90e3b978bf33b8846353cc3b58f3b0580723b759c06bb40400a3a0000000000000000000000000000000000000000000000000000000000000000efb295bc2211ccba6ec83cbb6f889c3c77f589bc29add83a135a8fba30e4393c1e4128bc2fe0803afb29f9ba1ffda63bc4282cbc0ed0473b526521baf71aacb91d628dbb10fc203b2a1020ba172b9abb9f2b19baaa41293bbbd72f3ad9d8b1bbfe254e3b3562a73804c92abba90c9dbb00000000000000000000000000000000000000000000000000000000000000009393edbc808f80be31af9d3d5712a9bc452b0bbdd67778be4c1c8e3d0961b6bc94471dbda0616abed29e723de808a2bc04d407bd4dec3cbe7934403da5a19cbce300c4bc6b1ef9bd1847ef3cbce983bc808667bc648f80bddbac113c434f2ebc526c143be0f28ebb3a32b2bb0cabd1bb000000000000000000000000000000000000000000000000000000000000803fbfc8debb144d2a3c66a4cabd6b8cb03f7868c6bb500bd7b978f6efbcfed6913f7396f2bb140013baed3b86bbb7b7753ff27920bc136b00ba22219e3cc6e6353f445a15bc6d23ab385086e83c34a0e53e216e13bcc39abc3bd9a3d83c58345c3e9fa518bc733e763c65fafa3a975d6bbc0000000000000000000000000000000000000000000000000000000000000000b68425beb8aad33c0000000000000000379e04beda94ad3c0000000000000000d79900be0512a23c0000000000000000aed4c1bd41d48a3c0000000000000000380272bdcef80e3c00000000000000008bf659bc1238083a00000000000000002976ee3c1b4d03bc00000000000000000000000000000000000000000000000000000000000000000000000000000000ea4e02bc9cd04b3cf7427c3de15a14bd1d448b394546b4bbc836933d95791dbdcd258c3b36db9cbcdb14973dbe8e0bbde504f63b887da9bcbc17823d87cbf4bc05dd0c3c5b6d8bbc4ced253df7b492bcec2cbc3b7b1e4ebc45409b3c46ecb8bb8b225b3ba4aacbbb3ad3fb3a6244ea3a00000000000000000000000000000000000000000000000000000000000000002c32013c9bfbaa3aeed6a53c203001bdd3a80e3c86d2913a1c06b23aa8dd93ba3cbb063c37432a3aa2a478bc9565ba3c22a5863b3b7abb3a36beabbc3b0acc3cc4f6343b7fc00a3bdaf7b5bcfec6b23c4792abba983ba83ac4d68fbca23ca33cd3b281bb25f0333b6f585ebc4114623c0000000000000000000000000000000000000000000000000000000000000000557d7abe0c45773dd32d28bc1576edbaa7ab7fbe78cc813dbc8ff3bb2b9e50bba95173be67b5523dbd5d62bba66d66bb65d945be9c632b3d987cb5396b0634bb95de02be3e35dc3c1cc4723a9a055cbb133c84bd434a273c4cd5163babdf7db91b6eb1bacb1790bbf35b9c3ac999a6390000000000000000000000000000000000000000000000000000803f00000000046e0d3c1e8ac0bde2a3b23fcc0f15be3cd88a3c657e7bbdf5dc943f13a5e7bda58df53c050e64bd2ffe743febc2d2bd2cd5133de18c12bde952363fb294a0bdb55c083d5b82d2bcae6ce93eaf8e47bdb40b0e3d66a0dfbcb3c5603e11a690bc7477093dd80dd0bcc92a64bc27853a3c000000000000000000000000000000000000000000000000000000000000000048c5453ce204d63b0000000000000000f9f88eba16de0f3c0000000000000000c8d356bb2930ff3b0000000000000000eea708bcff1d073c00000000000000005ac134bcbddfb63b0000000000000000a2e03abcb2de413b00000000000000000be9e6bb581b5c3a000000000000000000000000000000000000000000000000d3585dbc6b5d0d3d9d885bba913779bbf5380ebc1773193d73ca833c6d1c8dbc4cea29bc3f9fc13c93a65d3d329212bdb221c8bb97d9793a9df5943d75c228bd874f11bb24444fbcc765943d51a01bbd69a2ab3a04e69cbcc73a6f3db403f5bce957a13aca889cbc4ed41f3de8d595bc1f5f133a82c78cbcddd3983cdabba8bb28851e3bedd21ebc23680c3a4eeac83aa048103b3ef18c392c25453d59c0cbbd490fb93b59670f3a3d622f3d9b73debd602f1b3c23cb0b3ad183063d47c38abd724b1f3c4fd29d3aee1b883c6f4b70bc8221073c3897c23af69c893aee5e9e3cea82b73bf348003bdd3d32bcc136253d76ca053bbde3223be76260bcacf64e3df7f50fbb02d00b3b4f8b68bcd38f6b3d31ba4dbb9209303b480170bcc32d123d691484bd163e993bb3eae5bb4e74003af4b40cbe9893073d85f6f6bbc540e1ba018b69befd06703d114d1bbc3dd923bba7d580be60ac853dfab70fbca9b87fbb9b9b6dbe3c98793d5295a9bb2bbd86bbeb4536bed3aa4a3d68812fbbae4e96bb48e7ecbd02e5f93c3fb43739c44f57bbd8715dbd102f423cb914ac395eef12ba6bcd073c62c834bbf10e8739b3b21a3a32c69c3b259b1bbeb0b7af3f411102bdbd5c61bab76fe4bd9e1aa53fd12744bd2e0ccf3bf579eabdfb9e9c3f541ac2bdc248c93cfd6209bedbb7873fd432d9bdb52b2c3dea3116bea3a8573fce6dd2bd2684673dcc0d13beb102183f928eb7bdc6ba7b3d12ac11be5b0aaf3e81cd5fbd30df8a3dea5717be026dfb3de810a2bc1434583df120cabd2f3a91bd03183e3b25b63f3c448dcbba00000000000000003ce5aabad50cbb3b0000000000000000fe7da43ba880c63b0000000000000000a5a2293b40d3073c0000000000000000ae5182bb00730f3c0000000000000000a4fc86bb44fbfb3b000000000000000094300abc6668a13b0000000000000000bd83d2bb0ac0f73a0000000000000000173ddcbbb5e58b39000000000000000054385dbc1d6b303db02121bdeb4fad3cb60512bcc2d91c3d812624bca140ad3bcc8b22bcda8c073d63e99b3c3df368bc475615bc3109b03cd3fe3d3dc7d900bd43a1e0bb87e209ba9518813d0de41ebd2adaa9bb5d0136bc1abe843db10925bd83f0f7b929b98cbc64f24a3d0463f3bcb27d32bab1ac97bc3bd8083db6e29cbc458ccb3a2fcb7fbce7da643cb06009bcffad8bbb49e4f5399a2d703d3f9214be6ac2413a46259939ecd2503d035407be7465ce3b6f780db9038c263d3a0eccbd18f7193ce01c973a9dd10d3dcc0292bd4143333c13f00d3ae2d2963ce2c62ebc3ffd203ce2291d3bba6de33b64a0ba3c59e2b93bd830073b8622f7bb65423e3da4652d3bf7e72a3b108d4dbc00337d3d74627eb9f44c073b56089bbc8208693d9b118f3d1afa44bd3dde9aba0fe31e3b190055bd39fe39bc2816cbbb973f41ba74f60fbe7e1ec03c9bec07bce61094ba699f4dbe4e3d5d3d6ce034bc2c7e66bb99e560be08b6893d0aed1cbc291890bb62e04cbef8d5863dce55f5bbcef4c4bbe1331cbe8e146c3dc94ac5bb809174bb3454c4bd3a4d1f3d14594cbb938179bb2dc31abd96ac953cc78c3eb9a911f1bad319f9bb6814ebbd87ef8b3f6a42133ee57d42bbf2e702beaeab953f1100383d0fddc83b0b6e04be7b6b8f3f399cc1bc94ae213c362008be696a853f2a4dafbd94f2fc3ced0a2abe27bc643f0bacf5bd1838483d39bb3ebec9cd313f2a56ffbd82d6873de0fb41be8db7ee3efa46e2bd1ed19e3dbefa44be68e17d3e178b9dbd043c8c3d7f421cbef530833de64b36bd368dad3b5d2112bc0000000000000000cd20b03b4691e03900000000000000000521183c765660390000000000000000523d373c2b448d3b00000000000000009b04033ce069dd3b00000000000000009a4fa83bf9e8163c0000000000000000e646bf3aaed7f83b0000000000000000cee795bb996bea3b0000000000000000b374a3bb53cb8e3b00000000000000003a2b45bcc8453c3d4f7e8dbdba404f3d329006bcdec51a3d37c408bd0853f93c397ae3bb3e84183dbb00f2bbba559e3bbde4fdbb8972013dbcd7713c427236bce5ebfebb08d5a23c78c7233dc736fabc406be4bb970f2e3bc325553dc33a19bdd95ebfbb456f21bc9af85f3d301b22bd00a315bb9e0887bc6c69373d2a9e03bde5b6ef3af97a91bcd01ef23c82b3a2bcb07e82bc5eee073b6b1a6e3dd5fe24bef5dc07bcd034283a24e95f3da3a016be072da63ab699f6b90a823c3dd99804bed51bc83b50cf34bae5541a3d97e5d4bdf80d1c3cd1007a3aeab2063dcc5090bde9f94f3c6b9f6839ad01983cc14951bc6401343cc15d783aa3f8a53b62b7e63c211e013c6b02bb3aa786fcbb5909643daa6a923b444de83a7230a7bc1d91823dc7f11e3eaf6ee4bd54c5273c5971ba3bcc8c143da5f292bd4c7d653a9f057d3bf34e7abda47698bc5670c6bb4247473838c9f5bd9ece9c3c0f6b1dbcaa745bba849730bed463673da1b75cbc2fe51dbb70bd3cbe04e5933db25b6ebc1e6274bb38452bbe15bb9b3d347642bc58ff65bb77d802be36cf853d124211bc2fd475bb57a88fbdc023263dd7ee64bb5e3683bb21bc49bcc67aa9bdca68583fd565b83e879b22bcc634d0bd1a376f3fdf8c673eb0a8bbba0f55e5bd5d54773f12e1bb3d89eca83b1ae0e5bd99d46b3f430849bcc2e33c3c599b05bef82d5a3fc20cccbd103b003d5ffd2abe3e44363fa72a0dbeb78a593d843846be156f083f68f819be9863943d006651be97abae3e07e109be40c48e3de6852abe3a21193e8f84d0bda67460bc35e5a5bc0000000000000000cd84783b691d4ebc0000000000000000c4f2dd3b1d54daba000000000000000036c1373c8411833900000000000000003857973c1a6ffc3a00000000000000005765943cbb86943b00000000000000007bc24e3c6b11d43b0000000000000000c564d83b0e95e73b00000000000000002fecc33a737ede3b000000000000000053dfb3bbc743223dc99facbdfbc7953d2abc4abbf9ae163db32870bd32dc713dfb5df8bb4fa4113d3f27e1bcdb44f83c9ee685bbc80b093d1905f6bb28b0be3b968205bcc85aab3c95d1853c990637bcc9de09bc2f9f973cea16083d8215f6bc80b9c4bb056429bae4f0403df9bf19bd527fc0bb5afb2cbcc5cf443d6a1c1ebdbabc8fbad74284bc7b07193d8cd003bd9f4cc7bc5751283b993b493de43724be2bc1acbc67c5cb3af141433d497c1bbe49d614bcd0dba23a2f7a3a3dc90305be3523923a52d7edb908a6253db20ef8bd4f4aa63bac578dbafdede43cdab488bdb597303c52b7333ae890f13ccd3b70bd00ac3e3c077ada39be3b513c9565613b7880373c7531e83a9d8b943b68b11b3daaad0c3c44cbbc3a5a486bbcb106783d335b573ea8662dbe7987eb3cf9d21a3b1426e03db7c00fbe01af953ceeb8dc3bf018143ca3019cbd4d924d3bf0d6813b1b0469bdcd9ca7bcbb3094bb22050939a746dabd94d5753c9e69fcbb3381913ac55913bedcb76b3d5ff381bcf7fd16bb8e1a1dbe2fd4973db23d83bc1b6e29bb92570ebe4728a33d252864bc6fc098bb9b5fc7bdf862873d7a502cbcb4538dbbb6947cbc4f0333bd4ac7153f3cae1d3f2af367bc801a68bd7d3a2c3ff574ee3eee931abc85259cbdeb3a3d3f7bcf8e3e4638a1bbb338abbd6ce9423ff0b2d63d1d0ef03bdcadd3bd4b02333f9c9cb73a1c14153ca4a6e7bd11d0253f2cf8e0bdb519fc3cc6211ebe202b053f7eff1cbe3978483d15533ebe6889c23e639e2dbe71c37b3dc8922abe571f553e41d71dbe5a905fbd3c7fa5bc0000000000000000194c95bccf5ec3bc00000000000000000dd394ba199e7dbc00000000000000004229233c4c38b5bb0000000000000000e2247c3c2d6ca4bb0000000000000000b42bdc3c271ea1390000000000000000eb07dd3c51ba113b00000000000000002d31a63c319db23b0000000000000000fc38913c54c8ca3b0000000000000000b2c827ba520ce63c8c38a7bd17dfaf3da5c762ba474ae93c4bc086bda9fcab3d55ef74bb3c710c3d27053bbda5306b3de2e957bbdfadfe3c4492d3bc57b9f73c91c854bbe2ecee3c9e84d9bb02add23bd78e3abbf115bd3cf054e13b852118bcc442e1bb7886803c7772d23c7513e7bcf1d3edbbb296293aa4881f3d14a91dbd45e23dbb000b43bc8ac71b3df5fc0abd087e0abdde85913be0fe033df0cf06becf7506bd178c573b887f0d3dfacbffbd0063a6bc4c83933a2e4f1d3dbf4afcbd009f0bbcdba885382388103d36afe9bdacee35394c8a7ab944fa023d1ed9cfbdb380e23bcdca38ba2619bc3cee7f90bdacb5453c3e9390b96af7ab3c6d5e17bd5826753c9ba208b942bc473c27eb423c6baa2b3cd0ad31398b91c8bbf4a53c3db8cb603ed68755be355a3c3d664bafb9071d0c3e282f52be347a233d59bcab3bcd81763d2ae119be15a7b63ca624c63b3c40883bb0d9acbd4cb9b83b7422943b206045bdc258c0bc8f738cbb7743b53ae625a3bd79318c3c299046bc511da8b9e14ee2bd00c16f3d25a89abc65bfceba2e4ef8bd97d1a83d6208b9bcf74109bbb975d0bd57059a3d47a17bbc6d790bbb1bec72bc0f46d4bbed61aa3eb205613f314969bc4d4891bccf50d43efc043e3f15f677bcdbf800bdfffdfc3e4850073f9daa4cbca6732cbd87f8073f94d09c3ef4facbbb33a462bd1bd30b3fd5a1e83d1c70be38f5c689bd8b64fd3efc1a6dbc8eb3dd3bab9eb2bd9e0ddb3e4560efbdd06ac63ceefc02be65caac3e0ef035bec5a3313da7bd0fbedfeb623e5f2440be0f8ac9bd68748cbc0000000000000000af4081bda88eecbc00000000000000003f81dbbc09d5ccbc000000000000000043b169bab94b87bc0000000000000000d18d2d3c42e8e7bb00000000000000004e7bac3ca2858dbb00000000000000004f14013d996048ba0000000000000000d70b1a3dc7e9903a00000000000000005037f73c101d213b0000000000000000bcea5b3b9829033ca75e4ebdc169a83d23ba093bd24c6f3c6b334bbda550c53dd0ac40b96fc3c53c134e3ebd16ddaf3d91b35aba7af8d23c4c1d13bd69916d3d8c932dbb2e4dc43c27f9b8bcd3e9053de6fed7ba347aa73c77a01fbc3ab2213c68f507bb2780743c7215883b54c525bcdd5a73bb9465273c835a833c909aecbc0c5f43bb5bf423bbc674d33c179810bddf2024bd9747d13be43a503c3b058abd09b63abd66d2fd3be621923c5dda9cbddb8a14bd94198c3b0f33c93ccfb8bebdb36bb3bc9cc7c93aa863e03c2c20c2bd2bfe30bcae512a3a2dc4da3c7587acbd3d5b5e3966402fbaa783b03c31d68bbd9423f73b75feb3baf51f763c654431bdf3556f3cd64d51ba7f43303c8dce9dbc6969743cb45c68395fe7a63a543fbc3c04a4203eef5365beaa72813df1daa7bb3bc9e83dcf9a87bed68d863d522e42baed96a03d44656cbe4b4a3f3ddddf7e3b82f8243ddf9827be16f4cb3c8f54df3b902d633ba688b6bd817c043c8344773bfe93d6bce38ce0bca689adbb919aaf3a26b34fbd6c1aac3c4fca59bc5ad2fb3a9cde84bd6bb48a3d3a98c9bcb5fb2eba874a93bd1d66ab3d822fc8bcdae109bb09f0d4bbdeefd63bed0a023e47a28f3f7e6936bc3face63b42de363e01e8833fae4574bc7bf7423b5962813e920c4e3ff2c98cbc878086ba1809973eee9f0e3f97725fbc8ca262bcc618a53e6fd49e3e600b11bc17ebcdbc0376a13e67fde03d8d50f7ba406522bde63e903eb8c813bd19c9fc3a86823cbd1069623e994723beb8c48a3c69efa3bd77f5243ea3ad55bed9c803bed81832bc00000000000000000ba0d6bd3108cebc0000000000000000241387bd0804d9bc00000000000000008e63d1bc92aecdbc00000000000000004bf3abbafbe887bc0000000000000000c5c9463c2846d3bb00000000000000008054e53c752bf8bb0000000000000000a8463a3dadda4cbb000000000000000054ab403d738ea2ba0000000000000000c14f903b41b418bcb87ee9bb3e628b3d55a042b65709743b68600abcc447aa3de726fb3a57390d3c1ef5e6bc5fd3c33d642f3b3ba1035d3c8ada0ebd7e59af3d1608b73abfdc833c1154fabcf47e733d602f16385211693c53cc9ebc8ce1fe3c40c8b73a5b9d233c67b751bc3ed21f3c98caf53a1713d13b4d7f0abc7b1c08bce70801bb4d2a703befb32b3cc9c3f0bc87fb1dbd4bb9ec3b9e376dbbd3d641ba0a4046bd2ad7103c1cce093b382c1abc512e39bd9c88e13b3502093ce86e26bd9abb13bd93f6563b6880333ce56262bd489db0bc01859a3a62517f3ca9897cbd588722bca6c0d339a618713c31375cbdb4a02f3b1a72e1ba74180c3cd7f913bddcef0e3cb3d198baa4f556b9894590bc0e765a3c14588d393fe3d03b6f19dfbbfd4c503d97196cbef8948e3dd62153bcec35cd3cc1918bbe1396a83d6387b6bb1000493d009492be5c908b3dca4daebaefb2493d4cb175be6ed3473d507b803bb81d183dfd9f2abeece5ca3c8122ed3baace8c3c056eb8bda9b6143c91bc743b54e8c53b3ec5cabc1a90acbb244f703a5c60b43b96dfd03c0cca94bc8cc0053b642ccabcab979c3dcfe9bebca24bb3b90ced8639fb821b3c80cd15bdfb29b23f8d44bfb96af6173aa3c8cc3c1beb9e3f214a09bc98ea9b3cde03583dfc89873ff9665cbc79aec73c780db73d6e924d3fcc8d87bcd585c93ca8bae53d72b6093f682c7fbc495e873c8d2ff63dab06913e83ce3bbcff18453ce29edc3d21f28a3dc86ef2bb7c54713c84086a3d8ff5a0bdb0a865bb518dfabb47c46a3da5ae5fbef7542dbe7a3cba3b000000000000000012cafebd80c19cbc0000000000000000bd9ac4bded11b6bc0000000000000000a61a80bd2b26cebc00000000000000007d6ac7bc9541d0bc00000000000000000a661abb8f6478bc00000000000000002a997f3c686cf1bb00000000000000003bd6103d0cbbc2bb000000000000000042cd543d869113bc000000000000000000000000000000000000000000000000b4b8173b8c8529bc0673093cbb4e923d3b25353b0db941ba253485bc9583a93d2792803b289cae3b954012bdeb1ab13d3980443b0ef9323c735a29bdbe60963d6d861c3b182b483c37e90dbd6f074a3db85ee03a78fc0b3ce942a8bca729b63cb065c13a7935e73b5a734dbcad7a093b000000000000000000000000000000000000000000000000000000000000000020d71bbde6e6cd3bf1d70fbcbc39ee3c28501ebda2bdb03b54f290bbf0be9a3ae1020abdf5518d3bbb7c913aca2bd6bc5ab0e6bca228a33a476bc83bec832abd4e329abcbd5c083b1468223c38013abd5794c9bbee2a0d3a64c8173c17e71abd4e87db3ae1b338ba2f56ff3b39a3ecbc0000000000000000000000000000000000000000000000000000000000000000de1dc2bce4e383be71367f3dfaf014bc9737823cdedf84be1a817c3df154a6bbcce7533d39537cbe9b20403dafb6ceba7b896e3d6c3b4ebe79c31d3da62c873bedc5533dafc806be0a7ab03cb1f98f3b5b301f3dbd9a83bd5eb3d13b3cff5a3bfd07d13c2999963705cc96bbd356fc3a000000000000000000000000000000000000000000000000000000000000803f9c23e3390646533c3ff5d3bd18b5b23f971174bb7089d93c6ccc90bdd3dc933fab232dbc36422b3d449c82bdb5ee723f3d138bbce5624c3d845e3fbdf822343f7a349fbcc1754b3d3754ddbcf237e43eeba8a2bcdb874b3deeb603bd76f3533e05d9a7bcbc8e443d322bf6bc60ed90bc00000000000000000000000000000000000000000000000000000000000000006f6c0cbe0edc7f3b0000000000000000b109d3bd081ed7bb00000000000000004b6cb4bd850814bc0000000000000000ae3d8dbdd4fe68bc0000000000000000c2fa19bd61477fbc00000000000000005bd310bcd52d48bc0000000000000000d2a96b3c243c1dbc00000000000000000000000000000000000000000000000000000000000000000000000000000000382d7939544ef039203c0b3bda64973b8e852e3ab0fd8c38d337443b36c49c3bd55875ba17e2993abbe5d33a6d0ea33bff2ef63898d6013aee47243b61c98d3b7261e33903c8b63a12f3753b0ba9833b7740883aa1ad273a0b26783ba425523b164a06ba98b12f3a4e9c843b3dc3323b00000000000000000000000000000000000000000000000000000000000000001e37a73b27bcdfba48c213bad3f1b9bb762c843bc25794395232a23a0e9dcabb0c15693b157793b8c76f273b7c8ff7bbf23c533b97560d3a74892d3ba1d0c4bbac81473b909235bb724c4d3bdbf2fbbb5e89a23ac07028b91c33f03af5b7eebbf4d43639f6ab81b9b9a4073b6c71d4bb000000000000000000000000000000000000000000000000000000000000000058b076bd12e636bdd9e8743ab41a913ae24875bdcb641dbd3aa17cb7f312b338bc625dbd9fce05bdc487c439909aa739f3493fbdbddbd2bc5e3e9c3a8307e939009223bdbe3a97bcbdcc623b1c348a3a2ae804bde3483fbc3d64a83b9836303ae7beb8bc4c858fbb9747f53b5ea4d8390000000000000000000000000000000000000000000000000000803f00000000b2c03c3bc407aebc30888a3f359c86bc2447293be6c7c6bb5e8a673fd82d42bc784a493ba26b6f3b38ac3c3f695542bc26f6f83aebadf53bcebc123f1e6d85bc4b7f143b1061283c81a8d53ef18ab8bc13e9b2b94ab3023caff1853e9f79ffbc7975b3bab251943b5e0ae33d4d722bbd00000000000000000000000000000000000000000000000000000000000000005f43cbbb11785c3b0000000000000000497bd4bbe3daf03a0000000000000000821ce3bbf8faf13a000000000000000097a4eebbbac5313a00000000000000000af6d4bbc31d713a00000000000000007bc6b6bb498cfe370000000000000000c7a754bb40e5113900000000000000000000000000000000000000000000000029f08e3ab4c5c43980d4f4385e2db239871ab73a45a0813a3b17803bf29fe13b643a023a81547d3a3f3d963b98e4b63bb1a168b9913d8d3a688aa73bab86bb3ba43782b9e501a03ae42fb93b314d6c3b5f7305b9389aaa3ad334993b7fb1953b2ac241ba1873223b208d8d3bf246a13bc4bf04b9132c543a1bc7923b6a2a433bbd7cceb9828a3bb97ed61c3b4568b73adbe5703b640a7b3ab71fa0b7c5c8b1bbe8a7b43bdd03713acb6089baab0025bcf205ab3bf897533a321be23ab41daabbecbe9c3bd7bb6a3a22ac073b42be9ebb0f230e3bbe47d53a7ee21b3b18206abb3a354d3b6548c33900e83d3b65b8a8bb491f5c3bccc52dba47c5163bcfa4bebb9289ae3ad0b692ba3014123b4e2c80bbccc6273ad5ed76baf7388a3a6eacbcba85bfd8bc28cf26bdd9da8cbbf333d13a9a1872bda3a762bda51e60bb865bee3aa1f284bd543359bd89735fbb3914a73a7f617fbd0d3c40bdaac524bbb90c7c3a899b50bd6ba214bdd4f4893ab049133a808940bd8e80f3bca7d9153b6f99bf3abfd914bdb429a2bca4abab3b2743433a8a74babcde3310bcfd6f083c629f48b811c102bc4a09acbad5ba033c635501baa1c94c3b3bb267bdaff4893f22d7ed3d9d83b03bc66d5cbd6929823f994ad23d33eb8a3b6855edbc8a615c3fe3adb73d06ff6b3b743063bc5d3f343fdd0f913d8a0a043be0bf4abb94090a3f87c33b3dbc23e03a664f0f377d48ca3e450ea83c2ad9cb3a5d60123aee937d3e4af6d9bb4f3ddebaad180bbb34f7dc3db90a00bd56ee12bbf02ab7bad32956bc0f282bbdfdc6a0bc3c77903b0000000000000000ce45babcd1aaab3b00000000000000003bbf9fbcb3fe7c3b000000000000000090d89abc00c8253b00000000000000001d5790bc8f83ae3a0000000000000000dd6487bc61bdbb3a00000000000000009fbe69bc8566703a00000000000000006d1b22bcda9e103b00000000000000004064afbb3287e33a00000000000000006d71043a85de3d3bb3956039eede77ba1346b1395ca4453b2310013ba461fe3aa86a85b9b604c53ab118503b899b423b86435f3a2bb5633b843c99ba3d90e83b3335c5b9624aa33a61c9603ba480613b94c99db9090cb33a46a8883bbb028a3b1c3928bac3fe683a29d5773bb4d1723be40531bae8824f39a444633b80cb353bd9f34bbaa2c1dbb8d77b003be69c9b3acf04453b9f87a73a49fde1390618aabb76d6a43bca6dd93a93bc863a881daabb22068d3b111fb53ad11f413bbe8707bbef83dc3b7c082ebbb9cb9a3b0ba8c0bbc70a623b7c89453a82f9313b85ad98b87b45713bd02d8b39af2a3c3b88442abaf199293b3ea06eb582b4113b4cf5b8b901cbe23a4dc18cb9e3d9ff3a29678d386c8d393a3928fab9f1de883ae39c883a688631bc37bb09bdba612fbcf31d1c3b6cb712bd21015dbdf6064bbcd1435b3b698826bd3dc749bd436622bc91a7013b5c7038bd7e9864bd4f76d2bbbd34703bcf151bbd67481cbd957795bb4196c13a2fb018bd04f10cbd4c88f2b99625573a3b68dcbcdb1cbcbc06b3043b5c68043bcd3f97bc87a867bc1a11ca3b95a3033bc028bfbb560892bb63c9c83b2e80d93a9dc68e3b732676bddb7c683fdf8e883ede72e03b68c985bd42ed5e3f390b7b3ef2ed943b755518bdbd2d393f6ccf573e2e1feb3bcffd02bd07eb1e3fb382283e5c36703b80215ebcf6baf03e2637003ea6f9413b097816bc9ee5b43e5342a23d1041cc3a6cc1b1bba2f6663eb1c81b3d03fff3b782dc96bbb9d1db3dc01013bcebbc64bae48938bb7be72f3995e207bdecae01bdb3e5973b0000000000000000c9bd20bd626ad63b0000000000000000e841ffbcc44a8a3b00000000000000007911edbcda3f9b3b0000000000000000b521cfbc1877143b00000000000000003abddcbc276a423b0000000000000000d464bbbc9d53243b0000000000000000be5fa9bc005f503b00000000000000003d724dbc2f62273b00000000000000002225eb390190153beef10939294532bbab34de397b8b243bc967bf3aa3fb41b817796339f6feee3a4920123b8662ff3a91d123395743293b767e7e3bbc646c3b63066db98a79e63aeb5b343bc10c683bc0a0abb94f53a13a82f35b3b29fb713b62df46ba4c8f203ab6db513b7624663b848f14ba185e6b3955e0463b467d623bf6c1cfb72c1da53995e41b38d8a508398a9e063b0bfade3a3cec8f3a987587bbcb7c973bca851c3bee38003b676582bb754a8f3be6a2b13acb20b4390758d8b982f6413b38006f3b4e7fcd3a9ae91d3bf73a823ba16ba93a35773d3baad6123be6d47c3b4cc4273ad04a2b3bb860033bd8105e3bf7d09c3938c3243b92cc233b5fe0bf3a1d9802bae5aef83a30cd363b8e35123b9b9f96ba1f9edcb9b2535c3b3293b4bae81ae8bc26268abc0e0d323bc012a6bccfaa4ebd3e61a9bc77cd8b3b3a7004bd635d64bd125b91bc76c9813ba67913bdfe1853bd4f4f57bc60e5823aa07002bd72a338bdb9e31ebc022b353b76a2f1bcca6c1abd7bbb9abb22fd5a3b0cd7bfbc4c76e2bcb30904ba2297603bf52174bcbead8cbcd1a08f3b2730153b32939cbb2c45cabbee0f503b7909603b91c0893bd1e75dbd37b33d3fda8cd73e1971e93bcb977fbd914c363fb2e4c93ee3471a3cc90b34bd56491e3f9aa8ad3e877f8d3b1d77f0bc9898033fa38a8c3e2414993b86cb9cbc3b47cf3e0004563e26b9643bb89061bc6c709a3eae39123eb316f93a45540fbc32bb4a3ed6d39e3df155c73ab4fad7bb6fbbc83d84c88b3cc2ad933a9c4227bb7c10123cc444d4bc1c9925bdcf89993b0000000000000000868854bd6242dc3b0000000000000000399538bd6b30cf3b00000000000000009fd924bda46e913b0000000000000000a5f518bdd278413b0000000000000000631316bd2b53423b000000000000000048230cbd16193b3b0000000000000000f962f6bce689913b000000000000000019cf9cbcd658623b00000000000000001fd3353aed18433b7b9294389d683cbba83c04b9d89c303b7c0bb739cea687ba0aee52387198263b43b0a43a96e1993a000d1ab979ee083b29a9043b41171f3b816308b92c95c53a5636ba3aa9f1e33a8ebb67b95920d63af2f8293b9c385e3b973508ba0a26573ad9530d3ba8c5453b0f95e6b9aca50339995ff63a71813b3b043303bacee16bb9bcc7713ad11cdc3ab6378f3acba40a3b2a84b13a09df8cbb71056d3b40a5563b72dc283bce1254bb397e7a3b869eee3ab9cf1e3b9efb2c3acb0b883b126fb33a7c2d283b3234323b436a403bf2ae3a3a45252a3b360e663b2a77833b8d5a7f3a5e97303baf24923b4555443ba1daa9399ecae63a5047873b74e3243bf6071d39f227b03a1f1f973bfb67b93a3b5ee43850b15f3afe97893bd23d723b40facabc0be4b7bcd3c7563b701922bc04703ebdd148e2bc0b628c3b5e559abc51da4ebdadd7b6bc16f0373bbb02c6bce2ed5cbd9364a2bc1f224f3b96a18fbc8f0f13bd73803cbc8f78033b296db8bc68cb24bde50a1cbcd31d543b25828abcce05e4bc08a85bbb826b5c3b9eb447bc58849ebc1893a43a466c8a3b7b9d97bb852c07bc0d0d3e3bfbc7513b6f66843b826b43bd5c71143ff336143f337ad23b35815abd50550d3f1b1c0b3fd676b13ba7e711bd6ffaf33e3fdbeb3ea4eead3bd5eae8bcca39d13edd30c43e9767633be1a769bc73b89d3ef70f913e7295833be43c68bc52007c3e6558543e9195483b70f814bc04cb243e79e1f83d97e90e3b7d82f9bba3abb13d11fe2a3d5a23803a304e8dbb461c493cd09faabc929e44bdbd639a3b00000000000000004abe72bdf256d23b0000000000000000b91c43bd9b44923b000000000000000023ce44bd2eba8c3b0000000000000000a8e90abddce7013b0000000000000000518734bd9b263d3b0000000000000000fc4b1cbd3b4f493b00000000000000002e891dbd72b38c3b00000000000000007ef9d5bcab196c3b0000000000000000208a7fba1b1a783b9cbdb2baae275dbb0e9b4eb7f2d3593bdde1bbb9eb89abb9a4fd48ba534b3e3b194e533a92d9c43ad1daadb9d7f81c3b65cbd13a1afb383bdd9014baa7a0da3a0ae8d73a7671553b96353ab97929dc3ace31853acd4c9a3baac6d0ba5934a93ae1b7533b8049653b1d7950ba92e715b8ef107ab76013753bb6b37ab9efdba2b9e98eb13abd1b023b7576043bbe54523bb59d0d3b484a93bb0c9c843bd998173ba724293bc34f6ebb227b903b3d6d4d3b62fb163b16c1443af823963b577a183b59d9223be782503b78447f3b8779323b7dee143bc321a13b8e8e893b0f9d863a69a31b3a07bdc93b35be383b3b23d3393339253b79cdd13ba924303b3e5c3d3ac91d453a43cfc13b520eb13a52bf05b9347b153ae2f29f3b8bf7db3b2316b6bc406bebbcf7b3253b11a6a7bb2f494abd5a5a10bd9472b43b2b4061bc09ae6ebdb91900bd88d5803b9ab090bc6d2e6cbda796d1bc5e18673b53b592bc50014ebd94319fbc4fe5283b23b99bbcaef62cbdc50349bc5bfc863b8f2674bc6f8d02bd38e3e4bbbb2bb83bcd6b3bbceb43b0bc17be8eb999c4a43bd01184bb064c0ebc56fb023b467f673bffff943b7c9b22bda468d83e6e403d3fcacfe33ba5c043bdaf0dcf3eb564343f0db1a93bc5200abd7a67b73e6cb11a3f198da93b0ec1cdbc50259c3e8615fd3e4cee8e3b45d490bc61927c3e322bc23e5fb2933bd3a77cbc692b413ed47d8a3ec0ac613b00ab43bcc81c063eeefd253ea19a453bf50824bcbec6923d8d52833dda74dc3ab6e8b8bbeca0623c3ed78bbc9aef62bd0e035b3b000000000000000050ea8dbd9057d93b0000000000000000f4fc70bd9c829c3b000000000000000073725cbdb9687d3b0000000000000000185949bdb58e233b000000000000000091074ebd5188623b0000000000000000918b4fbd60d1bd3a0000000000000000295b40bd1af7ab3b00000000000000001dcd03bd9e357b3b0000000000000000241292399fb93e3b1f685ebaafc4baba4eedf4b9daf22c3bcffd9fbac19d783af077c7b9d365223b8b39d5394940153ba9d881b90078243ad5c1963a53f96e3b8484b8b94066d93a5132bb3aef6c6e3bbe9248b9b9031b3bb2d9983bd27abc391fbb3cba216e95b83a86f53a4ab9a43be72371ba1a84abb9184a023bca2a913bf9b22cba79992ebac156973a7a64293bd50ab63a68d7823b671ec33a7fd0b4bb51bc9b3bcca8833bd0f1f93ace7885bbb7ec9f3b645e303bf4ace23af159dc39beafaa3b7c0f553bf116053b261bd43acd52f63a26acd13a12aeb63a851f9f3b5830dd3b90f90e3b589a0a3bd126f83b12a36c3bec4b243ad104e7396ac6b63bd52a3b3b706f2c3a624c7a3839cbd53b2b0aaa3a9b0473b8173414b96712a03ba597b23b3ec5d4bc29da04bd6273763bc7873dbbf0dc64bdfa832bbdbcaeb93b88a712bc38b66abd6aa507bd4dde633bbf4f46bcb26180bdcfd107bdadca4f3b038041bc35f446bd9473b1bcf8ae213b5b754ebcd14553bd443f9abc4739bd3b40724ebc8cd707bdf7760cbcf97e7c3b964934bc7adabcbc08e9e0bae56dad3b58759abb284408bc70150f3b9fad893b80b2803b6d8002bd28df883eb84c683f2fc0c23bf23d10bd293c833ed6785d3f8e8e953b091bc2bcf2946c3ea1b9363ffceda13b149697bcd00a4f3e70611a3fabce713b5cd146bc98d2263e9091e83ee670a93b34e320bca861023e5389ab3ebaa4553b18f51dbc74cab83d7034513e9bbc593b0f4230bcf51e593d5b76a83dc5600a3b6e77ecbbebc6523cdcdc8fbc679174bd776e913b000000000000000055f495bde158d43b000000000000000022ee5bbd179c743b0000000000000000e0405bbd3f9a333b0000000000000000752636bd7c0ca83a0000000000000000a7d766bd3a5c883b0000000000000000f92340bd00be153b00000000000000000d7c5abd8954a33b000000000000000085d61abd9d228e3b00000000000000000634a0b8b36f1d3bb768dcba4c018fb9825a72ba2985f73ae0f8eaba8b4b633bbfc5aab9bb870b3b39129f38f1609e3bb08913ba41d1f63a49f6ce391858923bda6426bb2438293b183a6eb90eba9c3bcc3377ba46d0bd39c166ef3aa2b2bf3b0420d1b88f14a43afb18f83a9097b03b2e68d5ba4669b5bae140c53a0460a63b5a062aba6be901bac200a63a0f355f3bf0750e3bb08e4f3b158baf3a7323a4bb1317da3b7a57a43bb7c7a33ae5c77abb69409a3b5c26833ba835ed3a3b61883ad497ad3b327e4a3b08f87c3a8a4e613b1824a03bdf0a083bedba9d3acdeac33b568e9d3b12c0e43ae3337e39e131bf3b588e683bb672273b0a88fab95dc1c53bb1d9663bbcce5c3a163fab37a860ba3b53be843a786c5fb8921a4cba90bdab3b43666f3bdb8b0dbded511abd28c84f3b82fe8ebb5d968cbdd7383abd9f47b03b010fe9bbf6c897bd4fb326bd547c6b3b1e3b0ebcd3f28dbda32711bd0c50063b31f40bbcb28367bdfff0d3bc3e97453b67bc40bc578a53bdfd19a4bc0ea1443b6eca45bceb6623bdf06f41bc3602833bb9be17bcdc96d0bc1c65a3baffcc9b3b7213abbbdeb411bca202fc3a3406993bfcbe603b1330a7bce9ecee3d73038a3f4379a53b2e94a2bc8aafea3d9b8f813f93f44c3be53065bcf33ae53d90455b3f6d385b3bc5161fbce634d43d8c34323f4d87873bdebefbbbd6b7b23dc836083f494b2b3be793f5bb4bb6973d1d16c53e4d703d3b354804bc8fa75b3dffa2713e2d1a0a3b97a027bc084efd3c389bc43dc3300d3b58e9efbb15592b3c581cbcbcf4c767bdb9cf5c3b000000000000000041a382bd9b3e983b0000000000000000968445bd86d2753a00000000000000003d3e2cbdc48825390000000000000000dabc22bd2818ecba00000000000000008a8436bd353564ba0000000000000000aff74abd8d52053a00000000000000006ed856bd1594a73b00000000000000006c0b32bd75c1523b00000000000000000000000000000000000000000000000005a33cbaa9f6973ab88603bbc6821d3b331083ba62446d3af56307ba87ef413b827d28ba885224baec1f1739419e3f3b4b17ebb9bf7b453a3b61bd39e10f3c3beb79b3baf2dd2ab9c8e74e3ad681543bb5062ebad1a8bcb8f4b5dc3a9ff28f3b323983baa5f073baf0fe393bdeab793b0000000000000000000000000000000000000000000000000000000000000000e64b813b2f4f613b9397b9390794edba484e8c3b7f814b3bd5ccd139ee89943a6df5793baed6143b533f2f37af62ad3a14ed533ba8b6df3a26909d39b96e833bcf66473bfa89d53aeff7943a8b98b43b1286583b52484bb97ee2aab97cc49e3b585b473bcdf7c93a5776a1bad6f49b3b00000000000000000000000000000000000000000000000000000000000000007c5912bb80fa77bdcf8221bd09618f3af31e72bbd43078bdd34809bd6996dd39fbc98dbb4a2c60bdbb79eabc082880b9212dc6bb1d2f40bd6997babc4ad588b9180ec8bb5ab52cbd989088bc2ac7e6393b93fdbbdbce03bd2a3d2dbc5cb51d3bd01607bce8f2adbcd68fa2bb5d8b423b000000000000000000000000000000000000000000000000000000000000803f6d10163b716a9fbb30c904bc3b6a8a3fd285073bb6c00bbb0b259b3b166e673f3209353b8cca10bbf2051a3caae53c3f58350c3b352e2eba4941783c1372123f9aee193baa3834bbce438c3cd11fd43eb1d9da3a228f34bb04b7713c9451853ebfd8303bee4aacbbd4a5183ce4eadf3d00000000000000000000000000000000000000000000000000000000000000001c69f0bc62a8183a000000000000000019a7a4bc4bcf86ba00000000000000006570a4bc924911bb000000000000000030e59ebc3c8d37bb0000000000000000529cc8bc5df6fcba0000000000000000f12e00bd4390e8ba000000000000000094662fbd109c88ba000000000000000000000000000000000000000000000000000000000000000000000000000000000f29a9b9db0343bb86b162bb9b1c1b3bc444913787717bbb3e3034bb73359e3b403980ba42b11dbb4ea5d1ba4ed0623bb22dd1b9e49be2ba421303ba2064743bfc6e0fb9402676ba9f8b393b7efe8b3b94bfbdb9613763bab3aca039b1e0993b985252bac77d94ba41c10a3b164f763b00000000000000000000000000000000000000000000000000000000000000009dcfd33b98fe0d3be4479cb99a48ef3b79c4ca3bac54f93a1a90453a2c50cd3b3812c83bcbf80d3be192383bfd287d3b85d5843b1700093a0cc7693b1f89123bd777b23b667dcd3a1c129b3be80263ba2489393b51936d38b54a853be0ea57bb46b9c43a0259eeb8e659143b834873bb0000000000000000000000000000000000000000000000000000000000000000c99b05bde38046bdfbdbaebb45f986baf92713bd757c25bd43af8cbb770e99b9ccba0abd70860fbdf8e72ebbe15fa0ba8a91f8bc1c31dbbcebcee6ba03e8f5b931adf4bca479a2bc5d190e3be5aababa7ffbcfbc5b614dbc428d863b4575633ae041b3bc5b7ebfbbf0171f3ce34c7a3a0000000000000000000000000000000000000000000000000000803f000000008c663a3adac09bbbceda803f663d01bc4c9e8e3a1bfe063c966e5a3fedfb23bc805b273bfd8f6c3c58de333f5b3156bc574e2d3b9706983cae8e0d3f78ae9cbca79e6d3b97b8ac3ce2edd03ecf62eebc757f853a8cf5b23ce0e9873ef44317bd7f137d39c957bc3cb980fb3d70264abd0000000000000000000000000000000000000000000000000000000000000000abe327bcf94f7539000000000000000035694bbc72bd14bb000000000000000072bf54bc8d1838bb0000000000000000400954bcd14a43bb0000000000000000fa045cbc40f08dbb0000000000000000724b41bc546f2ebb0000000000000000e075fcbbe7ad26bb0000000000000000000000000000000000000000000000001f52c9b9b8c375baf74095bbad3336bbca2078ba469a02bb0f5342bb1a1bf43ad34699ba48f918bbd6b5fcbab1cb4e3b6b93c2ba2f571fbae6210cbbe39e5e3b2845c8b9a885d5ba8688bfba9b26543b61b700bb8844a4ba5f57e4ba613c2d3b3870a1bade34b0ba25cf7a3a933d893ba5ae7fba49999cbac0a3e83a6b51733b2a8ba6ba175ed2bad89acb38bc41cb3a5f8d9d3ba74a0a3b3ffc90ba973e063ceac3ff3b881b673b11ea0cbabebe123c837df73bd3271b3b2eda603a9406fa3b312bdc3ba36c223be7043a3bc459f43b1c77aa3b5918db3a55c4753b3614b63b17fcb33b3039b03af977883bb5b4573b7a1c7c3bc31d303ab62e593b5a22713a6bd5203b1d13f937f513ff3a130cb6baa173163bb7a09f391baf353bf7e0ebbacd0a29bce08639bd4a220cbc193078b82814e9bc036f72bdc3a01ebca12fdd3962b311bd894167bd67391fbc10f525ba394515bdb19647bda7b801bc51c62dbac1e504bd912e19bdc9598bbb31dfa3382b5106bd9757fcbc7e9e033a6a82973aa769efbc74a7afbc91bdaa3bab339a3a501bbabc82cf3ebcf8be233c09f2db3a6dfb5fbc56a29fbb739e1c3c9f2c383a3c11dc398673e1bc3586803f28f0013eeb970c3b36c8b1bc9cee6c3febd2e03df4433a3bb83b56bbb5e64a3fbc5ab93d27b4423b8d9c023c95af273f9bf1893d6d24223be496763c26f6023f5d0a313d33cc123bf7ddb03c6ddfc33e8b2e643cd30d973a5e42c23c2fbc7f3ee96f6bbca925a7bacc57ba3c04a1f53d549628bd50b1c4ba91798f3c8a01abba5c9c4abd978873bcd141fd3a00000000000000009667a2bca240da3a00000000000000007506a3bc1b41c93700000000000000005205b1bcf61519bb00000000000000006105a9bc998641bb0000000000000000171aabbc774241bb0000000000000000456c99bca10847bb00000000000000009b3366bc0c90b2ba0000000000000000f139d9bbfc4d783a0000000000000000ccb966359dda323a0b785ebb9b85aabbf64b49ba650396b983eb84bb7bfb59bb66c4113a776fd8ba583026bbce7c24ba2b9fdb38c744a6b981a32fbb76a18f3ac3a139b99e218eba9dcc21bb8c65093aef338db927b693ba4444cfba1782fd3abd98fab99acaacba454787bad01b173bd2fc67baa2c4b8ba207f21ba33e9213b90de1abaf65da7ba70c96fba7e6f8a3ad9a5353bdfcd2a3b033aedb95a23f23b1556b13b5cb9773b0801c939489f323c1ef6af3b81ac233b2664b53a365e1c3c9cb4933bb283583b40be1e3bd0b3293c1ae9843b653ad43a52b0803b7557113c8d83a33b7a5be23a6014833b33c7f33b0c6d7a3bfcdf9e3a716e373be718913bbae7503ba3a16f3a91ca0f3bdea1393b378dbd3ae1983c3a21b1a43abb49033b56ef9b3abe9b1abdd9cf5dbce17f043a14893abc5edb63bd57c991bcf758a539b1b48bbc23084ebd56e170bcb4d284384076d2bc78bb57bdf1e16fbc3880f4399ac8b0bce1fc19bda33604bc3df37bb763c8cfbc88cb12bd45f487bb433bd93a0002acbc59b8d0bc3cc3523a4aefe43a6f1e9dbc2e2e93bca2a1be3b36ec2f3b626032bc1b4b0abc156dc83b022f383b4592cb3a0cfe01bd82a35a3f29ec883ea7072e3be24cf3bc93174c3f87ca743e41b7083bed743abcdc202c3f26c9503ef200163b342df5ba8c37133f9d91253e8d7b233b607aff3b0ca0e43e62b1f03dc65cfb3a1f15743cc068af3e14fe903df96cb73a262c823cfae7673e3503f83c7b3110baa8959c3c9a6bf03dfbc18abc809f5bbab3f4723ca94b253cf39222bd8a83aabcfeee0b3b0000000000000000fd95e9bc2678d93a0000000000000000167bccbc3f95bfba0000000000000000c513e8bcc26fa5ba00000000000000007295cbbcb3d22fbb00000000000000001521efbc28a22cbb00000000000000006355cebc9eb1deba0000000000000000234ebcbc719580b9000000000000000002066dbcbaad5c3a00000000000000005326b6b8c1e0013b212545bb3bd0ebbb19581abafe87ae3a22767cbb66dfc4bb270e2eba4971a43970ad84bb123c76bba9253dbaaae1dbb8d93a77bb9d0feeba3d5b03bafaf6413abd0405bb7544c9ba110e05bad7aa90ba9c6b33bb2f22ea39b19b05ba280d77bab42a84bb6189113b53a509bb646dbeba6be90dbbae70c23a599968ba695ffbba4c2918bbac370c3b094b003a5e2e133b99790e3ae4aada3bdedf6b3b17b5813b559a903a31862c3ca3c5853b32e6533bf21f173b8ac8463c36bf943b2b60433bfb84533b215f4a3cf547643b5caf483b7f23703b94e1343cd04a8f3bfffb133bdadc753be935213c5aa44a3b137ba43a62186c3b4919093c3ef5663b57c3cc3ab689313bd30ace3b4b71e53ae70e8239ec89c13aa52b823b893f113ca4b1fabc37499fbcda4e25398953243aa5314dbd1d83d0bcb319003aab5d13bc460f57bd9d0ebcbc2cbb5ab93b6b68bc5bb84bbd17d09cbcc60d57387cda81bcfce02dbda03c6bbc3f84e2b8ba5391bc2c271bbda45611bc9dbeec3aa0f88dbc696bf5bc109e14bb397ad53a383e74bc21c4b1bc0035183b9bd2793bb3b614bc72ca45bc82867f3b60b74f3b129fd63a7566f4bcb465343f1973d23e0cbc383bee0300bdad33293fa54cc03e76e32b3b54e786bc5f7b133f3334a33e7923333b8813b2bbdb2cf83ef521843e43be2b3b7ab5693ba1dbc53e92c1473e9397183bed631c3c999f973e5cbb063e6e082a3befad6d3cce904f3e7a138c3d5892c13a62437c3c98b8e13d24ac1d3c83ad5b38cea75c3cf0908d3c5cfc02bd2bd6cbbc83eaab3a0000000000000000176110bd7599c43a000000000000000062ee0bbd52cb38b9000000000000000062d10dbdbc65f1ba0000000000000000257809bd04e547bb0000000000000000ecc411bd4f731bbb0000000000000000812a0ebdc3b692ba0000000000000000022b02bd5d509339000000000000000011fdacbc90cb833a0000000000000000b40b8b39fa035c3b21f70bbbe93e07bc5e2dd3b92b38273bb6e676bba7cafdbbf92545b90782b13a374980bbf87da3bb6d0482b9cc9d443a94d08abb01f571bb558fa439f690b83940bc59bb14a515bbe17edfb7a9dabeb9ea3763bb1a0664baec001b384e5e4dba0dbd44bb4e098538642515ba32b5cdbab15949bb4574123a84cb30ba61c8d2ba0aba2cbb0fb4a4394f4850bad1302a3b5f96953a64bcb03b36fdd83acc747e3b7281e13ae54b163c6dba1d3bfae2453b9eef223b3eb5323c40f6523bdfdd413b40fb633b91d3513cbcc6f23ab50ec73a35f4573bd46c283cf2656d3bb2cf253b119a813b9b3d423cbd6c553bb3a2e83ad476583bfe641f3ccd6e973b4e55cf3a2a611e3b1ce9073ce4dc0f3b193e943a59fbd73a1d6cc13b2df8703c92cdd2bc49efcebc34eef737b95e1b3cae4131bdd31203bd1b885f39d50e4b3a7ff436bd5c5de0bcb09f38ba7de3a6bb4f1845bd3ac8cebc59ede7b9282ec8bb619008bd080e80bcbf3fecb9ec9236bc8fd31fbd851964bc5438cf3a54e337bc2002f4bcbda7dfbb1999283b9dd63dbccef6c8bce746aab8bd11853b7916e3bbd0de67bc774f993a5f95863bbae6d63a34a8e1bcc7e90e3fe08f0e3f835e1e3b7a45e5bce48e053f198a023f04d9fe3acbbc77bcfc21e83ed809dd3eb70f183bc619e7bbc48dc83ed6d9b63ee44d053bd448bf3a2b399b3ed5e1893e880e2a3bda08ca3b182a7d3e5cea453e07830d3b95ef123c62e32d3e7fa7e83d929b013b1d10353cd013cc3d4512153d1387893a80081a3c26ebbb3c8f67c8bc95a8e8bcce4c433a00000000000000006be01abd87d0653a0000000000000000287c0cbd1891ffb9000000000000000020981cbdcb201bbb000000000000000048a0f3bce22230bb0000000000000000519327bd895632bb00000000000000006f1b1cbdd12ae9ba0000000000000000624423bda64449380000000000000000bbf2e2bc7b20bd3a0000000000000000b3cf5ab89353a33b5b851abbd4ef0ebc8abaaa3870cc603bdf56adbb2a731cbca7ae97397493613bcc718cbb6811e8bba36982b9beb7a53a1a1182bbf6d47abb48c1a339bdf95c3a46a372bb91f432bb35ea19b820e7c139b9e266bb6aa491ba5c657f382f7718ba4e805dbbc29ef039832427ba5843b5ba82f751bb4a7bc03a8104dfb9f58d9cba8cd531bb4929473a76a4f7ba34fc283ba708a93af1cb543ba35dca3ac3b0b53b7778023bf552eb3b1ab8bc3ac81d8d3ba9f5423beb46333c3d3d3d3b7873823b523e483bf211413c57da233be69a363b928b573b916f6b3cb27d633b4a32423b6ada5c3b41fd513c99f37b3bb85f153b46b8373b8874403c4b62763b9278133bbd5df13aabaf273ccb1d163bb513bf3aabdece3ab3dae33bb9e68f3cd114b8bcd818f1bc87bf35b9dc8f813c17a823bd1b3720bdf837a63a65d80c3c81963abd304621bd708106ba07c5da3a1b5342bde14bffbc47e501ba0be230bbde222ebdc070c3bc92b7c5b76db2cdbbcfc324bde49496bca0bfe43a296907bc18bc0bbd142d34bcf7fd653bfb4713bc3710ddbcc3b38fbbde02ba3b7b6cbabbb68f7bbca29913ba7f23903b3daad53aad20cabca64ad33eabad343fc12b273bdc07d0bc45fbc63e7b77263f7dafb73a55067fbc48a1b13e7ee00e3f5a1a093b9140fcbbe02e993e9116ea3e69f8dd3affbe99ba57c37b3e16bcb43e52c6183bded93e3b6590493e444f823e0bf5233b0228bb3bade7123ed7361f3e6f83093b52b3dd3b559bb63d9a8a763de77feb3a864fcb3b646fda3cd40c99bc7d58f3bc0d86273a00000000000000004aad30bdf146efb900000000000000000fb02abde3aef7ba000000000000000068c527bdd43329bb0000000000000000571827bdfaa25ebb00000000000000008b5a3cbd45394bbb0000000000000000df7145bddd6cfaba0000000000000000857947bd8bf2593a000000000000000077ac0abd049aea3a0000000000000000604503ba1cb25b3b2db806bbe029fabb36fa29ba321c323b84b482bbf33bf8bbf27904ba2985e33a68f262bb505292bb5d0eb2b9a733d43afe067ebb8bb382bb8e10c139ec4d833a348f69bb28b035bb21857ebad7e09fb940de8dbbb43b23b90287fbb98787b8b92f9d52bb7bb6d8395437ddb9fec385bac62141bbe21f0d3be26815ba6ddeb1ba70f72ebbe3c8c03adc72a3ba12a95c3b3084903a05c1d43acc1e913a7d0cb33bc8c2da3a5deeca3b0b5b213bb38a3c3be0390d3be8b2fa3b00a7153b06d6863beb84323bd6fe323c27c2f93a3fd23e3bffbe433bacc3373c9002933b5c22563b78b67d3b50234c3c07554e3b829b633be7b1b73a86f72c3cf267823bcf24163b1a94c33a1064363caf962a3bd673dc3af16e613af224f93bf8e1a23c2d58a5bca98511bd53a9b739ef6d9d3cc3f922bdae933ebd742fcc39eac7343ca66b2cbdd5b91abd2428a9b90f06ef3b59bd40bd758b17bd209aaeba87ec143be20a1dbd0c2bd4bc9f1346ba1e6134bb674426bd863fb0bc48c04a3a757b9cbb378204bdd77a59bc03c9373ba960e2bb4b70e3bcfb29d0bb7e96c43ba29ca6bb499b80bc6ea0a3bad8bbb23b5baecb3a7bc6a5bc8ff8893e74a85a3ffbc0143b2285a9bc19df823e20824a3fc1d6c63a55c03dbc9ae86c3eb845293f38e4973a0749dcbbafb4533eb4430e3fea819f3a89bea8ba45b62d3e78e9d93eb8972c3b186a093b5033143e827da03e5a58583b352e113bc2c6d73d0650493efb861f3b7659463be618993d72bca93d6ec3123b6c04233b977ceb3ca95481bc06ad04bdee57653a0000000000000000e9912dbdafcba9380000000000000000291811bd7360afba0000000000000000a6d524bd670d7cbb0000000000000000967717bd54988dbb0000000000000000b83f43bd0c8b58bb00000000000000006d363fbd3ba2a0ba00000000000000001ba461bdfdb9d439000000000000000034ef24bdf11f0c3b000000000000000063fc18ba1660463b2c2a20bb9a37dfbb96a895ba736efd3a46288cbb2a46b4bbfeaa57ba4e9ecb3a95da8dbbff2a92bb2b37acb730c4d13ada8e88bb3c9b5bbb74042c390b656f3a831e72bb5ee711bb505d8eb94aa9363a3f1a37bb3b29cc383112adba0b7ac83891f449bbdeacd23a33e772baeaaf93baa9efdeba3f7a543b326284b8da8e58ba7c97eebab068f43a9dd9baba7b328a3bdd6d4b3a6f0f84b9a1052c3b1cf1dc3b60f6a43afca5fb3aa91c213b2c44a83bd823f13a6be0cf3bff7f303b4651923bfc31173be9281c3c566b193bffb6803bc20a1b3b9ba6303cbfc8a33b9f4818bab6dde53a4dcb493c6f45833b3cde753bd7bbfc3a605a4c3cb42a873b56ea593b6909a1b8e2db223c0c2e313b1484073b4350163ac1eb053cdd93ab3c80efabbce20428bd401526ba36bfa33c3efa2bbda30151bdf7ba24b963a57a3cb49d41bdd0d13cbda8091dbb80e8283ca2b040bdb7c122bd683f17bbb5eca43b84c029bd4d56f6bce2f1dfba1e3e803a28d527bd53a6c6bc91730b3bd3cd32bb09d610bdbf8c81bc7500213bf32cc0bb2f19e3bcfc83eebbe29bce3b123e8abb169386bc568d10bbc4cbbe3be8f8063a4c8874bc90a6023eccd0803f174ff83af3d15abc552b013e01256c3fa1fd4b3a285b00bc7ee1fb3db812493f8d2acc39c52671bb1477eb3d2246253f26381c3ac9332aba7156cf3d6e98003f14d4a13ae32b233a3e81ba3de6a8bc3e6820d53ac4571c3a38c8983d56616f3e01990b3b9c381abaabea663d78ddd03dccbe163bbcfdce39dc2afa3cd4ee72bc2d41e4bc0abaf6b80000000000000000dec00ebdeb0095ba00000000000000008651fbbc6d2b62bb00000000000000001de104bd24e1b8bb000000000000000088cb0cbdfac4c9bb0000000000000000c59f33bd4c80c1bb0000000000000000fe254fbdf9c795bb0000000000000000fc186bbdfa9594ba0000000000000000d4743fbd1ea31a3a00000000000000000000000000000000000000000000000021d98fba396dee3a1dad4cbb09d293bb1fb907390f76223a588dadbb966631bb794f87ba5500353bdaa94bbbcc096cbb92a56039cd5c823ae1271dbb18a5fdba95b427384e4c263aa99625bb15ae40baab5c1b3ad730a93aa6ca12bbeaabe539dc1519395e6f02ba32a8bfbaefc5173b00000000000000000000000000000000000000000000000000000000000000009bb4183a10b67a3b0d0d603a6b7de23a00bfe23a36dd973b2fa6ee3a3f6cb53b94a1e839a96b783b64c60c3a1aedcb3bc9abab3a9dea013b50ed023b88a40a3ceeec0c3bb613623bdff0a43a9e631a3c304e1a3b00122c3be68ad43a10f2263c4cd7303bd29c163b055f243a69ce113c0000000000000000000000000000000000000000000000000000000000000000dd518e3c5c9f07bd2e562ebd185362bba61c633cfd8313bde4241bbdf2cf79bbf5f3113c93580fbd3cbf00bd79c49bbbdd28c13bb03c02bdf452cbbc100957bbe127083b42e0f9bce39da2bc959082ba60c10fb9e43fe3bcb5bf67bc0cb4973ae20853bb92e5b8bc44f2eabb5ca8763b000000000000000000000000000000000000000000000000000000000000803f53a9d0b945a6bcbb5a3a9e3bb2f0803f617299b88b6f82bb1c3a813c14575a3f68bfcfba17d9bbbaa2dcae3ca1f2333fbbb35f37b693513a8186d83cff230d3f9e0ab937547bc83a92b3f83c2359d03e61a5e0b99335e43a6232063dc908863e0a52083b7590fb378453053d3f99f63d0000000000000000000000000000000000000000000000000000000000000000dbca6fbcf23d41bb000000000000000033c062bc1f8b9dbb0000000000000000c0ea67bc49329abb00000000000000004c6ca2bcf553d9bb000000000000000059a7e1bc0b42e8bb00000000000000005b3912bd8f49d5bb0000000000000000cedb37bd7bc994bb00000000000000000000000000000000000000000000000000000000000000000000000000000000296b4abac5f5c1381daad9ba6cf7e1bafa7d4f3a91b51ab91b52d5bafb96daba7ca5633ab79be7b9b00ed7baa4c9c1ba575bcd39746c92ba76001bbba40fc7b992b1383a303792b9ab8dc5ba30448fba22098939aaec7dbaacf3bebaf09f5dba45586239d18149bad4aa8ebab281ecb90000000000000000000000000000000000000000000000000000000000000000064752ba969b81ba1b27fb3ae19a7c3b866481ba61548eba1974ee3a702d4a3b5a5d26bad45282ba1b040e3bab59343b791c003bf1dcc7b935ac073b7890f83ab18f8bb9bd785cbad16d1a3b95c6f13a745960b9edb130b995c7053be409483b08caec38356d14ba1dfd213b2675833a00000000000000000000000000000000000000000000000000000000000000001df36dbaa9d0afbb7f7434bbfb93edba9d21f5babe61abbb2b8a37bb031efdba975519bb07eea0bb58bb1bbbc614d7ba3c1140bb85ab9fbbfe7073bad3b5b73a25322ebbc70169bb5958c3ba19b48fba2cb740bb14e254bb808857ba46f229ba542647bb8b0f38bb783081393cb3cfb70000000000000000000000000000000000000000000000000000803f00000000baf0debad16f333b12b1633f3391a1b909101839437d5b3b2a0c433f522a3b3a2f99a7398444893b2588223f217d99b90db5663a7df7933ba5d1013f6b0001bb0c0e893a9ebbad3b56eac23e776f27bb9aa08c3ac46aac3bfabd823e13c891bbc387bd3a4ef9c13bbd2f023e8c1ec1bb000000000000000000000000000000000000000000000000000000000000000024aaedbaa672f3ba00000000000000006f531dbb73530abb0000000000000000ecc32bbb8e1704bb00000000000000005b8869bbdcb348bb000000000000000082cb4fbbd5d906bb000000000000000057e056bb8d8f07bb0000000000000000392956bb1ccde7ba000000000000000000000000000000000000000000000000feafbb3ac3e8563a9d8f88ba0206f2ba926d443bbf4f513882720bbbd68333bb28589f3a3e2b8ab700cb09bb20391ebb2069993a4b6cb8b907741dbbfae11cbb7b61843a9470a5b9183401bb530afbba21549f3ae57908baa9890fbbdfc4ffba1c63a33af99641ba8c60d5ba7ff79eba3c9cfd3ae418a2ba9cbbf5bae5502abad382b238e9c56eba1b7894ba05a107ba37bbc9b9589bcfbae90ac63a0f60833b6afd86ba96630bba4faaa83a5445863b31e0abba48f061baa3a90c3b1eff893b272d97ba016887bad757343b320e883b519483ba6fe22dba3217293ba805553bbe7187ba416cd4b90987453b292a3e3b9bcc96b90bf5b7b9fa024a3b90eb233bc53db5b9aa9dcd3925f8f63add6e8c3ad0fe4139b0d686381247cc3abbe13d3aa5ab2eba73fa90bb203e24bb08c54fbb0016d8b9c7c5e6bb890983bbfb9314bbdbde95ba2a57d4bbed7870bb3c5915bbacecf8ba3f92d5bbd09a66bb24840bbbec2207bbb6a3aebbac9f2fbbae19d4ba96482dbb1f14afbb8eaf1dbbbd2ccbba24e823bbd4f681bb422491ba74f53abac26561bbd8b477bb961a61b9d1cb04ba4f8811bb5c8f17bb3bc8553995f901b8be043fb6c0bf183ab699633fd31d013eebb987ba85c29d3a365b483f4585e53d77aff0b82ba74c3b90dd2b3febb9c33d3ef5ad3908e39a3b5a850f3f583da13d2131083a11a9a03b3924e53ec7e57b3d929da73aa015cf3b8889ac3eb6b5343d0fd3edb931a1d93b1d37663edb09dc3c2d9a223ae819c93bb44fe73d5d770f3c55f6983ae6bda53bdb1cf43a0385b6bb2cc855bbccbe98ba0000000000000000552f45bb002029bb0000000000000000600a4cbbfa3f2bbb000000000000000021e67abbf8df37bb00000000000000002c3377bb3d5b44bb0000000000000000f1d992bbb8b73bbb000000000000000034cd8ebb6a371bbb0000000000000000316a92bb70c20ebb0000000000000000df4f40bbacb1bfba0000000000000000774a803a95672c3a8879c2ba01e53abbfa31f53a9bcf763a00760dbbdc2579bba86ca93a7f02c539d01b01bb9ad137bbb0c8d33aeb0a42b8f6f02fbba6a856bbc1198f3ad2d68eb66fa5eabaef2b0fbb2680973a5fee023a86ac16bb81c413bb87656c3a1a543bba419508bb2cf9ceba8a63503af55572baf52e13bbccf5b8ba05f50e395c736cbaec6bc7baee8355ba1e94ecba1ec3ec389a35823aa922623bf20815bbe0febcbaf0b1223bd434b13b849befbad61d8bbab78afa3a9a178c3b23534bb8451a36b803182a3b21ee9c3b5096b7bacdb77bba823d2a3b018f793be44da9ba2ca248bad2df483bbbe4853bdc4f40ba2b77f4b898e72a3be80f313b301bf6b9fd4879b9f4b5343b07b81e3b35339938676c613857d1df3aa8e89a3af747fe3a3b7090bbecca6ebb05ab16bbb6a2f03a5c0cd8bb33b4a8bbea6254bbae7896396747bcbb22f285bb905127bbcf8355bacb9ce9bbbb8e98bbffa743bbf89f66ba0356a6bb2a2a4fbb3e1708bb43a0f0ba5587bdbb16fa53bba95a01bb0e61feba0af58abb8a01f5ba82ce7cba7b1f1bbb87528ebb70ccabbad9cf44baa3fbecba6c0831bb204906baac08d1b87f4728ba68d54fbad019433f0517823ec23ae8bac88a983ae86e2c3f669d653ef14f8bb9ac26033bb473133fc65d433e3675a2b9cb076e3bde6df73e714e223eac9ff139f9528a3b4a3ec53e0864003eced23c3ae748c63b9d78953e7dffbc3d40ff463adba9b13ba702473eeed7733dafcc903ae0d7d23bf741cc3dc222d63cab9b713a58bf973bd7e9423b9d0393bb265207bb8dac03bb00000000000000003f6d54bb96e53bbb00000000000000006b3a50bbb52028bb00000000000000008ac699bb866e59bb0000000000000000bc617ebb602d30bb00000000000000000cdea2bb971b4fbb0000000000000000aa7390bbe8b722bb00000000000000008beaa3bbba0c1fbb0000000000000000b4705bbb4050c2ba0000000000000000180e983a191a933a0fbf85baaa513bbb64f2c23ae5779f3a00f9febaa35782bbec11db3a41f65a3a665c03bbd24263bb217ce53a15b43c3a359a17bbf33b58bbc6a4cd3a2ce8e239bbd00bbb77d939bb3644cb3afd1f25b9269227bb185138bb1736ab3aa5c29cb9af6f14bb84e20fbb6185793a09d93bba7c6616bb367ee6ba1de91a3bda2343ba380de3bad7f4e5baa5e1fbba3b97d1b9c78a803a74d35a3b33642ebb56e580ba1783d93a79cba43b571919bbbba9c4ba7a20073b0d73a53b3a881bbb705bd0b92e06193b2291ae3b60bc03bb3e8b86ba9abd323ba8c5983b0e38f4ba1ee78bbafd79543ba828943b32d3c1ba3aa302ba5a6e4b3ba668753b4c3b21ba803f16ba67e1323b2a58483be14b7bbaaaf32c3a066b703b7500e53a41e7423bd5ca5cbb643683bb290a0fbb096c4b3b4357b9bbdd10bdbb3dcf54bbb673de3ad04bbabbc5dfa6bbd2a23bbb8bacec39bcc4d7bb5b04a8bb6bc750bbaf7d3d39ec5eb0bbff8489bba12326bb88964aba453dbabb66cf76bbcb2010bb83e3b2ba85f39abbf13433bb00c4cbba4712dcbaf6e493bb0d1af5baff1355baf913bbba39ce3fbba9e8d9ba4aea88ba4d0e43ba469d8cbac292223f92f1c23ebd845aba159fd2b8e6c70f3fbcecab3e4f122eba6a9bc63af925f73efc0a933e9dead5b9ccef4e3b582ccf3e06a3743e55e467383740743ba4caa53ee068423e0eb9f9398668a43be41e7b3ead48103eb431103aa567b13b77bd283e55cabc3dd84b7b3ae2d3c03bf9a9ae3db7e1303d2b4d043ad5b5c43bff84803b2a6461bbc56b07bb3863eeba0000000000000000ba5365bbbcac3cbb00000000000000001c7764bb07cb36bb0000000000000000209292bb8afa54bb00000000000000006ba78bbb93bc3cbb0000000000000000ec07adbb71f64ebb0000000000000000707ca7bbcaa931bb00000000000000009d9ab7bb98a120bb000000000000000062397bbb2a2012bb0000000000000000b4b6953a4f61c53adfb56eba6c0841bb0caee83a0e64e73a7c64b3bac70474bb8f24a63afd23593ad67feeba234069bb5428a43a41811c3ac9c7a8bae9542bbbcbec8f3a35224239061d07bb0b95c7ba83e91b3a4921e0b970211cbb4cafc7bab98d333b455b4aba129f92babc99ddba3d03843a29d7e1b96f6e23bbb7070fbbee5a3b3aac5fb8b95cf7e2ba6a88adbaaa0c1cbbf83589bad22c6c3a610d523b667c43bbdce3cebad429be3a703a993be6b02ebbb87b193a2742953a722d8a3bb7e52dbb07c2c6ba0bd02c3b9d61b03b9f7944bb3878fcb8a3b2f63aef22723b353a0ebb6e07b8b94200423b36038d3b370a83ba2c5124bb5cec0e3b97b9613b232699bad3b412ba14ce2c3b64ed733b19840cbac6dc4fba16a0fd3a39821e3b5cb0773b45a925bbd7e290bbd9ab1cbbb155863bd9f18ebbb993bfbb69f353bb60940c3bff29a3bbc0dcb4bb0c0a4fbb019adb3a633bbcbb07a6b6bb993250bb5453093a339192bbfd0a86bb45ef31baf2058b3a8289bbbbd8fe74bbfe9f26bb0b3c85ba6f7462bb9de21abbc85589ba0a4074baea3197bb2e942ebb48e199ba78d864ba350c46bb5aeeb6ba7c64fcb9e55d7fba1badc8baf216023f27ff013f0f7e95badb8e33bafb18e63e5b0de53e0c2cd539ca138c39c498c63ee2aec33e528be3ba29d4123b5faea63e7d6aa33ed850feb929b78a3bc265843ec37e813e5758adb8c9408a3b4d9a4b3ec883413ebfbe88b76b10813b1053083e16a3fe3de5363d3af553a83b13a5903d08fa773d06eb3a3a755b7e3b8a88a53b99ab17bbaa4fffba3729d3ba0000000000000000713b41bb14bf1ebb0000000000000000bd8d63bb43c631bb0000000000000000918a8dbb8d0944bb000000000000000039347ebb696338bb0000000000000000782ce0bb17d406bb000000000000000083ffc5bb3fd8ebba0000000000000000ecccc0bb2d0227bb0000000000000000eeda8bbbaea4bbba0000000000000000917d873ac355c63a586b50ba655a67bb3a8ae33aa338053bd7308bba3bfb7bbb2c4fdf3af390f43a985bfbba92c977bb988ce63a51c1b03acd4df7ba491f6dbb2cc2e93a11db953a5489daba1ae942bb7acff83aaa37433a38e628bb067563bb02e7d73a09449f393a8221bb641a32bb3af2b43a40730838930a1abb846b1dbbb8c4533aa6be3bb9131ad9bac932d1ba0a7b4dbbbda9baba8b721b3ae28b233b9ae459bb1f2df5bab192a13ad1eb8e3b26d360bbf2d6d6ba9656d63a040ba33ba3b13ebb22d8abba5115063b23ebad3bf4621dbb4227d2ba80e3173b7e78a43bea4b35bbb385a4b9f364363b488daf3bd9a5ffbabb3a87badc99323b90fd9a3ba072b4babda826ba915e2e3bd9aa8f3b900e53baf84d21baf4e0eb3a53d7313b7872c33bb19a07bbc10ab1bb5d854abbd6e4a43b844570bbd085dabb2a5161bb538d753bf2438dbb583bd2bba3556ebbf333413bf4f4a7bb7a20c7bba10d5ebb6976fa3a300c98bb337ae1bb8c2b31bb82c89f3ab544abbb2e059fbb6ae648bb0ad3953998359cbbe71c82bb13ea01bb54118bb9ce5699bbe4de56bbea60afbae9bde4b94d3848bb7736feba95032fbabdffa3ba778fdfbae801c33e77eb223ff41db8baa4d08dbacc15ad3eaa4e0f3fa29492ba7cd82b3af353953e786ef53e23bd72ba6fb3d33a4ddc7b3e4699cc3ea67ad7b93db3233bd88d4a3e87dea23e83322eb9145b713b67701b3eff18743e6730e73858fa873b73ced33dfe73213e05eacf39b1369b3b8caf653d0bc89e3df72bd439875c593b7833bc3bc193a9baabe7fcba9af4d8ba00000000000000001a8e2fbb9eb81abb0000000000000000538541bba9ee27bb0000000000000000964181bb309f46bb0000000000000000127088bb6af93cbb000000000000000087cebcbb263d66bb000000000000000023b2c0bb06fa4cbb00000000000000003be1d4bb332534bb00000000000000002d5098bb4ae5eeba0000000000000000d11eb33a226cf93a09af0fba45c43fbbda0ce83ab9881b3b3a6e75ba94b376bbd366d63ac5c6e03a6305a4bae88f44bb64f6e43a8f44143b26ece5ba2fe37abb965cb93ac33b843acce9dbba614446bbf2dae63aa224813ac2b31cbb3b5562bb372de13a9e25143a2f6e01bbe10328bb40c90e3bb420873a5a6758bb363c53bbb2a5733a749ebfb8ae1ce1ba8ed2caba47cd3bbba4c92eb850b6173a5757233b1f9361bba7a30ebb4480883a7a96873b5ada18bb2ff1c8ba0605833a27f97c3b46824ebb3e2608bb1368e13a4352b23b403432bb3f8e41baf6d4f83a50ac963b3ec7ffb9e473aeba680f0f3b6c07a93b5d9defba469604baddbb143b09538d3bdcee00bbbf68c9b9c46c3d3b4c24a93bf7d203ba2d147eb96bf4ee3a1716493bd21e983bbce5afbad3b5a9bb0c8b31bbed6dbc3b79dd4bbbf6d5e9bb6e4e69bb33f47b3b99036bbb87dfb9bbd14130bb9331863b4985e2bb22f5dcbb8c2e77bb7b1e1b3b983587bba6d4a4bbdab143bb4debca3a7fceabbb02d8b5bb5fd13dbb1f91663af15589bbe1b57ebb1de8f7ba9748843a108bb5bba1648dbbe7b8e5ba3afc98b9af1349bb4a8208bbc169d3b9017fa7bad3cfceba0839823ee603433f9008cdbaabda9cba2918683e80f42b3fbcdfc7bacebaa3b8e2fb473e44e4123f028899badb2cae3aaec12a3e3ae8f53ec63a36ba6b3ff43af809093e5a6cc33ea6733fbab7f6373be2bfd93daf9b923e5613eab79488463bf4e4913d5597423ea3115539e6238c3b0f1a293d5ecdc23dfa4f48390cb8483bab65ce3b9f092dba199b93ba2caac6ba000000000000000090280cbbbb0d17bb00000000000000004d8910bbe5aa1dbb0000000000000000ceb367bbed8c3fbb00000000000000000ef469bbc16736bb00000000000000002628b9bb9af277bb0000000000000000b258abbb9b8137bb0000000000000000eb7002bc4fa670bb0000000000000000e2beaabb38a3f4ba00000000000000006602983abbaf043bc0c720b9803636bbe02c933a2032c53a3ac0c9babeb433bb665eb0b80fea0e3b3c362ebb28ea2fbb605df13a7dd5f83a5a2abebaa01c66bb89dbad3a8798953adbc2f7ba18296fbbba41fc3aaa79a83a2416fbba1ac559bb436ed33a5efc4c3a445509bbbdc23cbb9448853a140a5eb9901d85ba202f68bb6eb6db3abac499ba73fe7cba9b8c8dbad9243dbbca5c7fbae4a58e392ec20e3b0e2544bb0c6fe2ba400d093a26de403bb07e12bb825d5fba9923a63ab9f4053b5b2e4ebb54b8fdba8b3bca3a603a983b7ee99bba3967cdb99e44cb3a8f34913b5ccd29bb923b9cbaa284053b1de9a53b9eef0dbbffe12bbad109123b70ac9b3bd82e753a637026ba9be6003bb48c893b3ec418bacd31e4ba238f1e3b23d67c3bae3ea33bfa1387ba838cb3bbfce433bbdaf8ed3b1882c1bab067d5bbe650a7bb74bcaf3bc8429dbbdbf9b6bb6dc253bb1b79883b70f586bbb224d4bb40dd6bbbf6c4353bf43d8bbb0d1bbabb65b266bb724b1a3b675794bb47c9aebb7e763ebbd2a8b33ab2888cbbd34d8ebb232f12bbdcc01f391e84a3bbdf6f31bb606d53baceb19aba0e678dbbe1d1ecba461ca0b9250bb9bae760c9baa01b033e8a77633fc10a01bb24c2daba21a1ea3d54b7483fdec68fba7bc7a538b4d8ce3ddda42b3f76e0a9ba35bc593a7154b13dbc0a0f3f42f04bbadf2fc83ae9ac903ded0de43ec76c1eba37271a3b0430673d4738ab3ef8ab81b998e4313bb321253d8882633ec58517b93653403b18a5c73c2cdfe13d27785e3a57774e3b140bea3b6c181b3a5c9dffb90bbbc6ba0000000000000000d8fb983847a8b0ba00000000000000004f396cba366d77bb00000000000000005eac19bbe5043abb0000000000000000db1cb5baacf647bb000000000000000010ca94bb3b355ebb0000000000000000cc38b1bbd2d24ebb0000000000000000c418f2bb0dfa01bb00000000000000009e06dbbbdb9758bb00000000000000000000000000000000000000000000000069a7b93a3d9e063baefdbfb82b628fbb0ecca53aba52d93a159027ba0d7325bbaec8b93ab02bbe3aac9b8fba62e831bb9ead993a6229953a637e9cba25a913bb5017b23add1b873a3c71b8bafa4b1fbb1204b53ad6c73a3a152dd7ba8aea0fbbd311e03a89906a3a1ae799bae38f57bb0000000000000000000000000000000000000000000000000000000000000000ee6d26bb8cd571bacc05d5395315243b713231bb621166bacf47f339c8f72f3bff1020bbb494aebaf356713acd8a583bf31e01bbb15a4cba067c2b3aaf3c573b2f52f3ba0c8e49ba49cead3a0b3e763be829d7ba32f2e9b91ebfd53a08337c3b87d118bbca5956ba0ed00c3ba646883b000000000000000000000000000000000000000000000000000000000000000057aea43b8e3ecbbabebb02bc8de82ebb262a7e3bbd2321bb7da1aabb889951bb4ebb593b0ec742bbdba2a2bb98ac39bbf9652a3b957834bbd94e85bbf18910bb6ca80b3b098c59bbb21e7fbb40fc12bbd234b93ab5d14fbb02e85dbb5cabd5ba11e9a73a17e797bb484189bb3913a7b9000000000000000000000000000000000000000000000000000000000000803fb41db8ba77a35ebaaded683b13ca633f1ed3b8ba5a2d06baaee68a3bf8f1423f49488aba1a38303ad256bb3b2c70223f80f3cdba8be4c539fa26bd3b5fc6013fdc29d7b9cfedc33aa5eede3bd099c23ed19cb9b97f01003b37c9e83bd58c813ecebf94390a0f2b3bcaf9f83bbef2013e00000000000000000000000000000000000000000000000000000000000000000c6c1b395049b8ba0000000000000000382685b9576ef2ba00000000000000009c6187bab37013bb0000000000000000977bdeba7e7d07bb000000000000000018a03abbbb162abb00000000000000006e697abb9e5933bb0000000000000000815c91bb443b00bb0000000000000000000000000000000000000000000000000000000000000000000000000000000031345a39fea8c53b89b5903ccbcb7f3c1b12013b4c25d43b347a8e3c9519533c6a58bb3aca8a9e3b82db383c0b343d3c5bf4a23a76d2b73b26541e3c90950f3c1dd682385851b73b9f9b013ca01cbc3b27149d3927498d3b600ccd3bae348c3ba6011bbaa1e9493bd0e9803b362657390000000000000000000000000000000000000000000000000000000000000000f8ffa5ba3e950abbf2bbba3a7d05c5bc08d9053b1ebe1fbbd2e2d9baed1be8bc3d5b8e3b429cc0ba0c4d07bbccd8e2bcb5b3693b72a1a3ba51102ebb6effddbc6d132b3b92e949babea8163ab1d7c2bca92caf3af24584baaf5e54b8217688bce7958dbaaccaf23985810a3b9bb908bc000000000000000000000000000000000000000000000000000000000000000023930bbea2a21bbd34f0303c812520bb95c803be85aa1cbda8ebff3b5cb77dbafe53e0bd11bc1bbd4801823b464d3439ec5eb9bdc94202bd01f84d3bf1bd193910a78fbd97bbb0bce715913b575ea239648844bdbfc80fbcbc16d13aba6c2db90111bbbce95a703ba616183b054745ba0000000000000000000000000000000000000000000000000000803f00000000aceb3d3ce29488bdc4c09f3f631a81bdd724283c57fce4bc5156843f3b831dbdfb8de63ba97183bb207c553fec4fd0bca0c5bc3b0744de3bbf4b223f3e5ec5bcd84b313b7ca2183c5911e03e42a5d2bc49d6b73a2968923b3c3c7e3eeeeddcbc134f90b7816b89bb5f99873d069704bd0000000000000000000000000000000000000000000000000000000000000000b94f413b34e7f23a0000000000000000cadfafb95ff73c390000000000000000fed19bbb494579380000000000000000ca366ebbd07431ba000000000000000092b124bbe2ab9aba00000000000000004b46d33a42bc42ba00000000000000007bbada3bcdd00abb0000000000000000000000000000000000000000000000004157aab9fcce173b380a3a3cb932ba3bf3e413ba5927003ceb94c33c7d86693c2214ae39265f063ce15db53cbab8893c455d0a3bd600073caef4993c25c2713c9251fa3ae13ce63b2ffe603c4233333cf840283aa92ec43b8d98443ca251083c8f5832b95714ba3b3ec20f3c1677913b015a0abb1431213b051d8e3b449cb4b65bc19dbab6328db9598bc83acd922abb9204b7ba9dd495babe3eaa3bef58a2bc7da13bbb84856cbb300dcb3b38a2ebbce4260f3b688265bbfd732f3b19f604bd6d2f893b4c1053bb771330baefc708bdb7f9883b135304bb414c8aba3c56ecbcbfaf2e3b12eed6baeb2ed93afc8dcbbc34a58fb98555f23939740d3b24af84bc5d7bdf38990f45b9c5d16f3ba359b9bb9b2e79ba064cad37e0cf543b9dc3ad3a8a348dbd8338eebc0d13a13bfe721ab922e609be4e4c17bde5902a3c51de4b39b7ec0fbef00b54bdff4bc93b99c9a339604100be336753bd137e803bfc7b943a1695c9bd875e2fbd36d3f93af6bf8a3a25f19ebde925f1bc9cdc1a3b4493923a02c853bde86573bc13514d3b93b838bac18496bc6a88dd38fbb227bad39129ba49ce603bdbd6103c3056ef3ad7fedfb96706843cb3280abe4a339f3f3c89933d63f8c03cd8160bbe2d18993fde1f5e3d3c1b683caf29acbddd25843fbdb47b3d21ae2a3c248b4abd97bc553f2fe5623d8eb5d43b5b3bd7bc6ce31f3f15f6283dfef73a3b03ab9abc2d28de3eb0fba93c0aae683b852e93bc845d783e9a76aab92062ae3b8bf1b2bcdfd7883d612a38bc5709003b7e50a3bcc4d565bd97d206bd8316b9bc9e63863b0000000000000000779fa7bc83c8603b0000000000000000cebba5bcc4aa743b000000000000000037b89abcf1800a3b0000000000000000439b86bceaa1073b000000000000000004415dbc4c07543a0000000000000000bbd4ebbbf396063a0000000000000000aecb503ae5fe9a390000000000000000f878543ba1ae81390000000000000000c2025b3905cb30390b9b093cb87aa03b1b594a39bc8ba13b6676823c87bb473cd0c1ca3a0fda9a3b692d6d3c3e0f463c3fb3e0398ddab33b6d2c833c08e55e3c4c5a473a137b993be22b393c68b20d3cfb825e3a4f62a13bd6272c3ce3a9fa3ba907b4b8a954313bf182f23b8d89803bfc0367bab227d33a3ec1473b8dd0c93a1e20d2ba9f5b4bb9f2a2943aa0027aba60e2fc39ea73b5bafccec13b254cb6bcf57a4a3b63f915bb519fdf3b8309fdbcde79b13b8b6232bbc6d9dd3ad0e9e1bcd446b33b6c27b5ba51652f3b028df9bc6a7faf3b0dee46ba4a69a33aa174c7bc8508443bb6e4cfbaedf8f83ae192b2bc52a9273b8f7d07bb56a08c3a912764bca41e333969e4e4b91fd7983bf1a2e6bbc39386b7d3c26fb986ee5a3b2ca9cf39859f10bdeb96e6bceddf9cbbaf10563b7570bfbd81a25fbdd0de3abb430ae63a5689bfbdb8e47ebde6469ebb07ff753bbb76cebd1fe681bd3ab38cbbdf3d633b8e1c9ebd438a4abd44894ebb8c3dfd3a0e4385bd21fc1dbdb8c849bae87d633bc9d427bdd143bcbc80baa93af29c603bf8bd93bc8d17c2bb35fd063bdd01fd39cf6d0f3b3bfc9b3b77a61c3b02691eb9dcf9893ce72508bec133853f6cf5813e3733b83cc65914be5192853fb4f46e3ed2a9623c7dddb0bd03be5d3fcc235c3e1ff73e3c9ac892bda8343f3f41ec2f3eee55083c363b30bddc820e3fa3a4033e3ad5e03b3ee71abd5fd4cc3e10c7a93d18aab13b5d23dfbc26ed733e0da0213dc315ef3be8b500bd1c41b03d4e134fbb3b197a3b9c3ec6bcfb1bc1bc59fef1bc411548bdddf3c83b0000000000000000c48b5ebd52282d3c0000000000000000e23134bd5714a33b0000000000000000faf729bd05f6b53b0000000000000000c64007bda4900f3b0000000000000000b8dbf6bce95c6d3b0000000000000000dae0bdbc239a003b0000000000000000bb255fbc961a6d3b0000000000000000e6cbf2bb1759513b0000000000000000d5dcb8b9bca5193b1cadab3b055c473b7e23e43a34f7133b116d323cfb95303c22322d3a2540a53beceb4f3c63075c3cf4c6423a9540a03bf0184d3cffc4493c72b2553a3726903b62191b3cdc8e203ca2e6b2b8f8fa8d3bb6b1163cfea0013c8c330bba3db74d3be30fe73bb9bbaf3b6d5080ba670ad23af9cb5e3b01d2243bdecff9b936b6193ae2199cb4ab450339828c2c3b6519f0b904308b3b550bcfbc69e7c33bfa9f09bb3172d13b71cdfdbc4742f33bf4b018bbf2fc393b7dd3edbc2e70e13bee7e6aba4ccb103bbd72d7bc916bda3b9bf8b939fdfafd394450bdbcee069c3bdf297dbafe22fc3ae4da98bc44ae513bc6e4d6ba3867433bd06046bca0554dba2ed813bb36147e3b3b4dc3bb674b133a13455aba9d84263b749575ba1a7367bc76d606bdf0e87abcab87a83b54597dbdec9084bde25e6dbce720f03b2d5ba8bdb0a49cbdd1c750bc8e47d83b9e929fbd0a3b93bda0363abc5ac7ab3ba0e389bda8d379bde3f92fbc4567823b0ef15fbdc9fe3ebd2d3697bbe44d993b3c781ebdc6a3f0bc53e7e3b9eebe793bdc198fbcbb5225bcb085733b2452433bb7a40439f761223a64c97d3b1df8243be881393c2c0ce7bd0e14583f2a3fe53e878da03cf77e02be0bb9583fc7c9db3e05fc7b3cfa11c3bde02f403f5fdcbf3e8a40393c3fe390bd49b61e3fb69e9b3e7676233cc7b050bd87ddf83e38be6b3ef516ff3b3d8b2cbdbf70b23e34371d3e409ed63b4e7517bdf06d5a3e7c16a43d0603d73b91800bbd3e22b73de882663c088c263b20cfbcbce65771bbebdcf9bc540093bd6a46f13b0000000000000000ff05aebdc3822f3c00000000000000002bd993bd436a083c000000000000000060a77bbdc759c23b00000000000000000a4c57bd2944933b000000000000000073373cbd9b21903b000000000000000004031dbd1c66a83b0000000000000000c3bae1bc5235e23b00000000000000005d8497bc40042a3b00000000000000006601893a717b1bb932cd973b0b662d3b0c805c3a0640143b40590d3c32fe183c3f26bb39ee2a803b31f11b3cf69f393cbeb6c23afa4f463bd1b9253ceda1413cc4e5843912b7133b2b21ca3ba5bfd03bf97f67391c0f563bab76e63bf931073c73438bb997fb033b95b3a33b68e6a03bb1b73b3916f3773af1ce323b71d52a3b5c8225ba96b471ba4ae7b73acc90e0397dd64f3bf291813af7ee903bd259bbbc6e22063cfeb3c9bace07ba3bc2f1dcbcbdf8183cd22c39ba90ad673b0bd3c6bccd16103cbe4dc6b981c3f93acfe1bcbc86a1a93b4574693a1ed2603abad477bc6cbfdf3b078894baeb25063b244582bcd1493e3b6beda0ba3f37f33aa5411abc8553aa3910d8acba1b20f63a83d997bb82f3333a268c1dbb3e81383b13e1bfb80d152dbbbc8c15bdbf4ccabc8b8ae33b15d128bd870099bde516cebc67eb143c559a63bd419ba9bd3f42babc8977d73b168c7dbdf3a2adbd67599cbceaeffb3b82872bbd6e3c68bd48197ebc5e206b3b749d3ebd661164bdc79628bc595fd03b0213f8bce41505bda9e117bbec1c8f3b70e381bcc8fb5abc98b1743bc2c8283bb7cd0fbab57b9bbaa9e6ab3bf768563b60fa0c3cfc01bfbd127f253fb2e7243f3bcf5f3cf1d4d1bd0d77243f611c203f6095303c48fd97bd44a6113f0db9083fac8e0d3c1ceb7cbde25dfc3e413ee23e66c7bc3b95a909bd3466ba3e91c3a23e1dc5c53bd9ac24bd9d5c943e2817683e0540c33b224207bd594a373e02c0fb3d1a51be3bdb0207bd62daab3de007033d4fba823b798cd1bc07cdd83b223301bde8f6bcbd332f0e3c00000000000000005f48dcbda9f87d3c0000000000000000cad2afbd5b92163c000000000000000024fba0bdd7addb3b0000000000000000151259bd64bf263b0000000000000000ce0473bd37e7ed3b00000000000000009b5241bd3389c33b000000000000000060cf22bd3f24203c00000000000000003ea4eabc8e60ff3b00000000000000005cb4c938c5a6583aca82033ba29f473b393a793addf02e3b24dbd53bf5de333cceffa6393cf8493b04980e3c3480723c1b6feeb9db728f3b52bb083ca6074e3cd6d300ba1bcd753b1501143cfc20153ce2aa33b9028e3f3b34afe83b8eb9133c53cf74ba04921e3b4a6fb33bec59eb3b432367baad38623a98e0753b64f2673b197604b92e162cba5662f2380dd5803ac11ead3b7c9f44ba95cd5f3b10bdabbcdd50353c26aa2bbbd0d6a73ba8b3c5bc4ca24d3cd6dc09bb804e5e3b8264abbc45761e3c709662bae9d5173b6b6197bcfa27053c190be83a067b103b6a5d87bc3225cb3b3af586baa7dd033b5f8549bcb43e373bf357ecbaabd0043b562befbb9c7b3a3a58bb41bb66a92d3b4ded3cbb35835bba066899ba64ba143bb75f953ab16e093babb22abdd470e0bc6c1e0c3c275a01bda244b9bdbedefbbc9899583ca8d747bd22c3d5bda682f1bc37c82e3c866350bd10dfc2bd9d1dcbbcfebe1b3cf49c43bd9d88a3bdc62daabc28c5cf3b363527bd3c357cbd355b36bc4d82c93b941dffbc531028bdd863a1ba3cfda43b899c87bc1cfa8fbc17f1a53beb16623b391ee1ba80421738b947d63b4eec293bda241a3c333c97bd18bae63e908f573f21474b3c5aa4a5bd24eee53e988e543f997a243c38d580bd6835d33efa17383f0cb6133c1bd24dbdb9d7b53ec93e143fc83cc53b113222bd3261953e9e80df3ea6dbd93ba5ca12bd253a613eaef1973e658eed3b50c308bd279b123e4ad5273e517ada3baf2001bd36698e3d44283c3d89887c3b3168babc133e1a3cb2670ebd92cde7bd14ad493c00000000000000008b520abea9478e3c00000000000000008c61e3bd23b5413c00000000000000006958bbbd8d3b123c000000000000000026a89fbd8372f03b0000000000000000e7bd88bda05df73b0000000000000000dc0d74bda6071c3c0000000000000000f6d542bdb579523c00000000000000009d090dbd83aa1a3c0000000000000000c71ca8b9a1d8813a21fefb3afab0ce3b09106fbae8bf633b2b87bd3b599c863c4c2669b756c7263befb8f53b2fff6e3c5b882039a9757e3b70210b3c7e0a803cc1c174382cc04b3b706cc73b5fbb3e3cc8969eba08a2803bde98e83bfee51a3c44d3cd388117f93a0670ac3be629f03bec4ac2bab70ade38604e553b9451853b37cb84ba3d439e38c9a2a83a0b45d93a7910de3b6a5a1ebbf025a63ba05484bc3e58583c6c5fd0bba116a73b656c8abc3c72443c987bf3baba2a3c3bc25f71bc18d83b3c58e183ba2866ce3a9a8c70bc9a2a083c02de04bafce6e83afab92ebcd7b4f73bbe01debaa7c3873aa87b14bc842f3c3bdac8afbae789c63a60129abb5696e0394a9f83bb862f313bca526639d5c1d4bac2d129bba5c77339ded7523b73966c3a703667bd7c73ddbc62c1473ccad3dabc85eceabd76acefbc3e27703cda6c12bd5d3be4bd7c290abd27a33a3c2a0932bd3cbce7bd9dcaf5bcb730223cd0f817bd73e9b0bd9e74bcbc235ad73be0ea12bd0cd090bd194251bc3a6ec73ba820d5bc13c536bd9c0696bb7f91973b366673bc454a8fbcc737d33be69cc03a3dc543bbca64563a59ea213c43c6c33a4fdccb3b1aad4fbd9739833e5107853f7ada193c843056bd40ec813e1e83833f7dacca3bd50f24bdc2227f3ef63f593f1d4bbf3bf6ee0cbd185d653ec68c363fb903ac3b0749d9bc22e13e3e080e063f87bfb93b64d9e0bc5fbb163ee775b93e45b4503bf12bc3bcdf87cb3da7d0513e2908cd3b163bd8bc2ac13f3d48505a3d7ac9a23be9d29fbcd7b0c23b66b641bdb23307be6270813c0000000000000000d3e51dbe5a15b53c000000000000000078c3d6bd8c4d2d3c0000000000000000ffcbc6bdfa0b213c00000000000000005c0697bd31fdd13b000000000000000013b790bd30d01d3c000000000000000063a268bd674b093c0000000000000000f57e41bdbf9a743c0000000000000000385f09bdd4fa423c0000000000000000597115bac1b8bc3a11b7913ab52e383c28aa26bba23eaa3b976fc73bd3b4c33c6d5da7ba6801893b834d1d3c1914b73c5aa58cb91ec3633bfd27043ce709943c301934baa7515e3bc279013c8328693c0da95ab86dbb733b4faaf43b9b204d3c36039cbafebacc3a8d7ac03b84a81b3ccae238ba66c7433a379b903bcbd68e3b74b010ba5d8e55ba5867213a7db9983a3abe093c0a53c2bb0cd9383b92dd18bc0b9e783cc0c92fbcb246583bf0a9f0bb7d60863c9842adbb6dba133beff11fbc75da5e3cfe0fe7ba3e65b23a4e9b03bcaa4c293c3058dbb830af8c38d885e5bb330beb3be51ba3ba6915083927fe8bbb40e82f3b74810ebb02b26e3af7c78eba4156a4ba47fd25bba6b95436162b013b675e14bb4afaf8bae9f1fe3997057b3b544594bb5878a8bd7b57cdbc53e5463caec9cebcea6315be8662c0bc2d648f3c12cb16bdf3e718be62bf06bde027493c8cd41cbd422605be868107bdb621193c2a1711bd5251d3bd505ee2bc1485d73bf91e09bdc4b2a5bdd7ab87bcacd8b23baca1c9bc4b4e53bdab4047bbaad8563bafc55dbca47d94bc81caf53b178903bb8c372cbb51f5913b09e0363c99cc59ba15bd9b3b64a0c6bc4e10943d35349f3f72498e3b2d17a1bc30db933d402e983fc2095e3b93b386bcf8f9c43da852823f48593f3b3efc7fbc5400cc3d9306513f6479513b99f160bc0acac23d533d1b3f94ed473b0a9882bc1c959d3d4099d33eef3d803b3d8689bc39a7533d0061643ed76ca83b81a46bbcdb22af3cbd614a3d9ae8823b6bb45cbc253dc5ba65638bbd4b880abe5368933c00000000000000009d7b16bed1cfb43c0000000000000000a3f1d9bd2c803e3c00000000000000009f36a4bdfaa9ec3b0000000000000000911582bdd41b9f3b0000000000000000719b69bd3be1cd3b00000000000000001cd846bd5e330e3c0000000000000000266c05bdff10643c0000000000000000391208bdfebf4b3c000000000000000000000000000000000000000000000000dc24a5ba6af36f3b920e883be8699c3c24c838b9fa94823bb6d27c3b615a873cb6bbf7ba0b1d523b9267dd3b4b48413cb4dded38079e4a3b579a973bbdf5293cf8d4dabaf0593a3b0aa17d3b6019103c9d322ebaeba7c93a3b2b9f3bc65dee3b8fab89ba980a283968883e3b1919943b000000000000000000000000000000000000000000000000000000000000000040db593cbc9caabb11b1c239979309bb80f6583c4bcaacbaf9b656ba71e539bb6a69353c151ea039d18bf3b896bd4bbb9589df3bd069b03abed242baa74936bbc4f2c33b19a6d039e1849cb992068cba81603e3b1c3c5eba114f1cb939f0703a6e0b28384cb98eba7eb18537be638b3b00000000000000000000000000000000000000000000000000000000000000002ea2bfbc2f4d0bbef0d2f4bcad45fe3b2968e3bcebba03be2f8803bd51ec993b2599fdbcb001dfbd5bb30bbde1c54b3b9030dfbc9abbb7bd1bbedfbca7f1113b0c33cbbc61ee8dbd052c91bc6070b43a08449dbc2fc844bd8fa7cabbe675ccb8af3739bce1d0adbc7c63853b33f384ba000000000000000000000000000000000000000000000000000000000000803f4fd8a13a226e6b3bb1a14ebd54989f3f645bdd3a9d0f5a3b36b26abc0338843fe542df3a498a193b7201eb3b2935553fef6ffc3a9e5c4c39a44f8b3c79bc213f4bc21e3b96370fbb30fc8f3c6d14df3e37aa1d3b269a91bbfb53303c762d7c3e93c88a3acdaec1bb5caa283a0cba833d0000000000000000000000000000000000000000000000000000000000000000ef3da1bdd3552f3c0000000000000000fe074ebd4c33d63b00000000000000009a2f0cbd15cde43a0000000000000000177fecbc6cbf7e390000000000000000a7aae1bc5214a3370000000000000000deb9d1bc28d5233b00000000000000009cfbe5bc54c7af3b000000000000000000000000000000000000000000000000000000000000000000000000000000004ed095b860950d3b7e9a833c539c763ccaf6e13a45b2983a0fc9893c04c3843cfe203f3ad1d8b73a009d3b3cf990543c9dae0f3ac7b7d83a3a541e3ce156423cf4fece3af6ca203b64fc263c3ab1173c9765e439271d793b61b8143c049f613b2124233aa06e903b0bb5bc3bc6de89b900000000000000000000000000000000000000000000000000000000000000004c079eba74e8f9ba9e34d9bac548a6bc2915bc39c5cb3abb631e41bb8c85cabc04c1613ba4e56abb61600bbb0b33c4bc1bc75b3b3a545ebb3641fabaa2d0cabc5af612baa33403bb7bff0dbb0f2ac5bc958e04bb6492cdb96acefab9ba10acbc666a74bb22eff13a9656a1397caa7cbc00000000000000000000000000000000000000000000000000000000000000002182eabd405f38bd8112453caf2c66bb2fbee8bdab1229bd11051f3cb4a3c6baf6f5cdbd852f1cbd2d4d013cf0445fbac157b3bd56bae4bcc261da3b28ef5d3a64ed93bdb3a589bcb0d2043cc6157a39db6c4cbd115377bb4ac7c63bc3d6f139a412d6bc2b170b3c9abdd73b4b471cbb0000000000000000000000000000000000000000000000000000803f00000000f8e6203c393425bd4e05993fb7fb63bd59fefb3ba9bf6abb2d3f7f3f5a9937bdf896723bfe83963c4d09503f9b1028bdede0513b21d4023d20671f3fe9c52fbd89a53e39c449083d921be23e873844bdfbb923bb8ce8ce3c74f4853e68dc4bbde17b88bbc226333c4d94b03d86195dbd0000000000000000000000000000000000000000000000000000000000000000cd0f3e3adb19863b0000000000000000197327bb0d0a7e3b00000000000000005d6aecbb5d59743b00000000000000008fa916bce2eb0f3b0000000000000000eb1ac0bb54ce10ba0000000000000000a717303aa8c6b4ba00000000000000002ecffa3b957179bb0000000000000000000000000000000000000000000000008dc0853abde4193ac4060f3ce3c8c23b25ad603ba959453bff07b03cef19833c1e0ba33aca31903b697aac3cb43a943c7d868d3a21cc6b3b8eccae3ce0bc8b3c366fdf390d818b3bf3727d3c18454c3c15a91438e5fcb13bf1db603ce535143c1e9a563ac352b83bd72c2e3c1da5933bda06063978e5773bb1cce43b673e44bb8990fbb9d6f30a3bd5ee933aeaf611bb670bc43972f9a0bad1a00abb784683bc268963bb634523bb6ccc94baab59f3bca9831e3a46e78dbb53c131bb23ffecbc9078193b85a9a5bb009499bb8ea3f1bc2b41353b3c2d65bbc29f58bbd538d4bc71843838d1f0f3ba1bd10fbb9f0acbbca5e38cbaeaeaacba84af42baf675afbcd0d29eba111c5b3a7259053b6ca743bc190ff7ba61d5923a2f59f43a26e175bb3a1e49bda9c93abd50a3b23bed84c0b9563bdbbdc5b152bd2255493c2c4046bb6bd8f8bde12e70bdff1c273ce95996baf222ebbdcad463bd6752033cbaebef39e102bfbd0ef22dbd00c1ef3b9ed6033aeeb7a1bd360edebc1cc81a3cb41eceb91ba761bd59ef28bcf719053ce05aa3ba9558b9bcf89fa53b6396633b408df3ba0c829bbac3753e3cc848893b103f25bb55566c3c42b8e0bd57ad983f4c67bc3dc5d5a83c5a70d1bd5fc0923f8cde833d1ddd403ce96050bdd6687d3f25a1643db23ad73b5e4c8dbccef34e3f6736193deae8bb3a8cee743bdd0b1e3fbf46883c2b86c4ba7e6a0d3c006be23e456718bcbbcb75bba53cdd3ba4e3863e8a19f8bc484e5cbb640b02bc4e11c03d5ae625bd9ee5b9bbce870cbce81e0abda80a59bdeb15babce756d43b0000000000000000851fa9bcf80c033c00000000000000005de2afbcf83df23b000000000000000055dfb2bc33c3eb3b00000000000000005a06a4bc46c8853b0000000000000000b9c986bc4c1e6a3b00000000000000006609fdbb6677d03a000000000000000067b7403b7915c0b9000000000000000077dac73b8c0832390000000000000000d9e7b33ad1b54738912bb73ba7c08d3b5a4b813a1b37283a30f4613cf1fc673c0dc088b940a6aa3a5309393ce151563cf37f2e3a1882283b53b4693cee2f813c362419ba3e34d53ac03d2a3c277e373c1baa883ad181813bd9242c3c9dc91f3ca07c0dbae8e7433b86f7dd3ba10db93b91c482395f39d83ad47ec63b84320b3bc5cb21bae925573bba4d56ba623404bb6f4c2d3b24c190ba90860cbb27b388bc0c806e3bab9aa9bba49c17397428cfbcf668c83bbf9965bb286423bb2cf48cbc4fe9b63b8957a5bbe5ab3dbb4b9fbcbc27b0943b7d2662bb6b33cdba6c0e95bcdb06763b80a188bbae7303bbc90da0bc41178b3acd890cbbf7c978bab59251bc2f8c14bbc93c2dba6033683a8d2024bc597c73ba3af553b9c1c81b3924ebcbba162a85bc39d73abdc25a5dbb12dac63a54828dbd39ad90bd63ec083bb532523b26579abd65a88fbdbe7d8bba0f246d3bc0b9b9bd63228cbd9820503b4c40723bda2f99bd341253bd865a7d3bc9e03c3b70ed89bd54a222bdb5e6e93bd58e2b3b0b0234bdf7cbbfbcce3ff03bee56f13a9833c8bc56485fbbead01a3c3e67bbba3e1f46bb5b1c0f3c660ab23bc83330bad047763ce2b0e8bde859803f1f46883ed736ad3c8ce3f1bda71d803fc26b703e905e1e3c91a179bd0c79553f910c4f3eff50f53b349437bdaf1b3c3f139f183e58a94a3b278b8fbcd5500f3f67b9d03da416f5b9ac8947bc6980d53ed650503d53e10cbbaca9a6bbc6c6843e4a98513c7a12aebab9fd88bcb672ef3d660109bd1ea393bb41b45abc777c00bbc57e4ebd02cc41bd95eb123c0000000000000000fc9468bd6eb75a3c0000000000000000304044bd88f4f23b00000000000000005cb23cbdbde1143c0000000000000000b4fe1ebd9fb6a93b000000000000000093fb0bbd29f4c63b00000000000000002d7fd8bcd024a23b0000000000000000201468bc5061983b00000000000000005d338bbbc84f123b00000000000000005460f4b836e16a3aded2113b579aed3af66d983a6ee2073afb63e23b8607493cc356fb384c7f953addb72a3c52fd843cc8b015b96b5aaa3a6d53333ce759723cd883aaba96f5143b74630b3cd059553cd0b055baa346103b7a950e3ce45b2d3c75da47bae134593ba44bfb3bdfcdf83bb0b68b389cc4533bbdbe5c3b58906d3b039633ba238b423a64d83c3bb28b803970d0c13b3e69d9ba87b281bac3c980bc42ba0c3c9eafb4bb918e5e398433c1bced02113ce319bcbb426ca3ba05c8a9bcbf45043cf5ceacbb254108bba3ad95bccbf5d23b6fac47bbf220a9baa8ee74bc3860933b503f89bb0cece3ba898261bc99c0963a586257bb979afbb9887158bcb3e593baa5cc11bbb8076fba30b9dbbb511864ba774908bbf6f74abae21093ba03d87e3b91844fbdfd1e67bc0f9dc43b5e5822bd3471a4bdc9932bbc3ecb023c5e8685bd153ab2bded74f3bbf9e9e63bcf238fbdd20ea3bd7cd394bb8495e23b669b86bdb5c888bd15c2b8ba854acb3bf52e67bd4f6049bde860693baaa3943b21bd32bdfcdff5bc67a0fb3b5cfa4f3bee75c4bc56f928bc2725233c7de10d3a6664ccbbccdcd738e285193c52daa33ae66e2a3c2f35cebd00fd513f1508e53edda0923c2698e2bdaabf523f0066d53ed3de4b3c6eb39fbd244e3d3f545db33eca8dee3b010255bd5cd21f3f99778c3eb3215b3b77b600bd461d003f974e4a3ebad2d53aa96eb3bc1b22bf3e8794f43decb76db9bec893bc89a77a3e34e2453d775882ba9762a4bc4ddaf83d5e1c56bceb9e04bb067d50bc5c21833cf5cf4dbd004c8bbde9bb0d3c000000000000000010caaebdac9b833c0000000000000000faae99bd82ec553c0000000000000000e8bd87bda9ec263c0000000000000000b38079bdb636023c0000000000000000b39453bd6d6b043c000000000000000076c32bbd7ac6093c00000000000000007125eebccc6c0d3c0000000000000000ebb296bc229bd23b00000000000000005ed474bab9380b3a4b267239bd06e93aa10f88ba8f083d39e1e4503b7d0d2f3c4ab4f0b902b8973afda3953b2e204a3cd505a8ba29316c3a50a6b43b2492833c8da2bdba2de7613a65b72c3b8b3a053c93b047bae933d53a4f31c53b13e13f3c7f8c14ba214d993a02d6c13ba023fb3b1d53f839a704d23af0423d3baef4bd3b94a03ebad621553a44d6733a6e260c3b9e5bfe3b78eddebaa82dbd391b6686bc8dbc413c577aabbb852e993a9f3cacbc5d6d463c9bdca6bbae2b82b90fac78bc331b2d3cae0a86bb8c6cc2ba460c65bc89abf03b7e69c1bab446c3ba07f9dfbbaf7dd63b0a076dbb7c1bccba2b3321bc9881e73a5d8b52bb460cc9b98278f5bb586410b9f6957ebbd788daba112dc0bbd396e0ba4361e3ba7aaea1bad82f3fb9d8606a3c7e7350bd902ad0bc0de7193c304495bc1362adbda41bc8bccdfa493c85302abd5ce9babdcd5d8dbc23f5253c790758bdec21b9bd690077bcee3f273c92661cbd48ca82bdc78c21bc3d72c33bfce646bd35a673bd230a89ba2f7ae63bd3d814bd01420fbdd9e4683bb11fb93bffb0b6bcc10184bc7e5c253c22942d3bf2e2dfbb01de34bb770c283c0f92013bbbd1143c9019b0bd22c2223f4c93213f332d723c9ec4bebd71cd223f857f183f714e103c7c3382bd0889123f987b003fdb0fc43b155a48bdf7db013f1bcecf3e54d81a3bcf6fbebcf3adc53e4530953e202ecc3a88e2d8bcd62da43e2849473e7663623a31f0a5bccd4e5a3e3ff1c53d9387a63ad012adbc7511ef3d6d99273c1b896dba65a679bc7ec6e93ce64b48bdfc2aadbd9a93243c0000000000000000fae4d2bd87f17e3c0000000000000000c0c0b2bdff5f293c00000000000000006eefadbdaa2a323c0000000000000000b0537fbde669813b0000000000000000a6158bbdd6dc153c000000000000000095c55cbdba39113c00000000000000002b5130bd665d403c00000000000000008705ecbc4ead213c0000000000000000fdc5cc39c5d29e3a80c2efba4869ef3ab9c3cf377f56cb397d11683ad94a633c3fde42b9a266ab39d5197e3bf576893cfd59ccbab7c5163b9dccc73b1b55803c19fcf4ba08f9933ad30fb03b4fe84f3c9c38a8ba1bfbfc3a5dd2cb3b0d16573cbdf948ba5c4dd43a4558d03b8e5b283c21b944ba133d863ac32ea93b8834e13b7c9c8eba4645a93ab72bd33a5606023b5492fb3b6aede3ba9122d8b8a73e92bcdb6c583c0472eabb09103d3bc4bbb2bcb6e4683c35a1c4bbc49e92397c8e84bca9fe493c3522c0bb4e691b3987a051bc6f9c2f3c450e81bbdc0082ba013917bcadc0c13b6d1d9bbb3173a9393d031abc7d52363bc96e92bb53d3b1bac8a9cabbe1f8fdba7b5b89bb7f0b50baf3c65abb528e81ba23e642bb4da484ba3380693a472a9e3cc4a355bd35b3f5bc85e02d3cc4583abc9bdcc8bd9adce3bc2a28813cdd8208bd2418dcbd2fa6ddbcd1bf563cdfb331bd475fd2bdd3229abcc983463cc49333bdd54cb1bda1743ebcb6d31c3c402e2fbd1b1e87bdb3c442bbb3d5003c39d115bda71936bd7635a33bbcf6a03b690dc4bc8f139ebc2b904d3c6574293b2f2901bcf43854bb32d41e3ce0ce263bff2b0b3cc8f08cbd9c13e83e30d1503f4c31593cd63f9bbd53ddea3e7cbf493fe302153c55496dbd0103dd3e71692c3f9249fb3b34a138bdcc90c43e14e5093f100a803bbccb07bd30bca63e52b8cd3ec4eb293b7b53ebbcf9a6833ef1cc883e9401353bd452e1bc851f3a3eba2c113e95516c3bab84e0bcdd3ed43d9e55ee3c6617e53a30ea9cbca093003d1bb542bddf17ccbd94fc413c0000000000000000047f02be5f30a33c000000000000000039c0e1bd02c4763c0000000000000000c264c8bd2ccb4a3c00000000000000003778b5bdebc8243c000000000000000044489fbde831393c0000000000000000530c8cbd80c8613c00000000000000009cbb5dbd454d773c0000000000000000638611bd43f2513c0000000000000000f49d17baaf4758b982ee1a3bb003a83bc5fa6bb8d4929e3a75e04b3abcdd8e3cb9354cba5172e739fa10c13ab4b7693cae82b4ba66c2cb39d4d6903bd2a79a3ce2e264bae470aa399c7a8d3be253593cbf538eba8926063bb57bae3b3f80703cce8499bae7ac4d3a75b8853b64e0213c003b3cb97d71e33ac0e28a3b5321e23b059504baa52bfe396727af3a465e543b0476023ce6bfacbb8566543ba9ea88bc0742853cd0c125bcef24863bc2b9a0bc61984a3c323797bb79f5023bc0d23cbc4d286f3c35f3dabb1bf44dba6f6238bcb070263c9bd680bbd9bf7f3ac580ecbbabf4e53b67caa8bba10f85bab0a5b3bb1b454a3b626f51bb454726391a6a30bb01740abb188158bbb3cfa8ba8713c7bae3a33bbb08b22bbbf38cc7b91718493ad323423c1af17cbd2462ebbca45c733cd4f828bc72bee4bd092605bdf0df8b3c9a61a8bcbfacd8bda039fbbc534f573c16010dbd4f9fe9bd1056d2bc1d8b6d3cede809bdbea0b3bdb3cf90bc2d041e3c83271ebd7aa998bdb2faccbb1b3a123ce940e9bc73dc40bd6a04263aded2b43b3020bebcf3e7a2bc8f974d3c93fbcc38b0fe02bcc1dd9b3951894a3ca0a213b8b6a10e3c68a252bd35298b3ee509803fa33b263c855e58bd1a018f3eac64793ffeddae3b7bd015bd31618b3e390b4b3fff67bb3b77de06bd4cfe833ee1e22b3f5edb6f3bcee5c8bc8c9c633ef743fb3e2c46533ba2c1e1bc55dd3f3e42bcad3ee51f473b46d4adbc2459073eb31c453ee6b8c83b9a94edbc591ea43db4fb3b3d2d494c3b6746aebc44c6ce3c64c94dbd91ebe9bd717e8c3c000000000000000007e80fbe9bcdbc3c000000000000000017becfbd850b4a3c0000000000000000995bd3bd709d1c3c0000000000000000524cafbde689fe3b000000000000000054a4adbd67743b3c0000000000000000d91d8abd58ee1f3c00000000000000003d946dbde5108c3c0000000000000000ba3a1dbdea2a793c0000000000000000c3b15d3a4000913a798803bbb6e31d3ceecaa4b712a6193b94ee873a2664cf3cbcdb18ba10a2e03ab42e7b3bb9cac03cb405ccb992f5963a234f523b9b65a93c74bd76baf4ed213a9249963bdd957d3cd3dc07ba94c2f73a8bf4ce3b3a0c7f3cf3b97f39eea0263a288adc3b87974b3cdc88a0399b1385395cfc9d3bce80e43b266401ba230a103afc58243ba3a82f3babc7183c197ababb19c30f3bd83b81bc0100803c1e9f59bc12d55b3b4b6680bc19a8933c9b7010bcfa54073b9e9f48bc73fb823c96a1d8bb2cbac53ae0c71ebc47d4403c97825fbb375f18ba4f9c9ebb0d69db3b29b6a9bb3af4babae61179bbbed2283b13dd8bbb5c0a7cba200716bb1cb083bbd6f0e5ba59b194397c1622b90e8d8fbb4a6f56bae11a32ba6f31423b3db7f83b30a794bd93440abd93094d3c9b138fbca34206befd11e9bc1b15933cda23dabc73cb0dbea8960bbdfb906d3c00d3fcbcb580ffbd61f1fcbc91ac5a3c0f1404bd3c8acfbdef34babc24682e3cf4ff0bbd9794a6bdb07528bcfbd91b3c874701bd7e1864bdbd1f303bf010903b9c29a7bca77496bc247c533cd77e57bbdbd816bc005b943a0720663ca03fcaba423ac83b662bcebc420cc23d2247983fdcb9d93b67fbb2bc7f4dd93d90ae903f0f2d9a3be4119bbcc3ed053e0abd763f911c843bbde98fbc7d2a0d3e773d463f891a743bd63889bc2952063e9bac143fe543963b083a9bbc4af5e83db98ecd3e0153823b6501b4bc1874af3d68a3643e07efb13bab28ccbc42b9373db383673d922d8d3b5658a2bcd2b68e3cf5567abd0b5ce2bd15c7863c000000000000000070d205be3570c13c00000000000000007f6fd7bd7a8d5b3c000000000000000001a5b6bd71b4063c00000000000000002b40a1bd982c9e3b0000000000000000e5db9cbd5425fe3b00000000000000000cb88abdfa48343c0000000000000000ef004cbdc228823c00000000000000000d2e2ebd1027663c000000000000000000000000000000000000000000000000f663a5ba618a1e3b0ae31cb9270c8a3c0c79183748337ab9fe6a343800b0883cb602c8bab587be3aeed98e3aef30523ce19320ba3a473fbae56cd53a4e3e2c3cf37e72b99a27e8ba8a0ffd3a71dd3a3c6a3e16ba47f7103a535dac3b527d113cc425b1b9e68d1f3a24948f3b351ece3b00000000000000000000000000000000000000000000000000000000000000005db5693cf42cd8bb384c163bacf8debb7d29663c0e309cbb15fcab3ab37cabbbe5494f3c434595ba2aee2d3a4b9a7abbe967293c7b5255baf956d23a57e093ba2011013cd0c9a7ba3516f8381d575cb909bf443be4aae5badf4d01b9fc71573ae4cfbcbacecc7ebacd6e67ba555b043b00000000000000000000000000000000000000000000000000000000000000002cc478bc375defbd2d2f16bd9a9e293cc534a4bc5332e7bd43440dbdf439203c9443bebc26cecfbd9d5704bd801db63b5e0abebc226fb0bd2059d9bcde3fc03bbd13c5bc293a8ebd2b1287bcbdfeaa3b4ad1bcbc103342bd41f58dbbabea293b7d0a99bcec1ac1bc71cee83bd94f853a000000000000000000000000000000000000000000000000000000000000803f55417b3b0489a5b9244cc9bc0711993fa296ec3a0232b539c06d363c37357e3f55be053b98c50f3abf32073df3944e3ffcb3373a8610b2bb6e49353d3a4d1f3f677bfd3a53baccbb4043363dedcadf3e2668c93a507d2abc6e43103de86d833e1efd683b496956bcb463b93c132da93d000000000000000000000000000000000000000000000000000000000000000085198ebd2c17143c000000000000000069075fbdd6d48e3b0000000000000000da543fbd7addacba00000000000000000a563bbd323b7abb00000000000000004e2540bd17d315bb0000000000000000e0323bbdc6f60a3b0000000000000000853c43bdecbba83b00000000000000000000000000000000000000000000000000000000000000000000000000000000fcee52babda446bcff41adba29801b3c297b6abb30905ebc1fd6d13a68422f3c9eab1bbbf2a163bca45797b99cdf273cd06c68bbbc2b6ebccf20c33a6870243c52ce91bba32d27bcfaff4d3b0608153c99438bbb7032edbb2e9d893b2a2ff13beb4f27bb2f048ebba5a8f23bde6c823b0000000000000000000000000000000000000000000000000000000000000000ec84b13b480135bb814ded3a895dae3b2eb8bd3b0ae25cbb1097e33b9ffa3c3bdfdfa93b3e0602bb70e6383cf62be839f1c9803b4e9b29bb137b483ce66507ba980c463b768011bb27045a3ccaa598bb38e2c339d9f9cdba22292c3c1a1906bc0b09afbad15a8cbaafe3f73b798c2abc0000000000000000000000000000000000000000000000000000000000000000e8cd3dbda68217bd0e1d703a05e9db3a881356bdf60802bdc9b6ef3a08ba043b2d6350bd679bedbcc128373bb954243a415e3ebd1162bebc4b338c3bb26e283b59e12dbd1b388ebca3baae3b1676ad3a76930fbdd1ce22bc6325d43b8fbfa0b99843c7bc816b19bb7d9d123c6d5fadba0000000000000000000000000000000000000000000000000000803f00000000d44500bc2e2dc0ba01ae823f16047dbc64a5e6bb2f09933cf6125e3f2849a1bc94f411bc24e6e33c054e383f3b2db6bcc6b3f6bbdbb00e3d7f91113fd363dbbcae63c6bb252f153dbd35d73e182804bde5d3d3bb0b01083dd2548b3e2a301cbd5ce6b9bb9a4ee43c53e9fc3dbb5729bd0000000000000000000000000000000000000000000000000000000000000000cbcc5cbc9976833b0000000000000000122c65bced2d713b0000000000000000459d80bca3af0b3b00000000000000003f438cbcb4aead3a0000000000000000825a6abc1df49a3a000000000000000077d811bc6f41613b0000000000000000ac54fdbbbee54f3b0000000000000000000000000000000000000000000000003cda193b553cb3bb1f97c4bb3bfb503bc57cba39848c2fbcb1d49abaee96413cafb212ba8aa074bc644855bad602523c366d5bbbaab072bcf489143b3574733cfc345cbbb6585fbcfdc3623929ab313cab284abb4d5937bcc2ca3a3b433a5b3c6aaa5abbedce12bcd56fcc3bbde61f3c2ab43abb44b150bb364be93b17cdc43b58b4f5baf5cfaaba7fe1be3b4b3b4e3bf0c0993b8d9b95baf640debbdbf1073c7aee003c9b3b8ebbbc165fbbbd76e83b3de4d73b428f8dbb2c7f4d3b3708093cbd11dc3b7fe389bbf938e33b0d10be3b7391a83be5ee41bb23932d3c6d7ea13ba02bb63ae3956bbbe75d173c779ae7b88dfe9c3a390545bb57e5313c52ac8fbb4a9520bb33e7e5bae26cb43bc604e5bbac1e00bb8312f0b912149d3bc2d6b5bbbad085bcc12716bdf6e684bbdc002b3b8c482dbd2b2e3fbd593e3eb9bc9db13a566a63bd66713fbd6b47d139f1b5893bcf466cbd70642cbd0036f93a2af24b3b16064fbd94b708bd7335313b1b82853b51c94cbdc8c6dbbcbdd5f03bfa23723b64e027bdbd348abccb0e083cd5de943add3edebc223efcbbfc740e3c487d00b9492462bc435992ba2234fb3b993ab6baa33effbb017a11bd4377823f7264023ea44efabb4548d3bc9b49723fbfb8d23d21d045bc0aa5f9b9aa10523fda52a63da93b57bc40f4953cdbaf2e3f6e9d6b3d30805cbc361ae13cfd63093f96bf093d434a5bbc0e76073dcb05ce3e6af40c3c25b650bca0d1033df0ac863e58ff6bbcaa827bbceae9c63c0014fe3d1cc609bd06c70abc53f2993c2062e4b9775c24bd4c65b0bc52f3313b0000000000000000da6ddbbc9ab6df3b00000000000000007c73dabcedb09d3b00000000000000001ebbdcbcc661353b00000000000000003df4d1bc14e4373b0000000000000000b780c7bc7326293b00000000000000009d889abc0311853b00000000000000008d9d13bcb579923b00000000000000000479a6bbce5b873b000000000000000091f5cc3a2aa309bbd5ffefbb6906f93af071cc3adf3011bccf0709bc0ab0033ca8e1583a072929bc2416e2bb58f6f03bf59b6bbaef8a72bc40a69ebb5f8e3f3ca854a0b873f177bcaf7c73bbc0291d3c140a47bbb5e957bca87413b9b347473c6a0c3fbaee2307bc0bdf473acce2df3b71cb75bbc3a6bcbb8cf9983b1bf3023c65093abb5a0f1dbb8eea853b702b323b7d8bb53b928879ba3cbd1fbc91e4183cd3b8153c8a0871bbab30c6bbc90d613c884ff93bed8be2baebb38e3a6004663c3544203c387e97bb20343c3b022a843cac80e03b893927bb2309163c2550403cdb41a83b08b977bb1ecc0d3c48c9163c31b3263b3931d5baad46003cb6c6b43b40de83ba5d0419bb43900e3c9fef16bae78063ba10dbdfbac077ac3b9a0c87ba6d4fbe3a85e00bbd131f1fbcc738783beed4b0bcc8d857bdff6513bcc50a013c9634f9bcad7b3cbd2441e2bb798c953bd86a38bd49524ebd021d23bb9d1cd83b958f27bdd3301abda18e49b9e23e7b3b0cb732bd9b0f0cbd6e1e833bfec4a13b5ba702bdc0abb0bca4ab4a3b8ed85a3b8ac1d9bc68704bbce3c40b3c8587023bb21246bc3cf19ebbc879ec3b67fe943a62d1cbbb09bc33bda0bd5e3f5fc68b3ec10c0bbcbb1925bdc879533f696f763e9cbc34bcdef240bcf98f323fa14e4c3e53737cbca055d4b991f61c3fde101d3e69b36ebc4f565b3c0ddcf63ee415e03d477176bc4406a83c2890be3e75d9833df25752bc1019a53cef18773e7cdefb3cb0126ebc1bc7a03c7900063e1e026abcba7631bc80bb5c3c18b1663caf8415bd854f02bd9423373a0000000000000000c9c72abdb76c333b0000000000000000020011bd738f93b80000000000000000b28322bd95d5c93a00000000000000002e900ebdf73b703a000000000000000018520dbd04323a3b0000000000000000d62dcfbc20ee8d3a00000000000000001620b3bc5131c23b000000000000000029b338bcd43aaf3b0000000000000000b8806b3b79f09bba835e31bc34fb03bb9fdfd83aa910f0bb02de45bc3637ad3b017ba53a594d40bc8e613cbc44a8093c9748273a346154bcc54406bc6447133cd86b6cba094f5fbcbd43febb7057293c3ee4c3bac95862bc48274fbb5bc73d3c998f22bb630b34bcb3a28fb9017b2e3cc8a70abb8078f6bb717d803ab0e4013cc9ca58ba2ae7a0bb8a8d0f3bcc02ad3b3640e23bd533c83802fe0abc6551413c2a8c293ce95c23bb9edafbbb06cf873cefc53b3c1c7d35bb0e334cbb690daa3cf20e263ca6553cbb1a9e903a53cda43cffee113caa3026bb04bfb43bb58ea53c9fc2d33bdd5165bbe20ada3b9b507b3cf67fae3b067a88bb64c2fa3be0ed373c92cc9f3a60c65abbc486b53ba45ac43be0a8acb8326006bbe22fb23b175b323b62733d3cf1000cbd718c7bbc182aba3b3eaeddbbb3b759bde55f6fbc0d70023c8658c5bc9dd06bbd49573bbcfbba003c300508bd03ca62bdb2f0dfbbd84df33bb21a0dbdd72441bd57318ebb87a3d83bebf812bdf93e28bd3ec9603a6f12d43b0f2d0bbd0826edbc5c5e8a3b3282a53bafe4cabc89df98bc1cb6023ce8cf703b8f7467bcd4ddd8bb01e8cb3b0ddd123bbe70c9bb238032bd0147393fcc35d73e6beb0dbcbfb334bd8ea8303fb9a6c23ed2e953bccbf2ccbc6f9d1d3f9a55a33ef2776fbcc40d22bcfefe063fdbdb823ebb5e8abcaa2e8b3bd982da3e0cf4413e00598abcc2da333ce60fa93e5779003ec28a88bc66e6863cb9106b3e80f2803d1b2172bcdd05793c4fe3013e7996b53be53a35bc0c15773c50bdc23c512f07bdac1f1dbdf2f94fbb0000000000000000e1cb51bde387733a0000000000000000d1304fbdfdd9d9b90000000000000000648549bdf19ff5390000000000000000773038bdb0396aba0000000000000000b4e92cbd7da80b3a000000000000000099151cbd7976833b000000000000000063dae9bc1e5ede3b0000000000000000ff4c97bcb1d3b73b00000000000000008ae2f13ae0a2103bad4041bc5ecd84bb7077ff3a6d0285bbfc7b7cbc37d2133b5f99023b185608bc6e2861bc0c7a903b8b95af3ae97548bcc2b44bbca7e7053c2c4e0f3b03c321bc351130bcc0c2533b17e0afb84b0e4ebca629fcbbd1a01e3c7ff32ebae0c226bc61d666bb93e70e3c7e07e2bac3b208bc25065eb8b113173c41ca45bbebb7a2bb3daac43a4be5a53b967aba3b9122063bbaab1bbc8d2a093c6e703f3ce0dd9dba4986f7bb8701883ca2682b3cc50033badda944bb40d3ac3c38e83d3c305a0fbb16f9b13953b2c93c0974e73b57cb24382256933b6526b43c0eea0f3c12165cbb533ba83b989eb03ca9d38b3ba69820bb2c2fcc3bd8af813c8743eb3a17ab55bb66e7b53b7e89343c3222da3a52452abbdc9cbf3b6322b63b641f9b3ca17b04bd8b7699bc46df8f3b8a2b993b58ef57bd03a2acbc5139123c492426bc63455fbd677c8cbcb2cfe83bbf95b3bc33e26ebd369251bcb49c0d3cd48e9bbc848c28bd10ec28bc11b3e53b08e0f3bc322834bd95f185bbcff8083c4bb1d7bce56af9bcc579473ab9d4bd3bf7e5c0bc3aee9fbc3b5bba3b58e3a83bdece56bcff8c26bc34eed83bf463383b0d0accbb9cdc26bdce16133f2cd8113f43e505bc582d2abd48c50c3f9601053f097238bcda03c5bc6414fa3eaf58df3e0ebc78bc38e35cbc39d5dd3ee585b63ea77f59bcd255353a9b49ad3e1349893e4cac7ebc7b4b823bcb6f913ee31b403e55026cbc99e71c3c0682493ee802dd3d400d70bc515b463ccc04f03db064f63cd92324bcd5384a3c7f23043dd718f7bcca392ebd1c1788bb0000000000000000339d67bd5ebc3ebb0000000000000000dd5051bdf5ea72bb00000000000000001a2462bdfa935bbb00000000000000004c712fbd5972c7bb0000000000000000cff84cbd37b2213a00000000000000006db329bd7b01bd3a0000000000000000311217bd03c2c03b000000000000000026b9c2bc201ed43b0000000000000000c055623ab63d653bcde44abc7ac565bbbe91203b435b75bb946893bcde873a3bb774003b14c5debb18a588bc820ca03b58aa373afaef26bcdb9377bcb6af033ca093b13a8cda36bc4a495cbcca5dfa3bdf5d8b391fba45bc8e1803bc4cba2d3c2ce9b3ba2f4f2bbcd29196bbb06f333cb5c966ba2d6f02bc973510ba301c223c0bf99aba559cb7bbcdaeb83ae725af3b9254d73b7202953a514e0cbc0ea0f33bd8ce433c0dcf99bad183cdbb90454f3ca5ab653c3f95f1ba088081bba5ddac3c505b4f3c0b8a11bb686e1bba4b4ad23c51ef2b3cc1eb97ba4efbb03af922d13c278a0b3cee9468bb8ff8323bf2d3ba3c1408dc3bf91659bb7d80933b37fba63c020c0b3b126073bbb3c6643b39185f3c3d9fdf3ad5c71bbb2edc563b0a12003c3141bb3c96a7febcf29dc0bc22b5c63bbb8e423c7a4360bd9254dabc3239303cc31580bbbf4780bdb4e1c4bc603e323c850667bccc007bbda4b992bc26cd1c3cc9f699bc611f5fbdb30052bcd6b6103c1a54d2bc378e3fbda329d5bb531d0d3c7866d6bc074b16bdf76809ba98d3d23bb7e8b9bc2dcab3bc8fe3863b2b3ec93b712758bc7d3828bc440a8a3bd7bf5e3b6a3385bbc31017bd6052da3e33ed373fd859a0bb9c7f1dbd6aecd33e5f512a3f8e6327bcd0c5e4bc7decc33e6813113f868146bc80048bbc9010ae3e17f1eb3ee3e068bcb408fdbb5380923e96edb43e30017dbce16816bb26b46f3eef2f7f3eea976abc135e353b17d5303e9e84173e4fe054bc0166a83b4f73d73d6c99533d8bc4f3bbd268f33b29d90b3dbc7edcbc5efe39bdceb9adbb00000000000000004a7c7ebd2d0c6fbb0000000000000000d8ea75bdaeadb9bb0000000000000000476870bdc23e9bbb0000000000000000afef60bde96894bb00000000000000005d705dbd646891ba000000000000000089ad4fbd0cf6243b0000000000000000c70f2ebd98b5e23b0000000000000000a47cefbc5ccde63b0000000000000000650bfa3a70da063b989c37bc779212bb8a07c83a61d442bbfe7b82bc629c423b7a5c183b521741bbecaf78bc9aabe33a1d4c5a3b547f15bc4d548cbca1f6d13be75e023ba97908bcbe795fbc4bc3003c04520a3aa04827bccf822bbc52802c3c9bda5f3a2265e8bbd518d9bba908fe3b0d42acbac6ade3bb8ddc45b974a22b3c045c43b9b8f38fbb28f8473a9f6ff53bdd7ede3b877f353a1d42bebb2547923b2e10563cde2ca4bab85fbabbe88f213cd647213cb6d0363a58b119bb9474813cce2f603c42bd8dba441e18bb89f2bb3ca4d72d3c7597eebaddec7e3ad7e5b53cb59b233cb0d92abb5897e13a5876cc3c0022c83bb07e0ebbab763c3b2a85923cdeadff3a3e8d86bb48deea3a6eea6e3c903cc939f4944bbb7159563a80a3f13bee42a93c1c22f6bc6cded1bc2f35e53bd87c6a3c8f706cbda576ffbc24a3293c2fc81d3b8f475bbd9fc4d1bcc16fe43ba5d3e1bbc2f783bd1218c3bca2b7263c37444abcbafd5dbd8b9e90bc0eda0f3ca0d8a1bc0f0355bd78f226bcee02123c70138dbc10ef12bd4421b2bb6813dc3b3196adbc2ea7c4bc8aed163bc335f43b7ee762bc7a8020bc62e1b13b3871833b168636ba26e5febc4f768e3e179b5d3ffcdc5dbbb1e306bdd0aa8c3eb34c4e3f9135d1bba65ba5bceb3e823e5dad2a3f4a2c2dbc25cf90bcaf91773e396a103fd5d82ebc7c1e09bcda2d513e7b82dd3e042c51bc73eecebb6cb7363e0ad79f3ea63723bca95c8abacd2aff3d2257463e8c7f23bce3b3c7b96146b43d0bc0963d976fb4bb8d0f583b51e1023d3938bcbc0a183abd06d18bbb0000000000000000314980bd3faf89bb0000000000000000adec45bd6352f1bb00000000000000007d286ebd1145febb0000000000000000f19b55bd1fa9f9bb0000000000000000e2ee69bdc6ea1dbb0000000000000000106439bdff8edeba0000000000000000406c42bda600cd3b0000000000000000e17e01bd9d510a3c000000000000000026cb8cbad7219b3b7ff130bc1b2417bb0af07eb880cee33870c38cbc5a96cd3b50d1b23a31419dbb63cb91bc4673b83b0c1efa3aa368bfbb8ae583bc9ceff13bf2280a3bfd65e9bb7ca07bbcf73fbd3b0e7876b7d9e6f6bb108939bcbc901f3c83289e397204febb46f4babb069f203c11e622b818c2c1bba346adb85e682d3cf3ddeebad0934bbbd2733f3b4959cc3bdca5d73b22bc903ac12783bb9165dcb9a49b643c4da227bb22b337bb207eb33bfa7e6f3ce99a69ba3c3668bb0f88733cdb455a3cf81e7dba9b9829bb3823963c295f493c10be70ba317ec6b97c87b83c504f243c71ea27bb07f28bba5151af3c2844ec3bda546dbb01484f3a00439e3c83c22f3b95bb86bb68e554ba8b7c543c545f3c3ab8292ebbc87d0c3b6b82f33ba9c9a63c9f4007bdf762fcbceb78bd3bd7eb403c25af7bbdd52202bd8b74233c0b92713bd43e8bbd4cb101bd37ff153c999f67bb14cf89bd4622dbbcb0fe113c47c0dbbbbf726fbda0afa7bc119b063c91d04dbc89d05dbde9525fbcb9c60d3c211c90bc41902bbd2cd3c5bbc4a1183c897e95bc9f18c9bc810cd63a48c3d63b69734cbc052e33bca0ab8d3b5324923bf6fa2d393373bbbc3714063ec647823fbe74a53a3b16bdbcbe3b0f3e46ba6f3fd0bd95bb0b9f94bcebcf143efcc74c3fe39fc9bbb5934abc0522113e362b283f7ca71bbc39f913bc3c30043e0745023fb77109bca42b1cbc5f7aed3d62bbbe3e241cf5bbd32df3bbd82ac03d72986c3ea1d1bcbb027ccbbba33e823d59bbc13de13676bbbe7eebb9e5e2003d9b23bdbc314c23bd4bd8a6bb0000000000000000650a56bdb50e81bb0000000000000000e7804bbdbf9d0ebc00000000000000005f964abd83391bbc0000000000000000a49242bdde781cbc0000000000000000602355bdfd09bfbb00000000000000001a0856bd9df8f8ba000000000000000012c841bdfb839d3b00000000000000006eb215bd6257c43b00000000000000000000000000000000000000000000000018c26e3a5daed5b7dca66dbc3b1afc390448d93a0f545abbe5d654bc3eaeb83ac50c1c3b9edf8cbbd81d60bcbae1f638a9712d3b1cca99bb305064bcb692023b74b0283b7f5ab7bbbc6f27bc4b735e3b933d923a4ddab3bb0ee4c4bb829cb83b9d21c639c25891bbd10d1cbba2b0ea3b0000000000000000000000000000000000000000000000000000000000000000ff97173cdf449a3afb4683bb44449f3b2472283c5a4b7e3a17672abb39d3383c74f2293c866c9d3aa531bbba34d87c3c0ab8053c00ce243b0e8a39baa4a3943c042f053c35de9b3958c22d3a95d1943ca54dc53bb93aa1ba3b55603ac51e7f3cec57633bd39e03bb66cafc391b924d3c000000000000000000000000000000000000000000000000000000000000000009a4343c2e7743bd37a708bd5950883b0deea73bcc595bbd646ae4bc438b893b44010b3b4b3e57bd1bc2d1bca3a0983bdfb291bab15142bd3d16a1bc9f5c093b2774c3bb461a31bd527d75bc6e40ad3b36eb1fbc57990abddf3b13bc411ea93bfc3841bc8d34c1bc958922bb30a7b33b000000000000000000000000000000000000000000000000000000000000803f0315a039b16a43bcf9304c3c0e85823f7bc0e5ba14981ebcf8aaf23c05795d3f9da7b2bbe77605bc6348253d980b373f7243cebb91d7c9bbc5493a3db626103f6627b9bbeefda2bb5c64413dd4d4d33eb5d0aabb231fc4bbb03a2a3d5aa5883e9cc376bbddb087bb14ab173d3c5ff13d0000000000000000000000000000000000000000000000000000000000000000ffbecebc01a6f7bb000000000000000028d7ddbc39790abc0000000000000000ed95e2bc5ffc44bc00000000000000006dbdf6bcff0034bc0000000000000000d84f0cbdfd5420bc000000000000000002fd11bdd285cdbb00000000000000008c441fbd08f7ffba000000000000000000000000000000000000000000000000000000000000000000000000000000004e98a0bbfd422c3cc9a02f3d5ecc2ebbec1a4dbbaa9e793cc341253d88d5f73aedcb933a743b513c36c90a3db78f983b71e3d3b9d88e5d3c98afd23c3fc9793b9fb2cdb9ad431a3c2e9c9f3caa23f43a8a9f763aaff4b83b4ce1393c1f03f439816a873914570b3bcb82303bcd1813b90000000000000000000000000000000000000000000000000000000000000000490e78bb9f35aeba9dc8b43bef9d50bc4a2f77bb16178cba67e6193bc7edd0bc58caf6ba46af37bb5b427fb9aedd06bda68d073abcd90bbb13364fbb852b08bd288041b9dadd00bb8b665cbbbcded5bc9606793b670813bbfe60acbb761a6fbc44c5b03a8d6683ba1bdb91bb9f589ebb00000000000000000000000000000000000000000000000000000000000000007b305fbe350ca73c4b8ec53a6d0bb83adcb154bea1ea693c9277a63a7824a43a496f40be67a72eba420b6b3b89e9793a364619be575902bbaf97273bb1cbfd3a1ef2dbbddb0d42bae2390b3a6a13003bcadc74bdef0d85bbf57606ba6c0c5bb921dd42bc90cbd7ba99d106bbb673dd3a0000000000000000000000000000000000000000000000000000803f00000000dd529f3cd919d7bd134aad3f502c04be86fd4d3ce58c45bd5d868f3f6d41c6bd77e30f3c8a657fbce8696c3f61179bbd5a41283c54c1ef3a6d6a313fd7b882bd79bde03b9b80623c729fe83e3aca32bd1fbce63bfecf963ce7ca673e0cfc86bcb830d73bd5db1f3c6d49373c8978c13a0000000000000000000000000000000000000000000000000000000000000000428d9c3c7ba6abbb0000000000000000dea64c3ca9e17cbb00000000000000008ea2cb3b9489feba0000000000000000ebf6db3b08e3e1ba00000000000000004fb26f3b350129bb0000000000000000ac99183bd0e4fdb9000000000000000018ac27ba632838b9000000000000000000000000000000000000000000000000f0fef1bb6e0d053c403d933cacb324bba3a10ebc3829493ca36f223d515bb7bb2339c1bbd4618d3c2ce52b3d557b033ba4104bbb3c01973c21e21b3dc0eca83b4e5730bb953f883ce346e03c09aab33b12feb4ba9059663c6463a73c032b803b61b617ba1ad7073cf6c73b3c079c1a3b24b344ba06d44e3ba77e1a3bdba6e53a0d6287bac600cbbae4b551bbc93617ba2cb73abb343abd37cd764e3c747d39bc70105cbb52d608b9792d1c3c49bef9bb1f0553bbc3d545bba19cff3b15f2c7bc79c12cbb7ebb49bbf63a733be16601bd19596e3a0ea74dbb03bff63a85f3fbbca09c973ae10f7dbba5c80ebbab3ebdbccbab393b56ea93bbef7595bb18dd4cbc29b0853b698663bb9097f5bbffcbddba2e54283b09f912bb4b6488bb418e033c8fb1e2bd9131ff3b6c2ee3ba6c210b3bb55f3ebe3843aa3c5c019dbb9689313b41a15cbe96c7513bed92c23ad15d603b38ec4abe8b308dbb2328093bdbb5243b355a22be0e7bfcbb383b6f3ac6946e38a9f6ebbd53920bbc1ae3313989645e3bd16b85bdaad8d8bba6b81ebb9150753b4af488bc70b127bca4f70cba3bdedb3adf6a843cf9a108b91640d2ba48aca13a9e312c3dcc3c5bbe4fc9ac3f9257733ca13f333d608141be43879f3f92ca823bd286003d06e00dbeca9d913f9a0b97bb5c86d73c257cc8bd18a0703f09540cbc11edaa3cff1d7cbd8d1d353ff7bb05bcc0d3973c84cc13bd3712f03e601a63bb6ce1833cacd09ebc2f57753ecd08773b930c713cda3874bbd453303d699bb73c1b11493c49d07cbc5fe8ccbd312a063b6cf184bcb34d4b3b0000000000000000137054bc9fef1f3b00000000000000001fd166bccf387e3a0000000000000000965330bc7fe2813a00000000000000005ab81cbc31a8153b0000000000000000e2b8e4bb064769b90000000000000000ae5b1cbcd5162b3b0000000000000000f52d3ebc47842f3b0000000000000000917d35bb480ab93a0000000000000000cc4cd0bb51a8d13b32df223c9f143c3b8a3115bccf91733c0becd03c69a2c13bcb4dc6bbbfae8d3c208b013d8ccf353c8fec9bbb784c953ce5d4f23c41f72f3ca6a503bb9921783cdf23b03c22a60b3c31c02abb8a68573cd191833cc425e33bf11018bb2183143cb8dc0b3c8d8a673b6bcb0cbb8894b43bbe462e3b8c4bd53a7c9c5cbbaf98c83ae4c569bbe97adbba8d3c48bb8da3e2b9e76d803cf5f5b5bcdb691abb295d39bb065b713c88b1bfbc97eb2bbb2fe79abbe9c93c3cd9ba06bd7252cabab5b983bb18d3053c58a10cbd46064b3ae2e47abb2be2143bc0a5f2bcc00b0b3b115f95bb5a103c3a2d85b6bca0ca393b63ea88bb875b1abbd4aa3dbce9ea3f3b56e081bb87d9b7bb691c5d3a869b953b6db656bbe8c831bb1940073c6a2e5bbd6e7b69bcca9835ba2fa9ec3a3b0814be55fbb8bcaeb3313be8d20f3bff1e2ebe17fb0abd4bcbb43bca8d483b50ad2cbe338100bd004c863b74165e3b2ef808be3d77f0bcab360d3b706a503b7d4dd6bde242a6bcb16318b970ae383bd89c78bded7c3ebce24dedb7a3bd193b324ebbbc1d82a4bbf21d2cbb322e273ba9d5c23bd731923bf66617bb983d8b3ae091393d2e425dbe077b8f3f6bfb693e51394e3dca6760bef9e7913f40593f3e5bf51d3d6e452cbec738833f78491d3e791b083db56508bef9ad5e3f1aaade3df5afdf3ca6c1bcbd9835293f701d9e3d2266cd3cdfdf8ebd64b1eb3ee0cf353d1c4dba3cd7fc41bd1d62803e08eb8f3cc6cda73ca644f9bc210f913d27689b3b9992723c389cdcbcc0da3bbd150a70bcd4fa82bdb87c713c0000000000000000997c81bd88e8603c000000000000000028f25abd852d2f3c00000000000000007f4e29bd02c9013c0000000000000000d1c9ffbce91ca83b0000000000000000f0dbc1bc2623a73b00000000000000007c3066bc14ad583b000000000000000081100dbce545273b0000000000000000720238bbac1c8a3a0000000000000000f6fb79bb9999da3bec799b3b735ee33bae5bf2bb7084733cbe7d963cbcec693c5abcc7bb2deb893ccc69ca3caeda863cf27478bb9ec88c3ca101c33c8306743cef7946bb98ad833cebb2983c4dfa5a3c885259bb93316a3c18d3583c3b6a0a3ceb4a49bb5f18153c6942e83b440f853bb72ba2ba6244ab3be96c983a880d893aec0fcfba883dacba2085f8ba167321ba14716bbb959e6eba9105683c1f18fabc7d0b60bbd0ba75bbd230773c674602bdde82e7ba115d9cbb392a3e3c1dfc06bd7b21c5b9304b88bbbc621d3c64de0dbdb1a20c3bbc219abb31bb933bee27f8bc2fb3423ba7327cbb1947223bb06bb6bc9af3813b44ba9dbbbf593f390dd73fbc1afa943b28cf90bb217787bb8a8202bb51c82d3b6cc51cbbe90b86ba60f0013c6d8ed4bcd8c629bdde5a5f3bc5eb143b80efd5bdc08d7bbd4822143cbc5f113bd1170ebedafc8fbdfe6f3a3c8bf0393be4f70abeb1a57ebd5acdc33bfa44153b8dbbf6bd30ec55bd5c16913bab0a1c3b5ab1b9bd52410abd9b7b893ade94ca3accca65bda79694bc56165bbafcbf073b822bc0bc780630bbc0b332bb2aad7a3a0fc4c63af301153c81c0ceba8b4b14bab16a283da82a4dbe94e76e3f5082ea3e4868443dc6ac54becc5a723ff5a6d33e16e2233d95bc31be9a05603f6a4daf3ec0f4053dd19f0abe4bf93e3ffb91843ed8bbfb3c6815ddbd6e99173f300e3a3eaec4d43c6db1a1bd8bfbd43eaa02db3d27adb13c0c9f65bdec55793ef632383d6fe9af3c51d72bbdf070b33daf3586bb4c26763c5ed112bdd8368dbcbe4631bde7fdf1bd6c92c03c00000000000000006a81f2bdfa1ed93c0000000000000000a2c3c7bd2e659c3c0000000000000000e5e79cbd7ce06f3c00000000000000007d286ebd89c1533c0000000000000000b8b71dbd93d9f93b0000000000000000a68cc0bc8bb1b83b00000000000000003a36e5bbdbf03d3b0000000000000000281d8039659d543b000000000000000091c316bba5d2563b76074a3b33d4323c7ce3bebb85eb493c40fe623c784ea83cd65780bba6f8513c02de9f3cdc41c23c9ab79abb57ee833c6421a03ca44aa93cca0e0ebb6f43523cd0fa373c81355d3cb44c55bb5449633c2162463c64c32e3c02970fbb6c5c183cbe97a43b888fde3b68d333bb5343993b9fd3a43a8873c83a6dc289bb7857553bc1755ebb07f61ebb4b1c07bb5e9a41bb908c5e3c4c91edbcecdb41bb0e4692bb6d76473c12b9fabc255d95baeb44a8bb3453193cc1a5ecbc1a6d70bad81fcabbc844083c6436f7bcb0857d3b8e2b0ebbf5246c3b36a1e0bc61041e3bf390a8bb0e03393b9d72bfbcb707213b3f1e58bbf6a78ab994242cbce87c793b180989bba8c36dbac541e2bace6d6d3bd6bb69bbd2e3b0b928909f3b3eb5debb0c2581bd05678a3b7cc79c3bdefc8fbd7ab4cfbdc7998e3c27fd0a3afbc8cdbd88c9d9bd36d2373cacdb283b8cb9e2bdd2c2c8bd4090443c16b2a23bd2a2a6bd65708dbda03e923ae596bb39d430a1bdfdf04ebd82a4873b51333f3bb19e44bdc4ddd5bc978de5397274113a0775b7bc707089bac97449bb87cdb3381a70633a73c6443cc3a6e6badab55d392ad0053db1b028be55b4333f3eac313f3cc61e3d35832ebe59d2373f9f2b273f2cb1013d262210be77572b3fcec00c3f043df43c8a3bfbbdf6fe183fd77eda3ec9fba63c3ae69fbda276ea3e0b76983ea9d9c03c6ebd9ebd03beb73e5240373e5ef6a83cee4965bd66725d3e3779953d3569913cf46f27bdba4dbd3d8d500dbcadb96e3cf2d414bda30a943aadaa83bda27a25be4178083d0000000000000000cbb62dbed63a143d000000000000000089d60abe76cdcb3c0000000000000000fcebe2bd1423af3c00000000000000004cf39cbd38e26b3c0000000000000000ffe366bdfa1f423c0000000000000000c758e3bc870df03b0000000000000000b333d7bbbb7a653b0000000000000000c9c1c63af8a0a23b00000000000000008183f3bab7e51a3b3961ca3aa4ad663cc8aa68bb864eff3b617f213c06faea3c70de98bbbf16313c84f4843c9227023db17676bb08a0523c34c9873cc87dda3c5dd861bb939b6b3cc4bd5c3c7cb2b83cfaf082bb6b0d393c4cd2273c34786d3ccee564bb18db0b3c9f4dcf3b8616e13b06070ebb91fa993b157ddd3acec7093bc862eebaaba7213bd73963bbd23594ba4ccf41bbdc913abb7a7e283cf2c1d3bcf13b52bbe691f9bbab89093c6e35adbc5638c3baca48edbb7f70003c551cbabc6330e03a46bdc0bb6ff4c93be0ebcdbce01e51ba541ab2bb183d973b5854b7bc16224c3b3dad8ebbd9fa563b87b98abc9de1533b22c7a0bb51e9153bb9cd3bbcf604103b832968bbd9224bb903274abbf0750d3b715020bb124e45bada7e213b2893e93b36f7a5bd603ed63ba129193ba51538bdb26d0ebec3d4c73cde1bc43a96d599bd4f5918be8938a23ceffd263b219ca9bd373804be17183f3ca05a3e3babe2a3bd5902d3bd5a66313cc0f2313b4f8387bd959086bde66a103b0b825e39675e31bd3f7f04bd7d2f043b1b8e0c393d9fafbcf66027bb7c0f2fbb4a6474ba1e1f99ba9ab0673c49ddfababbc008bb98c9c53c2881f2bd8329ed3eedc06c3f41c9fe3c91d800be0f32f53ea3e2633f4deed53c467ee1bdbc9fef3e2c72423f5b32c33cac03bebdcd11d93e7749183f198aa03c10a7a0bd8ea3b93e8558d93eb362953c787f7abde38e8d3ec05d823e2d4e7f3ce63746bd89573b3e008fd63d3afb663cace115bd157bb53d45973dbcf0c8303c2788ddbc7818373c79ffa1bdba3948be7dff223d000000000000000082f059be3b9d3d3d0000000000000000776234be04f8113d0000000000000000008a0cbe52b1d83c000000000000000004bfd1bd419b983c0000000000000000fef082bd0e8d753c0000000000000000b7ff01bd21030b3c00000000000000007e290cbbc555623b0000000000000000bc07c63b417a273b0000000000000000241696ba18a8f23a025cff381607a03c36957cbb6e1cbd3bd896f73b03d00d3dc90e23bbad4ef03bfa5d7b3c6c6d143d372435bbcfe6193c1fb4813c59fd073d07f8edba6a792e3c67de3b3c3fa8b73cc22a3bbb93320e3c0bdb2e3c93758f3cd65b1cbba223033cb4bbc13bd84c183ce2b012bb9eafb33b8797dd3a54a6383bd00e21ba01f5893aa86c89bb3ecdd5bac21a9dbbd649c1bb6be3bf3b7a6082bcf627a6bb8da9babb5a2b8f3bf43d59bc09fb2e390ae303bc7e8a633b74cf62bce48210ba87f1d9bb8da1433bd9647dbc79e7303b428766bba8e8ad3afb058ebcdc9b083990dda4bbc42a223b15c96abc41b0c03a047e80bb6a33d73a5ea132bc07ccc43a01f01abb5465703a4182b0bb48b4703a5c8106bbb62ae8b9e03c443b6504513cedb8cdbde462ac3c97e2ff3a2d5bb5bc3ad832bec00d0a3d9df01fbb0e4f5bbd938a3abe8f17b83ca37b433b4ea880bdc8352abed85d943c1c6d113b982a71bd738ef9bd8358013c2a4e1d3bf2cf4ebd2df9b0bd7057fb3b39c3e03acd8615bda37b2cbda986e73ac600ec38c0e2a3bc257084bbf5cb7abb5a6f4aba27c545ba4ff99d3cfd61d8ba77961ebb39e3813cd4918abd56ff6f3ea2278f3f71ef903c3a6d91bd4fe57b3ebf538c3fce9c853ca43883bda9e8853e8f14723f4964803ce9ea64bd4cab803eb398413f43385d3c11c733bd9e11633efb270a3fe0864d3c3a7e28bd7b883f3ee447ab3efab5323c5174ffbc8641063eef38163e80be153c7abcc8bc4c109b3dccba00bc3194b33b8cc796bc9d95763c8d9fc1bd20b35cbe2143393d0000000000000000b5b76abe678a443d000000000000000008be40be20790d3d00000000000000002b8a1abe999ee23c000000000000000087a3dbbdf699983c00000000000000001f3e91bdc6385e3c00000000000000009c7706bd0890de3b00000000000000007ee9a23b67ad3eba0000000000000000b2da7a3c7f968a3a00000000000000004505293aadeab0bae2c6fd392726d53c270905baffe51cbafdd6093cf8643d3dabd508bbba97683b42676b3c508c403dbf79b7ba30b0ab3bdd197a3cf3b7253d9a66d0ba23eae63b27d1743c745dea3ce5c71bbb0199ea3bf3cb1d3cd4feb23cec73eeba82e7c43b2de1b23bea333c3c628003bbd17a9d3b6dc4cb3a4f3bac3a44c1bcbaefc6b23ab51547bb0d4755bbd02fb9bb35369bbb11d43ab89c9770bb75862dbc6164c4bb61a898ba58f442bb975fa0bbabf8cabb9c106dba258f7fbbb561ae39b036d0bbc7dfa7baf51caebbb562e63a48555cbb71e4843900e917bc0fb8e53ad2ff3bbbeb45343a2cee17bc819c483a898cf3ba37c5783a988204bc1d53403b03bdc9b858e49c3a2599ddbb9f70443a660f61ba6a32d83a101d203aff9d373cbfcc0bbe704ac23c8f53ccba8a09bbbb976353beca574e3d8e2ff4bb7a980abd68c563be9d03053de83b0eba9fd53abd4ceb4abe398da63c0cdb843a6b5f38bd787c1cbe0a454a3c57f58eba5f941bbd21ccdabda03faf3bcb66fab9232ddbbc9add55bd42601e3808a618ba47e956bc4127b6bbebf824bcf3f4b1ba94d0d53979eccf3cfbfc67bbb9d331bb2e15953b8c7488bc5446803cfc9aac3f2302c23b675191bc6d843f3d4f249d3f8153d13b531bb1bca55aa33d9ffe8b3f05cede3ba533b2bce35ec83d2977613fdb2cb33b7f3492bc48c0d13d3746243f0dcab63b5e7886bcd949c13d4880cf3e6ba7b83b104250bcf1ac9d3dc254363e00e9093b95d7edbb9655543dd6e0b53a51cfb63aee54e5bb07ca233ca0ce04be9f965bbe93de2f3d00000000000000002dee55be8170303d0000000000000000456234be0b94f63c0000000000000000394c0fbe186eb73c0000000000000000f265cebda960803c0000000000000000229180bd358e283c000000000000000043c0adbc4879123b00000000000000006473ba3cb8d1e4bb0000000000000000c786a13c6d5eb2ba0000000000000000000000000000000000000000000000005b3cb5b829368eba21a0233cfcc7333d6103cfba0e35e63a21e0653ceaaa263d15de00bb9ed2953bc735713c04db003d8248cebaf301973b5379483ca329d93c73bba8bafdbe9b3b6bf22d3cb2b29c3c851418bbca768d3bd236ca3b3707213c41d15cba6e68bf3ab0adfe3a88e6ce3a000000000000000000000000000000000000000000000000000000000000000044c472bbbb1bb1bb2ab482bb1f33fe3b1381333a8fa0b8bba318cfbaa3753a3b6ebd473b77454ebb7cd59cba189d0cbbb008413ba2a1f8baffe617bb43f42abb538a7eb9f50240bae098a6b9b64492bbb9bf923ab190133acdc1143a6af595bb4a8d6cba2f53093be2ff993ab56355bb00000000000000000000000000000000000000000000000000000000000000007c487dbc8fb65dbe62d4bf3c20e867bab5caeabc84cb53be5f557b3c2a05c43aa47418bd911a3cbed33fd43b1e61a13a16f717bd61f917bec4899cb8cf72533a8aacf6bc0937d6bd4bc26a3a4578393ab1e49cbc626d69bdca19e4bad0fdebba18b5f9bbc6d8f9bb039830bb7afafcba000000000000000000000000000000000000000000000000000000000000803ffc4036bb23987f3c556fc6bd03e8ac3f919800bbc81b233c704626bd49ad8e3f3d03b63a5989de3bb6ed0cbc58686a3f3b49c8b94002ab3b674a2f3c0d2f2f3f5200d039415f8b3b4f6a9c3c5d01e43e720c5fba8260ae3b1a65a33cf490613e345db3baba18be3b44e33d3ccc44ec3b000000000000000000000000000000000000000000000000000000000000000069150abefefea23c0000000000000000143dcabd8c023b3c0000000000000000aec3a3bd8316eb3b000000000000000095ee7ebd0cf6b13b0000000000000000606b27bd58e0f73a0000000000000000a7a35fbc883412390000000000000000c692b33b547d83bb000000000000000000000000000000000000000000000000000000000000000000000000000000008a6747bbe6db963c51471c3d85582fbcb198d7bae55dbc3c0d8d173d422c16bcfe30673aaa89b03c6d82063d8f4ba4bb7185dc3a46bd9d3c740bd33c74e18ebb0e571f3bdc237d3ca020963c04a884bb552f023be9b51e3c6fd40f3c75b50cbb4187573a96e3503b9d78163a3e1f883800000000000000000000000000000000000000000000000000000000000000000a4259bb2c53ce3a01dfdd3b396114bd0b7762bba362173a9836983bb22d60bd618b80ba53d2a5ba55b79238999a77bdec42803ae5a501bb10d697ba55af79bda02eb53aa6e09abaa57e18bbb2ce4bbd7aed283b86c7fabaa04f27bbd12708bd63162e3b527ea8baf00f2cbb588837bc0000000000000000000000000000000000000000000000000000000000000000844b4ebe5bab103d4d8fabbba246c03aae424abed2cd223da97fa1bbcb32973abd3c36be2c2cd33cc0c13abbc24cfa3af5f510be3818bb3c3db98dbbaa9ac43add86ccbdcb259c3cdf249bbb0d0cf03ab6685abda6d3483c492ccabbaaef303b5d2de8bbfeaad73a2aaaadbb40b7043b0000000000000000000000000000000000000000000000000000803f00000000fc1c8d3c0447aebd0aadac3fa8e11bbe9798ec3b1b5c31bc061e8f3f85ea0cbe524d403b7c14f63c38916a3f0b5701be2ebe32bbcf75613d1b392f3ff990e9bd637bfbba117f733dc231e63ebd6eb9bd44e517b84357403d9829673e6dd04bbdddb7283beb5ea73cd78f413c4ee554bc0000000000000000000000000000000000000000000000000000000000000000c2ace93c0f02bebb00000000000000008932c83cd73e8abb00000000000000004883b43cc3ff8ebb0000000000000000aeb2aa3c4b6b26bb00000000000000001fcb893cbbb288bb0000000000000000e3fa063cb9b9a9ba00000000000000002c811f3bb5518a380000000000000000000000000000000000000000000000000e3ababbe3cc323c528c7e3caf9bc1bbffd907bccf05c23cc655033daad56dbcc922ccbb288dee3c11b81c3d94ce2ebc5f0634bb4454e33c38d2123d540cd2bbdf2a1ebb4d1bc83c60a2df3c3d4891bb32560bbbffcaa83cd238933c87d25abb5683f0b9d659423ccf7b2c3c06e2beba0d669fba3c0d563b36fefc3a4b0de73a489784ba3dc647bb5e6280bbf086273a76c4eeba606fd43a9d92563ca0c0cebce527a238826701bab25b973cb6a237bde9f3b1b9e5588bbaa2106a3cf4cb73bd9f88d0bacbeda9ba59820a3c9cf884bd8587363ac3170dbb5ff4ce3b01fa70bd1514c73a710e43bbe212353b94f94abd14cb5c3bd5232abbac157cba1c38e4bca7397c3bb19564bb51712ebbc51293bb0463293be74caabab7d988ba3aac263c5609bfbd0487f138c47c343aa390eab8189130be411e193d055938bc0e45a43b1b954fbe3a8de93cdb3d92bbc3a2153bbddf42be0129ca3cbc4884bb95cbbd3a15421cbe0c85a73c01e080bbfdfa053ba2b0e2bd37ba943c1134cbbbd38f483bfb6880bd40401f3c57e8ccbb6910093b7e6d88bc0efe53bb6f919dbbc9944a3b57358c3c159782ba0ae180bb5a1bd33a411f2e3d061859be184eac3f9c1d8f3ce4a41d3d604b34befa7fa33f041c01bda8aeca3cad10e4bd2d6a943f746a7cbde4398a3c181075bdb807763fe8599fbd5bf5293c50feabbc28b93a3f376baabd886c243c1b317abbb922fc3e9cce97bd51f4293cb0631cbaff73853e36424ebd2852893c4ba34abc68b96d3d32f28ebb0120393c9cb7e1bc4ffbb1bd2b70ffbbdbbd5abc4cda333b000000000000000083dfe9ba6f9394b90000000000000000a0d9953b262713bb000000000000000054af1c3c87a1bfba0000000000000000ab204e3cc37477bb00000000000000008f68523c35dfd6ba000000000000000007ce063c4ef7a2ba0000000000000000db242abb66f8bb3a0000000000000000b90e513b4a4f5fba0000000000000000ffb197bb215e1a3c0448b93b783f063b622a0dbc9d8ebd3c9846b73c1b09d9ba155cbbbbf3dfbe3cdb7ef73c40c2c639b355b1bbdd62e53c04f2f33c499bf5ba34c836bbcf0fb13cf3c7ba3cc6a33cbab88611bbacd3973c81ce963c21759aba27ea00bbdb764f3cd175193c5c6518bb33cc1dbb46a8b03b4b3d853a877dab38b8b79cba84e5d2baa0364abb2b736db92bc58cbb7fd3433a47e16e3cbbd407bdc1fd73bbc37ed639fa37a83c5afe4ebdcaf17ebbfc4d87ba2cf7523c153a5ebdd22a2ebbca6ce8ba89f6643cd0e27dbd9f761d3a58ee23bb0febb13b31c651bd1b3da93af7f431bba8a3b53b2ad22cbda7a8f03a64164abbaa64b43a9ebdd7bcace45e3be27237bb99c130bb595980bbeb386c3b9abf07bb6d9f60ba3256153c3cab0dbda181e8bc2cb1083c7f9d54badf4d05bea14f88bc8951113c2d5cc9ba291225be798a81bcfc42ff3b6c5864ba722c2fbec40832ba43c4c93b22af193836960dbee4269eb92a64603a37be2c3ab5a2e3bdd812013c34c215bbc4cfd63a2bb588bd0f5d273c678a62bbfdac463be2cccebc4a01e93b6b11cabb2310303b40cdec3b0823b43b58e5babb91cfa83aa3083f3de5d85cbe99f48f3f74ef6c3e61c6463df55a5dbee389953fad901b3e97f60c3d09fb17be21b2863f904bc03deb8fee3c48b3ebbd989f6c3f82c5ae3c66e6a63c41578ebd1e9d363fc6b047bc7cc5903c85e148bda54f033fa1c435bd5679873c42ae0fbd3e39993e679c5ebd6ffda33cddd214bd0176da3d747033bd872e7c3cebc41fbd6bafcebc221922bd28e281bda959463c00000000000000002c305ebd0fe5353c0000000000000000453619bdfa1a0f3c000000000000000004119abce1672b3b0000000000000000fc7903bc478db43a0000000000000000d67b093b9767a3ba0000000000000000d3b2e03b7447bbba0000000000000000df901f3c51662bbb0000000000000000e389423c13534abb0000000000000000a10470bb8036043cb7be053bc5b5f23b9909f8bbd0e9a23cecac953c1bc40a3c51cddfbbf167ce3c13f9d33c2505093c606fd2bb10aad33c0761d83c56469a3bd3de96bb2d8cc63cc972c03cf18a7f3b1ae7b6bb92e3a63ca0d0723ccb5f053b57052dbbdcb55e3cf4fa053cc765443afda03fbbf368e23bd667f33a8f457bba73f726ba0cb6bcba19066fbba3d8abb82def9abb0d64b9b83387563c9f2d22bd957ed7bbfe6d6bb9751fa13c43484ebd4010d7bbde071eba0195803cbdf264bd0bdd63bb0dcc0abb426f663c972f61bd140d39bba70bdbbaf33e313ccc2458bd8540b83ad33e19bbece9e13ba1d51fbdc531ad3ad6c60ebb7147253bd84bc2bc3419473bfa6409bb717188b9aaa5d1bbbfe2e73a0a81b0badee4ccb9a687c73b7eb32cbbaf1b87bd65b0873c989214bb8f22c0bd368585bd31f9d33cc573cebb86200fbe27ee4cbd9ae9943cb96d55bbe41016be0a1903bd2a95353c16e387ba34330bbe8ce897bcf96a113ca280c0ba2f94d5bdc0a625bb036b8e3a16ffb2ba6d4c8abd1456d73bed8f6abb8813c03ac44ff0bc25fc443cbefcf0bbcd33e93a360ade3aaf0a783c1faad6bbf813b93ab2ed313d04bc4cbe6e756e3fd258eb3e88df3d3db1f353be2aeb7a3f1f8dc13e5cec1f3d7e332fbe7cd76f3f3d91873ecd29e63c316605bef257523f0a70233e03c8cf3c5585ccbd4bf72d3fd5f28a3dbdf7a63c9a2595bd324bfe3ef7915b3b6d379a3c6bad65bd2df89d3e8f2628bd08daaa3cb6f249bd7242093e19b581bd9d0c643c7a1631bd5762223cb7d5a0bd7546ecbda0a1cd3c00000000000000009672e7bd1e65c83c000000000000000005f0a7bdd8f78a3c0000000000000000b6d65ebd3f2e313c000000000000000040d804bd86c1dc3b00000000000000005c964bbc01721c3b00000000000000007677673bf7cdf4ba0000000000000000d53b903cc5bfc6bb00000000000000004d07a53c05c392bb0000000000000000b27e2bbbcc78d03b60d7c139b3a0493c1aa1c2bbbcc57a3c29e16e3c783f8b3c08e5e8bba92fa93c9060a63c6f3a863c1313cfbbdababf3ca6f0c13ce88e563c7a9692bbc1a0833cd6be803cccae153c6b889abb0c55a23c2db4813c7f415d3b23b823bb2a70503c637eee3b80ec643aa78844bbee79d43b48b5243a408f59ba6cc6b7baadfeda3ad14179bbe4a63bbb04ffa8bbaaea95ba189b633c4a4f22bd911a0abc817591ba2a0b853c593e37bd76f4eabb7edddcbaf15c6b3ce64833bd67eeb6bb0bf3f0ba68286f3cf82a49bd0cb84bba558f1fbb745fdb3b70bf10bd17b94bba7c541abbaa230a3c055418bd26dacb3a365a4fbba0db583bd4e9bbbcd818373bf22ceeba39c7513adf97b9bbebd8093b1a2b6bba55179bba39efb93b4637863c5241b7bd41d0b13c423436bbc34782bd2479d9bd40ff1a3d47c81fbcd2d2d9bd1d4abfbd68aaf03c41bdb0bbcd3203be0f5f8dbd4dcbb53cd9a0a2bba65acabdf63c4fbd3ab1423c857a97ba0040ccbd491193bc9eeff43b01531cbb199981bd8025b039568964baa6429c3a33fff9bc7f325e3c3739d0bb9964903955ac10bba03da13c482bb0bbde445aba36b20e3d61d12abec1db343fa065313f9a8f213d811d33bef967413fcf341e3f04a7f93c6c8114beecc43c3feca3f33ee5d0e93cf65a03bef548313f86b0a53eceed8a3c5bb4a3bd835b0b3f3ee4513e0c97b03c420eabbd3b7ee93ea9588c3df3d7863c103f69bd1155953ec43438bcb8f0953ce17d53bd6c61143e4b9b8dbd263e633c673631bdfba0e83c1ae8cbbd060925bee576093d00000000000000005a412cbee22d1a3d00000000000000006c2705be1818d83c00000000000000002d39c2bdd0409d3c0000000000000000e88483bdad80443c000000000000000050ba00bdfe58d13b00000000000000008c3ca9bb7e76e6b90000000000000000f325973ce94bbdbb00000000000000000528c53c6fdf85bb0000000000000000c65408bb2321a03bc7a0abbaae11773c277fbcbbef866b3c9f4f3b3c57cacc3c020fc1bb75968d3c8f19b73cc3cdc13c90a1d4bb371ca63c26e0b13c0f8e933c6185dcbb51f9a43c92a3a23ca753583cf9d1cbbbcf49973c46d1603c8154cf3b9bfd84bb428e523c5134043cf8f04f3b702b4ebb90ccf33b6a24873a2d53c1babc1a34bae2b9c43ac54991bbb5d3efba1390a1bb399df7bad0a6233c170e0cbd73ce39bcf66104bbf46b5b3c1ea00fbd113a12bc80de2dbb2306403cd8c411bd2d41d3bb7a7445bb90193c3c79c513bdec14a3bbb2b6cbba9499383c3b0218bd24f996b96cc802bbbca3183c76e2e9bcb75fb8b89dc6acba228aa63b3d8a9bbcb0de1b3b2428ebbacf9e2c3b0f60a7bb2e78c73a2a7303b9b67b80ba9c1f4e3bab9ecb3c0faed9bd872fe03c9d50a3bb7d503abd0d8412be80374a3dbec92abce92abbbd1d8a0abe8ec6293d5b4108bcbd1bdabd5272d5bd03c3003d1ce694bb9d48dabdc2d692bd4843c23c185ebfbbe45bb8bdc77e0cbd82f6073cb7a931bb59487fbd3521f9bba900243b684410bb5e84f4bc1fec4f3cd16bddbb1a95573a57374fbb3794ba3cf3cca0bb65a11fbbeb68d93c13bef7bdd656f13ec50e6c3f1fc6f23c47ff05bec08d053f32695b3f6c92d43c3525f5bd04fa0a3fcd05323ff51bad3cd223d4bd8241053f362a013f9268a33c22afbbbd779af13ea517a43eab468a3c37049abdc17fc03efbb7213e92bd7b3c9e9f71bddeac853e7452c63c3804683c617f3bbdb229093e096986bd12d5313c7ab115bde48b123d99aee9bdd78d49beb8462a3d00000000000000008b7e5abe74173a3d0000000000000000411035be8e8d183d00000000000000009bad08be7b96d63c00000000000000000473bebd3fd9933c000000000000000060cb45bd55df1f3c0000000000000000e69a36bcb541fcb9000000000000000049e9b53c248710bc00000000000000000d93d73c4f0caabb00000000000000007feef4baa4b2813bdcc8a839e29ba03c14e2a6bbd554223cf8225a3c2b0dfd3c29ffacbb82984b3c9a04a53c4415fd3c1694c1bb2f0b7b3c0cefbe3c92c0cd3c71e47ebb0ce54b3cafeb9c3cdea28e3c0e22bebb358c773cb2e7683c62a54a3c5c3c78bbdcdd2b3c05200d3c13c06e3b71173fbb0dd0b93b4eb4bb3abd565e37e1c8e0b99b6ad039eef98cbbffcd4bbbfa1328bca7d99dba6262eb3b3762c1bc90406abcf5b660bae09d053c9af699bc821625bc11174bbb8a84043ce9f7bbbc50d001bcbff95bbb71b40f3c0561c8bcbe9e82bb851ad6ba1767f93bbf90b9bc8c6466bb06aac2ba3467e43b2794aebc56dff3b896bbc5ba335eab3b40a36ebc8c6e2b3ba578beb9f4b9043b67789dbb13333a3b37ecdbb9cad17fb93bf6803b023db63c56e4f0bd2336203dc6db10bcd1dc1abd09c531beaef8783df09280bc7fa393bd771a2dbeedc7433ddeb00bbca12cbbbdf3e711bea1e62c3d95b709bc48ecabbdfec3cfbd3727c73c8a219abb495c9fbdcd8270bdc1208b3cae32abbba18b5cbda3eab4bc60eac53b2df805bbfa4ed4bcc45a043cb78603bc86e352ba5875acbaf2b8c93c5f210dbc7196aaba3eec853c56c68dbd9579773ea3268f3f3a67933c5c5ea0bd351f923ec1ca893fbceb723cfadc94bd71eda93e8223643f4a22763c1d6f92bd1215af3e5edb2f3fc54b513c46337fbd532ea23e6cbdee3e578c4d3c7e8e66bd90ca8d3eecb0833ecda1183c406532bd0a354b3ee563b93dc3b31a3cc5a001bd0cb1df3da3924abdcdf4f73bbf80d1bcb3aaea3c999cf7bdf1b95bbe28b83c3d0000000000000000267075be6f53513d00000000000000006c284cbe2feb213d0000000000000000ccf328be9b70043d00000000000000003424e9bda729a53c0000000000000000197a8dbdeb92333c00000000000000002980f0bc4773583b00000000000000004971c33c125c27bc0000000000000000a9c9193d1b9c22bc00000000000000005d52013890b2f33950213b3b4eaac73c1ec84fbb88207c3b41f5a03cd030183de572a3bbb9ad0f3cbefac63cb6d31e3d7e1c98bb6024293c104fd43c0c6c043dd985acbb2346323c4790b43c4228c43c129c8abb19a8243c9777973c0fa5523c66f463bbb5c5003ca584123cf5a8d73bb72a02bbe035843baa78623afb68dbbaa83a11371ea4ef39fd0e8bbb8bb58ebbb30b3abc1bbc0938c76d953a7873fdbb2318aebce0dfd63a9c079d38adcef239d66471bc29f0d6bacbbf4a3bd6efc1bbbfc826bc940b3cbb26349f3b2b702dbc7e41d8bbe64dbcbaaf4dc63b5d6355bc8be683bb7e9919b9f448a13b3e3032bc9c3f4038ee517bba10258a3b0ca61ebce3a9a03ba3345eba0ef41c3b35051cbbc682ba3ac570aa3a3d3734ba123d353bd8f1113c15ae10bea7231c3d50902fbcd83f15bdeb4a4ebe5f16a03d3fe7abbc9e408abd057052bee14f703d8bbc41bc6f87a6bd606a35be35323f3d559af2bb45339fbd496808be7ca50a3dd1c2f6bbeb6e8abdf1e9abbdb100b73c58b0cdbb514537bde09215bd2057e63b79bb33bb46c283bc3029753b19bd55bc1010033b9a96303bc06fea3caa5d03bc77c201bb6ee7a83bcaa188bc9b0eb83c8103ac3f5d1c9b3bd4f2bdbc2d29943d1d6c9e3fa162bc3b0f4400bdf2dd0c3e63a3883f362a973b549204bdb590313eb12c583ff682a03b506605bd46e23a3efbfe183fcf78933b9cbdedbc7974283eb0c5b93e1bb1203b9e10a5bc5fc9ff3dee9e133e9ec067b9fbc602bc7c03823d2b5bcebc6915233bd72718bc4fff3e3cb73110be4b9758beb126333d00000000000000005b176cbe69ce403d000000000000000021ee4dbe03c71a3d00000000000000009b112fbe18b3f63c0000000000000000c44504be8ecac03c0000000000000000383aaabd141e5e3c00000000000000005170f9bc8051d43a00000000000000009f50013d63636ebc00000000000000004d530b3df4691bbc00000000000000000000000000000000000000000000000075e9f8baecc9333b111e813c08581e3d582331bb76216b3b8283b53c84cb133da0c64dbbfe3de23b2f91a13c4087f33cb8f124bb45c1b33ba6f1a53cb075c03c7c1a61bbc921e33b42d46e3c4976853cceb2f8bab1c68e3bbacb2f3ce2d8c63bdef67bb9df46f43a2af6473b0e2c083a0000000000000000000000000000000000000000000000000000000000000000e00545bc1314b6ba9eff30bbe3b5fd3bdad911bc22a02ebb241693ba92528d3b48d87fbb61534cbbcb00a23abff2a5ba38eb61bb2cf1d1ba0a3e503be3a053bb062b00bbc5beafbad1552a3b6b1b86bb1acfb0ba970e9d3af7741c3bf97477bb1184353980802d3a4cff993a74e22fbb000000000000000000000000000000000000000000000000000000000000000005ba23bd94704dbeec4e1d3d6fe100bc234a6fbdd06845be1d741c3d695bb4bbf83685bdffb32dbe2a54d73c458d57bb4f7884bd76b30abe7db3a83ca46500bb04295bbde2e2bcbd50196b3c42e2fcbabec913bde5a740bd471d033c462e62bb6ebb66bc51c1a5bb3a1ec739eed69bba000000000000000000000000000000000000000000000000000000000000803fe4f72ebb513d7e3c684e9dbd197bac3f4fecdcba64e88f3bbad622ba79618e3f093b2fba91b1ddbac4ea333d8333673f417a3cbbf8cabebb96618c3de77f2c3f6c8a96baa678f0bb35b48e3d7f97e03ef11119bb31e885b95a45573d8a045f3e653e76bb1183773b0ac3b93c111a243c000000000000000000000000000000000000000000000000000000000000000012751ebea68bd93c0000000000000000c6b10abe309ea63c0000000000000000d875f8bdaf30863c000000000000000042d4dabd63526a3c00000000000000001824a3bdc0ab0b3c000000000000000059e029bd5571363b000000000000000021fccdbbc0df8cbb0000000000000000000000000000000000000000000000000000000000000000000000000000000086503cba85cd813a10d9163d56c41ebc05de0ebb4de1af3be7f9233dfcef33bc7336bdbba422fd3beb86093db6a1fabb1e82b5bba7b1323c7ba5ee3c9787f4bb025f9fbb7a64543c4e25a23cc9ddb3bbd69025bbd5576d3c0f130a3c9eda94bbd0e45cba69f0463c3a4b0ebba42e7fba000000000000000000000000000000000000000000000000000000000000000005713439b67a813adf77083b69daa6bce85cd4b98498043abd2cd83b62b221bd8b36d0b93665dc39be9f5c3c54b13cbd83909abadeb3343a11a4733ccb0d64bd9452d2b87b09bdb7fef26d3cbf186dbd0e3024ba2ee713b984a81f3cbccc59bd7e21a6b99f9af9b9c31ae83b8f6127bd000000000000000000000000000000000000000000000000000000000000000003411abe3769f93b4256f5ba67e18eb700c91fbeec71923c011999bacfea483a7ae70ebe99348b3c1b5396b9ac602839b81ef3bd541f953c86759e3af0b1c1b84b14b2bd85dd993cc969a7ba9acc373aaaa93ebde099813c9b196fba37bb433bebaab4bb408ee93b4c5f32baf9d0373b0000000000000000000000000000000000000000000000000000803f0000000097fcf33b37b535bdcec99d3f578fedbdad9acebb95719e3c9989843f8201f8bdd1689cbc56d2783d08cd573f03e8f4bd5419eebc3461ba3d416b243f3dcce8bd8c39eebcbc4cc43dea61e33ef002cdbd8cc3ccbc4461a93d0bdc7d3e0e479abddb2aa2bca283693df7986a3dbb5443bd0000000000000000000000000000000000000000000000000000000000000000790ce53cda7df5bb000000000000000081d8f13cd7e521bc00000000000000002216ce3ca82a17bc00000000000000002537b53cb1230abc00000000000000002e08b73c335709bc0000000000000000d5e6863c599b22bc0000000000000000d6cb6f3c5b84ebbb0000000000000000000000000000000000000000000000001909533b5af188bbc7569c3c9a41adbbb5b3383a9bbe0c3cd0cd1d3d47aa86bc30f290bae612393c23bf323d641c77bcc13839bb6fcf5c3ce35b293dc7546cbc470b41bbd6e95b3c6b750a3d789d43bc153103bbff2f853cddeec63c66df41bcadea82ba2d40843cb86c253ce3e6eebb957f333a2da5313cb1899bbb7b5ef1b96467543a4467bc3bc04713bc08d8cdb9158dc33afd77ba387abe5dbc63b7693bdc300f3bca6b0839c1af67bb6ee5eabc4cc4cb3a6b1acf39492daab9c47015bdc9a399b9a4ec883abb31053bbe0c2cbd9304e939fb6ba2391251c03bb0ad3fbd0a1a063aa7228c3974e1df3b204a56bdc3d2923a9d1772ba88e3083c59be4abd9b00463aca62aaba9cd29e3b479dfbbc10cd5a3a4fb031bacd90593b028986bcb83990bd0acdccbc485ad03b7d3f19bb12d811be81eb723a0f03073b64d7393a02052fbefa40123c53deeab9f5cd283ade3a29be4ca35e3c865a853a652934391ef60dbe35a9833c5feae33a029605b8285dd3bdd69ba43c4003b939383ee43a2b906cbdedea823c2e724539133c1e3b8d1b01bc66aa033cdd2ea0ba45e26e3bf6939e3cb508eb3b1a5263b9a84ee53abfb3103d0dc916be05499d3ffbc4843d0cbe203d7d6401beb293993f089c58bb311c573c4c5772bd4778883ff7fe2ebd826ea6bbec2206bb16b3603ff1bb91bd5c18aebc55ce183dd3852d3f9236aabd09d8e5bc2c6c663d917bf43e7617c1bd6338ddbc8dc1593d59588d3e9099a5bd1b359dbcfb99d33c83acad3d502358bd93ee96bc52d38f3c0d1871bdfd6c2abd156797bcdda1a43b0000000000000000123be13b7d6db1bb0000000000000000a54a773c7d9303bc00000000000000006177ad3c2e0e06bc0000000000000000136ba13c9d7d10bc0000000000000000908abc3cac733dbc00000000000000007208a93c49082cbc0000000000000000d316613cdf8a14bc00000000000000002de4513c05c7f6bb0000000000000000a36f833b8b2781bbddfe3c3c6486f4b9c52eb23adfdb06bbe9d2103d0f4affbb9a6c08ba90c797bb52181b3d067d92bb401292ba6ea4313b3109353d8fa11ebc106783bbd0e1393bf0640d3db4d800bc8e1619bb657c363c23f4dd3cb3bf26bc339924bb2023113cc4cf8d3ce464d7bbf7a80dbab219233cf8aa5f383b1e7dbb9627c5ba2248f43bc9f291bb06625abb2b09213a1d847ab9b8a991bcaf4f843b49e2383a15b4e1392e5906bc13dd24bcd42d9dba3a243e3a20e0fbbb7437d0b95a049c3a616b4539abd5a1bb1b518abc004709bac4b8d4393356583a1f2a8dbcda023a3ae37f00b95c6b903b1b8c06bdb5ee02bb0339963ae0168c3b2776e2bc06ff633ad91f02ba7ec4b23bde19e3bcc9d80d3b366d56bacbc0823b0fe628bc8f2ce8bcf8093abde6811e3c26be7dbb7f23e4bd909815bd0341573c08ffa7bbfc3b0abe7ddfe8bc59762f3c870d94bbbf7522be2fc0d6bb51ab853b8e2641bb931609beef6e8fba218beb3b540d11bbebcee6bda8ae4c3c7c6c713b9c45f7b91ef994bdf912653cffcd283b950d2f3a6794cdbccab3843ced71ac3964d7af3afa8b873bab06383cae11e2bac930dc3a746a3a3d11e726beec8b853ff62a813e3a41423ddea12dbef05c8a3fa5592c3ea645a43c1d38c6bdebf06f3ffd5adc3de75d513c007c8ebd6c77593f1f57c83c4a13a7bb044fb0bc228b293f669c70bc62097fbc9843113b4cb4ff3e2bdc70bd109cb0bc4392ae3c730e9e3ed4e68cbd07d397bc5dc9433c4af1083e201b99bd23f894bc0b17ba3b68e2b1bb5faa84bdeee16bbd6876873c0000000000000000899939bdba11323c0000000000000000c09d00bd0d56123c00000000000000007d7f1fbc5992903a0000000000000000a6fc97bbdb52a5ba000000000000000013be143c2e82dcbb00000000000000003ce9193c5b38f5bb000000000000000072b1933cc48431bc0000000000000000e148943c1eac17bc00000000000000008e56603bd532b5bbc1c58b3b2e4bf63b291b6c3bfa3717bced59f33ce0fe313b3d70063bc136ccbb10ce263d03a0f6ba4e735bb7ac079bbb5365393d6b8e09bcd850ccba862783bace692c3de87affbbe38d19bb04c2943b0753003df2bf36bcec359aba64aff83b3a53a73c7b8916bcef07f539be120f3c9397d33b5f9903bc8fbd8a373e11a23bef12f2ba3371e0bb3b303aba965e0c3a2e089fbc6722de3bb9801fbb3690503a199e72bc28034c3b267c1bba7d8b9b3ae06e6abcb55b9c3bff7bf63956f23c3a3d3d31bcc052ae3b0dc9f7b948091c3ab93bd5bb4beb23bbef76c63a2521d1b9c2fe60ba86bd4abcba91db3ac9a004b9b6d9cc3ae903a7bcb8a6303b5d5308ba701d903ad0f5a2bc9692af3a6dc47838f3129a39964c46bc4d67593a2f2290bd0fef553c2fb5f9bb30f8a2bdd5368dbd5277963c331013bc2d9a06be562649bd8025663c2c4116bc3edf1abeb4d3e5bc9689283cc300c4bb56be12be284749bc96b1123c0770abbb7c0cf4bd928d833bef9bcc3ba7f2ecba5b05aebdfda26d3c62d6613b16fcedbaf9b71bbd736ca03c1d869bba32c4ef39748adbbb5150ab3cf952323ac32648b87ee0293dab551fbe43a95c3f1489e43e679e4c3dc7492fbea33d683f6aa6ba3e156e183d49010ebe76285d3f421f803e666fcc3cd1c3d3bda5d5453ffc45133e986d013c359c8abd8c6a253f5015673d4d8124bb417c17bde52cfc3e31c607bc062524bc0da882bca9a9a83e3aab60bd79be70bc1db346bb74bb253e973ca4bd05eba9bc2c43163c9533e13c0173babd0e73c4bd2bf6ee3c0000000000000000ba14c3bd4e66f23c0000000000000000d44d89bd1a1dab3c000000000000000039cd2cbdba4e433c0000000000000000daf2c8bcbfeae63b0000000000000000219ffbbb5172a9ba00000000000000007aaaa83b6bc8c6bb000000000000000094cd803cf69929bc00000000000000002fbea23c036308bc0000000000000000508c693b8975c1bbdbc319ba59835c3c9f40963b7e0b4bbceb5cc13c59984d3c833a323b073c48bcfd2e0e3df28db73b9f71803aa85a28bc63bf343dc327d536839f7339929148bc8d87f43cf9e6b03adbd813bb2b11683a9c59163db8c508bca53c0ebb2f4c863bb6a8b93cbaa00dbca95e87baae5aef3bc14f163c054d11bc446eddb9af71c33b5ce0153ba2c906bcf4da7abb1eb1b6b8c13892bcc0dd043b5d0fa2bb5de2e13ac4187ebcf6d1ba3bee2c63bbc7548b3a34406fbc33458b3cb16b47bbbb8ebb3a60b988bcf9078f3c7a665abaf3a1ef38cb0b11bc9c91b73c48646db9734c1b3ae95adabbc49b073bbd60efb8d31be439637805b91d3ebdbb10fde93a1c9123379e3ea03936f34cbc3a1b053bb38fe9387416c83ae76907bc5762a13c6cb4afbd73a5693c6557b5bb54545abd1bbac5bdfd1ec53cc3f661bcc378d4bd118d9fbd7052a73c54751abc9bcb0abe281665bd7e0b943cc85715bcbd85e3bd8b9116bde19c3f3c73ff89bbbc17f9bd917b25bc8c61193c22d09abb0c4cb5bd5195013c34f6a93b94b5abba5b8446bd727ab13cb56a1e3813001b3a939289bcd909c43c197e1aba548994ba3c931d3df6410bbe548a2b3f56de243f09623a3d8fea1bbe196a373fc491103ff6d10a3df98c06be72d3323f9994da3e3c12ff3c8851f4bdc8d62a3fb86f923e494cc23b707d85bdc388063f17d63a3e9ca1153c496189bd6546f03ed073613d923331bbd1e214bd14a5a33e0ed087bc12ffe9bb5ff99bbc4ee7353eda3c9dbd735280bcccb983b9f735433dee9dd1bdaac700bece78103d0000000000000000d7290ebed4bb303d0000000000000000c36dd9bd4b37fd3c0000000000000000c2e4a2bdc5c1c13c0000000000000000678c5cbda6475c3c0000000000000000be76e9bc8265b93b0000000000000000950b09bcab2b0bbb00000000000000001410433ce32336bc000000000000000060af913c36b2e5bb0000000000000000d87e2a3b4eb46abb2ae945bb7d8e893ccf03813bb31d29bcbbd58a3cca2ba73cef6e423b78735dbc1b0b0c3d5b544b3c0193443b1c023fbca11a1e3ded35e63bc1a2e439ec6e33bc69dc2a3d9df30e38d61e3e3a898080bb3289153da959f7bbabe895ba50f5fc3af02fdc3cd71825bcd6a84cbaf55dcd3b13c0423c8a5441bc27d12ab85df98a3bd41a8a3b5df41fbc62da91bbf7b8a93a7da33ebca8389fbb68080bbc5d03183b07f235bc4f119139e3c3a6bb3d6ad73a4a385dbcaa9e863cc9e798bb696fa23ad7335abc943f9d3c49ca31bbaee6893ae94664bc070ac13cdda8a63a0886c0b8e72d0dbcaed80e3ca0cbf33a364d57397c1b6fbb015d5e3b1d99423b9a80643977569bbac92a97bbe8291c3be86e9938ec849eb9fb6980bb6139073d2898cabd03b8683cc0160cbcf5ef07bd47bbf9bd131bee3c644278bca662b9bdb88edcbd3c4dd83cb66a6dbca618edbd749ca9bd4d7bae3c071b20bc424a03be29b053bd65738e3c699712bcfdc7f7bd4f449cbc0bc0103ce6f29abb0eb4c2bdc659823bf6ffaf3bedb455bbe99062bddf53b83cd68649392b0ca6bac722b3bc8703e93c0189e5ba96d913bac23d023d7e13e0bdd8f5f13e8dc1563ff6a1213d1ba601be1059053f4c7a453ff58e0f3dbccffbbd1bd20b3fc0a41c3f5dcef93cb574e8bda8ab073fe5e5e23ef218c03c895bcfbdd94efb3ee5418f3e5e3e9f3c696aaabda559d33e55400b3ed2e4103c52b37abdd8a19a3e5fd1c33ccf7fc73a17a11ebd15a9323e758581bde66527bc26b922bcfdf36f3d3509ddbd3a8915be30752c3d0000000000000000d0c82fbe62de573d0000000000000000a0d812be8187373d0000000000000000d531e3bda1b0073d00000000000000003707a7bde77bca3c00000000000000007c3942bd52672d3c000000000000000050fcafbc57e4813a0000000000000000f091c13baa3805bc000000000000000004f36d3c36c0d2bb0000000000000000c5fc0d3b98d916bb923d2cbba74c9c3c07548a3b698b1cbc849c883cc5d7cf3cfea0413bf7fc41bcd54db23c3beac53c282b373b3b6460bc45c8103db9f0673cfc31953ab5a353bc126d0a3d2d9fea3b0de08bb92d5db8bbe840133d7a3188bbb307b5ba16a7edba570dca3cded8a1bb8acaf9b94cad753bee9c383cc9430dbc2959b2ba9c06d23bda29fc3ab14131bcb1bce9bb4d77e33ace7698bbf36e5ebcf8353fbc5f1e4b3bfea3bebb8c3526bb6544fabbf774f23a30d73ebc737c763ce3ffe6bb7159b43af28e4abc1b5fa63ca7c53fbb43cda7391a9029bc20e6d43c8f2a27bad9bc303a50a800bcd079983c7772dbb9c8651839ff7175bb34013d3c696e883b97e29bb9ca725cbacb05d938a01e703bae30e7b859cb193a1a1d61bb54f2ea3cef17cbbdc88b8b3c68d926bc651eecbcec0310beec95013ddcff86bcdc9177bd2be604beeb9bd13c44f05abcc229cebd938ddfbd87fedd3cdcb549bcb3dcd3bd73cd94bd849c843c0551dcbb8f5be2bd950c1fbd7290863c7e4aefbbaecfa8bdf7616bbc719e1a3c194967bb3d2f53bdd8ca9e3c221ffbba92e77fba2082a8bce0c0013d212089bbb3e3d6b91c27ba3c69bd8dbdd0638b3e36e5823fd72edb3cf2eab1bdfbdfa43ebd49783f4528df3cb79fb2bdaa74b83eaff9453f0909e53c7930c5bd9ac8c43e37a81a3f6057b63cb6eaaebd83e0b73ec14ed13ee76db23cdf41b0bd2e03a83e7e11713e1e472e3c1c846cbdfc09783e1d3bc73de090263cdd9d42bdf3411a3e694026bdc67ea6ba8dfc9ebc64b1543d110ce0bd4b2621be6685393d0000000000000000044044be73e66e3d00000000000000006ca11ebe7f543b3d0000000000000000b6bf0ebeafa52f3d0000000000000000dcd0cfbdb560de3c0000000000000000ad6b96bd9470903c000000000000000019db30bdc1b21a3c00000000000000004615883910801abc00000000000000001f61783cb7b9efbb00000000000000004196103bf9390bb9ce07a9bb9232c33ce6b3833ba2eb02bcc3709a3c06ff0d3da85b863b14f352bc356ae73c3264e43c97cc343bfb2b64bc7dc2043debf8c63cd787173b3d9655bc829e0d3df30d633ca07dd53aa1dc2bbc3a56123da22c883bbb1cbbb8ef7e33bb4d20e03c2170d6bbc1a283ba1025953bfe04113c70ca28bcc175b9ba3bf1953bfd628b3badca29bcda380cbc670b353ba01649baebae95bc5c9e95bc8ebfc33b50e5eaba9d3aabbb2e2d43bc5f56273bb14ff9bb389f3b3c55fe18bce261da3ad24e09bcb6e6973c0b88d8bb49ce993a80b622bcf8d9be3c33c261bbe9f0433a6805e6bba019b03cadba963a83c4c537149285bb7bb04c3c5235c03b38f84bba3081183a290a1e3b8614313bf67add39a723af3a6170a7b848c6d43c3906e7bdf685373c5d2422bcc9440cbd63be22be3e18103d5dee9dbc30fd86bd67bb21be36be003dcdae6cbc2d60acbd49760cbec8b3e03c0e1e4ebc5f32bebdf439cfbd8107b83c08e617bcaf73cabde3fa7abdd7b58b3cac30f3bba5aaa8bd0fe9a8bcb915243c08a98cbb6a583bbdc4919c3c04fa6aba540ecbba2070a7bc311f003d486129bb12c053ba7028353c7cb6dfbc4437a53d3c049c3fb6423c3cd5c003bdf80c013ed571923f97c7983c696066bd09c5463e359c743f4b48b13c23ef84bd87846c3e0ef53f3feb99ac3cd46091bdcddb773e2030093f03e5ab3c88239abd4a846f3e290bac3e0564903cfcea80bda1583a3ea28e193e7cee423c954e34bd01bbd53dfcf5d3bba102813bfb63c8bc4d93353d9771e8bd1af219be5c7b253d00000000000000008d993ebe1e3a6d3d000000000000000091c22abe63644e3d0000000000000000ac8e17be0ae1383d000000000000000082a7f9bde4b5133d00000000000000001aacbfbdc19fcf3c000000000000000000bf5fbd1890363c0000000000000000ef5b66bc3fa4d2bb0000000000000000eed9943b2e08a4bb00000000000000000000000000000000000000000000000083b1163b0d72a0bb914b703ba945f93cf328313b80e72abc40534f3cfa25053d66ff763ba40c5ebc02b9583cc87fdd3c4ad80b3bd1c05dbcbbec863cd919ac3c51c1933ab9b00abcb23e9a3ca4dd463c03151c3af82b9dbba36ca03c7d2b123ba3e207b972fd41ba844f523c01f87bbb000000000000000000000000000000000000000000000000000000000000000097b206bcd9aa093b43ea7c3a889441bb39610abc0e6c643a00ee56bb510a1d3cc164b7bb05680339fecfd3bb6cd7943c78cc76bb9f19ceb90b00e6bbe977bd3c431946bb30f978b8e403d5bb823ea83c57ddacbaeeb94a398e5763bb46638b3c32cf54b9a2fb203894f8bdba7118e93b0000000000000000000000000000000000000000000000000000000000000000e3d475bc5f0a14beb834443c229015bcf3ed1fbdf02a13bed622853c1b8bf3bbf9b449bdf59d05bec6aa653cfb1ea2bb8c9b6fbd9042d7bd9438663cca8993bb8a5285bd841595bd2ef0443cd8af31bb0a7373bd119e13bd42d0143cbb5707bbb5c42ebde7702ebb2c87b73bee5e16b9000000000000000000000000000000000000000000000000000000000000803f6680213bb77f44bbb188c8bcb6e99b3ffb02273c4ae59abc3bfb2b3d8da1813f1b343d3cabf60ebdd4c2b33d50eb513ff9a6773ce21c2fbd9a72e93d128e1e3fbed5713cca2238bde26bf43d7760d73e68b7743cc5812ebd6568d13da94d683e1a03323c158f0cbdf5cb8f3dcdfa383d00000000000000000000000000000000000000000000000000000000000000001219fbbd3a6b003d00000000000000008f42f2bd4991f73c00000000000000009881e4bdde9ed63c00000000000000000d46d4bdb786bf3c000000000000000030d0b1bdea148e3c00000000000000004efc7abd4cc22a3c00000000000000000ec308bdbff3063b00000000000000000000000000000000000000000000000000000000000000000000000000000000ce363fbcf5209f3c360c3d3dc12a153b480fb7bb66f2a73c3a112a3d35e6de3bcac74bbad148a73cfd7c013db6e1463c849f143b2864843c7b2bcc3c49ac233c334e583b129f593ce9e4683ca3d6123caf375f3b900a013c343dd13bb953013cda28c73a21676b3b39e565bb21dc813b0000000000000000000000000000000000000000000000000000000000000000698beaba4cb083bb532a0d3cf76df8bb3a28ce3a4c2cc6bb59a0c33bdc2306bdf0f4803b4b52b8bb86bdc43a98333bbdc381c43be3cecbbb3e4a09bb47db3abd0acb5d3b9db7bcbb9e5d2bbbb64e26bd2d9a503b1e6ba1bb041dfcbb37d4d5bcc8657d3904d8efba7265ebbb4fabc5bb0000000000000000000000000000000000000000000000000000000000000000fffe7abe8c260c3df84a2abb755a50bbbca366befa59ac3c4ca75ebb7aa811bbb3f755be70cadb3b3f8d88bb4f94e0bad3e72cbe8cc3bd3b046fbfbbd16d19bb0451e0bd7cff26bb41b4cebb473dba37e97173bd1abfffbb6e42b2bbd975933af7b3d5bb5e8cf0bba57ca3bbba931f3b0000000000000000000000000000000000000000000000000000803f0000000003f8aa3c556bf0bda46daf3f7e1518bea9c93e3c819f31bdb4f98f3fb954dcbd8395193c4d311abc3a92713f970abdbd7539073c1e7a873c1a3e323f3dcf8abdb004a23bbb890c3daa36e03e52a117bdffe1d83b466b133d9ffd583ee0a159bac087843b29c7e83c3fec0dbc1d29c83c00000000000000000000000000000000000000000000000000000000000000002350ff3c935d76bb0000000000000000af5eb93c7102433900000000000000005f25ae3c59e6d53a0000000000000000ae2d803cb80b663b0000000000000000e8a04c3c61c7943b0000000000000000432f473b0331333b0000000000000000cbe959b996ed4e3a000000000000000000000000000000000000000000000000797856bca799693c2846923c47ba6a3bcd717dbc6d94aa3c9797f53c11a8953bb00fedbba993d03cba19173dda7e5f3c04ff2ebb9dd0c43c6b78043de835843c967776b7bcdea93cff67bc3cd2516d3c207fec3abceb853c4540853c745b513cdc4f303b16c82d3c911e123b1fda2f3c5b8476bad9f70c3c734341bba71fcc3bfd898eba9ed8433ba3500ebcf8fb72ba13cd4abb425263bb29677a3c2173caba1c7831ba071eafbbaf0b863c8c725ebcd8fe533a15ca1dbc41768b3c193a27bdbe93d53b06503cbc133d1e3c939d3fbdc7059f3b185304bc94e5e53b1a8449bda614a13b3bef17bc9573903acbce26bd774b933b9748e8bb7ab874bb8948c9bca4974b3b8b6ea6bb0f6dc9bb41993cbc721b2abb8ce38cbabd6f0fbcce98473cf478fabd553a803c406807bb3739f6baf82d37be79c6763ccfe6c6bbf6961c3aa20369bea4c7b13b66173dbbe98b4fba123560bea76ea0b9698feabb3feda6baff6734bee6c559bb2ea6dfbbce8f75ba220d03be204017bc7843aebbcdd5b93a1c3987bd2dd02ebc1d71ddbba4a4373b9f22c0bc3f6721bc5c890bbb61412e3b3dd7843cf6519cb9a14adfbad592a33b37b7443dcb5c77beabbbae3fb7fbb9bb27de0d3d180530beab7a9b3f2fd3163cab0ed03c55880ebee8fd933f50a7d1bc7b87b03cbe1ac2bd07c2763ff9a4dfbc4f749a3c924f5fbdbf4d3a3ffe62c6bc640d833c67a9d8bc61eaf53e2f5e04bc6347293cf24259bb1301733eafd2083c077bd43b85aff13b8eda633d50afab3cc7d62a3c0e3607bc7612e4bd450cb63cbec1393b61d806bb0000000000000000e5bb9d3a403f1c3b000000000000000086059e3b50b5cf3b0000000000000000037c223cbe8b063c00000000000000009b46193cf53eb73b000000000000000070ae873b3c02ea3b00000000000000003e886c374b1dec3b0000000000000000d3e8bebbdb39943b0000000000000000eefb7cbba55d4bba0000000000000000ad3dedbbddaae33b9cefd33b5675053cdc0c27bc0d8da73c930da03c4818703c1d39d8bbac8bc33c2b22db3ce1c79e3c70e85abb17eac53cb226b73c463da53cb8aa103a824ba53c06e9823c65218b3cbb82eaba2ee9963c7b052f3cef4d873c8d9c043a20a53b3c3062cc39d1852b3cafbc8eba6415193c23edaebb8e40c83b495815bbc5057f3b33dfd4bb957948baf6f2c2bbbc6027bb97f8983c8e7b85bc4125cf383c08f7bb9ee1bd3c44c500bd2d3bc33a5b8837bc658ac73c80fb50bd86f4683b012435bcff3ea93cae7f61bd6d7ac63ba4a821bc7608353cb37853bd0406b33bb5772dbcb4db293ca8f22dbd446bae3bc9deffbb141cd73ad35bd5bc618f333b986abebb696d95bb151aeebb2759153b20bb5dbbdaadb9bb4f05d03b7be25dbd53fe0cbc09f9acbaeb48de3ab9d71bbea1db85bcaa98ddba51ef3b3a26f446be1bd391bc14a505bb68cf5bba464445be31c38fbc92c9abbb0a350b3b9b2426be626367bcae87acbbf7f4ccba9237fdbdf5115fbc6c1606bc87de053bc4e48bbd095f17bc8de6f9bbadaefb3a3618dcbc20a09ebb1d7181bb9715573bc103453bf010553bafc052ba532b173be43b333d61436abed5298f3f6a48623e4401313de69866be4fca933f7539283e5fa9053d8e4f3bbe17d4893f89cedb3d2740cc3c747b10be1be76b3fc363863d49bcb53c2442c3bdd85d363fb079133df376923c053e83bde224f73ea309ce3ccc38883c192618bd8e6d833e6123813c52c34e3cbf6aafbc6b18913dc58e163ccf93323ce734a3bcf74737bdf912c0bb942647bd5c5d0f3c000000000000000093d41abd2d172d3c00000000000000005788a4bcbcaa473c0000000000000000117432bcbae2253c0000000000000000d93594bbbc882f3c000000000000000044ebc2baeb38253c00000000000000000daf1eba8e39123c00000000000000001102bdbaf3df803b0000000000000000fba915ba0a7b8a3a0000000000000000c3ba73bbec16a73bf67d283b32ef733c51b4f9bb8bcd823c4899833ca3e3ab3c00e690bb98dab03cf2c1993c2e63cc3c1dfa5e3ad182ab3caef28a3ccdd0c33ce0a0d739e6839f3c2912613ce9699c3c579d91b9d1408d3c453bfd3bfef5963cedac923990ee633ccc9998b9d4873f3c1b3466b9a34c183c1b41afbb6cb8b03b4d2500bb8a1a753b5b77aebbfa8adab95ae391bb03c88fbb7f71a53c2e9af8bcf3d4f5ba1f0613bca124bd3c3c3e10bd80d92b3b45b427bcc7e9d43c2e9d5dbdf9e7c23b323e4ebcc28ba93cdf7674bd9294083c07eb48bceacb8e3ca32a5dbd1587f53b081747bc82ba3c3cdee840bd08628b3b234b1bbcbf589a3b1a1c02bded4d9f3ba39b0cbc4f7af4b98a275abc0ed25a39c0d68fbb6666f4baa850843b753be1bc0bd827bdc6aec83b98a426ba9937edbd502b68bded33c33b8d78cf3a3e8121bebc3460bd09700d3b47c3a8baa09226be6c7d39bdf6dcd2bb0955f939035218be88cdfebc2843f0bb25fe883a999ce5bdbbabb4bcbeab0ebc6527553b66d288bd920f4abcf93bcebb15901b3b793ae6bcb1dbe5ba3db956bb6429543bb32a833aa7a40b3cb9a079bae82eb03b4f10143d43bd59be98cd703ffe56e53e89991e3dbd755dbe0ad6763fde20c93e621ff03cdd693abecc066c3ffa4b973edf97b93ca76816be64f64f3f501a4e3e7017b73cc9cef0bdfb80283f0aa4f93dee6e943cdab4a3bd8e46eb3e42a1893d5a85653c0f2b4dbd7c23853eab62d83ce3da7c3cda7210bd1246bf3de0adedbb5f564e3c850811bd8971b4bccba917bde658cebdaedca13c00000000000000006784bfbd055dc63c00000000000000003e4b84bd72b4ac3c0000000000000000b93214bd1b27a63c0000000000000000b683a7bc149d643c0000000000000000ce593cbca86d5c3c0000000000000000bbdf1dbbd199193c0000000000000000330ab83a40c7d73b0000000000000000fd96b13b061e803a000000000000000048e800bbda109c3a60aba93a4f07973c4e5775bb39420b3c5793333c1df6d33c55b5d5ba14b2733c1da08d3c90abe53c4f6667b90c57943cc866473ca542e23c7605ff3a8411853c597fee3b45d9ab3c1b0c2d3b0fd66a3cbd1db73bd94d7f3c9f6d7f3b07d8213c399e00bb9eed3e3cad0362baea750b3cf151b4bb9132a03b930e6dbaf722903b183bb9bb4adf09bb8fba74bbd903fbbb809da03c4042eebc494ec9ba98fa16bc8f20b03c84bf04bdae302d3bbb3948bc71cfbb3c29e733bdea88e03b3d325dbc63fab43cdd4659bd0ac2963b5c4415bcc06e823cb5dc60bd88c7b73be9d933bc58ad823ced953ebdb474b53b79442abcefc2c53ba04f07bd2879803bad2f0dbc0781023ba56773bc7b27e53a6c79ebbb9bf4e8ba635be3bafb9675bbcd1092bd9046683c8fcc763a77fba1bd2b3bccbded298a3c1a20c23a8fb0f9bdf26fcebd8c66253c417a113b0d790bbe64eca6bd4bf3763b4cd58abafa08e3bd96de66bd1d2ab2b98310ceb907b1cdbd892100bd370ea5bb4237f439154075bd642e56bc03b5cfbb175fc13adeb8e1bc0bb42e3b6767a2bb6b56313b01a43dbbcff9723c1ab531ba67a0bd3b9dfae03cecac30be27db313f79a0343f7e88df3c034034bea2143b3f9ee0233f2d5ab83c1d6c22bef4a7373fe307053f1d14a03c7b6d0cbe46f0293fc4cbbd3eaf40633c99c2c4bdf193093fe129723e8b324d3cd638afbd1c55d43e2c16f23d3a5d533c0c7e63bd0d137d3ee3c81f3d1678413cef4d23bd75bbd53d48c2b3bc5a22503c59e40cbd4fa299b9572684bd558023be681c083d00000000000000009c231abe11fe123d00000000000000000c4aecbd4babf43c0000000000000000bf239fbdc6b9f03c0000000000000000f1f344bdf1f5a73c0000000000000000d7468dbcc0a3843c00000000000000009dc53abbd7a43c3c00000000000000001e6af63bcef9fd3b000000000000000075b1523cf7f2173b000000000000000052f674bbbaa7b0399ea49ab9ba43903c043f63bb4ff38f3b7cbd183c31d0003d69a28cbbc9b5113c63b6733cdb260c3d9fb61dbb1f1d553ce81c633c68e2ee3cd9ddd83afb30403c4bae133c25babe3cecbd7e39598e473cfc27903b5bbc983c8893f33ae9abf33b21523e3ac1433b3ca32f9338c5afdf3b183d94bbbfb14d3be10291ba3e96833b065afbbbb4ee96b997c271bb07a8e4bb0593833c50c9bbbc46919eba823a33bc384ea03ce757c7bc6763823ba7e236bc5af2c33ce9980dbd6a53b63bc8423cbcbda4b43cc25723bde53f8c3b8a4c2ebcbfbeac3cc60437bd7d929c3bd18037bcc6cc893cd96a2abde2f3bb3b86f927bc50aa4b3cb2c001bd347c463b2c1c0dbcff93ac3b23677fbc7d3ae53a3c2cc3bbb58f6f39969883bb5c347b3c8b65c3bd6e95a53c019d6f3bb6dd41bd03f414be2a16ef3c7ffdb03a96ffb8bdc70e19bec804983c117c7ebab9f4d5bd34c900be29611e3c5534013a0190cfbd1ae8aebd64299f3bb91ee2ba1be8abbd28cd4cbdb70284bba02da0b920b262bda65bb0bc77c3b8bb366703b74c4addbc9227833b91e640bb9e7edd39e9bf0439dcf0a83c699591ba59101d3ba5e9733ca993e5bd1a86de3eba53733fea71903c34db00bec5a9f53e4383623f5638623cddc0efbdd0effc3efdc53e3f8f0d373c091bd3bd9e15f13e15980f3f18ea103c140ab8bdd4bed73eda79bb3e2b81153c781298bdfb56ab3ef99a493e1884f53b90b258bd0ea9613ebee2853da79ee43b457c1bbdc794d83db742dbbcd94e1f3cc558e9bc82a1603c71dcb9bdb9c24ebe3c39273d0000000000000000b7f24cbea79f353d0000000000000000675e23beb054263d00000000000000005195e9bde4f5063d000000000000000034c98fbd586ecc3c0000000000000000728ffbbc6e44a33c000000000000000057eb97bb947b553c0000000000000000122a513c889ed43b000000000000000040c6823ca9b21b3b0000000000000000c2fea3ba0328a5bb2fa07bb9ba22a43c909465bb291172bac4b2253cd23a0f3db15ba2bb7c82713bd344843c2c21193df6b619bb4e98ac3b88a46e3cd98e023d6a9ab7b94d51013c27491e3c4f89d33cb72617ba9593f03b46bcd23ba8789a3c729c063b9dd1d23b7865003a69f5313cad2f7a3a3e35973b4f904fbb6b0c603b34b6043a09caa93a95a28cbba67460bb29225ebb04d3d5bbd602373cb9563dbc7c9f1bbacd022fbca6a2583c16ae4bbc15fc533b544131bcb569893c867884bc2917c83bc3542bbca8c3833c4616c7bcddaea63bd0cf02bcc057733c25def3bce052a53b2fac1bbc2ba3713c6bfaf6bca7a1833b5f1f18bc8948073c8766cebcff92573ba2cbe9bb666eb43bab5a78bc56910f3a0267a2bbddfec83a274b96bb3671bc3c0643dcbd1734ea3ce0f03038f3ceafbcdab93cbe104a113d15b5ce3a452778bd7cdc49beb50b013dea701bbbb97c98bdb78a2cbee846873c14ffeaba252b95bd582ffcbd666c1e3c5e8679bbe9a886bd13c597bdaf974e3aeece3fbb4e883bbd04ccecbc7a1f96bbad7600bbf54bc6bc0ef55f3baffa9abb3742b4b7b3c4fe3a1d56b33cf7e489b816978539b176803bb24b6cbdf72c533eff1e903f1422a83b2e4b86bd49f5733e7f648c3f2608223b430186bdd38e873e74ff733f5277ff3aa08f80bd923d8f3efaec3c3fd664803b683660bd8103873e2e78023fee69a13b296b51bd6d2a6d3eb9c0923e3aa4863b822b21bd16b72e3e491ed43de410953b73f8eabc0dc1bf3dafd6c6bc549d943b41d9a6bcd002af3c9278d0bd37415ebe03b2463d00000000000000009a6964be5849503d000000000000000026a942be37ba363d00000000000000007b0c0dbe9684193d0000000000000000ee9dc2bd6748e73c000000000000000067ad2dbde868aa3c000000000000000041e9d7bb3a13473c00000000000000007207753ce711713b00000000000000005911db3ccabfc3ba0000000000000000fe4023bb592fa6bb4167bd3a0dccd23cc8eb65bb06d8c5bb2973173c08f8243dc75190bb3345ecb7ab76823ca868323d829c0cbb834ed53a5a9f793c57661c3d1bd2fbba8baa943bd6924e3c2178d63c5d601e3a6ffd8b3ba0fb043cc0d5a13cb9a782b93ab0603bf82e293b815e373c8c94dc3a41b5e53a6a7accb9b374cc3aeb5f843a360ea9b99c5fc1bb1533a8bb4abbd1bae1be0cbc2067653be05d9b3b8d5b67bb4bfd37bcce31da3b2ddc193bb6aa373b542c24bcfaad233c036920bae340b03b041918bc126e403ccf810bbcf1c3833ba886b2bbef153c3cf7ac82bcd65ca03b2e6de1bb0a57223cf53a8abcd856a43bc8f8a1bbeb58263c0cac94bc8ec2363b84b987bbf418b33b003029bc95f989ba372f74bbd1ac693adf9a8cbba2459b3cfc291cbef5222c3ddc5002bb1683b0bbfd894dbe5bbd493d710db6bb44d224bd5ce66cbe4017083d718738bb919f60bdc5bc54be95f9cb3cd527debb1bf163bde9bb1fbe95a4453cca0da1bb87c945bdd333d3bd46a05f3b7fabbcbba05f0cbd0c8140bd75f199bbba2adbbb1f0897bce98683bb73dc00bcab8f0abb8bdbf13b9f60023dbce0c4ba7737d8baea1ccabb223db1bbb18271bc32b2ae3f1c743bbbf470a9bcb2a8723d667d983fe14ab8bb3b74cdbc71e5ab3db57a8b3faf4f45bb6a42e2bc26e8ec3d797e5f3fc73bf5baf00ed3bc9319033e4a66203f6b2d87ba5068e2bceabc003e7c2cc23e82084b3a5353adbc947cd73d63b11f3e954e233a451797bca1b08a3dd7eba93bc8c3063b7b58cebbdf504b3c151313be10846dbea6124b3d0000000000000000cf5846be65df3e3d0000000000000000273d33be10f9263d000000000000000027e10cbea5d1113d000000000000000029c5bcbd4d7eca3c0000000000000000ca3844bd1e779b3c0000000000000000287cf6bb38d63e3c0000000000000000819daf3cbaf711ba0000000000000000da88133dfd7e85bb0000000000000000000000000000000000000000000000002c3698bba456b3bb0d1f7b3cd634303ddcd587bbadba23bb2831943c76fe173d62999cbb0029143bb69a883c41a4fb3c170e20bb406b223b4a55693c0d4eca3cfd962c3a4b76873a2a0e333c4e0c673c1035c53a634dac3ab0058e3b333de13b42f3ef3a80ed38ba38b7e6ba19ea603a000000000000000000000000000000000000000000000000000000000000000045b699b9bef808bc86f312baa1e59d3c3365343bbba7b7bba43ea33b1bfd083c23ec703b0fbe53bbb5cba03b70317d3bb3e1b13b48ec8ebb529aa23ba96f84ba69f7ea3aeb9a12bbdf64d83bedf30fbc67ddd23a4e58c3ba8595883b149604bc674a9339ef16e4ba1e1e143b069a97bb0000000000000000000000000000000000000000000000000000000000000000a1b179bc135c75be3306273d67e2bcba8e5002bd06ab65bebfe9e83cf2b5f1bb34c940bd2dbe53be1a26573cba3a8ebb175a37bd818929be2de2103c9214d2bbaca81dbd3f4bdbbd177a523bc1c105bcba84c5bc6c4f58bd6ac770bb30b4debb62a68fbb696382bb86c98abb3d1d9bbb000000000000000000000000000000000000000000000000000000000000803fe8732abc57df863ce344e7bd1dc3ae3fa0f6eebb99eb5a3bb7430cbd864e8f3f5123c5bbf040b9ba5e95b0ba2bdb6f3fe129bdbb8279cebad5d3c63cf90e313f513e5abba70594bb7484203dce4bde3eda9d58bbde19d3baa632293da878553eedb522bb5df0803be1d1b13ccd7cf8bb0000000000000000000000000000000000000000000000000000000000000000e8461dbe93bfec3c00000000000000008d66dfbd4b95ca3c0000000000000000d2fac1bdc6c6c03c00000000000000002b5a8ebd7542873c0000000000000000a0e220bd43b57d3c0000000000000000a6f5bebb3724e13b00000000000000007bc8963ca16576ba0000000000000000000000000000000000000000000000000000000000000000000000000000000089463bbc015d163db944063dccfc9dbcf19c6fbb39b8163df84df63cbf4088bc8613d63accb3163dc42ec33c5a610ebc2190bc3b4390fa3c3158893c054f0ebccf38dd3b7ba2ba3ca93ffa3be8588cbb28eced3b38b04a3c3f2b1c3b6dae12bbb17eab3b774b0a3b9fa3a8bae074cd390000000000000000000000000000000000000000000000000000000000000000815b573b7a7f15b9d2ce8b3c92b438bdbb09853bed9d6cba10e4413cb1ed97bd16df893b041019bb16cce73b5b86bbbd80a7813b83b91abba250c739ab24b5bd400e003b30509bbab5af32bb182c94bde266313b765121b8deabe2bb313337bd1fc3143aa57358391e61dfbbe6471dbc00000000000000000000000000000000000000000000000000000000000000005c4d5fbe2e38983d4410bcbc50b8633a136a47bebb1e8b3de96ec0bca13f833a02122dbe11f45c3d289abfbc5c2d2d3b86e204bea672323de86aacbc9c1b373b51caa1bd3aebc33c30d36cbc71db363bcf081abd37fbd63b71e817bca43a083b67c039bb230bfebb5437dbbafda2af390000000000000000000000000000000000000000000000000000803f00000000e7502b3c4888bebd940db03f02d245bea1d5e4bbf9b4063ce7908e3fc59430bef65788bc41887c3d6d9b693f09832ebe950289bcc05ec73db7a9283fda5a0cbe8db984bc0e61cd3d125dcb3e2b10b4bddfa1a2bbf00aa13d7aca393e0530ffbc8be28a3bce39013d7b26a1bcb463b13c0000000000000000000000000000000000000000000000000000000000000000b86e553d7db701bc0000000000000000d036523d9ba9dcbb0000000000000000f21a633d04880abc000000000000000005c5453dd1a989bb000000000000000026970d3de5bf8fbb0000000000000000561a803c888dfbba0000000000000000c58d9ebb2d1b273b00000000000000000000000000000000000000000000000017e166bc5e9fb33c172a423cda65d0bb710e84bc37e01b3d3003943cd25a4ebc7f7221bca58f3a3d4188de3cfc2c5ebc7dd56abbb324343d269dcb3cc03e5fbc8b4d393b1f52153d35cb8a3cee011cbc6a8e8c3b47aff23c333d183ca6c7c3bb5a4fa03b55599e3c8445a73a5b3245bba893513b71fb233cdf0d93bb513f2639c11b73b963a875b93581bbbbfc5161ba280416bb1030f23ac8e49b3c9843b0bc82320a3bca76fb3a7ac5cf3c98f75fbd7cab6a3b599145b90da6ce3c5681abbdfd2f883bb1ea2abae3da943cacf3bdbd603bc63b008b06bba987213cd7a9b9bd39f3883bfda25dba78d4913b808c97bdc413393b09217dba1fbc50bbc2923abdeafed63a337180b85694cdbb69e782bc1195663a4f2ddf392d2eabbb91ea903c0080d7bd0d74b23cea297cbbbc6c37bbdd9e14be6f09253d53a687bcebb328ba01c147be055d673dcdacabbc9a5289ba03453abe506c6a3deb70cabc4ff6e63942cc11be994a3e3dfb87c3bc9c5d373a5dd6ccbd0f58013d716b9abc1b12a53a8bd553bdeb805b3cb8b749bcba7e183bcd46a3bccf17f63a883faebb80d5053b1da03a3c1a6c9cbb91b64b3939178f3af3754d3da97277beced1af3f7d1b32bc6e6ece3c361317be32999c3f2a580ebdec57f13ba9b4ccbd5fab953f4631ddbd9353d338b2c334bd9c85793f3e8f0abe7dc9bdbb5b20ea3ad9223d3fb4e406be37167fbb8768c53cc746f83e8a9acbbd52a55d3a5f3fcd3ce7ba763eadb84ebd024c1d3cf1e9073c6b56873d63f5c6bb8e519a3c9a81fdbcef22c4bdbd15d33c35f7a73ade2216bb0000000000000000d6f95b3cfd5028bb00000000000000008e45173d7371a8bb00000000000000009a504d3d2833b3bb0000000000000000b8eb4d3d32ceb6bb000000000000000019162e3dcbdbc0bb000000000000000029cbd13cf6c947bb00000000000000003c48743ba1bc99b90000000000000000085118bca88ba13a0000000000000000e1ec2ebcd8aa833c48209d3bb2fd063adcf74cbcd3dd193d9b4c4b3ceaba23bb957f39bcae3d3d3d3174a63cff20ebbb87b4b6bbc8343e3d9bfba63c98e125bc15bd65ba3202243db2dd853cf70111bcb71b813a8361073dda8e143ce8ddf9bbe59f0f3bf45cae3c558d0e3b6cbebabb9d0c013bc7ad423cad065cbb9c4a86bb15105ebaba6c353b8cd89abb0ab83ebb9505c5bb186f723b1975983c9d67febc2fd14fbb9c2b4b3bda63d73cb6ec80bd1969883a17096e3a5de5023daf41bbbdfb9d7c3b21dfa5ba5693cd3c485acbbdd6ab8c3ba1d598ba626c883c229db8bdc905903b2bbad3bad312303ce18796bd033a6a3bf85b3fba65638b3b91a047bd03f14d3b1bde87ba280254bb16b984bcad160c3a7ddc5c3acd639ebbd616303c8b880fbd4830a2bc7acb323c9266efbb1f91f9bdf6570e3c9e044dbbe983b6bbdac823be60bfed3c81604dbc77e98dbbba7728beb04c283d65b2a9bcd08fa338094d0ebef2b32b3d7cdbbbbca640203ac2a9d1bd36f2103de0fdb6bc66951b3b6fdb6ebdf941bc3cc8ff8bbc71383e3bc187b1bc7cc7393cb80830bc9981833bf514e63a0bd54e3b6346a1bb25da583bf5b8493d6e886dbed44b903fca49613e05f0223d152b5dbef1e1963f3235d83d4083a63c19aa21becbdd8e3f5b28cf3b8f54163c1dfbdabdeb75793f5f4886bd02579c3b1cd180bd9f0e453f99d4d3bde62d323b01fc07bd7e37093fa27fd2bde06ed73bf71595bcdb7e983e7c88a0bd7f5e603cd1f0aabc45dcc83dfa1c22bd7b46983cbc4618bdbbd8f9bc48d078bc7e0967bd995c193c00000000000000004d9ecabc95d1b03b000000000000000089b8ef3b0cd646ba00000000000000008f4c073d2f595dbb00000000000000008952383d5971b0bb00000000000000001b73403d9193d9bb00000000000000008e01213d7762e5bb0000000000000000c898aa3c12e5a0bb0000000000000000fc501a3c46b180bb0000000000000000a13d07bc58ec583c4e876d3ba9df0e3c30812dbc0a07fa3c2d755b3c1f9ea93b428224bc30822f3d507d873caf05e23a2464a2bb21052b3ddd74933c0d5102bb42466dba8ae7223d5f904d3cfa8295bbd63f93ba30c7023d583ef33bd3c786bbcd50af3a19ecc63c6e18fb3a7330d9bb15fc113b629b403cd9fd65bb89c8a9bb9dabe239799f2f3ba895debb153f75bb17a537bcc6827d3b222fa13cb6d71ebdaef5d8bbe7c84f3bae34cf3c59c773bd3caa6abb2e4e183bf8aafb3c8779b0bdeb8d2a3acac23eb9fadde93ca1eaccbd18e8183bc95a34babd9baf3c7e35bfbdbe00643bf9f265bac25f763caa0b93bd770b5b3b7f46533a5ce2d03b51f64fbd71c8193b71eb41b9821d0aba9b4e93bc5870a63a73314f3a4dd787bbffdbe83bd077efbbfd4073bd9d20de3c3dd946bc2728c4bde9780abdf9b18d3ce4bc40bc3acd09bee88caabb1351e9b935ef01bc70350bbeff31733cda1259bc0d1d6fbb6c9303be340b093db813b8bcc08377391fb2cabd8351023dc1d4a1bc6d1df4b9a38f70bd2401e73c8272aabc15f41b3b3536ccbc95a29e3ca7106bbc151e563b04767b3bc318313c1a7b0cbcf49d733bb939353d29a062becf87713f0629e93e0d91293ded6162becd01813feecaa83e064ed13cbcee3dbeb8e57f3f69462e3ef99e493ca14509be5348653f5ea3433d9378ac3b1e96c6bd70fa403fbaa94abdd4c6453b3ea183bd7d770a3fd9fea2bdf25b0a3c281426bd8dd7a53e21c0b5bd39bb5f3c08771abdb42c093e8ade93bd9886903c6f0329bd896c0cbc08035abdcde0eebd9527c03c0000000000000000a8d2b7bdebd2903c000000000000000011770cbd7a68063c000000000000000095d4273ba5a4113b00000000000000003d520e3d12f571bb0000000000000000eb31373d92ce07bc00000000000000007245423d5cf51ebc00000000000000007a311c3dbadf17bc00000000000000009011e43c7a9005bc00000000000000002b56a5bbc279083c3aa1843bd44b953c3a9f22bc3636ce3c75ee8b3c7ccc653c924327bc88a90b3d4871be3c824c253c6854ddbbd5a0243d34ae893c34a4403b64f96abb7f9d043d90c3553caf250c3b7f8548b93ffb023d0d0c0d3cd07890bb26761ab92e3caf3c51452f3b4318b7bb490dcf3aa639443cc8786cbbff23bbbb9454b93a6241753bc480d4bbe0bdbfbbcf1b76bc8ddd7d3b6319873c689128bd59e04fbc24e6793ba17dc13c955f4ebd71cff5bb08d7393b417feb3c2d238cbdf3580bbbadde3d3afa47ee3c25f8aebda4eb7539a8eb7b39a226b13cb586a3bd5a583c3b1cde04ba0f4d9b3c396b97bdda48a33b1e7795ba1d45143ceeba3ebd591b5a3bcb6c25b91d08013bfa12adbc4188453b8bccb8b9c4b99ebbaf73883b533d953cc260d1bd08d13f3d79d791bcb1a595bdc07ba9bdba921c3d02a78ebc33d9f5bd514c52bd201fb23cc02283bcc159febd11b96fbc62556a3919330dbc3ea1d9bd9caeec3b0cd322bc49929dbbc0fbbcbd05b8cd3c0778a5bc082e32baee1568bd9b47db3c9bc5a3bc2985433a183abbbcde39c83c44778bbc153d4b3b9362363b9ac3a33c07954dbc9884443b52c40e3df21533be0af1303f5623383f757c0c3d289743beee14493f3200143f197dbd3ca45535bed5bb523f6301c83e344e773ca9b31abe9f014a3fb7a6433ef14dd23b7df0d5bd61672a3f33706c3d4caa4a3b1073a8bd291e063f50812cbd43ec9b3b3dca5bbda5fba63e109da8bd0b2d1f3c21cc2bbdcf3b1a3e9919bfbded2c783cf91e24bd4bf2623c7a1dbebd2fbd36be7dc8133d0000000000000000d58b1dbe12220d3d00000000000000009868cbbdfe50b93c0000000000000000e13b04bd00d41d3c000000000000000099da953a4a83af3a000000000000000000fc1c3d72c5bbbb000000000000000086934d3d687f34bc0000000000000000dd3a4f3decb66dbc000000000000000074f23c3de0745bbc0000000000000000726faabb30b5a33ba437673bc3cfb53c634f02bc8a768a3c681a983cbe78c13c151925bc9336d73c3e53e03cdf708d3c45c914bc82ecf73cc5f9c43c56da313c1648bcbb1bad093d2836743c08855f3b2ed131bbc6dde53cbd2d0e3c7a2f9e3ac6ff32ba1db4a33ce9e17c3ba83c6ebb357bdb395eac4a3ca16b48bbc6af96bbce7e803a408f183bf45ed1bb2e9a94bb4cc87cbc6f62133ba15c393cdb24f4bc77e483bca6cfff3a537c9b3c62d016bd218e30bc282c173b4a44c13cd8b346bda53b8abb77218a3a1c3ce43ca54278bd675cf939f75b23bae7facb3ca1e78cbdab052f3bee852bbadd71a63c56727dbde9178a3b6bf14c3920f6423cfe9f2fbdd5ab683bd02ae7b9de87ac3ba1e6abbc7ff5af3a63db5938e0c622bb0fa6be3a3481e93c39dbfebd5ba1613da87995bcecee5bbdd39606be228c813d5be1cabce10ed7bd166fcdbdd0a12c3d3291acbcb157f0bdeb3279bd398fa23c522e7fbc7d16d4bd45f594bc1d16dab9bc7e1ebc2f529fbdd3aa5e3b075441bc4f79a8bb35005ebdf737993ce4169bbcd6b8acba6c8fb0bc3035c23c776da1bcc44c2f3b16b7bb3b4cacbc3c12be55bc66c63f3b6169b43c5759f3bdaf1dde3e5697763fc672ba3c1f7110be373e093f83cc563f7b9e9d3c076716be9b011b3f6d68213f0bec3f3c6f9b09be8a671c3fb280d03ecc54d23b177ae6bd3844103f51b9413e2d7a113b55e5a7bd9ab1e43e735b493da2eb463b8ea06fbd6c819a3e9dac43bdbd2dd53be10b23bda445173e0a79c4bd50d8213c4b1204bd921faf3c9d40f2bd2f4c63befeaf373d000000000000000025a35cbe762a413d0000000000000000f89c23be1a88143d00000000000000008bb1c2bda907c63c0000000000000000cb47f8bccfd42d3c00000000000000000232343cc655afba0000000000000000f401333dbfe918bc000000000000000046c16f3d3e4c8dbc000000000000000096456b3de2f08cbc0000000000000000e3b601bbf8a3e439b186b93bb2dab33c9561e1bbcfcc193c4e42b63c3058f83c0e2b2bbc4c4e8e3c897c023d7ac6e83c940213bcdb4ec13ca059f43c8db2943c874dcdbb3653c53c742ab23c634e383c06758ebb94b0c43ce853363c9644903b1ea24fba634a8a3c2801b83b8375caba848ed7b9b4c11c3c3e24e2ba262382bb8776bfb883172b3b16abcebb823e97bb1a6191bc8685083b5ad3c53b23ae91bc60b28bbc3af1e13af8bc393c976097bc92497ebc0e95433b7138963c3cf7c2bcb31f15bc1606963ac264a33c5b471abd9fbb5bbbddc7c83a6fef9e3c9b8030bd6a61f83ab406813a2c37a63c78f040bde6ff643be8c038b92b2a3d3c894519bddc0f6d3bd8f7a7396a46e53bade891bcbdbc0d3bd258153900c508bb7d93f53913def33c7bfb09be8112893d261bb9bcd47e25bd76f930be9741a03da74af1bcc999babd2f1d23be29cd883d63e2e1bc0e78d5bd5f3de4bd669e233d22f3a1bcd680c6bda9ef81bd14d59d3c62fd81bc8e0098bd0ad7aabce9b20fbb9e4233bc92c433bd14704a3bc99955bc5e9e1bbb0f929dbcc53ea03ceb7296bc0db3963a26e20b3c931dbe3c1c307bbc5dd3543b111a233c4db967bd48974d3e4aa0923f6035403cda07a8bd5f98923ebe0e893fc9030a3c1a52c7bd04ecbc3eeb0a603f4a11033cfaa3cabdb128d13ed2931e3f294d063b97bab2bd8efdcb3e5754c13ee57ca1ba64aa94bd37f5af3e5d06273e1f6ab23a5abf44bd73c3743eafa1763c888097b85519fcbcee0e013ed6a79fbd2778be3bec8b94bce0f59c3cb49000befc4270be27d84f3d0000000000000000852d80be84d4653d0000000000000000d0e557bed879473d000000000000000095e413bed17c0e3d00000000000000002552adbdd39ead3c0000000000000000d89c98bcc814cf3b000000000000000073bbc83cac12e6bb000000000000000018e3633dfc6f91bc0000000000000000772f873d3533b2bc000000000000000085ad5dbb196616bbb092143c4c7ee43cee7ccebb7ad4813ad7c5cb3c4ce50b3d16011fbcc2230e3c0712153d5b160e3da48322bc3525633cdbea163dc2cbd73c2f2a1dbcb69a993cab11e93c935b913c27bfe5bb7d86943c37f0983c5218053cb85062bb70b05c3c6c6acf3b7a40353be6c143ba252dd03b98d7393a786ed9ba30f9183b4a14193b2f8e1dbc07fd93bb0cc869bcdfbe20bbfb3381baf8bacd3aa51eafbc00de9b3a46aac03b4c26103bb3277fbc6d0dcb3a750c3a3cf86129bb5c1f25bc9dcc203a72206e3cc9c934bc6174aebb95c2a03ab0cd8c3c8e83b3bc32ea173ae21e943ae5ed8e3c5e78cdbcbf51983bdbf3f939d2b4513c4fd0d0bcc6d59d3b7bc26a39ae75cf3b65dc58bce43a353b38f0c339429f89ba75704cbbfe1c1b3c7e6927beef4f923dab64b4bc49450fbda72541be0182b13d5df4f7bc303ea5bd665e4dbe84e09c3d21f9f3bc9eddc9bd6ec524be6581703d5ca3d5bc5a78bfbd206ddabda20c0a3d15d3a4bc8d8a92bd9aa86dbd73903d3c07b866bc70251cbd8c1a95bc9aa7d4bb5b1deebb124b42bcefa0243b116350bcb742c1ba247c883c170aec3cef9889bceedb763ae18d06bb084610ba440bbebc17dfb03fdaaece3a72a3fabc6052b73dc15f983f45ed5f3a46a64bbd503b243e4db4873f8b0866baea736fbdbc34603ede69503f2f2705bbb1066dbdcf74783e7c770c3fbfb541bb370c53bd39e2623e55859b3eefe389bb7d1d05bd98e0253ed937c73d955e24bbc62389bc840fab3ddeabc3bc7193ac37c0d184ba8ef71bbb3f831fbe434378be5708513d0000000000000000ee2766beb850523d0000000000000000418b62be4747593d00000000000000008f5537beb654333d00000000000000003a16fabd43ab053d00000000000000008ca871bd8caa8c3c000000000000000003147a3a635c9c3a000000000000000013311b3ded3c6ebc00000000000000008b71953d5d92c1bc000000000000000000000000000000000000000000000000ebcedfbb3b4240ba941af13cbd26263db989e9bb96090a3b613e163d51410c3d93cb1ebcf56be03b59041c3d5732e83c029dbebbfae3073c1c2c003dc7879f3cb63bb4bb115b2a3ce5febb3c79fc343c0e0370bb219e143ccd03413c444c4f3b06e95d3a6d455e3bd5d172badfb145390000000000000000000000000000000000000000000000000000000000000000264281bc0a1a21bb06667ebb4e60b73c4a547fbc3b922e3aa0ed2d3b1b90793c6c1824bc8bb6b23a3ade143c5930ba3b629aeebb09a60f3b7ad61c3c0358a4b9a47729bbdaf20c3b708a1e3c296a0abc68cbf739e819bd3ab0952e3c8a5b46bc580cd43a3b48753a703fb53b1fca18bc000000000000000000000000000000000000000000000000000000000000000094a556bdd75666be9c5b963dd57eafbcfdb69dbdd4354fbe5d5b8d3d8559b7bc85a8b7bdf71236be6bf5583d7947aebc70c3afbd221608be6ac52c3d79aea3bcb55989bd7fdb9fbdeebbb73c462886bcc8de1ebd2f5411bdf095913b47bc24bc3b1676bb5a4bdd3a618ae9bbbccc6bbb000000000000000000000000000000000000000000000000000000000000803fd8739abb52135d3c51eabfbd0c47b13f4dec89bb557256bcafca753cc2eb903f09b3abbb9d09a8bc49ed8e3d7a846f3fb3e8e5bb139cf5bcf85ad33d14512e3f97bbc9bbeb3ccdbc3522e63d473fd43eb957eabb7e525abc0fd9ad3d5e50443e9dc60abcb482193beb11e53cba3e8ebc0000000000000000000000000000000000000000000000000000000000000000b35245bec13f273d0000000000000000afaf31be0298193d0000000000000000875c2ebedc7b293d00000000000000004b0f12be27370f3d000000000000000097bfb7bd40bec83c0000000000000000f2ff03bdae95243c00000000000000003951a23c14f2b7bb000000000000000000000000000000000000000000000000000000000000000000000000000000005d0628bc1de9483d93cb843b173808bc804e1cbc8dc3683d634f08bc46b49439c48107bc95bb613de2d14cbcd2b9a23b26d42abb2d5d393dfbc470bc2d71e33bf96a213b3431ea3c7f7b3dbc5c6de73bfcf6d63b6ee4223cfb5a6ebbb0248e3b7bfd9e3b8a4287bbba7d7e3a64a986390000000000000000000000000000000000000000000000000000000000000000c7a8d239c7c5e7b8206fed3ccee5d1bdff132dbbfce22abacf03233d1c7017be56d875bbc8912ebaadc92e3dbfc129bef989a8bb40fd35397f710e3d482424be47e2aabb35f7043a1345bd3c322806be1a8f4abb3d1e403a7b29b03b3f098ebd2e4747baeb34c83a38b21dbcd602ceba000000000000000000000000000000000000000000000000000000000000000040001dbecf555f3d6eabe4bcdcab683cfb55e1bd1d43433d2298d9bc0fb5873c242c9ebd05d9f23cdc0397bc466a653c67ee15bd48957a3c5b2544bcd45b3b3cd3ab96bb9df7243b1818d3bb8453063cb1fc073c648af5bb4fbc883aeb273e3b9f57133c67c5d4bbea14933ac3f449ba0000000000000000000000000000000000000000000000000000803f000000008521103b3df482bd51b8b03f582d65be8f2a1fbdea38943d54198c3f312b5bbe475f8ebd2942293ef4a4573f314040be758caebd7bf4633e697d133f87c91ebe1de2abbde10d6b3e0607a63eb16fcdbd54255bbd5cd5273e9f13fb3d9b6630bd859e08bcd25d5d3d4f8c1bbd0adb933b00000000000000000000000000000000000000000000000000000000000000009c9ca33dba31e6bc00000000000000009325b13dd4c211bd00000000000000003ea39f3d065210bd0000000000000000c4c1893d3e7600bd00000000000000000a84343dad40aabc00000000000000006872893c23d122bc00000000000000006d3c6fbb28b9c83a0000000000000000000000000000000000000000000000000298c4bb67a9b03ccd1d013c4bac11bc7886fcbb42fd343dc0f21bbbd420b4bb99ad88bb11f54b3d250931bb20ac13bb01f180bbd23e553d04e711bc7a740f3b4e24233a65382e3d622f45bcc322d53b722d8c3bfd31ed3c43334abcda9e0c3ca649b93b832c4f3cef76efbb8867bb3b1e8dca3a30fec4b95a3d203b6c47823a11735d3b7e0d2ebc0ce13a3bbd6391b9c3cf1d3bc18a70395c860d3cda0a02bd8fc3803ad63379baded2133da47be1bdaf1d9ebaa1ea48ba747b0a3d8d320dbef0a154bbd789e0b9f09c103db2281cbe12789dbb9d387f3951e2043d9bb51dbee00ccabbb0c50a3afcd5bd3c99c300beef547abbd7b8143ad82e3a3c30ca9cbdbb001cbb9051f43a4aab613ae3cc13bcca50c4b9db23053b7ae117bcab56fa3c9450c2bd26137c3c783ad4bb2604c43afbccddbda276153daf7da0bc1afa263c5934ffbde56f363d259bd3bcb654763cd0d7c4bdec00123d9a2eb9bc8ee37f3cd4334abddec69f3cdd7687bcaa595e3c4e1237bca915893b7b530cbc6c6c343cd5fe283c2516f3bb490b15bbce29b43b0566853a4c84dcbbeedeef3ae8cf7ab92f2d4c3ce81cf5bb16fe023b209006bb163e833d5bcb7ebea0ccb23f732c87bcbae1913c2c480fbeba26a53f197fa7bd61ddfcbb28ac48bd2f08963f54f424be23980fbd1d75373d7a316e3f6c5d38be51756bbdf23df33d9a0c2b3f5c3530be2a3b89bda878173e4061cf3ea33f07beb1fd4fbd2e52ff3d28602c3e4f7e93bd44762dbcc585f73c18b0a33cc38a7dbc8a7ed73baf31bfbc5502d6bd2beb4f3c5d65c6ba0328a13a00000000000000006541d03ca6bb0ebc0000000000000000bc048d3dc12ce7bc0000000000000000bdd0aa3d9de01abd000000000000000028bda83d69381fbd00000000000000008478823d813105bd00000000000000001c2d1c3dd7899ebc0000000000000000c9e0e03bce4493bb0000000000000000a450d5bb02e8133b0000000000000000635525387d51813b530d823ce5fc4ebc8b8101bc49730d3dba05b53bc645c5bb77400ebc34b82d3d92f8ae3bdc4c84bbded38dbb64f2393dc4c83fbb9f199ab9443792bbae5c2a3d2babfbbb5dfb553b1746bf3990c3093d9e214ebcb604f93b9e94183b0658a63cdee158bcea031c3c923aaf3b2e94513b994ebabbd566b13be418653bcf0fd6bbb42194ba8262223b02ad883ba4148e3ad89308bc61c2adba42b1393a871d1eb9c92db03c64b491bdfc9afa3949bdf2ba847c033dd355d4bd38bcc3ba0a0344baed690f3d8fc108be3d806ebb1c6478b9cf5d0b3d014b06be0dd797bb7d2f47bae5b4f33c84de01be53c3c1bbb6541a3a3759a43cca87b6bdd65b7ebb308dbc3aeed5b83b9e2612bd573707bbfac5073abe7e57bb9384ad3bd15185bde01900bc28aed73b59b0f1bb6820eebd8177843ce944acbb2cef1e3a318703bed636da3c16b681bc1e46173c015ddbbd136f0c3dce3da9bc411a553c156193bd0b2bda3c88b78ebca6435f3c2e66c7bc0de22a3c09145dbca6cb6a3cd950c73b0c2eb2bae9a4acbb5127223c0489a63cf9671fbc7dd5253ab4f7613b2011bf3c7f342ebce063373bd447c23aa5f9963df35682be752b953f9ec5573e5ab1623d2c8c6cbe605d9d3facd88c3d3feaae3c5a3112be65d88f3ff53014bddd54f2bb4dc26ebda0fe773fc381f8bde793d6bc4d054a3c6ea13c3fa2401fbeeb903cbdf4738b3df703f93e9ebb19be9fed40bdeb11a93d739c793e9e21ddbdb277f3bc0d9d5a3d0248373d7ce451bd9b4b6fbcf7cf813c3a9596bd23d575bcae0787bdcc60b43c0000000000000000ee2cd4bcd29a103c0000000000000000b870af3cdb9424bc0000000000000000314a733d49ffeabc00000000000000003da19a3d450b19bd0000000000000000b37d9d3d2ba923bd0000000000000000d5d2693dca9405bd0000000000000000a3f5ee3c73ed94bc0000000000000000b33a133cb578e7bb00000000000000007ca9713b4cd912bc285de33c852277bc6f0aa3bbcccd9c3c850dc73ca11480bc091007bce8fa173d36190d3c6cf1c0bbec34aabb9f5f163d4f92783b90fe06bbbc9037bb7b54223d79faa2bbb2f00d3b793decba6bab033d295b33bc3558ee3b884b5b3b9d42ac3c93f04cbc0425fe3bd0ac933b0a58e33b82791cbccb02df3b1541c23bdc90fbbaa37822bc2db6fc3bb2c54f3bbe353b3b78e09ebcca91a13c76af8b3b0b89593aac061c3bd7e5a8bc5c81583acbfa12395678bb3cd8a49fbd84baeeb94d82d2b90446fe3c9aa4dbbd1f9c65bb8034b5380b4c093d7cb600be4cea97bb52d1a7b90fbbea3c8834e6bda29c90bb555907b9cb0cb63c83c7bbbd738da4bb92949b3a58a7163cba3247bd3bb151bb3c77c739b1c3ad391e8b95bcaea36bbd15011fbdffcbc03c40a99dbcbedb0dbe0b910ababd7b023cb0cc24bcab4f0bbe13cf773cbff3ccbb4e30d53962a5e1bd9cfca23c0a8865bce824dd3b31cea6bd81cbd73c1e889bbc2930533cda411bbd9f75813c579d73bc08535e3c6a28413a6cb27c3bcdb11bbcb7d1493c4dbec33c619ed4bbfe8352bb811c0c3c9eea303ddafc60bc14f4ff3a8a7e723beefc9b3d4f1e78be6661763f6288e73e8bec963d659384be3499883fa44e933e2e4d3e3d280550be109f863f2a93e03da6aa603cd523f8bd1b716c3faca881bc6227f2bbb24d63bd9985433fc344e5bd055bcabc8312993b860c073f30640ebe3ba913bd90c5303d6c3a943e6f99ffbd49e1f9bc121b413d6239a73d6b18abbd81ba04bddfe2533dc37893bd427f39bd57870dbe38bf4e3d0000000000000000173bbdbda657003d0000000000000000cd50e4bcd478083c00000000000000006a70943c54aa0fbc00000000000000001f2d753d3b82f0bc00000000000000000fa5963d791d1fbd0000000000000000755c8b3d39e223bd0000000000000000b92d483d0d9c00bd00000000000000004008d43c051c95bc000000000000000021c3a53b2e8968bce463f93c1ca743bc552d08bb2d92f63ba3291e3dd41fadbc7290d2bb2e2eb13ce454ee3c5a7d7cbc1f1c00bc0046113dd13efc3b89899fbbfd21f6bba711ee3c71a6ec3b3ddc3dbbcacaf838d130f03ca77b04bc9ce9683b07a4033af61db53c8a4f42bc2df7de3b6c6c9a3bd9a6073c843848bc0617163ccce8ec3bba67c7398eb54ebc012cd83b18c3d03aae9b823b74dca8bc8be5c73c8f806d3bfa573c3b2e5430bcd538593ce204883b94318f3a98126c3a9e0796bc8828f63a53ac64ba14a5a53cbde498bd6cf52b3a78f37bba7935ae3c57b291bd3f4542bb416835bae0a3da3c54eccfbd63b377bb700b14babf1fb33cced5a8bd57ef97bb75416cb981bd5c3cbceb61bd9dac65bb4ca89db8ea329d3b9cb703bd30902bbd734a89bda984253d3100f9bc3e371abe5f3fcfbc0253ed3c618ec2bc67e72abe0e91853a8b7e833b733f1dbcdea705be3e1f633c6984f9bb1e4c8b3a37b2d1bd9c6c6c3c36771fbcb04ea73b4dba53bd33d2983c0ae86ebc316b4d3c2d002dbc9308023ca78e3ebca58d5b3cf477d43ccb6cc2bb3989b5bbed102e3cea474d3dbf0231bc00e710ba200a043c03fb813d50024dbedb74373f5120353f4145943d8a7572beb0875a3ff2b70b3fec28833d2bc166be8f23673fb6109f3e953d263d206234be5dbe5c3f921ae53d44a87f3cdde8dcbdfdf5333f3f418939a65de0bb290444bd13040b3f5312d2bd3d63acbc38a1823be114a23e624df1bd6f65e8bc7a350c3dd895cd3d6eaacbbdb94511bda617693d93b053bd67459abde5d152bea903963d0000000000000000f76832be1803763d000000000000000001c1b8bd30e3023d0000000000000000dd21c0bc6ca4e03b000000000000000096338d3c1acd38bc00000000000000006d57733d501104bd0000000000000000714f8b3d652e26bd0000000000000000d7ba7a3d79571dbd0000000000000000f4912f3d5efef0bc00000000000000005fa4c23b74ad7cbc8093023d47ba2abc1b38983a3ed680bb4a5c503d46fbc0bc5c13b2bb145d553cad9d3c3dcbefc2bc27eddcbb616ab83c2b69e83ccd106abc0b78eabb8d64f33c9e46f53b41d087bb9a3d53bba7e4c53c1887913a50a08c3a632f0e3aef01963c69d303bcf743bd3b9e15133bffd7293c00c153bcf6e2143ccc2a7e3b55e5b33ba33487bc94791e3cd8cc05397487aa3b7b0f8abc1a7c9b3c0c06423b89d6ab3bd81e92bc6d450b3d0c7ec53b3cd7123b37bf00bcc113733cee3ba23b6be771b9a88c4a3bc41791bc52ea613ab1603339c221b43c864686bd2042b4ba7a281aba9e9cbb3c699795bdb80a59bb62004bba9c569c3c350f89bd8f8c80bbde7dc1b9cd6e3b3c4f573ebd9f9b85bb9467ad3969d8f63b3fa716bd17e3f2bcb676b3bd3d92503da7e419bd364d18be7ec875bd5e304e3d44bd1abd9da843bed869b9bceb9bd13c4ac8c2bcdded2bbea6f7763ab4e5f63aefd0febb6db9e7bd705a473c6027e5bb79b726b9b14b85bd1d13223c39c824bc793bea3b9c4bc1bc67e12a3c6aa853bc217f4a3c83c6963c07b2d9398ca123bcebd3533cdde5473d56e4babb299e54bbeb9e133c4b96293de3fb06be5862ec3e7211743f91f0773d2f393ebe26531a3f6e164f3fc494853d9e4055be805c353fbe3c0e3f2bb6583df98443bed6b2393fcc83993eba79063d36bc18be2661283feac7cc3d6be80c3cba9aa9bd2817003f08e784bc8d4aecbbcc15f1bcc53ea13e24b2b3bd902b94bc5cb57f3cfe75eb3dedc1d5bda66ff5bc9e9d483d09541bbddd74c7bd026a81be77dfb13d000000000000000051f979beff29ad3d00000000000000006ad42abe35c5743d00000000000000005f50a8bdab73f83c00000000000000001af0a5bcd32be93b000000000000000052c9b93cc65b60bc00000000000000003046613d4c2204bd000000000000000012f2883d86d330bd0000000000000000f73d5a3df3781abd0000000000000000edc68b3bf09b3dbc37d9f73ca7eda4bbdde0123a6de7cebbc7de6f3dde89b8bc563787ba80a4dfba5d017e3d06f3cabc8f3eb8bbfd554e3c925e473d561ec5bcc2f8f1bb8bb0873cb3bae73c65c161bc222cb1bb2aa1ad3c3c41ca3b099550ba095700bb7e74723cb895dcba31c4413b3bbc313b22edcd3b030f16bc9514f93b90898f3bdb633c3bc8ae96bcf4a2243cbab2d1bbccb9f93b8d3b49bc15909b3c23b194baf2b8053ce1b08dbcba81383d64a53a3b440bb83b914b7fbc12fd263dacccec3ba77e023b9ff0cbbb4ae6963cf4be313b8d013f3a3dc82c3b1b8815bb181ae43947e5f9b9f598883cc7182dbd49460fbb03911fba208a893c614b3abd83ff2abbfc4696ba2b7e043ce7f309bd9fd083bbe1e433372276bb3bbc0efcbcd02aebbcc059cfbdad21823d9d3729bded0017be66febdbdfb8d8d3d89f144bd48b346bef77d82bd8173443d4ea81abdc13749be831ac1bc4254a13c549eb2bca08b1ebe6574e63ae2c65f3b6474f0bb0fd2adbd58ecd03b7a2d0cbc587cda3a66ae1cbde4a0103ca2462dbc1a6c073c521f4a3c9fcfd53aaf7239bcb515463c1037583dbf0567bbea22c5bbf4d82c3c8b18aa3c458d88bd94b1613e1150943f11a61e3de082f2bd117eb13e3bcd873ff6b4523db1f221be4340f43e33524e3f81755d3d074032be3dec0c3f2d6c053f61bc3b3d086623be7a6e083f65cc8a3ea0b7d63c9071edbdf50ce03ef393a93df13f5b3b303f59bda6ba913e3d5ccbbc65d526bcc614853bd423d43dded9b9bd5e369cbc225d1b3d216115bd8c60dfbd305d88bee2a2ad3d0000000000000000c7ea94be5ed6c93d00000000000000008d236ebee77bb03d0000000000000000924e19be0b3a703d000000000000000070139dbd7f6fe53c0000000000000000fb6674bc63d4ab3b0000000000000000ce4ac03c9ff97fbc0000000000000000e70e723d4e8814bd0000000000000000a5db7f3d5bc522bd00000000000000004faf093bd2e5f7bbf7b8f53c9182af3b3c5a0138485af5bbe8ac823d9a6397bce03b4abb691025bb462b923d885ccabcd5c983bb43a2d33ad0e4853d4c13e5bcb93de1bba8ff373c4113383d3504b9bc2f6ad1bb1c06713cf8f3a83ce03124bcbbe188bbb9ca473c050e833a85ca353baf4f003b9ed004392e1feabb9f62fc3be167813b52258e3b24a19dbcdd640c3cfec24abc02ce023cd67ad9bb7964393cd0f3f3bb829b3f3c18cb8abcbe935d3dcedd033b67bce93b8f5683bc72d35e3d360bbc3bc9af923bf87574bca90c443d3c0b013c24bea93a0b65dcbbef64eb3cf7ac8b3b7feb093a910d3d3b8052043b4864ebb99d6dd1b9c952413c4725bdbcc61321bbafe06ebaa968dc3bfc2991bcc2703fbbea531939ca79483b9cfacabc1476e9bcd1a30bbe4d5f883d41f621bdeea319beff81f2bd5c0cac3deb4153bd04754abe31feccbdb7ad833db9d642bd5a3a54be329667bd3719263db50012bdcbc03ebeca4264bcd504713c101da8bc8c7effbd29b4b73be8f7bfba67abfdbbd72238bd8e81a03b3f1416bcc7191d3bc8be573cd7623abb62d710bc6ec90a3c70d9453d8524223cd9064fbcd1a13c3c5e83d13a3e74a7ba22034abcdccfb23f299e943c2a2359bd9949003e7a1c9f3f4ee70b3dadfecebd2176843e9862833f7e083b3d4a090abefb1cb73e24b83b3f495a403d459015be65e5ca3ec094e73e3b8b1a3dedfafebdc08ab43ef1135c3e77617c3c6d598ebd2a096b3ec8e81d3d2785e8bb094b313b043d763dba343bbd8d7f1ebc4c60bd3c4a60f8bc590f12bef43285be41b2943d0000000000000000a12390be4864b13d000000000000000094f888be5af8c93d00000000000000002b9254bee987ad3d0000000000000000472f0fbe67b5713d00000000000000009bb78cbd55dced3c0000000000000000db7f0cbc70ce4d3b00000000000000002a0b0c3da98e9abc000000000000000088e97f3dbdda1bbd00000000000000000000000000000000000000000000000098649c3aa15224bc31634e3dc4a6d13bc1ca033aaa764cbc6311873d55b435bc4bac5eba6b5d41bca228823d8ca97abc915b29bbd11003bc17fa663d1b079fbcf9fe8dbbd6ea223ab80e1f3d72f694bc979b34bb3115903bfc74583ca473f8bb833c16bb5a05dd3bd13291bba2ca083a0000000000000000000000000000000000000000000000000000000000000000b80b5ebcd450f63bc27517bc7774073d6afcc7bb6f67f43bf7296bbcafe2573ddde32c3a726e8f3b152287bcd2906a3dc336543b2fc3583b1e3e6bbcbfb6533d57fcd03bf8ad9e3af85709bcd619203d17d16b3bc6990d3a16e55dbb9bff853cb9e8c1b9694af139bdda893b06e808bc0000000000000000000000000000000000000000000000000000000000000000b160cfbd74422ebe6638943dd82b21bd1d6e20beaa99fdbdf40d813da81c25bdf0b42cbe2fcbc7bd92f8363d54cb0bbd71532dbeda3a46bd287cdb3c0bf6d5bc768c12bedc8810bcccc8f83b78a674bcea589fbd74f9de3b372b45bbf44bb6bb255202bccebd493caddc01bcf315553b000000000000000000000000000000000000000000000000000000000000803f74b773ba939c2e3c52d496bddae2b23fa546743c9fe81bbd8e468c3de89b8f3f55d9d73ca81199bd16ea253ee8f25f3f0add163dc7ccd1bd52ed653e8e281b3fe54b1d3dda1ee3bdd645713e4bffb23e97e0d93c2fb29dbd9bad313e3ae70b3eb744203cf09cebbc8e23813dcb0d10bd000000000000000000000000000000000000000000000000000000000000000083fc6fbe1f118d3d0000000000000000718669bef423ab3d0000000000000000043d55be5686b33d0000000000000000a5392dbe4f63973d00000000000000001d76e4bd952c4d3d0000000000000000f9ce41bd1f7db73c000000000000000031ab9c3b6bd1b4bb00000000000000000000000000000000000000000000000000000000000000000000000000000000913c843a61658f382c3c39ba868f943b44cbedb80bd332bacc5ca73a0b44b23b9ec1b03929dc6f39662caa3a992da53b081e89b7d24e5d399420163b378b8d3bd77e29ba29adacb98dac2f3b7e57823ba9e40d394db80c3a1eb4863bed448d3ba3328138e9a9093ab5f19c3b11dc6f3b000000000000000000000000000000000000000000000000000000000000000085215d3b93ae993a8e1fd8b9804404bc055f773b48075db8d52b1338ac9909bc1e4a683b030f113aa99dd339f75e0bbc02372c3b8fb9c8b7616fe63aa56401bcd3473c3b34ee003b1a45ab3a24180cbcb219af3ab120dcb9b561c53ad235fbbb8ccb4d3a09e115bafc1db63af5abd4bb0000000000000000000000000000000000000000000000000000000000000000d48176bd346632bd2c67d2b90795e5ba87fd71bd517c16bdeef2ddba336886baa81761bd337502bd42c702bb782d95ba8a3343bdb25bd1bc1d5489badf7a63bac6f72fbd752394bc29313139146c98bad38a11bdb23e45bc0fa23a3ba652b9b99e29dbbc81b98ebbc59db13b3b6058b70000000000000000000000000000000000000000000000000000803f000000000e9dad3bdde6b2bccb098a3f54048cbcef6ba63b914a96bbb8e3663fa49e23bcbbefa73b91bd5d3b71553c3f54321ebc1e18853b8312fe3bf8a1123f1bc85bbc1e0a763b33b41f3c27d9d53e67d6a9bc9761453a7d9dde3bea83863e72d2e5bcf53dcaba978e413bf2d0e63dfa6f1fbd00000000000000000000000000000000000000000000000000000000000000009d30b93aa18a243b0000000000000000e6c40cbacd86833a0000000000000000eac82bbb237a543a000000000000000022dd87bbc0043a3900000000000000001893b7bbc6fa28ba0000000000000000045e9fbb658f87ba0000000000000000d25b83bb7d74bdba0000000000000000000000000000000000000000000000000877a33a750f263aa2db13bb957f503a132b823a6abfbe3aa57cc23ad73fbc3be6ca1c3bac70373858c7da3a24d5e23b2af9af392d01813a60834b3b3092a33b1c2f33b9795202b82761123bde94983b8b938139d61d663a13fb903bab28c93b7ecc33b97cfc8c3a6e919b3b5502ab3ba7f735b9a0b4503ac38fa93b5cee773b3fb1c6b9c9c001393d1f533ba138083b51e0803be037793a874928ba41d7e3bba6e8b33b2614993a6074fbb87d3a28bcc3889b3bcc87863af24476b8fefe0cbc18bd823bf4b79c38adf8ca3a6f1516bc419c8d3b6865003acb91773a7ed8bebb97315a3bb30fb0b970c3113b9b1ee3bb99eb2f3b18d02738cd7ace3a6884c5bba3de3a3ab4fcfa399c44c63a591f6abba64ec639abaf2abaa1a03d3ab1c674ba9797dbbc2fc51bbdbe0991bbe0821b3ae25c70bd7a0b57bd9c0399bbf702553a6e5583bd38d951bda5ec94bbd02332ba698a81bd9bed39bd15ab73bbf6d66637b97a5fbdb1860fbdec30ffba475eabb7b9854ebd1edaefbc1d58fc38ed9bedb6b09e26bdee56a0bc1f32533b6b16153a020fe6bc4a6f09bc8bd5c93b48edc939ea5e43bc6aec13ba401bcf3b6fb6073aaf00b03b8f115fbdc860893f848aeb3d0fde0e3cecc456bd5587813f8fcad13dc741f13b424edabc454e5b3fb97eb93d3a50e13bdf724bbcfc6d333fe461943d34cec73b26b430bb9c5a093ffe80513d6083693be589bdb941ccc93e5b8ec33c313dac3a20cd0aba58087e3e94744abbc03fb5bac0e57cbb40a3de3d7b36e8bc6eab0cbbfd4453bb1a8051bcf91f1fbd51a646bc19f9543b0000000000000000e55a66bc795d813b0000000000000000b1113dbc04a8313b0000000000000000236e44bc904f1a3b0000000000000000fb4735bc03c09b3a0000000000000000fe7f50bcbd4b9239000000000000000058ef48bc46597eb90000000000000000c5dd22bcbfcaab390000000000000000c034bbbb01eb09390000000000000000f8da673ae8c0d33a442cdcba8caa88bab208503a75da013bed7665b9f203023bed3601bab7c6273b8e3ab4b9405e5a3bb299f5b9995f293a5ca1d03a05058b3b3cb101bb2c625cb9692fe73a56e8fb3a675240b9f413553ab1bb453b9dcea73ba5e3c3b7dfb8243a519a4d3baaec923bf64fefb913859d38dfbe693b4e736e3b4a3d97b9a5da03babfcb033bdf5c023be05f4d3b10dfc53a79661b3a86acbdbbb993a43b28b7cf3aa803b83ae1feddbbe7b69f3b3f63a53a5b7a3d3a8ae0b0bbee84973bb5bb2e3ad1782b3bbef837bb6362703b1a5cb13933ae773ba2c7baba228b793b5f7a213a0d370c3b66f03dbba88d413ba71fa838f1f9fb3ad1f0d8ba8fe90d3be66893b9661e993a956cfcb98db3893aebda94b8dc6ae939da2a3e3a959d42bcfd70febced9b1abc593adb3adea815bdd16451bd36ce49bcc19cbc3ad7a832bdc44e40bd78441dbc2fc34c3a59fd47bdb21144bd0c081abc60fec7b94e641fbd852e17bdf99ca9bb777c0d3a99cb28bd69360cbd775725bb2191433aa2bffbbcc2bdbbbcdfa54d3a064a603aad5bbbbc628461bc062c9d3bb616b73acba918bc3b7c83bb2804aa3bfa1aa03a4f7dc93bf2c467bda818673f0444873e19c5203ce68b7abda3565d3f6d43793ee483d93bab3609bd4c07383f71bd573e5929e63b99bbc5bc5b131d3fa4412f3eb774d53bf86671bcc2aeef3efc2a013eafce983b463d12bc56b5b33ee385a73db0c83f3b116ec6bb8411663e4a87283dc30c183a61f4c7bb272ada3db66fb9bb83a45cba81638ebb890401baa8adf8bce060cabc992c8b3b0000000000000000e83ef6bcb509b93b00000000000000000187c8bc06699a3b0000000000000000768fbfbc76e71d3b00000000000000001f8ab3bc67208f3b000000000000000027d6b8bc2bb8b33a0000000000000000be78a5bcc3c6903a0000000000000000f64a9dbc747bcb3a0000000000000000834b3cbcac1bb73a000000000000000068c2253aceaf1b3b55e4ccba22cd2fbb35378739f09c133b8f25d0bacd3780ba7f1baab9a3a1cf3a835d2bb805ef1c3bbfe7853ac80ffe3af65f81bbafbabe3b9a8d84b92f2d813a23afcd3a05d4633b3c0adfb90a1e3d3a2c1d0a3ba68d8a3beea136b9ba62233ac8a9953a2178973bb2c52eba36abbab8f82c1d3bafef803bb73af7b9b184e1b96a39863a06d1163beeba2a3bec4fbb3a7fc78d3af716a1bb1c538c3b54a33b3b8327ed3a3337b4bbc53fb23b602bab3a522afe3a010b2abb598d793bdc8d273b947de63a284362ba75628f3b0a26663ab15c0a3b72ff6bb9717b833bd6c63a3ad8fd093b99d7993950425a3b51a04839bf871d3b620abf3a7c50393be62416b707d6ab3a9cbe033be3ecf63a37c5a739bca7163a0f04133b038b57bb3b4fdcbcb0a079bc9d67f43a8814b9bc115246bdb214a3bc87c4563bc2df0cbd3b9e59bd80c08dbcd2d2dc3acd650dbdc2e664bdbf4d40bcac24a83af48c0ebd107133bddc1c26bcff32853af52207bdbf7d1bbdd29dcdbba069a73a13e2dcbcfe34e5bc518a9eba4252043be12a9abc4eb48fbc2d9e483be97e293b9cb2f8bb4707dabb5fa0873b72b4263b7a4cb93b5f9c4ebddcc23c3f400dd63ecdd3193cb6336abd2cfe343f7c63c83e15e80f3ce8e91fbdc01b1d3f3b50ac3e63261c3cb26fc9bc3341033f87968d3ecdc6d53bfe0d89bcf728cd3e82dd563ec598b53b4a5c48bcae02993e6245143e613c443bb11a1bbcf030473e529aa53d44fb263b42c3e7bb67a2c73dc0e9a23c74f0873a25e884bbd72bdf3bc4b8c2bc4b410dbdfe51b43b0000000000000000dca932bdc6740f3c0000000000000000b75313bdf08aa73b0000000000000000968722bd10e5f93b0000000000000000c20ffabcd3993e3b00000000000000004750f5bc14640b3b0000000000000000f93df3bcfeda1e3b0000000000000000bff1dfbcdb07993a00000000000000008abe8fbca607613a0000000000000000df609b3a8649723b8ed6e9bab2067fbb9e0f9f3a5832753bf4dcc2badc916ebb3dcf95b9d0cde43a34b3f9b9d92c1ab922e8dab9f650b03a1d6fd33918adc13af55483b9b3f8223a9bb09039bc5fca3ae8a69cb785a1973ae0b0b73a9ca6503bce8b39baefdf553942a8a03ac7f59d3b9105b9b9b0a2ac3782eecb3adfa9703b568ddab9b4cbaab931f5823a2c18083b37fed03a9a86de3aa4b2453b8c1eadbb243e943b64ab283bdebd7d3b0e0c96bb8457783bbaecc53a3a62063b494c9fbaaacb953b8f7fee3a0f58223bae24ae39f6fb4a3b21fe213a02c60f3b6a45c53a036b993bdad4f73919d6183b2efc183bd43d4d3b9bd8b9397fc4a93ac5082a3b3b71433b648c0bb9b55dda3a355f023b9dda033b504ca5383e3f473a30af4e3b9e4bac3abf4fbfbc181ca8bcb172113be4bd48bc442c35bd59d6dbbce9d0533bd6dfaebc7ff448bdacecaebcb4c2a43a8c11e0bcb8e657bdc2ae9dbc156b8a3ac929a5bc981613bd7a113cbcf3f8263abe8acebcee1c27bda4f821bcd853a43a22d7a1bc84ddeebc61c526bb79b5023baae375bc24c5a6bc4cc66b3a59364f3b3abcd5bb555c11bceb57403bb4f7283b8407a23bcb802fbd0081133f834b133ff360073ceb3846bd78470c3f78ec093f6826ed3b689af8bcdc23f23ec812eb3eeae6ef3b4535c0bc83fece3ec693c33ea76db53bc18338bc345f9c3e514b913ee378c93bbcc63ebc2892783e3ee5553e9ee6933bff6605bc8146223e56a9fc3ddd5b0d3bc329fdbb130dac3d7535373d8a9bc13a680bbbbb5f7f1a3cf80f9cbc75122fbdbb26c93b00000000000000001a3f52bd4829e83b000000000000000057cf26bd366fc93b0000000000000000084326bd2932a63b00000000000000002170ebbc8cf5293b0000000000000000df411bbd23d9233b0000000000000000ed810dbdab68043b0000000000000000507b0ebd2356483b00000000000000009524c4bcc94f1d3b00000000000000002c4a203a4fd3533b1e8e4cba590c85bbbc35c5393e2f4e3b497698bab6e302bb19a2423affe2ba3af469b7ba9e277f3a57ec9bb9fb67c03afa9e8e375cd5e33a9c053f38f89c983a31448339731a083b31b24fbb938942bb52a8823b7a27dc3b9442d7388e9e253ad006c93ae6b08c3b34246dba71dccbb99589b53a0575933b7c40cfb92f4db2b9749d2d3a4c2d293bcb4de43a34f72e3be8b7673aafcc94bb903e943b18cf5b3bd3aad23a1a4386bbcb37b53bf123563b0a20cc3ae60cf2baa09aa03bb4e6193b3147163b52d87d3ac3a68f3b1688083b467d0b3b177d153beb4c5ebab879253b3e025e3b908bdb3ba094913bbc441a3a14cb8b3a62a0793be92b723bd818203a43b52e3a999d8a3b22960c3b5eb48b39d03da5394b4f613b88c6193b69babebc3776cdbc69ed463be00c10bcdffa48bdc1a705bd06cc783beb558ebcbcfb65bde86ef9bcd17c713a02d9a9bc56276abd9255cabc6395d13a2956aabc540249bdc9fc9bbc2c24913a3b8ed5bc226d2ebdc21c2cbcccdc7c3bab7a93bc899e11bd39cfe6bbf3da2e3b2b2159bc52bbc1bc89f7adb961dd7a3ba8c6afbba52529bc1d58233b09a0483b0fc5733b9bb00abd7dd6d63e95433c3f29bed33b34a91cbd5c0fcd3e550a333f5b81fc3bc78bd2bcba31b53e41c0193fee10093cf22b9fbcec449a3e3229fc3e737dcf3b1e1a54bc07bc783eb9d9c13e59c3f03ba6fa96bc44d13f3e36768c3edb8a983bf1f622bc0383013e0eca293eec5d6f3bc3cc24bc47e08b3d9193873db0cd043b2ce6d5bb11ef333cbf747fbcc49351bd1af1ce3b0000000000000000314983bda4fd173c00000000000000006aaf58bd9762053c0000000000000000121642bd38cbab3b00000000000000006be32fbdafab663b0000000000000000ebfc4cbd48dba53b000000000000000092f634bd8e943f3b0000000000000000bf4832bdb90a683b000000000000000020e1f0bc7a48403b000000000000000005fc2c39973a333bf14cbbbac83f56bbfea7b3b9fb163a3b15f4cdba8f5bbdba78abf4b93d8d043b9a6c0fba89dbc6392b9b4937fc31c43ad51e70b865110b3bbe4f5bbaa0a7533a3810e4b94ac03c3a879253ba42eb0e3b823e353a29a77b3b47a00abad7925839b245b03a045c963b8c436bbae0ffdeb9959dae3ab706ae3b6cde25ba5faa09baf41ccb39eb78643b84a6183b8177373b115ef13ab014adbb64a7ab3bc513783b21a1103b6c95a1bb4b69a33bb66a203b3ef1d53ab31540baf908b23b07e9273b8d85fb3aeaeb4a3a6ca09c3b25dd103b5c07353a5f6a8a3b745ea43b0629d83a0d3edf3acc858e3bb269823bdc96073b920c0f3aac8d7e3b47d86b3be6ffad391ab5a8b7b01a963b1864143b457f0b39065a13ba577d6f3b4b075d3b85e7cbbc9575f4bcd559553b1506b8bbf2ae5fbdfa6322bdb507793b04313ebc156f69bdf5d701bddb7eed3a86357ebc825680bdb5dcf6bcf5e0d23a60d973bcd1c64ebdaf21a9bc40d9d03ae3888dbccbc94ebd31e98fbcb469043bd82660bc3dd013bd7ab513bc8daa243bfb7c37bc769edbbcf58ce0ba34a9853b4cfb93bbe7c633bc3a10353b8c90683b386c693bf81fccbce09c873eb4f8663ff703c63bb9ded7bc61bd813e4b295c3fba72b23b7af184bc01256a3e4ad5353f8148bd3be18646bca5394c3e43ab193fb78cc93b32c4b8bb9302233e5d54e83e59c1be3b44f201bc3441043ef6a8a93e4f3e963b306ef8bbb163b33db9c2523e9de7773b77982cbcde584b3db5aaad3dfdf6093b92c701bca9b91d3cd67a82bccc6566bda672d23b000000000000000026d58bbdeb98103c0000000000000000ca4846bd64c8c13b00000000000000009fed45bd29dc9e3b0000000000000000040125bd5d024d3b0000000000000000ad2541bd09420d3b0000000000000000d29c2fbd33d62c3b0000000000000000358449bd075c7a3b00000000000000007c7a0dbd1a514a3b0000000000000000248b66b90c571e3bb69eb9bab06e45bb84fe2fba0523f93a8a0c96ba65cc903a967286b9f72b983a17a479badd99f83a38d9dbb945bb9b3a9f54ff370abe2c3b450e07b801432eb8f2ff44bad8fc753b16b1e7b9390d64ba50d2c63a2246a83bfe782aba2c831e3af0cb0c3ba431cc3bff1962ba94e931baa055ba3af9f3d33bb011e1b91ceac2b9bf71503ae2978d3b92702e3b98924e3b3d5caa3a9c73a8bbf9a3e93bbeeca13bdc009b3a6244a2bbfabdc23b424c6d3b155e933a373e88ba5b8eb33b5df99c3b9d33ad3a166ede3a560bb33b00d6f33a02ed98b89c24133ba5b1c13b001045399101493a57d87f3bb451a73b64f0103bc8b1d3b9d379753bc645733bcd711b3a22cd8bba4cf2873b00d8103b2ed2663996cd77ba3a906d3b2d0dc93ad4ec09bdf59610bdbf261c3b5b96dcbb37268abdf5c631bd2b25773b784d19bccc3395bd27fc20bd4cbc923a81b23abc2d0c8ebd7b4113bd0a0092ba1e2a34bc2b3c6ebd69c0d0bc3bf253b7e32e54bc2c9d5ebd4924a2bcd4dd3b3a62de53bca81135bd58e73abc6e7d123b6a7c20bc29d9f3bc5ead18bb8c22963bcf5d8fbbda1650bc9d44203ba9e47b3b4879253b258b51bc0766ec3d3938893f847a813bda433bbc1a2de73dcc09813fa1d38a3bab8dadbbc53be33d261c5a3fbe378d3bd67237bb607ad03db771313fad5c953bd7895bbb9667b33dabc8073f10c3953b2a8771bbb925923d9d40c53e78235f3bdc22dbbb6bb6503d51e4723ec7ab403b951722bc2defe83ce181c73d52b0fe3a952503bc6695f93b6c13adbc0f275dbdc83fbe3b000000000000000047e878bd2a6aee3b000000000000000040dc33bdd772a23b00000000000000006d891abd98c6533b0000000000000000ff2f0abd5d8f013a0000000000000000527924bd23219e3a0000000000000000e17d3abd4053ac3a00000000000000006c644cbd57284e3b0000000000000000117926bd6c58123b0000000000000000000000000000000000000000000000009c6025ba8d69893a0768cdba9215f1b985452cba824d1d3aadb58cba7f5d293a859deab9749c053a8b4596baa4c3123bcb0a13bab8231d3a36b49ab9fbb4bb3a8e4155b950091b39c6fb9e39a4a5213bf8c39db9a2526fb81b193c3aa9217f3bf08301bae644b838e5e2bd3adbea9f3b0000000000000000000000000000000000000000000000000000000000000000875c6c3ba830543bcb140f3affc808bbdaec803b8815223b87a41c3ac1a4573926c63a3be501c83ac9fe2b395aade13a8212393ba70af23acf5b8b3aa565643b1635613be6a2d03ae60f4b3a9f4c6d3b59b74a3b228b9a3af2fb69b99b3f783b1c3a5e3b29ca873a432203ba51c98b3b000000000000000000000000000000000000000000000000000000000000000055148abbf70d74bd43091cbd0c9553b9313cb7bb431774bda5c204bd69865dba07b8e8bbf19363bdbe07eabc7d92d7ba0953efbbe95c48bd473abdbcda2972ba20a408bc5f7d32bd1a2f91bcd7bb55382c9104bc7d6a12bd4ec23bbcb6ce8e3a0e7708bc1fbcd8bc29d58dbb88fd993a000000000000000000000000000000000000000000000000000000000000803f8e15dd3acf2d263be3b100bc43f8893f70f30e3b46507a3bb950a33b6cba663f05bc173ba443673be8db363cdcbe3c3fef7d3e3bdcf84c3b4eac743c0341123f1be1413bfdcea53a9f27803ce8a2d43e812f253b5901a2babee85b3c6ff0853e4928303b25a883bb8279093cb92ae63d00000000000000000000000000000000000000000000000000000000000000000022e0bcff7e593b0000000000000000d0d88fbc2daafa3a0000000000000000734468bcb92abeb800000000000000008a1a8cbcf62c26ba00000000000000007659b4bcbf92b8ba0000000000000000e631e7bc602bd0ba00000000000000006dd51fbda843cbb900000000000000000000000000000000000000000000000000000000000000000000000000000000721cacbab40992bbdbc3d5bb5b9c023ba9a1c1ba6a9882bb078297bb7be94d3b5294dcb9a89593bb1edf7ebbfc23963bda66dfbadbbc76bb270411bb732c413b066120bb5a4036bbcce428b92b98a53b75b9b1ba914227bbe17dc03a541fa53bd931c6b9795550bb1189053ba5bdcc3b0000000000000000000000000000000000000000000000000000000000000000fa90a23bb1cb143be9ebd9b9db95363b7e738f3b0806f53a5c1c3c3a3103883a5819aa3b4702853a88dcb93a7d570cba686a8d3b35639c3a709c043bfde5f1ba2883583bc9dab73ad4032f3a40c748bbcc78343bc2c39c3ac238803a87179ebbec13343b7b65633a3ab454ba2ccf9ebb0000000000000000000000000000000000000000000000000000000000000000ac88fabc0f142abd8ea001bc06b48abb33a706bdcdb914bd53470bbc874b87bb80cb05bdb29401bdff580abc7bbd96bb310cf2bc081accbc3145d1bb328e08bbbb70eebc78d8a0bc1befaabb49f616bbd32fdebc492263bc7ab3ebb90a83a5bace35bbbc7a5f0cbcc525873b188650390000000000000000000000000000000000000000000000000000803f00000000c4c3c13b3f5e8cba89717e3f283e42bb12d2e53b3dea173c75c5573f186e50bb2d84133ca68a893cec07323fef32cfbb0358e43bc0df923c1d350c3fe92439bc38b79c3b88f2a93c9d45d03e85519dbc475e743b97ac9e3c8e59873ec7a2e7bcfb90263b383e963c5c29fd3dca3322bd00000000000000000000000000000000000000000000000000000000000000005949e93a0ca412ba00000000000000000d41debac715f5ba0000000000000000575c9ebbefbd5cbb000000000000000033a0e2bb951a93bb0000000000000000bfa30dbc2fdaacbb00000000000000006a9e17bc4f40c1bb000000000000000052d01bbce66db7bb000000000000000000000000000000000000000000000000da6fa2b90a4bf2bafcf2efbb94101ebb715348ba84c34cbb32d9e0bb95f2b23ab8c3eebae14b89bb166fc0bb3109183b45ff00bbd26b8ebbc89b9abb4851583ba67be5ba86897cbba4c24cbb3872773ba166b8badac564bb256a5dba8a64853b7c3fd1baace75bbb5a56273a36cbca3be92697ba208212bbdc09243bb6dccc3bae5682bac24315bba8cde53ad2be953b260e6e3bca7b093b83298fb9ad87973b3c4ccd3ba33f5d3b93e4aab902716b3bceb9b63b84bf3f3bc951803a122c5e3b7f3faa3b82b00d3bd2e3f73a8448e43a2e08883b87401b3b083f143bf7f751396fba753b46ef313b3c83043bdf18d5bae41e8b3b47c6cc3ad54b973a13c66cbbaccd2e3b0a75363a1ab7663952db87bba1d1103b2dc1153a34955bbaf4a157bbf1a637bcfcdf19bd3f4b04bc77bf2cbb5cc2e5bc9dcc4fbd957b3abcfeb86abb498a0dbd506044bd81794abc721894bbd4b313bdfa722fbdfce137bc7d2796bbb12705bd66d008bded592cbc760878bb06410cbdbff8eabcd5c99cbb71cc7abbd31001bd2b32acbc5ddb82ba6ac6abba36f4d5bcf18742bc8acb613b2ee34f39373e81bc59ee94bb689bbc3be129733a00129d3bccefafbc77787d3f0188023eafdf013cfe3571bc70a7683fa3d8e63d7d340e3ce2f29a3a9bfa463f411dc43d4a15133c3c77313c77a7243f8ec0983d7014053c9fce853c49e3003f8492543de07be73bb10ea43c6010c03ec01bc73c5a3f9c3b9877a53c4c2d7c3eb8ef3fbb2b08e83a94558e3c040ff33d2eafedbc7db63bbaaaaf403c821ce0babaaa22bd1d2a22bb11d1e73a00000000000000006b9e9dbb9e77853a0000000000000000bd1dd7bbf94c75ba00000000000000001f8e1abc20d43dbb0000000000000000dd3b3cbc833b88bb0000000000000000cb4067bc68bdabbb0000000000000000d32173bc2737cdbb000000000000000041cf56bcd690a8bb00000000000000005b9908bc493a7cbb000000000000000097fe223937089cb9725dc2bbaa719dbb6a0553baa6a10cbb4d4c00bc46e057bbea898aba774d36bb2cffc7bb676f92ba8919eaba5b8368bbb743c0bb6de9dc396692d2bac7f972bb1393a0bb2a5a3b3a6585e5ba3f6c81bbd46d42bb706a673b5c9dc6ba72c465bbf025edba0e055e3b7f28c6ba421d58bb6337aeb9f35d9f3bf184a4badf2523bb9d596d395368633bf658103bfc61073b4d803b3a34c9913b640e8c3b4662463b5a0a943a336ac63bb0b0773bb58be63a8f94023b7ab0a13b26a3a03b1f6a1a3b69ca1c3bfa639a3b3c6d4b3b59e0103b58fe293b335e673b4421963b7e77d73a2e69183b25eeaa3a41c79e3bdcbbc03a87c5d43a20a084b8e5b86b3bee99a33aa9b65339a929c5ba9cca173bb3ff8a3a89b240bafacfc6ba434cb4ba247dfebcebaf37bc0aded5bab76d66bcdf4640bd07cc86bc0e1056bb79a8a3bcac5b2dbde6957abc16c97cbb2731dcbc899a38bdce1676bc03608bbb195fc5bc512f0cbdb86c38bcd19a1bbb8ccbe5bc42ab05bd54ed04bc6c3829bbdf80c1bc89d7c1bc089d84bb4a2e24b9bc0bb3bc3a8f84bced43ba3a6b1d383a163c53bcdd82f1bb5496683b0b28bd3ac4eca23ba42fc9bcc572573f2fbe873e940f093c0fa1a7bc3de4473fc691753e07e9053c20a598bb71fc283fa7f0503e22f0183c2c5a823b3249103fd4f1283e9c8bef3b3fbe1f3c479ae03e7c26fb3d36c6f83b63dc743c8593ab3e7fb1a13dec83ba3b8d61653cb74a623e7967213d28483d3bcca6713cdaa1e63d959dc2bb64ecd439b03d193cba8ad03b8edf00bde2751abc9800423b0000000000000000c70852bc5d311d3b000000000000000040044abcbe8ffa390000000000000000cbf87cbc014abcba00000000000000003cb081bcbddc73bb000000000000000046c2a1bc625795bb00000000000000003bd199bc43a09abb0000000000000000b8519bbc370f8cbb000000000000000093f444bc25041ebb0000000000000000e592a1b9cce4b5381ab3cfbb056cbcbb3f6433ba895397ba2d3ec9bb68e1ddbbb68044badbf4febaee3be5bbef6305bb73c9b3ba52b431bb583ef7bb368776ba6c6a113af36e93ba1afb8cbb4d0cc13af7e1f5ba426c7dbbb04c9abb3a94b33a9586b9ba30096abb7fe04cbbd3bd373b29d5d0bad06a65bb24ad07bb1c93803be47ca2ba2cb537bb09a2c3badf5b353bb6ae61baea89073b5da8403b84096e3baf46f03a6f07623bcdfe213b20ffbd3bfe9d983b2c2fa83b7a86e23ab11db63bb19e5d3b12000c3be866703bfb98e43b420556bb8f61323b121c923b076eb3ba7f0c8d3b32610e3b39d8233b18d2723b8768853bf251d33a66d8113b87ca173b67148e3bd265e93aa089183a1cec6a3a1c09443b866f953aafb931b9630b77391f01803b7f66d9bc41b072bc4f0a14ba6f1898bb5b912cbdcaefb6bc298151bbf22a72bc62ab3fbdfcbebcbc3f16bdbb8b10a0bcd86032bd3cfa95bcf3a099bbf23dd1bc76e115bd3c355cbc50d702bb2a7cb0bc49db0ebdf4f73abcd96115bb8566a9bc02c1e5bc0c77d1bbd62622ba769094bcc59ca6bc4016b1ba520d7b3af30433bc7d142dbc43abbf3a5f15c83a6474b83b8a35babcfe3b323fc6d2cf3ee025013c7137a3bc6a54253ff1acbd3eee2a123c63dee1bb8fc4103f4ea0a23ec39a133c91c7c33aaaedf23e9d01853e2a88453c1dfb4f3cafa5c23e7a0c4e3e7accfe3b98b53b3cdc4d933edab10c3e82c4e53bfb96593c1c7a473efe6d9d3dc777903b2803453c6876d33d0c9c963c8aaa133b87a4033cbb2b483cb72acabc5e637fbc941b903b0000000000000000256e91bcee46593b00000000000000002c06a7bcd15c6b390000000000000000e6e9a8bcde02a2ba0000000000000000fbaaa0bcb112b4380000000000000000e36dcdbc243455bb00000000000000008411d5bc7a1a5bbb0000000000000000f693d1bca96841bb0000000000000000f1d68bbca522b4ba00000000000000005fa8cc39d334dd3ac92d95bb0cf907bcf808c0b92bfc7c38bf94dcbbe15709bcd4e18dba48eea5ba0bc7d6bb3a1bb7bb4390a9badcb912bbee63e1bb3fce82bb9da54fba559500bbd6baa6bbb4f315bb53c29ebac1475abb498ab1bb6ffc84b9c6bebabae68857bb38a685bb82e99a3abddeb3ba5b8767bbb2fa5dbb355a3b3b9dc790ba1b3222bbd9541dbb2e24133bf0962eba65a0d73abca32d3bd006743ba50b483ad1ed333b75466f3b0625ba3b807bbf3ae874f83ab3c9813b4baf0c3cd039303b7061243beddd8a3b4c65e73b7babe03a38ed993aa86c643bbd04b63ba2687c3bbb29113baee36b3b7fb3ad3bd6da7f3b0ed8213b4db2113b8be7af3b3424923bca02083bf8fca63a6bd1113b68f8703b3673d13909ada838623d833a96b00e3cb382afbcb5c2a2bc17e3a7ba2a9d2f3b228d15bdfb84dcbc951f10bbd832a9bb618220bd04e3c7bc504263bb47e72fbce35730bde6cdc1bc2b7582bb004621bc5cc4f6bc788c7cbc045362bb313882bc001514bd407672bcc9c90bbb609478bc489de6bc4d8e13bc3c199fb95bd769bc6ddbb7bc0d0e76bb5222b03a6a6f11bc42ea4dbcfdbeefb75733103bd8e98f3bd4ef93bc3bfb0c3f64a20c3fa241db3bd8a379bc8eb3023fa563003f6245df3b1cb9a6bba052e33e5b95da3e528c0d3cd992ef3ab78ec33ed59ab53eacafdd3b0357c73b3f90973efe198a3e9816093c0af6203c18e9733e8983493edecfdc3b506e203c03f1243e637af23d7ceab63b14a51a3c0d7db93dddd3313d5a3a5a3b6b5cc83b0503823c8b2b9cbc6ca099bcbf69823b00000000000000009e2bc6bcc6ac953b00000000000000003737b0bc9dae1b3b0000000000000000033fcbbc6b2aab39000000000000000015bca3bc5191ccba00000000000000003518f2bce48430bb00000000000000000de2f0bc97cd45bb00000000000000001a9ffcbcfd1603bb0000000000000000520fb5bcc3fe29ba000000000000000090ae43396c64013b678e88bb30bf10bcd066e1b93c024d3a8e0cdabbf8a11bbcc10004ba556d11bbb788cdbb8895d7bb48c307ba3363c9bab919e0bb80a19fbbdf8719bbb23e1dbb3312debbc2368bbbc3042eba650f2dbb836bb8bbc9c831ba8dd194ba2d554dbb1747a4bbaeb6853a144fa7ba2b674abba3e083bbc412373ba44ef4ba9dbe60bbf0a76abb08709c3afda489baad62193b7797473b21123b3b693ecf3964987c3bd056893be783a33b6183f73af5e6673b4c6d963b5835e43b11160d3bca73443b2155a23bca6ef13bd3d9c13a06fbcd3ab22f653aa3b86e3bada1733bd2ee0f3ba9c48b3b0efdda3bbc998a3baa271e3b2854333b3160a63b66a4903b21e8753bffd6593a9c59653bceba873b48246c399d62993a198f3b3b48643e3c4fa299bc2ebbc8bc3ec391baff7cfe3b64b812bd824f0abd5a8c14bb891f95baed9b31bd544c08bd211d51bbe8d89cbb166f30bd5fc4e7bce5ca8cbb24382bbc81c928bd82cec5bc121ddd3afe373abc26f81bbd108f95bc86631cbb73cf2fbcfa79ffbc2d5f47bc3fb3ddb9f7f041bc325fd2bcb09dbfbbeedaca3a9e92d1bb1b425fbc9366dab92341433b2b48693bc61b64bc450ed13e2dc8313fe678b93bb27040bca6b0c33ee1a8233fe59ae23bff2927bbb7caad3e3e7a0c3f4cb0003cc70a433b9a26953ed586e73e90fd423b24e3353cc652783e7419b13e4d05ea3bf152f03bc6e3403e5ff6823eecf1043c4786f23b57cd083ed480223e4265013cbd8ce83bbfbe9f3d3a3d863d3c739d3b83f6623b0a749e3cb1a182bcf757babc773f913b000000000000000004eaefbc8e97ad3b00000000000000005efde9bc6e8d793b00000000000000005e8be3bc715a333a0000000000000000b3c500bd08774a3b000000000000000058e70abde02e16bb0000000000000000289317bdc8d01ebb00000000000000006f261dbd1f13ccba000000000000000009f9d9bc6e28c639000000000000000075677eb76a99183b40e46bbbe76c14bcb1b758bab5a9843a8ed9d0bb3e1b20bc4dbf65bac9f7fcb98500c5bba11de1bbdfe13ebaae76c6bac91ae3bb37a7c0bbf7b9b6b9b7c5a0bab3babcbbc43071bba53481ba3a8935bbe3ecc4bb89e1a1ba65605ababe0222bb8c9d9bbb16ee573afe117aba22c329bb0f6680bb0cbe4e3bf5087abaa007ffba6e743dbb2c5c383b77cd95ba3e44613bbf17423b77f5b43a8cf09a3a8671663b9f4c823b81625f3ba65eac3a937e593b5c48773bf6a7bb3b4c55ff3a20764f3bb0589b3b1645e73be0c7043b72ce1f3b340f8c3ba339e13bd01e753b0d085d3b5830653b1ce2df3b2c63893b02da153b1c09103b70bfaa3b4911a73b23b5203bb2126d3a2eec883bf128833b7e4bf43a6fa358b9bd4b153bbf515a3cd08090bc885fedbc30f223ba26cf353cfc2011bdcc5620bd6b14f5ba56aa683b24871cbda06106bd8a7a5fbb6df424b9e04f34bdc5cd06bda2ba96bb56d25fbb9bbc14bda2d6c2bcd09b52bbb69302bc19cc24bdc85ab0bc81f506bb96310bbc21e301bd526c5cbc415f643955b21abcb71ee4bc74d8efbb238e173be9e5c5bb39be7ebc0384d2bab637383bc416273b9b5017bc15dd883ea256573ff7478e3b3d65b7bb7844813edf59463f2183a43b0a82903a8e05683ed08c263fd710d73bb050be3bea484e3e033b0c3fff5fcd3b840bfa3be9ac283eca6ad83ecda8013c5cd6103cd3960c3e2717a03e2734e03b5651ed3bf42dc73d62944a3ef9e6d83b27819b3bffc6823d602fb13d1439933b2e7d023bcfe7a33c43e849bcbed3cbbc70dc993b000000000000000022b5fcbcd320b83b00000000000000007ef5cabc83f4403b000000000000000049a6e6bc69da3d3a00000000000000009b04dbbcfddca2ba00000000000000008ed814bd6be01ebb00000000000000009c7613bd460c0bbb0000000000000000743f35bd1c70b2ba00000000000000009c6406bdf07501390000000000000000006d22ba8719073bdbba5ebb213117bc18254abab38bbc3aa29090bbf8aef9bb1807b5baf1b978bac9d9d1bb4d4fe4bbed5819ba695084ba142fd4bb1f4ebbbb4df763ba723ad5bad426cfbbbd1687bb14781dbab2bbfebab3e6b9bb6737b7ba91050fbaca40fdbaa3d89ebbb34fa23a5df154baed7a12bb200c69bbbab37b3b342dbeb9d1ecbebad00b3abbf1503d3bc760a3baa21e7e3b049b2c3be5ed5e3afe00c5b8dccad23b71dd723b8e5b1a3ba54cec3add7c8d3b5311853bcb82aa3b64770b3bddee673b0472943ba6afe43b970a043bbc3d223b951a853bb429f73b68f46f3be40a593b64f3693b16bfe93b4ffd9c3b70256d3baf2c123b4892c73bec2fba3becde4f3be32d8839d14c883bf454883bff5d0a3b329fb8379323363b57356c3cc8319cbc4b960bbd95c5b7ba6397483c711119bdae7b36bd2d3b9cbb9c74e93b5b0c33bdd9d824bd83eca2bba22e393b6efc35bdc3f311bdbc35b4bb969ba0baf55d20bd01d1e2bce3c596bb90d99bbb272726bdcbbac0bc7cda31bb0476e6bbf15b14bdf30086bc926cceb931a9fdbbb6f4efbc25b508bce9a6373be6deb0bb97b490bc94902dbb9447563b67296b3aacef38bb60ec033ec37a7d3fd9c8353b3152b23a71e7ff3db7b9673f045e6f3b77e6d73b2696f93daa96453ff4ea5d3b136a173c7976e63d47d3223fcb9ebb3b3b73203c41acc73d533cfd3eb110d83bdc30193c6778ad3dea20bb3e4786e23b8a10e53bc354893d41dd6e3e4c58ca3b49cf4b3b449e403dd35fd63de6c6a63bce4cb63ab99ab13cb4ea42bc1cc4b4bc4c87993b00000000000000002beee0bcd4bcb63b0000000000000000bb1fafbc6dc8013b0000000000000000f18ab6bcc489d1b90000000000000000ff70c2bc772619bb000000000000000028cb05bde60578bb0000000000000000ee0724bd3f8788bb0000000000000000f1cb41bd836316bb0000000000000000fef41ebd0994a0ba000000000000000000000000000000000000000000000000d29fddba3a3cefb97773adbbc03408bc1f17f4b9c3079db96931a0bb3294c9bb315cb3ba5db28eb978f0d7bbb37196bbc8fe06ba6c68c3bad6a4abbb66471fbb36f65eb9ba95a6bacf0d99bb4170eeba926f2839bc6534bb4b7968bbe5f9e439a79754b985e38cba243b5cbbaae21a3b0000000000000000000000000000000000000000000000000000000000000000b51c1dbae7fc443b4f4e803b110cdc3aebcddc39d588303b6c5f5d3b37d1883b3b97f939c687ee3aaae98e3b108ad93bc4af983a4ca5e43a5581613ba186d43b5be6ed3afdfbbf3a39c4313b7162c43b75ba5f3b55d83b3b349a113b8e10b93b236a853b831f2b3b309d903afad48c3b00000000000000000000000000000000000000000000000000000000000000005947443c7e68f4bc21a918bd8cc363bbbb32e23b61a80abde1d503bdced5a7bb57e1173b04e905bd342ee4bcb036aebb9994db39ca15febc4c92c1bc6eac8abb35f51fbb0cebffbca8759dbc43f069bbb96580bbb279e6bcb0745fbc0ace39bb7d25b4bb3f84d0bcabf311bc84ae673a000000000000000000000000000000000000000000000000000000000000803f7c6ccfb91a20bc3bcc2a103c7d777e3fb1ede43aaff90a3cc7ea883c0689573f95196a3b0ed5043c6939bc3c335f313f71eb763b2078183cbb2bcb3c4ac60b3f6c1f8f3b7e2a0e3cca1bdf3ccefece3e18b4a73b8336dd3ba8bbde3cdb7a863ee457b63bb495953b2959d53ce0cafa3d00000000000000000000000000000000000000000000000000000000000000001e350ebc80d6c33a00000000000000004fc202bcea3e003a00000000000000002df80cbc35a93fba0000000000000000c71058bc365d56bb0000000000000000e606a5bcbc1388bb0000000000000000d4eadcbc1336cebb00000000000000003aef16bde9ce99bb00000000000000000000000000000000000000000000000000000000000000000000000000000000e6e57f3affda5b39ad2d24bbe6346ebbc57b863800d966ba1850d8ba826bd2bab4579a381d4b98ba628ffbba7b75d5ba11ee93399b335eba3e0695ba96dc7cba9e807fb80d20a1ba34d7abba7c3296baeeea8bb9aeed8dba1c75a8ba1c8a8bba74d18db94c1299ba036d97bae62019ba0000000000000000000000000000000000000000000000000000000000000000d3e623bb3f9dfcba6ff50a3bd9942c3b839894baf43a5bba00a6f43a8de0e83a26fd93ba07e581ba6693043b2f74b23aa29b23bbe6da28bad400073b9a146b3a3a9861ba20ad13b9f94e013b23c6f939170a2aba8ca904b97486c53a5e5fa039953868b915794839bfe6993a40cb86b9000000000000000000000000000000000000000000000000000000000000000019202cba8bf5a7bb8ca79dbb13a901bb4783f7bacd3580bb9da82bbb1a280fbb61621bbbb04682bbe26e31bb42f00dbb467a07bb722643bb857905bb3abe65bb97b920bb999c4fbb310611bb0587ecbaf66a18bbc44936bb17eadeba5975b3bac2371bbb367917bb84c482ba770c7bba0000000000000000000000000000000000000000000000000000803f0000000082e1be3ab36d4a3b8bc6633fd03f383b9774dd3a44546e3bb18a423f8972d63ac90f0f3b3b24953b5c2c223fafc5833a0881263be5e8973bf78e013f84c7a939e0d31f3bcdcba43b3b6dc23e55a86eba2b040d3b4328963b1e97813e66cb00bb06ad0e3b2f21853bb556013e862157bb0000000000000000000000000000000000000000000000000000000000000000348fa43ad147d5ba000000000000000017ec81b9a7c7b1ba000000000000000009ba6ebad1e4eaba0000000000000000d1bf77baa3f9beba00000000000000003a6cfaba589f08bb0000000000000000314f10bb4be913bb00000000000000000ae51cbbdaa80ebb00000000000000000000000000000000000000000000000045f236396a501bba2dcadcbafbcb0cbb06029639c5fb82bad67018bb70522bbbf0b759395e0c9fba948714bb62201bbbd5038d36de0fc6bae13218bb24e115bb55480c3a02c877ba65f1e3ba981bedbafe1db6b881fac0ba98450cbb0b96fcba8fe82ab99baeb4baf80fd0bafdf6aeba9be1ef3967de2bbab28e15bab04d00bb7c83abba26eff9bada305039bbfa213ae69ac6ba00764239b053ae3af4f6093b354dd8badd3e92ba99df0a3b11b12a3bce3ae3bab49e76ba196c1f3b29221e3bf38ddebacfc66bba7e54353b3e7a073b2d48acbaecacceba323a533bc41d0b3b65debeba891723ba45fd283b5c67983a0e2972bad88ac7b96482083b9bec1c3a130ab9ba13ecc2b935791c3bf62e423a33b675bace9299baa4e701b828c79abaea7fe4b8ce3670bb6e2c2ebb35141abb9ac78bbaf26ba7bbffd070bbcba841bb3044dbba99499fbb459568bb78403fbb443515bb3947a5bb15846dbb8ae63dbbe649efba4e6d7cbbf84f3abb993912bb67d12cbb641e8abb882a46bbfcb324bb09bb1dbb1ca558bb830f0bbbca07e3baf78bf6ba37970abbd6df25bb4c4815bb260839ba30c032bae849caba1fa71a3a6579483a4bb4563a9be2623f626f023e4775ba3ab672223b3d34483fbd9de63d8329023b51a9793b34312b3f3357c53db867253bfdeca73b30d90e3f3ad0a33d1fb3e03a49d0823bc168e43ee815823df1993e3b44e5bf3b9672ab3ea0233d3d4d0e2b3b3257ab3b696f643ecef8ef3c67a7ad3a4722bb3b87dfe63da8b3503ca9c5283b2f8f8b3bd2c6f7373a8c8ebb4648b83996b757ba00000000000000007e70ceb304b4b2ba00000000000000002211f4b9b0e4d7ba0000000000000000e503a7bafa930dbb00000000000000004d86c5baf41106bb0000000000000000111c1fbba7c02ebb00000000000000000c502dbb831c24bb00000000000000004dab16bb78f979bb0000000000000000dee999ba51de2fbb00000000000000009be8f139ff59a3b9798ecabaa9de15bb94caab39ab2b77ba5c4526bbc3f555bb4a4cc339c65b3bba478cf5ba4cef31bba939e1397e887eba0b840fbbcb1525bb7ee12639194da3bab24815bb1d061dbbaa42df396087b2ba3a7718bbe1ab0fbb75a424b80a0d95ba347ecdba91deb3baa64d2ab922fabbbadd4be5bace80a7ba32db94b9cd1184baf1c193ba67b942bac783abbaac5f09ba5847be3ab834053bc99f1abbce3046babbab243b4b79413be84f11bb7559c2ba3c791a3bdbaf283b2c8801bb3ba746bb060a3f3b28d7373bb74fe8ba54ac77baccc8243bbbadf73ab30cd9ba14bf97ba7f0c423b400eee3a50a286ba43f2bbb934c4003bc7296c3aa00857bab4f22ab77d17f33a1953003a3263a9b9a4c35f39f139843a19acc7384b46383a497c4dbb51ea2fbb6ac003bb28d0e439ea7aa4bb3dc285bbe32f5ebbc01805ba8c3f86bbda786ebb72ae4dbb27f88aba7dab97bbde8f77bb1fe141bb1335b8bae10184bbc37c52bbed802abb12d908bbc95d98bb0d1762bbcc6d35bb3e1df0bab98959bb7f7b12bb9153e5baee9d12bbf9995ebb4851febab2dac4ba061cc4ba38d901bbf6f681ba391e3cbab4004a3a2418a239e776423f8f93813e4e459e3a16d4ea3ac4a32b3f6b21653eb273db3adb4a453bdad1123fbabb433e507c1d3b75ad943b44ccf53e1949233ebc4c163badbe8f3bbc33c43efa75013ee2d84d3b8daac03bcd2b943e0b6ac03dca2a153bdf24923b7fec443e9d2f7b3d8755293b565da43b0747c83d6b7ee83c56dbdf3a7a41503b064de63a6bdb31bbaf4da8b8db735fba0000000000000000f3accbb9b71179ba000000000000000028fc07bacd59a7ba000000000000000007108eba490ae9ba0000000000000000272fe3ba556b00bb000000000000000013ac37bbdbea31bb00000000000000005e5f2ebb5dc617bb0000000000000000043d63bbbb0a2dbb000000000000000081fd1dbb7875ddba0000000000000000aee5ff395cdc2ab9c27ce4bad14029bb95542b3a5648bfb93c5411bba7ea5abbf416223a181320ba5de713bb92c147bb3971113a49cc81baf8fe2abb02b150bb5b6dfb398d1f3fbaf99b05bb887511bb8e38bebad04931bbea236abba0b258bbba3b7a3945dc8dba14e50fbb0cc106bbc3132cb8d0c395baf5a507bb4277b7ba919c9a3ab092a3ba59e9b9bacfba633a4fcefaba2fb544ba21e6e23aa2901d3bf0b837bbe483abba629d1c3b4a2c5e3bff9d24bb926cadba80ad303b7e534c3b5a9928bbf15fe9baccd1473bb7f8543b827669bb792c42ba8499373bbe40273b65bb20bbb5527dbadc4b5b3a1acd1c3b86c3daba0d1c2dba337b2d3b5550df3a669382bad3c337ba2526093bfd50513ad66f2aba3aaaa1b910273f3a0252bc380280b13a59cd2cbb275741bbe2e309bb6f9aa73a107a85bb0ddf91bbf28d58bbd2974439e83a8cbbffb38abb549f54bb5e63f5b9a7d09bbbcacc8ebbb73967bb3c043bba46847ebbd21c5fbba28826bb4db784ba36fabcbb4fc49bbb808870bba841babaf10273bb657437bb61940ebbb8ecfcba9f936dbbbcab19bbea50d4badb01c3baf73b13bb175995baecc290ba715f263afeea9c392423223f3a62c23e585d863af0fccc3a95130f3f226cab3e098ad03af7063e3b7ca8f53e3fba923e3939023b90bc8e3b72c4cd3e35a6743e946e063b14308e3bca6ba43ebfe5423e0859003b4c189f3b85587a3e25a4113e78f32c3b74efa13bce4b263e739cbf3d021a263bf5829d3b1333aa3de9ae393d8b11ae3a7d3c303b8149843bd4620ebbe4a974b91d40e2b9000000000000000056fdccb90b387eba0000000000000000a86053bac730a5ba00000000000000002481cabace0b00bb000000000000000033d9dcbaa09fedba0000000000000000b5af11bb2fcbcdba00000000000000004dc840bb2c6617bb0000000000000000867a71bbea3c21bb0000000000000000752b3cbb8dcb01bb000000000000000053a6533a78c19b39ded4a5ba377727bb9c2c513aeabbddb82f5f00bb9b305abb9129403a6be4e3b92ea808bbf2bf43bbbd3b183a888917ba434d0fbbd79a36bba938043aa23022bab90bfebaee811fbb739da138bd99c2ba9ebc46bb6085c7bae6219c39f6c181bab6b70cbb2bd609bbf9b052b7d60c9aba4a2401bb2e62c5ba2966d9b9505b72ba3923cdba34a809ba8cdd07bb3c2f7bba60d2d93a11dc263b2e454abbd2f4b1ba91d61c3bec63563b1f9931bbec669bba6872273bd23d513bbff817bb51e001bbdf5c2e3b7690553bbf461fbb0dc511ba3eaa213b77c5223b1d97c8ba7057e1ba372f303bec841a3b6cdeefba9f8840baf5f61e3b1e82013b0e1583ba57b690b98164103beb2bbe3a9bbd5b37c86d02bb7a24a43ac00b4e3abe710a3b8c28fabad65549bbd3cf11bb2c3ef03abf035ebbbcf294bbd9b159bb8b2d5c3a2ecf6fbb2fcc8cbb36c651bb5534883934d68abbfea690bbbae64fbb9caa2fb9579856bb4e2163bbff5f40bbb15c93ba85082dbb34ca2ebb333f0cbb11e97cba5fb961bb42b847bb5bf419bbce48b7ba856f59bb57c726bb8917d8bacd0098ba4a2208bb24c693ba80432fba9816b9b8b2f792370eb6013ff88f013f82fa473a4ae5c13a27eae43e1b23e43e1cd19f3a5aa72c3b31b4c43e1c5ac33e90659d3a59ed5f3b1ceea43e5fe9a23e39e3ce3a67946b3bda9b833ee9b4813e0fe1113b3731983b2106483e6736423ecb6b153bdd64903b3e45063eead9003edc82183b1a1f913b98c68a3d73437d3d100af73a4d53433b0cd6533ba4779dba0ac57ab9b91e9bb80000000000000000ab0626ba4eae3fba0000000000000000e4244ebaf53d96ba00000000000000000c39bebad85eceba0000000000000000de31c8ba22a9d9ba0000000000000000feec50bbf01c40bb00000000000000008ba144bb92640cbb0000000000000000234170bbb5db12bb0000000000000000d2423dbbc439b7ba000000000000000022f0c23928df52381f3ba3ba1dbb25bb01a3743ab39df0b8c6e8f2ba3fc754bb8d2a623a33c37637a8c509bb248063bb988e0e3b6be6d9ba58c20abbe1845fbb2ae92f3a204e3cba256022bb133e48bbf5b70f3aa5cb47baec5824bbb33246bb5cdfd33988a06eba50a91bbb23f919bb3059fb3811e290baa8950fbb2760dcba38944b37aaf33aba4427abbafd5691ba946df2ba6de035ba8f468d3a27abe33a578a38bbe243b5ba735e1d3b585c5a3b39045cbb0015fbbab725363b3b186a3b3373a3bbaeef3cbbe5f2a13baeeda93b30623fbb3f7296ba8dc53c3b519a493b61532dbb113083ba4bc54d3befd04b3b858feaba300635ba8645303b92531e3ba3699fbac78117bad765203bc52ff73a51ee84babe8545bacd58d03a8a5c993a11c6073b7126e6bab16068bb317202bbffa0283b3c8559bb62cca5bbb0da59bbde4fd23abf906bbb6f08a7bb7fa45ebb7239073b615c69bb817da6bbee995fbb6abb0539975080bb052e92bb9a1459bb0eba40b99bcb8dbb178591bbe42355bb033534ba972b7bbb5da56abb960223bbfb719cbaf1b66dbbd1b147bbaa0eecba812045ba19fa07bb36cfe8ba31408eba5cd4e53ae4b9ee3acf54c23ec7d5213f2502213a4b92c73ad64dac3e51b90e3f02d7823af9502e3b4559943eb992f43e2805803b5e5a7a3b4b45793eccb5cc3eef98e63ac4ec843bf127483e3d90a23e6d7b0e3b046d9f3b57bf183e68fc733ec6681a3bbf08903bfdcfcd3dc9bb213ed763233bb12a943b7457583d342ba03d989fe03ad7c4423b9cd66c3b04f2dcb964f636bad24b1eba000000000000000099bc1ebad4eeb7b90000000000000000049775ba4e9595ba0000000000000000f7f502ba0be586ba000000000000000083a702bbd2e4f7ba0000000000000000bd7244bbf1c21cbb0000000000000000f9ed66bb90a01cbb0000000000000000fa9190bba8291fbb0000000000000000adec46bb9d71bbba0000000000000000b9ab813a8d552f3a35d076ba38fc0abbae50933a9d47ec39883605bbbf9a62bb4489463a3a106db85f8902bb667447bb7ac19d3a21c493377fd613bb93744dbb404f3c3aad5abeb9752414bb3a6234bbb284353a81251fba284d26bb737d57bbb83bfb39bf074fbad0c110bb816409bbf433ed39c50a96ba127023bbc833e7bacda6ca38f5842dbab727c3bafd5c89ba844201bb568b1abb7a0ebd3a3b36153b8d2e51bb16793bbbe3711b3b714e643bc39380ba99c4daba6b3f183b93314b3b7dd69bbb43ae2cbba26f533bb0d6843bdb9b18bb558085ba1b47353bfb0f4b3bfc3c39bb4b87b4bac22b503bd4bf573b244de5ba3f5c4bba807a253bd84e193b51cac3ba5816fcb98603363b743a063b303d21ba31846db9a371d23a461da53a857c2c3b774b91ba27c664bbcc3ce6baf69e3c3bb4b437bb427ab7bb380758bb9207db3a03a043bb22419abbac4050bbac69d23a4b9c7abba617aabb6829a9bb92db1a3ae59763bb110c88bb27c636bb048b9438f37c7cbb0d669fbb516b61bbd5afd9b9f6c55dbbbdad61bb735515bbcab48abaed087dbb0d2668bb9b06f5ba83cc3cbaf67c08bb9f4fedbab7b56cbad7907ab99ab4c639e2dc813eba6e423f6de3033965ddd63a11e2663e27c82b3f1c4b0f3a6633163b0c8b463e4a60123f6a05a43ad0747c3bd1f7283ec3f5f43e65dcac3a6052653b487f073eb7e8c23ec56e0a3b5245943b1516d03d6159923e67db093bf72d823bebf48c3df248423ed18d303b7aec963b04d41b3da193c13d2b34d93ab585313bbb18713b2e9770b97d9c47b95ac33639000000000000000043eed7b9bc1bd6b90000000000000000a84918bad6fc51ba000000000000000090bf83ba133f8eba0000000000000000666cdabab8b2c3ba0000000000000000ddc92cbb33d525bb00000000000000005c5d50bba3c109bb000000000000000086439abbcd9e23bb00000000000000003d665ebb5499c7ba0000000000000000fb99ea3af0f4d33ad99209bbc66260bb84a771b77a62b93ab24133bb51e388bb77ea8c3acd1730393e30fcba03f343bb58ad9c3a458bccb72e3c1abb1fe256bb3491493910e39aba02da29bb68613fbb6a9e783a767c04bad3eb25bba4003cbb3e4d203a521557ba638b1ebbd5c025bb27e67d39f28872ba90ed19bbf04a0bbb05510f39697c1ebac519bdbac3ca89ba1ae775bace22d4ba14921a3b766a9b3a86f682bb113012bb4d95443bda65853b0be13cbbd99b2dbb5af1253bf1275c3b51d84abb4e74c5baff7d3c3bb5297a3bce5b19bb866e17bad858633bb9c41a3b74be24bbcea38aba2c2b413ba905633bb21200bbae93f1b922f02a3beb96323bdae3cdbaa16901ba0ba21a3bb639153bb22b37ba97d10aba52a8d03ab195be3aa9d4773bb2b30ab9332ca5bbf0d252bb3b91803b1db8c5ba58a9d5bbb06387bba193113b1f2c49bb3491a5bbbaa052bb314edd3a7e876abbe1f6acbb22df6cbbbb2a3a39cc6880bbd58f97bbab9644bb6905c5391de580bb6b2896bb50db4ebb1bf81bb9b3486dbb5d2a76bb5cf51fbb12363cbae25768bbaa3160bb3770feba0ac732bad55213bbee4203bba1047aba1292a8bafe29f13a22e1013ea723633f868fbbba0d4d243bd804ec3db1bc473fc3ffd2390bfe2e3bd150cc3d30ea2a3f1fb3583a47b7663bf0e3ae3dd5870e3ff6a4c93a313b853b61828b3d74f9e33e5255cf3a8e7b8a3ba38f5e3dccaaaa3e4537f73abf8b803bf68a1b3daee5623eb7340a3b42f1813b33e6b23cb454e23dd2d0e13a83f4393b1799873b2132b4b856f73cbaa2949d3a000000000000000019f0a43ab4068fba0000000000000000a6a6c43841a50cba0000000000000000358ddbb933d2a8ba00000000000000000689e4bac74beeba0000000000000000fb581abb57b60ebb0000000000000000930b54bbe07f11bb0000000000000000f0c792bb67071fbb0000000000000000ad0875bb6ccedaba000000000000000000000000000000000000000000000000e5a4763af05b0b3aaf95a6ba599628bb0b1c883a31f4b7394942d3ba405743bb408d553aac7886b959dd08bb02d954bb3d03733a831538b9b36fc2bacea827bb2822573a23c8b6b9d8f500bba13218bb0079243aed0801baa97b01bb908711bbb6201b3afebb47ba490a20bbc6d225bb00000000000000000000000000000000000000000000000000000000000000002fe628bbe631c6bae475d33a41582b3bb5ea46bbbf70cdb814330c3b84d7403bdccfb7bac1aa1cbb6c1f143b3fc4423b71fb28bbc49ad9ba24a40c3be412313b030d05bbc9541bba74bf183b570f373bb8dfeeba70f1f5b905c90f3bbca4203b2c950cbb308eadb8915f2b3ba6d31e3b0000000000000000000000000000000000000000000000000000000000000000e6b62f3bcb61ecbaa8d78abbf69832bb44d2033b17752bbbf8de99bb90c554bb02ddb63a4f1247bb0dcd9bbbdd98c0ba38d7803a9ba122bb3a3879bba59137bb0e12e339162244bb4aed69bb900e32bb26650839527b42bbbc575abb914c14bb7160bbb95dea4fbbc4c85abb44b720bb000000000000000000000000000000000000000000000000000000000000803fb6c6dbb9188ec13a2a946b3bb8f4623fa4b6253982b21a3bbcc29a3b0284423fd21bf039a8f2373b9509b03b1716223f4cf3613a1d403d3b3854a93bc072013fd5267e3a25b74e3bf741be3b5231c23ed9d2a73a96cd463b417bae3b8348813e9329253be9d3763b6127b83b654b013e0000000000000000000000000000000000000000000000000000000000000000fdc4963adf4157390000000000000000cdfd293a54e600ba00000000000000009abc3c392e9793ba00000000000000009e76c4b9cc0799ba000000000000000000b0b7ba8363d0ba0000000000000000d2b91bbb1a8af9ba0000000000000000821f6abb36cb22bb000000000000000000000000000000000000000000000000000000000000000000000000000000008b17b03964fdf53bcceb863c86ef7a3c7b08ac3a594f073c4d2f803cc966753ccd9ff53a29e8cc3b0df1493c8dad423c78e1df3af62c9e3bc45d323c1f2f0e3c095acc3a1e77b43b5c520f3cdc65d93b6cc0d439d4c7603b08c5063c6ca67e3b2c191bba5d98203b8bbda43b4f08553a00000000000000000000000000000000000000000000000000000000000000007371c0ba5c4301bb24aea9b92500cebcaccafe3a9ed118bb422b37bb225af6bce7e8843bd6e98fbad8de92bbcd79f4bce4df2e3bb71412ba6cb94cbb9f7cebbcc7552b3ba4abaab7cfbc14bbb68ccabc2b2d5bba572b7fbabf98913a9b4886bc6099c9b96988bf38180aca3a728de3bb0000000000000000000000000000000000000000000000000000000000000000334d09bedc8618bd64fa0e3c6e9793bac98b02be60f822bd69e6c03b78f316ba908ee0bde62224bd8382303b4697c9b9faeebbbd9ad101bd2a9f2a3bc6ca033996de92bd5ae1adbc79b2bc3a9fccbcb982b44dbdbae119bc4f46673b66caa33a5793ccbcfcc9333bb59fec3a75db0bba0000000000000000000000000000000000000000000000000000803f000000000346513ca96e85bd6e559f3f8f907fbd956e343cfa46d7bc5d34843ff6051cbd7af51a3c4cb019bb4fe6543fabacc0bc5e09ce3bf4bdf43b6f06223fb54a9abc21d9963b608e183c0affdf3e1960c5bcfdd186baf412f03b4c6a803eb36bd3bc496c773836f5b2bbd1a38b3d6a2b00bd000000000000000000000000000000000000000000000000000000000000000039b0af3b85b211390000000000000000d3d6053bc3f8f139000000000000000065e31abb623e42ba0000000000000000deb208bbbb94edb90000000000000000d49f81bbb8e789ba00000000000000003585af398eb411bb000000000000000075e2993be347b8ba000000000000000000000000000000000000000000000000156019baedd14d3b9e18273c6786dc3bd5ad83ba2165193cbcefb53c598d693cced1b53ae5e8323cc848b03c43aa883cd6e4123b4ca2193c932e953cb1737b3c0fa4003b8489133c9512623cd4e63d3c384aba3afbccfb3b9a393d3c5d690b3cf6f8aeb8e023b43bff51243c94e68a3ba606fbba7383133bbe13a13b06d335b91fdb99ba4e3faeba0a28133b15aa3ebbc0adefba824fbbba9473883b09b49fbc4945ecba125083bb056ac43b5b57e2bc2a0aef3a9f0d63bb05ef463a1bc90ebd9d36633b19510ebb3e10e7bac42210bda6c7b53b1d040fbb533637bb19d7fbbcda5c0f3bb80507bb998417ba8ae9c7bc2deab13ab35dceb9b8daa63a795a82bcb62146baa027b1b9436e573bbd6456bbf10387ba6b525a38613c603b3c415c3b77a58cbde4fbe9bc21cd533ba6be0b3ba10008bed82117bdd689043c52434a3a5af20fbeda2e54bd06929d3b3ac5cf3a88caffbdcc2654bddcce0e3bd148a03a275ecdbd15282fbd86f62c3932e4ae3a75a5a3bd1932f3bcf151f03a4b25d73a501a60bd1f486ebc9d4ab43a925a4a3918eeb1bc2d96653aafaf8fb995dc5739c068463a2f53263cfa9afa3a329635b907d1903cd8bd09bebd009f3f59c3923dc2b5b73cb4d30abe6b9d983f21e35e3d77dd7d3c1ee5a9bd2eb5833fabc3813d6daf373c003d45bdefb2543f86286f3dbc0a0a3c4591c5bca1291f3f7dbb353da6efaa3bdc4ca0bc5c06dd3eda4abc3cd8cf6e3b8b3091bc2c68783e19464b3ba41aa33b0e30afbcf5aa8b3dadcc29bc49e9a23a4cd8adbc76675ebdc49001bd1d78a0bc9873f03a0000000000000000e9e494bca029323b0000000000000000da9298bc27079e3a00000000000000009cff88bc7e9b053a00000000000000009f518abcb4cb07ba00000000000000001ac258bc115a763a0000000000000000b45412bc06a34e3a0000000000000000531907baefbdb23a0000000000000000b18bd13aa6e63e3a0000000000000000c57ffb39aa02203ba8f8ee3bc31aac3b142892399459ca3b0cae6d3c582b523c3fd88c3a5d01d23be2876c3c1162513c054c0a3b9318fe3be144713c63c9703cde53893a7ee0a93b31e2363c3eaf1c3c74f9c73a046ba23ba934303caedef83b45abb3397033283b9a2be03b013dac3bc2d39cba898cb43aa3b3913ba789923a9b5f86386576a3babebe9a3a51fa9cbad3857fb9f54784babb57a33b6faab6bcd4c1fe3ae9f404bb3170c43b548300bd63f2ad3b90dbdfbaef16a639ac6aeabc7bc7a53b6a6e02bb41812939c58fffbcfc0c953bdf553aba91abecba3277babc64c67a3b078e94373e8db23a8127bbbc0477053b951bf8baed33823aa96237bca931da38fb628f39de2e523bc07b92bb8ac2d8b9c59989ba367a2f3bbcc97b3b29d213bdfc3eddbce277afbbf5573b3b219abfbd71515bbdca927fbb46f0813b8c65c2bd129e7ebda499e0bb142e333b0e3dd2bdf1d780bd1775a8bba901663b6fa9a3bd514f48bd4f679fbb37fd123b37738abddcd91ebdcfcd04bb3faaee3a2b8a31bdcf20b9bc2321973ac523393bf55db4bc30aea6bbae61503b387f07bb6072cbb93a0fc63bb8c71f3b09e0a83a97197b3cefd305be3eb4843f24c6823ebbd8b93cd0d111be4ce0843f44c5713ef635773c0a94a8bdd9905c3f58f05e3edf04553ce3de8cbda2e93d3fc985343e28321d3c84a628bd85ae0d3f955f073e2b33e23b3cec10bd8c0acb3eb743b33d13689c3b5384e5bc312e723e823b2a3dbfd4df3b8bc2f8bc9a30ad3dcb5cd8388bab193b0968bcbc85f4ccbc31cae9bc62b43fbd9cc9aa3b0000000000000000461158bd3042f03b0000000000000000303929bdec44853b0000000000000000c27f22bd8afc743b0000000000000000de3e02bd46b41e3b0000000000000000ebeceabccfb3f03a00000000000000000e62c5bc38fc663a0000000000000000a1237bbcfe48a83b0000000000000000ffed1dbc1c08763b00000000000000007538473a6cafef3a724db13b934a5d3bc910b53a7de19e3b0178293c227a303cf5a69d3a2f55dc3b71404d3caa25693c99e7d13ab05ecb3b34a54d3c24794e3c91d8ec3ad07bb83b12da253c9219313c19ac113a5b109b3b678b093cc035133c5828eab9b6b5933bb7aee93b8a1bcd3b880e91b932a4a83acc5a6f3ba6df343b4ec4ccb982258bba94ce5b3a161d0d3ab844f73a742dc4b818f6803bbb23c2bc65add33b2ec812bbd319b13b1ea5fcbc2bb2f73b0c36d5ba7c8e2c3b5eececbc146b043c94b383ba3503bdb9abc8e5bc2327d13be9c9aa39ec88d8393e6cc6bcc5979e3b5498b3ba880e5c3a13dd95bc1e13df3acf598aba5344e83abb2b4bbc28f4e5390bbc15bbc831363be41988bbc3f304bad247aeba652e143bdf3e703a756f8dbcde520abdf41170bcff65a23be67485bd66b182bde2996ebc8e3bc83b7f15adbdb7659cbd765968bc4929b63b822da8bdc7f091bd2d324bbc82d17e3b870593bd2f237ebd551b32bce0917d3bb3be6bbdabe93ebdabccb4bb073d953b387f28bd17a0f5bc7c2fd5b95a5f7a3bcfda9fbc42b92fbc14e4793b3443593b1609c6ba75cc0c3b9a2a5a3bb3a2493b165a283cf0e2e0bd7f7d573fec2ae63eaff1993c17b2ffbde318583f583bdc3e6d706d3c42f8bdbd50153f3f10b1c03efa19533c745585bdf9671d3f0dd99c3e75d6193c014a4abd4539f73e1e44703e96d3003c4fb220bd052db03ee222213e0e8ed83bd48c10bd84e8573e465aaa3dcc0dd43bdaab08bda4ecb13d91648f3ca8fe2d3b0e0ec4bcf2eab4bb2104ebbc858c8dbd6fa3e33b00000000000000006263a8bd3602333c0000000000000000c4c08bbd0c58fe3b0000000000000000bca371bd1f32ac3b00000000000000007f0853bd26663e3b000000000000000012c438bd45328a3b000000000000000081d51ebd13e09b3b0000000000000000d9d2f0bc3870bf3b000000000000000097979fbc5e92983b0000000000000000f88285392a67c539e3cf3d3b2848733bf607963a0621923b0c13f43be4421e3ce282843ade3d8a3bed262c3c06d1533cf829113a71e5b13b1649273cfa73453c53764a3abcbf3e3b9a22bb3be8c4e23b0f22723a0eb7833b7825f63bb2db0c3c6285fd39fa2b083b6280c53b7de9a93b5b386bb931ae563a21a1ed3ab592763ba2081e39e8bd06380bbe223a8bbd793a21f08d3bf995493af5aa983bd43ca9bc474a023c3b43ceba81e28c3b4b69e5bc8f43013c0c5b88b94a459e3aa746cebcafe00f3c78afe639d9818b3ab076c2bc5a8dba3ba292863a05e58cba2ff67fbc080fc13b3d22ddb86957bd393b5f85bce403373b28c9b2b90875f53a3cbc1fbc5ef2913aeab03abb9384233bfe0075bbd536fab955eabeba2fe3313bde756a3a83ffc0bb82e010bd06c8c3bcaa9aa43ba53737bd06bd93bd55bbccbc32a1153cc01c78bdd26da8bd9bf9b9bc3626c33bd19085bdac2aaabd0dabafbcafe6cc3bb27537bd40b968bdeeae85bca2450a3be8b547bd7e2a60bd2a8823bc66829f3b563406bdf77a0abdffee11bbce51793bd95e93bcee746fbcf49e4b3b97a69c3bc778d0ba911c44b9d514d83b66293b3bd1c8143c6835bcbd1944253f7203253fd5f06c3c7d29cabdeb47243fe911203fbd09443c10848fbd2400113fa65d093f750a1b3c32d266bd30aef93e3dade33eab89dd3ba638f9bcfdfdb83ec8fda33eeefee13ba5951abd524b913e88726b3ebf60a23bc65e01bde647333edc5a033e72f6bb3b2067fdbc1e19a53dd80c0f3d35922d3bb5a2d4bc0689403b42e0ecbc81a6b9bd93ef183c0000000000000000fb71d7bd9c834e3c0000000000000000f0f9a9bda4d7053c000000000000000003eb99bd31ead23b0000000000000000167c4fbd5a28113b0000000000000000332e6cbd0084933b0000000000000000eee241bdb332933b0000000000000000ddff25bdccf8123c00000000000000006b17f2bc6a06b33b000000000000000086872d39755992392679943b1be1c23bbaa9d639d174863b40b0b43b1dc53b3c8c5f31b98d43ce3b21641d3cc1a2663cef6b183ae6e6a83b927c123c2ddc643c716d403aeffba93b3d5d093ca962363c8774d8b9bde6723bafa3e23bd863133cf50f92b923bc3c3b4c9ab33b522a093c8f67c0b9799e843a09213c3b78869d3ba1927bba7ecb04ba5040ef39a6cd663a56053c3bf9e4c6ba9bd57c3bf81fa3bc1ed23a3ce2b013bb13c5ac3b3968c9bca6ef453c8c2baeba3faa5c3b551fbfbc0e3d2f3c687585b9cbbc6839d7d4a0bcb0b2203cb16c8e39a6c61cba1c3992bcf8afe13bbd0182ba464f0e3be0c753bc52c4593bca230fbbe363a53a091200bc849f81b948c42bbb81d7f63aafda0cbb3f27853ae7fa0abbc82e0f3b8be1a73ae2e73cbb4bd927bdd962f2bc9686453c0a7f10bdf07ab5bd4b29f7bcedf4363c614456bd8d7fd4bd10d2f2bcefd4183c7d805ebd0999c5bd3abbd1bcb28ce23b659a51bd254fa9bd2882a7bcab47c03b8bd429bddca681bd4eae3dbcfc7fb33b87c500bd71fc2ebdfef898ba0f9cae3b8d9781bca92e9bbca651c13b2d0c503be161cdbaec34d4baae5adb3b35d6313be614d63bd34a8fbd5219e63e9c41573f64f43d3cd4a99ebd8264e53e0a68543f22571b3cb70571bd705bd23e5c4c383f69d90e3c8d5239bdde8cb43ed1ac143f0ae0f13bba4314bd2e7b943e5e63e13e3325e13b08b406bd07385d3e1aa9993e8210c03b03bd04bdb7bb0e3e52cc2b3eae06d63b2340fcbc6c2a853d90eb4b3d4ece813b8121bfbc84d2d13b01da03bd5e12e1bd0c84283c0000000000000000c9e407beafc28e3c0000000000000000227adebdf7ac433c0000000000000000b68db4bde57c093c0000000000000000b4e498bd1382af3b0000000000000000f87783bd45a3b73b000000000000000052216dbdf3e8f13b0000000000000000fd2741bdf8773c3c0000000000000000ef7c0abde3f4063c00000000000000005479aa394ff9c83a9cd2dd3a9b99bd3bf9b212ba2ffa9a3bf3afd03b50f3813cae8f1fba222e853b6ce7ef3b5c05703cb7ec393a86979e3ba0d1113c4883813c376809ba973d993be100de3b33fa433cfb55c6b9679c583b3cf0f13bbf5d453c002236ba7463573ba642933bda6c043cab1a5bba4cef503a07f81d3b658fac3b6dac40b921e984bab8881639811e0f3b6245e63bd77d24bbd2ed7d3b3bc873bc242b4f3ce41abfbbec8b943b28eb93bcec6a503cb8cfcfba7721183b87fc82bc317b483c00a0b8ba1afcc33a5e6886bc51f3093c0373f3b9f9f1773a6cef32bc1b74c63b050a53ba8ed10e3af47a1bbc6a4e633bcb22fcba331f033a1d8c8dbb9a2cfa38bcbe56bb50abff3a8ef16cba0804e5ba44583dbb5781933a88552e3b0e5764bbda8b5cbdf67ed3bc11be343c9c1df6bcc018e3bdb219fdbc315f703c1be31ebd3bc1dcbdedb607bdd5a3f73b958841bdc1eee5bd6b6dfbbccae0133c15af27bdc708b1bdff0fbfbca84bbb3b1a591bbdcd9493bdcc4861bc0bd1ad3b706ad3bc387e3fbd8e379cbbb5ba9b3b969565bc34f5aabc7866f13b86e7993a69d06dba1d72b8394b981e3cf270183b22a59f3baed042bdc1a2833e04bf843f95f3063ce19c4cbd647d813e5970833fff1ede3b5e640bbda75f7e3e88d7573f6824ae3b4294f8bc7c1e643ef68b363f2ff3a33b1623c1bc0ae93c3e152e063f585cc33bc0fcd8bca76c133e6624bb3e5ade9e3b9eeababcf701c43d2560543e0bbedc3b6c49cebc3923373d7a6c683df9c1913b24aba1bcb906213b750532bd5afc05be2a007e3c0000000000000000779a1bbeefd9b03c00000000000000004726cfbdfd323d3c000000000000000018f2c0bdd875153c0000000000000000353d90bd535ba53b0000000000000000decd89bd8835fa3b0000000000000000aa6f62bd5b9ccc3b000000000000000038223ebd5e20643c000000000000000074530abda8a9413c0000000000000000229871ba1fa5f93a3962063b1648293c086429bb0ff28d3bfa0c123cd10cbe3c3f8aa7ba4a04b73bb832203c9571ac3c3b3a95b94c9c9b3bf7cb223c1c01983cbbf612ba663f8f3b2bd5053cfa126a3c16b135b9b2d5593b2012083ca2b6523c288d69badd90f33a5d67b33b82972d3c21c19fba1a59303aa075583b602db43bc0fa04ba5105dab963808fb90b22c63a5d49fc3b0c6fb2bb63de6d3b7b9e16bcb810763cc96f24bc12fc8e3b7a480fbc65508e3cc920afbbb03f803afe4127bca68a693c97c88bba363282b85bea2cbc38c6333cdf4634b8bc09b4b8913f1abc3648053cf9b6dfba38516cbae1e99bbba9e0573ba36bf3ba650e573a3a35d4ba6021c9ba2e1142bb90a0463ad8200c3bb51728bba82f03bb1bf9053a5a99803b4acfe3bb1dcca1bdc671cbbc92b63a3cf211e6bc1d2e12beb0e5c4bc3863873c29371fbd5da616be99890cbd8d42393c8e362bbd584405beeb590dbdfb3a013c666d16bda5f6d2bd16a0ddbcdadc743b6cf30abda9fba9bdc8628bbc4756b83bb9a4c2bc49015ebde11c75bbad431d3baf1d2abc2758adbc812f0a3c530fd2ba3e8bd839bd94fa3ae84b433c3333af39763d163bfde5adbce437933d0ac39e3fb7252b3b14a38ebc1211923da1f0973f9330483b44306dbc9532c33d7c3c823fd11f693b56a040bcf65bce3d8dc5503f0f8e663b136817bc6c24bf3dc0f61a3f55b08f3b574f73bcb3569b3d7ddfd43e70a68a3bec1986bc74ad4c3d4803683e56c0ba3bc39f7cbc9710a23cf4ba563dd972843b5b2a69bcd1e9b2bbc6e883bdd8c909be9b739a3c000000000000000033a515be202fad3c0000000000000000126fd5bd8d5c463c00000000000000004eb79ebd9cfbcc3b0000000000000000b72974bde95c913b00000000000000004a2163bd4e75aa3b000000000000000079bb3fbd56c0ff3b0000000000000000d6dd07bdb0b5673c00000000000000005d6409bd024c2d3c00000000000000000000000000000000000000000000000030d28eba2990653b67a89d3bdca18d3ca5da42ba8992803bafdfe53b20019b3cae39d5b94b79733bf84ebe3bbced413c5f2e81ba824d933b96a59b3bb024243cc82745badc061e3b78b2a33b919d133cc0e13dbaf214093bdda5943bab3c053c5dc055ba4416563a1ddd383bdefaac3b00000000000000000000000000000000000000000000000000000000000000009db1603c925da1bb538bc1394b886dbba2e9333ccdc4e7ba9d6318b9a9d4aebbebbb353c11d1353a79c9bab9885593bbfed1fc3bc532e23a49456434cd9480bb461cce3bc499bc3990ae03b795bbeaba1bf3363b53dab1ba3cdd1fba5a6c9f39c755ed38b88ba3baca29bbb91b10293b0000000000000000000000000000000000000000000000000000000000000000de31c8bc08e507be1d40fbbcfdcfe53b4cddf9bc244803be82720abd5403f53bb517febc79d8debd99c70dbdb663823aa2c9edbc7787b8bd12d7e6bc5b384d3af380d0bce9d692bde80598bcf44bc138fa3997bc71d74cbd2f1ce9bb1f22043b0c2518bcac87cbbcd9d98b3bb4c6b2b9000000000000000000000000000000000000000000000000000000000000803ffba1c7394660dd3b09ed4cbd602f9f3f0652c43a71d9043c86f485bcbfb1833f6866d03a22df933b2806103cc2b9543f8728a63adf7a203a6983803c1571213f7f85fd3ac7184dbade8c973c18bdde3e288ffc3a13cb9ebbc1b12c3cfb657d3e881e213b1b32ddbb46b697baf74c8b3d0000000000000000000000000000000000000000000000000000000000000000d5c09cbd322a2f3c00000000000000002d1c46bd4744a43b00000000000000006adbfebc782a183b00000000000000001b86debc93604b3a00000000000000003d79cfbc0498c7380000000000000000c4dcd3bce84c123b0000000000000000ca18e8bc7ed28a3b0000000000000000000000000000000000000000000000000000000000000000000000000000000067d83d3bc276943b61c44e3cd4e4833c74500a3bc1beab3bbba5733cc1c9813cc0114e3b7997b23b1dde3f3c63955f3c8f2cc53981ff763bbfeb363c049e473c1e63233b0d99663b3ac0203ca1f3113c98dd033bb811783b2cea1f3c683b923ba3a4843a1a92243b8385ea3bd66aee3900000000000000000000000000000000000000000000000000000000000000006dfebcba554323bb687dd8bb15e7d9bcdfad0e3b1cd785bb8a87ddbb682403bd9fc74b3b585f2fbbe6750fbcbfbf0abdef083f3b972e45bbb7757bbbe4310cbd0e73323bf4ad16bb5e47c2bb5091e8bcca93f9ba598fafba45f14cbb0fa9b2bcac4416bb6d94a2b9e8cc2c3a893372bc0000000000000000000000000000000000000000000000000000000000000000e2a0dcbd332c45bd67372a3cf3b345bae539dbbdd60e34bd95f5d73bd7bb593ac36ac6bd2f6f2bbd7cd7693ba293893a8aecaebd0d4c03bd8101843b0770173bd4d88ebd3943acbc51fc813b06b6ab3a46cb51bd5371cfbbb6f7c83b45aff53a04ace5bc555aad3bb060c43be46cc8390000000000000000000000000000000000000000000000000000803f000000004ba3393c49af04bdcf9f973f6b6336bd51e94a3cf12e6b3b694a7c3f2f600fbdde452d3c2deac33c76354d3f89def4bc1ff9103c3c2d103deb391f3fc9980fbd4958ad3bc381083d539ee03ecf9321bdf3000a3a37b0bd3c77e8853e89a238bdea4d22bbf1fef23bd935bc3db68e52bd00000000000000000000000000000000000000000000000000000000000000003e2ce0ba1d910b3b000000000000000081639dbba5073b3a0000000000000000a1bc15bc9994c3b90000000000000000280a35bc403a56ba000000000000000037c418bc62ed1ebb0000000000000000dca7cbbb4a81f8ba0000000000000000f4b2ea3a42fa2abb000000000000000000000000000000000000000000000000d3cc893a2121373bd51fc23bd51dd03bf31a493b8398043c84b7953cdcb17b3c949c523b336d0c3c07629e3c3dce913c30033b3b9a56053c6864923cdb2e8e3cafb8683b494dd93bb8fb6f3c49e15f3c43f5fb3a488b083cac48733c1eb30d3c54d5d73a3880d93b3497313c9ec3ad3b2ffd503a35da823b1f7dc73bcbc7e9ba5efe113a7f7ce039e5f24e3a34dcde381e541b36a954caba5e2edfba2d658abc51ba29bbf02b9abbd89a76bbe84a05bd4914603a014ba3bbe027f7bbf90915bd3b0b273bb3d5afbbbc0c06bc7c3b16bd35884f3b13e362bb90cd03bce8a409bdce8c26baeacc46bba962c4bbe99df8bc6e2ebeba3d7cefba23c522bb9ed9bfbc5e3733bb41570e3a51e1813ad2e422bc302384bb44009f3af77de73a979cfe39462e44bd77f02cbd1d73173be02d063bc3b4d4bd4e5b54bd74d4283c2f82183bec98efbd731474bdabacce3b9ee13e3b5999e3bde3d962bdfc6fae3be5d9613b5686bebdc19836bdcd24633b32b83b3b65f0a2bd9e6ae8bc78a0013c3540303b7f1167bddc905bbcdf4e043c935e6d3aae74d5bc7a73993be7948d3b70f8f7b91f1488bbc8fc213cd9ea013c85d535bb58022a3ca563cabd51da963fbe2fc53d70aa933cfaaab7bd56ab903f787d943da6755c3cc02e1ebde12e793fefaa873dbec82a3caeeee7bbd6424b3f9efd493df5b9c73bcef7433c74f81a3f7625ee3c44715a3b6d87713c9208de3ee30c823ad4aeda38040d023c0420853e2749adbcc7c443bbe11ed2bbd9aac23d27661bbdb16bc4bb16a643bc278207bd794a49bdcdf49dbca357883b0000000000000000c796b4bc8c5eab3b0000000000000000c639babc76936f3b00000000000000000714c0bcb08c103b00000000000000003e76bdbc5a2b343a0000000000000000acb6b0bc623eb43a000000000000000079c260bcf4f9b63a000000000000000079f4f3bab578be3a00000000000000004009463a4567083b0000000000000000921ff63af8d6103b7c80283b0206a63bef2f123b3120823bc6c5433c3c1a623cc78fcd3a67eb963b586e2c3c2a66613c767cd03af7b3d43b61ef6d3cbc67873c22c5843a3c5cb03b19ae203c66124f3cf9c8f03ac9c4923b6a0d583ce2582f3c2e99453ab2d8653ba3f8053c4effe03b93bdde3a8092f63ae4fd943bc9be2f3b4b32443aa5f2c7394a48f93a8e4ef5bafedc3c3bda9cd7ba2a9d22bb2deb84bcd569653b5d10a4bba4c025bb1e94eebc44e3ba3b7c293bbbaa1c99bb6f7dd6bc0131ad3b5385a1bbe5b5dfbbfe4e00bd7937a63b56ab78bb2da7aabb39afd0bc39414d3bcf6586bb6466a7bb8df6cebc8dde243adbe10ebbe54a42bb73177cbc5e72d9ba5af143ba1f8f67ba95961abcac2314bbaa1894b95828f139caec0b3a5d54a7bc86b321bd93accebbf7d7693b64858fbdc3f488bda5ef56bb3efcea3b241a9bbd11a688bdedfecdbb2666883b893ebdbddcec89bdbb098bba3459b23bae7299bd106857bd8abc33ba218fa43b35278fbdd0fb26bd16278b3bc9639d3b6fb740bddd1dc4bcf0298c3b5f878a3b7ccedabca89fddbae6890c3cd89a16bb0a1885bba026c43bf25fb63b3301b93afe7b353cb5c0d5bd435c7e3f4fba893eff66923c1d03d2bd432f7c3f08a1773e9fb9393c601839bdcb3b513f97e5573e82fe2e3c14a2f4bcca52373f8287253e19eee03bb8badbbbaa580b3fdac9ea3d5eb19c3b145683bbd4bdcf3e1faf813d96aac63ae187babaae72803e7842c53cc1ad4fbabba53fbcd9c8e03d1c4fc7bcdc5080bbabf76abc61afd8bbd93e36bdfae329bd3a34a23b000000000000000033e252bd8ec8f03b0000000000000000a2d72dbdbdf7533b0000000000000000dcbb36bd5a37673b0000000000000000a7341ebde0da0bb900000000000000002fb813bd43ada53a000000000000000070cbf6bc6a0a113a000000000000000097e7afbcbbceff3b0000000000000000cc5606bcf945883b0000000000000000ff324db82f95bab9dac4e83b4890ea392cb25d3a948d7b3b6503003c22255a3ca3940f3a06dcc03b151e323c3cfe863caf7fb13aba1d933b6241263ca9808b3c1e9882b7c0ab9c3bb2a8373c8bff573ce766ab3af025943b42a81e3c4426423c2e1af73930f7963b7cf30b3c51ee023c6f8bb63a45ee303b515b783bc4808a3b0bf8c239f9a04539a00bd73a45377c3a1d92e63a93947dba21fb74b9fd367dbc0ae6f83b026d9cbb38d0aeba9843dcbc917fd83b5ec197bbd48882bbbec6e2bcff4b073c735994bb461ea1bba991d9bc46e1f33b93814fbbb8cfb6bb6b71c0bcc263593be39877bb673f91bb84e3aebc377ff33adf5a7abbdd396ebb789080bc3a4e9bbab0902cbb4dd412bbac7ae9bb91b2a1ba41f5f2bac2232bbae1e88abada22d9bb9b873bbd6ef557bc37e2e73baef93fbd9d9999bd856065bc1f011e3c4ed390bd1433a7bd5c4b4dbc85881b3c6d9896bd40ae9dbd294e18bcffe2fc3beb198bbdb50088bd8fa1d7bb0296e33b116575bd038d47bd37096d38a2c9e83ba4c13bbd9b08febceb2ea73b9c25b93b6ccccabc2fa837bc6286ea3b82ef723bf18bb6bbd1f5a93ac2910d3cf391213b1b15e03babaab7bdcd2c503f6089e53e28e3713cfc35bfbd4cc14f3fc252d73e2afe4f3cdae576bdcb71393fb30fb73edbac203c68580cbdf1ac1b3f78c1913e2dc7de3b219870bc51e4f73e7358553e372ba13bc55a2dbc096fb73efe00083eb9620a3be8b43abc7d9a6e3ec464783db42fc0391e7685bc864be73de85565bbecdd24bbb69757bc912f023c064932bdec1f7abd24e0033c000000000000000014a99cbd4d18f93b0000000000000000bda38ebdcc08e63b0000000000000000c0ba84bd98688b3b000000000000000081786abd8817b93a000000000000000086ca56bd8de1493b0000000000000000d0af3bbd6ef48e3b000000000000000013400bbd22f5023c0000000000000000f476a6bc217c903b0000000000000000d0d9693802d58b3a24a135b95182253bc28fcb3a57e0373b95d3893bbea8213c56d298b9e8524d3b5c7bfd3bb4295e3ca8884cba49b09c3b7cc2183c0b41753c252e4bbabb41da3a7699803b430f0e3cdab1253aed71983b76100b3c7d0c423c5671213a64b1623bbe62b83ba652073ce91727ba6c43183b7175823b25d2a93b2e43533a8ce9033b9708343a01810d3b1118dc3b84af61ba46d007b674f482bcab602e3cd1ad80bb944697ba3e83d9bc23d4243ca07047bb7a74efba352db6bcbd512b3ce3f463bb3ba848bb46b8b9bc6d58eb3b1d4945ba625e21bb9f6c6bbca46bd03b5cba5dbbbd528fbb0c3498bcb68c003bafa23fbbef2d5bbbb3ff45bc2b6be1b9a8d563bbaa6e543a7aaa0bbc7c61c1ba3eddf2ba7c9b10bbe4e594baea0f8d3b62b033bdb3d1cdbc1d93013c03c6e0bcee4e9fbd922dd3bcdd073a3c17144bbda01daebd33c7afbc58c3073c4cef7cbd7b4fb0bdfbe18bbc8a40193c871935bdf34678bdf27959bc182c9f3bde7657bdfaa170bda8e69fbbf374113ca7471abd062a13bde26b323b02e4c63b0bdab3bcacdd88bc9b460f3ced3a903b3acfd1bbe2410bbb3b8a153cf550453b63ffaa3b632d98bd391a223f1fed203f6f0f3b3c7d619abdf8f7203f0209183fa890173c13e03cbdf8f90f3f102c013f36e2053c25bbfcbc8c25fd3e00a5d23e66feb43bcc300abc40fbbe3e8643983ec2ad8f3b7f2557bc7cd59c3eb725533e56a4323b615e39bcaf434c3ec8a7dc3d6b1b4a3bd66a9fbcb562d63d0170ab3c0dffe1ba05997abc8ed18f3c514829bd083199bdaec6c83b0000000000000000a139bbbde155143c0000000000000000a8a0a1bd9b5ba83b000000000000000040529dbdcd3c273b000000000000000028fd61bdfb790bbb00000000000000004a4788bd10d9d53a0000000000000000fbee5fbd44b16e3b0000000000000000d89e3abdfc0c0c3c00000000000000003dccfbbca924083c000000000000000085e346b90fa6b43ae36def3992aa1c3bd62928393e4ad33a331bac3bccd54e3c9fb79eb9f67c8a3b29b8f23b04bc823c103dc1b9942a973b2c06073ce31a7e3c400aa6baa5f8873bc77af93b318b623cdb145439a3ce893b91f3f73b5bda6a3caba81cb919f98c3b5cf3cc3b24582a3cb570563a22873f3bd8a55a3baee4d23b093faeb9f343be3addff0ab95704433b12b1bf3ba441b7ba9df6943a5b3985bc88f2433c2027b9bbed9ec33af048c8bc621a603c545aa7bbe88e26ba68cdb7bcd2f8363c8cf594bbcc95f1ba1795a8bc6de4283c15112dbb944418bbfa9c92bc66a1b23b2a7590bba3d048bba56e7ebce689203b29f48dbba7a237bb5d183fbc1e68bfba232a65bb0be823bbc5f4b7bb30d0d5ba01150dbbd3e933ba26b3a7b96e69fb3b68e739bd841df1bc60972e3ca9e8c6bc41a5b3bd01be01bdc06d773ce5823abd9c47cfbd263bf9bc5b6b5f3c38ea4ebdd5c3c1bd072fbfbcd79b393c15754dbd5c47a6bd69a290bcf6e9253c562e3dbd3bc387bd7050debb1086133c380215bd15e737bd3ca8103b1613093ce759adbc6153aabcc3ed273c3c61913b1de0aabb817374bb0180253c57c45a3bcbc3a23bd9c773bd0565e73e57494f3f2252173ce39278bddd51e93edf81483f3921093c0f6828bdcd03da3ee6152c3f7445de3b3eaddbbcb60fbf3e55360a3fd27ec03b5aee7fbc907aa03e936dce3ed2f9af3bf06d78bcb858793e6e938d3ed5c3883b3e7a90bc2fd52b3e9bec1c3e603b893bac27b2bcee68b73d32b8243d8c3fabb934808bbca43ca83c46b11dbdd090b8bd65fc043c0000000000000000c80eeebd995e553c000000000000000001ddcbbd6c68013c0000000000000000e6d1b4bd3847933b0000000000000000ed4da4bd608ca73a0000000000000000321597bda683863b0000000000000000135a8dbd7637ef3b0000000000000000ea4f64bd04983d3c0000000000000000a2da18bd52071d3c0000000000000000bc06b5b91ab5bc3af39a843aabcc9d3b4310ffba9472e73bced0603bfb0f733c43b179ba8256233bb2e9be3b98615b3c678e89ba590e773b1d53113c2458923c83a187baef32443b390ed03b38295d3ca63c89bad60e9d3b5b81f83b54bc723cc09566bad1dc1f3b9d89ac3b59dc263c84ac5c397d4e2e3baf75773b06ffce3b07f5263afb74b739714962badcf0823b6484053cd33c86bbc7b7213b50828abc2dac5e3cf4ba02bc07c72b3b3dc5babc01834b3c31cd65bb9985a13ab6fc85bc1d08553ce3c091bb43f7dcbaa1cd90bcff30253c0a5579bb2a8278ba54095ebccf1be13be9a58abb0647e3ba16cd42bcb6bf683b624f52bb46a7b9ba1427c3bb5b7fe6ba8b2a5cbb737275ba329cb1bba90f2fbb6dd617bb57afb0ba706af03a6013a43b485c52bdcb93fdbcf6dc5c3c8f4db5bcae55cebd5edf11bda6b6943c033904bd28d7c7bd861a0abd79e4313cd5ec3dbd8da2dbbd2342f2bc3563533c3e9f26bd8cacacbda11fadbcb30c163ce4242ebdbe7498bd4b2d1cbc6e331d3c4c92f5bc2b9942bd9c2820bb883fd53be4269cbc2aeebebcfa0a313ca397533b547b2fbbc41f98ba8772263c0891a73a15ae903bac8c2fbd07f48b3e96577d3f555bdc3bddc826bdae438f3ee271763fa54db33bb688b5bc80e78a3ebccc483ff56f9c3bb93883bc9342823eeb752a3ff30a953b475c1abc45af5b3eb1d1fb3e3269943bee5272bc541e373ef191b03ed118563bca904abc985ef73d50814c3e2186af3b83c8bcbcc2478b3d18f66e3d2101293bc737a8bcecb26f3ca6c134bd4965d5bda861423c00000000000000008e5e02beceef773c0000000000000000737db4bd9e0ca13b0000000000000000f03dbfbd2c02733b0000000000000000dd1e9bbdd898863a0000000000000000772aa3bd78b5923b000000000000000060cf83bdfed9613b0000000000000000678972bdf4a95e3c00000000000000002e5120bda316763c0000000000000000a6a81eba8df71e3bf2db933a961eda3be8822fbaf0eb883bfdf2ef3bcf53a83c34851bba8709663be808243c0ffead3c139a32ba0272793b3fd40f3cfcc89a3c60156bba98bc503b6a26fa3bdd377c3c8a9680ba3ab58c3b3ae9113c70b36f3cc0caf3b9f8075f3b581fdd3b8c2a4e3c3f469db9ced1163b58bb813bf93eca3beccefbb9c722b53a5556133a7792113bee07083ce39da4bbec09493b525076bcaf7e763c284e3fbc08bb733b9a4da5bc9a87823cc8a302bc00fa343a99fd91bc6c7d7f3c4339a7bb0f833d38da3c7bbc955c523c98255cbb46d6fab9053740bcb060fb3b380ca0bb2eacb9baf7042ebca02e1d3b300a8abbfb0690bab18cdbbb06422dbb071946bb1df9ffb73767bbbaad8543bb91b3c0ba4ed458bad3acda3a611dbbb92dd086bd8f8a0abd74c14f3cebc1d8bc75f3f5bdd35e06bd0a90a03cc3ce1dbd53fb02be5ab71ebd0695843c411d28bd86abf2bde95e0dbd6d733a3cc68025bd0f34c7bd0659d7bc3d1f283ca3ec1bbd9a8ea4bd3ea95dbc978c183c83b2fcbc8a0f64bd73ee76ba86ad033cb1d98abc1569bcbce2f7443c7e8c413a7f9d4ebbc6aa1fbba0345c3c8e78633ad41c2a3bd856b2bcb5bccf3d32b2963f3412933b9f687ebc6cdce23d8c308f3f8bd5623ba4bb0abc5182083efa6e743f754c773b3df097bb8e8d0d3ed55c443f3ddb2e3b332686bab3f4033eefca133f80d6573b15ba03bc1257e03d83d3cd3e93d2803b966a61bcfb1ca23deef16a3e5d1d8c3b7645a7bc5dc51c3dcc028a3d68c18f3b1f8d99bc27a00b3c7bb556bd8741d0bd1d715f3c000000000000000073e6f6bdb071823c000000000000000015e8c0bd20cbc73b0000000000000000ff18a0bd1764c13a0000000000000000c7268ebdca002abb0000000000000000dca58dbd902ca03a000000000000000042cc86bd1671a13b000000000000000068fd5abdf6af613c00000000000000006f0d34bdf8bf433c0000000000000000000000000000000000000000000000006f96adbad433333b7276753bb2da633c808329ba6678043b4e76ae3bc49f773c7992c2ba065cd53a418a883bdf8a443cb2314eb9b9fdce3a379d8c3bf6bd443cf1994ebaf7ad033b77cc7e3b9d26393ce2f71dba8c22343b46caa63b7153133c39bdb6b9ae29283b5e9c203ba840f73b00000000000000000000000000000000000000000000000000000000000000000fee583cbd17a5bbfdd80a3bd3a625bcbbb6593cb83230bb4ed5073b1e4d22bcda73563c5e3b98ba38c89d3a5655fdbb3b1cf93bd93f27bad18029bbfc6399bb08f6cb3b560bd9398a52413ac3b88dbb0d3d5f3bd421fcba71de6fbadbf458bb0ee237ba5f79e3ba291cefb94240adba0000000000000000000000000000000000000000000000000000000000000000c9c8b0bc45a5dbbd75481fbd5cca173c2ecff7bc5520debd0ca111bdafc3db3beb37f0bc25c4c6bd41900dbdc933973b4df9f9bcdd9bacbd31fce6bcc9b7d23bed06f4bca5ea8bbdb6ee90bcad0c363bb87dc2bc6d534bbd0b27bcbb905f653b136268bca01adfbcf679913b3fa4543b000000000000000000000000000000000000000000000000000000000000803f4470013b9610d13b58b484bceaee963f72e5663af992273cb4e89f3ce1a57b3faa6b333b7e3b1a3c28fa173dd9394c3f59050e3bcd47a33b2373443dc6ea1c3f59894e3b1fbc4e3ba4a93a3d85a2de3e68e2173b4f613cbb4d91063d1271843e1bd6743b096b29bc49da8e3c8ffab03d000000000000000000000000000000000000000000000000000000000000000042b878bd4db2c23b0000000000000000f4a439bd8e709f3900000000000000006ca31dbd39efb0bb0000000000000000724b1fbddfc1f0bb0000000000000000fdaf2dbd273fa6bb0000000000000000747d2fbd7adf0ebb00000000000000004c593fbd996e463b00000000000000000000000000000000000000000000000000000000000000000000000000000000f0fd88bb4fbb03bc35d3383aa0a7083c78e79ebb1d4edfbb1f8e8e3acfbe2a3cde2adbbb987f1dbc326a5b3bfa1b263cd804e5bb8294e6bbfd062e3baeb5313c630fdebb8dcc8abb0877833bc1df1a3c555e8cbb1b63e6ba5982cb3b823cfe3b86b232bb610983395026d53bd466b93b000000000000000000000000000000000000000000000000000000000000000071cde03b2c0518bb200a853b811b05bc94ff113c43a30dbb888dbe3b7ea63cbcefc5eb3bb191d3bad712eb3bc89b5abc99dfbc3b9de11dbba6e6d93b75e162bc6df6a53b23f2d9bac71ae13bb39884bc6e6b363aaf1e0abb8709bc3a340183bcdccbe3b977d6fbbacbb4903953207ebc0000000000000000000000000000000000000000000000000000000000000000c60432bdb4cf14bd6554a3bbf563393bdcc847bd78f80abdfdc68fbb930e1a3bae9242bd9887febc19e462bb85e7223bfbcf2dbd4462d4bcf1c8d0baf9db7a3b58f320bd1f89b7bcea5af43842bb723bcbe200bd6b8461bc9a72633b980a773b6284b9bc8c0dd9bb6237cb3b1382273b0000000000000000000000000000000000000000000000000000803f00000000e99394b7b5ae103cb205813f205761bb2108ae3bb269ca3c9a8f5b3f1fc6b4bba522e53b17680b3d99e6353ffd8418bc6f05223c269b173db5a30f3f03147cbcd2a12a3cbca0153da256d43eb661adbc2d63083ce094f83cf5d3883e923edebc8fa8c83bd91eae3ccf87fa3d40930cbd000000000000000000000000000000000000000000000000000000000000000039e33abc75c04ebb00000000000000002df368bca98ce3bb0000000000000000b6cf91bc056ff2bb000000000000000007fba3bc600013bc0000000000000000611a9dbc699b02bc0000000000000000479389bc3b277ebb0000000000000000a9ec5bbc64319fba000000000000000000000000000000000000000000000000184d8b3afebcd1bb194c4abb4906373b938364bb5e3bcbbb9904433bc9472e3c314dc7bb28ef0abce0a1823b9b14523cb34aedbba61707bc8460993b54f55b3cd07804bc124212bcd521a03b13f9463c2329ddbbd7b595bbbb2ebb3be646523c149fa0bbe1f924bb4567fe3b6449253c51d6f6bac730913adfddf63bf923b83b6e8f9cb96e37b13a6b319d3b44dd163bd07eb63b7e9eb2b9eb7a81ba934483ba6ada063ca3a384bb67cf4a3aac6303bcf0ce123ceb9d79bb5dcea73b424842bc3d090d3cae3c77bbe0dee33bd62765bc0f4df23b912745bb6e3df13b9a014ebc7b54c63b242089bbcfda8e3beed88fbcaaa9493bea2788bbf06f413b309589bc08c5c9bab10527bbc39125baccdf70bcfec2f5ba27f5abba826554bbb67f0abc29e882bc0e2cffbc369911bcc99ddc3a918c2bbdbf2e35bde8bee8bbd9cc953baa5c58bd3b3f39bdda13dcbb23e48e3bf1cb5ebd40f82bbd5812afbba329a23b70de4bbd1e950bbd71b722bb31ddb63b02a538bd8924f0bc4607e139e631953b165918bdd3a2a4bc8bb16a3b61bdaa3b2f8bbcbc341e0abcad5ce03ba0405b3b0f841abcdb2cccba1427d83bc15b1b3bb104f7bb274ab7bc41c6803fb7110a3ecdbf01bb370526bc3bbe6d3f7d89eb3d07d2053b93d35f3c464e4d3fc4abc23d09576f3b8cc4ea3c51552a3f4149953d5860cb3b063d103d837b053f38d4513d3901bd3bc931113d59d6c73e8903c73caf18d13b472afa3c2e8f813e6e3dfab9df96b63a92669b3c02bff13d3640b5bc2694d13a8712123c0f49d1bba40d05bd265171bccf6f39bb0000000000000000e498adbc798869bb0000000000000000ca3ec8bcc489d4bb0000000000000000e412e0bceb9a08bc00000000000000006ce8e8bc58f527bc00000000000000008555ebbc19adeebb0000000000000000f806cebc7d0b90bb0000000000000000570f93bccc049e39000000000000000047eb3bbc2a94cf3a000000000000000019c6d8b994db92bbdccc56bb1f6fee3ad3de26bb8d4707bcad31c9ba0c3c043c749aa5bb05b30fbc07a0eaba153ee03b8028e3bb7b7d1fbc0b45eb3a0181483cc7aad1bb1692d7bb487f70bb321e2a3c2d3fe9bb6650e9bbd7de9b3bc0ee533ce4df98bb8ef969bb9ba9323bf044ef3b69433dbb9edba2b9113dc03b14f3e03bac648eba9dce613a1e6ba33bea15823bdb9cb03be89fa2b9ef3aa6b96ed7fc3a3e38253cbfa415bb2d65373b35a635bbc56c073cefa928b99d0dd93b8eaa5fbbd8df2b3cff4146bb8695fd3bfd5dfebb34b0143c37f8d2ba974d263c1203f2bb1213dd3bafbe71bbad8fd63b875c38bcc5ff7f3baa37cabad52caf3b9d8c1ebc3857973ad5f26fbb0362543a422b5cbc7baadaba696decbab4ecafba938bccbb99aeb5bb38d6e6bc961741bccbbd063b0aa5e2bcb6f33cbded2a6ebc42669f3b489e08bd6eb72bbdf9a65abcf9651c3b90a03bbd6c3f40bdd66a2dbc7edaaa3b400b1dbd54d908bd6ee024bcd59cac3b499f29bdc5560bbd77bd3abb9616ce3bfd48e3bcd51ac3bc1b2be8ba6c8a8d3b532fafbc6b3165bcb72ea03b2041c23bf7280cbc24c09bbb1b95c43ba842413b4310e8bb01f3ebbc44cd5b3f2b8f8c3ea02672bb36a691bc2cca4e3f48cf7e3e6e80d8bad8c67a3b365c2e3f44f0563e563d1cba88ed993c9130173f0f602b3ef128f53aa1abc23cafc1ec3e54c8fe3d9d46503b5cb9f23c2401b53e09e5a33db9e7753b391fb83cf6c9693e2d66383d36bce23ae429963c8195ef3d383946bb58daf6b9f71bff3bc9d6b73bb296dfbc1587a5bc178e8ebb000000000000000050f3fbbc2a19ecbb0000000000000000dd9be5bcc8ee01bc0000000000000000d10f0dbd7e6832bc0000000000000000bd95efbc935087bc00000000000000005ccf10bd50a51dbc00000000000000007c1be1bce995bebb0000000000000000591fddbcafbcceba000000000000000083d389bcc910fc3a00000000000000006a756cba16409fbbc721acbb78d1ed3a20c941bbecf316bc8c9698bb6111ba3bf1ada3bbb2552cbc3f6437bbbb77143c32bad7bb5f5840bc6afec3ba14d33b3c27c11abc88a707bc08f0153ba881fa3b5a0bf0bb2f8510bccd68423b2309643c0302b8bb04bcacbb1ede853b08ff2b3c60558dbb9940fbba2c23a63b9328073c7afae4badd4a84ba043a523b04d1a23b67fdc439430e1f3bbc80523a3a8aa63bbe8a393c30f75dba82e08c3ba7dd583b598e3b3c49bf90ba7397ed3bb5f801baa470303c7445acba54a01a3ce30b2bbabc4c233c2ed2e1ba220feb3b3996b33adbe8003c40b064bb4882163cea58e8bbb02fbe3ba48d4ebb1524b13b682ff9bb7b38b83ae9f450bb8836d83aa7cd07bce6bf3d391917ebba1d23e137bccea1bb3af82a3b4321d8bc4bad84bcbbb46a3bfccd81bc79ca39bd9b27acbccad4a23b1fc0ffbc9fc64dbd200e98bc4a42953b97aa1bbd5c5d4bbd89107fbc21b7c03b064a09bd247d49bd229787bcac831f3cf79e17bd9ce81bbd240fc3bbf07ac63b5ebdfebc5784e8bc675e09bbf59ad23b8ae7adbc309084bc58e2423bccefb63bb94625bc8ca7c5bb855c903b1be5673becb602bcbac7e0bc4751363f468cd63efd9dffbb89d4a8bcfa7f2c3f26bdc43eea5c73bbd8d40dbb0289183fb757a73eb70202bb55654f3c4b30013fa5e5873ef8fc653a706bb73c5c90ce3e83bd523efbf5733ab3d8d13c9a039f3e0caf0d3e0b990e3b1255c23cf9bc563e7a689f3de9cf8f3a808a8a3c408ee03db832a33c3a1a953a99b8193c897e503cd778bfbcbd22d0bceb17e5bb0000000000000000781e1abda4f429bc000000000000000098e81abd97ae43bc0000000000000000dde424bd5c446ebc000000000000000037b512bd638038bc0000000000000000fbc126bda0df4dbc000000000000000036421bbd91bd07bc0000000000000000153603bdae0f28bb0000000000000000dd05acbcbf28b3b70000000000000000bac395b9c7748fbbc001e3bbcfa3d8baec326dbbccd908bc477cdebb3955883b6ca98abb510629bce804d2bbb455c83b44dad0bb592f55bcca1b4abb4493163c9253b6bb2fca22bcfaab98bb725b8f3be0d6e3bbd7030ebcb390e3b96b05493c2b78cbbbed78b7bb432d213bc921ff3b24d381bba8e039bbde5f7c3b7d66ff3bda351fbb7f5c88ba11126b3b6f4faf3bf89dd63bb964933a6ad1813ace0bcf3bf34b2a3cd03f843a9b56bb3b7bacaf3b1f752e3ce83f093ad423083cefe6b33bec74413c6eac27b8dfec2c3c1d5d7c3b1fddfe3bc729e73a8140313c2e50603b9bc9163cc174d6ba7d9e133ca263cfbaef48e43b49bc1bbba86ad93b6f094dbb07f05c3bd7aa3fbbb130193bb26599bb88586f3ac5cd20bb129b553ad46e8ebbb856d23bf3b4c9bccb57afbc7c45103bcb8d0bbc64d530bd38d7d2bccbd5613bc31ca4bc5d8841bd3d99b8bc98d44d3b940efbbc69d44cbd9dd2a8bc9f088d3b2dfac1bc87c718bdaa7d69bcede4913a368803bd8c0e28bd36ae32bc2eb0c43b4b83cebcd1b6e1bc5960c8bbd079ac3bdcfaa0bc395196bce560f439f035ce3b4d6a20bcf708e3bbf0d8483bd54d9c3b78800ebcadcbcdbcb261113f0967103f227aefbbc7dd92bc406d093f5162043fdd54c8bb60737bbabb74f23e2fa2e03efb107abb5cab313c1133d43e73b3b93eff0218b9baab903c8c68a43e14ed8c3e462836baaefbb03cb248863e59ea4b3ef9c6a53ab7e8a53c8309353ebe8af43d3a36b23af8c2813c8617c63d5421323d4bb7bc3a18561d3c9886893cf81ca6bc7bbee4bc6d06fdbb0000000000000000901e1fbd056e3abc0000000000000000db9217bdfb1164bc000000000000000083362ebd047573bc00000000000000006a2407bdbd9971bc00000000000000008fb832bd66ba6ebc00000000000000003ce61cbd9ca324bc000000000000000065e115bd9234a0bb00000000000000000a58cbbc7c3b8bba00000000000000009c1da139a72566bb503fd8bb5fdfa3baf0a312bb48c707bcdeacf1bb4bfd993b227898bbf3a62ebc7291e4bb219bf73bea7ad6bba44c39bc42feafbbf509193c3c83c3bb2af121bc5646c5bb48fde13ba1b8cbbb3e730bbc6ae497bac61e353ca6e8a2bb79c7c4bbfec1ad39fb1c373ce1788fbb270c30bb46a36f3b16a31b3c5e9d17bb46614dba19a05c3b7fbaa73b6b70c63b058b373b7745a33ae483c53b8d3b353cd756873a9aca9b3b7815c43b3eae4f3c68c0633a624b053c8218de3b425d4b3c387d063ae5443a3c2824d93b8582853c11daa4bae30c1f3c8c328b3b9f271c3c6c3de4babab8213cc508b73a422ced3be4eb46bbd3ced73bac1c20bae081603babf282bb4d49733bb1ef46bb4063ae3a9b8912bb0295773a0a1a51bbd391073c960dbdbcdbdcc7bc3ec214baac0bb0bbf83b3bbd5aa7fcbced4d923b2cfe91bc77825cbd2380ecbcada07e3bbf00d3bc721b5fbd950bccbc57dc943b7598d8bcc9e344bdb1cca0bc824b263b69d6ecbc9c6a31bd5fcb5ebc0519ca3be467e2bcd29606bd2bcafbbb0527003c9ed5a2bc938ea2bc40b4a4badd18013c1d5320bc536ff8bbf0bd053b2327a73b06ab02bc80edb4bcd0f8d83e40ce353f12f6e3bb491c90bccff8d03eec5b283f3d15d5bbd61b08bb7680bd3e693a103f916cb3bb5c1f183c4ac6a53e6358ed3e76e0edbbe48d543c4fff883e7667b73efdce0cbacba09b3ceea9583e8b2c843e41454fbad4be933cdcb6193ef211233ec6fb0839e5d4683cbae8ac3d0516813d85e0d33ae6ac083cd17e953cdb608fbc15aefcbc52d201bc0000000000000000b35536bd2d3740bc00000000000000000f6030bdb86079bc0000000000000000b00338bddd088cbc00000000000000006ffc2ebd794c84bc0000000000000000c0d53dbd86d974bc00000000000000005d6c3abde39831bc00000000000000009c432abdaae99abb0000000000000000da76e5bc9f099cba00000000000000003f9ce9b7cab527bb8cbab4bb35589439011f43bbb546fdbb96bbfcbb1121c93b0d144ebbbd81f3bb4757e1bb6622473b46ad9cbbad2832bcf06ee1bb6979163c9dcda0bba26c21bc8facbdbb802bec3b8900b8bb3fc418bc7242ccba40de3f3c88b18fbb7751c3bb3aa937bac189023c534f92bba1195ebbf539903b914c253c109b07bb3657aa38a753583b038cb43b169bc03b1c969d3a7b1bc7397ab2833bfc56443c6a750d3a0a0fcf3b3000d53ba059193c6f711e3b0a55fb3b241f0a3cf3775b3c7803203a5ed7243cefd8023cb8e4223c98e9773a3b2f383c5d19bb3b9a3a2e3cb3b5f5ba5b4e0b3cc587943bc5dfc93b62c78fbaa1dc093c16ae9f3a5c684f3b9ec676bbfad57b3be8bbb8baae4243397a502cbbb293113a64d623bb2f29fc3b400ecfbcf381d1bcc56f1d3b5fb5a5bbeb5d48bdd2f511bdcff2b03bccee51bca09b3ebda77eebbcbf84ce3a71e9adbccb7e6bbd3f27efbcf2a0863badb09fbce79f40bd8a18b3bc74de603b6214ccbccff23ebd1c6888bc324ed33be552a8bc3c1a00bde7602cbc17d6ab3b58c9a0bc617fb1bcac8329bb914fff3bf5271bbc925ae7bb39e81c3bac73bf3b671cb3bb6ca995bcd5cf8e3ef7335b3f4813e3bb7fa345bc7e028d3e32f84b3fb82887bbcbdbdaba88b17d3ebbab293f9936c6bbe614073cc9d46c3ec76c0f3feb11cbba33b4653ce38a423e76c8db3e1e6b05bbbe3f8c3cf396233e6eb1a13e027064bacc52793ce827e03dc44d4b3eaa9466ba0f933d3cb66d883d8511a93d87b1273a6a35bc3b3ec58b3c9b7c88bc464001bd1254e0bb0000000000000000c01b37bde6d84ebc00000000000000007a7d0bbdd0ea70bc0000000000000000a0ba2bbd61f692bc000000000000000001481dbda53f8bbc0000000000000000a84a3fbdc8f788bc000000000000000040eb20bde23e36bc0000000000000000543236bd7395a5bb0000000000000000dae4fabc439315390000000000000000aa7052b803562fbbea39c0bb8535a538c6b7e9bae4b9cbbbd7bdecbb330ffa3bc44048bbd3d214bc8ef602bc4df3f23ba3f2a5bb1eb828bcb025e1bbccbf153cbf2b8dbb6c3223bc4dbde4bb724e013c0764acbb62ea0bbcc27a34bbc34e363c1db782bbeddcaabb557a5a3a55b0363c8ed703bb8674d5ba02d4743b3bbe0e3c9d798bba70d9393a82b48a3bed09ba3bca44e93b69a3b73a902aa93a4c25a63bb77b433c21c5f3394b088b3bf0d2a13b400b7c3c4469fbb90a32fd3bf2eef53b1d606b3ce457fb39fe4c2c3cfe4b063c2835453ccdd0c13936723b3ca0ad143ce98d443c979fb7ba43721b3c2ec8c43bb354053ce77c46bbd010003c51ae733bc336653b228385bb6e79123b11581ebb44fc393ac9ef33bbb4f1783ad0dbffbab0deb43b0895e0bcbbacf8bc49ed53390a94c3bbd60357bdbecb13bd7c068a3b18b85dbc973878bd4f6c12bd6400553b03139dbc5f5d7ebdb4c301bd92fa733bdf50a3bc11aa56bd86b5d1bc614d483b1760c1bc0de549bd46b89fbc371f953b410cc2bc2d0b21bd538a3dbc1e7bf63b18ff8abc0e7cb2bc46a36abb8472053c5b2c31bcd1fe11bc1bdec83aa57ed63b5bc4a1bb42264fbc7e660e3e659e803fe09a93bb0249e4bb9b7c123efbc86b3f58eac3bb2dbc503b64c4143eadb4493f46dd9abb5efc263c4c510e3e107c263fe65cd0bb6d92723ccd59f83db302013f0f9d4ebb8c5c753c4855d63d5397bd3e14d816bbe42e4f3c2ff2a23d7109703e03c62cbacbeb053ccc603d3d9e29d03d1519bc3a1024a83b5ea7813c02d393bc565fd9bcf4a8e8bb000000000000000013500fbd04053ebc0000000000000000df8902bdb16e85bc00000000000000002ca609bd9a4299bc0000000000000000139608bde6089abc0000000000000000230426bdfe3790bc0000000000000000234435bd5bf76dbc000000000000000006cb2dbdcdb3bfbb00000000000000003afb0cbd0f0ac4ba000000000000000000000000000000000000000000000000f9b25aba4267bfbb6ad60cbc71e3e13ace3601bb2919ffbbcdc909bcbf47423ba9c381bbdee5e7bb783b12bc14e6543b087f34bb53330fbc0e4b23bc3af7723be45a10bb186df0bb2bc9aebb2753a33b978c52bb3dfcc3bb698c4dbb078afe3bf0f716bb63302cbbfee8af3a91c0b73b0000000000000000000000000000000000000000000000000000000000000000ae060b3c708a203bb2f2a63bbe90f33b7f680e3cb8686d3be24adc3b493a163c224e1d3c3d3b213b369f1c3c70d6323ca171243cd949043b72e22e3c9df52a3c0195083cd220003b4a3dfa3b7b10023c97e4ed3ba65756ba3114e73be24bb73b7c708e3b664995ba271f9c3b76fae13a0000000000000000000000000000000000000000000000000000000000000000201b4fbbbc0c3ebd247305bdb0b9d1b99c8916bc644c48bd8677f7bc843890b938c556bc2dcd4cbdacb9e0bc1adbbbb8ffd254bc4d033bbdc2dabcbc7374233af56788bcf48c21bdbf8296bcc70cc5b9c0738cbc5c2505bd24c438bcedba263b0d2872bc5cf5aebc48acbdbb729aa23b000000000000000000000000000000000000000000000000000000000000803f2860a2bbca2270baabbfb33c1a0d813f47a493bbbd18b63b620b0f3db3cc5a3f81919abb4f7e293cad46313d1828353f399a8dbbcdcf443cb97f393dd3b80e3fc8590fbbda2f603c2351323dcf35d23e602415bb0b91403cab00133deb60873e45022a3af34e173ccc4ad63c2510f43d00000000000000000000000000000000000000000000000000000000000000008c8e62bc59e926bc0000000000000000b51c63bcd05159bc00000000000000008f308abc6d368abc0000000000000000996ba7bc4d908fbc0000000000000000697ccfbc52d77ebc0000000000000000f457f2bcc6b85cbc0000000000000000fa0d0bbdaa9c26bc00000000000000000000000000000000000000000000000000000000000000000000000000000000aa9491bb25c6423c21fb283ddbd3ceba961be6b93866683cb8dd1b3dff593b3b2dc714ba016d7c3c8896ff3c0241b03bbd287ab968f8693cb63fc13ce89ea63b068eff3a380c373cc02e943c5407d63ab783c839ae3ef33b82181c3c72f9a43a83b0473af1fed43acc69213b04081aba0000000000000000000000000000000000000000000000000000000000000000a8018ebbf582b4ba2b188d3b84fa6abc29c230bbedb1f0bacbc5b1b9eda2dabcdd5a93ba39660fbb0f706cbbd36d16bd507170ba4e179fba0e4d74bbb95512bd2f69de3adc1854bbfa0a9bbb9ed9e0bc5b9d0c3bf9b5ecbaa166b3bb96f493bcaafb013be0cc91babd9b8dbb019099bb00000000000000000000000000000000000000000000000000000000000000002ca859be7d06923c3e6f433bd22fcd3a4beb4ebebb1a273c20130c3bf0d1c33a4e3b38befaa91dbbd0001c3bc421983a7d8e12be33857ebb9465643bb468c1394401d7bd29e910bb482742bae4724f3b876267bdf6c47bbbf9e42fbae089323a8a8c23bc8d13d5ba48f9e9ba5b6e3c3a0000000000000000000000000000000000000000000000000000803f00000000043a9d3c74acd6bd7234ad3f76d703bec1466c3c706c4abd1f348f3fc675c2bd663b473c010e6cbca8d06b3f25b39bbd8090193c5d13b83b178b2f3f7c2a74bd8a1ce63bb292793c7b19e63e713230bd6f64043cb907983c7f3c663e61e684bcc7e8c33b7c25323c7a7b0f3c69576c3a0000000000000000000000000000000000000000000000000000000000000000c6bd8b3c5991a8bb0000000000000000d347263cb76c96bb00000000000000003099eb3b7a4440bb00000000000000002954a03bb20a69bb00000000000000007b09ac3b5b050fbb00000000000000009a8dd03a0b0212ba0000000000000000e5ec4f391483cab900000000000000000000000000000000000000000000000061bbdcbb901aba3b0f57aa3cebd454bb7f021abc0c074b3c2b261c3d172099bbeb4f00bcee98963c3d34313d7e4f053b1ff935bb699f9a3c11eb183d40ef9b3b15b128baf4d0733c25cce33ca94ca13b0c1f05bbb1ce533c4d81a93c1f2aa53be74757ba48b1043c8807313c1b180b3b4e748aba4ab3863bb8e2e83a651a163b0eaa4bba6e1ee9ba451e75bbb658daba57c014bbfafbf8390d3d343c9f85fdbb6c177dbbef6a0cbacd772a3cd4dfc2bb7dc07fbbeffc10bbd0e3143cf905d9bc02570ebb77024fbb74f03c3b67f50cbda9c2353ab2986abb12eb0abad52503bd0f01d9398f7220bb960d4cbbe9cac1bc29ff4a3b26d964bb90d89bbb300d78bc38125f3b07c239bbe678f0bb7b7d88bba804503bb584f7ba78b969bbb964073cf430e5bdf9ecd73b69a73bba69fd1d39dacf3fbeaa2fb13cd38c85bbe7e96f3be44559beac33933a309c5f3b33cdbc3a18c345be7a9cf1bbdd258b3b94bbd83ac1641dbe925d1bbc974be23a32502c3ba51ee4bd531d1abc1d0cdab828f94a3a6b5a79bd0a61fcbb2b3567ba7922d83aff675cbc615441bcf05285ba217afe3a27cb903ce189083a406294ba5d393e3a36fa2c3d706d5cbe8571ac3f11dd863cc15e2e3d535e42be3cc69f3f04bb293b9214f93c39de0abef0f7903ffb42d7ba7f55e43c82d7c3bda83a6f3ff39cacbb09cead3c966068bd4938333fecf861bb6470a23cbeeb05bd530fed3ed4f8a2ba509a803cb80564bc36566e3ea1dadd3b554e753c7bd49f3a4fb91e3d4c22c53c2985373c23d766bc4fbdd1bd329c263b9c2e8dbcbbe4893b0000000000000000273868bc91b9983a00000000000000006ffe80bcb151a43a0000000000000000bb455cbc50f8133a00000000000000007b8743bcda0dccb900000000000000003e6e10bcbab4a73a000000000000000051d50abc9fdb303a0000000000000000bc4e25bce22dc03a000000000000000081303dbb36824e3a000000000000000034caddbba9d6d73b736e243c08b7ca3a17c1ddbb22b84d3c9b55e13c8951ab3bb0aa95bb709a8b3c5b7cf33c1f96373c5b8557bbd42a973c995ae83c36462f3cfaab17bb959c793ce594a73cc415103c7efe4dba29075c3ccdf7803cadcbd53b7c60daba01841c3c9e25f93b2801803b717b00bb19dd913be339c13aa4f65a3ae26ce5baf431b33a0c133cbb59a6bbba5cf01ebbdbc1dbba8c04773cd6b088bc8ec931bb8d0beeba84c3493ca5a3b0bc6a761fbb63b383bbf9c4163ca1cc05bd603b35ba7b0351bb0ee69f3be6b40abd7fda753a2a0c22bb9386d63af46302bd6917323bd7da7abb4cf3a8ba62b6c5bced19473bc1d553bb23e379bba6dd51bcc9f9843b243b4fbb2705aebb406ae0ba9ab0533b04a80bbbb3d55cbb63c0d83b0bf96bbdbea131bca3777238ed45543b1cb216be0111b0bca8e5843bc09de43915a42bbed8f411bdcccdf23b3e012d3b7d132abe928305bdc4aca63b59639e3a219c04be5fe8f7bcd122663b36659639a672d0bdd9d8b4bcab099a3af98c1a3b69e26fbd981e38bc5f66c8b9a24c1f3a5da3a0bccf7fbcbb75ab8db9a4ea573afb65003cb5ab6f3b674434bb5da06639028c333de2b05fbe66918f3f809a6b3e9e3f533d96dd60bea19d913ff249433ecc621f3d7a8729be4339823f8a8d243ed8a90d3d23d904be66a85c3fb921ee3dd774dd3c42c6abbd08b8253fe743ad3da702d23c020c82bd50f7e53eb4334f3d2ad3b93c35c728bdd86b793e7d6fbb3c29959a3cff7dc6bcf3f1803d3363043c2ab8603c91d7b2bc427445bd754a7dbcc5ed8bbdec7a723c0000000000000000690689bdc2457e3c0000000000000000b24767bdd0fa0c3c0000000000000000ab653bbdc7160b3c000000000000000029a109bdec029f3b0000000000000000e66acabcaa394d3b0000000000000000dd3989bcb1d3723b00000000000000005fa725bc02a1e63a0000000000000000f62d3c3815bb8c3a0000000000000000e84a84bbc893af3b7bf0d93bad3bd53b93fdd9bbed905c3c9cd09e3c4aab5e3c429bb6bbcc278b3cee50d23ce037883cad8541bb62c1873c8034c13ccd08863ce51814bb329c833c44db983cb6594a3c82a0d7ba69734a3c9922623cc4730c3cc5f4f8ba2bd3183cba7be23b6b8d953b3c701fbbe362963b1b35993a057bb53af459aabaea8a50380b0956bb631793ba982baabaa2b832bb4675623c6a88e5bc5ee77fbb805963bb1eb65c3cc212d4bcfe8dd4ba05b8aabbc1cd283c1afe00bd670a9ab9c4539dbbdc8ebf3b310108bdda682d3a0f5349bb56b3473bb2e602bd3ce85f3b9f1298bb00b73fb9fd57a7bcdfab633b589387bb2d6cf5ba4b8572bcf758683b2fc862bbc31b72bb403a0abbf540443b2a135ebb92cd16bb7192d73bb80608bd776718bdc0453b3b5135f33abb34ddbd37a678bd41fe2f3ce375133b6a0b12be115387bdd94c323ce7c90c3beaa00bbe542c80bd1894c73b9303253b70c4efbd455252bde30db43b47e6c63a5751b8bd15d009bd806ed2b817b4933ac92858bdbc8e9fbc9bd7c139348ac73abd78a7bc48d663bb179d0cbb33fa6f39494a403bf8ed1a3c539d05bb2a94bb395f3c2a3d3b824abe5d336e3f8070eb3e60d0403d6a9555be6f66713f10a4d63eec641f3d04872bbe3a2b5e3fae0bb23e7221083d25fc04beb4f23b3fcec1893ed1d7f03c3aa2cdbd92e3143f353f413e8122cc3c59f390bdaec7ce3e6379ea3d0610bc3cf20f49bd06ce6c3e99b1563d8929a63c76c10bbd987fa23dbb7720b9626a533ce7f6f6bc5ed5c3bc3e3a23bdb211f2bd66e5c63c00000000000000002742fabd9912d53c00000000000000004e1cd5bdd4509e3c0000000000000000a099a1bd0751763c0000000000000000c4b87abd7f202a3c000000000000000072e822bd883a173c0000000000000000b473c9bccb4e9a3b00000000000000000f0207bc5b41573b0000000000000000f5857f39e2bb573b0000000000000000b87a69bb340fa23b90f1623bbdb71d3cfedc9cbb51402b3c755a713c5a5fa13c598553bb1ec15a3c4bc39c3c2b82b13c703087bb0a36823c134ca23cd9a99e3cffb0beba1394453c5e504f3c0f97673c5ff82cbb4b13483c47b2423c170f283c8a8063bad85bf43b57b1ba3bc33bba3b7e7106bba561823bc35ef73a0d52c33a4ac7babadf00a63aadea34bb618db5ba00ed43bb20124fbbc8ef3b3ce5c0c4bc67b19dbaa22da1bbda0c373c07c3dcbce8b89c39869bb2bbad25ec3b4af1e5bc9a23813a3ba496bbd245d63b6cb1fabcd473393bba822cbbe7d8a23a9955e1bc7bdb443b3218a3bbc0201c3a68c5a5bc0ea3573b718c44bb12a2d1ba558a3cbcecb5323b90c26ebb063518ba33ff76bb5e273f3b92985ebbe2bed2ba0da7bd3bc21363bc0aca6dbd527c7e3b434da13be65f9bbdf5fcc3bd3e3c703cf81acd3ad4b1d2bdcaacd2bdb94e2f3c1c102c3bf592e3bdea40c3bd224d3f3c32d6a83abce5a9bd888d8cbd313f7b3a98d8263b3d68a0bd095149bd2b03953b074be73a6b6c3fbd8a1dc1bc71545ab9062114ba17bfaabc10c24abb29f8acbae6b2aeb92a13cc3a63a6393c5f2153ba6fb05dba36540a3d4b082abe71af333f9a64323ff96a1e3dd6d22dbefc7d373f0821283f39b9023db3820bbee2e2293ff7160e3ffab6eb3ce51fecbdd652163f34a9df3eb522b23c8d3a92bd3a31e43ecff59c3ecbc5c13cf7908fbdd96eb13eb8fc3f3e8911973cdb743cbd29e0503ed6cfa43d6396843c9ce912bd4c3dac3d167861bb4358583cf7dcfbbc0c00b3bb237574bd8ccc27be4dca023d0000000000000000e1ae30becbf0123d00000000000000008b610ebe923ccd3c00000000000000006379efbd951fb03c000000000000000096829cbd7ffd2f3c0000000000000000b20579bdcb0e4e3c0000000000000000940ff8bca927da3b00000000000000009bf8f8bb0b06753b00000000000000005137803a172e823b00000000000000009c9205bbc18c733b29836d3a1efe623cde9c69bb2d6e033cc34e2c3c5ab8df3c966981bb325a463c4f27893cda99f53c479a28bbdb05513c2ce9943cedadcc3c05f82dbbface623c0678523c254faa3c854ddfba7dbe3e3c52011a3ce40d6e3c3756f5ba9fe9183cd2d4b53bd187063c589eeebac36f8b3bd2d618b8672d183bc62682b96acbb83a015e4cbb9905dbbabf09c3ba98359abbb5a0263c5cc3b1bc76ea60bb4768cebbb0ebe13b92049cbc6af050b90eb1e7bb7201d73b0f96b4bc68ca553aab3fa9bb02a5673bdc42c2bcb9b21d3b900284bb6cf1373b8f1abebce647c93afd8d63bb48d88c3ab6cf94bced17a93a8a0647bb159092baa7ee59bc8675303bafa520bb53cb0fbbbcce2cbbca0bf73a063430bb09921eba0e7e153b5b696aba2a869bbdcd4df63b8c7a823b35d84abd29470abeea53c13cf366103b17bca7bdb1cd12be49f3963c83e46a3b6191b1bd3d6bffbd48aa493c92d5133b1751a2bdb970d0bd6946e83b4337103b79db84bd366584bd1ad57c3b8c938839fee42fbd60f508bd4a17363bfe4b0bb94ac99ebcf91c14bb17c915bb0edff8bab7b6c9b989cd603c96091aba55088bba0114cc3ccf30f9bd2753ed3e45506d3ff1befe3c135b01be4c8ff53e7334643f63c8da3c8381ddbd90dced3eb944443f41cbbf3c03f8b6bd6f83d53ed5c1193fb390af3c0f7f95bd1cdbb43e5da7dd3ef458963c362068bd65b4883e74b9853eb419903c0e622bbd78ba333e7406e73dc1b9603c9b6e00bda237a43dc8149abb5e701a3c3d11c7bc5e09933bb0449abd5ef24bbe4ba7253d0000000000000000b2b75abea8cc2e3d00000000000000007ed938be8e90073d00000000000000008bea0dbeac49c83c00000000000000006de5d4bd4e82923c000000000000000016c385bdc9664d3c00000000000000009ec20ebde674ef3b00000000000000001d438abb4163633b000000000000000032608b3b310f013b00000000000000005a422fba46ab0b3aea4b313ab908953cbd5100bb753a573b5a2c1a3c3c5d093d8fcc46bb29e8053c9561803c21bf113d31720ebbb63c1b3c7038763c6af9023d64fc1bbb224b113cac6c4d3c216cb43c0a85faba285a0e3c01ff3c3c3a1c913ca88617bbb3a0e43b0cf1a63ba0510d3c95b01abb0958a03b4482623ab9a21a3b7a85afba5126f839be6f3cbb353c3dba40e57ebbdccca8bb94129e3beecc4fbc014c2bbb00aafdbb9e8c903bab8541bc01341eb95697f4bbbeb8203b0e0d61bc60362f3b234ad9bb72c04b3b0cb67dbccb240a3b63937abbea018f3a63118bbcc1bd0b3b7ce47abb60f3cd3aa34f6cbc0bc12c3b79ca45bb1864303a984f23bcd0d8da3a5f0627bb031fab3657e198bb1483643a9d878aba949d8c39d785a03a7a620c3c3311c3bda946a03cd29ed339316fe2bc0ba72bbeee33f83c6fa53abab8946dbd3cd634becd1aa43c77cf693b9b4787bdf23b23be812b7e3c5ec1c93a2d4b74bd457ff2bdb3bbfc3b2a38703a919b57bd2770afbdbc39b93be09c45ba21df12bd7f3c24bd6200f63a17fdc4ba120599bcd14794bba67a1fbb7f13efba0a483d3a6abe933cf3af4ebb236759bbdeda813ce3a48dbdd7986f3e73248f3f1679943c85a98ebd84b07a3e44a88c3fa42b883c1dc37ebd3a62853eee7c723f27af703c2ea459bde50f7e3ebca4423f841d6b3c93302abdfe8c5f3e4b210b3f58e4433c6e0416bdd187393e2ddcad3e23853e3c4d2bd8bc8e1efd3ddf361c3e55f20c3c42c0aabcfe9e8f3de8aa5bbb78fe9e3b915078bc797f3f3c1f66bcbd95325dbe8fde343d00000000000000004b5f6ebe626d473d0000000000000000d34c42be8a5f083d0000000000000000f7b31dbe4be5d53c0000000000000000ff2eddbd8384983c0000000000000000e39594bdfc39603c00000000000000004fe112bdeca5f83b00000000000000002824693b19dfbdb90000000000000000af407d3ce137ec3a0000000000000000c795a8b9b4d767baa073be3926f4d63c7d002dba5ed3b3bac6d6043cc411343daa57c3ba6dd38b3b72a3673c4935383d208906bb4742963b6f03963c0f78183da31c06bb0375fa3b0d60583cb719e33ca624edba5fd7f63be375253cea3aaa3c7b6c20bb2d5bce3b05139f3bc5083e3c522c6abaa543603ba025c03a79f7b33a30af50ba8ea55f3ab98923bb87602bbb0a3cb3bb231faabb3113053aa2e6ffba9c6423bc8a39e3bb6bd451ba03b829ba82cc5abb4008d2bbc88e92b93fce83bb5a8dc63a7155e8bb6278edba2e19debbb40e873af38150bb58ceae39a74319bca35ef53ae71669bb30e658ba02ab25bcce699739526914ba657a963ac80824bcca9c1c3b3baecfb90003f339841dacbb74733aba39b4c7b90916f439aba8153ae782fa3b696708beebf8c43c0d148eba534b06bc4fd64cbefec2443dacda82bb381a18bd5de45abe803be93cb1960cba6f9449bde6b943be73b5933c2425343b063143bdb30315be17471b3c036e1f3a54d424bd6511cfbdc9e3a23b84952fba3b79d8bce9fa4fbddc63173a5611edba857f73bc5e2658bb03011dbcb942c1bad3472a3a0127c53cb99af9baf35925bbfd22b13b285498bc9e0d8f3c5c84ac3ffd45df3bb242acbc2a4b413dc9509d3f5b79ea3ba517abbc1ef49e3d25dc8b3fb88fea3b920297bc82e5c63ddb4d613faff5f13bfe2378bc9535cd3d32f4233f6549ce3b8add4cbc3057bf3d1537ce3ef717c93b89f134bc94ac983db8bd3a3ef53f4d3b95a1c1bba620543dbe1d533845668a3a05539ebb8447fc3b779300bee79b5dbe51102f3d0000000000000000c2145abefeb7293d0000000000000000e72135be4e67f53c00000000000000007d100fbee3d3a83c0000000000000000d223cebddc14693c0000000000000000d3bb7cbd53241e3c000000000000000078b0cbbc727a3c3b0000000000000000b516bc3c8307cdbb000000000000000069f1903c1c8f49ba000000000000000000000000000000000000000000000000ad6d43ba249761393e44143c3165313d7ce75bb8a68a163b08616c3c0a601d3d0ffa59bb92acc23bebcb563ccf63023d90e5caba3d89b23b770e5e3c5145c73cca5eccba4bd3993b83ba283cf208873c02d98eb9cbc72b3b7ac7d23b2843243c9cd6aaba2f02173b4216fe3a6bfad83a00000000000000000000000000000000000000000000000000000000000000001f7e04bb9063cabbf8c490bb74afc73ba2cc8d3a12e5b1bb42937cbbdf93a03a4829883bcdb37abbf8d8b2b88500f6ba320b843b6a5792ba2a850fbbcecd99bbb6c6d03adf18deb950ddb5ba12138abbee6ea23ace98e9b983b696ba7ef787bb16e580ba508c9d3a3d655a3a60296bbb0000000000000000000000000000000000000000000000000000000000000000916f87bc2b9059beb111a63c72972a3a13b404bd55204dbeb9fe593c18b1293bcd2523bda70a35be698d7a3aedba1a3b35b027bdcf5c11be0d3c1abbcb30243a52acfbbc74accbbd69623bbacbffa439c4ebaabc42f859bd906684bb5b825ebacfc704bc054bdabbb56d15bb69a7e5ba000000000000000000000000000000000000000000000000000000000000803f17eaebba175d8a3c1efdc7bdbbf9ac3fec709fb9db381d3ce7f014bd90a28e3fb391153a049dca3b3466bfbbc17f693fcf52a43a519dbf3b89505d3ca4fb2e3ff537ac3ad1fcc03b1175a23c70c8e13e031ea2381ef1e03bb770bb3ce102603ed0eab5ba22b8e23b64ba3c3cb560de3b0000000000000000000000000000000000000000000000000000000000000000eff709be6b8f9b3c0000000000000000cae6ccbde6ae263c00000000000000009f9aa3bd81b4063c0000000000000000111f7bbdf6ee6b3b0000000000000000034125bd790daa3a0000000000000000d38665bc2a9d7a3a00000000000000008660603b95651cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000c37aabba9addae3c1bdf013db4b7f6bb4319ff3ae4a1c63ceb28ff3c96ccd0bb81f6873b0394cb3c6c36e23c6af589bbed90943bc3e9ad3ce152aa3cc740b2ba486bb03bb28a843c44df5e3c1e1b1ebbe1324d3b4d86323c90baf83b3b3b4bbbafec0a3b58c21f3bba8d863afdb7e9ba000000000000000000000000000000000000000000000000000000000000000072bbbabb2f42c53a9a98363b205d30bd79968bbb74911fba571501bbab7b7fbd41f15ebb0e1a8439327ef6bb91198fbdeeee20bb68e49db942922abcaff889bd5d3b43b9ea5d77ba5a1629bcdd1864bdd532443a5a536539c021e7bb9b1315bd8b46363b0e1760ba82d797bb514639bc0000000000000000000000000000000000000000000000000000000000000000d6c83fbea922ec3c2944e73aefa2edb948de38bead0ef23cfa8b403b72cb0b3af96826be8caba73cd8a09a3b69280abba5a202be4643963c26840d3ba99aadba1b2ab8bdf442943ce23883ba9d8e11395f2841bd4ae6463c7f7979bb46381dba32befabb4c50bd3b3f33b8bbbf62da3a0000000000000000000000000000000000000000000000000000803f00000000ce8d8d3c352ca1bd4df4ab3f3a1c1abe20e1313ce73443ba8f4d8e3f14bb0cbe0764063cbb05333d5f64673fe54200be3ee8103c7075873d1b532c3fb5a3e9bd2d71c33b84268c3d7e79e33e8114c3bd8357c03b18ab5a3d1099643e0c206dbd0978993b409cb93c11de853c692ac0bc000000000000000000000000000000000000000000000000000000000000000028b1a63cb94e3bbb00000000000000001515833c650b40bb00000000000000001902373c5d8ab9ba0000000000000000bf2a2a3cb68b5fba0000000000000000f33c2e3cb8a391ba000000000000000028d90e3ce66a32b800000000000000002ae6dc3bb752b4ba0000000000000000000000000000000000000000000000008e14adbbfdc82f3c60af7f3cc28cadbb4b1fcabb6b02b23cbe4c023d893569bca6f008bb62e1f83cdb69093dd5e20cbc353c7e3acd24f23ce523f63ce05eb9bb8de9403b1e8ecb3c381fb23c092e94bb9367053ba571aa3c92af7c3c277984bbfd2ccf3ae892543c57d0df3b5ae90bbb8a99dfba090dbe3b656a853ac4771339d9307ebae1f449bb364c72bbdaf435b86c5e49bb40e8bb3a8da62b3c23df9bbc5df65dbb073b023bc903533c60ea23bded2197bb2890063a9353d83bc71d87bdc2c65cbb398b89ba159f463862c895bdf10dedb9f2ea1cba2c9d66bb108a8cbd4987883a8a0108bbd46dacbbfea862bd4528323b1180febad813c6bb905506bdf78e7b3b31b22ebbbc3894bba00b1bbc382b523be1dcc1ba0e04cabae6012d3c69dec2bd21bf5fb8c5ea713bdc2d1cba6f252dbe962b083d3a4ba5396ea85eba632242be7043c53cba56653bb38f6aba531331beef98983c2f27a43b280e3dbaec3609be640c773c80c0113bcbebe8ba30a8c4bd8d0b793c7bf305bb65dc983a5ef563bddce12d3cb58495bbe5e4ba3a19fc35bc2bd945bb39bdc1bb38bc603b7735893ce69cb5b8d67fadbbe6b2083b807e1e3d3f2755be1d82ab3f0d22b23c087f233d9ee435be6472a33fb1ce0abd89dcc93c650dc4bd3178923faa0668bdcf998f3c16d70bbdcd18703f5e968fbdaa184d3cfa608d3b34ac343ffefe9ebd2934423cefcbac3c5a98f13e566f96bdc47a463cb3c0903c0bfd7b3efaeb50bd44607f3ca16c5a3b69f1453d44d1c1bb57780d3c21da9dbc34fbb5bd19493ebc6e108fbc91af713b00000000000000003c6729bc63afe03a000000000000000072f600bcaebaec3a000000000000000058ea99bb8f91f33a0000000000000000d9166b39aa4fe23a00000000000000005e34bd3be35fb6ba0000000000000000fceb043c3b9ba7ba0000000000000000371c123bf8cea7ba000000000000000013ee093c62e311bb00000000000000007a1ab0bbbc01163c5bd4183c494cf7bad11dd6bbfea9b63ccdcbc03cafc402bb4a2621bb12f9cb3ca3c4eb3cc19f863a5edcd2ba04ceeb3cba05db3c0d0f27ba3946293a8422b73c6c34a43c47ad863a4adb483a4e0ea13c4f767a3c14901fba1762843a6df6563c6e5bd43bf7e200bb63cc43ba4ee6a93b86b3263a61aa5db8ee7635baf86317bbb5bc08bbf4d904ba35d06cbb38e1aa3ab32f553c3ffac7bce6ddc2bbadb6813ad4d96f3c20a538bd9c90bfbbdfd39dbafd13eb3be38276bd1586a7bb51fbfa388e369f3bee0b89bdb32839bb72bed9b9e93a0339b44e76bd631664ba9e3ce2ba78f13dbb692e52bd3d2c183b41fa95bae90d83bbbfc503bd4eb4163b2523d8ba6d54a7bbfe2814bcd164513b581305bb112a04bb86e00e3ccdda3dbde095c3bce9e2163ce9a4f1ba5be708be943c82bc70d8753cf2485ebb77f31dbe6c45abbc7485863c8e4619bb00bd21be51b2dabb29db523cbf705ebb19d600be0f71b2bbae23053c90e41abb5eb7c4bd3813593b3937673b1b2d15ba67d257bd46f9bc3b2dc183ba9dd19eba129f99bc4f99833b05938bbbfd91c03a506c2c3cb44a523b03b5bbbb92a1033ba6ab2a3dcd5e5dbe2eb48f3f2f39743e4cbc3e3d646655be766a943fc5aa263efc9cf33ce51100be17af833f0d23e63d603cd83cfc25b0bd7765643f727d263dd8de923cd65c12bd66fb2c3f1da4073c3405993c6496a7bc09c3f63ebc5901bd3533713cb3d613bc60ae8a3e316331bde50f923c9d9982bccffbb23d313c1abd1fe0323cbaa1d8bc589b19bd4b720cbdfac88cbde82e713c00000000000000001b648cbd4421653c0000000000000000eafb5fbdec302a3c00000000000000009ac71abd844de13b00000000000000007d40dcbceec5ab3b0000000000000000f4834abc965c5f3b0000000000000000bae8c1babde0da3a0000000000000000aae9093c586ae3ba0000000000000000abf7593cf92f60bb00000000000000002bfc71bbeaf8df3ba8c2c63b9daeb13b74b1d1bbe7aea33c359aae3ca037993baa6a8dbb1dd7d23c3435db3ca184af3b52d83ebb4d5fde3c2c0ac13cee22a13bfdbebbbaccaeca3c973ab33c32042d3bce1191ba908ba83ceba5553c71b6c13ae50c043acc58503c1768ee3bab1bd8b8821791ba1a88bd3bd02d833af72f7dba28c859ba7d309fbaf1fa85bb543f83b9b1f984bb8b7e63bab209443c271bf2bcef18ddbbac8708badd72803c2d2e38bd8e21eabb6112a0baa88c463c26c26bbd16358ebbc60ef6ba318ae53bacfa7cbde5f171bb835493ba9655333b6bb471bde73b85ba7121d2ba0da1803a6ed13fbd692d143a7ee5e0baa1e82bbb968eefbc2745543ba67801bb0d2d66bb4e9010bcae47d63aff2171ba2947d3bab8d5fe3b3b01b8bcb1a358bda414723cf7a6a1ba2d8ad7bdefea62bd57ded73c6106b3bb1cfb10beb32241bd49fec73c531686bb004910be90b00bbd334ca33c10f68dbb8e94fcbd90aac2bc3ac8863c8c566ebb4900bcbd382afebb90b7d93ba4c911bb663569bd7fba4a3ae743243b71d0a0ba0015a9bcfb1dd73bee046fbb583706ba664bc13b4894223c20d4a3bb7635533a1b63153d8e0749bef1856e3f8d34ee3ef7352f3db3c74dbea855793f66cdc73e45c6063d3d0918be9bf5693f31e8923e6bf2cf3c76e1d0bdebb74a3fc6e73c3e9487b33cbd7382bdaba8233f68e1c93de189933c371c1fbd2580e93ecbd6db3c5f98903c4db2e1bcdb278d3e33c4bdbc79b5913ce900e0bccb0fdc3d7fd445bd89bc463cae6f02bd6d5a18bcfcec8bbd2ea8f8bd005fc83c0000000000000000e46002be3996dc3c0000000000000000bf49d5bdb965aa3c0000000000000000e80d9fbd3846753c0000000000000000fcaa71bd8200573c0000000000000000b9d8ffbc43e4fe3b0000000000000000ab0420bc892a5d3b000000000000000041d0213c1cbfc4ba0000000000000000f675973ca87242bb0000000000000000231768bbb836d13b8b49b53bf4ba033ccfe39ebb924e7c3c2f59a33c8fe2273c4cd885bb19fab73c96b2c63c2cf6253cd71b53bb79b7cb3c843ad33c91ca163c301fa1ba92fa913cb279873cb3e0053c561f06bbb790a63c18f9673c2894473b65074aba1aea603c8855d73b4599dcb95eab91ba15d2a63b24bde73a15a5aebaa202f9ba5dbf713afc2d93bb6b4f98ba16ce76bbaf91d3babbee363c3ed5e9bc002e01bcb5e4adba912d4e3ca19d1fbd49f2b6bb0c093abb819f143c48c245bd9e32d2bb02e3ffba70cb053cf43c60bd1a9011bb3c8ae1ba5ae9583a8f3b3abd106616bbf47a51bacf98743bf45f38bd99aa99391cd71fba407baeba104ae6bc1a53163b631d85bad6fe0bbb17ef0dbc3c51cc3aa3bdf5b90be816bab56ea43beed6cfbb7cf396bd10e78b3caacc5aba97e9a9bdb58fb7bd5d04153d5fc7d9bb2640eebdb588a7bd5b58ed3cdeab5ebb134702be8d188abdbb1ee13c9fbf87bb1c94c2bd074050bd799e763cae798bbae2c7b7bdb35dafbc5192593cbe3f95bb1b725abd2d1d7cbb6a6db43bbc7a43bb5c9ea9bc44eda63bc390ccba512414bb997a8c3bb0df603c3f7a84bb8a75dcba4252f53cd78a29be33ca353f613a323fa53b133da0002dbe1bce413f0faa203febc9d23c8fe6f9bd62aa383faf15fd3ee639b33c8081c7bdd0ce293fe8eab33eae2b7c3c67023ebddf8f023f39ee6c3e4516813cf79343bde91bd53e9cf6c83d2f01833c363defbc316d823ecafc4c3c5824863c721af7bc5d0fe93d0e0f4ebd5a571d3ce2bd01bd79bea53b242daabd28d925bedebe023d0000000000000000644d3abe2f2f133d00000000000000003acd16be5c5ad53c00000000000000007abdf8bdd22fc03c00000000000000004e65aabdcc42423c0000000000000000588f61bdfa8c4e3c0000000000000000ded4c6bcd43da33b0000000000000000ff70d93b2b1c8b3900000000000000006aa38a3c3cf1c83a0000000000000000e55a32bbb20b8a3beb2eb73b499a143c438fa1bb99056e3c87ea8b3c5e60933c66bba3bbbb73a03cd145d63ce98c8b3c89d299bb6074b73ca4bdcd3cf490563cab8935bbb68dab3c40faa63c4d4a253c0ebf3abb2ca78e3c63fe773c148fa53bf1959dba54984e3c17bfed3beb83c83a414998ba5d93a63bac22c43a4c3c3fba2fa8eab8a1f398b9109097bb9e6d9cba5fb78dbb10870ebb12e40d3c295dbebc58401cbcdcf424bb7461343c14c3fabc2195fdbb1eb17bbb25a71f3ca1761ebd5c14cabbcb990bbbae151d3cc46134bdde6897bbf4c7d3ba329faa3b8f3131bd3eb3d1ba9b0411bbf541313b22ee08bdefd933b9f17d82bac995183a52d2c3bca89e0f3b846913bac5e7c3badc6fe1bb2e6a073bdbb5a8ba4c07e1ba9f249c3b8168b23a5f21b3bdb3e8ab3ca7f577ba634886bdc742fdbd1c28363d730ee8bbc4fdd7bd8f07f3bd9f43273d4c54b4bb6da2e6bdaa84c3bd29f5073d4bd9a1bb8bd6d6bd33bd8bbdcb5ad93c4d98a8bb9d10acbd9c4719bda0ab8a3c219290bb441960bd0dd937bcd011f03becfa8dbbea41babcac1ec03be84cfdbac3583cbb1739673beb56813cb1cc1fbb6df11dbba161ce3ca4faffbdb1eff53e3d1f6b3f1ee7d93cc2b903be9c51063fa4315d3fa8afad3c8e5fd3bd7d2b093f84e0343f0c26883cace8a4bdf6ac013fd0bb053f98fb683c09257dbd7995e23ed466b13e94005e3c0a1432bd40a7b03eebc93b3e2ce5503c17970abddb766a3ecdb8513d7309513ce9abdfbca7ebda3dea3e35bd5f2d1d3cf9ece1bc4ff3663c6f44c3bd812948be1e51183d0000000000000000ad4d68befaeb3a3d0000000000000000e2b945be6789113d0000000000000000ce961dbe0e7fda3c00000000000000001e69f1bd1a3dad3c00000000000000003c8895bd870d633c00000000000000006d7105bdb856f73b0000000000000000767e0a3c60e3dcba0000000000000000ee43843cc9f4053a00000000000000005e450abbc7551e3bf06ca83b48a7653c34bfaabb5eaa3f3cd0de923c8c55b43ce5aba4bb1fb16d3c91b0d63c505cb63c968697bbf966933c3cacd53c7086933ca6b48dbb9bef983c0025a23c0ba2493c13b043bb7740883ca6ba7c3c7882003c9d67d5ba79b52f3ced19063c24c67a3bd64952ba7cdc8f3b03c22c3be7a53dbaf29373b97ad566ba591481bb84b0daba9021debbee4f1dbbd7bac53bb0895cbc46e323bcde3d45bb9d79fb3ba93f98bc3f55f6bb187893bbc4e3193c1d3feabc34adc9bb23ce77bb690ae33b01ff06bdd2da56bba10c0abb29afca3bbb6d08bd430256bb540d4bba006c9a3b641df6bc84c4d7bac85a05ba4cac843a2fd09bbc7590cd3ac3d551342f2298ba3466dcbb8822b03a6d18683afac1cabab61ab63bcd484a3bc3a0c9bdcaa4ea3c3d8566bb4e875ebdefec1abe8d83583d209b26bcae4eb1bda15717bec781273dbfb94cbb852ccfbdaae300be87b3223d09c2babbcc78b7bda0fcb6bdf103d03c534d72bb5aec9dbd696264bdfacfa73c5b52b6bb17af47bdff15c1bc9639383ca1919cbb627eb3bc54d61c3b9af8a5ba6a5c50bbbf02a13bdc608b3c5eca8abb873d8abbc1ee7d3c50029bbd8235803e7d428e3f3e0c833cfc5f9cbd6320963eaabd893fb0f2263c71247abd37b2aa3ea121643f1b03363c91e75bbde56bae3e29b9313fba08173c8a491abde2b79c3ea5eef33e8c32193c3f7d0abd2311853e1f3b8d3ed8b5113cbb36c7bca02a363e9a45dc3db87f073c420e90bc8960b93df1b1febc3247c73b068d9bbc82b13f3ca28fd3bd38095abe3156333d0000000000000000946380bed73d4c3d00000000000000000dcf53be94890f3d00000000000000000b6e37be4ecef63c0000000000000000580606bedaeea53c0000000000000000e85eb8bdd80c823c0000000000000000688c3fbdf15c113c00000000000000007e5e183ced5990bb00000000000000009d5bdf3c866644bb0000000000000000395fe3babfb6433b3692af3b1dc4963cdc4c41bbc22bc63bb5d1a73c88cbf13cea6fa6bbc1ff413cce04f43c6576e03cd33d82bb8e33783c7de3e73cc137c33c3338a6bb0c1a6c3ceb4dc33ccf31933c1c673bbb4d374e3c85e6903c2a16273c335601bb319c0d3cbbbf3d3ceeab703b390d53ba408c363b777f163baeb7f3b8ca888f39a7da42ba2c8e87bb0c502fbb47e2edbbe62602bb6f44d33ab701a4bb2e7b84bc004302bb8983a73a69c4a5ba5fe224bc3c2772bbee0c953ba3d03ebc89d30dbc6f6b6cbbb89fab3b2f8fa5bc4e12c8bbc3b4ebba9f5b043cccf6c0bce69b5ebb704a99bae017823b707ea1bc8e1e4bbbbb3d503a7671403ba5166cbcc3de333bb9937c3a5c69a7b759eaa8bb4c43573a2131783a130d0cba342e533bae11daba1fd800befdbef73c48f6bfbb968b46bd759f37beca458a3d11854fbce36aa9bd26cf39be92c04f3de426e1bb742cbdbd58361fbeeb89323d521989bb035aaebd4a5eedbd2354013d2b1295bb7f4991bd87ba93bdf9c6bb3c92f7b9bb64903fbd525508bd0512403cfd407dbb1e1a81bcbc289e3900e7c3bb1b3569bbd648c93b727db23cf059a0bbd2ed2bbba9c5c93be772b8bc92ed003deed8aa3fcbf9933b2ad5c0bce762993d68b39e3f43df8b3b889ad3bc9043153e5207883f40b7213bebe2a6bccdb23a3e9fce553f7ab1293ae61896bcc09a413ea954183fcdf5f33af96c80bcdbe32a3eeb14ba3e1b2c063bcb6b16bc3f1cf93d56581a3ec5907f3a33d9263a1e07753d54f17ebc0bbdeb3a3b10f4bb73570f3b597f01be9ceb58be3a0b293d0000000000000000a22577be2d843a3d0000000000000000b64756be7bf40e3d0000000000000000b9e938be3278dc3c0000000000000000fe1811be6872ad3c0000000000000000583fc9bd6c1b6f3c0000000000000000a10b33bd39c7ab3b0000000000000000e8209f3c048f02bc0000000000000000fafbc53c594272bb0000000000000000000000000000000000000000000000008fc117bb383e973b7314a53cd291fb3c10ea5dbb2eeb133c71ebcf3c6effe43c514684bb48402f3c390ace3c62f9b93ca6f1bcba0540303ca817aa3c94e98d3ccf6034bb8876273cfe7b8c3cb804323c22810dbb2054ef3bb2a7333c3de08a3b9e47ddb98ad8273bafb43a3b07c36c380000000000000000000000000000000000000000000000000000000000000000d513fabb1ae08dbb2da279ba22d94c3bd0c9d7bb11feabbba28a063b4b55afbbd049f9baaea393bb8e1a833bc88560bc469202bb802d25bb91df033b33d067bc336930bb2f0d62ba13f07a3b0d0b6cbc8124c7ba749d0b3ab4e9fa3a9aff0abcb34d1aba0707913a8908033bfdb290bb00000000000000000000000000000000000000000000000000000000000000000c004abdba843dbee1e7013d65b6fbba8d8d91bdb0e12fbe1150fd3ceffc973afd879dbd14851abe2d07a03cad07193be8e898bd78b4efbdbc80833cbb58cc3aaf5079bd75b6a6bdfb60803c60aca3ba798822bd002628bd8392173c068c4ebba0a467bcf0259cbb72da583bec2b3fbb000000000000000000000000000000000000000000000000000000000000803f4dc82fbba8c66d3c5fb084bd302cab3f68db77bb56de0f3c8450733c27a58c3fc8f235bb05e4da3b576a803d1c62633ff57171bba046d83bbdf4a73d46ad283f4d2040bb0290c43bd508a23dec02dc3e5f4f37bb226cc43b1100733d47ca583e77f664bb1dcea23b8a0bcf3ca1722d3c00000000000000000000000000000000000000000000000000000000000000009f361ebefd8db33c000000000000000085d80abe2614653c0000000000000000d7a5f8bd70cd073c0000000000000000ebbedabdb84dd33b0000000000000000a639aabde4a6a33b0000000000000000a20244bd74d8723b0000000000000000030852bca3ef2cba00000000000000000000000000000000000000000000000000000000000000000000000000000000450e16bb4385863c6f4fc33c618cd5bb78d707bb0e62c33c1e01c73c6e7105bc7bbe28bbfeead13c9690b13c5c79dcbb3a430aba1946c03c35cd993c6ed7e9bbcb726d3a2748bb3c1841233cc0eee5bbc60f7d3bfbf6793c4c05923bd496d0bb9407843b4110163c549127bb92c84fbb0000000000000000000000000000000000000000000000000000000000000000461509bb9fd8f33aeffcde3b2ad450bd2aad1ebb6e32be3a2e29a03b670998bd6f0a1abbfc49893a5576483b8f12aabd213fe4bac532803ae544eeb93869acbded593ab904a39639287f99bb080e9cbd1891903ad1f62a3a37b3a2bb94db6ebd5dd5563a15d1b9386c3fd0bb36cb07bd000000000000000000000000000000000000000000000000000000000000000053fe03bed800b4bb11e74b3c0d3de6bbb3e501be5538a53bc407443c5548d0bb8bf1f2bd7110043c86c6303c7266b1bb1f5dc5bd7912393ce2e31d3cbefd99bb71c190bde33c913c7dd9ac3b12f24cbb01911abd83b6873ce340d73a00973fbb7200d9bb7e90793c4968e1ba60db9b380000000000000000000000000000000000000000000000000000803f00000000fc227cbba76b9ebbc3c7993fc1ccadbdbac3c1bbea936c3d72b2803f3561c4bd4e13bbbb3d8fc73d573b513f8188ccbde1c7b2bbfb9eee3d98661f3f04dad0bd497e15bbee48e43d6eaadc3e006fcebdf276dfba15e3ae3dfadf773e6895aabd52656db8a6e7453de83d773df3bd84bd0000000000000000000000000000000000000000000000000000000000000000191004bc198a253c00000000000000004b3a0abc4429423c0000000000000000ad3f19bc65312f3c0000000000000000b783f9bbcaf40d3c000000000000000001fef8394611d43b000000000000000018c8073c50a72f3b0000000000000000af536b3c8cf377bb000000000000000000000000000000000000000000000000f0184a39a6edf03a19ff5a3c554df2ba6fd3293a5739ab3cd6fdd23c110156bc862f6b39fcbfe73ce684dd3ce0cc52bc049c4bbafcb9023dea86c23cf32445bca3261439272ef03cba4b9f3c151331bcbd44863b0ca2da3c9a6a383cb12d27bc1477703b9a38a03c7fd8e03a123ebcbb06bc603b5fd0e03b52c8b3bb98676139d64d493b471d5037cd92d0bb30a097b94aae4eba77906b3a68cc3f3af45f21bcb9ebbbba64552e3b02deee3a792d58bd04696cba3367f03a5c937b3b25479cbd4eb1bfbae9df093bad8c6a3b0b1eb3bd570170bac094403a6781ae3a3e07b3bddbb80e3ad7b1ad3aae7819bb8747a6bd6df6aa392e42403aaec31cbb89a180bdd145223bf5fd34baffdf8d39a786eabcd093993a75857f381d77bdba441ebcbb3d348ebd6275d9bcb4ab283cbe5b87bb4bf402bebb8eaabbb7d1863ce7c90ebc334815bedb13cdba12f0873c9a5c11bc81e508be46c3aa3b74bb683c22100abc2a4ee3bdcd642b3c8025383c7dc0b9bbd6fda4bd661a8f3cd1e4de3b2c35c4bbf9992fbd28f5ae3cdbb7f539afcf11bbd8c186bb176c533ce51199bbb82210ba4bef8b3cd06a283cc05284bb84b5113a0f71b13be577e0bd8f83993f2ce7be3db5d21f3cca9a9fbda2d3953f6250e03cf0c1f7bb91bcf23bc7e7813f5acdc3bbecb282bca6e3813d00d6533fd1a116bded3d92bc6b8dc33dccfc203f55d36abd864395bcc5cacc3d376be03e81419cbd1ca560bcb08da33d9ef97d3e4bd6a3bd9dde37bc74d6163d16c3923d48be7abda2aed1bbea0fa13b41d177bd557d45bd264110bdd2722b3c0000000000000000179c02bd8360793c00000000000000000b29ecbc6b95863c00000000000000005f4ed1bc818e903c00000000000000001c0293bc218b593c0000000000000000eea7f8bb1d71313c00000000000000004ec0ae3b2b8f2e3b000000000000000099ca843cf69986bb00000000000000007e338c3ca8dea2bb000000000000000033f8e03ae79dbbba1577613cf62ab9ba68f19dbaf5df4c3c14c7ca3c851093bb70c983bb3b08783c29cce53c717fd9bab0173bbb06c1d43ce06ee53c1b8e0abc462e31bbbdb3ac3cebaaab3cf4399ebb58de3e3a833fc03c343b773ce6cb16bc3e9d0d3b4328883cff31c83bed05acbb4ee9023b790f173c89c11ebb50d818bb9504323bf5f24638b56ca8bb20e69abad2921bbae0c3173a2953b9bb80bc4eba72e394bb9bf1e53a11782d3b59030fbd99cca5bb7a8ebd3a3a7ae63bb9cf3ebd1c192bbb6ae5503a94e8d23b74e691bdc57b34bb441f8d3a6682053c483e87bd935699b9f1e7443aa4c7133b9a8095bdcc08f8ba5be7ac3a60fb6ab90b055dbd810bc23a96eda03835a2a93a2d620bbdc764f73a7183cb39525ab8b67e10f0bb93be2cbd93171bbd4304283c953d68bb270cdcbd1b9e18bdcad3af3cbdcfccbbb5c4f5bdd8bf06bd0f8b9a3c2214abbb5bb307beaec67fbce58f9d3ca645ebbb9e5cdbbda28dcdbbe8cb6d3c4c46a5bb03c1abbdf8e5cf3bf745393c07ffbebbc36d4fbdd7083f3c2195063c784483bb699e26bc85cf593cf06c21bb6c71f9ba8b1d513c78e2323c05f05dbbb90901bbd529443c2f2d02be40c7823f587d8c3eeffd583c8a83e2bd2b4d853f7505543e42f91cbce1d7a0bc164c613f5d921c3e8a7780bc37ea9b3cd74a483f6831983d2a6f98bc709d543d86a3183f98aefb3ce8cba4bc56388d3df659e13e538bd7bc6f8869bc61f9773d728a863e5ce238bd756f37bcaece043d8dafc83d20d486bd5ee70abc457bbc3b0b20dbbcd10568bd304888bd03a16f3c0000000000000000e265a3bdc3a3be3c00000000000000002c4a89bd4472913c000000000000000034be6fbd07adb93c000000000000000086af3cbdb67a7f3c000000000000000043aff2bc45f2803c0000000000000000ffde8fbc68d52a3c00000000000000009c30d73b01925b3b000000000000000025f3503cf3ee7c3a000000000000000024f0333b3821d7bb6bf33a3c404d803b6b24a0baf3159c3b5c2fe53c63322338011c36bb270b883c2e53013ddcca86bb399f8fbb124aa43c1f39fc3c6c4ec2bb09a26dbba9deb83c9f13d73c73bcacbb432478ba0873b73c44f7833cc33706bc52a78b3a3d1d933cc47b243c0a59fdbb8ec9303b55ae263c30bee4ba556b95bbd714423bc484853b3bdadcbbc4beeaba636427bb15a8a5b91acba1bb95a94c3b5cd58bbbf8018339569c383a8924acbc92954dbbb4f530b97e979c3bde452cbd2eb48bbbb84a843a498f1c3cd58360bd8a5782bb80d21d3a16e8da3b01d27dbd737940ba0cbb5f3a4479d03b507481bd79626539d93ffb3900885b3b83fc5dbdfb7e903a3ece853af7c28fb926cd0abde3d1ae3a77d6be394b64efba36fa44bc34f9cfbcef7760bd46fb0c3cdd42b03afd10bcbd196a73bd268cb43c2074a1bb0d2700bed2394ebd0f85c13c0d2dacbbfbd802bec50a0abd1ef2b83c18beccbb520bebbd96e6aebcd96aa23cd484bcbb1b99b4bd00ab09bb3c80733cd8aedebba2c45fbd39bbbd3ba1c3073c1af3a3bb4f9e8dbc5aca853c7baa343bd34a9fbb057ae43bd9a9803ca46d41bbb24713bb88671b3cd84cfbbd74a3593f7bd8ec3ee0e0363c456ce8bd7729613f74eacb3e927088bbe22866bd211d503fda64983e82c96bbc0cd1f6bbe62a333fd1cf4d3e5912adbcc2bbfa3c4cf9103fa4cbe73de880aebca388383d6d8fd63e10d31a3d692e95bc7865383d24de863ed30da3bcb16b55bcb5f8f53cf253e73dc54a6fbddbbb14bc8e10323c968005bc673290bd4fb7c1bdddbf753c0000000000000000c684f3bdc9b2e43c0000000000000000bfe4d6bdf8f0e33c00000000000000001f65b9bd3a68db3c00000000000000000b4c96bdd8c2c83c0000000000000000f0fe58bda621ae3c0000000000000000f354f1bc8365893c00000000000000009ac2d0bb187fe73b000000000000000013b5c53bcddbe03b000000000000000010b0163b4d4bf9bb3556393cb469c53b4e0bf2bac0374a3bc37cd53c59c8a43b2202a6bb5791093caffcf33ca6da743b07dd9abbb6bb783cfa9d0c3d2410c33974c1dfbb84ec1b3c6c8ab53cd41f403b802a40bb81f2a53c8e96b63c9e30c7bb6efa18ba1a40853c70580b3ced31b8bb4401493a684a353c829a313a12f0aabb7c6e0e3b67d3af3ba5cdbcbb31d39fbbee4736bbf60a6eba1ed2f3bbe43dd13bdcc1d1bbea20fdb9d06cc53ae1d13bbc956dd3bb620555b76f6dea3bd918cebc942fe0bb05dd31b966ee013c5f1422bd671d7bbb859ea8b8a245323c5e8f0bbd32e729bbc33c67392de7063c0aef5abdf30c8ab967ec323aae16a63b75a03dbd2611833a1d6f5c3adca6dd3ace6e03bdfd860e3bfab2ae39a59a82ba188c6ebcbc978bbc219682bddeaf9d3b22766a3b216ca1bd599fa3bd29e0b53c65cc7ebad7a5e1bd60ef8bbdf5e1b13c151adfbadfcb00be2ab064bd5464ca3c5c6248bb490fc1bd26b420bdb2b2893c575e8dbad71cc1bdccd173bc5213943cca7cbfbbe3636bbd2e802c3be9e3263c10aea9bb07bfb2bc10c3593c6c35703b5046a6bbbe53983b2cc0973c618942395a7163bb570b1a3cee63e2bdd8832b3f9ef6253f26472c3ca2dfdbbd7e3b343f0fdb153faa16c9bbc52368bdca03293f4223ec3e4c8079bc3ff5abbc1fb41a3fc830ac3e29b28abc629ba03c3093ea3e6bb66a3e238bb8bcfc01e73c338ec63ee8dadd3dceb28fbc88c1063d19c87d3e653cdb3c3a7f4ebc92e4c53ca679ef3dafb937bd3fe405bc57df2f3c9815ba3ba7b09dbd638ee3bd149f833c0000000000000000df0017be33f0f23c000000000000000019eb01bea583d23c0000000000000000c0a3f3bd81e9ea3c000000000000000085cbb1bd59fe633c000000000000000029789dbde460d13c0000000000000000865e42bd73d0953c0000000000000000874091bc78364e3c0000000000000000c0e7d7baa3a51e3c000000000000000035c7123b37f407bc7b70113c310b1a3c67e26cba15a94fb99874df3cc987273c0a3281bbeb31bf3b4a8e103d82fae23b0393afbb9a403f3cb9640f3dbdcce83a0ef5abbbaf8c7b3c31cb013d5d2a9b392f136bbb1bbb8f3c676db43c38e998bb05abcaba8c46943c4202433c7ed9d0bb8d8bc43aa57c2f3cadf6a73941eeb3bb227adb39085cf93bf400a3bbf38caabb54ba61bbbfef54ba62a6b1bbb6e3f03baac00bbc25396bba080234ba4e19bbbbc4b503bcaaa984bac7bcc93bc9e685bc94e3d2bb520711b9b2db1c3c8abce9bcdf93cbbb6e3693b9d3561f3c9ffd14bdf6a106bb31a244390171093c4e7b2bbd533986ba59832a3a8083e63b849c25bd88b2053b4afc6c3a5b31733bc515febcf931dc3a5d2a5c3a33a60aba2b7776bc70d517bc21ee8ebdfd0a093bcd1c823b1f2f96bd72d0c7bd498aab3c1c68bb3aff84e0bd630dbcbd3d68cd3ca4d44d38b384f4bdbec794bd48fdd33c8ab631bb5970e9bd6f3258bdd59ac53cb19129bbb02dc1bdb845ccbc5d938f3c32d1afbbcc7e84bd11d364bb923a5c3cb7e6c1bba508d3bc77eb673c9aa07a3b0381dabbc170e93af84b9b3cd9da70ba6e1f7cbbf1831f3c12b9c3bdea4ff83e41dc543f30e64c3cfcbdc4bd48c6063fea67473f9b0e3cbbec417dbd5990063ff97b223f660545bc8b7501bdb5bafa3e1020f43ecf4c91bc4b439dbb1ebcda3e9653a63e5ba690bc863d003c9f98ad3e591c3e3e90e086bc4381813cf07e6d3e7688863de79b43bcab514f3c44d7e43dcaecd7bc5136bbbb1ed0ff3b5ce4693c86e5a5bd383900be1348913c000000000000000068e62cbec7fcff3c0000000000000000d81a20beb5aaed3c0000000000000000bb600fbe04d8ee3c00000000000000007d92f4bd42f8db3c0000000000000000ef4dbebd252bde3c0000000000000000d6e483bdc4d8bd3c00000000000000004cc2e0bc20307e3c00000000000000001351b3bb6083533c0000000000000000ee86e03a28b0cbbbb14b473c5b301a3cb1868b395e110bbb0b64e93c5270483c01485fbb58cb593abd4ffd3c9251543c458e92bb85bdfc3b3f36173d1ac4df3bb765cebbb024113c0ec4ea3c8f179e3bbe1b8bbbc668783c3f73ca3c5cb841bbacdf6abb992f4e3c6c9f743c86fb3dbb70264fbb3d06533c1ce4143aac6c8fbb7a52a13af7e9b73b737eddbb501da4bbd305b9bbf712233831bc8bbb3c3e2b3bceb11ebc2ccf5dbaa587bb3877ad62bb228200bcd538c2ba6866cf3bba0efebb6ab2f4bb568fd2baacfe0f3c509e91bcd488bdbba3c934bab8b5413c5738a9bc6b8b78bbe213c23857342f3c63ebfebcfc8c2ebb27e2ce392c9f023cedb8efbcb8a81c3b12b13c3a79eccd3be8b5b8bcbc251c3b6417a03a17af943a687639bc9e901cbc273c99bd6cdc9e3bf4a5563b5d9c8bbdf0cae9bd59c2bb3c0ebbcc3adf65bdbd249cd7bdb89c9e3c0db2443b84d2eebd9380bebd3ea1d53c3ebeca396978d5bdc2b284bd437ea53c3220b4b747fac4bd49ab1abd5ac2b83c87b697bb327282bdc35878bc71e4603c11df41bb38bcdcbcebd7263cdfca8f3ba3a7f2bb960a8c3b3b05b13ce2a8443a52c4c8bb7ba3433c956c95bd20b4973e2e05813f14eb403c0b1a9abd4806b03e0821773f7340b5bb1af72ebde2eab93e3392453f1889febb87c202bdffc9bb3e7ef91d3f79c680bcb54e3bbc8cdba53edaa5dd3e9cc37dbc9d7598bb99328f3e28e2883e079e63bc7c1e383c7732413ed4d2063e44ad0ebc4de0093bd19fcb3df35400bce49795bbb55d483a5537363caef4a9bded5d09bebaa5a43c0000000000000000b21f3abe14c9013d0000000000000000e28718becc68a63c000000000000000059bf1cbecf10da3c0000000000000000f923fbbdaf9fa53c0000000000000000c172e0bd86f3d53c000000000000000024899abdebb39a3c0000000000000000930315bd33c3893c0000000000000000f305f9bbfbd04b3c0000000000000000d4f6543b10b2d1bbf36df33bfd2a6a3c68f70c3ac237deba8348063d076b753c891f17bba26e9b3a84cc1f3d584b553cd2209dbb2009843b886b263d01402b3c6a39b6bbf1f20a3c23850d3d1b2eca3b886eacbb6599543c150fe23c85aca338d8593cbbd82c653c5c2f7b3c47248ebb1f7de9ba6fc51f3c081dd93a80a1b5bbbb1a86b9ec42c33bb04ba2bbbfd48ebb3dedb8bbd00b17bad05ca5bb42f18a3b1de94fbcbffa7bb96dd37b392e03ecba5a612fbc2cf502bbcf83a23b50132ebb923e22bcc7cfcaba162afd3b0761e3bb6f9800bc4d538fba60d6313cdafd64bc94409dbb0f122dba8dd4243cc057a4bc6eee18bbd65d073a807e1e3c456bbdbc2f45363b56f7153a2ea2fc3b24d98dbc09acea3af4b1bf3a17ac4f3b232633bc4e0b1dbc61eeb9bd3ee42ab99995793ba36790bd08f004bef3f8c93c84d0013b6eb6d0bdbf9c05beb230d93c54239d3b4504e9bde05de5bd05a9d33c197e4f3be106dfbd3480adbd6824c93cbe5eff3a5815c4bdf1885bbdd267b83c06e901bb84a38bbd7b79a4bca654963ceb90a1bbeb49d2bc80b3173c37fe5b3bcf0bd1bbfcf5913aed25b83c34213c3ac53fcebb89c5483ccf103ebd629dea3deaef983fd9292b3cfecf30bd82ec233e7fea8f3f832cf03902d615bdaa59613e933a713f5375ecbbe279dbbcd7d57b3e0b723d3f97ac35bc251781bc90e4743eda67093f91fc59bceb8428bcf3e8573e8a25b23efb122cbc3702ecbb59f31e3eda3b2c3e63d4dcbbd981f7bb90ec963deb114e3c290630bb5ccce1baaed31b3cf365b7bdc304fdbd76ac8c3c00000000000000004d0c2fbecf43fb3c0000000000000000829e23be856ba53c0000000000000000f15d1abe2398ac3c0000000000000000f76b08be2ef0963c0000000000000000da6dedbd2e0ab83c00000000000000002c9fb0bd2ed8a93c000000000000000028481ebdd301843c0000000000000000016391bc0421653c00000000000000000000000000000000000000000000000046603c3ac65abfbb853a9e3cd038a63cc90422bb1a76b1bb1b70f33c65bd973c11aca8bb213604bb4fade33c29608b3c2569b5bb72762ab99ec9e53c8890433cb9129dbb0cbc433b2be9c83c0295f43bc5f99abba2dfee3b7dc3853c8eb7be3a702628bb49f30e3cc910fc3b24bd54bb0000000000000000000000000000000000000000000000000000000000000000f955c2bbea47e8baa98f58b73343e03b3997dbbbc1e901bb557db13b8385ca3b3c1e8fbb220b3bbb6e1a223c797a683b20436ebb47e60abbacaa223c39e333b990528fbbf1c3a0ba3ece493c7e55dcbbd2821bbb1a41c0b9ddee1b3c40c640bc076962ba9cbaf2390574af3b7b8d37bc0000000000000000000000000000000000000000000000000000000000000000123b54bddc1c00bea53a2d3b76f9aa3b80c99dbd74a1f8bdd97f213c98d4b63b844baebd97dbe1bdcc3c203cfb95c63b8015b4bd6207b3bd33ad4c3c0739913b0f71a1bd5dc182bd962e793c187e2e3b87f670bd566302bd969e4a3c0551b6b9e1ef09bdcd858dbb1fc7113c481c0abb000000000000000000000000000000000000000000000000000000000000803f90aaa53b596d8ebc3a27a13c20cf983f71d513bb7d6471bcba68a23d059c7d3f437014bcac2e26bc4e81f23db2824c3f01b11ebc2814f8bbce6b093e43651a3fa78f53bc8aaa0ebb32c3013e4480d33e018b24bc94c509bb488fc83dc1056a3e6776b1bb23383038f58a583d95a55b3d0000000000000000000000000000000000000000000000000000000000000000667ecfbd785cb03b000000000000000004f0d4bd2de4863b00000000000000002695d3bd79e406ba000000000000000007c3cfbd9cc09bb900000000000000000eb8c3bd4e2c623b0000000000000000266198bddaeeeb3b0000000000000000f8ba54bd9eb31e3c0000000000000000000000000000000000000000000000000000000000000000000000000000000005b735bc6f83843c1711363d085fea3a24745fbbb32d853cfb8d1f3d1f1e0b3ce7007cbac911963c811cf23c6340623c5d719a3bbcc94d3cbd48c13c7a3a3d3c88ebb13bfcb1ea3bae1e563ca339353c57077b3bd2b8633b772aa63b5580103cfcb3f13ace40fdb82c3dcfba2834a03b00000000000000000000000000000000000000000000000000000000000000003319bdbac39795bb8022133c0e3100bc67d62a3a18ef93bb7a9a633bba940ebd7a42cf3a5cffbebb7627da3aa08b4dbdd8b5bb3a922a8ebb25bc72bbefa94dbd4ab3a93ae8eca7bb8060debb3e2b31bd1014aa3a6abb1bbb8ea6dbbbf372f0bc65deddbae9e173badac100bc5008d0bb00000000000000000000000000000000000000000000000000000000000000003efa72bee673043db8a70dbb166449bb2bbe60be8ceea23cd319afbb2dde93bada9850be63ca033c1e2daebb388210b8b67c26be988ea73b8b8a16bc697f393a461adbbd53d51bbaf2e5c6bbb67eb13a33295cbd3288d5bbf461f4bb65133c3ba5d0d6bb8118c6bb76858dbbafee3b3b0000000000000000000000000000000000000000000000000000803f000000002990b73c3de6f4bdf782af3f739b1bbeeb3f7a3cc2c024bd52e58f3f8441dfbdaa0b5a3c98af04bc9487703ffd3cc0bd6f13493c4e1f983ce4ba313fd6018bbda2424b3cbc4f163d08b5df3ee9a813bd4a5be83bc289253dcf3b573e42616cbbddb48d3b4142e53c97aff5bb2b99b43c0000000000000000000000000000000000000000000000000000000000000000c210ef3c09a131bb000000000000000016e2a83c411fe33a00000000000000007b4a8d3cdd88263b0000000000000000361d833c45de3c3b000000000000000052d3083c9276263b0000000000000000e25c463b038e303b0000000000000000b1d3fabafb4063ba000000000000000000000000000000000000000000000000ab1040bc3b85593ce751833cdb4c033931554dbc8245813c573d013de9dc6d3b8d33b9bba479bb3c1c08143d5faa3e3c4a22e13936eda43c4a88083d844f773cd408383b345c993cbe47af3c0894603c72cfb03bb03e513c3c1d7c3c0514783ce45b803b1650183c53074a3b7bc0443c9408133bc4d2a93b990f4fbb8f81eb3beac2b5ba5a5e4c3a2e0812bcdbd3bb39d52d35bb888a3cbb910c6a3cb272303b156f29bb40e12dbbe681723cace522bc630bdbb8e42d17bc8cb5703cf73e2ebdbb51833ab92d24bc6224143c8eb654bdb83e973b7ca8efbb682d483bc8515dbdb4e2a73abe41e6bbc74037bbfe1d3fbd32078a3a92fcbebbd52b8cbb3cd3f5bcccb305b91f2c66bb510fe4bbb6e84abcd537c6ba30072dba0996f1bb4ac85c3c81e0f8bd7e868e3c66b59439931203bbfdd43abea90a873c88f8bcbbb620863ac16466beda040a3c3f2281bb8bb9ce3926165abe33a6c73a0045e1bb51d0b43ade562dbe77b5dabae6ba2bbc0b07443bab5bfcbd3717d6bbbf2e2cbcb0d8ac3b8a547ebdc29829bc19ba0fbc01659c3becc19ebc634f0ebcb9a564bb0ba8ba3b3d71903c385002bad4f8cabaf18e663b27b6423dde6f7abee59eae3f209d9ebbc85c193dbad833be54f19b3fb2b4183cdbd3ee3c7ba509be8704933f12b3b9bccaf5d23c4629b3bd2818743f29f9d2bc867dae3c804241bdd76a383fec09afbc6b91993ce1f06cbcc5b5f03ec9589cbbfddf4e3cd763593b65776a3ec85e323c5761a23bfa4d4f3c4ca0523d6fd4b93c70aede3ba3eb47bb8637e7bd1678963c1ebc84ba076df2390000000000000000d89f813970255c3b000000000000000097b5443ba7b4e33b0000000000000000ef22883b136e243c0000000000000000a741443bf8c8de3b00000000000000008f83133b91c1cb3b0000000000000000f70fe8ba1eab833b00000000000000006bb216bcc774433b0000000000000000c3126bbb2cc4faba00000000000000009a3bf7bbe63dd73bf6759a3b9ced9f3b146e1fbcc6b6923c972cab3c2601523c3c79a2bb0f55bc3c4b7bd53c3a848c3ca4bab2b992e5ac3ce4a2c83c7240943cfb48883b9f99723c8f929f3c7a127b3c141b133b1215813c62ea183c615c823cf4b1533b2dfae03b6177683bae8b0d3cc452033b774bea3bbcfe91bbfcf6803bdee2ee39515d373a3d9704bcc25ea03a1fbb80bb14c93dbb6558933c0f4029bca9fbb4baf3eceabb3cc9bd3c9dfcd5bca593423aa7b62cbc0481ae3cab0848bdccd06d3b5e6922bc7ce6813c672665bdd25f673b3a7606bc592a253c86395fbd9742183b046036bc9698c33bb06c3bbd33bd163bf33db3bbb91380bafb03e5bc80c8233bde65abbb9171adbb685a12bc7c5cd7b9e03c2ebbfeb5a9bb3454f33ba0e47ebdb6ab28bbb908833aa7dd8e3a331322be263767bc45ab87ba2bc3db3adaa147be7a9e82bce03c72bbc657753b964046be96d684bc0c3fd0bb981d093b653e23be192371bcf89b08bc625e663b00f2f4bd4d5c4fbc6010f3bbb332b43b927982bdbea00ebc1f59f1bb46e99f3bc022c6bcc9e662bb987788bbb9a28e3b541bc63bb133303b232647b9df528d3b06383c3dcf0470be3f918f3fecbd633e5d85313dacf865beae19933fb377303e4d63113d07e836beecb9883f9c0be73d7514f33c5d7509be3cfa673f9a0d993d5155da3c507bb4bd54c0323fdd72343ddc9dad3c89df5bbd537ef03e7df0043d4899813cf433dabc99f0773ed8eaad3c88e7413cf87b52bc76146e3d97747e3c511ad23b829e6fbc617459bdc28808bb0f9c4cbdb93a453c0000000000000000cfe22ebd638a4c3c000000000000000073f0d6bc268c563c0000000000000000ba7e88bcd30d3c3c000000000000000025801bbc5b181d3c0000000000000000d2290ebc72ed0e3c00000000000000004ee3cbbb052cbb3b0000000000000000dba9f2bb95de783b00000000000000008efaa0bb022e48390000000000000000dff82dbb02d7423b0f89363baa6a413c63a6ecbbce9e423cd1ee853cbbd9903c53e0f8ba7418903cdd05af3cdf79b93c50532d3ba4e98b3c644f9f3c0edfae3cf6972d3b98de903ced1a533c8f5a9c3c924cb33b2c55313cec7f173cb661773cadfba93bd34b3a3c10df64ba4856243cc1ec063b38318e3b26727dbbc0eda43b282dd53a45b2003a0a34c4bbc57709bb00b9d2bb11a3acbbd994a43cdb1ea8bc339ae0379b5e0cbcf964c83cd68cebbc0019a73971d226bc942fc43cbf2343bd4c77363b9ad33abc64a4a03c41546abdc8fe7c3b5ecb1bbc265e5d3c9b6364bd3995633b3ec41abc4604063c995a3cbd4a6c873be52b24bc22a12d3bf54f02bdb6cf7a3aee95bcbb767840bb982728bc373b983a16d45dbb0c7015bbe8c19f3b631725bd6a0400bdd32ddb3bc598853b0cb1febdd6d04fbd96e8c03b32ef193b5b6b29be2cf45ebd79cc613b6239003bdf6229be939e32bdac997fbbf7a6ad3b8a8615be49910bbd32bcd2bb5cec243b304adebd89ddacbc7d531cbc05f8c43b5a8882bd7def3ebc9caf05bcef36c43b39bfd7bca3432439003986bb2efb723b3fc8823b441a233cb6bdf4ba625e473b90751c3d90065ebe59c4703fc56de83e2dd0243d1eb75ebe04c7753f0356cd3eee9e063d02023abe65e86a3f29839d3e9441e13c7e8810be547f4c3f3b4d5a3e9ec3cb3c6dbfd8bde37f233fec2f0c3e2d10a33c4baa8ebda163e23ed088a63df36e783c5e8d27bd533b793e9e490f3dc6ed423cf295d6bc5a24a43db2e782b90988173cbfd0f6bce98d0abd8d9706bd30b6d7bd1ee7b33c000000000000000068b8cbbdd71adf3c0000000000000000181298bda96bc93c0000000000000000512340bd7992a93c00000000000000009bfdf1bc1baa8a3c0000000000000000b99696bc51be3f3c0000000000000000716df3bb2125083c000000000000000000b90cbb40bebb3b0000000000000000b361863b943e633a00000000000000009c3770bb5f8f203a7654d43ad656763ca0845ebb3391f33b1cba653c4da4b53c1f9600bbade94a3cf19b9f3c5b59d23c5a2db6b9b1e18f3c38387b3cd1e8bb3c66f88e3b88835f3cf3e60b3c55c6923c58109b3bd49f373c2008003c66616f3c705e7e3b2545f63b7579893ace73073c6c45ec3a1e5eac3b84c785bbb650913b5e6803b791a3103bb9cbe3bb4e4482bad5ee47bb61dcf4bbd077963cfa9ea6bc77241ebb36eb0dbc8925b33c53afdcbcc966bc3a30432abc4bc5ad3cb75228bd97eb4a3b91991fbcddf9b03c4d3555bd6885593b123ef8bb3873633caa0958bd5571753b779922bce7c05b3c534a48bdb21e443bf738d5bb62f3943bbf7201bd7e69dd3a9dc5f3bbdcd5123bbd2463bc83138dbac66d92bbf619cfba0903813b2e3484bce67479bd0555503c677ba83b8728bbbda38cbabd3dab813c9664823bd23608bee869c5bd831e4e3cf4b8413ba8ac0ebe654fa2bd7e4f2d3bc1020f3b19d8edbd75b45ebd0b8499ba7e57433b9ce3c8bd26a000bd2c78bfbb7a59513bb51067bd465c50bccd7407bce604733b66bec6bc15ad143b8a9382bb6b10683b8532af3a74ee683c9aec8138d205963bfab4ef3cfcab35be4ad5323f6260353f667cf23c474f35be4ff93a3fbb52253ffa4ccc3c4be81bbed1d3363f778e073f4daaaf3cb6ec03bed92d273f8daac33e4cdc733cd665b3bdea8f053f1480813e78918d3cefbc95bdab50ca3ef4c9073ec217463c50683abdc6ac693e929b423d31eb1d3caac6fcbc795ab43d10d34abca570dd3ba2eae9bcd0af7bbcf9a76fbda26f25be16c80d3d0000000000000000d03b21be176b183d0000000000000000767000beaff5083d00000000000000003e53b2bd0d01e53c000000000000000043716cbdaca8b33c00000000000000005ae8dabccd067a3c0000000000000000480806bc15352e3c00000000000000008ded273b6f6a923b000000000000000046c1193ca92e743a000000000000000003c1b8baa58f5dbb0656553913c6843c5aacb7bbc65d343bf61c453c9370ed3c166828bb4db5093c81bb923ce50ef43c3394fa3921b4243cf6798f3c5f81d53c3db4c83a6b54583c9f82463ce8b8b43ca8a04f3bea14273cf218f23b552a853c45b8753b16f19c3bb05f773ba217003c02286c3be403a83b2ec734bb023c053b61f11a39cdad84ba47c7cfbb61d6b8ba97fe84bbcca9d2bba356763c23cc63bcd55129bad1e429bcd332923ceab68bbc565a1a3b42552dbce2b2a23cd6f0eebc50248e3b55031fbc07af983c7e3321bdda8b783b366210bc3412803cc48030bd8dda313b53fd1fbc591e553c495724bd11b6843b690d03bc204ef73bfd57ecbcbff7303bef25fabb4637323b19a078bc17192eba3d78b5bb9f005a3aa54d713a6d11103bf0aaa8bdcdb8883c556fb23bb1d377bd55950bbe162fda3cb10a823b061ccfbd70cf10be08f1893cfc1a853bd472e4bd048af5bd93860f3c64ed993b8415d9bd3fd3aebdbd092d3b4fc9283a115db0bdf3e147bda54067bb135a633b37d965bd8c959bbc8ac0c4bbef2bec3a3b89c8bcb381683b74fd94bbbb4d333b40b02d3bb0889b3c3cd2c93a0b6d473b1639763c97ecf1bdf96de13e33a1733f9ab79f3ca62bffbd64f8f53ece69633f81db7f3cd135efbdfe68fd3e8822403f6703663c231fc9bdaf14ee3ea15f113f2ce65a3c31cfa8bde833d23ea0f5c13e91e61b3c047288bdfec0a43e29d6543e4167283ceb1d41bdc28f543e04bf973dc1f3fb3b174a0abd2c3bba3dac8b8dbc65f6af3b99f7d9bcd3234f3a2253a8bd75b150be1287303d0000000000000000bec652beb77b433d0000000000000000fa162cbe9ffa283d00000000000000005938fdbd8c38053d00000000000000003c54a1bdfb5bd43c00000000000000000ae620bd1290943c0000000000000000cab72abcd771243c0000000000000000bcd3073c150d943b0000000000000000b9dc453c0430023b00000000000000002db325bbd08ef0bb73bd113ac3ff9a3c7ddfb5bb7e035dbaa8bf1c3c033b073d697396bb7a7c6a3b1a7f953c5660133d5cc727bb562eeb3b02ec8c3ca4ccfd3ca551a4b9226eda3b0699423c20e1bc3c5b3b383b1db4bf3b6fa5093c0008843ce06f0a3bbe50c23b5aa9573b3baff13b82e8af3aaf1a1b3bdac902bb895b643b4007c83ab01d54b8adb180bbb9d847bb603997bba110e2bbd4cb413c52e9dfbbf9662bba98e123bcf50d693c016c0abc4f660d3be87534bc28a37d3cf64d5fbc05378c3b70c117bc39c2833c97d9d2bcc31d973b2431f2bbda54643cd727f7bc0888113b2f22f8bb040f653c431f03bd98375a3bf89207bc5a1d133c5ef9d1bc431b9f3a59a5babb5682a53b996f5fbc70daf3b97d4467bb919ae93a218f2dbb2fcf873c0603c8bdd434e23c3b2e773b1314fdbcabf733bea380103db85ada3aaca48dbd479341bedfaede3c58bf563b68ada6bdeb8e27beba90813ca654193b6b48a4bd48f8f1bd55860e3ca51946ba133f8abd791e96bdfa419838df2cc3b919973bbd56fee7bc87e844bba4abe839711eb2bc95529b3aae0e4abb43a8dcba16371a3b99d9a93c3c68d3b90bb77fb9cd4fe73b8cdd70bd79d0533ee52b903f70e3da3bbcf088bd68bf773e85db8c3f71f6bc3b2f9383bdabf2893e1631743f4abccd3bd07577bddfc28f3e2a9a3d3f8ddfc43b5e3d50bdc613873e1a65033f99dfee3bf4a03dbdc9566a3ee195973ef647773baab90abdcfd9273e6dabdb3d5fc0df3b7fa2dbbcc3cdaa3de10d89bce98c253be1569abcdb26343c0257c0bd8e0362be2cd7423d000000000000000028086dbe4f185b3d00000000000000004e1d4abeed313c3d0000000000000000c12b16bec6db143d0000000000000000957fcebd0f52e73c000000000000000097994ebddaf9a93c000000000000000076662cbcfa28253c0000000000000000be21423c135eac3b00000000000000007096c13cd70bbbba0000000000000000965281bbd362cfbb3298093b4387c63ccefb90bb0f4fbebb30d4473cbb39163d24e0a4bb1f5adebad1eca83cc4e5203d2b2385bb5c614b3baf719c3c40ad083dce18cdb998b9a43b4eea883cedf1b83c2113d23ab0bf3b3bb9051b3c95779c3c34f3b93ad0c1343b70aba93b8d030d3c6ae43d3bb8c7d93a37acbdb900bfb33a8c16803958e231bada1799bb9e58afbb09da67bb7d3107bc5534883b97fcfb3bbd0140bb129a32bc9422ef3b4a0a723b00153b3b90af05bc5b8d233c79bc0ebb1fdc843b4b75d5bbe4ad2c3c66121ebc5830513b856f4ebbdc04103c95d587bc95ce013b75bb60bbb3af323cd4acadbcc64e553b22786ebbea9dce3bcff08ebc5d414b3a7c78e7bae62e8d3b699030bca6d369bac0a083bba379883aeb0214bba422973c1aa414be3353223d34fec13a2b5229bc883047be35013a3d495f2dbbdb0b42bd385466bee090063d52f8fbbacee571bd21774cbeb36fa43cbc5cfebaf1ee7abdd21d1abed118373cf91663bbd7c157bd1b25c6bd181ce53ae60e84bbf78a11bd0ddb32bd5f6a8ebb266246bbf0c590bc970696bb7cb0b6bb3c793dbb330edc3b4db4f53c23f98439933bcfba64ae9cbba2cdacbbf5a785bc02efae3fef198abb7caf93bcd3196d3d9c99983fbbe890baef39bbbcfd04b63dec7a8b3f071e1cbbe141c3bc5b84f23d212a5e3f0b581eba15a4b3bc45ae073e795f1f3fa23f84ba1856b9bc8f57053e59c0c03edded553b4602a8bc7414d83d28ce1e3e36c7d93a8cfb9dbc92da873d5ccaa23b2365fb3a97accebb0ceddf3bd9430bbe814d73bead38493d0000000000000000f96149bef8853f3d0000000000000000a06138bed3ae203d0000000000000000562310be3cb50a3d00000000000000009192c8bde3f0cb3c00000000000000006e5f4ebd7883833c000000000000000030ab2dbc7da8043c00000000000000007cf89f3c94acc9ba0000000000000000e802083d20dd75bb0000000000000000000000000000000000000000000000002bbaeebb1ac428bb5632823cf1072a3d0c56b7bb7d5e63bad4e0a13c3ac7123db6865bbbbb4e763b5b179c3c88ece43cadda67bb1f55a33bb4307b3c25e3ac3ce6112a39e8ab6b3a7c5c5a3ced4b443cd1253e3b6dc55b3bf1f2753b71aac93bb6a4bf3ad6b899ba07e2f23a6ece34ba000000000000000000000000000000000000000000000000000000000000000095fd5539bd11f5bb2a03363a0b918b3c855246ba0ddfa8bbbac00d3b746e273c10b08f3bc1bf91ba70e8b73bd844643a0274403b9b7323bb8353bd3b85719bbb0f01813a3c7604bb910e633b368100bca79a3b3a9e28403824241f3b3c4837bc9ad784ba235e87ba2dd6373bff4603bc00000000000000000000000000000000000000000000000000000000000000008ec86ebc1bb872befd03183ded9686bac33c11bdb33160be720adb3c98be19bb563d4ebd86364bbee1e4213cda6d31bbfd7b48bd4d5321beac06e83be7e6a8bba05021bdf478cebd6f2ede3a0e92a6bbc767d3bc420e50bd525235bb5b36d0bb7900eebb9b81a7ba167842bbf99883bb000000000000000000000000000000000000000000000000000000000000803f972d03bcb9349e3c68d1e4bde7c2ae3f1cef0bbc3f4eca3bb2d6eabc729b8e3f0c1bd5bb1bc82b3b9da1033cd5096d3f3e8abbbb59dc553a59660a3def912e3f18191ebb28dec1b90beb453dfa56d93eea243fbb209cfd39e4de423ddc1d503ef747ba39c7b4693ba254d23c96f51fbc0000000000000000000000000000000000000000000000000000000000000000d0da1ebe916ff23c00000000000000009d12e6bd9200c43c000000000000000050b9c6bdf5eb993c0000000000000000e3f892bd59309e3c0000000000000000b59221bd4e2d5d3c0000000000000000bb6000bc55a78e3b0000000000000000d0338c3cc9d882ba00000000000000000000000000000000000000000000000000000000000000000000000000000000c24a0cbc0f35153df407de3c1e866fbc3c9c373b79561a3d47a5b43ca32f49bc2f810a3c60eb153dd1267f3c6ae5c5bb2a0d5f3c69cede3cb5313c3c24f9a5bb5963413c4179993c007dee3b8f9c3abb590a2d3c2cda163c94820f3b61d501bbb1afa43b7f10ab39a9a17dba9825abb900000000000000000000000000000000000000000000000000000000000000005845ad39367a88b96e1c893caad956bd5b41533b8a0ee0ba7305b73ba01db6bddf71293a63ebb8bad44e46bbb1fad8bdad75453bd890c3bae3ce4fbccaeecebdad79233b36a902ba4dae90bc64579dbd2b29ba3a12f22bb9499979bc442c41bd97f0de3a6cf473b9259e25bcde2317bc000000000000000000000000000000000000000000000000000000000000000036dd4cbe1962923d24e77cbcb89680bb6d1128be0010843d260da2bcda5621bbd03a0ebe6781553d6d6f9fbc86e55dbabb80c5bd28691e3d9d2d9cbc6676f737232267bd413fb53c0a6b82bc235d8a3a6395c7bc5515ab3b5447ffbbb96cb93ab53d9d3aa3d9dcbb98ff98baecdd1db80000000000000000000000000000000000000000000000000000803f00000000514e433c15d9bdbd100fb13f15545ebe16c905bc0a7cdb3c4e708e3febb153bebb8086bcead7be3dc530673fd0d551bedd5c8fbc09ff053e85d7233fefa730bec99654bcce4c093e19ccc33e1c7cf4bdd07ed4bbaba5d43dc237293e25f943bdadc7b73b0f14253dc0cf97bc71733e3c0000000000000000000000000000000000000000000000000000000000000000c02e4e3d0c08b1bb00000000000000003851573da06c3fbb00000000000000008738743d31bb5dbb0000000000000000b9f7623dcc637ebb0000000000000000a052363de6ca89bb00000000000000005e3bb83cbb3b15bb00000000000000007881173b399f9dba000000000000000000000000000000000000000000000000b39f2abcd8439a3c5774333c1c4fd0bbf42550bc6ce7123d614f8f3c0dff7bbcd7279dbbf2e0383deafeb83ca4bd47bca95a363b51bb2e3d495c963ca78f3dbc3865043c2a740d3de7a1393ced3be2bb6b55343ca9f4cc3c6c40d53b42f867bb6504083c2f1f613cd29c243bc70f48bbea4a823b74cfc63bda9b8dba58d9b0b9f1eac7391f1141bbd4bc74bb2552b039d84015bbf191223a3007923cbba23ebc17290f3ba483223b4c61c83ccf8056bdac59313b1de1ab39cc4fa23cf635bbbdf547443b7f8bceb92c34403c5e3ad8bd4b1b8d3bcec21fbaf69834394fbad2bd2ba8353b516275ba3a8fd8bb75d4aabd9547543b97701438598924bce00d46bdeea9033b231d22ba447323bc088472bcb14fb33acbb08038008093bb78ef883c2ac9e5bdcf61d73cec90e13af189bfbbaf2d18be7693453dc6f72abc9be6cdbbc71b35be06d9623d81e783bce8ddb7bb204e1cbe983d5a3db2b49bbcdec90fbbd6c9e3bdb49e293d4f17b1bc1b1742baf8ba91bddf33c53c265c81bc3878a4b6d84a06bdc4c9093c86c338bc56a8573a5abe33bc4a58deba068e89bb47fa203b8228553c02e2e3bbe746f4ba98dde63ab9bd553d531e83be92ccb03f19a33fbc02b0db3cf88720be41799e3f976551bdc784053c0f6bb0bd3243953f1c8803be49ceb5bb8b9e63bc181e753fa4bb21be9f7113bca246403daf35353f42761ebeaac325bc822c893d02fde63e7d4ae8bda36961bb9657733d7ae1583e25b770bdf6ed533ba26c003d02d23b3dd912e2bb48df5a3cbe36a7bce025ccbdfd21c43c4438a9bb584f0fb80000000000000000d092283cfc978f390000000000000000fef5003dbf488c3a0000000000000000c4bf3a3d3097e9ba0000000000000000ed154f3d3cfd06bb0000000000000000d604293df0a9ecba0000000000000000e8efda3c00af96ba0000000000000000b9d9313bfcb443390000000000000000e2f36fbbf80192ba00000000000000000f6217bc33756e3c2981bc3b9a085ebb43863bbc7a8b1c3db048463cff1df0bb7c9f07bc5632483d5c7c953cf5cb1fbc36a01b39dbf63c3df31c823cab6724bcfa46a53b6f111b3d49fd3d3ce85f03bcdbf5fa3b9a2dec3cd92bef3bc0c8f4bb46218d3b23a8903c8850043bfe25a8bb1d1d283b8b64f03bdc6195baa64035bb2bc76fbae7b0ae3a554f7ebb626bc7ba170e5abbf4d6083bafea853c418585bc7ed0e1ba8b2cf13a464cd53c44b96cbdb709013b64a58e398707e23cf21bbfbdb2663c3b7963f638c394a43c492fdcbd9174233b02bb963a8b6fda3bfdd0cbbd85969c3b7207b4b883cfafb95e37a5bd74e78f3bdfe02239866f65bb13b242bd600a583bd64409ba3d9dd7bb4bc56dbc4294b83a14a34239484059bb84bb533c735e72bde21661bb4893183c84c4d3bb1bd70bbeab889f3c0975e43a2393e1bbbdf923be186a043dab05eabb5701c3bb1d1d19bede12263d852272bcebef87bbd7aee8bdd7b30d3ddaca91bc1b138bba513999bd7f26e43c93759fbc5c31773ae29221bd1bfa853cbd1e6dbc08525d3ad98b19bc68b12b3b278eebbbc163253b6a83d63b622e37bb512781bb49af533bb7a15a3d7f667fbea3e2913fde11693e5d51223d672262bee9fa973fd4ddde3d2402953c678918be3dd08e3fcc4c613b9c7d9e3bd7efa3bd7b28753f018f97bdfb0b22bbb2cda2bca39e3a3fe29ad4bd9ac8a7bb0a85693c6e68fb3e72b3d9bdb1e091b86a1ead3caf6e813e468195bd5583da3b10f1d13b6bb4853dbf36fdbca2e4493c9cf1bfbce96e4bbd48d7ccbb630d89bd3d1f473c0000000000000000a7242bbd3916363c00000000000000008a9015bcaccae13b00000000000000007dd2a33c27044c3b00000000000000004287033d9862b73a000000000000000056c21b3de8a013bb00000000000000006da3023d126541bb00000000000000000be3823cc39b50bb00000000000000009806d53b70c1feba000000000000000032b512bca424623c27a4d13b5e4aa43aa40f46bc4b9e0e3de0348a3c64f9b6bb6c3d1dbc6df3443d27e18a3cd5f3a2bb8b09a0bbb9a63f3d1e3c913ca7c901bced91ee39641f2a3decd73a3c7548f8bbc2f02a3be455023dfe2bec3bf9869abb15a01f3b85f9ad3cb6700d3b2aa6e1bbde5ee6b96cc0343cc23de1ba4b5697bbb69fc6ba31c6cdb94633ffbab9fc37bbed3cefbb322b303bb0fc863c9f5fa5bc1a5688bbd88cc53a12e4c63c929d50bd60a5bfba4827a63a6098ee3cbdd1afbdfa05a63a8d17a83900c3cd3cd829cfbd28e4413bee96f23a942e813cc86ecfbd9ced263b01a6df3af8f2fd3bd331a0bd26216d3ba74bf6b8f727ad3a271949bda86e893b7688f63849ec12bb7ce887bc7535fb3a97021a3a84b31fbb09be333cea403dbddbba0bbd891fb83c8eda15bc0c36fcbd97455abc53e28f3cc6cb20bc55f419beb749973b3409963b571f12bcb9130cbed345803c26e4fcbbc42b82bb0ca9e4bdd683e63ce3dc85bc682349bbf8e7a3bd3421ae3c217694bccc5027ba63e820bde0c5713ce34878bca5bc823bed8342bc78ecf53b292749bc56ce853bb97d193c3578123bee22e8bbfa2e8d3b17ac453da64775be51d0753f4565ee3e2b00343d8d326cbe5012833fc442ac3e85f3bd3cae4137be9342813f8d41363e05b61e3c55f4edbdf788633faf06523d8d812d3bd11f83bd00b0393f1d7737bd4dd09ebb9247bcbcac54ff3e932f93bd444c7fba29aeb6ba521c8c3eccff92bdfd38ed3b6764d4bb89acb73d907e52bd35f5343ce98ee3bcd2a413bde9561abd7d9006befd9bed3c000000000000000078afe8bd70a0e03c0000000000000000307380bd41b0a53c0000000000000000861b91bc7d87403c000000000000000078585b3c1b3e8e3b0000000000000000f208f83c00a0f63a0000000000000000a4bf023d7abf5ebb0000000000000000244fe83c097ae9bb0000000000000000f616ae3cc612f5bb00000000000000008a89d0bb30ae1e3c3495053ccc4ab13b67894abcc9b5fa3cadac9b3c6d36833a4d8423bc4926313d7d6bad3c4f658abac0defcbbc361413df2fb903c31e7a1bbbb2c8fbab39e163d8f0e4a3cfd8698bb4099413a4df5043d1926043c9fa6e4bb10379d3ac861a03c47a14b3bffb8babb17a496b997ac213cedf89aba78199abba283b6ba92efae3af84a9cbbad115dbb78a30dbcf4f59c3a13e2583c849ba9bc2ccde0bbc3c8e43a9965c93c938b3bbddfa07abb1b32a23a5424d33c112995bdf80399b9daa0023b4b1edf3c1900bbbdce15693a47b6423ba554703ce5d1afbd5009833be310a63aa42c543c38999dbdca65763becc2e23aa141503b34f13abd17cb913b19de95b9069c91b8a90a8bbc8585433b0d44303abe1f04bb3d743a3cdf17d0bc05a789bde482173d88f94bbc386cdebd98a456bd25b20a3d74af70bcb76211beb80a06bdc78db63ca1ac5dbc225e0bbedcb68ebb49403e3b8c760cbc19f7d9bd429cb63ba569a3bb3577c6bbe1ad9fbd2494883cc47d81bc139b43bad6eb22bde630503cd9b27cbc8d06413a99cd3fbc17e61c3c05886bbc0df5a53baf1d3d3c1acbbb3bbb1425bcb429803bd18c243d48c54abebcde363f6ed23a3f0949103d14ea4cbe47fc4e3fd2a1163fed20bb3c8d4e2fbe4da7563f0528ce3e32623a3ceb410bbebf044c3fc3ff4e3e8fee9f3af45593bd2150253fc14b993d4ab190bae7644abd320ffb3ee216e9bc43ba69bafc8598bcb6bd8d3e75fb70bd1410833b43d462bca97fd73d2f2b88bd10c91f3c5107e9bc8620c7bc023b85bd601c4abec50d343d00000000000000006ffc39be9eaa343d0000000000000000315906be701d113d0000000000000000345c89bd4031b03c0000000000000000410ce2bc91b15c3c000000000000000097ba7a3c21c24b3b00000000000000000614f93cbc3f49bb0000000000000000f8fd123d1c6512bc00000000000000009f66143d19ad35bc0000000000000000002602bc30dcc43bd25f1a3c49700b3c7d7d47bcd09ecf3c3c08b03c9114e33bf8526ebc8bad193d7b82f83c27dd9d3ad37727bc3c812e3d5710c43c322b4dbbc140ecbb0c672b3da059803c65809dbb32d96cbb8d8e083d0e780c3c50e7bebbe75fc2ba2078b13ca8ec7d3bc9b6d7bb428dd8ba295d243c606b4dba2631cebbb0dd4dba633d1b3add2d32bb69e8a4bb880a0abcad73dc39ea513c3cf1d663bc0d533bbc2f80513a68d2a63cbe4001bde6d7b6bbe8a0153bdf7ad93c758c56bdd463f4ba7387ef3a0242ee3cbe4391bd5862d739bc16513bdb7ed03ce4e2a3bdf03e3e3bf2d21e3b98b2873ca7cf87bd6f295b3b03509b3a143e383cc60539bdc1b9883b0d2ab83a9ad1553b3e8483bc357a123be584663a8903aaba5e90ec3bc80d34bc6ad4b5bdac03303d89bd48bc4894bdbd6bc7c3bd478c5c3da1498dbcd6140bbe0d7f95bdc7a01a3d1d998abc81ce0bbe1dcf24bd1552923c2a3e37bccf3fe9bd1d2136bcf640923a1e7307bc2c7f9fbd3621353bb3d31cbc5ec436bb779235bdfc29293cdab179bc1752183be7fb4abcf854383c171f6ebc6960713b8016533c01f5f23b2bd335bc17f98f3b1d65dc3c27630cbeb759e93e6537783ff401ce3cb7281dbedcec0f3f9cf4583fe0638b3c95ae16be94ee213f5182233f7c40dc3b5da2fdbd8653223f7648d13e2219c33aa0acc0bd3fee123f2dce4a3e9e7b91bbc36d72bdcce4de3e7c3e7b3ded1f5abb804806bd2c3f8a3e316de9bc6dac113b59009ebc573ae23d18438abd9051f03bcfd0c1bc987f5cbc3c38b3bd2a4575beef78513d0000000000000000e51a7dbe30bd763d0000000000000000780847be0590483d0000000000000000849800bee7610d3d0000000000000000fdc97cbdb051ad3c0000000000000000f93850bc36f0eb3b0000000000000000a7a6bb3c03381bbb00000000000000005626273d0f3d49bc0000000000000000bfef373d76f941bc000000000000000036759abbd9b6e93ab47be43bf7125e3c04463fbce1e1943c778acb3cc150633c7e1e74bcbec0043d66e90a3d67180b3c36246dbc43231f3dba1c053d3285e239d9b11cbc5fd11c3db5ff9f3ca83d04bb11f1d0bbcc61033db99a5b3c60d3b7bb7f6284bb07e5ac3c890bca3bfd16b2bb84762abb44b3293c080a9c3adf72dcbb662817bbdf572a3a2d2f4cbb4fdb8cbba0694bbcbd3e12bab3e1c73bcf15f2bb1e2c46bce5fd543ab0636e3cae2e77bc148b29bcb22a813adff9c23c4be205bd050682bb6f1e013b67e3d73c8ebd54bd2892d1ba3c90893ba6f7b83cdd4b75bd9aa3093bea1a0b3bf1d8ad3cc43170bdffd9473b739b093b20544e3c6c4822bdab99943b6f70263a5e3ed73b3a3491bc165de13a6674b03a94745c397dfeef3bbfd9f5b92f14d4bd2cb95e3df74f77bcc2139dbd025a09be0061833d6484aabc380502be8e2bf3bd0ddb673d77069cbcd95b08bee52ba1bd3d480a3d087a89bc9295e3bd56ae2ebd0071763c05b253bc3000a6bd77f57cbcbc8d4fba0506c8bb2ea52ebd1ac19ab8845535bc8919a8ba3d1a70bc6a60253c67ff76bcfff76e3b96d63d3ce5bd2e3c6d1840bcb0768c3b96533f3c77f58fbd30d65e3e5f01933f3faf4a3c9674b9bdd40e9f3e87cf893f093edc3bbe3ccdbdeea0cf3ef3715f3f62f7673bf931c2bdd376e73ee8781c3ffffbb9ba7adb98bd01e1da3e6aacbf3e646484bb5a6c6ebd7153b73e54fe273e041b4ebb66e609bdfb296f3ef26bba3c0ef46aba530090bccf5cd93d18fb65bd397e863b5ac77bbcb621eabb06f3c5bdf85480bed4076c3d00000000000000006a1a8ebecd36873d00000000000000007f7679be2891753d0000000000000000ec3c36bea162413d000000000000000077b1e7bd59a5033d0000000000000000b32a32bdeca17d3c000000000000000036e4003cef90953a00000000000000008fbd1c3d56ab44bc0000000000000000539e553d59b48abc0000000000000000aa47b8bb5609b6ba02b0363cb8b8b63c46c326bc2eda153c3121e13c1820ad3ca7796abc0a5db63c1fbe203d551e843ccee968bca83b053d1d020d3d15e72b3cd8144abc1cd8073dcb92e93ce01c713a120903bc9c97e13cb06c993cf9c347bb2affafbb294e9a3cf333033c7ed11ebba8ec41bb85a4093c93c94c3b97d4aabb8a040b3ae428c1ba67abaebb0f5689bb500f4abc808e43bbf032a539f82cdf3bf82688bcfccc4ebab0cb143c1a399a3ada5f35bc5730183a9c00933cb7ed3fbce09fe8bb5ebd8e3a3a60b53c89baebbc243533bba7ee203b0423bf3c83f92abd7a02ac3a6099523b08f4ac3c516c2ebdaa60113b86b09f3aebed823c125708bdab738d3bef11ca3ab9d9f53b4a3576bc7ae0af3ac5ff053a50df103bd45c223b162133bbb42e11bec5c4723d31b483bcf43a7abd490e25be5af99c3d34d3bbbcd4e6e8bda04825bec3bf863de283acbcc42901bea9ebfabd4d5c453dba339cbcdcabe7bd3ca79cbd60c6ec3c274373bcce5ca8bdb02a22bd1bff023c43be29bc444933bdcf1c5bbc9d5f9dbbf68547bb8f0379bc436d0f3a04fc46bc0631b53ad04f923ca60d9b3c74be46bcbd56303b6757e8b8dcb6c8bb41babebc9b53b13f8127983ad7330ebde54bd83d9356993f3e8b70ba1bb463bd56244c3ed8ac863f486211bb978c7dbd3caf8a3e71514b3fbf7e00bc70d356bd3923963ea07f063f449f01bc7d1531bdebdc843effc7923eea9ffebbe9aed5bcef6a393e891eb83d0d1d8fbb13e331bca4e1af3d60ec9dbc29aea3ba200b4cbbb2e55bbce03507be48e882be8d33683d000000000000000006a480be47a27e3d0000000000000000b8ce7dbe148f6e3d0000000000000000812153be80cf573d0000000000000000fa6d17bee7531d3d00000000000000000ed79bbd47ebbb3c0000000000000000faaf45bc90b57b3b0000000000000000223b003d3d0e3cbc0000000000000000c930703d3d32a6bc000000000000000000000000000000000000000000000000d0d90bbc3144cf3b9eb2fc3c9d36f53c8a3b56bc2dc7933c24611c3dc39da23c8b7e63bcdc74d03c2a6e1b3d016a403cc33c28bcf29adc3ca9edf83c401b8f3ba8f611bcd815c83c4d34a93caa7ccab9c06168bb4696763c52e51e3c694121bb4e63da39a8939c3bf5719db910e129bb0000000000000000000000000000000000000000000000000000000000000000080e54bc036974bb9d949f3a7131913c968e59bcaa96f339487a173c62f08f3b1e39f3bb181ee03a00628a3c436c61bc121d96bb1038753b58c1923cc0b9c7bc3f3373bb3d2d693b31578e3cf837e7bcc0399b3a0018093bdbf23b3c8867cfbcd7d11f3ada88aa3a7c4df03b07cf5fbc0000000000000000000000000000000000000000000000000000000000000000962d85bdc2c751be36988b3d4eb683bc9127d3bda19b2cbe767d783d213988bc1364f2bdb2d80ebea470393d79ed84bc73e3dabd87c4c5bdd344033d0fc683bcff34a3bddbb258bd6b288b3c4b5c31bc27fe36bd79fab4bc02a3143b22d4ffbbacc0b5bb23bf8b3be982fabbb4a3d0ba000000000000000000000000000000000000000000000000000000000000803f78d594bb9d19173c1665b3bd789db13f45639fbbd4ea97bc8d585c3dc6458f3f751a0bbc1e42dbbcd823063ef8f7663f3f6131bc7178e6bc07122d3e8dc9233fcc3d53bc43d2bbbc0890293e302ec13e3f9527bc56e8febb2a71fa3d2b83293edf101bbc6013843b6e6a2d3dad1fc1bc0000000000000000000000000000000000000000000000000000000000000000cd3556be87d62b3d00000000000000009c0a49be19ea2b3d00000000000000004f2a3ebed416263d000000000000000026c21dbef0df183d00000000000000007eb9cbbd026ace3c0000000000000000758719bda7e1373c00000000000000005a138c3cd6fd97bb0000000000000000000000000000000000000000000000000000000000000000000000000000000028487a399c554c3d294d1bbcc7196bbb0232243ce86c453d276a88bc253ac43af836833cc60d193dd5f15ebc5e7daa3b077db13ceb77bf3c990930bc72c3bc3b2ae2b63cc1c3f53bd656a5bbfe0db13b0bce6b3c99f02bbbc06c163baf5dcf3a893db33bd81dedbb94cb593b60fcfcb900000000000000000000000000000000000000000000000000000000000000009e4750ba1b1a0f3a5b64d33c217f06be8adc2cbb5e16973a53229d3c47103dbe17ecc0bb3c3aba3acd68083c855b45be9ab5bdbb5c1a713a312031bc8f4229be87c2cfbbd99ede3a001fd5bc9766e8bd4b005bbb771c893a06f0d7bc3cd050bd6b35a2ba2db9b83adec78ebc06ef0c3c0000000000000000000000000000000000000000000000000000000000000000e6bcf2bda0245e3d167fc7bc50e6e13b406062bdbfbd293d76e0cebc2f88163cb13b94bc646f9d3c588c8fbc714c123c992a3c3ca79a3fba011923bc82e2043c36d3cf3cd61cffbbb0af8cbb4884df3b0c46a73c97b14ebcaf2d123ba89f2c3b79c8f63bcf8fd4bb23ec133b6f0fdd370000000000000000000000000000000000000000000000000000803f00000000e1672bbaa5ce70bd923cb53f364a91bea38524bd4ce6f83d09c28d3f73a992be976283bd3bf07d3e84954f3fac4281be20ff8cbd745b9f3ef83b033faf5748bed18b6abdb1169b3ed928813e411dfcbda813f6bc3844593e2607783d47522ebd5c59103b1281913d329a8dbd2ffc843c00000000000000000000000000000000000000000000000000000000000000006c39a83d4e2877bc000000000000000070d3ce3d6bc9bebc00000000000000001ff7c13dec99d2bc00000000000000003cb9b33d1f14d4bc000000000000000015737a3d9735c4bc00000000000000007556cd3c19cb58bc0000000000000000ffa5b5bb1e84c6ba000000000000000000000000000000000000000000000000c73f98bbc5ffc73cff890e3b360602bca8ab653aa1ce353df4b446bc364627bb75f2003ccddf493d716776bcccc92b3bfcdf813c3599223d6a5970bcddafaf3b4624973c2059bc3c25c60dbc82cbcb3b4d53933cb5620f3ca4c421bb71cbb33b06d2533cb5b168ba91add43adfa13f3bc2272f3ba61315bb8e809e3b60a491bae7e613bbee40f9bb3ac6883b917ca7baa94a593ae8a5923a56ae123cd0d6a2bc20bab7b93cf917b810e3c53c21e2eabd33f464bb3d5f2b3a3500c13c69f431be7a84a9bb5ef2bb3a1ee23e3c23eb40be62bdf9bbbbe0d83a8268eb3842952bbeeff4d4bb0c71ed3a08446cbc4531f2bd786a91bb5162ca3a135e98bced0362bd32cc61ba32e76a3a06760ebc1ff562bb302cc2389463823afc11bfbb9e11193d38e5e8bd94f5003d1f22d3bb5805b5bad816ccbdd3924a3d187bbbbc4e32113ca22d9abdf6a9283d3cd4c9bc3fd6163cfbf6edbcdadd993ce56d9abcd298113c0b96213c844f95baa93c20bc4f32183c050de73c6d9883bca0b964bbebb8d43b13b2c13c125d90bcdb72233b4004453b0f41473b62b81fbc62ef643b0edd7cbace58ed3a5e1eaebb8149ef3ae369d6b97dcc6d3d0fd78abe8311b63f4476c2bcaa36103d231931be57e5ad3fea7e21bed33e27bc2d1291bcf25c993f8cc474be7c483dbdf6c10b3e45a0663f1f3076be317c8ebd12c4733ebd13163fb6fe4fbe037186bd9162853e9457993e2d7007befce631bde6f74d3e706e9a3db3583ebd6b4947bc5a27a63da0dd19bd8d35713c6d3d2b3c3f07a3bc5cbff8bd8e99083d02a15ebcfce6ee3b000000000000000004ac3f3d1f4951bc00000000000000004c5ca13d86ca92bc0000000000000000415cc23dcbddc8bc0000000000000000dc31b83d0f1df2bc000000000000000016028a3d5fadcabc0000000000000000313bf83c65d979bc00000000000000000b0b90bb5e343239000000000000000076753fbc1b5d803a0000000000000000418138bbd465813c24568a3b18c919bcedac56bb186c313da620bcbbdde3d0bbbb3dbbbaf2d45a3dca012cbce25e3dbbc420183c4df5343dda5859bcd8ba983bdd944a3c0ffdfd3c35b925bcd43da83b642d623c42d3873c618ad1bb5cc2c23bf30f433c8fde383b906ee8bad603a03b02dfae3bbbbb8fbb769e593b4678e639b8b8abb9dce120bc59bca33b54d46db90622703bbde179392b405abbdc500b3cdad8eb3a52100fb96a76a93cc58ca5bd5682953ad73746ba4ddadc3cb88f0fbe70ca8dbba30c0c3a2edda03c5cb932be9dc8a1bb7ef4923aacac263cd1f922be3bbec8bb8808e23a81181dbbc14501beddc4acbb28ebca3a6d0f28bc067d95bdcb1857bbf0c8953a785a47bc471e1abc581ba8b9ab00113aa2c7d8bb5c88f53c321fcabdfdfdb23c1e6444baaa7b8fbbfbe704bedb653a3d49f067bc7bdc763a7f04e0bd782d2d3d2e3f9bbc2c14903ba90955bd3e59bc3cecb794bceab9f83b30a66cbccf99d73b7e8643bc3e9ac93b70cc9a3ce4ad0abc83d4bfbb1615d53b61b9d83cfb7d70bc49886aba3e888e3b85cb6b3c95d340bcfe055e3b589c1e3b2ab1003c7db111bc73d7183b8b25c9382329903d9d1f90be3066983f5c8e613e2d52553d0f217cbe2336a43f48940d3dc043583ce1cbeebd4f99953f0614c1bdbb3290bc9a3e2b3c88c4763f575f3ebee85448bda2a9033e2af72a3f89f637be914167bdc46e3c3e51c0c53e1e6d18be542637bd32d92f3ec6de113efddfa5bd0a42a9bc07f2c73dd8d904bd979bdabbc00641bbfd1e723ce891e4bda5c8aa3c9ce4adbd035ab63c00000000000000000e4d09bd6213563c000000000000000030fe843c372ae03a0000000000000000bc1b863d98fc75bc00000000000000001920943df6419abc0000000000000000909a8d3d0dffcabc00000000000000006c18393d08bf9ebc000000000000000012f61a3c2a2a28bc0000000000000000812439bb40f36ebb0000000000000000896089bbe3074d3c750e413cfeee37bc56c5c0bb51882c3d0aca0e3b9ab750bce3e15ebb3f50643df3fb26bc8b3347bb12b3503b4775423de9d72fbc2ef0c13a6fc1123c65941a3da68b74bcec51c53b176a483c9eb2913c8114debbfc5bbe3b82621f3ce037c73b53a54fbb16a5923b1394ad3b6503aebbd964773b70b5d23ac868da3af5763fbce463673b1dcd053a22ac453b784496396c370bbc06b0eb3c9d279e3bc6cd15b9fa39413c1f4b3bbd5aa3083b5c0329ba7b86ca3c4c9eeebdddedebbafd2b9139c009c63cdca41bbea63e94bb4695423a03a1873c543c22becccab2bb1086f73a9162b63bef5d01bea3cdb5bb47dae13a138d8bbb76af9cbd53694abb5c98853ae5a116bc63a878bc908e05bb04d6863a3b3021bc4c88c03c8ca3dabd686a783bc72e313c729b22bc2a8a24bef1092b3d61f990bb32d6dabb74dc09be98fd373d474290bc69ad7d3a7f28a1bd93a2d53c9cd489bcc5ac953b0f53f7bc5545843c039f84bc3c14ff3b0047123c529f51bb940108bcf3c3b23bf8d7cc3cb2415abc191586ba13e6993bc7e79e3cbe2779bc9b1e273bc1eb173b5fe9a83c675c4fbc29a4ac3b5c2ec63a49748c3d97478bbe92b27e3fd133f13e82587d3d0e058abe3ea18f3f57158c3e8772083d255441bec29e8e3f1402733daa443c3b369a9abd436d753ffaf6a5bd1c26b9bcfc6ac03c81cc3d3f2d7128be370832bdcf57e73daeebe43ee19413befb3834bdf0770e3ef0d5373ef021b9bdd4ead0bc2008c53d7dba79bc41bbc9bcd0721dbc5c0f2a3d3939ffbd07228e3b39f323bedf522d3d00000000000000009010f5bda95c1a3d00000000000000008abe22bddfb88a3c00000000000000002320a93cd732edb900000000000000004e97783d4f5e7abc000000000000000095447f3df23aa7bc0000000000000000afe53c3dc461a4bc00000000000000006e81b83cfcb876bc000000000000000092e9f63badf748bc0000000000000000a05e5cbb52deda3b53fb983cd4534bbcf615e3bbb9521c3d84282a3c921f8ebc84520ebc8dd7623d2171afba3f9e0fbc1c7916bb37ab603ded6c3cbc01a8183ae4639dba7e35313d99d714bc634c4a3a038ae93b4f14da3cfa2d1ebce15bdc3bddb1f63befef1a3c8e0b94bbcb9e8e3b96267d3bbbbf32bb6d51bb3ac502f33accb67e3b654d50bcdc6f223b071a053b0243ef3a5744633ade2a47bc574d1b3d9bb3023cec9e91b9b90f8c3b87ae57bc022e9d3b743a8fba20699c3c76db97bd75443238690ab139147cd33c128703be70cfaab9395691b82bbfbb3c132d00be3537a5bb3eaf7c3ab48e673c77c301beb00c71bbf751743a06d1563baf359ebdb6aa19bbbc77c6386f50dfbbdbd6a0bc46b480bb6ce1c83adcae47bce030953cb78dd3bd29e951bcc0a8a73c0ece6bbc60273abefb81023dc0fdc23b0c3378bc0f0133be3791313d648b18bc923cd9bb667ceabdfc86153d171a87bc269a7fba87968dbd3b1aa43c6cad44bcb0bd5d3af57a0abcb5fe8b3b6e294bbce2f7d93bcf63863c3847efbbfd8b9dbb564b973b36bea93cc3926bbc6fe0453b7bd8573b26e0f93c78f28cbc9d2f943b477b623b1bef7a3d69c96dbec14c403f10393b3f1857763d0e0080be0d24673f4a0d0b3f270b293db2da5abe994a793f86a38c3ef6a19d3cee1410be56a26c3fc84e293de1aa7bbc9e2edfbc31e2323ff90a10bdba99d7bccc5c093d8874023f2e9c0abe96fb14bddb92bf3d566f653e1befc3bd7586d2bca858b53dc3e7ed3b71c224bde1344cbcba02633decf2f8bd8a9978bc0a8e67be0cc26a3d00000000000000007ff157be13b8813d00000000000000000a2ff5bd0cdd303d00000000000000003412f5bca017943c000000000000000052a8af39b1ba013c00000000000000007f975d3d527e82bc0000000000000000838c3f3dccfb97bc00000000000000004fd7e93c44739dbc00000000000000004e5da73c6fff92bc0000000000000000f20820bb3caa623b5baea83c7abe45bca25910bce12b073da7c0b43cc095adbc598d30bca0745d3d9c770b3cc3e584bc512209bcc12e6a3d29f886bbbd42d3bb24478cba2ef93f3dca7034bc5d7e45396e07003bfea4f53c682feabb1fc7813b2a26643b35b3563c59479cbbb4d3843b8372523bc8da0dbb5f6def39d9f6313bfdf5a53b37a854bc5c2fdf3a12efec3ac778253b3078bc3a031378bccd3d2c3df962e33b773ee0395ca90e3912ed2f3cb064fd3bf2ea46bafe0f3f3c4fd31bbdf053a13b09cc3cbab802ac3c600bb2bd75ba063b810686ba5c8fc33c1b59f5bdb0596dbb0055843ab77aa03cc5e0e1bd05d136bb56e5203a4fc00c3c43f498bda4c977bb0b4ba43a1557bcba0ec0b7bc625048bb95acc83ad7d826bc8ce4413c415abcbd09e808bde083e63c467799bcc62d45be6a03dd3b8bb0bd3c6e0cb7bc2ba255bedd391c3db03c893a409d65bcb60922be90af1f3d767f59bc49dda3bbf10db8bd5f07ff3c04c48bbce75b5c39183903bdc189393cc8cf62bc90e0a73b2e7dba3bbc7b26bbf669e6bbd86e9b3b5509ab3c938f42bc2d32443ad75d6f3b3fb7073df2d659bc4ded3f3b2602233b7c5e423d3d1b2cbe2116fb3ed2667a3fa7454d3d0c7051bea3fb263f2170523f5d90393dc19854bed99b4a3f1f05043f4f32ef3c80af2ebe9b5f4f3fa7906d3ee1ae553c107fe2bdd2103a3f2fbdae3c8a7608bcea78fabcd387043ff3b49abd12e7b0bc3859103d6902893e18b3bbbdfad1acbcad66833d2aeb0d3d09185fbdff0778bcd18d633dd72bd9bd3c911cbd2bae88be18f2873d00000000000000008c0693beda92a93d000000000000000097ee4dbed327863d0000000000000000451ecfbda090223d00000000000000001e54c1bc726f813c000000000000000076f9bb3c218b91bb00000000000000000a51263dfc9d85bc00000000000000005a750b3d7d0daabc00000000000000006857e23c743ea2bc0000000000000000018edebab99c2b3ba0b3bd3cebd550bcbd68ecbb7ce6e13c768bed3c64c3abbcdb573dbcf8b7383dc212c63c1a2ab2bcdd5d54bca2996e3d9380b23b0ad54ebcd6ebf7bbcaa74b3d11f78fbb10c18bbb106c69bac6de113df0831dbcd061ff3a75326639176f943c90cda9bb0778753b5421083b135dbdb91aa28d3af50c233b870e3f3bcb724dbc380bf73979444b3b3528543a8bb7ec3a0a1b2bbca4d7093d79aeac3b69866f3ad3d3b0bb1611e43c9359113c73a688b814f2d03bfb2506bce707eb3bf06491ba0d21983c6c085abdf88e8c3bbc1e78ba024fc23ce2fdaabd9d660c3b422511ba95cfbd3cadacc7bd0728e0ba0fd95a391d2c6d3c78a88ebdee6036bb39b47c39ccfaf3b7df1fa0bc33021bbb89e33c3ac2aae2bb5e3c413c33879cbdac154ebd14e2193d09cdabbc7c3d44beace8b3bc22641b3d2f77debc0e4365be88171e3cd7ab953cd2f0b1bc375047be8e02123da10b91bbcc4645bcc29504be7436033df4b74ebc10f89bbb0bfa71bdc3b5b13c156085bc71f79a39926349bcc187a33bfc7c27bc46cb6c3b21ea453c647c03bc599302bb67d6963b32930e3d374052bc39950b3b7d64313bb5f0c63c0205b5bd3bc46c3ee195973f2d0a0f3d740a0bbe0458c63ec898893ff2771f3dccac2fbe54b8103f2221443fb4a80b3df40a34be666c2a3fb89bde3ee31e853c0a6206be59d31f3fcbe53c3e4964ac3b39fda2bd3981013f90a88c3b04f332bcefbfb1bb8a1c913ea9667dbddac271bcabb1123dea007b3dcaa07fbdc0f62cbc7db53e3d4e40bdbd9a3854bdbc7590bec5b88e3d00000000000000001aa4aabe57bdba3d0000000000000000d72088beec8ca63d0000000000000000a10b2fbe2e7e793d0000000000000000367bb1bd2d50193d00000000000000001c6d88bc0dfc423c0000000000000000f23eb23cb738d2bb0000000000000000aa310f3dcc429fbc0000000000000000c7f10d3d7934b7bc0000000000000000e2a223397afac2baab3be13c153f9cbb28d20cbc758dc03c438e203dd6b4bebcd17c42bcc97f273d489e0f3d9e97cebcba0c56bcbcfc5d3dd5cf8f3c97909bbcb1fc3abc7ae55e3d39f3143a447026bc47d1bdbb6ee8263d4836cabb8f6ad2ba737dc4ba7c98aa3ccdcf01bc6ea69e3bec2e8aba8f6b64ba216d013b670f653b2f8d583bdf620bbc7bd070bb2496853b37126bbbe6c8be3a2ebc03bcf1a1d73c0447373ba6d06d3b34a85cbb73ea023d313f0e3cc51466b84eca07bab44bb43c05ed243c62d185bac0f3333cc7ecb2bc5723143ced3acebafe7c993c52705abd2f5bb43ba0d2c3bad4abc23ca5d39abd0572adb8b56d40ba3b968e3ce4b979bd8b9711bb69bba0397da8a33bdc347abc0d2f31bb2f81b93a303e8cbb95918b3bc5fc71bde0a4c9bdb453393dcf55a7bcb78638be936165bdd33d6a3db7ab0dbd52a378be74c541bcfaac013dc872dbbc575366bef1e1c33cc088cf3b28829cbc279d2cbed479283d7f8c44bc9d0934bc6763c0bdc4fd033d88d69cbcd2e819bb135fd1bc2d28513cba266dbcb266203be3f7343c4aa809bca4ef70bbb6f8863bc774243d2d4303bce9d114bb30624e3b0bfcad3bc83d4fbc90afa3bce2feb53ff5fb3a3c16dd5dbd6d10083e1031a33f5c91f33c0e1d00be934cb13e112e7e3f48590a3d1b4f1dbe7fa2fb3e5b24253ffa06ec3cc1591abef62a093f41f6a83efdc95c3c080ddebd3310eb3e5608d73d8e71923a659137bd2030933e5e8ff6bc2104afbbbee0fe3b0256973dd2af6cbd9b7e24bc0d9d153d29e18dbdb9eacfbdee798cbe71f6743d00000000000000001fe9acbef311ba3d000000000000000082ee9bbe9277b53d000000000000000003786cbebbb49f3d0000000000000000c76312be9eff6b3d0000000000000000c7207cbd4d0bf43c0000000000000000c2584c3ae1988f3b0000000000000000e324063db22c95bc0000000000000000a9cc353d9bfeacbc000000000000000000000000000000000000000000000000c69320bbf2dbf73bcdc4443d2d2613bc3d3132bcfd62db3c86183c3d9062a6bcd3a751bc3742133dd953073da96ba4bc1b286bbc605c323d2d88913c08b68ebccbdd42bcfdc4293d765e263bafaa08bcb82ecdbba402e43c2e7393bb77c20bbb708a8f391f69f13b0cf9babb7fcd903a0000000000000000000000000000000000000000000000000000000000000000ae0e96bb4ece883ab9de1cbccf771e3d38e4273b0f30613ac00972bb83890f3d93c8b63b8531d33992da343bb64d7c3c88c7073c5fc80bba3e6f703c4f1b7ebc4d02bf3bafc112ba9be6943c4fa91bbdad87863b437c0db99bfb9a3c71be34bd6cfa1039a7acc7394dc9133c523ee1bc00000000000000000000000000000000000000000000000000000000000000008f2f17be12fff8bda585653d9101aebc34c357be63435ebdbd4e313d1151bebcee325ebe016986bc9d01ba3c9a058fbcdd073dbe49a78c3cf04e2f3b12bc49bcd1d601bef9bfe73c0091f9bbe71e04bcf07666bd3025b43c39f165bc36edf0bab49cdb3b28b7013c81f21abcc2c22b3b000000000000000000000000000000000000000000000000000000000000803ffe8fa23b7dfacbbbf0b05cbd5aa3b53fd232a93c5dd293bd46201f3e69968c3f4e89e03ce2a1eebdcec69b3e01fa4b3f3f6ccd3cdd8a04beaba7c03eda1fff3e67128f3c3582d8bdecb0b83eb033753e4bc8663b63627fbde6aa813ecb19623d4411b3bb81d6b2bb376eb63dc7b88fbd000000000000000000000000000000000000000000000000000000000000000039c086be8cc1613d0000000000000000f62685be3808873d0000000000000000c99168be3c2b853d0000000000000000f69335bec739703d0000000000000000651fdfbd304c2d3d0000000000000000157d1fbdadd79f3c0000000000000000a7e5523c78693bbb0000000000000000000000000000000000000000000000000000000000000000000000000000000031167d3a190508ba6eb3e9bab360973b7fcee8392d28edb9bd0501b9d630a33b380cf6b9b4ec54ba24cc0c3775f3883b759b93b91dc0dab9b502c93acbd08c3b25953db9db8fbd388040353b0950923bed1fc638230a0c3af318803bc334903b57128b3915f6493ab989a63b465b8e3b00000000000000000000000000000000000000000000000000000000000000001379473b711f2d3a1f8202bbdbad39bce97e1b3b26836f39b8438fba384f2dbc9d39713bb71d3f3ac54420ba89612dbcfe12f43a601fa2b9c7d7063ad6cd21bc9ccbe03ae4100bb9cbd4e63993e425bc1ba8cd3a099b683887dcec392a220ebcd29196b8cadb4eba4bc7b2398d78d0bb000000000000000000000000000000000000000000000000000000000000000000d76abd24331fbdacb438bb122400bb085468bda00310bd632d64bb4d3118bb4bb95abd80b7efbc36a581bb796233bba9eb40bdcb3dc1bccc3d41bbf5ea01bbcf0d30bd91f09bbc31b7c1ba8602b2ba571c16bd13f94abc72e7b839990345ba2802eabc74ec4cbbe8ec353b946ac6b50000000000000000000000000000000000000000000000000000803f000000001b60e23b41749dbcf80e893fe41763bc8641e53b5e077fbb827e653f8abd06bcf029f23bde90513b08673b3f4089c0bbf5a7ae3b71a2ec3b4feb113ff05114bc10276a3b358de83be6f3d43ea9297abce22bac3a9979953b2ce6863e089fbcbcc106b0ba8d80083af3c3e63d79160ebd0000000000000000000000000000000000000000000000000000000000000000e030ed3b99edc13a000000000000000016ebb83b5733b13a000000000000000012c81f3b83c1183a0000000000000000fdfabbb97333d2390000000000000000ea202dbb63d750b90000000000000000b72272bb158398ba0000000000000000cb54b3bbb6b7d3ba000000000000000000000000000000000000000000000000df63b83ab1879d3a40346cbbf45a773a39f0c53ad788ea3a7edc21ba693bb73bc2b0fb397920093ab01b0c392014af3b3a1a40bab9c1c93a660c6c3aeab0b33bcaa68cba7c289e3a5a89be3a3a45943bfe8c8eb7299b0b3a2ad1703b704fc23b74812238d935573a4100983b67b8af3b60f792ba457fb13ab1afbb3baf57903bf3739d3923c4bc39f953613b8b6d2f3b11cf503bd5ac813aca3652baaafd11bcd515aa3b70f5b83ae89f84ba496e58bc1348a23b4160243acdb44dbaf0be3ebc0a655c3bbb5fc13a240c443acae243bc2bd4063b1a02613ab688af3a64872cbcc3de4c3b54dfc639e566593a293616bc5f7a253b17a41639d3a75c3a8765edbb718da93aa2a1db37da824a3a8e1f78bb1ac64b3a5625d8b632d28ab850f231ba96cad8bcaf0809bdfdfa97bb80ede7b8d33b6bbd027b43bd5bc0bdbb424478ba87ba83bd95ba3dbd74c2ecbbc2b505ba6a0283bd71852ebd1ef8e1bbb7f69cba3dbf59bdaa7f0cbdfe157fbb9b3d99ba34e552bdb699e3bc87641dbb0a208aba7c4f2dbde9ae99bc1f7ee0398de006baf9c2f9bc894b0cbc84865d3b27bb2139030c55bc794639bab2af853bde53213ab34de93b38b64fbda92d883f82b7ea3db9352c3c358f4abd3f5e803f48e5d23d8e4b1e3cc5ffcdbcb3c5593f0d00bf3da4b0153cf1603ebc7010323feea1993d60adf13bdf16acbb86c5083f9125633d084f9e3b84eff9ba168ac83eef5ef03cb096f63afea730bb19e07c3efc704b3b24bfb939580bf5bb172ae13dd596b6bce1ec44bbc3d1ecbb324758bc414c0dbdaa1eb2bbe2bd223b00000000000000002d75cabb34fd3b3b0000000000000000d6087cbbbc490d3b0000000000000000d8fb8dbb80ef213b00000000000000008678c6bb88d3e53a0000000000000000067515bc6e96bc390000000000000000feac22bcd06203ba0000000000000000f8a518bc92a8e6b900000000000000008495d5bbe9996eba00000000000000008e93a83a1525fa3a840f43bb72b155bad932893afc4dff3a033f16bb07bbdd3a2a4cdb3a5884653a780422baf75b303b611919395a5f1c3aafce013ac330853b24e12d37af7b4a39db3a473a8aed5b3b2736c9b9ca3f263aa99c2b3bf6fca03b186a4ebab1da663abf6d643b4d379c3b1ea780b6d929d339593d2a3bd1d6923b6b9702bafdc816b99964183b94d4383bc4443d3b10bae33a48dcdc39fb9ef2bbddc68e3b043f043b4be1d139882e21bc8d77783be6a34b3ab93995391d2feebbbe5a8a3bb569a03a10df243a4b21e2bb4c453c3b7d2fc039d7c9a03a3b8ca4bb08c5683b977f213acb50973abb7b9ebbe1523c3b9a318239b12d7a3a5ad756bb81c2173bae647c3849ed203ac1a11bbab271a13a99a1d6b9fff9a139e780933a6bd557bcafd5e3bc2eba10bc2141583ad9f719bde5033dbdb71d45bc8ecbe639724d2fbd0d4532bd32fe2cbcba8228baddaa4dbdd1213abda32220bcdc8ca4ba76cd28bd91f00ebd4f41dcbbf72537ba136b2ebd9fab04bdc60891bb893131b9243a07bd3893bbbc3a7c9bba405b083a7203c9bc9bab56bc02242c3bcba6933aeafc2abc8c4057bb9f3a783b0f71733ad341ef3b5f0456bd242e653f7541863e0ba53b3c8ee867bd4c165b3f834a783e1fe61d3cea06ffbc3c2e363f59eb573e60041d3c4a82bbbc1e4d1b3fc395303e6623f83b648443bca8fbec3ecf14053ecac3d33bf91921bca3ddb13e6289b13d8dbf903bf7e007bcb527633e7db63a3dd2ab913aaf2213bc30dbd23df39a233a4bd047ba4e5fe7bb2445d0ba5008d6bc67dc94bc6ff9793b00000000000000004f89b0bc16c3b13b00000000000000000fe383bc5a45923b0000000000000000b51b7fbc57207a3b0000000000000000180966bcac0e2d3b0000000000000000ec7b9cbc6b95e03a0000000000000000c1008cbcc0bf8e3a0000000000000000d80c87bc99e008ba0000000000000000f8462fbc3c95e73900000000000000003db8763a0c420b3b08f429bb3b5238bbdc180e3a3418233bd22e12bbe21a7bba2996d6b8df8b963af4869bba555f963a33590aba3368e1398a1e08ba8cdaf03a33f276b94d63243ae38e193aa753313bc13627baad9785392b1bee3af759843ba7d7a6b89656123a24a88b3a24a6963b4f8f1dba00c68cb9d28e173be275b63b1f59a0b9ebdee6b9afd1ba3ac91f203b59ae0a3bbac9073b4458d93aa292d4bbcdd1893b3fe5183b4086b63a47ac00bcfaad843bfcfcaf3ad77d893a2466b1bb62ec633be92a713a94c5023a99f6afbb10ff643bdf1b863a3f39db3a622340bbb401803b9eb0203a1ac2923abf9d20bb4bdf673b1be2353a5c4d923a5bf876ba5b58273b9a4baab9b402883909257e390252a53a638c433a4386113a19cdc93aa7a1b7bb528bc3bcd77b58bc479cd23aa025c8bc2ddd31bd907c91bcdbb7c03a091114bd7b9d49bdb2c485bc0549263923851dbdf91c41bd9c9654bc6d57b6390c9214bd1a2a29bd8a6d2bbc775eb5b996dc0cbde81313bdf5b2e2bb63d7f0398457e9bcbc74dcbc8ac126bbc931a63aaa09a8bc3c1b8fbca160893aa806d73a18ca0cbcaed0ccbb79df323b0df89d3a2e30e13be35e3dbdf54e3b3f6f9cd43e25112d3c0c8b53bd2df6323f6be7c63ed240253cde910ebd31671b3f8cc2ab3ea7a1263cf4ddc1bc493e013fbd5d8d3e0f7b093ce11f7bbcca6bca3ebed1583ececdd93b4bb246bc7dc2963ee00a183e68d99d3b85651ebc32cd443eabb1aa3dfb572b3bd6fc27bc82b1c03da871cb3c71c6263a08e7ddbb7398863b6102a7bcab47ebbc02e8b03b000000000000000092d10fbd459ff33b00000000000000001318e8bc9124d63b00000000000000007e87d0bc0f83b33b0000000000000000e9bec5bc32a37b3b00000000000000000258cebc947c383b0000000000000000d85cd9bcf24b063b0000000000000000e914c7bcc8f5ee3a0000000000000000db3c83bc3b5f6e3a0000000000000000bb0307b94d68653b33fc8ababce951bb18053c3a0ca8423b4d269bbaee0576bb39e2d339d710ebb89a49bfba6e7e94b9ca9650393396a13a28b61dba11eca23aea148db9bb18c4399a2204ba7758943afce4dcb910a8543a536aa23aab9d793b67c1b7badc66043adbdfed3a8eae893b18be72b90e614d39e16ceb3a19ef7d3bbb6129b9154bbbb8dfb49a3a5159463b44af1f3ae7d5243a31f6623a0db3c2bb1c7f833bfb0f173b080b253b1c4708bca5176c3b03c9ba3a79abfa3a4a657fbb0cc9743bd30bc33a073b073b056b41bb39e9163b7fa0413a92bccb3ab98555baa7fc8e3b348f34b94a84a03ab1b805bad5ea2f3b08bc99ba89888d3a4c646d395fee413bde0232392b60153a4439d63a0e65eb3a604e9eb904d87b39919a163beda68dba15d1a6bc42b98ebc789cfc3a688e8cbcb1802dbdaadbbbbcf8b9a63a12fac3bc362a39bdb5979fbc970f75396474f4bc8c134dbd13d494bc5f8f2ab9ab31b4bc418f0cbd007c37bcffb851b9e0c0e2bcec5020bdf0af1dbc348627ba7c7dacbcff02e5bc4affb6bb5634ca390dd082bcf049a6bc57ba34397b7d123b800be0bbdfc50abcd2eb143b05c5f03a050f9a3b150119bda183123f9349123f5b081c3c7b1a25bd4bcc0a3f3f29093f81ee143c681bcebc91a0ef3e02cde93e5f39183c1f13a1bcbc55cc3e38fec23eb571db3bb3eb19bc8c729a3eb278913eb731e53bc92036bc64b3733e93d6573ecbe3a03be97c0fbcda1b1e3effe2013ea61a693ba2401abccefda23dba44473dc7faf13a107bdcbbae74dd3b3ab980bcd33e1abdbcec8b3b0000000000000000531837bda2a1043c0000000000000000874e0bbd6d6eec3b00000000000000009ddf0abd6d55ca3b00000000000000003e62c0bc0e286c3b00000000000000003b5c02bda114803b00000000000000008c34ecbc94f42f3b0000000000000000a022f9bcd896143b000000000000000040b6aabc0174f23a0000000000000000f166233a88af203b0a0ff5ba03d496bb0b15c83959ed1c3b5c7218bb3e8c52bbb3fc38385deef33a8eae97ba9def08bab2ccb5b957db623a58fc30ba507a413a14ba68b9ea4e4f3a4b0502392fab043be3d9b5bac50dbfb90af55e39a1a03c3b66a694b906d767399a26b33a2fab873beda2f9b999878ab9742bbb3a32439b3b537bcfb93b735cb97f8d4b3a83f5453ba844163b993b183bce7aed3ada63c2bbf927853b1f31403b29db183b3e86d1bbfb78923be8022b3b167e043b8b0eacbb7f618f3b9b53f93a73c5e63af43b10bb5ae28b3bb1f7f4390d99b03a38bb3cba3ff7693b64b63e3a6a02c93af8785b3ab608b73ba223163af2a6823a805e643a3bd96d3be80182391c501ab73b0ae43a2f33153bf1152d395eb086b9bb030a3b3381dd39c0b1a5bce3b1b4bc5fda0e3b6d193ebc5ed335bd51f6f1bce7fe073b4236a2bc1ab361bd3128e6bcf4bc463afbbec2bc30bb5dbdbef1b8bc1979573910b3bcbca73646bde30191bc109ca83983edb6bc262733bd545b4abca0c0cd3af403a2bcd81012bdeafff9bb9866363b2a8066bc5549c6bc4f6073ba94d41a3bce2cb3bb34682bbc165a173b644e0e3b0acb9f3b9c05ecbcbaf0d43e38003b3f66fbfe3b80df00bd17ccca3ec599313fabdc0c3ca99bb2bc0261b33ecfcc183ff01d003c44ef6bbcfcec973e7dbafa3eec02f43ba1dd23bca9e1733e6f6bc13e59cce33bc79918bcf8ef393e07d08b3e437cbd3bdcba1dbcb2a1f83d52cf2b3e0cd6773ba73b2ebcd6b9813d17888e3dddc4f63a8db201bc523ee53b51b658bc8dc83bbd1b43ed3b0000000000000000695a67bd369e293c0000000000000000610838bd7644143c00000000000000003cc023bdedace53b0000000000000000bb7d14bd5e6faa3b0000000000000000a4ac1abdcca68d3b0000000000000000e7fc1fbdc7c4853b0000000000000000c2f319bd60f0333b00000000000000006185d5bcfa230a3b0000000000000000566aac3964c41a3b097ab5bab8fd8cbbe63a93b83f181e3ba72aadbaaa5337bb663c80baa92f853a043bcab97857e8b995402ebafd35613aca25f1b925f45a3ad505bfb934144539c89f02ba5bf6a23a5ccbbbb977bedb39eeae863a25dc7a3b08f3d2b99dcabd39151eab3afe59883b58321aba006ec5b88faab53af284aa3b2406aaba2839acb8aaa5593afd01743b5c1f253b4338383b0e68d23a7c96c2bb297ead3b08cb7e3baaaa023b264605bc5c5d8c3b3c63063b8d89f83a0b1618bb3a15a03bc279273b9095d93ab00ce5ba09376d3be652f33a1478b63a16f145395e1da03b7ae7e63a549f843a7dc80b3a8d3e833b95b73b3a4308de39f311a03aa42d793bd7e4b839a24576b874e0113b7c171c3b64abc23924f27eb9067c073ba4e351b98f98bebcd61cd9bc123e243bb54c20bc3c5f52bd3e8711bd2874183b1ad46fbc50de5dbdf315eebcbff572393b669bbc79c077bd8d5be2bc300062b9141689bc3c0b48bd602ea3bc2a9523b9379299bc29d349bd0cb484bc69ae183a14f671bcba5015bd5d6512bca2dec43a743e38bc021ce4bc77c1d4ba11e2393b97d186bb8fb93ebc4f28293bc9ef2b3b42165f3b07c999bc26d1863e6b08653f29fecb3badd798bc8a53803eca085a3f17f0d43b4a5522bca9ae673ed39b343f0d41d63b0f96d9bb1b82483ee8ab183f80adc13b0a9786bbe066203eea3be73eacf2c43b7d92cbbb46d4fc3d8e00aa3ee4999c3b61d6dfbb63bba93de5db533e3a7c773b97d42ebc9e5b363d26b0b23d7818fc3a8d010abcc90eb03bbc635ebc28f957bdacddfa3b0000000000000000eb707fbdf081313c0000000000000000d45d30bdcc42ea3b000000000000000015bf2abdcfbce43b0000000000000000fdfe0abd6165963b0000000000000000532e24bdec82643b0000000000000000e1ac18bde8311d3b0000000000000000df7d31bdfacf4b3b00000000000000001f25fcbc00590a3b0000000000000000b564bcb9f342553bff785ebafa4f90bb145f2cb9e979f83a5f70cbba6a0dbaba02710bba0ca65a3a72de56b9735af9396d350aba681ebf396368d5b984bd813acf9f0bba48f72b39f3bd1439d2ca0e3b589ce4bad8e1093afd98a73acf648f3b1323a8b924860c3a920af9383a47c03b6cc141badb9bbfb941c6e03a2b0e023c806fe2b94970383890c22d3a8645923bf037463bc769653b3c6bc93a0460aabbf108cb3bea89843b0fd5253ab799d2bbb464b63bc4b7583b287ccf39c3e654bbe058983bd45b313b57c4673ae7bd82ba22f7903b1ae0223a8bc7453a9f18183ab06ea33b4042073bcd8444ba7469c43a10b7993bf212c13a55a6b4b9106cae3aff44833b193ef9390e0c7dba3ec4cb3a49e2183b7359b43932b914ba028ce23abf5f0ebbf5e403bd46ef01bd9879fa3a9d6119bc0a4b83bde5a222bd1ff1093bba0a60bca8508fbd0a9c15bd2626a1b922247ebcfca787bd4a3904bd5a8b61ba04f069bc66276dbd9228cbbc39d029ba2d3289bc30e45ebdb19ba1bc5cf2b539869d57bca7ab35bd388041bcceb3d43a36741bbcbc0502bd00a835bbe7be4e3b693861bb01d56cbcfc170f3b1250283b5baf923a303fb5bb17aee93da7a9883f2643553b8ccb89bbc8b6e33dc316803f81e1883ba45ebe3ab4e2df3df569583f160aa43b1bb5283bfc76cc3d6e4d303f3f7dab3b2bb60e3b38ddac3d5014073f9fabbc3bc5601bbafac58b3d10eac43ec451823bbb3796bbf8353f3d6411743ea265553bcabd1bbc7635c33ca7c8cb3d8985f33a4d1205bc4f5e533b54c99bbc545a58bd3e66db3b00000000000000007df266bd08b6193c000000000000000005df1dbdb36df03b0000000000000000072e03bd7b33b13b00000000000000002be6e9bc3bd1673b0000000000000000b6900bbd1083003b0000000000000000ac4120bdeab38a3a000000000000000021fc35bd34cf113b00000000000000002da314bdf057a03a000000000000000000000000000000000000000000000000726885b94552593a112f0abadcb5f9baf57ad8b9e775f8380e8660ba320d52bab5620dba705e43b9b4397bba46468f39335248b9ad460eba87f7fbb9bd98603a29c15fbaec86913a7ee78b3a9b8cc33a191525b90a528839ec52633a5408803b03bd80b9eaf562b785de933ae0d39f3b000000000000000000000000000000000000000000000000000000000000000031c06e3b5e65363b8dff253aab6e91bb7df7473ba739fb3a8d6f6e39becd8fbaa9d82e3b3ce1cc3a170c1c3adc04c33820b7263be3789c3a65b44f3a894b7f3a0b9d003b9d77973abcd40b391535423ad2624d3b71854c3a9ce27db860b6ae3abf784d3b55088f3a16f810ba03a6913a00000000000000000000000000000000000000000000000000000000000000002967f5bb1b5d6abdf46c0fbddfbdb0ba6af712bc7a936dbdd874f9bc19fd06bb857a1cbcb1785ebdfe15d9bc6d6716bb226c1bbc7ebb44bdf949b3bcfd8405bb26240dbc195835bd2bb194bcba8ac1b9c80f16bc455416bd3a423abc78e8c0375647eebbefc4efbc9c0dacbb55b1b53a000000000000000000000000000000000000000000000000000000000000803f7aa9f13acd9e163c7390e9bbc542893f0691223b23ab143c8d14a83b0880653f81237a3bd59e0a3ce66e3e3c9b2b3b3f9bc7793bb3eddc3b174a5d3c1994113fa4c3653bd7645b3bc2e9503cc3e8d43ef78d443b9c73b539ed702b3cc718863e4673323b85166dbb2842c23b52e0e73d0000000000000000000000000000000000000000000000000000000000000000b49cdabc8079c33b0000000000000000aafb6dbcbb378e3b0000000000000000c4743fbcd0f34d3b0000000000000000448853bc4a879e3a00000000000000003fbd95bcc5486c3a000000000000000010adc4bcca4783ba000000000000000063a807bdc802a8ba00000000000000000000000000000000000000000000000000000000000000000000000000000000c8eababa085a9abb8a9aefbbea4e8839e1f005bbb79693bb11b5a9bb7422a73a36765abb2e4f8cbb6d1174bba132823afb24fdba0c0a85bb295c38bb1f3ab63a4658f8bafd005fbbf2114cba9f4b473be0528abae37825bbc32da73a5de7213b65a351baafab13bb14d5263bf60fab3b000000000000000000000000000000000000000000000000000000000000000007910c3b63cdd63a901785ba26eec1baab33013b354dd93a82d31fba3d7948bb0760743ab940ff39cbf63e3a559cb2bb0829403aeefb96395404183a640a9ebb12a5f23a75bfa43a8390cdb904a1cdbbcea0173b974dcb3ab557ddb90a64d6bb33771e3beb9fa33acab3adba5d44e9bb0000000000000000000000000000000000000000000000000000000000000000f189e0bc7bd706bd51a414bc737db3bb21e0f3bc9abdeebc936f21bcf4b8bebbc57eefbc2b92d4bca8d222bc1eddc0bbc8a6dbbc2badadbc09bc10bcf384abbbdebbddbccc2697bc64f6f3bb0ab28fbb3e8ecabcbd4c5ebc1d92a1bbff3f3cbb8759b4bc8b380cbcfb3e03bbd89bbfba0000000000000000000000000000000000000000000000000000803f00000000fdc30e3c0595cf3a9bc47a3f2112173b9a9b183c3d533b3c7e39553fbd72273ba4c92c3c461d733c7620303f10e77b3acfd6213cb8cc873c99db0a3f464262bbc69cfb3bce11873cda48ce3e72382abc6720a63b97086f3cf7a0863ebdf890bc300f153beb103f3c6251fe3d6e19dfbc00000000000000000000000000000000000000000000000000000000000000005041303c6d1e973a0000000000000000916cc83b5a0a0fba00000000000000004535473b7001aaba0000000000000000c1fe31baa2d13abb000000000000000055ac87bb1c4691bb0000000000000000f508ccbbe97cb3bb0000000000000000c3c800bc5ef6e3bb000000000000000000000000000000000000000000000000d61ae2b9393715bbdb510fbce1eb01bbb92e58bab32253bb4e6be9bb722c8239a9230fbb68ff92bbc4d3cabba0ce433a1417a7ba4594c5bb910588bbc1701e3b5b6f09bb6eb498bbb08a55bb29070b3b275f0abbdda67fbb01d8b8ba457c6f3b0343bbba48995bbb323c763a5750b33b658627bb698d27bbcdc0293a1f79b53b81b0f2b95a59ddbaa777193bfaf28e3b3cdb023be78c7b3a2dbcd6b937ba9c399ea3773bf95bdc3ab0ec9bb90ea43abb7f6a113bb8f61b3b619aedb9596426bbf58c503b9125cf3a914aaf3a4c919cbb7bd10e3b8bd0b13ac4207f39a40587bb6f9c383bc7ebe73a8b4814b942c2c5bb4b77633bb7644e3a84b165ba6d75dbbbc01f323b9a7db13aa9b7f0ba6bddcdbb3914073ba289873a56efdbba3c587ebb1c0a35bc7a13e6bc6743e7bbb2f635bbd907d0bcedd51fbd72df36bcaebd96bb561e04bd541c1ebd14f859bc10f3d8bb5a4809bdaa590fbd69f56ebc17cdf4bb6843f7bcc2bfe4bc6bb832bcbe35b2bb35e503bd2fa9d3bc8d1520bc7a619dbbd093efbccfd39dbc11f6c6bb8e6f44bb4d04b9bc686b46bc2ca800ba76b9c0ba6f9369bcf5ad93bbb1423d3afff75b395388eb3bb5d885bc7c78793fd2ef033e7b9c393cdfe216bcf400643f349bef3de971493ca878723b5b09433fcc4ccf3d0007493c9b8a2e3c2af9213f7c4da93d6def2c3cccb1673c3cd3fc3e5799753d18e21d3c8da2863c8ca2bd3e0c940f3d9dbed03b8b916c3c6ca1773e77551d3c4c888e3be63d293c4475ec3da6a06ebcc29a7fb9fadfb43bb1643abb0e24ebbcb142ba3b42c2463b0000000000000000e5e1a03b039b8c3a000000000000000047a5883b2f2c1c3a0000000000000000aaaf973aa89b02bb0000000000000000c3584cbb6aed3abb0000000000000000df9bedbbaff890bb0000000000000000aeaa1dbc3674c9bb00000000000000002ee732bcecea9fbb00000000000000001592f7bb3a0ea8bb0000000000000000839b7f38cdb281ba3bc9c4bba99283bb074a9dba004c28bb0467ffbb7e2c52bb195a6dba92ed2fbb9aa8aebba0916bbaab731abb91af9fbb642bccbbf8a5433a472607bbf1f58ebb9ee08abb86178b3837ec11bbb1fd93bbbbff40bb7d49243b51c8c8ba17c354bb145756baa8ea623b6c319aba253656bb35663f3a0696a43b9b2760ba4a4915bb96055a3a62ef6e3bad993b3a0385463bb0f6133ac944b039a201d73ada87133b38e36b3a8b51d6398921e53acfb5c73ab2b9213a36e291bae7203c3b4e21803a01e5a13adec6a2bad87b953afe98793a5eb8a63a09bdcdba5d1c2a3b6d94053ba63f0b3a6f466bbb5676293b852e703a727703ba2ff471bb97465c3b8be2d53a025c96bab11186bb4485163b81b28f3a777c9abad7a31ebb251b8cbbd8e2c2bcbee516bcadb927bb123384bc6af417bd5cf876bc6b12a1bb5ea2afbcf28810bdb33561bcc9809ebbf939debc7ade17bdb9f581bc1fa8ddbb457cbdbc4555e3bca9b544bcee9aaabbb1efdcbc81bce7bcda3937bc367797bbf781b6bcabaaa7bc2a17e2bb6bb84cbb3989a8bc405974bc55e556bb7a62abba97133bbcc20acebb48597c396749d739ede7e23bc6cb9bbc4c78543fdbed863e32693b3cd41a71bc570d443f6298753e51842e3c05ea01bb11a2253ff217523e9090563c09d1c33bb4f90c3f8d912d3ee0f22b3c82411a3c6a56db3e283b043e6759283c1f1a4a3ca83da73e5c40b43d6dcbe93bd7fa243c1ed35b3ef355473d9c3b863b15f00f3c29a8dc3dc2a9a73b3842b33a1ff1873b02ee463b63b2b9bc95f105bb9550683b00000000000000001fe4e3ba0049743b000000000000000078cc52bb34aa5b3b000000000000000002fe94bb344ccd39000000000000000015dfcfbbad6b9dba000000000000000060993abc7abc61bb0000000000000000ea4048bc2e3d76bb0000000000000000209e6dbc940da3bb0000000000000000f58b20bc3a4b50bb000000000000000095f5a93955190fbac089bbbbe15bb5bb3c8f61ba935305bbb418f3bbcb9db0bb258b25bb36a128bb4b1cbfbbc20b96bba7f011bb91ae8cbb215fc3bb18b0fbbaf80e03bb9a9991bb146eabbbbac959bac54dbebaa1a074bb10bc93bb59a8533a18230abbec238bbbbdee1cbb63d3473b2aa81837df6e40bb0abe5d393b0bcabad462803a9952dabaf3ba823a96206fbb33e403b9f8a0ae3a37b5023b28bc1d3af067493a0e030c3b1ca9173b53c3783a48e5abb8cd0f2e3b6e3ee93ae4c3d23971c1ae3a400ec33ae450073b24f47639eab8a23ada76403abfbd183bd10becb9d962063b155bda3a7b39b6b99c7ec2ba65ae623be473ff3aec30cf39fbb538bb3af8a63bdb10113ac15b60bb4d0e91ba99a2573bec06633a232091bbabe13b392d17283a573b9fbc993540bc0c54e8ba52560dbcdada08bdccc096bc995981bb124b76bc21da1abdd68893bc4909d8bb8055a6bc2ff914bdda2893bc048fbebb1791a4bcbe7f00bd2a6e76bc6101b2bbad51b4bc4429fbbc9a395ebc631157bb4941aabc5ae5c6bc434414bc76de46bb0a8474bc385e89bcec3baebbe193a03961e4f4bb5767f4bb1428acba7a54993a0d88d33b6b4783bcae5e2f3fdea7cd3e1aa3313c6c2553bcf040223f0fdbbb3e9ab3433c78581fbbfaf80c3ff38ea13ecde34d3cac36983b7068ec3efc44853e955c413ce3e3113c7f88bb3e1dae4e3ea6b42f3c0b3a2b3ca88a8e3e77b2133e7e84103c7a83233c8bef3e3ef3a7ad3d9143563b3b268b3bf865c23d15dff73cf9dd8bb9662d82b90174a93b40f373bcb23ef0bb456b9a3b0000000000000000d73a18bc44a8ba3b0000000000000000f903e3bb9f005d3b0000000000000000d94121bcc24f0d3b000000000000000051e237bcdf90b13800000000000000009d8b74bc3e2c96ba000000000000000063a194bcddf84fbb0000000000000000b2d598bca58a10bb00000000000000009ddd45bc14c882ba00000000000000000dbe5b3aeef39b39cdf9e3bb3a4bc7bb55ee98bab0a516bbd9ade8bb9836f0bb480cb7bad92441bb1fb6d6bbd89baabbe11a03bb069f8bbb7c8ddcbbc49e72bb4f2cb8baee7c74bbe813a5bb723922bbaa2cf9bac91e88bbe5869bbb9a3a9bb89292cbbaff9c75bbf8f34fbb4efaaa3a4acafcbad8e08bbb038a03bbee014b3b66640dba43dcdcba977fe2badad2883bc3cadab9a996863a4435443b9cd3fa3ad2fa0dbabae4f43a77f4663b21e2c83a98f93db953e8d53a9d55453bf8f8e73a0b0a053a76f4b23a73de423bd666a33ac5e50239071a34399b48223be628603a4d820b3b58ecd33a07a0dc3a3d71f7b9f9c9233bcaddd33aa986433a9110abbab998693be790093b339b41b8bd26ddba2b852e3bb763ac3ac6160bbb8f084ebb517c3a3b61b68fbc46b889bc5df595b89fe94cbbc463f2bcefa5b2bcccb344bb89691ebc1de904bdefd1aabcb348a1bb9e1f6dbc2fd412bda522aabcb211bbbb182344bc45eccfbc83ff65bc006896bbbb8e8ebc173afabc2ce672bca0738ebbb9a67bbc8570c4bcde3623bca0af2cbb28c262bcf4269cbc4f22bebb578b82baf2161abcb62833bccb7411bbe76baa38f2a0c33b03e64abcf9920b3fff310b3fe1f7193c95cb04bcec37003fcd23fd3e1c35263caa4f5b3a19a3de3e5d60d83e6a743e3c2d89cc3ba325be3e1385b43ec7c2193cd5e8033c887c933e334d8a3eaf08353ce22b263cc863693e8ac24c3e15aa0c3cf9980b3c186e1c3e0230fe3d5073d83b0522d13b2f45a83d768a4e3d7bf2ab3bab68153bfc87393c77bb7cbc825759bc6ab1ab3b0000000000000000e60473bcb0ebe73b0000000000000000d0b240bc230ea43b000000000000000035c862bcc51b5a3b000000000000000054b13abc711d4f3a0000000000000000b3cb9cbcd55c56ba0000000000000000eb8ca6bcf27504bb00000000000000008bcbb8bce692fbba000000000000000045c383bc2caebeb90000000000000000c8d9df3a3f77013bef40d2baf1ccb7bb4004703a6a6422b6a7b07cbb18afe6bb7068efbab98d44bb656ee4bb7046d6bb620975b9b9e586bb9f0ceabb65bf5fbb2915ebba85fd85bb742ac9bb2d1543bb0e0bfbba835389bbd9efa0bbbc5ad0b9a60be4ba459773bbfde18bbb8897353b595e9fba216445bb6ded24bb0a203a3b3a7f1d3ac5bb10bb1476bfba709d0a3b376892bbebe8a03a7bfc9bbab15b59bb9bed3fbb74770e3b0c13663a2a660fbb098a0f3817e7133bfdbe7d3b5cdde63a67e7a0b956d1193ba361573b1739a93a5ebf563a7eeaa03a77393e3ba1b3b33a9a59183b82aaf83a7264e23a7259dd367c83383bbb79e83a80c5163a3bbd513ae82c803b92350e3bd18dc8b971b1e3ba66843f3b4741bf3a2b3b7bba8c33a6babec8073c29e33cbc91dc7cbc39cf66bb05741c3b6afadebc203acabcbb2ca5bb5b81d1bbe28912bd0578d9bc735b9fbbee4a33bc826319bd1be7bbbc1b51cdbbcea846bc92e107bd0571a2bc76dca6bbcbaf6abcbb7e06bd42358cbc0f1988bbfae66abc7e8becbcd16b4ebc1e9f42bbfeac43bcfe4eb2bc4190dfbb2d36f3b9fa26d8bb9d363dbcedd303bb2cb8703a5932ea3b5c6b5bbb9e14cd3e593c2e3f10310c3c60a5b4390e17bf3e89fc1f3f21a1213c9fba953b04bfa93e25370a3f4314383c25bd103cb4c7903e986ee43e2ce42f3c3c472c3cca056a3e1047b23efda9323cb61d2c3cdc24363e2b08833e5d60153c866f063c995dfc3d358c253ef796e83ba659a03b24068b3de711903dc9387e3be398a93a230e2d3c101d2ebc796554bcc30a593b000000000000000081ae91bcd492ae3b0000000000000000de268dbc3787d33b0000000000000000c43492bcd0a5663b00000000000000009d7a93bce1d1ed3a0000000000000000f7bdbcbcd281feb80000000000000000db25dbbcaacaa93900000000000000006d7fecbcc8facaba0000000000000000cc6caabc9bed4cba00000000000000006e802dba17663539009b7dbb9f8501bcf44b97ba8b209dba82e1d2bb042e13bc0601c3bac3781fbb5cd1bdbbd766d0bb97bacfbaa32e63bb7f17d8bb15ceaabb1f22adba200659bb4e4cbfbb246860bbdad3d9bab41f7cbb8550afbbe7089dba01ea19babe8615bbd7e059bbb2bac23a4ad0afba735634bb642b46bb9361433bc1c969bac820ebba51b7abbae584383ba5cf98ba34d0403ba89d2f3b66afa139d39365b84627693b4119833bc0e6393ac6c78db81b8b023b125e663b1328e13a2d32473a7f67063be9917a3b717a003b166f073a21d74b3a0cad613bef8ae33a44752c3b2c882c3b6a16113b27e1c7397c31663bdcbaf53af7610b3b19771e3abe5d8f3b8ebe2a3bbf010eb94649b4ba1772553b6f11d23a48824dba97a4d5ba740bd03bd8ad70bc4829b7bc376e86bad3591c3b6d4ffcbc473303bdd1275abb50bf4ebb7d4d08bd5ab7dfbc5cc699bb845fefbbd3a41dbdc35ae3bc9183c6bb4fe308bce33b01bd36f3a6bc07a5a4bb08ef42bc12af10bda7e19fbcfffe8abb9b1c3cbc69b3ebbc33eb45bc8b6401bb2cc227bcf8c6c6bcca3ffabbe66774b9bb51c0bb222152bcbcb8f6ba4ed39e3aa98f4f3b6b78e8baca86873e2700543f1525d33bcb83773b96e57e3e0ad9423ffcc0fe3b4913073cbef9623edf16243f2a401f3c1a8e4c3c6c52473ebb080a3f30451d3c156d423c467a203efc61d53e4b522e3c8383453c1384023eca149f3e5a70023c2874fa3bc8f1b23d49b94a3ede1c023c450c923bc6dd573d557ab73d5d51913b7c41343a6bdf3d3c284c19bcaeed9abceee5e33b00000000000000000336babcd9320c3c0000000000000000985c85bc53e8c43b00000000000000003cd194bc63b98a3b0000000000000000df7b8abc8328de3a000000000000000039b4ccbc55b76fb800000000000000005c1cdbbcc89dfdba000000000000000001b209bd5ea6d1ba00000000000000001beecebc646c47ba0000000000000000a4a33ab9ce180b3aadea5abb49460abc998559ba5e341fbb66a5a1bb840500bc8030abba73ac33bb2748d1bbdf66e2bb6130cfbacfc575bbdf4dd4bb250bb5bbf815c9ba0bbc3abb067baebbcf652dbbc91db0baaf3b72bb4dc1b3bb66d15aba95ec77ba24db42bb21968abb85d0933ab873c7b92e4503bbb3cc2ebba8476a3b14e1feb91d14c7bab71af9ba798d443b63a3aabaf7833b3b13b7363b5cc7ae39ed7d403a1569a23b17394e3bd855bfba616ace39faad473b71de743bbf61e23a8d06193aea15193b4d9e7e3bac3f0d3b3e50c53a17c7083be78d413b466b053b0cf2353b84cd373b4301053bcfc74b3a27086a3b5613413b0349b93a2c2665b909b99d3b1242383bd992a7ba49edaaba5044653b876d533bee67f8b9ec3be4bad153d63b18f38cbc639fddbc827504bbacb7583b3bab06bd9a4e17bd7e186fbb4417d3ba2d471ebd955708bd06eac1bba4bca3bb734324bddc39f9bc498ae1bbe35af4bb5a1811bdc270cabcd90cd5bbb5fb1fbc1f3c16bdd3d1b0bc5155a2bb63a525bcc1f904bdade27fbc9dcd3ebbf78b11bca4e7d6bcd4930fbc846d6cb85c28babbeccc7abcde0c4dbbe035753a9c93e23ad3bba63b3a08053ec17e793ff20cbe3b4c044d3ccc8a023e265f633f63b4cf3b8c34753cc904f43dbbe1413f553e093ca572883c2ccfdd3d8b24203f89740f3ce766713c2ac0b93dfaa0f93e7d8e173c6ae2583cdf029c3d311ab93e4dc0173cefe3243cdf2b6a3ddb3b6e3e1f2fd33bb8185b3b73fd0c3d17ccda3dd93eb03b6976833aedbc443c9a9422bcbe278cbc5d78e43b00000000000000002fa3b2bc8dacd43b00000000000000005fc757bc404dc63b000000000000000088915abcde205b3b0000000000000000dc836ebc5af5603a0000000000000000a1b4b6bccdbe92ba0000000000000000579bebbcd09b25bb00000000000000002c5310bdfc201dbb00000000000000007482f5bcd54614bb000000000000000000000000000000000000000000000000d6c84fbaa0c899ba0754a1bb7b9802bce9d988ba4fa12bbbf5e8b1bb9e74cdbbf3b154ba5f7448bb9c72b0bba198a1bb06c8d3baa1966dbb5985c0bbf58a81bb83ff34bbf65fd5ba1c2bb5bb7c72f2ba7deb0fba225421bbccf76bbb01e1063a00e4adb9cea005bb995945bb4de50e3b00000000000000000000000000000000000000000000000000000000000000003433c6baf72cec3a0638673b294e0e3b64ef68ba3600db3a10ab5d3bb9721f3b66276bbafb5f6f3acc44623b4a4b383b84e42cba7f1e273a8e20843bb0646d3bdab4c2399c133f3a69a1653bc3b8183b83a72a3b2c77153bd4c4c53a495fcc392d4c633b22cc103bf357603a148a76ba0000000000000000000000000000000000000000000000000000000000000000a029603bc902e3bc095bf5bccc3eb3bbf36a4238f202fcbc3df1dbbce795d2bbd02a14bb33d5f9bc1e76c5bc8e9dd4bb9ef1aabb1abeebbcfc53a7bcbe7fcabb4487b1bb9879eabca6de8dbcd817cebbfe5feebbea06d3bc0ddb54bc8f1098bbd403f3bb9b2ababcdb5110bcc939a1ba000000000000000000000000000000000000000000000000000000000000803f3bee2a3bbea76d3c3d3b1e3c5f867a3ffb2f963bf7327d3c247f893c62a1543f4c3ecc3b96837f3c3de6a93cfb902f3fc0edf13be3ae6e3c9e89b33c20870a3f715e043cbf035a3c1362b93c406fcd3e41c9e83b4c98183c69eb9e3c7542853efc91e93be14ace3bd2d7893cd5a0fa3d00000000000000000000000000000000000000000000000000000000000000008f6ea3bb1f86cc3b000000000000000014cd3abbf318843b0000000000000000f0fa61bbdbd10e3b000000000000000014b0b7bb6f7a08ba0000000000000000efa14bbcc417e4ba000000000000000059c79fbcd85d59bb0000000000000000b50be5bcebaa88bb000000000000000000000000000000000000000000000000000000000000000000000000000000002e62feb9dd2cb7bad4c6f7babb83fdba2cba25ba6eb7cfba20eb09bbc35906bb71151dbac6deb1baa82de4ba9b2fd7ba9c6610ba8e9ea9bac5d0dcba6a36dbba52035cbaabf8d3baff43efba3751edba7c400dba67a6a2ba09e0aabaafc796bafbedb2ba7789f1ba0c84c4ba72c58dba000000000000000000000000000000000000000000000000000000000000000034e0b5bab96280ba8d7cc23a2ac17b3a4453f1baa67da3ba9e6bda3ae6ee533ab5e8c5ba1d7ba9ba3f63d33a78fb013ab84dbabaf05510bad684b13a16528139e612cbba90dc50ba6e7db63ac96c1ab8db7385ba39f966390a337e3abbeda8b9d7f33fbad960d939b1cfe1b82961ebba000000000000000000000000000000000000000000000000000000000000000062a3e7baf67f5ebb991023bb7a1d0abbdefd0dbbad8362bbe86335bb41c621bba34912bb7bce48bbf32226bb78d20dbbb99100bb52e929bba53214bb00c403bb507014bb709a3ebba24f25bb2d8416bb66ce0fbbbe3a18bbf44afbbac3ebd7baaa2646bb0cd034bbaef800bbbd23ccba0000000000000000000000000000000000000000000000000000803f000000006b79103b26b3363b43d2623ff6d81e3b737e493b902a873b0279423fbb081c3b264b493b213b913b76ed213f9fb8f93a99c93d3b443c883bcf50013f16d78f3a94c85c3baf6e983b8235c23ea01ebb39cca43b3b7c62873b4356813e6afd2dbaab3b5c3b7b33943bf67e023e362449bb0000000000000000000000000000000000000000000000000000000000000000a2bfe63aed2715b80000000000000000fe079a3ac7f5e5b9000000000000000014250f3a592327ba00000000000000008a6dabb8508978ba0000000000000000f1d650ba9952cfba000000000000000031c993baa4f8c7ba000000000000000049df25bbf43423bb0000000000000000000000000000000000000000000000005eae01ba6aaea2ba5091e4baa456f3ba5cedf3b9dba2e4ba229d2bbbc8b33cbb73d502ba1904d5ba401910bb342b17bbe29ab3b93ec657bbbf366bbbf8db60bb9f7e7abafa2b06bb515526bb08872cbb594881ba8e270cbbc48823bbd33926bb7c2561bad8b3d9ba6deefdbae2b6dfba54329bb77d0656ba008521ba6f60d8b870440bba30968fbacba64dba8c9711bacb9093ba08118bb99f2ae83ae554dd3a5e731ebbf8a2bcba6c83043b4847be3af034ecbadf370cbb68ee053b1a5fa43ae4a244bbd37a59babefa173bfa13a43a5740a2b9b51df7b901a5dc3a0e39b039ebd4eab9b4b0153a8fd0de3a55ed2d381065e1baa33dccba3eb0b53ad8155bb959168639c9a900ba5816ad3a50c400bbe8f60aba526f7e3a38ea6639c3e51cba3d6185bae61d49bb933d0dbb04f2e4ba085ccdbaf7e589bbc60d5ebb901643bba6daf9ba67d77fbb8b364cbb22a228bb5f8bffba662764bb772799bbd33f86bbfee31bbba9ca6fbbb29859bb9fcb80bab8d12fbb93af74bb4eb95cbbc7994abbcb1a1dbb41e849bba06625bba2cb10bbc4a16abb9d0878bbc10289ba0ffc2cbaf0f7bdba4ac9c5ba763580ba3b1f80baa2d1e53ac065bb3a27c2623f37fc013efa0f473b52e0513b817c473f896ae73d8a435d3b26168b3b77f82a3f48c9c63d9cdf923b2c0ec43b23cb0e3f976ba63d14276c3b77aea03b0085e33efe13833da5d5833b6359b53ba800ab3efdd0423daa11723b926fa23bfdf1633e54d2fb3c73a55c3bdb50933bdb7ee53d7b1a483c0fdcd73a3219123b77e4ef3978cb14bbc25ca13a5f3205b90000000000000000cebff43a93559a3800000000000000008511bd3ae5d357b9000000000000000097d8863ab7245fb90000000000000000c2cbb0b9fccdb2ba0000000000000000042d8bbad1dbecba000000000000000045eecebac928ecba0000000000000000bc175abbe67459bb0000000000000000d634d3ba46d9caba0000000000000000cf7c8d379d0249ba9d66c9ba930102bbf830bcb918e7b1bac45514bb4b7432bb8f0133ba982cc2ba997efeba317a00bbd47db8bac9cc2dbb8f775ebbd3cf72bbd7780abaedf7c8ba66d306bbe30b0dbb3b3a38ba7df4f8ba964e1bbbf74619bba284e0b995deadba555cd6bab74aeebaaac909398c6b22bb4ec615bbd677e6baa8cf3c390e6b92b80b61eaba7fe69eba8d7eb6bad2e8d4b93e64a73a5e74a63a413e15bb61dc9cba28b2093b43c2e53ad811e3ba719a25bb4c8aad3a6fb8563aac55e2ba02687bb7c3a6613b6020193bfbc90abb30e5b3baa324f03a3c374d3ad9a606bbecd192ba5a68f93a8ba40e3afa1ce8ba8ff888bacc98f33a80231e3aeb02b4bad4becd3aafaec63a4f63e339f44944ba5a3f3cbacc90233ac34da338d3263938748e1abbd85e0dbb44f3ddba7f1a2aba1feb77bb789c5dbb59ea33bb2627b9bace965dbb8b4a3cbbdfcb1abb6a442fbb4196a2bb10e296bbc3238bbbe696c9ba489e4abbab823dbbfb0128bbd8ca0abbddb66bbb5abc59bbbb213abba157b6ba7f9124bb797b19bbf19c0dbbd0f343bbdc0b67bbce3a32bb852313bbbb0f04ba0dcb0dbabcb6e6baf85ad0ba9fd6b43ab4b92f3a1938423ff67d813ef440303b80bd273b37402b3fdcd1643e6215783bb19c223b9a42123fee30433e1ac99d3b600ac53bb0cdf53e23e7243e0a5f523bc9cd903b5582c33e0d2e023e38c67e3b89d1b03b8467933e120fc33dadd8803bf1bd9f3b37b2443e95da803d0ad45b3bcc7a913b1b44c73d2f28ea3ca5f7d73ae510133b302cb33ae3a0abba1182893a450a90390000000000000000de82ca3ade8c7d39000000000000000019672a3a97bea8b900000000000000008199f2b9002ed5ba0000000000000000154397b8831374ba00000000000000002a5368ba4073d0ba0000000000000000c5c87bbab7e8adba0000000000000000bc9152bb916038bb0000000000000000ca1086ba6f0a0fba00000000000000001441c2b39d0b30ba2dcfbdba302cffba8afc6538a1c173badee505bb084d43bbfadc16b99f8fbebac1ed1fbba53c32bb51b6efb916e9ddba145d2cbb688c42bbb2cbfcb9889ac6ba400913bb844d2bbb409e1eba774fdfbac8901abb5a1916bb002161ba57deebbaa84311bb89a00abb45940cba20a8b3ba7b3ecbba125fa0baa9c2d5b968f480bacca675ba88ed3dba860ce0ba77104ebae882c33adca3c13a85f21ebba7a2a5babefe0a3b4212e43a45102abb0600a9bab327253bbbb5f03a067b3bbb5fd5fdba9fe1253bceeed83acd382cbbc1b640ba3abc053b09559a3a30790bbb9891b5ba0a57023b8115673a88a004bba9215eb872bed03a0183c63915ce6dba5819c9ba447e973a642af338a1d923ba05ae6c3ac9fbea39fb0b30b9ebfe1e3a0014f5ba0b9f10bb80c3e5badf906db847d64fbb6ca258bb423725bb8e2532ba2b4c65bb81da6dbb40dd43bb6a23a3ba48ec7cbbbf7d7ebb78f057bb3166a3ba813a53bbc87a53bb234b39bb985ad7baa11b68bb818d5cbb200938bbedcfe0bae9a04dbb0ac339bb237220bb2009cebae89e25bb9df002bb93e9c2ba84b28fba7f5dcfba802492baa17675bae086a53a654a413acecc213f210bc23edd52183b11e7133bc0a70e3f1ef8aa3ec67e443b0c756f3b5618f53e13b8923e57306c3b340e9f3bf6ebcc3ea5ee743e96fa573b6b0c953b53b3a33eaa30433ee362723b2483a83b44d3763e8957123e0b2e5f3b23bb933ba6ee243ef760c13d6679403bded37a3ba71da73d256e3d3d76cbd73a04ff053b63e5b63aaa97a8bad745283a543fa9390000000000000000bc73423a6c2ffc380000000000000000730f4c3a1157da370000000000000000509ab3390adefeb900000000000000001c188bb92ed264ba0000000000000000b1558dbaca04afba000000000000000013b5ddba815fd8ba0000000000000000409309bb3284caba00000000000000006539f0bae6a7a3ba00000000000000009bc0d9386b32e0b9486da6ba446eefba9c854db84d0d64ba7321ffbad5542abb129087b9272cb1ba4a5f34bb99d355bb897703ba7c41cfba74f424bb735543bb1312dcb8aaac77bafdaedbba3f4c80bbfdcc31ba0531efba93b626bb489026bbd07406bac19ba8bae3fe00bb047308bb6ed921baa17ab4ba84c6dcba35e8b9ba2bc4c5b9c5166eba18c57dba76da23ba9c39ecbaa50479ba5c9fce3aaab5c03a0a6d21bb5b0eb6ba34f4123b4130f83a93615bbb48e596ba5062303b1a16ff3a07fc46bb0357b6bae2712b3b9c33f43a1225e5baf83c31bbd352073b9274ac3a23061abb578083ba6c450a3b17058d3a0df805bb611e8bba27a6f93ab0de6f3a97379fbab47ab5b902b7993a6e6c763946ec0cbac78300ba2a59183a829dc63742976b3a0c0ab9ba965414bb645ed7ba2abdeb391a9a2cbba8eb67bb9e1825bb6ebc6ab9a15d5dbb236184bb4b8a5dbbe6d83bba5c736abb3dc07fbb207e50bbd88213ba785318bb46d31fbb789205bb116bb8ba35ed65bb4f126abb66043dbb71259ebacea833bb70ec38bb0e681dbb8383aeba37c31fbb0e460abb1db0dbbae9a36fba7185c1ba6d12a1ba049c75bac603883a16fd5c3a6967013f3759013f19dd003bf665173bbb18e43e0296e33e7df3373b6db17b3b764dc43e5247c33e158c593bd56c9a3bd36aa43e60f5a23e4ad73a3b884f793b62db823eabab813e11486a3b0773a43bf4b3463e9000433e2071623bd5f88e3b091e053ec48d013e3856353b9310653b4d1d873db98f7f3d786cdb3ad577083bf0bdea3a52d542bad8e2ca39b82b083a000000000000000071f0f4398ae2f43900000000000000009b30123ae16b85390000000000000000a9fc863911dc83b9000000000000000055c2aeb8c121b4b90000000000000000d7bfa3bad530a1ba0000000000000000a2f2c4ba2240a6ba0000000000000000115410bba7eeb7ba0000000000000000d845f3baaf5e8dba000000000000000045b92539f8b0a5b965649fbac29df8bafbda9038b9d65bba3e6c0bbb95c63cbb937782b9030d9dbad0db1ebb7d7e4dbb344019baa824cfbaf0d62dbb362750bb2eb9f8b90dd6bcbab81119bb492f2bbbf57af5b9d4f9e0badb692cbb55a02bbb5e2c21ba4543eaba1cdf19bb101d18bb9f105aba814bb7ba9e14d9ba6f1ea7bae997ffb96cc580ba930392ba771819bab3d8ecba480f1dbac1edc13a2365bf3aa71831bbeaee2fbb0da81d3bff410d3b8f7e39bb2774bfbaf0542d3bc43e0e3bb2e440bbe28addbad0a8303bccc6073b90e729bb94c6a1ba633e173b2cfbcd3ab9ed22bb1a3187bab04a1d3b912eb73ab2ba03bb81c678ba00b7f63a33a4673aa739bfba9e9940bacce6b23aa74fdc39d32c78b9098685bae66b313af14d273955178f3acfd5aebaa7142ebb923cd2ba5402583aa79232bb4dae85bb83a82ebb83e52639421d4ebbfc0485bb6a4337bb9a82e0b9c4fa6ebb03908cbbecd258bb26b743ba85ae52bbd1f26dbbdaa73fbbd05c9fba376768bbefae7bbb3f9644bb02a4b5ba035259bb984553bb6f2323bb2cbababaf84524bb781b1fbb744001bb5e7c58ba6040c2ba42dcacba9fc72dbab32c493a8810843a2e2bc23e79be213f9aa0003bdc23383b06baab3e196b0e3f4d35293bf7be833bf2e8933e543cf43e386e4b3b29159d3b5524783e619dcb3e89894a3b1c84953b1eb5463e1f68a23e0267703b491ca83beadc163e31c1733e618d623b5397933b75d2ca3d5fff213e03b8393b231d703b6d85503d20e0a03d35e4f13a00840c3b6d8e0c3b156fb9b94fe250397872413a00000000000000003c2afd3998ae3b3a0000000000000000b03e103aa48ad9390000000000000000d6238839a45589b800000000000000004f1dffb9421e26ba00000000000000006077adba234e9aba00000000000000005c4bfaba8a34a5ba00000000000000005a7632bbf2ca98ba00000000000000004ce30dbbc32970ba0000000000000000ac8abd394959ceb9e36cc4ba596318bb0fdef939cd9b27ba60f716bb61b956bb44e763ba3310dbba23a92ebb98d94cbb2508b1b95b07cdbabf3f3bbbd6e450bb042e5cb9ce84adbab8581bbb96112abb3a49a6ba479b24bb6b6e69bb600b6bbb6a7da939dec43aba6a6d1fbbed301fbb10833dba53bee1bac44411bb27f4f5bab051e6b96a5d84ba0ff1a0ba1f0870ba0ca61fbb3154a9ba2ca8f23aa052d93a743f59bbc7d1fcba4c624a3bb5822f3b237745bb257ed3ba78869e3ad137493bf9fb48bb8755c7ba2711363bcfe9133ba02127bb0a3a26ba2dd3123b9f71d33a85fb5abbcdbef3baf75b663b822e2f3bfae205bba9ba6bba62a8383b3284f03a8b4fe0bab22577383b66d63abb73263aa9d652bada41513a6c56333a47aa53398c96963aef65c1baebf55abb923305bbd8a2b53afe5b26bb0dd997bb83a03fbb528ec2b98ed65cbb4e6090bbc4a346bbe3803ab9bae36fbb388996bb3c6a56bb282ff8b9c66343bb5b5c69bbdc6832bba3bff6baa93294bb998ba3bbbce478bba4d13ab9335608bb224e52bb48141ebb1861b5baa30c43bbf01144bb21df08bb99e86dbacb5dddba3c93d5badd0076bac3f9863ae3efe93a77bd813e2c30423f54c1253bca527f3bb6c5663ebc132b3fc712253b216c8b3bb8cc463eea6c123fd26f3f3b7353a53bcc93273e885bf43eba1f353b2a478e3b90ed053e449ec23ebdc6943b4fb7cb3b0cf3cf3dd2cf923e96481b3b17a7533b60b3873d2e19433ee8e9553b976d853b543f123d26bec13d0909fc3a1123143bbf0b173bffaa8bb9449c4438c18c273a0000000000000000c110673a88388c3a000000000000000092e994b96e089fb9000000000000000010ea8139df7d633800000000000000008cd0b7b9f4d0edb90000000000000000f45767b9f73969380000000000000000c9b17cbae0b8b5b90000000000000000924452bbb846d6ba0000000000000000fea826bbb7968eba000000000000000094aac33975d539b9ade1acba35320bbb41eecc3955523aba4b3121bb5a6058bb30e77a397e6075ba677222bb99254ebb2241e4b840d8afbaed8637bb6d8554bb7bb768b9f380b0ba86ce26bb211436bbd48bc1b91d88debac5f038bbd6ea75bb18aa01ba2ac0d8bac4f02cbb8c8828bb965139b990a893ba529be1ba903d85baab4670b9f86981bae8f0b6bacc2993ba78be0cbb66bb44baab3ed23a1846df3a89e75bbbb7b110bb892c413bd7933a3b1a9745bbe4563cbb0dc7463b152a2b3b54e250bba00bdfba0f09393b04341c3b9b232fbbbb85a5ba81c61b3b5c67f63aa55f58bb0a369dba20d2343bccb5ed3a62c315bb8c790aba18ca083b02f6a53a188727bbf39ab0ba582bf03a8267883a90a966ba733ea1b9591d943a5c21103afc8eb93ac6e7aeba876554bba055f4baabe1ce3ad29626bbae7e9ebb22394cbb2ff0603a4f6742bbe53c92bb12d244bbbe364539779b6bbb9d0697bbc4605dbb946f87b9c8e04abbed7175bbcfa735bbc6fb45bac92769bbe55c87bb4f7955bb0fdd88bae3f859bbe85868bb08a430bb461e91ba388823bb40cd16bb98aa55bb21f570ba3825eaba622ae7ba9b5d99ba6823e039b7e2fd3ad8ae023e0c9c623f5e6659b76a01893b1561eb3dbd71473fdfc20c3bd10e933bf76ecc3da8d22a3f312b283bb04ba33bf9c7ad3dd1590e3fde16263bef34923bc5db8b3d0d09e33e32e6693b652cc23b64f05c3d8a73aa3ecd6f593b20a0953bda09163d168b623ee101563b1874873b257ea53c2543e23d2840ca3af7f6393b1a44383bfc87b2b8106b223a794f823a0000000000000000c0e5b73aca929e3a0000000000000000c6fbb03a5aed713a0000000000000000b4355a3ad4f05a3900000000000000006bbcdf38ee9494b900000000000000003a0074bae134bab90000000000000000320a00bb9aeeb1ba0000000000000000e7ae37bb6352a1ba0000000000000000c7f72fbbd81aa6ba0000000000000000000000000000000000000000000000004faadd3988e90337afa276bb97e35dbba32ee6388b8d5bba0a5019bbc0653ebb1a406839cf005dba70f40abb522b2ebb27016cb938067cbac8b2fabafd2613bbbb173ab9525daaba34e611bbb7511bbb51fa6cb9121da1ba028311bb0e3211bbb54d32bace3d62baef8ddfba0917d2ba0000000000000000000000000000000000000000000000000000000000000000cdd55bbb146fe4ba23e6563bf4404e3bab8f32bb384cefbac1b1173b3df60d3b8d4038bb6d64dabaaea1263beaef0e3b4a5e13bbca3e97bae52a063b2332d53a7e9e01bb4ba216baf8f8033b347ab73aac2ee8ba619e07baa112fc3ac978a73a4d91bcba92338eb9a720a43af4edf83900000000000000000000000000000000000000000000000000000000000000005031f63a64b3efbaba9172bbed1e4cbb2bd52c3ad84f2dbb2cf37fbb8bf939bbc908e3396eff2ebbacd16cbbef6a39bb8ff79cb8a8a21dbbd55542bb309a1cbb86ee33baa66f3abbdb575cbbc1e21bbb08493cba3bfe2dbb25b73fbb03f30bbbadf410ba258c0bbbd7b716bb84e7dbba000000000000000000000000000000000000000000000000000000000000803fd524f73a8aba943b05ffa23b6f18633ffc85ce3a253a743b80b2943be256423ff9360a3bc1d3883bf8baa93b98ec213f3b02083b4fe66c3bca28923b0135013f1d6d203b2e1a833b73979e3b30d7c13ea4ed303b248a7d3bb75b973bb830813e4286293b83f34c3b209f603bb863013e0000000000000000000000000000000000000000000000000000000000000000c9f4163b3230be3a0000000000000000442ab93acc1b113a0000000000000000d480a83a17c4ae39000000000000000097a5eb3902cb8fb900000000000000005407c1b957ed5aba00000000000000005a239fba2c4488ba00000000000000002b2238bb32b27fba0000000000000000000000000000000000000000000000000000000000000000000000000000000007e46a394380113c41017d3c5207593c49ca3b3bdeaf083ce561813c5d016a3c39c3153b5da8f73bcd8a493ce304403c0b4e463bcf2ec03b9e152d3cb3b2003ce9ef023b29c6943b83571c3c8ce8cc3be28c6d399fb88d3bed77f63b8774613b367ddd37482ced3a632ac53b35467c39000000000000000000000000000000000000000000000000000000000000000030ce973938bf17bbb81a77bacfe8dfbc218e283bbb960fbbc87d71bbd61407bd04fa843b1a8b3cb9831dcabb6a6508bd8860af3bccd4c5bae577adbb3a81f0bc6a211f3be3253eba341273bb782fbfbc66b6be3a3a978fba2dd546ba755380bce8d7cbb97a9d07baea1f3b3a7acf81bb00000000000000000000000000000000000000000000000000000000000000002bd704be987b1cbd68bcf13bf9b84cb9c40ffebdbb4624bdf2675d3bc4c175b8c756dfbd86ef28bd8a5c02baa1423139fac8bbbd440403bdefe077398a8d5039f7f893bdd729b3bc58c3c73ad61e3e3905fe53bd17581cbcc8e7963ad521d83a8b35e7bc452b5f3ba0eecb3aa27393390000000000000000000000000000000000000000000000000000803f00000000514a673c128e81bdcb869e3f2e5671bd34d5393cd709cebcb8a7833ff03c0dbdbf7a323cc47864bbb331543f95318fbcd9aae73b0e35013c2d6f213f7b4182bc77a8923b6030cc3b58dedf3ede6e90bcab82223b5e08083b2183803e347ab8bcbe55a1ba6da4f8bb1e19913d66f3f0bc00000000000000000000000000000000000000000000000000000000000000000f19e13bea08e7ba00000000000000002cc9553b3b289fba0000000000000000bf224ebacb24a2ba000000000000000075c26abb626f1dbb0000000000000000c49da7bb9027cbba00000000000000002a7accbae334bdba0000000000000000dec5113b9732acb90000000000000000000000000000000000000000000000006ae590ba1e079a3b28d4093c5af3d03b3f5595baad9b1c3cb0dfb83c0825623c42a2c83a11d2383c5fa7a53c5bba8b3cd7993b3b8283303c7ce3953c50a87a3c02b4c73a23201d3cae37723c1b7a423c119a213b55b7da3bb807563c7066183c89cc1f397856a83b5192303cab7aa23b7220e4ba76cdb13a5554a03b171bdab82bf3c7bae3324eba5872df3ab72494baf821acba9d63d1bac907953b9643a0bc727acbbabeb98ebbcfbec43bee2be8bcf5b5063b06bb55bb4872c8b976180fbd9e7f933bb4fd3cbb093e62bbde7b14bdbdd0793b898d8aba9f1839bba18e03bd430a323bde38bdba5fe7beba2ce8ccbced198238bfd644ba4da0223a7f6663bc19dc0b39d70a1abaa93d7f3b4eb90fbb122ec5ba1cf56ab96e9f243b934eba3b4c178cbd9f75d2bca663fc3a240bf33a31d605be936717bd76d4cf3b85705e3bd23e0ebe565553bd5c8b133bba81143b8d1fffbd456356bda8ed9439df88c23a268dcdbdb01834bdcc2e85ba46b3af3a22b8a8bd22b3fbbc6477ac3ae470bd3ab6fd66bdf46e74bc1523d93ac92f463ae598bcbca2708f3a0ace6239543b6eba5229ccba83501e3cd8799f3a2466383ab3d9843c14b607be92589e3fab00953d0d36b03c95b808be5aee973fbc82683df5a6803c8e12a5bd8bb1823f99068c3d50bf463cc9f03dbdbf30533f2909833dc18a143c6830cbbc33721e3f59154d3d75f9cf3bf702a1bccba3dc3e37e7e53c8934753b066399bc7244783e0dd9dc3be33bb93bea38b5bcb55a8e3d817815bc8f1af43a7594b7bc788c5bbd8830f2bc941a95bc93e6c23a0000000000000000a41498bc7a14583a000000000000000035d485bcdcc51aba0000000000000000bb7f87bc417d5d380000000000000000ebd172bcffe9d0b900000000000000005bad82bc6b27623900000000000000007d4b32bcd8b0aa3a00000000000000001666debaee542e3b000000000000000034e191ba8ba6033b00000000000000009a84053acbdf3f3b13d5cc3bc2869e3bd41f2db9666aee3bb48c643cdbc8513cdcf4913a7ec0123c02a54c3cda845b3cba6b073b3d3b093c98dd723c7987653c75e90e3b0da9db3ba4b6263c39e0313c8f42fe3a0697bf3b7e8a233c7cb81d3ccf330a3a752d4a3b53efec3bd1a6d03bace376ba6e5a873ae1e0ab3b042ee63a2c414fba9222c1baadbb673aee3f9cbae50de83a3e27f4ba41169f3b6c20aebc2433cf3acfdb0ebb61a7b03bde16fabcd8b2a73bbdd478baf81192b9fa44fabc967ebd3b7e53acbac03936ba289a00bd6ce8ac3b585ababafedb1bbb8426dabc9ec94f3bf1aeaabaccb70d39ee75abbcdd60f33a1fc9a3bacb6cbe3a6a8b46bc22e5fcb9b50c8fba7a28133b2419ccba25a32ebaeb2155ba7f22793b3d778e3bf2ba16bde4b9cfbc8bc5f2bb35f99a3b2482c1bd4bae54bd0999b5bb69dfa43b8056c3bdf5b676bd871a13bc469a173b5edad4bd9a387fbd6fd9e3bbc5b8323b781ca4bdc89748bddc9fdbbba4d7173b638792bdb26a1fbd96ca0fbb6a2d133b21343dbd80b2c2bc8afb1139e2cc3e3b37a0c3bc56c1c4bba701ed3a0d4fff3a16149cba09abc13b4b02653bea05ce3a594b7f3cec7803bef73f843fb314833e29b4b63c126810bebd56843fc06f733e8d09703cd964a1bd13b65a3fa608633ee617663cb48188bd1c243c3f5bc5393e1ba8263c01d824bdac5b0c3f08e00e3ed868f53bafab12bdb1aec93e7eb9bd3de7de9d3b88d8ddbc03876f3e45ec463db5bad73b69edfdbce4afa93d8fbf883b6f71563b8bfec8bc644ccabc8a9acebc5d1339bd88455c3b000000000000000038504ebda4dcc03b0000000000000000fab81dbda996373b0000000000000000157e15bd743ffe3a00000000000000007f31febcdc8cfa390000000000000000c7ccefbc2389cf3a000000000000000097e7cfbc0c960d3a0000000000000000d6418cbc20718d3b000000000000000067e731bc544c503b000000000000000065808239316a0a3b7ea2913b75593d3b8a5ab23a9175d63b53a82a3cf0042d3c0964203b1804e73bde324d3c50be7d3ce2ae023b5473c73b5a6d523ccae16e3cdcde0e3b6582c63b4ebc423c3165003cda218e3a91b0a33bf8c1143c42cb123c8919bb39771a683b0d2cea3bb4acb63bb0c0d939ad32e13af55fa03abb12283b436925ba12a9a5b91421533ae54a823a9a2a013b419cc7b854097b3b2c82b9bcb527c83b23e0c8bafda3813bc7ba00bddceae43ba6afe0baef09a939e23300bdc3ece93b748e5abac5df99ba15b8e6bc51dec93ba557ee3aa2ed8aba5893ccbccd45b63b2e919cba6bdf18ba82b196bced1d3e3b7580c1ba12939c3a1fa437bc3540003bafea18bbb9f9193be61f39bb93bda3ba0b8f55ba57773c3b20a7b93a89119fbc84c9ebbcd4b284bc50079a3bd9c58abd43dc75bd347b8bbc8a4dce3beb72b2bd413a9bbd007878bc8252a63bba6facbde86c91bd986a6cbc5888843ba7d893bd7f2f79bdbcc53dbc36a13e3b9cb073bd3d3f3fbdc2f6e4bb5361613b40522ebd6a7cf6bc2af1f1ba1c9b9e3b1da694bcfbd413bcc9de323b80f6303b249ee8badf9cfb3acf827e3b9959393bcec8283c5fc8ddbd89de563f81bee53e66c9983c92fcf9bd2f12573f4e88dc3e4be9883c3c2ab8bdb63e3e3f5d96c23e7b5a483c01e181bdb6811c3fc2bc9f3e9049133c69d13fbd9e64f33e253d763e836a0d3c35ef1bbd0d45ad3e7ab1273effebc63bd17a0fbdeb75523e664cb63d0012d53b690214bd0847a93db58eb33c782fd93ada53c4bc535b1fbc031fdcbc949688bd32e1d53b00000000000000006f889fbd8c46123c0000000000000000a72086bd2a11913b0000000000000000bae764bd9139813b0000000000000000646049bdf3fe1c3b0000000000000000b51a33bd124a283b0000000000000000dfa41cbd98a0603b00000000000000002fba04bd91e5c43b00000000000000006390a3bc6a5a7c3b00000000000000008f7c8e3ab82b0d3b7f8d523bd15f663bd12caf3ac35fa03b673e043c13f91b3c767be03ab20bc83bdfbe2b3ca9a3433c3434003b3897d63b11622d3c0b624f3cd6e0a83aab2c563b0aebc23b2c89053c6b3a003bdca7943bec7a013ca8e31e3c066c2f3a647d3d3b2286b53b3546dc3b0100c2396b3a25398676843b6d612a3b2b5354bae075b2b9dfc3cf395be5913a45e86c3b00f98eb963e0553bce82b2bc3d3e053c82f1b4ba62ee6b3bb5b6e7bc2e56123c312d1939aacd3239eec6d6bcd5c11b3cd1d8d139b8ee83ba6837d2bc5e06ce3b94603b3a0784dbba94b889bc53c0b13bd5c9fe396d61c8b8d51d8bbcb07b3c3b794788babd82263a77ae13bcfd05a7392e99c7ba3be9d83a7c3e0fbb7a09083999440fbb02ba433b763be53a9c8529bcaa9904bd1d31b6bcb0a6c13ba4634bbd16188cbd7989d2bcb752103c63e182bd1b89a4bd0f4cc7bcb408a23ba66f8ebd1b78a7bd8daab8bcea1a8c3ba35843bd765e67bd351294bc03a6ab3a6bd354bd964462bd498331bc7efc993bd1c40abd4be60cbd537f3ebb1fae663b194c97bc5b507fbccd676b3bd06e813b6fb6d5ba6f382ebaff93ba3bd760833be97eff3ba68ab5bda202253f61d6243ffcb8703c0c66c6bd184a243f61c81f3fa5d5383c657988bd180a103ffef4093f2d97313c8b755abd1b55f73e1da6e43e1be2dc3bb7a8e6bc93ceb63e44bea53ed963ee3b64bd18bd5c098f3e198e713e92fdca3bd273fabcea582e3e1e57063ed18eb23bcc2ffbbca9f9993d32f0273d974c493b69e0ccbcf5cb97ba8edfd4bc7641b5bd6f9c003c00000000000000005604d3bd88b7393c0000000000000000bb52a2bdecdce23b0000000000000000071191bd119ec63b0000000000000000c11940bd4443b03a0000000000000000cc0c62bd2b8d273b00000000000000004b903cbd81fc7c3b000000000000000067f223bda536ec3b0000000000000000d6d7efbcc534aa3b00000000000000008b232e3a7d20ca3a6aa13c3b16ac4b3bbc602b393e38b43bcfeb033ca1dc1c3c81feaa3a1f27c83bcc6e273c5b37723cf6caaa3ad218b73bc36a2e3c52b0533c6a54433ab28dcc3be9b0f23be77a413c7e40553a948c913be2b9e43ba1c13f3ce30414396e5d423b48daa73b0576173c0ddb09ba6a00d83aaf0e183ba63e973bffbdb8b99b5889b9762023baae8a193b4e2c883ba899e539ee62743be1c89abcbdf9263c9cabaebaa208723b28ddc9bc452b413cda133aba27bcd83ac745bfbcb273243ca30c98b95bd7b8b72d9eabbca4880b3c74499e3a0c1097bab56697bc9e32b33bdb4cf2b990d0ff3978be5ebc691f373b3c72cfba3b40c53aad2214bcdb9c203a9cc932bb8d78033b0c7cfdbad8b20fba729206bbc8dad43ad6bc043bcb7ed1bb79131bbde588d7bcaa2df23b597623bd1b40adbd65d301bdab64223c73c96dbd31cacdbdcc00fabc9237e43b657d6dbddfc9bebdd09fe1bc6e28f53bd1bb55bdcc6ba4bd9864b0bc40f4623bc56c34bdc4be82bd5a0e4bbc101e863bdb6100bd2c6c33bdada870bb6746b23b686176bce991a2bc5342a43b0a8d7a3bd33d2bba29d929bbb928dc3b40cf913b2b65c93b1fc08bbd8ecbe63e5801573f49893e3c728f98bdc586e43e6722543fedad223c73e45dbdb6dcd03e2743383facfc063cff882cbdf6ddb23eece8143f21e5ea3b1b3a09bd10de903ebc16e23eb3a9de3b5b1a00bd0f4a573ee7829b3e1b3cf73be404fabcad130b3e2d4e2f3e1ca4e53bd783fcbc7499733dc79f603d29026b3bb961c0bcb386053be500e8bc52e0dcbdbc00233c00000000000000001bc702bea20d9a3c00000000000000003098d3bd0cae343c0000000000000000e533acbd2e2bf73b0000000000000000c07b8cbd364aaa3b0000000000000000c08e7fbda8bfc93b0000000000000000cd8964bde8b2ce3b0000000000000000c1ae3dbd4f6c223c000000000000000028fa09bd1a7ce13b00000000000000002b9af1b966d9f13a60b8383bcc00ce3b841ea9ba1abfa93b12f4f63be245823c5d32bd39950f943b9d5a013c0689633cc38a4a3a4d19e23b719f2a3c0c307b3c5d1c71392dd4a43babfefc3b47f3443c09ebb4396ab0803b042eee3bd8ed3e3cc45a89b918f9193b8002983b64830d3c4a4ad1b683f5993ae72cf33a3831c23bda4a03bbd4b8f0394b8c153a912592b81e9bc93b173e41bbaec8943b149476bc613a423c3cfe93bb89689e3b1d7998bc57dd413cde1db5bab60dd43a0f8288bc6add3c3cc31de538472a46ba85cd95bcf81a0a3caca193381f7244baaea851bc49e7e83b27e2b1ba036a1cb7e91322bc6036613be677c9ba68999a39a1149ebbc78ea1b93a6b51bb4021ba3a25271b39d2a711bb17649abadc800b3b3599db3a9393babb613d4ebdb2e2d4bcdf763c3c6de90bbd17ccdbbd2f02febce1b4553c02422dbd3931d7bd390c09bde4c7e13b1ab350bd40d1e2bda2ff01bd5567ea3b0eb227bd6934b1bd81fec3bc956d8c3b729b1ebde0fa94bdebf96bbc7f9eac3b72fad1bc80ba40bd06f9b5bba6b2803bfc2155bcc64ebabcb63cbf3b8c5c443b58ac373b7acb5eba92a3493cafe1823acbd6453b99dd3bbd125a833ecd3f843fa630eb3bad373ebda31e813ef318833f15fda33be2c2febc07d67c3eb20e573f0a36043c3cd1dabc577d603e1e79363f5df1bf3bab7da3bc4d64363e189e063f4d53dc3bc647cabcccf30e3edf4abc3ea7dcae3b4261b1bcd9e2b83dc017583edb93db3bd96ec9bc11a7223d67da7b3d5ae09a3b8ba7a3bcb71e03bb024f24bdf3af04beaab6753c0000000000000000d00918be9b08a43c0000000000000000a016c4bd815d363c0000000000000000bc28b8bd7c44073c0000000000000000687586bd6e81943b0000000000000000a64183bd8be0c23b00000000000000009d7854bdf47cac3b000000000000000034133dbd999d573c000000000000000062aa05bd74f8f83b000000000000000017afb0ba25b60a3ba815133b6170153ccb160ebb14777e3bac38243c34ddb03c6eb85ebaf1a5a53b84b33e3c6272b23c83344fbae8b0ba3b057b343cc4979b3c697b02b94dd58a3baa630c3c7a85783c48336fb9a703863bfba2003ccecb633ceaada6ba7c9d3a3b4936b93bea4e3c3c9951b8ba609f7b3960b5233bf894bc3b180ac0b71a1aa3ba802d73ba046a473b4939003cc77da1bb5d887c3b31750ebc5b4c673c165517bc3f397e3bf7c205bccc27833ccb2083bb2915843a663142bc9459573cc0f47eba2802a739716037bce141333c620a9436729b1aba7d7a14bcd848f63bb550dcba346e35ba56b7c4bb88a6643ba28b08bb085f8d3a889521bb61e3daba331634bb393b213a26ff033bd9512bbb69b105bbfa6b0e3a3622813b66361abcfd6299bd967cd1bc6c64403c02acf4bc37010dbe66e8c8bc54b6813c0c262cbdf04f13be988311bdc545243ce21039bd93fa01bed4340ebdf246c73b505123bdc545d3bd548ce6bcd0fa6e3b81570abdbeaeaabd608f8ebc532ea13bc566bcbc498964bd9730a8bb2094403b2ac7fbbb37debfbcdc5f063cba392f3933cd0e3b3d5c0aba8479423cc029073a5333a53a2f3aa3bcb767963d46479e3f1641cd3aa8818dbc3700923dcf40973f2c0b203b1da72dbc93acc03df8aa813fe196323bbde917bc693bc93d7417503f74fe2d3b80660dbcac44bb3d321d1b3f0cf3883ba4b852bc07f8923d9b6ad53ecb98ac3b846f81bc47c23a3da8b66b3e770db63b229569bc89be893c1fdc6e3d100a8e3bdf9161bcf5f003bc766c7dbd6b9e07beef378c3c0000000000000000e20e12bed06aa23c00000000000000001584ccbd57632f3c0000000000000000069d92bde342b73b0000000000000000256865bd4678613b0000000000000000077250bdd55f6c3b0000000000000000ce0837bd0b80d43b000000000000000030c50abdfd4a493c00000000000000004a1607bddf3b2e3c000000000000000000000000000000000000000000000000f976adbaa183703b6209e43bad96863c1953acb9d8bc8c3bda690b3cb219843ccf33d5353dc3863b7691c93b6aab3e3c7d11c53ae989843b882fa53b42283b3c92118aba0d23793be81fa83be949063c5a9a16ba22742c3b6fc7893b923cf53b99776eba6940303a0f41063b34cecd3b0000000000000000000000000000000000000000000000000000000000000000c517563c89d17abb4808173a71597abb30c7533cfc5aa0ba022f89ba3e66bebbd6c1473cbc72663a62dffabae008b4bbdddc043c160d783af66e36bb10b6d4bb9ad8c93b3cea083b1fd669baea99d1ba3301643bbd932bba4b4440ba27af1fb98d30033971e5a4baaccafd3992551f3b00000000000000000000000000000000000000000000000000000000000000002438e2bcaf2e05be18c802bd45fdcc3b4ae70abd1acb00be951e0cbd43cf4b3b4e5d08bd0e04dfbdd2d610bd384b103a8d18ebbc1a3fbabd2113efbc5d7f85ba2ba4d2bc426e91bd102caebc2f9f72ba827a97bce0b953bd9872f7bbfcb7133abe1be9bb17e7dbbcd235653bc8d3a338000000000000000000000000000000000000000000000000000000000000803f060f99b913ab093c4d8b48bdc4a09e3ffbaf493a54bd0e3c1caa57bc707c833fe67a7c3bf05bd13bf5c20e3c4db9533fce65793b5126923b9188733c2a2a213faa263b3b77aaa3399a2c703cf666df3e9792023b21ef82bbc6590a3c4ae87f3ed37b5b3b1ce5e5bb77c988bb8b27913d00000000000000000000000000000000000000000000000000000000000000000eeb96bdcaea3a3c000000000000000099dd32bdf880d53b0000000000000000c87fdcbce90f0a3b00000000000000002ff9b8bc4890833a00000000000000002224b3bc250caa3900000000000000002f67b4bca1ea443a0000000000000000942de5bc7b98503b00000000000000000000000000000000000000000000000000000000000000000000000000000000e448683b88abf03bd8d43f3c3744523c06c7823b5694003c205a583c5f42703cf3cb653beb29dc3b01d9403c8043533cd16f453b974cbf3b895d303cbfdb343c1afb383be327c73ba1cb1b3cd33c0e3c5ca92d3b34a4a43b70e10d3ca2e0993b4640a63ad282493b5d37963b17d5fa3a00000000000000000000000000000000000000000000000000000000000000001a30d83a1af87ebb03a808bc969507bd2001c93a711474bb488b35bcd8301dbdb3ac723b406f0fbb123f47bc48521dbde414753bb3450abb2efb46bc8d9915bd0a6fb63adc430dbb7a7f28bca0c400bdf8bd64bab058f0ba8481c7bb3702bcbc4e7f09bb199721ba163f98ba998435bc0000000000000000000000000000000000000000000000000000000000000000eda1cfbd12383fbd82d48c3b2d12293b6fd3d1bd8dcc34bdf4b2063b41f3a03b3ac6c2bdb9f42cbdf624b2b91637163bb6c5a3bd1bfc10bd1a232ab9fa99203b43eb8bbdc696c1bc7274183bb5aa653b6ae44bbd3d4824bcaf6a9d3b5638363b7399ebbc8638703b08e6b43b52d2ba3a0000000000000000000000000000000000000000000000000000803f0000000014d6613c9b59cabcebaf953fccfd0abd0866823c417cd53b5d157a3f5bc1c8bc73a88b3caffccf3ceb3b4b3f6a558fbc2e6f833c9886023d01bc1c3fc8d6aabc248d393cdb66f83c2c29df3e95abf1bc027ac23b3956923ca248863e8c2414bd57ad84ba0d73ea3af68cbe3d34863bbd0000000000000000000000000000000000000000000000000000000000000000231a053a21dbbbba00000000000000008f92b3bb3c5148bb0000000000000000c5b711bcfca6a5bb000000000000000011be4dbc58f0a4bb0000000000000000395e4bbcc5409ebb0000000000000000319c14bc5a7d28bb000000000000000008df62bb1ac331bb000000000000000000000000000000000000000000000000a27a013b491d763bf2b5953bd4c4b43b7d165e3be81d1a3cd136833c3d35663ccbc3a73b7a74413c9d8c8e3c75d9843c2708973bf7da2e3cf5d1913cde38813c0d4a913b0e47f83b575e643cd75b573c4088813bb2710c3ce9f75a3cb01a1b3cb6383f3b0e4fcb3be3df2d3ca701c43ba4ae283aca8e183bcf67c43bc72712b9909433395d3969b9c8a91a3b628978ba7e900b393889d4ba889b04bb989ca5bc055da3b9a5e0ccbb6d5aacbb8de011bd1592193b85afc0bb05c741bc34c530bde4fa3b3b83a2c1bb6dc45fbce4c032bdd8e06f3b556d71bbc88649bc43a41abdb60aa03af2776ebb35cb23bc83b008bd53d400bb5aab1ebbe804aebb618ab6bc57563dbbb4862fbab192613a2a16eabb11076dbbb9f8c63972f83a3b546f023b27e03dbdc2011cbd2ed4b6b89ac87a3b9021cbbddbea51bdbbe7cf3b6f4deb3bb7d0e5bd5f6f71bdef2f123bfdc3c83b5a40d7bdc4b46abd3156273bac44d83ba54eb7bd0e7c37bd95cacdb89b919c3ba16e9dbdd578ffbcaaf7853bd86ba13bb2d963bd28fe5abc1b82c73bb0f3863bc92ad9bc44ebdb3abc98b53bff065f3a17a7c4bba894263c156dd03b670a113a17bd0e3c6b3bb3bd8be1943fea50d53de6da863c8447a3bdaab58e3fdbbea93db7a0923cc9e1f4bc09e0743fa7f8a23df35a8a3c53bff5bad76f473f9c61813d04227c3c63754a3c04cd173f607f363d8c83253c2ce3433cd677d93e1c9f713c4a958c3bdafc9d3bc7e3813e59583cbcdd3eb43a8c343ebc422fc03d238b01bdbc88d8bbefc07ebccb3503bdb61533bd637989bc4193a03a0000000000000000a1c9b4bcf8b2ae3900000000000000004f09b0bc9cb50cbb0000000000000000a9e4bfbc9d703ebb0000000000000000fd3cbfbcc3a2a1bb00000000000000003bc6bbbc16bb2fbb00000000000000001cb3aabcbed5daba00000000000000004c23cabbbcb25f3b00000000000000007325b6bb12612a3b0000000000000000ba2ce03ab426463b19387e3b38ed663bd9bf643b79f8f83b5b23333c8b0e4d3c08162f3bbc32dc3b2462243ce2b0503c694e8c3bf528183c7eaa623c38fd723ca4764c3b909bcb3bd78c393c83f4393cbb676f3b7afff73b49003a3c8d6f2b3c272bef3ae08a943bf7f2f23b7508cd3bbdbdfc3ab6e3213b2224a53b2fd80a3b1bee023701b434b9005fa13933b48dbac8ae033bc378e0ba6f20acba27c59bbcdf715c3b65c48fbb1c77a2bb8a310cbd97ccb13b1a5b0fbbe2e513bc8a8c02bd80fbb53b287a89bbbe0f42bc27361bbd9d2d8d3b229b0abb5c1b2bbccbdf02bd4e89143b0a946cbb9f7e12bc77f1edbc0cacec3a22fb19bb40a4c0bb5ec696bca49ffdba74358aba78f077ba8e9f02bce96f12bb08f6e7b8f49b143b70d3243b9ee4bdbc994e0ebd32d5f5bb01fab43b416393bdd8bc7dbdbce6d6bbeb50033c29d39dbd71707fbd076a24bc8142943bd903babd47cd85bdd4e6c2bb0a0be43b555c99bd018150bd34dca0bb6511a93b23ab8bbdebfd26bd0004f839e0fae43be2903bbddce5c9bcf2932b3b9dff913b8d90cfbc544ab6bbd5c1a53bf61e633b3f5e6ebb3b8eb43bb81fdf3b526a463a51b9ee3b7dbebabd5f537b3f08ef8a3eb3eb903c8e56b8bd6fc7783f19e27e3e4587703c229710bde2624d3fd3e3613e3084853cafdaaebce11f333f9fcd323ed184723cba5c88ba9c56073f9cfb023e9dc2253c7ffb7dbb44bac93e7e149e3dc683e83b499655bb66cf773ec4ce103d13024a3a15287dbc3e51ce3d1ad24dbcbd4046bb49a295bc8a9534bc9df918bd5e1817bdbb29fa3a0000000000000000a3533cbd57a81d3b0000000000000000b36d15bdb2d9cbba00000000000000003c6024bda2915dbb0000000000000000232810bd5042abbb0000000000000000426a19bdbd926dbb0000000000000000c5f3febcd58bbfba00000000000000001135b8bcc778323b0000000000000000e4b04bbc0f98a43b00000000000000007ef8b73acca5183b86adbe3ab68b233b9ae52a3b5c96a93b6ac6163ca79a273ca85b433b7ea8fa3b49ce443c5175723cca895c3b1611043c3615493c24ea633c6f73073bdd3af83b25b2213c9b116b3cf3b9313b74a3d53b0c42193c0383383c00072b3bbd57993b6e8e093ce952f83b1d87d43ac2a80d3b46be813b4d9f6f3bec270cba8b6c8f3a476ba43adfec103ad7a0703b592456badca05fbad77b9ebc759fca3bb74b65bbd69a69bbf3d701bd7201003cafeb87bb621f06bc30370ebdd1ebd93b3d8958bb1cbe2cbcc97f06bddbc3e03b031b3ebbf97b1ebc4d3a00bd09ce4d3bd14049bbf8ea01bca069c6bcf86c583a78b859bb95c5c1bb6b9f9abc0d28e3bab74b17bb06280abb1cb4d7bb1eed87baec69f8baa42fcb3a7fe03aba32652bbc01c913bdea2390bc7bdcbd3bde0d54bd602a86bdf98d96bc2517293c1be995bdc6119dbdedfd88bc43f60f3cd1e19cbd084793bd348652bc1016023c2fc58dbd602182bd0d7030bc3648df3b7c8576bd95613fbd02669cbb5801063cf34c31bdcb72f9bc867e363b235ce63b8e36b7bc131d56bc23e0fa3bd2a7c43bbb32a5bbad09f43adbfcda3bef31643beb83b23bcdcca0bd2a224e3f5b89e53ea59e6b3c9858a5bdd9864c3ffa24d93ecce9843c329b3fbd174d353f3ebcba3e7fa7793cc17dc9bce1ab173fa4bc963e7eda693c31b210bc8e76ef3e268e623e4f4a1c3cc67706bc4c0eb03eb75e143e123ee33ba14033bcbacd603ead92943dbfbaa33aaa8c8dbcb4cccf3da815d83b7a6f0ebb4fd092bc899ebe3afeed0ebd26f053bd6771393b0000000000000000e09e8bbddd0d8d3b000000000000000008b474bdfbb168b90000000000000000e11a63bd527716bb0000000000000000573e52bd4a9090bb0000000000000000a14746bdd4292ebb000000000000000053513abd15029cb900000000000000008b0613bdb60d553b0000000000000000f84ec2bc2bc89f3b0000000000000000f094353a0dd90c3b9e09143b302f233ad92fc03a76b7a23ba040f23bd6b8223c3813163b045ad83bb44cf93b2573513c2e7ffe3a8afee03bb7da363c2b426a3c89831e3abfbc8d3bc388a83b36540a3cc376183bf574ce3b5c3a133ccb1c3f3c1914713a0da68f3b5820d03b29bdfb3bd903be3a4b641a3b93da5b3b77fe913bf1b69939248d4b3a9743133a8992fc3ac923a73b24da83b93fd166b7852693bce75b0f3cb8254bbbb1d541bb33a0f4bc74d10c3c0bc00abb63e4d2bb2cbaf1bca9c11b3c6eed12bbdb770fbc1965ffbc1f42d03bced3403a2e4ee5bb6aeab0bcf2ceb63b98261dbb4c1506bca911c5bc6350173b839c25bb5f2fa5bbf15881bce2bf1bba3c6034bb68d7e8ba166af3bb9384efba09adc3ba256a80ba99881fb6cc044bbbb2b715bd7c75d0bc81bc003caa7d1abdce4690bd8048e5bc4689313c788163bd9809a0bdad91d1bcd3b70b3c20f583bd721fa6bdf155b4bc107b083cd81141bdc0606cbdebeb8abc1424523b772a58bd51f466bd8cd80fbc9ecc073c48eb13bd8a6211bdba1d06ba7aced83bc29caabc182f8abc2a89b93bff9adc3b6cea85bbd60addba8ec2fb3b3cc99c3b3746683b17b783bdcee3203f0ccd1f3f1729273c4a7281bd0e521f3fc19b183f3de94d3c791209bd6c340d3f1605023f17515f3c5f889dbcc893f53e1bf5d53e9f1d413caa202bbafc4eb83e46dc9b3ea28a383ca1c9edbb726b943e38735d3e7740f53b855921bc28083d3e4087f13d52469c3b581296bc685fbb3d986d003da4cfc2baf15795bcc447053ccb9f06bd4c2187bdce5a5d3b0000000000000000217ba9bd79af7f3b0000000000000000b2f18abd303c57370000000000000000174389bddf7061bb0000000000000000fae941bd1ac4d8bb000000000000000070ac76bd5b3b8ebb0000000000000000278255bd3c0327ba0000000000000000bb1b3cbd71d4a23b000000000000000017d8fcbc8f589a3b0000000000000000a8dcde396175cf3a4cccd53ac09d1a3b69db893a949ee53b11f0bc3b1f0c333c0cccba3a1e60ce3bcda1253c43146d3cac7c8b39239be73bf6941f3ce3fb6c3cc64bb93ababecf3bbebc1b3c5d4f5d3c8d1ad03a2779cc3b80d4113ca13c443c9d309f3aad96bd3bf483e53ba0a00d3c57dc713a04d23d3b81fe323b625eb03bf9d0b0398589a03a89ba5a390e90013b6938a93bf822a0baff10a83a3a1393bcea3c2b3c942063bb13404aba57a8f3bc6c85313cfd7e49bbbed58ebbbf1befbc84002d3c7f434ebb39e787bbbb13e0bc85cf203c9a2117bb467003bcdca3ccbc76dd8a3be59a39bbdfc2dabb004dacbc61343b3b586d6cbbf09f95bb2d187abc35d805babdda64bbe506d7baed76c7bbd4a1faba02b801bb68033fbaa20380b984208aba606a1abd8857f2bc67b6113cf26b09bd647ba2bd3b340cbd8d774e3c1c5c54bd416cbdbda84f03bde6a8363c7d025fbd1452b4bdac74e0bcb7a8233c37e25cbd00859fbd75e2afbce733003c5dd542bd6e357dbdb0a820bc06ab1e3ca9b814bdb5582cbda127f8bac3d2143ce0d895bc786ea6bc2060e33bd8f2e33b0d1f52bbd11643bb08600d3c28c7a23b77cb3b3bb82a51bd97d5e63e75344d3f000b0d3c1abe4abdfef8e73ec00e473f9173373c8745e8bcba6ed53ec0472b3fa9a7303cb37484bc910ab93ed19a0a3f931a393c2442c5bb7dff983e2e30d23ef2ff1c3c5ecb06bc15ef683ede50913e69affe3bd9604abc0ace1b3e1aea253e09a1853b128da3bcc54d9a3d58094f3d1ec68e3a761c91bcb695113c40de01bdb679a0bd3d5fb23b00000000000000007eb7cebdb722063c00000000000000005967b0bd7d64e13a0000000000000000f1559cbd3d9e00bb0000000000000000f33d8cbdcbf398bb0000000000000000082989bdd29c22bb0000000000000000813081bd706629b900000000000000001c0060bdc7fee73b0000000000000000e30316bd1f42cc3b00000000000000006a2c583a5687013ba38a1b3b3911713bf71c6a391019c73b96e5de3b8cef523c68377638a36ba23b8b52f83b82df4b3cdce6d03a8247fc3b674c433c37b76c3c6adf423aadf3b23b0808023cdbe14c3c7c275d3a3b9abf3baf92123c0426583c060eef3888ae983b1abeb13bd898093c8e2788386edb453b27d1293b676db83b7c2c26b986ecd239087a0cbaf33f063b3234bb3b3959e7ba5581903a63cc86bc378c403c202ad0bb5e8c2f3ab550c9bcac88313c297ddaba2fd430bb5f45adbcc7584b3c79e559bb4723bcbbd07bdcbc5378103ccc86d2ba2e60acbbaa1ea6bc95b6d43bc76d63bb2aaca9bb652094bcb8d3523b54c511bbae5367bb3eae40bcbdbe88ba172e4dbbd041adba8bf699bb6e001cbb58390abb3ff8dc39e2651e3b51cf21bbb9b932bd1a36f4bc872f2e3c493e01bd26bdbabd61371cbd4d2f8e3c9b7c21bdd571b9bd926112bd4e7afe3bd41d57bd1d98cebd391203bd49ea2e3c4f1e36bdea1fa3bd901ac5bc15d2d93b9ff42fbd55cc8fbd71f85abcb7ee1b3c46eaecbc5a753bbda9b49fbb2888cf3b16487fbc4f2dc0bce176ef3b41acc43ba3fa10bafa4c34bbf7a92d3cc8ad873b688c1a3b1d011abdeb288d3eb0767a3f93a5d33b88cc03bd0da18f3e3f27743f0b27ed3b46463cbcfa0d893e8be6463fb186243cedc2babb569a7d3e08d4293fde75203c681bbf3a9fee503e6a65fb3ecbbc113c977aa0bb5ba5283e163db23e7071063cf09601bcdd99dc3d0f47533ef018c33ba642a2bc26cf5f3d666d873d31dad03a023fa1bcc104973bd69d0fbd343fbebd1f7f033c00000000000000004705e7bda7c8183c000000000000000092ee96bdfd05ea390000000000000000b1e4a0bde3ec32bb00000000000000007d1583bd4e7eabbb0000000000000000853a8ebde38b5cbb0000000000000000299d70bd9a6100ba00000000000000007e0b6dbda8cc113c00000000000000008b9d20bd13ce203c0000000000000000382eadbaa881763bb3ed353bc9e5a93bd73f80b96848d23ba45f1f3ceaae8a3c8403b03a2088b33bb7c8493ca2a8983c55d2b1390d6ad93b2f0e3e3cce04913c41c3c039b8afce3b0dcb143c843a713cd382f8395042cf3b1a4d243cca844d3c24da28397f919c3be888c73b10cb503c80a007babc1d393ba7861c3bb239bf3b33ac0aba68415f3a7a11f5b9979a383baa31e23baee480bb193fbb3b114e86bcd393533c22a413bce016153a6bc5a0bc0a6b6f3c7eddcfbb434a8abb7961b2bcb86a563cf9fc72bb2a5793bb5422aabcd38a3c3c512110bb7b61a2bb6b2095bcf70bf63bb0565cbb89a68dbb3a3e7ebcb408273ba6e287bb97a120bb749826bc8aeb03bbf4e762bb6db3deb7a6aafebacd9234bb8ed1f5bacab8383a1066e93a69370ebc4f9a72bdbf0d07bd5a9e493c440b09bd322ce0bdec7410bd30d9963c64313dbd37e2f4bd922724bd9d965e3cc7f343bd2494e2bd072916bdd2a5253cfe8433bdadb9bcbdb152efbcf2b9ea3b7ba421bda76d9cbdff2c8bbc5d65103c3199ebbcea0660bd8a435ebbf5130c3c1c7047bc13b4ccbc1db1193c59359f3be95a6039f85d5abba7c0333ce409623b96b27cba26158ebc41addc3d8258953fd5ad563b5d1847bc7771e73d35968d3f3836ea3b5c09053beaae093e8c1e713f9ce6e13b23bdd33bbb850a3edf2b423f3882f03b4161f23b8f98fa3dd762123f8d66ba3bf386dc3a98d5cb3d54b0cd3e37c5c53b707ee4bbcc108b3d13e16e3e95d1963bb47c85bc2bace93c525a983da6fc1c3b6fac8ebcba498aba9c9e3abd917ebfbde43e243c0000000000000000e70ddbbdc06f133c000000000000000011449fbd1dbb3f3a0000000000000000da9c83bdb45399bb00000000000000000f8266bdc2b5f8bb0000000000000000362d72bde2c0b0bb0000000000000000a09575bdfd00a3ba000000000000000094a456bdf6f01e3c00000000000000009a6c2fbd70f1083c000000000000000000000000000000000000000000000000437d1fb8f6d8843bc3efd03b468b473c8a1a5ab93153963b584aff3b94065f3cf27b53393ee9733b4294da3b50024b3c38a18cb8bf6b763b4919b73bdf9d273cf605e7b84db7743b550ac63b7a22293ce3f8d33999bd513b2ac5b33b5679fa3b73b886bac96c233b4e203f3bbf01d23b0000000000000000000000000000000000000000000000000000000000000000521e3d3c2e4973bb60589c39a70563bc6fa74a3c8db706bbe454d4ba8ec866bca87d373cc9d610396fc15cbb10c65bbca751133c8679053af1c2febacf3b30bcb854e53b290c07ba28054abb69ea2bbc5cb4513bed41eeba165d55bb5d79d0bbd34ffa39dedafcba0e54c1399e3bdeba00000000000000000000000000000000000000000000000000000000000000009788e4bcfe37cdbd46b227bdbe94003c0cd512bda1efcfbdee4f1cbdfb6ca73be8ea13bdc44bc0bd936318bdc2b4c13a27560cbd4cc0a3bd1ba1f9bca82bbb3a65cbffbc342889bde2a7a9bcf90e493b7279bcbcb2b446bd062b0cbc796ea93b8c4a44bc3631e5bc771b3d3b3340863b000000000000000000000000000000000000000000000000000000000000803f899d423b12a8253cb9660ebcd261953f706f8a3b4f75773cf8a2a43c0efe783faa08cd3b2a518d3cf1261e3df04b4a3f6025d03b5f1d803ccbb32d3dae2d1b3f7bbbf83bd0fc373c2f8c223db93add3eeaa1a03bb6b56b3b5fd6d43cfd9f843e40e9a63b5a28fdbb894fe43b48fcbc3d0000000000000000000000000000000000000000000000000000000000000000fb284fbd621b803b0000000000000000fd800ebd633125bb000000000000000024ffdcbc985dd2bb0000000000000000dd80d9bc830d18bc0000000000000000c82304bdbe332fbc000000000000000015e514bdac85b2bb0000000000000000427537bd40af88ba00000000000000000000000000000000000000000000000000000000000000000000000000000000e7cc39bbd3e359bb6022673bdbdee83ba4286ebb72663dbbe4e4953b1630223cb09a9cbb80c467bbbacd673b40dc273c1799cbbb4218d7bac239a33bd6fc103ce7669dbb2816b5bafa27cd3bfe751d3c6b3931baa4a8ad3ae963b13b092cf53b1c0f8439cd2f063b8bd2c73b1a7fa53b0000000000000000000000000000000000000000000000000000000000000000dacee43bbf208fba428beeba8be396bceacc013c645ca3ba42fe81bb2922b3bc3cff043c6d568bba11f31abb997cbcbc1f06eb3b4cef73ba713148bb44a6b1bcafa9c23be40edaba5fab85bb7eb1c3bcd1ad703b386f1fbb9532babbd27eb1bcfd70d53817c714bb4b5ce8bb23cc8abc00000000000000000000000000000000000000000000000000000000000000005cd138bd076213bd8b8207bc18270eb8640a48bd50a50fbd37c711bcfb74503a575946bd0a0509bd7a911ebc8d2ad13abea92fbdf511efbc9d16efbbf5fd0d3a7a1c22bdd529c5bc42f590bb84ae263b53caffbc3e3282bc85da80ba65d1543be470aebcb29409bc36e96d3b02788d3b0000000000000000000000000000000000000000000000000000803f00000000a064203c1af6723c29af803f48b5853b643b803c14f5ee3ca3b25a3fdedb233bf4adaa3c3e67173d760f353f9eff21baeeddba3ccb3e153dec500e3f5fd39bbb28ffb03ca93d103daa30d33ed37060bc89af8f3cba55d23c7ac4873ef8d4a3bc2201333c1af45f3cb24ff63d5664edbc000000000000000000000000000000000000000000000000000000000000000097a7cbbb51a9e0bb0000000000000000075b2fbce81c2dbc0000000000000000871271bc7b9060bc0000000000000000011287bc9fda4cbc00000000000000002cdb9dbc7ab45dbc00000000000000008c6a8abc640424bc00000000000000008b5486bc0561d7bb000000000000000000000000000000000000000000000000173da6ba6d8d5bbbb61478396a347d3bb02aecbad116ccba414ac73b4bf42c3c711487bb08b165bb5807ff3bc7a7623cd09d96bbb1091fbbce1d123cc04c483c744099bbbab313bb5bede33bc82c4b3cf87157bb4500133ad5d8193c7728383ccb3efdba5974fe3abdcc093c12a10f3c1440a73a6d51543b57c3cb3b8489a53bb845933a7309ff3a49f2513b536d273b1cd66f3b7e68a939527cbeb9a17d08bcc0f70a3cc7615cbb3d021abb93bda0bc0e54083ceb2934bb9c588dbbb7d1b8bcca9e123cd0e231bbc68488bb9a73dcbc35e2d03b0fce7bba561e5fbbd386d5bc5e54da3bfa5c5dbbfdb7c6bbaf3ed9bc498a413b89333bbb8addebbbc67fbbbc54d5a0babb9531bb37afd1bb97cd85bc24309ebaf7ea0abb2b1da5bb8730ccbba8579fbca4d1ecbc2d7e23bc0738afbad7bf3cbdcf632fbd07a33fbc58a5393b6d8d59bd390b37bd0f085ebcafa9f23a541265bd81222abd58dc31bc0122373b26684cbde3bb11bdac5218bc714d223b9e6d3abdccbef2bcabb0babb5a0a723bfd9410bd9918abbc0251c9b92d9fa33b65caaabc7b2d1ebcbf36853b035ac83b3db0f2bb2ae8efba1cf8913b6d42a23b25feeeba527677bc6405803f0fdf0b3e59c2e63bfefbefb9639f6c3fe0bbf93d7840833c8da4ba3c081a4b3f40a1d63d50819e3c0ce20c3d86f0273f00d0ab3d1391b53c8d73133d17b4033fe1d0743d6164a73c4765113d89edc33e3e35083d2e418b3c780ad63c679a7c3e4f94053cb03d173c2cac403cbb2be73dd4427abc4f35193b1baa9439a9f911bcfe72e3bc6566c2bbefbd18bb0000000000000000cb6958bcfa0a18bc00000000000000001ed193bc0fb54cbc0000000000000000dbcbb6bcf5a285bc00000000000000004ee5b9bc85d288bc000000000000000076f8d6bc54c27bbc0000000000000000a46fcebc7e9346bc0000000000000000c3eca4bce247b8bb000000000000000014d05abc599711bb0000000000000000885d4cba598758bb17b002390263523b39964cbb94477ebbe8c49b3b24e0013c5a60a4bb69b188bb9dca103bc0c2ff3bad40a6bbfa4761bb7931c93b19e64a3c015cb5bbc6bf61bb69c3943b0318203c583b8abb177781ba4bf6f63b4caf423c099736bbf66fc2b96cc3aa3b30a2f33b1a135b38c44f083ba68cce3b6867c13b1c57163a5e4cc73a0751673b2b13173bffdf7e3b196dea3984f9993a2d936cbbc799103ca44edebaab2a03b92faf82bc860ae43b5d1fce3a105f753ad30d78bc88eb2c3c969ebcba89b6caba94d2b1bc0c36043c56df6cbae01cd7ba0fc39abc7a7dfb3b6b1e26bb480f89bbf6c0b7bcbbb7833b4e43b7ba88d49abbd13784bc9bcd473ab0872ebbabb6c7bbe5a071bc2183c6ba12ffd4ba9f4898bb09eccfbbfd2336bc96f2c9bc657953bcc65d8fb8d91f0bbdb97c2ebd03cf97bc2f70f03a505616bdf46f23bdbab188bc3a4ceebaf05f48bd9be23dbdfee187bc37e8733ab0da25bdf1cd15bd131550bcab514f3a22022bbd00630cbd3e7410bc3dfa633b273fe9bc22a6b7bc0af68abb75cf663bfecda8bc540257bc41ed003b5a08ba3b0926dfbb21ad18bb67fd823b1bb98d3b77ad49bbfaefa5bcc3b65a3f919a8c3ec785a53b160616bc5f654d3f9989803e3d343d3c7b83563c88092c3fee465b3ecb8d8e3c4695d43c56f0143f2584333ede94963c2e2ff33c6c3de73e0572073ea6fe9d3cae98fb3ca0f0af3e5937b63d42ef803c15adae3cb781633e3f2d463df2a2213c2e4a443cc7efde3d0885a53bd36e1c3ba02d783ab2930e3ac524b4bc645061bccfe3abbb0000000000000000ced89fbc41ff2ebc0000000000000000af449cbc8b2a49bc0000000000000000b0d1d7bceea290bc0000000000000000eb59ccbc6e728abc0000000000000000552dfdbc9edf8fbc0000000000000000404ad2bc643966bc000000000000000042a0d5bc754c07bc0000000000000000a69b77bcb8911bbb0000000000000000b948f8ba8b027bbb5b6817bb8678173a79b790bb207a4dbb8fcf0fbadec4ed3bfd39a4bb0a8d9cbbb6412d3beb0e1c3cca4fccbb2dccb3bb92705b3b77475c3c2abec5bb77c16fbb30376c3b4df7283c5ee79dbb6883caba452dc63b2ca1393cf9ee41bb32d61eb9e6f6d03bd269273c459a47ba70260a3bacfc953bf026e83b34499439da76dc3a07b7683bef7b4f3be2d1913b67ec8e3a5848023bf29d28bb92871c3c1d599639712c253b6d2239bcbfaf2a3cb8fd5c39a867853a7cdb60bc64e82d3cbedb9fba3be5fb3aa4de8fbc013b283c4b486f396d77abb9107288bc480d043cc870d7ba17481ebbfc3798bc1ef1b53b8e0e25bb0b4f7dbb36be8bbc7a55253baf2e2fbb08c8bbbb64b54dbc9e8904ba68d3bebadea78dbb2ff3cfbbae7887bba3b4b2bcbe3d89bcc346b7ba295fbebc942328bdc2ebc4bc51ef04b8481017bd2b6842bdca55bcbc9f4657baf8532dbd9ff049bdb9c59dbc5b7c0e3b561220bd56532cbd0cb891bc0f4410ba9ebb1bbdb05714bdd9d93fbc7cb0e53a27e3ffbc087ae1bcdc73d0bb06439e3b3e529bbcfa8486bc144e46ba334aac3b2e5cfbbbba0e93bbb0962e3bd62b933bf08478bbcfd198bc0e53353ffdebd53e52095a3b501704bc78412b3fa797c43e8eeb233c0db4323cd0f9153f089ea83e2343743c4928be3ca4a7fd3ec5428a3ef7f08b3c8558e93c2768c93eba64553e730b8e3cf5cfe83ce4c6983e5911163e49ce813ca69ebe3c81884b3eb4f4ad3d432b1f3c7b204b3c8882cb3db76de33cc019923bb828483bc7d2b53b85149abc748b80bccc3599bb0000000000000000b6f0d1bce2953cbc00000000000000003a27d6bc012276bc00000000000000002378f9bc928aa7bc000000000000000020ccf4bcf0a49bbc000000000000000065ee0abdccbb96bc000000000000000050940dbdb59982bc0000000000000000ae4cf4bcdd5825bc0000000000000000e9c7a7bc805186bb0000000000000000d21872ba89b26bbb06100bbbdf621ababdd68ebb4441a2bb752453ba87f2be3b35b6abbbe1d9b2bb23d6c63942ef013cb165c9bb2a55b7bbb24a323bb9e9363c3424f4bb9cfcc4bb4a3133badb20863b49c59bbb208b67bb16e7b73b17f93b3c8eba58bb62f79dba44a0a03bfc37fd3b83b3e9ba5f97823aa797a83b53a8e53b139173ba8504ba3ab33e563bfce07a3b6593933b7860193bc6da393bba7c8ebade34183c1f98c93a713a633ba185dfbbee021e3cacf7bb3a8e808a3b85f139bc811b2a3c45dfa33ae8e5613ab57543bc53e12e3cdf9aac398a291b3c841024bcd387233c1e7a7cba16dba6ba623379bca7e0ad3b0057a9baee6302bbb04a5fbc95491b3ba7191fbb4a6784bb505839bc68fe273a1a5ff9ba22216fbbc25cc8bb6daecbba8afb9dbc1e41a9bc2acb1dbb7a5997bcc55123bd3fa2e3bcf160cfbafaaeefbc7ff038bd8cd8d3bce2b50cbb423f14bd553448bd502fcabc03283abb294ae9bcb81815bdd6daa9bc59eb973ad2900bbdd80422bd25a489bc959ce43a82d1ddbcc383dfbcf8590bbc1c36813b785599bc518a87bca92607bb124ebd3b1a0cfcbbaa99abbbac98cc3a4b91973b0dca78bbddd274bc221e103f894d0f3fa8dba33a27e8c0bbda78083f67ae043fc18ff63bf3fc3e3c4496ef3ef74ee23e055b553c8967b43c92f5ce3e9613bc3eda5b523cd68ac73cf9b69f3e30938e3e8b36803c2115e63c0e437f3e87fd513e9be25e3c3fedbc3c63072a3e123cfe3dbf47213cb8136b3c4cf8b03d8669443dbcc9a53bed358f3b48d90a3c4e7581bcc7bf98bcc312d0bb00000000000000000d0ee8bc223e42bc0000000000000000f492debc4b2b77bc0000000000000000de1ffdbcd5619cbc0000000000000000e4d7ccbc76c897bc000000000000000082ca16bd7e1aa9bc00000000000000009c1c0dbde82883bc0000000000000000afe50bbde32731bc0000000000000000cd35bdbcea24acbb00000000000000005c4d95baf51a5ebb16b94abb8dbfb939df9f98bb2c08c3bb5a12893ac11adb3b9774b5bbdc94b5bba6abef39f9ff183cf636c7bb2858b6bb737ea43a2a52313c30bfd8bb1584afbb0b721d3b7643183c8a90a5bbf7a749bb341f183bcc18763cb1f86dbb7f27e4b9b109ba3b86e3103c5176d4b9acea39394716913b0037f13b0dd7333ae8b4343a4348823b9c019f3b0d17753b3235323bcba9683b7268b23731351d3c023b923a83e3933b7c2bbdbbd124413c8ff1d13a22b8c13bf61418bc7ea6443c6854883a2e0c963bdb932cbc3664233ce19f2f3be615463bfef234bcaae3273c217f4dbba428b63a971550bcf99ce93bd771c1bac0d2cbbacc7452bcb94c973b59e35fbb47b68fbb3ee61cbc18fa2a392af92cbb257478bb8e4eb6bb924ec3b7925ea3bcd58fbcbc919516bb20398cbc37ca32bd58e403bd45569bba73aaeebc97a951bd694901bdca4a1bbbce650abd0d3d53bd43c7ebbcacd6d9ba039406bdcd413bbd672fc1bce35535bbce0d07bd59442ebd8544acbc23b59f3b181fe6bc086f00bdf82938bcb304783b061f92bc7e799bbc3c6f85bb96ddc23b0d0201bc8febc3bb3c40233a4d9bce3bf91a92bb133a56bc9893d73e75b4343f0eab633a46004cbb748dce3e57a8273f9520cd3baad14f3cdb65ba3e3f47103f29772a3ceb57b73c57dca03e231bed3e6d815c3c367ee03c924b833e8f39b83ef4205f3c1ad7e63cc18e4d3e77ef853e918a583cf934b23c5b630c3e70de263ed361323cbdd53b3c3468953d1c14893d0b43a73b0a5b853b0c8c123cf4dd68bcff22b6bc279ab0bb0000000000000000e289fcbc8e552fbc000000000000000064d602bd434389bc0000000000000000ac5405bd535fa2bc00000000000000006b7605bd554ba9bc0000000000000000d8b41cbdf95ab4bc0000000000000000f1ee20bdc33490bc00000000000000006bda1ebda56327bc0000000000000000b7b4d5bc42f2c3bb00000000000000009ab2b2ba0a2911bb9d7bf6ba1e24e83a967180bbb91f83bb0b9815bb7713f63b29ee93bbe209c8bb58b2cebaefefc93b4fd6c9bb11a6bebb1aa7393ada80303cb687bbbb4045aabba81dc839d333103ca39eadbbcfbf4dbb23817d3b502d443c68843dbbf3cd2abb3b980f3b2f80fe3b7285e4bac6bea73a5e9fa13b8ef7043c9efe38b9c0d7f03a87f35f3b61786b3bcd62983b1046bc3a4bce323b3f0d6fba898e293ca07dc93a1c639d3bf9e29bbb11f5153c993d3a3b429fd53b059a71bb5e244d3ce95cc33a1153ae3bc7a606bcc878213ce0f89a3a28e4a03b88a9f6bbce952a3caf2557bae870063b44e737bc72f0c53b5327c5b9d46da53a06b900bc967cf43abe3a1ebb69d92cbb411b16bcfc4610397fa703bb1fd254bb5e40a4bb3e9396b9c07dadbc2deac7bc1cacb7babf5e84bcf72a3abdeedb11bd5d1fcdbac09ab9bc2fec3cbd980201bd354280bb3eff00bd2c4462bd4e6205bd610021bb4ccbe9bc6f4938bd19eccfbc991621bb5f9104bd805c37bd7d02adbc5147c43a4860bcbc24a8f1bcbef457bc243f173baf7198bc6c58a1bc4fa797bbb6d3ee3b2de5e8bbcfaaaebbe9d1a53ac08bc03bc7966abba9b123bc1f5d8e3e0bb1593f3f284cb7222a7c3aaaea8b3e74b04a3f1f27be3be71c5f3cc0c27b3ebdc1283f9992123c5ca7c13c940f663ee4e90e3f30df353c78c0d53c50c13a3ebdd4db3e2698563c084ede3c3ddd183e6b6aa23ebaa33c3c21619f3c0f5cca3dc0734d3eb42b1a3cc07d553c8fc1653dfa50b03dd4f1af3b39aed53a6a39013ca69368bc047ec4bc0301aabb00000000000000000e8104bd2a3b34bc0000000000000000dd16b8bc5c4968bc000000000000000022aaf7bc700ca1bc000000000000000082ffe5bca3d89dbc00000000000000009ddb1abd7f35afbc00000000000000009e1907bdfd448cbc0000000000000000663324bd611d3fbc000000000000000034fae8bcd30295bb0000000000000000f0e0adbac2c82ebbb28351bbed4b983a7ed35abbd1f758bbe893ca39076b183c8f41a5bba0d5a4bb122db0b83278263cafdfc1bbbc9cb8bb76114e3aa0f63b3c1585bcbb9d38a1bb2784e9b99b66253c2f436abb7d6c52bb08ab3c3b625a3a3cfa0979bb99b3a2ba8b95773bfba8373cc2b902bac0387a3ba94da13beaddfe3b618ce0398351eb3aff834f3b5317873bf64a8a3b99ab153bc8b5583ba7aee0395a732d3c88356b3abc60843b50ec90bb8cf4503ce633993aabc5c33bbd85a8bb52285a3c865fa73a6e26b63ba2eedcbb5433423c424de63a3938c13b6c9fb0bbab85373c761392ba17ff3e3b114315bcf861003c748105bb360d063b3d411fbc5b6e623bf85766bbd6b453bbbf0f18bc6eb9e939041b16bb17a518bba90d9ebb6f459dba3789d3bcf634e7bcfe0321bb105092bc986255bdc77817bdccc8aaba8801d5bc52c96fbd709718bd3fb66fbb6082fabc920072bd391d0ebd4c2b5cbbb51ef1bcbce94dbd1a11f5bc0ed270bbaba3fabc6f0f42bd723dbabcaebad939b278ddbc8f0311bd2de777bc5e605b3bb61c90bc7189b4bc025b92bbf774c23b8aa007bc6073d0bbac494c3ab183cf3b12437cbbe1988cbbef730f3e8fe67f3f0ab4c53737f2c63bc531143e50e46a3fde85823be766993c6c77143e1aaf483f29cafc3b95e5d13c96cb0a3ecc65253f32b02e3c1d9edc3c1933f03d9a62003f9d7c293ca7fae93ce962c43d3e07bc3ed6da133cbb40ad3c2fd08b3d938f6d3efe57ff3b4981253c0475163daff6ce3d8bc59d3b7705793b8343ca3b863188bcb3aa99bc005f85bb00000000000000005a49cfbc80232dbc00000000000000009d16aebc728182bc000000000000000037e0bebc21f1a1bc00000000000000007b17c8bcc237aabc000000000000000038b5f9bcfe3cafbc0000000000000000434211bd9f0497bc000000000000000065511fbd0e2535bc0000000000000000db9900bdb3c3d1bb000000000000000000000000000000000000000000000000a4bc60bbf12696bb33e26fbb13a17c3bd4b08abb0f14aebb3687d0bac851ae3b0a4d97bbe4c6d6bbe9d84ebbb2c0d03b7d927ebbb283bfbbc79a3bbbf299a43bd1b7abbb9d9e9cbb5ddb8db94357e33b1f25a7ba3dfd04bbc1f9dd3a794ff03bdc92bdba37edb1ba3cea733b4a90ee3b0000000000000000000000000000000000000000000000000000000000000000c616033ce826353bff3be43bb33464b87ea61e3cd518503bb5afdd3bd24581bac1bc093c66c6883beab9da3be33164bab6731a3c69d60b3bdc73dd3b39d832bb4367093cb7a2213bdeafcb3bd7a593bbc75bd23b0480e5b9d762f83a7b70bebbade7463b913667badee7613a1aa6a8bb0000000000000000000000000000000000000000000000000000000000000000228c63bc79b636bd43e109bd0b04b1bbf743aabc79b44abd9a2303bd04c4b6bbf6a3b0bcada64cbd87e4f7bc4134f3bb6039bcbc31e436bd4802cebc2ea59dbb6506bbbcd9ef22bd939db9bc93437abbd772a8bcabeafdbc113b73bcad9e023a231a80bc2aa4b1bc686b09bcf4f3953b000000000000000000000000000000000000000000000000000000000000803ff6e4c43ae258363ccab8cc3c92c5803fd1a9223b49dc9c3cf387153dfd285a3f223bbe3bb626ce3c2c2e323d7526343f0345f23b6ee2cd3ca8562c3d5e710d3ff9b91c3c616cd43ce2fb223dac14d13e9e79133ce1d3ac3c5da6f23c28db853ea58fff3bcc55673cbfb99a3c2e76f23d0000000000000000000000000000000000000000000000000000000000000000f8a6d1bb827902bc0000000000000000c205e9bbc66f48bc00000000000000008e58fabb4d5576bc0000000000000000d6c850bca77d73bc0000000000000000862696bcf1a998bc00000000000000008cbdc2bc375b86bc0000000000000000d03800bd8bef6dbc000000000000000000000000000000000000000000000000000000000000000000000000000000005cb7a4bbcfe6353cfb96223d985dad388eb2a6ba1df7603ceeb6193d61cb873bc697573a42f96a3c8440f43ccf91d63b4a71a03aee64593cc856c03ccc4db83b8cca803ad4ef2c3c77b2843c23284a3b5ab5d63a3637ce3b47eb153cd380d33a30801e3adafc773a1523253b24acc3ba0000000000000000000000000000000000000000000000000000000000000000493b8ebb9e7db3ba7b9f813ba8b369bc222098bb1480cbbac1772738c682dfbc6eec1aba1bbce0ba591ca8bb9d9e13bd8cb831ba1fd0d0ba02b0e9bbf31b0bbd6a29273ac268b5ba16faf7bbaaa7d9bcf745a13ae14295ba53f7dfbbe0928bbc71c6283be4c7bbbafb91aebbf14d70bb0000000000000000000000000000000000000000000000000000000000000000f5e454be36ff543cbedc973bc7d5713a10e64abefd27b13b8b8eb33be10e9e3ac24f33be362df2bb9cd8883bed4f3aba212211be974adebb0d9a303b8d2ca5391814cdbdf3078fbb2f11803a8465c13a467b60bd6b7f73bbb185f4b98a7742ba862018bc3c5d2fbba01fd5b99271a0390000000000000000000000000000000000000000000000000000803f000000009953a23c3cc4d9bdc4fbac3f525101beceb9603c8db849bd590d8f3fb9f6b9bdb201623cfc5c8fbc81046b3f4a6f8fbd649f623cfba00b3b58cb2f3f94ca6ebd3688413c00ca353cac0de53ee70f1cbd1ad2173cb4ea883cf842643e7f655cbc4c78ea3b5b4f253c0ead2c3c49c09a390000000000000000000000000000000000000000000000000000000000000000f7427f3cf785bdbb0000000000000000ce5ce53b9aa77fbb0000000000000000cd6cc93b2dff8bbb00000000000000002efab93b3b696abb0000000000000000eab2803a99b0f3ba0000000000000000c903b83ae0ce76ba0000000000000000e822ef3adff5fcb9000000000000000000000000000000000000000000000000c1fff1bb09adb23be99ea13c75cceabab5890bbcf7db333c5a9f1f3d995187bba0aa94bb97ac833c66c7253d987f7e3b63775ebb781e983c056e153db706ec3b34eeccb9e185793c7709c53ce77ee13b1291d63a79b42d3cd018a03c0f3d8d3b8e883eba3804f33b6555353cce48123b77c58db810a1553bd985f53a4578223b9367a5bad181ceba936027bb6f74d8ba341231bb8b3e27bad808413cf6eecdbb605fafbba73823b9492e123c806465bb1fe681bb1b3f36bbcfd8933bb652c7bc2ffd66bba11e25bb3282ef3a1fa806bd1de0f239067041bbe8fe1fbb18f609bd0f67b83ad97b28bb89edbabb95e9c7bc754a0d3bc3df0abb8b48cfbb1c4771bc5ec1523b49a82cbb13d604bc5dbe96bbe2e8323bac9de6ba2d2d3cbb3803e73b38aae3bdca1dba3b58b6293a555be83a4c0d40bea1d6a13c36538eba9ac6613bb83354be436646bb332da03be81a373b126243bedc9e2dbc3988b53b3661c23af87d14be4d157abc7147513bf9dc433acc66dbbd346c42bcc421683a7c60243a78076ebd122a28bcb365243acabd723a071255bcebf147bcb146fbb90372623ab3e29b3c1cec06ba83e11eba4cda5a390373233dafdd5cbe8292ac3f932d7b3c2fc9323dd0a343be3f9c9f3fef48c23b64b6013d4e300cbe8365903fcd12673b0398dd3c1b2ebdbd67c86c3f0c22833bbaafbb3c0ca75dbdf8a6303f9dec8c3bb195a53c1a4901bdcf50e93e0d1bc83b66dc923cafca36bcdb53683eef51263c73f76a3cd8cf6a3b53c90b3d857dd93cdea2253cd3db2cbc231bd6bd741c3a3b469893bc8fc4433b00000000000000001d4b9fbc8476063b00000000000000003c559abca2b3133a00000000000000006a7092bcd24ade390000000000000000704c69bc34841d3a00000000000000009f5426bc47a616b90000000000000000a9160ebca0abdc380000000000000000db1829bcf4721e3b0000000000000000408cdbba3e0f513900000000000000000cbaf2bb7db8e03bc408383ca8b3f638ab19eebbd4a1473c5e37e13c3db1d23bcf419dbbdda3873c29e2fa3caab3403c51f220bb40778d3c8884e53c9a1a283c2b4256ba64c1553ccd72b63c710d013ce97a04bbb252483c0c977c3cb939fc3b07772aba07ba093cd6a6113c0ee2223bb518e3bad5de883b792fe13a7775253a2548a4ba985f3dbad03f32bb74a0c5ba63df00bb24beb9bae6a8683c53705cbc08716cbb6ba251bbb9c32b3c65dc88bce6c43dbba9c44cbb91a4fc3be338ffbcb0ea9539e9ef8ebb2d93d33a6a9504bd97edb33ae29948bbd8ea48b7051ef4bcb021dc3ac9b24fbb2ede5dbbaf02babcd364613b225f60bb060a94bbd8b34dbc32064d3b7a5628bb2be4b1bbf75124bb6bd67b3b55e51cbb757940bbf642b73be73c80bdc6480bbc163561b9dc2d233b14fd15beb7e2bebcd1c1c03b9e63203bf8612bbec65422bdae02063cd5317e3b2e0a26bea6cd0ebd304daa3bf3a9863a610902bebdd001bd4d215b3b4f0ee73ac4f5c9bde871bebcbfad533a4c486e3b802767bd186558bc589c98382c50ebb7131181bc6401debbd56580bad4b6ba3a00f00e3c8397893b005ab6ba9db023ba9f85303ddb9e5dbe11058f3f42f26d3ed80b4a3dea1b61bef71c913f22014a3e34461d3d369d26beee01813f23782e3e4e2e133d378501be8855593f41a2023eeaacd53cc948a4bd2003233fb64bc03d8719d23c59fc6cbdf27ddf3ebec7773d129aaf3c81ef14bd4aac6e3e7cc3fb3cea9d8f3c7c5d9ebcdebf643d4ab53c3c656e553c78a794bc618358bd540852bc21608dbd7c477e3c00000000000000004bd88fbd30845c3c0000000000000000401477bd515bf73b0000000000000000054543bd02c1083c0000000000000000569d17bdb8c6773b00000000000000003c2ae3bc5e5c093b0000000000000000d3e88ebcbd16863b0000000000000000e18f1abc79fbd33a00000000000000007b82dcbaec4a143b000000000000000089fe75bb7b938b3b7ec8c73b851eea3b589edcbb50bd3d3cc0afa93c6dab5f3c72517dbb03537b3c36d2d63c85348f3cd47838bbe89f7e3c384dbb3cbd918e3c9e0408bb2ba5833c33f58b3c5ae4513cbf4c7ebaf39f443c4673733c53f50f3cc346fab9b349063c2b1da63b838be43b54053bbab940253b6aa0353b28e43dba5fcdf5ba890fb8b724bf08bb972703b9b38d14bb40dbccba0a774b3c834fb4bcb28883bbf66979bb4a864e3c0fabb1bc214073ba2dbcbbbb25b5e63bc834edbc675260ba94dd4ebbf0c18d3b453fffbc275aed3a7abd78bb5227403afc36eebc37e6e83a313d4fbb804e1ebb88aab1bcf4880c3b414d20bbd9a7babb788f3ebc040a733b14153dbbedc77ebb7e25f8ba5cd4733a3b02d8ba79ce21bb469fe03b008415bd99ca0dbd3f13c73a1d403e3bca91e6bde31770bd1d9e2d3c236c3d3b931710be6a2e8ebd2ac61c3cbe81703be8b409be52df83bd9fb3003cad7cc03a4056ecbd4d3059bd65be893b2b32fa3a0a77afbd6d3b18bd32c1ef3a6b8eb53a7acf50bd3e65a3bcf7b3963991c26f393fe3a6bc46100ebba6db27bbcd955039f129853bd333d83bcd9cffb87c2cdcb83cc31a3d5b784bbef2706e3fa844eb3e73d43f3dbfff54be9c28703fca3dd93e52dd1f3dfc482abe44ba5b3fcb2ab83e349a013dd30ffdbdecf1373ff951903ea693003d4ed3c4bdf057113fa9dd4f3e9d8ad23c114587bd55bcc63ec75d033eb452c83c4de935bd6237603e7952753d2489993ce396edbc4766903d1506f23be2af493c47bedbbcfbd6e6bce3c31abda0a0f1bddf26bf3c0000000000000000aacf00be3deecc3c000000000000000089b9d8bd90158f3c00000000000000006c2aa9bd47025f3c0000000000000000d83c87bd34271d3c0000000000000000a45531bd3145dc3b00000000000000005295debc6574b33b0000000000000000348c15bc80022d3b0000000000000000a2d487b94e8d373b0000000000000000009374bb8e8b623bafadc03b6370ff3b6ee471bb2fcc243c4f63693c1985a93ca58a47bb614d463ca361993ce018b73c3a9a5fbbe522843c60cfa03cbf02a43cd171dab5f68d383c79544e3c2f12593c9975b4badc36493ca63b263cfcf4563c4e1a87ba1be1ff3bfe1bb13b196bd63ba2c560ba9051163b2592b43af1223b3ba1f8dfbab7c7b33ae9518abbe05414ba94a3883af613a2bb373a533cc429bdbc20ee8bbb8fe96fbbf5e8063c1afbb3bc8de7803aca64bbbb9dd7e53bf23fdbbc88f3fc3a323998bbb3ff543bc1a0efbc9618433ba54a1ebbf8c1a2badd9ee8bc6864a93a39123dbbf32809bb56cca9bc20772c3b98b944bbddb314bbc6564bbc000de03a329531bb122a7bbb0a9816bb6e090b3b508633bbf83500bb57a3933b92af9ebc38285cbdd438283b98dfb53b706da3bd858ebdbddc7f573c380f5d3b730bd5bd5931d2bd54300f3ca7b8913b3464e5bd397fc0bdd5ff063c39fe283bd544a5bd603f8dbde74506baf6fd373b14e799bdc5d153bd2fe84b3bcfcaa13a1abb34bddcdad4bca9fe4c3a58a323bad21794bc95d9bfbb0ab9993974f719bab099ad3bd33a2d3ccde57abab9a085ba5db9fc3cda4928becdc5333f48dd323f54d21f3db8192dbe403d363fc251293fc163f63ca06f09be9f96273f8d6d103fbc7af73c1edee4bd7619133fbf67e53e32caa13c72de85bd42cfdd3e689ba23e2b15c83ca2db80bd2dd7a83ec2f64d3ed0ff8b3c5eaa27bd70c8443e7379ba3d6864893c11bafcbc5d99993d6d8f4a3bd104583c3f8cd8bc98826dbc760e62bdb5bb28bec073fe3c0000000000000000382c31beb1480b3d0000000000000000ebdf0ebefeccc23c0000000000000000b4aff1bdfa48a33c0000000000000000ceec9cbd08e42f3c0000000000000000082f7fbd2165393c0000000000000000bf0805bd03350a3c0000000000000000b7e320bcc2d9643b00000000000000007651afbad4b5b73b0000000000000000bbcd20bb2fea473b0a6d453b1fbc5f3cd71d7fbb8120e33b81145b3c3d04ca3cea056dbbf9d8383c91d6933c2936f33ce46320bb2cef3c3ce1238e3c2a82ca3c7033afba39933a3cf16f713c66b4a23cb4ddecba23ff2b3c838a303cb175603c0934beba8f50033c397f9a3be63c0b3c533dcdba4c028f3b99ad933ae807163b8b4fc8ba8921b138df4234bb98c859baed60c3ba6b2c88bbfc470a3c3af692bcc96f83b9fecd14bc1eb8f73bf4f38abcbef78dba4a3ed1bb77e15a3b8f6da5bc44e0353b97c6c9bb45ae283bb2bdbfbcd5333b3b188d82bb5919523a0acfacbcbfff263b48d692bb08325fba318698bcb4c5e03a9d4833bb65c634bbdd742cbcb8c2953a17b70cbbea7ae2ba883284bb13d69f3a7c7301bb88038ab9a679253b62ffe3bb3c1293bd8bf8883b02cf793b308759bd7bad04be6159a83c0effa23b65efa9bd1b0b0fbe1fa1893cccb4753b7592afbd7717ffbd9192263c24c74f3b034aa3bdb2bcc7bdac66bf3bb427263a05d07cbd601986bd10d17b3bffc6ca3abbb128bd31dd0abd456f0c3b2188f0ba90b88fbc34c09fbbf7bc5aba3a4fa6ba860d1f3be74e463c0409d23a911726bb31d4c13c1b27f6bdcf03ee3e62156d3f9487f33ce12e00be8823f23e02b5653fbdcdd83c7279d4bde26ce93e2824463f45c9b83ccc32a8bd7e83ce3ea1291d3f18b8bb3cd18487bd01baab3e5b7ae33ee050983cc43650bd079e823ed2248b3ed4de8d3c74a212bd305c233efeecfc3dd3a55c3c88a9cebca81b933dd2f3573b99affe3b3bf4adbc9ff7abbac4298fbd83004abea1b0213d0000000000000000b1095ebea0ff2a3d0000000000000000936a3abe3bae013d0000000000000000e54f0fbe9911c03c0000000000000000edcfdbbd132a913c0000000000000000b2708cbde745463c0000000000000000ef9316bdbd731b3c0000000000000000ec34e0bb5f7d6b3b0000000000000000af9a0e3aad35a03b0000000000000000b7d4d1ba127613397386193a13f6893c7ac105bb9f4b723b8a21103c2fe3073d7f6032bb68d1f73b7d0b843c8fe80b3d050de9baa24e1c3cfeda7d3c06a0fb3cb5b007bb0343253ce1c13f3c39c7b03c2b1d59ba76d2f23b62c8313ce6108a3c1e721dbb65f4e33b0630953b5a41163cddb162baa20a7f3bd169143a312b4f3b1aae9abaa19a4939ae4a38bbf607d1bad3363ebbcbebc5bbf661a53b88e518bc2a4582bb95e7c7bb75d2623b9a7417bc941dd73ae4cf00bc1eb3263bf80163bc28d05d3bf566c6bbda2fdc3928f67cbc3fb3263b26b275bb23f5cb3984b990bc9c7efd3a97982abb1b44dfba72165dbc7fa52e3b192829bbdde260baa5b620bc844b9938c02795baa8b9b9ba78b987bb9c60953a7631c3b9fee0f9386118103b703bc33b394fbabd99008f3c4ae1663be34a03bd2db725be872edd3c422b3e3a176b6cbd5fd831bedc64813c748cb03b4b738abd89911dbe4b1c363c544f243b53086fbdc3a9eebdd226463b63b44c3b1cf757bd9b91a9bd8557943b35314539ccaf03bd6b2b2fbd7ef3923a736daeba592a87bc5d1ec6bb1854c5ba6f5837bbc4368d386d908d3c4c3920bb27834dbbda3e6e3cd2e190bd6e736f3e51338f3fab45913ce4e890bd5ca5793e8bcd8c3f2e35803ca63a72bd3285813e8ad9733ff6277f3c6e9145bd818e743e233b443ff148553cc0da0dbd2350543edda90c3f58fb573cd51d02bdbb562d3e665fb33e86055a3c7966c6bc8183ee3da1b0243ec697143c004c88bc5512783d67d64d3bd0f4a13bc2af69bca948153ccb07b0bddca25dbec2f42e3d0000000000000000ce9e6dbe09043f3d00000000000000009e5f41be1509013d000000000000000037b81dbebaecd13c00000000000000005f5ddabd8e91893c0000000000000000491f98bd3dbf403c00000000000000000a1620bd7880183c00000000000000007ee04b3a3187e93a0000000000000000b416403cf410333b00000000000000004e37303a7e6d0cbbf570b2b90a4bce3cb29fa5ba939e94baa8e6013c9e41353dc36fabba26356c3b96d9623c778d2f3d90d163bbaa2de33bf4068a3c4293163d5a803a38c8c7c43bedea6c3c3b3cd83ce860c4ba7e3deb3b2323293c98eda53c955681ba6316ad3b6378c43b1dec3b3ce80ba8bac03e4c3bcb8bf93afb011e3b3586d2baf149b03aac7b0fbb12803ebb842582bbf579b1bbd82f2b3a8ecfbfbaba760dbc4b4c02bc4d09bbba6087aeb8b7852cba37b9f2bb9bd5c7babb4d8dbb0f61c73afaaec0bb36529f397f4320bc32e8413bb14d73bb371e2cbbcfc933bcae91ba3a7e5846bb0a40dabac3c42bbcbe03593a753200bbb2669cba25f514bc215f9b3af33c35b9f9818c392014e9bbb7636bba2251ddb99aaab13ab6394a383bc8fd3b721304bec87ca43cdfb08e3aa82910bc7ea74abe96cf343dca050dbb628d16bd811a56bedba7c33cc16e2b3bef2947bdd2773ebeac365d3cfb462e3b1b6b45bd69d80fbe01d5c23baf38893a21431ebd9d36cebd8cd4743bdf6dc8b9e1f2debc8ebf4dbdd2ced739c31983baa1f274bcc0ba52bb686e0abcdf40a7baf3007a3a3c34bb3c6292c9b9aaab3ebb7e87b03bb71ea7bcb800943c6e3cac3ffc9fc43beaf795bc6593293ddc2c9e3fdcf2083cd07aa3bc2f3d973d49098c3fb48e003c25e483bc6e00ba3d111b623f3102fc3bcd4246bcf9e8c73df09b243f60d8e93b2b2513bc4198b23d5da8d03ed0eec03b76fbdbbb6b688e3dff713d3eb1d8343b43ff49bb12eb4f3d866b663b9727ef3a699089bb934cd93b2673fdbdfaff5bbe5396253d0000000000000000f51b5bbe610f283d0000000000000000080634be41e3d93c0000000000000000baad0cbe14b79f3c00000000000000004dcecfbdf213673c00000000000000004e477cbd8436113c00000000000000006fd3c5bc4d895f3b0000000000000000764d9d3ced8fb1bb00000000000000001ff6803c7b994a3a000000000000000000000000000000000000000000000000eb308db9bc92b4b91fa3333c7a93253d819c55ba54c3b03a82bb793cbd42173d57064dba2d3aad3b24f4553c3d95f63cbb6ac3ba737ec03bc7ed4f3c7122b73c217f6eba9377833bf66f3e3c6d93823c019a9aba409f723b2c4dc53b575e193c8e7864b968aaa73ac6c5063b0414c53a00000000000000000000000000000000000000000000000000000000000000008d7fb5b9ff9ec5bbb50134bbc08bd53ba6fb683b0fd2bebbd5b632bbd6bc513a8be8b83bda2d82bb61c509bb9d2c8cbbe07ea73bd8ef17bb79ac10baeec6a4bb81552a3bf4cc95ba82fd4cbb083abfbb9b768d3aa2df713a9d902aba7c0eaebb8d84b1b9b1b10e3aa2c5ae39586961bb0000000000000000000000000000000000000000000000000000000000000000f2549abc412e54be7099873cf909cb3aaf8405bd565e48bebe42173c52fc003b72a723bd6ca230be12ae26bba80a003b871f1fbd35780dbef96f9cbb78ee863a535106bdeb68c5bd1d4142bbf6b7ca3a0553a3bc3df556bd89ec61bba88e57bbac4304bcab26fcbbd1771abb2a83feba000000000000000000000000000000000000000000000000000000000000803f5fe03cbbbffd753c3282c8bdd1bfac3f893922b9cf97223c1a8720bd705d8e3fa4d4f539b9e91e3c901b04bcd853693f026bee39f4da103c0fcb373c2b3e2d3ffceb573b8a4fe63b8228913cc0e2e13e47dba83ac319043cff56aa3c25ed5e3ee7dc41b788b4de3b7168363ca373043c0000000000000000000000000000000000000000000000000000000000000000cd8508befd9b8d3c00000000000000005108c3bd309a243c0000000000000000a58097bd7b2db63b0000000000000000322b68bd7c0d1e3b0000000000000000d0b118bd92d9113a0000000000000000e46658bc837fde3a0000000000000000eb2d8e3bf1cb68ba0000000000000000000000000000000000000000000000000000000000000000000000000000000006b3543943acaa3cec89eb3c2da594bb0020953bf9d6c23c76dfdf3c141942bb5f67fc3bac5dca3c16ffbf3c992542ba8858033c3074a03c78779e3c14b4efbae84cf73b0ccb703cb6ec4a3c79e9a0bacf2db63bbb171e3cef67c83b494542bbc24cdc3a855a5e3bfaea943a076f06bb00000000000000000000000000000000000000000000000000000000000000005495e6bb24b9f13988b83eba3ee231bded21e4bbe50589b90bfb10bc1d7c7ebdccd995bb4aa35c3956d48dbce21291bd43a951bbbdf827baa0ec98bcf2b184bdaed4d7ba06c04cbaeec498bc347f51bdb6c7c83a8c0265bafed751bcb1d208bd5de4113bdc83cfb9fc8bbebbe5d11fbc0000000000000000000000000000000000000000000000000000000000000000b08435bebc8d683cc12f4d3ce79975ba32392bbec846873c27f75e3c500679ba8e091abee1880f3ce594483cfc1727bb2454f2bd0865223cd35e1f3cc5e4d2ba15d1acbdb116343c3c6faa3b6e6569b9b06f3ebdaddf4a3cd673e3bad7fd0abaa9ec2ebcc5e1023c0ed6b2bb9f77ff380000000000000000000000000000000000000000000000000000803f00000000314d943c108d98bdcbbaaa3f3bc60cbedf8e933c548705bb69da8c3fc4a2f9bdf862a83c3341323d44d5643f6d48debdd233ac3c9097803dcb262a3f238dcfbdc5f49d3ca253803d1c13e23e68cfb0bdb31e833cb193403d2467683e02cb6bbdb528123c87ec9c3cfd4abf3c7787eebc0000000000000000000000000000000000000000000000000000000000000000cbaf183c1aac58bb0000000000000000c85a7db7285165bb00000000000000001002cebbaeba25bb00000000000000003445d7bb9625deb90000000000000000e65f04bb66abc9ba000000000000000091d8443ba8f398390000000000000000e9990a3c9d12c33900000000000000000000000000000000000000000000000082b681bb055f0c3c9bdc783cdfe788bbef999dbbd7aead3c337be63c0e8d09bca4c8c63aaddcdd3c5d91f93c09539dbb77c1aa3bb3a9e43c7254de3c90db0bbbb6e0cb3b2f2dbf3c655d9d3c43d677ba2c06df3b44a1903cbfb5633cb7f106bbd2465b3b8fa4463c2ae80b3c46f833bb62a4c93ac54a953bbb4b9c3a08345539b46486ba2aab1abb84433fbb814618babfd482bbe8ce873a8759323c957793bcefe9f0bb8ae2f93a178f253c41a615bd3d1afabb35a7ab3980821cb993eb82bdffe6e8bb8d3440ba517415bc778a92bdb11e8fbba75d54b993305cbcbbfb84bdf23721bb4de428b9480367bc892459bd9bc465b92c99e4b8efa74dbc2e26f7bcc7c9413b31fafbba5e9b0ebc149234bc6f20293b98a044ba6fc88dba2be42d3ca975bfbd00f68dbbabc9023cab6eb9b9467727bebbd8bc3c1f942e3c8efc17bb3ef336be1c01353c7e8e693c7c8a58bab27e25be3525cb3b64d8813c0eaaefba7f9e02bec658e43bbb63303c432f03bbb114babdeee2273c8e8b8d3b189294ba408356bdb58f0a3c88782ebaab5854b93f6736bc155506bbac37b3bba4352b3b68fa623cc2f7633b4ec8debbbee3b33a729bf83cd2ee4cbeb962aa3f5ae3f43cbab1163db80232bed055a23fd573ccbc588ed73c2846b0bd6be48f3fe7bc0cbd19e7c63c9aeee4bc00bc6a3fe54840bdbe62b63c7eff3c3c2cdf2e3f231c56bd38e8ac3c5427bf3ca2f7ea3eef106dbd916caa3c9b85a03c5872733e4c7639bd140f9c3c1013153c7cad3d3d25a200bcf36f053c539f88bc733db4bdeee680bc306baebc177c393b00000000000000009614b8bc75fe3d3b00000000000000009e68e7bcf4f65c3b0000000000000000285ec3bc3efdff3a0000000000000000fc95b3bc8981063b0000000000000000ae6322bc7350273b0000000000000000afc367b70ec2b63900000000000000006db6903be74426bb000000000000000025bd4a3c21879aba00000000000000006e1e95bb8e7ff43b48271d3cb92d52b9d90082bbb61b9f3c9b1ab83cb0583f3ab2b0e33ad78bc93cd8e2cf3c6c866b3b67b5783bcf59cf3c409ed43c37e98a3ac84eb33b9b4daf3cb624903c28732d3b97749c3b3909923c43e25e3cda934b3a353c803b071f2a3cd8a6d93b33f705b99e4f1b3a968dcb3b564c9139998c3eb97595b2ba2e8bcfbace75dcbacbbc22ba6c048dbbb133cc39caf8583cfd1da4bcd454ecbbbb4345392d30133c64af23bd24a5febb1a96c7ba5f7ea2ba2d9077bdada7ccbb5164a6ba4460a8bbfce388bd2b5799bb21129bba6cec48bceeec75bd45ba0ebb742da1ba27ce3cbc2b1b4abdc03db1bab32e20baab492ebca7edf0bc39d7c53ac18f34ba580b0cbc9d710dbc85921f3b4759feb92595abba70de0f3ce45c51bdd0a6abbcb06d253c85f6d2b93ad908beb2589fbcd3f1983c23721bbbceb915be7618edbc5621b23c896eea39e6ef17beaf228cbcfbdb9f3cfedba9ba7c14ecbddb2474bc881d783c0bf44abaf106b4bd58ed52bb7af7f23b3ffb4bba4fd64fbd38ead23af1349d3bc2dd73ba3cfb8fbc3f2c983b12c55ebbd1e818b94599103c8173763ba356babb97d954399c440e3d2b6355be43d48e3feb37773e0a5f2f3d43db4abeee8a923f9219373eba89003d160fd9bdf5ae7e3fdb53123ec569f63ca0f28cbd56745b3fbc7a993d9f4fdb3c2249a9bc56f8243f0978203d63bfd03c68bee3bbb4efe63e404d86bbc3ccba3c448b90bba29c823eca1dc6bc72d5aa3c180726bc0e0f9b3dd516ecbc8a1e2e3cdafababc84132abd60a8fdbc822391bda231483c0000000000000000e9b3a2bd6c06693c000000000000000016fb8ebd8b54cb3b0000000000000000676170bdacc6cc3b00000000000000004ea23ebd79b4863b00000000000000009b2df5bcd5d4943b000000000000000039da89bc9f9b6d3b0000000000000000ae60253b983c1c3a0000000000000000a1723c3cac5914b90000000000000000c02b8cbb09d0f53b5f4ad93bc640833b02014dbb4b179a3c9002a93c9264af3b609216baea0cc13c3835d53cbdffdb3b8a449f3a2f0ada3ceb3fac3c8a05e63b27fe8f3bd785b23c5f77a13ce144993b81ab4b3b69c5883cfe41533cbe021c3b8c0a0e3b2e50523c7bbbcd3b2bb0103aba12283ae81c713b12def13a6ced08baaf1192baa2a09dba013529bb56932dba0c0d80bbe20d8eba990f513c9098d5bc4971f2bb230d05bb695c373c7cbf33bd2d5f05bcd71702bb64f78f3b01e36bbdff9cc3bb5d9e01bb4ed63fbb84457dbdaef59abbdb110ebb68fae3bbc6ba75bd74835dbb2e0d0fba50e213bcca9735bddb2d0ab9bf837eba8b440bbceaf5ecbcc31ba63a695e16ba3051edbbe753f7bb8803963af6cbcc383add63391559f13b8b480abdf34d38bd0e073c3cce45163b48bbd8bdca8660bd53dfdd3c0cc8afbafd1d0bbec58a57bd7fb0df3cf1080fbac1cf06be66972abdf1d4bb3c7925f8baa66ee5bdb6f6f9bc2555a23cda78cbba302eacbda30b85bcf086713c7f9417bb798e50bdbabc55bbda6bd33b21384cbbc2078fbc1a706c3bd56b92bacffd0ebbe978d23bd1c3ff3b3a3c33bb49da95ba693ef03cb76740be74286d3fe15af03ee7e71a3d2f293fbe37dc743fcf5ed03e50e5f73c427401be31c4613fdfeda13ed9ddef3c54cc9dbd2ff33f3f0bbe653e9b53d43ce3b527bd310b183ff4830c3e6472cf3c1e4abdbc0abbd73eac147d3de256bc3c161a7bbc17b77b3e6ee9763b5afaaa3c68a597bc70cdb43dbfdc02bd611f313c7229edbcd1aab2bc808f5fbd1621edbdc53f963c000000000000000056430cbe1681bd3c00000000000000002cb5efbdcac37e3c0000000000000000203acbbdfbc4593c0000000000000000b78fa1bd039e243c00000000000000000d415cbd47a40b3c00000000000000005797e3bc75ebbe3b0000000000000000163018bb1aaf883b0000000000000000132a373ce099dd3a000000000000000044d956bb080eb63bdb9e153caf753f3ba91c52bb18df803c18e5983c9c0a2e3c399fa9ba11c1b73c83c5b93cee611e3c3968d43a0b62b83c8995d33cbde1173ca943573ba2cf883c69966f3c1619fc3bad456e3b89f78e3c27fa643c8f6f783b469e343b9db0203cc1b1dc3ba64e9b3a1ccc6f37f19cb83ba554a03ab7e928b7039753bab2d404ba89e35ebb2f8f96baeaa5efb7163f7abbd5953f3cfdb6c8bc1af8dfbb944357bb9029343c4c4d24bded80a6bbd87d8ebb12b4573bf65d50bd294bddbbc02f53bb06f29bb851ac6fbdce9e30bb69ecc9ba6984fbbbc3f648bdff3682bbd1cc8bba83fd02bc515832bdae9eb5b94bcfd1bafe9de4bb92d0d8bcc8fb293ac0f90b39e04291bb877a1fbcc62f3f3a9c858d39d83d62ba5866dc3bbb2699bc0c927bbd1c33463c9d661c3b564dadbde524abbdc514f33ca0ec8f39f294e8bdc4d9a5bd646ce23ca725063b5933f6bde20390bd71c4e03cf3398b3a8acab4bd78c64ebdc5f7763c4099bc3ab74ba5bd0dc5ebbcbb98863c80812dbbfe803fbd106228bc398c023cbae4a9ba581292bcb344063b004a693a3c2b74bba044a53b233c1b3cd2280cba969153bb707cc03ccccf23bec9ab353f748e313f3e08f93c24cf1dbe2a603d3f410e233f8af4cb3c3e9bd1bd01b2313fbc9e043f1466bf3cd49a93bdc49a1f3f98cac43eb8e8a63c1253babc06d5f03e3eb6853e43b4ba3cd4ecebbca82ac03e63c30b3e5c7e9b3c439389bcbb46653e93f3293dfa16913ccb00a7bc9232c03d8ae5e3bc5469283c5794ebbc4b56f7bb0a488ebdf26920be89acd83c0000000000000000294a3abe41eef03c0000000000000000a8d41dbefabb9b3c000000000000000071ab09bed2548f3c00000000000000009769c0bd1951b93b000000000000000089ce9cbdebd35c3c000000000000000034ff26bdcd1bed3b00000000000000006672ffbb72d89d3b0000000000000000a26d0f3cd926d63b000000000000000064796dbbab1eb63b67c2983b9e34083c015b65bb6bc4623cc8c39b3cdaaf613c8392a9ba6feba03cae18cc3cff746a3ca336b9b87013b23c67aac73cff9e443c8a62b33ae73da93c1fe6983c175b303c7990e83996328d3c48ec553c7de3ae3b98b4aa3a3935343c16ddff3b62be163b2dd25a3a9eb9833bc1f1ca3aeb826c3a15c6f8b9651b87bac3e947bb6192a63809af26bb7a9765bb31f8323c6288a9bc524cd2bba4e7acbb11700e3c986efdbca29ddebbf65ba6bb907aae3bb4b335bd5da299bb03a180bb1eb2f5385f6e4abde973a6bbe0a471bb90a325bb5cf749bd8b5e07bb51ca10bb92da94bbf8911bbd532621bbc827f8b713bcb7bb9fa2c0bcf5308d388a771aba2777d6bb2e41ecbb7b06ca39e865ac39232ba8ba32ebd93bd27b1cbc27c798bd8d8d4c3cf081793b878694bd411fe2bd332c133d2ea8983a34b8d3bd1840e5bd341d0f3db21f3c3b344ed9bd6c84bfbd179de83c5e21153a7c94c3bdff4d90bdacc7d03c56e1353ae3b497bd3e9927bde567953c94e60ebb7fd344bdb03398bc56b93c3ca00686bbc58493bcdb1c50ba25cd613b6a588bbbe420bb3b24f33c3c13f902bb9b1064bb24fa923c6947f8bde69df63ef5f0693f6e1fbb3caa2befbd37c4033fae1a5f3f4a90a53cd3f5a9bd8dab033f728d383f8e8d8f3cb9765cbd24d8f03ea3540c3fc20d913caa3e0dbdcdd2cd3eb0d4c13ee577923ca2e4b5bc8e8b9c3ead705d3ec77c973cda3ca1bc0ce8483eccc4a73da6cf8a3ce86991bc30e3ae3d7d71a2bc78a11c3cd28ad8bc253682b91ffda1bdb1fe3fbeeec6033d0000000000000000a81769becb9e173d0000000000000000ab0a48be1f27d53c0000000000000000540223be39ce903c0000000000000000cb2d05bedfd97b3c00000000000000008767bbbd7eaa463c0000000000000000286852bd4eda403c0000000000000000237f1cbcc3d8c23b0000000000000000a9a1b93b76c8e03b0000000000000000f0301bbbfadb453b1efab63b1cbe2c3c338d4dbb03b12d3cc90c953cf0a39d3c2bd3edba86af8c3c9c4dc43c66299f3cfb5a1fba97f09a3c466fc83cffb78d3c37bc083b0cce843c27109e3c5b95353cf8d86c3afcf2783c168f793cccdc033cfb78343a7da2333c94c2f63be84e823b6ac82a3a77b07c3bb1cf223bfc119c394729f6b970808aba137e7cbb143d61ba84f284bb940471bb4044d43b913240bccc93ffbb13d2a5bb3f89ed3bad93a9bc15aba3bbffeadebbd7a22c3b83d20bbda5bdcabb92b29dbbc190c53a4db123bd7e7f66bb9fe267bbf7256fbb6eb320bd627a8ebb2e4777ba04654abbd9890cbd2426c5bafb9ab4ba7b5893bbc84db2bcf2b13c398abb8c395ab383bb3506f5bb1558883aa49c833a339861b95a99aa3bfebfafbbb8bcadbd531ca73cea75053b07a86fbd1ab10dbed41a2c3d510eccba034fb1bd84d30bbeb0fdf73ced62be3b77fbc6bd79bcf3bdb910043db9022f3b0ad1abbdfa9fafbda656ba3c4a4ee63a4a688ebd59ce70bd8076b03c6f9c4cbbfb8a2fbd4af6e2bc6f335e3cbcb75ebb6d5688bc29c074bbf5d3833bfc78a2bbf5ebba3b0d24523c2d4ef1ba6b87a4bb38b14e3c39759cbd585e823eb4a18d3f5168613ca0b08ebd16a8923e6a0d8a3fd42c373ce1a037bd20b6a33e461c643f6013413c8dca01bd38afa23e50c8343ff9403c3c9a2351bc12358e3ec591fc3e46ca683c7c456abc3a5f6c3e9b349a3e823c523cfa150bbcd11f1a3ec18c093efd73293cd89217bc99f6933d492d33bc790fc23bfb5282bc5e42123bd3aab4bdf10155befa78163d00000000000000003ca37dbe49662a3d0000000000000000a95b4abe1c81b83c000000000000000006c039bec4b4a13c00000000000000009f890bbea7574c3c00000000000000000d4ad1bdca5e583c000000000000000004f680bd9046193c00000000000000009f0ae7bb6be32d3b000000000000000061bc733c34b0903b0000000000000000316b01bb5b00cd3a404cf13bfe73703cd28d3abbb6e8f23bad749e3cef9bd43cffe02bbbf8785f3c5028d93c6f3ed03c7fb9cdba6932883c6666da3c7d4ca83c99cb53ba6837833cd3ebb03c2db5783c2eee93b933d9633cef7b803c4da7273cb17b203a96e5083cf7e31d3c25e2a43bdf1265392315303b31e5553b7f5dd23abb699a394544f4bab3d819bbf57828bbebc291bb639c92bb8d10773bfd45d7bafbab3dbc5636afbb9a47db3ae27ac2bbd92ef7bb9eafeabbd2711c3beb7ea9bcdff4b1bbd811c3bba71c8b3a0353f1bccbc894bbd0ab73bb13a7e1b94a1e02bdf2f864bbb2bb22bb66e9abba2434debcd6723abb1ad8a839dd9843bb47b593bc595d0e3a3385463aeae2ebbabcccf5bbd6450639454bd23a7a2bf6b65cbc883bb67a1bbc4192ebbd08c3ab3c0ba8253bd4f03dbd1e6b2bbe6293623d6d735ebb2af2a3bd10582dbe71f0243df6dd863b09c4b6bd60ed14be36cb073d8161823bb2f6a1bd89cadabd59c6c33c499e353b555583bdd24195bd90feb13c11f90abb0faa25bd454a13bd1e296d3c0d53a3bb92f380bcb61789bbfc9f1ebb26bd96bb4e82de3b01ba873c5685e5b92034adbbba9e763bfc85ecbcc940203d3ce4a93ff15cae3b504aa3bc5389923d13419e3f10b62d3b88cf55bc7d51113e0473873f4b30453bf2a896bb49162f3e1dd3553f552aae3b7c6d903b5bd92e3e9605193f40d2a53bbfd9753b9b94163e98f2bf3ed425bd3be839853be2e7d73db3812a3e39c6803b79d5b03bea515e3da611ceba2d17163b60c6fcbb282068bb34cee4bd561a51be241d0b3d00000000000000003ed074be0d851a3d0000000000000000a72d4fbead4cac3c00000000000000003a0b30bed068783c000000000000000093730dbe84041e3c0000000000000000ae75d2bdfb7f403c00000000000000001ce064bd2c99e73b00000000000000007948cd3bd811b33800000000000000006ee92f3cbb1b9d3b000000000000000000000000000000000000000000000000a05defba821bc33b38eaa03cb347d83c4327bfba9c154e3c86c0be3c22a6c63c0589dcb97fda5b3cb824c03ca142a43caea11a3a29bf4a3c5e29a53c75446b3caac939bac92c4b3c83dd7b3ce9fa203c16ea113a1c3bf93b4202183c7a1fb53bcd1d8b39f5c1193b7e90403b2b13863700000000000000000000000000000000000000000000000000000000000000009ce16abbc1d9ebbb7f681b3a2bb653bb95cb84bb2f71d9bb98021eba21f960bc1ff2daba27afa9bb62d099ba32bcbcbc2c5401bab53777bb40b9fabafe95ccbccfe3d0bac3a9eeba12180abb68dcaebc0b7b0bbba7f283b90fa756bb759a5bbcdef13dba93cf953a8011a4ba49158dbb0000000000000000000000000000000000000000000000000000000000000000514f4ebdff3230be72899d3c8ce8ec3b222890bd331923be924fac3cd71c0a3cc6799dbda8ac0ebecc93553cdb4bfa3be6cc8fbd3eb6dcbdedb5343c13b38b3b3bff6abd4c129ebdb55b543c34db2a3bde3a15bd524e28bd21050a3c02295dbabd6b2ebc80def8bb936cc53bf4f98ebb000000000000000000000000000000000000000000000000000000000000803f9054acbb3ee37f3caeba70bdc9bca93f4c4510bb88c4883caf74643c68608b3fa176c0ba9c17b73c56b27a3d00fa5f3ff0e16a38a45eb73c7574a03d3618263f9b935b3b067e963c2b55983d6b78da3efe60e33a8e908c3c52e4543db8615c3e8b69aa37527b173c59cd973c86d7923c0000000000000000000000000000000000000000000000000000000000000000ebbe13be95624b3c0000000000000000e26800be3efc2a3b0000000000000000e942e0bd53ba6abb00000000000000003d37c8bd065c4fbb0000000000000000cd8ea5bdde1385bb0000000000000000407944bd4bd7233a00000000000000001d02a8bc5490f83a000000000000000000000000000000000000000000000000000000000000000000000000000000004805af3be71d9b3c9465813c30628bbb6ec5223c0278ce3ce82f813cc2dddebb13d32f3c660cca3c8e34623c4b91a2bba873483c73ecb63c7768333cb2f9adbb3029523c436d983cd5c8a33b8576bdbbe76e2e3c72d5403c826d903a03eba0bb5ff8fa3b2c6b873b578236bb6c852fbb00000000000000000000000000000000000000000000000000000000000000004d56afbb31541c3a81d1e7bb20ee85bd0921acbb61aff3b95a43b7bc887fadbd9516afbb4b95d4b85e50edbc160db3bd311d7abb080c89b98d500bbd0f7fa9bd933451bb3764f439b4cb0ebd81a08cbdf80a18bae779143a25f2ddbcb8113dbd39c7f0385b259c3a39ab89bcd9c6a7bc00000000000000000000000000000000000000000000000000000000000000000655e1bd671183bc1510b93c820191bade49debda3d29fbbb567cc3cde4c30ba9997c9bda3d027bb1f58b63c9ad3b8b95bdf9fbd27ec563b807a983c15cf50ba53d96abd5b323b3c1a14863c48cb0dbba5afffbc46db693c8d210a3c93f86ebbb7c6c0bbdf34683c1c3cf03ae3ed85bb0000000000000000000000000000000000000000000000000000803f0000000034c19e3b19e2a63c139e963f2e025bbd8969b43c2b8d933d5a837b3f8a3c82bda0ed083db218d13db4f04b3f58a593bda12e243dfa22da3d27c61a3f6ae6a2bdb114283da517bf3d0cbcd63e8ddeafbd10670a3d477a823d0d5d743ec90ba0bd2039b83c7d71a23cfc43863defa08abd0000000000000000000000000000000000000000000000000000000000000000460106bdf7b6393b00000000000000004bcf27bd0bfa963b00000000000000007b3c39bd95589b3b0000000000000000462328bd1190873b0000000000000000e75c0bbd298af83b00000000000000005e2493bc69ec0c3c0000000000000000e60f8dba2fd6043c000000000000000000000000000000000000000000000000c2c9a2388a1ad03bf1b1353c7aabdbbaea4fed3b1e62b83c0b767e3cc2700dbc9e043d3c48b0df3c38087e3c5a651cbc51c4643c10eefa3cfe87533c3dca24bc5dbe7f3c4e21d53c21bc133ccbcb08bcd0cd763c4c8ca13c2c8d753b023b1dbc6aef4d3c8efb383c426e3fb7f162b4bb3c3dbf3b672b2f3a725dabba56a20ebaacf1e13a6f8a67bb17ba52bb597d9037e3944dbb4ea32a3ac25cd53b1f96e1bce716d6bb3576bf3a43b28bbbd5788bbd53cfe8bb53698e3a2f2e8dbcdcefb7bd6621bfbbfc821f3a3641e7bc743bc3bdc8629fbb12f38ab9e5550fbd3e1cb9bd7a5b9dba9f9d413a25ef0bbd0fe896bda8c5cfba086bac3a6541d2bc51a745bd25682f3b31ed30b9d63627bc265f81bc45901b3ba82cc639ab2890ba096bb73b944282bd8472ebbc215d473c10b2893a2234dfbd5ec867bcc946ee3ca4fc3abb018af2bde9511abc84adf73c75d809badf4be2bd70ec8bbad0b9ef3ca395d3ba90b5b0bda71e903be932c63cd683cbb9b4b46fbd37d5673cf4e2933cf32f9bbbd20f02bd18148c3c3d9a143c2df281bb26a289bb01ab2a3cda8227bbfa2ba6bbb74b5a3c7c4c2a3cc169cfbb77e161bb616b3abcb49d94bd20a4963f99baea3d1265c83aaa2514bd21be903ff2fc753dd4391c3c545d2b3d4936793f6382003d5ac6aa3c5fc9ae3de9c7493fb3a534ba24f2f23ccf17d13d0e93183f7308f3bc8e42003d59fcb83de78dd23e5f2d61bdfc91da3c024f7b3d503f6e3e019e88bdb400843c9bfc813cc1648b3d1cd268bd0c5f8f3b948d8dbc343a6bbd1d7a45bd3fc216bda329893a00000000000000008a3869bde426003c0000000000000000482c86bd2207e43b0000000000000000811287bdb26ce83b0000000000000000f4a472bdcbab0c3c00000000000000001e0b44bdaee0533c0000000000000000a4a9dfbce6e2453c0000000000000000013a13ba27e8313c00000000000000009001233c45c50b3c0000000000000000e88b393ae3f3703b15f2223c1a54b2b9450f913b12f78c3c0dd1933ca9a897bbd2d9b43b6776b73c95b09c3c87fb1abb2b302b3c7de6e43cd822873ca2e0e9bb9bfd113cf7caba3c6555413c14b77ebb1f4f5f3c5698a53cbfe4e73ba32fd7bb309b2e3ce805583cb00df03a5e2896bb12e6cb3b92e58d3b4e2a19bb0f5759ba7020bc3a496858bb6bdd8fbb7e94483a59b15bbbcd994fb8e21dda3b3ceeaabc76c6bfbbb525b8b996188839a7f575bd9a1ee7bb2b788ebae94336bc5cc597bd30dcccbb1d3303ba016ea6bcd5fbb5bd64ef77bb2c127aba9f44b9bca4a3a1bda63453bb3492ed3813ecebbc104d92bdbf153cbbc2e4223a63d8cbbc29fe4abd3ba18e3ac7979a37b6993cbc52c5aebc9a53f13a6bb6a4395c5048394d59223b174325bd628304bd0c3bf73bbcf38d3be160c3bd41160fbd7b76c03cd2c4603baec2d0bd2aca05bd26c5b53c5e8cc93b1ac9dbbd011996bcb8eae33c4712303b231babbd8fe834bc221ba83c9b80a93aebf680bd5633223b6eeea03c5cc304bb24ab11bd4c70d73b64bf633c7d2b9bba4bc0ebbb01a0133cea270d3b762294bb5165573cc6ed013ce63746bbbe0f89bbb41423bc541bb8bdb50d803ff604923e43ed103939e969bd018b803f5829703e0e74b93b21c9da3c15aa563f6b743d3e81b3453cfdd6723d491a3b3fce4ae73da334aa3c4be99d3dc7ac0c3fc3db823db40eb93c4d26a03da390cb3e2d7ca93b6d61d43ce2c35c3d21686e3ef419a1bcd69c8a3c027e673c0406ab3da1bd49bdab1f4e3bb3cc77bcef7c07bd1c543fbd52fd67bdced48cb90000000000000000438db1bda7d28b3b00000000000000008a56a5bda43c83bb00000000000000006d76b6bda0a4943b00000000000000001e0b9abd74468d3b0000000000000000eeab87bdeb75373c00000000000000005b9c3cbdffab133c0000000000000000f39a89bc3435693c00000000000000000f1a883ac79c453c00000000000000003a216239122b923acb022d3cfaf7c43a25c6813b8b566d3c7255953c8e4eaf384e8cb73b9b15b93cca55b03c9ea93bbb386d0f3cf7fccf3ca42b8f3cb49c83bbd4612c3c47c2cc3c3427833cbf20b4bb9bae373c01f29f3c6ac7d63b3914b7bb234f293c59ce593ceaaa1e3b5f1390bb3b15d83b2278693b14dd2dbb9219d4bafa1c063bf14a16bb48b7f7badcaecaba87a62abb574a4cbae0c2da3be40394bc9a2cf6bb6365d5baf6c30b3b45e55dbd57e106bca41fdcba0f1f8ebbfc1d98bd8411f4bb82d49fba23a87dbcd5a9a5bd7404e8bb99ca9abac179b6bca1f4a6bd675a85bb027beab9b2bdb4bc1d3d8cbd22af12bb2bc832394a0ea2bc22884cbd3b009c39e84b123af4423fbced63b3bcb9e1913a973d693ab1474abb53c261ba38d900bd400732bd8dff393bedb2f23bd516adbdb20851bd00689c3c99f2263cb0e1dabd0e8934bde3d4d23ca18f133c887dd4bd0ca404bd9929e13c9495d73ba0d1b6bdff26adbc0d9fd53c455fc43bae7b82bdca2f8dbb1158b13c9ce99a3a284a14bd7fbb9d3bb425723c331829bb6d0402bc9e93113cc431a23b2db69bbbff94523cc459123c557bf2b97ab593bb629b59bc468faabd3c28563f2329ef3e0b6d80bb1be36cbd1651593fadb8d43e31ee21bb209b8a3b18de433f558ba63e3f02be3b41383e3d2348253f674e703e8751583cd2bf913ddb6b023ff036193e146a7d3c186a863deef5bb3e7dd38d3d1c3c933c20984a3deb86633e951df23b8c64553c5c38823c9dc9ac3d6f330fbd6a47d93bb9682abc03cbadbc8eaa66bd174c96bdd1907cbb0000000000000000a00ddfbd71a0ccba0000000000000000e14fe4bd739819bb0000000000000000ba22ddbd07590bba0000000000000000a1d3cbbd9130b03a0000000000000000ea7faebdac221b3c0000000000000000a32c7fbd04f96f3c000000000000000031d704bda778953c00000000000000008b3f0ebc0986803c0000000000000000f848c2ba3ca4893acb9b153cd4f0a83b1736ac3a82c3563c3a8aa73c174bfd3ace750b3b2932a23cee1cb53c6716c73a923aa83b969bcf3cdb6dc53cfd8a61bb5e6b7c3b6176903c3ecc813c0d3df23a68c2143c37dfa33c98803d3c403fd1bb8f18043c1a935f3c2bdd573b83db93bb5fadba3b7201ad3b078af9bad52705bb5ae05d3bb122c6ba4272a0bbc4e6baba34258abb6a6d4fba1206fa3b426138bc5272f8bb78d926bb4e09ad3b99133abd638701bc2a1114bb4b075dba4a497ebdd03212bc8f7c06bbf77908bcd92e9abdf892bfbb9fd696bad62447bc71f97ebd6df799bb841ea9ba970876bcb6d592bd22b638bb7bf0d93847e184bc9fd944bd2356203acdb9beb8d2cc25bc8542bebc7e38473a84446f3a670b82bba4651dbbcfb5e6bc9e5446bd5be110bb35d32d3c03469fbd594487bd9eb36f3ce6a56d3c8ff9cbbd4ca870bd10baa53ce794443c1849dcbdf85845bd5212dc3c585e3e3cbc8ba0bd536d0fbdf100823c5a370a3cb93684bd199678bc1de5c43c0894913b596f1fbd2775f3b9c219843c8ab2533997cb25bc06f30b3c01eca53b7d9b7ebbbf9b273cf953443cbbc9a23a749693bb7ca965bcaf009dbd0359293fb51c253fb23105bc162055bdf4b12d3f2365183f2b95aebbbf72c33b015b1f3f1bd5f53ea4c3f9baa476283d7b390d3f75b9ba3e84da203cfbdc7b3de670d33e742b823ea9f7133c2a927e3d3b20a93e542a103ef07a573ceb01403da15c4e3e035a5b3d0121343c6aa7983cc78caa3ded1b96bca2359b3be4c0f3bbf9f445bce09e70bd6008aebd3a1dc7bb0000000000000000c6f7ffbd5b4e93bb0000000000000000a84afbbd054a06bc00000000000000009e1efdbdbeadeabb00000000000000001819c3bd246043bc00000000000000007b7dd1bd9912b93b0000000000000000710f9abd22a4353c0000000000000000851b35bd6a87a23c00000000000000004c648cbc593c9c3c0000000000000000f9cac6bab4edb23ae39c253cc12ba03b5e0a9839180d543c33faa53cf30aae3b4addd63ae20ca83c9286cc3ca521433b8d0e883b89e7bf3c4ddfb53cf771643a987dab3b058ac23cf11fa03c4e3465bac995f63b736aa83c294f3a3c951e5ebbf6cbd23b37fb823c67148e3b04597abbe039a63bd0b5a63b285ef7ba60e0e3baab302d3bad7d1fbaeabf86bb957109bbd6c17cbb3703c3bacd09073cd62639bc8ae20bbc7fe23dbb1edfd53b4d7125bd807125bccf002bbb7cf34e3b985f72bd419d0fbcbad330bb0f6197bbf0cc88bdedc609bcc19523bb8a4120bc2bc08fbd5731d0bb38b890ba67474fbca9cb7bbdea8a77bb2d6d6bb77fae32bca33f43bdc74a37baed86553adc3b06bca358b3bcf008b239565e863a9d3583bb4a55c0baa480c6bc02cc5ebd8f00aebb0e5f4f3c98769abdec17a0bdff9a4e3c4ba5873cf259cebda29799bd94f9aa3cb864843c90c9d1bd21307dbd7171c63c9a525d3c9306bebd71ee34bd9e24cd3cea29433ca9ad8fbd4871bebc2422ba3c1af6d73beb532fbd6ebf85bbff6c893ce7030a3a985b3fbca18cdc3b6b83fa3bd2e58dbbe1d8173ca6f0473cf7d2083bf9759abbeeef3fbcb3bb86bd2c0af83ec93e523f25bbd5bb2bd13cbd139a033f57df463fd09e20bc6af7073b2f0efe3ed146243f4e4aaabb02bb153d9b2ae43ebc31fd3e419f6bb918c7653d034fbe3e89b9b23ee34e793b27b5623d336b903e02a85a3e633f013c59822d3db111373ed300c53d8874173c9a677a3cf9ab943d272715ba0b6daa3b9a4acdbb9d622bbcfe0279bd420fc0bd2447d5bb00000000000000002dd10fbef330b0bb0000000000000000fbd010be6fa33bbc00000000000000009fc00bbe592b1bbc0000000000000000c2ea00be542d09bc0000000000000000976ce5bda751183b00000000000000008f69b7bdd6f2523c0000000000000000c07858bd32c3a33c00000000000000005502babc120ba93c00000000000000008d2cfdb92ed6dc3ae63c123c9df8c73bfbdb03ba1d5b473c5c1cb33ce23fee3bd0754ebbf4458f3cb771cb3c1ad6d13bcc1a873a3962c53c42f9d13c1a7a7b3b324a063b59a89f3c4159953c1526fc3ad4569b3b429fa83c3403673cf88f34bbf04eb43b67a06b3cc84ce23beed90bbb6b2b6d3b8078983bc707303a916dfebac751ec3ae3fbbfba389fa5bb335b7dba28669cbbc265c7ba68a4b73bc4ec0cbc88bd15bcfcb16abb416df73bd92804bde5b3e3bbce638cbbbd17ed3b47e639bdca6f33bc3aba41bb5d50183b883279bd2bece3bbea1714bbaf9269bb0f1869bd9a8abebbbc05dbbacc2ee3bb69a368bd2b0d9fbb545f22bab0a216bc99902dbdc606cfb99d3dc139243492bb03fea6bc00dfa93abfd2453a09d4bbbaf38a0bb994fcbfbcbe786bbd4b3d8bbb9e25533c8c3a96bde1c6bdbdea79383c6e889b3c3fd7b9bd21feacbd81fc333c37dc943c3cd7d5bdfeaa9cbd5081b43ca66d903cf57fb1bd3c475abd67d39c3ce963493c554794bd853e02bdc0dbc23cc15de13bf62938bdefe573bc69608b3cf420a73b5c2e62bc4810353b85b0143cd7d59ebb8aea353cea94443cf711a139d6e4a6bbf1fab4bb997c62bda0059c3e4bb87d3f840ce2bb2b8a0fbde439ae3e659b733f994c1fbc9bbd3f3c530eb03ed03f433f1c152abc13d6093d5070ac3eedbd1e3fbae648bb0fb5473d5f17903e14c4e23e6a1ba9ba22954c3d1c466a3e7d7b923ead52be3bf6862d3d1a5d133e0167193efa459c3b8109743ca9f3793ddbe8933c48d1703b6e1cdebb17e93dbcdd707cbd7f09d1bdad940cbb0000000000000000cdd217be0767e7bb00000000000000007481fabd860fa7bc0000000000000000153811beede781bc00000000000000003a19f5bd17d070bc00000000000000000100f8bdcf0ed5ba00000000000000002461b6bd8f188f3a0000000000000000be7373bd55e3a63c00000000000000007ea3bcbcfb7bb23c0000000000000000ba3db4ba943cf43aad2d1e3c376a063cbf3f2aba7ca75d3c34e1cd3cd354fe3b5c6125ba8ca49b3c169cee3c34bd053cf28c153aabf1be3ccbb1e33ced7e953be898ec3a2ea1bd3c4748bb3cd9e72e3b5cbf613beb6ca63c5307803cbc1a01bbc32a2d3b7de3723c1fef063c04c96abbe786c33aa313b53b738484ba30c888ba4386a83a4c55fb375ff09bbb8e8cf9baf1dd9dbbb267a5ba4d14e63b5f1890bbf50628bcfb5982bb63b0e83bf724e3bc4ef83bbc4c9082bb176df83b581232bd464f1dbc6a298ebb011a1d3b93ad54bdb23c19bcb3642abb1c0306bb447d5dbdc68ae0bb378917bbb73b18bbf1e551bd526a4fbb8af89aba4b13e2ba232423bd5c288839b867e739680fa2397e7889bc031d983aec97683a50ca9fbab7d4bcba1d17eabc719796bda34a1fbc1983543c0ee39cbd8cc5d9bd88875d3caf58a73c8ea5cebd4129dabd83af8e3cf965af3c3ed6d8bdbd29bcbd9d50ae3cc591a03c2716c2bd8bc48abdb764bc3cdfc3793c4b1d9abd2f7a2cbd2515c33ca5693b3ca2183ebdc4858abc1375983c41b6463b6c6f45bc5852d23adbd8053cf5aebcbb465f243ca081643c19e2593bf04abcbb26f3d6bb8cdc16bd86d1093efaef953f55ddc1bbaeb387bc687b2e3e66158d3fc51a51bcb7cd613cda44603e318c6c3f732840bcaea71b3db4bd683e05413b3ff03412bc853e513da0aa583ed792083fb68fdcbb43644c3d45eb2f3e7f0eb43e81f15dbb8363163d8979e83d0f3e393e05ad3538d476653cc3fb2e3d553e013de39f553b3ce35dbb52f364bcfa5199bd9dc0b7bdf5a2a3bb00000000000000007b8b0bbe177013bc000000000000000089ff05beffecb5bc0000000000000000b3ce04be186bc2bc00000000000000000d42fdbdfca0babc0000000000000000fc38f2bd8fb62bbc0000000000000000854ac9bd08489d3b0000000000000000f32770bd1fdca13c0000000000000000ad4504bdf562a93c000000000000000000000000000000000000000000000000f72f41bb9d23043c035fa03c27e5643cb34141bbe077593c4405cd3c322f543c88b42bbbee127e3ce700c63c32f8413c8bfaa3ba0409723c3624ab3ca1660b3cb3ed0bb9d92b6e3ca809993cb6e38f3b47dc073bf9814c3c018c293cbc3f5bba97d6423abaeb0f3cb0470a3b24a58dba0000000000000000000000000000000000000000000000000000000000000000b76e9ebba18976bb5e26033cebdb6fbc7636c9bb2ad694bbe9bf083c89cee5bcf08cebbb44a33ebbb553c43b648a11bd1df3acbb82f265bbba85953b5dc826bd4090acbb550c06bb58478e3aa3cd20bd7e367bbb48fe83ba4edf85babb1503bdca3408bbfa9b0eba2b27bbba63549cbc0000000000000000000000000000000000000000000000000000000000000000f4b689bd3068dcbd10b8e0bbf0157c3c7844aebd051fd2bd254a353baea18d3c6cd6b9bd4234bfbd6fb2903b7045883ce74dabbd7f1a94bdbddc103ca777693c435f8fbd523252bd90974b3c35ff233c627c43bd900cd0bc5e7f5e3cc7e1cc3b8abb9dbcda6e93bbeac7273c8ec7003b000000000000000000000000000000000000000000000000000000000000803f9d64e3bb69b8f83a6e81323dc9c0953f7e6625bc4e24bc3c9508b93d5063783fa7f71dbc88d8233df114f33da5ec483f0d8ceebb7abd493d4189f73dbe3d173f4641adbb95014b3d21d2d43d8adccf3e0e5863bb6da4223de61a913d2d336b3e3182ef3a569eb73c70d1d73c5e4e763d00000000000000000000000000000000000000000000000000000000000000009ee88fbde5239bbc00000000000000005d429ebd5509e8bc0000000000000000d224a6bd314a07bd0000000000000000d3a7aebdb1bdfabc000000000000000069b5b0bdbd9ec3bc0000000000000000d1bb9fbd75452abc00000000000000009eb87ebd13e1433b00000000000000000000000000000000000000000000000000000000000000000000000000000000785221bc96f28b3c95752a3da296273b5c59d6b8da9a643cf219203d125ebf3b8f02823bb63e7d3c1ab6f63c06b72a3cdf09bd3bddf1413ce61db53cf2e2303cd036013c7443ef3bf27f4f3c7808013c97dea33b66cf5f3b4307cd3bedb1c93bd0705b3b501d0a398bba3ebb808a4e3b0000000000000000000000000000000000000000000000000000000000000000de2b6abb2e69efba1e53d33b621beabb997cdcba26fe5cbb076706ba867707bd6459f83a86e384bb3a6d8abbe6924abdad91d53a35eeffba3826e0bbac564bbd6f76893a6542f1bafb5734bc13f231bd0feb983aa99a72ba26b70bbc6404e8bc79b757b9fba812ba917116bc96d1fdbb00000000000000000000000000000000000000000000000000000000000000007cd46ebe2165fd3cf843473ad0ba6abbb42b5bbe10e9873ccbf569bb3cc2a73af9b348be3fe7c53bea11cbbb96f7413b864921be2fef9039519a04bcf3f5f53a3a00cebd49748ebb1779fabb3746483b43cd4fbd4bcf0fbc75e8e9bb2997703b4f2b89bb22f8e1bbcfa2d3bb5d1c8b3b0000000000000000000000000000000000000000000000000000803f00000000a1f4c43cc61dfcbd5f7aaf3f708f1bbe66438c3c873b3ebd4a03903fec3ddcbd9fdc743cb33561bcc7de703f9f06bebd6aba8a3ce34a603cf99d313f265d88bd8bdb3d3c96f5043d71a7df3e399c0cbd22c50a3ca89f0d3dfd98593eb43dd5ba1a26bb3bbc19e23cdfc8adbbddea9c3c0000000000000000000000000000000000000000000000000000000000000000c509db3c758a16bb0000000000000000fc9c603ce5f18d3b0000000000000000a123333c9942403b000000000000000038bd533c8886623b000000000000000041b0cf3b23c8693b0000000000000000b985633a2328a23a0000000000000000095cd13a2989cdb90000000000000000000000000000000000000000000000001afd32bcba7a323ca214833c0541a2396cec49bc79ed7f3c4a45023d9f32e93a1513acbbe593a33cff801c3d90de433cf458483b8a41a23ca373093d06a2503c28d5c93b663a733c7c47cd3caa843a3c43cfcb3b18e1203c75ee873cb619403cfa98fd3bdc25c93b0999bc3b679a083cdd9da93b9901f03a389c16bbac23c53bad6531b9d049a539f5d513bc086ec8ba6b446cbba7acd3bac26f5d3cbfe3e63be1801abbeade85bbaf5a503ca5fff8bb49f100bb1ac3e6bb5384503cc7b71fbdd2a095ba621cd7bb472c8b3bb6354abd9ca0b73aa44086bbd5224dbb18244fbdc44e9eb813766bbb1ba582bb038633bd08b31c39862158bb777608bc1f51f2bcd6ae6b39bfe4f2ba677cf5bbd8604ebc333d073ab4c28ab93ff5f8bb1f634e3c6f20febd7f49a73c3157183a760331bb1a543bbea8f2923c787db6bb2d9f213b3ee364be8750903b17e45cbbf1cb543b3fec55be0e016cba1647ebbb2d73913b1ea328bee9ecc7bb8c7123bcea08a03b3323eebdd7312bbcb6a229bc8696b33b624b75bddd191bbca8e316bcc0b39e3b071e84bc497931bcf0dc8cbbb477973bc5d69d3c17cc28bad7d9efbac15de23af164443d422e7cbe7fb1ae3f31abc0bb03eb293dbf8f34be2b649b3f43e5463cb1ba0b3daf660dbec558923f861887bcf30af13c4784b5bd55f3713f03ec83bcd1c3d53cd96941bdaaa1353f6f9b3dbccd4a9f3c7ab96abcda6deb3e74b2823bd3a7823c1f86b43bc5e8623e643a8b3c47b3923bc9667f3c65c13a3d4ebde73c2023b03be3c4a7bada41ecbd30979a3c763e94bb5a97253b000000000000000017c6bfbb6728b83b0000000000000000c4b681bb09e8f73b0000000000000000b4723bbbd9860a3c00000000000000000e555dbb4b79e43b0000000000000000d65c76bbfe6fc53b000000000000000007ec8cbb8627993b0000000000000000b46333bcc2c7ca3a000000000000000055a90abba0fa01bb0000000000000000a80f14bc1d15903bf3b9f43bfbb7403bae24ebbb533d743cab51b93c280a193c90bd36bbe06fb23cd163e33caf43803c1ebc9f3b60db9c3ce9b6c83cd6be843cf7f0eb3b8e3f873c667f903c1cb46a3c7059033cac3d4a3c63d8493c33db463c0bb5033c97df013c0f4a5e3be927e23b0bf3623bb660a13b82b430bbd5fa103b6b19333bd80c403ac1fdf7bb70a4bbba85c691bb3ee6eaba893b883cb737a5bbec1aefba1d9ed8bb75278b3c7ea2b4bcad2095ba9618eabb2c80793c548b2fbd10fdbc393f0bc6bb7e9f0b3ce4185dbd7b40e23a873ef6bbab21043bbacc57bd6fd44f3b643c97bb379ed1ba3fc82ebd70559b3ad564a5bb6550c5bb1dccecbc1a52793ae27b31bb4482bbbbc79e19bc9c7a8a3a60f5e0ba5149b1bbc799dc3bd4528ebd596c0f3b2998e8b8fe61033b3e1126becb7336bcedae97b9a634823b3a8449be69d395bc08f420bb53d06d3bd99a41be9cc0a0bc6c58c4bb90b68d3b1a621dbe19a9aabc0d4707bc540bda3bb36ceabd06e791bc080e38bcaeefb03b3f4b77bda41839bcd00ee9bb03fcce3b42dba3bc13dda7bbff6aa7bbd4729a3badab063c5754203be45cc2ba46b6863a8d42463dd3926dbea4138f3ff04d653e7328473d1b6063bec465923f67cd343e64df263d68f634be0f10873f5ff9033ee0d70c3d0a5a04be565a643f675ab73db9a8f13c6d35a5bd9df72d3f70ff7e3d6846c73c44cd43bd42ede73e0265463dfdc2983c3f8caabca160693ef1b3063d1fd3333c935a18bc1eb6593de96a9b3c7fd1b93b57a429bc862b74bde46913baf34357bdc15a583c000000000000000050ba50bd1285893c000000000000000099c118bd4df16e3c0000000000000000b110e4bc83e3853c00000000000000007a189cbc82691c3c0000000000000000f52c83bcc4732b3c0000000000000000497722bccf66a53b0000000000000000691a07bca58a1c3b00000000000000000742efba72bbfe3800000000000000008ed51fbb349d483b8eb3453bc041123c984ec8bbc610403c335e9a3c60e27d3c0a08e2bae6a1953cdefec73c60849f3c45377d3b93ec953c91efac3cdce5a03c729ee83b5fd3723ce7fa933c1c997a3c1714163c9243443c9e160e3c6982393cfd4be73b2a8e063c50f1313b8312f73b6ff4de3b4d869a3b5b0382bb84dad53a66b3563b5eeb2a3ae75bedbb38f6f2ba7edfb3bb7fbf9ebbe5598f3c7cdb90bc94bb97bb5126bbbb11d2a43c55c2c2bc948f463a45530cbc8f1e9b3cc82c33bd38da07386414ccbb9ad34e3c8e795abd398e183bde2794bb29d1023c522c56bd8ecc5c3b3fcec8bbae97273b57d737bd55776c3a24d655bbf29834bbdd63f7bc38ca1d3b313e98bb22a0a0bb18ec5abc9ab575babd9507bb95068abb2519cf3b5d2552bd1ccab0bca8d98c3bf2039b3b369605be44f038bd0472c93b2b5aab3b52932ebe736a5abd5105a03a8d19b53ba5d728be719a49bd249d90bbe6cdf93bcf1e15be2e7710bde26210bcec1ec33b227cd1bddb00d7bcdd6033bc8359c83b9f4474bd1f4077bca60cf5bbee54b13b7301adbcaad001bb4fd6c2bbc984463b0103d03bfa71013cde6cecb90392ec3a5c11263dadfb5fbe9e56713f5600e93ea6e6383d2c085dbe841c743f2518d03eb4f6133dd68e37be9798673ffcd8a53e8605013d161208be0937473f056b713ee6a3e13c784fcabddd531e3fde7c213e8798aa3c5dcd82bd6194d83e504ac93d6f898e3ccd7602bd7381683e192f473d9988443cb483a4bc2fd3873d60371f3c0972103c52c4b7bc2a122ebdd1fdd9bc9340e2bd7181c73c00000000000000006acee0bd09d2e93c0000000000000000406cafbd81bccf3c00000000000000006d3d79bda00d9c3c00000000000000004b093abdd179933c0000000000000000de30debc7950643c0000000000000000f54973bcbf00cc3b000000000000000088da5dbb23883d3b00000000000000008cc62c3be16a493a0000000000000000326799bb0788a3ba47708d3b5ac5433c1fa936bbc8f4f63b7b88773c38689c3c836a50bb4f735a3c1e3fb83c0933c33c9328723bad1c9a3c66f0a03c0770a53cffdbc23b9d2c3e3c19753e3c3c45723ce755023c53683a3ce7dd1b3cc01c593ce7390b3ca641be3bd37c323b9795d53b7bc9d23b790f533b52ad08bbe9bffd3a0c00f53a6aae013a55aae7bbadd301bb6f72bfbb78eda1bb13199e3c18d876bc224aa0ba495907bc6b9d873c0371b3bc19ea453a0580fdbb9f00933c0fa516bd76071d3bc637b3bbff944f3c6d7240bdb951fa3a707f76bb821bf63b0a644cbd5993f73a8dc68dbbbe357d3bc4c82bbd93e0b53a2328a4bb9476083a1fd8f6bca314a2b84dd041bb64a2adba64dd78bc2144303a22935abbf099e0bac7f5403b1862ddbcaf7e4abd59fe383c9942a93b3de2cabdf7b8afbd19604d3cde29f83b7a930abeb7b1c4bd12dc0d3c2d43f23b0fa913bea143a5bd71ae043b56df713b8878e4bd66f671bd7360a0bb20d5bc3b975fc5bdab781fbd4f0bfcbb7caf943beb8758bd0c238cbc9a6fd3bb9f67573b5c1daebcdf9c98ba3efba3bb449ad93afa5c703b4b92483cd35716b9d743e53a9293033df0e033bebd12323f9e0e363f960a113d379531be961c393f550f273f3619fe3cf00e19bec7fd323f7d3d0b3f155ddf3cb146fcbdd7df213f8897d03ea0ebaf3ce1a7a0bd53fefe3e718b8c3efa2b973ced2d86bd1ea7be3e86cf203e1078863c2e3f19bd86c0573e1181863d63ec313c9fd0c6bc6a1b9e3deb7704bb61a9013c5b97cfbc0a56cabc695053bdbf3a2cbedf13163d0000000000000000fb3929bef4071e3d00000000000000001d620cbeb775043d00000000000000009f5ed1bde95fef3c0000000000000000767e86bd7da2a13c00000000000000007a2726bde10a913c000000000000000068348ebc4e65133c0000000000000000205379ba40bd8a3b00000000000000002676ce3bb0a0073b000000000000000031d203bbfc4d98bbeacd353bcc99773ca6b591bb73c4413bcb3d6a3c96dac83ced5900bb58c8333ccb03ac3c9815ed3c77078d3a61b3583c8805953ccef5c43c63459d3b2dc5623c6db4773c62ff9b3c2753d33b1a632d3c6fddf23b6b73683cf153ea3b6275e43bb79f2b3bf997083c27caac3b86708c3bc86724bb75a60b3abce96f3b3762313a2f1cd6bbb9bbaeba578577bb99fec1bb74b65f3c791d4cbc47fcfc39000723bc57d76d3c15dc8cbcbb4be33a379213bcba65533cfbe4dbbc25c5503be366e6bb867a483c579320bd86b47a3bfdccabbba07de23bf64529bd0e92443bcd35b2bb641ed43b38c117bd53bbbc3a261ab5bb6d1b333ab095e7bcac241c3b0375babb7d78bfba4b2e50bc91a687ba0d2f95bbe68b1ebae9fa88bae6fcefbb8f5c98bd64e4533ccc89213ceac985bd2f0c03bed355b63ce326d53b27b1dbbd0e4b0dbe24de883c511bb03be118e5bda68ff3bda31dca3b95e2f23b486cd5bdb725b7bd4b1b9b3ac8d7383b519dabbdfa915abdf397b8bb17765e3bd8f75bbd6c3eb2bce932fcbb136f853b2663afbc27f01abaa70250bb6037503a8b2d743b9262783ca4cf5d3add85b63a197ea83c7299f1bde482e13ec779733f6722d53c419bf9bdc94df33e64ee643f581da93cbaa7dcbd4e55f63ed181433fc306863c24cab1bd2416e63eb7c2153f44187a3cceda8cbd66fec73eac9ecc3e8a4b393ca5ce55bd92a0993ea8b36b3e6866423ce52b16bd34dc423e7469b43d43d3073c76f4d1bc7d47a43dfc40f4bbe017993b57c7a6bc03c4e8bb4be195bd3df955be9960273d0000000000000000d90b5cbe4c784e3d0000000000000000a3e837beb358283d00000000000000001a240bbed01e113d0000000000000000ceefbfbd15e9db3c0000000000000000d49e4cbd94e7933c000000000000000021c984bcede0463c0000000000000000dcbf7b3b3035a73b00000000000000002d981e3c16097a3b00000000000000003c974bbbbd95acbb3c12f839129b8a3cc283b0bb15f1c43a78dc513c7942ea3c52049ebbaea1be3b45cda53cafd0063d103f5dba9cdc303c107fa03c5d2de23c043a943b53fa0b3ca1047b3c8ff3a43cd3d5ac3b40b1fe3bb170313c28aa4f3c897f9c3b00079d3b8689a93b8588003c5e18973b6324843bb1273fba29af003bf6543f3b2d8449baeddeb2bb31aef2ba89fba8bb057de5bbe424263cfda8dbbb49e67339f6a71dbcfe3c323c702ff5bb4157363b966511bc880d203c89e74dbcba45693b8e36adbb295df13ba8cec8bc1dbd3b3b63164abb1cb06a3b292ef1bcefac6c3b614991bba8a7a33b148eecbc5bc6633a4f044ebbf032fb3afc13b3bc8cbc27b979cb8abb85c8ba39e5196cbc18d286388ada7bbbe0a0303850ee34baeb672b3ca0abb7bd97d2d63cc616933b267e1abd583828be07f1ed3c2d10dd3b738397bd6c863abe44e6c73cd66ed13b24e0acbd333b21be65ba4b3c34148b3ba11ca3bd4dc9f0bd7e38af3baaef2c3bd3f48cbd721997bdf3caa1ba5ac5223bc12434bd031603bdb63c85bb51da5338162bb2bcdc246abaf64a3ebb3d501a3aa11a623b84b28b3c25a76cb96ec871ba333b163c72fa70bd523e563eb444903f1405143c3afb7bbd0a0e723eb5008d3f555a013c73686cbd5b50863e1773753f3f2ed03b584247bdbf5e893efd24403f9b22033c1f9e1dbda7027d3e1f3b073f936ba23b12ef12bd58615c3ef1fc9c3e41d4ea3bfc32debcfe7c1a3e9bacf53d6e1ea43bcacba1bc6d1c9c3ddbd004bc4047553b3b2692bcda97ce3bd192b2bd063268be43d1493d000000000000000056da71bec51d543d000000000000000094384fbeb2142e3d0000000000000000fefe21bec06f0e3d00000000000000001c67dfbde1dad63c0000000000000000b6786ebd510f963c0000000000000000ecae93bcf7de0b3c000000000000000054a6f13bd02c533b00000000000000000725a33cfdf78a3a00000000000000001c3888bb7f22dcbb16e88c3ba0f8b13ca28ea7bb7f5b44bb73e03c3cef540b3dc19cddbbd3884c3be28bbb3ce024163deb8b38bbbc34d83b0f62bb3c345df63c29a1b7bafebb133ca93d803c324bb83ccbfbe639fa510f3c54585b3c4723783c2e0f7f3b2abe553bef47bb3b378ff33b0c635b3ba8ea393b0bcfc73a851b9a3a946f143a0c6ffbb91614ccbbb77755bb987c59bb670006bc8a54783bb863043ce33847bb3a032bbc878f853bf7ca683b10a1473b784df8bb0626ae3b3ccb33bb91ea983b6f3494bb695e943bb3612dbc8a56733b422aaaba2bdc9e3b15f093bc6346c73a4362babab6cc223bd2ee9dbc2845223b39481cbb2d5ad63ae63389bcabe71b3a840ad0bae3e4b63ac49245bc266af2baf80e43bb59d1423a8f0919bb07717e3cda250dbe14d2133dccaa4f3b759251bcc59c40bed2fb343d4b04a23805bb45bddaff5ebebe3ceb3c4c5c3a3bf53682bd2f3745be62d99b3c07df473aa18579bdb8b115be7b080a3ccdbad7ba1d5d64bd33f5c3bd01dfc739148d033947d415bdc24630bdc7cb81bb8617bdba4ae095bcb24bd7bb73bfb4bb6da484ba2a27d63bec14db3cd73dc13aae3180bb291f16bb4a5becbb90e27ebc9abcae3f770c843ad09282bc1373603d3e01993f35851fbbcc4c84bc8005a93d9ebb8b3f6b2bb2b93e3989bc9747eb3d11325f3fca3647393d6160bc027e023ed00e203f20c7fc3ae85f92bc2e24003ea87ec33e16762a3b8e595ebc1243d03ddbdd243eeda2243b778359bc2b33803d237e103c5219e83a8313d4bbf166dd3b628a06be17be75be32f84d3d000000000000000052cf50be6e763e3d0000000000000000e16e3dbe489e133d0000000000000000d86917befac4fd3c0000000000000000f6f6d2bd3961bf3c00000000000000003a4b68bd153e843c0000000000000000ffc774bc6a50bc3b0000000000000000ef8e8d3c44a425bb0000000000000000daf8f33cf0f346b9000000000000000000000000000000000000000000000000b64c04bc1040f4badf6d933cb4d71f3df0e5b6bb72df6d3bdae0a23c37bf093dfb55aabaa6a4ff3b960da93ca699e03cfb5154bbb710f33be6bc953cdd679d3ceafcd7b9ea94a03bff444d3c75ea523cbc33173b0a38a53bbcdcd33b6d64d63b7974ed3af0748a3987e867ba476027b90000000000000000000000000000000000000000000000000000000000000000388f0b3b94240ebcdaaadab72289733cc2fdfc3af0af56bb46e5a23a8b1dda3b02e16b3b34e5013aa410ebb968e58dbbd41f9c3b84f09dbaf409e7baae5d09bc8626503b5f580c3baaacb038e8bf09bcba6779b945bf013a9e48e3badb4d44bc06677fba47d3b2b8d104abba21e3c1bb0000000000000000000000000000000000000000000000000000000000000000ad264ebcb8e56dbee018113dd247e03ac82e17bd058c57bef9c3ae3c7698dcba28b559bd891c47be0b200a3ce1780dba15394cbd1e3519be2d1c663bb8712dbb7c0d30bd2bf0cabd09b310bb521ecabbf936eebccee348bd6dc365bb68db63bb44abe5bb3aab4fba42496bbbb7c485bb000000000000000000000000000000000000000000000000000000000000803f655215bc609aaf3c0789e8bd6babae3f0c520bbc7e5a413c46f3f5bc05368e3f4d81ecbb619e343cc1511a3c101a6c3f314f55bbb79f093cd4d70e3d80c62c3f64407ebbbb2d0b3cd3f74a3d05c7d73eb47fc8b91ba9cf3befeb493db45c4b3ea356f23a5917403b2a29e93c7c783fbc0000000000000000000000000000000000000000000000000000000000000000d0aa23befde5e43c0000000000000000a076e6bd4825a93c0000000000000000f6d8c3bd9c5a983c00000000000000002a9b92bd59ed7d3c0000000000000000fa1a1cbdb6393f3c0000000000000000858aeabb88569f3b00000000000000007a55893c7fd1fcb900000000000000000000000000000000000000000000000000000000000000000000000000000000207c63bb91f3f33cdef9f23cf3886bbcc151103c37beef3c79d0e03c790f84bc4d0d863cd7c2dc3c0fd5a03c80df11bcd3d5a13cdd79a53c4b2d703c206e02bce635953c53e32f3c5f9e0a3c7d9b7bbbce3a513c4051823b57a3cc3b86405ebbfa33af3b316528bb91c9ea3aa2d778ba0000000000000000000000000000000000000000000000000000000000000000c19294ba4b7321bb095a113c3f3e53bdb728193abf3299ba18cfd2bbf8c1aebd6772d1bab097463b1149c2bc9d9bcebdfba01eb93556e43a68bc09bdc880c1bd4b8db0391a5d0f3a40130ebd749391bd82d204ba6fd0403b6422e8bcdc4631bd7def06baa027d43aa63882bcc9140dbc0000000000000000000000000000000000000000000000000000000000000000d93748be0298783d446840bb795fe1ba2e2028be225f753d7a911cbcd53cc7b8652206beb2b6393d2b2b2dbc9d70f3ba9926bcbddd86143d172530bc74fc4ab949a059bdfd9cb93cdef026bc47fd843ae36fb8bce5fd8e3b5808b2bbc173503a6edd633bf80299bb7a9f51bbe8a4023b0000000000000000000000000000000000000000000000000000803f00000000f984763c69bdbdbdf437b23fcb065dbe90f4913a8fa4de3c9f7b903fb02d57be20417b377cc0ca3d5676683f987954be10e8c13b3e11053e3580253f641939be443b043c23ec053ec063c73e812f02be3d47363c0451cf3d599d303e7da562bda308543c7707363dbbbcb9bc7102903b00000000000000000000000000000000000000000000000000000000000000007697df3c19b2b1ba00000000000000000c81e33ccd33373b00000000000000003fc3f23ce8bd993b0000000000000000cdd7023d2901093b0000000000000000aa7dea3c4d84ed3a000000000000000061bc883c0b71e5b900000000000000004df5783b8b984fba000000000000000000000000000000000000000000000000fa0e30bc385d563c76f77e3ce946e5bb76fa08bc5270de3c1d43bc3c490461bc18a5583b783f193daf71d93c5ade49bcd082423cb6960c3d8ad1b73c316b3ebc928f873cd1e1d03ca3a5783c5fb7e4bb25618c3c9d1b8b3c36a2403c54a8d3bba62e3f3ce26d033cae8fbf3b02e432bb2f100c3ca8c3093a3adc633b6b09f1b817055bb9db8a62bb4beb31bb135405baadd751baf86724bb46f5983cd75eadbb0634453a9c1426b9a423843cb6a02abd912801bac6678fba78b6943be564b0bd2c63c7ba7219b43aa8460abc0182cfbd2ec08d3866f48b3a1326b6bc364bc3bd137d7a3abf74f83a71edd8bc0ef89cbd85ff5cba592f9f3aed66b5bca64137bd8b91d9b9b0330e3a5a7896bc96057ebc396c19ba96ccf63a84d87fbb1c5e7b3cc0aeecbd9579b43c2e65ea3bd658adbbd7161fbe3e98313d60ac5cbbea187fbb369f35beeef93b3d40b559bb822743bbf03e15becc1b303d713413bcacb1ecb90e87d2bde951063d10161fbcb81a14ba2a5085bd6e47963c8ce422bc40f85a3a138eedbc86d0ac3bf6fcd3bb4a1d443bb0fbe4bb5bdcd6bbfbcd1ab8ce20aa3a880a5b3ca5c9c9bb5e7d1aba08e3943ae9474a3d344a82be5b34b03f3ef62ebc19c0073de5f624becd5fa03f7c6778bd18bd563c6ed09abdc3d7953f2ca802bec6fc013c82a94fb99126743ffc8d1fbec81c4f3b7f8c873dce45323feda519bebfaf413b7967aa3d4b32e13eff71e1bdf4ca0b3cb09f8f3dc0c74c3e979667bd36f5133cd7502a3df02c143dbba1b0ba06d33b3c8b145bbc3c42d5bd1424ad3cab7159bc0fab5f3b0000000000000000ffd6a6ba41ff853b0000000000000000dc1bf53b9b8fee3b0000000000000000430c9e3c5399903b000000000000000059bec53c1f37303b000000000000000098f3bd3c5205543b0000000000000000d21d873cab08ccb70000000000000000880b48bb583a063b0000000000000000096f053b43f75abb0000000000000000461b32bc0e7f213cf3fa093c6a04efba10e113bcb4caf83c8d429d3caa92c6bbafac1eba029d1b3d337cbe3c7a7903bc7a1f123c2dc8153d6591ae3c08cc07bc75546c3c6e5fe23c0f78573c5e47f9bb4afd673cca98ac3c02ba1e3c78a6a7bbf8132f3c10be163cbba3b03b59908cbb738cf93b4b2efb3a83be6039894389ba6c6b31b92f1cf4ba03fc46bbe1788fb9e837acbad7dedebab79d903c0e39a9bb56129cbaa338cfba3e43963c90873ebd0801a8bab75994bae0d3373c9410a4bdbe63373a3d7e8c39e13a70bb9f8bc5bdd722b538b2ab0a3b520978bc4dcab8bdf5529bb8613d203bd3b9a9bc59bc96bd6889e63aa44c8d3ae6bb9cbc9bf82cbdb1bd2b3a28cf0c399a057dbc960850bc3e5ee239190fbf395b2254bb22a6543cabac8bbdf41271ba7f9d413c0e33cabbea1a15bef657723c212a043ca69badbb3c5a2bbe4432b43ce4fad03b3ab5a0bb1e9a14be2866cd3c20f837bbd7bc8ebbcdfadabdbf47c53cc18bc7bb21a95ebad4b191bd1bd98c3ce2d0f8bbce029cba7f300bbde2a2e73b730fb4bb06b601ba0151dabb751c84ba89a978bbf763283bb936163c040b49bbbee7e3bab3bc013bb2a2553d730e80beca90913fd1ab653ecfa8293d9a7d57be945a973f21bbeb3da5d5c33caf6b08be7fca8d3f2267a43c1af7613c0f156dbd960f703f9c0b68bdf1ad053c3260413c32a0333fe793b1bd18e2b53b89cb163d0935f03eb0bbb7bd2502173cf8262b3dc20c703e35bf79bd945a143c2795c43c65ba4c3d04b7d5bce69a063cc67553bc2c1e71bd173793bb70ff8fbd19ed563c000000000000000076f872bda8ff723c000000000000000075801cbdb320583c0000000000000000a6d03bbca1902c3c0000000000000000a2a0c5393459ec3b00000000000000000c90663c04e4883b00000000000000005155813c66231f3a00000000000000000c79383cf8beafba0000000000000000dacbef3b8cde9abb0000000000000000d33809bc7a4d073c730c033c4265673b9ff333bcdb29ed3c42c29a3cdd3fd1ba560d14bb28261c3d47f5b83c03058dbb3454943b29931d3d6a229a3c11fd8ebb63c4203c3c9b033d46266d3c8fa2d4bbe1a5523c9011b03c14150f3c03b0bdbb4874433ca8bc263ccf1e953bfbf498bb34d5c13b6a59383bae5fa7b928f5a9badc07583a940213bb36498ebb96b018bbe81143bb402983bb0378863c91cd1ebc7dad06bbf07b66bb1f149f3c04691dbd1127c3bac8a648ba0b2d693c28fe9abdb2ac19bb6df7a73a04dc8e3b4d16b9bd05987e397a30fd3a01ce01bc967fb5bdff610039cd35f23acec36cbcd8e68fbdd19c4f3af10af03aca5686bca5912bbd48216c3a0cc0093add8a3fbc5a4243bc041d593a8a11b739812984bb3fe76a3c530f65bdee2ee0bc5b1ca83c6bc9b6bb69f006beaf567cbc0382a63c53f0f2bb923b1fbe1b75b8bba1ca613ccbb3d9bb6ef50dbe04ed663b37b7913bee638ebb5c85dfbdde97633c238e34bbda2267bb1ec891bd61cf2a3c1c499abb2d330dba8d4f14bd63f9c93be1d5debba535153a97cf10bc92019e3a06e295bbfc26a63a0a8e113c9e778d3a2bd809bb6b7bd53ad8ae3d3d542072be47db733f7429ee3e3e89293d00ee5cbea1a1813f822caf3eb786c43ca91f1ebe4ad17d3f67954c3ef1075d3cf3beaebd1c325d3ff56b993dc0e3c93b5cf0debcbbb9303f4d0f8bbcaaeb633be2de5f3cb99ded3ea62048bd967e863b3222bd3c510c7a3ee5c655bd5825073c7ec5453c8eb7913da5751bbde581203cb674a2bcde723bbdb16a06bd68d606be59ded23c0000000000000000b491febd2144e73c0000000000000000f5bfb8bd80fdc63c000000000000000066eb49bd248d863c00000000000000006f94aabc8285413c0000000000000000bcc545b94811d13b00000000000000003fb6783c9de9e83a0000000000000000a048853caf6680bb00000000000000004c8cae3ce734e8bb0000000000000000efed09bc5648d93bf9b9013c5e0ba03bb96716bcc6ced63c616ba33c6cca3f3b14e498bb71a01f3d9fc0c33c2caec3b968f9f03a78cc263d2ff9ac3ca65182bb6f95003cf2cf053d3672413c38eb84bb44fc053c2bb6de3c62d9183c44d7c4bba7d50a3c1512573cf091613be4a226bb5c60d03b09fb993b9b588cbaf34569bbe157123b82f03cbb196e9bbb6bbee3baf27501bb297eadbbea178a3c3cfee3bb51ee2bbb5acc6fbb94a58f3c740607bdeecb64bb6be28bbac854683c945283bd73cad4b78bf0123ac2eff13b9750a9bde99095ba1d7e6e3b3053d0bbecc3a2bd19c9ec3a4a40133b149a11bccd388bbd868c323900960b3be4ec48bca49d25bdbe4bce3a0907a83a3f9239bc6ebf55bc660e073ba1512abae72238bb0ef8443cc2781fbd1fd55abdbe22ee3c3d75e0bbd4ececbdf2ea55bd242f083d2b192ebc4e4416beab401fbd3247da3c796519bc82b00dbebc089cbccf2b493ca72a06bcf992cbbd6b4102bcbffbde3b4f82d7bb74f697bd2b28af3b856b8abb33616fbb84400cbd5c315a3a19a298bb73cb3bba09d90fbc42139c3bb1efadbb4630a8b98ba8273c80cc493b7b03aabb78b8f83a37d5173d26c549be17cf353ff686383f961f043d78313ebec0784b3f08e7183fb7ae923ca30e0ebe0570503f7566d83ea064fd3b85e6c1bd12c3423f2a4b733e4746603b45dbc7bc2ae1183f875be83d5fd8ffb9762f20bc8102e73e8c4d0f3be6c8313bbf99443ca086783e3bbc0fbd0692953b54d2143c156ba93d794852bde58f0c3cbb19a7bc022d05bd62fa5fbdadda43be5195203d0000000000000000bac446be35ad363d00000000000000002be91ebe20301b3d00000000000000000523ccbdcd60ec3c0000000000000000664d88bd0a009f3c0000000000000000aa697abc43c9333c00000000000000001c8b103cdece073b0000000000000000bf71c13cb473b2bb00000000000000005144013db5f106bc00000000000000000fb10abc8b15963b877e073ca749253c4ec121bcad08b73c224caa3c64e20e3cf153d7bbd6b20d3d568bdd3cc4f44e3b52ced4bae9c62b3dfbd3b23c79a228397dce593b0343153d1e1b893c493c78bb4009b73b3b98d93c518c1b3c91aa86bbb7e7bd3bb3737b3ce1668d3b49fe92bbb462b43ba56f9c3bf2a8a8ba76ca6ebb3c50f83ab4e73ebb8b24a9bbe62623bb96c0abbb521f55bb4b92563cc10a74bb749d9dbb9efba1bb69a5713c46c1a3bc74346ebb03c3e8ba708d533cf39a3cbd5ed32abbc7135a3aba18013ce7748cbde0db81ba5d846c3ba629bf3ab1a497bd40bc2d39a4975e3bd07981bbdb3c76bd1d7fa13a48c4f53a37a0e3bb1c921ebd8e3b073ba3e5a23a39ce03bca3c85cbc1c6d7d3a43da8ab838c554bb7869453c8c44d1bcffde98bd6c2c0a3d984ef0bb374fcebdaba2b9bd6bad423db80a4abc0c6e11be7d5f9abdc944203df57744bcded80bbe524747bd8b56c53c366419bc6f9de0bda3aac9bcf91c533c44f618bca3cd9abde7bf2ebc755ab63a61af82bb545a28bda33c0b3a86bf87bb0185ebba4b0420bc91e93d3bc594a5bb20f892b78fe9303cc760123c4eebb1bbf3e3a93a54e8cf3c09580dbe526ee93ee2a6763fd6e6b63c83aa0dbe363f0c3f605f5a3f8cc2613c3f7af4bd45a01d3f3eff273f02a68a3bcfb4a2bdf4241b3fad30db3e4bbe17ba89d736bdb592093fa2fe693e6ce113bb555787bcd7b9cd3eb051ad3df40f04bb5448153b69a6753e260b21bc93ce5e3b2716233b4968bb3d0f5657bda904ab3b09815dbc58aeacbc5f939dbd70746ebeb30e3d3d00000000000000002fce81beef4f6f3d0000000000000000fc3958be2998493d00000000000000001afb1abe79f0133d0000000000000000ca8ec4bda9e1d53c0000000000000000ae9c17bdefc3433c0000000000000000d950863b0dde1a3b0000000000000000226ed93c132beebb0000000000000000ee29133d0d822abc00000000000000006425c2bbb646023b8d4da73b7a4b603c671f1bbc52048f3cdd7cab3c15a3873c7a2f05bcfa29043d022dfd3c833e2e3c805a73bb47d6193d3f67d23cb66c603bbfd58bb835d7143d3da9853c6bb488372b66283b9111e53c26bb503c31a656bb90cb9f3bbeaf763c0673893bcdf137bbe5f3903bc1aab33b8fc515baef06f4ba88a4173b4a0e0dbbecffb6bb71bd30bb0887bebbec92c4bb83c2c63bfc40853b365d05bccbc59ebb0924323ce065f0bb3abe11bc342004bbfaf3533c23bf03bdcef373bbec17d63ac6811a3ca46e4bbd6d0310bb40b5143b618e1f3b6af96fbd46ae9eb90399913b00569139cce560bde64d2aba7085683b7d0a83bb843b0dbdc54aa73abbfa5f3a5b3d94bb2ef369bcd46d913ad776dc389508ebbaec1fd63b1b7d35bc1a7db5bdd8522c3d05d517bcab6eacbd64a102be6ecf6a3dbd2b5abc359c05be8983efbd9a3a533d552025bc3c3207beffc3aabd4c9f0f3dee6152bc75b1dabd9b4e4ebd63e7a33c7b7e08bc4cd89dbdf44ad1bc3294e33b7b7d02bc5ee923bd5e3a00bc537e96bad2de41bb63973dbce25c5f3b9fabddbb7ca984393f21413c8764173c6b0ab2bbf0288f39101a653c1a7d96bdd4465b3e0bcc923f610a073c499aa4bd1f859d3e128e893f29ac3a3bcd639dbdced9ca3e245e603f43985ebb109065bd81fadd3e14781f3f69bccdbbcdabdcbcb70dce3e4faec53eec40cfbb137385bcc82cab3e82ae383e8c4d3ebb2c6e01bbf368563e5d4e173dd5bb0ebaa1dc8a3bfc39bb3dc42c44bdf37f423ba711edbbd34141bc464fb0bda0c67dbeb4465e3d00000000000000008d3e8fbe38037e3d0000000000000000d53581be89e75c3d000000000000000062e647bef84c3c3d0000000000000000bc060abec988003d00000000000000004fff83bd80e4953c0000000000000000a31120bc6d66753b00000000000000004268cb3c2793f9bb00000000000000003383313d954950bc0000000000000000a83c64bbd6ef3abb7136043cd40ab83c9485e9bb72992c3c8f7dab3c3ad8ba3ca97120bcb1a4df3c93e8003d05cf943c7f49c4bb9297193d4edce93c7c70133c184d3abbcc61123db18fae3c2a840a3be1e08539ed91e03c44b47e3c027a99ba1dab573b5cf3803c243ad53b600fc5ba23d5673b71a3ae3b4e92f63a2f753bbbc3d9113b282290bb2560ccbbc62067bbd2840abc7465e9bbb2fe053bde1e713c81f140bc10caa0bbd09f9d3b8552eb3b009509bc73991dbb909a153c6afe47bcdcc9e9bb2730d93a6a7a073c84c612bdac053fbb14e1803b156abb3b96c23dbdcb8b9fbaefdb9b3b7af3373bd7fe2fbde4525a3a58bf153b9f0770ba7c14fbbc8ac683b97a04833b39c5a1bab49482bcccf84c3aef43ad39825894ba1cd5db3b444f11bc2bd705beec27453ddc810fbc954384bd83831fbe2ac48f3d4a1a8bbc52b3f6bd6e9c1bbe00a3693dea0b5dbc593504be444df0bd6188373d7a615cbcf110e0bdfb5d9bbdd7fde53cee4e40bcccc4a4bd10fd38bd48104b3ca0a814bcba5a36bde3f996bc08f8ef3864a423bb90dd7abce44c14b9f6b39fbb7ff31bbb02dc8d3c65fa833c0db3d4bb438d16b916cb4f3aa1e16bbcf9f7b0bcfe39b13f7a20f5ba9ec7d6bcab36c43dd4939a3f61609dbbac3118bd3dbd4d3e6921863f88cf12bcc598fdbc8f418a3e4fbb493fa4dc59bc668f66bcd550933eb110053fedd64abc05066ebb1d987e3e6a31923e28df20bc0a3d5f3b583f303e8464b83d812bcbbb2d59063ce703ab3d6bccc4bccb48a939fabc463a7e3b57bc88d2fcbdb27f81be3b59513d0000000000000000da7185beca73733d00000000000000004bb580be6de6573d00000000000000002d8058be4ba4403d0000000000000000f2ca22bee3c1113d0000000000000000fcc1b4bd23f2bc3c000000000000000048f1a7bce1a0af3b00000000000000006a58d93c59ec29bc0000000000000000fdc4403df45558bc0000000000000000000000000000000000000000000000001616d2bb920a313c16b4d43cdcaa003d4e77cebbe8bec13c3989f63ca3ff873c9dbc94bb3768073d5165f03c42041b3c6deebcba1dbf0b3d02c1b73c4510503b4e6839baa525d63c7830803ce6a7cabae935283b35a08d3c8898f03b7bec0abbdc980e3b89a6333b37c0713a276262bb00000000000000000000000000000000000000000000000000000000000000005bb522bc32c905bccd141e3aa22c893c6752f9bb9711faba71b89c3b0383a0bb4c2f38bb8853063a2a9a6a3bb91ac3bc61d486bb881c663b0a2e403b6bfb12bda7277eba08429c3bef12dc39d0771abd2d25c5ba60bf843bec78a5ba4dc0f3bc0ba2b3b916d03e3b856fb9b806773cbc00000000000000000000000000000000000000000000000000000000000000004e0d98bd650a49bebfe26f3dbe0af0bb6ff5dbbdb5a923be83ea573dfb9b16bcaaecf6bdd53603be6d00153d3f1e2abc4115d8bddaabbdbd7af8e93ca1f324bc4ef799bd313e57bd2994843cfd481fbcef8d29bd6608c4bc4e5ab33bf120e7bbb4a5cdbba888083ab8153dbb58d956bb000000000000000000000000000000000000000000000000000000000000803fe735c4bbbe5d1c3c8a30a1bd1a72b13fdc2428bcaa4597bbd523833dc9ff8d3f94cf84bcf1b29ab9c82c163eff01613fb07285bc6e19393c9b13353e8b611e3f970b8ebcf73a873cec0c2e3e6a9eb93e35f764bcfffda93cf5d0fa3d673c1b3eb8a4e7bb77c5953cf35b333d021ddcbc0000000000000000000000000000000000000000000000000000000000000000015f55be988a123d0000000000000000554e47bef722033d0000000000000000a6653abec979f83c0000000000000000fd0d1bbe3a6ddc3c0000000000000000c753d2bd1d91a23c000000000000000019de26bd58571d3c000000000000000009693f3c1460f0ba0000000000000000000000000000000000000000000000000000000000000000000000000000000045526a3c6273113d17d5c2bbe9583cbc1430fe3c9d50c33c78de48bc33b5a6bb8a3c283d06ee273cfd0a48bc84dc4e3a3c2f223d342dcbba632d05bcbcc6823b8880073d4dddf5bb733a5fbb204d483b0d709c3ceaf521bc1ba5983ae6eaea3a6db4973bcb77e4bbf5cf353b0e8530ba000000000000000000000000000000000000000000000000000000000000000051cb493bc7b5a93a408d1c3cd5d706bee942943bdc091c3a8575c9bcd0671dbebd474b3b3b0b6b3890f35fbdf48a0fbe071c193a9c81f9b9782798bd4dfad1bd9b32c339080ed939508099bd76795dbde38f343ad598a2ba1e3459bdc5ef71bc17a88abac736753afb8dbfbc38519b3c000000000000000000000000000000000000000000000000000000000000000068a0e2bda828813d79710bbca3fc11bccc8559bd9fb87a3dd825a8bcb71403bc17bd97bc7b0e293d7165bfbcc0af83bb74db683b8f3fc13cca91acbc43f5233912b56f3c8008ff3bf9b884bce78f3b3ac4a9263ca73d44bb54d204bc6cbc6d3b64467f3a4382cebb1ef83b3a86af233b0000000000000000000000000000000000000000000000000000803f00000000271f46bcd8a386bc5542b23f5e827ebe8c7ecabc2661253e78f18a3f6a8694be0fbab6bc36118d3ebaae4a3f1a8a94beb0e16abbd3219c3e6034023f522983be5a87943c0108843efab9853e0e0b41be0500f43cb0cb263ef0269c3dc65cbbbd58fb0d3d9bc3043d499c57bd9ad388bb0000000000000000000000000000000000000000000000000000000000000000b95b093a4d5eab3c000000000000000030a4e53cfea7c43c0000000000000000ae805a3d3a64843c00000000000000002fd4933d755ed03b0000000000000000eb11923d6b1557bb000000000000000085424e3d4c5019bc00000000000000006b368d3c495b2bbc000000000000000000000000000000000000000000000000dabda5bb413fd63ce5f5483aa8c135bcdda40a3cdf79163d81df19bce6171fbc8a4ed43ca115023d2be158bc2054afbb6d7e193d50b88d3c6aed58bc4164633a1385213dbe2cdb39609ae3bbfdf7573b886f013d85cdeebbf12508bb9905883bb541a63cd3811dbc74c0a33a03121d3bd5609e3b2bf198bb7186183bad2eccb89556a8bbd64289bbc25b223b360442ba4d78513a339fd53ab150b43c4e1422bd5bc0853b0910a93ac03f683c412ae0bd9145793bbe84c239a75ec4bbda3a2cbe9ecce73a052c57b96e6c18bdaf9022be284ad1388dd5adb9b71a73bd8e4eecbdcd868eba46669bba03a375bdf0c58bbd51ffefbacc2325ba143743bd0733aabc6aa323bbb0625c3a2657adbc9a9abe3b6d0c47ba779d0b3a474d0c3b85ccf43c9ec5d7bd2d82d13cac3c163c2f9aebbb5429cfbd61db7f3d812963bcde2bdbbb019082bd27276e3d7485aebc4c0ba3bb3768abbce572223dc9a4bdbc0fa90fbb00c1d53b2eb5a83c338cb0bc04dbce3901a6723cae4f093bcd1473bc60cfa53b5804293c4a17a3bbd302bbbbd12b913bbe9d023a9db1c5bb7351fb3abcbd363b23e0bc393a19d7bbc859233b98d9103be5d3053dca337abe8aecb23faf20ae3c412ac33c8ced16be9b78ac3ff72010be82e6d1bc123a813d61b5933f4bac66bebc4525bdd554613e2762583f780985be903314bd6b37943e53850b3f8d727fbe45d496bcf898873ec9ec903efd753dbe11dbef3bce3b323e32fa9c3d1784b4bde4e6913c01da7f3d9ebde8bc5a523abbebb3a63cac703dbd4c21d5bddb6df23c93c05dbd67b07c3c000000000000000033128fbc04bcae3c000000000000000047a0cd3b2bc2c63c00000000000000008ac0423d4c5d6e3c00000000000000002784913de2389e3b0000000000000000a3939d3d3a8df5bb00000000000000001ff9513d32d740bc000000000000000072cc233ce71df6bb00000000000000009fe8023bfb7511bc0000000000000000205fdcbb4c2fb13c86d5be3ad82adbbb433e693b1329253d3d3fd2bb285f32bc9e029a3ca67a213d45832ebcefc9e4bb9504023d7800c53cc3a757bc0650d5ba79860d3da51c1a3c223b21bc9e2a273b6467ff3cdf034abb4eff7dbbb272883b914ba33cd085e6bb6b220cba37f81a3b72abec3ba673d2bb327fe23a66d04e3a45327bbbef5692bb909c603b070a98b8f3d999bad0f2c03a309f923c6d8092bcc7c12d3ba912003b8234953c229ccdbd59d2953bed48d3b93731873b1c9322be88bf813aae9dac3af024bbbca3cb24be5f64c538c1529839c88c39bdff0903bef0938db937de10baed8251bd53a5a9bd3fc025badea301badbd435bdf00bf7bc250ff3ba899c89394dd0c4bc4d79883b415918bb408c703a65251ebb1810e73cb340a9bd99a6f93bb93e5e3cc002f4bbf9f7e5bd51b62c3dd8a9783bd0c340bc313fa9bd53ca413d64d9ccbbd1f12cbcf2e30cbd53011d3d252e8bbc245aa8bb94e588bb9470b53c75e082bc3f371abb63e25a3c28defa3b9c0281bcfa5d6f3a7ead533c107a23bb44611abc9231593b9a43c93b3adeb5bb0a35cfba9ad17c3b2490ccba0b91dbbbfa81d33a0a665b3b88c8453d13e388bedc7e963fd3ac803eb3c7003d61834bbe16e99f3f015fa73d15e470bcfad807bcc7708c3f9dfd3abd27e218bd68910b3eb2cb5f3f86232bbe8f020dbd2020653e68e7153f18033abe58cddcbcbf6e6d3e2856aa3e85b42fbe0b09ac39a72a273ec2b1ee3dcee3d1bda2e9663c4c5d883dbba3a2bc04c0dabc73b88a3c08d0ccbcdabfa5bd4f4d363c4680dbbd8325bd3c00000000000000006c6ad6bd6df7173d0000000000000000c34c8fbdc31c163d000000000000000000bbc4bbc075e13c0000000000000000eb08cb3ca0d9813c0000000000000000c6585c3dbd4f123b0000000000000000e0d53c3dfc239cbb0000000000000000071bcc3c640d46bc000000000000000083142d3c7b842bbc0000000000000000b7a90cbccf33bd3cfabb223b9b30c6bb7308a8ba29d0333dc9e73bbb94ad4ebcdeed483cdaac3d3dadd645bccb9401bc6bc4ce3ccf22003dff3c64bc389827bb84dafc3cf942793cbb2f3abc27a5bb3af162dc3c969f1d3b6826c7bb5f5a673b074ca53c01b4ddbb774c85baa021503bfb90f73bf87cd0bb836a0e3b3c14de38fa4d39bb728bddbbcf707e3b41263dbada023fbbb3c1a93a5f65833c2fae32bcd33daf3a42e8093bc2f2b43c3fa1b2bd5b634f3b23b05b3a8da3383c139919beadae2a3bcf628139dfe723bcd6c526beecf1bc3aa100a4391b97fcbcf5740ebebf5dd139bf5b8aba89c52abd1ba7b5bd02dacbba267be1b906c81dbdc5a124bdaeebe0ba108d3c3a8a05c0bca1a37e3bed5a87bab201043a37fcb8bb4353f33cab7cafbd463b21bc12adbf3cc2fbfabb692afebd9f7ddc3c6e9a923c57e081bc686ac0bd6309263d5dc3973a35684cbc615d3ebd31b2133dfca42dbcc892f6bbccd006bcfed5cf3c273989bcece6a3bbf91f243c2e841f3cbc0471bcaa23c838d3d96f3c49b36ebaed961cbce1107d3b470c843bab4f9ebb17024ebbe8227c3bad75843b5302cbbb3c46e5b9b998563b70b1383db27384bea1e67c3fef11003fa5780a3d18dc5abe66908a3f4706a93e47e8e9bb82db8bbdc6a8843f4ddaf73d62ab07bd58009d3d43ee593f05a61cbd51973fbda3ab383e34dd1d3ff28108beb25310bd9a2a503e073ab83eea0d11be53d55abc1687243ef6d80c3eb658cdbd73d10f3c3c118f3dc72218bce2671bbd27b88c3cf78d97bc779baebd09940abcc3712fbe47e6003d00000000000000000bf941be98a25b3d0000000000000000aa760abee93a4a3d0000000000000000d74681bd2f79163d0000000000000000d48b3dbc698df03c0000000000000000464fe43c9004243c00000000000000007cff263dbef593bb00000000000000005a1ef43c4db53ebc00000000000000000af6b33c85db4bbc000000000000000049c015bc5bc8ac3c29fcd23b3596ddbbc76c65bbe6fa353d9d4e74ba6a3330bc99ffe13b6c2c4c3d243ed8bbaeac41bc6e6cab3cf9b0203d0f6158bcfc8f8abb815cb53c7586c33c283624bce9a10abb81ded43c6a09ed3bc73608bcb76f2b3b6277933cd5010abb664e5cbb058d443b1989f23b3439dfbbd658293b3442fa39d6bcbdba2cef03bc1678023b8f880f3b3918cabb2093303bc423583c1ff235ba9ff1de381acde43a07e6a53c17178ebd20b6443b7953713ac13f953c667f0cbeeaba553be94b243a70d5de384e2223be4062c53ab50b66b783428fbcd0c90bbeb8bc903af3dd3db8384feebc80d0dcbd5e5ca1b9a14bdfb9b0d702bdf1103ebd880688bab181eeb8da7eb1bc1c800d3aa90a18bb37bf9e398cf21abc542bff3c381dadbd61e0bcbc6b53ef3cbd78dbbbaba004becb3aad3bb2c5f33ccbbd8dbc0802edbd4166f53c0aac613c065781bc576786bd3a20093d0a3e6dbbc29c52bcb709efbc842fbc3cdb4e5cbbd1cd04bc0804053c66936e3cc10e7abcc0213dbbeee85a3c7344523a8d8528bca085d63a3241be3b6ceb74bbee5a51bbdcf6353b2c4fda3bd039fcbbbac0fbbabc26943ba0143a3daa456fbe46b8423fa7d13d3f20450c3dfdf853be79b3613fc6a1163f82e6d1bbc244b7bd5d4a663f96b3af3e2eb10cbdc837183d40e84b3fbc39e93db8482fbdff420c3e6d39123f43b0673c203531bd67382f3e4516c73eca6fd2bdb547adbcfd3b183eaded1e3ef3a5b6bd098b753909669a3d94957f3a554642bd5fac893c0843dfbb76efb1bd7cb0c0bcc60e5fbe681b133d0000000000000000e5b186be0a77823d00000000000000009a7d54be53c5763d00000000000000007e1e09bed666623d00000000000000006721a3bd6aaf153d0000000000000000c8f59ebbf7bbb13c0000000000000000d40be03ca0fb213b00000000000000005378003d38ec3cbc00000000000000004a43023dbe2b70bc0000000000000000a36d0cbc64a88f3cf0cb2e3c9088aebb85a4dcbb8c22363de1cc9f3b0bfb4cbcfbae803aa04e653d842c40bb691a62bc36654c3cb6d1393d60031bbc77440cbc2a16a93c7e4c003dc4fd4fbc7b65fcbac65aad3c7cfa433c6d32dcbbbb36aa3ab9da823c8309083bafaeaebb794b593b7340fb3b02cac9bb12b11c3b50dda53a2f4799ba756d04bcee6b123b57d1213aa2dc74bb402dce39955f2f3cd9700d3c5ddb17bbbfbb193bd5a2a13c72de50bd658ee53a7383da3ad978bb3c9f59f4bd9eed4a3b06efde3a3ac8353ca21a19be3033413b96e2603adb22c9bba72f16bee5c51f3b518385ba9cd083bc6639e3bdc2881ab8067658391981bbbc6fc066bdede1ddba66209039fe8b92bc45ead8bba33697bab0a5c039649705bc12dfe93cea26a1bdbef52ebd6180053dc7f410bc44a110be6c9b5abc6cf52d3dfeeb98bcaef50bbe81d9883c9dbedc3cc5759abc56f1b0bd9413d33c58e0f83b342d81bcb1e419bded5be13cf641abbb94f04bbc0ade9eb9979f303c5b3b33bca3ab7fbb9092663c36fba63af2d526bc803129b972d6053c488169bb49a0babb2dd0813b72f01c3cfebdd2bb21b022bbf7e95b3b28bc1b3d5a5140be8cee043f87fc773fe2daf63c5b6134be26a7263fd4d6573f012c0bbb0fbed0bd35b83d3f4f5a123f49d7dfbce591a8bb1baf353fe28d963e0a0540bd4ed0b53d97e5153f7e23a83d79e42fbd3d56043e5d49c93ee5d915bd4bc7e6bc29a5043edd95353e9e8999bdb768c4bbc4289a3db6e9733c94fd5bbde5ff3d3cf516273b85cba6bdf9cb26bdbdc778beea9f233d000000000000000049e5a2be8ee68e3d000000000000000070a88dbe2f7d8d3d00000000000000001b8748be8424803d00000000000000001453f4bde950523d000000000000000036841ebdfd26db3c000000000000000026d2533c5349d33b00000000000000001505003d591531bc0000000000000000e8080c3dead34ebc000000000000000015a0e4bba4c0603c319e3c3ce1528dbb40e20cbc4b0c273dabd2483c71ff4bbc595b6cbbb100683dbdaa973b1f1e78bc6ef2d53b07e6563d15cdcbbbdc943cbc8315523c55431b3d01461bbcf0c7a4bb176a863ccedeb73cdb842dbcf67eb938d7b76b3cacf0ba3b8634b8bb0c65143ba3f2d93bdebb5cbb4eb4ac395dea703a6db9ad38131a0bbc77f7483be707383a6025c9bb5a198c3aad86513bcb899c3c7b485abb75bfe03a00dc823cfd62f1bc3d2e94b97fbcb83aed5cc53c43d9bdbd2401533b83b0cc3a76568b3ca3f009be193ef13a61fd793a4c0fc93bccc20cbe84fb163b4fdd4539e24fcabb0ec2eabd7156183add36b638b7307dbc36aa82bda2bb08ba29469e38c1ed65bc6d604abcffb79bba97207139f87c03bc0b89c63ca7ca90bd04f159bd33671e3d20b410bc3ed913be071b24bd1414593d6c87a3bcaa291fbe318a09bc499e2a3d64ed96bc849ce2bd31499c3c1d97943cca3297bcd53576bde19ea73cf7f88e3bce2f46bcf5e088bc1f9f863c84d8ebbbaa5d02bcfa50bf3bbf35c13bafde01bc9d9c1dbb38d0213c222d54bbf815aabb2517243b3b831d3c2599b2bb4e765bbb5b9e763bd9aef63c014bf7bddf31873ea0ff943f6cdcb83c399402be4cb9d03e4f98893f5459f6ba21d5b8bde74c0d3fb4514a3fd87cc3bcda4dd4bce2f9183f10dcf43eeeb02bbdf3b6633d2d17033f25f96e3e53b52fbdbb11c23d1ce9c43e973a3c3d094ff3bc021bdc3d773f3e3ec4ae00bd296324bc1ed08d3d3d46f23c72d65ebd5b66ec3be3f2203c30308ebdcbdc5abd73c883be1d5a363d0000000000000000afcab0be83bc903d00000000000000001cc09fbed61b863d00000000000000006a6081becb1c8d3d000000000000000057a32cbe2be8553d0000000000000000980daebdc5a7213d0000000000000000360ba0bc238e753c00000000000000001f6cd93c801319bc00000000000000003cdc283d232e7dbc0000000000000000af53a5bbb941053c7a12a03c71de013a7ee3f4bb9858163d1e449a3c63c864bcdf44e0bb057f6c3d4cd52a3cb9728fbc5d26653bbd40693d8fa5cabadaa268bcc0662b3c4409303d7b040dbc1b4a13bc75ae463c43a2dd3c2a9824bc58a12dbb1866563cf73d0c3c12afadbb4d31aa3aa255b73b6cb49bbae0e42f39ab02f03ac8ed133ba08036bcbeeb353abc1cf03a490710bc49b247b9aea3a7bad374023d74b961bb2992143a54c1143cb8c41dbc422e58b9428b8c3a9c7eac3c76b38fbd7d85593bc967893ab0939e3c6232edbdfe9fcc3b861dde39ef633f3c0ef107be273e863bc5b9073910e1983bb02cedbd451a043bd6b866b906d5debb4fae8ebdca2b0cb9f1203ab92b1408bc93b087bca88654ba1805af398c041cbce6acb53c9a2394bdac16c1bde967263d706da6bbdc6614be08ab86bdcc018a3d9d26adbc472532be509adabceee7583d0647acbcc1c80cbe20d7c83bd1d6f33c7844a4bcb05e9dbd1d58b63ced671d3ceb8995bc1e68e6bcb0ff993c37316dbb2d9630bc878ffb3ad9faf33b99f71cbceb0661bb4477d33ba78854bba97bdebb8387133b22f1af3c403b8abb847abbbbed70433b91ddaa3c8eed7fbd3af9d73c89efb13ffb375b3c853d85bd0ede273ec894a13f028beb3a688ca7bd5b27c03e83ef7d3ffb119bbc321122bdd799f33e21a9273f1ded1cbd775fbc3c5582ed3e8d47b63edbb432bd90aa893d1b06b73edfaf0b3efb8a0cbd06c7b33d2e7f463e8367d2bb167688bcfb197b3d296b393d8acd59bd2258823b1c35b63c03aa98bd8510bcbdc14b71be2069023d0000000000000000fb53b0be1f8e8a3d00000000000000005598acbe7826883d0000000000000000308894be63b98f3d0000000000000000d10c61be809b853d0000000000000000cf7c04be9e2b443d0000000000000000c3550dbd55d1a93c000000000000000042dde93c9f3b12bc0000000000000000111e373d26eb39bc00000000000000000000000000000000000000000000000053fce9bb1e65fd3ce5d9fb3cee45eabb4b3d01bc4df2553dda349d3cf0748ebca5e67fbbcb34673dea09ed3bba5681bcbaf3493b60243e3d90949abad5b138bce2ab003c8fa5063d40b6cbbb1b950cbc2820133c9a595a3cd57aa1bb30b616bbc488d53b243b2cbb5fca0ebbf979353a00000000000000000000000000000000000000000000000000000000000000000d710ebc5e8fa3ba162bc63bb7f2093c913581bb781a473aae41a93c00da5cbdd9ce76b819c8793abbacca3c60d5c3bdcba42d3bb942903906c7a73c9aa3edbd7611873bb8abb4395cba473c6007e2bd8c406f3beb3a3939ec045a3bfdef91bda46e9c3a0248d8390ba303bcdb61a9bc000000000000000000000000000000000000000000000000000000000000000090671cbe0c9cdcbd4b63663d58d288bb8eac2abe7df453bde2b0683d33c73fbc6f1815be8fa985bc36b5193dce4056bc0088cabdbbc9b93b0afaac3ca9194dbcc57b51bd29df903caa820d3cbf1145bca9d31fbcbdbff73b6e29c0baa85ef3bb7622923caf482b3b74a7e7bbd473dbba000000000000000000000000000000000000000000000000000000000000803feedc483cfa5b3ebdc6bc803cc381b13f52dcabbb48413ebde2765a3ef460893f0243c0bc73bcb7bccfbca93ea29f463f8f6c25bdebacb93c181bb33e226dfb3e979944bd03bb813d4c4e953e4bd37f3e776f27bda9549f3d6f6b303efe428f3d9feb9cbc14ff8c3d28fed03c10965cbd00000000000000000000000000000000000000000000000000000000000000009d2f75be5390903c0000000000000000ad1d88be44dcf23c0000000000000000c8ab81be75760f3d00000000000000008db261be42782b3d000000000000000031ea22be9493203d000000000000000049bb94bd4f4ed33c0000000000000000382242bb3bad023c000000000000000000000000000000000000000000000000000000000000000000000000000000008ae0573a0b06b3b9b8693fbb84c0743bc5c4fe39f21fddb9a2b851ba044d813b1245a93781a57eba669226bad3ca543b9a910aba3757b7ba137bba3a207f673bb5a0d4b83a0b27b89171143ba266693bc9d8a1b8ce6d853a5bd9983bdbd8333b80ef82b76afa5a3af12eaa3be08a773b0000000000000000000000000000000000000000000000000000000000000000c0020f3bba38463a2ec01fbb2c606dbcd807cf3a2cbad939fa48d0ba36d864bc78f1703ad6e776b9a4b5a3badf8854bc5b30a33a997464b6f477abbac5694fbce54a6a3a7d9ef7383806e7b9ec5935bc18e6f73ada2f29ba04b5abb899f228bce9165c3a5849b13909f43ebab9a6d5bb00000000000000000000000000000000000000000000000000000000000000004b0262bdde460cbdc4bd87bbb9bf0bbb418163bdcb8bfabc2c8aa5bb53d92cbb01ed55bd89e3debcf7e7b0bbf01381ba943d42bd9c85b1bc061788bb258be3ba2e002ebddc8d92bc87d274bbbe26eaba84d219bdbc5f3bbc2d4eb5ba20bce0b9827aefbc1058c1bb6be9d4b947c192b90000000000000000000000000000000000000000000000000000803f000000002af7093c771d96bce955883fb72338bccb05033c43328dbbde7e643f9e6d7dbbc9aef03be0ca983bb58f3a3f643532bbf1bfb43ba20b983bdf93113f49b57cbb6ce5903b6045ac3b4559d43e3e1225bc70a8393abd60923a5523873e637e96bc8e9a8abaa79474bb3aa1eb3d0cc4dbbc0000000000000000000000000000000000000000000000000000000000000000bbef433cdd54983a00000000000000001c78163caa0d963a000000000000000026e4003c4727a43a000000000000000057ec6e3b7890ddb80000000000000000c40a7bb9e161003900000000000000002ef5f2ba3e978eb800000000000000004ef18abb17f4f0ba000000000000000000000000000000000000000000000000b082d53a8eb5073b5645a1bb80c37b3a7d61d43aa53a1c3b118eb6ba387aa23bfc27723ab380843a593a31ba5266a33bc989633a0daf223aef8c6139b503993b45259fbaba933c3a7910bd3ad7cd8c3bba972037313b1e3a476f633b5aa1a43bd861bc3a855d9e3a5d6b843bfe91a73bc5ea1a3ace9a083ac0f9bf3b73e2943b8f3e2fb8e053f1393429883b4bd52b3bc029183b0d53ff3a9410daba682930bc3078813bafedc33a11a5a8bac6698abc18564e3b6fe1963a3d7cd9ba661f79bccbfa303b4e49153a43886aba3da368bc8cca043b3a8fa7398a3be4bad7563dbcfd071d3b0476323a44fe4eb8c26c36bc2883f53a4fad043a5d4d9639aa7e04bc3c41bf3ad17b7fb85c9a2c3bfcf696bb40694e3ab3a01db9c81f06b9d5fa65b9a9e9debc31f1f1bc9ecca4bb567554bab1be66bd92422dbd9068e9bb73b0a2baa6cb80bd2f412abd584200bc458916bbebc57ebd5d741cbd7244ffbb9bf931bb2cfb59bd5c3cfcbc1a29c7bb97be06bbdf4c51bdf3a0d6bccc5795bb845aafba66bc2dbd6f3a95bc97ca23bb565f30bb384b02bd97180ebc11d0103b75c53839a0f276bc00f109ba91a8013b993e243a7448ff3b9da54bbd3599873fa7a4ec3df729423cbad340bd37877e3f791cd63dc53a383cc897c5bc01bb573f5968c43dfa11293c814a47bc6d5c303fda2ca43d29560a3c0571a3bbdcb2073f643a763df7f6b83b7e508cbb8e15c73ee63f113dcb2f213bf17abfbba1f57a3ec5f32f3c05b1c9baaf243dbcf674dc3d2c207fbc719716bb15c826bc96db4cbcf23ae8bc7b76d0b85118ad3a00000000000000000bf215ba5447233b00000000000000009be70e3bce332e3b000000000000000089f7223afbf71c3b00000000000000000b02f1bad9b00d3b00000000000000002f75bebbab7b6a3a0000000000000000a5f903bc6d58c5b8000000000000000092ab14bc861441ba00000000000000007701dabb714a85ba0000000000000000f034d73b99d0c939cafc82bb3b3565baebb9c43990640c3b55e74fbb6de4c83a87822c3a058f913a3d6cc0ba60830e3bde758fb9a1051139b7f7d73941b3873b815430b9b7931839b723103a58c9353b7f892db9bd64f73928373d3bdd568a3be3014e3a10041f3bae46ccba1d9faf3b750117b90fb7fc39d564933b4052883b62752b3948ecc53901a9323b2dec263b68ac173b418d7d3ad2f63cba816829bca3a5713b2f18a93a0e2f69361e6e5bbcbf0d413b35ea603a32ae3939e86d2ebc138dfc3abf82953a1a821aba40e52fbc15cc083bd89e89398b104639a4def9bbc60d333b5d29ca39a355223a4af7e9bbd6351c3be77530ba63375abbf59cdfbbe06c053bcf661b38d3743039e0e2bcba3ef9b03ae7846db58222d83980c0b73a097668bc3902c1bc842a04bc1fbdd739f6a71cbd6d8c24bd0ff835bc2be74eb9422031bd58721fbd67ed23bcea7d63badc2f4cbd036c2dbd5c7a0fbc1fcb26bb997d29bd6c5c02bd7656ecbbd344c9baea5930bd764cf7bc6ff6c5bb538675bad655f7bc24939bbcc358f3ba6c0b7d39429ad6bcda8251bc36cd7138931e033a1f613bbc686257bb510f0e3b9a25793a1615043c25414dbd62e9633fbea3853e5718513ccd9459bd1828593f0e03783e75da2e3cfc82f0bc039c343f56e6583e7355303c96edb7bc63261a3fa69a323ed42c0b3ce15147bc1c89ea3e8974083ebd94da3b47c538bc56abaf3e4e96bc3d1de2fd3b8cc854bc392d633ecec23f3d96877a3a709b4bbcad3ed13d500ae13baeb2fdb9a0fd20bcc72c48bbb8fbb0bc43e56abc24b2573b0000000000000000d5ed7bbcfd3bb03b000000000000000075982ebc79aa9a3b00000000000000001ce111bc7bcf983b00000000000000000f2311bc8b50403b000000000000000093b358bcdb6afc3a00000000000000003a1b3bbcacfb203b0000000000000000efe975bcdbbd4d390000000000000000ef9526bce1d62a380000000000000000e013303a01abe43a82a737bb5f2826bbff804f3a39b0d73a1e2653bb4c908ebac813d7b856e7313b28fb17bbe1eb5e3a427045b9afaca539530666ba81d1d03a536a23b9b768e8397e0c8a39c4041f3b917cd4b9f2959239bdbc093b6c5d593bd4d097badbb40cba1ffb703b46dea23b48ec45b8f19aa23972ed453b2e238a3ba958bb37e3e72a38742ede3adfb5253b68f7073bee19a93a80b1f43aaec305bc38c65b3b1a38fd3afd32d03a64af32bcd12a823b9bb2cd39c7ac1e3acd2611bc11de413b0fb6523a719e1c3a46c5fbbb1a36323baa9bc639c054e5394297c6bb8bd5423b06b3493af0a2f0398817a4bb48c0f93a4d23f3b9af0faa3acc14feba4fa5333b5a9002b8636648391ac2ebb934dde83a85b00d39dbbe7e392ecac23ae728f0bb1062a3bca8573fbcc435a63a05cfdabcae941dbd5b8483bc1cee4b3ac86519bdbfbf33bde83c84bc06b2f3babda81fbdcad833bd28b457bcab97b2ba9b251abdaacb1cbd72f72cbc754295badb6211bd898809bd6f42f4bbda186cbac1fffcbc4eb1dbbcd76772bb63c42f3a1744afbc2b1f88bcd185bcb911de573a332018bc0edcbfbb62bfe63acb73b93a97c9d13bcb8a34bdee583a3f5ecad33ec8792d3c3bfe46bda391313fb71dc63e12133e3c43a402bdd1ca193f71a0ab3ec5a6323c44f9b7bc762fff3e78ac8d3eb0f4193c5c7f6ebc65dac73ef97c5b3e75c8eb3bbb8e56bc7749943e92051c3ef4bbb53b06cf4fbcd60e3f3e68ebb83da2b6243bd96151bcff9eb93d59def83c02d8093a596d17bc34b7e33ad1ba85bc642ec8bca77bb23b000000000000000027c4e9bc922eff3b0000000000000000465fb4bc55fefa3b00000000000000002c479fbc7035f63b0000000000000000f91795bc04e2973b00000000000000008423a3bcfa53543b0000000000000000aa8ca3bcd173223b0000000000000000cc92abbcc1dec63a00000000000000001fa56dbc0f86133a00000000000000002de7ff392247ed3ab70533bbe4697dbb89cda33a5dc94a3bb3465dbb503ab9ba611846b95335643a91ffebbaa77e70ba3e6520ba5874563a21562dbad7d9533a3cc905baa7435bb927f710ba8a0d583adc2127bad664573933e2ac3a4ed1553b01215e3a174cb4b88879ac3a2ade613b7632b1baacabd8396b43203b6f578c3b1036b3b8c63af7389ce5d73accff383bccbf063b04a7cb3afe20c63a8accf5bb152a4d3be1d1ca3a4d67b33aafbd17bc0635373bed03823ad22d653ac10bdbbbe175643bc555893a5eb7b13a854fb9bb0c87f33a8734bd389a73693a22fe4cbb363d613bea700739c6692b3a58b85ebbeda8373beb7598390157d33a489319bbfaebd93a09dc053a2421c439be06cd38bc22073b30ce593947d7eb3958ffa43a66ca8abb3b1e94bcf02c77bc507dd63a62009bbc74ac18bd79f6b2bcb925413a93c0d8bc21d42abd436990bcfc638c3a759f03bd30f83cbd6f9987bc411a65ba53eebfbc09b203bda0ca2abc797758bad37feebc606318bd594620bcbe94bdb69039b8bc33bbdcbc0f49afbb256a953990858abc70caa0bcf8bc6bbae1b6903a5d6df5bbb46808bce59fe53af325ab3a8b92d03bbbae0dbd5582113f1056113f825f203c42d215bdb764093fb744083f83bb1d3c1ea6b5bcdcc2ec3e3977e83e27bc2b3cb8ba90bc356fc93ebef8c23e1422f13b88740dbcba85983e1002923ed3d1f53b57863fbcccaa6e3ef4cf593ea83b983bda2e23bc6476193e0ccb043edb986a3b1c823cbc7b2d9a3dbdae593d3274a43a59190fbc351f6b3b836b4bbc2f840cbd4787de3b0000000000000000eb8521bd5da1183c0000000000000000ace4e8bc0e38fb3b00000000000000000ee6e0bcc894e43b0000000000000000c2cc99bc6141943b00000000000000005dc2d7bce214913b00000000000000002aa8c6bc1d9c133b00000000000000002092d2bcfcfcfc3a0000000000000000028095bc34286e3a0000000000000000e862a33a275d0d3bf9ef07bb4d7b80bba0158f3764f8073bc4d804bbddad5ebba3730b3abe099439ad3ddeba4767fcba6ec4adb9dfa18d3adc69d9b9d6702039067ad1b955523439a4cd9738ddc8ae3ae40125bae2ef533937da933a86ed503b80aa98b9d28d24396c16db3abafe913b8e9353b99e681a3a29ec053bf44f983b3cac003956e5913951ea963a5c08533b2319f83add101c3be034fb3a0aafd9bbaee16a3b767e2b3b3902e23a4ae20cbc2e9b873b3030f13a38a6e637a8cafdbbe8f9713bdfce9f3a7085383ae53796bb39c0483bac8b8c3a963e143a74b757bb5ed7653b60f48c3a1d5d363a6fc41bbb60c16d3b7d09f6391b457139ab6bd7ba13fd693b4fad263a73cd483862d80a39c9f10d3bd57897398031ca390b2fb03a61ae50bb706695bcdd349ebc0265d43a012981bcc76e27bd0e47d5bc88d5853a5a09bcbc999f50bd1f6bbfbc6e2c8c39cd26e0bc235552bd81aaa6bc3d3844ba6cccd2bc31eb3bbda1cf84bc263844baf803cabc038a2cbdf87948bc5a53c8384003a9bcc7ee0bbdebc0eabb1e7c1d3af84568bcdc9ec2bc95188dba59c1eb3a5581b3bb67d228bca153153b5754f53aa47ba03b57c2ccbcc0a7d33e8fc8393f7318093c7d63d8bc8899c83eb033303fa1d0fc3be2098bbc3844b13e9ef1173ff909123c25f837bc496e953e49d7f93e8c6d083ca58b02bc57c06e3e0f1ec13ed960e53b080a14bcbb03343e413d8c3eabb6bc3b935923bc6f5cee3d24652e3e3133853b8bb65abc9a33703d0c16933d9c061e3b4b2e2dbcd985813ba16742bcf58d2fbde635ef3b0000000000000000a26451bd844d343c0000000000000000d7011fbd1b0c2d3c000000000000000099700bbd6056093c0000000000000000e061f4bc8b3cce3b00000000000000008b1302bdab49933b0000000000000000b64603bdf5a1453b000000000000000079c608bde6ec243b00000000000000006af4c3bc0dcaaa3a00000000000000007e61fe39fd760d3b6df885bac8be8fbbb50e87b9e086103bea1339baf65247bb15df033bdeef18bb0d2c46bbe43038bbe21f42ba79e0093a5df76939d7e4dd398e9ad9b94c97a238e0d2d0b7be49833a2729aebae2f9b73aa7cb253a2ea35d3b33a511ba4e809239ec76d23a98ad8c3be58f2dba5c62b2399f34cb3ad7fbb03b1cf003b99810e639e55e803a3716833b12842c3b3ed2223bc2b5ac3a58e7dbbb8d109f3b616d3f3bef6d893a2ac106bc14aa313b4ecb8c3b5d9e913a952011bb37c4833b0b3cc63ac01a9839b1a987bb0b1f373b2a26843aa54e94394da516bbdbb8813b62f7bd3a3f4b923ab8742abbaa67653bf5a8403aeec375b9243b71ba8c34553b3c95033a7f59edb9bf93093996aa0a3b72b86539d1258bb9818a523af98985bbf1c6b0bc9008bcbc86efc73a0bd46fbc3cbf43bd222c01bd905e9a3a044282bcd3c557bda430b1bc044d20bbc019babca1d26bbd73aacfbc1f3284ba00e09ebcf0963fbd96d293bcb06f80ba0131acbc72b844bd60ac79bc6b9987b9895b81bc222112bde8d809bc3a3cff39ee2540bca67ee5bc736a06bb867ef83ad86771bb928a45bc26b30b3bc8a2063bf12d393bbbb573bcbb06863ef6d8633f9db2b73b4aff54bcfbae7d3ef969583fb6f4083c946d26bccd21673e7296323fc28ee03beb572ebbf055443e11b4173f4c30d53b848ab9ba75351c3ebe39e63ee24de93bcb56acbb67f0f13df2d7a93e48c1993b342ad0bba4899f3d7ccb543ea81e613b899e2bbcfefe1e3d9900b83d2e39c93a522716bcefa2ab3a03493fbcefcf4cbd697f043c0000000000000000cb7a6bbdc8dc3e3c0000000000000000dd7923bd0753143c0000000000000000d31f11bdd5f6083c0000000000000000effbe5bceb49b53b000000000000000063cb0bbda9dfb93b0000000000000000356c00bd6e72253b0000000000000000781518bd709d223b0000000000000000ce91dcbc07dc9d3a00000000000000001b12073914e3083bce06f7b93273a2bb318c35b8f967d03adff5023a4bdad2ba5bba253afea7543ab8ede139a1040eba5860b4ba24060439295c04393272d739c9231cba48a8a7b951fc84394198c63ad1c401ba24d0afb815a6ab3a3233893baa0bb5b9672733399b0ed03a0853b63b2d9e92b927401c3ace67173be77ad13bc3d4aeb9f5acaa38e96afd39b00aab3b7d08373b2a60403b3fb6623a1c49b7bb99e1c33be42c783b8fe3a7397c55f0bb9ae4a73b980b4b3bd137cdba8a269bbb72ae8d3b67fb313b5cc11bb9e99555bbb4746a3b0c7bb93afa6b493979a573bbb304983b0de0fd39623943b93350dbba628f8d3b7d38c73a196534ba79fb96ba62b0733bdf816d3ad01748ba914ab2b9e9e34a3b6fb6b0b650f765baeba2993ad674cdbb5a55fcbc66dde5bc6504803a492a81bcc15b7cbd378314bd62288c3973f294bc449687bd5da104bd0a4308bb63db9dbc4f8f86bd375ef0bce417dcba320b8fbc83d967bde3c8b9bcdd64adbabc208cbc87be5bbd712398bc09c301ba087568bc37f135bd15e53bbc6d3e893936b016bc502505bdfe3842bb2dcc133bfd9d6bbbe4526fbcac5a373b8b03c53a8a03d63a9dc2b4bab469ec3d8b7c873f99dd403b62e2ae3ad534e23d348c7e3ff394983bb257d23b07afdd3d85a9563f2302ba3ba138d83bd913c73dea3b2f3fc68fc33b0dc9a23b8c9fa63d7c78063f8fc6ad3b39d37d3a6cf2813dc714c43e8499843ba48270bb55822a3d3245743e4f00293b641912bc4932933c8e77cf3d3105673a42eef6bbca655dba88a395bcc8d94abd9cb8063c0000000000000000ea4058bd3ea4423c000000000000000018600fbde482013c00000000000000001505dabc6f7dea3b00000000000000008f59bdbc907ea83b00000000000000003707e5bcf159463b00000000000000001d6d05bd80e8973a000000000000000015d81bbd79b9da3a0000000000000000b32304bdf058fcb8000000000000000000000000000000000000000000000000c7c0ccb9151c9639693e94b9ea8856bb5f45d038d0ef9bbafd34aeba0b5d06bbf38dbeb97c36eeb9e7cb40ba2c3b76ba2938c3b9e9072abaf5b8b1b9ae2aca39e8a64eb95fb2dcb90cd1d0b80290fe3aae0b41b9b73a92385e92443add7e743b8a4844b8d86edf393a95b93aeebea93b0000000000000000000000000000000000000000000000000000000000000000db7b2d3b3ab82e3bb30f2839d34a6ebbee52633b9b27943ae589233a16a566bb624ff43aa876993a03560c38d0dba1ba402a023bbef7633aa5df253ad8c429ba851b0f3bfdad313a300f6ab8654b74ba26993e3b15bb593a6baf0fba9b2381ba2041473bb6d81c3a3e0d13ba12746aba0000000000000000000000000000000000000000000000000000000000000000659f40bc7ce861bd7b5501bdcd5b11bbde003cbc523769bd87fadabc3d1141bb119650bc5a1058bd33e3c9bc72e048bb6ba743bc102040bd5d25a2bc0d4266bbbb2943bc05fd31bd97a189bcb548cdba0bb523bc410318bd6c303bbcd61d05ba1d7bf2bbe234f5bcc7a6bcbb0156f339000000000000000000000000000000000000000000000000000000000000803f9c43ed3ae2d65c3c313ed5bb802f883f710e143bb689623c2024823baf6f643f2d428c3b9b6b383c89112e3ca1453a3f5e9cac3b5ae7183c124f4a3c883b113f1696913bc697a63b16152c3c08aad33ee23f593b292f843a30e2ea3b3509863ed6631d3bb00a4abb64ed843a8e93e93d00000000000000000000000000000000000000000000000000000000000000000a25babc07bcee3b0000000000000000b09c30bc3c5fb03b000000000000000054d003bc67c4963b00000000000000000da421bc0cb2073b000000000000000065ea5bbcfec6973a000000000000000045cd9bbc56bcb0b90000000000000000580ce8bcc7f0a8ba00000000000000000000000000000000000000000000000000000000000000000000000000000000cc95d9ba725582bbc424d9bb90b06dbac08202bb11ff7fbb1ff694bb6c1f0cb943c9fcba2fdf82bb68f682bb794bd5b971280cbbf2f36ebb857a28bbf29952b8596502bbfbc655bb2e202a39d1ca493ad48afe393ed327bb706a7139fa715f3bee3429baeb96b3bac9cb1e3b7c056d3b00000000000000000000000000000000000000000000000000000000000000005a5b80b90c6aa83a3ad309bbe686c0bbfb74d1b928eb3f3a5927e9ba8cfbd3bb34673ebaad73bf39aefc9abaf477e6bb42911aba380f173a0f868aba9859ecbba7d52db91c3b2e3a863208bbf4550abcb808d03a9aca8c3abf8ce0ba71851dbce08aa93a7a538b3a5f070ebb07f6e8bb00000000000000000000000000000000000000000000000000000000000000001365d6bcc412d7bc98ce12bc9ccdb8bb093ee4bc1e18c4bc0cc326bccf4cc6bb1a7de4bc1419b5bc471531bcb0fdc8bb7c1ccebc211199bceb6121bc3e5db8bbeee1c3bcad008ebc93b61ebc9205b1bb364ebcbc088a5abc5a1901bcea5b36bb9144a1bcbc8f14bc522eb5bb31082bbb0000000000000000000000000000000000000000000000000000803f00000000b165293c1487023b4205793f0ff6ca3b2ca3343c497f1f3c6139533faa88d43ba53b3a3c035f623c64af2e3f2df2b53b8fdd223c8390643c83de093ff40b043b421e0b3ce4406d3c537ecc3e4ef022bbcc9eba3bc0250e3c78c3853e77092dbc7e7d273bff70da3bfe0efe3d47ee96bc0000000000000000000000000000000000000000000000000000000000000000380b803c0234273b0000000000000000fda1463c9088ff3a000000000000000068b8093ce35c863a0000000000000000cd5e933b16afc1b9000000000000000051961f38d68825bb0000000000000000d20b38bb10097cbb0000000000000000a543b0bb2788a8bb00000000000000000000000000000000000000000000000075e182b79068feba4237c5bb853e0bbb26d37fba399243bb7d83d0bb3217b3b9a5a20bbbae347fbb90bfaebbcc61c3ba5d8d3bbbeb8595bb26d78abb2de7033a6615e4bab3ff6bbb61022dbb59bc2e3a8f7ed9babd6d56bbaf8e92baf6e3093b46023ebb7a2b25bbdfc7233a431e4a3b3fdfdab9ec54b5ba33eb2d3beccb8f3b87fa5ab995f385ba5985263b649c693b3cc3fc39b0c89f3a0fe886bac9ac6cbbb0807b3ac012053b827e06bba38cd4bbdd502f3a53aa003bd305ccba7245e9bb5f27dd3610eea43adb66d8baa2b002bcab72bd39bda60bba9d7026bb0727e6bb79c66e3aa2cad43aa0f0e2bab06511bc8f58623aa77f1b3b7c09fdba36f805bc1be6113b378fcb3a241521bb63a4ddbb485fce3a6e4f883a1dda0ebbcec882bb64bc41bc269baebc3646cabb7f9c4abbada3d2bcb06bfdbc557630bceca5b5bbb6de00bd1ed000bd72e253bc1925debb1a9b05bdc952f2bc95e85dbc37b3e4bb2540f2bc8dd8bdbc370959bc446abcbbfdbff6bcc21bbabcf3c13bbc4649c0bb4be0dbbc7db391bc21eef9bb38ac4fbbaa9cadbc726a32bc636fb0bb507b1dbbeb6847bc99f68ebb9c42f8ba5800fbb9ca58033c51e260bc491f773fed1a043e05f14c3cc4c8fdbb71ea603fc1ccf03d2dd3643c8e64843bf9c7403f1cf3d53dd9d1633c60e1253cc9a61f3fa460b13dcddb483c5e584b3cf9c0f93e0200883d0a97253c90eb473c6cb5ba3ef1cd2e3d3e21e03bcc091f3c70ab713e6e22983ce171223b3049933bb6c2e73dc000bebb5515e3b95434c339e30d84bb2822a9bc178c203c06e1593b00000000000000004925493c444b633b0000000000000000e757383cd32b513b0000000000000000a607fa3b784feb3a0000000000000000a9d7773b4079a0ba00000000000000008de2a6ba827aeaba0000000000000000326faabb6db681bb00000000000000001083f2bb303ea5bb00000000000000000e12cabb4a3990bb00000000000000008a3dc339ffe887ba42ada3bb97d84ebb618ac4ba597059bbd687e1bb41a33bbbc7d33dbaa8b087bb1754bcbb13fdf5ba12b895bad20144bb3168afbbcef6a9ba704420bb9b777ebbba5443bb7de0adb9f7fd04bb9b9083bb4dea04bb4aa3aa3af6d863bade5425bbd231f8b9cf87123b9d142dba2bb4efba49aeb83a32176a3beaec15b9193c81ba1497c53ab92e2e3b878620373567593a031fe239931241bba59984388750203bbe6ab2ba368e87bb744009ba6182c73955dbb239112b8ebb18a209babaab813a9878b8baf81fd9bbac400e39a971d83903d17db9afd0aabbcf3a753ac4d7b23af2dea0bab8fde9bbc2088b3a3ee4193ac20e1abb6232a5bbf59a083bd419b33a067507bb78b5a8bbf4c3cc3ac5ab813acc1fddbab7b835bb3720c6bbfb4591bcfdf2f1bbc64607bbbef58bbccdb3f7bc58bf5abc44d5b1bb551faabc5bd9eabc2ec660bc393acabbc9cae1bcd057fdbca1b758bcf003e9bb9297b9bc9443c2bc746e43bcb5bdb9bbf863d3bcd2dac5bc75a245bc62b3b5bbdef2b6bc1a258fbca3120dbcf2697fbb5cd395bce92c52bc10feb9bb4d3b11bb06521abc070eaabb00fcd0ba215787b9dfc0003cff4b81bcbc5e523fef32863ef6ba593c60c23cbc41a0413ff15e753e4046383c76ad1439f699233f96f1533ebdb7753cda5ed83ba2ff0a3f3c05303e6bc1363cf96f023c4df5d73e362d083e4f3d323c24ff113c5274a33e4b39c13d3ee5d33b62d9ab3b8a28573eeae2663d6e44803b938c503beadbd23d07d8653c482b123ad1f6e2b92a76053a08e084bcf292e43a48dc803b000000000000000023b19f3bfb49c23b00000000000000009da98c3bd99aa73b000000000000000071261e3b4d55343b00000000000000001c10d4b77749743a0000000000000000d41997bb1b2c13ba00000000000000009a27d3bb49a3b7ba0000000000000000b83825bca1ea68bb0000000000000000c6f8f7bb5d2b34bb000000000000000029f5c738f52e44baeef592bb04d78cbbe52757ba08bf17bb6e56cbbb425b96bb7eb107bb65c07bbbd60dc5bbf45049bbaa7f21bb0d1292bb0824acbb4ad106bb635018bb0e3194bbdfea93bbf6bbacba9c8104bb56f77dbb040e3bbb05dd113a1759b0ba9f6656bb4dbeadba7ff5003bfb23c9ba87932cbbae1e05b9c24b483b29b5a7b9ba5c1fba8ef3263a8d441f3bafd008ba7aff843a48feb13afca710bb032cbcb9e6abab3a73597c3a5d8674bb33980dba3d65983a30e2b6396f4c85bbec3cf1b94f4f963a35ecae39ada294bbc8eee2b9c78a333a6d4119395c0393bb1137573a5de98b3aae1921babcb6b4bbcedfdf3a636f963ad1e891ba9342b3bb41ef1d3b86c9f83a53d902bb0df68ebba450dd3aa59c463a4ad162bae39c2abb48b21dbb4bbd6ebcbe5518bc9ffabcba60a946bce64cdbbc17bf7cbc9e6381bb2edf9abc5ce7f8bccf6387bc3dc3b8bbb0dcb2bcdce7f7bcedf285bc7ab6cabbe624aabc3956d9bcfcdd68bc3ae2bbbb1994b4bc7976d0bc6a6553bc8481aabbc95ea3bc3e03abbc40ce1dbc3ba16fbbd0c87fbc545c6fbc2e17c5bb472d03bb8c2200bc3456d9bb53f6fdba1bfec6b9a300e13b986051bcea812d3f890acc3ebfd8423c1f0c1ebc440f203f0981ba3e0110603cc7a6be35e5c30a3f503ca13e6fc7663cd056ab3b1126e83e15cd853eff1e4a3cf3d5ff3b6f95b73e4027513e6f42373c2417013cefa08a3e73a2173eddd50e3c796ec33b47dd373e02a0b93d8c24a33b3c49273bd073b83db0600f3da7fd053b43470bbb6582303b93f763bc22cd7bbbad67a33b00000000000000006f1755bbf1f8e73b00000000000000004637acba7cc6c83b0000000000000000173611bb1c2b9c3b0000000000000000fa668dbbc027213b0000000000000000c1430abcf2081a3a0000000000000000416a3cbcae61b8ba0000000000000000c31d5cbc65a70bbb0000000000000000a58012bcdafcd9ba0000000000000000f8c5adb90dc922ba9a9191bb430597bb01aba6babe8b1abb7718cabbbdb89dbb4b48ffb99f1d89bb5bd690bb1bd25bbbd74033bb3dc396bbd135b0bbb02f5abbeef9aabae85c51bb0ba65fbb2be35fbbd2c04bbb6f6cb1bb87e39fbbc959d139e0483fbb66c621bbd368a7ba39c6f33a465387ba218f26bb465d84ba9eb42d3bbc5728bade34c1bad4e26b381f43363be531dcb9d372793a503b383b2ede04bb4fe241ba56fc9db95be41d3b78d12fbbc9b589b839650eb9ccfd443a211332bbf32e48baacdb483abb9523395a207fbbbda407baeeb5d7ba4d5012bafd6a07bb50d1583af065753a173d0e3af05282bbd4e7f63689b5ab3a8aa38d3a7bebc2bb26c1f93a6f0b993a9293d0bad9b56fbb9de4e63a7302823a14efc8ba8ce40fbba238a1ba22cb56bc4c0644bcfda9f6ba30be07bc6374c2bce66f8ebc720677bb93ec5dbc48f4e2bc3f6992bc4d62b5bb474692bc2672fdbcb67c96bcbd48cebb7daf6fbc2f80a8bc961960bca2fc86bb72f6a2bccab3d3bc0c515fbc7fad9abb762178bc069fb3bce9e91bbc06b156bba45451bc3a8473bc9490e6bb6466f0bac925e0bb071fe3bb6c5932bb2d75f7b8bc0dd03b59b917bc1bec093f4bb3093f24812d3cdc0d90bbb4d1fc3e6a60fa3e3c203d3c8726683b30e9da3e59aed63e407e683c717dd93b42bdba3e1a79b43e7c65303cf2290a3c0c6c903e72a78a3e55b3493ccd32183c16e2613ee8854f3e062b243c56a7bb3bb905153e678d023ed57dbb3bc8d1113bee55983d031e613db893163b21644ebadf63873b43cf28bc79050dbcaab1d03b0000000000000000fbea08bc60650e3c00000000000000005414c7bb543ed73b0000000000000000a100e9bb4404a73b0000000000000000899a9cbbaafaeb3a00000000000000001da736bcbd40163b0000000000000000b5535dbc604d53b900000000000000005aad84bc1cc237ba0000000000000000c2c84cbc934d1dba00000000000000001c6a86bac9118ebabe9656bb1a24ccbb653986ba93d1f6ba9190b9bb4e33dcbb6e5507bbb6cd63bb0705b9bb2553a9bbf4ae1bbbcedf8abbc180acbb223575bb19950bbb1d8a8bbb60e899bbaf1322bbe71301bb058282bbc9646abb4e6ee3b9d8d850bb706440bbb78511bb667dc53aba7879ba00b004bbffc97fba882d2d3b3d872bba1d0b94ba2b68a6b87ee9193b3768e7bacaa1333b21eb1f3b94de72ba07ea55bae3dd0f3b39f3033b050735bbf90276ba3f0fcb3af0fee83a41d644bbd040a6b969a4d9b84c70ab3ac6583cbbd1ef73b9be04353a399c443acdb859bba83b753a5635a13a2524f1b7dc978abb5f740b3b1953f13a74f919ba6e7391bb2ac53a3b1a35fe3aeb2ea7ba569c92bbdeb0163bbf14ba3aa2ecbeba6d2941bb239b853afcbe59bcdfc65fbc51130cbb6044c2bb41aecdbc2fdcb2bc67ce62bb2fee3ebc2141fcbc7c92b3bc6206b1bbb14570bcd9e002bddd04a9bc2bb9b9bb80b172bc1ed7ebbc8a1f8dbcab42b5bb9bf784bc7006ebbcdd7180bc5a37acbb54d572bca66cc7bc920f3fbc313977bb822340bc0f8497bc6d69e3bb9f4bdeba092ebcbb952c15bcfac903bba01e5339cefbb03b34c85abb7d1ecc3e33c42d3f08c1193c50afa63af51abd3ed6db1e3fe58f413cd69cfe3b6253a63ec7b9083fa1794a3cf019313cee3a8d3e7cc3e23eab28423c4a2b373c6c92623e589bb13e113b3a3c74111e3cf3ab2d3e381a833e707c183ced7edb3bac37eb3d5ae4273e6c90d63b4d87183bffcd733d0f48973dee2e433b46a844ba003b9d3b525cfcbb3aa34ebcc5f8003c000000000000000027696ebc01431b3c00000000000000007dd42cbc2d3b0d3c0000000000000000a0c525bc194edc3b00000000000000000b8e27bc3976823b0000000000000000140176bcb48d053b00000000000000007dff96bc36925c390000000000000000589eb1bc856084ba0000000000000000d2877ebc82ef76ba00000000000000003b964539c7cd4c39388d17bbda569dbbe43caaba07100ebbe6c7a9bb0ef0e0bb9862e4ba4b1153bbf516a1bbb90e9abbd8bc0ebb21e998bb66e6b7bb5e6688bb3ba608bbe8e691bbe3bb93bbe83449bbb47573badffaaebbd27baabb80d825b91f888eb9dead6abbd2a33bbb598c723a6958eababdbf1fbb81acc3bad793393b558b96bab47c96ba8a87efb9eb611d3bbdb7bebafeb3e43ad8a5023bca1fc1ba782432ba83491e3b60480b3b38352abb5d0f01ba0ce2963adfb98f3a8a2a29bbd67fd3b90cc0ae3a5f3ace3a3b852dbb4365ecb9bcb5043a132b763a09d136bb1eb6c23aefa70a3b7c3557ba05a861bbd76ee73a4890853afdf85c39b1a35abb8199763b273cda3ac9ff1cbb1af48ebb2ea34c3b7ebb933ac78d30bbe7fd35bb8e0d613a2ea368bc9e1a9abc245f10bbe84da0bb3f9fdabc6514d3bc868371bbc7ee15bcc359f1bc650ebabc8f8fa9bb000c49bc11b00abd8ff2bfbca410cdbb241942bc33f4e2bc0cd88ebc4055a6bb05aa62bcdf07fbbc04398cbca3e39fbb08e352bcc803ccbc1ea14dbc41c183bb11351fbc0c13afbc873f07bc9be538ba771b8abbc31834bcf1cf30bbdbbf8f3a02eb733bb5b3023b8fa3863ea63e523f8745f83b4ea10a3cb8de7a3e6d4c403fbd9c273ce3672a3c95fb5e3eb57c223f28633b3ca2e0773c29fc403e678f083fd022273cd5c6583c08f9193eb0e6d33e11fd2a3c2edb353caab1f13daf9b9e3eec070e3c6cc8f43bd499a43df4194c3e45dde33b02123e3bf867323db8ebbb3d6e4a503b09ee89ba6f0aa03b3508e7bbd7e384bcf64dfe3b0000000000000000668e8dbcef3f273c0000000000000000cf4319bcd60bf53b0000000000000000b2cc2fbcba2de73b0000000000000000f20229bc9bae8c3b000000000000000095d192bc995c403b0000000000000000c5c18fbc7106aa3a000000000000000038fdcebc03400dba0000000000000000f54b9cbca779e2b900000000000000004ae6dfb97d9b2eba91b948bbfdefd6bb9076acba8d791dbbdb5496bb2f94d7bb9c33d8ba70ea61bbb0b2a1bbd1e5debb67790ebbf73f9dbb729cb5bbc48d8cbbafa594ba2ed978bb3c3091bbf9f682bbf4c9b4badda486bb3fc08dbb4af01abaaab5b7ba000e49bb0ffd20bb4496fa3a65ab4eb80744abbaabd23aba2a70813b95fda937c7a61eba260fceb9d0b5593b027737ba004d8f3ad73de33ab57ea8bacd2f0cb980884b3b183cdf3af2b00ebbcc3b6439c3a70e3bcf02d73a097d7dbb0edae2b9b731bd3a0bbdc53ae35c11bba1a41e3a4cc736b9c1e3f4b88bfae2bab626d43a2f55f13aa228643940a176bbfd6f3c3bacd3203b5233d6b92d279dbb65bc493bd0cc223b5a82b8ba2c1ba7bbd99d553bea1f013ba9aac7bafae889bb402e2d39108b80bc3168afbcbc4bf2ba52b699bb1d24f7bc2b78ecbcc6929fbbf21c09bcdec010bd6a4be5bcca9fd7bb7a9b30bc078814bdb48bd4bce126e9bbbcc546bc1d25fbbcfd0cb0bc19e4b2bb9b5354bce5c406bdb58b9cbc213bc4bb0ced48bc1ffbedbc3d7f6cbc085d8fbb156f19bc1bfbb6bc410205bce5d735bb725cadbb852f50bc82f241bbe314b038ed253a3b71511e3cf0f7043ee126773fd5dbbf3be7fd843cbdd5fe3dd759603f904f0c3c0665a03c0dfdee3d5c56403f6ee4273cfb13a23cc468d43d05751e3f113b303cba858c3c26c1af3d2d63f73e82612d3c070e713cc0ab8d3d3193b73e8a51103ce9c1223ca95a463db5cb6c3ed647cf3b434e6e3b6122d53ce5cada3d96c35e3b9ef915baf4b68a3baeda0fbc692b6bbc43e7043c0000000000000000ecaf5bbc9d2a1e3c00000000000000007333fabb73c10a3c0000000000000000b336e4bb0b82d33b000000000000000010e3f0bb79cf173b000000000000000048106dbc73dbc23a00000000000000008a9baabcf39e85ba0000000000000000c071dabcee4f03bb0000000000000000b468bfbceee80cbb0000000000000000000000000000000000000000000000004f2d95ba4dfa2abb8cac6dbbe571dfbbcc5ab9ba01a765bb0b609ebb5613a5bbc3ee8abadfce6abb1a5ed7bb0b7589bb1a08d1ba60fb7bbb359f99bb31285abb5cdea0bab10e7abb357791bb4541ccba375136bae93f32bb582438bbaacfec39cb8267ba110efbba46fbb4baaafd0e3b00000000000000000000000000000000000000000000000000000000000000003a2ef6ba6101ae3a3355f43a401c4cbada19caba5a29333a0b04ec3a497d81b9c816bbba7f75ed3946ab023aca58f8ba9ee897ba3296a7b8902ab23a6f6697ba02e92239eb5b5d3ade8a683a30640fbb764dba3aa9549f3ac853a6b789fd59bb709a2b3bcba30a3b8975ab395d1fa2bb000000000000000000000000000000000000000000000000000000000000000093e673bba29ad7bc94b3d0bc86c8c0bb97beb5bb672ce9bc1947babc771ad0bb29d6dbbbd622f8bc4746a9bc77c0d6bbe9b206bc3b54d8bc013992bc502ac5bb817218bcddacd5bc11b582bc665fb7bb316818bc954ec0bc1cca4bbc882b8dbbcb830dbca2d5a7bca46912bce49629bb000000000000000000000000000000000000000000000000000000000000803feae2a13b77249f3c00c52a3c8264783f0291dc3bbb0d9d3cf268803c65fb523f59adf83b79b3a23c2a9c9f3c19922e3ff9550d3c97fb853c14db943cec72093f3dca103c7905653c01638b3c3fd0cb3ef206f83b46be263c26c45d3c4dd2843e1870bc3b6847e83bf3802b3c6d40f93d0000000000000000000000000000000000000000000000000000000000000000dc0006bb7324f63b0000000000000000d22c353acb67d23b0000000000000000a12e903a2e0aaf3b00000000000000009c3b05bbd28c1c3b00000000000000002e34e4bbedc7223a000000000000000034ab55bc44b3c9ba000000000000000085c8adbc91ba69bb0000000000000000000000000000000000000000000000000000000000000000000000000000000097bda7ba099a0dbb0da52ebb9d8be9ba2b567cba983aefba1ef228bbb7462ebb12c192ba73a3f4ba18a90bbbb8400ebbd8f79cba8659fdbac5bd02bb5ca501bbfc3c94baf00af8ba85c1feba9ee3fdba12d98cba7607e7baec6adeba59e5bdbaef9162ba44b0bdbaf27ba3badf0289ba000000000000000000000000000000000000000000000000000000000000000048c1cdbaf82a6dbaccd6573adf2c31388e1907bb54ac86ba796a3f3b4e6944373d050abb5772e9ba06297f3afb4747b9d189d2ba75653dbafb2b203a65f323ba6673c5bafc6971b9f7e0083a980954ba05a396bae65b5db98382383930da82ba58253bbace5642b94f3bfcb865d49eba000000000000000000000000000000000000000000000000000000000000000081651cbbb90b67bbd5e833bbc372d6ba2a6e28bb7e734dbb815f29bb614824bb4bb119bb458c3bbbdc7b26bb6e4e2abb930822bb587637bb95fc22bbc8150cbb462d29bbda213abb071c2cbb09870fbb411d1cbb578b20bbbfab10bbe60ff5bae7f10cbb6f6a09bbc14aecba7a3dc0ba0000000000000000000000000000000000000000000000000000803f000000004ec5683b808c673b9c16633f480a533bd99b823be2568f3b3493423fb6c84e3b989a8d3bbb7a9e3bfc07223fb2433c3b69d0813b2ba1943b3166013f3884f33a0007813b6e1e953b252fc23ee11ea33a9ca25a3b8def783b5d46813e2e18dc3827a1243bc49c3a3bf0fa003e0d228aba00000000000000000000000000000000000000000000000000000000000000002cb1853b165f673a000000000000000039a5293b08b9593a0000000000000000f583f93a5328e1390000000000000000909c663a26ad0ab90000000000000000838db3393bf218ba0000000000000000287cb2b9ea5e83ba0000000000000000bb1486bac112acba000000000000000000000000000000000000000000000000a08f5fbab613c7ba3338edba76d6fbbabafd94ba1e1810bb38fb33bb7c3644bb394dbdba0aaf20bb01213dbbb25d37bb9bb8f9baf9903abbbdc150bb7f84a2bad7faafba0e770cbb631419bb398b1dbbcd7ccdba6d3d29bb5e3e2cbb24ab29bb239eb4ba38c80dbb2deb06bbdc68f0bad4b889ba57bbb7badb50a6bac7f288baebbb06bae38161baf8c22fba153715bab313bdba26d100bafc153f3a9d2eda39a14e22bbc410b5bad0e0e23a7953433a942018bb446a82bae43f9c3a4240653783914fbac333d2bacf82c23a57ec63baa3ff05bbe9b99dbaf9c94d3a2e5d0eba41400fbbe3a799ba390f533a1f2257ba3b9cc5ba3a8bc7b938eca7399f528bba116912baa66bf7b95a1b07b8165694baec8a7db946fb10b9cb610839b1c42dbb15fb8dbad76b22bb3599ecba9757d5bad1d8ebba1e5b6abb456137bb925829bbda4e31bb68b07ebb51e455bb73e136bb13385ebba04a8ebb0a327bbb042c58bbef3f23bb6d8450bb64ce3bbb359b22bbaea342bb034968bb467c54bb78813ebb0c0b2bbb008c40bb8a702abb60bc12bbdd5b8abb489a1cbbf95ffdbaa92fbfba27aba0ba3fdbb2ba88918bba849067ba81d51c3b5898cd3a62c4623facaa023ea4c34b3be985283b60c3473f5d8ae93d464b9b3b8f5ba03b501a2b3ffc38c83d9bc2af3b950ec13b31b90e3f9862a63dedbf963b3f8ca43b0288e33ee602853de4eba23bf716b73b3b07ab3e9753473dea4e803b0896923b459d633e1b6f013d8701433b5f345d3b43ede33d2e3f703c8685133be168a53808aca3baebc1b3ba8cd72e3b79927f3a000000000000000012987b3b0d53d63a00000000000000000ee33d3b1ee07a3a0000000000000000bba02b3b454750390000000000000000d37c8c3a9edbb93800000000000000007c7ff539da74e2b90000000000000000f61adbb9f4407fba00000000000000007a1792ba1113afba0000000000000000650186ba938771ba000000000000000096b43cba2b4843baebaa80baea4bc0ba63759bbab947f8ba8b088bbb246f25bbe0178dbabb9af6ba45b917bbb90621bb754fbbbab48827bbe2da46bb596b4cbb030c70ba0d2a0abb5f1226bb15482dbb292fedba87e35fba87cfa5ba8e2f5abb634e9aba2bbbe3ba987dedbaffe3debaa2af8abaab35d8ba40abccba3db2a6ba7d2d09ba26e15eba3b9f2cba5e00ebb9086792ba1877cebaadd4e23884f9bd3a3a79fbba148536ba97dbbb3aa769053a11ddf7ba6c598aba04b7973a2dfc5139647a35bb294be9ba0a8cac3aa7a50db8f94b1cbb7ababfba2da8c83a8f567d39113937ba96eca9ba3d00663910788bbafa71c8ba5df533ba6947f839deec24ba50e97cbae06bf0b90b88ed37cb4385bae449213a558088b953c592b935e25dbaa787debae9d4c5baa722afba79667fba91b9acbae76f56bbc98738bb39f416bb4fa1ddba40894bbb8b1732bb3e161abbc0a222bb239081bb28876fbbc66f4abbabb2daba113237bb87bf3bbbdda323bb5b3e3cbba1d8deba846860bb0c3c49bb37dafaba4a7b24bba09417bb1d2bf9ba54db0abb094a25bb202c10bb3b44ecbaa477a1ba186eaeba412088ba4fa362ba870eed3ac18c173af931423f8228813ed04c743b16a24b3b2f402b3fd91a653eacf8783bd99f7b3bcb77123f4424443ed9ccab3be0cfb33b5b53f53e3497243eced2ab3b3d50b43b8fc6c33e677f033e129d913b68839d3b23e4923e4964c33d48bf5b3b3bea6d3b63b5433ecba7813dd9494a3b8bb3503b1fe1c43dcba4fa3ca056b93afff9b23ac1521a3a1c06b3ba9aa9443bb223f13a0000000000000000878a433bd3a1d33a0000000000000000fb7b0c3ba1e0713a0000000000000000813a043b5731403a00000000000000005471c13a03c00f3a0000000000000000b211b9b868a6f9b900000000000000006f3ea2b9e15503ba00000000000000008f4ca6baa11a9dba0000000000000000bd019dba395090ba0000000000000000506df4b9e02376ba8f28b2bab0a8d1baeaefd0ba6ff6beb980f224bb4ace35bbb5c8a1ba8d5613bb8e892cbbc9fbbbba647b20bbb188d5bab62788bb3dc01bbb324eb9baf63a1ebbfedd3bbb1a2747bbd895dbba881213bb189b17bb67e608bb957eb2ba6fbf16bbcde125bbe6f313bb957e86ba9bb0c7ba58b9c2ba2288a8baa81cc3bad9fcf3ba3a9edbbaeb13afba5233a7ba39d7b1b9d1cb903a7455373aac2a19bb69a873ba53b1403a234d8ab8d5360cbb51741dbbb48cc23aca558839e0e21cbb2e90c6bad6215f3a15a711baad567fba384c1eba643f8c3a91aca1b8b5bd01bb3d192bbb7f6f8a3a877497b9c62f4fb9fbdfe336a932033ad6ee36ba79f480ba256dc2b918db3e39d72740ba565b75ba90fd2fbbff627d3a77960a3a800dfbb7df88d1ba26ffe0ba2b1d9bba62bfb5baff0b64bbc6dd5dbb850922bbdac7d6ba594761bbcfea11bb562d19bb442855ba312831bba30c38bbf57817bb55b1f1ba19af5abb506258bbfe3045bbde340abb4bec51bb54dc49bbba301fbb494618bba25f4fbbb1cb48bb5d4525bb8098e2ba89d818bbbca307bb9485d5babdeb3f3897b40ebbb50b81b7778cac39c992e93a140a953a24d2213f3911c23e66948b3bdbec023bcc790e3ff6caaa3ef21f8c3be7278d3b4b21f53eaae9923e1044973bbf4da13b9e8fcc3e3bcb743ec1c4913be9179e3bb386a33eb0aa433e87e3973b30f2a63b9a3d763e07e4123e923a803b3ac48c3b6b60243ec76ac23df25c483b41714d3bb890a53db65a3f3dd963353bdc9a2f3b6fdc0f3b676b9c396751c03a590c923a0000000000000000c44cd23a4b337d3a0000000000000000b84c043bcb3b8e3a0000000000000000b613443b29c831b80000000000000000333e6f3a2fdd953900000000000000009f139e394d72c2b80000000000000000349140bab87e7bba0000000000000000c5bbb2ba29587dba00000000000000005aa70db9ee61e9ba00000000000000009147d7b82547deba55ddcfba7258d0baa749c2b9c743a6babafc01bbaf2418bb170a04bb187b3bbb28ce59bb55f457bb91005bbaac05d8bab8bf85bb461085bb3dad10bbbce480ba3b66b0ba3acbd2ba6616c0bad39f24bb6ad638bb5cfc3cbb3e309dbabf0008bbcdc421bb01b116bb388394baf19ecfba0959c6ba8ab895bad32e73b969b30eb9fc2e60ba6475c4ba08cdd7ba2d766dba3832613ab317f139789b12bb8020ceba575ace39df9ccf3a9f5430bb988b59baca3b113bb7d8b83a38a370bb68c8bdba1e49f43a59f2463a4887d4bad0822cbb0e12fb38f0da5bba722827bb0c6e5dba95d2933a770608b9cbaf03bb3eef98bae400843a3741b1b842ff30baaf39ea37dbbc7fb9319b82ba8ae6b7ba40ca63b9bb9dea37bba75fb972f470b98e34d0ba30ec03bb4d45b6ba350b0a390bd30ebbc1fd2ebb1fc3f2bad07f10bba3c486bbc5af85bbd57a4cbbf7d791bad68f3ebbf9b042bbea6384bb229216bb8048dbbad218f5ba603dbfbaa4a100bb5ce662bb51f764bb516a3abb8587dabac05634bb3f0935bbff8e18bbed43f9bab40b21bb30a60cbba512c9bac47492b9a39f75bab7be10bab7156bbabaffee3a89ecde3a506c013f3a58013f74a4193b70bf1a3b32c8e43ea23be43eef458a3b49e09d3b9485c43e01cbc33ee4b3993ba696b13b3953a43e8847a33eabe4323b39ecab3be155823e4666823ed8339a3b3bbaab3b1743463e6e92433ef8f48f3be023953baab5043e15ff013e7bc9ff3aea390c3bf163843da2117f3d9cab023b2c28e03a5eafd53a9dda9ab977c12c3a84e5903900000000000000005ccb183b35a00c3b000000000000000054f3213bd27e113b0000000000000000d4aee83a53adc43a00000000000000005aa1e03a3d370aba0000000000000000d5ea0539666982380000000000000000177dfcb9320190b90000000000000000663dfbba6bbaa5ba00000000000000000ab492bacfbe14ba0000000000000000101160baa712a6ba697ae8ba2d3801bbec0188ba7fd0f2ba18072dbbc50237bb29b6a5ba4f6204bb184e39bb9d1e41bb8d6bc8ba775b11bbf5e43ebb5b5547bb6ae0a3ba184d17bb2ca73bbb0a263fbb4c54b2ba84df0fbbc5df24bb48d311bb9912d2bac97d19bb16e528bbc71d08bbeae383bac99dd0ba9014f5ba79e7d0bae84658ba19d78fba9c798bbaa6b64cbaa930f5ba5e376cba90fb1e3af2684139215426bb9bc79cba7124e73af92e7f3af0302dbb05b8b2baa7baf03a223e753a59123cbb746dc3baef04ee3ae868233a3ceb95ba73b0f9b91e74b43a13528b3969e20bbba38b12ba2d217a3adea832b93243dcbae532df3874132a3ab4c2b0b90b7cbaba81f879ba63e97e3a28d28db743dec6b9d4a6bbb9e29950b836cd13ba63f28bb92ec6edbaa0f530bbac51cfbaed5b8db9464e34bb39ce75bb6f5d14bbe31550ba121055bb369774bb144827bb78feb4ba011569bbc23783bb7a2d3fbbcb41c4ba6a1955bbdc2171bb4df040bb487200bba66e65bbf57867bbc10d2dbb9ee200bbff5d50bbf2c651bbad2719bbaa88b0bab49b1cbb11271ebbdef4efba73da87ba514bbbba47c0abba6ccb4fba9204323bf5614a3bb9ddc23ef599213f28d1463bd678733b31afab3ea6800e3f65c8733b18dda33bfdeb933e7e83f43e5405923b712cb63b19d3773e59c6cb3eab10883bc95aa43bb24d463e7292a23ed7d9863b2555a23b0ddd153e47f3733e93fa7b3b09558d3b1714c93d4724223ee62e193b438f8a3b7a7e503d88bba23db5fee93a976dcf3a199ab03a56c9b3b9c038ffb617915d3a00000000000000008acda43abdc2fd3a00000000000000004d3fd93a4e6fe23a000000000000000091abb43a08659d3a0000000000000000a7891a3add15233a000000000000000004652bb9244216390000000000000000523388ba07c201ba0000000000000000c17cb5ba5164c93a000000000000000030e0ecbabcd159ba0000000000000000852734ba5a899abae16373ba7010b0ba891d55ba6f92e9ba14a62cbb66d844bba6f978bad374eaba02d020bb196b29bb7637abbaab19deba401746bbbb0843bbb206ddba1c031fbb6b8437bb533a36bb78adb6bae8a51dbb72d53ebbe0d431bba1d496bad638edbac2f904bb1605f4ba377594ba1190dcba938ffaba2d7fd6babf2e02ba2a9249badd876dba1d231dbaa017baba392937ba90a5933a1445443afe823abba720c0ba9551043b31669e3a8d1f2cbb21a4d0ba1ee5d43ac980603a26af64bb950ba8bae8c0d63aefc13a3a79a224bb3e90a3ba8497043a313f99b90f8722bb8b0b8fbaf4b6c23aac7e6d39fe8cdfba16b917baa1f73c3aca32e0b8c522b2ba1e6ec1b91700d43928d7e4b90dfd0bb91f0e12b9257620b9eb87fbb960fe7e391c11d9baebd93ebbd5df52ba0b981b3831fb38bb1a0985bb45441cbbba7b03ba59f034bb689363bb232319bb1e9298ba62da68bbefe581bb8f6e2bbb7111e9ba3d2f67bbe6326fbb451f32bb8e71ddbad40c6dbb2b9576bba54843bbd120c3bae57431bbb23334bb2c8e0cbb72cfe3ba6a012dbb52b536bba6fc00bbd41486ba9a29b9baf3e5a6bad2c22dba8820a83a6e58143b2fb2813eb03d423f63a8433b486d943b9a53663eab1d2b3fe83e553bac86963bb3e8453ef741123fa343833b0590b63bc0e9263e816cf43e7106973b43477b3b469a063eb746c23ea3f59b3baad5b93bbb85cc3df367923e5b26643b7d257f3b2036883dab3d423e8a11653b518c643bfe720d3d47fcc13dbe5ea63a11a9ab3a5722a13a1af0cfb941d0153a3140af3a000000000000000000f9c03a461a153b0000000000000000f8d9b53a6e70d33a0000000000000000d448ba3aa063c53a0000000000000000470929368ffe0a3b000000000000000072691ab649dfab390000000000000000dd1156ba0a52b1b9000000000000000026cf10bbd4142bba0000000000000000dff009bb353548ba00000000000000002e6692baa530be38df651dba221e43bb490e4bba34c6ebba9e7433bbd91a4ebb513388bab5e90cbbe4c64bbbb3525abbdff588baaff5ffba6fd835bb73b733bb16adb1ba5e9715bbf58d3ebb19813dbb568dedbaf5384ebbbc70f3ba4d02eeba5d5a8eba4de107bbed3629bb42831ebb6fb299ba859dd8ba0a4ff6ba7618b0bad04428bad5e583badac58fbac63835ba55bb3dbb1f320339565ed039429f053b9e9447bbcf1bddbae4d90c3b2133ad3a2f8446bb6ab390ba1b7d063b553b983a796890bb4eea38bb2269143bdb129c3ab87425bb72e996baffcfcd3af2f2263a098ee5ba76d26bba2d58d23afee59539a0e504bb868541ba168f903a5493ff37236b7cba9cd9bcb9190d7db7741343bac4f851b9004906bacc186739b568c0b9aab9ecb95f6825bb1bf878bbde10eeb990982ab7654d47bb50758cbba0a028bbeb09f6b9424561bb00a78abb9aa338bb5c7d35bad76361bb107080bba07892bb2f398fba688a59bb168e66bb56f52cbb93eff3ba60e985bb0a908ebb290b68bbfb6cddbaa4a254bb860154bbad6b23bb9371ffba51ea3dbb125c2dbb9884efba1dfa9cba162bdcba559ccbbad2f586ba2b3f093b0993803bbad4013e21fb623fd2ba3e3b701cab3b212feb3d557d473f1dcb6d3bf80dbf3b9071cc3da0eb2a3fb145933bd4f5d33bd935ae3d237d0e3f430c863bcd1ab23bf3ba8b3d6221e33ed606803b0b1fc43b9ee6583d7d7daa3ef21a893ba8cb9a3be060133dcfae623e12558f3b7b8c983bdd11963cf970e03d03a6123b9c7f063bec15e83a1396afb914b3093bdd143e3b0000000000000000775a093bbc881d3b00000000000000000e0b0b3b1993043b00000000000000004f560f3bdf9f093b0000000000000000f3a3953a02088e3a0000000000000000c0b032398a9e58390000000000000000713d5bba7dc07cb9000000000000000034632bbb36839aba000000000000000009e912bbe5d860ba000000000000000000000000000000000000000000000000cc2f3dba24bcb2ba767a19bb6fca30bbbaf551baab4cd5baddb127bbf94735bb50de90ba5fcd02bbbbf538bbbf0737bb4b7761ba0032e9ba8d7322bb31d126bb314583baf759feba48a32bbb125727bbe8b79abaf3c407bb5cf627bb91b61abbdd378cbaf697ecbace0dafba7ddf9cba0000000000000000000000000000000000000000000000000000000000000000ec3222bb5358c2ba9d6fe93a4c97ac3a81ad2ebb5945beba1977ef3ac9819b3aaaaf27bbaa65c8ba9a96da3a643a723a567d0fbbbb6281ba8036c53acbd63c3aaa7b1dbbf6e4a0bab55dad3a4dd5e1390a07ffbad283b33a48b6453a9bbd31b9139480ba9f7439ba2f4d0c3a6156b4b9000000000000000000000000000000000000000000000000000000000000000048924539c4602abb968f6abbe57e19bb724996b9d9ec3abb691665bb82d91fbb7a3f34ba35f74cbba86e64bb09b524bbf1844ebab6ba37bbbfd742bb829613bb186d9dba76b640bb1a8044bb4c691fbb50a3e3ba24084abb306843bb501919bbe366dbba5a5735bb5a1beabaf5ccaaba000000000000000000000000000000000000000000000000000000000000803f8277123b99a5993bbe408d3bda08633f9fad393bb569a53b36f09e3bd078423f8e4e633bf7edad3bba26af3bdb02223fdfce543b287a993b6b759b3b4659013fa8af6e3ba96e9a3b92e39b3bf1f3c13e9904633ba12c853b32a0803b63fe803ef317453b5394523b0391423bcc7c003e0000000000000000000000000000000000000000000000000000000000000000ca021e3b4933143b000000000000000082561a3bd2b8f63a0000000000000000a1cd063b7ff3ba3a0000000000000000c58db23afe766d3a00000000000000001b5d353aa7c8cf390000000000000000e8652fba6f0be7b900000000000000006969eaba6e8a81ba00000000000000000000000000000000000000000000000000000000000000000000000000000000ed47113a9a770b3ce553863c8608483c5038db3acd3a1f3c6c05823c399c623c1ef4413b16c4063c8dab513cd56e343cc9cc2e3bce52e53b715b403c97d5103c716e003b303bb73bad89163ce7d0df3b711b783a09558a3bde860a3c0dc1583baa1a74bacf41263b9712ab3bb6ae1d3a0000000000000000000000000000000000000000000000000000000000000000a1093d3a4cba10bb97ad06bb6058e4bc35643b3bd681fcba49ad99bb19f509bd1883693bec854cb9b799c0bbd7b50ebd4ddc6f3b6013e0396395c4bb91b902bdb578563be3ba9fba34998cbb802ecbbccde9093a317067396d10daba112979bc443bb6b942d669bae6cf8b3a2a1d57bb000000000000000000000000000000000000000000000000000000000000000094b002bee9eb1abdfec4b33bccfa00399525fdbd474927bd46ebc43adda07639b4cddebd9ccd27bd4d93edba52cf6eba800abbbde9e10dbd214e1ebbff7359ba0df194bd886ac6bc4d1b29ba1850a53a5b4d56bdf65c3dbcd641933a473609b72461e4bc2af04f3b7bd44a3a44f1f53a0000000000000000000000000000000000000000000000000000803f000000006a166e3c4c027cbd27079e3fe3aa65bd1c524e3ca857d7bce322833ff15becbc951d263c8384a3bba91d543fffa34dbc8d63183c1a09893b7d72213f80132cbc0e9da13bdc417b3b19aedf3ef87947bcbc97263b14562dba1ae5803e888993bc56bb1abaaa4539bc395e943deca5dbbc00000000000000000000000000000000000000000000000000000000000000006784eb3b6cb6e1ba000000000000000057ad893ba1fcd5ba0000000000000000893fb73a462282ba00000000000000008c9cb1bac3c521bb0000000000000000bf5099bb75f198ba0000000000000000dee7fbba65fef9b90000000000000000ec45bdb882ae4dba0000000000000000000000000000000000000000000000002da5c1ba8729a33bbddf093cd081b43bc88112bb064f3e3cf2f59c3ce14f763ca3be873ad3ec4e3ce4cba53c45208b3c2ae9323b5741373c4289903cc3aa743cf4b1343b1340163c285c683c3620443c4d29df3ae500f83bf8fd543cdfc10c3c7a866e381808903b36b02c3c39b6aa3bbe6bebba0d08bb3970fecc3b5751d93882e9b4baad06cdba19280f3b73d606bb75c79dba6178dfbaef92b93beb23abbcadda27371915a2bb07f9e03b1ffce7bca5b4023bb1163abb7b420dba49b511bd13a4c03bb17a56bbd96752bbc66e17bd94058c3bbc735fba624779bb805a05bddc9d473b07b2debad8f4b8ba2742c2bc64139a3a5434c4baf51e993a6a3045bcf4276eb9ee65ecb93b232c3b94732c396c990fbab5f13bbad106423b709bf23b1dcf8abd367ec2bcab14113a4594663b6ba203bed0171dbd7a549d3b48b9853becb80cbe935956bdbe52a4b95c7d2f3b8819fdbd886b58bdafb419bba92a283b002fcdbd810d35bdb94b37bb9f7f943aa444a7bd98d402bd11d7d6b9f1c4ca3a5e236abd68bd84bc5898803a18d7aa3aba78d0bc70232c39c4c8183a800303baa85720bbf924203cd8f6b53a6bfbb13a0f57813cb4e804be3d9b9d3f2cff993df7d3a63c710e08be806f973f798a763dc66c733cdbfca3bdf306823fd785983dfa894a3c2e663fbd79a8513f3ba6903d0b9b053cea01d8bc225c1d3f9d3c6b3d985acb3bfd75b4bc6308db3e56630f3dcb76933b58a7b7bc1540773e08e74c3cd084e13bd310bdbce406903df268dcbb82d30f3b85aac3bcce685bbda4bedcbcc3a78dbc5511ceb80000000000000000c02898bc39d6fcb90000000000000000dcbe7abcafe653ba0000000000000000729283bc968179ba0000000000000000d67569bcf37f81ba0000000000000000b1977abce121483a000000000000000075a645bc4aa0593a0000000000000000436e6fbb10a1853b0000000000000000aa3543bb04359b3a00000000000000004164a6383a01953b6102ac3b96f4923ba43e39b9a09e113c263d663c1c643f3c5a44e33a493e0d3c81a7563c981f573c981a393bf7ba1a3c027a6f3cfa9a623c45a4c53a8fdfdc3bd1ac3f3c33072a3c0004003b59a3d03b0bed3b3cf5c1133c62da9a3ab35d573b9d60003caf7ea83bca95a2b978cba6382f1fb33be0fe023b809891ba4da98dba36dd643a8ec35aba195e783a27fb5dbaba91ae3b5e0eb4bcae843b3b84741abb0934ac3b6fdc00bdaf49ac3b716330ba4d6c82ba915205bdbd60cb3b1f557bbac76acabac7710abd543d933bdaf2a1b9c6b423bbbb3fd5bc0f266b3b2f7a9db93c3ccbba912fafbc21b9223bcb5351ba6118e0397b6544bc121705baa23c9eba6849213b351155ba4d74f1b96a14a9bacce6663b9fbacd3b88891ebd0c08b4bc91f90abc2daa873b4e48c2bdc4614bbde3fd04bc37c4b23b162cc6bdaa6471bda26a3bbc3909223b3a1bd4bddd5c7cbd531f18bcdaf0023b737ea7bd1f4749bdaeb004bc4c38a93ae6b694bd02a223bdb71a8dbb8abe153bdfdb3ebdfd7ec5bc95ecd0ba9972023b54d3c3bc5822c2bb2563063b1aecf63a9d6750bb5c64b73ba927353b0b78fd3a16fb603c257401be7cc7833fc57d833e1bfdae3c3b220dbedb80833f4103773e36ee813c8d1e9fbdfaa0593f17ee673e5ab1573c531d89bd2fa73a3f2447413e87982a3c15e823bd1fc50a3fb98c143e1056103c02a419bd4200c83e8db9cf3dd3a09c3bc6f7e9bc8d916a3e5eb95c3d9154e23bd01406bd088da53d61e9093c782b653b7048cdbc93e7dabc764bb3bc8eb832bd86a7653b0000000000000000198948bd581d893b0000000000000000dac30dbd5e98133b0000000000000000d99a09bdda7b813a0000000000000000c7eee1bc977a583a00000000000000004dadf3bcf09c933a00000000000000002a28c3bc723bf53a0000000000000000f5299fbc3dc4903b000000000000000080a63cbc380d713b00000000000000009a76af3a8e33373bf4c24a3bc2e4733b999a1d3a6132ed3bfd83243ca1fd3d3c392dda3aec86103c312c573c1240693cd12adb3ab26d103cdb23533c7c5b613c80865c3baeeecd3b47562a3c11b9423cda060e3a924ab53bb85d173cad60113c1ec7423adf893d3bf345043ccb12eb3b7b5874b91d5aac39dce2703b7f83463bad734bb91f18b6ba723a9a3abfa869393c2f3f3ba08303b9170d643b9d4bc2bcb826a63b8d8dbbba6e79973bbe4901bd7422013c6a5d56ba46a36a3ae23600bd4d8bb73b9c57d1393fda9fbae3f1f2bcff1cd93bbd9ab53ae44f3abb9394d6bc9f569b3ba11157bab524253a3fcd90bcbe40f83a84a351bab9e6743a68b816bcfcc20a3a5a8abeba9e48243b74f6b9ba46ab3eb948addcbab61a4f3b72718c3b0afdbfbce869d2bccf9d88bc2b4a893bc12b8ebd81ec71bd49c691bc43afca3b2bd3b7bda22895bd79f395bc4221973b7eefafbdd6a78fbd022085bc5387583bd34d99bdca827bbdc8116ebc7b85db3a944079bda1e140bdc78701bc71f08b3bdb4d32bdbbe3fcbccfe04cbba87b7d3bdcf8afbcea7433bcc440ed3a1391523bdb6c2dbb162b6d3b965f7a3beaf8603be371233c2c5cd6bd4fb4563feebde63e8456903c9695f5bd80db553f0c8dde3e5743733c0fddb3bd22663c3f8b94c43e3094383cfe8380bd2b2e1b3f7d21a33e34ce203cce393dbd0e8ef03ec65c7c3e9e95ed3b755c20bd7e38aa3ef5362e3e258ad93bde6b1cbd286c4d3efe2bc63dcb19cb3b373c08bd841ea33d53b1df3c3bdee73a86a7e2bcdf3156bcd16bbbbc06f884bd3472913b0000000000000000a0ef9ebd737d253c0000000000000000e6ee7dbdc4db9f3b0000000000000000126455bd5e765e3b0000000000000000956e37bdcfe0ca3a0000000000000000111529bd9c8f203b0000000000000000478916bd45b10f3b0000000000000000c81efabc3ce8bd3b0000000000000000868db7bc0b83623b0000000000000000b361813a10192b3bfba1433bbc4f663b7e11d13ac196ef3bcd4ffd3b33141e3cec479b3a496cd33bdbb3333cf701533c4768273b3593f23b877b333c9734503c409e763a9edf813bee33cd3b63fff83b4944e83a2f16c13b198a0e3c2742193c0d24283acf8f3c3b6490b53be6bfc53bea7a31ba6695e53a9251193bae95553bebdd89bac74154ba4ca05a3ad5fc893a0167623b0358083a52f1713bdd65b6bcf3a2ee3b906d14bad1990c3bf387e8bc80d0fc3b1a9f3d3a41d0063aa66ce3bc1592203c3b06af39e791eeba8989e4bcc304a73b6370ec3aa4a406bb966795bc017fcb3bd0eed239d3472cbb735d8dbc34f33d3b962a47ba76eb863af88f12bc03d2ef3adef014bb7924423b7708efbaab3a6cba66fb85bacb0f543bccaa1f3ba5e86cbc3812e7bc724dbebc3d12a03bb3ee58bd980389bdc442ddbc2f130b3c8ad488bdc9aaa0bd7e22d4bc927b653ba41e92bd77faa4bd4779bebcfb30733b92494bbd214c66bd486397bc1e7f293a559059bdf71362bd053e53bc934b233b42210cbd19d40ebd358178bbef1b803be2468dbc186d8dbc4900353bbac3933b72e786bad2ea54b9d12ea73b7b577c3b538bee3b043eb0bda2a8243fad7a243f280d523ca302bfbd1c36233f43b6203ff55c3f3ca2c085bd56390f3fb4b80a3fe51e2a3c50fa53bd5a06f43e091ce73eee70f13bfa1be4bcee70b43ed126a83e61e8073ccfcd10bd1d138b3ea9c9783ecbb4c03bf39a04bdef80283e71620b3e75d4c03bad2102bd569f8d3d3ee33b3d5a363d3ba01bd3bc0458a8bbfbcdb4bc79a2aebdd946fe3b0000000000000000f7a4c9bd794c173c0000000000000000d50a99bd5999033c0000000000000000869c87bd3e61743b00000000000000001b1432bd52d8bd3a000000000000000039b552bd826e623b00000000000000006b5233bd98ab533b0000000000000000ca9122bdac76d33b00000000000000006feaefbc191c813b0000000000000000287a8a3a32ee223bea2be53aa2eb813b894d3c3a4d02a93bc3b1023c7d95443cf29d393a27ef0a3c80541f3c7228833c571cb53acdd8f83bd3a8373c9e7a573c55f9133b68f1a63b78b31d3cf4224e3cff0c403a42cfb83b3863e73b89671b3c18238b38eb0c893b07af943b2fb1183cc6cd96390ae930b922562a3bda6bbb3ba45274ba16a34aba89288338f249a53a6b687d3bbc49a3b888c74a3b470ba2bcd1e51c3c881fa3baf868863b7ad8c8bcbcff223c4b0e833907d0313a4eafcbbc6ac91b3c4927863abd6f2aba2ac1b9bcd741083c6e3e823a47e7ecbac6dda0bc06d1db3bbefacb396b7787b904ac60bc00d5253bbdb6b3bac5c84d3a11b0e1bbfddabf38ca002dbb95e7d03ab85f7aba221c6b390f15d8bad406793bc29f173b63410dbc7d670abd091ce1bc782bd43b2f6733bd26b3a8bd0e5600bd09541f3cf90e7abd34f3c7bd7bf400bdf5beae3b23757abdcbc8bdbdb56ee9bc8f69a03b520f5fbd17c7a4bd21d3bcbcf841263bd8d837bd5a5980bd91a95bbc66f3693b592903bd100033bd2feb79bbbbb7573b59cf6abc7334a3bc3cef6a3ba5588c3b9a3693395a7127bb35a2bc3b9ba6713bf827c93be76186bd8779e63e9782563fcd6a283c2e8f93bd4a83e33efe96533f1e8d1e3c056a5bbd18a2ce3ee217393f9e96023c5b8227bdf845b03ef8ff153fe157023cbe2205bd466a8e3e6b0ee43e0adce73b29e6fdbc04a94f3ebbc49d3e0de7be3b190dfebc9557033ee7d6363eb806cd3bcb57f4bc34135f3d16db6c3de0605a3bc9bac9bc1a819cbbf606c6bc6c09d8bdb994353c00000000000000007ba300be19d3813c0000000000000000450fccbd9e5c3c3c000000000000000093c1a1bd2381ee3b0000000000000000bfdc82bde7fd913b0000000000000000447e72bdff40b83b0000000000000000814557bda576c63b00000000000000001f2635bdaab3133c000000000000000052e406bd26feb83b0000000000000000a9a70aba3aef1d3ba7634d3ba07ba63ba9adadba8b90ae3bf3c3073ca847703c93cff6394b5eab3bca76183cf455683c95a627370541c03bd776303c9fbd813cf6634c3ab252a83b4e1b0a3cbd81403cda5025b951b7833b8fef003cc220423c28230f3955b23b3bd5c59d3bd9e8073c942db0ba2482ae3ac56ef13a8237b63b98f23aba813e7db97c69aaba44c93f3bd2e6c63be699fcbaf908903b870869bc395a393cafa37dbb39f4a73b9a3f89bc44583a3c03a8b7380dd170b9eac98dbcbb633f3c2ae1e0b8990fc33a991590bc153ef53b9872993ae06799baef1363bc22a6ce3bdcc58ab94638fe3965841bbc516c653ba29628ba5764c438e65aa4bb8c6f11bae3901abb821b0b3bc3334eb97f8ab3ba791449bb4aebcb3acd425b3b543e26bc7e453abd48d7d3bcf562203c22361ebdf78ed3bdc19203bd1e294d3c72813ebd3e0ed2bd5c550fbdabcb983b421d59bd2a1edfbde2d005bd7898b73b117037bd2f15adbd56baccbc2e6b273be95a1fbdc0f896bd73ab85bcef2d8f3bc559cfbc1b1141bd80aedfbbe5f6473ba26a39bca009c2bc6205a83b0706573bf6a2dc3a0b3d0fbbf0781f3c4814593b68d73b3b33bf36bd5650833e6abe833f0216b63b1e3a3ebd217b813ed6f7823f3c70c13bc9cce8bcea41793ec700573fe41dae3b614fdebc32855d3e71df363f234ead3b00379abc6b62333e6508073f2419da3bf576cebc9bf8093ea41bbe3edf61a03b7045b7bc0834ad3d1ace5a3e2f4cdc3b18dcbebccc8c0e3dd514893dd8d76c3b7a6d93bc8fdec6bbd22612bd870801be885c6a3c0000000000000000f1b714be0b789c3c0000000000000000def6b7bd4b1c333c0000000000000000cf8cacbdc3d0e93b0000000000000000b43d79bd10d79c3b0000000000000000b5b36ebd522da93b0000000000000000eed242bda0596a3b0000000000000000524937bd4393323c000000000000000075ab05bd2e0e103c0000000000000000cb9891baed801b3bd0177e3b6641f83b0a5c09bbd337653b2ec92e3c1dd0a53c5477c5ba0fb7bb3baf645a3cda62ab3cf15e04387d87d23b571f363cf91a9a3c3673bcb96fa2a43b6b82203c606b713c81ece6b9ec20963b29b7023c4bff643c518c54ba40fb293b4bd8bd3b9203303cc339b4bae49dce39d193c63aef78d63b5cf58aba7bbd0fbad7d29eba4b02023b1d20023cd92c95bbfc32893b07fa0bbce3db5b3cccd9f5bbcca8443b2ee6ddbb859a7c3c75b953bb798f563a143a3abc778e5f3ccb00d7b9f4ddadbaa3bd47bc3e60283c58e77f3a8a8a5dba5cf31bbc2dd3f03b384574ba2f2e7938446cedbb87fc553b002ee7bac89abf3952fd27bbf0b38fba9ae429bb5aa2983aad0be03a7e6e36bb3970daba11b8fa3a78b2513b514651bc544795bdcd5ec6bc0725273c756d02bd044207bedc55dfbc3ae3783c790536bdf74a10beaa7018bd7d4a093ce1a33ebd0c7701beb69414bd2db79c3b239328bdff8fd1bde7e2f5bc5976253b234d0abdeed2a9bd9dcd9dbc4f4d743b878bb2bc507c6bbdff90b4bb51846c3b7e10b9bb6810ccbcc2a4eb3b5be5073a8bd5983b62a3b8ba79183c3cc1d5df3a40984f3a466b9abceb479a3da7a79d3f14a16039151880bc497e8e3d8df3963fbcaa463b0bf729bcb2aebd3d0530813fac284c3b10a802bc6b07c43dcb614f3fd1525b3bade9f6bbb5a0b23db5181b3f575d793b8cad32bc6395883df733d63e8e1fa13bca746ebcf990293d089d6e3e955cc43b559458bcb085473c7c7c7c3d3d5c593b23fb51bc738e41bc831d6cbd5e9004be6eb6833c00000000000000008b0110be0e4c9c3c0000000000000000d904c0bd430d2d3c00000000000000001c4687bd37c6d23b0000000000000000cc1449bd23b35d3b0000000000000000407a39bdf8a2573b0000000000000000b86e2cbd6742b13b0000000000000000a50f05bdfb663e3c0000000000000000be6c06bdf6e00b3c0000000000000000000000000000000000000000000000006585c8ba3fab433bd0720d3cb0a5823c8a0945bab2cd893b0ceb1c3c5977743c58463c3a4439823b3f410f3c55c75e3c2391c2398fd6b73b97859a3b3ae3373c5abb98b9dbe7833b466bb83bd1721a3c45ae2cba21e5183b276c873b1dfe0d3c5de189bacc99b23a777b653afc84cb3b00000000000000000000000000000000000000000000000000000000000000002f784b3cfd6d46bb38adf13a91da6dbbe612563cfeb01aba121a67badba3d2bb2651223ced871f3bd6d40bbb1c9f02bc7b76063c0919003b0eda5fbbcd82b5bbf570e23bd8691439e37411bb0b227ebb6f95603be4b228ba19ee0538401077baee3ebb390852aeba2600b4b94082f63a0000000000000000000000000000000000000000000000000000000000000000f80bf4bcb74e04be3e9cfebc4823893b73dd11bd90c5fabd2b2811bd1bf8c63a257814bddeb2dcbd59c717bdf3374abbf34104bd6ae9b9bdd0f9f8bcae48d7ba094fd2bccf9c95bd7f9bafbc69d2ffb9dcdd83bca1c553bd1a0b19bc8c129c38840196bb8c41ecbc98a38b3bedee113a000000000000000000000000000000000000000000000000000000000000803f71ecbcba06b31b3ca42046bdab229e3f3255683a2f7c253c3bf167bcb5f5823fd99b1f3bde680e3c98b1d73be2f8533fd178863b3cedac3b80e6703c568f203f7f44863b82cc46395466383c0475df3e6971163b5ec064bbcaeb8d3bee2d803e3b57543be8c4b4bbfd5af9bb0ce5933d0000000000000000000000000000000000000000000000000000000000000000adb78dbdc47c3d3c0000000000000000aa4920bda97cde3b000000000000000094e2b4bc6b35603b000000000000000030c185bc6f27c7370000000000000000a5378ebc6dacd8b900000000000000003b0e9cbc91bc4b3a00000000000000003efbdcbc68f6f43a000000000000000000000000000000000000000000000000000000000000000000000000000000007101883b404f003c6920313c9d404a3c20b6ad3b2db8173c6204523ceea64b3c4a76ac3be8d0f73b4cc0363cb1f34c3c7acd9f3ba9caf93b2734333c66d3103c8f6e943ba141b43b2273153c00f7f63bf9eb213b19ccaa3b7b5f013c8abb9b3b5aa4973ad7be323b6b58ac3ba053e23a000000000000000000000000000000000000000000000000000000000000000081bdfd3a0ae473bbd8f022bc6a7713bdb69b763b970549bb302275bc526725bde34f8a3bdfa503bb34e088bc7cb428bd05da8a3b6198b6ba6b1083bccd3f1ebd6d821d3bfd1ed1ba191948bc09e101bd31a0b839812612bbd5eadcbbab5db1bc7993beba7e74c2baf6cb8fba9c1923bc00000000000000000000000000000000000000000000000000000000000000006728c9bd6ddb3bbd0f4e5f3a5feb6b3bc530cbbd635139bd275890ba76ac4c3b65f4babd15032cbd08c803bc67b2833b678ba2bde83411bd85646cbb3b16d83a225385bd07fcd3bc71feb0ba31b3813b089c42bd5eee52bc2bdf1a3bf7596e3bb9c5e0bc6bea653a4f25923bb5736c3b0000000000000000000000000000000000000000000000000000803f000000005e927e3cf4a8c1bc66e9943f9f56d4bcebbb913c26dcbc3b0894783fdc1f58bc2a79b03c4f76b83c691c4a3f0bbfe1bbfeff993cf5afdf3c65841b3fd77a24bc23c4623c4180ba3c10bedc3e44b199bcf581ee3bbe06303ca05a853edec3e1bc6175fe383892a5bb9cb1bc3de02c1ebd00000000000000000000000000000000000000000000000000000000000000006254143bb32e24bb0000000000000000f11c06bb9aa3aabb00000000000000009aa0afbbb4fdbbbb000000000000000068e326bc5dc3d2bb000000000000000024b148bc4171b3bb000000000000000078b227bcdb9789bb0000000000000000755f05bceac120bb0000000000000000000000000000000000000000000000007464063b45336b3b4501943bbe628e3b41358d3b8bc7343c0d1d743c3634463c56d9b33b2ccd4c3c590f873ccb31753ca477cc3ba1cd393c1104893c14f8693ca408a83ba1041a3c94155c3c4fdd3f3c97cb8b3b1c63103c8f90553ca3f81b3cce7f533b5b9ba93b0617233c6a4bb03b87e8a2b8c60cf23ade5db23b6de9373ab89dc4b91f9889babf580d3b501bd5baeacb193ae2d9f7baff0055ba251cb7bcd837bcb78e86c2bb665ad1bbab8c1bbd3a945c3b76a9debb5bcb5cbc1e8238bdfd68803bfabfa4bbd9b78fbc22c536bd7cd7463b84583dbb1d0a7cbc777524bd0f94863a60e979bbb4e141bc200c08bdb88883bab78a39bb14efb8bb7b95abbce6d907bbaa72c1babb681f3b8232b1bb116e05bbc1a113ba9141913b5fcd793b12d044bd06c607bd58e39fba9202a33b0945c6bd329745bd104b2a3b64b61e3ca899e0bd2ee569bddb5815bb4cdf183c6460d6bd867d5cbd88404cbb6bbdce3b7bcaafbd0ff636bd10d368bb865db13b917595bd5ff605bdf8056e3a2712de3b4f0e55bdf80b8bbcb4828c3b83ffcb3bc79ed3bc93303fbaea56a23b99883a3b924c7dbbbf3d083ccae09f3b0722063bf6cffb3bad8fa9bdd16b943f4155da3d5a9e823c4a069bbd4e8c8d3f22e3b73da276a03c09b5efbcd277723f4547b83deef9ac3ce59e6fbb1503453f61339c3d4112963c54bc193c8c0e153ffa61683dda0e533c3b23bc3b7ed9d53ec5cedc3c6d29dc3b4d5a6bbbdb237f3ef74700ba3483243bd80c89bce03fbb3d9aa7bbbc770f97bb3d52b7bc30d10ebde9d41bbdee0680bc5b3898ba0000000000000000aa81afbcf0944ebb000000000000000073c297bcee39bebb000000000000000037389bbc1e18cfbb00000000000000000f59a2bcc098f1bb00000000000000004acab6bcbdf5d4bb0000000000000000f512a2bca28772bb0000000000000000c0c52bbc9a1d233b0000000000000000dd93e4bbdba4203b000000000000000002d3ef3a660a863b80f96c3bbeac813bbbc6843bef9bcd3b2445363c6bbf373c93bd813bf816043c52902f3c015e473cd695b53ba5ea273ca158753c3a99643cf599983bc6f7ff3b522f183c073f233c38977c3b1199f83b44794b3ca6850b3cfe9b393be256843bf475013cf196c73b761da83aef918c3ab2b19a3bb0f80a3be3c184b9b2f395ba53c2a73a49420dbaceff0a3b9b4df0bafd56d1bafc06b8bcbe3a823b90668cbb9d189ebba2dd0cbdbdd8943bb0bbaabaf4d441bc4dd415bd5905b43b2c124bbbd2b160bc2e9e2dbd4fd2b23b6981d1baa3985dbc1e4b0bbd74e0123b01112fbb2dea31bcfe5ef1bc847fcf3a40580ebb3a00e8bb3c2b98bc11905eba8c6f08bb41423e3ab286cfbba61fceba67e98cbab48b643b7eec7c3b96aed8bc9729efbc13e51fbccbedb63b1f0f99bd3ea167bdc7952dbce63e203c042a9ebd478370bd2da865bc20f26e3b0a29b7bdd45d81bd7aec38bc1addc73b1c9d92bd1f014bbdbf5f22bcc4518d3b234187bd96ee23bd0e4a2dbb70d1f33bb88033bda0a6cbbc8b7120badde0a63b75bdbebcba97e0bb3c06983bcd3db03b4b5146bba5b2853ba11c893b41637a3bfdd0f03b7181b1bd898e7a3f058d8b3e6ab0963c7e55b2bd0499763fdddd823e34fa8d3ce9e703bde8d84a3fd18e6a3e99e5a03c3c7fa8bc58e92f3f83393e3ef4398c3cf14ca4bbf707053f27640f3e50255c3cc13af2bb9339c33e8f35b73df313003ccb26e3bb1c3d6e3e7895393dc457273bb4b8b2bc164cc43dd63658bb3a9b1fbba572b6bc564348bce37effbca41f0dbd9382013a0000000000000000a67b29bdc42e43ba00000000000000003a12f5bc81593bbb000000000000000039110abd2922c6bb0000000000000000a989ecbc66d8f5bb0000000000000000e29809bd428de8bb0000000000000000458ceabc2d1f95bb000000000000000097e2cebc7ee90c380000000000000000708b60bc7c63563b0000000000000000b10ef13abbaa373b874b033bb721003b7c4a733b9630013cfda5143c31721e3cc230b93bc8d1043c43ec4e3c4d4b5f3c3f158f3b552d153ce7f9463c6a65543cd13e863b3958053cae843f3c2477493ce69f5c3b2adde53b6a0d1f3ced62243c2eb8173b464fa93b1e8df53bb5b0cf3bf826863ab1c3083b668b813b8cbf7a3be562c939a511bab9f52c5a3ad86bf4394283fa3a0c57003aee725dba3473b1bc10fdbb3bda8e22bb0be0cebb744b11bd7867d23bfec32cbba23042bc31a01bbdca51cf3b103925bb40db57bc4bd519bd15bfd43bf1e79fba553467bc916e0bbde929073b1a730dbb57671bbc52fbdabcba98d33acd621bbb8fb7d1bbbc2d89bc0c0fdbba1ebd15bbc08937ba34bfd3bb0d319aba9dbfb0ba95f6d33a3414fa3a4faf71bc1e2bf0bc664b8fbc43f4903bd1dd63bdfc1c78bd4e08acbcef43123c6d339bbd566c93bd9bd09abc9a4de73b21019cbd5f0f8bbd7b5f8abcecfadd3b43698cbdd28c76bd0d137cbc7b9e943bd46069bde6c33cbd8fa8bfbb3ee3073c89e527bd4ea4f3bc074d82ba0cd3f13bb5c2b3bce8854cbc1437823be52ef33b8a554dbbb3b37a3a3220bc3bfee0983ba27bb13b7b5492bd5fa24c3f9842e53efd01663cd39b95bdb1f14a3f5cfed93e96c6983c41672abd9e8b323f6582be3e979e973c030fa3bc149f143f64109b3eb89b963c4f5e1bbca967e73e42f56d3e49225e3c9d9935bc4ae2a93ed54e1e3e0e2b123c63dc82bc21d3543e96d7ab3d3d70853b2de7bebccd29bb3de332953c68762bbbed3fb6bc255786bb9d85e7bc517f3dbd0d0af93a0000000000000000e67971bd4ccfb03a0000000000000000bc214fbd80a464bb000000000000000058fc3bbdc8d8a1bb00000000000000007b122ebdcea5ddbb00000000000000009a9d39bdce90dfbb0000000000000000f6602fbdd21581bb000000000000000009c40ebddce8f33a00000000000000004aafc2bc64b6bb3a00000000000000002cc4ba3a59a8063b2de99d3a03c03e3be81e3c3bf80fbe3bc57f043ccbbd033c7d0e513b7b63023c282e1d3cab89463c78ed873be0dd163cdbcc383cc6b55c3c7ab0153b004f963bc417ca3bc2a8053cab014e3bfa7ee13b6df5153c034f353c6251f33a06489b3b6002c13bb6fde53bdbaa333ac206183b43632c3b6e2d7e3b4eb8c2b99d3c93b81d08ed396ff3943afcc8723b3585323a563e65ba98999fbc16d3073c822eafba64c997bb052505bdee32da3be2e720bada3f1bbcb5590bbdff0e0a3c1fe03dbacb0e55bc1c930ebdebe1c73b80a1843a7aca31bc4a0ecfbc7808b33becbdceba09dc24bcb6cec8bc6c86be3a98b703bbe824c7bb04ad7dbc58b14e3ae8832fbb720adfb931b9bebbb9c6c2ba4904d9ba83ee013b6fc5b53a83320dbca9e4ffbc9b53cbbcd1589e3b42db2fbdb12f82bd7e88f1bc1f09ed3b35f270bda3d897bd0b3ddbbcc904b83ba28987bd2c789bbd6f9ecbbcba2b973bce0b47bda6655fbddacea4bc53af733ab39657bd205a5cbd3e1250bc9aa6e43b04b10dbd97ff09bdb59357bb9923ee3b128c95bcb50287bcb41b403b5489f63b54fff1ba9e4ea8399b67d53b647fa83b19b9823ba3d773bd511d203f768f1f3f99f7503cf93b67bd0a561d3f150c193f6dda7c3cc0ace5bc11ae0a3fd9d2023f9d82933c84ac7dbc471eef3eec3dd93e316f793c94b18b394d77b23eff109f3ec00a5b3cd01b17bc94538d3efff6663e74a60f3cb4bf4fbc9da22f3e522b023e570e8f3b1486b4bcd44ea43d3760233dcac5b1ba65e0b0bc187160ba9ca0d2bcd99a79bd6059813b00000000000000009e4695bd2c4b2e3b0000000000000000043268bd245c8cba0000000000000000182668bd5661b2bb0000000000000000e91c1cbd66bed3bb0000000000000000041158bd722dfdbb00000000000000006e3f40bde7f693bb0000000000000000565835bd06e3c639000000000000000041f505bd0545373b00000000000000004d3ca53a8efb233b8b86e43a2777143b0109243b8247e03b0feee43b1f76213c10d64d3b602a1d3c1a0a2b3c4c3e533c71e74e3b58a8043c5a841c3c0691803cd7506e3bc364fd3b8d7b263c333d423cbfcf4e3b4fb7c73b4248053c96dd2a3c22469f3a9483aa3b8b3ccc3bc987073cce00ed397f97623b1cb4cf3aa9c4ad3b728d8c393f41b839aa97acb86cd2883a71b19a3b38101ebaadf32a3abade9bbc41500f3cac662bbbe92982bb72d6f5bc4bfa1f3c952702bb353f04bcce9306bdd0e6ff3bed86deba817b2cbc0fb4fdbc9bb2013c661ce7b92e6637bc39bee8bc1267933b019316bb8fa406bc8d26b2bc046b343b979b36bb393aabbb28c769bc5cc4b8baa8c416bb112178ba1b6cb5bbdfc99dba3bb4d6ba2626b73a1fb7d33a34bfeebb346603bd4b5af0bc6cd8e13bc5fe1dbdeb5e95bdf37a0dbdd8733e3cb02e67bd9fa6b1bd735d09bd56b9093c14d571bd7af1acbd1c23ecbc7abbf53bad375dbdac1395bd3fbdc6bcb9f9ac3b731c3bbdbff26ebd1aaf55bc04a2153cd54d04bd137129bd7a8983bb62050c3c7e9f84bce7dfaabc25e5ac3b746a003c3da88cbac405fdbacac2d83b8fa4c13b44730f3bb3933abd10bfe63e50794c3f9b6b143c7e4533bd25ede43eafaa463f47a9543ce9ccb3bcb4cad03e83a72b3fd7596c3c09011ebc3c9eb43e9e7e0b3fbacf723c2d471fbb133d913ea28ad43e5fc7373c94e511bc53265a3eed29943ed5901f3c3ed362bc393a0d3eaaea2b3e3c2c883b61f5b0bc7c12833dd9976e3d80234abafb2ea9bc7dc8ae3ae1a6d9bccf5296bd0cd9983b00000000000000008ae2babd81569c3b000000000000000014ae97bda22e65ba00000000000000005ff285bd2a7758bb000000000000000024bf6cbd5a64d6bb000000000000000091d36ebdb93debbb0000000000000000ee0c6abd78ef71bb0000000000000000b4704cbdcd99443b00000000000000007ea211bde8ae3a3b0000000000000000605ca93921a54d3bd40d253bbfc3653b92ef113bd590c33b732ffb3ba293483c26c7293ae419f43be0640e3cc6063e3ce8b04a3b3359ef3bbbde433c798d713c9962173b7ec4d43bbafa0c3cc1ae2c3ce312de3ae0afcf3b996b063c0cf3523c7156993ab2e3913bf410c03baf17073c702f15b93cd6f73a2fa0f33a57abbd3bed05b5bad423353ab91aa2b9c1980d3b89a5913b297390ba2bbe303b9c3e89bcc1542a3c7cc78bbb74b1f8ba3ce8d5bc75631b3cd00359bad382babbc075c9bc9565303c3e15daba60bd16bc575fe8bc6a90043c3d2189b99e7022bcf530acbc7259d63b1ff139bbceafcabbcf5ba2bceb8b463bd4edceba24a0afbb643c47bce17ff9b964b74cbbab141d3a896c4fbb627f2ebb68fffbba2cb7333b38c7a03a3ce1f8bb82f51fbd52baebbc693b203ce9ee16bdb349aebde1bc1cbd662a5d3cdac237bdf893afbd3c181abd4c0bc43ba6915bbd9ad1c0bd47d90ebd3950d93b8f173dbd36a898bd2e8dd7bce02b583bf73b2fbd3e8b87bd8e748ebc56b4033c1720ecbc84b732bd90af0dbc4031c23b311752bcfa94b5bc8f70913b6fe7e73b64d2413a356d1cbb74110e3ca086ba3b808bf5383da60dbde0fd8b3e6e69793f882c043cd737eabcd2fa8d3e23b0733febbe393cfd04ebbb5927863e51b6463f5e775b3c5df646ba47bc723e4f2f293f822b6f3c699bea3ad79b443e7a70fb3e41e93a3cbc132bbb7ee9193eda16b43e5bfe0d3c5307d9bbaa75c43da80e573e38ecb93b818aa4bc4599323d7e54933df09eee3af4a8a0bcb56d3ebbe804f4bc39c6b2bd448bd13b0000000000000000f9b7d4bdb46be73b000000000000000062d481bdee6dc4390000000000000000a22b87bdef336fbb0000000000000000745150bd0e3ed4bb000000000000000055af6fbdd8e2cebb000000000000000096c44abd9b3688bb0000000000000000bac764bddbdebf3b0000000000000000743b16bdec5bc43b00000000000000008f004ab560bf1b3bd5f43a3bf324b33b2e3c883996b1e33bfbda283c17b17b3c32fb9b3a2776fa3bf58b4d3c3ffa873c2f750c3bd2d6113c5baf453c2ef7823c62037c3a1c34f73b8577283ce059653cdda2ae3a7967ec3bcc13053cabcc4b3cf8224239aceca43b2862c63b5a3c203cb90487ba5b4b193b0d110a3bbe47b83b9e8061baa67bea39feffb7baf290cc3ae92ea43ba3112cbb0b06313b1fd454bcd73d3f3cd45cf5bbc1df1fba36aea2bcecaa593c46ee86bb9451b0bbf1f4bebc12cc423c427d1cbb96ae0bbc4425c4bc4515283c45c2eaba59bc0cbc0253b1bccedfc83b11ff24bb8428e0bb6c8384bcd5e5523bf6f162bb3dac5ebb0ef81abcb6ea96bab16251bb2dfd573abcaa86bac9f4a3badbe714bbe7ef193b30224a3bd34650bcbe195ebddc5606bd131f343c0a0918bdce1ad4bd18e013bd1365893c08e843bd29e8e8bd314f29bdcc8b1e3cb86d50bd9e4ed8bd7c0c1ebdedcde43b8d4c37bd02ccb2bd9d2702bd66b9a53be2551bbd003495bdd7429ebc93c90b3c1f66d9bc52f454bd1053dcbb4e99113ccc8a28bc982ecabcad80b73b6ba5d93b87f91a3b23e35abb01d31e3cae1da73b665ce1b98ed881bcf302e03d2746943f46a7383b7a0710bcb17de43d75d28c3f5557eb3b6d50ae3b5905053eb66e6f3f078c2a3c2e5b343c1f64033e7d34413f3fef373cb000343cc9c2e83da765113f7c471a3c73ec6d3b997cb13d39becd3ed3d3fd3be9629cbbe256623d6b27703e8409a23b785763bca8f8983cb2c6a23d5513fe3afcb790bce19606bccfcb2ebd94d3abbddf60d93b0000000000000000b38dc6bd6b3eba3b0000000000000000f38a86bdc699bdb900000000000000009e7551bdcc50b6bb0000000000000000a8d32fbde20207bc0000000000000000d2a346bd5da916bc00000000000000004b4150bd1a7b8fbb00000000000000008b4241bdcdb9b93b0000000000000000d19628bd53a3b23b0000000000000000000000000000000000000000000000002c3f7e399481c03b9543ce3bc6e3523c013dd33a517ac23bbeb30e3c703a563c442cac3a6f00923bf974043cb85b423ce5f1f13ac29dc83b55a0c43bf684143c7f81a83a7a98a73b23c9ba3bbe532c3c4b9d1e399171603b25c18d3b2e820d3c88fedbb90ade1a3b6144163be43bbc3b0000000000000000000000000000000000000000000000000000000000000000a986173c77a504bb0b32bdbac27572bcfb25323ce2beb5ba61d1b4bbdcc188bc6837133cd416f73acf66b9bb789c8fbcc13a243c25637e3a35d2e4bb8e5d80bcf47ddd3b3c270f3a1ce4dfbb23ec37bcc27f483b502aacba88c91fbbd0faeabb4fb7823a68d603bb3cc90fbae87e0cbb0000000000000000000000000000000000000000000000000000000000000000f7e608bd1ee1c7bdee9728bd9715c63b517c23bd96dec8bd147d1fbdc36b1c3b5bc91ebd0872b8bd7cfa18bd175f2fbba1ae18bd1786a2bd6dd200bd18cd2cbbea7101bd1ff284bd3239c7bce7196638988dacbc03cb45bd7ec320bc5cc4523bb45528bcdef9d7bca55f2a3728eca63b000000000000000000000000000000000000000000000000000000000000803ff6645f3bf1e9603c1098dcbb40cf943f896ee53bfe239b3c08919d3cb297773f3c8d243c0175b43c2a3c0d3d7a1e493f50d6383c538ba23cedac193d83ba1a3fe3b1123c5230683cff51fc3c1dafdb3e93e4d93b0982813b50828a3cc8e5843e3a15943ba5f3a0bb4845b3b9ceb5bb3d0000000000000000000000000000000000000000000000000000000000000000184d2fbd26cc593b00000000000000004709cebc77f1b5ba0000000000000000a8db89bc2817d0bb00000000000000005c028cbc5b5fedbb0000000000000000131fbebcbec522bc00000000000000008577fcbc4b09bfbb0000000000000000fe8a1fbd94816abb0000000000000000000000000000000000000000000000000000000000000000000000000000000095062e3a6cd1593acaa2aa3b6d40da3bef295e3997c9243bbf5adb3be7ae123c459f2ab9ead9203ae307eb3b2c7d163c968a8eb9fcbb5a396057cf3bbc4e123ce2c98f3a9e11cb3abc3fc83b6841013ca183d13a28d0513b6a81c73b2df9cc3b03170b3b3417153b0158b93bfe3b763b00000000000000000000000000000000000000000000000000000000000000008b25c03b4e0e30ba80ac4cbc7a8fdbbc4b9aec3b15167aba390c77bc9667febcb453e93be34c3fba4fc87dbc17a300bdfeb6e03b0d4380393ba882bc808de6bc6817ab3b0c2b48b9192f75bc6670dcbcffce573b7db716bb1fb564bcb8ecbdbc7e16993a488e03bb2e5919bc20ec7abc0000000000000000000000000000000000000000000000000000000000000000c61244bdaf0213bd3a6447bce4b30dbb1ba850bd564312bd96135cbc9bae3bbb009b4dbde3e50dbd81df4ebcfffc4ebb1f1f36bd7e84f5bc9d194dbc80b829bb88cd1dbd622bc4bca93015bc092dbdba761cf9bcf24187bc9a841dbbdd02153bca8ea1bc3fd111bca9e4db3a72f6743b0000000000000000000000000000000000000000000000000000803f00000000f305973c370b903c3325813f3582323c91f2d93cc0fef43c4a755b3ff6f9143cd632fa3ca484133d88f1343f919be53bd238f53c69a90f3dc45d0e3fa0304e394fbcdc3c5b17f73c2c7bd13e1f28f8bb0c16a13cbe8fa23cd8a6863e766985bc8cc8223c272bb93b2b3af03d7b07c9bc00000000000000000000000000000000000000000000000000000000000000000825653b1baeb4bb0000000000000000be666dbb4d850fbc00000000000000006804eebb2f1c50bc0000000000000000831a41bcbe4b77bc00000000000000008fe076bc77eb72bc0000000000000000ca4c89bcddd157bc00000000000000001ed282bc1f5c3bbc000000000000000000000000000000000000000000000000cc849b3a2e8ab1ba153b923a8b50353b4e378b3b3a05563bb31f023cb750123cec5c583b861c3d3b1e8f103ceed7293c2bc0fd3a024d903bb6ee253ca29e3f3c6f3a053a3f195b3bdc79073c94d7283c112a133bcb71ae3b091a223cbeba283cb8d7403b8946a43bd57b043cc162e63b6e4d743bcd166b3b6f359f3bee9a273b71f1e73a48dacb3ae9501b3b84e1a039b228943bb41badb9b7dfabbbb89c77bc82c6cf3b313f25bb6c9e61bc5b9ef6bc8862113ced5bf6ba76cb8cbcd26c0ebd1ab5063ccba3edba40ca9dbc84b916bd18afed3bee959abac47790bc1dca04bdbe4cb93bd90436bb9d3d9fbc118c05bd9c933e3b8cb82ebba2ec80bc4f2dd1bcaceb44bae7ab27bb23c52cbc353b72bc6b04bfba501992ba1d5899bb3bee8fbb168ababc3b30d3bca1fe43bc5151febaa23847bd836d28bd0ae06abcb17292b953c869bd7cea34bd8d2189bc9aa445bb51656dbdbbdb2ebd677a83bcd28539bbbd7c4abd6abb12bde7c963bc2ea632bb29b13abd0795f8bc68350dbc9499523a6a170cbd7b83abbc812155bbf1694e3b4bf894bca6f20bbc11e4683bd013cd3ba213acbb47e581babeb4cb3bfd35973bcb86693b2b2832bcb08f803f249a0d3e35bb873cfe7b253bc5a26d3f6f4a013ec626dd3ca5bbc33ce35c4b3fc5f3e43d5dd7fd3c1fa50a3d1af0273f7bfcb93d88fd013d256b093dc788023f8c518b3dd356f83ce7aaee3c3d49c13ec7a6233dec01b43cd733943cc4df763eac70673c48e9fc3b44f60f3bba55dc3dae8b4bbc7d0ac9ba6048e7bb853955bc8d64d3bc470d9039b12903ba0000000000000000e3a6babb2927e9bb0000000000000000e2c200bcb4db3cbc000000000000000079ec52bcf1877dbc0000000000000000fa2277bc8ffa83bc0000000000000000dec7aebc0fad92bc0000000000000000c109b7bcf17878bc0000000000000000e0a4a1bc7d7611bc00000000000000001a6757bc7867b6bb0000000000000000f9e59c3afbc8a438107bcd3a5241183b8012d13ad632443ab07eca3bae85eb3bcebd49ba823abc393f92a53b1b96c53b1518483a1620293b82a6073c90d5513cf9c8bab8348e173b6f47ca3b1b27053ca62e073bff916d3b967d0e3c72852b3ce58c833a32b3773ac08ab83b1175be3b6218163b506c5b3be69eaa3b033d6c3b31c4dd3a19b7d23a3c9c173b89282c3a3b5f3f3bb9150fb89bfa67bb1e4948bcae96ed3bc3662fbaff7a3fbc9c9cdfbcc0cbce3b2ed89c3a4dda2cbc9e6eccbcb8b9113cd2a19eba32258dbc046a08bd93c0e03b05c1073ac7b877bc2ecce4bc5573bf3b9984d5baa58492bcfc17f5bc2df0693b3bba45ba730130bca8bdaabc87a87a3a97f00abbe5bb23bc1eb473bc09aabcba17eeadba5e7870bbb33c8ebbf00062bca343b4bcfe8e54bcc6b8beba005c19bdef5020bd4c95aabcea4227bba7bf23bdad3f1ebd37049dbceabe94bbb6c455bdac8e3bbdcb6da9bcb55485bb18d22cbd9c5f12bdc81385bc6c398bbbb2762cbda40507bd20e84ebc52454ab93e37ddbcee1babbc2e7ad0bb6fa34a3ae3da92bc7fd642bc72413c3a3a49a13b2d1a68bb421162badedf853ba0d0993b32b51c3bec718abcaa0f5b3f220e8d3ed4d57f3c99f046bb15be4d3fce30833e4452b33c9030803c088f2b3faa3b603ed666fa3c923be43c0821143f3de13a3ea2f0e93c8987e63cf0b8e43e11ac0d3e636de73c1d3ed83c36e0ac3ea0b9c33d53cd9c3cc2c7623c5f4f5d3ec9305f3d394b2b3c92c42c3b778dd13d634c1d3cdc2231b9ab82e7bb678e94bb45e2a5bc066adcbb7f7fd4ba0000000000000000aba72fbcbccae4bb000000000000000019f824bc3b8413bc00000000000000005d5c86bc11137ebc00000000000000005be78bbc86e67ebc00000000000000008bcfc8bcc01897bc0000000000000000fc6cb7bcf7b26bbc0000000000000000096accbc603d40bc0000000000000000d36e86bca859aabb0000000000000000d5e507b8735f50bada0e573a794a233af75fd43946f4873a8908bf3b23a6bc3b4ea7923a4490a93ae105cd3b00ca213c12c70b3a716d5f3b3925163ce6db193c0051b0b906f4ee3a920de93b66a7223ca3546d3a9ce2413bad99fd3b52111e3cfd01fa3ac9d1893b6094fa3bdb0c083c3aafe73afed2443b87009b3b5b53923ba440b43ab6c3d63ae091123b9cefd83a7414353b28bdf73a9fbb04bb4e7526bcf38cef3be66e2d3aa1251ebc7358b5bce40a163cca11cc39625e4fbc110ae8bcf1230e3c5671a338f04082bce9f4f8bce9aa143ca5a9e139d8fa76bc3530e7bcaa56e73b96c5ccba431382bc5791debc9418613b85e7aaba2fc66fbca870babcf794fb395bc1eeba837e1cbc56505fbcb0f5c5b9e88fb9ba6620a0bb62959dbb29f011bc0fa4a0bca6b784bc92428dbbdacefcbc937722bda71acbbc7538abbb1d0933bd0da141bdcf45d5bc027db9bbc7553cbdba5b3abdedddc5bcd39eb6bbca1b2fbdd8c728bd1ad8aabc34ebbdbbadb91ebd0b720ebd5fff63bc70b7cabae068f8bc7d93d4bc99d407bc0b999b3aa9228cbca03b5bbc32f078baaa24b13b20808abb974229bbf9b5353bbee1943b3cbb1f3b73fa65bc1e95353fa226d63e7340663cab6d3fbbff862b3f8f46c73ecf8eb93c019b6b3c9c1f163ff870ac3ec0dcf43c48fedd3c17b0fa3e37ad8d3e98aaf83cfb9aef3c3b53c63ed1d05a3e269ee23cc740cd3cdfd2943ec6861b3e9884b03c3b8a893c05ef423ed939b83d3bfb293c000b8f3b802bbb3dd058fc3cdabac43aecc7a5bbddb9d2b9ed178bbc5fb22bbcfee78fba00000000000000006aff81bc0633ccbb000000000000000082bd88bc32b33bbc0000000000000000bde5a0bc137187bc0000000000000000db42aebc92648fbc0000000000000000d438ddbc5d859bbc0000000000000000036ff3bc3b0c93bc0000000000000000ec14ebbc185253bc0000000000000000dd1ba1bcbd69e5bb0000000000000000335498ba524d5eba1b1ac939e6cfb93a9d920bba3f70cb38337f603b1c7abf3b9dcf1bb973eedcb99748633ba12c0d3c4af72cbbd5125c3a82a1f43bc937373c4c59f8badda907baedbc4d3b94a4db3b65ff79ba39cd4a3b370dfb3bcd1e263c1617893a79df313b777ab83b101ce33bfa1d003b2942133b4d979f3b13f9ca3b73e99b3adf6ebd3ae1d7153bfe3f073b3edc633b4edec33aedfdadba145f0ebc5dcaeb3b2146fd3a29fad1bb4c6599bc7ae9113c7844fa39b9db2dbc4c2bb2bc597c223c34df863aaba542bced0dd6bcbfaedf3bdd1bfe3a87ce23bcb763a4bc8499e43be2440d39b9806bbccc92cbbca9f5943b8aa0c5ba1dc444bc69899cbc02b6163b9ba306bb1dce2fbc853e41bcfd41c1b998c3afba421dbdbb2296a4bb86e0e1bb446f9dbc2de6a1bc99088fbb6aadd2bc51761fbdf111ebbceb12c7bbec380fbd608c32bd3e03eebcc190d7bb543733bda4a04cbd3a17e0bc0623efbb87dd03bdcf7512bdfe0daebc0898ecbbc8f116bda81c1abd45e896bca45428bb86f5dabc60a7d2bc788626bcacd68b3ae32b82bc2a5077bcda209fbbcf28513b352e92bb04105bbb6030183b91baa33bd5bcb53af7451bbc809c103f46e50f3ffafb533c61d4e53abf8c083f5664053fbafbac3c09f88e3cc4b6ed3ed23ae43e7e1ef03c0598dd3ce722cd3ee5bdbe3e8ca0cf3c7aaadb3c1b379d3e1395903e6c0adb3ccca9d33c0087763ec004553e90eda43c883d8a3c78e1203e8bed023e284e3f3c2476ae3b39fb9d3d1fed4f3d35fc4f3b07e747bbac28433b6e1e76bce4ca62bcce7a8aba000000000000000062d399bca08fbebb00000000000000006b4083bc0b291bbc00000000000000004a8cb1bc60606cbc0000000000000000dade8abc14776bbc000000000000000009f4ebbcdf0da2bc0000000000000000e84aedbc12e68cbc00000000000000006701f8bc6ed553bc000000000000000014b0bbbcacfafabb000000000000000069f8e0b9b3f686ba6c148339389d9e3a7ca40cba71ee083a74225b3ba661d53b1efa81ba0d46c43af543983bcd6c223cdabf9cb9ced2f93aed9cd33bea8c313cac4471ba1ae09e3a8e8ebe3b9e04293c7bf27f3a80db5d3bc8b8f63b9f2d253c992a9e3ab5724b3b5c68d43bc801123c13abd13a1240463b38229f3bead0813b2e1cbf3ada249b3a9cf9083ba164ed3acb6c5b3b5d52da3a10f66aba5c2ef7bbcc59ef3bfe40e03a76bebabb234890bc14e8223ce371003b664b16bc8b41bcbc7ae6203c0f17243a29aa3bbce731cdbc9114013c1489163be6ba59bc5d6cbbbcdc35ed3b9ba482bad74245bc620fc9bc3f06b63b6fe5bdbae5a05dbc6fb799bc6c37f93ad37cfebabd2c0abc32d452bc6adea33a5a59e9ba8d929abb47cd7abb45facdbb472d9cbc1290b2bcef2598bbff76c6bc8bdd25bd82d602bdf73bcebb7eb513bdb8264ebd3c4b0ebd439a0bbca00424bd22e651bd1974fabcf22bf1bbaf731dbdc8ad3cbdfd9ad8bcb8acdabbfb2c14bdc84622bd19e39ebc481516bb2d50e2bc8201fabc03255bbc848fa43a220f85bc6ce87cbce91676bbd832b53bf10b6abba3f581bbb17b733a97ce983b92a8b63a2269e1bbf1ddd73ec156353fb512443ca090b93bd690cd3e5762283fc2fdac3cd7b7ad3c35eab83e994b113fd35dd03cf60aea3cc0279e3e0863ef3ea5c9e43c0fa2fd3ca0987f3e8a15ba3ebb04bb3c9fdae63c88f2433ea49b873e6bf7af3cfe61963ca782033eaaf82a3e46bb553c5a3ea03bd8d87c3d9ad68e3da9ce3e3b454552bb08f7f63a4f054fbc7fa78abc9da124ba000000000000000096d0babccc87b1bb00000000000000002769a5bcbef52abc00000000000000002a9bb8bc9aa87ebc0000000000000000212ab8bc138695bc0000000000000000322afdbcd802afbc000000000000000072d409bd31c69ebc000000000000000088fc0bbd027b6bbc0000000000000000ae3cc7bcace10cbc0000000000000000e2c287b93db4f438ec37463a50d4273bece3c2b9bf64803a10be4d3bce61fc3b359abbbabc1189b610a9fe3a5147d03b3b6c2aba93bf0f3b674bd83bb8d82b3cd6e0eabae5eaec3acc22523bc28f163cc60f29b9adac803b3e3ffa3b3175343c36823b396e34e43abc4e873b39efd93b89d6bc3ae3236d3bbf109a3baa6ca63bd55e9e3ab61c0f3bbc52f73aac75f73abfcf5a3b67aeb23a46a700b962d0e8bb9fb8063c1dd2d73adc36a8bb088888bca7b6ee3bdeaa323b53abb3bb53707fbc02ee283c1939ee3a7ecf25bcec9ebfbcf940113c4de5a23a67c01bbc06dca5bcd7b1f13b25b880b954c84cbcad1db6bc446f993b03978b382c7307bc506572bc3b70b63a86e801bba66b0cbc5f2b37bc7162f9b9ae2bc8bad37d84bb11115bbb4189f0bbf16da9bc5fe1c2bc606772bb66dacebce78437bd595211bd4245e1bb60b7e5bc0dc83abd5b4503bdd6220bbc599b1fbd0ee961bd94f60abdf27d1bbcfddd0abd72bf31bd282ee5bc068407bc5a2010bd52a533bd0d96c2bcd89f1bbb213ac3bc0bfbe8bc64256ebcc89589baab6a83bc9ed68cbc1c8cb4bb461ad03b808375bb586831bb1c6ed13a7969b93b155d143ac4787fbbefcc8e3e6ab25a3f6975323c9eca233c85a68b3ea5d04b3fca44913c4569a83c49067a3e13cf283f36ddca3c81f5023d3198603e25a40f3f6223ca3cc370f93ce89f333ee766dd3e60d6d23ca344ed3c54200f3eca2ba33ec524983cbde1913cddd2b83d962b4e3e6a11493c1d9eea3ba952383d5547b13d8912143b031c59bb9c7c81b984ba61bca43ca6bc4dd374ba0000000000000000539bc4bcaf7db3bb00000000000000006a3966bc3815f3bb0000000000000000ff93a7bc5add70bc0000000000000000c05b92bc6c1182bc0000000000000000fbd5f0bc242aa3bc00000000000000009764debcd5527bbc0000000000000000128f16bd566d6dbc00000000000000000a68dabc7815edbb0000000000000000138d9eb9de64a4397c4a85ba329eeb3aac1dee3787f91c3b1395a83b9fba163c977dd7b979c9c33a74b29b3b08d63c3c8f51303ab8adf43a7fffc53b0d06443c179232babaf6d23a787ba63bf244233cf29e0b3a08235e3b0a5adb3b35ea2f3c778a8d3adbb4913bd7d1dd3b0a96043c42ce003bfaa2743b57a4933be67ab83b86a1a23a0f2e173bc4c7053bd20e193bb7445e3b9586083b6b9d2339d4b8a1bbc00a113c44b72d3a3dcd98bb99eb77bc40f62d3c86d5c53ad977eabb98459ebcba78363c68f2933a19900dbcee00b7bc90a41f3cf861ed3a77f916bc60b2a0bc5790153ce47e36bab3c634bc0625a8bcf97dad3b4eb09aba7b3640bcccaf83bc2131e93aa2af2bbbed4bf1bb3b5724bc5d8a7c372ef305bb7cd18abb25e26abb85d614bcfed0cfbc268fe1bc24cba4bb125ae4bc2f7456bdc27f1bbd758bb0bb1ea30fbd490674bd8c3d20bdf1a71cbca60221bd1ab575bdfe0a18bdc9f120bce1710ebda7f04dbd081605bda42908bcbe020cbdc0063dbda141cebcb8c585bbb517dbbcc9aa0bbdb87985bcc757553a669781bc9f3494bc64eaa9bb808ec73b0d9da1bb125084bb0fe8ab3ac6b9ce3bc35fe2395ca1ed3a4877113eda6e803f7543183c16ab793c56d1143ed9946c3f1368953c635ce83c5b3f133e3278493f1905bc3ced380e3dacfd073eb4ff253f3965c83c39a10b3de0e5e03d164b003f4b60c83cffbdfd3c2237b53d7162bc3e7d1fa33cb4fcaf3c3d946e3d55686c3e5112383cebde003c46ded33cbcdccb3d7f7d8f3b14928abadbd240bb9d4194bcd11e7ebc4c490c3a0000000000000000383e8ebca1b4aabb0000000000000000e55444bc2ac61ebc0000000000000000e40a63bc70b557bc0000000000000000dd7073bc758b83bc00000000000000004bf1bebcb8cc9fbc00000000000000007fc7f0bcc01b98bc0000000000000000f6b711bd54466abc00000000000000001a9ef5bc794517bc0000000000000000000000000000000000000000000000009c8e57baa15b5bb9032e933a301baa3b29d594bac4774d39715d1f3b8332e23bc10829ba2cc800ba5cee003b92e0eb3baf4834bb8ac9ffbabba2223b99dcf13bfe3582b9cd14b33a434c5e3b4a940d3c55acf8b86079d93a71a45c3b71c7d73b23769e3aae592d3b10fd693b2277ac3b00000000000000000000000000000000000000000000000000000000000000008124d73b5f68283bc2add3ba6cb51abc070d023ce29d213bcc6083bb44cb60bcfc11043cf9098b3b9ca497bb3c1987bc4f2aee3b2bee323b191db7bbc5e072bc18cef23bf535583a967de6bb86bf7cbc081bb83baca288392b92cfbb46114fbc1499283b258245baf14abcbb933d18bc0000000000000000000000000000000000000000000000000000000000000000da53bebc34a741bdc43c0bbd943e22bc09d9e3bc30de4fbdd57208bd50bc26bc942e00bd50854fbd13fe07bd698448bc716fedbc0ea536bd69d9e7bcd6911ebc41ede5bc065626bd65b3ccbc6465e1bbbcf6b5bc0927f7bc71e77fbc5e3b50bb762f80bccb609dbce2ca06bc56110b3b000000000000000000000000000000000000000000000000000000000000803ffe48223c5fbaac3c8b02dd3c9610813ff533883c332fec3cf492153de4975a3f9751ab3cbd8f093d9a192b3dec6b343f1056c33cebd8083d05e7223de4970d3fd945b33c4669f33c88ed0b3dc544d03e4b3f913c346db23cb03fbd3cd339843efb47503ca3c6403caaae1a3cc0c9eb3d0000000000000000000000000000000000000000000000000000000000000000013c123aff0dedba000000000000000063ea623a152ec3bb0000000000000000333d043a4c4a12bc0000000000000000a40b8dbb46e346bc000000000000000014973dbc965e7cbc0000000000000000b2119bbc0a5079bc00000000000000007044e0bc35fd78bc0000000000000000000000000000000000000000000000000000000000000000000000000000000010a9aebb9f8a3e3c46f31a3d7595143b524c2dba01f44c3ce5b9143de32e9e3b231638ba1fc97f3c5bedf23cbfa9e23b11124b3a00053f3c4be6ad3c04d8d83b0cacae3ad600193c2c298a3c9b43073b9146ba3ade35ad3bdb70173cb1551a3b227471396d9acc3a944b513b0adf0cbb000000000000000000000000000000000000000000000000000000000000000089ca9cbb366f04bb0be7a23b40bc65bcd6d26dbb5a55fcba67d4eebaa0f7c5bc50799abab3a2ecbacc0384bb386310bddf9a11ba0f7cc8baa5dda7bb85cd08bd9eb1e23aae36c5bac0b6edbb0b12d8bcd8912a398cafefb96608debbc2357abc4714553b3bd8b3ba06f398bbcedd8dbb0000000000000000000000000000000000000000000000000000000000000000613852be3c13103c944cd43bb29e063bcb0147be9beb313adafaae3bfab3b13a692f31be5d2c4abc0a67ad3b825d153b5f130bbedd8e1cbc29f0683b256e063a7e67c8bde038efbbdb67dc38420f7239be8f5dbdc195a5bb5e8f10b900d11e3a67ee2cbcd6c1d2ba601db6b93e6633ba0000000000000000000000000000000000000000000000000000803f0000000082189a3c8e21dcbd0cffac3fc22b00be0199843c7b6b5cbdb2728e3f30c2aabd75b3823cb0c7bbbcbc5e6a3f61f283bd8133443c889d14bb3a4f2e3fc40949bd9055573cd2620e3cb442e33e530305bd2de3373c87256e3c1a0d613e6d3e28bc940adb3b6db3293c9384243ccb5d1f3a00000000000000000000000000000000000000000000000000000000000000008a355e3cbd5ac4bb00000000000000002a02cf3bd6fea0bb0000000000000000b01b793b53de86bb00000000000000001057903ae65e51bb000000000000000048f13c3be5a0d6ba00000000000000009082743ad7538aba000000000000000020aedd3a0285413a000000000000000000000000000000000000000000000000aa23fbbb6dcbb63b0b87a23ca092a7ba38e211bcccd41e3c20fa1a3d6bdcf7bacdddadbb1ec3773c23a3223d421fb63bd206e3ba9d627e3c66ee0a3d33590d3cfc241b3ad152633c7a19d83c1203dc3be6c8263a658e423c702f933cdc81dd3b6feed1ba2526ff3baf4a3d3c8cb5793a04ebdc3aadc0313b1c6af63a9ca7de3a4779a0bac47409bbc630faba986927bbf1864fbbd91294b952333d3c2d2293bb227facbbb812adbadf15fd3b0206873a12475dbb8a2135bbecf5943b59e6b2bcae9525bb732d60bba22696393828efbc04b7013ad5f045bb587281bb8911fcbc71959a3911fb5cbb9e10d9bbba4bc4bca58e8e3bb7e651bbe833cbbbd82067bc5658373b2016f3bae6870fbcfa44cebb38c52f3b282ca5ba640b87bb65e7ee3bc0a4e6bd089ba53bb116d33a653ff83a6efc3dbebe7d7d3c17b1b43a74844e3bfb6d4fbe504b18bc2ba4e63b54ee003ba7693bbe2edc82bc6217bf3b0b4ca73a23b914bea89e96bc81f5ef3a835a2b3b9bdfd3bd18d085bc68b2243ba73a203b03ae66bd2ac72ebc50d691ba7962b23ada1035bc98ef35bcd13f9cba4627923a8ab7903c16b0dd3a06e68aba98478c36639b243deed05bbe0e3aac3f8eb4913cec622c3d84ec45beda609f3f26d8103c2520023d56a60ebe7c8f8f3f0f713a3cbdd8d63c1dc9c0bd05a26a3fb61f493c3db0bb3cdbcf64bdb7e22e3f1cfc853cb92ea83c530102bd3044e63ea7bb5e3ca3468e3c0c0c42bc1ac0623ec8da713ca9d6673c21dce53b8958f53c27f7ec3c0bb8153cce05f5bb17bed6bdf3fb983a610da5bc4e505c3b0000000000000000c5d1b0bce301213b0000000000000000398ea9bc841538ba0000000000000000c37ba2bce62a613a0000000000000000134689bcdee7efb8000000000000000079161ebc84f953bb00000000000000005dc7fabbdb36fe390000000000000000da181ebc1def3a3a0000000000000000563a1f3944016b3a00000000000000009c88e6bb88e2bd3b4517413c7bdb9e3a4d2f00bc1e04333ca599e03c6fce023cfca96cbbfa72693c7987f33c4bc7553c0591b3ba00c07a3c9306e33caba5443cb709933800ff553ccec09e3c3b04213ca2007b391e70363cb4ad813cab20eb3b6fea593a2562aa3bc26e0d3c9fb47e3bebbdfbb91257533b1dbccd3a412f693a7edc9eba987fc339f42308bb739f14bb55a12bbb3b41c6baab5f543c7fb025bc9d1f27bb2e2365bb8b352f3c60d162bc48e06ebbf9dc4ebbc590bf3b47dcdebc6b3c14ba599168bbe354a23ad04fe8bc4216df3a319a11bb179006bb3971f2bc5eede13af2c634bb7e89a7bbaddab4bcee09f63ad86d38bb76d093bbbba844bce7295c3bbca005bb58b6cbbbeaf834bb20de3b3b7b8bebba9d9872bb0b3ed43b237184bd685800bc3bade8b93062563b4ccf17bed72dc7bc2e7ca03bc1be4c3b57b526be18492cbddedd033cc60a0b3ba12723becae520bd395b7e3b5a79783be74cf9bd907a13bdb409073b7b15803a8788bfbd5ba1d9bc5e19653a1c89df3a52a254bdec2070bc7fb66239329a433a3b8481bce7cccfbbf9d4b9bac52ca73878f1163c0c9f993b11df31bb33dc5f3aa9de233dbb415ebe15588f3ff6cb6b3e4e09473d8b2060beb78c903f000d4f3e27fd153dcac125be46d97f3f2867373e893c093dc1ee00be7702563f4c54113e2c37da3c58c0a1bd718b1f3fb02dde3dcb6cd53c61e76bbd25cfd83ec90a963d72fbb03c627c0fbde31b653e267d1b3d78767f3c7f4a7ebc6baa4d3dd7a0903c984c483c2f8e73bc7dfb69bd6fea4bbc709d8bbd1a2b613c0000000000000000680194bd3774643c0000000000000000e7f57dbde5c21d3c00000000000000001c9250bd7584bc3b0000000000000000d02b1dbd5aff8b3b000000000000000030b5f0bc5268533b000000000000000073b49cbcda31713b0000000000000000b32529bcacbd113b0000000000000000681bdfba1e0d0a3b00000000000000004ae3a3bbb4ca8b3b3f9ee03bcca3c93bc38abbbbc7a7313c3196af3c164b5c3cb4d16fbbb296583c08afd93c70e28e3cfe5dfcb96804663c8913b73c6a188d3c325aabba94ce6a3c855b943c4d73583cb30791b9d10a253cd70c683cd2011e3cfeeba7ba7cbde13b5399003c2cb1953b407358380fc6403b91847a3a2894313bad28cbba7807d5396a861dbb3afa09bb3493cfba22b4f9ba6e114f3c316a9bbc6cb453bb1c2e99bbf439323cc82c9bbcbfa992ba90da8ebb2b34db3ba3e2cebcd6c58eb95cd98abbcb559c3aad94efbc6a15233b78ff8cbb9ca112395deeedbc9063253b84a945bb2c005fbb20e5a1bc3295153b670ae5ba007a8dbb4e9325bc58f70b3b142b1dbb9e5cb7bbe1e539bba0ba423b845a3cbb2e43d0ba7724ce3b01812fbde32eefbc553b23b97fec773be320eabde3eb6bbd0b4b163c5fea7e3b6daa0ebe393690bd68020c3c73b2543bccf805be73f586bd5eb5b13bc4c3f33a506be3bd2d446abdab756b3b7d334e3bfab5a7bdade51cbd0fb6ab3993cbff3945dc4ebde8aab2bc7dd03aba762de639281385bc9476d8bb519d66baf17484b840e4ad3bc0680d3c0eb0afbad20fbf392be71f3df8884abee0616e3fb277ec3e24003a3d211355bea8c16e3fa479dc3eac871a3de27028be8a62583f0f85be3e586a063d3fb6fbbdcc20343f4624983e2b49f23c799fbbbd5a2f0c3f0a31613edfffcb3c92c380bdda67be3e56a5123e940cb93c278f2cbdc84a543e6af7933d1739993c4722c7bce895753dcc596b3ccb343e3c1a8dc4bc553d0dbdb77f05bdd15ff7bddd8bbf3c0000000000000000b94202bee32ccc3c000000000000000011bcd9bd939b893c00000000000000009b95aebd8a0f6d3c000000000000000039778abdff6b2b3c0000000000000000ccad3cbd58f3013c000000000000000027ece3bcc086c93b000000000000000096a42cbc08534a3b0000000000000000c6a885bb539d9a3b0000000000000000533c82bb53c28b3ba440b63b2bcf0d3c910791bb5f6e0e3c094f753c895bad3c84c10abb2431333c6766a43cbc2aa93c457022bb585c603c2b4d9e3ceaa0a43c4aebb43a60f8213cbc1e4f3c77bc643c735c05baa950373c4050283c528d363c4301b8b9a135da3b7490c33bb61ac23b3270cdba85129d3ba91afd39aeb1b13a4d5452ba1d2cedb9aad21cbba2ec6dbac4f852baee3575bb42f94e3c19f394bcde95d3ba0a79c8bbe7abe43b81bd93bcabeeee3a4d9aa5bbd3e4ab3b8158cebc8685233b09eba7bba122363b4cd1c8bcbd1d413b446221bb0f6825bbbed1d8bc67a8613b052044bb50fa46bb1e71a2bcc0530a3bd15b71bb6c565cbbecac38bc583db43a0a8a03bb70981cbbcced4bbba0020a3b088f49bbb9650bbbeaa6673b36d4d6bc7a4145bd0077e2b7b34bd93b3c9ba3bd3ffebfbd9d3b473c9ab6913b48b7d3bdff7bcdbda8df9b3bca3c923beafadebda0d8c4bde082c73b3899a23bef7fa1bda9438ebd9f3303bbb612f33ae25592bd7ab75ebdc203f03ad60d1e3afab922bd5178e0bc7b20ef3a69ed4b3a50bd8abc6cd491bb64a6633844faefba1925893b7fbf203cac463e3a55a1a8b9a407e43cfa0e28be9f3d333f2965323f79b5203d50fb2ebe5295343f184e2b3f2374e73c2b1f05beb3ae243fca29133fe782ea3cd023e0bd3e610e3fbe3bed3ece89ab3c096a84bd5f83d53e5b1daa3ea56bc13c91e375bd3970a03e658d5e3eb20b973c072621bddc88363e88e5cf3da741813c624be0bc84ad873dcfb3373c7d02303c1d92b9bc35089fbcff3042bd011426bec174fa3c0000000000000000e50c33be2f99063d000000000000000049230fbe0b55b93c0000000000000000ef8bf2bda48a973c0000000000000000d3589dbd56bc293c000000000000000036257ebd73082c3c0000000000000000fe8111bd64ae053c00000000000000003e2c55bcbf38bd3b0000000000000000dff34cbb7692bf3b000000000000000030c053bb4059583bbe01113be7025d3c229447bbf54cc43b87c5533cbe0dc43c689b1bbb9b58213c18f0983cedd8e63c20c9bebaad683e3cd14f893c553bca3c825dfcb9d9f13a3c49ee6b3ce4949a3cf78f8dba4faf273c318c2a3cc051743c2086283a2dfbf03b59cc953bff62053c85549bb8bd02563b88aab639911c903ba80869ba42246d3a8eee59bb6480cebafd6a2aba454aa5bbda4c113cabea8abc437ea6ba24efdbbb4d1cdc3bd0eb6bbcda87c43a5604fdbb60262f3b3cbe93bce4fd203b713fa0bb518e753ac5a6b0bc739f183b430568bbb9864fba7567a7bc842ed93aa0b161bb33e42ebbe1de8bbc8268eb3a32d40cbb8eff6dbb3bc539bca92e82b81af5f3baa99183bbaaa676bb7939bc3ae41f9cbaec53fcb9a5c7733be09912bc5ad48abd951de33a4e0bee3b5e8765bd9d20febd80ae783ce1caca3b9ffba6bdc68a0dbee768443cfa1ecb3bb189aabd6e44fbbd03237c3b59868c3b80ab9cbd714ccbbd38448f3b0015713b20086fbd61e689bd174e9e3accbf983abdf71cbd4b130ebd3b64993a18c6efba2cf670bc81600fbc864c10b9719152badb2e3d3b6e334a3c8a76ad3af4c924bbaa4fbf3c051ff7bd8aefed3ed9d86c3f88f7ec3cac0400be55cbef3e7fc2663f2f4ac43c4279cfbdd73ce33ed04d483ffafeb93c33e7a2bdfa26c73ecd851f3ff280a43cad047fbd382ba43e23f4ea3e246f923c724a3cbd25ba713eaf9e933ebd6d893c72b109bd300f183e9600093eb94c563c56b4b1bc59b27f3dcf4f4d3cdfb6043ca5ada4bcc417d6bbacac88bdefdf48be118c133d000000000000000088dd5cbef31e293d000000000000000073bc36be93a8e93c00000000000000002bcb0dbe56d4bc3c0000000000000000ed5cdebd83c1893c000000000000000021a890bd5895603c000000000000000056931fbd23d2163c000000000000000056550bbc0fa59f3b000000000000000010f25ebb33fda43b0000000000000000dd99a1baf1cc0a3a43b234b63103853c9abf33bb13e44d3b20a5273cd783053dba4542bbc209d93b249e823cb35c023d24b7b2ba3ebb033cee2e843c5ca7f63c26e68cbaab95213c03e24d3cdd3f9e3c2bce73ba3785013c49a32c3c9860903c52403ebacb58a73babeb9c3bcbad233c014a29ba0019043b4705243be021083b914741bad499d6b865b90dbbfb73f7b9c38028bb8435b4bb930caa3b2d6b18bc897fabba3a1001bc62c2343b565902bcbcca313bc963e6bb9fa85b3bb86458bcd1e9323b1f69cbbb9bcc673866b678bc093fad3b5e0f3ebb4e95d8b9eb3a91bc3728003b695c75bb70ab2abbc21a5fbc63e87139a00301bb25ab94baac7828bc187e353af5ac79bab5c59eba351887bb1cca76ba262483ba44e0d4394265bd3ac8744a3bb4ceaebd93616b3c9e017c3bf3aa02bdb78523befbd6b13c1750423b9cfc70bd52c428be97e53b3cf59f8c3b9dea83bdfa1b1cbe846c063c6405833b50016cbdb045eabd9f3d86ba50e4013bc11f4abd89c0a9bd98781d3b3b2f503a427ef4bcd7a231bd8544083b315cbdba7ac985bc2dd98ebb23991dbb762e1cbb91720b3ac9996b3cb8915bb984980dbbb40e6a3ca21192bdf2d9703eeb078f3fae34943c433992bdf6e2733e25778d3f4895813c579b6cbd2f207b3e76ca733f691a723c43473dbd597e673e3f87463fdd14523cbbdc07bde18e473e9d270f3fdcfe7b3c50a2f5bcd84e203ebcbbb73e4822333c761ba2bc7a3fd33ded6c2d3e420f003c539568bc7e3a6a3d8439cd3babf5a23b66f93ebc8e489b3b2409a2bd5b205cbe301a283d00000000000000002e9a6ebe6932413d00000000000000002ac93bbe092cf73c000000000000000026631abe4f4dbe3c0000000000000000d91bd4bd2bc27b3c000000000000000090e895bdb0324f3c00000000000000001e8b1dbd7582233c0000000000000000b94c45bbd6915c3b0000000000000000f1f1003c50d3973b0000000000000000fc8b2bba87761cbb7ececf3855fdca3cd04ab5baeab497ba60baee3b04242b3d142547ba87def93aacb7813cacec263dbb8ed6ba8446b83b00a9823cd1ac0d3d204976baeb81c13b43276d3c7ec1d93c8fdc38baba18be3b5f7d383c5a9e973cd4a4adbada6fbd3b3db59e3b7c4f393c0b0f17baf43b403b835f333bd2bf383b1b95f0b9c870fd39c24c72bb57ea14bb31ed4cbbc7b1c4bb7b65263b3e5625baea8cc0bb1b741abc3bf91ebad39cb3b9659b3e3affbbeabb9b1833ba310ea1bb6d9a8c3b140eebbb9b1564bb160498bb3104ef3a39e353bb4d528dbab77f48bc5c3a203bae53f0badc470ebb94622fbc0ce7173a17ea4bba0ef97dbacefa17bc7f45333a2cbc2dba0daf94b91c21dcbbfeb46eba00875fb99c43303ac7ebb3395496c23bf0a300bece68893c5f79643bbbf2ecbb06b445be086c203d248a953ae4cb15bd1b9651be085c933cc9576c3b8bbb46bdb07038beb3c0053cc106a53b007439bdcf6e0ebec4565b3b5436ed39b6581cbdadc7c8bd0ea5b83a52c1abba3f42cabceb0e4cbdacd800ba6c9ee8ba1a6378bc67a2a8bbda28f5bb1020e7ba15963a3b6900b43c3452203a56c82abb8fe38e3bcec0b5bcf550973c78f7ab3f3047f13bccbba1bcb3da1f3d0cfd9d3f2bedae3b834a98bcdc1c8c3dbb7b8c3f3713363c39df9abc2c3ead3d0c33623f302ccb3b4502ebbb13b9af3df11c253fd7dcdf3b3e6bf1bb421fa43d0ce6d23e8cc5e13b5ef0a9bb562f833df2f4403ee2953a3b585b68ba406e403dadf3f63b8b4d913a26ec77bbb4ea933bd9def5bdbce35abe1837253d0000000000000000ff9f58be3af4193d0000000000000000711e30be48b7d43c000000000000000059b208be617d8c3c0000000000000000b5b0c1bd0ebf593c0000000000000000c76670bd8f79173c00000000000000005f77c2bcbab85f3b00000000000000009f53923cdd7f34bb0000000000000000b27e4b3c498c903a000000000000000000000000000000000000000000000000ae2724bae30b60ba0b3a173cd279203dad820fbb958b2a3bff56653cee63113d65fd90b966eba43b37a56b3c5678e73cdf08b2bad63be03b70a02f3c46abb93c6a040bbae5c1883bd3b50e3cc27e8c3c5397c3b9f8c2733bd9fdb33b82ee113c540498ba14fa263bcc20d23a84c5f83a0000000000000000000000000000000000000000000000000000000000000000b2891e3b3303e2bbaefa42ba336b803b7446583b424ec3bbb10da7bacbe7643a334ad83b374a29bb0cb803bae9bdcbbba33ecf3b407310bb943bb7ba3699fabb9c63133bfa5e0fba00ab41bb1b0ec9bb9998c53af9118cb98f05a1b8895cb9bbf13f19ba7667e7397435743aec4490bb00000000000000000000000000000000000000000000000000000000000000000ad86bbc7a2152be6cbf4d3c19f1543b171ffcbc3ea342be545e913b9ccf3f3bf02c21bd2f0d2dbe4ef4fdbbef47203b9ea916bd059f08be35c417bc2cee263a8afce4bc9832c4bd4374c1bbd2de60ba455d99bc30e053bd182284bbbcac13bb1668fcbb680209bcc87bcbb9d3c228bb000000000000000000000000000000000000000000000000000000000000803f4ad982bb27f17f3c2942cebda1cfac3f0e0cb5b9b5562a3c274034bde70b8e3f4d75aaba056b523c73313ebcb253683f79dd133bf23c273c8886bb3b76cb2c3f93671c3b816e1a3ca5ba623ccfb1e03efde4bf3a5fef0d3cd56a903c217b5d3e794f223a0704e33bd9264d3cfcdef73b00000000000000000000000000000000000000000000000000000000000000006cf306be7c18873c00000000000000003550b4bd3dc8d63b00000000000000005c8f89bda6483c3b0000000000000000a28846bd2b102a3b0000000000000000d92802bd46513a3a0000000000000000946f06bc98d8333800000000000000000bde053bb6e752390000000000000000000000000000000000000000000000000000000000000000000000000000000085de3c3ad7fc943c8382db3ceefe023a1287a73b5787ab3cba93c83c111e043bbef0093c6520a73cb7c6b83cfae46b3bed8d1c3cead78b3cebb6873c1015143b2cd0f43be584563cb829513c2edb6fb82534923bd0f4fd3b551e033c3a549bba2b64ec3ad7d62b3b2319033bf9eeefba0000000000000000000000000000000000000000000000000000000000000000afccfbbbafa9a3ba8c33adbab94d21bd6aeb09bc3a6e14bb91f455bcca4e60bd2b67d2bbd8f400bbe433b7bcd32f83bdcedf96bbdbc6d8baed69c3bc853574bdbd5c33bba68a86ba9c3bafbc2a3237bd60cb78ba22266fbadf637bbc4e7ae4bc49a2dd39ebcc92393e0c04bc765be9bb0000000000000000000000000000000000000000000000000000000000000000d0ef2ebe86c4cf3a51d78c3c837d0c3b6a6c22be59178d3a71b39f3c630b6e3bad2110be8c7295bbd838833c3a3a1d3b2348e3bd2c2dbaba5b12463c9e9e423b9688a8bd9469983baad0fb3bfc53013a717d40bd1f71d03b4737f93a553c553a50434bbc4565e13bb27a2dbbb3a908b90000000000000000000000000000000000000000000000000000803f000000009419913c46e39ebd0cb1a93fb12af9bdb739bc3cb3b916bc1d908b3f55cacdbd9198e83c4b89053d53ff613fa8b5acbdc2fcf43c4a7a3a3d66f5283faa389fbdc2bfe43c9d022f3d0e1be13e87d28cbd38f4c33cfd6e093df16c6b3e0ce843bddd0a6c3c7e433a3c61fee43c4996ebbc000000000000000000000000000000000000000000000000000000000000000065f54f3ac662f3bb00000000000000003ed93bbc9fc30bbc0000000000000000625383bc64a50cbc0000000000000000925d82bc66d1dfbb0000000000000000e4f72dbc78f172bb0000000000000000f67205bbda5dbfba0000000000000000fbda033ccb8f11ba0000000000000000000000000000000000000000000000008d82a1bba22f043ccaa1643c9682adbab2b1a1bbd4bb933cb5a9e03c346452bbe1bd573b4c54bf3c0c1cea3ca44d9d3af509d23bacbdc33cd3f5cf3cf0a8203b758a083cddfe9b3c204e993cd40d4b3b8878c13b2306893c39d95f3c6f1d7b3a310d923bac5b243c6c49fa3b756da4393d18043be5dd8a3b5837ff3a4ad872ba43915cba0d56c8ba589d17bb9ed07aba0f8c9bbbea311e3a18fb463c5aaa6cbcee2b13bc3f86ebb83c6a073ca297e1bccc9500bc1d4b25bb481bd4bb5fcb5cbdb207eebba02a37bb67ac6bbc628f7fbd638da7bb25cd02bbc947a7bca33869bde61c69bb04c2e0ba3a0b9dbc37803abd15cd96bae91c9dbab91583bc172ed8bce457f63ae6072bba658848bce61302bc8b0bd83ada3d44382a6761bac666113c2fddc1bd879df1bbde2d2a3c8b9d613af41f26bedb7b403c5f3d8d3c2bd2cb39a7d631bee7f08bbbbf5fa13c3aa6433bb27c1dbec6d20cbc31209b3ce0b6893bcb6df6bdc471fabbf53f753c6df80e3bb3fab6bd7d28fd3853f40e3c288e003b7a2355bd2c395f3b169e133b7a35a83a9d0368bc2943413af196b0bbc2bc0b3b3c8e363c3968ac3bb515bfbb327279b9f41dcf3c6a8545bef848a93f5a740c3d6b5f0f3d79a032be1e67a13ff87e36bc93e0f73c91d3b8bd26908d3f7f440dbc8b40f73cb26b0dbd5459653ff7a066bc7d6d023db518693b3a342a3f67b7a4bc1a3c043d5f29553cb896e43ea541eebc74fdde3c48cc5d3c75ed6b3eb84bd0bc601cb93c7a26193c72d3353dce7a5cbb50f6023c6a5474bc9700b3bd36746cbc256ecabcb311e83a0000000000000000cd4603bd05d5103800000000000000008eb312bd499d37bb000000000000000062401abdf44698bb0000000000000000ff1306bdfff181bb0000000000000000da56acbcc68b1bbb0000000000000000b16326bcd60d0cb90000000000000000a1be2a3bc4d5f2ba00000000000000003aa0313cd7b8e93a000000000000000026fba3bb4c16d33b9eed1c3c328276392d3646bbee948c3ce56fad3c250b8d3b7e77483b58f0ae3c7186be3cd17be73bb84bc03b4f56bc3c7f01b33cc6c0c53b01f3cb3b92959c3c0cbe883cd7e7a43b7a11b43be14e803c5110563ca9872c3bdd3d873bc11b1f3ce86ce03b5f2d8b39c3d7993a864f9c3b5316db3a6912bb387bc568ba284301bb4c4bf4ba870c85bac6235ebb990464ba67495d3c644f80bc6928f0bbb823d8ba91d9ef3b70850abd7900e8bbfd8d65bb3ae4c4bbd5875cbd3859bbbb924181bba27150bc3ece70bd4a7571bb49d329bbe94f8abc32b162bd1b174fbb58bfc6ba282891bca1d62fbd37d8fdbab87865ba817a5abca861d5bce12d433afc7562ba2e8724bc2b85c6bbe479443b12944fba016e16bbdedf0c3cc53766bd47fe8cbcba90073c9aecf03acff906bef812ddbc92cfa13c42e50e3b210b10beeaa214bd6b8ea13cce68c83bcc640ebe00cffebc9d22b23cd1688d3bdb67dabd064abcbc07d0473c664a6e3bad8eabbd341655bc7d96443c5435e139579249bdee693bbbb757b23b06b9b83a927c90bc163e383a9bbdb4b94e238cb93b01133cc2c8803b228098bbc60d75ba9a95e33c5dff4cbe8ed28d3f2e20793ea3b9213d6c5a45bece61903f6257493e5e34063dc36bcfbd3c77783fa2c92c3e215f103d1c7d88bd1f7f533f5eb3e63d6e380a3d3c3fabbcf0e61c3f962a973d2fea033ddd6c36bcff24dc3e5b1af23c9214e23c8877d8bbb613743e5a5fe3b9fe35be3c8c9e16bcd06f863d2e3a67bc8d5d433caf6c8ebc096848bd76dfdbbcbadc90bdbb112a3c000000000000000067a2abbd6f0f093c0000000000000000488297bdee9790ba0000000000000000396a8ebd0f8321b90000000000000000104860bd14faf0ba0000000000000000f34529bd176f153b0000000000000000bb9dcabc964afa3a000000000000000051dd8dbbf403053b00000000000000001cfc133c97e05d3b0000000000000000f87551bb2e0ab73b5e3add3bf2fb8e3b61974dbb81f5893c95729a3c8393033c804a193b5574a53ca3d9c23c28ed263cb5b8723bfac5b83c023db13c6c61113c333ad93b0ffd973cd0ef8b3cbdbbf33b80ff9e3bb9f6713cdca45e3c8272533bf80a873b2c57163ca373db3ba430503b49e1733a5cd5a23b90eec63a24f285b99703b9b9758d0ebbea7dc0ba88bde3b9e2d628bb537208bb0158533cc784b5bcb7a2c1bba96072bb4956033cb0d910bd36f5e7bb5043a2bb75b50ebb26874abd24f3b6bb970285bb09e828bcc94a68bdef8c8cbbac403cbb670d82bc629552bd549813bb1e7536bb4c6774bc489e20bd1a0912bbdf417fbae6d86cbcdd00c0bc9aff573931dab7b9d42d15bcc1c4bcbb331e23bab5174b3adc2412b98a92063c52be1ebdd66b1dbdb52ed63bd573b73b9d00dabdc25568bd168db73cd0b9913b2e5906be552f76bd37edc33c5a1eed3b83e2fcbdb52954bdcfd6a13cb8e9ca3bf341d5bd8d7f2abd0f678f3cea908c3be2309fbd2811cdbc70bb5b3cb440db3a76a440bd16521cbc3865c63bc2ae1039600a96bc4c6804ba9ea3053b1ae7d1bab813823b6ddd043cf38c2cba893717bb7ebdb93c390637bec7406b3f85a7ef3e0ac8103d9b0639be3fe06f3f7ae2d73efdaa003d633df1bd6e7d593f378db03e533a083d8b2b8dbd0014363f03c0853ef46f093d6de914bddf080e3f4ec5363e8520003dfca1a8bc7671c63e656fcb3d2abefc3cd25b88bc4e8f633eb168093da6e7bb3c6a0d85bc8ce49b3dc90948bc4c1f293caa13d7bc247de2bcb5d535bd816be8bd62bd793c00000000000000004bf308be0058743c000000000000000047ebf4bda20bfe3b0000000000000000a7b8cfbd20a44f3b0000000000000000c3bbacbd2d43183b0000000000000000a5aa82bd07ed9c3b0000000000000000be391cbdbb11d23b00000000000000008f1c2cbc349e963b0000000000000000934d153a99e2083c0000000000000000994c63bb87dcac3b0844cd3b9f93b33b5e44ccbad0296e3ca449863c98663e3c8816bc3a0de7993cf027ab3ca052443ce3b7a73bfec9a93c2513ab3cf172413ce07eb83b2cce6c3c31bc653c82e8163c69709d3b3b9c6b3c9fc9483cde0cc53ba1bd753b88d60b3cde88a43b22b5813b3895d63a86d8693b77c1953adc04963a65d253ba1907adbabd3307bb406f20ba31c1a3ba289561bb00e54d3c5e49b6bcddd398bb92ccb8bb8c4cf83bc2860ebd57dc46bb11ebb8bb5bce1dbb26933fbd295689bbcdafa4bb9f3d1cbc031959bdf2fc19bbe58526bbbac574bc118f3bbd306028bb2e1229bbe93263bceed21ebde45b02bb74819bbac87f40bc3f0ea8bc929aad38046322ba37b218bc0b5093bbc8aa513a50fc183ae26fcd39d46dbf3b8d28cdbcedf751bdab83983b6b97fe3bf677b0bd8886a4bdf03eaa3cb0970b3ca302debd5836a9bd004aa33cf1ef023c63b9e1bdea1399bd073fa63c6e54f33b8680a8bd224e5bbd61e0133c668ec83ba53095bd877b19bd468f793c02d01d3bce1536bdd65789bc4748183cac800439cc318ebc2f44edba01cf723b95da4bbb1a15c23b882d043c3047cc3910b7abbb8e1d933c83991abe5fb9333fa13b313ff589dc3cf00a14be4cc0383f8c79263f6a32cf3c54cfb8bd46a9293fdac2093ff099eb3cab2371bd3988143f3722d63ece64dd3c05ee88bc14d4de3e391c953ef514f23c76dbb0bc44fbab3e5e49343e092ed13c735f68bcb595483efd11953de485ae3cc54882bc25e7983db71ef3bb8482273c1b38d3bcb85d8cbc43d763bdbb3a19be7fcb9b3c0000000000000000450636be3101a73c0000000000000000313517be80ce113c00000000000000009a5408bebc30c63b0000000000000000601dbbbd67591dbb00000000000000001993aabd982cbc3b0000000000000000abc54cbd5d23dc3b000000000000000098c897bc2110063c000000000000000089829aba80ae3c3c0000000000000000f31385bbb321c03b2f607a3b9195113ce79c30bbc301443c9945863cdd66703cca483d3af6258f3cffa6af3cfb508e3c0e8f2a3b40e28f3c7764a93c90a2823c0b3e9b3b713c9b3cce87813c39502f3cb452943bd0655e3cdb523d3cd916093c05234d3b8aff073c2145043c7723a03bd4d9de3a6829633b04afe83a8853943a2e7535bad47087ba45cc37bb84e4eeb984a1cfbaf0fb67bbb8263f3c6adf8cbc3ff57fbb5892d1bba621cb3b397bcdbcca7b8fbbbe0ee3bb5dfb95ba18451fbdfa898abb47c6bcbb4a0df8bbe8f237bd6db909bb13c98fbbc8ae41bc89c135bd27c575bbcffc08bb45af61bc729206bd562914bb4a03adba4e6e39bcfe46abbc0da4d7ba5453483a9380f4bb84519abbe668dab73728dd395ab620ba71cfb73b7d0498bca3da82bdc8ad7b3b7bf6053cd57391bdc15cd7bd16d2be3c9d32163ccad6c8bd798ce6bd9a39c63c72d42b3ca0d2c9bdd0d5c1bd98609d3c1980203ca350aebded0098bdf7e58a3cdff4c43b8da489bd41e044bde6a9743c00e40e3b9bc62bbd67edd0bc4451333c659bddba42a090bc64f39cbb7e19cf3b1824a3bb80bca93b7f4d0a3c897eea3a4b4f77bb92f8443c4d57ecbdadabf53ebc0e693f9c8db73c9040e4bd76fefe3e51bb5f3f9415a43cd7fc93bd185ff83e4f633d3fb4cabc3c108a25bdc86edd3e77b3123f47b1c83cac13b2bc01b6b73e6291d03e2c20d03c7eec75bcd878893ee479803e386dbe3c167b4cbc39ba2b3ed032e53d97338e3c4ad043bc39fb883da88e0d3bc364113c2750b5bce6bf05bc000885bd6b9c37be3eafce3c0000000000000000f1325dbe5328df3c000000000000000032ad3ebe97c0653c0000000000000000d7151fbec9b6123c0000000000000000c4d5ffbdd814a93b0000000000000000d0eabfbd59f8ee3b0000000000000000922d70bd22cf123c000000000000000070239fbcd83c193c000000000000000075488cbbf7043a3c000000000000000025a809bb3e051b3b9c3c6c3b85c1213cd2c33bbbf2dc283cfaf7813c24db9e3c8732e73abd78673cf6ffa73c48089b3cbf860d3b318c8a3c3ffdb53c5b498d3c0ea93a3bd16b763c0aa8883cbc793e3c2392653ba921483c4b0d5a3c357f1c3cbfb3303b2f88093cf883cd3b975eab3ba568413adaac7f3be7dd083b1cd20d3bdfb07bb9dbbd45bac69533bbd1029cb9b9ed16bbc26d92bbfb7e033c68680cbc0ade43bb5c4705bc719c8f3b702090bc4b8c18bb592105bc47ac23bbe69306bd7cb607bb7780e8bbda18aebb3d2c1abdf3d89dbaaef48bbb060a27bcac2b16bddfaa1dbb099c16bbd4a539bccd44ebbc286cf7bab188e7ba914d10bc82b19ebcd8a2b5ba35057239e1f5d9bb1151c1bb123db8b929b4963a234e30ba10ac9b3be2e92bbce7af95bd518d303caa76003cc42968bd69da08bed879e23c8b68073c4aa4a5bd6e2203be26468a3ca1105a3ccfcfb6bd902af4bd5085a23c48cb2e3c8ddc9dbd1763aabde0043b3c4057d83b5f9579bd3c1181bde5c36c3c2cb6bf3a2e6b19bdeff603bd1ba73e3c8a43e838391781bcc85f01bc397dd23b25329bbbff7b953b3152203c3bc2c13a6201c6bbca89ea3b9c1193bdff35813eb7048d3fef555f3cc10985bd49978b3e177d8a3fa62e473c035309bd7910983ed855653ffa5c7e3c61cea0bce058913ea2f7383f9481923cec9509bbfeb97a3e62ff023ff09ca13c4c464abb4d5e453e7b8da73e48099a3c1ed32cbb3972fd3d87821f3ef493613c5e519bbb1c2c6a3d6c8e003cbda6bc3b532250bc993f46bb5e8298bda37a4fbe72ebf83c0000000000000000456b70bec10afa3c000000000000000029223cbe80db413c0000000000000000207e2cbe64b3143c000000000000000023d4fdbd5fb61c3b00000000000000009d7eccbd6ce2073c00000000000000004c9883bd558fe33b0000000000000000643f8bbc564ad93b0000000000000000be21393bf20e333c0000000000000000825503bbbac0083ac27ec13b5065713c045514bbe025b93bf13b7a3c38bdd03c3a404fba187a413c7c22bc3c5cf2cb3c9dafbb3a82406e3cf66ab73c06e5b03c8f1d413b2c02633c6af69b3c4414853cc259283bd8813b3ceaee5b3cd4f23d3c34a5053bcaac013ca9d1f93b8f3ce33b4d1ce83a88aa3e3b33ac203bed27083b8a1ddbb9104565ba523a43bb62eaafbadfd89ebad0a5c8bbbcfb933ba184493976fcb0bbbe8818bc0043c93910ac34bb736235bbe5c00ebce918dcba95fca5bc89a30ebb6edc03bcb6eab1bbd56cf6bc98ebd8ba29039cbbdc091abcc682fabc857d1cbb12394ebb53f631bce89dd0bc3ad106bb6ee7b7ba7e6010bcb0497cbc4ae14fba8f4cc33a2ff1dabbbc4decbbd6c817ba9b7db93a71ef5439a830763b00ee2abc9236debd1536513c51c2e93b2b2827bd24f424be85d61c3dba0b0c3c5e4694bd398426be9d45ca3ce5e03f3c5bffa3bd141b0ebefd89953cc3c5523c970691bdb604dfbd4fc5793c79afd83bf25062bdb7149abd877d7f3c51fe2b3b104312bdeef526bdf42c323cd54fc4ba15105ebc5ee309bcffd1233bebf0d0bb3398d43b82a9653c7a86073bf420bbbb722d9d3a0584f0bcc333273d30fda83f57ce963b04c68ebccae5753d4e219e3ff440a33bdc8289bbb197f93df440873f40b80d3c497eb83b42a2153eef6d563fae1c413c617d683caaf4133e5a361b3ff2fc713caf5d5e3cfc8cf73db7bcc63eb251353c7ce63d3c776eaa3d27af3c3eb3100c3cb8ed1a3c1bc8353dc290343c393b513b52afbfbb87a1e6bb7bb6d1bd693a4abeba26ec3c000000000000000008f467be64edd93c0000000000000000d4fd3bbe4fd01a3c00000000000000004c4b1cbea99066390000000000000000ef20f8bd863350ba0000000000000000456ebebdccfb6c3b000000000000000091565ebd99d0ad3b0000000000000000d93f26bbacca933b00000000000000008d71123b5ecc133c000000000000000000000000000000000000000000000000933cc8ba5584cb3b71a78c3c0fcbca3c905dfcb9d1a8303c9f97a13cf075bf3ce614f63a5f33423c957ca63c43b89b3cd668093b20c1423ce273853cd55d733cc55f413b7d98213c0d0d4f3c83331c3c3603093b7cbca53bdbf7fb3b2818f83baf75f1b8c0686a3be08cd23a33bddf3a000000000000000000000000000000000000000000000000000000000000000043d5353adcea0abcea5a2e3a58d9a1bbfadd4a39162701bca31369bbda9584bc7d4cb63a62aea8bbd71105bcf919c3bc074c633afc5380bbcb231dbc4888cfbccb782137c0880abb6a7a0bbcabeabcbc88caebba1994b6b9387afebb37bd65bcedf506bb8268e6397df563bbcaff9fbb000000000000000000000000000000000000000000000000000000000000000097003ebd89832abeb5251c3c171d3a3cddc17fbd062f1abeca8bdc3b10cf5f3c5bf18abd08b509be89f6663a7eab303c55107dbd5ad2d3bdd824233b4834dd3b53a43dbd1dcd9abd7ae1a43bad9e803b0b58e7bc906833bdf52cd33bfca383b9a5ce0fbca0d130bcd8e7e93b4ba052bb000000000000000000000000000000000000000000000000000000000000803ff2a14bbbc9d6783c21a07abd1ce5a83fed48393aaafdb73ca163943bf8208a3fb534d93b8982f63cbbec3c3d7e705e3f1caf133cdc6f093d201f6f3dd7e1243fcaa2233ca0f4e83c73e95a3db95cda3ee375233c4345b63c4c6f1d3d5542603e7c5aaf3b7cda3d3c3baf403cbf88c43c000000000000000000000000000000000000000000000000000000000000000011c506be1a25923b0000000000000000ad78d9bd2c83c3bb0000000000000000d401b3bd877549bc0000000000000000c6219fbd88513ebc00000000000000006f3686bd77f016bc0000000000000000b9bd2fbd42da2abb0000000000000000835ab2bcad427a3b00000000000000000000000000000000000000000000000000000000000000000000000000000000c8a2733cbf48863ccb62183ccbb807bb1819a43c59809f3ce95dfb3be31071bb1cdfaa3cb2f29b3c06000c3c40ad8fbb37189e3cd2bb8c3c8f34ac3ba32675bbdfb8823c0dfe3b3ce2356d3b46f53dbb253b403ce76fe23b04f829b953285fbb4a7b6d3b8d531b3b134881ba3b5306bb000000000000000000000000000000000000000000000000000000000000000087fabcbb071c10bb1dd0dcbceb1187bd6ba900bc51ae1fbbb8ee41bddd2e9dbd2396cfbb87110dbb662b6cbdbcdd9cbd25ccccbb0524dbba9e6f6dbda9968ebd7ef9d4bbb9c3e7b97fda4fbde52756bd4e081abb0b872bb91f470ebddc4502bd0e736cba21a4553aad315dbc75171ebc00000000000000000000000000000000000000000000000000000000000000009fdec7bda3c8acbcd512ba3cba4e0e3c8cacbabd428312bc9ee1e73cb9532f3cdf0ba6bdb82dc8bbdddaca3c5c50153cc7f681bdac1db1b8621bb53cbe72163c1f4631bdc515d43bb6dfa83c0a1f993b83b9cbbc11b63a3c3e26563c0903cfb9f98474bbd8f6293c6ed58b3b3ce73ebb0000000000000000000000000000000000000000000000000000803f0000000033d4a73c2901c23c0a23953f6dd9febc1ec04d3da875883da80d783f3a1037bdb77a8b3de461b33d2371473fca2f4dbd37e9983d0408af3d5f15173f842b74bdd9528d3dc822893d4bb6cf3edace91bddcfb5c3d1ca6193d2d106d3e36948fbdd49df03ce55b13bbf9db823d494c81bd000000000000000000000000000000000000000000000000000000000000000087e103bd9f4787bc00000000000000007ff748bd2875a8bc0000000000000000f02e63bdd544b2bc0000000000000000420769bdf66ba0bc000000000000000077a252bdeec83cbc0000000000000000b05b0fbdee2c553a000000000000000019f75ebc01e6093c000000000000000000000000000000000000000000000000a831763b8849c33bb534f83bc42857b94ea26c3c0201873c85801d3c2fcdbebb739eb73c46a4af3cb830123c146badbbf8b5ca3c52dbb33c63e5ad3bb554c6bb1e1ab13c135e903c64bc733b6d08b0bb76a6a63c4adb573c256a91b9d599b3bb33234d3c1645e93b29a40fba83c38cbbbfc38a3bd96d5eb8acc16b39c32e8d398cefc1baf1f846bb2c9e6aba257a193a790061bb131685ba929f8a3b2b440abdf1ae00bc6f88c9bad9788cbc2c4384bda8250dbc01f4f1ba84613cbdea38a9bddf2009bc855defba5df974bdc966a9bd8a0ad8bb9921a9bacdee70bd58d492bd8a3197bb6d5103ba9f6d5cbd397b5fbd7be75cbb3140243aa21217bdacf003bd6ac2863ac23408b90d4943bcf70703bc8248da3958407f3a63a1b03bd23b033ca85672bdbbbfd8bc08741d3c8d19d23b6f2ac0bdc5c38cbcfeaeec3c4dff313c727bcbbd1f4362bc91cefa3ca9b52e3c58a1b1bd76cbdcbb5f2ffe3cb8ac343cf6a584bd2c62893ab9b3dc3ca8c3f53b76b535bdedf6173c33c0af3c9a816b3b07b4b7bcfa1e393c4700623c2e4366b99660b9bb74f6c83b7c1be53a982ab7bbfce70e3ce2dca73bfe9c3dbb088c8abbbec863bc1e1c73bd84ef943fd3c9f83d367e273c9a93f3bc30ca8d3f72359f3de0d2293d4674273debe8713fe5686d3d3b6b803d81c1963d0531423fb942d73c9e8e943d28509f3d06c8103f71e5b3bbb7e4903d118c7c3d2d0dc73ea25b0ebde51c693d0be9053da41d5e3e3aa451bda82d0f3d9ab884bb2c41863daee33dbd8316313b5db1eebc08eb58bdb9bf25bd0886eabc22f40abc00000000000000009ed26dbd358387bc000000000000000029858cbd8677b8bc0000000000000000391b99bde716b8bc0000000000000000b34293bdee22a3bc000000000000000064d684bdf22102bc000000000000000042e839bd73ff5c3b0000000000000000733b4cbccbaf583c00000000000000002473d03a1156793c00000000000000000685533b17cd8c3bda5cce3b777aa0ba1916553cc63e7a3c535e263c3d63f4baa955963ca3eb943c859b333c0e35b6ba3b4ebe3cbac7af3c6b15ea3b7ac881bbdbcf9c3c908f893c5d2ddd3bace53dbbb215993c39a4573c5111113b59bb7fbb85bc4c3c7264e33bc1fc0a3af87b38bb9c0fbe3ba660933a5ce6e2b9fe3041ba4a4212bb3458fcbaf1a0e0ba69d5943913c409bbc71dafbad661e13bb956e9bc1aeecfbb776837bbfe057ebc4e5881bd905ad9bb89bb46bbb6721fbde53398bddcba07bc35bb27bb3a3260bd3ee0a6bde649d8bbc344a5ba04d55bbd3f588bbd1b4c9abbd63cdbba08974ebddf0664bd0d577dbbdccaddb963b80fbd54b409bd35779dbaca79343a159274bced403fbc1142953abefecf397f2f923b8366e03be5751bbdcd1cd9bc19ab943b6c8f0f3cd5a6a8bda96b07bd68b8a13cdc69693cacacacbd123dfebc1c678e3c9460823cf674adbddf2994bc0142e83ccf07663ce7bf7fbddd0f4bbc1baba73c62d92e3c94f635bd637d10391395a83c0818d53baedfbabc65b66b3b668e693c6731903b9b9d9ebb4e61c03ba6a3a13b278855bbdabc0c3c1d59a83ba6ce22bbf6976abb358186bcc8259cbd45a27d3fa472923e0ca20f3c8f2527bdde257b3f3c277e3e10b3133d471a0b3df8e24e3fde08543ef5975e3da261733da725323f833f0c3e6968803d9e77873d68f9033f39f6b13db46e813d8a7d603d6322bb3eadb0e53c873f4b3d96cbe93c124b573edd386cbb89e90e3d528c9cbbcbf1953d9c780cbd4fcad83b2523d9bc56e706bd638b1fbd0a8338bd9ae725bc000000000000000041679ebd8eb6a8bc0000000000000000024d91bd82abfbbc0000000000000000d03fb9bdd4b1e6bc0000000000000000bcf0a3bd0373d2bc0000000000000000b2c1a0bdc37d45bc0000000000000000d93c70bdf658bbbb000000000000000071e3ffbc6a9d563c0000000000000000c1cba1bb44bc823c0000000000000000f288313be6b78a3b2d20d33bc4a4c73ae852423c9204613c4560383c82812239b3f7993c7684a83c8452333c0a9c07bb3a89a63ca122a93c997f083cdf2641bb3a45a33c0d62963c5798e03b42346fbb7d8a923cc0c2533c2d70383b14c25ebb9168503c8fb1d83bce2c6339b66cfaba73bc9c3b40e6a93ace3ba2bafbd936b994dfebb9a78643bbd2c883ba3dc0ccb9dc450cbb85c3e4ba537fc23b2f55eebc9b99d7bbe89447bb351942bc411a7bbd1416e2bb512f84bb9b3313bdcdee9ebd12d5e7bb26ee3bbb417a44bd9be99ebd79a8cabbc3e34dbb38f553bdf06492bdfa1ebfbb28d566ba4e0542bd58315dbdf94a99bb9091a9b8e5100ebd05c005bd8fcf5cba3cbc97b9d7be72bcd7e12cbcdb21e239ff52833a7459403b7164c43b989604bdda490ebde66c31bb82783a3c0b1498bd5a2133bdfefa4c3ccdd9993ccc6fb2bd9ca522bdae50a73ccb1da13c43cfa2bd0fbce9bcc35ab73c7382893c08c783bdc28a92bcf6e5b73ce4eb773c863434bdda40c2bb6f3ba33c46fe113cec34bcbcac86fa3aadb56f3c580f8b3b15ab8cbbf9ae933be39e9b3bba4e75bab976123cff4ac83bed0785bac18e7bbb3fb685bc53e085bd667e533fc909ef3e0767873b7c4c15bd0fc5523f0a27da3e3756e13c3818bd3ce9b83a3fd1f2b03e2028433d9154593d38901a3f0bad833e48267b3deb76833d906aed3e2017323e0e896f3d14e4533d5677a73ea3c6c03d0682513d782eeb3c43a7443e8a0dd83c5b27043d12367ebbab788a3d9bf68cbc738fcd3bbc7bd7bc9d68ccbcda9c2fbdd2d065bd29d656bc00000000000000008e30bcbd2814d3bc00000000000000002d5ac9bda0850abd0000000000000000317cd0bdfd1509bd000000000000000069d0c9bd1cdc00bd000000000000000079bebbbdfce988bc0000000000000000522b94bd93e30ebb0000000000000000d61530bd117f613c00000000000000008fb484bcfcab963c00000000000000004f60f13a9f4d6d3bfd09043cdf09e43afb582b3c38d15c3cd825463c41e5b13ac0667b3cc1ae973c684e5f3cab48913a441e9f3c2510b63c09562e3c62d4caba7c8c793cd378813cdec0093cc4108b3ad3da8e3cfcbf5f3cfbc5853ba77078bb80b7293c0247063c7f280b3af7e302bb9326e03b6cb94d3a4dddd7ba1fa4b538eaae06bab27033bbd83428bba19063b718c831bb39fed3baf968d13baa02c8bcb01db2bbff8d91bb02b70abcfe466abd21d2e3bb908471bb5181f6bc65de92bde2a505bc3dac7abb8d6a32bd04be9dbd408da1bb5faa01bbbcb334bd6c6c80bd7f72d0bbd5a3c9ba293d35bdfa0b5fbd39c44abba8d198ba54e301bd479c00bd9077b4baa1486639c5276abc19a855bcfa340439c43d343aceea153be65eab3b21eaf1bcb3fc1fbd2fd40cbcd3026a3cc0d48bbd613f5fbd5f71cf3b0f88bc3cdbf2a6bdaee84cbd79a3583cef8da23c9ebea5bd72a728bd5a6ca03c9acfb43cba1c71bdb43ce7bc3a7d303c831c5e3c81fd39bd54444dbc876ba63c6d41523c54e7c1bc6d9845bb7936723cf237b43bb1e589bb62a5413ba73edb3b019afdbae3d0143c8f74d33bb172233a94261bbb558097bc808c66bd693b273fab7f243f569ebdb9d2b1e7bc8ad7283ff379193f7583b23c61dce93cd295173f4bf2fb3e85ae213da7b5663da52f023f8ce3c33ed5844f3d924d833dcad1c03e2a3e8a3ede9f523d47435f3de61b923ee41d253eb3ed3e3d32e3f43c453a293ea5ae933d4577fc3c012110bb9e977a3ded674c39d0a0a53be8aab6bc19cdadbc918c37bd00e286bd0eb265bc0000000000000000f24cd1bd5b88f7bc00000000000000007b72d2bd75f11cbd0000000000000000e48de2bdf8a428bd00000000000000007697b2bdc3411cbd000000000000000083fed0bdf991bfbc00000000000000003305a7bdc049e0bb00000000000000009ca64ebdab7a543c00000000000000001f8dbdbc443c9b3c0000000000000000b479133b31b1683b28a3a43b104e663bf474073cdbf8713c2f20523cdcbb633b250b813ca03fa23c4d70573c58db1b3b6db4943c1a95ab3cb72b363c6aa8fa396876983c7140a13c1d8e0d3c3e70faba32d1803c002d633c1073933bb196c8ba1ecc493c23ccf23b34e3343a979a23baeee9933bfb1a093bd06b11bae650e3b946acb539f82781bb222024bb80cf743a827cbdba077617bb6960023c8954babc3593c4bb3b5aa0bbed64c6bb445a55bd0c60e6bb88d3a6bb652dd4bc8fc48ebde9c1f1bb87d57bbb345921bd8e1195bd8f6fcfbbac5458bbb62338bd221f8cbdaf85b0bb8ebe2dbba58c24bdfc8356bdaefcb0bb6e8012ba7cde01bd175e00bda23e9fba4b0794b76c4f5dbccb032bbc7f51363902fa2b3985379f3aca25da3bfb2fd9bc42372abdc2e941bcef37783cd45e8bbdcf7084bd4a06f73a530cd63cec57adbda3347dbd0a1b3d3c4ab0cf3c5a0ea2bdee0e50bdfa1c833c1f9eb83c512b86bd952b10bd835d913c74089e3cf5fa3dbd2137a5bc9a6c9c3ca231523c991fd7bc2a56adbb63d4583c7a88013c6f26bcbbc360973a4514b83b3d039c3883682e3c461ec83b9afa9d3a72db42bb2c6f96bc768f42bdc9d7f43edae2503fac8ffaba7461a5bca20efd3e0ccf463f32097f3cb216fb3ce35ded3ef9b4253fa6470d3d5ff2663dda20cf3e6b5a013f7e043a3d8c68873de07da63e2d6bb93e0487413d6741623d541b703e8df16b3e03822d3d9b00003dde83103e5e34e53d2981ed3c5712753a6c4b4b3dc5188f3cc6c5033c6404b2bcd8b1a4bcf1b43ebdec0199bdecf370bc0000000000000000b309edbd9b8cf8bc00000000000000002c11edbd4ddc2cbd000000000000000050cdeebdb88a34bd0000000000000000cbe0e5bda97a2dbd0000000000000000c492dbbd7359d3bc000000000000000037d4b9bd173fddbb000000000000000080d66fbd8d21563c00000000000000005234e6bc10ed9a3c0000000000000000a6971d3aa7ee973b3d25d83bfd814c3bf824ec3b28eb5f3c7c205e3c9f73b23b342a2f3cbd96a63cb775703cb237993b3b65823c01dfb93c83d8693cf255883a0694713c1e2f8e3c42d0223c697f163b3408613c69aa793c7833c63b061b5bba170a2c3cd324123cf7d6fa3aba859fba2e9c8d3b0bba083b1186103a64d961baf2e397ba77d205bb697d2cbbb26c9d3a1d6128bb1fe132bb2675123cf3f699bce9c4b4bba2f8b8bb2dde3dbbd55a3ebd191897bbed00acbbaa9cb3bc1e4874bda04adcbb0e7b9ebbe53a0fbd58dd8cbdd041bfbbfe2f45bb6f3319bd898176bdeb6cb0bb918337bb7d6c14bdc4604fbd537375bb5aaad7bad19ee1bc0f6903bda810b6baccfde7b833155abcb2ee29bc79442f3957110b3a7ff2e33aab84d43b76b8d9bcf45d37bdbead29bc09a28d3c0eda87bdfc239bbd7cd11f3a9fdada3c7294a0bdc58792bd824b1eb828ffc73c8418a6bd615f81bdca455d3c9786c63cf52f81bd85cb36bd36302f3c67ec903c6cce42bd70d4e1bc4c14843c3b2e7c3c5f91e0bc2d1b50bceb924e3c5d3b283ca5dfcabb01b1bfbaa18af23b63cde8b9284b143c9d30b23b4a05feb811a073bb9e407dbc98d51cbd05079a3eb0667b3fc6f777bb04891ebc05f0a63e5893713f059f6e3ceab2263df5b9a43e77f7423f91b1e03c8147793dc3b2993e3e681f3fb81b203dc848893d6564763e86d9e53e0560233d4c776d3d51963a3e2ae6973e90ca143dbfeb163d22e3d73d52e1253e0fb9dd3c4b29b73bab6f133dc1dd0d3d5d4ce83b1f608fbc850396bca46242bdf43bafbdc1b456bc0000000000000000ca0af9bd0ebf00bd0000000000000000ccd1bcbd7e4933bd00000000000000002e10ecbd065f4abd0000000000000000c0efd0bd603435bd0000000000000000480fe2bdf078f8bc00000000000000008f8facbdb7ab9abc0000000000000000460a7fbde99a473c0000000000000000deabe1bc1c26c03c000000000000000092410eba61f69e3b5e1fe63b5453c43bb3cda83b25ac873ce7cf763cdd05ba3b973a423c2f43a43ca875973c32909f3b8685703caecbab3c0267853ce35e323b85395e3cc140a63c6848563c24f3b5b617c4643cb8556e3c91c1dc3b1782a23997021b3cbe811b3c80a2003b02326abaf718233b0a3e193badd91f39b37c803aed7a3fbad4713fbbfd5127bb0b40b0b9571dd0bab3e43bbb002f253cc15758bc0e85d4bb5ca7d4bb080988ba524021bdce25d1bb2041debbff0e95bc02526cbda4b6d9bbdb07c4bb4368ebbcf7be80bd0d04b7bbe4be70bb9a370fbd62886cbd9310c9bba57923bb4e8c08bd64ba41bd813784bb2feabfba46c7d1bcbe6fefbc9a2528ba0164b5b9367220bc6b5309bced4d67b9d5b8813a0fdf8c3a5404f93b4fd000bd5e8880bd426484bc1fd0813ceaae8cbd1c4cb7bd18bf6a3b5f14f73c94aaacbdf4b9b8bda475d93b543cf23c6136a9bd538d9abd14852b3cfb1ee73c3c8f94bd795e5dbdf1b66f3ca0f7a23c6c7b4abd38a50bbd8f59763c079b853ccff9e1bcaeae83bce7f66c3cd57c143c2a12c4bb0d1281bb9630c13b3c3f0dbb1895163cff9c1c3c5bba123b82dd64bbb8ba7fbc0610c4bcd5e10b3e465a943f811ae8bbae6f8e3b2a05263ede6f8b3f370ae23bc9c0373d52c74c3e00766a3f1c33a43c070c8c3d73be4b3e24fc383f103e053d81d9963d447a2f3eae30083f2746093d12c0813d0300043e1791b53e8dfe003deedc2a3d11af993d847b403e7f7db63cb707403cf2caa13c5bc13f3d21eefd3b89a261bc6312cabc2e9b7cbd523296bd7cca3cbc00000000000000003d45e6bd81760bbd0000000000000000c6c3d2bdc03552bd00000000000000002694d4bdbf8961bd0000000000000000c38fcabdaeed54bd0000000000000000e401d2bd54451abd0000000000000000e4e4b8bde2a284bc000000000000000095d36fbd4690603c0000000000000000e98514bd7c31a43c000000000000000000000000000000000000000000000000ce8c963bd58a453c9e718d3c0b720f3cc7de033c8ab59b3c21fa8f3c55fdec3b24962d3c4aeca23c5d93823c499fb03bb460493c50338a3c94de523cdbcc7a3bb8cb323c7cb46e3cdd07213c4270ad3a2544fa3b858a113c04578b3b9a610a3afad1753bd3bf6b3b59ecd639061d72ba0000000000000000000000000000000000000000000000000000000000000000cb8993ba6983c9bbb5861dba5f0301bd13908ebb4b35adbb6edf7bbc9d8545bdee9615bb61468abbcf2ad3bcdac45ebd5e966bbb3b035dbb75b3fabc98ae59bd1f6e53bb93ce35bb01dee7bc788d33bd19c744bb019ff9baaf7ab7bcd590dfbc710ef7ba7df29eb9275d35bc6fbd20bc0000000000000000000000000000000000000000000000000000000000000000d1f18bbdf44dc8bd78d15abc4557a83c0b7b9dbd5b92b7bd4aa427bb6b2cb73c0b299bbdbac09cbd9e8824bb626e8e3cc77a82bda8be6fbd8948123b2e528b3c6d4a4cbdaabf2abd410cef3b5c28663c91ddf0bc4fe1b1bcd2b9203cb45c153cad6702bcb08999bb241a093c2c1d5a3b000000000000000000000000000000000000000000000000000000000000803fdcb0aebb3fcfb23c86633a3db7ec943f4467103ca47a513d5f97a63de78e763f8ae3b73c4c438f3d0baacd3d034a463fca8d003d4c1d973d0af2c03d9d1d153fadd2063d2c2a863d4615963d6733cd3eba7bdf3cb58a3c3d8f292d3d0057653e83cba83cd3ee923c07772a3a19727e3d0000000000000000000000000000000000000000000000000000000000000000140a49bd2435ffbc00000000000000006e8763bdc8cc36bd00000000000000009c1d72bdfd694dbd000000000000000039ee89bde53051bd0000000000000000075b95bd282931bd0000000000000000bb748ebd51c9c4bc0000000000000000f73d73bd332c95bb00000000000000000000000000000000000000000000000000000000000000000000000000000000ca2b1abcff2a953ca3e1263d320b413bb0824fbb8102893caeb51a3dafe1a93bd5b5173b5343923c8b34003db8cf163c8b66013c0f6c5c3ca11eb53cd7e5053ca6a4af3bf5b9123cde7e613c506fa63bacba943b40ebb03bc36ab73bc3e3983baa48573bd67d583af27dcfba446d833a0000000000000000000000000000000000000000000000000000000000000000f1c8c5bbd377c7ba57f6d13bc8b9e7bbead83b39129d7bbb1025a6391439dabcf1365a3b9c05a2bafbf4a5bb681f39bddd6b823bc2adf2ba631649bc7e9732bd518b763b5b31193a647828bc265415bd29c1823ba660593a88704abc0d8cd0bcfb3d303a7d89af3ae3d225bc4476d3bb00000000000000000000000000000000000000000000000000000000000000001bba67bec4d0ca3c457a033b9014ad39c00655be6da6323cd65083bb7d11193b4a3b44be445c97bb164228bbcb3cad3891e91abef37397bba803f5bb8e9e953a14b5ccbd4f9201bc7d620fbc0466bf36fc0848bdb98a45bc32e2debbe79f19baa9fe99bbb854e0bb464085bb49965ab80000000000000000000000000000000000000000000000000000803f000000008d8ac03c3c5503beb36eaf3f334c19be72cd793c9b5258bd598a8f3f8283cebd54b9843c6e96a3bc665f6f3f1053a4bdef655e3c62d9d63b6d8e313f114578bd10f35e3c3064c53c4d77df3e0275e3bc1678003cf64c0c3db525583eacf6283bb662a43b48a7ca3c0e1b34bb73539f3c0000000000000000000000000000000000000000000000000000000000000000941bb83c08b844bb0000000000000000d3e1403cd4e7253b0000000000000000b3a00d3c9463013b000000000000000067442f3c790ba93a0000000000000000899fec3b0d840e3b00000000000000005bb07d3b145cc4ba0000000000000000bedd273b4e9c02bb000000000000000000000000000000000000000000000000635444bc77e1023c2546a13c10f649bb357f40bcd9bf7f3cada4043ddff5e0bac0a749bb1b2ea93cc5ec1c3da309003cca20303b984aab3c9d350c3d1068113c1709da3b4264983c8532bc3cceaa033c4ad6ea3b80ac683cc154743ca5c2063c676dc43bdb890f3c5787c43ba9c0a33b53d49d3b2aea913b602560bbf5bd623b8bcb02ba570256bb7365d4bb5143bbba710695bb905dc4ba2bb75a3c0d460b3ce99a24bb7f686abbe272133c0021f6baf0a289baacf090bb81bbc53b998bf7bcb56e433bcc8f98bbd8dfc7bafd061dbdf685913bd54b0ebb9588fabb317433bd69dfb43b45c834bb5ff904bc949121bd907e5b3bf03e183a4dc13fbc88c3ccbcfe63113bba1fdbb9333d2cbc97682dbcb9da86394279553ad86c03bc940f3a3c948bfdbdff53993c4e73bc3ab52b05ba6abb3abe93d7903c9c7e38bbbb6f493bc0e85fbef03fcd3a8a7f55bba63d303ba39b51be5d3216bcd438e0bb6f23533b749c21becec250bc1e8412bce166043bab0fe5bdb4467bbcf72636bc37df4a3bb90f68bd04c273bc30c917bc132f983a4b975ebc80b840bcddd790bb28a7d2397f2aa13c8d781a39f20b5dbb09c01fbaddb7453d92cc7bbe653dae3f1a12f4bbca21333dea873abe1b0d9b3f3c73493c615f083d5d4c13bea06a913f281207bc85f3f63c10c8c6bdaad66f3f27ac80bb247bc33c9ee849bdce69323f43e1243a6d0ba33c23ca87bcab7ce73ed253863c9ec2753cea5f9b3b0ee75c3eac79df3cf460b03ba93f913c2aba233df822013dd3e2073c90de7d3bafa2eabd183f983c0f1d63bbf680173b0000000000000000a46821bc71eba23b00000000000000004dd51cbc3b2bbe3b000000000000000057b105bc1dc5c33b0000000000000000f1e254bb1cc27e3b00000000000000005b88acbb9541683b00000000000000005eb284bbda67b63a00000000000000008cf906bc1cc3f03a0000000000000000cbe9b9baeb0ff4ba00000000000000005fd9a4bb1284fb3a6b050f3c3264c13ad85203bcdf6e8f3ceb1bc23ce8cfd23b41e7efba06abb43c01c2e53cabe2443c53301e3b8613af3c6ad0dd3cf664403c136cd13b58e0943c73ca883c5ef12c3c34d7003c9ec97c3c15ec353c31aa113c9452d33ba52a0a3c4fbf853bb07b833b85afa13b4439803b4f5272bb5338023b025b143831a0a3391e68f4bb1ea3b9baa1fec8bbeed325ba7c2b663c52bdc4ba0cb865bb334d56bbbfbe703c7b239bbc9f7e43bac12ebcbbeda1283c152a06bd2af17b3bd5d02fbb8f95843b909135bdc2db803bae180dbb951ce7bad5f633bdf6f58e3b2378e5ba8a0ff9bb88ce1abdd4fc923b84aca738b37c0fbc5c33c6bc20503a3b1e5be7b8acf322bca4bc11bc3a2692393cc5923ab2dd84bbc557d53bc34d92bdadff853bfa3f8dba8c4d2f3b6ae225befbac34bcc8bc0ebaa790873b7a1146be3033c4bca07f53bb7efdc53b3ffe3bbe2486e4bc8de3dabb8903903b31a814be64a1dabc4a6c2fbc73300d3bf1b8d9bd982cb8bc32c43cbcd2cf7f3b240162bd33cc85bc1b6927bc17a9403ae3247fbc1db412bc9c47c8bb083c31baa3ed323ca7a1113b9ef43bbbc9f5b0baf941493dfe706fbe96f78e3f84af653e904d4d3d100b65be7d49913fb0cd3c3ebafc243d05df36bee757853fc441133eb8c0163d803a04be95815f3f9cf2dc3da9f9e63c85e3a5bd0b08283ff8b4af3dae8aca3cb5cf36bd1200df3e52fc823db165b23cd88f93bcaa485d3e3a30463d20a45c3cfdade8bab48c343d739feb3c51db1a3c0c560ebc288882bda646383b871974bdcc855d3c0000000000000000301f6fbd34ed5e3c0000000000000000bf3739bd9f32573c0000000000000000795711bd7626243c00000000000000004a4fcfbc78b00c3c0000000000000000c87997bc6c22ca3b0000000000000000627a57bcad27c53b0000000000000000daee10bc1a1df83a000000000000000060ea5cbbd662923a000000000000000060559cbbc9cc323aa5a3e13b53a97a3bfba9bbbbf224613c1df29c3cfdb3333c1af3b9bad9789c3cec22d03c612b773c1731283be58aa53cbbc1be3c15ec813cbe9b0e3cbdb69f3c1254813c33592d3cd3a2de3be8567d3c6f942a3c443a043cfacdd83ba649063c8cfd9e3b095b9d3bfdebc33b43a9a63ba61963bb8f2dff39fd40873a3ae89539f8f5d3bb5cf5acba807e98bb85fe26bbcc17963ca71c7dbcf64a0dbbb47661bbb053833c4963a4bc2a6f13b89238c0bb2790533c026113bd4c6ec03b681795bbdfdebf3b48223ebdc892dc3b962b55ba199952ba80843dbd91c0bb3b8e37ffba40c134bb99da18bd8749a53beda2cfbaa29ec3bb0134dabcf3c6323b21eba5baf67e01bcd55d24bc474739b9ed7c06bb150b40bb48c0813b0b5d5cbd9512a0bc5620293b723fa53b4a4c07be43ef33bdf544583bdbfebb3b4b6128be92e967bd9978db3a2180093c708b23be8e1367bdd0a5b6bbb7b9823bed380cbeeb0f38bd2cc91dbcb582703babf4c7bd550410bde57039bcd3376d3bd3e161bdfab7b5bc87c815bc076da63a3a2690bcc797f2bb85c4b3bbc2311f3a11d80e3c82289a3b6ddc7eba75b583bae3e0363d33dd5ebe6a69703fa303e83ef4e0483d1cdb5abedbe3703f1322d43e5ece223d239832be969b613f0bc8ae3ec01a0e3d690c03bea107403fcbb5863e0d6ce53cdc08b5bd0d3a173fed3a3c3ecd00ca3c6ced55bdc182ca3e4b55013ea6b3983c286bddbccd69573ee4338a3d03ba663c3c033fbca41a6c3ddb87b33c7234233cacd68abcb26e3ebd16969fbc0a55eebd9191d13c0000000000000000f5deeebd8628d83c0000000000000000b2a0cbbd3ee2bc3c0000000000000000d52e94bdeee99b3c0000000000000000b50e5abd6d78843c00000000000000002d760cbdcfa2203c0000000000000000544a97bc3584f13b0000000000000000fd5f0cbc6eb77a3b000000000000000015071c3a8bad3a3b0000000000000000d7cf69bb6b7d6abae216953b468af33ba56d76bbe07e0c3c448e783ca14f893c3246d7b9ab22803c0235a63c5213af3cd13d533b572d9d3cea2b9b3c0b58913cd86dd23bcf1b8d3c0eb8373cccf64e3c4f94ff3b6990643c6a500b3cfec52d3c913de53bb3891f3ce0cbca3ad477a43bc14d9f3bb6efa53b83b13bbbfda15a3ac552db3ac9775539433ff4bb53094dbbc52743bb588e89bb67b7833c7be759bc090334bb9ef78bbbce11683ceab0a4bc35ba513b4f81b0bbdfc3303ccfb400bdff18ea3bb699f9ba8416993b38301abd70aec43bd127d5ba11db1039eba92bbdb1f4e13bc2b850bb849713bbc90615bd54289d3b22235bbacf20c7bb82e8bbbc8d9f4a3bf22387ba72e2b3bb25db37bc130a8c3a0a4acfba046f06ba0ddf963aa94505bd824b2fbd89a3f23bc632aa3b2906cbbddf3fa8bd23303b3c2a5def3b1b1e08be1a6cc1bdfa51823bab49ca3bdadc0dbedd02b0bd8f4b12bbea70513b2fcddcbdd98285bd8c53c3bbeff7673b2985b8bd733f39bdf03221bc2f5b8b3b7bec49bda365c0bc771c22bca64473390c7c98bc5332babbc28bc1bb4f55e3b9ed9b013c5b251c3c229003bb8c2edeb91b48183dd9c234be1085313fce40353f65511d3dc7732ebebed9353f9f2f293f9962fa3c753d10beaae32d3f09260f3f9212e43c3072e9bd0a5e193fb6e6de3e1533af3c2d8d8abddf0bef3e08fa993e8731b43c851d62bd5ae2b03e30203d3e1f56923c9552efbc86db443ef79ead3ddea8483cfc718fbc0c5d863d47a03b3c7e032f3c05b194bcc4fedabc6a0632bd156532be67d3123d000000000000000037ea31be56c11d3d000000000000000079ab14beab92fe3c00000000000000006cace8bd5c88e23c00000000000000004d5395bd12278e3c0000000000000000483a44bd7b49893c00000000000000008724a8bc8000143c00000000000000009cc797bbecacc33b000000000000000041e3803bf68b893b000000000000000039c5cbba3fc79bbbc0091e3b8ae13f3c682868bbf868b33bd6da523c54fcba3c10c14aba401e513c1feba03cf64cdd3c7c49783b9a5c723c12d4a23c19d8a93c24a2833bf0ff863c364b543ce2bf8b3ca1f3fa3b5a6f6f3c29ab0d3c7e8d603c5f90093cd7ca123c4190803b0cffbf3bbc8d9c3bdd579f3ba09c81bbbfa0113b7cfad93a23a6473a6dcabbbb40c313ba4e0d29bb9203afbbcfaa563cf7bb3bbc43033ab92939e1bb69033b3c7f8b71bcadf1423b961ed7bb2bef0e3cfd06d2bcc73e0a3c2c106ebb52575e3b102c04bdd51dcf3b9be1d3ba33ba4239856a0bbdeb54673b21bb0dbbedb7b0ba0dc806bd46a6ba3bada559bbd153babb5142cbbc582f143b588656bb5a0783bbf6a644bce10961ba746510bbac09f3ba9178b23acdd361bc024983bdf718103ccf870f3c950d8dbdb34bf7bd60f9893ca43d013cac61d4bd0f290abeb0802a3ca6ec063c4aa2e0bdcd7df5bd81150d3bf1a1c93bbf0eccbdf17fb9bd1c029abb36a47f3b8284a4bd71316fbd0971e7bbc610183bd48d4abdc2e6f3bcc2d70bbcdedcc73ac5df9fbca6c09fbb0b788dbb979ea6baddd4413b7b6d3e3c585d473a9bc404bb9f6adc3cc646f5bd6e76e03e4309733f0c74e53c4eeaf4bd8847ee3e7a86663f9a96cd3ca750d1bd70bbeb3ef17e473fe335b13c1cb8a2bdb294d73e10371b3f88e2903c9acf6fbd5e2ab83e0327da3e79b2813c97242dbdb7418c3ea81c833e728f5d3cfbb4e5bc4b98323ebd34e13d198f3a3ccbcf86bcbde2943d78a6a93b7238f53b24c477bc45582ebc741a84bd6e7c5abee729303d00000000000000001cf263be0d20433d00000000000000009f8041be78a5253d0000000000000000838114be23a5eb3c00000000000000003c94cdbdc017bc3c0000000000000000880875bdf59b8e3c00000000000000003821bfbc0c6c3a3c00000000000000001becc3baa0c7cc3b000000000000000079e6b73b2d46cc3b0000000000000000ca8022bb7112b2bb60a9813abd1d583c42e22cbb5cf7dc3a2179633c2660dc3c97e491bb4ba8083cabad9b3ccfbf033de8b5b9baa9fe5e3c0f04a03c21ace93c6fe2943b77dd523c6192713c2d6b983cddd58d3b0a00563cae8a1c3c429e693c7ac0853b0d1d0e3c0911b63b24c7f73b94a5ad3ba494a93b422b4fbaf47f063b9861ec3a0c2b8c3a672495bb064d2ebb875854bb39e59dbba701f73b506ddcbbc1c5b63a511803bc0283e13bf67c16bc9f2aaf3bcad50fbc5218cc3bb6e04cbca66c0a3ce621a3bbb7820b3ba989ccbc2ecbea3b381c69ba0f6daeba37ffe5bcbbc4dc3b5b8d83bb0ffe34bb055ccebc95f26d3baf0929bb2c5a2bbbcc1fadbc497b203ba02060bbc3b3b4bb8e9b26bc676996ba607a55bbed7ee0ba24067dbab67eba3b7f4caabd1929a83cfd00a03bfc4c25bd53e921be4684d23c5fa6f03bc01091bd47a034be61ca913ccd5e163c55f6a6bd221b22be6adee23b73648d3ba5eb9cbd394ef3bdf1ae703aab76303bd16d87bdbece9fbda1f187bbe1f3203b0a1b2fbd6c6718bd4f5ba3bbb583d6b91c17aebc95f7d1bbd6aa5cbb7c509bba0105a43a54e07b3cbe49bf3ad470b0babce7813ceb3176bd88ef573ebbdc8f3f4e9e7b3ce1e96ebd66c9693eaa778d3f20861b3c352d4cbdff39793e116d773f99b4443cd9eb19bdb261793e0307443f7f591c3ce2cee1bc6a49663eddaf0b3f1420eb3bf9cdb4bc3c44453e315fa73e98cf183cb33493bc01050a3e2e7c0a3e1ab5fa3b470936bcf5658c3da4c0293bfbbe963baef337bc2d88873b2c8ba3bd90c269beb4c9483d0000000000000000806678be10674b3d000000000000000092d153be644b1b3d0000000000000000a4cd24beff410d3d00000000000000009ee3e5bd63c1c53c0000000000000000619b84bd3d68923c0000000000000000f564b4bccb243a3c00000000000000002d3c5c3b60a5c93b0000000000000000d0ff733c4125953b00000000000000005ea537bbebd9d3bbf412563bd97cb63c9a6589bba94b10bb4c121e3c8e640c3dc3bf5bbbe39b943badc0a43c903f153d0132c6baef27313c9fea983cc7a4083d3c3b8d3acc31433cded46d3c5341bf3c9a45643bf68e243c13483a3c71ea853c10ea863b3343f13bc847b83ba0ba043c4a129d3bd26aa23b73a042393b1b6a3b8fd5ba3a89728fba0a7eaabb0d4c80bba44f44bbcd9007bc4d704c3b3859a53be0a71dbba28315bc900a0f3b5c6cc0399e75bb3b797101bc2d89cc3ad3904ebba152043cb8075dbb56f57fbba9df25bc30e4ea3b382dfbba998e96bb6cc875bc47e9b93b121e34ba0e5274bbbd2992bca090a13b5c59c2baa6b3b3bbe9ca62bc153e133bfd9cfcba3b35b0bb765613bca56b0fbbd2dc34bbea655eb9f249e5bafea1653cf41407be8aa9f83c1915b13b64bb48bca49839be69691b3d9d32513b375049bd6a6453bea77daf3cd4edba3b1a2d80bd95f93ebe5a895c3ce5a0d4b99c897abdf80e11be7ef9263b4b74ed3aee6f5dbd1799bfbddb6b3abb0c146bba7c5219bdb66135bdd53efdbb13e103bb7309acbcc60f11bc81f4dfbb55d798ba7a50bd3b364ac03c6da6173bb8404abba43bb53a1dd0cdbb22d272bc157cae3f1f263e3bf3a023bcbbf5413d6f42993fe3dc653a84b013bc31268d3d7b168c3fda3ef93af856cebbdabfc93d18e9603ff062d03a9ef39dbaf1b7dc3d366f223fc3bc903bab5049bb3bc4df3d4d78c63e49bd7c3b74bb89bbf9f8bb3d41752b3e80535a3b85d7b2bba7e2753d217e693c37a276395b964ebbb052113c8c8600be36fc78be9d65413d0000000000000000e36a53bef6d4353d0000000000000000122141be36fe0f3d00000000000000007f4219be69acdf3c0000000000000000395fd4bd80eaae3c00000000000000004f4b64bd80955f3c00000000000000004bbd56bc264fe13b00000000000000006470803c7cf826ba0000000000000000aec3d53c8a63cb3a0000000000000000000000000000000000000000000000006846b1bb4bbf91ba48fe7c3cd030203d8c3882bb2fc9a83baad58c3cbf47193dd1e88dbaa3a30e3cc5d48c3c3083e83cd551dc389a611a3c74186e3c7e59af3cfe77b039b312273c0004ff3b946a7f3c46012c3bb54bed3b382a853b3d7ae43b51ca2b3bcd522e3b856cb9ba1b6a43ba00000000000000000000000000000000000000000000000000000000000000005354643b504e24bc16769bba9985343cd8d8733b879cc9bb469e63bb6c312f3ba896133c8d7af6ba3de8faba76629abbb6f1d23b70319b38c9ff82bb65e4f9bbe784983b9422a1b98dc0ccbb02482bbc1d091c3b40324a3a21a195bb6f2338bc3a56503942326fb85c3261bb8528e7bb000000000000000000000000000000000000000000000000000000000000000008fb24bca7d964becd5ee43c02dda13be0af15bdff384dbe58a8743c76cd353bb27046bd9b173dbe6cbdd93a4af76b3a79b242bdae3d15be9ea5d4ba45d1b1ba447d27bdd4cabfbdcd0770bb2a2230bbacc2e4bcfb713fbdbbe7bcbb159165bb87b007bcb3a760bb3f5c0cbb6d2476bb000000000000000000000000000000000000000000000000000000000000803f6473e7bbe50ec33c37def1bdf25dae3f9c4291bb63ce953c3bad1cbd39558d3ff3c0bebb2c12963c492595bb0d3c6b3f45dca5bb35dd8d3c2c66cb3c85cb2b3fbef86abb9a9d743cd5f4203d228bd73e6aa9debafdc7233c96963d3d4ea74a3e848c2ab90116183cba45dd3c17870abc00000000000000000000000000000000000000000000000000000000000000006b9a20beab73d03c0000000000000000df3addbd7a0a913c00000000000000006fa4bdbd45165c3c00000000000000004f6f84bd02b6413c00000000000000009c530dbdd1bfe23b00000000000000004c9cc0bbe1578b3b0000000000000000c36a8b3c80ab3aba00000000000000000000000000000000000000000000000000000000000000000000000000000000f55318bb04d6d53cf50c043d0bd83fbcc6c0233c7090df3c5bbed93cb4fd21bc9046843c0857ea3c196da03c333ee5bb4e4e973c6ba3b03c4194603cd72606bc484b873c3f5c693c676b0c3c09469fbbc4af213c29c3063c1d21853b871d0cbb4991893b4062b83a5df227b9157a5aba00000000000000000000000000000000000000000000000000000000000000007ffedabb476983ba53a4623bb4d71abd086abfbb97da8138eb0aa2bcbffc85bdfec1a3bb25485138bf5f1bbdc564a7bdc17a39bb7a81283b0b4f3cbd540896bdafe344bb6faff63a403d30bdc2006abdd3a4afb9bde4e239157b0bbd26fa08bdb2b592b97d1cc53abbf688bc4cad0abc000000000000000000000000000000000000000000000000000000000000000062324fbe0e324c3d613e193cc0aecbba86fb2dbee1b43c3db8b2d33b45212abba61f10be7917133d23e3913b53cbedba4240d2bd76da023d9762603a16e3a2bb82e879bd62a19f3c436aa1ba016417bbfe5ff0bc8bb3e33bbb8118bb57de0cbb181f893a81823abb284151bbf42a7bba0000000000000000000000000000000000000000000000000000803f00000000c4c6773c3ff5bdbd981db23f99f94bbe848b553c8059803cb4f4903f853e3ebe14bf883cdacb9c3d20e26a3ff93036be7b3ac63c6b91da3d7335293f8dbe1ebee42ab53c3b73de3d10facf3e0181dfbd60b4b23c9279ac3de0463b3e100644bd3b70963ccec1243d376a76bcab635d3b00000000000000000000000000000000000000000000000000000000000000001ff3bf3b2dd6b8ba00000000000000003810c9bb5836ad3b0000000000000000e4aba4bb336cb33b0000000000000000f7f114bb3784c93b0000000000000000d4b7a73986f1a83b0000000000000000b9a4623b4a8e5d3b00000000000000009f4d9a3b68a3cab800000000000000000000000000000000000000000000000099c837bc6eea243c75fa843c112ea5bb2bbd14bc278ccb3c76a1cf3cded528bc6fd86f3b3872093d4eb6ea3c6ee413bc54f9473c8ffa083d15bcb83c7afa19bc9aad983c92c3d13ccc43673c824bccbb050f7f3cdbf5a03c1b42333c2e4caabb69be303ca953343c358f7a3b0f3c37bb0189cd3b5329943bd4e6963add3d63ba12dfecb9b58724bb41415bbb8942003a9533abbbd4b15bb87717963cf478473b685ab3bbdeaa223ad4b2c03b61369cbc5be4debb0282133a3edf02bc06657cbd7d38afbb35eeb63a7cc1c6bcd3349bbd046d7fbbcf3fb53ae1cf22bd505298bd591710bb5091023b03a120bd5cd471bd1189cfba0f83043b3b20f6bc6bf60abdbfa5f637d6dd06390456abbcba686abca35471bae67c973ad84036bbe107383c0ea0f5bde707af3c4a390e3c46ae6bba5d8c31bef046303d9314a93bdb89d3bad41540be12451a3d8d740b3c570b12bb229b21be339a053da9f0c23b4a0f1bbb4416e3bdca0ed83c8862b93a46eb21bb96ff98bdc71c843cedaa87ba217a1dbbdac20cbd69efc23b062c00bbae361fbb1dd1ecbb31528dbb8c0446ba47ffc43a4fc1803c081c90bbc605f8ba85871b3a482c2f3d10e977be99ebae3f8c1123bc30701b3d901224be9f0ea03fc51159bdde0bc03c7fdc9fbd85b9943f2aa8c8bd102ea73c04c1b539d8fc703f7d95efbdb3ebbb3c504a5b3d28ba303f05a7e8bd0aad9f3cbd31953da34adf3e52b7a5bd4b77883c40ad8a3df5d6483ec8871cbdd317513c8d35463d2d45da3c3b24fb3b7308373c4b901bbb3791e0bd77428a3cae3c83bc584528bb0000000000000000e703a0bc44d46b3b000000000000000044caedbc503a023c00000000000000007716a8bc20ee043c000000000000000027fd6cbc3e06d63b00000000000000001a9e04bc6a52e63b0000000000000000cbc41ebb25e4a53b0000000000000000d33cf1bb082113b700000000000000001cdcba3b6eb652bb0000000000000000af5b14bc3333fc3b8be0dc3b24524b3a028bcebb8be6c93c6780ab3c1ba706bbe752173bd21d0a3d7d23ca3c952658bb1bb83a3c476e063d3e24963cd47a81bb813b7d3cb741da3c6083703c0ad097bb0698653c6b10a93c67c5123ce27c60bbbdce243c88af323c1e64443bee932ebb1a6ec13b4010833b6e4925ba0889b2b9fe4b5b3abed669ba4f9d69bb9f7766ba6ef7b6bb68fa4cb9c534753c90c77b3b4541d0bbd2d0a8383c95fd3b2183cdbcee09f0bbcf11ba3810f7acbbb5d65bbd532aa9bbfb35b0b9cffeb7bca6ff8abdcd9457bb8abef23ab9d808bd6eb68abdb61368bbdc8cfa3a75b910bd2b6e51bd98a0ca38cce2b0399fdaeabc1196ecbcf93bc8399b07ba38bfee9ebc8bd621bccb64d53a94c176ba1f41a1bbc383123cc8929bbd05463f3b83d4253c1e51a2b9e59a21bed6de423c2595633ce3be77bb6e9032bef439493c9433783c93c724bbc7fc1cbeb664823c6998343c0dd40cbb0eb6e6bd76844f3c6e30e23be193a3bb381f9abd29ea183ce670283bdc0054bb0fc320bd3c88af3b452f10bacfc729bbf120e3bb02fe81bab511e6baa85e54ba3e8d253c1802e4bade880fbb513ab93a0d1c443df6b373be1742903f0ca9603eb003293dc09949be100e953f697d073e61bce83c5be3efbd3633893fd863663ddcdfcb3c6b3237bd2ad1663f8f060fbc570ac33c8ad79f3cad702a3f2ab805bdb12c9e3c16e8243daf93e23e456c40bd69b5a13c9f0a383d78cd5b3e9b4400bdcc5a7c3cc1fa023d7f471b3d55d82abc6d32333c1d5dcdba955f82bd439851bb9bc08ebdcb27043c0000000000000000aadf9abd6648553c00000000000000002f0c8ebd7da1483c0000000000000000cfe458bdeabc303c00000000000000006d9025bd9ea0113c00000000000000003ac4b6bcfd841f3c0000000000000000a2fee9bbb7b7c33b0000000000000000c01b573ab2f9363a00000000000000001150003c244679bb0000000000000000d19a02bc15f5eb3b4b8e903b8749cf3b108cd0bbbab8b53c3645923cca18673b4568ed3a40a0043d95e1bf3caf659b3ac73c133cdb5d123dbdc28f3c0b9eb1b7bf5f7e3cd295e13cd4d3533cbcf050bb58b0603ce3a1b13c6404083cff0238bbf2be2c3cdcdc523c44bb193b08f416bb824bd33bd398713bd00f8aba4b33cdba0070f0393a0dd9baaf3f81bb038baebaac59babbb56d89ba1e28863c0ae58cbae656e9bb4422e6bad7b81a3ccad8a6bc8c4b05bc10dd1aba34c622bbc86749bd0b2eacbb553bb8b9909a88bcaabc82bd044a1abba879513a06f5efbc94b081bd95bb28bbe9a8b83a5beef8bcf6a54dbd7a1d9d3af907a3ba5dc7e0bc5944f5bcbc22b63a1dc299b960aa96bcfaaf00bc57f81b3b5b1148ba3391c6ba84fc183c76377fbdab8da9bcedb4803c2d62f8bac3850dbe615398bc9a6fc43cee5846bbd8ab27be17007fbcc907ca3cad0585bbe87d14becdd3dbbb1055723cfc1133bb0ee6e5bd9468a5392372243c142da2bb62049cbdcfaad93aaba4953b7a7e2bbb6b2b19bda5c8053b22a30c3adbb832bb37c218bc46c1463a0e8305bb3f0980ba40e42e3c5c7cea3a1ab94dbbc4a1973909bf243d851464be0118713f5b6de93e181e203dd2b746be330c7b3f041bb83ec413d53c49e0febd22e9703f1ffd773efdcfae3cdd7366bd2b484e3fd032083e42f1913ce61014bad3c3213f09604c3d51b67a3c6c91e73c453cd63e5f4be33b9371823c33b51e3dd3595c3e6e4d90bc6901673ca6decd3c5ccc5a3d44419fbcf862373c18a31abc0d2850bdfd09eabceb4901bea68e923c0000000000000000a1770ebe75b9ce3c00000000000000000632f6bd3cfbb43c0000000000000000a153bbbd0e8c8d3c0000000000000000e19f86bdf66d753c0000000000000000d8aa16bd3e4c213c00000000000000002aaa59bc73c2d63b0000000000000000c9ddfa3ae6e4553a0000000000000000dfcb803c8ef9a9bb000000000000000077cfe1bb8222553befd8913bb53d273c2fd69abb4c279e3c12178f3cdcbf193ce68a243aff2f013dc194b33c696fe93ba863ec3bdaab123d63da8c3c01025d3b235d523c3036db3cb8242f3cfc71363bf5094c3c2a1ac63c9d2dff3bf83701bbb68e263c103d3c3c3ea0483b202e71bb66b4d53bab58ae3b4dc333bb94cf9cba3b45a93a8ef907bbb0f194bb3b6fa3ba14ddc9bb3ef371bb18b3663cad43263b5ec006bc544e30bb6a99ee3bf6377dbc2fa0cbbbcccc26bb78ee24ba4d752cbd64dbd9bb2dbdd2b9e3505bbcb8ba65bd232283bbdae0ce3a828dd9bc199171bd621be5baadfe0eb93d1ae0bc044d41bd15b2bf3951f59d3a02a0c4bcc40fd6bc4a3ca13ae20027ba6a1e89bc396014bc97d5153b823396ba3589fcbaf764f93b6ebe3fbd55462cbd2625b23c1d616fb90c54f6bdb04557bde5d5063db8da8abbec3518be0d943dbdc34be03cc81b32bbf9c60fbe6e9305bd1e74c63c479159bbc3fbc7bdc728acbc20674c3caa6997bb85d69cbda0ceafbb42a1e53b65f48dbb7ef519bdfff339381eebf13849be63bb05e80cbca39cae3a67a201bb96b5c1bad41f2c3ce0a19b3bcccc5bbb0d2a55391e5c0a3d0beb3dbe8c84333f1932353f49ebf93c788d23be5b2d423f51631c3fbb7b953cf394d5bd84e7413f26a8ec3eca1e593c216e52bd206f303f071b993ec9687a3c85e0fe3b1fcf063f0da0383e04192e3cc98e8d3c8254ca3ed5367d3d5b05353cde64f83ce95d543ee64e773bd5184d3cb2fb993c5539883d9fe1f3bc4d871e3c1a0a07bc2b7611bd1ad44fbdd2663abe0c07ed3c00000000000000002e904cbe319b123d000000000000000028f833be8619f53c000000000000000015aa0ebedb0bd03c00000000000000000be2cdbd470f863c0000000000000000967170bd5053873c0000000000000000becd9cbc2f31073c0000000000000000f840cf3bed5f0aba0000000000000000f392b83cadf093bb0000000000000000ccc0bfbb93bc043bf599413b76e8473c130ea7bb77b0863cb41c8e3ca74a8b3c92280fba1ac6e43c77e8d03cd7e54c3ceadca73b5d4e053d7e579b3ccfd2123c1de3343c615b003dc566643c7bdb3a3bbf880c3c6707c33c7a0e0f3cf19a1a3b9538073cc7ec673c2d9da33943922f382a38dc3b96058a3bf4b387ba2081d5bad981ba3add71ebb9c922b6bb237d4fbbf980adbb0cd884bbb8af363c23cd5c3b622f0abcbe36aabb2d55c03bbdf6d1bb08c813bc11f04dbb7a0bc1b988b7f7bcfeb6cfbb9c5ca4ba8a4723bcd49440bd4f8894bb70e7c5b9c12e9dbcda145fbd7feb52bb83873e3afa7cbabce21c28bdd6df05bad808453a7e9d98bcededd0bc94ac293b192cacbafe0c66bc833e36bc6436133bd015b7ba057203bb7ebfe83b886300bd16917abde50ec23c072d37ba3c41d6bd1201b2bd69c6263d658a8abb60e90ebeb719a5bd4937213dc9b193bb1e8f07be308272bd3264e23cffab87bb4b87dcbd7ac713bd2128b03c07bfd4bb3b9c9bbd1488a5bccd0a223cb028a1bbe1261ebd8c0199bb7328e03a9fbbaabb64b63ebc6840263be86433bbb598e3ba8bbc3f3c70eafe3bf46a26bb0461bbba107bbf3c776a05be906be63ef393723f32e0943c7adfe5bdb129043f94ca5b3fcd192a3c380c9dbdf2f00e3f4ff92e3f3fddcd3b0c1702bd6ed1073f9d64f53e238ba83be1e430badaf0ea3ee3e6953e4d439f3b561eae3c40d9ad3ec8720e3e03bda83b9794c93c48e04b3e0d3feb3cdce6cc3ba778ab3c459b953d4a5106bd05ef183c0b0c06bc3b06b6bcdb038ebddef061be45921a3d0000000000000000ac0580be1b1b3e3d000000000000000087bb65be8d681a3d00000000000000003d0834be6127f83c00000000000000003f3d08be41c4d03c0000000000000000ff9493bd6d477c3c00000000000000004f0dc8bcf0aa093c000000000000000025a03b3cd89a09bb00000000000000006bd0c93c085280bb0000000000000000b6372abb1be2bcba3cdf353bddc87b3c947453bbdf06213c460b933c6469c23cf4085f3aa663b93c5c3dd53cd061a33cba7d843b83dbfa3cf598b13c6d425f3ced85ff3bf8cfe03cfef4633c9363133c2e4f173c333dbd3cdb5d293cca5f483b82e3e43baed1623ce8a48c3b688c2cb925a3d83bb333763b8d8ef6b916d9cabad2becc3ab94a23bb92f940bb2a5f69bb5f7be5bb3bf7a4bbe03f9d3bf4441b3cdc2411bc5424dfbb89056e3b660bf23a3cf417bc27b2bbbb67c821bb3fd4a6bc52f9d0bb36ae55bb98be00bc7bd517bda819c6bb8280333a7c3d83bca10537bdf10386bb71af8d3a291e92bc42d720bd58e2a6b6dc0d9bbae4db83bccc38c1bcedb6a13aeda429ba3d0c35bcdd0732bc0a0b373b813637ba508ad2b944d7493baf3c82bc9e83a0bdcef9063dc77e5fbbd510acbd9721fdbdfb03483db7b1b0bbae48fabdd55ef3bd00773a3dedd2b3bacbdefdbd74b6bcbd3381123d4ba481bb88abcabd330d70bd3729bd3c8c87d2bb373e99bdc1970cbd1a2e763cd69ba5bb0b4b28bdfe454cbc9311903b228d83bb8db529bcd5a7673afdb4d5ba34931ebb454e113cc0d31a3c22015dbb2e2daebaba2f443c2b9f92bdd7d1593ea8fe903f9276b73bc3976dbdfe4d8e3efd088a3fb418373a6a5b0ebd412db03ea142643f5355a0bb8fea72bbf1beba3e5232283fc671e3ba91dac23ce3afa93eeba2da3ebf3babbab0dede3c12f78a3ed4fe643e15210e3abb53ed3ca59f2e3e16dd893d09da573b504a963cb14c943da20904bdbcd78e3bd9f171bab1db03bc8054a5bdb45472be247b383d00000000000000008f5b8dbef1b7573d00000000000000006a6780be54aa263d0000000000000000b96754becf60113d000000000000000042a21cbe25ddce3c00000000000000008f84b8bd2eef903c0000000000000000a0f000bd79311c3c0000000000000000a918323cd38617bb0000000000000000510f033dc46f01bc0000000000000000d64defba0f90c4bbeefed23b37b9ca3cc696b8ba24614f3bd4f8973ccac2023df61f34bb1f0da63cf8a1ea3c9325f13ceb332f3bf59ce23c4e64c43c0d44a23c340df93b9d76dd3c200e9c3c9b8b4e3c047ae13b9021b63ca5215e3cf033e63b817ab43bdd176a3ca729bf3b9197113b5679a83bf872cd3b7ce0383aacd78bba1dc7e23ae02538bb7bad99bb431699bb635b00bc8d07ebbbe4143e3b85a5853c67ce63bcdccbc8bb725f83ba9b17173c1e4725bcfa17e2bb2e721c39dad142bcf632e5bbf50a8abb9670bebb25e7e9bc8560e0bbca791438254a6ebcf6db1ebdffc095bbd0b978b9131d59bc86cf15bd524e42ba84e6a1baf5f741bcb90ac9bc4d15c43a2ab1a039b42c15bcb1ed6fbcf953a43aeed88eb9b54d673ad0a6763a61243dbcabbef9bdb584163d4a2914bb3c107abd9d551bbef56f723db196ffbb38c2e4bd17901bbed022473d58d491bb690cf2bd42b1f5bddfd5253defb181bb2d55c9bdce07aabd882deb3cec15e4bbba0696bd1c0b4bbd5ea7893caa54ccbb98b628bd74afb3bcd1fce03bd5a77ebb38b283bca372903a6d2f97bbabad08bbc9ce7f3c2286763c132158bb581b35bb6ac146b9627581bc53219abc00bbaf3f749158bb6e8484bbfc6b913d1d019b3f642920bc88f63a3b50a5223e10ed863f831049bcf880b83c427e5c3e9ca44c3ff3a513bceb3f183d36ec673e80be0a3f20832dbc40c5223d15be493e05229d3e278fcbbb0e1b0d3deead0b3ec432dd3df1f028bab766c13ce67c933d5e3591bc32e5263bda0bd53ad5dc10bc55f9f1bd5f4677be4108333d0000000000000000617983be421e4d3d000000000000000049077cbe4c222a3d0000000000000000c84d59be15630a3d0000000000000000b21329bedf61dc3c0000000000000000fdf4cebd28cca13c0000000000000000d79712bd24a3083c00000000000000004be1853c2087c4bb00000000000000006c4f1a3d9f41c2bb000000000000000000000000000000000000000000000000c2b347bb640aad3b5f93bb3c21481a3d09509d3ae661863c8604e03cb05ae13c5be0703bc3add63ce854cc3c5480a73ca727d83b8182c93c0c59a13c4e575f3cf4a0c33b1f40b73c4a54493cd8a4ef3bbaa4cb3b5947403c7ffac23b7cca353b4df67e3b1fc8253b22ed043bf3f54abb0000000000000000000000000000000000000000000000000000000000000000e12f11bc29371ebc6b1dd53ad2f6473c304527bc2fe887bb416bf0baf8e81cbc2c38cfbb9749c2baee0108bc372bebbcd0a2d4bb3432d0b9508735bc98170bbd1c26a7bbfebed63a159a6abc2a4f0cbdb1052ebb0256de3a8e4c4fbc150eb9bcf56f00ba0279a7396534eebb516e27bc00000000000000000000000000000000000000000000000000000000000000007ed489bdfa713fbef10e303d22839c3a2024c6bd2a941fbe4fc12a3df857b4b9ae1fddbd14d504be13c3f23c8d924eb9c8d3bcbd9179bbbd7a16c23cc89d47bbb6f685bd31326fbd63ac853ccfa3a8bbe14f15bd7482d3bc5105db3be164bfbb4671babb584c8b3a2547ef399d9b83bb000000000000000000000000000000000000000000000000000000000000803fd9db2dbce2d2bb3cb374b7bd6503b03fa1f85cbcaaac063d54d6123dd1088c3f333077bc831f473d1a26d63dc5dc5e3f189c6ebcb4086b3dc0fa073e6fa21c3fa5ed3dbc32f56e3d4b8aff3d045ebb3e70851dbcf1364d3d4970ba3d1c44203e8ecb21bb13a7ed3c00590a3d4c8bccbc0000000000000000000000000000000000000000000000000000000000000000e99348bead7dc43c0000000000000000f06934bedd71923c00000000000000006feb26beaba7363c0000000000000000e4780fbec5fc3d3c0000000000000000480ec6bda62a473c000000000000000018e22ebdeee1013c00000000000000006297b03ba6d8493b0000000000000000000000000000000000000000000000000000000000000000000000000000000091b7023d154d943cbe3cf5ba948966bcaf56403dc718f23bf5cb33bc11c550bcab02483d0c60d4b9f0be1cbcbe2f03bc08bf253d8fc55fbb759e0dbcd5dfcbbbaef0f13c3543edbb05aba4bb0a3665bb144e893c4c16debb83d6c2ba5fefcfb914a8e13a57f61abbfca8413a6a1e0d3a000000000000000000000000000000000000000000000000000000000000000030bfb4bb2f54043b5b7b8ebc9440dcbdf7daa7ba1d05223b056592bd805dd1bda713e0ba81cbe53ac6c6dfbd7ecb9bbd9175cd397e24373bdea7edbd3b6730bd15e1a33af87fc53a14fccabd091263bcfc2f78b97a5ab63a87b187bdccd4bc3b32399cb98a76793ae747a0bc2c186c3c0000000000000000000000000000000000000000000000000000000000000000de66efbd37164d3d220fdf3c88c3febb322984bdea12773d1291823c69dd35bce302f4bcc38c443d62d7c83bfe2f26bca89c8abb40391a3d01bb85bb301521bc5648f63b8629b73c013e17bc1100aebba6a7473bbaafff3b452efebb219959ba82faa33a040f4bbb06a7c1bb4b60fe3a0000000000000000000000000000000000000000000000000000803f000000001d5175bcaecd463c58eead3ff78230be4c353d3c84401c3eaed9883fa3ac65bed997563d9a6e653e7a424a3f31e67bbe3d02ae3d9f225e3e2b6a073f7e7378be7fd2cd3d6410223ea044953ec3b846be815eb73df3d1a23d77bae93d8ab0e8bd6182673d9d20eebbe52bd4bcfc7cfdbc00000000000000000000000000000000000000000000000000000000000000001a7594bdafe0763c0000000000000000a3f7a9bd5a36073d0000000000000000acef7dbd1cec143d0000000000000000dc2d0cbd7ede153d0000000000000000eb94cabb279ffb3c000000000000000087f49e3c90b74a3c0000000000000000c7f9e23c92924dbb0000000000000000000000000000000000000000000000005894233becd6903c98a5c23bc1101dbc71f19e3c5c0fa03c9f11fa38d92269bc26fa443d8958163c447a01bccdb642bcc613573d9b778b3a372326bc78dc1abccc643c3defd2a8bb4a5f14bc96e494bb38dd103d009a1fbc78568ebb960f2ebb62e69f3cb698d1bb98111bbbcb0f2539ad68e53b69222abb8ee649b7cbee45ba3e41ccbbb5ff77ba5345d03a5868c93a55908fbbb681b1395398e23c791857bd5b3f67bb60f6e03a2e5c67b954bdbcbd86744cbb6e7c313b5a0265bd64c1eebd99cabcba016d403bea80c3bdcb31b9bd58c829ba1b89473b3a25e8bd60ee45bd32c531bad16a203bef19d2bd11a98abcdcaec6bac529b83a2a7d89bd4df4453bffba5db915c7733a3575f5bc0ab1083c69d639ba91d1223ac92e443c5b93803c2d3dc7bdd032023c44dbc13c56e22dbb9524dfbd0bf2503da22cb43c29e729bcd48fa0bd315c663dfbd88b3cd36639bc9f9f1abdf37c483d8ddb8e3b34fe1cbc8cb223bcdfbf0c3d14af76bb8a1216bcdb2bc03a2c5d9f3c499c06bc55165dbb0de7153b7992dd3b332af8bbd004a337598eaf391b0ecbba90c251bbc56ede3a65284dba54aaf3bb1fef51bbd7cc313bbd3f8a3acb2146befd34ad3fc4147c3df26c1f3c2f68dabd8380a63f6d7b8fbdca7416bcc24ac03d586d8d3f40880dbe13cb633cf03e523e495d513fa34e45be8e37473d0f1f653ea80c0b3ff24f55be83938b3d6150343e8c059d3e88d72ebe6f22953df954bb3dbbece73df43bd1bd654f593defccc53cd041b8bbc0a9bebc79df8f3c7cdb56bd0415aebd01372a3cb07075bdcae5573b00000000000000003443bebd322cf43c00000000000000008bc6d9bd855a143d00000000000000005b36a6bdfbfe293d00000000000000001ee53bbd8229233d00000000000000009c6f20bc7f68df3c0000000000000000fe8a7c3c17f6423c0000000000000000ccf7923ca05dc1bb00000000000000003d80d33c749b16bc0000000000000000467465bbfcf97a3cfa2ca43bd4ee9fbb1309a83cd17eaf3c4dd8cc3a5e0443bc75e32e3dd5f2773c61e5debb15f35dbc33be503d05b8ba3b4c2028bcc55816bc0a793c3def583bbb2d9b0cbc3963d3bbb616123d230da7bb6bbbe3bb072163bb8947ae3cc2db05bc12a4a7ba0487a5ba5d39f63b0de748bb9235e937c8a872b9c66d6abbeb5d41bae614823a2a65113ab289b2bb0b261fb806b4dd3ca1b80bbd018eb1bbb063ca3a89b017b9a4b0bfbdd394aebb0d80313b91312dbdac88fcbdd1e863bb3f1f583b47a2adbdd77cccbdf276a8ba6baf2d3bd34ed1bd093783bd76ab8cbab3c7233b470ec1bd0baaecbc901b99ba8cd7093b030d86bd4669a4bade2207babfae333a73e7fabc9986373ca089a9b9f0c2983a950c993b5891633ca12a92bd0997abbb9c36b13c150a8abad9bcd4bd9580b33c227a003d76bb0cbc516aa8bd7464233d57cbec3cfdb700bc72d932bde809283dc9c8603c78d435bcd71646bc0238003d2297683b1a6f0dbc329005bab91bb33ce1f2adbb986fa6bb4597033b4e43053c1089e5bbac7659baac28b8b95d5ba4ba0c389ebbc542e63ae7ec44b9d78f93bbf25b94bb4a9af83aea74903cb2a862bee2a7913f162d8a3eb1454b3c50c609beda1f983fbe23153ea5e829bc57f8653dcff4823f7ea9213dfbdfe73ad3b92c3e43d94c3f726498bd474a1c3dc62d4d3e131d0a3f5bcceabd9aab483d2ebc313e5069a43e823a08be66c97f3d73f6bc3d3aa7053e9887babd9a3b4c3d74d88a3cd140c53b71b616bdd0f8aa3c59bc24bd800371bd1334cdbab7e6c8bd17fe253c0000000000000000857919be0356e73c0000000000000000c6ca1cbea915ec3c0000000000000000d04001be3a7d2d3d00000000000000007c19b5bd2791163d0000000000000000f4362abd2e510d3d0000000000000000a19474bb2e308f3c0000000000000000a4547d3c5eaf5f3a0000000000000000637bbc3c3e7ceabb00000000000000001e8c64bbbba4883c1ebcdd3b25287cbb14cd9b3c1724bd3c4e22203a0e2215bc125c2c3db1d28f3c0c80afbb4fcc47bc27cf4a3d7418043c7d510fbcec9426bc7d663c3dda3256ba3f4d03bc296cc0bb0833153dbea99ebbfb5db6bbaf8784bb686ead3c4ff3dcbbb00634b91dd721bb31ad053c33a1a2bb1497af3a438d663775a68bbb4da31bbbcfa1f23a25fa3c3ad8b0dbbb3b98f73833b4f03c5ed720bdcb77fabb3fb6643ace9aac3b7004bfbde50eb9bbc80ff33a617106bd71f300bef5ee6bbbc87f453ba93893bd9977e0bdbfeabcba1c57553b21eac1bd68be90bd5eb312ba162c1e3b8f2ab3bd7f7e12bd482e63b9f13d763ad9ca83bd9613afbb83277cbad80acc3a11cafbbc80f93d3ce3a3443a7b53bb39a70bab3bd5ce9f3ca6aa87bd7c3db2bc4954b13c8614113b1677d0bd18f3103b8836233d66d8bdbbb07daebd9b10cb3c2c4a0c3d8a3f02bc2a1242bdfa3b013d0c15a13c5ad62ebca69369bc2a55d53c40a7db3b34eb39bc268b0bbbbc4c913cdb9928bb12e6c4bb3714613975950c3cffb0d3bb02e634ba709862ba3248e8b907fccbbbbb7e8b3a86c7e4b96e63acbb69d4b4bb0e49063b3c483d3c7b1b55be8868743f3a30003fee00063c929a0cbe7d3e823fc1dfc33e5285afbcf3af173db0436d3fefc85e3ed44d5fbcc3381f3e799b3d3f33af863d4ea01a3cf81e4f3eee35073fd51123bd7f91083dd55a2d3e30b0a23e4cad9cbd3818493d1b16cc3d8de90a3e892995bdc9e5363dec10a53c55c43d3cb20122bd9141b53ce7ac37bdf94462bd44cca9bc267410beac893b3c0000000000000000083954be61feef3c0000000000000000fdbf52be4aba0b3d0000000000000000ad362ebe591a303d000000000000000018d304bec278423d00000000000000002cd791bdc70c173d0000000000000000231291bc178eaa3c000000000000000018a36b3cfee8163b0000000000000000828ee13ca8757cbb00000000000000000b7f57bbc8007d3c3ce7f83baadbcdba0791803cdaf5c83c30149d3b4c8617bcdc63203dd276a13c45fce8bac77151bc9b3f4b3d3ad21f3c90dcebbb77e53fbc03e7333dfc2c873b7f9d18bce2b10abc37e31b3d7350a8bbfeff95bb3295cebba14eb03c32869bbb290176bb934dfd385ee3053c5f5b61bb02960c3a38cadcb9f449acbb409429bb9e1fe63a4c0ec83a310bffbbeb2fcbba5f1ed83ce4a3fdbc774f03bc98e9a738b969133c83d2b1bdffbdd1bb052b963a4aa8c2bc2e9602bed5c686bb89a64c3b2d1983bdfbd3e9bdebde30bba5002b3b98cdacbd3698a3bdebc720b80660193b37d3aebd272f2bbd8db811bbed06233bbefc72bdfb8030bc47b9fcb73e85473a753bf2bc4c5df73b8d17af39ccc9323a81b2423bb1f3ae3cb9e97dbd1bb217bd7221c73c9dcdb63b032acebdfe8495bcb06b393dde3789bbbbc2b8bd0371f23b7664293d6d2abdbb190559bd1959ae3ce8e4e83c1f082dbcbbcab1bc8f14af3cd3b3873c850c00bca616b8bbf15ba63c08b9753a958cd7bbd8e5633a425eea3b21ca87bb9e9c52bb85b2f43a72bf8eba0770bcbb0f1a083a270c4939fc6494bb9e0bbfbb1349543aa622623cdc3842be4a2c3d3f814d3a3f6a8b9c3b7bf800be4a35523f88421e3ffa8dd4bc3340063d35044a3f851dd83e5f6bdbbc41141d3e4f102a3f7c645b3e71345e3cfe8e3e3e9e2dec3e5174c23d1b9f823cc940363e76e79e3e89ec9ebc0c4d113d88edda3d017d043e865044bd3b8b1d3de06df03c73b37d3cacb82abd3b15b93c45d026bdd8fd58bd9f1c0fbdbc2a30be13f02e3c00000000000000008f7283beee23013d000000000000000062df7dbe1ac1fb3c000000000000000092115fbe6b002c3d000000000000000067b922be247bec3c000000000000000078d1e0bd753d2d3d000000000000000016300dbde574d13c0000000000000000b53c1c3c0ad69d3b0000000000000000b575033ddc7903bb00000000000000007b2277bb8f5c553cba61123cd147dc3909ec583c4ce7d33c8f29ca3bcfb6c9bb726e123d2085bd3cb69f683a02a961bc2c43413dba25763c6109a5bb30273ebcbcf33f3dacb8933b27d70fbc30d7fabbb3511a3dbad3e7bae5b3b6bb5ca0c3bb76ebb73c8c92a4bbbe4694bae965ddbadc30083c7ce962bb735aa6b7d774d539eefc87bb1ba531bbb467c43a8cbd9d3ad7a401bca19e0fbb2c60bf3c0c07adbcff8121bcdbe460ba5e41473cc70ba3bd7b0bd4bb294654b96d6f5abc3b3c02bec571aebba8441a3bedde4dbd6617f8bd4ebafdba20703e3b802b98bd1c62b6bd177181ba6e45223b6b5f98bd05395bbd8b2a5bba4442873afa0768bdc3b080bcdecda9ba9309ea3a7ce3e5bc93fcd13bcf251cba99c9a93af27a113b77149f3c40ac6fbd78ce47bd98dec33c710cf33be846cebd4d4d2abd6e1f513d5ea381ba3437c8bd639212bcddb34b3d8fce84bb6b0b81bd55b5213c7c820a3de53217bcd3f8e9bce05c8c3c5d8aa73cbbb24cbc5fd917bcac6b543c443c0b3cb50e03bc224730b85342763b77f584ba26be2dbb036cd63877eb1bb80cc99bbbd75b23ba5b4f4e3b332566bbecd5d3bb4e8c713a6a084b3c026f23bea6b7033f8cff703fa0a4153b8020d3bdebb71a3f232d5b3fe04902bda9c4063d9a0c223f34ee203f586d11bd49d20f3e0b5d113fe092c33e406fbdbcb16b493e7ed7e23eef143b3e7d9eb0ba6a6d353ea76b923e4f5c643d7bf7ae3c1c31f03db8a3043eeaa893bcda38e03c0f7f1b3d0e12983cb23f23bd6445a73c0e1d08bd2c6745bde6d939bd0af145be68dc493c0000000000000000611095be9904f43c00000000000000009b7393befde8e83c0000000000000000000881bef0a91a3d0000000000000000cf2054be13403e3d0000000000000000858c05be445a243d000000000000000043b950bdc408cb3c00000000000000004c0b813b994ce63b0000000000000000860fe93cc4e17d3a0000000000000000a785a4bb4b013a3ccc51263c1024da3a88a03b3c52c7c73c8584263caa7f86bb8404083da871d23c5e59283b1b7327bcc81a373ddc4a8e3c02568cbb235d4fbc0055383d9838df3b3202b3bb469e2bbc31a41b3d6e8a413a41b9cbbbeabbdbbb167fb33cdbf10abb926f4bbba5670dbb37fa223cd6d484bbf5b2063a2f72f6b963d859bb8fba3cbb4ac3e53ab43e713a6c1402bc386d12bb1fc7923c4d7be9bb26fb23bc71acffba521a3a3c03f481bd428217bccdab85ba4bdbf3bb9cf0f5bdcd8890bbd711c23acfe01cbd4813febd85b921bb15ca143bd1947fbda30fc8bdb09f52b9d33c063b2d3c83bdec3a80bd844dd8ba8ef5013b1f5a4ebd2e25ccbcb0408aba73baaa3a7eb6ddbc9eb8e83ab6fc8c39be19563a6468ef3a9a52933ceda652bd0a7271bd3f27e13c911f9c3bade8d2bdf90883bddf435c3d4fa0a63a9292d7bd7293f6bc8c94603da2e8983ae70f94bdec686dbbb26c2d3d5cc6f2bb9c2414bd7c0f243c723dc53cf81bf3bb563c68bcb08b263ccfbd453c53a700bccd07a8ba1bcd9b3b800e403b76a694bbedc6dc3a6b7381ba473043bb938cc3b9d8f5283b152533bbf80adabb734f353a5b77643c8029ecbde0148d3ef0a5903f6bc806bb576a8bbd4b95c33e16ad883ffb2706bd5da8253d3f6cef3ebca9513f4f5d42bdbf8c113ead31ec3e28330a3f1c27d5bc35133c3e57f2bc3ecff39e3e10b383bc7595383e758d843e6ac7053e97a9363ce01af83db2e2ef3dee11c43ca083913c55bc4f3d6300a23c517514bd7bd2813c73c4bbbc378c24bd4a6261bd963756be1c619b3c0000000000000000576a9cbefceedf3c0000000000000000d20e99bebcbf803c00000000000000008f968fbe34cb063d0000000000000000af9263be1860f73c0000000000000000dd0222be6f241f3d000000000000000056c095bdd5ffd83c0000000000000000419fbeba5fbccb3b0000000000000000dc71063de83aacba00000000000000002d26a6bba183413cbaaf643c384fb73b9a210c3cd98ec03c835f5b3c1219babac29ef63c9eece03c12cff33b0a0428bceb2b333d64e9a03c32c7a2b9709d45bcc2cb393d9a0f2a3c832ce1bb06ee1dbc69691c3d2639343be71589bb6b4ff1bb0265c83c410350bb289049bb3f758bba95be1f3cdd5512bb1029a13a54d30eba56849cbb12b484bb8df3ab3953ecae3a996b01bc428bb1bbbab97b3c787e773b366236bc9de386bb5d121d3c789741bdac4f0fbc37c224bbe3d4583ae8f7e8bd0edcefbb659af63afac3e2bc5be700be5fa216bb7f25073b2e8b51bda40cd7bd37bd90baa595f93acc8768bdc3fb8fbdd201dbba4316fa3aef3336bdde0a04bd4f5244ba5b41b43ac7c3bebcd4258ebbdda5aa3947eee23af515563ae35eba3c484a7dbd104ebebdb74ad03c4160423cd1eecebd29e1a9bdb318803df4aba13a228ee9bdcfd354bda12b7c3d592ce03ab750abbd043979bc46953e3dffa6b3bbd90731bde89ce63a3bd8063debbd34bc20e19fbc7439e03b9c26853caaff14bc91686fbafa0a2cbaa23aa23b47aea6bb387185ba325117bbec2e15bb6808b7babebe283cb7b1b1bab6970fbcc7f82fbaf735263c8485a3bda0d4823de96aac3f6597b9374279fdbc15d6213eb9989e3f69b615bdb33f403d0178a03e73f07c3f611555bd6e7a0c3e04a0b63e287d2e3f95903bbd7bb1403ea232a43ec847d23e52c303bd70723e3e78c3683e9bf14e3e15dd19bc0f500b3e7492db3d6f005b3d6e3e9b3b6caa813d5d14cb3c8a7be3bc74be843c3f6d73bc7d8865bd0333b0bd4c1d3ebe3dec003c000000000000000007d899be0d9fbe3c0000000000000000c6259abe968c2d3c0000000000000000423f93be1a3cb73c0000000000000000971a80be0f13073d00000000000000004dfc35be4f01173d0000000000000000fd55aabd1d55e23c0000000000000000c7060c3b5124733b0000000000000000b031083d8e41983b00000000000000000000000000000000000000000000000059f2143cb28fd83c77379f3c0c8106ba7f93f13c3f46dd3c471c143c0e3220bc19a42e3de0a1a93c8a421739636d5fbc265f313d1d41453c69d69dbbf4fe37bc2a8e143d57dd953b0004cebbcbf005bc41cfb63c23f2ea397a227ebb85af5dbb8821ce3bbb273abb9201d1baba0baeb800000000000000000000000000000000000000000000000000000000000000005b1839bce7c4b7bb7dbb8d3c96d74ebd8b5016bcd4fc3abb87bedeb92297d5bd0001aabb8acb3739a368d0bcce1ff0bdbeb46cbbd94ee83a44053dbd2163d3bdb42908bbf7e3233beb4c53bd9a2893bd154196baf6a01b3bbbf029bdc3210cbd6a3f31b9031ce63aaa9ea7bcbf16593a00000000000000000000000000000000000000000000000000000000000000008d59f5bd16bedfbd645c3f3d16d1873c7dbae7bd5cca6dbd427b633df5cb0f3c88b4b8bd1504d7bc38d53c3dfd531c3bcfb957bd2013e4bb5244123d8c4d8abb107aafbc4da5483b93b7b53c3333bfbb0beac9bbdbb7613bedf40d3cb837cdbbac65193c11e313ba696c22bb25c869bb000000000000000000000000000000000000000000000000000000000000803fcf973cbcedd676bca1d8223d6872ac3f21ad14bdd5ea853dc9553b3ea53e863fdb9c4fbded28113e0dc6823e10e8443ff3242ebddd28393e0418763e1c54013fcd3cd1bc6e043a3e678d313e1f4a8e3e67b201bcdb2b0e3e1598af3ddbded73d640f343c8f70783d32f505bcf4d4e2bc00000000000000000000000000000000000000000000000000000000000000002fe638be0d56d2bc00000000000000009ba461be0628cbbc0000000000000000f6086bbea16da0bc00000000000000000d9a60be804319ba000000000000000088fb33beaf694f3c00000000000000006a12cbbd72bd9a3c00000000000000004732bdbcc273863c00000000000000000000000000000000000000000000000000000000000000000000000000000000f0c8af3a39578db9dc539bbbd470f53aeb36493af2c258388746e5bad4ca263b3a3dc238c03c96b924dd05ba621f553b60ccafb847e89eb9a94e113a21ab213bcca48bb94488c4363ff0f33a9d0e293b212aa63941124d3ac9df6f3becc2463b856aaf39a56f963aa08fa83badc8733b0000000000000000000000000000000000000000000000000000000000000000ed42183b48df8239fba15bbbd4b997bcb838273a7d95513a2b322abbe45183bc0b5d1ebb7016d6ba92a805bb860974bc06c5b139946e1138450af6baeda164bca8a3e93997db9a380123dbba2b874ebc66f80f3a2f8a073afe5f89bafd8e23bcf9de4d3a5a76063a3f3410ba44aad1bb00000000000000000000000000000000000000000000000000000000000000006e5a52bd3b2ff7bc0a45bdbbef952cbbe1e55dbd786dd9bc992bb1bb85151bbbee094dbd8aefbebc5883c7bb894946bb9dca3abda1a4a7bc2198a0bb285117bb7b7e2bbd56c788bc5e1591bb6965fcba6cea14bd292b46bc547e63bb1393b5ba13b7f6bc1a76d4bb3d5cd4bac76728ba0000000000000000000000000000000000000000000000000000803f00000000ee69273c70ec92bc818d873ff30400bc3665093c65069cbbd86b633fc1aad4bacb7b053c7a680c3b1ba2393fa8dbe73afed3ca3b558a733b0cdc103f234f24bab1ae7d3bddc3203b51a7d33e4810b2bb2225d63a8a25d7ba2773863e075142bc2c309dba7386fcbb3c67ec3d6201aebc000000000000000000000000000000000000000000000000000000000000000001418a3c90ccb03a0000000000000000ff2f4b3cd6a2f73a00000000000000003b272c3c4a88603b000000000000000062ddca3b95031b3b0000000000000000ffb91b3b96da943a00000000000000002ce033ba0d04b4b60000000000000000d14566bb7a0fbbba0000000000000000000000000000000000000000000000004297013bb403db3a3f25aabbff9e283a56b12d3b4dc34a3b606418bb764b8f3b06e7b93a109fd83a3d5bb1ba4f76663bec54b03900e45a3a30fe10b93e067a3bfcf4e4b9e7931cb96409a53969ee2c3bc1203a3a728bb33a09f5563b4c3a853b715d233a365da73a80e9a33ba98e933bf50b2b3af106ac3a75e5b13bcb07843b859a8f394e23dc393a36b03b25e30d3bc5cb0d3b68f9743ab74271ba2d2b6abcea723f3b6c06d83aa39fecba8ca7a2bce1a1e03adba85e3a67f707bbf5d6a4bc0f67dd3a499c6b3a65ff16bb699f8ebcc8331c3ae440673ab1ef2eba47bb63bc948ba53a865053342d6c92bac4df52bc1d59c73a4da0ee3973a440ba4ed61abcf8568d3ad1498539bc537539d33071bbc2d3383abd73c13826fee6b813acc93a6a08d6bc13b8c5bc85049bbb9ee8deb9b2bb60bd326514bdfa1bf8bb5ed8c9bacc897dbd240116bd916007bcbe3618bb788a79bd55b20abde755eebbac7e21bb9f254fbdd9b6debc0c0fefbb5c5a53bb2f6950bd9626c6bc05d6babb8c47e4ba5d662fbd3aa68bbcf5897abb8cfe72ba22ae01bd769403bc4ceb1bbaf4a55e39c4c981bc72f09eba4b8a093a4de20f3a6d3b0d3c659a3ebd7997863fa09eec3dfc70423c23e939bd84517c3fab5fd83dd23d3d3c6de9c2bcf36b563f39a1c93d17b3263c33ae56bcb1fb2e3f177cab3d0eee0c3c7050d4bbeafc063fe6bb813d37c8bb3b1d93f3bbfe89c53e7bf1293d938b083b513225bcb811793e2f018a3c8b0171b9b5757cbc6cacdb3d8e940cbc319f0cbb347466bcf64753bc1fbcbdbc0498f43a243fac3a0000000000000000e713593b13dbe23a0000000000000000b2a7e23bd4f64c3b00000000000000002db7ac3b25d73d3b000000000000000053852a3bf6a3df3a000000000000000086c20ebbe1edf23a00000000000000007fe0bbbb0225ca3900000000000000002e4e01bc36ff06ba00000000000000002036d6bba70d9bba00000000000000001e4cc73a5908093b64d47bbb16b830baf984a83a4c15253b297d75bb0eee133a708c633a6401ad3a433c0dbb9888bc3aa18e48b8e00a1f3b7bc4ee3917f7fb3a2f6f4cbadce771383f83f8b771b9b33a0c7ebd39da09503adb1b313bc9a47c3b18feedb98a57cd39f061333ba8fc4a3b7f1919ba636ddd3aed939b3b722d883b743156ba9992bf3a0949713bf9b83d3bd128d23a716d1f3aeb220239a7ab44bc2a5c4b3b45da413a6d8c873a2f6290bcd6c7d73aace55f3a82f10cba70965ebceb49d33af9700f3a9a33a0ba362966bcfa21783a7d330db991d00ab9bdc218bce5effa3aab6eb439ec7451ba153f21bc93dd6c3a46e599b9772d613a52fe9ebbef8e303b219efcb9871a803a290e33bbab46103b53ae29bad4049b3a99c5eb3901fe75bc6ec29ebc797605bcd173e43a527c21bdcaa40dbde22f3ebccf035e3944a230bda8770bbd16031abc957689bac03c50bd7ba318bdcd7221bcf07608bb9f3926bd40bde1bc48e300bc5a6d02bb0df830bdde61e3bc732fd2bb585285baf61803bd416c98bc97f036bb69eb52397378dcbc35a64bbc89e2d3baba073639ac814cbc871d68bb1a37213a65b1213aab03083c5e5143bdd375623f8325853e1e52463cddf94dbd2111583f66d6763e6fd2323c1ab4e8bcc202333fb5dc593e8ced343c37b4b5bc426d183fe026363e0215153c0eca50bc6870e93edd880b3e3e91d53b1b8068bccd9fad3e9869c63d6d58443bd2d260bc74165d3e5112653d3bcf103abe418cbc7e5fcf3d3401513c19ccaeba77d760bc1a1860bb9f5f8fbcafe721bc689b843b0000000000000000422f15bc00eabe3b0000000000000000f1facbbb6feea43b0000000000000000c04aa0bba3bd9c3b0000000000000000dba9b2bbc4b3513b000000000000000093f013bc579e523b000000000000000045ec34bc1a37803a000000000000000027f458bc2126b239000000000000000076881dbcee3ed6b9000000000000000076ebdd3ae67d043b6cb657bbd5460dbb1e79b33aa5c0203b71e15bbb875e9aba29a8273a01e88a3aaa94dcba1b900f3a2106da38a3a74b3a30b05fbab812ce3a27b2593a71041db8741208b9bb4aa53a9364c1b864aa993a21cd883a136b323b8ead8a38ae92993a642f603b8702843bac120b38e8c33b3a28e1563bb8976a3b9e908d37713d9339c413073b104b153b1e98d43a70a78c3a8b119e3a94d825bcc46a353b51f3da3a08612f3a4f0563bc92e2f53a54312abaaad7deb84b9a4bbc88b3f93ab882253a496ea4b878d831bcefb6253bcc1e653ad4a448ba5c9e15bc907a343bf2b3bfb9643ebab94c4ce0bbfca9153beba344ba4cfd9e39a8d3cabb3ea8d53a77a4ea38b6e8b1b8f062a3ba87c9c33a2e68ae39b2942039c1c4bd3ac98411bcc0ec86bc45e326bc4c96413a8614eabc33cc09bda33c6ebc50151936fde01ebd20e921bd48a65dbcc7d9e4b9851f29bda93c21bd8f1548bc9d37c2ba0c071ebd2beb10bdd0f429bcdee698b9f7b611bd8e5204bd3fa006bc91ffaeba281ef8bc0565c4bc5f7b90bbd88cb838d166b2bce7c07dbc9e6ab0bababd193ac54115bcf207abbbefa3d43ac0cdd23a8dc1f73b88ff25bd1efc383fde6cd23e8e38433c1d3938bd98cf2f3f8a01c53ee788453cda0ff9bc2966183f7daeab3e5663333cb127b3bccd6ffc3e87778e3e5c041a3c4ec880bc7080c53ef6215e3ee9c0fa3b947b6cbcb051923e3e03203e87c4a83b206683bc82ca3c3e1af8c13dea20203b10a97ebc80cdb23d0281133d3a7db039d66536bcfceca6394ae65cbc1bb9b5bc208a9d3b00000000000000008209cbbcb632f93b00000000000000002ee48abcb538013c000000000000000010186ebc97ace63b000000000000000019bc5cbc772cb23b0000000000000000fd678abce61a673b0000000000000000252b8bbc229b243b0000000000000000f3d490bcee58ce3a00000000000000001ef35cbc8a8186b90000000000000000f1ede93a9134a83a51bc32bbdcf784bbcc41b83ae083ca3a473f61bb94c84fbb7ee2a1381b766c3a71f3dfbaae029bba1a637fba1184a93a2388d6bad27c61babce4e2b9cf4a053928bacdb9e8b6b139557e5038ff13303a6322be3aedd64f3b2edfc1b9186ae9398cc30f3b68d2523bce8b55ba85430b3af36d1f3bf501923b3cbd04bac791ba390cc1ea3af24f553b34002e3b3327da3af1924f3a50ff0dbcb5d2693b2a6ee73a2bf6123a04db39bc6d92ea3aa30e4f3af6499e394c6c19bce4872c3b1173673a16f35fbac5ad04bcdd94993a039b21b924f8a338906cafbbacf3873a05b78c3abe2dc6ba7645afbbfd32063bd2290d3952adfe38545362bb305f103b4cf5a3b9da290bba89f03ab97f0ac43a596023ba0f3a47b9ff7df33a0c5be6bb153383bc608560bcea9fdd3a7bd9b3bca74f07bd399794bc5f26823a14d2e9bca4231bbd2ce97abc0fd371bac74007bd2a0432bd16086cbc54cf66babb40cabc8fe0f4bc53311abc3c928bba7cf7f4bc7c1c0cbd7f4525bc063aeaba1193bcbc0c02d0bc63fdb0bb4c27b5b984e390bcc66a98bc7cd8e6bae898a93a785df9bb795b04bcacee2e3acff5c83a452fc43bf68a01bd28a0103f44ce103fb9741e3cc0070abd230e083f8295073f6c701f3c4eb3a5bc66c0ea3ea2fee73e689f303c77ec7ebcac9bc63e8b4ac33ec407f13bcec60fbc4d98963e627d923e65c4023c435f3bbc9956683eaf575d3ebb399d3ba66a38bc5156153ee537083ee8ed773b4e8869bcbeec923d746b673d1cd30d3ba62c35bcd2e1cc3a6adf20bc9a5203bdc0c6e23b00000000000000004ffa11bdf06b263c000000000000000041bbc3bc10560e3c00000000000000007552afbc6828df3b000000000000000046666cbcc50ead3b00000000000000009829a6bc18b8b43b000000000000000089c5a4bce6a0303b000000000000000047fbaabc3c37dd3a0000000000000000d7fe6cbc81da5a390000000000000000a18ec73a21510f3bd50fdaba7dbf81bba5a42b3ac3f3f53abdabe2ba29346ebb72474a391faa743ad98b65bab1ddc4ba3614cf390e739b3a1e1fc7ba54684c39e50d39b9f25bb839adc1b3397972653a9105a9b8f25b303afa35a93ad1b2293b3c386a39baaf6c3a7335013bdf576a3be2b491388e19043ae63e1d3b7d038b3b4702fcb8923ece39c3fcf03adc163c3b62bd193b1c2ced3934f5013a9b2bebbb7bc9483b0aaaef3a8bb2993ac1a92bbc2dd5593b87ac013b903d9d391f510bbcd5f4343b9ab0613a9c831b3a00ce0bbc7d06143bc605e8399fc98fb992d5c4bb7990463beafe5a3ac6d149b9f7f29fbb4cde2a3b6885c7381f59e1b86b3e59bb88e53f3b8c6f2539161d1f3887739dba1f04f63ac034f3367d9ec13831dcbc399aa0b8bb48a37fbc948886bcc37dbe3a5e809dbc032d19bd9d43babc6fa30b3a0884dabc8a303ebd8da0b5bc176704bb6f59fabc135a41bda93690bcdad149ba6563e1bc862932bd4ef36cbcca4ba9ba6dead6bc47f324bd03e737bcc3c320ba885db0bcaf4506bdac74debbf71e2738bf306dbc5d5fbabcfeae02bbeba57f3ac8c8a8bbc89321bccd5be03afc29a63ad124803bb46daebc7407d23e9ddc383fde14053c78acbbbc73e1c63e18182f3f004b123c83055bbcff72ae3e11cd163fedb6193cba0b10bcb6e3933e8b52f83e0ee3013c3e23f2bbada86a3e3136c13e7f9df13bf06211bcc2f92e3e85d68c3e8565a83b27842ebcd8d5e33d0300313e6136343b797455bc5274593d89d79b3dcc58ae3a51d121bc35cfc2b96eb408bc868b23bde11cfd3b00000000000000004e3d40bd5e5d383c000000000000000008ee0cbd8201353c000000000000000010b0e7bc40d11c3c0000000000000000e01ac9bcba91ef3b0000000000000000bb44d5bc2e8fa03b00000000000000006715ddbcc1925a3b0000000000000000eda2dfbcc6a01f3b000000000000000002559fbcff046f3a000000000000000093d3273a1edfc63a1339b7bae1aba5bb6ec0083a3d1cf03abacf47ba30d787bb0c341cbae757063a9bc420ba16c7fdbab002a3b9cae48a39961cf4396d98e3b9c8b2ab3999cbbb3994dd363a3df8b13a07de93b9f989a53937d1d43a7991363b0f4fa8b94873013a827a063bd0c5803bb9ee5d39df7f9e3a65e13e3b807d883b902b68b9d0bd98399c18ba3a4c405d3bbafe5a3b5c272b3b2495913af2bce8bbd77e943b425c493b2c840a3ac79f1fbc3005273b511d873a6587903a493ff8bb50d43d3bd836a53a1307b1b97099dbbbca2ce03a1938493a0009a5baaae2bdbb1981223bf72cbb37537823ba9c9d9fbbfce9333bbc1aee399b6469b9fe813dbbf0402f3bb1d26f39723692ba71f4e8baba150a3bc8c4143aef9e1239b36620396299fbbb203ea9bc26b69cbc947abd3a774fa0bcce663bbd97f4dbbc9aa7173ad855afbcc61b43bd03a9b2bcf1b34939ff4fd2bc972760bd5455b4bcbab7ecba2bc7b9bcd8473ebd797d82bcf12361ba6642b9bc17123fbd707d4dbc0a4ea23905b188bc5cc60cbd161103bce72e073983b227bca6c6e7bc62e26bb9a4d5213a72dd58bb8ad445bccde7083bc742c63aba602a3b575446bc380c863e3ed6623f5dc4b03b972e23bc46497c3e05fc563f3bf6bd3bcc0686bbb85c603e9d81323fecbfe63bba7637ba5a22413e3dfd163f898fca3b6377bdba40ee173ef873e63e524fca3b160489bbae76e83d6e0aaa3e433f843bc231cdbb669a953d2852563e95ac153b12c33dbc283d043d80afba3d4bb5433ab6d117bc706d38bb287728bc8eb43fbd8d7d153c0000000000000000337058bd51eb513c000000000000000074dd06bdc29e303c0000000000000000ab0ffabc82df1a3c0000000000000000532fbcbc12caec3b00000000000000006582e3bc845ed73b000000000000000070a5d3bc789e3a3b00000000000000006c5403bd33b2c03a0000000000000000642bbdbc9fbd1a3a0000000000000000f691a6373df1233b52d4453a587bb7bb58642e3a3ca3ed3a7016bf3ac67118bb625f8538ee83d8391165883aa29472baa4025c38db15bc3912a09a3a9fdb153aee6c8f3846a335395e49393a8ea3143b6b9248b85293b139cb84e73acb97673b4282a1b9dfe3143a1f35213b46bbb13bfad65fb95867673a9d6e3b3b51b1cd3baee2c338ac30093a554def3ab75e963b3066503b48f33d3b93f77c397a32c0bb62efa93b15cc503b687a2db9dcd105bc51087f3b0a63213b47d667bac817dfbba113883b8dda82b94c46d1b9b59ee4bb549b5e3b5037cc3a420af1ba1492b7bb468c493b56a5273ae0d63fbaf4f283bb2b08623b413d953a867221bad47062bbee985a3b0e3d323ab86621bae7e1e5ba95ff213bc43caa39639be7b9d22686ba212127bcb828eebca402cbbc2f91f1b9f27ca5bc07926fbd81d302bd00e206ba83ebb7bc4aec83bdf65cf0bcb71417bb94e2b7bceb4383bd35a8dfbcef47fbba4409b3bcd21666bd21e4abbcafec96ba12d09cbc0f0455bdeaea89bc8bacc2bacc237abc471d33bd318532bcf3572eb97abf0ebcbe8e03bd24ba54bb53b2b63a1b3719bba1a281bcc6b1d33a08a0be3a6d4e9c3a2caabe3aff57ec3d03a8863f8f5a1f3b7a9aa33b54e2e03d5b307c3f0f4d903be688143c3912d93d199a553f730bb53ba0c4103c5123c23d166a2e3f2ddbcb3b4e5cd43b78c59c3d972b063fa730a73bed07df3afb05703d7e8ec33e3464783be6d243bbeaf1133d0e01753ec43be13ab07c06bc8342463cb0edd33d33ab263ad6c204bc28cbd6bb34e680bc75bd3fbd281c0e3c00000000000000003e4a46bdaba43f3c00000000000000002014f6bc5b59263c00000000000000007514b1bc10940f3c0000000000000000b78993bc5d56c43b00000000000000008b4ab3bc7816783b00000000000000002e5cdabccc51c83a0000000000000000c4a302bdf1df3c3a00000000000000008143dcbc63c1fab90000000000000000000000000000000000000000000000007e873239bbe9c9b9bc486ab98dc383bb703f3cb9efbf4dba62918ab9831e12bbbc7b3eba70906cba10e728ba2437bbba5447cbb95fc418baed175b39bfadc3b9cbf4683a40e29cba6dbed4b92ac31c3b8737b6b877fc2b39ab57a93a51b06d3b81f54439c597053a8cfbe73ad6ab9e3b0000000000000000000000000000000000000000000000000000000000000000a4a60c3b7ca11a3b66fa3ebac2e796bb649cdc3aafecc13a16b343ba09358abbfea2b63a651c753aca52d4b9633f48bb6ecc5e3a1bd86439e3ec7db9913f35bb627c143ba0c015ba365ff23961b988bb6c690c3b5eeb273a848205ba9d842fbbda431e3b57eaf339320dfdb911b222bb0000000000000000000000000000000000000000000000000000000000000000c92281bcca6859bdf67be0bccce026bba89181bc35435ebdd39bcbbcb62f38bb443880bcccf94fbd9b07b5bcc5c447bb89a76cbcfa823bbde2e898bc0e8d4dbb579150bc5c9128bd11a587bc77e852bb5b4530bcd7b915bdff5534bc0c6897ba1a09f8bbcfb1f5bc8b40c2bbd64cfcb9000000000000000000000000000000000000000000000000000000000000803ff404003b8f55853cbcd8c8bbf37c873f22e6673b83d0713c15408b3b9554633f8350943bf20a5a3cd091163c049e393f9833973bf6fd1e3c54f61b3c1db2103fa253433b1ed0d23b4e9c023ccb34d33e300d533be393b03a910d2e3b0e1e863ebb788f3a9e245cbbe8c52abbdc4fea3d0000000000000000000000000000000000000000000000000000000000000000b17aaabcc6d9043c000000000000000069d51abc2770f03b0000000000000000a164a0bb4ebfc23b00000000000000007ce3b2bb6d137d3b0000000000000000964110bca6e52e3b0000000000000000619276bc849c5a3900000000000000004b73b1bc6da4edba00000000000000000000000000000000000000000000000000000000000000000000000000000000599e7fba711a64bb9bb8b4bbd4d9d4bad3dbaebadecb66bbbcbd8ebb4acfa8ba8391e0baf26f73bb84aa79bb12d990ba867ed1ba0cc450bb031631bb5f73abba2d62d4ba0b634abb919ed0babb2aa33a93dbcab97eccd6ba505b163a32b9973af6fe12b959db3abacb4b163b1235273b0000000000000000000000000000000000000000000000000000000000000000f0309bba94e3253a11cc5fbb2d8420bc3a3cd9baa4ffed39522b50bb3dba28bc57effcbad4c0b0b8a7cc48bb3d922abc35ae13bb0a5502b9c9252cbb63d31fbc2d4e96b7d7aa01bab82862bbd89029bc8f8fb1b95b547c3962df35bb919513bceb7b623ab022a03a7be152bbb2ba03bc0000000000000000000000000000000000000000000000000000000000000000d2a8d3bc3a1dafbc6f2f03bcb4eaa5bbf83fe0bc1339a6bc0f9c18bcc40fb5bbbaf9debc70a29cbc7dc01fbc92c3bfbb8693c8bcac6788bc2cf621bcd6a4b5bbc11ec8bc9ba67fbcc91722bcc42f79bbe7ddb0bc6c5748bcde0608bc5a5c82bb18809bbcf70217bc04aae9bb272155bb0000000000000000000000000000000000000000000000000000803f0000000088203d3c68033b3b9d01783f8303e43b8d70403c77c0133c0192523fd567173ca0153e3c2c2a3f3c58012e3f7d7f0e3c98e42a3ca4e0433c2050093fcaebc83b94edf63b8f10203c5c86cb3e21ae3e3a8c20ad3b46d7dc3b3ce3843e474899bbad26d03a1be1db3a24a0fb3d13bc4ebc00000000000000000000000000000000000000000000000000000000000000008d3c9c3cade98f3b0000000000000000a4ac803c08eb8e3b0000000000000000b9844f3c049a823b0000000000000000e472093cc2f5283b00000000000000000498883b7667db39000000000000000084e8483a46387bba0000000000000000f0ef3abb389f4cbb0000000000000000000000000000000000000000000000007a42e63985feceba1ef8afbbab860bbbfae6cb3985fa1dbbcc2aacbb61db8eba0dcfe5badf8378bb41d7a8bb39a8c9ba182006bbc43884bbfbe07ebbb89a4abaec599fb9a54285bb3bdc4dbb20d9adbae1b785ba700731bbec73feb9d913713ac4d38fba30db1ebadc81073b940ceb3af2633d39d24386b9e1043f3b2fd1583b449f1c3a3e3a1f394dbd2a3bd26a383b0a589ab92745943a560ccfba7d29ecbb33e64eb9aa76e43a5ff76dbbb89b3fbcf993cebafdea1e3a6a2918bb200849bc6a25c8ba5893823a7d0f71bb300a4cbcc14d12bb483db2b8577d59bb7a2d1dbc02b70bbaf7cc213a7afe9fbbacd137bca00051b99ff7273b68138abbf86016bce6b8bd3ad6bc9f3a6ee648bb03d6f5bb10a3c53ac3bd6d3ac08404bbbb6270bba3cf50bc41ab89bcb914afbb118828bb8e29dcbc8f20d4bc943025bc9bd8abbb73a6efbcdcd4d7bce1264abc25219fbbfa1a05bd78f9d1bc098f4ebcd353e9bbf88de7bccb88a4bc5c9829bc2b43e1bbbe0deebca165a3bcc19b3ebc9fd4b7bb6cddd3bcdb4487bc9ead2cbc7ba076bbd30fa5bc7ec42bbcdd58e0bb148c33bb9dee31bc75f98abbaca75abb37218fbafd8a103ce65a4fbc2d61763f7e24043e79725a3c00e0ebbbbf75603f1195f43d02b07d3c8153453b46733f3f092eda3dcfc96c3cbd9b0a3c009e1e3f49a6b93dfb97393c212c053c6803f83e63e78d3dbb01133c3486e13be213b93e8b49483dd3d6a73bd50f6c3bf4126f3e7beac53c2b26f53a1b16aeba4722e33d382d6e3ae67e8ababd0999bbb8ebb0bbf35778bc62b33f3cb7a76e3b00000000000000000616813c41679d3b000000000000000047596b3ce175dc3b00000000000000009da5543c56f8a93b0000000000000000fe6b0d3cdd948e3b0000000000000000c4957b3bcb76403a000000000000000057a3f4ba7d4154ba0000000000000000ba5c9abb4cb948bb0000000000000000783caabb991d59bb00000000000000002b0290b9215cdbba36f8a8bbc4796abb02a54036e67812bb3d71afbb43a328bb661ea7ba256b49bb2c378dbb02460cbbcf5ea5ba7d6a57bb7a6d68bb4ffe77ba8d5fccbabf1f58bb0c8f3cbb45f27cba7e6b2abb97ad0ebbae360dbb968e29ba5f106eba19e4feba769ca7391906ab3a203d73b863895eba060af63ae5052d3bd2979c3af28c90bafe3e353b381c543bdb3d253a909fe53a595139399d5db0bbb07a80ba7f907d3ab5d5ecba38ca1abc3d6ec9ba62400b39d011f9bafc080ebc95a124bbdf869fb90f5d29bb622728bc875cabbae4d9d439741a4abbad4e16bc62654e3907c5943a385928bb3fd61abcc0627439d76f2c3901412abbd6d0f1bbc9bfb43a9ab48e3af6da35bb248bccbb49784d3a437ec3b7671aafbaa41203bb36b3e7bb86695abc4877bebbd8e0a9baaa1ea0bc3c98c3bcc6c53bbcec9295bb414cb3bc6760b9bcfd5b36bcab4a9bbbf7bcdfbc427de3bc11c771bc6c54b9bbfdb0bfbc141aacbce2ae3dbc5108c0bb560acebccfd2bbbc474c3bbcd3e2aabbdc469fbce82f7dbc72d90ebcde767bbbd38989bc79a339bc9af8d7bbcf802bbbc93f1dbc2275b7bbe56c6fbb07400b395a52123ca0757fbc43d5513fd518863e262b5d3c610823bc1d1d403ff208753e12b84f3cc81d95b95cfa213ff486543ee127713c000c913bb473093f905f333e437f473c5171d63b6f35d63e63540b3e4e1e2e3cf895aa3b9a48a13e61dcca3d7935d13bc46a0b3bcf03523e5200783d6c3d4d3bf1e415bb1434cb3dc42da43caa6d67b62ca78dbb8069b1ba95b33bbc7a38873b6e259c3b0000000000000000839a013c2ba5d33b000000000000000038e2f63be8fccf3b0000000000000000649f063cb5fdda3b00000000000000002c4cae3b35325f3b0000000000000000366e063a1686283b0000000000000000d80d47bb40d0d13900000000000000002405e2bbea3a00bb000000000000000092bfc0bbf95ce7ba000000000000000030ec2b3a915a14ba488078bbaff566bb2c19bcba12e0f0bae70ba5bb8ad178bb5cf7a9ba5fbd5cbbd6d49fbbf01b52bb05e0e5ba4c637abb1d958cbbecb022bbab05bebac1fd6bbb33bc58bb05e1ceba5a255aba507537bb847fdeba8fbd3fb8afec13bb9e8106bb453c6db93821ae3a3a85acb9fd7faebad7527f3a1954253bc7bdc6b83e3989b936d0993a0f29ff3a16d8f8b92b992c3a1e1b103a25d1a5bb602c66ba582c833a5ef3aab98b0f00bc02a9d1baa641133a1dfbbbbae2140cbc2bb0d6ba932796396f7a03bb86b212bc7c37c9ba11b083b9ae3503bb4d3807bc32c00dbaf725213a6e4bfbba8b2d10bc9ee18e3998bd0f3a1a2e1cbb01ecf2bb9100b53a66d6933a0a5a22bb5c47c2bbe161b23a95452e3a90b8c7ba46c229bbf701a5bb0b9e40bcb53304bc6b03c1bae35371bccd37b6bc06185abc747c71bb9855a9bc2efdd2bc5c666abc721aacbb6e5fc0bc0985d9bc3e6b6fbc379dc8bbd4dbb2bcdd81bebc0e7d53bce2a2bdbbd7fab6bc60c5b9bc720b48bcb40db3bb86ec9dbc7efa95bc59d422bc536f8ebbb6786ebc7ea251bce275d6bbe6c52abbff2be3bbe7b5b1bb5d1319bb5ce450ba7537f23b12ad3ebcf81d2d3f3888cb3efd5a523c08d802bc8ee91e3fd106ba3e391a683c8578013a7f3e093fb71da13e2aa96e3c5b88953b6c8fe53e2680863e192f493cb7c7bd3bb5eab43ed07f533e11062c3c6551903b9cfc873e06a41a3e2fe7023c5f94163bc79d323e350fc23d008b863bddb90cbb334bae3d49c7203df6e7923a808a6bbbccdf1d3aa0770fbcf0bf27bb2967b53b0000000000000000ae864839f8c2083c0000000000000000f9f0483be749063c0000000000000000be85333bad39f63b0000000000000000ec0c123addaab63b0000000000000000702e41bb152c5b3b00000000000000006922dbbb67baa13a000000000000000041791ebc16f484ba0000000000000000c3f2fabb4f9a94ba000000000000000015792239031120bb01f44dbb3a6980bb5fb40bbae44013bb607a9ebbd5ee97bb836da8bafb454abb103290bbe51259bbeefcf0bab7c67fbb8a1692bb257849bb96f4ecba054e5dbb0f7059bb675b13bbaa9694ba5f1b54bbd0040bbb4ed614ba7c7d7aba892712bb0c19abba5334a53950c154b905ec9dbad890fa3914a51a3b4d47f6bab32f14bb8b76ecb9f765553ab48318ba2a93503a5a737a3a86538abb190e8ebac948493ac37f2337e7ffd9bbe14e79ba26cc8dba3ff213ba1d3ed3bbd68eeeba6373c339b7c68dba12e7fabbe5a0d5ba213d0dba18c68fbade4cbebb5c1c23bab0464a38a053ffba94bb00bcd2d7d93ac1c1d53a0fc208bbe22ad2bbf95fb63a209b6b3a16ce09bb33adb2bb96800b3b300bc43a7dacb3b96944d9ba42ec6ebbc0c32bbcb31622bc0af793ba19dd3fbce0aeaabcdffc76bccdf75fbb992182bc4ab9c0bc1a816ebc1d7793bb1264a4bc9f9adebc256882bcaee5c1bbe80276bc18e29dbc64f136bc9fd59bbbaa08a0bcad70c1bc9d3355bcfa06a8bb089a80bcede995bcd70d1ebce8ff89bbad744cbc43ba65bc53fdd4bb2f8026bb3db6d6bba405a7bb41352fbb830796ba9e46e53bfadcf2bb1555093f0c2d093febd9393c50da36bbda29fb3ec8c4f93e92134b3c4450173b1f07d93e489cd63ef7a45f3ccbb6ea3b5197b73e4ddbb33e7258233ce153d43b05098e3e27a48b3ec2c5313c9119c83bdd5f5b3e88f8503eb616f63be1908d3a539c0f3eafee043e4002993b39b5acbafba78e3d7e236f3d7817ea3a1c5050bbbbafa43a58abd0bb6547f4bb13fadb3b0000000000000000ac91c2bb847a1c3c0000000000000000dc9bbeba81d4133c0000000000000000c24eabbaa6ce093c00000000000000000546d8ba886ca63b00000000000000000914c4bb23398a3b0000000000000000ff0010bc17e0d73a0000000000000000d2b245bcedb787b900000000000000004d251abca4c26db80000000000000000da0b24b9ee8d23baebb835bb141699bb0c7047ba58df11bb167c84bb5bb8a2bb638b32bb7a3324bb9b19b1bbe0cca9bb4600edba2b4481bba97e82bbc7e05bbbab2bfaba93d37ebbd8a061bbb24e13bbe5f013bba1837abb0f701dbb26db1dba4f0d80ba4ea013bb6ad239badd49933a0078a2b9884196bac00c8039c356203b0729dfb7f77f81b9ffb58e3af3041d3ba5a13fba0109be3a0a9ff637d6e492bb876d86ba2fa2913acd71e338bc41ccbb0e410fbb7923d73a53133eb956c1c8bb92be87bad0234d3a610b91baa404f7bb0ca5acba422119374732a5bad25ce3bb42a320ba9996ed3ac08edebab364e5bb6488683a1982463a48af10bbd9fcebbb20c2f73a2e11a23ad31719bb2413c6bbfb16e13ac8267c3a9fa0d1ba1e6c51bbad2a7bbbec3215bc2ea94abc667cc2bade0e2cbc9af1b3bcbfb794bc98a765bb9eb288bcca5aeabc798e92bc173b95bb2f5393bca373efbcc15490bcf1dcbfbbe7c789bcac65d3bcff4379bcb04eb5bb231a99bcc254dbbc3a6176bc37b58cbbf6c979bcf386b1bc39a733bc1f3586bb6c473bbccd2584bc19b3e0bbde8220bbdc0fa8bb1a96f7bbdf8615bb89bf18ba807dc93b3aece7ba0f32cb3e83bc2c3fd2fc233c95af413b2b7ebb3e243c1e3f39f3483c124a113cc165a43e355f083ff54b4e3c9cd82b3cbd748a3e1b26e23ef6733f3cbc19203c6d565d3e409ab13ee0a52f3c11d6003c76a6273e57be833e9ca2043c87a3883b1e7cdd3d205c293e34d6a03b531239bac0225a3d3d8e9b3d5648dc3a8e0951bb60661e3a4daec1bbe0ac35bc2a35043c0000000000000000fe8635bc2ae6323c00000000000000005139b7bb8a6c363c0000000000000000f03ea3bbe805173c00000000000000008446a3bbcfdcd53b0000000000000000ac5c0abcbafba93b000000000000000018f646bc9958fe3a0000000000000000f33182bc2b20a3b70000000000000000693a4ebc97ab41ba000000000000000077799738abe8dbb905c515bbe54a9ebbb95039baaa2619bbc8ca80bbfed2b5bbe383ceba2d6760bb415479bb318e86bbd17ce6bac86386bb5ceb87bb18c072bb4bd3ceba02d373bbdaeb6dbba71d1ebb9d8cb4bac75e5bbbbd5c13bb1f3680b9345a88ba75521dbbff1085bae17e8a3a2e5d863abf7da6baa9215db8fee5283bba8c4ab938f5b9b875b1cf39fdbb7f3bfad328baf14ce23aea76fd39fbbc5bbbbbd532ba60b0063b9e57b7b9438cc2bba5f58cbae8c7f8395a5a30badcb0b5bb4069b4ba92632a3a4473b1ba8511e1bbc805afbab29324b90ced8fbab24ec0bb18746639df9a703a6f750abb49c7fcbb6ddb633a7774343a6df6f8ba2e9fd5bb492c0e3bae4cbf3a7b4518bb44b4d8bb2d47543bfc2f0a3b135843bb1fd5a4bbc48075bb799d3fbce36c6fbc537ec1bac5682bbc449fcabc3193b1bc4f8284bb9da64cbc1972d6bc7c0399bc4d549dbb07b185bcc35701bd4135a7bc7091d9bb897c69bc53b2d3bc042f80bcfffabbbbd8a686bcffc8e8bccb9682bc3cb4c0bb61c44ebc9f63afbcabc330bc662a81bbb6972abc1f2d96bc0b60f0bba04a2abbe8cf87bbc9950dbc91500cbb70b749ba36ac893b28dc5f3bf90b863e8277513fa75a063c493c2a3cb66e783e2b963f3f36bb1a3cf05b473c0f635a3ed55c213fe7143f3c13ec7b3cef913c3ee43c083f5ad3123c921b533c3bf5153ec19cd33e9b50293c4d762a3c163fe73d77019e3e60a4eb3bfec8a73bd9a9973d38004c3e1c7b9b3ba6b4ba39ab67143d81b1bd3df171fc3ac3810dbb76cfcaba899cf4bb26c674bc26fe033c000000000000000029e761bc9b8f3d3c000000000000000089e7cdbb44601f3c00000000000000003cceb2bb92461f3c000000000000000056eda1bb2c1dd33b0000000000000000f51124bc582c903b00000000000000006f4142bcddc8fc3a0000000000000000e7a198bc94a6c5b9000000000000000058d588bc524324bb00000000000000005dc123b97e5c72baf8ec2cbb1df2b4bb7c0f6fba9fdb2ebb529e56bbefeda8bbd738aab9296c8bbb288e84bb7a6b96bba4c795ba7e57c2bbe7f9b7bb3a1855bb2db347bb2f3a62bb39883abb1fd5c2ba8d919bba9f6971bbe94a23bb1a7bbcb9f08e88ba418a42bbcb77e3ba44a9463bd14b99b9566063ba18b44f39e3b4753b6fdc44b83bd86438fe7c883a9db94c3be0da7eba18b8013bf73e073a8dd338bb506d30b9097a313b393b3eba23fbb5bb85b396ba4d7d963ae3a17dba313db9bb252746bad198983a33a7ecba9eedc0bbd3c33838ecf398b956eb8dba4bc8f3bbabefeb381af2dc3a419ffdbab815f7bb5e47913a2365d83a994333bbb043cdbb39fc4c3b574a153bd2120bbbdb3fe2bb8bd1133bf269c43a135ee4ba05ca9abb54e4a3bb5e9377bc1da290bcf7d01cbb9de634bc8d7af1bcb422ccbc27b1a9bb5a765bbc81e407bd9fc7c1bcc858d7bb788872bcd8330cbd1e0eb5bcbdadeabb1d4a5abc6bfafcbcbfb29ebc287dc3bbccf87abcea7bfdbcde518ebca88acabb25ad43bc4e55ccbc61cc63bcfc32b2bbc2b828bcd4f6a9bcaf730cbce3ad2bbb7d3798bb109c31bcdc953bbbb8d08fba15b4563b11463a3cffaa043ebf3e763f7428dd3b19b2963ca227fc3d93f45f3f97f6213c1dccac3c7dcae93d96da3e3f5707393ccdcea73c5c26cc3d88f71d3febf2273c8dfd883c1824a73d245cf63ef64f203c30df543cba93813da1c0b63e40fde63b63c6ee3bf97f283d3b516b3ef7a4893b102cd23ae300a03cea73da3d9ffac33ae42cf3baa8e5b7bac2bd09bcae6652bca91b113c0000000000000000fb3c30bcad383b3c000000000000000033f646bb7628323c0000000000000000951fffbaacb81e3c0000000000000000027978bbf023db3b0000000000000000be42febb07f0803b0000000000000000229260bc33c47b390000000000000000f7aca2bcab85e6ba0000000000000000387f97bc4b4414bb000000000000000000000000000000000000000000000000d93699ba7b1145bb78b179bbbd16c2bb67fee1ba8f8a83bbb1747bbb57c891bb3eecc9bae47780bb561ac2bb035e84bb71ff00bb83ce93bb97358abb01ea4dbb905290ba250456bbd56634bb839488baf353efb81ed118bb7fdcc2ba6e6a0d3add4abf38241888ba8a89d1b9dedb153b0000000000000000000000000000000000000000000000000000000000000000183a07bbf9c4763a443f6cb5d28b4bbb1997dfbacf5b8cb85dbf4bbad40587bb4395fababe3b73b927b7dbb7a81270bbe0ff0fbb069b7ab99d470ebb4cbb76bb400e9fb9b24444392ecb7aba1ee2b1bb15b95b3ac441823ace3ddaba0b0ccabb065a013bac14d73a683ff0baa368d8bb0000000000000000000000000000000000000000000000000000000000000000407e0ebc5fd6d7bccdcbafbc682cb8bbefb026bc10aae6bc25d0a2bc65a5c5bbf4a72abc4ef3dfbc79b493bc8a23d1bb159d47bc1641c6bcb2ec77bc9581b0bb620539bca9accbbce1e46ebce362c5bbeacc2fbc1299b6bcd9f942bcc0709fbb7e0d14bc99a69bbcedd80dbcd95b62bb000000000000000000000000000000000000000000000000000000000000803f8180ce3b86d7b03c8a4c253ccf07783f7bdcfc3bebc9a63cafd66b3c4f6e523f4c23223ca3a3a43c96537e3c6b8e2d3f80460f3c308d843c5c79793c420c093f2fb5073c2262503cf164503c1e03cb3e7efad53b54940e3cd79e0b3c7a33843ec124943bd317803b79d55f3bbbc5f83d000000000000000000000000000000000000000000000000000000000000000029512ab9a8ba203c0000000000000000bcb9613b44850c3c00000000000000001e68a43bfb93013c00000000000000003dfd2d3bb1d6aa3b000000000000000089c311bb8fee3b3b000000000000000026f300bc75642139000000000000000080fb75bc5b4311bb00000000000000000000000000000000000000000000000000000000000000000000000000000000eb60d4ba24ce21bbe5a02abb9cbb1ebb105224bb483719bbf75b15bb83310ebbba6affbad51127bb318d27bb70ef17bb0ea325b901dd31bb65422fbb2f2d4fba7b2bdaba55fc18bbd2660ebbe9c006bb9d0ec0ba922affbad0b9c2ba3249d9ba14fb99ba555ed1ba11e99fba607685ba0000000000000000000000000000000000000000000000000000000000000000666a0abbf0709eba459d9eb6e19186baaff002bb048b70ba5cac4abad8965dba430b0ebbd582beba330e3eb9471cbdba040f75bad20145ba40c210baa8c8cfbac838f0ba16a838ba005bdab93f1dd8ba0b08bdbaaae008b5aa96cbb9e2cce1ba781816ba075069399a1b8dbac64002bb0000000000000000000000000000000000000000000000000000000000000000bd9b4cbb19b259bb96b61bbb31710cbb905e39bbeee03dbb5b4016bb34ba08bb5c4658bba78b57bbf3ab35bb204020bb9c764ebb75a14abb549344bb90a230bb4b794dbb958345bbc51835bb2bb319bb240731bb11d82ebbc8701fbb82a50ebb875e2cbb03b21bbbf46308bb33c6efba0000000000000000000000000000000000000000000000000000803f000000002c9da13bf375943b1ba3633f7764933b681a923b2aa5943b5bee423fbff9943bfb67a53b27a9ac3bd143223fda137d3b542a8f3b0ab9963bfd7f013fd116403b2d788c3b8cf8923be642c23ed935103beaea033b0c007b3b6444813e85338b3a1f920b3b366a053b5f67003e731e6bba0000000000000000000000000000000000000000000000000000000000000000496aac3b1a45313b00000000000000001c23993b6cb42b3b0000000000000000b8c4663b201df33a000000000000000020840b3b9f058c3a00000000000000005865d53a6d384e3a000000000000000049822a3a846e1539000000000000000075e11dba3a9048ba0000000000000000000000000000000000000000000000007aea66ba32a4c5baa784c2ba7e62b9badbdafabadce032bbf9d636bbc4022fbbc5e9ffbae94d40bb07c74cbbde074dbbb4e592bac13d06bb88a304bb72a37bbb4541f7baff1d30bbc4c729bb6fa725bbeb3ffdbabcd33abb5e7e24bbe0911fbb88619eba450512bb582a00bb04a0efba050484ba56b1f3bac79bd4ba4f8dc8bab3aff5b9955552bab4de09bab39bcfb95de551ba0aba85b99da060b88b1051ba0f1120bb47a823ba09612fb73a9aa0bad8073cbb5943dcba69bef2397cb26cbaa6c082bb7db026baac1551ba0ec66bb9e3c212bb23dc9dbaf2b483b9ed5fc3ba1c25fbbac26437baa3522eba95970fbbf4efbdbac82e42ba95e839ba3e2b07bb0eed8cbad31c21ba5fef4cba38c0e0ba34aacd384c2c0eb9ee2069baee9facba01eeeaba407821bb45a2c7bace83a0ba817654bb474b7fbb5e993cbbe0ef24bb064454bbee1377bb6fd547bb319c36bb948395bb45169fbba34d8fbb3f2683bbb60752bbe4495fbbfb3247bbbb1033bbd79e74bb49b781bb857165bb43414cbbb61f57bb51e953bbaef742bb72c32dbb9beb35bb37be22bb136d0cbb6c47fabaa859d4ba0f92b6bae10ba7ba93f76dba899a353bf21bcd3aac04633f6503033e13a0b23b9f46923b7223483f5613eb3d1543a53b5ce7d63b2eac2b3f7437cc3d8f21c63bdb1cc03b664d0f3f8240a93d6386ae3b1f3daf3b90c9e33ea26d873ddb34a73bf57aac3b96e2aa3ebc904a3d619f883b4fb17a3bad14633ed961033df3af823bec32433b0dd0e23db0f17a3c9b0c543a67e2ed39224824ba5051d9baa06d7a3b9752f03a0000000000000000937bb63bae02433b0000000000000000d5fab33b5dcd503b00000000000000007204b33b6efe7d3b00000000000000006801323bb03acf3a00000000000000000065e83add60753a000000000000000013c7fe39905d83b700000000000000001f159eb9e2a260ba0000000000000000e45994baf6978cba000000000000000059af45ba63d0c8ba36acd2baa0c3bdba82addcba2b5d21bb74f526bb13052cbba406dfba1b2519bb821c1fbb983b20bb0e5b02bb13934abbb99949bbc83d46bbd39fd8ba203724bbb44c22bba57c1ebbeb4d05bb72a13ebb1c7530bbff5123bbb768c4baa85004bb51d9faba11dde5babc83a3ba07aaf1ba9c8bd4bad227c7baa32319ba05a646ba3ce0dfb9db184ab9537f8cbaef71b0b9a156a3390e72ebb91daf0abb632c8fba30005239f6bb82ba52ac11bbac7499ba044d32390f4c72bab75d30bb4226b5ba041feeb7e314bcba1ad700bb698956ba5ea844b9476dadba84bfffba913152ba2bd3efb9b241f7bae0ecc8ba9dfd33ba74c8e7b90441b9ba82f491ba62de23ba5c8909ba287bd6ba03bbc338c16c90b8905145bace079cbaab3eadbaf38d0bbbc890e0ba3daeadbada8725bb03b968bb29eb3cbba2da10bbe74624bb6e2556bb66c536bb230510bb062b61bb7da986bbf59969bb5afa47bb925b33bb58ae51bb7e073abbfb361ebbed3d5fbb11487bbb270f61bb94313fbb42b721bbd28131bbd25121bb569e09bb834926bbd7662dbb46d91fbbadaf08bbac80baba97d9b3ba2a3f9bbad1666aba8717433b8cecc83af798423f1aca813e26dfa53b323b7b3b6ca92b3f661c663e821aa43b94ab933b55b2123fa03d453e8550cd3b733dc33b1ca8f53e04c9253e4e899d3b8e9d983bf17bc33e2ea3033e5565ad3bb753a43bfb15933e6111c63dead2703bd16a583b3153433ea0b1823dbfc7603b7e99323b7434c43dfe89ff3c9e4f733a9151ff39f8bf9bb889dea6bae40a423b10c9f13a00000000000000006e7e953b1685423b00000000000000006f49703b4312223b000000000000000020ba7a3b9394203b0000000000000000cbc21a3b1d2ac83a00000000000000009295da3a6af7903a0000000000000000f2f3003a167b873900000000000000000665e9b99f628eb900000000000000001a9a93ba776355ba000000000000000014eb3fbab022bdbad68bcaba7f81dabac554c7ba53cd1cbbde2725bb74cf2ebbf51ee5ba24ad2dbbab9237bbc46332bbe0b906bbbf1452bbee6e50bbef6231bb9697f2ba50d622bbb53d31bb7deb1bbbe049fbba200734bb3b422fbb07b520bb21e655bbaa4a0ebb0a5a01bb3b74f5bad3c18bba5808d6ba6269a1baadda76bae0101cbac96a48ba735d03bab4078cb9c1f4b0ba2c8702ba528fde39140470b97a8e14bb5d04a8badc48b039e5f640ba21ce1dbbc585a1bad0e39239cb8a79ba55731fbbd83387ba872ffc38e549bdbaf68013bb1e5e83babf3304b97fb68fba062b0bbbcfc735ba0c2fbdb9b9bae3bad885c9baa51325b9dbc214badf5ad0ba50cc3eba0a95b4b9214363bab299d8ba5b8add36515e26b9998d1dbaedd679ba0ba554ba9595e3bacf1bddbab1428eba205902bb5ba355bb097642bbe47707bb546e23bbc69a6bbb94a14dbb87891ebbf1d24fbbf8ed88bb134166bbb2a348bbc8c72abb192e57bb3c8f43bbeb7e1fbb68c650bba38178bb3a8565bb5cf738bb2ee530bbcb984bbb67fb3bbb895b19bb0e171cbb05c22abbbff017bbbf62f5ba9cef9eba4e00a3bac5ae90ba608160bafe032e3b96c4ea3a480a223f6657c23e9ba89c3b25d9823b380b0f3f67c7ab3ee961b33b18e2a83bafabf53e4a88933e734ac93b58b0bf3b8418cd3e7379763ed844a53b7773a13bcb71a33e4f47443e6cebaa3b9741a03b0813763edd6d133ecdba883bb7e97a3b97e4233e1b76c33d7b80333b2c370d3b32cda33d7fcd3f3db9a9883a501f133affed7d39594472bafcd01d3b5d23063b0000000000000000ede1763b73fe543b000000000000000090627e3b4e7c413b0000000000000000d004633b3a58293b0000000000000000a76f133b69d2dc3a0000000000000000b8a8ab3ad618943a00000000000000008c67d239220ecd390000000000000000368463baf04cd5b900000000000000005cfe89bab5d630ba0000000000000000f0624cbacbbeaebaf0f3d3ba4e60f8ba77c0b5ba28b514bb1c3a17bb9a2025bb48b192bad0a118bbedb71ebb7a8c8bbb2ff1f7ba6ce739bb9ce745bb89a141bb765ccfba19ed14bb07ef18bb24cf10bbfb7aeabaf77131bb655039bbfd3a24bbe016dbbaea0f21bb558c28bb966df0ba3b1393bab0f9cdba0b30c6ba005d9bbadcae09baff3d4bba775e18ba39fac7b9213a34b953a03eba09b9de396d0e79b9bbf21fbb32027dba2611f339c75631ba6e1fd5ba9e2129bb56f4363a3927ccb960fc32bbbcdea5bafeda8139347d76ba41b008bb21f183ba09436238d84b5cba944d0bbb1ef450bac7e687b9ffabb8ba372cffba634392ba796dc3b88f7b70baf5fd69ba14400cba2abd13babfeda6ba963126b99d5eeeb83c33f4b95ed275ba196f38ba3965ddba798004bb914baaba6f5acbba0d2c42bb09f751bb1c35fbbaac9bddba3a73a9bbecf930bbccaf65bbe6b223bb0c7378bb734e6cbbdfd535bb6e8102bbc90131bb84822dbb9e0312bb2c733cbbe61775bbc4fb67bbdeb23dbb7bc813bbdd7830bb5c6a1abba71b0bbbd40710bbd8dc26bb2b0a10bb6f12fcba2a9e89ba503ca9bac1cd9abaebd867ba60ea243b6998073baf8d013fb582013fcbe1903bb32e8d3b64c9e43efe67e43e0d0aaa3bb514b73bf390c43ea2f7c33e60e9ba3b91fbc23bd771a43e96b9a33e6ff18e3ba26d913b62c6823ef528823eed35a33b32c7a33b2ed1453e7ef2433ed3af793b9cab793b30c9033e3957023eccdb3c3b44f00c3b2b3a843d59cc803dfe59a13a5e29323acf7c0a3a393b2aba43b1dd3a21220c3b000000000000000049123f3b16744a3b0000000000000000dadb5e3b39cf533b00000000000000003cfe463b496c353b00000000000000001312eb3a025ed53a0000000000000000c645a93aac94ac3a00000000000000004cb1f8399209813a000000000000000056d764ba0b2873b8000000000000000071a8a2ba98470cba0000000000000000d5a596bae1de90ba2f6ab7babb57caba4002d4ba4aba13bb74fc2bbb2c9e2ebb6ee804bbef0632bb275441bb6e1d3abbc086a2ba0db117bbd56591bb86f68abbf9e1e1ba9bca2fbb5b613bbb61e02cbbb480dcbab17b2fbbd81d3cbb140f2abb0644deba434122bbf78815bb27df03bbfe139dba441cdbba17a2d1baf48ca7ba887802baddc136bac14f08ba6597b3b96f94aabac08d0fba852b0c3a5f7adcb8677515bbb162a6ba37b3323a95b7eeb9791324bb1e76a1bad6c4c339f33e31baf46c81bb87aeb3ba3f09003ac6f12dba7aaa16bba38362ba0c7419391caa81ba442a0bbbbd2244ba4de96db9c86fadbaf921c7ba23c6e4386fbbf2b9a2f5c9ba220775ba32618fb977f60cba50d9b1baaeaf53b9cebc87b9cbfb08ba8a1c6eba0d900ebaab83c3baab2e08bb9f619cbaaa02c9ba88184abbafb065bb877515bbb61c0cbb727a73bbe24675bb4b5c26bb60260dbbc79370bbb4da5fbba6b41cbbb6271abb85f661bb065d56bb249b25bb704538bb94377fbb903175bb7ffc3fbb08fa2cbbc55d5ebba3e555bb222624bbe3c614bbd6a42cbbf63d22bbf49af3ba37e69abaeb4db4ba825aa5ba1f4b80ba77ae193bf48b293b4164c23e40f9213f08d28c3b114ba13bf829ac3ebee50e3f99c4ab3b9964c93b0c3a943ea53bf53ec4c9b93b5ec0d63bbd5f783ec78bcc3e9b9aa43b773aaf3b9e23463ef3e8a23e530aa83b59d5ae3b4fa6153eb3ab743e1874853bf2b8793bae69c73d0e4a223e068c3e3b3a26203beec2483d3308a13df760a13a2332463a45c6f7393a751cbab564b33a730c173b00000000000000003fa4393b688b6b3b00000000000000002a83513b1706653b0000000000000000ce5b483b364f523b0000000000000000ce7cfc3aba70fd3a00000000000000002ac6923a79afc53a000000000000000079333db9d7d9133a00000000000000002026b1ba61cf8fb900000000000000000bf9cbbadea528ba000000000000000090be4aba8f38b7ba1c6ce5bad98fd9ba2c85fbba667227bb161a4bbb8af43bbb6ad7e7b9bb6837bb5f8560bbec2b58bb5195e6ba4f1033bbbc0a46bbfa539dbb7b67eabac6d12bbb1ee339bbb69a26bb4cecedba9c3f3dbb2bab46bb846b31bbe7b9c6babd4804bb9004fcbad212ccba324ea0bab17ae5ba9ad5d5bac81a9cbab81733ba0ea46ebac2eb55ba4ffc02bae802bbbad8e2ebb94fd5143a226d65b8f2bd16bb170286ba0740af375ac35cba7ff03abb66c7dbba4c06953a9db9d139b3308fbb407770bae23f093a3a6f28ba608e09bb68a542ba45ed9538bf2c5cba001d1bbb866d76ba66c00eb9cad5a0ba453da9ba88aadcb92fe60abacf489eba56c86bba72eaafb9ca4223baaea5b1ba43ab80b9f1da41b6b683cfb91e5049bac45c18ba8718eebab65623bbbe7da5ba6f2e8838d1e57bbbde3b8ebb6f132abb57734eba6a0314bbf0218dbbcddd49bb07cc12bbbf0f84bbe33681bb1d8c30bb6e170bbb68d65bbbe54259bbe42520bb734c32bb818183bbd23f7fbb5a5043bb3a7110bb878841bb300338bb4fda0dbb802114bbf7ed3abb3bd92dbb383803bb44ada0ba93eebfba7fbdbaba52207cba6a9c113bbda15e3b0cfe813ed696423f8d8f473bc2abde3bef15683e8ad02b3f79d3933b77c2bf3b3bb3463ec1a0123fe280be3be8dfea3b62ca273e7837f53ee11f9a3ba3c6b13bfb88053e5714c33ec937ab3b4930ba3b4979cb3d269c923e6c3d783b7651793b534e873d6209423e1bc3463b8c372f3b7c1b093d2429c13d5cecad3a9940653abdf9223abe7714bafdb6b83ace1a303b0000000000000000bb97fc3affba4e3b0000000000000000f5aa533b9864df3a000000000000000029e0503b5c03603b0000000000000000cddbf43aa8ff063b000000000000000093ed9e3ae209d03a0000000000000000b074b0b9d8dd9739000000000000000087a6d2ba4ff2aab90000000000000000f2cce9bae37827ba00000000000000003ef332b9990d3dba72e70abbe0740dbb9fc9ebbaa46c26bb45f743bb56ea4abb1283e0ba7d592ebb01744bbbb1494dbbf1aa06bbdbcb44bbfe5465bbbc8e50bbcd17e1ba1c5232bbbc204cbb832143bb91a8ecba06593dbb38c84abba8733dbb026bc4ba352911bb2c1612bb1d99e4ba05a8a6baff44f4badfedecbaf10aa0ba9771b3b992d012baa11421bacabd82b999b8f2bac94d52ba78c6cc3aa1b412b83b734ebbd9f862bae56a5f3ac18e6eba1aa151bbb03108bb9864363ac13bc0b9294244bbcdf8adbab6d3da39c96114ba45f238bbb8a1aebac6ae9d39fcea3bba9fd029bb697e76ba541685b951a4b0ba11d5b7ba9e07dab9c06042bacba3c6ba08548abaf723a1b874b623ba19debbba8466d8b9cc4d1dba9f46e1390e6fedb85cff39ba0aa2b3baf34148bb2fb7d4ba1950b3ba0c0a90bb6e669ebb13c44cbb9f62e4baf71780bbfa4484bb0f742cbb2b6e1dbb2fd98fbb1caa8fbb113c4cbbb1120ebb00e272bb5a5572bbf5283abbe4ae31bbf54f8dbb04e182bbb1f84abbb1292cbb1b386abb774058bbd80c20bb105923bbd6124ebbeb2b45bbe1d90fbbd3c22dba712a81ba62838fbad13535ba996c083bc4ff863baa5c033ebf13633f0c24a83b6a6bd23b37b6ec3d8b0f483f0d39a53b1b59f03b6ae5cd3dd05e2b3feb9cc13b624e003ceb1bae3d6dcf0e3f20f1a63b9c10ca3b17f18b3d4b88e33e35339e3b9965b73bc3e1553d1694aa3e163e623bcd2e743b33310d3dedfe613e0048593b8971493ba841933cc1ece03db8bc863a0a6e163a40beabb77973d1bafd4dd13ad144383b000000000000000083ed4b3b3f2b873b000000000000000094316f3bcc87803b0000000000000000b0676c3b93aa653b00000000000000009790213b800a193b00000000000000004cd7b43abe1acd3a0000000000000000032cf6b994e3673900000000000000009601d7ba533fe8b900000000000000000d743dbb850fe1ba00000000000000000000000000000000000000000000000062fc97baa01af5bab96d1fbb33b822bb7d29d2ba611f29bba3c937bb08a626bb6764c7ba8c1e24bbf66547bb1e1844bbcff0d0ba59b92bbb58df49bbde7740bbad60aeba2b0b15bbc4dc26bb347214bb98c997ba240001bbb76b03bb709ed7ba55ec98baad46e9baafb0f5baf7b7b2ba00000000000000000000000000000000000000000000000000000000000000007d8317bb7ca0c4ba1c8b5c3aa0b0e7388e3a05bb973f90ba560b65b9f6b288baaffa3cbbd5c806bb7c30253a23129fb9bc0063ba8dafeab98fa46e39acbf1eba07dc01bbf4e233ba0cfb1038cc2a64babb3fc1ba14f0f7b96e9ab9b9130f99ba56e392bac04e19b92acc03badde1a6ba0000000000000000000000000000000000000000000000000000000000000000e83876ba969e52bb57cf60bbc2e80cbb014f06bb91bf80bb18997abba2dd29bbd9acdabaf1f76ebb147365bb30f831bb1423f4ba209053bb83484fbbbb6928bb6056febaea7558bb4e0f49bb063119bb510507bb704644bbc9b531bb469e04bb03240cbbcaa336bb67b72abbaf1ffcba000000000000000000000000000000000000000000000000000000000000803f18d4663b55c6c83b98bda53b5286633fc64a9b3b4031e23baa03cb3bfdfd423f54499d3b224bd63b86bfc03b6d4a223f6989873b8e0dab3b20ba9d3b4173013f5bd58b3b71eaa23b650a923be60ac23ed6ac553b9e6f613b69d93f3b89db803eae01493b3b0a3c3bd426113bf050003e00000000000000000000000000000000000000000000000000000000000000000971653bc65e6c3b0000000000000000f273903b956a163b0000000000000000b15e5f3b23f03d3b0000000000000000cea8133bde4eef3a00000000000000005713cc3a137bb03a000000000000000067cf83380d61a6390000000000000000d74796baa261a5b900000000000000000000000000000000000000000000000000000000000000000000000000000000387a36baf635213c3ec87b3c55ff4a3c8f2a3b3b0a350b3c33bb863cf3d26b3c6e8b063b72f2013c22784b3cada3313cab61383b3e67123c270b2a3cd7b0133c117d113b3684903bc649363c6d69d03bac89abb950c8ad3bb19c023c6acd5d3bd5b0c937e05fb6390cbeda3bccd0cf3900000000000000000000000000000000000000000000000000000000000000000535693a07f9e8ba9365b8b83b67ecbc5ef76f3b469014bb9f654cbb1c1f11bdff8a6e3be0131c38d8f2dfbb45cc0fbd94d1973b8fa89f39d552cfbba5cd08bd072bd73ae6d09a394aae88bb03cbc0bca9512a3b1129edba6ec3cf38a52580bc8bfe2c3ad5056bba1944a2390162c7ba0000000000000000000000000000000000000000000000000000000000000000f3c601be1cf517bd3df3173baf848d3a39c5febd88d427bded54c4b9e1d21fba08b8d6bd860e27bd18c77abb66334bbae7a8bcbd395214bd6ec56fbb5ae32ebae26296bd7497c9bc278fc4ba091a4c3954c756bd0a5d54bc4781223ae2a2ea3ad86fedbc5a2d323a014f223b782271b90000000000000000000000000000000000000000000000000000803f0000000066285e3cca7b81bd7bda9d3f01e456bd5665363c412edabca7f2823fc9ccd0bcb8cd403c384300bcdc33533ffc280cbc8c4afd3ba0ffa03ae335213fed6062bb3ddc8d3b178c853aedf3df3ed1c1ecbb23be0e3b90c2b3bb71ad813e4b6480bc21e7853a408b74bc466f9a3d75d0c4bc00000000000000000000000000000000000000000000000000000000000000006708073ce7e01cbb00000000000000005381c93b2d5919ba00000000000000009313403b2bef10ba0000000000000000725e28bab77523ba0000000000000000cc0f86bbb88754ba0000000000000000f0cc3cbaa7708bba00000000000000006139e9ba0622ed390000000000000000000000000000000000000000000000005deefabae252b83bdb9ade3b66e6d53bf38654bbf483413c12bea13c965b5e3cbf80ba3954995f3c6ecba43c195d753cfe842d3b98b8483cb13b953c02b3763ce8492f3b25fd0d3c04e0653cdd1c343c1fe3b83a1c79f33b47e05e3c3e5c153c1fa07fb971c0963b15ba343c96ba9d3bccf408bb568cbb39356cc53b9cd8f337e73e98ba487b1ebb9f77093b55ffdcbaf166b1ba76a3a6ba5609cf3bd441a9bcbb0fcd39ab3d9bbb5028fd3b9a94e6bc43fc6c3b72372fbbe168b33991d613bdd4ab963b8387a0ba13ca46bb917d19bde020a33be26571ba45bb44bb255a01bd8649343b3d1c9cba6573a8ba30eebfbc50c3783a81425fbae975d13a8dc248bc1fbed7b99fb771baf5652f3bc2ea173ba15f96b850c296babaa7343bbf34fe3beb6c8abd11d8adbcee5984ba8c0d293b162003be55fc16bd46a3293ba11ac13b5acd0bbe909c51bd7db841bbf827223ba0adfebd867956bdbdcdadbb01eb7a3ae830ccbd1ff732bdb72597bbb4a19639911ea7bd84a106bdcdf1cbbae676b63a8aa869bd88668cbc07e3b6b811a9983a294ad1bc00efe2b89f0067ba902db33af02007bbce44073c3ada3a3b68c5573ab42c7d3c7e9302be531d9d3f1a449d3dfd4aa23cfcd207bed5c4963fa9a2823dac7f763cd26ea6bdb495813f3526a23d6c0f3a3c0fe449bd0900513fd0549f3ddb500b3c0a8efabc44691c3f9114863d6cddac3bfc72cfbca93dd93ec0cc2a3df1b8983b4af2d5bcf907773e30b4963c3624cc3bdac8cebc947b8c3dda9721ba462f6a3babb1d3bcdcfb59bdfdaac4bc4d769cbc672c983a000000000000000070ea99bc5549d7ba0000000000000000e6a361bc022f55ba0000000000000000df1960bc50d89cba00000000000000006ceb50bc05a689ba0000000000000000bc0d66bc589a29390000000000000000d0a052bc2038f33a000000000000000051dbdebb8854a53b00000000000000000e4fc6bbfd0b633b0000000000000000cedeb8b981359d3bde94aa3b72976c3bae20d2badd6b1e3cc27c543cc3bf443cb10ad53a8f841d3c44e2543cbf4e553c47fe283b724e123c26dd6f3c5827693c7170a23a75eb203c96b63c3c11e6403c7042bc3ad275c43b73a3333c4cad073c0b0361b9fd34623b6f17043c359ac43bbc18fcb9f7df663a573f923bb824dd3a2dd2a4ba146802bb459deb3acb390dbac97ad43a4bc523ba45a1b03be460afbc0b825c3be67df2ba9201003c182201bd3633b43be40ca1ba8034a0baeea405bd4396b23b1ef49b397956abba0bb703bd99723e3b6cff10ba03f206bb4be8e8bc3d598e3baed58fbaf494953a4c0fabbc2900073b2bd61ab98832923a829d2dbceb84e039f983e5bafc6b253b3c0a633964dc7eba685470bad532803bce69e83b333226bdafb19fbcdb610dbcd4b3833bf6a8c3bd46af43bdf24930bc121aa63b8165c7bdc5da69bdc1fc51bceffc323b4890d5bdb5d976bd0c4141bcfadb673a05b3abbdb48549bdac812bbc382f3e3bbd7492bd729927bd7f1aa0bbdec63f3b4b353fbd9f9dc9bc333b49bbdd50ef3ac9a3cabce7e4e3bb9c9fd93a640e443b4b9f28bb16f1aa3b99ef293bb8f2163b47fb663c294002be77aa833f263b843e1f1eab3c6a510dbecfe0823f71307b3e433e663cfe3ba0bdce25583f911b6d3efc33643ce2808cbdcd21393f4134483eb876f43bca222abd2dbc0a3f3fcd193e411f0c3c70a42bbd0578c53e4a3add3d29789d3b24b506bd1346683ee5427b3d24db083c22210ebdac61a03d05cf6c3cc53a963b48dbdebc607febbc425999bcd09d33bdd02dcc3a0000000000000000e8e141bdd4619d3b00000000000000008ab107bd45f7a33a0000000000000000106205bdc4c33e3b00000000000000000b76e4bc3efa4a3b0000000000000000e0cee3bc0844be3900000000000000001b3ac8bcdf2f893a00000000000000006f20a6bc18a0903b00000000000000008eb25cbc5cfe3c3b000000000000000051e0673a6c3c543b9311793bb83c5b3b9b983c390ea4053cf6ac273c54ec313c150ec13a19e21f3c78ad583c9f28683cced52d3be3770f3cfc1f533c165c513cc687503b37c2cf3b7f9e2f3c4f27363c3f2e9b3a1925bb3b985e1a3ce961193c0b8ea93a5edc863b98b6fd3bca0dad3b073184ba6834a239e87d7c3bc8dd213bfdbb05ba8d9a65ba1c5f8b3a52879fb94363e73aa9944a39c7bb8e3bb51ec6bc57cd9e3b55bc7cb94a52c53b705d03bdf134e93bdcdb53ba90ddbc3afe1308bdf479e43b0fbaa939907dccbafdaef7bc08ef013caa89e33a619429bba3aed3bc9d70853b7484c939af3bab393d8389bc801d653b088929bbfc9424ba2add20bcb3ef353a8ec562bad19d843b1319373a498906bab2d19abaf665243b5f16ad3b2119d1bccd88afbcfb3b8bbc1552863ba03696bdb12061bd390aa0bc4ed5b13b7855b9bd851892bdc18b9ebc647a8a3bf37db2bd6bff89bddb5c97bcc14ae73a61c89abd078280bdbc768abc55627339956678bd1d8940bd7f961bbc2998293b3ecb3bbd138dedbccff546bbe41cb93b256fafbc17de3fbc250c243a251e5b3b2f9c3cbbef69e63aaf7e5f3b1a4e833b9f89223c7772d4bd9b22563f3eb3e53e614e863cf255f4bdb636553f8ffbdf3e7d2c783c3e7cb4bd84793b3f1767c73e892b443ca48283bd2966193f7611a63e652e303cdb7641bd76c0ec3ef1f7823e6a16043c4c1232bdd3b3a73e5053353ea184083ce52a21bd16cd483e3318d13d0925c63bdc5818bdcd199a3d73930b3d995e423bb19be1bcf6ae70bc399f8ebc718c83bd09bba63b000000000000000090bc9abd6a65fa3b0000000000000000c0ed73bd76c5923b0000000000000000044149bd736e7b3b000000000000000031b725bda902323b0000000000000000ee4124bd3b1a123b0000000000000000fa1a17bd4751543b00000000000000002664fbbc97f58c3b0000000000000000e3cdb5bc1753803b000000000000000009f7043a708e4d3b9115a03a6c82893b75ea693ae98fc93bb39b183c76e92a3c7a55983ad56bfd3bd862313c056b483c26d9ef3a3c08143cdc243d3c5769563cc7cf633a39cca23b2966b63bb588e83bf331f13a0804993bfb65203c2039243cb1f00e393fd9563b4405ba3bbda9c93ba8e958ba6986f139a6205a3bdf337c3b9f134c394f71b7ba76ea2bba8b80003bd7f66b3b6c35da3a9a26a33b1773b8bc5f7d063c3ab919ba437a523b1dcedebc3befed3bdaa8413a751ae938c210dfbc9d730e3cfd35fe3a176fe1baa0a8dbbc6e31a13bc9d80a3bdac024bbd84e8fbc8680b53b1d4eae39d5f1f9b96ec892bcc1ac1f3bd8f1c7380c30dc3a4ee5f3bb3be8a73a7d6a34bbd91ce63a0d680d396988c0baf719c4ba3915663bacc09b3b01f893bc6233d4bce00bbebc9ea44d3bb97d6abd156784bd908ce8bc38e3c33b78c88cbd1da79abdca2bcebcb1950f3b9b4b99bdc51ba4bd8188d0bc5866b33ac35e4ebd8ca95cbd26039dbc939b59ba6b2e5bbd057063bdc3b475bc3be1523bbd2e0dbd87970ebd30eabdbb3f7c393b8ba18abcc4b58dbcb825d63a9eedc83b30d09aba5ab483b9f64dc53bc747823bd328dd3b1e3aaebd0ea6243fe476253fcf29553ca4c5bebd31e2213fd14d213f8c0a233c94a284bd37da0d3f34450b3f1bb1283cb9c25abdc08df13e34d7ea3e6a68b73bcf39f9bce779b13e93dbaa3eb091e33bb1911bbd7104883ebba37f3ef267c23b76f90bbd7ed9223e6a16133e7992a43b04740dbd6d6a843d11a3543d9743483bef89ecbc7f0320bcfbf696bc4fbcaebd30b0e73b0000000000000000148ec1bdf6ce4b3c00000000000000006ccb91bdc7eedf3b0000000000000000e18c80bd6a129f3b00000000000000002b8d22bd7257413b0000000000000000e61c45bd2f7a3f3b000000000000000067d929bdb914313b0000000000000000c1a925bd0530ce3b00000000000000007d82ebbce58e4a3b00000000000000005841eb392310463b4024183b2d50373beec6973a9f77b03bab3c0b3cbcde403c998b2d3ab04c013c1c933f3ce3a16b3c7e9ea13a8bc7e43b082f363c27bd6c3ced82b33a1f6bda3b4aa52f3c9187473cf862383aff5c9e3b2dcefb3b8468283c95fad3b8b1ba1f3b3b66d73b5202093c1303af37d95b2f3af0e7043b5433873becf77aba968b14baa6b77eb838f6073bc20f9f3ba3947ab931c2853be6e093bc52a2d93b5c3d873a2a41813bea11c3bcafe7363c3740ee39c9d5643a1f44c3bc37b90c3cc247b83a57d15638399baebc2d42f53b1934fd3a9726a7b986eaa7bc03a4bf3bb91b053a4d335439706244bc4463343b54e88dba42cede3a996e00bc5913b439e60dc6bad236473bbecf53ba82f7caba746cd9ba3c9d223b4aa9653b005269bc1670fbbc899fd2bc9c98cd3b53c846bd98199dbd3e1405bdba63053cc7f281bd5aabc4bd83df06bde46c963bdbb282bd019eb9bdc074ecbca30f233b32e86ebdc6509fbdf6cfcfbca740c53ab1d33bbd944880bd906678bcce476d3b4afa02bdacd32fbd6a96bdbb1947953b3c8157bc5daaaebce3dc3d3bdcb2803b796a0d3ad15f3fbb3c7be33b9dfc8f3b20ef603bc00685bdd4eee53ec4bb553fb880283c498993bd394be33e5cc5533f796e013ce17159bd05e3cc3e4694393fa94de93b59aa29bd2c9bad3e01c5163f15f3f43b37ff12bdcb328b3e1c7ce63e5525ce3b274204bd840b493e69d6a03e13dfe23b6f5504bd73f2f73d6b9b3c3eb9b3d93b71abf9bcd305423d45e9873d0af8743be1d5c0bc15b8fdbb0babb3bcba0dd4bd07be193c00000000000000003eb1fabd56e7783c0000000000000000f96ac5bd9752313c0000000000000000621a97bd03f1013c0000000000000000b0e872bd91d9953b00000000000000008b435dbd07a7863b0000000000000000789c53bd9160ab3b0000000000000000000c34bd2afb0e3c0000000000000000c3b906bd1459903b0000000000000000cefb04ba00ac023bed04533b5e2dc53b3f36c0ba0f38993b29a8163c6e80533cad2e0b3a0a12bb3b8966223c3a17643c5712183a52e4e03b9a9c403c9381803cc28add3a2f96d33b102ee63bc8311f3c506508b91d678f3b33be073ca953523c5d77bdb8a8482f3ba61da23b32bc0e3c0983d2bab5abdc3acebf023b6d0ea63bda192cbac797abba471eb2ba316f163bab0ea73bdd6caabadb8c903bbd4454bcdb334a3c79ad4ebbc8a99f3b17c27bbcee6c3d3cd15b10baab22873950a289bc9ae22e3c2549a83a94ebc9b9719989bcce0b203c9b9af139108b16bb2c6463bc08e5cd3b46d4b4b9a326af39cb6714bc9f72273b4293d1b95e23573ab855a7bbab70b13959d02abbffa00b3b3833ce378b058cbaba81fbbae518423b99c75e3bc7ad53bcf32834bda16ecebc91f3113c6f0a24bdee15ccbd142506bd564d2f3c45a74bbdcb60cebd055d0fbde512623b230967bd733ad9bd7d0f0cbd565a563bf9b333bd89d6b3bd2496c7bc712b3b3b92fa22bd8c4894bd846e92bc55f65c3b8719cebc2ecc42bd95aa10bca5906e3bf01617bcb988cebc96d1983bc7d47b3bb8c5533b23e3f7ba76f2fe3b7042513bc39d523b154333bd35e1833efd89833fa97dac3b13903bbd19a97f3e3c91823f2979aa3b03dfe5bc94da763e23c9563fa6ddc63bf515d6bca84f573e8c0a373f46cf743b1df495bc71c72f3ef006083f4c5da23bd5a6cbbcb88c013e50eabf3e83bc9a3bc242adbc0ea49e3d82e7603ee828cd3b56e7bdbcc9d5e63c7b4a913dafb4673bf63f88bc69f229bc4f8506bdb65100be1525623c000000000000000074cf10be7ecd973c00000000000000009ce2adbd5e20383c0000000000000000f956a2bd89f8133c000000000000000049fc60bd31a9ff3a0000000000000000b40a60bd73f0be3b0000000000000000ffd333bd57f4823b00000000000000009a1f2fbd06831b3c00000000000000008ac3fbbc2c6bee3b0000000000000000dda9b5baf28d363a9a14853b3853eb3b39cf56bb55d8433b4a64353c72b7b43c21a2ddba25ffac3b51f0603ceff1a63c3c1ac3b89198ad3bc36a513c5bda943c8e3ce0b93f0ca03bcab42a3c89a07e3c1d5519ba9d6f913b882dff3b7890603ccb4a83ba5ade3c3bc944be3bd0a1253c837316bb430bc7395c01fa3955f5f13b5fefebb985942cb9f8507bbab6d8a53a5a58cb3b6cfc35bbe6eb873b3856b1bb024b533c7929e1bb6fe2b93be394e0bba4c1673cd79500bbadb7783abc961fbc07c25b3cf840073a405449ba81a22cbcb731213ce0d3923affdf48bae5341dbc30d7fc3bf9969db9c5a9a1ba54aabebbf6ea6c3bd37adaba7dbaa83a580315bb72c103ba61fa2cbb10d6a93a7dac213bbca35fbbf08791ba10132c3911444e3bac7b74bc24378ebdb8a5bdbc06be113c726d07bde91b07be674fdebc03e65b3c591c3ebd987f0dbe521b18bdf7ceda3b7c4d46bd9092febd2a1c1cbd17b1173b59b62bbd12becdbd62c3febc565d863ab1ba06bd17faaabd7248acbc989b383bfeaea4bcf3b569bd6322e2bbbc7f773b4d399abbc937d9bc51d8b73b822ec33aed4fa23bfbd5bcba9388373c178d283b1d3075ba874a94bc44139c3d153d9d3f747bc7b9f2f791bc4ae58c3d53b3963f85039f3a04fe24bc79d8b73d6416813fc984153b392ff6bb2bb7bc3def924f3fdee61d3baeae00bcb144a63dd2ea1a3fecb09b3b4d743fbcddbd7a3d60c0d73ecd3f6a3b611b69bcc3310d3d429e703ea0f9a73b440234bc95e30f3c3375883dd0b0b43ba09e60bc8ba56dbce0335fbd4a3a04be8b707e3c000000000000000070090abed787923c0000000000000000c6b5b7bd3c252d3c0000000000000000e4f378bd067be33b0000000000000000055f2fbdfb119c3b0000000000000000afde25bdb341173b000000000000000079cf1abd0403723b00000000000000003dec00bddc062b3c00000000000000000f0d04bda00dd83b000000000000000000000000000000000000000000000000c748e1ba1552723bda4a0e3c5e637e3c9415bc38c270733b20c52a3c3edb893cd8b9d63915bfab3b1d88163c9a374f3c363aad392391903bdae8eb3b9ee52a3cf2b688ba3e05963baab6a63b59c71c3c0373ddba3a25d93ae9be833b4aed173c2b7384ba411da43addaedb3a43e6c43b0000000000000000000000000000000000000000000000000000000000000000c5ce3a3c67fe08bb71f2003a459012bbb6eb3a3c6c5226ba6274b3ba945ba4bb0d52183c922b053bb7df47bb5696fabb1207003c8f6b193b89190fbbebc7dabbbcf7bb3b0021e13a6f012f3a89f38bbb81124d3bcd1ceeb99a8a093a846daab9e22f0f3a8909c3ba3497423a4c57ac3a000000000000000000000000000000000000000000000000000000000000000085d304bde46600be163e06bd56b1743bfc811bbd9c5af6bde0d821bd40ad3c3ba59a1ebd7ebedcbd1f610ebd64848bbbb6e708bd69b2b9bdbe5e01bdb70e67bbf9aad1bc748393bd412cb8bcfcdc12bbf35683bc1fab56bda5933cbc884fe33ad8ce5cbbc9afeabc4f02e73ac622943a000000000000000000000000000000000000000000000000000000000000803f2afe0cbb9d19493c12304abd35bf9d3f8c11e9b99f65203c59938bbc8dfa823f8a1a333b4fbc113c9d80a03bf406533f373d1f3b4ac5b63b04622e3c0ddf203f39e8e43a98a62d39ccbbd73b119ddf3e39e6a33a4f7fb3ba65f6813a4d62803e18f7173b8841afbb08594ebc0450983d000000000000000000000000000000000000000000000000000000000000000094b08abd25aa3d3c0000000000000000876411bd0863083c000000000000000072ef97bc6db5b33b00000000000000001df53bbc522b153b0000000000000000170d5fbcee839b3a00000000000000007e7875bcfed756ba00000000000000006497c0bc936ea43a00000000000000000000000000000000000000000000000000000000000000000000000000000000af446e3bd858073c38bb413ca1982a3c65dfbd3b48ba0b3c9f2d4a3c03df3b3cb395993b85ff0a3c511a343c834b283c78a9703b4d0c0c3ce82c3f3cdb28063caf89823bab86c03bba390e3ca38bdd3b940af03abc348b3bb5e3eb3b724c903b1ececd393499063b8782b13ba10caa3a0000000000000000000000000000000000000000000000000000000000000000e4e52f3b7a963fbbbc701fbc1f2f16bd77e6853b8fdd50bb333a5cbc01e329bdb893963b59ea9ebab62b8bbc90f32cbd8dd2593b6b39d4b9c7f98abc52db12bdb20c5d3b9f2cc3ba56bf44bc2832fabcd2391f3aa9c3bbbad8ddb5bb29e19ebc3d63b2b9dfbde2ba83f4843af8b5f4bb0000000000000000000000000000000000000000000000000000000000000000afa6c8bd30c635bd053124bb6be2523b548ac9bdd65532bd553a8fbb4725143b3badb7bdacbd31bd1205d8bbde37d23816759dbd3c6a1dbd9457debb8a883a3a1ae280bd1964d8bc0a357fbb09b2ff3a94083abdc35b6bbc39b9a93a6147f83a38bcd6bcbf4114bb3af5763b2219713b0000000000000000000000000000000000000000000000000000803f000000001780783cbbcee0bc714e953fda48acbc745c873cef8f483a776d783f3822c0bbf67faa3c72228e3cb0ae493ff7b69d3ae504863c173ba13c1ae81a3fe08eb0b96e06393c3aa85e3c79ecdb3ee2d114bc1d5ebb3baab7483b41c5833e7719a4bce27f60ba9dae4abcf45cbb3d7e7c03bd0000000000000000000000000000000000000000000000000000000000000000a20f903b053532bb000000000000000054f0153bab396fbb0000000000000000fefb0739b14383bb0000000000000000b1014ebb458ed2bb00000000000000005a4efdbb0c61b9bb000000000000000073f3ebbb3a0b66bb000000000000000049a702bc75e225bb000000000000000000000000000000000000000000000000bf8be63a2ca3773b8b52913b5d7b8d3b1ccb3b3b933c213c330c633c2d0c443c13c4b53b4360443c910e853c32b1593c9bf0cc3be6903d3cb03b803c58fb593c2cabc53bbe48ff3b0a975f3cc6e7283c4f94963bb1f0d53bdec0513c0b87ed3b8aef163b5876a23b331f1d3cb72a953bf06b72baf2abac3a581eb03b84dba33af1943b3a7d4844bbe222da3a970ebfba69b1893a259306bbb1ed5b396d39cbbc2a7ec03a67acc9bb59190cbb138d16bdacdf473b21dd79bb19bf4ebc700f38bdc5e5843bf74a6cbb2d1680bc1f933abd75e7803b160cfaba1b9673bc51071cbd27342e3b25433bbbff6c21bc4a8efabc6192c6b98db034bbe86f30bbde16a0bc46a990ba7c98fcba779a823b17966ebb9295c5ba4a2e06ba3cbba03bb7bfa13bb33248bdb5ebedbc16a270bb63ddb23bfe7dc8bd28f03abdbb436db9ffde253cde59ddbdb2b55ebdd03ad0bb04b7c33b9f24d0bdaeeb58bd2e65ffbb96e8943b7c7dabbde2ed36bdbb35f5bbeddb2c3b6e4d8fbd1e8207bdf8e902bba270ab3b54524ebdd6cd95bc9135103b641bf03bbb50cdbc9c794cbb1420803b7643603b987570bb463e063ce2f3963b16634a3b89f7063c5242aabdec87943f2f7bd93d4dcc683c36e2a1bd3a8b8d3ff211be3d86f29f3c407e0fbd7eb4713fa3b3c73d4c18973c70c528bc5fe3433f5e7cb33d87c8833cf7be9b398c6c133f08808b3df29d3e3c224a95bb76ddd23ea881193d4137ac3bc09b41bcc5367a3e2bcf2e3cc60e343b7afeb2bc7d14b43d912066bcbd3c63bb2ff1cfbc396c14bd4afc03bda82275bca244b6ba0000000000000000fdee9ebce8fca5bb00000000000000003b5960bcb709aabb0000000000000000dc5f4ebcee2be3bb0000000000000000b46d53bcb07ec8bb000000000000000065b18fbc09bfcabb000000000000000002f88fbccebdb7bb0000000000000000dbd737bc9a06fb3a0000000000000000e7dc22bc7b5cba3a0000000000000000813bb13aef386f3b9c4d703b8909503bf46c803b944d0c3cdfcd273c13e41b3ca599883be262083c07b2223c7c9e273c2b62af3bd316233c74985d3cd7f4493c98b88e3bbf45023c6e9b1e3c2353223c93947c3b9cbfe23b205b1d3c13020d3c9d2c133bc7499d3b28da083c6d39aa3b955a4a3971738e393289873bd4e0f33a8df086bae0446238cefd6b3a1b3277babbc4ce3a19759dbae3f9a83a9650bcbc96327e3b4eab47bb40c685bbdaef1dbde59db13b47fe3bbab6a62abcacec1cbd9759bc3b766aeeba56ac62bc17e52abd9b8e7a3bb11ca9b93ed855bc9cf10cbd9a59433bff2625bb6e1a0fbc78c2e2bca8b9153b07b9c3ba2358f4bb31a392bc167d2dbaa3fcccbaca291a3b443339bb8eef28ba6c1bbcbaa2929a3b7f5e833b45f3ebbc8a77cbbc95b628bca2a3ba3bf4c696bd216351bdb1655bbc1ffc033c0f8f9dbd7ec25ebdd1f77cbc48bfcab94276b4bd3d4076bd0b576bbc8a93793b86498fbdaccc44bd17554dbcb9ffc13afe6d7ebd5e8820bd4a88bebb044dc03bd44a33bd7d33b3bcd77e6cbbe262333bba9fb0bc06b818bc01686c3b8a2bb83bbb1523bb9ba05b3b9b2e763b596a913bc8c9db3b8f2eaebd43187a3fb44d8b3ea443773cb58bacbd0ddd753f3ec9833ece86873c194011bd6baf493f8ec76f3e10179a3c2038ccbcd2d72d3f7cb1483ee24a813c96261bbc2caa023f89b1183e883a3a3ce21383bcfad5be3eec4bcd3d1f8e0a3c2bd989bcc2f3693ee49c5f3dfbd58e3bab84f3bc1110b83d2a42de3b5839d6ba2da4d0bc7ce891bc2f9bc7bcb24508bdf4d553b90000000000000000c05419bdd90bf2ba000000000000000026aec6bc4c6d4bb9000000000000000056eed1bcba929fbb0000000000000000d486b2bcf625b5bb000000000000000081cfe4bc0be3d1bb00000000000000004ef4d2bcbd6ea1bb0000000000000000b22bc8bc6abebc390000000000000000e2827cbc1143093b00000000000000002097e33a897d793b55cbe33ad18a043b7e598d3b9e10c53bc41f1a3cb1df093cdac8af3bbc2a133c2cb3493c4aed493c2808b53b75a8fb3b8f82583c945c363c5309a23be72b033c96a4313cabc72d3c3942673b4499c53bacf4203c76820b3c70b60f3b12bc643b4e1be83b437ba33b33a0093ab769353abb3ba33bb3944b3b473d3cba1290f2bab98bc83a0ca079b928cf2c3b89908eb8877127ba41e1bcbc0684c23b5adbd5ba20cd96bb4ea114bdc073e03b45fdbaba6d0d32bca57324bdfadce03b0ad893badb2649bcfdd518bd5674c23b1a23d237e96b62bcf4700ebd2967693b938680ba75f60fbc364ed1bcd861183ba067e0ba3f5b51bbe65e73bcbf26acb9262125bbdebc413ad5429cbbe5b49cba962f95ba6b5f903bb474653b351099bce80bcabc557691bc7be87a3beb056ebd112561bdb61dbabc4298d03b57289dbd05a387bde4a7c4bc60948a3b0b189abdba3c84bd9d48afbc2faded3a748788bdaf196abd1cfb91bc1a7acf3a883962bdd97a34bd947b31bcafe5a13b1c5c20bd2a54f3bc719621bbdcddc83b1c66a2bcf52b52bcf7e71e3b2b5eef3b0e75e9ba9115ab3a5872ab3b39c4b53b044cad3bc8ed8ebd8c634c3f027ae43e2e27773c9cfe96bd30df493f49cadb3e7ef7913c76cd2fbd50e2303fd58ac13e59b9893c54c3cdbc89c6113feca19f3e6f097e3cc6e778bca605e33e5e79773ef0f7493c94e388bc8d74a33e570a2a3eadd9d13b15edb7bcb2bf4a3e610bbf3d7e56703b4f2ee6bc5737a83d41e6d83c9eab22bb02cbd2bc76af15bcd242b8bc241134bd7e9f013b0000000000000000424b5dbd7dfff93a0000000000000000a6082ebdb6a59aba00000000000000009d0517bdd160e7ba0000000000000000763307bd6d0da7bb0000000000000000904515bd172ad2bb0000000000000000ecce15bd5225afbb00000000000000005af20bbdceb4a2b900000000000000004caac2bcc402efb90000000000000000444a0f3b17e5123bac8cf03a387d263b8074633b79a4ef3b2e7cf63bc7fe023cc2cf823b4f25f73bc9a71e3c96982f3cac009b3bf7140d3c38423e3c2fdb523caf8d5e3bb8a4a33bac00ca3b1804f63bed70403bb861cc3b17d60c3c820d1c3c6fc8093b9489693b591bba3b0fbbc73bacd6db394543953a8274433b9adf663b370ba6b99c6c19baef27783a8bb7a139fdef7d3bdf0abd39c33e323a3c10bfbce436d83bad8812ba3c18aabb83d009bdabf8f23bcb46a5b886a720bc94e10ebd081ded3b9707333aa9235ebc995e12bd54cba83b820ceb3a4b9838bce62fd4bc4446a03bc2ff15ba30460cbc1f29c2bc9af9103b7c5bcabadd5b86bb1a6a69bcd9030c391eb815bb7d2cc23af4ea85bbdd5aa8bab99db9ba4939673b0bfa343baf0d55bc0358e1bc8c0dc2bcd4a9553bd31742bd23726ebd9f1af3bc17c0aa3b215f7abde9898dbd5750ecbc4c32ca3afd4288bd6b0393bdc0dee7bc4565aa3a511648bdb3d254bd8dacb1bc8f2625bb998c4cbd67c24ebdba966cbcaf66813b47cb07bdc43e04bd27f9b8bb6f2fc23be1408abce3dd83bc98ad013b57f1fb3b76a59ebade804cba01b2ab3b3d41f03b3ddc843b72ee66bdf4a31f3fd2ae1f3feaea483c0bb964bdb4681c3f6e96193fc9b6803c4e2feabccf99083fc774043f15f18e3cf8f690bc3348e93e0acfdc3e4563693c63df84bb19aaad3e1c43a23ebe353e3c18bd77bc293e863ec0ab6e3e48bade3bc63f9bbc5122253ef1080a3ed7e1453b210edbbcd040913dc24e433d0da43ebbae56cabc0054bbbbce64aebc5af865bd9f50313b000000000000000002cd88bd693e473b0000000000000000c0e545bd4f80943a000000000000000013d337bded9a4cbb0000000000000000333befbcf6f880bb0000000000000000b17a31bddad9d7bb0000000000000000dcac27bd3184b5bb0000000000000000b6d325bd44c1bbba0000000000000000eed6f5bc719872ba0000000000000000082b413a32e3463bf360283ba33bbd3a5311423b91f3d93b89e7c53b3bb43b3cfba05b3b50b40e3c3d622f3c90264d3c4fe86a3b1801073ca45c313ceff34a3cdaf85c3b118fee3b98731f3c73de373c56e86d3b3cabb53bdc57003cde701f3caae7403a47468f3b38d1b93b8bd0f53b995f85b6c30a7b3a732c423b652a723bd22652ba5e9811baa01ea739f63fa53a34933d3b0dc23d3a3b9171b948919abc92d7ff3bdb83aeba6b5d81bb078bf8bc5f32113cc56f2cba63e3ecbb3b0005bd309c143c938053ba427b27bca28901bd3476ec3bf5d47e3ac43b36bc9773ddbcd706933b9a7167bada7e08bc6ed1a5bc25952a3bc9a3dfba91a359bb06f841bce43329397f5f07bb61d6cd3a0db72abb6dca41ba4d7aeeba3912633b5e0d253b12a145bc4d54e4bcfcf6d3bc89bd903b65932ebd9fe08bbd0c531cbdfd291a3cbd6374bd6b28a7bd6de70ebda154813b141877bd46e9a4bde362fabcda1f323b333a5cbd9f0f8ebdee21d8bc0620543a4f1536bd4cae63bd5a8d84bc0960943b0c5c01bd517e20bdd85ae0bbd233eb3b658f76bc90359cbc46721b3bb4aef03b2d6b73b9680617bbe5c2b23b77cbd03b6e62103b174633bd985fe53e0c354c3f3387343c72e02ebdfe8ae23eb5cd473faa364c3cce43b8bc5bd3cc3e32cf2c3fe2b56c3cbbea44bc7638ae3e3bd80c3f44065d3c5111e0bbec4c8b3e71bed63ed26e1c3c60e43fbc0bcc4c3ee99d973eb2e5e43b4e0499bc0837003e59c1333e701f603ba578d5bc8f8b5e3dc813843d2dcc8eba1426b5bc4d2ab1bb5a47a8bc128190bd2771a43b0000000000000000c9adadbd1bc89a3b000000000000000060ca89bd806a103b00000000000000009d4e59bdf8f1cdba0000000000000000c81d3abdc08998bb00000000000000005db141bd12f4adbb0000000000000000304549bdaa768ebb0000000000000000dc803ebd9f50663a0000000000000000b9eb08bdfaa01b3a0000000000000000254bc639bd9d153b98bd1e3b7d4e753b7edfd93a655ad33b2815083cb4e7253c71851a3bf8dbaa3b76052b3c16c1323c43874b3bed96043cf720373ca546643cc8c41a3bf433c33b402e073cba9c273c9707dc3aac86ba3bbf07013cbce8323ce5924b3ad3895f3b3eaaa83b89b3f73be11c3eba41851c3bcd1fb53a3e4fac3bba7dfab9a267e7ba3ac438b9743ec13ad0b58c3bb3c562ba64145a3b9e8971bc725f153c535b41bb1d24a5ba8ec6ccbce800193c218552395279e0bb7295cbbc7b851b3c7b8c30b9875b1fbc4113ddbc3bc9f93b664a0c3a747b11bcb73bb5bccb91a33b0d8360ba760ecdbb2a638fbcc2a98b3b5ff0c4ba60ca2ebb976d3bbc3b584abaea4415bbc41ca43a53de39bb1f1fb7ba2b72d7ba2f78723bc6bc6c3bf7054fbc146813bd8e5fddbcad070c3cf52525bd0bcea3bd18e016bd8ecc293cdc3b45bd4549a7bde1721ebda9ba853a9ae762bd2f50babdc0ae13bd10612d3bcf493bbda99b92bd28cce7bc145cf0b8554326bd1d6c80bde9829cbc346db63b8468e1bc846f28bd731f37bc3115853b8a1f3ebc466db1bcc363c63a4642023c5742183bb99b12bbc075e73b9ac1be3b08096bba8e3004bd81928c3efec6793fbbb6d53b4551ebbcffa18a3e88f9733f7aa83d3c5576d0bbd49d823e6d3f473fa662463c15c928bb2cfb673e3a452a3f033b463c92e7a43a2f45393e4adefc3e41ef213c9413d4bb963c0c3e93b6b53e2651f03b6c5825bc8f55af3de97e5a3e6601923ba078a1bc7735083d25c39c3d5321f0396bb19fbcc40f10bc147fdcbc0366b3bda25b9a3b0000000000000000507ec6bd6187cf3b00000000000000007cc75dbddb61333b0000000000000000b5cf5fbd9827bdba0000000000000000190b26bddbbd56bb0000000000000000407f45bd2d19c2bb00000000000000007db32bbd0e7d8abb0000000000000000738b3fbd49762d3b00000000000000003db70dbdc5406c3b0000000000000000b26cb039ec0cfa3a7d2e453b057c8b3b4447bab9f514bb3b47df1f3c00be783cef9ad73af0a7033c2dbd2f3c26298b3cb6bf063b9219053ce56b323c8a2a823c4958f33ac69de13b49581a3c027e523c3e4fa93a7370cb3b18b6083c0a033e3cebf3bdb9ace2743b7ceec13b34020c3c83f3c1bae6b4aa3a39ffe83ab1a9a33b511ab8ba78a705bad56f8aba0a4bf03aff62d93bef0c1bbb18ab173b5a8a23bc93e8183c4ffe9cbb22102c3a0b4983bc8a8e3d3cbc8722bbbd5dc5bbf981b1bcbe43333ceb3f20ba526613bc5fd0b5bc4bf2003c26680a3a3b6612bc06f3a1bce289ca3b8006afbaa62bb1bbea896dbc6c777e3b8ba738bbd7b208bb9f3ed4bb70a580b909b03abbbbf4063b06f683392bbed3baea1aedba8f146e3bee8c8c3ba39681bca35d5fbd2f5df9bc8270033ce5c01cbd55feccbdf0a812bd1682633cf2734bbd86b9debdb55c2dbda0dec93b884950bdeb48d0bd2a6c23bdd657033b390536bde23cabbd0f7b01bdbb51403ae82e16bd8c428fbd7e8baebc6e4d853bedd2cebcb30947bd5ac323bce723e63b216c02bc27edc5bc84ed5d3b5f88e63b8d0d453bbcd14fbbb022073c560bd03b18b6c5baf90982bc3b57dd3d7384943f035e423bc1022abc54d2d73d20068d3fb8d8ef3bbe7d933b7a59fa3d25826f3f4cdb2a3c79561b3c3237f23d889d413f5ec9373c72a7213ce9efd03d42cc113f1f03103c4299853af339993d3da5cd3e90fbb43bab7dcabb4309333ded46723ee0dead3bf2b152bce90c2d3c73f6a43da7b58c3a3f2087bc5d426ebcc29321bdbe8faabd3674df3b0000000000000000b42dbebd1b50a43b0000000000000000163068bde6df2a3a00000000000000003ae729bd7f4306bb00000000000000005d9e07bd73b6cdbb0000000000000000a80a1cbd08fccebb000000000000000038c12cbdf18589bb0000000000000000f94a2bbdad4a673b00000000000000005b7c1cbda01b003b000000000000000000000000000000000000000000000000948439397e23a63b3c35e33b5ec34b3ced457e3a6f89c53be82f223ce128473c7705003b0283b83b07a30c3c5c9f373cb72a163b81fcbd3bd8b0ea3b57591b3c7283103af345863bd263b73b7e1e083cd339173a45af353b1eae8a3b872eef3b769f67b8dd8d623aae92113b2151aa3b00000000000000000000000000000000000000000000000000000000000000007f2c193c749fddba7bd1e2bab10649bcc5380e3c92a31c3a821ebcbbba6484bc1705113c24ac003b6fdf08bca4798ebc6ccc073c16fe0d3b3bdc0fbcfcfd85bcc188ef3bdaaafe398306a3bb2a0145bc96d4343be42ffb389441daba02eb00bc8194703abd19e3bae9c8a5b80aad39370000000000000000000000000000000000000000000000000000000000000000902d17bd6454c5bdfaaf24bd769b3b3bc80e25bdcad8c8bd05181ebda8f16fbaccc52abda7c1b4bd83e223bd480cb9bb2a481bbdba359bbd61010cbdf6cac5bb34e0f7bcb57081bda851c5bcc554fcba36129fbc2c5934bdf9ad5fbcd07d003ba0f115bcf467cdbc4417aaba052ba93b000000000000000000000000000000000000000000000000000000000000803f8b89293bc9c6663c533a1ebc70cb943f4117063c581c8b3cceed523c8753783f6d2e3c3ce21aac3c729ae83cc9da483fd43a3b3c8301983cfd9cef3c7e701a3fdd7d1a3c475b2f3ced75b33c0f35db3e6aadd33be675623b1caf053c2065833e0328473b07b2bebb87a7febbecf3b73d00000000000000000000000000000000000000000000000000000000000000007c6318bd02d89d3b000000000000000009849dbc8eb1fc3a0000000000000000db3ffcbb7c5ec1380000000000000000038106bcc4fe22bb0000000000000000822883bc71e8cfbb0000000000000000faf4b4bc8ac3cbbb0000000000000000dfa404bdd06994bb0000000000000000000000000000000000000000000000000000000000000000000000000000000063c59a3ba6e4723bb983b63bd3d4c93b2c179d3b99efa13b6febfb3b0eb8213c7def893b081ca33ba5a3f33b6ac2093ccc58613b8751883bf2ecd13b1394e53bdb4e503b1d19963b2db7d73b81f8cc3b56a9923b6ab3b23b1c4bae3b158c343b617b0c3bc1cc1a3b8c2d773b8b571b3b00000000000000000000000000000000000000000000000000000000000000005331a73be0591bbac9eca6bc5b2606bd982a3f3bd219db381668c6bca20712bd9446ae3bbeda753af005d3bc72d315bdd531a33b26c2033a5804bfbcb25202bd2c07883bfd0581b97f38abbcceecedbc7e99053b90af4fbadbe582bc138ab3bc1e37e9393384feba68e3e0bb43c354bc0000000000000000000000000000000000000000000000000000000000000000202151bd1ffe13bddd7176bc439cb8bba5ec5bbd2c2d13bd73af80bcd20ce2bb8ddf55bd7e7513bd2e1891bcd6f90fbc024533bd53e8f1bc6dc07abc22b9fdbba6b21fbdde65c9bcfbd530bcabaf81bb7e59e7bc0e0185bc7e1a9abb20befb38cc7185bc6c4be1bb035ddb3a53498b3b0000000000000000000000000000000000000000000000000000803f000000009ab7c93c330f933cac99823fb354823ce999fa3cec03e83c05a05c3fd2cc843cf4ba0d3d4073093dc4c9353f3bd6713cb7ccf63cdd51ef3c06cd0d3fcf49073c3388c43c38cfbb3c7845cf3eeff293ba4729833c1c453d3c687d833efe2745bc9fba373bfea827bb1809e13da6f3c6bc0000000000000000000000000000000000000000000000000000000000000000801b433c6de3113b00000000000000000ddae73b1b28f2ba0000000000000000a63f683bb8d491bb0000000000000000d9bae8baf65503bc0000000000000000300b05bc5b1334bc000000000000000008ed51bc168445bc000000000000000014258ebc967d3ebc00000000000000000000000000000000000000000000000063aa343b5690b33a3bbe273bb102123b4928e73b4856db3bdc7f093cfa1bef3b388ec83bc2990d3c28b8163c30f81d3c1fcecc3b0b9efb3b7bf4293c60ad123cfecb933bd61ac13b180a0a3c5be2073c9ae4b33b8c04ad3b6342123cede9ee3bfb35813b3b63ac3ba66ade3b53fea33b82de203ba988123b4c36503baeb5783a37d4753af734103a34a36a3a96ef48ba24ce2f3b4a8ebab9964422bca88faabc20979a3b46ff16bba31ab0bc766213bd57f3d23b4965fcba6e59e5bcd25022bd6e5cb53bb83999bab79eecbccd9726bde2dbbb3bb3a209b70cb3dbbcc96813bd701f6b3b2c0cfabae430bebc193d02bda397da3a64bdecbae4998bbc8279bebc717d9fbaa19ed9ba0eb603bc9e952abc6ca59dba01273fbae8a142b8c5e8b6ba7775d6bc9f09cbbc528834bc19cf24bb1ba153bd1e0021bd42347ebc02d530bbd92a76bd7a2833bd06c19fbccb26d8bbc47b6abde36127bd546e98bc6ad0e7bbfc4747bd67d00cbd626b88bc059ee6bb09342ebd4cb1e7bc684b28bc42e209bbf6ccfbbc93df97bc624b81bb4bb9f13a5f5967bc649cbabba995873b227ddc3bbcbdd9baacaaa93aae0cac3bcbacba3b7cd21c3c426e2cbcfbc1813fa6f10e3e1665b63cb601f13af129703ff663053edb93043d70a7ad3ccc044d3fb080f13db2a6103d45e2e43cc894273f9292c93dd8f5083dad28e73c5e7a013ff3dc963d01f2d63ccf0a963c0f9bbe3ec5393e3d28c9823c06dedc3b6e1b6f3ec3d58e3c56db743b7038ffbbfe5dcd3d53f023bc7d99e5bba20b86bc561192bc5acbc7bcc749ae3b1e1d6d3b00000000000000006b723c3b6dc6b0ba0000000000000000fff9293b8fb07ebb00000000000000004a7393bad6b5ebbb000000000000000078f0bfbb44ec20bc0000000000000000f53d58bc9b5f61bc0000000000000000853e97bc623172bc0000000000000000bf53a7bc19b24ebc0000000000000000c0b282bc3b380abc0000000000000000fde63f3b123c973ae2a34d3bebc30e3b1de0be3b99f7903bf25b093ce9f7c53b8c00553b60c36d3b37fdf33b3c5cc03b21e4c23b4568ee3bfacb1b3c792f203c68a7453b5990893b57f9e13be903e53bf004943b4f4bb53bf4f51b3c4ce4013c81c04b3bf1407d3bd98a843bdfea623b8635073b0b7b293bda7a6b3b986fd93a588585b80059383a562f243a0541b5b98e3bfe3af7c5adb9401d08bc222890bc80f4a63b5c68edb962919bbc1c4f0dbd162f3e3b4f57ca3afb17a8bc059d09bde50dea3b06191cbab83feabc344c21bddddea03b0122c8382c15bfbc9b3901bd6faa873b5ad0bfba8f91bfbcc41efcbc1c41563bcec60539ec2d69bcee679dbc08fd5db8c5f2a1ba61dffabb9ae02fbc5eacb5ba73528cbaec11a0386f6802ba41fd87bc2dd1a4bc5c454abc2e9622bba34c2abd15eb26bd60b9a8bc0a9fdbbbcc3b32bd75a815bdbc58a3bc48c9febbe4655bbdff9f35bd19cfb9bc83551dbc61712abdec6f0bbdeff58ebc8e03f4bbcd7e24bd7dbd00bd839d61bcc2611dbb50c6d0bcf166a0bc6e230ebcc44721bbc45266bc773c10bc2207743a6686a13b9c6e3fba19cf263a4becb23b66d3c03b46d2e03bc8ed8bbcaef65c3f5e658d3ec111b43cdfe45ebb8325503ffcc1853eca32dd3ce3566d3c36ac2c3fccee633e428e0f3d08eccc3c8a29143fa958413e241bfa3c436bb43c415be23e6eee123e8a0ada3c04a8853c2913a93e3b4ccc3d32f3783cdc0ca63b98dc563e7e946d3d3ccd5e3b37db14bccb95bb3db1c3373c1a3dbcbb00fa71bc506e23bc76179cbc4f3659bb86cb1d3b0000000000000000c23bccbac284a33a0000000000000000102638bade8b84ba000000000000000050daa6bb7f79e2bb00000000000000003d61f4bb1cce0dbc000000000000000017058cbc2d8b71bc000000000000000080ee8cbc474a40bc0000000000000000d557c0bc729150bc000000000000000040fb87bc49c7f9bb0000000000000000d449f43ae6d2913acbb80b3b8da0b13a8eea5f3b92dda13b2ffcc83b113ce13b0648aa3b2ee9d63b74290b3cb3a3103cc84ba13b6ee1e13b1479183cc5d9173c105e893b0d06b23b91d1033ceffe0b3c6377483b6e6ac93bb180043cdd53ef3bf5a36a3b6ea9a33beec9da3b8b7ac33bb93ff33aa649293b755c553bcfb7f53ae3227f3a2334163a01676c3ad7d572b97ba0f03ac837803a3baeecbb69c784bcf9b5b83b37f0b5b98aa187bc21d3fbbc248ad43b538b313950e7c8bc3b5a14bdd9f8d43bf9f0a9b952d5dbbc6ba915bd1475c93b5cea0f3a4646cabc5d6d05bd00a0923b662d73bae45eb2bc1f00e3bc39a4743b6c1b0cbbd58d8cbcd8cfadbcc4e42c392a1ba5baf20208bccf1f24bcfd2828ba3d1d36ba8fbfcdba3d2ababaa21956bc606b9bbc72f484bc78c28fbb331f10bd00c41bbd7eb8d1bc5eea07bccb8d41bd00f33cbd6040e1bc4bd72cbc154d45bd409c38bd5746d1bc456929bcec5b2dbdeb551fbd3de6b6bc5ca22bbca8721abd98e305bd5e7381bc76ee8dbb3fd9dbbc70e0b5bc308720bc122a63ba29a64dbc6fc420bce3d87bb90579993b820572ba7ae6c6b9cc42593b5628a23bb1e7043c94d345bca60a373fec8dd73efc2cac3c9d9292bafa5f2c3f7595c93ea8f3003d78dc873caf35163ff04aaf3ef436083d3a96bd3c538ef93e489d903eb2fa033d7f5ebc3c22ccc23eafa25f3eed85d83c4177803cf85b903eae571f3eb54b8d3c1750a83b1ef1383ee435bc3dba25843b75410ebcdf31a73d886fff3c2bfa86bb2a2051bce3a4b1bbda8f8dbcc282d2bbc2d1883b00000000000000005a1ae9bbb265263b000000000000000043d593bbd70770ba00000000000000002bf8f6bbe9d7c2bb0000000000000000e41b2abc90af16bc0000000000000000398098bc530e5abc0000000000000000734ac8bc027480bc0000000000000000ad5fddbcca8764bc00000000000000004a2d98bcc06420bc0000000000000000513bc53a9ce6a23aaf85b93a12f1293b69c73b3b1bb4aa3b72139c3b940cca3b1da7693bac3d8d3b3d6fea3bd30bee3ba1d7963b7468ca3bc614053c44df173cfccfa93ad0e0113b6fd8c43b54c9af3b2a2ea83b1abfa23ba9eaec3b083bfa3b41db023b3d6b783be1b7b63b1fb3803b7f99f33a37f92b3bb9175b3b70532d3b015879ba713d953af4ccbb3a8fff403af49e063b57a42d3adfaeccbb96bd67bccb40c63b8eb8933a325281bcd423ecbc82c9d33b1818a33977fcabbceb2bfbbc4495eb3b91f07b3a95dbcfbcb0d50bbdff8ca03b3bddde3a32a7a1bce519d3bc2ea7ad3b43e9ceb9b905b4bc6f5be0bc2a3b163bd5f83c3a52db77bc1af893bc9275663a4abd96ba62db08bc03741dbcab9533ba429418ba71e73aba3281f9ba743535bc1a1193bc27519cbc08afc8bb120305bd764621bd2b0ce9bc15f220bc21c121bde3a432bdb530edbc183a34bc06eb37bdeb1741bd19abf1bc069f50bcf89809bdc2ac0ebd670cb9bcdb2920bc199710bdfc240dbd89b898bcfe37d0bb6393c2bc15edb6bc342124bca91c3fbbd5a84abca5a137bc6f6f31bbe634793b0f7898ba277864bad879183b32e1993b4932e43bb50504bc4b24113f40bd103f80b1af3cc0b9b53b2f51093fb343073fa3c8e93c3ee19b3c3bb0ed3e8217e73e7dee0b3d0cacd13cc71bca3e11c4c03ed29ae83c50a7bc3cd75c9a3e2351923e4a82da3c2c638f3cc70f6d3ee0a2573e2093893c86cbda3b9913163ed6e7043eef3d8e3b5d3bb5bb4a148a3d330f503d8aed37bb797b45bc8ce2a0bb7f4766bcb22620bc56da9e3b0000000000000000fe741dbc05a9833b00000000000000000c0cc0bbeca0ffb800000000000000004082ffbba4f887bb00000000000000008803fdbb5b71c9bb0000000000000000f1dfaabc486451bc00000000000000002ff9bdbcce6e69bc00000000000000002e3cf1bc1c2f75bc00000000000000002cb6b1bc39b415bc00000000000000003084e43ac7dc503a0a37a03a1511d63aa36b5d3bdbb79b3b4f11c43b82d4da3b8be89e3b5d70d33bd3eb043c3e15153cbafb783bd065c63b3f22033c81c92b3c39ba5b3b0a74a83ba4fbeb3b3b250e3c5a9c643b0ef4bf3ba4a8f23be65c053c3a7a6b3b479a9d3baaaec83beb30c73b81c1b73ac40a103b618b1a3ba2a6873b58e55c3a61f8613a104d7b3adf8bed39aa6e093ba14ec93a9800d0bb558d49bcda57b43b61b2503ab22e7abca07cdabce4e0e23b8b703b3a9627b8bc1a1704bd7303e23b636e273a1098c4bc277403bd598ae83bd7551c3a8e62b8bcaccbedbc9170a43bf10cfab93fdab1bc7f36d9bcc624523b969395ba865883bcb4429cbc01ab07b95d0f7dba272deebbdded04bc866beeb9d99734ba01e0ecba08a44ebad2bd25bcad8292bcdbfea2bce1cfe6bba8a3fcbcc6872abdcbc904bdf8dd1ebcb3072cbd0bb051bd162209bdf7184cbcfde12dbd6b154bbd1f4201bd539757bc72321dbda3c830bd2dacdebc31c042bce3ff0bbd44e015bdb34ba5bc7eabc5bbe0a5ccbc0658d2bcd1d748bc5d7da0ba07f23abc7b1d61bc515b35bbe2f18f3bfd7855ba747973ba41b50b3b9f349f3b94b3ea3b1d3f6abb3a55d83e5760363f77dba03cbbd5ff3b0741cf3eba592b3f1efaf33c5a88c03cfc04b83e3d4d133f519d053dfe03e23c005d9b3e6fd6f13e70a3003d12a8da3cd114773e3affba3ed4e0dc3c96fa9f3cd19b393eff50883e86a3913c20b7053c8834ec3dfa94283ea359d13b5ff8a4bbf4e0523d769d8d3d2b053abbc69136bc7b99a9bb528263bc52737abc2eec8f3b0000000000000000be6180bcdd7a863b000000000000000088e623bc035d26390000000000000000470330bccd6888bb0000000000000000858e4dbc28aa04bc00000000000000007a0abbbc815948bc00000000000000004ceae8bcafde84bc00000000000000009a6d03bd736a6fbc0000000000000000a15fcabc864a22bc00000000000000004e1fca3af472053baed9e43a8252883a38d4633b5c83b13bc706cf3bafdf203c46afdd3a999b933b283e9e3b16ccd83bab959e3bbe28e93b00de0c3cf9d6213c96d63d3b0fdd8b3b7252b13b9919073c23428f3bef64c73bbbeaff3b220c003c3e6b1a3b551c583b03508a3bb7809e3b10380a3bfc85463b677b313b0329323b06b7e3b86297173a7e2c5039780917b9b35a4d3bc557793a007199bbb40243bcdc96613bbd53cb3a9c7582bc2afcc4bcd676ce3b5850ea3afac885bc0b31cabc1557ce3bdde6a13af07ec0bc153302bd6d17d03bb28da23a6672a0bc07c4d1bc704b9b3bb38d75393ec5a5bc24eaccbc3bfe4b3bac7a0b3ae07b60bcf3a787bc9d0c213a63c092ba906709bc4b63f3bb51a81ab86fae87ba4f17993a119b4d397bed3cbc4830a7bc0f26b1bca3bc95bbd116f4bcf7fd3abd34a229bd5a4401bc4ad203bdffd83ebdaf8a0ebdb4e13dbc40542fbd2dfc58bd274a13bdf5404fbc24a50ebd7ad42fbda54ae3bc18264abc01a509bd4f4e25bdc515afbc0e6ef6bb5922bcbcb960ccbc123f5bbc0e2588bbf7273ebc3a4a5bbc521684bb57919a3bdabe2db816e4a8b9f875373b7972bb3b1320a53b4bc12bbac06c8e3e9a5b5c3f06d69d3c4c38563c33558b3e5eee4e3f2839d03c8118bf3ce17f763ed1c12a3f4c58053d8e66033d20495b3eb83c113f4e94f23cf8bce53c4b252c3ec74edd3eaabeda3ce0f3b13cfeba033eaedea23e5f37953c0974343c1acda73d4c5a4c3e2f9dc93b3f9881bbcc51053d5af6ac3d713625bbf03d27bc5746dbbb7e497cbca94999bc0d7c863b000000000000000010258cbca3e69f3b0000000000000000d21edbbb4867573b0000000000000000a1b01ebc9fad84bb0000000000000000ce6f21bc61c2cbbb000000000000000098d0adbcb9245cbc00000000000000009e16b0bc57043cbc0000000000000000f9020abd62c468bc00000000000000002a3ddabcb3bf17bc0000000000000000255bc53a18f9ed3a9eec463a8d8c503b6548873b5b84cb3b4b55e93beef8053c0546853be9a4fb3b96c1033c533d203cbfcc943b9407f63b871e0c3c0bbc323c2e8d6e3b8e26b53b014ce63be6a7153c6c82653bb0a0bf3b0da0df3b986d013c67ff613ba187a73bb5a7b13bdc30d23b16cb9f3a0b3f413b43a9383b28de393b08220c39e60e513a7c09e0394187343aa651223bc670603ab3fe90bb92d334bca3eaaf3b87268d3ace9462bc917abebcbed4023c7c1b0f3921f8aabc6760f2bca342e83bcfb19e3a44bcb8bcb37cf2bc7f2ddf3bd02a583a69ada7bc9358d9bc84e7b23bdfeade38b17c9cbc6565bdbc07db863be59093bac83a6ebc0a0289bcab8d8839421adaba682fbabbe0c7cbbbf59f32ba9faa69ba18934eb941b0b639c5f278bcd9e7e2bc8a2fd4bca173c2bb320106bd0fda58bd803815bdf6590bbc706822bd35ad75bd11d61dbd0ba45bbcedab29bdb26e70bd7a8b17bd6d116fbc83a015bd88b248bdf52000bd163358bc10e203bdc0a72bbd170ac4bc9205dfbbf5edc4bc8700fcbc32597dbc223ac1ba79ad31bcd65f65bcf3085ebb199aca3b558a6dbae10ca1ba13a51b3b27f6dd3b7d52e03b81d9e13b9395103e54c9813fe1998d3c9e2dad3cd213113ebc616f3f6e7de43cdc71063dff050f3e54854b3fdf32003de0f6103dafd5ff3da7a3263fb180f43c8c20083dc4fdd13db459003fe617d73c2757ca3c0c419d3da7f7ba3eaa419e3ce20f613caffb403dbdb0693e8abfe13b1cc195ba9b70623c1409c33de23c01bbdc4d17bc7b6935bc5b06acbc5fb361bcc6e2b83b0000000000000000f9bb66bc4c16363b0000000000000000148421bb7862f03a0000000000000000db2133bbadf427bb000000000000000058f8b5bb952fc8bb000000000000000043077dbced7749bc0000000000000000e244ccbc479f7cbc0000000000000000dac509bdd49073bc00000000000000009a55f5bc872b40bc0000000000000000000000000000000000000000000000008600283b67e8833b4c74543b5195e13b47776e3bbb7b753b7433963b6dd8e53b6292403b619b873b18179a3b793def3bc2290e3b0792593be70f8a3b1f42e43b5b02533bb427933bc15cb53bf964bc3bcbb1113bae84563bf9b2813bc060db3b3d1f153b265c393be0d9283b24294e3b00000000000000000000000000000000000000000000000000000000000000006645ac3bc8e2983ac68935bcd2f299bcf8e7e23b80934c3b826b61bcacbaabbc4ed1ea3b0420053bd21e84bc51d3c4bca08ed03b97a01c3bf4c389bcceaab4bc3455b13b0cfcc33af9a887bcf3a9a9bcb55f303a61fd683ada4f45bccf0e74bcd37cc63a553623ba81f1efbb0db606bc00000000000000000000000000000000000000000000000000000000000000009c21f3bc3e4b53bdb22415bd447435bc07c702bd88b059bd2c8b12bde89c81bcafc20fbd82fe54bdce2d0cbd1c6285bc18e000bd050936bd875bf1bcb6506fbc5b65edbc1dc220bd6e33c5bc428823bcedd7a2bc0802ddbcc25780bcfa7755bba14a53bc79d67fbcb845cdbbdba5003b000000000000000000000000000000000000000000000000000000000000803feddf8f3c53f6e03c17a1de3cc580823f96c5c03c20d1083d83da103dd7805c3f01dcf13c50b5133de65b173da87d353f7fa9e83c3334043de20d093d2a6e0d3fba75d23c6b22db3cdf32dd3c00abce3e6217903c37027d3c35f4583c4ece823e7f58103c8065743b2cbc4abaa312e13d000000000000000000000000000000000000000000000000000000000000000021c1e03b595d023c0000000000000000e7aae03bf8f20a3b000000000000000079060f3c2d66c53a0000000000000000800b5a3baa1e52bb00000000000000002580d0bbb30b1abc0000000000000000cad777bc66a844bc00000000000000009960d6bcab957dbc00000000000000000000000000000000000000000000000000000000000000000000000000000000cd9388bb4daf2c3cf476173d3ac75c3bb35c45bbfd75523c0e99103d2a41ca3b199845b9f2b2593ce188d63ce1ae1b3c73c5e13a1a47403c965ab03c705ace3ba357223b136ee33b700f8a3c87489f3bc07bee39f1dac13b90011a3c9dd3903afdc49d390544ef3af03f2c3b6d711fba0000000000000000000000000000000000000000000000000000000000000000759490bbb86f01bb4565793b55742fbc238125bb9fb4ecba0b75b2b9ec2aaabc66ea4bbac6ed99baddf676bbe80df7bc348e503a23e99bba6cb5d0bba287f5bc56bd4c3a83cdb8b916d3d4bb0bbfb8bc3da0cd3ac52ee2386bf7e0bbe5dd61bce7e3833a66a114babe4376bbcd45bbbb0000000000000000000000000000000000000000000000000000000000000000363a4fbe50f4833bcafcdd3b1991f43a5c2c44be84e4a4bb922fc13bbc566e3a49c32bbed79886bc9c0a983b77d4b539127a08be194f80bc1a59043bff413cba05e5c4bdfaef3ebc3e9c9d3af61bbfba374d5abd1e58d6bb7fe69eba1136efb9619815bcb4020bbb2217a5baa49cb03a0000000000000000000000000000000000000000000000000000803f00000000f9ee9b3cb5c6e4bdc5d2ac3f70c5f5bd7d796f3c43a070bd8d838e3fe1d5a0bdfd06613c3a55f1bcf1b0683f9ca861bd02b75f3c5c0f24bc9d1b2d3f059414bd6fa4333c740ba03a7b9be33e1b95d5bc9571203ca964343c31f3603e1937f0bbf32fdc3b96fc0e3c1bf0233cae06ac3a0000000000000000000000000000000000000000000000000000000000000000c7f74d3c5221d6bb00000000000000009995bf3bff8bc4bb0000000000000000593a613bb76762bb00000000000000002b62073b1f0823bb0000000000000000e93f553b44dd6bbb00000000000000003cab583b7aafa8ba0000000000000000e6666c3b47ffbcba000000000000000000000000000000000000000000000000d105f7bb48d0913bb3d69c3cd89c8ebae2dc20bcbf9a063c5f6a1d3d82924bba32f277bbb1bb413c1fbd1c3d70a2103c9303f6ba6b1f5b3c20ec0a3dd923313c5c7084b9bb513e3c33a4cd3c5fb6163ca16ef4b914b41a3ca4919d3c76e49c3b5e992c3adda7aa3beb6d323c283e673b9c863f39b719413b260c0c3b34e48b3a061c8abad8b397ba2ca522bb504333bb5db136bb1b063fba15fb353ca69436b9025d90bbe517dbbad1fe053c11c7923b746984bb6c7347bb5d1a9d3b5e7a89bc853ba6ba3a4b60bb76da09392223cbbca5a4e6386620ebbab03f25bb3438d9bc29fbff3a61ceaaba1a418bbbf116a6bca9f24e3bcaa455bb6713dabb045a47bc34798a3b94c5efba9c4ef7bbf6efdfbb497cf83aae3057ba07327fbbd737c63bb107eabdf266b53b09430d3b1852f93a5e953ebe0c8f373ccb824d3b71d6193b8a034ebeb4b55cbca6b7d03be7de273b818339becc7dbbbc01454e3b4d97253b72960ebe143bc9bc06991b3b61b83d3a2f0ed1bd00688bbcd37177baf620a0b9a0b65ebd681b5fbc8e828cba6ca7833a389911bcdf573fbc382a16bb6f8a0c38a5a18b3cc8023e3b61c326ba9b44033a68da1b3d754e5abee3ddab3f5481903c51f0293dd14e4abece7c9f3fbcc0413c4477013d693d13be94b78e3fef51b43c8a5ada3ca669cbbdb4f4683f85e1d83cd69cb93ca98980bd464e2c3f7c4ddf3ce5e6a13c14c00fbd6165e13eda4ed93c018f8e3c59385abcf3655b3ea440c43c4fae563cfc47193c2f52ce3cda65f83c277a153c9b0396bbeb4bd9bd7f65c13a53bba7bc6164353b00000000000000008fa8a7bcd395d63a0000000000000000f9ecc1bc8d25c135000000000000000018aa97bcde3f93ba0000000000000000c7f380bc1a5fd03900000000000000007c0336bc61cd92ba0000000000000000205c19bc5216263b0000000000000000df98c0bb98522d3a0000000000000000467aacbaeabb463a0000000000000000c87cc5bb71c6623bf5cc453c3aaccb3a726becbbb64e253c43f8de3c69be023c61bd9abbc713663cf798e03c0b01793c833b47bbd6ee673c0ec2e53cc0d3573c3113983a1a9f363c8c259e3c3f4a1e3cb5e97a3973441d3cc126793c41e30f3ce65ae0b98545d93bb6ef0d3ce9b9803bc6e85dbae60e423b51ce213b062e033a0e918abad42b7ab809b376ba936c61bb907c31bb66c3feba1882563cf40505bc02b045bb2c0920bb46a3073c266114bc898d05bbdc1082bbaa1cca3bf044b4bcdfe86aba6d6161bb5141493b4873d6bc7a922c3b00be0abb2de958bb8d40d0bc465b9e3a82af36bb333983bb75e19dbc76f7f23a418cf5ba4846b4bbfaf227bcab893b3bf7bfebba079dcabbe64939bb3509dc3a35caa1ba83374fbbe3588c3bf7a489bd84aeb7bb4412b03928a4603bdd9817bed090d7bc2ca17c3bdc56813b9d5f25be15ef35bdcb93a63be0094a3b86be1dbe7bac38bdf4b5873b141d693b7673f1bd3a4725bdbee957baa316e63ac6c3babde1e7ecbc714311bb923e253bccce4fbd8fcc8fbc2cbbd3b9cd773f3a07f06dbcf712e6bbca14a0bac56839392318223c7b778a3b83429f382ad73b397d391f3dc0405cbef6278f3fe7746d3ebac44a3ddebb60be36ac8f3fbf0a553e31c5123d758728be15ff7c3f3501443e7b9d053d05fa02be2233523f67c9203e5872cb3cdf14a6bde4941b3f6004013e1530ca3c78e370bd5354d33e077cb33d4e96af3c95340ebdfb8b5a3e0c494a3d4d41873c87aa73bcdbd8353d6869b73c62f13c3c313e3fbc2d2479bd9a2918bcc4008fbd7ff6583c00000000000000007b7294bde413503c00000000000000002e7778bd53040f3c0000000000000000c20554bdd978c43b0000000000000000889b1cbd6725713b0000000000000000515afdbcbd1a9f3b00000000000000000cc39cbc6d296e3b0000000000000000fe822bbc46261b3b00000000000000005c360dbb325fa83a0000000000000000333f92bbb391733bf9c5f93b6cd4c43b16cfabbbc29c133c82edac3ce62c623c63a567bb6524373c1e22d23c897f983cde535bba2ab6403c1d52af3c86fb783c064fbdb93fa34d3c0a9f923c17f86b3c72b05c3aa2f2f03bcac8643cb683fc3bbe1a1cba7216cb3b451cd63be96aae3b52182a3912f3453b7d66dd3ae66d8b3aebe121bbfedfdf38c5159bbb2ec6283af30617bb607043bb48e7473c4e1c88bc4bc65aba03139bbbf33e2d3cc5e161bc9bd188ba3aad88bb8233d13b55d0b0bcab9b3d3beb7a71bb889c0e3b18ccc5bce727dd3a620b33bbf4fbc4ba869fbcbcfff8a43bfebb14bb555484bbecc295bcfb5bc63a7833fcba5ddc7bbb3c1915bc626a193be27f0bbbcedec1bb19e5c8bac4b9fc38250187b96f52aeb97e47a53b1e0e35bd0eb2e4bc714e21bb1415ea3b9adeeabdf2a86ebdedf0de3ba333743b5a860bbe9bcf97bd7745d33be34a923b1c2002becc4d8bbd8182ad3a444d163b897bdcbd04f077bd2b6eacb89010443b53509ebd82e728bd246794ba22e5aab950943abd97d4c7bcb47e4039dbc817b99ed076bc0694d2bb8a42dbba5688f4b9c04ad13bda58e43b7e0e0a39cf093dba8a57103d4b3f4abea9f56d3fd2f5eb3e5e87313de53054be46226d3fb0b3df3e3e7d133d037729be0435553f96bdc43e6af0013d7c39fcbd0268303f825ba03e2a3def3cd5aabfbdd738073ffa9d743e0f69c43c0d8376bd427eb53e62da213e3358a63ccede27bd7aa8453e212eac3de0f0943c8572c0bcb1d9543dbf16b83c89c0403cf37facbcae4b1cbd9b5bedbcca55f0bd735aa63c0000000000000000745102bee019c53c00000000000000002858ddbd792b893c00000000000000004cfbacbdd597493c0000000000000000e04e88bd263d293c0000000000000000d2fb45bd8d32183c000000000000000015a8e3bc5953d23b00000000000000001dde48bc5b82913b00000000000000005d0cb8bb0bc4ac3b0000000000000000b8866bbb7e542c3b7e8be23bc6dd0d3c78ba67bbb311ba3bf2b17c3c5910a13c77092abbb928193c113aa43c0d88a43ceef0f4ba46c8363cc8a7a43c3561ae3c639bad3a551d1f3c79333c3c8d95423cea673db93bc3183c02d5253c696c563c09d466ba1edee23bcadd823b1b00b83be58563bae57f463b7e1d963a72602a3bed5284ba05f81dbabefd6dbadfa41dbb3013f5b84a5b72bbcc2f343caacb81bce746a6ba84c5b4bb00971a3c602276bc5480593b5f029cbb0cee863b3460a0bcf9515f3b68796cbbf5c3523b1e20c4bc0deb913b2cc2d7ba44450ebbe2e1bdbc43242e3baa2336bb413115bb654a8fbcf87a3c3bd408a2ba70ad3abb65bd1dbcc4f7a03a948bc9bab91e85bbba2452bbde0d343a0dfcb6baa454edbae8c58f3baad3e8bcc7453cbd4dc020bb675aee3b2141aabd35fdb5bdd8f6093cc5a3d03b21ebcfbd8781ccbddca0c33a3590853b608bd7bd58d4c7bd68534aba9bb39c3bed0d9abd508b8dbde2e8e2bb9eda593a122f87bd95cb67bdbadfe2bad737bf3a6dec1bbdc9f5e3bcc2210dbbf3d11fb95a8777bcefdfecbbaa9b53ba989d7eba6ad5893bff4e123c19f4473b3276edba9a4cf03c26b326be88eb323fad73323f37930d3d25bb2ebe5af8323f4db92c3fa742f13cc34805be97c1203fd6f4153f025add3c3205dcbdcec2093fad7ff53ebbee963c668682bd636fcc3e6069b13eb799b73cfe4576bd686d973ec20b6f3e2fec8f3c710b1dbdab10293e7d0cec3d57b17a3c20c6babcd60f673d79aeab3c2f51223c681da8bc7107b6bce92338bd8b4127be8871f93c00000000000000007bd631bee8e7ff3c00000000000000000c630dbe8e3cb63c0000000000000000954beebd116e983c00000000000000004f8495bd8b31363c0000000000000000f9ef81bddc4b463c0000000000000000e3f511bdf97d053c0000000000000000fe1f5bbc83e5d03b0000000000000000444cb8bb46d6bd3b0000000000000000c67418bbb93bd73a2ff55e3b3558303c505985bbd11d9f3b69bf513cf755d93cc9ec12bb22bef83b4ed6943cfd18d93c1b61ccbaaeec0d3c74328c3c380dca3c42643b38ac26093c9ee2783c51e0a13ce9a7423916f7e33b082b243cf290653cf52bca3979d2a33b5762b43b7b9f283cb9e572ba7810313b7fcdb93ad92f6b3b9b8a66bac161193a335936bb12ca20ba477fc5b9277f96bbf0c9f93b1c8050bc951c95ba91f6d3bb93c7e43bd8af3ebc80af5f3b22f1e1bb2e0e683b439281bcc243833be45395bb0603cc38a63c85bc7edc813bb8e74abbaa3fe7ba7a9f91bc4cb5373b0b8c27bb5ed715bb2e2678bc611d213aef9703bbd4456bbb9d191bbc105db439a78101bb6b7f1fbb9a697ebbd9cf2cba4d08dcba8db2023a7bac903acb645fbcc44a7fbd067127ba565ee13bbfa063bdd354ffbdfd61443cc9d4c43b9f82a3bd5ecc0abefd44a63b76fcde3b083aaabdd2c4f7bd5456fbb904897c3b3a2095bd94dccebd552523bbe77e5b3bca1467bddf868abd16a0fab9098abcb8e9670ebda74022bdee6f093afd8735ba9c3266bc742b03bc01baebb83d8e23bbc62f483b9b8b343ca3aaf33a24eea4b99496b23c3505f5bd6291ec3e635e6d3f5511df3c709dfcbd3a92ec3ecaf8673f5635ca3ce724d4bd76c3dc3e3d094b3f1717ae3c50b3a0bda4cdbf3e963a233f1fc3a33c834c7abde9a89a3ec676f23eb2629b3c9df735bd4a17603ee5c49a3e59978c3ce76903bd949d0a3eea58173ea263503c7d43a9bc7c9d623de9b3a03cd80efd3b715793bc1df31fbc378c72bd83c947be8d68123d00000000000000000b865cbe1939293d0000000000000000e10734beef3afa3c00000000000000006fa20bbebec3b63c000000000000000070ecd1bd3971863c00000000000000007ae48fbdba065b3c0000000000000000132920bd33792c3c0000000000000000383347bc45fcf13b00000000000000007f6fcbbb955df03b0000000000000000f5200abbc4cd2abaa46e083a967c873c7a3b8bba2028a83a752d243c02f4f53cc5a743bbc234a13bdda37a3c3ae6043d8a1e95bae05ded3bdaa8803c689aee3c3f75dd3982e5fd3b5bd6463c2f13a73cd73a90ba87bad13b317f203c02af8a3c75dd21bac6cc653bde42d23bd5cc0f3cd15fda38a3d52b3b9337a73a8c13453bc1b660ba80e997bae569ccbaa110b0ba1fcfceba29abe4bb1e20dc3b0cd8e3bb6c615c3a442df8bb220f383b6780dbbbbe848e3bf0d8e0bb6b15333b69c726bcb566873b3fa3b9bb99643bb953993dbc43fbab3b3ece55bbceccf0ba496377bc39dc613b2f5909bbc60a7cba5c385ebc3fc6333ae619cbba7de7f736d0950ebc27035a3a1e415abaee35eebaf99c93bbcad145ba9f3a93ba8e3b38b9b3661d3b1ea8803abb43a8bdcc9d2b3c382ae53bb46efdbc4ae21fbe29c78d3c9ac2973bc29662bd34b928be1bd7993bef0eca3b2c3b75bd4faa1dbeaf801c3b2e509d3b639a65bdc34de9bd40c5a3bbc5e4ea3a6cb130bd2c91abbd802316bb1cb371baf274e2bcf95e3abdf6a0743a3aabbfba80d173bcb84ff6bb0e1902bbe5303abb6101e23a8f215f3c3d50083bd4533ebb7416573c836392bdad39713e1ae58e3fccd8853c30328dbd03436d3e1eb38d3fc18a633cc5da69bdccd66f3ef5fc753f13ab5f3c27c637bd5dcf573ef44c483f216c503cb50107bd25bc3a3ee50e123fd82d583cb5d6e1bc5bc5113e3d68bc3e3e681e3ca7649cbcdbe1bd3de83b373e454b0b3c40eb54bc50124a3dd080863cf84ca53bd59535bcaa84913bb0bba1bd6c1f5cbedc4e253d0000000000000000d3916abe5b4b333d0000000000000000ee1639bef751f03c0000000000000000edb414be2afbbc3c0000000000000000e499cfbde67c913c0000000000000000959c8dbd31be663c0000000000000000aae61dbd1037263c00000000000000009da38bbbff256f3b000000000000000088d7973bbd49cc3b0000000000000000f039d1b98c5f21bbd62e373a9c1bbf3caf2a89ba90e23bbbae4bbf3b585b2a3da4970bba4ec8233b1a7a4e3c2331213dedc1f2bad6c19a3b05a0553c40600f3d6d00a0ba574fb73b47ca4f3cc1a4cd3cc4d1f2b8dba0913b9c351c3cdede9b3cc26ade3926aea33b5dbc8f3b5c5b423c25921eba22f41f3b1166da3a234d5a3bf5a5b1ba9a263d3a7b1f15bba71c10bb6d7f08bbd7f7cbbb2f05243b6ea87eba229990bb770a0fbcc624843a8a7bdd39e92f9d3b5593ffbbb2f586ba99c96fbb094cc03be9ea91bb3afd833a74bb11bc332faa3ba5b82fbb3f21bbbaca4f31bca9f2863bdffdefba0d3009bbc30819bc6408c03aa052ceb9ceebd4ba4ee31abc373e1d3adc557f3971eaa9394381c1bbcf47caba0b811b3ae2c2383a55032c393c90ab3b2d93fcbd0713763cc18da03bac622ebb897944be8d39093d73a81b3b104f0abd68e34cbe8827243caf7ba43b861026bd7ce535be18e8843a61681b3b6e2527bdd9240dbec52079bbeb5fa03af52b07bd39f9c8bd177952bb32707fba42ffc5bc738c4dbdb39676bb57562cbb67306abc5964acbbfd94d4bb46a951bb40bacf3a83e8a83c4e3cdd3ab3fa65bb3da9813b2b9faabc6120983c39e2ab3f23c49a3b25dd9cbc21d8fe3cc19f9e3f7c29b73beae28ebc7792733daa598c3ff5d6ce3b19305ebc9914913dca14633f0873cd3b6451d5bbf1ba953d849b263f7265003c3ee2f2bb4b318c3d8953d53ef58ecf3b4bad55bbe1ef683da25d453ec019803b919057bb68973a3dfbb7173cd64ae83a3fb03abb6b01913bf4f3edbdb1d05abedc1d1b3d0000000000000000fd8858be104c1c3d0000000000000000626f27be24c3be3c0000000000000000da3d00becf0b8c3c00000000000000001259aebd384d3a3c00000000000000001ada61bdd7af0d3c000000000000000038fba8bcea7bba3b0000000000000000957e863c99984aba0000000000000000b4e2113c58b7663b0000000000000000000000000000000000000000000000003240e0bae91fe0ba2697173c09c31d3d770f0abb9d6d823a6a5e5b3c456c0c3ddff10bba9f28843be209663c4392ea3cbad20cb912004f3b46d8443c40a1af3c9926b2baeca6c13b8c69f33b94257d3cd8325ebaa0c3293b286f9f3b1ccb1c3c10e48fbaa2fc073b201e473a8c254d3b00000000000000000000000000000000000000000000000000000000000000004f4b5e3b8d9cd8bb1071bf3924077c3bcfa6c73bd8c6b7bb76083dba462ba9b9b347ec3be99a26bb247962bbc39a91bb7abbbe3bc1d2113aa99c1abb829fa0bb7aeea83b9882c9ba79c312bbed2102bc1ec0db3af98f563aa848a6bad8f1b4bb37ad3fb922431c3a8651da39b56d90bb000000000000000000000000000000000000000000000000000000000000000098f045bccfae50be8090093ca5b55f3bce51cabcdd3a42be1b7d0abab5ab833bdefa14bd41fd29bebd246bbc1785e23a75ca0bbd0b8107be261563bcffb220ba78e8cdbc6d55bfbd2df414bcdb1ff5ba409882bca18e50bd21b1cbbbf7f344bb3de0cbbbf82505bcb03d15bbd3ad36bb000000000000000000000000000000000000000000000000000000000000803f328d82bb3a79753c4e57d4bdc0b4ac3fe2d097baa1493f3c85504ebddb118e3ff78f833b42a91a3c6b9697bc24be673fe8722b3bbd80253cf4366bbb9c4f2c3f8caf503bf86c1a3cb3a0093c71e2e03e49be4f3b9e8f063c35ae4f3c07435e3e074f033ba290e03bd0d01c3c9d6ef73b00000000000000000000000000000000000000000000000000000000000000007c5602be61bb873c00000000000000002a6babbd7766ef3b0000000000000000f57c6bbddf439d3b0000000000000000b03e25bdd59d663b0000000000000000bf23d1bc49bd193b00000000000000003badb6bb7cfc103b0000000000000000f2d1a83bc71b9ab8000000000000000000000000000000000000000000000000000000000000000000000000000000001b842dba32fc6e3c76a2d43c8d9ea13ba4a3663b88b78a3c57b1cc3c35d2e53b3b74de3b595e873c42fbb23c038fee3b9cfadd3bf078653c5d99873cde80be3bb723ac3ba32b1e3c9d01613cefd26d3b3c1c923b0eb3da3b3a39d33b4406153b93b3b83a84720e3b419e1d3b51ade7b90000000000000000000000000000000000000000000000000000000000000000fe83c9bbd46962bbc7d3eb3703ce08bd1ccac3bba89585bbd70b1bbc45bf3abdf1cc5bbb99f469bb1de199bc97ea62bddc7ee0ba4f972bbb51e1adbcceb146bddd74bbba61a1e5bab9218ebcea071bbdbb84dcb95cd7c6bafeb770bc9df1bcbcbc3002b95ad49cb871f1e0bb2ce2bebb00000000000000000000000000000000000000000000000000000000000000000a162bbe3d1811bc4d9b873cc11dbc3b63fb1fbe273b42bcf888833c43d3983bd2330abe66229abcf4ca333c6bcdb23b3df8e1bd852d78bc5938233caeea063b53b9a2bd9fd109bcd625ba3b662af63a25e639bdc7282ebb9099163bf3ba373a37ab5ebcc4cf853b288b05bb541f6a390000000000000000000000000000000000000000000000000000803f0000000043b78b3c3679adbd0417a93fe9f9dcbd695fa43cd52bcfbcd0d98a3fb671a1bd8af4de3c99a3363c9280603f75c265bd54e6e03c6c05d03c6923283f280847bd6d6dd63c69c2d73c9189df3ee2682dbd7e63b43c0828a93ca5a06b3e81a0f9bc2b92663ccdc7a03bf709f73c2fdcaebc000000000000000000000000000000000000000000000000000000000000000089d100bafeaf2fbc0000000000000000b93f24bc28d822bc0000000000000000875566bca2c740bc0000000000000000fa1b42bc49a71ebc0000000000000000f7531dbc8854d6bb00000000000000008188caba526047bb00000000000000007d4bdb3be2614f3800000000000000000000000000000000000000000000000060b18bbb2d47b33b1564593c9a7a123a9d03c0bb250f603cee00d33ccaf63a3bd5ab4c3afd689b3c3873e33c9acbd43bc79dac3b7564893c9e93cd3c44ce033c0b11bb3baf747a3c0758993cce2ae13b07c5b63b8d274c3c2a8e763c1ab15f3bb5a2833b922ef93b444b0d3cdde5c53aced0183bd2a5683b1bbc0e3b4ff6f539ffbb4cbaab34f4badaedddbaea7cc8ba646b5cbb6f218abab51c4d3cb4b62bbc47e601bc55902dbb458d273c776490bc4277babb3b39adbbbfba41bb8da836bd553aa1bbcb079cbb01494bbc85cb4ebd8bf02bbb674455bbf2968cbcc14a49bd22739bba40ad54bb8fba92bc658a1abd4affcbb9bd9bfbba0a2b71bc4bd3b1bc6ca5c73a5ee63cba1b7a5bbcdf3ed1bbca75a03adfcbc439f6fdcdbaf8ba053cd67bc6bd2b6ddabb3374193cad4f353b62a524bea4870b38dfff903cb3778f3bf0552cbe971e9dbc12a9963c1372f23b6e4918be41efc2bcc561853cd62aca3bd27de9bdb222b3bc44901b3c0495a43b3c84b1bd02bb48bc86f7f63bbb75333b955e52bd013279bb6ce5ee3a1fc5f03a51e179bc568c88ba3b27a0bbccd9f8392951243cda96d43b42f898bba19f02babc91bc3c77f142becf06a93f4edb063d72dd013d289738bef76ea03f5fcd063bfed5e93c0a2dcdbd8ca68b3ff8c3943caabaf23c3fde4cbddcb6603f707e993c639b003d6aac68bc7451263f6afd5f3cc11b023d3528b1bbeac3e03ee39a39baf139e63c7c50253a9f7e653e10af40bbb652c03caf91033cc0b31e3d22d0ff3bf11a203c67276abc2380b2bda66a69bc63d3cdbc398f06ba00000000000000005f4a07bd2dcf2fbb00000000000000001f0413bd095b0fbc0000000000000000aff210bd0c9ffabb0000000000000000eccaefbcdf08fdbb0000000000000000756da9bcc4a660bb000000000000000007cb27bc6e45a7ba00000000000000006d852d3b727a3dba0000000000000000b38a163c12e8403b0000000000000000e00f9dbbf3de983b9c5e0d3c87c9003b0cdc84bbcca55b3c30f3ac3cec98d33b790a043b4a6c813c5719c23c486f2c3ccb766e3b7c61903ce896b73cc1621e3cdd1eb63b3bad5e3cc6458f3c43d9083c247a8f3bbd52433c06dd543c2440d83b57fd773b4ebade3b3551e23b2e7d3d3bb79db23af674593b50670a3b31a8593a238d2dba699c88ba23a9e1ba07e6f4372d8817bbfebe12bb8c70723cf2353ebca6ae86bb1c7548bb6a2bfa3b3569cabcdde649bb89edc2bb333f82bb991734bd204a54bb26ee9cbbe2520fbcfa1a4fbdc6d86fba4bea3ebb97a085bc5ab834bd4a0ddeba4e3a41bbaab07abc798710bdea615fb90e58edba1fc641bce011acbc93ec363a5bbb43ba109a1ebced2faebbbc03533a3f7b77b8a6342fbb32cfe43b218572bddb4281bc7981cc3b4582a63b79c406bed4e0fbbc6a755b3ccbda9f3b66160cbeadd33ebd83e8573ce8841f3c460609befbbe21bd6cc65c3c5277db3bbba0cebd273316bd06afbd3bf86a9d3bbb6da6bd5466b6bc83a0d53b66fe6c3b4fa03cbdec2f32bc53b3503bf206d73a86a589bc0e60afbaccac19babeebfeb9c7a8ce3bbfb1973bbd8e1fbba84fd4ba1da4c03cd6e049becfa68d3fc59c773eb1c7183df0f246bea79e8e3fa050553e8062fa3c6121e0bdca4e733f058f463e32bc073d3e619dbd0c884d3f12fc133e1e37073d02ed0cbdfb93163fa42be23d7cae0b3d6e1dcbbcbb77d23e275f833d5099de3c48ab7dbc06ef633ea8a6d83ccb03bd3cec9228bc965e663db55ed43a910a583c1be186bc713a49bd9759acbc95618ebd8361ce3b0000000000000000d3dca1bd3de1ae3b000000000000000025db8dbde8f88cbb0000000000000000f50185bda39b88bb0000000000000000163542bd9e1bd2bb00000000000000003dc323bd3bc38aba0000000000000000ffcad1bc1576c13a00000000000000008f4807bc5b7e423b0000000000000000c73c943b5c97973b0000000000000000392e68bba52d923b4d51da3bb3f0ab3b46b239bbfd823e3cb396903c7991363c8226603a22327f3c579bb63c03f55c3c87418a3b66a67e3c5792a13c89e8533c707ea43ba9c06c3c21297f3c4a8b483c2aa4b13b6d3e173cf89c6a3c6c41c73b3b282d3b29bdeb3b7f35d53b657cae3b4e28893a654d353b98ee233bcf9a903a0eafa4b9b78fbebabf5abcbacc523bba227e18bbc1e70abb27075b3cafe799bcc68960bbb74fb2bb604d103ca055e1bcd67a38bba10dc7bb9abcbcba82602abd3e411bbbcae295bb3abc12bc90143cbdd13da5ba26bd97bb4fdc74bc2d322fbd63c4c0b9343f2fbbff105abcbd1b0abd03d0a5ba16859abac9d149bcdbd492bc24785f38af4101ba87b80ebcde9a8cbbd968383a2fc093b9784181baff17d13bbc242fbd0b1006bdbee01b3b01fdf03b5876d6bde2d569bd1c97523cc3c61f3c3bf7febded8886bd070d4b3c6a472a3ccd3eecbd383378bdebcc333c6efe023c259bc6bd132f4ebd25a6b93bc9fb093c7d7896bde2930cbdc53a043c2854213bc8b534bd30338ebc46725e3b25d5e83976008abcdf2b64bb7b4fbc3a76b2edba6d7c8b3bebc6da3b128b98ba547fa0ba0afe9a3c525132be68e8693f9d0bef3e6dce053d099c36be458c6b3fca6fdd3eb2bd003da658f9bdce3a523fab11be3ef74f053d7c589ebdb0b32d3f9834963e2911043de04f2dbd5871053f6d1f5e3ee2b7fc3c745deebc6332ba3e7326093e8131f33c027fb8bc225e503ec8ea813d5b37c63c709896bc6f6c803de1a0cb3b37fa3e3c5b41bcbc450409bdbd760ebdea79e2bd05ce3f3c00000000000000008b7f03beadc82e3c000000000000000082a4e1bd2db9103b00000000000000007a5bc0bde2c9193900000000000000005a339cbd2ee019bb0000000000000000129169bd949fc4390000000000000000281c1bbd2621b63b000000000000000003126cbc28e0cf3b0000000000000000153c6bbb7ab2173c000000000000000010f344bbff2d7f3b0d4eb03b9c76bd3bef4d13bb14b9253c301e6c3c051c5e3c9caa9f3a0a165d3cbbbfa73c03b8823c1412843b8cc2613cfd5d9e3c4d8c753cea48a33b4452333ceb10473c32452b3c7d02703bee06363c3721483cb5b4133cb47a553b3d76ca3ba26ed23bb9de863b1f006d3ab24d333b8473a83ac7d9123bef8216ba334b92ba2b4512bb7efbf0b8786ab1392b9777bbc97b563c167e8dbceceda1b8ae35debb7869fd3b479ed9bc3491e2ba678cb9bbb5bf4abb84d619bdb3b2da38d3aac9bbd9b813bc31c12abd5b87963ac62b21bbf9bb67bc2ba91ebd8690b3b92fd059bb926c5ebc08c600bdb96e05bab60fe0bab3ea33bcff8d8ebcceeb3cbae17f2c39230307bc926495bb85570bbaa6ceb63841d930baf1adc53bf65e00bd969530bddc3ec9ba73e0243c713ba8bda7979fbded03fc3b58db473c31b7d2bd5861afbdb1d0e43bffb4423c8625d2bd3135a3bd6bfaeb3b6ac72a3c911a98bdba716bbd5348acba1fbfb83ba82a89bd173e36bdded1ac3bc5bd9c3ba9f21fbdfc14b7bc372b9d3b5fed3a3adce375bc0e63b0bbad8a343b1cde3fbbdd0b803b9021f33bfc7e2c3b2c2649bb8cfb6e3c193914beb823323fb951303f6c07d03c6b5313be4986333ff1bf283fc280d23cff0dbabd69d0213fb76b0f3fdc28de3cbf6c7fbdcade0a3f2850e63e09ccdb3ca19fb3bc443bcd3e28f5a23e4195f73c32bad6bc00c89a3e72d6573eec5ad53ce4ea9dbcc9e5303e538ccd3d3520b13c53b084bceda0753ddcc25e3ce02e243cd392bdbc8c59b2bc1c9933bd227214be68b3833c000000000000000008f32bbee510813c0000000000000000f3840abebf4f5d3b00000000000000000657f7bd05fbf43a000000000000000077629ebd660f6abb00000000000000007f0b9cbde515933b0000000000000000a19443bd5b25ba3b00000000000000007bf0afbc3afa1b3c000000000000000045020dbcc4c33c3c0000000000000000f9ef3dbb0acc263b04a77d3bfb55033c1e9612bb4fb00d3cb35f6a3ce51d8e3cfad6493a7d92413c3fbf9e3cc341a03c23e7353b14b6543c67e09c3c889e803c9e623c3b5f645b3c3f1a7d3c6a04793c18547a3b11a01e3c7a86393c1ecc253c5c534f3b32f0c23b4793033c061ea33babc7ac3a755b263bafedf73a032a143be1e938ba27a587ba69d7cbba844bb4b9d1938d388f6a82bb9ae3293cef9157bcc2eff039a07111bcec90c13b81d5a7bca580293aa5400bbc7574c4ba8c06ffbcaf13063b7627e4bb8f2f0bbc748e12bdd226713aec8a91bb98c736bcc29219bdf9775d3976da5abb398f58bc327fdabcb94ebeb95cb8febab0bb36bc1ec188bc6ad58b3823d321ba7414f2bba7249dbb0ce5f9b95db7c13942b77c39fe0d783bef4aa0bccbaa67bd46a724bb457d353cfcde8bbd734dd4bd91943a3caaad5f3caba9b8bd5a49e2bd1d27f73b0f08673c5e30b6bd86f1c7bd4e41943b11c6423c991b9fbd4a14a2bd4a280a3b48e0043c3b5a77bdcb5461bd3b30ee3b9f0a083bf0411ebda206f0bc650cad3b1b485b3aa0bd66bcf59009bc3525843b925795bbe6ed863bf996d23b609c5f3b718f7abb3321243c213ae1bde7fdf13efe6a683ff5bda73caf33ddbd1cd7f43ee684623f4608a23ce63892bd4b14e73e995e413fb36aca3cf5223cbdec68ca3ecc11193f1d5ccb3cce32bbbc7211a43e9622e03e064fdb3c24b290bcfe2c703ec340903e8295c73c7a7965bc7023113e0a8b0c3e5c2b9b3c5ae152bc85ec5d3d2b5ea33c7d0f143c7ccb93bcdc4c65bcb4aa5cbd3a3e33be93b4a93c0000000000000000032752be6071b13c0000000000000000e2fd2ebe6621303c0000000000000000eaa80dbe2b7d983b000000000000000015b0e2bde1ff243b0000000000000000918cacbd056fc93b00000000000000008ef55ebd0c04023c0000000000000000bd62c4bc0e513e3c0000000000000000ec5128bcd87f553c0000000000000000fee62ebb3e2b9c3a4f77243bf38b303cb57915bb76c7b33b1202653c2156a93c94eecc399bbd223ce647983cc804aa3c5fbf1a3b41543b3cd96c913c7b27a73c997f823b76cb283cb3ec653c91fc6d3ccee18c3b4bbf003cb266343c95c23c3c1541f23ae22bc83b1ef2bb3b61ffda3b2e39c13a0a41263bd772123b9774243bdba286b9cd7b67ba9329f5ba96c598b85602013a2aeec2bbeba3043cde26acbbf079d83938f20fbcc32e5c3b0d7c48bc5f513a3bf7ed0dbcb426d2bac797d8bc118eba3a2f3cecbb304eedbb8c3ff2bcc28cf73ae5238ebbb9e745bc85feecbc38fda23a2e7d6abb6c2c41bc3704cabc708d62b916ff0bbb9bbf0bbce76378bcf18637bad6cab9b78ae4e4bb5094a7bbe83e55ba07064b3a868885ba261f463b1b892ebcf3ce8fbd7aa29b3b8375373ca79f4ebd1f1004be7ad34c3cc8b35c3c264196bd91cd03beb47c283bf25a7a3c2eaa9dbd9629f1bdcc09303b84cc603c455884bd70a5b3bd6dc719bbfcceef3bc33455bdc8c887bddebf603bb3c6953b629d06bd208111bddb6a993baa19bf3a955d5cbc54862ebc22c6aa3b58caa0bbca91663b20ba133ce216163b46caaabb26bbcb3bbb3f91bda2b67c3e0cf48c3fb264503c252d7cbdab27823eec258b3fb8ee4f3c32620bbd605a8a3eec3e683fa6738f3ca7d6a7bc32137c3e12003d3f342fa63c3df097bb5f55553ed8a2073f9a30ae3cb49d77bb691a253ec3b2b23e9d509d3ca03998bbf127cf3d7a17333ed2d15f3c8c1350bbfce3373db7f0b53c8071d83b3e3022bc1090d3bbe22587bd23da4abed570d83c00000000000000003b3266bed913d93c000000000000000018e728be95b2ed3b0000000000000000c35016bed3b0723b00000000000000007cd0d3bd1508fc390000000000000000f4a8afbd093da63b000000000000000018e662bdc072cf3b00000000000000008ab2a0bcec2a1a3c0000000000000000d2f258bbc99b5e3c00000000000000003d1107bb2ba313ba55818e3b63ac6e3cbbf30cbb5275d33a653e523c7024d13c16661b39569ced3b8cd89a3cebb4dc3cd283f73a0e84153cb31da33c3eaabd3cc7895b3bb751093c5d84813c36028d3c2df3553b0dd6f73b35bf4a3cdcae673c369d1d3be983ad3b715de03b4ba10a3ca0cee13a6b441f3be174033b8b1b333b43452abab2813ab96503efbadfc8e7ba86745d3a296fd7bbf08cba3b40d8fa3a3110b439e17c34bc4bc9af3a790d23ba689f3e3b746527bcbcc95dbb21a580bc3c54783b3eae17bc4968e6bb568bbabc78f2753b2e939abbdc762cbc7b22cebc2409213afc6b69bbe70c39bc6492abbc7c1a8a391aae08bb4cee29bcd2565bbc760351ba3b74883af1e7d8bb257e00bc0cf17dbac3de923acad5e6b9dbb8fc3a7e8128bc68f8d3bdcb66b13bc16d2a3c5c9cfdbc4cde21bec5b9c03c7e696b3ce17573bde36225be85baec3b53e6783c1b568abd31420fbe559b4d3a228a6d3ccfcf72bd1c92d6bdda2b55bb98f8e93ba8c740bd8f5c9ebd7341f93a7cf55d3b42fde2bca62a36bdf82f833bc4c84dba16913abcf7b72bbcd0292f3b12a5dfbb3dc8be3b76824d3cd20e8c3bc5fbb7bb7d0076bae0f5e0bc9e531c3de2e5a83fc4a78b3bbfc790bc2697373dca4f9e3f9fbaf83bcfb6b6bb5239c43d5afb873f17f1283cd44ea53bcaf0e83dea2c583f97d67e3c2ba05a3cd0bee53d65df1c3f1f0a883ce3eb553cc96bba3d76d4cd3e5af87c3cbde11d3cf6e8823d4555483e1bca203cf8a4203c8ce6153d7150a23cd4ee8f3b934c27bb645bf7bbfae3c8bde17d47becf2fd03c0000000000000000fe2b5cbee94cae3c00000000000000007b9c27beb086af3b00000000000000009e1203be6d21b4b900000000000000003562c3bda9483ebb00000000000000008d3696bdcd52093b00000000000000000bdc38bd369aae3b00000000000000003bb653bbbc5efa3b0000000000000000422b46bbd7be343c000000000000000000000000000000000000000000000000048faaba2d464d3b5ab7683cb6cfd13c3b95513977e1d43b7817883c0f4fc63c6ce8193b72d0103c261d813c729a983c8fffcd3a0e47133cf39c633c2b29863c8f1e473b2547ca3bdc56313c91e3493c9418fe3a32749a3b256bdc3b69e1b43b1f2a993a9273fb3a7bdb6e3a5234503b00000000000000000000000000000000000000000000000000000000000000009789903bf6be1ebc7a6e7139ef8cd3bac33d933bc62d00bcd87d99bb1eeb41bcce53cc3bee1ea1bb16ee0cbc0f80a6bcb0061f3b900464bb6fd42cbcca7cabbcc0660a3bf01e37bb306b32bc604c91bca1ef303ac2af43baea2a0ebc05bb3ebceda745ba1aa296b91a4693bbf3e096bb00000000000000000000000000000000000000000000000000000000000000002e2c1abdef3d29be2822a0bacc02633cccb250bd343919befc0b97bba7e6503ccc6664bdf16805bea54e4cbcb8a5173c732d55bd2949d3bd2ee620bc96dcfb3b7ae321bda7f099bdb9b286bbcd01463b551dbfbc37d333bd6d8b9b3ad3ab08badc42cbbbc7915cbc7b72943b34a931bb000000000000000000000000000000000000000000000000000000000000803f3d1f55bb0dbe753cd44b95bd5b96a83fde3f473b4145aa3c6bf46ebcaebb893f4bdb0e3c7c85e33c8544b53c773d5d3f1daa4d3caf0feb3c9dfe0e3d136b243fbb59563c38cad93c550bfb3c73efda3e3585413cb1ebac3c7d86bd3cf4d4633ee505cc3b501f553ced6f833b243cd93c000000000000000000000000000000000000000000000000000000000000000059c2f5bdd5cf663b0000000000000000fd3db1bd24badcbb00000000000000007f6983bd8ca83cbc0000000000000000389f5cbda5522cbc0000000000000000357036bd53d201bc00000000000000006a88ecbc744815bb0000000000000000ac6785bcf2aba13b0000000000000000000000000000000000000000000000000000000000000000000000000000000026f28b3c20f24a3c6490113cb1ff9b3a9c82af3c297f6d3c85a5143c3509feba2544b53c9b01773c4e5f043cd11381baa7ae9f3c1b224f3cc68fca3b5eefe6b9b13e833ce850143c94126d3b8dbde5ba6559163c3caaa73b2cc7623b229b0ebbe0e85b3beb1fa33a2fa6ac39190a6bba0000000000000000000000000000000000000000000000000000000000000000a86493bb243ec4bb69630fbd09f96fbda9dfa8bbc00acabbceda61bd7ba488bd750ccbbb22aaa9bb931285bdc31f8dbd28adc0bbf97d84bbaf077fbde7196fbd4d2b9cbbebb63cbb142b4dbd1c6f3cbddf2f44bb99b0daba88ce05bd89c4dcbc9267cbbae0092ab9ab8820bcf8c70bbc00000000000000000000000000000000000000000000000000000000000000002147c1bd0d86dcbc4704a13ce333943c921ab1bdb4e988bcf514ca3cee50ab3cc1a29cbd0c7168bcb9debe3cc90ba23ce96e7bbddfec01bc44f3b43c2c8a823cf90e30bd141daabaa729a23c9941623c6b8dd2bc6f86663bb993623c823fcc3b6af404bc0ebbb53b488bf13bd0ec563a0000000000000000000000000000000000000000000000000000803f000000001b8a023d0dcf2a3cbf84953fed78cebc4d6c813de782423d197b773f78b5e4bc87d9a93d0df78c3df6f5473ff881f4bc20e7ad3dce42853d74ce163f84191bbdb5209d3def76443da6fcd03e86094dbda3db643db3b2c43c9435703ec5b454bd778ddd3cf93e17bc834c8c3d5b9f4fbd00000000000000000000000000000000000000000000000000000000000000003154c5bc7eadf5bc0000000000000000e33629bd2da633bd00000000000000006b3144bdb59749bd0000000000000000476656bd7afa36bd00000000000000005fde4ebd500415bd000000000000000072f10ebdaee694bc0000000000000000410394bc88e581ba000000000000000000000000000000000000000000000000ec9c993bae1b693bf61dd43bff8ece395875733c5590333cb598e93b1e2a5e330920c13c16be8a3cdfa1e03ba453a8ba3b0ed13c80b27d3c6c03e33ba92756bbc1e8af3c8da9663cdf17a43b63592abb2fdf8f3cd9242c3ca291753b046421bb178e303c7d37ab3b7be92c3bfb3a2bbb09ad643be1a9693b86ca9c3a689673bae3b053bb620db8b9b43c3bb97b8699b9b1da9bbac1db3ebb3b93103b34c8ffbc6e9dc7bb586baebba4baaebc8a5a57bd9b3a12bc868ba2bb080f61bde1ba92bd8774e3bba383c6bb05ee8bbd6c5b93bd2031c3bb354989bb1e8c86bd34407abd796cc9bb72f75ebbcceb5cbd6ac740bd59c12ebb151c2fbb6f270bbd844deabc7b59ccba3d6a67b9a4e970bc5ede34bc36030c3a46b82b3a9734033c0557bb3b2ce964bdf19cd1bcf965d43b928d273c04f8b7bd998fb2bce922cc3c118eac3c36b6bfbd6f61a3bc86efe93c72b9c83c373ea6bd606b66bcc625f23c2f35c53c07547abd49c60fbc0007cb3c27ec973c3aa03bbd4439d0ba4c9cb93c7ba9783cac00dbbc28d9913bef626f3cf6660b3c39b31fbcdb664f3b0a03b43bce3bfdb97d1ab03bcd0f7c3be6cdd2ba087f6fbbdba21bbc83e98cbde58f953f6932e83d46e2a23c6c4d47bdc2dc8d3fa3a39f3d9020753de255a23cb93a713f47b1913da021ac3de457503ddf29403f7647403d83efb73d041b6c3d6d340f3f589fbf3cb723a83dd0d3283d1a73c63ea6ddcfbb3487833deaf3903ce6335f3e4779e7bcaf1c2e3dbae9e7bb66f98d3d33c9febcd376e33a7abaf7bc879d46bdffaf0cbd020eb6bc93ae56bc00000000000000000b534fbd1db80ebd0000000000000000b7f675bd18d651bd0000000000000000bda58abd8f435abd0000000000000000ee7389bdbe474dbd0000000000000000c6c580bdadde16bd000000000000000006423ebd34a08cbc0000000000000000b17c8bbcc106a83b00000000000000003a6417ba8cff613c000000000000000094c1543b2a30193b51cd9f3b119f8e3a5e7d6c3c78ec3a3c8939013cea3de03ad9d1b23cf2217c3cb447f53bc03d1d3ab43dc73cc17f753cf87c053c081b9dbaf0d8a63cd3ba453c287ccf3b173077bab54b8a3c44ca283c774f9b3b6f1659bb60ce283cfa9ad03befdbf43a3708dcba21bf773bdc322a3bccf4503a6590d9b9548800bb23b7a6ba5b072937676bbcb94bedc6ba2c8c12bb0a4fc33b3e1ed2bc90509abb5a71b5bb3375babcb4055fbd6c08a2bb1d09b9bbd8d057bd93268bbdec12e1bb9a1cbabb2de682bd8eac90bd677595bb734e8dbb245477bdf26b6fbdc1bd9dbb00a556bb8ddb59bd7c6844bd7cbd71bbcb39e6baba2507bd3de0ebbcaad6f3ba99361bba46df62bc997937bc0e8e5d3ad13daa39faeec23b3cfc893b24b215bd3c42c7bc93810b3bc6f82c3c3921a1bdae6906bd6fff4a3c45f9b93cc9329dbdc98004bdbadd663c7462bb3c783b9cbd4601c6bce31ebd3c2364cd3c1fe967bd8a738abc813f863cb590973c4c072dbd66ebe6bb6b44a53cf50e853cc6c2bebc0e09bfba89b3533c055b253c05ad05bcde0c033b8711d03bdbb6003b762e9f3ba9c11f3b76b443ba58cc4ebbfb925bbc0abfa5bd13ad7d3fdf728e3ef912b33c294758bdb563793f8d4c7f3e88cf633d47d6aa3c6da34c3fb5a35e3e62f2a03d2ede1f3d727d2d3f3528223e7499a53d5bdd403d4e40003f0ab7df3d8386a63dc8910f3d3f5ab63e57445c3df092653d4a9a523c93c9513ee5c4813c5c07233d672750bc8b52933d21118ebc7e99c43b4630debc19b8f1bc0ea6f4bcd3ea1ebd2fc85cbc00000000000000009c9285bd0c3911bd000000000000000019bf70bdb27544bd00000000000000009ed99fbd966d67bd0000000000000000437090bd3ec147bd000000000000000092a994bda51e24bd00000000000000000b0360bdae7fc9bc00000000000000008f1605bdd894f33a00000000000000002fe7f2bb8c69813c00000000000000009e7e913bb5d01e3b77458f3b3391e83a42386f3cb450283c8f62f23b0240f43a28feb53cb9cb653c2d0a2b3c95be463904fec43c096f723cecadf93bcc5608b996e2b13c82a4563c2213da3b4e38073a8a298d3caa95143c59f1963b6c407abafa75333cd88ebe3b79cf103b0d0f93ba2c70663bba8e103bfdef923a49eb42ba60c7fcbaa8b41abab2be84babe9d8c39abd737ba921611bb031a283b5f16dfbc6f9d52bbf1efbfbbaf92a7bc53f061bd8a97c1bb3a84c4bb47214ebd3c4d8bbde6babdbb75cdc5bb33977fbdf34b8abd9525c9bb64b597bba6607cbd618e7abd53b3a9bb56fe7cbbfef24bbd6afb36bde9ac7bbb9ee0f9ba00810fbde341e4bc58f5eeba580bf7b9e63b5fbc0af50fbcffbe02b993be3839ae40b63be884983b0c41f7bc8ed1e4bc31e1ebbb754a483c4a3689bdc2db29bd0114e33bd6f0c83c4dd99ebdd28c21bdb8f05e3c11b8e03c376890bd92ee01bd4151893cd363d53cce656bbd921fb9bc07968b3c9ab6b43c91072dbd9b844abc249f8a3c955c903caf04c4bc60fd94bbaeb1633c29aa2c3c4f29f1bbd2ae29ba1621db3bb7db2b3bc257ae3b093a273b9669c1ba465a8a39637a45bcbb2689bdab5a523f1858eb3e51bb923c01c338bd70a44f3fd7a3d93e204a593d016e313c6541353f4527b63ef5ab963d0fdc1c3dbb8e143fcd048d3e0e58a83d32f3463dca01e33ec1bf493e57a1983d6f140a3dd4b79f3e8231f23df78b7e3d95da543c7c4c3a3eeb35513d3a70163d27df40bc41bb883d589581bafc599f3be23debbc064ac1bcebe203bd632250bd7fe766bc00000000000000006482a4bd24ab19bd000000000000000057fbaabddbfd5abd0000000000000000de75b0bdca946cbd0000000000000000b8f3adbd92d56dbd00000000000000003d8dabbd01b022bd0000000000000000525a8abd8292b2bc00000000000000007bd931bd3e56543b000000000000000008de8ebc4452713c0000000000000000d2156b3b6359f33a1e909b3b5ac4a03a7ef4643c2219273cda69013c93a2623bb758a53cb098763ce670153c6ec08a3abd6ec43c8c486b3c78f90e3c005aa238580b943c0ce44f3c3843de3bd828763a39828d3cae432d3c80b88d3ba7ccabbaf3802b3c71b1ac3b2daa493b27c7e0ba85343e3b9e2e743b206cd7b91c38a2b87aba7dba26f16fbb90360b3ba24cb7ba71e2243a0a3323bbeab9543b9154c4bc148318bb35c4d1bb5779aebc610f51bd40264ebbeb2dd3bb56fd3ebd1b0c84bdfbfdb7bbc6d3c3bba74476bd7aa68bbd05a930bb394c6bbb9e3264bdc7285cbda706b4bb119e49bb7c3b52bdba173cbdfc4a2dbb7e5d3cbb68fc05bd4bbbddbcfbe2c6bae99c2fbade895abca05f24bca567c4b74d6ec5394b2abf3bf0898c3bf550d4bc3992f7bc7b024cbcac8c5a3ce65a79bd3d9f4bbd568b10bb05a1df3c0a2c91bdf32b41bdfbf5cb3b4430d83cb2ca8dbdb7321cbd59255e3cba8ce73c92f24ebd02eff1bcdb59b73baea2853c05e920bd893594bc878e6a3c52e6a93cc6dabebc64ebd9bbf505493cd804443cc50cecbbf8ca4fbadd3db23b93cf703b936f6e3b83ae653bfecced3a645ae7ba27c36dbc9c6866bd00d1243f4404233f7d87803c9903f3bc2d03243f25131a3f83d9463dfe5eb23ce7a5103fee57003f5f2d953d0853333daa02f43e1567cb3e78ce8e3db87f503d791ab53e821c913e685f9b3ddb57203d3697863ebc603c3e2e6e723dfd2a223c08f71f3ed41bc43dc29f183da3432abc31fb5e3da5968a3c3bf5003b9d4ec3bc09389abce2e406bd9c397cbdd05b65bc00000000000000000833bbbd85ec1ebd00000000000000000573b0bd026a5fbd0000000000000000de7cc6bdeac87ebd00000000000000004ba691bd53c051bd00000000000000005d28b7bd583545bd00000000000000001c339cbdce1ad6bc000000000000000067cb4abd46c0193b00000000000000006839c1bce16f7f3c0000000000000000ef6c3c3be86b313b8c22833b3f596f3b868f4f3c625d293cd2be073c98d7823b74cca93ca6fe6e3cece6273c887b1d3b52f8bb3cbe7c723c505f093ce4a1143bf607a93c7d536b3cd33fdb3b434aed392e078c3c2ef5253cfb098b3b502630ba7d642b3ce008d13b8d420f3b8ccc6b39b0417d3b199d2e3bf7445bb8faaa0a3ac01b06bb319287ba2fae16ba800c27baccece4b9125532bb354b9b3ba686b5bcb4cec1bae257e2bbc5aa96bcde683ebdd39276bb8729e3bb719b36bde2387bbd6eb59fbb8fe4c6bbe7aa70bd41a870bd613f93bbca0fa1bb239d72bd38306abdf72a87bbb3f277bb53a44bbdf9152fbd351a89bbbc0103bb869909bd71cfdcbcf7d212bbd0263dbaedd86abc84ee24bc75f1233a3ff912b98cada03b3ab4983b68eccfbcb0190dbde65073bc8dc7703ce98f6fbd69ff71bd5f57c2bb8377f33c20d18ebdde7c71bd80d4203b7676fd3c31268cbd66624abdfa630e3cfbb4e63c55675dbd6dca0cbde213203c7347c53cf64121bdb08ab6bc1fd14c3c6e0fa03c11d5b9bc4ccc2fbcef7c3f3c8381443ce567c2bbfbfe81bb3e45e53b4006843b32e3983ba8d2773b3685b53a63fe7cbac87481bc3d3e30bd9f98ef3e09d3503f5c04333ce9a1a5bc89fdf13e0e6f473f429d323ddfbfd03c4e61dd3eaaa1273f2c1f7f3da4e9553d168cbe3ea86d033f63bf9c3d4eb7663da017943efd36c03e49d6903d0db72a3d4b8a553e4cea7e3e56b56e3dc51bac3cc44cfa3d01fb043e84b30d3ddf0e1dbb64d6323db27c093de7a0bc3b57a7c3bc6e6ea0bcb5620cbdab9e98bd4df269bc00000000000000008bafd5bdeae021bd00000000000000009ac1ccbddd7d66bd00000000000000001baac6bdb3a181bd00000000000000007c1bc0bd4b377abd0000000000000000735ebcbdb18042bd000000000000000069fba2bdc57ed4bc0000000000000000e52d65bd7f9f0f3b000000000000000019a7e4bcd97a7d3c0000000000000000ede0df3a0e34273bdba1623b9343843b1234363cd7602c3c3117103c2ec6d23b43cda03ce832683c8a622c3c650c663b51b0b33c853d783c1a43293c5028313b932e983c0ead603cfa56fd3b6114123bbc2c853c1df3303c3a89af3bc09ea4386961323c7120c63bc9cfdb3a0b1b91394e398c3be3d8ec3a3ac4073b5d1f14b9d0f303bbc7cba3b97bc1cfbab381d939ef42a0395b3d71bbbf81ff3b9f4886bcd07df6ba4667eebb96cb82bc645527bdad94c3baa28ed3bbddee33bd6cff62bddd898ebb463ce3bb138c5ebda9e277bdc77556bbd38f90bb464f5cbda92c53bd36d688bb60a880bbe82a46bd63c228bdf0a618bbad2635bb73b202bd270cc5bc40d7dcba204aaabac43786bc9a04febb7578a1b9db15043a612c793b89afa63b6480bebc02fe24bd123575bc57b3953c963765bd47f98fbdf84f04bc152af63c43c283bd661d84bd82cfbcbbd5abd33c0a7e85bd76de6dbd7fea8f3b9d40f93c7d5c54bdf28a2dbd2dd6443b0df7a93c055a23bd2149ecbc99dc293cd1bba93c2a30bbbcd64c7bbc63a6f33bdde0603cbb08febb499299bb4e0fc93bd3bc873b6099953b6dda823b1caf26b9e8fbb6badb7a82bca08d11bd9596923e25a67c3fca6b2a3c31639cbb63f9983eb56b723fa7bb2e3d9ac4263db33a963ec9d4433f6418763d74c1683dc17e863e7e18213fc7568b3d5517743de14c553e88e4e83e9aa18b3d13b0443d844b1c3e6aac9e3ee915533da2f4c73c863cac3de00b333eb3081a3d11a2cb3addb2d13c6aff423d6247bd3ba6e68fbc215797bc48ff1bbdc51ab2bda0645bbc0000000000000000d5cbe6bd156e1abd00000000000000002839a5bda91951bd00000000000000003b92cbbd804985bd00000000000000006ef5a7bdd8df6cbd0000000000000000d3bdbcbdcb794bbd0000000000000000cad794bd7bbc00bd000000000000000057446cbd1df14e3b000000000000000008a2d8bcbacba13c0000000000000000534f8b3a673e663b7129933b1a19cb3b4eb10e3c22a22f3c0eb81f3c594be33b725a903c54cb853c6e99303ce6c2a63be21da93c589b883c3036283c3247803bf2069b3c4ff2653c4386ec3b57e94a3bcb41863c420f293c43c0c93be588993a279f263cf853d63ba19d4d3b8655463a318c863b3fa7f53a20fcad3a3c3e9e3acbaceabac13377baeb9eb0bacf82e5b9fe51ad3a96fa92bb8096f53b12d442bce366ffb9472715bcfd373abc31d900bdce0babbae6e211bcd8fd1ebd1ea252bd6a7e3cbbb664fabb27da53bdae3565bd811f58bb7feba1bb6cc259bdaa104dbdaffe86bbbc7690bb3e4e42bd15b520bd574157bbc8213bbbd8130abd9d27b4bc131bc3ba7e3b9cba68368bbc0091debb231185bad068943a890c363b6e1af33be043fabc6dee6cbd85c49fbc880c8e3c2f345dbd70c9adbd2108c3bb1e2b0c3d52d38abd8292a8bdbe910fbb5c4c053d254c84bd6ead8dbd99ee303bfe51f13c5bad57bd883c47bd3e443f3bf0a8be3c293920bd9faa0bbdeb49173c4308a83c0cc4b9bc71c79ebc8eaf183ccab3593c6786e8bb9ee2d6bb09669e3bf35f2e3b24eba13b663de63bbd23763af0d7a5ba378580bcb3cf94bc6011fc3de501953fe1098e3b4887d53b260c093e03df8b3fbb020c3d42d73e3d71212a3e712f6a3ff8956c3d6197863dd9d5243ea4c2383f54c4893da6178c3d6bde093eed62073f7552873d4b356a3db15cc93df584b83ebf97613d5814103d55a5553d51e8473ec47a123da922493cecb03f3c6f6c673d6fb7e03b41f069bcc33dcebcc7465cbd34c49abd6f773ebc00000000000000005178ddbdb4612dbd0000000000000000f1d2b3bdb5b177bd0000000000000000781dacbdea0a8bbd0000000000000000e890a2bd61d482bd0000000000000000d75bacbd96af5ebd0000000000000000a2e697bdfa2df3bc0000000000000000ceda54bd7234c03b0000000000000000dbcd07bd9965883c0000000000000000000000000000000000000000000000000a39203c6aa8423c0714413c5cfee93b29037c3c5c60803c73b3353cda86d93bb430933c7024853c51892b3c03549a3b668c933c90e0493cf3f5293cabb05b3b239f6c3c106b2d3cca62c03b55a3f33a009f183cc7e1cd3b68735e3bd352a83ae6595a3b9337e13ad14f9c3ae121d9b90000000000000000000000000000000000000000000000000000000000000000979cbd3a752ee6bb80d188bc9d4805bd2279b7b9840ff4bb14d811bd29eb3bbd6cf16dbaf4ecafbb7ad142bd485e56bd9cb3d1ba3d138abb86f847bdea2f3dbd00e809bb867d66bb7dba2cbdfa7813bd9556f0babf9414bb36faf1bcfccbb5bc0437a6ba6dae7eba09ec40bc74abb2bb0000000000000000000000000000000000000000000000000000000000000000799a6dbd6b16bcbd53047bbc6157ab3c664678bd946ea5bd12e517bcf6bbc33cae3b79bd28ce8dbd88f0e7bb3b31a43cbc9b52bd1feb5abd197e5bbb9c68863cdd091bbd50261abdfeba243b29f7803cd872b9bc7442b5bcfdb7b33b329d2a3c9fe8c1bb6c7ceabba6a3c63b358da73b000000000000000000000000000000000000000000000000000000000000803f748a293ce71bfb3ca4decc3cc6e3943f8ad3103d4fcf603da024623d5330753fda5a663d31e5913df076913d33c2443f6462823d05dd903ddf3a843d1fce133fffb4783d1633723de1aa333da44ccb3ee5af4a3d2235223d3cfea43c33f3683eb092e23c5e002f3c662c20bc906d833d0000000000000000000000000000000000000000000000000000000000000000a70a3bbda44affbc00000000000000006bf936bd6b5c4cbd000000000000000050de38bd642767bd0000000000000000adf750bd762369bd000000000000000025546ebdcf7f53bd0000000000000000980465bdb2f006bd0000000000000000fbd44abdda282fbc00000000000000000000000000000000000000000000000000000000000000000000000000000000729511bc85e66a3cd84c2b3dcd21c13b37b5d5b937db8e3cf646163d071ce73b3d724f3b207d8a3c55fcf93c17d22b3cf338913b25997f3c5b0fbc3c7b440c3ca1afd93b8873253c8b38763cd648d33b636d873ba641c13b1d81a63b3198903b0b0f673b691b9d3a626139bb88eae03a0000000000000000000000000000000000000000000000000000000000000000c68cfcbbc3d894bb7255ab3be6be84b9f42f94baebe192bb759ffcba8beebcbc2d26b33a90c420bbf3ef0fbc1bbe0ebddf3b883bfdcda8ba410b30bca0f21cbd25a5783b95fefbbab4e366bcf069f7bc106f813bcff8b03aa64f6bbcc006a5bc6604243b2a7c89baa90138bc321ca3bb0000000000000000000000000000000000000000000000000000000000000000283e64bec243933c4d24ce3b4ba37f3b0b6d4ebe575b5f3b298ea6ba87d7873b35843dbe07a718bcc1f631bb1446003b0c5017be4e1d45bc39ceb7bbe9d2ad3a1a06c5bd4e8565bc6665d6bbadab073b3d7143bdb75168bcb815c3bbdfd7cfba19ea2fbbf3e9ffbb44467bbb7b66c7ba0000000000000000000000000000000000000000000000000000803f00000000d22eb73c4dae05be7e30af3fd48818be42a15a3ca76f77bdb91d8f3f0992c3bdada9633c85afe6bcd3756d3fae2693bd5426663cbcb292bb7307313f437b48bd49ba153cbb8a933c1fb4de3e3129a2bc5ed4f53b4129f43c222f553eae87fa3b1c5fc13bc73fc93c3f6b45bb698c933c0000000000000000000000000000000000000000000000000000000000000000e45ab53c9eb27cbb00000000000000003326543c1a2dc7b80000000000000000f4493a3cf0da0dbb000000000000000092403f3cd8a41fbb0000000000000000d579123c3c7ee9ba00000000000000002a19143cf5f74fbb000000000000000048aedd3b01e04fbb00000000000000000000000000000000000000000000000085bf1dbc04afa83b2d26b43c8c4497bb7aa936bc00394c3c26a1143dc255f8ba53d55cbb869ea53c5e5a233d37790e3c5f665d3b5b69b53c5060083d2bf8193cef32c93b52ae883c25ffbd3c71c9363ca76baa3b39486c3c2866803c6443fc3b1c0c9d3b6587143c3e0ca63b1a82c83b277b773bafb76b3bddf812bb3c276c3ba96c30bb83192ebb59f0f2bb91e6b3ba4711c3bb1a8907bb2ac13c3c1a6b303c642d81bb8d427bbb9b29003c158f9c3b1dba3fbbe6b8d5bb1f00713b5316bebc51908e3a79d4b5bbdb0aa2bb57db04bdccbec93aadd458bbc57d20bc24030abd4960843b89d74abbf43c52bc9f66f2bc9d55713b0e5612bbe9f84bbc7dbdb1bce408d23a10e4fc394afd45bcdc9b20bcd9cdb639e16a353a0066c7bbe4cd333c3b1ffcbde8918a3c5953643bd8700b3b5acd38be842a593c4fda3bbb67a5b13bb1d957bec25316bc90e93a3a5db4d13b644547be5edd75bc157692bbe88fb23ba4241dbe762faabc3175d6bba0b17b3bf17fd2bd979caabc4edc0dbc1292453b666e4fbdf67d9cbcfc56e8bb6cc7923a2e8220bc03676bbcb28a48bb77dfb2b8e9ebb83c7b6a7c3a4132eebaaeab61bba9b2483d6af47abe8905ae3f325ef9bbeaf2373d4f1d41be85d19a3f5a626e3cf04e043d957c18bec8ef8f3fa23ba23a6597f53c79cad3bd836c6c3fb2fce63b5840b73c244f63bde7052f3f22d18f3c767fa13c3945b5bc4c6edf3ef6a5e03cb03f623c22438d3b27e9513e8235113d3a1db43b59cca33c40140f3d7d38083de20d023c5355e63bd736efbd667d643c51b8f8bb4898243b00000000000000002eb51fbcb76a693b0000000000000000766d04bca8d8923b0000000000000000a217c9bb5b4b7d3b000000000000000045500cbb3f14243b0000000000000000491b8fbab361dc3a0000000000000000be282fba386e513a000000000000000047b994bb749405390000000000000000f6fb2939e2d6ef390000000000000000c7ceb0bb08034b3b82b7473c899e14bb485acabb9b217b3c41bed53cd48c983b15c5e1ba520f9c3c4d8e003dfe6b4b3cd5cdd93a7bd0b83c9628e83cf9525e3c6c048c3becb3993ceb3da03cb69c1d3c3de09b3bb9b2723c51df4c3cc439213cea62873b4eb0e23be4a8b03bb78fac3b2aabf33a48cb073bfc9101bb5c662f3b9320b1ba30ff6eba568facbbf37a13bba989b6bb13a2a8ba4129393c7ffb25bb19f3a8bb34d880bbf3df2b3c7cea5abcba402bbb6f91bbbb628ce03bca97dfbc0e5316b92215a1bb90594fbaeebd10bd745c863bb5db77bb35e6acbb857714bd3af2743bf3fcedba504d06bc6f9201bd4824403b6fbb40bbd5f549bceecb88bc539b363b585857b988ac25bcd05f91bbba73023aff744b398766c0bb8cbdc03b904894bd072f9a3b2c0a343a11e2693b2f2622be8e9f58bceabb003b1fbce63bff243fbe4c98eebc5562debadec6113c53cb34be2b6c12bda71a99bbbcb0e13b012f0dbe4c9009bd10a619bc4b25b73b8c03ccbd1b8af8bc84c02bbcba55a93b45a649bd1575abbc7616d7bb3c81e23a7f9642bc35213cbc7a41aebb44e207bb38814f3c6c08b939cb0ff139bd3813bb4e6e503db6ec6cbea8d18e3f502b5f3e552c533decd865befce08f3ffe7a3e3ec7d7203d377c37be06e8823f95c71e3e4dcc0f3d570807be18bc593f8fa0023e7667eb3cbc68a9bd2f40223f3912d73d08deaf3c667d38bd6ce6d43e5558aa3dad688a3ccf3f7abc7ab14c3ea0f36c3de147543c530b293a6cb3143d975bfe3c7160263cd37ca0ba9e0589bdba64383b96a26ebd9c407a3c00000000000000004f3f68bd17016d3c0000000000000000887a3abd1eab5f3c000000000000000049bc14bd87df493c0000000000000000463bc9bc9ef6fd3b000000000000000061b27bbcdf58c63b0000000000000000875d2bbcaac7c73b00000000000000000911bebb2d09963b0000000000000000e63344bb2fb2e83a00000000000000006a14e3ba8760043b3d58213c11c4b33a246f99bbe40b493c44beb83ca2d50f3cc811173a7146913ccdc1dc3c4ec07b3ce160693b0934aa3c6501bf3ca76b723c7f46fb3b88248b3ce681913c2097523c6c7fdc3b8f52713c20771f3cda56113c8e649c3bf543fa3bab0c873b70267a3bb574753b3e847a3b473adebadec7203bc10813bb9b43d0bafca1b6bb9c075cbba3d2b8bbfb4697baac15433cd2ab58bcecff29bb59f0b2bb77cf313c8dca73bc629f7d3a3b6f09bc6aecb43bdca6f6bc0ade8e3b66edcebb8ef9c5b97a5e19bd31b3823b8dfb11bba83705bc4e3f0bbd6f79b33be7bb9dbb20bf02bc995700bdc77ca83bc8dfd5ba033543bc5d34a0bce563a93a1a322d39575133bca9f7e4bba71f8c3a036cc8ba056bd5ba5a80f53bd39064bd685b92bc2b3a3e3a8f9fcf3bba3405be527038bd1f6e8b3bc3fa1b3c78d620bea6e180bd71b1d73a3f4d293c73291abe98b47abd685666bbb6140a3cca1303bef94c59bd19aa03bcff0abd3bb059b1bde6431ebd36712cbc5010db3b5f8142bd3769c3bcd57500bca5c5193992c567bc42af34bce2c48fbb9b39feba661c213cb01ecc3b260a28b9f8f87fbb1b3f403d3f7f5ebefb4f703f8a9ae53ead1b453d734658be970a6e3f5d29d63e3567253d1d032ebe4d355b3fcc46b63ea25b0a3d38a600becf97373f19e2913ee12be33c156bb2bd39450e3ff61c593ec944ae3c31f542bdcc6aba3e5b2b153ecc34963c616b9bbcdb783f3e7861aa3da5e0573c0183c0bb59de363dabe8e73c85de353c26de62bcb8834cbd9e21b2bc2f88ebbde0ebd63c00000000000000008cc9f2bdda34ea3c00000000000000005ebac6bd3995c93c000000000000000096ac99bdcec9a53c0000000000000000b9bc5abdda1e7f3c000000000000000079ad08bdd54b353c0000000000000000df5a96bce6062a3c0000000000000000a899b9bb990dde3b0000000000000000ce22093b3cc4903b0000000000000000c4302bbb728ed7bad999093c40c6933ba1a51fba478edc3bf9a2953c9506783cc9a0f7398cdc6a3ca27eb43c9862b13c75d18b3b5f369c3c3649a63ce9c8a63ccd79d33b94ba773cbf094a3c714f4a3c32d1bc3b2d11653c46e1213c84c13d3cf22ea33b93150f3c9868403b21ee383b9075493bcd25793ba256d5ba0f3c833a607700ba2c8e90b7e1fca7bb036b19bb98ae78bb6ce56dbb099a393c3a1356bca0ea8cba3db503bc99a5173c83d790bc5a2a923b2bdcc9bbfbb6833b220ed5bc4dfc8d3b4481b8bbac73a838cb9711bdee61b13b423f02bb91f492bbfb0e0fbdb464b13b23ebb4ba297bfdbb3bc9f3bc14c0ba3b14f980bb658206bc534ea8bcb88e843bed81f5baaaf409bc79a0efbb9c6822bae62ddaba15f797bbb85e8f3b333113bd9ef223bd260d563b47ba363c1219c4bdb1cba6bd5dca073cb3473d3c8a7c00beb01ec9bd670be239e63b2f3cf23d02be932dbebd660866bac210ff3b4f26cbbdfe288ebd0ba101bc9110c93bf9afa4bdbefa52bd7a2e17bc5ef38c3be1b623bd6930e8bc167cb9bb87089e3a2cac81bca0ae13bcbd688fbb068c5ebad8fcd73bf73c0c3c03a3133acaa1baba7e0d223da15732bea57e313fafd4333f249c1e3d41332dbeb338323fe3f6293fb360013d41d20cbedb5a263f0128143fc432db3c06e0dcbd2ed7103fb8beea3e03649e3c280285bd0416dc3eecbea93e81979c3ca7ee43bd02229f3e0148583eb1bc6f3c8351b8bc45de2a3e0c8ed33ded63383c578b3dbc0a04603d24a1a43c8162223ca6e82fbc7fa300bd2aab2cbd77d12fbefc42133d0000000000000000da2830be631d203d0000000000000000ec3f14beccf6013d00000000000000002b79e8bd1f91e13c0000000000000000071396bd55549c3c0000000000000000b6eb4cbd8dc28f3c0000000000000000c3efbcbcf9cb3e3c0000000000000000afe64fbbd414dd3b0000000000000000b35159b9b757143c0000000000000000731791b867a621bbef28433b4386173cc9ec1bbb0d06b73b89a17d3cfa3fa33cfd7e84b932612d3c33fab53c7752d73c8caa453b7467813cdcbb9a3cc099c53c2814a03b70c2813c98036c3cb1469f3ccdcfd23b010d6b3caa421b3ccaa4503ccc9a993b76b4163cec37923b6294c83b6182223b776d9a3b0da8bab9d493ee3a19505fbac8f031bacb4e53bba83a2cbb825734bb4e2c41bb96f4d43bbd9b39bc405b113b2e49f6bbce56da3b2b4c77bc28f99e3b859204bc3d6e8c3b6b0ac8bc53a7013c1e6fccbb4eec57ba6827fdbcd15ae63bb5a366bb541475bbde8afabc7612bd3b372da2bb33fef5bb8f8deabcb3469c3b6f9ddfbaf9b720bc11bc9cbcf647ad3a8a3bd3baae97d3bbc45102bc9190cc398cc90cbb600032bbfc0ceb3a8aad78bcdca47ebda948ff3b6dff163c7bd882bd0f6df2bd2204533c75d22a3c4899c4bdaba40abe8e68e13b5e7a513ce60fc9bdae0afabd48aa39bbd711213c4588b9bd2be1c8bdb510b4bb45f2ef3ba62b8ebd12a481bdabef04bc8202e03b73dc38bdd8d200bd13b3d5bb0141713af71d87bcf31f2ebc1bcc9abab80613bb4ed76b3bd282183c19c6103b8c10b3ba4280f13c1b96f2bd6e28e13e7d8d713f7dfbe43cbd65e9bdd08fe53eac3e673f8171be3c3ba7c2bd76d5dd3ef52e4a3fdd0d8e3cf0238dbdbc6cc43e6b98203f2e91823c59d054bdee07a53efba6e83e9ae0523cf4fb04bd6837763e4b6b8d3e2b98463cfe57a7bca6391a3e9e5efe3da068153c80f72cbc869d723d0a0a5a3c8063ff3b38d340bc2bcb4abcb6ac7cbdfcca58befb21323d0000000000000000541a62bef31b4b3d00000000000000007b8a3ebe36031f3d000000000000000067a40dbeb956f13c00000000000000007c21cfbdd65bc63c000000000000000007b061bd6afe813c0000000000000000894cc8bc1f1e563c0000000000000000ae0a95bae9cd033c000000000000000086e7303b05e60b3c0000000000000000729eb5ba5f6281bb317b023bb860523c5f1053ba7388c83a3cf9363c4c22eb3c310a8bb9ff90e53beef5983c75dc073d4a13343b3e1e3c3ce98c8e3c5dd1eb3c38bc8d3b177f563c652e4b3c6a1bba3c1e38b23b7224373cf1b1043cb910883c4a218d3b4b45003c75ce7d3be730fc3bba0f843b294c8f3ba65876394a8afb3a3f8544392c7e643a7daf80bb2dbe80bb155a54bbf99a92bbe48b8b3b1ab704bc7483433ba6f71dbc7b070d3b492926bc5af7d93b179d30bca57e7ab95a2a6fbc10401c3cabaed8bbf4bbb4bb4f04acbc1b97e63b1d3635bb1e31cdbbfd86c7bca84aca3b1c553fbb8d22f3bb2ba0b0bc97049d3b900762bb1ebd12bc596587bc06a1b93a3fe081ba764904bc90ed05bc583f2d3a11b10cbbc5fbf8ba2dcb83391eef003b00199dbd2de28c3c4edbe63b14ca0ebd9df21dbe92f5a03c0091213c0da784bd0eb92fbe89b14e3cedd24e3c488396bd00cd1cbe250b403b1942f13bc5c88dbdbd17f4bdf09677bb03f3b23b90056bbdb7d7a2bda09b97bbb1d27f3b754e15bd87b720bd552a89bb08b5283a6dda9fbc60dd02bcfb052fbbd508c5bac63b003becd7643cb4d3a03a03cf03bb01c7883c27926dbdc7f1573e53468f3f3662753cc2ed5bbd83045d3e84528d3fa983283c1aac26bde972603e4d1a793f40c1263c669800bd438c5a3ed038473f9906f33b179ba0bc0246453e50c40f3f05d4ec3b3be981bc95db273e0446af3e5ffbbd3bf3f705bc1126ec3db371183e6411a83b7f69b0bb3479723dfda4203c62ed363b0c77d7bbce4f743b311a9cbd28dd6abe386b453d00000000000000006e9373be91b44c3d000000000000000058fd4fbedcd62b3d0000000000000000c20623be0690123d00000000000000005373d9bd9470bd3c000000000000000005c580bd5f338e3c0000000000000000add4b7bc51b04c3c00000000000000007ba2123b2231ea3b0000000000000000e35d343cc0b1a83b0000000000000000e915eeba6b0ea1bb3964ee3a0251b03ca414d9b9b28d2bba351cc53b5bc21b3d731191ba0a607f3b7421793c50952b3d1504923afe8b1c3c9cf8723ce2e51b3d097b833bdf71453c88b7453c7b31db3c4f49823b3d93153c60402d3c4f5a903ce2a28f3bf892023cfeb3733bd2dd0d3c473f723b7bb0b13b380b023bbc6d9f3a335e6bb5567a9e3af76d93bbbfb6d9bbea910cbaedff19bc93e95eb8c41e383b1b73c2ba753242bcd717e6ba34f380bb4203053cc3fe2dbce27c12bbf715f8bb2b14143c561dfcbba6ca2abb4feb6bbc4f7d033c415066bbec8cd9bbe5129ebc9eabcb3b2164d7baf0a7fcbbe71d84bca6ccae3b8bed30bbacb8eebb786869bcd952853bbc75b6bab301a4bbd92a16bc0188acbaf4f083ba1fa649bba71673b926015c3cee0003be4e4dd73cdc76fb3bd4a4fabb703c35be430a043d6142dc3b583424bdc7a64cbe89b63e3cfaad0e3c1f4258bd7b8b3abe24a3963bd047f13b494a59bd2c5c0dbe929304bbd405143b1a4c43bdaa24bcbd6472a6bb6882643ac91204bd406138bd4297e2bb00befd3936fba5bcf80725bc4b02c3bb7e9809bb7ce2813bda29b83ca250c93b11bdb2bbdb7c343b62fa82bb472257bcaac6ad3f75605b3b81beb5bb35351b3d4530993ffed87b3a7b696abbe0e8523df2298c3fd26510bae1c698b981879b3d8ab8613fdb3ee0387e51273b2fb8b13d861d243fd81ca1ba76f0963be1f5b33d4be6ca3e61456f3a542d333bb1d79b3df246323ef0292b3a1437efbadd965f3d2d339e3c7925fb3a8564cdb84f3b053c5a6bfbbd539078bed7c6453d0000000000000000091e53beb7b03a3d0000000000000000795237be00bf073d0000000000000000406110bef853dc3c0000000000000000387bc1bd1cca9f3c0000000000000000deea43bd679d363c0000000000000000bb5d2dbcd143eb3b000000000000000028598c3cbc23d4ba00000000000000006776a93cefe3733b0000000000000000000000000000000000000000000000009b0253bb684103bb90d8383c1ed63a3d8dfd5d39ac6e613b655f523c465b213d4b2b9cb99ce1133c7d50863c0d02053d346c763bb7e7223c68bc3f3c0f8cd83c73158e3b59f6c73b1c4cf33b30dc8a3cd92b4c3b1c3bed3b039c8e3b5161213cf1c1213b0f9a0d3bb66641ba32288a390000000000000000000000000000000000000000000000000000000000000000b06d843bd47d3ebc8453d4ba7d40ce3bb6d2dc3bd0bdb7bb42d25abb8ce919bbf4c2153c765a7cbbb677a1bbc5c821bca9f7ce3b53db16bbafc5d6bb103268bcd419cf3b104e24ba1d8ae2bbde9c51bce4d58d3b66c4d3ba8311d7bb5d843abc7be9af396cec43ba3354b4bb3d27a0bb00000000000000000000000000000000000000000000000000000000000000001465a3bbdfa45fbe9c87aa3c8e47fc3b0b71e2bc67db47be3f60023ccec7123b03eb2abd0bd534be3ef2c3bb3464123b2a1e2abd1d270fbecedb00bc250ffb3a763a0cbdaf40bdbd7d8a1ebcb31696ba0ce6d3bc627d40bd1c3008bc21aa15bb647312bc85259fbbf72d083a5a4584bb000000000000000000000000000000000000000000000000000000000000803f4787b5bb07ebde3c3cd6febd3da8ad3f993b8fbbf7f4ac3cc99b52bda04f8d3ff16692bbbb58b13cab73adbce0ce693f466958bbc7e2b13c239ab03bced82b3ff6eef8bae9609f3cb0b3d33cc27dd73e10d29abbfcae853ce7bb133dc6644c3ec69b9aba266f263cd623d23ca60e13bc00000000000000000000000000000000000000000000000000000000000000006acc1bbea982b73c00000000000000005155d6bd8b0e903c0000000000000000fb1e9ebd786a443c0000000000000000b33756bd2f9ffb3b0000000000000000a164cfbca604d73b00000000000000006537c63a905b2b3b00000000000000004c318f3cf2f8bfb800000000000000000000000000000000000000000000000000000000000000000000000000000000206fcabb2b92cd3cf5e90a3daafc73bb0ac48e3b5919e93c23c9e13cb54e17bbc4a7573c5f30ea3c9bc6af3c9782063b4fb2543c3a75cf3c511a663c5514dc3a6f22393ce2eda03cd3ec2b3cf2f4ff37e01bf63b4a483f3c94e8973bba6ef53a8d4f583b4deda23b95fdfcb8ab18ae380000000000000000000000000000000000000000000000000000000000000000ba80fabbf6f4e9bab2afd73b8b9dd7bc5eb39fbbd3c867ba576849bcc4834fbd32778fbb4411613abae1f2bc44fd81bd0bd3c1ba658c8038283d0cbd57a078bd65cc18ba8c4e533a711110bdb3c044bde54c843a61ffe83a2714d9bc286cf8bc117bd1398a04043ae3f66ebcdb9824bc000000000000000000000000000000000000000000000000000000000000000047b753bec0d6083d9ae3493c348037ba5cfe38be4be7cd3cdfc0283cbcd4f7ba097021be2a1e513c7fd2253c8172a6bb36fff6bd732b313c94bddb3b29c1bfbb3bb6a8bdd983b43bf95e253bb04289bb2c7930bdd3dd44ba842cccba734396bbd2edd1bb9fbf27bb38cfbcba16cc5abb0000000000000000000000000000000000000000000000000000803f000000006dc1a23c0a0cd6bd01c1b03fd23b36bea7478f3c5378c6bb9b7e903fc95517beefbcb63c15483e3deb4a6b3f7c2006be6174ef3c2553933de88b2b3f7018dbbd118ad93ccbdea83d0880d63ef72194bddd59a33cc926913d2ea6473e64b3e6bc8330573c83e1203da65124bce6e8f03b0000000000000000000000000000000000000000000000000000000000000000f04d1a3b478ce6bb0000000000000000f2ad83bc2c2342bb000000000000000060c49abcb47748bb000000000000000046e78ebc8464f4ba00000000000000001c551dbca8ea843a0000000000000000b828b6ba280e313a0000000000000000ecd9d93bdf719039000000000000000000000000000000000000000000000000695b3bbcc17f343c5b698d3c6358a4bb94cb19bc05e9b53ce0bfe53cc8d99cbb139a1e3af23e013da938fa3c5bf15bbac0720b3c04100c3d8ebabc3cc1a8053b972e5b3c4dbee03c3ac2863cf6613a3b2947383c3e71bb3ce313283ce6ac2e3b1820ec3b8ce27f3ccf10743b32d9e23a7e8fbf3b5e19083ceced52baed98163beb45a8b802273bba5c4e75bbf5b3adbaa481b2bb1b789d3a58ca6f3ce0f3153c25bea0bbb526d6394829f03b06edf9bbee9192bb544840bb47546fbba42f34bdc77e25bb60b20ebbeb7aa0bca4b86cbdf7147eba7d081d382b04fdbc4ab56dbd63179539574b71ba0c61f3bcf17042bd93c4033b309900ba1194cbbc1787f9bcd589cf392e055b38e7d595bc116581bcb11722b99bfdf635d84ca4bbbe91053c6b65f9bd61a9983c1a1f0d3c3f952fbb095d38be2628f33ceb13cd3bd1fc74bb8efc4abed701843c64e4503cefb201bae22231bee315213cffdc273c730d40bba2cc07be8301c43b20919b3b5ffcb0bbf9eebabdac7d003bf07a203bfda071bbfd973ebdd27996bb7dd5003a90a682bbae5c34bc9e3a01bcc60f953aebffcbba1e16813c4039dabaa3950cbb11d46f399462283d4b6c6fbe93d1ad3f7a133abc99171d3db90e28be262b9f3fa0050fbd150cd93c8303b2bd8288913f07565bbdcb3fe43c4a3c9dbc5cad6c3f92cd7cbd9facf03c9027053d0dc52c3f6e535bbd27e0c43ccbb75a3dfdcedb3e56210fbdee51a33cc0036e3d8242483eafa10abcb224093c501e543d7644aa3c6436963c213b153ce619c33b6899e7bd75e2603cafa576bc2d7f65bb0000000000000000889bb7bc49c9ba3a0000000000000000eff419bdffa583ba00000000000000002fc519bd0806893a0000000000000000fce2f7bcae0d623a0000000000000000bacbb2bc95a7de3a0000000000000000b5c71bbc43d5153b00000000000000004ca20abc090d84b9000000000000000048c4153c925321bb0000000000000000cff70dbc648a133c245fec3b4b9780ba6540d4bb2c0cbb3c72d6bf3c1e3efb3ac69c853a9468013d982fcb3cdd2a853b05dbe23b92220b3da0aaa33c7fcdb13ba879403cfee5e43cc8145d3caf3e9a3bf846273cfc08c73c58e0193cbda2113b3b90fe3b150a663c533e403b13c3103b804b583bd602103c4dcfb2baea57e43adafa1d3afbb8e5392fed43bb74d613bbfa0186bbc547973a4e58613c8db5053c2292a2bb149b1abbf371ef3b9f7850bc7df69cbb066451bbc756f4badec928bd76c84abbb797f7ba756a6dbc33bb60bd571b9abac5dec6bad70acebce4d960bd5bc76d3a953cd1b9be1aebbcb4e331bd26c0b53a66e2c0ba913abcbcd47fdfbc26808338571ac2b92a5c63bc1d9c50bc0e0cec3a705b32ba0c5595bbe727903b54189fbde086923bd284cc3bfb0e44bbce4127be01c1c6ba26f05a3cb81781ba424237beab6709bc5e7e8c3ca371a4ba122227bec22508bcac0b623c75106bbb3110fdbdb0701ebc27321a3c551683bb350eb9bdfbdecbbbeacf593bc8c082bbd65c42bd1554acbb8f8b0a3ba9c15cbbd54c52bcc1d98dbb9b956c36458e11bbfa2a423cedbf9ebafbeacabac09021b92c3f2b3dd17e65bee7d28e3ff0915b3ecb8d253dbfce3fbe0e45913f83c01e3ecce7013dab6aeabd469e843f705ad53d47c6ef3cf85b47bde9a25b3f39aa6b3d7427023d3627e43b9e0c223f3dfa053d0c5dd83c61060e3d2df0d53e6806353cf7ffa63c422a2a3d6c9e4b3e051fef3b08765c3cdecc133ddbfffe3cc881bd3b0796f13bf169e73b71638ebdcd7b71bbb29a84bdd94bf33b0000000000000000207296bda0c1bb3b000000000000000068129fbdf22f043b0000000000000000df378cbd171e943b0000000000000000ed235ebd889abc3a0000000000000000e7c612bdd9092e3b0000000000000000ff7e95bc7a07963b00000000000000001b68b6bb44f7823a00000000000000002244fb3b573ba5ba0000000000000000b8dcc0bb5211ff3beb43d73b2461033bfd58bdbb7f70af3ca507a63c4c4fe83b282bd5398a41f63cb062b63c52c12f3cea75ff3b78dd023d93199f3c406b263cff433d3c4688e83c1f1c643c3c3af53bfc31253cafc6bd3c7987f73bb48da43b8c7b033c581c743ca8003b3bd2de573b66fe733b59e41e3c469c11bbd30b5e3aa937d73ad9dbb93831835bbb26f018bb40ed7abb1e58bcba88c7463ca8233d3b20f3b8bb45cf1ebb2adc223c117449bc10da99bb2e4548bbff27bc3a7d8c20bd3e2082bb2cae43bb9c1845bc264d52bd8ddbdebaac5321bbf07fadbc9bb955bd5a503e39450f10395999c3bcb4e02bbda31f363a327396ba14d5a8bcc94fd7bc311f093ba701daba62a862bc59a141bc615ac839d84113b9b25c86bb8783af3b957985bde17b90bc65c4353cae058fba516c0fbe630defbce1d49a3cab260cbb930227bed7d70ebd39889f3c7cfa0bbbe63319be1714fdbc0351763cf06b08bb3557fabd3aaeb3bc98e43a3c337b57bb3884b0bdc1177dbcf226d93bb19bc0bb7a7a44bdcbc505bcd91f333a40b03cbbf19470bc02696dbbb0ccd238bcd41ebb643df83b27c1913b1b2de1bacf2cabba4f4d153deda356be2d4b6e3f9423e53e2c2c163db92337beea7b723fd6f7c33eff18ec3c9c7aebbdd11d623fa34c973ec82bd83c2ea543bd5c2d3e3f7300543ea67dd63c11c305bbb29d123fafec043ed4a7bb3cd9a4d13c13c1c23ed898953d29cc993c5943173df546453e10eddd3c391f523cf672f53cac232d3d0283b93ad65f153c8edea9bafd704fbd3c70d4bcf16df2bd4b018d3c00000000000000009c8109be95f3873c0000000000000000aef8f9bd4e07493c0000000000000000cdeecfbd06f3e63b0000000000000000a597abbdcc68c13b0000000000000000313557bd9145a63b0000000000000000484bd2bc4659a03b0000000000000000f26c85bb3e80c13a00000000000000000561383c3cd2afba0000000000000000b610c9bb387bc73b6dcda43b2214aa3b0db485bb9dbe923cb9368f3c8a405c3c0545143b7191df3c1119ae3c70576b3c2205de3b9f9c023d4f3c8b3ca22e573c793d363cb2fed23c7e50243c666c1e3c75c5143c9299ba3ca0080e3ced58d53b0fb4d03b1c7d683c5709d63aa7cd2c3bf8dd983b2b26033cadc587ba20c68d3ad6a01f3ad1003d39bf405ebb484c23bbb90e2ebbab08c4ba967d433c7c08463ba14f9ebb1f5683bbed49fe3bdb3f46bca32f65bbf866c0bb42a54d3a7cbc1cbd3964edbab17920bb972623bc9bba48bd867fedb91cc6d5badb979fbc5e6a52bdc6362c3a513502bbdfaca7bc511d24bdfea4023b224e83baeba490bcf059c5bc123aae3aa28cbcbad00053bc46c542bc87f94f3a6a29c8bae36352bb6b89ad3b1f0f41bd92231cbdde536a3ce06addba3e91efbd618f7bbd8887c53c7d6e9aba24130fbe317188bd9dd7ce3c725e833a01550dbe52755dbd63c7aa3cb2a89abba198d1bd1d0524bd7dd92b3c154c34bb8cccaabd00dec8bc2987133ceb2cb6bb0ef138bd432b41bcf3a1483bde11acbb47c477bc1b935fbb94a54fb8a5d507bb5810033cf4f9933b06ab23babada08ba907cf03cd10f2fbeedcd303f1800333ff51df03c68a111be1ff5373fec2e213fc397aa3c3b8facbd0f56303f36de033f92d9a53c794013bd4abd1c3fe7d2be3e7c7fcb3c5c0f4c3c15d7eb3e5918803eccee8b3ca390df3cec19ac3e7c3e083ee12b8d3c7448033da4bb333eb5cd533dcc44443c47d0d63cb8cc553da335e9bb8247263c598920bbab9314bdd34a35bd84a92fbe9761d93c00000000000000002f333fbef74ddb3c0000000000000000a64331bec9608f3c00000000000000003dbc15bef391803c0000000000000000ccf2cfbdb409aa3b0000000000000000cd9a8fbd607a143c0000000000000000993deebc5365c13b00000000000000002cc6b2ba6bf3753900000000000000003bff6e3c087c5bba0000000000000000e9294cbb5c26663b41882c3b2276213c643224bbf083493c960d973cc650953cf9a96e3a56dfb23ca399b73c61e2a13cb599e33bf7e8e03c9ac7953ca4698e3cfb71153c66d3cc3cd038663cee06693cd0790b3ca09eb53c3b55fe3b871afb3b79e4c33b59c5813c919fbe3a290b8b3bab195a3bf7a30c3cce3345baf0fb3eb953ae95399abfe03a80678bbbc3a57fbb879731bbfcd85dbbfc06fd3b9b88d03afb38a9bbd7d0c5bb17e7f43b9ddb21bc2a4755bbb471c7bbda5b513b371b01bdd08bc4ba25ecc1bba6a5e4bb0b233bbd7524b1baa24f30bba08260bc45cd45bd36c2cc39a579febacf9879bcfe2621bd16922a3b14f112bba6cb7dbcbe03d2bc56e4013b4099c8ba0e1e1cbc169958bc162c183b247fb0ba45f40bbbf657323bac27f8bc01466abde0ba843c84c93a3acb23bdbd5697c1bd762bfc3cf243b8370916fdbdcd25c6bd175aef3c79f84b3a2fc9fbbdf1fa9dbd4ba1aa3c661c24b96e5dd3bd933d73bde96d863cb3828cbb622a9dbd409016bd14022a3ce86f6bbb199237bd862c87bc16092e3b3c658dbb09f38dbcaa2bdcbad4709f3a73e461bb33a2f23bf72dd93b5436a5b9ec1e00bbc7fca23cc1a6f2bd3e95e23ea1a56f3fb3b3893c4764c1bd641af33eb8d35f3f6e404a3c58f158bd727bf93e310d3a3fccca453ca6382abc64e6e23e87620b3fff48843c99cf9d3c670cc03ed29fbb3e3be6573cd778053d77b58b3e940d543e1144543ceb90063db23f263e7f0e9b3d0e34243cc668cd3c5fc7713d576646bcf52f143c99cc46bba88da4bccbcd80bd5c0555be12ee0e3d00000000000000004da670be4321193d00000000000000009e4b59bee4c2cb3c000000000000000006232fbeec099a3c000000000000000042c307bee2ea6b3c00000000000000001b7ca5bd28f9fa3b0000000000000000f4e50dbde18b033c0000000000000000928ddf3a1b9e12ba0000000000000000e4108c3c2e4bb23a00000000000000000e7237bac8b2b5ba9a0e363b411c3d3c1486c7ba4fa2093cb667803c44dee33cce79bd3acff5863c023db33c1b0fdd3cd65eda3bacccbb3c8cb29d3c60f4c33c94ae0f3ca13dbb3cc6d9673c19ef823c2104e93be2a7a93c673b0c3ccfb6463ca0c3a53ba2b7553c76a8973b9a7a943b5880563b1efe103cec86e3ba456f863a9314053b1a00833af27c27bb58538ebb8a3f57bb9f76a2bbf6a19f3b7b927f3bbaaacbbb92fccebbccd39d3bad9ff4bb737578bbc9cdf5bbdec24a3be559eabc6ba86abbb291b3bb1267b4bb91412ebd14bdafba40b482bb240031bccc8b39bdbf14f3b907780bbb315253bc964324bd2e7f813a414107bb641d3ebcb009cdbc05cefc3a3d2a12bbdb2fd9bbb24972bc2557343b9788cfba229e38bbdcef72baefcc3bbccae996bd8394be3ce644eb39a43a8fbdad9202be6e9f0e3d9dc3343aee96d0bdc49a02be93dffe3c3cec503bfd5ad6bde4e7d9bd610fcd3c2fc3633afd9dbabd54259abd48e7883c3b7fd1ba9bfd93bdeb1b44bd94fb293c4cbc62bb5cbb2dbdb039b0bc6eba8b3be28a88bb136583bca4fa5cbb4098953aef3915bb0a0fae3b0075023c8822b139e2b737bbbf980a3caafc82bd45ff553eb3e48f3fa529bc3bf3fa2abdab0d793ea3308b3f5298403bce8853bce5558e3ec3366c3fcf16863b44b39d3ccef98f3e71cc343f9018f73b581a233d7bc7803ed674f73e6e7ff43bf414363df575513e4fb0903e36341e3c578c163d7ae7043ed6b1dc3dfe48cc3b38e2c73cc2116f3dd9f842bc3224b63b53dff83ab11a9dbb0aba9abd780565be58dc293d00000000000000007ad482be7917253d0000000000000000d30a6cbe7573ec3c0000000000000000e42e47becaaea73c00000000000000002d8f0fbec9a1363c00000000000000008094b7bd83f4193c0000000000000000169b15bd855ede3b0000000000000000bf82823b16d7b2ba0000000000000000659dc83cc80c09bb00000000000000001cd758ba4db593bb59a8b83b7c37ac3c84bacaba14562d3b76817e3ce856083d7ed57eb96660643c2a2cbb3c11800a3dcdbd7c3be1edaa3ceb36a73c8ebaf33c7df5f73b4e29ae3ccd72773c1261b53c8d72c43b35739d3ccca02e3c206c6b3c6cd9753b323d683cebe4503bf694063c600c5c3b189b063ca36e883af5ea0a397a6a8cb804e02e3a67bd4bbb8321d5bbdba0a7bbf0a5c3bb4f12883bc4dff33b6902fabb69ee0cbc2d73a43b310cd0bbe01aa0bb420909bc1d80ae3bbe6fd5bc3ded53bbdca8c5bbc1e2bfba979521bd6b68f3bac7a287bb74b405bcde5339bd3675e9ba942128bb6cee13bc7fa91dbdeb7d4b39dff0c0ba36b30cbcce4dcdbc47e9073b54c398ba2f2cbdbb62ad8bbcf230023b22bfcfb918ffe0b9924902ba6e56dbbb9aeaecbdf3b0d83c489a813be1b925bdbe2220be9b5b373deb5f1cb94e26abbd7dec1fbea6840d3db5cf8a3b7f8abebd420807bea495e63c24f883ba4526a8bda957c4bd2047973cbdce59bad19786bdeff477bd04d64e3c2d4648bb7c9b27bd0dd4e4bc3401913b2e08a0bbde1098bc04962fbbed81a4bad87f0bbb19d00b3c9d2e713c9b1044b7815e79bbc9a1acbaf8aa85bc04a864bcfaa5ae3ff53703bbab6fd83ba2c6303d67b79b3f2bbad8bbfe72c13c3766ce3dd77a883fe013a9bbc679423dd6010f3e0603543f86a5223aa9dd753d59fe183e4d66143f565b08bb033a753d1146073e7b4fb03e34b83a3bec1e373da345c63d5bfd0a3e5712d93a1011da3c592f703dd058cbbb2866a13bab46703b368ffebaade3eabd4d606ebed4571e3d00000000000000003de473be233d283d0000000000000000d5db60be9fa3bf3c000000000000000017a53cbe9781953c000000000000000013d210be32b5203c0000000000000000ef49b2bdde82f73b00000000000000007612f4bc4b408d3b0000000000000000d247783c7ae6e1bb00000000000000000803eb3c72ad97ba0000000000000000000000000000000000000000000000006c67b4bae38dd9b9a441aa3cf16a1f3d24b23f3b113c243c1c93af3cc15b093d82c6ef3b9ac78e3caf04a33c52aae63c9312083c548c863c1e07773c8a35b03c46e3093cbfe8803ce369213c322a5f3c1a78bd3b8ab2263c199ab53bcc5ab93b65b1883a305ce13b489c8a3a9d5f94b900000000000000000000000000000000000000000000000000000000000000007f313ebb1a4628bcb4fcd33b37b88cbbd3c970bb731be4bbf7f10c3b5ae6cabcad5e30babc2f8bbbffd5abbb13d121bd472604ba344f66bb7fc70fbce52d28bd9cd980bab8be00bbe7d23ebcc26613bde54ecd3ab9520dba28e31fbc6432cebcde188139f89956baf2fc9bbb47ca50bc000000000000000000000000000000000000000000000000000000000000000057cd28bd10d740be8d11ed3c79cdf33bdc408bbd5aac22be7bdddb3c41da8d3b2771a4bdca3c09be9e546e3c3c565c3b536092bd90b3cbbda8113a3ce57bf6b92cc261bdd0c885bdf2331e3cd98016bb3e0608bde08106bd95d3513bc0f280bb5df837bc0ff4eeba9e6c103b54b4acbb000000000000000000000000000000000000000000000000000000000000803ff5f918bcf674e23ce6fddfbd6748af3f3f37fbbb52c93e3da55410bc8d158c3f5976e1bbb7b0893dd3182f3d312d603f4d938abafe5f963d456c8b3d62c4203f857228ba29a6913dc080943d98d1c33eb23008ba285f6d3d162c6d3d2cb9303e47f9443b6cb0f33cd223de3ca41474bc00000000000000000000000000000000000000000000000000000000000000009c8634bea1c78e3c000000000000000009a415be0598a23b00000000000000001a0005beb219a8ba0000000000000000e74ad8bd54a749bb0000000000000000adeb8fbdfddae5ba00000000000000008d1cf6bcd4eb803a00000000000000009b34e03ba465073b000000000000000000000000000000000000000000000000000000000000000000000000000000003fa0113d1c32b73b94811f3cce648cbb3a08543d595b213bc6da16bb914e13bc611b673d8ebf0f3ac92f0cbc64c142bc932c443dd17ed7b90aa916bc684c2abc9bc4023d6f3c90ba9318cabb95d70cbc3306a73c690475ba99d894bb0c1a9dbb38bd853be9fea43ac1a30cbb8623beba0000000000000000000000000000000000000000000000000000000000000000bc9c41bc9710e7bba792debc89a7a9bddbd437bc601e69bb2bf0adbdd3579abd42f50fbcd2dbb5b9bbc7fbbd574d7bbd278506bc59a4003bce2cffbd889d12bdc8f3a8bb0072483be0bdd0bd985d73bc686c3bbb43290c3bca448abd286542bb1b0bc539bc3f5b3a3ce3a9bc5bebc23b0000000000000000000000000000000000000000000000000000000000000000982408be72f6a23cf64a353dacb03d3c98bebabd5e3e163db71e333dcc58133cddcf68bd83d6253dfd9e0f3d8646b73b16ffebbcac26113dc160d13c33b2f83a34fa35bc8cdef13c1cfb493c133679baced28dbbac29883c16ac713bba790b39a6dc25ba2820a63a936634bb7c99a43a0000000000000000000000000000000000000000000000000000803f00000000fda4463ac528dcbb245bab3f285300be2b62633d41bfce3dbf96893f01b71bbe6018e63dedf8183e55f1523fffd62dbe4069113e6db4123e8709133fa3fb32bef5870c3e87cdca3d1f6cb23e0c231bbecbace03de757483de38b233e47cac7bd4a5d6a3d2540edbbeb0705bba83119bd00000000000000000000000000000000000000000000000000000000000000008a9b87bd16c9b0bc00000000000000003aaadcbd826caabc000000000000000097d9ecbd2a404abc000000000000000075cdd7bd3c9a81ba0000000000000000e8e999bdf89c2f3c0000000000000000572af2bcd70bdf3b000000000000000004e7303c60e2f03a0000000000000000000000000000000000000000000000008870383933f6fa3b374b5f3cccc10bba1a7ebc3c0ec8ca3b7997483c401243bbe4745d3db69d073b8a58843a5415babb602d783d7e581f3aea5df7bb9d6927bceeea553db82c51bbadfb19bcbc840bbc5ade283d264de5bab1b20cbc70dcecbb2221c43c475a8eb9554eb0bb466988bb6d59223ce21eb13921025dbb5a551cbb62cdaebbfe13fc39815e3fbacc94b939745ae2bbc17d88bb082ce93cb71126bdf9a23abc5a33a6bbb6c3b7bbed2e87bd7fe458bcf37692bbdcf598bd1293abbd993f2bbc16480eba4463f3bd25f281bdc7f302bc83ccab3a153003be8a0818bd5475bebbabc1f73a7b69e1bd816590bc7f5569bb8697e83af9f694bd5c046fbb76b5043abadd01b8b55a11bd72c1863af68d2a3b4688adb6a85a0e3ce1501e3c57b5c9bd78376abbdb1aba3c0b7ca53ba72805be5389c43cb77a273d2516923b396fdfbd407a013d706e3b3db510033c1bde8cbd970a0f3de4601e3d6ccf6a3bebd308bd8d33063d2f12d63c081cef3ad7e49bbc1d1bcf3c2438673ceeffaf3ac44affbbfeb6683c6f796f3be5c6c43ac040033bec02bf3bf7d104bb4f70083b1a57b33baa2881bbd1c3fabbfb4e793ac7fbf5bbfe9f2fbee66fa93f1885623d71086c3cdc28d2bda5ada23fda15fabcbcab083d6788553d85148b3fccc263bde08ba93d666af73d6f56553fe369cabd39c8023e4314093e9c7f123f7b69f4bda942f93dc465d33ddc00b63e9169edbd4574d13d0965483d5607213e4b0899bd393b863da70c6d3cda80403c2a30b6bc98243f3ce25310bd2ab2abbdc42503bb54a018bd5186e1bb0000000000000000235cb8bde3bd88bb0000000000000000d5a104be7e3a4bbc00000000000000001ee507bea9006cbb00000000000000000ad5fdbd4794bb3b0000000000000000900ea3bd943a533c000000000000000029e711bd04492b3c000000000000000072300b3a22da8fbb0000000000000000f37fd73cf99d66ba0000000000000000cb1e59bb75f9b03b525e423c2c37cf3a9a52c73c19dee63bead2413c8b5090399cb2533d2c15093be9426d3b17b0a8bbbad5773dfaf6a9baf9a9b9bba4f8f6bb6b5f4f3d432f98ba1fcc0fbca9170cbce2892e3d27c428bb5212efbbfdd4edbbb25bc73ca2c9d0baef7a96bbe98eb4bbe892193ce0478c39139064bbca0d35ba274365bbe5f7933a546e98ba0b449ab824f0d8bb235e44bbe945f53c7358f1bcd49c4bbc7195c7bb1b5c14bc75f091bddaab5abc3cb3a6bbb65181bd9123b7bd84d339bc9a51faba3372debd662e8fbd70570cbccc289d39bb3cf2bdd31f37bdca45e4bbfe87153b9ea0d7bd1bd6c0bc35b506bb21bb3d3a721b8dbd6b24dbbbff7341babd0e9fb80ddc04bd4a44293be1939c3a0e6c223a0519843bb22aed3b1be28ebde69348bcca518c3c528bab3b4995eebd17b4a4b9c99d293d3f74143cb4f1d4bd89655f3ce3ef433d63904e3c2b1e8cbd49b0c53c6bf8223d9070f33bdad00cbd80afc73cce07ed3c4829d13b9723a0bc5da6a43ccd238e3c8ce4013b0143fabb7d875a3c88b5b33b37720e3bd5150eba2981673b52d639bbfbfa813be3bcb83bb4e83bbb44d59ebb1a4cb23895843c3b785f41be5b148e3f1070813edceb6e3c92dde8bd5bbc913fd751373eeb9feb3c0d63fb3c7f4c7b3f1762e43d8c4a923d93d1d83da478473f18cac23ccd11e63d1ce2ff3d8d85093f5635bfbcde67e13d66b3c93d7751b23e2d1e71bd3051c23dc6bf3b3dc488253e70ca51bdca09713dcd7cdf3ba1c7bf3cdfd4e5bc10587c3c684de4bc2a5066bd25ed2abc4a8490bd39e82c3a000000000000000093c304bed51d02bc00000000000000008c481ebeda30b4bc00000000000000005f3c2abe780ac8bb0000000000000000c52e13be48b0d6bb0000000000000000cd8cd7bd4134423c00000000000000005d0a59bd3dfc293c0000000000000000b9a6cebbea563d3b0000000000000000d01fa83cf54b33ba0000000000000000464923bb6819a53b6910293ccd756e3bede5bd3c9816b83b90785a3c8f22363b3e2f4f3d1c60273b2fd6773b7a0d1ebb9d44703d346adcb9275b5dbb5671aebb40d5623dc7b2faba750c09bcc2f705bcffe62a3d5a9a2dbbbdced8bb2cd6eabb7bf1cc3c8de0d1baff447ebb27f387bb20be1d3cbbe8983a7e2981bb19b487ba0fea94bbb38f473ac6dfb2ba6b94353a3496d6bb843c57bbb960ef3c945b0abd40ad4cbc92dee9bb0d5a64bb12ee92bd53f95cbcd3d1d2bb163277bd98f4b5bd673848bc2e7e19bb0e35cebd397c96bd1d1524bc25028e3aeba9f4bde7e446bd13bfb7bbfb5c563a7e6cd1bd608cc9bcd54380bbd2d5db3afd3790bd87b1ddbb945429ba3007b038386b09bda526553b49c9983a6c0b783ae1e5a23b30030d3c20c370bdbff8e4bc05098d3ca876033ca508dabd803ca5bc0bda2b3d48de563c9575c8bdd59c29bba098413d3a83863c39cf8bbd04c62e3c94302b3d27f50b3c2f4114bd8b89963c8ab8003d2308bf3b1bd9a1bc679c823ce47d8f3c13f5783b861c1bbc56c1333c117ac13b67e7ef3a956dc4ba6b0e703bc45086babf18063b10d7ad3bd3fe4dba1d1de7bbbec478b8a86794bb17c22bbe8ab16b3fcc38f53e458a0c3c7affd2bdcc91743f7554ce3e6b669c3cdd8e063d32e55b3f3ce6923ea9d8643db499e33dece92f3f9130273e512dcc3da290053eca50fe3e5691873ddcd3ca3dd739d03d5f32a23ec154af3bdc64b83d111f503dff541a3e55bcb1bc47026f3dd766a13b4c3ffc3c5793dbbc1f9a793cb0400abd37c542bd2d7ecbbc417cddbd9c4614b90000000000000000911634beecc2d2bb0000000000000000927345be43bbb3bc0000000000000000765443bede1c25bc000000000000000011b12fbee3179cbb00000000000000007f6cfebdb51d173c0000000000000000604088bdd8ee653c0000000000000000036a4cbcd1ddb43b00000000000000008b21993cce7f8e3b00000000000000001ff34dbb55219f3b3688433ce7ea813be547b93c6a81c03b5f754b3c97db8b3b66ae483d2c6f143b75fdc53b6d398eba834a763de9340cbac6e228bba29ba3bb296e4c3d23b289ba2262efbbdeace5bbe7f6303d71f32ebbeef2debbd04fbdbbed53d13c537426bb4dc757bb159a8bbbaaf3203c3f48a9b859be40bbac0ffeba4bb757bb5aa846386e16e3ba104d0f3a0ec6d7bbf43288bb9e3be83ca5a2febca54449bc6e2ae8bbe00c5abbba6d90bd3b3957bcd5b2dcbba48155bdc082bcbd24a254bc605545bb20dbc8bd2cbb9fbdc9c81abced9657386c77dbbd26015fbd2101debbd6f07f3a424dccbd6723e5bc1f3541bbd0b3cf39816d8bbdae3216bc001773ba6d71b23ae1fb06bd6b63243bff69e73a565c1d3a0ec45b3b64b9253cd72255bdaa3f11bd5e98483c531d473c8f18c4bd3b621abdcee02a3d5ba0823c336ac2bdacb787bc4113493d73ab853ce42287bd605006bbc599313d33445d3c3d7d00bd23e2fd3bf51f013db0292d3c1cd2adbc33d34b3c462ba13c3819773bdf26f6bb263cdd3b7ab0f13b4c0a213b4923b8ba067aa23b6fe174ba82b0383abfaa893bbc4bbb3905a4debb0c6c88bae3a0aebb0baf14be38d1343fa715333fdc768c3b5f31a6bd847e403f474d213f3603103c5449443db5a9333fdb6bf43e4b78363d7b2ffd3d1625153fb72da03e0090bc3d1b1e103e7652d03ea683383e1e6baf3d4c55ea3d4ac7913e817c953dcad9a63dc6f36e3d81cd0a3ea136033cbf67613d6f200b3c95b8f23ce9b2b5bc3615823cb7bc04bd5d1e20bd93a118bd115d0cbe322e65b90000000000000000bb7257be4d111ebc00000000000000005c5361beb99ed8bc0000000000000000a39d62be676a75bc0000000000000000a42036be46d8c3bc000000000000000019281dbe132c2f3c00000000000000007b8f9ebdc4de643c000000000000000061b08ebcd363e53b0000000000000000eead8a3c1a7a113c000000000000000069607ebb94dc8c3b54ba343cc96ee23bfc8b9f3c2e21ba3b89b3803cf793cf3b413f423d9991353b8825e83b0434a03a11f46d3d16dc2cba3df5b7ba5c8336bb63f55c3debf1c6ba05bcc7bbbc62babb3caa323dfd1b92bb72c199bb2806acbb98d9d03cb8daddba7b017bbbaa3860bbe468233c0dbfb4396c5a53bb5a58c9baf7c186bbcc884f3a9d0bbcbaf2056f39a7bafdbb25696dbb3009d73c4120cbbcfe3c31bc8e9725bc4571bb3a421987bdc1c266bc2c86f7bbcf663abd1b1abebd8c0f35bc92d8a3bbba70b8bd4bee9dbdf70a25bcf26f9bbac07bd9bd5d0a5dbde45ec6bb6acd45bad141c4bdf08cf3bc580888bb19088a3afcea88bd58c733bcae79d0b94181b939ec9304bdafc6a63a448d063b44257739e464763b83510f3ce5b637bdba8145bd8c76433cdc72503c632bb9bd06f571bdc31b2d3d1e0ca63c377ababdc9940ebd9bdd4d3df904aa3c8d258cbd848a6ebc9261363dbf3c723c9e1a21bdc7cfd03a56170f3d99fc1e3cd165bcbcdc05633b6cd9c13cf616aa3b323825bc9ddfbc3b76042d3ce022da3aa1d9e0baa0583a3b2e1bf5385af4943aab00c53be2ae6c3977faf2bb10ed61b930e87bbb1716f1bd3b30f83e44406a3f272d12ba30c35bbd5b0e093febe25a3f90da8b3a41da813d32d0093f22c62a3f6da4033d88a30a3e5875ed3e8e48ec3eef39893db6f11e3eae7bb63ee72b8e3ed1f5953d46a1fc3dd951763e60bc113e5983943d23848e3d30ecf23d4431293df670453d126d803c8e94ef3c7b6e81bce5f1683c2096e5bc395708bd6b743cbdc4ab27be80d39b3b0000000000000000dd6b75be79201ebc0000000000000000bdca7cbefab1edbc0000000000000000166e71be6f70b5bc00000000000000000d325bbec95d67bc0000000000000000c85922be51694a3b0000000000000000c9a9b8bd5d91563c0000000000000000551bc1bc5f121c3c00000000000000009e05613ce91d313c0000000000000000d2d6b5bb277b343bdfaf3e3c0474e93bc2ad913c3a7c943bba95913cf6b2123ceed6313d7178883b6b9e3e3cf72f1d3b7d3c683db1fec2bab95f343b855aaebae525573d4a89bfbab5ca7ebb97459cbb09552e3d2f55c6bab8a588bba75c96bb808dd33c27c9c5ba49ec50bbb64322bb53f62f3c9e90d9b7bac81ebb77ae97baaa9d4fbbdfcf113acb1aa9bac3b41dbac98aacbba7e298bb8808bf3c55ba58bcece639bcbe8921bc45ac983ac75772bdcbbf4bbc1ffd2bbced591ebde655bdbd6c2054bcb217b1bbc52ca2bd1e99a7bd250513bc5ab82bbb1e59c8bda79a79bd2c1e01bcd2417039d911b8bdd02517bdd42a96bb3fea1a3abeaa80bd91dc7ebcd8a880ba2acf88b85fa801bd85a040bab523ad3ac86dbe3a3e19c63a2d020b3c344212bddc4c76bdfed95b3c9cf0513c00a4a6bd4bcda3bd1f0a303d1c18a73c2dc3babdb9be5abdc535483dde8bd53c32968fbd8bb2e0bc35fc413d93518b3c923b26bdaae606bc50ca0f3df93e513c8e71c7bcaf1ad5ba1908c93cb7cec63bdfdb1fbcdaeb313b077d203c1e2c133bcf77eeba08d00b3bf9e5843abfd7a33a7855a13bd6b51c3be826a5bb00bf49bb9dded5ba09d9acbd6d7c833ee2cf8d3f13f597bbc49094bc0a9fa23edcc6873fcc0260bb4584a83d22f8bb3e08d4573ff9e5963c0e13193ef64db13eb7b51a3f747a703dbf8b283ea29d8b3e3434c53e2ec87a3d4e0a0d3eacf5443e1f6d593ec608833dfab4a13d211ec63d1e509d3de4b3293de06cdc3c710fd93cd7007cbcd5854d3c66cea2bcaedcbfbc0e1267bdf1b33abee5c4133c0000000000000000876982bed08816bc00000000000000009d9c7dbe286d16bd0000000000000000a6f37fbe1799ecbc00000000000000002ede56be5bb6eebc00000000000000007ba22ebe1174e8b900000000000000001078c5bd659b3c3c0000000000000000bebbb8bc0b87fd3b000000000000000008ad813c6a70273c0000000000000000b274c5bbade8823b3d45673c177b403cadc2593cbd4b553bfe58a33c63bc333cb35e303da979093b5ca0543cf8d9e53be05f643d3c0626b7ca8b7c3bc7ea1eb916be5c3d4eeb08bb321c2bbb814a70bb958e323d1bcd30bb17dd5abb37df24bb13d3d03c72ac6fbad29501bb76d02dbba6d4353c98d2223a45eb27bb71aa8cb933d4b4bb8302993a6be821bb585ac5b9bbc4babb6857fabbe1fbc53ca8072cbce36b27bc2e5544bce4e3923b48b048bd80d964bca40328bce9f603bdd1d3b9bd166140bc55b0f6bb095094bdac09b1bd3ebf24bcb6f12bbbdb90bfbd7e8280bd4df102bca23f90bac2c4acbd516724bd511377bbb74de9b973477abd295e91bcabeb8eba879385b97c13ffbc4631bbbb60cdf23a02adbf3a8d43643b650f3d3c2df129bdc9dcb6bdb9a2453c624f8e3c791791bd6e9acfbd4c7c443d5684bd3cf11eb0bd4ae897bd90d2573d64aeca3c842e8ebdbfb42abdf87b4a3d8c65a03c75b02cbd44078cbcbfb41e3dc0f2513c6996cebce5841abce787dd3c5e9cd33bc44022bc43741abbbcbe5a3c0870b43a6e1be8bad91f573a84eaa43a961a873a7a7c0c3caff58c3be326ddbbc21980bb53b61abc7d3d4bbd94a8613ded02a93f3b23c2baaf3e393c568fda3d8ba99c3f6bd373bcd6c3d23d826a5a3ef9727e3fb839ac3b99cf293edf64733ecdd9383f4e97243d1eb03d3efcf0523e346def3ee5a0383d747b1e3e6408163eaf2c8b3e69424d3d5fb0c53d6b3c983df417d33d7d8e103d387a223df8e3e83c0dce41bce766503cba8e9ebcbda005bd93c8abbd7fc22cbe8acc3d3b000000000000000047827fbec29a6ebc0000000000000000ea2979befc9930bd0000000000000000d6b976be08a125bd0000000000000000f1925cbed3e80fbd000000000000000049c52fbe0b41e2bb0000000000000000c209c9bd29c5103c0000000000000000e50d93bc7c25dd3b00000000000000005696783c0aa57a3c00000000000000000000000000000000000000000000000039528d3c3244003cfb6da23c8860563cad5d263d865cba3b4882403c333f993bdc1b5d3d9f90593be172293be95dcfb97225553d52eb23ba689c28bb27888fbb2915243deb9ccaba65b89fbb6ed910bbec2ac73c65fc10bb9332ccba492252bb96b5e83b2a8348baedd6e5ba53a49aba0000000000000000000000000000000000000000000000000000000000000000c3ff16bcf5a25abc7fafa23bd9f574bd827828bccbe93bbc3c5417bda702b0bdf61032bc8552cebbef3298bd64ecafbdb51705bc69fc8bbb131fbabdcfc385bd38eff9bb9ed8a6bac132a9bd1a5424bdebdb8abb1a24223a072071bdc53e94bc48db58b9bb2d4e3ac3a6c7bcb394063b0000000000000000000000000000000000000000000000000000000000000000d90badbd69a2e9bd65c3013de9d2fb3c6cd3a3bd328695bdb3d4303df6a3e83c853a86bd29ac3abdad22293df988b53c850f2bbdee57b5bce670133d63f18b3c8f47b3bce4843dbcc17ae93cf91d143c58b8e6bbc4448ebbff49703cce19343bf9b4963aec7a64b835da0d3b87c6f0ba000000000000000000000000000000000000000000000000000000000000803f2ae08dbc418e0f3d1ed72e3bc779a83f0117b8bb9c7bee3d8f9ece3d9248843fbece8d3cc690333e31b5173eb404473f0960363d7e5b403eae12093ebfda073feedb693d4ee6213e6e63be3d3296a23ef905663d6acfd43db3eb2e3de8a60e3edac90d3d1c670d3dbf6ec7bb4112c0bb0000000000000000000000000000000000000000000000000000000000000000e72a16be142137bd000000000000000044272cbe9ea188bd0000000000000000d8db38be6c948abd00000000000000003bc637bed72265bd000000000000000027db1dbef135fbbc00000000000000006911c4bd1da1bbbb0000000000000000ef850abd79d45c3c0000000000000000000000000000000000000000000000000000000000000000000000000000000059bd7a3afd7f64ba0d20b5bb121a15398d26ef39623292ba907a79bbcf86a739002e41b9ac63acba88173bbb8bb012b8cdf3feb9aae4a0babbe2b6baf4b20c3956f7e3b9a8d269ba21b599390e1b733acb140139bdad013a6cf81b3b0178d83a503eda3942fe923af71d6f3b27e3063b0000000000000000000000000000000000000000000000000000000000000000af2d013844248ababcaf55bb3d0a8dbcd41c23ba463b43b6b92c44bbf2a483bc8e022cba1ede0db806ec2fbb6f7672bc88cc9dba84f573ba8a9c29bb8c5561bc2189aab993c411b816b908bb908049bcc35676b6c8d94d38c2a504bbce5425bc6f613d3a88f8263952e8abba7adddcbb000000000000000000000000000000000000000000000000000000000000000026422dbdfab4b1bcb72499bb45d6bfba1d1a33bde335a8bc9c5eaabbff440bbb673829bd220799bca746adbb31460fbb04771cbdd4a586bcb514a3bb9e01f7ba1f1710bda9e364bcc1d5a0bb1b61c8bab34601bd071e32bcea819abb60df8cbaad0dd7bc8c83d9bb81f37dbbcdfd43ba0000000000000000000000000000000000000000000000000000803f000000003564143c01344bbc367b833f27ab6dbbe6100c3c073807bb247d5d3fb25d233b11dcfc3b004e263b783d353fa478a03b2401c93b19464e3bfe2f0e3f2f84863bde68893b42e1b03a26bbd03ea0de23392dfec03a06ce3fbbfbf2853e2868b8bbf6d680ba96f013bc46f8f33db5ab50bc000000000000000000000000000000000000000000000000000000000000000092a68c3c70032b3b0000000000000000ce296a3c777a413b0000000000000000ad0c3e3ced245d3b0000000000000000e7d20b3c587c583b00000000000000005bab943b60371a3b000000000000000072596a3af2d09f3a0000000000000000959a21bba645feb9000000000000000000000000000000000000000000000000051c093b1a92aa3a5b5cbabb83b1c0b914ab1e3bf9210f3bd87f91bbf26eb93ae255743a862aea39b09a83bbb404183a019a1b3a5d7021382ccf17bb0b6a863a317f47ba33e05cba280c90ba2e20203aa42cbb394e513e3aa6bdc93ac5fc093b6f71513a0e18a03a82435b3be5f82f3b42a56c3ad46cdd3ae40c983b92e93c3b269ff539407e8f3a4387703b1b9a183b952b863af517b9397e7941ba88b87fbca5fdad3abbdb9e3ad5870abbab27afbc6b4eeab9ac33d83ac5a632bbf3ef98bccdbf12b9c6c50db97ddb3dbb53c890bcda3594ba497d1f3bb467c8ba9f2364bcfb5a27396d5a1939280d01bb945c59bcf70a3e3ab94a8b392a4ab1baef6222bccd308a3a21a8bf3a33b4deb96ef293bb7bc59e3a4c709838dcc0aeb80ba874b92e3bb9bce3e287bc68c483bbf4d5e3b8d40b3cbd3458dabc7bd7e0bb3de6b5baf51c50bd64d8e4bcf63301bc47e32abbb1784fbdce14dabcd8d0f9bb9a281dbb989b3bbddb1fbfbc3ddaecbba5ab3abbf9be31bdcf59a4bc27fdd4bb1402f7bacfe21abda7f976bc556eaabb610c91baa817eebcd2a60fbc99fb5dbbb93318ba5c7a73bccb7df7ba2c53bcba3d8ef7b82069043c5c2d15bd68d9823ffc51f23dd2893d3cf05c0ebdd349733f1902e03dc245343c244c89bcde694e3fc997d13d94171f3c7b1218bcef17293f2bb2b33ddff8103cfb0990bbabe3033f89a58c3d622ea83ba777e8bb85b3c03e3595443d26bf133b073129bc5871753e1578c83c371cf9b91bb782bcfe69de3d9c52d03967ad08bbb9886ebc8bc91dbc94287bbc93038b3bb794be3900000000000000007403fb3ba4f1be3a0000000000000000c3e02e3c12147a3b00000000000000008392133c4d738f3b00000000000000008088a93b3bf65a3b0000000000000000ed14cb3a9c492d3b0000000000000000a3752abbc698933a00000000000000008426cdbb076408ba00000000000000009658babb45f6adba0000000000000000c847b43af90e933adaf155bb11f770389280953a37a5663a456185bb51772a3a8d678f3a6b237f3ab80a7fbbe32807baa854a138408bb839d03b25bb9b23a439fa95a2b902eb36b9529c83bae1a1b7390389103a02b69d3aae7044390f26433ad83691ba56e0763aa2150e3b994d093b3f06303a1356c73ad9f5633b2e81303bbd55e9398ff8323a82d56b3b6446363b32511d3be30b9839eb3d8ab955354abccd17083bde75cfb7cb5498baf4ec8cbc87b839b7c43f553aae88debab9de6bbc2d7aa439ac22b03955f60cbb5dc77fbcee0dbbb9dc226ab94747d9ba763338bca7e5a53a2c5359bae227b1ba8ec324bc852b3f3abc02b2396a988dba7cbdd9bb6888c73a524414393468b7ba90f587bb36c1fa3a1c5885bac0cc97ba511257ba83575abc8e8866bc04a6d9bbeebe11ba835803bd68e9d2bc8ea71dbc19308fba3a2f15bd1beed5bcaf120abccad1cabaa97d2dbd1cf5e7bcf4410ebc5387edba08ac12bdb0f9bdbc2cf9e4bbeb11cebaf00917bd13ccc3bcdfd7cdbbce7280ba8090ebbc7e2d86bcb6b2a0bb0df56dba9449c2bcce692dbc3aec38bbdb1b95b9637b38bc033e5abbafa374bae8a2f3b9c412dc3be9ca15bdbba95c3ffdf3843e6629353c31d71bbdf5e14e3fdbda753eddca1b3cf6daafbcea6e2d3f9303583e892a233c269287bc47b2123fc69f363e8c25fa3b8aa22fbc90cce13e32b90e3e43dbd23b33c740bc3df1a83ec5c7cd3d25ad543b3a5147bcfede573e79387f3d0cb2493adf2884bcd3a8ca3d6b26ad3c7b978738cdd656bce8266bbbac3d36bca118cfbb32e7ff3a0000000000000000f92f7bbb02428f3b0000000000000000578141ba1c30a73b00000000000000004800673ad88cb63b00000000000000009aabd1b8d6eb953b00000000000000005335a3bb3c35883b0000000000000000755cc3bbc63e193b0000000000000000d0b518bc35cc313a00000000000000004ef0f9bbae39703a0000000000000000fffcb83a2433a83a1ace83bbbcaf12bb234c50398c8fc93ae89793bb4a5a20bb66bb553ac1f8f639904b6dbb696ccfba23c754b9527aa638056117bb312137bac35b9e39c81b13b9ba4144ba20c3e4b8a84314374e6a6039f8b5f23926cc943ae2a0ae38fce71e3a2338fe3acde9f93aff741f394919543a50532e3b1d66113bacde833ad992c03a017d903a0c6a143bf6b9883aa3c0293aad262a3acc8a26bcb74e963a0809793a08515eb87aea66bc902c053a81e4d539676193bae28057bc5da98239692a61b9ff0c9cba6d4c40bc23b57939f683c33a6bfe10bbbe391fbcafac013a993b92b9fe9b77ba796609bc6c76a43a33767e39b80f5fbabd19c8bb17abb23a3c096a3814c23bb7b48f25bbee83e33a1afe8cbab4b905ba2032e93a65c10cbcf4923cbc114b02bce8f10c3a8a8ec6bc9b3bc7bcfaf738bc7708b8b86b2b08bdb052f6bc9a9134bc779bb5bafc8b10bd449cf9bc972226bcd475f3baf30f07bda703e3bc2ec026bc855943bb92b900bdad24cebc3d1ee6bbf82498ba64ffdbbc5692a7bcdb36b4bb734d69baf24ba1bc3f895ebc3fe442bb68f376b99cc135bc006379bbf8f71c3a5df1ac3ade8fce3bdb33febc02aa343fba92cf3e19e9293cf02a07bdee57293fb3afc03e03512a3cd281b6bc2fb6123f8e08a83ee43a213c620c84bcc5edf23eac128c3ef33f113c65b93bbc6ffebe3e5a0e5d3e8bcecf3bce0949bc9f058d3eba79213e43a1873b46a159bc2c7d363ef041ca3d95e7093be3e674bcae16ae3dabce2b3d0463c93759e73ebcaabc8bba4e44ffbb0ee97abc662f813b0000000000000000d5417abc5dbad93b0000000000000000525d11bcbb91eb3b00000000000000007893e2bb7fddda3b0000000000000000632e06bc692cc43b000000000000000047750cbc6a6c923b0000000000000000a73431bc400a3b3b000000000000000030974fbc6127913a000000000000000074b121bc9aeffab90000000000000000e1e9aa3ad8e9ec3a613e39bba3dc3cbb111186b8874290b81d3340bbf99c47bbbbd692341e9c80b8f2073abb58a31fbb6831e2383e2a6db953ef09bb87b6ceba78a145baab1d33ba24abafbaad3b62ba292db9b908f92fb9b8c0e4b7be2c033a4fccff37fe3390390566773a79cfba3aee0f0bb91bf8043a7bd9013b19321e3b84aebeb977b215b9ae30c83a5e32f83ab8ac303afe4df23ad67ecdb9d66005bc1e5b18382910a4b86fa94a3a8e653abcdafc343a5f84833914ca40bad1b620bc38c05a39b22d0a3977ea45ba4e1522bc01fc9ab64532cfb92def60ba1d36d7bbfc5d243af4f8cf39235469ba39eae3bbcde3923adaf7253989f32bba98af9bbba9e7e13a9c151cb81a779fb9a07723bbb0eca83a425d0e39034e8f3aea6c853ad6a6dcbbea182bbc4a9a25bc74b322bafa329fbcfd63c7bcf01b5cbc2134af39908acdbc6079edbc8dae45bc90adbeba8d97f3bcd95e07bdc97345bc9288c1ba308cb2bcc4cfc2bcf12200bc1b1089ba0107d8bcbab7e7bc6fd106bccd2a77bab846a6bc1231afbc35beb1bbc6d651ba7e757dbc68c883bcc26e23bb5aca2d3940a3b7bb2854b9bb299e923a21cb0638b9928b3b8d93bebc06dc0d3fedb60d3f1e010f3cd48fc3bc76f0033f4280033f31390c3c426261bca915e33e9db8e13e3d3e113c706036bcd5debf3edddabd3e92c6cf3b0737ccbb1c75923ebda1903e690fcc3b23ad1bbcaf5b613e526c5b3e5f25823bb26e21bc01fa0f3e036c0a3e09751b3b1d4e4cbca23d8a3dee617d3d418437baf69c1abccccc04bb7a9494bb227ec1bcaedd8c3b00000000000000008d5ec8bcb0fc0c3c0000000000000000fb9e79bc82cf053c00000000000000001dbe59bcf9cf033c00000000000000003a2a08bc8743b63b00000000000000002a6e52bc601b9f3b0000000000000000911e55bcf3713f3b0000000000000000c22679bcbc1be13a0000000000000000b85b47bcf24fa7b90000000000000000333f3c3af980ec3a8a2100bb379561bbcbdf543a65b4933afc2a24bb4f778dbb7f238eb8f61d5c390da1f2ba6c3661bb00ebd3b974ee88b9a641beba4fb60abb9367453accf50dbaeff163baf68c74ba2f68cdb8f58b743aa10cac3af2ddc73ae8fc51b8f8af143a2594dd3aad97123b5992b5382fdb363acba1fc3a8a21333bfb6d5939d4506a3a60b1eb3ad781103be9505db9ec24c43add83173af86f13bc61d4d23aa015d23ad965b538feec2dbce535763a02753e3a80594dba5f271abc84406a3a95f8033a572985ba34460cbcfd0a823a6a666e3a878447bac960edbb4c23293b0e9e86bb178e18ba3a96b9bb2f0faf3a971f4a3a135f9ebacabea4bbbc13df3a3dca01b839e4f1b927e72ebbd768c13a1f102039823aa3b97f3708ba1995e2bbb08a3cbc4cf447bcaeaaa339901499bc552de7bc391f8dbc5a54dcb91c7cccbcd76b16bdec2e85bcf2cbd8baf22cdabcdcb61abd44846abc4466afba17dacabccb270ebdadb559bc12c82cbbdadbf0bc88e802bde4990dbc4e198b39e8839dbcc946e4bc5a49e1bbbb2f4bbac38356bc3dd4a3bc207e39bbc7618e3805c0a2bb98e012bcad66393ac0eabc391714a93b736062bca656cf3e43d0343f5b66d83baa1976bc9389c13ead13293f1a51003c229bffbbf6a8a93efbfe113f0049fa3b5110b7bb49378e3e2b34f13e1a8eef3b947e91bbda30623ef8eebc3ec337c43b221dc2bb88c6283eca088b3e85a37e3b835e0ebc1f89d83d4b75313e013d113b26c436bcff53493d2c43a33d9398133aa0350fbc7f4620bbf68f94bbb19cfabc9a558f3b000000000000000011ce0bbd11c4243c00000000000000000b57c3bc9519263c000000000000000010e096bc7a4d123c0000000000000000a47375bcdc3dc13b00000000000000003a1d82bc14f2b33b0000000000000000041291bc61444f3b000000000000000005479bbc7ba4c13a0000000000000000683764bcd9ac92b8000000000000000052e0fd39c31ca53a2742bdbade0a98bb04a3c239f7e4403a925ec5baa700a8bbdfc2dc38bd2611b8563883ba16a251bbfdec1dbafc7aa8b921f643baeaa21cbbef09f5b9f18b35baa45abdb92273afba331906bace764fb999b7583a12a0783a665918b97513033a6806da3ade23b23a15ec65b98e60ad399219b23ac823933b26c22cb910af67394bc6793a85ee6e3b4c3aa23a6780293b7e5983397579d8bb9d790d3b8f69f33afc49b8b9cb3315bcbd9fcb3abf0d14ba319a70ba296af0bb69f0b43a80b0813af616a2ba3f13f3bb8c5389399285213914e858ba05bcc9bb1206ae3a3a2a6e3a5e42a7ba6588cdbb8fe5023b608ab53892de68ba9e6c90bb82c5503b47c3673896c14f3af371f1baffab263b3fc815b8bce58a3a2d7fecb84d7407bc11ea74bcd7c06fbc9849f9397efd9abcfd7a0ebdd37eaabcc5846eba7e27aebc63e31cbde78b8dbc581096ba5049c8bccfc634bd63fa8cbcbfcc45bb2e33a8bc034117bdf0a25abc951ad4bab544a7bc39021dbd632741bc5554bfba1edd79bc3108f8bc036de4bbb84eb3b917ce1ebc186dcabceea072bb7aa8c4b9812905bbe5ad42bcf693f739724f87387439413b0df5debb1805853ebb875c3f34229f3bff2064bb5815783e38c14e3f5d60c33b233d363ad0855b3e72b32c3f14aedd3b62112a3b23fd3b3e10c2113ffb07c03b2b9bb93a1ad8133e507de03ee673a33b845509bb2226de3d9fb6a63e1bc4823b5b198ebbb70c8e3d3907553ea995b93a43f014bcfa1ced3ca2f1c13d89a2e4b8951e03bc280faabb72cbd3bb250616bd90ccf43b0000000000000000c5501fbd2018313c00000000000000009369bbbca90b1c3c000000000000000025699ebc4829063c0000000000000000404d6ebc4ac3d83b000000000000000041b18cbc8f86ab3b00000000000000005b068fbc13d81c3b00000000000000004e88b4bcf23e5b3a0000000000000000152d8abc3f4eb1b90000000000000000d6a081388379603a1fd66aba420ac2bba464a63a1141e03ab018ba3aaa25a9bbc617a637b2bfc2b9b21bb9b91c1167bb7728a4b930f026bad854eeb8c09a17bb65a7883a2ca48abaafb288b9e1cda6ba1a7d76b8f38d7db98e2da43a4363c13a27483f39445be9398e41003b00f95e3b2f23083ac535ba3aaf7e953a3839a83bed9d0e3afdc3b13a5afd113ae8b6893b6d899e3a6ede093b3a708138cb7ca2bbdc22243ba4bf1f3bfeedcbbac0e903bc1e75bf3a11f3b63a43b6e3bafad2e1bb2185883a8df5a33a1ac3ecbaddb6e0bbc96be63998d897390ebf04bb72cf9cbb5512b03aaf92c8396ac5c5ba89bcc0bb52b51c3b5f24853a2446c2ba2f87b1bbcf58293bbbd3723a66482dba739479bbda29203b0029a5399a7adeb990e12abbf0e93cbcebc7bdbc1b3a97bcc7d645ba5fd1abbc8a903fbd63cccbbc921805bbb1aab7bc6c3d55bd90eabcbc2abb49bbe9cbb7bc5b7152bd657baabc4e7f33bb2da7a6bc66573cbd6afb8ebc15612bbbacb296bc46d033bd64586fbc2a6f11bb861370bc5dec1bbd18982ebc178bc8ba397f0fbc9bd4edbca1f998bb1ac81838458c2cbbe65077bc828e02397f51193af2419b3a116fab3b5276f43dc1cc823f7923233b22240a3cd97ee53de340733f5b9e963b2bac3d3cc685d83dc7264e3f24ceaa3b8754263c50ddbd3de4ae283f299e9c3bb613d43b953b983d9d93023fcce5933b849f5d3bd4d2623d47ccbf3e7f80413b105ea7ba40e5063d1548733e25ffbd3aebc1c1bb5c31203cf09cda3d3504213a6d9ac4bbf2f704bcf22738bc6dba12bd73d5023c000000000000000065f710bd44922d3c00000000000000006e3ca3bc1140273c0000000000000000d85256bc57970d3c00000000000000000aec30bc224fff3b0000000000000000428552bc9c67853b0000000000000000ae588cbc7fd3bd3a0000000000000000d570b6bc2ad1e2b80000000000000000ff7e9bbc99c9c6ba000000000000000000000000000000000000000000000000b6758bb919d64cba2d534fba12e5b8bbc019b23872e196ba584c1cba448975bb85d4a9b9a782b1babbbe84ba612c5ebb91f5bcb908b187baf3bd04bab53191ba242142b8e36cd2b9019638383e5b923944304839e803f3382ef07b3a0582093bcfb3f03923ddd939f828ee3ae67e6d3b0000000000000000000000000000000000000000000000000000000000000000f55cf0b661a6b43af37b83bacded93bb5391f6b99786d639b3b484ba5bdd8ebb791784ba2b7d56b9471481bafc1f8bbbbe9c37b959edd3b9f92a89ba6b1990bbe31618b90a0009ba8c9663ba6a1986bbaabb4b3a7e9bba39c3189ebad1ba8cbb7453fc3acbba393a897e37baa1878cbb0000000000000000000000000000000000000000000000000000000000000000a24a85bcb06f2dbd93cfabbc0bb747bb54f785bc411233bd85ee9cbc131d5bbb4f5380bc229a2abd95538cbccd2d40bbf2ee6abca7551cbd1d2b78bc8fba39bb877f55bc1e1410bd161555bcf8682bbbc1e92cbc3f73ffbcd35e24bc72e6cbba09c4f4bbcf37dabc2a00d3bbcb499fba000000000000000000000000000000000000000000000000000000000000803f47911a3b0f868c3cf2371ebb6958833fcc7f803b4b197a3c7ccbae3bc74c5d3f48f5903b7023533c85990b3cfa49353f33aa9d3bf4f81f3c2605053c49100e3f8344803b2c48cb3bb02aa53b3854d03ea51c193b57f3f23a211d123ab1bb853e7cdba13a499509bb6054c5bb04c5f23d000000000000000000000000000000000000000000000000000000000000000019735cbccdd00a3c0000000000000000919f8cbb7e87fc3b0000000000000000c05f31ba7e15df3b0000000000000000df545bba4a76a33b0000000000000000296062bba283403b00000000000000000a090abc982d543a0000000000000000cd6d7dbcf7d0beba00000000000000000000000000000000000000000000000000000000000000000000000000000000d52fbab95d3740bbe96fb4bbbc8a2ebb336f8bba8b254dbb27372dbbe4412ebb52bccbba199c83bb448e28bbf10555bb4fc5e439906646bbba5b41bb7eb022bb1b9740ba758907bba801b5ba3fd99aba23faecbab605553aac3fdcbae1855c398cb3503af7f87439efe8ec3af417a13a0000000000000000000000000000000000000000000000000000000000000000340825bbca44f6394a868dbba46b52bc6e4b37bb3e2e68b94d478dbbeb0f50bc4ae273bbe054a3bae60da0bb918059bc161d4cbbdb3e73ba19c479bb0c2136bc565b0dbb6a6f84ba54c982bb41e834bc7cd120bb944bcd3adb1e68bb56cb1cbc5c878d39ee29413aa9d85abbe25202bc00000000000000000000000000000000000000000000000000000000000000002209c8bc4ece87bcee32dcbb977081bb7930d4bc58ad84bc0a9afcbb6a078fbb27a0c7bcd8756dbc407711bc3800babb160ababcb43061bc4c3c06bc105f92bbb782b7bc5ec155bc96860abca2dd91bb4007a1bc05b214bcaca7fdbb053c72bb7f348cbc6cd00ebcaa95edbb37d45abb0000000000000000000000000000000000000000000000000000803f000000004f2a373c961a4b3bad89763fe8d40a3cf4dc313cb222043c7153513f684b313c2d603b3cbeb72d3c632b2d3fd6663f3c74d0153c217b183cf181083ff519103c94f4dd3bd660e33b269aca3e26b9a33ba44b913b05f53e3bf646833eafd41d3894e2183a70a450bbeb0bfa3d92fee8bb0000000000000000000000000000000000000000000000000000000000000000bef09f3c7c24bd3b0000000000000000c5af873cee0bca3b00000000000000005194793c07f6e73b00000000000000008282323caff0b03b00000000000000006bdde73becea743b00000000000000007676623b306a673b00000000000000003e5e88ba5e118fba000000000000000000000000000000000000000000000000e1db513a1504afbaa27396bb5cd801bba6617f3a651456bb3bf292bb46c6c9ba275515bafef34bbb38ed9fbbdcad53ba04d732baf2b93ebb6dcd64bbd726ffbad726a9ba5d075ebbf92636bb54670cbb776f28bb349199ba8128f6b91db2e6b91befcf39508b41bac96f863a6106573a8a9ca63a47c02a3aa56b373b4e710f3b99d12d3a00de283a113a173b0653073bbb615ebaef7a0c3a1d4a1dbb360f0abcb4387cba9d57a53a391587bbd06a75bc16fd3cbb0a721fb94a6cacbb333d80bc0ad132bb18430cb90f35a0bbce1573bc69b7adba57f2db390250a2bb0a5257bc98e600bb9f7c18b99a0334bbf9e151bc1e81c5b9a410153a78af88bb91b834bcfce2563a51b3b43a101a60bb04c100bca2db643ade1e3c3a8958fcbaee0464bb3c1a5abc130652bc5e48a4bb6c65f2ba08ecd4bcb84ba5bc07c60ebc774b89bb2075f9bc61feb3bc9d2911bc3878c4bbd9f4fabce724abbc98f130bc2c30bbbba5fddbbc51f095bc50d92fbc9fb9bebb29ebdcbc3b238fbc16512cbc7186aabb1a11c0bc302b6dbce55c1abc59b090bba54499bc98e023bc59f8eebb1b5745bbad2220bc07e089bbad0180bb1e02baba1d66063cdd1035bc1f58753f5e24043e301d503c3b50c6bb0ea55e3f734df73d1a6c6f3c6792ea3a30463e3f961ee13d7769543c568fc33be3051d3f41f9bd3dc558333cfd5fe13bf7d7f53ea668973dbc3a153ce7f17f3bfbaab63e4004593dc5769a3b8366fcb9ebbe6c3e3516f93cb4b7373a5d45dabb4461df3d722fe63bb759b1ba130605bcf7d4c0bb8e0827bc7db32d3c05cdad3b0000000000000000dd5c883c8b51c63b00000000000000009591943c7ceada3b0000000000000000a6c8723c23f1f03b0000000000000000c1ec153c0390e43b0000000000000000ab88db3b90b1893b0000000000000000a2c1f33a2678da3a00000000000000004b4d2dbb381659ba0000000000000000882687bbbfa9eeba00000000000000005e8d5f3ad017d8b9758760bb164810bbf76780397fbce7bac9049cbb5ed12dbbcbbb11ba105c1dbb70cc78bb8ff314bb14837fba11b339bb587a74bb5a8321bbe1f1b9b9964889bbcb751cbb5311f7ba7022b9ba6ed883baf4b620b98ac5abba66aa09ba96af7cba71ebcf39f873d839c1af8439dd41abb99b4de03aac01c13ac9c36a3a9e36263aaadd0a3b3a26eb3aadd71dba12ac0c3a55179dba7b270abc00dfa8ba8694303ab9e73fbb4ab951bce0b60fbbf0ca29bab29835bb37c93cbc358732bbb3ee2ab9aedb83bb60ff53bcd22108bb97c0f6b93b7398bb597841bc040f04bb32f4d8b9ff3b7bbb67cd36bc03e20eba7c105739f88654bba2bb08bc33b082394999303ad6d206bb26adf6bb2592873ac2679a3afdd3d3ba00ed32bb0ce80dbcfbe026bcf0e4adbbcbbab9baac2aa4bc507499bc39251dbcb26874bb8baab1bc115c98bc093b1abce8cc7ebb5579dabc6df5b1bcd5f33cbc598fb3bb08b8afbc7a088abcd9bc17bc34b88ebba747c5bc1e3994bc650828bc1fe696bbe9be96bc2e635ebc934a04bca46b69bbf02f88bc891d19bce6b1babb6f7f64bbafd7f9bb1d9c8cbb379d46bb43975eba48f4f63b139952bc4779503f8b9b853e62d84d3c5ffe13bc09853e3fb0ec743e6fbe403c7fdf87ba36a8203fb8f8543e3590583c65b93c3b48e0073f6bf1343ef7791a3c7f2c273b1419d43eb3a70e3eafdf113cd810ae3a87f79e3e3b96ce3d1b11a43bf6a5e5ba93a54e3ec12d843dcc3a343b5ecdbfbb5e86c33d6186d43c9a2b41ba5345efbb9a7a49bb89d902bc42516d3bb06e8b3b0000000000000000c85d153cfc77ed3b00000000000000002c851a3c9a7ef33b000000000000000085c72f3cd5a4033c000000000000000025a4c63b8407de3b0000000000000000d78d8b3b1b61a63b0000000000000000144b453807b9133b0000000000000000e81b66bbba685fba00000000000000007b17a7bb59649cba0000000000000000600fba3802c056ba235549bbf09d37bbbae524b96df703bb851393bb117358bb60dfadbac0d260bbca299cbb091583bb2a0d8dba807250bbe5656abb6ed031bbbe6212bb9c0202bbb43915bbb96ed6ba71e38aba7d300dbb0befc7ba49eb49bac975abb940a4bcba02c74db80e6e833935c9d13a823354bafae5783a734dc43a1f82f5b6e64766396dfbd03a7209c23a687a82ba2c9de9393d600eb94d18debb119caaba3dfc1e3aa50cfbba79b131bcd1812cbb560803ba9eed03bba4d728bc02881dbb627d70b9929663bb21543fbc1b90b5ba1f34afba051e82bba68f33bcfdb98dba1092b9b740c078bb317b27bc844716ba22a1a93916455abb59ef0dbc71349cb86bf5fb3adaee4ebb280bd7bbb19c813afb79323afe55b7bae29d1cbbf907cabb148209bce977cbbb388a70bad75784bc8ba990bc884030bcf92d50bb7006b4bc5819b3bc67922abcdd49a3bb1347bebc542cb6bcee4345bcc6eda9bb5ba7a5bc87559cbc678825bc4ac9b8bbe6d3afbc9a7ea0bcff1f2fbc7924a3bba21c95bc296881bc60f810bcefb385bbac795cbc8bca35bc8a5adbbb29f12bbb55cdc7bb747a98bba7cf26bbaca674bab7defc3b018d1abcac202c3f35e5ca3ed9eb403c1df1e3bbed711d3f0e25b93ee0d9643c77c38b3ab219083f846ea13e64ae523c62732f3b326ae23eb69b863e6b682c3cf43c3e3bd354b23e285f543ea7b2133ca296b53a1d57853eb3b11d3e2ac3c43b50a5f0bac7142e3e3a7dc93ddd503a3b5603bdbb6f96a73dbcc9323da0cede3810e1cabbbffeddba2788b8bb5928b3ba822dc23b0000000000000000f6210b3bd762113c0000000000000000be3de33ba7152f3c00000000000000005373c23b2362143c00000000000000001c61b73b3221dc3b00000000000000006f1d763a0f02b33b000000000000000001231fbb6f86433b0000000000000000cf78cdbb08a0343a0000000000000000ceeac6bb767815ba00000000000000001bb91839bdde58bae8fe57bb30ef3fbb8f7b5aba8f0f1dbb583499bb06c39cbb82cc62ba1f6830bb576f71bbd35c6cbb28d1c5ba127065bbfc1e7abbee8d42bbd021cdba9abd51bb653d42bbcf6f20bbad2b8dba76e128bb130604bb17d8a2ba55dd0e39473a2bba24a8c039edf3363aedb107b9b22b32baef62193aa7ac843aa3f24cba002f9d3a6a8c113be2f7723aab8b08bae5d1893a79caa3b99a4ebdbb8148e2b9700233b9acbfcab9888d1cbc2dce02bb7a9473b998fd1ebb42ac12bce65218bb61d3ebb98ab94bbbfa3c24bc58c922bba49591ba3bf326bbd08cefbbcd1bb2bac158ffb84bb269bbe14219bc93bb88397034123a557664bbf70101bcba35993988380e3958f019bb31d0b9bb29aaa8baaa3c473a60d4d73759234bbb0ce0afbbb8d902bc1fd0efbb2d7b8eba14a06abc95c681bcfa1f30bc8b0769bb17d68abcb675a0bcb97440bcd6bf81bb7219a6bccabbbabcf31354bcac6ba6bbfe1376bc986786bc1d1717bc7c307ebbb4589bbce5a1a6bc097737bc4cb39cbbe01f7bbcc0ff84bcbdd911bc68d591bb0fa43ebcb2cd43bcaed1c1bb4e7f2cbb86a283bb68f8c3bb4d7c78ba91bd83ba9db9dc3b1c5e05bc658b083f607e083f3678383c5decb1ba715ef83e44d2f73ecb5c343caccd5b3b5936d63e7669d53efb3f4b3cda5cb23b07c6b43e4682b33ee64e133cd29b9f3bc73d8c3ee4108b3e105f103c8a8e433ba54c563e318d523efedfb03b2b96d1b9c3c20a3e6e03073e8e49633be4bf74bba375873df79e7d3da1758537ba31b5bbf095d8ba23a290bb3e51c2bb7246da3b00000000000000001c7d41bb77a3153c0000000000000000ddb8c33a1ada213c00000000000000000dab183b7564223c0000000000000000d0d9f13ac665e33b0000000000000000595ea4ba76b6c93b0000000000000000476994bb9d643a3b0000000000000000a236fcbb059fae3a00000000000000004818fdbb60b3b7b90000000000000000729c7d39ad251bba343b2dbbdce076bb804aa1b94e3cedba876f71bbceb490bb65f9c1ba88ad5abb047c88bbbbbd8cbb8ab9a6ba8a2464bbad0970bbec8166bb58c9c6ba92794bbb019329bb723f14bb994b75ba50db1bbb5f83c9ba96c427ba1cfc4dba0eb4daba944cf7b9f0ea9739465bc9b818f218ba52344b3adadeef3a2d95fb3ae837c3b867b3223a7f41d23aa7d82ebaf459253aa6ad2eb92f639bbbe6d1abba9289363a8d84b1ba90720bbcfaaa1dbb2a18b83a34552bbb85fc10bcf6d113bbca12aab983a450bbc34419bcfab1e3babba28cb94c0225bbd05024bc11bf32baf3b1c5ba69d360bb7b4c13bcab408ab9654adb3a3c776dbb9ec107bc4e4e8e3a122c543a9ab71abbb04acabb4f87a43a36c79a3ab132deba337d64bbc9d0b7bb2f070abc018614bce85479bafef056bcca0397bcf3e06fbc22346bbb4e6a8fbc0f99c0bcd58673bc797799bb31089ebc31a2cebc777270bcb67ba8bb99339abc6de3b3bce54146bc9f8a87bb967c91bc3f02b7bcd44845bc71469ebb143b7cbcae269fbc38e824bc63a997bbe8e531bc260364bc9cd4ccbb5cfe2ebb2de0a7bb1b72dabb3b8421bb7b58a8ba91ebb23bbd7bedba18ceca3ebd0e2c3fe6f51f3cf1cc4d3b4caab93ee52f1d3f48d3353ca9f5003cd4eea13e106c073fedb63a3c4897153c1857883edb60e13e095b143c4373e13ba1b9573e44e9b03e303d0a3ce0a7a13bdf33223ef6c3833e4e80ac3b7d58e139bdaed13d56ce2b3e5da54a3bc79551bb8e37473d4382a03db23ec73aca6365bbd36f48bb85eaa0bb68c124bc0101e83b0000000000000000cec506bc9b8b2f3c00000000000000003a6801bb062a3f3c0000000000000000c0e5b0b90f1b313c0000000000000000e8ef023a8b13003c00000000000000008e8853bbac1fd63b0000000000000000386df2bb0b97363b00000000000000004cf92cbcf724503a000000000000000093b423bc10d6cdba000000000000000013c8aa391e33e7b98fede1babc276dbbad7ddbb9a06618bba6e65fbbba88a1bb2e9d96ba502f4cbbacd748bbf26e71bb4e17b9ba023372bb83626abbbfd864bbd05a8939cd9f03bb795833bb28ed3abb00b891bac50334bb7c5cc1baf74331ba579d2bba0754e2ba297cdeb96203153a5312a53901c0afb974fc523a71671a3b06a63fb94250873902e19e3aaf5c0b3b575ecdb9f08faf3a1a5c9cb96df08cbb3766cabae245fd3a40660dbb21b205bc9c3cdabaf2808bb9f8b30fbbd621edbb9d00f6bad1914039415561bbc5be15bcedf7d5ba576037ba76c06abb6c080bbc677d33ba0266f53960496cbbad6217bccde747360e0942393bf02cbb15acebbbea6fa53a8e0d9f3a09d726bb125edbbb8ec9a23a3a309d3a204faebabc8a5fbb0bc9d4bbf0c224bcef1a39bc4581e9bafb116dbc9e1ab9bcf33091bcbbee47bbbca670bc920dbcbc982270bca9618abb851896bc4276e5bcc08987bcae5db8bb08ed81bc384dc1bcd92a42bcd4c6b7bb7e698bbc63f7cebca04f60bc41a4b2bb213c50bc5ce19bbc23161bbcffaa6cbbfe5d25bc53c983bcb8c5dfbb2d0f41bbea7a7bbbff99f4bb556409bb9dd888ba377a8d3b44b0633b7d85853e213d503f1819f83baf97323c8134773ef7913e3f2665123ccaf0323c0ae9563e2236203f12872d3ceaf7403c819e383ee771073fdb31233c57151d3cc6e5103e9751d23e381f043c6daff83bc044dc3d469a9d3ef90da93b26b4413b42698d3d7e594c3e4eb9313ba394e8bac4a3fd3c0f6fc03d01c89439116d72bbb5c870bb30cf98bb0e5551bc982df23b0000000000000000b49e39bcc1fa4e3c0000000000000000998d35bb7e2f2b3c00000000000000005a283dbae6133a3c00000000000000004a5b4f3a2052f23b0000000000000000ca3680bb10f6ce3b00000000000000003584dbbbd915593b000000000000000077794dbc3b03b83900000000000000005dbd38bcea0186ba0000000000000000e8cf1039f2e593ba4f3f1ebbc1379dbb0b13113907360bbbc3de25bb168299bb9de489ba5c8e78bba0c668bbf5d58fbbb13094ba243180bbc6b771bb20c453bbc625d1ba55b072bb7a204cbb344335bb1f48a0b95afa87bb78daa7baed49a6b851636fb92f84dbba3f1630ba4a82593ac222e139e95ba5b758508f3a6c51493b166ecb3a26c1e037a5f5363a561b103b14478aba1d67b63af0df4bbade2475bb946a5eba639a023b89a11dbb3fb3e5bbfadff2ba7f800f3ab9e24bbba018f9bb281016babf79223958536ebbf9c90fbca9e116bb20330eba05e18abb7e3110bcdf0d90b71f0506ba681b6abb9c0c10bc0e7b813983f12b3bac3179bbb77e14bc1182eb3a53fcc03a360f41bb7aa3f3bb48b1363b05b3073bf04e09bba30c9cbb08ba06bc45c163bc2d325fbc408026bbf43275bc0845dfbc79bba1bc846faabb12df85bc767df5bcc8569abcd306c8bb69fc90bc0c9200bda5d799bc71d4e7bb975a6dbceacdd4bc1ee085bcf8a0a1bbbb7383bce1b4e1bc606c74bc4bf9b0bb1af648bcdbe7c9bc79b74ebc7d2eb4bbcdb421bc20aa98bc4e7e00bc5e0053bb9c4a98bb385122bc73ad64bb111104bbf1d7853b2266343c35ed043e7f04753f7279e63bb7778d3cf3baf93db0655e3fc04f123c8c249c3c7910e43db5723d3f17c8313c21548e3c558fc43d12b31c3f1f2d1c3c79bb683cc6a09e3d3133f53e3544f73b66ba293cab616d3d2e0eb63e4255cf3b8429973be4e5183d9ca66a3e77bd083bba4f63b98b025c3c1012dc3d18a2e5b974a149bb7230b3bb0636eebb690532bc76b20a3c0000000000000000839df8bbd001413c000000000000000028d9273afd83433c0000000000000000c7a6033bd937273c00000000000000009645163bfdbd0e3c0000000000000000af1b0abb666db93b00000000000000004d2fc6bb9a30d53a0000000000000000db6b5ebc020f38ba0000000000000000a2215abcf7ac09bb000000000000000000000000000000000000000000000000f9a7e0ba9f3f19bb21f92bbb523499bbcc5cfcb9fb0f40bbfcbd30bbc38a71bbc9eee3bad00087bb748c63bb43e17cbb0a990cb98c5a1bbbed8700bb2a06babac4c3a0ba229562bba1476bba3aba633881b59c3a451ffeba4d6c62ba40df0b394dd250396a71e5b9529d4539cda0f43a0000000000000000000000000000000000000000000000000000000000000000266150bba4b086b9241629bb6498afbb9ef750bbc96641ba988eaa396d05d5bbea942cbbca9783ba555c30bb5347c5bb180934bb7f7167ba397271bb2d7ae7bbc25be33911ebdfb8b64daebba610f2bbb67009b9829c7439f88b38bb529ce7bb10bfa73ac2738a3a00b635bb753aebbb0000000000000000000000000000000000000000000000000000000000000000b28e2ebcc9cdbfbce0f88dbce848b9bb66485dbc062ed8bc605686bcc6cc96bbea8551bcd9e6cebcec1477bcf35dc2bb71b052bcfe11c2bc4e3466bc0c20c1bbc4326fbcc050bdbc028476bc9917f6bbfbec2ebc6113a4bc5df42ebcf7d599bb866711bc2ad08cbc7a9208bc0a3877bb000000000000000000000000000000000000000000000000000000000000803f927dce3b9403a33c3104173c90f4763fba67043c8ff98e3cdc32213c4a4a513f181d093c0cef8c3c347a643c79ec2c3f2f0f093c95f2493c18092b3c5a81083f3193fa3b03343a3c69b5233cf9ccca3e711a903b26a8c83ba58a883b66cd833ebee01f3b53fe0a3bf63a95ba188df93d00000000000000000000000000000000000000000000000000000000000000000279ed3ab5ba273c0000000000000000bfa64c3b8b2e2e3c000000000000000003dcf33b1d02103c00000000000000007083873bf725f93b00000000000000003b853c3b814db93b0000000000000000b0ea3ebb8896d63a0000000000000000730515bc6c8176ba00000000000000000000000000000000000000000000000000000000000000000000000000000000adf7b7ba8e5e0fbb7eef17bb0d850fbbce77b8ba7ec516bb080416bb1a8017bb1ebc26bb080c6ebb7d376abb7ad565bb1ffdacba2105f3ba2e5d14bb96bbe5ba32f935ba3d3dcbba94b352bb8f0c49bb8cfb3ebad1ceb3bad0a992ba0e097eba2943dbb9942f8bba52575dba45f12aba0000000000000000000000000000000000000000000000000000000000000000fe0ff4ba742d64ba5600a1ba98e024bb9b6008bb899c65baa56c07bb63af58bb03f4a5ba84e28fb957b390ba739121bb575dddbab3ce8bb8a44fb9ba43bf36bbfde705bacaaf81ba4519cebafae739bb2dd113badaf62ab9e6ddf8ba94c43ebbd1d289b992020639e3c8f4bad5ec39bb0000000000000000000000000000000000000000000000000000000000000000d17e80bba01d58bbd2c919bb88b8fdbad8019dbb79f785bbb42652bbff2830bb358b81bb069659bbb54e2bbbfd6509bbe9ac81bb250462bb48573abb440228bbf35d80bb717659bb1d9835bb408310bbd47876bbe19456bb6a153fbb03d71ebb2af95bbbe91e42bb883031bbc8c110bb0000000000000000000000000000000000000000000000000000803f000000005d58bf3bfc62b23b9300643f33bbbd3b4d4edd3b354b9e3b118c433f09bc9d3b98bbbe3b9a90bf3b249b223f80e1b53bd8c48f3ba738833b5e7f013f72355f3b99e7803bf2847b3b0e36c23e5a663f3b56711f3b283d083b72dd803e9777903a4271993a22b3e339520fff3ded7b25ba0000000000000000000000000000000000000000000000000000000000000000bc61e93bacdb8e3b000000000000000039fcf03be457553b000000000000000029ddb73bb3da853b000000000000000026c95c3b83b5253b00000000000000003b363b3ba899103b0000000000000000cf10993a20795d3a0000000000000000d1a783b900594eb9000000000000000000000000000000000000000000000000ad30ecb9fbacb2bae4f7d4baa4e9c3ba0632b6ba8a651ebbcd2328bba9cc22bb3a25efbaf46b42bb5d9b47bb2f3d44bb3bbdbbbaca3536bb5ceb2dbb053126bb491badbad2bdedbabd09c1ba530004bbeb41ceba980a1cbb05c403bba686fcba9cc987baeb7be8ba5be7c6ba6242acba15951bba6a418dba043333baf723eab90781bcb776bd0dba8f1c6738272442b9832e8cba23b607ba42f752ba74e5f0baa5983cbace8645ba5026c6ba8dfb49bb0aad8fbaf39389baa21bddba9ae151bb98cdffbadbb44dbaeba6e8bae2ab63bb7b9feaba5441acba96a2c3bab40542bb4b1ac5bad1c096b9d30700bb744d6fbb008760ba6161d2b99a5106bb31f857bb54098e3923da45392d2606bb8dec47bbdb1e7bb931a51aba2bc1a4ba298cdabaef0b2bbbcf8c28bb2641eeba7bcfc1ba9a0492bbc78e85bb5ff53fbba70216bbe0ef9cbbfc9f8dbba59e5bbb4a1036bb0d98a5bbe16496bb182571bbc6be49bb6a2987bbb73a78bb2efa47bb7d5928bb8bb0a1bbfab290bbc84b76bb5fc14abb15df87bbfbcb76bb148c5bbb8f3238bb67dd68bb6fc153bbe3df3dbb8ab31bbb2527e7ba593cdaba327bc3ba0053a7bae347863b65bb413bae6e633f5b3d043e018acd3b45a7ac3b1f82483fa8a4ed3d6e8cd93be673cb3b4fc72b3f29cdcd3d0f65d43b9b88c93bad0a0f3fd8adac3dde79a33bfb28933b578ee33e7741883dfaf4963b812e893bd7ccaa3ec9ef4d3d23ac473b99ae1d3b907a623ec9ad053dd10eae3a3e0fb539bfdcdf3d37a4743c268ef0384c0131ba5bb694bac00cc3bacbe0aa3b2af24d3b0000000000000000ccacf23b7b3c9b3b000000000000000031c9e33bd68a9d3b00000000000000006524c53b44f88d3b000000000000000089cf7d3b2575363b0000000000000000f79f443b0f841a3b00000000000000003497b13a3747913a000000000000000008add3b9e7208eb90000000000000000099576ba30044eba0000000000000000ae7ed7397494f2b87efa0db9dc64f8bad19500bbdc0a34bb52ec33bba13930bbf7d37cba22e3eeba41f3e9ba60d5e7ba03ceb8ba833d2ebb5fd724bb290721bb6d0989baf1cb09bb8993e0ba0b0f18bb40aac5ba67781cbbce8d00bb0ea6f3ba982549ba77f4acba04e982ba741437baf47539bacb8371ba070f31ba845b3aba149cf7381e8ac2b967fb62b87bd689b846cdabba1b9b37b99d31d8baaf7731bba80816bb75baa3ba84ac57ba210c1cbbad96c5ba7cb735ba8679a1b9dceccdbaa7b5ffbad85048bad59104bb845b67bbaa5acebac0186fba1297bfba35b237bb9e36c4babacc09ba980c03bb578863bb5c1466ba697b35b9b9f131bb70cbd5baa4b139ba0dd02cbacff474ba797ff4ba32389b37f6220c382d4892ba546cc6ba5e044abb1b2c55bbc36f2cbb678b0dbb4b3362bb2c7a69bba3252ebba545f0ba643f2bbb363a28bbab3afdbace0db1bae9c5a3bb70b19bbb0a2f7ebb90044bbb74167dbbfa8477bbdf544dbb954d2bbbae7392bb89818cbbf02575bbccb543bbfd261cbb75f312bb551af9babe4fc0baaefc1cbbedde17bbfffa02bb210cd3ba0cedcabaf2dec3ba8ba2b1ba58e59bba75b3923bb530523b5e1b433f69be813ee179f63b28e0cd3b2a572c3f16e0683ef7e28d3b0b64743be897123f7079453e6909bc3b7e62af3b0d9ef53e1e4f263ec5879d3b204f8a3b4265c33ef53f043e53b2983bc019833b28df923e634ec73d3ef5fe3aab28923acc9c413e3314813d1c96763a93623fb91fa6bf3d77c3f63caebdc738b27a40bab2b05bbaa4dbb2ba9b774a3b995f813b0000000000000000e6aaba3bb4de813b000000000000000082ee8d3b981e553b0000000000000000bbbda63bc095813b0000000000000000298f693b0fbd373b0000000000000000f6753a3b1c0e263b000000000000000078652d393495e03800000000000000005c2490baddf25aba000000000000000049d991bada7e46ba0000000000000000440313ba52858bba8fc196ba602a88ba54aab7ba133018bb5f0511bb5e510ebb2644f4ba6cdd46bbd23a3cbb672923bba916adba563b0dbbbcec7fbb4be075bb68f5c5baec8924bbb69a1ebb825d16bb2d647ebac0e22cbb219907bb5cd1f3bada0f37ba825db5ba28e78fbadf0271bae2348ab955b383ba363e4ebad8782bbaa5eb55b717d58ab9026453b820d950b8e87b42ba0d93a1b98ecc20ba389fcfba47cad9baeb9cf1b92efa9cbaac7d2dbbc14122bb049bacba4949a8bae6642fbb917f39bb8b050dba3302b3ba564739bb5079f2baaba484baa919acbafa8528bb7cfd00bbafc4a4b90e7d0abbb28957bbead116ba6b58c6380ef503bbf22448bb72b401ba1c0108b834fad5baa3a827bb0977c3b464558bb91f8286ba7942bbba8560fcba86c00cbbf8cefcba4258a3ba04e268bb1e6779bb989c50bba5b511bb5e137cbb828b86bbcfcc5abbf3892abb3e0e84bb4a8d88bb4bb07bbb087c28bbc4fb66bbd9576cbbdedb4bbb317623bb5ea48bbb0d918cbb4a8d76bb6bd841bb956b79bbf3eb7abb158e5dbb543b35bb071147bb4f4940bb365f2ebb62120bbbad84c7ba9f23beba5f90a5babff88abaf362623b40fc243bc743223f9bc6c23e6b9bbb3bac9ea03b934e0f3f1a60ac3e152ad83b6d52c83b0041f63ec365943ecb25d33b6be1c33b2e5bcd3e65d7773eb967a73b5dc1993bf974a33ed638453eb576893b78046c3b0a3a753e6cc6133e31022a3bab26ef3a666d223e29e3c23d08b6c73a7b74e2394862a13dbd533f3dc9341739627439ba27d039bab0f694ba10ad5c3b83d1453b00000000000000008704b03b6d0d9e3b00000000000000008147c23b5000a93b0000000000000000f725b13b5a0ba03b000000000000000044c26f3b13b95b3b000000000000000038bc183bc4f6173b0000000000000000c6f0253a823d673a0000000000000000990b36ba839239b800000000000000006113a9ba06f53aba0000000000000000b5dd13bacbbda3ba0a7ca9ba3f9887bac365d8ba2f9a28bb09832bbb440e26bb4befd6bac5840bbb85e4e2ba017512bb83fcdbba57e8ebba7593e4ba25b4c2ba293c9bbaddb506bba7bcfaba9543e5ba310bf1b9bd7cbaba0332b0ba3274a3ba0e9049bad6ebb5ba3f50a2ba43598eba1c05d4baf45f25bb616e01baccece6b9302295b91eab50398a671139129c1939c61c1cbaafc07eb89ac91aba3383c1baba1b0dbbbe14a4ba9a9a50baaf970bbbc72508bbf44890ba2937bcbab39424bb018979ba989b72393a604bba022c06bb1957d2bae8bc55ba78015dba6fe729bb612b45bbb100d138b0447fb9db37c8ba61284cba0a3bc3b94196ddbac8862cbbfc8f02ba0a9db63a668102bb5b9135bb254076b8e102a9b9fc267bbaeb6890baf7a2e6baa4ac0bbbf5ff0abbf2e5a5bae2df45bbc5b06bbb4a0452bbff3b0bbbecf06abbbbf880bbb08960bba7b025bbf75958bb27b9b9bba3c3a2bbd42281bb19af2abb78863bbbc41b1dbb5abfefbafeae2bbbcb01a1bb7eaf1bbb27ce6cbbc6105cbb7a5463bb475650bbc0b520bb578fa4bb91a5a8bb02543cbb3add1dbb37fca2ba7dc2a7babd929bba74ee80ba41824e3b83763c3bdec5013f94bc013f60afc53b3b9bbf3b6d9fe53e1172e53e1780b53b3e27bf3b05d7c43e5f9fc43e7373993b96a29c3bcb01a43e29bda33ee7ea953b671e633bcb62823eed1b823e6ae9983b03f40d3b6544453e2074423ebc35333bd496133b3796023ece03023e3adb263b7b36d23ad75e833d14f8813d45a07839c42f24baa4a633ba704695ba5eb82e3bf7494a3b0000000000000000d90baa3b45adaf3b00000000000000002eb7a03b5e0c993b0000000000000000823f6a3bf54c613b0000000000000000633e193be1bd583b0000000000000000cbf5163bc8dd263b000000000000000057e93a3a0239953a0000000000000000cdc84939705d893a0000000000000000bbdbc3ba0fa63fba000000000000000088f010ba1e3b93ba789ab1ba51deb1ba5945c2ba878d1dbb052c28bb756417bbc833cdba7d242abb0db930bba7351ebb4217f7bafef36ebbb63ff2ba4c10eeba7d3710bbbe0553bbcea74ebbbd4a30bbf047a9ba363716bb5c9013bb8e4bf5ba75dd5fbab9a5e9ba2f5cd8ba50939cba26e032b909826dba7d7a59bac8b9eab988581cb8db05c6b92f7397b9dd6e9cb80f5f85babc3c98b9106dd6b9dac597ba3a0c01bbd75e92baedf455ba88cf0abbeb9109bbbd68b4ba7434f0b95c07dcba74b6e4bafda49cbaf54d0abb3d0b5dbbfb521bbb3379beba35475abac7f805bb3988c5baea4a33ba40c103bbb4624ebbfab159ba6c24af39c5e623bb3fa560bb67e1f2b982c842b98010ceba3fb115bb827f3db618523e39d02b89ba82dfafbabd39cfbabbea03bb654f0fbba09390ba3b1044bbbc0c78bb5e5568bb62420cbb6b153dbb55006fbbdea84dbb5f9b00bb834998bb1f88afbbad2c9abb7653dcbaadcd3ebbc07c9abb93b544bbf94607bbd5ca85bb66a896bb8f4684bbaa464cbb544786bb23ca8fbb03d182bb930155bbcb3935bb419942bb7f9d2ebb329708bb7dd2c3ba3c65c7baf709b3bad95a8aba6bb74d3be664663be6e1c23e1845223f8a3ab63be0cacb3b22b6ac3ee74f0f3f3ec7aa3b2561c33bba25943e9a6bf53ed62db73b527d053c32f0773e3dbfcd3ec3f6a53b1732ab3b581f463e0450a33e1475953bf3b18c3bcbde143e4be8743efc0a773b974e503b80eec23df70a233efe9ace3af78f343a5b76423d2620a03d1e847e399c73ccb9388717bafd0180bab0b01e3b16775d3b0000000000000000dd01923b3122ae3b00000000000000001e8a833b1557d03b00000000000000009cb2883b7a21d13b0000000000000000edc46c3bccf87d3b00000000000000004877133bda79303b0000000000000000ae3ab33ab03a123b0000000000000000f06b8fbafd3474380000000000000000dccdccbabb4623ba0000000000000000585a2dba7510a6ba24d5d0baf2f1baba6e4799ba70ef02bbad8016bbbe0b09bb77dcb4ba6460f6ba9c6504bb41fa02bb5c0edeba63803abb8f6e46bbc7f637bbc537f5ba64822bbb3d4b29bbac77e8ba447ba9baf36e23bb908420bb2add08bb8cd811ba094892bac44e88bade7824bac8fb77ba7b86c0393795aeba38ab5e3af648beb97e91f1b970e0bcb972166ab9a3be8dba1128c6b9ded2e7b9563091ba5638e1ba814a87ba60e27bbaa38affba420ed4bae3134dbaa3f785ba83c2ddbac90115bbc01d60ba59fdd5ba069d36bbff22d2ba4d3fe4b95ea5b5ba37d211bb6e4de9babcf4a13ad422f6ba486143bb5fe2b6b9169ca637cb29d8baa99e1ebbd94e2a3afd774a39d47d37bbe49c6abbcdd8f0b9d27329ba5aa95cba4502a0bacffbe2ba5d3d18bb154f23bbd9e7afbafb4446bba2e181bbf53978bb76f710bba03731bbfe5463bb323c49bbf17dedba5cba83bb6038a6bb16df8fbb7eda47bb6d4748bb5a136cbbb10452bb049214bb8faf83bb389c9bbb6fc585bb97b53dbb0d1041bb7fd25dbbe26d42bbd09817bb149082bb6d8f89bbb9c579bb5fc449bb6b14c0ba7a43cabade59bfba9f3c92bacb2d4d3b99758d3b235b823e45da423fe8b2a53bdcc9df3b3ab0673ec6e42b3f8726943be5cabc3b135f463e1cb9123f4ebac63b9203ec3b6ad5273ee6b9f53e699f923bbedca73b4143053e134dc33e24b8b13b1a8d613b7827cb3da9fa923e6824013ba7edda3a1538833dc072413ebe2ade3a94a28e3aec0d033d9f6fc03dcc20663a22966a39890a02b99f1948badae1143bda346d3b0000000000000000dfbc893b7521b03b000000000000000026ad7b3b1aa0893b00000000000000003e88993b27a9a83b0000000000000000a9ac4a3b7354653b0000000000000000a6a7393b24f9553b00000000000000005ad09fb8f14c153a0000000000000000f36344bba58070390000000000000000c1d0a2ba119bcab900000000000000009a8951ba777bc0ba4d32eeba7563d6ba5c4dbdbab97e1cbba5cb35bb1dd029bb6f7fbfb89fe147bb70b654bb747d43bb7273dfba7cd63fbb8b6e47bb39c02dbbb870e2ba84152fbb34f637bba4a009bb2f99acba26301cbb4c2306bbfe72ecba04fa87baa5b0efbac7fedaba24ec9ebab775a8b80b6310baf31ac5b997f27bb79807c8397d6390b947a4bbb93a7a21b92507c0ba6b597dba66bf09ba06e18abae96b14bb73e73e39238e81ba90e100bb058c28bb8a02c6ba280ca4ba945917bbd4a1e9ba4349aebae9bec5ba64f035bbc7fdf0baa3e412baaeaeb8bae70914bbf6ccd8ba31eabbb98c30fabadaf94abbbc4c50bae7adaf38b6a7f6bae8e33dbbabcadb3804c83a390eac28bb58fa60bb8f0732b98ada3a389dfb98bad8b5ceba5fd4f8badc2431bb96ef39bb7118d7baf10e50bb931495bb621089bb42b031bbbee765bbeb2ba2bb6bca8cbbe0ef3dbb27fd83bbddffb2bb82f394bbf5a44fbbb5394dbbd9cc82bbc76e62bbeed622bb825d86bb061da6bb5c568abb50505ebbfa136ebb58df8cbb4e8e77bb4a993bbb778981bb8a9a90bb72e905bbbf2bb6bafaf9ecbad7d700bb687afbba84d0bcba9fe05e3b08c0b63bff8e043e247e633f8a68ae3bb157013cd350ee3db66a483f4123c43bfcac043c1b33cf3dd7bd2b3fbbf1c83b1abbff3b5fc4ae3d850f0f3f6543953b42e1b33b53728a3d8788e33e93ce933b460aa13b655a523d9394aa3eddef513b2a7d463b36490a3de229623edb07b73ab277643aa64e813cd36ade3de50aca39ad1e37b9e03a3ebaec22c0badd03453b9dca8c3b00000000000000002cc59f3bb7fdbc3b0000000000000000d849b13be9ddbb3b0000000000000000902da53b3377ac3b0000000000000000f5c15f3bdc356c3b0000000000000000ff5e233b33bb2e3b000000000000000083db373ae5e4a43a00000000000000002472e6baf3fe27ba0000000000000000245903bba41f73ba00000000000000000000000000000000000000000000000033f39dbad72215bb2bb427bb2cfe1bbb96dad6bac12623bb372e2ebbadd220bbd457e4ba434837bb99ab3bbbd5e32ebba0088eba415e0bbbf4ff1bbb9cbceeba79a3b2ba7d121fbbf0ac20bbefb109bb8ba243badf98d1badbb6cdba0054a3ba18b53cb97d3a35bb10ec5fba23a01dba0000000000000000000000000000000000000000000000000000000000000000f99c07bb03f7c3ba7e4922baeb9ec7baf064ffbaa6b9a1ba6a907ebae943ecbafae8fdba4fdb68baac95a6ba99f90dbbc041adbad00f07ba5b3ea6bae74500bbab39ddba3628d0b9b15dcbba4c5826bbb9447dbab861d4bac64cbcbad7121abb6e068ab9b120923940a2d2ba1a781bbb0000000000000000000000000000000000000000000000000000000000000000f3ee28bbdc7f85bb12246abb1ec20dbb324135bb6b3f8bbbcbf967bbc0fb15bb25db51bbc66c94bb730179bbdba331bb08d938bb043470bb8d6b49bbdd690bbbdfb460bb26b58dbb171370bb89f336bb563849bb09c775bbfb655abbe30525bb584937bbf77b58bbb7b63ebbf25115bb000000000000000000000000000000000000000000000000000000000000803fff14a33b0ed3fd3b511ecc3b1e10643faf04a53b4bf3e93b16b9ca3b1131433fc47aae3b36acdb3b64aec33b5c88223f1c218d3bf00ea03b8bc58c3b5c92013fa508853bee88953b99e0813ba029c23ecf3a633b0e135d3b07083b3b8c1a813e7b22de3a72a8983acb98083ad0a3fe3d000000000000000000000000000000000000000000000000000000000000000053c1a83b0778b43b00000000000000006d1ca53b96b6a23b0000000000000000ba589c3b17bd933b00000000000000002ac9673bc030613b0000000000000000de11293b05d2283b000000000000000082c0b03a8b69cf3a0000000000000000c0e97fba7e0f67b900000000000000000000000000000000000000000000000000000000000000000000000000000000c11a16ba91581c3c2508803cd2c43f3c55e1483ab075473c91a06e3c07774f3ce5dd453b3678113c8a8f4b3c53c9333c0923d33aa17efd3bd76e283c37c00f3c4ac2d53ac74dcb3bbee2143ceb6fdc3bc095643a99734d3b4377003cbf78913b31bd17bae374ef39096ef23b00d981b900000000000000000000000000000000000000000000000000000000000000004ea9e33aa949f5ba931eef3976d2fcbc62c6503bc7879cbab9b94fbb51d811bd04229b3b3635fa39a313ccbb21d316bdf675883bc2083d3acea48abb068802bd0489483bd7c2bdb94ba46fbb810acdbc9bb1193ab7f9b239d7a99cb9ab3d47bc1a0c7d3aba25d7baebb68b3a3cb997ba00000000000000000000000000000000000000000000000000000000000000006141febde2f816bd7ab3433a54d39b3abebcf5bd0fc224bdb75e41bb973188bae069d8bd551c29bd5e6cb2bb50daf1ba2f8eb6bd47ed11bdd80ca8bb36e041bbc40892bdba09d7bce8644abb39af2fbaed7f51bdab015bbcb3c1eeb78c0ab6396dd7f1bce809f7b9153bfa3a9847c23a0000000000000000000000000000000000000000000000000000803f0000000082c0553c49af7dbd19119d3fe4e744bdab22373c5e68f0bc9e4a823ffe8f97bce76e143cd08219bca046523fd608abba913cdb3bf57902bbae20203f0a2c123b0418733b441a38bbb22bdf3e91f220badd889b3a30c709bc064f803e1d5518bc1f1c303a9ffe92bc0ab19a3d9c06a2bc0000000000000000000000000000000000000000000000000000000000000000d5b00e3c3a412abb0000000000000000471fe43b68c1afba00000000000000002b6b8d3be8e143b800000000000000002607fc3aba4f503a0000000000000000874d01bb671f2eb900000000000000004bbb5bbb5abfd5b900000000000000001a2f2ebb7c930c3a0000000000000000000000000000000000000000000000006a1f2dbbf680c13b74f7f33bca79a43befdb90bb87db473cb9809b3c03a8613c483b9eb9155c633ccf46a23c4fb26b3cc9ef8b3ab1734f3c1099913c8769663c38b0403bbfad213c1d28633c6362233cfd56823af20af73bde80593c61230f3c8e02fbb9f78e8c3bfd5f363c530fa23b1ad90cbb3147d2398a61c53ba201873a9e169eba2b6c26bb0ef71c3bda6efeba1ae3f3382f5fc4ba06acfd3b2428b0bc1c7d4b3ae45b8cbbb998213c0fafe0bcc6d5653bde1d5cba8809283ba46e19bd5f97a53b10dda2ba3dc5f1b985e716bd4726ac3b1621abb98dbe1fbb0a3306bd1f08663b744da5ba123dbab9222cb6bc77ff7d3ad36d71ba6060a83a6ba233bc5003d8b74de1c5ba7f0ce83ab27a803be2227fba8c9a3cba5c44443be78e1a3ce1518bbd63fa9fbc846b4dbbfd338e3b9d1202be6b0e13bd37c7fab9e94aa63b372a0abe978c4dbd42edb3bbe8d1e13a8529f9bdc08551bd000103bca0a2df374cc2c8bdc0ae31bd0650d2bb39c247b9e92ca7bd93c007bd8ff584bb4079b63ac32a68bdefee96bc43b46dba7d441f3b1405dbbcd4d426bb6822c53a07c41e3ae12e51bb70fd0c3c8bd11a3b492e033bdb49713c81b001bea2b29c3ff1e19f3deb2f963c881707be5c1e963f05bc8a3d39bb513c1a79a7bd10bb803f18baaf3df8e6133c798e56bd02294f3f53d0ac3d8764f23b476110bdc1461b3f1967943d7f50a93ba080f6bcb5f4d73e142b4d3d29b0c13b739a04bd6f90753ee995cc3c1933113c3ad9e7bcd6398f3d6bc0143b49ff853b1aecdbbc9f535bbdbeb7aebc3bbf8fbc83c790ba000000000000000001a592bc46b98fba0000000000000000470654bcf60b32ba000000000000000079c92bbc0f02883a0000000000000000f3f836bcd806bd380000000000000000132762bcdd6fb33a0000000000000000081958bce9b61a3b0000000000000000d5cd0bbcd2b2963b00000000000000001d5efabb4ea4333b0000000000000000ccbb53ba7f23923b66cca23bd0b6893b532de6ba442b283ce8f25d3cc5222e3cb77e3f3a708c1c3c101d5a3cc57f493c0079173b17d2383c35a3743cd4d6533c5f13b23a87f2b53b1b76593c8425373cb98b9d3a912dd73be3f4283cc29a133c0ff05fb9240e653b4c4c0a3c8cd8cf3b4afa09bb2bbdb73956d8a23bb5baf23a8ec69fba33a61abb7fb3e63a94e590baec8a973a03ca18baabfef83b2d50bbbc52ab373b1ad6aeba0904f53b2829fcbc0ee4e13b8d715dbaf68bf339a26308bd2ff8a43b7c96bc39252b3aba17430cbd62d8a13b209b823abe4f99b9b6abc7bc7fb37e3bab8e3cba2c76dd3978dd9dbcbcadb73acf0029bac3f0d03a97171dbcd586a9393ecd80bae561653b0efe303bd6b10bba96d87cba066a5a3baa08ec3b99bb26bd33da81bc27e024bc10a66d3bafd1c6bded3b37bdbe0949bc379cbe3bedcec7bdebf85abda76b95bcb970e23a02e4d5bdc7476fbd9f4062bc6e1c773a9b81aebd2f054bbde92055bc1d4687bae06392bdf9321fbde7b1ecbbc2cefc3a352843bdbb98cbbcd8a490bbe226123b2c6ec8bc5e8312bc11280f3be59df73a866809bbb344963b3fa33e3b0fed243b0bc55d3cbeb6fdbd9a13833feb2b843e8a12963c71a80bbe645c823fe6347e3ec66c6e3c386ea0bd5d68563fc9d9713e8f02393c4d8d8ebd9065373f36404f3e0945eb3b1a1c35bded3e093f1a50223e9addde3b062937bd8553c23ebcb2ed3dbbf1913bcdad13bd29d3643e11be8b3de03f023cbae816bdf0a1993d1b6da53cc7379f3bb3dae7bc3151f3bc9b3574bc114330bde2bc9a3a0000000000000000b7213fbd1f6c683b00000000000000002ca9ecbc410ce73a00000000000000008cdfedbc6d51273b00000000000000002a89b8bc6ff90f3b0000000000000000b4efd8bc2d22143b0000000000000000194cc3bc0dfd0b3b000000000000000048deb4bc33c0b23b0000000000000000842070bc9dc9803b0000000000000000f5b3a33a54d3223bc93b773b7b5d6d3b08e132b9cde6033c3fe2293c1f502e3cd596c53ab8082f3ca700633c3f2d593c48a8b83a664a163cc914523cbbdc503c18aa5e3bc7e9f23b39f7323ccabe2f3c74989e3a6afdc63b77af1f3ccf630d3c30ca0aba93a47a3bdd2ffa3bdd83b63b9b6c99b9e5ea93b9a69f773ba7ca6e3befd29eba4d5430baa842113af0fa4b3a1c670e3b35fc043a85e8983b1fb1c3bc0e08b13be34b0ab81cbfef3b4f0cfcbc9714d73bd8a4763ab6f7c63a249508bd569cfd3badc1963af63884b997e2ecbcc3e8b83bd50dfc3a20b681ba0fd7d0bc29af8c3b81142b3a36620a3ac5fb8abc53bf653be34f5839051b353becc701bc6fcc293aa0bd09bb64054f3be12a653bf9eed438e6b9dcba0b28803bb21db53bfb10e5bceb7c97bcaea995bce049793b900d9abd1f8658bd4ba4abbc65ec913b65a9bdbd13328bbdc6e5afbc2a6b033be01bb4bdedc687bdaf74a9bcb63d023ad5679cbd3f6e6fbd05d28fbc7699bab8782f7dbd8b533dbd115d53bc140e0e3bc82e32bd5e70fcbc851fa2bb7ca2293b28f9bebc715e50bc0e4a333ad078893be9ce33bb388ae93a628c6d3bb97a773bf5e0183c0e14d1bd0443553fb714e63e26fa883cb714f6bd5a11543f1839e13e9b5c563c6b6eb3bd83d2393ff19ec93ece182c3cf0de86bdf6ba173fd13ca93e5170023c270d53bdd062e93e9864853e6811ec3b17733bbdb8baa43ea2c13d3e51b4bb3b043231bd0033433e94a6e03da4bffe3b943d28bd8e81933db35b253da0ac6a3b157defbcc70791bc3a6a6cbc623d80bdec7e993b000000000000000012ce92bd701ad73b0000000000000000285566bd46f7c23b000000000000000021ab38bd51cc923b0000000000000000e7621bbd9bef403b00000000000000002cba11bdfe59513b00000000000000004cbb10bdd544493b0000000000000000f76700bdb8acb93b0000000000000000a274bdbc7543df3a0000000000000000f14a073a87574a3b49894f3b68da653be3e3323af91eef3b6e9a073c6998293c6bc4933a4e6afd3b6762383cfff93c3c6cbaf33ab875fe3b8177453c1cbd4f3cd7bdec3a9a42b43b7a5dde3b0c39f13bab7bb73a7e2e943b347f1d3cb679163cb06806b9db3d673bc852b33bd2aad33badc752baf275b7b9182b7e3bf43e613b502b6fbac37288ba95b35b3a62f13c39556b2b3b54a94d3a175a873be514b4bc371fc73b2160a53a8d9f8f3bd924e6bc1e7bec3be6d0b93a1c992639244bdcbc4bbe0d3c6b7f0d3be86af3b9656dd4bc481bb33ba1bf963a4a3232bbb4049fbc4c67b13bc97ec43a820ad7b8907474bc469e2b3bb23f06ba32cddb3af2c3e9bb2e94323ae7fb74ba774d683b1a68e539d9da21baf8f53fbabaed733bf894933bc593abbc9e5eb2bc2c1dbcbc1065863b276971bd668d74bdc440f0bc4350b13b1b3991bd93ce92bd4ea0debcc73b0e3a0a5699bdb03d9dbd5941dcbcc555f8b924b059bdaae15cbd4d9fa3bc7f6c00bb42845dbdc57f5fbd6ed868bc4340653a05600bbdf5cb0bbdc16edebb5573413bf0948ebca2e98bbc9e482e3adbcc823b3a1780ba3c9494b9919a953b01e3933bacf9c73ba390aabd2a41243f2667243fdf0f493c0e36bdbda43d213f5229213f9ffb1a3c9d5b84bdf45b0c3faef90b3fdbb40c3c1d2d64bdb08bed3e2d3bec3e40f5d13b0c5902bd192fae3e9287ad3eeacfc63bd4bb27bdaa02843e5439833ebe99a13b458612bd26551b3e3792183ebaebb13bd5dc0ebd4d86723d58296a3d6fd3513ba9cadebcb6a95abc9b8a72bc5fafa9bdfda9d13b0000000000000000c8c1bdbdbdf8293c0000000000000000884d88bd5583093c0000000000000000bc1a6fbdf55aee3b0000000000000000a68f0abd7ae0513b0000000000000000350137bd438c803b000000000000000031241fbdf4e2443b00000000000000009a5c17bda2fcad3b00000000000000007290e9bcf932233b0000000000000000956a99397561fb3a9ba2263b92d26a3b926995b97aaad63be066163cb90d363c795e8a392945db3b97a25d3c193f753cdc56193a3deefe3bca89403c12ed593c78f5d43ac8d3c63b9656233c52e8483c84277fb9b3e4bf3b68b40a3c8e051f3c8c297bbafcee4a3b330ed23b7e3df83b85aaa3ba9371853aff81143b505e9f3bc9f337bac88368ba4840a1b9400ec23a91b9833b6d77233a5f52a33b4f6296bc8904f33be7461f3a5a1f9f3b0586b7bc0f6a2c3ca747913a2ec1dd3a2373b2bc5d4a103c30d8df3a9f41b2b8e586a6bc640fee3b7e9f383b4f64bab9d5d995bc5ae0bd3b8b5e3b3abcaec9396f0f36bc36c11a3b8fd43439c100383bc4b4b1bbd9852d397585d7ba758e4c3b18b2443aef130dbad7d2abba12e1563b5560763be3798ebc598fe5bc2498cbbcf848a63bb46e52bd19da97bdfa4107bde0facc3b1c6e86bd60b5c6bda03f0cbdb63b853b524986bd4b1db2bd6f90fcbc05391d3a89376cbd7f9b9ebdad13d6bc40d396b9fdca3cbd8d0a7cbde9318dbc0f75023b290f00bdfbe12fbd1339fcbb9b22733bdc115dbc51e6adbc1ae1193bda566d3bfb097b3ab95c2abbafe2bc3b98a88c3bb9b59a3bb02280bdaf2fe63e7a1e553f02bef93bcfcb92bd5763e13ec52b543f8858f73b38e15cbdf9c4ca3e08bb393ff128cb3be08d30bd1bf8aa3ef75d173ffca8ae3b9a9009bdedf5863e7b4de83ef871a93b922a0cbda029413e2880a33e4fbfb03bd1b00bbdeabae63dd43d413e5090d13b9e3bf4bc274a2d3d54838f3dfa652f3b8e1fbbbc73b349bc806697bcac39cfbd368b043c00000000000000008b69f3bd6d77723c0000000000000000b3adb6bde52b353c0000000000000000be2c8cbd1e19023c00000000000000003dc558bd4ea2a93b0000000000000000d3f647bdd908943b000000000000000032a43bbd538fb63b0000000000000000eb0228bd34d4b63b00000000000000007048ffbce66f693b00000000000000008cc062ba8e950d3bc84f5f3bca9ed93bd6a710bb82c3923b57f31c3c0a9c5e3c9301c53927a4c33bd3622c3c8812743cf9a62ab9f03ed43b07cb4f3cdeda7e3cd750883985a2b23b1ef4133c0e673c3c3ed505ba8a009c3b5c2a033c12413c3c81ef113898dc513b3500783b5cdc283c7ed7cfba7d1e4f3aa6421a3b0be1a93b485b78ba4b53d4b9adddb3ba7ccffa3a7aef983bd3568abaa9c7913b03203ebc16642c3c2347c4ba873cc13b98f565bccd51173c72b6a63afc590a39f84a82bcdec8253cc427163b5980adb8673572bce5e1093c1ce4033bdbda08bab95741bc9276c53b5c672b3a6210873a9a560abc79c7873bf68af0b9cc24823addc7adbbb271a6b9210e0cbbac28223b7bfd8a3a7a35f7ba63f5b6ba52cf0e3befbb193b519976bc59c22cbd1dd0d2bc36f60f3c153c31bddd39c4bd587306bdd282063c6c865cbd2d44c8bd40bf11bd04e1023b9f406bbd67a4d7bd8c7c0bbdc597553a55463fbd80eeacbdb375ddbc63d5c4bacfb521bd376390bdd1f2a0bc298d223b55c1dabc467549bdad2d37bc76a3853b115611bc6240c9bc1868183b54bf923b55468e3b7822e0ba7a20043c0b66723b1d21663aed3f34bdee88843e1c41833fadbfa03bccb13cbde6ea7e3ed924823fcc6d953b7fa0e6bc5755743e3d46563fa2b6843bad4adfbc580d523eedf8363f25f79c3bd47eb6bc5597253e6213093ff49c943ba5a8c7bcf0f0f23de86ec13e10661f3b61e7a0bc73de953d170f673ef14dcd3be257babc99edb53c774d993da014a53b42d484bc282c6bbc1f2beabc0766fcbd63c0583c000000000000000089a90bbe3696953c000000000000000061f8a1bd2acb383c0000000000000000793391bdfe1d123c000000000000000053905cbd00a80a3c0000000000000000a62e43bd4719a63b0000000000000000df0029bd2e98d23a000000000000000006e223bd22ed253c000000000000000026c8f8bc7edb963b000000000000000054a79ebad6f455382704873b5f69013c5ec16ebb56b0143babcf423cf1e6a03c9e0a03bbda45993b1f65653c7b2baf3c6b7669ba8f6fc53bcf5d523ce9ad8b3c1c56b8b918a7913bacce383c82ac7a3ca89291ba720f653b1fa1f53b8446613cb4c5f3ba5c38253bc33ea53b062b343cde0104bbd799fb3998f0393a5dc2cf3b05dd3eba5e1e8bbab87707bbdaea153b66b6c03b79b03cbb6cb8a03b02459bbbd886463c12d895bb5ab09f3b40512cbbcd135d3c37b65cba885eb93a26fc05bca41f573cbaea8b3a3133eeb9e80b0fbc04e01e3cd2f6823aebc94fba25d30abc0d9eda3baa23963a96a2083ab3fd63bb03e2893be60fb4bac6a0dc3a3b324dbab6f4c4b9d20c12bbeeb1803afeb6fc3a1e62cdba9d7be7bad195f43ae6aa4c3b22ea93bc996e86bd6b8ebfbc11d3043cc8c40fbde16802be685deabc0f9c3f3cfd0b46bdf4e00abe27241dbd6fc0813b1d1c49bd3706f9bd0ceb22bd49eb0a3bf5cb30bdb642cabd97e101bdf6e7e0bae3c202bd2c5aa6bd48c1b8bc6ebdcc3aacb598bcf0d669bd091221bc7bd23e3b599e5dbbf7aed7bc78e2883bf514193b8245e53b8ad72fbbf1121c3ca8fe463bc75297bade3f95bcd27d9f3d36949c3f14671fbac62890bc9aad8b3d7224963ffad66b38e2492cbcc60bb23d6dc3803f0a12b33accb316bc74afb23d6ae74e3f3ba0f53aa74105bc02c79c3d462f1b3f3a8daf3acbdb4ebcb4875c3d038ad73edd4f6b3b4de669bc9f30e23ce68a733e2861bd3b67e228bcfb04813bd0bb8e3d2a904d3b1d521bbcf5269dbc43f356bdda8a01bed4e9753c00000000000000009bb506be34378a3c0000000000000000955daabdc1de343c0000000000000000da955abd613cdc3b0000000000000000ae4a19bd396dbe3b000000000000000062fa05bdb3aa343b000000000000000046ae04bd06258c3b000000000000000092acf3bce5f2113c00000000000000002c3df8bc8eb8b13b000000000000000000000000000000000000000000000000cfd81fbbae15883be6e2123cd7f0803c8f2e8dba71008a3b7b14473cefeb553c1ddd78b9d7d08e3bc6f1263c7199573ca7e39b3928958a3b9d76023c86541c3cbe414dba3f71723b463fcb3b51f21b3c4da055ba32d6ef3a6b42633ba1ae063c33388dba97c1bd39aa5ac33ae665ce3b000000000000000000000000000000000000000000000000000000000000000063714a3c712c22bb76cd953afb0c07bb45bc333c4602c43ad8f934bae1efabbb11000e3cfcf9263bf0830fbb2a85d9bb881c0f3c119c203b610fe0ba540181bb812db03b6364eb3a943905ba2d6d72bb3cb9673b5c00083a81d0f339998d7fba7cc6713a621ea0ba31429f3adb3de53a00000000000000000000000000000000000000000000000000000000000000004b170cbd2e84fdbd05ba0bbd1221333b15d119bd4f49f6bd8cb00fbdd09607bb376f20bd3d3ed9bdf18617bd7bccb9bbf6d413bdde89b6bd6c0405bddce2a9bbe76ed3bc2e7d93bd7effc7bcf60344bb17dd65bc10c857bdfe444ebc8ce39bb967f206bb6ea7efbcbdb78eb9c7e0e33a000000000000000000000000000000000000000000000000000000000000803f9fed07bb8424283cbe0e44bda7329d3f94191f3a5a18173c62368fbc6269823fc334c53a6e79023c89d9653af55e523ff1cde03aaac9553bf616bd3b889e203f2b93f03a091c4838a3a63e3b9f99df3eab04d33a36e0eebac3c4a0bb65cc813e24a8be3ac47085bb27a186bca4599c3d0000000000000000000000000000000000000000000000000000000000000000c6a57ebd4da93f3c000000000000000043e8fdbcdc19143c00000000000000005aa536bc7c74db3b0000000000000000028fb6bb8889523b0000000000000000540ce6bba4d0fa3a00000000000000007d5041bcaa88433a0000000000000000b007a8bc70abd63900000000000000000000000000000000000000000000000000000000000000000000000000000000595e053b4935043c4cc33d3cb78e1e3cda27683b1106123c8510463cc3742c3ca3c4923b9528053ccf59323cccab233c3998823b6e7be43bd172213ca0fcfa3bec1b393bd175bf3b8e76123c5272cf3b0c72d03ad3b1513b8c70fd3bcd6f433b4ee11fba9402bb3ad2e7a63b5e0bc83a0000000000000000000000000000000000000000000000000000000000000000d77e5d3b5e3203bb9258b6bb100b1dbdc91d8f3b961986baec5123bce02f26bd4118a23b6217f7397bf55abcfd272bbdf55f803bcd98833af50451bc909c13bdbad24e3b769958b9a51c10bc2be8ebbc816bd73979133cb943261ebb41e48bbc89de2ab9f20dbdbacb902e3b96f9adbb0000000000000000000000000000000000000000000000000000000000000000ecaec6bda1132dbd88fec8bb8ad0f13a701cc5bd6dde30bd729116bc89e3b1ba13beb5bd9a2533bd625349bc4e1d92bb857998bd702117bd25722cbc18dc6cbbe8fc7bbd4c2ee9bc9e84dbbbf70f9fba600839bdbac580bc922976bae429b03a380dc9bcc64787bbf0d6423bb2d3573b0000000000000000000000000000000000000000000000000000803f00000000d9e9463c4eeaf7bcdf64953f675f93bc4f40673caa22a4bb2121783ffe90753ae7905e3c2caa0e3c71a3493f8a804b3c5fda323cd19f1d3c963a1a3ffe2b213c429bca3b0a3c763bbd9bda3eebe78e3a6123363b586ab6bb950e833e7efc25bc74ad26bb3ce2a2bcb5dfb63dc84fc6bc00000000000000000000000000000000000000000000000000000000000000004c3f023c9beb5aba0000000000000000a902fd3b0c0e14b9000000000000000079e1113c80ce0e3b000000000000000092b7883b503521b800000000000000005b3995bac0cbc2ba00000000000000003959bebb006786ba00000000000000000604f1bbc0b502bb000000000000000000000000000000000000000000000000c51a8239f020853bdcbfaa3b584c6c3b56f731b95162213c27b05c3c1344283c7588573b2af62c3caa46803c52cc4b3ca3558d3b71a72f3c7dca733c0c8b3e3c7a965d3b2fcfff3bb800573c80d62e3cf182413bd87ac03b5b68403cc7cbd03bbade223a7b147e3b6f700b3cfbab973b2e8d94ba12dba13af0ff943b121b993a2df59dbaabb9d3ba1323013be11993ba09b9b33a8228deba237e733bacc4d9bce7ba303b065592bb9caf893b041714bdd02c893badec13bb1298eabb9e5c30bd6961a13b5df85fba7d9526bc35c930bdb7e5963b90193fba651d1cbccfd613bdcc5d6d3b8185aeba9b7bbbbb1d9bd9bc2f44013b81b305bbe7dd023a89db83bc4c7ba63952df0fbbc3bb983b9bd3a5bac9c060ba66d08abaabc6bb3b80aac13bc5dc50bdb401c9bc72d0aabb61f79f3b5240c7bd889b29bd78ae8fbba332023c968ddabd0d3255bd047432bc2b3e073b1e98cbbded0754bd8d474cbcabc83fbaad81a7bdc63836bd51ff4dbce73b07bbbb998bbd95d70abda250cbbba7e1ff3aa00441bd1324a3bcddcb57b922e7f73a3973cbbc813fbbbb16c2263b85ea463bb24c29bb5fe7993b1a79843b5393683ba90bd13bee54acbdf7d2943fda27d83d738b2a3c1952aebd0b978d3f444dc13daf09423c0d7227bda2e2703f5b56d83dcba04d3c6c63a3bc6d90423ffe1ec73d4e81253c19cb1cbcb083123f263fa23dc90dc73bcc7470bc4482d03e9d8b513dfb0dca3a76fcadbcfcd1743e070cad3ca1e0913b7c2ee0bc8d56ae3d0ebe8ebb31d892ba7cfbf5bc7b3b1cbdbdcfd3bc3ce381bcf204bcba0000000000000000d68595bc07e991bb000000000000000084d1f7bb4825d4ba0000000000000000e0edbcbbaa2a92ba00000000000000002b18aabbecc672ba0000000000000000bfb332bcd47727bb0000000000000000608966bcd96e66ba000000000000000011da2cbce0344d3b0000000000000000a7d72cbc19ec8f3a0000000000000000de49523a8268633bd7375a3be0352e3b5147043bc5a7d33bfbfa493c2fb40c3cb1444c3b4c2c013c24c9393c1d821b3c904a8a3b704b0a3c21fe5d3c09ba473c2efb5d3b8503ea3b2690273cd32e023c58aa183b9ba6bd3b42b8273cbda3ed3b22d9f93abe5b0a3bcb55ee3b549db33b34633cbaee90b13921c7a03b24adda3a2e1f87ba1071cfba1b17663a7ef315ba20caef3ad58088ba05528a3b37d0c3bc07136b3b7b8c85ba6992c33a759718bd0d74d33b2d3cae36f208d6bbb52020bd792ab53b91877fb8ecd815bcf2ab22bd2087923bbe28363a62fd03bcfb930cbdc22f763bf8cf76bac1aa89bb23cdcbbcf271543ad71ec8383c83e4ba988b6dbc02d5e539b205d7ba5db3913b70461cbb38985dba4b2f85baa5cbb33b74ddb23b0a26ffbc88449ebc66a32ebcd1aa963b0cd39cbd53f03ebdf3ee88bcf88f943b38b1a3bd3cb058bd519ca4bc555e19bb5d69b2bd538c6bbdeb479bbca078a4ba23328cbd15903dbd00ed73bc044c55bbe8b177bd06e71cbd38831cbc674de53af8ec22bd9f19cbbc319ebebb4da71c3bab5cb1bcb25520bc513e973ae1818c3bd5d9a5ba104c313bf6ce843b63c7903b283dbd3be1b9b0bd3a3c7a3fb2708a3eca504b3c94d1b8bdf6b7753fc59c853e5eb2683c27b328bd75dd493ff2d0763e6dc5583cd1620bbd97942c3f2e84513e15b3293ccbc79bbcc5a6003f83cf233e472edc3b1866d4bc9844ba3e7e62e33d4e16363b9e86cfbce981613eb8a8843d9477833b736b0bbd9809ae3dd472783cd2e0123ae803e5bc26dbb7bc140999bcf0350abde29380ba0000000000000000adf611bdfdc0ba3a0000000000000000c5d786bcc99f1b3b000000000000000082dd8fbc70f0253a0000000000000000db3e4fbc7122bdb90000000000000000ffbab0bc3fcc4ebb0000000000000000eb15a8bcd0f51fbb0000000000000000dc8bb4bc60f5b43a0000000000000000673d83bc624466b900000000000000009569e43a1253513b9b782f3b20b82d3b2fea1f3b2e59e53b0d7b093c7d27073c6298673bec200f3c7402483c3510333c14076a3b87cf0d3c6185383cc5df343c9c94793b7bc5dc3b3311303ce211253c82a1183b417bb53b22940e3c5944f93bb621323a7eed723b66fec03b9494b43b6f6b813982f4883954aa7d3b2ccfe13ad27e94bae822a8ba6d2a1a3a55d02f3aa26dff3a0a9f2e3a2fa7013ad219cabc45cbbd3b707d26ba6c6b97b9089f13bdadeed83b6f1b4f3a5e3fcabb56c21fbddd6adf3bdcea6e3ad08a04bc6d0315bdf4fabb3b109abf3a925f0fbc9ba8fcbc1410903bedc79d392381b1bbf6d0b2bcbf7e233bc14084ba9bc35c3a544b47bcf1501ab9b9f6d3b963d2673b1bd316bb6de8deb92fcea4ba877bad3b957ea93bd83dbabcfa75aabcdcad92bcd7eb103bf17079bd19334cbdab0dc8bcf13d4a3b00b89fbdd1eb7fbd1906d0bc0a92e6bafdfb95bdb0f781bd77d8d0bc94ed0ebb4ce789bd65ec5ebd2d76acbc69e257bbf2685bbd80e32fbdbf966ebc0341de384f761abdb08ceebc0444c8bb90386b3bd68d9dbc22014dbcec3f803ad079943b801be0ba7352c63af46b583bcd77803b065bc43ba80392bdd31a4d3f61fae43e16fa403c240b9dbdc80b493f8a78dd3ec9ee5e3cadbd46bdef392f3f0ba2c43ebb3e4e3c7f2b05bd57970f3fec38a43e9f25263cf7c9bbbc7c6fdd3ec11c803ee5eeee3b1bfcd9bc05d09e3ef595353e09e5543b7d8202bdf8d3413e72c8d53d1a81263b28bf0ebdd72a9e3d3db2133d71c609bb3226f0bc601c68bcc4b38bbc554a38bd60c8533b0000000000000000a43b4ebd9085653b0000000000000000c8bc0fbdc3da5c3b00000000000000003f12e1bc5622203b0000000000000000ac4dc0bc7d8085b800000000000000009493e0bc6bb4c0ba0000000000000000400705bd34ce1cbb0000000000000000e1e5f9bc24cf093a00000000000000005e01b7bcb0b911ba00000000000000006967bb3af279213b5038193be11a303b54bc103ba907de3b3eb8003c306e003c1877333b2c78eb3bfbdb263c4ddf263c63258d3b0007de3b927b423c396a413c85ce493be8bdae3bb0a9e73b7c3fca3b7457da3a938fb13b86e0153c9eec093cdb7e9f3a9638203b5927b63bf746a63b8d0249bab167423ab012593b2446363b48c578b9847ad0ba1f45483a7cb28eb9a21d133bfbb0333a19f7bd3ad2fcb4bc4414c73b8f1dc53a5abeb2ba7b4605bdb0bdd93be7e1af3a6cd6dfbb988e07bdb710f63bbcdf1d3bf8eb1bbc244f06bdb317ad3b5a2e0b3b19f629bc0b5accbcc414ac3b74477e395fd38bbbcfe8abbc0a1a293b9f77f3b74e168dba95f425bcd95a843937a2a2bae2eb7c3b462616bbf29383ba39fd3bb9626ac63bc2af4d3bfd8795bc18bcb0bc78c0b6bc45df083b7f5350bd65cb5dbdf25a03bdb744c63aa4ef81bd6ac385bd8ee9febcb01135bb6aa98abde5fc8dbd7285f9bc41cb9bbbbf7048bdc4024dbd7c06c0bc67aaddbb47114bbd0de848bd56008ebccbd4deb9817103bd64dd00bdd61204bce5ec233bdd3e81bc1b337cbc072f13ba6745b63b6f9391b9ac2f1fba0c93923b0cf9b53be3424d3b919f68bd584d1f3f7f971f3ff73f173ccefe72bdfba01b3f3dcc1a3f3507443c3f130abdf81f073f8bcd053f65883a3c1e97d4bc28e5e43e97bce03ebf84263c0cf534bc5f3fa93e14c2a53eeec8b53bf7aebabc4d13813e751d773ea596363b22ddd7bcf0851a3e94c3113ed2cfe93aa2befcbc22ee7d3d64ac623d15ab1abbbd8cd8bc2f4738bc0fe086bc6d3467bd191a5b3b0000000000000000930482bd33e8c63b000000000000000042fc24bd96c5ba3b0000000000000000be750fbd799e623b00000000000000002915a3bcd7c9ff3a000000000000000059370abd96e86fba0000000000000000146f09bdc80b29bb0000000000000000f4db12bdb73a44ba0000000000000000edc0e2bc1a7de1ba00000000000000006171aa3add8c373b24725e3a881b663bb4deb53ab996bd3b96c5013c34a2063cc68bf53aeba0ea3bcc0e313c4a8a4d3cddae173b8d80f13b3f2a343cf21d453c02b73c3b1137c43bcb7d1b3c74a5393c5d80853a28f8aa3b571f093c8c2afc3ba6f24839a987503be9e3a63b4647d83b95284fba29ffbb3905e93e3b99d37e3b86463338e658f9bae11690b861a5403a9394423b4089973a2f73a33a964e8fbcf4dffd3bea24a3397c723739a2c4e0bc884d093c461f063b09c893bbfb01eebc2bd7f33b752cb83a9170dcbb0dede1bc9e16c93b669f3b3bd15af4bbdebfc5bc73c1a73bcffc433a5f4063bb38a889bce7f03c3b6b6e69b99b4d543a0ce417bcaa74203a515803bb659d6c3bdb9359bae7c466ba5b2d41badd95973bf0d5863ba3e984bc9bdbd1bcf13ad4bc3c5ee43a90f13dbd496d81bd55a212bdbd7b883bd2377bbda8899fbd8c541abdb81f25bba55076bdb7bd9cbda3a709bde56138bb21805ebd1af787bd20e9ecbc6aab9dbbbcf932bd83215bbd751d9fbc7532073a1716f6bc2bbe18bd10b425bca726793b74e462bc669398bcf6abc2b921dbe03b20da5e3a45b834ba1653693b04c1a63bf314213b247e37bd580ce53e07d14c3f0802ec3b98873dbdce37df3ebd34483f46d3253c978edcbc8110c83e27e32d3fb0461c3c342d9cbc08ffa73e4a030e3f4e640b3cbb7a63bc3dee843efa12da3e021eba3b69509ebce05a3f3e9bfc9a3ebe1c533b1883c7bc9e0de73d3a123c3eac43353b6348dfbc1f20323d85ea903d235c5cbba17db0bc06463bbc754a93bc5a248fbd8ccdae3b00000000000000006601a6bd6a21fb3b0000000000000000d61e67bdd0eeda3b000000000000000010b82ebd393da93b00000000000000000ee809bd5bd3d23a0000000000000000b93018bd586a20ba0000000000000000933b26bda35716bb0000000000000000363e27bdbd11b3390000000000000000c602fbbcdbcf10ba00000000000000000cd10bba3db0413b00a1303bfb385d3b760c96b7568a963b1e60093ce239343c788ea73a38bad23ba90d1d3cd747323c481f0c3b5525f13bebce103cfdaa893cb287d23a16fbb13b97620a3cd9891a3c36ab2f3ab79f953b2decf93b54271f3c3df372ba9f89463bc518b83b43c6f93b85da8eba8b83b93af85fcd3a65e76e3bb656b5ba4d8f87ba61a80f3931abb23a8d49773b206acfb79e29353b282652bc721dfe3b6c19eeb9fc48283b858fa2bcfa0f083c1af6c23a8715aabbfe2abbbc9cd5ee3b04c5203b25eedebbd6d0c5bc5719c73b82760c3be462c9bb43359abc2d41c73b738c423a1e3606bb6d5563bcfa451d3bd3d9cb386437d338b46705bc9ccfec39ee4ab3ba2121383b4594a0b882ac8abac66dbbba4ee1853b1095623b3e6a8abcf46007bda6f4d0bca13fc93b105230bd4b489fbde21819bdfb8bc13b755950bda0c7a3bd62f31abd58af81bb313867bd5ec9b6bd29cf1bbdc7384dbb56c83abd1c5d8cbd12e8f5bc54f496bbc30123bd735179bdf2bcb5bc370cacb9a810dcbc2bfb23bdeddc47bcb19dfa3a9fab31bcb03caebc1145b8b91af6c63b65e9083b6d00f4bad14fba3b6b08bd3bf263603a128809bd81f38a3e4c2c7a3f1d043c3ba4cdfabc1009873ef944753ff33efd3b53ef2fbc5eeb7c3e5e76483f963b243c7970d6bbdbe95d3e45092c3fad7fe23b9c76a5bb65082d3e406ffe3e560ea93badc747bc41c0fd3de34cb83e82af243bc92583bcc5f7973d87fe5d3e2294773be55ba6bcee56be3c6340a63dd8e0983ac9d88ebc2c1b69bcc71ebcbc65f8afbd7377ab3b0000000000000000d682c1bd2185063c000000000000000004573cbdc6140f3c0000000000000000c15b3ebdd7a86c3b0000000000000000461eeebcb8371f3b000000000000000033a513bdcf8912bb00000000000000007b9d08bdd4402cbb0000000000000000473d27bd884a1f3b0000000000000000015301bd0d4ee23a0000000000000000980eb4ba7f2a223b5eb44e3bc165a13b63181abbacdb8c3b8c2e1a3ce1c8623c6e982db7a2ae9d3bb5223f3c4f43823c298bfd39dd55de3b676a3d3cc2e16d3c886bab3a992fac3bd3ca193c0f1b483c3d2188b9c498873b61c4f33bd4353b3c025eb1bac70e293b131ba63bf048093cd2ced9ba7271a9b99d9ac83a8ab0b53b3d7aafba07e748b965ae7bbad7d6d03acb7e8e3bf8278eba5617923bff220abc2efa163cc4be1dbb53ff7f3b22e11dbc7212293c17965c3aa422e7bab9fe81bca4ca1f3c95b7fe3a7456a2bbd32792bce86c0c3c581be63a3c3fb7bbf0c783bc1859b43b4a31893add200abbd9bf25bc9f16583b860f35bab6b1323bc409a3bb79aee73987e10cbb6aac3c3bfc42f83aa726f5baeca78bbab6637d3bf3e17b3b64d4a8bc8d1253bdded2e1bcbf8bc93bf8e71ebd5c84c5bd45f817bde2991e3ce0a94cbd1c64dcbdb8622fbdc13484385fdb4bbde254ccbded4624bd7abf97bb94f734bd5957a5bddd3d0ebd46afb8bb46040dbdf2c88abd2676cbbc3b4420ba9d2db7bc219846bdb6bd44bcdc34883b6860d7bbc51fc6bc1823843924c9b93b9ff47d3b186e48bb5dd5dc3b5083c43b2eb890bab22687bcac28d83d33c8943fc96f42bac6f06fbce999c83d36718d3f4198983b744715bac144e63d9698703fa7649f3b795c353b98a1d83d30ab413f3b7bc73bf843713b3351b73d36b8113f6b848b3b572985bb6e8d803df797ce3ed7f5273b72301cbcc9a6043db7a2723edab4973bdfa23abc1254473b1b80aa3d805f8d3a16cc5abce23fa7bc57f81ebd80c4acbd6ed7cd3b0000000000000000180db9bd8217d13b0000000000000000e8164bbd40e5b23b00000000000000008145f0bcf495933b0000000000000000e730a2bc3b33c63a0000000000000000b13dcfbc6949c2ba000000000000000097a3ffbcb997fcba0000000000000000029b0cbd5342773b000000000000000002ac0bbdb1d6763a0000000000000000000000000000000000000000000000002aa409ba16a0873ba52f0b3c46b13a3c6db403baf871b63b0f5b353cad6b433c9c56943a9202b63b40ee083c4e54393c839aa33a4939b73b7fdbc83b35781e3cea4d8438e7418c3bcc82f03b6025f33b782602baf952223bdf4f793bb39eda3b898baabaf6d38e3acc3f0c3bd1bc953b0000000000000000000000000000000000000000000000000000000000000000ca92113c4128f1b82c823eba653324bc1b751b3cd1f2863a220f93bbe3c532bcf1ea143cf488123bea3fd3bb2d8477bc6b09d23bc73f493b0894cfbb0aca5cbc7208cd3b8cc65b3aca7c91bb866c23bcc5f3593bcb0ea1365af742ba693b82bbfd4a453a0d3d86ba6596fa3a9fe07a3a000000000000000000000000000000000000000000000000000000000000000054b11ebdef5ac7bdd3ef1bbdc17e03bb419e35bdd1a3c8bd795a20bd309da8bb78702abd7264b6bd9bcd24bd91af28bccdb918bd252c98bd894c0ebdd5c810bc3a4ef7bc0f7074bddeeacfbcd910c8bb797a97bc11e530bdb51576bc1a7fec394cc0d5bb8c33cabcb6a948bb0773883b000000000000000000000000000000000000000000000000000000000000803f1cbbf23a342f3d3cef8172bcb560953f3cae923bd772683ce93a023cfc18783f4f8d043c4370873c5f2aa33cb421493f8b20eb3bf130543cbbf5a03c740f1a3f00268d3b3ca3c53bbc442e3ca00dd93e1b05373b95ff433955fee4b91ce8823ef6254e3a0934ccbbe5da85bc0a19b73d000000000000000000000000000000000000000000000000000000000000000014800abdbe710f3c0000000000000000f8853dbc12bcee3b0000000000000000be60b53a3de7db3b00000000000000006fcad43a129c693b0000000000000000bd8880bbeae3303a0000000000000000c9c371bcafd149bb0000000000000000b674d8bc87846cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000099e963bd08a7f3b7abcdb3bf6679a3bd5948d3bda12a13b1561d13b0eedc03b09ca603bafcb8f3b2df8d63bb691ca3bf58f463b29698c3b2ef7973b12b48f3be90c6a3b0742473b36ec9e3b883e673bf0753b3b7d88d33aa2424b3b8e6e1a3bf2939c3a5f26a53a5b29133b6b28c83a00000000000000000000000000000000000000000000000000000000000000000a4e633bf6145e3840efa7bc6a710cbd8c37703bfd750d3a739dbbbc46c10dbd72db883b82fa543a67bebabc190708bd1a32543b3de39b3a9f52adbc1bb1f3bcec3b003b9a1ff33a48e98bbc7ef4cdbcd3a98f3aba5ca839faaa1cbc6f3b84bc375286395d5a67bab9c635bb7cfc08bc0000000000000000000000000000000000000000000000000000000000000000977a5cbd909310bddec781bc846105bce51f58bddcf809bdaa1f93bc148731bc148e50bd38310abddd599fbc836950bce8592bbdbe28d9bcedd778bc516041bc1c2711bd208cb8bc59793dbc3982f1bb768ac4bce7f659bc2833c3bb511920bb078362bcca8cd8bb2c4297b944cc6b3b0000000000000000000000000000000000000000000000000000803f000000000f20c63c2c785d3c856c843f9a66943c87efd53ce6a8b23c1f205e3fb08eae3c6609db3c9246cf3c714e363fc798a53cc474a93c50ac9a3c07e40c3f36c1783c04bb603cdf5f2c3c3d4dcd3e8ba3803bb0588e3bfbf28cba2c56803ea245f2bb58d7bbbbb0b168bc97efd63dfe0ba0bc0000000000000000000000000000000000000000000000000000000000000000d797a23c55fc293c00000000000000008fb4913cfd691e3c00000000000000005a106d3c3df4f63b00000000000000003e21013cea51a93b000000000000000070d7403a7c63f4ba000000000000000047abcbbbb4a2bfbb00000000000000002b1255bc6e111fbc00000000000000000000000000000000000000000000000000a7283b56dc933afe6a563b4d32b93acf939e3b4dbab53bb2d6de3bd39aa73bcacc943bbe77c03ba953073ca113e33b4cf59b3bcce8e03b9ee0013c1ac9d73bdf55333bb03ca23bf4b8e53b5b06bc3b4c1c833b1f637e3b12eeae3b51449e3b27dab83aca1a483b5c4c933bdb4f3e3b67e7bc3a789656394026103bb95ec63949aa04b828bd9db93d5afa39ea6831ba9b3fec3aaeda3db87f0915bcd019b6bc753e403ba01044bad40096bc612c10bddf518b3beb89ce3948b7c2bc5c1721bdb81a7b3b8fdfef39e308cfbce2ff19bde67e7e3b581d943aff02b9bcc9cf02bd0b943b3be0f114ba696694bc58e7d1bc0aeca039448b7c39783c12bc9be886bcf35554b942c14dba14861aba1e7bc9bb53d550baf6a90fba84897e3bb9ff973a1ab1e4bc63ccb0bcd6aa29bcdbd44bbb610450bd08110cbdede675bce1d294bb6aa66dbdfce124bdb44a9ebcbeeb3abc260561bd62811cbda41ca6bc3b593fbcf64436bdfa4c03bd708798bc51d544bc1f541abd184dcdbc971a39bc00c4a5bbc4c8cebc542d7ebc393ebdbbdf58a2bac17c46bc7dedbbbb3afb073b3da7843b39c9b6b919d9b63af9b29b3b183fa23b8be8343c22cf76bc222c833fed7a0b3ea058a13c9eefccbbdb7f723f2fdf033ebf38e33c752e643cf2894d3f0040fb3d3d63df3c60b1943c5fd8273fb870d53d83babc3cf5f8893c4a61003f0326a63dac4e643cef98b43bda66ba3e9039533d8d983d3b80c1adbb8753673ed252bf3c85829cbb2cc692bcdac4c13d976761bbc00437bc39f0b3bc9db3b3bce448b2bc315cce3bcf16af3b000000000000000078b80c3cc6aea73b0000000000000000d32b743caed8103c0000000000000000d6a63f3ca19dcf3b000000000000000056b4fc3b07a39b3b0000000000000000662269bb804a7dbb0000000000000000adcb44bc2f100fbc0000000000000000069787bc8eba22bc0000000000000000e1aa72bcdfae11bc00000000000000000dd5173b79eae83a479a0f3b1a06b83ad5a9763b8eb0963b6becd23ba5729a3b0ea8873b9306a33be48aaf3bf1eea23becf1923b008ccd3bfe83d93b63b2b83bc5882e3b294f623b31a6d33bc6b8ce3b015d2d3b2f658a3b0d18b93b8bf79a3b38ffe03ae27f213b3633763b01f2383b7e06863ac1bc853a4b88913a687caf3ac2feccb97a1648ba9f602e3a00f8a0b913e7bd3a325a633916d8e9bb7c5a9abc86e74e3bee4a2e3adc4195bc10d608bd5fef893b952b2c3a193aaebc1fe004bd5ca29e3ba574bd3a69c7c6bc7f6c10bdeda6623bcea5cab73b05b0bcc7c5e3bc0b08dd3a2f4c9e3a953c90bc1fb7c2bcb9ff243ba7205cb977e826bc9f3280bc2324fbb7dcbfb9b95d6e47b8cd77e4bb34282aba09bc1bba6eb2663bc22fd03a0cd599bcd4628bbc1a4d3abcef6a10bb87b931bdbb7f08bd5059acbc633d07bc5c3f34bd595d14bd8d2bb8bcfcbd57bc05c054bd329b21bd1c53bbbc648455bcf5941bbd401df8bccd70a4bc1f6b4cbcf17313bdf321d4bc92e451bc1802fbbb7c30babc86768fbc45ec05bc4c387dbb74dc3dbcc7eb00bc5f689a3a3a43073b35493b3a8437bf3aa3ab813b25d1903b99420d3c3d949fbcf2955e3f971f8c3e2ee9ad3c9f930fbcf49f513f233b853ec0a5cf3c6c41213cfbfa2c3fac296a3eda93e33c0b5c5c3cbdfc123f6b79463ebef5a93c20d8393cbfa6df3e7770173e73a8653ccc49133be45da43e45cfd53dae339e3ba700cebbd10a4e3e2f15783d56b187bb9bd69dbc26e6af3dbd29773c46a412bc5391a0bc1cad65bc63c98abc406f3abb6cd98d3b00000000000000008a33753b21f0073c0000000000000000ff352b3cd57a3d3c00000000000000001442063c1e41f23b0000000000000000a60d6f3bb5d56a3b0000000000000000f5b6d7bb03ce78bb0000000000000000a91e38bc70f5cdbb0000000000000000512a9cbc6b3223bc000000000000000014d57dbc64de01bc0000000000000000583db53a1a93c83afea3033bc3c5b63a30b79a3bbaf98c3bf929bb3bddd19b3b6971763b6ba2a73bb542e63bcf84cd3b80377e3b1eceb13ba8a1f43bf47ed73ba0a9643bf5fc9d3ba261e83bec45863b5586173b0d67683b84f7c13bede6af3b30111b3b47f0473b5720553b26c2223bf2e5ff394d74e5399737083baefeb53a4f2ccb3aaee7aababd5c9b3964ff3ab88364aa3ac526543aed6dffbb887b93bc5e29553b421b473a05298fbc4dc8ffbc4ffc883bb79dc43a5b03bfbc1dc90bbdf1758f3bfb27a43ab67dc1bcfcb208bdbb53403b8118b83ae7b4b2bce821f3bce14b3f3bff316d3aec9291bc64378abc8893843aa6c5c3398b6317bca87770bc9d9f6839826e44b9d2b913bbaa0db2bbe66f33ba132e11baff600e3b7294993a7a7579bc690687bc159172bc8c609dbb6b4118bd2e4f0ebdfdf3c9bce2c02bbc6bce3abdf43329bda05ddbbc7ac053bc68243cbd177528bd863bd3bc27f973bc98ab1bbd968509bdf840b2bc04ee53bc4ad70bbd8f7cf3bc1e7c8cbc128c14bceb99aebc08b993bcc3fa01bce1446dbb92a320bcabcd00bc907ea1ba1fc9123b43175539e23a2b3a1ade463b3b9b7d3b59e32c3c3cd659bc61eb373f1c32d73e8fc6b23c0472a4bbfa832d3ff2c0ca3e2d5bd73c1548183ccb73153fad44b03ed4bdde3c7a745c3cb9e9f63e7400933edcf0ad3cd8f8533c7357bd3ea4b0633ecd29683c7c18073b16438b3e7c66223eeafe803b1e4e0ebc24782d3e5b9fc03d11de8ebbb69996bcbfbd953d89bc0c3de08e0bbc106797bc979c36bc81ff69bcf0ccb2bbba21ec3b0000000000000000fb92bbba4f7d313c00000000000000007a5db03b763a4f3c0000000000000000b497a53b5cfe0d3c00000000000000003f150f3a17ccab3b000000000000000055ff10bcc1b54bbb00000000000000003f858bbc709b0ebc00000000000000006b96babc2ba736bc0000000000000000dd5995bc98a116bc0000000000000000c540f43a4c93b43a8e64f83a5987003b2dae7c3bb17b833b2faea93bb568973ba000863b5e318a3b163db63bba40f53b60147b3bc25abe3b2f2ff93be033eb3b3e162e3b1eb4523bc77b923b5fb79d3b23ec293b5976793bfa21a63b59fd7f3b01dfea3a945c163b863d763b8fc85c3be926f6393727b03adce7993a825fa53a7bc6eab85b7ac4b9cc42d739f29a9f379f4bb93a48ee3b3a9687f6bbe18286bcbae6563b9ecdb43a9e458ebc4c9aedbc7dad633bd1b4a63a25eeb0bcdfa8fcbc350d8f3b47f59c3abb61c0bc85d001bd54ba593b876fe13ab5329bbca965c7bccdf3513b423ea73a5a4b85bcbf28b4bca3a2c03a0c12053aa26816bcf0b159bc6ba7f5b833e8dab83b61c2baaf9fbebbcae711ba5724bdb905ac203beb5ee33a68d862bc0ac082bc7c918dbc17ffd1bb33cf0abdf32513bda58ed8bccb3534bcc52b26bd435729bdf510ecbcc5f777bc10d530bdfbad32bd65feeebc7ce186bc328304bdc93e05bddc4ab8bc203370bcf8e6fcbc81d0f4bc043a91bc6ce511bcd4ffa2bc60509ebc19ec2bbc2f4590bbbd3b0cbc478606bc1a3f16bb5aeaed3aad34333a2d6d473a46bd243b33268a3bd4462b3cbdf303bc419e113f366b113fb33ba83c0db9da390044093f8b67083f2c8fdb3c49606b3cbf86ec3e0c0bea3ef3fcdb3cf3a8853c6195c63ee61bc33ece1ca73c8087623c1ca0963ea9ad933ea4f06a3c5a78853b7565613ec2e4593ee76e993b3484bcbb95510b3ed078043e6635c0bbd2bc8ebc9dcf703d6a31583d31720ebc55048ebc044a2abca29f60bce5b81abcf3d6003c00000000000000004ddb95bb13c7583c0000000000000000366c7b3b03da5b3c000000000000000093112b3bcf4a253c0000000000000000a9200c3b18bcc93b0000000000000000e76527bc18a020bb0000000000000000fbe791bc57580abc00000000000000002b1bc6bc866b32bc0000000000000000d5eda9bc608a23bc0000000000000000fd01753aafa1113b57c61b3b2f14d339d4d12c3bdfb0a23b6a75ad3b5591a33bc101883bb753ad3b2fbbcd3b2816d93b3c49813b74f0c13bb787d33b83b5c33b63d41e3b9d368c3ba8f4aa3bff08ab3b2d14203b5f89813b4678a63b6f82b03b0823c33a9d5c293b51f6383b08996b3bc98b2e3adfb1fb39504b963a5b17283be7b08fb9ff041cb9b4200f393041173ae836ce3a171fb93a7df1e8bb9fe976bc1a124f3be85c023b289781bce161dabcaab7823bcb4b0a3bfcf8abbcae4af3bce86f8d3be438d63a5bd5b9bc65be01bd9831ad3b01f8bd3aefa7a0bc90efcdbc54c4353bd534893a6cc678bc4c8aa4bcd0a2fc3a88c3bb37eff60fbc745b49bc92020d3a69c00eba5ba3f5bab1d37abbc5ffdcb9cded4ebaf59e053b3468cd3a7dbd60bcc9618cbc472497bc0f2ec7bb8ba504bdbd861dbdda4cf7bc777446bcb05924bdc0803ebdc2d405bdbf3f83bcb95c33bdc9d328bd941fcdbc04259bbc74bb0cbd2c331dbd64bcd6bcaaea78bca207efbc039002bd3a409dbc712c18bc1331a1bcf71badbc27ce38bc783c61bbed870ebced2221bc66b77cbbb2be3a3b248d2039972cea387a95b23a1722b13be473153cddde7fbbc405d83e34d8373f003ca23c0ccabb3b0ccccc3eb5c02c3f5217d53c24f58f3ccaebb33ebc2f143f01ebde3cfe99943c165f963e0260f33e17c6b13c38797e3ca6ee6a3e0055bb3e13ea663c4c90ab3bc3652b3e2d01883e1279973b258fa1bb1818d53d675e273ed6713fbbfe4272bce3e4283d64ed8c3ddccfeebb76067fbca0fe2dbcbf1159bc6e4b72bc285cfa3b0000000000000000e6f646bc72455d3c0000000000000000006937ba68b7613c000000000000000031ebadbaf32f333c00000000000000007613abba8a04b83b0000000000000000e0ee4ebc5d2867bb0000000000000000da529dbcf31918bc0000000000000000b627e2bc293046bc0000000000000000fc09b5bc033723bc00000000000000006ec8a93ae79b823a5a5e133b7596203bf2e8233b04bb963b59c8943b0133e13be142423b92479c3b4b39a83bb5f8b43bd233403bc638c03b9328dc3b2f4cf33b9961353ba24f873b888da43b3eaac53b95d51b3b15e3883b1fb69e3b9449cf3bd2ae453af844373b663d793b1c9b533b267b053aba90143aa965e23a75ef993a801740b9183974babdababb9438bf839c330c73a30e9783a14d5a1bbd13949bc3c18683b687c9d3add2f4fbc85fac4bc3ae6a73b1583f03ab4cb8abc4567d3bc522d993bddc7153b0fa1acbc1693dfbcc4ed363b5085b93af8ed91bc3332b9bce047143b32687f3aa8a682bcbccc96bc3383183b4141063adabe11bcd8273abcea2d9b39cfb41b38387c53bacd6d3abbc22626ba66e58fb961ed613b43b25c3bc5d264bc24029ebcf1a1b0bce7ac89bb85f303bd5d4c33bd216d06bd787c38bc242e12bd832c3bbd30ef05bd61bf8cbcc39022bd44104fbdaf120abd2c258dbc78ef01bd4e361ebdaaced6bcefdb7fbc0dbbe5bc8f050abd5727b6bcd2bb11bcf3f199bcb0e5bbbc2af25dbc96c6a9bbd37c07bcd5392cbceaae89bb00681b3b377bb13a0145773ace79373b82856e3bfd32d73b8e6309baf09f8c3ec86e5e3f0592843c76da3b3c77d0873ed143513f796dc23cb4aaa93ce514713e6bd12c3f1f07cb3c31ddb63cb07e4f3ef362123fc53da23cf8cc983c3c1c203e4eeedd3e5637663c58a0053c23c0ea3d2536a23e71cdc33be4cf45bae4a18e3d180f4b3ed06e26bb4c3446bca187be3cfb60a93d32f3dabb84b565bce57749bc10267bbceee1a6bc133ce13b000000000000000081df8bbcb431313c0000000000000000d4dd243b56135c3c0000000000000000de83cfb86b042c3c000000000000000053f295baabb9e83b0000000000000000fdfb46bcac1126bb0000000000000000ac4485bc45b0c1bb000000000000000039b2ebbc026742bc0000000000000000905cc1bc54381cbc0000000000000000098e733a9ed0193b856fd13a0f831d3bc6a4193b157fb93b7a1cb43b341ed83b8b46243bbdbcbb3bce31da3bd361f73bdcad883b0600b83b18cfed3b56af013c0a22e93a22b5893b1d0a953b264ee03be977243b9c0e773b3dc3933b9df4d73b80f1723a6e1a333ba8296f3b7023363bb0b92d39694779396df5b23a3826bb3afc28d7b92c1819b9f17978ba0c91ac3a1c14c93a0279a03abf27aebbec333fbc06ab873b9a24943ace8b4dbc89eaa7bc8b869d3be2b6f43a481598bce4bdcebc9d7ab03b0015663a1ca9a6bcbb08d3bcaa71903b9468f03a1d0e91bc93bbaebcddd7323bdd57883a486e5dbcd84b8bbc1f4ef03a8966ff391025eabb2cb917bca0f3243a2856a3b9cebabfb7ca4382ba225466bac599cbb90785593bba0c503b108b94bcdd78e7bca159c3bc2badd4bbb40604bdcb2c52bd6f420abdb6232abc80a91bbdc50168bd352714bde93886bc3afb1cbd466461bde15610bd90eb91bc34c801bdb03b30bd4251e9bcd40f84bc382fe0bccfe218bd3645bcbcb1f216bcac038ebc0b3ccabc222558bcd8146fbb3cd2e4bbf4373ebc223281bbda7b693bb1ea103a1b88feb9bcb50f3ba86eb23b47ad043c0b69083cdd5f0c3e3b1c833fe7747a3c3dcd873c08ec083ec30b723f8191bd3c8187d73c77af043eccd24c3f7512c83c9c2edc3cb8fae93d174d273feb8ea13c3ac1a63cfebab53dee9efe3eb534663c67543c3c4e0a813d3b6bb93e7a1ac33b1ed3853ac04d043dbc78633eb6e804bb0a4c13bc2b4ea23b980cbd3d160ee7bbc0d155bc8e5b85bc873fb8bc5b1686bc09fe103c00000000000000005ceb51bc7496293c0000000000000000a4c1613bbab9643c000000000000000034d8c03b2573373c0000000000000000b88e203b9badf53b000000000000000014ea00bc6e5d1abb0000000000000000604a9fbc38e106bc00000000000000006f08e5bc9e1e3bbc0000000000000000d26fdbbc31523dbc000000000000000000000000000000000000000000000000160a103bdf9b8d3b1397853b0722a63be068263b878dac3b9f47a03bc989ed3b5412063b257f963bc4efad3badb0c43b0b962a3b47d79b3b385a853b665a9e3b7aafea3a5ef36e3b2f8a913b3570a43b7ea5913ae7bb1e3b72b6123bd6ea6f3b3235113aaf4d443a3467093bc29da63a00000000000000000000000000000000000000000000000000000000000000003bdd813bbc06ff3afa9e56bcacf89cbc0cb9923ba759113bde358dbc66d8b0bc207e963b81cc1a3b0da595bcea75bbbc418b8f3b2f58e43a015b8cbc898ea9bcde3a173b2090e03aa63d61bca73284bcc0361e3b593cf83973faf1bb42be19bc36843d3a5f1e9b399547aabad3de16bb000000000000000000000000000000000000000000000000000000000000000012da00bd120454bd945b0abd14ba70bc0e9c06bd0b1c53bd5a250ebdc2269bbc1d0209bd391b4ebd0e3108bd5af19bbc0c8bf1bc45ed2abd8cebe7bc22e28bbc3f25cabc987e11bdb73ababcbcdd46bc7da285bc20c6c5bc5deb67bc5627babb0e4503bc5f8856bcb109c4bb3a777c3a000000000000000000000000000000000000000000000000000000000000803f618f9c3c7e18d93cdc3fb63c8cf5833f64a4b23c00d9e93c4bfde63c3d135e3faa3bc83c53beec3c5106fb3c2d10363f051eae3c4614be3cc5aec63c46200d3f75c8763c145a733c62d16e3c9d41cd3ea371d43b4ec08a3bf77c0e3bbf50803eaaa904bb24abd0bbab343fbccac0d43d0000000000000000000000000000000000000000000000000000000000000000eb34033cf6677d3c00000000000000006733683c5616803c000000000000000060fc813c60fd5e3c00000000000000004934303c1af20d3c000000000000000075261c3afebb793a0000000000000000222127bc9f50c0bb000000000000000001afbdbccde350bc000000000000000000000000000000000000000000000000000000000000000000000000000000003eb8d3bbe90e0a3c1060193d51d4ad3ba89447bb6f7a2a3c566d0d3db3beef3bbef610ba1076443c334ee13ca0ff093cd740143af2431b3c6498a63c969d103cf77f8cb864c6d53be7dc863ca533833bc6070f3a34f59b3b3d0d1e3c6c29c73afff066ba83ed983aff08523b428a52ba0000000000000000000000000000000000000000000000000000000000000000c53987bb3beac5ba2cb5b63b99f3c8bb561313bb39e30ebb851dad3a827f87bcc5b6b53aebe187ba7e0c5abb7aeedebc9ecf2939dfe662babab67dbbf8bdccbc03c7703a366aacba74088bbb561696bc2e5bb33aaae58739a9b5cfbb663f4abc8ee8f13a908c82ba53f056bb778565bb00000000000000000000000000000000000000000000000000000000000000003bc04ebe0a253f3969ebda3bb584a03a74c140beda2834bcbc1cd63b5022b53a753b28be3cc4aebc3655c03a4bd6ceb9409506be7530a3bc13c206b9bacb7c39ffa6bcbdbda074bc6e58b83a0006adba7f7f56bd37580cbc2fbebcbae46b04ba36d01cbc15b81bbb69698dba32ff963a0000000000000000000000000000000000000000000000000000803f0000000070899b3c694decbd6896ac3f496fecbd913a523cdc1783bdd7218e3f0c0991bdb0a2233c28300fbdf29a673f6e2e2fbd3a011d3c26ca8abc63dd2c3f0177e2bcabf4183ced54dcbb8ea0e03ed63c88bc8fba093c90f6d83b1e23613e8b5b9fbaa551c33b5158ee3b86690a3c6182373b00000000000000000000000000000000000000000000000000000000000000003576493c26c7eabb0000000000000000139ba93b229dabbb0000000000000000a1f3943bf9c325bb0000000000000000c08f8b3bd4754bbb0000000000000000b5479f3b19bdf9ba00000000000000007a7e0a3becae34ba0000000000000000c42b5b3b49c161ba00000000000000000000000000000000000000000000000095b5febb22533a3bfdd0a63cf8fb883a6b5519bcee77e43b4b7d173d8c9ea83a6191d1bb9bcd423c13741b3d7157183c43924dbbbd323d3c62b7053d9235343c9d2cb0ba7c9d3e3c3035bd3c47cc213c91b3c3b90eac073cc1ac973ccf79a63be99699ba6a79c83b05ea2d3c447c103b960dff399cbe303b79c7483b7989a5b9342604bb12d814baad1783ba10c57abbbd3687bbcba102ba9675203c9d85333bf86576bbb764f0ba3b3fc93b2bf4353cf21e41bbe45925bb13c2af3b960332bc492751ba564316bb76368a3ac38091bcaf35333920747fba3152e9ba0e9ca9bc4b15103becb339ba83ac9ebb71d47fbc20d3343bade78aba2507bdbb890427bcde24463bd66590bac75b08bc8cfaadbb9ef5f73a52a188b9c15961bb8d2eb93bd830f0bd07599f3b9845533b32a0893af5c53dbebe7fef3b938b213b456a3a3b4ede4bbe3a5097bc3c49833b23721b3b7c2f36be6af9debc1d105a3b449dba3ac7070dbe5f8cedbce35746baddb6333824ddc9bdb3e2adbc86240bbb9d378539df5d59bdb72e7abccc22f3bac9e2093a7ef31dbc831934bcd61bdfba62e92f3a8132853cea04373bfb81a5b80f5286b9d0531d3d3e8158be38c7ab3f80ce8f3cad44243d9e034cbe75089f3fc769853cc341f53c38b917be7ede8d3f7524023d2d5bcf3cd125dabddc73663f5750233de439a53c96a98abde0502a3f834c2e3d83c79b3c058523bd42abdd3eded6183d4231773c93306fbc700f553e659c043d3e1b443cec4f143c71beb53ce19b0d3d8b300e3ce2ef59ba5f58ddbd7490e43ab5bca9bc3b2f373b00000000000000009e60a7bc91af9c3a00000000000000001fb8b7bcc38b303a00000000000000008382abbcf5f99f380000000000000000f12562bc29014f3a0000000000000000a6d152bc919cef3a000000000000000027c7f0bb740b323a0000000000000000041ec9bb3548c0b90000000000000000822571bab88adc39000000000000000060b8e3bbe290553b842f473cceb5113b562d0cbcb377003ccb66e13c86821a3c6df2b6bb333a413cb64ee63c283c603c9d2543bb32874b3cb408da3c5efa6c3c5d8f1abb9728303c69d79d3c2ddd203cf74ed4ba8a2d233cc847783cb862013c3acefcba5d19d13b462cda3b01dd6f3ba6bebcba505c5d3b3b59533bde31ebb90398f1ba1dcf5d37f377cdba6fc039bbd2711abb6d25c2ba582e383cbd7b53bbc8e05bbb434de0ba67e2283c15b19bbb344ce139685772bb59e1f33be67494bc2f92753a15e636bb35e54d3b6190a1bcb783363bcc7fbcba265f88ba8634a7bc2a6f383b54b002bb015b1cbbf44c80bcfb98413b85f94bba4ed288bbd5eed3bb6956383bc92ed5ba17c8b8bb051f55bbd2b2fd3abf0a93ba2d2a43bb72ee863b10638ebd511bc1bbf329beba5a24953b60fa17be6f25e8bc94446a3b31e9163bc98a23be7b2547bdf85c2f3b7def693b1be51abef3964dbdef65e5b6920b2b3b624eecbdae5032bdfb7272bb7e81933aacd7b6bde3e209bd589d0dbbeb5e2839084c47bd95d59abc55644ebb5cad3f3aa4bb6cbc8f98f8bb0810e2ba8bb5363a5b322b3c8eb1713be2058339c0cf28babcc9223d98355bbe3eda8e3fd5916e3e59f4413d2e6163bed21f8f3f60f65a3e446e093d116d27bec6b7793f06c4513e59ab003d20b907be9a9a4f3fc525313e245dc03c22e9afbd0f9f183f50bb0f3e0536c43c51cb7ebd72ddcb3ee560d33d588f9a3c153f0ebdb69f513ea43b763d1493793c28bd4abc6f701d3de2f1e23c82e43c3c583305bcc9a780bd49ae0abc47498cbd40631d3c0000000000000000726494bd31b8573c000000000000000069e577bdc5180c3c0000000000000000cc564cbdfd16ba3b0000000000000000552516bd5e99bd3b00000000000000008665eebca419c73b00000000000000009024a8bc92e5793b0000000000000000e7e930bcd039563b0000000000000000946f76bbac4d343b0000000000000000053598bb9553273b81cc273c8684b23bd91ce3bbeb170a3cce80a53c0a4a673c15495bbb7c4d223c6823c63c76ee9a3c041243bb37843c3cc2faa73c0b1f8d3ce89600bb28803e3c0fb38e3c11296b3caab90cba6df5f43b0379523cc14a0a3c97bcf3b910ecd03b5679bd3b8bc8a43b2a26f0ba3c415e3ba055fb3a4b1d813adcabcbba0410423afb9a26bb38de18bb505413bbeecea9ba7c16333ce57d4dbcaead8aba939b85bb5d26193c6f1312bc6f67b23a8b5f89bbd1b1c43be2b481bcc869a03a0d2a04bbc402e63acda697bcfcf7593b086406bbc405abb9fd2e98bcba55483bb6bac2ba507320bbb3845ebc783e013be4e475ba57cc83bb72b90bbc588a1a3b87fcb5ba68919fbbff427fba15dc043a4fbc42ba24e0d3bac15f873b04354dbd50d7cdbc800e62bb9e488d3b3769eabd2e5e6dbdf037693be3d9b83b194c08be145d9cbd15cb343a3579913b0c28fdbd61a195bd15d997baa8a54e3bcf87d3bd9eb582bd3b489abb1003d63af1899abd18dd34bd609e38bb908bf13986d630bd1098dbbc3e7611bbf7f23d39f8c75dbcd5c006bce470b1ba1a4faabadce9c33b6fb5fd3bf138bdb91468853a840f0d3d3fac47be84df6c3fd762ec3ef25f323d966154bed6426b3fe7fee23efd8f0c3d468729bea341513fe663cc3e94b5fa3c729702be8cba2b3fceb7a83e07cdd13c13e7bdbdc7b4023f5026843eae7fb93cb3dc81bdb3a9ae3e757f333ec42aa13c098e29bdd544393ed7b8c83dcc39863cf4b29cbcc94f353d213aeb3c90b12e3c71558bbc06c82dbdf9e6c8bc3060f1bd2cdfb03c0000000000000000f99301be1a9abf3c0000000000000000e7efd7bdf4af883c0000000000000000d190abbdd992643c0000000000000000bae487bd12de3f3c0000000000000000bc283ebd93d1163c0000000000000000f713f7bc6b49023c0000000000000000232a52bc2cc0b93b000000000000000026c000bc88689a3b00000000000000008c9190bb8f6d5d3ba9cf923b2a591e3c7b438ebbd27cb63b5987843c76e0963cdbe160bbb3e5133c9103963c7e98ad3c1e403abb3a03283c676d963c9c27ac3c1daa6eba1cff093c67354c3cbc633d3ce1fca7ba895e203cc088063cfdab533ce0ab96bac2e89d3b7387b33b26f1af3b1e53aaba5ca8403b65ccb63a7825923a1d6c8aba9024ac3928e891bac80251bb494e74ba492754bb75043a3c6bb167bcde65733af793a5bb3b31fb3b354825bcd5d2633b0f9b78bbadc8b13bdcee87bc924e783be1a725bb11e1703b551789bcdd07963ba204bdba7f4ebab99ccf9fbc0a722e3bed8db8bafcdae3ba3ed356bcc1d9353b60118cbab7e34bbb5088f8bb1f553e3a7ec78aba093c53bb9ca1debaefbccb3a7157b3bab6e75fba38177a3b71d2fcbc8aa634bd157732bba801f53bfb44a9bdcff8b5bd7710e43a2a5dea3b7cf8cabd6bf4cfbdacbc6cbbc1dfc63b88e4d1bdf34ecebd4fab89bbb59d633b593c94bdbb2d93bda0b130bc38412c3b0ccc80bd44e373bdea1abbbb0a79213b452012bd680e01bd2e3b06bbaaa7beb90d985cbc017607bcb4325aba4b423ab8a00b943bf227f83bfd670b3b927396baae18dd3c6a3824bef0ce323fceb0323fa1530b3d8d3e2cbe288f303f648f2e3fb421d43c216e06befcb41d3f60c1183fecc0cb3c5987debd92ae053fb60bff3e6ef3893cf05c86bd47e4c33e2f06ba3eaf90aa3c300a7cbd024b8e3e8dfe7e3e550d8e3c07a316bd61861b3e83ac043e8c8e5c3c606fb0bc903e453d9a14e03c3efe343c833e90bc61efe3bc472815bddf4925be95b4dc3c00000000000000004b9530bee801033d00000000000000006a060bbeb67eb43c00000000000000005fbdebbd26e09f3c0000000000000000c0e48fbdbc972f3c0000000000000000b7e07cbdf5e7563c0000000000000000b26815bd46381b3c0000000000000000cd776ebc84d8e83b00000000000000005ed54abcb0c7f13b00000000000000003b0b17bb8158bd39e50e903b446c3e3c5d9093bb3192703b3fe3463c2cedc53c3bcc40bb83aacb3bfd52973c26c2e03cc9c097bae8b9f53b4111763c3f3bc83c227003bbd15c193c35ad433c2276a43c93d082b9f044cc3be8e1183c6aec603c499d29ba9a21bd3b505a883bc935143c27412aba3810403bcb67413a5efb1a3b57f534baad5870b9cf7431bba6aaa23962a3ceba350f76bb57daca3bc5e811bc326afa3aeb3ccabb7e22e33b6a2c0bbcf52c553ba32fabbb314e933b958d31bc7162d03b5cfb96bbfd78ad3a283079bc41c07d3b539433bba95471b9390b6cbc0f7a8f3b514edebaa8b5d9bad73b3cbcb099073bacea85baad271bbbed3117bc26190b3a575cadba88cd48bb0a9835bb59fa12ba2f53f3ba137291bac711303b023c8ebc49836ebd711231bb7a33fb3bc1b55dbdd33ffbbd5c57b73ba3c80e3c46409fbded1e0fbeddb5913a8094be3baab699bde682fcbd8431adbb6c34b33b6caf8abd3ddacfbdb73d01bc1246713b92fd56bd36b192bd52319cbb6547bab917b1febc417e22bd261058bb922670baefe14ebcd45613bc334637ba9c9ed7ba121b743b9ca6133c9cd2283b516c9eba4f5aac3c9c88f0bdc99dec3ef4e36c3fee2cd13cbc5bfcbdf5b7e83e240d693f2895b03cb051cdbd5b32d53e366a4e3f8952a23cc5daa2bd89a8b53ea766263f3ec09d3cdc277abde31c913e70e5f83e48c1833cf0ef32bdac4d503e9563a33e5424793c721df2bcbea5f83d85b3213e1d33483c147c96bc4ed8433d28c7d93c9ad3003c691c68bc58d056bc2a1466bd99fd48be9939103d00000000000000000fba58be5b62203d000000000000000096d430bee402f63c0000000000000000872608be53a5b53c00000000000000000bf3cbbdd1009a3c0000000000000000ea558abd4604803c0000000000000000c23d1abd2a762b3c0000000000000000540d71bc3b230c3c0000000000000000a9ccd4bb10aafe3b00000000000000007844b9bacdd6edb93da8d9b91960853ce6902fbbdb0ad13a76140a3cab55fb3c062bc8baf22a693b1a58573c3d3b013d333ec0ba1c01b53bcedd633c36f3ec3c1f479fbace63d53be38c2f3c0c87a83c989490b9f015cb3bc38b013cf4c7863c714338ba8fda633b9655963bd1b4263ceab4d9badd80303b4f53103a78e9533baab8033a7a7f62b910970cbb7163cebac6922cbafc46bdbb5269a53bcc63debb4afa763a4838e3bbe331443bf52783bbe20fce3b8506b4bbf542b43aae8c05bc37f0c83b5bd395bb755e2fb957ac0fbcdbefbd3b1166faba01bbebba9abd2fbc958f873b80801dbb6062dfba360b25bc782e8c3ae62ab7bacc33a4ba0f2cf0bb2dd98d3a9c4912b90c88ceb9466180bbdce321b93641ccba95415aba81f0a33aa52e073a65b1a5bd05a9e93b5f6ce73b6350f0bc20771dbee452403c37f3c73be5a94abd65b027be07e349bbb46ae23bfb2a65bd8c861cbebd5a72bbbeb9503b8e2447bdb5c4eabdbf2623bc81beb93a48c123bdda9fadbd7f9bb3bb3e4501ba37c6d0bcce3f3cbd70df7fba4073c7babbc044bcf4841ebcb7810bbb1b0745bb87112bb964b2763c6e33da3a82f101bbf51c433caa9a8bbd0c0e6f3e53d58e3fd7627c3c9b2c8bbd6c0b663e46208e3f4dae423c209363bda9a2633ed726773f0b9d433cdd5f38bdb4e5493e78394b3f7daf243cf8cc00bdc0e5273eed0b143fc503433cedf0e1bceb8e013e5e56c23e9d621d3cf4d690bcf955a83d73123f3eac92e43b651144bc3fea383d12d7ac3c924dd13b7e4b1bbc9ff5e13a48eb97bd1a095bbe557b263d000000000000000076aa67be93e62e3d0000000000000000e08931be2c25f23c0000000000000000e6cf10bec098c33c00000000000000004858c0bd12fe923c0000000000000000fb7487bd03dc6c3c00000000000000002e9f17bdb23a393c00000000000000004b919abb607ba53b0000000000000000ade7d2b78e28f53b000000000000000012c491bae9c540bbe4481a3a526dbe3cb23f32ba63915cbb48976f3bf26a253dcf4826bb9466633a21a8503caf5c203d2dd40ebb4bd3703b02a54e3c15fa083d770d69ba745b943bb53f3f3c3a5fc73ced73c2ba2f318f3b9f6af23bc0c9a93c56f28bbaff1e703b6b0d863bddf23a3c993732ba2d7b663b4edf053b9e8c4b3bce95ccbaf952833a2ce912bbcd3303bbcc590cbbdbefc2bb1da6243beb50be3a2bcc84baaa710dbca78e183b5cb158b916498c3b1642cfbb603adc3a4e18b6ba8d3f003c70e2abbb1200c6395ab3b8bbf6e7d73b768cf1ba8bc44fbad847fabb18fa753ba66fdaba5f20e1b91fc501bc48afa53ae672863a972dbbb94f1501bc3d01bbb90abb6a3a63e1103ac9cbe3bbbbcf07bb6a4960b9ccee723abf607bbae308c73b27a3f9bd57d2473c947ebf3b1fec993a635644bece23e23c47f1883b3168ecbc4b794dbe0cc1c73b7a009a3bea9b13bd1ed535be33b1dabbe93ec03b25ea14bdbed50abe362533bc0ce009399bf9f0bcf8cac9bd09f1efbb091b20b9a6f9abbcfef850bd7a038fbb8c8182bbd0646fbce621babb7922cdbba23b80bb1960f53a5b9da13ce4a4373b1e880bbb8813423b5471aabccedc9d3c788eab3fe267883b6e0998bcb437d63cfcc19e3f7632463bb7638ebc81d84d3d82d88c3fbdab9f3beedf5ebc96ce713d98f9633f2e5c983b0b8c16bca2d5793d3bce273f1b42cb3bb3caf2bb0d956e3d9353d83efa79cc3b80f580bb4a174b3dce684a3e58b8393b6ce117bba1af2f3dd7034c3cbff9243b2746e9ba5386a63beb49eabd486159be57fa153d000000000000000068c353becd9d183d0000000000000000317b22beb3f5c83c00000000000000006915f1bd089c8e3c0000000000000000e4ada0bde2a35d3c00000000000000005a994cbdb2b8373c0000000000000000d89593bce857c43b000000000000000050017b3c3cb1063b000000000000000064ad903be23e853b0000000000000000000000000000000000000000000000007060edba7cc5ecba8fd6083c3cc71c3dffc5f4ba5002313af6ff2d3c70b00e3dfebb32bafd46453b108d3b3c4792e43cb63bcdba9a816d3bdab1213c5ab8ae3c4ad7e8b979117d3b9266ec3b9657843c3e8960b9790ae23a647b813b47d72b3c3c1fb0ba35a0153a6e806c3aa7ff4f3b0000000000000000000000000000000000000000000000000000000000000000f2bb5f3bc592bfbbcf7a09ba736c983be554f93b809498bb07ed3539ebbfd439639a0c3c81a41bbb1196d6ba0243baba9b83e63be77655ba2396c3babad7a0bb1022883bf7788b388ff809bb97dbc2bb86cc853a96019b3ad7e9c9b91113a7bbede22fba89b0bc382d90e53a221d64bb0000000000000000000000000000000000000000000000000000000000000000940b10bcb35e4fbeba42843b86838a3b8002a4bc9f4a41beb181ebbb02f1803bfb7ef7bc846f28be724588bc400bb5b81609e7bcb1fe07be2b7081bc2317eaba1f41babc9848bdbd808250bc748b11bb9f0865bc54e251bd1191e9bb172743bb464fa2bb5c150fbc154c84bad3e6f3ba000000000000000000000000000000000000000000000000000000000000803f35f396bb9437863c1bdddcbdd18eac3f2bc2d1ba0c3c333c3d7667bddfc18d3f1e4279b9a805243cb772f7bc92a6673f5451123ba8d7193cc3ac40bc673d2c3f8909ba3a98dd203cad171cbbea9be03ec0e14a3b4011f03b38100e3cf0645c3ee2046e3a539afa3bf408003c574af13b0000000000000000000000000000000000000000000000000000000000000000aee2f9bde7f5873c0000000000000000d01c9cbde1d70c3c0000000000000000260847bd6bc2cb3b00000000000000006bc400bda69d9e3b0000000000000000ab1690bc8770bc3b0000000000000000edbcc838d59be03a000000000000000049baa93ba7db023a0000000000000000000000000000000000000000000000000000000000000000000000000000000000ad7bbbe657333c262cc43c4be8083c22c3aeba8f64433ce3bcbc3c3a6e2a3cdfa6143ba280373c843ba53c505f303ce986243b48722d3c51476c3c79ab0f3c7c3a1b3bba6cff3b0226443c1541bf3bcea1e63acbd1773b4ff1e73b77806c3b4cf9933a60837f3ac8d4343bb72b8c390000000000000000000000000000000000000000000000000000000000000000f21a50bb9c8d91bb21becf3b5399b6bccbebb2baf7e887bb884626b8191f08bd3b62aeb9766c21bbd5d300bced4a2abdb5bceb3a5ae732bb654221bc016c1cbdfd6f0a3a325ae2ba9bd01fbc4964eabc56f48d3aa55b8dba3b5b0cbc1bcd76bc7b53523af53fcfb9fe1abfbb062714bb000000000000000000000000000000000000000000000000000000000000000095e328be657092bc31db463c87a0ce3bba691bbe3c0dcbbc7b2d113cddec813ba04d07be5f27ffbc43e0323bf7310d3b1fc2d3bd28f5d6bca6c63a3af7b6efb8a10e9fbd40dd96bced038f3a45e721b8758040bd628b1fbc69cf83baa7fa3dba455271bc40567d3a2d7818bbe4c79eba0000000000000000000000000000000000000000000000000000803f00000000f106443c8dc1cabd5b45a93fd70bccbd5a8d403cf4a53ebd3d858a3f3dd26ebdb877793c99fb67bc33c25f3ff6c9fdbc323c7e3c5e7511ba06d2253f77239abcfd99843c74f3663bc379de3e6a3d9ebce065653cfbae003c285a663e43411bbc4894423cc4c823ba6137ec3c9f6b30bc000000000000000000000000000000000000000000000000000000000000000059f00d3b921a20bc000000000000000096c6eebaa86ff8bb00000000000000007c2211bb7760e4bb0000000000000000bbe299ba0f43a1bb0000000000000000adffd53950f640bb0000000000000000d9f0763b70a7483900000000000000008b9f073cf78fca3a000000000000000000000000000000000000000000000000eeb5b9bb701d893be06a503c65ca093b003bf7bb7c6b103c2a80c93c79d5c63b8b7a7abb52db4c3c817ed73c6bea2a3cf2bb30b9f0754d3c1a86bd3ca04b4a3c126a243b01840c3c312d9d3c482e1a3c5e710b3ba8f8eb3b06ea6f3c1dce053cc139da3ad754b13b1499fb3b906d833b58429e3a41e20b3b1028313bda57993a0e9c44b94eb88dbaa58dd7ba71dbd6ba21104cbbcd1289ba91ba663c8524e1bbe52582bbc7007cbb828c4e3cd794a6bbd3368eba0684babb0380d43b1ed2e1bc60f6b4b9a513abbb0f4ec1ba6b9012bd3591b43a1a4620bb9046dabbc2c70cbd73ffb23a645748bb893b0ebc1b8ed4bcd0cebb3a5dc6e2bae4c316bc1ea070bcd207043b332f48ba4c5a1bbc4b1ca2bbd204823aebdf0cb9d0c286bb532c023ce95cc6bd7880f6bbed5c013c9c7a733b362823be902c0cbc7816513cf4b39f3bc7b227be905002bdaa580c3c869dec3bcabb12befa4d15bd4cdf9b3b0d3faf3b285ee3bd006b0fbddca2a8ba5e0a413bcdb3aabda9a0c7bc2f2ab4ba0454283aa61644bd33a74abc6b18d8ba670108ba3fc76fbc6c3395bb555c88bbe2dbe0bada381d3cc091ce3bb0451dbb655b3fbae7a8b63ce87144beaefca83fe3e1ff3c5b50e23c378b42be7df99f3fee37483c774ba13c6ce2f6bd43378a3f80b52c3d5684a23c1ed697bd6f7f5d3f98ad433d714cab3c6c371ebd7489233f79cd3a3d6757bb3c2414cabc8026d93e7e2c093d8a0fb03c515349bcba625c3e2376a03cd8fba23cef36ba3b9ca5ff3ca8479f3c6d5e4e3c11dc41bce79bb6bd04a83ebc728dd3bc14d8afba0000000000000000abd8eebc27d01fbb00000000000000007459e2bcb6e3e8bb0000000000000000b299c3bc9e9ca2bb00000000000000000ab084bc93888bbb00000000000000002f3e2abc3cf9b4b800000000000000007360a7bbd30a9b3a0000000000000000b8c06c3b9396003b0000000000000000e566bb3b02eb5f3b000000000000000036269cbbdd5c463b6378123caaaedb3aa444bebbd1c9163c0a9c9a3c53f92e3c6785fcbacc112e3c4fc2b43c9e8c5a3ccfb9e43913a82e3c23d5a83cdc1b5c3cf80d0b3b58d2113c159b763c7ff3343c680ac23af563f53b0c9f483c2ee3003ce33dd63a49476c3b7b70fc3b92e6973bcca9673acef2ea3a4aa6103bb8f1ef3a91e35bb9f4500239ba4e09bbb787d0ba8c8783bac9e1f5baeb2b6a3cb25102bcabf0ffba69aa8dbb6197373c3f4c78bc8ebf523a457eaabb2b67993b56bf02bdc132ea396b5874bb7f2eadba678e08bd1647003ba2712dbbc659debbc9b703bdeb5eef3a017b12bb3183f5bb5fa5c2bc87e9b23acd7100bbec6ed7bb6ac544bc5375a83a333560ba21f90bbc4e64e5bae2cf8d3a469e8eb8b35a52bb0bcf7c3b58697cbdffff4cbc4e07573b0a87ac3bdca102be618d17bd163bb73b8dc8f83b608a06bef63e5abd5c5f003b1098ff3b95c8fcbd0cf562bd77750c3b1e559b3b9a39c1bd06e433bd866195bbd6ab003b61499abdf01406bdba6a8eba2fa19f3a35ad35bd156c94bc28fdd0bab153c4b87c0981bc67bab6bb266e0bbb8a4853baf8eff03beac4b53b27ca85b9bcbecbbae4a9c03cd80548beca8e8d3f40dc733e9d71093d23fe4dbeb9318d3f6daf613ef59ab53ce16400be8cd26f3f45805b3ead17cc3c0499c7bdfb1c473f5a99363e065db63c4c7665bdcb2b123f37c10f3eae6aca3cfabb27bd4b58c73e39f0c43d895ead3ccacdf0bc015a583e1f6b4a3d9849a63c194268bcf729443d3da48e3cf4bc4d3c8c563cbc006060bdc8fd6ebc621f90bd78ecc83b0000000000000000a9c994bdb3119f3b0000000000000000dc396dbdf12117bb0000000000000000e6a950bd0fe293ba0000000000000000d12810bda0572cb900000000000000005d6bf9bce7a9283b000000000000000074039dbceff1b03b0000000000000000932bdcbb82497b3b000000000000000085260abb4f0cb13b000000000000000054a27abb72cc2e3b2045e53bcb538f3b8c4c9bbbfd6af83b6a65883cdeb0423c3ac00fbb69d0133c9099a93cec917f3c48bf97b9c073223c5b279e3ce303773c6608843a7b70213c38387d3c54fa503cc463f93a3dbdae3b5f924c3c77031a3c57e05e3a95ff953baedde33b8c9bab3bd13e093a3a4e043b20272a3b3f24033bfede36bacb010cba64d78fbacbedceb9d7a689ba427218bb65d3663c46cf72bc4f06ab3af24db6bbcbb4413cebff8fbc25c3fb3a1db4b5bb2cd1c63b74a0d9bc595b1b3bf45586bb479f8fb9531d02bd2b06583b435e21bb468b96bb6260eebc6a7a273b060d2bbb7b0bcbbbf49eb5bc4e81e73a840b82bab180d2bb7b0847bc135b413a16f175bac1ddeabb78bfc2bae0e73b38428505ba5226b8babe22a13b05f537bd4a9ee5bc8dd23fbb976e173c1853d0bd8d5170bdaf48f63a9b00263cff87eebd8b0894bd0c7239bb48ce253c2c5ee0bdbc058bbd988c8abbf2adae3bd5b8babd9d3974bd2998cebb6855643bd2b786bdf8ad2dbdc5b877bb226bd1b718852abd362fc1bc8428fdba556fb3ba5b067dbce78e10bc0566233a35e2ceba41f5943b2dabcd3b6c293e3a7e8ed1ba84eb923cd59231be572b693f50feed3e4dd2e03c9ad73bbe61e6673f1d19e33eb753b23c1ec808be5bab4b3f1fb5c93e0175b93c69b9bdbd7462263f56b5a63e603ab03cf4a378bd554afb3eb5c1803e5c18c23c8c6e3ebdabcfab3e7c2e2d3e478bbc3c28e9fdbc3ecc3a3e4168b93d93efa33c99329dbcf8d8523dd8d0c63c9a26623cee42adbc5caf13bd06f3edbcd851d8bddc35033c00000000000000007af6f6bdd2d03a3c0000000000000000226ec4bdb035a73b0000000000000000da919abd46a08a3b0000000000000000044c71bd8d8c3f3b00000000000000005af839bdc39cba3b0000000000000000e562f3bccf9a153c0000000000000000019f79bca33a033c0000000000000000047df4bb4927093c000000000000000040b042bbab31ec3a7abaac3bf6e5c33bf9b365bb708bbd3bcdb8683cbd73683cc1dfecbaa02f093cbe5d8d3cc144943c7db763383d301d3cd3668c3c1c2e843ca3a34f3b50dda93b968f3f3c662e383ce4dbc13af8facd3b49d6303c21052e3cac4d383a4f58823be40bc13b1336b13ba601423a48d2843a0756103bcd90203bd57d28bae18c39b99144edbac70b1bba0e70013a33ef49bbfc91483c69c755bc64432a3bc3fbcebb41ed163c996181bcbe8b423bdeabb0bbad307a3b8354d4bc1c3ba73b6d8da5bb42d89fb942beefbcfd6f893b80157ebaa7bef7bbf596debce12a433b534722bb2bffbcbb7e93a5bc7d1cde3a8c77a7bab384c1bb79ad34bc90d8df3a78f0b9baf97dabbbb9352abb255c90ba105e9138b62eb8ba54a07e3b108505bde4d91bbd9531e9bb387e373cc59da3bd4b1ca1bd8d9b20bbf6e34e3c9a90c1bda883b9bd98f7d1bb14731d3caddfbbbdae38afbd75042cbccdee0e3c7b1789bdac0c79bdfad470bc4766dd39e5b076bde0ff51bddf28bdbb0259ec3a179808bd87ade5bc2be055bba2d18cb9be3c55bc954821bc18d6a4396a552cbb1c2dab3bcc18c53b6c395b3b1ba3bfbaca7a6d3cecf111be5c9e303fb678303f5a5fb33c6f2d18beea1d2f3fc4c12b3f05279f3c3b3ed0bd4be81a3f6bbc143f07a2a33cf843a2bdcdce023fad4df43eb53c973c0e341bbdb785be3edda3b03eb1f5af3c92a021bd73c38b3e1cf4763e26b4a43c3257e7bcec991a3ef4b8ff3d4940953cc8e696bc76b1413db18efd3cc674253c91a59bbc91f3d5bcaad714bdef3414be6659743c000000000000000086c921be5661813c00000000000000008d3bf5bd2357083c0000000000000000805bcebdb155aa3b00000000000000003fef6fbd9158533b0000000000000000b9eb72bd18f7f13b000000000000000035351ebdbd500c3c0000000000000000c08facbcb7b43a3c0000000000000000e1f33ebc5784253c00000000000000006d1f29bbb956983a7b058e3b73e1d63b2de03ebb19aa3a3b4cd6523c8e71903c631a14bb83a7d63b3ac68a3c3c61a43c1b2ab2b8b1aef73b221f813cd1639b3cb3ef553a23d9fa3b5dbf603c2bd9673cc7f4f93af456a13bf638163c9bf2543ce403643a9984443b2b66de3b7ec8ef3bc2cf343aa34e213b23883d3a8583283bd381e6b9170fcfb9b5eadeba4fb8823a9055e03ab02674bb2729263ccf421cbcbead5c3b65b7edbb45cff13b180623bc4fc5ab3b108bdfbba25c923bcd5494bcc7acad3b5a6d99bb2f50e1ba3619aebc3dd5af3b352559bbd4c882bb7d75bcbc40d4753bb40d24bb8c97c8bb828988bc0288843a142d80ba3a32b9bb16c119bc5aed3a3a3ea313ba9f38c0bb206560bbfd099bba4fa546b9272966bab43a543bea8db8bc24154dbdc391f1bb2d0e3f3c51f672bd69dfd4bd77c422bbe86e6f3caea3a3bd295ce5bd2b6616bc5b2f4b3c4e1da2bde5a7d2bdecd052bc13c8f93b3f3f8cbd369da7bdcff93ebc91a8853b7f2252bdd5227abd339df2bbb52002392b9406bd8da60ebdd47093bafa883fbb93b03dbc1daf2fbc12c8f03a05cd86bbd2fd913b236eae3bc9da8c3b535a19bbc3031c3c43d4ddbdba69ef3e5344683f434d8d3c7db1e1bd0c33ea3ee6b1643f1fae453c4269a5bd9c1dd73e1d17463f436c913c5a376dbd6695b73ee9a41f3fe093863ca2a41bbd6cdb913e80b8ec3e9fd8953c72acf7bc80114e3efb909d3ea7268c3cc66ea2bce551f13d48ac233e786b803c2d2459bc9f2f2a3dd6100d3ddb01283ccc286cbc2a3d98bce5c63fbd4bc531be3a7a9b3c000000000000000041a147be9880b43c00000000000000002fab19be5385423c0000000000000000d615edbde9472a3c000000000000000052ccafbd1b9aeb3b0000000000000000c48583bd7c3a393c0000000000000000b39631bd2ad6513c000000000000000035f8b8bcf7656b3c0000000000000000e85486bc02594e3c0000000000000000d0e509bbe1a2e6b864a3d53abbcb273c271870bb5aff333b8dfe3e3ca763a73c346fe1bae76e933b15b1753ca426b53c2b4a7fb8d398b03b98fb773c66d8a93cd62e383a62bdcc3ba4f6423c3492833c9b4972396039ab3ba74a223c9b55453c33dda83a63bd613bb2b78c3bceeb0a3c30207f3905882b3bbb7cac3a5de2393bf12ea0b6f11c3636eb9ac1ba6e1c80bacf18f03af43fc2bb566cfa3be14f81bbe17c8c3bab7302bccca5893b674997bb5cfcde3bc1d1dabb5705683baffd79bce96aff3bc48bd2bb209d14bb9fc582bc0906c03b30aa0cbbe83bb9bbb11899bcfdd88f3b650e38bb53a19bbbf2b083bc4f9ebb3ad8049dbae822acbb0c0c1abc3c2aa53a95cd72ba2b9a8abbb4fa92bbcad310ba98156039d9f90dbbebc57b3a64ca1abc7e1289bd43eec5baaf60613c3d1c29bdc5a905be1657053b3dca573c78e479bd60ec04be2bbb59bcfeaa3c3c300584bdbbb9f6bdd74b89bc4dcd343c7d205ebd50b9b9bd0f9790bccb2ae83ac8ed30bd31348ebdbaf117bc841fe93ad84fd1bca9e222bd524e4ebb077fd6ba58a728bc979f4fbcbbbad63a148698bbee8a873b45cd003cf264823b4d6c88bbf6279e3b478285bddd25753e4e4b8d3fc8f3453cd3e689bd4b1a703e464b8c3f556bd63bdc3b2dbd9c93763e9fe46b3f7839383c7b9efabceb89583eea9c413f83a2513cd2f585bc46c5333e1ad40b3f66567c3cac3b5abcf64f043ee68ebd3eebb2713cdfc229bcb7a79e3da963433e6594303c340ba3bbaf380d3d5332073de17fe73b5f71b1bb75e5f5bba9ab80bd0b2649be6430c73c00000000000000002a8e5bbecf3be23c00000000000000001add16be6645493c000000000000000003def9bdb021163c00000000000000003d80a0bd084d033c0000000000000000d8cd86bd90571e3c00000000000000000d232ebd90ba3f3c000000000000000074558abcdf2b3f3c000000000000000018bdd2bba7e54c3c0000000000000000e88e1fbbf72978ba288f443b511f5a3c12cb24bb8c3005bb26e0163c7836cc3cbed622bb35463e3b5400783ce60cd83ce5baa2ba7a059e3b73af593c474fbd3ca02b1f3a6f619c3b004f4a3cde698f3cb0ddbd3a181c633b096e1c3cc32d633c1dc7cf39088a773bf97b8f3b1843163c3aee3b3a8107143b3731903a8572473b76606cb8c6708439b0f0f8ba9ae7a9ba34152f3b6f9ac7bbb712ba3b74516a3baa019f3bdade30bc2a66503b66b5a03b76e5f03b922507bc2d50f43aebb5d2bbbc23033c0cecb2bbc01de7baaae013bc1349ba3b47bd18bb3c44a0bb1dc870bc7cbcad3b81bb2fbb83f8b5bb3c7341bc715e423beae1b8ba37d2b0bbe0b616bc58e6873af793bd3930d585bb027bdcbb103282ba7f1bbb383d0931baa009dd399a43fabb6885cebd005e2e3afaca463c618397bc5f1322beda38113c668e8a3cceb43cbdd60c24be284f1ebc2a5f5b3c0f7a4abd54150ebe222297bc8e3d103c815645bd32d7d6bdbf7989bc9bea323bce9d12bd7829a5bd3fdb31bc0e167fb9685fadbc4fae3ebde7958bbba50c5fbbd9670cbca5fd4dbce0423a391923febb17607e3b803e353c0b8cd73bdba58abb0f28c0bacc7bd3bc8a4d073dab1ba93f7c62103b7676b0bc167ce13c0d059f3f2dab323b35b652bc74cd8b3d6cd4883fb624943bc0b9e7bb0d9ba13d2ec05a3fb9db1f3c8f04df3a91d1a03df1281f3f80fb2d3c9e60863ba8307f3dcbcad33efcd83b3cbfad873bb54b3a3d46ee4f3e7c8bd83b561b0e3c05eded3c0d5bcc3c80bd8d3b0ae3b5b85687b7bbde94bfbd35a746be55eab33c000000000000000052274fbeadc2a63c0000000000000000ec5311bea15e0f3c0000000000000000f07ccfbd2670843b000000000000000070358bbde38ca93b00000000000000001d1c48bddac6e53b0000000000000000ae3fe7bc9f9d303c00000000000000005a7dd139b905453c00000000000000007901fbbb0dea343c000000000000000000000000000000000000000000000000631644bbb80a043ad587363cf4e9c53c416ed2babcb3eb3a8c124f3cadcbc03cf03de1b768d08c3b20c45c3c60e5a43ca38a0eb935a29b3baa183d3cfc8a803cb705703a98c15b3b345b003c15d24c3c4e413f3a91ed0d3b8b849d3b9e6cf33bee771539cc989e3aa11e5d3add5e353b00000000000000000000000000000000000000000000000000000000000000006b81f73b8ff3eabb94d7693b069e5d3b9908053ca3d7aebba8698539462a49bbc66d093cf44448bb55c894bb6d2926bcdf95e33b5fd557ba4407a9bbe7c036bcd85e953bb5caa2ba914bcabb5dd618bc89f5303b015f1eb91c2282bb0e46e1bbf2e81639c4009fb7e01043bb787e3fbb0000000000000000000000000000000000000000000000000000000000000000f5caddbcede827be86812fbcc7e1353c98b418bd785e18be213b9abc8450023c00ac3abd4acf04be1e51d3bc987f223b14a225bd8123d1bd9403c4bcf2531dbbe6e1f9bccbda99bd7ee882bcaf5735ba5bee92bc5b6d3bbd9350f3bbb7b86cbb82c97fbb40f959bcf9a9d83a09c364bb000000000000000000000000000000000000000000000000000000000000803fd47fb6bba54a233ca579b4bdc6fda83f0595e5b90bef563c38a81fbd750d8a3f7ea19a3b1398823c99c88bbbd6885e3f1717db3b7b25913c1da7cd3b89bf253f6a97163c73d1833c74f4dc3bc0dcdb3e839cd93bfc0b6c3ccc2ad93b5058673e8d32c43b0010413c92e0eeba05ded63c0000000000000000000000000000000000000000000000000000000000000000201be3bde595bb3b000000000000000031b08cbd7aa9eb3a00000000000000002e2a25bd213b81ba0000000000000000e959dbbc37c3b73700000000000000003473abbcbcc1483a0000000000000000c68f34bc227c893b0000000000000000d0ad08bc88e2d43b0000000000000000000000000000000000000000000000000000000000000000000000000000000079a9eb3bc1d1c43be8dd113ca3ada03bf4631d3cb964eb3b7ac7093ccff0b53bb3a8323c44d5fa3b4d800c3c85ada43b5f37103c8a44c23b558af03b8cec893b2df7ed3b99b1ae3b84cae53b0e97233bbf3e943b6d4f683b0ada3f3b3d49ea3ac6efbc3a739a173b5ee2193ad3b1a13a000000000000000000000000000000000000000000000000000000000000000034e8eab82275bdbb39fd89bcf8723bbd85f5ae382d9ec1bb45e0f3bc38884dbd7fcea3b9addc8bbbbf561bbda4ce58bd9e4b673ab5fd4ebb5b9b12bd06713abd56931838070068bb5aecf4bc89dd12bd4cb804bafe9a7fba41b690bc4c30bfbcf166093918f5c6ba4241aabb9dcd14bc00000000000000000000000000000000000000000000000000000000000000005880bbbd582c07bda80f1e3cab0b9d3cebf0a9bdfca4f7bc6023093c9fe4943c222a9dbd3b9ff2bc48ec723bc94a7f3cd9026cbd2debccbc43410a3b9fd11f3c88063abd8a8e8dbcac1a9f3b03a1183c550df1bc438923bcbdc78c3b9a0db93b0e6955bcf2e64eba2ac88e3b24cd133a0000000000000000000000000000000000000000000000000000803f0000000081b2b23cc82ca4bc50ee963f070cebbc6ab0253d8bcf703cc37f773fa9d741bcec2a5e3d72c90d3dddb6473febc040bb567c523d00a70b3d576a163f33d67dbb7b58403d87bac73cf269d33e7fcd81bcd8c3113d608d1a3c2dc4773eaf56b0bca81d8d3c60c632bcec7b9b3d2aef0fbd000000000000000000000000000000000000000000000000000000000000000094a843bcce5de8bc0000000000000000a0d989bc4a9a17bd0000000000000000b2758dbc25ea0dbd00000000000000006dcd8bbce9e304bd0000000000000000c729aabcfc98ecbc0000000000000000b3606ebc3c5685bc0000000000000000c684c3bb6de643ba000000000000000000000000000000000000000000000000150fbc3a8ab2ae3aa53da33b47b1263b89c6c33b0c1ca03bf31d043cd292963bbe522c3c5340ef3b5e5d1d3c7584b63b4bb4353ca2edfb3b18bb143cc3dda53b373a0c3c43b7fc3bb1d0d63bfe05d03b4123073c7aad9e3bdefbc43b5bad773bcad19e3b5cc2733b48d8763b065f373b6059f33a957f023b04a8fa3a1db62e3a502a82ba98762eb91ee0a0b99352e1b96671673a2b015dbb8f87e03b8eb3d5bcc1f7b6b96264cfbb121ba4bb04c924bdb02f19baa820cbbb8268efbca2505bbd8ef81cb966bac1bb037117bda29c60bda7a495ba483638bbc4ee04bd1ccb3dbde63a80ba49c44abb79a8f3bc5a8422bd30fc83baee0522bbcca993bc2607c2bc115d3a3a0f64c1baf33e14bc6da82fbccd798fb9df92773907f8b33b7dd0e13a5cfb5bbd3202c8bcebdc0b3b0b86423c9c1eafbd6e58fbbcf5a3383cc4a6bb3c92d3b2bd4c4613bdfea7053c9243b53c03a49dbda40408bd323bef3b4a7ea43c1aba76bd05ecf2bc8276c23a666b323c854043bd1dd2a0bc9a6ad83b598e4c3c9afff1bced0433bcfb06b23b8047cc3bf56c58bc7d1672bb446c1b3bfacbe63a66d5933bf53e263bd355e73ac15012bb011ad2bbeccda7bd5561963fa182cb3d09e62f3c98158ebd948d8d3f9305a23d49e1263d46101fbc22656c3f6dd8b53d8ad8583d8f2f6f3c826f3d3f0c49a03d48cf513d2fcfcf3c46aa0b3f2eca803d6f0a543dcc63883cb8a2c63ed6dc043d5ea61d3d9514203b1a23633e3c8ff03bccc80f3d94be3fbc39c1903d43ac1bbc58f9883b6285e5bc19083fbded80e4bc800d97bcd8f966bc00000000000000003c5e0cbd70c90dbd00000000000000006c9bedbcf8b32dbd0000000000000000a1e0fdbc606139bd00000000000000000aafc8bc37880cbd00000000000000003567eebc316702bd0000000000000000af6ebcbc485293bc0000000000000000897a10bc5d41153b00000000000000005f936eba75981e3c0000000000000000bf6c733a350a113ae2ec563bd2c3243bc115ce3bd15a9b3bdcc2003cac87a33bd213253cc7d4cf3ba6b70d3cee50ac3bd7733c3c38b2ef3be90e173c329cb63b16e0153c89a7bf3bfccdef3bc7d8843bc013003c24c8b13bb935c13b6041643bd9c79e3ba5fc273b4fb08c3bd47ba83a0c81143bf801ee3ab8dcc23a4ce1493a5d837fba24935d36eeb42fb8ffc206bab3ae273960d70dbb64f81b3c1cd9adbc66ef373a907fc0bb989f09bcb6242ebd9070503a7f3593bbd9aaf1bc3b804dbd7f2d63b9b372adbb107210bd030d59bd91fe4b3ad0231bbbde2b0fbdf4e932bdb19cc039783f76bb251febbc368b17bdf77b8d3a4cc11ebb3dac92bcd1d9c0bcf437a3b8b2aca1ba434af1bb759539bc20057737e7d97d3911cd5e3b44d9383afc3909bd7c62aabcbdd67cbbfee9363c1c5994bd66131bbdafc78f3a7f43b43c18e791bdfeed23bdcd8b17bb8ab58b3c91fe91bd0de71fbd28ca993a37a79a3cf2945abda7abf8bc5f5584ba00ecfd3b53e932bd1c7cc3bc5705253b20984f3c1662d0bc8d0255bc22e38f3ae72bf63b525b27bccc8190bbf1c9ab3a33fa613bf2c3703baa8cbb3a1733253a1c4932ba4a0b12bcaeebbabd5f777e3f7d0d883e4bf7823c54de93bd9020773f1f7d7a3e6e991d3db04e21bc22a0493fb7c7653e201c573d760fa13ba488283f11583b3e386c4d3dc9978a3c8011f73e66d60e3ec6fb4b3de0a9153c091cb33e7c3cb83d8f040f3d9a5b21bb3e89513ec4de3a3d96fce43caf2b8dbc1bec933da8a2923b40751e3c4d43c4bc56dbe6bc1641b5bc5edc16bd0bfc61bc000000000000000004ee3fbdddef00bd0000000000000000600605bd839810bd00000000000000003d7d21bd628733bd00000000000000005190eabc3a240abd0000000000000000e2311abd282208bd0000000000000000fddff8bcad70a1bc00000000000000009c50b0bc073f6dba0000000000000000e2a507bca6aa263c000000000000000095b4c53aff56d0b6d7eb923bac50163b1e1ddf3b0102873b81f7d63bc1f5b13b90b7183c24bacc3b6ab7233cfe21ab3b7e17353c8165d43baf460d3cf824bc3b2c19193c9d4fd93b736ed83b6fe9a03b3c45093cf32d8f3b8242bd3b99a1713bb4999e3b8221613ba3cf683b6c74243be78b0f3b8dcfc23aa9ffae3ad4f7ee3a7b5806ba92ea50b98155bab937f105b902771738be5cf3ba2c10e83b55dec8bc0d5f633a017ea2bbac1527bc5ae223bd3995143a9fbca1bb958de6bc6c7448bda285f139f9a096bb77b30bbdde144cbd80d01d3a2c9320bb64b60cbd57c331bd3e37943854624fbb4a8eecbc5cde0ebd5a34a236947c15bb812d8fbcefa6b9bc4b7f67bad94c54ba7d7fdcbb80da37bcf573a7b9253813b86b446f3b655e8b3af3ebe3bca2fed0bce4bdeabb829d3c3c64f875bdc22f29bdd53ee9bbb35eac3c647f8abd3eff39bd743bbabbd286a83ca3dc84bd11512fbd76b78fbb9df4913c1f3c4fbdd7d30cbdbb8aa7bb0e29153c281c28bd6902d0bcbe1d2db960914c3c393dd4bc77a880bc2648853a6086013c51fb33bcb436babbd5c89e3a65de833bbeb8493bcb5bf43af836333ac3714c3a0ada0dbcdba095bd3ed4513f6249e33eaab3763c98917fbd38e34a3f483dd73ec451193dad0864bc33832d3fe0b8b93e3755493d2851cc3b3ff70d3fb89c973e55724d3dcbbe8b3ce74fd43e778a633e9d9e453d27b60b3c23c3993e20171b3ed389193d5962ddbaf4f9343e046aa73d8da3df3c240487bcce91873dc6ebb53c052eac3bb2b3ccbcca65acbca962b4bc26e23ebd6fbc5fbc0000000000000000faa67bbd35fdf2bc000000000000000078c24fbd38572bbd000000000000000060ee3fbd70dd2dbd00000000000000006cb915bde49113bd00000000000000007ac838bdbae50cbd0000000000000000b2a61dbdae5ba4bc000000000000000085aff2bcff0393ba000000000000000072e18bbc08d70f3c0000000000000000cd38113b052318bac70d1d3beea6503be9fdc23b67849c3b628eb43b8069d93b7d20233c0ca3b93b95a2083cf786bc3b600c223c822edc3b083e113c7d15bc3bb050123c42d1a83b3630d53bcf21b13bbbaef73b831fa53b333db93ba67b8b3b60b2a73b6a93533b1e1f383b5c72fc3abda9fa3a35edc43a4dc2c43a04ddad3a086833baba67b6b8d05c24bae29444b939b85f3aa389e4ba1eeda13b56c7a2bc112bd939328785bb264926bcd5f118bdb3c6a23a301671bb95ccefbca39935bd12eb473a27557bbb42d007bd738f3ebdbbca993a59f1dbba914008bd70d420bd318a70b8cc971cbbae67e2bcdd470bbde960103aa56902bb560c9dbcc248a1bcad049537c8fd9cba872af1bbdb3016bc52fe45b9f4f9ae372b59823be018143a03f6bfbc66b7c6bc79a667bcf030363cf68058bd158639bdce4472bc6e1eaf3c0b7077bd207c4cbd035a47bca9248c3c562c74bdc07142bde83713bc59cd863c68d036bd4fc112bd667c3dbcf750c23b520722bd9e74f1bc9c054dbb70ad433c8edac3bc4a3088bc50fe33bae2700b3c156e2bbcc1d0debbbfb1f538ec049a3be9a43d3b0e27213b69f9b73a9988d339cec71bbc254c77bd7a35223fb4b5213fc9014a3c661438bd8e4d1d3f293b193f3a13163d5d9d3abbcfc9073f7451013f68f6493df1f6473c0a70e13ed4fbd23e572d393ddca5b93c4681a83e11bb9a3e229a463d8298513c8911793e88285c3e26831c3d6a16a9bbb8a6153eddc6fb3d5258d03cd5675cbccfef573d2275213d9636ae3b7353b5bcea0a8fbc0ddfb9bcbb0681bde4ff4abc0000000000000000fd7e99bd7915ecbc00000000000000007a7f64bddadf12bd00000000000000000f7064bd5e0626bd000000000000000003ec0fbdd7bdfcbc0000000000000000bcd04ebd47de09bd000000000000000075d441bd2de8aabc00000000000000008a2b12bdae81a6ba0000000000000000ff17b8bc1ec00e3c0000000000000000c1e3913acae1e039a39ffd3acefc6d3b5a64bc3b6ccc6f3b43cbd53bc080c53b8f9c163c2006bb3b7409013ce75ef03be056293cd8e8d43bc334053c97bdd53b4e87153c1b8bbe3b5bf2d83bc1b7a53b8bdbf33b65e7943ba1dbbd3b001b853bce7d9c3b75dc443b7be8733babe3283bc07e1c3bf0dda23a232aeb3a5a0f6e3ab138e2b96299d5b9df56dab82eecb8b980db9f3a58c100bbb13b983bc5777fbc66d0053bd4d29ebbfea710bc0e32ffbc54d9cc3aa7509cbba9a2d0bcd5da25bd2372a73a61ba81bb9eeb08bd6fa22cbdabbbe13adade01bb396e08bd9c6617bd915f92b931dce7baf246dabc3258f0bc7470243af67616bb21af96bcbc7fa1bc05359e3878a2b1ba729304bc3b3009bcecde73b93199aa3703b9363b23dec13a62bfa9bca0f6e0bca33aa7bcd4635a3cb0bc45bd3fb866bd33c793bcbfc6c53cc0e468bd3fdb74bdc70987bc79f6af3cc61a67bd13935abd83a95ebc78b88b3cb1483abde4df29bd0c6a3bbc34b3ed3b5f071cbd61d202bd54bbd6bb8990433c79e9c1bc1e6f9ebc2152e1ba8dd7043c94ca2abc4cc8e8bbd2488db90a6da93ba7d3f83a6ec8403b572300ba29ad143ba82f26bcfffd3dbd8cd1e63ee589503f8b6f203c0ab501bd7d6fe03e719e473f3c3e053d6fb2283b637bc83ec31f283f1e773d3d40d4a43c4651a93e58a6063f5d71423de209ce3c6676823e0bcfc63eae233a3dafc58e3c5b8e3d3ee2e48b3e10ce193d34afce3b170bdd3d4607203e77bfd53c5c9503bcece61e3de4c3583d2d9c8a3bcb6594bc82df8cbc1189c0bc571f9ebd18a729bc0000000000000000c568bcbd7c73eebc000000000000000062858ebd36d11bbd0000000000000000c84f73bd8d1827bd0000000000000000f9113abd718f09bd0000000000000000aeed5bbd231e07bd0000000000000000339345bd4b1aa5bc00000000000000001fee27bdb013b9b900000000000000004a5acdbc56f50c3c00000000000000001aae46390e05a33909c2333b632b6f3bd7cb963b32246e3b7611d13bbbf8e83be92c093c7441bf3bfac4fe3b91cdec3b8e3f183c61e1d83be71b053cd10fe73b1655083cbf5bc83bc2f5ca3bce12b73b01c4e73b6a769d3ba02fab3b755b963bd11c973b97883c3b443f4d3bcccf2c3b68c7103b3e57c83ab245dc3a42399f3a00b021bae987dbb96ddc21391c21feb97334b73a16b127bb287ef23b57c112bc655f2f3b21369dbbd52cfbbb212cc8bc1ff71c3bed4379bb7f57d3bcde5410bd1f79f13a92f986bb4c61fdbc411619bd8a83af3a79a1b8ba189401bde13409bd3d94813a5beb33bb20d6e1bc5656e0bca251b6393c64d9bae4378ebc612c8cbc227de8381068b0ba453d1abca116e0bb4be09d376637bbb92e039f3a7873403b3536a9bcdc3915bdc89894bc71e98b3ce3fc38bdf6bd89bd945ba4bcea7dbc3c7b7c55bdccc781bd3d9aa6bc57d3853c17da5cbdc55b78bd713f8dbcca068d3ccca631bdca2237bda9a079bc4823d73b53fb13bd75af0fbd197b05bc337a493cedfeb0bcbaf9a6bc3c838cbbdb0f003c029c28bc065c20bcc2edad3ad3b3913b77d663ba1f13b83b66ae453afbc3703abe0256bc61290bbd5860893ec4747e3fe857093c08ac87bc8712873e83ec733f6f67f93c4ec48d3cd17c813e9931453f915f2f3d9e64df3c5135623eb1a6223f7f17383dc790fc3c33ee313ef61bed3ed767403d3fbdbd3c62aa013ee5e3a73e1e4a083d3b0b2c3c2ed5943db4b1403e563cd93c0f3d9dba85c8af3c2c18813d7285f43b20612abc21678fbcd16c01bd5880c1bdc3fe44bc0000000000000000b25bd2bd7f62cebc00000000000000002bbf74bd80cb00bd000000000000000052f578bdf4d525bd000000000000000065252dbd91d0f9bc000000000000000076075ebd16ce08bd0000000000000000bdd33cbd0d54aabc00000000000000009f7b2bbd06eea23a00000000000000007346d0bcbcb0553c0000000000000000306af7b90d40283aec81453bf686b83bafc05c3b8b27583ba46adf3b04c1f33b95ae023c9ec2b83b4a7af33b0ce91e3ce80c163cf790e13bcdd7003c9c42eb3b6317f03b847cd23b07fcda3b4412bc3bf150f53b4e189c3b246bb13b8c0d943b9692953b342b603be458543b767c4c3bfc0f063b792dd23a26e9f23a59a9963a2a3c9eb95c726bb931b2d0b92d3425baf474193b466439bb29effa3b6d629fbb9339433b6642bbbb9daa98bbc73e6cbcad67e53ace808cbb893ab8bcc55df1bccd3a133b8fcf81bb8538eabc9c1d09bd1ffd093b4d85f3bace1cf7bccc66f8bc8448ba3a7a4441bb4286dcbcb1e6c9bcd20f1b3a57db06bb95e89cbcb7ed6fbccab469394bc39cba8a0d33bc35baddbb37c2dab852c2c0b9435dbf3a38de2d3b564dd3bcd0ea5dbd891cbcbc288d803c739e27bde87ba6bd8d8a95bc0809e43c606052bdd2c5a1bd0bf8b4bc1f75aa3c09ed4ebdfca78cbd6bc99abc191c883c86912fbde4874fbd312f89bcdf72fc3bcf4e0ebd8f7b21bd8d183ebc0fc64e3c8a1ab5bc229ec6bc7dd48bbbfd4c053c42270ebc844622bcf3227eb98e956e3b328f0d3bfb419f3b19e7263a18ee133b448358bc8b689abc1718d53d5178963f47a2343b7c5f8cbb7427ca3dec608c3f5abfdb3c85c5c53cedc9fb3d16bc683f2165283d1705113d5281f13db5ff383f3c8d363da2cf183df94ecb3d31ed073fd5b63c3d8e88ff3cd9cb903d1e5abe3eb1b9183dfe7aa43c7ca5193dd3ee563e68f2f13cad721e3c4c11e33b4ece833d7e21ae3be539ecbbc544b9bc3ab643bd5791adbd20d312bc0000000000000000b1e8cbbd84b502bd00000000000000006dbb7dbd5a2413bd00000000000000007a4054bdd36424bd000000000000000088ad19bd4c2607bd0000000000000000e43637bdc20e06bd0000000000000000fa9233bd530ba2bc0000000000000000165d0fbd1290993b0000000000000000fbc8ecbc8afc393c000000000000000000000000000000000000000000000000e01e653b30409f3ba241df3b447cfa3b131ce43b199c9c3bd7550f3cb316df3bd72e033c30ead13bc8aa013c8a34e23b517cde3b68b6d73b8b23d73b3bcebf3b4c3bc33b80a69f3bf1fc963bd23a9e3b824b853ba9d93a3bca3c683b842e253b19eaa83a6699c23a81c0ae3a4fd19f3a000000000000000000000000000000000000000000000000000000000000000009a68d3b19ad8dbb7c890ebcf16483bca024483b0e9f42bbcc03a9bc788ecdbcc450483b56d31bbb0366f5bce57bf9bc62fe1c3b77cca1ba12a4e1bc8202e2bc058ad43aab5ebdba191ec4bc4d4cb3bc2a569e3ad1e5bdba14b489bc328355bcf276e239710ab4ba246eeabb1bd956bb0000000000000000000000000000000000000000000000000000000000000000fe7831bdd841b2bd3569cebc8dee853c264236bdd4339fbdce15bebcaf066f3c39a03abd194389bd294dbcbc9571fc3b19d725bd3a8857bd3e40a5bca80a5c3b3fc6febcbe4b25bded3f4ebc03e2c53b451da2bcabe1d3bcfc19dbbb60d4a53b293604bceee52abc8b3ba8bab194ac3b000000000000000000000000000000000000000000000000000000000000803f0768d23b3fb6883c581d0fbc6800963f7fe4de3c856cfe3c5c47903c3e16753f22aa2b3d4dad323d118f033d2ad7443f74272d3df1692f3dd268fe3c8363133fd9be263d569a0b3d1b7ba23cc118ce3e709d0a3dfaadbd3c7b9eb53b28d86f3e81aeaa3cd56d0a3c13e45dbc19328b3d0000000000000000000000000000000000000000000000000000000000000000435b40bdef789fbc0000000000000000bee7ffbc5048e7bc0000000000000000321fb3bc4ae6f0bc0000000000000000c21a94bc95b2debc00000000000000000dc0eabcb0eaebbc00000000000000003c98eebc322992bc0000000000000000cc7405bda27eaabb00000000000000000000000000000000000000000000000000000000000000000000000000000000b28408bcd9ac1c3c2fca383d0aea093c2ff62ebb5530633cefe7223d96c3243cf434363b9d3b513c67b6023d923c5f3cdc90983bde1d2b3c8b6dbe3c12fa313c477f723b7b2d063c2a3e5c3cbb95fe3be2c6e23ad11e973bd8adb83b55a5843ba6b2db3ae04ba6ba86fc00bb845cb3b90000000000000000000000000000000000000000000000000000000000000000112508bcb5b725bb1956ed3bfdb5053cd0711dbb563ee6ba85537339beba1ebc6859203a6708093ab5c3c1ba9599bebc9d33503b10822f3bda279abba2ecc7bccf49563b964d743bfa229fbbd6f3b4bc9a555e3b64e11d3b2341e3bb579c7fbc8392393b596a843aa7358abb573480bb0000000000000000000000000000000000000000000000000000000000000000937662be823a573ce8698d3b00c0803b28c149be268f9bbb0b3c7dbaec74833b4d3636beec2995bc20d2a9bbc04e1a3b537011be4160b0bc5307e2bb029f093be8e3b9bde51099bcbeb820bcc60b16b877652fbdd45e93bc4939d9bb2ad3f2ba172128ba8b5000bcaf9690bb252203bb0000000000000000000000000000000000000000000000000000803f0000000051a7b13c9cb90abe15f6ad3f25d515bec6fa533c493992bde8588d3f5479b3bd990b2b3cc55d3fbdad7a6b3fd7247cbd4841f93b3d4293bcc5502d3f189213bd8ffece3b26cb923b08a7da3ea79713bc7020d43b0e63993c2db5503e6285523c04faed3aa80da83cfcc2e1bad5089e3c0000000000000000000000000000000000000000000000000000000000000000a23dbe3c7ea203bc000000000000000090bd913ca341f8bb0000000000000000ed9f9d3c9aa127bc0000000000000000bb65993cc00acdbb0000000000000000b071a13cc91fe0bb0000000000000000f0aa833c005b47bb0000000000000000fbd34b3c5bda60bb000000000000000000000000000000000000000000000000fb7912bcf084653b5b2bc03ce46cceba6c8e0dbcc11de73b27091d3d9b51d83a7bf2a2bbd723793c1eeb263dccc6493c45a36e3a90fc683c00f9143d6cd4863c897a973b69b9443cc9c7c73c084a443c734a8a3b085a0a3cb274923c7b75073c74562c3b3b257e3bfca0c83ba513943be3def63a2a24f93918f786baec10e73a46e8d9bab9a56ebb71adadbb315f85bb3f44c1bb9b63bab93b20163c5936893c31efaebb5ce091ba6205e73b413e4d3c207731bb43331ebbcf3d053cf13428bc98499f39f9181dbaf06ad83a9d7d90bc63e2753bd8d6723a35c12bbb896fb0bc772db63b0b23123b74509ebbb48cafbcf582a63bb281353bfbc4a3bb21b96ebc3b569b3b84eca93a294eccbb544dd7bb82cc473b84ed9bb91e4cb0bb8b0a113c245800be2e6a723cb971153befa51639577f35bec664dd3b51b2cfb9b2cf663a0af250beaf0e89bcd3786ebb613a963bee0c3fbedc6adebc95f616bcab78613bc1d512be41b9f1bc08414dbc5170743a34c4c3bd5afdf2bc8a9e31bc39c792babfa938bd908eb5bca1ee31bc099a34bb673ae3bb4ea385bcf48485bb6b6f80bb36a6b73c712e2f3951319dba813270bb64584e3dc7fd76bec587ad3fb5235ebc4d5b2d3d15613ebee135993f4d29833c5eeafe3c1f791dbe0d648d3f84c4263cf447db3cf73ee2bda67c653f573bb03cdad3a13cec748cbd68042a3f4cb0083dc3df7a3cf4e4e2bcf032d53e6e03343d2aaa323c4b1b18b9096c453ef6a02c3d3d8e8c3bb0cf8f3c532cef3cdc6b163d5c27f83b9776243c874defbd162f373cd8d6b6bba66fa83a0000000000000000634dc8bbbe93263b0000000000000000eb7828bbd21b843a000000000000000020e02539d7ab493900000000000000006321a43b82d6b2ba00000000000000002e71e13bc089a3ba00000000000000005cd00b3c3d9bd13a00000000000000005aedb43a9b3aad3a00000000000000003becd03a5f154b3b0000000000000000fd0598bb40100b3b46c5673cfc48d2ba6d08d1bb77e3163cc590fe3c82a5023c23a085bb4cd9733c1b23063df29d8e3ca0a60c3bdd986f3c4343f33ce818803c1adc853b0f43413c2f4fae3c954f473cd0ca6a3b438fda3bd7587c3cd65bfb3bc943123b6473ac3bfc5dd23bb2cb1c3beea8c53a8cbb00ba73738aba861f1cbaa934d2b930ff02bbe4e287bb6b4a8abb280142bb4ae36ab9e93bf73be290d93b941100bb244c97babe353e3c49f797b98c75a63a0ba1aaba24960a3ce99737bc75bd913b4976a5b924ea8c3b3b549ebc430bae3b3cd3263b97f001baf2c0b8bc80d10a3c2c27813bbaf3d8bae79ba0bc0043cc3b23a04b3b97e9babb88f037bc8753b13b27571d3b1d4fdabbf6ba01bb573d333bfa324c3a6688d2bb2e7de13b66909fbddcd8293b6dbfecba0352ac38941524beb264b2bc8c35e5ba7818f93aba0b39be4ce32abdda6bdabb949e673b56a92abe53433bbd5dd33bbccf0ca93a070b04be8ff934bd055459bc991ffbb8d9f0b9bdcc211abd05eb71bceca15dbbd89c35bd6db6d5bc4b3335bcf896adbbaa640dbcd6f26dbcab17aabbccb8ccbb830c5a3c4b6487b9336a36b93129acbb4218533d833266be384e8e3ff81c593e1dbe593d712f64be99028e3f31a1423ebeab273da18c38be241b7f3f7b622c3e4e0afb3c3fbf0abef280513fce3e173e74e0d43cdd4ab3bdc9f2193fe3cb003eae6fae3c81b13fbd4257c53ea869d23d0376753c636789bc50b4383ea535983d6a8e383c3679c23829b9d63c601e1f3d41461b3ce84d1a3b17628dbd9bb77cb93f7962bd79b2813c00000000000000001b8a57bd37437e3c0000000000000000d6912fbd30e1333c0000000000000000ba58f1bc0e75fb3b0000000000000000160b96bcaf85033c00000000000000000dad1dbcab89e53b00000000000000000907afba8114c13b000000000000000099b38aba6357e83b0000000000000000339d06bb61f9b13b00000000000000007e015ebbbcbff83967ad1d3cf8cc1e3b2462a8bb9063073c312fca3cf12d543c16a6a9ba0fb33a3cedf5f03c58e59d3c415bf939aaa46b3c466ccf3c94d89c3c2d4c993b1ad9303c492e983c33a5733cfc9ebd3a0ddc093c67ca4d3cc60e0a3c910d803b1f5c2f3bbc16953b2687303bc2a30739fd591639fcbdc739f1fb60bbce051dbbd54c1ebb618767bb0d11d7bbb40c22bbae7719baebbe143c411fdeba20a1403a6a5824bbd379093cb9b568bb6cda8b3b21fd18bb2f79df3b2e3a5cbc8880033cd3eb6e38103c7a3b1e9bb6bc6901153cd2526d3bfc2798baf294b3bcbd68093c12869b3b8d6d31bbe7239ebcde06073c0a05513b8565a4bb48e951bc7b8b043cae39173b0f1508bc1911a8bac63c923b69edb9b9b76960bbd5adbb3b294173bd5c1092bce65dedba1aad883b143a04bebb3555bd6ad10cb9269a9d3baf0919be1fba94bd4b69aebb9c12b13b74110ebef8e996bddc6641bc81174e3b0d41eebdfe5487bd346b56bcfd6b9a39150f9fbd6d9449bd9bb867bca915f1baf14122bd1e52f9bcaac039bc2cb1adbb7a7f35bca7305fbc7664a8bbf9dafcbbc00d263c50dc783bd32aa13a68acc4bb98be3e3dd76156bedc436e3fa829e23e0aee513d16d954be0b12693ff51bd83ec3ba1d3dab9d2ebec0bd523f5862bf3ed5e7053dcfeb00be75502d3f454e9f3e6decd73ce252b9bd6e73033fe550783ec1849d3c44ae41bdad8da83e6a232f3e53bb5c3cb6d9a6bca22f273eef95ca3d2269303cc55e88bb41810d3d4340163dbcf2153cb9f9cfbbae0358bd17c6a4bcf1d1e4bdab44d33c00000000000000006301e6bdc0ecea3c00000000000000006335c1bdcd75ba3c000000000000000046028bbd644c833c0000000000000000a5623dbdc98f763c00000000000000006820dabcc5ad433c0000000000000000254ff0bbdd031e3c0000000000000000d8df4dbb937b273c000000000000000075c22bba3d6e1f3c000000000000000066771bbb35ada3bac892143cb1d8bc3b5b6d4fbb52ff653bf45faa3ca5898c3c267e9cba1eb7233cd5f5c13c364cc53c8ecb0c3b011a343c6f76b73cf255c43cbe8e5a3b27c0213cbeb75b3c4d23643ce2b49a3bdef4c23b925c413c377f353cd67d603bb033043ba198673b3476e33aac3eb03a059997ba73505639677950bb8853acbabf790abb412950bb13d8debb62c42dba785217bbb073f03b5b4240bbc2f23c3b2c4837bb554bea3b30a6bcbbe39bd63b32d3c2ba4cd4c63bd9c86ebc0ba2083c9fbe993a38330e3b4e2ba0bc0bdb273cfaa0523b4aa626ba0735babc1f62093cf4daa23b13404bbbbd51aabc2576e23b3bba8b3baaccf0bb34e229bce2c5c33b91da363b18d9cabb711380bb44e3613bbcc8d5b93de590bbe7aa993b231c29bd46b32cbd2937123b1502aa3be4f2c2bdc6e4aebd5cbebc3a7714c73b5234f1bd440ad8bdd432b5bbd98bd73b642befbdcb52cfbd13ad49bc5fa18e3b1b57b6bdf33da3bd4c0084bc1d3b213a3d0890bd4a0473bd404964bcc4fd3bbbc63e15bd620300bd9ac920bc4dec69bb28ba31bc8cea39bc334686bbbb17d9bbd7e1ed3b0b8e9b3bddf75c3b1b6ba1bb0887233de6962dbebdec303f52b4313f87a0243d0c2026be36aa2c3f0d2d2b3ff520023d5f1508be3b581d3f077b173fbd35db3cb5b4d6bd0102053f377df73ed6b39b3c341781bd443cc73ecd2bb83e49f58e3c742c2bbd2b0f8a3ed1c6723ea81b4d3c1c4790bcac48113e01edef3dbd96103cda97dabb685f273de92ae63c21200a3cf38d8ebbd8db0cbdc4af26bd7cd02cbecde7203d0000000000000000ec492abe61231e3d0000000000000000492b0cbe5b4a003d0000000000000000f364dcbde5ced93c000000000000000080d08abd66a29f3c000000000000000039e32bbdeba9a13c0000000000000000d34078bc071e533c0000000000000000d88ef0ba0146443c00000000000000004f7d0b3a93bc1e3c0000000000000000fe9f20bb557866ba2fd7733b3581253cf21434bb10cc0a3a555a6e3cc5b4d13cb243c4ba483ab03b0b43a83c2872f73cd2fc373b95a1df3b9340943c827ddb3c9eaa9b3b4657eb3b9ca46c3cfdbfa53c1fe2803b5222963bf503143c5d903c3c6cd9513b54e1753bfe70ab3bdd30d63a8d58763b072198bac224b8b96298a1bbc91595ba9bbb10bb27dd20bb0632eebb51db93ba344e0ebacafce53aae183cbb83d1793b35c07ebb4835a13b0a4291bbcf12113cafa79cba558e693bf3923cbca6b71a3c21a4173b0decfb398b2d8abc64ff2e3cbfdf9c3b30987eba362aaebc2fe2263c6e49023c84d34bbb63179cbca80ff93b95919a3b2a40aebb294b5ebc78d8da3b393c513bbe8a10bc01d802bb49b20c3b5b85153b36bdadbbd4be473b9a9aa2bca68d78bdf24ac33a46f50f3c5bb67abdeb03fbbd3276d63b08db073c8c21b0bd19940fbe1616a8bb23520e3c5a25b0bdeeb403be1ede2ebc1216703b19109ebddfa7d6bd63ef67bc3948d73a572969bd989594bd57de5ebc922459bb4eba13bda85814bd6a6d13bca1d1b1bb31396dbcbe1608bc67e071bbb686c9bbf5c88e3bd51d073ca12a763b1f10a5bb5874e93c84b3debd7ef3dd3e0a3e703f23ccf23c0a52ddbdd930da3ecbcb673fcc80c63c1a39b7bdfad5ca3efb1b4e3fe6f0803c9b4980bda438ad3e9737273fee676c3c20e83fbdd4fb8c3e98baf63ef5fe3c3c4d55d3bc416c4e3e6e079a3e6c08083c7b1248bc65c6fe3da4f5103e1efaaf3bcf6bb3bbfc9e423d6c87ab3cae48e53bffbc93bb11c689bc8e446abdb94d57befc8b343d00000000000000002bcc5bbe65564f3d00000000000000002bcf38be4e40233d00000000000000007ad108be884ef83c000000000000000098adbdbd48d7c93c0000000000000000cf2451bdbda3a03c00000000000000003b6f8ebc028c753c0000000000000000be56bb3979ae3f3c00000000000000004b1a48bae4c34e3c0000000000000000793238ba5bb847bbd8da1aba66176f3cd02ad3ba626cdd399026063c2c5ef03c1ebce4bab562af3a956f943ccf52133d0edab13adce3d03ba443763cbfec043dad252c3b4c9aef3b470d3e3c6cdfae3ce05d933a828dca3baf24073ca16f813c6bb86f3b25cd5e3b1a1b553bcf82803bf408303b71de02b93fd7a03ae6bf98bba1577cba5e7699ba589827bbd4aa0bbc5572c4ba8d3088bb7a8817ba0f185bbbdf80ab3b92bc97bbd506913a918aa6bb46401b3c66a56fbb4be7223b50ff01bcc1814b3c7d7d123aa57cc23a494f80bc083e2d3c907fab3b9b4113bb19c48abcf928253cf37d773b2d2cacba91118abc2003ae3b70a9bb3ba94da7bb18504abc0aa0a53b1861763b18a0eabbb8e16dbbdb4b373b5098ddb91733a7bba3e1673b3827ae3ad9de9bbd99a0363c25a00c3cbe62e6bc14891bbedbda3d3cf71ef93bae8558bde28e31be01d9e7b88f032a3c021575bd069b20be23570cbc055d9d3bcec468bd8986f9bd8eb94ebc1a40ba3a4b1141bde2bfaabd692960bc0d8129b9ec7df1bcf9542abdbd43d8bbbfcd9fbb2d3774bce90513bca26c0bba3927e6bb8fab883a48b6373c84d5bd3bbd247cbba6188b3ce2a75dbd7956563e37dd8e3f6fe3693c7f3a47bdf69f483e01ab8d3f7c84283ca8fc1fbd56a1413e4c5e7b3f4489f13b4d91dabc82e7333e9c5f4b3f07a9723bf2b27fbc4788203e3899143f1106bc3b73a217bc8daf043ec236ba3e1e99883be9b4adbbfed5bf3db949273e7d53b63a0d0036bbd3ab4f3dcc98713c756ddc3a91d13dbbfefc653b404b95bd735c6abe7e654d3d00000000000000007d0e6ebe9b26473d0000000000000000379145bef689193d0000000000000000d7bd15be1a49f03c00000000000000008d92c4bde7aebd3c00000000000000007a8f54bda7d18b3c00000000000000007bdd89bc56eb5d3c0000000000000000b3ae963b8694053c00000000000000004c1eee3b521f0b3c0000000000000000c93bf9bacdf8c0bb3e8bd2baf1eec73cf2ab05bbf5b883bb498ec03bc5d9233d6451dfbaf52c80ba8cfc5c3ca8f9363d03b117b90f09343a79b8743c97f1253db0105d3b7030623b90544a3c9ecce73cf86a7c3b2fe1ed3a26f91a3c3d259b3c492d7d3bd1a28c3a79b9ad3b56079d3b6e1a783b0a399db9e7c63e3bad2a52bbf6379b3a1d3234bb6ffb43bbd7f12cbc7813f0b90c1adcbbda7e15ba8f25913baab0b8390dbd15bc0edbc13a5b8104bbf32cf43b80e59fbbab3d983b89ad67bb0c3b143c66a89db94920363b59dc27bc7edd1b3c7572833bf67474399bca66bc58c8063c2f60853be39f10ba4f9469bca199ce3bed5f983b7ed626bb7da12cbc364faf3bdafe593bbca282bb0a7b95bbf95fbe3a5289563a16c569bb645e96b94bbb613c64c8ffbd4e56ae3c812c003ccc2859bb6b3432be2773c23c031cff3b7b6ef3bc53f94bbe2cdb453b6871083c400820bd0b1c37bedc38c4bb9773b33b44f628bde17d0fbed0f164bc095e7e3a4d0c13bdf019c4bd795243bc2ba330bbc7a9dcbc22bc2dbd26622abcdc3260bb09e186bce0f50cbcbc2903bcbe81a0bb0459713b3fb6aa3c981fe23b21ebaebbdd36b83942bb66ba814d60bc6b75ad3f89afd13a28f54cba7660b03cb536993f764cfcba920c71b95110d23c90998c3ff0f6e2ba617f983bf1e5263dc091633f5a88d7bab5c5f23ba7ad5d3db42f263fb5409bba8444fc3b834a7f3dc6bcd03ecd7667bbfc83cc3b9932773df07c373e15090bbbe2828d3ad9f8393d0fc5b93c856df2b9b2bf6b3b0784483c573bf7bdb70c79be41b3413d00000000000000008ece4bbedc68293d000000000000000039742ebe8824f23c0000000000000000111203be9ac3c33c0000000000000000988c9fbd100a973c000000000000000055f912bd7b89363c0000000000000000e04d2ebb7fbff43b0000000000000000b44da33ca138133b000000000000000060dc903c435b853b0000000000000000000000000000000000000000000000000c4a58bbd7a0debb4b27043c4b45443dfe404bba74a3c5ba3793413c5fff343d1d8fd839c1a30b3b452e603cb57c0f3d045c3d3bfcd4033bd8bc1c3cbd99d73c69d0763b9bb4e53ac150f63b8251793c44e18b3b5cc183baa12f943b462cde3becdc593b9cb817baabb6cd37ee3c78bb00000000000000000000000000000000000000000000000000000000000000009395403b3b490fbc3e320c3b01a60e3c0e21fd3b671365bb9ae4863aad6979ba79ee0b3c4ce6243bed714b3bb96ecfbbcac81a3c2d5e733b20a61839e39c13bce0acbe3b5f5ef53b39c40dba2efa30bc38a47d3b8116ab3bfbc20abb468c09bc724ccf3acbd72e3bdce593bb0f345ebb000000000000000000000000000000000000000000000000000000000000000087a27d3b2b7e59be3681503c86f2123ce60d80bc486547be76a323bb79def63bf568fcbcefa231bebf836cbc644cbd3939dcf0bcb7fc0cbef2cc87bc6d93e7ba6d8ed5bc0373b5bd91038cbc493484bb5ddb9dbc810839bd1ae838bc3f8bb5bbdf4107bcbb7fedbac195baba56fca9bb000000000000000000000000000000000000000000000000000000000000803ffcf9f1bbe739e43cc9770dbe4d7ead3f8e790bbcfeddc53c908f95bd68408d3f91c7d0bbde9abc3cfa623cbd6acd693fda17cfbb1dfca63c4a1984bca6052d3fb84dc2bb1f1aa53c9e7cec3b98dcd63ed41583bb588e873c54cdc53c77904d3e244f88bb4478483c9faac73cd3a2eabb00000000000000000000000000000000000000000000000000000000000000007c3519be2cfba83c0000000000000000c105bbbd084e1a3c0000000000000000522d81bdeb6abe3b0000000000000000f6be19bd5568c53b0000000000000000eba906bcce1cbf3b00000000000000000007743c8452813a000000000000000055c4b53c500f8c3a0000000000000000000000000000000000000000000000000000000000000000000000000000000077f51bbc0b39453c5be6253d35ab8d3b2742feba9107713ca1a5113d409ed23b91119d3b1c01803c99d4ec3c6ab71e3c9279033c3d4c233c67e3b13ccc1d1e3c5f5cd23bd0ce153c5d36723c19b7cd3b77d9d13b9f72b43bb5e00b3c77795b3b2e56343bd2db923ad9962bbad5560e3a00000000000000000000000000000000000000000000000000000000000000003d16cdbb0c01e8ba004dcf3b46f3cebb1c161ebb9fe0a5b919aa87bbd601ebbca05eadb9e668483b8aa45abc8d1833bd12971b3b1b68b83b31848fbc78212ebd423a0f3b2084bc3b04a89abc3bba0fbd4fc2cd3a3311ca3ba25795bc1a09babc4044333b11be9c3b76a843bc0ed7ebbb000000000000000000000000000000000000000000000000000000000000000065d14bbede43503c7b0da93b96509f3bebe632be5ef64db93547a6bab5312e3b7d8d1cbe507c49bc796ef5bbb5d564baf65ff1bd1cb776bc1e3b36bcd4769bbbef16a2bd37746fbc1c691fbc34e09dbbeab722bd41003fbcd86522bc6cc8aabbfc5b81bbd9c2d5bbd0dab5bb26df8cbb0000000000000000000000000000000000000000000000000000803f00000000cc3fad3ca4adedbd4ff5ae3f77a021be39f68c3c2c8738bdf2d08e3faa05d7bd5507aa3c80ece8bbfe9e693f9d059abd546ca63cdec5a93c40682a3f1e9846bdb914ac3c97bb093dd7b4d73ef37abdbc587d893c5988253db6234a3e4a15933ba81c513c0571f63c900dc4bb38cd813c00000000000000000000000000000000000000000000000000000000000000008c24763baee054bc0000000000000000a5c16ebb157339bc0000000000000000ac9a42bb1e8c5bbc00000000000000007e8001b95c45cdbb0000000000000000bbcb393b43cb39bb0000000000000000b4f3af3b82e6adba00000000000000000bb80c3ce4b00b3b0000000000000000000000000000000000000000000000000f9a38bcc2b6993b5c71ba3ce98e39bb3c4827bc4cb0f33ba39b1c3d76efeab9be3f8fbb81ff733c8b2f1c3d7bc7173cc7fcd139227c773c31ac0a3d4b823f3cb58fbe3bd228443c9c2cc53c06f62f3cb2ea983b3dfc363cbe76903cb668fd3b4af07b3b5a97c53b8f8ff73bad35af3b8973723b84bf6e3bc69a5c3ae2372f3b116f703afc6977ba0912c7bb66001dbb3e6162bbca2599ba904c093c31f6ab3ce3a680bb382ea4ba5dcf1e3baba85e3c2cd2e4baff498bba198558baa51896bcdb5194b943db3e3bc19cd6bbd095f5bc5228ad3ad745823b29397fbc0f8213bddb08673b6a8cc43b980589bc0f7bf8bc954d543baa89bd3b1dfb6fbc7d9eaabc9bf41d3bb5e6a23bcdc25dbce6a23ebc64e84a3907effd3a480108bcc5be023c7896f9bd7ccb3d3cf48ae73ba3970b3b85c333be31b55d3c02b5143b05466d3bc4053dbe795d3ebc70eed6b965632f3bfbc727be9b2ea0bccfe3c3bbd65c09bbb739f7bdac2db5bcf0f123bcd29a97bbe193b1bd9deb97bc3b554ebcf866bebb60902bbd662777bca5bb20bc90d8a6bbd22a02bc619051bcfa37a6bbd2b397bb8074853c3c9e1a3bac6394ba2c1b643aff56203d08575dbe1f9dac3f55b395bc210b203d65c52bbec29b9c3f6dd36dbc0438e63cb5c3e8bd44ce8d3f81ab0bbcf08cd43c786688bda3fb653fc5344f39626ddf3c4c94a5bcfa3e273f55c9453cbfa1a63c8a09473cfb7ed43eedbbb73cb8258d3c2e52fb3c98b23f3e8486cf3cc8c6f43be36a2a3d4c65853c81da0b3d2398dd3b0339933c241debbd20cdf13bd3eb86bcdc9ee3bb0000000000000000418a97bc36bb2bbc00000000000000002644debc774134bc0000000000000000451ec4bc38d3d8bb00000000000000006a0a8fbcff3587bb000000000000000007e30fbcb88d27bb0000000000000000ed60f0baef81e4b7000000000000000047762cbb4074843900000000000000004d2ad03bc40fa7ba0000000000000000f45032bcffec7c3b97c0733c509c2dbaba9d1cbcb6fa1f3c6e34f33c327bff3bb476acbbb26c623cf46e083d8c0a593c06b88a3a84e1563cfac2f23c7a83603c5e96c03bafe73b3c0c55ac3cdda2443c3b4d983b8814203ce46a7d3cd476013c9f3b8b3b57b5813b3746ed3b2056903b29b6c33af0815b3b7392d8b9007f073bd362bb39951a36bada1b91bbd72b8fba25c028ba71abbcba5148f63bee09ac3c38abaabafa8ce9ba6694dd3bc670d73b81e19fba59a4153a2241fb3a8bba83bc6f5b9a3aa875223b5151b4bb25b5e2bc4cd1353bf381b53b87055cbc789c04bd77b48f3be36dda3b891677bcc60ee0bc0e46623b9120e63b8da46bbc802c88bcf4ef333b45199f3b416832bcb4a197bb5ef6653a32de183bcf9bf6bb634c033cf525a4bdea6b50bafaaab03bd60481390ea61dbe1f008fbce856643b7fcf3f3b6a3d27bed52d0ebdc116143bbc9adcb957dc15be0d8e14bd3ee6a3bbd6a22dbbba4ce5bd92c211bd0d191bbc4721b2bb6b70a1bde797ebbc230e2bbcd1a4ccbb681920bd4c109cbcd2c10fbc1488dbbb02e937bc24a90dbc0facb6bb2a9177bbd9300e3c546b2239c96b193a5fe6b6ba6c2c1d3d4f7c4dbe67698d3fc0db503edc9e1c3d74673ebed8c68d3fd22c313e822afb3cfe1c08be367a7d3f78791b3ee999fb3cb0a9a7bd2dfa4f3ffceafa3dfc21df3c68710bbdf6f4173f58cace3d60bec43cea7c5fbbda93c43e662e9a3dffbcab3c34dca93cd510373e26fe463d139b1f3c90fbf43c4aab9c3ce0fec03cf301ad3ba26e873c2de092bd6ccfb1bbc62878bdd3dbe43a0000000000000000ba2a81bdf66f5fbb0000000000000000a0ae79bd70c4c2bb0000000000000000488450bdb933d3bb000000000000000093ad0abda7596fbb000000000000000093a2acbc681216bb00000000000000007b6417bc69608d3a00000000000000007847143ae01a2fba00000000000000000a6da33bd92557ba00000000000000004a570abc62d28d3b78b9273ce714453b081518bcd25b093c7dd6d23c7221583ce785a4bbc4c5603c63a0e73ca2e48a3cc7ae9f3a0835423cc8a6d33c3a918a3cd6238d3bb947383c7eb8a73c830b703cdfc8803bff94ed3b19d2613c7f58153c33f3503b516ab33b6177c63b6141a23bc4dae33a33afa73a4675be3a5ce86c3ac9cda3bac57712b8696b86bb152150bb76c3a4b9b5cf40bb5b170d3cebbc823c7a08aeba30805bbbbdacad3b6f7e0b3c7b2ee63ab53d27bb0db1873bad8976bc0f0d143b74cc4c3b1a08aebb13d6d2bc8c26923be7ac833b9da93abcc38300bd6f157d3b8d47eb3bf4b64cbcade0bcbc6c1e883b9ba8db3b535539bc25066ebc016a3e3ba9b5a83bffea2fbc49d637bb0087ba3af365b23acb8d83bbd96f1a3c2d6f87bd818babbcc697193c3b9f033a9f4a04be39aa35bd53c0203c2e25093bee3811befb7a71bdb3296e3bd3c2ff3a52e501beb89f6cbd24f085bbbac339bbc92bd2bd83fc49bd4b6010bc9ff6c8bb050192bddca217bd003002bc917206bce75e21bd229ebfbcb25cd2bbf5daefbbdb864abc122628bc32db4cbba7d5b9bbc95bff3b30d5313bde40e83af7f005bb532a033d0c313ebe69f86a3f6b2adf3e61200c3d53302dbe6082683f24f9cc3ed8fad83ceb4100be84c1523f9536b23efc3fe03c1de39bbd41a22d3f4e088e3e0daae13cf8320bbd4a08033ff9fb543e6c90ac3c89ec89bb2485a93e120f0e3ed32e703cbb6ca53cc0f1243ef5fb983d9eff2a3c64b8de3ce3b1ec3c381b9d3ca7e1c13b66103c3c07886fbd77a1d9bc55e7e7bd245c313c000000000000000060a5f6bdf87ce83b00000000000000007fe1d4bd46eaa4ba00000000000000006271a8bdde3899370000000000000000a48775bd7d338aba00000000000000006f9e11bd53e68cb900000000000000008cfd81bcc73a353a00000000000000003d58a73a3129c4b90000000000000000d1cb1e3cd009c9ba00000000000000003d85f7bb85eb513b7b12063ca33fae3b3e92e6bb615aae3b3360aa3c269b9d3c658259bbd326233c0da0d03c005ab53c64083d3aaede383c854bbf3cf44ebc3c284cbe3bde2afe3bdc91783c35b97c3c8c42853b69030d3cc0565b3cb35d3e3c3e6d1a3b78466f3b3530cc3bbbe8b53b6a91da3a56dded3abd6a3c39fb81683ac26c2dba6b65bbb9fb309cbb297c79bbbd72eb3a505698bbf441c83b94a75f3cd8eb973834cba6bb4157da3bf097a83b3416153b3af419bbc5ae123b9dd067bc13055a3baa7e783ad1c369bb2cb3cabc7fa67c3b1425b03bf78718bc84fef8bcd16ba53b0ff8a33b75e039bc1c40d3bca110863b33f7c93b3dc512bcf2ac69bc68ed6d3b1de9a23b3f7b0abc316146bba2b6c83a71c2213b23cc34bbbfeef83b23123ebdf1ff1dbdf7a2113cae63323b3fb2cabd4f399ebd80f9433cff84523b0fbbebbd0ddab2bd3283443b0bd80e3b7a69e1bd55dfa7bd3fa94ebb018651bba802aabd942177bd65173fbcf5dbaabb3e6085bd11a643bd6a1effbb0d9be5bba36a0fbdef11d8bc77d5efbb6d75febb1e0d56bc479e1abc17f93bbb205eedbb6c17db3b5a36bb3b0a66dc3a346176bbbdb5d53c30d619bea79c2d3f9dee2e3f8a9fc83cf1b108beb5492c3fde72263f69c0a53c247cc2bd51161f3f7fa90f3f32e0a93c52a971bd4a95073f50e8e33ec637a93c530195bc7cafc83e3328a53e34bc963c607fbe3ab7518d3ed7e7523e4f53823c0cec833c5a56133e53b9c03dfb2f273cb43ead3cd47f0c3d70ef6c3c33e29a3b2440333c52f426bd298d3dbd1fb923be7d64a43c000000000000000047502cbe38c98c3c0000000000000000e04512bec74be13b0000000000000000f2d1ebbdfb2bcf3b00000000000000006a7f95bd1dda453b000000000000000009a94fbd045e673b00000000000000004ec28abc62302e3b00000000000000007d01503bf913953a00000000000000009e5f363c8ba31f3a00000000000000004762d5bb4082d13a85c2983b07da1e3ce5ffdebb636b383baf15893caf2cc23c9f8410bb9381b43bff54bd3c07c6dd3cf973c63ac195013c3453af3c43c0c43c4f73923b6f1a1b3cc28e803c48eaa83c61af8e3b5e898b3bf27d5b3ce481403c89803b3bbac8983b38a4bf3bc8b3c53bd8ab7bb9fbe30b3b9351a13a897413b8ee6992baba2484ba747a75bba2c369bb8997193bd614c1bb2ebdcb3b6c73503c2793243b3dc2d4bb603fd53b37689e3b6541863b84a454bbcb8b153b7c2950bc79228a3b71eae03a4ce7ddba000ecabce30aac3b7ba56a3beda509bc3a37e9bc9282963b12d9fb3b3e6d2fbc84f2afbc15508f3ba2a6d73b6ce1f3bbcdee91bc3323953b86f3a43bf642b6bb45057cbb927a083b1a3c023b7121eaba99a90a3c8a22e3bc2b5070bd76bb453cfee7343bee768fbdbc91dabdf8017a3c00fa4d3bdb14b8bd934cecbdbec59e3b52e3983a5d12b2bdab70d1bda0168bbb57c22ebb98c19cbd0e4ba7bd5500dabbc49bd9bb296363bde46a67bd8c98edbbdff021bc8e2a06bd7feeeebc01e4f2bb12b91cbc34a76bbc5ed511bc6c0d32bb57f003bcb881913b0dfd9d3bdcb3443bdcbf92bb830c703cf0d3d1bd0fbcdb3ea81e6d3fd4ce533ce67db2bda61cdc3e8e38633fc82d453cfc5c72bd3590d23eff7c453f5c03633ceb94ebbc81c7b83ea4051c3f00746d3c9827c7bb1bf9953ed664e23ee2dc553cb1734f3c6a41563e00d98a3eb43b6e3cc70da63c15c5fa3da277f23d0dd3f43b9fdfb43c7998363de758aa3b5c4c3e3bf0d40a3c8eb1cabc7e867abda5f54bbebdf4e73c0000000000000000325257be1778de3c00000000000000005b6338be81978e3c000000000000000069a80dbe72ed1f3c00000000000000008660cebd790bbd3b00000000000000005b7766bd589c5c3b0000000000000000109793bc43b5363b000000000000000075e1c73bf5dc923800000000000000004bc86b3c4b56553a0000000000000000d2b281bb012c42babb92b23a9764523c931e33bbf08feab91d72413c7f53fb3c51682fbbe009953b784f953c7a0c043d0bf3003b739b8e3b90bc9e3c9b51f13cef2cc03bd5899a3b3de5713ce0fab43c53e67a3b1f58c23b6064303c036e6c3cb4292d3b73644f3b7a3e963b5e04e43bb0e6ea3a24ac893a4564793a2c8019b90e46e1ba7920273aa82b69bbbf72a4bbb698a63afb3be9bb734f553b9c00333c6445453b42fe05bc6a074c3b4e18213b037da23bfd09a5bbe4fe663ba0ea61bca0369c3bf2b89db9ee5efeba952fbebc73a6af3b51424e3bf3bd02bc615eebbcdd10b63b8cc0ca3b6e3b03bc7c0dc8bc1f16843b2286e13b20c800bc597679bcb010903bc6319c3b6a55d0bb3e5a82bba1aa353bbb81b13a92869bb939afa93ba4340bbc9ea196bd4cbe8e3cd707363bc5692bbd32f80abec9f57b3c5c20883b290c83bdacf011be6dece03b7b69473be72e8cbd51a9ffbde03fd3ba019a80ba025272bd03dcbebde70418bc8943e2bb708e40bd049d87bd0fb6f4bb2cc51fbc93b1dcbc24df0fbd1c2eaebb4a2828bcb1f15abc3d6df5bbbc1274bbc27614bc59798e3b71c1eb3bfcbb513b03f1c9bb2255b23b68b159bdfc1d4d3e8dbb8e3f80a5843b1d451cbd81af4e3e54168c3f183b9b3a1e4ab1bc5207583e3b72743fa028d23bdd3a6dba0ab54d3e0ec7413f355e1d3c3f94863c07e0353e96de093fa14c293c842cac3c924b103eaca5aa3e9fd9293ce105c03cfa9fbd3d562e133ed634e43b0163963cec77313d4259ad3a8598a23a76a1e13b70bebebb5b6a9ebd443d5bbea4af133d0000000000000000627b68bec38e043d0000000000000000874f47be60f6943c0000000000000000d6c51cbedefd613c00000000000000008bbacdbddb71083c0000000000000000fb8072bd2c8fe23b0000000000000000bcf294bc0941953b0000000000000000cf764d3c66217eb80000000000000000891ab03cecf46bb80000000000000000c8be25bbba5736bb32a2203aaa76ae3cbf2b38bbf2c441bbcb78cd3b71c61a3d3e02e7ba6877023ba17d823cadf11e3d48f5b03aa7da4e3b8785903ca3790c3dfaa8ab3b65a0213ba73d713c8f94cc3cd836643b784d5c3becdd433c88df873c8c6d673bddac213b9683cc3b940dd63b86d2b83a61bf553943176c3be7771d39ea8bbc385924a2badbbd40bbace004bccdc1fc3ad74227bcc188043bd0c4293cd67749bac5130fbc57bc873bcd1f18bbfdd1283b61b598bb531e7b3bd81776bcc83a873bba6d75bafcfa10bb5527b9bc0dfaa73b4c64583bf5bfbcbbfde7f9bcd055873bd438c93bdcdddfbbb954d3bc98f0793b743fee3b73b7c6bb4afa98bc1b254b3b492bc93b0aa5a1bb0f37ecbb05a4503bc23e213b91c20ebb5d44a83be2e2913b0b95edbd4cb0a63cb4aeae3be59013bcaa1926be533ad83ca91f113bdf9b30bdc39c28bedfc1a13be0998e3b268c49bdd47015bed8791cbbd169a2baa15c41bd8e28dabd93e02abcfa65d2bba6191ebd296b97bdd9501cbc2f8b17bc921ecfbcc9130ebd696e0fbc6c652fbc27c370bc75a8efbbaf05dabb698f10bc54f7663b38066c3c9305723b457404bcb2f669bbe7b235bcacde97bc7e75ad3f29a357bbde084a3b0c9d003cd6439c3f44c166bb11d6143cbd023d3d24ba8a3f5b8f0d3bb889af3c9e37873d40895c3f3c4da03b695b083d01aea73d78a71d3f6dedbc3b1fcf0a3d4c53a23d27acc23ecaa9063c8167ef3c0818873d2f0c243e6e8bda3b22228d3c78fc453d1127343bddb9c93a55aa013c88eb693b33c7efbd7de368beebf3173d0000000000000000970357be9e5c0c3d00000000000000000d2236be9da98c3c000000000000000074ee0abe0e1f363c00000000000000004237bcbdc555063c0000000000000000d62546bd8e85ba3b000000000000000083c916bc10554f3b00000000000000005d98c13c85ae84bb0000000000000000038bc93c7f864b3b000000000000000000000000000000000000000000000000f96d64bbc9195fbb0e9d263c73ae283d8d53a5b823e681b97264703c61c2173d6d48943be15be23afdee843caced013dc9c4b53be4bf703bdb84623c00b6c23cd046ac3b9e7d8d3a5dd7303cce3b813c208b8a3b2956183b83dc8f3bdbae0d3c7647cb3af732913ab8f6af390e65f7ba00000000000000000000000000000000000000000000000000000000000000008019813b3e0626bc6031a23bcc1db4387f8ea73bd3f194bba24d1a3a773085bca3c9d33bbaab4c3a83516ebbce6ae1bc064ab83ba9816f3beea2d4bb1333fcbca35c983b0b45cf3b082311bca4fcd7bc23216c3bc1ecdb3be184f5bbd56aa1bc5cf0563b7768a03b460daebbd494f8bb00000000000000000000000000000000000000000000000000000000000000004e621bbc15ee41be62092f3cb525073c08d7eebc7b5a25bee646f3ba72cbc53a79b728bd6fb90ebe599f69bc775833bb9ef322bdc863dcbdb9c47ebc15fce2bbd476f0bc422493bdc0175abc7b3e28bc4fe69dbc577519bda3e631bcf99331bcfeedf3bb42d15bbbdc4b6ebbb9eb0abc000000000000000000000000000000000000000000000000000000000000803f806d19bce08bb13c987209be1384ae3f214a91bb7cd2fd3c009779bdebfe8c3f3d924bb97b8b273dfe6588bc5ffa633f347e033b415b3f3d9858e73b512b263fc170fb3b9fba333dc344cd3ca36bce3e8b3dd53b8117163da634063dc9293f3ea984a63b5e65b63cf86dc63ce7b239bc000000000000000000000000000000000000000000000000000000000000000077561cbee6425b3c0000000000000000918dd0bd43cd4e3b000000000000000057d4a3bd86f85aba0000000000000000a0725dbda24e853a0000000000000000362fdfbc2c0c9cba0000000000000000df660bbb88f9333b00000000000000003c0c863c56af403b000000000000000000000000000000000000000000000000000000000000000000000000000000009cd9a23c5bb5323c8a1c893c8386913b305b0d3d1318763ca603503cca53e83ab2751e3d76e0843cf564103cc09bacb93f690b3ddfef643cd95bdc3b3d123eba89aedd3c8987323ca7cbb73bd3c630bb061f8a3c586aff3b5fe4663b2f9f24bbf91faf3bea2e483b2810b03a90f299ba00000000000000000000000000000000000000000000000000000000000000002598f1bba7c511bca13cf3bcc3a370bdec2829bc12b3fcbb92b69ebd02c495bd48450ebc40fa9cbbc5c5d1bd2c699cbd1f49dbbbeb8bdaba1089c3bd6f378dbdb8c0b4bb4018e5b93170a2bdd5f947bd76b45bbb6b49683a3c3c52bd992fe5bc0b684eba11ad0b3a2e3ba1bce11bdabb0000000000000000000000000000000000000000000000000000000000000000e16108bec66650bcb670f83c4799d03c668ed9bd48af1bbc405f0b3d33abff3c5d73afbdf280e9bb0e1c053d806fdf3c74b881bd3152a1bbb157cd3c19c1a23cf57b44bd7f3b573adbf8973c565c6d3c958de6bc3781af3aeea53d3c4bb44b3b3aacd1bb9b28bd3a4b8400b9a39164ba0000000000000000000000000000000000000000000000000000803f000000009665c43c30713bbdc102a83f207dc6bd51faba3d6ef93f3d9955873fd95093bd7173103e3402b93d2b71563f448990bddabc1a3e9109ca3d70df1c3f7ada80bd9636093e8012a13d4202d23e42dc87bd777dc83d0af1353d6df9553e269d42bd3d00373defc0953bd3c8963c0fe6b4bc00000000000000000000000000000000000000000000000000000000000000007a640bbd098a32bd00000000000000003ade90bd255ea1bd00000000000000000ae1a9bdfca9b4bd000000000000000025d2a2bd503fa9bd000000000000000098a789bde04868bd00000000000000003d140dbd91e7cfbc00000000000000001af6543b1017073a00000000000000000000000000000000000000000000000031895fbbfcde863bcf22503c800d623bee6d643cf0102c3c6272903c0d56b63b393e143d07bf6e3c8f70553c6959313b17942b3d074e823c9fdc303ccb9d0ebb076b113dd1a0553cd623063c5777a5ba57b4f23c6f674b3cf019bd3bce0277bbfcb5913cfc26003c9cc2443b178c10bb0a72ff3b72968e3bd3ac093af29f38bbcc4034bbcd5732ba9bd6bdba65f9d5b9d33032bb11b875bb0946a23cd696b0bc4d160abcfba103bcf3b997bc5cc142bdb5b031bcc5500cbcb7e59dbdcad59fbde4f51dbc61ebc4bb6856d1bd949aa6bd5659e3bb81b73dbb9842c0bdef1789bd263bedbbe24b11ba6f90abbd70b95cbd5c0480bb35c99b3927ee58bd9a55e4bca40b92b93620d4396302e2bc964b11bceb3a193ab627493a550f823b8fb6013c2ca7acbddd5e81bcd3e12b3cc3420b3c6e1500be2e9c48bc47b0f13c4f62b53c49f3d9bd5f6276bc94d80c3d4db5053d5397b1bd095621bc0f13133dfc1eff3c777f81bd0ed21fbc8ea5c03cc40eb63c0f773dbdd728e539eec0a83cb6af833c3680d6bc9bf31fbaaa2e323cd269c53bb13eecbbeb1fd63a4a72093b274e9d3ab67d073cb1e4c93a5f2481bbcac818bbe61d51bc010f17bee607a43fee4f533d8064e43ccc89d3bd38c19c3fae3f5e3cf9d3b03d69d5663c6128823fa742ee3c93e90b3e037f7f3dc2284f3f8b04f13b62ac153e46e2aa3d65fe123fced79d3bd5360f3e3e0e8f3d96bfc83e383baebc907ac53dd2a70e3d725b493ea2faaebc2f8b653dea74563c2ae2e03cba27d9bb14a0d43b498bd2bcb571a0bdff0558bc46b1a3bc325fc1bb000000000000000018e467bd33f310bd0000000000000000147ea7bdeae79bbd0000000000000000acdbc7bd1f3ab9bd00000000000000000fa9aebd7010aebd0000000000000000a228a0bd521979bd0000000000000000be452cbd3b5ed2bc0000000000000000719b8bbbd70e07bc0000000000000000b8c58c3ca70e183c0000000000000000d9508dbb5848443badec2d3cf605023b6aef813caeaa293c07bb6d3c5ee5b93b388a0f3dc0dc753cae943b3cd6ec0c3b9bea243da9487f3c97291a3c93109d3a64e90e3db3765d3ce470003cfcf692bab2bcf03c4aaf3d3c3edec63b1a792abbee49913cd914e13b55a5803b46c116bbddcd003c1d46733b5ae9503ad5dec1bad842ffbabf2ec4b97086aeba73fd86ba3a57a7ba28073fbb4a0a9d3c5ffe7abcb29fc9bbb7c2f0bb8bc4bdbc5a8f4abdda8becbb37040bbccdaf98bd50c29cbdcab826bc9159b9bb1150c8bd5c5ba2bd0dacd6bb92c829bb00e9bdbd7d1a8ebdd4f4d9bbaf0f72bae4f3a6bdafe257bdc28a5ebb75afe5b82fe455bd7868e5bcb909e7ba2ae2d1398a9dd2bcea2410bc55a1803ac944333a01de113b4287e23b37976fbdb45f8fbc9901ee3bbbd3cc3b6b4ad8bd0e2bdabc9de9af3ce456be3c0c42c6bd447ebdbc5780ea3c2bfd013d62c2a3bde1e18fbc59bcfd3c3099fb3c3e786dbd16eb5bbc2997ac3c1feeb73c03fb36bd04a0d0bb085caa3c3c08873c4eacd2bcdf21beba4b32163c9148f33bbd66e2bb5c66dc39ba05313b62418c3a0a50bd3bcfb9243b5f2571bb058edbba0cf2b6bb39801ebe8f0b8a3f1e23733e876af93cbc4dddbd80138a3f716f4f3ec416a73d8ea0a93bb9b3673f1e36303ec8f0053ec1fa623db6aa393f3cf1f83db829103e048a9f3db64d043f6eacb03d2fa1093e7036813dc726b93eff630c3d5a9ac03d54f9003ddd903e3e11f1033c6690523d629bad3b9c3b123d7bae8fbb1e9de13bb0cb9abc09225abdd85e66bc6bd04cbdcce972ba0000000000000000dbffa9bd019a13bd000000000000000034cfcbbdca6c9abd00000000000000005bc9e6bde22ebcbd00000000000000008387c1bdaec5adbd00000000000000000f45b8bd455f79bd0000000000000000e83658bd69a4d7bc0000000000000000a49f4bbcd4b7b2bb000000000000000098111a3cb715f13b00000000000000000d6352bbf0cb523be9bd063c52c37d3b7371893c6b82093cbfcd653cda93e43b0302103da6195b3c5167503c23440c3bafb8243d1f6e753c19d9183c4f0aa6393a2e153d5dbd4d3c5490f43bdbde6cba2f56f73c36ca343c59d2c23bb89457bbcc81943c2b9dff3b7527163bffe60bbb6f5d033c08855d3b0e74fc398dbfc9ba3d8acaba0564eab8d3fcdebac03e55baac09c6b8cffc62bbf6e08b3cb0b695bc70aab8bb5dfaf9bb754cbbbc69654ebd503fe8bb9ae610bca1bb96bd771b97bdf8af14bcc2f78cbb41e1c6bd45da9dbd7f3bd0bba5d73bbb1d8fc0bd59988cbd9410c7bb89c391bae82ca9bd32544ebda7ea5dbb0a8e6139b3ce53bde13cfabc1f65c8bae95a123a4e9ad5bcaf5611bc464bde39a11b523aa013183b0b58c53b5a4146bde329d6bcb2f673b9bf341e3cbcb5b7bd94e221bd11a0923c098bcf3c274fb5bdd7c208bdce52d53c5d900a3daf3398bd4f70c8bcd4a6df3cc185f93cf87d60bde6eb8bbc1457a03c56c0cb3c02a431bd89c906bc34a6a13cb8048b3cd0a1bbbc311486bb462b253cdde6033c6742d0bba68f543a39a6263b741d7e3a9897bf3be3483a3b8ae053bbbb10d1ba2bf834bc1b1e07beb7f1613f77f8e83e846bd93c2dffb4bde082623f72b1d13ed5519e3d8bb5343c78dc423fe4f2ac3eee13003e715d763d71b71d3f3c5a7f3ee3cd103e7412ac3d318ce43ece882e3e8e34053ecddd843d1111a03e6679c83dad6bc73d41460f3db8b5273ea8b01f3d48554d3d4777833b07fe143dae5e3d3b489ce23b9e5eb6bc0f6e30bd9189c1bc0e3a9cbd4bb5fbba00000000000000004026e9bd488a12bd00000000000000004fe3f6bd2acea2bd0000000000000000536404be3fd7b7bd0000000000000000b3a4e1bd8781b7bd00000000000000000889cebd4abd7ebd0000000000000000119585bd543fe4bc00000000000000001a14a8bce20b05bb0000000000000000ddd3993bebb5283c00000000000000006fdd35bb547d0e3bbd2af83b7e519a3b43b5823ca399023cdecd623c9636d03bb35a0c3dc1ce593c9c0f363c5717983bf8a9233dd419603ca4672a3c5f3d223a588e0b3dbc5f433c4a41f53b6576743a2da9f53c0c393a3c8846b03bc1aa29bb6b3d953c61b6de3bec5f3f3bac17dfbae1ca0f3ce3d0163bb21c9e39aeb1f8ba1aa623bbde63d539c6acecba0e2220b935752fb9a7e35ebb6ba9893cb20781bc7bcb30bbf58309bc5313c4bca6533ebdf23103bce38bf7bb7a0094bdc2a193bd793ae7bbc0afc7bb1a81c1bdc11a9bbd59fbc2bbaf030ebb3945b8bd600085bd8dcabfbba158bdbabffaa5bdcaf64fbd870d6cbbc87e6139d52255bd80fee8bc6496aebadbcee03a0904d1bc04000dbc4d9a3a38069e173a4448403b6895ad3b893f23bd8ff00fbdf75dcdbaeedf343cdb84a1bd222253bd85bd6c3c90d2d83c45a7a2bdd75f2cbde16fb43cb5a2073ddc9591bda6c4febcef7ec43ce3fb063d4ac857bd8574abbc15b3873c6289ab3cf37926bd4cb955bcb366923ce2279d3c120bb6bc17dbadbb85cb223c0cd9dd3b46fcdbbbd34e583ab9ce373b59e326ba431fbc3b88686a3b51631fbb6ae51ebb9abc67bc2521dfbd2cc32b3f148b2b3fbd14bf3ccd6080bd3aab2d3f2b70203fc747953d4b32ec3c62b4183ff220013f7b46f43d0371963d7514ff3ecab1c23e7563083e1b77b33da3fdb83e9015873e9901033eb9f8953d4054853e1e67253ecb13bb3db0291b3dcc4e0b3ef43a9b3d9e73483dc280003c13180d3dfa5e0e3c0518b13bfae8b7bca99b09bd7f8cf8bc5817d4bdc58320ba0000000000000000d82a15be6b2b15bd000000000000000010e10bbea9389cbd0000000000000000d2c014bee36dc0bd000000000000000086bde7bdfbe3b3bd00000000000000003a26e8bdb94986bd0000000000000000082b93bd77cddebc00000000000000009100e3bce48948ba00000000000000009cb5a03af2a2563c000000000000000058f248bbff0cdf3a5ec1e13bd744973b18fd783cda79f03bb9995a3cc4e2023c962c093da77d3b3c83d5503c16dd9f3bb6f0223dceee5a3c3c5e1a3c2609153bc0860f3d525e553c3ddbfc3bd43abc38b0eef43cbe1b313c64fe963bd0f61dbbf2a2983c0c84d63bc45f703b53b408bbf0bc083c187b4c3b4de51d3aae9585ba6fd6afbae12456bab4b176badb3be4ba694fdb3a07726bbb0885763c36664bbc650e0abb84ae0abc7d65b8bcff902ebd1009adbb734719bc9aa98dbd4d5388bda253f0bbb060b7bba445bfbde8e693bdf444c3bb66673dbb7bd4babdbe7a84bdf50b9abb1ec1dbba179fa3bd6b4c55bdb75b71bb6cb2d939903a53bdb017ecbcd817fbba8ae1af39b930d1bca57e21bcb6a16c3aed70683a6b70363b4b10d73b2373ffbcbe6a35bdef2192bbfa89463cf5368dbd182885bdf5372c3c5205e53ccbb69abd23e65dbd97d79a3c722d123d80668abdad021abda41eaa3ceb21083d3cb455bd7b6fd7bc9f6b813cb21ad23caac112bdacef6cbcce5d823c042d993c1cddb7bc0ce60abcc76d3d3c3b24e43ba53a9cbb1db830bb6689923b7ae3913a1ab7753be467953b36ea3fbbad91f0ba373b54bc4932a6bd5fd5e83ead07623f32309d3cfcb117bd35bced3e2835573f6f818a3d30e8363d5390df3e16fe2c3ff67de73d491aaf3d28adbc3e9d4c033f4f2a073ec85ecb3d4a4b913ec98cb53eea6ef93dd28eaf3da1754b3e4010663e5934b83d91713a3d5cecdb3d7b1cdd3d18443e3d118c503c8d7be73c860c753cb11a953b25a896bc4555e6bcf8ce1dbd044d04bec3a4c3390000000000000000f7672ebe47be04bd0000000000000000a71220be0075a1bd0000000000000000cc6b1dbe4279bcbd0000000000000000c64c04be76b5bdbd00000000000000005b8bfbbd596583bd0000000000000000d945a1bddc87e3bc000000000000000082a9efbcbc19d3ba00000000000000006ddf32bb51ec713c0000000000000000e74d82bb6b45bf3ae763cc3bdf10c83bc04b653c4314cc3b62fb543c41861f3cdca4023d268e453cdcc5483c790ab83bd9581c3d3663573c577d223c0efd463b1aae0b3d80b5443cb4a2013c6439893a4641ee3c2d202c3c2d96bb3be2a5e5b9b491943cd337dd3b8a27dc3a338bf1b95c030f3ccf80353b1ba7253a6a7c01bb891374ba2c639cb80ec208bba8a70ebaaf611f3b4a1292bbead3543c1adca6bb3b5536baaf2611bc0b51aebc45dc18bd84b098bb03720fbc200c8bbde46382bdca39cabb227ed0bb05b7b7bdbd0f8fbd3825b2bbb18a2fbba1e3b2bd866b7cbd941fbfbb3cc8e4baca509fbd20c848bd6e085abb7525cc393a314dbd9ea7eebccb5dd9ba5cbc763ac0c3c6bc6a6121bcda77b4b94bc0c93aeab2d13aba1b863bf3c9babca55b60bd7f876ebb93154f3c0f8a72bd9c61a8bdbb87193c8a2ced3c2e288bbdae6b82bd5385683c9693133d51cf81bd20253abd8d8a9a3ce156073d452d4cbdecabfcbcc47b513cc352c53c671b1ebd2792aebcd87e883c9efda43ccebc9abc456c28bcead92d3caa5ab93b86e3dbbb8fa49cba74448a3b13b0813a5564b13b50268e3b11e605bae40d93bb8cca3abccd5560bdc207743ecb048a3f09458f3cf32d0fbcab4b833e4765853f2297813df2e1743dc9aa8b3ee351553f9094d83d045cce3d8dda7d3e66c0223f2ceefc3d8d68d73d85214a3e6e2ae03e1c1bf03dd5d3bf3d4f56133ed3b1913ea182ac3d1724633d1039923dcc590d3e1568343d856c993c8b91b83c5ca08d3c1532313b03a938bc80b89fbc69f947bd33fc19be20fad03b0000000000000000ccc442be3b0dfebc00000000000000007a9025be10c799bd0000000000000000f50027bef5aebebd000000000000000089a901beb2f7b6bd0000000000000000863a00be356989bd00000000000000001e35a1bd253be0bc0000000000000000601afebc90b9a6ba00000000000000002fccaeb86a8b823c000000000000000079e381bb6efcb0399515fb3b5091193cfb79393c22d58b3b54f95d3ce74d483c8137fc3c35fb2a3ce5725e3c3018d53b9907193d1aae603c4a8b263c53626e3bd3840b3de589423c1362ee3bcb7a323ba075ef3cb041333c5720bc3bd92a6eba327e943c19bbd93b97432d3bbc958dba08251a3c3f993b3b97832c3a561accba388321bbde5540b897d7f6babceaeaba5ba1383b18dcc1bb126a713c418b57bbbedaa43973621dbc94839cbce512e0bc60ef2cbbde1e20bcfb5583bd6cf974bda539c8bb0e9cdebbdddab4bdac2c88bd8f829cbbbbb354bba2b5b1bd7b0d7cbd5ab395bba20c29bba40e9ebdb67345bde8fa7ebbe8180c3a8a044bbd3aade1bc5ff17eba74dec4395a9fd1bcfe964dbc7b30003a1da0b03ab8f0963bf7b7bf3b5fd1c7bc5eefa4bd5412a0bb18c9823cda553bbda024d4bd152f203c180a013d49bc7fbd87e29ebddfc2583c6bbf123d7b2671bd68b564bdc1db8e3cde9c0e3d9a7944bd7f3b14bdeb8b4b3cae15c93c8ca011bdf8f8c9bcb0cd813cd3be973cf1b79bbcab226ebc3c023b3cef62f33bb1c689bb1e8130bb28dea03b41ac50bacda5a93b40abc63b2bb61eb96e4496bb0f2295bc3ef9dbbc0d7f483d2f68a43f4bdd873c6d0b403cbad5883db50e993fafd86d3d74ca9d3dc1dd053e0da8753fb2cdd43db8abe33d185a0a3e4eb03b3f944cf83d01c1ee3d1e46fa3da2fc013f3b05e93d0b68d43d9b20b63d0685a83ee654ad3d1cd87d3d56383f3de130203e491b293db79fe73c09cf963cf699613ca1392a3b96241abc5452babc88029abd407714be9052cf3a0000000000000000de603abecbb40ebd0000000000000000686c1cbe4f179ebd00000000000000005b9c19be908bc9bd0000000000000000d3a1fdbd61e0bbbd00000000000000002f20efbddc8e8fbd000000000000000099ed9cbd1fddf4bc00000000000000002ea5bebc6be9e13a0000000000000000de5d14bbc0dca33c0000000000000000000000000000000000000000000000005247523cafc9a13b665a673c7fcc4b3cd4f2eb3cc6c4303c5e33473c0886003c6edf143db09c333cc46c263c8caf733ba0c8043d857a443c5f080d3cd560d33aecfddd3c0703213c2967ad3b78c2a03858378e3c32aedc3b8bb5463bb83931baed26dd3b909c183bc400933adca083ba00000000000000000000000000000000000000000000000000000000000000008edd1b3b8f8520bc680998bc39b302bdf3b57abb475206bc968283bd77d85ebd505151bbd5d395bbe1e8b0bd75d685bd98d583bb3da848bbc36baebd8c966abd9fa482bbd464b8ba883997bdef2f43bd908728bb9c26e7390a2147bdbb25ebbc657797badee8ac39f70aa2bcfca903bc00000000000000000000000000000000000000000000000000000000000000005d494abd8106ebbde00e413b2514f03c08b860bdecada2bda9d8433c7607073dd5f057bda65477bd4ec0683cd664e63c8c633bbd574029bddc91323c9628c03caf99fabc2a0edbbc7517603c3cc6803c29ef8abca8e986bca8ec1a3cabb4c13b3ed257bb9b9c90bb12298a3bb674d2ba000000000000000000000000000000000000000000000000000000000000803f4d77a83bc21a063d8cb743bdf44aa53f3d78763d9500b23d092bae3c5851813ff8b8cb3dfd34fd3db2195b3d678c473f0f47f73dcd11fc3d67e95f3d17f80d3f76a7e83d471cdd3dbee6203d1815b83e94baac3d41de8e3dd10a963c5c11373e745a183d39eed53c81f68ebb694e583c0000000000000000000000000000000000000000000000000000000000000000734bf8bd43cc22bd000000000000000054a7e8bd8fbfa3bd00000000000000000a41ecbdda53c5bd0000000000000000cca3d9bd6b85c0bd00000000000000001045cbbd604296bd00000000000000003c4184bdddc50bbd00000000000000009ac9c5bc46175a3b000000000000000000000000000000000000000000000000 +//!TEXTURE ravu_zoom_lut3_ar +//!SIZE 18 2592 +//!FORMAT rgba16f +//!FILTER LINEAR +00000000000000000000000000000000c6e5233672c21636ef1d2536c2c12436e9284b36ec8a103633985b36fe9700375dfee23534dcbf3511efe33579922b36292a8236dcff09362ecd9b36c5a77c37574725367d90253624892e36c1c335378055563622c8f9355ff02f36220e3c3726377b361c3cf135e51f2736a5dae63600000000000000000000000000000000000000000000803f0000000000000000739e2136fe567f3f2a51b5374a508c3663e63a377e7c533fd71cc237d55831372b933837cf6a2a3f10c0c837d5a88e3657a79f372ee3ff3ec33de23783267437397a8a372d3aab3eb5aec637a4c825375a6a53371464303ecc5d9237ad141837b7837836fa44be3adb8d0d370a0409360000000000000000000000000000000068e47c365b146136b422933657a057378f3f1f3615330b36c8c11f36a780233632a90e361270f635b3fe0f36a9b51136dff91435a6e7ff3414422335ecb92535b82d0c3614fc003647eb0a36981e0936ec8bcf359552be354f38d4351c9810372c5232355e712c357dea3e350208433571f43536541824363f5d36369c4e393603d47936bc5c823636cba3366f2cb0366dac453670d57b3ffda6843c974e1737a6e20c36e5c2723fcab6043d88482d3608c40736c0b04a3f412fef3c2f9d1636006e0d35bede253f3ec97d3c57872535081e033686d8f93e33da383cf07910368cc5c83529a6ab3e75a32c38bf35a9365c952e35ac42373e3cb30337cbe24235b4c81a363aa5963c62c45a375df4363635803e36a46a9f36a85a8f3642068b362acf9036ba3e903648749e3686ada936ad6fe535e512b835b5f9f135125610366f4d113629760136d4bd0e3674643936380b3536ccc32736a98e3736e9e43936c1948f356f8f8235be309b355558993599fd4536d9ac40365f88473670734736ebc94736fbd82436af37433636a93e37c073373529c03b35f3c93a35e45b3b352cdabc360a14ec364ec80e3792bb133795ba4636092c523f843a373e683d9136157ca935299c4d3fca783f3e189c0036f853053685902d3f12742a3e6c502636c1482e3669050e3f97fbfe3d64353b3672128735202cd23ee841b73db80499353743423659a7913e66d4133d89444a36b5c52a3661ac1f3ed6ae233854165636a39434355b332a3c24b198374d45393565fe9136fbed5a37c8263b3725b0a2369be3d036ea03d636e70edc3660a7e0368f80dc35b3a5ad35e1f5c835a1e5fd3562777035c6cc2535557d3b35818ea3352cb21e36d2031736147f1e3639822836afa21d36f1a94035098553358e72ab364bc76036e2f72536a1222b360250f63676a28536657b3c3666a7733666d5bd365bc0143671410e3622701b3654f94136ce1ae43639fb02377e05073745101537ab4ca9368fad293f889aac3e9e21be36c992a835713b273f93d7af3ea150b63544cd2635aec30d3f55b7953ed0e9463563a8193641a8e53e3e526b3e003f223678da3b35a710aa3eb8262b3e9cbca9352230233613ac643e9bf7c83d4ffc2736a6c22f368560f13d5a270f3dd7a76036bf0aea35032e463b93b4cd37da6b0036dd849e3522d39837d576703730b4ad35fee8ac36e95dab368191ac36badbb13666cb773637477136794e703626137b36088ccf350864c8356550ca354d10cb35b7bae935cb71e2351e98e8358b50ee35ec67413724ff1f366b33303635bc673779a6ee35af01eb35f5baee356290ec35e31cce35bd10ca35d799cf35e8dcd13523a1f536347e8936f9e69c3623a6f8363835e5360e05ec36ce55e3368edfd73654a59836f807003f64e7ff3e827199364a0266361200003f97efff3ed46e6d36631cca35c429d73e0670d73e697bc735709de6356835ad3eec1dad3ea9d5e935bd7b5d36772c803ef79c7f3ef8a98d367a33ed35bc2e263e2524253ec034ea35fd56cc356485a33d36f8a13d2acbcf350e9e853682fa3238e219253879cc8336cc1cb13673668137b7bf75376032af36c508c3351a2ab835baeaa635cda3a83590dad9358ddea63525238e35d981c7358e37313657c02a363c2e263615192e363c4a2636310c1f3671d51d367d0d2436ce329536ef074935bbec453508575c365f90933641092536c0d02036b06f4b3671063a36cef9b03570389a3511edf835de007d3656cf2c36f2e52136d3c837368238f33618f3ee369b9bec36c281ed3623510335459dad3e7f2a293fb1d2d234d8ab95358a19b03e0d2b273f2f5a8335fecd2d36fcc5953ef0fb0d3f4ce82536718c2336678a6b3e3ba6e53e2eeb1936baf68735255f2b3e85a7aa3e5c523935946f2536eaaec83de6fd643eaa582036ea6ab03524dd133dff10f13dba628135c9c4173660cce1374388563b349408364c4de03695844d3728286b379efbd536d59aaa36b25ca13674459636b5079b361c20343516882e3572dc2b351153303526283d3689bd103645e2ba35d5e020365c0c48362da04436a9fc3b36a8524336b67d9f35406d96359c858a3540018d350c655f3646ec40362f573a36051a3e363492ee366b7e4c36301126360e965236de2ab3360b512636d1f71b36b00e1e365cf3b036426dae36c822ad369923ad3635268f365072363e1d5e523f0f855536d97e3235155f3f3e977d4d3fb47728350bfc2b36e19d283ec5e92d3f67e6f835a9bd46367e78fd3d863e0e3f773e3f36b8a89c35bd03b83d5d01d23efe2c8735130a423613d8113d98f8913ef7ce3736ac27633687181e38b53a1f3e15482936213c1d366c0dc1378fcb203c9cf00b366f9aa436cac2ee366ebe2b37435a91363911773666c1553628952336d2783936364d1a36134ae83515ce86359f93d03542b83d35be3d3b350ea8223569663135f1c1d435ec17ca35359cb135f644ce3502961036ac3e0f367f3b0436af370a3663062735657a2735f8061a35b5b61d35624a18362209133677f41136a8121536c541d736a6743536039e34363ee42e36869c6d37c346573771403f37d9e136371f05693673b88d3cf5907b3f6b0300361ecc1c365679033d5b11733f52d09d35a5b142350a92e53c3eff4a3f13c92835c2e408365a698b3ce3cb253ff7bbc135b9840f36b690433ca040fa3e46d00636c01f2935761a0138454cac3eea91173581641736f8e30b37084a373ef0ef1136c87a3436519ea9370df39d3ce7e62b36357b353726a35a3721c97837ed93853600000000000000000000000000000000fd31ce35d818c335f2cf9a350005c4354c126b36e61bfc354eebe0351bedf535fafcf23632482636760d1c36197226360ac85837fe6449365cda0736429993362d679736d43a06363098d33559fb0c36e6c66e37dcbcb33616055c36e0f00437fd283f3754e2b136864691369b0cfe360000000000000000000000000000000000000000000000000000803f0000000055bbdd35c84464377e9b7f3f72b6c035b619ef36143ada371de0533f6f710a376a611737ef62f337e35b2a3f14d38637c5ba6637e65ce037be03003f23f2a537172db236ba34b637781cab3eac643337fd9d5a379d14ac370ff8313e7aeb7f375f0ec636a9277f37dc36233bd8ed133700000000000000000000000000000000000000000000000000000000000000005f3d2f3623af2b36d1a35036c47b7c36b342953647e393366e85a936fdc36537eb26063689a504367f2fc836c8255b37e2ff5236c2f85036b621cb364eac36370f4432364e182c36dbcc40367e7957361caf8c36d2237d36da7d0c37f540693767174f37540b5e37811c8b37ef53983700000000000000000000000000000000000000000000803f0000000000000000297cfe370f256d3f59666938bbbbc1373a9fa43866df473fe79d71398d441238678608386e0d243f9cb3113894e4ea37a071bd380fc2ff3ef7f86539ab93c637fb1e39382173b73eec56523876d11938d3f6f037bfab5f3ec37f0838390bdb37d958ba37225d983d4a3bd6372d7cba3700000000000000000000000000000000ae03f33550e82d37397c5b3734065737354e3e36f4e93b3608ea4136527b41362af1b235e3e2b03526c9ba35d084b635fdcb3636ef573236e2c25536ce6607375bb6f0358711f035ed48f535d04df235c9574636685e233629a270376483bc37767fa235d6d8a23500966f36127704373e40a736fe36193721ea913735959d37fec00537829c5137bdf07937c01d5f37ebe6b6373ce66a3f7c14a83dd60bc7378bb3b2377937573f7c95ac3d583dbe3716790a383fd1363f70899c3d08d2be384f65073890d4163f0564753dd624ed37211fc137fd08e93ef247363d68a1ae378f5627388391aa3e23579e3c7b43f93844b2a6373c44543e5f041f3826ffc637ff9bb0373e44983dee763838c807e63733c2223719bfed370f8fbc374e3b80377bc1703602d9ac366e26bd3696deb5360b0f6836fbd17f3603a0a9367ce5c336e5ded935622bd73551af013674506d3683c8d2357eebd035416cd4353ffcd5354a3c04363de60036668596366adefc365ed3f1368b3ef136df634037be627137c095a4353e09b835f2d93836c9355a36767308371c4052371dd8923790dd873738fd9f373c2dce37f902db370ad4c73709bdc336424f473f948f623e7fe50d3736d75037425f383fcfe15a3e650591370187f537cba91b3f95b6393ea7f3e23857eb3c374ccd003fbb25163e353575375109c237b56fc73ee9eae43d55a6e5374f1eac373aa2903e9f578f3d0c1ac2379cbe5037c375333efad80e3dbe988c37e4f9543790f1853de9e77a3a7d16a137a1aa923780bf1138522206382ca1c237935d5c3759308c37cada9b37059d663762da3d36ffc4563656ea6336bc9c5e368d8f43366ecc4136c8674436e1b54336a0008836cbfc7c36d038bf36caf7e536e54e2e3646b62d361889cc3684771737269a1a367bb811368c0991360f28b636025f5f366830db362f4d3e37e5464d3743c15c37c9d498379e37c2377a9b9b37c0d18a379132cb37888fe037f403b2379f957d37669d233febabb83ece9d8c378b0424377412183f8ce8ae3ece325b37a8af6837a483003ff09b933e49a08f3783186237e6e6d33e01f16e3e71a2a037179ed0374d68a33ee844383e2c3eef37cb03f137105a693e69aefe3d27b30d384378ab373a380e3ee84f8e3d8e9ad93828428d3783ba4a3d6faa703cccf3bc3775126e3702d26b391c5c37396a37a437e784123650256437d40d7f3708dc973643958636f0468736387d8836eb708836c58217360bb11636ed6c283628664536fdd645365dab4436b6144c3685c75136e7c13a372eae4a378f176c3729297f37d8ba77366aa66b36986b81369b8da136f303e636b9daf5362666fc3679cff936c7b47d37d480a837fb99b037785b8a376e8f6c3719dd093951320d392710723703553237b96eff3ed5e6ff3e21ad3f37c3ee3037b04ced3e3862f03ee825483761ccfb36825ec93ee584ca3e1f651b376b189e3728b0a43ed623a63ec64cae37364ef2378a927e3ec1a5803e9a8b01386f5aa137bd60333e45df363ec099c03727b75737ebf1d43d234ddb3d454c64371bb393371929073de3d90a3dfe799e378dfd4f3757dad939afdefb39d8346237cb11b736b2618a3763a79f37c208b6361e05c436ec31cb3630e4cb36f3aec43656c1c1332f46c833785bc8331626c53358930736ca180836d78d083665d4093679a5c6365a41ab36d50c9936ce9dc736af1a0e3718790737d09afd36f01f0737b05f213780493637887e2537aa60eb363750913797c7dc3859a3ac377e9a7837b201b2379cedd53710e8d03749819d377cb86e37c336b83e6dbc233f6797583718463437f8f4ad3ee390183f8b742f3781a38837ef9b923ea84c013fba50963769d4d137c38e6e3ee149d43ef6c50938cc57db3717ff363e78e5a43ef2b0f03709c481377fa8f93dfc566c3e8cf4b837462ead37208c893d74db113e0d4ea3379be3d23710aa3c3c807f573d0946be37ad299d37750406383dfd10388c78943795e95937653f8f3767c892378c604c3717d9e735780ee8353132e235a1b5e1350144a4350663a035e71b9e356a7fa0350daae236c22fd5367eacce363c0ad23645c8a03639a77f3634f92636a7407036390fd635a266d335387ad635fadbd43597f6a137ae7a9937569968378ef14b3788a2ab37b98fbf372ed9ae378a8285372c3f2c37be156537f4d44a37fd03e1368b9aac371dd6613e477e473f92cb9537837422376fdf583ee6c2383fae7b2a37d5e821376df8363ee1701c3f055e5d379f58b037f112123e6639013fae0eba37319c9e37fd44de3d71b4c73ea870d63744dc5e37c6df873d334a913e34e76a37749f9239e754093dcd94343e3af66c390d26bd37ae93453a176c853d8875a23788fe2337f31ab937308ff637fbb4da36bdca7c36de8f3336dead9936e2031036d8114936bacf4836da674536ae424836f8529f35416e9e35b42c9d3574dc9c358fea2437f4990a36fbc53535470542352a48e9357a32ec350431e9351471e9359dd83b375d8605375adc5d366454cc365cb29f36f00d8736c1921c365c41393695858e3752b98537427e3237a3aad236e260b8373c14c4379aecb837b8788f37283e83374219a73d95116b3f057e9737e408a437326ea93dddbc573fd4aae137742c95377218993d07c2373f5309c837ca6c2038f11b643d2d5f173f195d6b397fcd82373d222a3d96dcea3e31b9ee37980ad1373e317f3ce69eab3e32a312380f49f138885d4e3a3835553e636c25394b35d2378f80f738841f993d4fe5b737c878b837268aec37b0aada383e729b3700000000000000000000000000000000bbb944361e454436cd6f4136cad94436794651364e274136bf8c29366bdb3b36c4503b368cab343603471e3663b62d36872a15374482a7366b0b5036fa5a9e3608c8823707792a371143a336da652137ba40be37643b99371d10613744ef8d3776448d37f6e7693736e23937863647370000000000000000000000000000000000000000000000000000803f00000000313fa537baf5fb37abe76c3f243eec3788d2c4377eea1c387103483f0c196b386f430338e8ce5e389e33243fb9b978383d0fbb370c27b0388be2ff3ebc556739fe5eda37a64102381cc4b73e025a043879330b38e40829385df95f3efd582d387882c737b9d6ec37035f963d65a3e03700000000000000000000000000000000000000000000000000000000000000004dafa53731d3ce374c8ec2375de6c237e2269d379c07ad37f86dae373a05b137dd56d0374956d437d2c6d6373d28da37fc01903973a7a039bc0ba839f1beb639b45993371818983707189a37f6f69c37c27838399ba571396ea2863947d48e3904d6b539f1fedd39ad3dd839188dd63900000000000000000000000000000000000000000000803f0000000000000000cba1023aec37623f3994413a3ce6e93968bc393a4592413f2a237b3abae2273a26a0e139567f203fb39d2e3adac2cf391260883ad459fd3e92229d3a1569803a22c31a3a3b83bd3ef1ab543a055d1b3ab7b2033a1cbe753e02c6133a5f8c043a240e0d3a8260e13d346e213ace79143a00000000000000000000000000000000dda65f3835328338ca8f8038aa7f72381887e936cacf72378de26537392845374f7bae37db25e637a29df837f20ffc37915cc2377abacd37730ecf377131d0372e03b137cb66e737fecb483846ae7c383c0dd237f147dd37306ade3762a7de37ae050639db9487397a06833987e46f39907d9a381a2080394b5b5539dc6216399a0af13785902e396faadd38cf2c3d38e701fa39531f613fcfbeef3d7c8af039e832e339434d483fd13ee43d5769f339d01b4e39b0da2c3fd214cd3d72607739b94f413a7f180e3f11b2993df0fa523a96fc173aa3aae13e48026e3d310f253ac668b939f349a83e9cd1213d9aa5d039afd8003a0d985b3e720da93c3a13163a3b668f394669d53d6f3ae8396c1da439a1e5c238e4f4d439f9e55a39b4a6f938a66f9737238e3039a5a00039fceee937319266374b24a0377be29837e16b8437e86da637610a0c3989bbe8388fcc7338e0df8938e0bd673991706c393c763a39b2574e37de19c8379c9494376ce684377b83b9385492803961866c39cb902e39eebf8038b0076d396a665139def70939ec54e9389b04043a249afd3990ed413995870c39c71195397f16763979ab113994b287393db2403f39237a3eddd08639a2d89c39f30d2d3fb1a0693e6b54b739bf51233a944e123fe08d403e60761f3aee5b2f3a88dff23e82d01e3e7e492d3ab862143a98fac03e26b2f83d895c1d3a0d4f0b3ab2618f3e2c09b33d69c10b3a75e7e9395c7d3a3e2c3f623d7e68283a11edec398ac3af3dc2cc9d3c67a3ff395ce44939c7012b3afe27e6397f0e4c393d3f2a395b64c3390102c339c34e7e390f3fec3645044b374a664d37ee4404375f78ce37c51f05386c13073850a8e637a840d4376a57e03772f1de37d986d63709dea938cfa85939d903773939fb3e39a7a328390175a939f436b3390f4a76398f03ff385b32a3391feda9391da85d39be9fca3924cb443a715a423a3086f439af96fc383efe9939f8ea953937ae2239b3d5d239dace1f3f727bbd3ea22ee03900282f393ccd0e3f142aab3e2ac87339f3b8b7399555f43eaf28923e1980d639040e7f39c4f1c93ec9b6703e3e16a4393bd5fd39ac2aa03eb8933c3e2a110d3ae5820a3aa2a96d3eab530b3ec907173a8df2c739ccd1193ee9c3b03d4afee339a6090c3ae38e8b3d0278103ddd7e183af1b62639935ee9390551c83919a14a39b3e40a383d2f4d39204c7f3956a4223847f5583752d188384996e1383f497837a3ab15389942303874f03438058e2138c07ad9379062e537ab49e437d5a6da37e048c537e85dde37dfe1e3374127ce3728c0e33747a8ee376d0cf037a92ee637f2a33038563ef1385bb41c39c9223338705a6139cd66183a9bb62d3ab59a713908b589385830cd393da1d2394dfaab388ae17d396e00ff3e8a39ff3e9e3088392c9aa939e391e33e51fbe33e9aebf539d2769739c090c23e8adec23eb4e6bf398c1f293a67f5a03e7181a13eac77483a9a4aaa395c447f3e02e57f3e647bd039f892153ad4b33b3e12763c3e64a32b3a1d129039a399f23d431ff43d03bda8394c54ab390d885a3d502d5b3d48f3d83972631339a0251d3a5f41233adcbd2a39833bc53759022e39722d6839c543d53761c24a38599d8339694aa3391c9a9a38ec348337dad1b13733b5c73769af9737e7112238bd9e1a396f5e53393bc28d386a1c1d390a7b6c3948878439c57824392edbd9375a2ef837fb4e02381414df37f7ab2c39504a953996e19f39ccd31b391382ca3869bb9839382cad39b1aa6138469fb2390e99f1390e5bf839615ba73951da6b39d8c2bd3ec05f203f26557639e538103add04aa3e45280f3f4cd81a3a938fc8391a5b913eae2af43e3604db3930690b3a43f46e3e281bca3e0269173a61ef043add943d3eefeda03eff3f073a79864c39c3020b3e371f6f3e59d180395256d0399202ad3d6ae1193e7821cf39e13961396d12143d94998f3dfbca3b391403c239b77f1f3a03ac433aa594ba3905f1f4373ff904395e0c723910e86338b9986837e0c380372aa4e137cfe367373554dc372059fc3706b50a3859f1e6374156bd3775299038eb8d1a397c19363888c4543702418937eac48b38a64a793788437f393284a939d2ebc93932718e39d8bbc039bc8bf939ad810d3a535dd03967f59c3906e8d1392c15e8399bdb7d39129037391f179139724fad3921f82d39820179391c3c793e32da403ffe0a9b39e5c40e3a2241623ec1a12b3f0cc0323a04b3123a0e3e3f3e1095123fa49d6e3a68d3043a70a91d3e2364f33e2e611c3ae92efa391388f83db36bc13e7a7c303abd30213a83acb03d8b388f3eb3c0303a1c74213a180c583d21713b3e9424303a0d41c639fc99363a2518bd3de7a4b239dac25a390eb5b6396817eb3919a65c398930e13771ba01385b4d8738f665e5379a8b88374c28a937b285c137af928737806453381a345a388e3a6238e96e4e38f050d0378cb7d237a36ad337a1f7c93754c4bc37004bd237fb206f3841fdb6370596d637e552d8376bacdb37562cd0371d6e2b389d6c3138899c7038eca018389a3a903987bfb239e995d639e6c17e3918fd8238a6884439a7d9ca394357803819443239d255ef3d74a2613ffd067c3993cd99398178e13d2d83483fe0f2d53918cb053a3bc5bd3d3b3d2b3f2bcf3b3a2aa5b939aa00983d6a420e3f2d74183ac133133ab46f6a3dc6d8e13e72a1463ad4c4353a8d191b3de15ca83e56e74e3ac3f08c3938b5f9393954643e225d7e399bfbdf39eee8163a07edd13d3e49d83966274f3929ad073a463c633a9c480d390000000000000000000000000000000029548b38359d9638f8e40b39fe1aaf38f59a4738188d2b3816d1ab38cc979538cfce923747a59137c83b9037c2068d37f224903958398a3961f69239fa0a8f392447ea378e89e5375dfeea37437de6379da6d53753efd437856bda37e584c9373bed81392b2d8d392944a0398dd674390000000000000000000000000000000000000000000000000000803f00000000b583163a57ed393a545f623f3e12383a0882073a418b263a4864413fad87273addf0063ae0905e3a841e203f5f06583a4256603a5de0933a852ffe3e60d8943aeb7a8c395eeaf5394881bd3e8b3edb390603033a31d0383a4754753e9bb31a3a39e3cd395375ee39dbdee53d86aad8390000000000000000000000000000000000000000000000000000000000000000d9cd143652f90936c9b91736c86f23361cd99c356b5b9335d83da63552ed0f36aec54c366e081636339d4c3600c26d36115a9f36535b8836770e9c3615952e37c72e6b37a82d77367b9871378bfde2379c2b1237241b913687b410372e1c4c370e78c33667bf20368488933698720e3700000000000000000000000000000000000000000000803f000000000000000030c31d3736b77f3ff18a2a3866b3b73714932a3786d15f3f2a70063801ab8937951316388fb42f3fc8b78538f2950338cccfdf37f5b9ff3e70671838581cbd37726d4f38e03ba03e74eb7538a063293878a5c937e5ccfe3d8df1303834c38a372d31b2376c1d843adb59853814c446370000000000000000000000000000000052c62b35611d2f35de04d135e4824536c4bc013492d80734b50f0c3459f70734c824fc3435b3c8340c0b3a3542b2b03524398434f962853498698534ff588434ce091634c3861a34ab631a3415b42a3513db9d368f67263667adc236d10f0937c26e3b36fe37db35a83b453619f62737fe72a637755080379b00b937fcf6e037a9310d37ee6efd361b981e376d572037ebe62c354aea7f3f0ab9a339900db836f2bd0434c6737f3f9b984439f2e7ab367a7d0236bb775d3f9913943820bfb636003a8634d4312e3f55a09638a0188d370a472b36dec3fe3eb7a21438afcc1f3785d71837819e9f3e9302893814b47d3798e8f53775bf013e50f3c339ab0925384410b6370bff913a10618b38fd9b11384684b236dddad337e567ff37bb2a6c37abdc603643748a369bede2368cf5ef3696f82435f11a2a354be56b358555ef3563fe303449963434ed57d634593885351724f7358550e135c1bb02367e3711364892003645c0c835a4cb543631a8be36be3af63418eebe345d231e3557b42d35fddcbc3770091a3757ced1372913143890f2ad36f6899f360ba2253774de8c374b2dc336fb4fba36a407cb36c94bbe368a5243368fe9623fd2a5e83daeb7053714522435762d623f6f50ed3d2af0ac36ff4f50358a683e3f3b7bdf3d907bb8372ce10336f8351a3f242ba83d0f2e20388fedb836d334df3e2aca833de0050738d7831c35fd258f3e413c093d551fa737f70125381992053e5fedc73c86f27a3845195336e783b538043e43397090ea37963b4036dba63037732b813752fae4362ed34234a2ff4534e7c4a0365107b236a3d49136c85697364acda0367588a2364f132f36aad3d635821c383629218f362cbee735a4d3903415d088355e8728365ee2713669227036d30e7c36ed9aaa36db2e1f37c651503613d55736d7dd8b37c2506335535ed73447c51535b3ea6936deab8b372ed37737b3fe91378fae93377c46e136a985ba36ceaeef36498bef363bfc45348af6303f8bf99d3ec416843639b2953603c32f3f7129a03e3db6aa36ce7e9936136c183f78b98c3e26da3137456b49361530ef3e54c15f3e83918c361117b8367c2eaf3e5c82213ee278ed36b4b1d33708795a3ebe3dcd3d8fd914381bf87735e579b73db3741d3d6e800e3751e45e377d27bc383585053980b19137f021a33525ce7e373635a53758cb95367bc0cd340d16d134a183d3348a5bd33409cbc4347d17c73421eec7344cc6c6345ad45234d37c59344fdf583494585234378b6b35ee3d683536546835b7cc8035f3592a362c179f341197b034acf62e36b9189d35ceef96350d2b9b356d559c35dc725936360354347d55573439448c36bf9d2237a514ea365959243757704537be050237d8fae836a115fc36271bef3680a5d0346278ff3e6345003f71a7d234ca2ac6347014fd3ec049013f1ce2c63456065534e6ffd93e0186e13e900754340a5c84354acfab3e5e16b33e41738535024f3437fe37793e436b833e4e9b5f372d279035883f1a3ebe1a283ec4b38b35f6a5bb36b174783d1017963d61cecc367f73733661f69638dce50d3a3a10db362ffdae3574b69e372996c83759895c36fd49ac35add9b5355165a535bd7a9735005efe36a4aed936a79c9b36906cd2361bb7d8349320da340820d9344ac9d734d9534a360ae14236449c38365e3e4a3612287d362c7d7b36125c773614b0783607fe79367936243613bd0a3636195b36843605386fb0b73782e38937153bb9375bd5d3370a6ad4378da5ee3793c1f337160d773705df683790957137dcf4663750189f356a1d9d3e5c68313f12367d35d1dd3437a86a9a3ef4c0323f0226f03699b2d534fd3a853e49a21c3fe7a8d734e9fca93737714e3e4f36f83e7cb0ed36f387e436e943123e3ff8b63e031eb7365ad82337aa12ae3d82df6a3e1679bb360ab53f38a230c13c2549d93db7b90b38220ae837b104c9384ca5fd393a0b95374b7b28375daa1738655f0738387416367d3f9536e95c89363b42d635f883c635dd74313644493136a7d81d368e511d3650399836430289363bec5e363aeb7b36e555f534b9b8ca341988b8347782b834b7689f366c311a36cc3bd4352f0c5c36d2f70937953a193647060e36ef281036fa929537c4ccf63653c7f535ce95743637bb0f37fea9ec36c12eec3660c4ec36a472fe36ba8cfa368548f236a534e436fd18e1369f4ae53d4058633f9630a434e4ec86365ecdda3dfb94643f57551e365df21f380ca1bb3d28e3403fb4be903607d92136483b8b3d5b711e3fd7a9ba34d2970438c8a4493d35c3e63e3daa2837f20b3d384e53b33c5148963e4151bd3707172c386abb5e3c07bb083e0635a7377d3b65378484c238af6b073aacb5a036da2efe3632ef8437f7a03a372e65b136ddf5e3365335a43620768a3546e505363c639c34a9999c3470769a34858c9a34f3ca84345fc017344cc415346be41534997e8e366d771e3654ad12363be21a3699502c3415111a3462ce183423451734cd2af6347a73d334d61a8a34dc7689347a51b13697208e36ae845136be368c36a387d8368ff7c43627a7ae365e61bf36a1c0a0367cac94366d3d78363d3863368faaaa374550c5388af37f3f4809443604be6737a7358a383aa47f3f671d9b34896d49373c719b380a7a5f3f582ff43575e72b3762606f381c2e303f62d7da36579e0d37b82f0b38379e003f28819036edefc8373feda6382093a33e48886637bdabea3652ceb738212c0a3ef7abda36a202fb36ebb9963846d8ff3a3faeb9368684a636294606371eb6ef361078033600000000000000000000000000000000cc7dcc35d256b235f67566359a0ca235708cb435889054341ac9523475ae50348d6a1737af924936a44a38363b3b4e36956a1c37f951a23669558f36d596a536506b0837e37a793673da5c36a6308136a9a1b437092c3537fc9c9536c9fb5837e103123845aeff376e26de37201209380000000000000000000000000000000000000000000000000000803f000000006b2403367aa84637eebd7f3f5228ff35502c0637436d8b376d1f603ff8093e37511d0e389cfb4d3878da2f3fec533138a32fbd37cde40d38ac1c003fbda4fc370067283877c09538d67da03e273e7d384dcdf837ad573f3842a3003e577730385fa11f389c09633854b9633a0dd443380000000000000000000000000000000000000000000000000000000000000000e5deb1352bc6a135a354d0356f53e835ecfac3347165c334f18fc23444bb0e3548962635ad692835543e3535f0f7353570a103350316043593da3235397247357253e9350792d43518ad0f36f2932e367e3c73365aaf413681298f36d877be365fed3036541e1e36a16f6836c636843600000000000000000000000000000000000000000000803f0000000000000000f6152b36983e763f6d3bce373ef26e36449878370879523f08c234383354b73701a9a5373742293f6df638380e5da337cacd1f389f75fe3e405c7f391ab019381a7111385de0aa3e94693b38a9aafe3762f09138bacc313ea717ac38a3fc6238c3623a38808f0e3da5ed7b383b910e38000000000000000000000000000000002e3e0d3661fb163644db533699516736c728cd3520adcb35a25f0836db971636796c6c33c441703353377433fbfa6c33b6332b3417da2a34d3882c34075627349d2b4636871e4836b4305c3660da5e369949a834309daa3451f3ac34a3faa7343862ab324fd3ab32ddd2ab328dab4a36860a1d36c4a02a3678c25436e08b813642272335cafe4b358e0a5635577048351b4a91368ee67f3ff76aa539d049bf37e5b55836ebdc733fcf7210395437ce37caeb94363a284f3f8d4f8339351f3f38174ea53645ec263fc8769238dd90ec371497ed36e4fcfb3e7d5f5539b63fa937a9fb1e382357aa3e50579839b4c4413892977f38a2bf2e3e10ff303c344d8b381eaea9375e0b013d05e9833a899bf0374ea73135133aa837f55d00389a880a374d28f73435dffa34a5dff9342b44983588a67036c79b6e36e3fb803621068736805e01361884f6359e000c36ca0314363ff41536d3ed093667101b360dfc243616ef9236dc1e8c36928c9d36f551ab36b91c203521602435cb872a3526042c35eb3b1636e2d3113603ab1936810d1a36b7efb236c053b836baf1ba360607b53631759f36dce8a5363a00ac3635dda6366c65f536bc885b3f6ebf113e93d9d537649ca136f6ac533ff614033e4256bf36335d4f362f472d3fe399013e372a60371a665d36f3a50e3f6e8fcd3d003c813631afe23644d6d43ee530ab3d6fa87f37900f2c363692923eae35663d2e9dd5379e11d0368e13203edbcc0c3d784a9737ebb214378adca03c537a9c3ccaeac937ddc99636c86ee337ca0915380f2dba3727f31036f6432d36ac5f5c3673d9613646436f3659846f3635587a36452083369a489835966b9335da3ca4351c21ba3594177435e8487a35f64e8235f6fe94357cc45f36aa8962363b176a366b3d7d3647c64f3617305236a5fe57365270583643b08336058a7e36c6a78136d2e2a2369c834a36ed295a36100166360cc78536b10bbd3656afc73660ebd3368a14cc3649fd9836a48f2d3f9ed7a43e20522737c07f9d36b801263f5b4d9f3e1757b236fe9ca436a3540b3f8cd3883ecc4e523765c6f035ddd8df3e6f685e3eafde3a375737b83678e3a73e6716303e8024a8373cca1d37de58623e3667f23ddbbfd3373cf029380493f73ded568a3dc13d5d38ccf0a237962d563c3bf1a63c02d5e6377311d736de16c23759cdfc37172228372b4b013588d05f356356a0354fde6e3574ee2636a4412e36e02c32362e3c2e36a89eac33bcabb1331a30bd3372f0a6337f19a634fefda534a8a5a33438369f340da0b636859ab636c58cb936d7edbc3699e2a2342ee0a434601ba7340634a034ef0cb83683319d369a14ab36ed9dcd36058d8a377401683783e48437b62f9d372d384a3603f95c36ee995236a96e383641d9f5358daafe3eb5a4003f1dd20e36fd47ce3604f8f03ec209fd3e4ad6fa3613adcc369c3ac83e65e5d63ee7df9e37dc43a2342365a13ee2b4b03e9c302037ca015037f0ab743e86ac853e222aa23724374737e292203e14583b3e81c6c1371d6b30388cd3ae3d29c7d43df16d4d3899c113383f5c443c9e82bd3c124c1c38e51b4d36a681083867b1193867d392363e641236d4121e36a8c019365ace093604a2873548ec823572c28035650b7e351a8020366a5c1a368e02133614981836ee6227363eb11c36fb1a1a363451213663426e36fca16536238e5a36ff177136c502de359b5acf35ece4c73561d9c435434aaf36208686365f0c80363737a9365d62c13637f6c136bd56bf36ba57ba362639d3362fd3d336aedfcf3687a4d63620db10376152a23e5ad12e3f7227ac366ebb1136161f953e86e02c3f0a0617364f6ce5368e99723e0c20133f6fac5437553d6d364743443e161ef03e4bf6b736eeb24937f7b5133ea341b63e041a8037bf1556372e68c63d9caa7e3e88237837f1400b38acd83f3d171c113eeaef02383ecaba375d783b3c1487ed3c4bf8b237d8ab1f378ba40a38608b153843621437ce595d36fad46036b6384e362f283d36ca35603692a85f36271d483674264c366456a4358f7a9d3541db7d357bd595357318293551492e355aa6283584f423357801ac360321a336ebc29636d1aca236078b54368bb95536d3ca4c3678434b3695d06d368a277036da206b36d0826336d919d036b7b2d336f929d036ba9ecb36d0de2c37177c293746ee2637aec1263738f8b5379cdb0a3e23435d3fffcb7b3601f6a23629cddc3d827b5a3f267f97366b8c8136e2d6d23df9d7343fd1eb5036a2b19a353cbf8c3d33c1163f99459c3531940037342f763dd4a9e13e77f81137fe4ab2360b77003dec519f3e5db97f366784c937ac9ac03c4f43313e81a9b837a073c33746f32f3cabf70c3d16c66f37b19a7037339c2a38253526388d854e37b0e6b33427bdb4341bf2b634bd8daf3487120735439208353b7c0835be42083549d99f32cfbda2325e78a332b4d6a2328ea9a334b2e4a334c369a2349b3fa13485125c36193a583622c84d3617f34d36b0292734454c2e3498f92d3480cb2834efeead36975966364f690e3637056e369ae59c361ebd9d363ceb9a369afa91360bddce36731dcf362a5cc6365b88bc3684f0b337e710b738f0f77f3f23b5ff35a778e935035d0038d8a9773f27b7c03536b799377d3294388885513fcfb8ed37e6b5913776ad8a38d7ba2a3ff62bf337d358193718b01038bdf2013f08148d374beb0538d3679938711cb23e4ce12438825b93380658fc39d786423e43439b38033d5c38709b05393c1b413d3d5b3e3876ff6c373cc0d6373f35d737cf31b8360000000000000000000000000000000030def334191ef134ab02f334de5bf6346c8eaf34a721b83408d7b134f265ba3498bf3d35d9f218356989e53401410d35313a033571f8043555560535676c073526942835ba112b3585172d3571da2e3527d8b93614a88b3616b56436eff89b36604465361e67623629ba5e36921959360000000000000000000000000000000000000000000000000000803f00000000f5e3fc34470b4b370117773f3b78dc366b9de636312d29386487533f4175353898442c374bfcec371f8b2a3f989f0138f38bbc370f7a4c389ab8003f18c64e381e92b53720de3f38a569ad3e14f2383894292d3818647c38e1fa353eef1f6c38e2f2df37e44543380dd11b3d02d615380000000000000000000000000000000000000000000000000000000000000000507f05352520083521291035435214352985d635755cd2359134e235c1eeee359af6be35d3f9b8352182ca35626fda3503ac0d358a910e3548352e3508b0ff363c681a3740e50e3710c08337f214c5378f2f263756602537091e3c37a3345037aea41f376a3e21372cd24b3798be973700000000000000000000000000000000000000000000803f0000000000000000b5e93e3860f86b3fb6a1a738c3757538fdc89a38488f453f6c43113ae07a49392bb1bf3882b2243f3c9e063ac41c59396666c338ba4ffe3ea33c123a5709c439d5082239d25ab43ea74c623ae295133a05662a3ced0a483e3ccf8b3ccf661a3abe3d603c21eb303dabbe8e3ca7d0293a00000000000000000000000000000000d94e553616a95c36840d6c36d3967636e0870e36ab7f1136a5ec153689b1193622b104364ff805361b500736af1e0a3615178d35a14e8f359e2d9135a99293353af2e4357c52e83537d7ec352aefee35e6d0d3354309d735dea1d835de82db35b686a63772cbad37caa1cf373fd80938529bab364f2fb1368919b1362531b236f760d0364462e936547b0b372cd73d37ac4e0f38b620743f05c63c3d0e328a38659fd938014f5e3f1716183dddde2139d2a19038820a3a3f4abd3a3da121d738e724aa3894a3173f1a843e3db3dfcf38e77e0a3977fee93e7e51313d15a8c73975d6df38ae9ca93eeb80e63c0ae12b3a6402e938372e493e85dff13c11b5313aff80e5387acc713d9569f23c4f497f39ce09c137658a0e3839641a38d4851c38b7e305376da60837cbfd0c37ab680d37dffd21369fbd2b3654563d3641084a36b79cb135e4edb7354664bb35ff5ebf352529da342a62e634cd6ce73404c3ef34cabb07367b46093678c90b36f7d10d36a9d2583673955e36f8336536bae46c3684293c37e6c64b37a6809a37e5a7cd37f620cf3664a30737f4044f3748dd7e37ed5d113773ba2137471b3037c1d93a376bbed03702af4d3f3607493ed852163864be0e38ec563c3ff0c4363ebf50b73819a16e38b2941b3f3945293e145ac338dc350538f7c3003f282d0c3e32abe4387435d038d04ec53e8f74e63d1cb7453a7b028138a6308f3e2a499f3d9ef42c3a6844a138cdc6333eaac2443d8b504c3a023ab338ea2e4d3d028e003d723585397c446a37c3209f372f65aa377dff92372464d936cdacde3609e4e1365b4ce4364572a6357af9a835481eac35f130ab351473b935e71dbb3585fbba351262c035cb87d835420cdb3591fae43555f6f035da1bc035475dc1356740c735bf7dcc35e27fc5351504cc35970ad1354731d635358e6b374ed474376b6c8737538a98376724ee366ad90c3730ba513751f46037b7010b3728992d373cc152373610643744247a381b6e263f27e8b23e0c0699380b1d4737abb9173fcf3da43e188f4c3868e22a38844cff3e2eec8d3e12b88038fc5c2438de45d03eae076d3e25f30439da9e8f38f573a13ef89f3b3e52e1ce388fce48380ce3673e33d3073e4c499239f620c2387be0103e5039a53de049403946e6da38ad872d3d7e6ffc3c12a6123c5823db3730b01b386b6a23386b9e04380e36b1363e41b7368bf8ba36609db936d765ec35d5ae0236ce490a365e7517365167d435998bd6353039db3580ace135e38d9c3585ab9e35ff8d9c355dcd9b359740c9350b45cf3547a1cf35c533d235a46bba35e66bc935dd31c7357813c3352ec9c137db21c8373583e2378fe60c38247e543761f274375075c637c64700383089e63655e2ec36f93fe9367a00e4363075e0379feff93e50fa023feb600e387df075386fabe63e1793ef3e5a0ac8385e30b438d124c13e0fd8ca3e0221da380b52933898679e3ef7d7a83efde1cf38861fc7387435793e2e4a833ebb1ef6380e719c384249313edcf03f3e762c2339e85eda38e74fdf3d4e0af03d7ee5ed38776bf038a910153dc6221d3d3178d33b3f3c9837962d0a3840d71138a3f0cb37f1dcc13602f9c53683aec536217fc4363852433696eb4b3638a15036fa685b36858e0f36eda51536b11d1736979d22364e29653526a86b357b31683542736b359c3ac2350eacc43548f4c435fe0bc7354c703d360ace4036149a40369b744536332eed363b34f936c985053723d148370fc3b83668b7cc368c74de36e6d1e13640d61b37e9291e3795503637cd235837b4dd0c38db8bb03e14af273f7ca02e386c10b837ca0a9c3e71e61c3fd8886138d3583f3819d4833edb1f053f68ac683885702538a891593e3537db3ed909ae3893a79938ecfc2d3e209aa93ee332ce38a4f89a38bdaff13d87de783eeab3243a6b7ff13875b1923d17871b3e5657f239d60087387e3e1e3d0936433d3c8698382f2537384bee7b38cb9d5b39348c563824fef136fc00f5368bfef036adb5f1366cb3ce35fa64cc35a466ca35b264c6357876823507e18335459a8035c1c97d35dd4123367e9721368b861c36c967223694b60736415307363270073604ec0936b2f11835363e1c35b0681835d333173566e7c03746ccb437dea6b93784c1df3722daeb36a5b8eb36f1f4e9364fb3e63640e88d37325a8a37216d85375f7e8237fcaf05381500443e44f64e3feb87313860f26a38ead5253ee68a413f40a0b038fcd96c38fa65183ef96c203ff39f8738952e8c384df0ef3ddc4d063fc869e4382a41d8384d96c73de064ce3ec8e9323a6511ae3807d8853decce963eb91808396769cc3bf2fe153df50f3c3eb1d2c33923451d3a2079fe3c39885b3df8a1f3396ba2f737dbc20e3807591b383163f4376f9ea9365cb5ac36cec6ab365426aa365c98da35e703ed3505eedb35c84f0036186008368f770636598802364f6607362341cd35f051cd3544bcc83500aac83535eaf4359d56f535c270f23581c8ef35c98afb350c99f7355a62ee35beb06536d3f9a9375ff9a33740809e372f02a837a0583337bf822a37c7752337583c6837087604374e2efb36e053ed364a1ce5361591383886c1243d91a4753f06232838bc98a83856e0aa3c19d6633f38d3f43847d2cb3877fad33c3c473f3fa3f8f4380207b338cba4dc3c26e11c3f375518396ed508397a7fe83c64c5f03eb4d8e2390493ae38441c753c7400b13e3710a93939a3ff38d59ad93cff754d3e32397439fc18dc3b3068d13c9cb37c3da7616039c299023800be1b38d4d62a38b3bcf03700000000000000000000000000000000ac5f3036f7e535367857323642e93f3697b9df35f817df3506ffdf350e81e535c91bee35f604fc350db2f03502a9fe35e1cb78351dae7a35ed4d703536490236b6931536bcab133683b8113612817936d2b918389db91238c85f1038997c1f38279ece372c72c837a78fd137c463db370000000000000000000000000000000000000000000000000000803f00000000c16f0138451291384ec46c3f1adaa938654623385d1388384fc3463fde42083996358c3862e9b2382251253f0e86b03980f184386a321b39f56e003ff1abdb39af29b63888b6263ad871b53e8aaa6a3a2022213a9dcd8e3ac65e5a3eb6fd4c3cebdee73b4df86b3c12f7313dd73a553c0000000000000000000000000000000000000000000000000000000000000000461783363aba693607c87736309c8336436a01369c49b5359c27bd35960bda35c4cdab36d54e9a36eec599368c4d9a36e8038e3688ec81366ed3843641738836fc8dfc3750f9c437fbf74338b3e876381bbc0d360b90dc35f180c73558f9b335988e5636817f40363a9c3b36b951543600000000000000000000000000000000000000000000803f00000000000000008bb3863702957a3faeff1e38e7d37d371e751f3886b25e3f33176c38ee8900381a33bb37a6f02f3f6069c8376424763766be9937261b003f6375af378ad546370dbedc388f0fa03e7913e5385319a838d2f3aa37979e023eee4bac375137fb36a1458b3722aca53c4123b53752650d3700000000000000000000000000000000caa50f351d9f1235ef3d8a3587968b355ea682369d086d3630268836eb649a3620cc8a361f017f3641507536a3bd8136b1d2c736f1a1af361211b236b845b236ced3f836eb82e1361a1df23646a6fa36dc425b3621584e3638294e36d5b6383785bc9536a24b8a3622db89363aca7d362b57b236b840a336a980a736519d9536a61ddf371d0fc737c6c536383d5037386e1c2435bf047d3f9dc34a3c44c1c1377e99783615a9763f73e59c3aaa944637844585360e015a3f81f89d38388b9c3763d6bf36caaa2d3f513b30380e92b936f7660f3827dffe3e594fb63823e22c386f0b3e3872f2a33ef225e838859e7838f0aa93365a940e3e714d363903378836687e95368b3a0d3dfd589e37d6f19f36e83b8a378bf6a13835f19b3876712b3819605936d1d0523625863c364d8f4b3699cde436304eca36c437e736efee0137e2875e36ee1856364c3968366afd6f36b6c52a36d65e1136597b2a36e41a2f361a5a6c36d1b54f36ec0c6b36fc3c623725bbac360d89b03630afb4368716b1362d365336e9a05d3682da6736521a6236034a423696d93036e9cf273674be1836689bae3529d0e535819ea335ee955035566409367454643f7ec7de3d539849363a9ecc36fef35e3f9631de3d3fa27b3752656e36bd50443f7dcd933d52dad7363f611b36b0b91b3fd2ed723d12319537d225c23733dce23ea9d8573de7d3153864d80037f80d8f3e7719343dafff2838782a57361163d53d6a234d3d2a7254360bb4333627c3a13a5ba6fc3b1ebf9a36458d5b3576b9ee37f2e34138001f7d351f227235b2705935cd8abb35e120c435d9351f36bd29f13510bdeb3534c80c36c56a38366c8b2736eaae393691a444362cc8a23689bd8d36574d9436e5029c368e188b367b4f4e36e9517736db0ba836f50a3f36b51241366f684336b718513619787836390b61365c4f6036ad946636eae23c3711a83137d39436373419443701067b3660fb5a369b8d553629b95836fc0e233573e4323f72489a3e57da2a35ebd876356bb12f3fccfa9b3efbd32b369d8c3f36cccf163fb16f803e8aff373661a29336bdbcf13e31f5523e063f6037b0597b368d2ab03e03621e3ed6ab5a3753df50361c94593e57dbe03df0ff4736c26a9436b44dbb3d2683753d6df6b0364ccd33377d34d43aaf58113c048d44377eb15a36d5eace37d2b71738104b4f36200a8637edd6123829a2f13782a601388e398f363a4a8736e63398366854a3366f329d3609cf96369f2d8c36d02e913665cd9b36d5d08836e10d8c36d0998e368faf0137d447f63646cefc361bc40237a7d89b367ea69836cb5e9436cf3494367d439b36326c8e362d369b3618a598368033b4363feda93646bfb7364370ad368113813857f37238c1fe9a3833ef7a38ee838637a94c003f58c8ff3e0fec8737b0f57f3644b6fc3efaf3003f719c8c366c719336a36ad73e7b34de3e8739923643e79336ddd5a93e0291b03eaaaa913699e3f936e752793eb48f833e010cff3657dfaf3601371f3e9b3d2e3e9fa79b373619a03669099c3d1aca903df03399368adc993687daea3aaffbba3a2802aa365f9239384a292c39e11b3439428dbd37cbca6336144246364e5844367d6d423639652737f82d1937f7450d37929b203786e06836333c5d365b3d6d36143077369a4f46365f7821366a142c3686ac3636c37b9736ad8862368a7d4a364a15833689c59f36b6729f36985aa2368175a236f30c3536e9253636d06c38365b0a4336aadb3c363282223633dd27361d921c36686e1036fb02f835a245f3357171c53539c13336bc629a3eadf7323fd2302b369fcd2437401e963e066b323f34a31a37dd7584369e35763eceda1b3f8cf953369270323674f8433ef7d4f93e7fa623365a5be136cd39153edab9b63e6a3bb3367ec3803737f9c43d701b683e1b8855378a0635361fa1913dc177b73d96c6643739812c36e6d0123cbb535a3acf8737367b23e035fdabc937c07b5b3743e6c735831e193511fe8434e807c8346acc1235887c40361b8efa357fb295358ee4fe35af245a36953c4e366e53483655535c3646dab13632a59d36950197367173a136c5120e379640603669ed5c3650218b3632532836c8232936ead1243665b832368e7a693610c85536ebf45236ae1d65365ce0123743570a373c2a1437557731378fbd82362bb37336826c6736a16e7836cb1bbc37bd15e13db6fb633f330801348b4f093606b3d73dcee2623f1c400e3649b95836d1c5723d9a9f493fe1ef4436c63589371120623dd9701f3fbcfa9a36d5ba083803274d3db655e93ee002d737d31888379ed33e3d7e0f933e44bc2837c78aeb3622236d3d286fd53ddc0a97360058a237af3ca93caf489d39e2cf3c3708de453649ec073857248b37bef95b36c0b724388976a937e30acf35c15bf0359f9c893613ce5f3633202436a1fa8036823f8c36d436863650fc6e3633c58636d0535c3677322d369cd71e3696993336e09a0137c582eb36a45fd5362a07f536e0bfc736e9ceba3605e3b3365ae8b736351f8e36ff8c79367ec2813637988436fba69336fad18236e4058a36804b8a36ee90a435922b95355acc8e355ab0943591d7c838f561033c4f337e3f6388cc35ee839636146fb9395031773f28c88136bd5d813692fb9d37c69f5c3f239f833667c73938099ad838ba832e3fe22ff23730303738cdc9c438e2bf003f06aa1f38f217ca366b6b13398d90a53eb1b0023767e28b3788b2033c51a5103e18a2d637e54ee8371f99a8388075113d0eaf6137203e24372d2923382396bd376ecb6c3500000000000000000000000000000000592657361caf4036554b4336dcfa4b360defe935b15db3359b2ab1351098c2352a88f43798cf4a368f96273672ef5236a8e793369060873691087f36e6bb84365874a736901a9836aa5c9436e04091360078bc3707bb2f37459afe3555395f37ba8b97362e8b85365e63783691a40f370000000000000000000000000000000000000000000000000000803f0000000056b1693652633937a2227b3f2bbecb368cf3053691ae423771a95f3fa8242337578d803896f2ca383355303f366ec238dcc5ec36bfcea2376174003fbd6aae3721294e3771e6e3374e8ea03ea39de8374d0b40380c359e387235073e95199a3897adcb3728f93438b4e6b63c14454a3800000000000000000000000000000000000000000000000000000000000000006b8d583493c88e34645b95346fedcc34ced7d43411e3f034413101351e24043526b2a234c66fb734d3cad334c27bd234e8579c3675fb9b36c132a8368373ac3656c6353656632e368eb23236281d503714b97435df8c4c3503276635f3bf9d368c9b1a37f97b1a37c0081c373833253700000000000000000000000000000000000000000000803f0000000000000000eb0f8f3701bf723f0ff43938be37ba374fcaca385e10533fa2c10739b0b6e138fe9d4d384dfe293f35a39a3835de76386f5da23895f7fe3ef2451a39fe989a384a91f5387cbca93e477c463980fbf238b874f13849b1143e2d9ce43cb60ca538714c5f382903403dbc2e7d385cdc3e38000000000000000000000000000000008765e5358917da35cf770136158b0036a2bd1435dd85273529124b358f3c573532969834e7aaae3477d8c934f252e234ea622f3576eb343586f2613572c369353c90af350b45c335b6acd9350a19d9353240a335893ca9351882bc35dab2f235a62da534f427c2345891bc34b11cb134daf494357c80aa35f9afe9351dd305362c6ece34ec7b2c3578c4f534a6273c358cbb00383e4c7b3fce92993c7f0493384872da35c05f6e3f0407d23b0268663835055e385e4c4d3f96791c3a3749af3880223338254b263fccbe313a431795386dae89389c2cfa3e3aed113b0aa4d638bcbee038eecc9f3e8e0dc13c0ee9eb38b091d338ede0083eb7a25f3dba7bad38737406385c09263d3a5a593c5c863138a4ac123591ab4e37c7caaa3755f22c3792df4336d9ed4a36b4f7563620b963369f3ac036dcabbc36d9a2c6360080d93677bf6d357b4b7435b16d693536848635c2476d354ca07a35e5dd7135f846743569b04a36672044362a524e3635375e36ea0168355287743576506d355acf6f3505a75d35756f7b351a5d5635a410a335f376e5340588733475e58d3446d88a347fa347352960f43434d4df3460ca2f35c1496c369567643f8529dd3d176e1d38847e0637bdfe593f973fc03d8d8f0a38570133372b4d353f3d9abd3d91021e38476b833897ca103f7723ac3dade5c738c25a9b36cc3bd33e6d68b13da505543881ed08375c898b3e9697963d8333d937f6657738c8e4eb3d843eaa3da49887380e083835a66dac3989a2213dba794d37252dea34e8cd0e373e89b837e79d7336fd2b31369e0435366a8f56368a5e6536e29915346ebb473487c748345a6b4334481f8b3542a10035b7092835d09be8350fbd31355c9238350c743c3532aa55359e6c6a36097b6b366603813643128a36c82e243550a73835554b393557783735019e8c3537358b35bc79913521e69035eac2c236c500c936d7ccd136cf18e736596a0236605c04368698e2359b58e535c047863644a7313fd39f9c3e725d043819678135008f283ffbf0983ed1155935853a5d38746f0a3fd861813e9f69bb3873be3437877cdd3e67a4673ee3ff1f3849a415370a25a13e5396393eb42a00380c6ca338bd81523e55560e3ee3dac938a5bb1a361bcebf3d29ecd03d7a297337a83511381ec50b3ca5b5f83ceb6044380ca703362858003841f51d388c018f37fd825336862b61362609563653a85f36115a39362ff53a360c622e368b935336dee60c3441f02134cdea353427694d34e387d6352330ae35f9309e357680d4350e8d9a35c329ac35ef98a535b121c73580f50636ae360436f7a10536282c1f3695910e37384d75340bd9a136fa1aaa37e110f136678ef0364aa1ff3606391637e18f7637e63e7637e021863711d59037619d1b38a10cfe3e1a0c013f510d2b38edde3a37c3b5e93e8882fe3e60db6137cc5d8638f8bcc03e1ab6df3e0f8ca53837889238d0d8963e8302ba3e0d79bc3801c9e3370d0a643e73568e3e62e025384f6ab2380aa8113eb1ec4d3e2eabc4387af6c2382632a43d29b2db3dfcbeda38954f1438ecce523c9f370d3dc87f2d38871b0938d1c76538ee6e6d3891c82a38ed62e835995bfb353e3f00361aa90b36a5509c36b1a6a036ac2e91362358ab3679068e35b7a59235da1385354547983547a516350cf520354ff31a35e0a9213571407b3631207f36cece69361a9f8536e57a61354c8e7035dc735a351c156e3530fc05367f980436fdccfa35f2dd2d36a082c535029ea23576448935743582356402853628a07636f5bd7936cbf87c36f6a7b43740f7973e1617343f1745153652be5f3726ae8a3e71b8303f14f64d37282faa35263c493e34cb1b3f8107c23544bf9c382c7a203e5802003fbe78a7385a9f96370689f93dca72c43e4160e637c292c83762daa33d4aef853ef7a60b3860beac38fd359b3d9cdb063e8761b738a639d13582c08b3c6406da3cf87dbd3516d4bc379fa34838994c3838a5bfa63765571a34f3a71c34c14fd7341f75ec342932a934e4a1d93478c5ea34e18bd0342f400735f391f034a6a1f4341f8c8135f23433350f9c3f350cad4c35a4485b358b9666367b9b6c36c4e16e3613dd7c36df06af35bd448535a62e8435d849be35fb4c67353886673508506f35c5736635f3120037336f0337416a06375cc60d379e2c56368eb35a366fe54436c6cf4a362f46b337f30dd13d59e6653f53a2dc3493250a35bbd2753d6f97663f781acd347d0650380a15f43cf9e7453ffc3e3e38e4263137c1199e3c5c96223f21fb8b37b0452f37846afa3c1f98f13ea5945d37bc66aa38f756153d6a39a13e076dbd383d38d837dd446b3d3dfd113e4ecd173835c8fa375229c13cdd18003d59120038f9805e3707a124389a0bcf37cd9343366a15ca34eeaa9034cae38d34596acf34d55e8c35c9409f35072b6035109984353fa04e347d30683453337134506f8934fe0aab3507129435f4fb5535426b9735f3e1c0353595d3354d38b135146bc2354909ab355ee3b3353a1777353ac49635c882463503df2835dba701358af5e434f6577435a7eb9935f6208535b2f099352e420336667e1236e49e073662101236a7ca0b38b0d3cc3a2cb57f3fc73c2c37dabe2637221410398562723f2f9573376c473f38df56fb381003503f77668f38254da838ac9708397a3a2a3faa7cdf3845285138a882543935a7023f11c6f73859f554388962ca385f8fb33e825f9238aeeda438822b283d33d8203eb2b3d838c7cc7338877b203bbee7783ddbdf77380f8e23386d1f7038dd816b380af90f3800000000000000000000000000000000b31e0c37f8780d3731a0fa36d95e0b3748165635b9195f3532f6353599655435c38a02362c6dd23522b98d359db801360166ae363a52b2366aed9536d5e2a6365d539e354984b235cec3523586ad9435740f9b37df47bb35f4460b3503e7563755ed8c3587f37435b302e234a2694c350000000000000000000000000000000000000000000000000000803f0000000013e0933700ab2438861d743f47d93a380c28ea37a4fd843887ca533f94df82383af8ab38f255e5387d552b3fbe76f538be526238b32ba8383eb8003f754ec73879862a38571e8238a193ac3e672085388441d7382660813cb32d1a3e7cb0293c133fcd37bd260939fac3553da7307238000000000000000000000000000000000000000000000000000000000000000042d952350ee95a35bfea6135fff96735c60041366f374636e85a4a36d1f24d36b3578f3657fd903645b1923697a29436faaf3a357547413579164435e9f14635cb297f36251782361f7483363b4284368ff39836687c9936e1d69936463c9b36ef2e1635d2a815352e65133533c0103500000000000000000000000000000000000000000000803f0000000000000000f8f49338a004693f4c2d7b3bcece163bc0a5d038e331453f448eaa3b0a269d3be0ed1b39f9e2213f7ee2663b5beb813bbbede9384185f23eb0d78a3c8d87483c1d621d390045a43e8b59e03c36e2513c4ea6823ad499213e4c2d363dbcd4c03c14eb1b39a6b1383dfbc3fd3c33972f3c00000000000000000000000000000000885eda342a2ce83400a8fa34d999fb34d95f1d3318ef243335c88433cf9ebe337f747036b03e7136f6957a3610757e3672058c3652888e36ab279136c0e39336159e8833070e8b3344ba97333b728e33f0b88736939c87362e938a366e798b36c2d09336b53796362f529736cc5f9836f02de0357afcf03536bef0353d5ae6356b94db35c772d935c7f9e135293edc357af9c43864867b3fc7ef8b3c8eb63a3a8517933658bd623fa652c33ccb6baf3b7383713834703f3f09eaad3cd54f913b54584639b2bc173f9f10273d3dc8803b53968b38b193e23e3ca6603d76ea343b554a48397361993e8dbf2c3ddd446b3c8e8d39395ad11c3e1fbc513d7defa43c72a880386ac9083dfd2d183d7b20003c52bbef35a94ff435ca54f2357b85ed35b172d235ce20d23500e1da358f80dd3580596e357a767a357e5587351820933529419436d6f494365db6993681f79d3618d29636580f993699099d364cd89e3611b7be351d4bbf35f05ac53525f9ce3525bc9e368b569e36a339a2361259a536cd2792365af49336b64e9736cd1697367a5c35362ed0343640993336f81e353612d74b350826423592c25235b14e55351f729b36f1125a3ff9ab173e93fb9a3993c0b537b28a463f39cd0c3e495c1f3acce16b381a2f1f3f1d4c173e756f663b8f312939a4d3fd3ebc8a113e200c2a3bea7c79389570bd3e4119fe3d6e61333b12fa6239ca997e3e3830c53d93fb593c89cfa5380262043e11e7843d6540fe3cbeb596382bc2d13c7c0d2f3d3c07f43bb87f5835ebca5c35b7846435ae4a6035f44678355fa080352e7e8535fe4587355292e2359f07ed358660f435c1eefd358df59736329e9a363ad89c366a669f3613949a365d989c36f1d39d3623eda036e141e335b968e735d36aec35d6b9ee3558f89836f7af9b36b20b9d36c5519e36af24bc36fc3bbd36f3dabd369111bf36f1494436bd994a368d424d36c15546362a390c362a5c0d36f4db0e369f690d362df344386c712c3f3942a73e832304395e931e3873831a3f12e69f3e9ef338399a1fa138c191f93ec665933ef6eb653afd0028390e43c53ebc5e803e6449423b6376e6388885963e2f09523e1d20063b98d92a397b90433ef6141b3e0af97b3cb88caa38f1fad93dbf57c13d400cba3c4796f2386e44df3c6afa4a3d485cb43963750b3674141136e85710365fc00f3673b10b351c871235b76f1c35003b1935c3ebf73436410735cf401d351f5a2135f5ff7d3689be7c36522880367e5782361bad8136418a8436330f8536bc1c883674b4653390da6633e2687a339f576c331f1f8e3624af8c3644f08d36c35d8f365d689836e1ab9a3666499b36ae439c362649f33501a3043645380136f4ccf6355a8a9935331f9435c60a9e3501a796351dbb6d385b60fb3e5957023faba6af38b2dada35a6e3da3e6acafb3e342ce138ed19fc37e2d4b03ec824dc3e9373d23af8702a3910678c3e5e47bb3e5151743a6515143828475d3e7893903e1c87033bbf6d2c39071d143eec9a5a3e9fddc53ab4689638bc8b973df569fc3df4b8d63c07cb163810a6db3ccbe33f3d5691ef3bab127e3535143d37651a9c37b8e0053710b1eb35bf1ce935e763ec35e6baf1354d0b7035c2bd7b35b7f47b35b01887353f1d9c3693059d36d8069f3648cea336dee091366dc59336573d95367e4d98366c2de635bcc6e635fa10e9358bb0ef35f33aa33613ffa236a055a536669aa8362209b3366606b536fcf7b736c17fb83672785136a9e4503628fb4d36ae194a36abb7be355bb4b035ba07b935a710bb35a8ec38369a2f9f3e0e7d303f4ca20e37edc89a38021d803ef6342c3f85163339e6dd1638ad1b4c3e76bf133f9430233a46982b39eb50253ef61af63ecc8c293a0b25fc38d6a7053ebf59bc3e4fb7943a93153c39bc31a03dde178a3e63ec613c58e90c39427b4b3dcef61f3e4d1c983c882de1385ccafd3ce6da583d997c5839c6d3c035fd96db35f686e1351216c935539007359882053504770435d3ea093551f1d6355c72db3538ccd8359ed0e2357e6e833688e884360db584362f9587369c7f9f366366a13684b1a0361df6a436cbd0bb35eabebe352987c135224ac835605fa936b081ab36c074ab36c77cad3691eebb368efdbc366a2fbd3660babf362d928d36587f90362d2d9036bd908d36e157ac36b61caf366be5ac361f6ea836f7230a398615053ee4c65e3f44610339e71b7a388bb7943d92055a3fa93d0f39d78f7b38b1578a3da1f9343fbd56633a37a3513933cd553db5be163f7882a03a4a406638ef51573df2dfe03e1a93453ce2003e3935ceca3cd559a43e42346e3c50c8e53855481c3dd47b273e867dd23cc575a2382684013dd03f603d2c017739fd78ba368a58c4362e25c23652e3bb3698e1bb358b90be350665be350bfcbe35e4803a344cf649340fec85346d5c943486bc7b36214a7a36c8a0793622e280360ddc8336956a8636c2b285360a098a36fef783333bf88233b68b8d330f5d8633e9bda03613219f36e3be9e36e3a9a13639af9b362b609d36ed429d36619d9f36f7e76735cf046a35654665358da96135539d44363ebb4336c34c3f3603673d369e98bd381c6f003cda137e3f8a5ceb38ec502236cb7003395ce66b3f2d0c1c396c4ed338a92d9f390d31463f6760c53ae2dd22392797803929d2243f56360d3a190c7538d3774c39c4cdff3ee1644d3a875f46394e43163a0ddfb13e2ec7753cae68c538ee67c83ca616323e3f4aeb3c1186d93859ebae3cfe465c3d892a263c625d3b366de940361713363629bc30360000000000000000000000000000000092137b3412cb8234d17b8634981c97343b7589360be48936f0258a36aa9c8e36995e7236f8b37436435d753662757c36ae4c5135a81a4e35529c5035d4675b35f0429f3675f19e36ed2f9f36faefa23682257236bce67436324a773659be793621e6bc358171bb350562bb351a47bc350000000000000000000000000000000000000000000000000000803f0000000090c281385fdd123991b1693fa1fb083adda4443757fb1c38c226453f920e683b25e29138250a47395f48233ff2ded03a044ed23859d513392593fd3ebd4b193b34a61539f11f1f3abef7b03e42336b3c026a4d3a26ff663cb754313edebd043d4deac338cc435a3c79e94d3dc7e3a53c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084803d359fc030353ea16a353925d435000000000000000000000000000000009099c331000000000000000000000000151f2b353a0a21356911f03411bc4a350000000000000000000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000a0ee773f42141b37000000000000000031e75b3f224e2d3700000000d6f9f5354111323f615c2139e5dbf835000000001b16013f3372f438000000008f83d834a0aca23e5d0d983a00000000efcfb8350365183ed49de939e3f6bc35000000009899273de7974e3700000000000000000000000000000000000000009a3b1734e40b073486be0434c9231f350000000000000000000000000000000000000000000000000000000000000000713a1b3328a6de329a9f163379fa2233fbed10349458a7338ee47933a605a23391e151329c983f3235ef3532ea2c323218c8da32b7f5a13204b1ea32793c063300000000000000000000000000000000475683350c6d6935bec56935c408a735930f0f3568eb7a3f228de03c1b9f4b35000000001b016e3fa9fd833c7d4eea33000000003749543fd72ea73a00000000e98c5c33af572b3f134b273b78183d33c2982d349f23fc3eb0508e3bdd87cc332f3810323aa4a13e9413ce3be12e5a3285544033d1360b3ed197073dc8dc1233000000006438243d87f6b53b00000000849b653585f14a3501a84935a9eb4635a0a03e3372f3bc3367a165346eeefe3341f79a34043f9d349e3da83479e7b83415769335fee57535c2999335518bc035a2f5393399d02233f1e647332bff1434bc5bdd34fd46cc3453e5ea34f080fd344fbeb3358ec5a535897eb43588d5e13500000000000000001fe64d33ac72413286bd9833a3d45c33b95299338b216b3300f3ba323ba2ab323679cf3290df3234d10e3f32db70633f372fed3d7b3a6937473cd334cbe75c3f6c81e23df75ae4349d678f35ae06423f24738a3dc26a9b358591143466fb173f440b953d67502434000a0d356474db3e3cb7963db7331735a913b6350fec803e93c8c53d1b30b835fbbbdc331b3db63df49cbc3d5d8cb9314c720234cfbee3391304fb3cdeff283400dbea326c061834da3ef933a78b0f33f30766349ba9c8344ce1de345d78ad34e23d6434fc516434667d39341f0173347c3050333c5348331feea633dab24c34aeed8035761c7335eeb67f351fc6c73599f4ff34257cf034124e013581ca1e3533e1c034d47fc4340f5abc34a89efd34a84d3c3590bd6135631c5535715e8135a4dba134f35699341a93b134fdb8c23426954d34ca513234500a1f342a32433412ddff332924373fe64b953ecd92f33470eb9134830b2e3f60d29b3eaf927934f547ea33f635153f0cb7823e17876734d07ede35ebf2e73ea0eb653e8f44d635b3840f35e19fa43e8d39403e2e420535a32ece34885f423e1ef0103e6ff70735861e9a35e7bd8e3df347cb3d2efda7353db49634d8ff003b0dcfc83c6cccaf3411f8ef3315bc1638c81b6d3830db1834d6f60035ff314135488b1635ca9033354b7f9b3300000000000000004d25c9347c031933e7ebb33248a03b3263e8873211c8e732331ec03277e8e632301ffa32b4dc4c34c50f2334265b0e34a48e1c34c4a21833d3bae8328e4685327cea97321bfdcc321ef9f932dbd70c330e212a3359e10e350308a5349ea7aa346d37083545bc7135f0a04b3598f78935e539ab3512aa81355fa1023f304dff3ed3273f35f9a32c35b5aefb3e9453013f2766cc3421121033f615ce3ea3f6e13e1766113361681733fe619f3e8b05bf3e4766fe32dde1693470e1653e0127923e3a273134b0b01133b7730e3e7ae0493e06dfc532eeb84033467b9a3d23acc13d8f40d3324ec396345738e63b45f2fb3b8d873f357b5089353d6c6e350fcd8935b65770352cee673497d15534615318341419e23366ef4934f3cb473470894c34f5445334e5a19335a3037d35a24b8c356664d13522d9c4340ce5a734e34d9034ec05a43414a9c0344d4ab934ba7cc5349415d734e32ed3356fddda359770df3574e3113688901d3311ae3933ec5da43362be9d3398811f3492e7de33fd0e23349c982234f6d3e434887bf43424051135228d2a35307406349c4da03e2317323f27f9e33310fb9b34b367993ef8ab2f3f3e918f343403a135cedd5f3ec6dc203f4bd4b535d0e2e534af4a323e3908043fef26d234074803358164013ea56dc43e231704358ae1d1359300c93d98417a3e606b073658001c34711da43d1154cf3d0080b93380f353342c78c83c99468a3b592e5434ff58ac3450063f35ee9191350ae983343c874633a9dd183368ab0933a8beed32cec54b34e5402b343950ac336bfeaa3387fe3a310000000000000000ee289533f44c7e35c42a8435ab7886351f2f8835f1ab113563bc0d35827107354f62143576112a34ae023e348456163426aa6034d1314235c22b5b35933a5b356bc75835506cd3341546e234cb6ef9345bc6ed3431cd8b349bee903498e7e734a48ca63477f8143321240a3ebde35e3f865e323353346134a8f5db3dabb25f3f6222e63333976833121c233d666f4b3f2264c1335a519335b481f53cde39243ffa84af359d7f22351e842a3dc5f9f13e6fb30d359f7f3034a57c843d1900953e634a763485e97735991d973d4e2bea3d623b8035c211e234d1631c3d5c5a103ba0b6e634c1e534343c534a386084fd3713c44534bba95035788d6e35e4a43735f083263500000000000000000000000000000000f1a74133820bdd3245c60c329ef188327f07563280056b32ca7e70329186863245123634073d073476479133555d90336735823362ed893334440233d6ebe9320000000000000000000000000000000000000000000000000000000000000000009c7434edd21f34821f2035cf94693551ad8935666ce13ccdea7a3f3ca154350000000077fe4f3cad3d733f00000000eabc2c3432d3163abf69583f75edee32214a733242c1ee39d8d7313f4f4741323ecd51343e1c3b3b10a7043f7c54e3337e0072336f94ba3b0d64ad3e0bc20e3300000000ea8eeb3c2e73203e00000000000000007ca0d73b31d2643d00000000089d5b352d18163588de15359926b5340000000000000000000000000000000000000000000000000000000000000000f5037635824b3f3555751535b0b8a935a3314733eb0c1d330000000000000000000000000000000000000000000000006ad5bb350547d0350540c53582c40b3600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f00000000000000000000000043de783f00000000b8dbb6353719f8357efd5c3f2840d335000000009bf40b35f24d333ff62d693300000000bc0620386b74033f62b22d342479d235c74e8339bb84a43e21eb093600000000eec4683a6b8f1d3e21cc293700000000652785379465323d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000239813324204d6324577a435abd798351009a5355741ea3578ad3b3437ecff3369652534081b5a3400000000000000000000000000000000a52d4435329c5135576e38353e707435ae8015348cec1934fc931e34cc548634c086f233702a1634e78b05342402683400000000000000000000000000000000000000000000803f0000000000000000d2c916375f73713f8bfa2d3abf3c993701540738f90a523f78757c3aa7ca0a3ae035e838f5f22b3f8e87903a9f45163a1ed6643a4b2dff3ee908383b9443933a4eb8733960c99f3e70ced63c152d1a3a3b42023ad2c10a3ed8e34f3d8af4db3900afe23891774f3dce30fe3ac010153800000000000000000000000000000000dc4fad34f7708d342a26de3488700a358d2ee532000000000d456c33f7ebee3335d9773572522b35fe6094355e98e8351c888d35dfc46835716cb635ef491236ebca88335add1d33000000000a926f33f420ef35dd0bf735f83d1336745f2836ed13c43589b4c8353ca8fa3525d916360019a73487709934ae93a33432b7b434ce53e8342abcc734c3d834352992063528fc2c36e978793f14b3fe3c3916cc37753a8737999e683f8a47e33cfb5d2d38c5da05383e0b4d3f39547d3b7e057139675819385468253fd585033cc6332c3ab63c57378842f33ed7deb53c3d5e4a3a12c4bf375c9c983e393f4e3d6729bf391a114b385799fa3df7849f3dd6179f3941ff0d38622f143dc549fd3c2b872b387f193035ddda82376bd3cd3718a68437779a77332ea68733e396a333669cb1331e157535d2b660353fe66935c30f7d35778ace34eef75734d6cb00351ad6453500000000000000002e8b3e34bd1a2235322f8b34566a423410baea337161043425eddf34b51db1342209fc34ba6a3d356c9a48352642543539918d3599be933581c7d834dbf3a134e79d7f34bece573434fb05355c26f2340ca5f234b841e434e124d5333bb3683fc031c43deca1c639067b9c3526355a3f915fb93d6e4781391651d035984d3a3ff09e9a3d3c2c7239783ba335b9a90e3f842ac03d19eb603a2cd320381a83cb3e39d1e43d5773883ad45e1837345f743ed102f13df2de143a48e2b037605fbd3d5097df3d82886339ccdb7d3772028c395dc06b3df4c1d83756bcc53410c5cf346e0d2936871bef3435ca9f334e4606339a194034186c7134c5505633924374335f07ca3353081334d13511354273e73426e51e354a527e35c82a3d334c9b3d338bfa343349be6d3400000000000000000000000020511d318503b034f8f09a3441528234c970f7342e7522342fa426341137a534185808353ed57735706c7935d022823550a57c3599f8af33f0fea533f224b7334b1ba53319674a342003383fcdc0923ea20b813625851a366ddb273f744b973e4d81f53735d6203778e9093f63f4863e6107a1389df5c134f602d33e2f7c7b3e72a9fa39bc52e539230e943e41455f3e283c5b3a6191aa3738c4343ede27383e8200163aff723937b98ca13dda2ffe3dcaecea3945d67c37630d8d3aa16f543dcf4cf737240abb339452b3339013fe368b152434b95db2349d5d96348ca70735b155543524d4f133cc44d83311d30e34004a35342d396d35854c3e355c508835f7b2ce355aebef355d01cc35abab043638ef373661f97534b84a503408a1c433bb321c34bb65d935ea68e235502c093654c420369777cf35c8edcc35ee8cf535e8ce1336051d6834a4fe4934193f4a34a36c5034ee905e35bccc7d35314da43506cc893501950f364cf3ff3ec824013f08510336e3555634b462e33e3828033f4f0c3434860215379096b53e676fea3e3a6e80373cc55437570c853e5affcd3e5a6e103996dce4364ece443ede34a13eb4d9b3397c4d48377516f63d4de06f3ed4da2439810a8f37abbd9c3d15da003eef3be03941c53f373b62a63be996453dd0482b37736d9b35ad9013368003ad36eb798535727f48333efa5f33632485332a499633ed8d29355ca12235cbfc22355afc3c35345a1e342a820734c542d7331567f03300000000000000000000000024c1a93439100234f0a7973383fd8732038af23241579533f73a703398552933a5ca2a33b487773504f07035c8ab8c35eca092352495a334cb55803480875334949b41347f57963435791a349af2da33857bc033bff60035183e933e6b06383f05d7a63337f63937f848723e7d34383f7498b9363c80a13616fe263ecdea253f9231e73540d9a5387311ed3da3410b3fe2a84c39a9eaa539333db63d91d5d83e995c6f3a0798d233cc328f3ddeb2943e1b37ad394d87e1375050993da5e80b3e6ad03a395e51fa37a329ad3c05b81d3dcda2d1378253503413ffcc36114eae367499a63423b22a3487980d34bb80583442c0ac34e1af8333b8c27533e8a0f0339be42f341948cc34b939a83465c9893486a04035f4833735cb780535c8b034354e498f354114c63336f8c8332dba1d33d75221346c89e134d796d43401bc9d34e9621135f8b5ac35d1a692350b09ba351a00d0357ad5a7357837b035d3a0bd35b2e2b73522a3d133782ccb338f4de833640bcb3397f88536868db43d4ea56a3f2fabfb34d1ce9237f8c2373de10d683f5e43c136d5e88337f169013bd9244f3f23ec59371e74c83507547e3b77ee273f75bfeb388265083a7e0e523bf94d013fc858073a63385c37a5ef123d0a5fa83e317acf39658987373ec48a3db141123eb8e10f38dc90c037b301f03c33f1163d0adec437a808d63340142237fe11143749105434c836cd3433b3b234063cec343fc12235e9cb943492203f347fdc593431808e34f23356350cc8233555ba2635db1c9935fbc906361913f3354df805363c4f2f3693c20a341e05c433000000006a852b335ebc6a35085c8e35a7f4ab35a5d4db354ecc00367c200136a9b80f36b21f233630c2a634b53aa6349f183134bfb72b348b66da34c223ac348f0ae1340164d9347f35fc37cc40993c69c17c3fcca08837621aea3745ff973a324b703f2315053880ead537fcf4b339c7ec4f3fcc572b3821463837d2dc4c3a527d2a3f76c05d392b1a8037e949953ae27a043ff310d63960e04d389c18483ce619b33e9691853975402b3831e3323da0f8273ead240a3a34a314388217ae390561903dbae621387ae40b357f8867370ae09837b3190f3500000000000000000000000000000000399a1834a846ad333b42a033e7bdb83327511634a9b7fc33d7bdcb3362aadf3332525635fd1d2035ac6a01350d3e4335000000006cbf1c3250a9693223b1ef31537bca338d41ac339bf1b53301e0ab33dc071036f3af103686460b36857c0436df8e4633a08d55339fc86e3320703b330000000000000000000000000000000000000000000000000000803f000000007f20f636319901387fd3743faa9df2373e180c35606e8438a660533f626252391505d5350075313ac1682d3f14cf3e3a2329ba3901109b3a89f8023f01339e3a88cf0038074bb93af794ae3ea472403ae70cd939907ef53c52ff1d3efdd0fc3b1e7d9f374f0aa339ed37863d1ced44390000000000000000000000000000000000000000000000000000000000000000b3e0b332e09281325e66683201d3f532948ec530249ca6303132b4300c9ec03003138f2f3166712f6584822f57588b2fb2b71234e01338343a45313428e467342abfb33073a297304fc4a330ac7fae30e7c803340298213463870634448450349d4c0834a5241f34915a1f34b20b503400000000000000000000000000000000000000000000803f0000000000000000d7b22d39c779643f93bc303ca310a73caf9e19398874423fa488b93bda62c33c60215f398e3f0f3ff2ec923b312db23d8c0551394646c03e8f1a093df090d73d71e853391da5533e09dd703da87cd33d37ea3439734b983df46fa73d3a5c983dcb899939f7f5b03ce7d00d3d4a2b013d00000000000000000000000000000000cb38ac336b8889333a019c33a63ab13300000000000000000000000000000000ddfb2433a94027339b455c33c2cb6333db36293429910b3424c31b34f19f27343048393305e01e33ffa0743355d79833dffffa33d90b00346c6d0a3491040e34fa763834a2942134020a2a3488682b3485e8543466c55434eb0c6734afda5d3453f80534a5340e34d2cd1834897d1a347bba6739eef2763f21e2ec3c291f2f3ceccc5739b54d5c3fb3b3bc3c0de2153d8ba536397b393d3f13748b3c8175ec3c5f388d39ce88053f3b49b63c566ad73d542e49397dcbae3ebe152c3d17dfff3ddc28813936c2393e17ce8e3d254ff63dd97d4f3940e3923d3559b73d60bf843d8cdbe239dd26853bf1e5343dbb4c143ddf2a6037165e82376ab38f379bab9737000000000000000000000000000000007cdcb63338f4a233fb149b330348ad33d0524e308c8f33324ea13e3012fb3f30044883321e1e693207b0713292c17332f3b1ae338bc07433acea58336d1ed533015549310a2b363175da3931f53d4031f8407f349918563464fa6a342be49034be09c1330cb3e533fe52ff337f86ce3354fe0a34dd942034c0ba143475aef7338d8347390236683f9d6baf3d6ea4283cee825039e0784c3fc5d3a43d5cca1f3d57cc263987d31d3f70c80f3e07abef3cb4777d390b7ed43e112cfe3d5576db3ddec63139596b8c3ecb8df13da412ed3dfea0853956b3183e3297ab3d9109063e90024939dea7703d851c983d2038bd3de9f5b6390284333addac3e3dbcf4013d1f430d374fef3837c9afef37a8941c38000000000000000000000000000000005bea4333dc765a3369a23433f6064c335d10e430da5fc0306e1fd0306652de3000000000000000000000000000000000d1eafe33bdc0f933e8541e34191f4b345a1e47315eee27318d6535318b2c4131cd95252f75950b2fd3ab162fb134202f4274ce34c771c534cc23e1342bb4ec340000000000000000000000000000000080058639d86c343fb09d983e1258ec39db7e6d39c94e183f02e1983e0dd3da3c68dc3a396d84e83e46a59b3e78a0e03c0039793925b9983efbd1823e286cbb3df5364739c3843e3e82814d3e6ecaf43d570b7e39b6ecbd3daaca0f3e3ae0063e012461393d86363d35a2b53db75bbb3d0e2a95390e4a203a42174b3d3476fb3c183da337bfa2fa37fe382538409e2f38a9c01a34caecf833cbd8083468431c34a7c417343c78ee3372f60034f6d01d3418bee933f14ce633130dfe3334d0fe33180e2a3407390c34cdc41a3471ae28347d53ff339d4beb335baf06341db81234ca57393477733c34364b4934d1e34934331501345f24d83340c3d5330c35da3320b740349080413410325034acc24934bab64d34f7ce5334ca166134539d5e343cfc5f393b39fb3e4f3c033f331d8239689e5e39a462c53eb454043f4b019b3c303f2639336f933eec1bf23e216cdc3ce722793937c0303e0328c53e7224b33d6eb42f3998c4de3da3ac903ea54beb3dcfa08039b92f253de6df483ef2e5043e411e3039143f443d0e4dc03d72f9a63da177ad398362993aba04543d973e013de2545037d15e7e375775ef370c01e83700000000000000000000000000000000b7fac733a0c09a33d63d8e3381ccd5332e218a2f2926762ff34a7f2f58a9802f8f75a831f0209631cda99b3100c09c315681a8330bcd40337ecb17336ff8a83328d82a2fe800092fcd871d2f4c10002fb476d1332bf72f33ec689133b2e9fc3399157f332c06a933e94ab833560e9033083c13327ac3d13281b95f3200000000e9ba703997d08c3ed35e3a3fd30c8339ae666a39b0c2363e42c83c3fbef1123c168244390372f93df33c233f012fd03cc71e7d392844463de79b013fc0e6ba3d77734639b4339b3cf6c5bb3e6ea7f73d195d83395795a53c83c2693ec3dfee3d34e86639f7403c3dc2f5cf3d273b9e3dc314b0394d76653a88ec593d0fe3003da2e75338529cb138b349c6388121c5380505bf33f4e7cc33bf6596338f21fb33e4d78a3367ce913320e78333a6589d33a842c832cae8d032668580331f77b633dce91b314731133140f81b318d031c3194dc3334e780313402b54f3412f97f34eed0193247330132a7050c32410015326f27f72f4047d02fa5d0e02ffff6ee2fa18d863476ad7334ef7a9a341a72a734000000000000000000000000000000007b258a39db198b3d6e5f6f3f1c338c39dcb37639f0b80e3a499c6c3f590cc83aae98213930dd3939217d473f63b0a83bdb48753975bdbb392d75143fe151883d51a82b395bbe2c3a481fd03ea66ac73d6c93813962173e3a330a833eecc1dc3d29a036396150163d00dbe83d7cb4963df57aef39c05a703ccc433b3d68e8e03c7ab329388abf7a38d38b94383e178838690ef533ceb3cd339809e233906af633b6172b34c639103425471934e0df3a346562283405ce263423d030343c8c3534af5006343dc0e5332b2ff83373ea0334fca85733577f5c33b0259f335de7b83324042b34a6cf2e347fef3b34a7b43d34e6468e33b57d7c33c1447733bcfe67330000000000000000e6d9db329f9fce32a595e53356a8fe33d01d093420c80734b8786b39999ace3a3041803f1437503a7bd74e398544c339f7026a3f0cdbd53bb7533439f9bf4839edc2443f36b2803c4cba753935d4a339a4f7183f54782a3d6c3637396fa17d39f6cbd63ee035ad3d6e027e399ff0353adc7b853eb856cf3d0d073c39949ef13cf6e6e83d91a1a83d125b83399e28f4394316473dd76e143d7f922138bdef51387b8c833889de8a380000000000000000000000000000000022d12a33446f0e3318de023328ad113376ecd6338e3cae3317129533f415aa33e9721731c7de0631d8d20b31f5da0c31ad7a1b3455bd1634727fdf33f5a9093435a5ff2f39a6e32f60baeb2fe8d6ec2fc743463385300034c3032334a962493361836e33ee319c3354628333fcacd1330000000000000000000000000000000000000000000000000000803f0000000047995b39499387396568683f0ed62e3cfadd1b39bb942b39d598453f7406f73b97af493959438139f4bb1a3ffa5a193d35de2a39862287397c2bdb3e61618f3d80f56739bb70873980a0893e0213b93dc53928394be7d23c5475e93dbe67a73d4ec4bd397db9083a0754303d7cd0223d0000000000000000000000000000000000000000000000000000000000000000a6e21e3721c30937835a293717293c37d7e21f37d3bf2a365fba7037c06c013805fc2837f0901a37e5b67e377d41d93741f22637236d7c366261813771f7cd37a641b7373227593782e6d437abd1fa37adb2bc3750157e37d51eda37b7d904381c0e793772980037149882378916be3700000000000000000000000000000000000000000000803f000000000000000045476037faef7f3f7b0dda370c689b379a5024386c4a553f01c75138c63223382decff37c57a2a3f07571b381a91fb37c047f337ac04ff3ea32e0c3807d3ea379b1b3038e6baa73eaf996e38858d1638d47a1038061c263ec11d30381e7c0338a64ad637bbdd65384d11ee37e2bea83700000000000000000000000000000000ce1b3c36d67d2f36742e453628b27736c1e8ea350168cb3532d417364be5493748db1d3658641136223c4c36098c3d3753d14a37dd172f3728d85d37520ad337d70209369cb30136ffe9f03658fed6374e016637abb81137afd671371a209037734c53374b3eaf36d59e793798e0d337e063b1375b894e37970ca8377266d0374ee19637673051378bfa7e374d289e37e96c3b36cff37f3f40e3c338ed8804372de875364028793f80fb5b3c571fd837265e013730bd4f3ffc6b783cffd87b374410b137cdcc273f0b1d053c555c16381b89cd370f47fb3efdbce63b087f003838e886378544a83e39b22038474f9a3774d4bb37bf082d3e59703a38abc2e2372e5daf3776dca83b8d031438ae90c537a960f636520fd9378199db37f6e6a23733659c376c2d3c37c2efb337d308ee376f49833594e72b354d5c8735a24cbe36cab4843640bf4536846a8636a6b69b372f68133786a9e735d7910837cdc4de37dc4f1a36c52a043654ba1136b69f52374095543798b28d36d31f3937de5c2a38e738a837300fe8360daa97379bb9f1373f03df378fa08937f2fbbc37d9c4f7376e9f983793b30837a8b74737a02c983788797b37f2cb543f6a862c3e2014d9374ec671354a00513f871d313edf380d377d901b375b032d3f9726263eee8fce3744efa237bcb80f3fb90cfa3d07580738203704374c3ad23ebfe9b63d8b2180374be2e337b5008e3e89d1203dbf6e33385eaea8377e6f1d3ee149ab3b43d6e8377df0ab370b6c4b3833b03838aa1ddf3740f84a36a519df379fe2e237eb7c5737ad5e2036bafe4b3313cc593685ae5d37f01aa636e56e86366663a8367b15b737ba942737dd2592362eb1d336ee79bf37b08a7936e35f3a360c39603666238b36b82b9d364a8289367f768c36495e8137501485379bf613374c0532373e9cc837fc3f6e37510aea3699c609378fd31538fb04b8371e7376375cd09b371496f637e7a0de372199d0375e88d437f4f5d93719d94d33714a2a3ffe4aab3eb6f73936c392e836afa1273f75f6ac3e2e3bac37c6a4663765be0e3f4388953e6001c73749d07a36ceb8e43eb3326e3e25a6e53693b72c37e2c1a83ecf2f2f3eaa5b8f37391b9d37650c5e3e52c8d53d8cffd8372a0a4b37fbdadd3d58632a3d0b4ee93733e97a37890a4d39b000b53843f69c377462b23732ace9373c650a389003c937c4a3cb364d6df5359ca4d436b9265637b93feb360d67c4366be0cc364c3a8637b643e2366ffa8c368c83b23680014637d5097337e37df536ca9809370a7fce374fbbad3795f10c3787c84137b8ddfb37e613ca3733053c376fa38c37ede3fc37cc60bd378fe807377cf443371bb1f237181eed3776aab137c061ce37fe5f033807a88537428a5c37ba976437f7208737ee10f7350ed5fe3e3085003f8ba99f36c2b1d5360f00013f70c2fd3ee8cd513746a1e3360e10d33e34a4db3ea49f4f37c3aa9c37325ea93e186ab13e0fe3d837308bd937b6917a3e6ca8823e1dd8073805e4d737c15b1d3ed6e52c3e97fffb3730cf8837a74c943d0a85b03d1847c53709d0b8376a13a0384e149d39e154d137e592183768169437b9eea437370d3f37470fae371bec883780b09237fad2ca3733ffbd36534d9936627698365a0b223751efeb362266c83639e7c736eedff63626c51d375d790d37fec20c37797b8a3763b8143711ef8936a06b883628aa70370ab195360d798136e5717836b7b85d37eb9ef837c3a9b637f945b737ebd008384ccb0b383ce1d0373b3cdd37be51143803e8a4372ef0403715223f37add4ba37f0d09a37c50fa93e3c662b3f51308a37adaac636b17aa73e03282c3fd4ebc636bf17ed365ee48d3e5ca6123f6a84ef3618a36d37842e5d3eefdcec3ea9b5a3379c2e443762791f3ef4d6af3e3a6b8b37415bae3692f9b43d27c86d3e185a7d37833de6372971d53c0632fe3d318ff7370715e837cf1b43383654ea3b34cdfe3760faae36b1dab1379d25fc378c8d0837d3d7ab36ea9a6434222e65347fdd19370e6bdd364ef2273674a006368fa630376edd1637dbbe4e35e9d435352c7c3e376c025a37b826953691587936f61b8637f9600837457610361ce005367d77163768c5e237c006823792972e3713eee6372fa2e43733378337875350373f6af23762c6af37f0b725374ac12a3753cabd370ca20038c210f8378f13f4377988013838fae0364136273e7123563f4cbe653416916337b3c2283e0fc0553f7c822037ae338637d6b8193ee1cf303fdaab963707b6d13718f8d93d8aa7133ff896093881b546376b009a3d3e7cd93edead7037829100381c70bd3cfc16963e1afa0c38d4c7dd37f3fd4f39ff5c253e61a5f937252b7e3764802839cf50293c3cdb9337bbb3e4379fe301388be61a384b75de37f9444e37f426dc369d3ba336174e5e3763e3073723daf636b0e3cd36e5440537b64bff369db28336c027ba354706ca367abd68377c7a2a373f91a136758c683702c68c3781250d36cf3a0836da8a7e375306cd3793d2833799244f37c99c9b378b67823773d1423724e5f8361c3f7c37eae004383bbf8637b37f7837b1a01238eed1da369d469036c29e6736fa4c9a368ce2a337219e63385cf37f3f2bff18372f0778378705713b8bb47d3fab964a3795699a37466cb93aab56543f9a44c137fa308a37d2d0f93789d22b3f28268f37ead1ce37d2628d39be75003f2a4b10387181f8374fb17938e227ac3e8f913f38be0c7b37b293d337ca65313e5ab387376ff3d1375a964c381977563cd78f173822a661362d1192362699e8370a7c4a360000000000000000000000000000000061ddd736f9b6c436958aa5364047d636e9639b37968216377c2e073700a081373c26c537c0e288373a3eee36b0a4b93707859f37f38626377efc7836d0e49137de88cd3740f38037cb5126376e92ba37bc211c381182dd3782018e37abb20e380451ad3738af8737f9b661371800b8370000000000000000000000000000000000000000000000000000803f0000000017960937f986c637eded7f3f5a1deb379c46db370eb808383a69563f140a4b3844f7e637759e3a38750a2c3f9f7689381bf0c6379653f737e169003f77cc0e38d65fe2370d080538d5e2aa3ea90f1a38aa001c3869b93d385a882a3eb06658389d97a4370951bb37df493438307ddf3700000000000000000000000000000000000000000000000000000000000000007b1dcf358d1ac9356e827536a6149137d8318c3619138b361e798d365c9873372ae5d836d5b8b236fb21ec37d76839381f7e863638c16d365b6a9637d043ee373da4643788083e37e1acd63759482f3861f22f37700eed366666b037b6a606383e750a377a54b036f8f8aa37607bfe3700000000000000000000000000000000000000000000803f0000000000000000906a2138bf0e703f53523f3820e12138b695013a84a8493fef76743a71701a3a684d3f397a71243fd44e1a3aef259539e9d43338b8dffe3eda025138605e3938430b8138389cb33e6b9f09395fe88338e5266839e66c523e65030b3a6f61913941542c3872e4653d4e694838788d2b3800000000000000000000000000000000d478d4361498d436dc672637990b9e3738d81d36e1521b36bd223636c5746b36505e0f37bf33083759132f375f758b37b26bf336daf0f236993efb36129f2c37455b8c36d21c8b36ace28b36dc98cd370d7c1737d01414379eeb1c3706892d37194e7437bdb96237ed6ba0377d36fd3746908837aae730379464cb37dec80b382088d0370a1fa937c7bce037a3570438689105381e4c6e3f53fa8c3da3070638f312a8374e765c3f39999b3d2bb8e0372ee91a3869073a3f90a4913d4d1733387cf40138e185183fca18733d99aa36388aaa303ab005eb3ee5b1373d2372833a650105382173a83ebb37a83c09a64738f4062c38aeb84a3e41ec083a29953a38b0a42638453a6d3de9fd1e3a733d4439413c04387e8c2539bd053739618dbc3848256a37bf246a370d8a9c377357c337fab2053516dbfc34580b113560641435dd773436fb3434361315bd36d6c61037f1bcc436bd6c95369d5121374916623792463b36322d3b36de9eb936538ed93765185437642b4037b8fb8437b5d7ed37e8d13b3712b82b379da9483755b95e3766633f37d04ce136632b75376ce1b237233e3638eb7fc237bbfef53785bf8638fea408393824493fbbbd573e407aba39d4f68037e5f43b3f8022543ec89ef13790b0be3747001d3f60aa3d3eeb7e0f38ee450738c74d013fd7e8183e6a188038562f74399ce6c63ed4d1e93d57fd3b3aa9f04c38fffe8b3ebee5913d1f6d8c398cb6b637ce8d2b3e98b91d3d89262b38f1cfd137cdb1483d4bb93838c5580438491d0e3897279e399e7deb39c19b8739c67993362494de36bc617837bf98a637bc58c534b081c534e029c93489d225378b6970358c2f6f35cad94236714fd636f7c529365a6b1936c1653e36781005376dad4f361d7b4e36c5db813601b19b37898fd636205e283671aa42375633c037eb306d37b6883137a69084374429bb377ce48e3784a02d3700b57b3757f9e037a1b923381f3dd537f47706381fae30382372cd377571243fe281b63e874fe63798e79637df231a3ff21bb13e2635e137ca8c67377d2c023fcbdd963ee18c0738c8ebf237f071d33e4d50773ed23f4a38cb01ff37ca83a13ee13b3e3e9b1729382f3c0438a982613e3444023e0e3d2538cd5fe33781d5023e4aa5953db0cd2a38e07af637f38a193d74b0623c14eb22386cd90d38231b0a396a6d9a39fe6ea73819db1337707c1037b83c3b378cc4ca376325e336f2ddbe36c53c1937280f5e37448d87375df87e376a318f374f4ab03791de2d37413d22377d7f413700378a377484f637549dac379af50d3840a36138c64b8437a82867378784853792c1a237df90cd371015be372a65cc378277fb37d309ee377fccc03703c1d937711a04382caa3538bd6a0638affc143814eb3a3870aaf237d017ff3e8f5a003f86f63d38cb76b637a4d8ee3eff35f53ecbc00b387ccde437f61fc83e7311d03e1a7316387f60a7370227a33ed62aab3e061a5138d5ca013ab985783e0de6823e197d853ac7cf0138fd8f273e77b03b3e609c57389bbf0838d7e1bf3de00edf3d504229388b9d05382e199d3c1eec0f3d15d9983827e61638307259381d478d380db0483891ee803798bb743716b8b1374ba4e0372350a235efcea13542eba2353a23ab35e383873528145b358d7785358d472c3743b72236165c1c36e3de2136be7a7937c9dc5236bf6f53361a0453366aef94370c9b983673437436c2fe873659509537a37d293705ca1437fdab1a37e1e47037f63ae6378ffcc6375e3ec9373d8aec37552d0b396076c5375a73c237aecf823875dcfd37877eb43e558a253fd24e613805a24037b262aa3e189c1d3fa9c51438517cab3788c98d3e59a5053fabcb2f386202eb376db5633ee924dc3e1fcf2e383b69f93763f22b3edc48a93e4c47343856e40e3826b6dd3d75b3723efb806d38233ab4371023593d6a2f133ed45138381d8feb378a0bb039bb1a523d9061ce38ca1cd2371348e538b559ec39948c3e392a524137156a1237e8f6823745a4be37c517d435f918ba35add7cf359a2022361b8fc636212ea2366b19ad3626fa1d3755fd433778042c3726773037f0189c371b5baa3640b03b3614c23936be9bb3378e46713704e55a3736bb5537349689372621423742de3237f3f42c37ed8b9c375849a13740ff4037a7b8343754dcb8371616f739ca8dab390fea2b3997ceb739f5211038cb5b533e37ba4a3f7446c239dacd6537cbd04a3ef8b0403ffc200f38704a4f3702362c3e4028203f9d6b7338642c2138564e013ead9d053f2ae7db3bc6ee14394effc13d7304cd3eb099883a0fd71438807b453d6d6f923ecef0373c2f6ae9379349a23cac73393e4174b33954b0dc3760b41438a2496f3dcadb19381f1c47390a709f39850d433acc07083a146311371fd4cd3675cd2a376a91bc376d51153686021736ad2114360b111c360f6c1e375437093796990237f6ca5737dad51737a00415372d961237c6e11c3720ba8c3643d78c3616068c360af26e3741cb2737c50c05375fd0fe36ce2e4d37abdfc437a36a9e37f9198a37de72dd3752e78437d715543730402c3750568037dd7ac337d97ba3376ecf9837b371c63773521138ceda7f3dffae6f3f4043203af990d2375c66813d2f91603fe508473aa4b5f137a211643d45b23e3fe8754e3a703b9a3719821c3d338e1c3fe725203a9028d639ebafbe3c4f37f03e8e54ca3a342bdc3731fd3c38f25aac3e23cd033cae801a386b2b3a3838e24e3ee4ad4d38bb00ba37d2d9ec3791f87f3d96a36939bf69d237c2fadf37764e1b3802700a3800000000000000000000000000000000bfe61f36139a1f3615dd1e36729d2336ffaa31363728d735ec99d335c6e6143702f1493725f20137275fc436bf09a9378dfb7c3743aa1e3761720f37c6e6b437bd011138fe35d9378a7fbd375aa82638bab7a137142bc0368b309b36e126b637b099e1375840b73783b59d379739db370000000000000000000000000000000000000000000000000000803f00000000ddd38837f7762038b664713fbc78223aca1b0138d6500b39bbca4a3f2a67893abd2839385061793864ed253fbcb70e3a1a191438ac9b32380849003f7fed433ae9667638eb60bb3879fab53ea016463a87e715393c5ba8392fc1553e5a247d3a81520a38366014381f677d3da0743a380000000000000000000000000000000000000000000000000000000000000000e338fc363b0c1d3718445637aaf28e37cb39e7373447f5377316be38d657593916ea0f3804a43638bb9754390bb59f39d164d7376b6fde376a9f183918e87439ffa54e392670653917e2ad393e0edf3996323b38eee669388c626239ae4abc3997bb9338de7f9838e5b23039f2a5513900000000000000000000000000000000000000000000803f0000000000000000ad334c3a7dde613fd094a83ac7bd893a71ca003ac651413f72fc4f3a32791e3ac5352b3a6621203f1ef89c3ae45c8a3ad4fe1a3a0daefe3ead6c7f3a8fc5693a05d25b3af5e7bb3e6a67863a15e67d3a83a02c3ac28a6b3e96aa553ad3d2493acfbeb839b182e53d408e033ab6dff93900000000000000000000000000000000f819b537f108b8383dbc3b39629d8139986dee36a60725371e906537fce6a43805c79c377c70a73788ecc2373d299a38eade02388c660d38bfd32b380618a53839370b38a7d10d3847f13439863d9539d91418386e8076386e35c1399a081d3a7eab6c39a8697a3996e8be3960f6eb39e1041d395e1218399d5e83392871a139aad04239fd5a4739b6eb793941358d3964b5233a42dd603ffc5cef3d8441273ad36b013a9cd4473fab30e63d6d26243a7c2b023a8ff42b3f9d1ed03db7af803a5cd47c3a15150d3f3a01a03d4fc1db3a5c292e3ae079e13e6a0d843d3b6f973a98e88d3a7be2a43e93b42c3df323aa3a93f9233a8b57583e5121d33c2f573a3a88b50c3a2f12cf3da6b8983a8ab4853aef389f398e76c339a560ca39330fcc390c67c83881e828390d287c3911c1973977fe59373ee68d37725fc13775d4ea37b3ccf1371f91033870401b3822e6fb38faf5d337c726da3738676138e6dc5439bfe546387ae0ab388d254e3966569d3909fd1938b9ea1f38c793fa3840947d3939d318398927213996f285393f10fe3992c39439253a95393418c5398caf013aba624639930a4a399ab98439a7229c39311df9391255403fa3e2793eaacd103a20dba0395e8f2c3f35166a3e6088f139a4dd713a7952113f3832413e7cd4d73a83b81d3a5bcbf13e4a45213e467f6e3a32ad263af9aabf3edc92fe3decbe5e3ae8c8ef39fdeb8d3eacb0bb3d438f1b3aa5347a3a14cf373ed41e6f3db91ba83afb8f2f3a3051a83d0f21b83c7a03873a1747b139900ef039c5e1fd39b362ee39310bfe3747ed0738479c4c395880953937e1ae378ce7c53758445b38bb5b4139e528143890491b38229a333836585839df610338e2b10b38ea3c0439f0f88e3902b1d237d7cfdc373d9aec381b8a6c391c5d34383c783538f142b938d7625f39ec5ee1372d80e63773bdba38968d3a39e494a6392dcaa03987e3c639893ce4396dda8c39cb948839059c9f39db59a5397943043a36dd1f3f191bbe3e3b6d133ae8394d3a63e40d3f105caa3efc7bd53a9d333d3ac4bef23e4b4e923eb3b08b3a72b6423ac44fc93e7ba5733ecd69973a4c1a263abcf89e3e7239403e5dda8b3a5379de39c8da6a3e02e00d3ee3313d3a6c90ac39578a173e9f6eb53dde86ec39d06d063ad9498a3dfb70203da5fb433a6bf1a4398b2dc339b798d73923dacd394ebe423949926c39e68ec5396757063abe3a2638ac3dca3800ea843983d7c439b7fcad3719b5ba376a6ba93810196039eb56c0372fb5c33737e3cd378924d83857f49339e5f097391cb7cc398494003a9d71cf374c33d03729e73338cf7b2c396ff86b39605e6539314999391201c539ab7c043a942a003a2ec3103ab93a263aae07c6393388bd39c80ddd39e7bd053ab895583a99ecf83e018b013f91c0803a70db483afee8e23e9422e43e9eb2ad3ae3d0893af680c13ea720c33ee281ae3a9cb1e6390100a03ef017a23eeb1cb43a1961a73aae5d733eb5c5763ec49b983cd896ef397ec2393eaf0b3e3ee838a03ae521013a3d5eed3da1b9f53d69eb423af2e75d3a9bd84e3d2a075c3d94c5963a3070183a23e03b3af3ef653aacbf593a373a2a39f4384c39b7499839e203ac39ec378937c5f49937d8360439254283393c39a03737f6a73774ceda379608033879d71638f7481a386ec82f381e1e223918efe037d43be837ff7ad438e8566b39293b0d3943cb0e39deb06a397739b53972aa9c39f3269239935eb439cf55053a370ebf3926cfb5393909cc390d1fe8395f765c396663593969b985395816a039cd60dc396d8dbd3ee916203fab1dfb394750ff3974dca83e6b190f3ff82c843a57d495398ff2903e37cef43eb809453a09a6d53976686e3ec3cfca3e7904883a73bc013abaee3b3ea3d8a03e3cea983a64be453ac571073eb52b6d3e06ab943aebf9493af9d8ab3d37841a3e7ed3893a1319613aa04f123d40d9903d00aebc3ae07cb139a6c1d63981f2053a017ef3396bdc7c386235aa38b9223739da526c396c7de2373e6ef13762176c38bcb94d3912938137b8598a37f120b63778c82c3943261138b3941338bd612738d8862539d8bdea389c60f43817533e39b03e9b390ac81338d12b0b38f880df38afd272393b544139d51e35397a6d5a398fb79f3951739a39b8608b393c579b392efcb2394718a039d3469c3938dea6393f44ad3936e7e339a0ff783e72a9403fc51b2d3a450b153af98d603e57a42b3f69c5cd3af8aa5a3a39c73d3ec115123ffb5fed3a2377dd39c1951c3e7377f33e12062f3a4bdf1c3a7d8cf53d0e16c13ea021743a821d0b3a8060b03d869c8f3e06a2763abee37b3afcd15c3d8bef3b3e300ad63a010ed5392b00e9398594c03d386ff1390482b13970f3bb39cb600a3aa093f03998aa58389402643897792a39dbee7439b645c3374c2acd3708aff637443e14388cf8eb3769c9ef374c921938b98f5e393aa30938d5c70b38094516385079b539b5250839e7180839f82e42396b1d9e396ff8353858393438a4bc3e38adf71b39caf68e39d0158439d124943954d5c739c794c8395798c439622ed239f9f2ec39abc1813993fb7d3998d9843968959e39c8eec7397467ee3d823e613ff58d0b3a8c7aaa3996dbe13d8e62483f1f6ffb3a72810a3a1755b83d312f2b3fee8e5a3a1171753a290c983d5c210e3f22c0c43a2020053ae2d5353ddb2be43edd41c53a8f075d3a2ae71c3dfa41a73ec06ef63a0d5b2b3a7f485b3a7f98623eb544893a7aeb083ad8b1103af7cdd13d0c2a1e3ad499c339b3b7cc3938b2153aa9e70d3a0000000000000000000000000000000027f7c637b27bc8376e7dd7375dbaec374a1fe3373ffae4372650f237ab5d2f382af20a3986860e39708d4739a261a7396749eb37499e013872498b38ffb435398c5b14398750143961fc3339644e8e39bf4b5d39c64a5739093d723907e99f395b99833738128037905c853766c88d380000000000000000000000000000000000000000000000000000803f00000000f31d8239256dfc39f470623f762a4e3a79eeed3961172f3a99cf433ff5ea803a9daa2e3a3a67603ab928203f21da953a50f5cf394786263a3faafe3eb40c823abf09ef39cf151e3ac07bbc3efbe0923a8a17e8396421fb39f6e5753e37ab203a879dce396191e83910cae63dada9553a0000000000000000000000000000000000000000000000000000000000000000b2dd1a355a8c2035a35b2535b680d9351164c9339aa8cc3347052834ca1eed355699e6343ad0ea34cf88f7349831f6348a426335558f0d35fc1db63547362d373478763478c97434df878734fe7a5b37feae3936fd19bb3515048b3607641037b300c23788c4ad379c38cf37543bdb3700000000000000000000000000000000000000000000803f000000000000000052757836a39e7d3f8b0e2438e08bab3786ceeb3689485e3ffcd5e637bf599037df7ccc36e0322f3f8d44e6375a772a37d4070e38ea12fe3ebccc74382c590638e8760d387f5f9f3e4cf240386c47bd37b2dd9f3780c8003e6c07ea377f451f372eae2d38c7e9273a30f77838f676df370000000000000000000000000000000019d672350e7f7735b2a97c368e7da437d5510c368ee50d36194b163698f71936458e58368ea95836fdbc60361b26633662d297358fdb9735f99dad351779b435fc6a92352ced9835429f9c3581d4ba379722243636332336686da63669a6cc37bfb03e370afe953551be85372b69df37ade8de37ec7da7370561d937b02dee375977f836e2cab7368f57c436d5bd1337bee43d3699dc7f3fa5d5bf39569b4138fdfe1136d3677b3f09a3e23957692738b8f1613606505a3f228814398dcabb3773f0af3566482b3fbf60aa38fd68e637a25bea379811fa3ed335c23866753f389d2504383a689c3e174341391e5b3738de180d384f7bfb3df33ef8381141183814ffe337a69a2c3a539fbb38128b173833d9ac3668d91b38417653387525cd37ff7e0436f672133601526c363bba8c36401b7936b33172362d348836900a8f362bb44c34332c2f349eddd035e8deb836379157340790c633996bcd34de7303356177263628702036bdf32b364b11b237ed5e8736dcdd0236cfebae364082d137e5ca28367bd89235cfe51836f1513637ea2a2637aae2273651b70c37e0a03a37c2fe5237355512379b456d37e83480371b0527366957613fea0af53d2a67fc366592833667795e3f0da5043e014dc83653f58436f24b393fb196003ebe1232379c0fe334038b153f96dbd13d96ad0138fe6f8b3757a3d73eaccea23dab632f3884e0a2374d63893e2057463d16093938bba81e37371df33d5472d03cdd33c737a165163643726c3857f3713ae2dba3376c8458354075d0375fb02e3858d2b637e2bfb335137ea4358b7dbe3557cea236fb45193670d20e367a671d36a02a2a368bc15b33846e583316506033c16b60337c06ab3548881035dfbde835ac522937198b28367f5020365c642836d8ef2b3796c2143483f3113419230f3430330a34b3d5d9366828ac36513cd536029cea3639765a37bb1ce63673fa38377a548037eeddd036da69c7364f67d336d374d03673879f357a45303fbb5b9f3e674503375a5b193612f52c3f3c71a53ef55b3f36db5163338f40133f46c3923ec2d0703354ee0f370528e73e5a5e6d3e3f7c0f389d380637a53da63eef37323ec8faeb377ed312348a9d4d3ee0b1eb3d0ddc08347880f2363783a53dbf6c533d3cb93a376592e236afebb53836c9d339a5ff863728c98836401471377087e437d4bad936791e54373e525e3772fbb5375832d237f2a013361cc1153645841636b144193677ef5736a36c5a3614775d361f9a6036705636368f70333644203536b5413a36e8e94e3744f65836d2d8ce365e4fc037b5f55536d90534361e7b3836182429376b19683676646336467e6436f78c6736776bf93783c8ed37ca7a11380cd814380e9f12385aea0738887e0f38b869163814586937d574fe3e81b3003fbb708b37012e153667dbf83e7c7c033f8f9b1a3656e15c36745ad23ee336e83eb26e5f3614d13b36f587a23e8387bb3e9f14213716441438f51b6d3ed769893e47d03438ddb55537e6110b3e0ac3383e3fd9a43706638936696f493d872db13d5be2ba36eaf7eb378c50c33849b1d938c7160738c670cb37fd5e7738ddd689387ab6fd379d407e360aaf8836ac6e6a36d0465936423e8c36e52f8d3639dc8936e1068f368b0d8e358c89a634457ebb346704c53549d8f433aea7f433fcfeea3391fbf7333d40863608c23136e9c92c3646f4bf36a9b2af3706cdef3675d2ec36696fd6375292683342756433c2fb5e33c1cf62334f59923791e1613795098c37e9e0ad377df5c637f048a237de3bce37168eb037ad46a736f7609c3efccf313fcc572936ada79d3637d3953e96f3343f19ae8e3657a2973691c0783e02f11f3fe4b88836686f0234fcec3c3ec2e2ff3e1f9f03349c79b737537c043eb87ebe3e9bd0a437160c203828c0923d9fe17a3eaf87173831621836c5589d3c6fcdf33d3eff603368514437fc91643812d89d3a3246253786585a375dbc5c385f07713811e5ef366a0ef43604419f369c125635a93a5e3560f7ee35ee63eb352f94e435e504e6351268583536404735e7fb1c35a49d5235ef258436ef1b903599ff1335a54f1a363af95e37c521303683c42636dc744837cbb74837b50d66353a2e3135fd152637efbb3337df1c1e37e6b713374d1a2b3794e8e23625c1d536979fe736e800f63664629536f1ac8e36c207b336dbf3e7362076a43748dbe33d4077633fcd9d1335f7e1fc35203ac63d34fb663f7b70e935e3d3dd35f926b23d83cd443f6f935b35f345e33759d5523d77b1213fad2a8337b1db1538ec6f183d6c8fec3e24220138f3180738e234cf39fd26a03ec576d2377447aa37cd5f8f3aef25193e112f3837a43ffa36967b9538587cb43a260cdb36c48990366554fd3756e90738d6b586362d0db936aea6b036414d9e36ffd3a636c3c56235e86b61356f02633540f16035b77488352ac18d354e488535866193356b56283654192736733226361de82536ca2804370585a2350dd29c35e1b5f43578f1a13652f3b135cd08a73598a8b335a04a4a378b0c6a36cea16636e10d3a37bbe7bd372a9f9e37157a9f37ed20f83792a58c37944d833770e29837c782b637f9d70138a8eee73891f87f3f253a9f36b8565037711daa3851c57f3f74df6535a66317370e4754387285603f5b5ff73660a3cb372e73813832b7313f6caae93715b413389997a03849f3023ff8f629389f5ec937f2c66d385a62a93e70410238335ff437386dbf384173163e5ac50038027528388619c1389d738e3ce2d504389c92d0375c4c4e38b2f66038dc4c56370000000000000000000000000000000032dd0d35795a0c352f700b35ee740a358372c4337ddcb933dcf3e432464e0d346a359434c0887034f221733474417a34171b0436059b0f3569a00f359db99b3569c6f834f218f3342bbffb34982e0035bc767237090e18373c6fbb362d157337b25cbe37cebe9737e5b38f37f50ed5370000000000000000000000000000000000000000000000000000803f00000000e49b9835f279d8370fd07f3fcdb59537675b51342d67e036e4c75f3f18ed23375d520237006edd370d46303fb0fd0938266da337ec5943384df1003fe8a7533863840b37fee7c637a88ea13e321cef376308a93773a30c38aaeb063ef23d0838c5e7e13741842f383483133c974623380000000000000000000000000000000000000000000000000000000000000000ec22bb35a4c1ab35df9df33568cb0a36aae6f0342149e2346971143586a64f3602682b36fc102436217a733657e02b382cf721368e901d36c7a42f361b2333362c0b903510f38f35ed7993353d9d2237a5a94637612f34371dfadf37e0072138eeec1c366bec1436544e8537fc6dd03700000000000000000000000000000000000000000000803f0000000000000000d9053236c148753fcab221381c90d6365fa7a1379696513fdd5a0039c6a68038ce7ee138f8c7273fc8b1653a17b50d39fc46a4377137fd3ee4292d39bbef06384d7c3538ca43a93ef4c6433a0d8f4838aec9ac38e9c52f3e5df2493acc4da4385c0172389890073dea37fb38c2613d38000000000000000000000000000000003021523486d954344d7b5534f55654343325a0335a8ac233275dd533ec39d933a0410f344d7d2234bc373c34173c493428f915345f001734ac9517341da81634c5ed1835b1212035c59654354e397735ce1c8134f8428934910c8e34a82409368ad56a356abc263573c2a735f435d03557d8ee365e60d3361c170637b2105d37706726345bb223346a442434d1482534f1d657340cb67f3f6401903ab65872378dde2234bf05703fe4d2c13a827a5f3830a5843617ec4a3f531b7e3a3faab33879ee16347767213fb3d5083c5ac33a38722a65365134f13ea861203cc3e84d38f51289383e04a23e5fabd13a0a03c93813174d383c45293e512bac3ad1599138b5160c381220ba3c0127603a9a771e38eb9821344789d03563e706379352e435a73c0f32af9b0c32e1540b32f7830d32d4d5a434d860b8343900ba34956dbb3469ab603451a581346b42a5346083b434614df734ef81ff34ced3063581a60835c18f9e35660aa33516c8a13587e5a1353b3bc4355ee5c63503bad035ab2be23518c68b35359b8d3520f18e35ddb58e35d48c1636c1421936d607163657231536c898c934959bcd34d06fca343123c434b7de0e32fd5d593f03651a3ee64ae436b4abe5349e884b3fefa71c3ecadbaf374c2cef343f33263f5be01b3e8efd67380c1b053528a8063f380a043e4de5043842d1a935a17cc83e1735d83dd61d2438832fad37e330863ee6f99a3de703473887d6f937ec15173eb72e233da926763859865037c9daac3ae69eb23c307cee3770fac934f1279636279da9375871a6366b9bb934dc3ebf346ee0ba342686b5345de2d2358444d735bf4ee73512f7f4353fcd733534e9793593c37d357196803536bac23569a3ba35ea94cc350136e9351732083637900936d10f1536acb31a36148c67347c247c34e0ef81343ef7b23423a1fe36cc43dc36e9d40b37efdc963762d43735fde33f3563ea4c35b1883d3548760332791e0132fed1fa3149b60f3425b96036b5cb2b3f1162a83e39d2c237c85c0736601a203fbed6aa3e0d0e573732f66836aeb3033f40ff953e7158a6374dfdc037e06bcf3ef9557e3ef89684387df33636c4ae9a3efb54483e27473a370946aa36fa40493e98800e3e2ac936388954363898ddd23da049a43d29748138634a4a35a0987e3a166cce3c79eff3368aa4f731d964063805d74838710bce37e9492d34028d2f34d2053034920b2f341452d93525a9db3584c3f9354f460e367877e93450bcf1346c80ee343568f234d417c1343266ca343d6dce342050d33414622f3654e02e36202834362bae3a3627c8df3443c0e8340030e13433c6f634bc909435e2ff8f3553988d352caaa635072a4437c11835373db44937208c8e3785463e3437263b347f073c3452123d3441e0313457dcfb3e290a023fc1a05b37209fa63675bce63ed739043f2b725a3745ed1835ae52bc3e8186e43e348c1f38f666783763a6923e0aa5be3e6ff59038125edd37a749603e91d28f3ed3e9813869e83c389efa093e0f70533ecf89a33868b41838c75e893d6e44f33d4a466f38af280738738a723aaef0023d109c3b38c6eada3533840d386c684838021faf37d8f6df310ab9dd313dd7dc314e83e0316faf2f35ea8e3c350e563235795b3335a5e385353fee8d35d78c8a35adcbbe35e09a5f3406846e34c0ee7c34a95082344e100c3607f01436a4831336a4a91d36d8840736332c0c3636190536bd4f7c3775f7c9361846ad3655adc3362469043771840637da759a3650890537df096237ac4622378d000e37c9782f37fcbe52370c285137c359a03e01c92f3fe4173737c8fc4d35b3e08b3e3a64333fc88f443567233e3733ab573ec52f1b3fcaa83338b784413655d7273e6622003f86810b38d6653d36cca6f43d1b1bc43eec762337d8104538ce3f943d4f4c8c3e1cdc8d382e14a537b5e2033d5858243e1cee0b38da4dd43702ded939288f253d629b0238f3c66c373a07263851158438b886a0374c19cf34b8a1d3340094cd34548fc7343d2f08363a2d0a3667610a367bb308367d5b7c35ca768035c7f48035dc03833535a0ac3586faa53539f29c35f9c3bf3574609d35b6869e35b0359f35e2ca9d35eea70935eb6c0d35d2600f353f2612350287d935d306ce35c68dc53543eced35df18ea3450a4f0348b34fb3407b8eb34ea57c53446fa1e328c561a35c2fab03515dc8d36af94083ecad95d3f6e2c003684cd1136e563be3dab47623f342710362496873581c1a83ddbf23a3f4bc61338d4c684374756283d23021f3f31032a38f7e384363c28193d465fee3e6c2a1b3831d1d236454cfe3b8dbcac3e64af1038fa173938d54c383c8fd83f3eaf5386389034bf37710e2a3a3338523dd042f0376d8802365cdc69371281bb37baea8936266f1734134a193494b01934c60319348c9a063564d610356f28083553673a352a8bb03323dab133990cb2330ad4b233b9748234a7338434aeea8a348b5493348a1644354a434b35d12533354e2f67358ed919346ee41834fab5193451811a3468cff135c9d0c13560faaa3552750a3644557135b199773544315235b5eb523607c066341df962343503643434576534a62a9c35fbc4b838b9fc7f3f496042355091de35fb250538f9f5793ff96859375ef9b233d96364386156553f383d45382f61dc377586c13862892e3f0bbebb385c4eb7355f665438efe5043fe83955389a5de536d6e66e3851e6b83e1795543865ba88386602ed38ce23533e97beca38c82143384f7bbd3814f6783d24f67e38533f60341aef50377143cf372c135e340000000000000000000000000000000019ba2535263e3635a50f293563f14135ea962736e2601a365de50c36e7585d36524a58351cb05c35e0e25b3530d97f352e841b36ef33223637661b36793a2636d6afb937c9bd5e37e5a37737136c42382d0523370e531337aa3f0f3724b63437a482703631b1743683296c36abc381360000000000000000000000000000000000000000000000000000803f0000000089976a35c3f88f37e479773f465d4038f5da373782c13c3800c9533f7146ac383671d2366b55023883262b3fa8fe6438d6c74536c520bd375359013fa651523836b9da388d080c39b05aaf3e4c46493adb1a30380c60953871f0383e52bd103aa1a6c736258cbb371a2b2b3d7cbd21380000000000000000000000000000000000000000000000000000000000000000dda90b36193e1636459a2b3659ab3e3632a7a63503e5b235cf6ed1356ff9ec35778c8c35f1ab8d3569758f35334e91356ef31336b6701636b5cf1d36b80025360c3a193654ac6936ab5f88370f75e5376cdf3137e98d4537f062d337952c29389ee41f372ac9203735d32a374d2f4d3700000000000000000000000000000000000000000000803f000000000000000046b6c737b57e6b3fd537c13855de2d39b36f8337a5fa453f4bf79139ea088a39635b2238635c213f2d41a43a49c8553ab6661438fe86fc3ecb31253adae5e039d4c56a384896ac3e96b6883cac602d3afaf9a2384995513ea8af593c936d71390fb5133c18635a3d3cd4433cbaa08b39000000000000000000000000000000007c468235b3f795354a29ba35efebe135b1bf8f36839096368f4ba436574bb1367c0bc735fbb9d5355febfc3590ad133636737a35b3d38f353cddb1355993d4357bf4953617909936b1629f363beaa53658ea2a367d482c3639cd343628363e36df4ba335a4eda7353f04ae35064eb5353f688036ae788036d9447d360f467a3634896e36d8566e362229713625847036431108382267713f6ef6673d5b376a38aa86ca36a114583fefb7613d6471f6381cd1e5377357343fc40a7c3dbb2cc33a2234a537841c123f39cf753db320923a59670838cc2ae23ee2df5b3d1b86ae3a3612d937d7c1a33e4dd1213dc53a713974980638067b473e32a3ea3ca695103a7a9bfb378822613d0d0ad83c4d68283ad1d3d93649b69337308cc4372baed2373b306033c55f67338c746033135d693334fc413674c046365f94523635905f360cf84f36f17a613605428136c58791365aa9aa348d68ab34ad59ec34b7c73435afb8533648be59363c8a6136659d6c36a80a32369e963236a5333336e52c3336b6d58b353fda8e355ef79535ec439d35a75b4836b0de4636c81d42360ea43d369a20543630b05336a4cc4d36c435a036f53b6c37ce874b3f1f07513eeb973e3932b97536a75b373f2754463eb4eb8239a8e3b8363da7153fb630363e742b233aa68970369174f63e488d1f3e4e7d563a1f0109388db9be3ee887fa3dbbd9343a751dbe37d1d1873e9368b53dc0352e3af2cb0c381a452b3e5d095a3d28e93d3a4a90d637c0024a3d0469d03c3c93053935e41637e420a3377cd7d237afa9d13746992534447524343c86253490d82734664c13362045163652011e36e57e26367554643490096234b8866334d7beb4344c67b63596a4b83589e8ba350095bc352a4ce9354950e7352688ed3545b9f9357dcc5335ea04583523266b3558f3823590408f36eac68f3675a3cf36ed662d37db5eef366bf3e6367631323744b38c3793ee3737156d4637979185371272a8379e1b2638b8bf243f29f6b53edda5b439fb44843628fa123fa24ead3e03248e38bc880f3725e7f43e054b973e26c0bf38f26128389ee0c53e281c7d3ebadef239260b8636e5fb993ec7e24a3e7f56313aa548df373e84593eaa76123ea4c1823a5fed46381f96123ef680a63dc75d223a1b701338b936323df0c3fa3cc65a6a399c7de63798ea1a3823384b3845223d38ae5dc53683cac7365d09cb36a2e7ea364e9a0d36cb131436947b243658c73936d288cb355627e03549d3f935c4730f3632be883608458c36722d913618ef993684a650361b3b5436aab359362917643611129b365bb29c36c9459f365bd9a336fac882360e998d368d2daa36355f6b37c91f943652f6923699509036cd7f0c37b9ed4b378bbf573746716f3756d293378323dc37af3bfc3e4dd1013f84d13e38aff05f36500ade3ec107f83ecd2c1b384f907537c8d5b93e30a0d43e4bb97c3975b6e83709e1953e03f0b13e28eeae38090b903708fb6c3ec940893e09d6063af681293808e9223e0fdd4c3eff4e1b3a9dd11f38c16bc73d8efafc3d8a852d3ae46be2377f7f013d70614b3d94060d3ad908d1377f2911384ad837388a4a20385edcce358471d93599f9a73623e751371844023682e00536065f0d367694183660393836cf634636676152365c656636419582340123833489f487344cac04354c93e135c891e63515bdeb35970fff358eafd935c3a5db3518b4e335485f783716030e35e52f1235d1391a35c4672c35332def36fb8ff136e93f51373a34c4373cc40b37dbcf0d37069e2237d6349537492d21388696ae3ee5a0283fe6b07c38dc0c2a36d84d963e6ccd213f0b6924389d42c737534c743ec034093f8bdde53959107c373fa0483eb5b5e43ee3e7843a33dfa736bbb31c3eac7ab13e4d167d3af62a5b38a9b4de3d685b833e94d5223ac0535d38a918813d3f63263ec1371c3a02536c383b95e63c188d703d297ed63970a6093875f05038094e0a3a01999b38db8c263670072e36056bc93656ff0e3798b99f35ca1ca53587b5ad35f214c035f733403539325435706d683521438b354e442d36523d2e36e1562f36e42c3036ae6b6336b2e565361ea86836b06a8f3652cdc535626dc935ce02ca358daed53595fdc336a402c6365b76c636b7b917371ee99a36458c8c36b6a7b8365bf2f836b7d85034edfa4a3496484434eb4a4334a94a22380b84423eeb524f3f8e2a73382c90e535dcba113e2365483fd50b62380c02163761220c3e022d243fab3d2e3aec088e3701f6ce3d34280b3f7c79783a8c571738502eaf3def1cd63e90745c3a13f1a4372dda493de7c89a3eaca12c3c0e310a3836f2f83c9fc3463e39c34b3c42d294390f76c93cf146833de9a16e3a44d1a437a15f40383491fb39a88a72381e4272364d37743649f6733622f58236ff18e235f2c3f33511520336fd771f368e70963526ed9735bb399935dc039c35e59e063622b30e365c7a143614dd2736d289a23645eaa53615dca6360e76ae360ffbf535c9f9ff35c09b033606620d361d095e36052d5f36a6325d36f42160361597fb360c6afb36abe0f636b982f636f1a60338b921053831ee0e3823111e38cac4ff37357f203d0fe1753f3c8190393de550360b26133c5884683fac5a3d3ad9749036434e0c3c8e40443f2d026b3a111b9737f55c0e3cda2c213f4d9b143b24ac0838a2dc1a3cb40bf73eead7393c0636cf373000913b2b9ab33ee9c1543c5139a639f3673e3cf9b4533e8faa633ccb444c3837d8aa3c10da873de64b5d3cd006383871574a384e6b6538d1fb533800000000000000000000000000000000b6a19036c07b98366ad69d363bf1a936b5f98c3542788d357dc2a3351a50d03578b4c735de64d6355280df35728af9353b6108363932143668e9153695fb213696ee973554ea973579b49735c7b2983560f71736b7432d369fd149368e590037341f0e37c3bc1237b2e98a378b47eb370000000000000000000000000000000000000000000000000000803f0000000032eec33680d13d3704e46c3f92021539fbbc013856427d382308483fa2469739a136193891c359380f14223fc5a0493c22eb9237aaad3a389f53013fb4e3123aadff063870b966387489b53e40a4553c3c8a0b38675a5438ace9583eb748693c3c06d238bc264f3cf811873ddd078b3a000000000000000000000000000000000000000000000000000000000000000069370037902a003772d9243706c32f371e5b0a37f39b02372e612137efb83837a2f58b33fa85d633da388a37997b5b38738ebe362744c7369f27ed37890c8338c613ed363be1f33688090137d9fe31379df98c3731ec9b36ff990f384a4c3638073636369d255136ba29433706779d3700000000000000000000000000000000000000000000803f000000000000000019972937e7157a3f72f882388e5dc8378cf01f370fcf5e3f749b2538f65c843767c2b938781d303fc85405391276d038bb4dd2388b95fe3e00860139d7dcbd38d275dc3777029e3ee8bc1838d0eeb537df9990386c7a023e6417ac3824b249383e90523873a1903cd1bc70389b6edb3700000000000000000000000000000000bf3735349c55903498ac983470577b34fb549f36953e9836db91c8369833da3635940c361b95ef35adb62436ab8b3f36000000000000000000000000269b7a36aba26c3694e5653608119e36b8695d3792fcef3598ffc3359aadd53510300136e611a73719426e3438aab637b64e3638a92dee37045ec037e1e208389ffb2e3806975835f2d23e355bd12d3563a229354ec7ac34e2ef7c3f672f4c3caec9f2348fcccd36f4e7713fe0e0473c4c2c8637747e1836a172583f48a0c238d7761938584dee33b9212a3fc91ac639d6e80138886bc337040cf83eda97b138a79a3038d2ed0b36d9db9b3eec691d385daa323702ac8c386c4b083ecda5ab3b8d7f823892c8403888989e3c3231eb39068f7038ce1f1c3565110e3748666537fb910d3698fff535312efb35c78a2c36ddd72a36b3ffbe352be9b9352256cb35e678073694b40a3679711636c2052c369d33443632e69936b7e28836fa59ad36908cae36fdcf4136baff40366f527036785a0937c131b635c81cc635bff1f835195207364a5ee836f921dd363a7bf6368261e436a7cfac3695e6b736be7ebe367d57a6369609163651072036ade1383612c627366db5a735a637643fc0c0de3d76981736fa3abd35256b5c3f9e82fe3de36d2836ee362f3605493f3f8a64b93d734b91370e3fb136f7ac143f8682b73d8389bf3642ae8a366862d53ef47da53d355e3938556df2351e5e853e5ec0893d7cc05c370839f736229eb93d9b06683db6b4f1361f7dbb36e21dd7387203003c0f5eb836fa8b01361a4ae336ce798c3731db6336c7ebbb351b07c535b414d235e17fb2373557ad36997ab136085cc4365b7be336406fba3645c0ac360bccd936d8dc06378d0ea935926c9935ff3ad535f29ebf35ef3ecb36601cd0361dc1ef360bf27d37f43c983665b19836c1cfb4363d72c236b7b6d436388abc363347e136cf71203720c777365e677236a5909136a14b6e36a951bc362c48c93640cebc362da4bb36be07b635b824323f88e59b3ef0ded63690c5a236ba382d3f3034a53e7baf81377b3ad136a4ba113fdf438b3e0da8f636cedad635b36ae13e9037723e1a05c235535c7e3782f99f3ef8db3a3ea4af35384a759a366095433ebee5033e2c40b236f2bb2a37ad95873d264da03d9f7b9437cf5b5b3617968938166aa63a105c7c361648923657ad34373e456c372709c6369e3dc23440cb3a367682993641f64636ce0df2367bbff736b6e9023739ee0d37de78c6357e43a035d834a13560994337cde07735f0e91e35c9d672353320a236a128f336ae7aed3620bbf0369d5b15371cc8c936e7cb43351fe5f8348c222f380f4e0a38c5e54837beb3c13715f04a38cc971f3780822337ca2a1f371c9d1a37686a923732d44c374959703785738437ac353d35d729003f99faff3e185f0036040705376574f33ee5bd033f4dcf0037ca77bc35cb08cb3ecab9ea3e8ba89f37f08b603671cd993e565cc33e45539135ec9d60378ed85e3ee49f903e2fb29a37fc0f10383583013edcc7453ea90354389da44338902d7a3d8d00b03d4b414238fb071937c578983ab0c6083cde871737cf3cde35892d21388645333801422f366396ba36c2b1ca36f020bc36a608ba367de235363b8a1b36c55a0936203b3a36ce7a9736f219a23684319d36fffdc836b877b336c1e19e362d6c9f36dfcfb5365156da3628a3d8369c30d5362b68f436e56fb935abc2c735245efb35c9fc0536359c07379ce7f93692610a37df110e379882673757a96237ab2b2e37bb440a38f2f9d9362f2e1636ab9cd7367792813757a3b7367aaa993e0464333f12b58436a30826360721923e62e8363f4b430d36ade4c236a7ee613ef8c3223f9682ac36d2d7c536a0bf273e84ab043f9c93a7361fa6f03787ceec3d4ed3c83ec689e837e5f0f43561b2923d1cc4813e9aab0c36a1411637eaa8553d82aedd3d0a950e37536afc377c2d633ae91ab73af63bb737170ee03537b13f38a95f2a38a7c6bc35c4aa39369237953637cb333694a36336c4a18236b6ed8d3672705536c07e9636b55bba36c7ceac361f68ad36c357da367f54b335f4feab355c17c63590f0b235791f6436d93c6636c3de6036931f82363c73a036332999366848a136c9e3b7367d9b2636c3e00e36fdea2236a4435636d78c303634a33036bfb23936837f1336bd1e2436866a4d36af9944363af42836d886c13625bbdb3d1e7f643fb2b9c635e3748c36aa13c53db4ab653f539161360613ca36d0df293d50ff4f3fad85bd364dcbee35558ab93cecbd263fd139b835092be5376421c13c62faf53efddb863755399a3636c3f83c85199a3e563ea336ba6f1f37743d1f3d24c6fd3d3b734b367a441d36c183653c77ade13aba4d2536def61036482e2e367f061636e9420f3688df3835ea094035183a2d35c2656735bb7a9036464d8836449c1b360f0a91360000000060d846340000000000000000bf311a368c6c07360a58cc353723f43519e59236a2e08536fdb44d36f3b195360000000000000000000000005a5e2d37f3e0723607f66d363bbc7b36c06d853761b9f3365fc7ef36cb78e0368821e7364a16a934327497340f508834c1446234bd95bd36e01fcb3aabde7f3fd15c12352a2a16386c8aea394db47a3fcb660d377e4801388472f238ab085d3f4c827337d786213653d0ef37e259323fcbab6f365d42eb37309a9938eb30043f4c1f1438b0832a38f3efed38cf66ac3ebc8f533875432a38e5cf3e3be8951c3ee6171c38c178ab376f1e6538d457303d98a67b3794896334db89cd369ade1837d006ac340000000000000000000000000000000004fe16360aa6db35469f453534b5193637ad333557af4b35e9bf2b35846041350d5cff3631d5e13628c4ce36c81c04370ac052385bccbb37cc3bbe36e37b29382dd947385e76c63725f1c836b16e5738e3eb2f37dc842337f1d42637f3563c376d9fb53762e98437624e3037513183370000000000000000000000000000000000000000000000000000803f0000000052963636fc22d837d9cd7b3f2a8e9837999b8d3698ce2d384bba5f3f6026473840563237ded6e8374c76313f7bc7fd379737a938c3b2df38e635013f6c6bd33822309538b825e438d8d1a03ec2cfd538dfea8537b1560938fe22063e85260b38babe0438f5f270382fddca3cab553a38000000000000000000000000000000000000000000000000000000000000000000000000000000005d34cf3320a2a1349d712d369b574c36e84eb836eb1af5364a72b6343d131f357aadcc35b0720e36a45ff0355176073632f51836286d2e361b71a936b634b136ce89d236ec951c3735de893635ede3365720c8378ddd23388fe4be364bbcbc369413c1367571cc3600000000000000000000000000000000000000000000803f00000000000000000c98083864c8713fa9f2a03918eaac38f6358c379d60513f42bd063bb158123a0a63483848d2273ff8889a3a3c60c3386efdea385c08fb3e5ad3d93aa0f50b39cbc414383db9a23e3e09c73c8855c438e702d13879700b3ee6ae213dfd23c3385d603f386b80313d02b9d03bd3672638000000000000000000000000000000000df4e934afc92c354c7b1f3580975a350000000000000000000000000000000000000000000000000000000000000000b4999234c66f9134c110a53451c99934266b8d339794bf3384df9a333d9582336123503328b07433d388d7349d1b3c35e009c2346ee7b534037a0235297d6f366a1f16350a173735c6e4d6347feaba36e2257e357cbb9d355a19523561ba6035dc3ec035bfb7793ff084cb3cff7b6038b0f81e33ef5f633ff1d4223d17ae8d38b2d9693647d4463f78ebb53c7f0e8438e0ff0e37a2e11d3f72dce43c8e659d386349dc372791e43ea680043d5417a938048ba137f6818e3eb6ed4d3d575650389c99353875e9e73d21f1823d791d8238c18207387e81843c082acd3c948f7838ea230735b22c46358a2e7e35f1998235d6592a35a07f3735e44e1e351a234135ecc803349b7d3633737370349f24d334c3a45033447aaf3336094c3352916933ebfda43502d7b9355a12ea357ac8ec35000000000000000000000000000000001b78ed34e680003515de163533c603353bc2ac35aea1c135fff54836214c9f36000000000000000000000000000000001840cd354258d8359ad5df35ad6ecf3562427e35d409613fc434f83df9b41438a7ea0835dfff4c3fbe7f083eb73732384873db37cece293f6de30f3ee491d238ed4c13366397ff3e04cd153ed01d9b381e5b533728d4b43ef5ec0b3e8dc98c38e55e19385998573eb753ef3d35eeaa387a2cc537101db73d1510c43d5f764f38f8e37f372fea6038e756053dc5994d38d5690336911823360859a8367e4a2d36d3d6b135d47ac3353186ab35301dc6357dfa8835a2259d3582e59b351f8fa6351f2ea235690eb635ce61bc35f98cc935e2494335bdc583351b7d5935f1db91358b482c35b41c55351f7a3d351c96693536f0e835ee770b3655e00a3658a31a3658348535876f9d34638b3037f5a50b38bb361d36d04a2436ca1e4836b8593636a74b11364626173635930636559afe35cff7f43598a12f3f9116a13e832600373cdbfc3541411e3f1dada83e71ff1438ca6753365ad9f83e664fa23e85b7db37c409ec37f704bb3e7631953e3588c538e192bd350478803eafe3793e7bef7938bebb3e36ac56153eaca7453ed0ad4f383cd0b638c38d6b3d283f013ee97e0d39a1f79f3635f073381d2a173d81364c38fc72e83585c926364de7183683edf2359530a935a9dcc2350e087735b9c5a83500000000000000000000000000000000000000000000000000000000ed7f0f31c14127336d501c3308a73e333bf32233e3f4803368c1a7335d647e3389194633a3a76a33e5838d33328684336e592e34e15d84313f6d1031e7bb5f3100000000073307347a3396340000000000000000ff9cd6356fedfa359233d535af28ce353c4ce8352f4dfc3edfe5013f8389b235e455b1319d4dd63e8c38093fd86cf23738bc2932653da53e378bfb3e63df9837ff108236cbdb693e6e4ddc3e8d78d937952f683673422f3ebeb2a83efb1435386a8ce936f665ac3df81d843ee9c50938c6d7e33626dc4c3dabf50b3edbf529386c53923794c3873849a23b3d19fb61384fb4af35bb4adc35a7c27b3625f60136b1dbc83566d9ca35b53ba83569d3b93577bc1c355c980c3525483535f6e45835c2aa5534199b8e34bb6554349dc757341d2eec35e54efa3553fdff354be100365f075735d1d54b359e1f473554982d35d356bc350589bd35a732ba35e32cb13566cacd357f10e2358c75d8359043da35a0e650367adf4d36b6de5836c5945636ea42f4359376f8351a9e05368a19e835a04aea35ab7d983efae3333f9b72cd3517680a36e071673e97c73c3f0c171437577a913857c4153eebac2b3f15d0c138177220365bf7c43daff2103fa205183854a155361453733d8f9ae43e76104538103755385bcfd63c96d0a23e7cbbab38100b24374caf243d8e62213e32e90a388f8c183723f66d3955ff563dd9142038d59d0f36a11799373459003858b63436ed21f6355f110c36665de0350f4af23500000000000000000000000000000000f8506335648ba535f0488d352fcda035a672bb3436c01b3525a4b934b1fad834000000000000000000000000000000004a2ee535bf4d0d3696d9f935567c0c3639e941333c7206346b049933e5f17937d6a25e35f8425f3595345b353e9689356b190c36de571c36dff00536e061db35e4acdc3660bad23d60bb653f3dc20f3691f8363741e2fe3cb9c36f3fa7087037b8964b3727fdf53808b7503fc30402388ecbf63796accb3843622c3fcad5a8388769c13750089938fcca023f2c0389380a7b723707fb9f382ddeb53e9a258d3801e89238c4bce33c8b342d3ea575ea38ef875d37212d0f3bba2e833de7222138977601368ece0a38bd482338626181373c74473508972d35740a55338642f8341b714932704ddd320a94c83235888e32d3d5a034ad51a23454199234cad4fb34df8b4a34b28226345b2d033399436b345eaddb333406f733f4aabc3371278933dbe3b134bd0bae34cc61a734d0b1e33400000000000000000000000000000000e17bc93295b8433300000000000000008b7dc035458acb35640ec23533bcb7351dadb035a25bc639cafc7f3fe3cd40357867b43619e46c387880753f85442b383ccb8e36b39923381de2523f8dd4813872c48e36ebb8e437710f2c3f86ab5738a7206d3744c06f389fa1053f8841a4381e204237466b6d38a562b63e12bba738b79cce3774243c3cd5dd423e45447939fe4ffb37893086388e3f943dddb88a3819e98b355d4b563759b8ff3747abd73500000000000000000000000000000000ef4b9e36ba619f36504c9b368b0cb136ae994136bd473d36ed8129361d637436e0889d3632d49e36015d8b36b00fb8365a952636c23e23368cd91d368d3533367f31053631e702366f17fb35fa522636277b133750af143705c414372ae1243769671d36fb560b36c82d3736c8d3e1360000000000000000000000000000000000000000000000000000803f00000000f7cfcd36cf5f14375574733fa02b673826f28737376a63388237533f26e6d638a9572e37f2a78c37236e283f4551553abcb58237ff60b9385a2d023fb7d91b39bae7253819e6943871d9af3e2de4a93aa6a0b5376d416d3b6de81d3ed1c6b23c6a74243845ca9038cc20643d3efdb738000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dd1dca33c0bd81343db60235bd272a35dd0c9b3325509d33fa589d331d9c9e33d0389a34cfbaab3410f4ef347943f1344418bc3675cbc7368fffd136bfb5d43606fd7b33cabc34346888b334d165db3486cbb73556c7b8353fd4be35c100b73500000000000000000000000000000000000000000000803f000000000000000000000000e932613fbc8e963cf808e03c6779fc35d6f73f3f97d2cd3bdbd5d13c0fbd9b3814a0183f512abc3c12cdf53cdad80b35b50de43e3d240f3debee073d0f6daf37200b983e3ef04e3d75b5e23c598d85389a581a3e5d31873d1f34e13c68058d37c53b373d5fc3193d274f483c000000000000000000000000000000005d53473483564c3413944b34bcad4f347fd8be335191c233f6b92c3496dd8734bfcec135ec85e53540610b36c9602336b202e2355a04043617de21366ce14d36fdda233583c630355ec452355fa75835ebbed736a899de36c48de5362f2bee36f95b85365d908b36f559903684c59336d7beae3522ddaa3531b9b3357153ab35c214a436944fa236ee06a3366c20a136590d363877fc763f93e90b3d87c9a03a5685e7340380563f0a91103d1a23173d74b675363cda2e3f0388673d07be083db5ea2b38351f053fc1a7ae3db3d6103db4267535f6a9c23e5778ac3dd5861a3d7cf04d387a477f3ec8b8a63d1542163dc27887386cfb093ed7c9813d7501b43c13d708383fc4a43c44b73e3d1896cb3a1e3ba7367dc1b4363b08ca363be85037ed864e36a44083360a9d9736150cb136b026ab31ddd11432a9237431ac9fc53149fcc032858f9a340e71173544526535b923b736a245cf36a662e436b225fc36d38add3123731d3245d7e731a4121d3200000000000000002dfca633491fa53481dc353619043d36ed093d36bc0643360000000000000000000000000000000000000000000000000000000000000000e5830238d9ad533f2005313e81ac8d39ebcde731cdcb343f9d5a363ed624e43cd9a10c37c98b0a3f677f4a3e70f6283d9a5c6938dd3ad43e067c423e5d91ee3cba146732635d9a3e4924253ebb7db23c4a7120386080353e6ea5053e29451c3df6372c3877edc23d06e9af3d3610193d5e840938a95b8c38e78b403dd7b6873c9da8d93317910535fddf8a355546ab35000000000000000000000000000000000000000000000000000000000000000097e30a36e25e1a36123d31366a6c413600000000000000000000000032900435062a96313f519831d327973198ed983156c2b236e4bbbb362765c836f5dacb36bb08d0346034fc343f5220353d94143580768934cc708a34d477a7341311993459102237f9b1223786da273772d326376b39e836fa0c283f28dcaf3e842344390000000059500a3f37cfb53e5362c13c6c3aa0378206d43e5e54ae3ef93ab13cf3ecd13796609b3ea0949c3eedfe003d53a99e31701a573e14637c3ebc7f253d6d8c1c38d957fa3d8c51443e06bb1c3d0e1c0438e68e673d2836013e838a193da7066a37debf4538c8aa5a3d046f823c29a52b37fd6d3237000b103891fd34388560b535f44bf0353fd20b3638a52236a5da3134b4d673346a2dc034b46df4348acb1036dc2720360e812d3612aa453695f49b36196eb2363554c6364cd1d9368587cd34bc25e0345b0908356f5310359877e1366969e636a1d4e836ef1fed36cc7e8736708b8d3693858f3683028f3652587d35d0a47435872e83355d5c7d3520ec5636e84c4e369357473639e13a36aead4f386bcbf53e672d053f293fd3389ee81e356413c03e625c0b3f6f365a3ba9b1c1375ffd8c3eba64f53ea44eca3c3b061637ba74423e62d2d63ed2e2f33c8e90233577fa183e51c6a13e8579103ddf57d237a559863dadfe803ed938343d46cf88388d16fa3c8606163e53c8353dbee12638879e9138e45f743df4ee913c003a3836e777743631e2093841730c383e322537d3fb2d3776f22e370a9a353700000000444919300000000042b53e3000000000000000000000000000000000d31583363d989736d0aea43686a8b736e47db031b98ead31f0c8ad3135f3ac319debbb35bbc9db355d8bf535558b0336e2ce9b3683e89b3645b19436b83395360000000000000000000000000000000000000000000000000000000000000000d1b1be383ea99d3e9730313fa9f6ce38bc542633a500523e75f7383f7659583b333cd1368d80073eb936243fb767dc3b5075cc376a4da43d8b13093f89ed073db7129a330068413d36f3d23e3db7373d6b063438cd58413c84ce9c3e92b42b3d38b5a1387b63413c317d323ed9521d3d4e8ec9377f59f139cea97e3db1879a3c3a5b15353e1d5d378210e437c4b1db377f295835b0d29d35a090a0354ffdab3500000000000000000000000000000000847dc035bf77d6352d8bec354c5d0336000000000000000000000000c259db33e445bc3186ef9f31cf60db30242d3d318a5b0437127b0537411e07379a3907371920f335ae79fd35b90706361aad0736311cc03313add0335fc627342919023428e40e376f0d0c37bef80a37c6f40437ad197238d16e0b3e78355d3fa8b74c380000000084ccfe3c2e48673f3e44123b11d4b3367e04d93b2283413fee97a23cb55354378e04cc38e47f1f3f8b89023d35e5b4311d9bd1310f97f03e44843e3dade2813765fb21391b32aa3eab290e3d966d1338b8be8b38c8843a3ef2e01c3d1c254238132b2e3b738c853da7aca73cf2730037b76a0a38d262bf389f66bf385e22bb364a31c6368d5fcb36946ed436f671c534cb6eef34eb4919357c7c3535ffee2736c9503736da0f4036d5955436a3179b3677caaf367710c0369d22d6362f971d3558ce2c3518654635b4c75135707967361e1b6d3681c66c36e2ad743668b567369767753691f27936094d8036ef516335cda26235caa56e35d65c633583f13c36be212a36419914362c0dfc3518ea8f38417a8b3a7ccb7f3f4132b938a2706d3552341d3754ab6d3f0c326b3b5a268936e7b8443887c5463f8736843bb851163768a1aa38f9d6203f0d52a23b1605703596477f354d7ef03e15dded3ca1eaac363c75e038e3bca73eeb81063d15ea03386771893806bc3c3ee6e1313df5ac0d38913c7b385b12853de7a7ce3c8bc6f037a4886338222da1382a879b3800000000000000000000000000000000d802c134f2e8fe3433b11235bc872e3547a654320c854d3267734e32c50e4f32c2f479366b7a8e364bce9b369eaaaf36de49a3345044c9348750d434b750ed34b292b1335bceaf33bce6af335940af334f29223619fd2536f9a21e36c0fd21360000000054be9430000000000e23b32f0000000000000000000000000000000000000000000000000000803f00000000f2326435c58396362f9d663fa494aa3bbe6f5132c6911238774f403feb04ac3bc659f036e1ce8037c3b91b3fa8478f3c7fa7103552811c351bcdee3e00c1ae3ccc6e3938813bbe381ae6a43e2825ef3ccb4e373691c8c83719d8343e9e412e3d2379cb302eddb930b10c4f3df1e5c83c0000000000000000000000000000000000000000000000000000000000000000bc3de1337073cd330415883468dfd634aad95633d8038733c67820349a9cec33366e8f351b387735b472b0355138b335e7650334f0faed33216f0035bbc32135f6340835addd0735f95b343505010a3585ea4d347bddd933cda763347e218d340000000000000000407c5d310000000000000000000000000000000000000000000000000000803f0000000000000000a568ae34dd53763fca38013795baaa3454e90234e0275b3fd2398b390f9e943301606f38ad81313fad19263a167fbb3989858f34aa19003f64dc033a67bbd2344bfd0535d133a03e51209c3a485ad234f145143a9118133e729ca13a8f1b5b3700000000e7120a3d000000000000000000000000000000000000000000000000b79b0d35e4c1f534fb9d853477771835c87623343ddb3c34150e7334b65f57347de7ec32ab47d932f5abf232ed3b1b33a1e6993564d502351fce7b359b1aba35f7b742320000000097f82332182ea732b898d932c72ccc32a06adb328bbf073327b782356739f834845b1b3510e1593593e3ec3310a1f833fe9c42345e624034587eb934a78d9f342b229834afeb973404e9ec34a7677b3fb208d13c18b511353f7fb13497ad693f7b2d123d94b59134e8e62633e51c513f1083483bccb2bb384c12a835ed3b273fd59cb83be704ef352c303b33ac3cf33ea235ca3b21a53633c1441133918a953edff2c83cf2c13033ca52da34b41af63db3f32a3db4bf963536803134fdb50b3d8f688b3b46a80c340c016b34e98682342e2c87345ce894348feef3343c17cf34d767dc34f592f1348785c33488d08034f375b33479aef33449c79534ae808b3371cf5f340351b3348836263559270835614c003560440f350000000000000000000000000000000034b2e2344070b334f08a7f348cba9e34ec76d1344bfe0a3566449f343a037634bd71c33382190f33ea21b23336951034078834359a1d1635d48f2b35939a1e357dc51f35501e643f193cec3d06f3f5348aafdc346870573fbc97fd3dfc55e0345a2f8a34fa34393f29a2c93dc5a40335c836643501b80e3f01cad43d84204d35000000007419c73e8004e83d00000000ef0713352e5c5e3ed8f6eb3d547432356fd81a35dcc2853deac1ca3d52fcc834c4cca8335c9ebe37f9e68f3c55e19533af701535a2490e35cc072f35b33e2f353ff10a350ad30135a16311359beee6346b00bc34def9ab3403d9bb346b5f003599a03d35915e1a3512c35135d30f2d35aa5f9235bf427035e1178d35b8995835c8c05434504f4d340f216834ef3da334c92aa63542929a35724abf35ed6592352b64e634e999ae345552d134859c4a34bfdde23482cacc34fc00d3341cfbe93461099d357a7798358cfcad35d5e5883590d535351e15383fce18943efde2d2346998c6347366293ff12bab3e3934e634531b3935b9530b3f6302953e61655235bf619435d6b3d23e9046873e13f99635dcf88034d7c3873e8f9b733e579e8d34953c983536f00e3e2ae83d3e0b638f35bd19b734a004433d6b6eea3d21c7db342e81e7347661b839a9cea93c52bedc346c6185353f8999351afe9a35ecf88135de103e35f39260357ebafc3491846835c4736733a652b033d0fdeb33be5e9233a6e325340000000000000000e8fff4321797673521e4bf3402343b351ca99a35514b273203a689320e110133d2309a324d0961351b6de033d44fd9341d492835b3a638357e3d7134d5f2d734abb7163598a1ab330545cb33deb80a341c3a063408aaac3526b94835d3069f352d056a358e2be0342d02053f806cfb3e4b2f9034f5fd2a349804f53e0480053f2c4aca3394cc3535d5c7be3edd70f63e70f0df3466f763354d7a823e16ddd33e2b76a335d6ee15336aa3373e677fa93ee03d48320394a635fe7ace3d2b807d3ee039713503352e349426493d3d6fe53d404c74357bb8e933adba313be0a4183c96a3bd33df250935bc3b5337256f82370170863408e16c3502e35e35c5b85635be245a35aef0b534345c9134933baa344099dd345babbc34f4d96734c1ea55340cd6903444ce8135862361352d254435ac625335ead84634f4672d347a824f34f0ac9a343782983536d88535035768353dee7335ef0d2e3520b1343522780d357b780c35852ad134c5bfb7340a51c5347cc800354bce263594aa1e35241a293571a91635b7219135ae4ba03e2456323f237058351344be345d0e923edd63343ff928c93431b59134a9d1403e71de293fde06c3347f049d354e09033ea0c00f3fb11c7c3561b28134718d993d7294e03e2cbb8e346bd19b35ec22633d47fb913e8aeb8f3573fb5a356ea9633d0f02ff3dfd9e3435271be3340ebdd23b6ca2093c9b20f3346980133522d20f3505db2835022f1d3545921435aa64093584861a356da8e7349f490a342cf6d6339952b0332b1cfd33efcbfe346654b534097dd63435e4a3342be7f7340b4ea7347484f634831e17340000000000000000000000004e351733b6c172358d74553540897b353e293d35e2030c3548d1d5349a6aeb3448805734804a04354a92ef34188efc34b3380935d0642d352cb03035ec424b3525e91b35a0a94b3525fb0a3e2b385f3fe12fdc349cb4a9339922c83daee3643f5055b233a6f8d8342bea9e3ce637543f5845fb3468fc1d3594dc7e3bb3862d3f4890dc3400000000fd51c03b8c18023f00000000fd905a35d1e8023d1c79a43e03014835cc660735f4915f3d46e30b3e492eb9345af70935ab86a83ce378bf3cbec8fa34b7bd27353f23383574573435fbb80c35c97ae534c3438134d7a6fd33ae6b50349168c733ceac2134a21b3d34e026f033295048340000000000000000000000003630093379a62e33bfa41033d2fc2733d4966a332760c43393189033d6f8853320d39d354520273534b93235aa1d7c356ddc203394305033bb022e33bc303c33cef67134282d9834b52ba1342bbea234baf7933550e44b3509b87d35f7f85335f776c5348412133d350b793f4b0d9d346560833492871e3b9a53773f3a6b1f34c8e84b35cdc30f3aac90593f83ab2d356d7d1533d687f23842d3323f4c37e3346acd4233a53a6d3a7470083f7477623364ebce3523d1ea39fd75b53ecd09d2357ef22b337466b43c5ae22d3ebfcf0338fa4c90340bcc563a527f743dc7909334c59039350af48a373a1a87372e8b0e350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bd2bb5329c01c634ea469f3402455234aeea9734f4e22d34b6d0b0343dd52f34b2cb3d345aeda63542ab9c354cec5e3591989535285a433305637c336a5d533316986333d71f4434029f8a34651a2a34edc76b340000000000000000000000000000000000000000000000000000803f000000001e7b9f30b67e29319d757a3f00000000ebda84321137b733d1b45d3f0b38aa397fa6d834869bd934ecb5333f2f7401353e66da34b9631c37fed1033f7aceed361f71ba3530981b3a1550a33e7f0c3b3a00ed7533f7971d3ab9f01d3ebd18ba39f5a2c234119791377681423d4c14c1350000000000000000000000000000000000000000000000000000000000000000c94da23427bfcf341b493535b9f13d355015ed3383f9043491ec2d34e8f3203451d43634ad4489349ff18d345cf53a352b2b843464dc9434e3251035843f1135efe286346a1b8a347f83a6341567b4369d109335e4448835408ba9351bb9b4358afb9933e44698332fab9933e48fa33300000000000000000000000000000000000000000000803f000000000000000093ce783524046c3f5c235b3c03e8ae392dc5d236520e4b3f40307e3c8127fe3aa7bb23352581233f602b623c3e51903ab40c5337fcb7e93e9ef1193dc752dd3a9c782f388f888e3e06a0863d108dc8387775af365584f03de67ca23d3a990637db8caf33b0d6023d741dca3ccd6b943900000000000000000000000000000000907ba6311aea0b3271bad631ca60fa31cb65df3369de173469bc14341f7a143498456433d5e57b336546933396c0a133b31e853211e9e0320057a632290dba322f4b5634256d7d34481d6734e1117e34726b64331f926d33ede67c337d6b8733b2b8c23260ec25337bd6ea322e8afc32831a39343c1e6d348ef447343a3b55349f735135df522a35fca63e3561c5393518dbbd379677743f99d74a3db1fc8638f17c66344078593fa010973dcbfed938ecf9d833ebd93f3f218e383d77d2383b681b3733116a113fa082933d3063b53a275e9734b0c1c63ef904da3d78ad833a8a9a463792d5663e42bdef3d62c1cb391e415c361fcac53d4789cf3d4b1bc13927368534db5b7e3a6c6e5f3d5e543737610202354b751a3503abc236074f9936ef478d30b46eb631ad1337313c19813187163e311f9b053333896332c343ae320bc3cf34fe94b234274da234e3a82f358bf6ba331d66cb337566b6334f01aa3356e486347e9c9634df9081343c126b344ba0a6347894d63431398b345032a5347b41ca336e22f033bbaa09348ea308341ab240346b0986345971b334f180a334ff8d5b35ad852c3551d7013590c9ed3489670632133a643f7023e63d661203380e224a332aac453f21671d3e3ce11b3914385e355f2e1e3fb5453e3eeae5533a36f36934eed6dc3e6eb55c3e0565f4394d1988342d6a903e0029553e75d8ac399b64c53448250b3e363e4d3e63443c3ae5df0f34d9ee4f3d46500a3e4116c6396baab7340d5c9936619d483d0a11c734e1d4f93408e2173518c70335f29cf93409837e353eb48135d53c82356849bf3500000000dfb9063359c82034a3aae83395257733a97e9d330f78f233b396e93350e6bb347402fb348d540c352429323596619b343ad0a3348cc16334c800523419d4023457140b3469cef133682555346b81a73591a99e35dbacb8353d14cd3500000000000000000000000000000000b24b9b331622833300000000000000008702f3351571343f0f3c993e8ce368372899a734dc11143fa237b93e3b0e5436f3d04534d58cdc3e26b2c23eb1ed683998e54b35d4f98f3ef43ebd3e4b62023a4a54ac348c3f203e6a87ad3eb367173a493e2735e357803da1c4923e1fd2eb393cc2d735cd0db23cb8de323e58c4e83900000000000000004b90363d000000000000000008436d37af11fe37240c9e37834ff33428ba0135b3c3d2343f6ab13408f12a34c88f5a3420c44b340b0f4b34e498543301ed6433297b8033d27e903385f0ae32d0481433dad4d7327d73ad33d0934234c0496f340ec452342cf767343c392633cb852333c8d22733211137331415273363206833d15b3634dcf9983474814734bd8d6d34aedc4c3436d8703431326f349cd07b3429a0a7348254c834e0559c376b05fd3eddd0023ff52f0938d0228734deaec13eaa00133fe8926434ca00a133d173803ed867113f37618b36c70b6334af8d053e9e4e083f32d802390359d736bddaa03d90d7da3edc80dd3995e80634c0680a3cc56cae3e764d1b390e2eaf345eb2a63c212c2f3eeb7492398b3485343577a638511e603d4df5ca3585b6ed368dd1fc375e2f3338a557f8370000000000000000000000000000000000000000000000000000000000000000a3905235872c5e35258d293534848c357f156c3467d0653477c52234db168934887f9e344739b834a062a5347f099c34b78bdd346ded0c35a4f8c0342ab0dd34a4ead433c401f8330bff06342ea60c3477991f334135cf33d3eb4a3433bc53349d3b3636a19c34366e9d203669e5093605582737ffdf913e2944383f5f06043700000000a76b3e3ebf02473f000000006c2ea735051c773d2877403f64521b39387516353721543a6c29293f2080a339e0ccc834db5a3b3a6629043fcdf09b39a2d8323665c2d139dd39b83eba38243af4c8523717a3a93c2fcb363e31cb073a524b8534ed349a371ba1893d04536b367d4e3136662e79362e0db33746ce10366160e334c98c033572700935252a1235640a4533e66b0f342b834634a0182f3470156e331de9a3331e12d4336d7fd333fa7780347429be342022d23420120c35b37b593488ac7334b06f383436fa47342273a433a7d7b9330dff963316089d3371f67035a4395a3543c183356d768f3573074f337b644433113e4c331d4061333ee00d3227ef0332b60c0a32c6f71932cbb919357d02c73dd936683fbd0c13351727f634a8c95d3cad8a713fbd98c434e77a4234016fce395887523f31722334350f2035ff59f03951922c3f316abf3928f394349322ab37b094053f7c2e95399f62d433d71e9438fb49ba3e8662023a73609135c74c9c3c85793f3ebb5a4b3a69e169335b3d13363285a83d83542c33f1d26f362aded1375ed1003814049b37eb900c35a85a16351ee3e834395a0835a36e35346f2f5834e8764a34a42e73344806283306522433c7af2b33951543332f6419337c0b5e335d373433130a553303474734630d803457605a340082713463f103331ad60133e0c40433ab781033ba8a5d333f058c334cdd7d3337799a33463011345cc73334d2780d34c11a5f343ca5323228902f32b5fd313239cf3d32a2147e37e2207f3bda39803f96ae3536ad1a8834c0d1173737ef723f4f7d2d37c05650337281a2337925503facbf80399108833330208a37a9442b3fc356b939cac59534ab57aa378849043f6b02953a4b3819332895a137f6d3bd3e390e2b3a234b9d33491bf13b0b04513e98882b3b75243e3482ec07374683aa3d6d7d54371712b337ab693338902e7638deef4338000000000000000000000000000000005c52163360987c3324703933a3cf59339f5a4d35b5d73435a7c51835cf0478357fc223349a605134e09b383488c28f34e39a8234ff4d93346ffb8c340143bf34e326e534371d9f349395bf340b41473538051934e0372e34b5043734c30d4234bcf4173547861335c8790c35ae9433350000000000000000000000000000000000000000000000000000803f000000001d8f9f33e9f88e33d49d733f39457339e8b5ae35a9a5ca35c0f64f3fee00723990ab4736e422dc3720cc2a3f0e86843a507c0c3541703c39bcc3003f1c028b3c5ec172353bbaa839181ca73eac6c043d8f806637bcaa923888fb2b3e6415053d05e14435a30cc6369cd38f3dbe09ce3a0000000000000000000000000000000000000000000000000000000000000000000000000000000053be033336252233347b3935ca1b553550778f352f06b33560b4403339588132a4898b342bb40a357739ae33ba6eb2337795aa3384669533cca0ac35d92eb735d72ad335cdefe3354af35c35aae346357c5597357dd9ae3500000000000000000db61733bc4a843400000000000000000000000000000000000000000000803f0000000000000000a19edf3545a9553f88a2183dd9078e3da3c50036460c333fbf54d83ce7df863d7c1ca635321ff53e2548513dffa6113e585d8f3356eb9e3e6fef853dbe3e2e3eb0ecdf37a7381e3ed381c73db39f1f3e0fcccf35bd2e873d30eedd3dd097b53d9173a1371da789392ef4623d113f3a3d00000000000000000000000000000000000000000000000000000000000000006de5d332f019e0323302ce32aa2bbc32034a3335f5e94335a93c6c3574a69435687f01347f4a3a34d9aefe34db1b5c352b336731bd986c31f6fa6131752b45319e004735f5384e35b5b16735c3d19135db892135687529351523703512099835000000000000000000000000000000000000000000000000000000000000000069048c37ecfe703fdac9543d2630263cce0cb4336766463f7ee3793d8228ca3dcdf9e53535401c3fe38da23d3635bc3d1f7aac350952c33e7b3d0d3eeb7f133e5c2a3c31157d663e3147093e06d2343e516e1738cb27c53dfd27003ed17f363e8719be35c6ec1f3da37cf53d4549b83d054002377fe1c738077b143dc822343d00000000000000000000000000000000a6a1eb3467130d3564ea2e35250d303538cc6034d0a76634ddf1603465e65234481bb535bdb7c63584b1dd35bb87ff355beddb34119ff33499a84335b06f6c3500000000000000000000000000000000ce2b6035ebb27635afa86a35f93a9335f761fc34d92c0e35daba1535610c423500000000000000000000000000000000000000000000000000000000000000004782da380b015c3f6fbde23d88b0053de92c7335c4382c3ff5f9223e7cf8c23d442d55376b52f03e9f02773e971a9c3df66d82384e80843e4a73803ecf911b3e00000000ff35113e8b784f3eeb883c3ea85e1f3835f8013df86e263e5bf7463e615fa638282c623ba7d3e43d9be5f93d98aebc36272d4438959baa3cee830d3d000000000000000000000000e18a30340000000000000000000000006311703400000000000000000000000000000000dd042c35ca54313550588035b872b2357b472235ff16223579296235308495352c20e4324e4dea32dc64db321f2ab9323e11b0358556b2351d73cc3565ebf0356c3ef835924ff5356b22043674901936ad938c33332c90331c188533b9c35e349ccac934356fdb349864c63443a1df340b615538d8c82b3febf3a93ea905fc38da1bcb3653aef23e0302c63ef9029d3d923102365305973ea0b9d83e2863903dad66ec3519e6083ee0b9bf3ec0971e3ea565e93478b0e73ca9d8923e1428513e90600d38d6bd25392959373efefb443e794e5037a82003390487bb3d0cd3033ee91aed34f185a037880c2d3c8fd4193dd7f31035601009353c900935251fc2350000000000000000000000000000000000000000000000000000000000000000b1bfce347cb7d634a46ae23421221b35611f6d34c5e18934e3139434c448c534000000000000000000000000000000007e99ba347179bb3417e6b6347475f4349d86a934fe60ba34e305cc3435c80135000000000000000000000000000000000000000000000000000000000000000059ed70380954f23e7e97073fd36101390000000002268e3efed41d3f68c1633db6a397358fff0b3ebc54183f9acc673d9dee46353b6fa639c599fb3ec49f2b3e0000000084a4be387578a13e760d413ecd22833524fc68382e0c253e51823f3ef7a832350996a4386d15d93d2620e43df6bfd43662c4573863e7843c05491a3d000000000000000000000000fc6cca37b2cdff34fc70073546c02835f9d32335cf37a233a97ba3339e365a34560297346c61df35f0c9f33529640136b2531536843acc34bb45e13444a2e534c90ae434126e0933be030a3349f90d33f8e50b33aa3f873544c58e3577728a352865a535bb3fe334e6a9fc3404d0f63429e8163500000000000000000000000000000000ae73fe34c87dee340fcfa6349f96ca34e6dfcb3859168d3e606a3a3ff4c9de3808e5613516309b3d91a7573fb04d163ded4546367c1007397b043e3f8b58303d334b8735ef10fb381470003ff178093ed57afb3282b579378a919e3e83c0363eba9ee73597cb1538c57a273eef3c393ebf5081357986df38a741c13d74a4fb3dad8ed936393b0c38bf47ce3cac4e2a3da7b658355df8b535e3f31738f142663800000000000000000000000000000000000000000000000000000000000000000cd03f3586cb4e35d13b79351bf0ae354c8be434c1a4e634bb41293510af7735000000000000000000000000000000005db9d035cf28d435471ee2351510063600bed73582d0d235dc46e73520ce063695f13b343d4c373498be30349b422034ff022135885a18352e690635690f143541a3e338c4ba903d038e6e3f88159b3800000000696a3c38b3f8713f55f5123b9673fe35317fc238ab0f403f2510963cca42b535dacb79386415013f3da1e93d00000000d1b64037af71a03e2d172a3e9e359b3670a61239bab3283eacc4393eafaa08366d01bf38f10acc3db041f53da7a9ed36cdb72038db2bf73c5fbe3f3d063a0738b1d7e038ee5e223936fd30390000000000000000000000000000000000000000000000000000000000000000cbc56635efe967356ac7613540d593351baaab34ee44c134501ac43405cd2c35c6f985319dcd863181038931aa488431e305263574772d3503a51c35c47c5f359e8ac4344e42d534e784213534a561354c2ea9327a699a32e565943204f1883200000000000000000000000000000000c285dd38a2ea433a175b803fbd2c503900000000921c963783a4643f855cf53ccc99e435ae770236c9e8373fe66c1d3d920f8e35d8106e38b7c0f83e66c2fb3dab306f31e68ccc36d96a953e8f60393e7585b73511b6d637e9f0153e72664a3eb9299535cc04be3802c6cc3d294b003e2dfd123752d56a386e3ca53c44c5493dc8949432f73df933b0604d37ef88eb37000000000000000000000000000000003047b333049f6534c4698d34f2e2c034586b7235b5a18935fec4903567d1b13526670c358103173561f12a35f3466335342ecb33d471cc33c2accf3366f1c833372c0835ad121d351ab71935823c5e3581860b354398103561fb42355ced6a350000000000000000ba6f96315e5908320000000000000000000000000000000000000000000000000000803f00000000bd5b5635224fca363d145f3f1c36023d0d84fa35e4500a36573b363fb464f63c42cfad35cf77c8351dc2f13e08aa023e947a103487dca1345a21953ece772f3ed157ad3569c0bc37cddb1f3e3276373e84e89f35ef8d4c380146b13d9968023e5ec98d33c05b8f37450f873cffbd3f3d00000000000000000000000000000000000000000000000000000000000000002245483581beae340943b8367faf35375eab10365f930636db02b836b96ea037f38e7d364d74743621f25337e85ecd37464cf3367a286c36b6a951373b7d02381a8e08379384bc36ffdd5037cae80d388429cc37b44688372885e837679c07384fadca364d795b366d5606373a5c4e3700000000000000000000000000000000000000000000803f00000000000000002b47f23679ef7f3ff2f6ec3740947c3715ce92377f16553f99d504388ee1c0372d7bcd3756892a3f0ba519380ca3df37976605380dd8fd3e844046383e3a0a383e0b0b38276da63ed39a0e3957340b38dae2083815b1243eb01c2838f3670538cfcf33378e0f1e38614f8f37cab31637000000000000000000000000000000003042dd36e6aeb536b7e44937d82cc23760997335a5015b35caee37361f57113755d09f364aac3f363ce8fc3638f6d7378a66a936bf3ca436750f15373cc0e5377d36f9363f458b3635001337bde3f937d8dc3e37b09ee7365e838e3798bbff3749da8137274604378edeab37ad640038e6447b37fc92f63685c57637114191375fab4c377dedf3361e392e37460659372bade436dd427f3f99b0323bdab1ce37a60300368110783ff9a2913ccd2771378a58313732b44e3f06379a3ca9020238b3568e379955263ff573553cacdf03381ccb5f371a02f93eec3c233c9d2d143837f1af37e704a63ee2ee5038e51d07389a6eb837156d283e5c4f93389144013858021437dfee103ae746f4376d6982376f6f8336a3bf8437c2909c37864b64372c772f35103e2535b8e0f4360c266d3728e00d35ed4e0735fa732435ccf0913785537737f97114378fbf9737bc03f33707723e3653609f350e7f9a364c108337d0b982366d2057350506e93606410d38b6cbe336699b37360d690337c1e07737e793db374b14ad37f7abe4375d301b38b7bfde37eacc0637d981b7374f211d38849b93370d9c7e37d0ff8737b74c9237dcf32a35ced7543fce5b2c3e0b6f2f37ed4c04359df34f3fff1a343e01fa5937548c8b37cec52b3fd95e293e986504381ed5823696900e3fece0023e75b386373a3a05375ff5cf3ecdb8be3d7ce90d386bc8d2360d2c8c3ebb8c3b3d123972372f97d63786a9163ed677053cf7c01638f644ee36c4799038efcc85388ae4e5372acb4837edb89a377d38c1379b4c8b3700e57a36d09d3b3620e47e373cb0c337ea28d4332e21c633eb8d03340b80ce372d7e3036135982353defac36729edd37ea6eba368c7dcf35a0a8a7366e64bf37123819371e2e873633d41037e5502c388b8d2337df87da35366076369a2d0038989ba33758d7e636b7978d375d1eed3791c7c0371e0e4437469ca037d81a0038b4be8b37c89d55370f2e6e37c0dc993765cf33361a132a3f60beab3e8ea83c37ccc8e133ee02273faa82ae3ea3c03f379ae3c936e8e00d3f5188983e0916d437be74c13623f5e13e91e2733e045ca037a53c6237c096a63e807f333eb5431538dd491a370153583ebd53df3d4e42e337ec4a7f3756f7d23d78f83a3d0bf3cf37d5a82537b4aa4438cfe95338f817af37917c0437283bac377c78fb37f5c26a37d336c6376030b037fbd2fc3706401838941e983592a39035904194351e6214379d9c4937034bd436d7a42337eb8af237f663ce37a2d30937849eaa3754ed303805299b3751e002378b357737331cdc3849a71738c1dcba37a50bf53710b83f385ceb0038826dac37e8c8d937112e1a38c54c7c37eef3fa364a1e5737a221a63780211b383155063897e30e3844501c38952bb237dc3afe3e4ecb003f3ebed337ee3c953502d3fa3e3786023f028a9835bbd26d372795d13e6905dd3e1349d837e12aed37ffd4a63ea756b43e3dc92a38aa55ac378559763e65af843ef334e837150c1338e5fa163e9859323eaae839380ecae037900c8b3d9be7b93d22650b38b41ee8368d55f437a8b517382a7a6b3798c3e537056e2138d29d6938f0f50f380947013781455b360c6efe363eb59a37b5288036098ea135ce75a0353c436637caf638365dfe2a367aa22d36c2d39037556d33368cf2d1358056d235ca1fb137df61a93763d9d736147cf136c117233878e985376776f636cdef07376f3aeb372e0f04385281a8379107bb37b51b1638c6a01d388137aa37df49dd37a02832386cc8cb37a2c9a1376d08ad37e32cc837cd68c03675dda73e440a2c3f89576d3630cf1a36ab8da63ecea22c3f51429136d4a2a73670c88b3ee503143fd6f7703732a6a536d966583e03b7ef3e0304a23745c5ad3734001a3e168eb23ec3fb133885416237d804ab3dd58c723e1dddca377ab7e93740a0a53cc879023ea5dc04385a019d3769dc6138edbbd23b4207f437872d7037c1cdcc3758292f38f5949b3717345f37f7a724378d0d34371eb48f37d992b3343d29aa34cc9aa534a7a81337f406af37857b70377f384937cdfddd379639e836ddd33936c39b3236137c2337049e6f37a0924536b55dd335ae55ea3767473b37f6d4cc363f70a936ed3b9337ed1e17386406cb370a48c437ff4b2f387742df37c9df4937f24183370cc50e38603f8a37f91b6537b5bc5937980187373c2f5e37c584243ed6d1563f2ba41037ee14bd346d21243e29e8563ff05bb134c7f9ba374833153eb1e7323f502de1378820ff36a2fdc93d89e7143fabdc0c3739bd92377a9a923de79adb3e1059043824091937890e923cbc41983e8fd397377af1f737a79095382f4b273e9938253835504e37e1f3313827ac3e3c929dbd37d1313c37ce7b7b37bcf3aa3787cb3e37d483fa3643a44036f25f83359b39383758c5773504217a3532746b359eeb6936ae6b2c37270ef136e9f8be36d9006e37171383377855f536ba7ac4360c6d9a37c6656837133c0237158bbc36721ea237087dc33740571637b4abad365fe5d5370439ed37dedb8637bad94437d72bfa3745af8537d1ce2c372a171f373b8c97377561cf375c83a637c868a437ab6bd437b2ba4b37d3ac233823f67f3fee054f367b2ff436a68ae9398cb17f3f01ce6a36df749d37ffd49238f8d2553faa2ce537532eb437b3f23938fbef2c3fdc8c0538b80fa83731d86e38e9e4003fe2b82b38944dcf37d59659382687ac3ef9111d380d88de375e462738e3ac313e2e7b1038995761371c62bf373a2a563c2260853742ea9b37f0d6c63798763638edbfa2370000000000000000000000000000000054835736feba293690f1ea353ae35c36564e9c3785a01437ce00ad367c48ac3751533c3726edd336b97c9f36bbf33b37f11fa037ee21fd36565e9736c1b0b0378908bc37b4ac4137639a853601c2ba37923cb337f71b513744a301371a09bc378330913758ff54375a4c4337bcdba5370000000000000000000000000000000000000000000000000000803f000000001d725e36be283b37a3f57f3fb10b8f37922fc5375f6706384ec0563fc7d02938f8b8803755380f3832a52c3ff5c6893911b8be37c518163801fd003f384a4e380b99b837dcd6ec3736cdaa3e571d1d38b588ac372f2bd03742632b3ed2b10638828f75375cd79337e6a454384b80d6370000000000000000000000000000000000000000000000000000000000000000c77aa136282ca4360ddf913794efca3731288f359aa99035eb6bd33657219937f7fc153732112937ed39cb3762cbff3780c5ec35897ef135bd504a3786d7923700000000000000006caacd36267e8237bd5ac736716ac8360a91be37f56b533928fe6c37b3716d375edbcf372ec8fd3700000000000000000000000000000000000000000000803f0000000000000000acb12338e0bf6e3f735c173c57cc5e381709e137e2ec493f544f4f3a1c45ca397e2511386f33243f5051393a647d973938e70f38ae7bfa3e2919393abc944d38ccb3a6379adab23e04089639681de637f955ae39db384d3e18ab633abf3df239e6e00838ec0d293d181c7438e4320b3800000000000000000000000000000000b2ea60367d006836ae860e37953d92372cb57a36e3357e368819a8361ca4e0378a2daa36b19fad361cd4ee36e346af37f2687f3604997b36ca47c0367200983739ff4d36801450365e858a36c33ba937e1b97636007b763631914f372ffa6839fa4c6a36076c2836f96978379c03b337f0e37937ab025e37e085b9371988dc37f1257f3732b25837d7149f3743efc63765d49f371d186e3fb7ce8e3d4dd7d237e3f80538a5af5b3ff19ea03d57309e385e77ef375f88393f9857983db60d5d38938ec23786ff173fe8c8843d4c9b1738ce60d7371262ea3e79854e3d7516ee398bbfa7399e47a63ed171dc3cec70893a0d38b23715e9433e32427f3986fff0371592cb3701e9663d79d98738efb325385a829f372b81fd3768d4893946902839fd9cef35df79f03501606437a075a7377f8d0a3695270c3639d3123648f766365435803670c4803681eae7363f23523709409b35d9779935abeb8036534b8837d31bd435cd61d5357d590b376918ed3784cdb336cac0b43642011237ac40b439c0920337bc5dee3620ba2e37d3fca137879e00378ecdb636d7c578379865bb37f3a2bc3705e69b37c4f2cc376481f937393c97374a6c493f1e125a3e1f15ba37df493b36a0383b3ff87d563ef386f0378e1f5e37aa731c3f545c433efaae493907838f3724f2003fe10a203e942d7a39517ef637eaa8c43ebe3ef63dcee69a381fef8e3912c0893e5d379f3d68b3993a6d9097378b55263e30e92d3d6e387f38325b96376dc1383d102d42399bd8f737d213c7378d5a1238bed8363834681c3864852b37fcd65a3704490138d32e2338ed37623619356636076576369e8d88376d4a2e36c12231364c343336a7d2b2368d75aa366efeaa36167bb13667f1253732170b36f3b30d3642ed3736d0659037b8576a37629d4537bcf7b737f0faff3743e97937bba93c37780dd237831416389d3e0a37ab33e23654e00a37302e7d373802d737843da9375028d237ae490238ed561238be05243fbc81b73e3ae33038fa945a37b230193f80a1b23ef5a80338a6f184368dba003fb1e9993eead42a3878a12037a1edd03eed9a7d3ea6589c39e73e8e37e5299f3e7456433e5ba27138a40df9377d7e5a3e6a3c083eb2d28c38234d0c383c0bf73d7dfa9b3d367d44386ed24237b9f8f13caee4a13c8d2ac737ba6ec53738ef0b381b8b923914766438585ea536fc52ae365d82a93733fc0638214dc736870ec9368147043707a3b637793d1136feb71036badd123646f49837578f673681286736c746fb362a8ac03748da1a376de8033769846f37bb8105385d1f1237c7b6b93670368637c20fff373cf906379a131d36c677873772700b3884b9d237677dad37e933d1376cfd1e38e855d337c0ce98379bf4b1371da8f737567ab3378f92fe3e369e003fb5be0c38fc3f8537c1c5ed3e9ef2f73e4075393841997537f32ac63ef245d33e72a85b388a51b4374c8e9f3e30d3ae3ea8e655399f38f2376f62743ed68c853e9e73e039e1ffdf3734f5203e38b7413e77706939dd5afb374552ae3db978eb3de33a5f38dae701382d183b3c9b0d223d41681439882aa737cdcc023826a4ac38b26d3c389856d2362c07fa36665dcf37d7b10638f2cad535e545ce35690ede3557d2d336167e413601d841361d7df9363ffbde374c630237895ab3367c48743779cde7371ba21536366f16362f4a5936eb839f37c6a6b536e3e6b1362965bd36755c7f37d19ca736851f84367796a0360d03d33765dec33795229337057ab637997efa37ef83223857e00a38bf41163825bc2d38611ad93730a3b33ef203263f27d81438f15e973614b4a83ec1fb1e3f55a7d3373bb0d3373d438b3e91ec073fb43d4c38adfddd374fbd5d3eaa7cdf3e745d8b3992ca99370824253ebd5dac3e9aab903981bf7937f55bcd3d97f4783e9c71f339364c9f37b6a5403daee1183eb4495038c5dedb3709e41c3853eb563dce57183802c615387e342c3816afdb39d1653739316121370406233780c6b937d4680838eedfa7363131a736dd56ab3654162237b60d3f36d4551d36bd409036a82f2537161eb436cf76b436b34cb4363a8807381b2b4f36f492d73587f7b2368204dc373036373706dfec3611e61e37e32db437e5098e375bb15437ebca6537a587af37dec766374bdff536800e0d375fcfbb373e989937d1c26f37d41684371b18a137806ced37ae92513e018a4b3f179a253892e3ee361f1b493eee17423fe83e113865d92437ea64263ed6ca213f0875f03912fe2238a001f63dc18b073fde5dde3a3b9cde37c032b63df3f8cf3ee7b6cc39e35fc037d31a2c3d171f983e871d103ac5efac3786a34d3c8e343d3e3f76fc39f8e37f37162e0838a87a703d08aaa739d33b843704179b37079af33778d5d23707eb1e375c34fb3683fd933742f2e7373eaf3a366b373d3637ea3a36f2966437ce04c235a69bc135aa92be35a63f3437f5f8783633827a364ec77736a8af8e3751a657361a9d5936e7c958369d4986372a3502370257e1362e5ad836ab76a53786087c3768963b37009534375429f737a6361738c029e23726a4e43707ab2938933ca2374d87823747537f37df96a63702abe937175a763de64a703fb3a4243a59b67f37f7d3723d9151623f356f9138143a7137b4bd413d8c513f3f36cd5f3cb515ab37102ef23c27831d3f7edaf23a0330a637049d813c55a8f23e0d56c53aa7e2c237f95e123836aeae3e5bd71339932fff37fcd04238213b4d3e8e1a6d3994482538ccbe4538d645803df686fa39adfa91370cf39c378ddd00382272dc3700000000000000000000000000000000a60f1c352e102035aa141c3598873a3709620236aefb02365e3501367b8858370000000000000000000000006779a2362afbe136984e7c3644923a365d086037a8c6cf374669b43718aba8377931f137b4f04437be78d936fb41f43644849837bf89fb37dbb9e137f1ccd2375a43f5370000000000000000000000000000000000000000000000000000803f00000000eeef613753d8f037977a723fed90373c48f48737d9123e39dbfd493f62a4083c291c163781faad378643263fe5a0333adb2f823732070938409afd3e60e66e3c3bcdfe37bb1c0e38b17fb63e39ce563ae0d7ad37a99bdf37bdff553eba2a4c3a020ef937022df03734736c3d074e2f39000000000000000000000000000000000000000000000000000000000000000008468f372c2b1c3885d57d39fa66b6398df42138aab22e380b45173916bdd03957b0f837721a10387d627339dc2ab23963ab7238d6d6093973f4a43963f7db395d5ad5374e7746383760f03962792c3a2810d53755161e38df153d392eb1a339f9994738ac7da6383a564c395dc3983900000000000000000000000000000000000000000000803f0000000000000000b03ff939f09d613fcede413a0e10213acfd0323a0b93403f9cc2863a448a6b3ab27c343ac9a41f3fea2dee3ac506bb3a82ba073ae734fe3ea919313aaf0a253a53654f3a33a3bc3e982d993a2ff88d3ac3e5d83909b9763ea1f1423a8475303a9079ad392688e73d6aee493a19be353a00000000000000000000000000000000de8461386a4459390070bf395387e839de0a2138eb90323828c689393ef6263a9cd492378b80ad3793a8d537bf6c05391f200d38ffdb1638799127389b8f32383003a837e24be337c35e9339686bf8398c8b893700e99837400e0839aaf8e33901251e38acefde38b03c083af3b2453ae0ec9e37e74da93700004f39035bc239d31348395a667e39b2bab539cc23f4396e840e3ae5b2603f8ac3ee3d86ac183acd667a3af603473fe222e23d9995b63ad87ad9399aab2b3fabdad03d412e833aadc0b23928e70c3f2164a23d57c08d3a421b2e3aa5a8df3e8b227f3de4bfb53a82691d3a5914a63e04123b3dfb7c883a829b5b3a9878583e3f05e33ccb2ea33a5cdac939d779d03dc6f4593a7181423aee13d33917961e3a67d9383ac82a393af0ae05395c9185394d0bce3957f4ee39a0cb4f370da57a376990fa38b3c19b3989ab643700f78637536610387d975039a09d7c37f8c1ac37061c673965ced139a3abc838ac124a39e9b0d139f5c5093ad644183818fa1c38f618273814c03139d9e7c937ed31df3703b23239a6b78c399ba685394a4bb539dfef243ae1f44e3a3b4b37391d99483997ae823956769939a5ad113aa21d403fad0f793e6acf343a04d1073aa9b62b3fdf6b683eaa36913aa1089939843e113f5d42423e4664973a0fec013adf23f13e8faf213eee92953aa371193a0128bf3e27cfff3d7bdfa23ae0a57339c6ce8d3eecc0be3df5e5953ac42a9539512d3a3e9ebf763d40e2333a84a9463a2524ab3d6b7ccf3c7d88aa3af37385391e8db439ed7ad0392f09cd39d5d9cf37eaf0b7382516d03961e10a3ab14ab836a5212c3700b75f3815bb9c3962b2b4373ab4ed37b2e23138081bb1398422d5375a819e38e852af391425043aa45f2039527080391d1bf9391ff9243a8fcec437c5f8e637bca52c383e1a72396284e0370123e73748d84e398dd9153ab63258374b2e6d37128446398adb043a25b0a13941afa639276cc7394b98dc39ed78183a909d1f3fdb94bd3eaaa0423ac9c9e43985980d3f9f49aa3e86616f3a4d6af1390bc5f13ee5ec913e0e478e3a5270143a4f3fc83e0aff723e882d583a7ad1313a9f579e3ebb71403eb0b4b43a3e9abb39bd496a3e9e5c0f3e7372a53aa3e9203a8584173ec7f9b73d9b09ad3a21dbe93905cc8c3d0eac2c3d56298c3a04cec839e699f539f7910f3a4d450d3a9e707d38c9521f39aefa9c39d84db6398e2924377c954e370e599b397533213a6bb8a937bdbeb9377f240839c60ce7395d9863388cde6a381c0a2e39eee2a939269af9372a740738d2c88738da7e2f3931496d38931f7138107a393957f7a639373af638ebb42339fd6cce396749193a001b003a995b073a1497313afff45c3ae0448639b88e8a39af46a23981b6b0398085c7395764fe3e8e00ff3e2a00393ad1a2313adddde83eccefdf3ecff1a13a5160083abc3bc03e3a91c23e0e1e8a3a8e76c23902199c3e381b9f3e9bd4ba3c44814e392e027d3e19d3803e2a1e523a0a7cae39a847343e26093a3ee64dfd3a05111a3a8a7def3d5bebfa3d386e7e3a2af1533a28fb433d5e6f573de642943ad6639d39cffbe03982d2313ac55b233a0ca661399edd94396cb5e4396798003a91051d3752ab4a3706b497370008963984a3d2376eeedc3765b8f7372b29aa395dc0c53744aaca37a4460c38002f413973974239f15d8a39ec48e539bf771d3a53bc213900dd503975dabe394fb7083a9a3aa438bc86fa389719c939cf7e1c3a2ad74d39fab94a39ac00bc39718b083ace7caa396daaaf39e718cd391dfbff397aecfe395c12bd3e65f31f3f8793173a026bbe391c5ba83e844e0e3f44c1b23aee4afb393f908f3e4f04f43e94f8d13aa415a7393f146d3e3aaaca3e2222b63a83b8273a56593a3e9e88a03ee8f6be3a7dac0d3a8235073e4c42703e4a26543a4e3f193a3e44ad3da93e1d3e41167c3a9d7ef5392b23163d1b1b963d6d22563a1c7bd9393cdb073ac1cd3b3ac513353aba752638d991c738783184396b5fa8399fd5dd37ffbdef3770909c390750293ae98499375a90b3376c1ef6370a6045390eb71838130a1c3883ba24385464093908c75239439c8139d5b3ca3909570b3a2e35b238e651f2384ceb88390479e13984f6ed38d3ebf13877a358392703a2399c21213a444f163a7158363ad7ce543a600fbb393459bb39326cd139cfaaef392525a939dd7c793e8caa403f0fb8f439e05b403a777f5d3ea1b92a3fee93083b25657a39e73c3d3e3eeb113fca26a03a71b74439c4c4193e00a9f33e2843e53a6caa163a158af23da7f8c03e022bbc3a0a95f939e14eae3d49f28f3e316da43a4098aa39c8635d3d19713d3eb5368e3a5ff0553ababf753a36fdc13d659d893a6758d639a3eef3391417323aaa282e3a06dd2338e62d2c3837a593397763063a649c4337f3b565379ae199376b9810393996c437d41bdf37afad11396e2a183a44ea9837c7a1a0371871b2379904b1399f786738c139cf382299813981ecf0398fb61d38bb572038dd312838ad6ac3387a43063978ae033926c084393657f83935d62f3af88c2e3a1f6f4d3a54f97a3a35f2b839b751b839e1f5ca392ec1e2394b30123aab05ec3d3df3603f081e823a54f38a3963bade3d96ec483f5cbfc53a746e403a1fe5b43d757c2a3f2971cd3a8901013a44f3923dd5c10d3fe20aaf3ac2111b3ae05f603d5340e13ea04ae83a3ee16939aaf41e3d0415a83eaefda23a0d8a153a3756413a62d7633ef981833abd54813a790f8e3aeca1d13dd4a1ae3a4291da39950ee6390077133a09cd113a00000000000000000000000000000000f7d076376135893784d9ad379d1c21395a83cc37f5fed237f07ce237cbe50239d557c637dcb6d537fc605339b4760b3ab49be73841bc103963227839366dc33976063138b97d3738f24ed538c9d07c3977949b381aa3b4383e91093958e7b63981076639c592663925b885398b63ac390000000000000000000000000000000000000000000000000000803f000000004e7c5b39699a2f3a81cf613f0d39aa3a736587395995173a0234413f9e42833a4c652f3a662f773a1ca81f3f7650ac3acc41e03993ef0b3a800fff3e266f373aae8c98397447073ae0f2bc3ec457d43a2edae939299d163a64e7773e7c25653aaba1b439fa2ac6399d45e93d60e70f3a0000000000000000000000000000000000000000000000000000000000000000a822233521912335cdbd923514ed013619e6eb355ccfdf35516d0a3665d91636a00c2836cafd223661c2ba3615a99337a0561535c61318354f58493596dad1361d627435d25f4a35bda77337c16ee8371e9900361e72d03564b74037a82e8f3722b88d3671c18936e9a00137632a083700000000000000000000000000000000000000000000803f00000000000000005758e43551a17f3fd2432238d852573773c90d36c8865d3f42a39c381a0aba3776709537e1512e3ff00e4138e18cc7375c305e3760b1fd3ecaaf4738585b8837c15b1838de2a9e3e0d96c83817d8fa375fd2e7379340fc3d3a144b38bba267370037bb3745ee8b3a94f92e38a8eda036000000000000000000000000000000008df4533513793c3571529a35a1a72037300ca7351a26aa352124af35a117d0358a281a35d3c01b355fc81d3550001d35015da3359784a23572bea2351dbba335375cc735e302a7353d41cc351aa29a3727b2883537308a352b278c357c227d37028491353d219235a56724376a10ae37f6b1af379e1d7a37f2fbc3373950d8377ed982353e235c359364843561ea99351f8e4b35e7e17f3f2b48c0394b06f4372903ae35641a793f3313373b7915fe374d9521358c27593f6d10033aef780138b4b2a535ade6293fb24443393eeee43666ff1b37501bf63efb8c0f3a6bd74c388ff13737fbf6973ed2fc8e399990f13788d5bd37a64cec3d1ff7473945bfb73712a1a137ffe7923837958538df35fa37ea7f2c3532d29337a8e21c38905611376205673596e65d3593676135a3665a3531a3b335973ea9350b2dcc3563cdd73583590a35fd0ce93480784a35366487350cf4af35e727ac351e33b035cbbeb135ece1f135fa71d8356f1dfc3584ec8937343bec344a5ef034c37fec344670fa342fa5dc35745bdb350b45e735be0f8237c533c537d2ef82371e500b38b2a42838c73d4135fa38703511b78435bf18993539544b358d96603f3bf5fa3daf915935496fb33513d05b3fb7b90e3ec103d835c1834535935b363f5f9d0b3ead0f8037fff9af355094113f969be93d3a043c38ee9dff356e61d23e5161b93d26380d384d35f834831d833e82b86e3df5754335fccddf358eb3dc3dcd90003dea43f437f63b4e37946abe38d1eeb2397e2454386efb463583d3b93625710938c5f4ba3610ce933514948635ac0a87368cb29c36f208d3368d6da3363f7262374df6a137807a1336b94c0f36edb32236b9bb2f3635837f35c93e6535500192351452873761a469369c5266363f79733662a2e3366d10f33562c5ae35a37c5436d417f537bd0c7c37b3e32137c145d337f90b26382b51573610035d363fb93f376fb4a537068fa0365fb47c352835ae360f1a153751e37335336a2f3fb239a13ef9566e36a505273768a42a3f5befa93ec902b437ad5d21365ccc103f3ec89a3ebcde1c3835348a3517fcde3e50d67b3edd2213387b7f6f3670e39e3ef7423f3eeedba9376f876c37fd4a413e1656fe3d273e5d38e2ced7372ea3863df3dc6e3d998f4338474b4d36426f98386710563a5e3fb9377443593542456f37095e003843eb3537ae162036d23945367b6fa9379fbf5c37772d113659240a361be26a36ba343d37e3e2e434d6d5e6346723df3480b5e234c61c46359a6b4735e84e4b358dce47354015ad37ed0667378754a037613e1e38ebde4c35ecda4d3594dd4a3599dcfd3666bd1335e5560735e9d7f934a6f5e1342af5f5370e4fd437c482f637324f0d386da27137ccf48237fb39b937aa3dd2379d1929367c86fd3efc32013fc8284336849263365ba9f33e32f6053f0cec26371362ea34ba8acc3eb0f6ee3ea448db344cb04635b4bb9a3e4b0ac33e06dfa336d4f908386cfe613ef1f78e3e55ad3e38674410367020003e4246443e6cb85d3749b0ee34a0f81c3dcbc6c33dfd78fe348bb4b7377e188238143f233afa8af4379b3d4036ebfa3c38e12a80384f84ad371ec37135f0b66835e3dd653523d06635f88b343629512c3631813636d44c4236851e9f35e7f79235ddf18c35f5ebb3358997a735853c33350f354035cf04db354a1b743645996c3640057136badaa436ca7ba6370335dd369b691537d439f337c60e31380a0d0338ac6f2538fc5d77383c76db37d62ece373e97d8375a6ee5374df2a23659599836c3fba336d5c9b4369d945c350f9b9b3ec621323f199b583588cc3936f0eb913eeddb363f83cc30369c1eb8351158713e08dd233fb792bc3557098737ded92f3e17f0033f4cc78d3768f1df3633a9ef3dbca2c53e171a283752e60c38ebe6733dc9a4843e4b9807384d6e8c38c8c0ca3993b2063e692f4038010fd03729cf7538a3eab93a2bd4cb37f3d17e3657d6e23795db14386dea8c369423813577808435d9478035d3238535467b0c36bc870f36948f0f36d05a0e36055ed0359977ce35ea85d035ca1ed8350cb1e634e362e6347ca7eb34a064f434197405361f5104360b72f63511dac2362bd96b3699bcaf3569ccb53579094a374a3baa35f5c0b235f10cad356573403702fb11364fd50e36f3dd0a3614f974360639553576405135c6ac5335cf445335786e30375188e43df771633f798a17350929bd37db74ba3da891683f0cc80a36ff85da3567dda23dee07483fb5b9d9351a60f0344c80253de836253f49ccee340570bb3719b6d13c1434f23ee82e98377c541e388f2cf438e65ba23eea50f237f5d49537c290a83803ea1a3e1b390737c68aff35312fbc3876e9063bbf4dcf35ce32553507515135677b883592c94f35c27b9235b74c853548003a350a32733550c02a35933a3035f5052435dcf929356aca9535a15594358f4590354a219335304786352b82853584d18535021e8835638fd435373ccf35733aa6354849c8351a21ae35de95a835f863a63584bba7353e1a9636e7307a352da24c35466360373f2b9a37d38a5d37df027c373f25cf375a7c48361d39f535ad3fa03621cc35370a4199378c77c83816fa7f3f1abba2345f99c4361edd6538d3f07f3fcc662635eae69635134b4a387b69623fbd788e35dca59436a1a57038baef333f91ed88370990c4379e5ea1389fcd043fd2e22838a042ba35b0404638f221ac3ed0b55037996ae7376b2ca938f7c11a3e78520d38079bdb37084f963847f4c43c40aabd37f4272337e80b163887af3f3874f8b33500000000000000000000000000000000957d8f3487ee8f34333c8734bdafa53431cea1357cee943541077635519ba03533144c35f1cf493504fd4235381e48351d3f873594f8183591e01535c0f9c8352f998837e1580e3766a599366f258d377b115b37061aa236d79f7c3646c9a63719b94437882ef636f9c5fa3624d59a370000000000000000000000000000000000000000000000000000803f000000004ad23235e33a8b3664bc7f3fc936ba36d445ae359607eb36c56b603fbe489937c3172c3780d7e93756df303f7e5976382776903624b6b6378e2a013f0f480e38e54caa3747450238444da33ec2fa3838850bba37028748380da9093e6f50983888c3673792a511387e1cb03aacb91138000000000000000000000000000000000000000000000000000000000000000071430236ef7803361a441a36c6242f366d896a35924a7035c6847a3508b880356da83036d3593a36da6a6a36bc888437c39c8f361f0e97364b1af536df52403716857535182c743540ee7535a4f6a03607f23c362aec5b369e455437ab80053836060f3612b40336053bba376d5ef23700000000000000000000000000000000000000000000803f0000000000000000bdd92d36917b753f011c5f380bc38b37010e82353d07513fa7049e38ebde6438735a1e3841de273f1603093ab680b638ac7d8637e58cfc3e6c3df2380df856381c72ec377053a93eb371c438dbd91f38414d60381e9a2f3ebaca113a98de4338682151381801f43c3f659d3858c2f03700000000000000000000000000000000118113352e57b03548674536524a7e364a6b8434168c8f34b3a0b5342d75c734a0945235e41b5735da9c5d35a14d60352ded9834ac159a348ae19a34e08f083571dd9d35872c9e35c3bda135d0d50f369cfb97340a3197347a4c993414c793341bd64035a4713f35144046356bdb7f37cee6d334af7896347baa303789327e37f75d3135da9c28359a4587356511b8353fb85b360baf7c3fd9b9523ceaa4c0375a62c034868b6a3fa511a93cdc38863886a35f3562f7443fedd1a13c605b7c386e9a0135f9fa1b3f7336c33cb6d27b38206a6c36d1e4e73e8018bf3c5af45f38210d54370e7d9b3e4e07163bfca67438977e0a38ebe91c3ef2ffb73a62e05f38accbcb37cb4e273a9f8cfb39b340d63734f27e35ae1cf0365a0cd9379f939b371f8ed93386e3d333f18ed833e82ddc337205143594aa1d356112353548265235c7893b35b61f4235f20383352c3ca5352150fc338651f633fb23f7332f14fa33443faa358bbeac3578ffac353c9eaf35f9855435c69f4c3565a85835027e74353888fe34d4befe348dc10c35b5780337db6c4c365ec4413640f77a372de6e1373bc088345f038934f5a9c234208d0535322cda33f480563f97e2253e4043fb3761c24d3508f7443ffda9343e7ea02c38c938a935db46203f6fc2343e33b7a537d8f6f6336ccefe3eebcf1a3e5520813870c1b035c902be3e727f003e73bd48388eaa8835254e743eed4dbd3d0fa70138c21517371f19033eb470543d46101c380ef91338991ee5383a48783c74ad93385dbdd034cbea9b351d22b63781786037e8de3335b28d3735232352350f888035faf97935f020793534557c3557ec8035bd8056350cef5835c9ca5b357caa5c35dd6fce34b3233a354ced1036852c71368c36e735a4b1e63540feeb3573a0d736e06dbf33d447c03333c1bf3316d2a53657f6503679004d36775b6e36585e8436086a11350d9c0e35ac751b363dafa936c905c7358807be351bfcc935a6f43e3606463e35430a2a3f93deab3e3406d236bf397835a6691a3f2063b63e4598d837a2d958357ab7fa3e1f3ba43e9a158238edba7636e7dfc23e501f8d3e2bbe7237aebffd3648de8d3eeac15d3ebebce23741b69037f0ce303e9a74223e48a19d380d0786366f339e3d228ec33d5cf1a837984d9e36c47e613807c88f3ce5e9b6371248c5350216f4365347d937364a5b37fac2c235b240e9357283243641462e36855b553498015634202858346a5e0235c8794235b0a84435fb1f4435b9ec4335df3a2335397c223589eb2135b5ed203578683235881d3535be21373517602c3719463135c9fa2f35dc6d2b35daf22e374d6156356d0454358a02513548c3d03606193137ab5f183774e84237688e8137e1db4736dcd94236024e42360a92de367c6a13367562fa3e2dc6023fdbc83d37942a56344e35de3e6c35093f00e96d372b1046355771b23ec422f13ede24693741c22635b281853e59e3cc3efa9d7c38941d8e37c7fe4d3e6b04993e892e4e38c184a0370e42e63db30c683ec1b385386f6b0037794e443d97c8073e4be7983782ce6c371d4e75381206f63c57c7ff37fc823536dee8a737a08b3b383868c93792161b3510246035c5f64036c04ba1362ca257341f407e347e2359344e6e90342a0259353b597135808f7e35f754c5355397ca33a05ac6337004c533bae2c533bfd0e93523e2ee357212ea35d96ee13618876f365a017236608e81369f2c9d36f39c6a3507296a35451e6735f37ed8376eabb5350cc3b1354f07a63527734537768cc3355294783556cc013635e23d36f8fdb13665f59f3e5eff2f3fe028a436f7eeae343b1a863e3974383f8bdb8436374c0436ed70463e5c33223f4503b336516ac0355ec8113e90bb063fbcde8a38fc4c2f373fffcc3d630dd03ec4cdd537ff9ca936a7d54c3d0478963ea33f913764f11f38e6aa743cc7c9323e99b79138f7e26c3733d89638e137263daa971138da30fe350ec96237090f2c3886d35237c014fc34118e1835ce9e6d35491e7135e7209e3515129d35d1989c359230b235488cfb347e76fd3434a2fa344386fa3456be133582962435014e263576ed61351b2daa358f44ac35c458ad350e9ead35d386ff33b5b2fe33eeaafc330af41c353dd1ee35655cf135d919f4352846f73560c96837df2f343791468d374205ed3730200c37d581c536880a3537d1268f37a1fa05370bc10b3e590f5d3f1dad56355e1cee35aff5aa3dddb9663f1df80c386493f834d7788b3d4e7d403fb084d33765738335bee2b73c858f253f873ab53783ceaf359301943cbf8ff83eda422a38d1e5643731c1b038aebeb33e42f87438cf97fc3577ae4a3847304a3ed35da43703e10538abea8238305f5d3dfc1631384d3652377d18033811724138ecfde037255ce034f952de349c055c35a99af4351fe00534d2e50634c9db0734d96c0734742a2b350c802b35e7532a359ef32c35931c8134fe39823473dc8334f7288434f27b97355e819b35c4c79a356d769b3599a73035c8113c35648c1e3569a42a35985505361006e535086bd73579dd803799f70d3596a41135a6200c35ccf466370eb7b136d65bb0363f44af36073cf43650fd3837ebbc7c3895f97f3fb45105379603083422748a3766b57f3ffe1d77379e60313554770c388768583f5c965838b2068734a63436380fa2313f369d853877950436cc0b3c38b31a063f4eceb1389ff5523597325f38aedabb3ef85b8a388c20fc370a1d8038719d573eea098138c09f10381d50a838ce56813d4d876a3893f6e836a7a1873754770138f74a633700000000000000000000000000000000667c1a35940d27351e59233553413035fc51ce35a262d53592a4cc35a907e635c40161352fc15e35df455d351b006635e5e4893626738a36b89a8a36b4b7ed364388843661db8436e9ec813673853b378bf1b535fa00a035e6229a3564cdcc36d1c58336fb196836dcd15f36d397ff360000000000000000000000000000000000000000000000000000803f0000000004ca3935a29543353f5c783fd56c6638b2f0ef3593483c37e2e7533f107893380d6d743552574437c94f2b3fb5d67e38cea11d37a36eac37bbb2013f9033b938e6860e3854c099386ee7af3e1a24e338f4bda437986e623810c03b3e309a9538f0ca2d373f188337ce07283d1b51e6370000000000000000000000000000000000000000000000000000000000000000fcbf103611bb26363f5c4436c7be5c360fa8863660888f3653e04037311718387e5fc9334f8ea134234a21352a195635d61c4f3402d8b834af101d35b2c02937f992b236c29e6637042533389e3b86388224ed35b445f1353ea67a3651043637e2db30385a004138ae016a38f42e743800000000000000000000000000000000000000000000803f0000000000000000eaba663680dd6b3fdfd3af39d15a8a3a2d6f593897cf413f06f4493c0d27373ccd898237b3f71f3f99511e3b4c02c43a9a280138a761ff3e42cdac3af535fc393515a138f0d5b13e1008d63a68b2073aa849a63744ce513ebf11683c1be18a39daa29939b50c8a3d944e4b3a30dd7638000000000000000000000000000000003c9a0a3510723d3539639735ed62c2355a4571369e858536afce9636d339a536919698357897af35815cd535d508f135eb511336b2b3263660d74636f32ec2361f309f3602a7a536cd02af36309f3e373772ac36900aaf366a8db5361f31b936e7b01d36d22022368a02a4373ae11e38cbd9b73600035a3702bb083810094138f712d234f0fad234caa1d234a9a9d134d19ccb3541ac6e3f44f1893de382bf389b37a736d096533fa1a39b3d2761533aac12f9355db7313f5fb7a93d9ee0983ab7e2bf376cee0e3fca269e3d7bfe843aaf8b0638fa23db3ec3be803d0f3a2c3a49a2c336dd769b3e26c14b3dc4a06e3a0a4c543854163e3ee5e0c83c7abb8d3a63ce663818e35c3d7ded973ca506a63935a6d034a3b000373a58a437899cce3722ef773625af7a36ed857e36858433373d114c3667414f36ed4e5336899c6c36a099a8313621c3317f954c33da302c37b4ce14364f96173636fd1a3654ef2536e428cd35deb7ce35d8a9d1359ac00c373c611f3527e93b35a0666a35f9b69337fd361436af501536472194368865b037a98c10378e248637ad500538799934388b2d14354bc7133528901335a12a3035042f8837a236473f8bd6623e44e08238d7847136b4b8323f76e2573ec0da0e3a385cbc376fb0123fa257473eca2c8a3a88d47a36fc93ee3ef142293e37751b3a33c09b375fc9b73ec6fd043e1df4783a1d52fa3720ab803e00bac63dfafc623a85d7063874eb1f3e2b48653d41d20e3a0c024b38af91313d13a8a63c8a3e423904e52c353602273606a3af3766dcd13781084035049443358c6b4735c0a50436975c2a3697532c362eac3c36abac5136b56f0636126a0a369a6320363d063736711e8f33abd7f53389ddbe34d8c4c0361d80d53559e5e63569950236c37a4a3734741b3603cc24366d412f3638fe0f375c9bdc368cec5337a9560a384a244c3833369b36bcfb9936a6a27d37d1f5c437ac868d36978a8f3690b49236f6549836f62fd136e3ad233f605cb83eecf42c387fe98236a2de0f3f0d23b43ebfd1013a55c0b336676bee3e74cb9d3e90eb2f3ae9c69e37ef41bf3ed000863e8061853abc3bbf37ee62933e8cee543ef8f88e3abe5b9b370aab4e3ee08d1d3e67bf0e3a12037238c5dcf73d8b70c23d953ca73979a4ed3752d4193d739f0e3db61941381a66933670473e371f7930383496363853fe5d34a2d062349a3a6434f4043c36fa268c36b92795363b10a03678b9aa36c4443835b3bf80351e8eb135c1b3fc35bbe571361dbb7d36e81988366df591368af5c93689f1ca363aabce36d3923737cfb598365bd59b36730da036a01e5937f00b1a3644ff1a3614eb8337743c2338413fcc368791ca36557a4637f88ef037f1f17f3499278034fd637f34d0bfe036d269483776c8fa3eac6b023fb51aed388a5cac36cdd0d93e5b0dfe3ea4e67d388d3c7d379437b33e0a7dd83e38d7183ca2ff5437b8b48f3eb2c5b73e23cfa03a8641b7376bc8633e57c08d3e86a2373a7406bf37f42f183e6674563e106e963a344553381f39b53dba2f043e6bff423917101338cf91b73c15a4643d3c568238cc69bc36f95c19386c12f639417db538bd029336addd9436ad4caa36172d1937847b1d36fd492e366667493609356336f28236348ad9993493e11c350a3d8e37cff8133620be1e3616d52b36257639365a1a0136db2c063685ef113637e460375c739135b4f09c35f81aa9357805d137f3e26a36c4f011375df5c03727751738df64263809773338a60c55382c1d6c38f939603523dc5e35f58e09378de56e37a2238737779eae3ed0a9283f35404938e1c668364037923ed957243f0c186a38dd3ff43767a46e3ef3ce0c3f8880fd39a5903e3713ff3d3e1f4cea3ed04d333acb2bd1373acb123e6895b73e1c63a23a12181c387346c53d236d883ef333773ad60e3d38a162643dfa232d3ebf12183a206b81384e92873ccd538c3df5bff639e7d4763794b6d737a6cce439103a16388439e834fd89f03448c34c361be9d3363bb917366da92a3645b33c36516754361e730f36dc9a1236f9f91336ed7a3536d583de34ec85153577323a354bd84837d509ca359ba9cb35ff81ce351a417837c9723236d4c137365a933a36306580374bcb9037f4eec437640a1938ce645038d908a037d39ab137bfb6fe37f4e12238cd54a537b093b5375ca0ea37f6e80d384d288d37d22d463ebb6f4e3f59700c381bd540374fe31a3e49d4483f40959d39ed9a4a37c27f033e4c5a253f21c9553c5a8bdf371f03c13d1a2d0e3f190c993ae5addb37221e963de01ed93e943e543c5bad023854b13e3d6477a43e9cd8fd390d307738da54dd3c7e16503ea52a773ab6a43b38844e713cce359a3d0feff63995af0c3831dd3138b184a7384ca17238a055c634a010ca35d8565337020ea7374e684f3680096a36cccb843620859c36e17ac6358341de35fd94f735a4e93337ba59a1366026a5360d98a93633deb1364f35bd361839be36c361be362cc6813792018d36a4ee8d3652830f37a9a403381fa63936616b38364c8523370035ca3715f1013836560b38088e2d386dcf5138a9bd3f36f5203a364603343691223336e2d8e4376041313dbfe4743ff6060a38455db53798ba093c5ed16a3faab5bb3ab2f3e1377202de3a907d463fa66d3e3c631eb736e3ee6e385f32213faa46843c7a561638b13ca93839b9fc3eb981723cd4353a38e17390389870b93e10ea8e3a54e9183854be973cf9f74e3e8c5a953a1abc6d381d826c3c40bea73dc72f2b39a992523614e60338a92b2b39ae7298380000000000000000000000000000000018f7b935f2e6f83597ef233641ac5b36f2a02335f5ca5d355bec85352f84a8356a999e363901a4362fc3ad36479b1738d7d05335b60c5b35e554673543abc53653faa5355aacb0351d6eae355aa06436c8491f3807543338332c5a38379784382ca28237450f8937728ece3746a310380000000000000000000000000000000000000000000000000000803f000000009eb86836968b04382b4a6e3f07afff3944d1b535490f0c36459a473f93ee883aad594938d65ba438d810263f2e00c53a68717437c12143383b1dff3e98c8973a77ca55370666fe376cb0b63ec0ee6d3c1a70963831cfad388e5d533ecf614e3c7e144838d17cb23963529c3df11bec3900000000000000000000000000000000000000000000000000000000000000003469b634d61dc2348b0bcb35a54c023627ea93350a449d350086c03569c4c03584b3e5358693b535686b0136f7fa0c3600000000000000000000000000000000e4809635d3369a356cefa0356fca1e37d4d0be351304d535d812cf35167cba351cf19f3409d6053509375435d044a23400000000000000000000000000000000000000000000803f0000000000000000d5169735ba577a3f05530a38cc7a4536750cac358df45e3fa4c2a137b8f0c036365b1536be312f3f15c669373c094a3600000000caabfd3ec7ce2437000000007385ba37c8199e3e2fb21738e6a48d37c6c0aa35390df83d53180d3715d2e035782f10356e7d613c8d8796346943f733000000000000000000000000000000002f6d163655ee1136b7b71936d7361c361e56e2353f25ca35a17bd035d3ba4e360edbf135a327d93515424a36d8107e36472f0636f3170e3698fb113635f70b3604f40a367cae0336fd3d02363a460836617e1f3639c63436f27b5036bac46a36c888a5355a469b3598729635f09c89350b64cf3524d5c535baeeea35381408369879f4353930f135ae120c36d14a1936ca711836987c7c3f870a703c072c17368572d135d74f6e3f5ff7b13c34968636976f1036803d563f9e417739bb6d4e371d051c36c6e8273f9c12b93907bb0a37401e0a36bea4f33e81da10386c671837da444b36bef5963e96b40d3afd2f5c37d169bd35834b023eba5c93390c69d8364df4dd35227a6c3c1512e4378f03d8359686e3354226f435065905365a690f36c5c2913435b80234a7bce6360bac9d373ed2f735235bce35f2f4fd355e9903363421a53658a08d36fc0fa7362fcbb636c9b6583585611035e9586f35a8d96e35a9880f368162003610d110362dfa10369ca2af36bdce9836d7c9c236086cca365f931636596e093618a4113663c10f36dd032b361c83493697af6136e9d847362e2b0c36c8120136b4934536609e8e36789473346a8f633f6d04e53d60ce3537ce22e035ba86573f080e0c3e43f5f935951d943607583a3fe7a3e43d4f8f8e388378713590b60d3fa904e03d79ee8937e6cd18364835cd3e8df3ca3decf20d36c99ba2366a4e703eb09daf3d1e3fcb36db971b361eb7923de874953df5a517365ef449365cc4b63727461a3cc2723e362c9ae93535d7fa3689fb2237a621d6362c79c436dcb5c236bce6ca364eccdf36517c1a36517509368a5d16363b4944362a7f2d3606ad1f36e19e273630a24b3666f4b83623a9a0366388ab3626c8c336c9067435496126353ae92f35532497359a221735b9831435b8ac0a351fde7035934fb036c7dda6361f07a836eafd123766b7c4356139bc35a233d435df13eb359d0db5370ee95f378e638437b131143776ecbd36f81c323f65249c3e8c1aca36d9baf9356ae7273fe984a93e04d84b3661b525360ff80b3f185e973e7a646f36e09cad36e46cd63e8154843e73d6c736b87518353bdb913e425f533e548285356dfc3035d7e72a3e7443193e7bbc8a35a7eba236a408553dc93ab53d6edc1038726fc035e0c525383a5deb3af27eda3500000000398032381e4487384bc28837ae717136a9415f364bd462363e8062360fdeff35a083f5357de3f63563ae5d36f7b3b33539c3b13577fbb3358cceb53560763436fc663836e4273436933a2a3685f31f3608592436a09b2636ff5b663645eb3c3611d63b3630dd3836c44f2a3646e7dd359c5edf354315da356c72bb3592a45136483d4a36be645c36a63c78366996653649835536c4d05a36b3b15e3604a06736c27ffe3e9818013f77da58362c0fb8358dbfed3e5a77063f5c92e135787d84351c66c43e8941f63e18a2b935465a3736458a8c3e2891d03ea1e53636bbd03636352e493ee6d19b3e481f4c36aea71a36e278d93dd8ab5b3e251c39363150e035cf94183d76ddcc3d85cecd35f67e48366cea8a368dae393c316e59360bdd4136062049367a5f5136af096236000000003b49f7378fdbb237beb9123782b0be35af1694357fefaa3521dfba35973db636c022a33650cca136ecdbab3696c322359e3abd342f712a3538a62c35e43c96357189443531c75c350a4f7f35aff0cb367004bc360a22c9365685d736d22b6a36f2dc52369e1d5f36c19e5b361e36473642884f36cc096236646e57360caaba367157b636c163b836ade1c5364d283137ff599a3e7f09333f0000000003c88e35062d8e3edba3383f3140a2354c70a0368a11503e06a4283f58afa736dc1022352ef20d3e69ec0b3f124e2a35933b6735638abf3d37d0d43eb3ad53350e5ab936abc7443d30e68d3e4812d4362c763b36b0cb103d8581fd3d8df852366f905236b41de13740355f3c2d4154363953a6364606ed363d66b636dcfec936c93c7e361979ba3659d57a364dfa6c3636041e3691440b36b9fd07363fd83136d45fee35aef4fc35e03bf23513b21a36b6ddba367251a83683a792363ec6b33674310436d311fd3586aef735e95e18363c865235f3795b35d7454b352a25973548bbb636fe81ad367c01a236aa51fa37c9390436fdf108362fa70d361da61a36039a3637c2e72837ff790837e1982f368e87d5366c19db3d5de3643f7bdb0336d92801369a74b73d10ac663f73c41536a5060536831ce23cbe4f543f7dbe083668deb036683c523bbfbb2d3f7027ac36c09feb35726c233ba447ff3ee64f0836ffe48c35d25e853c9a34a53ec9489a359a0e373877f3d33cbdc40b3e3a345b38df48fe350b40333aba22b03cc0840b36e4a4d3347bd64c38b4f01a380ea4c4343887123651330336e9ebf635783e0536fe6cb535cde8a635f82ca035578ec135d2c380356072aa3506746535ae0f7535ba902b36bb271d36d8e6dd35bbaa26368b6303364b0c00362e9bfb35c29613363e493536871b2e36ad051f369b781436c3d86f36c0d560364fd34f36eef1833616173a36e90968362dd34636cde26b3607ae1e3683481136edad10367d271b3639cd1436d231463a1506803f8ef8e6352cb3ba35bc25973754667c3f84d5bd35d91c9335cb8db337b8bf5f3f32daa03581854736e858d6372ec5343fcae82f3686500436255da4375c77063f041b2036f6f412369734c5372604b13ec8f0df36b3249136e3fc04386d26283e41012a373f9e43365d3614389879423d94a15f366c850136915b0436dea9bb36878f15360000000000000000000000000000000000000000000000000000000000000000ba0af13505dfcd354a83c235987faf35484dbd35338343354ca331359071243500000000000000000000000000000000448f5336a003313622f13e366ae053368b3817365931f9353614eb357d43d235e5674a3613e77b365ebb653640a778360000000000000000000000000000000000000000000000000000803f00000000000000000000000083e77c3f000000008112a6356879ca352e61613f3a40c63580b19234d6f85537e76c313ff672e1370000000000000000ad8d013f4e2d093715c22e36d383a136417aa23e6f535b37c002ab3589884b370a9b053e3914893707594136c8d5ee3750c6be3c909df6370000000000000000000000000000000000000000000000000000000000000000bb041e36922b1a3610cb3836cea8433671f10d35fa66fd34e81bff34a01404357b15e534dbe8d7346dc41235e95c0f3559294d350eb137351be03b355d0a3f35171619355a79213515920a35fa695837df0bbf34a0e8ba3487eac034d21f80366945d6343eaf9434fef55d3442ec1e3700000000000000000000000000000000000000000000803f00000000000000006607553656256f3f2e99553cbbfc9338ee958837ef22503f30b6f63adcd3cd38c660db3464d8243f68e08b3cd0e2d038fcf86c35a9aff43e180cac3cfe102a38c3c24c38b6739e3e9db6e03c6bb2a4384c179237ed4e193ea9370d3d9d277937bfa51b381e95133da5f11b3c9ff32e3800000000000000000000000000000000c33a4a36fd055136ce0487368d1ba436fd0cc635a5d2fb358dd42b3636162f368ee9ff35bf540736719a0b3697780e36d31dc63530b1be35c4a5c33541902736232ea635107ecd356cb77436d3f79d360990e8350d2cfc350826f3358f551936709a7636cd9d763642fca736d55f0937c92a0336e6d91136eee13436e27a2136b7463336125b4636464f403664174336e578963678e1763f8155143dc5c045373b033c3693a05c3fb1db7c3d07db25382f9e1436b526413fc0ea323d8cac3d3880685b36a64f153f4cad493d75c7263870e9ca36c435d63eb7e96f3db9b2c23728a5853629d2863ef9bd733d8bcda2370624e5378dacde3d0a19863d55e248387163d6374663f038e41ce43c0911863883af3736c2f8e736b080ee37f7f6ed37ffda2936c2232a364a966a369d857636c761f9358d6f0636833b0a36ece82736f215603659b27936c1c9bb36f3a1fd3620345636c5234a368331543603c5503609ad2436fd8c2e36bc643b3679f06336d61305375725073760cc0c37e83f11371b984936a4413d36fac240366e1a44366009583658ce793613828f365c0787363f3f1236f6e70f365de015361fdb41369a725c365b345d3f076c0b3e0edb6a38dafc25365649423f917c293eb4ef8c3827cc0637299c1e3fd591443e02eed338d80c4c3640d9e43ed12f423e92a40b38b7d48436850f9f3e456e2e3ecb2c4c3833381c3761e52e3e825b173e55f928396533c136ad665a3d9617dc3d88a726386e84933602748038713ec83c11b691384376e43564cde8366517f43713560138bf37863663d19536b18a9e36af14ff36c7759c36ce0ca0361f86b736604ad336cd0cb335a37bba351ad2db353320c7353b9b8f36068094363a2daf36f871da369bb9b236103db43624ced236d3b3f13682b52336c812203676152b366f4b18368c8ff93689effa3671e9fa36ec4b0737275fa5368586a53603adb536f232b036777f6e36383a603691ef4f36369153362e9ddb366c312d3f87f7a53e98f03c387ef6d036d645133fd868bd3e10b7eb374594dc351bc7e43e762ebc3e47840b38ce1dfe3632069f3e40d5af3e68e761380a460b3785344b3ee6e5983eb9d90738190a2236229cc93dcfcb723e19725f372e031437e3a1ad3ca5a31a3eb4f19e38cd33af36c986a637de6ebd3c2a26b23715d9513624c67836c88b7637643e21375e97a4363c30c0361c1dfc3634c5f23668b5fd341bdc37352f518535646888351e591536ef1f2e3680c163362c1d9b3656d3b73643c4bd3612d7e2367d400037d52c8036028a8e36ae709d36f4eda33649cc00378cc803375f2a04372fac0b378035d3360886d836452bfc36b09cf93607523936a84f633678cd8536df248c36754203375f15023799d2ff36d93bf636b31cfb36451bfb3e737f023fad0b113716c5b135a222ca3efcaa103f6502f2376d64c036b8d7923e05540a3f5ebbe137a96e1237bf73363e824ef93e9b169237375c35375180043e20d4bd3ee7837e38604820376129073dcad49a3ec87adb379dd33137bfae7f3c4fdd213eb93822386ee752370ebb8c38cbe8253df0678c382a4ee3365b600637ad7e9137029c5037e7c9ca35689a1836ac0f65365cf67236529bad354cb9b935f4d7b035e7860b36fceb8036c76b9d36e7919236319bb036944f173657061e360ad92936c8452436795fad36c119bd367a26be363f65d6363889e23682faef361a80e7361e9deb3628f7e235a36be935c9f30e3621bfba36419a00371df6083723cf2237f57534370deab936b8abc1365d23b23687df093781eb083714c39b3e3452323fd2b049368dc05c36c3d45d3eeebc423f79059b36cb74d6362062e03dc01f383fc4557a37baf11b369f29483df7f31d3f58860437043408379cb5ef3bd05afe3e85ad07385a860537d4575f3957afb13e388496386f1c2f3729a7853bdf7a3a3e1ab4363818ce5b373fb542389a0e623d8b0a3438132f1337afaf43386b8c8d38257f4438ab54973625292a379fae49374cd83f37b75344362276473607d74a36052b6c36d2d23a36d1a2383661013a36a99b2f36a4bada367775d536da66ca361d72fa36a62d4036e6e03736ca74413626036c36342f533669d85636bc904b362adb37367d2f1637a5fb19372afe1c376ac83737d6d35b3635805f3669fb613636565e36155d9236ad7e8c36cf318b3696969f3638d331389bcbeb3ddca6623fc3d9013721749436d7eed63c642d733f66af7c374ef33d361277433891fa563f6cb2b6375df61437de0a0939dea92e3ffff9fd388f5d8c3632c70f38603e053fdf342b38cb834e36d7d20538a687ba3e177d1f3859d89a3713daaa39ff54413e22231d390a141d3710347038d1fb9b3dcf32683862c92e371a503a38b2a7993876fe063876e431365fab4536144547364b1b10379b2c763598b27b353cfa8735d5267335460608361e1b03367439fe357cd00536766ef8350376fe35d729fa353a78ff358399ec353f0dfc35904e1536fc325c363135df35fd7bc435859aab35a383ed35821f1b36971e2036850d1f36cbcc1736cdf96636bfef6c3686c374360cc8693630c1db36af7cdb3632f5d736df71d136a9a4fd3779a7c839b701803fb6eba33727f16335f7563b382aee783ff3c5363870611436312d79376b96533facb47738151506363e5b7636f6882d3f2acc0538f01e9b368259e136e027063f5c6f133886b9323693d55637c79cbc3e53aa56384da82536b373be37e7484f3efc25553821488a36ad1b9237ed489d3d65cc253876e9d136d1b1ee36a1374a37efdbf3360000000000000000000000000000000061710a344b115434e8418934048e843459e7ce348196ab34ca5db734b647bd344ebd1535e8af2235afa03835796a4435618f1635348d19356e131b358329283523b81a35f1ed0235d0980135f7c90e35cee3ce34004bce34765dd334635d7737891d64361fb67636a20a81364b1b77360000000000000000000000000000000000000000000000000000803f0000000006858d347242b6343b73743f65fea538490aea341ebeb8347106513f8d632338e2863d352ca9023884a8293f3fe2903af3f0413541248435e934003f9f09c13abe782e350ebe1535604cad3efa2ef33afa482d38ce36a1387c1b2b3e3ebd953cee5fe33757fa5f38f000593df5ebfd3800000000000000000000000000000000000000000000000000000000000000007d3d1e345efe1b346a982034fde1eb363562bc33ca51c933ee09cf33541d2e35ed11b435eeb4d635b0d9f7359e9eff35a5fa8934702785340471833477cf2f37e6370136286f1236c5552736957a12379fb5a2352ef1c336cd98cd378d4b4838b3573535c986303569f6ca376f57483800000000000000000000000000000000000000000000803f0000000000000000030d103810c8603f761edc3c4eeed83c3fd98c37f2123c3f7b79e13cc626f33c14dd0936c2c91a3f9f32043d0ac46f3cc89938389c72ea3e1422283d2b82463c2b13b63765989b3e08c87a3d4c304c3a58528a384491363eb6924f3da8d8b539b1269d380d94653d3da51d3dc60fe03800000000000000000000000000000000bcc4473632fc60365ed778367e638536dc039634aaf19a3471e3a13456eeae343fb32f33bee4323367bd3533cdf6643398bd22360fe13236f0c47c36b4db9f36c687d134a3a5d034ca3ccc34d943cf34cd419d35a3b7b5355cbfff35460032368698d1356cdddd35dd10e935f0b5e53569c81535411b11351ef90635799bab377441293559f12b35b7892f35acd03035c5b29b363ed9723fb9d4503dd0f6e939d722b034dc5b503f96fc413daec0353d0abda83398a9263fef03bd3d8771163d7bc97837d5e1f93e7975f63dd486f13c7355d6347f73bc3e5c50e93dc68a8f3c717c4c3656297e3eea17d53d6b92023ba472f2355a09103e5fa08c3dd0c47d3a26a22b38e7921e3c0aef423d5d5a38390fad2935fb9c343592ca3c3554ad433761a9d634ed295d355ae8c835a9034c360b6f9a345e92a134c033ae3405b9be34c0ee0d350b821a352cf91c35d78924352add4c36cc8e6a3663be96361fb9ba365f0a1235649214354c400d35082a0b35da19a73531f9d43524ed0536471721367551463676595336be806d364a5283366c48743591376d35f52647357e4e383500d30935f23e1f3546471b35d32a1535b8f3bd36569a4e3f2efa443e61aed839e6f3b9347f3e2b3fd7d35f3e4343063ddb9d2d3551ff063fc2d1683eb358f43c484540376679c43eda74633ecf5ef93ca109e837fdcf8a3ea7bf433e045cc03c57250938e9a31f3e9b17173e5b92dc3c9ec51737e226973dd6cdd93d859fb23c75f74b3513b4bf373c59323d9947a03a06631f35e3f429354d2b8b36021c08381536a433095ea5335105a7339899a7338646f33479c9f2340a67f534d2050a3574349a352b1db435a7c20636277f3836c5c3cd3441d3e23424a45235e450a23578d81f350a062235cf812035fe8328353855553674ef6a360e10783610f38d362bcdb535c980b93530c2b4351df79b37d1875635be915835b1414835150456365ede2e35bcc5303590f12e35cb4a29358cceac33695c243ff073b73e513c1138562e0c35a5f5023f2130c73e6f439f3c20c76a36a3c8c23e9a9dc03e2d89ea3cf527c4350d84833e93f8b73ed7bbf53c24802c354fd2333e1b6e903e9b513d3db2bba5371d97ba3d99e5663e5520043d4fa93138ea19f93c62b3193e7502b53c4ef198378d388638f8225e3d35f90f3a19762f35da386535aa3c5b372119cb37ab735735b4205b35f0e45e35f9fc73358c9da4348269a634357dab34bb3bb834f01ff432ef6b5a3348faf533fa618334db86a5354177bb353228d2355a0f07361dcfd234a7bfd134aaf5cb347d0bcd342adfc1354f7ad235e55be535483c12367e145e35b1e364358fc0613594faaf3740e90135361a0035972b4a3691c7d03787497f3595f37e3566187d35ad977835ed5d4c37d0b1f43e1cb1053feb104e385e08de358325b63ed3b6133fb64aa5393baf5836f2af7f3e700c053faa3dab3c3e442436d09d223ef855ea3eed9a023d622f653685e1003e97ffb13e3515db3c7d92de373041193dd8aa903e79a6043dbf0b2338a9883f3c129b353e9009ae3cfb591f38a824a53830bc883d24cfc73984e97635625d79358ef60e380b3e3038ba503535e4743a3550c727374f1da537ffebac349d1bb2346204c6343326d534add17c35d2a78b35ddbd8c3585dc903574e20a360c921d36e4463f36f6817036c9a13b357feb3f35a43a3935bc0a383595a4953543f0a8356202bc35f790d435969a5d367b4a7236bbef7f36e4467c373d7f6f35944c6b35859b4835f493ae377044de33b42fda33b2c2cd33e903c633f34e0638443ca23e5af72e3f22cbd337fab8dc34d456483e60f43f3fd8e0b0382388a236fb43d43d6a7b2d3f4c56883cd0348537df43473d78af123f4597f53c1a5a7437c13d783cefb3e43e382e103d7379f435605f8838b72ba73e0b9ee63c44cdee37cf289e38ccaa413eb875d43c19510838f59aa9384b1c913d47401b3c906ad033c3ffce332515e037bb30df37a3845935887c7f368c7af937753029380608f634208fed34dfc4eb34d956083546c1f635c4ac1536c6562a36d1964d369fdf11351b6237356a278f3541fee035750ee63468b0e6342460e3347964f434d0afa036cd2ea9361115b136c77dbe36b37b7835d03080355d3372352bc46535c74fa235a21cb2352e14bb350e9ca035bf39a136e241a136ab78d836c59d6237680887381f54203e34ec573f24eaf5370b2d0a35766ef73ce5bf6c3fb94e193a6a176a3634cf0138aea9473ff303983c67e10936ae6e5338f19c243f73afdc3c743cef354a889c38e629f93ed58ae93ca916cd3649d21838435eab3eecb1ef3c36976f3583446038adaa443eb65fc63cdff826372a097238f972a03d7cddee3a64e88a37e5212538a18681382fdb82385c784f35c97d4a35e787563528ec59367d75bb34389ebf344c38c2345e0ace34daffba34830e1335aeef4e354f65893522a76b35f1b193355307b4350ac7fa35408cdc34f413dc341c59d5346e6ad534b4c12a3659b83c36ddcc6236eca888366b9c3335701440359e70443567934035f1fb043557a102359234f7349f86e83443ea9d367e659f360e5a3637d85794373c5bf437aa19583c72b27c3f5b239f37ce40d334bd0d0738dcee703f8528bf3a9b3d8e35ce8fac351648493fafb6913be70a1f36607e6c3787741f3fedeec13c9cfadd3499838e37b4cbf23e98a0de3c587e9236070643386e85a73eeb85113d38276735efc8c137aa66423e257cfd3c5d9ef33431a51a376f859f3d59f98a3c5e25c937290c7438e86bb7384b57ad380000000000000000000000000000000025d2d63486dee0342deae234c11eee3425cbf3345e130035817407355d821f35ebaa2335c3cd4a35b2d7773581a5cc35e11dae34d852ae34479aa5346b10a2343814d7354efddc35201ae935dce0f93562d95135ba65783590c59e35cd74c5365e432e3642ce6137a5d20a38bbae56380000000000000000000000000000000000000000000000000000803f000000006dd8ea34300b9f37ebec633f642e7e3c7215283567a50f383717413fa0c7883c5addfa35d6d54a37966c1d3f0a34a03c4b57ac34c6892f389249ed3ed86cd63c06370236148008360fd1a63e31b7c13c6964b9375c1866385ac1343e32e1013d8e0e8938f5f8c2381ac1563dc31d863c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013596e3440068433000000001808223448d16533f7086833288f6c336922923347a92e340b0e213458e00934b2b142347cce9f341c2d8f340cdf3f34ba960e34a660463340274b33e6a5473301706c3301fabf347609cf34b808df34ef81db3400000000000000000000000000000000000000000000803f000000000000000000000000ceff763f0000000000000000e9ea7834b5435b3ff368d438be98b634e1f51a35a983313f64c8a437615f85339b9359347699fd3e7da7d539cbf56939b735ab347d4fa03ec4151e3acb6f3a3409ea7a33c832143eb4b9a739c2735433428cc6341c6d1e3ddb18b9377303a93400000000000000000000000000000000bce316338aef0e33fd190c33a302e333cd2774341033333414bcf6331c4a7734a0ebdb32b8bee0325551143341e844339db925341e211f34a9cd4034f522433467eb20358fa1183563b5253545412135f9e20234e8e54134532ac4329e067d32a15800342f03fb333adc223437e71034e81fec34c881f13468720735133ec734bd7d4e3584733b35f40c92348e6ca634c2830a33d6e67b3fddd4c43c80d10e33f94528345998653fa4e7423d5efd4e37b35e243358f34e3fb1eab13b50e93639f66f8a348022233f6af8963cb7e58838735952363d52ec3e2185903ccb45e0378a23ce33534a933e025bc63c163652342f391b34207cf23dc8de1b3d55e2eb3330f1da345746213c4a93f13bce08c13424af8734a65b843404700535b3596835ca7ce5314628d9310105b8315ef101325d69463497234a3479db40348c91673453104f33115d563386f85333695970330000000000000000000000000000000053a92c33bfbe813304ca0833d712493378446933934e713390fa5833dc986433000000000000000000000000000000009ed34434cad529348e101434a204f9330ae885337d098433a98f7033ffb973333bfbbd312bc0643fd6dbeb3da13a2d34628d47347d1c543f9028183e5d26c1349b825c335644333fbb51fb3d2fda1839000000002886063f9f1f0e3e000000009a17fd32eee7b93effb3053e0d04db338a455a331c50433e20c0033e00fcbb3300000000f4045a3d59d6da3d00000000aa47ad332a576438357bed3bb893873384fe4733ef85493392c661333fa38233ba34523312992d333a742833b3e65a33eebd07340000000000000000a4772e3200000000000000000000000000000000438152335e9755338b3554336ae87b33433e3534e1611434c82ccb33b8001634000000000000000000000000000000003b995533e92155337fa15b33de8571330a62a23404d5873470481b357e51253569376c328508833235fb8f3280907d32767d4a339e69393f346c913e9a8f473300000000a655253f0b33ac3e48206e3300000000f6dc073f4c6e9f3e000000006f7087337d0fc33eb0d8953e09de64337557043451656c3ea796893e1f32f533000000008c3cef3d68b6583e00000000df4280337c790f3d3edbfd3df36f5d3327b82235200df93748fffd3ba3d046355e9d3432234b4d32c10a3d32dbd61f329fe7a734ad2d81346b134b3421da1b35139eaf3418ef8c3404914d344781ee34f3f0cc3398dcd433aedb0434a35d2d340542c5331c7fc233df75d133fd3ce5330ad7103525940c357cf80c35f37b2235e56dad337982f73386949b33657ec53320cc1334d2c80734d37a30344fbe14342b4e083583c5203540912535992dff3452a33a3597ca4e35032cd534a822e434378b1d35c118063f8334fa3e33568e340f64b4345292ef3eb074083fa19b0635341d1034bf75b33e1b97003f392a1734772e5534df036e3e287aeb3e08c9ca33ffab15359ca90f3ebcf0bc3e32def535a1559a33d9296d3d5520883ee7aa2034f8d4133482e6133d0772023eeef71734ff8ef5344a1cb7393929fd3b8ae9ec3472098334c833b534ab5aab35e94a6435c07b32326cd1273250540d3289284b3200d74c3420514c3434453c34bac76e34f7c92f33d9063733e3ce333378d84e33000000000000000000000000000000000bf0ff33a32a0c3471cddb33b8fe1a34fce93e3314214633b1683a33f4de4d33000000000000000000000000000000005dd71734b8ec1834f808233404b1ff3398116133b500573391f9583393625733ab861032d9f1a33ee207313fc0595032b1404134f8fd913e18bf373f48be9134ebad3933da292d3e980a303fa6cd8e33000000002012b73d42ef183f000000006191e833b67d4a3d0798f03e0d43503405d63b3389881e3d440b9a3e2477063500000000a86d163d9a880d3e00000000f871a1336167303ba771da3c4c718a3378b72d33f4c32e333eb64e37ad4b5b33c4157b3394ae6d334e623e333f248433fe0935340000000000000000000000000000000000000000000000000000000049927c335a1e8333ccf56e33c5d4983352fda833bbdfa43200000000c4a491320000000000000000000000000000000016037c33907e7e33b2537f33b8e99033b2467834c9828134f6f4863416958d348bb61432d6412732e4893932c35823323de68833991a0c3eebd95e3f156b733300000000d9f6e93d039a633f2eb42433000000005b99823ca748563f000000006f88a6333b5b943bc1c8303fd25b8a3355412532a97b5e3bb6c0043f71199d3200000000bbe2a43ce6b0a93e00000000627d9a3340b2323d73a0163e16ad85332fac8834cd687a3b6e64f23cc0866f34080ff3316ccc033277335234bb8b613452e11735437bdd34cb8f5f34f0edee3491867a34858a5634e6509c33132db8342515a933dab082339e985a338169e433fc22c032c2deb833a3328c32a9fd1633c3be0035c57b0135bb39eb3411d12b35c30f0d34b52508341e14093414ff343496f42633bb481933a33e48332e692a333deea23481bfb73452d2d134bc3fba3440607734347093343fb44a338e5bd23385fd4a359829f83cc2ca7a3fcb8b8d3403348034bce69c39e1197d3f86b6e534f785a533632b96394d4f5b3ffbdf17347a0f0c3407f30737ed9a333ff270e232e3c4713607db11385809093fbaa79f37cc931434e4d8de3950d6b63eb45daf346b122833b854a53c4105383eed714938ff21a634e49ffb3878f8803db4529134d4091033eb381433728c3f342067c234000000000000000000000000000000000a809e34cfcd9834ac87853411b1ae34ab1c2e333b78323301272333627c36338a1a8e328bc2843275822a328c14b13290071a347ca1263475b214341b2a243461fb5f33d4466a3344aa55333b3e6633e62ba33425b50635032ee83466d29a34000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f00000000d1a3903489d6a234507b783f79ace234303e2e33ce44313388d95d3f63d295387a74bc3336c7ab34a7a9323f0439103926ef19343af81334581d043f38ab133a56225a3336ba3d3551c1a13ee188a0399f74ca34f4d3a839de341c3eb42768390000000000000000f4b9343d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e145fd35d0e0ff3568261d36878637360cad6035395a933506c9cf35850b163600000000000000000000000000000000949717363f3f1c3670042936fdd73036b3ae1d363e663036bf343f36669c5036d8cb153596063635e88d8535cc02a93500000000000000000000000000000000000000000000803f000000000000000000000000818d673fc9f00c3d57bb033a7a3a3e36b07c433fc08b0d3da5b12b3a5a1e08366efc1a3f69c2063d710af4390000000036b4d63e30f8983def994639e80a343671f0813ee718c73d93db9b3970a437368840f73d6149943dcc730d38e4f679354ef0e63cb02cef3cb1c5d93800000000000000000000000000000000645883316b0fcb30fdf2bd33681744330000000000000000817c1932ffd6c0320b17923354e10f349d571c34015133353f15c034ee9ebb3458b5e834fe7e1535a91158320000000047eaa52f9910e432d6d60035ddcd2035d4494635dfce9635220da4342153a0342511a9342749cf340000000000000000000000000000000000000000000000000000000000000000305a4d328a5b713f14fc7e3d4856913746c46633f72c4f3f7a08e33dd0081a38b0cc07351ac8303f7cfcbe3dda45f039ee750935671af63e60fe243e9a64b7393a364f33b58ca23eeed2393e62d65f384acb8b35b491323ec36d2d3e1c000038b6f3b93469a7b53d1e46db3d79b4493800000000f8825a3913db363d60368f3700000000000000000000000000000000dc539234dd18f2341d80663522bfc33599d8f63335245f3443380d356ecfb335f352b035f3d1c235c10b013658ff1b364eaf8035e6e1b63592d62036210a5f3600000000000000000000000000000000e490c534a14e1c3510738935487c8e3518d0793554a57e35273ec935abe80f360000000000000000145fd73100000000000000000000000000000000000000006c17863575855f3f2546063ee88d8736c6568e3523d7353f62b6553e8a20b137c455313692300a3f9fe7893ef054963786585636d62bb13e2a639b3e18b28437000000002e95553e7b54943ecac563378af6b535e7dc9c3d7579843e17a1a8377f1e0536144fb83c3a5d153e6080783600000000864b1136e563da3c94cbd536000000000000000000000000000000000000000000000000161fb133a33d67340000000000000000000000001d00db33677d0d36f21c0a36ce6f2736c2df3636c3978935d25894359705ea35f5ca013600000000000000000000000000000000b54c51361ca7523607a16c36da7a76364a845f36797b57361447723666c770360000000086c2ee32ed6d4634e7bc1035513c9a3347e993330000000000000000b5e4aa3312a2313fa5489f3e0dcb17342a7a2733a6a5063fc8fcd53e20329f37ebb36536f628b23e1b74ef3eb4c797361b4a06368041493e8243ec3e8e70b63700000000e9d0963db6f6da3e9b7e9a3767ea8136b5f2b23a9d7fa83edf2c06384b2565360fcaf1384fe03d3eefe648380c268b330cda3a3783f8523c648f8a370000000000000000000000008c6c7f346e38b7327b1c9932d9805634180d19330000000000000000000000000000000000000000000000000000000026f08b323437ac348b608034a3407c341d8a8734000000000000000000000000000000000a411a3495d6fd33caf5e43391e8143416732534a70f943328e2c732182e89330000000000000000000000000000000031fd56343b329d33ea20b733bf9ec033341588328b77ff3e30f6013f0000000000000000686db13ea3461e3fb98d59369bca5c3302c93a3e150e263f357824364bcc2734c4082d3d811f1e3fbae8fb37000000001b26a239222d013f937ab4381d4904345c758f3858efb13e3a9e2f3800000000f68962373036343ef45f243800000000071e5637d40b273da43da13789e79a3150eb9b339749a532bcad78330000000000000000a9ae8d3461ad11350000000000000000b8bf0434ce843535169b4136c1434436eb715c36ca1b6e368026c935ab0c02365f273c366d316e36000000000000000000000000000000002c3ad43598fec635fb4def35a5c8f9353236e235f4dbe1355aef12367a131d36000000000000000000000000000000006f00b634d5242c3476ba56348e588c322701dc35824f993edae8343f00000000ccbca9345ea22d3eeba4523f17210635fc4d83364828d03a5fb9513f813aa937e2b76f368b3cdf37be5a2d3f689bf23700000000943b73379bdf013f06d9953829870136d31fac37215cb33e2ba2323818a90d3674a13936a28a463e9c69823700000000518a773729c17f3dbb64d03700000000b392d93316441137b48df1330000000000000000000000000000000000000000000000000000000049df1e339985e735cc1fe43509eaff35681b0236cb7790341ff78934b66f1c35c3c450350000000000000000000000000000000029323036bbd42936531d303611bf3836274f153645c10a366ce9193642161e36b5a71c35d949453571aa5a35d6f59b359e738335b0e35635b01f723504c97e35000000009c0ce33dd3e6643f0000000074690a3336604a3c213e773f00000000349b38365106a8363fac563f9c947836666d8c3575f5c33579572c3ff55d003800000000000000006b94023f40c2f638aa0d3036f4206336ac8db83e67a9c938d71b1b36be98333660ed4a3ece6c2d385f144a35d776f336154bb13d46f50038c0d24935b92093356c5242362676b8350000000000000000000000000000000000000000000000000000000000000000429a39341eff6634e8816334f8e196341ec7d7347be9b03411bbd13492bbe034000000000000000000000000000000007918c7349b70d334e885c33470d4e134d9445034a6ae0c34c0841d3487163f340000000000000000000000000000000036ec7634a8c9d133d925eb336691d632000000002f663c3bde3a803f00000000000000002e865236358c753f75dcb1373a46a034d94fb73421f24f3f878aab398118ba34c3a816355ff8293f0972f3390000000000000000f02e023fe9f8d13a26cddb34779f9537a611b63e4b7c343c03c1fd337d192b3759a6553e7810713c00000000edef50370832ae3da46c083800000000b84b4c32fb1c8937dc541e3700000000000000000000000000000000556dbf3468abac34b4020335dfef5835e3e20a36399cfe35f4190936869829367388cc35834acf35983bff35c9921d36000000000000000000000000000000007099e135d765c9351424db35f793f63593ca123608140f364a5c203670af3236000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000009c214435b8b16135a4f0723faa29073a893a2336d1db3836cce74f3fd5a3b43a2ff90836080b20365836273faf04ba3b0000000000000000564cf03ef38f4c3ded81da356084f93587c49b3e1979843dbd432136ba7d2d366dc82a3e5e162f3d0000000000000000a4c7863da351853a0000000000000000000000000000000000000000000000000000000000000000dd337434bb836c34e0c47a3482cea034356739353dfa7735c4bab235c1baf435fb497035d635603510a04b355b8c3e355a01fd34ff56d034eededc34ef640835ca6bb5340862fc34ccb473355626fd376a061135d754e1346c3011353b5b943795df3e35ef490035578ce3346b8b8a3700000000000000000000000000000000000000000000803f0000000000000000bd1ef2344597593f2f326b3db909413d7ebd75371210303f377c8e3d6d10893de0c11637bc33e13e06d2443ea47b323de2b1df347384903ef7b6663e6068773c8bd68b38eb0f273ebfad503e5402493c3606f537c83add3d524a0b3e35a7293c682226380cf38c3c550e963dad1a853a0000000000000000000000000000000034642433fb4e143337562333dd011f332d870433f522003373f209332dd90f33ce1da235a983b43524c3d5353c8eee35997e2635c098443549965a357d7d88352fc891335df18233ce3771331a638133b3633b35462f483566047b355252833582bf9335a3c19735916ba4353b680337b6acb23378849e335938803331fc8d330000000000000000000000000000000063721f3328cb6e3fec40903dcfef1239dd230833a184453f88e0be3d4f6d913d26920a36a2d70b3f3cac513edac18b3d4b248a35b4599c3e1fc6a33edbd9243dd5057533ee142e3ecdeea63ef44a623c9ef6a135d64f963d3666943e3bd38b3ce4d5c137af728a3d4e12163e3a13673c2772aa36f4b0a1387c49583d911a333c0000000000000000000000000000000091fc9a3363088433bfa4a2338f7c0835c9940e331ce81733542b4c33b2496233e3572c35123a3435df034935f732603571b85c33381081336ec88233bc438f334e170833d4141533b1d241338ba55a33e0f6f834d5d5f9346e9f043565490e355736e034c567cc34f4f3bf34757aa434bb1f8733261694333a00c333b648db3300000000000000000000000000000000c3682435d0b7593ff2f9073efc68a53ca2147533544c223f4d0e743e79b27b3db27b7535e1e2cb3e02d5c13e4d24503def6ba133838a403e6e23e43e3e09ea3c54086e337789bb3dacbbc43e8efe143d705e1b35595baf3c1ef39b3ed6de343dcc6ada3625b7df3c8be5133e308b103dcdf8f033a8a5c737439b873b0b8c723c9289142f0000000012f64834c991b53500000000000000000000000000000000000000000000000000000000000000003bef32359a974235f0f53a35dde50236beb86b35e9a3633581b84c353e4e5135c37e5f333020493340b183330c97ac3344f77f34615f4a3470a4743467f991349419743554346035724c423545f0383535608b32c3647432cc9a3d32e0395132000000000000000000000000000000000000000007ab293f1e0dae3e2efb3138749fd735cf1ce33e6da0f33eb96d023d338a1c36c0d8613e322a143f330cf13c3f3f73368ebc823d601b133f5642873c2cb3a73302d78f38a5adec3eb58b6f3df36ca8348c593a38e038933e6ea6a43db95e303521451c388d67033e5c54913d4d9e5f32617ed3374e6fc63868f8513caf0b10328941e931c3c15e35f48aee35e4c39c322d808732c4f29432adcc8a3200000000000000000000000000000000e2758d35b8239c3574b0ae359acdbe3502b22035c3453f357c7b4935558b6735563e1532596d1132b32a07321eda0a32bcb083359ac1933536b3ae35e4e2ac35d43ca03540d4a4350049aa3504baa53500000000000000000000000000000000810d36321505873283c395322b58a73299c585375a5ef53e3923063f21bd1e3800000000c6b4853e42a7353fca14da38c1fa9236b9027a3ded373d3f2d12c63cae477a350af592381fe91f3fd08bf63c2b040c322c567a39044acc3e2f78d53dd44fdb3563e3f5370052683e9db2fe3d99c3913501da1e38e7bac53d8008ad3d0000000067503838a98e673af29b033d3c6bb83229d3c332af749d36998625380965d135c75df635e8fd29366a1746364eb70832453118325ffa4d32fb3a6d32ca103a35b8e43635669a3d351b944a3533c2bb347b08bc34bfd89534b194ab341869ae3349f2c233c3f0cb33865dda33d8a82d35cdf9223584022c35d09837358b553f352c663335f3601a356c862935c845563370a655330ad2fe31000000000000000000000000035ff132efcbbf31f1718537194c9c3e2cee323fe044f6353724813244bb823db3ee6c3f5daea838756c5d3584be45385f234e3f40edc5382aeda93444ba3337e5d2143fd038683daeae02341e66053784cbb53e4663053e3a1b4335eee5b0378da7483e1ea21d3ec536da35c6bfe9376836bd3d6208ab3d0000000059b35838f3309f3c15da073deb899a33a66c0d33f477273717bd0a3876288c34013a373505249e35ebe9f136917bf733b9fadb337839af336746c63362b6be343356dd34fa37c4349bc5c834d239323586bf3435b82a2d35f431333557fd8033d4c96333a01133336cb844337a20b53322b4a533de87a1331d949c33e79d7735fc136535f4ea51359beb4b35f8427e33bbdf6b330f4a40339d5e5133c4a828336aef90339282a333520a2335018b40388935e03d68d5643fe33782357b713d354610e437c3aa7b3f1b3591384c3420351dc8083630e04a3ff80cc13b602d35357688e136b11f0b3fe566bb3da69e433332ce1a330bd4ad3e0da71f3ed079a43383b1d736d9bc333ec3492c3e894078353cc63f37b7f4c93d280ea33dc0e45933c5b29d37ad95053d7a7e1b3dbd886435096f1d36c6bfe537c7345e3800000000000000000a7f063674cf4f37aa8b4333ec755233c9048733124b9c33b5569135bab1aa352c45c7356ffee0353e80d7340ac003353ffa0a356abc2a352c8b883302938f3350a09533e84c9c33eaf390353d99a1354407b935fc59bc357a7fb335eebabd358213c735c0d5cd35ab254a3305365133aca13833dd8f2f33d25c22332488443318554c332a10433348d23338c3cd373b3105803fa221943648e6a933b1200037ab01693f3ba0f13cf1e10f36e7d81d36a7c23c3fe90c233deaa44735129d8435ada1f53ee737163edcdea6339b869833cb38993e90f54a3e3ccded355bad393741b9133ef05b493ed03aca350fde6537614bc83dba70b73d52133d33018aaf361e5ddb3cc8732b3d2b55633341a26833518d2c388f64833800000000000000000000000000000000a52806354e2b0f35320f2b35f3933f35a6b42d338d135b33e3956e33a0ec8933b29d7b344732ab340623cb34f1b9783587620e3529f8193575c62235904b31357a35233567552035275e2f35cb2a3c35e9f3b835aca1c1358e89c7350919e83551eec4340adaca34d3cbb734d44eaa340000000000000000000000000000000000000000000000000000803f0000000064b22f352a6449359e385e3f4ea0383d8ceda1337e3ab034d36f343f29aa393dfc10a33554e3c73749efeb3e84a52a3e7ea0323536ba3535fd79923ef2d44a3ed8703c35a2554437d297123efccc3f3e20f805362e964b38bd43c13d2038b23d1c85da34eec92d384c34493c28ec153d0000000000000000000000000000000000000000000000000000000000000000e1404e3497cd4734e136c6364293a537f5b6be359b15923580c5b43676929c37606df63536efab33b51061378f3cbf375011783729d8d136b0d5d537a0020f38a4c26b37ff03e436faf6af37266009380ac66e373ce80c37ed0bbb377b25e7379b888637b86839374d829d37561eae3700000000000000000000000000000000000000000000803f0000000000000000a6ee8e360aeb7f3fa94d24388629b1376499e036c1be543f17b31f385d46ac379d6a84376c012a3f4ad31238522ebf37f2c8f237cc6ffd3ee3df4138f8700a386cfbd0376ffba53e7ef84838fbe8dc37c2aabe37421a203ed5b91838509bc137a66e8a37726a333842a5d837d5218a3700000000000000000000000000000000f293ab34abe2a134bf44b534c8211337e7b4283682781936263539364c3c3936151201368023ed355f7cfb36cd64a63705b1683694df59367bdd6b36cf4708373e801b36c9e20f36e9431e367976d837ba310737454b34367b3d6e37cc5bc737a67eeb36a3238236cbc80937f02637372430f93622b55c35e24ef03691062837a91c4e363783da35f3bae5357403a2363438a034cbf07f3f60d6463857adfb3651cc243695b9763fac64b53c6f1b703634c6fd3571ad4d3fded9b63c5310b43786f861362b33253f471b833c94931b373b241936bb4df63e5f4c663c449bc937ca8236375257a33e07b42d38948cc937bb28d036b24f223e8ece503890142737553457357d3c0a38adcbb73748670d37690bd235b520ca36b8e23f370d31c836ac24b637ffb79c3713fef3377b94123847ccb7349dea7c3443280735da2dc836bb76ab3597b59935152ab835fef6a0367bda5336f7554b36af0afd36595fc03768f83837fd17ea3686285437b6a1a8370d8f053768a574368b3c1c37df82ca37e8c58f36b9a056360149da361fe7f737110c46373e8d83363cd344372d98963764fe1a3823380538d4a7133820862538ac77a437401b543faf432f3e362ff5373b1e9c3484f94e3f4ecf363eec5823355980a235f8752a3f6b012c3e66146436d13d523613790d3fc69f093e7bccbf37a36333375f92ce3e5508c93dbd939b37daebcf36f8e1873e280c4f3d40b4aa3795eb53360ce6103e409b5c3c757cbc37001c08361eaa023810f80c380c0770372f23cb37ebf32538a8fc4638706024387d19b1367a96c336bc30153860ab52387eb23e36232d13365abef536a82ba0378d732137b24204372f8c3a379e59e537bbb87736f73a483638e77c36fb3499371475963668b5e7358ce6a13668710a378d3ddf36a2b84736d0290e37e486c13786e14d372bfc1837320b46370e56ca37c9f2b03751968336a07f8937ac2a0538da3d8f37be7673373cc186376cb691373dd630365889293f48a9ac3e15eba437af6a2836b76c253f70e5af3e90232737427c1137acc90c3f3bf59b3e3a358137616469361837e03ede89793e5e0d5037a6916e3639d8a33ee20e393e9cf1f7362142a33662d9513e0f25eb3de50d9c3745c02237f624c43dd3a74d3da1b36937d1a62236ff645f3808448238d21da237302c2937014e8b372787ab37f8008937afedc43518e92235900f5437a8029837521fce3591f4c035fec6d23532490738d41bb9362c319d36a150b436fe11a137f4861e362548ed35d56a12362d8040370b7088371ef92236f27e5237d9cb2938aa0a3e3678fa1436d1502736b0af6f3740679137b0523037506a7237b1d5c637505821386a5aa137a28cf837e5dd3d388777823706702e3746f3543798699237ddb91f3571ddfc3e8c7c013f83f63f36b4e3c6351128fd3e2657013fa304b93624aaab364824cf3eb42ae03ede434f37b6d70c365289a43e2958b73ed66ec936b5c46737025e723e7fc5863e6d5d0a387fda21360f26113e08f4363e45e8233796b54c37ff3a803d6d51c23dd594983753eb5837270081383fc1a1380d97f5372ca38536e3138b377fb2cb3705775c37720a3c373efffa3646e66437cecfa237d6f7d935cfb5d83557bad535b0e3a7373619f636abaa4436adbaa6362f4353373a5a4e36c4714c36c3db4c36db95a537a770d03695dc6236ca568136bd670e37d7d91a37863b7c36bee58136387db237e398d33725268037384e843762f41f38309db137876d86373f71953779d2c137224c3c38609f033858191c38eace5038373201373a36a73e43552c3ffb00e7360b1edc354dbda33ea40f2e3f042add35ea7ad336488c893e42d6153fb6af1837ef674a36a7aa533e3f67f23ed51f7237bf3ab336abaf133e7cb4b53e03dfe53625859b364aaa9e3d2fa2763e5d966d3789738437716f653ca06f063e0031c937e1af7137bb82ca376e0d263c2ea79737c5a3a5375e6f32385ad48a385bfa143866b9fb37de11dc3714a50d383f343238d38ff5351c8bef354b49e73514c73537324052365dc84c36b3074636e61a5d37c042123745b8783679707136900e8e37b29173379b643e378d6f2d3797b79c37d0aaaf3732662a3731f415378863d637071bb136faa44536be890a36f1a22e3702f20e37b95336352a8e1d3696c2593717731038078e023853db023824681338c4ed0138bd95233e0301573fbad7be377d8afb35d0e21f3e37fd573f2ca5e935068a5136b027123e7dc5333f41feae36613207373d7ac43d0c85163fb65e6a37bc3b6d37d37e843db4fbdd3e26ca8a37bad59b371803433c340f9a3ed745b137ba74803685ed16388e132a3e8e50a936ea6d3935b49a9137eaf1513ccfdab43615c0f7371dc50b3829d92b389aa20138e8b20836f046d3359aebc93534ea03376ede4a3591233d35c43438353ee48d365ef6c136f8e1573600e20b36406807373bba5f3768c1b736f16e24362a54993714fb90360ff41c3656021636566379378daade3687c1713697ce6d363dcb2037b88ab437d9bd6437106a293770efc337a18af636a7624636fede43361c7f313754a31437c17dcd366394b3360fc90b3723d55336a5db13380af67f3fd063c335e53853357227f6376df67f3fb80a4335b2e7d43613862f385164573f264c0037e7017f372a33073853472e3f58d5bd3707f692366162003ae318013f5f28f137e36a9936189f8c374857ad3e96f042370ec797378691d937f33c323e09d8b53744894336953f393769f1653ce3507d3688998036e06bb5365dea583727ca5f3600000000000000000000000000000000d22f6c36c7f78d35ea0578359b2f3e3737fa493781612d36dc15f4351fa38f371a8e8c37fa1cff360a049d368f9bb7374723d8375cb67f3706d609373fbcf53779e89737ee660c376cb436362364a737fdf38d370d4de7361b0eb536c070b1373d9ece3741f66537b76372379f97f9370000000000000000000000000000000000000000000000000000803f00000000a25ce436ec7a95374bf07f3fdcf7c7378d1d69376bb6c43775e8573fb8221f3877b99d379126f83738f02c3f21bb79389286dc3794f209383d31013ff976453804279537b02bbd3759d7ab3e9afa06389ed18137591cab37fecd2c3ead2d123800e298370b21c53761b7863888270f3800000000000000000000000000000000000000000000000000000000000000007df67936445c8436defdf837174e393832a78136a232c236db830438bafa4238f052ad363d34e936fdbcfd37f3203838cc43be365623cf3622fc86375f77dd37ec082137ca102a37afb033388e027838ee4a0537072d0537b6bec7376ec60238995d8c3797eaa537350f25385bbe383800000000000000000000000000000000000000000000803f0000000000000000842828384586703ff3f3693a49f8b039a9d52d38340c4a3fca7f003a318b663826902038e392243f338d9e39508455386aadb337eaa5fa3e87be4a3966e51538b5ae563836bfb13e671be639d41f8c38523bd8371771473ef757083af6530738d51b1a38a6dd543d63846a3857eb2e3800000000000000000000000000000000e01ccc3584d8cc3644a6a637648e1338bce50a35ef4e0d3553c32035c91a6e37164ad6351be1db353df68936b564ae37c1606d36561a6e365ffaaa37944b1c3847b01136611a1a361e60a13678868637cee07c3602567b365f74b537709f0d38a651de351efad8353263a337501bf437d0194535cdac3c35cfe7ce3661ab4c3701c03a37d63f133770424d376b0c743768f2ae37d4af6e3fe722893dd7b9143892ade635c6fc5b3ffc53a33dee11c037a13a2037aa4e393fe80e9a3d33e805380684da3700d4173f2cb3863d8e0770381c94fc36dae0e93e34b85f3db2fdc93777fcc6371594a43ecc08043def1733386c439d37e723443eb740793aaa9c0e38fb4c253656ea513d23e6053afa54a737aa28ef36f1649437687ed23759d8ba37a5f4fa34f1ed40374b060c38e81526384c233e36aab4403678a2193792d2de37457ea435438da93523b32c367d161e3733f4f235784df2359e8ee3363d02043807191a365cde1c36f959a237a43e8738a1f885365f288f36bd9ef53778ca2d38545e8636dd5b7436d2b04b3760fac437bd09193755b3ac36352fbc37ab3f0d3899503c37f6221d374e6b48377df8bd3768c2e737324f493fcd8a593e4e841a38a527fd3607773a3f2143593e788a1638c37c2336c30b1d3f60cc4a3e62a1a9375753e3369182003f139e263e61a37e39ea30b237af69c33e9c90fc3daec6143aa487f7376847873e3145ac3d20d44f3823e72c37f96f1f3ef005413d019f053877028737207d0d3d6914203c55672738577e08377766cb37f65f6f393c400f383f3a23376be19937fef0143831df823956a3a336db15a436c91a7a37848cf3373f8a3936a9b33a3679a4673706982b38be7ea7369877a736e7561a377adaf13706302337329a22376e902837f1494638c8282936d4e41536ea30b837ad16a7390ea969360955ec35559a833744880538a57083374faa3b3725c2c037b160133829ebe13719dba13755e4f33714231c3819c8e9372417243f88f4b63e47d61e382e0c34373760183fa7b2b33e02840d393ac46337d21f013f3a659c3eaa251b39a89f19376045cf3e294e823e0c285c38845a2637fee09c3ee798493ebd86193ad7a4c137350a543e9d9a0e3e10ee463afff7753766f9eb3d5130a43db0b62538f121a1374269ae3ca741c13c12314a397194a5378b6d1e38a3ae1c3a9babab395fd08e3611b22d377f08dd370730fb373e6d8033286b7e33f5a0b336e8a6ab37cc76e1340717e2345772d236a57fa437ec7d2136d07e2236fb5f5436f740e53751939636f9ef96366563a3370521013844842a3649262836c4322c37c4a50438a6024537fb14163766268f375032ce37f33955371e3f0c37806e8e3794a0ff3746fad2377ad0af370c36cd3750eeed37adf3ab374456fe3ecea7003f4a8dec375958cc35b696ed3ec85afb3ea5f90638c989e236ab78c43e748cd53e709cee372bb0ba36a6ec9c3e604db23e62d85f38aac8ad37f028703ee9d6873ead624538b0dc4037e7a9193e4fa1473ed9db46382b358e3757f1a33d8c85f33def61ea375194693733a230385f24373d3cbf273862b9a8376deee5374611ad3991ac313829ce96353f0e7636e24a133896fea2397856ea3678d7ea3688e034379b3aeb376160e635b417ea35b6fd193613b6cc37ec431736ba571736b7887c37341f4d392770253707d22437a4fa2737bffcb6388cc42f37b5a7e73610eb67374e621938e30ec037372a82375279f43710ed53388b1fcd375c829237ae28cf371aac3539ec11a238f27dfe371fb50738c00ccf38a9d0cc37a023b33e7605263f321a3238fad604372934a73eb1c7203f4ada28390ce099368111893e2b67093f9a20673891b79b378ba4553e059be23e2ec5843ac57f583769431d3e49e8ae3e88f7543afede7f375f41bc3ddf767e3e3f707c386c450838a924193d93c21b3ef5d1a939cf0fc33788bd4939da0a583db304d2396bcdf537056e0b389c9e303a0c4ed6391caca63678d5b336f812b337248ec738db414736c9804536ee8bd636e20eec371d490a36fd85fc35b6016036b5578a37b99b8d366d99833645009137b82d263840f7f7368aa3433632c66f37d6eff13822ef1c376910cc36f0da1837db6418382a95c8361c4aa736ef48b3366e6d7e3748b5c0373e747437e90da137353f0938e6c31338c24af3376771fd37282b17380e3f3a37dfd9503e2da74b3fcec5023803250837e3b2423e3fea433f076c3538de488636d414213ee0ae233f4a7fad39c23ed737b050ea3d426a093fb0ed7139226db4372f87a73d2aa8d23e2b33733a163a9737b4c10b3d22bd993e02620b3ab4760d37d29dbc37c3d8403e48aeca37ddb2a637da690e3875b8723d439f38383d37ea37c07e0938d13e0a3a77c28739a174ad360bcb89361ad45637c2eeb93739aa1835d7141c354a3b1735b236d3364374d5357cd0d1350406d5351774b137de2e77361ac07836090686364d7ff137b2395b36d5244a366b854f36a173733787e5a9373d824a37a84b973748661738a26d4e37628f6636f037fe3692b9c037bffa4f37053833364403b1360cd98f371bc5ff373e00843719327e3739c50238366971372361693d5f5b713f0858df37f3d33435a7795e3d4b9b643f9459553ab6400a37475a323df932433f8c49a93acc849d373b22aa3c65ce1f3fbc31903a03850b37b993e33b4b0ff63ef374733a4cb7f937cc2f3e381053ae3e51dbb639e2498537d80ce13719814d3e2538263803761037639379371096783d66520838b7547a37fa7783377f28a5393593233900000000000000000000000000000000697315363bde0936db37153615f6f737b5a2b53683df95367795b636ca01ab37f4482f37f4fd1c37e2692437ae6e3a38caefe936c07ada36a1bcdd36739b9d371f989337935a4237054f6437887419382b020d38991ec237807de0377d3a3438a43c2038ee0ef037d9f202381e553a380000000000000000000000000000000000000000000000000000803f00000000adac4337f03f1438dd89723fa7ef8a3959f41437c721d937db914b3f58c4183c9de3e137ce1a603888ba263f96015a3ab5e92f37b459ba377b22ff3e50ac403c75bbdf37cb6420389961b63ee875c939aba1143863e53338aa82563e9063d439abfa143864b8243855a06e3da3663e3a00000000000000000000000000000000000000000000000000000000000000002d66073811dd2538019995396e8aca391d805137751bcf37cedc5d395f4bab39c24cef37a3901a389f793b395f6ed0394d4b0d38003a2b3971b2073afccc363a9cb2cd377098dd37221ca439ba2b183ad832203848c63638cd992b39d230cb39c3a35337e765de38dbe3e5393df3113a00000000000000000000000000000000000000000000803f000000000000000017a2cf39e431613f7e51b53ac900323a5d989f3988b8403fd253913a9164423a7696b939c001203f85fa933a736c4c3a4d7a263ab3f7fd3ea55b953a2eca783aaa39c8391a7dbc3e8bc7a73a2ab5853a10de32397d6d773e30e7883ade4d563a5c27d4390a0ee73d3942633aa944433a00000000000000000000000000000000945ef638b7fdbb397024163a68aa223aa1861b379fbc7337c75fc5371e6c4b39b4fb8037eeefac3751f62538a0a171393a7aa2370d28c037c0834f39e1c0c239d5a9c937b840e1375d84103a3143893ac1c2c437d5106e387db6d239f6052b3a32c1fc37d3650738cfa73d38d9f2ed3945ad263822c71539c7f9c53962a5fc3914251f391e4754392cbeb0392300d4391988253a3157603fe4d1ee3d252f2d3ac5daac385f35473f36efe73d949c2a3a0641163920602b3ffb40d13d30ccad3a3875993921fa0c3fb137a43dfc815c3a6a914b3a74b9df3e29937e3d15d9f73ad95de7394d1ba63e8d903b3d2635a53a20514838c8945a3e81b1f33cfbac943a7889ad39ebb8d63d54486e3a6b93313a2f5a91396c16e63976f3263a2922203a5cca7f38faf69639809f043adb71133a57bd1c377d137937e7a4e23736f9043a85bc643773be933752dbae3940605b3a05dec03758411238a56e64384abfad395ffcf637f1b104389cb30e3a7b78583aa44a0d3824af1638e65a863a834fcc3ac0039c3766eee7371e8423394d3ed439eeea89377f3fbb3715d5c538c7e7293acc8d8039287e93393bc4cd39b411f439b9f6053a2d1c403f91c6783e24b8213a63cad238401a2d3f91a96f3e17dba43ae4e2113a0ac0103fe913413e9597c23a41ee7038c927f13ecd58223ee8e4b73a7642283a460cbf3ea36d003e4b719f3a6f28903a4d47873ef33ea73d5dfeac3c4c331e39b99f393e728c7b3d6a92a13a662b1e385b56ac3d1f37e23c92beca3a8617b03918d4fe3912961d3aaf6b1c3a24b2173886bd53399d34d6391020eb39bf177b37c0920739a4f2073a0de6213a3a3d95376ce2bd377d4c1538ff6c76394e05c73769afe037a6283138c747fe393a5843378cacf6374724b439e7cf863aed79923711aac237c286263817057b391906f537ac500b38b6ba2139d2a1f0397095f037313efe37579df4380257db39d8d8c1397737c939dd20013a7a1b153a2070cd395fb31f3f7921be3e2932f839b28d073a3a5e0d3fee3daa3eb9a9723aec606f388588ea3e8441953e76b0383a99a50c39d8b6c73e87dd743e6ff89a3aa70dc739c8e49d3ec46a403e7962073b006e2d38136c683e958c0f3efbd66b3aaf44e0387d99183efd7cbd3df5056a3a8c470f38bdb8953d0000483d61f9613a12d2e539b49f143a10fd373a9f82373a0d552839ae669c39dfc4023a53b70e3a109856373eb600398dc1f239a8ab193afeae3c37841f7d37b51055382cf38339b5f5653715599837ac26c33930aa483a3c9dba39f1ebea3985902f3a37934f3a2c7166375bca8e37383bd739e6a7443a9791963735e0ba3755ab46389720373920dd7239ba0c8b39efc4e0398b050d3abe888239f5338d39350bc8397969ed3908f4f2395a32fe3e63c9fe3e29e20f3a8c30ef397513e13e06e2e23e156ea13adddb8d38623dc03e79a4c23e12ff9f3a9dcdf63957429e3e03c8a13e4c7bbf3aa672353a7c127b3ee64b803ef84ca73a42eadd398ff4383e82b7403ef298bc3a9e591d381836f03d5533fe3dd1078f3a619eca39fb97553d54ce723d1f7d963a6a63aa392961e439da36223a6c29173aaeb5a1394255e3397606293adf58343a6d3cb4379d22e2377d9dba39442a2a3af6e185370584d437b842eb38134b093a65ea9637bdccb83757ff1e384366513974064437563276382851af3919ad813a5abfe837d667f33764ae1f38c77daa39be44c237921ecd37e7ef0338af4de1389df68339a5e08639b846e6397849103aa210633943e46c39fc78a639ea27cc39f2e81f3a43d9bc3e89a11f3f7d7e373a7195c63962b6a03ee46d0f3f5504773abcec493939158f3ee572f33e5125873a0a913738afd86d3e67b8cb3ea4e5933a9975c339cd8b393ef415a13e9e2b133b2a952838b291073e1696703e62cfa23a00f304381492b53d7091233ed0064d3a044bca391b30103da19f983dbee8753a883390394b52b9394aec063a395e023ae691573907eea03913a70b3ad77c193a133e2e37319c9a37ff0eaf380fa7783a18ed53377c57a137bed5d338063b083ade760a38f2cb1338ac604f3aca28cb3a38c4ff37105005388f46ec393dc24e3ad3710d38344d22384a7256384daf1a39828b03383fdd1038105dc739dca3573a35718739a4395f3973760c3a6a9c523a8339e7390f70de390266ff3962560d3a7a17033afd83783e0f4a403f1f93263a33201539b0695d3e7f912a3f24b8093b0ab31239ead73b3e86c5113fc2f5e13aedfc793a3c870f3eca4ced3e210bb73cfb760f3ad459f13d9212c13ef96ab23a69045c382d62ad3d526e903ee97ccb3a58dfec39e75d5b3db3693e3ea64dcd3ae543023a1c3c573af70dab3de4b59d3a9904ec39a220033aa1252c3a984f253a89bab53882b73539720cda392b580f3a5da06d37826d8e3703d29639e67a033a9e02e6376e90f737cb4910388a7ef839fec9f1370a9c0e38d2e99d3985cf143a8fafe13709bee937c3bcea385feb583ab798d2374756d9378f612339be99b5399316813898c1693862de323942269b3948bed53797b6c73740b1a538128b963965c0d8391702d039ce66f039ebfc0b3aaaead539b6a5ed3d77de603faa44503a0c94b03932dbdc3d392f483f8a88a33ac8d51438ca79b33d2a4b2a3f19e2d93a5221ce39847e913d807c0d3fcf4c023b690faf39c4fd5a3d76f9e03e3ccd1c3b00516e3925bc143dda8fa83e705a963aa1ae6339e4fcdc39b18e653ea6dcab3a8d04d238d9a480395db1d93d7a7b1f3ab353e339cc93fc39dec82f3a374d333a000000000000000000000000000000002c83dc36a2e22537599de138c1ff023a381a183803872538a33452382b85a73908eac037b343cc37d572bd38f1ece5392ba88138296df43831008d393912153a355f1738cf461e3884683d38064d8c3937f1a038ae88b038fe89303942cc9139bb7038395d532c398fbe76391810aa390000000000000000000000000000000000000000000000000000803f00000000184889399b57383a6a94613ff1afa93a6bce143994b62a3a88ce403fb697aa3a3bd850399939373a111a203f7200b73a99b1c8397e71353a2144fe3ebc0a933a38a2e2384bb6bc391699bd3e2580783ae73c5e3984c09d39eb58783e88bd603a26037d39d86d9b39ae93eb3d02b7383a0000000000000000000000000000000000000000000000000000000000000000f3a54c35f765453593fd4735821e463540b28635f7aa843556d78335c55106374667dd35fcd0be35273d9136cd8f0437da688e35a0ac783585699b35bc560d37d39e9f35d2769c35afcdaf369098473795ec1c3634c4ed353a546337e4be9b372fccdf37ff68dc37ce9a1a3891ea133800000000000000000000000000000000000000000000803f00000000000000004dd94c358d817f3f6d316b3749a6ef3556030e36b1555d3f3b39cb39c7aecd374001c236ab292e3fadf4693886b4c637fa029f368a9efc3efd37d538bb3d3e3708706637c8449d3e91c91538b7c43b371a300f38cf01f83db4bc5b386f352437152450383f6c053a31689838e759d937000000000000000000000000000000008c8634364fe740365153713779def737cae3e5330345ee33bab6273609b2c736570c7d35a14d7f3510e0b13615da493770793c36f1862c36f8c36536662c2737a1ae8a3462402334753bbd34445b543743f76a35b8d36b35959e6b36f1886a37688e313672081c3610e16337a603c9378b0795336ec59a33160195339ac69233ede53b3669904436db6c47369a3e4b361de266369fc97f3f13083f3af542133867efed332f77763f99d9783cf3191d3875dc8f367bcf573f4d67873aa94e0e3857715a36d305283f5f86a83a3d0fed370949aa345204f33ef4161e3a7579b837c7774936c552943e7bb583396d3d99378d12783786ced53d25bfa73a41ddc2370b7c9233562255385a810438e2428e3339cb3a36d8c95136df7c4037b2155d36ef622a36c65c2d367b43be361116573757be2035ef5a2135eba12535ffe82435aee333353dde3335ec723d35f417be36df86c335cb2cc3352e57c5353837f8378fc40d35ee8810359a4f0b350d87c235a88116359bc61a3525541a372fb9fb37d5d89c367bd02a36a2897637940ee2371dd6053642cc843581063a360d5e7236275e9334ad9a9a34f7e896340bbaca34545e2d36e2995f3f787a013e44af3a37e5e120352e8d573f7e7d153ea5f83036f3c53a35dd1e343fcc44153e929101386098c2355eae0d3f948afe3dd8646d38f4c609357121cd3e2be5d03d8778cc36640e9536dd3c7a3e26a68e3db96e26383ddec13684aac73d3553fe3c52030f38018f4e3528e44438b4e3033a27433c3736f29234dc241c35d2814e373e0584362970ca36d506ce366599e63696d8f03649ece934f6b3ea34a622e534beb09c35764db135ef9baa35e1b30036d36a5637d8cf7b36343d6a36d9f98c3607fea836c63d823571fd6035219f8b3532b6b036066a61369a413a367e4c893784d11738adb1bc367de063365b30dd3762552138dc851536d40b0836fcfe1a3608201d3655db9d3730a56f375b22b437af52dc37a07dd336db0d2f3f92cfa13ecc71e836110de8341f8c283ff369ae3eb2869e355aced935866d0d3f34d1a03e191d053894728b36ad2ed93e3d27853ec9979437f6488535ec8b993e94f14a3e5d9ddb3688f6393791b8323e01c9093e51ca3e381db45f37290b543dc0bd8a3d6306353867faf635cd8263386d1fdd392a991736602a5136bb9b003882d06d385d64f137f671d1368782d836e25b7537091f67374a1e143546bb1835180d1535e7a956351807e836618bdf36a590f1361fcc0d37256ca03631b69736115dab36d379bc36d9526e345b3e8034022b693492702d37691bba36ce1cb3360a63be36a919ca36cbac2b37ab7b2137cb4d303765929037dba6753683f63b3658f4a0374e46c7371139343720b310376efa4b376d936b377a11d736a1c3fc3e0c9a013fbfa5e23668f51835cbf1ef3e40b7073fc9ab1f35fa21f036aecdcd3ee745f33eb5061737a318ad363abf953ef7c9c93ebd55c136668883342bbe583ee1a0933ed35898376487c0363cfce63dd6a84d3edd92c53607ee26378139c13cdaadcb3d3e2d603708e1f53599678a38d4e58d3a5c331e377d7aea36b0e3a737830e0b387b724337cebd1a37697c613787ddde37fac6ba371e026035fd32383545308b35b48db935952c1436b3ba0436437014369cc64b36016c3236c94c1936ee742736e4c523376661b1350b278e3524e78835d401853664f6a536efb49d36391ea2362fe11e3797b2e13753e8dd37ca59153890ed36383fa064369bdb433668998a3695c6d436c149f6364cd9f5369245ff3665fd0e3785fd4d37499e9b3ea529323fa4a32e36a4e286358d7e8f3e6329383f2ca78535be5630366882683edd48273fb4e85636cc2f4e3796d0283eac9d063fa90ab337caa07936b709db3d9450ca3ef1d19336d0493f374c624b3d7137883e16ecf736c9ca1d387273293a22ec073ee69e0d3819cc1136ffd6f537c9e67e3a57a03f36fddef03682b6f83747175e38b681fa369aa693349ab79d344982ea34e8d39a3415435e35aaeb4b35d75a2535c3f229354734f0356774cd35d458b235d74fe93542901a355afe1935e72b1635ba7eb236e79e383560481635a98b0935002f2b359d1f94372f010d377ce40237143408387e0b3937e623ca36c86e4837b300d83796011d36f8db3035af4d7936cd1b19374e0a1437e5ba0b370ce8273727e855370c1e53353641e43d1870633fd15e973434cd62351538b13da0c5693f47a52a355b9c603610c19c3d797c4b3fd1193c36172c8a37b95afa3c8bbf273f3bc9733740896f35da21893cbe37f63e46a66635153a3938f38af7387af1a43ed7221338fd11e137c3eeb9383a0c1a3ed04eaf3774972c3556b53638e3c9473c10622d355587a036e5ebdc3728b2103826344736eda8423621c24536329f3136dc6a363625d38d33204892337c9b923339628d333d08df3547f9d9353ddec835c360e83545ac72351a525f3542785d351f30a135108ad23467d3d334bee15d34deadc234b4ef8036f11474361e8d6a36ddf1eb36e8d88137376202379c940b37a1e0c437516f1f37f3a718370b8ab837fd8d05382b35ee374eacda3716f5e0370067f137904e5136016c8738bafd7f3f98bd2936c2168f33436a4d371df37f3fc7078b333eee0936b7101838d7f8643fc1f51f36c9dc2d3612330a3833d3353f699236376792cd3641531a38c44a063fc8939537902539372fcf3e38b947af3eeaf3cb373d0ec137c025693815b51f3ef840f63736b3d337b825a0383d9db33c8488ad37a994ca37d18d2038e3a24d380ce48f3700000000000000000000000000000000786311366c384c3567da2035ae9944363450363513683a359fc51935f8ad83355e02933519f493351dbb94350dc4cc35a6cc87356ea58c35f3758135845f2b363ebab53641aa9436291b8336e7e8d736e5e63937fca33536d78e4d3663e59b378ad45035cbc75435a0a05635c51bd9360000000000000000000000000000000000000000000000000000803f000000004c166a36393d09381fd87f3f61392a386a767c3503eaa736defb603f67a9eb37b24ac535e9f11637d253313f83ffd037eb120936d4984437fcaf013f69707b386f41e03637011838b292a33ea8cf4038d4bf8937e9da35384b190a3e091cd638f7867a35deac15378533ff3a8d1e34370000000000000000000000000000000000000000000000000000000000000000278d1536d5e81d3660312e361813853663612b352f592b35b0a91b36556cb2376d50fa35bde3fe350415b53641f888377ad41536524a1a3610e31e36ae89b13752aad6343ca3cf34aee6ef37c3ab743891c3213600cf2c36a2febe3696e8e13638726736a1bbd936914eab37a49ba73700000000000000000000000000000000000000000000803f0000000000000000f2ac333675d9753f27156f3940ee4e3863bc6636a4ad503fa5e3233a4477953865e303376e7a273f3a0a823a9fce503854e84f37bdfef93e010a8239c80e0c38b3ef4c3883b5a73e266e783a929d82383c58593780822f3e0c8d9d395e17b73637e4cf3767efb13c7de52e3847c39b3600000000000000000000000000000000ac171936d885263617a29736abda1b37d744bb368002c8362959ea36c0dd00370124b9350765bc3540efdc35578bd33690863a3581324135d4e66335e890a8353929fa36c0fafa367ea904374f1c0b379fcc1036ad570d36140e1e36aa07a9372766d235b0fdce3598862237482610384bdce236fdf9dd3631badc36caddd936796a18364a3e1636a9d81d36f0d91e367c756a3642aa7b3fc57a893c2f7a103847a5e63686bf663f8408053dc98e5438e671e235ff1c413ff53a0f3dda4db038ec06743529dd173f43c8203da6b41238137f06377586e23e8249103d20563e3802c42536c430923e565a303c77f44b38169bd637b4890d3e8e40aa3aa4483438f173e0361215c038c66f0d3a556fdc360e9e1736701b1e36a0b706371d17c736b0eeac35c3bf29365cff9b36e891fc36e8d64b36e95e6536a9a5a33611d7cf3630fca1351e49b2358df2fa3599df11364d15d033d73e103448f040347990af34d5145536d6a5583671d779367170f536219a4136988043368ac378363481bb36facdde353c59eb350285553681337a37a2331037f61211375b8b153729581937c2a09e367e06a136e78baa36ffd5ba3602e2833633a9543f1d552d3e38eea13720249c366fc9403f6043483e0848a137727bf035929f1c3f8e59433ebc614738c1972134dc02f33e87222b3e1283393834ae8a36094bb53e10ca113e3ab96a3888e1813674a95d3e2ff6df3d23a2a9374227723666b9df3d29f27e3d4dbf543820e9133745683738dd78e83a652ded3759c39e36def7c33696032738a28e0a38795bbb36b45adb36839503377e040a37aec302374ba80937888f2737b7b43d37501f9935f6dabd35e849063671fb3836be8d2636c4f72e363f0e4f368330753656c89036a9369336679cb03620ced3369b87723564c89935a63a093672ba8937e728943691a4953602ee073753321d38a171c436f1dec23611a5e936d7ae5537c4c03136587e30363a5d35362a9536368f5bf436e6df283fe741ae3e29cc0e371f0e2537fb0f173f97debd3ea3ca5737d00508366c65f23ec33db03e8c56083867c0553657e9b83e68de973ef5533c3858d0bb369f02803e8337783e89e1dc37f0b628360a87123ea2cd363e0f21393848bc8937d931673d27c4d73d9d009438e769d736e3d90d380521073b0b1cc53717fd2a3624953c36136008389728a937ceb576361c588136b42fb436b998d836416bc93684f2ce36b68eda363a4ce3361092b635a87ec035c9b2e3353d0b0a368911d23539d2dd356843fb35fae111363709ee36ddcbed36370af63698471e37f6f82036d8361f36cc35233689cf2e366a2717362809143673812e3775451738c082033793cc01376a4b19377439b0372f638f360a1d8f36d7e99036d194b0365e1282364dc2fa3e459c023ffc0ba936ab6dd936a385d73ed3e60e3f819ba537b04df1355dabab3e37fbfb3ef2365738a1660636c1cc783e9940d93e6eba9036cf93fd3619ec3e3e5f8ba03e05cd2a385ea92a361947be3d4f9f753ecef28c36057bc237e99ee73c1cb7133e4e3f78381bc711370f5d8738cac3aa3c9e72363839c18c367739c4365d4e6d37840d05373a1f1b36422a293615475f3605fbbb368ead8b36c6899636972aa2362199ae36d6172a36280a39360b046c360ffd94366db9f03482632835d45a9e359941433679f7b63695b8b6368383c13650b5d836c4e18c3646698c36b6e68e36d5470f379154803617be7736d9ee74365dba3c3703ae583722195a375cf45b378bac5b37a0c90d3789af0d37e0f00f37af600f377dd33736af45a13ef4592f3fb36d31364b82a8369122863efb6c3c3f9cf4e436db48833613163b3e6ecb273fc85c603809120036a0bc013eab330d3f74fe1e38fc60dc36f5a4a53d5c95da3e2458ae37e68e9436bc60033d87d29e3e9c753238d75e8036f5739d3821b33a3ea62d013858ee5b379ad12938d3f41f3dff178f37963b0c3701cd4237f6575438e5d2ad375e86ac3693bbc6367fae88378e8c5a37fd93f336954dfb366c6ffc36ae0a0437acd28634d6621435b6b4743503084736d4ac413657bb4336b616413618c28a364b2a82368fa77f36993388366b002037bd3a1f3579bb343540552035bc02b435612635364b853336d56534368ece5637a14a02379ca90037525302375fb56b37483eee369d34e1367843fa3616966537363ea6377c22123e2e765b3f601db136c7360437483aaa3df4426a3f3b620d372a580c36ec956f3d0223453f4de20838680c84361c2cc33baa152b3f35157a373b64aa363af42b3b063d003f171b4f3848d84535949171383665b73e53b7243827f4433690ac8b388f064a3e2a6b2638b2470237c3180338c5d4523d82ec8e37c13cdf3662309e378ef72c388d28a1374af72036b35e2336d8632036c96e2136ca11ae36d71cb13603aab13698c2bf36741c6b35b4c86e3560897235a852ac3506fddb351ce6e1353f8adf355fa00936690d0737c0960637b1550637ba390b375135c135f6ffc0359a97b935283ed835cfab6e36aa666336c9a16636097a0138d5831e3724fb18379adb16372764593762584a37609e3b37ed4c4a375f3d5f37989e23360ac7453818fc7f3fe1e41836d311bf3618d23037a6dd7f3fe79bd4363f2d9f35c1ddf037933e5c3fb9128638947608360ef61238a020343f1ff186382eea0a37980b163882bd053fa18280386620d63551d3d137d825bc3eb0283e38343baf37e494a93849a7573efc8aad38bc6e1837207b6338097d873da6fe0f38bce54537daf4d537cc994c3876999f3700000000000000000000000000000000305f9034853da4348e80a1345534b5344352ce35ffa6d435200ad6359333e435e494a6348f72a834c5c6a93492aeab3468471c36a13f1e36f5291c36b4fd4b36967f8236359f5e366a649936b78f19373d129b364bdc883660e8a93670f6f237fa2390370cfa4937af988837203dfd370000000000000000000000000000000000000000000000000000803f0000000046d1bc34cfe7cf34d3687a3f23051438c66bdd35d27d0c36890c543fa9b056381cb5a934a01afc376ab72b3f1ba90a3aacd01f36fdf66137d0e8023fffcd83382cdffc36ef280b38ed6ab03e7e518339f9fab1376977763810513c3e48d7b238795ad43753e12538e1c0203d143a52380000000000000000000000000000000000000000000000000000000000000000ccf45b35c3638135543199358ce50137e61c8e3676d7a536f8e0d8366819f437e74e5e36d47d8136af319d36f49b1d383f37933570a9a93660fd5c374d4dba375f3e223692f62a36cd3dc337860e5a38699a8436563abf36ab704237710b91378a764738a10b6738c55a8c382e3b8f3800000000000000000000000000000000000000000000803f0000000000000000338c973535356c3f3b4b9b3ab6ebbc3a2f1c4937fabd433f6cc76a3c977c553a05778137a4781f3f4fd89d3cdf10013953ef82372f46fa3ee043cd3a970c8138e3df01389a38aa3ef3c1803cfc14bd38f028a237b619563e0da28b3ab8c6753779bb96384057873ddc140c3ad4627638000000000000000000000000000000002510a836488eb83668d4cc36d45b99377dd7023662b40f36c9ec1d36a8eb5536feab8b364d379d36b50eb236b94fc336055a1236a63e33360e125736715dd937bee03236091e3736a0e4f136d6c42938b97107368b9e19362c5d2e36436bfe370bd1c4361a3dcc363248a237cd7d2c380ff97a36bca87c369b7ab536d96aba37b3dd7336379b7d362ce484365d818f36cbc1cb36d07e6c3faa6e993dd0419f395cf61f36e6bd503fd03cb13dace5463c99ebb636f7b72e3f0a9ab93dc019493a0360623669bd0c3f2701ad3dc2133b3a2501a337d6f7d83e6c65973d578ea9383079343602d1953e4a6c533d8012b2380ebcf3376726343e51a5e53caf988d38e98b23373b822c3d206f863c56cd5b3abec78336e2a9933657659037b6c9d237343e7f36cf06883643d7913607cbc337e98343366c00503677976236415b6f361d3db236ec1dbf3624f8ce3672dfff366cfa70364a0a8536cb93933671949237ed382536145e2e36b701a736890f0a38c2b2bc36bb37c536946bd23694ee3637589de2369810e63691484c371eaefb379b098b369fb2cb363714e6376e8626389157ec361033f336277afa364caeff366ba08e367eb0473f5d72603e88d08038ae8d6136499c2f3f7705613e7df32d3c4fd8d2363bfc103fabcf513e4d3f813a2eb39636d6b7e83eb2e4353ef0bf943ab98a5337f6bab33ee6e4113ea88c5b3a48ddd8365dbe743ebfefd93d46d3333a0696913793d5173e3140863d05b5ce391bc3ef37ef0ff53c8e3ac83caab65e3811d3f83616b70037788c1c38dd1c41389955ea365d6fff363eda80372fff1038d8290f3667941b361a6a36366e2b5a372edff436786e0737e1f51537be1124371f13ab36faccc23690f3df36089ffa3634f50a360ff31a36ad5c8036096de5372fcec836ae54da36770b7e37340c7338d84ad7365e81df3673f708376f61cd37f28ff0363c24f336db90b037c6aa1038e7940337bd270637c4e8073792cacb3746406837bf78223fb4e5ba3ece077838fa783436961a0d3f8e56bb3e7284063afee5173746c5e83e18e2a33ef8a4a33a8b3ce536cd99ba3ea6908b3e7560183a06cbe236bfec8e3e75ce5f3e866e8f3951c3c737c883413e5e24273e6d94e039109f57372f41e23da9dbd33dbf703539d4b8b6378da9c23cd961253d38937638a7c30837068b0138b5746e383ce77238e912a736e3bcae360a7ddd37dc901f38d8c72e368ff33836b3be7236f3e1b837a1aae0367aeaf43651910437b48ef637b49e773618c6873641a17137ec2d533835091436619b1736c466f537bb9675385fdb98368104d236d6af2b38ff1b893857c61237ee398837c90e0f389d5a4b3817e9bd37ffd8e8379bd12638fd4044384a92c236cddfc436588d8937caccf2378ff2bc37fa0ffa3e20e7023faa423a389e1b7036671cd73e5f5c013fcca53939d5ca0637b0b6b03efed2de3e0004293a2bb3c03720988b3e9494bd3e5e5a033a0b811c38b9745c3e40a8913e449b0c393fd5463850780d3ed1285f3e40139f39b08f25382f9ca53dca320d3ecfb784381d112b38506e633cd29f763dbeab5a380b3c5b37897a0e38d7775c38c76a4d38c08f0a373cb70c3721ad14382ea74538dce48536a7cba2368a6ec136b348da366c05b536a422bd369ab9cf362aa0e3361ed6cc36f866da36a913ec36e1525a386fb233365e4b3a368429bf364e870238fdfff03677a0fa3614c00337e6312c37c30c3737879d3737f6b58e371339063871388037dbbdb8373b2918383bb53b3839110d37adb40f3742a5b1378709163842610b385440af3e594d283ffa194838f6c4c136699b913e96bf263f1b59ce38da86d536a219673e0d400f3f816e203a178e7637deae363ef2caef3e3ba5243a39f837373b980a3e80a2bb3efbdb75393f9c0637b3c7b33dbf748c3eb98fb3392303bf3786e5423d33f8333e535c3c3a06161e38ed4bc03bf26c9c3dac4e513872ef9a370f78353891bf9338a56f8038ad8f06374fb706378abdd437bb5a1d3877423b36d07c513640f065364ce392371bdecd3615bdd6363292dd363cd896378e7fc43688aeca36a913d236817d18375644373662a86736d3d59437b4bc2838f67ba636a867ae36a74ef13661bb1b38fc11f2367601183727e1c237de1e1638402d1c370c02703799a8dd3751b10a38e5954e37178e7437122aba37522b2038d354dd378d82493e09924d3f85f40238f270673634e21a3e153f4b3f6ab1c339b8d2e0367b82043efbd1273ff663583a84ffd6366627b63dcd63103fd8e0753a38b2e93778cc8f3de779de3eceff693a5bc6a537948b1e3ddfeea73eea459c386ef3f837cf35aa3c5dc1533e11f09b3874adf037ed0c0b3c4751993d5bb39b390528a9373d9f3f3872cb043ab28980386706a8365d25ab363c6da4374075c83747aa3936580a49362d325736f7d9e0367b87c33608e7ca36a825cf36605aee372b122336251c31360d753a3623e0a53783303e36cc134136c3d2c037bdf34c38a7a28a36c2b68b369040ac373f342f382491ed36c2531437d4ddcf371a521e38c6cc09382dcb173827d64438c67d5c388c86aa37fc03b8370e5af8378c5a1f38cf26c6373ddc493d5059733f9fc68c372f785c366484113c55336c3f75ab143c5d8e2b37757d6f383bbe483f71df3e3cce81413665c480380cb6243f7b86483c85251938b9b59138986e003f33fbac397a4b0b3826eb7d385b75ba3ed6e1373abdf00c3892a460386261673ed7565738733f5438635f163a7d3eae3d9f6c5f38ba18fa379abc3738fa78503a6c005b38000000000000000000000000000000002b21ee3561fc0e36d13c2536334091374f380d36e3292e36b7594f3603217c36b44d0236a6a7113663ce1a3605d580379f94a135e1417036cc4015374f2c79372541a436d0d3ab36dcc5b1365787d137c24521372dd4833799fbf9370f27363881cbe137b7dce037686c0338485140380000000000000000000000000000000000000000000000000000803f00000000cc2b2b362c551338c7ad6e3f9913413afc46613653b6c636d3de493f09ad9f3a5c642336c297e0370604233fad31743cc5eb4037d583a137752e023f8e388a3a5aa8ba36607d3d38549eb63e915b7c3ac3ef1d388ab25e38ebaf603eeb00293ae1491738a9594e39af1c983dfe070a39000000000000000000000000000000000000000000000000000000000000000064981a36acc7dc35643d2a36570d3b365139ea3521a6c435016f0c3654ee9b367bd20f35fcfceb3479063935f6a8f037e2466e35bc454835b9db6135e42b8c3500000000000000000000000087fe82367aaf273857741e381bfb5238c6cc9738a224423588803835811f243590c21e3500000000000000000000000000000000000000000000803f0000000000000000de53323674257a3fe7f8533687c655369a90383633d55e3fe3861438a9c77d373421e03769df2f3f4ae9ab38a5b29238af8f7435924ffd3ed55ced3532a1d435f645a0368b9d9d3ee98ce637322de63651c8db382d4f003ec8b6e538b85fae38ee072035362a923c0b8c3d35ecc77b35000000000000000000000000000000002513903198b4d9306445af30ef65a531ac4a9233000000008ee6bb3504381136af3fe7354a2fdf358c02153647a119388e0f02364675f335c79c0536b31d05363d659e35c7b017358735a0351113a8356a0708369db106367180293639b03337f77283362fd7c035b189bb37b2f417381389c135456c783507cc9f35bda7a13552834335a0d139356a7605357cbc1135ba33003189297c3f5436843c290a00323e0d27326f1f6c3f813c023d9b73163658840536b6f3523f4a79a43a13249f38a598f835d2ae253f970d1a3aacca4d378de08f359c6fed3ea578d13bb0b80c36b9791c3640ea923eb5b8163972bcb137944ee7371640fb3d4c849d393a754138c6f09f35dc03723aa8900b3a8a6cf13596cb65353f3038353d57bf34dc5e73348fa08a3559324f35628589358e616c351331a234ba9f893460a1b2343fe7bd346a086c357f42583579f07735a30182371e5ba934ec7e3634c3031534713039347d92ec347a23cd341012ff34bb4af934e7c3d1356580d735d599e6350003493737052c38acb7aa377c4f2a3836116438e1844035b8bf9034a67f3f359d970b357211dd35a151a435e2b6a735e851823549f32135c8d4613fcaaff23dc75c7a3559ff57340a9e533f7354163e30eadd3546ea4835fc13363f3b48063e0fbc1f38e5b21234edde093fc158013ea66d783453efc53462ecc23eb455e53d24eab2354a63863630d15b3eab1bc73d795bce37394aed37345a673d18cb9a3d14c79538905b8634d5c360377a87ca3bf3e10435fc80863505126435bb1e83353486893514e984361f863436a5907a368bc28e36c130cb34ca086833bd60a4342d80f1346cbcec35a50ab03563a7d635858c1a37d2df89357c7f6f3542016135766c6035512e3d351ffd0c35b83e193508ac1b351a53ea3422df0a3565d0293572320d35de3a2037042e87364ccfce363e2ec9377d941d356a7dc8343f1ef2341fcab9344877a035d0539535df309c35fc799335b29012364c4e313fcac19d3ef4887c366fa1e432a85d253f074dae3ef53cda34147cc8351939083ffd2ba23e5b01203736d45b3587d4c93ef10f913eeec17835bd560b3541f4873ed51a6b3e67d81e3525ebfc34b51d103eebfd2d3ea1b6d5349922a4363cfa0d3deaaec63de69c2838cb1bc234379e4238107b2b3a102aad34e50dab353b63c9355d91a135caa98035105fc534a336db33fbb2da33127eb7325840943550d02435f3288c3549dab835e53a8a35f06b88352db6b9350e2f4237d1a90a3675d307369bd109365a010c36e2f2dc35533cad350af4d3354d4ae5357fbff7354ee8fc35aaa81b36fc2d1336079209382107e7374a740e386b3432381087c13592ec9535093acd354275d6352dbd9734db82de34e7f31034b15b6c32768b2032d18dff3e235f003fab0e5632dcf2e034c857e93e92dc073ffeda3835f828a9358256bb3e13db003f44529f364f5205368c4b843e58badb3e11910936789ab03592f6383e8e62a43ecfc6e7359d9c173680069f3da744713ecc18e93545cec6370d2dc53cf13fdd3d7eae1238c94a9b3513c4f035c4fd7b3ccf54e235697a05354a5ec43414b8fd35790d42328019b6358b009635a7d9a535c9439935415dbe342ecacf34cbf9f534c19adf3439132335b8eb0c35a4441f35d80e3135691953357cdbd5341e64bc3471b7e2342f96253522bd2235fa153c351e473335851a5c35799e60353c9d773581796635d1d7a8370ba72b37790e7c3798a0f737cc4621357cf42b3451164a357ce10d3505679c36d2819e3603cc933657b087363bf46235210f9b3e2ce6323fd7969d35e2d9a33471648c3e51013a3f6075d7343735f1342bee443ef65c2d3fa2f52635b69dcf349ebcfd3d0027113f073b0a350c7a23352f2b973d92f0dd3e2dcc20350867453556c3003dd9ce953e3f236b35762ca237ff93a33c6099073e2b1ef5375c094134b5738e37eacf753cb45ca2341d5f85362ca88436ad113438e66c823666aee63595967935e5e66e35035c8c3584d04035a9dc273342251134c539dd340f05903721a1d63639820035e9fa5036cf8134362baed4357665ce35a7b20336ef8e0f35dd9fd3341f3bdd3487e6dd34b9464f342d5580348b1e8b3438e65c34515566370d1503372a4f1737323cff37b2cd04356ef1a334b042fe36db01753746fea7352eb9923596ed7a359e785c35fe178035cd3ae03dfa30643fd27c8535e9c33d35fd9fb83d8492673f9731d133aec701389c7e933c5ed3593f5f2abd34c00a5c3733d5b83ac002303fc4d550373700ed3457b6033a881e023f56640d356a52cf343a3c3a38e159ac3ed38b43342ea5cd3729fe503c44ee143e2d38153808a3a134b4898d380d63e23c3778b534a0cf88350028a635199f11374ab04735000f2e3513baff348630e234a2b806353f5b9235866d8535595f653574a08835607eae352216aa35b6ccd3351773cf35c59e183621c1113636ba1236a0e70f36e0bb8c357c3971350ec2a03563529635f743f5359916f23591610c36ea20083627f30538669fef372c8fd6370f674438e194b43555a7ad353fb1bb35f0e4a7354112e931eedaa931749ab131da35b031b312cf34ce8b9a3a3fd57f3f5bca8f34231b7135b5b4c53779fe7f3f01556d355f53cf35f6888d3837b5603f0595cd36987812364192163858e8363f98bb6a36b08e663555f7e436485a083f9623b135ae790d36bd96e437d1f1b43e1b6e8a36c32e563832d7d238fa7c343eda0d933887d9d63559175a370e6f3f3df675c2351a9d3f3171f8bb3049827631af58833100000000000000000000000000000000b8e821351d1a2f351bfb3e3517402a35aea83837839fc534bc57b63477b6073700000000000000000000000000000000d9835835baf1543513cb663539065835fdc4b037b610c936a3fa0e3536d0b137947b28369722f835bf615536a18b0c37e18b173644ad2636a31c1f36c0601a360000000000000000000000000000000000000000000000000000803f00000000bbab2d359b1c253593d57b3f678820359a6ed437d1ce48387b53603f4563a93800000000c9560836139e313ff416a537becf4935c57f363561c1013fdc494a3525cee4374b12663899d3a03e37a79038454af2366c6c0f3813a0053e04e54038abd71c36a5dd24367664c53c27ea2b36000000000000000000000000000000000000000000000000000000000000000075b7a23557970d36b8268836087cb336ea772b3369652933680647333975823466a0ee35ab91f435f1c20b3607aac0367ffd0d362bbb8336a77ede367f640937c933c134616ec3348dd2b6345f98a835f093fe35305d0f36e7991a3689f9a336b1084737e204b937954b26380bf23c3800000000000000000000000000000000000000000000803f000000000000000065ef87366628713fbdeb7a3c8cebed36b93a43334b81503f020ab63c9356cd38bdf703362c8f253f6c60b63c52ee3838e0e6f63626b7f83e9584853c05abae372a295a358b58a43edd7ca83c5e1d25360408aa365807243e556b9d3c203230365689423877a7263df3f36639d144233800000000000000000000000000000000b2adb733557bcf33fede24353c11dc379f65fd334d631734a46c31349f362a3489e2b73263070533e8904834bec52e340000000000000000000000002dff0836000000000000000000000000000000000000000000000000000000000b19cc3520f4a83525dcb735709d7b36ea2283370000000000000000a8e37734f58c19370cc75635b4b7f734685928354e916f35fcacce3367be743f3226343d11b1273841642234df945a3f380d8a3d80116a3721c6fe33e415383f7f499b3d50cc4a38a9271b34eafd0f3f0a25983d4b9bed37000000004541ce3e1f40983d4aa3b43700000000c50b833e0365753d95f78f3709028337fc57db3dc04f693d4965d537000000008747073957b1a23c00e61638cfdae433c19a43368d0e4338ae554c38aea97c36dc6d7d36efdf90366a0d2b3802773c361cc74c3640e0ba369b8905370000000000ae3c343cb5a7341e94173687ead534cecb0f356dc824357ba6b1352d8b4736b40d91361bd7d336552465370000000000000000fc248235f8f5d9352d0e9135160e51365c5c9c37c4c02138ad9fb03644f3b2365af1b736958cb037ca743b36754f2f3643b53e36a59e4c3623348f3644f15a3f0945143e484afd383aa2aa36e32b3b3fa139493efb96ea37616214353f9d173fbaa6643e554c073892291e355043d63e3adf603ea42efd372af0e23691c7923e132e453e41834e38c9f9de356150143e97c3303e06a0d737705e0338d617063dd45ae03d37f38a38a0b1af36945281387f643d3b6725a438606b1936f0090937ed2797382686aa38eee5a736cbe7a836bc7cbe361ae013382573dd36fb9ff0364eb30837233d1737d7bc2935703fa535fb9af53580fb0a361a1614358406453586738435e2a49d3511be0d374837273796fa4337fd698c370a89e235642d0c3624bf16366f1d1f363d68aa352b5fc2357435d13540d8fd3656743737a2273a37fa4f51370e545b37eb580d37d174073702d30a3767600937a021b8363e3a2b3fb1b1a93ec44549388842053768f10e3fbd2fc83e47fb9f375bb1f0352420d43eaf5acd3eeae1dc3783a7583515358f3e3adbbd3eb1eadb37afc251371322183ee297aa3e5fe58d384f592336755d773d8f2d8b3e7e4e1338b454ac35e5314f386e92243e51a22e3842d04337bfb401386ad14e3b2e554a38835506374a85083744199e3881af863871810a36a2331e36fb212c36d8bd2f3618389e34ed801d355f429f354675da353092c132cf1e9233eb708034e3aa843500000000000000000000000029480f370000000088f929351b358835f42e7736000000000000000033f20034b120913764669f3446e9cb34281c1e36dbc785379015d035df1ce335521fec35cc38af36fd2a013683beef356e53ef3507b90e3670d32e362ab4ff3e473c003f4d691d36e0858e35f46cc63efe87153feeb65737c8a154340551863e950d123f164f0238ae590f37da1c133eb30e073fdc4c3d38c8637a364166c73d1656ce3ed45a503840cf8737e81636395db5a83e3a5968389be02e37980e5b38c78f2b3efce053389f5dbe35fe543738af20ef3c1feb7c38f7d9ea35844b063691e48f37d91f23374536023787ca043787f00238117ffb3794550837fc7a1b37b1132a37fe033a370241673589678d355ac39f350b32ae357251ce356093fc3547581a368660473650562837b8b03537d4534037ab1b503720b57135cc938d35e06da2351c80b135404ab2357859d335318b1536759c2236b1701737a6a8183759372937d20e2e37ae79d4368151c6364dbacd36c0babf37a681cf379f2ba03ec916303f97080837ed7c3837558c613e6cdf463f4fcf4537c697be354c12b23da4c7403f35548e37167f2c363601253c34ad283f8a3c8037272c5437eb2ab43894d0043f7ad29d38e73be935d2701038f250b33e0c53343800850436be7a1b385cdf3d3ea5be38384b0d1c379562cb37bc8c513d5a742c38037cc13662a63638c505a5382df17f381bab6937c2c72138a1f0753868e86338b7b49e36ce0e9f36e0489a3641ffa43659a33b33b19a36340ef3533438005035000000001ecf2a33870e9333859a98330f1f6f361d3b9236e565a8360f17d436b4821b3563541835657b0335da673535142427358d6249358ac1cf35baa3fc368b52fd367e9906371e8e1537bb151d37162af5379480ed37f04b2f38a9584238c34d923818b1063e6c735e3f85e9333788239437d66a153dc006763f0a375737dcae0a36d641a23824c25b3fe6596838ffc390347e35d237afe62e3f23e5e637bb83d136584730385d77053fa67c7e3843680b3524182c3851b1b93e615cc838fe7f1d36abd00038e0c33d3eee5b2f384c391337cfdfe637e962953d23691938a6a9233800eab338132c2d39c54dbd3841d4bb35131fdd36b8f09c370b09c837000000000000000000000000000000002b8c81350a2a8c35094e9c358869a03500000000000000000000000000000000000000000000000000000000000000000000000022b551345653dd336889d535cbe3663425fa9b3416b643344aae0033e4c456349d5d2c34a60b0934737a0d3489bb4d35348d1e35f1f15b36cab55c379b5c15380e8f3f3c14047d3f6ec16d37000000008cf20338a6067b3f5f501138b3eaa735a541df36bc2e563f4c404e380000000000000000e0602f3fe3271a380000000000000000bc03063fb5c12f39ee45dc35cbec3e379a54ba3e86e9b638006b2934f84bb537c809533e635ee83839ad603457ab9b34ad4fa23d769eec373daed236b602cb37f546603879283a3800000000000000000000000000000000f465613611f04836efcd4d369f539b36867f09360782093691a9113603d61936e87eb43440e1c434f020b434c803c334aa17903633778936f0e2a1369160d03684ba1a36d0fa1e3620eb1a367a73233668ca0233b28c4f33f19f15333f6e1633c0c2c7364326c1361d95d036a163d4360000000000000000000000000000000000000000000000000000803f0000000020678b363ec08637e59d753f79ec8f38fa912536e6ba3136bf0f523f69c8613ad46eba347548c8340258283f4f84ed3a7746c0368667f23674b2fe3e2a478e3ac5302c36f1229436a26aa93e62ceb43a0cb923335a6987379149263e6ef0aa3a5989cd3616b6e2360504303d91fb413900000000000000000000000000000000000000000000000000000000000000001dd8cb34cdd85c356b82cf3549ab9637c7fd3b36cf82503663a96836a607203847840336012025363bdd56362920a737b5282835129a42358175b93632780e38a792353667983c36783024385b5ba738eeb483362c918836b843b537f2574038c44ba43530949e35c97ba037c9c7213800000000000000000000000000000000000000000000803f0000000000000000b3afdb3557ea5f3f93102e3d6827553ca32a7236f7a43c3f47f6263d1e3b843c080b69367fe4183fd52e333dd279853972b294370b16ea3e0cf42b3d523d4a3816ad7a38f6eba53e45791b3d0d41cf38d95d1638c5fb423eca30143ddd484f38fe621738d551773d84dfd43c6d1bcc37000000000000000000000000000000000861c834eb6dd1341465dd34c06fd136689eaf3460d9ba349567fc346bf08337ea570c3654c329364f6b48362f33ae37672d9f342057bd3401a39135ff55dd37c4597635d4b98035f3898335308a84379be02036695f40363efe6636b8490138455b8a368ce9933673f08737abba5f3881cb3c369d3c3a3653bd3a36edef2f38caea1e35f9fd2435caf7293518474635cb3bdd346d3d703ff607583dbcb5bb3940ca18358ffd4d3ff96a8a3d42d11c3ddfdc4d3631c2233fbeddf23dc86cae3c1721c5355110fc3e5b3e0c3e822da5389de59635c7eeba3e44a4f63d09b80b399c7c7636bb43763e9937d43d351c91381fe40d38b303053edf3b813d68319538120eb13795468039c1ee223d756a7c38598b28351b715735a55fde3583dff73799bcf532bf90f4324bf748332abff23731e8883335838c331f738f33b1bd903309f22f366cbf613680348c36f91e7e3782fad434b0fffb34f5fb9c3529ccbc37cd3c1a35ddcc1a3545bb173501531135611ba33638fbb036143cbf36c0b5e7377d9726360dc0343617224636a632d037bd602a364fa02936799632362ce83f368da77635920c8c35c862a335491bbd350418ee32e3ee4a3f2e6d4f3ef73b8538bce28f333f8d273ff79a7d3ec143933c38ea9236c50c043fa790833e8a388d3c2b41bb357d62bf3e25d1823e371fbd3b3c681735d68a853e27e85d3ebd7eda39a87cc8366a77093e8734383ec7a010395b596a36eb334b3d03a6003e20887839d385333613a5a937839ae23c4fda833a2cb79f35349abd350172e335578cba37553338350a6a4c35da6f65356410ab3740e0b03495eb8d35db55073623842f36a7f21e351a1aa7351ce01136eeeede36b891c4359a87e93538042a36d1701538967b3c357a3b4335bb9e4835ca6ccf3790a63535653d85350aa1c435954911387cc674365ca37f367eab8b36a0511d3768b9a834a4acb2349fdfb434e5139c34f734d434319ef33459310235edb1013522886835a343223fe850bb3e8f4d0938e04808361aec003f2a0dd83e09cf89382f262136748cba3e50f3d03e1f6a873c3b733936123a823ea4f7c03e92927b3cb62f4c351a9e213e89b2a53e30f0723c4e93dd35086f8c3df8bc853eea64703ce3f58d36aa0e8c386826433eadbaeb3aec6aaa3451695a373791183d9dd62b3a6805f9345f590a3520d5a937cdd5593828b3c834237bcf34c1ea1238f4857d385ef21435a9f0183591e67f352191fc3700210e363dcd2b36b0275936d03bc0377de9db3407d88435b094eb35c18d9037bff86d3577b07835af15ae35015d6738bfc9e73576f4073691f61936f836f43701547936d5e98236c5dc8d36c7d90638d446b135a733ba35f120dd354832c2377b1bc5342094b93425c2b034145d1135f8622738799df43eb4b6053f3f15433882a78235c58eb13e4210183f768eb338ac0f6836971a6f3e0be80e3fcd0e3a3cfb520b36b3130f3e9d9bfe3ec7cc943c46262b374080e83d2953bf3ee35a553cd4162e36b932643c1425a13e8ef8883c639f91368ca999387792473e99bd103bcf17d4350b047338224d6d3d31d6a23ade2aac3474f49535351d85383608f23822dc233525e22535a91e1d385b0646387877173433ca6134aa828434f9968934a937263636c74f368952743699518b360ab5023520936735f413b735628aed37c6f16f3597706d3587e864358724e037f4a6173692272c36d93b3f36e7c2893784421f36e8862b36fe1b3b360dce00374bbf423675e43f3659784836faca503678bd9c35424e99355f809735cda4a33581914038ad8ea83e5bba2b3fd16f3a37eb877734a7ef4c3e9b23433f83a618385b308636c6dbb73d20d9373f06ffa5382c2adb35d86f093dc0951b3f13666d3c1e65653530c9443bc61af83e4199873c31285136e95b9c38f361b43e9ec5c53a42293d36bb692b383371493ef9a96f3c1bd74336666af1379782963da1afaa3ad1419735ed5ab035683c503842315839a32e2436ba0b423661a9df37c745c6379cd84e35d5bfb03505e80036f1dc2036716cb535a4a7f13596201536773e34366a81573642807936256393368fabad364534043569e70835efa20a3579ac0935bae80f35444714352a2b7d358343c43556fd853693de8a3659229636dca394376a17423465213334197e0334c88d9e33ba2e093556150235f4e2d7351302dd3789eb22384b5b363e4972523fcd09d53503380d36cfd21f3db8b16e3f519c30381a5a2936b24d3438b6c54d3f4f44ab3c6db09d368e76c5375d982c3f7473433c66a10d359ae213359c9d013f120e863cc6409435336ed7374d2bb93e4ea8673bf65d973696022938dfe1533efcbc5f3b5dabd1334389433765e7a03d492bc33aa637343638a80b382d3a973bc7372039524529361d222d36295eb737f350e137e16f2d358fc7433572d75835a5c38035d19092350c63db35abcf20364b19633621f39a357b87cb35591af935f68c3d36645a773522d77e35c5a28135caae82359a0bdf34b8953135821d90354da9da357d966836d0df723672a37936cbe96e37db3f0a36c6400836d10d0e36ae8be237abcab235d6eea53544699835a5345137be9b16383be1af3c8e8c7a3ff203d33594cf6235d121ab35cda1753ff994113a3eec3b364c211b3772bc4a3ff7837a3c4d590e36fc835b366563243fa0b0693c0364843544445636b3f2fa3efbd0ca3c6c2bb935a105be37295fb23e41adbb3cd0de7e364ce64c38bb4d4c3e9f9bad3c4d8c0e369e846738dd99b43d09ebd73ab5df96358318cb37bddb033ca79f0c3a00000000000000000000000000000000e862963472b1ab34e451c434dc4ddb344d0de43566210c365f153036f0d4633682b5ef359ead0e361b4120366b8f61371dd81335b05814354a051735bc069d35cfd01a36b1142d36e71146365b5b6336bb3b783633c37f36101c8136c04ccc37c26d1a36e4221b364a261e36665e8d370000000000000000000000000000000000000000000000000000803f00000000bebbc7341274df34f2d4643f7c08a43c5c12433608f17636f5f23e3f79cbe23c93292736aedf283843211c3f75eae63c42d81735f7eb7f37a00af43eb16ec83c42b056367a842c3747dbaa3e549fd03ca1cc81362d9c43386a1d3a3e321bca3c50131f36836dfb370dd84f3d8bee9c3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0ee0a33a5755633476b823323646233000000000000000000000000000000000000000000000000000000000000000000000000a1281033d2c553333f24e1320000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000000000006483763f0000000000000000000000002947593fbdca16397d438338885692334e332f3fe64d0538c75bb233000000008f82013fafd3de380000000000000000eb87a23e8ff38d3700000000dff39a37906a173e3d235f380ded233400000000c557fd3ce384d53700000000000000000000000000000000000000000a6627353e814735d30b3c35e67b4335a77563347d026f34f6948b34167aa534cea715310000000000000000987337337c4da935ab44a935aaa7b7351deabb35fb18d9351516ba3518afd535d41fd635e821073545e70935a63625357d7b53352ff057352472543567565935282c593577899335c2fd7435f8cb843521a58235819ec834aeb0bf346e93db34fc4fcb3457a7643500247c3f66b9ba3cae9f94354b65a234a4f4643fcb29513d0a7ddf34000000008e6b4d3f3e97ab3c25bcf034b639db350725213ff295843c02a0e63588a5d935c1f6e63e495eb13c3226e835f2340e35983e943edd54d33c3455a6350c3a7c355f7b013ef180e83c7fe47b353fee8535dfb7973bf6e7a13b98a48235de5eb334b4efe3348844e134bf97d3344e280434234a853435789134d732e53400000000000000000000000095d025349f5905336389e4320dc20933da9b7632801d3c34f57f383486f66f3443197e340000000000000000000000000000000042f2a333ad44bd33ea64c533a4889033b5728f3294689432223bd0328ec5c93200000000000000000000000000000000f5449c35900c7035d2ca8b3525b8a63545926c348b73623fdb24003efdfda7340000000014f4503f9734233e7ce36f34bb021233ee02303f22ee0f3ecf6d933174648734e173013fb0261c3ea53c8c3400000000d777b43ed8940f3e0000000051f10d341f57363e566b0e3e25373e339f299a32c67d3e3df21fd53dd01f9e3200000000161f9b38589a7f3b00000000d2bf3235545f5a35b7678b356fb9a63505b01e355ace3a3568629e35dbf3bc3500000000000000000000000000000000000000000000000000000000000000004bd33733b4098a33888aa13331d6c433000000000000000000000000000000003779d6334221d2335659f0331913933351221532ca79e632b90cd732d364d3328c223034cdf1a933c9c64d3367d92a341c2080346ff6693421f43f3462860135e5061d3512d83a3ffcb18f3eb0dd8c3500000000e1c7243f6875b13e00000000000000009703023f1a6ea83e00000000d0d0553348adba3e2b7fa03e62c15e330000000044105e3e8e84923e00000000d157cd33f7d1be3d14456d3e05b38c33f0670c33e2ffaf3cda29003e9594a7325e0bd0330ade59398e71a43bf198ba33ed574234a7a25b34cf807f3677264234677da33499d193344fb0a53401e8a634403833356f690835402520351c432535ce4fb1345c415d34f65398349374a63477aa8735d25481354a58763531fd733538c51836f49110369b181c366f0e1a366760873511eb6535a14e7b35d76888350fcf0035754fe43462bbdc341a25d9340a815c35fd762d35f7cb443552344335226fac3446939e348df4b23421caba346729ad348ebf073fa921f63eecbdde34bf3621351a36ef3e9e2d0a3f81e13935c3218734fd1dad3e594b053f48119d3427a6b53546075a3ede91f33e5bbaa43542fd21367b74e63d87e2ca3e11d72c36b49d8735ab743d3dc802913e19fcbf3520c9f8344b62b23ceb01093ee8890235ef453b35aec1db368b1cf63b17c55135f1f798346505b3348807ad34b9e4a234de663c345909843432928c34908cc234199f883446b6cf3483eeca34f45ff3340b116032e443c73219b5a632e104373288bca133839706347a11d9337e837334000000000000000000000000000000007bde2033262b52338b183d331183cd320000000000000000000000000000000000000000000000000000000000000000cffaa435553a733506ff73355ce79c35c4c05734f665a53eccd9303f066b913463e56c3422f4923eea4e383fc8f5c634e944fc32301d2e3e98f5323fe724df3090c8d833f0ca9f3d00a11d3fd78bca33000000003a90fe3cf816f83e00000000320fc033597ced3c6c00a03e40cf1931000000001434d63c1a451d3e0000000000000000f6ebdb370569bb3c000000002ca16e357f57893599878b354b1b943588cf843530479135d23cb835854cbc3500000000000000000000000000000000ac18863202a16b32913e0a325c3cfc31e6caad334da7f6331c6305348018063400000000000000000000000000000000aff18d34d640833435808d34021a6334ea911533f5cf3b33f7c12d3371d6423300000000000000000000000000000000f091ae343581923461503f344dfab834864e6c35adab163e60c95c3f38f66f35000000009463fe3d671b623f000000002c0ea132f7f2913ca49c583f6e8393328bf2c0336de1843bf4f3313f3975e63300000000f8eb543b44f4043f0000000022487934c52d8f3c68f0ae3e04bf743455280733cf7fd83c886c233e013228330000000080a1513bb53d083d00000000bb987a343aaaf336e8af3836a8dc503433a9e134f99fcd340818e1349ebede341c40893507d5763557557635ba4d7535f2f78535514e5b35821e49350aa65c3544612235567b5b35a0062b354d8552355f81ed35690ae735fa99e8354c16e135e2d6f335ee5cd3358a3ccf357d9cd735b32a61329501a9331518ec33ffe24934c882b634f99fc2343145ef346c7aca343f1e8b35976957356f756135e4c081359c7ff3346f69083dbe0c7a3f28b0f634ee0c883573aa823a19297f3fb7558d355ef673352ac96c359da95b3f9d716135e105b33539aa04363409333f683291359bb2f635f436323683ac0a3f5f9618361cace1353adbdd35c4b8bc3e06b8fc35f691e8342c1de13a809f3e3e67650835d1b5bc347910b537189d843d9bb246357f477435c5d2823591f27735556275350000000000000000000000000000000000000000000000000000000000000000ccc72d34e06a043443fcb333a828e4330000000000000000000000000000000000000000000000000000000000000000437b143425ffb233aae28d33c503633300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000000000009cc97a3f00000000f3be0d346c644b34bbf85c3f9e55a53600000000000000009e2e323f5df784390000000000000000e4b8013ff3ef5b361152cb3360c599376054a83e8db51c38000000007be18939ca3a223e685aaf39000000000000000059733f3d000000000000000000000000000000000000000000000000000000000000000000000000aeb08635c06b7f354f0c95357471b635ad940934bbe30d34c7503134600b49340dd1803523f28835fe289e35fa1e6936ee65d035661dbc354e5acd35a43c0236d66e9f34f059c234bd1ba234276faa34573d7c353f777a35687c873525a400378e3bb235e15796357d0c88358e6aa83500000000000000000000000000000000000000000000803f00000000000000009c0ba835f5ae6a3f3fa1173d306d7936e1283f3403a9463f9eae1f3d06ea47340713b93568e7183f3e396c3dcdeebd37f0e2e635ce19d63e0d0ac43deeb5fb353031b2340b22883e9e7dbc3da5a40935df481b37a8b8113e72ab5a3d6d94c035f798aa356e06043ddae8ab3c1761be350000000000000000000000000000000017cddb336f44ff33b6641f3455fb4b340000000000000000000000000000000000000000000000000000000000000000112920343d311b3486ac4134a66290345088ef33bd6e27344c444a3425aab83400000000000000000000000000000000819aa634b2c79d34072ea6345253c134e24fe5347a78c834d6238834f20add3436673d34e5903b3437257f34c7d3b634d6d91d34a771723fa2536c3d07a5793400000000507b4e3f1219fb3d0000000000000000628c2a3fde110e3e000000008a7849347fbaf03e6e0e483e6f962e3600b982340b459e3eb5a4533e48a29d34000000003c5c353e45fe393e1d1f99318fe4a0348cd1cc3ddea9b23d95b2a334afdcde3497eef634a5f4fd3c5405d034660077342aa77134a4f39534338f243500000000000000008bcfbe338feffe3304a674345af99a340c640935473d3e35755dd63491ac0635da60573546919e3574afe63324c4a233da1b14341901b53458039635a11c9235096fa535d941d0351ba13635b6ab5f358e6c8d353b64bb359a720c35f8d8fd34026ddb34773319358f9d9735b1e1893565b981356cd59a35fe14a534fc279134a83895349950c93471ddab339ef75b3f7a4d143e3c520e3362cfe93402cb313f9e80743e1e394c35e15e66358123053fafec9f3e3b4da135d75ef8335e25ab3ed08aad3eab801334c0dfb3353a67453ef794a43e6da5e735ad436035c820a63d2c91873e2ba4e635b458ec347052c23ae018123e443a21352c9f683536fd8a35d88eb73b1e4ac835afb583340aa29934000de134b1f2e534d688c1346824b234e62c09352fbd0c35be6a4d35d12b51351fc0813570e5a3352d520735b0f5143551e833357d2060357700843561719635da04b13593e4e1354bf0da35ce0cc73513c4ce350bd0f635e465f03443000f3534ec0e35db9b29351d8f4735a0896235496a89355cd29a35ae405b3502ed3c35ff491835729e323503e47134634e7f34416b7c34ca0974340daff634025e313ffc9d9f3e69a4ce36dcc5863598a2063f9b2adf3e61308935bf3126352d41a83ee7e1013f38214a353e0ed535cd38483e562dfb3e78c91637504ae435ad315a3ddbd2e83e38a5de35b3ed0b35d8254f3a3260a43e71ce833582e59f3599d90437b7371e3eaae811375cfc3335451e3b351e0c013b73be323539ff20341133683337674036142e9535518a3f35fa142d35690c2f35693b2535f0fff131b18fc8338972193439ba2f34202bcb33eb6b1934f9725a3412621d34472e7e3413f57534c8da8634b9be9c34563a933421238f34f9a99d340c31d534f6e69934a2398a3421419f34ebdb95346a2164345ed26e34e0cc7c3450395034c3674534a0250934dc1727345bf45d346ac4ba34799faf34af6cdc34a80b263563a745354f2b023f4e39ff3e2da3b2348bd13c344791b83e092c233f75193b32945b0a344bfb403e81db2e3f8c890e348c626b3487bbe43ca629273fa13271341b59ab348542a03a45b3003f3ecfb434e9a778344685e0357b02a73e714a9037c1f65b34cc2a3c3428300c3e4433eb33c0a03434260302349034043c33472d34e0accf346b2bb23426ab86359c176a35533f9e3454a5bd34254dda361b4d12356affb9348ed9c7343b720c359edc1c351bb4ae3490ad2935c9fd6c35ea5cba35361321350dc30c35c8d3eb34ac142135cfabcb3535d3c0355460b935820dd33524323c35e00f6835ee2589354139bb35d53d4d35bcf13c35677c1f35d4a427353d598235f6a171355b5f6035dd9783350c338e343efb9034d4ada134f108fc340621f3363ee8a53e08b82e3f9eda4734ba940e3568dc413ed6b1503f99402e35b6ed8735cc1b103cafdc573fe12ec5351d5c0735348e1f37571e2f3f0422b3350583bc358c52cd35331b003fedd08337292e87359274053774dfa43ed0610f3887a7263516ee2f35b5322f3e31db6935f4bb5e3520066835a4493a3d6a027137a0ca94349abfa1366b090738d7e997371f778b34bf7f89345300ca346092e73468794f350f4c5735be538f3515daa6351908c734a6a1dd347715ff34222c40357fc35e3588305335e7c6783526e0c4353957a535ee968935598f86353d11a635477b16330b99e6332375d533dd2b1a34dde15d35b3c65e35618f47356158673579c92a35670a17359ea7e734e0b117350000000000000000c67e7b32caa0b2322af65c36f1f7113ea8fd5c3fec93bb341ea89435fa11123d0ec8763fa7138f35773afa349f397035749e5c3fb96f6735b139a235c38bef35808b293f9306ab37b61da1352884a9351d32fd3e3255e937d5da0a345a8322344417ab3e73561338f10e4c35d3b09b35bd07333e62f6c5366f980635044a12359f1c973d7aba1b350000000000000000db06ea38da288b36f5bbf9348536e5349b67e534ea47b734000000001f9648339c8f3934111f86343b5c9b343cd79834d859a8349578b13400000000000000000000000000000000c64f6e344a844934132e68340b13b03405b48a340d257234d72664349b9a8d34000000000000000000000000000000000000000000000000000000000000000056845f343a302d3455e021342dbb3434c198c9348a62da3b22927f3f8d897a341ff52e344c00cb340f38793fd8818934aa8c95340db3ad348cbb513ff114863700000000000000008e76263f03358739e3dc82344b1da0346f7efb3e2722d9370f107d34900984343242af3e0bd0b83900000000000000004f614f3e000000000000000000000000b88f9a3d92bb0737270e30347a321d34616df438014d2537000000000000000000000000000000006ad863356ded5c35d5c96e35610da0356b51583523b45a355cd163356923a135534a9634067781342cbf3434cd3945341503d8355028ce359c93cb350599f435eb70b235aad8b13508f89d35b36bc73504082f341afe2d34b36b1a3487ab1734d1b49735a8659135c4418a356c8b9e350000000000000000000000000000000000000000000000000000803f000000003a866435e1be9335d5d1733f2a77833a33d17f3593989d35b0c44e3fdcfce13ad5ad8434ca3e6a34651b223f4c49843c9153cb35f0ddeb35d0dce33e2d84533dd404b335d889bc35f75e943ebfff7a3d72163534fb4a11349ef22b3ece13c23c5bab9235f7be9b3545514d3da92041390000000000000000000000000000000000000000000000000000000000000000ec16f832d2ef6533bc22e5332b3f3b3759623632d64a3332f8f25432444b8535e330a4348277d734cc77ea34a7cf86370df14e322aee5b32e69f5b32ad5188379621c734b343b234582c0f35b38bc137675e2e35eab42b356a901b35467dfd360000000000000000000000005ade463700000000000000000000000000000000000000000000803f0000000000000000ec3c1a34deb85a3fb0c89e3d81fe6638f3bc45321ea0333fb839c33d8be6c43c220cf8349b6ce83ee1d06f3e5a450b38cea8633211ac933efa4a883e1c2916383771f5344c4f2a3e952c743e48700938a7ba1935af0d023e0db7e43ddddec236000000001ced0a3d1290713ddcd362370000000000000000000000000000000000000000c86451321fd4283760b17b38879a57326179643313ce28347c2316384639b034e1f5d6342d112035250cf83781dbf6347aadee34c496da3476b2a6376fb7a3342301ad34f3cbb634c93ed9374f767c3504a188353522a835c8c21a386ae38c338f5092333abb8333f14cd937000000000000000000000000e2ec39375a92ea33ad2ed33366b5ef3339418134e91e3037f6056b3fcf89ac3dcbcabb38d18b3d343677443f8b2bfd3d08f8a73bf6d71f35ddfa093fdea38d3e707e6f387ff3df342acf983e071bcd3e715d41389042ae34b489233e7652cf3e83764138cdf5143729f2bb3d330fa93e5f6c40387eb58133ee5ea63d8848013e6f41363800000000b8dd0a386c9d703df6cd5838c222ea333e478634092480365a2859380000000000000000000000006a2a42389cadb332b973393395ae6c33da41b63750ce0931450086317e9f353562f9ab37ef3c3c34f0707e348b3d5f34245c8f37439b9a344cda9234fff78a34b44b033812a08334ce495035fad99e359d422c38000000000000000000000000c7dbdd3776657334b1ed5734b0643e34d24f2b346d86e2346250ee34ea6c29357e96543500000000f1aa553f1eec143e9fd7d3384b648633fba51d3fb7ec913e04934c3830cfed35471cc53e751aef3e78f75538d8e0a234f5d43a3ebde1093f7ba64138083b1b377336ad3df2b3f43ee30f3238c18e0f37515d163d3ae7b43e76cba538d9ef90366d17a73b56a51e3e9a297a3814dc3134323d103440402639902fca396d2f173554514d3550d09f35c63e5538951ae03499c41b35c45696353dd53e38f3aabe3384d3fb33820582341eee97370000000000000000000000002f752a375d2fd93425f60435dcc04f35ee47d936cb26d0346d3bd1342ef9ce34aedfb634b11b3632c935503412784d3558ada8377a1f273601ab2336c72f2a36866aba3600000000000000000000000000000000000000000000000000000000000000005e9f9035c0a1273f4cebb13ef8478638bac3da348241e03ebcc0043f81d7473800000000c465573e4f4e2b3f128b17381b719835d5be813d39f6293f17700a3854f6c43421d7ba395ab10e3fb67cc33780cc8435b80c8938cae5b23e532c98385cc94536396c0e38d342e63d492cc83800000000000000004f3507389c8ded39000000000000000027b02a37a6bdbf380000000000000000f1f56237ca0c8138000000000000000094d131341c920637c18d2a342cf09b344cfee83408c6af37cc3fa0345388b2349832c934207b5c379d390335e4a7ef3432100d3589af03350e119734d90b9934781317352789f936b98620346d07c73232dcb63427e5ad3400000000000000007afdf6307360bd320000000000000000000000000000000002c76d37c313fd3e0716023ffe10e137de463e34b9de8d3eb944383fcb436a37c8011536f3d0793db494543ff78a19385e20d93427e96538d8233a3fc03f69385df10435482c6d374263003fdb3825381b161935883e03387e69883e2a5a183ce9825333431c5d37ce2a863d266c393d000000000ec49d334f963038ec78cf3b0000000000000000d1c621387e05c83800000000000000008f6fcf38b340ec380000000000000000000000007a80c03753ba9535c05c0836b2c92a3647f99c36b54410325ef1193298fb203255f87835156dc7343405cb34ebc6c9346a4fc034afa79034e895a234bc6ac834c3ca2835000000000000000000000000000000009e863d346a9c2734740c1834f2a3f433dce3c0348df4dd34bda60c3502eb30356e10d4387106ab3e0d3b2b3f00000000d61d5f3670efdb3d5928653f00000000a6905e36a7bd3e385fc2633f21c56e386d51b434263bb037915a273f01ccc43875c1c4344277c1341464d53edffbf03cf377e634e1a7eb36af824e3eb05f983d0000000062a45a35facf873d5fed6b3d7e9c0134b96fb236ac3e503cd9630b3d883b17357c035e35ebbcc838f2942439802c5335d67389378b9885385c09b4383ddbda33c3daf7339a3530346fcd3534000000000000000000000000000000002daf7534420a703479807e34c7ed1f35029f76345682853423c18534fa1b80342e18fd34d7f31d3506c25e354c005035bb3320340e992e337fed8334b2dbdc35addbb933c0269f33db11853347ed45338e18ff32a5b6a734fbbe14352cd01937ccbfc63c29bef73ddbbc5b3f430caf355d2a4734a4c43839fd2f803f40b0ac37000000000c8f1b35d6a6543f7d724a3c0c4e8734c501a8355d0b133f769e203daf7e863455aa8534dd5cb73ee772ac3d3dea4135bdc46c358492383e58edd33d3190d234ef97d4365f3ac03dda6d6e3d033e4c33feb65033f95e703db6b4343d7b5b2a35d958f437a4a00d3c9be4643c5c3adc3456c31235c0c201386a4945380000000000000000000000000000000091205533375b4933600641330ccc7233c09e093532c51735883e8d350041ac359874b934a765923441abcc34fb34cd343ddbae3423eea034649ce934e2ae013578585434f9c1bc338b469d344e4fc934e49bee33fb036833a75eaf3387a1b133de3b3f340d4d3334f0f91535c197783732e32d38cfb9fe3c61ad783f5a123b3500000000c454b233ab65713f8f5992387ad27833db1e14349a593e3f31ab583d5a7b88355aafb7354f8e003fa885a33d7fd4be340a3cdb34d9ec973e545c123e96d4e33452ec8736d04b213eaa75173e9765c633cc03473789a2e63d0f199a3d98fd0733bbdb1a3706a67b3db01f3a3dce5f8c354c8be33776bfd038027289390000000000000000000000000000000000000000000000000000000000000000318a2435d4722635517d3935e44142355dd903358ae02d3514a08035b2d78c351eba93320e3b7e322f446e32cff356323044b4342165cf34b4e60035d520fd34e4109a3247bbab33286c8834b9109f34be0bf1334cf7c3334710ba3307369e330000000000000000000000000000000000000000000000000000803f0000000000000000000000000eb95d3f753a363d8dae4a3500008635acdd323f7788883dac648e35e82f91358c3ce93e4c12133e53a25d32502ad5325d508f3eb9462d3e5ca209354ed0a936d466243e2032203eda319934f5589734b801dc3dbef8983d62b61133808e2e33de3ef93c73ea263d0000000000000000000000000000000000000000000000000000000000000000bb693036335b25366e10de360692413727f01d36046a9035efae713780a00438215e5d37749ca5364e91e4377b4e17389243a636c5e63d368b8ea63782a5f2371793db360b95af3630b98637b8b3ef372b756e37e276d73654a5ea37418017383a259e3764d57b374371a237f7a6a03700000000000000000000000000000000000000000000803f000000000000000065a4313657f17f3fd354ab371dfa4137cd3819379d6a543fa3f48a38a082cc375c8ec73768df293fba5a4038c0bf1138c1489637e456fc3e04d21d38da0dd1372e3e4a37303aa53e15945b3864c69d37d946b637a2911e3e488a43381385d63775a7673743bc63388e9ed3371e2a8637000000000000000000000000000000008314333557c62835eb5e5237a5e9f8378c7d113578fb023562fe17359029ca365969d03599189935a18ea236c29abc37bb354035ae932f35ba69a836b04d8b37b254083717d62b362c645437f7a8b4377206bc3686a2233647c4a9370b2e1438cbbeaa367aec1136eed8113711444537b7281f373683a8363b6a2b37d23c61370fa58a372f6f4537727a76377b938e373d832b35df267f3f237b4b3b340b8c371e610d357717783f749bf73c076119353630d73514dd4c3fbebbc23c2d25a137f28d3635f528243f4df7a23c21b92e37a8a80f37dea0f43ef7d07f3cdd69873775d82e379711a23e05868438d2e9f237444a463673ca1e3e24676638c8583037595d54363b95f53764facb37929c46374428e436e85966375d34b13705f79b373525d53646a1bc36a2f49b373632cb37a6268936692c843682958d369e2c91374a1433361a332736a63a46366bac5937e3c6a136b86796361ec6d53624961738648108370d86023708fb0a37b8708b37d05d86365156733675da8b3627bd2b37e7712c371cf13a3645648c37f7f1f0373daaab36844fa9365839aa36d7d323376e869837ca856137194b9f3775eacc372a70ae360040543fd9be2e3efcce50373c188536e1ec4d3fafde393ef90e0137b92e2d36e873293fbce92f3e81c0513675e799368e320c3f8eea0e3e1621ce37e1720637acfbcc3e92eecf3d099844374d8977363b80853e92455d3df3ebc836d3243b3677c30a3ec8da873c525fb53729cda93628b5c43717b8253883c5ab36d867a936bbf0b4376ee40838a164c73768cf3937c04f3537e187ed3795320738accae136b978c6366f77033763ee1e3873fc6636077583351ee204378f4509387118c7369231bd36da08ca36bb96b737d0608137435220376ac0b337a49639384588c337eb0c79363e46053865e36c38d4421137d5dea83693933c370740f0372f92b137303e88378b89ac371ebbf2373966713799ad0f378c946c37f8a8a13788933137797c293f71ddac3ee84d8137764fc736bcc4243f9c86b13e41f1f236db278635bdb20c3f0b0b9e3e515d763753d6c33616c4dd3e1c1b7f3e1d925d3723442e37baf4a13eea283d3e0df7f337708b703719b44c3e469ef13d941636381002ac362a2bb83d4b285e3db2d35737dfe25f3793ad313848736c38946faa37ed5ad736d74a8e37affcec376e319337df10a336e6f583367ff802386e372038c9d09e3588ff98359e989e3597d254376855e0361957753611723e378dfafa37243ee336e46f8b3582c215374d720a381c025935c509583580815735f1db8d37257f813731c8ac3654b28437468b2338dd08c637e9886d37a430c537eb8a3038aa731837cb7aa7358e76013726188437aba4f837a3058e3742bfd437d9331838bedd37358180fc3e1dac013fc58c9c36926a9e350f55f73e4c44043f17b29e3580caa8367c4ccf3eadd2e23ebff892370450c735b06aa23e4814ba3e28389c3703035b3512bf6e3eed8f883e6faa5835365f1537f0a90b3ecb3a3b3e7fa4b63777678237c573623df6d0c53dfb35d2379df6a935df94ae377aab82382b2010379810bf360607f937e2f95b381919e4377ce4fc366deac13645df9537d921ba371e39303730e5c2368f5e49372c57be37e092a5364cff9b36a427a236e8cea337a5c9ae379d3a7b36554283373bf55b38bb10a837603c323726708a374165313899b53d371e42ca36db80eb361c7ac6372afbe337a4a03737b117a737c17c2d38c7e2d837d1683e376f3c8b37a6a14538583dda37c9e4b0371969d2375292fe37c48daf361448a63e2ec72c3f1c59a136cb85c4361864a23e92c32e3fe0eb1537dc979f368f26883e6ffe163fcbe9aa36bda7443707784f3ee55ef53e19280b381cdd6f37fb1f113e08d4b63e3415df3798fbcb36004d943d0e1c7b3e9ab66c37d70c4c375ec1063cdb8a083ef2bfb1374ffe2537d91a663810a01b3cd0be8037237c893791dcd83752212638fb89d93794bd833717f641370e22af3724bede37b1b3a536e93fa43621ada2364fdaaa36d90cc6361016363653973236303bbe37a5a791363d5e7b36730b79361c8d05371fea10377dca0837b5d40737b1c87e3781ddb73757c8a636264fd336de091638bffe0e37589b4d36ad2551360aa79f377a1b9837a18514371e045437370db9378796af379e656d3704fe9137c81ac337866e69378d9e1f3ee404583ff9fd91368c82a636252c1d3e82aa583fe67fa336e96c3c3602df0f3e5411353ff2ce1137439c8636b180bb3d08f2173f1756893616f60a378b387f3d0e1cdf3e13c314370fcd4b37996f153c61639b3e395ec337a98653368a180c3862282a3e791a5036f5db0537bf3abf37b486643c418c5337f9bc313789179f378e950738096a963793258137d5852f37f11b4137b82cba37bd058d3602dd5c3556855c35a2ee3337ab6ca6360e580c36fd17fb3599642d371e5e8f37aef33136d2ea233627fae337b49263370c2d1b371837f3367cd78e37570c12375d2f82369ad1b135cb1f3f37cecb8c37dc10f936d023c036f3e3be37e07f423694a21c35305a1d3567604d371a42b537db951237199b5b3747d5de37acba8037d4ee4d38eaf37f3fd001ea36bcb29236801afb3794f57f3fbef2063672889736c3262a38eb42583fbf38df367d78803732a34938f4e52e3f34b6f1379ebf573774291038b4a2013f3b8982374681ed36b22207384071ad3e89a51f37586c43379399d9376dfe333e8e71ac3768b92035a3d4f1366733143ae27f1935ba1b9e36529b6937c3b431383c153a3700000000000000000000000000000000e0362d37e52f9936e70d6a3667ac9c37b7838037efada236ce0d60366b72e637a31b14378c5dbd36bdc99336d246ba379c05aa37a189e336212453362a1dd937529604384e49c237975c9d372f7c1538ac91b73713c04237c4cf4637d4d50d383a146037f4e928371e3a30374e5488370000000000000000000000000000000000000000000000000000803f000000008b902037c3698e376af37f3f58caac377db12a37135703387147583f61253c387835f736abf7c3376b4f2d3f9f63513896a78b376881d3372cc1013f6a531c38f76af4370e0b1338050eac3e51fb303824b89e376cf7c5374c0c2e3ec7114c38b37936379094303742fe7a38041873370000000000000000000000000000000000000000000000000000000000000000907fc636f31be93644b8f83733911938710ffb35bf2c0436898e97377017d137a7979b357d4e9c3643ef393854996f38230be236c85ee73616c13d38b4af56395612cb36383ef7361285e8378a4926386eecbf36c1d742375b07f337bfc90238f7bf64374136a23788ef3138f8333b3800000000000000000000000000000000000000000000803f0000000000000000bfd3c237d01e713fc2e2303a974815380a8f48377e784a3fdb10303a5a26c03727dff33712cf243fbb2fba39eb6256385a430c3848d4fc3efc9d683af2eba9385998b3373d32ae3eabf743399d250d381e1eb837d098473ea42933389d59e93710cef537f2aa323daff9ff39214a243800000000000000000000000000000000dcca0f35df631135b55ad2372dcef037d681a636884cbf3683f82b37eac7b03711205b3694b35f3616282c3734f4fc37693f1e36041b8236b996de37b0111c38a3be8036b10086369d0ebe37840d0238a0c4c036b9c5d336bf2faa3714ce1b388964d236a916da3614d31738acd93f38d1f76a3618a55e36aa1d8c37b657c03762c42d376cdc10373aa1aa374411ed371c0b4d37d3646f3fd648843d9158bb37e2dbdc365a1c5c3fe1cda03d42adab374a73cf363743393f59289a3d5cd8f637ea33773775e4163f08c78a3d266b1e3806cd7337b5bee93eeffd723d80f60a38f0194537518da23e72930f3dad91d53859f7ba377b8b3f3e3317993c4f804438ec745d361459383d6941303a972bc737f18af6364b13e3372f4c2a384f75133820bd0936f5b50736fba5ed37780003386b33773610911b3781ddb137331400387df85e36e091683623bbdc3634c8b937a2521b35e04e9435040e5e3762d91f3897470336008b3936c55226373385c9377f3b0c3623fb0d364a528c37815d0f38f91e7136d52969364d5b0738593b39386bd1e936a0ddc0363468c137668b0b38d3e541376d7709370c699b378c90d43703f90537729e493ff148593e30f4b037969d7837f61d3a3f48a75a3eaafff2375234733694381c3fe7514c3e4908d2378fa45636e053003fed212b3ef6152b383109c4369c07c43efac3083ed96dfc379cbc9536e364843eda60b83dc9ef92385a6d7f37f0881a3e5567543dfa463f384e01ba36f96fe23c44991f3c2b3a183843c0d336cc63bc37749c193891f30438bdbb093780fd473771cc0a382bb41138f1b89835c9539b3501d41d3702fac437050e5735d1d8633513d9cd3567c09b385b7ae0339d65ea3381f4dc365ff61838445a03364017ff35257b2a37a8a5c83729b39b351e88953598d77b37c7600238a70bf334c066d03490208b375b3c033851c30137e7e6c6360e2134373515cb37a39a13377458b83626ea4c375fc69f3793e088374426243fb082b73ebce4cf37e9e59c350fb6173fdf4cb43e373c90378c2681357e45003f9dee9f3ea5827f38b957fe33ec47cd3e4ff4843e20772e38dad1ac36e3c29a3e03ce4d3efd59d93732f40836b22a4e3e55eb143ea9b80c38f93ed134d14bc03d3ba9bb3d6b7904381173bd366b0f273cd52dfc3c419bee376a38ad3636ec7b3765d09a38cfd51638899e2a364efde836be241c3870bb3b38d10bfc368fb7ff36057f043857f90a39964294363de295367cb2dd37977f003ab86bc436ede0d3365f966c37f6d9b937195c1837d9a02637da800738eafb613858cd4037e0603537c9a88437ff1cc737041e9637e585723738560938eeaff939c306ee37dbdabf3708e60f3801543038f43f9337eb716b3705b2993746a8e1370d1e47371633fd3e3f4b013fbaaaa137865053377746eb3ec176fc3efbff25389cb43437bbfac23e225dd83e85e7e239f5f0323717489b3eefbfb43e9329d5379e20a5373fc86b3e5b058a3e112e703839005c37574a123efd7b4d3e055bd43776b4bf371351923d595ffc3d694af139afafd137d12c3738851b403df316d638ae6b4c3722089e3775148638e2493a388542b136f607ae368a8cff37a4e15038d7dc6b36d1076a36516fe836af0bea3716044134b9b079345a8561368628f4374b079335d6048e3567fd293780e900385a789e3653337036e4410f37d21cca374d720d3400e21a344fe43237a49d2b3891cca4351d859d35c16310379e254b398781ec36984c71362c661a378eacb8372f14c2370c2f87375760b53756bcf837d69a0f37ee53b23e61c7263fd24f8637fcc46c367811a63eb76d223f627bb737bfdbaa349e82883efc340c3fedd60f38a6559135fd65503e5714e63e002e10390b8fda365035183e021eb23ef12a1939dc116d36c709ad3d6c4e823eaf512639bef8b9352a18e13c5339223e878a9039cbf0593690df9b371e7f613dd700dd37e15380376120b8379e4956383c5c1638b30f7c36d46b16372d7a00386e0f103887f9433562ab3e3577d38337a2971c38e8705536a7ac4936af24ae372575bc38336f28365c73153610be4237491be3385ea9fe363cd8db3638061d37e87de0374096633760601637833c793750d22538a58910378c5d8436fd99413718d4d037a506d037d1bbb33741e4bb37436c01389ceda23789bd0e3744dd7c373f45db374b2a95376d6c4e3e644c4c3fd2eed737abed4c3666ae413e2cf6453f13641d38c7404937c5021d3ea5b1243f1fb7a13969abf9361062dc3d70020b3f4656023ac4780e373f42783df865d83e6d507539de726937818eca3c82e89c3e590e3839b7a6f536fb98de373b9c423e5ce4f737ce47b23799bae0379684723d8450113812d2f636e7467437f5102b3834730b38eb541137c4a60637bd7c0038ab82223896be54365dca49366e195d365025e237850ed03606a9bd36c5929f371b023e38894e16376c5cfc3604b7483726175638017472372ddc2537a6178b37a62c03386cdf94372b331e37a8f29637df981638c3cc2a37c879033715530837599ae537023a8037fd79003766e21c371b5fac37363db337c3007137ec0b7f37c7e2c3375387a3371ac65d3d6d12723f766d12382e795a36f9b2543de3e0663f23bec23997449837c6eab73c2155453f85a05b3a34ce6837e5ca263cd4e8203f9b1b0a3c133f9c377e63093867c7f73e43962838d8a1a0379c0512385a62af3ed8e5853813ca0a37437d9b3740994d3e09a7fd38f4b0fe3679ce5c37381d7b3d48169439367d5737a1295f37ba31113806fa0238000000000000000000000000000000008141d236a242cf36e69a4f377b2f3038e643bc36add0ae363937f6360c0ce6370fadfe36ab2dc83615f42f37c60ef43756f47237d6f000371dcc883760e84338b5bb8537f5830137fa75623770cf4638eca82337a2871036271bb93640deab374c1a0138744db0370544cc3783400e380000000000000000000000000000000000000000000000000000803f00000000b1aef0368dc60f38a749723fcb28173cdf011e377ba4d33773894b3f045a1f3c965653375ad2da373aa8263f9ecb093cc6009937b0931738b2f6003fae0c873aac3d823746eafb37d3dcb53eb784a8394b33cd369c585a374cc4543e26c2f43906a6c837bcf4de377d8b683d138ae83900000000000000000000000000000000000000000000000000000000000000000ee8a037576ad738ff6af23997c60e3ac9acb037722221385415a23928ebc7397b509038a8aaad395e01283a857a363a8a646a38d4a57c38be216c39b44e9739ff981f38bf405c389207a239500ff339ff7c9238df14533929d7db39271cf839923f093835dd0c39df8ec0393159de3900000000000000000000000000000000000000000000803f00000000000000004796d539053d613fac9a8e3abec70b3adb6c89395a07413fd8fc393a3860d5398749183ad98e1f3f2554863abb2c3b3a3a58153961f4fe3ebdad243a94f5a5393eb6ea38535abd3e93ce8f3af8781b3a97e0a9398de6773e2c34203a7279023aaee968392dc9ea3d1724813a0033093a00000000000000000000000000000000e75e0d38abd39e39be64113a026a103a20c3df3704772938397d16397e3a7c3972ca2b37e473bb37a5c83d3989aea83915962038b1ec3f3882f8eb39ca874f3a03cfac370926ca37bfc6333a4dd7723af0bc0a389c811b381339473af921893a382ac537d3d42a38c9e6db395dd80a3aa5120238da442939a753013a07831e3a32a98037a1f91a3839658739c9b4d539c39aff3993a4603f8482ef3d87bb003a49915238855c473f5d62e53d5107953965155a3835782b3f501bd23daa79dd3957f882390b3e0b3ff5d9963decd9a73aefa6ce393d18e03ed1e8803dd62c913a863cd439dcaba53ec1b3403d21f0b73a5c9c763933665a3ee4fcfc3c68411d3a2d7596399344d73dbc0c5c3a0f5b3b3a198cae380ea1ca39cdc4483a2d96253a4bcf3b380ef9a339fc66153ad505193ae4b34737b1b6ce379d6ec939d6e9f73902d71437d15b7e37a5ced439162a3f3a64986137e565af37718d2139f90ea63925d7a638c87aaa393c6f363acc02783a1ba60a38d7c91e3881684539684b2b3a0b5bc6377e390038191b1c3982bec63966ed1338a9e72638466e6939d748c139eea723397a5a5939dbfbc239843af3394839ee3971fc3f3f43ab793e30f80e3a584655394aa62b3fa066693ed03c033aeabda6389ee8103f8074423e23d9703aa674f5374afef03e292d243e4995213afbde0f3aef81be3ee140003e60e49c3ab507323814628d3eb7c2c03d8e2e823aaadd1738d4b0393ed5067e3d1f88163ab03834388875ac3d7b0def3cb58e3d3ae7446a392323dd3940751d3a28fa143a0fda0738a5f3b138a7cb373a3bff343a3bf4c3370a8ab9381a58693ac27b9a3946d41937bc58ac376bf60f3906b1d539e9a142371038b937927e95390454e53981af03385ad011389d437739aca8cb393ca66a37d0a1863774f4d038cdc2e73929d5063894a81338d6a593397cae163ac494013974505a39762a043a0c82223af6834439bbd86339c228cb394499ff392864b339229f1f3fc923be3eb3bc0c3a323e9939df790d3f737daa3e3b7f9f39eb4af73771a2f13eba7e923eb6c23a3aee14ab38ffabc73ecda8733ea44d353a1d155738858b9e3e5b79423ec7dc0e3a4a7eb0374fc36a3e88fd113ec210523af3945e387066173e3089be3d2adc9f3a574293395f938b3d9080373da2ac3f3ab3c077392b73db390a15263a1c801b3aed51c038affaac399d291f3a27cf203a4703df377d55f837b15ffc393c5d183ab2d42239a2eaed395be9663a6c02863a5f0eaf371c770538b733083966be313ae6a0a4388a00ea383798dc39d4640c3a91c5bb37ba100138b4167238295f043aaafa013aff66163a0b49593a5ea17f3ab6a0ec38fa001439052ac63901d2013ab8537439537b8439c570db3950cb073ab163f239c30efe3eefd2fe3e408b123ace858b391a1ae13e1872e33e7cc13b3a40393d3a3e88bf3e3a53c23e4f418e3a44fc463802ab9e3e1d90a23ed6fc7c3a72df923935ff7b3e22f3803e3d22213ad6323638b7ed373ea9f9413e4cc9843a0fa7333acaeae73d2b4cfe3dab598d3a2b764d397dc2503d4d92793dc7034a3a363693393e9ee23970b02d3abd1a283a3ba425380ce98539257b143a6e5c193a4421783784f7da38645e243a70f93f3a6c40e437283908389880a539a5b6663a45d87437da6c893790c3a738c4fb013ada4f0938406f1338b4463e39f714c239f3dc8d375886dd3762677039a610d739c432b637fb4ecb378e00ae380a6e77390774fe373165fd3772ebba38b2226b39e7dd1238bafc13385a3786395a03eb39c8fdcd39e253bd3e38eb1f3f6b150f3af7b6c639036aa73eb6140e3f0660473aba32dc3840ab8e3e866ef33e9e8db83a1e94d73702e6693e7a2ccb3ed684783a9aab1d3891173a3efacfa13e1bb1303adf9d4438dccc073e290e723e96a7583a8932f437f130a83d8af1203e9f9d623a30950438dfff0e3d2f4a9d3da886bf392de635381e177539e008723ab880583ac0ec8538f9317539b5780b3ac98b173a21f40138e78f1f38f29aa4390cf82a3a18838c377852cf379ef0ca38166cfe39ceab1538ad082438c1c91239d296363aab876d39d360ab397864263aecca6a3ab129b437204bc337b31b8e38f2489e39eef4a73705f5ab3783a0b73926d3233ae3405e395efd2b39f91ab139eac3e2394b94d439b90bbd39be7dee39ac810b3ad309c539d69e793e6b3b403f8fcd113a878bbd388caf5d3e85a32a3f2e2f793abf140f383e1c3c3ecffc113fda79543ac5c837380af8193eb649f33e8105ae3a33c3023af5aff03d2430c13e6468ba3a73fbdc373fb3aa3d4805913e579a4e3ad1965738f014573d00b23f3e8c6b893a5e115d3996acb3396c1cc83d733d0d3a2989c139bb03e1395691263a7263213ae48b7037d3ecac37ce95f6393c132e3a886dec378dd204383022023a53bf333a43b9ab37906de637fd05a039d95c0f3a9f1b0b3869581338092a293a3733993a1cfcc0379c96c737617bfa396ac9643aaa6d603835b29b383bd4bd398bf1443a526c0b3865c90f38973b2739a4b19b39de233938e73232384c999d381b104739f215ae392c788c393d55ba39d2faed3947135139336df03de1bc603ff3934c3ac6dba0390f49de3d92e8473ff02f5e3ace5a2539fe80b23d2e3b2a3f3f794f3aae27ce39c5ff8c3d0b790d3feeadf63af6dc8939dd7e593d4156e13e0f0dab3a867c6b39a667f63c38b4a53e8e32c83cb0f99d38a0d6663922c0663ee215e939c9e239388b076a38aa6bdc3d06c2b939f95b88398b1f9e394cc5153a9a15193a000000000000000000000000000000006501d63723570038b2268e398045ec3921cd3b38b1c948382c099439424ef0394ac83d3839c04b38caa1863837a1c239fc9373380cb578383bc79b3885597139cb5c8c39df429c39fb91f1396726223a878f8d38daad5938e59334390c6da03926a44439b84e0f393f2e67391f1cb3390000000000000000000000000000000000000000000000000000803f00000000374a253987a9ea398743613f1276ac3aa5d96139a807e739e5cc403f6a0b2a3a394c7c38eecea239af1f203f1f98943a0167823839e24939cc80ff3e401e1b3ad5a6d2397a57123aea0abd3ec163543a2bfcfb389d976c39063f783ea1cbf839eb65293924c95739d3b4eb3d928c353a0000000000000000000000000000000000000000000000000000000000000000dd398235a71c4a3566141f367786543729df59352dc35b35d595193643cf2e37f57f5837658c403737239937024a3138ecd1f8356c8ecb35ec67103748a08a3736189736814b923660911637b36869374edc6537bbc88b37a8f40738c085163856c85037809b3037ddc9893738e2693700000000000000000000000000000000000000000000803f000000000000000001bcd935f5b87d3f71696038380bb5373aad5b355b195e3fdf3d443842f0b437fc2395375e952d3fa3b9a838c8094738af8b0c37009efb3e8d1e9038560383377ea11437122b9c3e20840f38c6972937833a38386283f03d90c89538adaec937cd3a6e37be6d9e3854c5323860dc0237000000000000000000000000000000005fa0963588f8973522c3a3372ac01838fbdd9435b1e09a354e21af3544f69c379d2acf357cafb935660e1036ad0ca536e81897341e3e9a3445b69a3488351538ad0d2536ae420636672986368d308837d601f3359b9ede356f5e833775b8093833c454356d594235bf15c337752ff437c62816376445b036c5d69f3702e7c8376004fe35d91ade352286813694411937ef2c9a35bda57f3f6d94a33a77a51038fea19d35977c743f1d8cb13c2541ee370607e735172a573f5166183bb50ad2379b6a9d343211273fd35be13a69114d3880c558360103f03ed671ba3a806bab37325066362029913e12b0423a559a0c3865775a37ff51c63d556dbc3884ffc737be63ac36846e7f380dbd8338311dbf37ce419e3510b40e373afdf0373a357737885e1c34a6255b346995483748eebe3729afdb352fb0c935855818361a938b372784bc356f05a335f84c0336478c78363b9a2836eecf1e363e125036231c1938e269ea331e7f05349bd01a37f3a6e3370449d235eb79c4351b5ee835a205d33762a482362b148136ed7fe53788ae1d38d8917637313507373e4cc7379ac305384470e6357ac75e35abf32336ece73d3704f24a3457d25e3f4a78043e599f8d37b446cf357ec6563f3cc9223e27178a3708f0c335a7cd313f9ba31b3e48fd8137e67d23362dfa0a3f8f45093ed8535a38c263083494ebc73ea488e23dbe44fc37000ecc3516f26b3e21999d3da9da0738ac8fcb36c6acae3de6a8163d00b023380220b134a1104f388935d9394f2c103814ced5343859d436f0ec9f38e162bd37d6e3e335d54ef235baf4ae368399a836b453b13572afa23521f21137f2b3c1375ecd59365b53543692737036db997f3630d14536ded24b36774c6c36d970843649970436eb3a033633fe1a36723e16377b32c9369f85bb363d1ad837b00c4938700f5a36b3d76036b754bd361b838a373d336a36172d6e36b72c823615041237c3637c3423cb6834bc33ab340b04a2344402e33571742e3f3d17a33efcd14a361ed5a035f7c4263f2e97b13e4dd26f3700f66036268b0b3fea67a43e85a727370d374f365e96d53ebb458b3ed16a87364a300436a445943efe0a543e6ab0f836f3cdf63683d8253e04f3123e005d3c3832c256363dfc223da016993d0f58d1360e5f6036781dd5376e4f9d39e63dc83693136434af65e234543fcd37bf4e84346b5c0e356168fc3486050e38d5b7d137a7e39a36ab329c36f7a4af3722f60f38643e1436008111369b208836dd750a37d8e3e2351b5e6235b8af53361a81933746a3883735672437a497a03753130c380132cc3605a79b36742697374a891838eabc5b37da7e0a37507fa9375eacf437b4d31a381d440a38801b40382bed5c3886dcbf361a2d4e36f974813749cebb376f2200358421fb3e2e67023f4766033554e79836bd1eee3eb3cc083f1d9f7f37bef11536a391c63e99b6fa3eac1bdc36aa971736db26923e1e5ecf3e7610aa376fca863712a8523e11a7963e1613fb37ee533437f1f7d03daa8c543ed9ebd337740d03377265883c637dd83d290c733789dbca3734e596389bc1ce396cf22e388971f73447d005386a867c38e8999b3761776734205e7a34a5fb7734236a7734eda45236e01a5736206b5e36817b673628a03a361665383626eb4536b989553669bfc0369570a53605aac0361689a037ca921236ec351436b0a1173691b7a336cfb08e36d27e89363b1e8c36e0b3933678ae4237412d28370406b9371f100438dbc0d7374c01bc37e5910638c24b1d38f3a3a0366b6491366420bb363955c536c1be673433fd9a3ef686323f22586834a2e94c36ebd88d3e7305393f059e413628d540366939663ef929293f60345036b439d9367def203e5088093f86f189373daa13362f69cc3dcfb1ce3e90631036862b89369c82203d472b8b3e88858936981f67377e4eca38cbe9083e0884e9369e599a372f3e683847d1d03a21a0b0370ed547363a589937bbbcc238bbeb8936e3b11e37c9999637f1fc9637d0ac8236b66cbe36beaeb43486e99b3461129936b52b6f36a2f86d3667ac60360ff06f367439c935450dd3353b57be35833dd2357fad90375d2dd236fb847b36855ca7370dfec737805176371e9a8a37ca841a38f39d5e367b42463637368c36cd298337b45c9c37582a6637de2eb7379c9be437e4bfd236d41d9036122a70372115953756548537432fe93dd1d4623f2b954f3482f54837614caf3dbfec693fb3daa833faa87936f30c9a3d507a4d3ff7d46d36cc5bde358909d03c91d82a3f32f1c83565dba437f7dd233c9758fa3efa648937bcd91438aad8e6388452a53e5a27c53793e80a37861484388d151d3e2fd85d3698c356371c913e3816310c3be5e5f636ce5f3c361e3b2d3822ee613814a26b34d0a913376f7ab1365946a7368afdc5360c34a13653789c360612933658139e360aba103568d118359d1a1835ece71735dd652436cfd0e0359d739c35b1556a36d4af71369d7242363a912f3633f58f3606ae5b37e433a23411019f347de9d437afdf4e36aff94e3655fa3f36a2b15637d668a637f0995a374362ab37b575fd375850e13779e9cb375717dc37e40ffc3769f65b374055c438c6fa7f3fdc11a1354c8aa43656866a38faf57f3f1c1c9c36534618359ba44138d327673f58761d355d1d8b36faac6d381137373fb2f3af37ec40a7368e38113801a4073fc1195037b2b1d6372edca7388ce6b03e62970b38fbb58d3606bb7038faea203eadf70c3769fc923768f0453856dabc3c485962374d80b33746772038a58f5338ae99613700000000000000000000000000000000ee13373654a5323694b32736ea734136e29d6d36a1c48c3533c876359e43bb3690039336a0e38736cdbd7d3695399c36f391d636d7841036f35b0436ab0f3437554ac937e4ac9537f246933708192138ea88183769d4bb361bdad93698f2bd37d45784371095203735bd5b371577d6370000000000000000000000000000000000000000000000000000803f000000002037453639ba093729f97f3fb03a7337e316a53693ac96375ae5613fef434138d28a9836c1ee0437bcda313f3435aa375c8fd4363c0c8637262f023fd6fce937f9f5ff370d2b7538abb9a43ec8ec8438dc89363712b216385c5d073e57771938ff29893703912238176d0f3c3019fb3700000000000000000000000000000000000000000000000000000000000000006c03063639c209362a1c143685ffeb36959aa232c11da332e6622934d607dd37fe298435f0da9d359847d435d06d19384ff3373602a23836ee02e4368cd326382cb6be35061cd735bba9ff37fc3e32387050b635116de235e0f5f537658905384b6c87361f4d8636547005386655cc3700000000000000000000000000000000000000000000803f000000000000000034180e367263763fca652b3a35e8f337f765a632ddb8513f39069739886645385863be35db71273ffa978e3af6f13b38a84a3f3613a9fa3e36388d3ac6ce0d3841ecdc37c60da63ec5d2a0388e36dc37f1efe4372739283ed85c0a39bb9b1536cc9bc33728e8503cd5fb8038f1c7633600000000000000000000000000000000704dd235c293df3546bbda364b05f3378fc1063673b60d364bd11736372c83378426453559c0513573716535f2c43637a672df35a746e93540e46a365073f936feb12636f7a02a36298a9b36a219c337a123e935377ef435212c9936db080538623ad435155ed43589b169373564dd37b60ba835e0aaa93534764236192898364c99123613ff273611ff73361f7ba3360d8ae035e464783ffabef13cb31b3138648f1136971e643f6a63493d94f43d38eb315735509d3d3f51af323d7f1a2c38d1242b3681b3153facee353dd7977c37b3972f36a58ddb3e63ad0c3dea94e63744cd0536bd968c3e75db483ce366fa374075d535292ffb3d23b5803a2d33673701b2a835ddfd6f38b5f3b1388df7723609872d3679e19136369dae3771d2ac376412e2359596f335838d1936db036b379f054936b2155f36d90486366d9db736d9e07535d9128535c29e8c35d6908d366318db35f24aeb35e31436362fca9336a0c52a36bcd23336b2f54a36d3705f36d4b35e35edcc6b3562d36f3522e3b436d319833545b28935f1019f35889c8c3700000000ad75d1321ff483344b5bf035000000000000000007677031dbb15e34de3ef5358c52533f6d9e323e80515537f9436f36e1c43d3f0dad563e02b2193751a88835aebb193f27ad4d3e5615b1370c21ef354781eb3e38f5393e83d6273786a14036ff25ac3ecb071c3e83733f37d3306c358ac3473e3fb0f63d96278137f5ee973563f2ae3d662f933dd8a4c537ed638d33f0fe8136b77b143a370f973600000000d249a3338cf60838c5fcea37c1b3453538788735c4e5e337182f2a38ddb88c3548a1943551909f353245a635ea5c793296cd8332266dd13209cc433533e654354733693576f98135c57c763740733936d475413615c84e363bd74c376a602335fa9b1e35f062f935a887ec37154043355e724c3502be5c35e44a1837d85a983649059b3626369c360ca59a36302f0b3618f81036aaaa2336acf5943777f18d355c27283fc285af3eb71fb03705d096351a43153fdac8c43e4b37b735e00c7f32be74eb3e8876b63eeabb853642ae733539a3b03efce5a23e20913e38998c4e36defa743e2b85813efc3ce137dcb1b135265a053e642d403e312f3538bc285535a432f93cf259ed3daa9e40377c19993626d34237c65c143acc77353704fb063632bfd1366d175a3810ca30388dfe4b36239a59376afa1038dc3c1438293207366c0f0b365fa8dc363e7c8f37a5778935fbb58f3514160336838cb637105306364859173694cd293600e30f379df113377f4d33376cd79d3721d92f38b49a3336f4473b3692b73c364a1fd6378500a736ac2ad3368825ce37d9c11b38e10ffd362b1faf36bddb81378aa7f6374137883723266a3785b6b93769e5fc375f678f372319f93e0c6c033f57bfc037672c0b366e79d83e5cc50f3fb8497537b5eb8e355844a73eaad2023f9f70093875f01f36aa546b3e94bbe13e3ef911389e077337c4fe303ed97aa73e6c794f382bef3d36e1a2973ddbb9823e39521438e0498137d7110f3c051f1d3e2e670e38a79ff036184e2338b39b7e3ce5a60538f1f35b37563bd537b1958f38d3c91e3819d20c365c8a2c369c9b1c388d8f093861678036f4368736221a8f367d5c9636a396263591d43e3597bb433577e046351ea40b354a9c2435b1c4a3355be04b375dce463645c44c36285f5036d7c358371d7f8a35ef919135bcaa1636aee6d337387b7933fa02b433e0ebb3343c92a4367b58c0356590bf35ef56c2351aa3bc35ea84163756aeb536cadf95372e330f381e9924379687a23e57b12e3f9c7a143685558b365473843e91ac3d3f2b969436afab4135e565353e39382d3f3212c73562cfa3351d54f13d4e6d103fbd931438fb5a5436db158b3d6b46e13e48e9aa37b427183695b1913cb65ba33eca4d1c38566af0330cf6c937bd343c3e2d2fa3360c48b835886b0437c03c063dcd1fb035b9034436e6bafb375293b03886a24638f67ff134149f1635cde1e4374a4ed43600000000d925113321e39c33178c3434968385351ff3883527b584353ab89835129a6335b6b86835c7d8723505cb7a36d00d6636b804683660ce5f36cf6361361aa771366fdd6836ecf48136eae29e3626579b351a189c35dd47a035810263372344ca36dab7ac3651b7f9363dfe3e3797754836e48943366d188c3635d1823733baff36cf32193e66ac593f0000000012aa2b34d8aaae3d8d0a6a3f4134a533ca7e943516a2613d64a3493f77d4423727596e353e401738c6382f3f15c8d536db246b36de12ce37dff2023f1c81d5362c2c8a369adee937ef8ab73ea914f03650b49f3571a0fd37e3554b3ec28897373024c53628bf9d376c8c493de3b50237a7d73c3679a94e377a923c387783853738969c366afbc6365be9833785cf8337fd80a9350776aa3592faa435ac52a4359922be359feec535431dc535fa42cb35e872d435ceb3e335e522e6358b886d363a3835366ddb333628c4313660b6e636fb7782362b3a7836706d8636b2e2b136a9cf923502198c359cde8b35f4e6413761f35f375c07cf36845ba637dcba1138ad59523710e6123772848537060af5375a0667377380a63945e97f3f6aeb83364749a9356954a33746fb7f3f0d4756361945c7353d9f05376f56603fb43f11389a72f735fb20bc37a991363ff352673895643536a27e9d37246f093f61442e382e2a9636f7a2ff36e8d9bd3e9cf6ca37d0a08d35f0a4163840db5c3e50481f38263b6137ff9d33382248743d0abaf4374e3211378d1f07389c59a238ccae07380000000000000000000000000000000030a82c36a4d531363a38393687945e36741b3e3541e54d3583d1533554a28735b64f6c352d1e5f3572858535953fe93677f13a36e6b83b363e7839367b3cd836ca14e5352d10e43521edde359736b837b1a0dd359bd51835646aef35ee20b33746cf293669292836c1962436596299370000000000000000000000000000000000000000000000000000803f00000000c7843f3657dc533614b97c3f69c76338d1026935c7e884353ae7553fd65d9b385971a435095eaf3684e92c3f17cc993857e03d36d967a936ab61023fc83a88397585e93547e6cf37a476b03e134e9438fcd81c36c377fa37c3bc383ee2afaa38a96628361f08a7372450173d3a6401380000000000000000000000000000000000000000000000000000000000000000907235362c585f366f0edf369e183e384d01253677807336a8fca236c5c2f73719f29c3608cbb536f99e0138b5fb5a389607b336287bbb36d1061938adca5538a2416136da736936a065c137b0a807389bf99336a502b337d8e558384a2a6b38b7612f37cf309e3755a5e138a3f0b83700000000000000000000000000000000000000000000803f0000000000000000ac367b36c0e1683f5b8e923c7bac6d3a8e6294366e8f443f43c8623c6f9105395521a3376d641e3f5e97ac3c02bd7c38fe35d43740b9f93e779e363bc0935a387dce8a373f8cb03eb7ce883a606ada371ec53e387d42543e00e71b3a8cb527384187e037daed813db9622b3aeff8503600000000000000000000000000000000bb8cb2362661e8363a8de73724954e38a2cf1536faed3636d8ac673618f9b937ecb163353e6a88354c4cba359ed0053833355f368936803625e89236bbedcd37a7b2b6363541c5360904d436fe5890375deb663679537a36ff248e37b9e8433803ed2c36a819403610388e36019703387c8a2d36d33b3e3648277f377992f137ad4416369e113236539c713610668f36ec3501379b3a6c3fe3e39b3d7c5487389e7c4f36bbc94f3f7b00c03d97610f3c57119a354e1c2e3f97fcc13dd5e5f3392a698c365a800b3f2589b63d651560381bbacf36cbb3d53ee9b69d3dd7f1053851e1853693ee933ea1a46f3de131863816d950360a332f3e81ba083d159d57380833ec366353d13c57fdf33c7c240438deda4a3608628a368d67cf372a4d1438dfb56d36f21ea33619112e37d8d2e13771476a3578d2d835b5664436d34c2d370141243664934136cbb361367d122138a7098d3610deb2368339d636f98506381deca536a4a4bd36db92da360ddb15381cfd843610f98b36fec5ac3605aa883777ddb036e2f2b536233ebd370e6d5638fd9ae436b577ee369e792e378c4c0b3800258b367beea236c2b70a3760fd1238f657b3365136463f08a95b3ea16f2c38d2f81636275b2e3f9a126d3ef08f733835ab5536cd5e103f1438583ebe0a223a5ba7ca367435e73e6b513d3ebf75ca396015cf3638c6b03ee07c183e1c950b3ac04aa236eda36c3e38b5e43d560f053ad6e4b936a0340f3efbee8d3dbafd9438689fef36e2f3ac3c933fc43cdb343a382e73ad36bc99d6371463bb3878e5c5397acb0036458a213637fabe37031d1338fc4392362616c33601c7f13643c349372c888c3667cbb4361a580037d0771e38acc69e3683d6ae36eacce23665ad3b38e2ebb5369583c436e7db2b3746c4233818062f36fe7641360f21ea37c75e52389b23623619ea723672515537913d0538494ed8362704cf37a2ea55383cdc7a383034a636173c0337cc837d379219d4376f09cb3691e3213f5afebb3e6df519386d2cd8363d200c3fdddbbe3eed809e39ef7ccb361bb8e53e7605a93ed5690d3ae954ba36e235b73e69f78f3e197c733a61ddcb3618ff8b3e7e82643e9c376e38c4673037b08a3a3ee3a92b3e46c57e3852248136bde0cc3de39bdd3d3fc51838edd517381763443c8802403d39ab6a38aec02e371404b537a96c3138afc42938ef8cf03626868f37b2a46738e367843864e451360e6a863672c3ac36d243673728d7d635e6e102363fcaaa360d4309385abc8736f3629536dd256f37d8854338ffecb3360378bc36f012113741a52c38df95a036b517a736ab3f0d387abe603868576436b366f136932c0c38c9893a382acad736d4d9db369393a137bec516380c040a3792bea0378fe62a38f6446838a98e0f385671fa3ea0af023f6e35713865829836c8d2d43e9411043f1e83583801e91136935daf3e47d9e13ed7763a3987b09f3695c4893ec84dc13e01dd8a38b485c1366320583ecee4933edf2b7838f34c95378c27053e147f643e43fc7a381018bd372a89963dfb16123e690d4a38990f2d372c815a3885a78b3de7b70d3865cade3787e0583851a8af3806d99038ceb3ae3667fe7537dd500c3877ee1a3848b011348369b134716e5e3730533c3887484b3644885c36f58e6d361c8eb037c96a453615bb533619ea7737df073f38c2f7cd365747d536d2afa3370a8132386de8cd36d275cf36fe33d237b6475f38b34d1737716c40379bf32038ad2c5d38bfae253795083e37f39fd1372cf400382ef3a236311bee36c9bab4370d820a387dbda937aa48b03e53cc273fae1fe637955c12354143913e903d283f39d98a383124683699e6653e1e26113fe60a63396a095d36e1bf333e80f0f23e6d2b89385f21d8361715063ef399be3e93786038fda34937f63ca43db20b8f3e2b3ee839be61d93749db213d9a6b393ec9095838b3f79437158bbb397b24a23d8943b9378200203795040038257a80399ae730381663e036c1f1013829b682380d948138aa999d36a4c2bb3622aad7365b939f37881ea5364871ac364d207c37c5514938ea388c365df4a4362c0abb36dc3b81373b4fca3651ded9361a0b7d376cd826382484e436fa7bf03666cce137204841386a7198364e309b3680d310388e5b7438b828be36a09b6237c932073834291e38cf0400375d9c1437d6bd9c374303fc37c45f4c384fa14d3e40674c3fbf692638ce74c83656d11e3ed3ba4c3f210360386fa2b1369c9d033e2d6d293f5b1aa239ccd2b7369500b23df5bb113faab7203a38ede43627798a3d69fcdf3e28162739b70d8837bff90a3d557ca83e10107038ce0fb237f9887c3c91af553e85ff77385087c737b8d84a38b4a2b23dfdb6ee37dda63937aef5ea37b3d6343c4ff06d38197dac36925bb53653c2f737fe2dec37a0be0136592e093689001b36a2b599377e732b36a2e13b36ea3d4a362873d637fdc77736d4f883360d88673798c645386507d8360507df365b68e036c250a937f8349d366f58a036c39952373098143844a80e36da3c6e37bee41e38a85b5e38445a083807de1538d8524738db5c4c38ada45c3869815738936470381be47a380265b8379a0e5a3d065a723fd88592361e921636dff55d3ce6546e3f11ba5638e8af4a36c962573a25554b3f0513cb39f18ac336dc197138a0fe263f19f295385baee33699d6d3374a67013f0fbf1c38a710a536c6e93b38884ebb3ebb0e4b3830800638284b7f38dff3653eff075d380f66303858ca7638bf60af3d37f03b3896bc5c38c6d77638fb193e3abc0d6a3800000000000000000000000000000000fd4d883533d3923555bce335d27b4436ddeb3e36323947360993563664e5f2370cd14d36432a583683c6653630a48d37e51fc036f58dc13669b45537d23326387113c436661ffb364cc8de37ee7d4d38f886c43661c5c5366951ae373b6c193835781338b3ae27387018673877f4ac380000000000000000000000000000000000000000000000000000803f000000005d1ab735b4e731361e376f3f6581aa3a81ee5236ab21bf37ba7c4a3ffd12843a7c0463368a7c6f37f930273f81826e3a0b9fc436c23622388f0e023fa642a23a47e8ac37915c4a38ddddb33ed99c0e3cd87a8737fcb92038c72e5f3e7f21de38d99e50389297ee383260913d7d2937390000000000000000000000000000000000000000000000000000000000000000ece8a6356994c235f5f70b36c65119360000000000000000f27803345fe379374c91213643e32536b1f45e3660fe6c36a25fdc359190f9357193623776a2d737000000000000000097e264377e56d036abcd4836b7e57036a6ee28380a2f253842acb3369a252d378204ad37471f9f3700000000000000000000000000000000000000000000803f00000000000000009df1cf3558657a3f74e9213831460a360000000016d55e3fa4c94f3841e7c337a436413616402f3f8c5bfe37b6d46f36dd64873747e0fe3e8ea16a38d6daa937af9a1d37e71c9d3e60ca3838e7f23036329afa3711aeef3dff1d8d3826eba0370d8e89377f7e443cc15445380c971337000000000000000000000000000000008bc0c7335c67ca3307e2c8338dcbc2373b5c113399326a3379519b3300113937b28d9b32d330ac333375f433ccf06f34152b1834495e173429dd0b3482750b34aeac1f3296039e325aa11a32a0b3ca37fe9c443487a8b23469571233c99704376116353403dd2a348d889f37384aed37d252073603ebb53466edd63749210838d884e133b459fd33473d1434e72d59345633c53365047c3f54af883cf898b237aaee04335bc5693ff7d6183dd7218d3748ea8032397b503f7f92923cae3d87367de646347485233ff9a3d73b3e200a368f131e32e8f6eb3e5bf4cc3991f5f7376cbe14345e988f3ecb0fc139e9af0d370688283723aae93d58d0bc39baaec137efe5aa34cabf2e392ae0e938b26326384472f333e0671834521b2b37c0943d3420fa8e35bf7f8135916ab536ebf4cc36b9c813366f0b2436bca82e36848da537fcc15033bbdd21330d271e33c6758934617b1936acf9f235d7385636af49bd37abdb9a35d742b03527f2a835a549043776e1a63474d30d35fe9c1135beca20359b988e374bb94037920e033883075238d21987356ca477351c609f373182173852b65b341bdb6334fc3f7c34dbde8034ebccef34b35e603feacdfe3d522eae36b2211536d456503fc5861f3ec32e90371ad32333d930343fd072143e6c85b734fbf51a36f9fa043ff1d00d3e46802f38661c873543c1b93ebf48fb3dfd5d3137df34a03465e44b3e7cc3e13d8f998a354c64e03745fc253debf6a63db34e7e387d2f2d3506209038f2022d39454169388d837934f0015b34ef30d9371a5629374185dc347664e3344e90e2341bb8cc34ebb4d33537f4e43555130336043e2637652b3836cf855a3634871437533d9e3797973736dc063536b32b2b36c7cf3336c1531c36737c243679cf1c3752c12538acf7a7365109b936784d3e377c6ea93715f7743546259d356850c134d7e51636e1301f36d7fb2436e1a5fc36e8aba4374bdd18362dfb2136637c5f36d0665b365bb3d03454e4303f45e49e3e2c3ed6346e68bd35bc81223f7aa6b13ecdceff3505b73336fd66043f6706ac3ec6d99e3798d22b3642b5c33e95b8963eefa13536480c6e36edde793ef3f17c3e2dc92238ac01de3644c1fa3d95603d3e88f9963743557c359ae8953ce0b1d63de7454535a0342536e1b22d38b432dd3902c2b3372d38fe35c3dd7e362088ae375a35b3369bbf933404298b340d9031366a98a435527b2135fc892235e13e1e354a442735b9ef7b347bca74349634a1340616bd3405fb1334b2610934809bf833415d1b341eec5c34ad104f34a44d693402896d365b96fa330083fd338211ee33d11c68369e55a63462619f343a4d8634d115613682063835527a2d3569ea2f3555964a36fc70773791a6873414f834374456df37dfcb8334ddc8fe3e5dd9003fbe256e3442161835afdae63eb0b10a3fd75d1b353bee5f342847b83e99ee043f7119b8348aab34343640763ef8ade53e89f511348f096234314d273e7ae5ac3ea3507c36e6a71b3423ee773d52d3813eba1b4334114ca234c6cf8c3ab5a8f93d72d00e35045f3535bb0500385ad60c3c8e131a359af79834bcaabc37e737dd3804afaf375ee34d36f4e18d36ea62b23662d17036ea8e163670162736f57e2136ea3c4036c3c4dc34723b0b35831497347fce1535b0fba336db7aa4361dc49e3637a420376ecd6e3700b28f36990a9b3692d1cc3714a330368b54403676e5323660243a36534c4f3767ca6737656eb1372097ee37d190d136b2d71236af71bb37bae51538f193d334728acc340b8ddf346117d4341e484b36a9d39b3e2f8a323f81a3043645391836f10d893e87613b3fd5de2936c3966b34a71d3c3e42e4313fa3940635839be936afc0e53d2cc7143fed92133760d3b237a3555f3d7417e93e3bd9c83719f12936b8599e3cb32c9c3e91c148362eec8e379b7bc73b8adb103e332dc4370e1d0336ff4e85385fe09a3c96dcc0375da5d73499b33836033ac737fdbcd0345d139834e8b46e3673a333364ca76434dac03c35dc285f351abf1035ce0e5e358da34d37f7e6f736d86bf03503cd363795ca6635b3b743355ad8f534a5a93835e5149d35ccb1ae355d3580353163a3353885eb36a23e9736cd83c1368d8a94377486f234a377d834a3f76b34b084173653b32a3696de3c36bb58ac37dfc204381ad21136bcec3836f83aa836e4078a36e7807534126de63d5e81633f77ce5e34767e91361545c03d6405683fa6b361351ad4a3373731673c28415d3f157c313707f39135c4006d39f021313f565f1c35b102ab350dd86c38b3df033f8b60d43553055d37a2a0e03819b8af3e0e8bad37174e18353dd8933b19c3163e68ff4634f683843683bd89381e3efc3c6cbf09378a4f20367d8c23378043ad37bc7e3936553373344b0d4e3405022a3437594634be89cf3477f3ba34ad64b034b39ed734dd50e033d2dfb833ed8ff033fa2d8534f8e4c33418e7253581209d34245a9234f0009b326c034332721705321e2464324434373449532f34781733344c4d1d34e3db8a3423957b34c3506c34ab40cf35ca0da53474a50735964caf36f19bc137a9c8003701cd2437ac951137bd76aa37f7214e3429e1553a2112803f66780334efc3d4356708ab385efd7f3f359fb234010d80332a2f55382825633f5a9bb3367dc54435b9020c3868ab383f2a948d3492141d32066c4b38914e0a3fc5840b38fbf34f340b588638169ab63efd2c873618bf90345b81243872e22d3e22a305360fd2a434e2b4543846c44a3dd7eb9437f5c72934b4d9f537a15d5938d99b873400000000000000000000000000000000c5536f357ed240359d0c2e35b91f8635c9bb0d366c860d360c1202363c764736cfa4c63200000000000000003f9e0b339e372636b2a01a36731a1f361d82643751c73f36384f493645cd3e36f7768436943970373bd62835df9daf36c2abb0373ba0053643340a368c521d36ab88c5360000000000000000000000000000000000000000000000000000803f00000000f3163535dab2eb36ac3a7d3f72d380372d7d2e363df86c37d559623f702f593800000000cab2f835fca8313f9b9707383a63ce36bc34b8371df2003ffcea1838a4f7773694c5c5369673a23e1ff5d7373a4e6137f76f2e388b27053e39ca3d38b1c80a3624973437e12abc3c2f11cb370000000000000000000000000000000000000000000000000000000000000000099f7c34977e8734fb34953418b89d341a2bbd35bb452636fc63bf36788bf136ba888a3662629136a4d9a636c1cce537f39b2c341ef830341e449e360d64043871913436f3262f36b2a74936a1b33c360b76753641b1753697eb8836b64c2837f58f103608f2f63683b3e93764ef053800000000000000000000000000000000000000000000803f00000000000000009c117e3429af703f3314433c0f5497349cbea636544a503f5190cf3c6bab3137a3dc9e360a21263f371b923ce32bf837b42e2334267dfb3ebfad513bf638a03781aa3336b65ea83e4302473b04cf2a3628b67e36d07a283ed5254c3a8f218a36c148ac37c5ba123d390cc939252b443700000000000000000000000000000000d9fc8635555e2836d0e9d03626e1c3376e4ba332fd293b353f338c367442e136000000008d7f13359969a836e7b9f33660842636b8ce3736b5888636a29b82375967c6358d65a135a864e5355a416d3753905d343c4dc1350a78723640889f37badc133601181a36e3a22e365ef22336ddf5af35aa0f8e356b77bb353af80a37ba7ead3556c04635f3b47d35a0409a35fe808636d6fa733f9145423d62644e37def825361df8553f14b5b83d4d580737e75d5636488d363f6a69ac3d910b0837807b4d367c350c3fa0a7a23dcf844337dff0c835fc16cb3e86488e3d38c36136b58357366b2a7f3e0420483d5a3a243701cb1e36ff39d13dfc4d213dc3a43f36e853b835c7b9ca3854fe1c3c15c9df37fbf9753586948535fb7be0373571c937dc3e78352fe1b935a605c23609ad0137a0e6e73584328b3636de18377ffc3c37e2331333ace3f9328ff82d35564a1e3645978835b1552b367cb6b7368ccfb13790d503355110d73455435a356cf6c9364f5c253669691d3626fe46360bd5823627e18635abac0136130f8b3696438e37ecd63c35c39edb34c7e13b35c5b1b53676fccf35e3f6b635271ea6353156cc35ea780f36a2ec573f238c203ed359e436404ede367954343f722b5e3e50b448377a5f65343fca123f7500713eaf043e36aa779d365accce3e22476c3ef3de9c37d4695535139e8a3ed9624d3ec6a99e36a2592a36486af73d567b343e3d4899368cc231360fdb963a2978f93db08fbc3785f33a35a1bc2d37f8a6f83ab229f137ac51ac35c3e6bf352a2f5f3719eb8a3738c4dd35213f09361279ef368d4f95370000000000000000000000000000000095ff79353e616135833c4935155a25351a877c36e3458a36cf93a336aadba736000000000000000000000000000000009032683619719236ae1bb4366f6c92372b2f2c3628183b365c596336a8d4a236d7978436417d8136663aa736b3aac83665c5d23556f6c935413aab3594e99c35f3ec1c3686e7293ffe66ac3ef8cefa3500000000dcbf0c3fa3d9ce3e00000000e0d92235f020ce3e1559d43ed2e7f234e9be9b36eb84863e01c1c63e84389e36000000000018063e6d2bb13e00000000fc23b636b4d7973ce67c973e07990b38f1b15336dbb4ef370745223effbf033889939136171cda3682b5993aca30d337a8b4ac353f1e97357daa02372188d9360000000073e6a433c2459f37ed8db6370000000025c397358612393699b1f8370fe4e234e0710e36c992643681729f36000000007477d034fb990735e41476370ae586351a1b713529c5863596f2e53715f302355070563457554b344f3896373a93133673dd4f36362887362f75a836d7bb0f3612ef25362b828236d2fdd237e4898e35216335354aa85a35da89b035f76cad342829fa3eed09033fb2048b35da4be935afb4c53e937b173fd54a863697415236e2c7813ef4ae153f6eecaa36269d31350e7df73d44a10b3fa70aec376e1a9735fed88a3d5ca3dd3eadb0393854e9ca34dfd8a038ee37ab3e90c2813875017c3651ebda36a1af263e3796e1365e323536a81bab377f21be3c5f7897385f8944350aadb135deff73387ad42d3845e5b835461bad3571e723360c22d4358d1f5536d9008136d47b9c366627ae366fe9423655834636989048363c6c63365e24ed35ff784836dde35c360d7e983600000000000000000000000000000000c8dd91360d4e9036f4029436606ba336ff6f003549d3f33422691a35f50a0735cf5e69310000000094e02c3200000000f6dd0836db40023612c6eb35ce0c9e369215b6350c08a33e34b82e3f97c2a735b00097360b94673ed0da453f3a27a036c4fc4336b57d9d3d6fca433fd045603627f68a3600ed6838af9d2f3f20f8c63700000000d39a9f369002063f0c36153666c0923626c99e36c95cb33e3127ae36165bfd34af896e35ef8b3b3ee20b8e3764c25b32b4cd5634366f3f3d10624837c8e6ed35e45b0236406c733865c706385fea053657d11d362cc76737df4a3536021b01358a0a7d35a05f6435d6d78f350a958c35b1d96435f22c4735afa5a43582df0136fccd1136d1f3313627274d36925596339cdc1c34319c4134f44d80359f3b7c3610f18236f493ac366c98e73666ee1d337e5d3434756543351a9b0f36e9c60b378eb21837a2fc2c379c6343373dc1a336c2ada736f601b4365704d93683637636c3bc133e56395b3f148c9b355ee9a23552775d3d3fbc713f8cd19434d38b77357f8b0238a5b3603ffb1d6a371a132d36bb38a0364b30343fee5aec3600000000b5df7936898a073f174aa3373caaa536f92f8b373472bb3e03324f387a5d0635196f4c36ddb6443e89a81737343220370bef4837c3e5a13d0a0bbf37963ca336bf64e8369dffb037b8012237ebbc4635ed908235a76f89352c59a33558729d35608995355f939635b09cb93543ff053637c307366a520336d36f2f360000000000000000000000000e1a09369ffdbe35b3e8a6350e66b935576ee335363f403656f03836843168360e4ac5360be863369a4f8d369323b5365eaced36123ca4364970ac3668f9c43669cbed366a00e53699c9ea36c2d3fe3673ab07379e8fa83580088a3cbfd07b3f66c78235dd5dc6357d0f4f3843bb7d3fc2003737f6830a3633e720368af65b3f552cf836951a1034fdff5c36b5e2333f322422382f24dd35137f2436b504093fa8cc913837617736d612d1368440bf3e121d8b38c52cb73660870237070e503ed4bf4d38051fbb3666d200370dfd983dc5d0fa3764c0f83620f70e371e0a6f381cd5183800000000000000000000000000000000e044b733499c80333e9da23390e718360792643665796f36af896436526383364d83fd35bdf00336c4581436d70329361d1335349ced4534093653340f52513498318f365cb79536667c9636a05ba7362d4c9236c3a4aa369a13d0368109ff368f8b863411199a343ba49e34e51296340000000000000000000000000000000000000000000000000000803f0000000005c3cb341eee26364fcf763f99d84b38cb177136c8278036d7b6553f665e0f3a69921636c31d2e36f4f72a3f45efbc3a126656345a594e349a61013f1eac253a8fcd9b36e4c4a336e168aa3e0b8ca03a3dcdd1367e38fd363fc9243e1246903921c8a834ea16aa34489c463df1eddc380000000000000000000000000000000000000000000000000000000000000000d65a0733b2258f33590c0d34d6310638c8ecc4341cc3ea34aa9f0935e66c03382ec9cb322f31d6323d8dde3271fc1e387b74a73452b8aa342c91ee373f058238c9e4c63587e4e935252f6e36dca39d3645988b35ba073036947fe53787312a3884903236659c3336da740438ee4f4e3800000000000000000000000000000000000000000000803f0000000000000000b6a1dd3306a8633f2716463ddcee4038db060035377e403f039e413df42bc13715e3d5321da61c3fd689283da465c637421d3e37a704f13eb23acb3c0c062b3862a53d364451a83e0570933c1d32463646f47237456f423e7e80593ccb670c37eb3aca3723567d3d89f8523bb066f13500000000000000000000000000000000342bc8339098f1331673923580e09a3897e3c234277ddf34903efc35a97cf73702e42a3696857f36bc13ca36d49d2f38884aea35473a183688519237982a4f38b113eb350840133616a80738a5fe9d389265813608849436e5a1a5360feac437113128365348583643dab13703f7493803f51e36d83424366b2f2e369497d237cd9eb135eb1ae535e9281636a71e3f36ed6c033493186c3f65a16b3d24f28638162b9235b8634d3fcfeab33dcd25673c7d4b9a3605bd243f58d1053e073c3238bd9334364322003f5226083e884c253821afb5369c2abe3e65e1ec3d19657c3872189f36b5e77a3e9d1ab53d70a60137a5d53537a41dfb3ddcdb303d58aea837f1802a3608c854385a5dc63c312b42375cd0fc3552492e36bcd9cb376c94593841fd24357717ce35d2d99636b93f5038a9a20d3616724036aead8e36e92b1b3811834135a1f7a735ef560c36034bf63704096e35b8f2db35a89f2f36bf9a46373397a635ab86f1352989bc37b6e8813818b08f35ecdba8350ed49837a39e2938fa4ea835dc97a93524002337c98def3709d724357e8b313574cc313593118635d689013547bd5535a3605d36ec96de36143e2136eccf473fe6ee503e3950323860746a3652a2263f4cfe833e0f9555384c3cd1353715053fa443863e6db4f9379ab91536dc94be3e068a833e2e8fe236059015367c2f843e576a633ede6d7a3835bcc536f00cea3da742483ea21a0238b471a835ee7e083d2f57123e3be5453897892f357bbc9135d29d1d3c817f0b39820bbd35767faf367304c2372d075638226b8a357262a735a87ec33731c12438dfe95134bce17434594e1a35af56f83747845e35ed5074351c008535c722083801b56a3502167a3537cd8235ad178a37002f83345af8b034d5abc0355a3064385b5c953596c19c352992df35e88b7637e339db35de4a0436ac1d2b3625e2c83749fde9353cee16366e274836843d6e36e0db5d35e75bd535e6ec9036eb19ea36daa70c365ecd213f9466bc3e1fc9bb37fd948f348393003f05b3dc3e5587e1374c097f35b59cb93ee413da3ee642173859588035d6ac7b3e28e7c73ef07a9d37995c0f3572d3183e8dd4af3e24129f386596c235be5b7b3d9d26893ee297253882c819362ef9ea37b3963b3ec2e449386ecc3036b1ec6836e04cc13ce00a313acfc23436da24c736ec869f379d86a5385ffa54353a996735963e7c379015e7377f7d48356e8e57355a1d0336f4701a37edf5f335af7a2e36844d9c36ef0bbb379a66c735ac950036856025366e0bca37ed5e9b35a16fa2359575843756f674389c900f360b1d2736b55a3936cfd4d1374f1a323647774836a3e193367d8e8a371a9b6235a3329235e567e535d0761936db282335b65a3a35dc5346350b708236baa4d335451bf73e5b72043ff78d8f36d01eb135b09bb53ebd82183fe1c31936ffdd5a366a52743e73ec0f3fb5a6cf37ec971536855e0d3ebdd4053f3594203848f1f735a2ffdd3de396c83e9381a7385baf3136c7bb003bb2bcac3e203233388d82633642d59637565e4c3e522f25381839b33570ff1336dc924c3dd4acbb38bd0e3c3509265235ea520038ecbe27388ee39d366f56f2362aadc437b1ef02387ced20365a064936e9d67736a2d1e4373760d335cc760f36d48e3936bdfce6377119af35a51cb635b5da0036dbb54637fb3f1b35713e30359ceda4350b464f38ed058a3556088e35bc3f8d35f5f9af3637189935c5389a35e225993542a466371e3fc9345c8b2b35dea48b35401f9037eb8af335f3100936ea3947360161aa3776020e37cf45ab3e556c2a3fd01ceb36b7355d365806593e889f433f44876a36573424362abdba3dedd3393f1e3b08383157e8350437e63c4494243fad93163868027c35b9bb8838aaf3013fc70aa838b61d8d351263d8363363ba3eabf11338641e9835b5db03377dee583ea9f6aa381aa24b35b43a02379f6a893d75768438b7660f3668d22e37f4ae403838c84b385d7e0637d12ecb37c39c493832e12038aa0514356a441a35348ba13558addd37b39e8e355fd1953567be9c35cb1c983726ff18357fbe2e35525c4435fc21403771e76435b8b8b635b5450936bef41638766e8935a955c935d4860736226b3136533207369ee7093680f21636731ab3371773973600da9c36ccbfa63606a7ac36a71765368cdf7f3608d6af36fab6e037ddc12738e8803f3e401e503ff3c5de3601718d35c4457a3df0f36d3fd8f08935bd409a35c912e23777ee523feb90913819833c35a9a34637d699303febb2e939951bf535cfd00f386b18053f2a8a8739ba67f535aaa82a36c1b9bd3ee6f02f3a93db123662809a37809f5e3ec9e7723a1cbea3369db0b036c0a6bb3d145dfb386e0992361279313776e3763c41249839d9458a36a8ae0b3720792538932f17386099293516f873350767b935a4d3e2352312a2340e2135359f8f9a35a1053a364327033636a52836b98c5936ca808d36cd5cb43514ccdf35cf6e193654c01138483af935424614361fca2a3691cfc83738b1a5369e4cae367de8cf3682ccf33731c33d36b2084636cd575236e367e1374fb0ae35c97da835e8ac4b3614e1f437658a0338ae110e3d971f773f618c4136aabe9b35deaff13535d7793fd51051381e348135dcee0c364958533f6891123c26464336d3688636ce552a3fd78bcd3a339af5350b9ec2378b1a033fc3afa43aeaec1f36f98b7c37d967bb3e2862503abeb6bb36d8c2b33778df663e96c52b3a2df24c369dc29d3726d7c33d91a4083a6d4ce93585d0af3734b3a43cc72df43800000000000000000000000000000000c454eb34af5eff34595469351703cf3586a92934ca1a3134f20a38341c102536ba8c3b35d315773544dfa335aeb5193631b99a3454a7a4344d89aa34cf7dba371eb7f83252ccf9324d08f832e48e403627ca3c35352f3a3532d53e351e824935c8b190347b71923452468334cf5fc0370000000000000000000000000000000000000000000000000000803f00000000cddb1735f56ab0352c1b693fd980ca3cfef83434d7ef8e35d567433f07780b3d0ed691358f48dd35c73d203f13dfe33cef80aa34ee4afd36b59df93eb4ac8d3c0689f2326af1f132d5e3af3e50d0753bdf6c4035fe415b3579c74a3e5a10553bb2f888342b82403786827c3db03a7c3a00000000000000000000000000000000000000000000000000000000000000002eca8635df8e8f357015a035fc0d973508e14132d0e9403242b58f32e6421a32755edb345a868334822f3135620e7835e6609c35532e9f354816b535c788a6353457dc3114d8b4315f6ed6314112bd311ce2bd3438d3c5349ea4e7340cdace340b804c3555c84f3599707c35e05c683500000000000000000000000000000000000000000000803f00000000000000005b876935eb51793fb4fb9635d61698359df15d328199583f3cab8537d2b2143163143c358604303f9a5f3f3810d0c535c92b88350669033fc2c32e3814e9a935df8ac53156c2a73e3d88d93567aba33116374d374b7c223e7483d237303f0a35d63682367397043d6df78f37b7d56b350000000000000000000000000000000061f6af32272ec8326b48fe328567cb320000000000000000000000000000000000000000000000000000000000000000531925339b413333d97447348539213583a06d3319fc8433bd4e9f3317558433d4295032c93333327d63333241a2e8311c041e35616add3449115e35d8108f357f5292334d8e9e339906c033e7e29d3394c26333858b2e342dab94337dc7dd33155fcd3222797d3fb6749e3cc070d332000000005b76633f35a1633d00000000000000008ddc4c3fec7ecd3c000000006cd29933aa69213f5650c73b98615b35a81485334924e73eec6bc33c35128733ad891632042c963ed0055e3bb721613010d47f3306d9063e0fe0503cd2a6c23505639f336f05913bfb587d3a6b91a4335ecd5234e028a834530cf934b6a78a34d05f2834c6918c34aef3f5340a6e4635dd120435782f0c358d88283571b240359ba6dc333f59cb33773600344d7334341313eb337c0c0a34e7f32e349d302034413029354f742535acf1383579185c35aae7ef3340eadd33d576fe33c78b30341a222a3380225033f1348533d9847233e85f8334a4868b3403bf9d34afccd33470a4dc337eb2f033d5cbac33c68dd933fc984a348148643ff8e2f13d1b15ca34e91f173519db503f2b7d293ed5663a356356ff33fa4b2e3f768f1a3e69473b3751f71d34c7bffe3e0a55293ea0d21f3413ba31351f69ac3e8107163ec02d4135e445fa33460d353e953a0b3e41521634e0da6e33956d503dcf1ab73d68ad7533852d93349fd7c734cd0faa3a8af6e734538cfa33bff13b34a8184334aea40834db6285334cb38733e2489833be1fee3388615635d9435a3504b77335067679358c9a4b3458c43b348a8f3e343c513f34953708347f900034abd60834c1200b3469f77635a4f96a35fd087e35f28889355eb570346f2b58344336533415335c34f490d63361ebd033a61de133974bdd330fb04135bf7a3535cce836359f0c403592283035a504ca34fd7467344edbcb34866f2b3349b63a3f1270903e3b77193471cb2135b1b4233f4f89b63e4e0b6535e4f12c34a914033ffe07ac3e07213934e4ed00346350ba3e9827a03ee89d1b3445b862351dc2593ea8f6923e5a648535acb5443482fbad3dbc27693e2f175d34f7b0ce3330e29d3c8ee2f03d494cf2336b6d2b35b7a92137b0b21a3b30fe4035c6c668347b9fd734ab64963519bce5340000000091392c3500000000af91003400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070887a3317f3b534b82c4b3500000000000000000000000000000000000000008bcb9b32667f5a3075fcba300000000034ba093fa2f2f23e0000000000000000be84f33ef5c1083f00000000000000007159b13e621a073f0000000000000000cd39553e06d6f63e0000000000000000e2d3ce3dd390d13e00000000000000001b2f453da55a8f3e00000000fd1e18368fff953c8f7efc3d6eae2c3500000000d16db03792fcaa3b00000000d1028e3356833a37918930370a604334d02d9a33a8abcf36675e8b3491020135c31d04356b7f073514742035bc2730357209c533dc18b533a6d9d033bcf70f347387f03366fc09346fba29346c5d1f3455345b351a035335f8136835edd58a3592f53134ae7427340df8293438884e349ba3be338060ea33dc1e1234265f09340ba1453581e844350d143a350dbe80357eee5f34d0d0613456432234de9443343fbf01344caaad3efb0b2d3f4cbf0f34fe970f35182d983ef1fa363f86421e35bc89c73320b9333e4ce3333f310cf333fd6218346522a63dcfe81f3f00c7223403855e358321123da688f93eb5b889359ec91d340942ae3c4d6da33e838a27344876f833a970b13cb020153e68332134a32a48351e2938379d80943c4e4f933565853234dc4faa36b6f63337d0734a34e58ad132cddeb632cd639733c9d4d933c9378c34292381347e4fa6344768b834c36dca3331d1b7339586ad332da2af334e1307347d56013471a6073466fc083422814935cf023f35ff2840356d855035718d8134400a6834db2f5934fe9d5d346cc2fc33bb590034fc4a0f34a3550c34f6c84c358ea13f351c3643358e61443541778e35415f583551ce0e3564742035d19be332e450263e4379593f35fb8d33047b82343f72083ee32a613f8cc496348816a2330193033d113a573f5ceab6333d6501341ac5a23b55d0323f7bfd143479633d35b573613bea4b083f5bc2583515264e34d8673b3b741eb43e41366734793903344346b03c6496223e8b94193459343635d161f43a3cfdfe3c9ec950357e4918354813603814417a35872c4735266be1354eb138374f6fd133a6006434144b8433ba674c3307418633061cab3371fa9f34c3be203357615a33158484330d949a3192f19c31385407315d87b73191796033e7a728331db55233869292335aea2334e721f832d41a26332c664a3300000000000000000000000000000000000000000000000000000000000000007b77ab32951e8232a606b632c204d73238c10537beb22d3d59f6773fa7701b335da18f33f106073b28a97f3f9977d3332ee26d33c4c1003779375e3fbdd91735d4c10c30c43e4831d537373f1cf64e32bd506e336ae06033b6680a3f9446b1338e92cd33380f2d397267c03e0b344b3400000000c88dae39a7173e3e3d3222330000000000000000fadd803d000000000ec5bf320bf3a2325a2072399a7d0c33000000000000000000000000000000000d604735f3812835d7643d35a3588335dd4cb734624498349575a9349e06e034b67395311dc1a0311c439c31635fac3195425d3575bd4a35f5654535a82ec1359690bd3542b08235a3972035bde9a83500000000fe569c30f7fe6e3101ccb331499b5435a5e04a357c1d473569d1b1350000000000000000000000000000000000000000000000000000803f00000000ceb34835e4d0603513897a3f0fa17d356100bc34a0c7bf3459455a3f34ee833659eb6d3150749c31bb4c303fad7bff31b2465f358cc4743577b8003f28c1da37cbdd4b35e0fe0337c696a63e16fd5a37000000002ce0883663df263efb14653587fc5735167a69357148203d344ec83500000000000000000000000000000000000000000000000000000000000000002a665a3572a8a635cbf714365e0b5336a4e0be33220efd33c784de3455a173351830703498b23d358855de35cde50836f3f3f7351ba21636a3cd2d3680b3db365d1c6f33d48e8933ac94b333eed4ad33b2caa3339a891934086e0a35e5301d357fa72f35a8967535e254073915f37d3500000000000000000000000000000000000000000000803f0000000000000000b512283654736f3f91d0003d9b5f7036e9c3ca345764493fa559563d295da335306902367680203fb02e603dad68d035cb9b403627d9e63eee0d8c3dbbc54436d231a4330be8973e71b4713dd2b8863457fd6a352a282f3e34fbae3c834f88347cbd9235ba93083d03fb493c0c3285350000000000000000000000000000000012bce633313b1434e42093341ddac63463b112355305193597313d35206a4d35d4d2e23375defc336deb0b34399f1e3461f93c3473e64c3440b972344ca696347682c935cdfec735d89ed5356052f03594f17234a5da853456127f34dd02a6348622a63314f4b533c38cc23310d2f3334ce15735bd93493573c94e35917c5535b045a833acc1b6330cee4334a6628c34e6352634b1c3733fa1b0553d65685734e4de28351137503f8f5af73da49c4d353d880b34d1ea2b3fe8b6133e84bb1f34cc666134f048fe3e6881363ec8d3ab34c9e2e235f690af3e6fd8353e0face735616b9434f125513e60fe163e4546ae34bd0ebd333db3df3d1e82633d9e25df33d07e5935d09f573594b9a63c72994d352a7d393469d241341924e43657a6c436a6c5d331efc9253200135832a074493200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f633bb31a3d13731df663a34567cd334836ce834a07ed834655c1835000000004a22713208ccab323869bd327f0583330550f5339c6bd833497e2534814c9933268cbd33e0788133012c033418c43d32205b5b3fc51d173e575f3c3200000000ede92f3f5070803e0000000000000000c135063f6924a23ef664943200000000f7acba3e6669a53e000000002780f733c8b65c3e48fb993e9ec76f346f1e0235c296c63dfb82723e5c1128355f07f9322c50c43a01f1043ecc120733b1e3343427415d3496831e39e1f344344709db33093fc0337b32ae33bf6b1634b99b563258efcf324035fb32a8714533f3b9ca336eaa5e3432ce8c34ef0e8c345aea8333261fb8332ffb02341f260534215517341e6b3934f5bd3e3433fc6334a1ed2a35fdaf9935f248b8358b74e2350aff07340d530634705619345f791334000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b9ade7320e30313fd13ca13eb1d30e3301528c34a61e073fc707e63e6a5361348d93d73343bcb93ea162003fa315cc33e33d47347414633ec694f63eb63e7034eb2dca35f62caf3d343fdc3e426be235dbb2cc33fd92193b7a55a23e1a17eb3300000000249224331fda0c3e409213340000000000000000fa95103a31aa423400000000000000000000000000000000b0aa253400c8b9339453b2348120e034100ee134c1aad534744e013578ef1035dfcef533f71f0134ba1d0534a98d0c34882d6b345b36743484d189340e7b9f34cf92cd3557dcc33582b8c035bdbec9356315823451758c3461537c341fd7a334c0d214340674163408911c3483491a3402f903350be40a35d71f153513091c357527943302bbd3337b9966343fa29c348155a533e80c043f338efb3e808379343183da347ab3bd3eff60223fdea5f334ca980634bf8f5a3e95e72c3fc1820734e9548234cabb873d1f85213f2deaaf344d36c7358fafa03ab58c003fe2b8c535d2cf9734bb418e348ea69f3eb485ae34c1951b3480662c34f11cf53dd35b0237a6ce0a35514417350d87de3a371d28352e99493484375334d67bd834cecfda3400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000037602334752f0e34a48403344b0309347e1b61352dd6a035cca4b7354700e0356dbdf233183e223484a4d633cc0c71344d0e1134bb3e183488a1fc334ba20434d4a83d342e388734485f6734a64289340000000007da983200000000e1ad3d33000000005309ad3ea9372b3f0000000000000000ca6b5c3ec86c4a3f0000000083997734206c2f3d3de5533f98961834457a2634228d0134a7d12f3fba292a34e03bc0352474f235f22ffc3edf1b0c36a0da3934c29d3034f8269c3e9e8d3235a6d41f34831f12348de0123ec1e438366134923449f9a134c532ee3c2a920635b6d506331f98bd3256c9b5317bfd8f333603a433825cba33004fca33b6eefa33023a213342b71e340dede633e0c6e93300000000000000000000000058c4ba2fad1ebf34cb55d33431e5e634801e0e3500000000000000000000000055b45b330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009fc833314bfdd131e553e3316d4f0732382fc5334285263e71f3573f8fa3f8335b511e347e8a743df902723f9e75fa33000000008bb89a329fbd5f3f6c05f73125dae334c2921335f5c22c3f67f82d350000000007fa073471e5fb3e5378c23400000000000000005a3ca43e0000000000000000dc3652327f4d2b3e2cf859360000000000000000ab018c3d000000007e6e0032d7603e32d8e5c8398b3c0c3209b33734a4908e33dfe996379f90c934e3d22f35f5db283548623135b77b43353fdb9b33fc4aa033f4a39a33ca1dae3384a46434f13c723476fc8634b5049f34fc80db3503fad135917ed335fc8ee8350b9365340a957f344efe613428bb9d343b761a343c971c34e1c2233481612c34fe362735eff02d3534733935629944359fd31d34f29b193451821134355b7c34b8c23737fe38d33cf8e67a3f0f647834b12d2a35fb7c3a3561a97b3fb5a04035cbcaae333b51b1333ade573fa831453773678034d51aa434d1c6273f8be6d238c408d0354d6ad5350531fa3ea478e83777468f3406048234a692aa3e8af72d391f0a23346a173734f4b2433eadb00a38bb05313526733f353c16923dd773873550c32c3403d62134bdd71b37f638db34000000000000000000000000000000005dd80635be4a1f35a7866535a90d9435408e8833b4ce7333acdc5433a38c8e3477c9a033794ba933b640a233b889a83318a03d3674473f36eed73d362e785736096e6d35491c1735d2ce4235e301ee353e21963512c47a35d4d1623525958635a93a20361e28243667f94b36581b70360000000000000000000000000000000000000000000000000000803f00000000833e4c3566507935a7b2753f1d38eb39f16f8f33d2fee53353b24d3fbc3b1f3c77daa333da2cac338737223f9248993c8c723e3610f93e36f914e83eb3a40a3d955e26354231d5349703983e9ca4ee3c8f93803580f99335dbc72a3e7d27893aa6ce1d36e62654363869193dfc2d08390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d25b0c398da9a6357fbc0636f681733668426938975e5d344698b23494136136b7754638000000009b364c3413b73238807a0f3963b4cf35205d0536850bc436fab63b38cf87b2347520e334bc1cb5372a3b5c38f7de3d35c8861e35061190384e48ef3800000000000000000000000000000000000000000000803f0000000000000000000000000ad95c3f783a9d3d3d5d733865df4c3686ae393f1a80cf3d069b2d3843b1bb34b041033ff8c62b3e3dac8137c2e2973480feb73ee7cf333eff592638834e2b367bbc643eae431e3eac002136fac4433697cb0a3e7f0d403d815de5362dbdc137881c273d64bb083d2a4e403300000000000000000000000000000000b1753934b5660d355a1cf335a878833840015c3432e3a0348952a035ee69863810d09635f38806363b7e6936216e7438a93e353467f33a35eaacb2361fa881380cb2e5345a08a7342ecc8135d65379381397d635fc7b13363de0a237e3899538499c5334907e15351137b73780297d3855eac434b0575e34ccc688347cd6b137bfa83d352b365e35b8688735025bcd357fed7d3534f8693f477bb13d35105c3675a464356253413f7eac083e4c866f37c6e34136d23d123f93e18c3e911bdd37d1e59d3529f9bf3e0cedac3ef0c47737af99313536d77c3e05b1a83eb57a51372b9c5236c956053eb193793e0d07923761268135dc4eab3d446eb53d3cff793785e85234000f8437f791083d50cec237e0364f3585939535314ead37c778393a000000004b8bef34819d3437fe3f7f3800000000000000002e1e133503c6913806c0e533136a03347299e9346669a5380000000000000000a13ec636607b5a385616923429251c343b53343505792838279e82342f0cc03493bfcc376741c5380000000000000000d8f4cc375b3e8538dd1c543572521e353ce71b35537362355efe19320fd94c320000000082341b3488bd5a35b3414f3f7852223edb18b137000000007edf1c3f79399b3e8ec3b5371f3eea33eb7bdc3ef1c9e73ee7f8ff3600000000bdfe863e0285f33e6c5e443795e904354d760b3e668ad43e863c9e35aa7551354485883dcf49993e2f3d9b370a2cc0346846973809c20e3edeff5538e173393567755f358895d338c5b5493b000000003057d5339fd9113539db8d3c73b1c734750f02358001cb377f93bb38937add3431eb20355caa113509e5f0385f43b233194dca3483cc9537df3d85384025ab34eb3d0f3570eefc3614cc4c3830c18735cbd8a335d1faf63543469738c223b83325e03a34fb5920346a0852384ade8033644f1f34411df4332d5bac34d12e3b35f8ec6935e1cdac3535090a3619b09a3546d990359a20a035bc8bf435a4e50b35b3b2233f262db33e55526837b0503b356197e93e88b4043f1477dc37707c7c35c1d5873ebfc7223faa8ac237df912d360063083ead7f1a3fd35edc363feca735381e213dafde013ff6bdf43474e83c3410138b38a6b9a53e0ed8663808d62234f6f195343d26a53dedcc0d3cd6737e355796d635c3194c383d80b13c81cf813568559f35a50e40370f6b153a91418b352743db35c7147d38e97fcb3842a82a35c92cb03586ecfb35a9a5133825179a3551b656361280f136f4be183883a99d35afafd03532b38a366269d63722d49b34d09b8934999d063597b15837c6630a3531c96635769fa535eab412362d6d5235614b52354736c2350b415c371aa23235e2e30d352cbe1f3583f26b3509c3cb359240e2354a080a369ac433361d110e3695e6f63e38a9013fd4e4263670b0f53582019b3e6ffe2d3fd5b44335cf459f364f2f093e3dc7473fef388037c05d0136bf332d3c988e353ff20b19364238ee34614a8d378549003f217e0838cb9f983561d5fd35d9b0863edb44a33cff379435176f6f360fcc403da99f293d4d870b3567ca0835c41e32385907a83cdd35dc35da5c1036c1455c38adab683cda6781357187bd35ab481f3838a04038e55feb348bf59935f415a837ec574c38335e11344bcf1b347ca5d1339a38fa37000000000000000000000000e155d6376981ce34efaca034eeac8134d0a4f7340000000000000000000000001fec2c360000000000000000000000000c4a9d37a7b2bd34679c9334dbd98134aa619f3741eac934f3870735000c32350e908b367e2bd136ebb9ac3e33422a3f0b08c83515f9c735e4d8233e2118523f2909f7350128b0334af9e63914a4693fd12d233600000000e612f337b6b42d3f2d499a38ace2bb34198d1235c436dd3e1dfac53cdca61632ed740736fd515a3ef25d5a3d0000000000000000bbe7823df6591a3ddf59a834acd5ec340676e93b7bb8b23cf51f1a35eff40f365a2fa83856165a3cd89d273530bc3d359f8e083d599c2f38efb1d635e40be03502699436fd3d8e3800000000000000000000000023f49f3700000000000000007ba4993489b79c356f3b2f3543b346355931213526e8923500000000000000000000000038a37136a3dfde315a1417337013f833894a973500000000000000000233a23417820037822c1036058b0f368f0f2e3614e0093785bce4375212053e0a9d523ffea2e4337a80e6353bcfbb3c20cd793fa60a4d3500000000525883372fec5c3f11759d38b2cccb33e90d6935c3b0193fd5ba153d9d4b4335e5f77a3554aec63e1e2f833d000000002d3c47347571553e3bed623dd0f375333e90a9347570bf3daeb3e13c0000000042bee8349e4c883df6a1a53c8cdcfd35b42e8e366f09ee3cd836a23bb61a8235c7098c368e3197387d05a038f5f2ed3362593534e84f39346d54a934d027ae342921bd34a31ed234f2ff973585580135d9c00335315f9e35c0ff2736cde658345e92dd340f9e3935302a74359b86c834fecc4235986985353e9eab366c1b023617840336287d293635089c379465b234e95295343b50d634b0746235fce1a435921cca35a3c4e235a5260836f8ccf2370db8273d8dda753f32fac4358d428034b4a69634a4e2773fd9e82c38c6c0af3455a67e351fa0463f85e65f3debc2653529a8ea35a8be093f2842bc3d5a232035a6378235c9b0ac3e17bab83dbf7c5335a8f8b1358b20553e83c5a93df7731136f2b0403634e3003e6e6e013d4c14b4345958dc34c574ad3dfd75ef3cdcddc23531d4e935474b72381a2a113b00000000000000000000000000000000d165173352961533a1c41e3348de22333f28f033d81ce233887ed633144bff3332685a353ccd2e356ef72e357abbd135000000000000000000000000c5cb9a37b332f23488edf334013a12359883843673156c36d6e64d36e8b54e36f85df0370000000000000000000000005b0109380000000000000000000000000000000000000000000000000000803f000000009bce26337645253378ed613f39393e3d56aed73327c4df339d123b3fc191b83d4be934357ae08635906a033fd407e63d00000000000000009b16ae3e94ac043eff56183538d25735c1305b3e33fce03da91e4f366dff3737d96d003e8a254d3d0000000000000000dffa2d3dd507aa3c0000000000000000000000000000000000000000000000000000000000000000228cac367438a83664e4b2363f68793777d52337ee1ab736f3c7e9375e2c1a38028ece355cd3a6344a4e9337013df4375ccd7337dd14d9362406263817a8a8393751b237ee23853774210a388ff01d38ee7aa137360f8037ccfeef3771cb0738cd907b37d31d493700188d37dc1a873700000000000000000000000000000000000000000000803f00000000000000003fb5aa36d3f17f3fdea7eb37e3472337575a8f376db0543f93fc4838549e0a387a331037acd7293f48c33838e82aab37f9dce237f9c8fb3e7a685a3a23aa2438b312e1375efea33e0cd40a3ad33b07386562b637741e1d3e0ec62f383fedd6376f0b1d37ed454738404fc9373cb9523700000000000000000000000000000000a12e183693841536f4b47036df3684377c686536cf8c56360c42823629005837c93d503661ea2d36469e873660455337943a61368b875836458b04379940ed37b4dcc6362f2b6636f20065371c28073848d03036b7e699359f110f37d65fd1377dba8134dee17f3443e595357c63a937bd9670368737cc35b6b2cb36f8a91e370923aa36b3618536cb87b73659c6413798111336f2f17e3f64ab813b59686236f3145b3620c6753f8caedb3cbeee873690284b3686624c3ff301e93c3d68c0360b6e5e36d276233f5972b43ce7f07a37c5de6b36bbc1f33e9c658b3c72e68a379f3ddf35cf5aa03ea5e65a38367757372d377e34a3561b3ebdca723892369a36d56ec635db13c837ed6cae37ccacf8364b6e68363397dd36663ba337646a5137d1cb9c36f99b9e364190a937360bbc37df5d80360c963b3663684c37342020387ac6a7358a1a1a351d41a836992c7f373a236d3568864535512ba9364b2295371ac5a136ee109b362ea18e378a89133853d330370b7e08359cbd9c373c85eb372e75f336aedc3436528a7b3708e4e7374cec53362398c6359d99b136c8169c3742408a3725c53837ea78aa37afcaf537c4a39a3687b2533f5af7303e1076ce36bf543936c7694d3ff66a3d3e3bb81b3762084c359806293f30c8313e7eddf3369b644d350de00b3f20e5113ea757fb36a20d9d364888cb3e7bd3d63df994b437e6fab4355989833ed20d703d48dcb7372abccd35d0a1053e696da23c31898c3772f1be35a37b273873a26e386d12b9367e5dce362de6c2377f2032382e08ee37d88a3537ca4d6437d2531c38cc961e38f13f8b36839d2f3623e25b37eaa412388a7c3d343d7e33342a81783730110938fc5768374a41333596a7ee37baaa46381baad2363b4db336785b70377e40183825e70d362aaa82344f638f37df6d1b38375a6d371c69a936c25dc937ab1931385437cf377b2078379a93f53715402538ab9dc737c56571371700d3378e2d13380d460637c53a293f5862ad3e3be09137eff301366b3b243f0cd9b23e3c410937507c3a3496160c3f3b14a03e2baf97372ed68f36d775dc3e43cb813e8b070e38a6cab3369393a03e95b43e3efe119837bb4a84347492483ef599f53d59eb9137bdbf24368c63ac3d5f03673d0a8dc73759a6cd36a4c2493829258c38ebcfe637fd8dfe3616a6ea37b55b4138319ae63755dc0e37bd9403376ff6b437d267c637bb311536ccae0d36104913366ba09e379f24813626070c361707a23620dd0238d3c82d3650101e362ca72a36c60ebc372d255637583869360dfca03741895838c7e74a369fc32a365d03433676d3e437b14f4f37ea74b03676cc8737e9dc0a38ed4e4b36485d1e36d8d52b37e2f0db378f189c37ad3e7d3718709a373afbba3749598c3639f1fc3eb276013f47b2fe36dc510c363e43f63e66d1043f37ba143654b30e365397cd3e5c73e43ebc0d9b360d2d1d366460a13ee28cbb3e75303636b5ecb136fcee6c3ed078893e3725d237b6dd2b36045e083ea6a63d3e3c4147366eab9d36fe43573d95e6cb3dc8b67737c39b1e36274106387713a338bb699f367a4f22372ab38a378b0cfe37539a99379612103756783137aec61e389f831e388b94ba363363b73675daad37f11a1838d1c6c636bb4677352e2b0d37d2a11e38f187e7352018803426021b363a571a38cb787037e118b83648f93a37d1391b38ee6711388003c6378ac30738a2864d38e642e3374e858f376a82c937f75b0f3823eb9a37776e6b3738e89037f6b12938d0210038a81ad637877a02380ef61638d731e036ba12a63ef4e22c3fab4ec736d209b736ef18a13eb15f2f3f8aa7b93640dcc035e766873e8447183ff0daf536f7877f34b31f4e3e4132f73e1803f236b9f1b9365f9c0e3e24b1b83ea35469378555d637877a8c3df3ee7c3e951c08385b038337a3d59f3b3c570a3e3275ac37049b40372eff2538fe76133c63a57c37e416a0378abb003841a83e38a79203387afe6c378f705d37eb790a38fc69143846fdbb351050ad35b98fb035ebc45437be2fd23620a958342060c935b203b43719237f37e1ce0d36a366bd36d003e13728158f378ef29f361e4306378ea51738840e1637c63fa4360c32a636e4f795371f473c37ee51d136e637de36626e81375103d7379c953637d120a0374b5d35384c2b80378ff020378d3f67377d3d9e374a1333370ec01f3e64ff573f8827c83639aab035b9761b3e3919593f86c8a3359caf07362a270e3e03f1353f007c9f366fc1013705a0b83d661b183f66b05637474a2137d9c1773da2b9df3ef1ec8a375105c436c8849c3b3dce9c3e62c4bb368138cc36892fb537e5f5293e2240dc3669be0d376ace143870a14c3c61b85f37533caa365d516637d3a4f5373a4e4437484fee36211e86362f100937d5d88837e564d7357ce7c135efe3ac35b19e26370fcd7e34367d803487467734a9e4fa36df7cee36c3c9d235dda09735121884376bd17e37a62c0b37ac7bba362c59a837bdaf6d3776147336ab007136c0f7b93750e6013775d38c3667ad823607a257378ea31337cefb8736def29936d92a5b371abdb9361b867f3649c18d36fc53df3698bfb23646e4203882f57f3f80af65361568ca35c484163895f97f3fe9eaae352aaf7d34c9413c383b1d593f3fcf78347ef962361cea0f38eec32f3f9e68f236b2d345373cf70e3906b2013f8bca70372ac708372ff2133863b3ad3eff0a583769a598365a386137f042313eec8dad36659287360b60223776d7553ca05783366af63436a51c323650ffa8372f932d36000000000000000000000000000000007e481637999d2536144311368836a33730d2a4371b8d6c3636b0c533099ffa37f0ebf937e24f723726cc36374c1a24383f091b38e809753787ea44378d90c839e8aaa33760272437000103371cd4d237896f0d383dcbc837a0d4cd372c1921383ca375371ed5b636a2b3013740329d370000000000000000000000000000000000000000000000000000803f0000000071d6af360acc54371cf17f3f8bed8437ef2b80377d12e43702a7583f653619381cf0d0377c27103854b72d3fa583733933d5e5376a522a382785013f569a0e3a7ea07c377d9fab37df2eac3ee2950f38ea47ea379bf20b3808eb2c3e340e243852c2cd3699682237fa883c380a4b883700000000000000000000000000000000000000000000000000000000000000003e373e36f828a8368f3c2c3831323138b989ba363aa119376ab90038dc600538adf0b935756e1d3723d1d237f3d2d537c5dea4361eaf04372385073881dc0e385a81833669fd6837bc9b163806bd19384633f2367821813751242f38a8982738b9ebb7373dcac7374b9f0a38d791053800000000000000000000000000000000000000000000803f000000000000000046f55d37e1a1703f46e390385a26de375307a03794154a3f4576b33920d5ed371bb08437454a243f47280b3a1ae8b7370f9e983760a4fc3ef66d2f3a09aaed37596db8372662b03e25a21d3ab7fcfc378761a43711344c3ee4a46738cd55d137e11abc373970403d7ba285385d91e337000000000000000000000000000000003c30c834d1cd1035b66ef2378f1add37b629b034fcf9ba349457943739debd377cff58355e1f6735107bd537d503093800e1c7351a3bcf356173743755dafd37021c9235e5073f36e104083808142738085ac73583b3bf35244cc8370c3b2939f814a8362e25fd36bc00d83810bedb39cfac1e35d0b91c35fc3c3437115f923731efb136f2586536f43ab437307ef83723e94436fdf86e3f45c9873d11d671375c95c43449a7593fa2a8b83de5c75d370fb2743526ef373f83b29b3de6d9ba373fd5d435b300163f37178d3dc1618e3729541b371c5be83e644a793d372a1038289c3d3653fca23eb3ee243d0995de3778ce5237aa363b3ea15c993c3a6b163962941a354176333d3712e6396abd573765c43d36b898c137cb662c38fedc0d38da36b13646552337c7d3573884cc37389c3aa9361d00b3361c3cfe3720681638f1ce13368c5d90365fbcb13723e30338f80eed36922cef36bb6e2038eaf1c939785966367cf6673613419637279093391a95d5356d88dd35de8dab37a7d43b385ff2293799dc27371f84293881813d395d5af3362f6eb336600efc37ef9d9a3916bef534f24d3f31c23f3f37ab1aab37a8da2d37eb35493f8fca5a3e502bb737b595b43629e4383fb0a15b3e214aa5374bd8c336caba1b3f9b7f4b3e37c6bf37bfcaf0366980fe3e04122f3e44ad5c3815d0683699ebc03efaa0063eb6f7bf37672c2b363a87833e64c2c23d9a88eb37845c273780f5133e2f0d693d07f63e384df3ad36754eae3cbfec883c9894113942ce3d3110264437c5bd0538ac36d43726aa68348291a5360ba7fb375e04df373d1b1a36d2df34363e619b37b5c7ce37c636f1364f60f63620faf7378ab46a383ba98536188387366e86e737446c4a381aafa8369cafa9367b120738322460381303cb36c83ecd3632a121370e3cd2374045953637ec943636232e3734b4c637bcc5913723ab6b3794272038fd224a393fc50538b116d73780622e38ef8c5b38de019b3688c9233f484eb83edd7e4737f4833c36a9c4163f78ddb43e0024e336012ef536e7ecfe3ebc1aa23ec4dd0638076688361788cb3ed0fd863ebb5a1038454eaa36572d993ec09d513e920c2d383010cc36529b4a3e22e7183e76d370373abd9336f69fcf3d3ca9bd3dd5d36237416f44371d29883b499b153d848639384995a8373b56283841fd8938c5f6663885f78e3569f8433743df1f38392d1338afd14e3555264c357465d937716c0238c7a1393605253c36aaeee638209e5b3a7988d7352462d9351743e4374ae0bd397be36b37b8f37637bf6f0b38a05c8639d793323678ee4336abc1e637c0878e39fe62ff3688b6c1363cc6423930622a3a2685673749ea0f371842b937a9a8e837fbce973797cb43371414c037f2f60238e0e441370ac4fc3e6187013f30e1a937913850351651e93ed1bafc3e570ca8372e8c3d367720c23e817fd93e237883398aaadc3558fa983ea166b63efafe0b3843fe8d379aa4683e24838b3edfb431381100c73646810e3e2af2513efbc20b38bcf2bf366e5f863dba02033ee052bf393ba9c536bf85d73787d64e3d4825d937f5370c37a1dab33735213038d0b00f389bba3d370803eb37787a803824f977382ba315373947163757483d382334213aed908b36e8718d36597a02379c900038aca9cb36ae8bcb3671561337746ddd38be69af360b2bae361977eb3703afa7380b690f372a34f536dc66de37e5873e38b9c15b3754e60d375543fd37f04747384caeed36932e79364e121a37465cad37f2694137b08bee362c237c37cdfcbb377cdcf13718ceb13e85fa263f69052338185b16372291a53e088a223f07bb133829448e3640a7853e577c0b3f4da981375f38cb366a944d3e7d55e73eb7b79037ad85ad3687b9143e8e82b33efde93f38e8430437c258a33dc080843ee39e1f38dfe813377377b43cb817273e81dc1c38f1b071362c6efc369a576c3dcf6baf37ce57c1365fba4537cafd0e381e3eda37a996ee3114298636c520fe375812e737ad5ca93601fea43625afff37c85c5a3ae9d826372dcf253757ff1a38ae75113ac6aeab3661492d3617e899376ec8693825317b361dfd753692ce89379f80dc3918d8bf37c7dc9337cbe608380d3fdc3970514f376fa22f37ebb1953799e3fe37933398378c652b37978ba037ff4a06384737da372ab37d37560cc937fd78213856c3bb36878a4c3e34cc4c3f312a3037f68eaa36fce93f3ee3f4453f10a0fe37d88935371fdd173ed93a263fcc1a853859a0fa367b3dd33d716f0b3fa3472c3876c389365321943db22ed63ee786763975d7a7378309a43c651e9f3e49025e399c303437a805d9370059453eaa4cf4376f54163705179e37f324813d59670a3847b14737a3b29937805d843881e444380a69af36f05b0d37a3941d38ff212638ca1c22352243163563cb8236e301da37dacff036dc6ca8364de7043805fc513a0f63173775886036b01e5a37b789023a6f98a4375b3f5f37846aba37b16a2a38a15c1b37a6600936ed3d0937c56e013875819e3788593837ebea843760ce053894f95737c9470636dcc722373ed3a7376c75963797e63837b42261374107b337e5f58037574a563dd28a723fd083dc378ba61d352ab7553d4e46673fa520b337900766374734f63c4618443ff9d55d3ae4c60a371e990b3ce3a9213f7855233a9270903770751838bb54f83edcb93c386fa2b736b53b8537819eb03e919625385bcf433706549937330c523ea12c0f39d59aeb35a7600637ef81733d942fc537b8c7263760bb0f37d2a915381f82eb370000000000000000000000000000000079fc3f3703d0c636d359ac3705ed17384dd2b836d4033734bcb857376532293821596937e0f3cb368b1e9c376484713880158137323f0237812293370ca30e38e0d9a3376c7e653707f7843713f4d3378ddfd9373a309e37b725b537d146ff37c77cf337029b3f3788b7953703581c380000000000000000000000000000000000000000000000000000803f00000000d5475437d6e6d83731d1733f6f21b839736daf365a1ac43703ce4c3ffedf5e39235f513740c7e6371168273fc8b4353a4e4457376280d1379e46013fbfe1243aeb618237c8c89537a8d5b63e5161ad39adeba7374428bc37c0f1563eec5e2f3850254737ff4f60373628743d332f533800000000000000000000000000000000000000000000000000000000000000001706a33759b5b739affb283a37c0193ab2be50378e2848395d620e3a90d4053a83d7d537840584385637d139da18ee3920a71f3810334c39ecf50b3ad2a1093aed89443813d6863938df133a39ba143a550b16387d472938ffcad1398718d9396a85b837232513392ac1d3399350ef3900000000000000000000000000000000000000000000803f00000000000000008f1bf739860a613f12163c3a261dfe396339ad39f58a403f73d7523a1ec5e439d5ab5d39dbfc1f3f471b523a68d6b739bc609939b3a4fe3e5b3e343abdcfee39d780aa39e718bd3e3cc03d3a842d093aa40a38385f8e783e85e96c3a881cb239fee61e39578dec3dabd64c3a84edeb39000000000000000000000000000000004523193881dfaa394bd1173a8e76003abdbfb8373bc12538c48d0c3a16b3063a11646737b693c2376074613a99e4713a8452a0375b8495396d95623a719d6f3afc7f0f382d7e2b3811bc8d3a1083a83ae3e9a7376bf5ed37ef73a73979b1f43983bf1d38548cab39ec79503a48ac5e3a25aa4737365fa438c7ee003a4731243a8b5e19386f1735389ff27a39255795392058cc392cea603f5942ef3ddd37b339e6e220397a30473f0625e23d0fbbcc3912d4d937a4582b3f3ee2cd3d4883343a4e47e939a5540b3f4961953da7d5643adbf33238492ae03e038f7e3d1758a63aec8c083896d6a63ed4e2463d3d79be396c8ac739c4925a3eb00d003de6f1563acb329438b040d83d2483ce3ac645263a1883313868966a396a17053a384aab397698533752562939db03373ac682143a9a831238fb83e4383a00303a247f2f3a6dcfc237985c2738b2e2143a42681e3a1406d337d46b09382053ed397cd0103a4f1e2f3866df4f39ec5c893ae1ed9e3a667f343862ca423825a6413a3cfc6a3a3befb63716cbf537d348b239cdbd073abd7ee537688a0238eccf5c39eea1af39adbd2b3874b44c388d14ad39eb120a3a4839533920a1403fb3d4783e70cea339338b68391e7f2b3fffd6673e444e143a0f8b11397d48113fecd7423ebcd60e3a3d031738d961f13e628f223e51bddd39cbd591392f95be3e266e003e5d84913a8343a238fd1a8d3e4524c23dc151633a819b01387bd4383ece23813d8eeb0f3a0b9802384d7bad3d8ea3fd3c9470cd395f0744389b51bb393dd95a3af6013a3aebfbcb3786017b388bb17f3a8c03533a1ad92e373a056e39f329a33a552b9a3a24813e387680943991345f3a94e6653a3337243888ea4938d34b373a7134743aa9740b3856522138f9774f3aa4652d3a154c8838580ecb3943316c3a22d8863a39440238db6d8538cb28053a3f9f213a1130ff37542a1338cf6df539f7f03d3a5af42138e696be3815a1043ae449413a8602d938e8b51f3ff0fabd3ef689b9398edba639b6420d3f39c3a93e6542553ab821c93969d1f03ef2d3913e8ed1503aa6575838c8dbc73e63ef743e786d3d3acfc326382c9f9e3e945c423e8a22013aad81ec399f2d6a3e3f5f103e3a1a8a3a7e02bd38f6e7163e8732c23df764333a1d2513384372863d91f13b3d0b5b673a9c6b1039793cfb398a708e3a3a38743a39cd6c382063cd39487e3f3a212b303a3dfb853760478e392304c53add4dc63abd9900383d051438ea60403ac830543a954e2138b6693c389bb7bc39e7f6523a573d3838b29c3f392e3a0d3a2013203ac62c31385f4e3e38ce8caa399a571f3aa25f0e3888ba1638490bf639a5543a3a3d13883970cda539c1a9563a3cf9a33aead981397f2b9039b3af023a5be2213aa714e439e5b8fd3efaeafe3ecd200d3ac1d5c239f793e03e6c92e23ed953943a385e2738e9cfbf3e4db8c23e822d2a3ad4c04138561f9e3e34c1a23ebb0d3d3a49857539c2317b3e1040813e1a1e203aec5b413846df373e5e9e423e508c3a3a1c341b38c691eb3d12a7003e1d275c3a51259f397589433d96157d3d678bc33a6bc08539e896ee39803d463a03f6363ab2bab3378dde8439a2e6883a8f176b3ad314bc3708340f3846ea6d3af49b693a582adb371baf0638044f143a2224423a36f0de385249dd39ffc77b3a5a668c3ad83f15387df72238f662833917f42a3a250f32380c0b413861da98394cf7523a89db6e39593aa239f629393afb505b3a33375839d47b7a3978d5373a8cd3823a8385e337a115ec370a8c1639b9af0f3a02c89539e31cbd3eeb9a1f3f0ac5173a429418380f88a73efe7e0e3f65d3263ad1ced238623d8e3e48b7f33e888f2c3a6a73083aada5683e5147ca3ec429893a002627382c46383efc0fa23eb330593a74534738129f043ef3f6713e88d9873a651ead39531ba63d0cec203edecd6f3ae6fe6d390f2f043dadba9d3d87689b3a6a5def37c9105038ee3b823ab780753a0a5a3e38f8a666387fd14e3aaa03493a8e97e537c32907386698ce39b669143a5668b3370c6cf4373950e739fadd313adb173838b2d44138d9372e3a10c2813abdc0b43820a9593941ac4c3acbaea13a9fb10a38ab930f384f3573392aef053a803f0b393d1512399f14ed39f213183a21b79139f4037239ef3a063af937253ae878df3837868f38af708239bff1f839630b1b390a19783e77a2403fcb1b0d3a0d490f38f7595c3e48af2a3f15f0c139fd5b0638061a3b3e5a06123f7eb9283ae49845383737183e717bf33e02ad8d3a5e228f393acfed3d66bbc13ef950b93ae79113383943a93d0276913ec2c1333a39e62d39025b4d3dc3be403e8fc3283a09326e3945b8d5392bd6c93d0b6a373aca555138a9261a396ce4493a48c3323a309832385887483891eec939da9ee839a052463766b3a137289c163ae6cb663afca51a38f8ee5539c0d93c3a5c37713a380ea83773a0c637978c623939151d3a822a603885ecbb38141f623abc63b23a8e63cb3933c1d2392c993e3aef42683a8c278a388622e9374c6b8039586f493a75cd6039710db838cd45a239af58ed39d8f652395aa605399c519f39a182e539af9f70383bcaef3da33d613f4dd0d53957fcb638d6c5db3dddf6473f3fad6c3a5795af39038dab3dd83b2a3f039d963abb71ed37dce28c3d6bc40d3f12cc803a1fcd1a3904b1093d8717e13eb049a83c2c12f13969f2f23c6621a63ea77ab83c83ea07381fca4439cc7c663efa2a9b3a7594b338d15a40393d03dd3de794243ab6eaff38f1043b3926d8113a2f99143a00000000000000000000000000000000ba17b13724cbcc374367c13943da1b3a383d0e389aef1338958a63391c951c3afe73bb38c2891b394ccbdd394556193a2bcb8d384a17b6387329b839a53a073abef1bc38ce468c38e2d25239a4adb939204b963939cd5b397de9b4398309fa3906fcc5396b3b8e3952dad339aa690a3a0000000000000000000000000000000000000000000000000000803f0000000007c2d238764fde39063f613f58fb493aa2372d38c662a43966c6403f25af783ad07a7139a203f039cb02203f7b5d373a1f381d398993ba39a2d1fe3e1150283a711fc53869f538395303be3e48f9283a11c47139f39896393253783eb9d5303ab9648f395479a039f82aeb3da86c2a3a000000000000000000000000000000000000000000000000000000000000000095adc7339b33cb337be91337aca81038ad898335163564334ac4f436cfcd9e37b39705368ef2d7352e7fef362dbbc8370e194c34cc79c53310e0e63705ba4438f12a98361d94723600de1d375f288237e9157d37a6df54376c59d837df47d13713109b367cddbc3646387837d9eafd3600000000000000000000000000000000000000000000803f0000000000000000bb9dd73571997d3fa4dc8938f0ae0b386c418a36a54a5e3fa80e193865fd9537b39b3e36c3d42d3fcff63d3843a6b137799e9f37f207fb3e8df2ad3837612d38d029d036b0cd9a3e0f2c2138c69edf368769ca37cc1fe63d64354638d0fc5c3701764037a8c2d8388cbd41381e6f88340000000000000000000000000000000053f16235afca48353b67ab363698ab376d346934868d6c346542713478efad37517b9635a9bf9535b944b73514e207380ad9ac35921497359edce93594bc12386c8c9d35dda79535d1c1eb36fae3fc37a416dd356f9ce035332a0a38c39046383da89a3505c19235daaf9337d981c33706920535bc9d0c352a9d4137993e9337d2fc2835510e463559b97a3519fbf836231a203542857d3fcd281d3cd21d743764376f34447e733f204bed3c1e889b3744d89b350be6543fd76e873c6a68143862039e3547ba263f55fe113b0e2f163881fcba353e93ed3e522bad3ade160338d4dd0137ca418e3eaaff143acbad303820e4873542fdb43d72826f3ac6996f377358fd34dc1f5438f5ed763844378137b830f0345c901136cad1023810ab81378fa84b34368753345efd3f373965ac37c2f9483419ef4b344a500236347fe837a3690235fd9d06359383583535c65237e9916634d8407a34a6ce83348b10fa37b986e933f9cbeb337154ea33b96bac37e7f44e35bfbb4a3552448b372689173840cdf636a54dde35ff150238fdda303880a30b354f5120354a3d563500f68736d60c9a3511e59c35bb74cc36b0daa737d77d5234edd15d3f8385083e7f49c636dafe49340d99553ff1de273e2346883751f207350e81303fa06c233e6ff20c37641581340ee5083f4298103eb1cde8371569e733a7ddc43e502ef13d5a4a9f37a6924c358d5d643e049aa83d5b060338943f0135271e9a3d1c92243d265a1138c7befa3426ad8d37d76dea380029ae36f7658835a2b9c6362641363802f2dd3744c09134a2c89934ae09ca3700608837bb5c733596f27335c262c0359db2e9360048c73317e2ed338a31f5358f77103877e7f834f415013548204f37108c1f3830dd7e3356e3843380c0403755e21e38caa4a73429eea8347c4dd936628ad4371edaad37bc5483378d091838f7963d388abd2d371cfb0b3752280138291f1f38845cc535a10cc835b6a00e37c6b18b37fef19534c83c2d3fc588a53e3637963487e55c3594df253f7ad1b33ef882da35ebcee23305f0093f93c9a73e9b4aa6373dd300353bc2d23e8a2e8f3e1f0bf83737648133ee178f3ea8915b3e073cd437cd98a0346e061f3e84b4163e8ee41b3747f21d37afd6dd3c17cb9c3db43707386a4f3c330972613822de0e390b40e937e980c235d62231374ad94838f8c1453711365936f1e16336f2c895365b028d365bd74335bfa254351b78dd359adbf136bf96e236a38ec936c5ba2937f76f5237bbe3323669d92a36d9de30363c0f3b3793ad83371dc43237d89ab0373b66fe37737f3f36a4d13f364f28fc360d94c237ade25937ca444d37170368372d81b4378140be36cf8532361a6160378a329b37a07f82361c9b80367f4f87366bfa8c36d238443668ddfa3e5688023f0aa04c36c6e63635e959ec3ed7a2093f383f8e350e16d2361fffc53ef095fe3e2c243c37dafe2236280f903ece4bd23efcf93736bbaf5037b74e4c3e0cce993e5c4ec637d85e3736555dc03d04385b3e545c4636f2184637bcaeb93b45e3e13d1a9c4b372107ad3558800838e26e573ac68b0037857c55364dcc8a36d0b5113874478636268fc535fb6257367829b4371832833615443933f5ab48337bc615373db45937dddb84356b4886351e118435906dac3766da9d3479bfa334df42a034947c9834bf01ce3666678a338b99f636b6bbd73765e4cc3764ed89378d82d637ddd92538b9b6dd37d810af37f3c61d38cb8d48386d0ef63580590036e60e6637d601a3370bd1c234225b303687068737b608ad379900ca3512199b3e5b73323f7b05c1351aa92f33233a8d3e1d4f393f5d353933400986354780653e84152c3f6217b835512cab3404121e3e2e130b3fba9ca13430ad8936f32bc63d71a9d13e9f520e3772c4a137360a053de2518d3ec343a73751318c371a4bdd3843af083e027c9a37fd14e235d09408381ba75c3aaa6fd635d82c9334ee9ccc37683d553829a5fc352f262837b7bc8a374003c537ead3e83672040335455e0735e4340a3581c80435b6e83f36ef37023589b2fe34deb5c3367ccb0f3758ba4f35e7394c3594b55f37b2b2de333e15e233886de33327176536d2a89c37e001ec36d59210372210dd376feccf36e7c3943526e199361cff8937096ca4377eee8b3779abfa379b740a38bd9da136e95f95365d9e7137bf0a893726475c37638ff63d662d613fb64288351aba0a35cf26b23d9eb8693f19800435327d8636dd7f9a3dd5204f3f93f8f734baec1537337dce3ca2612b3fd7f843352e2cf0354633ca3b28acfb3ed8e6e63397cb843791508c380ae3a53eb6b8d2360fe8c0351bf93438a8991a3efc2171354fc3343782715738a202c13a0ebe5736c7a15f34ccadb3370f7d1c3871295934ad5395369a391f36e1b18136f147bd35be86f8345e49f3343b1fe4348d0aeb348d436c35ec5c61353eb30b35939d7a35166b8837086eec35d91de135e4a7c337da36ce366857f43595a9d8359ea55a3717f79c373eba0b36504bfd350499d53765ffd837954f7b375063a337be151938cd8b3c377552ff368ec39b3704d1d5377f00f136c0169a36ecc92437b1034a377f430a379c2085386ef37f3fe465c1341c5df4341ee46b3838f27f3feb7beb346fb174358e002c387f26693f5db96735418d93370d1a7e389bb2383f42eaec37f392db3617fd7f3826e1083f8fc8483709b697379b3a6638c753b13ee7088a373030c337274b6e384b591b3e581ead37ae3404375cc52a381f4da23c52e5e035bd96ff35160e973708bd0c384642c23500000000000000000000000000000000cb287e34f0a88434ad268c342b0a863493afa736c1215c36097e4136014c2637320681364122f635f3964f35ba59af3675479b37de578236308f13342adb0438e8bb2d37a6be5836ff4154364995bd37b86069374af32037048f5037a442bb3769690b38b789e8376df90c3803c13c380000000000000000000000000000000000000000000000000000803f0000000033a0873416f58f34a0fa7f3fbb1102372ecfb1368f183b378330633fe415f237af6289361118fe36d38e323fa565bf37b911a73798c04a38136a023fdac97538a6e31b376fe8d7373b39a43e15460138c5d15837cc9ac537ad97063edf6fbb37bb37f3370efd333804bb153c63431b3800000000000000000000000000000000000000000000000000000000000000000f20fe35b7b91f365a36d13688f84237157c92366bb3ba36d0ab9037f08f3338a22915363d25473660ff96366309c537f1fc4336c0804936f157153736d8b6372a69973682199a3656e1ba373569b13775081b361a560237625f0138eb41b1372fda323673b993369a06e937eeaff13600000000000000000000000000000000000000000000803f0000000000000000caf92e36b726773fcd82c73a2b524237d2c8d736d8d1513f92b17b3a48bd27381e2f7636ca93273fccbc15391eb9303708b957361a15f93e39fdb4384ad45f3663919f365f28a43e01f885382a3797360feb9637b0d3213eb08428382196d73564b0443747ec533ad9e51d38177b1236000000000000000000000000000000005bcf0f36e49c1736666a7837bc55143828f59935aafcae3519dcfd3516278637718cdd3544fcf235edda12365184fd37226805362b340b36b78b8737b2f3493838c2c335a4a20d36c7de5a3735dd163803e82136dfc924364ec5a237a3780d38624ee935645aef3599a92d3887c44238bba91c36ed322236a55056366a1a84363d19bc35aea9d03535390036142d70372ff718365e1f773fbc520d3d5aa5f9376e97b435f0f7613f2a1d793d6178af375a3a0136edab3c3f84d35e3df935f33729120e36f02d143f3fe93d3da5681f38333b4236055dd73e043b093dd4dec637ab012836b5c5843ef5369d3c426267373b0f2d363632d43d7f67823af7d19337e4b81d36f447ca3731287b38754e4e366117d635df112f36b5b748388e9841385c284c35f3a76535a903af3786c80338b1013c355c1f9b3593f00d36dd304236ba8e853547a58d3533919635691392377057833565cb893508ec9135943bd63759978f35a5aaac354942ed35a27a5f370bdcb635c804bc354494c035afe1c3371fbeef35b007013625408e37c8c3083896d45936412c63364e739d36bd271b37d1cdf73419f20835a16e1135253a2135b4dd6535506f513ff2013a3e4158823796ac98355af03b3f8dd1613e2bc53b36b2e18f358dee173f35a3543e1b0439379b238c35475ae53ed752443eb815b7376f54b235d674a53e1955253edaa82c378408be357ef3353e25d0043e0f9a9b3704c403363163853d93d7a13dbdb5e237ee535f36b81f0d3755f1ce39f4635237ab6a07355ee21535a42f333828ca0538d2a9a635a256ba35ca36283873b9193899d4be352b5bd8350719ac368d21d236fb88e935113011368f0c4236a4430338a2e2ee35b1981536d6803e361402593668ac5d3691a887368bd8c736d36306370acf0b36c3b21c360837c7378b9a3d385d960c36db2c1b36edb5c8368a86d637e1217236ca487636fe3f8736f866ac36915e523515226535063e8f3513207137b85cb835b527283f979faf3e80102e360141d03513cd133f1122c83e743198362c9e1536194de63e557fbc3e28ffc237e4491736ec95ac3ed61aaa3ee2939f363f4e913634f3663e6f61873e0cc2ed363e3c213617bfe93d51ba493efad2133830e51836b37b003c706d003ebbdc4c37afad7a36be77963692012f3a14689e36a30b7a350580983504bd5d38177c0c38db360736488309361502c937486a8437e3a491361573d13608091e37d087aa37468d92352b63a13586eb263764651f38cb2f3e36a6308636273a20373af4a837ffb40636aba11336e507f836ba1cec37efc2bb361e36e83677735737b7aac6374887163695395936dee31c3883064b38e1e70b3757dc0f3711242737c5071338678a08361b940e36fe5d08374dcf7a3713e109368c39f83e59e2033f997e87363523d236cd40d63e1a61103f2fa617379473a5355f29a43e97ca053f176df637b2df94365256603ee788e93efeef6537bd9d1436ae25273edb64ac3e6500ac3751ce0537ecb56e3d5188883e0398573793107536e4589f387473203e2edbff3791720c37539b043807cf8f3cfe54e33748ae0e36aa15fc368e1f2d389ae08e37e22a8f353d12aa3532ed2a38faaa9637ca384c36de116236d43b7936a14a8236b51aae35571ecf35b8ee0036c388eb36e2aa043643e21036e9b806373ade1f388ee7a2365ac7af365055cf36ac7b0337c335413626e74936f534513688e59b36a8b45e36581864366b868337d3642538e02d8436592f8136e662b6364d19e636a112c935d308cf35be402f37c02b07389bee9e3567d8a23ea98f2e3f0bfb773514215c36439f843e43893d3f0c897436962ad835f195333e92ff303f326f1b366608133677b5e63db37e133fa8f8eb379bfeb5362571723d65e7e63efb1fd63658eb4a3653f80b3b7942a83ed7974636fc0863363d4a89385c4c3a3e9a76ad37a5b17d363a44dd361e5c023d3e9bcc365a1ecd35ec057b37282ba238145e0338e09c2a3544d53f355fff17383d099f3657305436993d6a3683abdd36a0e8ff368474d6351031f4353ad1f73599449a37c0d9be358afac33585a4c23564975a37327ee7355863fb35e404fb3569d81f37c1a39f3559f8a935c5e7a2350fcfcb371b72c635834fd33542a68b369887a437f73e3736317138368ce43d3607358a366962613605f1da3582ada337707f043885652e35904d203e54e7573f82900f35b1f36b367052bc3de55b683f84de5b3611b2f435787a673d8c9e4c3fb0c72437cd0ec835e2074738fd4f313fe6a8ac364018ff358583e8375bef033f345580365ed4af3543002d386c77b83e5582583764e2d63533dfb437b39e4b3e467614376dbf3b3692529236902f3a3d16a21d3680a092354e12a737c9c0ed38ea6ca7370924c33604149c37d5fa3338b427d3376e8be335e5a7f3351299f435f1ba2b36de95db3598f1e1356d3be5358cc49b3783181d368b8d2236b0dc2136b53e8d37f4024636c0f04936036a6636fe67d4377d291236b07414368a8115366c342238921a56360c8047366a32a0369d2cf83777ac40360e1240366bbeef3651e8ac37ee878737e7211d37239dc937c27c103811dfe337f7e6533af4c57f3f4af7ed353261fa35b5f48537d9fe7f3f43702436d0dbe635dc92db378732653fc1cf4438778f233610e789378fb4383f9d971b386ccf63368bcdbf37ccb70b3fef511c385ec81636aa7711387bdabf3e29a537388b455136161dec37b896553e1804b137d1b13e36f74fd937cb51673d074c0d3682cedb361049c937b52a7d38b7f49c37000000000000000000000000000000005ec5ed34a51c1c354c7563350c326036d50ea135eb45a73596baac35c005df3644998436d0128836c6bb8e36620a9c361ed43f3654de4036176b4a3673b68d366a3484367d8081365e308a36d5757f3703db733756270c379ef5a837331737384d6d2737e55f0e373c3531371edc50370000000000000000000000000000000000000000000000000000803f00000000c78247350866ed35adbf7f3fa7c61c385b5dad35da67c235b087573fc81a3438efbd8c36ca9194361de32d3f9ff87f380cab4a36148f5b36d76f033fd50e513815638936b31f97360bc4b03e924a5438f6d64d3755c60b38197f373efe874a38cfe7153751e13a375e5d073d7af3353700000000000000000000000000000000000000000000000000000000000000007424f835454d39369c10b137462d57386eecee363ef54c371064193849907f38491839362bff803651ffb536f060973783c494362c59a23686e60b383201203827375737a8d55f3726461838d9421c38fcb1f636227688375bf80c39af7b02383f681638ac8b52385b5f803847863e3800000000000000000000000000000000000000000000803f00000000000000001c905536ea286a3fa5868a3c165fab39630c8c37ea51453fa98b483cdad67b3849e28d36446e203f7778583c643d2f379dd10137dab6f93e3598503ad2b5e237c9968c3788b3b03e9118523a0001cf376ffbbc3774d04b3edd6c603a2ab866377a9e6038d15e6c3d5c6689380d70673700000000000000000000000000000000914eb4362237d2368044a9377d031d3841708236358bac36b8137737d2e14d3822965e36465d8d368c3031378fa83438a80c8f36c4b0a6361f8bd536b05911387557e036f826f9360b571038268a72383ad74f36c6a36936a5a2a9376b303738b7dbdb36825bf236a23a1c38e5946638ad50c836797fd33679c0b837abf30a3870663936da9c5636a9b97536211485363f12d436a08e6b3fdd2ea03d91bc373869a0b036bf49513f76b4be3df7dcfe394003933604802e3f0511c03d628ecf39a358ab360f520b3f76a5b33dd74634389bebfb3646acd63ecd389a3d5ce47f3813306f36fc4f933ec2c6683d5d4f3b38ac9ff93628ef273e69fd023d069b6338017ed3369c1bd33ce8fd9c3c7fbded37950f5a366f3b79366fbefb37e0542638ce5bc1350546e235c124e1370b63543870d1e635b1281c36ee914536d89cb8379d863136650456362b526f375c7741385888a43659c8b03664b2e637c6958238045f433624dd4b36c14ed637f1e84738bf7171364c0a7d36b3b7ec36a8322b38dfdb89360e068f36d624f737884e2e3856fc6e36ee27813746424a386d1e6a3831111a36899f2d360b244836947f24372dc1e435c07c463f30e0643e7197463806d122362ce12e3f454a6e3e54460538b9545c3654c70f3f29d25c3e24f0d0398764b336e407e63e36fa413e65819538d53f8a3685c6af3ed248183e9a2f5738dcbb7d36a5b9663edb0cea3df85f2438dd0490364c14083ea337923d69651d38f3b793379952113cd207e73c57a74b38df673236c7f44a362d97d6377f1edb37d35e2f36c3528d36ae921d38fa694938799a0736f8403936c8a5ec37ca8359386410993652bbc836c5266737a9034f38f99f6436ebd78e36339b593749cab437ee9a90366e239e3694392b38e0ea813885ffa0368a83c63608b83237c443fe37cd74c436c84bd736c4dd4c38719f7e38954bfc36b3c8663711d62438629131389816603661e791369a5208381b144838ad6c9336862e223fbc70bb3ea55bab37efcb3e36e0eb0b3faa12bf3ecb465e38f9a5ce366ebde63e95c2aa3e0e4a65385d859836c7d1b63ea078913ee274ba378c86a1361198893e155c673e65197a38a8bdcc36c5e1343e5fa9313e8a2fc137125143373c71bc3dffa2e03d84f75738525a74379d52b038f2bc533db071f737ddbb72368e271838ded4d5399dab6538138bad36f257bc36006a673886c6683838700937de311637a80321373fc1e437d5eaf03650f10a37b4cb0338227f19399224bb36353ace36d4ea40374f1d65389ad419375725203788068e37ba2c0438ebe0d136d33ddb365fbccb37ea736838d15925378f732937f9924c3814558f395c6d2e3742312f376164bc37629ef037f37db536a826bd362bac22370a6c38380436bb367746fa3ec597023f9f39a13733fa163753fed53ed6c5033f4faae73718e40d372502af3eccfbe43eec6a1739c4c4d036f3d1883eadd3c23e6a6b5338d8a62037d273543ec5bc953ef618e7373d3ce4363c61013e6f2d673e11a226389cb83437d550883da543133e4465523880962f3717ec1138bc71893df4055d37266bbc364da49a37172b6a3abd426e38301f7a36f3aacc3741ad713819e763389ee6c23609a1d736ca2caf37c34b2c381df19436add4b936f0bc1a385e1c7438bf7d9f36135dc336cf5c2937390af0375e339a36d22ca736f0ab4238ffc78338540bc036337ecd3670379d379273bc37721e1437ac671537936d3638b0bb62381c8e3137d9d7d137a9d35638769b66387e499136a64ca4364e559437817826383d0fd73726aab03e167e273f461a1238867ad936e87d923eaf73293ff0ed2738d6f5be36b268683e8f36123f00806a38451dcb36a7622a3e7b7df73e9529bc37c671173779fd043ee320c03e5461693847f4033734eda13d252f8f3e6cd99a37a88715373cfe0d3d6053393e718a1438294ad937e6eb713880b6a33d6f6b20380de2a336d60aa0374c7329392e523038bb2368364e9cfa367667fa375cc8a837586e4536b0e15436d7fe25382b0d6c38a2df8a362916913680c5e237035e3238a6297b36d8bb8436b808163768b629386074b3364f861437fa4d2138f0d25438434dc736dd8ecc374c576d38ee688e38b142693797bdb33781b63f387a0c5738842683372034983722bd0038a7dceb37018599363987db36332e253882514d3897dc0737affa4f3e5bf84b3fe02e4636464d5736b0f3223e2eb44d3f635954386bee9136dfe2023eeef22a3f93481d389c8586363b25b33d3aa0123f7dac13385b136e379ccf883decd9e13e2a8f303839dbfe3700d8fc3c0900a93e6d875538b1c6cf379d7c3e3c6e95573e88e6093839e59a37b8f80c384f13ac3dc68bf33686a9c036d107383820b06d3a4b481f380e3290369b8a92360b262e387a64ad375d27ba36a8f3c936062274372f841a38b75cdb3673cbef3660840e38bef07038c1257936a0188436ae36b637c8dc32386b9d0c3756b64c3726163538c18b79380bbad336cdddd236888a4e3721632238db08b037266ee437fa4c4038a7404f38e3bf5a3802465938856e82382c037238ba1a1238be8311384c763138885c2a38a3254037b8796a3d2550713f77c876366ab5cc368b32a73cca3a6f3fd6941538cadb1337e0d6d23bf4234c3ffc2e703860268b364b93463867bc273f80ea31389570af37417c8038b14e013f87746b38a95ad536bfe62638eb60bc3e44a8fc3781260638a2bb07399f41653e5fc20b381e905d38f22b4c39ebf4b43dbe75073802720e38ebf82b38b35fb83a6f26ec370000000000000000000000000000000009e7e83544830436d5112e3609cb2338ab88ad363e02c2360ed3db36b374dd377cba4a373fed5137e4915a374b830d38a5159336c77a9d3608042c379ccb0e388083a7363f1dab36ff07b33691726a37b987c737de17f03770343b38e9a97c38b26d3a38e89c2f38c8c751382a7761380000000000000000000000000000000000000000000000000000803f000000003d9e08361caf3b376df7703f4e0c433a55c5c9367d002b37238c4a3fee62103c925a5537db1daf37e04f273f53f89739c6eca0363f0fad37c2d3023f7475a039e75fb1361d29ba36265cb83ea93245387de10f388ce95938fddb5d3e7f1082383af13438f4f764380acf8a3da8332f3800000000000000000000000000000000000000000000000000000000000000002532fd32662e1c340a72dc3306153734a421be334aefc8336a73b0338d360034e8748e3535936f35b3a16d38f1c7c738000000009a278234d7ca9a34f315bc34a1f4aa355f7b0d36acf1c535a2a9eb352c349e37157edc373f325a38312067380000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000ad8c1034a0677a3ff66c113450897034776d04340efd5e3fbdd183344766ab347c703238b2bd2f3ff69009397ddbbf38de971c34f13efe3e72ae223537b1f03421541836e3379c3e12148737d14eb13523d05738a0d2f13d6958c9381e26283800000000aecb823a6e01ed3400000000000000000000000000000000000000001a5b5b33f0b3df33aacdff35348a0a36a5d793354b67ac35ed13f235bd920b3699cf69337fce3933bcc42e33cdb6013853a3c935799bc8357a9ec93718c99b38cc2b5336b4596d3632547b36ebb68536fe61483534ff943574ba063879e957389d59af376c829e37839c7d38a9568c38f201a435382a94358b846b37aa1daf375328c4352bf0e1358e2b5036aaab1f378d8b4534503b7b3f3275a33c729dcd354bd3c835c89c683f0ae82d3d0ce10336b8745333fa7c4f3fbf13963c9829cc37c23bc4351679213f0e8d233c5a4d99382c0c783632e3e73eb4fefe372493833667247535ba998a3ecbc0523a08a52f38c52cff3753fad43db384123a29b46e389d93913582e2b8386895af388d8c56374735a5353479db362d05fd374b427e37c3c8d73613b0e936926a0e3741b71437da2023358f836a357148aa35121df43660c98e353c84993503ea9e35104b1c386fc81036e3e1033673f60036686a2336e0759835dd42a535b0d4cc3526dfdd353688d1354cb4cd35f0bdde3768236038d36cc73587ab513559065136dd994e37d46eac359ef18d356ad81537eadca63772fb0a36225efb35fca32e36ccb637378a63e836aa975f3fddfb013e9b441037b0c41935b8ad4e3f66af283e9e1d0536d28a8135b771303f98591f3ef42f7c373e17ec356e73013f6c871a3e5657183617ffae35b201b33ef7ad023e7ee9d935c585c235ec213c3edc29ea3d45460f38d6596135f2ebea3cd1e2a33d1a26893690b7a135beaf15383c11643a947c5637ccf5e9352f4dc536e9611d38e041a0376fe1fa35d1a0073627ce61364a8813368d322834a8b73334d6a47934f752dd34b85dba331386d63374aa3e34cccd6e3644942f36dacf303648043236421723387558c8349599463554293c3512ec85359be427360f451e362b160136da4f1a37b9a72d364a562136b4f44c3708c82a38ffc68f35084495354d969f357242ad36f7bd1c37b573123728282037a62d5537119bfa35bac52f3f54e7a03ee6d5fe353a15d2334471203ffad1b53e638a143475a0cc326df6013fefe3af3eee2051340e7027368223bc3e6f26a03e580f9f37d7d0e034483b6c3eaa01883ec4284e35e1e5213637c8d33d4f4b4b3ea8d992360130263655e7a53a7b96ee3d3f378b3713725935ba6d86377fa7ee3ac8eec2357bdc123770e13437611200388efe6437c00488354e708036617a6938546a18380bdd943587fb8e355797a335c2e5ad35e4c095345e4f9734dc164e34ce273637944f8a3793283a37a44b0538b4478938a7a92d36906939367a7d39362dbb4a364717483800814638943385381e29a83818afa4368d8967363e3fc437d7a11338c8ab873565f28535365bc535d72d643630739a35e180a835298dd9374d9b0e38dbd9c6350f5efd3eb49a013fd4445035a13f9935c058e43e9d2f0b3f986e2d359bb85334b637b23e73a3063f36960d346de18337b7106f3efe19ef3ea4ee5438bf6b3b361304173e3edab43ee9053e36f06f5038b1c7223d140d863e687980389d6f9d34b8df263a1294013eff387d37df86513549485e372cfb403ce1d5cf35594a763511a1263808a1b5380e50fd372a301c37bef1333756858d37317d2c37d18e06351bf15d3552847635688e8d356f0723366c3b27365eb626364c291936be301d36b6a01136e85ff635d5652136df3edf346e5c2635aba8133507113b3555d28b3711b3ca36c41a3c3706b8313873f0ad34d55f9834012bb53594cb623743a2b434fb3527342dc916344e8f70362fe91136edc80236ddf7093672ff09369d4e2137057a9e3e0314313fdf820937d0c04035ee6c853ee53d3d3f09b61c3575ba2336cf1f393e6b02343f0a5010360def0b3679c9cb3d189a193f0aff1f363af6233564791c3df9b0ef3e67c42b35e4399537d5950c3c782aa03e6cc51437ff83b934f0bbfe397bd9183ef9900e340edbac34f4c38b375f309f3c8be28d33233000361ea005364d56bb37d9191436d8d1b836890f373756ed8b37889a9c36b2696d35fc367a35ffca9235adb09c3508a7db354a76eb35b37c37355cae4b35fd498836ce22d635d825c8357a2b6b372c1dd435c613e1358436c2352c66f235f76b14362a7109368a54f73554291636ad528e35220b9635b7bae036eb5e1538f1600d36e2f619361a44b03623478a37b4521237d1be0d378bfb10375b151f370edc0f3737bfea3da0cb623fc3d0e1352ec56435a547c53d3976673fcc1b4d3563a5b535d139bf3c2a4d5e3fa9c49f3434a73b374b432a3971e5333f2683c6358740c935c7e01d3a1f23063f599fda356faff435708ae9379fd6b03e426d08367f20973581e49c38b4761f3e293eaf35559d0636f3700c3800d7ee3caa86153649a60d373f901b37efa584373eb71337a3509c36e4e4be36ec2b0f3767866136cf77983562aa95355d207f357d239f3520da333751b85d35a5304835baca163789d42a355c7582351b155d35f309373654585f36df4a6236d0d95836a4da77361984fe3707659637ccf2ad37709361387c21aa337cb88433874a903354c0ca371c8bdf35da88c13573aadb359377d53631c6b5355b7c8d35683aad352be1e435674200371b39083ae110803f76a3fd34f99eac35625398382311803f65cf8435ab0993379a7fba387278653fc951ea3737e38c35e3fa913815f93a3f74b204387dbe6b36a3fd82364a550c3fc4096c3612462d38111fcb382c9db83e20a883383774a433d7186b38c4eb303e3c84883765c4c03522872237c984493d5754043680e1853527fac235f6c6cc377a71b83500000000000000000000000000000000000000009c6d5a300000000000000000d7c9ea35e293e135a297d235b09913382b431a36d4a0a935d7a3a83535e1b935418b3133c7a89134ebf87c33dc6d8634ae5570386d2a523887b178388fc5d738de962c3468a1363418020c3436e40d349fa18e34fdd72a34aa2d703429282b340000000000000000000000000000000000000000000000000000803f00000000f985772fbd27652f241c803f0000000057cb033615af10385df3613fba6687389b3ced352141d535a66c323ffbbb36375f26a634b1acdf341d7e013f27e4d93452396a38938cc838cf24a13ef3f6de38a7fb6134c3b164342d2d053ead7dad34df26be3484b64a3448e5c03c9cbcd03300000000000000000000000000000000000000000000000000000000000000008610d43566cae43541ed823687d0df365cab353639043d36b2495f36846d6e36ed0b7c36e16f8d36beceb8365d38c43669de1e36efea45368683ff3687114737b03682366e84823604dd193798271e377d419a36800c9b3656675837e69eab3607416236d5b56836f96e89375b99ec3600000000000000000000000000000000000000000000803f0000000000000000af44f335dd7b713fbb361f3cac0ca236db8e4236a15c503f8ddfbe3cce675d3669f6a636e1eb263f72d0343cbe19bf36f97359366dbff93e2a0b0e38caec7c3652ff8336d38ca43e83bf0d38ab5f9436b0c5ac36799f213e9c6336384cb59c361bfb6e360df5a73c098e2e38550848360000000000000000000000000000000021be043610bf2a365f3a54378113a33700000000000000005d103d367e679936fa8376339a49c333e667d734cefd8b3400000000000000003b05273579cf5935000000000000000075bc23350408813600000000000000004fb03d37f883d6372b3bf235fc94d63580affa35e482fb350000000000000000000000003b39a333b84fb135eab4ae3554e6c935523409360777323653e2723fcdad503d758ac836000000001343533f256ac03dcb5882368ea8683494f8323f8be1b43dd1181d34adc226349cdd093f22838d3d3e02383500000000c56bc63e21f6503d13287134000000009a2b743e46e5db3c00000000a44ae23505e3b33dd28fe23c29adea351a27e23241f21e34d2f8323afe100d3469bf9735098eb235e8e1e037ad19aa376feeb1347bcb223586a90136303f3b3759d1193629991736696e383661032b364ffc0e3669534b368e349d367561e9360000000038577634f0994035455c203604049036c8d28f368be89736ba140b37ba19ca35cdd1163688c00b37fc8d5a3775c2bb348abffb34a5d311356688ee34def2b535dfdadb352d0afc35b08c023600000000000000000000000000000000ae2a163577ea533f1fa1303ecb79703530aa1d36099b313fb9be663e8a9d1e3606946136b3d20f3f0a136f3eec5c9c36bb5c9c34c21ec93ef996673ef19f5835567b943641b9833ece11483ec39d953604ec2436eac7ce3d88c9323ee307423684a7d63424779a368511f13dc5a12d355776e035d6f8f93556154e3b9078fe360000000000000000fc5314373676a9360000000000000000e3674a3761a90937429a1f36412d163609f788369fe5f736fca6f635540aea3572f2173655a41b3614c685351a3afa35a8b01e3628e43436a125e03692a8ce363114dd36e2863337eb2c84358e903335613aab357d15a43670049736712e8e36184c9b36114cb3363ef41236c694df3599bdf0353a7e0336d839413400000000008147341d9a0c35000000005ed3273fd39bb03eddec7b34a5560d36a7fd083fa16dd23e34dc2236369eea35d384ca3ea978d23e243e0b36d0b5f935dc21823ea667c53ec1181536de7fc2365e04ea3d804fb43e45facf36184102359998f4379a7d9d3e78759d36ba118f362984c736eef0243eb98ec4378cffbe35b69ed13505ef453b5d631c360000000000000000a28f8e3672d9a5347ef0a736dcccb136e4930238dfe59637f1aeca35b12c083671bc1636f83a11365998ca34a3cd9c35feb6b4355b81a33521710b361f582b36d60e253688862436cd029035044ab2354106b63619d88537359d0136479e24365a9b1f36ed161e36e8f3ac35708b8335c8aa9e354fca9e35eafc1036f3b81136a8990f36aa431a3636d09d362bfc9c36c723a8368fc73f37e49fad36d790f83eb7b9033fcfefaa366ff30036073cc43e7d64163f653d1d36f85098356f56813ec765143fc90d97353c2d2636c8d8e13ddabd0c3ffb2716361899c5357390263db221eb3ead155837144e15369b7608385db9ae3ec435ec3660ad693555979d3598ef2c3e3c37b436b258093628f915364410f63c6ffb2f36136e9d36a06da436a4fd253a5b47bb370000000087808b34ee69c0353624fe3403941d367ebb1736092b2836e8521636d9e68536a79ea43694baae36d993a036fc7a3f350a9ca0350104c1354b5fa335c5eadc364457d2360271d436b9b4d9362850db35d52bf635af372b368e1b32369352e13535e103367ed814364a6535367e2c2736926d2a3642034936de57e6360000000000000000d62a0e3587909836dcc54e34af8ba33e17742e3fcba1a43421111c3638e96f3e3a60433f01dc0236a825a3362a8ead3de838413f39928c3630e6ae353312cd37845c313f590410368d3ed436eccf653740c8083fa9b93637d2d9dd352faa4236e1feb83e0f8c693674a30336e7b018360804473eed2ab33625fb2936c8174a3691535d3d4337233700000000202aa9339027d238390ed636000000003982d034f01ec5369df46934e02d0536ca040a363fe509362717033610149934dde5ae3474811b359d0b1135e139c535c76e06364d38be35583428362238a0362b96903647178c362bac8f362f77e034e82f4c33b2d6b234d9f91e3501f58a36d9398236d9368b368979b1364a32313670e80f36e29e13365b681a3654977b35646a3b3520883b35926fd1367c218834c3551d3e28c3583f000000008c19ec3558678c3dd4b46d3f82eecf357c84ef345a2e0436fb04623f731bdc34e5c4e635264dc2368c9b393fe3771d379ed38336afa29036cc460c3feb673437000000003b190c35854cc33e77f58936ccde8036b6589836a108523ed4c7f33683f6f835a2e402369241a63dc88031361788f23461043035c3ad1339a7decb3508a217361a0b2e366a759d37de2226362262dc3363fb93320000000000000000e8cc9d35b8d4aa35f4ef9e35a3e4c13500000000000000000000000036449d33000000000000000000000000000000007d3396340dfcb6349c0fcb34120c0a352e8dc234deae2434db043f3416075d346e42ff3549f2f535dc5d2c36fcfd833650329c360bbd9e36828eb13601257837d66b283604226e3cf7677c3f1424db3500000000bb13c033e1e77f3f3f28f93366f394350669e03555cc623f21d0f3350000000000000000ad553c3f2f803a38000000000000000052e30f3f3d22543700000000c4142135f08dc93e72a385358b02fc33094c8e33011d5b3e360c3f374aeee435797a5c36929ea63d314a87363baf9636901cb6361d7e0e3a3c537f3700000000000000000000000000000000c18ae1353888f235ae831136694b553602d5803619e483369e588736040e993696487f3623d085362d279736fba498363b514036e8ab3d36263f5436c73ac836100ebb3675c2b836e296be364866bc3618624b366ec1523683376036edef5836f6dc5236b6235536632b9836149ab0360000000000000000000000000000000000000000000000000000803f000000007b7e0f3604c146362ad57a3fec4a0938fdaa7a366e469136bfad573fef654438342e86365b7c98360fe72d3f8b7df9378faf53362dec7336f938033f0faae53791c2b136004bb9369cf5ac3e2a3a0239ae23503632c65f36dbf7263ef7d57636c1005e366b619d36b8ca403dcc8155370000000000000000000000000000000000000000000000000000000000000000362d83350606d03625621838b3789a38cfe75b354cb241360f75b236cb3fd1366fc37b36220caa36fe099b380944bc38082d0136996f1d3615b5503893668338e80c8d36f84cfc363a0fe3382c10e2382d46e436bd650438122fad383b2275389f5831356a366b354be1e3378123563700000000000000000000000000000000000000000000803f0000000000000000f0cffd36ae02653f12b1423d82bc383870b367361cc3433f00ca383d5672b636c9bfbf3670da1f3f138fea3c8f9ed737fb822c367476f33efcd2c63c6638433623262038ecd3a63ea59e5a3cbce9f13785f44938035e413eaa9c6239c9fafd3699684536dc3e4b3d988eaf387537c734000000000000000000000000000000000ccc0b35f7ca28368f5f80373b2b6b3846ecf035f8105636da8205376e4f01395c393135edd3fe35c276d0365e02de37bac6ec35c1f32b3660b6573863db8e3830121c36afdf99369e1d9d380b91c038309b0f36458c80363918dd37acd53438ed06973544515336f9ba0f3814c40d38e6920b3649911b3626bf603749971138249e5e35181ac835f6ea1136f54c883750e15736dc7d683f69f9743dadaeb9377bb85f36885e4d3fc0b8cb3da7934738a2183d36c47b263f1599da3d26dee836206e5136d24c013fe450e03d2c7356373da7bc368406c03e4c61ac3dc409b3374c71903698857c3eb4a15e3dfb29973694cf8336c49ee63d2a5b9b3cc8a927366e8119366feb3638141a1b3c50493c3723b6d135a4481c367e5c5738fe33483a5926e834bb719f359d23c437af551b383cb50636f3f06b36d311b537a2453138e64a2a3621ca8a36420fc43743c361381be31b34e145ae350744d0377cc43d387e3c8c360160b03675dc1f3808238338b7a59c36b3b9b9363bfc3d38e3e271388a906a35cf8d9835d01a693709aa0b38025e3f36628e9936404ae63672a7e337c823b73595f935367c119e36cd0e95374b30ca3564f7453ff94c4b3e3f2cbd36e5ea7b36f1fb263f8115843e973d5837988b9336f5b6043fee91823e5988bf3708a8ee356efabe3e3a2b723ec1ab50368cb0c436ba00833eb9a15a3efbdb9f37a612c136fb30e03d9d453f3e5fd75c37b11a9b353d510b3c92251b3e37fbad372a7aa03647fefd361e60da3a89d5f638956042366e6eab365d3c83387d77b5388ce24c361cb9b33620055a38fbe370383aad7136b9d4b93694fa9f3752f538380fe2b9355aac8a369c0b0a374f7cec37ec12ec35884d8d3679cf5a38bcdba538563fc7366a9c00373b582c373ca41e38888b94367f65c336f900d337d63ba3389a7b7d3686fe95364a18b7363053b537d2f79135064d28364926c93615e74e38b8a17931ceda7f31a83c833158808537961cbf36a75c223f0ff7ba3e2556fb365fefc93654a8013fb227d83e9b420f37e47ea3363711c13ed764d13e82fd0b37bf2fa4367f887d3e32a8c53e664abe3787af0837dce20b3edd07b23e10b765374d57cc364036223dace7923e5f9d8538a4919c360470c836ec2b353e0aac203875043536c4d14a378344a63cf539b1380c107f31a04ceb34197f9138c4a4aa38022351361566bc369da48f385a5d7a380d42ac362122cd36c0b0bb38c626d2389a880c3617cfb0369a414437d4c2c837f00d78369037bb368d0f47373c04b038f94b4c36a0e06a36df6a4338f527fc38034c9b364f27c236881eee36f0f7993831ce42362ff2a136fe66053770cead376d8bc2365378d53636771437e852ac38e06b5036697274363500ae36a87744386a71cc36b5f6f73e9508043fa986c436f6dcea368113bd3eab82153f26a488375d01d2368af47d3e3e050e3f15711937722ac4363e50053eb2a5063f3ff6f437c5917936d995c73d5321ce3e9d73d938fd3ecc3615554538841bb03e22d4c238c389b1363fe019370b474a3e6e30263836dbd4363d66b037aa9e3f3d16440e395f837736bccbc1366791d438a02bbe3868b79034f99ce13591758b3831a53138ab442e363da8d4366efc6e38d9016d38069692362ab8ab364789283762c6c83786d8873645ddbd3687956e37f1ba8d385e49d1369f2cfc36d22e2237b45df5376b264336fcc08c368dbcc636953c8838903f31364e839436488ff236d9771b3780b0ca3603c6ec36ed0c0c3732f1e337bb05cb364468db36a309f936a4683c38ced50436683eaf3ebd6d283ff59c24353a89ea36ae9a703e3fb63e3f32120837e194ad369534cc3d4e4a393fd3efbd36e867ca365399063dfff9233f27b86f38a70c01378160d4372615043f10b5123819799836044def379cb2bb3e53b8c9388cf8a636acbb0a3794675b3ef5f02f3857b0ec363688113751d7923d94fc6838ee21dc363eb6fb3611be273ad1978338be18ba36e6c2e837f066ab38ff5b303891abb236a635f136eeddcd378f836238fe6b9534106c303590b2dd358acec937bfc423365ff37236bed2a5362d701c38d2b96e36fe0990364c2ad5363ee92f389bceef31f7476c35e3da203602c8f937d810b8364480c1362132e93683354738572293362299a2364990cd3618491838dbc8cf35479c1936f89057366056f137dbfa0638a4e64f3eff024c3f56a5ac363c5ffb3657c2c73de2a9663f7081f03639cc3d355b4ce137eb11573faf79b93729d28636d2947f37943e343fb2909838bc5a9736fc3b95374ed9073f7c6996386efe9b35cb674936fd25c83eaa44993877fecc36bc769237935e683e641b99388de7a6365e8f16379a59b83d18002c38b155183662f45d365aeae63c08490f3838b5a2369f921e3899f5b139defd2738109e2535c177ae35da3ef335ba15b13728041135fb40e73479c4ca3477334d37d2d69e33c6a84c3594be493648437337a40b0e360a143236a95ab6360add89384d623636eb634c36fb4581369ba047381b726c36e5698036ee31b9366ee59737e630c136d12ae736bf1917377c41c238e69fa7369c45d23604520237a1ba23389e1a42380ae94e3df9ca723f59b61e36873cb43531723f37ed937d3f9615d4372b4dda34700e073607635e3f816bbd3809de9d357f318836fdfb323fa55a95380f5345363ed4dc3684710a3fc1e478390f194e3635b793360461c53e6b11b13862508136652ed83661fb783e6a8e0338a870f336069bab37f5bcc93d16d0cf3890acdc3691125f378876033dd0341f380000000000000000000000000000000044e1ee345286d1344ebfc4340eebc3341a4fa635f17b263646d5bf36b50ced37207d9c34a186523656a8e0364c0fa2380a05ec3558cb0a36d8eb1f3635fb3738feb299361faea5364161c93655b7913873096f36792c8636625b9d362770c636a6e5e4366a4f09370b608937627f92380000000000000000000000000000000000000000000000000000803f00000000e4d1c8343a6dc034e28c6d3f0734b93c81ed5336c294e7364b3a483f7071ee3cbc728536925c2a372957223f026ddb3c5de510361ce627365e5cf73e05c58d3c9f5fb036541e1437579db13e145d053900e08c361319a8367cf7423ed9d3d53810121037d78815383ad36c3dbcefc13800000000000000000000000000000000000000000000000000000000000000000000000000000000b2ddb9328acc5b32df56ae356eaf9e35b6d60936af452536c9005634ade79e330927d83401467635a48eaa34344eea33026c8934e0c10d345b1f0534c9a90e34bb540e3497a902349c66f53616201237e07719342e190434e1168c336fc426337dc85433258a493300000000000000000000000000000000000000000000803f00000000000000000000000017b37b3fdb8c1f33000000003ea8b1356cee5d3f37c1f837f40c0d36d486cb33edd9353f9e869b354d8e7d350b709633fc61063ffe3f0936b8675b33168512372bebb33e10012e372a0fc133b89bbd37bda1373e60121e37b053f333cb4518368d43273dd6c57033ea38963200000000000000000000000000000000281a34359c205f3551de9f3506f18b35e4ec073681ae1d369e69633614776a3631760d35f77e3a358612a93559f2d03572ebe134cd06b934010f0b35f6891635a00bd4356254ce3521780236913802363f13323463b2403466221534d8b02a3440813637d88a83373dd4223575850335af3b693521e4843506ec67354de53d3506f00535c503023546a5e2346ef6eb34fcf34d35ef4d803f9411033c756675357cd51e36eab2683f20d02e3dd0ba4636eea41b352904503f8847f43bffbe8e35e068fe34003f223f299d633b21cec7340542d3354bf7f33ed684333afab4e83555fd4a349cd49c3e7eaf163abd7c0034937a9937cd33143e1d274c39ef09dd34dc2d2335de72b53beb42163a01656a3536c3e9344401fa349161143538a72a35d9326835974b0235144fdd359b79d735000000009a5ba13344ff7b348e5447343f0bf834be6c01359cf805352f0f18355f534734de0a78343772a234588e9f3400000000000000000000000000000000f6350335f7390c35e9f7e7342425f934268fa7343251a635abf7d034b9c6c834be5a9c344523ab342e20ba34581e9534d65d6033ed715c33d46c6f334014553363cd94340159623f37a2023edb84573500000000f4af503fce74293e000000002722e034a9ca2f3f3cd8163e3c180535797d0f34456b053fa90d183e7201883400000000a7eab33e7f29043e000000003ec3f334ebeb483e8e03f33dd99b03353d568634d0595f3d51ab903d9c95bd346533b934b6c1a637c9643d390118a23492a875336a03803308427733cf43693300000000000000003eab73351ded1b350000000000000000000000000000000077b93034bbca493403fa4a3446a14f3475767334c71947342fcf8434276c853465fa123300000000000000000000000089999f326eef583667b25c329e0c3332e5be8536e07f1e377ace97344aa59c34703385320000000000000000000000003ab47934f15e0e34e3452535a6ad7135f605b82f062b3b3f25c0903e981b1e3300000000a006283f3a47b43e000000005b8b383419b0053f3e34ac3efa943c34273e74340c18bf3ede1f9f3e6efa9934000000002f0e5d3e12ef8f3e000000006267093607f1a43d133e743e0000000019299c36d153b63c7df0f03d18eaae340000000010aea5376187fb39000000006f510134e5732a354389dc35a1f7ab35eed78d34dd7cd93462ca333519e5123538bda035727ade35509320367c8a1d369c8e5534823e8b3449ed0135e4dd4035988b55348ba12b34dd9a503404206634e3899f3535f6b135931fc7357971d4354a30f33357e83534fb4803345b8e2e346890ba37d7fdeb3784f31e35082de834e1bef0357902f8359562033624a60b36ca10f534b7d2f23477fae6342209e8342e8cb934a6f00b3f0601f03e9779d134e487cb359b95f63e5a89083ff051fa35f9246c34651cbb3ef66d033fd400ab3408636d3408f4593e339ef83e1dd7333438c5ac3538c8b93db9fbd73ed17bd0359ef3163444ff453df47a8c3ed91a3e34594e9d37350aaa3c47eaf43dc74107357109da35d5e6d73980ec9d3a658b133601b0ca3414b5f83481ae7139ef262835b801af34f1bffd34d732a03561fe9f35000000000000000000000000000000002285a0342acaa53443a7ac34beebb034000000009fd4073765148133d5cd503300000000000000000000000000000000abf959341ce17534cb8b1c348a690634cd535537d799ab3792d89934d3a59c34a2e94d310000000000000000000000000f5dd13200000000b05eb132de67173446fafe3380ebb63e9f51283f8608b1330000000034939d3e5ce4343f0000000035569b34a7503f3e069d303f28fe9e3481c9a436e4ee9b3de977203f1689db3200000000a9292f3d2645f53e000000001b1b6234c8e7fb3cc4119c3ee0c553342541ac374639753c74ca143e5a328d340000000035c1a4397dea9a3b00000000a41e4e32a0d52d327eab9534ad834b33b0974d3365aa66337ede983467578b338068bc34a1bbca3471a5ed341696eb3474c484344ba191348dfe8c34995e9334b1ebf13446d1e73423f0f0348bfa09350000000000000000000000000000000099d541349566503407c84334b6cc54346bf1cb34795bf934492ad8345eb9e83405c2ac34e614af35f6058a3388723034c2ac5e356b3fcd341bb68d35ceb49a35bae357339879393e4271553fb6c6603310e4b63468c7113e9c195f3f64b0c0344f9a8d34412e5a3d5c7b563f84868c3440c7fe348c58503cf006313f79c3383500000000195bc73bea8c083f00000000fa533c34099ed33b0960b03ecc234f34e29bde348595bd3cddeb213ed8611935752d013421f3203be7bcf03cf3b46934448369354d31ed363884fb35150ba6354f9aca341ceae9349a7c323553841e35f9d7f53411503d3512ea8235c1f985350b191c3426699334a9c45934136dc9342ef79034a2315b34857f5434954b6634e9cbca35ee8ed435a02ccd35601eea35e05ea334efdfe0346074bd344739e93441b94c35cb5f4f351f996b35b2c290350f9f3636529c3336a08e30365a6946361a8664358e337a356276703558318435cc1ef8345e79203d74c0783f053cf334e4fd3a352c3c633a9d3b803fe7014635722d3c34e080143839545e3f1dc585347d6a773444ac0f37dc15353f85967934f6dbb735ce8513396f150a3f66e20736a007af34a3f8af3727eec03e3b0e22356d7cd536d6dc9e3acefd423e116ea335283123368e75113ae832693d2735523625c24e357a01813544b39d3550fa9a350000000000000000000000000000000000000000267945321633813100000000d80904340b91c13321c5e733fdd50f3437631d34245801348f912a34f9353e340000000051b91733a980643200000000b548b834160e3235234beb346c383f35a6adff35d5810136e243f735a273ee35354405320000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000d50aa932a5c8783fd761fd3019e3e9332355e633fd29553f5d7100345cd491338dddca332e922a3fd7dd43340000000099317233700afb3e804a1d324b6b6335b1346135cd999a3e28e052351954fc35be1cf53792b1123e21ca053600000000000000002b00ed3c0000000000000000000000000000000000000000000000000000000000000000000000002ca9443431356f34b82eb13495ee1c356b560c34cf4a54345e604134eae075347bede8357463cd3562aef835da8a30365f6721362328073604be5c37d6826436e704d2340c85043550291137f1ad9435dffa9a35e97e84354cc47137ff01ce3563a1803424e70234bc077837da891f3500000000000000000000000000000000000000000000803f000000000000000052d987342f17773f90e9f839bf513b3516a8ba34fb38533f7922063db3af1c34ca51e23528262f3fb5604d3c929329369da5ee3532e2033f9e36483a4cb84536e52cd434668fb63e387c853a839f3d35a84f8f356225483e8e5cce37a4dec9352bc112349c08373d097d0a3919b32b35000000000000000000000000000000003882843471f56234d313b435d801e035a739473505f25635069f553588858b35c6c35f34e861c0341c280235bb2c06353ce69c3572d69535a14dba35ada2f335b461d9350217f0350b23a537a0d2443694a0af35d662ab35d4794d37080cd635c7baee35c2e2d23553e725377d460536b465b635b46fad35623393351acfcc3516db1b35f7b303355bd94335d2e067358d06c0341c57773f69501d3db289d9359efd6735358c563f92b5c63d559a7e350d15fb342159353ffddec53d6fd76934e9a49835cecf0c3ff5abc83dca630536d043f0355998cd3e5e17a63da24a20361db2b135b1d1833e1adb4d3dcc889e35414fcf357383ec3d5d66b43c65340d36d255b135d974b63589d05e3cea9dcf35c008a834f8443735783a823693088135f8099b31825d8f31cb2f4236d9f761342a6d6f333d2d65336dcb443369de8033583e7f35533389351572b435771cbf351c642033b9340d334f60ff321ff8083338283a3523a0383501d29836042f79357e6d043655bd02361b7dfa3600a61636ffaf0b35d858ce34b39e0e35ae2c01356495d73501c8b235185aa235358dc435898512351af1053574e71735eefa243527888031d17e5a3f135c1b3e3526bf33940d6133c923353f273d6b3e0fef62330ba66735dfbf0f3fbf28883ee64ead359f62ff32b5add33edbe3783ebe7fcc3214562235d2bb863e7896593ecb246f3564dde5358336ec3d3b243d3e3d931136d399c534986c7439a141f83d9cbaa135150b9635c507a8356836953a14f8e0351457be34e1020b35ae9e4135ccd14035025e063527792c35fb4b3b37b5299a35a55b58357b6974353d479435c587b635ef185635351a513529e047357d95653556bbe035ac39c8358d2fda356b650736e5287c35767b8b355d9a9635866bc2355b1426357d131f359aa78635edecdd35f524e035854bd035d5e9d33529c9f9355f43b032353bb832529e9c3228e0f932e3544c340e491034191bac33416d3a34b75d47350069313f4114a03e7dae50356e4e5e35b24f0e3fb975d63e88469a358bb65535f575d23ecc01e03ee4544235707abe35a6488b3edf13d43e33ce0036a6df7e354d55e53da9f7c13e8740cc356771eb346864703a1fb09e3e93fbd5351d38c735227ee135e8b60f3e2395f235b139cc32fc02d4320025e63aaa25f832b3201734406bd13467ed0036f84681343e53d234d281a334f72a8439b77eb6351ac48235353c7b35174667356df39035ba6eab3547dbaa356112ad35ca61ae35dd03ed35bba5c73579fbd735ef4fe83577981b36071611363259f435256b1636c4000a361010fa350f46f1351501f935de6fa2354085803545658235d8b69c3568189335b02188351abc5935aff48b35489c5135dc253535b4069935fd0bb8357865aa340f5a053fda61f83e5c9da235d7a87f35e1a0ce3ee3d8193f73d67f358a8cb2356616843e70b61c3ff2cb85358e3cca355176cb3d0f91143fa3f3fe35bd1c0836ef01463a8b95003fa60f0b360fdd0336f9adfe351fbba83e1dddde35c22d6c3588f68b35db640d3eb21bc935724e8835e34f7935d47e863b09c482354a192235a7ab8935a3845438ec889e351033643130f3d9339ee8ee360dbe62350dfd0533e377ea321933d435e46bdb328533e53508c9b635221ec8359491e035e6d5813504b689353554b4359495dc351a9aa83513239f356df09b3578dfae351e53f23504c0dd35320ce33552e4f635de963b35b5a34035f3c554358aa18635370fa035fbd985350b8871357baf8b355ffe10356fc50a3546ba3635caa675352ed26133c016b73eb05e263fbb40bd34fbf3d23240d77d3e08ce413fe90ca4328e7aa235c6c7b93ddbe4463f7cd5d135ec8589354f034737f3e7313f8fb8e935001a8f35fb3ad335fbde043f5987b135b5c8c13570cceb356d7fa53ed4be0436b0523535f7e36335057a233e2bcf8f35405b4b3527458135855e013d6205aa35295ba134354a3035627fd83969f689351aaaff34b1141b3504feda3911c64b354f2cdf35b05bd935a0b8cb351103e83525bb16357b57ed34ed9ac434cb8fd134d68c15367a2d0336f143fd3538371c3628986a35ce446035a24452359e989235eaa3d8327903e232f9c3be3263811a3325ceae35fc879c3551f39335d4e6c635724f7833880f70334c724333269c843304b85c310cba67319e2a4131f3a399314b4d1835922b403e4dc0513f957b1e35b04cc735cfbac43d4e9b683fb94fbc359451e434db6acc37a48b623fe585ad347273ff3594461336725f353f3db31d36a59f5635929c9435fb52083fc5e3a335fdadfb32f44a02332ebbb43e9ae019332b6496354cd6ac359682383eb719d435c60a70338a21643386188f3dac306e332a76803146b88231540ba539f9aa9a319ba3113545c0043551dd8137c50a8435ae34cd3538c5bd3561199c354967c9355eed0a362707fb358c2eef35ed1304360a7aca35dd319435b5a19035516fa83505a01f36f8f50236b95afd35a21b2736d623e7358236c535b1aac235b21dda35b6710335643a6434da8d7334f21dac34199c99359a1a8935635e493534fd7b35bafa93351a5f6b3533f2bc354f81de358997f834fea8063d5ad8783fc5c34035550cb735fcffb2352d747d3f2213a8359035ff35cbb90136b2705e3ff7ebec35ce4c8a3510d89c35fa3b333fc2e1bd39ff96dd35ae3506360e66063f0852663805e3d035087ac1350e58b83e5aa54f360ef13b3472f228345ea44e3ebe0e77369e478235e60c5c352bc8903d7e666635a1e17c35b24d9a35dad03439a8abb23500000000000000000000000000000000c6fe693450891e34638dd333e8e8ad34fe8998359db3913586afa735c03bce35644102359c39c634db4d3e3523ee403563fd3636c8f21136e8bf1d366d813a3632b62036c0290136b0ca0a36affe2736d6739f33f487af333b684e349fe4bc34b6873d35f241e73409e1ba3499d209350000000000000000000000000000000000000000000000000000803f0000000011141b34a170af3417b6753fce6f3d39260a8935ca3dad35f3564f3fa8d4d038e8458a3453a05c35e279263fe280d4383f580636f1ac3436a841fb3e9a72813ac504f3357cf6043633f69d3eb1eb223951e33f339038ef331cd7163ebbb2eb37ed119c34947c0f357adb1e3d75f31f3500000000000000000000000000000000000000000000000000000000000000000000000000000000afe3df341409ef38000000000a8ab4342514a637edb92338000000000000000000b88f387682ae38000000000000000077807c3873fff23814dc7435993d56367104ef376a65263800000000000000009f16b23ce4ec6c380000000000000000401d9d38cf13463800000000000000000000000000000000000000000000803f00000000000000000000000050c8633f0824673d0000000021c91f354cb4433f768dc23d56873d36000000003d961b3f5df5883d0000000000000000eb28e23eb72d323dd3f5a23077595536f14a953e7654cc3be1c32836000000001adbfe3dd12d333b0000000000000000dde2203d67dd8b3b000000000000000000000000000000000000000099fa9f334669d2339f036438ae8461380000000000000000ae2b8137eb0eec37000000000000000021bbd036cf73e1370000000000000000c884d4388657193900000000000000000b5102387a5b3b3800000000000000006d8d6d38b4a45a380000000000000000cce05838f880503866989334480abc340651dd34ba46d3368570a933ad1b9b339c3a943315c39a336227ec335f82683f36ed943da22adf330000000024d9443f9f87033e00000000000000003f291f3ff3ae4a3e9181033600000000b7c8ef3e707e4b3e000000000000000008eda23ef1d0303e00000000000000008f6f323ea0cee73d0000000000000000d9e29f3d575d133d00000000b322b1349cb81a35cd84bd3ce8b4ba34b31e8e33929e8d3320d8f03858f1753bcf5c9231236a4b357c99a336f4be663700000000000000001b761b386f4da138831f07330599c8339e3bcb361d09233800000000f806fe31be93b43798c00c38ad560b343cd52334ce1dba371f4fc737f4579931ac7bb4334aca483868ae413800000000000000004b863132c11175359c251934af202234accf1834a67f76355991f133be2ad03303cedb338a4eef3307fb89358ea4483f3c7a2a3e725c5535000000004f70203ffa53933ef8151d321d90f233d171f93ed8b6b13e1366d233f70551324ca2ab3edd40ae3ea395e6329f1f2a34c173493ec7c8933e99dd8b3479afd5331c51a53dcd016b3e2015e1330000000028d486318f2ced3d0000000004261c3407fe1e34814fe4390737763beea5b43347ccc0332b331b37360b4c3d4c3da332a89994328a7c1439e4ab3a39471d4033f3fe0e36661a4238e3f0bd380000000000000000ce6df737e9b237380000000000000000d195de350ee02637bc80af356e551e36831cf6364870223700000000000000000000000035e54138816a9033a8ba8433433c8f33c1b5d6330000000067de3f309a8ff6328d7fa4379c39f431034fe231bce96e32e6477b3523ee9a329854223f338cb63e00000000824815361d46f83e46dff43edc6b9935000000008880ad3ecc01053f00000000000000004667513e2ce7f43e0000000091381636ddbe933d9df4db3e01cdb53400000000cebfd73732bc9e3e912fc23293b876337c9aae33e8d4f13df25e383a0000000067beff34ba6d0e3a663c123d38cdd3313c38e933324e1038595a0b3dd0728133e290a5332c9df2392418fb38f12c3133d11bc8333c1310381cd1283800000000000000007d0baa379f9ec43700000000000000002afbcb382adfb33803a16434cf03cc34dec9d734247b6f370000000000000000000000006dda59380000000000000000000000003e0f1137faf9ea34cafcb734909b8f3417ab83373134f133ac1ce033055fcd33008a9638060db4331fa0f23e6773043f1d86c03313f01c348c67af3e9b6e283fdc936f34000000001f644e3ef4772a3f0f01383400000000860c833de33b213f0000000010b2da3489f3a1361351003fb46b81360000000000000000686a9e3ec80f273a00000000915375349154e93da86dbe3c2899983430a68b34f1e6e439392c533b42becf332a23c4335dda21396bca4d3ccb8344358753b0356cb02938181fc73700000000dfaae9350d1975389d1422380000000026a18133ad129f37c5d89f360000000000000000084cf2327548cd37993d42340811373456df1534c017243600000000000000000000000000000000000000000000000000000000d096bf3700000000000000008d24e234f663993700000000000000000000000000000000b9e9ce35b2189f3e38de283ff606ad34e8c40936e574423ee140473fd202a5349adc993385c6583d83ef543f5419a63300000000dcb7a532546c313fbdb4ca36a1c42634ded91535ef62003fa1c523390000000000000000a208983e963fd53c000000000000000037d4103e49ca953b00000000fe438f354822173d357a9a3b0000000000000000973c243cdb81883b486c053415fd0434697d263d24827c36307e9b344e502435ac91e5354dfcb735000000000000000000000000000000004bc8c333f3beb333fbbcc133243011340ef58e34068a6734cd534a34d67c303724628032bc57833285cab432aefb5d37cbbdc033a6d1a933e91fb13311af003411eb2532e22fd631045cd2317bad5837737cf334783dbe335bfef534e4cba33546681034aee4043e84ea483fa204d033dc90fe34becb6c3d0f0c713fb5b9133400000000000000008908633f5974ea31db01a733e028ea3307f42f3f0a41de3b70aa4b341f26583451cdf73e6533123d4baa7a3272020f33acb8a03eb1ac7b3c3cfa91332be1c7336ae3293e3f25a23b000000004a120f322fa3b03d8a738d3bc4b011349c97f734f836553de46dc63aa31d7e3306828c335aa899395a1c9837c3831d346ea34f34a85792347acfb53400000000000000000000000000000000000000000000000000000000000000001bdc8133f44d503200000000e9b984370000000000000000000000000dbf8538cdcc57356f55043523199c35ad968936913fd933fbac313200000000e62a8537d52f24343c92ef339846eb33a678a23796289833192a323d9eb6743fa7e08c3384f57334dfe5eb342aa67a3f8a1cc23400000000000000005cb15e3fecbaa43c0000000000000000004b273f1f6a833dfbd95132268a1733889cf23efef9213d0000000000000000d028a33eecbda13ce0d14e35efc8de350276383e10c7ae3b00000000000000008610d53d267c133bc847c1333421c5333f90ad3c0935963a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083c10f3400000000d8f7ae3550328e37000000000000000000000000b2b1d437000000000000000000000000c8172f38158fd935a710b53534491e360a3fc737000000000000000000000000b628b0340000000000000000000000000000000000000000000000000000803f0000000000000000000000007f616e3fed94eb3c0000000000000000cb30473f8328a13d469aa634e68a06360bc4223fc7c9923d0000000000000000cf8aed3ea131613d0000000000000000c1ed9d3e7ca9b43c618cee35366b303657f4103e665f1a3b00000000000000007d61543dff3bc53b0000000000000000000000000000000000000000000000000000000000000000f89e3f363d3d38364167ec3639048337fbb33536ab703136259e1d37b2c64837beb35b372f57ec361130ce375803e937e077b936608295351b1806380a3b4a38297e2c374cc1d336db9bb737d79dd537e8068f36e3a8833640bb1537078950371501df363769d036a6adf036e764d93600000000000000000000000000000000000000000000803f000000000000000021af3936feee7f3ff3300d38b2002b37c4c134368bd4543fea3ffe37eda52b37ee4b5c37873c2a3f8660ca391140cc3746c1b5364ca2fc3eeb1ba138212bf737967b613700dda43ea6fb4e394c58aa37afb18336cbc41c3e52dce7371edb8836b986b236544a853832a190377052cb360000000000000000000000000000000064d642364d694f36a2f09c37bd79c337363ec53549acb1352aa6cc36a44f503795792837b2901d3799113a378126bf376c13cb361e9bc7364afd7337ca46d8373a906b36b1cb2b367733aa3642cd1b3796ea38373f6104378de28437793cc937e30c19371fd71137c43b46378fd76737802f343670e41e366d633a363c1a023795718536dfcf07364067c036b0335237d9811136f87a7e3f5068be3bc9c75b377037a935d3b3753fffb4ea3cacf4d83661f420375b284c3f7497fb3cb40e6637e00cc836a854233ff317c73c2f288e375de43b367c07f33ea44ca03c129bb636af960b37ca44a03e1e49263a68ce8d374f0510379ecd1a3efef71238f334393781cc1936f092b23765a7b237055e42368918b33515ddba36c40b9c37ca015737d4949736254cdc36bd072f38aad2343848958636dd327936146ab637819efd372e363037a47f2837fd92a237a89a0b3859ab8e36f8a37636e1496237a4f5a237671d1e379d0e0037f1afdc3722a85738457385363c32ea3555249637f66c47387d6162371d474d37445291370fcee23786855e366a9e4036d48ed43668ab5c378224e236b476bb365ebc2a37bf7f9137b5711b36c7c1533fc7b7303e07067e37897e4c36aea14d3f29bc403eda0f42377e642637a703293fcc10343eb410923711cc73369db30b3f49c3133ebaff6b372019f536f9ffcb3eea8ed53d30ccf337d4a8d235285b833ef9cc743dbff89937ea8949372d19043eb5999e3c09e48937a0fd23366e2eb83776fdfb370ddb9f36eb905c36acd728379921f13734c76a37f0bdf632ad76cc32afa34d3632db7c33e40b8d342e459134381d83374574d7386cafd736beadc736f4716237665ed23724da5a3657905836479b723615302138d7596836937815355af3023782796237eced2b379f55d736eefea1371b540f381e7cf1366ecde3369107f93604ac46373bcaa6360db795368e6c3c3796c3893758ef8437efc2683722779a377d19db3723609b3219df283ff42eae3ef1c95e33501d8f348744243f7990b33eac303a36bc45bc36d5280c3f4b87a13e2688f43633a253365386dc3efde4813e01c36c36e3791135c370a03edf09403e80f2dc36603f96367d9c463e1c0df73d1bc979372871da36f5b1a73d268d6b3d8872f036434f883643d3b737ae750c386c40ff36e649eb36ef57873789073138ca09a237bc2c05378c321037736d2038c308fe3774add335bf74c735efe4023660abf93636931d373d681637d066383789920738cde3cf36ba548b36c2e126379ceda238ad3a6737a094f036fc18c23754ce2c387e4434375c6cb3369d884c37084db03735147137c1ca223794bf913781790e3863681136fb4dff353e938f36884d5a37f7bca23707104b372b2dbe3756a3003838405e36b1adfb3e6c18023f4899b6367830c635646ff63ec0bb043fc9c0d535d99913377312cf3ec8f4e43e0d1e1f37260e8936e48ea13ef42bbc3e44d7e03645faef3617c66c3eea86893e5de78d37cc2f8f36d6fd073e936e3c3ebde21f3711582037d37d4a3d3f7fca3d1ff02f37c361ef350e239a37c3f3ab38321305362940103736cebc3750758438a297a737db8a503754a33c374f2c14389970db373aae8f365b267f3695b304372b9d8037f44be8364d97d5364258e73680275637aafc273707c6ac36ea373d378279f13771c4e9365ee12d36e8cfcf368b5460372d5a85365cf96a36681fdb36fbef1d38cf148f37b51f2d37daf39a37f8bad9370f934d37ba7d0c378dbd8e37b58ecd370ca25f334352393302b853333cf9453390628f3624f3a53e4af92c3fec63dd35c9d06a36ab44a13ed2542f3f696973362ba1d3364092883e4d02183f564bdc36d480a636f2024f3e5c57f73e89e4fb36539522366b860f3efdc1b73e2d7d8736a4fb6b363d248e3d53fa7b3e364766364115f836314e873b7cec073ef3992f3726adc436af140c382c3bf03b0a700f3745765c3395703b335a8f723796a86133e4ade13603fac0360cedb037349c8937cfe9453603a3193633173f3688bb2337a5a566375ebc4a37f2d24d3769bcbd37382e553782470b36c562d33677811838943acb37ce992a37ee756837654e3f382c7e8b37f59e453774df5537fdfa9a376e15d837f5e08137a4baab373f68fa37a66ccd37c7739037cfafd0373f6900389fb3e7374588b337d6d4c637c34018388a85a636750a203e4df1573fffbc8235240b1836e5cf1b3eaa05593f5a970336c5544c375157103e94e4353fc92e4c37e5c56c366e5fb93dddcd173f0171a43610ac43372f42783d3d7edf3ef1f3803747d64637566bca3be07c9b3ed5f03e372c037837efc04538619c273e12f0843736394f37e837023841c7083cfdc48837bc909837a75dab375a5471380145a637440f063774b47b36165f493766115637b3b4363667a4183667521036c6824936750622370eb90f3750ec0b37ece86b370412883770383d37d80c18370098a5370f05bc3681ed7e36e0dc6636b1b8dd365a71a23749fc0237a5a7d63634d3c137250c9c37b97d39378ae439374eeaa03725ca04371039dc36ff2ce8367dc91d3775209a37a9c77a37b86b8937796189377bcba436ece1213894f77f3fd34aac352a0b2136ea4de73763f37f3fe0100d361f2e1437cd8bc9371645593fbf061337d2fa5e376f5e03385aaf2f3fe2ba513739149d36dacf7937006f013fccf195366915323757b5f63787d4ac3e8163683784ec3a376e8cb737dac72f3e278339377e8cd636db6a1437fc2b3c3c66b9b9366e4d4637b80d6c37e257ca3709d31237000000000000000000000000000000001c41c336dac87b368117713624917e3735038436ef068136815a7c362bdf9237850aa037f93cb33665478f3683bfec37fc460538a3ffd736d596923677ef4e3878c1d93728129d376ccf8c370809f03783af4a3720f00737bdf40637ca375837227776372083da36e2c32d37954da3370000000000000000000000000000000000000000000000000000803f00000000a3caac36d47cc9367df47f3fc273c336de9583368b4c0437eac2583ff9c396373c6351371b37bf37b26f2d3f8cc8e83796ca2e3794430e38a496013f2c515c383a21b83709b4c7377433ab3e4e80e037a64d2337e2ab223735772c3ebb7d3837db1e07379f553737f4c28c38528f42370000000000000000000000000000000000000000000000000000000000000000a48a0036e4617b36abce3538639d1b38ac4a9a36c6a8a036c933e73728b0dd37cc56cc363dd79b371e21843845ed73388c77e63630ce0d37c77a1138be7a08382a2502372b123037f7538138001c42381d9d2c3741b6ad37b08430381d1a183821b97037aa02a23769ae0438cc3fe43700000000000000000000000000000000000000000000803f0000000000000000c9098036fe77703f75ad2f3972ab8c37cebeca366df7493feab9ad394b359e377577bf374358243fa82fcd3927d21d38491b2b37e0f3fc3eb873f539eaffc23761303537f608b13e0582d73915adb23778d79f37c8174d3e215b6438edc2e337f0906737ec08463dc2792c3894ed9a3700000000000000000000000000000000ff5fcc3693c28d377cdc3438acd817386d87b736c2d6c23681abb438ecca043856ee2c363be2f1361d6f553884f253389df5ad366496cd3619823a38997752386dcb2937d4482c3734bbef376e820238ec33eb3646913737713d31386f7f6938491a913695ae5237023636388f943938d938e936e72a06379a0bac37eff6b83746e3fb3664ecfa366681a937d4a5df37f9e70137ea3f6f3f2058853d5c9ac437b5dcbe36f5a75a3f0dd49e3dd11ba137ce7e813649303b3f58b88d3dd8561f38fbb0c9362d0b163f073d893d482fbb377c0b2b3703a3e83ebf8f763d9ceed337117f2237660ba33e432c263d9cc91d381c04dc366bc53b3eff459a3cb53816385c52b836e215343d23ab1a3a6b3888377b11f93603719a3711a532381b66ea37823e9536c3de9c36b8fa7b38304ca3379e5faa359cb9be351bc72338f36ef9375c754736fb6489367730d2371bd6e337927cfa351f9bc43611de7c39736f133a2d87a4361637a9364b182c3806a34d38b492973693daf23609add437cc05e4372a653f376d0eae372e5bfb3857cda03946ba3f37474a4b3755dd14389467993876eb083713680537d8b4b4375ba6e63750fa99368234493fdcdb5a3ec3efd6361ccaba357ea2383ff7cc5a3e8e833537d6c37a36035d1b3fce234d3ef998ac374b4c07360625fe3e17eb2c3eb97d2c38ff01a836b077c13e93f9053e17b8eb3778c398363f1b833e2686be3d7020ba377b8c69375c9f133ec106653df1f5343850adbc363f08af3c21498a3cc5930738dfd5f53600c59737a3fe1e38b762e93736537e3640bcab36b3b69b3884d41e385f9d1e36a479203603c9123a584dd639540ab7354dcd38368dbd4e39c1eff5393526ab3650cbce362665b337bc4ace372b44203655772036caf22238e4e94638965c9a36ff2b9a3659911e38c16684391d0547376e0560370c564239c25cc139cbfbd235a2b61f366fc521385a85f138f88b843732623a37cd1f2038f1114738089f7c36dea1233ffe92b83eb61ebd36054d1f360e64163f8dd1b43e278978374d95bb3588e7fe3eb42ea23efcab1238e215ad36abc7cb3e36c4863e8b9a95377da81f36f193983e4e0b523efed2fb378ae3993627cd473e7e5c193e064df0371fd5133721cdcc3d0e56bd3d4e44cd379df7cc35ee38133af77e1c3d41780838fe6c15363b9e01382d6fa0389e7c4438882a1137ef88cb377f5ba8385d8480380f9b5b372dd8943778455138113540386cee3f37693b57373fda8f396e16093a5482fa366cf94f375f7b84386d309938891f8937a4638f3721af4a3817017939d241893766f69137ec307c3880949538d371a037387e9b37d781ad388f9b95399740e637fbd0d037c2d6133815d82538d971c6372a875f37593b3c38315b74384a321537fbcefc3ea37b013fcf68ce37df0c8437e643e93e406ffc3e8c7de437fa634f375b37c23e6186da3e2a01e43788921d37d655983eb107b73e16a03f3847008a3723c9683edc738b3eac7c08385d5d6e37380f0e3e18d5523eb97150383c2079378950853d448f023e5dca0f385a1aaa371fe511387f2f513d58bc0a3844c01d375781093852b4a838648c7638b0e2143695859f37b30b76390f965738d21fb1358768bb351e58163a9faa063ad0825d36008903374aa99d3925a23c3a27a89936aa2b993680e81c3869ca053ad3af1a3694c81f3688fe1a38a0ce463888442637f8ee1537b469b037730ac8370bde9a37a8c29037c08b473891be823911656a37291f2e375fde28389a364e3982bd01378b589336be5d773717680d38fcf0c536f3a5b13ee4fe263f44afa3371a98b735c37ea53e2f00233f49d48d37e677b13669b6853e40710b3f8ee9b737044399364de94e3e887ee73e8804ed3712251e369818153e7cb2b33e00c2013856960d374faca13dcbf0843ec8269037a8b93e37a3b3a53cadf7273e97292938666dbf36fdacef37e5bb6d3d6e0b313877427b36ca101b3733c9a1380e930338e9700137e94659372cf1c7384dd5fd371b727d364208e83604c6e8399434243a6c03313783de8e37ff1f313986403f3a23fe2d37bde00f37ef46c93736af07388068b036a770ac3670c207388e4f0d3939dad8379d1bc03784853b385f70053a6dadad3719808837a1c3c637e9d4d937dc583b378bd50b360b0baf37acc0e8371a5f33377ed4c436b82b6437892e9e377e5e2e37d4d94e3eee2f4c3f610144374437a036b019423e735d453f64b4a4370f4b78370df7193e87e8253f8be83338c5010a379189dc3d24040b3fe333bb3749b4ac363e95963d71afd53e6b38093864f6af376ccfba3c92f89e3e3bcf3038e5677b3765b4c537df36453ececeae37fe0cd235b57b863780d3843dca4bb73751ee9e3671e9e436c462953898f88f37399803370c72463706e64938a3c10538bf8eed366dc1d4364c8eb937a7d62a390a7905377d46fe364ce51f3826a08138a5849d37f3cb7337d62417387fb3d3391554863759e82e3743d3bc37028306385bc88d37d9042d374423ad37fe2e4f38bf500b38b09ec537b0ec2638b4b65038e25fc337b00a6d37ae6bc0371e690538d61ffc371e26a6379baff937d055133882ce4237a09d603dfee6713f1b3d70373dd4ea36bdd75c3d0bbb663f9ced8637e8081937bb310b3d6075433f39603638ad3e8d37548d453c35d5203f56093638f61d4f376795fc370d71f83ed430f137ba373d37329dca374074b13e112e22386ce7bc378b7624381bff4b3eeddc43388b4a553705dd8f37d0818b3d71d0f737c1ac9137d89ba93714a03f386ff41038000000000000000000000000000000001754263701b00e37b1b0b537bc851e38d01b6137c969cd362131d4376ec54538ef88503706700a371bfa96375c6e223930b6793795a11137f1a69c3785272638c7b20a3802a79737cf550d38f13a8538e7f49f37aeb9163714e58b37fa99dd3700c9e53712d056376364b1373c521d380000000000000000000000000000000000000000000000000000803f0000000032691e37c272bc37138c733f89fd213855e331377e45fa37c39d4c3fb9f0613832ce15375eb8b637b031273f6a4bb339f54e173742f4b537bc56013f3c3342388cc7af37a5f60d3874e3b63eda6c9c38f7573337989374376e7a573e26c30138c1bc663711a65137d772763d030c2d3800000000000000000000000000000000000000000000000000000000000000005ae0f9371d0ae139d53c3c3a06410b3a2f42ae377c5b3b399964f539952ac139c5607b3744292438730a843a7d7a003abf6194378e13bd3983de753a0c8e333a29129c37d49693395d4a0e3a8309f0397d5d15389a031039031afa39cd3ac13943232f38a3cea43842d2ed396c54c03900000000000000000000000000000000000000000000803f00000000000000003aafcb39eae5603f4d483a3a2b99c939709b253980a6403f271d083a6fd67d39dccc0238a7e91f3fb6dea53ae85fb7380db5b139e9cafd3e32c59a3a6fc3ed39f79f77394793bd3ecdcb4f3ac578b7399090a2381ae8783e0555463aad846b393cf744383ef3ed3d6741573ae898693900000000000000000000000000000000d60371374f04be38d645303a96776a3961aadb36d132f638c7ea383a7101e0390ba8bb37a9995b38cfdb223a4dd7ff393b8cb337e9b3ce39f7f6b13a272e983a6c591d38eb13b93862ce6f3a7e031e3af32d9a37d48ae8379243803aaa233c3a24119536b3e2a037ad471c3a0eed083aa36a43370a51eb371f7e393a34b5383a79b2183866a67b39f445143a738b1a3a6be71d38ac47613fb70ff03d799e15382fd3b5372157473f295adf3d846d7f39352d53389eab2b3f5bdccc3d9048be399db6a739f9f80c3f9e0d9f3da5505a3afd753638ffb4e03e0885803d09c7a239968edc37b571a73eb1d23e3deb038539c5c17b37dda95b3e1df5fd3c69e0a539dc6bc0377541db3d9489b53aa74b123a330ff1380fb20b3a0fa8573aba86153a40e51138a8c640398a26313a9e42a639d37d2f3763e2cd3769ecf0391846b439bf0cbc36799f9339ac68ad3aa84c503afb33493724213638f547ac3a1cd98a3a892a0038041c503889e15b3a882a4c3a5746af37ff06f137e651093a5e70033a2f8ac0377c40ef3794f24c3a2a5c443a68a7c63767e80738597e8d3a6117923a680c4338e5546539eb6b0a3af38e173ac24d8d386898403f631c7a3ed99a18395556a737e8c42b3f5893673e5d562a39a0f138390233113fcd96413e6020153a542907383ecef03ed218213ef4f8063a64d12f3877fac13efff3053edbab023ac2c4e437505b8e3efa53c23d27c2c839ea56e33765f9383eda58803d6499143acc1ef737a0eaa93de47df93c21dd7d3abaf0e9388546f13992d87f3ad394143ad0901637416ea939c3ac2b3a1d90093aa474dc375c4fd538c9e4b93ab249493a9c46e6376bd5193820a8263a8e0d023aa68da4379b92fe38b02b653acbad5a3a4a6a7b3709887e382214823a3b287f3a60cfc137b5b0f737efb61a3a9e2e203a9f660c3895694d387074ce39783bef39952a0738a1f13c385c40ab397fa6ca392e7d393804264438a1be92396037eb3981d859394ecf1f3ff2bcbd3e1222bd3920732a38ff480d3f2a76a93e5d1caa394bb213383327f13ef2de913ec4f5a339bc0d0538ea95c73eaec6723e2285123af078b637e33a9e3ee2e3413e9f87453a4d17eb37eb036a3e4a1d123e3130e8390e8a3838a85b173e22a2c13d5034b5398f14263818938a3ded54433db754bc396df03e3809d6d038e063e73cb8eff839fd342638b236a73822a3823a90faff3923a39437e81de438180f403aadab0e3a18ce5137539a1a38f68c423af2aa113ab6afbf37682c06383e33143a68de113aa82a6138a1169c389c15083a65890c3a284cdd37b6900738bd610a3aa7bc0c3a8a4aa937c6ca0f38347ecc3938be083a032a0a38f1f33f385333f9392e1c0b3a86d52e3837514938a5a0b639eacaff39e5c3663871c4fe3e0103ff3e8251cf38c69348389020e13e9ed4e23e09a2b139591d0638c1f4bf3e4096c23e842a403944dafc37418c9e3e1f7ca23e2ed1d53944c8923818ad7a3ebce6813ec00d9139d08dfc379d93373e6810433ed8d8e639af82ee37d48dec3d639b013efe06df399a6f1c38d9004d3da6c9823d4459013aaade39383085d038e7db853a411b043addb4393878e54f383e4ce73c09c6e73915ede23792dc53386964913ac956df396fc1de37acc14038c9774e3a9faf2c3a9525c037a12bf137a05e343a8771363a504897374bf2c1381c777c3ad34d843a9049cb3764802d3988b7493a5e3e583a565f0e388673193817e3dd396b37013a76981638aedc28386d172a3ae4614f3a3cf22d39cfe44b39348cfb3985ee0d3a09344b386143af3e4b5b193f425cc2382e9d44384f73a73eeff50d3f3ee35a39594433387eeb8e3e0c62f33ed1319f3925d6e637f23d6a3e79f2ca3e4848e239f3dee137d3fe373e55e4a13e424b553a2cbbd138e0d8053e3712733e87122a3a43721438ec01a93d2064223ee34ef5390eb720389be4073dafdaa13db2ee413a59a30d3971c2ac39ca33363a5ba7103a0b813c3810c7a639c121733a2dab223ae976a137aba50238c916d33ae3c6b53acdb2c0375c17ea377e6f703a63c16b3acb12e337edcd00380447093a464e153a33a42238a94eb9386ea4433a5258623aa1c9cc37084c2438cd345e3aaaed953ae6506939c4648f3993822d3a825c5e3a92f8ac375e9ab237af2b98390e70b939835870386f8b6c38985f8a39c758b63933878c392e74783e6d51403fa4cdf339fdc7fa3708445b3e69522a3fdb42503aba2ee537960b3a3ef507123f0b14233a730dfb370d51173e68c9f33e0ff4003a82075838fc16cf3defe0c43e5fa8323a7d8310384d74a73d59b0913e81b3843a221f76395cfa453dfdcf413e604c533a7f83aa37f345d5380e4bce3d0f5aaf3974e55b382516d438fdb6463a2835d339db1f203808778b39d61c453a41e42e3a59353c376f4ed437168d713a3502723a7b0a8b36391771379bf9103a0e6a4a3a1336b737b3c2cb370a5f153ad1f88a3a34643238ea943738c4a2bb394462573ac3965d39ff468e39b0c57c3a051ba33a51b508396ffdaf382630d439d70a023ad49300390dc4d5379a2fb3396cf1ed39093d0838b892fa377e5dc938a570b43945fa853928e4ec3d9ad8603f9b630b3a2793cd3705c2d63d5639483fc892323af29c60373caaae3d7f6e2a3fd411283a6f67ca372154893d05f00d3fed698e3a91c73638fb48543d7387e23e4bd7763ae4d68839d915063dec47a93e29bdaa3ad900a838b0c58739e856673e87c1f9394336b6379fce053989bfdf3d27b5fa39fab1ec37112f0a38a32f2d3acffd063a0000000000000000000000000000000062613138f35a42380369dc390601153a0bc4da3715811938510e96395e020f3a85cb91376d5c8b386f41cc39f6190e3a16bd3d396f62633903c8f33963cf593a79b79d372225ae37b946c538f8332f3a766dc0385e2032382773883924a0ca398e89963941336439bde5e139d46b123a0000000000000000000000000000000000000000000000000000803f00000000699044383c6f93390f3c613fd110103a47571838e10d74395cc4403fce622f3a409bad38e4a4af3976f81f3f755c363a0952623939aad2395c77fe3e63da883a4a69b137ad4700383fa2bd3e303d8a3ad6c8233898ce153924eb793eb0ffec39cbe75a3942259139f4caec3d08c1303a0000000000000000000000000000000000000000000000000000000000000000914999350420913579369e35b2bb943751623535c3791d356e913b36ef49b5378b6ccf34e25fd534f872163753b5bf3737e7a2348faca334de8db1376510f437b72384348c416f342e974a37a4386537fcbe8a37137a9137778df3376f0fb137d82b03389c50f4376bcc13384408e13700000000000000000000000000000000000000000000803f0000000000000000d7ae9435d5b77f3f3f1d2a385f2b7e37aa683435c2ba5e3fa5b67d38d6609e376f2eda3482fc2d3f84ff9c3888899a37c8cfcd363519fb3e81b1c138fe86bc37225c1036e1f5993e7aa41b387988b036fe10c5378fe3df3d03e13c388d1d243789b6db37a219d938b32d7a38a2cc6237000000000000000000000000000000005b9226352ec42335f4ce8537daa4c43758e17e35634d8435432f3137decd1638baf1cc35eb09ce356b6cd135b4ccf4361cc8c135a365c33569afd8351fbf2537f7ed7936a6cc74368ca2f13722103d385eb8b9354ac1b7358e86c435dc30c735e21ca8362d89b43658e79b377bfd9a371c0e143607e00f361cb64c3790cd7e37861f053106440c31dfdb0d317efdb036a809163551a17d3ffb8b153c12e33437777a7135a71d733f9f070e3db27ff1376554ca35a271553f7ed6913ce431213674b2bc351aa4253f4d26463c292aa636f07e74364e91ed3e837b0a3be09925387ff1b2351beb8a3e6aa9043c5b5cc1354321a33660a1ac3d1a195e3977e712373a10b83568783f384e858a38e44e4437b02ffa3015f501317169cb37c30700372251b135525fbc35ba17c5359371c435c9049c34f3e3a334c6407436ba69923735990533b23c0233fd449d36c6d90e38876def34051af13428fd7537713726380eb8af3434bfb0340f6dba3432b085371dcab2340ee4a934f7eded3768823738728e5737fd4565372a7a3138fff65238b9b61b35585c1c35c98e1f354d9713375fd18c349b628d34ab4d993403e0fb3538c7ae35c9fe5c3f24f50b3ed8dec835ec14a0342a90543fdd412b3e9aa71836d2a907337ad8303fa32a273edb96b037b5e8ef34cdf4083ffee3133e60aaf13773fab5346a7fc43e8b8aef3d5bc61e3783aaa5344c8f5f3e8cdca63dc469fd37a31e3b36e898903d0cd6193d69ec2338be391d35bfc01d3898640b3915e2d8365ab77c3432638a34ab390d383c989a36882e4c3452144d348be15137995a8a36b4e0043569c2083554a797376125c9379617cd344c46d134bead8b37b00614388bbceb34508bee34e156ff3463a6b136041db73429dfb63408563f367d8b9e3776956c34cd656834825c8b373534da37c3da5336ea133f3737983e3845a442389752f835899408368fc57c37aa16b4375d43d834db33ac34ef35ce369a125e37c3923e34bd7b2d3fc603a53e00a75634fbfb053596cf253f6fe8b33e6ce509354d2cd2344d700a3f0373a93e11b17a378265ee345f3ed23e881c903e76ccfe3493bbb334fb558f3e637e5d3e6ad83c3643e860346b461b3eda6d163e587008374318af34d01db03c80139c3d1a63a137487c94347e480138a4a56039c36bbc36d024a034d9f46e36a48a36383d2ae5369d3ea034b4aa92340aaf9e37c1659736eed2b935adb7c7359bcd8d36889c9b36fd5ff0359e52f735c89df335cbaaf935f1cde035c6c0ee35f20ff7356c47fb35104106378abae7362eb59c3795ccee37ca3af3359ca600365bc2ff35d31afa3599edee3570cd013656ad123663d40d36b0e8df35a706f0356a244a37f85a6c37efd2f334fbcbe53485d5d836cae94937a96549348ef3fa3e2481023f6c3eaa34b2ba9235afebeb3e20e1093f5376bd35a29aee3565d0c73eb90c003f6272f235b441d93538fd903ee52cd43e0c2cf035060fba366aa24d3e3a22993e0acd60373c08ed35a7aabe3d1c76563e16e5ef351649ed356e43d138156ee03db962fa3589e8c8350fba4938692f1c3adca6f835115aba34d23fa7362b510e386a95013638eba834eb66e1364043e437360e2936cb9693341167e134d5f88336a2d03336cc73b9342539b434d5fbba345fd0e4363b555f3469d25f3459055f34988e4e37c0e9bc34f7a7b93447b4d0343693333785b10a357727063597588035c0f04736d309d537a09bc93771b9213817ae2a38c5080e35692d7636eb9dfe374fcde437240c6734eb316134bb8a5436a3f39c36204aaa34aa879b3e7b3a323f5ec1ad34e2189434966b8e3ea3c5383f786f92346eafc0347ee56a3e1d3e2c3f8b77a93407d25d34844d213eff3f0b3f043a5b340d54c134a5fac93dcd90cf3e5825b4349d6d0635cb46113d077f8b3e21def4347f4a8137e8409d384222033e2c7a2c37dddf0c359e0ea1385cd7773a73df0b3575754134951f50367a04ec377c105634fdce993415ecbd36e02e3f3776d18634aa0f2135d3ce2035c11c2035895f193551619437add919376d1f6c36363a91372cbb3e37dea0963421809c3417ae553768f63335b956bf347a29bd34c93f2c368d1fc93784ba8837019c9937d325ee37cc807c37717b94379d82e437300adf37a817af36373e9d368133bc37544e8c37a083cc359934c2355804c235fd67bb3540559134410fee3d0836623faa857634a3821f351e10ba3d9ec0683f396b163599c65737c1faa73d193f4f3f1dde4135eb52cb361de3073da2c02a3fd5f89434758eba34693a503c8023f93eca39b23428739637c87c9938d017a43e878c023645c66f37f905ae383c3d153ef05c0c3357a7af345154a938bbe0253b5af7a634d7a2c035a44fc035e5ed723733d5b735da5c133641713e36fa788336b2aded30215d993654fcd735d277a7357accc33577a4b436ef664836951fd13560748b36629fb1355fc9ba35e61ab335aa63b9351fc7f637f244523771ea9736d40cf83737d5d9353b2ee235eda2dd35b55cd8352de7ce354efad535f97ad3350e617c36cc8ee637ce4bcc37d7b316382a9c17381e13ac367dc86f35b0b6ff3689de8a3666830536ef6b923895fa7f3f2151eb30c6e043368ab09538abf57f3f10bd91353b36a13652150e38df5d6a3fe0d08f36a5b7b135536ee436f573383ff05bb03534f7d337303f7e38bfa0083feba5a5378e2cd935150cdc37ba79ae3ee501d1355895d135d6a3df379b0b183e15fcd53546259e371d4956383bd47e3cbcdcc03679925c35d57ab737c1b9233829b33435000000000000000000000000000000000bceb333f8ae1c33a1b27e3205fc8f37bfe5ce340a68a334b2f59234f4642d376562853419bf83340f476e34a12acf36bdda1337750da7345550a6341848c53755a842376de2e634c3e68a35a198c337d35d4f375ed3d636700f4e375500d037805e77370eb8153790f7923753dec1370000000000000000000000000000000000000000000000000000803f000000003f776534fd4be837faf77f3f247fca378561b034040f2b374bfa633f3cb0d337d84871342e0d143702f5323fe4c69637f2f02437aad2e937996c023f9ccb0b38336f0b37fb5ad13719e8a33e85f5d237ac262737b93de937d0de043e9807a3375f632d37bdf1c137760c823a96b43637000000000000000000000000000000000000000000000000000000000000000075d02b36bcd389364225aa37db6ee837005a1e3693267036f9326837cad20b38c0571a3653f4653666e561380b80803820546e36ba3b8736d2380e38c81a02383e425a3677496a36d2701b3898299b3726219735fae41b38325b8f386423f737f3f5db35c810b63737014d380bbd3d3700000000000000000000000000000000000000000000803f00000000000000002f4689368a42783fb40c0e3984d8be3774c181363275523fe578553a01c19c37daa27a369e90273f05f82d39700a263854988e36fc80f83ece767138ec1f80370217773698e5a13e41847e38d634683669f42638e887193e01a0a238cc2d8135a6b97d37790a64397f177438261fd03500000000000000000000000000000000c02d7734b0077b346500a837bb98d4378acf5035a253a735c7e4063738d9a83742adff33875e06345e8a4637491b193849b3c033e7f3c433c1a80137e0aefd3729ca34350eec6535f82fa4373bb70f386bf78534649c8734ef1a1338614a1d3893929a3362c397334ba83838f26e10381dd708359da50d35b36c3d377f81ab370b12a734d5c2ac34b88cad34584bae34f8487434ac36763f831b1b3d389d483707588735d9de613f631d8f3dadc01937a6580434c8c63c3fcc2c6c3d9d3bbc3792c8c133ee90133f7c47413d979ded3689ae51356131d63e113ff83cbeca1f375504863415ba843ed674373b20eb6537735195331204bb3d4c752d3ae848cf36b9500b350de0fc3767cc9a3863032b37883dab348573b0348cc79837262836376d1d933603cda836880c06387fa1c1370f0b7b354634a535c808ab3758540238fee5063641a53a36cb537737c10206383209a236379ab136c58dce363eb4a03773af9136bfe2a53640b23d37f5690b3891b0ab36a72eb7364f09a93726521e383e8a8036dea08536c7482537c5d177374d141c36d9fb2d36ce9ca536df2fd3370f012b3658f43e36f93d5536f157a6374e069c36c035503f7c1a3f3eb92fcc3623708e35e23b3c3fdb2f673edb2374362f5d24360f06183fa16d573e344b49378219ac36863de53ed248473ec11cdc368fb8a236dd59a33e1cff283e2808a2379cfeb3361ccb2e3e8809033e2bfe8d37a060833613ab5c3d52f9a03ddc2cc936e59f2736db51b03642db343ac766c137bbc63936d00f5436939128380f50ff37a3da40360a5c6636c8745738adc80f38912cb5355bab0936055aa537975d85370ab97436b33d8d36d0faa436c4402b374132b8365f89c9364ffdd837b8b4453813dc8a3688399436dce13c37d17fd437e084bd36fdbcc1364afba93788dbf537168e4836cd3d4d36c4030238f0710e387aa8e035d180e635d9511036d74fb837e79d7f3658338336b9899036b3f899363498553690a4263f4d75b23e76897f361d61e9351ba3143f7fa6c63ecf508f36c18585365574e83e559abc3eb4e9a9369b2ac536ef90a93e97b8ad3e5ac1d0378efc913611ce653e31c0873e4637ee36bc90bf367f57e23ddaaa493ef28dc43614a64936a4a0a53899d5fd3db019433678aadf35468a1a36bcfc6e3aef22b836344b803680d98c367e49e137eb489d3682840735d8d20935aa400638d3a90a377750f43525aa2636734525384b1c8f3700392e3652e38636c4bdb43712b804387efc9f359d241236620ab737ba3c2438bd7daf35af5ac1351be42138c84b4f386b123d366df35d362c3d213871d0303883a9ca365567cc36d93821380adf2438a61b4936a97458369c9b803767ff1b38696af2345006043598c97336eca4583792770a352c51f83e11af033ff5c5053500a50a36a443d83eecf60e3fd1985b3646d16d36efa5a53e81e7053f658ad336a591f935943f663e8729ea3e0ac0543744a8b635cd72283ebac3ab3e151cd037c856503684f5603d8989863e676d68364fc0c236ada38b38a9f01c3ecdf5cb368e0d3a368b43a237270f9d3c220b2837eae10235564aae35268f3c3a33080c37e8a9913693b598367131a337297297362009be3503ccea35025fca374c0105361ba8273629003836181406371771a037c1f9b836a6d1be368c90d436aa49933782bda236afc5a536827d4a37c2f5a6371746e536817fe73603412638c1e53838ef7cad36430eae3676f20a37a8754837bcdb92365b3689367cef88374ffbcd3773d87d361d768236599be1373b472538f8f59236f97aa43eb9c22d3f0aad8336eb75d435dd03893e9f463b3fe53ad635fa1330368d1d3b3e9579313ff00f463617a0bb36b49bec3d18bf133fb989c136f0d3a336df43853d5903e43e5fa5a036d579e43601c4fe3a3bafa73e3ec5d936428dac36da89d7371609363e24db9f360c29803636806a37059a003d81e7963685b1813600558b3736a993392c83cb376393693618406a37d9fa2f382b91ec363cae89360764a936fd21be3756f6a436b7778b36ad458e3665e6ba366384ca361fdcc9368730ce364f46cc36333d8137d1b1e336f1b3db36628a50370a02ac37991ce436aff9dc361482d736300820372acfe836c93adf361be8c8375fc3f1375d5078363cd657364bbf0338f9c80938f32ed53654c1d036aec77737d5d8c3373f136f36ec91243e62d5563ff6dd3c36b56d9e360d90d63d1801653f7f544336809a8b36bf248d3d10794c3f2155983681d6cc36bc68343c20b5303f4327bc36b2bddc36d5ee87383d12043f3d8bc336a5b8dd362fdf3d381c25b73e7887c436d5cbd9367e822238c468483e2127fe3646e253368e0bf837674a1f3d4b811636340cce362506193723768d388e7fbd366867b7341188b634cc249337cb99af34aa3619353e841935b200123519f59b357c888b33f5a19033f11391332a1fb7375957853459ed8534d5894935bedbdc372906a635f5f4a7354b3fa7356a0590376a4bcc33e49ecb3344bcc93332368b375c4d6536382e31367caab837bf26f937223121373ab40f37f7f09237b5a881374f8a3e3747b3c63684b9b6375138af37ce0bb434e34a2a3b36577f3f767fad34731a1835b0254d3857f87f3f4d6e0b352a8f8f33d126fe37256f683fc1839b370c02833495d20438bce63c3f757aa3377522a435884f0538aa270d3f239ac236f15ecc337d63f437e0bac03e0124c5337c1d3736f22d2c3835c0513e7032f23558330f376fa99937731a443dd287d63671d28b36678487379c019e39faf03f36000000000000000000000000000000004593c535d6accb3523bbcd35bb409637d52f6b356f0075356abf813524ca16386fac5a369a064236639f50364c8fa837c26c8c363e0a8a361e56ac36257d04381d84a9369a5ea436b814e037a03a7838e333fe3657e2e936b0d54737d593e5372f78ac37c52b743787dad0378c5ae8370000000000000000000000000000000000000000000000000000803f000000003980cb35b092d13523e27f3f8f0251386edc75359cd78335d888593f1b1ca638cbda4f364c326f36a5072f3f4135543820798d36848b76379ba9033fb3ea2b38f0eea7361c443b38a994b03e472d8938e010f036fd3ee6370f44353e6d6c8a3781cd7137b829be37f697f53c73b19737000000000000000000000000000000000000000000000000000000000000000090203736946f8d36fb5ebc37f9d5373895282036c1967436c08f4c38d52b2139c9077d35b38b563626146338907541386d8cbb36eb2bf636e7d963381cd45438df2dc7366abc3138db4a323a53ad8f385b68f535d308913763a62c38f3b795377e5cb037b42821383ae252383f0dcb3700000000000000000000000000000000000000000000803f0000000000000000baad893683226b3f8411473c0487c0373e637336da24463f7c31193caf9e5338d11e4d36dbb01f3f52dff03b72b26a375f8ce73656f4fa3ea910a938610d003876a23038efedad3e1c64f33b155e4038aaae833731c94f3e52e61d3836ab3b353c8a1138656b623da00f38387f0b0137000000000000000000000000000000006afb9236e70916376e01133885563c38d54f7c36edcc993660660d38858977387d83bd360df1fe36ed05f037cc33013940cf1837723229370efd9637b85a1838b7fa8b36d27fa5369c66363825ea7538e4d00337b8f61b37bf26e537a0e42a387eaae93622bff9369e362038cf553b38549ec2361651d036b1a02c383dd83838f1db8536f8b99936c3f6af36fc91c43735c707375c0b6a3f5c7d983dee7c29381d319636a564503f8ccbc53d62ee8138bdaaf6360e7c2e3f72a3bf3d59924c38a4412737eb6f0c3f45a3af3da6690a38c3e1a33623d8d63e79a9933db4c15f38895416379a73903ea9fc6b3d06e90838faf6f6364ec6233e2872e73c60111738046bce36444ea23c7a0f933c1a9c0638bffa95366892ab361c4d12399ba3ed38831c8a36957694369538003888eced37ce96bd36c2f6db36f5bfe537f4132d38743a0b366742233610e52e38eb2a6d38c8250c37c4591d377774e6379fb342380dde89365a859f36fe22163827d74d388ac7af366a4ec436f3d618381db14338d7d6de3678d0ed36556e443821245738e6de9736dab451370c6966386dfe6738cf896f366bb7863607764937b0ca4838b2029136767b443f1f3c5d3e86608037c7e4d4362dd82d3f64926f3eb9ca143896481f36696f103f78ae5b3ea9116038c69c1b372bc0e13e94d1483e5821243801619c36e141b03e2d16163e60582438d492c236776e643e5cdfe43d8d75fc372fc4ec36a0f8023ebd38913d663f22386e2db836f38cee3a2997003dd9912538ad2a8336e59ac83687b8ad396fb67a38d0cb6b363ac432373ca88b39bb228538e7d8cb360cef14375cea5738be5e6838d6d4df36b5b70e37801a30382cec7038c9c79f36f213bf36149e3138241a70383507eb36af73023745d72d3844e146381310fb36f0620f37f9dedc37d8e21938234ea736c984a93767b28e382e2e8e38f3a71e3717c02537038b2f38e2422f38e08544366c7d62363e55cc37135039387f6c8c366df4203f2710b83e3c461d38455305370fea093f468ec03ecba928382f010a378fc6e33e8778ad3e1fba4a3857b6bb36b738b83e3b25913e7d9e4438acfe003723fb873e60b45c3e73421138e9550c3762fb3c3e265c283e386592378f084d37ec12b43d1b0de23dac604a3860e323372ecd4138b4625b3dfe5e78375f00573669d49e378372cd394fff3438be4bb0360c3198378cc36339b1a83f386ca2df366373fe3601dde037e128083875c1eb3675b70e3741077237125c0838592b253784303037f6cdf8370e224f38c7ebbf36155ed3369e1b8b38c039963893b32d37d549343746331d38124632383b7c2a37855030375f3af03718a9db3708fa0c37711d113709820038640cf6378c62ae367ef3b736c53424383bf94e382577b836a888f83ebf6a013ff2cfa737951cf836fd06d63e5b51033f773a3937b38d09379034b03ea799e43e956a30378a892d375357893ea7c2c23e4b24c437b522cb361235563e0fd1943e62265f38df1033376adfff3d29e7673e11924a37c34b2d37edfe813d986d153e44bd1e37712e0f378cc50d38c0278d3de9c30737c15cb436536a0938fd380f3c15953a380f7266367da88c37bcb38f39eafc2838dbe4d1360f790737892e2a3894823d38fe7e6d3606d09b36754a8738aab79338de4f0837905615370b100b38c4cc1c382f4cf83628f80e37b69438383ed94238d5cee536db179a374c0f6d38f55e603818f42e37cfa6ba373eb18038faab6438c4fb2b37a85aa937f19d7338c3b15d380aaca9361c5b43373f136638a9278638e31fcd36b120b13e6f34273f515ee7364a51fd367422933e6cb2283f3ae69c37cc4a953686a56b3e903d123f9c6a5b3851fd12375e05353e49c6f23e3cb81837f89604370386093e31e1c43e188bf7378482373726ce9e3dc3db8e3e47a2d537ffbf8e37baebf13cce073f3eaa3cbb37c1ff5037c85d6638bc2bae3d8243f73718b1b436165c4d38b7f8373cb4235b38f3c0913679b7d537566e123a58200d38155c8d36dcd9b9366b9b69388a1c723854c0d136acffe336ecc0483852f757389997ca3619a0d636271f203855113d38311fba369c87d33605fe38380ee143382a722e379bd07b37a3b93b384c9a2b380912f037716728386b257b389e575b384f860637dbe0b537f2084b380eec1b388b499c36c21fd43655e4dd37c550d93740b98b3718dd523e9e074b3ff7b39236ad309b367353293ed41b4d3fc44c1e381f17e136a1a2083e12e72a3fbd070b381e6bd536fb21c33d38de113ff368be370e2dbf360bc58f3dd5b2e03e664bce370d914a37e397d23c699aac3e0e984637a42e1b3851913d3cf673563eadc8e537014b8a37b2c73c3875acb13dc33dec368ccf9d36de06ad37f566853caef248372fadd63633fed237df950b3c68797a3797e8b736227cc8366b963338d1d04138daf4f1365cf7fd3650842438e7ae3b386ea04137a78b5037cd480c381b5f1e3892b0db362edcc637d44c64388e626438f2384737769f45372fa10d38f224fc37c301ec37ccb40c38291b283965112c38dc2c473811f34c38d9b8d63975074e383a2cb337d43fe43768234638eb282d38ed5ba837e9a5613d0aaa6f3fe38ea63647e6c7360539e23c70386f3f1a8adf37a6a4fc3635a16f3c780a4c3f3d21f2376c8f51370ada45385dff283f9dd99a371e0db937d7618638920b023ffbe712388fd145374c552c381629bb3e16cd3337cbd00638ca0ba2393198653eacde8237cbd84538b9840739375ab53dfed460378c1fbc374da32c38369a363c8a2b9537000000000000000000000000000000006eb44036392d73361ee84d37a3492238f49e0335a93703356ba454358b87ef371661af36d9581437683c5038d9bea339ee8db9367a80c036572e0d387e706338a511d3350ecd7a361f588137f2924a38fb0de837989b0f3897ac583863d3bc38393cdf36a4c9d836d76d0338558307380000000000000000000000000000000000000000000000000000803f0000000086fb6d3629fd4037e5c7713f9113663817880235c32d69352bf84b3f19538c39c28d0337db9c62380490263f39d97e3ac2acc136a5db1638fa6f023ffc956c38b0f47636b2898937b7cabc3e213b5538266f0e38c57f5738d4435d3e18a833388129db364983bd37ffca8d3d28b8e13600000000000000000000000000000000000000000000000000000000000000004d160b36e5631a36625c203685621e361ea3d734b4309634832287345ab892344222e53412ad45347d868634c9a3cb3406efad36a961a63648a99f36df3487373cc83235b8c10a35f9261935c89e2035b3ca1a36934c013666a6233611aa3236e5fef2365cc5f736a1f0ed364162dd3600000000000000000000000000000000000000000000803f000000000000000057223036cdc07b3fff320537f91a0536e114883464e65f3f9d3143371aad47336f97d5345a5d303f0da89638c606d1345f35bc360202ff3edf076238a1c18e361b5c1135e1ea9b3ed641aa3620817434c8b72a3648f9ec3d5cb20f37e0fc46365ec800378fdb8e3a458734376b0dd13600000000000000000000000000000000df14133546da2235e5984535702f4a358b1a6b357a4d2c352088cf3577e70936c1284335c9762535007a413560d02a35432c9d35310bab3525e2c235fb926236ea1add35879ebe35c99677371c43563899b1b83580f7a135cbf7a135fb0f9f35869b7c35bb749a35a5abea354103fc35aab7d5353f94e0356473a5364fa13f37917f5135276253352030613597f65b352de42735ded37b3fc0518b3ce8765c35883149356d0d683fd1ae323d2c51e4357f664f35f8cc4f3f7d34a63cd9e73d35ed1bb63526bf1f3f1db32a3c6ac2bd3525a8e135b0c5e73ea835913a856a4638174cb335e498893ec83d1a3a740c8c355089af357cfdc23da1089c39184cb5350308ea35f74887382f97a63859cef4351e636335e2b45e355e8b9b37937e543514781536770515362d960837a6ae2e36ee909436d8a195363a52bc367f7cd836d8188e35a6ab7235f8a8fe35521ce73512f70f3594761e35c0be2535db3b233527433135d2d44e35bc577835b43f873532113535f4003d353b824735a1a71535dae71134b95e2c349f17f73375fee33337a34435a3b04635461870357c4be13518d3bb350859c135a7d4be35a69bab35cd4e053619315f3fd13b043e29813136a5da7036baab4d3fafed2c3ed291ab3679c14135f45b303fb8f9223e5b5dd0356d0508359691023f62e5113e8eb2fc3449d54835ca6bb13e8456043ee5d91f35ff980b355112363ea58eef3d7df04b35dd8913348ab38f3cabf6ad3d16cd15347d974b358c41b23747309d3adadb3c357d53bd35c533b2358d31ad35805bc235a1c4823513b68b353c967a36a1d19c3595fc1634c7c683342e60cc34afee9534cfc6c1330f15b33311d7a4339e4dab3364ce7c35f6ab403532434b358db92735975ed33546822436db760f36996e1c3666b08035ab9c613553c14935891a5135811e6e36a274773693648236e8c77d36ee45d636893d00371944f836121cec36a7264c36116c40367ebf3d362c9e3036bc677c35a08b303fb8959f3ee385813504903e341c9f203fd8cfb63ecd2edd3054fd63333207033f89d3af3e9f7f2f32374d50358feec23e30789e3e96150b35c1ae0936c3406d3ec5a0883e6106d435f40c5735cbe3c43dd82b513ef0071335f04c55362248313aa41de63df9b681360048e3362c8a0a377c97243c89caf236c98d37363e963c368b727f3720522c368922233553633b35f9b2a2371ba5783523958b36e4279636abd19936ace1a236765725365a7c3a36cbd05836684e42367877123505c03d35b6d957355cc8693575d30c388f2bb937e19a5138e344a83847595f3511f2563545b0353596e069351181393605bf4936ecdd7136213d68369bf292368b93963670f1a936a8147737847d4f3574ff5e359e8f6735115fa536821d35351c84fe3e4509013fb40c6b3505438936011ee53ed94e0b3fd30e743674083536455bb43eba55063f4b000e36e4a661353821623e1686f13e8631633515e7e037c166163e5e66b53ef3c26d38f1f06935cc1d283d3183893ea562253555e54c3629534d392ebdff3db84d4136dadc8436d9d6d53745af2c3c06569f36a3c57235bbfb5f35c1ad1838bbb95735c7063136653836363e224136aa7d3e362e5fdc369861ec36c3bce9369d0403378c1f6e3634b86936f77374361ac96f36875b3235679b3f35d95d48357bc04f35f49a0636e2f62b3641840836e83f4b36e7394035da2941356f1a4835d2c0263519bf55330cb59a3320f8423336e62232e51694341ce4cb33c2c89c331c1adb34dc818935b6ad8e3547e58e35183c863519c62536bbbf9c3e2a02323fe92336369215da36c4d0883e2960393fe7dabe369e9a5836f59f3c3e2d60343f9d6542364abb3635703dcf3d98cd193f18df22354e630936054c1d3d42e3ed3e4825d035f65316357ca6383a37549f3e2ec44e35c277df3220dd6b32053d163e7a511332ffe4e132451a343711138a3ca7d37734de238d354ea18335a5251037996da1353e9ab8351197c1354a87e835b103be3586651b35ceb159351fe74635b43e3735c7e65534bca74934ea34ec339051fd3300259535e2845235a3594635ff1e223596fc4935e4607335d9951b35d5d32d354f554f35e7843e35caaa1c35014c2235129707362e4804369b5904367045de3517bdb1366ed2ce36aaa9c7364a44c13608bd2d36951f2236464a1d3658b117363207b03538d8f53d6aad613f2bc2ab3536b03835981dd23d91d0653f944c2735401b1934cd77ce3c6fda5f3faaede733e3756c351f84de392cdc343fc4ae133545db333502b256393ec4063fb0942535d23f2c351f10f83763f4b23e4230e6343ae6dd35f5b91039ac791e3ef36f0136e96fb53694f39537745df03cb76cbd362901203665ad733629e9a9374700193604fe4d355f5947356e2448360c5061354bfd0736d58bd935dc579835347d1036bcfeef35f0060436ebc5883501bc84359e78863582519235563ba135b264b535534841368dc1b235993abf35fc90c53757e3d0355719c535a83aac35b65bdf3549972235f9a53735a2f98b357e8a8835e1b29435571458350463df350f2f1e36c9372b35307b453595d85935e0a056352c694035370330384b1b803f9b3454352d98d3351f038038fe21803f69625735ea6bec356e532d36d7f9673f83058d356a2cae35f4096d372d993b3f8af5c0350a56c2358c507c381d520c3f9423bc370c6cdc355cd88b3706dbbb3e9053ac3567f4833598d2b435d8b42d3e636f5c3518e7743526bee2356899523de420d935705d6435ca9a4835a59e2437ed1b51350000000000000000000000000000000050f5d936aa9dcd363736af36c0abea36736b4b36209a3836aafd013642141a360d38b434313ab5344799f734faee1e354d6aab360693a4360bbc9536f490b636e32de2347375ae344f7d3d343027a434a9601934c8c5013420cd743434a5b034438d2d36d3203236878b4136c2054c360000000000000000000000000000000000000000000000000000803f00000000124bc736e811c736a808803f2095dc36cbf23a363b6f28363fb8623f26abe535a8d8f134bd0dd3346395323feee1f8347ebba7360c550237f8c5003f53d8f337be5e8134848e7b3428ff9f3ec8e2c734503f3e3417a60f34bfc8013e0d79e53362bd4036c64a2b36db488b3c081a2f360000000000000000000000000000000000000000000000000000000000000000f9605236dd44533674052038db4d01380f3a113681cc3c362ba1513893275938b74b213601403c36c298ea38891fdf3866351c36cbc219362d290438f7378337b03b96368dd79936b6b76d38416ce537aa07fe36e28941389db4e1387e80893806c33d352a2555359db0253879ca373500000000000000000000000000000000000000000000803f00000000000000004b66473650e9723fa433e5385d4a5d36fe36393657b2533ff6ce9f3b2c999837ff0c3c362bdc273f34a72d3904009138f0ba0d365c49f83ead6fb838cf7d2636478e9b36baf8a23ed9d0a238dc699f36f73a5338af1d1c3ef463ff38edda1937693a1d3517a01d3c84ca3c38e69c3935000000000000000000000000000000003ee596351dc12636c14150389a45ea37e464d235a5503e36ba9c8f371e9342371eccc434a3670e35f11bef36399498369f2d1136f8c844361c755f376e62da3695055036bd715e360150d637eec6623745b309365f1b2b368f8fc337b841fc36f5f405351d1f4b35c114cf374f90d736d7e880350d7a9135c1b80336ddb56c37538c673620cd4836731c9a36761eaf37b437f0351025723fb2115b3d99decb36bf382d367354533f57f6af3d7f28d4361ea804357f28323fa046ad3d3b1548367b824b36f0bd093fc901723dc710a836fca563368ebec43ef325e43c2e6b4f36ca523636c4db6f3ee086243b848435360b9f4e350d387e3d9d1f5e3c52586735b18e8835f07c2a370313a83ae58abc355d2533365e266b364b7f843854a9143848de463687095436f5793a38f8c42c37a40d7935c373b8352d33053678e8e135ab023535d651fa350a895137fd29183787dece342a3bc9353e425c3662a74f36d4c6ab3519d5d93566b2e33593d5dd35bfbc3836e4655436b36e6b38e10e3d38becf5736e8fc873646fe9b3732ab0738951fd335b72ef93513e1023656db5237af28213664e90d363a174336126f9937efb459366c6e4f3f8e732b3e24cb5a3646f3a7356308313fdf53623e1bd7cb35400ddf35277b103f6f5d593e11ce8936b720bd358b4ec83ef796523e00c80e361baeb5358e71803e4caa383ea53ad235f3815e367d79a13df5c02b3eeb2997365fdd7f360e2e5b3894b2f33d1d1977375b86da3548210536af22de3c57bd17371de30936662528366d159a38d39b0338cf8d6036f2b3a1365d356a385873c3367a5007362e1c08362ea60b38396b6e3627a70f36811f6a3664ccfb370f5ae836b457233625c55d36379a8c38b15a4438c9e22b3611da2d36d750d9372b7695375ab71136987d3636b10b1a387c2a3438a803363691b2523603f7d83755fb75384d4fad356860b0351346b53581c35a3653b64236bff13936f27c463615dad03711268b369b1b273f8082b13ed595a336f897ec351511093f2e08cb3e541e123644fe4f366d19c93ea3c6c73efff27d36ce074d362cc9813ee9c9bb3e1f165436a8a11436ed78d83de05cb13e1ae0843602ad3136d171c638d4689d3e2f19bd3755f645367236353873452e3eba241e387e7f9935e916b735f828e63ca8c7d335ba9f37360fea3836ea9a5f3aa8f2c63728c689365436a436c81519385ac9cc36203f6536ab0498364b22f036529faf364d2c8834b8c4933538bb503777f7723573ea6d3619ae78362925a83683fa8f365708b536e4d6e03652b732370a4e5b3763577c36357f81367be98c369fbf8437f819e0346fc1ef346654db35c3991537d1076036979488363d7db136904ed236b2199636abd18f36727cca364dece83644a694360f67f83e6bab033f1d36723626fb853616b2c63e2cfd103f3ffa8036deb95935dec4833e9a800d3f70c8ef34fecd6e36bdd9e43da6b1093f9ea864364d92d6366c9d123d4fc9ed3ec4b2e136f8627a363bf7ce3732c2b33ed7387c3604a8e33463bfdb35885d433e8562b9354aec7b364ddda036e5723e3dda0fa8366f73833656f29b3604dd973ae87fb336d67b363696ee403606529c38323158363a96a2353eecb135057c9f36da42cd353a453e36b9218f36e94b4438e4c9873764a02036cefd38361ba4973761d3ca37bd6612368c752336ff8ddd36340d84375f1d5336e02b4f3697d72937df2586389fcf5a36c1317c366f969b36eadcbe373fc8ff358d391336eb753036e1bf9c3742c2a436f39c9b366fa2ad36ef525837b2244436972aa43e1bb32d3fb9193836c951b2353c19773ebf353b3fde4aaf356d4989363131cd3dcbed3a3f44e7363609ba3e36b6aac838f74c313f84642c36f1460e369fc50f38a0570c3f265014370aad4c3622284f383af9c23e167d31382941723634aeac36f6045f3ebf5f9f36be2c0736a6bd2e36fee28b3d72a95836f29b9336a57ea73672efb13a476cb336b20b3a3643e17f367fd683388dbf7336b6dafc35eb5efa35c4c94a3764cbfb35f4038536731c95361ac68f36d3c597364d11713684a16236273a57362c2b4d37f737e535f4c4cf3531a6cd35d7c6c835f6fbf235c40d02367a213636f8504536d3f95136f16954362d93be3693e94c37da968e35f45ead355739ba357c85d0350a875e366a7a6136a26a5f36b93eb037e5975e36e507253e6cdb563f42741336c77ddf35413ba93d0ffb633fd18ef83581cd8c36ddac923815ab613f13a66636956a5836bc795838b10d413f36c60037d0acac355c79e23587c0113f6438cc35db68e7354422623602e3ce3e87d41d36c9d04e36eaecc136c49a653e4b0dd1366d1b72359ed7bd356551b43d2449d63533535c3671c95f368f35b73c905667361acba83619d3b63647624b387c82a236ecf5943536e68c3561738f3540d7b935e2430335e2121e352c19d134ece41d36a9770d36a6c50536be231636459ead363e2860365b18543638c9523663af4a3721597936e3d681360b4e99369156bf3605ce07365836d9355b9977368df5d4364ba69936dbcdab36164ae4367abf643789b2d736efd6de3605ad3b37b963f437d8f9b036b38ea93ce7c97a3f159e2c36e1f061354bb90e382ecf7f3f24267b355a3df83417d00d36e0c06c3f4a702036abd7fa35f48a4136618f433f9c95ce3691e349360adf6136a9b3163f0fa926376cf27336ee43b836a9a1ce3e2f0a95364b52e735f61a71360634613e341e7236d069a236af96ed36b683b63d28d5ff36bd3dd036f4e60f37ca475a3ac19e243700000000000000000000000000000000ad323135936f0b3593e7ea34982f4b35ac622f3532a96135102e383516b08738d7a1953649f68736d1ee8c3646bd053880c71c3600161e366f2f1736ad64aa37aa1f8936b21d85368c443f3872d8d8380de9bf368556ba360dca4d37b4978738ecbf563695645a36ca5b6636e2832a380000000000000000000000000000000000000000000000000000803f000000006ea4c334deee133594a17d3f5c599837286a28352f6287357928593fddeddd38268c8f3616ef9d36e59c2e3f244e83384ae7033652ad1c365803043f64240a38b51e2037656d80386675b03e8476e9388a51d336f9729737b7492c3e244a6e3828cf5336d4705a36d3a0523dc00cde370000000000000000000000000000000000000000000000000000000000000000263c803448bbd235655275381c50353858dff63459bb7635485d64387c9f3938fff290359807c2359c0b2d384cccc3376eb83c3635179036be28013a5bb1913861a20f36ef654136826b303ada282836bd9ad035d7fe393803c8a33814ebd837412e9f3687593f381b9d4e3af4787b3700000000000000000000000000000000000000000000803f0000000000000000a4ddb9352c28683f1be0123de15e9f368bcb633560c8443f4cb1053d382ded36035cbd359bd2223fdde3ac39d22ddc35fae28d36f31ffa3e913b8e3a4aee8c36e7783a36ba94ae3eeba528390d38c135dd3023381935463e0d216c387d4f8d34fb051f384b454d3dda53fa387ae48b35000000000000000000000000000000008b828133b95af13325ce9b387f398a38b96ffb339b7704340870e637024b163800000000a359ab35b67109384719c337c06ec734c8fa05363fecb2387b120838400581344b858935fee93b38fa10b937dbb707360763753608459c38a9332d3842fd0435aba32635e8214d3821656437ba5d8834f9e28a34b7373937cab700382cc39634ca02a334d8b79635be89b938fe3380332f86653fd6ab7b3d7a81de37d0f3043435614d3f385cd63dbfab1a36b34c693561c7263fae4ec43dba9c54367c41e035b9a6023f2326a23d2203773656956835430dbd3ec5a96b3d3c1cc135807066367674703e47a3d73ca9786b3606fc3535b097b43d4f05293ccc07a0347dba8734bc8c6b37d7a5053cd6308b348a8ba034681a5535f982063a7eb702390f23d23387430e3558f28f38a3e7f537298dab340f19b5341ac2c7382f8b5d386dfd303442a699355a4e9a386c1e6c38040cd935b467733618d25c384c1c0338773d0435583e0635653e34387c110638c6987d360be9cd363f45c038a53099385c6fb6356ddf0536e88a0e3842db4b38987ee9345c9af3347f4efc34976e8138c44c6e34aa4879342d8b713662b99138fb63f033e47c433fd7454d3ec65c523604dfb2343a81263f30407b3e974dfb349a12873586f8043fa881713e14e65436843e61364f63bc3e0bef683e85a6863622d505358c72803e91a64f3e6c0e0935fe1ac336daa6ca3d45d1393ea62de236f6dd033655d53138f10e1c3edca2c637deb4f13469d4fc3458dea13c50449038e5127634c3314136a7cdad39d026c13834a0e83522b734360809013934298b3839f91635bf9b1435554de1388aec15382e0213369ce25036514d9738f6f34438b64b1235d4b314365a2ffe3775948137af91c7352df3fe358c2779381d028038b73e8836e224a4369407fc37ba472a38bbd22c35f09442354c214236e2350b38b079023598dd0035a6130635eaed87380d66783489bb8d34d3cba334cae4ac3762bf0e360d7a203f6e20b43edf3d62366e9814355fa0023fdf85c93e6fa41335dd5b413653f4bf3e87b5c73ea94358366ec7e23545fc7b3ed7c9bf3e07125e369ae0f135ae96073e7d2eb13e22a6923729239c367ccfd63c9f00953e5145f636f0263e35be733b36a6083b3e63fac13798a90135de920535435a443d2e72763875328e34c7baa234542e973a8783953777f5f935ebb9c33726c8bf3a4231a13878c04e34845e5034dc188e386c3d013864c86e35d8441736dd946f38d42c0738d2eb8b3603cdc13638c2fa37922ed237ab88ac340a2557354df65f3804488138907c463622299836b84fd43631870d38a4bd31357394d6355433db3633135138a2014f34bc615034b1a15234d5385438214daa3559362c36e8ac2d380559e5389f3c5b365e73f83e9c6eff3e1d1071369e9550345bd7c03e9f9e0b3fb9545134968aff35b765803edd5a0a3f71681d3644f9b336ed0b053e6ff0053faeadbe3600e72835df81c63d3c57ce3ef1e10838903b8b36bcbc8c375dd1b13ef9b9e636363bc135fa5cb336be48563e17570b381c535034557c51349b1fa03d7af00e3812ee0f368d3dd037a79d6c3c16cdb4386227bc341a1cbe348cd52c3c9dc13237e2022c35da712b356773ff389555f537b81d8c35ebce473602932938111b853755306136d6459b3660a6f23750bd1a38cbc3983571e0d6357f8a3238629d85381d577a35bf49173676668836faf7e03703db2d36ad1b423681b77337e6ef86386fffff34d186053523430036a7456f38d865f135201f2a36a781ca374551b4383990bd343299af3ef063253f36039a349d322635bee77e3e6808343f8abbff34abda2436de04e53de0ad343f1ed0f23560469436bcf0183d6e50253f629eb436a215cd35ae227538898e053f0f7b00387c24fe35c32088365c6fc23e38960d37741a41364c4cef367aea703e6ddf33385d41053558caac359e8cc53d42c30b385d0719369bd403374ad8b13c5fc49c38da3f8e369a023e382ca9b63c27a31238a5bb0a35d77d07355f79be38822ca837696e04363ab72636494d143831a01d381ed074360b68a536317b9f37757e95383ebd0a35d79d0935eb2b09356b7f1538b75f21362e0f5336a6a09036c8a72c38f0d50a36fdf71d361541453796a68b38e7581735d52d1935d4a8a837d74bb8380a4511352b68f53525ec75361b202038dd0ebc3781f3473e4e45483f518a07363f120835c73fe83d85015e3f1ccaf8347dcd1b3662e9d43b3753573fd9442536fec99936a15d5a38e63c383f1260773858c50a35beff183734ea0b3f6b379d37eb6545367e9991369450cf3e0560e237887011361baad236de1f7b3ed5b6223894b51035342e2e370cb3d53d480d513772bfce35b3f66b36eb33143dd0ae2c37e9e82f3680a552381565923c90be2938c0ba8d34acf18e34a87d32374964a237ad358e34d07099342003a634a2619c376c49bf35767621362fd2713601a55938c1408234d2290435fedcd2353fb0033899bbba35329e1f3618d1843630038d3843d82a36ea2137363586593653b4163881340f3669071536f84e843777a420384aca2336be0f3f360def3c3834b69438b9e4273808155e3d30796d3f7fbdad3404e58c34740ccc37afe27d3f80fd863483ef95344030a434d7e6663ffe80c837a7bf17363367793623363d3fb3f05d38678ae934b712dc359dc6123f0848e23758f61636a1968636535dd23e8babab37c9833736dd685a36e29b813e06cb3f36a318133629250f377bf2be3d2aa6873537f230368fe3133898da2b3dda883838000000000000000000000000000000004718f934a5a518356a029a35777fa138d3ae6a345e857534fcfd9534550d42384793db34853edd34a771dc356f2d8036e9844236e4f154368d8d7b37005cdb382a45aa35e745c6358448db35fc3212385c39cb35e9fdd83595dc903710b06338673d83361db28c3694b6a337540d63380000000000000000000000000000000000000000000000000000803f00000000735316353c20743570d7723fa9621a3ab76d763450c892343b9e4b3f5fff343c96ecdd344342c1358e8a283fb3e5c439512658367b2954375796023f4e8be9382adcc1355941db35fb5dba3e2cc60938e885de35c3a74a37a6774b3e114e3e387d989136382e9c36cc766b3d83eef837000000000000000000000000000000000000000000000000000000000000000020d2d8332fad8b338f3dfb335ee70734bd3f16344af01134e6872534509f4b3400000000000000000000000000000000cf26b434866e8f34c50b8c3567e78d35c7213333f20d1c330c983934ca03d6338037a8358dfb683648a42f3192ae2832603e32354d1ed834cdce1835eff1443500000000000000000000000000000000000000000000803f0000000000000000123eaa3343917e3fccd052341e2fd833fe2c1534d6dd623f55799434b6cb61346319f83241ac3d3f0000000000000000d5d919356935103f26e30736d991633506febc36d173bc3e886ace343c8d1535a967313783bd463ecc952a31b2e4bf32673665361ae36d3d40a09b35a9246035000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bf865e33c7fc4d331213d1331b294f34b20a1b34a30104340fc49534eb1ec034f627e434cac4ca3402cddf345d78cb349d309e33aac091338ff2a633afe9d833e7b7fa34b8222035cddd7235f7353d3503c69c3445767334952c9134760496344bd9a8329e3b6e325bbcb032e53abc32000000004bf27f3f0de6163c00000000000000009f2c6b3f0b13053d00000000a2ac97320773533f6f916c3bf12536346c701f34e6f5273f95c3403adf6a81347fc9d834f598f83e6492993ad73cc7347378a0332e2da13ef1220f3a26801234c7d29c33bf89193eb6114b3884c4eb3436285a348b01803c6d35093a13559434c42a4632e9addd325a03c432d594ae3225172334539b1e34b6f12b342af653344ac4d73451bb2b35c983d03583579f350000000000000000ce8bf13485db973460fb5f33040e3c3383184933322649335cd57735734e5235bee597355aec5c3569d2d8313fbdf6315349c934bb8da13159cbca32030aa63283120034cadbf1321a500b3363bb8f32ed92bb32250f0a33000000000000000000000000000000004cab133413005f3ff37d0d3e8ec75d345501333447d24f3f76922c3e12fd783500000000caa3313f650b0f3e930abf3445f23933c669073f216e023ef0ec7133a082f6347f35ba3e60c7d53d20d47635b7c4163256874c3e5b6cdc3d3365bb3143cfa4325ef3813d4d1d603d0d9d4b33e28d0a325ef4c6366dcd8534d705c3320000000000000000601b183700000000c4c53730527aab3093c1523155ddcb30000000000000000000000000000000009dc23132000000008f20e933de8f8832771f0131fe05ed3039f7d33038bed73084406135b1268035431cc735a2adb6352fc40433316ae33273a80b33a198fe329e2efc324f591535dbd5a7356b19b63523d9b7356e43d035760d163619680e3652987e3449f96334e7216835068a9d35ade2e130d7f1383fda00933ec3b3ac300000000054a0273fc07ab53e0000000058801731f92a083f6e47a53e6544313246f0d030e098c33e4e3c963e886d003153258f3561ff643e71c4883ebd4b8a3504eaeb3247c1c83d5036633e47e5fb3200000000403bea3c7658e23d532f7e350793b23521d13e37de598d3a0c6dec35d93c4c3427d067350d20ab3510aa6f35000000000000000000000000000000000000000000000000000000003fada0340000000000000000000000000000000001b65f3374ae3c338b874633c87644332d29a73474a790347fabcc349b64203574113e3376f72833acdb4633a5e02e33000000000000000000000000a69f8f34000000000000000000000000227ceb3400000000000000000000000000000000000000005947093f2e7bf43e00000000000000001db5f63e5a73073f000000000000000041d0b83e9666043f00000000412e373361ab5b3eca06f03ec73b37337c9e92348701c43de096d33e36f18834e547343395386b3da8018e3e21b52f3300000000db70993cd961f83d000000000000000028b5c73803bc803a000000000000000000000000f142e53700000000cb8f283427191235e43011369ea4c33527709435b53ea235e442d535fe7e9f3500000000292e59330a115e35771a3c35346f1c332a0400331e320b33b5d8093357178535972e6235a11e8e355a4a6f351a8ac1303b07d830f2f4cf3007ff903079b696327d8c1232124fea32cb7d633200000000000000000000000000000000a0f051314a76b131dd6daa31271bfc316ac41a34e11fb13eede02a3f045e2934ba5c403512ac9c3e11b4343feb046435000000005d683f3ee9912f3fe0aaea343778fe329ca2bd3d88c61a3fecbaf4328dab153545f6463d880df63ed8ee74351f250431a18d0c3d29329c3e6708a63073e38a3178d8a73c8ced0d3e2bc60932000000008c05bf3929bcb73b0000000024f0433187935736f1b3dd313471a231000000004a711637000000000000000069ff3d3233e001321b63c53257a38d32e4b5ae32ccd219330358b13271ed8833cf651432e7e90432f283ed310937f43125307335ad1781350f5f853576429635f8c34533c00b773331714b332a24de330000000000000000c3471a3452fe8134b47970350ce79635ffdff835e70af43539f670344a895c341364493452d7a9340000000025ee393ebbf9533f000000000b036d32f469183e78be5d3fcfcd1332d604253375d3813d2b72553f16a74f3311b5ec31ae725f3cc804323f3bdf123274b7a2356b2fc83c04c5063facbc4435639a9b330deade3ccaf5aa3e628e3c3300000000fb7bf33cf1861b3e000000002cab8135c212b23b69a7d53c318b933577714a347e4a7b375e95ea36393c633498a0b832aecc8c3269bbb532ba6aa932d84894349d247e34ea189334984d8234889012358451c934e226ff33ee83cb3415cdc633420ca6336df5a633d83be033a39200352120d634b152e03449c5dc34bd26d834e2cc7734b0d50a344287ab3418792d347edae9331b2dbd33401e19340000000000000000000000000000000000000000000000000000000000000000a08f993214e5143d28067a3f37cf5d32247a8d34df43ae3b5d107c3ff82b5734e46a4f33e0a9873507b75c3f5ae240331a1ba033a586dc38e9ca323f4733a633ba77d234b66ae739420b073f79c5d934c1201033a986693abfd2b53e893345341be646333858093c3463323ed7c4153400000000750e723aaf2c673d000000000000000000000000eeb50e39000000000000000000000000000000000000000008512835d496c834f171ed34c2b7ed34a665223136f33731d30f2b3141c6f230bb785c3373ac34334244b4335b49b134bd30b134b4f23034821d123518b7393500000000000000000000000000000000d5a13334520a1a3470bc83346b92b434b6af2734f276de33ef24ef33b84311340000000000000000000000000000000000000000000000000000803f00000000ae69c33465c49b3599d1743fe9e0bb34575b61310f4b3f3146bd513f1edc0e3188503333c1bd0f359b0d263f9f178a34e9f42e3499d7ed35df22e83e84d4863500000000000000005d9f8b3e00000000fd890334a6948f36276f013ebc6e42349381b5330f79cd335e258c3c7fc7e133000000000000000000000000000000000000000000000000000000000000000088d6c133ad6f44345ab97d3458978434abec8834dce78234a2d1a5343c29a634e3ae1335aec71b3530788736047369351814f134f75ced3407990f35eb600c35fc4454354a5b18350e124435456c3d35d7a9c53094752f318b150b37e038e0310000000000000000cabe80370000000000000000000000000000000000000000000000000000803f0000000000000000249b4b34165c783f6eeeae342919aa3407198c3469ed5a3f0fa247371e739d3440d531351486333fad558a37491247353ef909355302083fa81e1e352e182f355f062935030db93e80774235cc673035c0c7e730b3d44c3ee7bb7133dfaf5c320000000006ef353de7ed6736ff438f3300000000000000000000000000000000db70c33431e92a35c16bf23871d9e4352b82d23252f96f343fc6da34aa43e2346e852c3257849e32dc7c843488a39534f854bf33675ca634dc06ee3505b7de3543a7df34a2900c356b437836f7233535e42ba83434ea4f349d59cf350110033600000000b51943333926cb3423f92734000000003c657631f82bdd3396b679334439cd358ebf2c35a21b7d35bb880d373f4f0535eb0d773f710fd73ca24fa2356a06d0333c8b553f662c713d9ae9af347250433245e3363f776d613d9b5b1e34c2f43b34d0860e3f1ed3883cb7ae7c35f48ad534b3f5cf3e2ba2923a32d13e35bd521c340c25813e22b3113afb0181358b7f47339f14cc3dcb9cb13af1406c33000000007c9ea233ec4c623b98533a34bbcf2035cf8e193515d5613a1ce61f388a66a031aff436329e88063ad0cd133672d94d33ae5e0f34fcad8139027fc834d32f4333a5136a349e3e47371287243513c1f7349878c8342b214b3778dfd134b95e55342821f93278103636e98f52336485b8345a878c3453cda035069680355d03ea3497038c34b8bbba34b5c7103500000000000000000000000000000000c3b35a320000000075f4ae327c203237b8cf07327d98503f1e5b0f3ec6615b3148d77234406b343fd0fc473e00d1253361a00b34eaca0e3fd1b1373e5be1863438d7bd34c768cf3e91cc283e26b39834a5b261336ee6823e2eb8063ee2490a33a3335b345f6ab43dc06e083e2f82093576d28734ecc5b8341ae8fa3d0822193500000000000000002254243d000000000000000000000000a8918c3a1df10b3800000000000000001a1c0a3b0000000000000000000000007473ff38000000001b9b0c34091095332a893739b2a779341839c7342bd29e343aad6537b7baa534000000000000000000000000000000002ae72b3576e0003530e018354c0b173587610b34569381334e54ef348123243500000000000000001faef131000000000000000000000000004f7a31f83f473700000000d3002e3fe1ed9b3e0000000000000000df010b3fc01ab53e000000006a1f2433ffded03e1a5caf3ece099933b3ccb334b863863e36c3a63e79e46e340000000052b0cd3df92fa43e000000003bf706353c5a0739a9a39f3e2a631135b89475337f644c351565483efccd723400000000000000006869853d57fe04330000000072523231b955c53aba34d737cd7d5135dfbb5d351e6a303bac54f235000000006bf31333211f1a3a00000000dd154f336aea4c33a4833d39feeb2d34a9799d333511ba35d09409366e53ea35b5057f331014cf33a02ad833e0bddf31b97f5034b41f013422cb7b356f2f0936f6d7eb32b217b532b7c9293377dfe533281ebd33000000000000000000000000ad85eb35dca87f352eb0fa3534e6a13682df0c3592d2033faf2ef93e31e19235435b1f33a55ac93e5814063f0000000056bf52321d1c823ec685053f99794f33aaf04a354afbe13d693f043f704f7a34929f1e33379ec539e0d5003fd2198b33d3adc233c5fed7359992c33e6869d235aa06f53175b782337ffa6e3e8a9ff4330000000000000000542ebb3de546173440c196354941a8352c6e5a3b3fabab368ba7493110b21d3291e1273b00ee5032fc57c631afa38f3388dd97393e55b233ed4f5b330100173412662b3548d9e034f8043d3573f62435de2d1135acde173500000000000000000000000000000000e673a034a3a885347a7d8034e035aa3400fc6e34b01f403386d00e34feb2dc340000000000000000000000000000000000000000000000000000000037c8ae379198e43188deb03e4791283f382e73304e1a2e339eda7e3eb8a2313f0000000008a68830539ed53db20d353f9a475f33fc50243579697b3944f1313f63b80e350000000000000000b147163f0000000000684b344ffa4a348059d73e5920be34899e873369535f33b0fe833e168180340000000000000000213be53d0000000000000000000000004027ab3c33f1b237840c37345f832f37c531ed3a74ec933100000000000000006ab9753700000000d94cb334e3d8da3477ba0b352cbda3344db85e35db3c343587e30c35b42f3235744b273350630f33e426d93206dc0233c5d7d134d4b28a34e089c63479f2b03497573934e82e28343df2c134d33d1e3500000000c64fd332949cb6332cd78434000000006885d13023a0bc31d080963736c24433f002423ebabe503f0000000000000000d9c9d63d1f815c3f00000000792b02355c74f437df88623f174c8034d2368c352a5fa9359d22493f85bd9d346aea0933c86fe33234161f3fd9168e33acbaa43443765f348335e13e8cfdae3482673c348e9984343be38a3ea829013500000000aea849339c04db3ddf73c23400000000875d9e3185d6513de6c65f37d007ba35c61694370aa356384fd4a935ec128633695b23344cf34e34823cd132c4ce1c34371be3338c77c8339db28633988b963443809a34b9308d34ca5bb8354bec5e35a5f82a35f39c0235dfb62c356b719f3479239c34629d21354bde9f35b45ac6331c4f913220ef423275dd5834aeac0135784c8c347a5f223465f2d4345aaaab356a9f8635c013be35004bb63506d12e366285223d97a3763f649a03351a790c34b4417a34da35803f0000000080f4c633963b86337f92673fc8c2ac339fc99334020085359c14413f28b2103511af173576fd1e3589dd193f52194935eb978734f2f16035ce21de3eccd29b3513078732b5a2c933315b733e073165348e986f34e34a82340c55e63d494d113586807f35ff5da935a841433c96427b350000000000000000000000000000000061b396340000000000000000000000000c9602333f615532073c2e32d355f13399306b35b8d7343571af2e351d976335465e8935b3b80d350b31d6346731173536bf0f350da84e35be566b35aa1d6f354b60ee347bc49034366c9a344dedb934290d07352ee880348a0c68343bdaa1340000000000000000000000000000000000000000000000000000803f000000000781e13200000000e8f6753fdd5d2437865d6b3210dc1132a4b54e3f00f0c138000e303567a33735353e253fcf75b1384b1829354856fe34f8bdf33e3f672d354dd11635e5e32b3522769c3ee18c493658a78e34c9548a34320d193e1b77b334f02f8e34b5fc6434b7910b3de259a5340000000000000000000000000000000000000000000000000000000000000000e01e7c345e619a34d7f41e3bcebcc8370a1f973428c38a34c2a63d3a98d53137506cd33387f0bf342b9a163b03edf73787c743349fea5c340433503cf449153748110434e376e733f1cd143dd33ce836eba00835939d0d35807d3e3dbd5f303400000000000000006fb7473c0000000000000000000000000000000000000000000000000000803f0000000000000000f2648c349617683f3267a73ca13aca344f098634e878493ffce1423de85a673451d7c43431ec223fc69ee73a55d0523438e34b34765df43e8c63303a38c68e345abee033c1f1a03e488e5238df2fc13301ac1e356e67003ec6498637b25bcd3200000000e137243d586523380000000000000000000000000000000000000000b4f636329cbe2e3231db9a3ba0ef2038dba5b7315ecda831fe342a3ba81ff0377a2cba33cfebc633ea43b13a4b1aae3814597b332399b033582c913be78751370ec89531a1638231faf1873b67d4a737b17d0c33f97a0e33e110113d1e204036010e9832b6c3d732e3993a3c7f59243300000000000000004ce21d3725678d3800000000000000000000000000000000b7553c3254fe633fb4954e3daa482c3224faa931d057453fff12d03d69019131e3a1c533f3e5203f4e00b13d559bbd33cfd1b3331d31f93eddfb013decb80734927a7c31cf20b03eb5b3eb3973ec4e3198b40d3387513d3ec8425639cb6218336818de325b2c5b3db5bdb33707e1343300000000f647e736732a973c61464c3600000000000000007ef3923b000000000000000000000000c81e933b57783f3844bf1834158e3434b4bec33ba58d6938dfda1b34e8cf7134989bad3b666a0138000000001fa291337d04923b5c714038a0f7423415b35134c991d93c20418c37606cfa35fdc80536038cb93ab6d60b3800000000bc10463312b82537e30c6e383aa336347fe24734612b87345bdf9638948c82346f4e8c33dc89f831b8ecef3700000000f915433f39f5133e00000000782324342e581f3ff921413e66275f347f3a5334d972f93e5a21323e647b2134000000001f65ad3e6cc1193e00000000efec3c341dc7493e8982f93d5ab09534158bfd354eae4a3d4eccfd3d0000000000000000f9ff0f37c150f53d0023ed3648dd3334c38f6d349e0a1f3ddbe27e38ed78b733948f0a3260b74e3b6a9e963cdb55f13200000000e06c0c3c300f393666321e3497313634d69bae3c507422380000000000000000cfe08d3c44b101380000000077c57532c2ecd93c513019379f9c603413067534fbc69e3a61050f370000000000000000c3715637a4b33a381e445b34f1c3ca3499ac03352be58f385a655c34775a82347a2899342d0990380000000000000000000000006e36c13806c9d832b8171d3f723da53ee339bc3365de2f3475b3f03e1d6ca63e6160533400000000faeeab3e619ea43e000000000000000091674f3e932d9a3e9e6fd233df2b6a343003773d4f76a03e504db83400000000fa17913620279e3e2b0d2934226fb23483f7f23452cc6d3e2b836538570c7734935b93341a9fde3dbad6463800000000000000003997d53b0ce9a1380000000000000000835b443d62877e3135b6533116d089314c8b2d3d3e2fea3784733d34d38d56349b7e0d3dda8444348776483477b17a3459db83394aa69d3400000000000000005c0c0736630f9737d9658a34d5399634b44baf343eb03c37454aee33d88b2234f8f64c34dbbccd377171e630da4e3a31cd3c5c310a3187380000000000000000000000005afd0b39000000004b5fe53e504cf23e00000000804e8031d152a23e9ed4f63ed1dd493137ec5834dd01483ec4acfb3e070d3a34f9978034122c923d6c45003f8341a63400000000569f43361377003f00000000881e9a34a96faf3498a4dc3e3c348e3421632234af1352341b9c913e4bb34c37d77a2331709b47317c4e283edc2c2738000000000000000008ab173d535ab4380000000000000000f00f9f3d4f123a3886a26c34be1d8734740e8f3d1d285837ccb920366692533649ae113a35d74d370000000000000000e174a73781281b38e2e6af34e3589734e2d7b9341c68dd37322107358447903455c21934fa86e237000000000000000000000000bc597d38d1da1434f318203418fc4734a5c508392025e73458b45534b33dab343704863800000000c64f923e478e223f000000008cd07b34e2162f3e9712283fe6589c3466b63b364b76a43dacb4303f5712ee34000000008ab6a4377cc6313f70c0a334b8a29434cdd6b2343cf6203ff39b5b37a4948a34ecda3934d055f33e0041b3360000000000000000ebafa93e80e6ec37756d143467ad353486c4423eb81fcd3719c5733471123f34c4767a3d99700a356a217d340ded95345cffa23da942693475f9693446258134fa2ea33c26575d370000000084bcbc348da93237abcb133800000000000000000000000030cc6a386acd6f345a618534e9798e34f5c54f380000000000000000c5d68e32ea85b138efda7c336c09093490523134b8d5d238fccf2c34db0446345ccd5834ce28c7380000000000000000faa0bd3646dea2389b5f6934ebbaf93dcc47483f0000000024647f34e9e9a03d00e05d3f1f158f34a15bac348d866937ec11623fb7b45b36000000009954ec339221543fa7334f386197843416549234bfce283f6ff90d380000000000000000610d033fbbd979380208e93312a31e3481e6ad3efce7a2384f1b403450135734a677403e56c1203800000000d71c98324119be3d53ad0c380000000000000000f446e53c000000000000000000000000ffc58e3799a13e385b7b1e339284243302e93733ff3b4335b2dc1d33f9600e33feeb193319fd023843888d319f184e314e2248310df33638a801f0339f5afb3375a40a34844a2738fa99bb33c85eb23301dcc333d1c019395d0b04326f13a5312909a5316429eb38dabdc932eeb55e32ac9115342fd0a33800000000b22b283d59506e3f0000000000000000ce35db3687da7b3f11664536bad327337ab13633d229703f6baefd3206c915338858143337ea483fe5df3938ff156231fe5c3431c31b283fb33bee377871003497f00a345e6ff73e205fca374eadbb33065ec133e5e1933e3e0fbd387ba1c131814c8c319b8d043ed2bda1371c278b32d26d3b3253096e3d7b2a5438000000000000000000000000000000000000000000000000000000003d9d0b38bf85bf32cc3ebb3224dfd032b962f737ed43fd3330b2bd33d8e0bc33e85425380ee47b340f9f833428128934238b0a38048f9733eefa9833b96e88343d2456395fa6a034aed86b341e3b6034b5ec743810eec03471fac03479f9c634f380ac390000000000000000000000000000000000000000000000000000803f0000000000000000000000003068733fe8a32b387193c13206e0cb325e2e4c3f0f2b153daf90ce33a98fab33e3a3273f52d25538911c8434c6db8b34c6a7033fa68ff437bb7a9c33141c8734cd89ba3e652b8f38caf68034622f4d3491622d3e3c132c375ccec534ab99c734a910983d7f46f0370000000000000000000000000000000000000000000000000000000000000000c46c5536617551364ef6f7365e57563767aa113760ef0d373ea0ee3739412538d6fabb36263f80367c7aae375c600638e9a280374846423785bd0238f75a1a38d91d2a37648920373a0ac33793dc0038a4e69337573d8d3776b4d137cbb0cb372e9145375a5360375ceaaa372980a53700000000000000000000000000000000000000000000803f0000000000000000b2524e36d9f37f3f20b79c3709731a37e6840e37b362553f268361387edded372ad4a036c7e5293f3f1d56383b828837b82c8a37ef9dfc3e8d1ee0392258f337bb272337ca80a53e6ad9343871c0c237482483370a391e3eebb00a380502a137bb8edf36dde05638385df537365b343700000000000000000000000000000000c5b71a36848e4e361f01f437a2f700384f1b9f351c8b9135a57a5437666cc237d605a836181298361e806b374c25033863a48836d75b7c36dca5bf3776913538ba2b1236104f10365d329737ae28dd37547424373c81eb36f49c95375fd8bf370fcf7936eba85636e9d3b4372d8d003852913636cc613c36ab84b1368cd7203776550a37563712377b6c5d3790cb9937db6bd435aaba7e3fe6539a3bdf1e6e379c9380353816763f2025fe3c9894f83670e795367a9d4c3f0163f93cf63b46374aaf7a363bae233f092fc63c542aba3794350a36b4b7f33ebd869d3cdb2394374edfdb365cd3a03ea59f8238b4b29c37d7014d36bfc01c3ebbe89738a88bac37a4912e3634f1c1374482c13760baa0368abfaa36971b39378708bb37c9209a37b17b00358bd300357f4a9937533f7437e3e99135c8948f358f7e9336d8fd413794573b361e762d368ab1aa377de402384b3daf36457ea1365115cf376e722b386faea0360f0a39366a145237d59cc637e18b543728f9193752ba033877004c38d76ca136629b9b36b456be37f6760038f6334936220f6336d396183713ab3a37531d4f37f3f8483763af8b3706d3a03760e5fb345a66533f4d45323e39e501356db38d352feb4d3f928a413e53849135ec021a3674bc293f4417343ede905f3759cd9936e7450c3fd1d2133e8c00b337f80cb8353fc1cb3e0edbd53dbf1741378680d536f016843ef04a653d422ced37b06e9536fd9f043e7fe4883ca8fe7a375c85ef34abfca83786daee37fa730437f85e803649837737857fbc37bf389737aa9611379dda4837ea1730386c16d137e9ea1036c0e411361996813728888d37577eaa360c65a73623aa4237f70b0238891ae43526b0ea3504fa10385c407a38a339ee367b2189365ca25e373541eb377a3aa836245d9a36b75e8b3757eff737ca78b437a8a5a937edca253863b837384a0f8635a6089835f6601b3779fe2f3777136a37efb96b37e978b9379df5d437a3365636b3f4283f9afcad3e377d253772ad0336c671253f4e79b33efb279d3646d9a236a9860c3f1295a03e2adbae36f470d735476ddd3e8706813eb65b27370941d73558f3a03eca583d3ea2cc28374ceb92362a54493ea08bf13d20bdab365efa0537a024ab3d401c563d160ee337511f86352e887c372e2dce3704901f36505f8636c678b137000c07387f33a5374390fa36142b8b37a7b3163881c5e1372812de36f7d51737d43d0538a1bb0438cd1c27362be21e36cb4ddc372b182838ee5492378af339377302cd374d091c381e399b37844c81373b190338b9c832381854bb371db896375d40e3376baa123894b07037ed832137d8a5083812992a38d438b8378653b337c2f80238c567083810569d3715b99337223ed5377cd3e3378e078636e53cfc3e76cd013ff8cbaf364592d8350778f73e4332043fcc019436d7041f36430dd03e5fe8e43e78c62636b361b836dd3fa33e58afbb3ebd538a3780c42d374e306f3ea750883e1636a0376f3f5137e41a093e86dc383e24c8ac379b8e43361479533d2cf6c13df0014d37184d5237cb351e3876a85a3813aeae37e00905379fd6ce376f941d380042a537ee3ffe3613fa833771eb07389153c037fea3a0350c7592359c37f636c3bf1737c3558137a6d351373524fe37c0322e389529ab363a269b36a0d803375128e0371f123837adb1063762f73f373e63cb375879cf37d6be2d3799da0738226a63386b0a513775821237f9b482377f70ed370a66473720e63a37f344873713d58b37febf8c37cd598937e3b4b337c62eeb3768777a36b278a63e72b72c3fd4836a36dbbf8a358fc6a23e66942e3fe1f37235ea2791354e028b3ef4a3173f50972637182d98361c42523e40c5f53e83a89b36d724be36ba37133e0abcb63e3bf6f036a9eca536be6a963dfc9f773edf1ce136b5b3b336f373de3b7da9053e9152b036bd75013786f0ad372415463b373e1a37f3905b373ad79f3715554738172c83379cc765370aec6737a94db9371bcb9a37c5b597368e11c6351fcad636f2931637cdcec43649ad9836782dc836ec28c137a565cc3709ea8137b626af37bca31f38eab350375a941337b7352537db3a9237fd7ce1376abe9a375086b5378adc0b38d3ecb437214480373a8bb037f085ec3731b092359a499435969d563607c91e3793760f37261ad936b62f3a37cdc543379cc4033786fd213edd75573f57143b364d95e234870b203eb7ef573f4a38d934a8239636d417153ef143353fd4b7903697346b3778c4c63d07bb163ffe3c4337c9200e37e60b833d85efdd3e4069e636f2b973378ee3183cb9a7983e445c2237e23a44377f574e38f2c2243e149e1837013c93356f9f4337cbded53b66fe9435c7c54735b0fe15370b9bd037e1bd4836235a653768ea37370b43a33713208137d2384436982d3b362151363664c86e362f419837b65fb136824152368314b1374bde9937de2046371f9d1a378f99af37f251993744ffe6360ed8c8368839bd3703d8cb3795e68037c11a60378b93e137dcd9a23790643637b04a3437ed4ccf37032480379bef043773686737bf878437f4d6a5379a2196378e3a95371c989437cc7f333751cb9538c6f27f3f383b98363280443693650d3873f67f3fabb521363fab1437d5059238b7be583fc7a34f3650c173375d2b36389c852f3f678d2f3719863037a68e0b38c829013f52142c3750e68937d8105d383d24ac3e3dfa7b3714123f378c210738be322e3e6df91f371099b7362773a937f678f73babb8c03535247c379b259637a31d2338c0572637000000000000000000000000000000006df921376aad67362bf18736e68fce379efd9e37d64fd836436cb1360c53e837b849b237fb5d2637ccee1937ac960b380050fa376f5d9a3770bf89379dd26038e42bbd3774760e373ba1033796070938b92a0b38fcaba837eb95c337a0b229386eea583761870c37c6393237ee915a370000000000000000000000000000000000000000000000000000803f00000000dfa0f036a046ad37e6f27f3fe1c64137f87d6737606fcb37e25c583f48a6cd375d8859372da9e03761332d3ff187f037270ad33734e50b38877e013f13830d38d04c2737ebcebc37f90cac3ef368f637d6ebc6378f50fa37562a2a3e852c0f381278203792e11a3728bb0738d3fae536000000000000000000000000000000000000000000000000000000000000000069009136c9e58c379ff641380421fc37da961536f8b522376fa1c938a06a2238272e6836dec1083899761b397198703893082a352b8327374df32238575ab837a690fb3569ba5b37660c5238465dc03755cd9b379a7d123805f97d388efe453868f3a036bb3c55375427b8376916813700000000000000000000000000000000000000000000803f0000000000000000f6efba360cbd703f854eea38d18eaf37f9c6d4362e034a3f9aa5f1393ac89437c10dca37be9d243f4372033ac904393864a7b1368e60fd3e6356bc39bf497a373d43bf3654d4b13efcc1cf39385875374493a1370b8f4d3eb0e1fa38af440338cee99a368f664a3d3b75da3724510737000000000000000000000000000000006880d1351f8a4f374c4e2638d176d83797b26136ac741c379d311f3809c50a38b1719036f1c3c736748763383e9d32384dc0c7364feccb3607d23c394b43343811325f36ff32ad36ed34c2397729903923d90536a2852a37b2585e390ad413399338d536dacc2c3709d0373854d3273827f48f36f681923631ce1e38d6de04380e734437b0895d37fcbfe2371d331238c808df3597266f3fb847863da2f46137ed6f673650795b3f5fef983d633eb737efb6ac362ae5383f6c86943db845be373881c936bdf6163f7395833d8a02933728d264366dc1e93ee0a7613d2f5ac637d8e61d364f39a33e883f083d4e260a38dad2d236841d3d3e2508453c569af43705d98f36404d313d3cc0343aca8e6d378d2b3037140c8137e5088b388f400838aee9d43661397c3788488838700ab5372830383610f4423610a3703bcd09e538d10d6b36f4437436495f5638dc6443385c890136e3590736b5801b3abfb7013ac89da136e5774b37895b253979b8a4385253cd36c9d0f6364da584393a281539cb339536c8fc4a37462345388a5c3a383058ac36cc3088370b80353849642638e235e9360cf636376089043825740d3893d51d373249493fbb945a3e5b1a6c3790eb3b3650e8383f0f4b563ea72a953670147036d4e91e3f6e68453e40bbcd371fe30436a59bff3e83e5283e60b69a37d979a0368a00c23eba73023eaf2d0a38113cd5362bdb833e14b0b83d934a3337f0b14f3690d5143e0690573db45bf937968fab3626d4af3cacf8613cb3a6f5379437dc366d49d937861c4f381d880238ab27e4365ba38f37898a5b39fda1cb37ca0f1e36f4fbd036deb5623a1fa41b388b4865362fd0a6369d585b3ad1d6153aa4050237db4e0537df48e138ccf92738a8fdd4359cd39b3649bf193aa960d53935d7e536e0e846375845003af837b4397f7fc636cf54d436c1b4a73964b2853810d4a63672ba2b3788086939983fe43794508637c4bcb437790620383c2b233891641837bd20243fa986b73ed87d453708302636c0ca163f6dfcb33e400b3937b3e079363f04003ff0a8a03e2ff718374ed70237ea81cd3e3340853e583cc037bf61dc35288a9a3e07424c3efbb992375c1be53679034c3e1a5f153e2f38003880b5be36ab1dd13df6c5b43daa0e0a3822b58236fc0a433b87fc043d5fe36c3744f33437b28f093846224e38d5a61138d4331c3776f9c2379318443aebb81538752f2237797538370d67483ad80f023848cb1237d5eea23759cf7b39761e1c384d293f3764cc4a377f6d0a3958f02738f66f2737cc465937d8f9213a4a40013ae7f94f377800853787dd2d38884e23387550ad373f81d4376a2e1d3870a013381a49643769db973751690338fa6de937db7681374d789637a53116380298253866b035373af6fc3e9b25013f94826f37a2c72737a9fbe93eac30fc3e70c680370e911b37d320c33e9629d93e6a5bda379501403786d29a3e8342b53ebf17ba3701192537e3f36a3e91f0893e0dd5903709a94a3701a0113e1de24d3e1279c237b69797374eb98d3d521e003ed0b4ec3705a138372674fb3740eb4a3dcbdfa7370c504537599ddc372925033afcd703387635ce36cb8eeb371a2d113a61bc1a38c0367136704cb13640ff873aef7c6039d1dca836bb70be362737363ab1b1cf39ff25f23687f31f373cf4223ae92ffd390e953a364be22b3727b9123aef5ccf3947ec0637d5417e37d869293820dc1b38958b0c3777151d37a45e0e3a1c103c39b6d11f37508d7237e8378238831e1938651857370fb75437c4e6d637f5cfe13787e76837bf82b13e4506273f8f149937c2947136ab7ba73e7cc8223f348ee8368cc1a93639b5873ee5030b3ff987ab379e47ec367619523e0b39e53e47a8df37a220353690e4173e6b4eb23e196078375631063715c9ab3d5824823e7789b6375a34cc368246cb3c28ee223e029c1a37b2c13f36642a10389fef6e3dfabec5370e5d403790c29837abb27d382e55bf37a54bde3646adbb374cce8e39a8b50738c662a8361e8f6e371f3a033c4f332e38e9dbd036c2ae5a37197663394c99b1389db200376be3023773039839de488b3937ab8437f704bb37deff81383df48438340df136f5b12437d503be39ec13823982b59237db879637c8b63938a4432a38e799f036d0e3be365b7dc738930e8f37d92e9437e79e8337fb44b6372f55c1376cf2253767ee4e3ec3244c3fed83283783a0a936ca1c413e159a443fdbca913758c5d43629b91f3e0647253fabfeb637bffbf7365645e23de5720a3fb69d093774995a3778e49d3de312d53e2c81f237f6799836c7b3e83cf77f9c3e6ff463373f42e6369468403870a93e3ee16ba53735bd8636a6a36d3759ff833d44faca3601c16d371928883745f783388e94a0378cdd7737bdf58037a7e9463920ad08389a019136b96590366d3d6b3991f45638406a0637319220375e9c32384c5e4038927c7a37640a943764015638ab008c399b6b5237d6452737b08d0b3877129639ffcb04377c21d736a0860738482f28382ab3bb3761a58e371099163893da32382e8bd437949dab375678053862a4ee37a30aa23711b75f3783fccf37c3d2dc3716c078375ada5b3d0e26723f72f95a37024690365c37633d6f6f663f81e9f53694baee367e4a203dd28f433f5cbef7375946583739d18c3ce945213f086c1038d6f82037f9ad4b3b75e8f73eaef9ce376da0d4364ed0083815fcb03ec76dac3779d07637f1f2f4371ad6513e4fbfe137e9379e37fbe3d337add18a3d07caab378e272c3796d67b3702452438b519a73700000000000000000000000000000000703ca1364bcd90368443a137b16cdc3733fdad3746da8d3712d24338d444f7380858f136f47c5f36404fa13714835039a8133a37f655e83698ed8a3703cb1c385f032d38827eff3743bc453889567b3888d5ae37c7641b3707b0f43760b63d3833c4dc3792929737a3bbe7373f0515380000000000000000000000000000000000000000000000000000803f0000000022589736c5d67937a04a733f3db9be3765f697377fa32f38be754c3f782988389b39743648d4a63757d5263f950cdb3895d40237595b94378720013f79b11f383d6f0338e5b039389a32b63e7d667c38b65e2237161e8b37f40f573e70813f38cd689937ebe2a4371e6e723dedcc083800000000000000000000000000000000000000000000000000000000000000000e50f3372666a1397a3d553af83d9239270fe637c8fd8b394267e839debd9e3985af2038251f043a84f76d3a8d8f233a28c9263835b8473984bfff3982fe7c394d33bc37ada7dc395f47553a4995083a97a402395fcad0395d052c3abd04e3391c5c2838ae588639c4291e3a1bc2b93900000000000000000000000000000000000000000000803f000000000000000011cd9a3850f7603f535c513a0779cf3831a90c395e66403fd45ced397f56503993266239147c1f3f6f75783ad675c83998a98c3818f5fe3e6c8e163a6c441a397e981439bc64bd3ed1dc623a5cab9c3947ea8839cd20793ee3b8473adca8b439ef634238aca0ed3d2b97383ad1db123900000000000000000000000000000000c49dcd375b88da39aeaa1a3a087fd5391c43bf367f0c9c389c0a793abd5f9e3996436337e5ce1939a11d063aac98b2393bd2e93757e21439b4bfb13a8060043a5132c4371a00ef38b04d533a567fcd394e092b3705a1e93764db123a12276139b0449b37237fad39ae187d3a80b30d3a0276a637a20bdf386692803a9fb2fd39c00f0f38062ca639bd5b163a2033013a3d613339c1e3603fe148ef3d198788391bed6e377af8463f1ddede3d1acfa638ef63da37bfe3293fa0a4be3da14a433918f20d38f4240d3fa4fc9d3d61987b395839ed37f8efe03ec72f803da2f3343935187d379bc6a73e047f3c3d3f230b38ffc1a4389c2b5d3e4869f23c9306d5394f8fc337e56ec23dd6ebac3a51562139d22ac838cd3c0d3ae414573a27cdd539b4aaba373922cf39a6aa843ae1dbab39ac80be3733cb223994fe9e3ad69c0e3a01eed63623421e3a1cdbb13acee8533adcb33e37b9c2333a22c4ab3a47fe7e3aa3e254386ec3fc396e74593a07e3373a9629f83785329739a15c3a3acf9d113a5d2c9239777e273a34dd803a48cd633af4d92b376580dd3969615e3abe6e3b3a95beb037cfb03238e1cdc1392c52bf39d0feb938e24c403f99d6793e96a3a33859f4163835472b3f3602673ec5455339c696ad39b5bf103f1fa13f3e58e6263ad3accc3918a4f03e14b9203ec3234e3adbb28239a8a6bf3e47ebfc3d47d6163ab1b00c38e6c48d3e1fa8c03d3f58c739b867e239b3383a3e96d2793d0cc5453afe3a05397692b03d079ff53cd057183a6f2ce837d1f381393f70123a6d43ac39b6ac9d37041397396494633acac6aa39915a9037fe68f037f938ab3acaaa073a7eb22f383cab5738e167ba3aaa21423a1cd98b3782c1043817dc5e3a4af0043aa49449385578ae38c4d5053aef2cac39a1fddc387e4c173a7ba3873a513d703abc8b4e37b6e60d396aa71b3a1e88f4399f19363806e4a439e1816d3ad2891d3a01b6cd376838733848decc39f0339f392946333876f21f3fcde9bd3e47da9838a383c93793ce0c3ffca4a93e71466c38142946388588f03ea60d913e2445123923f2ab37e1d9c63e051f733eb1a6e1380c375a38c7b99e3e8fe5413ede4e193944faae39c067693e197d103e1317493a0cf977370aef183e0b0dc23dec61a739d4363c380233853de3ca2d3d0818ef398e4bfc377fd8a139ab56103a2a02813965765238ff045639eb8a0a3a9f90a63957c99837dbf80e38239d983aba7f9f39360a4538f065003a118e013bea76913abb41d037a6201f38ba9cc13a896cfb39b4731d38cda83d38766d7a3a8132243a71ebe43795791e380c41963a4ae6ee399d1908394b08e6394a26cc3a1d028f3a55cfc43769f80338370e373a2b03e33998d16e38f9ffb7380f88cd39583eb7398cb7703885fffe3ea946ff3eeae913392100e437a724e13e104ae23e728511384911703934fbbe3e9c74c13e862b133a0366083872959e3e1e09a23e0cd53038cce12e38e3ec7b3e2a08813e9e9780398a1308385b79383ea63f423ef00836380bd87f3916b0ec3dadf3ff3d7f6a303a2fa2da37641c523d8d06833d604c1839e77a733860088a395b340c3a76a5973996a888373d1920394b7e1b3ab37bae39e56b1938c15b6039b817923c0ed12b3a096a0f3778ede338d2e7303a4085053aac6cfb38d3fa113a23e68c3ae3d9773af3d452381f506a3866b5f9393618cf39294fa737073d0a38709d413af9330b3a7cfb3d3806f35038bd3d8b3adc8d543a99d1cc376684ea375a424d3a7cf6223ac84f2b38e56f65388ad0113a55ee0b3ad1d10a3877e7bd3ecf42203f21bbf83870313238e4c8a43e4b950c3f286ad93908565b379a4b8e3e0a13f33e82db9d397015b1391adc693e1e50ca3eb584493a62eb5f38c3fa393e9d0da23efd5a8539de6abf377f30083ee0cc733eb6f0793919594638d1f5ab3df9d1213e8386d839b043d337fe3d0f3d8f86a33d06a4bf39ecc137388043333961556d3a08e5e0392c6f7a37fe3e7139a428303af8a7a339e63f0737b934c039b63d803a9a234f3ae7c26d39f4a6153af62c873ad85c753a9189063880f41f3979e53a3aa463293a94766039a2b2df39ef01523ab844433a5789c4392df61f3a6e378d3a8dc2853a926cb6390b5d043af7a7863a65c06c3a90a721388d90e938cb5c723acb53283a408efc3785081638cb13173ac819113a508291389f55793e95cd403f7a189f383f4c0e3925ad5a3eba282a3f11f1143ae218db3906fd383e798c113f3668513aa0ba11383ca4183e319ff33eee1a013ab472a3396aa6ef3db823c23e2c5f293a362af339e9b9a33da2a8913e83466b3a20a7ca395cb5523d09d7403edb0a473ae70b29385bf191398e93ce3d4d1a9e399349fd371ffe2b39939e913a53b6de39480cf537a8e57f3967d2663af2c5133ab1177e372bb6d237d9b49f3a9aaf783adebf9f374a9e4139e6d9863a06b8613a41475d37f895af37fd6a163ac461193a5e0bdc374728f0374fc8253a3625153a104efd376c5a7e38cc0b5d3a20ba503a61d713381aef4e3860e9d039d034c73989277b3752f7923754801d3a595d013a5d0a343979c45439ca3eff39a3d3fe390e700a39853bed3d1ded603f5556dc392d22aa37f215e63d636f493f9090fb398bb7a13858a9ad3dc71e2a3fca5e113a1e277f3711848d3d5cfb0d3f77badf39488be4371b32553de9bfe23ec318b239b23b033854ad113d7dafa93ee31ed7398e041638b113a23c9a3f623edc55a33931137e37f934bc387649e33d3766883974b41439ff548d39680c263a897dee3900000000000000000000000000000000fdfc13380cd23a387c9e2a3a0a412a3a6cb89a382e5a4c39839c133a0cd6243a5fc85c38f6470e394436293ab2a1493a09472d382f813e38e558a73907c9df3992a11f385d82d338c47c2f3ab216473a654de3382216c9388ed8a739e786bf3919fa1038a09a1338ecf1cd3945a00f3a0000000000000000000000000000000000000000000000000000803f000000003a652b38caf6b939cb25613ff4ba113a90141c393495d6397e48403f4e59183a650fd438d2dadc39eac21f3f4c0d473abc92353899f72f399d67ff3e8a18cd3974d721384e7ed5390dc0bd3efbad483a7f5c9a38601d34394dfa7a3e1958c1391f0e0e38ec8c7a380015f03d12e70f3a0000000000000000000000000000000000000000000000000000000000000000fd661035144b1035f4148a3642423137e0c2953511858e355b8d5636eb621f3876aba336f8a38e36a01f8f37a03fc537f10e0e374f46cf36743c1238a18c213801d24b36dcef563635210937506bec3652273537631f5a3774c6c537d39e4837931cbe37355cee37665111382d84c73700000000000000000000000000000000000000000000803f000000000000000000000b35eda27f3ff741f237ed3a0037ab2296351031603f9cdaee385468fd37018fdb3608db2e3f7aa23538f45aab37a79e9437fa14fc3e0ee27e3846710c38ec629a3652459b3ee52c8538e472a33623167537e926e23db4495e38be98dd36ecc99e37c4f6993839104e384d687f3700000000000000000000000000000000cf062736eb3f2d369d1df837ed6eef375451b335722ec035df0afb3501c2d13655fde635cbe9e73582e2f136c9c6f437e4ecb036208fab360a5f143798a88637df9a083627830736dd47f037c06e28389a140d3668a80c3687efeb3615862637ec315936df285d36cc9cc13663beba361a4cf4352947f6352defd9369568d43603135a35fba38035b6d1a236f9f53a37a2b024360f757d3faad21e3c925e8f37fbdbb3357e87743fe3fb0e3d04d011368fdaeb35b466573f8f848f3c73b1ba37f344ac363533283f5440143b2cdd453795e309367d3fef3eb6eff03aec07123880b411361c758d3edb6eb939bb88ba36fb2b5136f817ab3da99a4b3ae6bf88361843f235beaa3838a9c8823811ed5736f6635c355de83136e99e1a38dcbe5c37160863343c92813468b3353884560638aa161336f7e11e36e49ed136ff0f9737a8f0a436f77cab364f43183727d1ce37f4238b35fa49913587439335d0187337bc24f335751e0036a6c48f3757d8f23792021436b2562136ebb2353899e952380d939f35c802a2354b99fe36e5321237202db5352938bd35cdf32a36da7c0a3703d86f35b9e4753570dc9d36855a4b377de65d3455195d3f858b0b3e44fb5537426a1636e39b553faac8273e00522b36df3f963634bb323f0c32263e1a37383794728e3576fc0a3f5fe0143ee07611373e90f7357e23c63eeb32e63d2528b237cfb801366a59603e78be983d7d431e38981fa035a6c3893dc3fd163d22050136464cb93551e864378b702b3a52a06836215c6f35b3b4773590306938f4ae43370a9a0e3668472e3630f6d137e09b5f3715402f3540688b35463b0a388d39e137c2b49d358616a0350ddd47360e3abe36564c133681c9143626bcb3361c393a37f083c43572f91336216a203875c4383899ccf535fd5f0636fbd2e5376905ea37ddafda36dff3233720e92338b31cbb37bdb99b358df4a135484969363f784e36ae2c0f35059e0c352759b2370511c537d805e735e61e2d3fe0a2a53e3b813f3609b02f355b32263faef5b23e0f06e73501ed9c3534ba0c3fa590a93ebac6d33582260636fc51d73e4d348d3efdf7773639f9c2355ae0923efcbc543ec2b5e3370638ef351b43213e7e990d3e46341937ad474636c0e6d73cc97c8b3dce8602370edc9635260a3337d2bcba38403f983512d90b355c9486371c058338a4eb3437f9770636c7f26937fe9f6f385dc98537a25205369b700c36637a1637f60f1036a50582360cda88362d0da5368f97f7360276633697566436b91d8e364af9ac36c3a787367608c736cfb5df37a2a3fa378b8163362ca96436f980033722ad1337ca4da836e19f063769ea9b37da5351379b850e366bc71636971d9437a4e436378dec3d378afd52372afabe378a8cba371cf6fd35d507fb3ed372023ffae8043698ae0636e985ef3e3e40083f94d30736936f6d36190fcc3edfaffc3efe0f9936ab986236940a963e1cf3ce3e17a76036774d7c3644c5543e0da1953e29623037510366368e01cc3d393f503ed9c860366e809f36740d063c6225cc3d795698366d610c3684c6fa37bfb85439aa6c0d3670be13367ec2ac37665dcc3885386337f6290d35af57ba371211343856450c35242487350539993504a7d035a3e39f357884393646ff59360c99e43637950f372fe80d36aa340836ec91cf366da159378244d0370a7ab237b24f07385f391238c86a9636f8cb9d36b92b1637bfb30e374f875d3658868b367a850a37fd1fc13653649737d0c6b437ff45273870fc0338292d0c371bc2013759978c3751a76f37d921093594b79c3e1b9f313f4bfb0a35093c8e35f2f6913eb303373fab1d91355473353619c1753e145a2a3f89723436765a05363f2c2e3e33be083f59d3fe3559716d37d435dc3de5aecb3ede352637b7063436f4b72e3db788853ef9112436d2a5eb354fbfc238b1f2f33d1737bb350d967336346d6238ceb6943a3a04e3355bc25e36d9949b37563212383df94836f75a3f3665dc67373dbd9537f6907a35a765b7354dceb83530c9be35d7a1be35157f9e359ca4a03552bf9f35918d9d35dbe582377b3f5b37ba0296368f92c936e0f1a23751934637f4f32937ba175037abbfaa36c73c4b363970943546848f354ae18137c3817737fd91aa375b0675378e3282369f01b336fc9f07387b16f2367c645c3702d49837da9e0138ab446737c79b783557f5f53d1737613faf71773565deb635e501d03db0db653faaa2b635bed29d35f234bd3d80b44d3f156f9d35cce7853763ab443dff7b283f73a61a36d65e4d378e80bb3c889ef43e876a6d364542ae351dacb5392e769f3efbf08e352c30143799f2a43959660e3e66abd23672fa2b36d2d8bf388c5ded3ae3011d36a33fa736e6563d38d52879380199683413721b3715f33d3782dd343700338d356d30f7358b70fc35a093e835b21af335aa005336ba93563652d53b368e024e3677bb3736a63f1436c2d00c367ed00e3696f4df37e362633763ed6c364f7ba73735cf293706e10d3766d900370d6c14371c806e37dba63d374fbf8c3761444f3711e31e36ef051c36b46b8d3697480a360a943b37e0774a37f84e8c37dd6fd036adb611372eb3013a4ae17f3fd3693d358fd4fb358ffa943861fc7f3f6af6e535d0f05c3676705637156b6a3fdc3045369c8e153677e11938682f393f39b40b36e75fba375489753883de073f2035c736618f1f37f05937388173ae3e5ceade369c6a3f3795b08b38e752103e37abba362d5f1936f8a780375fa3253c66c2c735a7d591364031253870c6833885e7403600000000000000000000000000000000295817377b8801366726e3352cf2a0375a58c0360ba642365e45ca350908e136dc2b5f36161d02360c7af535cd05b1367b5bfa3778308e37916e513754aa18381471af370e5183371c1f69372b8ec837bb0dc337a8b65b3756facb37baaa003840ca0e37e663d93645e451371ac453370000000000000000000000000000000000000000000000000000803f00000000fef38936c19ee837c2f57f3f72ed8f37fe11a93657512637b4af633f2d7b7d3788d443368e928437825d323f509e8c379a69e337e37330384fde013fd1e222389a409d37ccc1f1374f2aa23e6797bb37717fa437f5eaa038c817fe3d8ff3a7372aaebe3668dc91379432a83a475d973600000000000000000000000000000000000000000000000000000000000000002a139236f0d41037321d8c37bcadc03738dd0e336efb3733da4eb6370981e13741e383358336a0356cdc20383737fb3707e0cb352e56183630ce1c38de201237b9d8d2339d21e633868f6537d1c3da330b877835a1eccc3730db1c3828ea74368d69bb359970b635a243ae35ef90a93500000000000000000000000000000000000000000000803f0000000000000000000dec369a787a3f319c083a8b587537e9142a33ae87533f5488d3383b785537aa669f353286283f3a9299381db23f37ac481036801cf93e467db93841f357364295de331c2fa23e85f5fd37d861da3318578237c22e153eec3f2138cbe533353e6ab73585c7663825d20437d61ca8350000000000000000000000000000000016ecdb3476bab2355ef749386184103884ec5b3367615a333b46e236eaf109377d3b8a332a6c8d33ba06143579989f360e5b0d35ab432d35af6a6c373b8bb037273880354e55b63595040e388bd6f437b24f0c3488d80d34b8eac3378c18e63606f95235cc7e5d352ccb2d3877b9bc37ea0abc350c7f01363ee23a364b6b433606298b34e82f9634d815ee36c3dee2376645e9349875753f791a263d01ef4b3761c25b336856643f809b973de8699f36489b8b333fb43e3f729a733d5fff1c35e0a924356343153f1cfb3b3df9966e3554ffa335b2c8d83ef75de03ca85d2037a2a40c34f49e813eb3ab7a3c2d092936ac9f5735dd92b23de4d8693af95752366376d335b557543635b777385cdf4a3670e68e34dae66f352c8b8538a4fb1a3839a7b335de40cb35117c8a38465d063871df76355be5eb35708f153818ec8f378f0a1c368cd14b36c0eaa337b7139c37bf3e9833555e2f35747e2338b4552f38141f04364fb44336702eb037b18cb737ccf8cc3552ba1b362df43a38af561a3824bdb0352773d4353415113803a9cb37b2704236cac85b368d3dc03739c41638a43e2d35918a36355a2c9a35765b593707c5bb35dea64f3f02ce403e5ef7f735dd179b355acc3d3f0038673e2ba86736480631366cb1193f3bdd573e2f54c73664adc4342197e93ef294473e495090375b3b25366ef3a73ec412223eb33324373091f8358457323eab70f03dd3742c37b17cc1359144583d41cd893dda106336cfd34b36909c4e37676d793a1eaca837603b31357c7c713559a0c13800de6337908d34352cb96e35b369883869eb44378fe3a0366a97bc3676eaca378944e336e0c03a36f6c468366aa4ea37df23a63758b99f34961a5635280b5038a8073e38582c733627b684367a374238048f1d386624c035eb5ff43507a61838a50ab0370cb85a3686256136a305193746a567366100ca3658e7d03640e40d38d4cf10380bd084350d4db835aa3758364facb1370a6b36359d19273fc9c8b13ec9f5a43543c0ab36745b163f6d48c43e0c35de368ff44a363bc3ed3e7895bb3ef1089636f570ef3447bfb23e360fa63e0cf79b3778e07d3672806f3e3e5b813e01dca13699c3d6350235f13df6173d3ea5c7fe358db159367c1b68394d92ea3d52a159368b1dc936d2bcac3752b6d43a0b2a1e3793909835ec5fdb35ddf7a5382f2f9d36e3fe943665cdbb36177dc938a139de36d19e24362f3f56369d54e837b5477636a50c893520aae8350a708537b10e1d36106e8834e057c23435723a37be0d9435c2945236f03867364943db37342151374d23b934ee0b3d352bcaaf3717fa8135f9090936723e1c362389ff37b6121a36a0cf6036b0de71364e2f8e36782d81365e76a936e6fab7367e01e137f31a23384e659d36d903fa3ed8ed023fa740aa360040303625fcdd3ec2500c3f4507583635969835f103ad3e047a043fc5530836211ba734c15d753eabfee33e3406f834c30a5936628e333eb940a63ef4a265367ab1d4340875863da9877f3eff5bc534c2b60a3628d353387140143eae53f63540605f364a3287360fe9973c87be6136ddd7a6365113c83652ffef387f1502374837ee35d7c305369add8a38a5dfe235ed5cc2366fefd6368e775238841f1137e6102f36b4a94c3651886a36fc6b603677bbe0358df5fd356a11e937481be9363f329536a2689b36503944388ed1d8379678b236da178b37b0158238db9f103846699a36ae8b9d36af8a1638033872378c26e436d48ee536a1159a37ebeadf362fae9b357750ab35912010384eb2f637da72f135a052a73e9b552c3f5df6a53518e1cb366eb88f3ea5b5373f7183c43671163836b7224f3e30db2e3f7cfd4e36264beb35ca97093ee433103fb310e735a5d89936f118a53d8796dd3ec6a5883625beb83621b59b3ca1709d3ecd0a8336160b9b3658093838b22b2d3ecdad8036fb85e3364077eb3619e6ef3cca63cc368d2ba235d5ce7937a97fa938af8b96354290c035b342a5364769b13882608d3513308336e59f8b360e803e38b4c372367f35c035011ae9355e0390374ba0d436993483367d4885368762f937cbe548377395ef36d7cb1337ef30a33768cd233713fd0f3658ff92363e593e3852c790379397d936cfd4ce361e39c7371855323713e883365c7a7b36077130386e6d2a3759dbf535f75b8e36703c45381686e8373083c23545022e3e477d543f657f34358d3c8636d942ff3db5d95f3f771b41369b2ed23588a6bb3da7cd493f2958b235e9a37b36734f103ddd5e2c3f4a622436533cf13613b1543c0531003f11737d365577023617e2ab38d198b23ebfde6b3571a3cb36848a0438fb83413e5527863609327b3679000738f179063da8ce1c368b5df535fe920938af99de396824d53532a614378ce80138784f7138762fe03582f33e36a6fa4b368cad3536e3ed1236114b44355ccf55352d54943543aa5d376c0f10343e580f34442f0e360f42843613b08e3615d89a36e4712b375382343782af70356eb871352e61b63641b35435a4a12735ff8930357b19d9365b7da3330925a836fbd0923648359337602f78363358e13678f50037b68c3038d583663728aa97373e47623cdb6e7c3fd91495340fd83e363cd64e381ffc7f3f843ac9359bb84a35f43617387273693f2d2652355ec80f347a82e53766443b3f320c0d34afe06f36ed984d3891990c3f57545b360861733568461c382fffbd3e920b4335fa8f2335a6b05d371a53483ead648d33e325833628238a37329b0b3d6d6c8b35f9959636f4040f38addc063a55110836000000000000000000000000000000003e679b351d91a335b3a0a7355797ae3518d405352dea233563d23a358025e9371e97de331baede337485e5339ae44136023d4f36b69f4136a1c648367481a5377970ea357865eb359a239337e2ba0538699c163781ef5736c2bfcc37a7d9a0373ecf8437bd3a5437cb4dea3716e070370000000000000000000000000000000000000000000000000000803f000000004899a135f5c0ab354efe7f3f2f71b235ea40203563f83c35cba95a3f7dfa1938e9ecdd33cb90dc3396ed2e3f84d55d377b0549365c016036b763033f41f9d3374445e7350fd7eb37b7e3ae3ea886c437d17f6d369b0df337c9a2313ed5933b3327fb5b379f9bbb37a8a5ab3c312c3a370000000000000000000000000000000000000000000000000000000000000000802c2136e8be5f36caab53383a1e5038ba7c5936580088364b750a387a1cec3762099b367fdda536927165386ba949381bd12f36d98b4f366fe78e381f3ee4378a02ff36d9049437c29b633801afaf37eb40fc3657a1c437a2ab6738f3bf983790e74236d72dc037089017385714253600000000000000000000000000000000000000000000803f00000000000000003c41483692276c3ff4ac353cce06253801f47d369495463fe9dd433c8d0b833725e6a136c784223f1c96433adad001380332473684bffa3e9219113aea206a3682be04371541b03e3e9460391407fe3603a51637478f4d3e578d59386cfee936faef69360966523de38fd33704eb1736000000000000000000000000000000009dea1d36d68b66367c292638c3932a38ae9a4536f64b9536f1df1a3843174738068c8b368b26b436e46b0f3834ac3c38f53a3b3673ecba3699251b386e635038fc38cf36e5b6ee36d2eb7738bc828238a75ac33696a8e5366f927a3879a88138a6d6bc363ef7d336e2386a3813f85538d15a523618ceee36a3fd6838b5764a38d256053667132d362e1fa736134e3a38ede9453648cb6a3fb3f7a33d9db91b3891a68036e9ce503f51f9b83d67d339382a42a436d63e2d3fa2f3bf3d0d4b263887186f36f65a0d3f10f8a73da69f2a38512ee2364e03d83e27778b3d22736a384662d836165d923ef8b0403d0fe75f389febc9366353213e6037cd3cf39d0638109454364a8f843c90c7943cc8a80f385f200f3668135a36e8b76e39b7154938d724be36c26369377b395639c7916d385c9618326009f23426c163381e535438b7020f3653a84e366d081238b0672b38c9028d36b21e9d3615a28b380a0197381b2fcd349f748735bbaf32382ea21f38a7b98136a8c99b36b617513818af4238f0d86836fdf67336d96f6038b4a72838d0518635d78b9535fa5131382e0bd33742030d365b0e1e363d4875381a3b9d38a130c436fcf1433f45775f3ed2702a387a4d60347e292e3f44246d3e40a9d837366434360cd0103f82225a3edf1f0038ac3596361516e73e9e5c3c3e72695b380f782d3541adb03e4671123e8439ea3736079136b6d9663e97cfda3dd73c063867996e36f4f6023e0620883d5deab937762f89358dab16389a4f013db859d736845d1436a93015388ff24b3a047f8f38d7074936f7600a370457e639d82d0638698be4355a340b36a18f7d38e0d22338024991366c57c336460c71382e3c5638b9d3c736581fea36e3262a38be0212384b6f8d355bd5f535c7ef6d38588d4e38e6b68936f3774b3794f19538339059385222d7369941e93646e82c38cfe98a37988ebb35b4acc83549d8693838d60c381cd29436aab99b3616ef09387fde2138d3674e364659203f231bb93e2d135c367ab5ff35d4260c3f377cbd3e294f8337af6eaf360799e83eb5bcaa3eec5dbc37a894dc364fb5b83e22698f3edce88837a128c2351b528b3e5a5b633e919495377d629a36f8c7333e22072b3eec0cd737735ce2364aa4b63dde7bdc3d9f58e6364bddc035c6a93d38c2c7593d4d54a93535659836b17c86379d84843aa136f5378f2fb8369955b537bc1c5b3a5c2e013848039e3683bfbe3698365338616d2038a4c4ca368a1de836af3a36394e51fc37317cdc360091fe369682a738b9cf853837c5c136c9231038efa2933899c6803852e4e536fdeb00370b33bb38aa555c38ffd6ee369f3aff36e987b239c26ec53746fcc73696682737696c5d382500f7371ce79d36adb0b436b2604a38c57e6738f12fbf362d65f73e157f003f2041b336a4a5ae365cc9d63ee3a6023fb2826b3739efda36c602b13ea67ce33e67e30537edc2ef367b338b3e79c9c03e9e255337d07a8b376540583ea5cd933e26c739385e9df536994e033e428e643e36c80037a189f736cce1843ddc29143e9cb0ee36a62dce3602293e38304b8f3d17b8c436a295a93616badd373896633cae84f837989092364a4bc537e57e823af280af37664088353c76a835d0408a38b1c5183850e9c836c79de136b2d51c38ca13c9371b9886363837263751a493381b706538ce94e2357d8a1a36edb38738fa3b1f3805c4f1366b230237619841384298f037a3e9e936ea593d3729609338b4be0e389cec22363f835237d2e07738edc80a3885335336f1415d36c69f41389c633938b69294369ee5b03e5801273f5d149a36ed2896354bc9953e4a77273fefa7c03513f5d6366845713e704b113f0b7dea3689c3a63699be3b3e46a5f23e1022d137f3990836c027093e8365be3e752e0336ad71fc365f53aa3dee398d3e0986f33680e3ed36378e0c3daf0b363e766ece3639c32336eae537382f9ca83dbd5a11365b785636a5fadc37abc73d3c21e1bc378067293634887d382cab843ad1a539383be24e3508808a3586128038178fc23763406136b8e43437e62e6f38cb7224382bd1a236dc81b1372a9071382f5a2838954ad0350b4fb037f5619439e996f537e95c50372fe315384af9b038f2a34438f0901a375af4e1370e5ae9396d1da637827a8f35dabba93770d4583a9243fe3708b6a7372164213814786139b7816338b1ed0e38b2f1543efb404a3fb3a41a3696436a35ae8a303e9ec34b3fdc5f8a35e70f6a363d00113e3bf6293f1a977637e76caa36a9d8d03d35d0103f37c531370a6210376e8b9a3db548df3e63da5c36d432c0370e80243dde15a63e03279f3694027a37aff9783c5199523ed11262364f134d36ee516e38ee7db23d78310e356b28d23792e66d38a9ff803c6383eb3710549c366c122a380267653ae6036736c1265c36a73fb337fae281389d434038f695cd3643953d37cca07f385efc3938945fb637767a3838a8138b38636a5a38aacd0c38f9ec4e38c1018d38aa2a5338cb8b59375265d537757dcc386da3b6372ab8bd3700570a3833c72f3a0784b33713bb2338c23b3c384d3b213c9141bd3709380938bfee1c38b287073a0811de37c00584370f05843ddc2d6f3fd0dc32369c95aa36d928183d54aa6d3f42f199372f30d7367e71c13cfb294b3fb14bd7361c1c0d3830587a3c48ce263fadcad237b12a2d388059c03bfdfc003f9865c9375df99637f256c4398404bb3e17ff03371fb2ce37b648d13954e0693eba14c1366bc81f38d77d5e386f0cac3da672ac36570e053844bc32387541053ba04f733600000000000000000000000000000000150c023660301036bf4d2936e11307387b2cb53647d6d3365cf2a337077b41388609ec36550afa36ccb6b237ffeb2738a0705636356b64366e6e0338761b4d383516b536c8ab5537c16a473818543c38ec2cad364290ab363aa50938a83ecc37caaee13722df0538fec3b938ec3e22380000000000000000000000000000000000000000000000000000803f000000008dc00c36589b21360fce723ffdd9163810e2c536375e533741904c3f5e863e3832adf5363c7a8337b2c3273f775a1538038b6136e7c683378474023fc3aff837fe91e3369b072d389e77ba3e0484ec37b5c4ab36e679bf37f542593ed72ab6362f2bf337f8793a384e74873d36144c37000000000000000000000000000000000000000000000000000000000000000007b4d434fc46ca34b990fa346437d434ad513835069c2f351a37253515c72335c4d4453674eb2d36dc5059368b7a75361ab028360a8b5136e5627436525d4036d5558b35df8f8b355a3b8a357838903510de6c362f96863605b69c36eb92923682067c36c9ba923672d780365bcb613600000000000000000000000000000000000000000000803f00000000000000007a91d3341be77b3fc76e4f368315593568603335ddb8603fc9ba4136e0ae5135d9626a36b6c6303fa35d9e3740927a36237a5136ad17ff3edc526b3651388c3654178b35e9159d3e5462da358c6f9b35751d99369750ea3d70e32b37f5d58e3685c5843628d54b3ab1c65f37e1c98e360000000000000000000000000000000054fc9a36a771bf367c932638455acd37fc458136ad2e9636facb0238192a4f3805ed92369d137c3678954337ae4afc37a720eb322a34f832c5e28d35ad20cb352560d536db34dc36dd8cef3769c9283891e6c03689f4ac361ad4b336dbb4b5368c3d723659617836a9c8e23679f39f36638af2369119033733cf2b3861ef013839248036c9147d367c0a613695568636ff618936ada27b3f21d1903c336b0a37e68b8536e0c16a3f17bc233ddb6e0438ee32663634f2513fcd42963c8d5163371b0fff322ec5223f31097a3c66e5a135385fdd361848e93e2cef393a8bfce337c884a036e30b893e4914543acb92c43629176a363953c13d87ef6f39d8fda136054eec3657feb7388c06ee3819cbae3731f067369f4e60362d780737819090369a58ca355fa1f83501ae16387e6f9f37da36873677be7b364b9003381fccf937664585361cea8a3622fd533888ed803879698035fedca035e89369369685303729265b360a794b3681ee3f36dd224037f28bd83681d0dc36c2ee7138307b893816995b354b6db1364459953707a3993759ac08361dfb08365a37c3371eeef33737a8ae36ec76a536f5858338c993b4380cf09c3502775f3f1915033e71104536cd716f36152e503f2d4a2f3e07328736139b6d36ad02343f9c111a3e30e7f6377fcc7f353a56043f20e9123e25dcab354a8f41361f58b63e7042013e4aa24836119ad23666aa3e3ef23fe63d7abd1a38ce075b35171b8e3c01dba13d9aad3e375007f635e3ba2c380ff5f13b5c345f37822019368fe25638651d053914ca9d38e02e77363114a23619599b38d0b61c3805721836207b333631146237ab6a4d360b756335e5f76f3519574735ccd06035011d7a36c11e8236804f8f36d6c2b337f405a2362aafa0361d0c9e369a6fa03663a1db35447fd33563a0c135c51fd3350675a137ccd0143817288e38d8ec9038d8bf9b3664d19636b50dbd3774d0ac376bc83436d9623f36882a3036fa2e9a362a0b2c36ed78303f01b59f3e7dad8a36ecb5f7355be5223f548cb43e7b7b05363ec95735b5de053f97f8ae3ee8d16835e39c85368182c33e76439d3e80238736be789636e5b4793eec6a7f3e9ec493363657d335ecc7de3d0a57413ecf36ce35a2b3ba36c990063a7f6fd93d0ab7013805059a36d54f1738e701043ba9e08b369b0f2c36bd952d3619ddf337a14e31363d7c94367946bc3657a2233807c1cd36f91d0c3709352437df670d38cabe2f374b1ff3366d23f6369d50f23601d9f636c749b7367849c636e19bda366406e8368613bd3794b10e38b0d170384ed68038115def360b9de03659f9d5367162d636fa2de0360bfef636097cfe3621800237a3ba1937be8a283737793e3818781a38610ed2362c1cce367f5da237f7747a3739528f367becfe3ec6e9003f166ab03684bd13378de7eb3e85490a3fd1dc113759fbd5364962ba3e9110053fa612dd369129b93602877d3ef517e93efcc3c736a05a2a37a5cf253e9e73ad3ecb6edc3719b0c2366d3f4d3d6009803edbd0d636ec70dc36f89491391f04f13dcf74f836cc761a3737147b38f4147a3a1f872a37b7a1a13653053a37b7a5f038b52ac7361365313622c04336f90396372dd44136ac5f9736863c953608cb6c372e0d93368513cc3640188a374bfc1238f29af73728c1c035616fe435fc49c735cfc2ce35ae5a9a36bb8e9e36be509a369112af360e22de36cda0ef3683faa337e3ee8e3784136a35341d8235035449355e4e6e352a5e2436397749363c785e372c9d6637fccc0a370ddc283756cf42386a09483830362b36e4219d3e9de5313fb2812d36fd718d3611fb8e3ef66f383f798a8a368cc08c360d6e4f3eec28313f9cf27a36a1dfc9356658f83de961153fcdaccc35efbb8936bbbc6b3d84d2e63e9e8f8d3676f87436682b803caf57983e491b7836f196643526854e3980800c3e79f55e35382f0b364a35ea377708543cea842c36d0688f367da7563899fdca386eaf9d36cb942e384937c138a524c838c8710b383efd24365d7dfb3672560537f45e0d3619498d3608178a36539367350fa16f3547bdc437ac263037c3dcda3696619d3704286c36f885523621db4e3602e65736d936b8351b2ea93563a92b36ce6fb9365aebf7379a58003850593d38de895f383b13bb3655338736d664203899b3f5371545373751eeb6365143b037a17ba437b1f45438933afd3d0389603f24461e36a74f11368fdddc3d1a01633fd198e73592402b366aa62e3db1a05c3f87ba813543f8c937e005073bd58f333f4c70c936be0f5236e752a03aa3a0043fce9745364835b035c40b4238feb7ae3e1f14ac35c4c8cd37dc8df238bf32173e227ba63651188b3665d68e38b1048c3c891e7c360fc80936d663f837490457380c0c0d36ad386936277b893654966d36adae77367641f7368db105378488dd3616b4e93652479e364a388c3640ee3d3661fe6836d0f4b1369638ad3609d59836dddeb5362c4fe6361acce1369339c9360d6ee3368e8ed035015c5335dd570933633fab342136a636696eaa36a87346378d9f9c3724d70037473888371bb646389a7d0c3827730737fed1fd36dbfcbd371428353783987636f888d53ba1ae7e3f14c056367be009374258e0388d11803f914aba36f0b88336520997375c1e683ffd2632368fc2af36a15b8d37a3a93b3f860593361afae93620d3923875720b3f2d3fcd369db3a434bdfe0e388cb8b33e5df3d5335e4ca336e7168d38d531263e2f9e98361b9e14377009a8381bc0323db37ca536ea8dee361dbbe837b29a7538a4afd8360000000000000000000000000000000086138636811c81368ece6a36d2b98a361aa297368c1e8f364ca0723625b39136c8aa62350d5e9f3503f48335a7f38235617b78364530673677724a36c964703644627c3650a3743695bb47360b784e36fe631835db203f35632b27356c9337359f5fa7342b0dca348cbd0735dde682350000000000000000000000000000000000000000000000000000803f000000009d5377360ae892362e1c803fb61774365d8b8a3638bfa73635ee623f689269367d2d863536f49c35b2eb313f83a2823529175e363c8680369ef8003fd51f693611e166366bf7bc360e439f3e92104a36cd27293504f032351849fc3dcd142f354cb00135d6292a35e6c88e3cc267dd340000000000000000000000000000000000000000000000000000000000000000a39ebf35fd06bd35a05938386ef95636f53c55350820ac35c516dc373cee32365352a83556330636cd488b3799015c363946fb358c41113647d58236273c4d366211bc35b5cec4359b7bbb386bdcb235de41e9343b5e4636254e5a3786bb1b357e8a073675bb2236ab350f3896c8f53500000000000000000000000000000000000000000000803f00000000000000007ce9c7358949743fe44fe638cd4f4d368d748c358669573ff4d76438091105361fc5c53573d4293f7d54cd376a7f2b36146bf135ba52fb3ea2d5a237e94f2f366bf6c735454aa33ec509e3385032a935a1e747350544163e3c741037090a2935d6e01336b0db113c17dff137b60acc3500000000000000000000000000000000d5a7263706414b377308b2381ff372376b0caa3548ab4d36bd1e34387aa389362b48c13550085736c7c1e036653c9d362041cb3620690337b23fc437976d1b37335adb351bac0f3658dd9336ed3b3736fe4362362d8caa36d2a04738ea31c936f866203697617f3650c64b38cc4f7836e8e95a36351d64360947c637775845379416bc36ab7abf36ace7fd36d6f35e37113732378496713f31e33e3d59786937797e1136b68b553ffe7a9c3de9dd86361ffe2a368932363fb77c9a3d9ec891367346e93689200c3f881b443ddd0d1337b4d80136ec2ac53efb65ae3c0d95393606b19d36d0ff663e002b893a6296b83651005336cd10353dbb1ff73a8393633643f75d36d8b5833721a85c3c496c82365deebd36211ce236d994da38026a133700000000a7a6923417f0133a497593364d409c3512ca8036c32fdb38093cd236a9e26d367016b7365f9bfd361469e036876dd93170398935618d89389ae49b3578c07a362490a6367f15ea384b99a637c5a60f373dbd25377c93443766da30372456e1351efa0e360e297138f533fb37a2f08f362ff998364d1fec368bce0638e95661366d6c58362625bd3645d0af3700000000a1674f3fa199273edfc3d4342b0f1536fe23343f2be8583ebf84af36808b9636e439133f94a0483e5603d13696160d35cd04c93edad2453e5f3688351d42923609d07f3eb31d2e3ea3b3c4369de61c37071d923da7842a3ed94b25370c6203368cd2df382f39ff3d4d5b1036f0e78436f9f4c4368be0373d00f9e436183143367c348a360e725f39b6d4c736f2821b3616589f3613c7b83ad04ec6360a6fb735c71c6336b718193956b79e36b6c9dc3548381036aa7fe0388033243613958236ca3ccc363ae76537cb0ee236a645523689b18c36832d2338fddda3360000000093214234507240380aa8233425c06d36b87f9f3675a0cc36b6cbc636574d06366cf8193664f82c38ef63793800000000000000000fd3933734c14938d7b54236a86e253fb203ab3e01a4963697befb35bef10c3fd4dcc03e41606d36d3fbfd35e6d0ce3efdf5bc3ed16b0d3670c19c366cd2863e6b8db03e53c4bf3662cc6836009ce93dd18fad3e6d838c36b632db33646e4039e91a9c3e00000000ec3584360af7d63654223b3e2818b536b0cee6355add733645734d3db0947c360000000085aa1f35f119cd3a42697d373fec1e371005423767b4413ac9824b379245eb3547163f361e894a38224558360bf88b3646e7c036840a1a37e83fd036e3611e37645b4137aa915037cda042372d771a36c5ca233646e5e836fa402c36f2dd2e37a1603437fcc347376c8b4a3729f49c36c431c0369a5def366c3ce83639f63a36e5f73c364637513655134a360b943737bcc2323705644e37686e563782b72637fdeff83ef533ff3e60af33376bbf0b3638d1ca3e656c093fd5574936f0f8a436b6d1893edf37083f3af2b5363aec2a374a7f003e14d3063f73a13337f0fb1736e688673d6710e33ec1853136516434371a455437238db23edf3d41375cb5a036d46ced3602034c3edd95d1366f502c36aa3d4b36ddb4893dc6bb52360e1e3437715f4037fcee793c77bb4a3700000000b0627b35f8b3973ab83785353e2cca35c0965e3625541739aa776e366e1d86364a76b236a26fcc367faaa336000000007b465834512389375fa90a34104c72362c898a36577ca13673c5a7360bf2b83648d8c63679b7e83658c4df36161fe83518221836753ac2374694f63735c0763667486d3686d4ad37001bde37e830a8362a77a336f58e2637a4df7d373cb4c833d0b1a83e78392b3f000000002ef50436f61f7f3e739a333fe7c80636cfb399363049f83dc64f323fea9a8c36000000007d68013c6c31303f429a793476907b366a9d543893420c3f0f9d9136d775bd36d53af836e2e1c83edccccd367b0a0736214eec36f18e693ec5141f36d5625736a0b894362c44973d8ca18d36a375973615bcb7367f68983c5c65b43651cb7b3677dcba3610511439f610a436b99caf36115ae436f2659d38cf07c0361f19d93582330036e029c3373eefff35da0609379975243707b22a3768c82b378f6aae36f5e3ba36e65d79379095253745522335f33c47356a07a43574f5a6356a9dbe36f0abce360b9bf1364db4e736e247ad368982ae36ae56123893bc0b38b5198834c307903461eecc37ec06e437239a92366a1c2f3e8c2b543fbd9f34367874c23666efcd3d00f35a3f0d198b368445e03592725039bf40603f3e81ec3510af1037a9f648375727433fc4751937c5c8ad364774c338cfc0143fb365b436b93a0f3560745a375daad43ee6b46b35fedebf36ba84f13631c96a3e4295c9361ea89c365726cb36cb0aaf3d70b0a33620c29434220b1535847bd63c228c8534366df93670b70f37d5f6763818f0f9363bc46c361f637436714e4737885377369e314a3668ac3936bce2333619256e3660caa136fb92ac36aa6ca736c7b9bc360bf92d369f6c2036951c1d36c08a2b36cb0a1037dc230b37b50713378c3b1c37b52f8736beca8e3619129a36c59794369b8f87361890823668c5293751884e37a11e6d370dea69377e4975374d8d72378f180137dba8023d2ee6773f1084c236cddd6736c52e3838e6987c3f55af6836cdcf43363e707c363f3a743f34786a36aab29f3690fac5361212463f4b06b63664a21f36e81831363516183fa8f5263669ec0d37ae0917376368cf3e0cc91237dc6481369d9f9d36e2c35a3e41db8136142d7c3627ba82360f4ab73d5490733684cc68371ac26f372145233c389d5d37000000000000000000000000000000005c06b93585b9b535ac7ab735fba2c136620c6e356954ae34343dad340f762d360e5fb8357056be357669b2358adf0838d0892d36dc051636b89727361c647836635b453626482036de565636bc4119377a09e935166e0336eec47f367093b3374a865d3612ed38367ca56536572835370000000000000000000000000000000000000000000000000000803f0000000039a99f353225bb353de67d3f9959c53614c42735443ace34b58c5a3f7d42e836548cba35f7d4b435bb8d2e3fc1478738eefc13366baf2836bca0023f0ae171361d7a3b3622253d36406eac3e0325803663720436121519360e00233e4181fc35ec2b4c3615b14636522b3d3d05d245360000000000000000000000000000000000000000000000000000000000000000fb3ce4345789d335e0df70388109de3700000000000000009f5931380d72f8363d6104349b1b8c341637a23824c8f737ebfa0b36b5c42736c9570e39e32a20366b132c32e7351237212e4e381bee3332945de93307acd6370ab244386cd2e033910003365f373c38fa3781389d92573400000000000000000000000000000000000000000000803f000000000000000073439f35bb606b3f632ba63c85f46e3600000000cb1c483f0dcf803c03cd4d353ef00434a644223f4773993890ac0835b0f422362f13f63eed84ac381a6704363ffc3032e75bac3ed3e59b3773322f327381e933ad9e433e63bc2e37e7c3db33cab29937828d093d1becc437a935c13300000000000000000000000000000000040bcf3360738234ad82f739ee29053618242d33bdfc46339f01033ad2a101381945a831f5009a3152da8b38b5a4b137b907463316df4d33f0feae3882c84c3379b1ea32b7dcfe34a1bbc238c419af35991a9a3330b497336791f8380a3c8b330a1a4c330b0e5333285db9387914b937bdf61733cd6a3633a58da7376bead2372110c934f35e00352528f235625714376b3243344a91633f469c843de7947a35560b3a33a33a4d3ff7b1cf3dd5bcf53540689e31665c263f9b8baf3d344d193128104933ffe7ff3e3cf5933df1f24e3346008234b6dcb53ecf403c3dfb9c7135b8c095334ff0583ed69bc03c50a5863343d64e338c07683d3f91713a3a965633afa925338ff123347c34ad3cdfeeb835780dea341acf9035c0a3413ba4e0a9363d684a33ee663a36628bd33a77a5b136f15c8036bf40c03600ae753a376408372b169033dbd08235800a2639051b0836000000005dc69635c4f0483a70eb38363ab09236e991ca36964bfe3805161d378c15b734c42d8a35bf0dc538e2cb0036339cd630feacb333515f503861eff8378f86c73526ba4236fca8a137286d5a38f3449a33ba62b5342930c3352fe00738b2adc2352ac2413f622e423ef6dd9f3630b1a53667db243fa922693eabddf836dbf20535a233043f5c956b3e389f02366becf4342f29ba3ef7ab5c3e98401836258ab3362228753e954a4d3e3aa4e5369b9b3535e758ac3d08c53e3e3cccc635f7ddd3305c82a5375b5c173e81b9be35a5f91d360e4483360529403dd01b97374471193413ef963523316b3bd14c633707529c32b1eb57356cfe413b00d5c53515189c361b56c03699f9413cdcb0c53600000000b42a33355da32e39b1db0035ae5a0b3688c15136245ecb3837fc20373fa6ae36d81adb3633276a38f28402376f820f31363a0a35c7dc093970384b3858289c3546d11436c6e3b237480b0e38fa2f543624d18b36d7138c3711c13f387b5449365853ab3606bba737a8384e389b06e23490d51c3fa72eb13ec25c9b35e65ab236de7dfe3efcffba3ef685b8363711be34333dbe3eb885bf3eb02e9833316e3a361596783e5e76bb3e79d54936c172c236a075073efe01b03e6c19f03686448d34fb4bb23caa46943e2baa50341192fa35bfb64d36419a443e9e445b36ea427f36a8d5b836c315ab3ddd9bd8362b1c873666aeeb36f0da833c3e665537e1c6ac348fe186351b67a73ca87c9535a1e4e234396089350283133b5e694e3584e00234331b0134bb4a5d39b63cf033ac4706342a550d34510e0e387b9d1234e2d8863301e0e7345c4c87389554813738791934854018348cf17637cff27e36ec17dd3312cee93393c2f23336e0e535303b823398016b340cbc323710f71a3824b17234fcb83e3557ebb3351fadad355beb38358092ef3e2aeaf63ecc3e45357ae044354b72bc3eb8bf033f9296a334e6110034bbf8813e3515063f319ee933bd830a348eaa073eef11043f43c8143435589934097bce3dda77cc3e7b03e8348fed1634057616345c3bb43ef5040d3466efe4332ea8f0333af3633e51b8fb33840d8033c47f3c35ac71ec3d8c048c356305d134a1c68e35e82bf73ce99a9835f815bc36014dfe36c224cd3c8e0efe36da9095364359cf361095463c2edbc33673c62c3666cd50363254f038dde04336ead18831c3d78431afe1f538f76dee37c5b4ba36d962e436ba23d437d2060337b1f80b36533a3836cb1d1738f5c517380000000000000000c05fd5372c201c383c869336ef7faf367cda8337b6c9e4373ca2e43415e983352f91cf3517fc8b375307de365505aa3eed91203f3a05bf3683b7af3677f9753e71282a3f6a499336e84a4336c16af53d7942303f1451203664698731f572453d2c08243fb9c10d35cdb8d13606ff07370440063f662cea367d93293686c81337324ac83eb1da573600000000c05806351b87823e98a03c35612da536fcaec4366e99013e2c7cc536c5d45735e5e2bb356d531f3d17e47e35c2890236ffb50f364b210b3dbde4b7351bf7ac36753bb436801e733a65fb88360fc950356b68b835e76ab138768b5235d2e82535bf01ab35b8103836253aea353eb7c23679e9db36c3fd2738fc263238ae54bc35c49c0b36e2f78c3718c07b38519bbd3527cefa354d7157389e0ea43846f4e03681acee364ad4b3372e73aa37384b7d36adf99a361b6d183878b54438a3d60b36f685443ed561453f3a0430355dfbb036fcf5003ec99c533f04b25c369c0e9135b6e2ca3c8ce4533f192864348ec78d354b1212363cd93a3f62c0ab35e126d0366ae9013711710f3f72dada36a5e0f1350a103a360489d73e80c9e9356022e9356e07143645ef813e4189af35f9dde9361e6a073735f1023eefd0d53648b0893689d0b0368fff563dcb176f36254f6836bd5c67360322cd3c0d9bc735ac28a0352a97ae359b3439384dca37331fa95c33ab845b33b429e837f68c273841607c338feb863338ec8c33b26a9033e9993735ef906835c99ac035b43eea3719da533394c26133376c71362e9b9e37b7d68b309f6f0731b418313840cf1838685ef535992ffc359cc88f3badbf3f382192b6354bca94356432b3375fa2c436052f5d369859813da9c9683f9c95033599cf9035c7824838749d7a3fa076363388c0583305168437754c713f6a05913645be833327078c333dd5433f308c9333e0634f35a946a735e955193fe9347f3584e3503332662f34684ddb3ec0d44b334c300031163b4a37018f873e60169331bcbee835b8fdae3716f1bc3d7b9b493390e299350af26b35dce93c3d68149334000000000000000000000000000000003ce70633f2ce6c33846d493404813338c9e3d133141fd83385c2e033efdae137b432273289972b327dbf3032d7f40438d274b5353a30eb359b4820368ccc9d3879a518341c75ba348b621138af858038d8c2c13373d5ae34f9c5a837c9f4c837b3ad613600a96636b2372e38b7b526380000000000000000000000000000000000000000000000000000803f00000000cdbe033325f521347f6d773f3b4152388241d6336896db3320254f3f80de2438c89e2d32b9992f3217d8293f97df0d38d3d9d535073012365409053f5c6ce037f66aa234f4284437267dbb3ea5950b3856683c3413d6d9351f964f3ec1526135da926636c34a7637960d773d48cf063600000000000000000000000000000000000000000000000000000000000000000b29b035f8477635d6e45b3541299535d9e09e35f22181355c90813561c37c35ffe43935753b4e35bef7713553ad97356e6486350b8a0c354d1af73478d43535d9384a3454960f34ae8f4334d0df64349c3dd0343ade203639fcf2343e8c113539bb8e34efc56334b98b6834f6ce4f3400000000000000000000000000000000000000000000803f0000000000000000144daa355e607c3f0e487535745b8d35e371cc3598a5623f99078435cc256535eaa85335af90393f34a63c355c136b352e1177358cbf093ff4962d35626837351a55bb34a2e0b13e25b14434e32b2d34dea75236bde62e3e667fcd34ce04f234fe2792343f772d3ddc038734cb6e573400000000000000000000000000000000a9285b34f5865f33ef9e823401c48235fe1e96351d598a3573579c352300b1352c82d833f89ead33ab5d86331932d833174c5533680d1633649a2c33f7e58d3320833c35321a0135271f2735caa8573500000000000000000000000000000000d624e6333c709d33743ca5338359f033c51b9335c15991350375a035b4e1a135afbe65345561ec339b9613343c4642347e56013489a77a3f1267eb3c0b8db033e0018e35282b663f6a3c373da0f3c63558fa3b33e3a94e3fa2e7a63c858bb63200282c33e905263fe313733b02997b338aca2935d1b9f03e690d0e3b8a3a833500000000a457973e9fdc2c3900000000597fe1338585083e5b475c37e9a9f433580a8c351cd5f53a50a86c3aa4e9b135d84f9433b913e5330449d33357e57f33574d34302f9e4430245c5730b63e9730ca6a43340524c334d8e0223506c30e353f4a0c343c26023423626734cfeb81348ca02734aa6b3c340baccf3400b7be3438651035b5bc35350f7d783561885f356e1305355a52093517cfe934cc290f351abee034dc4db934192b13353d921e35b68fed34d1971d3584836d357fb85a359f27ed34d97700354bfc193584a022357fa23b30d3815c3f75dc183ee17382305580a534a58b4b3fb1983b3ea29f23351e3ba5338a962c3f2e4e203ed66e0e344a85ee3382e9023f9f6f093e1b1f953499933135a909b03eda7b023ef56489350077f734f0da323e6776f03d0c69183564d1c334d38bf93c5119af3da698303595da0c35e9525e3551a43d3c2192863598b2f534a35e053593b48839b030023543cd6f3499126734a1ecde34f777d83450614035a5662235d76a2835a10a2535aaf5403520a73e35929346354e924535e2c70435be401535fc7a3735f65e653584177b3539515235a05d4c35a08b4a350f8487345db5b43452f9f734d601e834b52a7334f21e5934f82e6b34fdf082348b46e73306cf0b34b4b54e3483d89033324f102f0e3a2a2f6e9b302f01ec1c2f73af5f34ac7f323fafc29f3eec09d9341a10463542e1203ffab1b93e9abe323584983935cbfb013fabb1af3e6aa821356a841135a7dcb33eac06a13ebf6f38358eb96935d1704b3ed0fa913ef6605d351c1057348a14953d3add763ef2469534a2416334f7dedb3bf2490c3ea8539334a51194336a4a113655a7fe3ae46b3d34bbdde92ee10c3f2f757f4e2f9121372f7fa3ce33b65a5b33fac1a63483829c334b8fbf35cf4bc335513ad335d4dcba358e549534e70e943407aa7c3459df9b3451881631201c2330e2ac0430208295310aee9d35b30b923527499735b6b2913508f8de2f36b3fd2f772b02301627e52f59ca8c34972d5f3405b39234d3f68b34318dbc355079c1359078cf350792c735f4287934e1cf0734d9a346349fa535349d588e33475d033f5804ff3e19578d33c136b3356d50eb3e7074093f68f3b73578e78334cad5ab3e92c6073fae52433405c6f431687d4d3e14cdf93e085e533149079435e446ba3d9725d63e612da035ce4db72fd832053db448963e86e10432b81d03344396d33aec0d183e23e78a346c0cb135f45f06387e429c3c69d0ca351ca21434ecc2e23317adb033710873331b316a2f8659512f61498d3163bd1c2fd23c3733b124b0329fed113438c58833fdcc7334e323623475955a3476536334c949a63496028d34af75b83486e9b63418ad3335ca3f543543be8435aab26d3574a32535f39c44356fd83a35d9c56b35e5441235516b05356f9f3c35ee813f35f9e20335ee761d35cff66d35af195835ed560135b677fa341cc309359aea11354dce222fe364aa3e0f662e3f1ffeeb2ee36bfc3271d1973e10f2363f6c13993387964e341e0d303ee0a7323f0f71783469555534ff8b9c3d9a01213f7e074634fe614735a62f053dee88003f49f18835130142351e83af3cf41da83e9fe83c35438d0435eb2e4d3b8f36243eb38b4735810e153562212c3906f9c83c97a37c359c5c0c358c97f3346fa5683979428d34d64fce34c41884343913ed34e8f2c934756d5835be422335876e16357c4d1735eadf22358dd61c35fe3015356be925356dceda3467dee534621c0835e0101d3581537535a7693c35b4b02735689f3535bae9a2346b42a134726ed4347ebef0349ac615344201fe33b0280534ca8748344881ff34c6a6073505140535c77fc7348b354c30de72143010305530e9678a30457aca34ed06293ed605593f8f83a2341553573530c6043eaf175f3fa1421c3584df2635ea28303d957d5a3f9fc4fa34804aea347015033c0538363fffc3f634f77462353340223c299b093feaff4c35ae638634dfe4a93cc8c8b23e6469a3347fb1113468acbe3c9678233e6bfd7e3478fb003543b4873a955e033d415d02359d473c305262dd39560af8390f227c308cb54633fabc04328e61a334bab2cc3331f9a4350cf79635fb8c9b3562dd8f350b86de334f526d3326247e332372b033000000000000000000000000000000005150423511d00f3526d11b35165b28355d85343348556f32096cd032a285673301a537340000000000000000f5a40934e33a9e3593169835ad219c35fc90a1351ce13a34110d0f347e0d213404955a349b8a8433347fee3cf1e27a3f00000000a6929a35dabba23bce0c803f393293350b4f8f336b632f37ea1f613f6c54eb330000000089650e38218b373f000000007456283528400e3a6f040b3f5d724e35b5d0c532a8434c3b64ccb63e949a833300000000952cab3b0e54353ea7f5f933c5d2923574d53439a246863dd0f4aa35e06e24347fb13136e9e29433d6bcde33000000000000000000000000000000004e2a7334736c443491533534ab7e3a34747efa34d72fff345dfdd034cf300435575d9234f659193442ae35349b23963481f93935f444173507ff52359a5d5f35bb117435e9497e35ce9a493575bf863564f28835096c443582f5543517a89135dcfe89352eec67356ff69835a5869f350000000000000000000000000000000000000000000000000000803f00000000e69b4a346ee76834e26d783ff5df6e344b67f5347fa4e9346e89573fc7e61335463f1134c9280b34044e2b3f7f98b134e4d73035475743352d90f33ec0239635184c6c35bbff5835ece3933e1aff933561ff443571b0ce38baf5023edb10993555447f3588b99b357f78c23cfc93d0350000000000000000000000000000000000000000000000000000000000000000a789d734f9dd8d35d806c335d410913554e0b834291995343dcd1d3515b6103526f2e134719f8435f0499c35ae4b8135b35acc3491983035d6bf5b3542a60e356004a834a3efb134b0b1b03476c4b7342519dd34ef16a335c4958f35beb19435d37ed1336de93e34a29d0734a5001b3400000000000000000000000000000000000000000000803f00000000000000006ff42f35b716743fc9bb0e382e4e6e35e8d9a734552b5b3f61b84e35bd90df344d9a33357e6a303f146fd0350b7c5f356d7ac6349347043f65a20336be350435be73b534d87bad3e2599ad34eceda334ca0e5f3526bc293e59a19135c8d6803567801c34bc65d63ca32c1a34488b143400000000000000000000000000000000303383339f0718344b0dee3afc1e26348e40a333907b0234079e8539a2310134bc1d453578c81d3515891739f2925935c38402350117f53497ab0639d323fc3420a94d330a11f633d6ab9239ce53e6337d065835a06517350677bd36be5882353aec1935dede113598839736065f12356698f53274bc8233718420335a684233b7f74332000000000beea1343fafa43783d6ea333e3c6d3ff5420a3d9ad424349bd0e733859e4e3ff8d1823db4a3f83316b433352928303f37b4713d37b5113554cad534fefd063f7d69af3c9ffa03355629e03346bdbb3eb571d23af788c833f4a43c35d760563e6162bd3996ed2535863f1735f1a05b3d7763233acd08203530194b33bb1b96333dea9c3ce1bc2e330000000000000000c3ecb53c13bcd53717f34635cbb97435346de53b9036d03542e62a35bde08535b98ee239de519635ec6022344bf02f34195a363a32400b346ba06d3300a2c531b6789a374c1c1934a8e7403559c69735592cf836c13e8135973c0134a8e215341e022234cea1d033d9382934e78e9233704031342227d43371fb4e35d8557d35b0fd9135dfb36e356c59ac330000000000000000438dd833b3343e3519b0493fcbc7193e950a8e3543c764356b412a3f3ea0473ef73b9135ff414834ea4f063fd0112b3ec024093433e17533b88eb63e797f143e59758334348e8b354388513e6031003e939f7435ab5932349f4a013dfa530b3e4bceb63341361734be8d033421ca043e92716634e2bd6c35abdc8b357ce0903d074059350000000000000000dae6ec3c57398734d855e33484cc4235f8db013d7f8d1b35d929fc34edbb7f359ba25f3a4335943546d74735d7cfd534df6c153a82e1f534e61ba134ffb6bd34ed772539f2998f34803c4235248b8d35f1189c36c0549f35e1202b355f439b346cc9953416c0b2349dc70934c8d97f34c806333435134934c7db4f3523e94735b0995235cabb2b3735ef1236adeeb135e42f1c36216b8e37fd30f534c1cf203fa500983ee20bfe348f0e2635c17efa3ef257ac3e885285350f5d1535cc7eb43ebb04a83ea3fac03469889c348f49583ec1c29c3ebe1349342bcb6135d5f3553dfad79f3ec1b49d35fbd205359f8e9737a6bba33e8907823456644e34ce648e3407717f3e58dc3b34403e2535a03e4d3594901b3e3aae483514304e358836b43541675a3d7685463649f68f322295c733feb8243d4c66e53317de26335a55f8345fcb523ba23a6b347454cb35c814bb35016b4f39ae58803582ce0836dbbed33576cb2f37f344cf35911ea334a08609358b1d9e38f65915350ec6ce352a389035bc9bc03518a9d7359d9d8035b1b04735d7404a3598bcae3551de4c34d6add133a2b58e340808be346fd40d34f38eb4337867ec35618caf370d0aa033dd34e43e5bd6ea3e5756d933374eac34b078ac3e14fff93ec108b2331c77d035e224553e5278fb3ecd9a3f35f350e43570288e3ddeaefd3e1796a035b5f0223524722f3a8ea5003fb01dd8348d76b6358d98d5356916e33e078dbb35d58f56356e66643535989e3eef13af35e76ad333a94e083407323b3e4762ae343429ed33bad4bd332f53843d66eaa036772cad356f0e1d360808f23c5ea20d3655d4fa34a4f25d359a6f263af8fb41351a866034135e1c345c09ea38450c233449056b340f091d34130a7134b848193403ed7735987799355f26a235cf658d350fa0743456dd2734123969342dd31734f856d634b2fca534c2b4c834c967aa3431ac89350f5a8c350f139d359ae3873589774035436ffb34de4dcc349f4722370a4bc93528b5953e6796223f2ee55835a4283635903e473ec45c293fa6792f35d35643348e1dad3d56812c3f5c12393433f96434223e9f3951e82f3f6f448834759e96358845b335c40e253ffa927d35b7b660344dcf6f3452a7fb3e22036f3404e6b534daa2c534b82ca83eb269dc34bb458335969c9035ce8c3b3e5d517e35e4090435f6ffc23475c2513db13f3b352f756233cd26a43451eb143ccde21133f1e51735bb1a76358e0409395495773597671835064f89340b1f763414e65e3472315334270b1934f1bfd433b0bc0c3482698c35146a8335b2269435164791352f7e6c3535ffd234b799b7347c51ae343c0df233aa132c340f040b34a95934346458a9356c3f9b35f89ca035fdc79b357104c535c20d9f3550fbf335e81a0937fdd106347476203e2d4b503f00000000197f2e35f710cf3d77f1553fb7575735a901f8348b9dc8391d5d603fdf35d833c0716234a98a5e34550d573f21eefd3369f97735335c8d35f7d52d3f68a695357a310d354fb60535d59e013f3680f13201941c348f5e44343e90a13e92ae28349fdc8c35c148973521b3173ea0258e353a1693350d2193354d767b3dcf3e7735b9d991346ca1443764fa7b3ae6a960342b7d1533df2c2e331ccf0933af77ff32447a8935df44203541da2c35f4712b3563fb6335ff262435ff272a35c3388e357a41fc33ea80ed33326bd833ac4cdb338d975e35652e0535ff070d35e2d7f33487263335616e11356272203515f68535c14308342007fe339c57e433cb11e333b19d3d34286511349feb0c3497a802345b25b134db0feb3c2e40743f00000000189646333326c133025f7c3ffb431633f37b5c35ea613d35204a733f1d8a123530203b35d7976335e9294c3f69551d354f060534472bf4335083233fe6e7bb3360e63635bc0f243546dbea3e42c3e734e53a1e3535ed21351431853ec3833f35d6d50834b49d0034f7aa093ec30be03334242f34fa5e1534fef72f3d35c5033400000000000000000000000000000000a3b32e347058f833fb8c0134692afb337fbe873507e26735325e6935a0778235409b99346a38823493129b34585f92344e1bdc343e33f63451800735198f67359cc561350b9f4d35f4534935dd3a5435e89e7834196d5034c8078034ce466434f4df983510d9763579de943544dfaa350000000000000000000000000000000000000000000000000000803f000000004c3d1834531805342aa37a3f75780c34d99065354e516135394b573fdb917d35a82e973489198f34f1e42a3fe36e8a34309bfc3465ce1935b347fb3e22f96a35ab424a351c854a3566b7a13e87f15c3532f76e34a2f7e9342ca5173eea728334036b8e3532a27a35cb8c523db647a83500000000000000000000000000000000000000000000000000000000000000009154a9332c6bf833e41e853cf5281034eb8f8d321476cd32be71a13c2691ef320000000000000000b0584e3b7cd6bb35ceff77330791d5347caf3a3c5ec3c2333bde4933b2948933b602c33ac8dab33391372f33d7810637abdd473b702f06326275a7355daf9c37ef3a2c3cbf1f6d3400000000000000000000000000000000000000000000803f0000000000000000074ccc330266673fa2722a38817ffd3337e6a932babd4d3fa0582a3c8849d23200000000a780233fa3d09038d2c44234ecb79134b3c0f83ed4aa7c37429fa233b02776339fe5af3e12febd3356178233f1a608335e051e3e740e0c32e19ccc319c23c335ba0a023dc420cb37340f30340000000000000000000000000000000090a70630c66c70303341e83cae096936000000000000000032a0313dd91e9c360000000000000000bd2e013d000000000000000000000000396e013d000000000000000000000000f0cacc3c0000000000000000000000007d64f13c00000000fb6ae6329d09dd327f0b933ca2648e326c367033e9c86d339d11453880b387380000000000000000000000006ba96e392c735c30b68f5c3f4fbb053d0000000000000000b9f63e3f832e8a3d0000000000000000ceee1a3f43d7533d00000000000000004e6fe53eb7159438000000000000000048ee983ebff4193800000000000000009454213e96dcb5370000000054e8e6326da4763b9af43338af465f321f2a863367c858337687f63ccd3f9633000000000000000029f40f3d00000000b771613494eb803453567c3daae844370000000000000000c3a4503d60fbeb3500000000000000003a981d3d00000000e94f64344c1a80342f72443d7878753400000000000000006183553d000000000000000000000000f42e403c00000000fe8078333786a3338cc86b3808ba83380000000000000000bcfd87365dd8e438000000000000000000000000b4613b393e665e342279363f2cc4f53d7b17203400000000c6090e3fd1f2ee3d0000000000000000e9d0d83e3b16be3d0000000042766834ee10833e93a4773d1b512c3400000000e2e7013e13ee3e3d0000000000000000f17b983882b8a83d000000001fa3383337dceb33eed9133e0b4951330000000000000000a1cdd83dcceac43700000000000000005ff7673d000000003b361c32c54091323475ed3de9b4d03039eee93271bc2333c20ac03dfa3a1d3350c2543317fa6233f265963d49967035ca3d1a326d438832069e8d3d000000000000000000000000a004f33c00000000c6ea8a348cdc7834b7b5e5379215dd37000000000000000000000000e211513800000000000000007cbdd236e073c2383e78fb33971f3c3451545335fe958138e3f601324043033fbe6d5e3e0000000063e308337724bf3e975a523e2cdee132c0de4e33823b813e2b8c553ee7d41c33ca6d2f32dc54fe3d56d4563e0000000000000000dca960395acc843e00000000300c8b3415798534746ca83ee5639a34000000000000000029319f3ebf5cdc3500000000000000000aff803e60ab5b374d2d2e340ae7873420a4183e5977c1350000000000000000a9de093e0000000000000000000000002489d73d000000000000000000000000a615a63d000000000000000000000000448c133d000000000000000000000000df284b37df9fa736000000000000000000000000caa1e53700000000000000000000000004b37e37000000000000000000000000d629d0380000000000000000000000006c8d3d38000000003311b43e7c9cb13e0000000000000000846b723ec49cb03e0000000000000000d29f013e212cbf3e00000000000000000e0cba3c2a85db3e000000000000000042d912365491003f0000000000000000000000005e5d043f000000000000000000000000bca6d93e000000000000000000000000228da33e000000000000000000000000a94b323e0000000019bb8f35f16cac358869fb3d3ae25a35ce180e34c0625134c89fdc3dd6f4243300000000000000005655363d000000007f709b3408539b3450a57238279a8b3400000000000000000000000076491a3800000000000000000000000001663f38e16723334bc8253346149f37d970b5381256d13285cfda329e1d0133f9aba538000000000000000000000000c8b19639894e98352890663e51c9023fb08c58341d0cf733c492f13d9d52073f0000000000000000bb36463d09bb193f00000000e44f97347208053824d12c3f318a633400000000000000000c03373f0000000000000000000000006e391a3fdd71bc3255d319333d93283387a9f03eca4c81332a15dd329eb3fa32eee2aa3e772f4233000000000000000037ed243e73e7b2320000000000000000dc30c83d000000007b889d3300000000c706833d00000000d5e6e9320a6a4833ce83bf3858ae5236000000000000000000000000f18616380000000000000000000000005bac5e38ea37173433543034cf076234b8cf9a38000000000000000000000000178d7b3800000000000000003b14b03770910e39e3dd9d33c26f0734019aa6377032943800000000b929033e8516393f0000000000000000f2d28e3d38d6433f0000000068bc1f33f2139438f1ef5b3f8760c233000000000000000039a0683f000000000000000000000000a262473f00000000af3e3c340fb04d34cef6233f57ef8c340000000000000000cceee63e00000000000000000000000077fb903e7f229f367080f333ca1f4134a2aae33dd50de5340000000000000000c9c8573d00000000a5829533234582332f7cc03818ea593339a65732a25b563232988832a0c10f38000000000000000000000000d3360e3800000000000000000000000041f02438000000000000000000000000ee0d6238000000000000000000000000dbc20d3900000000000000004db3dd37d14606390000000000000000857e5b371362c038000000002e77023d33b1623f0000000072e170330bd5413871d5783fd4973933b43a5532b93b70324d0d7b3fee16cb3200000000000000004068513f000000000000000000000000c4552e3f0000000000000000000000008288063f000000000000000000000000fa30a23e000000000000000000000000002f173e000000000000000000000000c461a93d4ba93c3000000000000000000000000000000000e8426134f4881c344e7b5e340537a838bc8c8031c5b8b23116adff319c130e381ac2563321e66b33f35ac1330923b138b4ec89339bac903377fcb633b9224d3800000000b18e34344a2d933612b6c738ec4dba3250e2be32453f563708986138b61fe1337dc7e533ec427036790c3d380000000000000000000000000000000000000000000000000000803f00000000fe7b1a34f61c42344619763fa4076d38aa269a3108b6e33100b9523fa1cbc53cd5583c336ae5963396d3283f3b558336113a7d33c890a233630d023fb03d3536fa94df30b51a3934c4b1b93e24479d37e767be32e2fed032ae322e3e58d6e5323b2ae533f425fc3344cbab3d075e0b340000000000000000000000000000000000000000000000000000000000000000f67cf035d15be0359c1c61378e0c9537a3739b364c749336f1ac9937afa2c637af940c375ac3e836e634c037f69feb37f8d0da36ed4a8a360bf41138670ada385e464a3793332837a5cfa537fb54d737411d5337451c433743f88a3717ba8a37753d2536e3d67336bc61b336d9e8443600000000000000000000000000000000000000000000803f00000000000000000d73d835d3da7f3f8fb5d637370a663718cd8b36bf37553fc1a5c5385ba39f3776c90d37a07b2a3f04b02c3881ddc6374c87c8367ca8fd3e51770d3a423a1238f7011537ba19a63ebe123038d0289f37b48f0c37d75f213e17fa0638775f7e37873cf2350ac60e38e65f30375a3a2636000000000000000000000000000000007991b53649480c375e632738266d1438e4c8033696912b3600db4837ec279237c9711136784a013630528937166fd1378aac6a365c034e36f381ec37d9d22d38c85df4363312dc365c791638cbe24d383d1d5e378e3b5137b441b437e0420938ade716378e581037745ab53726defd37eb2e9036b72ce436eb5d93370cbea837148d303632d3ab362de325379f705337fb0c99368b4e7e3f2901ce3b50d8aa37798b9534d08c763fba6e003d6a57ef36bf7e9a3569534d3f239afb3ce9955c37b5b73636aca5243f9aafbc3cd158d93772eac1362447f53ee49a973cf20e10385cb741372fbaa13e588bd43beb47b1372f79d73624a71c3edb2d923836af8e3758720d36df454d386da3373860607d3735ba8b341804ec36c5f09237bd605337a707ae36bc59083798704538967bd337548b1e36ea7a2a3623463237d8823f376af046362b633836d40e89378779bd37b3d333370b1c26376403f83715793b3800e9a6364f06973672801c37e9340938860fdc36f644ce3627a1f8370daf293827c422371f4242374b31e2373dd9fa376f73603675b37036c3e79937efcfb03789595f37189b93378bcddc376251f137df8f9f36fe76513fb9e6393e405f0437c336dd3547f34e3f1f6b403e61d675363086f23503ed293f8b5a363e04227636d4aafd3613d70c3fc0530f3eb6fa90375f5fc635230ecd3ec79cce3d423d09378e9dbc36e9e0843e4e2e573d5c6b9b37cda16135e7f70b3e6ac77d3a7d8ca037c4271636a01721381d439e38e37987369744d536af8ad3372a3b17380a24d337fdfccc364245be37b7e14338c909fd37f901a0355276a4359722b637182380379743b9364f7cd836b7e3c937341ffd37cd120237b816fa361dd1a6375e78dc370b375335352d5735655830374d179337b8ce2837906c223707bceb37624b413933178e3618b78c36114cbc377623c73771dbd7369cea02379cbb2237e29b1d375e32b33744dddb3796c814388a301a384571aa362a70293f42f5ac3ed307d43644199e359329263fe87cb33e2179a835d9d43a36e6b70d3f3b8e9f3ed766273763c0d73640f6df3e2df57e3e92d53537127d52350feea23ea2db393e886dbd35da7417378fdf4b3eeac1e93df8b427372f8851364a42b23dd0de463dfdc38936f7b769363ba99f375ae42d38b710ff36e11e15375e5d0b38b5453d384f64fa3735c55c370fca99370a734b384b9eb437a2e51e35cd1303362261b23729ad7e375cdfae36e47a21377dd82b38db57353808802037b1d4183729c3bb370e04f4374f11ba37f781b43763a41b38e5883538e0793137f0772c37a30ccf37be080c38ee66da371daadd37b9493c3835f84138c689053751223837ffe8aa37eb669337c08b9d3720b2a4377fdbf437412cf537dbd3df36f3d7fc3e1386013f75250f37aaa409357bd5f83e0f89033fed231b35167f3c366d10d23e4b4ee23ec7928f36c2bd0037c0f6a53ee0e7b83e1f481937fe5814377fb0713e1111873e160bb4370415163747d60d3e145c343e6c3f21373a7cc3367c70673df157ba3d21ca8d370e0c863525a5f63744a492380c3abd36c5d470372a8ada37397f50381e37a237b7309a3740c5fd3785414438c619fb37e4bab136e0b4ad36664b1637c5b81237da827d36198464365bb08037f2038a3766f12a371b01223714dda637036ff4372bdaa2367ce1b73517c0f736d0ce42370fd6a237ca788e37870fa937b8d2bd3740c8a6375342a03713b2d637c5c7cb3762e7b43696100d37062faf3798cc8c376c4dc137c09ed73751700338af170138b7c9033736ada73e830f2c3f819d7f368b475d355c3ba43e09dc2d3f0a795a3557df28361b298d3e6eb0163f4f433c3695db1a3720c9583e600bf33e3dc01c37b7015d359a8b173e2351b43e5f505235186322379f159d3d7065723e97b402372d8f5037ed22253c1620ff3d127833373169ad35a30df5373d2a63396712a635456860377d350138329842389a89bb37b39a913740dad83755a217384345b1373a2b803600186e363aa16237b745863651f88537e6224a37f54d8937a262ba372177993797733037efa475374afae037a586153723930337eb5b0137ec6421375de1fb374ad7b8375901c63739c90d3849b1693761721f3788546237a6869637e12e273791e91c37e57f3a3736cf213759ff8437f0b079371519c337599faf3755124237ad9b253e0989563f94a6ca36c02f3636cd51253e5a9f563f6d5287353e0e8936876b1f3eaada343f3331023528c2d336f6e5d43d797a153f4eadc8362625e8361e0f8f3d1970db3e247a9f3695718637d86d853c313f963e0dd24737b4a68036b32f233806d9213e3f6c64368873e63667046c371de76b3b90548236b21f29375d58b337851d4d38c353213717f53f3798c725376058833710dd0e3780796237e8fbdc363487b33695342737105b9637f1cf1c3707f1013797b78d378c6bc1378daf6f3784fd59375b2fb73716c62e3807159f37192a5f374edf1938fde50538fff394372c1b6e3759e00138907db937885f6b3731a07037b49a953702bf7137b59c3037455c5f37c85d2937169efd3714cedf37adcefd37233adc370945f43645bc48384ef57f3f0f238134dfa0aa36311c5b3bce177f3f0fe99435c33a34377805bf3b4f4e573fb5d0c136f45d8b3731b08e381a6c2d3f9b9c52379936b93714054a39c682003fb64a4c376a749b37d4d65c385aceaa3eaace923670f45137e330123819012b3e30f9563616e21337957f84374ddeb33b7d19bf36a84bac375deaf8374cb23538949b4b37000000000000000000000000000000007ae127369e2ad135d49ff435a6f1c63696588e378397e636f4af89369c6ba6378deddb37288d32378e3a07371c3cfa3721895f38616b1937728ee83666a4973822a0e63754b39337ce3b86378e93e33725efc337f9867837b5a88337f8fabc37fb2e9137328d6637adc28d377a1d8b370000000000000000000000000000000000000000000000000000803f00000000a73711361648e836a1fa7f3f1176fc35e93159378bac89373e94573f335c3e37a48f81376183f6375de02c3fb7fd9c372af8b2374f7a483867ea003f6b7a07389ebdb837c0c1e237b4ddaa3e8f37c037f6b69d37bc9abd3771d42a3ef9e9943795c780379b58623777ffba39c5462637000000000000000000000000000000000000000000000000000000000000000016d5bd368a56b337bb6c403829fbea3768171337ba5d2938ee3a393a7520bc3957e413370f2fdf371a5a3f38e6432038e8164737451f093883e9b238c3a63c38796e92371de1ca37d751ab39d1f42f38bc6c6f37a9891538d0cd6c382e112d38b93bc036add5cf37e2eb3138ea45be3700000000000000000000000000000000000000000000803f00000000000000001249d636588e6f3fe599fb38174f6d379fd4c0376a63493f55cc813a903b25387c528d37908d243fd7a0aa395687fa375911a337299cfd3ebdc6c439bb73183827609c373666b23e13c61a3a366dc837c9f178376804513ed4f186381b2ce137fc86b236e5585d3d9c274c386ca1763700000000000000000000000000000000e9759536bf072438c686123936da2e38d82ea435d5523f374debb739ab2dee37a1d7ce35e4b24436035c2939c761a437dc4a6c369cf49837f835cf38ca4985380e930736237cb43662f57239242cd037757d3f367828dc36b335873859df5038a6ea9f36db2e7437111552386bc52b38102a1236419f1a367894b837a79f8c37bd13f2365d983b370b360838504309386f6aee3603666e3fbddb8b3d19bfcd37890b343620d75a3f517e973da3168637b920fc350ce7383faaf9933d99215e37a65380363795173fbb7b813d47be333853e90a36e3e4e93e76944f3db445933711e66a36b3a8a43ec4cbde3c4445b837d6e6a3360e49413e8236013cadafea37d7bd153654e8483d84d18339607b32372ccad7361107d1376e386039b2c2f037f74889367d1caf3705c77a3accd8bb3730dc9436d425e33640d4363851ce5b3780d47636fa619537602a9439c1282038423ea93634461a3719d432383e07d537b42c5636676885372eeb953a27ca4a3ad3d76537acd800381bca54384e873938b8c8c13550561f37e5e51f38ad3ccb373a720537718c3837bb663a39403dfe3787c8233746785a37c26529381e4c1e38380d8b364dcf483ff3605a3e60d23037b1209536d740393f04ad583e411adb36d3438236b8311c3f842c493e8442ca372c11bd36c432003fc83e243e68896f37c2485336febfc23e9e45f83d032ba138fe697b37ad7a863ea360aa3dec8c1a380c4ac735b3630d3ec61f553d38a43337b85701372c52103dd20b7e3aeecf9837c6f31b37284af83771f9a539897300389723d73644423138981cfa393f0a2338144dc8363af17f37e3973c389280df37083c7a350052443669369638ee64a2379cbcf6368b17be371d9e6238c44533381c988a36dfaa8e36ede5fd3705e48037b1052936146c2b371a8e56387d6814383e352637ea649a37733c173863fdeb372027b936dbc1f736180e57386048943793560537dfb188372331ac398a7f6c38d078023707b2233f320eb83ed2819c37598bca36658b173f2c4db33e84d51d377a9e7d3551ac003f9b089e3e151b54368cd10437b315cf3e5e0d823e22b6db374f5a8c36cce49c3e5084483e820790366b982d36de1c543e290a0f3e257c5537ffe92137fb88e23da0bba83d239a93372fbfb236e27a1b387a318b3cbec3ea369a23f3364e7923385463653adc500c3858a92b37b1762838e442783ccc681f38e6c7f2363ffe3337212b2e3a65e5803751d00037dc246e37b1de6b3a4e96fb3710012a370d0ac537bf37aa3939fa7438f2fb8e36c979b537962f973956393538f1b848377261f73719872a39ce176e3850453737d37d91379bff053afebbd0370ed2263770653b375f732c381bfc7c375390ae3762720438fee64838c77f3438a71e4f37694bf93ee0b9fe3eeceba7378ed90137973aec3ed1d5fa3ed1671e3727c208374ba5c43e7c11d63e6f65463774672a370eb59d3e8425b23e0fae933792bb8a36cfb46f3efcf1873ef76d9637d53143371132183e2e68473e6bbeba379bba2e3740569c3d09d2f53d204652372444203794c709387d3f443d1a773137060687373e492d38c283d038aeec1438218fef366dcb21387b6bff3b223e023837d68936739deb36a4e61a3c269d8337d5670f37de7d8e3763c748389c7df237f5d32a362e895237f8cf6538b35711380dab9036c3ff8f3601e0ef371b5b5637bb8c6e37d50103385097553815eb20380baa473636c4da36e0f80c38999461371cc22b37d31ea7375c9a143838d7cb370316b0372555e737a6ea77381e404d38b4bafc36469fb03ee055253fb5f5fb362b2a8e36e356ac3e0a04233fd8abbf36a0d7113755548a3ed45e093f57f54c3793e92d36f594573e5f77e23e28b4e8363a9f8f36814c1e3ea99caf3eac798e3699694537461fbe3d6b6f7e3e5875b43784e92f366c1d093dfbce1e3e94814d363838d43669b4033889ba6b3dc1ca4637263a9337c27c31386fb08d394e4e033819913f3797edfa3702ed523a59b1ce37ddf00d3742578e37d2db8b3aa552cf3735186d3656d013377b0ee4382a7fbc3785bcf13778371338f7f45f384ca12e38f8f09537be779f3829a3963a68dc0b3a21623837d05e9137809406386dd6a137c7c4b6379ffff337942637388b940738925e07378b141a3769d39c37be7018370d6d7837ae8d8c37cd28b639f788eb3754d241370f07513ea8694b3f8a7425375fc10c37183e4a3ef7d3433feb5f0d377bc83a36d9d2293e0bd0243f4fd4be36f5f9dd3720b1f23d4f0a093f6fd5f03715dc8837ee5bac3d3620d23e1a60893796cc2a370c55193d61339a3e5341163776c092379f1c683b60ea413eb4cc8a37977ce8368c5f6537c158843d978bdb36c63646374b15b137582e563a531c79371d6f3c37ab0bcc378ab5413cecf8ae376b5c22367c01d0367c6a5c3979ed70371c2f24370081a537cda15b38b3b61e38ae11053771d11637340d7838152d32389fa76e37b7f86f3723e1d0375db9ab37d2063c389a762f3886ab823830fc5a38cf758f37d33c73378e6da13737c8523738a7b3373f5bb2377ce10e38aa0fbf37327c0138438a023881f25238d2343638ffbe3b3799425b3d00276f3fb893093740dd2036969e763d18e0633f3b051136a2b107373c2b3e3d7cb9413fb5236e37c4c2f4360956e13c2e991f3f71700837a3a93337b75a593c061df53ea4502a372bb8f83704008e38753db03e869ae9379d4752376b4ba4376516523ede188536cf2b71370fcbdf37d0bd903d141d22370d9faf370eaf1438f3ae8538319e01380000000000000000000000000000000021398b366c08f536410146387b1b3a38b78aa43766008437f56d543812786f389c39c737228aae3779f92f383b0dad39f5251738155cfb377e7d3638033d4d38125d0a386f4ee6377bf31038ea191b380ffa833905dc19380b5aa03969489d3900c2bb37e154803746b30b38ffd506380000000000000000000000000000000000000000000000000000803f000000002de38036690c0c386d14723f4e04df374e29833782e9403866a64b3f38a949381a5bae37291135388569263f1029873862e2f03759023938abfc003fe0b53a388e0ae437d34e0d38be95b63ecc1908389e5612385d3d3e38124e573e14fc5738d35765373e739137b7b8823db8b9c23700000000000000000000000000000000000000000000000000000000000000001fd1a137acae043ac866183a596ce639a44c0938c76aaa39a8160a3a76fc8a39d8d50238d992b23946e0073a16d7993949db273909a6f83965b6143a6504e239c4230b3932d7e339fbef4a3a6e0bc9395f4a2938caa49e39a2f1d8398861853947f72038d0f3aa39ed07e439c0bd913900000000000000000000000000000000000000000000803f000000000000000035be8339938d603fa5b31a3a4c0eb539dc590b395666403f60110c3a4a05333986cd29397c9c1f3f3c2a073a03e2513984a6a3393c6afe3ee909193aee24b43992138a39db59bd3e4dd7563ad88299390bf2d038d85e7a3e5702db39cc202539d371c938d9faef3df979e339db3b483900000000000000000000000000000000c89b3338f85f103a3b39253a16e8d5397ef88d370de88b39d5e1053ad0cd8f3954072238ce02883998e6753a13b4ab39d976153805fcb739a4ab173a5af4ca39a03a40383881113a330e933a68051f3ab202f237f4088f39ea045a3aeee4ae394d86b037b3c9353ade48cc3a9481633ad8c4c537d082ab38cce2e739a8013c391edc00384890a03980a1043a373ac83931c76b395bc6603f3ce4ee3d20d48b39831b0238a1ee463f2957de3dc0fed8381b353a3826de293f9ddebb3d200a3f3940d02538212c0d3faf4c9c3d43fc823945028539db97e03efeb1753d7320013a9c7410380ad2a73eea73373d1be156396e460d38df385c3e8995e43c97a2e33993b5d3370fc5df3dcb3f243a73135238b41a09385512f639d4910e3a26959f39537bce3770a4f039fe4e383aa887c1393121f937b0f9d5395384973a836de839b144f136261ad039a0cc303a24bee239a2f4d3379a478338a171703ae26b6f391412f33793f31c394e5a883af1cbad3980f96837069998390c9e1e3a7df6c739576f5138afea6c39d9157e3a9dcda439a5730538e40da438353d163ad3b947399320ec37058c1d396f6c753a555ae739bbc8d5383042403f3eff793e0af4603902d41338709c293f2d745f3e54382f38fb820a3848cf103f83d43f3e9f777839e096003866ebf03e2365203e79645d385050143815dbbf3eb2b3fe3dbd5cb838f86dbd3736a98e3ef3acbe3db1a36c398faa72382ff03b3ef7cb7a3de721283946470e38ea74b33dc28bf73c121f263892090c38afaf243ab091943ab57749397b5dfe3777f8aa397137413a2b09a1394db1ea373f2ca839136a8a3a6ecad339a997cb379ad75539f3c6a63cfaedac3908a3b437a8ed9839365b8d3a05c6ed397d51fe37cbd4c33906dd7a3ae618043a16bec2379e49373845f5913c3dc756382e89ee3798deae398632513a6398e4391323c43735604238955a1e3a9baa0539184e3438fccf9f3965f3233a241cf23989471c384662223f212eb93e29001b3920ff1f38e8c20c3f5814a93e28263d3912cbe837d51eee3efba08e3efd15f438208b23381a89c73ecc88713e921e8639cac213380ab89e3e05a9403ed0e0a839ad59e6379d42643e15f4063e569e3738e181f837cb0d1a3eeac4bf3d5be3883925f9f8377a18913d78fa3f3d46fb3e383fb14738b8df003a957d613af939b73983650e3823cff5393f29493a16ccd93977821438e4a83d39dd52093b887caf3976920538951b8539a4abf83affbb5b3a2c3b7b38d5e00e39ae30fa3a0d0a93392b1e7238fe8dda39ea3a943a4aec0a3a0ecf833802e7d8386192de3a6c4d9139df2f1b3856ead2394e7bdb3a00d0303a2b201a38443a4a39d008c63a329eb439a0911638856b9f39f98c263a2169053af4df15399b64fe3e06f6fe3ecc256339b1f925381ef5df3e8df0e13e58f6ef387a312738913dc13e810bc43e2ea58539b3ed8338595c9e3e5569a13ef6c19a38bf1f2d3969e67a3e562a813eb340d3394f64873840de393ed891413e3190ce38f2bc3e38dedcd33d0bfd043e3506603915a51f3808075d3d89e77e3db3e20a39871143388d66f83975c5403ade48de39e36037385855ce3901d5903a3f81dd39ff23ae374e6f4938c6fa893a87660a39bfb9e637f9ff943988a59c3ab641fb39d568ce37e4233938ea49983cd72d7238d6210b38b602b5391f73843a9d9b093a89b50c3852509239b6b3833ab75fe7395be4f837c3452b39c0e2253a1d71ab395a602038f5ce8a39c8e3323a29d5d739a8fd0e389b9d6539ef010e3ac943bc39c1b971381934bd3edc0a203f3c725639ac590138531fa73e5cbb0d3fe489313882ddf737664c8e3e53a4f23e87268b39dba7f13761a3613eacc9c63ea1753538c418133809193a3e9f96a13e5f9eaf397069333805a2083e1c89723e3fc583393bd4fe37a8e0a53d5fb61c3e69930d3962fd2938d2e0183df396a13d38327339ab0d1738f98bb3390e644a3aff178039022b1238d8ad6d39a501b63ae685cb3998ef0338025c2838c89d8a3a81747839fd594e38fe0e2539fa79a93a0e7cc739cb25a437d03c643957b02a3ad064e6399d1c0538d13eba387cf68d3aca9ed33989e3e237f12d5e38824c683ad97a793948f530383b7a6d390165333a868ce839f23c24385fab1239d631893a0a290d3a57dd9c385f909039d526173a660aed3943942d386043783e6777403f17dd7a380c28113897485b3e18672a3f765d23385b337a38bc893a3eabb6113fea5938399cffd2375f6c193e3e5ef33e2a218d3921441a3826c8f13d1b41c23eff370239e54d07389e55af3d8bb9913e15ce783808c543381ca45e3d3ca8413e9c168b391bbc25383a9ea33cbcf5c23d7722313934fee738a2f2c339114d5c3a5598bb39f0670938a7ef97396942273a6073d2394293c73716db0538f1a6913a472e8039bfd9b737e86fa739df1aec3a1b7e9b3a391dfa373ce930394f44733add45d939510a863988e5ed39224c933a9d273a3a38497038038269397d02163a5130e53915b54a386fe6323947735f3ad4b7bc3909040438defe08390612f4396c239d39eed72b3984f39d39901e1c3aea9f073af253fd38635eed3d8d3e613ff89683398684d537014cda3dddfe473ffc6a30384d56fa37f103af3d8ff7293f782d363aa9a7073834458f3d90d00d3fa4eb9739b608a139e72f5b3d0f01e23ec17a0f3aae26b73866aa183daebfa93ec65faa3928e84938d8dea63c6539623eac046639e8e30a38762b6f392ff3e43da2b23539106f3b397d6cc239b0be343a5720ea3900000000000000000000000000000000ee68e637a48b16397c3c063a3a2dda39e2721a38de60f53864bbe139542ece390a08f33819488339bde7433aee19373af95c5239ea6fa13981950e3a81ba0b3ab1a1e238b49e3439204ddc392c38c5398fd6ba38da1f2439db19e0397af4bd398332993916adae3906a3103abb1b033a0000000000000000000000000000000000000000000000000000803f00000000e4ab2238e2a6b0390711613f223dc139453c2838badb9c39268b403f04eabb395e5e273946a7d23913c41f3f9efc193a84b06a397db6e3395ab2fe3e2f3e073ab3f0e3389b54853994d5be3e119ab8395dcbc1385f586939b0ab7a3eab4aa539ad7c8c39865cc139fe75f03d1c79e9390000000000000000000000000000000000000000000000000000000000000000e67e6634ebdb66358d126937f3abab37b91c41359bf450357ed573354bdb4237d4bf503614874f367132d1376b710a38b8eb2b35262432340e0e52373a757837cf749e358c41a635985d91379b7d7037885bb13544a0b3351b0188365240a3352d4cb1354748d5369c1c0f37f85b4b3600000000000000000000000000000000000000000000803f000000000000000078fc0e35ece37f3f7dd90138a67d9337d5c54135d259613f53c281388183c0365c496b36f78d303f41537439687dfb37084014365bc9fd3e503aae38de334d3711f66b3681109b3e26a516385fa33e37ea8ca8353bd0de3d15ac9d3878199e359ba2ac340082de38bd28dc374136af3400000000000000000000000000000000c7ae0f364d4827365d43933731d41f3789b4f934ce7e1e359f6ae9352196f635701b1c3520a81a355a848435b642a035d78bdc340beac834f39c8835539a66378fe2d734e475de34f692c636855827379002ca351758c535491bf137d1c0ed37be715035af1345358c7348350a0349355e7da1352e6fb73567495637ca42373702ca5b369d076636dbdfd93603873e37edb90236bc717d3f8399223c5f0ce73645b8013592b2773fd981013d6134f7351d261f357f66593f08a7be3cff679d35c5ccda34d366283f87b6423bb2a81c37e02ed8345e87f23e30710e3b6be8cd36cd1dca35454b8f3e5c53903a43b1983716c54e35787cad3de72e073a4d294c35e635a135b6f51b387fde4d3895fd13370e805236418d713653890c388d1b4e372d6d223651332736a5521d3825b79c374583fd35abd50736e4eb093680060936c77fc2351bd1e535733843366cd3483609beda35caacdf35ce71f135c52df235f3b69835d7049c35ebde8e37d046ac3711bd88360cb68e362b5c9e3696839d3673ed1e367409303662741837ef1657363052003695c80436bcacb23793c3a237a967923647679d362245a836fa13ab36f18923360e775c3fae110e3e2e8026365495fd35d281563f6cad243e32460736b04e9535b000353fc851243e1d24403667a1e135a5d40d3fa81c123e2c12ee3561159935fd34c83e515ed73d6bca64374b6583361a65663e462c8b3d9c0f9b3631870b36a8d3923d8644e63cd2304436b217023622591f3833a70e3a8f2e403786968d36a6e5a2360f8cf0377fd9ad3612091c36e36931363207d837e15d3b36a775b5351363b835cb690f38c75e9f372079ae35a57ab835ff14c8353317cd352abf2a36337b34362e7f483682e74b36f5c09e3530b3a035232884377cce5737c827b835213fb93568dc683634f7b635d6ded435821b7936035ffd3731bf793778bd08365c3f0936f979cd37d7b261378fcf4036abbc45363cc6e237f43bc337079f14364d462d3f8b78a53eac472d3670f3b235ecb8273ffd56b03e4980c1352fa1ae35b304103f045ba73ed081d035199c1e36091adc3e62b7893ed89c4336f7729e35053d973e8b504c3ec6b5a0355603b735c778303e81a7003ed848b6354e9ed235ba4ff03c2f096f3df78fd93525ad06361f4d1138b8314139a1c00736e1703c36150186374f064738acf55c370ee0ae36c4e4eb37fe5c7a38e837bd37c1f884366781a436fd8afe377807d636b84a9036cf06a23673fee63650fbda3668428d36f44b8b36de179d37ac541f372ba4d735f0232436960f48376bac2c3750b6a7366e20a8361f4e223801714f37979cd436862fe036dd0ae037d582eb36dc40b436c5518137e8ec19382519c6375af77b375bd4c537123a3338591516387c8ea636d86dfd3ee737013f85bbab36b4524b367705f33e3f79063fa79768364cc44d36fabfd03e3705f93e0042a3361a6d6b3628009c3ee337cb3e0a848d36749e2a357a245d3e236b913e62c89135911a9036d28fdb3d7fc9433ec47593364622ae368d9d7c3ca8a8b93dcda8ae36e89690363cef4738e580003994209f36c1feb43687b11e38c6f5b83805b8a137a13c41368aa3ba37cdf11d387eca3d36c277073620d009366d8b5237a52a0736cc79cf350aced235cee7cf3595bcd03512b5b1356f0ab735389cb435c607b435efd8a235bbd2a335c7b404373f7ecd35ca1f473698aa5236f88be7366c174336e41ccc35d10ccb35cff6ca35c6c1ba3563f96737e02ac0375f8f1f38e7a4a7371c4b333640133e36d73de836ea783436296a43368c709d3eaa3c313f51833736e21b0836b36f953e2e3e353f2b0005367333ce35146d823e9358283f0db6d035cec6b835bfcf3a3e3502053f6d6ab4357926a535a0e3f23d3ad5c53e253a9e35f0e04436fca45a3d86e47d3eebe32e360bf2d6356c223739c334e23d70b3b3350ab555369ac25b3897749b38a424ba3522df303679df40373d27ec3768e72d36aaddab36d676b036c569a536ab0b9736fedb04368f6a113776e90236804d03364ed03a3615ea3c36598a2536a1811e366dec9b3611d89a3633d28f3603018b3631b67c37d20e2937176c9436cd979a35e675ef355d11f735a40cfb35aa01f235a3275c364d285c3653d85236f2f33636faab0c364da80c36135d0b3644bd073650a6593708caab3736f6bb37e01e2b360390a936479b033ecc1d5f3f91408736b5ff0436a0ade03dc6c2633f96e50036a3b329360bb0dd3d64b54a3f99d9f83538ac98360438813ddded243f18948236faf2083751880e3d7af8ef3e052299359e1af1352cf9073a5d1d9b3e1f8deb3545e64d36c420cd392a78073ea8fa0836ec160c36814ce93784bd9d3a672a063647762636ba9a0e3871d01f3897d4293651a93337d1c47537b62d26374ad360364636d33657f3e635644ca635abfd9e3541a84d356a114c350b194635bf2c4b350b35cb368e52cc35cdd7c135e65dc6352ae2c9364f1f07354cc4e8348de1d734d0ca1637e72d8b35cb3a823519838935eee5a0354a90a635a77090359cb64e35083e04368d830f367e1b08368499ca35d02c0237e44d2337067d4637f23d973669f30437d3860f3a96da7f3f281d3b36755104361af56d3820ee7f3f76599c35009952354667dd37de306a3f545d47359635d035c63d0939e106383f3ebfc135b91862368a710238ae25063f5d5ed034002f4e364e088d38d397ad3ec6a8d534b9099f35edebb138056a023e38f61b35d7d60236502103385471683a4ea987350f67d136f79dd33788a0e13768422f36000000000000000000000000000000003139b33494b5b334cbeeab34fca3a53419208d350a839335759f6c3576e8a335932b1b37878d723532443135a5951537b5425537296ddf36e05e553601c84b37ecaff7372bbfb9379ae5ae371293f137fd81c736dc048d36ddbe2237fe3da5365b34a737d51aa1378bbabf37e6b6a5370000000000000000000000000000000000000000000000000000803f00000000c892b13479e3f7365af27f3fb4f4a8346b8393358527a735a021643f1be69d356c54ed36c861a4378d6b323f5d8c3d372ee724371d72af373c12013f990e4237caf7e7373e41643832a59e3e808fcf371870ab3609911138f6e5f43dd4de54351b27923722dad037b4b4af3927d03b370000000000000000000000000000000000000000000000000000000000000000e36fa436e414c136b701493723a75a378546bb3588a975367927aa373edba137676e7636117dba36b1ea363830b4123861e2b1360c96bb3630d6e5379d46e1369241aa36530ab5363b20d4379892b63646b4023685edb1373292eb37a516b735519e433614b9513641fe063785132d3600000000000000000000000000000000000000000000803f00000000000000009373ac36c46a7c3f72af2138d7810b37e3222736b36b553f971f863957d3823789ce9a3655b8293f45b17a3899bfec37baeeb236d4a4f93e427c48383a36c5362517ae36f6c89f3e611b2c38d713b53642de1f3610280f3ea61e38382a825e3588e444360dab35382d342337fe282b36000000000000000000000000000000002e69293640557f360d7c1838b2509c37e0e3d236099e0037edaa2f3880df063836e1c1368f79ea367972fd37f0f5d1370034b8364ac7d136e49f6637fb214037f9b10037a71f0c37407c98376da95537793508377c801637bd81c6376a94563787ab5f36bd657d3601c5343829008c37661cdc363ffcf8369e974837a2d0273789557b36282c943676f8c136850a9d3761da3b363eea743f7da6303d328add3629a6da36db27673fc3ee9c3d016ea03747c5ce361573413fe8bb733d1b5b1c375606c036ff4f173f5b4f413ddf1e0937154604379b29dc3e3dcfe13ca2d32537a8e30b37a2f6823e8c96763c66dd3837d6b06836a22fb13d3482103b4e449936ff7ce53667ac1f378e6dd638873815374ae68336cb8aa8365d4bb13847fda53716a40b352a9627358d05523866e901375e419d35bd053136137122380209833620f05c36a63a933601898738a28925385e33bb3442ff0335944ed2370f0b803710028736b6aba1367380a937b2ae5b371d45b036335ef336956d4538443ea137b56b1c354f3c493579075d38ed12df37ebf17d364e8098362b2be737c6b4b337d92bb336db35ca36daba2e37e55145375c541435ad6f4f3f7c81413e64ea41355937c3352ef4403ffe2b663e0ba6813634286936a0131d3fd4e1553e7838463763d0d134f0a2f13e9f6c443e1223453558ae8e361f5bac3e8e45163e9b35ce36958fba368db0383e2e94da3d14580a3764b0203572da653d444d813d2bfa853640c38436ae8f583765ca683a9e68f63607e7b6361f16da36546b93381f670837ad571136d0725636553a4c38934c6e36ddb3ea36d1530a3746c13438233a19372b3936353358dc35d7f9ae36e4f22f36f2ea6e32572d7c36ee3fd53754ad3737e8240a3799ba1737f1a8593877472337c363bb34bb493a35f109b537890a4e3582b69135c1dfd535c9683c38be18e5355f3ffd3627b20b375ce68937cc033d3779293b34d3536334e895a337e20d8837886d1f36cf3c273f0758b13e27bc5f36dddbf136624d193fa44dc13e52a614377edb59359891f63e5debb83e08f724363ff6c8346d75ba3e0c569f3ea37bd73675370d37fcb57f3ebea6743e34351f37dbfbc434dbe7043ea5be2d3e64880e3502639e351b9d093c5a0ccf3d7d42b235eff901373cb041374558143b3bf40f3707bc4434d25ee636eb7ab439999202370e68b23650b2c6366b72e43845dfc43618642937bc943637fa0e4138ed023b3795490e37e4471a37e82c10380b343037a1fc29378a183237e9a70738f8283a37a86ef336e090ff3697a0d337e0a21337fe253637b5443b370e182e38d6513637d419253788022d37862c25389a9a2a3758c63637234c3e37a1491538da5b3b373a72b9369ba0c336293ada369116ca36ff79b2362bf7fb3e5504023f08e6b536bde82937d1d1e33e66c1093f9a57343782b91037e953b63e3b0e023f256a2137940a2b37dc45843e25badb3e54fc35378790f436bd8e413e2c419f3e6153f9365e66373785a0a63defe96c3ea0023137fd54243795d08539e6ed0a3e75aa173779373737c74086376d918b3cc98c3337b07fbb364826cd36f2f41d392ca7c1363e79203433846637375a423813d34e34ffbc09375c1e15373452973735920a37e2d78035396cd0356865ff376a8dd335be4cfc34002e623515d27c37c72a1f3574f81c379c5c243708b95038d8241b37d8839f3660db22373aa7fb37173d013751bc3a36864c433616fbf236779707367d9418375aec1d3774942838bd9a12377d6661361ae27d36c0e30a38ede92b372ba92c341f89a83ea2a62b3f9d293b346ef80837f247963e574d343fa10b0037ac02823590fb653e0e792a3f3f3187350be7ea340b5b1f3ea3810b3f49babc34fa0b1d37017bc63dbb47d43e9caf1137f6919e36737c163dbe67933ec2b73a3679b03136ef9c9a37ae1a213eca63bf35a94b1837698ccb3746f7c13cf6c90537e181653680d76337eeb875391dee49363db6ed36ce554e37fc8c483876bbce360f0cad362c8b6437500821386d409b361bb23e3515a6063725cf1c3867983a35e6d00137d04d0d37851c1638b87e0237eb3ac9364e071237cf5fa137e9dab0367d7b59351cc71b376e3de337b2be0635d8f1c2369528f437ba0196387390173702c7843600268f363fb63238eb325b365d404535c1069a36cce6203818ff4436b011ed362cc7333eb504533f8475b73687e2ac3618e6143e64945a3f1ff27e3612294b356defd83dbe55463fce4910352f3b00377ab47f3d3b88263fd9a3d7367c5ec336db6a0d3d08d7f63e4ee19a36b355543561f950381a25ac3ee2f2ea34568ac036412dad38f693353ef6698f36af49873612850c380f14b13c4adc29368444453511adb1371780353a00d921357789dd36747ae637af003a38c934a336c4c9153725051637591a393785eafd362c779736fa0c9936e17ed136720e803609a03b378dd33437619136377ce42637831d26373fec2337c3744337f54d1537c4420c376fca0837c7cf443711a4ea36aa3b22372efa5937a24e2a38533a0537fc07c2374083f1375ffe6a387be94c3766d317374b468237d1b8113805449736f73cda36247ac23c3fe9793f4c1485362e2b1437f3bb72393eee7f3fee53e136997797365b6288389c48693f445563366bc63537e4ab0e38e7ab3a3f057513379d0a24379284883877e20a3f226b0b376f4c0b37fb9f3a388344b93e4e4fd83667301f3719a865382c3b3d3ed2dff036873c99379b6663382ce3a63ce10803379075c036319ee037a7edd338c42980360000000000000000000000000000000019612e36edf72836d9a32d361b654636adde5a35c666f0349168b63588098337d6d8b7363ed7b3364dc1b33654779437745bc3368736c336d37cc436db8e2437a308dd37872cbf3770f31738863f053870499b379c834e371ffed9378ea7ba367c5b51375a530a37a1d0dd37981300370000000000000000000000000000000000000000000000000000803f000000005fc0243625b436367afd7f3fb59c3d369f380b355e4ec83520325c3f7af7b5376f92b436924ec6363c17303f50526d376981c136048c7d372f2b033f3710c2364c38c837c58829388163ac3e3f1a95376aec6a37610ae03750112a3e0d9a923685e20e3796b2a5371f17643c4c41c6360000000000000000000000000000000000000000000000000000000000000000e8bb1635dd868635cf406d3867034338cb100636b9c177368b7a9f3907403b3829acc43590929937d0e391382cf03a3820863033c7495437831bc83948528437adffb935897ecb36252d15381fa609362324b13536431838d8103438e827703600000000383ccc3755b3cb370071d83000000000000000000000000000000000000000000000803f0000000000000000478050351b926d3f4f0a1e3a7e420938965b2d3664e8473fb7688d3a4e581e38802ceb351efc223fe8639c396cb71a38495e3733e7e2fa3ef069283ac32102371732e335d80db03eb0211638500604368ec05f3795a0403ec2d61638eeaa0634a121b336ef3f3f3d67f07137415ffa3000000000000000000000000000000000e0199d335fcea5339d8e243aa92e2c389aed61349d8eda34e221053985d4e83787bd1a36a7dd29365bf33d380764313889bcd63458981235ced57a395a384038f2e5683501ed8935a68d7538fd2c1b38110221363ad2a9366f1c5038ab3c08383089543537da7335bfb7b139212d85359cb67d35fc258f353bd2493873698437ca58ee35c1650036d349fc37154e33387edda0339c2e6a3f9275a73dec6ef5371dbb9e3409c9503f5e50b63df5a3b037835f2136a76c303f63d2b73daa2e0638f505fb34359e0d3f05a59d3d331cb73756797d359a50d83e47837f3ddd594937ebff293631de913e12f22b3dcc6ebd37ea276435dd6d1d3e70da9b3c2c9886358d778635b005223cbb6eab3c967de43576faf7352a3e04369c335d3acbe727388c67eb35d9b0ac37712f473a7ed76b38783480355d708435d585ae388dfc2038f374ee34de0b4c35dac1f9393655c037ddad01361e751e3600ad223940066b3816df933548e13c36819bed3868f026385cf44935b94f8c353a33d73bd42d0238e5080136f8542136e653be39c79c22386ace8536df6eaa36b385483876d2953700a01b36d7be473631a35d385d914538367b183668ee433fb8f6603e83ae17385385803506912e3f93926d3e9d085537ece01d358849113f332f593e5c36753691f00e362a3be83edadb393e0c192738931eab356b31b13eb8f20e3e41fecb374ece6835877d603eca0fcd3d383a6b371c6e0f36d19b013e6a33843d3a98e53641469336e10d04384782ed3c431aa436dd122d3689bfb6374ae01c3ca57c0b380c79643681b0a3376426233c8175fb37c01fa235fdc7293752be803a3bc2c137f3193e35602656362967703ae12f0f375f4c1436ff9dfe36b333b238b95b3038f6e1b835d291553704b3243ab6ffc4379dc49635fc264c36655b2a3a90dc963629d184351ce28f36a2888f3956a663375c935a3631b51a3768dcf93966e9a137528388350a9fdf3530769738458b3138bebab1367ff01e3fc0f4b43efddafb364ddb96365fcd0c3f5f22bd3edf68203740258435d6d9ea3e74c3a83edc848a3667884736c521bb3e490a8e3ec661913761463536d3358c3ebe415f3e5e856c3760b1a535ab7f363ecd35263e59582e3645adbc35f500b43d4373d43d0b6f4e36a0559136939b1c384f0c433d5104d536100399353a171638bf22b83a09a3ca376d915d35462ff036f72b183c3d3a8035abe94734495a8b351bc5323c12f3043869688c350b01bb37693f253cde3c5938e5febf350f9c7136b712023ae66ce6376d14073565021b35eca4a83a4f8801374c1fd2354e4d28375640043ae25bc6378f999a35f04d2838c10b2e3cd70d3238ec7f8534d15b3e37ecd5163a43e1cb376985773548278335f4ba2f3ad25cc937be826935a04af13e0fa3013fdf528135adf64f345bcad73e01a0003f7e5432353e2192359b9db13e5490df3e2317e03730a9c7359ec58d3ed4d3be3e36405b36fbd510359bed5b3e216e913e5d981835dcd1d7350d1a063ea0bc5f3e145e1136a38d2936af86773dec8b0a3ead5a40374697823428e37b38a965843d1f0455347dcf803510bf573723534c3c896c7335db9ee935820d14383709a93a43e4a23722e82436b1c206376d30403cdb209837fbc96935dc657936f13a8f3a57256637d148bf35b35a4e36ff685b3a60209536e9857d36c648943761c7563acce9b0376b439536152cf137ac1332392bf4cd379aa5f235e72aa036386ca63a9383ab362c02e2360c5a62373fb9893a6c1e483755a6cb36885bad37fd8fd238ff3203386346fc3552c7b23e84e4253fd644b9354b3b8236bcf7973ed9ba243feff1c236a6cd7f3592ca763e09ec103f207a613646d3cb35ea1e413ed670f03e317518369e089e3642dd0e3e390fbc3ee4ce1037d603d136ef33af3db5f08a3ecda3d036d0fa2a361130153d8055313e1e2d20361ebd033746bd2438cf0ea13d49cd15375e62dd3688e23738f69e803cde2f0437df295936ca8a3b38fafc3d3cad54563680bf85361b7cad36c6c5df394270fb369652ff3564f17b37d1e1433a567be23709268d3501d4a137d5aa613c223caf3725f91b3633c4fe373140dc39a9d6a23783c51d37987047384739403a48e1d437e5559d356cd9a636fb94953a8c6c07368528a53578e1ea37beaf7d3a2e498d35c4273b37a66d3d383fe7563a52b82a389be7613668ee4d3e1817473fd8c83d36b08d943645a2363e4ed04a3f9e339c362be01036846b173ec0ef283f4d4b193633c09035cef5d13d13ce0e3f0c5b81351f9487364a72a73d1d3ddd3ecd40ee35fb92a83778fe353d3b98a33e5ed61a36300ba43591f98e3c6d3e4e3e648c4935d929ab35d8307538a23cae3dc47d833516e59c37e5ab8b38523f573c53c8883606b61137d7d744387cd88c3a216c02366a7f9235cdec7b3674555e3aa3faff3542f482359ef186355ee0323a42477b353d01ce36e71bd3372cdf703887e61e37bc03a235663b6d372e70f439d9bf9035876982356f9ed1374aa4583a77cb1c35b72ba637008b1938c2f9d3399b04a9364f207a37ac0ee7372117803c8fbf0235858a9d377595133820c9a03a14944836ebf5a83791d5863d0ca06e3fd3b0fd35686996354908353d80946c3f01a88a35ae4d8535edf00d3deca54a3fbee569355498ef36864dca3c49f8253f96e89936e388fa354045553c3169003fa0988935321e2a364f0a1b3cd2f4b73ee24f0b35d245bf37818cc338cbcc613e557a28367e6d8237196089397388a23d3fbdd934ef73aa374e674c3986faaf3acad8a43300000000000000000000000000000000e3d73f32f2251b3213ee7037bddfc8376f5c0934e45e08345ddff937688a2738d1dfe83503b607368f47ca377ecdbd3703a78933e84aeb36764e79386856e2377e2fae3709601438fb456638f1a015383300e43773802038993e143a28f0cd3748c691379283163882107739950cc9360000000000000000000000000000000000000000000000000000803f000000001c780832c6eb0a32a501743fbcbca33739670834273f0937bfd04f3f26931838780efe35f6c41637d2f0273f4adc35371adabb359088cd377041023f61d7593733c8da370dc950384ebdb93e66d0a037b416f037f4a44738ef165e3e4fbc71368732a83755595a383a35913d29fc81350000000000000000000000000000000000000000000000000000000000000000beba8c347baad4346c66a5345421a03400000000304639326b420335b1bd8b34e47c0634e75f4b34e351a33666515f36fbda2f34d804853434e44d3450484734568ef234c6710035c2588a35982a99353e1d033443e74634b17e1934236e14345d6f89348c34a034076d0a37bf6e853400000000000000000000000000000000000000000000803f000000000000000092ab9b3473b37d3f9474a23453c2ae3400000000f2e0613fae192c37c28595345e5b153498d4313f1380f737802f7c36657d4334a69fff3e7a674a3470b15934cfd44b35ac209d3e77029336c8321435c9d1113483ecec3d33a31634da0c2234dc568434624e92399f3d9737c3718f34000000000000000000000000000000000ebc963426108c3551cbb93717353436bb1136332b275533471c5d33f1208a33000000000000000052ab2d379c16ca368ea4b33398d2dc338fe0c93323abd733f609db332600073474e6f53351f6023465948335d0ba633525148635afca8f35628415335fba62334b453b36d9da283326700b349d110734ab5204377772f933316b3036f58252368f27463782a9593743cce333d6677c3f04417d3c8b3d09363640b132be396d3f55371c3d2e8a453300000000e708553f7e7b843c000000009a14b4337ab0263f10bbb63ac894dc33a056dc338b55ec3ebae2853a1b53063459b1763565a48b3e1f8edc39842d94357c1b26335313be3d09a3a63907663833ba31f333d1ac223885943e3854f5013422c04036d62e8337ada8053824a12d37975bb5337f7fb8339de8ba37ee0aeb340000000000000000c0be1237000000000000000000000000bf32b1372dc17a37329dc633e85fc93348c3d633d704f7336f34bd333c70c23377fed333703ef2330000000000000000a0b2993754a46537000000000000000012736935000000008fae0d34bd1b063437d59e3645d21334d51b4a36b0048236d9ceb337431fbb376c00a63394585f3f7e09043eaf39dd330000000045ef533f79fc2f3e0000000000000000470c373f9b87133ebf5c583607b1b63333d0073f17830d3e5c10f13373fcb233151cbc3ec000eb3d67e0f0330000000013a4453e4bb3cf3dec032a3600000000fe7eb53cbd3a8d3d000000000799e0339ab8ad3793c4863bc1befe3327d33d36940e8a370d4f3f386c5c78370fe7e53561d343363eebd2374636b036bcddc232ae4014330466e432bc95dc320000000000000000000000000000000068fabe327b15113377a405352642d73229f90934232afb3328b6cf33a8bcea3381daa533c4f0723350705133e63a7f330000000000000000d8b503370000000000000000000000000000000000000000adb39733aa7c5f3340780a379eb92837feeffa3531a3303f116c9f3eb4da32363a7dd732cc01263fd84cb43e3c81f032000000006cc2093f182cac3e000000000acbd332b6f2cb3e7b1d963e90f4ea3242b6eb331715833ea8fa733eb985f833c3718133e61bfc3d6c2f303e0d5a8533000000003b26543afff4c83d0000000000000000d5f9183793a3ca39000000004bc36c334ed9f036c38f2538b3457433f0d7c436e710603787001838f10ce13600000000000000007c009435000000000000000000000000000000000000000020254d33669fae33c4423c36ba133a34b1ffef33ca2fd5331888c93382bbea3393578933ce13503308321937926e3c3400000000000000000000000000000000000000000000000072310636000000002fa0cc364e03e436fe62993717d45c370324bc36e587fe3ee83f013fc048b63600000000941def3ecf7c083f00000000000000007596c23ee570033f000000006fb84033c5cb873e5a60e03eb9d0773308b7cb331b62343e075fa63e9c29eb336edb5633a510873deda46e3e586f573400000000069d9c390332de3d000000000000000094d4bd37a419df3a00000000cac4d0367d10c437bb393038d9f3e1361c786633af915e3719400838db568e33000000000000000000000000000000000000000000000000000000000000000077c87b33e40680331a87873335899b3396560034885ffe334aa000340d3315341e7f1033badd083332067736ad86163300000000000000000000000000000000b03714337c980c33722802330e3f1a334cbf41366edc6a3674152837c370843626fb533326729d3ee5d0313ffd608a3300000000cb47933ee7c4363f0000000000000000e46c5e3e7b682f3f00000000d1f16733598f0d3eb9a1113f04a197333494e03387be9c3d76ffdc3e95e20b34b7c2e5324631d33cc8a7913e65d1013300000000e7304438e164023e00000000cb7eeb32c5541737bc9ece3ad4a0043310944336a9417d37c8140538c9185a3636125e36ebdecb372f760438afaa71363483bb330fd60e344d08da33a7e9d13300000000000000000000000000000000000000006a1282330000000000000000e5e80934c2cdb533d3da9f335c1aca33877f03342905c13388f8a533f4a1c9338abec536e2ef393757fbc237d53d4b370000000000000000cfde6a3700000000e75b093528e2b133a89fd036fc5d5434eadd75364003fd3d76a5603fed502436c41ad033333cf23d6411613f445fe433000000009966673d66b95a3f0000000000000000b1abcf3cb95e2e3f0000000071a0ce33ccfd823c241c013f6ec4d1334e6ccd33e2aa263c4a32a53eee90d23300000000d3a7b43b10880b3e000000000000000029bcdd37194fec3a000000000f36b53468b76637bc2ef03722b89234c39ca536f2888637259aa83769eb6f36d52f0634466a0834a4d0043487a81834e63c63332fa75633155e4533e6e76b34e51e91357c389535b77f9635d3139e35f5651b346d8a003415dee53358580a34facdfd333160d33320d9bc33d37de2330000000000000000d47f5837fc8208377dd289337bb96d33134a4633f9d38b331d4e0e3642d8fc352c6f6c360683ea353b97d03697cfff3b86577e3f1e9a0c36f341eb3388ed8438ed12803f06af0e34be56343311ab8f374aa3683f11ba4a330d827e35de6f973709713a3faede8335ea0ef433b6e30c3799e1093f39da02345ec3c73399bca038962db33e2a1ed633000000004af5243851821c3e2952ca33716d14333db772373794133d186071330c390536465a4337bf7a0e385bc2ca3500000000000000000000000000000000f935a23414719c34e86396344c69b134385d4734fd233c34b5f52c34d5a84e348da003354026d034ef5d4c342821a535edb485349ee87c34150c693489b28a349d904c3403cf413431bd323420e515373ddb8434c3d7c734f8a95b341eedf8342697d634ab6ccb345defbb349d9dde340000000000000000000000000000000000000000000000000000803f000000003ec38634ff598834b013803f1a6b9f34ca771e34fd551734a6ba623f815f3234b0993434dbe7fc34ded4313f8fa88b3534b054348e7e4b349c89003f54896f3491a52234917d93370e119d3e976802364ea7aa34a7564e34adbcf33df1f0bf346283aa3421bca3345833253c049bbf340000000000000000000000000000000000000000000000000000000000000000383646363c4591364ff7e237c4cba936ec7e11361acb203668e5d536c6fe443600000000e4f474357c10cd35c52c8535ccfd8836788da436a08a71372a10b0367fb88536a95d9236348aa1367fc292363a597b36d481693741879737e6dd82360a80943609949337fedded37dd7c9c3600000000000000000000000000000000000000000000803f000000000000000029d45636d324763f96c6053802e2aa3626a9143678075a3ff6f0c237f03b44368f680c35b97b2b3f3b9dca351e8c6035ce709936e192fb3e37779637c669b13613578f362b7aa13ec52da536d2ae8d36c7e08d36bedf0a3eb90e4f378fd57036e1d49f3688f0db3994429a372ae2963600000000000000000000000000000000c60202365c3e3d36d8d4ab395b747f374719d136dd4ff63627424338af000d373a2654366c786036eeaa87381a5a873640ca0c36f7411036b93d973834563836d030ee3619a4fd36b6d69a37efb01537a0c15736dd0a4a36287ebc383723703651ea2336443049363e7ade38974a72362065f136279df836a887063716c508377ad69236feeb9036abc95438c74e6e3817e00f36c2c2713fc9bb343d1b944636b8d9d4364212593f18b7913d927705374e02593614903b3f6d5e913d17f78736aa191336351d0f3fe1ee3b3df3b043369120e8368f5cc63e5560c23c0c09113768f45336349c603e3b81183bbaa57736d4d937368ac9bc3ce5590f3be6e57336198de7362e960737b80da93c37380c37570982368fa2a63675c0f539f901263881a6d43574342f36b6c2c33ad27f5936ebab9b36c4f3f23688bda738fc600d37000000004fc998355fd6a938eba4003600000000cd34ac34dad6a738040c9035c3c09336792dab363e409b3736e5bf36000000000000000016028f3800000000bf7f2e3413184735035c0138a4dad7358c19d6369096e6368bf511386bc7a43707272036fc0d263659a97536472678365e2f023636704f3fa98a2c3e5f733a36fb2da536f76e393f7d62543e1473f7369df04634ad7e173fe622423ee82ce435000000006247cf3e414a4b3e70b13735ef5293368c00833ec2912e3e7ed8a33600000000eb269c3de13a2e3e000000003afd05353a8dd73758e1003ea0a5c835bc5dc936f1d70b3754be803d09df0337be982036dcc32736d9dfa73c4341573609f8f53566fd47362583713c245a093645cc7a369724cd36c6b02238046ce2366ee484357d101a36a12efb37936b15360000000000000000df0ba13700000000f5d05336b67aa236df1cc437f1eac836f25a373609096a3680a92c38057960362723ca358f0a1a369d7f0f37ca4618364ab1c3360570dc361e5d35385dde9e3712cd52366e9d6d36ef12823632536f368036f835acf9233f4961a43e3ee70236ce488c3662e20f3f36a7bb3ed080c7364746b6352d97d53e7f20b93e1042023600000000aa338c3e2458b33e0000000067b97136eac4053e3eecaf3ed9fdb3360de43f36648388389464913ecc065a36e851d13556935136983c2a3edb7b0f36022ebe3692240637f4b1813d6624033704a74d36dfbb7a3671689a3ca98e64361cc3873665d42738829c573b19f08c36fadaee360b6c0537a619b53816bd0437e7c226363d6928366a31db386eb21936c4287736867f763637a382384e507d3676ede33672b9f136ac5e5c389e45fd3609598736012d7e36c7784138b3727b36adfd1d36ee171b36368ca638e9eab5366171f9363865fe360ef13f381ff60637e4958b36d2038e363d64d3380c4c8a38cdd98c36dbedf83eeb66fc3e08117f36fa2cf036fa27d03ed429053f554af736214e2b36b5cf913e47da043f91d11236a8fa7b36ea14163e50dd043fccb98136ba5fe036a24daf3d9d50d43e17f9ef36d5948636432faa3882b8ab3e033e8036448f1a3694931638dbb1493e6bb93936d2b9f2361dfb0637b13b973ddfc6053768b084366162293814169d3c476e9036e569403657926f363c4c423b2e8272364bc3d0361cac0737a319b838f8e6f536f09c913518721936381c4f37c8f20836a0611836bac34d369669df377f4f6336354fa636516bba363c2f2f37a993c1360000000000000000fd2aa13600000000e8ddad35c035f435c5c61937f29f28361963cd36a4ead1368e0649376a39e936c0760a36513a05368fa16637738337368fef4f36ffe6a43e9b2e283f12024c36b06ed5369d50843e78b92d3f9af1c3360f34d03579310d3e5774323fe1cac83559a9333675b8423dc43d2b3fc94741369d6ea8362989dc3740c8063f009e943600000000000000003bd5c03e000000008248d935adb93636af6f633e4b120c36a55fc4362aedf5366abd933d9d3fc736840315365ab20336501ec63c1de40b36ce124b36a1378a364013a53ac576243634c3df36c75929379bfe8e38e621f43666fc663579f5db35b4b6ef36feae85355d019632000000008966143700000000b0bc8a3652e69736cc0fbb36626cbc360729c334f0986b35de869d3506c5303514d0d7354ba60336237c1b38068fca35156af43609f9fc3629f34b3871c21537bf393e36e2a05c36c4a35a382f133b367f5347368e462e3ece0e4f3f1c900f3698b3e9366ac7d13dd6b9553f3927c936eb26a3351d68a13c3ce55a3f16212a3500000000125eb338f807413f00000000ef549336eb99cd369f05133fae33a33663d51a35df3bfa37ac76cb3eeeb0f6349976ce355051c3376993603e1b34a3358b68f13663e47a37bd688c3d0d24f2361ecc3c36e37062364c7da53c491b25362a4db6361897493801e50e39a35793366d280337c82e093773e60537821001374b8d5136bd8e5936bca9423674e34a36aa596c36d92162364b044636e6c44f3699690a37bc87093717df0937ecb209373db244360c943236342332369c9f2936ad448636e552843674995b380f53813639310437b1a805379156ae3768d90637b9624f36461d54362443b238ced5143745c5ba36ef401c3df23c763f98bb7e36a6050337a9ca2f384dcb7a3f380aec360453523624ca62383fa7793f89ea373663e6653687e25e389a73473f4d904a36a3790637ebd218376df1163fccebfa364c4f4136c3b0ee373980ca3e50201e365a7a8136a3752738cd024a3ee32c7b36ac1201371b171137a64ea63df544fc36c4174c36b4478538e4a7453cd589363600000000000000000000000000000000caf28d3696838e36c67b9f36675ad2369c676936baf55b363e597a36b0d909377a128a3635ed8436aea98f36c530983661adad36df3c9f364618a9360d94b036bd085135c10d2135fb4895351cc1bd35ded33d36a2613d3689455436136b4f3640d9b036fa809d3641bca137cb17fa360000000000000000000000000000000000000000000000000000803f000000008136873612979e364bfe7f3f1671a436925b683652ff85365e585d3fa3bd083738018b36c3e39d363f6f2f3fb48e91368a6aaa368ae6b6361266023f44fcad363d8c4335537eba358e53a93e481aae3516374036549c583675fe173e3d7c37364944aa3667d5b43603481f3d5b2a9b360000000000000000000000000000000000000000000000000000000000000000c679a3327c10b4320d9b47395f0efc36bc8a9c3444dc033531d0d7387029d13691666c348b9e813518ffc438f9e0b235cd9ce8339fc0d7338d2d03380a2ea433859e95356df5a63648608d3764c86735c0eb43357be13a37af6c163735dd233540c7aa34f9b67937e02bec3704b9473400000000000000000000000000000000000000000000803f00000000000000008900983201326f3fa6349b380d55cb357b9bb83455704a3ffea697389ea90e36d4448f3429b3213fbe8c483810729a35d0a2df331495f43e2c6914370f1a9533cdcba635da82a73eeadf2036c8e726357d454135d6f7363e72b12b3580cb1e35ee3497342519b03ce5925e347b213634000000000000000000000000000000001068a63327a3ba331f348c3c90e9f43600000000c0f0af3486b6823be3f1e0366a9c7b3433e9883413f6213b6328f837b5029b34bddaac3454191c3aec5dfd35953d6235c15f0c36c2f6ba3a419e72369275433542146235b99c0a3ac0eb7535adcee1343282ed342b90203a5e5ff8340000000000000000711c4f389e0b2537bd5e9033ef44ed3349d55136a82bf334b038a933cd66613f04f2513d70ed013400000000628b4b3f4a06ad3d32425e36419382349cbd253f9812a33d6043a4356568a234749afd3e6ca38b3df6a1eb35b5a67f35efd1ad3eb519493d2a0c59360bd7513598ed433e44540a3d7be38035d0c7e634fd60ef3cb79aca3c622ffc3400000000cc51953618fa303dbdb41d3681a495336fd06934ba96e93c8b9d0f3552926b33b10fe033326fdc3c02bc1334909364349a7292340b1eae3c78d4e2351809cc34c3f1aa36518d9f3c85f16c37e1cb36341e9f5c34b39bb13b8ff8223525ce3134ce74f43564cc8d3c7dd55c36a9b937352111143666cc7e3c0bc03337bbbe8c341e2e8e3480ee5f399aad3a3700000000000000009c43143866ef8b37df5adc34d8767d350492703765dd25376219af336e643c3fa67b3c3e96422034fef96934372c213f6df14d3e73ddbf350d30d9349a17023f6b684c3e9779e3363371483459dbb63e4dd34f3e1ee82335685b36342035693eba3a413e330a3936396cbd357f97993d7d173d3efa3d69360a948e34c2fe5337159f0c3e49a9be3400000000c8b5b13546c79c3d23951c369c51e33480dad8355de0223d68c652365c73c933e689cf338fba093d9807cf3300000000000000004cf7db3c000000009147483418fd8734ecb0e23cf4c58c34b7fd9534c1cdda3575353c3b876135352b760b34d5551534a0fe8c3c83a71c3478631a342efb43342c729a3c9c547a34ebe9c5349c9bed34c0c83238fe7a1d37b4092334e00237349fed2d3887833a37c9e490343d87b234f7ba113809724e378b9fca33216e173f7585a53e2b1bcb3300000000764bf73ef34eaf3e000000001e746234eab5b83e2581b33e92d08e3418999734e4a4773edb26b63e5f5ca034768f0d343206fe3de68da63ea2561d34c2ce203419f00a3c38c38e3efbec8d34ca7fd834d81da536de8d4d3e82ab06351f6e2a343d9541347d6de53d8fb25f3433319e345f0ba435b27a313d70a8183591053a33334349335eacfe3c33785a33959c8a3128a59c364761f63cf41f403617aed134d6bbf435ea24163b8f1ad535dcd7eb3476fef434448dc43c929df7341d89b23519835836a80aca3c335b4937a5aefc341bf1ff34d589943cd48df034e640c234a2dfc83493733b387194e7365e84a32f31504e3563245a38332c10375daf673373616233e622f137a665703511263e339a16e93ea917f03e0235613317273c351a5ab33e285cf83ebbc8c434fdaed0343ebc823e43ba023f30c9c4342345ee343498033e0f5cfc3e0bc6f9344b09023687fab83d8768c53ed1af3536f557fc34cc27ee3506deac3e6c72ef34ea14c434c7eb9236390a6e3e0c6653355c78133057149436fd000b3e19546b36d33865337b1b5f33b2463b3de1d24633d713d7340863cc3643bbe23cc78bb034c58355340197ae34d66c093d5da93b3433f10935a835093571a2d03c5984f1341632953476999234347cb13c16fb3d34192c1b34d14c1f349891cf3c1c0c16346928a034b45aa334dc4d093cefc179370a977a345a34943400570a38ff372f3700000000000000005c4a88380c1b0b3611f1c8339335cd331624ea38ae1cd0333a3ddc345104a43efb001c3f37d6a834901868343def663edc36213ff4f93434a81f083511a3e53d4a9d293ffbb8eb3421e2943473e6403d532a203f491b2d342df81c348b6aae373559023fb4ac11346b7fa03435dadf37ef9cc83e88a19934999f8834ec5f0b37ba09863e530d783400000000b3c8dc2fb941183e00000000b892ca33486cd033abe9573d9852cf33ee081f369acd8c365495033dd092b9359d40c635882b0137e326903c00000000131b8634fc798236d054a63c68a18c348184543675fe73362cf50b3cb98a9b36d47700363c5950360fcf763c31da3c367c5c763482762b355fa6283cf6cf593470588d3647eaf9364ab5373c76539d37da8e903529efca3570c77a3c54aa7e36f2702134c3382c341d73023ccc50f93368663a368c873d3e52683e3f9506563503f1f73557e3f53d5158493f000000000adb8734e3880b3dec074f3fa4af8e34d7785d36f1bf7438de7b373f0fb7063670d91536611acb36af450d3f5aa4ce35e752c6344434c035499fd93e05f05634ee89a93687adc0377b48863ee6d88d3687f2a635941f943670c2083e1a006e34f579203407f32c34641a3b3d6404e0331ebd2b3547990e353585c73cb7524b34b8471536dbac2f36597d113a00000000c4cbff341c58ff34e4592b3806d7eb34a6898335cae48435aa9a10370d215b35302e4236b44d5c3630c3e0381f6d693612e0b43509d9e7353c142338cea285354ffc7e3523d5a835d66e473c478a99371deb5c3637915a36e8dcf93c4a971437c5d20f3411e60434cda03e3c1ccaff36404b21352b2e6c3ddfd7633fdefcf333c578173645aa90381dde743f00000000aeb5fd34761b3037d11e723f3183e83471d083350589ae35c65e463f64f258350e3d473651f3cd36f6511c3f6ab3fd35040cd335b93b20360a64df3e96bba73457979735c5d271381e8f843efef0843431545a36adba8437f740b13d00000000fd810834e0764b37b56f243dc175b3330000000000000000000000000000000030fd1734a2cf38346bb9593499ef8a37527e1235640d1e3568bd2b35a2f50f37852ba1344e0d35353f08b1353c75083782f76f33cfb08c335fff1436f17e2b37eb51183510e78a35bf8ec737e34e2837df30cf35026dfb3557181d38dbe32e3794c85335f999ad3504c23e383edd16370000000000000000000000000000000000000000000000000000803f00000000ba6328342c4c4b3452927a3fdc0ad0342c2b1935d95c2535b15c523f318fee364d65ab3410338a35e8592c3f7dea093614a8853336f09b332dc3053f6f65d133176e5235212cca3596bfbc3e1cbb8135a1a0e43570ee0b374966563e8e870635d92d5635693a4037107a863da068af320000000000000000000000000000000000000000000000000000000000000000aa120a35fd1f063554f11835e69116355df0fb34cac2fd340ec17735ae101735f2db8f33441f663367331b33b625be33ffb68534aa7f67340cbf79348e705a342846793327de6833cbe1a63347b885337e100133dc51963600000000703a1f330000000080d29137000000000000000000000000000000000000000000000000000000000000803f0000000000000000da50f4345c8d7a3fb1ec2a35554d0835e8487b3495dd603f5cbaa73527248a3444cdf931cd06373f1de803347800263489e034345f9a063f91de9a34b4380c34f5459533979ba43e820e4334d7ed8e3300000000d7691b3e050b9733046dcc3300000000fb2a1e3d0000000000000000000000000000000000000000000000008cd3d5334741a434215408350f271a350f68723436b4e234180b1a358d230c352f2559336d4870345873a935c4f3a2358edf3d35b15f87359b9ed035c9fa20363b3ea43430140f35a3f52a351eca1b35d9103a345cc745340779c9343729c034777045344509523508ad0336a9d9f335000000000000000000000000000000008736903189cf90310fb1793161f6c631a89c97337d71783fd0c91b3d3bf4063560c2aa34c8e8633f0fdf4c3d9b01ee3410d98633dcba4e3f2a11e23c7833683577c7353559e3223fed73fa3b34d016363965f0346551ea3ea0c9c33b6796f13471474e341c508e3e079e943bae151134dcf81b3428a1e23d2ea0f83a6036d63500000000d04c543945aaf33a00000000d7f5a930ba077131a6dc8c31c0d6aa31da313735799456354dc28435d2694b35759da034b64cf8347cd3fa34f089a4346e6d9c32cc9b4c322908a032d96eee31183f3c34bafb6834ed268734a6953c34524d833417399c34a4fcb534c44b643467e38c333f6a6333eee7803390104a334473303479d74f3648ff703421e222342a71de337b081e348461433461acad33956fac33a8af3b3304dacd3216f49532f5ab1a3547f0583f8372253e0ed03435dfe4a4349ba24c3f6213393e00ef9c3400000000ad382c3f6d6a213e0000000000465c34f46f003f72031b3ec6813e34c20580348992ab3ea5930c3e42395a3417fc2833a17c1b3efe1a163eb1e5103351695c34c5a3c33b71b0dc3d16cd3b344ffbfb3336ef3f37e3efdc3c9fa2ac3311996632367925336b97d038b4151b33d6c2763393328633370f3b346c7d813321ff79349c347834116a5035434c8a3421d2e5342bff7835fd88a03543b2eb3488628533cd7a9733b645803337168133fa156434829a2235d9834034950f1134ac05bb34f484a934440597345059a434000000001f629737f0608e370000000057b0283432cc0635ed603337fd620b34ee150535fc200335e93b34352f881635ef214333ffd6323f01f29e3e25bf7633982661345e53203f24b2b73eb9197234fa2e8d34e698013fdfdead3e4095a53414802d331c13b73ebe63a33e90897f335e64223486ae4a3e00ef923e87f80f3427fe743458e06d3d122f793e7d05853400000000add88f3a40550c3e00000000ced61734554f443822d8ab3c495e13348bc0f3345cd784376ef30f38ec1e0e35fad9ad33ca20d43322074036b403c5337bcc57336edd73345ca5d934724c85334c4bff340d34ae351f9ac635bea69a35294d3a34d96e4e349f27c83445332c35000000008f88e734755fdc344031da34b47c3334b2dc19350731ca342394073524060935b93e7e36fbe39b36851fc935efa49733b33921344daeb2337e0b5d346f54cc33b8d7c833dffbd233379cfe3322d5a533793b003f9dc4023f51078633e2c18f332f9de83edacd073ff544db309340f9349e32af3e96bd053f1a071435196e3334f6ac4d3e8376fc3e740b3834e6e4de33f1a2d43ddf9bcf3ea65510345bce23344e9bd33ce089973e7b9ea5344eb9203508304a3bae58163e61a8893579763733a2dbb2374da0fd3c0b091d340ebc983311579c377b738c39847bf233a11d0e35f74223371362a537891c0e35c9be2234ac703637fbaff0363f85093400000000000000000000000000000000cef891343a34a33479ecc234512ea0343fa63f34d12c5a34820f80348f3c1134625cb43360a266378145a8338fcf8533fa19b43420d2be34a1bdea341808b734388f8634a643a034e7400937b6977734ed559633f0f8993305bab633715f8b33d81ef834fdfba43e4195303fa0a0f534811232344c7b913e7528343f882dc83300000000c510303e8b9d333f00000000272a8734fc6bb23d5942203f75577d34dde5353417cb053d8813fd3ec5b8ef333b035533b6ba1a3c8335a83e9df2f03227a5af34bb63a33acde6273e0c2bc134d7528e343dfe15387f45de3c41656f3414b477330ac6e137d339c539a6f970335b46dd33d56b863661408634f480133392faeb33254aad36d3590634fee89a33cec2303462bf4235ce3a4d34372f2e346f2c8833a9c288338b273a33f92f5a337d4c9f348e7e8534c65b93344455753436c33c34411b2f34492f643470a24d34284c0432f527dd376f45c737941614309c3ec33496b4cf366d5143371f7cd5348c634b35b0b03d354e3d8135037f5135439217338551203e3e8e5a3f5f0f8c32bc61f2331b52fe3db3515c3f5fc89f33acec3a3450f1273d6ec35a3f803628346c1544330883e63b8d96353f246a1433f0ce7a340beff23b2114093f17d975348720433411dfa23c5af8ad3e892250342bf1da304b7bbd3cbab6213e00000000c3caa9340a94cf3af8b9d63cfb6ea934686935358a26b339ba3f76394d193f35a51f783183b99131450e9531acc24731000000000000000000000000000000004f89da34e49f83354181f2343dfa2535076462347a1a143410b21434b1955934214b03353cfb0c35cd039d347ab6a73456c1ab3549efc735bf20b035a88db8354275c8345c144d3581487b356007883572de03355569e034afb911358470b2344634003570942c3701bf203719f71335ed3e34319afbe93ca1427b3f52d28a2f0000000009b3963b7a05803f000000000e572335bd88c93745b1653f000000007e836634d61200388d6e3a3f03ea3d34902cf734b0f9e1371db50c3f93d40535b85ca4357f11d53af071bb3e6e75a535090605355c29be3b31182e3ef09ada34ae5ee43425badc37a0928c3d0e8be1348288af340a0b2638166d8139a0e0d2340000000000000000000000000000000000000000000000000000000000000000d6988c33f88e9933eeca1d335d69a6326f4693335b52ad33b90f113453c28133c9bf3534c8317e34a1d44f34866ba233db1cf933df3bfe333effaf3351578d330b4aaf34605dcc34caa1073591480235aba2063523591435e31817356614e5340000000000000000000000000000000000000000000000000000803f000000000000000000000000c6f3783f0000000056cc2233482d7d3296805c3f00000000d99ab533b612d433e20f313feb909733ca361c3495a4aa34be89f93ec5a406340864bc33e6a273337b6b983e2dcd7b320df098348403013757cf043e06892d3577970c35ab6a2a35c752f73cf45e0a3500000000000000000000000000000000000000000000000000000000000000004051cd33eacce13321e20b37baa018340433a632f9e7a532a0879f335693f23208573d333b848533e67ed63333ca3233000000000000000000000000000000002023453535d37735b74397354097983504e0913451d3fa34c3770b3585f1bd3445d0f233fa8f5134b72ea43463c27a3400000000000000000000000000000000000000000000803f0000000000000000d97406349c24723f57d20336d0fe00340023d733c2405d3f0d2acb33672fa134e6369c334e3b313ff6164e33f9594d3300000000bc57023f0000000000000000a84e8535c1f2a73e584bb335accfcd35c334e2347987163e5b184b35e95f9334af8402343ba2a13c56c38134da106034000000000000000000000000000000008c7e98358134f03591b40a3baed2ed35e51072345bb8893424f0b839d670b334cbeb3d342b49df34d39d7f386e9e06353aee89358146b63569c9b0391129a435fda1063452d22234211a983830371e3421326135b0be873563b01e3725a99b35ad6e90355db748361aea87360b382c36a1776f3460efad34854021350a921535a0918e3519cb8a35b631ab3539d5ec350fedae3587816a3fa8e0233de529ab35ee60873470c24d3fc2dd7d3dc14aa03436319c34e987303f2ab27f3db09ead34fdf4a435cc99043f42d1043d0c7893354b355234f1f7b23ec66c3c3b8088003476a47d354528393e62dfe039f92b7c35b07f0136cc30a93cc2bc093a2999f935ef1258346c02d434a4e9e03cf4891435814267357f2687356e15f93cb48ee135adf621316bfa9c3498ca063dcd7fd7335d3498328681d033ec5c863be751b733bf90c734759d9534d102ec39cb07d93421370934dee5163584501f3a098317353cf55a345c4b88349c66ca38404c4e349de7a1358c0a7535a2b895356f0d933528905e341fda94347d8302355975cc3494c63735d32d3535a39f303596eb23352b5cfe34489ee5347aa4ed340f68fb346512c131cffe453f36cd1e3eb345293141f96633a605293f2f6d483ec098713245b697347595013fbe35343eacabbd34a2309f3453e6aa3e7260233eeeccb7349a0f45348dd9333edf0e0c3ef6ab0934bbe44435959e403b7b30203e862fa93591e03e343aa9f134ef681b3ec0809e3420ab103501a527351e85c43d9f451a357831eb342ccec8348858833db7ad4835a070953406992c355eea673dc17bf334534dd734888f3635aebc973b613e3b356acd02352ef91e3564e04a3acc23183500000000c1ef4635d744093afb4a6134888b9a3497810435509a30350a920235f5cb5b35088b703566498e35147e8b3576dae233b605ae34057ca834a62b953413f75c34f3c8993474c0de3443f5af3481c00b34e9d705348327bc3463adfb34609f0035f4b71a3f9866923e6d10c834ddbdfe343617f33e3922aa3e13971e35ac180d35dcdfa83ef862a93ec56ed034fd61a434dc91433edcdd9c3ec8a5cd329433ce348e08ed3b2e21aa3ec301d534f32768350d1f90354b89a23ee9c36235c03c973402b2de3428f88d3edd915e343b1683340787d034ec8e403e3f559234f26cc632bf8d513415c7c93d208ed334c35691354b8ff5351757663d0a02b6357db8b034d852073507159e3bb637923417fdab349f34ea34f692473a6c38d4340fcec03534d820369d81093ad04c0136e954da3315125434a8d4bc351c443c33df7dc535e570db35fa12cb3577132b36dd26c534b5308a3449de9034a0581235f2af9034a8967834bfe89134938de234b976d13589bcec356f690639b1441a3691d2aa35ee3cd73e6cace13e6c2781357d11de34fc3e9d3ef915f63e38cc4a340328c434b08a463eb326f83ebe81643421130236468d143dbb7bfe3e6bd0bb35c888c93365b545368502013f40ed8d327849ba3523d50036e431f33edb351e36d0f9ad345b13be34bc91a93efdb70e35b2bf6a341507923421325f3e62a0ea34a9ba99350c5bf835f0f3bf3d3e96f7356f365a3422e606357432ba3c482e7134af5b9d3425abcb340da98c3bef48b13431fb2535567699347b7f5b39dbefb034a6435635c2677035367f9835f7b084358f90193559ab0a35ea052e357aaef034717d56355bd774346e249834b1c3a13489e146351e89063570d83b351f05193564cc5f35fad74635651c4335b1da2f35f626223544cd093520969439c4c9193579599934a2d7853e3270203f107e2831c4ee9934cfa2323eaf98243fafa34c343bd8df34a3db833d15632a3ff805af34ee856435019d19399498303f4ce95435e1def23407ec0935bbe02a3fad3db934d1409934e38091342efe023f874e4535e1a6113511311835784db23e60d2ff34f8412f3583ad32350ad4493e15bb1e35a78d1c3522e5fb347d67803d7c761735cd02a434040765355878a23b90c9b834a761d93419082f3581191839fed62835296e833417b5b434163e0435ec2bbc34b68ba435bbe08d3592046f35930490353f62cf33a0e14e343f9a8f3470325a34e672b6344f7ed53442c40c35b2952735bc5a7c3413698e3419188f34b201a134eb058e33fe4d5d33994596330630ac3398731c343fa4b233170f66391f3fac341e60fb346fb00b3ef33d4d3f866698345efcf9342b23bc3dd5e8513f90d30d351a298d340962f13986015b3fd206383445a49b355637b93566cd583fe785523526a8ff3375237e34e4ea313f93352534178692346a66fd34e9fa033f2c86ee345458b134d575c23430e0a63e26978634b42a8733ce2390330b15193e86017a3378481231f824ea33da2f393dafe25034f0259c3501f9b935d316513a202c8d35b48d3a35a7af283521eac3345c769c34f3c30b361ba3df35917ca835f1482236596a893515a3673524075d3519199c3523d8823425ab34348a5af533b97d2c341c93b2351769a9354250ad35e4c5c835189fe93465829234e6f0993476322035d2edb6343a9c9f3465d847373c5eab348c7efd35ade6f03583941738815c8b370348a935bd59d63c2417733f4b734735107f273562f68938bffc793ff4c76734e73be8355de82d367b797b3f654ee235365582359b2e8a35b03f533f3f269135be177834a3cf2c346054273fd79fce3396cea335d9a79d358833e93e31d2b53558bbdb34bd97bf34a052823e444b19351e61aa349bffa834d4050f3ea2d193348d5ada35cec9203724503f3df813d63500000000000000000000000000000000f768a034873b8d3403ba9d34e2bd6634780236358dcfc8348380ee34db6703350fcc153667519a3509d64f35e70eb93500000000000000000000000000000000ac5194337c6e3033c412163405b74934a86e583510baa333cd9131343f9b7e347ed42134369f2134902b80346cc113340000000000000000000000000000000000000000000000000000803f00000000367e7534676d863476437c3fd9c3373415ceb8341132b4348fd55b3f019201355d6fe535d2069e35afce2d3f6bc897350000000000000000582cfe3e00000000e9fc70332b191733abbda03e728d3534448d0735bd4e403336ea0f3ee81b0234a2ad1534e60f2434c2746d3d0c2c9533000000000000000000000000000000000000000000000000000000000000000041d8fd349da8e0348a21a738d70d8234804f613101f20e34c378383c3a6f973200000000000000004b4bf93800000000000000000723d437f469dc38000000008ac383355b388a377f601e38202532340000000062c4993764b9fc37000000002059143454e2cc37a423b5380000000000000000000000000000000000000000000000000000803f000000000000000025a70a35a3a6693fc10bf6378852833465d87f31311b513fbf37f9377300e93100000000a54a263fffbe0b380000000000000000ae86fe3efe909b3700000000ae0c9635b454b33ecadc4535000000000000000081ea253e000000000000000037a83d345712e83c54ed5637000000000000000000000000000000000000000000000000000000001d81803da699ac370000000000000000bda8ae3de1a0d737deaba32f8cbdf72fc0cf843d268e80370000000000000000661b393d0000000000000000000000003b25a43a0000000000000000b0721f364647f4390000000000000000000000003570013a000000000000000000000000ccedc7383ba0d037ea096e31b3bba7315dcd573846572b3800000000ebf2563ff63fb439000000000000000027793c3f22307a3c00000000790dc42fbe68173f6368f03bd5be1d3000000000f6e1d23ed407d4380000000000000000fb4e8b3ea12aa138000000000000000095ccd23d241f473800000000000000009a251839d9800739000000000000000000000000c26f4d3d00000000f4eb8a31d54fb13108d29f3d055737370000000000000000e943d13d5310473000000000000000006aa4ea3d00000000be808534b29108354440c83d19531736db1323320d0cdb335d33c63d8db3d83500000000000000008b78b43d000000002c924d34a70424340f5a813b142c363600000000000000009870df385921063800000000000000002f358838b64130386277a433d23988339f19db371261e5370000000035792d3f6b74a53d00000000000000002550003fd01b8b3d0000000097245a34ceb9b23e572d6c3d7176ff35fbe11932fdae393ec114f83c02ae983500000000df50043dc50a1e3d00000000a2b520349d948b37917bda3d7f0b1b36000000002c271237b128383e42e07235000000000000000039ee3c3e00000000b4da7133c35f8e336dac103ef0d2ef332c9a1334c9962235ce3b363e7b85103500000000000000006bf4373e000000000000000065750634b8260b3e000000001a5b1135de43ca3511e9ea3d9d5ed63400000000000000007558b83c0000000000000000d03ad734fda83a39cabf2e3500000000f97c6c35331848380a5c90370000000000000000398d433804bca037a1a58b30399fca301fda3238e8acd237eae71934c5c1e03eeee80c3e6ba724350000000026ae8c3e0564043e0000000000000000f160253e52a11d3e000000005ea983354401cd3c6394353e207ccf3400000000714559388416823e0000000000000000cd948137eddfb53e00000000000000006e5f3e36ee29c43e01b5063600000000000000009d78b73e00000000c04aa73094672032472b803e7977423100000000dae903373483443e0ada89340000000000000000dc06363e0000000028d99334ebdf95352460f53ddc5b2e352bf779348e4ce3354111543d1f9aca350000000000000000128b73390000000033cc4c314499173557b88e38656d183600000000000000008ba4103870e0fa3600000000000000000bc8013828ef593700000000000000009994873875a2593800000000e5338d3e9b07883e0000000000000000b6cd0a3e8b56893e000000008cfc2e35f25d4d3dce13ac3e000000003adf3e35acfe3b3880edc73e7f7d2e35000000009b2ed1379da4003f0000000083e84e34dd2b13367c90103fcb559c3500000000a0548735d41c003f15e48c350000000000000000bf4cda3e00000000000000008cfc5236e5818c3e19fb6d34f4d56431d6183f31d9b7303eea56043100000000000000008c44043e000000009e02ac35eebc1d36e1139d3dcac7cc350000000000000000aaa3333ae90f3a350000000000000000ab1088385ea32d37b120ef34940ff23484104e38e80024370000000000000000a7be893893b0e3370000000000000000b7e17c381120da37cce43535095e3535968e2d382254b2373684533161a4193e49efde3ef52ad430000000007ab0513d3fa6ef3e00000000af0a0236aa48be38a82c0c3f8417f33400000000e4454c38b139263f970a2f3400000000ca1e4f37daa73a3f00000000fdafb33419f54335fe5e303fe2389a3500000000000000001a4b0e3f000000000000000000000000653ad93e00000000257c2c35281f233593d3813ef87b603419d819344666b0344cecca3d4e398d330000000000000000f711ad3d000000000000000013617635080c853c000000002030b13527fd2f36c04a343855301e3400000000000000006ded4438dce4d4372bba5231b0278935c6463b3832da1d37068aae35ee820a36d0079338b54e0d380000000000000000d61995384160ce370000000080155a325688903c038c0638bbca163486f7cc3dcff92a3fe9d19333000000009072f03c822c353f000000006ae20135c4f6b9381a404f3f00000000576b0636b305b4363a20653f99572e3400000000000000004b9c583f000000003ae82e3513af0b36d3c5323f374e0f328484e3357a5a9b37359d003f9cbc6c3400000000a63098364e14a63e00000000000000006ad904375e09053e0000000036028834ea0092370b068f3d84d6ab31000000000000000051a8973a0000000000000000000000001b2ab438f7de8038000000000000000020eae1376e76283800000000000000002d320d3893c24c380000000000000000b1687b383742523812ed2330b02813301ccced38bef13a38000000000000000019742239c3ec803800000000000000000b2b993994254538ce60d234bab84b3b520e5b3fb028993100000000d65259381bce733f0000000000000000000000008f55803f00000000000000000000000074ae663f000000000000000000000000e84e3b3f000000000000000000000000538b0c3f000000004a012f308edd0b38a851af3ea184f92f00000000fb16433891cf2b3e0000000000000000fd96fa3794b8d43d00000000000000000000000000000000000000000000000000000000fcb77337aa5e733800000000000000000000000031b20a390000000000000000deb64b359637113800000000000000004e5c5d3792f99a380000000000000000b0078737d88cef37c47e08324645e631bdefe637433bda35143f9634156b8e343a9dcf3781c8cb370000000000000000000000000000000000000000000000000000803f0000000000000000000000006fdd793fbff44e37000000000000000015c7573f00000000000000003e505d3479d5273fa8c648370000000000000000e1fe013f6320843700000000000000004c21b63e00000000a6da013202f9d6317680343e27dfb3333cda7d34aec87434bbe3bc3d5f6ce4340000000000000000000000000000000000000000000000000000000000000000f63929352248293597aec43680452a3766970d379e9103375589c3374471eb3738755137b47e2e371f6fc937369b313845c21c376718f4363ad9a1372f70c2378e44d436b3c9a236abf89937a2dab93715b76a37227284372e3cba376840c13768123f372de38f3799c68f37842e8b3700000000000000000000000000000000000000000000803f00000000000000003025fb34d8f47f3fd9fe8737b402c2364819b5363881553ff54b07389428c837c0d72a37707d2a3f87bb82382edccb371199093723a9fe3e7f2d0338b59cae377ffa8336d65da73ef872043885528c37eeac30379440233e132b1338544b963778a31c373def263848a8ab37e3cc6d37000000000000000000000000000000001470ac3614c0d8364b391d38dbf0f437b8917534dbc7493529a07f371e1da0375d449336d5f88e363b2cc9375f48f63783862c3604411e36b9f7b0370cda13383e24a6364da09c36c133d13717ad00389a3a2c3756ba4837f452fb37b01827386ba23f36c47e24374f32d4374f7de53791647d36aa3c0837dd7a5637e07b8337a51e1c373edf5d3786bfb9378e95d537d39087368f577e3f1b6dcd3b65780337238b573458e3773f1cf3003d810aa536d06f63368b464e3fef96ea3c4cadae37df94f235c681253f693dba3cd775613784839136d90ef73e7dad873c1605c0378465d3360ae2a33eb1dbbc39c140ea37be109e34eb071e3e693f4a381569a837ebbd7236cfe2f8372874e537fb9846375f85fc369f48af3708e5f3377bd7c437ec55653670f03637b906d33701169c370bf185353b258835b3937337f88e2e37c6d258379c308737c024113855b1193804de593571195c35da7246370c2195378e93923510459635a9392b3719bf9339055681368e448e36809669379b2886374213f73647fe75370f7eec371df7f23734ff7636702e853690a07137e76366373c19f6360b592d37308656370cea66373a0151361ea8533f0b19313e79a0b336715c7a35164d503f217d3e3e7d748b35e89ff736099f2b3f83bc323ebaa2b537e945543526860d3f3a870b3ef9b19d36f9bc75358f24d53e74a0bc3d9e86b036de047e36cade863ea781443da70b1b37fa7bbe36ec8b0c3ebde6d33b78e1943716ad7536fdf7d73783fef137c48288364cb49e367d593a377876c337b5cb4b3743b88b37d60f21385fbf5c38ff3b18382967f0358335f335dc288237ce77d13694b34536cef13b37684702382d8aff3751716a3602946c3696fcf9362ed619379c3e0036f0163f36ccea9437019fae3784e5b83707b2ee3735652a3867de2e38987ead37d011d33729500d38890009385603893545dff036b4b28937e6d07437e5455e3786409d372f5ffe3785ce02388db65a37c97b293fd6dbac3e1cfd85373b3eda353c0f273f40cbb13e7bd2f235e8d93536fb9e0e3f683b9e3ed5bbed3681c0623632eee13ede9d793e027e6f36d14f0b350f35a53e2afb343e7e506336800800370cd9523eea2add3db9d4ca3747a00a378c80bc3ded5d2c3db0bbb537ff608d35e0901a38ec306c3881f7d13590abe3361906023831483b380d7f8537c83c1f37981fdb37e9ed1d38c674a4376c3ef136e4c64637604fac3752318b37f01426379fde833788a5303899e117382d2e4f37fc4b613784082738e9ea3a3828c21037617d333761309c37cb17a43748959a3750f7d43767a3403818315438f232bc37edc604389016403856122538423171370e2a90372883ab3779339937cad986373682ad37080fe437108bda3716f30a3778a3fd3ec021013f9a810e375cc68436ee54fa3ef6c8023ff6399b36977d65363374d43e9a38e03ed422d5360bf1bc36d463a83ef6bbb53e8366ff36625eb4363c70763eb0bf843e7e73ed369a09fd361584143e40172f3e919f323776f8203752c3773df4f8b03df2324437bd130a375934db37a21e31380c814237008f1e3757cce637b97514386fa68a37c738123753e2e83768ab5138ca418637221e8c35c8ffa6368155863767ad6c36c6b79e37d176b3372f30ee3712ebe237e56edb379e68e3378998153831e71938996de1368902c6362d754c3704be7a37c2b3ce3653e0cc36b3c9f3366b1cdc366e54cc372459e737b04906383257df3709d313365415c236c1ed6237951fdc36004e0c3870501638631e3338410b1f384aa9c936493ea83e6cd02b3fc6f8b2363f6589358cf9a63e7b762c3fd46c8635b73f9e363d4c903efe77153f33dd8036590b3437b26f5e3ec0edef3ebc701b3715410d3517ae1d3e5565b13ef79d0a35ff1c73362a82a83d812c6e3e24d76a363c684d37a2746e3c02ebf33d1b130837106f0436b6c1b0376ed92238805cfe357c3fcf3719812d38d96b54387678df3711942f373f9c5637bc21db37c1f7193702dc7a3647a09736d4b13737647a7c368a8b8a37cada8a37de499537b7258b37ff693d37b01b05379268e6362e2920379a5e0537a772d236679eaf366f37cc36a3a3593747e93537bfc3083774ebd13617370538f00904382fe308387d6cf337ce71bb361ffed836f8a84c37d59d9b36458687372c709437be9fa237c0d151375763e236a44f283eb7dd553fc3231a364c2076368f3a2a3eb969553f7a63623642bedb361530213e5ade323f7b3aad36c8b99836af7ce13dab14143f3ee27936a5f37936403c923d8fecd63e95808a3550eda836053baf3c1125943e94e454353f80c537751c3739d66e1e3e32718f3784c18e35579aaf37d9d26a396286883522cc3a37d80aa0375181c3379040bd36783eb137bdd7cf375ffce537dbcf3237db904c37fc14143792a4cc365cadd1363119b8374299703765f1e5362f896537662b013826acbb37365f73374378b8371279e237c1d99d376f6b58374d7aaa37880ae8375f0f6f377050ce363dbf80373525e337bd4ac1375b6cb1373d48a937879e8837c57b5437337c7f375893e436014ee3378e34a537fd27b93768f65d3713237d37b7d8593835f07f3f74bde5363a26f436bf27243c41667d3f19905c3684174d37affd4f3c0b32553f842a9c344747c83732c5a33b4fa72c3f141ddc36d239a137127b6138542c003f77bcc2364997373704236f38153ca93eb14d3336e0ffbd3775831a38f66c293eff4a0e378306fe36876bc73724955238aa5afd35618f3e37978dc0370d300f382a51ca36000000000000000000000000000000008ddf84371cd12137e8a81e37cb808b37c86da73784bd333787250037258eb137641ea837ba6eab36448360361f8cbf379a73c437d2906e3729de3137e79abd37dc12113880638f376b828237302d0338ea61e237fd72ba379c90c037b962d2374ce42137a5b1b536a33f213785c900370000000000000000000000000000000000000000000000000000803f0000000021643a37c11fa2370bf57f3ffc6c073729bd8137854e0038821c573f40394637380a5737e9ffdf37e6402c3fc8887f37efaea637849fde37a999003f2a2d9737cd4ba4379a812a387edaaa3ead0fa237b07cce37fb51e5377cb3293ecc99a43798faed36eeb20937ff6321382e2d69350000000000000000000000000000000000000000000000000000000000000000f4251035e1e5e737a8d637382d5de837d9f68835c885353891c6f739560ace381c7811378315f437b454f339e0c367396c6cf936bf482c38e982d938427c553879a6193738aa23389a532c39e3553f389f3c953707071238233eb7390aae063898658936bceb89378f6ba7378b4a3e3700000000000000000000000000000000000000000000803f00000000000000002cf11535e2016f3f1d2be038618a5837eda05e360610493f1b71423a7d001938b4f881371121233f2bf0153c4131d837990c8737e1ca013f7698273a5e9032385b3650376d1ab43e07c5cf39fe58f1371660a237ebbe513e1d6f0b3a2f72e937d5983136c5556d3dded8ba37e9e01a370000000000000000000000000000000014a0183633c6da37c1eae139df28a43787a29d364ff3b63628d46b38c9b14f37e57f38366fda0037e92e293885ebc837433e1435e8b92037bcdfff37e535c73721c9823616c45837baecb538b9734b3855a32c35f118893760351a3a64d2633972dd5535aaf55037e2921a383d3de2378c6a43362482073780ed353812849c374f8d1e3684333f37132206382544c33766a61a365f866d3fd5c8913da8591037ce5e9f36a23e5a3f3df89c3d2010ac36bda5383647e0383f8aba933d2ba21737e23b18352042183f9ccb7c3d5309833743a48236ccede93eeebe413d396cca3702a73535ae3ba63ecf5cba3c8688b83753125c350609473ec2ab0c3a51d29537de1d403672cc563d3dcc9438065c3f374dbf1f36921dc2379d2e3c3828a49b377f8e7a368be4d937a13d913923f18537dc938836a6e7403779a6363ad1797937db942036b690c237fc69ce3988fb0e38e1846a36d766fd3613f12d38c26caf3717953c36e9815b37b5c0be39357b2a38f9ed87366017f036f55a423871d54137d5215d363f1dab37f45e3e3997d6df379df028361276de371d1f71394b3c0c3887eb0e36f706c537fb517038dbc92d38d0847936b996483fbb1a5d3ead7d9e36f4bc8836f3e8383f28bf583e06609236622c2336f1091c3f73a4453ea771963738cc68367f50003f7dac1f3ec93d2d370d5e373683f6c33e297ff03d61101d37968e81368827893ed18c9e3deeb6f636d8805b36c0491d3e160c173d1ddc8937faee2636b6db263d5fae5e3a5c88ab375617e835a7bb3338b0d5ee38facae6371c6ee136fc942938a02d313aa288ed37d538ba36039a0238b721383ac2d3eb3748a29036e2ebba37c426a43a5da2cd37e747bd36a7c44a3726ff2239bb98ac37ecf80a37fdf78537d291a2396099a7370c6ee1352c46ad378fe059385f22d337f713b436d6c29e379e3f4a382610b5372510bd36325baa3708be073a3314af37d339d936442c8837fdc12438f579b63733d9e93640b1233ff0e4b73ecec43d379140ba36e5b5173f1d1eb33ed707543725bf923676e4003f14519b3e98e34737cd44b436a4c6d03eb5877d3e0b58043743c10337dfe49e3ec519433e9c995537b3ea923572bb583e7b58083ea168be365dd6b136f7b2f23db9759e3d5fa00337269992366628bb3c955bb83c022982375062bd368636ea376281f538c43f5e3790b2e63517921738d2e05f3a1abfc33732cebb3515b1fa37e612693a03e65637c66b2b355f239b374a85413a90fd8a37f3bd0035b8ea6f3738e1a93938299337e2c85437a70ed337a2eca139e0fedb37752d3c357e359137a448e838e28675376f6a8535985b98371086ed3877da93378ed627368cd4c837abdd9d3816b186370ab60337d0d4e9375b741339f9d6f9375080e6352065fd3e7fe1003f6906a836652ebc3510dfed3ec5b1f83e319bcf3570642d3594c8c63e4417d33ec06b7935b31108353f12a03e9cacae3e6708d83521a34a373a4a743e189d853e22d37a37196e153555ce1f3ea323423e9ceff53572925f35c32eaa3db257ec3d9dfe5f3612f2f4353e859f3b3b1e333d545a7336f1cf9836cf3f1b3819d5ea392ced98376274b636f062ec37b3f5193a2d453e37be6b9436b005b7371e96ac3a5232993729b2af36d26caf37c5ffeb3969919137d4975a36c30cc3379a836c382493af37f24d3b370a029a378af097393b268b3754e60137c7a3a937b7a5833811fb4737c11662375003e93745b45d3a403d9b379522863790ab00382e8d0839f197c937a9bd6537d78b0138410cef38a40a0938b91cba36b9fcb33e4cc2253ff574aa3607939236fe1eaa3e76da1e3fec279136d464ae36b6da8b3e24ca073f9031b336b29638360ec15f3ed87ddf3e7f2a653651243237e194253e7670ac3e06633437f03ff736dd02cd3dd8227a3ea027f5360c3e3b37fdcd2b3d839d183eeb4424375bdf4a375c7c5538b9a3673d97602d379d122a377adc2538dff1d53985edaa37e8707036a5ff4238be833c3a2c4496375f7d2836951c1138183b873af973b03782205f36474dcd375127113a5c70a637149ee5366d802a37589f5e384273f936942105372d29fb37b7b3ad39a537a33739ad1537b931a737ab750b38cd191437bca1ab37f1380f381a71c638899ead3761559436f1ed8837e6c24c3991a29e3664ba17371a6b9a37fcac273866d36c377c3c8d364e5c553e8d5f4a3f4c27d83559262836fae94f3ebe02413f61ee223631526036a8da393ea387203f96eb583671ded036d81e013e9b47073fa656af367304bc36c3b4bd3dae16d03e5e5c5936ea3e9836500b3e3dc6a9973e74b46936670c7037ebac3f3c34853d3ef89be936e6ea93362390e6378820853d49259036d5b5a536ddd5c337219bc7380b50813667f1bf3674dbc837b127013a942817377cc373368ae48537c2607b39dbb6cf36a5dafd36a784b737b41bd038980380379ed18f3761a0cf3748a5043a6c9ca337b99ec93780840e38384b72383944923771bd95379a5ba637598fd937240b43373d217437f0dd9f373cbafc3737d3013729b9f3368aba233710461538889aa83622bb86378689af37a1e34c3888c37e37ebb8be36ecf5823d80736f3f964c1d36895b6b3601fe893dbc34613fd31844361020fd35a788643d65c03f3f09615935cf225b37bbe0173d822e1d3f09d8f73618a25f37c9b9a53cd652f33ed0e011376e6d6f375474073869beaf3eefc88f3668c9b836eea90638ad5b523efcbb40364c92bc3691b99e376db8903d525ca6366d1e1a377a22bf371ae1933904258336000000000000000000000000000000003643ff367471f936c821d937192b9437a0ffd03704b2e63785dcbc39774a8f39d4ebf33783c2d637f4ce8038c5a16a388a4734382afe273833236338307a4f38ce46f0380d6ddd37f6196639bc62003975a14f388047233862f9373927694138a4bdcc3762c3b737ee051c388f9ecd370000000000000000000000000000000000000000000000000000803f000000002e9cb3367c0eb337a31b713fbdc92c37b66cb4373afb8439a90f4b3f4d7c08387f0ba537f744703896b2253fdf7612381c841838120d7c3876c3fb3e8b862c38b9ecbc372a0234394d53b43efa26ef37b02312385331483857e1593e1ea30c3898078037493bc9374a19873dacc34137000000000000000000000000000000000000000000000000000000000000000023232d3821f3fa398966fc39c8f46b39300e553896d9f43905f3213adb22813925678638c10dd0393f39e9390171a139240c07398576eb3934cb0b3a515dc2395409de38ec9a193a5f18343ae4aabd3925b489381202b0390cb4b73902c73c39822f78396c431b3ac526253a70a1e23900000000000000000000000000000000000000000000803f000000000000000034f79a38aadd603ffabafc3981381b395575eb38134c403fc1c22a3ae773403910aa3d3982e31f3ffe26ef39ed307a398ef76d390072fe3e5116153ae209a539341545396f4fbd3e0955353a915787397ae3f138dc3a7a3ea879b139ed49dd3862bf9339e890ec3d3f12213a1f7dbb39000000000000000000000000000000004fb856384674e639701b183aa7098c397ca02b373fb6cd39394fab3a5d286939ef9051374255a239e9f2223abf307a39020ea237b6f0a53944623e3a6c2828394ec3b03780e7223a0110973a46fac339f55dd237863dea3911f29d3a66e839393168a337c723233af4317c3a15bef439df108836f3b9ee38f149ed399e572d38111fb53733e1a239c4a3f239567c8439f9cd8538dd53613f4b07ed3d6eb620398c317a3792f5463f3bbeda3d00e8c738d6dfa637c7f5293f243aba3dc114eb38568ec93759550d3f0f629a3d2236543841a5da370410e13ec8a3723d4ef72539caa0e637cd60a83e6c4d303d889109383c3ab038eca45d3e7773da3cfe66b7397403a6364963e03d2dfe053ac1dfcf37c952b937c131e6397b81f1394d5a2e39f814f737e1c0b33954f4313ab4fb55393b5fe23656241d38bab0ba3c1aac1038a20a10380aa5013abe599c3c1d2bab393fd29c377ffb4b39dae0fb3939c33039b9ff8237b5ceda393fbf243a0a94c739e8fc7f36ad795f388f1e0b3a5a953b38ac222c376ffd7f39d71c663acf932739192600384032b93918ef2a3a18eeab39a316ee37d60cac3995b5053a2c5d9839c6500538e396403fc0bb793e01d18b387bce0237baec273f18de573e64d6e43713361f38b1f10e3fe03d353e6b6230398e63b73717e6f13ea29e1e3e48efef37d583a8375f1cc03e81f2fc3d302d8839f132203702668f3ec9babc3d2966d4374bdb8237f4b63c3eacbe773d6adefe37b41406386360b53d081be83c3fe739397d38f5371c81ec39f3a4093a202853393f5d18388de87f398d232c3ab22cc43831f71638affacc395d9bad3a35e24839e295b136e1b94739e669d03a4c421b39b6e80e38bd1ec9389a84c93a460e863806d35e37818d5839ab1c4f3a7d60b938970c05385f16953913668a3a3c6ffe3870ddbf374803b0393e5c8d3a981dc13951a766379cd73739925a903c778af2387630173878435d3987b66a3a2b5b78395a783138a4f41f3fd884be3e39fd6238fe192438d2d20c3f86a7a83e01e33138542c2537f5eaf03e4c7b903e6a19c0375a5c18380208c83ee97f713eb9952938eacbb4379f2a9f3e3477403e25e21638b6000b3853476c3ec5c60f3e8fa72f3849cfcc370329243ee541aa3d1f4c5c396eca9b37fd32813d9288193d15310a38bc9f183886cb0b3a29a0813a28045e38db328f37e7c2bf39eb3f573a517c293938842538d8b87339efd6073db5bc88383bf04a380504ae39a717613aafb48c39c375af37ffa44b39f80c763a07cc1439e5145238b19ba439c23d703aaa5352392003c837f00061398c695e3ace29f338e12d4d382636af393240223a02fc7e3912e636388c980339afb83e3ad67fc7388ceb86378f666c397f5e363ab2445f39af78bc37caccfe3eba3aff3e6882f3372199463846f6db3ecee7dd3e5f236d3879cc5338c83bc03e0228c13e56cdc83892c9cd3702309f3e577aa13ec19a0a38027f61387cd87d3e0447803e90be8038ae8de037c8c93a3ecf3f413e71a80438b7ba523817eef13d6438013ec992b538065d4838a55a423d07cf603d3c0a7c3822bda237015ecf39e94f4a3af4f8d33839691738fed5db39025aa23adcdfea38b16565373b32673924909b3c38c9af388775cd373317ea399248b03ad3768c3913860e38467754397e86a03a5e36fe387a98833768540c397ee4653a5d400a399f011838faa4a038dbe4893a174c9638d1173637d8e35539dffbc23a48478b38dc1524382e848c39ace8953a94ac0b39b6a62938eaeb0f3951c3163add63de38a5732338e460bc3eb98c203f6b923238a7dfb1372c77a23ee7770b3f61eaf23730a9de377472893e06cbf73e275aff376e7e1238ecdf6b3e285aca3e235f1f38a8a8b537ca5b3b3e29bea13e6bca1f3842351d38591c083e2e0d733efa12293851ad7837c092b03dd505213e97adbd374a5827389d641d3de78da03d9014363874e43338ef8c7439e6cb2c3ae032a138ec63053834c7ae39054b323a9c778439bbbd0c3870cec539f94b603aa1fc8f397d6a9237220f7839542c973ae4b1f438143f40379b3a4a38b041323aacce3f383f538b38df45ce39140e2e3aea6ebd395869ce37726843396195003adabdc438fa9f33382584c139099d9b3c72898939d05e9c3780ff1938b947b83cdcddfc37a9970838960a81398066283a5dc55539156009383953783eebee403f8e14b338a962153864955a3e439d2a3fbd7a1838f6b4b537a5ec3a3eb5d5113ffff6e03757ed8637d9b6193e55c1f33ec24cc937a7e7ed386586f23dc132c23ee5ef6139890ad537ea22af3dea14923e22f9d937861d3638c8d5353db69b383ee397c0387faeb237e52f9b38d160b33d919eb637cc650a389bd0a939c64a583a643e8538112cbe371b5a9239cf05453aec7480391105dc36cc78833834de833a7e873d382750ee3878d6f43940a6cd3a452f0f3ad16fef372c7d333955ddd13a06dc6d393315d93736edb839838ba73a4ff0e03981f20238bcbe2f397e72483adcf61e39165ac63722477a3935f2343ae5bf4e39e86fbf37c54d78394de5b73aad0afc380ddf97382ea29639900f223a8cc296397a54c6371e6aed3dae6a613f50cfb838473c263763e3d93da41c483fb132a83774783a39909baf3d85582a3f2666b9391dcaf737b65e8e3d4cfa0d3ff36a25388ff4e7372de35e3d986de23eb6ecf0389ffa0d38e93e1c3db3f2a93eb84a5238d2dfd137ff74b33c1d08623e1420573867cfd6374f97bc395f16e53d5952e5375b7acd380c8bae392517423a47743139000000000000000000000000000000008ce94639defdd9392829793ab55b143a8df700380e151f39434cfc3952cfa939a6252c390cee9239d521513a06d5113aa57784396ab0b0397a261a3a4061d3395d283139eabf9139c27bed39047ab939637e1039662a6d39c0252e3ad20a9239c689c738bf06553942980d3a283e8f390000000000000000000000000000000000000000000000000000803f0000000012a77c396c8f153a1bc3603f5f09fc3995e111381833943904ac403fc86e923976053b3997a5073a42da1f3f022ef139fa2e8939bc79d739c8e7fe3e1e21c039c3aa3c39ae2cb3399218be3ed4df9f391dd7103979b88939ff717a3e5051673951d3cf38ec0b79391cdaf13dbe7f5039000000000000000000000000000000000000000000000000000000000000000058aa5336760459367a677b3770a0c137754f51358b425435304c2837e17fb237c458dc310933fe310b231437ae4a8137222ea13651b89136bf51b03704ebc53778ad4635f7b7493553ac5935944d6135aaec8a37e2c6cf372b3cf6378383a637e42db133dcbb993538dc0c3629682d3400000000000000000000000000000000000000000000803f00000000000000001aa04836a7c07f3f3ca21c382385af37b4ee503562a1613f16a50d388c7cb2375f50c1315c31303f54fb43385714753733f0d936c14bfe3e22ed29389d70c4371c804b35fd419b3e74575a38afa16135676fa537514cdc3d75e9363815d797371539b23330f70238a845473728d85034000000000000000000000000000000000f253335e16ccb35e056f1375e547837eebfa535e59dad35cc0ede35f55cd63685b579362c907f361d10a83603bc5d37da9558360ca089363b153037c582d2377d39c733bd32c1339076ee37e5ea2038ecd138364ed03936f2317b366e75893695778a36337a4f37873721388d3804386efd8a3434960536c187e13738cab8372ede2336588f4c365ff31737a8b76e3748aad134f16a7d3f6694233c7872ed36e16d9d35cc82783f3679eb3c199ff335aa0f653664a05c3fc26f7e3c625ccc36f50a41361bc92b3fe9df1e3b32419937065cca338336f63e70d8c83a7fda1638dd6829363322923e6830f63a57026236a36c72362418b53d5c1a6d3abb20df37fcc88c34944e7138dabfdd3852218b37a4c3ca3587198836a44203380c906437c6d82235973c2735fd21a237f03a4136c4b50935425e1535328cbc37e704f136bd17bd36dfd2d636e75322374e4938379cd3f735d8021736f419ba365480b7367c3d2035bc9c283567c9d9372bffe23703cc293603b84436f4876936d1b05736e0f8e1360e11a1374e33343889cb0c38e420a63594baa735ca939e372098563604cb0436f988313676221937227a19371a3e1e35c8425d3f25e40a3e63696c355dde0635d606583fe2cb1f3e044f4235626eb53654e1373f6944233e62c00a374aebf7354e8a103f20520b3ef03a8e367a301f35515fcd3ef9cec93d77709b370ef6243641eb703ebce64a3dbaee5736d23bbd3575479c3db8d3c63c06c3c5379cb4a4359c4e6538966070399a30ca353000ec3549cd7936365018381d9ba73653e02036f8724637e4ec2838e2c54f372aed29364eb73a3687d824385bbcec36c4f48c3616a1fe36d4ce1b38eb5c0238c2be1836582b233662223f364c6f403692e47535413971368711dc37d69ca937486fce3591067f36bc6764371e93f13678e5773646d78f3600deee3760629536ead74b3554ad26370766233876a1d037f9440a373c758d37edc0243825ac0b381cbb1636c9cc2d3ff05da43e9c1a3f363dc71a36fa2f293f3166ad3e83524a365073f3350299133fb831a53e6bdb3737dc861236c107e23ebdab833ed6312d364bfc723515719d3e5993403ef933ac364531b735271c323e2c23f73dae497636613c6d36ed0a203d85863f3dc3b78336ec5c4a3592b04738d7c4973834faa23639a9de36af860938d70776381370b637c2ced835407c1e375c45fa37916a023604e14f342827043538ae99372f08e534bc410637c4960d3751cb1437ad151037ff048a36c5c8913609bc9336f87d90367b221b375b958a374839fe37521bbc3738fa9236f3809a36b8d29e3607ab91361ce6133704ea1937e820b437c59c1637b6790f35b2bcb0362c42c43792e563367eec0036575add36e0e58a374b6a0937102bbd35b36ffd3ea84a013fd12ee7350d9140340daef63e3ca6043faf58b6349160f6363bdfd63e8da6f43e88a50437b895843688dba13eae2ec53e25698e369c2917337422663e8def8c3e90dd88365bfe8b361712f53dce79373e55068e365a930a372b95c03cbbdea13db2470b372347fb34daba1638b910613884f6c9344d33ff35d3d28437f0e54238a0aeeb35693948378aef20380c134b38849b123724db3d35e7e78437ff2dca3788324735ce776f3681e68a360ddf8a36044e6c36bb38493682398e36ec5ca23696872b362c57f236cd484237f0d78937af9eac36382c33362bde4a365bc843361c0f22363a7d0138c227373822ac5338ecefbe37603e843618b7dd37c54d36389765a6363db10f375ed69a371017e537e0763f37c9240a37887d9f3e062c303f9c4fb6360b743f3534c7993e5912333f89133b354f746a36f44b893eeb6f253ffca856367381f8357914483e1d93023fa86dc035da185d36f5fc053e0e48bf3e4f296935eb812a36c7ab853dd8ff713e4e7118364afba037891a163a282bcd3d4d6bfc36b3bc493636919738aa49f03952514136d1b44136112705387fa52e38eb652d36e3b279364526d937318f2e373bc20a360f0cc9356fdcc5356fbca43530169f3570adaa378783b0379da063379b1ed336433956362fd36036f9b34736366f34361a46be37a437b4378e57483779964136c9099c36dbb1b1369fb59d3649ec49365aaa3037097e6c3766ec4e3720da073723c06b36547481378a5ac4371491313509e01736f228363651586c36811a5c3549193b36eaee023e6c405f3feba4c23558a5a835ae60f43d276b613f50779f3568c55f377deef53da47f473f14d79735e8ee553699e9a63d4f46223fd3c621369b368337407e3a3d18dfe83efa3f2335342783367d6c253c5a23943eb1b91836a90b0e3772ed483abedcf83d8b9ad63649d1443536b385380f069938c10a1d35ede87e357a0d733780998037f81c293573f8633700fdb8379eef2937e6e920363d260237acf92f37c8cdd435fe4c8434e30fc7371e0e48373e9c743686078136e2fe6536702c5e3635953836db403436f6a9083861e3c1379bd0c033c166c43388857b37944c5737c7b410375bc5fb36890a34379ae62a378f73d33645c79b36b70101360206203799411b37ed27c13518901e3752b56937cb7f1b3754e1e73538c60237c9316c3a43bf7f3f31168f35a74acc368b9a003affd77f3f3a09853471169537367f82380815693f161f5b367586693668a8b139cb5d363fe5bb36365a2b033883afde38ca71043f79f5c233fcca5f3776780c3a30eda63e47f7b9364600f336014eb038a034fb3dfd098d366b8d0136b55661383470003a1f75ba3566398c3658b80a380b9ada37b09ab13500000000000000000000000000000000b698b733efb6b3335bf3b133a976b633317f8437fc926336856b3f368d832c377e1653352762553576dd4a35a3cc4e354f1bc737119b68373cc302374cea99372355663757e61137b694cd363a7222377f2cb037a2519937df55a137e9477f37e0bcc3378fe7bb37ae3be137adf291370000000000000000000000000000000000000000000000000000803f00000000aff0b933ae199c3674fb7f3f6f3ab13346e5573752bbda373c64643fc0441d3754c65d3576f45635ac65323f4dd645351eebb737295f013880cb003f36c68b3750136137df22b737a3919f3e9eddf23610eeb237ecf40938b090f23ddd88ff36f6a4ac3702d804380eba5f3adb0d8a360000000000000000000000000000000000000000000000000000000000000000c9dca9345940bd35455a9937830e7637e2c9bb350a648236319a1338439bec379a7b72353b1b863599fdb437f8ff5b37a33e2036d56408378d350638ed2aa83713828135aa569435825e7d3757e4a535f208aa35d25bd635a6bfde35a03bb635c90e2a36caebc0378cc3f437e3b3483600000000000000000000000000000000000000000000803f000000000000000077cff934088d7f3f13492138a9802637e4aa0636a848573ff37085389fe8ae379c8d803547e12a3f25b332380de10137cc162b36bddcfa3ec3df5038d08685377fdc82353a719f3eb50708382620a935f7f6af3593e00a3e5a748e366596c535787d323631c39738d4501738bc204c36000000000000000000000000000000008da3e02f50d0dd2f8b156d38bd0a4c37d9024e362b9aa736321fd13792c23e375820b435b02c4136d78a1937e21db136aa51ae34d5e26035dc0c96375ce66437fab76236c3f39736e2d51338ac939e37a22b5835cf22f035d903aa377c225736eb269a34830451352bf6a1374c4dca35e43573362040a63610192e385c1e9c370c6cac36d0dec836d6ff7f371c8c8a372d8fe32fa7ea743f7846303d98aedd3666eb5f3624de6b3fd6629b3de827f93641ccde3536fc453f09936d3d2df5b53663fbcf3460b31a3ff235453daf3cda363194753673b3e03eda31f23ca7038937888a8f350609863ed424af3c721a5e36dbaea2341eebad3d8964823c4ca5da35ae9681366826a43783853e3a70754437eb4aaf36ba38dd3637472938f2e2813732c82c376a9244375aae873821a9543788239b363469fa366a367a388c622237dda5b436af1ddf366e56143869ab7d372bb2283771903d37a868793834e126380a8cb136dccdcf365e880538239b21371011903699e6af36a6151338c7d1c336c6db0137ed7626379eab8838ed6090370fe5af36d647d736032a03381b5ef636d4bbb036f1ddcf362d911f38e47d8f372ec82d3792464f3f3e72423e9d884e3716689d368aae453f2a41673ead8616376b42b636442f213f4191523e2de905378caf2a373a86fb3e8eea3b3e684fc4376bb1b53634ffb13e6466093e2606ea36de1c92365993483ef63dd03daaa9c33637c501372353813d9e40403d07712e3767fcb436bf92f036a3eb633aeeeff3364b71b13624d5dc362068fd39d06f12374d465d361085953629d07238a590a236ef8d6f36c6a7a8368a34bc37141cb736d47f2137666235377f3a1b3822bd43370859ac36a445d436527d0638fcd9ee36d461ed363e5c063701706438c1df0a375b1c3e37e0c349371ea22b38d4724d37868dc336bec5db368b17a3370be0d936cb3a0737d51c1737c2ca313810021b3723a47b37bed7843765c8323896f38c37f4596236999c273facbfb03e0da19c36ee387336fe611d3f63d7bf3eefe0ab36c00b20375eb1003f2cc9b63e44784137bc63b036a39fc43e5713973e367eed366ec3ee363b5b883ea855653ef69609374e133e37728b123ecca61d3ed4e74a37b51dc63648deb63cd769ae3d64e7d336f1af0737f073ab377116e63a0dcf183793037d379a428b374aba443a20e08a372f2ce836ac879437fa89ec388c222437e9f50a37c5023b37a31ab638b9792437a4e99c36de6edb36ea9edd3712ebde36d16a823607bbc236da8337386df8bf36402df2365253a13796c26438055e73376ef5a336f812d6363f244438076eb3366212ce36ac07f83647580838f476d2362d23193789ff313777a1a738213e2c376790fd36cf265537b738093865af81375633e6369ef0fc3e6172013fc62af8366d870b379bbbe93eadfd073f6f59143725da9e368fc0c03e01d3fb3e3b68c636a9a28136a9b38e3ead1cd23e9a45a836da85f336c03c4f3edf5d983ecf6918376748a436641ec53dc5d45b3e214e9736ac2ace36c7376f3c7a15f03d6f52ba36981219371cc44f38fc1b493ce88d1e372812fc361299983754e75539619122376adf8637e00fdf375ee8883925b68137c8d8133731db2137fc0c3538e1550d377a07cd36f49ee33667002e370f8ace368a724937236052379c75c6377ab0433747da0837c06b11370e665238eeab00374137f536aa60fe363c3f0f3817bcce361f204837f6014c375c943038d0ce3137ccc7b436f881c5365ca3ba37adcaa1364fefa4369d59af36f98b83376d8c9236ee4e86377ba1aa3eb37b2a3f3f6f7a37ede0123795e69c3e471c313f0af00237e46ecb36b16e7b3e34a2253f9562be361e61483753b4363e8758063fa3ed3d37c0e809377cdcec3d3bd4c93edf22f4368b08f336e2ae5b3d79e2883e3c8cbe363a944537986f7b383fcc0f3ede6d2a370586b4364562cf368c632f3c805b9036cb28a236e3c6b13652631439b3d18536eac7e236be151138462885383e3cc3364839ef36ac5640370d19de373ffdc6362ea52b37a77cb037785c493851351837da54bf366728e83644dfa637c721a336edabee3620a66d37be31d437752fc736b1ecb0376a8f3a38de946c3871343c37013b0937945eb13730911e388e67dd3673a424371cd42b37016a863867d7ec36df1d523708925d3741e02838e07442374f09e4368f3d373e1913523f92beac36c04af036429c233ee4e6563ff07faa36228e2537e47b0a3ec137413ffe4b02375096c036da56a43db94b1f3f39e9923673b8ec36fd105f3d267ced3e0efdb8360a4793379b696b3c5d259f3e2d1833376b790837406f403888a8283ee5a9ca36d7541e372c366c38a621023b794dbc36096251379f89e437d938e239019c3a3766da4837671da3379cab9c37a5adc136ee8926373b0706385917a637e90e9636d6e3e33592503636d6139735021f243516456236ac265d36c58b31364e5cde35d95d8d375174ab377c4d8e374b309436be019d36ed365437854a1737ddc7803565c6be36f9efb936cb223f3790374e367b470037bc1799377eec0f380a3aac36cd500f375a09b83720564238601fe32f0df64c37329d033d9ec3773fef28a836a77116376269da3a415f7f3ffccb6d367210df3593c9d7398111663fba11a9344dfc61364403413a8757373fada39a35b85a8137b82cf038680b083fadf2843603ad3936b15731387fe6b13e092d15354998bb36fcd3b3389fa52c3ec71d23366a6eff36443620389c802d3be9259536f492f1360c203338d9c114395b92e22f0000000000000000000000000000000000eb4236eb944b3661a28237bdd3453676f9b4354e5bb93578b7b43503dbb835b4a4a7358114a835d4b7a735b0c399351b548937376f72377144c4375e9d6a3701d9023784fbc636cf2591373b238c359e969137978cbb37780b2a38bb179c361ab5783763c177370d6000385d47e2350000000000000000000000000000000000000000000000000000803f00000000a0c2473681459337b2f87f3f14a2233657c3b635f89cc13524445d3f73c2a835125da535cbb20e37164a303fa67a83355fa14d37bf11fc37ff90023f4043ad36cd60a6360c3bc837381eaa3e15f382351f8a7d379e434a38dab5223ee67d7636dc5f1a37898fd13773f0d93aea56a63500000000000000000000000000000000000000000000000000000000000000004d228a3528f0a6362a833d38257906381d8d9136cad81a3727239738dd6b3538ec8e9e356f166f37653a50387e2ad537e1784836953e9537602c2c38329b8d375246be36f6ba22389d346538db4fb13708519b35c8b70c38ba3e0c38481e083775e70c341bca89378fbd1a373b16af3300000000000000000000000000000000000000000000803f00000000000000001ff78b35436e6f3ff64b103a1437d23753de9c3612b8493fd2e0dc39099ceb37c733b13594e2233f30bd7a38539bb037594585367269fb3ed04142381e01fe36f40dc136ddccae3e3fab6938925118374a8d1c3794db443ec17af7373898ae3534290b3417582b3dda66b83673019d3300000000000000000000000000000000138ef334bef82c37c8e4273a373c183891856f3572ba58364a592d39e28bc037123e49362787cd36c53723392bd59f37f5916536e01bc036ac9ebf3927d53e388046aa350add14377b788c39e94524384694893638f9483726c5b43842b501382d794736cbaad93667c8cd3800eb0f379f8dd436b03d0537c4c1d139d5151837c143ab3638e30e373e113b387e5e0d38b1b53235b27f6a3f78f3a63de503e8376f848f3582ca533ff5e0b63dd39a783718d27036718a323f0245ac3db145803781cb89362b400f3fb9b4993df113b637eb4427365e92da3edfc5693dd0350638f72d9436d593913e7865163de7b8bb379d2779360af81a3e2071b83c306e0c377fe1e136d2f6f63a2b7a933cd7fc1637c1b9c4369a358b370fa85a3a875dd037cb97be35d70f4737bb16613c3adb06383e2e9935af477c3688f0b53ab0582b373f9fbc35738716364dd10a3a26ac533644cc803606e093367ee6113ab8560b373430de3529056636acab80396f4b8b375d7bf635ec691a369bbf1a3a3eaa0737fae33136b87454363615d639f037b63631476b3431627c35c23899387c5bb63501088e35bababf35f2bf8c38901304381fa1d435a8fb433f0bcb5e3e87f63d37d896e335df95303f4b766b3e33b7a236b8a1d4351127113f1a90533ea7f74e36200387366692eb3e9efc3c3ed6a8a536c17d0b36a105b33ec88d083e36998f36278204360d34673ed44cca3d1e83313615983c368ae2ff3deab36c3d97555336b97f7a340a2fa53681b3b23cec48a9350edd9d351d66af377d40933af681b8378cd4da343161aa37d989703a6f186d370000000000000000e7d1273a000000000e035536c06a7736cef1983a3ccc8836bc14ea3518c01636de01a539b9ea493775c394337cdbc833b56e293a8868c2333ba577360f008636889ba2391be7863629880136cd38443676887f3a34a73e36b4e6c6334ccee133ad052e399013b23359490236a62ad937c38083392154543875d60b3543ba213f6ee6ba3ee4428b35000000003e810f3f1419bc3e00000000b2545c360c9eee3e16d9a63e388b88364fa8fe35e247bf3eda988a3e38ad31360ff58e33f4938f3e2b29583e1c66b6330c497b360b79393eb34c1e3e53bd8436cfcd12365b31ba3d36bbc23dcdab3236d310c3332c92f23796a6253df1e7a133332a0a36730d7c38039f463c86a9f237c9f6c63664ed3a382384803af43a4937248624370fe82738128bfa3a3d99d137d43f0f378632b2378a380f3b5290b6373ed91c379bfb003886cb363c2349b03779506c37ebfd0538622d693acc63ed37d2c643371c943e3820c6573a5143a53748f427371a5419382c3aac3abdb96f3733b93437dcf93338bfd2843a899fa5373695d5362911c73765a1333a8854f737d149d236b8e4fa3e54dd013f1c1def3600b22a3750fadb3edf7b013ff91e5937ecd31a37a4cab93e2f6ddb3e523d52370787393734298c3e8ce0bb3e248a8d37b1e7843763fd603eab138f3e1ae1ac37cf1266372e7a073e64615c3efba37d3754a33937699f8c3df8d40b3e45bc43379ee241374bc3a538f4827c3da4295337b5fce13621f74b380ca58e3aff6c3137a2912136fcd58938305d3b3cf5e93937d9cd9033b564c23372bb663c208ad63342cb0f365b9e4d3648fbf43aea1338367b6d7c367ef387361f94533a6f7a8536322eb033e5cd06376c13613acf8ab733d35423363582b73743a1273ad131143617828536faaa8a366fc6d03aebcc753600000000000000003f082f3a000000001cc37c3549e8bf376bb35d3a11a4dc364bb127366194ad3e3714233fffb20e366b58a433901d9b3edd79243fa091c4337de61d36e39d803e4a620f3f1b041e360662813694594d3eb0f3ec3ef8e78036bd8cbe33cb9a163e7e5cb83ea8739c33c08b29361eadbd3d0b4a863e6c5308365db58736c90d2a3d7fda273e9e73683600000000ae812e38fb3f913d000000003993863596a82338e6efb93a70e829357165ed35bedc30386bda553a74afc1353fa05e351a5be335d8d3273cef0d2435bfcf49363d416a37ba87ec3a85554e360c052b36076896374b99b13ac6df1b36006e8a36a6dabd376e615f3a1b0256368e44a436feb79a3722ddde3a3edf9236387a48364b3d5e362413e53a237409363d46a4363f06d537a4e0513b262063365fb52036a959323810f2c63a02c9083649f6fb3620185a3ec2f1483fa4b1a935d6338a35b6bb3e3e631a483fab4c813493954d36f409213e026d283fecc74136c04d2f36fb54f33d2c040e3f90620e3635bc8b366f60b63d228eda3e28c1313633f0a3365cf7283dbdb39f3ed3ec8c36d0204d3609c0a73cf6b8503e0b36f435c776a43636d11d3be006963d18d73236840e4d36917978380415c73af3e3f235b499a337973e54384d51363a9f5b063786cf1537ff7aed37a78b463c87d80037dbcb0737a66e16376d22c939b8ccca36d9948937824e2438a005c238c0a230375edaca37a69433389c8fcf39217706371da50837e3147438b9501a3a2b26bc36728d5a37c5aee03725a6403a6074c136b04b2f37e1f30438efa0e53a0f3e4436577cb237843c4138c64d833a7045b636dac4ae371d3f8e3d2ad46d3f5e74dd36367616377b0d4a3d6c146b3f1564e936eda707374db92a3d90bc483fda6898365b4d9837f783133d3890243f4566cf36c058dd377fd2b53c5c8afc3e25c8a1367d5c0737a6a34e3c6b26b43ed95da53637ef6137a03b263ce36a543e91fa9f36a5893b370d95fe3b3111973dafea0c360e3cbc37eed5803843854c3af14c423600000000000000000000000000000000c7d19b33d628b733f48dcc37bfd6a336868301351fa0f7367d0412388286ec37ead8bb36a09ea937e00370382dd50738adc0a4365c4e85373d733c38242d2e37de568537cae7d53797316338f6653c37137f8337cb0d2938d1cf8b394543be3649a6a337ec6e0a38b25d133a1aab89360000000000000000000000000000000000000000000000000000803f0000000026fb9f337ad9cd33b946753f58c3e634581001357c1ba037d8bb4e3fe46eae37e917bc3610172f38a88c283f26fb9d3717b0a636c0180738133b023fb915b03622d99637312e10385e13b83efa2ec135f26d9337701f81381352583ea3cfaa36126ca037d8bc2638a8d8813da850d7350000000000000000000000000000000000000000000000000000000000000000b664fa3493d258346a715b357c023735d1cc5a3684d9413660395e36c6839236d977503672560b36a06f473694b655369622cd34f4d6f5342ac73435b6ef4934a4687f36956a8c36933d9336adcc9d36e52b8436a5855c368552773646d98036075c69353619e7379580d83749d62a3500000000000000000000000000000000000000000000803f00000000000000000000000035b67d3fbab87135fc6e0e347e066f361d24633f14c1883627745c36ea492236f521323fc41f97367cf838361d1a80341417003ff112263800000000a2738b36a326a03e9ae29b361e177f363b7c673653c1e33d5d973037d723753635a135354bde763acb1b5238538b1c350000000000000000000000000000000062ff5335be324036526fc4373dba55362790eb35e9b904369155a53750c4cf36d5448d36f21a9836ccd30c38384f15381947f6357c50e7353d526436cfc073365b1d0c366460163639c73436148332362e9d7336ff589036e0943e37e6809a368fbcfe350431c2360af04c3838b10a3832ba733667868e366624b13709338336c3797636125b8436aad39036cbd99236ba8e8d35d6cb7c3fcdd05f3c8ab75636bde2b5357004713ffd04093dcc4f21362f9882360188583f47e34f3cac618e37f76bd43568502a3ffcf2af39e0396936b14101360409f23ec4fdce39e3f5373675e78236234d8f3e23c49339c4919936cdde0336b0f7bb3d3e641139ca4e4537e18b69360d8a21395a6568391ba1863671966a36713a823694de1237c4f39436042f6b358d610e37f9350a3964d580380329e63368a11d34ea6f0f3802421f34cd7264344bea5b348df58437eb8eb7369f42a53486159e3488b643351e4d473588c21635c3300135994c65377b314835925bca3501dcce35fef5c4355cd8b9352639bd35d5790236b2977137a29428360f6e4e36992c77369cceff374900513732e05636a5e667364fd006370d3a5236881f033577005f3fa5d7053eca628735e85cf333d769563f3c5b273eaf0e14342bb2443446823b3fac240f3ebb0e753534039b34c7430c3fb889023ee50ba134e8561c352df3c33e5888d23d3c0d0a351bc0c635f466533e6b71b23d9942d8352cefd73549eaf03c20f8803d4986f835294845366f065638e8fcf03821c48c36a4e85c36388b4236d01f003852fb65360cef2036cbd3713622ed7d37a2765036cb545636be7d8f36433b1e37158d9b36b6974a362b675336607a6f3609a98f365efc0f36dcef08369c0e3236c5413836d0eaf234f8bcb6345491a1341b1ea7345567ab35f899ca35e6e66136ef8c3336b0a9823523bf9a356c72d63570149f358442d532a29703336f5eea3798b0d4328f3668362d508037083d813811013d3885482636273f303f2e03a13ef5352036a539323654e3273fb4f7b03e56565036387048369bd50f3f1ba2a63e23803536f804eb35638dd73eb6658d3e13d400367553fe34d2608d3ed60e5c3e02b4cb3461a9da35312d113eb6df1a3e9440ca35caa90135448b953b857ba83da4e7a83500000000050d6b38e22d9939cd4ca8301f106336b1a28438f05e0239945a8037bfe876364ddfa137109c1b3803fc9d362ba9b036a09a2c379d370b38862dd336e0227d36893588369ad8ea3750598236c88a8f3676ee9d36894b98365b15a936c084c1369b96c137a75d1838e378f83794c091362eabc036dc4c87379af8a0368aa882365eb5ef373e8356386978d83763a0d1366174e7369c232a38779b9537a1e398368669f836a91baf377a1563370e5a8836f4dfff3efa7e003fcee981364c19a5364e0ef33ee3f2063fffe2bb36fe7e5c366113ce3e82d1003f70a1633623fe8236a480923e4521d73e9bb793367d25be360a2d483eff669c3e3385c8365d088a369263b83d4467533e8c4b9a3643ce7e362be8f43adb4cc23d5aa78636d72ac636ccbacf38beb7b3394a89cf3605ce88365792ea37e180423809a9ae36ec1a823634b0ca38d9e5f638cd1f8336000000002a7516338aed333692957f3249339f352294083694b82535e6749b3580d1c33571b512367ad6c235e647d835f231ed346c44b03473719734001eac3447e54a3638965d3649882d3683463b36a4fb5f36678684362dff8637510c8a36db6a8b366b2fa4364e1321374640ae36083e6b36c3046b36cfb7b836e4857936f4975636e4bd9c3ef742323f03162f36063f1e332375983e4f46343f000000009a2e1135fdca713e6bd72d3ff317f0344818b035b504243eb1810c3f4d743a35fa66ff34a24cd03d6947d23e9e93cc347efa2a36a8e52d3ddb5c863e739223369f556d36810b113c3ed9d93d2cfb4a3631ad8336f40bfb370b1d833a9664a836eaa8313686a801376290973770547836a75a5236f4285c37fa8790375a485c36ff9b41369a257b3770aa4937a8f94a36f9940e36d51c1636bb929b35c3cf0636a574d9351f65c8358081b6358421be35e4aa1635cf41ff3468e9f634e7ddf834e47f8734c792443527d19b34da152a35164df33416b401373398b5378e5c653453161e34818425375c721d38cb7c2834a0631b389cf46d382a096d382598433687b853364c92023e37c15f3f8c6e43361a3531366749fb3d1405613fb00dcc35466a29367b1f9a3ddbb0553ff134ab34a881ba350619373da2ec293f5971be3573501c35c2d0023deafdf73efb900435601f7235cfd0ca3c56979a3e34299d34be41ab3414974b3cb853ef3d597a44343f0fc0334c4c9d382c7d4c3af2590434f2f6c435a175c73807b3a8387ff19f358f9c7d36e0de9e3685cd90360c9f8136612d80364d49863671766436442f8036ba637136f06f5936329fbb358252033638139736a22b923663ca5336a0a18e3601572f36a58c2e369965fa35b4762b3627df4d36e07680360bb413362ff236364e3a82370382b9373c97ee37e8077e3774bb2036efead736d479d2377f1381368ec365368c148c364e4c9836d44b5636587882364705133cf11a7e3f4b8d6736ed0f6f362b7db439a90d803f062a5a363fc42c36c15bc53869c0683f0fb8c035185b8c367c036d38eea4383f959080367b8923362d959138e149073f39291a365b91433641197e38c603ac3e14d71e36fc3184379f9bd338d7e6113ec4ab9f36e6e12436e2222e38568bd43c5e5b2a36b6764636241695379566073889673f360000000000000000000000000000000097672a35cdbb45355d0ff6343ca90b3504c3743605748e36d88f2d36db0f6b3695b6613611e58e36874f8236906a8a363a224933984ba6347928a7331ce6203464c63c3604d75b36d7c40836040b4c3671e7563685337936b4467f3634277636e78c143536bf94359ece5235f9e913350000000000000000000000000000000000000000000000000000803f00000000da781635b8d0f237740b803fcdca0e35733e4c36c626903629e4633fc2f15d362a857736d145a336e648303f2c8272366dd32f34123b0938a35e003f8f69a131214e303692c77636529c9c3ebd4532364b6f7a3667178f3697f1ea3d71b33b36108f4f3533e5853567472d3cc2001c350000000000000000000000000000000000000000000000000000000000000000060acb34b338f23421401a379c5fdf343297f535d9171936f5a25b374dfe463621d425361fb66936c93a6e38417c5c365b418d359d42983537209935bb8076354f4e5634ef161b38e040373822a38c34641cba35ac5e7c3797f4b235d77da3351266b9319eb3b431acebb4319e02b73100000000000000000000000000000000000000000000803f0000000000000000f409c93436a7773fed98093828be13353ac70136270a5d3fbfa35638cb594c36384a2936cfe42c3f8e3aed381a125436972dad358a69fb3e4d039f3738d38c3534922034895a9c3e237e703874598e34ae69b535e3c3ee3d6fe8b135a6109f3535d3a0313051e138a9d7aa31e58fa431000000000000000000000000000000008e3d5b34f1fd63341514f338f2f87e347cacb135c1b1df35c0679e386b8edf35150a1035385f17350f922638c9302135741e7235df007635ef822138ef2c77351c74cf34776ab435c97da9380755f73573bd8b3458209c34bd7b0c3806469c343af1203505782935c4849a38b6571f35203e543337329d3402dda1387c5a6a36f66c7a34814f89346f2306384b638434c17063346073723f0cfa553de3e885348ee3ba3539725d3fe542923d01f4e035f8a50f352d51413f28708d3d61d41e359de07835a75b123ff18d5c3d2f8f7b351272183558eac93ebc450e3d23cf08368903963466675c3e4c04ac3c93b19b34e7d324357187b63cc1a2ad3c0c7c1a35b830583349b565384698dc3c843d1d358cf8853421e178340043de3bb8b28234a3212033bbb8e734b5f2b13c147635333e3db633c5fe1934bbf666381f45103426dc40358a176635b6e183389599b735c8e8893569eb9135bb52a338265f8c357a843735e7c15135820253389a9d60356eefb835b9e6df359cbfb138a97b083643972e35010f39353ae1af382d1941359952cb337b67573467db423835041e35087f9334700bab3418e0f43642d0ec34b2152433bde94f3f5bcb273ee4602a339339cd3328743e3f456f583e7f9f3034b96c4635bedd1c3f3d51463e58f65c35de1e7c35d506dd3e8ca1473ea7bf8135053d5a359bb78e3ea714333eb27a7935d4c1cd35039bca3dc9e32b3e44a5da351bda1d357dc7bf384d10e43dd9843235a82d0a349f98b535b1bf8e3dd5e0e13407c38f34c2360c353f85113d6e8e213561a85435f0d11336f0c4443cb4c8b735dd0132345205733422fc0139b92d523457eb8d3545077e357c2ef338d637703589022a36d0a8bd3643a80537ae0eae36a091ab352b029c358e51c2382389893523706e351cc40e378ea6ec38747e4e359a8eae350c6a6536047f9e37412f653660d2913423f24d347d46f8375e751c344e187232d2eab23263ad0a384d6cf334b6456435a907243f9749a73ecc1dac356fe11134d9bd143f1996bb3ee5f86334693a8c35c55de23e4778b93edfa87e359a234536dc3f9a3edac5b33eb7aaa3363b90b835dc142e3ee0e1a03e623f9335375d6b35c2e5043da17b7f3e85ac82355eaccc35f9773b37a6011d3e4c6647364ffd7d34a1cf2734e673803d2458153467e68c32fec0ba32c2c8d23c92a5a932979e2d3536ae1238f7f30c3b9b657b3506e50f36299c5237e6973d3984a22036f58f1835bade8235aac85038741478359a3f3635b6093d35d424d2379bb039350e180f36bf311538d6d6ca381a2e0337e54a3035a8fa433512d922387078413541521f35106f8a35cee43c38aa9b4d3568b01f3622012636f0da1a392d55323677c8753585ea9f3589c32639914c8336649455356227f73e5777ff3e28f56235a3ed0d36e5f6d53e6936053f00d00e367d113735243b9e3e0184043fb2764f35c2983a35fc813e3e6965023f43cc3835057c0a3682def13d8baac33ebecb0836b3433d3532fd5a384caf9c3ee6553d35e0c43b350a81023886df323ebd3750357e211236cef14038ed947f3d565b253608608a358b2cee368918923c8f0270357d438a323e9b3e36bedd3c3a55ac8632a81e04345e396334238e543876e12034a95ad135d30880362a649c37cb7730368f624b35a3725837625bc938a1b55f353e2e833548b598352ff18f38b6ab963559fb8336ddd0c6368cdd2637a2d4b036feee6a35b0c7c5352449fa38b6518835e9b16634dacd9534c2bcda387f137734171c9b35a06aed353b9c7738655aeb35f4db8d3220b5a03e9a2f293f34129132d6d213340437873e56c02c3f42781a34a3f00b369f5d283ea5d82e3f5b1de535a19f62359798b33de6ab213f4b545335babb983586e99b3c76fffe3ec880a03574bf9336fd59f737f594b23e727a913624504e35a189bf388809493e049b81354e226e34bbc9f137ea745c3d525f52348d23c3359f992436bedbb23cc219c2358336923455e35035d493433881b87834f41f9534f3d1d035b49870385ba60434f7545a3587b9cd36500f3338b79a3c3589c8cd35a72327364df98937058dcc35e1f98b35fc446f358097b5372bcf4a357b5f7735367b8e35f7fa4538f6a890356f9c4e35143c1036ec280d381d674c3557a992343f386034fd193838c457cf334070093584463935beed9437a2fc3c33bf71923499c61b3ec741503f75831b34cccd7434b048dd3d8fb9523f467d0b346f64573570cc4a3dfc1f573f14204835e331d335739eba3bcf793a3ff237d03530ae9535a7be8b3883200c3fe1225335d88d8535ee6a8d38f2c0bf3eb3689335729d4a3516d59837187d473ebe363f3515b99434d2d4023423413c3dd806dd33164625335905b235ec8d313be90a4533cfaf7a341a78c2372bbc5938df266c34dee24d356bd505386de06f38c2d061348abb13355e0e2b35dec4513772b42a35254f9c348e3fa434af5e99346ddb9534a6aa3a3671eb283617b60138c2f37035cba06b35e3ae82350175b837451e823559f2233534731f3583a7083816541b350bd5da35b416e73524039d385d2ada3535c58434b1b42f36dc679038f36a7634ef3f8534a308193d1ad2743fd4146a341574283591941339ea28793ff2a253332992223558349538ca09753fbf6b2a35ce67a634978c78375ca9433f6507953471ac2736031da6382846123f19633035b37a7e35f686043834ffbf3e90f37b358e0b23352d7fe937c489343e4b451735ea93d835d0dd26389856833d872add352e7e873486a610383517b03ae15e6634000000000000000000000000000000007322973197d7a631e2a0da31257ab53181e49435e855b235c02fa635090db93534444234c8689f34010d8c34213feb3341b98a358ecc8f35d000b1357a1798352f3747368a216336be9d6d3834d18336382b4e36a9c4543654652b388e5d1a3626ee553564b8243536d0af37c35319350000000000000000000000000000000000000000000000000000803f0000000006c99f3108feb6313113803f519aa531be8da6352abd9d359438623f7d95bd355011b23487db9b34a6fe313fe0bb3b3403c4983511ba9c354673023f1bd59c356a704d3620d07238366fa63eb6875436caf84f36e324c93796f50b3efd550b36e6744e354e8c45359a1f083d68eafd340000000000000000000000000000000000000000000000000000000000000000eaf362349ff96a345c913239c7c0cf34aa4a9a34b161f234b2be2e384352d035d15c0935fa8a1135b2472238d2220f35305180350b20bd35673fe1354398eb35b3916f3591dc8c359efc4135868d92348798f234a35b06384dbf4a374e6cf333a57a6d346dae9437f16e4d344144353400000000000000000000000000000000000000000000803f0000000000000000757d653487e1713fdd7d6e34da870d35a0aba2347de34d3f530d29389e74e435aab10d352e93233f7b27e937df0a1135eb3c9935a12af53e2ed9ee350b92f3359fcf7f3599aea23e06fa2835bb228b349f9ede342b14233e732c20348598e83391806734a7859e3a2d504634ff3c2e34000000000000000000000000000000002edb7e325b5eb636c6f9c43c5eafd5362b657933b8d2233418d9c03cf68284349a03233331866333e93b893c5a1fa233aedd84329f7f943254c7613cff38fc328856d6344c8e0b3547cd703c4ac6ad3556906e32bf1bae327f8e163c1de45c3309835931186bd736cbf2473c5a5a43312e931334a99c8235f9feef39da8f083721dad8325300c233ec20b23958914534284a6433a9f35e3f28b1443dbb08ca360b5cb93347924d3fdff3933d82328e342cf23d3306fd273fe553953d9c48b233a84a8d32741c003f1367883d77bd48330de7e8345056b13eec41713d1011a4354ec85132f3903d3e917e433d13f39833536a5931cdb49c3c1692233ddd194031b00e4d3433aa60362fec753d46768d3633dbf1326c0c0034420c453daab250343931d9323a555d36647c233d6270e235aa251c34473091362692233d8deb383672f82336c05e1a389a74dd3c3c4c6637bfb91e3588133d3790af193da3dc7436c3999a3429432535a3e6e73c5a0a62351c9e3236304fa237e7cc183df1d0f337c000aa34c7067e351b8af03c3ff26936308031343c3fe435c3af1f3a2517693653511d3733fa6737f5933e3a19250a385891e2323b9b3b3fd4af2c3ec51c7f355a1d2734c0e9213f7e763f3ee8060d36e16c8c368dd9033fdc28443eddc0f836705b2135b511b83e8d083d3ee9e23a36968b9f340fa2713e5dad3e3e7a08723586e183360be3a13d4558263ea86be2360f8faf34fe48aa38ace8e23d8594e534d93a373446870e37f68fa63d31952c366bfc2b37be130538a66a8a3df5e9a937d296b63668b441370f0a133ddf331737e8c7c63495c9da34dea2183dd249e334c10e0a35b80f12352dbc053dcd300b35d43b0535e12fa8360156083d5e4f4a36c5080c351a1e64351a90243d8b1e8d35bfc34f35e35bc3356938373d7ed45535359bac346c30bd34bb35ad3c9107a634e4503d34bd61463473fc6f3c00654c34a84229327ba571362215733a3013a43626b9e436cef9163fa01da13ef0610a37e317c734d906f73eed1ea43e0c8fd03480e90b35bc49b73ec111aa3ebe4b0a3568b70635c8a87f3e133daa3e38ca0c3660bc26359bd5103eaf7f953e48e18e35bbbd5135830b8a3c578d743e59af5535367ead34ce03ed36320b303efe73a234ad743f341eab4834f1cfdc3dd4214d347fd22b32cca7b736be5b483db078753628f56d35beceb236137ffa3ca8493e36633ad7368a7d4537cd64153dd62e16376be75b35c71a45370dac033d06ca5f360000000083c9ac35ff8b3c3d00000000f396a9366ed4073716241d3d02c8ef36be92e830d3036c3552783e3d00000000978e9a35d1638e3670bbd43c1a419936b09cc43681d42537d85e6a3c84662d37492e1435308f6e369d47383b70398c367db4e0351c46e63ea2d4ed3ead31df35ccc0003762cab53ec493ef3e38bf0037426602368b2a863e2911f63e7dbe243600000000d7a6183eca22ec3efe4910303c1dc336c7a9df3d78aeb43e994cd836eca78a3057a12338ce8e983e000000002371f235ab21d837a3f34c3e0b055c365b00e336b6e44437f83f023e81461737834e7c35e013ae36a692593de8673836a05cc735dac6cd36f905013d84491c3659ac5034b45b4e3467d8f73cb96f423438be9b34b002bc356e51db3c1406ac34f1c0553579970736689b2f3d483350359ab78135333a9335c929223dfb4448350a104135cc7089367c94073d982e6c360f400935a3111135b312f43cefb50935d644c0345643e4348d2ad53c1805c334e243fb36a2e723373265ae3cfe7b2e371014253677b5a23e7e181a3f68d1653556b34e348beb6d3e1bc41d3fe12b4134a1dc9e348704103eccf1233f81bbad3464eb54359220883d3667173f238350358c5d8835ae6c9d3c6becef3ee8e63635c03bc8359eb6a337e56fb43e0fb7e1356eaa09353e0a1235a2b17e3eb9a60a35f277c4348e280735b4200a3ec966c634245f0337b54e3d37ffb9213d3fd61037b97d6137294d6238e1c0103c186a5837aba3a53583e39037001f963cb3df7434f53bed344cb71638fdb1c13c0642bf3465c1ae366edf6638da5fe33c614edb36ff07833565948035086bc23c505cf734dd1b9535f2fc243780bc133dbfd57736a0f5dd3691530338b54cfd3ca6771b37516d9d35f8537a362fb9203df9702f36ac7743334106343648cb023d63470136394a6e37f1c7333e4d713f3f11f93d37f71af6358889033e41a8453fe46c3c34aae2ea34d827733dd10f473fdf5ab734c60ac736cdece23b5dea2f3f33e4a83688108035d616f237a2cf063f51ffc6347cf4003657a347386323c43e298afa3502a6e936b71bbd388fc2713e9f4cd0366865de35e588b03692a3d13d3a168734448f9334b4856d377d07e13c437e8534664e6a34e8b760347edbc83bb581983321106d36f8b21538a9a4a43a1b039b340884383183c382370f331039655053312a55ad339dd296338bdd8839950f26329fb0a335ea92f935478fec3bc9b00235ac32903313013c3389f8763c1820be3222d1ba33510bad33ff08013db13a6a335f419b34d7e5933469dc3c3d64d106344726c236cecee536713cf23c2718903600d06134081c623d8b0d643f5f6a27334c328736c61be6384e40703f99d27d34dca93c318fb9a738f0d46d3f41245531ee2a9f33a75e3a383816423fd2f8c2316199a3350db13e38e3c3123fba31f8341e306233b3460f383639cf3e50dd983259bab433c2c55938a9ac643eb7435133a4f695349e195d38f148643d7c51e933e7c7c4363f752d381f39e53cd2cd0e360000000000000000000000000000000053da24346c0e3a3450af95366aea5b34474dd833b95ff4330d2d3f37dd436937eb9f883487938d34768740353bd37735cf24ee359707f1357a51d6359172b2357a000f3558f71135d23137383d990e35f852d7358214e835cfd34c3801d4c034c2233235c3b5da34177de83b417a68340000000000000000000000000000000000000000000000000000803f00000000611c29341eab3f3492d17f3fb40961341f68de338cc7fe33575c573f8db2973682fe89347a9ad634fdc02e3f8a5684359558f135264aef35048c053fa450ab35f8361035aa111535f2ffb83ec5f90e350483e9356e982637799a483e3b73a034e4a91f35cfc49334bc1a463d6a886634000000000000000000000000000000000000000000000000000000000000000057ecf7347cba6d3524b3c03542739f355fdf2d359b4e0c35039d5235a6414c350e9ed932fda8fa329328083383da5133f0ae0a34e78f89348ccc9d340a0da934a13b04354790b3340c0ff3342836ea3470e285311ec35337a46f8731bc0eca31000000008ae7be35000000000000000000000000000000000000000000000000000000000000803f00000000000000001cdfdc34642b7a3f49f207374b24a73509622a35d4f7613ff13d613592af86350e74df32479c373f257b1033b05733333d9a0234a0ce023fb0831235fa8c1435a2ddcf3483dfa03e49b50e35960520354979b236a26f0a3e98c596378bf4db31000000008fa5c53cc9b1a8310000000000000000000000000000000000000000b7a547346b45e0349199c736d85dbd34000000000000000000000000000000006da1ca343acb8634bfa4e634a42e5735c0acda349c9a1f3589c38435dd246335f71fb2349a83f933249da9365a6bdd3493f54c34bbbb8134c3f4b13428c81435ca1ec035faebbe36eeac33365742fe3566f7583599e72d3782d79537b7fb3d3582e9cf350b25b735da78b835fc62af3591eb5034a4e8783f5a0d0f3d0b42be3400000000a388663fb7513a3d0000000010d6533435d1523f012eaa3c92bd363562f0ee34c310253f9b9b023c1da557352db50e34f6e0eb3e6067cf3b98a9b434747f1834e2508f3e6a90ac3b4d11b434ef60a535503cdc3d9bde633b1dc50b3633dd1f35bdb68739bbd2693c41032e35a2bfa83568e19a37f5b96338728aa3351b7d613278b80635cfaf8737b1706532db5c213402061534b6992e34df2d4634f8846634bb0561354aa2fd35dc51d5355408c735a3412036b51e3436184831362cf89a35e9b03e35c0645535aabb5a358c9ae7355af5e23519cc0c36f72ee035fd9448369f8804371f9d9836c35d4836556bba33558c8333cffb8d3369c89034000000000000000000000000000000008e642a328d165a3f90581e3e2b5850322ad50434a0324e3f58d9363e7f953634b1247d3212f9313f7039133e1215a735733eb6354c99033fcec2103ec42c3636131a893590f5af3ee520ff3d79091c35fc7594352e56243e19b9093ef507d1352e0d3a36f5dedc3bc497db3dbd024b3656eb8533081589382938033dd0067f3300000000000000004a669a3a000000000000000000000000bc04dd3700000000000000000000000037d9c33700000000e53fb835beae12365f0227362f7e3436d19bec34229c7333f9e19b3513e8a23562623a35a33f2c354c186635378d6b35bb7e49361b176c3672607f36febf8036e53a50354c6b1438897d27388f5bd735000000000000000000000000000000000bfd9e3581235a35cc4a5b35e19b803500000000bf70313f4099a33e000000000000000098bf243f0905b23e000000006b6fa535e11b083f9301ab3e569b293600000000c793bf3e9ad49a3e74fe1d349afefa34b808623ee79f8c3e73b16a3517fa3f366a77bb3d70fe5a3ecf9f7c36811ac033359fc53b501b053ed1a07b35000000001653e7365065f63c000000005cb6143591a52b3572e7b0399d37683571573535a1eee537794a0138806034358e8f0434910ccb37118bdf37000000004cb32f35361825372562b5369c6c6d352a9a2e35d7801f376b306d364de724357cc7a03479f2aa37e0d025378b987e3461e153355e526337ef927436397b9735bbfc1c354e16fc372ff7c3373a1f1f353b446a33f21b27388c5c32380be18f333be5a735a4fb823703ef97370c409535a5d03035ee5c013f229c013f477a1135cdc9ad32ca5ceb3e1664073f00000000a9650835e925ba3e55a1033ff7d92b35aedb3535030d6d3eede1f23e25df0535a5e64e3480af073e997ebe3ec8b21a34369935352807143dee9a8c3ed7605b354e1d2135f3e3493ba4d0073ecdd0fc3400000000c5d2d0389f96b23c9a37863277d98c3510a37538b37dd83a86e8743580ea4e3552a38736d070e135dec08d34000000000000000000000000000000006333b53561bb88367536b835df466d35f6dd86365c1b8336a53079369d276c3680e1a935ff863a3502641e353ded2e35d70dc235617ea435fc669535c03b4d35ed5441369715dd374a382a37eb27363600000000e1c20338b28621380000000000000000a2153c368bfc4c37000000005d2c0035137ba13ecc58323f0000000000000000ef69933ef2e2313f00000000f4e654359d7e403ee3f22f3f4df9b3335cd3843639b6d63d31a41a3f30bc3b3654a4a0356d465b3df9a3ee3ecd0adf34459e6e359125133d84269a3e8e59b634891950363707e73bf85b0f3ec6e80936000000003ca3033a90048e3c0000000000000000f1b95b3813f09b3a0000000000000000143b963708e02d3600000000e6d5c83489f9ed3799527c33cbc43a338a572b36d27f44379d6a1236514f333693dea935a71ca735c4bbdc35829f0c3691c390356d905a35c20c5d356ace4f35b9bb1e367c052936d3111736a838253623eb5d358c8ca73741670836f2760536bc3e3d34b8cc2634b0982634f4321a3447c836352259d0363e287c37ea446f340000000061e21f3ed46c5a3f0000000000164033781ef63d63be5b3f864f8233ebb22b36acf3533db49e583f69ef0e363b7a3a35b232f73c4d9e303f9f574c35d3423c35956cf73c827d033f0d7d6935fe2314366001063d142da63ec1b20b36d0860035ed242b3d1ad6073ea1a53535dded223464df053c1367923c3c5b25346c6d62344c35bf3ad4ea683a1e2b4a32ae3e89355729b5370c23bb3603347735a1f54b35caa29935d0d32335e08909350be3f035cc4ae8356657ea353ec80036e407b73441958c34059488340dd18334cb15fc3416597b3730c58234d07aa734ab3482354d345f35cbe84f35b57b8a35c929ad344d27143749f301355c39f1340000000032d709376a682c37000000000bcf4835dcf70f37e7789f36ccef393593b18535ff82003d04c87a3f0ddc48353c242b3523bdeb3ba95e7b3f5aecb03478cc1136baa14338ed87653f1d166935fd87c2344a419238a488393fa8434e349df9de3452fb413acd270a3f89ff4e34b6eb9c353783e43ba7fbb23e84cb2135cce00e35f671113cc62a203e325db334000000009f0cab3a87c06e3d0000000064572e351116003a2d14483ade67e7340000000000000000000000000000000000000000000000000000000000000000223a2f3250833732d1a00432a9ae8d3166f2c234eed4e2345372f934eff01b3529935e3471a88034f45e61348a403e3426485033502334335a2c37330bb7333312212a3534603c3592314835491e763599e0c13542c69535fb608435a0e3b2350000000000000000000000000000000000000000000000000000803f0000000000000000000000000ee87b3f00000000f61a46328a6f25327025603f650a37313e270735b401de34105d323f4d2b1835a174163544eed534a200ff3e024d2e340471723380bb443358c4973e74144233806e66353d436135d924003e04b664354527c135a1d96636fbacf13ced79853500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f98f35c847ed353cd8f63552cdd335000000004ba44e345e44ff33aca6003302cfef336e51c3347f45e1343ebd0335c4af85350989f1350889d035ccf9b335a2878d333a859c33d1c68d33fc5b843345d7ff32d70f0433edea173375b30a3300000000000000000000000000000000000000000000803f0000000000000000000000009cbc713f0000000000000000d3189e3544de5c3fa8b4f8359820dd357481f432801e2f3fb61bd9336d161c33db6415349f58fb3ee57f0635f111373559b19e3597d2993e8c1fcb350a42cf35fd2190331ab8e33d47a3d433dd0a6733655adf32d291be3a5b5e23331c401d33000000000000000000000000000000000000000000000000095b1f3b000000000000000000000000f7aa033a6ffd3a34262d0e3429d08a341038c6344de5b1340000000000000000000000000000000088a1dd34c8413f3583510b3a454b6035d44e49343c62b534cd5ca33464cd8c34446c6b307dfb733473a407356c772135000000004d233a3229b0c133143c273400000000000000000bad773800000000000000000129673fb04b653d0000000000000000683a4e3f3382923db219383495531c34ce2d333faded903dce05da3400000000079b033fb3175f3d00000000305d7e34cb87a93e4939da3c428e8f353539af34ea48193e3373323c24589534d7af7a30aa732435d2d1ae3ccca70035000000008e98c133ff60233dc15b1f34000000000000000069ee183d000000000000000000000000c182573d0000000000000000000000001a1bdb3c00000000000000000000000088d3bc3a0000000000000000000000001dd7f639000000001b6d9033c3242735ccc5383ac7e59233000000000000000074faaa300000000000000000039b0932df53d239bf80fe330000000000000000ed9cbc3506545e35000000000000000067e32f3a0000000000000000628c423f31e41e3e0000000000000000be842c3fe335493e0000000000000000b2e5053ff19b483e0000000000000000a141aa3e27533e3e00000000b02b9a3395922a3e9df6313ec9269d3300000000b7ab143af2c23c3e0000000000000000b9cd913414102c3edbf49d3300000000830145349434f53d58038f33000000002c20dd345cb6ae3d000000000000000000000000aeb6883d000000000000000000000000bc5a7f3c000000006374dc33d1a333356b8deb3aa3f6113500000000000000001bdaa439000000000000000000000000ed180f390000000000000000dd10b5342b7ce63486549034000000000000000000000000000000000000000000000000000000000000000000000000000000006042cb390000000000000000ed5f173f3b10993e0000000000000000bbcff13e6944b23e0000000057a24234302bad3e642ab43e06b21035000000001432373ebce2ae3e00000000000000004f758d3c289bb23e0000000000000000786e1e354c1da93e9353ba3400000000b9243d3168098e3e000000000000000000000000380e383e000000000000000000000000aea2c23d000000000000000000000000c1066f3d0000000000000000000000009eb3b93b8ef903339366d734e8280135c418713ad85ac0340000000000000000396ae639000000003e1c4c34986ce534f2f6923a9d569c34000000000000000079359839000000007c01ad3436bee63438dbe6392a9d093500000000000000007165883a00000000000000000000000093cb943a0000000000000000b311d03eb774ed3e0000000000000000dcbd9d3e6394003f00000000aa33cb34541d473ed0ac023f3a17a3340000000053d5493d9500033f00000000d43ce133ceb14d3a4111013fa4249f340000000086f6fe3374a7e53e000000002257983462ef2035fe859b3eac9abc3400000000ad9c1832d565493e000000000000000000000000ec5aaa3d000000000000000000000000c9fe0a3c0000000000000000000000006db1473b000000000000000000000000a30a8a3900000000a9619e3487510a35431fc93492387a3400000000000000005de576350000000000000000000000003e370a3800000000432326355be2453562441a3aa0f80f350000000000000000ff684f3a000000000000000000000000c77ec43a000000000000000021a6813eefa0273f00000000000000008a522b3e72f2283f0000000000000000258e783d8f902b3f000000009ec0c034d7151f38e0812d3f0000000000000000f2b317360e93243f00000000000000000000000020fbf83e00000000b0ff39356e687a356546a33efffb6f340000000000000000a800343e00000000000000000000000050754b3d000000000000000000ac11357f35873b00000000000000000ae4bd3558149d3a0000000000000000f54ec233ca6b6c390000000000000000000000000000000000000000bb1fa633471a4433b0d0613324b79033000000000000000000000000000000000000000000000000f855083a000000000000000000000000e9822b3b000000000000000000000000d1f0353b00000000000000009ebadf3d97a74e3f0000000000000000b799933dc5d6503f00000000000000002c7a5b3a289a563f000000000000000000000000f6f8513f00000000119287336fe39a3459022b3ff1fba03300000000000000003710fa3e000000000000000000000000c883933e000000000000000000000000f3eae03d0000000000000000000000004d15233d0000000000000000000000009ac3b43a00000000273e8b33f7620c34b0ae5139e1148b3311042b35c46f0335020cd43408ff1934373bda3467fc6134c4350834b37c44349504623561438135681760352e661e35000000000000000000000000000000008b4817355f98bb34c403a3379c055e34f1c3b533051e20344d63c339863cbc330000000000000000655fc9390000000000000000a49ea63c1bb4723f000000009cdde5331757b93950d6763f000000006bbb1e3539342735c3937b3f203f71304b63ee345cc5d0344d2c583fbd8d17341bf75635013495355df5253f6481f134000000003591ff3019aae03e000000001c461135fce5d9346107713e7226f733c2a3253499961534cb4a033e00000000000000000000000040dc313d000000000000000000000000000000000000000025b15033aebf3333d2535e32ed44b232972a0034ace371339479a833a2db90337e82d435cae4c535aa37cd351721d4358afeff343a73203515bed034529ec03401570434c66a1d33e454a13314450834edb2fd35e2ddfd359b2a09364e59e635000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000006dfb313383c5f6322b7e803fe1dbd3326e4c4133f1de4c336bdf643f89ed8a33787ce135d997c9350b8a343fa3c08935edd9ef348de40d359037043fc3948934df21b23200000000b330a43e61473d33aa7c0436175701369a8c113e8fa78e3500000000000000005217793d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007903e38000000000000000031b3ed30b8a4e8380f750332000000000000000019a4743800000000000000005a348538f01ca13800000000000000005c3c46386b4bd437000000006cb0ac3389b14938000000000000000000000000005993381df768380000000000000000000000000000000000000000000000000000803f0000000000000000000000007a866d3f5cc018340000000000000000fb4f553fd2acf837c96f1f32000000008c15263f0000000000000000000000000c18f43e89a0e935000000000000000033b2a03e000000000000000021492d341623f13d000000000000000000000000ddc6c23a000000000000000000000000000000000000000000000000a8005d33c22a2d37f97a413daf129e3297cd823040955e36fdf9783ded76223100000000000000000c28743d9d202233e92e5032f4aaa43295a3443d8a9e9a33a3221132548b40374f53c53c6615aa3200000000c4116c376d3d0b3cf6b598346edf25323ea38732c9ce4c3c2c4fc3320000000000000000f798ba3cb603a731000000000000000082ba7f3cb3745634a56dc7339bf5553f6ccf22393f5f703385f19330836a3c3fa74ae838169c213100000000367a183f93d2f638000000003c276d326801d43e2a0f1c397e9541333f2a2232000b723e53f4033984cdad320000000026fa1e3dca81ed386eed443403243d32809e8538183d193985b5c53200000000a36c1838839c213d5fd93a320000000000000000515eaf3d74ab4c348ac0b9349f7312375864ef3d69438f34873e2433210495373d90033e1a8fea33000000007a3b453433caeb3d6f089e3424d567349acfc337d6d3ee3dd02d483441e6b03492857138afe3003efbc5203500000000d6910734b463c43db857a2340000000000000000eb376d3d34b81a320000000000000000c7b6273d4acf843724515f342cfb0d35df00a43c3a01a83692b1dc3465ad273f11f55e3d1870b834e44d6a331cb4fe3ec989283d87ec1f34963cc532d2b3b33edb13453d98249834ff5a9b340668343eeed2223d198b7534a2bd0d35d5797c3c7ccd533de45a2a3500000000d22fe23858c0c43d6f87ae3400000000b7f6743735b8273ee458843300000000eebdd13764de483ef226d333101aa2348b531e3582942b3ea000803548553f35c20ca735bf69563e8f35053500000000f0cbb236c724683e00000000000000009e08bd351b5f483e00000000531f10334f75ad36fe8e403e0000000000000000000000004bfe113e000000000000000000000000c349c43d00000000f4f70034dc638a341d6f843df8c68a335626b7323525d233c0cb173d73d0ce35b9ca8033680b2e34d933d23c35f4d3357e45373541c7d33eabbad93d338bf334000000004e8d853e2dd9b83d00000000000000002683173ea851033e000000001d8e2733ec7e033cce7f1c3e0000000000000000b7d6ce38daf6493e00000000000000009f070c38d4eb8b3e00000000a466d533f6727e34675ca63eb3bfe4320a7fbd3204c0b2355709a83e22b4fd3359fa9333101de634db56653e1d539a34b91e34350792b837b3b5633eca04f033000000000cf694373b916d3e000000000000000085b3e1354d20403e00000000c3379634de63283548411c3ef6ac583400000000000000005d72ef3d00000000ff3d6e3384ce893453d3993de4ac1b3500000000000000002acb773d000000000000000000000000ab37433d518b6436a6a20a32ae3d3333c75c223d92ef2737487a34350398813e9e2b7e3e3b56ab330000000007cff43d21107c3e0000000000000000c9c72b3d53119a3e0000000014eecb342f16c138f34fa53eb580053400000000676b5938543cc63e0000000021d6c83314245138ee65ea3eded7fb34000000002fe8fd36f289d53e000000000000000012a32a37bd08ba3e000000003ca7b93283c53a388b3f7b3ed20c2c35bfbd9234914674376ecc493ea3b021340532f23370f1a237555e3b3eaaabbd3300000000d77fe6338b5dfc3d19ac3034000000000000000002349e3d000000000000000000000000d19f3d3d00000000000000000000000091d4423dcd82513300000000000000007c4e563d000000000000000000000000b731953d0000000076b5a834267b0835143f7b3d63d1723506d5ae341aba083e54b3db3eb754df33ae1b0d342937993c964be13e892777330000000003f497388485fd3edea91934000000008c102c38608b0f3f000000000000000060b6983802081f3f0000000000000000a7e0b637b1131c3f982d663300000000d1ed8337c175f73e0000000000000000b4698d379d0bb73e00000000db82cc3449ee1635697f5e3e64064035949b8e35d9487837f9f3ac3d6ea00735a6de1b34e5a80438723c993d0000000018af88341d60013364300c3d000000007695b734c022f6343ed39e3c2f2cd433e23f4935db032f35957c273dabb28437560ab1348749b433f696583db18e7e36e22c9e34324bdb34c3a88f3dde081f34207f3734fe0816341d88b03d043da836cba40035613c50346099a03debe7b435552c8035d6cc8f3dae272a3fc723e034fa290b34eda2bb3b3a57303f00000000c1e42d344bb9c53877f93f3f000000006a41a834fa7adb384e3c4b3faa7c0c3307a030358dc0a838f56b453f4387413513d98e34259f5f38d8c01e3fe834ba3403c58934cbc4a43597fad73e3ce0e033ba03fe33773588384990813e3f363f338acce8348af12a38525cd03d3642f634bb12443421f7e13320895f3d0000000013bbd632c0d0c831f586153d000000007755d5322e5694335b34b139405689326917c7320ec36d34499f1c3900000000813ebc3287a3a332a5eb283900db6632a8020533f2300a34f7e4bf3cf275a7320000000043873831286f743d000000009dcd2e315dd51a3124868a3ddd70db300c73bf33563af83294f11d3d6a318a35ccb08d343c29bb38f0e5593f000000005b809c32deabcd388ba8673f00000000f3363d33cd09d03781af7d3fa53765329fded033c5e49f3525a2743f000000008912b332d9e89932cc533e3fa3f04132cdf4b233a93b8136eaf2043f09018e3200000000f7fd0733bd25953e00000000060e27317c7b173412f70f3e4ad6b1300ab9d6332c101c38d507ac3da22f3634000000000000000000000000000000000000000000000000982883383eea29380000000000000000000000009adfb8370000000000000000ad3ded375dce1f380000000000000000276c9938e50925380000000000000000814a813800000000c4774932af2c093225df3239890156300000000000000000e5ee6b38000000000000000000000000000000000000000000000000000000000000803f0000000000000000000000003b67803f0000000000000000000000000ab8623f6b8a29340000000000000000ccf2303f1e08b0360000000000000000a011073f000000000000000000000000270bb63e0000000092d137323a32f331cda02e3ee7ec52300000000000000000dfa59c3d00000000000000000000000000000000000000000000000000000000000000000000000019c3ea350b453136c61771370e169d373e7c3a37e0eb35374eafcf3799da11388264b6372539ab3797490c38b16a223877cbe83718b4d73724db1038c3a43d38974baa37af7797370b78d837b8cf0d380802eb37ba6af53734090c38ebe713380d6a073725f0703770e678377df2783700000000000000000000000000000000000000000000803f0000000000000000ce7ba035b5f27f3f257dc0376e79833700f9e036a77c553f9cdf7238c5a2dd3794d9a13707072b3f12f543380dac0e3846ecca3739f6fe3eb47d8f396e481738505b92377c29a83e788832383085e937ea60be37bcda243eb59e2b3807560c38baa2ad361fc318387328aa37b0a14e37000000000000000000000000000000008a942736f1afd8375485513888982038b4e35b3691f86736d4aea8370f7ab637fad1d4366fbbd536a3ad2637ec0bb837dfd28e360fe4b1363ecff5372f1e143872afe536b1ede336c6b71437476f4f3778ab52372ec758374f46a63766d904388df3fe36dd70313793d0bf371ea7f4376085eb365d0cf53643684437f5cb5337ecf5dd36cec51a37dc5795374630aa3705c9bc35f0627e3f8641c43bd2c6a137f594443658b7783fa968e73cc4833c377d11cb36a3404f3f0da7dc3c8e84053783f388368dde263f63c09e3caaa1da37c610da3655a6f93e458e753cda2e183718b73237e91ba43e26ec413a7cec86370cf79b367d6f1f3eef5b033aa5d7a1371e2ee936873cba37a91d9437c851213755569f36d97e86372522c9370c738937f5732836975f8a371216173833ae8b37161dbb3636cbf6364cd2873709c3793746189c35de80e7362e42be378f4bc63791490f37bebb37375e33a237d036be374f26c8360da42a374af0dd378ca0f337c6860a37d3182a37ab6dba376f52c137283e0c3763113e37883ba237a0f4943738eedf36d1fc4d37cf278537f8127a3777e36337258cba37f1a524385f231c3813851b36cec0533fb9b3303e5a2b3d36e3aaad3695f8503fd9013c3e7898c7364f77753540582a3f476e363e7464393744ac6f3650e90e3f7644073e49427c37f8d3113597bad03ee40dbd3d86aa7b37a48cd8358140893e5911313ddff9593770f68336d275103e64af8639b54e5237694af8352a2ce137e7f2e937eee53e379e3d8e3679da21389de5563850d0c537faa096338c13d937877b4e38b14a6137f6a7e9357621043681557037887b0636113bc336ef697337239fe4377d1ac8374234f33673566237ba82fd37250deb3787727436fe81193732efcb379c78b9374cdc02361a95b43655838137e7886b3723ca7936878e82368a3367371f30a0364aecb5368dbe0837fd897e377b3125372ff99f37a2f5dd370ae20538af0cfc3762c69033a2b4293f1f6bac3ef577c3339ad4bc35ec03283fcbdbaf3e81c3e2357f308e360021103fd8179b3e8aaebd36fc061436cad5e43e8690753e32720a37361f6436470ca83e5e32303ec3f275364cd8f33506df563e827fd43d9c7f01362ef82f364ffbc83d7268143d832b6f3666524836bec6de37c7f21538f16cb136032d1a371df407389a642438de59b637cf972e370e4b27384de35e38eb31bb373a604337932d8937c464c637820a8237cf2674371ac7b437b95c0538b4f9b83736ff0637159e7f37c854c4377f29a63726f67d37efe9a437756a083866d6f237edfe593716d4a537fea2d8370aaeb1372974aa373382ef37a87b163888c9ee379c348437dee1ae374c86cc37f270a4376c32ca37671105388f6c19380060043800ba2b361082fe3e07a6003f27b72c36d56ac136fde6fc3e4282013f1731e03627961337b760d73ee610de3e6d561e372c2fa83668acab3ee9b7b33ee6acb83606bfb23699df793ead03833e56efb3367079bf367f4d183e7ab7283ee700d03656bd42378203873d7ceba23d73cd68379ff444370881fb3772f30c3882df5b37ac5f60378b00293823754438dc19a2372c058437cc780c38762b32384ada96377e4f9836ef2a0b37674160372aaea7368bfe793618e17e36dc428736ca437e3600fb6936ca95ed3609db1c372230bf36a5fd8e378750923783f6ae3750f67437b2b7bb37984dcb373599d23704d0ab374381c2379ffae237633ee937a539ab371eed0236118cc736156f4637cfec0336077481378a6aaf373ac0e3378b4f92379cd45936cb87a93ea1272b3f68adc7355fa8de3530a0a93ed1262b3fb9e6d435f9331e360329933e9502143f25410b360099e5358406653edfe0ec3ef523e435982d6e3609ca213e36d6ae3e06476a361ca4353700fab33df1b0663e8f0c7f36fe243237301dac3cdc27e73d9bcebf362f25fc354c11ce37957d0b389c27fe352be05136c3cdf7379ad737388d9f78367306ad3710063a38ce87753803f74537dfcb333700745b37ed5154375f68d036802c6437d65b4b37e11833379c982537b0738b3763637a3704a84637d782383717a3ca37104db0372d719f3706f78237d361ad376373a13724d38f37da0e81378147c437acbdbe37f74ab637936e7037169d7a37c95883375ca688370abf2b3784fa8437248f9f3787f3b537992e3c37914e3937a9af2a3e693a553fc8c3a93525705636112f2f3e6226543f2e9cbe3535990d372ba6273e69e0313f085e1e36bb9a2037a586ee3da878123f0e08cf350fd04537e17da23dfe3bd73e5bc9253528c38737799edd3c3da2903efc75dd36134a7f374ed7f53903891f3e40d5a835248c3837661fa1373b1413384999c43654bdff362effce3752c80238b5ed3436ed4970372644ab371a25aa379acedb369e7f35370204f636e183ee361520ed361ea4b4371b977b379899f6366eb715371219da37c3c36f37f1fe5437b340683757853137920f0f374d6be9363078f636c8ac093805afe337a3c49f37e26d9a3722638b377ab40b3757a4033756b3fd36add8a8373d0d9e370d699d37524709379fb71b3848481738931106389c85a4377d3520375236523880f17f3f503f2436a16af4365627833c53dd7b3f74afdc360cf358370375903c3578533f7ceb733665967537f4f6393cf9cf2a3fc76a2e3768381537241005382798fe3ed429e336057dd33759ac3e3a6ae2a73e78999436db0106377b4c2538184c273ef718d9361e85713711e3db370aaa1f3801806c36a284d6372bcd273882533838a0a5a33600000000000000000000000000000000621f6837fa6ec73639ccb5368ba9ee3606fd1738d6bce0379205aa372637fd371d211038f64eb9373fb97f370cacd737d1ef3a386e5efe3749e5e437fec90f3846e920380bfc013847f0f737321b1438b7120238e28cd5376ebecb37e886d937d2aba337198a88370bc6a5374a5384370000000000000000000000000000000000000000000000000000803f00000000b0f800370490b5378cf27f3f17e37136ced90538dc712838a6b2563f7c26a737ce5fe037b17925380bd92b3f3e139e37a21f1038f096ec387457003ffff1f63720f61238fc512d38ddb6a93ed105ed374150e537dd0e1338dfc0293ebe2f9537d1a698376f12983788e50f3897b20937000000000000000000000000000000000000000000000000000000000000000024b590367028f437ab375438a132cf3778d53e3652d70138d7a02338019906387e7c6537f61a0438fe3c823859a90b38d7802e37d8760a3892ccda38beae113880cf9c37049b0c3842e3b638f9701c380c25703732edf537d48b0b381d01ef37f7bab73659cbe2374949fc37ca899d3700000000000000000000000000000000000000000000803f000000000000000017cfa1363c086f3f50b1b639d782aa373ca2a2368976493fa7e590381b0bd83739149437138f243f7905cf39d097f33745565c37a7b8fe3eb514c439097aed37c59f96376e74b43eaaeab3393268053853f06f37f19b553e90a71e38dd07d037b3aea0366fe3763db5220e38b0e85a3700000000000000000000000000000000190c373517c6ec37c8681938f2789537d6782a36f9209237077553391d9b6f37e57132363b1ab73719415538fc9eda37aae3cf3662d2bc379c4d57380f211738b8882937ad9cda376aea083a2ea653391fa6aa359fbb733775b41938235ac5370055df361a6147373960d337df636f37f2ecc836a868d437d2382b38865fd637e88cc735e800da376eec2838a52cf137179d3235e1936b3fb1bda23d8d48163784c32236026f5b3f7544993d70d6073714bd31369b64393f7509933daa206a376b37c736fb0f193f8d30763d296ab637df0e2237f29feb3e8859243d9cefd237d204813578a7a73e4fd4943c0f8e903762abdd3639be473ef9a384387956353746fdc936d5a6693d945c9d39fb889037b2d3a835dfba24380a7c4838b6cac13703703637ed1a443939e94c3a2c0fcb37471e9c35ce36c437b333083afc44a635d296f03629acde37b2e99f386b0ee837651766361e45d2374df9b139e3a2cd37d08d0e368664953871767d3ae1c85f3992550a36d34b1538b738ad3922bc193889ae8c362c3fca376cdd47381954c037365f9835a5b2813733b91b39404d4d374d05d23624b3eb377b0f413a4497d0370f342d37a476483fe80d5c3e4c868c3795309b35cff3393fdada583e0dcfa4357e04a436270c1d3f3224413e173ebb37d2286536f0c8013fe175193e1e5bad369b93c3342224c63e722ae63d8c1cdf37140e0936e2c68b3ef873943d44937d3783083b367075253e5c97193d400a42373baca135d514393dbf0b203a88089a36a986ca3652a0dd39b89c7c3adca57b37959c49360d5a9539b230713af929bb36e1ad9a353543ed37c2b6673a2b8e253771f79236590e33377eb13138fc650d3737a4053652ccb93748c9133a993c8437cac18c36def6b437bf78ed39b9323937d9cd0c37ddb08c37c80a9b3928cb7b3712fdc036d257c33724811b38a4df6a3757725f36adcb1637eac8af396ea5e93698cc8c377ce30c38177196396ebcf73761753f36cfae233f5d66b73e24586b366b0e9735dc09193f8a41b23ef35a9a355f228d36a7ef013f151b993ef0e7af361a8af2352e49d23e3a98783e6bb58936a72b5c361297a13eb8a53c3ee75bfa3625c8033772825e3e9194023e723a493723bfb9365773ff3d2b54913d12d6c736bb7826363490ef3cdee17b3c04edb036e9d58237a14d2c38f010f539f72db137c1ad49352b234338a88e3e3a1614673749c8b236d08844382b4f183a14fc1d3772d0163612b2323878ae9b3814217237e0e8e63688c7e83766e91b38979aaa37cdb361377e546038783fca38c9cc1d3811b9403770b5e63766a710389ed1a33790603a3683372e38180d7a38e700853758630137b2dc1538f663823859481d37d8cae53618aa0338ef39b038a8e1b237db95453545fdfd3e3eaa003f0ac74c35c85ca9369ffdee3ea5c8f53e66d0c536d0b80936b2d5c73e0e08d13e486e2636e8a3b036b7d7a23e4bf5ab3e0f111f37e0580537178d783e289f833eaeb391373817ec367e98263ec49e3b3e5225363785a52a36095ebb3da4cfe03dc4b53536943de636cc226f3c5eec1a3d0a2dff3622189435ae4336389015853959f844373f419137f0fefb380a41113c2634a1370ca63f364c7834373a5a883a6a49bc36b3a5bd36b443ea371b542e381cead03678d6343794019537a4e9e539e6726137358ef236ff5edb3779cad9393e191b37ad32a236ecc2dd37786fc03934640737b593bf368d8b8837e9bf07384be5bc36a55746367618e437bb98a939c1a69936fc0da336f13f8b37838cd9391df7bf3617b0863776fdb23e44fb233f60ab683774570036e934ac3e611a1e3f21a80136bfb0b43671ef8f3e59e1053f4554b73679f5133716a2663ec3b8db3e38280a37db4eb53611f72a3e6422aa3ef0cea3366ef877367902dc3d10b7733ee6971936429fb836f8214d3dfb89123e6aaba8366404a135c7b6a43929df563df5daa43526729036544a9638b12c203ae6839036de72f036d700333a5a3bfb3b189be3361e18cb352fa80038dad74c3a916da8353baa2d3795061038edf962384ee21637d43e5e370a25583827a1a839f1d428375a03db3749b2033a41095f3abd60c037628d1d372d8c1c381d6b91382b596e3621b3d437cb811938d9006038a0cea037b6f8a3353922cb37fa0e2438c055a1352918ba3749e52f386f2ab539e1f794379090ea36367d523ebdaa483f0829c3360a1cc635d3fd523ea3453f3fb34c963560720e37d43a323e6a6a203f357e5f36e7fcfa3678dd063eb2a1053ff2180a36211aaf37fd57c63d0053cd3ed0892137b9c0aa3679c6583d3e57943e1ea069367e11c437e54c953cd5b2373e74ae5f37de3da335534e2738fa857a3d93c89e3587519f37f4506938ad310e3a21bf8137580672375be21d38d1817039d6850637a886123704c91138dc3c003a729cce3640ce3437635e8537744908389907ee36223f8f371d2ad037b46f0e388794b3365b75013807063739c9388e3966088437d8dfe537c4bc1d38f1452e38f89533379391a837f4a70638eb231c38f2bd7d36c83b3a37fbf2af37ee2b1338129aad36c7308b37bd6ad037ac6f0038d5fedc365fe54037c2a2873d0beb6e3fb9989435c337fe367ee18e3d944e5f3f4ce8c536cd6afc36470e7f3d4f113e3fe2f0db367d894e375cf6353d8a1c1c3fbb890836d085ac37eb53e13c811af13e523d4037cd64a23758e31439baedae3e5d63f936f2a75937e4574638979c503ee6fc5a36dbb51937184efb3740848a3d6e476b367c6a48372d0edf37922012385eb03a3500000000000000000000000000000000eb891d37742fa8378f2c2c3876678b3778f2cc37167ae6370f4714383076d837c2880b38faee0d386cb67f38f3be0038981f0038ba0a08382fcb2438d35df63766290238286e0438f5f71138c59ee5378442f3376d4ff5370b0918380a78be3745b2c0374ff8d43708c40438881a9a370000000000000000000000000000000000000000000000000000803f0000000029e8c736fc3c1a387a7d703ff9c12537d1a1af372be41d387e844a3f678cbc375617f537de857239fe88253fce87d3379b35d53702912139e367003fd99acd376230e737030624384969b63ec457cc379f8ece37c85b14384eab593ea08d8237199fb8379445f0378586863d6194673700000000000000000000000000000000000000000000000000000000000000004cbf1e380ace633a175f443ad5e994391ec32638dfecaa391377a839963f44396d0d0e39797cef398b03ec39976ba53927d2913892f7b3397035a839da253e39f458a2382cca483a6793493ae6cee439d4626639a9bc033ad640fe395a8fa339fb775c383813e03945ebce390b7e3c3900000000000000000000000000000000000000000000803f0000000000000000d456e3381692603f23a94f3a1c4a6939d75050382181403f730acb39e6840e395ac355394adc1f3fe46cfb3982978839924d0439c719ff3e48fdb139ded21539a5d64d392408bd3e505b513a92b5b839c3f67e39d3f2783ea150fd3913de8939848777381608f03dd2ddc639cc280839000000000000000000000000000000002eb6363756aae839ad8cdc39d73f2f39144ad13745a6e3398ba1fa3903551f39a70bab37c8b00b3a4702663aa68aa2382e2b2238cb133e3abca86a3ae2da0a3a58073238fb42273a382e373aae62e03993036e37d8585c3924f8d7390e4c9d3701ee3139ecab463ab682843a74fb033adea1b9377089a8392e69043a1c540939c68f50371218f5391b2b393ad89c2f3852ab5a380a74613fb78eed3d20450739f52a0338257f473f31fad63d59d73a384359dd37baf8283f7a4dae3d2ca32538a6701e39088e0d3f3ba2943ddb55e0392f650539873ee13eeafe6d3d35e1b639e6d27937ad0aa93e1af72a3d2e3596377a4e5f39035b5f3e9325c13c14aad939c2a3d237c994e23daa280a3a498d4538c8106737644f4a3ab5cf343ad6c0c137658d3e38e6df1f3ace50363ade029d3998861138ff5e373a456c9e3c01d3c3397b77b037d475293a6b3c953c8b57be396d125637ef2e003a0653983cd07b8739be24063980a2453a8b7f633a9cc60b3a2d78b337bdda043a7a2c2c3a63326439f8644e37ddb7ab398375f439c425bf38f6f1983943ff8c3af8609f3a37c1493a3f1ebf38a502283a85da453ab4c2e73905235538437f403fd9de783e5902473925bf15386578283fd2c8573e60d16d39991db8376b440f3f388a343e52507939fc0486378c8fed3e840a143ea3d404396cc74639d27ec03ec74df83db334e139be68c0371a95883e2bc6c13db29cac38edcf5937c549393e7d845d3da285923732f2af395300b63d47a1ce3c9958293a5944f5388c3a403a0714463ac689b8397cddca3790b7bc390494293a204f1638c6b82938f758013af0919e3cb68a0339f538c3362761cb3a898c143b77c3fa39095cdd374bf9483a1c91bd3abd665e394db9dd38d557523aa42e823af7d1073a78a5e037fb5c113a0b84713aa7df8f39d98dc7376921d6395b938c3ac28b3839af1b9d3814275a3a4122853a54a6043a05af3438bb80093a9f8f313a7a0a9439d1f3df379609203f6f4fbe3e6466ff37fa5a2f388de50b3f2c00a63e349136380f29da36aaf5f03eb0678f3e52f31139bcecf337656cc83e5b2c6f3e274e7e38a977133937689f3e663c3e3e7701c6393913e3374d596d3e7add0d3ecc97e6386273d8377f83173eabe0b03da4450f38c476f038c65d943d4687323d0eb1c139874135388652223a61dd343a9ce8433951c44a38d420db39bdc90b3afefd6d38df8681371296393a6348963c3b625438f2af08382b29123a35a1893a33c33038d8443f38551d2b3a71f5683a36d4b739e5644e386252a73902622c3abf97ea38d94b3f3857232b3afb4d603a5d4eab39ecff103843f1153a1c70743a82883638700e90377bd5f939b049913c23e8eb38d02c55381a6890393f77003adf61f338c43b5238c3eafe3ea979ff3e1e16613831bf9c3789ebd93e6122e53e3219cb37826012380604c13ea198c03e97be213820df4738545e9f3ef0bda03e2b1e4039301e5b38768a7c3e4c1b813e43ae7738c37f4b3833283b3e1a25403ecb5b2e39946d15383474f23d4404003eeb422338f172a1372ace283d0c0e453dfa78de370fa8593885dbbe39fe3e073a9ba66338136f2c386bc8103a1d494e3abca46239c2aacb38ad98613a7e3d993a894ae5393de6c837d755fe397235a43c855120380ce7e337b117153a7fcca03a00c455390d305f39046c513a1441853adabbf439ae6e0938d7253b3a98f1bc3a993f0a391ac586383d97bf3a0bb70f3ba92f53394d4730387508ea3989f42c3a8a794f3874dddf374ea490393b571c3ad0e91f38388e3538720dbd3e234a203f69fa483823f724394caba63ef5760d3f31cf7639251be037a5f18b3eb59cf03e7fa505385242e637e22d6c3e9841ca3e02ef1038661983391b863a3edc22a13e9b90a339410e0e389ba9093edc5b713ea30d143848848938a562ae3df2691f3e96ea6337112b313850d10d3d9a1e963d5fbb3c384dc7ea3721d4b139fc09243a86930c386aa3453979ae2b3a90e6673ac982b539c221dc3952058a3ac980ca3a7282303a40307537471fa339a5a7a43c60d2dc37477fb5373ba0ef398982403add393f39eb7ba73925883c3a137f713abc39f239e70d1b386b18ef3983a99c3c5273f638e8293b392513143ad9b9953c1fea7e39ee6d2939c62b273afab0a13c1279813938890839fa2c073ad3c83a3a14a6803999c367398fbc763e03b0403fc44a4e39c094f339733e593e57322a3ffe4af63951237d374b48363e28bf103f2d7f80376f53bc37671c1e3edd6bf63e4f2be93742a5b039db35f13dcf13c23eabedaf3988b2233895bd9c3d55148d3eff46ab37210d41398fc2373de470383e5fa4da385a443439852e3f3aebb9b53dc871a9384ccf1b3915c8133a08823e3ae161ed38b1778f37f868bd39373ba53a7ee6bc37c24a0c388607a1394b7e7b3a48be2638aa1b9e399289303a4192e33a1021013a3fac8f3775c4b93871e5723a75e0943762519639826d113af9ba4d3a9f1bc439c088c03961572a3a702d863a8bc7dc397f9417386520a939c912973c1e00273897762f385424a63997fa093ad4413838d1a7ec381e728d39c031fd394fdb2939916995379055e83d00d3613f13169837befd113866ced63d4d0e483f207f0d38f868a5397cb0ad3d5ba42a3fcd20c539104e9037b4f3903dde330e3fd24789373e988e39e962623df238e23e8a189239367dc039091b173de4d0a93e7498a939e35f18384120923ca4a55d3ed0740e38edc63038989ec0396de8e73d6bd51c3867e4f738ea259f3909ab043aa426eb3800000000000000000000000000000000b6c24a38e0b090392139173afe748d39a49561394d5bc6395539313a4b57d0399a1c64391a0c0e3aeb45793a8790083a063aea3802a96039bad1c6392c0a7339b6c17539a5edb339c9b9023ad9fda839cfa4f63898a96439cdebda39db8a2b39791359397fe4ba39c58f743a20858c390000000000000000000000000000000000000000000000000000803f0000000033d766385497cd397d1c613f5add4e394cbe5f3921acf639ba6d403fb40abb39c0be7a395392433aaeac1f3f8e74e839aa91de38a9999439ba56ff3e8ec550394edb70394874d239c3edbd3efe309039f1dcef38984e8339e4127b3ee346e138a2ee5b3941f8db39b6daef3d9c2746390000000000000000000000000000000000000000000000000000000000000000050c4736183e5e3634fb9e3626dac2375a366236d4f5633679fb8236d99aa43622e24d36e5b14a36222a6536bc9370369a929836bf4a9a36747dac365414b336848d8c378e099837d8cac1372ecfb937dff0ab36142e6537c8c17f37c6e2f036d40c0436e0290e3689d30e36ddd2063600000000000000000000000000000000000000000000803f000000000000000051ad3836fce07f3f474fbd38593eb0362fec623678bc623f2919d0377cc78b363c4b49369ee7303f8a6e6237065f6f361b1d9b365c31ff3eb0380f382a49b036fd738237c1379b3e0ee92e38a827b03770d5a9365bbddd3d345c25389fc5a73623400236c8fc0739e199fb36c7c304360000000000000000000000000000000018abfd343db9f83482a21f38226ed4376d103a35540a4635917b0b36818c8c36cc4db336e2b3c336bcf3a937d2ab11389fd68a36baa49736ec73b4375f0b093834744f36f3796e36c9812c370098cb37c85bf736ff4903371925ec37ba12ee37bb8db836735bd5362b33813755f1373747b4e6354236093631de8637d55b3b37caf13536283da036ef95a3371222aa3743cdfb34ac657f3f3529173b12ec783757173835ebef793fb071c03cb1510436ed16a336456a5f3fbc12283c23f8e43722837936b92e2e3f29a4db3af5c1ef3790c43f3602e2f83ee63aaf3a28dc6d3771afea36478b953e5430753ae01ae637ea05af36df7bc03db5dca63a181817378309de35e5ed58385d7a9138e0b730375e550f36596c5d3743c837387c4fa23720ff93357a7bb73518f3503853a8553779ea6c33a55f763329fb8637359e1436b5e13c3669eb6d36fca249371981433721480a36132c1d36f2017c36994c8036dd55283689ba683622dcc0369f3cb8366239383631975f36f5632437e6d5a236f1d49435c454b43500f3db3796a5fa36203d363651694c367667673713616e3672b88436b42ca43710003e38d59f2e386a407335842a5d3fc5480b3ef6cdf235328f7333454d593f3fc01a3e6a853b34abfd233698263b3f19221f3e2facde367112fd35225b133ff731023e21d15f36a9c7c935c931d13e5470b33da7bc9a363959263629767c3e6884533d33118336d3a691351399ac3d47198f3c362ddb3571872a369717af376039b838905f5d369230743612010e3829b883387f411238ed2a593650c7c737dbb71e385d829837d314b4359499e035896a493705ecf23539909c358b61bf35f7835a3616a7e0357b88713644e95237574e2438d471f937d9144535f5774b3559fe9e3571e26935783996367038a236f1f7ea364d10a6368c1b4c364e9579375ea9d4379fd252371ab7a4344d179f363b7781378bf69336e1f96c36a8ed7c36fb4d7c3766de7f36cbab4536693f2e3f4779a33ef068ae36bcbc8c3524232b3f24b4a93e41f0e0358e5e56350a1d173f4b13a03e1c14cf35a373463605a5e83ee3ba7c3ef6da56376a8a423531b3a23eed6f313e50614135fc928f3671673c3ee9f3de3d2cc69a3625113b3668b5483dbb8c1a3d09c35936bf679d34d5ac2c38ee42c23811e98634b6cf5d363ca5bc37ec207538674c7a36127c7b36053511381c8247385a332e376a94dc358f46623696a47537f5e3fd351f3b8236f61af1372d673a38f3d667371bff9536e8962a375915ad3799a228371ca81c360e892236d2bb8937fed61936025614371f66b73721a70238636b3c375428c037274b6d38d9e888389b42ff3743650e365ff80f370198b2374476f735d06a5e37c79fe737e79c153812d5a037db983536bc53fe3e9ccb003f4ea937361623c43515f8f93e3cfa023f98a0dc357ce67136d882dc3e883fee3e2c558236bd049336ab23aa3eea01bf3e2ec9913635a81536f23e703e5bde873e378814367e0f94363697043e0732293e35069636277c8c362c830e3d7dd08d3dfab0853636950536dd3baa38a2fff9385717f335bbe9aa36b6672f381f005238d924f336768c6b36d59f043861ee2638c2ea5c36d221a7341e2901374631e436aa99663413ae51363fc11437d0470537b6624536cb229536eefb9d3657f29c36575a8f367ea65435ca5e86353ec3a1358bba3435cbbefb37dd3b2538b3c32f38c2a38737908add3561b254374ccb9537f4a6b935f661063624efc63604716137e139dd352672a437deaddd370650ef377eda8637b5e86336237ba03e63be2f3f4cc34936ffd08334aabd9d3e7a1d313fe24d3d3491fc3436f53f8f3ecb2e223fd5660c36b2009536e6e4543ea59cff3ea2468a361f16463591ae1a3e8b4bb73e6dd939354f7b863784e2993d56fa643ea2116c36bfc7e7357974383c0982af3d0d6fa135b94a0036d6af9738420dde38a679cc35a4b14d37d9b20f3870cf163837588936b94000387fe55e38ea372d38c24777368c705b36699cbd364b353f36d5eb24366deee0353b6ce135a5f2af35830689353c42863605e68336fea95c36b3b23836bf97ad36a34cad36ffaa9c36211e64363f1e8236569f2e378301693668323336a3f54837037781376fe55c3773478a36bc42e4351e325137a1fb003757108433e54d01372cbaba378ef8a337ff46be3532b0bc379811053ecdae5e3f29e2593609d85536fce8033e570a5f3faed10836acf9cf35d89b053e5285443fce5b873549206c3629fbbc3dbf151c3ff3df1f3654999736a6816d3d855fe43e209903361f7c6936bf9eb83ce4b38c3eba8614360bc70e3766208a3a065be63dfa354f36d8799f349ace8c3839a68338552b72336d94fa3527794938fab227389a0daa3506aaab37cea30838bc8b50376e1726366f6923370c4522378e32f535cd38d43508e422378282d536c316b0360c5bab36d55a0538407d9e3711cafc368954fd36ac8d7d3795e5fe36f8fc8436d992783648edfe37064cce37b11e5c370074ac362d780338927e0e389498bf37c4ece7361bbd45364415be36222f003685628735c138b63745ecd93742ac5737adc8f234aade7437743b953a12b07f3f51dcc3350ca6c036584d843acfb07f3f2f3d9335eca7e036ab07dd391d84673f97d994365416e43752c03239c3ec343f2ef0e53666041b3789d5b8399b1b033ff7455436c760db3725452c3a6f60a23ee5ec943607afe23787242e3a864eee3df22fcd36549f0c365cff9738be89e338d9db493589f36c3748223538476aed3711f70135000000000000000000000000000000002090fa355c89f03519f5db355fecec351939a736e6689e36b1579836f22aa4365a50be3785007f3733c3ec364fa0863762a0af363709a6368aed9e36ac76a736a27b7936a90867368bbd5e367b885e3600268c36248b8a3690598c36f423833614f88337b5ceb93738712a38015fa7360000000000000000000000000000000000000000000000000000803f000000003eff033648ed093669fc7f3f9d41d835b9f0a736f02cd0374545643fc3cfa136130ab337fa8f1138a050323fc80b703711a3ae36f9c49e37f662003f83eea3367bc374363f234c37872c9e3e29de56364bbf8b369dc1ef37efcee93d4fcc7c36bbcf393721c5983876188b3950b57e360000000000000000000000000000000000000000000000000000000000000000b671dd351dfd6136a3558337f4fc4b37a3a65b35e4fd6d3691889337acb3a2379b41c335cc603537e0ee17387297093802a87b3628bc9b36969d8a37fc0f20376c9f0236be4e203798619137bf378636760a2c36d20d6537d9055b374e335c365bddc9358e14a53744c1a13772d8083600000000000000000000000000000000000000000000803f00000000000000004bace535f6c97f3f1deff23743ef1f3762f4533593fb593fd28608385c3c9337d576c835e27d2c3f26045438ba5a033886b48236d26efc3e771af437e46906375b7b08366e8b9f3e40cceb37d7304f36b7a1353669a4063e8b94a6375cda5f36757ed035317d853810a0ec3767590a36000000000000000000000000000000007e7c7335cd9fd73592dc1238df539536651c5236a4fbc436c8b0b037f0405637151bc335a319883617640338c948e436db193f3696b55d36d2a804385d36e33737e61637346743370e7808383666d0374520ce35d0334836459c0938351a1e377aa3d735798b92361175993735e3c63658e9a53616fef23631453838ebf6c53737e495357fd9c336c022f7378466cb3727d573358d1f753fdb9f2d3d2b3a4436582d4b36d5d16e3ffc19883d83272537314ac035087d4c3fb878613dd099e536dcf742360743203f0fba3b3d6a50bd37c5cc193769cde73e35000c3d38a9a5371eacd1355d2b8c3e5fa2d83cda04fd36d418eb352986bc3d32688b3c109eca366416ac362ee50c3805a91b3a86d59b3773a67535d3fc0d37d4708738f031ac373d20f936abb721371831ed38d5f42b3796da3b37316263373c6de43775377837ab70b535fd959136dc870138477fc2368d5a043711f124375e1e9038e1343b37dd0df93695781437b8991b38f6832337939e5c369545d136ca889c377fd0eb3691d3153799f53037d3e842384fbb3d376e2cef36f2a4173717f27037b9a92837519c9e36781ed336f631523862110937f3a9f43628e54f3fd948403e8ff92937b3c33737cf18493f97bf5a3e1f2b76374bf29e356c4a273f30484a3e4478b8365dbf03373d56033f236b2e3eaafc38370c11f7365ca3bb3eb42af63d121a223750c0583632b8553e363da13ded5ee236df3c163753e89a3db9c20f3d00983b37997df036228027371607663afc272737e8d4a0369ede2c3778d0a938c3a0f6364b44e13668e9333713242d398665023772c1c736bd4a02372279133805bb003748b80c3720192c371a858738ea432b377736f436fa1413371c14eb37d99b1237e54313378c5a2a3792f46738fbaa2537494e4d379f90123822b3a338f0ee8c37f8d8ca360b548437b9f881383426e336eee14a37991a66372e4f4638be04603748ec63373bf1753720a77f3857047337816fde363699273f9a9db03ef516fe36d490c2367420223fc662bb3e8380fa36158b0b374c65083fbb58ae3e06d028379da7f2362560d23eef5a8d3ef5a50f373e951237053d933e2f89513e4bab23372f114d37278e263e46140a3ea85f5937f3fdca3668a9203d4ab78a3d75c6dc3600fa4a37a3dd07384877c53941d55b3739c463378a890c382224063af1817037e1901936442f0038809fe438445c1e366659773756edad37301b8c38fed57f379301f1365b610e37d4853b3849760337318f03379f0d16371cc2c637e2470c37d5a24e374b7aec37c7b39838b0a05237f2f30a37a3c41c3715aceb374e6209378a390437818912377115553830c7ff3687877d372bd1893771c590386eb7803787d31e36e4c25736fce76c38594a3536177f0f363f9efd3e3230013f868906368c3f74379fb6f43e3474053f30ca78377ff1ec36d428cc3e3e27f23e7068fd36958c0137cc279c3e406ac63ef2840637d14d4e373321623e5cfe8e3e2b634f37236a0a37a31ef33d0762413ee9510537e21503372799003d7bbec63d9e6ef636e72c7e37bcf46a381331363af1547c37d99220367a94e5372ccb0d39cf202636e1897037ec7f4b3830549c389a83653719555937203a6f37f40e223877e64f375dfad836b1b1af37c2c34638a45bd53620755937e488413848558e38fa5d5237b7dc2537891432375605f737f25e1c371c511437b5ea1f376ec8c7374fa3063778f02e37149d14388c298838e2bf1b37c338043766860f37f7bb09385413e7363f7c033761b15737e40a1c388ddef936d6e76d3726f3ab3efee5293f6f5c5d373dcf56371f89a43e8aa92d3f8202453719b7d03672a68a3e1a491f3f40eec2366d225737c4ca4e3e742b003fc6354a3727eb24377baa0d3e3d3ebd3ea2631437a7c01037b203933d8c1b773efc32fe36195d2c378d34053c67fcf23db2671337715e033715360438f1eb6c3a3de1d63615f30137d83ee43785d668399a11ee361f76f536c80f4c3888e66438e4c6ac3674c425377c1232376b8a2f379be8f836b2cf39370b6792376a68c237f7361a37ca22dd36691afe36ab0bfa36c2758b367d4522379a8dc6379280c737069e0437ee1e3b37d5f2013860012d381fc5123735b0c43644455d379cc2d83720103a36e3457a377baf8137a1edb937af50503716972d3721033f37b4365c38633b0c37f2c5f3366f9d393e038e513f780797367ba624376873303efdae533f2573e036395d3937fff71e3e64f03b3f70cc1137a434d736e0b6de3d8e981a3fc2df53360e8f22376dfd943d6898e13eb9c1fb36bdd03a37e2f2003d9408923ecec20a379406bd361edbe63be55d113eb8f6f93522467a37a5670c3892ef6b3a01594637ecda2d37bfd78a385d25bb3894e603378db88037a76826389e2eab379c0d1b36c30a8e3782602c3800318b37bf78bd365d28d3366a33dc360093b236f17b2336fa4e1b3729164f377443ad366f6ce235ec37d43760ddf937b1268f37458f2f372631f337b3b80738569e773734175236aefef03617f2ee377a0f2d37aee83a360f9255375fec9a37112e9e37806aa636874ea436c7e09937ab947237b99cb335d0414c3743bf0d3d971e773fc5b934351aab3637cf96c73cde9d793f47da9c36bab5c83600185a3cbaaf603fb8f5d335298bf736c04f403ae2f8323f8dbccf3501b4a437d6a61e3aa833033fb77a21373400bc37a92d6139f9e2a73e8bc44b365736ec36b1d48d39da6b153e6216f5350f433937d3eeba387506293ae3f78b36e90f7e36eb42073822fad937ccc19f3500000000000000000000000000000000bd1c0c369b310a360c6564378c06e03542815d364eae5d36b0a6c1362d344b368d40b9360ca09b36c9cb15378bb20b36c90c3937545a083762312337bc778f3651930a38f8500038ce2b113868a73836980c9937b53b95377be2b4373b893c36b53f483716167d371f88d437438844360000000000000000000000000000000000000000000000000000803f0000000095b60f367b47a137d0f97f3f688dc135af6756362d204f37a4555e3f177a3736a4114236cd7eaa37df33303f583b0036645d043748dec837d1c8013fa9d58636313e00386a9f3a38ede4a63e492ce835cae58a3744f7f73776eb173e4710f835fb252537975dd037209d3b3a50f82336000000000000000000000000000000000000000000000000000000000000000099b2343603dbaf3656ab3938d9e8d8365530ba350b22fe36209c063851065f3773cd74352938083707301538c8043e3683244e36745b2e38870d8d38f862a636e887b136212322385982343870a138376c8e2b36c5d11e38b798a237e57f38360b318d359acd8d37e343aa35ae59993500000000000000000000000000000000000000000000803f0000000000000000d32e483679e9713f41cf6238dc85dd3624c0e13567c14b3fc8e04e38633d093747b194355d0b253f9e6a43382590433647965e369ca8003f65199a381184a836c6c3b636a5cdad3e82223a383949e336c3092d36acbc403efa03993729d23736244d8f3587a40b3d30ab96354cb89935000000000000000000000000000000005d0dce356ccf1b3796b0963aa748f637656ab935205f7a36916b183ccafe633731932f3316de973566652a3ae19bb83718f3be35537d2936076e043a841de4371f0f1635cd931f36d5c6f53bd1b027389d4b8f35f1a51f3610ec283c379f7037f811973561c62a360a32d03813dc7e36145e0c3562700a377d4a443a41c348373c2b11356724043749f9133a52d8063825d1d735f0b46b3f67b99b3d0199c537839ad135edff573fa6e2a03d57d2d53622132e330e8b363f03e5923dfa3f7d37e8f3ce350aa3123f7adc883d9905223721054e358784de3e8270393da39ecf3780aaa33514a3933eaec2013d6cd85c369950ac350c3d1a3ec52e993c6ba96f36da365035d0a49e3b3dbac33c3b549a369ff04235a956913748ff5e3c2eebab37fc9e7f35192be537afedc93af5851436350e6434db3c1936da5f713c68193c363a873f3617e32737c0bdc5394ad5223728e8893563efb536ec7d3b3c41d5e936346bcd35395cee365d70e43917e28b3649c52636b8db523605da003a71196f36bfc79133833ea8369998ce39b71a09363e1804368ceeaa366c4d6c39d452a636f9a99a35434f3737e6802a3a9728af372ca68235f54e463f3dcd613e5e030e36fe9d6d342298343f26235e3e08a43c362b0c53368158173fa732503e2060e13667c79d35afb2ee3edbe2273ea7567f36cfb7e8352d3bb83e4197043e2ac48b36bd432d36c056703edf2bb53dbce36b364d435e34d6a0023efc20553de89c053611291736abc311386920e13c0d6da236599ca935a88f1638d421393c84d917378ec116352038883861af4a3cb866a6355fabef363a0b293798c78e3cfee81d37511488367441e2369dfe4d3af542e1364cb51835d25598374a46173c5a87e735b46b25374b794b37d907a33ae7134537055c9835edc7b737547f023aaadc41360cfcb536fa8d5b370f023d3a5403dd36b56002378db22337433a433a44d31437bd432f35a06cc13732878f3a35d793351c1917350040213fcfe1b53e12da9b3504e8f536e238123f9d41b63e67531a37302e8e362c67f73e604aa23e269cdb363bef21357c0cc63e909e843e6370e53528d628376c85953ea7fc4c3e53db4237fc6bb335bf42433ec3aa133e01603436af3bbf365551c43d470fb13d1014d736ef9f0537f8a5933868270d3d14c0113760902d35fa148b3821ad9f3a304d973513dd503616312a38ee3a813a5b00b73616750c369788a638bec0563cc42d3d3600d86d35631122380b4acb3a46d19035c484ec35b3b3fe374807573af75e1036b5a89f35a89fb3381662373ae88ed1358bc90736883203384523193a2cf80336b9fc7e35a71c39382982413a2b138735c6412236a5fe9b38760ba83af8533336fd8d64368f2ec537ecf3873aff212437fb0e5b3676fffb3ed63a013f62626c365c66123637cbe23e3521fd3e80ee2c36fa4d6735b073bf3e2a0eda3e4fb28a3542d5ef353207993eca30b63ead7408362fc4a935b1276b3e61088a3ecd69bb358ff405363fd3153eb8684a3edffcff35598f8535d0c19e3d6dbaf63d436d7f35a5332b365f4004393497443d1a16253692057036ea0341383d078d3a30e7773607a494356d55b0381b24973afe0547359b6d0b3762482937d8abe33a41070d37981eca36528fab3709c3f83a6f40d336c1cd24366db34838b003393a8b49ff3548693f37d9155337c3e78f3a927b3437f467e5352d4f6738ba588d3ab0ea7a35a8e7d936c9a58f3750b30d3a5c0fad36de461a37839f2b37fb5fa23a705c0c378cd2a035bae681387bf5a13aca545435107a8f35a1c5b33ea92c253f8ce72f356bed0b373a41a43ea675243f91670537ebf7cc36a8ee873ee7bd0c3fde83c33625aa29363784593e8c34e73e95fbc23531cf3f3706ac203e819bb23e7fbe2d370d82e6350b47ca3d14137b3e3fbb5435dd65de36a3e23f3d46671b3e074f9d36c7311b37fba6ad384bf75e3de83f04370557a1357834c13882809e3ad8763e35913a3e36959a6f38797b5e3a98c0c835da2e9d36acad4a37403b823ad4044f360d0302362d74a6371189013a616a41356dae6736f03ba937c618043ab3fb3b3672798c3668fcc537787bc73970392e36afb4813626b549389d8fb339997505365585e23601f4a937c2fdc73918ba9436d73547362fe695375608dd3a60f6513550aa123645ae4338c84ecf3a7af6b03553c53836bd9b533e78cf473ffc39a93506c99d3655c7463ec6fe463fbb691d363028003639c42b3e6de0263f64e69634de4f653640f4053eae900b3f5d4d30360dcf8b3600dcc93d49a7d23e72b20e36e4d57f36e9525b3d6dee9b3ee322d135a6d1e236e44adb3cb05f363e24e98036be7543364576b63b4748643d3382e634fb5f11365ef99f3972afb73a3dcda23562919c37282edc39dddff93976ea9835ca435536ab72a4386bdf8e3ad695b53534997d363e7b4138c3a1a33896d5e73576bf5c367deb6b380ea79b385f57eb3563a6753742842939550b4c3a5d76c535fb581a3796fe8b382c82be389668053650e64d378e41893824429c3932a422346bb3ce361bbc8538c242863a7bdd2836dd28cc374dec6c3950ba4c3a4d190a3672a69c3749cd793d9e8a6c3ff8fa45356e975136ad83653df7ce693fe19e6535e9087436b11c5b3de4e9463fafb6be35abcf5b3612c8213d3f4e213f8852bb3525b864376fdde83c0168f73e072f9335cb091237092fad3c3d64ad3ebe4cf23579324a379507a03c845b473e9501313365a5b136490f483cc46c613dd0640d36ddb3c2370b87263a3d62e239aa52fd350000000000000000000000000000000091309c3558749735c11c5338e3778e3599093a360afc443686a96738435537369759cd36a904b437a32d353a8fd2de36de37ab36987ebe370da6b238331a80364aa7433651f7ff364ed84c383f10cf35e65fbb36bc79b63733f67b39c8ab2936d6eee1368276a83795a498391c1d87360000000000000000000000000000000000000000000000000000803f0000000035899a3568809635db45773f55508e3550563a3627ef613657c84f3f75e92e365c05cd368be917385cdd283f02c6bc36075da9363dd76038eb97fe3edb6d6e36ec4744360c9cf137e9c6b53e2eacb835b0daa83694cbea37e494503e203f113689a7e0368c6e0e380cdb5f3da1a070360000000000000000000000000000000000000000000000000000000000000000cb255c3529c47d3511118a35f28f943598469136b5629336112c103706382438f2ef7f369bd88b3636bf8f3674738c36e1f8b0356bceb7354e5f0536a9aee4351326a236c0f5a036c30aae36e202ad36a1890436a2e90e366cb91e361df51136bdaeda352da3d2356746e4359528f23500000000000000000000000000000000000000000000803f0000000000000000bbf37535230c803f516aa5357e529d354b878e363820643f04ee7c381b55e4371ade8536281e333f661b87364722853689b7d235a414003fa331f4357217e7359f4ba036e5f09a3eda4d93387ca5ab36f53a00366b41dc3d74e10f361d9b05365316de35db554c396d9fed3527d6f535000000000000000000000000000000006f561c35a5ce3337812002380710dd357f723435c48c7535a2afcf35fb83f635d46c8835b5e67f358905a6356ba2ba35dedae33523d4ec35c117a4368dd5f935f6d46b36ca5c5d36f5218f3802494938d6b5a935ca72ae357fb4b2371c511a37047001366a1f0d360bb513386d18143694f169363bb06d364153a1379f0b6f36f7f3163683ca183635a06e3775302236a2d2a7345acd7c3f7c676b3cac168e3504f8c6340078753f51c7f63c91bce33542cb5735dc9e5e3f783e8b3a8faba735dcdabc35d3172d3f746388394cebdf35ddbf59361719f73e7aff1a394bd9293888679a35c9fc943e31c44039c1bdc435fe25eb351f44c73de5f7c938e04f0c36e5c05136ecbe733966392539ed5d5b3606c905365e3c9c37c1411c389d3d18361bd39f34102e7337523f4738ddc58c3654e937367a54433681b9ff37191a49365528573448eb8e344204b436153337351238413619734e3679d2f237941fe93616692236338b313618a2cd3644632d3684e90436ba4a4b361256f237c249483740970f3680e62836a25032360bdff335dc25be35414bec3547a31f379eefd435dee0da333c030d342e6bd633e957ab3350ac9d34d1685f3f466b033eb49980345a8125366e91583f65581f3e9d314736453480338ebb403f7ec2003e147f03353bba39363a58123f716bdd3dff14483673052436daf6cc3eb3b8b83d3e982e361b80f035717f683e21eb8f3d949f093670b41936aa6a3c3dbcde5c3d189b0336de11ce35a1e10a3835303839c621b53523792634eeba5733dd2a9f37c482a833000000000eb79836ec7ec83700000000c19c563502a2843505da8f37133ea035aeece13500fc04367aa82b3718b72236bbca433649fb4d36c09e1e37e6683e36bacb5536baab5e36fb8ee936d2a07d36448d423648374036ff8f6136b18c5b3641d09a355a39af35f918703737c9aa35851b2e3681893237bb1b0e3876934536cc75e434f09dec34e27b33377c72f63400000000ccb5303f715fa03e00000000257123351f8f2a3f15bfab3e647c94350c8bc7355893153fc0b09e3e87fb0036d93f493683e6e43e4184813eb44e4036cc245b36fa519c3e3723463e5cd673361cfa4d36f9a1293ea63a013e74164436068bad350440bd3cd645723dfbb7903501e7373688787c38da0f6d39ac383b3663c2f334139fa0374e4b0e38ad66f9345dd4a2356ea8ea3722831238095df735dc9a263674e92e369a400a38249e4236a008b03556865436a20207389f64be3562d8c83507f4c9358f5c0c378610d235a49f4736d7612938eed071380b759c372f44c33586d0ba356a00b8371c51d935fa171536265f33387f799438bbff673793813c3647e34337a4652838c6813f36ad1cf635dd4cb43621c2a137e671a3361e3591356847ff3eeef1003f6aec9835aaece935e7e1f83eeb64043ff9411e3691e68d3503c5d93edd21f83ee85fa235740ba135b9d69f3e1f4cc83e1a24b035086f3036ba045f3e9167913ee09b3d36576eab35b55dee3d6bc63b3e55bacf35fdb4a4358890973cfad7973defc9c235cf192c36dee6c738fcdfbb396dd81b365956e5358841ff37a1283c38fe24de35039cf0344887a337f4f0bf37f048ec3496e63536b2a0b9370ee5c837a1732c36c430823552aa8d3522556935de7eae357ded6b36f0476a36189e543636fb44369c196636b763703657c060361977583604e84f366675c63641aa5b373f555236a1832a361fc45237c50efa371955fb35ff668c35dd9ea935ad3e5537c6746e3500000000000000000000000000000000553ef234b36c9d3e52d2313f05e7b434d09e2e368dbe9c3ea039323f4f551a362a056e355044853e6dc6283f72a2823592aa633661f5403eacac053ff1b03c36f6846d36cc67003e87c2c13e93c44436f4cf4136f83c873dd050723e52424636fff22c368838c23c7237ad3da089f4354bc7a635d2653138dca33339b21a153500000000610a2a37ec60b33700000000f0bcb933a5643a37e790d536b355db33a0a3cf353543d7351350da357da5d2359b0a0936ed2f08366431083681a015365a900f3643cc51370ef80b36aa20e13541872a361ef62d36e64a2a366af73636adb44336a7cc8f37f523ab37ea744c36b141ba344e9de734e2aac7369e1f1335420446363ea19037ce76ea37fd374f3689b5c536de209837cf20a237f974a634a8191f331e96033ed3c05f3fca961433cf83c935fc40053e97005f3f5bfbc1350410fd35cbfeb33d79a6503ff9edeb353cdb15366938813dba2f243f5c2de935d8f833363235453d9d62ed3ef9c63236b30d4136f708313d67bf8e3eeb4f28363899003581fcee3c0784c03d6ed1e734f5ca543628867538431e6d398d854736eb5ced345b942938270a1d385838a834cfbf00368f9bd237e267c937deb01736d16b6736ebc85c366e025b364b9464368ca20436f9b6f13515eb0036b4d30236d959d03513bbb33576adca355776b9358fa14e3887ba4838a22ab8372d732e374a17f735ea84e73516da0236ea6cf9356ea5b035e64cca351740e7358c8ad235528ce935b496ed35bf42dd3524c2d9350e90413686af1e37eafc94373a169c35ce9f0236d30efc3b4e7d7e3f6937ae3564033f36eeb4dd3bf29d7e3fc3862c36d347ee35e527bb384d74673ff2fddc352612ab3553d98538a6e7353f5611a03561fe0238a50e1b39f405053fa2b767364ef4ce359a21b238d579a63ed71ced350b87973527a809397b16063e91babb35a5fcb8359ad35e380fb4523c9dd39235ec59c5351357073803f42c380f1f8735000000000000000000000000000000002a81ec35f8e0ee35f31cdc354f17cd35f2e80736956e0a3696dff4353f010936c216b53665b19d36df469a362470ac36af2fd135ecc2d5351097c33589caca352be18f365b4a87369cc68436c39d8936c964943729e25637f3483338ad041238259f8835ffdc9b3547ac8635d1738b350000000000000000000000000000000000000000000000000000803f00000000fec2e735896d02361b30803f9bc1ba35b149f3352666153681b1643f035df1351561af360e87b3375ef6323f7f7e9d368f1fc835c2fefc351143003fc6bfb6352d2980368176a33678c09a3e6b2889363ee04837c597993813d6df3de78b063746388d35a241a335f0c88b3aba506d350000000000000000000000000000000000000000000000000000000000000000b9ddde34d2493d35217d563503d930359cd09d33ef74a033a9bccd3344e4bc330ce3593581794a35db39273561e245353e5489355e39373636e54136bcb42936604e0b34bf988734a5ab03356de32135b3252a36edd68936499f5e36c7c7333606051336ad9119376c51b43605683a3600000000000000000000000000000000000000000000803f00000000000000001a950035f84e793fe5e6cf369dfc4735098b88331c35603faf886536d2b4af331f0e6435d4d32e3faa1020352f5a4035227dc9354126fb3ebaba2e3739b02c364d510934f96f993ef03d84366fce083577e4433637bfdf3d11b66236805e2c36eb3c1f36675585380df5c336f0093936000000000000000000000000000000004f380d369b7e553778b56e39e50fdb366fe9c33510a49f37fb2de23841cbf03624e7c536bc2318370f103638421b3137fbb79d364d210437bc2ca1381ea51c372735d43577b53e3669b2a5382a0122371826cd36b1214f37df959a38b7232b373683e9363c798037a11ca7384d0934371105a33585114b36f4ab933815a6d4353e777136236fb43628c6a13853ebab37aea20b368015733ff01b4c3d0065da36475cbc359bfe643f35728d3da3fdec3690f2c53616694c3fb468753d11662f37213ea03690b51a3f44a74f3d53d61b371342d535361cd63e69ce213df8f861364467d1366ab5693e0a180b3d15832837497eeb36a1fb003dbabbf63c1b5b313716c2a635b2198638985fb63c9a71c0355f576236a56d0338b551e7384e42eb3646bb263550d30c380d84823c0b9b4a368596c735d64e1936ebdbca38f4cc30364844ab3334161b34bfc18938d5f7fe335cc20935afbf92361a84cb389fa61d367c232d354304a13505e143389298b23590917532a9dc33335b379b38174ea33294c50635f4c70b369f9f7f38118109363af10535b9a9ab35876e7d388e10ca350a226434c8c07734e76d4f3852fd9634188d4b35b53b513f221f2b3e809828361330d335a462463f02334a3ee84d2a36afd7a5330efc283fd404383eceb8ea33ef5e01357900f63e6611323ed569d935cd873f35f8dfa33ede48143e9043a53500000000577a103eb00b113e000000005ddc023518a488385479bf3d4cd7be356ed90a35c7132938af44823d013ab535d65a6e3477c7d2367d09073dbe65a034810f3d34b5c0173488cd053a136fb03310a91f354e715937edfe8238232d18359e40bd3460403237ffa9983875cafe355a28fb345878c436f5a9a4389362a8342a69be3583d8f535d5d04a3870bfae35000000002bcc9237395ea838cec5d2358201bd34b324b9349693463881567b3443ae20360139413695f1d338fc161d366ad78e363041a837a5dc1739145f31377869363410ef273f10e1af3e3dc7ad33309d553514f01c3f4665ba3e42fa0e358329b934e4e4fc3ed565b63ef1db7d350422f9340220b63e6405a93e6562a234f47fd035829c643e40ff883e07b8a93500000000d76eae3dcd2b463e1bc45335e763c2340c6b6838c16ff03dd92b8234cbed203641d987386313423da06e1b3653c593365d63cc38a5dc683c2ba5b13664829936829a2c387f5bd73afbd4b6366f9c2a36f0eb8338ca6df9387802403670a2ab36c1d3a337ba47943871fdcc36f052b936a9670f37aedb7d38fb00e436c1532a363e441c381f87a438c94b6736973ad236d97a7037603c90384d38e3369ab8ba36629d7237dbdda4388069d936b6172c362d8aed376ffdf1383805443625a5b636705685378b446c38e0a7cc36141096369cb4f73e4f11003fd60c9a3636852536b8a8e53e4d68053f2c0732369e7da636a719b43e54fa023fc3d0ae365dcab636c56e753e163beb3efb32ca3668f12a36116d273e9277ac3e43303f3602fece36ab4e383d97fd833eff08c436a6bab536b6389f38b21f0d3e2487c03685002f36fcaebd388eff003d65e734369b74af36af361e3853837d3cf0edb83632ee8e363e81073998702a3a3861ac36361a13361adc4c388591d938931f3236b3949c34c229ab3446081a383949b13400000000f771ba3725898d3823c30235ec929b35fe6981376dd43c3832ecd835e1b1c334e834e3376c26ae38790ee534ed690735fffaa3377e5ba138fedaa53521d90135cacd3d36711d7638082f85357f66c833da63d5335184d0370d85163490549836781ba43ed6572a3f61c08d36810d14368f68903e0ce22b3f4e4b263683bc99342259573e767b2c3f1dc0b634245a1b34271c163e4b5e133f0000000014d0a135f596943d1e33e03ebc36d1354944c634b1e44b3c59e29a3ee44df23455bd373536d3973861a11a3e7dd7b83436180035207129388a95c53ccbcf6d351094e9337dfcba36e952543aca702934a284a83400402a38886b86380bf65934b5d07435b548173871466e38d03a073569373f35a9aa1737f82afd37898e863500000000c1c6a937ad002b3800000000eb829d3501caef36a783d73796d15435fe7d933512fc1e38ff6ba438301cca357c5df5330be56c37c58c6d380cc12b32bb8a25366bfca036785da938f85b03369eaa1c36f7ab2438909bc2386ca91a36074aa9340d36183ecdbc513f971d533425079f3502def13d83a7513f3a8ede349a218d35f6a0ad3db39b523f7e070d355aa1b2326b7b1d3dc1fa2d3f000000004582ae3509ca1d3d3aacfe3e45ba5035cee4c035ede89c3c4a7fa73e37b21d35dffa253469fd2f3c87171a3e7bd24433a4fa2436c0c49c38f77ee73c99100036acf92c36f825b738f6941e3a995bec354043d6361294a338815ab13847f686362014c7353413343872f644382520c8351b303037115b103832606837c4d200373e6d2037c8b2b3374f70d337953ef43684115036d72c1c38a3902f38a5a0f035b4cf1937cf3d433811207c38b00be63626e32b37f8a53c37fe7e57389f9f0d37ef30f436f8ed6b384699d438812c92362489e63613416a38d3b801394fc99b368c6ed536ba28253ddfda753f199b3f36edbabb35b39a343cee95773f75e5a935ec983137c98fcc38055c703faee8d5364ca22337bd83b338e6fa3c3fd705d936cb1b5c360bbec338fef50a3fb9f2e435f3931c37ee568039c549b13e9bdcb836cfe32c3733417b386d68113ea6dbf636714ef4361ad0d33872dd153d602f4a3615eee736197a023905a9a53a6f7f713600000000000000000000000000000000324e2736857a5336a3a3b336b5ce3336cde01b36e12b2036ad1a393670cc463651688634975795347d73243482b611344d0225366f584d363d023936a2490336133f1f354f2f2835848c253504994d35d2a9a43379dbad336af22037b3d8c433cf403d35770d69352308883737b90b350000000000000000000000000000000000000000000000000000803f00000000d90e1e3693487836810b803f3dca1636bdde1b3684304f36f430643f80203f36e6514134841e2034d962333f7e280d34d0781a367b226e360885023ffafb033602aa1e3519633a355c80a23e265c653542d89833b70da6332a2fff3df018bc331fe83635993d8735a3afd93cad5df7340000000000000000000000000000000000000000000000000000000000000000af03613576cd87356228af38cf79b1356ca5a1358c3d8736a694ba38a9479f36e8aa99346d432336c3d62c38333d2a36a12e5835dcdc59380acd683885939e358a6c86360832bd384c884a37fb6f9436de8661358cb47438c9b07b3784eb0b34f7a88334897c08391306113865e8753400000000000000000000000000000000000000000000803f0000000000000000139d6c35ed27753f79d8a438e284b635b58ce53559d6513fff6fc1388a10a3365b101235b98f263f1b3d293804b929368a1c61358176f53eaf6a35387ffd903537609036f9689d3e0f7eac364c749036fedabe3526670c3e2af66e3510aa0b3461070c353a16b639f4c7cf35b91a7634000000000000000000000000000000009dc5f43275892d36ab800b3d4b322b3550df9e310bfead351252063dda2dff350000000000000000cf9bee3c56f74434ece5a133ceb98a35dae0da3cfbb0dc356a10dc32eb94e835a046d03c84880c3696d9e532c13f6d3509aac43c3e77a63506f1353369f3033677efc93cc0bd0f3655c0cf3201f25436d962983caf918e36b60d473006c7c9323498883c33858e356b180133abc75f3f0307463db0902c350b95a031a1a4503f0eff7c3da6a0e335000000002652303fee32873d92476934c7b1a5333db1053f2e4e823d501fe035886edc32c10db93e0473693dc8e3fe355205e9324a01453ecc58593ddcd2a63517163c33a5ea893c8fef2e3d98cb07366f08d132c5ef9136cfe54d3d74dc8b36060b6e310747e733677d3a3d0b0195353fb1ea33cceae035c90e2c3d3fc930350000000053f54737743d653d00000000a6e5e1311e54f531f074573d16320532686349337c28c5350fd7633de39a303502bd2032fcbfa0373a75383dc6994e33897c0f33a74b6135514a733d0318d03455f29832ff98aa35c691523d163d5f35e7bbec31db4c0732db6e043de9a9143245eab3309346c730a54ddc3c900fda3032f5f333e56f3d3f5950393e4393063500000000b76e293f37d4333e000000009314e53181f7093f5584383ea3770832f1074f337ab5c63e1925343ef4defd3417141f327708873e3016273ee83557333c6c1033f7e7d23d077e063e5b064f34b127a132bfe805393ba1b23d394934357483f731367d9638e380953dff6b1732b425b8307f4d1f370c0c723dacfadc307a3b8f32d37653369859013de0ef8732b7a31d33d38442387001283d3aa36e33e395c3326f36b83893b83c3d9fb3a0343fd0a133d39c15366a40693d5b1fbf3599d6f434533e4c389f5f5d3d5fd75d358876013401a85f38e94d773d62292936843b6e330f9329341fca533d2c4efa33866c2f33063d2433702c443d8278e8326fc6253427b5bf366be6153d1076863598e98f32a369153fbd92a23ee66a8732cf671f333746013f19eca13e394c87336311bd322022cc3ecf6aa43ee7c06b32e93ea33305b88e3eff9d9f3e6c4d91355c060435fd11303e6135833e1ec53535ac9f00358ece543db2884b3e02cf0d368335703357759b3842aa0a3ed195083487e62833028a183997d3a63db733e4322dfb2634fe090539fb35593d9b232135aafd98325127933701afa33c3fadd232c50825343fe89d36169b123d8b44af35f12011336184c5358e2b403de13ef83295995f33b34d993535a6823d57f18d33ed893735e1ef8d367a55413daeab0f360c79973315c3ad350e45793df4a16b33e521f43226c08c352c00493d8cf30933f4c9f2331e787936e31c643d17470d36e9c3e33266fdd33215071a3d1e0da63221499c322d89e23e26f5ed3ecb3dd632f7d321351fbcb93e47eeea3e590c093542a50d3349b1903e0c53ec3eb4a0f732439061332905393e4bbdd93e54969033eb14893577aa083e45cda33e0d9ecc35b47c9433f8075d3cc57e833ef88466335dc6f43225d40a3832be243e697a0b3341a127346f459c36227db43d1400b635f6c5de324d217f37ce3e133d04e3a13240ea263463d50939f8b80b3c20ae2a34e1b1c532734811394fb0933c2c0a1e335c1dd933eab93f379dfa143d67a66d337626c035a66c9a38f4a94f3d282bbf358c7c31353d91b9382c243b3d24b60435c340443518a33c3649033a3dda55c734d1e05732b18c6338b7a6303da9b8ad32c194a133de3540351adf513de6262d33778885321f5f8a3216da163d80ac8e322cb32f34f26d963e68e71b3f223728341172d332c89d733e4e7c1d3f398720332b3e1e3435f1253e6f821d3f761f6e334d98e13565b1c93da45a0a3f770675359a6936357c22453dee6dd93e1b4b05356d237d35cf70f9389db89d3ea82ea233d6e85f32f59452399823443ed92bb2321b12983348040539fe82b23d19a52633b91986328b6f593880e4003d07408f327fe3e130358fea3761cfee3b9260bf30cb993a3228189a384d70953c6544ff31aff771340cf82f387667ba3c45acb5329acc2433c0c4ac3561f8da3c77551433dbeda333d9c16938ce4db83c54b73f32c8dca233710aef35e4d70b3dac8760336ec60b328f6204320bf9143d899dee310000000000000000d610433d00000000f8da88342127c435c059fa3c9b80093457b8df305af5203ee70d403f9112b93042111a32392efd3d12ee403fd59bf531ada5fb3429c2a03d3dc0423f40b6ac32639924333344ff3c5230263feed11233bb459c33caad913c1d1cfa3e6ed81f32072e94348b4bf538f7adb13e93795833f6cd0b324a2f48386a5f453e100fec31000000006107e838db64743d00000000b87ae73456dd133839daec3bdd1102344295aa35c0562438913bcc3bc0566d320a208b36c1aab536b77b1f3b7d5cd4329d89f135b4525c36826e673c9b6b4e3387c5a535b7a5ec354ca9a03a2b5af8326886e135268d4f36a5847a3ccacedc321c89d835effa37366aafaf3c3708b5334d704f3441656035d637093d00000000adabce35fa684736c0b13c3d459fa13186cb2c35ecfd1d3721c9dd3c6172183378c79c350144273dda24643f6a131a327058893601a0fa3b8ae56b3f2ba5d032291afd353f06b6386ae9663f79c445332f2da0355843bc380fd53a3f5275ed32e8e4e63501948c38c2970a3f31fddb32f5b1d735e0cf6a386c85bb3e2493ac33270e5d34837c91384ba23b3e00000000c44ad0358e782238a22f383d8e64a0318e3720359aa099383c62893cbbad0b33000000000000000000000000000000006d1970342ba44d354ac73839ba7772354ccc08342ace45340f716a38bcba173635428236a5c79436f3d8e7381a789d36bfc077355b27a93594040b39fec45f35f08d20369eec4336428fe838d526b035b0539d361f5a9b36dc3a043c3cc431361c86b535f3b4ae359db40c3c3e547a350000000000000000000000000000000000000000000000000000803f00000000cde472342318a63597ed7f3fb501353520c70934face9a3473fa5c3feb5bfb356a0f873689b6a336fc4e313fc50b993655c085351a42cb352f4c053f53be633568062936980a4e365cfbb23ea7b48235af9e9f3692de14386855303e859f1836446bb63579c89237715c0b3db6f273350000000000000000000000000000000000000000000000000000000000000000f28b5934ede14d3447fe4734e8057534f341e335763a033614bb3536413f1336e555ae35fc623935849435352c83f034c7903c35c0924435c0183d35038a3935d039b535bab12236cc711c36dd71dd35b9bbf135f1ca0436a7c3fa35f1415a35ea1cd3357a5cdd365e157c35649b353500000000000000000000000000000000000000000000803f00000000000000003275283420707b3fc6ea5f3414eb5434b672cf353ef7613f9ec3863764cc3d36e25a4235c5c3373fb2b9bb36cbc32f35c01c2b35680f043ff31ac13697361b35c90d9b357c46a13e1c211637421d0c363d64a735957f0f3ec3abd83533ea8b356cabf634357ff43cd6689337aff5543500000000000000000000000000000000cab68e35a817e3358055a137aef3a0353137be3374c8c832109607355f2c9035000000000000000000000000000000009f1f9d34f9f6df348749b03422cd3d345d689435d2b28735282f8f35e3689435fcbc7435e4f7993551334f36fbe6a63558aeb834bb12d8348325eb3457259d34b7a08435b7dcef36fdfe85357f1e63350b67943406d1f3342b1cd134b3e4c7346b8b753537c1773fbdd71a3db5eee535000000009b84693fb596443d410a243500000000666e573f6679aa3b00000000a3263634cacf283f0910e63bc14c873441dc6935c0bef23ecae9053ce8458b35b0d27235959e943ed015d63b0c605b35e92a98343442ea3db6a1b73b9f2c6d3458088335e99d023b78467d3ccb4a5b353fb2be34e659d836674500381ac1773466b40134ccf8aa334c2c7635e7f24c34074eac33ba0d6333f9074533146f3e334561a433f128333353132f33a5fe4633f4f6a03363c8dd318cb42e3500bab5310833603494f1f2336109e5330f0c03344949503406ad1f34ccc523341fc81e34da8fab34ec26063466567a35ed3821345e01cc33d1839a324e4dab3214023b328d009b342a3375340c9c7834568e81345eb0583175655c3f9c06193e0ce6a23352ac5333f4d0523fddbc233e8622f6320953543395a3373fb694063e5a7cec3287979531c4870a3ff57afa3db4cdd93140fd0f343794bd3eecc8e73d3e25a2338e913834304e443ec320f13d8cc3c733fd52b9325875bf3c8800c53de070833423591932d163d43824a2203d4389ae32da265534fb8f9334131587340ad41a34ba344c34415f31346da310347a0c313400000000000000000000000000000000dea83434e77c9735e694c1353355c9340014b03300000000f25565335866963300000000000000000000000000000000000000004cca1335919e1335f12b213443f329346921ef364bfdb4358404a53364dba332a1e8983349b48c35a060673291cdc8356f0d263611212d362275e93595d899333763323f43a6a13edd8d1e3400000000b6a0263f84cbb33e0000000054918c330e550d3f2d1d9f3e00000000000000003a0fd33ea30f8d3e00000000000000000c53853e21c67b3e0000000000000000419df73dd3643f3e000000002bda83338b5c953c34e2da3d13d09833ed2820337dce9438d8d9b53cec81fe315bcc7c356da1883733913f38e942cd354cab1c350495e837854a62378ff32935adddaa3487ffb836d85f3d3569abc33447a61934a2b0ab330f5dbc33582ce333df29d434a6861835dab6e7342022c5343bab4d35bec5e23688de3c35c02b37350f25f934013e2d35c4001f35633823358a01c933111aed33c247e133bf05a1332fc2da343ab01b375e3d9d36ccfc213527d52c350fdc8f351cb416366b378035a8070835197b013f6a1f013f3e596935a94328346a57f83e8ab9053fd1bdab34bd8bb5333cedc33eb62b003f5ee9a2338de09c343fa68c3e7285db3ea9b305354c9a2335231f323ee84eaa3e824329355f7df9343e2b9f3d0e706f3ea518b634fe36a2338df5c53c227cd63d54973333ff07f034ac0e6639fd6ede3b379d94340d255735947602384f130639a607193514eca635f96f6637cd4dad36bada7335b6afd233d2afd53759fd313345bb4133ddb8a53469ff7934f2dd63346303443426c4ca34b3459633000000000000000000000000000000000000000000000000843ac934e1e201372ed7093562ca9c312552e934072f12354256ac35af7b8234000000001d31813739a5cc360000000006e98b343555c334b5208434ee5c803415856235d9729f3eec83333ffd3775345f257633d866963eb9d3313fe8c6a3321923a833b0b3593e86812c3ffdad36336283743363b5183ebeef0e3f0000000000000000d04dbe3d7c34d63e0000000013e2a2303fab543d064c8a3e00000000019e9e333ac3323d8fcddf3d938e6234000000002128123b70b6ba3b00000000592728346e739f3437b09434cf28063489bf5f34375a5634c31332346ea63a343b66b9329e779a3774b8c832787b323167efcd34c687043751a4dc348ac24b34a449ee3316a43934111d103483b6c433c383bb337e0e1a3449561434b1739833468294335deb3936548f143544848a31986a123391210e37a7db5d336dccff321c9af6325e9c6e37f393143508189f32529428349fdc1a35442ec03447224c34dd0fe033c1511d3e97a05b3f33e50f344b2e3333e55cfc3d823a593f065f79316dab8c347e4f863de927543fccb2cf304315c233e652233d92ff293f59cbcd331014b833fd8e3e3de9a2f83ea8783b33e12e2a32ae7b5b3da946983e8d8c9b314d22e93212c4673d2ca4dc3d166b8b325f2f6233bb29c53cf140263b2f3a8832338fe633b1a9243b7ea867375e9f6e314b9a9034caacb137838e94349c457f349cc38635b89ebc37501087353ae46735bb660835ead7b4349be7b7340950bc34a5aa75352d9cc23610b071357f8b6735932fa7356e368d352e2a9035b0dd8d35e45de534dbde7a37d14bd13433a6eb34000000000000000000000000000000008aae9934ac5cce37cb219837f0d4033507c2a435f9700e384ec39b37d9e8f735dc6b76344f210b3da32f793ff742aa34679361356231ac3c3146773f566652357613d734f0256c382264633f23d19734cfeb3d352f404d3a7072353ff063813586239135bcaf783b49b7053f0691843514d5b13421cb063c60abaa3eb65f6334000000007c44e23c41040a3e00000000bb35a034158d5d3b9ae3293d36a49b33b55dcb35ce8028395e066c38e7f38f35000000000000000000000000000000008b14d83571cdb735cc613c35bc3b563574612036b004a035338f3235589c56352c301636482af235f2d2d2353265aa35ae5d6a351ab52735307f3435be293c35e163b935d919393564c72c35ab0ef434991a2c36f520283727f8a0368713063669767c3488a53634dd735034fd1658340000000000000000000000000000000000000000000000000000803f00000000d055b9353ae782371ba07a3ffbc7d03477e11b36e51210369a3d5e3f5059b83543660b368a034036b545323fd7218b35b4c13b351ec31437ffbbfe3e1fc3283550bdfd352b0b9137b350963efdc5963553172c369eb8be379765fd3d3d83f735df045c343545d6364635e33ce98d3f34000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063cf7331e1bbeb31a3b3363200000000000000000000000000000000fd9df5348194b735e3e8bc357c5b303572d8d7308f8b8031744edb31536a0f3201143032b24a6a3260fe88324ad7903200000000000000000000000000000000000000000000803f000000000000000000000000c734743f000000000000000000000000b749613f0000000000000000b82ae4308efb303f11aeed31e0783032000000008db4fa3e00000000000000007f28bf3492f38f3ed27db33544bc543577f5533166e6c43d4e07d031abb9fe3172b1423265013b3b86fd70327197923200000000000000000000000000000000b49e9934e5a18836325d363a86738c36000000000000000000000000000000000000000000000000fea6b938000000004b0e72345530d834749319389a54b934000000005256ba33c15f083965738634f2678d347f6f02351b5589353bfdb8345df08b3313d05634d5796839acf2b6310000000021e50232b0faad3413374a349b3fd634a9c56435aa011d396ce3aa35e857a63413156c3f7a916c3db108a0360000000035a4573f03068e3d00000000000000007d12413f65ec913d00000000c78a54344174103f7f30703da5c89f34000000006037ba3e301a403db02f4b34f5bb4f34ed373a3edaa7123d70c86434b8af1f32fc15583b292b213d000000000000000081066834fbfa473d863395321c7ace344119ae35d16b253d2ff6b835e36b8935ad8a523693b0463d3f3eab3521f2133484d25534a9561f3c67e03f34edb32333861816342ce1293ab1061234000000009fe6b735799f0339429ce2334af31f348da1313415117b39bf98313497ef1135a7823c35b81da9391302f734000000000000000000000000000000000000000000000000f7ef9d3900000000619ddd34ea2869353efc1a3a00d22035f0b087352655473f9dfa223e379c733591e3183469003a3f4007563e16d65b3457f72a3302c4183fa856503e6bf9233400000000999bce3e7e08503e00000000878c0834e12e6d3ed8db413ec70b5e34c4bd0b3503d0223de7c44a3e15a1e834000000003d752e35f6091e3e00000000000000000000000076ece83d000000004f75cf34520ba9351911c13da3c4f234bb0eb83408e000361186023d3efae5350000000000000000bb61e13a0000000000000000000000002f329439000000003fdfc033e87990342be7a339a32db1340000000000000000f20e85390000000037be79348116bd35401c1936428b6c35bc30122f25b225349e25683ae14fd134521d4034d3053334ce10db3a3475dc333f537b346d59143688b5863a8fc4093618b7da34bb29213f6a0ea33ea3f4903500000000bd250d3fb2f1ba3e00000000000000004c17d53e1ef7b73e00000000958ef332d76f843e7370b73e0e5a6b34000000008a9fe53d9f6bb13e00000000d6374734f1403036cd27993e5b22d63400000000648370353f2c5a3e40770133c9c02b349e5f2d34851f033e62ba0d344bd8cd34c8ba3836fe46963d7e1b0236cd7af5340b8e0b3670157a3c4fef633500000000000000004e73a93a000000000000000000000000c1796a3a0000000000000000570f0d346fa3413ac45a123400000000000000004272073a00000000fe85cd33d1701c3409c65a3a14f6d8320000000000000000e8fb8e3a0000000000000000000000005c74a43a00000000b7c118359912143697b3463bd3394f350a49c9343116e13ee4b7ff3eb28e153500000000502fbe3e0c97043f000000000000000023a7863e79c3043f0000000000000000db45093e49ca033fe80dc53300000000e1ad6f3db77ee43e000000006768c1309c148c358e89b93e000000000000000000000000a6326b3e00000000000000000000000055f7f93d00000000a4fa2335bac96836b6aa673d598b26351ea9db35550776367982033bb42c8435385bdc33a7e36f343b21183a32fa123400000000b1b06a35ada0033a00000000308bb2349c081b365bb1fc35044621350000000000000000a1ce7337000000000f8a873440990a35d286c639b672ce330000000000000000a008a53a0000000000000000000000007ac43c3b0000000011378035ec8c0136e946753bc30a9735bdf3dd35e662883e3e252b3f84470635d331f4336987553e19f52b3fc036143400000000128eee3d398c2e3f000000002b96b5349fd01b3d30262c3f8d186334000000000000000029e70c3f00000000429de433f2fdda359a97ca3eb1d49b330000000000000000be7b703e000000000000000000000000fca5ba3d000000002f0d8135b6c50f36b5b4fa3c86a54635c9d6b634d8959535243cc53a943d30350000000000000000ff74f6390000000000000000000000000000000000000000760fe8340ca0053582a81835f5f42d35ab8b7e34723649346c640d34809702340000000089e05d35a262e93523b7a534af430434a08811346b4bde3a2c4a0f3467437534659a5d349896283b4a941034d4cb1b3502370c36e1058c3b2758dd35b96fb334232dda3d0df84e3f2d30e63400000000d5a8a43d9d4a503f0000000000000000b28deb3c6257533f00000000585bb434917cde36216e453f5e8d2335de347534a8153c3483a1163f49a30f340000000003b6cc3539f5cd3e000000000748cd33a69e0d343c27563e262ca033326b6634d0cc5a34b7b6783d79172934368460357b852336f4bba63cf657b635536a9435ddf84f3685be13395eff0435000000001cf513344848e034000000000000000000000000d43c6c33000000003b9dfd328348993458bddc34f8ee90342857bb3275cd483400a892345f55b5330ac49834242fa1348291cb34180e8834000000000000000004b5d2390000000000000000000000006aa58e3a00000000120ba0363965d8365842443bceaa2635c20ea835bc39043c0382753f0b529534000000000445ab37759d743f00000000000000009574ab33b56e763f00000000ad2f9c331e7737356ef3493f946d023451282b34e1d8ae34373f183f0000000012f90c346db4ea355dd2c43efc4f75340000000000000000c9e2393e0000000000000000000000006d81bf3d0000000079e2a53694fdf837d7ddbe3ca77ddd3400000000000000000000000000000000c8d2993251bb963264f28932ddf33f3276d02731432701321cfcd93148f6f43045383135a3a66c3571108b35e52466350000000000000000000000000000000060503e3116882632a20e0532000000007c483932000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000073a687323e999b324c6e803fd6dc4c323c569831d12a0432a1af683f8af7aa30ec064e3531e48a353f40393f9db523350000000000000000fa3b043f0000000030b6d131e975293208d3a03e000000000000000000000000fdd6fe3d0000000000000000000000001d53523d0000000000000000000000000000000000000000000000000000000000000000000000004aa23934c295a8372bfe9038b73ddc35000000001c5e5c36fea91e39945d923500000000fcd5ba38ae39fe383634d634e508c1335170a7379714c236c292163671c4f73169b908397d135b360bdf8635d7045a344a0947394ac701359a9993340a1a68339c688d38e65890363f22e73400000000000000000000000000000000000000000000803f0000000000000000c02e8334da1a6e3fb0beec371e0c8b35000000004427583ffec7f338c7ed2535ef601533f25d283f9d70a9380f7b7f34996cf633191fee3e4cafbe36acd1c8350f37f4312b2f8e3ef61d46363bce193532068f343219993df13b0235643d6034d6192d3482d556393eff8336155b0e330000000000000000000000000000000072bbd631aebe1037a2be723da0b07035f51d8a3410e557362d56813d4994bd342cb9bb3302b5ff3575f4763d3e838334acf4c333a94507379d9e713df84c1235ecf27334e1626d36aeb7463d0a26a4345d59bd3356dbaf374087323d0ce78034c4fd8e339a5cee35439d513d007d2035d1669733ef00063480da6c3d543aca337064d7330e1b8c34ea816c3d7038ad34752ef532c598513f57a58c390dfa6335b1809b345ee93a3fa3cdb73904b1ba348c96c7338876213fadfadb3bc0f7403455500834c7a0dc3e6485c039826b0d3562c08634ef1e7a3e20b0033a5e0a9234a914b1335339263de632d039ddf427349cd3de33b70039394d023b3b457e363435e19f33e529c138c524c23cffad9433237dd7334aa71b372144533d0b5f3334ea79c933f969b5370c450f3e48e1d93372d2cf348f9ea1369e31143ecf51ca34bc6467347ccc8935ee240a3e4f90f2348c5fad34b3530c38102e0f3e2df8bd340bf4d934bb33c136d8b7113e21a9c53483c7ea33eb4a3a35501a163e2b97a0348c953e34087082348c27113e89493b3439508f34f44380364dc3093ef01a923523b0ac33578476354ea1e03d3b9e823466bcff337e512a3f5503923da274df3355cdf034982c0e3f1e41883d9386bf34f94c5b344e96d43e76a09a3d6912c43446fcbb34ecbe743e922a8c3d0e3fbc347b1ef834f60db73d6899963dfda3b3348cd8e1331004643996c0903d54693734f6f25c347471c2377d9ee03d377e3c348833a0341184a537b517063eaec546354c3caa33eed0533712defa3deacb0734d5adb433b2a82438c60f403e23fd9534da537234c3a294378c945d3eecf43b357516d933ab92d9361ac7493e9d768234a7adbb325f434839e5a4493e892d3a34f6274034918881364e27493ed57cd835f363d833b5ed20344962523e72413d347b4d61347614ba344b28653eacb2403415b5ed333ba10b364dc65b3e70ebe8352fb23a323542f432ddfc303e81c09134b6f306347262e53eb4bf0c3e12ef5434c73174344073a83e4af4f03dbf47b334ca1d1f34b4bd5a3ee4040b3e56dd7234b5960b331f68a53d61620c3ebe79dd3304996f345b43333994660e3e5db52b35cb3f0334feef5539a2472b3ef65b2b34c06f7d345c7724392f30343e0d43373443b21934e691d2386b46063e58ad5e35f675bb328ff81e38476cde3d7a7d45339185c433f0180a3966ab3a3ef7e64134a8c85d3429849d388df74b3e08be81342187f533297b393882bc393e8bb56734a36c0234d3d82f393cce443e573605348d0187349cefc9347cf2493ea3a2aa34bbf7b2333060a73679c26b3e57974f3444c60834a5ccab3495d7573e76530e34a3374234bd7fa234e375583eb6e88b34ab4ff333537a29358fe93f3ec8d3df3470ef0e34752d903ebded8c3e0bb30a3417fb7734132f343ee2e7853e3f455e340b4ef53352fdcf3db977933ece541334d24920349aa4e3394d428f3e3c1fea333c719734712b1d3988179c3e278d9d345faecb33d3699b3994bb9a3e97f1ff33b2f32834cdddf6384c06643e98260c34a5575b34ccd0a538c4ac203e0724823439db0234de2ad6381a28a13d75c6163461d43533a90644386ffc0e3ef350cb32d4406834577642394253143ed3df2f34a13c24345399113927190a3e55f3a234e04a21342bfd0538774a183efb620e34f62baf3457ebc93651873b3e26e60335fb543e33fce5213814e6413e3b23ea3335f719340a17a635b1bb3a3e94b7373495864c3450189f363d99373e3a3539350dd70234396c0135e802263e13067e3407837233543f053e22dfe73e7c28c732c72bb334c73e773d73d4e73ea3521834d9731a34b4fdc739433df03e47467b3467a33934a31e94392dcef63e46570d349f05c734302f2f39f21ef83e951d6d34e77b583338cda039abd2cc3e3c493d32889d4c346244fc3855de8c3e915a4634ba32653479b71a394081253e3c728c34e3e225344316ed3867178e3dfac9a7331b0c19347297ec384131323dc87e5934160e0f35b7513a37c0c5503d393f0d35083d253475ba44346079f63c5bf66534efb14f34df899d3604ec763df6f04234f7d3983499de3b36f00dad3d9b893635e443b034a3ecae34ffeada3d693bb534b1f3c334c335fa34cc2fea3d60347234811ba1344e250b364e5d043e351ef6341bdfbb3375d2cc358cf4bb3d1b3e0234d6a32d3499c2313d1b412f3ffe14c733cc942e3566e96739f4c02f3fc3f88f3451d53b3405503a3943c0383f967a4c3447cf7134c50b693944c5393f4cbb0b34b278b634919bb9388d141d3f5b5de034cc40b934b7ac3539d9eee53ec8a1a534d0cdcc3484baf2389f2e873e03dc5e344f2eba34b882c8384366dd3d7037d8343f7be1337ed9e637b1970e3d69a9dc33ece15d342072fd38b216143d7d5d0534ab6090331569c5383a7d3c3d46e9ce3336941a3487c5f635c2f6a83c35d1423484242234779cba348d13833d69d7e43397787d3453146635aed79d3d000da134cc72a634ed3aae35de15d83d5c134b3400e333341c10b537a45bf93df1510034067c9d34747de9349c74043ed9c2b634bb1033353af115373851ad3dac23913435b77b34f63d8439238d5b3fb7a3ea335c409c339b1a8d3901d25f3f269099339fb31d349a204e3966626d3fd8f0b133d5044134e9a35939c0775a3f568ace33d5988c34dd3b0339b8bf213f727d8c34a31bdd34a3514f39cb66d03e05bbec33a9475134102163392afb3b3e962ef133322dad346d943f39fabba23d127aa834f1df4a35b4571539f5b4243d518e8932000000000000000000000000000000003f7dfd32cf180b3658efdf384cf66735db48a933bff4b83450ebc738d353b934e6551535ef4baa35ae8acc38a8eaf73185627d35290c833685d45c387499fb354d983033a586a535e89684399112e633d1ad4932c2c6c835a677053d00000000c5de6a3523936b3683c0473c9390ab340000000000000000000000000000000000000000000000000000803f000000006be6f832940c5936372d803f95abd33428d3fc3340c4eb344b366d3f57486934bfbc0c35782d1136e360393fb0410332b73281350222a536ec4b093f04429734320ad3335c571036a300b03e00000000a53f993456c18f37253ffe3d0000000015c6403516629c36cda1743df9e383340000000000000000000000000000000000000000000000000000000000000000cefefe367a0c6237b6a5a2371ce0b237aba1d2363936de36a3556a378b61b8379f2f0538288fea37e00153383a8a8d386807f037bd10b3371c393038de526138f8de56375e7354377861803734ac8b37b89bc937b20bde3702c3ed37f1a60938a130b437c34bef37bcc4d7376607d93700000000000000000000000000000000000000000000803f0000000000000000e6abec35cb207e3f6610fd37d1c28e37bec9003672eb523f03bd2c389a446837527caa3728b5293ffd18ae387c556b386a9aa3376c9cff3e192c893852772b381d2c3a37f01bac3e9734db379e9f873716c1983787bc323ea94e3e382b7fec379ab08737f68acb3bf84aff37d93dd237000000000000000000000000000000003676bb3698229937fec509385fdd9c37a8fc153635cb1e3765a61238c9c4ef37af20ec36ad38ed36d696913773a3bc37f9f20137708615374c94d837888e1438c7beed3717f30238bd354b383bf06b3816d1943687a18837006b20385cc13d38a11a1237820a82373bbe013862db1e3897815237da1fd537d4edf8379b7bf5370d6bbd37a789ff37e40f9d38def4cf38a8e0993686257b3f8cbf993cd36bd63612720236f835733fee19193d61b845370b7cd4366a9f4b3f78080e3dd0507237f5118f36b1dc243f6e08da3c61049e37e7bea237c210f83e3e58793c70e629381f0b8d3690dfa63e24a72139b2820338c852813659392b3ecb8a4439abaea93794644a36b023f33baaa021387886ca37715a8337523b4138864f51399eed0738bad49c37f2373b386a054e381ce01a38c3596336442786372dfccd37be32b03710951a37c96c5f37e317a437e308a7377845af37db92fd3742452538172927384dd2e7363997c137d0792a382d223538efaa0737250817374c76693725026937037fa737a791de3741ff0638562a0038cbb4a237b2ae1c38d1503b38896d2b38f0500c37355db83748f7da3706b2af3702ec0e37e1d2513ff13b383eb603ca37a1cd4e36bb8c4e3f4186453e0d56f6362117c936e9232b3f3288323e176a47376fcdaa3646f50c3fac46053eef30df374c70d03588c2d03ebb6ebb3d6fdf8f3759cad336c1d78c3e7962313d6e841a37eb0a9737d4031a3e99bab33bd681c2374338d036723a673b15507f383000cb37f3b7ae36d82f0438a285083899732737d4dee0358775343871da69387d6bb9368dd0e43556e52d3876374e3880cbd73790591b376f82c337310600385359c937d6916036e2d1ac36a8b71e3798fef9365e16b7373d08db370103fa373280f23775229c37022ff33755ec593819842f381387343673f69e36ebdd093819989b365e3e3337d777c1372f0dea37cb849237a81ca537a1f315385f5929385cd105382121d8359b31293f5c7ead3e3db2d835e4b2dc3552b7263f3c63b03efc7fe735fdd75c362bf80d3f096e973e5437dd36e0a42f3608c6e33e018b6f3e4931563644621a379218a93e2d962d3e55b69537952513378a095f3ef655d23d678d783706e7143639fce03d6827203def3b35368c7e4536b1b299385b918a3823f8e036edf410377db74638ceb8503888ad853729c6dd378466253996aab139c61ef5377c0cf037b5ec4538d2da54384279143871562e3750d0fc375efb1738efe59337d878733753af1a38da4c35385502f837f08267380b938338eeab8c3853247f386f9dd5370fa322382e303a38324d02385f60b137dba905383edb1138e43fe2376d1a25387e064838f15f4f3839263138969e0538bf6e1a38026f3738920c09381f2b8637cf91ff3e81fbff3e7e488837bd024037fce2fe3e3274003fa7e762374381d83669cdd53ed7f8d73ef292f236f295f33652c5ac3e60c4ae3e79b4003708df29385c937e3e7891803ec32e33388791123769b5213e7a09273e3aeb1f37189223370d879f3d2cdfa83d856c293710c5f23768a97b3880ab7d38d33601381e73e9374f295938c2c51339abe8f237b69b5c37bf1651380de762386ad53a37538cbe365171d337d5650838fed3b636ae873b3631018736a1ffb136b17c3136cb2ec0376155293854980c387455a437aba6d437cca2ee37e2fde737f3b9cc37a753da3668730c379abb0a37fdd9ac367a5ed2379474f73773f2f637b319ae37c8160138a8843038ac353738b565f537e33e0c3796855e3729998d371149dc3692470c374575ad3e092a293f965903378f553a36bb6aaf3ed030283f0bf83636565412363b93953e7d0f0f3f5eb80d3681463b37be8b6b3e5afce53ee38adf362ee68637e40e2a3e2cedaa3e02702d37c71d623605ceca3df761633e68283d36807c6137c2050b3d0c88ec3dabc0d9368d303037b31683384e267e3be42b8636e9dbe035dbe6ee379cc93038c32fe235e6903037ce280a38f04221388d5bb2367190ca3759723738f73a2f3804cd32375e88d337bf62e53752cfc8370049a637fe264f37d86b30378367123734400d37cab51e3899631838420eec373bc38a37a8ea1f382f92263832a31638fe35fb372f42a737c3c0a737ac999437cca263376ab7af372531c9372aefbe3799a049370467223857e32f3893662d38b4780638c7b5b136da20363e3766523f5ba8863647c20d37cdcf3f3eb40c4f3f1adcb6351431a73787a12e3e65632c3f835c833715d21037c0c6013e26040e3fb72fb936df1c5537bb2cb53d99f1d23edcf2d035fd0af237e58f213d76258f3e767377372a2d84370bf6e6381fa0203e98680e374dfa82371a19213826438f3833eb5d36226008381cc342389a1f423894e2b437149f0938ab18b339230439399a449d375881d8377f3aef37f7ffb437d889df36b66aef378869b93723b51b37215cf836aca225384e080b38ebc16937acbe1c372e6a5f381c3239389a460e382af00c38df170e38b51dd4376f025a37d6383837ded9aa37607c983738d97537f0ee38370fe0f7370f00e737b61edc3726d6153721e0a43715e797377d8566374e1fd236139ce037a074823c5ca67b3f785aa636204c8b37342f0e3dac24753f0f063b369b0d8537f356003d0f124d3f6b177e36ea32c8371ed7cc3cf60f263fb0898c36c46324388738463cb3bff93e5d9fb43708cca63788326f38a87ea83e8012aa36e3908b37ebd0a03837d42d3e90e5eb36622c8d37b5173a38e3b9493cd2ff1636af1c03371034c837672bd037faf4be3600000000000000000000000000000000bd98cc372f36ad372524a23780919a37fd2a1438af55ad3768e185375d1ab7371a428f37debb6d3791c43f37086e6837c93d5c386f0b1138f74cbe374eee2438843b8d3811ac5238a5612e3872584d38e808bc37918a7e37be79843737668937760dc4371cf1a937f7efbc37f65b92370000000000000000000000000000000000000000000000000000803f0000000082f6b537560d363844527e3f5d65ec364820c437cbc053382d39533f51247337c7a68037a717e43747d9293fa06f3037c43b263836fb80386d0d003f87fdc8376f6c6738baf59d381932ac3e7ae80a38403e7a37cf97f9371c06343e699e10378717a93754c5cb37d2d6e73bbb42333700000000000000000000000000000000000000000000000000000000000000008d565737c8433f38e21b3538398006389ca47137d49efc37fe7c03381145cf370412b737d6185638aa311b39b376ff38b3fd863766b53138adb25c380e244e382517dd37a1743e38dff32e397debf338a22e4e3746850d386a7b203850310b3843d4b43728a72e38c9ca25385a60093800000000000000000000000000000000000000000000803f00000000000000005b186937181a6f3f73225b38358be237ec5e613776f5493fb28537381046b637feb5b9371fae243f5653e639a6a73838d95b83371161ff3e66685439bcf62338e69adb37d7f6b43e872dcb39080b0f38957b1b377e64573e4d70383846d7e337006696372c53823dd8523238ded3f33700000000000000000000000000000000fb06ae3641e4e138d1b84739a7a0f237bc6ac036f13ae93759d7c53979c9893766bc5335a54ede37f9378d392db9c6378a2f8f36ba75e537d468fe381c580b38037f11362bfcc837ddeec239e15a1f38d6baa134ac9a863760d5033af63e3839666a8d33ac2e75375c6c053a0930a338d95e5e360741c53727ce1938ac85a337054bc53624d4de3774c63338538ab43798abab3616a46d3f6986913d254fb137e77fbd360ed65b3fd5a09a3d8ce10d37fc813a35ec5a3b3f991f883d523eb4367ac83e3641511a3f9a9f6f3d89e1c73705600f368fa1ed3ee3ed143d7a1b943769d69234ee6ea93ef77a5a3c23fe48371db28e33fb2b493e6bf1753a67d41f3718dc5f3670a57c3d33949f38ed703f37d29bc436c83329384cdb3a38b54d9437b911fb36d0bf4a3841d9b738f1985d371f4a8036ed2b33382a615239dd4146375dbed63599228c385ea3c4382a0fe33772e044367244b737e4fd34385f9d4637dd1f9436da7459383c6353396e890d38d1892e378a2d403809ac6b3812601c3839ed7d349f0abc372ef42e38d5c81a37515ccb3593760e38ddd2383818cea237fe613237101c67388abb88380b65363854e0f836b8ca483fa7735c3e795f1a3766417a36165e3b3fee4b563eaa4a0b378c91013538181e3f2deb3b3ed02d5e37277b3136295b023f04f6153ecb2af0364f202a366f51c83e6201de3d103b6137cae19836eb978e3eb43c873daf86eb37102d803412792b3e396b013de2998134c15a4c35ca10573da8c98b39fa0e3c3728bbf03623188938317ac7389cf50d38f9128a3729b5b838be64643966871c38a9d46e3677243b387229093abba696379c099f3406db7037f9050b3989a3d135b63024376e643d38d4dc87391c64f137f0b5e036d9dc3b38988267385616b237fc7e8536149f2e3873876d3806720d3707d2043724788a38ce40c33802619937a4aab936e24a2c38f0c2a33994a3cf373d028537c76b4b388e756738f8c2063853eb0a37fb33243f1a37b73e646fb237b22a67366c8b1a3ff0d0b13e1d26083756129f34ee12033f454f953e170a9e3445be5436cb17d53e930e733ee04e9a3796809d36e5e9a33e3b42383e42a70e37f4012e36846a643e5396fb3d63c0c236fa269d36f56b053eed13863d9ac048376b7d96361293243d3b72183c05b1693792a175370b8e6b385dd27b38fe06c73756eb9236e512c23876c00e3a629c95360ab3c536b57a81388962073a6bb2c63617b2a63245caae398e153a3ac9182135d67673378d928f3a7cd9bd3ae53ec5378adb8e36cbcb4438f4b235394b8a0f37254f9f373e2d8d3adf7dae3af3cac537b91ba032f7ba4a39e86deb398423b7354a1cc63662695738153b7838c0e7193762db9536b1d562388d979138d9b5a53665da91360bacfe3e9770003f9b6594365476c3369ea1f43e5e2aef3ee0dac4363d0bab3211c3ca3e7188cd3ea8dbb332ff9eff36fbd8a43e8824a83e6e884a37e7da7f3655657d3e2a28813e859b803666de3b3784452c3ee674343e9c036037472ca632808ac73d9ed4d33d1635a032f639c7364457823c0d631d3ddcd0c7362d50953639cc983831f1b638a9559536ec979037680b7a38000bbd39f17e8137c73522379a1fb8391f903d3a872fbb36c6a83e379061b1387f7ecb382d091d372409d73611434f3851c27238f971ac36497c513795064d3809d15e3823ae0837f207d537612c463821e75c38dfde9c371f4fca35723d783727ec8837a4795235908e9737f595213839862c387b034737b5db27383bdf92384aef9d38774d2538a9ea7e374f05b63e17cd243fd9014f37346b9736de96ad3e8e231c3f3baa93363b34d336fdbd923e0c6c043f75f34936d6f888363b226c3e24b5d83e8ad6153657790537bc64313e3b1da73efc61ba3638469f37beb6ea3d05e66c3ea989093744f4523539f0693d78420e3e847c9e34e20d6d37512a8639aec0443db065b5367c1e0038a930a0382150b03825cdd937e2acd13745461839c9e4fb39f58c1e372cdd0937abf03d3885b75f397b70093645c1f134641e0a382d5f4a38d1337d3401d6fc3733796038fd1c6838cca58337b95fce37db6f8238324180382818d6365e2412371b350e380175fb37bc8b9b361586dd37f6f4a13814899c383857bb362d9a4437227f0938ee9c1a38bf3ac2365d8165374b37cc3717970838f78f1037c9608937e3815a3e5016493f0c589a3688d0b4362a76543e06423d3fc0773835ce8381344fd5363e83461f3f788a7d34d77cc437877b0e3ebd12043f292aae3660972037c9b6d33d3dfeca3ee1de5f3611b0f7364b4a763d5a63913e5f8f3636adb08737a838c73c026d323eed711036b683313767379038e1396f3d3ad181368d8d463799c40038dd6234383cf0fc361ddf7c37e1434c383edb8038ec6dc536eab80737d37824380ad66338938162364b1f25376056dd39850eba39bbfc933394550c38a55dc339e43e1f396986a034cd05e5376efb7d3929730f3894d67f363f4e0938687e29380daa0a381beae33615a2c43776a9253887150938087d553596c386379325f237a01ee6372fcfc23622b0fe378354293825b42938dd1d7b3738f3313748a0913d41b76d3fc8b3c036744eab36ca8c943d058e5d3f1793583604ba9c36e355873daa2c3c3f72ce9333c7c631375f8d493d0ae91a3febc18f3419c27e37c2a0fe3c4169ef3e299511369406d137a43c0d3a3becac3e5b469b36829d5c37ebd5ed399b8e4d3e5ec45835ce0a543774375b39aa17853d0a42c336a30ad837f05d2d38df173c38939cb0360000000000000000000000000000000002b2fb37bb6324386f114d38a49bcb371e19f7371e63153812a430381b867e37b07fa2381e457938b3a70a39e84ff237c87a453858454b3878904b385fd3c63769cdea38e74a7e38f5ce6f383372f03768ffca37bfb1e337fc590138144b973718c00d38319d1f38e7df3938b93cd3370000000000000000000000000000000000000000000000000000803f0000000082ffd6377dba4a3808976f3f2ea1a737a288c53767d55238980e4a3fa2981b37b6920c38cfabd1394122253fe0a2e63756122138beaa1f398d1c003fb15ba737fb014b384bef8c3967ebb53e99b4d3374ea5bf3740930a3843cf573eccb08437ca00fc3744b024383f77863d1f609c370000000000000000000000000000000000000000000000000000000000000000d17ff6389ac3013af844d43939998739cbd2ff382c957a3ac55f3b3a14d28639b9f12d390556f039867bc43922be893998898339b894033ab366e439017ea03935524739b696e3390d37c639e6f88139075f6b398a73ff3988e2d639a47e9139cd94de381111e0397b7cb4394408583900000000000000000000000000000000000000000000803f00000000000000008d462039efc9603fe644e539e24b6d390c401f39af01403f2f615d3a078f6d39a07b533938f11f3f8178d5390df36639ce7c8d39c0a7fe3ec47cf339f1558e393835513919d7bd3e1fe8d5390b8d59390c2c6539fcd3793e8a5ede39f7e58039b3b3c2387204f13d0a4db139a8503e3900000000000000000000000000000000f1bd27390a02573a217d3d3af43bd93960e99e38a1b47a3aa3db723aa3393b3948f694389dc1513a276e5c3ad3e4193ad77a0838466c3f3a3480553a03887d39286df8373af2403a51de493a75ceb339cfceb239c34a633ad46c5c3a0c19133a22eab239733b713a76696a3abb781e3aca1c0c385c2ae33946dfec3997830639fc9c2938ac8adc39eeabe7393cb9053981f032391999613fe42ee53d2e34bb39cb06a3388d81473fe400d43d6ad2bc3863c9b73873162c3f09efbf3dec28073a01080d38a2f60d3fdcf7913dcb762e3967ed00384ab8e23e7abc603d0dee9a3951d4b139c232a93ee97b1d3d80c9043a216fa939fadc603ec9a2b33c89240f3add3b0b381be9e43d0beff13935c1a138cce2223873be1b3a9fd4cf397b9fbd383c9943384928133a7197083a03a7d838daaca4383bdb823a778f823a2b2bf3398d94ee375179ad3a288eb53a99ff543918c4443804b1123ad3b6383a407cf638eb0f623717dfec394b9efc3903442f39c5f1ed37f526d139232f8f3c7cbcdf380394df372e6b8b3a4d3b963a2dbb5a386f9e94387c0e693c4b14703cf73151398e62f537b836063a988d0e3a6638483840d83138370e413f8000783ed68dad38f67d8538554a293f77a25e3eefcfb7395c77f337b27f113fdc053c3e16341a38d20b473814d8f23eff721b3e434ab538f152613772c5c13edaa9f63d7577ba388be8e737ad7b8c3e7bc3a23daa657b38fb47cd370a0a3e3e14636a3daf4330380a2480389c699c3deeb0773c0270f93838b4ee3759fe333ab569103a46590938f8c56e38906ee339088ff4397fc28c383e9119384128833ae9799e3c859794387b9ebe37be926e3ae35f7f3a3facb238ba4233383288263a93fe453a7c62c238659e93388b11603a718d7c3a29773f39c4d13b38d5e4eb39a6b50b3a9bf7b3389d77f5376979003ad7bd7f3a6cdfa53805a494383b70583aff30713a4486af3952f5c8385fc22a3a9cdb363aae6d8c39bbf36c38586a203f00b3bd3e40f48138d6e21938bd310c3fea5ba53ea4c81c389cc8b5375911f03e91a0963eeef3ec3754b63438c869c93e3c286e3e9ab8413897f591388354a03e81203d3ef6deb63826343b380d7d6f3e0c730c3ea87b60384031f2379351193ee2edae3d5b671038404a2e3876fe973d06aa2b3da8df76397d87c238c8f2373ad280393a15ce5139c4483b388308583a830e823a9afd5c380d126f3815443c3a53a54a3a6bcdbe383ceee8393853863a38f17d3c42a9043a333b9f3888d3483a0e17473cfcf77e39d63657380056643a83ae873a83d4e038889e1839f2c0403a8e7b553a986961396935db39dae77c3a4b378a3ad508193a51ee8a38d9d9263ae216403a93843139828d5438915f1f3a13db623a5ba95638c1f03b38c16afe3e58d6fe3eaf8a4f3816234d3813c0e03e2c47e13e52687338a9efda39c5e7bd3ec86fbe3e342fd6397964913819e2a03e588ca13edd391439518c5038154c7e3e746e7f3e3d6e6138df02f4385ac42a3e8f5d403eda3fd638edd0d0397c63ee3dbdc1f23dd4e6003a8aba6b380fa56c3d0da0743d6dfea73884545038dcf7493a5019703a0a7a4838ac8602393da4323a0e944e3a9db229394cc31e39639d683aa231833a76383839241808386acd453a4f53963cb92a0a3845f15d389acff93995da1b3a2f00553898b5ab385adb573a1380873a0e21d138e30c40385c11113a8cd33c3aa18280385cf41338c6bb383a0702513a7352b93805e61d382133283a95978b3aaf40b63891c584381acd6c39c873ea396d0d8f386aa8db38fae8bc3e082e203f73f8c0384a01f538841fa73e897c0d3fa2fa4f3894d308387bac8c3eb74cf03eb708fb374fba593807fd6c3e7b44ca3e46c44338ab99a738b8b73b3eef05a13e68fd9a38b4833b384fdb0a3ed401713e5a363f385f6baf37b62aa73d6a2d1b3ec34d1538b1e01b38bb820b3d7b86953d7a312338f9258238d4428d39a70e033addc683381413fe377ff3f639d657733ad8e20438d17dc5386389643c7ffc883c5f8ad63802b91e38a7c78e3aaaeabd3af2be1138d8473038c8b5da39e8ba973c46c90c38786db238bd8be4391e09233aab170d386cabb538f254f5396320433a7abb7e38244ec738f7d9973a31ceb83a54411238bde8cd39a9cd673af094833ae05e9e39ff5eb4385d7be1396bb2123a19bcbf388988fa377bdd773ed503413fe6b5f237b39eb538bc124b3e7c5c263fcd19953821541b38f4813b3e7ea5113f633feb376f861838325e113e1f1aef3ed892ff3713608738430ef43dc341c23e69f66c375231a738699ab13daa73913eb0d85038e2a87238315b5f3d1734403e1fbbfa37fd71c339e805cf3cbd0fb83d7f023e39f268af38d257ef39af86173aadf58d3899a05b38c021b939225c693ac0b43738784e3638c877dd396d46323a48642138dfad0a3a5aa3653aacc9873a7f2bf2393d95013ae924523a6f85793a02f7f439522caf3931fd193a0247883a1795f038391e4e391650113a3c17793af93e2d389ab90f3aa7bf503abb62593a417570392f5b0239d82d4c3af3b4723aef0fb038afcaca39a8e52b3a05094f3a9c9d9f397ebd4a389a0ee73d0c35623fee222b382a853238839bd53d4ff0473f94581738c465023aefb1ad3d2e902a3fb311cc39af9cf839d86d8e3d1ef70d3f53b7d5399e6f9639f34a5d3da62ae33eadd008382e382d393ae01b3df614aa3e9a2f1538e40a093adeae5a3a37b6683e16cf15391e56d13880ee553ac25fe53d07c1a638b06dc73978592f3a610a5b3ace2a7239000000000000000000000000000000007e8131395618a739c908113a01262f39c2827c3957fccd39fb770d3ac1a193398b6d5739ab9eb93959b5ff397ac58a39162498391c9ed739d77b053a7859a13957857339d29ab2397576f73959ca8139c8517d39b91f1f3a411c713a0955503908917b391e39c039391ff439d01251390000000000000000000000000000000000000000000000000000803f00000000ab3620391204c23904f9603f35691139645f66398915f1390e5f403fe53c8f391d884739448ddc3973fd1f3ff5278539b9e68b39e911ec3978ccfe3e72cf9a3990376339bb49c239e202be3ee6be65399c6474392a0b2e3afd8e793edbb62d39db0874398b8ec339b164f13d7a662839000000000000000000000000000000000000000000000000000000000000000088fe09360df00c3646f21736335f2a36f9893b36dfc33636d3e8633631fa8737acb75d366b1d5936b1979037681fd737f5ff1436e5e81736213b1f364ef61e36134d9e3735720238b4a8263871931938df82f935d359d036885b053737340e36c8de333620deb236e9615636a6d5523600000000000000000000000000000000000000000000803f0000000000000000335e0836decb7f3f817f9e37b3702936460635361422633ff26233383896753766997136a3ed303fe9a43f38deb7c837d9f21736c5b2ff3ee6010938904d1c36bbd1d23703499c3e6eb28038035621382de3e6358b73e03d9e913238b7400736a151343634e0ba38347bcf37397f543600000000000000000000000000000000794b1c372ffe79372ffd8b380f44c33754148e36c4cb9a36e867b936cdc0c03611cb9234fbd3a034729eed36e12d7737abecc0363d62ca3638df10380aaf37383aa28b3696359636e235a5367e3ca63645cc883685fb11371d8f0238175a04385df411373dcb2137002e00384bdeb6373719d436889c22371356f737789dbf3747a99b36ca6ff336cc262f37bdf42c3785610b37a68c7c3f6c465a3c096a9637a10380360a217c3fbd1c773cb126b836a703a3347fd1623fff3ccd3a1c5f2d37265bba36729a303f86c2833a9c3e273888ef88363db2fd3e408f413ab0d8a736baec86362dee983e8ae07b3ac5c0f7372e1e0937d7abd43d108cb33920aca437da0ac13621f55038471b873807e9bf37aff3963669431d37069b943758aa2637ab23fd36faf23e370db6503845e04a37a6a2b03500bf44361047ee37321a0037b26ef435072e1e3624b00638a8cdd93774a730368d8a5536abf71a389a0902388ca306378a9311375ab8bf377ea08437ac0be1364eb5dc37e5cd8038abfa2a381831a235f166af37f2a72d3807f0cb37277a7c36632235376961303845f1a037929c4c37951e7837f1fb14387e1a87375c5dcd36ed795d3fb3e1093ee4cf2e375fa1973575f85a3f41fc133ee79d4d3604dbca3541943d3fa8861b3ed74e8737773d1d3677f1163f4705ef3d45a7b93757caf33657ddd63e2a97a33d30651a3769df9336d9cb803e657d273dce5202384c2417355248bb3d85b4843c5f2a8e3721ea65362b4e8438dc56d4388eda1c37427d2037325a0e389aafad3845ab8337dd69d73625e5093785fe8f3795a3e636c468a3360ce21037ea99283813ffc536447c2834e5444334f278073726427b3403850e37fca23d3730c85e3779644437364a54361d209e36270cc7365c6ba73637271036c5ebd5379495333880fcde3757cf1635f3e03d3739b9353838cd1735a218f435a8a61c36d5f1cc37782417367b9a09378d513d37c9f9d9374c002e37733cca36885d2e3f2840a33e8b7fdd36a3a29a364ea72c3fde8aa63ef9c9b036d2ec2834aadf193f49149c3ef4294134f097c536ceddef3e16c3703e278e20379e282836d01eaa3e34a92a3e03af8336f6a3023624a8493e6089c73d40502f37706b1635bcce7f3d2e66d93ceaff12351834f135c2949b38c98ce638441a1836787efb3666abf137ef6b40386f790f3748f90e3719ce8e384674a638baf10f3716f4c536895690374635de37289ecf3692cc4d3622bc823615145337332e59363aaccb368b94ec36184028376226d136029b8236da6280378fe2bb37046f8836c740cd3670eba73761e0bb3742ffd136214a62367b96e13736e0023861a362361221d736cd2df037ae520d383943d73621990f37700d2b3832df4738726b1137d3670b373723003f32aaff3e73e50b373b5db0364664fd3ecb49013f3130b53685c349363345e83eb9ebe63e3edc4b36993ac836491eae3ec94db73e18a1c93691ec80367eb17b3e4932823e46028036c85bcf36d6900d3e20c3273e3336ce360e185d3670222f3d67a1573d44ca593674e3ca36bf838d385882a138c26fc736dcf40f37b82ca338992cc2389995113737f20d373fe51f38c885e437bfbffe365a8a0e36246215371cb411364f6fea35c4031735c46c1535431f20350f641135239e9837b43df33790929f370d2a0f367a74ac36859fbd367bd8b936cb3a7c36d8f84e37b507ba37c79c65373fa52c37309eab34c4e2c8375a0084379d403634adc26e379bad1e3811ba0e384e1ebf36a676e9365740023777af01376ec3e1364825053758dea13e8d042f3f3f56df3641bf0536b1a9a13e4b232f3f3bedb935f105133597d6943edad01e3f71791135e1512e36e7a7633ed661f73e5861f435a5fd8636c3271f3e2d02b13eda4c2936332b31375a1bb33d68f5553eaeecff36eba35a34094f923cad709c3d49c62a3441e5c636d60bbf38825eac3847c5a9365ba4e2361d891b37950519375d45db36718b8237f0ab92388c62e73750e52637259a0837663926389dc9c43644d56836cb428137ded1d43792a0ca358de1e23493de2c38daec4138ef4a663761f6c83614ed4e375854a437c695153726880537e99903388267423833abc83758924036a735f63797c0433800e1ee37f9ec163669bf813734b6f137e04e5e3779b91e369b1358371c02db37e3ed3c37ae2b1e373d1f7a3757aa093e1a825d3fb531fa3605e2c1365abb113efb805b3f4cdc42369222873678f50b3ee77f413fda57fb337c99f2375793d43d77881a3f35a36236a5181a3720018d3d7decdc3ea72af136c6e5c637b192f53c7ceb863e3bfd2936a9afaf37728ff33a22bcd83d79c50336720787365c77813824ed4f388490c635766d3037406e4a388b49e73783db0137af582e3763af9337e8330c3736c194366db5cf374397c2377bdeda3666acbd368070af373656223734a90c379c670837a6e80938412dc937222e8b36905385360566ac36c3c0a936771b97365f7d9036a5d62b38bde23138966187376e2cc736ac4f5a3774b09237efa69536ab60c734785fc036d1312437821fb1364c449e366189b437b16904382b638837dd603c37c51b283779dd893a2ec07f3f57c184360ec18d373ae13a3c300c7d3f60fc9d3667d589374810bd398337653fc41ff9369edff737f26a433a230c333fe0057b369296ac3698cc5b3903f7003f8a9e893609202638303dbd3950ee9d3efab4c236e1d34d37a0c9f1392350e53d88e69c349c0cc03634189e38c6cb953873d19636d46f9737cecc9938548732383dd12037000000000000000000000000000000008a225136190b44363585343626d82b3638ac0336da55e8355679ac3586c0c5355e2c3b3880b9f93776f21b37ac8688374c0221363f1821366ba91a36ba871736b331bf37c7bfaa37ae5f893728db5a37f0ffa6373d90ca370124d437d462cf36fefd413621214d36ad656736917c1d360000000000000000000000000000000000000000000000000000803f00000000685852361f63cb3754f67f3f2c881736223502360bcabb371be7633fd6cab43586143838010b80383fc8313f90619e37fc8220360034e237c624003fcf961636e962ba37a75f4d38ba049e3e85341e378cd7b137833a62386aa1e63d4216513678a93a362bdc9f378fb7373a8d6011360000000000000000000000000000000000000000000000000000000000000000dad2593663faf936de1250378c2b3a37b5ec3e36a7d68536c7959f363aa4aa36f408933641762d37297f8c37e9cd5d37100ae435c6e2033734f74237560d22378888f43495f8b8364a4eca3677c27f364a541336d7671038db930e38c9559a37440b5b3505301f37c08b0c373a8b363600000000000000000000000000000000000000000000803f00000000000000008293523683de7f3f8c188c3731152a37d0b33b36bfad5c3f47d10b38aef2b0361a8c9636cf2f2e3f28e40b381de452370f8ff135fb6ffe3edc974c38d14f2137c603f5343e49a13eb43a2537fce972364df717362c03073e34c332384dae9e37818b5735fefe8038e5de3037a77a4136000000000000000000000000000000004ecc1e366c97bd360c3b8338865c1337fb85e4354ee4d73673f81c3810881337d0e848362a52f53645f65038ea9014382afa663681ffec361969e337811f5b37b6965f367ef8d836ec0f1738cb4a0a37bfb06136e6dae736cb750e3856082837b9aecf36dda64c37c7131238a7c06837727b5135e4cdc1366d4f00386da01037022bd835cafa8836da994238ed989237abd0fd35fd39753fd1d92b3d365be136ee0d9d3569c3723fb120533d5ca611375c722a366f45533f23d72f3d1fd8ea37f38d4a3686ed253fa7a8053d0da637370895453672aff03e5482c83c0578093712b84f36b632923e6ff0913c4dfa17377e0ec9364b51d53d1109483c7e495f3765daf934a6abb1370e5d2b3a2d190037bbd8b435582c2737abf3d5385cd74837035bad33c54f513650a14a38441d6835539e5034fe1f8f37d4e08a381b0a1e37fc3780351c6f1c37d6a73038955cdf367bd383354c5aa035cb181638a26aa635ea1ea735d65a8836ba62e937d09e943608771735aa02b836aa5ba337ebddd1359ec3d335fb70b7372f516b3815c8f93624733036c00d9437d3423338c8374b37a0cca036b7a3093747551e38432110370d00ae33cde5503f84483c3e0d335435a10e0034fdae4b3fc7f8503e2c442036a84f2f3513e12d3fda13403e7a96a43641108335ce700b3f4b63183e6b6ba635fe30a33558cbc73e2153d73d01138c36457213353af36b3e44b17f3da488b3351bddd435f040be3dd4dfc33c1627113697f7163604ea0e38c076453a7b8d1637dca08f36b56d40373f909d384c810b37599a17350d895b3872e4d138b3e8b73580588e36a1d70937bba242374fe7c73640e19036d30edf3607976d375b8ac7360658c63517ef7536bf30aa37a638283686f096363b0fec3666fc0f381769bb36eb77d234090e69367079e23763c02f359435853672e80837aeb5b0371fafa436bcfea936cb93f736e3d32138456cd6369b4f043441e1cc35016340386aa295350d87f434bfd8283fae46ae3e98c69735e56578363b53263f5962b33e2b97b536eb468336543b103f6ed1a33e9279c236f467a03594c7e03e6dc3813ee2132136328d8c3688a0a03ec6723b3e25bcb836529cd2343f2b403edbf1e83d4c3f2a35185680362b3a843de3003d3d7defa3369a75a23641786d3870f5d93810cbd23608390434c428cb37de84ed3810499535d35d8c36fe6e6c38c735d6385a828836ebd4a236db910f37d73148377248a336878bde36ce109037d7ae013813f7f036b2e31137ee994337f10b813750711237cd59c33624280a38a4773238cf58ca36deb51237da2545375ea6a0371e5019372b66f536f3a1bf37b2214f38aa4fe13669c9aa363ef00d37d9db5837ade6b236a8b08f3623abd737131a74380d3794367f5a8236e968ff3ee73a003f73cc8036f9329536576efb3eeb20023f9c1d973612dcd43639c7d83ed6a5e53e25a6eb36ad9508379217ab3ea51eb93e28c2093733ffb2368a05763ea9f2843ef781b936a5100c37b7320f3ef68b283e256c0f37fdf4f2360d1a583d0c589a3d4304de369f12a1362e3f9e38e5320e3a8f06a736a9fc89367d5db438f920f93838b69136cccf9c353fd5833877cf6c3852280134eafcd436750cb137c0fb9b37e972a636f555a53613fa173726322137c7b3853681fd30358a1f3e370c417837524ed33471f1bb36d004d437deadce37c1ec9a3654713136814c6337182c71371ee0de35937dca36c8e10137291a4337ab9899366769cd36d92316372d241d37bdf398364929c2353b8b67388a3f8338f33b4c35f5fb8035d573ad3e433f293fe48ef733923dca36376aac3e5fcb293f8ee2923648ac9c36bdfa963e3b37183f92e06a36fc032d35779d6a3e786af03e356dcd34f46ab636c223243e4eb3af3e1fac90362af02536a1f6c13d3c0a5a3edca4be35f6c7ca363360cf3cce59bb3d024d8f36fee4bd362e3cc438db39043933dc9236822fa735a0c2af38fcf7bb389e9f22355c9b0a37698f4c38684b8437eb409a366b331537e8871238f110c037e54f2036a89f113689ea32384623e2373b14d7356d4dbf3575c33f37184c0037cd8527353b5f963620901737126dcf36f1e3ab350d99a635a1740538a2a57d376e088a358cacd536884d1c380c42fd371874df3541de4237974c77383d7c4b38205d9834ca807835a0cb02385ed976378dedc0330a030437af223b3eef35513f75007c36dc17eb360e333f3e9f03503fadaaeb35d8841036b9e9343ee9e0343fa5a7c6357d97b135eef0043e07d3133f47b9123599358b36eca6b83d8a58d43e520caa352487aa35515e443de957843eab738535797eba3640b5913cd583ec3dbafe8f351f2cb23630a86e39c5d699383d5e8934d7697335037147385c53f1374bdcc93391735f375140953834ae8037fab3c5351324ff36e3baf7375ee6d536a8fa19354c377137bafbbf37bde545374bc2cb36ca541937ad3ce837173af03685916436660e0b37fcc0ba37ba5bf63686e47d36ca625237234bc5371ac53237b30191360ec90638ff155938b3bbfc37945d863652431837f6a517383c2e14377cf72b36bb282637608a113883fa2437810e4b36e09ed136a28d273d327a753fe0097f35d373f736eab5193da738763fac8ff134ed5e5c372d96f33c009b5a3f5a23b436ee9c17377d4cb93c748a2c3faf834036289a083781d58a3c7521fa3e5640563646603b3763936b3c7c229c3eb483793636cff83708170e3c05e7fb3db1c46a3612fd15372f12143944ec65380b480636c09c0d379dcb8d38224ff23718d1353600000000000000000000000000000000c8ad4336e6b4b736acaed836f7b857358680ba376abdcd3723c6a7377fa61636c57f8e367a088f3621528d36ef5cef3456882037e36236371f89213774401436550f583783be85371f938f370f9fd4364cf0af368f35a336dc900437f24853364c922e37cdc16137bdbb88378ebf99360000000000000000000000000000000000000000000000000000803f000000009b19363614732c371efc7f3f812858357de49a37ced82238cc2e5e3f016501360a477236e335223716552f3fda22fd34da870f37a5402e389cbf003fffa70c36008e553739b90e38a987a33ee215b036e1e2b236a4751038813b0d3ea15c52367369283742188a370e3bd639375a8d360000000000000000000000000000000000000000000000000000000000000000221f21352192b837f3c683379d4df0353624f635d6f5b537f482b8378b8c1337cecac0346192aa37613e6b375e073b36f47a13365201d13751c0a837f8f262361aebd7341c46cb37d34f843729aae335cbbb9835ac5d1a3815d92837f35cac351b345d34cea032387e777137cb948a3500000000000000000000000000000000000000000000803f0000000000000000dc6416355c27753f116ab937c987f5358457ee35f0534e3fa124ee3741ebbe368afcbd34311b273ff5fbdf37a4fe0536a21213361249fe3e8efe0338fd2e65361222c0343812af3e15b1b83731bae8354c299835cdf93f3ef5da8a37639dc035db6d5934ccb8033d686083376f218f35000000000000000000000000000000001d609b3216a54a38c550673c5d97723732351d377cc893370678163c9fc8e4375ee9f23568d58f37d8b7de3b6f89da377e3dad35d47212374a4c0d3a93d4c4374705ee36e9e4b03765c74f3c01830f38116cf1357cfb8f377270073c4b59a737d5b71d371c12893752d71c3ad97b9837cc81fe35cb9c0e38f18c9439b47aae37d59e5d35d1b15a371e84403ac7399637d2369b32ffd56a3ffe7b693d79c42b37e15f1b37b2b85e3f89b8913d428ec137c82def3501de3b3f2a56753d68d4b93736e9b935059f173fd63f5d3d5e11aa379988ec3693cde53ee047093d6dab08380d2e003634dc993e1400023dcfd99b3762c21f37f5e0223eada8d53ce8e38537ba160436ade93f3c33a5c93cd5d99a373d226f3537791538407a2f3c0fe88c378219e9345c2d4738e832733c5ea1723583068a3694173538e09e6b3c870d0437182e1d3717658438b639d13be8a65437bf530435c9070938f3011d3999219e36e8823a374989f0373dfb983839b5713784151236059f5d386a3ae03bb6aea0361850ff34c67a32388c326b39b41ede3558543f3714fb6b384e7f8739aeaa773742678f35f80e1d38193aca39bdd1c436b9b4e834c44e463ffe5d4e3e73136c35d91a83363a183b3fe27b4f3e5b200337bd2f1b378c621c3f53a6423e2e295337ad8604358739ff3e56aa213e4623e935841339375433c13e5198ee3d2a687137966b1836b953803efaff9c3dd28ba036fb0b103508de0f3ecc30313d8feee235c2ff3e378fb05e3c9c4bd03ce692763742018f35f80d7d3830d7703cc12ae5351bbc9a35f2ae5c38a3817f39a2e6dd35817f3c372c463e38a53f013cf2cd6d37462c0136e7a336369a0b133af16626366e2d833509c5e337e614de399896e435fa8c0a37a1c85338d55e003c96a133374c92b33547fb0b36a51712397579e3351bf5233755232c387d40b139ae58493730e1693606ba8b38d847093a385cb6366d114c35c9ccd236d5e9013ab7be9835ecbd98350a31243f0553b73ec912d93536ed38375c95183f32bcb33efb886b37c23afb35bf72013f0e159b3e2f6f2436e55e8535f3b0d03e16657d3e6402da35bbbc08377d669d3e78e63d3eb4c33137437fb3352076533e451f063e11b3e035b7bc23375f4be13d6d2f973d135e493734e366368ee8823cfbacb03cbcd1b436eac85035b788af38a514433cedbe97351deadc36c98dc138e991403a6782ff364ee5c337839e2339bebd203a3f66c937102094370276ba386984b13957849c37152d54374acd9c38f3b8b03944216437f76ea5378364e63864836b3975a7a637d7875a37d75aa738db4a6639a37862379aa59737dab5b33840d345394dc9983743e9c837cb0f14393618ad390067c737c5c0f33634c49838ebfae139c0f7f53669c5db3630ecfd3e2f96003f648bf03616a6c2370dd1ed3ed235f83e4a59c73747f292378796c83e6705d33ee82d9837ecca533717ada23ea761ad3e0e365a37f69ca43747c3773e040e843e7d55a53712c65937db55253eb31d3a3ebb6b59370f0098370febb73d82ded83d306a953717aac837c6666f3c126d103d229bc537d43bf536e4def43861e91c3a27c3ea369a62983590f6dd382e11c739378b60359933b5368400cb3801060c3a98517336274a4a37ab7b80385138c039c7212737276cd935a00c823735040a39135bbf357e583237403ca438ca1c4539df010f3786b0e835349c49386b562a39104a8c355b962136bfb9aa379071183994590636b3136f370939753895165239eecb4337ce2ddd356f228038ea88f53852a6a435d6fc943530d3b13ea0cc233f5c8b4035db88ae361d27ad3e478d1f3f3e3158368f0e4837d3ab913ec3f1073fc9de2037a57cd7355ee96a3e00aedd3e0eecb135b6293037e36b2d3e85eea83ed25c09371466e9358b1aec3d76a36a3e19e2893580f62336b3da713d60f8063ef05803367ae86d37c91bd93bb30e1d3deb2b3e37ff9fdc357f37c0389fd00e39b6f8a235ad97e5353ff5dd38e950ab388c7d973530db78370f38bb38d3d6df389b8f4537ea0cf1351a1ddb3815220739cc762935b36ea13696eca038b1ec9b38f0442a36cec97437d0544b3852933638ad5342371847ed355745663857dd72384f6f36351ad95537b85b0539cfb90b39880124379ba70737f0c1aa3843900639d3d09c3684627035b48a84389c7a2239376ded340a0bde356053523e757f473fefbc8a357a8f753794d84e3e033a423f25403d37455fe5353565383ed0c0223f5ada0a350bfe9d36037e113e8913063f5a7f163616427237f46fdc3d5703cc3ecb873c377f4dea35a2768e3d393d8c3e640d1e3563bf543701d3043d14f0233e08392037a1bd0537e2a58c3cf4f90e3dcb519236177b74358c3a0c3c79a26839a0c1eb348e2f893709a11a3c7e947138340291358e79a1374123f638eb5ba73830ce2536966c973705613b394d636a38ccf92c379ad59e370d7297381bdfd53737763636b5511038ae88ff3b2d757e3825c30237e285be37d2fdce3872543138ae462136ae48c1373791413810570438060746366333d137c316b838b6b86c38d7d12f37f90257373da57f39a7e09a386257a332c433843766746b3da0f06b3f52e16235a91488378c75833d952a663f5ea1fc35bec780379205663d4d0a423fac702137b4e19737fd2f3a3dde301d3f9c740d36a3d608383c64f93c5502ef3e2475f736bb5aaf375536073dbfe5a33e9557f8355836b737ae4bc63c4172333e72a31f36d6e2c8377c43853cf1a5083d4ba82737557c3c37a5bb373c674fa9381ccda43200000000000000000000000000000000228a91352ea5e236b6a2713834fc57348b0dc235f37f50362882443815789735a5a5ea353baf14374f4405388d871735413b62364096323794521b38e0f31c364c830c36bca12837cc023338ec78c53418e66136ef5d9a378372ce3936df06365ca7e935b1ce383740b73b3872cb43350000000000000000000000000000000000000000000000000000803f000000006a989135b5537f3703b8773fe8295734b819c735cb36923716f74f3f3c4a963559c2e835bc37b6375f6a283fd533da3489b163364ecae737fdd1003fdde81436474bed355b1baa3751b1b13e3e8cbd341b4164365605cc37b011463e20310236ba0def35c55c85376bf52c3d946734350000000000000000000000000000000000000000000000000000000000000000b1a816360d032c3607eb41366c8544360000000000000000000000000000000091fd90340000000057b3c33391194b3417d8b836d936bf36a442ba36f5f4b63600000000000000000000000000000000c6a6273538aae5346132013582b69b347007b03607beac36679fa3360640983600000000000000000000000000000000000000000000803f000000000000000039c40b36671a803f45fa4336f7224336000000000b05643f33d7a836000000003944b1336339333fc44c2f336c711934447cca366c6b003ff911b7361875c53600000000955f9b3ea8400438000000007cc20535a83ddf3dab42bf34cc6f8534f286b4360df7bf3a5fe39c369ec6ac36000000000000000000000000000000000000000078a1b535b3fd5237000000000f4c8e3506580536205a4a36c0342d36121e0e33cefe8d337984f232211206320000000000000000849d0236c588a8359602ad3415448535f25bb6359d109a350000000000000000a4448437d9c64636958e9535998fce3538682e368395d635cc818f337d5983370cf9f137856b0e370000000000000000fe9b0e36000000000000000022587d3fb0e1473c0000000089596a3526c47a3ff4f8a23c4c8124363d485d33e981613f4f3db839fb1e46330000000052fe303fe2f4bd3861164c3477b03b35d144fd3e27bb2c39e957b935000000002f999a3e8b937139000000008c029c357fb4e23d3a624538c3fad13500000000eea7893ae4049e384834853500000000313a123729dc1f3800000000eef0a63308428338360ce138155c9e370dc41e34694e25349d9d83373d8a0e3457c5d533e9f7e53374bca934cb6722352d4017329d4b2a32d9222c32fc7d2c326a679a34d13b8234f05be5342364373500000000000000009e3dec350000000000000000f55e3436171cc43700000000d8c40936f3c01536de6edb36a97e1036d434f13535bdfe35bfce0c36e2ad13364546a23399c15f3f5056033e1f44f833d9aeee33c9f75a3f4613163eee7c56342b64ca33fec2463f6521dc3d008a0a35ed6d003225a9183f1e55b93d127d3932f6eb4132b48bd93e26148d3dafa208350000000090f87d3e8b914b3d0000000000000000ea52873db9c01f3d000000005713b63559b03338ddf93d38c2af0c369fbcce353922133631a08237b03bfc35d89e52369859c23774c3ed374b29733608ac92346929f1369121ad37feebb23569e930338847153367580e3337ad1533000000000000000000000000adb19434a9ecac351839f1357a22e235db3bc3350cfd23331b433d38a2e0413890099636380d3d35b9772b3542d2ac365f908735b8bcd434f0216c35395401376950ba347193b0377dacab38ba66d4383c7fb738d3c5303623d82e3f2099a33e82a2483600000000a90c2e3fefeea43e18f97d35ff760333e3d71c3f73eb933ef31a153300000000e2b1f33e4e70683e000000007d879535649fab3e54d2273edb07dd359e6bf43253d5463e8eeecd3de81a0a3350760b350275553d3a1f183dec825e3521cdda347b65ee3848479738e0803f35000000004ac9ee3806b80b39ee563c380000000058e7c6388415bf3800000000abf43a3675fbef3704d2043872d36936ed8dd132c4505b364a5ceb362f69d43484ceb934206a57353887fe36a0702535542e3936ebf1683674e17f364e295b3600000000c3484137b3957237eb41183551bec034422c7c37b2a2c437c1654835422f643680f8d53743cb1838ab5c833600000000575b0338550d4b3805176a37000000008e08003f3ac8003f0000000085874836c70fff3e6402013f36833a363c073233bd7ce63ebf95ec3e6a7c1d3300000000b7b9b13e4d85b83e00000000874d5136ea097b3efc48833e14514a3600000000196e133e37071b3e00000000d79cab34c2d92a3d483a453dc5999e345a48663624d18a38f9b1963814a77b3600000000adb3d538c0f709390000000061b59e378ec320392d1c05391117c8353f74bf3449b96d375458dd36d6128234a3160435ae8c1935e22a52358999843582970533a58c03389a8fa137360817332f72ed35515cff35119fc0353878f43500000000000000000000000000000000ea4d10333674b73702cffa37d75623332007f73575f44f37b25bbb371ed6cc35632062366c7572360e8edc362803833637622c3636e79e3eaf49313f00000000febfb83400d3a13ec8a82f3f24f9c0344f6307356d73913ed6e1203f8f2675350a3be33237195e3e7b87fb3e4b382233abd9aa35b80f1d3e4b8cb33e3e73c33500000000e067bc3d677b543e000000008271f532b4cb3f3d9bc85d3d79612f332c1ac635e09e6b38b91382389430ae3546555e36b439e437b979ed37de036936616e003644476c373b30fb357660d335f315c535a4e95237cfdddb358cefb73500000000bb4fc136000000000000000000000000000000000000000000000000afa9e934b7551c358f6a5d34d3b08134b65b3b3210141e32af7815324a1f1d32a549943480061034fc3af5345beb3635f999153443d2cc36c1a10d37d6a44134f134cf37b6f184382e873438209594330920e3358b0b023ef40e603f033f5a353e4fca351e24103ea2755c3fecadc83400000000c6abdd3d5cf2493f0000000000000000e5cdb53d86791d3f00000000387019355b6e923d9d03e03e03df9d3396920b32b48b793d5982823eaa881c327f46e133520d393db17c943d6698ea3417f50734279a2b39109811399cd90634a400cb331b96dc38ec37a23869bac33300000000cae01338b2eeed3500000000baa3503530a3a637ebed263400000000a1bcab3522358135160159356de4843500000000000000000000000000000000f07caf355b69cf353c216a35ba5f7635d4e8ac33568ad13600000000000000007936823311719e3425d20d3387382f33f94a373601bf59361ecf4f3686aa30360000000000000000000000000000000000000000e282a63a7f11803f00000000838d8535bb2f883c8cbd7b3f000000009f729735f5f9ff38ceda633f8e3c2335000000004f039c3930f0323f0000000066d4dc35efd8033a5ead013f7b5db834000000001b3d5339c3509e3e00000000c722ab33045fa53b188eea3db73bc732c8a0373699bd2838cd20e63a6ae510360000000027b382372f9886370000000000000000000000000000000000000000bacaa33681ca92360aad83362e9d9c36e84eeb3436605c34e2535534c0ffa634000000000000000000000000000000000d03b73689aea8364fa7a93641a5bd360000000000000000000000007f4d0633000000000000000005619a36000000006af03c3681144e360b436d366a6e36360000000000000000000000000000000000000000000000000000803f000000001f29a83669ed99367e01803f46ff97363f3f8e3463278c34c236643f99ef803400000000ca75a33765a1323f000000008a25b6366ca20e37ade7ff3eec99b43600000000ffc2b133e40d9a3e000000000000000047dbe0373102e33d0000000063bc343610195e3681a7b5397b342b360000000000000000000000000000000000000000000000000000000000000000c9f00836a9a769367e3d6e36c70d6c361402b3356413ff3519b72f389918c3355bd9ea36df170237364812377c290f37fd74c5369a5ce83655b8e736962ef03669ae9f357eeb8838d17e7438fc78933735e6c6365297bf3788206e37a717e63645ba6336f8652738abfdae3751878e3600000000000000000000000000000000000000000000803f000000000000000001280636d6f37c3f68df7e36e0366b366c84ac35972c643f49a5d638f516d935f48de836a3b9313f493baf371a6a1137edb4d136af68fe3e615a46376c35ee36747baa35f12b9a3ed3cbab383444033749a0c336ffb6d23d101dbc378fc2ec36732a6f364c81e63916d7fc372cd78f3600000000000000000000000000000000147b4a358cd139389ffe9e3820e58f363d55d935aa3fc937bf4cb638abe675362b701e34ff5035348bf03338f63228340feca836a5be1d38f810bd38877ac2375dcf9b35509d6d37cfd041387ca7423638b0e4334fda2738bc659238e1fb2a37c2a9b43658737538ed09c7381b21803729c60a3440a41438f3d19f3831b6103609fdba32f0c2a23262520838ad9ccf32860dfc343a86743f95ca393dc3fe8a3690e7b73538366f3f9ab15e3d6b296f3670ba0f34ae015b3f1231013d6c4e2a34345c99369090283f8821dd3c24e78137b1b0a035151cec3eb9afeb3c01543a366ba2cf33296b883ed534f53c4b0ca936905ca536efa6813de82f053d52f022371609e033b02a213aea42cc3b9d620336f721b7325f83a1371be697382470e8327723e4355d6223386cc060393a523b3681895334a38e9c3824a21839d8eb08347d321b36ece11b38657bda3871bf9d361e5e4734796c6a375fe6d9380021d635235116355b01e8380e1a23399a5e12385b1f6336768ed338aaf50b39b3bbbf368f0dca34147afa36322fd03748d149351f8218359a84a738391710394e7eba342e30d7351b0cac38b45e08399595cc375c4be835de75543ff9a12b3e20be2136b9633534c70f4e3f60282f3e16af1e34931d0136aefe383f9055123eb5539736226b30349a540b3f22c40c3ecc3db135e6390a350809c13e6184e73da6f50337d4fa4636bd98423ea902bd3defd5ba361f099f345c55033d9e25a43d37d6a834810006359249223937cd493dcdc9be34983ebe35deddf5389906ac3ccce0183684b29a35481cae381fc70b399a0305363bf94e34c821ed38ee8d25391c0fa534842b2f3583e3e3375e37ce389cea6135c30f7236bf608d3887cd11399f05a8362be6d034289eb6384d2f0639c3f3cc3576613e355eae04386eddbf387796b135facf3236b7b0d338bbdd1d39d91c893653fa2c3431dfbb38de452939f6d70036ab16953514dad83798f09838f3006136bbde93357fec283f4de0ae3eead3d935dc64e8331a50263f38f1b33e8382aa349cc6243514d3103f96c7a53ef2735e35191e67364504dc3e6fdc893e44e496360ddeb434530f963e7d5a4e3e2ba68835907e2f35ce60213e3d460c3e2fd9b8352d382136e6cd913c093b8c3d8ac66f36a9a3d433c9053739280f833cd1fec3356b208535b89a7d388932b338f8ec4a3635ffaf324d3a8f388293e9387ecb5d34d651823500452a380a4370384f64a4352bf183357bd2d3373db52238b244a735b60fc835e1f4e5373aa34238d2060536c18d6835aa6f14372789cd37176cae359528ed35b84d183805534c38fa33fb35771095354d47f037d09a3d388ea5d835e17e77358568a33792e47b38bdb1f635f8133e324d2bdc3793ba8d38eed58934fd499d321823ff3edbba003fb267403411dc1b35b8d8f93ec832033f3f496135a83e0e35ac8dd53e0b7af53ec8354c35f628a8357dd69c3e7756c63e58e0ef35921e27354475613ee1aa8f3e198e8735a15fb4355db2e73d4055473ea2ffce35403084357abf993c4473b03de577a73588ac283563f9ad3868f4983a2667ca3507c20632560e8138e44a4f3955cadb3207093736ddcb803892359538fa8fd7351fa2963551f00e3933a7fd388747ff34bfec5d36b9b1f338d3b1d738ab005136534cac35d5d71b3883dd3738b0f7bf354cf07b356fc6d538e420c73845681b356feaa136a107fd3891bee43874d39836f2e4673599dba738fce1d43874ac85359e56ea34dc19f738af701439e36d85346e8cf435c3f68e38effaa238fbaad0358d4d1f361c95a73ed76c2c3f323684355a028835a39aa33eb56e2a3f12473f3404215b362a848b3e5197243ff95f273657aeb235a2674e3ea281013f55636f35edc86235c0ce0e3eda35bc3e885bf834fa0e9836cafd943d84a96a3ecff28536c38e50353960ca3ce1adb33d73943d358bd3cc34c076483930ed953916d48434acc6d93523e9ee38314044399766c8355088e23524831c3977930b39910be735101ca334650c24398eb9fd38e41ccd3434dfd434c18c6637d9e61537a648c234f90bae36da2be938f731ba382b61833649b3583797d51d3954050d3967d411350797763561e5ba38bfc19e380d16043434d78b36c91fbf382b39d938a2a25d3657e5b533ae90f3385c54063973e03a3435a3243664ae84387a267538814a1836cd71f1351c441c3ee9d5533f1f64ba3569df6d349b400c3e92a5503f3c9ad4349a8ec2346006e33d1a43473f428dac347fbfaf362d6ecd3db54d1e3f9e83513656e44e356ccd933d71cfe03eb0ed0f35b2736e358e23773d52c1843ec57e0934afb0883674e2453d6ffbb23d3b80323644861833c318c33c0438e63a0aa4183480da1b365dfa453b799b9738f74e12360c53e13296dd4738a1a6bd37dde7aa32fcc7e235f3438d38a2492d38e180d73489f62237d7d29238be3133384c9fb736dc3caa361ede6338129f10381a2e80334c40373646461d380d03dc376b4efc35d2b586370b1aa838d79b9338f7a7c93604503734bac11938cfe32038f8361e34f81d5b369f0c93383dadb2387ca13f361b807e3623d44338824962389e56f035b5d1d732a104293d92b2753fa784a432cf8fca3543f8103d6548753f6f1ecf33ea2a193776b22a394186673f393e95366b05003614f93b39713d343fd2fc82331bb128366b71df3b19db003fb479cf356fb35a373b7a243c12209c3ec592b036a2e6483463fe673c673acc3d455f2734e2b058363ad1e538e6433c3cc6bf26363a55813643459b3846c0aa381257b235000000000000000000000000000000001ee18836ecfb923664268e37e78c65365090e636693ce3362bd8dd369f9ecd36cae98e37b85d0f38c34f0b38f4d4c2354b46e836e92eef3634deee369770d436c0ec0f37e6371337120d9b37371a0437b94fda351ef854388cdcbf38bbd6e335932e633647df7c361e1a9136b09d47360000000000000000000000000000000000000000000000000000803f00000000f133873633728937a901803f76ea51361669e8362ee43937a2b9653fd10abd36f0dc1f37ef42a338ca23333feb41ae35072ee4367657183757db003fb705d436d5e912374b88a73782cc9c3e9110f736a5afd83598fef838610be03de772cb3568b5563623938c36cc2a493ca7ae3636000000000000000000000000000000000000000000000000000000000000000000000000764a8838863ea236956e6536e78f9331a7e8d338641e95378d126a3300000000b65a5338dc9020368504a9356dd165328c7da238a1947735fc64283492ea0835364ba838766118361d0c9335000000000d74de38fd6e653500000000000000001eb0033956423a340000000000000000000000000000000000000000000000000000803f00000000000000000000000045d7783f656ca036a8b76636d0cd913189095b3f584514387c4533330000000065262c3f934a283696edac35b412633297e5fa3e7b6a703527023134fb1a0f3546389d3efb7a15366cab9e3500000000ed5afc3d82245f3500000000000000009bb9163a000000000000000000000000000000000000000000000000fb1ec6321912b737318f033d8983bd35000000000394e238fbd6c83cb75e0c3633e8b735460c0938bc298d3cb42276364a2eed336922d03725fe533c93ae1c361af9f434419edb38799e883cad9a28363f040a36a216573789334e3cf57a8936f996bc34ef5bf237ac22793c57741636c52490347c1fbb38976a6f3c70aa1d367e73f43530d20e3845dba53c5db76936e2dacb3287cb663fdec55b3dee12c135000000000e68603fe92f803d87690b36c6bbc1350287453f5ba5753d7d1c7336847c4a3409b4183f8db26a3debb8193623120d351bddd53e99ce533dad6828365ed20d36ab67723e84aa4e3d54d888367375e834e0a4643d03e43e3d51f81636bdf6a9344e4b3c3980a51f3db8e81c363659f435934fc538303b073d496667360bcd1535fface23891412c3d54907236251ba733297b12393017303d045cba350000000082951239eebd053df51a32351e53ab3361c480382d77063d60bb423608c38f335e8ac138d7c8f43c3e1fc3348d05633292921e392f6e013da360d63533c98b3360f91c396cc5103de3ae2a3600000000b72c97384c45ce3c88530c35d2114133f7148e3887b6003d06793b35be192a35d11a443fe020363e4f516c36f31aa9330c733d3fdd10383e79e2a83500000000c1aa1f3ff786343e86ac14353be6f83363a6f63ea857273ed6e441367a179c33bfcfac3e29c5043ea9fbc534edfd5c3276373b3e8301ca3dc555c935741ec73356c6433d5447843d49242936000000008e0c85392bc0553d8430df34f6fe42330d175d39ec6e3c3dd6592735d8275a34473917391591b03c8aaf443500000000709c38396be99a3c42b1ce34fa33913426910339e8ddea3c26413735cfa6d535e8f62039dd03963c88d5783695516633d3452039364f8d3c9fa976344b3f3836a7831139b28e993c96c7b6360000000054a61939e823a33cbcef7235ede39933a160283947b4aa3cc78fb034dbd1a3365321cc389111cf3cfd150d377e908734904c203fceeaaf3e036b0a3500000000cbf4153fe33bb03ea46ebd34031f9e34c559fb3ea483a83ee2582f358360f535fa35c23e04df8d3e162b6e36ddd38533bbb7843ec2d3543ea22c803416b846364139173e08c31e3e60e5b13683981332fd8c073d8fdfc83d33364a3509f5a2338d407d3911de293d37ada934c04fad36c92dd23998e6063dfa790a37d78e18367e6e09388919213b22590d36a473b63573100c39e35dc43a9c90da35d542fe35cab362389307a83cdfcd1636a1913a36494ca037c0f1363c4e663a365cc78c35461d1339616ed53ac4f2a43522c035364b11a33723333a3b34564836568f0c3686c67338a80d473b603305368be3c135118cf938b3beb43c7e1edc3509311036776a1937e779663c31bd2836e4ab1b369d14f23e003dfe3e777d0936fbfeba3536d3dd3e762aff3ed465c93586790036931bbb3e7700e73e9395103696873c36361f903e4ad1c33ebdfa30366d95913593ea573e9d60933ec4a59735077e3636a1e5df3d676d5a3e464e4036d36c0f36f3ad033d8063033ec865fd35da28c935b4fd3c392249383dced0ca3548ca0f36e47a9f38d1ab733ce5402436af6008373f201239ce45593b75adc036fcc59034f1c94839bbea193b9490a533b2c70835ab6b063938f41f3bcce2423487b9a936a1832b39e5c51a3befbb6f364e158334bb631439b8907f3cce169433187a5b3619522a3919aa563bf6582e3653e12f3545da2b39b1c8893b3c29ed343f5ba834c93f1439943ab33c3c499e338673ab34ffa6e7382f349a3b12803935362f08379e6f9d3ef682213f3d1fb43682ba9234240e983e1a88233f0033a03389832b35acc5773e0ce31a3fa4e57533250dad36a6f93c3e07f7fb3efe3a5536100d833454d70b3ee36dba3e0de98933c032683604658a3dbf89823efab71036c3de33359bcee53ba116103e1337c134e654b83484645d398e32f23c00000000ef21f03444e921390a1d8c3ba2ecb934b9191935d23e273930bd273b76936f3327a08f3403f0333930033e3a000000000a212336fdc11739f2558b3a561c1534a560c03554381c3944b5ff398f5249321945c63458c6de389956a23a2f1ab33389b43d36850fe7383076913ab93b6134297e04350d394b39a04e623b000000007685993528a71c3993d5da3bc959a833439e6136f49f0639c8d7a53b8998ce355bc0233590351f3e45cb433f70b247335915a434e798183e85e6453f00000000e99123369aee003eeec5393f6024ae334d4fcb35a790c63d8f03173f4e6f5132f0dec7349c288b3dc369de3e2b35a733c0543f3606b10b3d4d1a933e3b521f342c59153574bfb13ce605123e00000000cb58a0354a0ff53b362fc03c7306af33900a683630b29d3b1d499d3b5ce78e35dd676236bab2a638bfcbfe3af1f3ff357d70193657391d39ffcb4f39abd106352c651c36372798383e736d39e2c11c3506558a36c1fd843800b30e393b7a153693572436c5bb1b3956a557396bca4c35b5b71f36b3069838f29182391c28ff34083e71366156d63835828b3ac61fe6352d9a0736a11c2b39e664333b396f2234ad55d03578ae063823e6763b22af8634d80e6436e65a263dac8e673fce32ed35d71d1c36c224ff3cc0436a3fe40da734e36d1c36b9daaf3caa715c3fc1b4ef34d2288a36bfa2a63ca11a2e3f671c0a36c06b2836122cad3c9c62fc3e9332213572ec1f36787bab3c86fb9f3e206da43498b0733643f2973c8e0d073efc73cb35571c0c3616e4ff3b21dad53c00000000df2bcc35af11a53b390d8d3b7f021d34000000000000000000000000000000000000000000000000090d1a390000000000000000812e2b346e93dd3800000000c7ae9a35ae4e0436dadad53823e50b3548d13634f2911b35fdb10039301c6232a4c9a9358772073678b3e938000000000e699a33b1506b3474085439b7339131b2cd643621bb933609288f391afe1b340000000000000000000000000000000000000000000000000000803f000000000a61ba300000000068df7f3f0000000000000000c64df434e475603f0000000031c19e35b6bc08368f65313f5f4b0f3554713834eb6e4a355b8e023f431663322dc3b635a63f163695b8a73e0000000075288f3321ec883785af133ed0d691317ee1663622819a36a0b0e33c000000000000000000000000000000000000000000000000000000000000000000000000e3c0c73452f0e334ad01fe34ae690b35f8ae1d33cd552e33a909673389b483330000000000000000000000000000000037200134a2fe0b34fa73a834c8b57f34f6a77333d9c139341e23d133d1f7953300000000c5d86737dfcab73600000000608b193491421837e3c4c13484f23d3300000000000000000000000000000000000000000000803f00000000000000005ee2b03499447b3f53c98d380b202b35987df532cebb5f3feb6b543852b88c33000000009b8f333fdbc9603800000000e7212d34f1b4033f87ae353763e7dd34000000004d0fa33e0a1ba6394ca53f3400000000aa44163e607f4d380000000000000000b774013d706239389c663034000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e6518731a1a1a333205b90337392423300000000a9bf3b33389aad330000000000000000425117346c303c3471fa8333c2df3c334fe5e733b388c233d1c3b33300000000d68aeb3553188233b9a9be32000000000000000000000000000000000000000000000000000000000000000000000000ca51773f7b67343d0000000000000000c4c96e3fbc205e3d0000000000000000cc70593f5d65d03a309b103300000000e3f22c3fd84d803b0000000000000000efcffe3e49f5113c4a2b9b3300000000237e993e07eada3c387cd3330000000063ddff3d24cee83c503d053200000000987e333cb61b0d3c00000000000000008403b337c7eb1638000000002a118c34d87e8134cf5f97347fa267344afa053426d8203436cd00347828dd33d18db23206a00d33775b9d321af9b132a0a75e34e55d9434709cab346740a634b05c4434d0fb7d34edf89534e792af349e709b3137bd80321b2c3232e4284332ec18543408829434b465af343964af349d7b593486bfa034c175cf345c09cd34f0150034b87338348d8966344960fa3301fe563472b65a3f25cc233e0e0b8b34d5f59133db5e553f4895293e8032fb335d5b8d32d4af3f3f9de1e33d5c9845322d5f6a34eb34133fb91bd93d7cb28c344fb74c347364cf3e2cafce3d49e59e3400000000a481623e9f7dbe3d42515a32cd526f3439f9493d1198b73ddc509d34439f56343ffc293a4b82283c00d5c534670a3d3244a28e3450d0193af0bb4634e0e70a344e2257341e1c1639a5783d346bdb6d345d468c3401704e3443dc2e3425e83234d66a5f34b51e2c345d4b1834f0d45834d33fb5347870ca345ef186340b54f633c1f62d3470034c3494453834bcfdf9331bd6a335224f3d34379fd4337e2c113391d0d53306cf2634ffaccc3305b35634df6c2734e7998a343c607a34f6d2fb343736003500700235c4dcdb348fb8353486ca313f023aa43ed2cfdb335c406334bbf02b3fc6c9ac3e3e032134e3ff4b34d727183f4207943e76cb003498c96534b34feb3e9f5d793e0a1b1034764cf033450c9f3edcf2413e826457344ae7b833363b3a3e106b1d3ec9b0333486c568337423343da7d9b13de7dda8333eedc433758e963a5e08ec3bf6899534286bbe34e7a96c396bc88e3ac222ec3424ab19303e4d3730e2ba0330f1261330000000000000000000000000000000000000000000000000df5bad2f0000000000000000fb246633da71c33388cfc43000000000d656ef33bb69193417e1e132000000001b416633fd4f45334684f23200000000f9131737f972043600000000000000000000000000000000000000002a78fb2f94933630074a48307af70830aaf7e82f2af2013f5293033fe00c1830000000000de4fc3e3b30043f0000000000000000b2b8dd3ece0fed3e00000000000000005bdaa43ebc96c13e00000000000000008a086b3e05b7903ea2ac103200000000817c0d3e85773a3e1a6eeb3200000000e1d6373dc11d9f3d0000000000000000050c273b60ec773b000000009ed0053017ac08396ca59039b792193052fcc734fb44fe34444509356ef48c3453704134d24845345631e634acf78c33ec53aa33cd3fb933d9c36933b3318333f61b5d34e7c61e3458c3683433a20e34c44464346f793534ff481c342a732c345b1360341bc77434e51e37345fbbe233965e2e349acf16365acb7f34e8a15d34efae1534a6bb4f3446a7843430a1833478e454340ce32834c1ff573480222e34bd12a034e6c2a23ebc75323f55bb86341cf8fb33e785a43ed947303fac548f3298a2c2333f09803e3645233f47b02b33365dec33e5bd413ea402ff3ee7617c3323b53d3483ec153e4a1ac03e693af8334e462434f500cd3d79645e3ede932d3494a427343887943df864873d997d4234e33e1b34695fb23bac2cfb3a4ed177345f1091334942743a3d0b133a9b6b1d3401466034ea714d382c1ad43429340b346f32be34627cd534357aa134f1557b34c1479134c2d0a534407b8234f77a703431e71333144de533d67efd336624fd32d18f8a34eb63aa3499268f341d52763420a79a345a0d2637b42e9234fdff77340000000009be02361419273383b6ea32ec0c2834cbd441348c728c34a8d42a3417e1bd34ebcfac349ff8b634cc069a342bf38d34d8d91b3ed7705c3f4a115632eeb8b934008e1c3e8dec593f852a5f340778a7346deabf3dc028493fd27e4b341de14033286d9c3d3a1b203fed4c6d31ba84a034f8a0923da0e5e03e91ec473477f8a834c0ba9e3dedb8853e3768593441c4ba313f48aa3db00b953de65ba132bd3be833b7c7713c983aed3ad6975f34d43ba83485fc223a7f67a836bcd18d34000000005123b937000000000000000000000000000000000000000000000000bb2046323d23eb321150853237d1c232b886f53038250e34d3562b34241ea1330000000043797034f2885b347cabfa330000000015b9cd37420cfc328447bb3200000000c942ea3639a3f533904f95320000000000000000ac699b330000000000000000000000004ab073320000000000000000bee5323d9f49783f0000000000000000958d293d9867723f00000000000000008f521f392be75b3f8ce2e8320000000027c32e3aea062f3ff19546330000000069610b3cad02003f2381c033000000006692db3cd09c9c3e2d79b8320000000003b8273d8c5df63d00000000000000001cf0043c441f6d3c0000000000000000ad7608390000000000000000000000000000000000000000000000000a095834d45aca31aee7f03250048c3300000000000000000000000000000000dbd15a3425bb57332648f0332761e6332005db3422494c349e3ce03372f8983400000000fa8cf637a312a4370000000009772a3342ea03381641e037110c4133d0c70035424ff234cd55e7347cecef340000000000000000000000000000000000000000000000000000803f00000000ca3e3c3335ae303858617a3f00000000000000002fb10838f4005d3f00000000fee0863308c7a638345e313f850abb328a058d346292e23784c2fe3ed2084b3400000000a208a138ba9d9e3e00000000e264943287a3b138d58e083e8767cd329000d834b6a8b439dd40de3cbb6dea3400000000000000000000000000000000000000000000000000000000000000004aeda334353d98344b452535673f4135000000000000000000000000000000002c31513429456d3448624234b2ed273408073c35c65806357ccf4a35e26e8a35e9079c3498599534adfe5c34140ced346b5b8c34fa4bfb3452d4bf34dea7b334bd7d213430ba28343e76a7340d36e33400000000000000000000000000000000000000000000803f000000000000000017db8f34948b793f0b4c4735b6a0473500000000f8cc653f0000000000000000a5686a3426fe343fecef4a34b9751c34c54a27352507003f76f58135abe88c35ebcb7434fe9f963ea2e26634be71d434310e9c345554d13d2a89b93452e6bc34320a1834b6b9ef3b899bd4343c1abd34000000000000000000000000000000000000000048d9a03448e795330000000000000000000000000000000000000000000000000000000000000000000000008ceed931d60c0032329ebe3190bd8931ce78a1345ed19f3471b47b34a785ea33000000000000000000000000000000008d090d32fd84233237b2f0375d43b1318bb30b34864537349ad21d3471944a3300000000000000000000000000000000000000005a11713fd49b8b3d0000000000000000f01c683f7438973d0000000000000000e215563fd728253d00000000dbb8f131987d233f63773b3d4ad63e3171069234eea3e03e6bca653d503f7d3300000000acac703eb49a5b3d00000000190a1b320edc333db88a733d37cf7431829a0234bdc62b3ad1cb093d2b61813200000000611d283732dcc83a00000000656fc931fd089c34b8d5d034c3c50734b1f8cb33a87232348d91893448b8e233d4b4b533f35f0334e8112034bbb5083420488a340f217f34719188348d6d71342713b5345d5d2e35e6234e35cf5ad3344007ab33efe03a342760df333343e233ce5c0f3453ec15342c362034b29bf8333c86ca3401076d356cdb9f35438ff234000000004732a83100000000b0ee8b2fa414df31a453523f19a0443e4bed3031732298330c614a3f6f79423eb88e123419bc853342dd363f6e97263e68dd223431545a341fce063f8ce2163eef9769340f1bac341081b13e747b0f3e28d3d83411c27c33a96f193eb6bc143e7e0fe533e9daf4332d13a53b9d3aef3d9c45df332a0db634f8f3c539d605973deb73f1340000000000000000c3920a3d48604a33000000000000000066bd653a0000000006f51734903560354c89183a0c9c46343c8abe33d1395434305e0a34a91dcd3300000000301680325445a133000000009560af34d44ad93441bc73399f2982345fb00b34967f8634e3a89239a6471a345991543488237e34ea73cd394843043487a611346575613442650a393b0b6734e4f312339a2c87340a0a6039ca7fe0330000000084fc2b3ff4c4b03e00000000de820d3449cf233f2877bb3e587230343bb0213359060e3fafcfac3e1c97db33a34e1d33643ece3e1b99993e00000000bdbaab34d133813e8d60793e085b4234cec3a6336ef4db3d771f453ebb8a1634226569348e89323b634df73dfbe9b33372e51434afe0433a3867473d2b153c3491a03e32c8b869391ae28e3ba111f633000000000000000025ef9c3900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000909bc6339f8ce83331be053a424fc13200000000000000001506e0390000000000000000000000000e222f3a0000000000000000000000003b67a03900000000000000000000000038ac393a0000000000000000c46eff3e4740043f00000000000000008d0bf33eab68053f00000000000000002915c83eef63013f0000000000000000b7958d3efdd2de3e00000000f426b933ec373d3e7f08a73e00000000000000009812a33d15336a3e0000000000000000dbee683bafe3f03d00000000000000007a7a7f3ae7bac23c00000000000000006f72513a215ff53a000000006445b6331752dd3323b27c34bd9f1633de4d8b343b019034daad62349bdd1e34aead0134436a3934113563342eff3a34af3c2d34c81cd133610873348c160d34bde7973464932935361b1e351128a63400000000403533333fce9339709bd4314ebde733aaa9ab33309cac380b77b333dd7d863474858c35b60e443aca39f73300000000000000009ded97390000000035aebe332d96a63e4a1b303f65552d3216098434dc84983e8d922b3fa6662e343612c0338d766b3ec7d82a3f56575c34018a20347662253eb6da0e3fb80ed233d78d9634a87ee83d7e71d23ee00ba73400000000bebd6c3db026853e16209e3262b41434007ad73cef0ed23d84dec233974f89340905003b2a2e093ce17d1034000000007b02a43a4ecbda3a000000004f7bff32aa0dc4391b6fa731000000000ded0035e1207735612f8535f7d3bf3467f1d333bee507342ed71f34dc12ec333bafd6330abfee337e5a3b34599a80332ccee434d33002354ab2fc34db7ca2349ac646346238573482f481342cbc4134a3381b347aaf30349f4e4237df0ebc33e659c533506c1c34ca5d7b34faa9ab3349d1a6335246ac340f919b347ab5a833bde98433c884203e222e533f0000000049c7fb3463b4003e55c9503f1b388f34645ac1337762af3d4af24e3f8406d133dcf3ee338e3b853df426283fe86d2e3328f4e1340c58873d7880ed3e64a66f3440143a34cb33883d0e0b8d3e36d7343452c62b348e79593df438b43de3387d335773cf33b670e63c0fd2d33be9bd0e3356a36e33f6a03f3a110e493aae86db31000000000000000000000000000000009de9313418b24c34c87f2b34654c79339744b031e62be431443e14329c9cf73100000000000000000000000000000000d01386342b8a7234b91f7a34ce2b303428718c31d4d0ad317fb8dd313d6cc63100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f7e3583dbdda743f0000000009d41c34941dff3c4599713fdbe58a323e718331b3152a3a046d683fc3b1113200000000c7fb663a10f9383f00000000859d8a34e5aa263b5e1b043fb6290a3457ba4f31d4ec7d3c1c03a03e2e4aea31000000007a48db3c9d4ede3d0000000000000000f3c2563a1f29ef3c0000000000000000f51b233abd67913a000000000000000000000000000000000000000089572135e0dd9c3432b960343c52ed339e04ae34b72f8e34936c993478a49834734c4a34902a64343b828d34b30193346b2eb33531e170356ee56f350a5deb34bc55403493443b34ebb96434685d443400000000000000000000000000000000f0d25b35bbaa153573e41d358a645d340000000000000000000000000000000000000000000000000000803f0000000005351935d03c12352610803fe7b50d3479ffbd340221bd344c73673f70629234d826aa343d3f8d34d49e363f49b05834354ab3351c8bae3524f0013f28a8f1347e1532347bd54e34ca069a3e512763340000000000000000aa58df3d00000000e0c6563545e64e358a4d043d70715934000000000000000000000000000000000000000000000000000000000000000000000000f9cba03964260939c47019340000000095fea63912644839000000004fc8ff2e4dd36a3949ed02391bdbff3200000000245d9639c278cf38558d95341ca75a2eebcbbe39afa0dc389b58bd2ec1124c30833cb539de5b9a372c35af3000000000e6eaba390497f8380000000000000000000000000000000000000000000000000000803f000000000000000000000000fb09753f89e11239cf5f1234000000003555673fd5a159390000000000000000f762323f98b219390000000000000000332cf73ea981fd38f82a843436b3612e9113893eec1be93885d0c02ed28f5230ebbc6c3d4e14ad372a21b23000000000df26563a5c3600390000000000000000000000000000000000000000d625463262a09d39757afb3c670a9a32a3289b30e7c4e639a301be3c20e9a635000000001006d4392767a03c0000000023775f316927b939331e9a3cb3240d3200000000e480d339a636ab3c95fed035000000008fb7da3989449b3c000000001efb243213b7c339a0b5b43cde21993200000000d26ce9396724da3c44af5b35000000006e8782390fc0c63c2babaf329df93e3242c6613fdb31233d0649ab321eac9130e09e503fd65c423d5322b135000000008568463f6d63563d00000000b7d96431951e0e3f30f7513d2ff50f3200000000dd67ba3eead0453d38a6d9350000000038351b3e22b5473d000000006f37293255ab0c3af96d363defa39b3200000000bd1a1a3aa78c323d9e766c3500000000f552ab39665c0c3dd19fec323082a3335a8cbd3995d6a83d81dd0134f47d7a332613d9394869b63dfc10033400000000085ea739b733a63d0000000003ba16330b97d6391120ab3da0e77833824b0731f935b239c56cb43d5b5b193300000000ed4dc839c47fd43d000000008deaf0308a0ab239516bc73d024e313221a251339140b63989c2a13d3d2fd533000000008b1e7539b30d8d3daa11ea3208d1af3363bc3b3ffd4ffc3d0a6df2335bb56133bfdb333fc9b5013eecdcdd3300000000ed4b1b3f4389003e00000000143f243388fbd93ef7cdea3d88c06533c98cb630cbfe843ec74ece3dc235e63200000000ff079c3d2a43c03d000000001ce4ca31e289e4393893b73deec2d13146914f330849e9393781bc3dcef4b73300000000d2fa9939d8cba63d8757de32ea04ed317e80a2393af2b33d7db54233826edb328db8003aad88ce3d112f28336062272eef4ce139546ccd3d4186033100000000d7a7b33905a3ef3d000000003e1da930c766ea39f0960c3ea567a830a54aa03290ede8398c9b0d3ef980aa320000000001fec539c1b00b3e0000000093931d337d7fb739b9ae003ef88f5e33c5088733e7e59739fd70d33dbd9d8e3389f2073271140b3f8832883e03b1a33215aa1d337ec5fe3e03e2823eebfdc5325e992b2eba82cc3e2497823ea420d62d0000000030798a3e0cbe743e000000007806b13050e20c3e2343563ee6189430f467a4320c46e13b1b55183e58e39f3200000000f0c5063a509bb93d00000000ae4d7c3392ebee39a502963d6e340733c4bd8a3335cae7397b715e3dce478a33d91867313124d139d2399f3d0000000000000000d1b3203a6233b43d000000000000000051480d3ace12c73d0000000000000000b1a0183a1e2e063e0000000000000000039ff739158c013e00000000000000001ed5173a2e7f133e000000000000000039e0073ac6a60c3e0000000000000000dd800f3a1348103e0000000000000000efdd9c394642ea3d2e7ef43099611431d512b93e9345d73e00000000000000006738a33e7c05d33e0000000000000000fc69813e656bce3e00000000000000003254173e8a38bf3e00000000000000001973a93dd8e0963e00000000000000003b9b813ab2e7573e0000000000000000813a203a0892f03d00000000000000009a8b283a570c413d6ab9d32e000000008570c3396da6093d52ae8031b2e27533d835f439b41a3d3d7c70b1334b7a5d337a4c0d3aa2e62f3d17b67f33000000008b0d163ae24e843d00000000980f8d32f325143af9f4e93df2c1da32d5b2643049df093a03fee83dd281f03000000000153fec392a9ceb3d13df8230098acc2dd4fd0d3aed47fa3d7dee51317c811933ccfc0c3aa322f83d55f31e3379cd7932482e9e39975fc03d7efa1f32e29782330b36503e19161a3f0950a53390a33f33ce44273e24191a3f34062433000000004f4f053e98c0153f00000000c7039a32e707913d369e073fcfe1c732285c7d30b7ef2a3c875ccc3e7e9dd830000000002ae95e3a141c883ebf29a42fe870c33068fc2b3ae79f053e4c422e2e07d01b334f8b293ab268013de3efae32cfd6a432487b143ae92d8e3cc5111032ab5be2321461aa392d5f9c3c51a2c3327d22c3339bf7fd39fba5bb3c20b26533d3a05f318d91db39f2c4c03bf379e931000000008337df396f02213d00000000cd61e5321f8ed139acb6213deb68a93160c23a33881ff439aafb4e3d96f73533000000001cebc239dff6593d000000005ca8d9334764fa39e0e7653d2bca8533a088c7334410cc39ec82163d0ed7c133b577fc3248d2953d568a433f000000004f77d933d035483d3d5c433f4266253320d73031d8fb103d5b3e473ffc75d73000000000fdb7a13c38662c3f000000007c781b33394aee3cd9d0fa3edab9c430744c3f33ccb2ae3c815b9f3ebb6c2a3300000000fb30653c556e013e00000000aa780334510f153b06f0f73c35883733b51ecc337ddf483cbc6d9c3c0b71b833f5bce332a7dcea397a41b93c000000003e62723536a93b3aeb016c3cbc6bc92fd3a89632792f1a3a037e293b35602e320000000041c1183a6eddd53c0000000034a8df35b7ef213a78080a3d00000000c5390b323702233a7b25753daa0e70310000000037f6333a4b1e883d000000005e06b735e743283a24ce933d6e749d304ef192325cfac839e931163d9f954a32b8d2b732780e5f3cadd9683f00000000bc9180355ad7903a71da6a3fab49f02fb5489a32170e323a4ee76e3f412c2d32000000001d1c333a8112423f000000000bd1e5351daa403af32f093f0000000076450e323a78653a93f0a23eefa36d310000000093495e3a247db83d00000000ab8aba3514a83f3adae0373d75d0b430053f98325f63e53951f0793c38765a32000000000000000000000000000000000000000044916738ec9fdf39000000008598ad30b10dc933dd82c83979ad56309914bc2e883de737cc97d439ac17662e4dfd86340958263874fccc390000000000000000b991a638151e393a00000000000000005fd41839034f473c000000000e2a043428c79438944c373c000000000000000000000000000000000000000000000000000000000000803f00000000000000000a5bd8380532803f0000000016c5b23056c24734d8c0713f710e54308896c12ee66ca9384a1b3c3fa57a632e6d389f349abbd2383fe0043f00000000000000004ff30539715c9c3e0000000000000000b0d74c39473fb13d00000000e0872d343100fc384d990e3d000000000000000000000000000000000000000000000000000000000000000000000000a5180637f78227379c0b2a3725d6bc37e11d9437cf007f374042a437881fdb37711b153897fa04388f2b13384baa7e380429a63744d9803769559837df5f03384bc9a93738329737fb6dab375944c5374f8ae0372ebfd6374c43e837b542083866cb3b37d5ae773729946037c930673700000000000000000000000000000000000000000000803f0000000000000000c66983368e5a7e3f6b2b2238f727433717213437cf66533f5555fb3726b1b937c2dafe373f002a3ff446413948751a38fc078337e864003fe1511638c124bf3784c985377becac3e869dc337369bba379d12a137d452343e933721385d61e837dd01f3364bd9003cb38e6b37bd27633700000000000000000000000000000000393629375448ff374c1c0138a944e4372b927e351d68c836427a6637c4c52d370758f336f4f64337fbacb3375fc6d037ecbdc6377068da3745192838b74766381edfed373bfdfb375bad2c3a400e843a0bf3b23735b6be37872de937a0b4f937dc278b36c268fe36c8e56c37df73b23741b73e379fe7d637674def371cf2083874f07a378761cd37b2d6da372f8ce43794b19736ebc87b3f43a3843ce757ae3746b8d834a859753f7423083d26c4c036c10f0c36eb8f4d3f2341fd3caf5f853738549d375aad263fb047b13c18f20438859a9037fbf3f93e092a083c4340093aa2bf4f37c554a53e4745c439e42be4374e0c463657e92c3e49d6b938672d1b37600cc1366614523cea154a3877d9b73777ebe236e9e3f4372aa7e6379f99cd37ab366437853e1b38e8821938802fd437e202913786a90438dc440938da96ca3732a28936f8351a3786514737cd4351374a70c9377f332a38ae3a6438bf2f7938c269ae37a906f7378c232638a9621d38f1fecd37d19a0338abc2383888c04b38130e0038396925385d94343811812f389f66a437bb870438ff570d382bcef7378a8c0238a29c1c388fcd1c3827d51938f29506365171523f25ec353ed8206e3782b6c0369d924f3f944d3f3e3d4c93371c3b2d3653a12c3fba412d3e44f47f36746b3737fac60e3f7ca6f83d78d1f9375255a736382fd33e8812b13dace1ad37a16b7737a8f08f3eb90d1b3dad75b73735c59a371c65203e63d8b43993960f38514a0c378223093c96ae31389af9b037e8d1d13792ca24386f7e1d3872bf0d386439f637cf115d381d3d473802600838451728370d66f0371bddd9379d6b4a37034f47375d8ec8378d80ca37723e9337a527f13631df0238cd9e143871a9b5379bc7a13785d3c837ef7ad4375eb1c837a8f9b537b88c073843ff1b38bf13fe37c3f98a37c649dd3788f9e937400fbe373fd13037ec808b3770868c37930b57375d0a8037cd5eb83720dab037cc899b37abc62c374aa4293fdf76ac3e1e26b03787440537ea80283f42e1ae3e7d3c1337de6f1637357a0f3f6529943e25671f37cc2985363af0e73e7388663e37fd8e36dbced7361379ac3efc1f263eca0e7037091071376be1663ecd1fc33dd9e492373a5404377d44f13ddfb3023d5d49433700cab436ba20633b8db4d937b00915373a59f736c08b02381fe5da375e6851375a0cab379ade3838ebac1338dd238f37d3b9d736c78b2038ca27e137f5eac1368a47d6372f3ffe37aa9fe8371e8dbc37849f94373764b037d94ba3379c5482374c85dd3742deff37c943f337ffd0d03710c1a0377b85bd378fb6b0378e1e8f370ebbe6374a200438263001383dc1da375ad938373d6cf737bbfee23745653b377fb9c1372d19f4378b30eb379514bd37a681dc363e64003f1612ff3e189bbe36d1db9b3692ce003fb03ffe3e6c7f9836343d3e3781f5d83e71c1d43e9a0d2237fd6999361ba7af3e16e8aa3ea7d49c36962383372dd8813e012b7c3e238c743784071e37067c2a3ed53f203e23dd0937be88a2378823ad3d9f639b3d1599a137e1dabc36c0b5893840007538c633c2360dbb9837b9df1e38d45914381a7597374a096b37903f203829580b38033bbd36aa1d38371deda837c1fa6037fdeb9136f225ac37f51bea379ecda937ad9d1f3743b9e437f81021382052d237c8c49137d3f8ce37ce2ee2375bffb73703469237f636163835733838b420e837741ee93677bebd37acd0fc372590cb37013d8a37b969b1373d57ea3776a4dc37b8757f3706ee25383d73393889ca31381ae31438f8a34636dc9dae3ecf9a283faacf3936aa8813366756b13ed769263fb8fcc7353a36063740d2983e4e380d3f2493b43609d082376f26723ee29fe23e323663373fdb73370917303eb447a83eb7bda536afcbbc36dcd8d43d69f75e3e44c1893666005137e9632c3d3bf7dc3d5be22037960d2a376e8c2538c0fd24381a951d37708d0938cb1a4b380c834138728ddf370fef123882d942389ae52038550bbf372d03db3752f816385b19de3768150c37b2ff2438179a3038b0b60938c624b73707283f389f583638d712c137e69b82378ce52038c9f71e381781d43754958137b18a80386cdf7538a88725382ceacd3710b371376ea58137e8e13437c661ae36829afe37f1270d387505023889a9a1372483f93755130538a18df2371155a7376afddf37b001393ec0a7513f971f1037cbee33371712433e41084d3fed53e736e3dfef37bbd3333ec5c62a3fe9e97b36256aa53736c9083e5c170c3f5c1469371e3cbb3724dac23d24bfcf3e25c793363145283832d4383d6b028d3e9d863a375e631e377c3c033c4dea173e3c623d363765bc372e0f983876da083b3a6b793704abc8379edb1838f1490f38f5b52c379168da37f45404389b88ce37e03094365f02d6373f010538a5b05c37ac56b53693d4b8378ed73737eaa550361bee4e365d81013859d0e5376ec59037b7b4863787e9893acd4b373a3bcde637de68cf3773c07a3837884b385a50dd37c9c1c237a9c4db3716f4cd3778a088372949073711d4b73702b5873750571b37e25242364061f3373c4beb370889cd37353b7f37e1789d370205a53c55c87a3ff51f4836fcdd81377835193d2116733fc1425d36f261f8360aa6183d3f2a4b3fd33716368967d73738ecc43c9505273f307da43606fc133ab4fa853cfc00f73e64b37c37413e2b3877640a39af58a73e6001a537d253aa37b55aaa399c8b293e522e383604881e371d382e38e00a053cd219453574a5de377a4803383e2af237a87a063700000000000000000000000000000000d3df6b37204f4137c3edfe363b56b7366be425381a9fd4372534743787468e379ca2c137f736a737e36f7637113e8d377dc108386b47b137e1ac7837cb0c9537fbd85b3801aa2138d77e0d3869001038b50bcd37aa6ac737672bb637f78e9737436fce37f67fac37f692be378c0d37370000000000000000000000000000000000000000000000000000803f000000005e375437fbd1b8379cf07d3f6e903733c9b3e2372a93cc385dd5523f22791a377a5cb237a209d4375c74293f125a4a373119c837930fcc387003ff3e6e0f5f374d33283826d08c39c58cab3e313e00384512ba37648a00384f14323e721b62373d8898374a4d06383f3bca3b8ee8aa3600000000000000000000000000000000000000000000000000000000000000001867a83653819b393d760c387c508d37b8564e37f8f39c393d532a39216c0239102119381b3e6d3819ee61388af55738f19bdf378706ed38fb78e8388f3e2c397cf4a137728a4b38d63846389b055f38bee9ca37ab27513893c743383a873738deebc4364cbad13704ccb3372794793700000000000000000000000000000000000000000000803f00000000000000009c8cb53569ab6f3fc828743902191937c347093725fd493f17920e3af312a83726770438a341253f0bef91396cb23c384c43c83709c5ff3e5ee1c539701342381cc23037fdc6b53e05b6c738bb9530385e567e376115583e89085f389b09223825d4b0369f02833d3da1c3378b143937000000000000000000000000000000001fbc4e35075cbb3803fff837a60d2b37c204aa343e66f137ffa0d13705ff203729b0eb35361e32388eda21389e1b753766bcb137161f96391461e839a6768b385a73bb36e2acbd37117cdb37a916c537637b93360bc00638da444238ca8bf1377c8a4237a84528384976393813c71a3802df84366f51d537ba82e437492ea6375dc0cf36244f1a3890e71838f3c1cb3711801835251f6e3f916a8e3da57ec536f1739f345ed35d3f9d26953dd4e58b361c87e035749d3c3f3a0a873d5d3d3237fede6d37a8d91a3feff0453dee2204383eb31336f48bef3e6301003d9c8aae37884c3d367dbaab3e5b5f133c39289237336219377c6d4d3eee24de388461023891bc2c35c466853d8192003871ff9137a0c094367307473864831f3875579537dcf305370483293a42d650380c644e37486774355c89193a5a531539fc5a0337c9dd8836f7f2103a95fdc939dbe8903710947e37ab9c56384ede4d385625ea3732918a36319b1b384b063638299d823791aba036496c5f389cef70382ec056378e003d37a4597a39b3c9b039d2551038e0c9cc35246d5f3865faa837468b5b3650ade736268235383a1b0f38f08e86373375e2369d30493f8c505a3e8d3a2937e1ce5535865c3d3fb405553e1e3c8735f1fc3436e4071f3ffc83363ea2702837799914377316043f85380e3e6daca63736b390354297cb3e927fd33d74b537376137a036df67913e5c09753da32ea7361b11ab36cbd4303e6c09d43cdfb7bb3708f0cb35021b673d00b0c639f1b8e435daea163605107c38c15d3e3882923037780eb73723929438698582382188c337dfc44f36bc55813aec361b3af2ca4f36373509375e784b3abc00f739b8742837cace863716d2ac38e6d39a380de08d373f67be36b0c12b380491253850884137a9d80238b89ff838b5028438a0bf18385cb6cb3672fd213861d01f388948fe36ebede13548391c38834e11385319e7358f7bb037f6c419388db7143897c0c637bc606c374761253f9d0db53e08049e3771bf4736d9171c3fa157ae3eeafa4e36e6515936a3a4043f2c39923efb895536b5826f378633d93ed1da6a3e77c7843788dc66363832a73ed5e8303e226f6d3654d1ab37a1ef6c3e5171e83d96a0f837d686ab3619ca0d3e90146e3d56b6dc362970df355291453dd19f5a38e0e9e53579019a3771fe2f3835eb1d38c175aa37472655379881da39bc80273955bd2a37a6bda937efd1b6398d356038e2122637aade643741408738f03d5e388ccd443706d88f37782f80381fda6038ba7e33372f87b43752c1103aece1ed38393c863778c09737658172388b295538302e4537e0f380371820653870e44638f6ca5b3708d8d23704855838acdc4d38d411b73770cc9937fd755b38e9702d38a7268237ac4b21377a3b003fee0fff3e90bd1437faa3dd361accf33eece9f03e1daab735ba653a374444ce3e70bdca3e43062937ee51223783d3a83e0b41a53e95bd1937cdaa5937a731813e95d87c3e34a2223708522e37d250363ec4472d3eaa542637b5f34b37d4e0d43d55aec63db5494a379aaf7737fd59ff3ca83cb03c5358673786033a370337dc38df99553876633c371e21b937eaa07739eb273438aa798c377950e435549b823899682a3871d4da35b0be013725762d392d29163830d6a2366d85243830e9d239660672387983b637ffe69337dda43338574911384c286936134c93377fd6a9388ff77238b46681370aa6aa371f29213afd5366390ea5eb36db1e51363f1f0d3a64471039653d5036c4840338714f7738b50561380701c037b5cf90374173b73ee623243f6a87743726abdd354aeab13e4d9f1a3f6756d2352460ca3695af953ee2bc023fe4d88136b4f8ec3722b3733edb2fd53e6e086f37f802ab36c0d2383ea9caa33e6c27673630ff8a373815fa3dbb65653e3d5d7237d9a92f37c28c843d6482043e005b5e36160d5136fb331f3c2f321a3dc05f503694e3db37ca9b85384b8179385754a13708dc6e37acc696396dbb10390c7b0f3668d80d36da00103aad720839ce0ec535b65609383f5b273ae0979c38f886a0361f4e70370bcf043a03b624380bbca036d9b19337abdfac3957ddb7371bdd94357b95073807192539dfb12f3852672537427fd3372e95e639c2a42738e6895c369e0a983767d7dd3809da0038e0a37035dc8dbf377cd231380d011138f068093750f2a8360a935b3ecbf3483f7e970a360b13dc3516e1573e07433b3f98d5bb35dfae9d37a9353c3e1ec01d3fd53a9336f98aa436276a153e8a76023ffb9d9e369ff34d375514dd3d41fcc73e41ff91353380cc37af818a3dd0ed8d3ef44c1537c88f8d374506043d74bf2a3e47043936ad2d203771720f3aee06503dab736a351d6e5d3784ad4c38f7483438e7b8e7362279b3378fb65c3993b51c39319e2f364a43a137cc830b388078da3712cf2535108e1038fbe0483829af20385d3507377541dc375f124b390f57df3766442f3663c2ce37001b01386379a337c791173677bd6839f1b10c3afb890b3829398a376116b03742b32f38da20c237b659ee3522e17237a1a3cb37f7d3963710d7ac34ab4482379823dd37d1c39837febd4a35484a4437b34b913dfeaa6d3f5547ff351998653785f0993d68055c3fa37e1635c7cbe4374f298e3d8bc73a3f8a8fd036eb357a37a032663d735c193f142f13361230b737622f183d7648ed3e88211536b4bd0b388839743c0e10a93ee6ad5a37a1936737d756b9382cbc493e5047eb35b5063237f109fc371088773d734aa73421a754375dc3fa37dd13e93721f23a3500000000000000000000000000000000896553375971d737aee500384e3b9a362abf2f383ee45b3857905738ac0b1e37853a5738e87b6938e0f73e38c0280437d40c2a3926d0543958f52a38d7f29837cc425d38676a7438eb125f38eac7ef37603ced38d1827b39b231123904690e37cf7ad5373a311d38737c2538684b91360000000000000000000000000000000000000000000000000000803f00000000196001373a005a3841916f3f96eb8b36c1a10c38a71f8838bfd5493f723e19379b6a323854769a3948e2243f8156f536cac94a38b207f3392e4fff3ea9c4a33773af3e38bbbf9239d1f2b43e7c00e13782443d386648d53922e3553e2a0e0a37c4eaa437b85f28388609813d8e1c9e35000000000000000000000000000000000000000000000000000000000000000092aaa4399038143afeb1db393e4d95397e8ad13949ee283a52c5053a3459c9390a4855390947ef39ab51273a9754193abb079039ca2de739c058b93992a492392e249c396516043abbafdf3977b6ba39cc07a4399a68103a0f35e9397434bd39416b2e39b9af013a87129439b4a0313900000000000000000000000000000000000000000000803f00000000000000002b5b9a3975bf603faa49f439021c91394be2c8396853403f3e97163af8b6be39678148393c981f3f3e813c3a8931073ac4178b39cbf1fe3e5722ca3976978c39080c9339cdbdbd3ee8b8f539b94db63994fc9639b756793e2b76f539d126b639d6e4ff385132ef3d8e729839d3cc2939000000000000000000000000000000002731ee380d7c693ae375073a142807399d483838f698a63a1c84d5398fbc4b38bb16f83728ef9f3a2582023abc95773870a164383018673ae1be353a9b45e5384e8b4638cfcc4e3a4722f43954ba60383f45a939310c673afac7333a1665e639655c82381f05053afb708539fe27cf39e1093238b364583ae916273adffa91390ff3a439e539413a2408243a0cc6c6397182ab3879ab613fa212e93d62a0fc38c50a30381bfa473f4795d33dd6e24738971ddd37facf2a3fae6bb03d01c23a3857bc5d38862a0e3f540a8f3da59ab5380fd83f383432e33e5eb05f3d28d65938dd988139d50daa3ee621183da434da39a20a7b38e863623ec164b13c71f4b239a1401938f3a6e43db7ce3b3afb568939a39d7c39d21d473acac3263a5c31bf39467406387b5c503a415ec439e4c102388f2fe8372ab9943aae2e003a160aec3754ad07383fe6063a1a41cf39e2d61138bfec1838a8c59c3acbb5403ac19e1a3844440838b735453aaa361a3a138511382605c038a6e25c3a663b1c3af5dd7f3958070938e011a03a5cca7c3a373ce23878f36d379092c339b33eb239b3eabc3720db5838abd51a3ae937e3394cfba1382441013843433f3f54a77f3e770c0238940ac73769962a3f2fec5a3e46a4df3792cf0238f4c9113f46363c3eb14a1038e13a11381862f33e14e8193e7e1418382a1e0038cb63c23e12abf33d48830c38b99f0638fd62913e0bf0b03d9ce952396654b6374fd8403ee0ae603d80c78538c4a55b37468fce3dd8dbca39a5bda0376bde5138685f243a43c6fd395a4b7b38260f2a3818d7a93ab7e3833aeafa29382ba1d2378b1aa93a873f6d3a3664d2379f6a07390f64a33c01a9503aadd35e39534f073861288c3a2942483a8120133821d6d13798b1403aefb80c3a6b39b0370307e53786b9863a07685a3af6cf033822aea739817f7e3abfd76f3a23ded53994ccef374e9b823c59f1c13ab99408384a4071388741283ae25fea39f1927238fc9a1438e310203f1a8abc3e0f512038ebb3c337e6ad0d3f69c0a63e6c0bd2371ffc523887fdef3e29788c3e732b4139279fd6377a84d13eebc8673e7a17083824d9a837876ca13e80a23b3eeb679937e126c63743dd703eb98f0a3ee618f837140c5e397ff31e3eb81bb23d01cac7392944d037aeab853d0e6cea3cf75c0338da245838b60c353af2f6143ade0f6b3830ac8038a217563a1cd01d3ac1102b38da9794385a716f3a4857033abca52e385fd6673812ff9b3aaa816d3a95f41a38d9b5b03800506f3a2da3133a0ed47d383e931f39a699343a2e8d063ae86e9538750bae38c46d5b3ac10be0391b6e8f38e67274386917883af016573a58f92d388b6c91389fd9153a49e5dd39ff527838fb098238782d1f3abc1afa39cece66383e374d38fefefe3e2ee3fe3ec9f91d38acbc5d38f292e13e052fe13e3f951e387d6a29387f6ec03edb91c03e56440838a80c8e384881a03e70bb9f3ea6a76c3855acbb3803d47f3ecd8e7e3e8f855f38b0738e38eeef3e3eb7423d3e9a9b8338a4ac39387491fc3d237ff63d3ce91b387b8162383004773d2e69673ddacd5f38057a5838e17a2c3a19d51a3accfd5a38e079ad389c4f503ac5e6223a73bc4738d9f213387824883c64047f3c8eb4b4377818023a9022863a3b9d763a39771e3967101138eff68b3a09f1683adc88af3768d5ea373c36433a4578f739ede4953784df09392deb883a5d24e53920afc5372666b7390541593a4d853b3aec2e51389982eb3789907d3aef75383a9380c7372b4c70382bca863a54bd643adad81438864964380d95bd3e3a29203faaec46385b2a05385eb2a13ee7550a3f2e98b2370888cb39f91d8f3e39a9f13ed59d0239acd2003865ef6d3eef4cc93e4d9bb037c30eb737ec323d3ebdc1a03ea40c9037ad1b1838ed81073e76ef693e62bdc037719587390e43ad3d8460183e41ac4c38df1ce0370764293dd9659a3db1cec23721c44c385c998a3a2dc0873aa14f1338cd46d83870721c3ae2db1d3a09824e38b3574f386417183ae56dbb3925a24937168a2a39462da53a2c508f3aa66b98379bb7a539f37b4e3acd92223aa2d60438023e1c38787d343a08c8223ac3c4e63785924f38ce89813ad19c273adbd4063824f087381d50e2390577cd3977f60038a8d90e383c060e3a5b7bf1392279c037dfbc0c38d613d7393299e4398116013801c35d3881a2773e1d1f413ffa114e38c2f59f374fdf633ea59d2c3ffef34637a44e8138a7a03b3e738c113f47549b37058b6b3955791b3e899ff23e8fac0338793c1238c5e2f53d4dafc13eb77de33755a322381cdfb33d41bd903eb5d90638cfa714380ffa6b3d63933f3e9bf5fb37f6530038a847c83c697bbd3d8ec5b33771050638cd00d939eecf0f3a5dedfc37c14dd03961fd343a75c84a3a8ace3439a68ea239917f633a44cb593a2624073865c5d9399c21353aa427c939265d68385013ff39a668413a0cc6463ae35a4139baaf713850ce223ae1a91f3a3cf82d38984b8a3979f84f3a06fd323af87b4f38a739bf38dbb7333a7c83103ad204cd37e0826438e34c0f3ae825013adf2326382f7a2839725e0c3aec411f3ae5f5ac38a4e8b3398f6ee83d0c45613fd96a3639705b8139b4fad43d097b473ff81a0c383552b9398bf6b23dbe912a3f5cc471381ab4df3909d58f3d12020e3f1b055039a8955f38f6c4643df5c1e23e1e4e3238b8180639775b213dbfcba93ea1d752388ce98e3897b0bd3caa79613e1c08c937d7845238eed7223aa803e53d44832138cdb817390f7f0e3a9ff73c3a5f939438000000000000000000000000000000003dd246395c41c139a3ef203a46acaa38d186c7393043fd396e17143aed1587390bd4bf396620ed39c4f8043abd8d66392b469a3976a9c53903f4d73955056e3921af1c3a6a73483a6638ef39ba0a1e393289d63989780c3a7cfb1a3afd87b039d3fda639ed37e6391316043ab5a18a390000000000000000000000000000000000000000000000000000803f0000000086ff2a39a6b1e339c02c613f5fc6f2389b06b839b9170c3aaf3f403ff819933990a4b5396714053ab3c41f3f344d8339717a9239d3a9d03982c7fe3ef3bd7c390ec1113a5a685b3ac161bd3eadac2539cdb7ca39d17b0e3ae93a783e6e79ad395d9c9c399c53e5399487ef3d1ff482390000000000000000000000000000000000000000000000000000000000000000d43b8b35614f6b35f224b63578e31f37734e1237338c0b377f131537a107883741162e3677d0363689d1993769b9fd372416a4376cce9237748fe137c7ef0e385d3743370f689237142cf337c9320338e750ce364eb7af37afbeb13799b49337e0294c371cdbe9379835ca379201ab3700000000000000000000000000000000000000000000803f0000000000000000c082403590ef7f3ff35c0e3872a9d536f2380b37cd77633f1f38d537bcc274378c3a26379025323f0a717038797bf2373e758d375342003f0746463876a80b38ff583137d8849c3e60a76e38f16400382c1fce363ac9e53d06fb7a389a8e8537c04e5236c11ff2387c561d380643ab370000000000000000000000000000000069b56e36543c4f37184f1d381fd6d63776ce41372d584e3700b51b38d2051838afc10e37347a1137d1675d37ac8ccf37d380fb36b99304370e6e0f3770fc6c371c964237e84977378fae363800b84c3837b10037cf5a07372d1fa9378a1fbe37f87b2e37dc6c3c374f8f94376e087037bfd86b37dbf279371b65e7377b54a83701d8d3368938e43674c64837e904173728134d3687b67f3f24c4923abf8ca13732c93737a0df7c3f653e433cfd5cf3379cca08379470653f9c517c3a3b398f377a3af53689db323f6c20443a124c2837df433c374cdd003f429b353a53eb43389f0cf536e8a29e3ec053f739eb2ca23700c429373261e43d1ec2e4390c964c37214e6537773ea5388e98ad383088923764d5ca36e8755837185d10389887ec365e2abe36a9e2673763cd0238953937379908073632931136b892a137003c1f367393b736a129c7360138dd36b3e0d636fcd2e83617869837b64728383ada2a385e500f3692332636944b723787e14837dd880636d6112a36e0dc4b360ec53f368f5c033798ca69378a49e7375ff0873773b94a3672c496370dc805385a758c373623dc3582a924361e534437f7c1ac366474a93672e75d3fd542083e9c9ada36e9b90636f3ce5c3f55b40c3eae7615360d5aae360150413f25010e3ea9d6d6368c2cd2363b171b3fb869d43dcc7709387d5ef335b370dd3e49f68d3d563a32367530e3356782873e3bdff83c4ca83736cb88f936017acf3d171a3c3cf8c92937d74a48361a2d52384b5b7438651f11376a3abc3530d72b379602d637b92d2336f660cd368bc5113826fd723877d5d43693bc2a366d9db237da830e38383d2d362d0a1837c72b213730e6273718991f37fd48b5366262c736c438cb36db85c136ee6af035e825fc359703b636d55103360d93cb379be049387c476938956b2438653d2d370fe6d337af6c3738ba1a3337ac3be435e4ed20374fa05a37a79c013602340e37f763ac37cdceca37374e4e3789aebd3633442f3f3e7ba13e7212cc36c57e2636e6eb2e3fcc18a23ea6192536750b0b37712d1e3fb7bc953e52431937ae34ae363908f83eece0633edd05be361160eb35e650b43e0897113e14e4fd35b62d1f37d0a4563eb19cb33d43c3ea375be32337ac2aa03dbb366e3c9b6f2d378f31e535bfe22438da2f2738113efd351b040c3737950738190e1b38e97a15370434043714c6d9371ef2cc379760f43625328c37aa851938df100c38cc498b3733f8393761b34137cfcf40378dbe3b37ad763437fe5343377c4f3c376de72e37e228ca37f7e91538cae911383f24a5376a3f37373615503796634d37220e3837c7ab3c37616fd937976ccd372f1b3b37451a9d37d019333827a12d38dca88f3775841f373e06993770e28037ece62037ed3fef360594003f61bffe3e02dbee365931893776c5003f9455fe3e8c0089375c1b34377382e93eb34ae53e63f334377b882e37f94ab73e15a0b03e15372f37369c69377ceb823e27ff793ec08a6837f4e43037c7a7203e309e0f3e7c3533373c9d38372b7c413d6152483d1ffb3937e3df8c371d97b9380ba3ab38eadf8d379f46f936514843380afe14381c9ffe366c111a3786c513381debbd37496409370e9df135f62c3f375527f435caf2e63570192f37c0386a37cb6d2e37ac122137b8601f3849024e38952f00389a5b2337ecf5fe353934de3628cbff352758f63546d7c53634bb25378585cf36a1a5bc36066a29378655ba3785e56037ae4f1e37c0efbb3721882b386a02ff3732bf2d36d19e8037292dd137fbd29737c253d2367bf912378b5ea23e5ec82e3f2e040537ffd9f4356a77a83e8fc92b3f89d9d635a0db28375cae9b3eac731a3ff1c51837a233af37138a713e12f4ee3eabdb1b375514fe35cd64303ee3c9aa3ee4c7eb35aafac136288fc73d5f8f483e1740b536b95e2137ae28eb3ce2337a3d01511537a241a636aa9b8e38b87a7e38304f2b36a89b03370dc5b83827416c387175c936447e3d3633a7c537a2c816366f22bf35de895e374e85fa37d0724c36ffd7423694fa6d377a259637c47c0137e864f1369a1931367be73a36f0e50f36f0cae535c74c303763647d37de51233661150b36c56338383fb254383078ec37041feb36e781de36bd9de8366283d8365e7bc4363adf33370cddbe371019303691e6123608388b37ff09af37538b1937de5fbe3601d61e360777093ecba25d3f5efca635f2fd4e36373a133e332c5b3fcb953c36c11f09376bd5173e93263d3ff290e83646742f36a50ff03d1886163fc09eb93506056836c4f5a13df79ed63e3a56f6356d7f1738b248253d1ef97f3e4d65dd360581dc36c63a783c5dd4ba3d53d0bb36b052163613b75338c7bb103840541136550c2f37f9de1038d9e38e377567b63628c5f236c17b0838a253dc36cf7cc336a909b53771b2b237eb876837cb8f5e3716487737a0de3f37c0242d3700bf2937da84d63712cf7c37eec6f936a9dcee36ff5756384c1d37386ea24637e71f423781da4737d36d3637e9c40937e12c0537f58ac9377298e337c9321d37e1b81237d4d71e3886ed3338a6f6c137ae334e37591cd7373160cc378e371c37fb458c36be15e7368c9bbc3a039d7f3f8cc8ba361aef793765bf993c2a287b3fc9c8583779ba3e372217083bffcf623f730824374c52b63791856e3ae94d303f9d48f036b7d94c383d6b573a4162fd3ec0b03e37846d5737d456723a7274993e12df003727fdbc37ca80503ae9d2d03df21712377e5d0f38866c90380f658738a27f473788f6c137b63523388119ab37ec487e36000000000000000000000000000000009acdb3370bea6537630627364a42e635a56d90378594d3367ac0c536bee5c03646df093809ac90370da9ab361af1aa369a681238658be0374bac9237e6868e37d298f63752b60338b1d4a5376a286f37d5c4803792029437bcce923705ea2a37b1c91137ccbd6f3721b88f37ffbb9e350000000000000000000000000000000000000000000000000000803f00000000ad0aa43744aa1c384aec7f3f2af4cd351f2c813780354c388f3d633f1222c236e8bb0d38d5806338a5a7313fbb8bab3657b30e3898664538345aff3ee3cd873746a3f9374eaa83383aa09b3e41bea337d96c7c371227083840b0e33dff4b133755d40437440e1538926e5939993695350000000000000000000000000000000000000000000000000000000000000000e97c6c366725b5362e02af36bcd9ae36cd832535e2d5373577f34e352297493561d770362182c136a32af936dd2d0137b4c2a736d6aefd36e5a6103737f4f036081eaf358ffb723792b87837cb323b3765dd44362ee7a736dee68c3698b9883610b12e360c82823775eef236fcc5963600000000000000000000000000000000000000000000803f0000000000000000c4dc5836b7fd7f3f2feab936cf0cb3367515203594205e3f99ed2d38ad0e5335c8606c364b722f3ffd6bc83769e4a63627ffa23631ba003f12515a387201f236a133ae35b51aa43ea8553c3815c12e3721973e361a8e0e3ea3c85b3760da8c3673192a368d480d3958799c37aa939b3600000000000000000000000000000000e9828435416f28372aa03038fbbc1337d5b901361fb3c5364bb3813776180537d1bfe9351093b636825e1f380ed3e937a458da324519d7355e3a0138c0f69b37bff8e8363b46473717001a387292c037eddb5f35888ec33607440038a89aab373a4b89349ad89636b65cb736b521b1364e2ee0367ddcf537602b61385e36ff37d3b686367a255c37f49c1538f9e5b737f66e443519b6753f5c77233d7fb9e436e5fde435fa35763f80c31a3d18430037a79b70355f505a3f7eddea3cc559a637ec40da32861f2c3fabaca93c2b3d6637b625c736a551fb3edb0e773ce9c5a63765b80135e6e69b3e5cfa3c3c2c708c37baa8f632bbbbfb3d27940a3ced14aa36ac72c136a29d9939be3c0e3abdede737b95b5e36fe27c737c4ac373856e19437b8510d34a5873b385dbeb938dcbf12351eb60b36f61ed7370bb65938c8f4bf36e071f8351c8e1536310eae37e31c2136ec5eb434d932cc37ec554338cbee8035d69987369820b93793082738fc33e5363f07e9359ceff1371216433843bf99367233e934186acc378fa020386085443536bf16369aca97374bc2043800e9a0365d27d3355bf9b23728c3143823924c36ffd81d32ce6d513f1c283a3ed4590d35c8350136fd83503ff2cb3d3ea52bae36094de935517a353fd9342e3eb9af1e361c9fae34f747133f5433043e9d434e35b6d76236f2bfd43e34c6b43dd87bd936bce5e83534c9843e7645403d9e1505367348d434722ef03daf7cb03cbe0c42355406ff35fe93a938aebbc33874709f363b8ed0354c020738be1948384a844a362a22b5353ce33638dd53523807cfcf35c698d7358a504838dbf47938f34a1a36769265351d1738379406d53670e09235485ce4356462bd377d9aed37db850736d8d5983648721538cacc2d38f5edc236fecf2036f07ab33796b8df3782848236403bf335ed740f387cd31a38f8f00b36e27b4636451734385ec52a3875256636ad5ee236697ab737bef8b937635c0b377479b0356985293f62e4ac3e7312cf352998b735a3f7293f3dfbab3eabc41236359454351432183faa95963e94aa8a35a6c9dd354165f13e8f25683e14bb0636fa518f3652ceaf3e8da4233eb66bc036f3e90a36197c5b3e23cbbd3d53e26f36504cef35ad3fbc3d249ed13c7b6f0c3687ec413609a9a2387b7d9d3832436836544cc636e405383851234d38cc40043734a203365ca2a038409dc43727770b3634811d378f400b38566ec9376b501d377c6790369918d6364577d036093f8f36014c39367f9d8c37a8c92a3738b1193688b30737d5049438a38b533821c907373aee2736b7afa037291d403735cb2e36ef589a36f693fa3633edd93657c29236b32a2537075517385770b2379471223739f010369e36a037fdfdbf366642033686a0f4352e8b003f45cdfe3e1cda0336bac91537d30b023f86c8fb3e49a51737e891843616a5e63eaa52d83e3963873677772536289cb93e3cd2a93e96d90b36341305371092853e4bf1743e43ae0537741b163617eb2a3eff4d0e3e0ab22c36192d9236a7e1983d34aa563d585e8e36b77f1d37b1868b39558a6c3881c71d37647c0d36617f9139ed58d8378d6202360f9c093780348038c281973726f7c33689ae65369296613814989f37393e4436e8ed0a3616363d3885300c3677b9f0358568823659922738d20db3364d6313368283c136f5d557386b599f37cca896367b48063619502838c0647d377b6fe535537b8f3514297038d0b81636db3c6335277f1b36b4bea1385bc916378ebfdf352112cf35b4b83c387ec32c3747cab5356783f83686c0ae3ebea0283fe89bb43607dd5e3609c6b33eee18263f5a7f3a36ba030936ce6fa43eb5c20f3ff22eea3543ed6036ebbf823e2e19e03eaf2afe35eadfbe366a4c3c3e4246a03e123e8f36355e0636420feb3d0b953f3eba32e235cf278b355029473d2cf4803d35715e358e3a1a3675393139e63ee43854c2e1351c12ce35581580382dc10938aa71b73598f74636f2ae4c38bfe86d37dd90d0354cda9c3695c531385e6c8d3656eef8359be43f35a40a20382660243512ced9341c40ff3652e346385cc6c33600e4e535afee2d3738923938455d2937f65f6b3631e2e3362105653807778d379b18c734d45c1f3696106e3827221736e092f535997e033711476e38e388753724050b3679fcca366a9596383e0598360ecd2934d9383e36888a3d3e6f93503f4923cf35ff419636c1e74b3eb8014d3ff767f53571953f353dc1393e98062e3fd770c93476cf0336a8051a3ee0140b3fe00ae63584b6d4362217da3d108bc73e5998593606145235100e843d449a6c3e6869c434ced61f366b49da3c0b71c13d01a2f535e189b9369fbfb138338c533810d20a36c4b819355a73e4386d5c2438b60917344206a53715de34389965143799313f363668033880ae6138a67e43378f5db036e838aa360036ab3640644336e08cf332d4f0ac37a6d9f3375bad8b36b1a5cf342fd3bd374c322b386e303c3726dcca36dbcea837991911387c5713354b36d8325aede237c00d3d388d61223767cdd635981c033713349a370ce1c736caa6fc3504912f37ee33e137275b0536eb796e350237573747fd333d1abb743fb96024366c1dc737d9cc5b3d7708723f44c795363905a536e535333dff2f533ff492fa326c838437106d193d337c253f43decc34e371a537907fd13cdaeaef3e24febb3644488b376a6eb43cc5d1913e01a2db32e00ac93704e65f3c297bd63d213dbc353ba60237c0cd053ada442038eb100036d5621f377b786e394d5308377fb96f3500000000000000000000000000000000559e953668dade36ed918436cd8826363fda8c3673cb86363b0369369d3837368b7b473778737b37b04bb73542faaa359174ef36a9888437dd9fd436c14b9e367549ab3668c459371cf4ff36cd5d7036aff34a3509b39e36ddff6b3734ef25358075b536e25aba360c1ec83648e275360000000000000000000000000000000000000000000000000000803f00000000c8549936f9e71e382bfb7f3f808e1e36a98f8e36d29c9037675c5c3f90212b36a2652b37fbc16438faed2d3fd4879f35f503f136a2108238ec80fe3e017d9a36f0a99c360d2ed837911aa13e64047036d10f4935c10e5f386465073e4a831f35974cb336db17c036b3d6bb38809671360000000000000000000000000000000000000000000000000000000000000000be397334d1499838f6e75437c62b6f342f3b0334df934d3840419937ef5a2a34ab391536a50a2e3841970e38168e9937f63b77346db83e381b43843757180c360bb8b332df8e2138b12d0638dc9ab437a9f0063656418338e0b8d83756376b36f3603635ece7923968391038a9beb43600000000000000000000000000000000000000000000803f0000000000000000b1a46c34052c773f9d43f1376ece7a344d8e04348ea74f3fc0c70138b7ba2a34b5fe09367f60283f15ca2c38268e94375c5c7934a1dc003f70970e381761f935f76db4326c09b23e1a6318385fc9ac37fb7af7358479473ed1ac1d38c2b56c361e5b193552be2b3d93802438f34fb13600000000000000000000000000000000954780354ef891381096583c5e9a60377c442c355ef87b3876948639847cec36a43e1635ffa3ae37a39ecd38f2ce2437df4baa354d659638c971c738d7656d372fb9cd3498abb037e5c2d73b0082b637c10f803497e9e2377683f438312ddb3711cac435397764380b71d238359da237c11869345f2189385bc82539c08b2d37f0128f343e5c1f38560ce039d4c6983704627d35ace06a3fda1c453da5122d37a99424357e35653ff01c873ddd6e5d3620ab12355ae8413f0d04713dca681537be07a935792e1d3f8dcd4e3d21a53f378abcc9342194ed3e4415063dc7599d37bfe67c34bf1ca43e0bdb333de9decf37e6b0a93586fc323e4bdcb03cebba9437ea7e5f34086f063d2b0a923cd7a8183731c38d34e2664738a32f0d3c04729637276f68359777063a4459823ac515a235fe6fa5352de38339911faa388752583744ef0435b17b8e392dfeac39eb111237d05983340b6aba385cd8bf385f64ed35ec80dc368b46b338715d3e3a7ef4a8375fa827355d9bb4384202be38be4b5a37aa6e0635f1cf8d39fe16a9393a788c369c80d534bfb30039f795df3864923c37e09ec236da770c393afa5b39f256ab372f676035a535473f425c523eb964a035d004a335c709423fdca3503edbe44b3764df0135dde8223f9792373effd708378f8383346f98053fa735153e0ab1a6352c02a336f189cc3e7dafd63d130da6372f1a233530798b3e900e893dec745437ad29033586a9223ea477033d999a82368274cf340ca30d3d0da58c3c0666393715eda136266c48397c70e33b138296377245bc3489873e395ce03a3902931b372fb2613552c2a939a18231398e045d35ea8efe3417d83c392329b738e67aee348b7a3e35a14342395f073039685d4b35b0c3ce361f28113a99f50f39d6481037e7ae17344c26f638725edc3806b93434a6863735ed1b4039a0e93039b558353646378636e99a8c39f3324239c1d1c6363a172f351c003a39575f2239c67d3a35eb507b34fee7243f4072b53ea442d036e3655d3580571f3f1267ad3e953c61357bf5f8346d9a073f894e923e72c3f2344b0e3a353f15dd3eb31e6a3e86214d3552359236954aa73ecb09333ecdec07370667113484ae6b3e1865e93d6c7c32345c063635fc46043e963b793d90ca2836b171783672cb1a3da30b463c4377bf36e23b2d35bef76139973658394ad23935a022403639683f3afb1437391b071236a94f57356346323a9f363339f01b55354aa76b36a63574397f260f399579353687e0893663684639c2ccae389f084e36f355a636061e6b3ad20d113981488636b7217436174e3739eed9c03800b37236e3285736fb443d3989a0053954244d36f9f45c3500a9d83992782c39a6d84f35b0543536ca99043aaafc2139d03e1d36e3f72336f133003f3f7efe3ea9cd0b36098d513566f4f73e4ef4ed3e81cf543526125136df60d23edcbfc83ed7503a36f6807c360330ad3e17bea23e48d2543628628e36f866833e323c783ead09833624e85c3616ea383e0215273e36cc7d3696374936d781d83d7758ba3d872f54365ace5935e107093d9ecc853c317e5035dd6d1b36a5ac353a04216439366c2936b91c3c355b901e3aa34419396c4b2e35962aeb365293f439b1a00339ded26636ba898c36b9884f39abb6183922b433359e973e342aef093986c7ab38829c1134febb303780c7373a1504a238b02b7e365d5bee35da114a39403b16397b673635ff71f634c1d7413906939438b20ffa34ee5b02369b709539dbddc838851f5a35c780be37a2b6a63904011039123193345ad43a358417b73ed618243f316a2d354726b536fde9b33efb15193f2201663639b12036ca139b3ee7af013f55d63335454d35348a807c3e6668d13e9825103411a21437ad32433e29ff9c3e51d9813665dc7b35fdc7053e355e553e2c5d3835b762f1343675973d9acde13de9c0fd34f06d933552d2a83c45d6903c17655c351f717f37e635133abc8b2a39619f913427f5da37d9ba3c3cc671f3384bd48036f08e4b377225263ce72f50380329c03489afab3670f2d83b6c3f533887910035fa586a37b96b143c222b4638f6e12135a741af3753e79b3a4891e337b20a8036ad959236217896394320f83791498134ef6a233750c0083aa13a82388c280235c0ff6c37033aee39ba31bb374e0aa23548321f36c3b78c3ab1f0a53858f65e35389c96374f3f543e1113463fe6a98236cbb73037b6c0533e95313b3f3211c634d2e38036e6ea423e5b8e1c3fed7f0235fc9c5637833a1e3ec576fe3e947b2235f4c5a737e335eb3d7d0ac23ed240803626a40136cf09a53d5fc2803e16f282344e741637aae6283d3080113e9e99013500bf5c3788aacd3cb0104e3cce94a335643dd3350848613c1259e53815fa6035c73da337047d223caea487376d578c34de5444377615143c258115373c145034b5f5bd371a65d13b00491c373fdea335b91aec37693c163923800f37e72e7a34c9dbc037acd8113c836c6f367950c434c3aa823793b8d738dc090738e8e3a535cf053f37fe10fa3864442237c521123560b6f236b807f3397533ff36ec612135c00d733767bae53bb10bee36d60b78351f876d375733823dcade6a3f80048d34745f11374cfd923dc4515e3f7e635134c36299374a23833dcdae3b3fddeca435ff76d737cc0e303de6a7173fcae975342ea49c37fd2a243df239e53ef0dac7347bd05b37b8880c3d96229a3e9348a735f3981a379594d23c03b9213e71721335cf07b736680ab63c66fd803cdddf223593e64937cf6f673ca77c313812e57b3500000000000000000000000000000000e2302a3778672538485017382bfe1635fc0f69369b821b38f62f1f380137e83539b0c0375bda133840b70638a43fb432f6452f366cbada379840e637307b7a34b644a8379a301a38eca91238577408360c0028343479d137114e36380f5d02342b9677340faddd3789b46638cba26a340000000000000000000000000000000000000000000000000000803f0000000040d2af36eadf44385e22753f0ed016359858693675ed5a38d3104e3f95d6ee350ec5b3376204263871e4263f8951b53224620536203c28388d26fe3ecd277a34f47e953738b03138bc19af3e3a200e3685ab293408e002383e1e413ee1e80334528274345a39ea3759560c3d6d956634000000000000000000000000000000000000000000000000000000000000000032098e35f86389358781a5356391ba35e7341f350bbe1435bc4737356a685935d3bbaa35d1d3ce358509f23523527637c5078f36bdba8f36b01ba536c342a63631076a3528548d355b8049358bb69135db0d063699442236c4db2836f32d1c36419b8d362b8381366d599a36e79f9e3600000000000000000000000000000000000000000000803f00000000000000005a078735f21c803f7fc9d335608ed835d29f1e35ea70643f4e6c4b35406c5f35eb1b993554db333f90bdf83759cd3d37fb0c9236f87b003ffb9da336af1fae369f8e29357a6b9b3edfbb8f37468e3336ffbbf93542b8e73d1c7bbc371a282c36ada982366050063c026c9c366a47a536000000000000000000000000000000009eb949343f2a603872a89538c45cf637dca1d335fdfcbf35d1257037bc82ef35d4b763357817e734efbe9835882bbe35de8a4135320139353425a53562ccd936a5f5e435520fd33589dc0036f1630b36b73e95347092753407fd0f3508dde2348825b5355f25cc350c99b336452bda35069d473550365e35c71b89353b738935e7ca1236adc82136c2ae323605682d3672800034f0457e3f85310a3c673e8b373299b0353f047d3f4ee03b3c9411f33539e960351869653f31ea8a3889d9903568ea4e350716343f4748a3387cb691354ee4dd352a31033fec3818385849fc35e2984534ea0fa33e56f64838235b6f345ba0bf3515e1003e265518397b74c635d9ca4c35e1aa3f3b822b853773475a356cf411364f1ba937c7479837cd2a3036788a9235cc6397383c17b738a9ad8e369d6b473670ab2d372c9c0138dc7a5e360df89a337a7095334460da36469ec133545efb334f84a133ae1b3334a92a5d34fd160136311b2b36960b34363bde4b3609f12134f1f132349937d3356d973f340000000088ab41370608d93700000000000000002da4e937444a4338e6f40b37a48b812debd19437fec703385e622e37d81c88352160603fab1a003e65afbd35fde53a36f2325e3f7af8033ed8386336d553c633c50c4c3fa6dcc53d9cdfd833eb1cc733d1d8203f5e30803d833353348f4b073614bce83e9715323d8fdb3c3603ec4134f19e8c3eb6c2ee3c317c473400000000623eb63dab27a33c00000000000000003cba8839f244ed3800000000c95baa339b6c93387fe0a1380000000096ab3034c1a3283810d44a38cc33cb3400000000a5617c38c7088e380000000000000000000000000000000000000000d2dd2d347cb31934da97ff3369bdfa3340ac3936a5385b36d0974d3667af52369eba0034fc1a0f38fd542338ae400b34f4bb8433221e65377feb73377d161b33734b183688ca0d38e3710a388d4ad8364333eb3786fe8b388d819238eac53a38bbbb9d33891f323f5a2d9d3e334baf3400000000a1cb2e3fda4ca33e00000000000000003286253fe1d0863e00000000bc7224349f79023fc097453ee05c1d34e14d2a36d8e3bc3ec931073ebd00493618982a34a769693e05378e3dd26b8c33404b9833083f9f3df7fd8a3c10c28b33c797163618aa0739afcb9038de1c26367137c235ba5ee138d78ce63868558337427fa735ef1373383abe2a3892f99035359cc234b2b4a6376831ce361d36b9341d400a357c8eba34ac1ce23476fc2435377e02333d2ea23227c44a32afc588326a4a1b3598fe97357392133550db21351ed56132756d0a37ea2ac135be6eaf32c86e6e3412c9a13792e263370800cc3419f70f35bfcc3d37ce24f13649acf934febf8a35e1be98373b5a5637b2dcbe35472b8335248c003f920f003f7d668935c3bdb0340fa5023f2602fc3e0201c63484ddae34702cf53e581fdf3edb6f8434b96119331becc23e1d81a63e33161633ff66de3467718b3e8a736a3ec6bed034483dac32de8a343eee86f63d3facad3217001f34d88e953d9274813c325f5a34011f0a3550248639f6282c3806bd0435c5788c35b94d6f38020c31385c72b5350a5cf037e92a053965c7b5384da0b73599a2293694bf4238a08bb437fc922536ddabe3325e1e213724021733c0ca5033707be63301a524389dd09436edf0183407813c3638c863361eed5536f3fa6436dad5d133ba6f3237ddc00534cf2503340000000036569d379566b83600000000cf8a5f37f08c9538861680380000000070363434fb941537137889360e708f349838a535ec5aa03e9176303fa9139a35892b1f36c74fa83e2e642c3f4fd4113637032f33a9ad9e3e2012193f665b34334142c73315de7d3e1be4e93e32a7df332a8c38367044403e240aa13ec87c4436143b0034a354023e70dd303ef125ff330000000026ad8a3d7928cf3c000000000000000006d2083a1c450a3900000000a17bab342bac7938082ff7375583d93384d87232432bc538926a14380b6c33330000000004aa9238000000000000000000000000b522223700000000000000007d7e7234ec755e34d13e3d34c1984134ebce1e36c03d243648c806363a601e3630a649342c68103714364634736b5934ccf9ef3396088c37533b27378519bf338b0b4f36d3d7b937f3ae0e372bc35a3610d4ff37d18e5c3871d69637bbcbb335c4ab6f325af5013e0aef5f3ff4411d32e432c4323ca5193e0b2c5a3f00000000000000009263033ef8c9433f00000000aa5268342e46e93dc49f153f58795e3492400a36a26dbe3d4112d33e9b8009369a4c85343146a33ddc2f6d3e74ca4f3437a2fd331028863d2ef12c3d16d8f833053f503622a9af3b8a058e38f17b5b367cdd2037f28cc838b2487538661f9a35f28531369b4abd37f2dc7536381316365eb88a3575bf8935d9f03e35d0c82f35ac0b04364070db35ca7485354af3b935640b95348bf96c34b9d05834af737f34494def35dbb7ef3518e2d035809be735ca58cc356c92c337fbec8f357a8ba93572c44535eb633a37c264803527f481352b579a3606dff5370146a1377f1301364d72fa3788c94d38667a873775d6f334528f1836698f3d3cfc607d3f9611153692bc8135614ae03c568a783f7d9e0635d29dcc359bcc033ac209603ffc637c35e25b7d34e9c2613abe7e2e3f5a9d8034c3e3dd35ca9f833ae53ffa3ea861d035dd5875356ff9a93b5588953e10185e3511001e356adfc93ba07acb3d6bd81c35ad55f23590591a399ae0bb394a56f13577e6b73794bbc83838a773388b9fb03400000000000000000000000000000000309898368b9f8e36b2727a364cae8736ef612c368a1429366bff05360ea0053698e511356f4e54364f191835dd3cf63443f1a0361d30b2366b60a436b5d9a13631869f36f5889a3700bafd353ffddc35f72a2a352bd63f356a783935fdf32f357157af353f27c6352a2ec035fe41a4350000000000000000000000000000000000000000000000000000803f00000000c0939936290e9c36e0407e3f83fe683609361b36026e04385867633f44d8de3577703b35fa09fc37a4ab323f9902a634db98a03632d2ad369c9fff3ef0859836da5688368ef390382132993e372ee135a88e30353559f73787bade3d145426358826ac35312c2637ffd2733acf3ca13500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084a97a35198fbf353d76fc35c386d335aec88b35683a8f3693c0c335f314cb35000000005a512d34f10450345d1695346a43ff3488e9be3724d159360b3eb6358022ed359cb0073840fc9a36736c18360000000072bb393882af0b37e175893300000000000000000000000000000000000000000000803f0000000000000000000000006303803f00000000000000002bfe76352fe4653f554ae735dc16043653478135cb39333f79f9ba3726d3eb3500000000a827013f41793334cbfdc134f24bc8343bf39d3ee25dfd377691e1358606fd352e12de3d1b94c637f1d52436000000005746053b5234d037c0143433000000000000000000000000000000009c94c932cb81a438aff8a5382e8f7b33dfe1f832192091383099a33857caa63660f6ba363cfb50382a669d38d5605237fd3d25364272793835dac0381af5ae37c451d335b8ef27380b93623876c943374143873664c9833823b5ab388a5131370c362636974585384f1b84383f42993611168236e063bd38c15fb1384a6fb637146b9d3638266238cbe15c380c400c37a1108732edf4753fd121233d657b4533fb6d0e332455753ffc20f83cc557553654b1a836e6b7673ff3de033979a919377a4d013698a8343fe2bc1c3936e77b377c4e8135e775013f8e2a8a3b96e6d5362bfb6f3653d39d3ea68e003916810f374d37de35af4bd63dc539e33b463696364e764b36eab89d3c1a23e13808606d372b4d7236e62e9938fb3d9038e2d6083700000000885e99384f8fa83800000000c4c028350530a7385a80a8385d537e3616fd943683ad4b380a72613830dad83698484a355b0a0438174b033800bed53517b15436ab38463873243e389467a03679c72a36a557063938410639d6028036d92d95355f366b38e35e3738b1b8453685ca1c365a6f483838900d38dff0963633215736d80700390690f13846a89737000000000461533f1e521a3e000000009ef69d34e1b3513fa17e083e489854368edb7e36df26483fd615e63dac57d0367dce523567821e3f1a73bb3de4fecf354fc11d36b12ee33e0dd57e3da91b9336d4230f36a77d873ef6d15a3da7367736fd1699352c46c43dd7d5123d3e2e46364474a03554a84f3b26a5913c449a893664c74d3695da2039264113394a4f783666cfae35691c4539dc98073962f82c362adf9f35a4598f381f20673810021e3655b4e0353db00238e282913705745136796f9f359dd3d2386b33b73868472a36e5e65636cb5a643861422f38376c8536bd4d4d35ac46883848425938c06fbe351da53e36b6b0fc383af8cd38bcd48136a8f68236bcebb0383ca28238dd808a3600000000473597389cea4f3823aedc34c20b9c35619e2c3fe914a73efcd52a36291ed734f9a32a3f16e2a03ead6ae735c43f90353d96253f7f25883e60fb1d36f8d98e357529033ff9cd4b3eb4662a36215a1636c239c13ea25f043e696d633621170835715d6f3eddf2833dab2b8435eab923364115be3d91008d3ce09b8236593730368e57143b2f740c39486c6436000000007d79f738818aac38ab41dc332e150736dfe8c238328e8c3802c0a73551073b363bf6f1386912c9383f0245364dbe9b36fe5bf43861a4b338e3d4ab36e12fc336188b1c396565df3857749c360af17a35a0107b386dcf3f38fc6871356743b336905d1c3958440239f305d3369cdab43666b50539e096c93837359d3675cc723681ace838981fb63844225636784f1c36f4139438583d4538127b2b369e1dc43512d3003f9cecfe3efdeb8335deb81a36b980033f85a9f83e4d353236ba0691364231f73e5a65d23e3181a436e154a936f862c93e9ced9d3e7e269636bd581e355584913e53f45d3e51d065353255a1361bb4413e6755e13db3ccc636fe8f9e36b482bb3d72c7853cd9499a36f8f94b369389d73a0e0cf638e59850363a12fc359526bc3863678938a13d0f36d2568e330f8e0339d7a39738000000004c715d36d3bacc3801738438d6442b368b4e7b368fbfec384c147a383dff3136d0f4b2352145963861f8a1374248233585888536543d7b384deb1738724a3636e4713736dd65f6389a059d385693f335c4364c36896a7238bfcb8937e5df0d36217f3b36f3dd8738c13714380529e535ce1257360d780139923d9038c4bb0836000000007de5ac3e1cff293f00000000bf373f3625edb53ef9b7243f5992c8354f9c5b36f6faa73eb140103fdf420536d23a7b350dc18d3eff81da3e9ab72535f07c6c361f3f573e80d0913e9ed90536213621363a450f3e75f6193e4579c035a23c2a3647ea9d3d2d603d3c8a74ff35f9bc0c369b83aa3cd98698380c899c3523543a36425e4f3a71e9d5385d10df35ee287736c388313c6155de388fae563663258636f7a77f38b842b4374342b33544154336210175384790a337155ea635ab6a7736e5f520390e74983815a120364ef19f36fe997438442af137d2953736d257db35e8be5d38f6e9d03756484b35acd5d936d0cdb538ea864e3828af9e3602238d36c5e7aa38b1a542387835c935000000006fcc8a3820a8a8370000000026c26c36d986233eafa6543f894b41362f4d6d36fb82383e01ef4c3f09f09634c1fd2b36c0f81d3e8cfd363fd0ba9135b9586d363f61113e89b80a3fa4660736881b9136a3e8fa3d41eabe3eaa7608366ac8aa351a78cc3d0081433e376246355c1fce360bfea13d92abe93c1c9197365bda6e36ff2a473db127b838123c1335000000007c70d03c890b3e38000000005c150a378394ac3872a357382d834336f72b95378f50d33881ba81388ac72f36dd02983616309d38e2b4a437564bde35ead24e37b0b9b6389ab1bf370acb4c3690e720374db7803885f8c1379f6fad3514eeb4372cb1fa387b4f8c38d26f213652d86d3798dfd53823659638707ab03624ed5f37e6eeb93817d174387a1e043349173e3304419b3877a0a337000000006f5905377457353d9dd0743f9d501c3618b42237c96e5b3d3d646d3fb8c60436ce239636dedc1a3d05f7593f1d3794350bd3073715f6143deecc273fe77046365bb0f036b4e7093dcfdfe93e43cf8035904c783757c10d3da543853ee4e21636cec51037d4f41b3dfcc3673d0de3af367ef65836553e423c0197db38a7a63a33f1db9d33d991c838a6085e380000000000000000000000000000000000000000da5e7234152c9836ad706036000000003d142a36a7680a36d691c9357dfad135608a093685d23337a4011c35b6011a35f397b0342c24e133e4175f34bbcdfa332b76ec35971d613703d78437885e9c3568741536c934903618229f379a0b47350000000000000000d19c10373dad6a320000000000000000000000000000000000000000000000000000803f00000000b80a1334e23cfd379baa7f3f00000000bdd82e362229d1374b57643f231edd35d5e5ff35b6a41538470e313f05f0fa346ecfe334f20248375c08fe3e6417a333ce0afe35d6423a384ff7993e208d9335dc330d367363dd3790e9d03d08603a35b3133833c92d9a378e88153a000000000000000000000000000000000000000000000000000000000000000000000000ef6ca233bc51043978f61035db55073404dfef338fe3b73811770c35b4af8c34ab707933df470838a1720c34abdb2f342f390736a3aba6386da88537757c8d36000000006231b638fbfcbc35dcd7dd3400000000253f3739a3c4e63550c78b326382ca35724b06392fb03b37c022bd3600000000000000000000000000000000000000000000803f00000000000000003bc2a23315da7f3ff3a022357f261334e4a2ea33b7f65f3fa7510c3582f08c34606d6733ee21313f06fc073472612b348117f235696e023fec8fb43772428e36000000005af9a63ebdf64f37731e0335000000007c4c123e6b9ac0374ddf863248c98c359687c53c14df75371aaabd36000000000000000000000000000000008a121f3336e12b3a6dac9c39fa559435000000007b9d973915f09539b67ab6357685b8330f50373979145b3991c51b36cec3143232476f3921ff6e399c5a3132a97c0e32c11d9239aa10863945a2983550a44933d6fba7393cad5939915b103600000000ee96d039c61e9139c0244a34a03b0932b9cb523b199a813988b093359ba777354c28af3a18926f39653c553686be18339e30683f8b9f483da87a8d3500000000013d6a3f3234313d1bb2b435c128b83337115b3fe809063de86c1a36c5551032a6832c3f19e1003d2ea62e32374ec231e3dcfa3ed8ed033d0e579a35a5b745330bce9d3ec864003d1237133600000000cd69033eb809e63c82c36134cca3df319500213ce9079f3c70fa99351a006a354cc7753ba9a6643c55df5836cb6f03367b7b973aa5f5c139d20aa236f5bf2d34f965953a8b2bc63994c7b835bf09c734e66b533a072d9e39dd3d0135416d383595a53d3ae280b33963212636bd34c633bbbf213a6eb7d639d60b7735f5fc14352878973a7fe8d039a175d635146cf3340140aa3a37246e39a6c80d369b5be4335ceb913bf7fccd3947cb7235d595b234526ca23b14b5b539d57fa935e919e53576b6443fb0b2213e9702a5365fdd2a349ad2453fb891203e1951bc358fcec534f386383f33490d3e2f4c0135d3f9383535fd153ff828de3dfb192c3685e0bf3361d9da3ec8df973da33980359d4614350dad903e329b393d65c9e835c0acf334bb630e3ef785f73c382a133699cad8337e4d103cde2c7d3ce0ca79355495af349ba8d43beb00333cc1d0b5355b6d173592c7473b1b9e983996d87c350d4815352194e13a9cb198397706db34eb470035eed9a83a910c8e3978a21b35def8e534dda5693a38b78439707b0235c4adf93451782e3a6d9f883938c76a34792605354e54013b756d883998a02935b509a8341e94023b13efaa39ccc9d0340b229035e5972d3ba44a8139ac1f7c35ad8ffc351f780e3b1ffc83397bb96d36636f0c358df1213f477ba43e4a1781351996003587ef233ff8829c3e0e70e934bdc5ee345735193f55ed803e467217357b12e5347e6cf93e1bc44a3e0d2203350b2cdb342ababc3eb4600e3e518082348ff6033571a87e3ea345a23d75bc2935768ea7347f2d0b3ef8539a3ce06ad134fb548a35f031053d66db0e3a10358635eb62e135747c563be485c539e6a06d36201229360faa8f3aa1b462390d7304368248b2348fc9893ac6e29e39af33663422414e351862823a8d8d8239ebbe8635e114ff3552fc873a816d5439d0a8b535755357345fb74c3a154e8539ae05f2336354b335aa75973a1f905a398197e635ae75a0353583c73ac013853942115e35689aae3467e4e23a318d8639394f5934c44df9350b0d363c62bb1539270d24361c952336b967fe3e396cf13eb5a10136ded25f342463013faef5e33e65058a34b03d4f35b25ae83e7c22bf3e0dd786350955ee35a5eac23e5f69943e9a74b6356292f9337a3d923e4bf25a3e3c3a3134da64b3358435533e228df73d0743eb354ec0903574ccfe3dd75c3c3dabf9603576617a34b4cc3d3d57e4ea399fcc97347073fb35d1449d3cd0937c39935f253610e27236f04c853cf5ba78396cd0bd356a648735dcc15f3ca2b18039bd9b7f35f3aace3455715a3c5cde8b399a29a234966e2735c37de83b30f12539dc600135ba838734733f3a3a066f2939b3c5b034ea830235f756833ab4717c396c37e1347a1e2035db9f383c8b598c3906c3eb34e1d90335faae3b3cdd9d1b39a8f0e3342ad48d358736803ceef84c39398ae53471c46c368389b13e95a2213fc143cc35634e823592e0b33ec475193fd6b987359f64ce345c75aa3ed99cfe3e2c25a534d3df2835cc5f8e3ed037c53e6aa5023504236a3488f5603eb2088b3e400fdd34dc770235199b233e50401d3ede75e43489461835caa4c73d0762223d999bed34a1b8ea34ac38263deaeb083a8fb40235799887352632e03c56bea8394fa00935554fa935cd63073df32aa93906c3ab34f0ba7d359865d83c8292aa391631cc332295173611d0aa3c58590a398384f23446f9ea35c17eac3c7eae92392f381235b2018035ea23cf3cd2b2aa3970b0b93375df33367736803cf3ae8f3919673935c3e0fe342a85be3c788e8f392cbfc434444abf358fa1803c5a2773392a6a2a342bd5b436e688c63c3cb6823972efda35b5baa93535183b3e300b433f149dae34420d77358053433e8b0a413f3da0d133162712369f2d383e75f5203fd433f334f5acdb3507c4253e9ee7f93ee8d1133550287e35addd063e1379ae3ee746be3394df2c3659d9ca3d2c9c423ea06d393504da0035eb0a833d2ac25a3dd9c5c6344003bb35929a593d01c9dd3903872b34de3ca636bede433d3b86c23907fed93547155836e5cebe3c34b11d3931e26335d86d993598276b3c318ecf3719a06c31f94f483484d3ca3b7d1a653700000000d51c1536ea15253aabab2037a47f3f33c4299735e1b0c339a2f186388c11be31530726322559123a969f89383ae81932f6801e360fc1ff39997d12383b24b533dc1bb1356222493ae1af7138000000008a587735a053473ccbb58c386e390d33269057369a5d593d958a673f101462352e40903559dd7c3d323b643fee03ab31a4b657347af4743d0ffb463f00000000fa9b11366562753d637e193f19eb42331104913545465f3d0e72d83e6f47b831181a2b32d77b553dc493773e943916327e0a1b36a03e463d2c907f3dbf8cb63373c4ac354584253d6bed8b3900000000001e8435f644fe3cd56b2539b573123300000000000000000000000000000000db84be361af577375de86238a1580734239b9c328d2882371016a638000000001743f634da3051376e63133800000000c44a8d364cbeb537609a4f38f98e94355bfd283456c401345c27b0375e6e5f33331c88348b162235e607bd38f54fe533446b1234d79021359dd6ef38d227a1330000000000000000000000000000000000000000000000000000803f0000000080b2be362d5fd83771d1793f49260535cabb8c32bf623238435f5b3f00000000edb312351e7c9a37027f2c3f0000000072568d369bb4c837f41ffb3e7882cf359aad2b3468fc0334e8ca9d3eb7c5643308ab8e34d1e12835a130003ebaede63363930b34df272c351f71193a6154a2330000000000000000000000000000000000000000000000000000000000000000f9ffa6357450ac353fb79d350262ac350f9ee23426f495349e55ab344850a034413622343984f3339b57313421e40d34dcfa8f35f1f86a35c9854535bc805f35fbae82340bf63c375cada53712426d3400000000038fe337c2f5c83700000000ad3ed034017d9f3783c444373ba4ca3400000000000000000000000000000000000000000000803f00000000000000001a528b35ad84793f11c53738b2fea535c5cce6346ed45c3f5b721138ce189f34a9b80c34a3ac313f453f3e399ccc7634ecc279359bad003ff57a05385e04683555f6753494189d3e979e8d38b6246434000000003d280b3e6ace073a000000008638b234c9080a3d78698b38ccadd934000000000000000000000000000000004bfb3234be326a3481baa036fa840d34e8bf1f35efe235355e033435711308351c4112348f06ad331b313237f2490b344f2d853528a34b35a7b53e353047d235f4cd403536893e3509e2bc35f2c23635dfa4b935ffbe18369dc7a8377130f63563d14b355511e737c4ed233868ae59356bfc2035554ea33752b70438d2033435a3b95a3542d49f35d0dc64361ec7b2351558d133341a793fd24d1e3d39d6b63442cf003471ef733f0a4b203d90af253541e11033ef735b3fe26ffe39227eb7330369223586042f3fe4a43b3a952fb335d27afa342ae8003f88cdc43b34d23535d463303540aba23e3d7ec23c3563b2350346a1344b76023e83940f3df5e53035cdc5b034b4d2103c1a96f83b3477203573ba1835fb168037cc2aed37d953aa35624b0335b8655935f66bd8366ab9d234000000000000000000000000000000008a51af332544ab34befd9d338a648234000000000000000000000000000000000000000000000000000000000000000012bb8c3437151b35566a3734ea6aae34c4c8db34b30be0340ae35037f32aaf34000000000000000000000000000000002b91b8353c262836df1b0d3659b4ef35386a1d34b6a65a3fbf1b243eaf039234000000005509583f7509173e0000000000000000dc6a493f47a0b93d0000000000000000044d1f3f1a809b3d0000000000000000f36be03e368b953d00000000000000006d6d813ef1c6a23d90639c3393082034e88b9a3de1cba53d0000000000000000f1fd753aca50653c00000000cf26b2344b4c2737b98df23af6209e355a257d35a51f41369d401d36915ce1354b2210334d21fb3427aabc34b3eaaf340000000000000000000000000000000076d7d3345ce52934c31962344008ef3483101935784f57358af6053578d21e35000000000000000000000000000000003e499b35891e8835553ceb3616ac993500000000ba9192349d360b33000000000d6c5f35c1968635f7547835a118833592981b356718333f6499a13e89be5235000000003f51303f941ca13e00000000000000006b3a233fb8447c3e0000000043adc33265f0fe3edf11473e0000000031e93a34fc41b93e20da1d3ee598c53400000000ad29623e9f0aca3d00000000c0d1543529918e3d491c863d4fd63f35000000007dcf1f3bd86ad63b000000004db8a5348b86a1386f16a239856f5c35afeeb334c3ac4f35940a0635690b873405e9cb340c999635be8ecb341e874a34a9158f357d55d5357911c035ef51a035f20207360e19123672f6f335569a10366ec92b35ae073d3539312635a2a8e5347db00936576e42365badf236821d273611a096351a18e435e382da362b2e99356ebcf23437caf8369aec4e373dd216356933d03426676835a1335935b08822354a1b9b34ea34033f87a1013fb1739b3425cd7d3211b3033f13dcfc3e81eed033214afd343567ed3e5132de3e02130a35cbe6d03575c0c03e62efa43e2ee2db35abb18a3458598e3e113b6d3e33e9b634b93ea535dd1a393e5e230d3e3e92e03577b744351d8aa83d287f1b3d51736035f91dd2332c7f5e3b34e78b3a1be84f34dce29734c95e8339b2a6fa38c7340e35ec1c6335b8119e35b3b4653556501b35fa1eef33e9b5823400000000000000000df1533574daaa3546a12735ecd008350000000000000000000000000000000038b722355e6629354812c8342a43b834b66b09341b45003500000000000000000000000000000000571c113700000000aad261347f57b834f42e8134000000005096033635912a36d299fb354bb8c33508fd043509b89f3ed72f343fde58793400000000a53aaf3e4da22a3f00000000a15af434b35f933e05b6183f000000000000000068e3723e5f20ee3e00000000e355f43460983e3e01e6a23ee30c99330000000028691a3ed287333e0000000000000000e145bc3d63b1443d00000000e0aaac33472f2b3cd90c9a3a000000002d516e350125df397f97ce3583bb1a3520e3d1351f368036d44a13363cfe993500000000cefc993300000000000000004b6d9234d2d30435cf239934c12eaa33646245356c3dfd342c588b33664c8f340000000000000000000000000000000000000000baeb23310000000000000000f1351735fd67ee34be900b370880a634000000000000000000000000000000000e601535dad73e359eda2735bfb12b35d8bc93356b91243e0ff9593f3f389f34000000005996263e787b563f00000000000000007d29ec3d51743f3f00000000d992d034186bd53d5ad4143f00000000000000009f9ad03d7e0dd03e00000000000000007bb6d53d79ca5f3e00000000b434b3344244bc3d237e403d0000000000000000d676d73cbc627a3a000000002682883452414c3ab5b64c35b4320035b64e72350ad4ab35e2163a35c89c14354f8c2e35dc891735930b0935a8d7c03411be4e352bf38635562a1d35bc0e2c352e7bfb35e028c135601e3f35f38e8b35f9c58135a9856a3558d73e35e0cc20352b8b8a3550e2eb3610591637b178de35d3393034c314a537ac52eb37d5ab9c339a9f86358f9a9e3560ea9c3577cc5d35b5b19a34cb9afc342dbf1335f8339c34390783350f39323d55bb773f28451e35f804d334d41a583d7b25703f53dc8f34f1b6a9341bb6b43a865e593f0000000030b5ee35b0279b3b81f8293f116a3335e6491835aada1d3c50effc3e546c0535414b0f356a8dc23c8e219a3e6e5465353a1400345740213d17c4ec3d40cbce3368a3eb34bcc0163ce5a2a33b18f2ea34786482340e758c37576d2b370036563400000000000000000000000000000000cbe42735de82e4340d20b5345e60b5340000000000000000000000000000000021f530344f7575341e525e34b6ca79340d678b352e8d523524653b35bb076935d081b83429ecb336b88e833714e27f34f85b9c34a7ea3b37bdf4c637b2e2aa34a80da0352c020c367efaba37aa2f95350000000000000000000000000000000000000000000000000000803f00000000bf53c034f4c22d385a6b7a3f0ad79a3400000000d6aa3f382de15f3f000000000750973457326f3817e5343fe5c959340de48435ddc5af38d35d023f3cd046353b167934b85b433a272fa33e9c6a35346e7ace3431d06838b631183ec4e3ab347d91b735b82982397a54143dd4728e35000000000000000000000000000000000000000000000000000000000000000000000000d76893332f0c0a333f660d343b74c833a7218a342071cf331a325934d3819d333e7097330000000000000000b5a34730d4649e3029759a30f464ba33770c073539641435980e0435b7a61835189539330000000000000000adcb303333392b3270b453322e992932fb972a3200000000000000000000000000000000000000000000803f000000000000000000000000d217803f76947e32b4dacc33c91c3e333a46673f9d229233f538a033000000009ab2373f0000000000000000ba125630390c033fef9588306b8b0230d270e6340ba19a3e74c70935cd070f35712d56331a1df13d000000008111973216b51632255f043d0d071f32a0c5143200000000000000000000000000000000bb4e6433140f9d3361f78034c8ecd03312e84c31500f213470762134e2225834a272d93482a7d5343037f934799d1635f9e3db34f509d234369fc0346c56ab3400000000a74ca5320133b3329a3994337ce42d35960f31357d91383557b865357cf0983497bcc33407d71634919289345efb51331bc07433de268033bfbd3c3370ca143526ad3535f5a91935a04b4535191b2433fb1b753f086e473d7412eb33000000009740723f8834cd3c7b202734c8089734a3d3693fb4045b3a93640935ab3bd4344055393fbcc8303ac939a4340000000069de043fdf67cc3ac3a9613357d20b350296a03e9933f03b202b5c35c783a2347689ef3de62e1e3c7eb78334278f5d333347043d8b776d3a97527e333aaf01356ba77e3af1a0303aca5147350aeba533b188f4330f39f633e57ddc33dfa9fb33416aa9345db88233212a803369733034d8653034685232348d393934017d87341fcdb0345ca08034be208b34260995348052f234f6a8893400c9a034b18a3f34739b3b34f9843e34f54a4034e5ce1434a18a8f344192b7331cf9f4333988be34d2510a35974d8b34aec29634657e8c34fbb8bc344ef29834bd8290349f4d99333eac533f63b31a3e78fcc733d6138d33e94f4f3f5364013e330265332c1a0034bce34e3fbde5953d1fbc2234c4658d3488e0293ff5bc633d4f4f7f34ca4a8634d37bf03ec6f8713d4cfc6d346c031b342931913e391e473d545b2c341ff63134927fbf3d44e5403d18dec0334cd59f3466f5453ce1638f3c40774834086f7c3428ad3b3a6133623a7b678434509a4d34033e9b342cb3de348f1d653474120535cbdf4435913b753527995c358780a434eab0703545bd433543bed034d00c91322be22134232d143487b23b3315d4de343bae213539144935691644356151d234ff615335f18e303503b2043500000000aec1f33925b39531000000008c9230349e70ac390ac5fa3480eaf334c85a9334dde190397556b934c7d8bf34a4105e34818b313fe125a13e82f98d34c4aedb34f4cf2a3ff36f973e51be4b357bbc703436c42b3fe21d583ec99ebe342a8d20335e32103ff6e81f3e9e40dd33c69bad343e68d53e30cace3d499f2b352114a634f530883e93d03a3dbad60235b8730c32c146e73d5ff7af3c00000000faa3703387ad3b3c7b579e3a76e9bf347dfa6a34aae8b93a05dc9b3a5c6daa34b54371347b36f238a07d2935c23db1341373603354c24634f43e7334a5821e34220ad534be87ff34b887f6344a76ed34006d053538060b35338a3d3568e1fc34ec1f8533593ac333df80e533dde09c33d81606354960333a58be0b35d7f521358778de343817d639ec0a11351ef7cc34775c0b3492e39e39bc3c1234d632c733c1c1a534c51c183ad30aaf34579eb934885571342e49053f9a25fd3ead0b9b3468f2cb329f68053fdc2df03e45d8d933e30aaf347df0013f8db2c43e288fd434d288fb34b6c2e03e7ee08b3e58bfec340cea4133240ea83e29753a3e2f509433a4d7da34dee1713e46e2933d427f1d35c611ce34b22aff3d34cc373bd4d2c534a5200c3496d5dc3c9c79833ae3bece33806198348ae3293b798f263a8bd3b234dcb69f348ed54f3a3f23da34035099346841bf341879ad38bd138034827bff3300000000000000000000000000000000c211ea3400a15937d22c0335ff85ca34d1f82c3554305435054904352d83df341afdec33d377ba39032770337b7ca633f45ac43432883a3a85c103356e1bb534ffce593509439f391d5f2735e1dd17353b14ac348df08938cd9a7934c2d48934a06287340309b03e84d52a3f63a17534d7ba8c348844ba3ec872243f6787ab3200000000103aaf3e0ee70a3f5c411e31aa67ca3495319e3e309bca3eaf47a8341c661435c143813eda11803ed4a29934cbec8c3393bb4d3e3798ca3dc35caf338dc0b6348543093ec0d5d33a866d8c34525e3b35c1f3583d332e643a59c9e734d93da13478c0e53b3e0e8d34634878342c2969341c3b7b39f056fc341ebc5e34449c8334794bc43487790b35357bc534995c0734e78931348e8f533498e80134fca8bc3327c65d34006a95348c2be833abc39634be25b434ee57ed346f0db634775f9c343fab96345458aa349926a4348adaff33efbe043854c67434c8d5e8337a508b3369ee253428e491342ed73f349891d6330639f733ca03df33c78dc633f6f14d347890413e22c2523fb0776f3442eb5f3484bd483e0e194a3f775fb134e14feb33bbf22a3e8301353f91fc0f347e03a233a788243e9b46063f7a291d349f718a34031a1d3eabbbab3e4556a3342bbf8c344815193ed338163e82e7ac34de890434e50c073e8f540c3b2af21a34f58e89331ba3a23d8c33f3386f601634cd43c6336d8f0b3d11bad133a9a4a433642f1935e517163564b662355b690135d5c23e31046fce3314970f3400000000f5698634cd559e34b2fb9a34932b6834aa4f3e358eae423565f95e35cb440c35ad1b8533000000009fd08c3200000000dd96d1347fb1c534bde2da3414e7ec3492bfee34e8d0c3349ce42c35bf76a434fa191f3464a67a338543a333000000002f000134ed451034dfa70f3425ebdc33930d23357334893d6346713fbcc7e634b640b132aa1a963de3f6663f0000000051b26f3457f25a3d3211553f18e16034e9003835c5ed5f3d3c33233f7b780f358b08c6334f835f3dba24df3e00000000c577a03445fd6a3d51266b3e18fa023585dbc9342804793d586c153d0c0ec034cd6b4734c78b163dae835b3aeab6f73244f5e3331d90693b2d431a3857add13300000000000000000000000000000000e0e8183295175832d11864327ea23832b435a6320000000000000000c349ff3225c70c35fe1c11357c3a1135dbe3ed34c2626630a3de8530ec9b6e3044e7703000000000000000002b360a3400000000d5c6cc33856fa43300135734be45ed337962a3339f5f163300000000000000000000000000000000000000000000000000000000000000000000803f000000007135043274701f3246cf793f86601f3200000000000000001e67633f186a22337a25083523ee0035ae33343fb11cdc34eefc7830853599385fbffe3e7d334d30000000009c03ba340e33943e00000000e986a0333cf5b332ff5cd23db407bc33cfd8d132a3281033b56ae53b0000000000000000000000000000000000000000000000000000000000000000000000000000000038b5953a000000000000000000000000f36991390000000000000000000000004f47fa390000000000000000000000007422433a9c56b336000000007aee573036fd8e3a1b96e0341bda1231000000004dd6423c000000000000000000000000fecf643b187628380000000000000000000000000000000000000000000000000000803f0000000000000000000000000d7c803f00000000000000000000000005cc723f00000000000000000000000012013d3f00000000000000000000000080fd053f743639380000000054bd50301e1b9f3ea08aea34226e0d3100000000859abc3da8ebd0370000000000000000d6a6323da60d9e3800000000000000000000000000000000000000000000000009df953cbbbe96393ef81f3500000000e1f9a33ca2abe5390000000000000000e875863b1eefe2399bf8a1330000000037b40d3d8fe6e339bc17143400000000dce43a3d6ff7e2390000000000000000503a853d17ccdf39addc4f3500000000a3a0a13d4695e739e431f7340000000061279b3d7736db3900000000f5bcec30fb064f3d52e582394775aa3400000000a0b26a3feb679c3a28bc17350000000008786a3f92ca033a000000000000000066066f3f0efffa39a58dbb3300000000b15d433f6133fe3942ab94330000000018ff093f045bfb3900000000000000004f80a13efa670d3abea2533500000000e5f4ba3d29a6ff390a81ca3400000000333f1f3d9ba5f239000000004f4ae930b9e6843c875d9139e212a53400000000904ea03c882286390000000000000000dfceea3c423bbb391c33213333d00b30f146a13ca0c39e39dbecc3300000000071114c3d3d54ad39ab97292f00000000b3ab4d3d4462be390000000000000000e169863dd0e4af3900000000000000008aa0893d8eb291390000000000000000589c963da55dae390000000000000000756a3e3d729d60390000000000000000712e443fcec36f3d00000000000000001c95423f47d9133de96d2133523308309740453f0023cd3c285e053300000000647a2c3f1db6503ae976262f000000000432fc3ec8ee2d3a000000000000000086fba03e5b33713a0000000000000000b62a033e23e3683a0000000000000000c2ccf33c8dafce39000000000000000072129e3cedf78339000000000000000004d4643d03285a39000000000000000058f9653daa06b739000000000000000038a3a23d3591b2390000000000000000e021063e0ab79e39000000000000000085c9063e61a7b839000000000000000072f50b3e49c198390000000000000000dbe6103e1b7ca43900000000000000007858133ed49d95390000000000000000fbdee53d30a1413900000000000000006d13183f14f03e3e00000000000000002022183f0dbd153e000000000000000015fd123f45aaf23d000000000000000061d6063f506d5c3d0000000000000000f91ccc3ee685dd3900000000000000002a64863e0c7f0f3a0000000000000000ee08023ebf90bf39000000000000000057dd0f3d1fb7b83900000000000000005ee1b53cb17d68390000000000000000cdaab03db21d1b3900000000000000009cebc43d3ce58d390000000000000000c4c0db3dbf21643900000000000000000277103e7c1b86390000000000000000fb47123e2a0c5b3900000000000000003531253e8bd68d390000000000000000ea0e1c3e7ceb5a390000000000000000e2531f3ec38872390000000000000000a203033e27c20e3900000000000000004997d33ead75af3e00000000000000002280d03e75ee983e0000000000000000324fca3e25b0793e00000000000000004441bb3efe8d0b3e00000000000000005052963edd90913d0000000000000000b0e3553e1cd1e23900000000000000001d6dea3dc458cb390000000000000000c8cc653dda0696390000000000000000729e3a3dfe7b3939000000000000000088a3c63def2f3639000000000000000055e1de3d233d94390000000000000000cb6be43d182c7f390000000000000000f7b0033e364e793900000000000000001ea81c3ef6a5a839000000000000000024f11f3eae1784390000000000000000a277203e4cc083390000000000000000eb5d0f3e52ab84390000000000000000b675f33d4c550a390000000000000000f9ad843e477a063f00000000000000001cb47c3ea7cdf53e00000000000000003d5a793ecbc3c73e00000000000000008bbe6a3e2e34843e00000000000000004865533e848dfc3d0000000000000000d2c8153eb329883a0000000000000000cd8baf3dcd8cfe3900000000000000001c689c3d2e39a83900000000000000001aff743dc956383900000000000000000d61c23db84082390000000000000000c5afc53d6898ae390000000000000000d788c43d0657923900000000000000007951d23de1f29f390000000000000000d16ee03db15fb639000000002283262f7daaed3da3a7b439000000006c5d16327d3de13d921b8f392681f72f7aa02233b54bc33da17298398a3f9e3000000000c0feac3d87e54f3900000000000000008b76fa3dfe3c3a3f0000000000000000e977fb3d5531303f0000000000000000dcb7fe3dfc6b183f0000000000000000408eee3d7fc0d23e00000000000000003630e03de3777e3e00000000843f242feee1d63d69a7873d000000009c8d0333c468ae3dbf86b139471f0030c8b71833f151ba3d180ec13900000000000000001b9da93de83c7e390000000099b0b93477ef0d3dcd606139afafed30000000006e7fd83c5466ba39000000006dd112353586be3cccedb23900000000d59d85355531aa3cff41a939000000000000000051f8a73ce9b8cb390000000014018d340ff6b13c120fbb3900000000fa3b93344776d93c3ac5b23900000000000000003d0d003de020ba39000000009f06503538e1173dced95a39000000008555a7346df20a3dcfc35f3fac59e9300000000099c12b3d0055523f000000001375c4344fa0453d81aa433f00000000464a6f356477443dd1820e3f000000000000000021323d3df82bb53e000000005629a633292b313dbc7c123e00000000e7d558346e89273d8485df3900000000000000004183163d067fe039000000007f242a35452b0f3d247e8939000000000000000000000000000000000000000000000000a0b8e5382b4db039000000000000000067a3233898506b3900000000eb0d0e31e8e64837dde5623901715b3000000000336ca038d553a639000000000000000043be8636cb588b3900000000000000000000000032b7873900000000000000006d993137a9369839000000000000000000000000000000000000000000000000000000000000803f0000000000000000d430d3382c9c753f0000000000000000af7119388e7e663f0000000062f60d31949557374999313f91cf553000000000f2d19438643bf63e000000000000000000000000687f883e000000000000000000000000fd04643d000000000000000094993a368cfdc13a00000000000000000000000000000000000000000000000000000000000000000000000066b0353700aeeb36c88dfd36aded8337dc15a837efed2a3746c76537c202c837574cd7375081e13685eb7437d83015382ba60738f055c0368469bd37611b5838667b8e37785a483792647e372bb9b8376623cb37c1dcba370a8aba374e90da379dfaae378456c437e275a037a4dfbc3700000000000000000000000000000000000000000000803f0000000000000000f3564135e6f17f3fc8a3be377273473751d45237ea07573fa51de43767379b3763096e37ab112c3f902b2838482dbb37d1026d378b8c003fa2b268383bd71738dad554372a08aa3e1e8db4374168a53701fd9c3764c7293e56cacb37a98fd1372d3a4837317869383a1bbe373f27a137000000000000000000000000000000007f992c365f0b513790c76737094c1737ce10643596bbf13618836a3709008b37584b54361d6ef435e941a136504607378317ea35b2bcde352d5a563758be06384998aa376f1396373e2bdd3708771b387cab92378df18d375dbed037597006388e148136144f9036c8bfae362fb9363791784337736197379c849c3717cba737373f7b350d354836e83ca636eabdd536e220e734ecf37f3ff1cd5a38419e6f36cec1263586797c3f149c5d3c6999ae3695ccef35f70e543f0df97e3c39eba036dc86db353a392b3f31830d3c65691637c84cdd36f24aff3e7899063968c0db37e49376366417a83e88da4538a0dacc377e9528365274253ef935f7379ad9a536823a9336548ac2382c3de137b5628d3799b278353dff21372b83da36d842f3350cd80037a0ecb33730369f37e38d6937d0ff0437faad913720ba803730c86237b87f9136b406ad36132bd836aa24f8364c57a6376c6ec4373d00e037ca1a0638d52f8e37fb92a737eb30b837d8dccf37ea3df53659f4ff36f69d5937f427933771422d361a4c8d360f1ffd36e70c1c37ebe0fb35f136923711b18337ae657b37ded84937716aa837764c9f3702b1a637a3ed01363d4c553f1b992a3e7c98c3364e634d367b84543fc7bf2d3e1936bb366e6a8136b7fd313f520b263e0bd18e36eb5847367461133f3e45e53d157e89373089ed3690a0d73e5f299f3def8974375e0bc5366392913e6fb5cb3c0a6afb36bcba26365c2d1b3e70104d38a84d34367380f235648f4238e48af337ce700936cb579436f68ce837c2c1be3797112537fadd2a3770f4113868d8e337c4681c378fdc7a35eb17e737f7496c3797be4e3595936937dc059137f28d6f371a0f6637d4e33137dd2c3637ce6a33378705353769ea7f370d6e8c3717937d37e94e803783e8e5372dc20938854002381f40fe378caf2937341b5237398051379c3a42373604cb376e1e10382977ff375e13d5375d6a9537c35bcb37ea3da837ca7d9b3777760f35cb062b3fe1cda93eb92e10365be76234d7b92b3f5f69a83e96694a34732c28364e72153f680e943e485a4536e1c4f736ce42ee3e1ade5f3e92bc1137c351d036ab5fb03e21031f3e3790dd364c6c2f3669e26a3eb03dac3dcbd617372b3abc36466f023ebc7c6b3cf23d0f3792fd0a37f7b95f38ff773638a4cf69373058493727091738b782d537b6e86b3701f98436aa7e3438163ce4374985213606a4d0371cd41b38c9b8de375c0c813723753d37c5e87537dba2f036bf42743654c8cb37e7c8fe375a0fa6378f9c6b37acf91838f2472f384546f2378bcba2378b0cea37d9400638deabdc37a710aa37f7a8583715a6903748f868373ac736376fddfa379fe7123881ea02380f0cd537ae4d55377cb9a43737ee5137bf40a3369ea4173561b2003f3479fe3e0630163567f0683679c4013f0e4dfc3ec6aa0836772966356437df3ef61dd63ed024653501b506366ea7b43e7de3a93e834ba5353e004c374067843eef0f773e5d9a233791600f379c172c3ec397163e4e308836cddb5436bd86a83df3ce813deab0ce355955a437c14854389fad3738f1e38737e9267236539b0e38e413ce37a5e03b367c038d37268924387404d337cdf6e4362370ba37d9e31a3886d9b3379bd95836cdcb45378b624c371c9f02370aacc0367d10053846771338fe828337f344d336863dba375ee5bd37c61d2c37e89afc3648c5423716ff4337559a2e37b023283789a8ab378197c737f6218f37c66554371efd8a37c3d0db370b196d37e737aa3569e0b037d47ac7371a6fa33758604b3726999d36d61cac3e43e1293f4d5812365b60423623c7b03e6887273f5e7729362a1ab03604de9a3ec8410e3fc19b8436acf25c366d34763eb54ae43e4bacb6355527e336c02a333e717aa63e6eeace3623e32837c155db3d3ed2553e77d30637ba6b4537c793e63ca55bca3dba215336ec9e6635fba45c38c8ce3e38ab708a3449e14737800103380d0fd7379d4255364c519337eeff0038a04f9e37f6a84b364ef75537601db13720a2f43597a9ee350ed12c376c063637bc9d2736d3132636a3cbb03725e18c37a395d736d3f0ce36f58b7939a5bed8378a5e5e378e500f3741951a38483c12383b83a837e0a96337492d9837bd599437bc08a236fde78f366a7b9337a075a33759007337732214379529933743539537e7986d376aa21937e81295362853303e6bde533f477f84357cb2043606d13d3e0d7c503f364acd35a431313604af323ec1822c3fd7601736ab1ff13688520a3e163b0e3f888797361cf08c37d591c23d62bccf3e94b8e036167ec63762a53a3d5882883e77de4b36c728a6369defb73bcc0c0c3e410a873655a76437862a1838c0c20e381bcc623623ac7c379bbaad3710458b37d1c61d3643d4e6365ed59137a4247e355e376d350c31b237e3ba9c37e5989c36914af73417ec47376f40cf36a9da173638a817369b54083845ade4375e368336cf920636c8d23138b947f837e24c393710222a37eb852838fb2bc737e1cee1351668e935448a2937c9c6ec361d966736fddefa35eafdb037ad85a1376cc1263714409035bc4c563770bb18371fe76b36b6734336df1773354c6fb23ba28f7e3f9d205c352a536237e4fdf83c8e2b783fb6beb03463b494366ea5f33c61fd4e3fc3a1e235a753cb37cc2ebc3c8105263f0c00023602b5e8372ea2823c3557f83efa04fe352e8b963759a1d8396dcea43ed0b6e3351b6dc836fedf0438b6c01f3efcd2f635a8916d3760563838820b563801455435a8022437ff78873796220337d5eaf03500000000000000000000000000000000b726c7379034a037e4a0e0363882af3656d9df37e1cbb4378e432d37a121743782cab437be2188370cf9b836bcb92837d5dd5b388f35fd37659e9736e32bdd36ddd716383dc1d637b1fd6c3717cc80371a81c4373e2fb73797969237466399373ede8637c9358d373b709237424437370000000000000000000000000000000000000000000000000000803f00000000086c90370d2908386af37f3f777d9836aa73c437607e2638677c553fdcda1d37da6e9f37bb4b6e3846eb2a3fcf2f9836a5632a381c568f38a2b0fe3e08e597364ca8ea37c7f74238a6ada73ec1c5f73648e7ab37e867f837eba4233e93dd5d3733b962374cc4c1376aa92e38030783360000000000000000000000000000000000000000000000000000000000000000aae4b637557882381617c637a5f28f370c2301380a5a35386e2c06383edffa375b75b9376eb3f9371d80d5372257d8374cccec371eb325382eb3113831ee2438cbecff370ca2b838ebc871386bf6703932edf33729d42a38f47e1638d9e11538f28dea3756453e3849f01738003f103800000000000000000000000000000000000000000000803f0000000000000000477167374062703f49f04238b7776d3724d2e0372dac4a3fce3547380f28ee37590a9d37e6c0253f50210c38f732bb377ef7d937233a003f286a4b3804a30138542bd137eb0ab63ebb3a973917925c389856c63799d5593e960e2738899e0638a0e4b137578b863d6faa1d38848f06380000000000000000000000000000000029ba5737084bc13920590b383f65c237478237362c269e39f317a437411f6336a3b49d3765147e38ee884a38212ff1376845be36ce7ea9374301883714706a37ba94c137b62b82389c7c6d382bc43838b0de18379ed0e73712daf137ce14d6378c918e36e8771638ac2002387ce7a1373d0408368678d537772dac3753235c371e47ac3790374338111c2d38f17602383986c1367b2e6f3fbd47853d21eeae373ced113639e55f3fc69d8f3d27f052360fbcb6362f273e3fb7677d3df8d1a937ae3c8636fc551c3fbd73343dc2f53537e5d38e36a258f13e953ed23c42a20938e75c14377965ae3e5c869c39aeb3b337d9437b36a073503ee479363863bb313738790636cc148c3d3c71cd376b140737c020d536297c5a384ea93138ad7fd8371ed30536dbefba39cffb1438dd391236478b9037467f8f39ed971138f27d9837013e37366c7d6b384ffcfb37f25f413658c67c360703763852061c380e5f9e368f6685373c7b4c388e791a38eecdaa377d24ee35d30c4837b4552f37d9ac7b36457ea7363b082338fa310838f3d2903770fc78364c9724386a14d537a4c88336b42f203762d11338e4a2cc37be345d37fd0bfb3585ee493f3c9e573e7caf0c36acfa8236b6c03f3fd17c533ebbf863378d62ed35a871203ff1d6313eadc02b360f126736a88e053f44c4073ed1ac70369cee8e364107ce3eb567c63dd2d87d374a1fe935c521953e7a09553dafbef235fd110e36e50f383ec9a4903c9bd826371fae7636049d783d62c6253813968336cd714036dbdba03857b2f637c9b64337971335378f47123aa393613887c17e359bf9b3364dba033c90abdf371c57b136de3f86378cd4833873032138207d6e36f75a85378e1ba938beea19380ef36f367b2ab737e1f22638c0350938ee059c37db0ddf37be958f380f0266386e0a9f3756cc9a3681f1613877bc1b38cd742f36b9b87c365954123877d3933742b48536efe4f337b3c44f38a68a273844c7b0375bf87d35515a253fafd7b43e26eb7a358b3ab036dde61c3faa12ac3e3b33b036e74a613650fd053f2f2f903e5a696e3676460436cd19dc3e48e6643e8beb0b364efb62375b39aa3edf7e2a3e3d047a37231fdb368d00743ef5cbd93def9f16378e04223675c7133ebcb44b3d1b002e36a07e7a36ac19533dd3cd1a38420f853614329537f4149d38e1d43f380c697937ce7e56378d64cd39e012eb37d7951637b6ad19379bb4883a483bfb37038c5336440b963725cb733918290638e7c33c3797c136374509243862999d37280c1437ff060e3871a92e3a434165381889a9365a40313796c403383350ac3757e01637b89a9437a4bd2c389e2f0038ae335a37d3e44737effbd939134ee737d7b5653656eb8837aa39f7372efda737fdc93b3728390e37cf99003fb472fe3e889e0337b6815b36113ff63ecf26ef3e0bc65236d2094937c874d03e4407c93ef45f2c373e8817376b8aac3ed764a33ed32614371167af360e9a833e0a06783e471da536ee1b153759ec3a3e2903253edb1d173751205737dd41e23d6f02b73de51a4d37e0695d364dcd183dde5c573c61f95e36215b5637e7f210383cd6d8378f312c37ba7ece375a73cb3933154738c1587736da138536d5e7fb392308b93740a173367c698c37ef3d8b380bc7fb37b2bf1d3677cd223838c39a3803c54e38410ada36f173e53716fd3a38bf81fa3733825f37e518bd37c8005c387a7403382f040536e48fc5371fec4b3847c10a38bea96336645625379dfd4b3806768a375250b336d84b0638cc3d66382ff61b38752d8435c82d3437bacbb73e4be8233fa81577362aad8336edb4b23eda49193f92a372369acf2c364b01993e9fc0013fe9391d368a4f82376011793ea5d5d23eaa65d9369c64a2378d0f3e3ec561a13ec6dd543726b61c371ecb033ed3cb5e3eb4d505368c8832372fee913d86fafc3d3f2263364ca9b236da03763ca508e43cd949b3360ce29337b2c198388b665238afb486350d387037f7a9a139dced0b3807a88c355370ee3609da693860dddb376a4570360156cc37720b6a38ad79ca3749a30836efaf0337ad379c37124e9036141ae335cbabf937849c5a38a2b7e4378fea8d364baec837ece96c387b3ac53788156436587283371e4e3f38818c873742890b36a7c9f23773d61f384b4d0138759ffa367ff9b237919116386797bb3791c9fe3538a3f6366bcb5c3e8ca4483fd0508c35cd1082366f97593e88043a3f4ba56d363da920379b81413e44091d3fcd3d09365be4ef35e75c193e03bc013f6944e435fb21ad37f051e73dfe6cc63e07518b36e60bb136511c953da1988b3e03fb65364b084f368abd183dd6fc253eced1f535eecbc837e99bdc381b8e333d161b8d36855e4e37fda42d38200e0938883701364d4c043862191039dc8841387bc99a36c9b46a3756d23238858f7937d92dfc35585bd1373aad41385320bb372b624036bdefee3789ad9238a06687376e641237a3f25d38d0998e3844fe28385d7d80366bbf8737c88a45385ec93537f2557f36350e3338db107338a7c418386cf8b73602eb4837a799d337e8773537b76b14363f3bf6372c9909380964d637eb03ce363ef2b0371f28913d54ba6d3f659b9936d9f09636756f9d3dcabe5a3f2e75f7352e9a2537d583913d81a3393fa7773936165ab33779db793d260d193f25ff113765352b3867202d3d91a5eb3e63e37636f26663373fd58d3c67d1a73e617c71363acb0638c9eac6392f58473e4e96b036f3028f362c850339d043603d116d143629ede4379f2513381c6ff837e210ca36000000000000000000000000000000009cdd10389679d3386c922538ff66ca3647081b384ce53938f3821938ff0910372af9683930769e3933f33538d9a83637b402263816dd4538d1ef0a38b7ba943734e2e037d8a30338c0b2d437c59a3d37d26009381375183857e50d38681dbb375a65c637dc450c386c2af937d22b43370000000000000000000000000000000000000000000000000000803f00000000ee11fd37a02ae139dcf66e3f9fe22437d1da04386a89c9390856493f007e5537e2a64438464d283a827d243f05246537a75c063801410d39bf4bff3efe15a037f611cb378035e738273eb43e0a183f37f8a80138df6e4a38dee3543ebc7eb537f9cca437eea9253864a2783d8e31133700000000000000000000000000000000000000000000000000000000000000006e5a3e39dad80b3abaa85a39cbb68e38dbc5a739c4340a3a15b0b13964f972394eecc039bb483c3ad788c23958a1ad395b128c39a0d24b3aa991cd3984c84b39da13a239ce9dfc390effb939a0798f3901d06439aea4d439028192399fbb4639a45fc339ec4b1c3a9d70e7396c3c9f3900000000000000000000000000000000000000000000803f000000000000000082e90d399134613f794f9739fbb2973841049a391863403f8f47df39230756393f71b339b5cd1f3fe16ffb3977d59839e26b6e39cac7fe3ecdb8163acf924f39d7ff9039de03be3e8ce2cf3995e98939400f3839125a7a3ee7a1a43999f542392440a4391858ef3d3c27ed392caba23900000000000000000000000000000000e71bb7381c4f863a9dced539e72589386247fe37697fd53a0cf60b3afb47f637850bb638e304753a02bbd639e3f2cf38fa87213a8cfb053b14a3833a15e5183a13d09637fd976b3a2e997239046ead37c6fffe37a0d6c13a59dbe439957f063859be093a4342a43c5669b13a2e1b263a1a7bce37cbb1893a84a48938e7d1e1377bd768392ad7853abcba3f39983fa338ad71d637d1a4613fcdecea3d576e9b38b73be33751ea473f630ad63d39b6f837413cbb3799ca2c3f6327c23d42f2ea38484b063adf160e3fddd78a3da327193a0ea03037b8e2e23e86f5613d5ff8b8370e4edf3793e8a93ec35b1b3dc51c0638c6e9d239c50f4f3e20de963ca9d8233aa998b237ca4de63d22044d394fe0de37ad427f38c7d18f3a43de4e39c329a3383077fd3724bca33a5addcc39807cef378e3b80388bbf1b3b06d9013a32e79e375228b238be3d843a178bc539ba5eac379a8388392652ad3a04740c3ab31b9738f1a23c39757b223a4bb5ed39fd8909391a48c5394889dc3a4c1c3f3aa485c13955c286399b704c3afb171d3adf697c392ff14a39efc2f73a87bd153acb9216396a69fa38c1f6083a50d4a239002936387cbaec3758a7403febe6783e97d6f037699a9637238a2a3f9ae3593e3368a137e736bd37beec113fecfd3a3e54dfb637ca09ea38bc38f33ed0c3193e4cc6ab38136c7e380577c23ee25bf23de4c50f391de272397948913e449bad3da8e5c039bec2d5382a48423ee97f583df08572393962cd3796bfc03d53f4a63cfb081039479f32384c2f1e3aa324ba395243393841dd2b39f648703a2da5fb3932f405383cf17238be5df13a22a7f0398d32b937bf2eec391f6d893c7075553a091b4c39d6fb2c3804cfd83a7f11da3902e3e137141c49390a02ae3c03d12b3a001773372a3ce6385c20933a66bfe03947c22538a4b67438de18813a56f41d3ad63d13383f62053808d8713a9cfdfa392e199437f64698397980373ae454033a3922b23881271d387580203f09e4bc3e6c340b388d93d03723a10d3f48c8a63e2e7cc037f8988f39c4e8ee3ef1578a3e9a006f3938b61a386924ca3ed5d36b3ee383f037f2bb80387b3c9e3efa87363ed7607e3744313a38c5b9713e24b7093e73d82838fcf02e38c843203e0cbfb23df1e3153855cbd937e8489e3d8a34233d2fef94372fb137394b62553ae659143a4d44d638371d6238a1b8933a3b13b139b72d4b3886ef4d389b57bb3a02ccc13997e8d43707420a3880ad7b3a09550e3adc1cd3373d4513384713723ae65771399e6dcf375ea8b239230ac13adc4e873ab239253805140b38f101433ac4fa6039d287f53778e40b388fa25c3a7384053abde1e23721a755385646853ad888a339504ad43720c37538d340483a4fa69839b79e3d3835514d38fa12ff3eebd6fe3ed8c650386cdff037d0aee13ef36ee03eadace037e4fdfa37df57c13e14f4bf3efaabdc37e92b0938d361a13ebf439f3ecce5d9375629473883cf7f3e62247d3e714528385a59fa37cdfc3f3e5a6a3c3e2478fb372173fd37bd36fe3d737cf63db41ae737b3640038427d7a3da4c0663d8292d637404566388e05663acac7bb39ee523f389edd8839c78c493a6cec1d3a11315638a988eb3701b1823a25541c3ae2248f373102f53847cc8b3ae4de1a3acc020638f23b57399288a03a787ee039e5961238d9427a39da3ee73a4dbf4f3a63c25e3726522438f134ad3a8f31cf392dd5fb37b02f073ac9de773c08484c3a377a0539c2dd1c3964c19c3a4f0adf39eacfbc376fc57c395929163a0b67e239b8040b38a24c0c39d561be3e78811f3fcd2b5f38c255b3372ba8a83ef1e30c3fef379737dc332a38641e903e343bf13ee1a71038e947933893676f3eaca4c83e84b01e3826c2ed380be8393e4eaa9c3ef064863762bc0e3894fa0d3ea2c36d3e77f403385628d039f4aba93dc3fc133eea7b1e398750d737b346333d727f953de137be37243b15390cdc173aa5f0063a7a3a0f386b140939364bfc39d359e039b38e0e38742dae39129dfa3a41c38e3a6511b237f8edda39500f4c3a2993223a19628c37f1960f3a87a8c93aef25483ab560aa378c1c9d39bfbe153a2e58e6393f2a913762f6ac397b95703a360e163a52e8cd374f1536396a452b3ae2bfc839dbf58d37a7126a39d971b03a89eeea3911ba863745bc44396291303aa2eca7397fd8e137c8c84038d76e793ec0d2403fc10f1b3853904639d16a5c3e97ea293f46a3b837cb949b397c813c3e4baa113f77469a370dbfe5399aea1b3e56b2f13e5409813804625c39f1aef83d592ec13ef699943791cc5c39bbcfb83d29658f3e5b63d5371c36a2387dce703d63313e3e695491379346fd3853d0d23cdeafb83db2d48b37b47afd38e27f323a685e133a9204e63706a2ee3864629f398833703afabb28382952f9373716593a5c560c3a65966637a6886c3a9021a03c6559993c971fe9383fef39387306a93a358a1e3a9b9e9b37f8a62238fc3f233a84069c39974e92363f52403adc7dd73a47c0933a8d109d39a8c2933990ec053a0637c13963213f3725271338b1dd653a8796b63931fbb437b2d76939bcb3f039eb83ac39a6dfa9375efcaa385ba3eb3df26b613f41473b389c86e537916fd83d2c6c473fbf329437bac3323adc7d8d3d5080253f39108139a8061338d469963d63820d3f6bc6b437805bf13793a66d3d83fde13ed966a53688982c3abc02213dddcaa73e91b2bf39eb8b5c39d3ff2b3a5200683e5727533737420938dde7813a5323e13dec29be372b7127395305fb399d6e063a9c91ac3700000000000000000000000000000000354ac539997f0d3a03291b3a26bb1639d1f187390aafc339088acb39419b4e3831d1ae395427e939f7c6e939d16006391bb69a395932283a725e1d3a74e4d3382433c339fe1f003af7e6003ac1a25b3975cb9c39d654da393b43da39a26626395ca6243901939739d0b1a0396d8e3a380000000000000000000000000000000000000000000000000000803f00000000bf05ab39c23f143aa5a6603fc67d803992bf5b39f280d839cd80403f08a5fe3802fd95393026fb3959c51f3f07fd5739a22a6b39197f3a3aeb7afe3e75831f390d3db139855d103af68abd3e52bc74396f6987394546dd3997d0793e399d3739b59e0339a90a9639eaa5f03d06c543380000000000000000000000000000000000000000000000000000000000000000e80b1b363aeb13366abc3a367f4e573637a39436fee384366e7198361b5e4437a1649637b4552d37ac35a337493cdd37a44b1737d23a1237b546203757b13f376e4805379e6a013704fa0b37b3ee17378613d337a66c0a38167103383a8705381cd6ef372ff2363893b51e386965133800000000000000000000000000000000000000000000803f0000000000000000cb45f03558fa7f3f2afff9367c4c4736ec298f36bc97643ff4f19837449c2c37705698378940323f7ace1c38921dd937078f19378d45003f39039f37318d3337ebb1fd36b41b9e3e9541a5378894153733059c370764e93d373d6d385045063880d182370ae5a238768d4f38d8581038000000000000000000000000000000008b768136742fa236f16d80377c9bc13600fac634261cee34435cab37aab35037c9ec86352c7888355ff5a535293f04373a771d364ffc23368d7e2a37f566563788e9ca34ea4f7736dfce0f3898b0213896b28b36cfae003777ae0938808f0038af268e366291a7361637be36eeccbe360f50083548f7a237486ded374f2ca23701cfff3522f81f3615ad2d364d623336a34a4336bc8e7f3f028ae23a16eea4365443ca34649a7f3f6575c03a21060a37d4de78353708683fd14501396491673683878f351f3b353f504eee380c5e4737045ec834baa8023ffe5d963a7f9b2038fbc49c3540a2a13e580b2f3a7ad80138932f62362418ed3d46b70f39d5dbbb3693180535e94cdd39264dcb3875578f37e63fdf353ff73d3796210f3870bf3236830d9e352f6713380dd38e389bb8a035439c7935e8769137f37f4e38b772da375cb0f73519b22d36f5e9f73634b9a23676ad3c352983943555fd1d37f711a1362de7f435c719df3703ea4438b5bf2e38572e1e3770b372370bff8c3772ab8437965a99357884573744aedc37ea613937974e87350ee2593747548f3769b3a536ce2a4636e106c737ee31f137306a9c3724e898350ac35e3f7be1043edcac9e3560057235d8395f3ffcbe023ec68f6737d591a6354b07453fb7a6023eabc53a361dda1c353d6f1e3ff39dbd3dc5024b36b46af2352386e33ee92c713d304e0f38bf86a036da548e3e3f82ab3c3987733702c491353cb3e73d6f7e8d3ab685ba3691218635635367382e9861386c187d3613713d366aaf3b3873f45838f8653a3752db0836d801e93780810a38bf91193652413336789a1b3706de5937f5753a36384e1f3658594936647b5036deb63636c45abd36963f15376b461a370087f8368334fe3667834e3791328537093e3137193fa336663f2737bc1e2f3770e1d63625827036e17d0838e22919381e058a3758a91c374dca31383f062138751b9c37e06d49366e668336cd067b3671ea65367632ef35fe66303fc6209f3e19f3143638b82d365669313f36229d3ebdf23b3632191c366d19223f6efd8e3eb2532736a118a236014dff3e56b7533e46e9bb3685496e36bb12bb3e302a0c3ee61110373bc54c36dcd0623e3f9c9d3dd79195360df41a3671cab13dbdc01d3c2b0b9e366e7dce35c2feac3884e1883808accc36e0222e368fa86a38c0735c38526e4e3642d67936db08c4374823a936fcbe6f3609770536565315388cb4b837355212358f9e52378cc395376ad467371a6bf236c8d01e372c1d7737fcef38378081bd3616a81c382cd9503801a83538cdb1f1373e7243373a3390371db76e3760c21b370bd4823766abbf3724fead378ee06f3734149e379e9e433833460e382af4bd3668a4723656258236b33080360e2b7b3670d3663616b4003fde92fe3e68485a3632dcae341315033f40ccf93e43bcc0340d3cd3369042ef3ef910dc3ef90bb0362ce09036e489bf3eefbda93eb5bb8d36fb9db7377541883e12766f3e00419f376d05b036f8f6273ea2a5053e4798a13646fd183724ff8d3deeeb093d3dbc2137bde3983560de4f39e492b0380fee4435fb5969363dd650388c5ca437e9897236f901543697758a38ad2b5a36ee8e1e36ec3977373dc82f38a1340137244ed1352c5377373d81c8372d7415363e6013361257f4361d912237208f9636d7432636ebbc6337c849b73738a21d371dedb2365a851d37ea4c3f3769bb04373501b5369a425a3646dcf837ab125c36f2641c3697bd2c3725ceea37738fd836f47f353634543237d114a63745be1236944f0c3617ad323610e7a23ef08a2e3f134cfc35ab1956365676a93e27332b3f6e93c235235a2136097ea03e9c15173f7064113649988f3662bd7d3e5b66e83efde924361f6416377581313e6808a63edd685336623de536ce68e23dafa83c3e814da636015533360e641c3dec7e4a3dd31f2036d5e565365c47c038bd027738e37a3736f2511436fbfe5f383cd48337e7540a369ef6a9370d8c66389ac5f136a4c73a36d8cdcb36c50b98374f908f35d34680351bf24b37ee5343374f99983518e09935ee7887373a5888375eec0137b6935b36c7a24138c6a14e385f5f20372f80f5358ce5a93722da0138553b91357b8f4735cc8c5e374897bf372a96a2367fa21436d3b1263806186d38c78bb63749028a353fc5223713a67637ecb09d35520f9a3510bbd336d7aa0a3ed2495d3fc89d29365e652b366b23223ed474573fa8ad743560deaf357ca21e3efa223b3f32628d353b756637b0e3003eca4d133f4a4a523626c12338627db53d77ced03ecdb4fb353d89f0366f714a3dfdfc743e61e93d354d61a43687a4bd3cb45ea33dd4a5f735ecc0f337a24ffe38f2cb9d387dc48e35190f9d358f31b63819f30a37875c9b35964f35366feec337cf530b3686fde0353e98b5379c509737b7890235571af734dadbb336c157a83665d44a366f0c34368e230a3888e2be3729d5b2351f09ba35347c2b38dbf3103817e0c634868dbf3499436a37a8cd5c371cfd8036f92f0236ea4d1037710f9237758899352f729935cf686b3730d6e0379940b4350b59f734e5f2f23661950337867a9736e51085362b812e36753f123b52707f3f0941ba35b03561378951b43c4f3e7a3f0815fd34a49db036cae4243cfec35f3f3bb80e363251f837d7a32e3b01512e3f14e850357bd1263800f1013bb620f93ef893c334a55c5737c9c73a3ae91e953e2f39a735bcbffa3664040c3a8475be3de54a923519266e370dd6993865137938dd38ed349d8ac636d1b2de37896ba4367cb96936000000000000000000000000000000004b281838f3b6e737f4d28636ae331b36e8180c38873dbb374c118b3695228c36d6ed14373eb10737613bd3363bcbce367f89423768c02c374955083783750d377fdbf137118bf3371501aa370a39a2379504463789518e378f19893761d1173725e554366538a336e0009e3688a740360000000000000000000000000000000000000000000000000000803f00000000b7940c38391b6238f6e77f3fa4140b36c96e04381a6a5c3861c2623f64278636b55012379832fc37b1f9303f808bd336637344376ad8cb37e94eff3ecaed0e374433e83702b23d3886799b3ef97092371a1837370e322e384223db3df9c3fb3663154a36236b423716ad42386a4225360000000000000000000000000000000000000000000000000000000000000000d82cfb34b3db1e35b1763a35a4a0353527b7e235de6ffe35304b0336588302365170e0358f79c53683b69e368cd49736146be934e0f5e8349a12e9342e85ea344c913b3607e73f37e09e1c37ca99353705b16136655f8d3785296137474f21371ac0a434783f0a37b1078b368fb5093600000000000000000000000000000000000000000000803f00000000000000003abffb3470fe7f3f0b1d3b36f7e433359d32d73554815e3fb64e03366e2802361063d6350e26303f42c7d3371dc16f3686e6e734f9dd013fa771ae376beeea34465d343628e6a63e1dabec37d4fd2937865c54369cf2173e4da6ee37d19f1d37eaf5a3345651073aa946e236d0a5ca35000000000000000000000000000000005fe22a36543d7337e9a8f937a1d5cf36388b3c36d4199f3691b70438708eb73663475835d7418a35d9229236358fef352d0a61354c2a4336cee9e337909c99373c9f3c362a1eae3709101b38df23fe37c6b206355de6e135dc2e3a37461fbe3515207435eddede3615ae3037e7f4553668929e3625fbc237cd23e437339c2637c2171d35fbfc0c386c0d2738a5fcea37fc3f2236e3b8763fb774143d6ede8d36d01a31361bf9793fdfc8b93c9b65b5368e9c55350ec0603f05b0563cc892ed353a2ef734c1f7323fc9eea33a0e3b6c37e4382136a789023f2cdd913af66ce637d40204353085a83e0995333a3cf63135993340350433143e6f63013a0f3f5836d35c8b365539493adbef8f3824f908376d5a1b35df4a2438cba345383024c5377124e935a56921386fea333827ac1936d994b034ea7e283712941a3762a483353d5c67363432b63789dca53739819736baf6ac3565b84e37266042373feccd356d7c9f34f0a7a036143f8336e738ab344b5fe13494fb043845d6f73775631e358c458235e3d483376c755237e770f43588721a35cc73c837b5038537b5180b36683d9335b3dd1238b092f137271a23369c8dd93547cd513f953e383e937218362418ac341077533f5bd6303e3ff55735aa084936fba53b3f7cdb1e3e34299536b195a135b4771a3fd0e2df3ddfc3d0356b7e9e3418a2e13ebebe933d858ca934068cde348f77913e4911003d193c21356c657035384a113eb1100f3c0759f4351e1d1335d8b21b3a7b1373383633093627368835cd4d333855c8233832f4203647a7933588332b38015fa637c05fa935e64be8342fd5cf377ba21f35f756023569150636a6289036267b173665c50a366db30735a1211a385dcc3936e1ac09359e135434f6d2a9361dbe6835494f5b344c95b83510554b38af20f8376f58d83533ee763555884a38341e953504b789352e05b43529036f372e8c5336e0311c3622d0983577b76538153aae358ce69935236a8935182e2a3f2aa6ab3e6ceaac35d9b1de34b4cf2d3f77fca33e54870335a354fa35bb5e1f3f25128a3e181908369df10635e2f2fe3e35f74e3e5fdd0b35917350347e02bd3e276f0c3e21226234ec0eaa355aea763e1587953d9927d7356a697735e90bf33da99db23b97e58a35d38a8035a4078a3a16eb543753f115360f879135a2ff25391882b43711bb9e3539239c35739ac9380f76d03778439e358d3c0a37420096386d74e037b7af0337d385ad36737a0638976a043779d5913625928c35585b15387f4a3536928b6935d60311379be0a23840290c38e6b8ce36487d833557d51b381a2d33374ce987357d609e36f84a253865c11737e291a836e3240837dff793388683a237febe0b37986aa23539cd5b3896931e3705829a358a0495357b74013f69e0fc3eb3f19a3586ee043716c0053f3217f43e8b6d0037d918a6366491f23e961acb3e4d559036a76184351f01c63e2d269c3e0c3b6a35c6c3ca36f98e8f3ed6e6603e51a7cd3658817b356a42433eae2af13d01c4833503629436304cc63d5b18063d7799a9364cbb0437612a3f3ae7368d3859370c3769a8a135a501d33981bde737bc619935b8259b358c996b39d1a29c3647cd8635e9d312365eac653759832936077b4935f09a9135e3e66e3845ef8c35a2f46c35adf3da3552d456389192d335a7c79d3554e4613406e3cf367e5560347f305034c39014359d80443868c81835d6d90735b6b80f3689e384371a231536c313fb353e940c35c7e01738cadf1635806cda3457acbb355d50d737f76db63574479235e0b194357b51b03efabd273fff3f863512580a36a891bb3e13fc213ff6c12e35f6098d3591edaf3ebe4d083f93c17535eea3d735e6308e3e4c03d13e1601a4356a3f66347deb513e0de9933e59515034cbcf0b35588d0b3eeda4273e877b083535320e36f768883ddd38293d74980136052b0935611d683a0c7bd2372d55ee347480b73564a46b382bd88e362bfd923555e17b36b85b7e380c62783699ed69359412e735e9ae3c3814ef803544c405351c04df3563bb8e37331996355e8e45357d4e6a3671443138a5eeef345db7d534bf3e45359dc97d37c47da834f5b69834bb7d81362cadd83772c4c735542c9e35c80e2f376b64863892e72d37b99949367d0a4435523089379380e13406e2a63478c94a37966b2338b9ab03361e38dc3597eb0d36c39f3f3edc0b503fe39d6b35970cef3564795a3e2e38493fc2de09350b77dc3593e9493e43f5263ffb83473527441435146a2e3ea7aa033f08dcdd34410fa834549df73d1990bb3e83499c341819cd355956a43dbb0c543e7e6f9f3598efa33657b40e3d43e09d3d38d74f3675275335283eac3a698f0d37ed84ac3415b71f365bb3d93958d2a536ad04e4355189dd379cf153387cb74e3538061735d9e947371c3b0e386877bb3605656d3656a6943697f17d370051aa352e320f355ce9083620b5b6379ab50c35beb4ff3492d3013826f52f3865406d3619cf1c369a51a337855a0d389371ab3504f4c7349fbcd135278283370caf5e357b375535636df236dbbe15382cb482365c5d30360cb450379d0ba737e193553655532536ad27ac37b1043d3d3c28743f8a9318352b190537cb58873d6ddd6e3f4d306336bec05136f6df713ddbbc4b3f8355113552b9293565de3a3d96e61f3fecdcff34f68cef3722ee1d3da69be63e0eec1e36f0fd8937cb95db3c93b28b3e17f9f53446afdd35a9088f3caa6ebb3d0b3b5435af5fb236d139643a64d2ca37de843536196c2c372bf554387f085f36975f253600000000000000000000000000000000547c0336c3a2a6365600a634a393a334cfd72c37cd90603729526a3672bd43360a63423749845a378d454836d3402a364ecbe83416440037bf74e83402b2e934d4ed9a362d8118377b0acb36f7c3d235d601023611da06369b550436c833dc3592d9303570d78236214666369eb4ff340000000000000000000000000000000000000000000000000000803f000000002cb98935bc7c22381cdd7f3f293ea334e0c421379643563899f7593f5b144436db6628379ed14638368a2c3f4a8e2c368bb1e934501022383a3dfc3e9898e7348b549236ed126d38f5a79f3efab2d335b6130336e87c4e3767f0053e53d4e03598c83535e1142f3774ba5c382589fd340000000000000000000000000000000000000000000000000000000000000000f24e3a36fc951f383c4c4136e5b83e363195a836ed553938429cb536dbbfb2366a75d036cb2b733879a4e4366e42e136b86a1836932460382ccdab376519e43696238a35d3fbaa37f12d4b371b0d453698a6af368658803828c7c137b3172837ad34e235a2ac1839a28b9f37a984463600000000000000000000000000000000000000000000803f0000000000000000165b30367dc0763f19a3513755e43b362720a136452b4f3ff1e5b7360055b3369cb6cc36f1f8283fe4e9aa374cd1e236021e0e365bbe013f1221fa37ec91e73602006b354895b53eedbe9a37fc130f36730ea936f4b04f3eceda2838bab4273788d4cb3559a9593d3fdeec37636b2e36000000000000000000000000000000005cb5ac36b26e87398a50d53915f6cc373c824536a2a78c3a97be0d380c66083708b04536a88a4a3932c03c3800cb69377f37cb358d1c05389021093877594137c1159d36a2f23e39c88ac8387ab1b7374f180b36c6c58539d9b43b380c6021377a238135e42ded3802f67f3841b3a437b2951936c1c57b3985276d38b913f2374c014536c1aa993a658d1b3997694d3705d16a36bd3a6c3f8360843da5becc37a048e9356da3683fe741813d84c804373cc5ff35e361453fbc31483d447564376c7f8835a5ef203f7e9c413da1c9393722348936b931f63e0d50053d63f8a6373e658d355fecab3ef26cbb3c3a5210378ef980351014453e8a35a33ca051a2371223b7351cba5f3d270c883cb6c1ea377d682a36cb128239ed3c043c9f8b3c377afb9b35e76b5a3a1493ff37347b1a36ce17213672af8a3a3a51f637715c4636c2120736aba2b1392523053831a70c36e761b8365b2ad43924508a37c403d936a11c1a364a9e623a3b143e387fb05b36c5dcfa35417b6c399998073808051836a6fca736eab9173a7fc48a385197e3363ada483667e6aa3a8a2215381c438d369f93b836197f683a513d3238b5aee836eec06a35619d463fc0a0513e3cea1e364b6cf535de30463f5bb0493ebd994e36d41e0536fdb4253fbe492d3ef4090e3635e2a936fc2b0a3f41a2083eedd6da3608260836407ed23e5704cc3d9ae45f362aaaf6355421953ef2e4813d73454b36ceb19a36115c333e016edc3ce51ee536c8c8343690b8593d1ce5363cb2968f361458ab36ed7a233a38cb4439c8c0e736989c78360da24a3afb192938a5259236395679366c26f13a03302f38edc48136d1aaa336844e0a3aa26853384591a136b61711361070033a42e0953737ec0c3617941f3635c5993ac01b53388dec23361a9a8d3618459c39600c9637fac7a33673ef2f367c9b3e39bcaa27388d842b36e2dd0c367457133b80ac5c3850bf123682857336d67d453a1ac73738c04c8536b5e55c36f74a253f5551b43e1f9e9336881259364eec223f0881a53ef3218236a21e9336e3ec0b3fcca7893ea90ba5360d0d10362761e53e2a595c3eeaf111368f5517367166b03e0576233e5e6825365c048036f0f57b3eee0ed73dc29ea836ea922e36aaea153e6d8a463d3acd3136b0d6ee358daa543de58db23a983b163648305e3687814f3ad6b287381aba86366c9c03371c66653a588b91382ee9d73670d7433713c5893cf8b89438e3290b37ba6d12378b364d3ce78050389318b836091f1437400dd939a0bb6e372eb6df36dfdd3a371092ff3903758a3879df1b376ec4103791aac3393a39db374bdbf33622120737be25bf391d557e382ef9ea3664b939374764d939a2cf833888672937341e0537b88d4d3a1467bc37fde6e5362018f1368a09013fbfadfc3e9e4eda360fb73337f63dfc3eaf96e33e70931237e19b00379723d73eeb6bbf3e1e2ec636192406371f4cb53e2165993e2cb3e636100b2c375c4a893e20ee6c3ec0e4203788070137b9d0483ee048193ed1c8f9368473ed36ceb2ee3d4edd9c3d5cbbf236fde92737b9883a3d88870239e9962f37a37af236ba5b703acca79c381687e83630778b366146683a05ec4c38eed3363628c4283651037f3c57804838147ad13546c73a368f7f133ca6a7d037d5fc2936fd5fb03605d2ea396d52df3666895636c0c82c36cd1d9c3ae1db1f386e1a0d360664233608a6023a64e64c3787ca0c36ea68b33645fbc6399b181338309986364f9a93364ffb143a7e7cdb37d6634436f1df483785a1113a96c9c937608e483677e68536f404ba3e5257223f993c43365af61a3672dab63ec164123f1734d635f5f1313694a59f3e45e7f73ef94b2c36e047aa36235d853e3688c63e2099663605442a36901f4c3e41a1963ebb6b1236e7db1a3696f5123e2cfe443eea170f3652e0ac36ad3eae3d7a11ca3d8aaa8f3693968d3691ed0a3dcee9833b282e52366c149b36030c4b3ad5c51e38b0185336b6452337a7f8b03afbeb7a3710ee933694ab9436b4c41a3c7d748636e5bc2336f776e6368efd133c172f803724028236480c1237346bcf3919c1123747f5ea35eec12e371b9d8f3a3b429837dfe7fb35d618e236caeaf439775dde360a409736cbb90f364d2f4539eca669368bad0036c5556936596d263a87ee76368c0bbd35ef242c36a3e4e83921ad053628a941357133e8368589633e8358463fcd669a36151e90367e835f3ed6e8343fce9d283600d2e2365ff44a3e7b1a173feb018b369660a636a05c2c3ed8eef33e7584f135f0086436a7ec003e5806b93e02070236b819de3675e5b63d5a7f723e09dda136bd7b0f367b5c4e3d87cc073ee83c0336fa015c364993de3c9966a13892bee235373624360fe7943c639e3737824e62355678903718c6443c89bd88362077e735d8d6123876d32d3a6347f836beb31134c02ee837c74c073a41b0433659a97d35c9ab833736e12d3a194ac13653048a3584280a38b39b383a8ae0ff3615b15936d391a53760247e38d9bf6536a5ef8635a437ca3717049b3949fced36ca129f3568e10e37842d413a44dcf936836e87352e4e0138986e6039d9721437736a0436048f4837cda38a3d3b28693fa6560336bd32f0376d02aa3dd046583f4f10c734f405b73759a1993dcf49363fa55a7f35cb722f3777ee8c3dbf59123fe0858c3556e0d9374039503d9da4de3e3416763696cc7f37d7f6073d6ded943e90f18735c3ada5377cf8e63c88261b3e2abac735c94b0b37a570973cef03023c9510c6351045e9373840413c01846a37b697313600000000000000000000000000000000ff8006378e025438c5daae36f522a1355e273f37c2d74a38f50a4a374c1c9c36430eaf36f8429437be03be3576574f35ff0555373d3204384dff6c372c6f023628c8e236246e0b3829a80e385254c6367d93b336f3dccf368b29f437fadc973622073d366ad9ad37a9fffd374d6329360000000000000000000000000000000000000000000000000000803f00000000c437313621f2ad383c4e723f0cc3af353f933237cafb5139b1f64b3f0f69a13603722736c142c7373128253f4f615c352d0f2337f91a38389165fc3e868507362591e3365f0f1c38a9f4ad3e4f9cc936a4e3b3368701ba36da3f433ec6519e36710d3e3679fa9737978c133df5d02e360000000000000000000000000000000000000000000000000000000000000000fe7ebd355daac4359d80c335387d12362e734f36653185369b226b36b8687836cd3eb6352d87bd35b2f6b835c5e9b3351c3d7b36aa94583607815436f23a893623e2ee35f2e22e36995e18360ab62b362c313c36cf711e379a251436352a8635786fd535f56dbb351a7fce351be1d33500000000000000000000000000000000000000000000803f0000000000000000fa49e435fd10803f44080236483e2f36e9ec65362846643f0b130437523d7f367169a835a7bf323f12d06637f695a4351b0f933623fd003fb96b0e376d068736d9d03836f8a59c3ec69b1337639b223643555b35dbabe93d896b2538e4245f3521cd06363f86b03ac75faa359f71eb350000000000000000000000000000000057fc4a3603253838987d3938d7671537f4a0a135d6f8ae359d47b537592feb35efae333470062734136a23348aee1d34e0b5013575e01a35b89ca3353f8a0d36d8724e3567825b35a6d2dd35248fc535e47f293502f94e35f2354f3575b029355ebde7346fd58034722da0346d5e5c3431fed2355f90f93688d10036f2cbad358c5513369f42213603ce3436f0f530368e552c365c687e3ff900fe3b36e6ca368d211035fa04803fa7bc7b39c4d011366ddf1a3469c3663f90ff1d38a2242934a43ef8345fad383fadc84d38c6a60d35db5d533560e2063f06386338ba550636d88919353755aa3ea70b0638732d0435a03e5f34bd460e3ed9c0b73730cb3c34f6a909357e29983cbc4fee3793060836495ad7353aa209386e738937c15d4936a7b92b3643c51a38d9441238a97c2636e79bc235e61df2350e63fc35844cde35d4942935a4843035e771373506fd40354f4c193572653335eefb1f35534f1335bbca3635cafe673522f79c3702a79c37bd3bc135735ccd353b93d8350199c3356a7397341a007736ec7ea83485f3ab34764d9135b0109e353a47993570ad623530ae5a352f17d63610054637a4262f359dc915368092603f34c4ff3d908f2036853bab35085a5f3f59a4eb3daabdd23542702535615e533fbb31973d15ef1035498f1135db68283fdb9b1d3d29a3053561853435c41af53ecb2fa73c65235d355ab2c735aeeb983e247c813cdb74b635f9da95343a3dec3de9c643390f35a63412998e351475bc3aa71010387af07c35d50c57352b4750389e7b1b380ad62635a7c76735fd019d38dead6b387ba128352cb5383560c98937a0f19136ebad1d353f565534bcfe4b3425c23534fb4f30347dc184355a1e87358b1288355df58a35a0364f35a4164635f22857361bd4623581aa1c35aac79937549a7a37b5ea1035aba9e834ce6d44379aeae6344092d434fb42023672aee637df9ff5352bf1013649d68c3715261f3873a7e837f9f897377ca75b35e33a313f36839e3e338c2a35bfa73335579e333fd1029a3ee0ad0e35f7a94534f94c2c3fe5e3743e02c72a34d90d87350a9b0a3fd7c0283ec9518a356d803e359f18ce3ee34ecc3d6bcd6635245d24359ba1853ed083183dbbd6e8345a97c034bd65de3d872eba393caaef346b80f3356e9b093b06ee74387a110136c76b04360dd88038267047388604fb356368ca363ff07538cc4b12383a83ab36e01717362e563238d396a0378b8bfc350d338c359e384837bef93d35e8717f35a9692f3587043e3746230c354f751135300b8d357c9d1836b0366535620b3c351a4c5435f743a437b6f7bc36ddc84b353a91b835c3a2c7377bcd4037a0c43235564c0937e8ab1a38dab2ac3775fd0336711b6f37a281f53743bb8837de30da362626b1367ffa003f8efefe3e046796369ba9da35106c053ffac9f53e5dbee43581d99d345b33013f848ecd3e2401b6344b22f734cdfad33ee4e7953e295f043586e32635a4f89a3eda384b3e288d8835e46511359038533efdb3b73d90ead734acfe3d353629c53d69eb1f3ad5dddd342b770136f0af823a8d7d663865c02c36afb8b536cc157538456f1638c673db3680f30c374b2984384d812038fc27e735bfc0f4354194eb377677f335be4af7358b42d834d43b00355aa9da3474e3f83495941c357b038537c3701d35238b093554334935034f6f372c4452359fee2a3549208735c8851a36481697355b718e3548901f34aae08337d7fa8b34a1a74134196037354abcad37d6d83e35a42e08354d1a8d37168d283842306e37f7805035702fdc350ceda03e2e16303fa15ad23523a5dd352c5aae3ed3fb283f7b80e4358265bd342da7a73e4716113feee5bf3491121b35a81f8f3e1246d93e3bc10635afb24735da355f3ea300913edc273235606c90355dc41f3e22cb0f3e8fda723509a61c34ae41b73dfaee623a0e763934029b4135ee6c263a8580663894851e35cca371354eb6b8386fc13f3886cf4b35e89e503510ab9138d5849136b2aa0e35d7ed9b35d8066037e8258635f3277e35293ebd34a0b3b236f11e9f343d8ba134b83bc735a5df89361217bd357668c535720a6535b96efa37346d3635e79d5135cdfd15353dc9fe36876e2235cdd2163588d1303528d22935654137351efb3635649ce735cb815837bef6cc354f13da355a42673749d4a237add62136c9e92536a9884a3543d1023e8ab85f3f0de80635acb69835232a273e677b563fa28a63350db0b534ed24143eb2ed3d3f58489e343926c13579a9073ecd330e3fd088b635989267358ef4f63dc4d9c33ef7275935296c1e3506a4cd3dcaad523e8169f634422c1a3522ee9c3dcf02d63cfd3e3835c62cdd35c744743c1e8120388f04dc352dd335368e885b3854fcaf3784331e3607072c36edae413872aada358540a135c0ba053686476c37aeffc13482203f351e4d98352935a234508e4a34c2d6c234eed64135569b4735b3620f354b880a35bb8e1e369eaf9337c0393635e86a7035675c2837fa21d637021c203633e9113574ab2535b581a33755878f36fbb2303413ce7337470b3a383a6cb9372b028335676fb5378b63f337e1934737d9285d3662de253664b4873c03197c3f2ed5d234cb6bc935d1380a3d60dd723f51fcf3340da70335b3f61f3c976a5a3f30111534de1905350fecc93af5b82a3f46ae06353c8c9c359c17c53ac013f23e004665358a033f36de49f738042b8f3ea273e53495f30a34af096c3c8f80ae3dc4071b34b7cc803612e18639d2cbc2383d8fa135245e63372f398d3826671b38746f48360000000000000000000000000000000063abc035f07dab35e71b793556580336e192b536ea055e35971e3935d3e4713586af613622860e361910f43561a8103600ea7c369450923618c16036b7967436bff506369a0280377981af35b7d3b5359ad495365fe116383085d63740636f36ca940236bc092e361f280b362e3308360000000000000000000000000000000000000000000000000000803f00000000fac185357b170437c519803f2457743521c88e3588046138f622633f4c923535dfdd503671681238e20c323f5714003664d67136d2868a3751c0fe3ee290663696f9b135aa058d38f6559b3e8bf9993554969636a530a038f3b2e13d363b73365dbd223625bd2b376632373a9766123600000000000000000000000000000000000000000000000000000000000000006c7a9b34d1dfb437792cd33487b01b355d2d89360ac1853684256836203c9236e77e7d35b43c1235fa154435315d8a356967f635f573083673c515364dd82d3639ab1637da52bf3708ce2a371d333337df39253682e97137700c7a36dada4f36fb3ff9355d8f1438bbd42b36b553323600000000000000000000000000000000000000000000803f0000000000000000b0b25c33ad05803f79a26a36d666cb34a8497436710c653f33227536f8d285362fc073350285333f75758035ed16853527c9da35eb6b023fad600c367dc927362d4006373b32a23e8ca560370b0c31379ee20736cc46003e869d04371c1e6236f3b7c8352a4eaf3c065a3236444428360000000000000000000000000000000017c66e3621b600397b1e2638ef9cc23682f8f63592994c3841970138076c7b363d8a143602eceb37b4c88037232fc5365bfe0a37e1ff75375b565a3723fe243745488036569cbb36326ab236d0e9bd3636913c3792c08a3877481d3868d27d37ce2ad1367491ff37c05c1837cc750c37aecbae36e3d54338d1051537b4871137cbfa5536f4deb53819a61c38e39af636b73c373695c3753f6e3b113ddc5ebb366ae2df35454e783f73479238ec02643622c9b935930f713fdeda6d38be7fbd366ca9003707893e3f83da6c38ac9e2737453763369a6c0b3f0afd2b37fdb8b23644262b3771dcb13ec72fb63828747b37dc00b03666cd133eac21fe37601d1337898071369dd01f3deae207387b780c371f8d2b36cf4f3139c5ab82388bc9e93625531a36a068943868492138df14803600000000a445a438fc893f380000000000000000ed71133825dc3037000000005d48f03572109d3742a78336c23b1e36000000008fdf3438395ca93700000000d96a4d34ed923338e6455036fe18e133f7669735b4bd113961e2033825480d3600000000955db73846a00d3800000000c4819833eaceac386b3f253853511634b2e893353e94523fa1090e3e73ce6a3600000000cedc513f1e96f63d00000000000000007a1b533f1eba983d0000000001793d35892b303fcae3083db85b1436000000006e0c023fb057c43c00000000ccec2a3438b6aa3ea1be1a3c704f05349964cf347b4e213eb814a33a1e05ff35000000000d32fe3c88699138000000002b89be33a80e9e3a5eb0903815561b34e586593332b3833af3a744379a4df73200000000605eb138e3dab8378c3589339f0dbd3685f9e638964bb83758aff43647cef83101d60138099702333c83973200000000c02186381ca07037b4c3e334e4e6f9369275e638a0e8073811e824370000000030c3df370000000000000000278da63561e86f38833e0436cfcc9535c249c636775c853904f2f6361d5fdd36fb6d5a3371e62a3f2968a03e1adf013300000000b3652c3f33638b3e000000001b1b9f36c2492c3f67d34c3ed4c6ea3654079a310a0b163f45c8023e636bef32000000001ae3e63ed25c813d2cdfde340210d636b01e9f3ea592613aa8e921370000000022d2213ed8c69a3700000000c816e034d20bf83c5e64ef3702985335f067a03645554c3b2428dc37a9a7d236d22ae3364103733af26efb361ef5a7361d2a7436a59d6c38f288bc3606a33a36772bc936daf0043a70731137a560e336c70564373add4d38957c6337de323f3704418436426dcc3765a199368f728936a740483760fb6138255580377fe364377610f53618b2903a5557f936beafc2365a5d7c3646493438cc3cb036d8b4873669c2bc36da31f037e9540b374455fd36c1c3d3364888023f340afa3e4d14953659d53d3693c6033f2ecbe13ea3250d362608bc3645e5033fb7fbad3e7697d236bfe55b37ede1ef3e64426d3ece9e3a37266f71365a89b03ee5841f3e3bc47e36edd63e37aa71893e4bcb033d2d0260379552e53607b7143e25525b38e4aaca36f8583436787d3a3d9fe7b43721df6a3612deb2369a701c3bbf690d37a4aaea36e0b3cd3623953e3b71a2ea363dcc8b369fc86435402c9038d1946236f56de1340000000037fd2a380000000000000000440423378959e438977f193731ead9364cfe8034339a9238f0ca24379f6e3834961fe432ae6c5d3800000000081c0633776803371b0b0439dcac0537fb93be36e0db0c317d7990380000000000000000c6a69a3371c5103857ec5b33b40bb5339097af360228af3ecc51273f9d59693618f9db34eb7bba3ea4511b3f7b43ab34000000005131b83e3585f73e000000004cc5153715c5ae3ed86bb23ef1b2c33613e82534227a8e3e55a8553ece0c3534e4349d32aa65573ecc329d3d2d3c1332cc91ec361ccb033e23d71c3980d7af3600000000b5a6623d3dce1c3800000000be46283314769e3c9ac40536369dbb332bd4e03397eada3c125c0738b1dd9e33000000007be3de384fbfa237000000004ff11336a51367391593123670f29b34d4d929349abd6e38bd809534f32bbb330000000056cea038000000000000000001a13d3691039838d5bc8836fdcdb03500000000839b363900000000000000000000000047e6a338000000000000000086e09f367993573811ce8136dc0b1b365db5db33a605243eedfb4f3f3509a4330000000044cf4c3e6121453f000000008d3d0336a9f63e3ec9f8273f0016c334c507c833f7d73c3eb38bf23e02b157330000000088de1f3e8d54a03e00000000f64b223692dd173ec573063ec8aab7350000000024c3cf3dc756a4390000000000000000dd2c7b3d3a6e3f380000000029158b3658b0213d92903b378aa50c36278fdc36d11de5387f2fb73773e6f6356e1d0937e6b5593869cdd136ea325436b6a710379501fb37a956ec36769a9c3688fd78379eb9b7388bb56e37cf762737b965a9365bd84937d53c92364f94763625122637cf1c85388a2a4837c05105377a64bd36b1fc8238e7f5a8372a8f00366abe7336a6ea6d3844792c36783c04366ebbc4364156463888d1da369f857936b46cdf3620864d3dc149733fff6aa1357edd0737bcf1863d4f4c653f90d81d3674c91037ac9e793d099f4b3f218a8036606179377ba2523d2ee9193f3b111b378285a53643fe293d273fd43ee66e5e3608c3233754440a3d2bb3633e87e8fb36377bc23653e7063dce35d53c4df1f1352abd61364eb7f63c3583493864240836b23cc636870ab23bf16770378990603600000000000000000000000000000000ba371a36bc453d36ddc006366bc2d635e7c96b366e7cb9367f1b0c36c388fc35ec1e3137a399983728fc1637b46b0237464a2e36a29119362faff33544ecf335ef358f35169e3737b3d7e935a4e9a4359e278e36cdf83d37a48ab537b3b3833663040935abd1a937243dc93729e97a340000000000000000000000000000000000000000000000000000803f000000004ef41036a1f17a37eaa17a3f1f89d6357f3f6a3624608837280e603fa085913526e52e375579f93760f32e3f123af036ec652036debf2c37bc6ffb3ed5affd3577648a35691b92376b43993e0cc60d3511368a368c7e5c37bd9bd83da6e07b36ab1ac634b042d2379c9c5539e9a6b03400000000000000000000000000000000000000000000000000000000000000002c076c3614963e388bb1813693016336e4308136fd158b3636f030366127d5354c4b7c363b2a85372d5c7536ea9b443637c840361add2c38c87a83361a756d361bd1873610470339b466b236a046a836eecb1f36c9709e392cca8136f077873679c25636f2502d3c9daf993683c9993600000000000000000000000000000000000000000000803f0000000000000000944764367dd77f3ff85f863627286736e8cf77361c605d3fd01f4536017fdf35fbdb67361147313f26e08436220e4e36984536366e5c053fba7588365060763655716d36be03b33ef640b83603f2a9362df60d36acb9313e0b721a37195287369248443623e40d3d92a6f2361ba19936000000000000000000000000000000008c00483501afbe3b386d5e3807af94368bb8d235a4e3ef3ae61e87376a81763635adb035e5a95e3a293f3137812c843650bb15369302de3a5b4bf0366e6bc43663e58f35ec621a3b47b042369eae413633768136ac71893cf3ced437f78ef236cb2d6a3539f5e33c0f1f1e37eabe9536db1910369db1003d13fe8e3627568f361160c036c454a93c162f2c37ac8dff36b142f7332305653f18323e3d2e7899361c749d35303c6d3f0f7f9c3cf5bb6f36282f81354c79673fe68839396618873607f8cb35518d393f9cdf943863dac43689d13d350cf60a3fd9cc2c3909383f366e542c36be3cb83ed6004d381bd100379ef1e5341e82333e74efb238909f9c36d651e035f5a1003d51bc3837edbc8d3635c89536e140103cf5505538679904371988ed3552d5983cf8782437ffbe933607c400351d8b783c4afc20387ff99935e2e34f35ee958e3cef9d8937dd23bf355d4927362de4023cb2acde36150ea536f81ce8343726fe3ba94ca336e4b42c3558d68d35bed8ce3c8c21a13704e844367f8d7134828ce53cb8a27436dd8e2836aa1cdc34d6bd0e3dfd48a13699dc26355e999335d288dc3cdc0745369a8f0c363ca68e3579713d3feace1f3e5e5e9736f6d6fc34dceb413f62e2f33d786da53593a44b35bb2d443f2751ac3dd4f1b5355751e3351d5c263f8009393db11aa73627d6e13412e1fa3e8b0dcd3c0dc52a353b658a35d648b03e698c463b3a674436893566342597483ea8b08437f08f2b36a068d63499fa633d471dac37b6e92435cac97135f186f83bc41d3a374dc30936bebe85367a93063c240504378e5499360f7d2f35d697823ccff44c368f244d357921cc353390053d9b5e7a3631305d35be828436c2a7253df1e62a37fe547f360ed28b35d8ff1b3d097e193615829535ece78b368f81173d04a1d436f64e843675734335a091fc3cdfd5193677e9813580ba39351155123d7e26283642a5cb347a17a836a6b0ce3c9425d336e61f22363f7562364b201d3f8ed29a3e71bf9f3655882b3511b51e3f9ce97c3e12054b35618d7a352e0d1f3f4ccd2c3e6f459935a607623608f8093f1e49e23d9b2288366c717735cb55d93ebe01663d9245a535f8726b36959a9d3e45c6553922b18e36395041355a2a453eb2ff3b384ee08735957f0b35814db23d99e8a93743810635aa2e8536eacfb73c8d705b372e3f3e361e29a136cf819b3cbdd3a53763f67436ce5e17365932053d9b244b3651020336103cc83592d9353db0e29036537bee316d8dda36fb12593d75711e37899d89362ae706364c822f3d4bf92336c6b8df351a67d336663e533da6941d3734ef9036d376df35eec82b3df95791365a4f3b35137f2336e3cc2b3d18c83c36e95fef35d996c236e0c0103d94b1f7360edb3d36bb8c8636f5e3ed3e1219e23e8ff28f3676800836f12bef3e9830be3e68410836203b8335efa5ee3ee4dd923ee0d17534a8b8c036e638d93e34fe433e7e829f36a893fa35617fa33e608b0d3ea4e0ec35ea1bb836cd7a823e611cd53cf122a9367a227f3557aa253ed1008e381e0568355103163684f3b33d642f23389da600366855a836f86f253d580eb437be3b643681538036e3cde43ce3d406370519263625ab3d35c7e7113d5c62de365fb07b34e4ba8635bf41213d541e0a36a1383c35a9fba1367342543dbd43d536efb2313667edac35c33a433ddb75ee350b3f2135c8329d36354f4f3d7552c9361b3c3536093a0136b0e4373db00d7b36d945973429cd4735bf02253d08b04b35257c26358650b936d313d83c1534be363de73d360e965536180ca83ef2dc183f97794f36b8421635f7cea73eb8ad033ff56d9534506481357751aa3eeb8fcf3ef2813e3508b2953681dfa03ea96c943ef78e4b36cc23a735833d833ecc44363ebba33f35153991363a89493eecdd813d73fb43362a10cc354b46083ef6745b372fef2f351ced483534169f3d3f06c636eb8b293590c1ab36bd184d3dfdc1dc365ad8483623d30836f07a373de5954b365fde2f359c761d35e2955e3d671ced34e272ca34f1d63536b998343dbde4ec35ae0045344bbc5336902b3d3d794f9736bca78235d40c2235cf86433ddef7ff34ec52d234e51eb4366b06443d4d7ca736c2f6eb345e81aa35818d353dc37ede35203143351764cb35c1bef63c24a51935dcdcf334f112b63636daf33c14cd9f36205b2234aa930836dd13373eda103e3f4cfd39359a9b2035962b3c3e5d072c3f7bfdcf3400942f3619803f3ebfad0b3fd1bf553410f84a36b9f6373eccf7cd3ef9888635e00e2635edcb223ec1ba8a3e401eda348d9bad36f00e083e1299ef3de2e1933520b2b23534e0b43d261d1b389dd047350bffb2359bcda03d6a7ff83775baf8341632a4367484653d9f33cd36c6a01f359af80f37e7b5083d7d8f283789a8193646168b369c25f13c72115a367f194535b46da4366825e83c903575363f6f903180360a37cbe1b33cdf991037f23c423405363b364994b43cec1307365572eb3260f5c636dffd983c88e3ae36412a0d356da78d363c7da93cd2b553365d83d7340e896e3649fadc3a705b353660f817353143c8363ccc213cb60f6f36239bf233fa3b0a37558a6b3d564e613f94e65936f94b8b362269903d8976563f3d4b8f35cfc0a1360cf6953d8523323fa07690311f750637221a8d3d7065083ffebaa4357ec8393621cd833db5ebbc3e79ec9a3420adc7360aa8683d430f4b3ead6a813563718c3641c94c3d636bc93cac27353586786b362755513d2de25a37f245653523ff9f36e935333de581593719cef63300000000000000000000000000000000dd4e973645852238a46b8636330c143616b48136636e9c3756904d36ba63d9359d84b036d6b926387811ab360cae323682067a360139c53613068136df8512367ffd553624879536dc594b377ae93f361760123650c66c3698535937511f6b368c287036f9d16a3764321a38e02e4c360000000000000000000000000000000000000000000000000000803f0000000051a79836882512386b7b743f8753213692e584362335bf37ea85533f77aced3584f4ad36861628384990263f296c48362c7e7a36c056a3363c53f53e69691b36cbbd5736564b91364c909d3e783a4f36b16a0036cbf65b3604cf0a3effc86f36385d6a360c95a7369a02293a5ecc4f3600000000000000000000000000000000000000000000000000000000000000000000000000000000efcf4a344e1021342fbbde3418089c33a8222335d6962135998b2836b3f10036cb17243661982a36c8899334b7804434ce6356358fc65b35b4164735a37dad34a7b765359c08f034aa71b63548ca94353ebda1359ed78f35ab134235832b8c3526019135f0b49e3500000000000000000000000000000000000000000000803f000000000000000000000000a2d2793f5cedd834000000007566573349e65e3fe2303d350c115d34e5270436a1c0313fe0972736a5300b361cb85c340f7d003f91ed77352923be34d15be733c95e993ecab933356642e4332645703564c3003eccaf8035a7e66f3512bba1345b5e0e3df58e8a35c283323500000000000000000000000000000000c28e8234ac10a4349d7c743785af7e34f04ab2343e0a43358815a435c143b735c69d8732ddb4163413eb28352e566c3503adeb35d57afb35ae9c0c3686d7d135fc5a3235b89339351ceebc350d69df3579e7c8355bcf3f368d0cfd36f70ab5362e63f1349f8b0235b1466636bf26c93466f0eb3511791736ae640436bd15ea35d1f2fb3263cf3336c28b29379f7dec32268e63342ac7783fa48e0e3d2bbc5f34f196533429f6773f34474d3ce1c084350bf37c32de04613ffce4a33819729034f9beaa3561fe353f4da7c43a730ef0354f08a933db9d053f86fc4d3a3e5e9c350e386735456fae3e55b2c03ba798ad36807add34df8b1a3e88520e3cc6c89d343a9f3635ef232f3d220b8a3ac294b6353628e532bcbd1f38d2c249380cb3dc3236ffeb336cb2d53625fef937550cb833849d5033c0b08f377f121d3856bc7133487405364ff4593680c6ba3691822d36c475e93420400d356ad7cb3430b76434b7936b32e48a8132c5c78032e37a82329c44513632148d3687548e37d43f5e36827b15330d0a90377ea8b037601023330d7ce83581621537fd445736c44e0d351cb43f359618df35ce0e9235ce89a2355923ea3301ca5c3f2909143e6bd6a233e10455330882583f9be0f93d6338603313820535c2b9523f9ab5603dd09e1a36e988cf3354282b3fda95ef3c4aacb33105d56832a155fb3ee5a8173dba70753203f37935742d993e28d1203d84013136b84b08339d14f63d06fe183d9ae02e33148cdc337dde633c2e50913c5b2f48347b0bf5320929ba397033ec3934044835000000009260a93886549e380000000029b0873431cc1438729d533815d4ae35fb659c33213bc734ebd52236eb511b341962e8350f5d2c3648c012360866de350000000000000000b7843a341904e133bb82d134949e6c378ebe063810379e34f8b910359a2d94368fa11a3792fefd34b4319833039244381cb7ee3729623235f78f6c345352c93409f98634b2bf47340000000035a2323f06bf9e3e00000000c22976348234303f3c96933ed27d673318dd433391752a3f75ca5a3ed28545339ba50b355bc50d3f6a231c3e5fef4b3400000000b9cdda3eb577a73d493aa2336f120d32b563863e087f823d576a34337e4340347f65f43d0a57df3c47cac03268920233cf37f83b69ee8839669413338eb55f34c91b663a6bb3063a9fdb733495800b340ffa0a38d888b7379caae1330869493589f3eb3570fb9c35ceb0493564550e339a6b9c343461da34d1f03634a431bc3531a8d73690aea036cf961735e973c2359509ea35d74bfb358558e13575d6ce3508370737b2466e37c4f0b935e5d01335413a7235264ab036001867333047bd350cd69b3636c4dc350c6a9335bd59163497e9dd361b61873647d80034693bf2339d65003fb46c013f9daa963336c06b34540f053f1f02ef3e1a8768342aa202337c19fe3e5a1bc43ecf5cf43289583335403adf3ecf2a853ec974173536915835d844aa3e3768303e3e2bab356a55da34a9bc763ec61e993da172883507650f339db1003eb903103c3f2e193350dd1d354c0eaa3c121b4f389fd25f358d47bc338b18593ad172453834ce2d3406d481348417673894193b3408ce3e34c0200a33b36422385054ff327a2efa3298632e3570c9c53531d1563500fe043295410635b2b49c35ca81b7342648b332000000002458f836a9bb82329b58923391b3f3352858a53674991736815baf352e8f27349e0e96374b157c3760c099347b690236ab644c389524923652020d350000000071f07b389f91ee377bcdf533aaec823481a4a13ee0e8303fdc3a2d34442b1833bc05b03ef7f4273fbe07e532b6203d322ba4a13ed7c60c3f3d9b9c336cde1b34abb2903ead19cd3ef8cd4832b8e90d3328cf763ecc0b863e00000000a1183f347f0e383e4308003effd59035d78c5833136cfe3d4973e73bb07c9a3312ecb4341b1df83c7e10a1391aae873400000000e8104f3a1f34a03800000000b3252b33a01ac63884b7f633863fbc32c2ada0352a328d36e72a9c3500000000921e75348138e13404581433b9f3c13286be6e36ca59a8364ba83d36808a083628376f329a9c9632f91d8e32b3d36032023316358b1851350be158353028bd349df2433651674f372473ee36b105343659babe34336812360c84aa350334f93475fdd7338dd90534bd6b0434ef10c7331cdf343343f11a3e1d905b3f13ce0032eab929349248223ec976513f00000000c413fb3218cf083e59c1373f5e35eb325460363612aa073e34730a3ff449a734af956532c7e8fa3d30bfb83e2ff35c3287a48c313898fd3d3801433e38617433680a1736e81fe23d9b3aa33c1c0bbb3539a05333c24a293d6cadf838705b46336f24cd33a8277d3a3c3ad033be22ec330546fd32dcf2bf37191ef232d598fe320924c3355eab07363e978635a52a2e35a77caf34e0674f34a9358e34bb8c9e349cb59d36395b0a3735b152356fa3db343238973523de8535160b583502282b35838f1e36dfcdb636b11b5636ef34c0352559ee3429438337855a6d3741579e32b291b935b486db352247c835111f40359d6b90342ac5ce34aa67af346fd27e348c24033351cb0e3d4b7f783fa6c6e53261fb8b35f79e403d78a5693f85d27934d4b75434254c893cd802553fa4028a34bb71c53696c90a3cb53c273f8e18063523c05235c1e3a63c04d4ed3efeb25734f180c3359302243cdb25923e522eae351b138c323003be3c0966da3d257e93320fcc80359ad39e3ccd88b33ae592ae34045a5d34fe75f8395d199e368711983400000000000000000000000000000000a42a2b3515cb0835d704c33451f2b434a9e0d235ed393535f858473519ec8435a8607d35523cbf3410ddd8338cfbd63379b1003587fc8734de83a334ae9ab5347d334d3674f62036701212368b8fe03549c083358b8f3e3510a675339c7d6a33a7501034d7a6dc33c5bf3b3409e52f340000000000000000000000000000000000000000000000000000803f00000000bb10c334e9e87235e9d6783f8ab6923477938a350c009a35c94f623f3f38893505850135fcac2235eec1353fdb7ad2336811ee345f0c4435f703023f6f7a40343abb2236e7e49637b95aa13eb0b205361b41483521c60038066d0d3eb03175330f0d8f34e112b43432c2033d000000000000000000000000000000000000000000000000000000000000000000000000b8cb7932a5340134a0833b34b97232339e4f2e341019cf34f6c8e4347d47a73300000000000000000000000000000000d930193592294c357e216d357dd5413505351635a4ac9135f3eb8535527f15350000000000000000000000000000000037deae34f082113591b12535783df43400000000000000000000000000000000000000000000803f000000000000000095bf30325543803fb5bc5334c5e76b33fcfaea338f846a3fe9c9d434514249340000000002fc393f0000000000000000443a213556d6053fa67264359ff83b356b683c34465ca43e1408a335f108723500000000aca7093e00000000000000007b9daa34de27643d430b1e351074df340000000000000000000000000000000005da0d35b66f213ab2972c3584c7e53433b005344136623595ce3835c4e14b340000000000000000000000000000000000000000b618be350ad95b35be642b34cb5acd327096f534621fa7340000000000000000ff37c735fd5ee33400000000000000003849c539bd09293400000000000000005a395b3a00000000000000003fef8d34ead4dd3ada7c5a35be813a358da7dc34287d763fcc11873bb298d53493edb43385ee743ffe0c2e3857207a34000000003252743fca174937000000000000000018ae4e3fc9ffd035ba8b793400000000d93c1b3f4995f636d710233200000000cec6ce3ee6f3c5350000000000000000aef04c3e1d4c543500000000000000001d50e73d0000000000000000deed02348adef53cd7a3a9351690013596494a34be460b3bb6474536828b1c357c90053575467e3690730436f8891835f23c5934f436df35f86f413400000000af465235d476233643acbb35c1471c3500000000b8861336a69f1734a235e433000000001d960c3600000000000000007e9c2935f156b53a04e40536fe6c0935000000001f4b7b3bf1c1613300000000725bfc31d7dc1e3b000000000000000097d3dd33e05d503f939fb83d132220358aa5c83403a94f3f78a9713dd93ddf347db7b5331f2e553f7b8b823b00000000bcc75935f998483fce5c5636e01c0b3500000000afbb193f81eca1376e9a973300000000954cd93e3fff9235000000007eab1b3528ca603e2d2d5e36d696e0340000000027a69d3d75450c340000000000000000a788bf3cadfc1a310000000000000000d1c9053bf6177e340000000000000000915d603a1b6709350000000070a14f35658b133a04c8d835665c233500000000603a1736742b9a3500000000c4dfb432a9bd433941494435ef892433b79eb23542a894391269e6351f458f356a989333f9bc5c3a45909d340000000016f6ba34d9235e3b56394e3590cbcb347739b3358300923b1415bd3538139e3500000000055f2a3f9a8c843e0000000000000000f36c2b3fc3e0443e00000000c34d6834b47a2e3f76c0cd3d905d333500000000be522d3f1d25333c00000000b5348132c0c7113fac8fb3360457e033c2e422354c55d23eb3033a3603c18a357702a0334877823ea8d79b352c6f9e32a91ebe34e0d6e83d9bae6f3522aeb3342c2789355c4e033ddd780536c00c9535655095347802a53c6cd60f360f75323400000000e9337b3afae6cc33000000000000000079288e3a000000000000000088e2243411cfde399d9cba3500000000000000005d6c323aea2cfb35000000000000000078ec733aa88a87357877e334000000002b5e983a000000000000000000000000415b143b000000000000000026d61435855d183bcc7a1f353305e6340d1e6e346d05fc3e5d1adf3e2b2d1234000000008adb033f0ac3b53e000000000000000056d5033f656c813e0000000000000000aa76043f1a25f03d0000000000000000744aed3efec8223d0000000000000000c8cdbf3efaa32d364a60f53200000000cd10763ebeee01350000000000000000c31d0e3e846c162f00000000f23e8134cc596b3d2263be354b269034ec509035b9eb153dbe171b361f083335dcbf01357abae23a438f5535b36485344ef68834ca75343ae653253400000000936d8e352277b5395b4e19369bcd9734f33ad932474ca63a5b9fed345d7fa032a7109133eb8bcf396351943200000000c39f8d35d98bac3a9c64f635c6137e3400000000d6198b3a0000000000000000000000003f44a63a000000000000000062be8035008da23e68d71e3f29ac04359a14d334ec01b93edb08083f78dedf33a02e2c34126eb63ed77dcb3e000000001d758a35ed21b63e78e6773e584f593418b0af335165b43e773ab03d2570d83200000000d207a43e623c0f360000000089817135b4ca673e277c2d36b24f9834000000001908143e0000000000000000000000004565ab3d00000000000000000000000016b8543dcdb60d3300000000000000009150933c4a50f23200000000f1918135f2f03d3cd108e2356349d43400000000f2506336000000000000000000000000bb6a0c3b0cba22350000000087205c354428313a7f1dcc354f5437351fc64c33f0da733a8071713400000000e40f8135718e5f397ebb7f35f559ca34f136d8350c6bdd3afe1a9135d9b6fb340000000051a6183ee0b3473f000000000000000017804a3e0a33363f000000004d7c203529ed473edfa4143f7ae1e5340000000000fd493e5631c63e0000000036cdc6337d7b403e9e4d5c3e00000000829e4c35649b503e6aa0983c397d4735c854d8328dab2c3e17ef0d3600000000d69d6335f2f60b3e20861036fd01bb3425ae98352fb7cb3dbb5e1536d5733234e2d027354a9ea13aa549cc35c59d6133000000000632e3390000000000000000000000009b5e78380000000000000000ad370134356acf3948c7d230000000000153653251322f39c52ece3400000000bd239a346e642b39f1af9935000000000000000072e4de3900000000000000003b1b0f35507e833882f5ef34edd1d3336c130e3546a9613a70ea3b354db43235e229a334ba79543da0ad6b3f0000000000000000f66f7d3db17f543f0000000000000000f004813dea333e3f0000000000000000216d503d7dfe0c3f0000000038ff98322d8e393de19eb53e00000000547c0233fc19093d971e283e000000000000000028e52c3d83bf0a3c0000000079fb0d35da07413d3b3a1335fb8474337ab4193530931d3dd6c42435301cee340000000000000000000000000000000089e4e43428540f35caa705359bbf993400000000000000000000000000000000fec15d359e6e9735ba1e50353d1519341b373335c3c246350c374735802c133500000000000000000000000000000000415fb834fd62d934b439c23436dace3397cce6338e98e6336267ef3274d9d6320000000000000000000000000000000000000000000000000000803f00000000220edb3491041a35741d733fb246e933000000000000000066f05e3f00000000217099353025b9355b242f3f5476b6329ac93635220b64355d41f73ec950bb340000000000000000ca078f3e0000000018e794343ea6fe345e4db53dd61888311ad9b233547f31346b975f3b2759e232000000000000000000000000000000000000000000000000000000000000000000000000b3e604392d94a33432a1d6340000000000dfd5370000000000000000490ac2356b6a3038000000000000000093c49d3599e6073994f90636d2a4b2358471db33b60a433922df123452b817341bcdd2317bcbbf3c01e07d3465ed5534cff89c345092103a3da199356408713500000000000000000000000000000000000000000000803f000000000000000000000000ef7a803f313ea234a224e23400000000a9b16e3f000000000000000035818c35bf313b3f45bd6c3300000000b3f450353cfc0a3f60f30e3698edbc3513f3cb338634b33edb896334e61d1834000000000c0f0c3e2d805135403e7234de31a433b3e1973d99dfaa3520288835000000000000000000000000000000000000000008341a3de340803457c3fb3300000000d574213d56a89d370000000000000000b80ab03c7d32093500000000c9a14a345d62603dee5582355dcf2935bb84db31fa40923d56f302383a04dc3366cca734f062d33dd391703562dee23378a91432d399f73db37c1e3575fe893400000000f4b5033ef3b15336000000000000000024cbac3de93a92370000000000000000045c5e3fc8d283384630a03300000000fa69633f4a5cc23800000000000000008f316f3f315f6638000000004f17213291205d3fa654e4360f8519352b81d031df4d263f6185e13866de5a342287b233f8abd83e7cd33838470d3b340000000000084c3e3d62aa37a2179e34000000004542b53dc25b413800000000000000008ca43a3dca3d8d38000000000000000019993e3d62e4ed370000000000000000662a4c3d9d4db537000000005641283328bcec3c2a204034000000004f5778337d8d733db0d5083500000000bd31223107cbac3d9c080631edcfd730826ff833b444e03d0e459b3400000000609c0d34eb77de3d9bd50d35c467b233000000009a4d093e000000000000000000000000521fb83d0000000000000000000000006380313f9086133d000000000000000076b9323f747110390000000046313b3134423a3fecd09438000000001bf80a32b8da3c3f32141438000000005ecc1f311f0d1e3f2ee18e388d54e630f4828e331c63ee3ebea7f3370000000000000000a1eb8a3ef698c53771fbcc3300000000662cef3df8be58380000000000000000bf19313d9871d53700000000000000001dbd0d3ea21305380000000000000000ba68033ee1af5a3700000000000000000914003ec151d8363e6ace310000000023740e3e0153693400000000f4345331f8e4303ecb10dd313d083f32000000009805333e0fd1672faef8673100000000cd7c303e00000000000000000000000086b4283e000000000000000000000000706e1e3e000000000000000000000000ffbced3ebde0093e00000000000000005174f23ec1d7753d0000000000000000cc21fa3e042b02399813c03100000000d080fe3e92791e38000000005c93463129d3fe3e1218dc3865f22f3200000000f0e4cf3e64674b372c6f6c310000000097a5903e2c4a8a370000000000000000593f2d3e8c6689380000000000000000e133983d4100bb360000000000000000207c333e0000000000000000000000000363463e4022a3370000000000000000aec52d3ed32a463400000000000000007e433b3ee11db934000000003339c330a0a0433ef5fcc6302cefb230e57292335d6f5e3e559a7a340000000000000000d6f94a3e000000000000000000000000db1c4e3e000000000000000000000000df02383e000000000000000000000000fa27933ed226913e00000000000000009d598c3efbfd363e000000000000000043129c3ef59be03d0000000000000000f398973e9fa74b3800000000f2e3be30ec75a03e75ad51389f25b9308bab863002eda03eaa36423700000000000000002e79683ebd24703600000000000000009eb3253e8cf9ca3700000000000000002555af3dece86f370000000000000000df623d3e00000000000000000000000032bb523edd7751370000000000000000fe763f3e6e9cae33000000007f1dff30e2dc3c3e0000000000000000733217327f663c3e44db6631be582f31000000006a73463e859530340000000051a58131d7e6553e000000000000000000000000ca7d493e0000000000000000000000008c13263e00000000000000000000000043aa163ed423e63e00000000000000008f5a063e0342ad3e00000000000000000941183ed9fd5f3e00000000aeae383162c01e3e5c5db63d000000003ba2243263ac1d3e4dcb073988e83931000000008625373edbf41a37000000005bc3a33149d73e3e4d0d8b370000000000000000040d1a3e9d82d636000000000000000075dbe03dca0b8b37000000000000000057d30d3e000000000000000000000000569f093efb044f36000000002bb89a3442ccff3dd4de403500000000aa86bc31a4f0013e722aa03400000000f080ff301e090e3e09125737cc341d3102376c349d37063eddf6403528e00f323953c8323c380d3e977a1f340000000000000000b0e6fc3d0000000000000000000000008ef2dd3d000000000000000000000000ddb1943d6c312a3f00000000000000009395913db5f30c3f0000000008990634ffbda63d7a62d83e0000000000000000db3a9d3dd4096a3e000000005884f4309d35993df7e5ba3d1cae1e312dc54533f843a33d85224738f22c1132000000009649e63db538d83700000000000000006a660b3e15db4d380000000000000000e950fc3dd416b13700000000000000000f025d3d81bac23700000000ef42f0319b506a3d2abb8037000000005ff00b3565604d3d3a413c3500000000d179cf344c6b493de3e786351289a23266ea0035108e303d99ede33795a5c0310f932335b83c293d79188c3531162c320000000077d1303d51d9f93200000000000000006350463d00000000000000004969e7335db24e3d0000000000000000000000003e350e39d566523f0000000000000000d044013963213b3f0000000055d2e53484ab373c71c61f3f00000000c990b234da18133ba033db3eb781b332bb0fa434c68e4439fe56753e0c48c83141022e3560eb7d3a8f2f323d4da5283200000000471cb43b94c1533800000000000000005140df3cb3641c3800000000f694143410f0503d5ed089370000000000000000000000000000000000000000b5fe7135b2533b380ec88b37cca1113289ec9e345e8a6f384dc1bb3500000000e00e14346362a03736fef0330fe0b1330cd9ae3550852a38993f8638235cbd3400000000e2968135740d84387b8679340000000000000000cea5103800000000d5adad343740043565c48738000000000000000000000000000000000000000000000000000000000000803f0000000076837635737d9137e01e6e3f2c3a193291658c34629a143868da573f0000000084f115341bd78b35974f273fb892bc33040daf35f34b6f37a70eec3e204700350000000013da0d35ded58b3e7f3eed340000000000000000f2ee913d000000006349af34047ec5347d8c383900000000000000000000000000000000000000000000000000000000000000000000000007833e37bfb9ac36384da83646593637b93cde379cef6137f6878d372d1ff2374c1bff3725f59237fc73b037adfc0b38617309389c03bd37c59ece37ae7412380346fe37aff08437ba4b99373a3a0a3862379e379a328f3736888f3791ceb2378bce8e37538d9b37afc2813785c49e3700000000000000000000000000000000000000000000803f0000000000000000fa76a83600f57f3fa0e643377734da3621da94373d20573f92420d38c978b8374d1fcd3794942c3f6aa21b388ac2e637e5eef23738db003fc6bb1638fffbf637f1fece37bb2eab3e94bc0738c78dd037c0156e3707642a3ef4f6a0371c949f37e69a3637439f103899f17b37510f923700000000000000000000000000000000fece64372daf2338c36feb372e6dbc3782d7dc34f920953620d1ee36b0115a373bb99636caa19036c49098360e48fb3631e2953759b3d83625d89f370c2f053882757837fe430437bab570378f99c83788b07937e92e3937041384375c5aca3707c4883779f86d3768798d372619f4374f1abe359a61c436c23189362e6e073785c87b37e6aebd3711b4ba37acfecf3725a13c36c3e77f3fd7a319398c128a3745809c3473107e3f7f36f03bc19b67358d558836f745563f829a113c20a49836d23ab235c43c2d3f653e403bd9259c37bbb86a35a009003f392f4538b2287237bd35e936eb81a93e8a480f388d808337965587360f732a3e0b7b213849226b370df597352bc25b38128b4137cee25a3648b31136c600fe376283c0374e21963794803d378f21023845c3b0375f41413744d6853543932a36d86e8f35dab496353889a3378630b23727cf713771eba7372ced9f376b808637ffb27837df4eae37b1029b36cacd1a3642416d365c1c013727c0cc37e21acc379febd23719aef9372bd58e3671a5043764adf836d3852a374c99f0365e1a6737b8421437db8f243733e4cb37cb7bfb377cd0dd371f02e53792521137ce2d563f55fd263e6542343740093a3553f9553f3b11283e12248b35991ca536da1b333fefa21e3eb1f202375579d836bda0143f3c13db3d315921373b28a9356d81da3ef983933dd26a00360a3b77372c1a953e89a4863c4dcea23738e48236b00a1f3e42721d38bb078a368c715236556329389560a437892fd8364e095e375a6123388736f8370e6e93372a3bcb3778f43f3873d80e38c44aab37dc51ee36efc0e6375a959e3677c08436f8e192374513a5377c583337f5524937541ad7370dceda37c9b79437fcd69c37ecea923786a18e37efef50370092713783a36837bc277b376db55537aca57137b11c9937ddfdd4373f5796375417a237f17d6d3747c0aa37aed2723704724137d3020738e4411c38ed62cc374391af3752a29c3692ee2b3f7ff6a73ea9e53237df6d63367fab2c3fc385a63eaddf72364c54f736abfe153fdee38e3ecc8dff360aebf736016cf13e02855b3e897200373df36136181eb33ec0e1193e6bc46f36ae5af836aafc6e3e29e3a23df13e003759b7c1360214f93d11723a3c1a97c936a4a61e3651e11738a601c737dbd7783674946e363f808439f1591038d5f3713618fae13777c89f383b0300388c1e8d375efa2c37a0049c376eb50037ab3293367293fd3693ad0237fff4a336109da3361e5ead37c6d1a0376b515a379a975d37671b0438fe6104380d58ca378d5fc037dae0ab3783cfb937edcd8737d4458837be2b0137214515376d63e236de5ebb36f2d35737dd319337b5e43037fb26173741af03385b2b10387dc6f83726aadb373fc54e373f20013fb98ffd3ec6024b37e78a05350ad6023f2238fa3e3d32ef34d5ad9d36a2a1e13e7ea9d33ea5409a36f6ae0037f534b83e16c9a63e3b2d9e36c89e93377f08863e23d3733e012850370b5b3b37c0f3313e88e80f3e493a0837f5dea336401fb43db6046d3dc7a6a1367df5f23601b144389b90cc37c878b936182ad137eee927381b6c05381bc2a0374c19b53793f1d3391de0f837fa505d3605db6b37e2fca737d0873636a8f517364b48d237d540da376a64c336a00ac2366896a137dec986371ad8f936ccc1fa36dbe4bc37b397ac37bf39bc36906d6a36963d073819840238126f8c371c4a7537335cc937f271d437c3e078374f295b37a80da337c3d6a537172712376f0c92362e1a153861d413383f8fea37b407c9374eee5536e2bcac3ebc62293fad6e37363cb81a36dd74b23e7eb9263f7efa05361928c4363a089f3e13670e3ff50ab1363158ff36bccf7c3e684ee13e48daec362c6dbd364048383e7abda33ec5765f36e79181374bb9e53d969f4e3e2104f436605152371326363da626b93de76d0037be56ad3673c27a385dd93038cb0b773612cedf3779fd3b38c5821238ac758437680cdf37c8fa21388693b337b3b11d37bad63a3747878b3742a34e36cbf43d36871a623781fc3b37dc178136fe4082369e070e38a829fc37ade974377f8679370cf91f37d97fdb36d793b5350ecbc435594cfa379b29dc37cd9d1537a6fe1137fb8b213897d51438ad6a773717d946371c1cb6361085bf36348896359d7e8635c44cb437b845ae37dec1463739083e37bdbf5b37a21b313edba7533f5626a1369c056736edf4403e73ba4f3f6c371936aabe8536d084343ea4132b3f23f96636f910a037fab00e3e6b8a0d3f9de93f371be41b369b25cb3d74c7cd3e36659835be3586378b43503d39e6853edd4cd736fa67943749f12e3cc6ce093e9150b03612fa91352e36be37c4b68237574a833584167a372ab4fa377d1c9b37f5192b373bdfd43703fafe376c360e3719bdf234dfed14377d87e13692db893548836d351ed20338a2efb9370a3444363a514036476bd4371de0a03763ddc836e2dfdf36e44cdc37588ba8370d7033352e844235a1bc143846abe837d69ccb352273c8356e2201370d96cb365bef9536c23a95364f3ccf37c5399f37ba7c5e360cd3d93471b60838df5dd837137d8237a1e2253714bb6e3796c1cd3b6d537e3f5c809534857fc03546cf043dbdaa773f600cc23406fb62377ffaef3c99d44d3fd6f63336c2cf8637a181c33cf01a253f1d738a36889e95375aae943c2d8bf63e6a512635a348e0378e1ad03996b5a33ef922bd350ce39c36c3d4203a891c1d3e554f8e361cce4837851f3d380ea240387645d534d999c5379ec52238c987bf375cee613600000000000000000000000000000000e8f2993765a87637aa913136695b313683cfb03793da97371396e63667efff36355e1c38aa85e2375a7bf3360a8f223752531338fa15033822f7a4372df8bd372d980b38ab9ff9373d829d377af5aa37a8c80138f90be83701aaad370202a437da472e370ad23e3719884037efb808370000000000000000000000000000000000000000000000000000803f0000000038107637f51ebf373cef7f3f91561f361adb973720b3e937095c553f615ec6362b4ddb37e7937738fc502a3f6a83ed36281004380cc33f38a710fe3ed7d3a437b24af8376126353856b3a63e511a8537b8a4cb37a2f08c3923f5223eebad6f3770d523373a486437c375fa37f938ad36000000000000000000000000000000000000000000000000000000000000000025fc113862b9fc391302b737c37e9237357c1139ef1e8439b2c6bc373dc8ae3749ef0d38fbf30f382e13e0377328e93792501838a3b01c3819f601381edd0b38fc912f38e0ee80380ef400381e613d38f6bf0b3831b34638627bf837d1f22d38922a36378285c33701972b37f26a4a3700000000000000000000000000000000000000000000803f0000000000000000ce2cb83722fe703fd54f3838df7a6b374fb0d837de2b4b3f0bcac938502d8037432bfe378b28263faa8819385eb9c437e1ff0638ae97003f051b2638afe6f037fcd8eb375a95b63ea37356385cc70438204fc937c851593ee16f283882e0d737f86207371869833d7d353f3728190f3700000000000000000000000000000000e8178837ab93c23999e11c38dcdd7d378d69bc37364d853aa5e5073885669837ad10103670f3cc39674bc636b6db0e363dd28137d1c14139305300380f6c8b372950703763b1d937407a99370bac99379d9ca936e5c0cf37651b5e37df9d3937f8df2937703cff371148b13739e4a937ef1c5437975608386a44b6371bfc91377348ec37efec433860b31138a719f9375985a63683cb6f3fb03e803d31a657371c87aa3650ac613f5896843d112c68375b4a0b368f5c3f3f388a583d82080e3641a28435e7b21d3f8f33113d483ab836dcf0ed366aa8f33ef3b3963c445c813705275636834baf3efd391338b999a5366d9b0a36e90e533e97770738da0a5437b6674336ab65923d2746e137bee14737cf785537c4996238aaa418382954bc37eba961378ea4f839524fec37a5e8003730bb2437bbb1423ab099ad37206e59360290883712ad843a19c6b1372d5fbc361409ee364a4f79395c777137cb61033684ad5937073fdb398d26cd37d4be0e37534e8337ffaa2a3827b4d937264f813755d61f378f42173a4fe31338498e083767493837ee8222386d2eae37d7426437a0aa8d3708d20238dd0c9637037d5f37b974f7364a874a3fee2c553ec46d003716645136ebbd413fab09503e1c415936f51cd034c9b4213f3b122b3e510c5c369d31c6355138073f5152003e8ea0f93544b92f3610d4cf3e3007ba3d3815bc3667b2e036a586973ea2af3a3dcbf41b374f11893538b33b3e21b7253cd48ac735562189364941833d4dbeef3730c3243748713b376ecf2739fb1cb8375054453748f5cd3755a20f3ca4ae3338ef4a72378a8c10377d31323a06ed47379b65a136dae9d036f830023ae0e832376f56253446e9e6376a466b3887abf33751fb8c366ad50238a9dd3f391b0f0f38fe2f7e3710de943755d64a384628ba3781105837f8ce0a34b1f08338fec42e371e7006346b27d83774899238861e03382ced34374c33b037febe52382be0b137ccd96f37926744376601253feb58b13efeb46137bb53a336e8ef1e3f01c5aa3e52bd9b362837253453c4073f7d6c8d3e023b2734a204083714a4df3ef9f25e3e522d4436463a6237aa4aad3eaed4243e86434d3786b7fa36b8e0793e7256ce3d71eb22379dd307340b7d193ec0f02d3d9d54073434160f37b2a4623d50db673864eb0537b1f78437feee6239eb1cdc37d3ca4e3702d29d37e2ae373a03563438e951fc36008d42374f06573ae62b813726448c3673b001385900fe39c091093846c61037b8f519376cbf103ab9501137950f5e3665b4ae37fb8f453922d4a437b1cde53650d12d37caa0b539b7500b3758e4a436adf00138dcfbe5388a53093822d465377606473718b20639da748637fa7cc73671c00b3823ec6238c726e137cb420a37125b0437d60d013fb23ffd3eb33efd3666568f369709f93e2ae1ed3e9e258c36d8305c37b029d33eaea8c63e7a970937c4f5b9369b76af3e58b69f3e7a0d46363c8631374ae6853e23ed733ec2dcb7367f88bf364dff413e7f9a1e3eb3b59336ba0f8037b607ed3d670eaa3d2082543773e0e13695a5323d2b258e3ba17ba336d5f243378707a639aa0a323889f608373967a2377064ff39636bf4377091c736534fe1370dd63c3ab04d09384d2b7336aa8810372815fc398630cb359e9104342707c33739111739f0848f37dfcb003639b810389b1542393b18fe378f0ac636932b033898a34238f806e237b3dc1c36e9fd503771c91538456102373891283476c33b37f0d91838c6ab3b37b460af366ef71b3849674f38dd34fe37a5d1803717a626378c67b83e8b92233f8d19c836f489cd36ea5cb33e71e7173fefdf7436e93c0834004f9b3ef8ef003fabb204346fa86637cdb17f3e557bcf3e3f8d0136aaf9a83733ca433ec31a9e3e322c9e36349d9537e822093ecc72583e09e0d33507316b36d6159e3defb8ec3d95cd2734b932bc368df0c33c0caeab3c02f2a7369d0ee037ca287038b43a2e380b915a37b61a8937fcb4b9393266d037231b09378bdea3378f735239e36b7e375d3a8136372a7038523f793ae45e31371eda6c355068e93724596438793b7737ec2a9b36036af4377501013a2fa418375fa62c3648da95370f5e0e39d81fa536a0b3bc35206dc337be871d3ae39a8c37daf46833464ead37c437143885fd6c37ba395536966ad437841a013803959237f964f936ade73237dc5f5d3e067b483f2c820937692e0837c45d593e2229393fbaa18036078da536e9a8463ec1601c3f400a703580b97c3711ac1f3ea09a003fad98983643be22375866f23d158dc43edbab2c369858e636499da03d5dfd883e2a11c035239469372d4f2d3db701213e2e8356338d5003376e2b103a40301e3d4e0f563627fca5370da52538ab91dc37e342f93610d30938924c66387ca21d386b4b8b369ce1bc37bd112a3886059237d5e924369932d93749ae4038593b1f37bf0104367cd3af3725752538bbb0573665d74e36a8b9b0372b694639e3204237acb39736abbd3a3803338c39e15fab362a8d833574d74437a011383910d30e36d680093676da0f38cdf35c39ffd2cf37194eab36992d1b384fe12b38d614ab37587aaa3658d2aa37242d933dfe836d3fe1568c361cab303762e99b3d042b5a3f3aa1253637c8533788ef933df3ab383ffd8b05360710083783ec823d4eec173ff54c4e36ddb7923713953f3d64ccea3e0ece97367f6dc037cf32be3cf242a63e7cdb8335c46d30361336103c6cb2423e890b0b36b6baeb37f1b2423a5733533d0943ab3680f5f63792ae4f38623114382fd7a73600000000000000000000000000000000bd7f59370a3ba738c98e7d3708d0ed36d39333388cfc8639280107389f51c435f169f238570bb139a44e0438db7a8c3769ae183852243b3839ad0038667f5937b32004389a571c387117f637ef6a803719280838c6e54b3986530138a3d31f3741aaef37f9dd303865e30638b8d82b370000000000000000000000000000000000000000000000000000803f00000000920a0d37272fa9391f716f3fb7a0f5365c40e0374bd1193ac65c493fdfdd1037b17f04386d98303afc51243ff620a33731a9ff37aaf11d392a86fe3e5b9d8e37cae4e137cfec35382a77b33ec28e9137b667d8371f12d139bf06523eabf61a377b4abe3752283939da516c3d9e1fea360000000000000000000000000000000000000000000000000000000000000000733ba73912de473ab7105b39c0e237385512d639c064553a8c057139cf5dbc385133cd3903f9fd391997a239742a6d39dfe7e03964d2033a24cfb639a0d083390a32c43936e0f239599d8f39956a3c394075a939eb51f9398b4bb8394ec29d39d8c6ff39bafc4f3a6bc6f5399e75c33900000000000000000000000000000000000000000000803f000000000000000019197e391b17613f4effba39bdad8138549cb4390563403f6e0fd23998e5e938ae1fb63946fb1f3f1548d239c1f17539eb8ccc3910ccfe3ec897e039da7f8b39eadda939461bbe3e0f52b839c02a3f39c02c8439cc107a3efcd0cb3934279739c448e539f128ee3d6b0d013ae1ded739000000000000000000000000000000007f26fd39d0f45a3af2ce093a8f3b7939db305339a0f6e53ac8c67c395450f337a3650e3aaf59ee3a4f4b0f3ade778639b46cd539528e3a3a83c5d9395e1f3239ae1f063aaf70403a0d62003a28df9439da4fd739640b743a3bdce13927457139d46b0f39c5cc093a1aa9b6398abf6439cde55e3950d9183a6805cb39bec0613909a0b238234a8f3ae4a5f43879f645385f0caf39db02613f96a6ea3dd485963925ef0c38065a483ff9c0d63d97820838a279cd398b532a3fcc75ae3d9a9b9939889d8d39f3fe0d3fc025903d25194d392ad9d4391a8fe23eb4fe5d3d10b6a139fc969339b98da93e53c81b3df31c8239d0eea937fc10693eb3e8db39149c593932125d38088be43df56ce3397fa76139e5d94338849da83a256531392c30443839016a3874f5a23a698418395def16381f1fa339ca18543a1fbbc539a5be0137154f71388b3f483aaad98438a10a2e37f2584d3a7e3f993ad0b7583a41b3e939427e2b38e3e1423a80f1a038b71ea0376f4cc739ab75903a066ae8393d35d23818fce438d66b7f3a8f38fc39da15e737b38a2538e673c639b0be5238a06c95375da20e3a2d74af3acc57053abed08b37bc50373863fb403fda63783ec1a92838b334c73834722a3f38f45a3efe26823736dc0a38e0f5113f93f43a3e18e54537b5d1203af390f23e7fbc183ea816043a6652f0379a8dc23eea5cf23d0098b337ac3465390c76913e8243af3d559a173937910a38132a413e44f55f3d666ef7378864b737464fc33d981db33c6ecc9f378b964e3960d0c13a9fe2473a68e3a037fd19cb39bf7e4a3a444e063a39fbdc37b805063995a2c83ae79dd239c4bd8e375eda6939fc70933a7c5a9239d31d4b377bd38b39e677d83a9dba043af79967371bc812385c65863a2a2b2c39b650af3744401e392e20583a8dae05396648f7379ad02e380e76943a14ca4e3815428d37585929381970ab3a320f27396aa9a637ba4a153aec735a3afc091c3a0b12933976336639731d203f1e07bd3e85dbec38b2140a38e7db0d3fa056a63e514ac137e4a7d337031ff33ece628e3eaa3c72373a7c7138106dca3eaed16a3ef7e29437652af437ad83a13e9d893a3e6764c137c00e27388246733ec543093eb5fa0738d37ced374aa2213e7916b03d79a196372cd70f38217aa13d70061c3dc62ac337b8b4ef392c6c703addb6333af4dca439ea99ae395248603af0e5e839b122e0370035a239912e443a3dafd6394dcf2338dac2d739c7f44b3a9b22ff39952af137ab36173ac5de773ae044233ae1d000387fa35f3a2b76df3a6c6f833a380298378d29103a2b3c6f3a3249243a8d70c038b69acf3971893e3acf34f039b349263858b094392f0b2f3a55ddcd397bfa3238802eba3960f7253a7d46cf3900a6ef37a651273947ebfe3e12b1fe3e28c94b38d003d738f1bfe13e098ae03e469e3238c80e6f393b5dc13ee1a8bf3e303f083825c9cc395b7ba13e5de29e3ed6bf0539e8b8f839320a803e61c77b3e8ae7a2373928c6390122413e38c8383ec0a73839191282391c3c003ed5a9f33d547d61385b07f938422d803d4895603d51d53838a371733999272e3a2474053a0ec7443880910c3a54cc693a90e1343af27bdf38f68020387b91c93a872adb39d14886379d093b382ebfaa3a587b51385c3561379b1f5838eb43763a07f5bb397a52d537a426cb3827ec633a6f40cc38680ca8371c5eb23934ecbd3a7839ed3985158a3767335d39a557113a55c38f39e1ba5b37b5da63394573783a4781a139c795a9379581e0396e6a313aa5c7f139b586343886c1cd39e22ebd3e957b1f3fbfdb763982cafe372446a83eb5fb0c3faba5c637914b0338fd76903e8252f13e1f898437e26c2b383a0b713e93e1c73e0904fc37d49ffd379ab43f3ecf18a03e258eb63788661a391aea0e3e195d6c3e2f71c33732bd69389850bd3d65721b3e7e4a8937bfca1a3818a8373d8683943d8eddc937d071a83929c5373ab637173a9018cf38ddf7c93947a7b13ac9ec7e3ad9513637a64935383a1fc739f4df85389b23dc36a561c8394cf57f3ac16cb839ee0f78375ac2e1390267883a04f40f3acc703e37c9bd8138bfa3243a3d14b238391c4d371427543affb38b3aa3565b3adfdf8839bbb868387eb50b3a8e15af385a042f373049a739b25b293a73e9d139f87e7336d585c8383894303a5a37f7382c661c38cde46b38c615783e8d05403f0b938137ea12d13732f85e3e6df4293fd4aa5537bbcd97387ff93e3e4d14113f2337bb37ea0698394dfc1d3e844ff13eafe26d3735bc0238d08efb3d3905c13ef48a7c379ebb323acf63b93da36d8e3efdb2c13965b121386455773d34a03d3e3a9c4237c9aa4039c94fe93c6474b53d52dcdc36b6434b38973d493a2530ac39de8b1e38d379c63803fc863af0f6383a73da1c38bb32c2392db8133acb18c439def494362456ba39e2f7ff3977467f39dd28b136a0c1ec39fcaa5d3a5f9f003af45b8e37605d073a383b363a57c80e3a7e4b7338b276e0397fc5213af925e739b3ab0138b4ec0f3a4631923a3977173a8622c9370e68653918603f3ad5678c3969ba9f372026033ae36e323aa3890d3ad52cde38db424a388d67eb3d0a5c613f989e2f3816618a390abeda3dce24473faa663237dbfa89396152c93d1dbd2b3f7cf043371606b5393b40993da3200d3ff7654138d338dc393a896e3d4f3ee13e70184839cad0ad3984192f3d240da83e073a0c383538eb39580dda3c8f6e5d3e61b3fd383718f438b132743ab706dd3de58cc1374a70e1397359363a82bb2e3abb562c3900000000000000000000000000000000d513033a9cbb2d3adf751b3aaf7d2239a336ca3908b2f7396c22c839f803633841269d39cfe7f3398cfcd63942b45d3816ffc53962f4003aede8e03908cd2e398a60b33979e5e5397038cb3961900639273d8b399781143a3bb6d33903afd838f9ac6d390490ce39e408b33905ec2c380000000000000000000000000000000000000000000000000000803f00000000df9bdc3910173f3a997c603ffe16a9394049ab39411d053a914b403f5d9d0439bd3c8239a3f5013a9cd81f3f15c441397583a839b050043a669bfe3ecc158839af669d396720f039bd9bbd3e67b252393be55b391b9d1c3a179b793e43f02639e6842f39b269ca39cbdfef3d291f603800000000000000000000000000000000000000000000000000000000000000002d734336ca10333634c53c367aee47365d2f8a368a142c36b9673c36d8e5ff363b3b9136b455763632da8536111a9a3682805a374ed77936279af23637ec9837313fcf37370ba4374fe9ad37699aea37711e3a37fd3eb6371eec8637cf3b8e377c7ed8366e2311379640f636ac09eb3600000000000000000000000000000000000000000000803f000000000000000012c83336e2f77f3f35046f37b99e463616495d3633aa643f4e45ab373db3ad360df590367264323fb96a49378abf9336ea7cab372361013f81f16638a2b57e37b383e8370f0d9f3e5c9d5a38692de037016dd236141eef3dd7788038f77e7737896495367ad2203a5c5daf370629e9360000000000000000000000000000000086651036f36c2237c3b4b0375a6b8437adab133620422c36dd4c5136f7b3b636037b29365d932936584e303694d92f365be25836edb85836f6ea8336e1ad91368525c1350009d535b3f3d2366e80363704367136f67a7f36732c823621a683366b3554362c392737d0188e37f3038837a80a04367c2916373b562e37ebb85b36e183163610febf363301e036e5ccb7367294de35c3d17f3ff342343a139105376a90f5353dec7f3f59848b39c60d4e368eff2636049a693f16eee33877213236e19e35366338373f6e2e0539fd068a3681e3af35d2e3043f1a4ff3384755f5367f5e643608a7a33e3c19cb38395b843699e92736d5fefc3dfa284c39f78c3c379462e035ce4b8b392501813882f4403690f2033639543137e38241378011a836dcf9d1356d5e83372b92c037ea8b2037606d8235cbc58535548e843579b581350aa6f8362c003f37da4eed37c83ed7371874d5365ee81c37dcc38b379f609a3797193d35badc4735aa53423554d43c3592e69036096f1e37ddeecb375f918b37b326ee367e0aef3757fb1738cccfbe3736269c35b07dd9372e4eed37ff0c943718fccb36992aa437e0f8bb3735079b37c7e3c735dca25f3fcb86013ec1dabd3630f46c35248d613f9fa9f33d86b38335a9673236f139483f6ac3f33deb2b853740d3d135c262223f3faf9e3d4f224337e50d3935548be93ee8ef433d3af73f35da9c5436ba7a943ebbfe563cb4b32337be7abe35b222fb3d17f69539a8b694376b099835336a0e392d028638b9f12e3715882936e04b2b38f37a3b388ba42d37a6a6ee3539cb3d383e790438012104364ce12d35cd053235bd562b3501a220354224f2350ca35d366f301a3664eaf63529aa1e37c696c637f4d99f3738991e379fdc4935e8a25535b00f533539a75435cc1c15365f4ea037172187379510f1367dbc5c3790825538089840385c21af373aabcc347806eb345ed8e134c0daf2344bd3f136f3bec237f0987737d7190937a772de353f66303fdd199f3ebbf60036ff282535f556333fe74e993ee9dd1a351188ec35b7e6253ff0c8873e62a0f8354cbd0b36cbcd023f84a2483ec0750c36367c3d35bae1bf3e736c063e409944355e171436512e723e481c823df083173647bb6536fe64cc3d317dc1398d8b31374f44c734f4d8f738a6c4e437ed53c734cf4f073607411438fa1ddf37dcb82936f75e473613292d386e934636ad3c3b369aa01636a9653c37ab861036e0460736a6c858364277713681dc5436033a4f361322853621cb8c3642d977363ca470369ef3b436140e7537ba0c8a36f66a0336b41287365028a93696bc8736f9598336380e6136b9f79d37e830623637d6543666be1a3673fe5d371a346d36102e1f367c515336ba509c36323f5236f332443660da3536a643023f6985fb3ed7f52d36264a0b360f49033f9a7bf93e4724f4355d0a5036256af43e85eed63ef43749365bc77e3671b8c53ec25ea23e0ab3743675f703362c908c3e55ea663e75a800368af18236e75a363ee9a6f33dc277833654de55362946a13d4e69c73c63195c365e430f36ca96e7382c3a4f386d591b3677464836325486385f9b9c368ff73e36a0b626378bab163858f50f37d393073616fecb34b8cec9349103c7349df5c1347e7cd03762a01a38887f5d3645985536c23c5737f6017937d28415367af21536ac95523597674b351a303c3513d5433520910d3853664d389810af377b540d36134a19372b3010383caa9936e77dfd354076263583557137f0c22c355bdb2635a0ca95379e1cb9370f32153629270b3658fd0836138da43eb9b12d3ffcf20336ff01c434cf5ead3e2a54293ffda5c334a771ac36b3e6a53e385f133fccbc48367c291536e383843e94d6e13eb66f13366e8143355fb83f3e73349d3efc8436358fc33f37e06ff53da350313e70a80e367bb4f9359ec9433de38a1f3db189f235a2ef2335f4499438910fef37f55f2135148b0836b7b397388d93a2375c660136b7fca83771eb60387e459b361ed716369360a537c37aed37eb949a35810d9435d26ed4370ee3b837bcfdc1352c31c035c790a13734bf7a371cc54e36092b4c36f9fe463552cc4f3501a943351d314135cf1ae6371fa7fe37e40d0b37d43508362f4327389c3b503830a4b83731daef369d0e8b35b61eb43562b68a350f338e355434573712ab5837dcaee835c97fd735dbefd7363eba0a3e384d5d3f40fb0b36a7845736ccdb1e3ee230583f11a48f3519c262379a88243e5c6b373f7b13bf3513732a37f563083e404d103fee853f36882645357d12c53da7c0cc3ee79e3435ed7b90379e7c693d7d9d6c3eb041d835fe79fa37e4c9c73c6830983dad6b4f362d778a35f17c08396de8803793158235b8a42d377a274738092f10372dbdcf357328de364e3b48370c38f335801ecd35e73ea9368bfc48366732d2356d19ba355e627d37782c7436fead0e361d0c093629458336bc12813699af4e3634194d36d2a33f37b72b09378e96b535f501b235f1a992365d979536ad485a36b55b4936cc882f3619f2363646e82c36c3842c369b55dc3608125f37c4f4303682f52636d3f15637c2cd22377b2c223689330d36bf16b1362734233c3b767d3faa69a635ba7234360e03ed3cfd8a783fd7eba9350239223796fe633cdbc35c3f31d30336a66f8236dc3c443ccc1b2b3f0ec5493680732837feb2983a5cabf53e8ff4a835c2848c36633f863a0c0b913e82f23c363c152f3647338e3ad709b13d93472a36fba3a3360228ce38e1385d381af11d366247563799204e389f7496361f4f063600000000000000000000000000000000b028ef36d7c9bb368fea7436e3a54a3654b1a437b199cf360c059b36ebfe9c365eb61a385b2ac1372cdba5354124ac35ba08b637ed1c99371f506f36faf37436e3149236423cfa3635e58b36b4f18e36e86b2837624ca9376ab88e371a8bfb368ab95836a479263711fd0537cf1d4b360000000000000000000000000000000000000000000000000000803f000000003149e5369de033381bd17f3feefc403631d48e373cde8f38db10623f2e629a369d910638a0c48338e857303febd0a835b11bb137a518b438e81dfd3ea302ba360e3a9136f320613834289b3ea2848736b7370037405a6a38821bda3d38672037b1155836f9bad63735605c38f64a4536000000000000000000000000000000000000000000000000000000000000000018858f369711913659fe8c36b6378b36a31d703626f56536bb550d36bd2a173645c0a0357db89135de597635a6274235866c313607260d37c3e33936f6143d368b1426351967c03655bc2e36231d633621daa836f42b8737e02d0737ae101b377ad917362089ba37c5fd2a37687b543700000000000000000000000000000000000000000000803f0000000000000000cd018b36b0f97f3fc4989336660f8b3609ba55363d745d3feb7b7c3621b3fd35d7989c352c64303f2eb04036887f6335643e2f36f580023f0ca2ac375f0f3d366e981535c151aa3ef00c82370bb31a36b4b69e369363223ec060a237afaafe363f7d0236d8a71f3c6d5a993712ca0e37000000000000000000000000000000002ad57e34dacf5838ed415e38e05832361a118d364d4fda36851ed63606d3d736b4760936f2fb6536e353ff3637f08036fe17083615211c3624c722367849243632de8e36f246c236ef10273759c3bf363170af35cb99bb371eb4b23705971c37dd2eb935c5c42338c4c8d9375244fd356343853668e86138b3eff036d31fd536ace56135094121388ddd1d378616903642ab633009c4773f83b5023d4cacb03612006f36a0737f3f399df53a0e33d336b95cc2359b4b653f66d26d394d4375363caefc35769f363fba09de3859e32436807c7c36724e073fa79c113af51bbe36377e9035b95cb13e81c5c438ece2753699aea735a6142a3e35a69338efd6f9351d1a503600af043b20039d381c58cf3677dfb4340a9daa38a5c8123856c741365c454f34e88b9938eb7cc837412e8a356b365336bec14238d1863d37ab808e364af101364c5c043852583436a74c1d363e1263354fc0d235a093cb3544efca35c79e38360eedd037571e0a37107d9a3675633035c06d1b377ee4af35544992356f79b335a7c84338f5d4153681bf1336d81ac1364386b738d15df2361df2f23642595736d355823849ef0638d296a2360e202f348d1a523fe142373e425d6d357b022d369183563f36e3243e82f6893631e6d135cc97403f96e9083ecf311d364849133507f31f3f735cb33dc5fcba35f94b08365c95ec3e8d11603d0a998d3622cb0b35f80a9f3e3f89893cae57973548668a35cd50283ebc25ad3800d210361cd0ad362a543c3b2134a938042eec368afb0f365027b139412b6938f64797367fccd035b0f9f538df371638e7b2c8359146b83608cf5a38c6b3533793aeb9365a15bc358fc3e935ade1b635433c84355a460735064f3a375a5b1b3560390735f17c8536c20c01381c5e9f365f438e362c190d3501978d37c39c563509d01735857f7536fdd646383c519e36aadf953682381f36a6134c372ba55b368b2642363c5d9534273b5338f8759d342d099e340e9bbf354d532a3fff34ab3eafeec735e9f2a9364648323f7afb9a3e2044bb361019a4352b4a253f8a537d3ea48f8c359b09073596e7053fc977363eb4310735522c78363106c93e243ef23d7ba9903616ebbf34ea3f873eee1d683dcb862d35e1485736e4ee0f3eef24b538a59c9536fb230536af51433c6297c936c128413621519434a3d60e398a54a83765aa9c340000000019309038c84d6937000000008783f136d3fcad387190fa36d7e0e83650ada435bc5d243834959b35f75a34356d867135f97a8538d332743569416135726bf1364d1da3389f527f37983ff43674cc6f35e69788383e607c357a657035f8b29435b6d34e3898910b36a68ac13548b1f536c7b89e382e3dff36f437fd36ade75336493414380000000000000000000000007ecc013fda1afc3e00000000bda6e936d5f7083fbc73ed3ec56ae336f80f8035fa9ffa3e82abc03ea38c3d3580b671358276d13ea97e8f3e68ad693556e0ea36e9ba973e149a503e97d4f136a26f6d354c81583ecd31cb3d85b274357b6f583574aef03df203873cefe0b63510c5e636d78ba93a6c905238e912fa3600000000af37ce391220693700000000145e9c3451cac838953c97347b999134eaa94036279c56376ab42e364629ae35b9769236415a2c381bc980364782303643d24c35310d9a3709ca2b3516ae9734bd1e9536438d2238599b913636d26b36e70808354749d63774641e359a8406358d26b3353b232a372590dd356479ac35afc8cb36b4294738af75cb360f4cb136bda3cd37e26d49386356f435fdb0c6356f879b342c41b13e4d5d273f26c2913445f037369a65bf3e14461d3f6562b735b16b8f363343b53eeb5e013f21ab3b367d3f28355120973e0db6c43ec60d9a34fec9923631e7623ee6f3883e3ea7703698040835dc3d1b3eb1c3163ed1be063576ac9c35bc94ac3d9687bb3cf33caf353992c7363929513a1378e23727d3b1362428073737758a39b94db5377be4c53543ccaa37a7b3373973727336b569dc35914be036cee9aa384329c336753d8f3646510936ce293538a240a835927911355fc1933582d03d37631d4435d51d0635e977d93666122a38355944360493d535a2e7b5354bc2fb37395f73359d930a350c77253651b8533882c21d3645c3d435a4a30337d883363890a36f3625a93336dbd14d35a41fad37df065e34a39d173417ef8b368f0b403edcd54f3fbd7ce2350e36e0362b256b3eea6f443fb4059336381d09361747523e6954213f11b93235555f8e3561df3a3efefafa3e42bf0835c95e90360cd0073e4d7eb33e86d6f335b2fdb435188cc63d4763433e86df0a35f0562036e0cf423db5f9873db1d7e03538968c3634978d3a2ed72c37045b3c369f5a6f35c9e4b0394cf5ae3462621e34ffefa236276099385562703582df88344e00bc36d6c94438ea3d7b368ac919369b89af3726901738f1e3b335e4d78b354ff39237194c033815b4ad359656653559ea38374987bd373b588c364f7c70366f4d223648304038654c0a3651bbf03519b0b73612d84a3802e326366aa8cd35efafcd36175c353703559a363bce8436e75ec337cec6a3374c4fba34a0e85d3024813036282f353de19d743f0b08963471ddc136e8189a3d78376c3f16731e361afa88367a4a783db8ef453f3cb89535bc0c1e3721c6453d91ec1a3f82377f3542c8b636a2000a3da9eddf3eb01976368e3424360d82b13c6da1873efc10fc354b4e6e36bbf6903c0af3b03d540de135dba2cd3666449d399ffbb836a3b68636c0eb9937ef8d18390d4665350c2d6130000000000000000000000000000000003e431c37cdd635376f890d360c4b9f35027d2f3788134437cf91a036cc6c853684be8136a5281a3708441f3577cab4346b2f553697f299374a0d3536ef7319362f4586358e5b04379a51a835562b873541b52e36644daa36a9cd94368ffde73573cf8f3657f33637bf169a361a868b360000000000000000000000000000000000000000000000000000803f0000000052bbe536af03eb37d0767d3ffb6cb53577b50a376737f4371854573f42b68d3663604136c6d87038d0d52a3fb96dc83430883e36e5411e3894e6fa3e65482236f86f6735833c9a37f52b9f3e309f973598a60d36c185583776240a3e25031d36d16f8d36a6259a3704bf7e38002e8f36000000000000000000000000000000000000000000000000000000000000000023c5fa365360b537bfafb53583066f35ee9f0238cedd2338907cb336607f9d36ee6f79375833a137310e4837339ff33668debe37b2afb4389b5a5d37bbda6b3590a03e372e6f1738be3ccb37b4c292371a852137cd433a38ee35ee37bd52cd37baa0a235c3ba0c3afd7523373e59dd3600000000000000000000000000000000000000000000803f0000000000000000f41ca13685b2743ff1872f36bb0e8a35749ada37e5964e3fd1b6b137aa56a03614fe4c378f5f283f752c843759c6fe36061ba1365728023f0467163898212136eb2854360ffab73e09410338aabf94375354bd36fb12583ef12b0a38d171c53787ab6735e362813d3eb18d376620c436000000000000000000000000000000006f0a2536d3e5c239863830382353ba36c87755361bb8b43ad3d3bc37403ba336ac0dd53543bf3f3a995201386328b136f1ef8a36cf46cf393c0c6a3736faaf363f19ae346dd4e33977a109383cad9337007349367e210d3adf87d13731766937e3caf5356f09423a9f0e3838110db93710220833fb754e3c673508380ae8923733261037accaa73a0f66e2383ec712385f570736394f6d3ffe94933dac3bcb36b42cb735b50c6a3f0203613d98b2a536bf6293357083473f2356473d84beb23604247c3637f5223fa8dd263deda2af36e4e911339662fb3e291bc73c82dc9c37f1bc1c36e52db23e4117863c2abe67377e23e435b8cf523e61fb4e3c9feeb037d596fe32b7e3883dc26e393c7b9d8f37c6a6ff3615082e3afd3b9b39f46012382be63b378dbf8d3afd688f38ea3d5a37712db8365476783cca143d37497fbb36aed8853652ff403a88bd9b376caa89362a580937de8f163abd280c38afbacb3632ce5936e8a0343a2a6a1937fb148136432e73366d15283a2be5043780949536f55d8136a543343a4abc0f38bafc0b373a318335a448913a4bba963791a420367fb4a935becc713ae98de2375e55023661922c37d93f473fd503553e36e6593710b7aa362cdf463ffbcf413e7b97be36c98174361104273f8c64233e10b18c361cc5b736b4c30c3f1540fa3d2c26dc365acf44360b8dd73e66ddbd3da3c4813650cf6036c5da9b3e3fed653d7e089c36b3526236feb4423e61aec93cc20b2237fef11035359b943d1550c53bb5631d3609cda2350d9e743ad7ab6038efed02365be09f3572e1303c39165f388039b23516d57e36bf8e9e3c8566853644ea52364b7e01379928783aba4c5a37bfc4a136e645833666491b3a1cb40137bf3a8436380c66367137723af8b87f36cd80533622c5ba36a3981d3a8f8ae2364aa8c436b6529d36a320563a419aba36c61da83600152c363c0a0e3ae09866365a254536c8268d365f9f6c3a4dc6ee3622537c36db7e6735f88d223f4caeae3e766fbf35b53a65361827233fd5379c3e81b85c36ad95c63617bc0d3f393f833ee830b036335b813657c5ea3e8f13503e9bc285360d854e36e63cb63ee8e1193e7daf5d3650ddad36592b843eb17dc73d83a1ca36fea290369f77263e3a63313d74d8ae36afa710364d55873de6fc7538ed974d36a6c25836d6d0463c1129f437fe167f36caea49375a9e853c4f15a837c0b6fd352de42737b29d993af9f14b371d2086363ef23f360ca6a73a5a045036c1ed64351f13ee3661c6943af2d922377140cf3584151b38f1a3a23ac4a04e38532f0a375d9bd236b2468e3a0e333637b5fced35a399b7356ffb953a88e7c73630c68835415dcb3698f5803a11c78237da93a536b66b8237822f273ad2be7b374ba2083633289c362cb0fa3e6c11f43e414409363e17ac362ee1003fc56fde3e655b9136f495a335520fdd3e61a1b93ee0238435d9bc0f366173b93ec0c7933e4b13f33503d3a13709278d3ea765643e7ed54e37410a1136428c533ec6e70f3ef3b90536f8199f359d21033ea8409a3d05299d35827fa136489e753d254ca738a760ac3615b91e379a6e8a3cd0530638f88e123660339a3698d2373c1a870e371d69fd35a1c95836952c803c48c13436d426c535732ab3369d131f3ac3ada336088e7c36812acf36ee78f3392e61be3694a09836bbc67436f3bb6e3aa9016e360f4035369f72a936086ce23911e8aa36a8507d3618010d379b68303af3bf3c376f589736bba27d3675e7343a981a873618455936c2b3973748ce563940fdb9355dbd1635122f82369e61b53e14221f3f400f1e36606d4f363405b83ea1ed0e3fb28cec35f19cad3632f2a53e8cf7ef3eddbb87363693ca36a51d893e395dc03e5268a336ffa467360b52553e193f913e66cf423613bf8536fe8c1a3ef6f43e3e7e528036582ada3685d3c13d642dc03dba79aa3697ad70362ade193d875690361e74643684bed33533bc513c54800838cfed4b350c2a0937e1fc573a9b566d37ea879835b63b07378c57623a6b80953597aec63480bee337651df939f5e3ec369c043536e99bec36f8bda639696a7c360d35573643668636fe41e7390a5361366d1b20367680e13779a0be3904085c3712ada6364d1891366017e339aeba8b363f715736ce43063721f21239a214d336e0f09a367b9cd43700050f39358f43374b7b1e37d598fd3565fa663e9490453fbbdb9b3533581536ac5b683ee64f313f9370da34a11a8837ffb8523eff11143f6cb34936666cbd369317323e12f0ed3edf175c363d3181366a4a073e63d3b43e2ae93036cd0d5c3790fbc33de3f76c3e5f58b136aad58c3613d8693d9812053ee84c6c36744bc1362fb4983c9e6fbf37ad32a536876a8f373c184d3cfd359437c7bb25373fff5038c59e4c3ac77239375dfbbd3631d8e137da0e0d3a128b7d33a4f1f6320abd1b38661e033a06740236f5c4c335b843a9371e16e5396a0a5436fc0e9435b034fa37c5bcc2391eccec34c1c50c3324994137063f8e39aa598e3611d64f36e5edb837d70f033aa5184136d5725f35a851813747cc413afecd8436646e41349cf9c6375d3248381b383136d9c1c735f1401d38bfe7a43d8d9a6a3f9b06d83622cfae37b393a93dc66b533f883bfb328d99f737f086ab3d5a4d323f6669cf35dbe884373f71953d4dcf0f3ff59fdb3568e1cd374375623d9869db3ec8b20f33c004153780eb0f3d95f6923ebd346536db0b6d37ebca873c29de1d3eea037b3542c30337b4899e3c5824193c73fb093513ca0a3782d8093aef4b473616e4f03500000000000000000000000000000000be8f1b37559e6b38f426ab351c8f20342fd6f13760ec0c3821193537b9f4a536477adc376e1c1138dbf866370c1c263697908d378f6473388c54f7372b1261350375483706719e3757bc8537751af1365695d23685f2103822be14380babab363d17ae35f90d1337e0658737a568e1350000000000000000000000000000000000000000000000000000803f000000003f3adb367e2f353ae2756f3f5e03f934680ed93748c68c39dade493f4183b13666ffb337866a9c399ae3233f89e233368ff9fa366fa19239fa5efb3e76a2743508c7253726f29f371534af3e8077f736ffc39f36f3830738886d453ec50e593734659c35699aea366884343db2dee33500000000000000000000000000000000000000000000000000000000000000001999c1343e86b1341a0eac34fa94813588187e3544247c35223881358dbc49362eac983606ee773648c38d3680918c365dbb6a3681691035c55b2135143ec036cf0915351dbf1a3527d5263546c62e35e3b30036cd7b1c3682f3cc34ade4e43496d2f637a1380638dde40a37d56f803500000000000000000000000000000000000000000000803f00000000000000004b183835c008803f29fd22350ab1c934cda28d35e269633f3ab57635c5a14335c8649736c070333f7a78873695609836bd8f1a37ed53013f4416cd3796244737a33f2d3542e59c3ef5f04d359429ed34a8411f356095ec3df12e66371f3bd334c8540435ccfd483c52d707388a7493360000000000000000000000000000000000000000f36e1d37000000000000000099bbf7333d26ee336e1adf33e704e3332bf587364bf18036bf399c36e523ce36ee06463572d3c5348ecdbe34e2e4f23444f462340a39393487ec5e34e365483441c0a0367164a4361ce2a436348dc236bcd0a535b8b200352b26293599145b353d01f034c9a92c3745a90b346538f034bcb80a366c6fe0355088fd3563531236000000008f22803f52530c3a000000002101db333601803f79fd6939bd49f13356067b369f176a3fab25533898c7b43601032835913b3a3f63c31a3726d82f3594982e34cb7b093fac39e035ba5083342d649e36e30bae3eb4ebaa368c67c1366567a23505f3193e52a3c33746c995350279ab332959e03c7ca11638b5789a34edffb835b84772371c51e735694e0f360bf62234e9623f38e6292638321fed3300000000c171c837e19ba237341ebb34b5659f3444c186379f39ca3715cdce367b5d2f3501a603376e7c6537cff8fc36c828073565efd6346c2ff034fc4e083513d63035debf1c3588bf3e3530302a35435a663755102938cd31d337856d6137bd37c3371da846385e45ca37842f8137e221043539d55a37b30c0b369606e834f7c662335548603f11f7003e8549f53300000000af5f613fed8cd23d0419983482476334e6dc553fb537783d494aa834c282cb3471032f3faded4c3cb4d09335d3db03355b88003f46abfe3b11621635bd6a1835b970a73e47306a3805645935e3bfd7358cee013e7d79893836b30736b5b2843515f21c3b0dc48238f6f48c35f78af534d1e369388fa9083888faea347ab498344fd3733894280838b72b9e34742f5d36cf7086389d900638a69d9336c3b29a35ff5db4360998c535b8e5b83522561e3599cb2537bee9e135507fbf34428ea934cd5516386a532938b19f14378ffbfb33e45a8a3796ed043714db15341270c736044f0c3835a779371c6009340000000038b508370000000000000000a137d936068001389c4129363a0d2d332f849434a9a5313f15a99d3e935994349e7124365358363ff788933ed4c64f3601e6963519d72f3f141e593e111cb735345411352e56113fca7c0e3e6e59933485f44c34480fdf3ead02823d0e16473493491734584a943ed2eb613ce0641434823739342ba6023e334ba938cea5f83300000000c444023b7ec2a1370000000095fb0134eb8bb33858b1053800000000c0ab09347e174f38bdae7e3519a701349c4bdf3562ed9938702ba437b54dcf35dad69e359e3caf359bc0b1359dacb33509bd9a35b82a8f3546aa7335c89a763546c1c5351619ba37a7970e371dccce3538248a35ef419c352fc8a0350d46a4351206a835b6839d358cbaa135c14a8d35e804e13760bd99388253f137ec35f4354d0168351f8948376a950d34a6bdd934996d163443b9013f3519fe3e2324cf332d7dbd351351063f1eabed3e0a879035b8d7a735ce38023f5042c33e5cd199351d2e8f358d8fe13ecfbf883e97546e35193cc5352df9a43e1205373eb562b33562738d35d372713e1738733d0a90aa35fc7b9b354cabe63df81f8838a5339b35da9dcf3562ae4f3ccd89b638e53be4359abd703414018e380bcf933712b705352a94bc33e7b2af3860b7cc360000000000000000d27093370000000000000000c166a8341ea8ed3761720c34a36af7335571c33337dbb637e06e0c346ff53b34202b6e3774c25f38672b9a3658590b35f66cfc34b8c20838cfc97636df6df334ba32b3351b30e73792678b3665b3bc3567bfed3728038c387df53b37d14383363fd66337f67acd3782989234e4de953494b0e931f116a23e52682f3f00000000000000006790b33e2683263f0000000057e98534978eac3e17c0093fe1a3553441a5f13382889a3e1527cb3e76de2b34e9f115350a017d3e912c833e0e15683428fac634f42f3b3e4a45e73d26b11a35b6159135bc32d23d248ea7395b0eda354d8498363a44013b30539138a2e96e36d537a1347715a138c3eb81375ba79734fb50f2343a418638277eca34bc3fe9345148603763927138040341355edb5135176e6a37f4d926383e5adc351ea6ec355b555935d54c0437371e1a35eaf21b3569141f35224ec036c41ff034b42d07355deb73372e0f19389381cf36ade031353041c437b4646838bce9e4376da88a34d006923756f80338f4ddc035000000007e4d8d36721d43378a322133dc2b4833ff5fe2348032073e5eac5e3f3e42db34a451703505fa2d3ee966543f274743353544da350387233ecbcf363f72f8c935918b4935a75e163ecb4a073f3130f434f5fb1335bf70023eaac7ba3e9b26f334ef799f359c7ff43dc7953e3e4dfc173564e09636a282bc3df63c5d3cea2f4634000000000c25983cc75134380000000094f5bc34b6a70f394ee7e133000000009308be35a7e8243704363535e9f7bc34a528a53475d2c23700000000dccfad32daba8b35e1298a35c9156835676e51359a75a636b2c69c3600157d36ef249d3623175934c4e36a34c3d23834696f8134f364d83419d6db34a30e20352942b234e2fba1360cda04373fe49a367baba336104df13386dc0234492afc33bf83f2330000000000000000000000000000000048efb33567a9a03cbb7d7b3f94885e34c08cb134e1fd0f3d8241703f00000000dcedb235ab2c803c88df553fa3cb67359ac3a1363637613cb20b263f674c7836340280348979d73a900aed3e6e834f34b79c3d358144f73b0ca8883e80db1835063a9236f32e803a986bb03d79278f367dffde339b14323ab6ea2d384215f63300000000d60a013800000000000000000000000000000000000000000000000051e247377f4ca737ee74b634dab870346e7c3235adabf534c769ec348457e83445f4493598063435fb810e35dacb1c358fcd67371eb7d4377f2c0c3546390335bbdd9e365ad390362385913601139f363f3ee6360e4c1738faa75c376596883522df4f35b1f9aa367b80953551e295350000000000000000000000000000000000000000000000000000803f00000000ae98013507c79938953e7d3f138c963448a35235229a083822d1623ff4b02035b2752f35dd51453860c5313fdc09553530dd48367748a2380a09fe3e96872135a84ba336d2ab1638e4f6993eac4e97365f454236359194383839e63dde69bb351c308535a4251d38b902973ab1b3823500000000000000000000000000000000000000000000000000000000000000006e7b8733553ea433e6bd723398d4973398ebc4345db39b3463e4b03402588334f04f0a36fe63df350cdd953536203c3574d4593676f169368f8a3936d886313600000000a5415f3700000000000000009b3d4236916db7370cbc39369d0a19365f3191369fd8a436f8b88636a8d2703600000000000000000000000000000000000000000000803f0000000000000000e2818033b7f57f3f7ebe8133f6669133f631ec340cc8613f1adea834b7f39534eae2ee3573af313f592ab035ec5360358b6f3b36c0e9023f943f37366141313600000000f57da63e0000000000000000a92b1736cdb30b3e890d4a36b3c91c360e0d6e360884fb3c6d618536827280360000000000000000000000000000000000000000edf3bc3895692f3800000000647e4536f2174a381d87fa367d518c368c6d6735eb7bbf35ede7d73529dc7e3560713036f4e83536027153369226303631e8a036a5500c374e01b736cd1caf3694e6e83512965337533b20368c2d0036a9cea83637cb653892a4d9362513b236f1e9ac36c3355238c420f0362599dd361a6cc535ed5bb73781a802366dd8e83500000000cf02773fb2bb0c3d000000000c0c0236df3e793fa90ab638f50a9136c3a16d346b95783f05194f36cb944b35494e2736c0bc443f31ac6337ee4c2d36ac788136f7c2123fb15fa8374d9ead36aced3e35a428c13e77da4a3759a0e2358ab36636c33a343e83c2f437c43eac36fc6d4436b6a7873d582213379cecdd3668397734a04e3b3b7f1112365064b135a43a8833b0f8bc3ad4293d33b486893303ddbd34af98e9382c25db34c0c094348c035535637e243807cede355cdc85356255ce31d99a1737657cbe317a3f8431e7c919350d0b0e35e9980a357d9ae034085e063530e50a363debd03563a68235f82040337a959838095766332383ed330ceb19348120e137e58f1d3499905134c74034354e8336387afce8354b9ff735a66165330f97503f5520163e841b9c330fdba4344707533f28d1c43dfbf78b34eb9be8341874583feaf71d3d56a68a35b640ac3186673c3f5306d1386617a031b57d0b355eb20d3f2daf0835cc99f734e65ff934898ec33e70521836ab375735d2fda433a0a9483ef28b1f386fbadf33715b1834b1ce503d23231c345d123134520d0a33cb72593bce1c25375d92c5350000000062ba843b000000000000000000000000d9afdc39000000000000000049f262346dfec93804e0743467deca33b7bc24354c120138676a6835f50f01355f708835ca33ba37c5218835e6169235000000003bbe303800000000000000001b00c8359068b338952faf35c84c9035ddcf6535dc9e023864bc4d3510fe6435ca4b0034f2ac6e38186c2b3449cc4734000000003b89263f4b0ba13e000000000000000084002d3f643b803e00000000c8fc9a34ca6d2f3f7f921d3e47422e34e82002355dbd243f5cb3963d911605355aa28035bb90023f695c7b3b6c5b913500000000e5afb63e1132913800000000b2fdac356d974e3eb0d4d3375076933500322735aff58c3da19b7535a3e051357025dc336fd36d3cbc01243452314334502d3935b14b8f3b427caa354958cc34b3da8e3603e26b393c56bc36343e34361df03536769c1f3964a97a36e352f13588a580362e192238bc3f9a36a71c23366cf9963650fa8c3808c6a536f60671360186873612a4233865619c3641a05c366a8f5f36d8a7d43852b14f36baa4dd354591a4364417ec38f15bab366d986a36a195bb3598882b38c0b18835a1de4635f1d926353521ff3ecf16f33e9fd6b434acc66a365f3c053fe795d23efa17343685a6d435d0d3043f6ab0983e0c11d335f45d4a36e66e033fd9f62b3eff4c0b36af258436b3eec83ed3c7dd3d3a36743652df3f36869fa33e71db10383f034736ce582036c17d3c3e912d82378e57b235361a8036f5918e3d6a0602380549633676ac2735d715c33cdd08be35eedb103564b02934cca6993b0398c13392beda33320972359eaceb38e3ac4435f9e90d3567d8a7354060f13862e2ec35c3084d35000000002f0096380000000000000000ac309b359421eb3774748935a5624f35aac10a35f61d3b38a224a435625cd834a7012a34e679ef38257d5334111e7a3400000000c354ff370000000000000000000000000000000000000000000000008bcc2834c96dab3e98be253ffc8a0034ea425c359e0dbc3e2cae103f02b923356d476b35cb8eba3eeebcde3ebd7542350000000064beb63e6d29933e00000000a3088c3581e1a73e0c62233e02e07035c2f5b7341b1b883efcd5933c56d90735bca0443471cc253ef8756f384c868634000000002601983d000000000000000000000000a81d053d000000000000000096c2c035cdafd83c5cb76e353cbd593389c7293480ffbe38feb84134c2f152331a848e3352971c394dd9d433000000006c0f803540e51836e2981a357f780735b8cf0c350058053679c70d350155fd34d3bdab31b2cc9b38f49f9a31af4cc131010fb035ad77943880bd9435c196443588bdf434f5378d36ae8ec434aa34ab34eb15913312d365375fe759339ba6af3396d6b735a2c2253eeb074f3ff84d2b331ba336348fc3553e3ab63d3f9a95c83394690e34c604463efa881c3f7759e33275743c35d53a493ef674d83ec6fa103500f00835c6e4363ee3d3893e2b1c0735a3daa43101e2343e3d96b43d85fbb831cc39ab352269ef3d0cc02838c0ac4335eeb19f34fb17a53d8b14d834d91bc2345cc7803333b51d3d11da4233bd059a33be32f6359add92399e5aa13500000000ce0fe136abcda7380e6da23626ce873519ecc63672049538ee3f8d36179a00367d14323682340a38062ddc3500000000eb77b636f2e84c3803fea236be7b4e363e9a34364badf038d9eb463657e31836d813dd351dcbeb379206b43523da5d348235aa365c2686389f8a7f361038043672d7a53734be6f3800000000000000003176df35ab6f493d21e2723f00000000e045d736a56b8b3d65c35d3fd7b66e3582e7b2361da98b3ddd9f413fd07cf1354bac0a366b63553de431123f000000003c47aa36afdf143d6241c83e44e75036c9db26361bc5af3cf6d7573eed6626360f6990356905c63c8c57a43bc1a15034ad1d9f36d84ddb3c10312d385874f835000000000e1da23a00000000000000000000000000000000000000000000000015419336d7cf99369861863649e4283653f048369522a0366a3e1f362da129350000000063ccb83700000000000000001c9c573604f4403708685736c487ff35cbb6bd358536203656793136af0b83358e91a4345450b334d38fa734d84bc6346a2ba433f7a19c339ce49533f2a749330000000000000000000000000000000000000000000000000000803f000000001b39833648c299367b5b783f61e73236ce000f36cca7d53786255d3ff8074e3500000000bab60d38e0fd2c3f00000000f5582e3626149d37a8a1fa3e3765163640cf1135d80e1136d2c69c3eb940c6353669aa34ea58d334c4e8f33daababb34bc998633341ea5337b07893a0cad7a3300000000000000000000000000000000000000000000000000000000000000004a5c9c370b4aba384af26535512f393417494136daf325364d08c3351d3a9735ff748a36c8d12e38cebd4b36a861303628a84f37c27ccd3812f02335700a6935fb3f1036190c27387fdb6a36d46b8136951ca635c8ecaa38af2f3e3637823d36c3a4f333bb891439362e0836aa23e53500000000000000000000000000000000000000000000803f000000000000000007a11b367a597d3ff29ec1353ce1ce345cd746365e32583fdea6e735c8a6a33511c76e36d3af2e3f3033653680f83136afc73b346061053f69464035f9976f355901a43511c8b93e6c34783695697636e81070346816473e474ed2375a3538365c04e233520e543d5e1232362191d73500000000000000000000000000000000b3e79b343de3c23b69127d37b253533675238332d41a853bf4923538535b2136d61da335238f823848ae3836362e1b365e67e432da28ed38a208cb3598029735d8a91d35cf8c1f3cb87f2636a1d40836040b8c3579c16f3c236c8d3682285d362a0b1c339691033d9d351936eb8e0036a2a45330889c443d9e3adc35da22c2353bacbf3635c5db3c9b6816374a82103788842034f091643f8e43593dffd35a36d4016d3272d6703f015c863aa9a023365b42c83464eb6e3f3b060f38d1161f362bfee232853d413feeefc237af629f3500000000b394123f5a473a38a4220c3604267532836bce3e33b76d3770896436c71012339130683e15ad2938d5e705360000000055e45b3d0d55db37c3ecc53509617c36be04ea3c7d1a1d37103b11371902e0351fcbb83c00c66436715739369e5aa7350bb6943cfb064536a6b92c36b4c79a33db89dc3c1fdcc6354bdbc435aab92536c6acd13c55179f3631b879367f681936724de23c54cf4536692832363cc0a233014b053d7b7ca73390e1a53329b1eb3594700a3d77135c364d502f3682c32836d9d8243d8e405f3610bf5736ba9147306678023d55819a347f36223499e8ad35dff43d3fce172c3ef2703e362b474f3550d6453f8a9b043eac822f365e4a9b33232e463ff0f65e3d14d5c23524c702361f8d303f04bb063c2e3d81361ce2f735e4ac083fffd44638beeb38365d82a133f963c23ecc84a9337055a6335916a2353f2d703ecbd1773658e72d36d3c1fd3566d7cf3d98ee7c36b8045d36f6d319303694c93c23861e3556a69234f7862e33c23fb83cce638a35ef0a823300000000485ddd3c97485a3500000000afe65d33c380df3cd8c69d353053d5345688a5355b1d213d6f981636920e04358b83003593d1173d5b97b235f6347035970d0e360d0e173d63fa3136231ca635083238354ad9ea3cf82d96353a7fee33000000005840c43c0000000000000000fccc783544b8943c7bf877359eb22235ef2123335c1a1b3f48c99e3e29119e340000000080bc1f3fcdad6f3ec24a0034ed7df9323c86233ff7f90d3e46f8de3459343e359e6b153f66f8933d6f5c5035be5039346dd6ef3ee275953c18dd8335f2b8b1354c54b43ec0ea6a362cddc7357cfdc3335263713ebebefc355cc3e933000000007003023e02bbc63300000000377a5d34e2d3163d5923d1357d1e3735004f86367372ef3cd691ab36472210366ce939348e770b3dab87993546f13e32617b9d3480e5083d01e29635c14a0133c067eb35df96373d940c8236e93b56336116ba35e0b5133d77e2ea35fc9a9532be97263689a0263dc8cc4036b9212b3467123435539bff3c315c4f35aca52d338f481a356f399f3c7ec5df34e782a931b26a8d362d95423b5b628d3683c03f36cbaa7336dd23ed3e3238e73eb6a43b36490ecf31beaaef3ecd93b63e3c342a32ac4d20335f74f43e62c4853e5358023312858f3501d6ec3e16eb1c3ef7375433444252353bedb43e8c8fe33d7e599034686b4835066e993e7f2b0a38f3452635bf1d463439364a3e684bd4350d322833822729329cb2fb3d7addc1352499ae3107606c36b7155d3d1ad0a336846059369c036c35e69e033d6447cb35a489f93000000000a0ee153d000000000000000019e9353596d7f43c010fa2351affb733ee581e364c01133d79f34236978f413482069635f47a263d87c63e3563a2b433e951e63544612a3d0291d9355f75c733ceb16435ce0bc73c229597346c0df03273fc03358569423b0000000000000000019053350f2f163bb8d030334522133307895435cc65a43e67d4173f8e36fb3000000000afc7a53eabb5fa3e000000004332e633645fab3e0f91be3e91b5bc33fd75083687f7a83e6d327c3e927709359fe78f355ee7953ef550133e53ebb8334dc3a5356306743ecc42d53c9113ed3479504335a30c303ee17125364429f432c846a934eed6e73de68d9634000000004f261d35c681773d3828073533da1b33b2b6bd34450f1d3d06dc1b30f4a1902f891b5e36b8881e3d2021403614540d3550193e369433083dfabd0936d87b9534dc3fa73305a4083d8b0da533857f9e33c5713c363c34053de1cc2c367d888135711a89368448133da49f4a36dae88135eeddab359605073dbf629c338adb9933f92e33364008b63ae608c435680ab232d261413692b3313ab0eae43569212f35daf08f34d59d2f3e9b1f3c3f06e6d72f8c485f36ca363c3efcf7223f3a5397355d7c33369c7a3f3eb513033f8eee1d3589f7a63357fb423e8b07bb3ebaad9f3343a43a36003d373e944c693e95d3ba35ddb38436cfd5243e8ebaa43d0dc1b335441fb735cbc4e53da36cf0373f499a3390da3036806fa13d50440836e7fbca3468f13f361ee68a3d90ea11366c637f358d9d1237bd56ae3c58ffe53646cc9334e310ce3565a6c63c0c28e02c000000000cc50c3673138d3c6ce5e2349494fd3264d38436bbaf3d3cef722a368744673291f81c369c70663c233aa03500000000a6beac35b3b93c3cd517d0345109e232ba4b2b363f49293c602713360b374034467cc7374fa1063a8e0879328bbf263287550d3747a283383b2023358b2b1334aae311376e9a463d5e17603ffba3fb352252c7356bd0913d61b24d3f00000000a419073656b88d3d74bf273f12c50633525f7236a993883ddb2a013f2f476e321197143637f9643de545b23e0000000088c1a7352429433ddf033f3ecff7df32498729367afa1e3da552913c92e34734d2992836cbe65c3d8574d3370a194632385959368610483dbf53e03525561a34000000000000000000000000000000005f8be235e15eb1382857f133f0e0ce3386ba39367dde7838853bce35c191643417c16b364d9d1e38c3c82e362f87c831d90f4435d8aecd38aba39138ed21383462844f3686ca2638c60a7c3854410a3656fdbc35a54b1c3644aab83739fa48367ba26f35554e903871d1c7383c1afe350000000000000000000000000000000000000000000000000000803f00000000fb0bde35d24b943876ce723ff1fdd43357ce3536c3a66b38b2434e3f985869348e657036190fed378734233f6e1116347b716f3595bd5838b76bf53e4ee63a3488063e3697e2863627dfa23e5ca142367a86ad3558030d3670ae1f3e04b04b36723832351f8eef3668f42d3cde151136000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e3c79c340c6d93342aeab5334be5d33300000000895e01331d30f4317d224d3300000000000000000000000050c5a9321ef32c352be61f352c64c93401720a35f6ade23453a7ef348753d334a349f234699a3f347854453412060b34ee6e0b3400000000000000000000000000000000000000000000803f000000000000000000000000d95f7b3f00000000000000008646d83454f05e3f8f81c6346f5a56340ae10233d90b313ffd55a23200000000000000005474fe3e0000000000000000507c67351bd69a3e82d244359ba60f358af2dd34f710043e4d7aec344d0bea34bde71a3481d6f03c9f332834888c0b3400000000000000000000000000000000fb508d3433bca234730d8e341518833413541d3534a94835575f6f35bdc523355158a1341a4ab234f445aa36c7d54e3577b9dd34e32afd34f1e50835f3181a35971c3c35f3495135534f6735a878603559bd8f34d44fc336e4e62337d718b936f68d4d3487a36d3775fda0379d27ee360ac16e34e44a80346b268f34fd411134e0083d3477b351359c8a7034f14e193447ea8c34fe78793fad1d043d2d827a340c99e93405e67b3ff3cbaf3a63ad2f35dd48803471a1653f26547f38f8e7b6355544003570823a3ff048c437daa6ff34cb1d3935daf20b3f1a59a536b173443581826b34c610b73eac370a3a213ab136445e0b34fee82b3e1b95cf3a7bdf0c378526be3361318d3dfab63f3661939c33f87cca338f2c073aca16eb369e5fc5334fa25f3690200a3742dfdb3607a39436bf978b3456dcc6355f262137e0cd54351c15a0348710b8348562223728b0b135d77f3e366e467d36ac667936f7ad8a36f03560353eaf8735477e8c35e9a06435b5b55d3450df8c34b6db0b37a75d2235f1320036d5e6403633e13936088b47364800b735d9f14a37b5e925372924f735c664ac36339ada37cd08a337e42231374cba7b3569035c3f660b183e0abf7e365d6f7f3444e35a3f8280dd3daf5c1635c2b5a03446d4593f9768013dc849e63407b10436bfa6343ffebd5b3b92727b3649c25b35fe65073f79058b3bb9a51735eb1365349357ad3e0aca023c1668f0345c85b73585621c3e838faf3c26e0263692b09e35087feb3cd94fc939536c6a35e03f49360e3eb23a58ca3a39497dbd360356cb35dfc49a37e70e8f37ce92613615de30356005df353f10e936018527354539db3551a2b3357b1c6e35aa2ad735cf3e96345ea0d634b9f7ee34d680a13477c9a5341ed0de34972cf1343179a134637d4a36788f39369209213621164d36773471359d0ebd3733274537aa2f2c35c99c4035abe14837b8fc1c370acc6935e7316536090ffc360d115136d8e43c36cbbb9534be6a303f46eea13eea092e360d9b0f357b9f323ff4858a3e176f1b3564b5a93516db2f3fc739363ea6d7c9348c3d9534234c1c3f5af5cf3d848293347cd5693463b4f13efcb12b3d0a2a58346c182d36fa37a03e2fe0253c2674c735a45abd346fb6213e61c7713bdd45f934cca43a34cf11fa3c49ca1f399b5f3834e102fd35234e4a3a61962d37b38fa735b19ed63579f4fc363e35513687ea3d35480e2935575e5c35ca3f42354187e734d3baaf354a9968372bb00e37cb33d635ae739135a1260b37fafbdf36d65c3036d02f973518afa535d00fa7355b7b9835c467f43504ca8337814b9837e5e2863681cc833678ab8c3767bf8037214939361e0a3a35b85b67351196553565041a351b4e2636d0bb8b361c859e35d0915a35a501b43491ba003fbd11013f6e1890344b680535ad61053f621feb3e8498d134a9714935115d033f90a6b33e386851356033f63445dbf23e85c5613e11d75b352b9b99354631c23eca3e043ebd6581355156e834d915923e5817eb3cd930b4352310773510a8123eecb26c3a9ba0b7356cad39354632033d56fbe236a3a6fd34056539359753fe3ae4219736dc54a234b49e3136d6be813778207636cab21936b3ec7434fd02883717df2136c383193516bf233507d91235d4e9d534ffb20535a732413602688d36203d523683474d363e42dc345ded4035ff1dd4342d93a6349e799134d66a9b34d122b2347d7feb340e7d013658aa543661233936518015369db89e354f099236b9019d35141455358c279f361e264937ac998836d2168b36b6ca5b354e3ca13ed4cc313febdcae35135e57343a4bb13e262c213f7a024e34014b29359870a93e7cc3033f4713ea34163ab23507e4a53e6c2dbb3e27d02e364e85b4343229913efe25583ea9498834e5d1a234ebf2693eefc58e3d6d4fc53494d424350edd123ec3a6033bb3d6e935b8f5823561831e3d906d2a374def2735a79133368c49e0390e193a37899dd03574630f37e79324383f67be3627b33636f9b5823561751937dabf853503d53f35631a193622a218362dc5bc35cb0fee3510dfaf34a2eb8d361f3e9634ba5a4f34ffe2483569e5883510015a35bfb4653593f36a36008c4d36e6b62436b09659367157b53487b72a3732420a371ba9cc34efc644359eda3d36048a25355375fb34d8dcab365ef9aa36295269368dd27736565d9736a668193e412e5a3f9ba9c73584b780358b3a303ec2444e3fd9ac22354cd62036b2f51b3e60e92e3f5ab26a35f536ac34a2f8153e15fb033fd27a5d34e8393035270c133e249baa3e067d0635bcd17536470b1a3e8813193e05130b363c469c345a78fb3d32e41d3bd77eae344dbab8342432363ddda73637750c5d3408577736d7a6c23930f69336989d0236b1fe233430d1a936485b02342ce8c433e3e836343e02323482f5d6334e3f46334598ce3446dd37377b17193415a86633be5852369389d1361153653449875d34b29843353d885435cc1748352fe853351574c2354baa26375fcb5c36a72c1135b8e53335c6bd8c37a034873787d18834eca97035255a39368e6d5f35144d2535b3bba93425c3c23453c5c83439949d3417302234294ef83cf46a793f317bc93391b711343b3f263d52c5653fbdc864336225c336c0e5a33c9ce0503f5967343347f7bc3695070f3c6c6b233f7c515834f9a25335e5f92c3c15e1e73e58c54e35b6653436aa57f83b7e708a3e3db30d35540c06363bc7f23bbf3fd03d86f28134b3e683359cd9903cf0c2613a8c87ef345140823474b14c3ae34bae34d6987e340000000000000000000000000000000041ee1a34a0932c34956d333473772b34b9a3e534f18af7346158ea34b7bcdf343eb2c2347f0c4c35d25da03503f79235000000000000000000000000000000007b1ead32572fce332954a332d19b5732c1ee5a34163af734c0fd4e35772e2535000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000005ae32234df4e5634fe857a3f11ef29347291ef34339f0835dd3b613f882fee34e18203350533da358052353f286b7b3500000000d6d89e330b86033f00000000dd7db9320f1c6834ad22a33e00000000702d873431ed6f35ded20e3ec2dc0335000000000000000001c1d73c0000000000000000000000000000000000000000000000000000000000000000000000001c60c532590e0733263b0b33bb36c3324793b4328bb6e93238defa32867cba323d91f033c2ff2834dfdfe3331750a2333e7d3e35592410358b700635ecc21935c06a573309c38c33a4259e3359ee603309f64035326e6d35c7da4a35d891e534ce707b35567a5735afa54835b1f64c3500000000000000000000000000000000000000000000803f00000000000000003cf4ca320e8d803f0857083356c7c232c66bc0324efa633f4e5ef732eb3dab32d0baf8339345343f9275e033774dd63319e66335b0ee023f5166b13421db2b35cd865f33f9afa53e6ccb9633c14d5433a6ac2135f247153e0d3946359e5d02355d9f7f3519717f3d585a283505155c3500000000000000000000000000000000c77e23330854bb3a23228833427d0a33e95f7934d8ca5b35b5896b34a3909034bc6275345d3e85350000000000000000bd232e34af245434f8421434dc9dd53383a09b3565f68535b8887b35c60f6d35424a2a34d3701735aaa1e332e0177e321764d934147e0535b5ade434992ce334ab6a1734b8828934036ed23398180034000000008c3b023a000000000000000049855b31ee90743f90dac43a3a9c19338e77a933400a773fc2bdc7361d8a85344f496b3429e97d3f0cc3883500000000978420349c44593f85000e34bec70d34f5028a35c809263fedf25e359d9176353e101734bc00e93ed33a703358cb8e323c7fc634ef457d3e77aae134d3c4d33446ff0a3434d7103e7996ca331dcc0234000000002f7a543d00000000000000006ade86356f58883cbfc3dd35410b8435c4ff93350467af3a438685358db14935e7cd123593706135e7d21435c6933935da64c43525660036d532c3351a8ec635b2040a35611b1735128de334882ce934cadd1b35b3a30335a65ae334d3b7e1342a49c535b55eed35dc29a03598ce973500a0e03437a9083a2665993499948d34d92e163440a1cf3a551de7338e1bc3338cf35b3566554c3fe4b4c43d04836535878a6b352eb44f3fab574b3ded955335a7040335a03c543f65258f35474c383527f89c35e0da533fb466d7358b4ec0359ab3d83465022e3fa3b0fa348b95d0346e3df9342c1b013fafaf2735c8b9d23476e1a035589e9d3e30e7b43502f68e35bf7da0340590073ec35ea834abf07f3431e69d3350ae373d83f738349481c43358bd4133f9b0c63c7c438b3371cfa3335646d234e81ec73b3d060035ccfcb734773d8a35ef0e843a6cb1f0356ce38e351dac6f348b44ce34e4dd8c3458ca2e34246e76356ef19135c3368135e04a7035f5c8b134776ab8347f1fb334eed96a34f5ccbf346b33cb34ef11ac34a0d68c34f303b1357fbb7d39a93dba351752ac35059c1a353cc02b3a32fa3e35fb67463500000000e047243f3ebd6f3e651d63333280c334f9f1263fe441123eeffab5346bf95435b94a2d3f9314043d4e609035fe387e3406082d3f650a8b34713e31341d7e423526f4283ff5388735ce256a352436873424ea013fc6fbc234c1274634859da434d765b13e85f4c33411e485342a098f35ed5a463e8ecdbb35c52aac359c4ee034463f733dfe9d3c3501d93d350000000013e9863d6a459235000000008a8891348c1d0a3cd58c1d35af7a9a34b0e7c132ec2aec3a50a84433af07dd32f4417e337d80be3a52007a333cd91f331572b035cd698e3849e9b63593a18d3570291e3391dc0235c74b9733ea361c3344f21d337182223388fe1833f6bbc4324390dc34104d9e34781d5934b8141634813fff346eaea9390000000000000000000000001868e83e4106cc3e0000000080d15f33aebafe3ec0ea943e45347a34d161c132d0b0003fbaf5383e3045d7327f817c33cd60043f0da5b93ca1885933a8b29635c8de003f43b4613641739135798b20339459ee3e13629d33530d31337e2a1c33a2aca53efc6b13335f6703335b98f134044b5a3efa5d6e3447d62a3400000000f266bb3d00000000000000005b023d35c5609d3d9f9a0f35b4bafd346bfbb1356ff6e93cf66eb735c3808235bfc58734106f0f3bde1bcd3488b2e834c84c9534c896993adcecc33437c34e34cf2d74353f031c3ae88b8535a5e63e35585e6234163c60398a19863448a22d3411fcff3527d7153613fcb0351ca16c35cfd504357a7b123518dbd33476a1c034c85eea336e9d003a370c2f31b479e9328fa9273584e7923e3054163f4f30b734b65597357658a83e6acaea3ed0657f3507e86f34ddf2ad3ed966a43e2d2fef34e39067342f9eab3efeb72a3e44a82734e2ef3c357a41b03ed941593adedc2f354b1a2b34f8f0a93e1f4ed53497de3334a738c735b6c3983ef4f3dc35ad3b4b35e083cd34f7c1543ed451e634362bae343e353f3380c2de3da2dbf1320000000031831f34d3a7813d9db3e83332dea233c88ba53447191d3d21aedc34d31d8834fac2ac35d0da8e3c003ee735206b8535a65d1335ca99073b386829355650b9345476e334e464013bb6d61e351ff9bc347149e535dd85293aa1450436db67ae3510122a35e5b99b355a503935819002352aa17f357940df35e1029f3522558535b950c33545bd6338c06c8a35226e733544862d346cec133edf30413f8a28883307ada73415983a3e960b283fe3297b34b48d943555d9393e2199003fb65a8535fb07023541093d3e532da23eaa93be34c8e2da34b11c303e45ec1c3e22a1d0341c57cd353422363e4afee83829b8a335943b08356659363e93735e35305ff334c1f3593528c4133e0201a53515848635f66c5b35a65dc63d787d82355bcc6b35000000008742be3b5eff6e3300000000f216b2330c48a139959d3434ab65a3335c43d3340b870f35d0a5dd3426f8873429db383373f2d639ee27ab334fe17032e7858535ae0df6396960933506b93f35aa18da33b9432f3761fa4834c59ac133582192339a93d839f38c473583aa4d3409a06f34f6281c348d2dcd33c8f0b9332f169b33eec18931a3524933cd372e320000000032a6263d9735683f00000000e4a198339a22743d63a64d3f97f393333085c53456557f3da21d323f822c66343527c5328701323d23ea013fb4c9d9320b1a6035f1c2be3c1d92aa3e19bd4a353a1bcb336053063ce362163e49ecdf33000000007b5f263c52a5ce397f222a34997aa334950a1e3de42ef333edcfd1335f5216335d6a3c3d945e3d329163143200000000000000000000000000000000b2ed32352f66a1354e6e543588992535e0fc2b35e7844c35199c4435a71c20353a738f3366d1f133277123333e2a3f3377e8ea34fb8af73497b21b35ba9c223585af9133b69e0f34623d7e349ff069346f27ec322401ec3201259a329541a5327c0c003311101835f0ed6734c074b3320000000000000000000000000000000000000000000000000000803f00000000fab12d351a009435508a713fc51d263597402535ab3c88357ae75b3ffc8a01352b4e57338d9d8133c4052f3f2cbc1e33dedbfb343dcee734e2a4fd3e212505358ef897334b608a343c8e9a3ed47d11342eadb63229f6e6327fa1ee3db8a88e32a7e0b632cbdc32341323963a3dc293320000000000000000000000000000000000000000000000000000000000000000b3a6e237bc7284380000000000000000fede4738ff40be370000000000000000061e1b387e0c823700000000000000000dc210382f959738000000000000000070210a355ee9b938000000000000000000000000fb46a1380000000000000000e342ee37bf5bd338000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000b98d803f00000000000000001a098637da00643f0000000000000000f7b4943622fe313f00000000000000000000000058ae073f0000000000000000000000000e4cb63e0000000000000000000000000c22313e000000000000000000000000109a9f3d0000000000000000000000000000000000000000000000003a541230f80b653dedc97f34bfd3e230000000005f55253de7ef933400000000000000008d3dc8391fb9ec30000000005848a6324a078038b5bcf432a87908334afe5d343e2f0739911feb320000000000000000fc84a13cfd6d3834000000007a15c532ce546d3d15fea232ded4c032000000005f2c833d000000000000000069a3ae345c3e133d6f0778357cba1b333b3f972e33965a3f8b8b6138bc0fd23000000000fb62673fcba06a386239da3200000000250c803f47639a37000000005bdb8b32bb91773f84e2ea3226fe0233f2e33d33548a403f183a06340000000000000000c79e093f77f3a1341ea4603339096f3158fa9a3e8cbc93320a9bb432000000000d691e3ea298723700000000d02f6e34f7c2b73d720cca353d5e5134000000000f89b03d700215370000000000000000ead39c3d8b459537a8a55c3163e9d7310eec213df70c1f32f704413200000000581e943c00000000000000000000000068de2b3d927b1134fa7ae03102430a32e112483df1634532d1f86e32000000001bd09f3d0000000000000000c9745530b011b83dcaee2f31d839703148bc2931fe64a93dacaf7831a4b6973100000000cefa293fbf08813d0000000000000000d37e303fb827a7384578b1316068c531078b3e3fdda7c837a0fa3432000000004f9a4c3f485f47370000000000000000410a493fc0ad0138fdceba313de1fc31443a223f8e773b32f1b55f3200000000ae3ade3e00000000000000007ef0003041b5893e853ea0371c73583177331a3113f5ef3d47a26931079b8d3100000000fae4503e00000000000000000000000052fe413ee24a143700000000ff3e3f32551cfd3d7325c033f4c0a03200000000469ea53d000000000000000000000000e46a323de3fb96320000000000000000b31b483d000000000000000000000000c18b633d000000000000000095f99636167a8b3d00000000000000000000000030c37a3d000000000000000000000000230bd83e3258f63d00000000000000001218db3eea05c13b0000000048c62d32e5b5fc3ecec61838d1ee973200000000f8ec0e3fcd3aab3700000000000000003543203f145b4038000000000000000065a81e3f000000000000000000000000a65a003f000000000000000000000000f50cc03ebc9b37370000000000000000e3596c3e66df4b3400000000ad83a535eadb6a3edbd1a0367458b034000000006e33713e06248637000000005ea1cd2fdf43453ebec15c32f9d6283000000000cc491e3ef2294b350000000083f61634d450f23db6322034000000006ea19e349007983d00000000000000001de95c33ee8a803dc6baca2ff986a62f8bba4d36eb6a413d0000000000000000584e8335bd732c3dc53bfc3500000000299df934ee86763e4a46743e79e21935000000007f43723e017bdd3d000000008032bc2fd664963e3a0ee93c43cd203000000000eea9a53efb0732380000000000000000f2c4c53e1d2c4e3800000000000000005fbde93e24356137000000000590183023afdc3ecab3d92f922eb52f84a91734958dc33eae92513700000000e0835c35f5c5843e18b1423600000000000000003b405c3e000000000000000000000000e9bb713ec9bdb2370000000000000000740a533e000000000000000000000000508c453e0000000000000000000000006a96133ee7018c3300000000000000009687cd3d0000000000000000ab5e8632f6d2863d0f243c32661d1a320000000028f43f3d0000000000000000000000008a1ab53c0000000000000000000000003c5dc83d8fa5cf3e00000000000000006d40a43dcaf17e3e00000000000000009561ed3d2207063e0000000000000000f50b163e078580390000000000000000f1f8463ea239913800000000000000006d208a3ea585c2370000000088d18e320b31a73e78080836922a2632000000000770ad3eea1806370000000000000000bba0773e0000000000000000d0ee7031a5fcf23db96e27319ffb0531e35f26310e1e043e04674b350000000000000000e543de3d0000000000000000c7bc3f32d39ffa3da1f80732091fdf31070a8b333826fe3dc4b93f3700000000000000004e51c93d0000000000000000b5341a32b129773d2eedd431d9a6af31bd2caf364c97283d00000000000000004f06b7347003c13c000000000000000077498231b9053d3d7515253f705c103161fc3e31749a053dcde9f93e991a812f00000000d8ae2f3d92b2b03e00000000a5114e32d772113dd51c2c3e7120ef319a2d9831dd9b4c3d75c0a73b00000000000000001d44bd3d0d215837000000007f8c26324b37283e8c61ea31fe38bb31862c16349ace4d3e46ada3340000000072e44d33ab1b303e00000000000000001d38ff34790f353d7e5c13350000000000000000a1c5633d1b48803600000000cf8b9c32ebc3653d8dba4b33000000009a216e34a2872e3d21ffef3300000000529c84312ef0943c68a38c35000000008e0cf232a527ab3ba29fa83233b84f322dd1b43335ae3a3b0000000000000000347599340e50cb3c00000000000000003c3551349b91333c3d20ec2f0000000069b592340bfd9e38b527563f5d2b01340000000049ddaf387e633b3f000000004fc6aa328e189638a00b173f52c98a303c63e333a9d285388fa3cf3e0000000000000000a7b8c838435a703e000000005979fc32e10d1538ec77003d28157332000000002a3ca039f24c4438000000004fb716340d6d113d7e31b93600000000d36bdc335df6b13d1f7d9d35000000000000000000000000000000000000000000000000afc7b7380917fc3700000000000000001a0b8b380000000000000000000000002e97b3387611ce360000000000000000f9538e38e9ed36380000000000000000c7d65937e32b74380000000000000000da50d237f0899c3800000000000000002b024f389e373738000000000000000000000000000000000000000000000000000000000000803f0000000000000000924c0e3893476d3f000000000000000022ab9d37f7d7543f000000000000000093355c37e04a263f000000000000000027432437fa48f33e00000000000000000000000083e49e3e00000000000000000000000027fae93d000000000000000000000000d814333a000000000000000000000000000000000000000000000000000000000000000000000000d4b36b3745454c35b42f3b35240504376694c8378488193767833237218cb83791bdbc37f96d8b3682a8eb366da46a37e945d8372e867d3768b89337de02ca37ddb30038e218a437c1e4a93753edf8374435ee376133af377430b037c636e53789d2df371fbad6379835aa370290dd3700000000000000000000000000000000000000000000803f0000000000000000cfb7cd3517f37f3f7a5d70372cd62e369e57a037c2e9573fa4e0d03741dc8137e9285837efc52c3fce9f84372cd832379722bc37c45a013f4f70c1373e06b237b505ec3701ebaa3e9d64f037bfddc8374d46b437b1512a3ee8e9cd37f7b4b9372c9aa73739c95438baebc33764a8ae370000000000000000000000000000000099ae0e378d169437f5df553707b886372b551c37bfb9be3652bebd36ba966d37738e9237d1c7d8358b1def362ef1c7370d9a55371803993624210c3701fe6d37a688b437d9caed36ba533637f6fdec373520b13762e44337bc1474373e05c9375939ac36907ca1358da4e435ddec4937f42b2e37801b6f374a54263778ff8937e7d9d9367ce62c3783780e37acb750371bc3933627f37f3f93933538cd481e376cc71f35a0c67f3ffed3343a594fba36c25a403457e9573f9888a43bbe351637790f8136ecd32e3ff2653c38467b1e37926d993624ac003f87ed45386573393786ac0f37638aaa3ecad959385fb3803733031934d5342c3ee8e3b537f55be335cbe48635b5e6fa3b52179c376f81c236fce49f35898a9c373eb40a37a2b3c636dcb7d337b19a7538cf37f73756a3be3784b21537f5aa1837be7b093767eb103771070838f89dd537bc316937f9d0b9375adbfd370b009037e8af78377262bf37873cc33718662b3718bc3137496baf3727cbd037e1a0813769eb6b37e6f3f037d074e237b621e137b9fcd837053bf537d8a445378eab7c3752453637d3243b37ae27ad373345ca37c971aa37bd69c03783598f36f6fe563f06c5233e62fd61379c298a366f7c573fadf1213e4399dd367ffeba36313e343f15fc183e73fe0c37aa7f11374963163fdc8ece3d28b53a3755aa5c36904ddd3e7823873d8acb003725080637041e983edf053d3c6891393797d38237f428233e50715238fa37ba379243ec3661296e3b7f98a437f56913378ed0073747bd3638ded4b6376f7f4337de984937d7b94d38511954373060c236e58d9334f158c036c3df1834c5012f342df0f637ac69e3370b36563794e16637d5ba923703523537b724fa36223923379dccf43614bc7236cfb573366e3d75368e1ff637eff6c337b4f8863747b8a8374880db379089c3371f414537421f9b37757d3137e7d150377d9203371d5c003747e5c8374ec5d43702d0a0371c3fa8371fb26536a5482c3feb44a73e4eec6b36483b2032eef82d3f0e02a43e6af8c33372dddb36b193173fc30a8c3ef621df36bc8aa1363cd5f43e4e62553e125da336dca26e364eadb53e8cd7133e14ce7136d6f31837a784763ea2f5943db17228376f96c636bfab033eabe2d73b5bb3cc36e10f9936353e1f38ed74863781ae8f36e5005f37532b48389484bd3773141c37e51db43703994c387a82a6373f7d85361e033137efe836374559d836912fc236028aa33786d48e37ba9307362f3e0b360faa2b38c64dc9377f7f3036b5a550365deda5390e9b2638aa11b337044aba37b6ce203858b1e3376668043753293f37f466c6376516a237fbd7e7364dbf0837060d3537b7ce3937face1e3721e11b3720680238c41ff537f86d3937bafd4237d957803655be013f7362fc3ee9df7e36c5866936f9e4033f041cf83ec598ac35567205362238e43e3d24d13e7a96ef3567872036f0b2ba3e46a4a43e08dbc1353142ab3759f0873e59b06f3e22083c37725d53360d5d373e9fc7093ecb8a123656b80e366037be3d5ab2573db352093647870e375ad4ca38eabf4837280ee73675074937024d5438e207b7374d4384367492be3754b644388f4b88378837b036ff433937dc7a51370a6f833678a1823680c2f9374c5ebd377c48bc36a54cc43648fd1438d974cb37942edc3639030337e99241371e357736ecde71369f387236c1c5c23742788c3781000e3733251737737b1438a7040c386a1aaa376f3b99379868f136b0d29436ef369a34e65b3b3440f0cd37c22da637ec691c37944bff3644e3a436596fad3e6b39293f1fe21f36d1638636bc2fb43ef6dd253f10287236a328c7367b52a03e54350d3fbfafac36ed513637d605813e4462de3e923b9e361b7b73366b173d3ec5d3a13ee63261367c991e37d984ed3d0f0e4a3e6988a13675f0a337f2644f3d563fab3dc8a50337fd449034cb303438eb70af37f2570b348e494837e6f444384aea8637ff0b7336fa14cd37464e2e384d1f1237cfe07f362c6c8237e5178737f84e35366618c435842403383f5ce337a494413749ef4a374c092138acdfce37e076b236be50d93626ae2d38bd42ba37d5b45836e3cf5b3685514238bd1518383e193137a1163a375b934c3815a33238a81059375a4f5937d3fe57376137483787350d37881b03370aec0c384664fb375bc1ac373dbb9637c565f036bfa8323eeb43533f2d9c58360ba3de368326423ede864e3fc4e9a9358cd59f373da0353e5dbf293f746fb5364baf3837df36133e2c250c3fc086ad36bf413f376276d23df541cc3e1c814c36c629ac379bda5f3d078b833e365706377965e037a6037c3c521c063e5aaec736e34c19376ed7bc379b988e37612bc936e6efeb3771346e38961be63718351937372c7b37acab95376b0a933574357f354e3fbd37825f80372cf94a35a6ce4f359879ba37613fb836e3a51e34016d1934e2432f3880e9a9377c210936677b0936f2a31638008fa5375d247c32435b803242808737c23a5c375cae6f36aec2a036275118383db3cc37af0f343652d92636eff1b83740c89b37117fca36df146d36e39b8d37010358376821d936ec86be36a32c5436a94cdc3bcc3e7e3f8e663835f210893650de033df9c0753fd63e043531e7b235892e023da6c84c3f4a6514347ae396373fd0ca3c0055243f74adfb3552638837e36ea23cd562f43e0aa58132b3c75537a27190386c3ba23e26c44d362301b237e9ed6839d6c91a3e954a8f348dc17f3705e020385b1a1b385d9a2d352523843780d1ac3789ed0f374204a53600000000000000000000000000000000df4fe8379ec6b23788823a36c75b4a36f82c0238fc3db737daee4237552b6b3765f8033869bfe03721572137e0244537c0dcd037f613b93708433e37c52e853759c39337136c5f37b6f3bd361e021237abc1ce3764c0c037a198883781338c3740953e3728cb433704041c37e6ecd4360000000000000000000000000000000000000000000000000000803f00000000679bad3756e41c38c7ee7f3f65be28365febb73780361239a652553ff2584237e414e13781fbe139d5582a3fa28946379243ba37907b85394708fd3e721c4537db00553735e63c385156a63e0abca636069ea73737f4943945bc1f3e9f575037fa2bd7369010a237177f13385f44c4350000000000000000000000000000000000000000000000000000000000000000b9be18385ba62638ef501436bec0883614c52b38bf8f1c389f473b37c8875437a83d9b382b185938a0a86a37ace9b63709f7a4370c7b783701e0f2362e351337f80f23389d841038a6a8da3798430838559116382d811138b38a7b36958492376147be377a22cd37f3d0853735bdb33700000000000000000000000000000000000000000000803f0000000000000000da483637542b723fdcdc743744101a369187133835d64b3f08a00a38b1a8d836527c5e38faa8263f8c523e38f34a6f376207883780ee003f637c8837addef936d13f153899adb63e413e0c38c6b2da3750d8b537ef46583e751b7a375f8988368c1895376460813d7d078a378ddc813700000000000000000000000000000000cef29a37743dbe393aaa9f37b8103f37b7cca837fdd0493abc403c373ed9ac343422cf37e9f9183871a13d37884022378d711038c0552e386b4a8237a6e34a37bc2ec0379b350d38e1ef8c3719fa8737718559370629a037dd4b1d37a5e13937e752b03750fee73726bcc0374870d737fb8b1737f8e19237b0fc3d37dc987537304deb3792270d384376ae372adac937e0ae863606eb703fc5ee6e3d8a5f343785a07934741f643f011c753d6c9e7a349eecde366019423f4e093f3d0497e53629376937f43d1f3f2241d83ce4f99d366fea45374cd0f53ec4ac413c6688433760b2d336716eb03ecbd7bb374aaa1737a2786037649f523e7befe5375d3dab37909f2035317b8e3de6774f376a3a1137ba7f91373fc43d384abcbd3776496f37d77f8e375a943b395605ae370e95ba36e07ab2361dad223c41a1f235eb6ff43594674137b74b71380781a13683553a34e34bf9378d3166389c4284370b001d3629fa2f3700ae4d39351501378207a536d629b0374fce02381f02a037e0b983374960a337a1e5d439dc43a737c1368737b9370e351b0e563723ac0e3523450f3548a8a437c5c0f137126079378f6d5137cbeb0036f6024b3f4785533e0c9dc4364c36ed35b86d433f3b76493e170ef3358ab431349089233f71a9253e27b137342fcd0a374f08093fcd02f13d32ada633a247ad35320cd33ef501ac3de9301b36a3c1fd36b3e9993eff960d3d48004b377079ce36ebf4413edf43223bf7701437f0c40d352645853dfcb80e354bf70e3515583f373c0f56385b899a370063e9363cb669372eeec739ed1a67373c431336c12f81376a87963aa4f18836707cdd357cd90a389a0c363a6fbf3f37d2cf0c36f0708e37fa1b1c39e76513376baa28360ff5ad375a3e07383e2d1a3743a20a36ddc20e384a5430394251f53752ba9a377128d437ef37b23988cb8f37f238df35dbead4371f7bef392e16ad37aeef503772710c3852d84238f964bf37b8e18b3729d21136116a263f6ed5b23eb2691336052cdd35b4e3203f9c85a83e9144de35e5722b36b66d093f1f4a8a3e2a110f36e500ac36b945e33eef01593e8bc32b369b4a933621ccaf3e64931e3e25f80d3647bd9c375aba7e3ea3faba3d47fe6e3700000000314c223e8cef983c87543434941c5a37d2bf693d09e40738c803c036c890d3373b489339ca5afa37a0c32337bb08f43799177b39f93bf4372a9a8336ecad9436e066393a309b0435ddbbf4344f07cd37552c7839d6f73f37cbea9436e293f637f05572386c110c37969aad355e42fc370ecf7339e143b737698012372949dc37f1563b3874914b37e0141736e199c3379d0a2b38945c6837038b283788d080367742253892120e3553090535c6f50b38dd161c38ce71ba376d566737e2ba3c37ff3e013fde35fd3ef678853604edff347c3afb3e880eec3e2647fa346b47373724a0d63e1eabc43e596a9c36e45cf036996fb23e9dd09d3e84fdb435f7d0a437451f883ee15b6f3e2b0c0237a1c8f636a1af483e2495163e426cdf35348344373cc2f63da0299b3d1af41737f3aa05357345423ddf339f375e79083518a3d437b9f06e3842cd0238056c00375162f237c407183a9b2c0038c0d7a2363233e1372f23943a3b7c873775e18935f39f1b38e3312b3a0000000000000000d06425381c40a3397068a4370e4f98354b27bd3782210838c6d4c4369255013642829437e371f2371795093777e92436382f0938a143683997ba5b3797241036aa9d8337ccbc9239705503370190e535abe7953787acb03704451e3724792a361d413d370a24b83ecda2233fca4dcd3648001a371960b33e233d173f25ee8835ae169f359a62a13e76ab013f00000000cfa8d73720ab823ebee5ce3e8c2f9a35bbdc00372d55493eb3199c3e105e023614391b37e4e70e3ee242513e33582736f4204437ccafa93d4e7cdf3df9040f365520a636b4fae83cbffc4a3cb2ebe035362c66379d9c5c38b82d76376fee143695eda637e10063383ce08437e394a5356abe0e350a1df839371e0d350d680b353a513a399d4f3c3ae2a3c4364d584035b432f2377060d63b29abc736f0f7c53597737237bc617a39bce0b23577b3aa34b012133827fd5d38c3eb1437f98488337d2243371e24e3377df0783694af2e3488951737dc3d8b373042f835ea1ef035d983ef37b2d50938d4230e3776030e36a3d5b93637185b3e6625493faeb6ab354edf0f358b03593e89f0383f36800c35364a6c37af89493e2d1f1c3fde4e50355ed68b37699a233ec630ff3e6631d5354dfd00377336fb3de9d3c23ec232ae3414148f370e89ad3d642d863ee9b79a333bc7e436adf4443d15ca1a3e39e32f3481d5f535b5912c3a64f2ee3c3a50f03576cfad37d60a95387ceba837e84cd8350fb2ee374ea940381746cb373ce369360b638437c84dc839b4d02035d68605357e65ee3747262d3856ec2a37c18e8f3589cbad374016d63782729b36f3281c35f8300f38b05d4938e2a8c536361627346a59183813ae3838ab2cb03600000000687fe837f0320d38fa7707370e744d34e617c337cff3be38fd3cc536e7377734cb00d137dfc3cc37b6401a3751916436530c6a37dbc0893ddaad6e3fb5b06e36d4f0ff36140f9a3d11ca5a3fb3490b35866db937bf4b913d3320393f32ac913564a9333767ab823d2b65173f841822351204aa37309d4f3ddb03ea3ef0182b34e574c2377c46f53c0b8aa43e0000000063b69b37134a043cbb563f3e4ce44c34251b8e3754ae573a4a91413d560a7a345d54b937bc800e3815daa83782c29a35000000000000000000000000000000009c0fbb3774fafe3790828237c759bf3658e60a38fa228a382df8df36d212c03586201c3886173e38f655d237a5f4de34b959863719aabb37473ce436f7dc7436948c35385ec2a13823ceb0372880ef36887cfc37e1f12b388346d937c0acb536d1501e376055f1370ea12937843327360000000000000000000000000000000000000000000000000000803f0000000040188037a9ba163839c06f3f320118371d45a4369a71b63996c1493f1aecc3359c1ef537fb9794390177243f2934473730791937dda2083832fafd3e3f3c9836eb5cba37470f1b39b35ab23ea1ff173742bba23770c144382234503ec154eb363536bf36208a2638fd2d5c3d0bbf013600000000000000000000000000000000000000000000000000000000000000006964313a686b5f3a92034b38903901388a17463a366c583aef2b8f39cd562e39f602063a26c3043ab6fc2839e1b1be386e1d1c3ac50a3e3a53cc853907442f390409c539c500e939daf91739e5c8bf382c7ed439b546f53966b19d396e129139901dac392b50ca3957e84539a9ff2d3900000000000000000000000000000000000000000000803f0000000000000000a167083a7ed0603f17a2f7390e5a0738022c253aec4a403f4cdce539b9274b396de2e739bf10203f6459a339a2f9c638765cfe397ccbfe3eec7ad139f6f43e39b5259439757abe3ea4be70394cd8c3380439b639cb86793e53ebb739bc498639744b90392398f23d352e6b39abf31c3900000000000000000000000000000000d4f80b3aa1104b3a5c8ac739b7d5c038c193433a0137883a45d10c3aebec3f395f4b0b3af9d2803a0d884039ac955d377567373af738633ad33a043aac1a9f395fc2033aa3d5283ac006a539fd7500398c4a733a0a95e73a5c1869396b05f0389491ce3986201e3ac31eaf3989518239910069394dfa743ad7f20639d644a437e8d6c239f8d21f3ac50b6e390118ed38c011c3392d01613f303cec3de0b0493958290f3a3a82473fc440d83dd3269f39ac5b1b3934432a3f509bb13db2c28e379c3c163ada9a0d3fc2cf8e3d865db739e776cd39ff40e23edfd9543d5abf2e396767a4393055a93e2ea8153d12fc0039de0f8239edd6683ef444f1392d2d73393a01bb3858d6e53d1060543970c5a737b8c5923930a1633a201a9439e882f83842fbbd396eb32b3a04b0a13903150438a443173a4261e23ab08e68399a3499376d21d639ec449f3af8305b39e22bf1373dc23f3a640c813a7d1e043a7791e0386fc49d39d5a0563ab7ed12391cf9a7379ec72b3adc30623ad174f63944a724398993203a0021853a298ce439c1123b39e68c293acd64833a8dafdc3938321539a3c39939bbdf813ad5012a3881d1dd374e3a5a396ed0403f0a74783e5888be3834412f390f292a3fd1885a3e9633c537e6d87339818f113ff9ca393e1733023820fe103a99caf23e6407193e13937339e2c22639cea1c23ec6d5f03d0363ca37d58d053a6da9913e8efdad3d0f5b7339fc3bf1398fb6413e9be0593d1fb3693901f3073a29c6ac3d9fe6eb3c2a723c39124a723857c1bb3a431486389f67f737381807393c0e363a64ffd838f9481238c4f074396cc6c43c1a186438755874372e28b6395347323a4266603945a343380728e93975abfe3aef0dbb38dd8c9637fb5b103afa404f3ac4d6cf391fee9d37bf5d413a6e04763a6a730f3a66692639a6741439caf7e3394ef32838df9d94372bcf0a3aa85ae13a38b3b13904044638854f0f3a265b313ae91ac039daa0b338fbae29384e5e203f5c10be3e4fea1738480ce2376f2e0c3ffda9a33e8d95813729d0fd3807eef23ef6528e3e0cb154383dc12c380925ca3eb57c6b3eb95fb83731d7c139db0da23ecb87393efc21d938284e1a3acba8713e7e5c083ef7898739e61a4038f323223e746baf3d079c9b3795b6b7391fe59f3d0431143d3ca34a38a258ed397bb26d3ac650013adc9e13398025f13955b6a53a6b90b3395b13eb37015ed939a7afa03ca4c798397e6e1138bd10c43925f2233a9f3380391904593728261e3ad81dad3cdee1013a5c0c4438d427e539ddd7b43afea1ab390a51f737e82a253ab77dac3caf8ae439633e5338e295bd39f7d4163ae0497a393c4e72377173cc39b5d9273a0dd39039cb8739381836f139b57d883a2728843994a708388b2b15391cb0fe3e3826fe3e0cda28381b592b39e29edf3e1bbbdd3e00a15938c940433950acc13e04ebbf3ee8beb537ec6ad239180d9c3e1356993e4c6c0639e3baa13954b5803ea6ff7b3ee33b9f38d18ff639caf6363eeea12f3e33b3e438cac55e3939db003ef20ef23df9919b37853477394d226d3dc0174d3d58fa53382d9d9439c198a13a8958203af0f51a38214ef439f2d15d3acd5f0b3a02daac37e6f0003a40fd0a3bb6c9e6390e2d2a3882d827399e1e0b3ac0ba5e382fda7937c595383ade617c3af6ee1f3ac5551b388eb6103a8e644c3a3b4ed239235fa63757eddf39322dd93a547baa389108713775a1c039ebbe143a3e063d39b06d473882d73e397c7bbe3a2a58b23819338137e5e71f39dc2aa639a7bb7538c6ee1138360f97391bb7bd3e799a1f3ffe733a39806f873913b7a83edac20c3f54c64438699d1338d515913e9f3af13e40b9923755450a3a35b1703e0f68c73e984e7a398a2bca39c582403e51a99e3efd82be37509ab038afc60f3ed4846b3e946e9f3754086639f6c5bf3d72a01a3eb9a151385b360138d5fc253d9446873dd6018437d9439238a6a80b3a06d44539f51d1338d40a7e388197a03a9487a7392fd097370cce133a8630bb3a0038233ad26d5d376a4b1a3a1fcc8a3a3b35063abe3a913715a0263abb32643a60c70c3a590907384ac19639866e4c3a396b363971834e371226303aa0466b3a3377163aee1dba371bc9c03924e16a3a654885393ad8eb376698f33979d7a13a687b8339f317b5376f27c439c451063a8f42953943a4fc3718c11e38602c793e0383403f25c10438a0fbc139f78f683e8254273f345710390c22dc39fd143e3e2dfa103f76bba83858e6ed39b19e1d3e8737f13e837c143961633339ce96003e3b5fbf3e8e4eac3767f0063a4100bd3dfc568e3e63244e3973536c39d1e97a3d2a453d3e92e8fb37fc1a6d39b9fced3cf30fb43db5fccc37f9f8a23927cf0e3a1334e339bba8063862f3a1397e3c303a6ab1cd3974c0dc378a467d39f0e88b3a41134339bddaa23651eff6392b12253ab3fe90396af7b5365827473aa882f13a088eb339cea66a370ef0f4398631283abeeac839d1ae5c37a1712c3ae508593a35a2133abb5a8537d2b99e39e996513aebff95397438d1368037363a1bb0683a23bf173a468cb937b45d003a10d9283adbd0e53930f7ef379b9c42394651ed3d6e2e613ff79409381f7bd838fe6edb3dd101473fa29e56376b09b2396d8cca3d6c622b3f3d09b0376c8b8939ae7f9a3d02ee0c3ff3a28c37b15fae396187803df6e2e03e6ecf8a3865120d3aa75d343d3571a73e87355e39b3b0303954e8e93c30565d3e743d213723f1173a0f7d783a48d2dc3d76692539fc91d139179b2f3adf88223aff42fe3800000000000000000000000000000000e2b59639cd13da3975c1b039f23fb8376924cd39432b023ab9b5bb39d582ec3760d18439ad58063acf8c9239827a3a387a90cd39900d423aff26d63941b2ee38ed539039fe8eff3990ffc03955a085384ee2d13988b4513aadbe003a8c474e39e208af39e621373ab378033af30e0c380000000000000000000000000000000000000000000000000000803f00000000172f553980f7dd3987c5603f0dadcf38a333a739bfd00a3a4c6c403f76c32a398eb038395b08093a84d81f3f13cec638ac619739400b593abe39fe3e7787873908ba6939a6570a3ad3aebd3e295f183990d6a63924c4533a320c783ec8369139c08e2139a9d0333ae805ef3d650f1138000000000000000000000000000000000000000000000000000000000000000029ed5736d0384636346f4b369fba5136c7e302378f742736ba193136ca6bde36d566aa379d68643630e8e936d9429c3748cd9a372e6bc436a8d11237be7b9a37739dae379c6f3a3727f33d37e5ec833718ca06385e681538befe063874221e38e37be33710720c38131ccf3711a5cd3700000000000000000000000000000000000000000000803f000000000000000074d84e3601f67f3fb391b23723645b36f3fb6137319b643fbc218b37e3f04436fd35c8379366323ff673fa37ca2491378d909e37de2c013f94330338b3d18937d8b9cf37d8e9a03e92813d3823b86f37e831dd37211af53dfbe288385bf21538d55d383787fd803a35f11e389eedc8370000000000000000000000000000000016633636b2798c36c870f8369843913633afaf363b1db636e82abc364684c536bdd2163517731535e4f71935ca664e352e5aca361f9bc4350ac30a379f29c6370f10e736e867ee360541d537ca9a1138f8f7683520c97e35216db835c6c69f3667a80b3630800e3776700c377bba2737bb780d375e03f7379b40c6377d24cc37ef690037494d833714449037250792371f710e36c2be7f3fffee813a1bb85336143c9b36d4e07f3fcb5ac0398e45c13680b1123583c86a3f3459e138bbb22435ff6eac35b49d373f1b857a38b9638e3788d3673656f8053f430dad38f5eb09389b782d35dbbeaa3ee863ca38c64649363cb98835d8eb023e6c7be538f5a6e836b2c1b536d681d23a91975a384d978b3761a2e73641560638cc15db37465335370a3ab836e6d48937cf238a37adb5c536ccf5b734c11cb5348fdcb6343162b434a2f50636a0a9143652f47f36416e9c3684e92836fcc32836af549e36b8f40f37528dc834cc32c8349f4ec734e389c7345c78883652f38f369f0c9d36c6289b36ac37ad36789da8377e35883744193737015d6536b9c98c37e4ccfd3613bc75369a1e2737c2327837314462374d0b43376c22aa369061603f5a64fc3ddf73c4369b23b7346a1e643fb01fdf3d718db4347363dc356e414a3f5426de3d98f91e36e83b1b36ce46253f7e5c843db07638369edac734829cef3e9f4c183dd6c2c8341c047936ceb19a3e6a78133aca309936200cc835ba9a063e8d9b3f3a445adc3646374c36d11b1f39d14d49382252773616e97536a8a2bf37fc0f98374e1f0f37e59f973636500738b37d4437a7e667366a75f8358e13a036796a2d3684660e360b2b203675772436c5872636b4ee2236c72635361450393610b02d36df832b368587b6349442b93417a5b934186fba3447fb473747a3b437fcda9b37e2514737b9fc54373ab4cf37a14b8a371a594d372ef4163504aea6376e4d6035bcf261352f62f036b3ce0a374cc0f8360d71f436bbcb3a3606fd303fd6fd9d3ec1e34336e3eccd350972353f7123953ee935023623e6123654f5273f1241823ed8421b364a8f2c36f1e8053f0d5e3b3e86c52536e5b4b5342a02c53ea281f73dc57fba346146b3366a317e3e9df3603df01b0937e1ee12368980dd3df3cc243a627e0837f379f434ced6c3388e275138d65d5035b214e7361481d03760862c37d2a8f03690051f3722284838081bb337e5b0a736670bd5375a2f47387f02933783819636a5431c387a702f3842748737732e983610c7293867e93238d8a2ad37da0d413761ed1b383c0d3138b7ded63703ae703795d5393822d26038706624389a0b003814393d3801c87a387676453801021238165a2a38260a6138ef271338ba69c637249dd637108cfa37fd3a3a37275df336b24a9b36f7cb013f9257fc3e6d7e913640cb9436ff67063fe415f33e64338f36c4297737c6bff83efbedd13e20c95636fd6392375686ca3ef2589b3e3f6da235d711ac3703c8903e6a625e3e2389a236de01bb37f86a423e1670e33d6db19537ebbdbd37dfeab53dec0b7b3caf7ec43732748f37f8a5b83814228b38578ee43680d1fd36d8e67238217a0438a0e2ab365c1eed3633fbac379f01e83639a3d7362d652f357a6144374a6ef634f353ef34c6c760378cf9533736a05735849553359a04a737e17b833736419d3653b56836a53eb8345598b8341258b634457eb434d0123936eb6c423659c73c367cbd3036731b21377d77273817173236fdc2223686ffa3364a81c836e30721366145fd35396a3d37c0b741376d44a336ac8c48360efce9367faea43efaa32d3f74bad23655510335b067af3e0844283f7224f0342d9ec0369f5ba73ea67c103f2400583555d50a374b04883e45addc3e981d63360697b8344ba84a3ec8e2973ea990b534512e3436374e033ec4d5293ef9af2a36a4dc2d36e02c683d757a063d2cb21e36379b3936fb332f38f7267037558df0355bc80c37011b8c389d8522371fc04136dc9e7637cf22ac3727d17836b17f65363b4eb636dde61937fea4343688823036a6fa80377da71237ce91a835be9494354376cb3658bb91361b4e7036fa836c3624ec0c36f4c66735d3eec63477e8c634b0a1b537d957b03764162f36b2f62336d05d7f37daa29a37817c8e3660480d367c81fa366e090737ec31b8344fcfb6344bfa4837ac9aec36a4c8c0369752b936b9e112371fac0c3e1ccd5c3f6483513658fd703636a0223e9d53573f4d4e1c361677a1363b80233eba49353fa96982359f4b983623da113e52150e3fc0075f36e9b0c8348c92d23d42c4c83e1286c63445ee3437cb53843dad6c663e330c1f3693381937aec3e93cfd84953d3dd0fd359ebcb534953cc738296fee377da0b7348fe0083775b609384a2dbd360fc8b536de4bb937596cdd373220ec36fb95cc36fb4ff637d4169b3764baa2361e69a23620365037ade61c36800558354d535d350aad1337b2cc9735fd152835dfd02a3534d33738a5d70c3803565436c32d5c367c8d033820a1f237d761bd353080b03510de9b37d51ded37e7a51935f97e1e350e7e9737b6baa737f17bb8360400b5366396a136a32b5736821b3f36c3683436abb85f3702d4263c6b637d3f703bc33640d9a3372a7b0c3d8ac8763f76329a36f8c4223770a99f3c27475a3f4be856357ca3d53617eb0c3b0b162a3f83e42435319c37389a40ea3aecfef23e5ee750365768e3374616533aae5b903ebe7a8135a6d83835bb273a394c50a93d1b6014359b7e6c373de3a538d2af7f382d0ab03611839a364b420a388f0245363d592a3600000000000000000000000000000000605ae637eff7833719b13536bdb13236a56228385d9ab237506131360ef438363683f037ec208037c40c70367e5e7336243ec3373009a437c0ef8a36f7c48d36d3cedf376f0cea379f985537976548377a4541377ef5c0376e58a837cd4b49372b1f56368cbc8537c3a23c37dc8464360000000000000000000000000000000000000000000000000000803f000000000816d83793c64b38adb47f3f4333273655112738e694a738114f613f8c1a3436412ed5375e068a38547b2f3f7e2a8936ea03b93772273c382793fd3ed597a536041ccf3794364a38ea099b3ead5a8d37c23bff36f76135385813db3ddac190379a1559365a471d38b544a03899e25a36000000000000000000000000000000000000000000000000000000000000000013fc8937bafde636b9ef6935183c8035a7d46c3710064b369b721f36c7ec23369f8e133649bd003656d1e4355b4aec35d8e63d373c70123697cacd35af1bd935a8485b37804b7537ad7b2f372c7237375a256e37be67103885efc337ffe4d937e50ed235685a01387d2d9e37c47fb83700000000000000000000000000000000000000000000803f0000000000000000b3c22637b3f37f3f6689da362db27e3542977137c1315c3f86016236da36253652dd063639cb2f3f7488f835e5c1ec35eb800237784b033f6c305737aa54d935610b14374791ac3ee0fa8237a870283773cf683634e0293e86c61238d438bf3737149635b367673c2431e03716579337000000000000000000000000000000004a6f8c3482117b38f5a5103871632936000000008518493703a311372d6417358a3b4f36e5065736412a6636f02c6b36c005963603b1cd36441ab3367cb3b2364b27f733fbb9c8365e2a003671417e352db0aa365cfc0437f1b4bc366738c4369ac0e935a5420f3880b8b737dd15a137fbbc3135f82adf37e31b04363db31236954f9f36adb625383e6086378024703744498334a97f793ff8ffcf3c2c73523600000000f8ad7f3fdfe5323a94d61b3504773736e4bf683f868b08386f73683668026d364b013a3ff08d51388c64ab364de0003452690a3f2eca1e389ce33735f8509a36fb6fb83e7d564738038cc23615acc6353307393eb4fdd738d2b870374968cc3318169a3c2926e137486c0d36b1389634c6afa43847d4ec370a5b2f37470cd235e8cfad38f7debe37a30e1836f70740367a8f2138c445653628695736f7c152363c626d36aed96636ba075c360828b136ee44183730c2c336ea2ec336f8147e36f1bf2637bc4e883639338736bf128136a73ea73755a4c73679c498365701313677612838390a6a36c1806a3656cfa03632741e3817f2b8361d0db936e61b6d37352bae386544053860e4433620ee9835bdf4523f051c343e5f2e1136ab2418360beb5a3f157f133ebd44573635f33636fbf3443fbb9fee3d62945836cd75a4361b91263fd5a17d3dfdd1bf36b4e664363951f53e9ca3373de9128836da765d36e708aa3e774cb538ef749736e5ef1036e9ef363e66685e38ec3a6636a18d8736ae06af3c192ffa37102eb7366ea81c3644a6d839a99b8638ecb94436fa298835f65fa038a5c962371536933574c36536083af836c5606f3646145036f50694362551dc372fe087363028793698fd1d36ac033336bcb014366e7a0236b69c663612e1703711316f369ec561365b27c636c923923771d7ca364d69c63617bc4a36871a763652fc5f36b8fa5a3690ef62369fd11438008b6e368cf85d3625d2c237c9f99f389314663621511836b2962c35db452b3fe36ba93eb4de9d356ecc4236e35f343fe390963ef2ec5236219189361f0b2a3fd4b6663eba747b36ff87063642ce0a3f6c89223eec9d05364e4c4c36104dd33e4294ca3df0156436cbf4b536db26923e8ee31e3d126ac736f5292b36e951203edd9c8d37b2e45736c04a41363f64af3c6c91b53762645f36ee631836b68d54399cea2238a2171e3691634236b59bd23803a9ec36a9581334fa16b435e4654f38bd45a43590fe353529b0e035a3d6693819f79135a6348a35245791362a8a8637e92d683613673f3626c73c35edb9083866b73035688ff734f7cf82360a04933724f96d36f53f5d368215bb350ee08d385a9fec35a048b7356d78ba35ae99ce378a65b33596ca8d35ae8f8237ecd44e38047f0834e5370434bdf309340880023ff6d5fa3e150d1634f9f390352e020a3fa802e43ee37f5b35816cc8355667013f0a58b73ea1688d35a6f06236c516da3e6b5b853e122148362eac1d356dcc9e3e4f78423e9d5b0b359b1465367f516b3ee18fab3df3b960361c128f35a35d083eab5f5c3bf06cc23577ac9e3511b47e3cd5ae303628dd993519003e366658a33930440737224d09348ae20a37a207f538e803a0360629f3359bf16a36f9f31c38d0a2473668950f36aab65e361b706a365a6a2b36f02af83591a9c736fecb75373e0ab83696a5a436f4ec743614858a379f5e553649e23436f7fa2036032238366f0e1436e9c3f23510128e36b04f1038bcf2933654a889369f787a36e8e78736eed95c36dd8c3a3691ada237f978dc37dee582350f4bef3460d81d365e7ab13e6234273fdf66fa3550d459367997c23eb239193f09b91b36ad395236dfb3b83e9233f73efa0e0436c555c636093d9f3e07c6ba3ed3baa736bca1693665fa723e19a8803e7b504036a1dc0f365a0f2c3e6663063e052fff35d47c8836fa0ac83d13b1503cc0a58c3685c26a36be01c93ade567d3683604536ffdc8336fcc1ca38238f4b3632e426354b8c2e386563eb38b06f1c36456ade35f404b23645e0153821c08a36bd8e4536fca941371872103865ab0b3627e0b8354b6b32372cc89337c915603663e0283608ca8836ab35af379a5c6b36cc4f4a369cf9c336f5a31f38402dab3643bc993624d56936de1fe836f3b64d368f9b2f360d3aed36b5c2bb37e0cc3636a88f113619319e378f99f436be3cc735865b8f3550f3ad36e781423e3d3b4f3f79f5f535cd5fb136eb25653e2e41413ff13951368d155d36ae92573e04601c3f21ddc6356e589636db0c453e3377f33e22d338367e838636e9480d3ed92dad3e5b9c51361285c136c356d43d5d403c3ef18b9e361f136436fb1c6a3d64686a3dc3d4343678d0603632d0583a3da35836bc581836f9639136a89ac838581df23561c696356ce49437df355038f47b6d34f789f0335f181736cb34893639f9bb3334d18233127de737def9dc3723d9c5356916bf358743da36bcf43637b8d29436fa1f73365e17bd3613013437d7f0f733f16ede3301f01937374d73379d4277364ecf2e36046d69366e1d843737dc4a3617b82436fc334b378f027737000000000000000051599037c1233d36a3268a34fcb65d348eed35372ca5283dd46c753fee0d00347218fb35ab139e3d026c673f6bf8a3334ed0a5373314773dfc3f423fc05ac33548afbf360154443ddc82173fa4018536fc6a1c3677d3f03cf522dc3e39b2f4337f4ac0369979883c7b74833ebb8744363af06a36f762d13ad6a8b63d827b33361c82fa3697750c3a5b622c3700000000807c3d372a379038e54b9d3431117934000000000000000000000000000000000026b2375715963712117f3514bdbc34cdb2fe378324fa37eea88c35fa1e4635ad12733773bfaf373ba2a036a4c37c3652537136d5720c3873466435719d2535e0bcf23528bdf636d1910736f3d9fa35e8883b365250b4376d4c823710a45b36eea75336ead3eb37581eb83730254b350000000000000000000000000000000000000000000000000000803f000000006f6e99370ec927389a517c3fdf590e359bf2d9373a305238a67a553f30db4a3592f54d375fd49638b9ad293fea129036aec8dd3518b99b38405ef93ebfaf5035e6e0f335e3091a38495ca03e8f1e003638b231365fbbfd3725380f3e01ac853669e19f35534000385a94f83838b26d3600000000000000000000000000000000000000000000000000000000000000007ff44e38c23f2838f8e31036cc9fd6353d8087374993d3369a262936c0621a360dbe543805b95c38ede92436dea7ec3567f3bf37463358380408c03675093236f8be4037b12c043849454a372fa79336995ed5378670b038666d0e381cc1b2376fc789361d31c439dc2927373176273700000000000000000000000000000000000000000000803f0000000000000000f5a126385f62733f068ecf36e5a4f435f7d3133768334d3f84a9333699472336bdd10f388faa273f8787bc3773590736db891537b0c2023fb0ade537f4d33b364d0042368a13ba3e4e01b437bb1bd63658186d36caf85d3ef7c15738ac3bc137192e9035fb1b923d619c5138eea0113700000000000000000000000000000000e4ba20369a06e93948b51e38d017b836ae003e371063613a1b605c3721cddd362724a2379c3328399212dd37ca6aad369f478a3650498f3887452837f2a73536f1cb05367840c33998a8003888ad8736c3294a3665d1c6388537ea3739d7da36679dbd35fbc0293ac3a8263884717d37ad97cf353839383c5ea76d37e8b72f3727d5903748ab813a10415f3868da12383c60ee35c8306e3febb88c3da1955e376276b7367a206b3f5e804e3dd351ec367fa78c36e959483f4be4153daa20af3654b10836a183243f3386e83ca89d623678cd013641b3fd3e430c8a3c5cd4213766cf093676d7b63eb568133c661ffb361d3fb935fa165c3ecb7ef33ba522a137c0b18235852d9e3df102f63b32fc2037950aed35b69c913a66ff863962971038a089303633807e3a8ae11e38d57a7236b1ea15374420b43a45891337836960354db3473745a2163a85685137610d8f367ef05d375c99f439593713377fed413659cc76378ca62a39f2efc137af84b336ae12213752e3513c69ed8237839607374c6f95372bc28c3a387f3738f7be0d375db92637438a813a8142c737bf35643799a6a2375ecbda39d673de37b342483792beee35cb1d493f1ecd593eb6509036f3096435283d493f24ea3a3ecd3d65351208d336787c273fc5771a3e03fde6362eac1a36d1590e3f640ee93d47bf6336981f91364823db3e567ead3d787501374819b93631439f3e5cf5373d4ab125379911f635a0c84a3eb723b53c78292a37304aab36fa8ba83db99f883874af7437d343dd36aa7bd43a64515a386b8060370c599b37a6af313c15f50d385443fe363512d3357d9c143a6e97c835cbf34535dddaf437471caf3958180336b3c2fc35ceef4a37dab2a13ac91a4c37144e2737be27ab355675de38dcd7c535d95c8435f7fe2836b7da003caf024736953c2836c9657e3655ff523a17efff36b6196b36c2959d37209ce2398c5782379bf98f36276c0336ee5ed338120d0b36164908366217f836034e233f1a12ae3e93c00237b3ddac3519c6253fe4889a3ea8d8893565a9003679270f3f39787b3eac0600364b4b363718d4ed3ee29a463e69f53337ab4c8635c2dfb93ecf07143e8fbc9f3518041436088e873e4378b43d3ab83736c49a073692002e3e62a32a3d2cb77d36f41956369c5aa03db1dd7f381c2ef936971afe35bcc4d73ad56b3d3761920a362e7dd8378cb28a3a6992f0370af2a735a9248a37cede163a6a271e36e5a89835c45ce637efc6f53969b9383615e5fb357c0bf637df3fba38cf53ae35b6bfa1356346b1374c73943aef9214367e0e9035ec8ecf37fdefb238e52ac336530aa43593a688375a24063ac6932137c5a31b362e933a37f57a8f3937f6df3636cdac35f40c2938b2446b3983155137ac2bb4353f19f435bf30023fd444fa3e1af5cd3580bf33368620023f2c7ad93ea9629e35c89e3736b45cdf3e8d8db53e32dd13364530ad359799bc3e11968f3eade6a635509b02369730903ea87f5e3e9a3d94350fb9ac3571615c3e5e1e0b3e50c8aa35fb182b36012d0c3e2ef6913d054f2a36ff12d035c47a873dab6431381ae9f735a38377373701a53a40b8313814add4351f310936b229013ac796ff357813ee356b521738f364a939a81ce036276c393514f2cf37567fd6395aed24360955b635685b74366c782939af2615362f6b0b361d8be335387cc3388e348d35797cb23474f962370540e63814473e37480b113775aadc37acf1003930d30736d030f93554d2d535dbe495380a28c635b9e77f35fef21e38b88c45383becfe36b79fe836b084093630eebb3e907d213f79f3f3353d004a3717c3bd3e3cdc0c3f324742352fdf9136a3bfa63ec759ec3e3cd5c23528293f36719e8a3ed5a8bc3e966f10367a6ebd35a14e5c3ef6e68d3e452b24358cb7453714ee223ebf7d393eed9821371c430136caaacf3da655bf3d2896ff350278bc3535f24c3d000ca337659a95352703d9379177373c3336f337e7dff03658331d3887abd83857d32f371cef5936880b19385ea3ab39ee31c336e78c83345f9e6d38ccc0c639d27f2636035ce335d954923794507d396b59c63684b62e36df792d38d1b48a389ccab7362c204834505d0238bd97943832273c363387c1357da37037f0be89385d180e3780abfc3595b0883716a3983919fd983680fe5e357b6336383b475a3847b2f1351a60ea353674a33722df673e1176453fdab887364cb18437df026e3eaa122f3f664cf535070ef6371e02563ebfbf113ff017e935570567375819353eb889e83eaf203736428a873703170d3e95cfb23e27744e35e201f5364c31d03dc07f693edaadc435178540377bc2803d6985063e8f083f36e838e636cc83e93c8112a43ad28d6135ea70da37d833363a921b9937b385ed3593916a383765f5398f13ef35bb88dc358ff36d37cd9e6238f3f28435c9e657357dcc5138f4ca82382d76b935513faa3538535f387dc4af3882670936f587fe35f4362e38438e5938973a0236b1b9f03589766a37b8495138ced8113663baaa3515e83a38ccf6ba38558392363b5d6036743b9137d8a43a3925f9e336cd4e2a36b0881538a5fcef37327606366c9c5c3571ba33387f04aa3d0bfd693fdcc6e33592961e378cbab23d2013513f07407035503c1638cd09b43dc95f303f18b7b23531c4d237198ca23d0eea0d3f8b6304360f69f437f35e7c3dcde3d93e1793fa3565331e376f80283de954933e9a8ee0359153c0375016bb3cd173213e286f7e3623454737e7e8803c12c16b3c15788236b64f04389d3a9f39af982e363274b1350000000000000000000000000000000011652638b724ad380648903583438235583f4c38ca3f7238cdf783364aefd63553609d375e7315384b303f3650cc1336bb3ab437458c84382aa8a9366022d535a3cce436a1b798382edadb37ad390536e6083336826b2d38a133153734e12f360a5a4e363be55638d56a48388eb189360000000000000000000000000000000000000000000000000000803f00000000ae771f373b1d843a06566d3fbc06893595551a38fec5433a7b3b483f7744e93508f660373060233900e4223f3f232b368aa8023772bf4a395c46fa3e9d98e63547912f3603199a385582b03eaa2d1a36d8ff2d36085ebc37ba244b3e2bc237360a6f1636323a2738cec7483d0a500c370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004db1e93136de093304f55033b9ee813382687336fa0081368a4c7336b6d55f36200503360653ab355c8de035dba00436cc495135000000000000000000000000a1c98c3678c0a236d725933627118436f0849c3570eb813530ac8c35aed5cc3500000000000000000000000000000000000000000000803f0000000000000000000000004e27803f0000000000000000e3b71a335bca633f3bb13e33236d8233e65384364906333f58b16e360c975336cd224036ec4a013fca63f73538e3cf35936f073522129e3ec649d53500000000c8f197366536f93d1fc228377f6e7336b824e635a13f273cdd449035430875350000000000000000000000000000000057093f3686e46137d9968736199089366d26ea34fe711135bcc25535a5463d352f05fc354638f5353efa17367c9c123686e61235a7181635dbf42335085e293568e588333df73b33aaf55c3359846c3369544d3508fa5035787f5f350e354b359960eb34091dc3342dafc034d879d6340000000032a9003500000000000000009867b035b699ca35998c9d351b1fc635593ce9354c26803f690ae73926c657368b270a351407803f0f37e138189c59353c3bfd35204a693f31421e36947b1836e0983235500c3c3f5f7b123540b13135aacfb7339a000c3f16d13238261e7733db254d35813fb53e0e89ea36d7e86235586fe23452b3223edb56b634371cd334000000008243263db9900c3500000000092899359012073687ecd7351118ab35385fb1361d549737195ae33616a5d936063e423425c53435a2ce5e357b6153356b364736a79c4436c8d30137119a5636b6acaa3451e1c934a001c234658ec9349761dd354080da35d933083623d00336e2fc5136c8d032368b673236618b533623097a359fbf8b35e0f3ad35c62caa355e85f1359b1bbe378dae1c364f710536a402333832cc52381f67a637de8fd537feda9236af1f613f7b34fc3dbbd5cb36000000006af4613f2c07c63d7a480a35f96748369fc05d3fbc751c3dfd5b5236cb3eea34f6c5323f7af358386b62e934c1cab635fc7e043fc2d29238ce45073609fd5536b62dad3e97ecf737cfd92436d337b03599000f3ebdf5d2376e33af353e1fc635c6efa23cfa361438d7c31a368ada84363e47d13801905538c02093369a424e3669b48738afa8eb37618c773620011f36e4a3d73789763636683a253622005636bd7a303701f35836f6a96836a10c42361334653653f545366ab44436402c893640bc5237d4a39f363865d336344f213672028d3644222d366fec3736177c1d37441d83372dd8da36f091da362130d93660d37a372394903595c9b9354c9dc1378656fb3764c11d379bb02e37d0102336e756313fd62d9e3eabfe61365123d7353143363f9ea58b3e39621436c7e64c36e5ce313f46d1433e12a0463600342836ca49173f503aec3d40ae2336ca857e36d030ea3e1b32473d1cb67f36cba91d3672189e3e74a738383a8ef635b00edf36df8b113e7b31483859a0c23681ef6f350490833c8c9bc7374980d034a0a9c3360a87ac3885ffc9371359bb36d22a58360529ec3703ea61367330553600000000366b1f3749cd8f330000000008e21f353ab518351fc3193574e30635a28d1735136413356d051a355d431835b0bbc636a99bbc372f491b3600000000ef651e35a0c210359b1d1f353e25033562381e35ec63183532931735a3fd1d3517354e342d8e25356cc3b2331a1ca933d86f6e365c3d7836baad83364a997736d9eb2936a321013f0be4fe3e8f41183685cd7d3392a5073f7848e73e40f03f33494f2335ebd5043f9b78b73e7563203592752c35eb41ed3e99ed753e5e841f35000000009fdaaf3eca30213e00000000241b23354981863eceea163d7f09163531021f35abe1003efe0de438b1bb143556642634755ba23cd1cf3f360731f93135ec6836364ca139b9948336326378369352ed3680ad9138f2bbe636419ebd3619e503353cec07389c7dd4324c42663400b6d536cc81bc3700b7b3362cadbf3685261236fb392a3736ad063618641b36efa75c37002dce37cc117236314e7736c1f21137d55bae377d6a353671e95a36a589923738aaf6373ea3cd36e67d773611d9af37023b083866385436727430365a9f1f387f19ee3722c35f36a16781364808993642f7a03eaf01303fd2069b3600000000b78ab43ee440223f00000000cdfcd0362771b03eeee4033fadb5ae36917b1136b6e5a23e4cffbf3ed56ef0351ffb6c36dcaf853ef1d06f3e1bbe5c3602427236c8094e3e8072c13da598263697cb83361f3cee3dfffc8138816d8136c0b93c36f34c8a3cf2da07389ed43d36099e843692d401396ed0ae362aea6136df900f38697fda382c1a6a36dbd465365d5315362c80253843114f35928352355b0198355f510a37d0944e3574af4335251b3236bad84936833e0136c5ee06369be62636bfdc1d3778b3dc3513a1de350a842e35a9c34e378e3eee347898bd34d90fe13727e151385bc39e3732403b36786d84368cd9bc36b9202535b3b91435378ce33614d8dc36cbd1c23624c5dd366c1c79368457063ea3da5e3f209031368d9be23506302f3e19864f3fbce28d3393e68d35f8a9193e7838363f24db46351e301e36dd571c3ef1dd023f633ca6357bc30b3679a00b3e493bb23e9d63ba354363de3424af063ee5af2f3edb2dbb3420f465365f07c53dce86823a31fe1b3629da923530dbb63c6696aa379395cc333741e236e8651238ccf5ad3600f3bf365a9ba935fd62f135b0318b35842256350000000026df25350000000000000000f1f5ea34963ce134d53eac34790c8f346c0856354e366d35ad4149356b6f4b351b7b9435f3e456377e9e943303cda133abdc1f35dd861935e110223538e0fd34f1972c36124c2636c99d1036b3eb0c36ccc4ac37e1fd3138d8701e35f5630e35d82d8f3616b270366e92693616146e36fcfe5a35c473653c15e47c3f9ab53435000000006e2d213d2cc86b3f00000000b426013533aabf3c32f1513fcd69aa3429eb5a359ac3583c2e81223f1fc255352a5b7e331e8d833af1fae73e454f8033a7612c35373a013cae67853e05d908350d611936b949423c03aaa03daea70e362ce045377c228739ec6cc33803ec1b3544c48536ff253138987d5536ddd0663600000000000000000000000000000000ebf985356a8f5c356b35592e00000000ebd594363d0892367c2e6d36f93e8f3600000000000000000000000000000000e77ff93593470436935ae9351a6f8735dd3c8736887686362d605636a52c81361cfa39336ee3193300000000ef4358320000000072947c3600000000000000000000000000000000000000000000000000000000000000000000803f0000000000db03357ac70036979f7d3f00000000ef639a36162f1c38481a613f6f00823600000000e431ad375341313f000000005139aa35691324381724fe3e13f2be351e6d8736a8c68a36fe6b9a3ea1f86b36000000003c92ee36cf39e43daf1cae3200000000bb75ef372b62963800000000000000000000000000000000000000000000000000000000000000000000000091a4aa36f8004c3676ea1f36eabf3d36c3e49e3621cf93369d4791361352af361b2ed233a52a853400000000000000000a24ab37ad14d236fd55c536ff2dd336e6c8ae36c036be36b9ecb636f87dd536000000006c75d0330000000000000000d0b71a37275c793705bdc736ef81d73600000000000000000000000000000000000000000000803f00000000000000007dd04e362cfa7f3fba73263699ba28368a0aa136f9d35d3ff3f896366cc6a7367cd24a3414f12f3f36495233000000008a90cd368b48023f1d93c03626bcca3605dfae365e41a83eee24ba3669a9d336065515332cfc173e0000000000000000d67bb4368f5c1b3d3dd9c1366985ca3600000000000000000000000000000000c36c8034eab1de372a947534967bac347c7ef8351c30503702dae935d331dd352c63b835830ea9353b038935e8457a3500000000000000000000000000000000082e1d36f27c1936f708093661140836196fc435670ff03565f88735048339350000000079619736000000000000000063783f35747370360cc92335ed361e3537bb5e36d99c4d376da7463623512c36885976340916773f5c01073d7c298734e2e6e83554867b3fcd730b385c3fe03520a6b83545a7793ff251a23536d77a350000000062e7483f000000000000000001a71c36e797173f29611b36a3420536828eac35e91ccc3eecb1a83561cb8f3500000000a1db4d3e0000000000000000987239357a47a73d286046352a2715354a9e40362d00833cfca45d367b7d31367b2d11357e5a253c280f9d356c9b4a353578dd35331a4f38d67749364937093600000000000000000000000000000000550a78362ecad4363ad48c364c9d8a36992d4b36ba437136a81024361c0e1136c922d03503c4b736f4721b354b1ee9344f2ea3352f799a3737c59e351aa6a0350b87633647a2a336867a0f3636ef10368e21cd3676a57b38880f1136e0511536a705f53434d94e3f6acb183e133c7f3546c161355915553f54d5c03dcd9224360000000081d55c3faa56813b00000000505d5c365bcc423fadc08238162d8836551e1236ac88143f21dd1038bdc121362eebb535d582d23e46c8d337170c55350b815e35e6c1683e4ba1a93580f3993540dce6351ef29f3dfc3332361921063682c317365c17d33c214d4436df7212360deb6a366170433b417691361e6e4a36c9229a36a0281339ad23bd36fe037b364c3f8336a9772938414987368e3d3636e0268535b7a5f935f051e935f125b835bff1ad361040cd36f060b8360bbda2360b56f436fccff4363e6bde3698a3cf3600000000b01b263500000000000000003ea27c36971d0c38c8fb54369c836136ef29c83558012b364dd7e33595e6c43504042f367a49283faff6a03ed233463695724c3634272e3f79397e3e81f67e3642236c36bcef303fa9d9013ea2895936ad77843593c02d3fad2bd43c0242ad3520b79d36bc500b3f8f9322378fcfa636a508f036a52fc63eb598e836e02eda3600000000fd7d6a3ef0f1433400000000da0340363765a83d85646b36f5953b367b2282357c6be53c647703363d8cb935a9424835af847f3b6eb3a8350000000087b8c2354f59a6399abb053690605235d5d13335c16a0d3864668234fd22bf321606ca340a09fe367c899b3400000000b9d90a36ef12cd37e1e605366e84fa35835d1235022b443604edb1330000000097e52935ac8c8a37e2804734035feb32e8c63436dcce3b38c3208a352eeb8835a8b57c37f569283817273335eb3d063400000000d426fb3e1be7f43e79956833888260351366053fec67ca3ed4665935cd919033fd76053fcd1c8c3e0000000000000000c7c8053f10aa063e00000000af5101365f64da3ece0e973dbc6af935495a2b34708fb13e8f85883500000000aefec03329a1523e0e182e352f02a5325a26f9356a9eab3d88d9f2352cc57435290697352525e83c1be0a23533523134c599a335b5898a3bd5caba3523af0935a53c4f36dbfc893a4a9d503650639035fb675d34888daf370000000000000000b6b5e63687390a39f538f736664cdf368892b136b80cdd382f40b63617bf8836886bf435cfbe0f38d6239b3547cf253580df7d3623bea537e9bb8136e5fc603699a5de36316745379c628a36285471369de1bd36d3c6eb36c0f14b36785e4e36ab6578357912a83e022c243f398014351b5b20366805ba3e28020e3f72c9ad3500000000be6bb83ee3e0d23e000000000e7ed736e1deb43ea992853ef90adf367a81a736d329ae3e0014f03d40559836c5bff73596a2973e429fd838048b8e35fb2c6b3646a03b3e11608a36d83a6536b5aab536e2af943dbd12b836072961361c909c36ef90d83c9d6e7836afbc403692dc32366b8ea13cfc3217360e33913552ca31364facd439ddecde350000000002f1c635b6ece3389ec76435000000007d12183521063839b707a835b7a44435e4c1353656fa57383bf82936ac1da9353fdc8e36b72bf7385d6e8036f9ea313600000000000000000000000000000000b00054360054713661d8de35f5d2c33593edaa3669229a3522a218358ccecd34afe3023607c81e3e64e74c3f7dca6d3505690036fe47533e5862373f00000000345e98357c1f433e7e54153f091e4834ae1d2d35e54f453ea369cb3eee2421354e381e3692d7303efdf07d3e2e56b4351a888a364eb2363e6e2a7c3dce434e3600000000efc7093e0000000000000000f74c4236c2b3983dcc9c2436cd8a8435313b7b3539730b3d86071735da46ec34c5175036445d773a41323736fe34833565342d356bb13d38ecd00f35f944f134000000008673fb370000000000000000e8f3da354c54cb3713c74335000000006df80e36d8bbd637ee260f365965ed350000000009190e3800000000000000004cdcb635037e173842e9b335bcda7135c2f8fb35d0d1993760d3fd357f39e535073a6834f1667934cc5e6f3405b384344c6730363177213d00ce713ff55ec4358fc80d35e772863dd75e5a3f149100350000000094b08a3d0e3b3b3f00000000acb2ad356cc2403dc0020e3f000000008d5c0336cf1cb83c61abc53e673df6350000000004f4b43a50485b3e0000000080cf9d35ba35793bf313ae3cf14589357b5ded354bfb903c96eb0a365fd9de3575688f347d0d323b79b33c34882a7734000000000000000000000000000000006921c936ea2e183840f4ab3694f6423600000000000000003408dc3300000000cee9cf36b97ac338dc009736fedf7a36b226d036ef171a38ae96c93698939a36a0378633d26f273718ac81349d9ba033c6beac3660d4b3364edba3368aae70366b4b4c369ecb1d3842d87836938d30360000000000000000000000000000000000000000000000000000803f00000000f5cfc6360a8e1f386b65763f81e16b360000000000000000ec355a3fcc633a33c419c636a0e50a39180e2c3fb1f77f3654c8cf36b0672e3813c2fb3e8acaae36000000002e90d9365a57a03e66bc4c342413a736f028ae3620b8093e10c48736e3004036a89ef137e9e1613acdfc43360000000000000000000000000000000000000000000000000000000000000000259e0e3844ba8637d45d3c34bcce2b34ce69f036839d7a341d275d342db74f34f385b2371631c0357d80a834fcd1a43454dba2377d413a37cc7e5a35ed4a2b352398c237961c05384ffb52352c0eff34771bb337ea01a438e9a16236098f65367d6c7735666b13381237aa3559a4b03500000000000000000000000000000000000000000000803f0000000000000000be70b93789157c3f4c784334e6dd3134971935367487523f3156673491635634a59bbc36da522c3f340fda340919a7347c5b9c368d5d053fcbbc8535d1904435ab476b359d15bb3e24a48c3558e22b35da4b4a36a5cc533e38e6b5377db964362b9b0035b0057d3d238dc9356aadae35000000000000000000000000000000003b0587348f74963ccc2c203598866035fdca79330c673339c15de0332cce0634d12d2035d2bd29377bee0a3394930e33cbc09a3408433e377b79a9341e48af3433919534fb6f013724a0a834f2b2b03482e12d32598b5337c8e03d32a94f4432dbbb57351501043c70b85e35adb6793400000000aabcf23c000000001de51b3179c0e130b536663cfa87e433008602348aa57d34c066653fd005723dbf7c1735f7b04433dd22753fcdafcc364475f73312b90033e3c8703f07e6d735901c0d33f50c96342f11443f32426635a97cac34b1349134b698183f0876a4347fbaac3417142a32577add3eb18e3e32e6ab4232af784a3423f57f3e07177536c7ae7434000000003cdba13d0000000000000000e4d1b5308b47203d99de373186844933c9d08032b1f2cf3c211d3236a0155334ce4b9235ea2da13b72724b365fbb913548d280350056103c379fee353934e934b31917331e9e4a3be3191f334fb21f33c5b29136793bf43b44f3953661d53d3696335e327712dc3ac3069b31e985bf30a35f2b33637a6c3c7ffc3133262739338d2865368bd7413c89905e363b40d3353c3d2d3794fca83beb557e33ea02f433e6c77b329b273f3febc03d3e0b77263478e0de336b014c3fcb82023e76dfe135642446336af14f3f59b82e3d04d1623578ae14339d76383f41984638ad311e331733623635e70e3f2c2702379eff6236174b66325388d73e0c120032286b46319d842833b465823e418243353d7e353307ec04362688003e9b498f36e895143655e87e31fb9a353d9c83c036bdaabe33a924b0317fc4f83c48f20f350eabf3345ce3a136a5bfb03c3694d0361d387836c4889033b20b733ab97e3a3587cd9d339f2b3a361615973ce368163439c81a3473e2ef36b1d0bb3cf7f8e836b90da33694af9735f7c83e3be9c3ba345a0020334af1e336a1a9c737c2e40236f2b71d3529009b365fc5a838f7295a36150884357f7000360d902638066ca635bcb3a7345fbe3031f70b1b3f05aba13ef567f13426cb5136dc7b233fea726c3e0daa9936001f8e3397af2c3f29d1033eb3d69b3305522f3398db1e3fb9a2653d4dce1434f05bc636e499003fb1656d387fb0b936278dba3460d9ca3ee6c3b535c5cb2333e109b935317b843efb83bb367bcf9a35e195563621620f3e67f99a367c5fe13532cc8935cdf6403d65b7fd353d143f355c8a43331dc8df3cfc51643337396d33000000006741b43c000000000000000019ca88337ecf9c3cba897933db1a5b337bd9e8333d4e7d3cb1d9fc338ef20134e1966d345e489b3cb9b47f3416b9413417adf433b1767b3c2b99e433ba9dd433327d80338873cd3895c98c3307368e330000000040c28438000000000000000058f3d93366f2b336016306345776243326c63c33a89df13e4ddde83e63f3653300000000246efb3ecbe3b93e000000000c968b33bda5013f2206843ee1cd67337c4de433db4cfd3e972d103e04b3fe33a66943349504c33e2415ce3d9d854234c99cfa33e122ab3e74381d34f6d2db3320b37433b5ce5e3e44838b33813c8d33000000001286ff3d0000000000000000a3fe6033b8c73e3d15416d349cba3033147cde35534fcd3ca2a7b335c9217632282e8a36fe47de3cd12e8636b6f0ac34256a533691f0733c8f6e2c36a63136336aef4b35f343483b19862935deda5c331425fa3668a38f3cb509e236e4bb7136014f1337d3885b3c3e7e763360301333bd10d63523070039f5ba8f33600c88333ba3dc360d125238b453833688d747355fb01f370c2a6f38b89f223151efdc305c169635f09ea93ee7e8183f4c007c32e6583636f81eb13efad4f93e1d0dd035e9b8e6357151b63e49ccbd3ee24b63330908ea3359c5b83e5588733e3eac5233ba84d73665a2a53e1674093e77ac9c364f5b0434b5008b3e7082a93cf6d21f3359279a33885f493effeb663587e68a33c2cebc36543ee03d1252c236171bf535bf5ede345631483dfdc4b431926b09319a7f9f335e72c73cebdfd3335920773170a074369102c33c8a9b2736e3351a356a342b3350879d3cb31729330a442233342ad03141243d3b8250573264e98a32eecd9936b626d43a5cb27c36ad5ea735f2b01a332860413c72231633ba5e103340110536f45a2539e6f59434d5394e33ce649d36cf9396380d4fdf334484d33378f9933692f5b8369ceb7c324e457132529c093333553f3ec4633d3fc5ae7b31ad774336ea30503e48ef223f8b2b5a355d592b3368f04b3e426f033f4f6e2533542bca3133c4573e8e96ba3ea5a36532218485367bd74e3e2b4a6d3e390d1936a1a51c33b8333d3ecbb1a43d07be12336e70b035c1ea0b3e3bf694365e75443394811e36508d923da752fe358785d933ecba8535d796303d969881329a7d76322b4a26310625563bbf84bd305e8b0e3000000000fe8c563b00000000000000008824f935cb8e3e3cd5d54b34cbf13434d1bc3c32737097397be92a3293932232fa43a4347c9e9c3a136a91340aac8534df8ea6348f79f33bc3da9634a2498b34eeeeb5348801543a5e780133f58cfa324a04c83337803e374d675c33b435cf32592df7359116d635dc4a8034ee3e5934ae653a31189f673dd52d633fef477d3000000000409cb63dc9b14c3f000000001ed60d35bb44a43d069d263f2d844034896340325b99923dfe10fe3ee05a2732ac0ea934ab745f3d5886b23e15d58b34a8cca934d0730c3d3f6b453ee22d9134dedd0b3336c6d33c0aec073d7a1bff326235e13364642e3d3ff387337a891933d483f234500fdd3c63088a34dcb46b34000000000000000000000000000000004f55ab351fa39b384ab219352dce7733240a3f3762efe538dccc4936d1490a36eb417e35650a7139b2d07935bdcd35344280793556cb34382dc7d136731c4e35a3f1c134240b0938136443378dc1b435b0486334d9243937c2bca2371ee0cf34cc81433491682e38bbce0438bda122350000000000000000000000000000000000000000000000000000803f0000000066eba635e9fe51384742703ff534a2335bad6336b658d838120b4b3fe65a1e368fa95335fb0340385878223f4e1191342eea56355556b3371562f53e4f7b883587c8a634cfc7d1369495a73ee256e8352f6e5e342d497d342a1f363e14b2c134141f3934b57ea23705797f3cb36c17350000000000000000000000000000000000000000000000000000000000000000696a8035bd246e35bccd8e35c5eac335fc008435988faf35af38cc35adebaa3549420b3501240f352cbe033524161b35392e823559e98835e4cf90353b94a6359f0b9d35967cf1353966ee35d58576351981ea34d168d734da488c3403fbba340727ab34a413b83414bda7345d25f23400000000000000000000000000000000000000000000803f000000000000000066a83d35afa27b3f0c5bb7353fe698351e988b35f5b65d3f4e67dc356a11b035b5eb183537c42f3f0d5ead3444fad134a3e886359a8cfc3e35c0aa35aa8a65355b1b98350692993eee774a387de5a6355216e834fecc093ecf99f63383a1c63332efa834c077223d9ab03f34144a683400000000000000000000000000000000b47dd134fd3fce34ccd84f34d82f4b33a5f096343f0379348df28234002b4134217d0c35b87b1535721631358c426b3584e63c32c2d14a32678a4632ca9f5a3287160834e972e13381e53634369b1034e1aa2933a7ae96328f20a9330c4fb6331ad07f32cbb77c32bb4870323924893200000000d11ac435c9d9f93244c40b30a968ca32bb908e328df9ab33a589ad33c4b723341aa37b3f4946d43c5bfd8b337f025e341dad7d3fafa7f73af3b929348426a634c5e4663f99917338bbfd14357bd3763253823c3ffaef87373c302a32fcec6434fd6a0e3f0e504238970cee33117dfa3389dfbe3e69a65e384b935e3382fe9232e72f383e260ece3ae6955432000000006cb19c3d46b38c38000000002e9b2533624910378652a235eaeaa43374be6c33839c3738ed0a73335d806c33cb85bc35f27a4636bdeb15361e6fe03551e426355d8188347be02135e2d3b5342d1e9231eb43ae31cda9b031efd9b53149129c355847303553de93352faca5351386b134fd77ab34aadf8b34fc6b983400000000eee883369fa2ee3600000000675fa1355acc0235ac19ff3467140b35e61e2d3527ab0b356fca4135e16d5335702e23331f315b3f9a3f193ed5043d33f0c6bf34070f5a3f0a7ce53df2ad9b35fd428934e51d5b3fb3ecbf3c638b0d358c506531d56b383f6b78ca3a930bbf311d061c34ac3f0b3f6301b43ac8c6793585e8a534ab8eb73eb1dbb13a893a843400000000f54e343eb083273b00000000f63bd13447a61a3d99dd51388522b834a828ef3471a59d39928216373cdff23436c6ee34b4da1335f86cf5345643c734cc687134b909a635c5f541354f12f7348bf78d3161d80835ad8ce33674c6b9314bd07b3459f2a334e1c98f3470172c3477797135bd549b351d3e9f355fb751352263cc3144d5c232000000000000000030c2c834704439377ecab1367cd2773469b6e235130fb6379d401c374bd181350f25333410d2033867a3f53700d5273424efc934c2e8313ff7d1a03e4275c73465a51034942a343f18b88a3e7922f6334a6db6317da3323fa2dd1d3ee045c4318e385f34fa05243f9902863df4253b34446f8134a926023fd1bab53bfe13b03400000000ed0ab03e8950243b000000009b4db5349d76333eaac85e3ac5ba90340f114135dbec153d0ec9053999a71335544a0734bf27be3aaea3b8389d1105348e8ce8320fec0333ca769e323283c332b053be328bb32838000000007a74a530280a9a32f520b732399f063213d13c32000000000000000000000000000000002539be33da65e53371a00f34cd89c23300000000000000000000000000000000bdc200320edc8632c6c5e6321b8e0c3300000000a7882a38f1c5a035def0ec32a74f9c32e58491328a621a33fe431d33108af3328b8eff3eea6e023f5d12d3326f7da032050c073fa20ee53e76b3a331642ac132a1c5053f0125a83eafdb9b31000000004b49003f802a493e00000000c0b10a342f77d23eab09c63d6ef7033400000000af989f3e80ce4e3b00000000e6ed89326ca0223e598c603a1f9be7322e20ee30ee891d3da3a2033919bbc43211eca832f617c3375c55e4328695143354331735d5f0b23822172634c1b1f8337d13c73507249037c0baa035a91b0235ab674e342d086e345a1e843497a47e342af0d03237c729339025323200000000c43a9a3569639c3544b266357f9824357ce03534be4841347c232f34e7154734cd17ab31cae08037a8a98d37c50dbe318df496358da736358c413f347514813449e5f8340dbee134fbc3bb341818bb3472e25034a0a19f3eaa11323f06b7cb3327c1c734aed6b33ed0ee1e3f08d29034bbea9634c7b0ac3e44dbfd3e322a543400000000e1a9a63ed28eac3e00000000cf52c433694e9e3e63fa3f3e245145340c7f4b3448d5813e2551523d627c203481ffc631ae08203e48b5b13a251cad31dad75c348768043d4fb24e37f59b26331c62d534064bfe39c419ca344e77b3341a13a63557c4cb35b7231635aa92d03430496135430acf35290506354bc09d3400000000000000000000000000000000b757c734d13102350537e23467c18c34fca4ab35cf12bf350840643596e9fe34f770b23499c00f34f79261310be65631f30a8d352162f536ea841f365b466534f1436336cf304c363ce3ce3511587735fbb027335a792e3331121e33abad0833dd2c55352d69193e01245b3fe396d2340f92f9340ac4333e2c314b3f2b769e3400000000cae7283eaaf92a3f000000000909ad34c80b253e083cfa3e75ad9b34e8a78535a7fd153ebca7a23e565ec4334564c733d7b5193e9c650e3e97797331e6128a35b394ff3d7ae7843baaee8834a492dc35b5d7383db079ae37ba0cde3407b65833bd5d193a5594513300ecbc3227c04633a6287633d4b4f032e8811f3300000000175c2b350000000000000000b979453240cf8f3268db8332dfb85e3229a0bb31fcf4ae330f69b4338c5be533cf25c233075d5934d57c4e346c763e34432a1632e10f6d3257366132d4ef363269f7a43564e58935deaa293623a8cc34a6d89e3540d3a5370322a2379dff9134483dce349878b334f17b9d3462699a3446b17f334b26093d57d2783f69ac4b339629782e5e771d3d226c643f000000004a634932e3fadf3c35d54c3f73577b3235169b33dc5ef13baef7203ff1cd0d348ce62534f665dd3b1a89e53e2d1c8334c82f3032f54a683bc8f6883e42e752323d809d357f6f773b8249d53d8eecc4346ca58634e414373c3ff87e39e303b63433f1e6333a9b3134ac4d8c34b8fe813400000000000000000000000000000000cd9cb233315e5934fbe56734e8ab253173b62034fc5c6c34d77ab234996439346002de35596ea6353ab0f434bb70663576d2ca35bd6287358a7b8535b2066435d95a00357eca0235ba770e359f3ff034496dd035317dba35cbceac35583992351e6ff7352d6dce353e659b35174787350000000000000000000000000000000000000000000000000000803f00000000e9aa6134d912253530e8773f36125034d0301f348058b834a3ed5f3fcad99b3470fec235748f9a383eca353f02de0935f54b68354336d1353dbd043f78028835881ccc34874719351a07a73e4ddd0935deedc535ee6dd935098c123e7cbb65353a668d35394b07365f4de23cb95b503500000000000000000000000000000000000000000000000000000000000000005156ce34ec6cd43436068134e4ad6c345621bd35c10974341d29913415ea8c34737fc734d691603373b7903335997633e4b7f1351dff8335998eca34a4014435094ada3444ce88346bde7534378c0c34c8b3c835ab6367352b174735a8309735ceaecc3580000a36d05e6335ed3e043600000000000000000000000000000000000000000000803f00000000000000006f87913414ae7f3f57335f345cc258344ebc973580e35a3f071e83340b309d346e9576343d7d2c3f7be68133db8595331890b0359208fd3e32432535b7efcc34426a35345c799f3e02575d348a4b3934ee60a635a2e70e3ed84a183543793f35a53bbc35e868573d40eaf73404bca33500000000000000000000000000000000b76eb33436e4823a42ae9134546ac3343fc90535e57b0a35966fc4341f51113548658035eaf621352f87463534ed6535bae524366d8e0636e5580c36460c3836514d8234f93dcd33320c8f341907f334e457563430064b34c94ae9343b1624356672bc354d97b0359a1eb5350580e13514bb5e33699a5b33920f83338f8391331a754c34e5a00a34ad3501342ad31734f90d99349666723f9089993c2cdcae340fb8f73484557a3ff37d0635caf3eb34fb811f351fdd7c3f11224d35263a5435dc81e535b984533fea6b02362e611f36cb8c833473c7283f753843344019d23406aa92343713ee3ef0e49f3400771735272593355b56833eb4239d35d236d7358a6e56336f49173e29536c33b4194d3300ea2234ecff463d7fa32734bb361134d74f8033d1c6ae3c3db5b233c1cdb833470d7135cc767a3921e1f0351033b7358200a234f10fb434b11acd346a4fa5347c57643339956534d6993d34d53a613573458433c4b96233f64ba333eb13b334ab972034f6b4323493ad4c3464672834f7b297338ce43f35c17c81334ddfdb33c1e6b3337b51a0331591d933994ae333989a3534f4860e3791aa1e34abae043416c45b339fda473ffbca053eb52d96333b708d33568d503f48b09c3d210bb735017b8c3446bf593fda52ad3538979434ebad97339aaa5b3fe75608359bab25355501823336f2353f95baf533cb413e33dcfe09340633073f2a1b89347b6216345873b733bad4ad3ed91c85336fdd1a330797ae33cc51263edbd30c3498778f337e86d23329fc703d264b80347257e633d9ab87346dcefb3c18f77b3400ba5334e33ef0330031bb3b4701e933ebed0f342f158633291913399a7dec3305d39033c018c8340d9ec73422ffaa3421ffbb347c980836e6eddb355cc71f35f753c6346cd57e33f1186d3386818e33f1af8533a154c434bc15c234f9cda8340afebb3483342136df36e93533bf0c34726e103595151933e89f9b3796d8da325356b63214dc873429ff1d3f851d803ecf740234a22b1c345146223fa97a223e982db63313358c33cf77283f59104b3d2b713d33825dea345d442e3f4131ad348c4b6634378dc235b7692e3f8da30136cc459634e3ee6d3386fd073faf04c933e1405d3321ebe334ffdcbb3ebf4baa34c3856434bb657c35e4675f3eaa77893270cd1f339dba07333825903d18591e330d0528323eb1a534c248963d754c91340d0e95349b68013436e19a3c2469b033bf5952343b6f3e352fc74a3a44768535390cde34e6cee333b1fe9339a8c4b634e23ef7346193c6343276c93487f3dd3489db1a35157c6434a1061c334ee50034a17b88342b6e7335a97b2c3525b11035076891352b425d34f1acdf33bbc9783491d892348c88ba344f329f34a1e49a347453a034b41186348a4cd83e3803d23e078c913478ef0934c67eed3e3e18993ee7080d3480c9c5345838f63efe58363e856d2e3502deaf338445fc3efb84c43cc3dccb345b01d8343c08013f8d414935444a01356946403404e6fb3e6f88fa33a9ff5134570234357ceeb33e394e0435eefe6d3534262f3474726a3e604f4534004d9834d6caa1340881da3db793ae341a129f34c19a8a327477973d7ae24933415a03332f55a734fd13843cf10f82358b8b7e34145cd0341d6bf23a381b0a35688cc83439ba4d335a22023a3ba03a331fac5d3337a3a535a37d2239ed880836f5f71d35cf8bd7344112f9343a3c0d35a4d0d93436119534ce10633552c5c132a133143445c22b348542f4330f1126347a8f17344f909d34d2d291344be1a534e40a83340000000027a4883ec5ed183f108dec32c91dcf32fcc0a03e77c0ed3e59e25834ab85b334f4c7a33edd8ba43ef3a2ba34ddd6773375209b3e8ced323eb2d7da32e5fe993414c2a43eafeacc3bc8962835e033b934e070a73e97116135ef39c634c8277133a2319a3ecd5d05330871ff3145a619341c105a3e496e813487cdc433bfd9583485b1e63db714f234429c6834f2a02d3480613b3d4f01f6332a1bbc33fb5bb633656f9f3c8a6e8f33c7dcae331235b4332dcb903a05a8d9337712af33f54310346c2a9c39d821023410a70234373a8f3357e32a391a6780338ba18d3320d213355d9891397f65bf33c88c973320ca2a35bfd79134602b823486e2ab34cbec3636c3eb0236110b533540d79035f786a7331ed2823393c4b833de0a9233e331023426ba123e1383423f15cc5d33b03dda335baa323ec632273f54144d336a9eaa3393e3273efd49013f1e729633a02d2b3466711e3e2320a63e485fa6336dc6b73364330b3e47ae253ed3e104330a3edc3411a2163edbebac3aa6447133c47cd034443a203e4d14b93463cf263450c7e935b6f8ef3d7bb987359f9820359df19b338ddc9b3dc76be63337756c33c5942b343ddec63be0fe223495478333567b81333daefc3901f22833adb36a334676b03583f8ea3841439235ece22235e9c7c734591d803905984534ece9e634c69e45344ae78e39d5506634c22f9a3481c5123654a96136f2f11b360971cf35cae977350e099f354e0d5a35a0b87c352e750d35c91b073578941b35e32c2435a20fc33435f4b9342c7ab2343059a434f150d9330747e63c77206c3fc5a5d5333fc58833528e5e3da5d74d3f14c15b33f4cf9435cf04633d6025323f468626355044df34f2bac53c6390043faa6aa3346c7a5034b3be1a3b128cb03e22a15f34fdbbef3522cf95392399383e9b28ef35b2dc3635d48e263924e7843c50a752353b5be7349f27da3c984a183503d322351268ab34fbeb1e3de3e4c2349fcea93400000000000000000000000000000000d92473354fc7343698e18235295b5e3482ff8735dc508435486c30350672843257e5673490c66235192d3834aebf57345ab757350dab4c36089510354430aa34c5db94333c982733c6947e32ee41f03293f7843422eda43513c69834f2b3be341fa4a634f7db0b354b8fca34dd10ab340000000000000000000000000000000000000000000000000000803f00000000c0770035223532362bd8733f868ac734eaa5d834b4c39435ddbf5d3fd7927433b18a1f344b1ad635d8cc313f0c286434cc66443434ed7236cb92033fc7f0c03493a9a33305dee23344b5aa3e4a7310330f5c86349fc87135e92f1b3e7e99bd3468882d340c620335a08ffd3b450eb8340000000000000000000000000000000000000000000000000000000000000000911396387de0df330000000000000000b686a23941c84e35633e08357e490c3529cb8938125e0735c863dd3469e90735e829b5388aa8233705361d320000000064e043389243bc37f38a11352efa8035b95a7238c05fa5388832cb3429c80d35e3269a38370e6a38035723338544223300000000000000000000000000000000000000000000803f000000000000000087c1f2362ebe7b3fa499ff320000000097d61c38c018583f05e61435c2c30f35a7f79637f6d1273f1bfabe34c660123562e645347fa2013fc8d11133a89622335fbb4f35fe89b33eeef30235c856423549b51434eb8b323e33e88437e12215351f688f332d0dac3d58a332332c221633000000000000000000000000000000009bb4d3342099883d8bda0d3555b1fb341b740235fea9783aa0061735b24e0e35d517cd3418210a37273147342543823497923a38650083371895e833f0fd753415d12438393b7f373a0cb934833aa734a8e80a38e148de37d5e186338c347f34ec174d37fef22d388e80de3236e3f03336902438f38ec738c4df2133ba8658338d720238d03df738e7be25340110b03478e1bc342e425b3f1f843f3927bbf8343f30dd34fb76743fe7658e378b7b14358dbcc834517c803f7c177d344e047634033c58321cc9673f8f84db3339be4b34fa769834d9583c3f8226c0348065ca343de3aa34e25b0d3fa265ba3313d63c341dbc872f846ab23e4fbeaf338928cc3300000000f06b463ea7216537b0d3953309e5763482d2d73d2ddd2134d98384349a6a6b343933ce3de9904f3425994734a45d8d34d3bac93dfc7e3435ccd9063500000000ab4a763c23718034608ebf32a671d235a18209392f44cd35f4f3a2357b1eb7378490803854150b35304fb934a21af937c4c18538b47349352d5f31354fa84e3717045b38d30a9335a7ab59355bde0638be77bb381856ce334f23f133a8787038ac8ebc39000000000000000019077434f203293fd4eeb33de622623477efec32026a333f5e373c3c2b7c19350000000022a0503ffe348a378300d2339601ca3534be663f42396837f9acac35c53025355a775d3f191c493510eacb341b826734029e373fd92743356435323552b345353fd9023fe91f93351a116c359e4dd933e6fdac3e0f6b01355c1be633000000004a541a3e1150ba360000000056afe13451403c3e08d9dd342bd53933a1951735fa450a3eaf4d0b352bc757345fe30935998f953d8acdef3476fcd034645ead3505b4e5392738923514c92a35c44125352ee09e38ca3aed3428a0ca3391daa338128efc38e4dd6635920795350e18eb37195d2e38d8513a3400000000405dbd378571aa38c286353470ceea33c33c4134b1ae1939be7582346866a134b572b2340295d93e3bf2083e8de0333438fd4d347e5aeb3e8227043d343bc234ef4fcf346d970a3f940697386701f834e4b38b3595bc263f2ad4b437c7a57735c5f21235333d3c3f85953835759b9334abef1a3515c6343fdcc37e35156087354d42e7327a12133fe588b6346fa5473396caf8344440e23e8ad7b234110d1e34cd3c5f3427b4883ebc71643486298234c858b9341a734c3ee0ace734b47ebf34c75a5f34e9fd403e00eb04349385a1337db3ed34f79b033e18577d3468934e349c8c26346646403dd796a83412e4903475c7973417973f3ac155af34e5f5b73494b79c34a3884d38ae88053469a47d340d5ec437f72332388f03fe348743db34c90f79378b8f1e385ca3513439473934f79e16372e76ff371ee08d34a7fc073558aaad34ce43823e2433863e0cdbce34a0565234cff3823ef071f23d8d30b533bbd2f534612fa73edd041c3d54b76d342a6f1d344ff2c83ef7c11238c9b99834e852983423bc003f2cee743721eabe3484ea9934da78113f700c273415995c34894b78340ca0033f992305352e5eec342b9dd3331945e43e9eb98434b5b34e34b481d2341fbd963e6b5d823426e6d134cad55a343a25423e68d29f33000000001f16a1346fd8413ebc37d03428078f34d95f443425f4173e4d0b3d34000000003abc6235dc83ff3d5ad63635dcf3b734e619f53404aebd3c372ede347b9e563488b8a035bb5b99391f119835d42f4d35d93234379278f438797f0935dfba9334e654b9379c0946381c7b2d34191e0734df09673739a6fa378db59534e6d56834001b7834d8f0003edfadda3e740d623364d5d033fed6ea3dca1e873ebc37d2340000000085490f3e6ec6143e82ae46333ce87535f67d293e9996243c5bedd83411c87d348b9a7e3ef7144838cddac4349de4753583f3b53ea7c8bc35e76d74356a0bfd342fb2c93e0fd1163572d3b934917bc7342095c23ee9bf3e35c0081434fbbc9c346a61883ed1c2f234a83c853400000000ce19ee3d0000000000000000c90db3341c90fb3d708c3534dc4c89335d3e9b35b353cb3dc0c952355205e33402a54035e744db3d89885334c8761b344cef3c35213bbe3d30d86235bad1013541f7d1350af36e3bb7a5c835474eb03537677434e2fb3e390000000000000000a0e27738c3f5c53857652c33a4a4cf328c7e4c38b18d0339928f7a34e6f77a3400000000ef3a963df7d62a3f000000003334e33368c5663de144fb3ec84ee233d4ec82358959443d7e84b23e672b19357dcb313523ea723cb5fa2b3ef0ee203443841e3569bfe43c5cc09b3c311f2035dda5be351cfdcd3df72e89383c16c035ed4ee8339298343ed0c3603400000000b1eb3c35d358493eec0bb8345a83ce32ab3fa9346524233e3e047e3457aa6a34d0c450347f51613d5d998534d1213d3400000000b25fb23d0000000000000000f1d2b7316d1d973d3ef1102f000000001c4ef933ab44343d56ee9e34fb561e34159d9e3479b7a33a98228f34e69c5034a863b833bde978394380c5330000000030417d340130f339b2c1d134e44b9134c9341d351040963898a3d534b61abd34da3d0f35f279ad381cf29a3447c80035b340503458a01c39f0ad583f9d5b6134d44a2c33edcffd38146d393f00000000bd838e3337226038e8bb153f00000000cf9c12345c2c5f38f15ed23e19304834a252b2341ecffe377fc3893ee0c968342dc20434d1761538c99fca3d00000000ffbc6834ca368038dc45a53857579d34bd5b0f353b97443d1dcc0a3582ebb634ecd3fb34b148ad3d7a0a9d34a676d2340000000000000000000000000000000073702b339c510f39804b46338fe8b532763b8436385f113c4e6b80347a68f3329438f534488b1139d7903535f9eb8534000000002d3b033988fcb536f85b8a3343c9ba340cdb9038609ec1370c081434813a16358e5bbb3881ab87385752d3348596ef32e314c138d6cbd73792c995330000000000000000000000000000000000000000000000000000803f00000000d2f71a33cf497538abae6b3f846e06334aa4b734e759b3387931523fbadef433fe181e352223d737cacb273f17acd934000000003422553717daff3ee93e28346547c53475baba34033ab33e2bbea1345dd511350e6d2935fba0253e6ed50a3500000000072cfe33c76cb23c7a510a3400000000000000000000000000000000000000000000000000000000000000003f7dac376bdff236d496ee36ad144337d4bdb637aa639d36849ffc36f9e791373b7f7a3793800b36dc290f36acdf38379d0533391f4546375d6a553772c1fa375ce50438c19d043782dc26377a66f037a1128837a749e836f44ccd3675fd74379b918637a2883337275a2b3771325b3700000000000000000000000000000000000000000000803f00000000000000007b4c2b37ecf37f3f47f0823703040a37552789372a53583f4f988d37874a5837f9ae63376c702d3f73dc4b371e988136d5b309384e66013ff135f737bc4aa537d1dbec37a792ab3e370bc7370eea66370f355e37806b2c3ec19150371ff313371a032737f07a5e3869cb2437efa136370000000000000000000000000000000012387237725d7d37f40526374ff475370b6845379fa73b36509c3b3660552a3717e987377b8ba6369edcff36884575377e7cba37900d8d35c9d4913574adb0377c57ea3780012e373efb4b37feccd7372fe19337b1be6a369c13a536845f863790f27f373fd90d3777611437fa228537a5836337f2a851370e3c16376f268d37e5325a378a0f8037a9a06c37cf9596376049af3628f57f3fdd0f533875112737cc0edd3528f77f3f59ad1438be3049364b6d84362633593f8f6a8639204b213708f3dc35fba52f3feaa94238b55c7f3661ba89374741013f711e2b38b599883719619c364e1dac3e81be04383105ef361c7ecc3688fd2c3e09d8a137cf1e133745b213345dba0a3c91d58e3797900237630fbc36e5e5aa37902d4f371e9e4837dd8d9b3788500f38b1e0663763794c3780fca1376c679037f0479b365387d63611badb37eafcbc366013bc367a59c1367cf66c3719de8a364e6e8b367bb10c37427ba0372f800b37bbe9ec36f6157737054aa9372b53953695ab9636b2fa56378c78df3769f2b837a2f19c37370fd43758cb5c3796695237d775fe3617b44f370378763745c25e37ddfdca36137a42374131553695bd573fd3dc203e98c3933698338f36f153583fb7ee1d3e45269936c002b536d9c6353f1e6f133e6c72bb3683488736d5f2173f7bd0bd3df4178a36d7277f36bed2de3e0869813d2a1dd736ac9256365ed99a3eb803c43ba3089636fc3e47379e7f263e35713438a9d15d371a79b3366276043cd1b67a370696b5368d999836e0c92e38e2cc253778479d3684aac837477c073885f389376aac4437d4eeda370a1cde37f9b6ea36f345f336883d93376c6f1e372d672c365be5af36a55c7537017d153705d09a364a950d377a1e1338920b96370322003768db75372c1b9e3740b66637adf31e378c3975378a52a637059f9137253141372e4c8437bffd0638cf74e43761718f379755a33771a4d637104bcb37370998373114b0379b591d36361c2d3fb4a1a53e2b541f36ea8fca36e7cd2e3f9843a23eb3e0c636354227362545183f6ee1893e286c293615f68f361f42f73ecfea4d3edd992036b6e1fd365000bc3ec840073e233df9369ed3b636da657a3e07dd8d3d8e75a3369d0af2363658083ee873133bccc3f5367ae75837ffb4633b1ff41138acff3e37228e8e3758a21338938aaf37150f5037e4e5fc37eb712538dc12a1379e9e1537d1f59337b0299d372b6a4936a8c0483607e4fa37dbc38c379ed1353658848a363f052a38ac84ee37ffceba36d8a55937b85a2738c08004383c399337db2dbd37ce712b38fa000538c1998237416ec437523efc378b70ac37661a143783a95b37e7b3a837936395378078f7364f302637ad1806382ecaf637abf7b13793aac237849654365cf1013f68fbfb3e1af2b835747b3c36df9b043ff4aef63eda292b3618fc6036c738e53ed61ecf3e9fe430368cfa6437697bbc3eaeaea13e56baa635139abd3782f2893ece096c3ea238233729d2a2377b1d3d3ef554063ee76fb136c2540e37a6ccc93d8e38493dd377a736a0efec367d083b386082c93715d04f36d67acf37ea952f38d3bbde3762633837cdb4d63767b908388fcd2d376bcfcc362b4de4375d7cea3792ce1b37ffd61c371ca2be377a4e6c37aea31936dbce1c36cc41d6371d3a5837851719363ed03836ac2b2638c4e4b737fb63ed3657b90237ff8a813797183f3734a2ae360390043784a0d237c4db87372894b936f7eb183734950238df79e137197e6e3730a98837ce39d237b258bd373c9474372b6b8837e226e736482cae3e28dc283f485f8f36e85b2837dceab33e9a1a253f00a3f336e983bc368c23a23edc3b0c3f9cef143658cbee36ce46833e96f8db3ee5931336c4f24337a363383ec818a43ea283e03631be17376c19fa3dca64463e37601d367a070f379f3e643de7fba33d334a2c3645b89737ddc2543815db193852cfe43633fbae37bb610938a9bcaf377d9392366602b8374a620e3817fe843673806f36fbb18337e39c4737fc1aa536a133a236aa5cfe379573b837264e053658d90d3655ce0738e2391b372b952c3649634a36f78af73737a058372889723678667236b0bab03711a658372bfc8436f9158b36d6622538e24cc137b23bbd36d4f1be369d00f637074bc437aa16a136910b9f361fcedf37e1f1963700150d37faad1737095f9236cd7c323e0555533fe65b363635adae3606ff413ebe664d3fec479736ed806f37676c363eaeb7283fbc9fee3599ec9e36fc55163e596f0b3f89181a3685a04b37f38dd83df894ca3e02496d36f1fb0e3748ba703d137e823e361a81367a874337cc2d9c3c39de013e0701b6362232873725c7143ad7b31d384cc19836ffda96370a821d384c458237ae4f6b365d31ad3712d89d3748060133084200331b01ab37bbde483765dd3e33dcfd393330dfa73796af2537b0e4ec341575fb3421bf03385ba532373643b3358477b535ea320d38673bc837373ae035f785553696ae0d38259c9a37d14e883507108c3547a9c7379c887f37d6afe13663961e37b8c88637b5b75837f23549362cbb5236bd64813742a55b37dbc6f336e1c2ff361a544037644ec63be9637e3fbf33f1323c7b05378545033d6799753f3bf33a33b6ce2337dec2023d338a4c3ffd76f0347fe037370992d53c8d3d233f4e3ab135ae26c037f881a93c49cff23e4ab2d5351f1d8e370be07639647fa03e12e58935e3a97a37a965143a1f391a3e86032836ba1c4d37abd3eb3721dedb3798daf935db5d8237769d983741721c37fc6bbc36000000000000000000000000000000005c596237c71f27373b368636a38ea236d9a98d3739282537d166f634ad051035faf10738b30cb53773478035a3c08a36dc1e9a38fe94e8378243353709074f37a32b7737ce2c433754eb0b36de740f36e6669d3728ee9b3712a54637164276372c5d7d37f5fe8637a32662372dcc59370000000000000000000000000000000000000000000000000000803f0000000048cd2d3771e40238e1f07f3fa8a37f3664a92f3736172b387ad7543f1783fb346129b8379997403824232a3fd70312362596d937f301223a049ffc3ebeba3f3703931837b2b0d037ffffa43ed1440c367dc88437b53b423870731e3e06fd2e375ebf38371257b437a3703d38052706370000000000000000000000000000000000000000000000000000000000000000e355dc3721c39f37f7eb2a36db00ec36c6f84d393710033844a1ad3725add03791238b39c31652386b30153839492f38efe228388a169c37cbdd3637e543843792961b38e5fcfd37bc23da374ef402384d706238532e0a381231cf376c900f3818261438b05fd137c07c81378696e93700000000000000000000000000000000000000000000803f0000000000000000044abb372373733fb2d38537320d7a36b0e8773872954c3f8740ef37bb1cb337f8ef4f393d15273f617654389df31638aaa42c38bcd7003f3b638c37e7b34937da711438209bb63e1d7def3777e2e237a2334d38f204563eb806fa374806d637f5860438fd02753ddbfd5f37cf548a3700000000000000000000000000000000b637a037e68689397c021a37b55d0137687045383e1b3e39a300a3378aab4937ae45ce399bc9553857169a3694d2b536ba4af3372430a437ef53a236786cdf363ef08938a37f18382243af37716be037510bc837b500a137555d843653254237d6d4f4379400e637801c55374ef3be377ca19937faa29b3774a49836894a6b37325a08381addfb3793dfa33738eeec3775279d368a36723f5ed75a3d1e4a02376d1be2374343673f67dd593d48864e37f3670337b9fe433f388e123d18d37036b2360f37f5db203fef7c8b3c7042963612dc0038913cf83e204f133b5f329b3702517e370093b03e3651b2371e8187364e899837c968523ee518d837bd7f20375806123733a58a3d8bd325370b4188361334e537d75c213adb589c373448963752720a384a4d8b3941b7c437199e8936e99c3e39ca1c643a534e5936c6725736d04a263813643538f9d33c3765a920376fa39137ec2da237c77cf936511af536f4d11b39308c3c39262ed13716f7bf375379d43793a6df3776259737785aa23777b7e337824bf837fb103737a35a5b378f92063885e80e38256b8c374f7bad37a1b32938fd5c2538c18cc237aa44e337db671f3713344c3fd2874e3ed90427379f625836f4e8453f335c433e3d40573644dd9c37a7ca223f3884263e852b183713110137be170b3f8246de3d0e9df336a62802380265d53e198a9b3dda939337ac1f8b37582b9d3ea24ddc3c14367c373c2b473758e1443ef822f7377392b53644f6a9371dc4813d0faae0379ff11037896d0a38f08f7d3949e5f037097d843722e52b389208303a5498fd374acc303703d6db3734d0d039395b01379b20d7363a58c2378425d937e9549036bfed6d36ee5a0b38e2923339bfdf8d371790383782a422381c413638f5c3483749a0f0360b71c937f89fe7374c18093755dded36ea65cc37c57f1738a801443770be38374b387337f8ed8f37b7412037606d2937e64f3138e75c1638b3a56537a7ac6e375f6492377be6263f5d8db13ea6f7673717ce07371885223f8203a73e83fbd636ad99233752120b3f1bf1863e4f0c6c3685e0b5378452e63e0036513e686a2737ad107837fed9b23ec332173e4892a2368ca316376c72823e49a0a93db75bc7362c963037bd57243e34d9ce3c25f41737308419377a9e6d3d426b4937e37ee6361989b637e853973957fd7637f04e4237857ad73745a13e3a17d08037d5315a362d69223825b841394fd736378f258636a0ce0e3a7ea26a3a9df1e4361985ec35a6b61238389136385170ba35b94b9c33598656380b806b383540ba37df19283768650738575c12386e268336ce96fb356f5ca4397723143a4d002a37b8651737ec7715389c433238baeb8b37fb303737b142f537284dde378f5b2b377a4327372dea0837805d013f1488fc3e84edb03665ab7c37f702fc3e46e9ea3ef6a28c3660c62d379ccbd83e2691c23e5d2c3e368dd6c436a42fb63e3f0b9a3e1e784b339b4c023870598a3e01176b3e79913037f28ae43624064e3e4849113e6c161f35863da337c294003efc818c3d0b9afe366fb1cd37b031473d1e2b13388f7fef364ea4c5379198e839ef8da7377f6f003782e206380cdcd439f2b060378b0c5736c2a37f37eb75363ac6de9b3600c01d36a368fc37784e7d397a58cc3657e5bc35f101f13704acc53b9b18c03674bdb9362ad4233844323838a1cbe4366cb7a835694e043831100a38982a92377e4e36372481ad3773d0bc37207412374c8273360536dc370e2eec37f4223137ee130637c875383869372e38692fae3730839437a44546378af1b73ecfcc233f0241da3690eef73679c3b33eb70d173f07d41e36fdd93d375c6ea03ea420003ffa48c435d93d3237f711843eafe3cb3edefbbb3649ab9637e0724e3e38349a3ebd53aa357a7bca373d69153eb45d4c3e39a11737e7da6337c11fb73d3a34d43d14956b3672d0723767860d3d7df37d3b73d8d7360a522038e455a839e3c5103826f35d37ff401c38ba22833968c8d937fb21b236d3360a38e2a67739f537c8367cd98436775bfd3717b72c38f502493663964536863b0c38a1381838c43bce36d010c7360bf64f39149b7c39ebd183371b7b1036dc298937754a94370a61f7368385f636f5a31338978220384c794b371a171337f813bd3705fec538e7049e363d045b3646f81338517005389b164037d8b8b43688bfa837b0ed583e0493493fae41b336e77378370e45583ea19b393f51a1863601fc6337d2e74b3e46bc1b3f727445363e16aa37af172a3e3de6ff3e9dfac836591e0f388af7023e25bcc13eb99910367acf0137a5fcb83dc6e8833e8b29ef367314c037dc67803ddad80d3e65900637230f3e3751554a3c55f6b83cc8a35a36edec04383aef3e38e693d937238c4a366df800386b1c2e3a3c43a73700c0253600d3ad37234d0238109d7735585944352d650e38751b2238efb923365b4851359cf1d3373980f137af71f5355d7b7135a6602b385cb6ce3892ea193755ac2b35efd2d73766e2ed37220c4c366a284736c1bfc23708733439d771823620757635f030383818c23f3819d8a837f75094364571c437b0fc87376b95b636e9d0463633299437fe1e833dd5386f3fc94b4936f24bd23671e3983d9b825b3f164b5635dbe5a0372b51943d16cb383faabbd935e3dd6037867a823d9f58173f3e9ca635a6cb0338e7bb653d1eace93ecf212b353a251037c2940f3d3e7fa33e85c04536d4d01b3795f3663cb6353c3eddab7e3570a11638184d273a96be2d3d4cb3433632578837b4493538c0932e37f9650636000000000000000000000000000000004415f937cf2d393822bf2b379bee3136d4184a38aed56f39c7b0be375212c336f6d20c3874a73538be0fca3722f84b373f5d0438a3e62f3889452b37f5420a36464962385b2ff738d0ba3638807cf437e3fe1a382090663819f4e23798fab737baac8e379088ba37d7fd8237bfb712370000000000000000000000000000000000000000000000000000803f000000000b908a37a45f5e39348d703f34273636e312ff37c7b92a3ae72f4a3f45876237a602f737c3341f393f8f243f3e96a937d6b17e37127363389118fe3e9f6ddc36862341389920093a5410b13e752919380b1fe737b0a4933978ce4c3e277bbb3756364837c0f9e437daeb473d6c6e0337000000000000000000000000000000000000000000000000000000000000000084ad2c3abd282c3a087fc63879e83f380fb5e639c6f5cd3909aa93380091b8376f82193aed6d003a4ef5ff3775e3b53743af173a5cb3e4390121863812e074385635663ad385393a0f8a5239956b1139e4ffc5392f07a5391359a53873ca9638d818563af8cf1e3a65fb2138f201193800000000000000000000000000000000000000000000803f00000000000000000d4b0b3aa503613f14f6c63913de52386e97dc397fbf403f378b9b39603ff137a6c0163a2c0c203f485e91398425e33716e01c3a16bbfe3ea9cb4c397a1c813813a76e3afb55bd3e2f07e939fb110839eb7dc8395b317a3ed804333921506338dfc0633a787fee3da79b13395772133800000000000000000000000000000000bd0a0b3a0884333adbf78339888bfb3772b2113ab588363af314dd38e02cc737c0196d3a022c9f3adcf023385345143823ea163a90e5233aec2a20388490f837ab962a3a67b2293a0a52f737fbeea9376c1c8c3a9852833a74849738d92d343857fb3b3a5759443a10e1fc37e6dbba3747fa0c3afa761e3a593c0438562cf237e4e31c3a6eba153a6e7a9939dd9d8b391a1bbd392623613fbf11ed3d8158113968e8bc394c1d483f166cdc3d5bf10d38c63ef939993f2a3f2c37b03df2f91e388e27b439d1df0d3f8b168b3d91000e389d7f043a0990e23e91b8583d5416d137344c463a4e8ca93efa78113d831f473819ea0d3a91c5613ec3c49f3c0a02c4379838aa3931a5e33d6f0ca238100bf237b8e2143abd4a643a5073b639dc9577390285f239c7d6aa3a30679738eb4ada372bd9273ad157b93a5bcd09382db6c43789e0963c6b4fa33c4f5d9a39c3473937059e3e3a2328a83af923453891e108389648bc3926c5273a30072d3867b6f837633bbf392078153a08351438378aa33735c3143ae0ed3b3af6888e3931edea3829519e3936b3193a6b0e31387b571e3829b6fa39da41093a92f2d438f686ed37998d893831a4403fc3aa783e96d80038a4bed538ba412a3f8fe85a3e2ce4e637bef7f539a41f0e3f1a0a2c3e59c00a398108e2384039f33e8dc8183efc3d2738a50877391d65c23ec361ee3d304a1238855e6c392ecf913e63f5ae3d42eecd37909fdf3922c3463e0fbb193d753613395e0e513845d9c23dd9f0a03c1f082438a405cc3995cf7a3ae4376e39d410f137e3b1f339dc127d3a9983a0393408fa3717fb8a3a3d9a293b2531f4381622fc379dcf1a3a1836a03a110b50388ad2e337cbfe403abd11c73ae8a92338b41105385f55de39bc3d313a04f070383f6ef9378bd1e639c243833a89ff1b38e5508b37b392043ab1404b3a5875b537cfb892375c8e263a404f873ad7875a38fc6a3b38448d2b3a6e1a453aa231453833d53438e3404839ab68223f1d7bb83e6b11bf388bc4473948760d3ff19ea63e7d07133893e65839b1e9f23e73228e3ed4551238459234382d7aca3e13976a3e2a38133830ad8a39e0e1a13eab53393e251a213862ace438958b723eba66073e7329b337fca5b438a2e2213ea668ae3dae57a137fe2a4f39a668a13d3387133dab85463811af083a8b848c3a5b86cd39b94839382135f5399712353a0f9cb2394b702738960e523a180ad93a57ec26396700d3376d68e83958e9c23a0ae710393665dd372a1b473a96b88b3ad528873871a41b383ef01a3a974f873aae0bc43810c7bb37487f393a1f037a3ac80cac381b0d1e384ed9053ac2e2743aebccdc38e70afc3755835e3a7d31933af62b1838fa91ed3733a3053ad06f0d3ae31e563977852c387e5f87393debfe3e209ffe3e292fc9384c0a8a39408de23ed9c1e03ef36e103819148239f9d7c13ea439bf3e898d0738dfdead390ce3a13e1c3d9e3e14f82638737a6c394a0c813ea5e57b3ebd5bed37ac44be39aa5a423ec8e3383e7f192638be65a139ae34013ececef03d644b0b38ef5d0e3a855a7d3da4e8513de1680038c02ce7390a9d363a060bcd39cb983538c73b0a3a86c98c3ac33ed439b44b2338ecdad73932deeb3a8fc76b3893031238434ad9390fd8923a445db737f8b346372289ca39c400b13a9cc22f384bb37d37591dd439f8cb303a7e9e8d38ba3aa5376d980b3a5ed6af3a4d8423381e8801389bc30b3af132623a9f5528388189e8370431833a6d97ce3a457f43382eda08388617123a8518213afcb8123940010d3803a9a538112bbd3e72f81f3fbe09413873bc69383833a93e09de0c3fbc534538f07bc6370267913e5081f03e19e9943715286938bce3713e3151c83e2ca9a73764cd7839dc20413eea639f3e9a811138e69435381e36113e9bcd6a3e03fc0f3838c18c39971bc13dc86f193eedb00a38e1e6a43994cf3d3d9d6e8c3db3ab1138c6d4e13944df763aaa0ccf393ddb143890c9b539a40c563ab677ac39b340d037d3721239f41fad3a6d9543387b8de337ba82153aec8b5f3a32f26439c5743f37c440ad390477593accc62038662932375057a639e0c34b3a64833c383868ba37a7c0f039de91933aab2d5038f232d4377793253a01cf9d3ca9a095399df22c375ed60a3a58f5593af50d0c38265bc03721f2cf3974ec183a72ac1138c996dd37573a3239eafa793e5e59403f2a2c773827473e38b911613ef3ab293f15f622382f6ac939c059453e0746123f7964d8370f77203923d7203ea7bbf03e7abaac373ce94739f752ff3d2ecac03e6a7d12386297c1388d49c03dbb498e3eb5131e3807b2053ad8e8443d08d82c3e9cfcce3743bb83390fd3fa3c4a81b13dc03ddb37d8c648399372903a2ad4ae394916f5371848023a54644a3a0f620d3a6ddf4e37d9d1b03901868b3a7a251339bf9181370568203a2fb77e3a2f7d1c392c7bbd36c8542d3ac96fc63a6b3a2439903a8137d223f739b38f4a3abfb6a538357847372b78a939bb903e3a809b79385ae7f4378967173a3ad7883a81bb2a384bde0c38fafbf139ca6a133a52ee18394bf2bc37935efc390e2f0b3a4e9b8039c4e7f137fe3db3395dc9ec3df5c9603f03b69139a4627b384784df3d6ec8463f9588ef3713a57d39a888bd3df3d1293f5c2eda37af57993945fc9c3d22100d3f36fb5738a79d3f391f1e7d3dfdf6e03e2acbd4375ea3cb38c1803e3d9237a83e9a2a1b387d191f397acff03c6b265c3eab331a381285b139b07a3a3af774da3d5755ea37bb18d63925f8243a0105fb39b9860338000000000000000000000000000000001797063a28b5923af5e8293ad11bd537c131a139c2fffc391d7f883938bada3714ea333aa09f7c3aaf3e1f3a6e7381370a35c739d4ad2c3aa5819d39d5426f38e97dc939fbec2a3a5b4d8339058ac037e100a5391795e2395a048639c18fda371593c9398391223a7774a639ac8f86380000000000000000000000000000000000000000000000000000803f00000000691e5339dfd78b3ae694603f30ab533993ee4339fe0a083ada95403f78bc0739bd42e0391969843a2b6f1f3f50c7ab3985dd24399de03b3a860cff3eb39a8a3877dc5039fc54463a5db7bd3e461421385a616339009af339007f793ea582f338a67597395e3d353a61eced3db48e163900000000000000000000000000000000000000000000000000000000000000009539a635ae3f863515ef873524448f35720988366c7b70362e607736cad885361c78cc37870a6f36c6dd7136bcbb7237ca71a536a22a9f359721a83514f0b835545f0e38f286b837f179ab37fe3ef937eb2fc1379e159237df8875370124aa370e9b1b3651e26b365b39253619c3303600000000000000000000000000000000000000000000803f00000000000000000df18c3521fa7f3f5d729e36bcec8d35985997373681643f3e8ec636040c863658353438aa6a323f08a92238402b3537b96dcd3603b9013f883c13371219b2356400083843faa03ed0fc31389900f337b04b7037d9affa3d78f118383b019a3708abe9356cbfeb3a898cc136317c2936000000000000000000000000000000008d7cd6340545823618af953682759236cd73d0352dfdd235624fdc3540f4383632e11736e94ce03573260536724c6a3630435e35e5141a35e8074a35c686a836e3a7c335137ec4350b37ce35972dcb3583e19d351ef4a435a2cda335d327e3364495553783099537319a8b379f3ca137d74d9335a77a2b37dcd4a23564dfa0358eff36379e1eae37ba79a8371d6f963796ad4f340ff37f3f62612b391310833600aece3549f77f3f5228ad38da84da351900013641bd6a3f471e0b3898a93b36619533359b13393fa74333382983c9357cb2c43516af073f4bcb05397e37cc3559bc9b350c63ad3ec7ac4d38760082369d192735b64d0d3e4aec49381a3f8c37e9b592352b821b3bd976e7374b86a235bce3dc3508751c385bfaed3789193e37ee4682370b10ed37a90be2371b32c037e3f6943653289a36ec54a236f1efa53623b1023572429b34731be534eeb83636e9796136480a6136a3bf5f36ed93623683afbd3758379537b25ebc37fb1fe4375cb6ec344c86ea34d47be0341478be34de7a7e374dd4a337f2718437d1fc8a3776b3be3759721438ca95e537571fdd378cbcd6367804af3755ba68373b68aa36ffbe2b36fa82613f33aff33d1a0fa937371a8136df91663fd16dcb3db104a136a1b9a434e2344d3f00ecc73d6a269d34e09844368a15283f4c0c4c3d0b286136e6260336c89bf43eb747ca3c86b1c137d702d73427129d3e8bd73139fcf7cb34d7eb823656a60f3eb5612138b2f25b3738f2d835396bf53980986038818496378ba41b35c6fc49381ac316388b95333581170937c0780e38a1fe9737aec956353a9bf636a49baf37e443aa36e5ba35360e6e8e36efe18e36d1908c36443a8d3676e47c36ed9bc335431fbb3551cfc035c3486a368dc73c36f9511c3676ab17364e7f6537f0918a3733243c374bd74c371d912e37ef9bf5373a0a8637723cac36ea7b263753ff973734a3a13681979836b2f8a0379144a637783e92373b2c8f376b784335b4a2313f5d9e9c3e4c554a35b933053692ab363f5e9f923e91171636cd608536313c2a3fea66793eb61e8836d8dbb4356d48083f9e43303e03dbb435609a0f366502cb3e1da4e13d43131336568d8436faab843e59c93b3d0438e63634c15e362fb3f13d9e7de6382e3586366dbe87368a9491396a960c38105f8f36cd5166375decda3781ddb73724c65d37de40683682013c38c4e90536c17f8c35e0920b36f7470d363a1b0e36520b0a3699af6e3764aa54370d49433651e238369a2ea237b63978374b97e13544bae5359362ce357718cf35deaed23547bace3514e4dd37d2681338a8c65737f14dfe36ed73dc37ecae26386d04d0377247373727c30b364fc30e368a8d10367a3d0e365bb46a378f065d37a6fe0a36ff92a535537f8e35d601023fb9eefb3e6baf853564c80a366227083fe8bdef3ed9090a36327048361408fc3e2de7cc3e8537323676395b36db16cf3e0192963e49ded135a617cf35feae943ec7da563e859ace354cb6a1369be94b3e366bd13de27ef935900158363facc53d4716343c0a955b3619290d36bc9026397c033038265c0f36829b1c367e9a8f38e89f9d376ac48e35b44fa93784ddcd37fbb65f3792b49636b51bc936e91c2137e9b67236ca6e71366f40433759697a364dbd3336b1a727369fbb8f37e0714a3722a25736966c55369d991837fbf39a36cf110c36e0220c364d3aa73766918737f39eb2350547ad3501583537b8288337bb0a93364b8a8e364f180c3859530c38b755023767734c36e53acf370f4e9d37b394b235b2334b359b285a37245fa43e65c82d3ff1be863688bb8536547ab13e6c32273fa4525e36f5f673362b9fa83e5a6e0d3fb2711136e8300737b3948b3eda57d83e5aff3836028d463604fc4f3e599a943ec446073605cb043663740a3e892a243e6d85b235c6c19436dfaa843da06edb3c07ea8e36d9339637ab35b638ee6c3d3825412d36a5d186377eef603864e57637b74953352d19c637adff14383c4b193506212d3526360338ae36c537b5909b353e3c7d352f45a4374c134337d7f56336d62d61366b991f37175e073524e0ce3454b60435cfd52238d39bed37772efa358e5cec35f0f626379521e3365fcd5236c1cb553628e3d637514bd7372296cf3570302535856e9e378ae47c3791e59a3607998e365145de379c76b437679d54375ed04b37e1e828353cd60a3eb0445d3fad69193539b672371e1b263ec152563f94b45635909151373585223ef975333fb08c4f3678afe5343a101a3e8ef70a3fb64abf34dbfa0538fe53dd3d1f54c73eacfbde3549387436d179913d3b34643ed9284536b4978b371fdbf33c6633913d6e24c834413d6037a331f0381ac4df3796408f367b4dd737847e623856839d37a9e97a360903e037dc6fd4370468e2350531e0355e6a0d37341d9b3557279135bef688352bcbcf37d30f11366088ef3484ac0635e2417b378f07a43511d39b35fa839d35d4bd8737a98ac935effcc635691bc23595f07d3775725a37e02f2835ca1e37351c867c375cb291379c11403609a91e36a8fd8237a3e88737ee28d935e304d735ce05893664a72b3690875234ddb74f34d14a8737f13a663ca55c7c3fa7dfd93507701536a1cb0e3dfc7b763f3d2789351f65ae371db1833c9a81583fab13e43467dc5a37e7a9f13ad3d4283fe09b9a353845a53694097e3a2536f03e1714c335463c3337fca42f3a097a8d3ebf9b2735d3882a375936573a3766a83df2d00c36e4206337da9e7238a7aa393815aed835ed79963649d22c377f04e235c2eb4f340000000000000000000000000000000064ef1d36fe050036fc6f6135166357353343bb37ae65c136f7e88336ac898a367cf51c38a22be7373b1f9936d37f98363f9bb636cc814b3684f29e35503f9e3592fa0c38db711c38e9d74337878ee736f4023c37241dd237d7789037ce943b37ab08fe35e59b17379a75c136a12de0350000000000000000000000000000000000000000000000000000803f00000000eb461936e2e74d3854857f3f29995a3578c8b33794a18e38ec9c603fe6878736f12d1d381eba74380f712f3ff7989936d6dc7536c4cd9039ae64fc3e85c09d35081fe43757ad9a38a1039b3e92d6d03747ba8b36e92e3b38ced1db3df042a8373416a3352fb00638ba8ac538c8b2a83500000000000000000000000000000000000000000000000000000000000000007e887f379aecc235f178c435a303be355c86e537c71acf3430417c3476637934f2703838807a74377c47a7356a14c03526def637a40b8b376479f93693c626374d8c0d3846c4bb3761c69836082c9f36089d8737efabaa377b1a213772366537fc550138866746380da21538531d2f3800000000000000000000000000000000000000000000803f0000000000000000a59f9137c6f87f3f1635c7359105c4356f1b49387fde5a3ff8104e353e617f34657d4c3823382f3f3ea1c337a1a2b0354a42ee37a24e033f3c50b137d6880e371612d83793e5ad3e3d4a023801979c3648cd8f36cc9a2f3ec6b8c1379a071c37a01bc436cf06a73cbbee323860fb173800000000000000000000000000000000a3964f36ec31483851079e3761d782362fd89c3627273937344faa36842ba5361721b636c348273673672b3669ba2d36b8032137de63243615971236d8580c36b88831374098333708cfa636522da8369167ec3687999b37bd09f53559e597350ee1e33650c4b037995afc36bb67fd36dc411d3721f22d384fc5b037acccba37bb2ef9360451fe37559b803733498137455226364dc97b3f4414863c729c9936500c8a36fefc7f3f2ee46538052fa636ad301036f584693f311510382e5c2b364e37e33578ce3c3f490d0d389f3d113666d29236ec340c3fdbc71138ba11a936112a00345341bd3e6ba1373815488c35bc8fca362378483ed1e3fd37c1b6fc368ce9ab35c9c7c43cbb40283821a57437d68262337d822d396a4dc137b2a7ff3609ed2835232b423842ac293702148e35974efc3590dc0538a592b73661b3ef3523bc6b365c26f236311e153643e008366d854335256a66353f166335a0be4835c7ae76379532b6373c9367374510403734b2c835ac09f136cf08ea357f53db35489fad3689a88237f77da736922d873607b13536421de6374079c73518eec935ef13b9377e4412384ccc0937b7c86236f973903415f9543fac1b2c3eac699735096a93357ccd5f3f62beff3df44dee3515e1ff358d7f483ff92ac33dde0a0c362603f93442d82b3f2c15163df68f4f35fc980137cf33023f8644943cda024837b7c0b5356d46b13e562829382931e335eda3923520f8403ef560c73787f457361115a7351e93083dc869b63726cbc63587552e36acbea439e14dcf37cfb84e361b5e0538b9a0a438eaeb25388dca0836b9355337e9d55f383af2ff354a2eee353048613556855d3685cfda343521c234c4adbb35ff177d3699319f35a6c5793558833937487aba3793a8e93553d9de3517820638b75d5e386ef0ae370dd0c035d054b8353ab08f37f17ec335ca81b935973f97358ca19b355c7d9c358693933596287b37a12edf37decbc734f12f6634a8e9ca358e582c3fa417a73ee1fc4137a5c2e8352996373f622b903e1071f33510702335b3c82d3fa9c6523e3e8ec234e42c9235bf610f3f34760e3e2b1285356633df354dc4db3e6feba63dc294e335b7b9e434b1af9a3ea80fc33c50fd903665dba3355db92b3e3159d9378a71b335e2fc9035163ee93c9d719e35291c973523ccf534a5919b39540f2435fe3e833485e001362ac89d386961c035d2ae1234c462e8371c4b7738d37ad3356f3ca235bc4770370bb8f2372097a336467c9536d6127837cbb1af37e8b9d83535cecc35f6182938b7325338f9f6c936107b973603de5937b646ec37c89ede3523efd8353fac87372523263868fcb83659e5ad36f8c32a381d194938dbfe05368e9dea35a0955437f1872037f08ba73553365d35f191833500e8023f5de9f93eac9a9b34e129ec35d1850c3f32d9dd3e26d8a7357af4ae36def4033ff7d7ae3e7c099836cd0bd9359803e23e3ae1773e01eacf359d4b5c37f834a53e17a5353e62069c36680fda3525fc7a3e0834923deaa2d835d3bca836e67d123eeaf87b38c783b036bca32e376b40913cf9782338a8b7f335a428e83588c1f239426105362b59393522d743359b1ba438de9fd03412223e345886953575cf9735831c8f3515678035b51ac535a53817374ee9983582f589356d802d3844113d38daf3a03400229534c53d98376507be37bae5d9357f91d135dccac2350521683762dc9a350d75523595197335d3bf3237c39779352929143517ab2138c6011f38ede3ed359c2de3358ee16a382cab3a381ae4d5351cd1ab3552789a349b4cb23efcd1263fe4df43340c9795353024c43e2caa163f9ef4853528a1b435e32bbb3eab03ef3ec81e9135f0fba4371af4a43ea61eb43e5ae39834193ee53518e77f3e5c25753e01bcd7358fe7a9358cb2383e82fcf63dd86d813520741535499de13da97aac3b81743235c0a585370b259b3a50e6e237a67be8359de24338276d6f39f882e4373f57bb3548c7c63711262f38500a1f360a94df35ffed3637ce11a437170aa2358ea68435994f1937f2655237db1c6b35ff181c358b8b8c36bb839636cc02ac3549dc93352b39c337d5bcbe37409382362b8c6c3508fd253632edba36453be334e9b9d834e6b7273706069d3739ab083695e9f635ec40c237211d6837974a9c3585ad893518f74f37ffefa1358356923410b98534a51a5136457e3f3ea6fb4f3f3ff7f235ab79c1352d43643eee683e3fc21492358376a13699b3553e9e521a3f63ea3f35f71ce6350e61443ed593ec3ec60b9d35501b7a37d3b2243e6dff9f3e916e7b35fb0c6b359190e73de965373ecbf4d93499b12036c067843d12d7683d5612f835ecb656376bfc6a3a2f97b9362f389135aafe4737caf65a3857f1ee3426d88d346d24c3373c51dc373074673393566333b128003848eeab371ad2a035e74195350077b13722bb3d37d90bb536c9a39b365fc0e9373e56c437508ecd32aef7cb328893d537ae5fd537d2cd8536a8ef5e36ce96b8379462f537725fd935e91acf3584a19d3787e714387d7216367fc1d83571678537ff396237081f9336538682361ff88437288b5d3669012f36439b16360952453798d72e3db700753faa885d335648ac377753a03d0cca653f40b69d35a9a33c3756506c3d851a3f3f4778a736e4f18f3779223d3d9785153fca95cd3232d07337ba20da3c2d03da3eb55776369d1f0c378798b93a6ba4853ec55fd235dba63a3667ee2d3a5d67b23db4d20136f5e21537da5e8438d235b8371ba68836c16cc83700ca643815294c3602081e360000000000000000000000000000000065d930380f7b07382407d735098dd2354693c5373a169c3724bee4348e9cbd34050d0138afdd1d38984d69366b1732362d03d437a4b90c38069c0a37dae11f36a2850038eef25738b3aece373d38de359772d93552ec3938af2aeb37adef9135798ecf3590bfb437138a8237b435cf350000000000000000000000000000000000000000000000000000803f000000001b932238d5e9ae396c9d7a3fe1c3d835a3349437781cba3959ff533f9b09d8348cc08c37761290385bfe283fd4c0583678ff8737690a80381d4df93eb1678336d6996b37464d7b387c72a13ea97bab372d03ea3435f755383f69143e0160ad37a038c735dc78ac37d41a8338bef8b8360000000000000000000000000000000000000000000000000000000000000000e6e8ed374283e936924a0f36dadc6c35539b23380f3ba6373254993606a48836486b1938b05a61375b1c7e3611cb6d36d7e03438a7b307389113e936a9f198362f591d3822fa1a386f01af3745e8843793e28b37e41b133827a14a3776c9b73682d8c737207481396e37e637b9eca93700000000000000000000000000000000000000000000803f0000000000000000b5860738cd21723f9ef6b036fd60d73552202d3868794c3f39ac5a373f0896368635ca3780ff273f0d64e13675f57b363253c937558a023fc93ec237c28cd336ac17ea37d4fbba3e480b0e382f2a9f37ec6d0e36fe0a5e3e7dca06386df9fb369edb7335bd909b3d958835384924bf370000000000000000000000000000000058b6bc366b251f3c46b58737d828e43640e2f437030bd83903849a35da818f35de952c383aab76380b5ab836d243b336f7365e37f5db3c38d3a86f3676eb5c363e40eb3752b4f93834b9b23750f2cf369c2bd2373ec554382737af37338b8736e5b57537284466380d18ce370b8b213716257737af444f3a83d90c38d2f2dd3777f004385976533a17804838b818133893d7a536f77a6d3f97697f3d03d1f636b9345b35a3ac6d3f52a61d3d197492350ef1a83643254a3f4829d93c3fb4b736bc894d36988a263f3c15803c8783683659b1ae36baba003f6bc5133c260f6e3717544f363e6bbb3e3bd86038517b3d37187642362ea0653e80577f38d83f6937d43bdf358eccb53da121da396cf6ed372e71913609da403cdcac49398da1203827876636ca4f6c3c30fe2437f0b46f36614b2838f3b68f395a47793531d56b35b5fb1638cf14b7380ab50e365d27df35eeca37389e90253917058137733fc8360ec008384f24e539c5276a3679e030362d7c8637a671a139122d913607fa8d363c65f53788d3db39fa80e73797de77378ae4f53621156838b4ee2637941e9636d32b12389c2285384e8e2f37bf54c4361fc04436913e483fe3da4f3ef9767236c6d77335366c4b3fc575303e9821753575e1e535649d283fad3b133e0359ff358d01ec368650103fc428d23dff9dd336d05629364197de3ee2599b3dfd2251366fc5443685ada53ec49e2b3dbdda8e36b756e036db08533eaca5863c4b6491378c55643620ecb43d12a9153882779636d5e1a436ca214f3c994d0d38d059e13632e4aa3715ea473c3ea06637e037773694ccae37bcbf3138af829b3626957a36e7f280381a76ae38ab761d36323f0e36caf94838d66a4f3981d69336ecc87236ad224f38c2498639671ac43540b49e35c5670b3802e48038c5e6ad36115692366fc1053818159d39275eb4378496b13581005e384b13283aac59d2378839a535fdc22938795d503857aa8236363c723636a0a43654aa233fdd67ac3e6f73d93636a5ae36cc4c273f3aab953e4b4f8936fbed023758e5103fe0b1713ea0dc1736654a1437be1af23ec65d3c3ee575883605faad35eec9bd3eefc20b3e9da0b93596888836bb038d3e692bab3de8c69c36e2e7a8356b62363ea482183deab2b2358cee5b3562a3a83d75d6a0384819aa359e9fe336db57313c33aa8437c0ee7b3656fedc37409ecf39e2bf7a3796835c36224d07380acb3638225bce35d02988357479c5372b890e38eb054b364d292536b1bd19388b794438d65f343621b813367c165f387e32933872a6d537df274536780ffd37fd395d3808c95836649140363685973761901c3812216636e0c64d3644a4e23714c43338526db236c2efe0356d941238c0b71238a5398636da1161366a8897360ee2003f172bf83e4c006c36641c1d371af9023f22e8d53ebdc1a6358f1e6436fb76e23ec608b23e8ef03a36f989e436c233c13e21e38a3e3d37203698091838948b933e38c9583e41494837782e3d36ceec633e99c7033eb3564e364ce25236de04133ea4b1873db62b5b36fff135367a49903d4e761938dc7ff935dfddbd37daed393cf824c337779e6d36229fcb3719d1e439637c6e36c9334636e7b18e38174dc2391ec15a3579874b35394f4a38de115b3810e0a83554939f3525514038430b52383d567936b6665a361b077938253189387c3b98351918873584c352389ae3813875049c36a7647b36ff886b388900a1384c0f25365b501b3691a6ab374ccf1738b421a736dae18f36849d8438ea934638f3b69236acee5536c8cf7c3639c8b93e4835203f8b635a36c0390138718abe3ed05a0b3f6ae15635f09eed3781e7a83e3cace83e4ccaa435bbbda4376d868f3e0d93b83ea6a364362bbdab376059633e15818a3e36b28f35956f8037aabd2a3e1071343e49cc8e36eef8e636ee81da3dc398ba3d32e620368533b7368bb65d3dd373fb37dad9963659c50a3819843e3c81802f3757c16d36db981838f591a6387ec38a36d696193616aae437f7d0cc37e6b04f36dc5b1236984e5238009e443869a261368b3a033626f809385b8f07388cbe2f36b12bea35cb6d3138fb8b3e3895a9d735fc3b3535dbb65438ab4d6e387146cf36a492ac3664dd1838a0a044387232e5356c85ae35090626389d1c723813c67535f2d0633548a30f38162f50375ced4636df5d1036537f323717bd613e9046443ffe932f36bb474c37550d703e715b2d3f48d0373661881038e6ec583e7daa103f99a63f36802d46378b033d3eec3ae63e7ff81136d6d894377234123ed743b13ef2f77735da46fb37ea85df3d9b9c653e5162c33647e20737c82d8d3d049a033e4127bc3567de4f36675a043de0d8d339c9f76e354db1a537cab8ba39076e65367e412e362969823829a880380bd366363f23f93578db1e38e15de1377203ac356793773566723138ce1afe3795033d360b6c2c36430a453884bb203865953f3632f22036675d1d3898491038baf44735571e3b3516dfff3760da1f38001c423616700f36b82e4b38339356388672a336dcd78e3613b4ec37ed9f3138143b57350d574635be599b377fcbbd36d2349f363dd27e3699605338570ca13de989683f1a9d1d36164714389d4fc83d74df4f3f631d8735d80a13386f52bf3daba22e3f1cea37362e6a0e38771bb23db4f20b3f4f9c3136907cfb37a7028d3d2493d63ea46742355a48d6368d234a3d6c97913e06272f365ee2e23779cdc63c7331233ebae69b36fa59413701f0913cdca6723c8e165535cc57aa3721c42b3913e8b5364e04933600000000000000000000000000000000e3094a3800243138339a6c3531295735a8661238817be637134adb352c43943595891a38ab432c3818cc7837443b8e361e800338445978382075e53628008635e8193337368c4638d8dcdd3673518a36c3449f372fd12c381cc90038b02b2137546bda368609fd376008e637669912370000000000000000000000000000000000000000000000000000803f00000000bc260c385f6cc63a1d0b6c3f3e876835b9bbcc373253073c264f463f3eb8b735272deb37d7172b3aca4d223f38ef033730850f377953b13897cbfa3ee3f6b03642d58436ea367238f2eeaf3ebfdc8f36ec65c7369cf91d38cadb4d3e4c0fb83797585b36b27baa3701795d3d2a1a9b370000000000000000000000000000000000000000000000000000000000000000f0cea3353ab998354b3fae35764fd735e8238434c9099d3460fb07357c3324354fe912361b83a135d6c384358f1cc5353d314c377d9b3d36fa0e7736f1fda636cfbb5237c0d58233584e5433d0b24533a33f2d36bbd1eb35b09a9135e378e03555724537eca0153708850b37e608223700000000000000000000000000000000000000000000803f00000000000000000a79b1352c11803f59cc91353852ac35c8d9da343031633f0dd4043588f317358906f8351930323f89ff0036dd73c93508655c371165013f79af5b3656238f366b6d273309af9f3e7406393331cc5033fb5d0d364cdaf53d5c541936facfb535836e2c3747aa743ce07c1537a6aa1537000000000000000000000000000000002cc60e343db77f38fedbdd37c8986737679e3536b76e2b3648253436c9923c36b2f9a531b0c2d83220f7ef34ace1cc33c5921c336cd01033bac42133d3be3a334fd27d36685b6d3621c56536c6146e36d3a3163332cf0e333ba41c3307ea1833ef87fb324da2fb32ce730a33a5ca0b333f77c5369983ab36ed2da636354faa36239dce35fbff1f36f35c0b361856d535eef3f833a921803fcc3a1439abc84b37fdca13364c11803f860d35389e94333673be51319861693fc9c8f037eb91c23409c82e3306783d3fe80c1f3342b344336a8960367cb60c3fe71593378aff433658311c330af7b73ef7d5603612831633205c0a33baca2b3e553c7e3795d11433eaa88f3630163e3dc87e2c372faa9936d2da6635566473376344ff35c538dd35da5d1c337c892b38520d4c37150d1b33003b613609cba23792e1ce368caa8036785bf335ae20e335390ff835f4b4f0353b22a8359a0d8c354ea48935215d7b352e4e9f369c70083683ba1b3682b3b33661120236b7caf435f4d60d366dca023661b7883525fe873581389135a7978635d59b7b3640ea81348cea70341db62d34fa347f36cb12813716ac4f35708558350170fc329cdd613f0451f43d02c823337d5cc435f117643f812eb93da5194536fec0fd35b414603f5edab53c100af635e725703504bb353f083caa3834ef8835ed68e435047e073f32c99d38cccddb3572b909363fafb13e49fa7b3868e60e367de88035ccc71f3ec05317382da88d3529133434fe40f03ce5094637a2386d3487d82c358ddf8738ed8fd236adb354357890b235df0031381f26c635b622963583c79535756a1936d40536350d7b4c3549de9d3597e0b435e4bc9735dc5eb135d08d0c3669491b3674ae18366c27ff3574f755377f210c37df1ca93661ec1a37717944346c1d1b34885b7c34afbb02343671de35e6c7e53518f2e73596e6c035139586379fcb6937c008a73649eedb369ef217380a5526387bc3323703734237c9529035f85a323f0af69b3e8adfa335480b1c352b0c363ffaee8a3e6aaf2235884095352870333fa30b353e6f228d350c1804368d111c3fe87ebf3de0b30936dc114f3631fdf23e7de2e93cffc8a736b7348134ab17a53e6120a1380a8a2734a88cd335a4e91a3e9c16373891b4c5355e059636ddc2ae3c5818ae371ba9b036da74883254a6ba38e19b0b380e23c932f9b42d345fe217380aabf533f37f11340b337d3633209b367e3a26367676543690ad92349e5dc934ed759834c4af0534ef7f293336fa3633c3054833e2672d333d746f36e204653673535536f8025a3616092833f18b233359a632332c0d2f33fbbf213509fa3635f8a19e34bd3c2834e3f86b364b957b36fc386136acc15d36c93f81348e9b82342dc68e340e4a1b3417281f34fe5d013ff006fe3ee08f1034f5812f362e8a093f42a5e33ebadff9358514c333b683053f5c56b03ec67ed3335a6d38337701f63e620d663e2e2e3b33dba65c36c7f8b73e75dd103ef9894336e34f3433dfae8e3e96ec9f3c368c30334f7d1535738b0b3edde8c23673a072345a4e7b369a96a33cdef878364ba93a3674871c3478de6c38cdbc6634584e0f349c0bd1378210b238e88dde32bb8cd8321939bb368d1e01388df777362ff79c369203d7356c53d335ca38c7356940c235b1910a34fc2e0634978d0c34f2a80834d874bf37cf0bbe371cbf8d367625b7368c920e36c25d0f36f42c1b36221f0c36877d9535795a8c351de69135d9fc99353f2fcf36dd75af35f4369835fa5ac2359253a7354f86aa3500ffbd354a4cb83541b0a832067da13e13ae2f3f5e8edd32edc98e3665a3b63e7ab41f3fd6ba4d36b707ec35fbf4b43e5c8cfe3e3e3cc63566bce133f969a33ec210b93e13b21034f6fa9136d0b08f3e6160603ef8b77436eee51f36b3b55d3e785ba73d42d11b36a5529b3549c0ff3d3e8e5e3811fba235bc156635afd49f3c19ae3e3753e3553575d5b335f83447384e1da535eef8c1359158c037b57da1385b561e35f1e4013533009d34755d61377411743489277134e28c84359d049d35662e7035bbf59735d94df635e4310936789003364000e035933481376cbc61372ef2f335951cf935c02b1537c9209d37d9508b357619933570dcb937b896ff374a7f03365213e535e9c7ee37962bc03763193936c74b6b3663b97c37662c3a36431e193383910333e15722358f5b053efed55e3f9f7cec34bdf05134574b2c3ecacf4d3fe336e733cdcf7c35d0a71f3edcde303fa65f6a3572c1eb353833223e7d6dfe3e6139eb35ae64ee35dbf40a3ef483ac3e22bfe7352c319a35d3e0073eb936243ee32e9435b1a5ec3570d9d43dac9e0b3a1031ee35c04f4a371630a73cd72c1b38ad6947360230cc345cc680383b62ef328ae80e3480ed15369535e536ec22bd340e2d963549f2d2364617ee36c7e52d36bc947d36175cef3262fafb3207f3fd32cca3fb32b1c214337ee92233c8c32f33b19512338aa32b37ac12263743fa463675025336c51f0f33b45222331eb51a33f9981933c8cf4535166a89377e3e9431356390318ac02c3757aa59375e0c2d362a9b2f36e1374a38e988183886c5ef33feb200347657ec35683d713c1b937c3f28b3b4325a88b336906e293dd7cf693f8f7ae935a4080133637dd33c65c14e3f77c30833e8b41e3315047a3c358b203f34d91e3384d187364f871d3cdfb8e23ec90a2e36e5301b33a83cef3a0be8843ea1c73333c01b3f3522de203ca0c7a33dc1dead32a9d84136297959397fc93638b39d2b365d43153881a3c63822266f377865ee33000000000000000000000000000000001cbc22371cd70a373e36d236d3bced36c2ca0536df84e0358f132835c923833519ee2c3667f3623366216b336bcf65336c5d3537e11b1037ecf231367e223d3630f70336bf230636ee09d635c4abae35a95dbb3480e16e34ac56a634e38ce13466a01336c6397b37a4efab355268ae350000000000000000000000000000000000000000000000000000803f000000001c231837339cd23759787c3f99efcf368b5a063619a646363986613f126abd33147e4133a86582384890303f49b574337ee683366b611738a515fe3eab4149362677d5354049eb365e2e9c3ea4dd36353c05c43408dcf236c879ea3d943fc03429c9a03577c10d38281edd39d2b2c435000000000000000000000000000000000000000000000000000000000000000092fa983678f45d3630705d36c24f95360c7895370a4182368e7d6036b39d9236230516382e9c5836058a3f3618887a3681d7a837e29dda363f7bd436a7faeb36e1c984363af07736ea94453675046536ffb49a37039b6c3620043c36e04c5836ecf537377530a63665508d36cf1ba83600000000000000000000000000000000000000000000803f000000000000000056f09236b7ea7f3f97db5d3635b6783698d0de37eedb5a3f56d27936e4ef8636da8901382e0a2f3f92964e36f059593687436f375fef023ff841dd367df1d036bd803d3682d4ab3e1c066a366ccd613683b747367f47243ed3c54b36ab934a369c2c8f3662572f3daf099336a7858d36000000000000000000000000000000007778d63553620c3a8448c73755a6c7350000000097dba9360000000000000000e25a6f3607248136dc976e369f5d5f363da82836e40a1c36ea692636375f173600000000000000000000000000000000055cb536d1934d368dcf3e36e0cb3636f35f6436064120365f59d03596f8b035247d1d37c86d9d360000000000000000aba8c837e38fb937b33248371f0a4d37270d8a35b17f793f9fadc33c7a2cdf3500000000c85f7d3fdb22e53700000000522d5936cb5d763fa93e7d3641a3673646991f36f57f473ffe52323665761e36000000008fb2193f00000000000000005ad631367e07cd3ec453483655583c36cf04ca35ab73603e416810368ecdcf3500000000e78dc03dd07fbb34000000004b724737adc1293c104a92372ca4283790402334babbfa3ab4bf4d35b4bc39341b917a3471c1583777da8b3411ed18342e097c3530ea1336699358357a02243344ad4135e0872a35b39d0d354bdb29359ee9bb35e544bc35c8b7b235a952a6354a835836ff6653360e2782356eb59e355ce23035b44b2235d821d4346acfe734925d8a370bdc8d35c9747d35f4f67535971e9c37e1db1237ac17e536ca790137f787f83303e8523f4fba283ec2cf563474d65f34a2bc5b3fcc16b53d07cb7d3400000000b6eb5e3f9e6b0b39b8790435b6304d358de6453fa9e00336ef3d36359f47be3593e3163f46adb835d3c3b13531c6ba35955bd83e6f642c365f926d35e0d53535dc18723e80382335e731013545b895350a24b73d1a988635fa738135b3f7d2364b20093db39dee36cf0ede36e09cd336824fe63aebc1e236ab5ca5362da49435c2dc1938a901a4353396b235ca1a943584008b37ed02ce3501be573591da4b36fb469036c0946636205d3436ed27023633741736f940c435ce67b135499fbe3694b6a03685c307360e50cb35b4a99537d1081436cf7f0f35723b93351282a337cf18103561ba0234d15a2d34f283be37b1c4b1364e8a09364873c035ae7dab36851d2b3fb18ca73e2811bb3673ee8a35e7f7323fdc91763e0722b835f80e58354b52343fc8c0df3d00449135c4980c36b7b7303fb406a5389c5c423646549635a54a0f3fa91b26385f18af35ec63ed359712ca3e390d9636dd0ce83594fb57355f30723efa6bd83504bff0344cfdc833c31cac3d9e9a3f346763b333f440343661a4b63c383a803608a7a5355d4a51367d09183b2887513695971b365ee80d32b8e1bf3aeb1a223252d1213236214236c1330f38ab9e21369f7516366185a236daf43b3851619c366f9a8e36b5520835e2916937d7d06933f5c85733b677ab364b6ead36b3b6993604a89536f3433636b2ac33361d5726364ce411368a79163279da0e321f081432cd64f731bbdb4837c323c736810c3336a6ba25365fdf143608fdfd3edea8f53e14d132368c3b08328db0083f0e83c73ed9e8213290aa2736c0d9073feac3843e99a60f3633bc95361b16073f8d22e83d03d49336854a54338ef7e93e42cc313d04c15e334cc4a136088cb83efd4ba936ca959336185c37366012583efb5d3a36eb6a233660bf11327fc99c3db2191432fed2043275b65736f1f3be3cbe5b41362f091e36ab97833600da1c3b284827368fc44c340cfc2334634edd389f1af533d105bc30168c2336f548ed38000000000000000036db5a36a9640d383e6e0836875592355da1203639e869380716d035db2c9e35d39da336002d01377da7f53519aaaf3552c02b3696b74a36c8d16d35308874358f9daa357300a335fe228d3559c986357ae70c37748f01373c47ab36aea0cc3653e20536227da83e7097253fb0b11535d45e0d34d2a8bd3ef1d60b3f4d639d334e990b35af32bc3e2857cb3e00000000d2d92036beb4b53ef7ba803e67d7a0355390b23551ffae3ef1daca3d6a179a3592c95e364a0f9f3e6b1dc937fa85c335240e1736df9d3f3e92952036018371351fc0b335c1ec793de3d096359f0f8b351a06ed362d6c553bfda4ba36a4baa936e16df63686cbd13a84b0be367fdf4f363c28813505b6cb385b968c35275e8a35e9792235a0b7193782b60235945a8134f591243635978e3613a4e83400000000b27bae35c36f9d37969cba35bc01b53589d97235a2d839380dac1e3575f88d345eb1d03592dc1f37000000000000000081815a34f0f0423478fd8034ecca4934dd93cf37f707b23486f41534d4ab9a33b7abd9360014223e8f9d4e3f2b0a7536e9837135d828543e5240343ff49090359b1c0135f565473e08eb113f53a8c834d3dfbd35b92c423e6e0bc73e00000000ae3ba63514742e3ed32e773e6209b7352b7c1335491a2e3e79eb6a3d69891935623bac359517053ed615cf3700000000276b5634781e5e3d08f28e34582afc33084440364eee1c3ca1a42b347afcc633a0a6ad375a09973a1e4bb536fdf37836e40c8f35aaa0a437000000000000000020c43e36ed962038f58d8e3593425f35d5a34d36a18ff637cca30f360ef30c36000000009519943700000000000000009e764336f1ec9838d88e0e36ec1a0436cab97936de0d923739f95736f2864836f93e1e36f17220370000000000000000b2092d381a8e013713929e35f08bad35224a5e37ba43203d1517733f1fee8f36000000001e2f8d3de578563f0000000005dd0b3648bf8d3d3567363f89845d358e234a36bb12563dc94b0c3fc8d806360000000023fe7f3cf1dcc43e00000000023b32366ad5ea3aa44a613e0b5f06367b318336dfaa073b4d39133d8a955036000000009ea62c3c486d793400000000710410383ebed53a7b98b235c4d5943500000000000000000000000000000000374ba53684a1a5376e8f2636845dab35dd568236f01003381db08f35440c0934785e8436f53525379bf8903502ef6b35911601378d071d387963d1369bdac536a848d9369a728538a938e33634fc2336c789ab3626022238d34a11372e5a9d364e629836e1cf82370e129a3674aa85360000000000000000000000000000000000000000000000000000803f000000005b5b93360a98ed37c63a753fe5b1e53508385136eafb673892fd563ff372aa34641c6f365afafc3787542a3ffa596a3563a2e536096d2438af98fa3e0211ce364fe56a36346493385948a23e5bb15136459394364c69d637f03d153e6da09e367dc388366c0906374de0bb3a1fbe95360000000000000000000000000000000000000000000000000000000000000000b5372f38ceb9b836369cc5342a6a4b33c5d1bf378c35b8324bb4b932215abb3289cef63766fe8636ac396d36b3705b36ed23cc38ca0dab32b076b7329808c2323daad737e0bc3f35288cea341f212834e595f7375a68ae360b06a536de2da43677fcb0389693fd36cbf58835fd13953500000000000000000000000000000000000000000000803f0000000000000000a2f72138b7e4773f85cd3d3516396134fcf106385ddb4e3f2f45b83272cbba3265f5a437296a293f5d1c7b36774568361eb093324a66043fdcf3ac32be7db832bfe442351ddabc3eea6a23351a104e346d55a63619a7513eec12a836fe68a43673f841355b87803d277d8235fe398d350000000000000000000000000000000046b5d4359488ca3c07457d37f8493436e642a535dc2020380e9c21363b722436f43e86370000000000000000c2f10431ccd8bb374fca6a31d9707931bcad8231f797f637a2ebcc354af453357319b93477aa8638afc09036093a813328b88933ec1ae53777436736fbfe1336ef120b364f6b1e37c0de2337d8b629360cc32636235421389e332d3843a2fc33b55e0234048b2e35cb41693feabd7b3dc22c33362d8ecb348da77a3fc7b7d03784ff1e3600000000051a703f0000000000000000271e4e311a7a453fdf3c6d3178ea7a31e5a90d35726b193fbad3c535344f1f35e2055233e479dc3e365676333f2685333af8c5351edd883e193b1936cffe1236f594a435c74ed13d9e543736ac4e29365fd5e3335c0e473dcb250e37838700346305c0310a0c123d06f41b32db503732963f45353262ce3a29821336110df63497f3ce3601ae803864d3b535f7bea8352987e0378130ba371d12a13303719733047ef237f72aa437fbf8f63476bb9934e1fd113648ffbc35b13a22353c7cf83413ad253808aa9636e0d40f363e3dec3534b076373fa82537e4fcb33460b9be34a11955383b2215376a7db93457d3bd3456c19231e310413f2dde3f3ed3df2132ef6fd5335832533f9b00fa3d8348ab357ab84a350cb2543f91149f3c01adb0357e5fb13300133c3f029cc83480ce9e3323ac11352bbd103f3310af3558289a346b4e0c35e2efd93ebb7a4a358e820835c60acd3591dd863e7172413661a0f735c44a4e34145d073e72c1a7341eafb6349549ae34cb246d3dcce8b73461eebb34409a2e35d305ee3cc11786352efc6735ce61ad3424c3153b2932c134ed0bc93440b61134907334397f922434e6b02a34820247383a5eaa38f06cf6357292bb35becfed36ff01a137fbcf7a34cc4c813429129c383aa53d372a8dbe339133c2331a6d0b38d2883c375c6b8e3659c18136069a6f385c9db336f3ab613445d34634cadb70384c7dd2333509cc33f559c33388bfb9343d9b1e3f59cba63e96c370355359a5346e432a3fd6ac753e5537c53400d909347ac22f3f11f5e73d8fe52534a8a8ef35df3b273fa2f9133dce1ce035387d6634ff12083f539a78343d448034a089d4343c31cc3e3574b8338d74bd33e2b39e36f691843ee334983688fa893699264534f08f083eb6256934f1475334ef05db33a91b353d16edd3339d63ca33693cc031fd7bf13c86c2b63141bd0332c6b7a93599a36c3b66699035a181393500000000cec7cd39000000000000000058d9cd3665fc8e3801f06432aae35932874a923749b1b239cc95f13555927335164409383b671938981c723281217532cf52023856b1f73500000000000000000fa18537daf4f936ed9544351156b2349037b837f4b0bd31ee51be31b028be310d4bbf31f75ef33e3ee9ea3e19e4b2313836473598ac023f9d0cbc3e3a126b350000000065cf053ff1387e3e0000000012b67232a428043fb8fd003ee57360329b1d08368230d13e1633bb3dde15b9356e016932ad84b73e1ebb2e376fdd733200000000f6be6a3e000000000000000060618a357cbcf43dcd1a9b35256518353e11bb31c23d193d94dbbd31aa86be31f6acd333be67943bd824da332bfed83385ff5b340ad30a3bd07d4f34ef6919342312b1365b1f0d3a2633943662f68136ba93b833fd79d93997ca0735d917ca3313f07434da11003a217e6134de115834e5d864387507b8385bfbe435d1d5c535b25d2437e9861134c32a06349ff2f4332c89f3359827ac34f97ba0341d729634dbf70d382902693579cf9434c29248347193d03349b0ad3e7dcb1c3f6a86da33b50f5234e13bbb3e4fcbff3e7a002f34fb3a903649e6bd3eeaa1bd3ef5de8c36a13eba33aed5bb3e052d703e39d9c334541379349fd5b13e07e7f83dc5906134fafdf1357cc4993e4ad32a3c8effd4354957203462a94d3e623d0d34149402343693be347a6dbf3dba38a934cf549e34d66a6f352e15d73caaa51d35512351340c8db73421f9463b3be7ab34253aa4343bdf95344cebc13a846d4f34ceed4d3417115c3650782e3aa298223553c6d632a00e313592ebb33989880335d34ab73266c1a8354a8f223aeee9833443cb7a343671ab3324670c391a0fb833a212bc338d2e293872a7353865833c3551db0d34281ea638692abb353574b833da520133d8570132746cbc31068e8431b23c153187a2b9349d9e433e49b03f3f5624a9349a57a634737c693e169a233fca6e4f3493751c363c7c633e00b6033f32a0ca3232c21b351f3e5c3e9023b83ee39f993409134335b20b4e3e941f6f3e1dde8034540ca4334234413e86cc9d3dce62b533f980ab35dda7193e7ac9a037f413013512ac1336c019553dbd40e034e65b2b33c63f10329995bf3c6a47a7313caa53311f7ccd375dd82f3acf41e1335844d33339fa5f366ac91d3a0be88d351b0162347c373d36c64fea38ee6e9835637d513460977333e9d125396b94503382f738336b46c735a0d132398f239533ffb68333a61c6731da80bd38a6c74631223636310000000070f404390000000000000000002c0d36b468d7353101a434000000000904f538fcb13f3732b9d534462af430686ffc332cee7c3d0fa6633fea60da331bc12c36a68ad53d42194b3f354f4335a34f1336fc4bb13d5784253fecd4393588ac7e33c09d8f3d8ed4ff3e30414133dca2913557fc393df919b63e41668e3317c36e315d50a03c6f7c563ecd1f4131000000002bf4033c2acc5e3d000000005b9a1a36b125ad3c0dbf9f35c4a1e533f30687383a58493ba8b6a93576c28d3300000000000000000000000000000000e9b57c351e674a3a3a22323534dbb5344ac1a8361455bf38aed1a2362b3f8a36b6e1433506b6c8383e0e183519dea1349938a7329858423ac9d58d324c428132f7e88136eb42c43939e895366d108c365ddcbc32f2a8a8381a37b4321ca809337e185a35381d6138a11601380534d6350000000000000000000000000000000000000000000000000000803f00000000534489354b827e3c2ce06b3f08280735770da436fa55513cbc62483facbe9a364a9c2935982d6e38ac93213f1e33e5342580ad329cec0539ba5df73e757d89329caa6d36cf189b37cc2bad3ea39891361c7abb32d411bb32ad08453e0ca0fb320d831535af570c3880bb023dce2d6b37000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c452a835d5576a3507dac53545abec353bbef8349b0f82345005b53448031d359832213458db033434b52d347927753406dc0e364229f335da1217368304263681542535522cbc34b47d8d34a6e45b356ada3933b01980331443b033bf33fb3200000000000000000000000000000000000000000000803f0000000000000000000000005846783f0000000000000000b5add835592d5a3ff39b783544ef843543232635df812a3f7a5dfe330dc0be3492223534730bf53eaedbae34da9c493461412036347b943e676cf53540d6db3566323e35c451ff3dcaaefa327564d634752ee4327b8cbc3c87618134cd1678330000000000000000000000000000000061740135ca1614359bf65c358d342835bffd0f36823f0a3694e7293621dc533651adb735e905d235920ae43506e7fb35a8da8e356eaa3a35b0a27f35574cf735018f4e35c11e0535798e783567dfd43516b9c2358e3fcd35b1f3f635e8dd0636ea77b935cf439b3567ecab35895517364a6fe635e91ee4351274fc35cb0a1a36774a84352e018635c064a235e52bb635acd5dc343ae4793f258a0e3db2a51735ffbae7353414803f8097873aaa281d36acdba5350f58633f71dc0536b493aa35dda6aa35333e373f76c095394c92b835b34b233599850c3f94bd5235a09135355a04cf35a194be3e039ae23975dbac35c26bf435be2e3f3e38d01e3a19d5d4355d06d6354feb953d8efad035fb98e435ae5ca235e0beba38b45a6c35acee463519918535ae70b4355b58aa35454a873503174334429e1d344e4834348889f333b37aa833ebad19341c161e34f0497f33345e36350143373550ea2235426137353d623b3423d8a033916c8e320000000055c1863444f4613461fe2534aed93934433d6835ed317335088e5f35936f6e35778d943495203e3447ad0f343674b333a2568f34d36e633498520d3410df2b34084975353ec55a3f9448213ea62b6b353868283463e95e3fe1fee83da4ae16341ab35433e8745d3f2800ac3c263697327bf141359994373f6a0c983bc1f64c354a702034c9f10c3f3eb15b3bd9563633b2ff7d34633eba3e4ea9bf3a6faa2834bf355e35d49d333e0eb0343b73606f359b528734e774333d94b80139e4c317342a1b1434b1a7d639864b61368419af334709a834ee37fb34308af634aeb4c034884fd033018df133311df633a86e1b34b62d9835887f8a35d451803588fc7d35cacb96344804b6345155c834fbb6b4342d9dcf3398060334f5812734c6b0e833aeae0536b249f335a5b9003644050a3600000000000000000000000000000000a8083c34cb8a2a3432663934b98c37348b41ea35fe7df13570bdfe35fc6af035378a853434fb2d3f1712aa3e49d4f334e35ee533dc34343f88ed8e3e525b093405da6035d820313f0028283e8e876235a7d89c34d8db233f635a813d1bc5c334d3d778338ee7023fb51b0c3c564dce33ad76fa35b24aac3ef10ab83b06f3b33500000000bba42c3e799a853900000000e3d30234b3af043d43bb4736f9b21f349005d335b1032039322cf035860ce735209b7435b74f9a353afcab35878423354267093690e00f36065a1a36edf41736245b63354da0b235f31667354a1c69352eaa1235c99f3535e1901c3545915f351f145f35d4794f358fcd8a358be6b635debe2135a8638035e3ee4e35477252356b9f2635a3fd6335564c4e35f7bca535077c0636c149023688c00136d0e4153675a165354baf7535e3dd7c35e596853516b63b35e0bffb3e9b6c043fd9d10f35b77bcc35fa6e083fa915e63e6933e835ba430a358908073f2d47a83e2f0ff43457570f35192dfe3eb60a4a3e8fe91835a5cf1a35e5e0d73ea12dad3de87160353fc72b351d1ba13ead10e23b0b3302357ff14f356ee9213e7481233a79a345355c7f01369389fc3c9e500636a73df535d2c28735fae2423a13a638354a5f3b355a43b6357609eb3576aec13580ed933525dc6e3453ad4b344e810b34f95018340e88bc31000000000000000000000000b525d0354fbed535113bc0359bc0c43575536b34e0d30734c7408433fd283d3204dbc434cef8bc3430fda6345634953422fb7b351fc4873538a97b3583e77c353db671340e7c18346518dd33ef7e5733e5b8db3426becd34ee35ac34d6c4c53412d7ca35d2df9d3e748a333fbd4c563522ae5834209ab73ef9871e3fcf0af533000000005813b33ecec8fc3e00000000017db735b56fac3ec5abab3e8ab1a93545bb5634f6619b3ee547433e04f03c33a6d6a2344865853e754e4f3da803a53496a0713538cd1d3e8ed6953a5f8882354a4960346df0e83c5060b336de93e5333db0af34736a9f34a3b0903437659b343c9923345845933436f82a348a230c349a350934230f1634e80f1d349ce13e347b3f643546906e3590ef5035313734355c0dde3386db5134ce0c543438740534c6379731510113338d224833684528338d19883512d95635d76e2935338132354acd9233b386c2333b2fab30dae43c33f1fb0934fd393a3419842834e6861f34abc3b03580e6af3505d4b4352f52b435b921fb338ce0133e4e615d3fbb516034432e18343396363e96084a3f5c2b263494b4513534c0293e925f2b3f11c83735df2111343ac8143e6171003f8b9f32347d570c334cc2073e5f74a93e6f3f7b334cf37935de15063ec51f243e241a19357ab08b337bb5dd3d49178c3c2e231431f6afbf333ef3d13c7c8160348702da33c1eead358d91bf35e49cab3522cc8c35d2a2a535b39ec435af01c035193a5b3592a30736285b0936bf20f4359c79eb3561730436d54009363083bc35e504ca35bbe2bc359784de350c4aa83560dbbd352c6e7a35470c8135dd516735bf1a95355de2ca35625dcc35b7cd90359618a3350e04b6356f74d63572c4b635203ee635d65e213689fa1d36fea41336ca60243606f966358fe93d35fd7d47359abb01354b6c8535ff82cc3c2f607b3f55d52c352a80eb35c953223d7c1e653f96f59a3587d9e535c10cb23c9e4b4d3fcede99350300b9350730933bb3a2223f71eba7351f593d35da89253b3c0fec3ebbab0035d4c7cf35216ca63ad1fd963e98d380354950be356c3cd8398926f93d0d6eb935d219193646c3c83a4cbf8d3a06a60636f3616035e16d5535526e1a35faef9c340000000000000000000000000000000008f84534225ddf3330c6b132000000005910673535cb6635234319350cafd634cd63d235387102366c92b935349cad3577ddcc340bd47b344795e933ec6da3338b9d1735198833357352fd346ef4b9346eef8a3532b19f3500fd6835f92ba935000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000005c0c1634e42a52360c267c3fb1cc223324798c35f8149d354665623fc1a3d334f0470336273017366677393fbc51cf35fab3ae342262003584f1083fa5fb2d346ee24035acff6435b760b13e49d1d4340e339135c169b2357c0f263eb046a73500000000000000006d8b273d000000000000000000000000000000000000000000000000000000000000000000000000e8371236754f0b361f42d335e51cd935ab3d8c354f36b334f987fe33d9f8df34269bb6353d735835e10c793569e08835b3daa235f879b235b6b6823589f9833500000000000000000000000000000000311d4a37242f08368351fc35e732f33506444e353d1d5035124d0635ff16d63400000000000000000000000000000000000000000000803f0000000000000000ffbe5737cdcc7b3fe7c4ff35a90fd235304f9e351254553f64db5d342835fa34ec52b43564592a3fb4ba89351100503532facc35b8c7fc3ef29e9735afe77a35000000002e95a23e0000000000000000ccf5283692a71b3e3e231136f47de23522ee8635dc175b3d27083f35231fe43400000000000000000000000000000000240f8e321d42983ab2974137291c0f329420593428265e34a3362034526bf5338b43b23433b4df342d98e334da0fa934d41d3f3558a08c339b02d8320cfd8e31000000000000000000000000000000006b579b3493b1a13417aa9a34ee0c5334f626c634cdd2c8348078b63440e19d344d0ba334810aa234b48bf634e22c18352e9617340bcec4331a2ea233f7b03633451a8832dee0733f3c84b03cf44a73321ad14a345f767c3f06805b34a59d3a341ab69234dcd2753f27ee4235e30ab43467dd9135cbd34d3fdd5d08330c57803200000000dbd0243f0000000000000000a2759934ca7af13e3847ab3497105a34ef7ee9340f36893eaafac234bf0b5134916db1348194143eef2daf34bd19ea3471ed36346833473daf6dee33eb551833f6b46435d3b1a63c4cd48335e9823935c404073613412e3a55451436ad82de357a6428356a1b7e35a5cf1c35682145332469b0340328ae34c278a6346f92bf34eb41a035072c9335fdca9035e3d32935d83ba435394b753439ea5234a9c03834a56ea634b9be9c34ee6eab34434fde34799f9c35eaba963513166e351a232035a8e5e9373d2c9837b217833319e67533261e27356a144a3fea381c3ecdf56835e16ebd35734f543f94fcaa3d1ce201366863343394795e3f7fa09639b375eb33ab3fb834cb675c3f8baaa534e502be34a62d94352380313f14a2b535a48a493553a61a350b8c063fb1e2e334ad9b1534316cb234f042ad3e8f729634e6f6c634b9547d35cccc293e8f149535159a2f35b0bf013545ed903d1365ee35baf93d3381528635727cf53ca8eee73605ec7f3580713e368702943a08f5fd357698ca35bbcd063511fdab395485de34bdfa0035c3b8ab34063ddb366ebb57358c383d34bdf16b3625c07a36ed1c1f36792a0c368dfbe235aa82b935f8296035b99e8c35f2321b3653c1043515022934c9e01233d2ab543603d45e3618b40136d28bf435c05b3438aa5496354a107435e89b6d350e7e4635bee81d3f8238943ebb466b3568de0136af4d243fef74433e6242ea3519497734e8c1293f3dcc893d92d60e35f813a63480052f3f5a6a0138cd230a35c57d533625fa2a3f93128636a0cc12360e14a035bb07033f9b2b7f35bbb51d35f30bd7343e5bb43e30a3823409d7ed32aabb2d3684354f3e61ef1e36f6f1f0353b2587355cdb833d05de5f35d3144335e6711c32d7b4443db2ebdd31f9f4943136c5a934bd119c3b733e8934472f6434a4da383589b7113a4814c8352537113516efb0349906ac39587b3e340000000000000000000000000000000000000000fd045d344b7d0f35f3ce3135813ac434f72092354c2cfc34cc15f53323693f34dd11853459508734d1baaa34c2c9c43483e6eb371827fd31c97b0c320c483d32472119328911e23e9489e23ea92f02322bed9734b5b4f03ef95aaa3ee06a8a3423a82e34ec25f73e500a4a3e99a88f35ed789434395dfb3e7874433d0000000000000000b531013ff67612390000000097bbff339972f13e9cc4753545fe2d35d8eabe35919ca83ec90493340590d633e0f28834fce8513e51b08f342d40a8346c21ef31e17ea53ddc580032d77f3f32fb727e35213b0d3da6ea663500fbfc3443ac3036ff5f7d3b2dc7233689dad835249f2235e4ac173ab155c634f5372c34521ba335b69cc239155882357309d7343ad76e361ef7ab3990826936d16a3436e6117235d248ee36e330b334a450c534fe6588358b3c703462523e34dde86334afc54d36d3d34736703508360032f935fac0d137332eec36e6eb4c350da32035accd5935f098913e24dc203f347f2935b0faf93546f6a43eccabf63ef284f935aaf67e34c735a03e877cb03ee2f6d4328bf6d2340474983e59e24c3e56c8b134bfb32936548b9f3ed2c8ef3cffcf4536b29e3f35ea90a53e973acd374c4c903404141435a9cc8e3e3e29923466c05a34c7d50b36d95c333e44e22036fa1fe5358f159337358e993da31930358e1b1735ad05823573e3e03b30e7273313a61333fe01a7357c07c73a75063135cefe0035b8c5a434db0e913a974cb7342929a934d3c8f834269797393bcb87348322113492a2b4357a04a338887364353a44543578b5b434779a00395907cd34cd38e1341052613535e9a135897a0035050d3b3374dc1f361d212536650dc835beb5c635992e3e362317903564b63f35c0742a35d3718a335b21163e234a483fe9ef1a33a3108035ceef343ebe502a3ff35d2035de0c9b342889203e67b4033f5064a434ff0f9a347c540a3ea7a6b23ef1690d347a47993584e9ec3d3b964c3e0f205a35741ea534a9640a3e9c983f3cdc80d43489d3b034fecb0c3eb3ac9d35cf6da5348c761c360a5ac43d7cf30436fb97ae359da68136db083b3de67a423591b0ef3488348d3478f5583bb7fd15345a440d329079ea34ca79183aa17ab734e3b86d3491178e34feab5538efda9034066fc933a97bc034a1d2ed398ed89b347cc33e3400000000fb73fc3700000000000000003af5303472b1a037d6947b356e8b8934daafc3344beeaa34a9c79d345bfc903422fc2734e5242a34e29d413413237634da5f553777da6632818b7632c52ca032a01b4934dcedc73c372b6e3fee187e32e86ad13414e54c3d33944f3f28d4a134417ab93405495a3dfdc72f3fbfd91c34a553a0343327463cab1a063f6a76fe3300000000b3cc563a9c2bba3e000000006e5fda315c28e239e14e4f3edc01a834fcc5bd34a9ff3d3ad11e393d8d0b6d34f21627345854973cfcf22e3471956f34f3a19f378239033db96f683271a0a332000000000000000000000000000000004bf439357a7c9a353d55653519e2af34ed9220367001a7375c2fb435b4068735000000000000000000000000000000001eb2ac35a407f035b905db35d8ff99354f03e0358618d03532e99935d4fb8235c46d8a3556686a35826357353e8d8b3345b10f36dd868c37d9467b374f510a360000000000000000000000000000000000000000000000000000803f0000000037c00c35e4f59c353d96733fc352e934246b0e36c966fb3767435a3fe6097b35000000006a45a6374f82303f00000000f1808c354bdef735b0a7033f29bfb135d5a38f35a5d0d535ed77af3e4cf85b3569046235a1c281351bca313e69ea86336c13ec35c4071e36c3b2b73c4d741536000000000000000000000000000000000000000000000000000000000000000050f84638f6985134000000005a8c0b334637be38fc7f9f33ecc74033b1c23d33fdf3d0381b7101344c64df3380f0d43399fc0339a64be8346ab3c133d6dd8c34fbde6d3824da9936c6800a335ed90533d1c65639d1b94f38ad5ed53428e417352b808439d10d37378ec90633bfa01a3400000000000000000000000000000000000000000000803f0000000000000000a987c036beb9793fa2e8d533000000002cb2ca38505f4f3fab1a3f3332252c332ad10638e816263fc40bf13366a2da332034b7367a1a003f264a9e34fe770734706fc83462c9b53ea26bae32249ca93255ef953792423d3e0ccb963731c4f034aba0b435681eae3d5e96f233cf9e7433000000000000000000000000000000008af5c33300198b3d78006334dc7a84343e9ceb36e351903850908b33a046bc33b7ada838c243a33386245f33dd828a332425e238f107e9335477d033002afa33e835ba380000000000000000000000009727c7387793c536380ecf338ea8b9334c5a3f39fdc23b38efa8d03307c805344615913926474f380000000000000000385b9f3876d4223800000000a6021f33584fad33bf38623fc6eea53a48596d34edcd9b32d304783f9bea9d37213e9f33598cf6355eae7b3fa7420533e7d85133f4f2d33757c8533ff186cb3368f0d533e20c3533a2982f3f0000000000000000017939347a55093f0ab1b433acfc96331fbe4e3602d9b53ee205a3360005dd33000000002a5b363e79c9633500000000000000001144c93d98d95f3700000000dead6a34f96cf23d0b56b434f928d434bc8f273370feb53d2557f933915d17340000000029fe91380000000000000000148c2a38b419a83771d1a5307702a2303b519238e331ad37706d44335cda0433c6599c384e9f0b38d2e7f432221a0333f1899c3804e232370000000000000000a4eedf38dc2ed137000000000000000003357438f0d90838c94e2d341b164e34f50938340c93313fa7a5e73d1092b834f2c8cf3237273e3f11b7f93c4bfa02340000000071a55b3ffaa9203800000000e17e00315f836c3fa140ae30709a9e300c9488326dfa4e3f2a93fe33710fdc33bd92083244cc2a3f9152ac348a1c9d32000000006f60f63e000000000000000000000000fbeda13e0000000000000000e86986346ff9073ea3617136909b1d3486d43434e728113e3aea7e34d47f3c34103baf32fddc073eecde083377282e33bf3af03122708e3d00833432b6c97932e33d85361c6e3738d20b08312b5de2308c9f103852943c363b4ea73324c3bb33fbbf0839caff9d37d42fa932f2f59732da429438880ef237000000000000000054206f3841db0d37ecdf2f33cf7d4233b715943850e78d37ea4d0335a9dbf8341af7c933f09efa3e34fa4a3ee8a6743415a37232ad81fe3e1858a83daf0c1333253d6032eefe133f3e8f3e3ce5c64932de04463184122b3ff24b6937ca0bfd30a3bf1034b4983b3feb4394334f279f33e5dae032ec84243f6079bc32e43da23200000000a1c1023f00000000000000009ea2e4332233c13eb9d71c33c95118336ab2ce342718433e71890335855af634ef2222346684273e99e0003466e015331acff63633ef053efad15d33ea8d9f33e5e190366b1fd83d0000000000000000cbdd773368bb613d53dd9a33b152a73341558435591ee0376690343424785c344d4b0d38feb05737c39acd33b4dd40336b6feb38d9f4dd3700000000000000008acacf380375e6370000000000000000b4b25f38403c0b37a0c24c34597813346e2f5b345c42a13ea975a63e07e2eb330000000093679e3e86694c3e95268533000000002f26b63ecf7bc43d0000000046bfc9331bf2ce3e492a3b39e44f9e3306662d342bac003f6f7da7359c183c3484e195333bf50b3fb579e533c4dd4533b7ad0e37ca39e63e000000000000000044b7a6353857bc3e00000000000000007102433400ef523eb2d92534470121348b613e36caae113e3f626334827e6f340b155133092b063e0d2ee633ab6103345d3b2437731ec93d0000000000000000129243367e1ed33d122c0733af182e3362a9ac330d11d23c6e661334ed572934558db53758ef0738c46a4e31442b5a31adcfc338c3cc7a37050d5732c72a5b32602b3439b7dc55366e116832fd2a7d329bc80839f3d00937779fa733ec87ab324bd0e7346eae3f3ebac3f93e86dd59349e432c330cce2a3eac4eaa3eec50f03300000000a6f2393e1c825d3e000000000b62af3256ec383ed65aa43dc3fbe932b593a133519a7c3ed9032838f94a1b347cfe0c31cb45ac3e0c5c47315ce34f3147bf1d329b53b13e85ec4e323e9a6932d3af083302a8973e50e19c32884b3932c0c697340e67373e388731342c41f232f4c7a3370d9ca83dbd102034bf859a3100f42637e16aa43d000000000000000000000000a705833d00000000000000006fb2bc377601ad3d5fc40b32ac281632a3435a378f63993d5e438b321ad9a2327c272137c0f3233cba0ffd30336d1831a2b10f38a3dca4370000000000000000fc357338560330330380ab321d7a9732a9ae8738291b0336eefd2a344e373034beae4334805ed23d9a6d303f3614dc3300000000d3d8ae3d2b5a063f0000000000000000009a813d170dcc3e00000000dcadf132223ff43c90f5653e4efb0d32a14a9a3371cedb3c2d1ac23d1d199532d142a13084ef8f3d0f118338bffc0931000000009cac153e00000000000000000455f033fd5f133e97b5bd32251e5a328b633f37e092a83dc5e94134197017347662d33724562e3d000000000000000054a7bc37c810703d00000000000000005176e8375581543d27eca83389cd393341d8a433463f413d4fb23b34bd15483400000000e2e9133d54acdd335f3287334e34fc33b3761b3d6856cc3333688f3342ae903352d8a73cdfcf9a34cb21b53404ac0938bcae0638b2bba132d1f9c43229bb8b39067bd0330c8ba7338561ad3300000000fa07073cc4645b3f0000000000000000bfa11c3d47373b3f00000000b1e1e233c9d6863c7f69153f4335a0331f7bcd335b2be9383a96d83ec68c403400000000138f9b386167913ec2036233980be9332c3b8e385521103e484cc93320997933a997a3380ba808393eaea23460bc8533a4780c3db6e50c32936f8a32a1212f3747415c3d36049933f1549b330000000000000000000000000000000034b7d6340a10923c8dc47b35f0b1b434cf180e38e08ac63c41e1bd3380bb0e34ccc8a732f6828c3ce0bbb333bddac5337fd91035459da63cece7db35dadd7235ec54fa330bf9803cdd12ee34e92aa834552e78335b13b03cb10f5438dd6368342f7e8734e1f76f3ba49c15355a7e0d350000000000000000000000000000000000000000000000000000803f000000007870fc33f7471339f51e673fed1ee03472c7c534de81093912714b3fc704263444251d3349f70a389c69223fe88dbb339758a134d0cfcd373dc0f83e317ab035ba08ed33c350cf37999dae3ea64cf6344c0b6f336a42f43697c5313e3d4252345415bc33a44fb1364f7dd43c18722c3500000000000000000000000000000000000000000000000000000000000000003ceb8837013eeb35db12f335289f783619e2f13766e1b9360e6cc33697417b3717b9f237a01b8535da2720361485aa37729a6438825a2f372b2069379331153822291a3875795f371b0a7237d26cd837c706ce37b44b16369ff51636ead36c375420a43769914c373f4808376630903700000000000000000000000000000000000000000000803f000000000000000002a026379af47f3f8d831d372e22f935623bfd371406593fd133b43714d72037ad600a38bed62d3f9b30b737c99c173787d85938ffd8013fdc3f04387000b337abc0193830c3ac3ea14ce437a7039a37da3ebd37e0082d3eda52173717441d36a91b7137749e2438484c2b37e387213700000000000000000000000000000000948a9137dc1b6b3731ab0437116f703783084d36c0e33d3664a54136da374936a311c237c89a7d36fcd88236d2f684374f06ad37aca7e5369df00437454982375b0897377be83b36def641368d173c37b1332937e637a6369b70b73680321a37ec2df137b69c3536975839367f878c37e94b8337e4113937ea1f00375f6e7d37c11b443754f81437ca37e836208857376098b43591f77f3f23d3073818332237b8b537364cf77f3f5ce7f63700dc433675b60037cd425a3fbf6a2238e0ceb63690a120371034303f2a583138c5a31437cbb0be36343b023f3cbc02384cb798361b94cf366a9fa83e63652f37be9fcc3655364f36490d313e97acbf375bfb3936a494ad3679b8343c538f2a37de0ae936486caf36dc0eb0371c4bf536132ec0364759c63775ce16383f304d3621df5e3647e9ae374f1b2737080c833616b0a536ef7d10386314153771b59a3516f05f37d78e35389d942637da6d1437a6a8773776393538d30ccc3665a2b5365d725337f38bf237d8576d37a0a96537f8fabd370b982e375daace36be25b236ed721e37fe88ca374a7a8c37a8b81c37c0be9737aa0203386a72a5372d9d66370064af371cad2b36ae09583f35a81f3ea1f3493687eb6a368a9f593f8d4a193edc7f8336cfea8c3680b9363fba830d3eb337e73511971c375db6183f0ecbb53d40b2213708add13675bbe03eb88c6d3d8b1ccb360eb64b3746779d3e86316439a9b6673755d46a36331f293eb1e5ae37e02f97365e5f2537c695283ce57dbb3727a2b036d03e7b379d6e5e38846a9c37c11f08372e1ff0374e542b38c04bd536683aea365d1ab137259a8b3779a4ce3648d53b3796ddd93785fe14366d00c73409701036622117381c9596373ff44f36995d8e371ea299378aebb8351144b035a323b13500740c385dd89537feff72370a2da637116a283820f1bf37c53a1937ac7fca37335da337853839377bc63936b4033a37d4253f38e70a8437035d40376b58913745288736ab5c2d3f5221a53e04559836a6a79a36a0f82f3f59f69f3e47919d36ad564735df0c193f6c27873e95aec53408ef67371420fa3e084e493e335e0c36794eb435e93eb93e19700b3eada4b43537db81373d09803e0d15863d12dd663715a4073793070e3e2932843833dd6f36bc0cb236e3f6f63ba5959937dbee133611af7837a6d1f8386ebe6b371cdbfa36cb813938c7ca7338a8d61d37ef33dc36f42298371fff5b37b6a718360b3356363bb6133848ee8537e47ca1368c90e3364cbcef3746db31374233f136cdf920375eaf3e38d164e137d134423657028237f78ee637060d3f37a184203726913c3740e12238debcb837dd5b383704869737f1c59c3798a86a375899193757d741379a913538b0cbee371de565378a76a9377d2e4e362c55023fa824fb3e39f71e36ec8e1a361d50053f7a41f53e70801436b991de36065ae63ea731ce3e66488b367c0025373184be3ee706a03e3954e236efdba83799ef8a3edef8693ee3f83936616e3137367f3f3e7153033e3d321437061a7c37b52ecd3dda75403d9a76f0363de82a37baae433800d3a437705bca36aa1f9937a5ffff38725196376e81bd3602977e38cfcca5389e1b833635a84a361f99973792e94637238d8335515482356b8e2738a6f66b372ed98f3469b38c34b9c70d38d73390378159c83610753b377786a23703cebf3579a0b23585b3b03516791738c630d4377909d236113b89370a7ffd37f6a58237cf8e0736ec33b0366b42b5376bfba23772e27137e00d8a37bf950338f283a037e2090137f19c8737bb593f3662dbad3eacf7283f0bc95d3559e69d3500fbb33eff08243fd8468135ddcbaa36595aa23ec7410b3fc2c58e34cacd873770b8833ed9a3da3e083e92360d91b3356c60433e854d9f3e3c23b135fb3ab337c5d4003e0161413e105e3f35e53f0037ce03733db543a13d0c858d35c9509337dc6b5538b2ccc1370e991a3775cd9d37c23148380d858b37740ab8362653133831d52638bcbf7c36a8cf7a3651bdd03744368b3719a217369fac19369bcf67371ed5ad36b9cca9358096fa352a672438d93d8c378baeb036c3faf436d2dc4a38880f3637a34d43361fd661365ed98339076c7e37aaefd536213b2737468c3638cec3db37534fb5360f8e5537b03fdb37826e8e3705c19036197a0e371bdefa3756e81f37f9145836b4bb6536eb02da3652ff313ec76b533f50b257361929ac36688b403e4b344d3fc4201336a8b1a13697c1363e3d01283fb853813542ef99371463163e2b970b3f906da8361c0d823724e6dc3df940ca3e2ddd4236c7b284375a0f7e3d6431813e4e3fa7367957b63760d9b83cf350003ed09aa23582949237a57b36381a7d0238f24185364c6da73741e74c3884461837f1284336631e923756c26c37f25b0436ea74f835911e9537222d0c378caa0136b88523367eb71538100d3136c9391c36e3b92536e80a36371b75d7362adf9a3633449e367f45d537947a0c373e5d2c363da135368c690238c4d67d376465d336d15007376986ee37003ea43732378236ea8fea36a3e47d36183e4b3657904636f0be4836e37e8037fd493e374c8eb036e3160a3767faca369d4bb43b5a8b7e3f1de7de3509b40437ff21fe3ccf32753f5651f2357d09a9366bcf013db6914b3f18531b36732a0737734af63cd9f7233f09fc9b3633f92a373379a33c2a3af13e16032f36f8a087378b309039315e9f3ee8a4d13611b2a937d2e39138eea6163e7c758036eed84c360ed5b937c39f9a37f9f8413600f185379041a037e29c1237bda4013600000000000000000000000000000000d3cc9737c6f304376e4c5f360efb7b36da15bd3774ece2362982ef3564200536996b183800b8c13714fc4a36893a0437c49645386f6fe1375f40893615bc42370cecf237ff7ba937dacfc93536930437d163de3794e9ab37a50127376536763793624337964e493736cbd8364b481c370000000000000000000000000000000000000000000000000000803f00000000d7a54b375349e33769f47f3fac4b753693ce14375ed129386db0543fd919043685cad33704ea52388788293fdad114376ea3e437eea89d383611fc3e298a7e3713019e377a793a387b31a43e5295f536bdc88c37704c2f3834a31b3e70973f3747a1b0362d8aac371dc20f38f469f9350000000000000000000000000000000000000000000000000000000000000000b75a3d38bf3500384a2df136b6b65a37c1974538173bb237ecf21037fde57937c2a99839939fb637df2d62377713a937ee609738a92d0a38103f8037af88003862e65e387643c0378c6d75371710dd373cc846385c360f38144ed437662d15386509b337839888375da251374295ae3700000000000000000000000000000000000000000000803f0000000000000000663d413813b4733fb4240138b18335372c60de3873a94c3fedc7c73702a34837d52ef839de10273f5491c9374fab8637e60e9939e71a013fdd001438e2d69a37d6100739ea05b73e190ebc378cb680370af35d386efd563eb35a06386e57d63774cdba37094f713ded573637c7646037000000000000000000000000000000007430063804f03f387aae3b369bdb38369ec5333af2344338c912bd367f36d136ac6ede3944b5c9370c555a363a15bd362a46253a4a34f237842ffa36018154373ee9f337da1b8d373af007377137613763d7c53864efdb371c70123716fab33761e906398fa6c537309f10370ce6b33758810238a4a6b03704d7bf363c19bc37c5d3e437d9f4a9376f564037798ebe37efb891366049723f844f5a3d37de4836a2ea16383d22673fd7d2533d977ac936f9832238b972443f24e1023dee827b36a7362a39076b213f8d130b3caf350d377baad637aed4f83e21dac637d72213373de049387590b13ea3a602380cf816378e1a1238be3c523e981cbf37cdb3103766f2f537225e883dffea5237d95da436e0cce83794663738666d323753382237516268381c64d4388a378c37aeb605373b132a3a8c4ae739ebdbe735f35ae335f4756c3a78bbb4393819a7354a0bae356591bd3838a534380ed4d4355fae18366bd363384a7913388d4f8936de6ee236b741d039a1d75537ebf1ad35d4d4b236765620385c8ab13762ce0437d09f3337190ecc37cca08537e13d8d3580c42b37615c2238fb8bf63746c2b23789f4de37158b8d37a97a4c3f6fa54d3edf162237bc72153776ea453f614f403ebde5dc35b2ffdf364a0b263f3648183e34a6a935ec461d3870b10b3fce25d73d4906bb35dc6a0c389988d63e4302963d6a7b5a36728138373c099f3e8e58b73ceba145355044b4377e40453ee0ebb43702adf83666c09337808e873d66f72f3705fc883534a10c3811e42d39bc49c0370aac9b379623ff374b4cb63872ade5368998503653084d3920666c396ee4073692ce06369be56b38a4de3b38639eac36ab0e9a356df8a439cdfe7a37b9116235ead463352cdc4938b5c7f13732a5113702641337f7bf6f38407332388e9c04366908153675040f3aec017c39bc10db36757325373a78e837e10bb237e02e163729455d373904353898e1d7373fa2ca361b2d45375d35f036cc56273fa420b13ebdd05436fe517837d021233f448aa53ebae90636f7bd023837e40b3f6248863ea47392359ccc8a36d0dee73e6ff74c3eb0665a35d83eb8376256b43e41fd133ebd870d37acd2143848e0843e8885a23d7ee0ff35f50b6037f42d283ef742a03c5bdf8736ef4aab37805b723da66f9a378f1fdb360af923382322143a5eab8637e8edaf367d2a1438dd06bb39a5ec6d371bc838363f8bf238c341963901f8a8360463a7365110023aced98439c89ebc368901a936fba6fd39a8f6993899c0af36f5b6ae3667db5f38d866393816d884374ce22d370cadaf39e69a4c388063b1364274b136e68f9a39c9e36f38ae2ff336eb19053702aff33775b2cd373baaae3669b00737149b0f38abfdd537bc4e4137881f8037cfd86337368e013f1d6ffc3ef041a1366aa13337901ffd3eaa44e83e47a9a836da938b378f88da3e95f0c13e2c06a936bdb0fe3735f6b73e15b3973ec4ccae36aa8216389b1d8c3ef9a2673e439f4337ff9b0e381637523e86620d3ec5c4b036cd9be43760ed023e96ed853d1906df36c94db13763a3523d746ac337b9d2ae369ae204381d8a9239c0dca6374ebab336b85e2b38fc27183ad242323757cb6f3562b6f5370c683c3907ba6736ca9c0c36cdf5443a4f9d0a3a89125836bad4533673258638a25450388f35c2357579a935eff1383877b1073853b40937449cfa3675babf387ade62371fc070359dd8653572824c382c5f2d38171a5b375ed009372b054938e0dce4376cec363716d33c371080c0377e3c873793b5bf362539f036b5b74637bae9b73e06b4233f64707136547b2f37bedab43eae58163fe71e0f36fb605137da60a23ee672fe3e17a856367155f8378b3c873e300ecb3e2570aa35081fab37fe58523e7f61983e1027fd3615a7e73693b11a3e4326483e33066935a7320e387385bd3d229ec93df7eaaf3618d7ab3769111d3da7a6063a331e9a36d82dae3726557038956a5337c6c360369c8513386ea89d38d5218c371d837036b17cca372dc3f23766ae69356cc34c35da172538bc011a3889fbac3536018635b2acd239f241cf38f38d1135edd10e35c9915538ed0b2b38b6755736dc4151361ca86f389bf4413866739a35f3a6973580a8e33953b17139565eac353170ae355bb105396396913746142c36a8de2236caf24e38c5d71438583608377a170b37effdb7375d0a5a3ea65b493fd5cff1364032c0364568593e48a9383f49f259355d9a4537c2f84c3edd621b3f713f86357cc52e3722992e3e2bb0fd3e78350a35ae32ec379f1b073e7949c03e208e5436396c0e38ac87c03d9685823e118b9435237d16379fb66a3dafd0123ecfc3a5350bfc7b377c3e9b3c549f9a3c29fc0136c6334e3800a48e38e544f337b6940537b6abe8377e781e388f7fe23648911e36144b0a383d091e381ecd8b362b2886363d0e6939d2e21f394db5903674928c36722cb23846834738b3c17a3661ce7636ab98e6378578cd37860cfd3641eff2366d2da439f609eb381961ee36f8aee636fcba3438789a213816c45c3665a35c367cde463888783838a7b7473761e1e136d44cc3372b182b37bc903736611c36363fe076378a4a843d9b646f3f84e4243689ce7e375279a03d59d85a3f1db18a36755cc13718c4973de54f383f0dfe8f36c09de53738f18a3d5bc2153f30667a3605f99e3727fa753d8353e83ed109f936bf220538579e263dfd4da33e1357e7360e03a7375b3e933ce88a3a3e44bd5936aa89143807d59b3a1ba5313defd9bd363030be37ad10373868860737643b363600000000000000000000000000000000ab9bb8377bb7c437f0309a3640db9336323e4538615551388ed3c237e24a7b3645e14f38920f6938cc106d37659260378a9780389d258f388c62ac377f64e0366043f63794fd1238f3e9943722ab4b37625cf43779a31038db0ba037034d66374db3173891b22738502ae4373deab6370000000000000000000000000000000000000000000000000000803f000000006f988637f7ac0e3922d4703ff598993685851a381182c539820f4a3fd75dd63781e9f1373201e9398947243f381c7937e6dc2438cff6ff394439fd3e39c4b137a1cfcc37ea80163a120eb13ec627933703eec137daf6d73809e24c3e2a648f37f287e537c8b240384e3d433dbeabb63700000000000000000000000000000000000000000000000000000000000000008b202f3ab78b163a301a0b39b125c937d010043a6537c939eb9d123830cae537c752023aa5c2c53975ba4938dd82ae3722fb4d3ab1f4fb39ec1e1938d79d083826dcef392f6ca039954b0338d6acf7378d2fde390b6e9039a48d0e38d8ca8138c88a023a22354c39ee070a383a7c443800000000000000000000000000000000000000000000803f00000000000000008886303a90de603f6a31053a42f418398908103a39a7403fa896b239e90d193882380a3ae844203f9ecda439c1cc213808936e3a21e4fd3e484ca939ab651e38537d0c3ae10fbe3ec0656039ba1116389dd1153af3d3793e4d5d263965fa073860b0343a9adfee3dc0361e38807e06380000000000000000000000000000000033ed373a9393713a70145239340747387033163a2eb6103a6c7be437b2a19637fd306f3aa342c1391b17d03726ff713740d25d3a6f9c3b3a19591239818a3b381550b33acc6a3e3a88718a39953b5c394919143a02077938a72a1938a12d0f3803bc8c3a112edf3923f20b38ea89d137eb18143afe03ed391f6df538be80423964aaae390185b73809090a38d12e07383e60d539ce12613f1218ec3dc61d3a39bca4f2393839483f0264da3d10cddc374f9f163a50802a3f647bad3d3f35c2374a4a5d3a7cfa0d3fc360893d26a7f83815e3ba3a15eee13ee2c24d3d8cf9873963b4293ac2d9a93e52f40e3d3c7315380a42a33a26e7603efe4d8c3c060cd5378a811b3ac339e03d05c676397cd0b03891f4f139ce89273a30091738367e043821fb6d3afa91953a1ee063398f9b4237b780713ae0eba43a1b308c387a5e98378696dc39fb0bd139fc9ac33700432037659d183a8901f439bd91e73722586337593b7f3af6bb2b3a6cb23839a6adb4372b02503aef34203a7bcafd37844bd03718ba393aa07d0e3ae413ac37b3c269372d60d6395423bb393dc5fe377f22ee3740b02a3a82ce003a4ae86b397c3c7d39b52b0c3acb0e403fe996783e63f9cc38e1f9043ab24c2a3f9ebf5a3e7375b337493a9d399c5c123f57063a3efa12ae37bdb9da390478f43e94d1183ec856d53727e74d3ab942c23ec18dec3ddd1923395163313ae7bf913ead2aa93dfce1ee3717801d3a319d413e96e1533d0ef2793707cdbc3993a2ce3d3c8631397515ec3726a12d3a2e16773a4b71a939c5ad42395509313a12175e3abdcbf639d005b138716e683ae8099a3a98067c386da26f36605a0e3a689d3e3adab20b384fc3b637882e533a23454f3a371ad83873c84b36e531383a10658c3c369595385d0de23795495f3a59af3d3ae4acfe375532a037f68db93a6caf543ad6e59239340b21394ac7a33a8ca16f3ae85dc839100597394292c8391a53b339de373138fffd1e3857e6ea3983dc1f3fb1e9bc3ec270ca390909c63919da0d3ff9f4a63ee54187379f287e3955adf33e9c478e3e947a0238cfc6103a9009cb3e600f6a3e2a412038a3e7183a393ca53e93ff293e51b9f437e5f7353a5f52733eacef053e152bdc378d878a3aa1091b3eb5189c3d8119523905418a3ac3979f3d6721063d2f079c39bb44c9391dfa273a350d30392ecd26384cc5de398b58413a89d94039430f003843f896390fa3673a29a60a3833cf7437a7fa2d3a02774d3ab927663990450338f909993ab816af3af1c25439864e2338dc2a163ae73a163aa4994939fc9fc037947e9a3a3001863ae4f4a23862202638d6992a3a34dd183a02da3838af1e1d3888d38d39de5759390c470138d747d237954de1395502bd398faf7d3823590b38c01f73391b4ffe3e309dff3e52698f38d429783844eee23ef8f3e03ef08ef83776acec393279c23ee962bf3eb05a0639835c0d3a61d8a43e669f963e0f0de8386ef2013ad46e813e16227b3e1b490b391990673ae8d3463e97793b3e7a8b333862961e3a177a013e5609ed3d170f3038167e6d396ffd823de2a5523d3030ee37cd3de339f4224b3a774872395f8117385ce9be39b2f2083a7d8216394e9a103848cc9f3ae172ff3a8673c039fbe7423743d0b93a3aa5ca3c177d2839667ce73616b1563afda57b3a6e1e50380a76b6361117283a90393d3a496f1639dc5add3719822e3a172b283af53f8938bcacbf366e2ec539c167b23970c20a386b5ccb3773274e3a8969303ad5f48b3732acce36f0642e3af1351a3a5011803937a84d38c2305c392467be3eccef1f3fb5de5638dbb7303ae42da93e08e10c3f9936593929651d3aa1538e3e5e4fed3e327d0938b5e1ec39362c733ecf69c73e58c5db37a645033a127d483e3bfb963e886636380626133a3dfa113ed07d693e41857a3759d497393740c33d55cc173eae52013876db2e3aa453413d3f068b3db96a5237ff1f373ae4535a3ad587f939658d0b3993b5143a468e623ae059d039ae72d7373b19d239c1b1043af03a0238190f2037a7ca2f3a82da8b3a837c953796f4e036c41b3d3a0768623a1f7cd138e827a63749194d3ae28c893a76f38b3974e97d37bf93ed3950d7fe39daaf0f38bb3b49374797b939de3bbc398efaec37b7b34f37cafa413a9b79333ae596d938f37e9f375446533af52a3d3a4b1ef137d03a1f3730bdc3398527793ef91e403fdf428e394f35673953f0673e04862b3ff21fe53755d9a6395195413e33f4103f09da663799d7d439b098213e4df9f03ea1e4ea3792db0d3a81f5003ee740bf3e6c703d3969fcaa39c238c53d0f578c3eaa18eb37d4cb8239239b833dca76383e8842c537084a183aade5ff3c1401ae3d53c2ac37f3784b3ad5af963a40cb173a87f15c374cd68e39b28f3e3ae7b0c738effcda3794810d3a283d3a3a576d6739c70d3236d474693af799ce3a6e4d1f39f143ca36a1af7d391b11553aa70b1a38ec57af375dea903a413dc33a66cec6391b6ba03701dd4d3ae051643a1625b93919ed37389759c1399d21073a59660938edff6637acb0f5399cd8fd393fa10f3859638c373142fe397c89ec3928391c39b28230384c391e38cfc9f03d1e28613fbdff23385c6cb53999e2de3d260a473f6f2adc381749b3395e70bf3d19f6293f21c7a03840f83c3807f2a13d2b390d3f654f17382354223a20027e3d066ae03e3d1d9e39d94d203a2ab1413d14a1a63e084d7d39623a7339a9fcff3c1c135c3ea167e137de69c2393d1a3a3a053edc3d9101c8375407f0393f0f823ae6b8d73928d74538000000000000000000000000000000007fafeb397e614c3accdb8139dc4fd337d282cd3955eb223addf06739cd76c837fdc4d8392eb1063a57947639d3858c3777fc2c3a98645a3a9a5a84390433d837f171e5395c81fc39731412395135c337390bd739581ee9395b312439b2d5dd37b125123ade77203a82c3b1390baea7380000000000000000000000000000000000000000000000000000803f000000006b371f396e42473aa617613f09fd303920a5813983cb483a9c7e403fe1b65a39a69a92395777173aaefe1f3f30766739592ede39af4f803a5a13ff3e954c40398313bf390b942e3aaa5fbd3e3729c9389870a739c791253a2061793e87b0db38c9d7f0392b0e3c3a015aed3df63d7f390000000000000000000000000000000000000000000000000000000000000000e30ed136d14eae363b91b136f569c136576d05376ea2a63629b3b93668afea36c44bda379f73be357871d8353e9e1a378034a837247300376dee0337aeb64237301b003724254136f8014c36923b5236a07f4638cda116387c7cdd37a52c01382776683728bcfa36a574cf36151dd93600000000000000000000000000000000000000000000803f00000000000000009d50d436e0fa7f3fc31bd636f612c136b3db5c370c13643f2e790c37f337e336b429733866fb323f4a0d183870711d376739fc374713023ffecdce37976b1337cc480e37817ba23e39062f375e075e3651fe45384090013e231d6238e4ec0538f380d636d24dbd3aef8e9937e2bad036000000000000000000000000000000008a0f11369d2b2637e8a22137e0ab2637d253f3369d21d03626ca08377aa11b375ce74e3678c90936b1e22d365b305836b121f435ffecc735bcf6e635a91ef335fff5f636b6f5c23667bcca36cdfdfe36873c1736ff2213369c6e183645af2036e1f27437a79508375931c2360b92413726d4c3372265d437c0de8f374607a037b61b7936eface236d8dd75369c4184368654e53589f27f3f3903a838ea1e2c37ce25c036bff97f3f17357f38e38c1b3731fd363611c26a3fd473023853ab4936ab0deb350231393fd7380d38bd41f435724ec636b223083ff0bf3e38fcf4df3620b10f360805b03e9bc88b3884f41f36d3a1aa36b4e2133e16cb8338241d14377c1302379ae8673c2e263338044388374c2017368d08f5377c438b37146c5936dc78c4357ce33f38f267da373a78f636a332183731581d370f581f37ed58223716bf2e37b48e0535d3e505357bc04c37f9f70c3557b1133599961535eaa60c357c4ad036a0f9d236308bda365b9dd836d6524734470e5034a5765534a37a12350022223630ac233622a42b36bc3827361be6a437706bbf379c7959372baa57374f1f92376dc5b237acd96137c79f6b37809e9635da84623f03c7eb3dcd652f37bbb907379ca7683fa9b9ba3dadd81c374e86b83433624e3faa09af3d642ebd3637b30e35d4e22a3f4e431b3d116b1135981dcc36ac9df73e646e963c6ededa36af3345348fe7a13e2c77293a431c5534f1e20836be39153ea609e237f2b22836d6642f37b999de3a22bc21381b073f372b16d133e3f62738f517da374c2fd7354cf7bc3524dbba37c6010136ab626335c1937537497f78374eea6837bea76437dd9b8e36f9a28636ec348236fc6381369de44f36c4e01f34128e1a347b751a341add3937dea939378e843a37630f3937322ee33682fb7d369db6653601307236b06f303831342b38950f0438901e08382f512537802a2737221c1f37404720373942f737003ee137ef341d3751908736550faf34256b323f8d179b3e03072535871a5b37f84a383f5f118f3e33eb5d370abc7a369d532b3f43696f3e35b87836931e21349bdd093f039c263e0cee1b34af0435377ab4ce3ed966d23df7e63837789a4b363d6e883e1ebe273d50c55d36d8ed49370463ff3dc7b76f39656ab83786311237f0adb53a3ff68e37bfe3163703cc8036e8a8dd383b1e2a381d0d88364d9169360d83073714a03e360d812b36e943f936dbc8fd36de98d63662c5da36a03fc437d7538c37ddedd336568cbf3654b45037caab82364bc25536877a59367189da362910d736a6d3cc3683e7cd36f753d837ddb8af379cac8336b49e8a3605f51338468b11381c48aa370f0aa23727897737e2fc62370187e936d854ea361be18136218172365ce35b363f4d623644ac3e364c45023fcb73fb3e17f31e361873e136ff9b083f1bc6ee3ee84fd336dcf8663732f2fc3ed1dbc93e106e96365c0a83365a48d13e08ac933e22ae4136325bd3364c08973e0811523ee3a4c93609de84368ec1513e8cf1c83d5b247e3665129137d1a8d03d863f203ce23b8137f91ae8363a75f8388880253873b2e8368ddd5536a4d7a737d692833683264d36cba90c38ad6d8738c0597436dc786a36539f1e377c871a37ab6602373d7a0237ab4114388d7b8737704a1334c5502034f1631137ed05573615cd303675482c36217650375d5e3937baf63137382f3137736ddd378241833703ef2534b5ff1a3421e99836baf59736ef828f36e6b28a36fce0ab37f7558c37a2747237ac31723737fa5a3751063136a7c493353e2d8735a7f083367fcaa43e35902d3f617d5a36049011379b99b23e9960263f95defa36da2da837037aa83eccc40b3fb3d9a5334bf6763681028d3e3499d53ecabb22363d4d3937487e563e3373913e64483037e1022537fcd0113e614b203e88222234a2748f362b1a903de0acda3c3be48836bdd78237c8002a3a7c8ed7379cee62375cd2c936367948387664063622fb1f3503c6de375e57d53735d2ca333185c533c6dda037c2414a378701db36bf5ca336f64d22363a3313364d92c4354f45c73583de2c3785cc4a347f2f3c3497323734d42a1e37d72fd636f610c8368054c53650096035a4a61e352bd2193514b91f35d87d35381dd21c389d80453747eb2d3734ec7c3770ef25374b101b37b48d183778f2bb3791ac4a364273cb35d1f5b53564cbd5362d62093ed3a15d3f903acb33aabc4a37e4f2263e5bd4553f6f149b3655fb1e36cc2e233e6bdc313f8d7bbf359ce2e136b8cf113e7a770a3f31883c3434f5e136a0bee63d7960c53e60b7c436b1b81b3517b6973d59ce613e4f3d18356e680e388981193d40d2903d8d7d07353ff75b3702526638d015c037cb711137936e0f38badaf038b57dd3357609be35d340693708d5b236fbdf0c35a2f6d032b4ace0379eb2123749205136b72d5f369fbeb4373341ae367fb862369cc17336e2725d376af60c366fbdbb35466ed035476379370d22fc363a39b8364e50be36c835ad37d8475137a3d0d9358592ee35a77f9637b8419037891a4936fb1d4636dc624b371e9847372310153781f010374661543753dc513602fb06369916073682869336b1551f3c607f7d3f6a42d9323b94bb371aff003dd545743f127c50365139c83754e7903c2786563fb20f6536beca2f3720e8e53ab28d273fba5cc235f50d5b375cf66a3acd38ef3e6f5fbc36c36b6a377c83ab39247b8d3efdbede35fd180c373ebdb3392c42a93d1d993b36fb814137e7917a38c6573c3880c7e836ad7b893710d3fc371d9136363d0d0336000000000000000000000000000000009f19de3698c6b136476a2e361c95373658f52d38bcd76737af8c69353ec693350fbf1d37d3cc49364b241236e48d22363c94ed371d588937cc35f53663fafc36cef01e38b58b1d387d572f37d98e71371bb24e37187e663716992c37723d2a37c5a5da361216ee36134ed936e3c9d7360000000000000000000000000000000000000000000000000000803f0000000030d3d5365eea5c389ea17f3f835258361c24333806c68938ce8e5f3f45eb9035ff5105374faaa23777b72e3fd0ce2336438cc437c22b4a38fccffb3e9ac90437d01900381eb49c3803fe993ec1931b38003417378b57af378941df3dee994f37ee3ed0364c001e3722677b385373d336000000000000000000000000000000000000000000000000000000000000000010cdc536d2c90935af0705358a6c0135fe11973750561b3400000000000000009870063820a17d36b8136e360c6a6d369e4aa8379e9e81360cbd2c3626fa4e3661a0d43769291e366b18cb35f1a9ce35a70b2c38a8170238bbb39137f3dac73768c7c93788bdc637bfbc2c37f784883700000000000000000000000000000000000000000000803f0000000000000000c9268f370fe97f3f2de42035570a0435759f4d380d8a593f204a463500000000fbc945380fe42e3fc8df04379ffc6e3643e0ca37be74033f22b6e2364307393649c9e137c728b03e0ffb51378eeed3357997fc371eaa353e93941638921ca137b13e7d363cf3fd3cb8a1b23713e7313700000000000000000000000000000000005be4343e2a1238d7a3933546cf2e35afb3fd36e790a636cbdcf935eb95f435b37c1d3693571036bf3d0736f56a0136ee223a365afc2d364e782b365f492f364282e3370e18f93648d8ae365e24c1365befc037bf0ad2367b6a043663ec3036304c50375249243744309d36a427a636c31a9636fd1ce33603021036bb7d1f3655b7b6377b44d437f0ea2a379cde7a37857595347d997f3f320cc93a1a9827350bdcb5354c00803fc77dad37f576fd35730a2036d8fe673ff2bd71379bcb0b36737f3136150b3d3ffb5c7a36046a2f36f9d4833755ee0c3f939e04382572c736c0987e36d582c03e1f900b38c4a02036102e8336e289503e7798b2379218a0365ce89d3565393a3d6cdaea363bbc1836298c9d3500c36c39723e9a37eb1e5f3679e88e37c2b13838a069b83776af6537573d16376719e63796572236fce70c362df250366e18c935cee6bc3543f3b53591721c37ab235f36e283e1351405df35d33bcd37ca98ad3783ab8e37553e8737b01678376ea91337feb67735c2967f3550968237366e5437ac39cf35bc7ad835e523b2362f46c136011cf235386cf7352a927c37c17a703755310f368a991c36ef228f36b5da563f2a6e243ec19c8d37df3bf8357689643f8203db3df48c1736dbcdbb352ce94b3f951a983d3c07ba35d266c13523fa2e3f018f8f3ce554de35d5877e37b024033f09a35a38c9dd8c375bc82d35e71eb73ef56d153806b17d3523d78735bc13483e46beb93766a2cb35eddbd13556c7213de4debc367902ee3511f8a935997a76396b16dd362c8a06364d406137f6758438cd4ed03609fc3636f3a2893699fded36e75a1e36c0c7aa35b1a03d3595b9893492618834010b72349893f636eade8d36913d8236be8a6f36b8b8cf372587ad3735f72e37d7fa0737d2fa4d37354d3537a081fe3476c6e3345bfd6e36edb77736a13c6936551d63361b178c37346764376168a0352c589e3579241a3763530337a88e5936660040362f462b3678bc2d3f276ea43e539c36362e2f03365e373b3fa509893e3dafdf35ea487c340b1a303f0c2f403e37f58034c9e38a369a6f123f9d9ef93dd5ac7a362fdb4437c8b8e13e66fb903d9bcb2037eec3dd3360d7a23ebcda3b3cc918e934c87d4b36b3dc343e3e80ee36ea546636ee12da35d129003d769736374d3f9d35c77bca360a7ca738afe9d436a330f6352c3287350f9c0c38892891358089863594eeea3680f00c378f7a463697cf283657182538c2e5f237747d79351f96463510f5ee37f6646837a65e953512f27835b9517e37ad6233378c299736197d9036b750e337265cca37a368bb359ad2b035b135333813a5333880b63937c1a3b035b2af16374db40037af8864362c3b683695b28c35c1f58e35e10481350d3e853528857c35e3bb033f1869f83eda96893565f85b3690ce0e3fb720d93ece463a363a419d376c58053f90cda73ef245693563cfa0361d06e73e626e693e4a348c35f0d9cc36dd76a93ee10b2d3e9e859536d452b5351525843ecf5a803d2a9eb7352337883729061b3ea2a99a38c0f17a36013d9f369e40943c4497ef36b0856636cec28a35bb47843941ba8635b0368135baed0e374492be37790ec8353ac6b635ca495b375a50823784aa953589968e359d996a36271c5b3606931936e9a2d235d1a57e37103be83587d3d5333c9ace33d150f6376af69437cd1f9b3605e5d635dfbc9237e3862937919b88363d427d369e5034370f690737ff607b34931b6434512bed3619f19336d8b8fd35286bdb35bbc1f237d9e13e36abc82936fb231f36b38968367d16b23e2ff1263fdfccc435124ea935827cc63e40c2143f969c92352c8b64369f22bc3ede79e93eb5a70a3688fe6b353c83a83e1ad9ae3e365ed53338ed7837bf08853e9b206a3e75bc6a36faaf8b362186433e3a1eec3de32c84366a4187346ad3f33dd062b03bd6f7733449dc9b3674189a3a258693368e93d1359c94fa37e9090b396b2e3e361d9c2436ed458837b696a337d0460a352c03f534466dc236ba6639364a55cd35475ac4353a288e370f83603683b48434d5103f34226ea8373dddcb3599838d341ea9fa33df0d09380dd3a6374775b936da0c0836aa7fad377ceb1f3742dfad3554cd8635e619183704a7f0364923ba35c58dae35e577f437d632c436014700365ad9ff35a298c737d4973a372b464e36643b213699d805361ebb3d3e6c7b503f682c04355291dd35a9b2653ed27d3c3f33f1ca35ba4902366c7d563e005d183f9f567434296aba36f5f6433e4ee4e63e7e2e7834a589c137f42c263ef090a63e160a94365a4f0337d7dbfe3da4ae323e56b4a2354c82d13515d4923d8a3b6c3d6969ba359ec8dd37670186399d774137924ffe35c9e10138444a2d3881a51c372bc12236fc4de137803dab37c4ad93355f568235e5f7d4365528c335f0373835f65725359b77a137cfb9a6365f30463639831b3676660f3837116c37c5d8f9342a6db0341a8a11381aebd73726f4a6341e1daa341d1cb136821b833671bc1e3615240e36c8387d376a1fe8374908243646ec1b368bab50374dc322372445bb350680ab35d6c706351336f134a3c58d34962f8334a0688037e65b1e3d0efc753f21888d35f62b5436de048c3d44dd623fed3d353551a23f3753a56b3d8c263d3fe3c84136e5068c37f3cf3b3dbafb133fc35cf7346899aa37684ef53c05cad63e6376a8348bc03e36ede5933ae468853e7f8e1f364ed61f36f5d42b3aff8cbe3d18282536d2111a377c690b38bbd486379909c335050b5b37b53d0d382575c234e9388a340000000000000000000000000000000043dbcd3743930b37f9936334274f5434a41830384d7dee377ca2a336db1d73361812d537dac89037f09f8f35a4305435d3049e376714b5375542263671d6f4352109f3373bba2a3801caba36751f80360f0121372d172738752f933796e136368e804736f3989537018ff2360534fe350000000000000000000000000000000000000000000000000000803f000000006cb6a137b8c76339c9fc773f96866934c6e5103840b5073a9f66523f84f5a836c9c50337c8a9db3974cd273fb81d9d3530fce136c3239e38fc10f93e237832369a59b836ceda6338dc16a23ecee61e37e5350535c2873f3895c8193eaf13a53729e41135da61a337387b79392354bb36000000000000000000000000000000000000000000000000000000000000000014b6ce371b802336b372f6350869b1355f5978379fc08535ee82833539768535369488386ee1bd36b04f1c3621971836a9d67e38b7a1fb3757db3136db1ff635bd20f9374467b33728ef6f36ccf62435af6101382d31ec3794596d374dfd08378fb984388ded5f3828d2cb37733ac43700000000000000000000000000000000000000000000803f0000000000000000d63f2138cb17713fa6a222366339f135bd76af3955904b3f57ee853538a2863552a338395970263ffa31003758131c36bb80843829c2023fc0a60938d3891d3681f1c737bc64b73e6b2cbd371abc5e360d30af37dbb25f3e94b1e73714876f376b1a9d37f62d943d45214138546ec73700000000000000000000000000000000419a8c363a14f8392e65c237e6404a368ea21e38794b07386571c3363b9db836da143038a9a366376532f23568eae1350b62283861f6e23738c83f3688c83736047412388295cc372cfcb2363ee8b33633290a386b33123846de8537d2dc6e3690e43538cf8e5f389a4d393749c61f37c6be143851210a393a6cb3379f4ea23775c45538af09fb3866b0df37f1337137fb930f3636966f3f4d05823d9443a5372e66a23775326e3f10a7dc3cbcd0c2363ba18d3686b44b3f1ac0713cddd3f235b23ce1368881273fea059c3b89294036412d0137fce2013f7d996438a054b4364caf24371537bd3ea8dcdd39afe07337765b9636c4a9673e50bd9039c431353733869b36a267ba3d89b4a438e28fa03745a9323685e5363c56314838ae8ba137e69e3b38d8a84a3a7ccaf537a187bf36ee3e8537ce0b5a3792cd97360cc98136a714123930e80c383f0b95361dbb1f3624d14f38c8ee1b38e5f6113629e60f36b92855380d9f333840a4b7369fbdaf36b8d445386d012b38dc9b6437e39ccf3659b7c637bbb8763905c67037b4792137a8d03738e2cf5138dcd64b3782b70937dfa73e388ba11738d85b233701d85b36ff2e9436238d4a3f6287543edbad8037243fde36f9414d3f2628273ee24992364b20a43761492a3f8956093e69d4863614ff9f36e14e123fd7babd3d63d11036246609377e56e13e2d298f3deebdb536b6b23e379938a93ec76b0d3d65d44e378b327736d76a583ed81b513c00345a3737b0aa363fefb73d12063838b4451d37b404b037e917863cb4eaf03736e78736b1d4133849dc98384793c936e2f9a93509274238526623384c89e936aa46c93698f3c03748248d36adaa5b3632b22c3635b74438b165e937be37a035cd739c35d15e5238a80a1838ce1702375b2ff0365c92cf382f582d3957846d36b60b5b36fdca4e38dd074c38d4deb1360bfbaa367362bd374aa08937fd5b03379da0fc367d44e4373c6bec365c29e3362789db361b16bd359834273f6b77b13ebe88c235695c5d37e269283f25b0923ec9ffde3660ae8136ab32123f6786683e219b54366d53593721cff43e44b0333e25fb9d35ec980d377a82c13e88af033ea4b0fe365ffe5b3615dd8f3e19e7a23d49126a36e4309436827c393e611f0b3dc73bad362c76f4368081ab3d49064f3783600137d1c73c3780442e3c7a35ea36a936e036de871538e0a50e39746d7536fe375d36b46f4538c45739382777953694fd8036976f3b38b59cfd376c412c36db4421360490443859d00c383327343656771636b4117438926c6138591695379fa58336a91d3b38cafc1038b8312e36e9a61836282132389aea1c38993e7436edc73c36550f3f3879f73c384f064c37e7b99b3606b74938f9e48137b32970369ba959367cbd76363f0c033f3f6af93e63a86d368cb9f23793bf033f88fed23e15cb913694e0c037aa24e43e073faf3ee8fa2a3646ea47375df5c23e182a883ec5a82f3662423a385723963e9a8b533e93683f37c9bf203715da683e87c8003e65392c363dda2637f08f163e6307853d21cb3d36797ccd372f86953d75273c38a14ca136a67e0d3891082c3a967f0437e639693679f78e375e865a39e46cdc36be92c4362065bf37b4351437f08ce2365f8bc13685886e381fb7c937f0267e36816f3936ff74a3390d105b37f0a43a36d6970736ad1660388456e337dab6fe364c89e8360bcd3938fee3e937472fa335932c9e3586ec9237f2b9ca3685307b360f7565364cde4238cb3f1c389336043714c7fe3696b4423873a44d37acbca735d04c603563b4e4365b01ba3e9537203fb7e9d4363bae02374d3fbf3e93f00a3f06ffd936391ace37ae4dac3ead7ee53eebc57236886119377988913e1a95b53ec25932364bc98537d2e3673e97a7883e0b92fa3673864037265d313e594c313e23d3a0355aad75361094e63d39bfb63d0b567736377c2437ef2e633d7ff42a38b6d30237e16334388702c43857ae8d369c059735faf72b3885b93d38a5b93036c183033653ec473801fc7837cd7d91360f2e483622621738320c3e37b0edd6358b4bcd35e39a55381f0f00386263f5353abe843548536538e1c000388d729836459e7b36464e5538f166cb376b360e36e8f90936899137380970073846848d3685852c363359743758fd45371e989e361e808e36944b7438902475372b748c36ba8779361d8bba37feeb5e3ec007443fa7382136f2f2ca37d805703e69f72c3f64088536b004ae37d8b45b3e67a50f3f6f1bd535504aef374db9413ea434e43e567be9350f590a38692f173e383eaf3e20bc92364224bf37004cea3d31ae623e08600d36761dc7372319913d95c9043ec15880366839ea36f8f70b3d71d85d3a109b9936caae84386208c2398ed1133762428936a79d643892402a3861a31d3651aeec3517f37938f418a0369f118d36f9186f3637fd7938b6ba7c373908fb354717e5358f7772380159af371c52f4355dd7a735401f2b3815a68937726d9436b24b8036115029382290b7371b1f1836503b023659791838b48d8b37a128ef35074cd435fc3f11382fdd0238cca1be36ae38ac3638116737ed202136a3f2f235c9589e35257e30385e319d3def60693fbd3c153632b05f38eaf7c83db4784f3ffb8a8a36ce7230384914c03df8f72d3fb116f53566ee09388df0b03d231d0b3fec42ef35088cc337179e983d4202d63ee4f49236bc80b8377e82643d7ae7913e630b1736a6bbad363f82f33c668b233e0a64eb35ca20b937926eba3cfa89a13c1683ba36d7b61138e2393b385f811e364ef0e1350000000000000000000000000000000085ee873826d13338e6d56036de04443657ec07389926d237ca59a436376783363f73f637354ae037dbf3183543d41635f4be6338a780833896cc2a37a966ec3579423038723f9f38118d5737b0202636314485357934db377c019235d9b487355a254237c9b90e3843d0e0375fae2d370000000000000000000000000000000000000000000000000000803f00000000eb453e3881d8433c23556a3f5e615f36bdfee4374e624d3c8ad2443f81239d360f39af37bdff563a8709243f677a1a3535b5da37af80393a3ef6f93ec5cdf03683991f367919083c9cb4ae3ea0f54937785c8635e141c1371c45513e4ad79135a32c1c367a31d9374ffc6d3da4e4c537000000000000000000000000000000000000000000000000000000000000000039fb4c36ae493f36ac94403696d64b36fdc5b135aa9e9335022b9e353789b63521356a3546006a351c979435facb75350fff853638d17236edbc823653ac7a368431e2360ce8363535a37835f0ca843515194537e39814369e8a13364c600e36b2412e3654043436bf464836b003403600000000000000000000000000000000000000000000803f0000000000000000725d4636e52d803fddb14b364cbf40362d76f136f6d6613fc3489d356aa0c33558082a37df97333fe354a135e046cb35d36885363354023f28e38b368f318636a1bd1f37ca92a03e42ee2f359b477c35e0de1637fe0a063e833b093654ab273686e32a36cc0d9b3c09ad4536c98a4f36000000000000000000000000000000005b1688366b06643775718636e3037136212b0a361f839f355808c1354b20cf355e154f36ab09533629c86036a3e25e36935e24355ccf1a35a75c313558698d35b7710435a09b343555d0343565e43a35b955c0372a6f343628a95436dd919e365774b937f20390354a60e835347dd336fc37bc35a303f0355c58db35340e9135c6549334c6c48634bfc38634b9379134a2770b36bf19803fb3dc6939ca027b36ddc08e357816803f6bef2a383ac4db35987151361fc9683f2ebef63734c871366b420a35396e3c3f16f56b357e675b3553601a351ca10e3f91515c35db112035c81b61377fbeba3eb374d537dceb683616a299367814353ef982a83745420536c705c135dfa05c3d2729c3359c0ceb35c95d8f347ebc8637c6f7893486298834d293de360a63e237b4331937f319d3362007ba36cf0da9366204a83607c7b73618bff4357066ba355eaed335657e133643b02e360b35073695ac07360fa8a236be93683615fc423677233936e5a96a3676350b36e1d008361a720a36af31073615283f378aa0d435ad276c3567a3ca354a7d3c36cb814a36d8d419362be31b36383af33513391a36f04b2b3647c11f3637fba336cf37623fed84ef3da20fd036f5bf9236c3d6653f94cca33dca1d99362e200436481c633f7259d83b2b01f935e7d1f03587db353f54d66438dea62e36bbb7653699d6083ffe338538100e4836066a2136defdb73e1f116f3708500c36dc33b435e9371d3e15eb97370914bb35ad6c3b36eec51c3d8d822436e6fe2f36b3cc16363b024f38666402361c3d15369d669336e27c4e37cbac97360b9788360848a936c099193753bf9c36577ea436101f66371cc42637e1b2ae35fb7cb935e21f083674beea35de7002366f9800363879d436816bc23621d4d03604b7d73657fd0a366935e435765a00365f29ff350e8d683694ebae356014ca350d39c935f2469f37473b9636852f9d3644f993367296ac3762a86437db56a136803ac63612126a360062323f342a9c3ea0627c36391a92367d3e393f1f1b853ec9dd8e368d99cf353309353f8449223e59dbac35c96f0936bebc1f3f06169e3d9a9b0d366697c436c42ffb3e71fe0c3cf2aed436bb491336480cab3ee8a35338f844f535a5a8b4351265273e4f48863735c7f735a3269736e794f93cf1938f370dc99736d5e4a63672ab553814cf2537ef758736a60f5f3664f75436c7642736919618363df34f36b2f92936499ada35d528013644697c36b4107836609d5936745454368b6aab360244903638c19b3613a9b036e3c4b13588948a353a4f44356504083578569f369ef69a3644db9b3682ae8a36747984360d1d7636321b84363e0d8d364ce63536826e3a36acc72436c9fa0b36b30f4b368559183669370b369d2a1136082dd335932b013fc1f0fd3e807ff235c9a9ce351bc20a3f127fde3e02b8c935a4ae5f369fb9073fbdc4a73e8d6e4c361b108e3626c8fb3e75d1563eb53b9b36b4be653583f4be3ed55d033e94943135367c9b36d358973e5d80853b41809936ec2065366aa6123ef70a2637cd298b368afb3736bfd7ce3cf9ec2f3662862a36895916365a749c39190e0b36cd03f83506b27d3749d81738cfba97364d6093365a12a336f31c8f369b266b36ce188136cfb1ae35e8be743563a98d35a8dde135980315360d1706368dd1cc3528db0236a179d536bebcc836cd27b73670bece368aa8b7368d8ef3358c6e0336839d0436db880e386eebcb37c3f1213669f45437bed4b53764f28037b71da93692e9a436f91d8836add38e36fb33933604328b36236093365d1ba13e84cc2f3f4ed16f36d6de8e3619a2b53e95981d3f5e0c4636975bc835b954b33e0334fa3e5771a735e778f335754ea63e9b58af3ec82b02364689d4362ba1963e51ce543e2bfcab36ba4111361ec1693e0cde953d222e0136eaa41937570a0a3efbbec73893fbf1358967b036b4ab943c4ca98637e030a836eecc9436a59095385f6f72363f2183365bea9636e6d6ca3718720736d6f5e135e85e4b3600152336cd81ac357178fd35c64ab036f2a29b35ba9f3a355e4232352dc6163691f30d36e886073626e707362cd2a037620d4a36934a3636d82d473681dba737d9843737a6cfe8352663ed351fb2d0363e6bf1351edf023692b4043663db1337870cb1360d1fbc363d90b536f720b6372120e93634cdba36b709c636f54b013655b1043e9c0e5f3fadd8af35bd242336cdc02e3e97e64a3f8b033035e6c5a7352e28283e63d62e3fd64125351eac193633ba223e6d19f83ef100fc351c425f36623f0f3ed355a73e718d39368e378c368429083eae63213e1e79dc3524d7fb351dfddb3d63e0633a3aa60536c97fb636f3d0b93ce77b5d378777b536c99c8237a1af9b381631ab36de21a136be349534057394348fe5853487689034873909363b468b350cf74a35804e8e3545d89d370aa014371ad07235750491358b5bb837280360374b2b3b362aec5a36a737183564e52b352d3a243512182b35f4590d35702722351a67133583bd20352a60cc375da5df3743d6813673cc8936229ba337278772379289dc354d2ed33563194837448e5e36a22f55365990463646f38434c017883cd3117c3ff4fa88346a1ab535cb4c2a3de9d4673fb127203590b878360040cd3c6cb54c3fd97f603508090c3793198f3c0c591e3fd7014236f38a2135e18dfa3ad2bfe23ef0ad1d358fcc173534040c3c8eb8833e88551335877a16378229583c309fa03d29ec8736ad9a0a373c65f23943562f387e3bd4359a870837a8673838a0b8373647b516360000000000000000000000000000000098172a3659a2213670ed093615d117360134fe35de25e6353751c535a7e62d36a6ab8e3584f5a8350ef9533505b69835d203853629208336b5b05436e34082363ceb5e37aba213379c127535897aaa35612ab935fd5894365f5ac235eb72d73557824836b7e95736eca45036577c48360000000000000000000000000000000000000000000000000000803f0000000071693b36c8f33e36e8887b3f6a0f00367f1f103670fc9a3757c55e3fc534f835106d973576fbe437b902303fc4d2a135a56d90364068a836e909fc3e77e8613646f0af3522169f39c1c6993ecdd17635deb2ab35f6dda137efe6f33d7eed0336ebf8553608141138ba748e38f0f14b3600000000000000000000000000000000000000000000000000000000000000008d0395355f452635dd1b2535934b4d350b6a2835c7811e3501e10a3554471635cb481937f2e5033607fd103600c00c36664142383eab97369e9697369f469536a7aa5f349a018e346d057d34fda58334821d233752bd88362f357b36af678336d93824371a4d1f36bf6d10367844163600000000000000000000000000000000000000000000803f000000000000000007c6e535c6eb7f3fabe73235415e17350e70e6377078593ff5161735c6e1fe348e50af37463a2f3f11710936bd620f36eb518b38458b043f97ed9c364b9e8f369eb58d349b19b13e64858d34e34a6f34330c9c3646ba2f3e0f5b823673218136cdc0b236e61c533d9a4d0c368c2c033600000000000000000000000000000000ffff8b355e931838b4a89b320f91a93264ff36348fd684346f071c341e1112343488b835cc6db435f4a4c33531f1cc355eb1a736972c4e36f864313682864d3649922636cba41036495df5354a760a36c950bf360e4e8c36a5a07236cb7a733677201037ff79fe367bfedf362658ef36c6c15437c1160a36668ce835918ff23510e3aa360962b6314a85a8311c31c131c10e9a3284417c3fd1cb703c41809c3216c3a63310d97f3f64577c3425ea4034fb0ec3356fc36e3fee43c73510faca35c53ac0364460453f5f4471362d9a2c3627e83436e3eb163fec98123626da01369eb0b536835dd43e1f698736867e4636c9770e37d8475d3e5405ea3681e2dd36977f21367c7cc03ddeb4ff35be28c5350839d231103c083a683bc131442eaf31bf1bbc327a5ea4389ef8b3324cc3bc32c1a13b3661be803674ea40367822eb350f10cd35f9a6ec3525ece635ca49d835a8889735d077c635bf1c9335f199553538143d3697292136d57e03362221f235c93f9e3660eb183655811136f6a72036cffa7e361241833653165b362ff58136c688c736161dc536f4eda236f7bba436ee7f8c362f8d92368c507f3681d8823697f6b332a0c8573fe80c213e1c2bb332c52c9f35c8b9633f0dd9923d7f9a2136a7e5b2352ace603f3b3cc536a2ebd135d57380355098423fb5e7c4358aa79335f5b23c36db07143fc9362b36a5ad0536d17c64364efcd23ed79f0e36abb8093603c55b3656b66a3ecdf05c3631cf63368870b336a619c13d3106b03673d39d3672465836c156b73c483f7936e5a56936a199f6360007df389a095a36aae21536cc19fe364db5ef3704d9dc36b251b5364b629535a6d8a535b9b6aa350d54a9356c089f351a249035fb659935bd1a8d354a22b9365bb79736e057983614c97b36b8a29334b1c57134f7698534f1959b34711fe636bef2023634bfe935be3ec635c2ae7a36606d6036feb22136c6981e3690712b32dfd02432699a1d324a722d32ef02fb3508e62d3fd439a43eae923536effca836d4773b3f6bae6e3e1f8bc936fef0a235ceb03b3fcf57b03dc94aa435b9d5aa350a47313ffa619b36e81b9135ffbec13630a50e3f7f27cc3640058d36f2a3f234f0eecb3e71d8a63458d37234897e0a369b3e673ec32ce235ae4ee3353ac869364564973d31563236413b0536aaed2f32d3b5273cbadd2a32f4941f32a9dd1636e6c27d39b4f7e7312a750f32f039b535b0c20636c0cb4735c0eb1735e10f98361597c336f13d7336a96a3636e2a4d33678c4f63665f6c0365654a73609330e36c3f71d36f465eb35a7ebd4351773e136c147d13673f1a5365d368236b7c2a9368c389636ba554836decd60366d34ca3550f2ab35ed9e33354ca64b357ba21837f92fd531f9bcbb31a95fe23118a00532205d033f7a9af83ed837f6311bd8b334d3cb103fb2a8c13e2ed5133576b8453626a90d3f72b27e3e32544b368a20a536cf5c0a3fa302cf3dce63b13679baf5355bf6f43e4873b13c9e8ad53529d2dc36f8feb73eda94ea36659182360895ac36b9584b3e9658793639d13d36866dd23553266a3d2667703512afda34ec796536c8a0da3a57ede63194b2c93172e5353245880038159d243258a03232e85879364aa0953691070c3602e695355015e6354b1f3537ca3301366b59e435c03a9d34def819359b2c8b3446cbb93308d4c436f228fd36d267b436e239923610129135202ea835abe0ae35685a963574909c35a92aa835a7be8f356d0a8d35ccf011372a860037161db736e3f0c2364142883794d48436da372036fc8e4e362c213632bc3faf3e96df253fc7312732e0b61236e283c93e818e083f7bd9c5350765c635d480c73e1b39c53e333f00363b1845345b7eba3ea9f2733e06e69034262a9d361cd3b23eb8dac03d1d7faf36c6f48e3539bf9d3e0c1aae35a644a3353ad89135922c3a3e2abcaf3509a09d3595030d3716a1113dc76edc365dcbad3602b44937a30c123ab9bf3236bd5b1b36749c933687941338357c8735d350f8344df5c9360953d237561a5d36cbe0113687fb773647a882361b53333614ddf33550cb8236ad87d4362b1c073604d30336da414a36fb079936a1de0a363500953500029935a850963562879d35706b6535b0a0e73583faca35e482e13573a2b6357e545e36350f4036dca6db35fb49d235fa393b37d85aad32b0f4a7320fdfa732fbd15b363c812a3ec6ce4f3fd735f0343920af368fbd5d3e9695303fc080333607f86836b88f563e87fe0f3f561e1d365e031236753d533edbfcc33ee3b3fc35a1ef29368f76383e1145783e01caf135d706ac359e70313e5ced893d541694359505e4358d8efa3d7924d9355465d635cf4b6736d899203de5d222368e62a9355851b637f37ac338751fb1328f08a4323b3ad8314118f037f1c9bc316539da3140251236016cb137bcf36e35e91a3135a4e71337a4241a37747fac3654bf8f36deb4be367823d536504e3a366ce40a360ed71f36b4133f36a30bf335ebbfe435d893c4361bd81737f54a813688563a36c430bf3537818637640ada35372dba358286c733193b833484d7913347902d33b3a982374a289032ff9088325d788832f45dd631317f463d8797733fabcdc331b502c83516f7a23d2bb2533ff21a56357f67fa36b8e6ad3dd42a333fd79ba2366c708f36ec3d6c3d6935073fb21a2b36f785ee35cd07ef3c4cc2c33e97270036a5dd8d36d98e3b3baf91683eb9256636db46c9356109743c4b25583d7982e1359bc644337a1fa03a1f732f34ca66b03393527a3749ebe239cfeb9432126a863200000000000000000000000000000000697b253671c5ff36f1b3c635df44a835ead8a23648beda36c4d61e36b9eeea35087b3434799e6c349ee1323497214234b6281f388e7d8438b3708036ab2f6e36bb5eda360aa4bd3751d51436ee11fb35260cf1343865e83751de2d35cbae0535739ab0359f45293780c6ab3507bc56350000000000000000000000000000000000000000000000000000803f000000002b2d02361e8d253832ee723ff87beb3501738f3605ab3638c422543faf9815361f5230348df42b3783a0273f3cc3443462639e36cef3b5388b08f73e7e088c365ef4133635f82a38e5dba13e892e1136728be1341eecd5379fb71a3e73e344355e7e8a35aa1a78374045fc39caaba63500000000000000000000000000000000000000000000000000000000000000006b6820385b068836a31ff7352d8dc835132bcc364d1e8f36191e113698c39d350dd60d38d121233642b1fb355919cf359c23cc3649598c36fb5c6c362ea747366acc8a381458333388633633f0463c333d10b9382b5e063604e6ee35d28adc35fe1a1a38a06fd836e77c83360811763600000000000000000000000000000000000000000000803f00000000000000003857e6387728733f55b482369220e935ac14063cb8354b3f96ad8e3698fc04361eb87138e660283f78731e3645f2f0353d8cc33662de023f20f28d36b67f683651683738b571bb3e6b5a3333973237339d7b1b383e124b3ecad4fe35bb8de935b1786437954e6f3d3fb99f360bbb8036000000000000000000000000000000004324e037e53b953cf6e9b9375151bc361bf79337324c66378f3fc63618708d362d08b837e2346e35da25c434c8199a33285ff137c3cff235b4b49b35503d5935f3a4df3744a05e36f5e03c360144243644950c3849f4b633d570ba3345eabe33b6348d38583a8436b4342036dad41236c1b2d138002d7c36dc9d6b360a876536ed718a3888d8883634ae1b352cb51a3581e91e362f9d6d3fbe075a3d66bf393704b2cb3649b97f3f7742cb379b7fb836ce97a43649526a3f49de8a355bcf833473db37378d943e3fa3200336fdcc9335cd95823788d5133f03bf6136053e3736fdbf57376ec1d43eb250b8334afdbb335639d2372428843ebd467236848c1f36ae6c62368aced63df5e77936f6e368361bbe4f371cfc2b3dd0efb835f458083573fafc35e736023d9bd030362a742c3681100637358eae38dcbefc36111db03685c07b37ee7da137328c373622723136ff26f737b6cea433d107a4336faca133be3f8b38ccee273654ca05368bc0ea35d5fa143820f49c35b93880356be15c35d3d19d370eb088346cb4373452aa3834e20da938e5e0b23629c3a3362bbf9e36679aea3862c1d936d34d8136209f6f36bb956535ef12473f532a433ea5ca313604898d3650e05e3f0079e33dd4ece23695ca0836a8d7573f323e2b38256c2f36bfb88737fb58393f0568af33f53fa233578bcf37d72e0e3f54912a3681eff535fc32a2357c6dd13e95e79e3539395535f4c9af33209e7c3e98cd9734f6645e346791ab36a62de33d0b06b03600349e36af5a75387ce9263dbe5a9136701b7136e47a4e36cf1e753cd5173736419e2636abfb0437e0711d394b566a369d654736efabb93504607538374bc63537dca435a40a6d3846c0fc3572c4a33599345d3571538f370d3978369c554e3635212a364d8565381caf953464ff42334005473381198138aac2583608e8273635541736c766b838715eb0369e975e36c6704c36bf5e70380ec70036e2f4db35924dbd35c32a3236a4b7243f6c66ad3e169135361dcd4536ca6d333fc0a27b3e9dd85e36e178a035e7df343f2149d93d8b30bd3556d60e36c4c2273f9c82df3cb8959d35c89680366860073f23038036c1ca4436d2e56b374ae2c43e110abb3499f5423375bd25375316753e0de45336e92026361fcb173703b3ce3d1bc1a036ad3a5b3628c0b9377a5cf33cdf9bfa35c33dcd3508cd0e36e28bed3ae471ff3541c4ae35b5368436b7dcb938638b7936f72e4a36180a0136681519381b13f035b736a33502fb253605801a37bd1cf834a2561e341930b63824ba54388fbb083632c1e0358f9d17375ade7a34b7dfb7338276ba33d03c99376e16e7354f8a8f35e5f922355802493865e58136f6664f361abc36367a8e2a3807a0d535ceea8535ccaf4e3557aaba357e0d023f6619fa3ec77ce1352a136636064f0b3f1f03bf3e0bef6c36eddec73554cd093f30457f3ead0be2356379e933e58e063fa955f73dfc02cc349af7ce36544ed53ec1e1aa3d34da0236e72e3135f255b53e1cc2fb34aac0b833aeba0936e5265a3ebdb2e1354c728135d74d8836bb4eaa3d35307a36d4504c367a63bc37e03cfd3af212d135c7508335d3486f36463c873aed95f535fcdccc35680d7137f0061239176e6a36d9613f364a200037367cce3879296136e5fb2a36a21a17376998b3388bc3b034b3fa4933d31b523733ffcb3756c46b36bc1e4a360d7d8138bc8a1738a5920e36a35400364eec30387cd1b8350bed84351dae3a3591d0c938424e6136022d2e3674d31c368a5526380c593e36bccf1b360e1ef8352839f0358908b23e01451f3fb548f0354fe98836c1bac73e8b7f023fdb2e5d3654774836874cc73e9653be3edba05436054e263439b7c03e006b753e40efa9340f026a36c6a3b33e5466f73d63c46236a376e735a04f9a3e0fa6853c80f30636d974d935fd67403e3f4ab93521558035df856938683e5c3d89b75436f86d24360ced9d376437703b6a4b363651a10b36e2bb8d38eaa77a3a616f4636bd331036ccb9e5376809da382c2a8936873f5e36f3c84d344a6ffb3752d00633527b0333d677a83502458338ed2e193565107e342b87003887cfc138e1af3136f48c093607b2b337f1154c38482fd434b13dfa34da0ef337c6cc17362685d9357f97b93532451b386aa0da36bb9fd835b7e695354acb8f387c56af35e32ac434da7986344f378436a7574a3e2ad7423fb8853c369669aa362a377a3e7f0a253f147682369eb86034b3176d3eedd5053fee4b0433fc038e350eb2663e6375bb3e8819083588961c3621ea4f3e75dc773ee44e29366d65a53362fb3b3ef2c8bd3d4c46cc348d7a6436a7fb203e56cc10378d6dd235b543a037299b983c520cc33647d6ce35f2b89c3832831c3a51f59a358c2992348c9011385bdcaf391c224c3459eab33286768138d195af38fdc92d36ab71dd35730744386a2794380097f5355312753500e2a537cf3124388a3ab133c39aad330b2d7137fd325d38691f53366bd6273651dc2236a9b28b384ad716367643d835d2ef5e36f352a638b83ebb354b7c953576f7043846c9033710668a36db9024367435bd38d768cc36ed4bd635d5cf6335fee022351fa8723d1c0a663f3cddc43386f86e36cd52dd3d2797493f398b23362bbb5536274ac13d0ac3253f4f21eb35dcb8b8334b909c3d262c023f50e3af336663533671536a3d1130bb3e7a2c4f36a924ee3535e0b13cf6f56f3e91e41436e1545a35a475b13a675cab3dacb1b635c22cff36f4258a3af79afb36775e7d36b141fb3898140e3ab87a6136bfd8c535000000000000000000000000000000007c287937d7dbff37f9104536206f1b36c96cef37ebf1cd386ccbd035ec368435ea60f6372809ac382e034e33adbc5433e3d59936c0139e38f50d84362fbe553687eb40369b1562390bb250365bf34336bcc7c036818e113c48cbd8363163b636c656b63662482039c0bfcd36aaa7af360000000000000000000000000000000000000000000000000000803f00000000cd6c9b360028043d88d3683fe9b04036f2e600361d04ee3c92ed453f4502cb35aaf23333131bfe385052223fe0f14733fe828f3637c8f738fe5efa3e4016833682cc17360f1c8e38f372af3e590551368451803649022337173d423e4a7cd336fdac6836a529b438f5fc4d3d2be1c636000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dcdfa033b63ee733eec11e338a273534af200a3350e004332f9cf632ef190e334da247354a215a350b663635be8a703590915635b0c36c35e0f63d3569ae7b35cc99413417f42c3475b0c0333edfae3346968b35f9897e3548053e35126d613500000000000000000000000000000000000000000000803f0000000000000000000000007183763f00000000000000009dd50034cbc6513f561f8133893f47331ef5113357ff263fa31a01335811dc32a0df5335c673f03ed72b6b35a71c3b35ea507c351fb1913e0874483570103e3508924f34f798013e5534ec3311c8af333fb988350e90983c48cd833530274835000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ac0c23323870733200000000484b043331e5d7323d1ba23202bd1d321bb1e33249dc81341be442345885c433f2ca5c34c5263c33692f0a33ddaf8a3230a66333719a553423680c343b78ab3338710b3460dede346855b93401958834c9dbad34c1c14a346dad5e346e121f343e665b3400000000d760793f74301a3d00000000000000009f8d7d3fa208373b000000003e1f77328f715f3f000000003c92ad3123caae32e46f353fd70eeb32750ea032a8063c3496e9073fde8f4234d3841f34385a4433d0dcb73ed48cd937b266c132262c55349cab403e58291a3ab89d0934730fe6347ca3763d5809b034f517933434b36e345d76c039054159346b9a5e344ff65b34e6258a346848513426d08b34078d6e351abe7935170f483526d08e3551ae71335b0e39339c0e61335f4da03300000000000000000000000056032a33a281d0320000000000000000622c7034c2cbb532f4e48932f3e78f320adceb32c60941332aa11833680e96316498aa3345119e34ab778e342b090234eda0e534c1cfbc34966cc33420891a34c30ffb334902483484b9553f9e4a333e62292d34713c663510fc5f3f8c650b3e232d6b354fe3823322e8563f0d87253df077973355db5232e7ca333fe5da0c3ce8642c30d3fac432f4520a3ffbeb643bd4430e33e3b9b332c8bbb23ed2d46f3bd184b032fc438d33ebea2c3effddd13b1f4e6233da7284344f691f3d9202d13805d29434c11278341ea95f359d70a43470e7303477a15b33a6d58c3339f46733688e8633000000000000000000000000fd2d98330000000000000000000000000000000067df0c3205a2343207e396315b7d8e3262ac183200000000000000004be5a833b2368f3316dfa933e0e9983395af0b346f7016333daf0a3316dde932b187e332fd07853508fe6435117a53356b707435c8a7a834dbce9c3494089434a29bab34b28f42333d072b3f40d0af3ee4bf513300000000b4c4353fb6d0993e000000000000000013fc313ffdab353e000000005c123832d770223f7936903d191aa631000000003b15fd3e69b6ee3c00000000aa988933d1ada53e3820323cc566973371f610335f07233e5dc7403ac6e7d6329f3279359924a53caa0d6735eda34f35da3c9e34318c673966ca943403df8834d8be2132f819ff32b76884334a48cc33f575093481dded333200e8336fc407343a151434e0ed833420b92f344d892d3487f9193319df2233cdf0fc32f2d03d339cab77343f996a349df43234a1c78034376d2f33adc80d332f85bc327c6b0033ee6a03343760c933a3a4b333b980303492eb1f3413d1fb333ec574332f43e233ad5d8f332014033472859b336cfda333293a1a328d12f53e2d37093f1a3ab93288c9ce33e07f063ff325ee3eaf6eca333b71f5339f55053fb6d5b13e4f172134f3951433fcf8fb3e96de4e3e40431e33ab515834823dd83e3609ae3d0f8a5934d9dd0433c244943ef00bed3c2839de32e4c7e13345f50f3e7f93c63b2322ec33dfcdde3385c7993c3be61234b135c63367a2923363a2a83948c3a433f68e8d33e34f90346d19ae34fc99aa34cf9bac340488693516b57d3599de4f35fddc843587985033386080337e1858335f4b8e33f038853305829933f45b00334a3d10340000000000000000000000004019543433fac2310c3d38313fcb303293b990328cdc163362c7e032000000009efecb33000000000000000000000000f55d8b3385c075337b506133e50d83333b9c8f338f079334cf0f953e5ac6373fd3a946349f7e6c35eac5b53e3e64233fbb455135fc65cb325f02ae3e36d9023facb62e3399a5c7336cc79e3e2d69bd3ef2001c3365247d33ebb1963e8b574a3e00000000cb4c7330de68763e6ae18a3d8408253257dadd328ba4073ebb03d53b00000000757a66335128093b000000000000000045c846330cba89335c403f3374006f333db6f534bd84e5348ff4d233c1f8e1339b991035c9b6f33468a38c3456ceab34ae7071331a783d33aeeadc325f972c33b8e1323305820633c0efaa3271cad63295f6b9334e1a62330000000092e9b533765ab131d7b9093100000000164ce3321817a0331286b73314896133973c9a33b75c86350d546d35fc1e53357c137b352f4577347cae6234f03361340cce86347e2a1834ea7f043e6f93603f19379b33282880346104333e07284c3f4afbef33eac7f432ba5d1f3ed75e2e3f4fcd193397a35433dc5e153ea3d2033f3b409732e3c49f3239af013e7d9db03e0000000000000000b3e0ef3db1ae3d3e00000000ce16a83338bcad3df7fe363de091283392067c350a15c639af656535bf474f35289d60345d3b223989bf4c342e194e34f1d74c3415877d34a6cc4934992f5034b84cdd347804bd34dede883421fdb4345d571634677a64346a511a349ecf2134e9695d33c2112d336340f33293d649331d52693461243d34de83b7338b427c343f70c8320aa44e3200000000ad139a3235710732dbd926330000000088354a33000000005d372d32000000000000000000000000000000000000000000000000d493493479df443cdc327f3f0b2cc1333d8cd834056c133d9df7683f163a28344337fc33a998c93bb7ca503fe26c1e346767a133b83b333b4e0e263f53032133fbc73a34e658ae3aec13f53e8551213490395b328814a8398df49b3e276f943100000000a52f5c336a060c3e0000000000000000e356cb3a13d9073c000000000000000000000000000000000000000000000000000000000000000000000000b3e06a3519e35e35c0ae3e3552d58535c32eda33c2c1ab338e2ea5335754de33b6ec0d35fb601535ae8a173578911c35d6892a3506ca2935c11b2235a86c7435016d0033dc7cc332d12ac332afda0f3300000000000000000000000068548833000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f00000000dc3d8c355e0fa33567b37d3f65d84835d6f4f433e6de00347726623f0f740034d6765035763a6b3561603a3f4d4ef434eb936435cd3a8d359ad50b3f53230d3579b4ff3207e70e3324cab83e7b5ce83215ffa43114d7b43397c4433e00000000000000000000000009e64c3d000000000000000000000000000000000000000000000000000000000000000000000000d7d8d535c696903584e27b350dd2d835bdb09234005b8334119a7934c844c334f1858a35050f9735d08ca335533ba3353cc90d368fe9c7354a99bc3532bf1d3635cbbf341162b2347685a8347ddc003574e650350a6f5d35a6eb84359299893567f5d835d7d1b83554cca335ca3b1b3600000000000000000000000000000000000000000000803f0000000000000000ac2016372e66783f284c983590eaaf35007c013854254e3f7d9e2f340e46703425f1ca3719d1243f40698535955dac351d03063882ecf33e58d8be3526d8f835215465344e379f3e81eb21346454b03419492e35f030223e1ae22435bac89835d294b33511b2153d3182a835ea18d035000000000000000000000000000000004a909a335b1adb393a15bc36379a803400000000000000000000000000000000ffaa28340000000000000000a708d633abdf13350de21d354c001f35fd7b2035000000000000000000000000000000003bc355357faddd34e327b83475903e350000000000000000000000000000000000000000000000000000000000000000693f1d37e318ec3163d3f131b3317534000000006206793fff01f93cdfafb33400000000e3467d3f06829a36000000001bf9b93424366d3f0000000000000000a59b0835b972433fc0d93b351bb00b35c4e22537ffd31c3f0000000000000000db968235ce85e53e39ca0c35d8229634000000004504813e000000000000000000000000082afd3d00000000000000008b232837d514873ce4371c3400b302320000000026f9603c82724436000000008bc77b34ba8edd393fa57c34afeb3d341313b0344f5f763423489e345463a5346a507a34e1995f3468253f3454890934000000000000000000000000000000000d7dec33000000000000000039d663338d1d1a3432741a3435d9233461cc173400000000000000000000000000000000c2157537a9abc33449fee5336a926e34000000007e7d4d3fef68433e0000000096c0103330755c3fba7db43dc84c7334cdb3bc34489e603fb3000739db7580347707a23332c94c3ff3e0763433201f34000000002568223fcccb1c340000000025bc48344fd6ea3e0000000000000000928458331d67913e89a5353467ac173400000000df69fa3d000000000000000015913a373be96e3d000000000000000000000000ae9ecf3b0000000000000000a71e8b34362b3f3a2d8f1c342d4b2d34990e2f34ecd8f8330e9eab3342d326346dec0935b83e2835b46b0635d013f734993d963593656b3506310f35817c7735687b47346de901334ad6c33068a0a6326a49a5349b398f344b76a034ca9fd834e59295351b3c753523b9fe34b72a6235dcdedf3751757332c9489b3190c9a03100000000a7ef263f559ab13e000000004d776a34f4922e3ffbc3743e5eaf3334a50033341c66333f5ee3b03d0ca02e33cd27a8340fa4313fb4ef92399f0d033585096d35ba451c3ff7205c3572005b35e21e1a34899ce13e4ae3cf30f1dcb230f1d67a349b4a8e3ec37d34347815b034fd707835b3dc043e19fc3435f38f1c3583889137c7f0153d82899531aa64ab314763e9318b554b3bb10546345ee280335412fb322907843a071ac032ebccc732f583b43157ceeb390eecb9314a22f3316ad8c23342e4d134acd7a634c6a6d53300000000b4bf23360000000000000000cb00c13459c4473168f378334ca8a834c92001326e95e73122610a3297e53632fd82193304ca2833a16e3133a00a4633cd30bb357b3738311949323112ce16344ae0f0307a3cf33ecf7b023fb2d24d34237bde32d637033f9db9c43e7432d332dee89a3108fe033fce9d783efe540232000000006b49033f9ed6a63d700ea7340000000023f1003f819d8f39000000004ccb0335ebf1d43e183645346739893242b7d631df90803e8a8be03199410f32d3ebdd32b431e93d4d38243331aa363307201d3748dca83c34d2c83392e037319e128c3681ee473ba7e13c3185c23a314485ac353686893a57c63835f322183517f9a43414272939e76d9734af7f483412c3533046ae8439b479712f00000000f5fb91351489d93695587a35e6350c3501e55835cc1e2a35d438da342c1f98346da2e433fbdd32346ce81d3468dc083412a46e34284276342791a034b6321434fc546937000000000000000000000000d9c76c31880d983eb8772c3f6bdb25315fc75d353fd7af3ef364093f3dd924355c745134ea6bad3e3fc8c93e1dc65d343c224a30147fa33eb084803e0000000055ec4b35937fa73ec7d3963d704e7d35fc650f350a21a03e40b49139ddf0c1342e145d31fa47653e3b5f2e347bc0073432951c3480ecb23d8bbde534fafc9934db0beb379c75ab3b000000000000000014dd23355a4c673a00000000000000000000000071313d3a00000000000000002eb54834e0ad8339e101983196effe33ba052833181859394186a2300000000000000000fea421390000000000000000a149a234be4145347f5d8833c2ea8c3402b6b5340217be34f886a83471e19334fb7a0535ee209734f9339733f51ab3332457ae37000000000000000000000000000000003cec053e100d513f000000000000000092a03d3ed947333f0000000008836034baa5313eec140d3f00000000bb8d073333351e3e4236cb3e0000000000000000969b023eb5f27e3e00000000b51fb73471350f3e59fe8c3d17cfe0328457a6345904033e37391f366e45963443bed134b862743d99892a33c95501334bf83338ac94423b0000000000000000d65315346c26c839c3991933ce462431000000002f808839000000000000000000000000d218e7360000000000000000aa811535786b0b384e2935359dae0e35000000007d1e2e3900000000000000009c44423553d702397807ad3414c81c3500000000a927c3372e138b3441d0913300000000000000000000000000000000a67df3368ce9eb32971fef324f997a3406f0c0330fa7bf3c3402773fc8e0a732000000003d34513db5bc543f00000000000000009a67433dcf56353f0000000051120535f565263c1fb00c3fa38b3035000000002b71443a6f77ca3e00000000f2395135064c153a40c37a3ed63bad3400000000be40823a77baa13d2958723400000000a1557c3c0000000000000000e92303382cabd73aa0df36340000000000000000000000000000000000000000f4580836365e9536d7a08335ece25135e4ef713532c2373586d72635f6443235f9359a34ed3a2734f2c554346c9b40346bdf0a3636adf737a4e0be35e88c9035b89aa63575fbc037801d6f3513b291351355873436764936a9528a34cd206e34622ccc3588ae5a38a8cb8b356d3a2a350000000000000000000000000000000000000000000000000000803f00000000f56ef73509de6b371f01783f871c7535862050356dcae4380a83583f83fb24352a5f88348c08a7373886323f9cbc8a3492dc0736f1bbf237421a083f0c41b3355c159935c27ca9378b5eba3e47006f359133463413774834f9224f3e0cc29a34074ccb35dbbcdb357c6d143d09768335000000000000000000000000000000000000000000000000000000000000000077db2837e9c6ed33ad14de33c16ef2337d53c9372692d934c7fce434d7a30f35c71bf13744bd54365a17cd35253c1236bcc7f137bf7c0934ffdb0734066f1b3400ca87392d2161348ed98034912b96344255483a212141365f77dd357f7bf83545ad033a0000000000000000b759c93200000000000000000000000000000000000000000000803f0000000000000000608690371e6f753f0c550334ba9ceb331c3af73cfea3493ff2e2d4340756e23432a5bd38a5f8263f87114c366f38db35d07c88381878033f99a91c34db8b123484dfec374e20bb3e9bd75f346f5582348f280a38d0dd383e8c453a36e675f835907a32380b199f3d0000000000000000000000000000000000000000000000000000000061c10d3d0000000000000000c0a4f537e89ff634f765aa34044d9e34df8da234cab82034c8db013434959134b19efd3736a2c534962ec234ef311d35e4453838ffe7bf3418df66344d99553497e62439964c9233e5c1a1337256b133e1968c385256713385b35533294e4b34ff4a213ade58173449160034f6fde3338a8b313800000000000000000000000000000000b712703f8cf9e63c00000000b7a51d35197c7b3f2c950635fd5d94340128303592f1713f1a95e3337f7ffb331543e137b783463fe13bb9347e26c734eda817386e63283f1b2ae53403795d3495d0923727d4fb3e235f98331e6aa7339400053853da993ee73ef932c4c48e3349eb043890a4103e0c563b34fb5bfb332704e73738ea723d0000000000000000ee45ad37dbb7cc3db19d2a34341a05341032c2338f3d073d1d7fe0335296d53300000000000000000000000000000000738d0a37a1599d33d058d8336c389f33bf034038897202344807da334fb79933d750a038da761b34dbda5034062d8c3448de7b3968156333112da33332cfe833cab71a396fc95534a1eb8633d7002233ebdb543ac43b8d329371a132844c2d331585d433705f453fd117003ec3d317343a8baa333d785b3f25cf793d98a7e13300000000cc5d613f0000000000000000746cf6362c5f563ffb75b833cce11834cd991438e4392b3fa4232f345737c5338ee43338327f063f241a1f34bef568348e213f374537b43eabbd3833fc22c23316904138eb0f543e908211341f5d993316908438dab3ce3d434575322230b132c8eb5938964ba93da8088535620b5f32da174b37ae4bb13d678b0734b4083834b37ef0347fde7d3c3436013518463435ee26d336a9e88334411198348305aa348816b0372f91bb345207b4344d6c0a3528c861382483c434c7c8d434472ff5341c2a2d3867029e31538816328333c832f9454439307d2f34ce4709345f132b34fc72bb3987f84934724ca233010aef33101f4232df39203fcb1b8e3eb1162035601536340303233f438c203e8b3e07340421f534e83a2e3ff7a87c3d8dbd083597995634c596303fa3257034ee3192344064fa36c20b243fb178d034da71be34582df337d1def73e18e3bf344412db34588eb836680bb13e19d59a31cc93063272b47f366a57523e7aa23134356a23342b731e385d38853dac08a5332cc3b133b40ab8378a53863d9a044632bc3144329d18a137784f6b3db21a18353a6784340e123837344f513d85852134eb433f34ffc5f43688f3423c1e85503408b0863404d4b637b339fc36cd6e6234eeb65a34d81000380986243450473534d6a44134d61b2d3858b8473480a034345d3d8a348eb4b8381fdce334cb66f73354d94634a6b817396d515530000000006a6dbb2e0e2f31313740ea3ec149df3e02b64d32f09fa7347934ef3e417c993ef066c9343ab92a34dbcff23ebb4d3e3ea9862834eea22334a13ffd3e7888603d98d35a3411938c34c767003fa59f1b36a8646334f6f6873704eae23e9b2e293406d7413406ae97370abd963e9cf83334010e3d343685e837451c3a3e69298934fc490034f9850b38f346413d58042f311e2e1f30d1e9ec37d8e80c3da48ed93312b6c2337ba53137ec8b043de7874d34484f30344bbb4036a11fe93c2e55d031c68cda3102ac0038882d393db4c8f134dafdcd342a53383646c3453b163d423550071835ffd47e3781e75f348e949034ea6e8d34539cf5371876d634c0c51135feda103572f2f338c6831f344ae64434cfb34034140a07398e70273288292b326b82ad32584ab333d14b9d3e7446193f9284e03389f94d34bc8e9e3ec481eb3e9e924f34463f9731a5a19e3e589fa43e1a4dce3114b0cf34c41b933ef4a8403e74d204356b2ad134afaf9f3e2b8c493d03fe37350e116334c484a03ece397334a48fab347993ac377ed17c3e83700535be271435a88a2538c7f5003e54de4234bae4453406c8d738a7b39e3c088f1032f9563932958194386c97203c61f3b13243fa9f32a93a0d38767c2d3c3873e4330e5a4a33d73c303740f61c3cefd0083482d5a63350a1cd378365973c491a4734f67a5234ecbdb637977f313d2f130434719e1934d496f0331ca2893c263c3734475e46345e5e1e3600000000000000000000000003968539d64f9533e78d9233b483af33cacad639a13fd3331ce5be33f8edcd33a5d6ab3207870b3e74b9413f6ccbc732d4493b34ad4b323e361c1d3f6573ce3384b97733f086263ef438f73eab7a003496b526348c590d3e58cba53efcb6403447b31c34caf5dd3dc4403d3e28ea0e3462ff90330912f43d20effc3c400b2f34000000007bfffb3d0000000000000000060a5b3758a75b3d4cf2a833f3419e337911273be76bdc3bd31cd533c3b5c1335c51d437a50dec3b0000000000000000beb1c6371ab0d83b2ae48b347f9137333dd38c3731e8df3b577cea3285e55932fbf277376d62743c781fb833fbd3b133937e83377fd59c3cf2d5c6345d0e4234dca3c43433e05c3d53d8913456bfa3340ac39a34a132b03cb9992935fffd9b34d64b1c3823f69f35a5e2c2343d4b84343b4116390000000000000000000000000000000081f5203df1ff653f00000000666758341e78bc3d74b8433fffd5353481151e33f9598e3d2cb5203f3b0f0d3343169233a282a73c4e2df53e017bc9336405f534ac47433a58dfa73ec8fb953454b0ab345e351938a1cd333eaed2963442170b3447857b39851d173d3cae0235bf360b3558f5a23c6502213581b7a534ad9dd236d7228c3b000000000000000000000000000000000000000000000000aac5d1376ebb633b0000000000000000c2e6cd37eacfe33abc980e36d1c1013433a8b436df26873bc508a234559e8334582734344c51ae3cf5bd4f34ebb240349069fc366ccc3c3df34dce364dea84363fe5bb3507d95d3d164a9735224d2335d45b173433c88c3cc15b2f34ba492b340000000000000000000000000000000000000000000000000000803f000000000000000090d0e13b30756a3f000000005045343663e30c3d2740493f07ebde359fa7593486b9e23943b1223f88549c3418dc1b3457a2a0382145f13e115b5134c2793a36f044b437ccb39c3ee92bc5368a5dc534b41de336fd74083e14d7a5351558023443ea0e37604de83ce47231340000000000000000000000000000000000000000000000000000000000000000d400bb370b30ed36cf98f3363b2064377e399c37f97cad364b49cc36aa5c5337400da437ac198b35545f8c35dc619036c4f9e83737b732375c4b8237660fc237d923e737efdff136a9200037c8c7bf370c7ec537be946637bfd9833711ecb6375b9dd9379ec897373bc48c37437ebf3700000000000000000000000000000000000000000000803f0000000000000000a03c9a376ff67f3fab2b7c370aa31f37488ab23740c2583f3483683708612d373cdc303897fb2d3ffd693437a45a0b3698f71e385af3013f5297bd37e444a8373cda09384d54ac3ebfc6be3724e47837ca58c837909a2b3eb425943774589837cc52bf37935a77387f889137f0399c3700000000000000000000000000000000367ab0379bad4a375c5fd536b4d36b37d0ef4c373ffb50366ad5543662ea593666aaa537df349836bd58cd3625c1193795870338f7e72137d214423777ffc9371a4dca37ab9276364eb6d636f9558f376ba60238df55da36f22e0737762b9f37553ef437d3172b3782d4153791bbc8375c92a937850d0f37b5a50a370c038637e57599370f1088370fce863719309f372fe0a53585f07f3fc45f8b38875d3d378b2a5236b5f67f3f078c1538b9015b36d35f4337f2eb593fd2da1338595f0437d745ce37f71b303f19b81138b2089d378e43a4371e15023f3d070e38fe0a5837765baf37042aae3eafb51838c40722378a07c637609c323eadbbf73787e0683799871f37da7b683ce4da7f3781790537019a56370f77bb37f9cf583729e7583735559037a999763765681f376f234c37f789b13726220937a1c0e236cb8b1c37d8601d38d8dd0f36cc5a1136c56e9136fe8cf03717da3f3725ce3937f6c2a537b80da837f4af293737822c376f726f37e9ad46388f05a337f016a23753c90038626987375713be365b79b036cbe65d373db9da377de6813794b217375520ab37fd9f08383cafa437560889377362bf37e1446d367c19583f366a1f3e9ad41b3709b1d936bddb593fff73183e0c22f23676d52a36db9f363fb5440b3ee1ef153640c68637c2d4183f8921b13dc1fd66370ef44e37dd61e13e2023663db1024137db47b4378fee9d3e8c67a038ce08b33793d7eb36052e2a3e1fa2d3376a4abc36044365377ee2513cd7b1cd37315aca365b9f9137356484383e7b9f37bb2968373bcc0f3802110f385e076937ce8883379facef37b6d67e37f91c1136c99c143654e39a37383ec036b5db2736e453dc36439d603866a3693680c23135a9359536eecd1238f2e40737c7b07136d9575a3782c2f537681db3362abdcc35b1f22a37db8601385379a3372f5960379d3dc637ce329a37152e86378c166b37c80a8e371abf2638488ed2379a004b37bbddda375abfb536222c2d3ff483a53ed50a083731df1236c5c62f3f304da03e640a1136dadbb2366d04193f881b863e58ff5436e76f9c375256f93ecb75493e58562d35e7ef443729cdb93e42530b3e891880366276b636ce43803ec741863dcc35e3350fba9e375d9e0c3e8a464f38f1014037bc707c378ee61a3c5b3e923773c44c375e8edd37e2c26c386dfaad370b1987366da422380e3b2238ca2f19377d5d3f37320db437d30e2b37ddf63b366c37443664e710383e11a037d8932f37dbe55137a9e8ea375ad026371f5da635bc3404376f5e6938bf57c23749092e37ba95a9377bb4f0372eef8537fcc6df3672047a37c9aa1d3863fde537f85d8f3762c8dc37c45ada37b0ff703799731f37ec318137663b16389b25b137fe3196375c1ec137b8580f3755ff013f91dbfb3e45957636fe1445361e19053f4cb7f53e5b333e36ba939c375659e53e1c17cd3ed1823037ef986c3735fdbc3efa32a03e7bb0a5356e64e937ffed8a3ebd0c6a3ec3ed5837eb5d8b370b69413ee60d043ecdacd83650f6d537c1efd03d74f6493dc9247d3707615a3745617438677ff13758a0da368dd2bc37e15e66388774a3372e0c5e3795382938c15a263876c33836594c4e368a41963736cf66376b488f36775ecd36e5c8f23711365c375667a335bef2ba351ae0fc37d1b45d36caba923525ff953566fd1c38eccf3c37932d3f36ff49c0365c0381385c6de737e62c34358705643761b69c377e1a5737f02ee236f9205b37dc5906384542c137905634376642ad37869803380bc0df371084a6377368da3707b76636ea04ae3eede6283fd1bfd835d79f2b37dfedb23ee817243f880a73366a0a6b371452a23edca20b3f25b4a5350725cc3688f4823e9b22db3e09a58f35597b883723fb423e3df49e3e315e4c369f720238d30afe3d32a0443eb37a3935b9aa5437cf28753d2d98a43d84a6af36b9b7b23759c45a38083f1b38265f3f3679dbe137355e2c387688db37250a2f37062e3838043605389ca5e93671f107378232d13737344b3745a13136714939368b558337dc6f37360965ce35f100df35e19f513862bfa337015e28373be552375546b2379e75543740a7d036aa991e3739850238d5d9a537f25210376e708937d01b3438b18986375f951736bb7ef33617d4d037f5cf8237156c15376b4d52376030763783bd5937971e303795d5523780e455378433313eeba3533fe6e69c36187a083754c63d3eb23d4d3f22542c36a732f03660bc343e5b3d283fbd4cd035f132d3374f62153ef2a30b3f77fb2e372dbd6f37435bdc3d68a9ca3e5161d73655d7c137b7127e3d703c823e13981237ab21a737d0a8b93c55e8023e59d712368a779437460752384c040b38e58bf8367d4972375997963785d945376307d736c768ba3757658b379f18e035a05af235e0bd9e37b783de36e851883631548f36cd4bf537aac55137989983362dc68c36b60f1f385d281f3754556f35341d1036c424fa37a2927437b7e16f36450376367bf10738aa56d23745e41d3783148c370f17cd3739486f37a7bfde3631af12376bb28a37d024033756576336fd6681369618843798073e373235db360ef347373093783747c3943bfacb7e3f634bdb35282b2f3783b9e23c0244753fd8b88a361250b837dc2eee3cbeda4b3f961988369774a3371edebb3c7afe223f9e33a0354c6eaf37e25f9f3c43ccf13e82d871361e58ee375aca053935a29f3e53602837ee2899372fe63b38d213183e9d5dd736e250343772c40738893306386c7d5d36cc8c8b37dc4ce137f9632437e4bfb235000000000000000000000000000000005ba5b137933b5d3791a9583623248f363537bb3771fd8b3715c35d3569cc7a364af1f637cf1b91370799d636572ded369146ef37a705c03766c4f036b284803749f1b337ca92eb36cadc8f3577482c364c4e96376d5d87372acf2837b9f4583780359f3798769d37ecb06e37cf3f9b370000000000000000000000000000000000000000000000000000803f000000009797a5372aa414388ff07f3f68dd8d36455da937fd0a1838640a553f4287a6361f12c43717f02a384cc3293f9d71f2366657cb3795593038ffeffb3eaade82373268113761095d3811e3a33ec768c5354ea9763774e8ca375fc41c3e623e3737be6d80373c6ac2372a001038d3444437000000000000000000000000000000000000000000000000000000000000000052aef237c9d2ea36c4289636db079836c137333891eb1937f02d6a36220a6c362c7afe37fa5e3d37a6e29f367eaa2b37076266383997c3375a4b5c371a13c3370da93c38b8ecbf37da3f5b3778bddf37cb4cf2380911f4376741b537fa8c1d38cda00c3868b49d37166a5f375a1dfd3700000000000000000000000000000000000000000000803f00000000000000003780af391882733f2c95743721d1983613d6c439d8f34c3f490da9378e5b6c3646d60a3a8b3a273ff5ff8f37f9ad1037fc85023aad0a013f9a9004383a12a23790e89b3847deb63e56ddfa37f8a9a037e2a52b3a9582563ea2640138c8ffcb37cad835382bf6753d3add7137a257653700000000000000000000000000000000ca443438a1ea2b38d63e3437aba01437ac2a29380494cf378613be3575708536810c25381f1f7b37c6df1836af4e553640f41638e9fe4e37ec03bc354160bc35606fae3754bbd436ac51d436921cd63659bb1638b3b13837b79af236f8af6a37603f8c37e127db36f2083036cd073f3774475c370e9dce36f4d9cc36d05c5037c325cb3702d045371612b236ee8ba2375f0df5370110723faeb65d3dfc4f9937525a1b381de1653f18b3433d2396203768be383811d4433fea32fa3c52afbe3664de1d392e1f213fb738243c2849bc350921d5378e2ef83ed5ff7237ec2bd536f8355138a3bbb03ec62db9378e970837f3a99a37a8ec513e604d1537438b513604767a37a46a883d72e7c836b49ccb368cfd1538edcf5f382fde86362a569b36b3e74d3977ff7f39e07d88378c278f365fe07a3a48e2df382bb09935cff69c356fcfcb39619f963704945635b87556353ffa61385717f637217011363bd916369dc04d3809f58137bc2c9c369c2f9c3600821e3ae0d67237bd7e5a360708a4367decb337670044377364a536150b463797291a38dc04ba37baf376371c10cc37f59422385915e73757409f3798410038a61c103809714c3fe2304d3ebd0dc03760e17a37b042453f2e04413e14a89c35ae660e381219263f2ea6173e2e35b635ed6a52389b500b3ffba3d53d4576143692f525382b53d63e254f953d9ca39c3619c5cf39477f9e3e284cb03cae635b36ef98a7379e6a453e337e7f378eb3b136894623382a8a823dd547ad3740c25f3768f836386365a4396fdfb0374e58883767ae1838986424382d8741376173be36f6d2623aa2eb61393017a236cadca13616cd4c393649f8374d014d35fea34c352c7e0c3abff41f3843e47d361f4082363b1de839bdbff937f11b4f37894a6d3781080038f4afb9379ae82437f1c0653726794838843cd13731d0fb3512e3e43687d7f43791e9a6378c6eda3673268e37e5f15138eeed0f3819ddb73756780a38bd1fa5370fbe263f7f5bb23e967f543779e74737a461223f433ca53e1153a336aaf711389c860b3f020a853e936cb835d0d06438455ae73e42a14d3e725f93361cc256388291b43ee2ce123eaa418537fb1edc377cda843eca85a33d77c63d370e252638a40d283ec0e1ba3cd964cc355266e9377e2a743de620ab3741a9bf362c59dc3837b81b3a5b14e237431998377f951c38cb2c2d38f61e3a37f83f63368b52db37d0f89b372e4966357d67693506878a3998a5b43712a30e36ae450d36b8af1a382101bc371d2e48368c804536c7d13f39a30d04388c5dd13631d6d1365cc112388327c33781b84a36e9114b36150fc63848f98e37467813362f181e3638efb837432039372e9e76365fd8a736355f0c38f02cc937fe8a4237d97ca33758ada8379d55023fb021fb3e8fbe4037952d12370d70fc3e30e5e83e7c4c6f356ea9c43726ced93e339ac13e65cd0f362950fc37b9d3b63e2842983e745d48365ea31d3886bf8b3e2134683efafc1f3726b9f437d334533e0c670e3ede6e4a36514ef0373b23043e0705893dd048123648699737bddd543d995566378ecf4c3658c118389cbf3b3854cdb33769db0637729230392e97bf39fc8a9837ab79a736446a02384aabe03763ac8736c6718636f8d44b38be90f0377d5e833594117c358e49023871d6b037e38c153698550f360982af394a0dff3746c2f936b789f836a047a139083a3c386de78a362f8f8936473026384374033869cd063788782e374772d239524d79378af3a536c763c9362d7cff37aae9bb37ccdd2937d634893775daf537e75cb83e6373233f92e79437539e923712e3b43e943e163f0144883629790038cdfaa13e2634fe3ee8ca81350275e137b128873eedfcca3ed61c5536688e12382e42533e5bea973e173032371c755138b6fa193e5a99483e6adab336d8f611381840bf3d1896cf3ddf451b37350945397b9a193d3184743bde5fa53632e30c38eca3313835b9b1370366c23621ea3038d2684238c6cb34371f785d36db4a253840ba1138740bd335f578b0356663b5373ba03437000000000000000054710b3a5e63a437708c433607d13b365b133138fabda1371ab2983625ed963692b157386654203805870c3624f11036292f14383e8cb137c986f835369f95352cf1da394aee703764609735af754f36fc26573848b218386f8c2a37a078ac3789cdd33776a4593e4b70493face249371d14b53799a75b3ee1b1383f7f70e0358b7c71377c784d3e6e3b1b3f0000000029412139b60e2f3e460efe3e02414c3692b9c237ce93073e3375c03eff7e9836db3a2f387621c43d95c7823e65820d36be9de73725946a3d84b5143e54980e369b5b733967718a3c3692b63c0ba2943541ab7038a0d99b39ebb40c3818764436dae90038ded52438406d473636c43f361fa87237a75f3837b506b736da27a83682229337d4703e37d00b78359a97683547a32338b88cca37c0187e36518c7936ee1ea4376f1053373eccce36d0a8cb36d60d0f388fddd8372168b7353262b93554250438b867ca377f6b513627ec41368e3a0e38710df53753f744378848453719730538ec4bc03753f1aa366e1c0d370fd75f3740a5873dcbfb6e3f3df84736fd170c37e9b0a23df3935a3f6348bc3644e45c3706fb9c3df0db373f9dd57c3537b0d53726578e3d3ac5153f1cff7f36dadb6d376f637b3d6d4ce83e62bdcf36847ee637123b2c3d94e7a23e5c41b5352bb6d3371718a53c6c8d3c3e9f02af36e0470138c958313c59d4303d391f1d3732451938a5673a38cac7d337acfe033600000000000000000000000000000000aede1b38540c143894f7943640da903647497a3933d5e838d23637374335ff3527e94338e25b3638f31007373c4bb13635c96b38539b5438050c543778cabf362593eb37defbd33751fa08371d139a369963263817ba1e3866950f37f576a036aa25c437a34ecf3793a11a373aedf0360000000000000000000000000000000000000000000000000000803f00000000b27bdc3767cb59380d8c703f97dc3237ab2e263814a8733ad7c7493fb33fdd37de8f1d38f0397a390168243f1b1fc33729df1a38570a073a403cfd3e4a6bca37a548a5370ed7ba39d5feb03e62da55371710d73705d98538b58f4b3eda8a4d379e6571375f6f1a3815b4453d958a07370000000000000000000000000000000000000000000000000000000000000000bf70013a841dac390a006837eb534d379f35123aa3dd88396871d7371eafc53705a3f039fa7b8839b2381438a3ef0638b0c20a3ae9989a394f1c5d38510aba37e030be39c38c5139ba212038ce972338b9b0f239100fa239adb10839f7c42d399214d339f72b7d39d2f3b03806eb293900000000000000000000000000000000000000000000803f00000000000000000513593aa742613f8e4dc139ae172c385ebd673a6f75403f8cc5aa39174bfa37e5e1203a7726203fde8f9d39ca9c3b3819947e3adaf3fe3ee258a339e1a7f03889c26d3a4ddabd3ebb2448398425243812d92f3aee06793eedce86391ce11e392a40133a110def3df6591339207c9a3800000000000000000000000000000000584d523a443a423a8d58e037a52a6b37ed7d823a34cbae392346b937b644a837a4b8223acfee3f38c4c409380385f6373c93a63af4ce053a6e727438b79bbb37ce257c3a0116943902bfd4376d14cf3777c9013a00f96938d4242437dc1e22379f242c3a4b07f8395695403968c06e3955b0ed39915e8739fb8a2d38a6101639c107e9392f5b74393d9296383aa61f39dbcd0b3a6b04613ff91cef3da03f0938488f873a6fd6473f1825dd3d8b3bc337681f753a116f2a3fec1fb03d6b5f15384f4ded3a03980d3f85d68a3da2e62a395c83d83a6d9de13ef35e5c3dab62e9371812c33ada77a93e24fd0f3d3ce13e37e7df8d3a3c0c603ead6a943caccc5e39c5ed993a096bdd3d218a1139ed042f3888543d3ac5f5313af895e638ac357538a79d3c3ae6de653ad1782e39030ec437ad04833a8e9e583a3b8b2c39b23cb2368d45783a2625ad398f38a437f00a373707100a3a7425b3399f698b3776e457374d519e3a9213273ab18882394dcff2382271323afe6a023a4d6f9f389b481e378a66a43acc244a3adb2e5138e7c6c838c224273aff9a0a3ae7cf8d3951b6a839f174dd396c35423910ced1373c302a3889d6e5398e76403f8898783e6c187039aee5473ab4402a3f3ea05b3e99f99139f008803a06c0113f72bc3a3ea063c337d97a193a49d8f33e9a0c183e46319837ea5cc83a2466c13eb824ed3dcdcca93910ea9b3a7c34913eeaa6a83d431b0e39a6abce3ad7a53f3e2543503de7a99238f810363afbeac93da12ce33913cb863962ad2e3a16793c3ab7f5a5385eeabd379d50203a08f1463a8b7711387ffed43721a62d3a088c263ac5b60b388d9c44376dc70f3a5c2bd2392507eb37ce92cf37fcde1b3a656af53962991338cb06fd37052e523aa7518b39d24ed337a9038737261e1d3a2110ef393be6a13713159137c59acb39bf8d2939a7324c375bf54037500bfc392722bd39387a4d382266eb376b3b9b39800b3639eb432e38b7342c3875438039e943203fdb90bd3e41ba14388ddd0e3ae5030e3f2c84a73e3a020339ca5bec399399f33e9c758e3e69c00b386eb01c3a4048cb3e4fa86a3ec6781f384b0f8b3accdfa13e3265393ec9aff237f0122b3adb44723eef34063ec3179f380d3a173aee67213e94b2a93d69474e378e7d643aee199f3da662073dcb1bee37c93b1d3a79ef3a3a9015c038abb92c38fb566c3aeca48a3ade64913930efc737c2e1933aab47983a837d1d3886c881371e09b53ae14a8a3a7d38a337ee3eee36c3d6143a83f4b03979fb13385638043893291d3a480dbd3913d90d385aebcf377bbce9394f94183953d5133822130b38a649953a749b6f3a402a1e3961a23937d5ac623a827cdb39763979388adbca375f54413a9870fa3904c2043981cfb538672c0f3a1e52fe3ee208fe3edd48c63903af2a3a2880e23e2b05e13ea54cf538fb98963a75c2c23e51ecbe3e2ef5cf37c4d6de39caa2a23e9ee19e3e243f173833c7153abb27813e86f87b3e1f8e7e383857103aa895423e0b91373e7bfa143882e7ab3ab7fb003e051de83de47429394b6b933ac9727e3d64044e3d78832d3818f17a3ad71e8a3ade19b839bc49d9384ecde539776c343a842de9383cec153884d9433ac7ee603afd7db53789ce8c3683b0ff393296a9397259493727d1e63698f5243a601f123a5805b43708ee603713d04d3aea6a123a49b5d5376d102037c35d153a7783f63907f11838bb920638666ee439d5dfb1395513f5379098dd3712a7173a1bdfed396f381a38fd14bf37c60cd539c5230639eb520238f595ed371d7b4c396612be3e170a203f323312394fe7d73988fba93e9fa60d3fa2bd55387e698b394145923ec76cf13e099d87371ebc163a9e8c733e9c10c83e63bafb38dccc1a3a5644423e592c9e3e6558f7373625123a004c123e21fa683e205439380396eb3959d8c23d709c173eeee5fe37bb72253a23b33e3db4c48a3df7eb02380c47213aec23493a0f21223837de00388383063a67c2363aec9c0b39528ae936759a303a15a12c3ab532cc38b8380a38c3c1b63aecf9b23a6a897038c65d67376197543a9ba62e3af9400539cee77136926c9e3a3e6c723afa509b3906ab1c37f411ff39d776e339fd1f99379a5f5737549c333a49d0d9391740c437a9d56237d4643f3af208253a615e743952254638c4f8f039c7abc239ceccde380de6c5370ccf5939c8f2793e9386403f82123b397126173a6a9a673e877a2b3f48f14b39232d8b3a8c8d413eb2ad103f0f012c39e8bf223a6431223eacf5f03ec41b8139dabc833a5240003e6a20bf3e139fc9391c18e639bc80c33ddccb8d3e6bd1a537e2f8273a7e3f813da873393ee23fcf370c72503ae6c9f53c1f91ad3d5a485f3919cb163acae7873a3b04b839ca4690384016103a473f493acf3e7e39eb3f323834c8403af9a1803a58708637ddc3de35759c453ad5c34e3a3911423949bd1536d3b22a3a9ee6373aaf8f4737088f843609e37b3a6435643a5df70338a8fcba374d70833af2884c3a20a70e396e5a9837669ece395e78803965ec0d38dc19c437e76ef439b761333919d8c2375cd2b037d9dbbd3900babd3830b4ca37be8488377e578c398169ee3d9302613f8f13a3393628b6395b35e13d3802473f7cba0c39af011d3acf4cc13d48c0293f2673b439c9352f3953bca33d60da0c3f3efe9837b4761f3acc627f3d2400e03e8e881839ae4a543a3085403df088a63eb6816439a68c7439526d013d0e0a5b3eec191538e203013a0120e03ac136d93d5479c1376d0f213ac7b6733aeb61053964d4bf37000000000000000000000000000000004643f839a4470d3a23ae6039f9a21536da1b073af0641d3a7d146739a376fd36ebced53964beee392b280739b5e3e337f11e1c3a8ea7293a32576e39ab49ba37d902f039d8f4f039c2a2143912b6fe3767e2093a9c3f0c3ad8eefe3886d0ad37adc8cd39a5b9c2390799bb38a67366370000000000000000000000000000000000000000000000000000803f00000000b73fb339edca233ae605613f45c8b539d6d7df39004e673af76a403ff47fb93947dfab399aa3933afaeb1f3f6a8d80399722dd391809893a3e31fe3e6dbcab39d3ebca399a5a233a8e9dbd3e2bdf6539a56ac839385e623afe55793e62a82c39714fc6394f14453ac76bed3dac71b73800000000000000000000000000000000000000000000000000000000000000006cb7e33376c7e13369c1e133d2f5e333ded34a37b616d3340a96d934065719353f400f37d1b53a368f758a368378d23604d70137d7417b3491c68334b0a00d36f2c68d36644d043584f606356eecb235a1dbca376c808136cb7ebd3447c2b0352c357a37eefe3237850b1137e2162a3700000000000000000000000000000000000000000000803f0000000000000000b62df0339ffc7f3f5c5bec33f526e833a7bd1f38d271633f8aef8c37b0507635511f9b37f125333f046717378ab8d636de478d37e63b023fe79b203740eb2136454391375f95a43e1f298037d396cc3566d9f6377ebb043e818e1538d51af836ddf15237ec01143c8b287237b7861c370000000000000000000000000000000062ad123580ef08356d08143576b30c3502a04234b2714634bffd463471174334533fbb35e425bd35ef7bbf351ec3c1357c04453666eb3136bb17453636e441361e7c9836e95fe933baaee8332a258c35da60153646e10c3633ed11361d350d361c305e3721335b36a79e3836de92c5369b56893763e42e371c9f8a35d6967a36250917375c36103734f0083791330937b7570635abfa7f3f9657b838f6430f3569254734e0fa7f3f6ef12d385c6b49341458bc35c798693f8a6f4738d490c035865e433637d6383f08d0a337195848360fa9e936e5e0073f67215938df7c8235d5c40a360fdab03e4ceec537dba5123620bc4336916a173e30834d38cce0cb367e4b20322364a13c9aa86038a5be8235c1a5b836f1bd7e3798ff3837d55be3360576c73455e8e037eb1cd137564e3f3796dead359aa211350cfd38353bb10136370f333528fb373549c43b3589793a3568266c35938f6e35fe516c35ecfa6a35f113253808adad374a8dce372d6d0f38169d2d362bd72d364b2b2f3647362e3642d6c637bfc1f936d5039535ae3ca1350a482b38e9d932382945fd3701a4c8374da9c437fae1dd371d7db937ac018437448fc1340958633fd627e53dc99ca3376b5713352d7a693f4bb3b33de03feb35ef9f373598134f3f35ce9f3d697c4535b631713565ca2a3f2dc7033dcf6b723572dbfa371e52f93e3f06673c34ae1738b1f7293645d0a43ef166d9370bd83236d4a127356ca3193e0edbdf387e02933551283036d76c733ad410a6388ead9b37d29c4a3677616538d5382c3867ecf73681e67636864a06377fbb7036b01f7436ca346035e4f5633560d05e35d41f5a35f6d01535f7b02035d5bc253526da24356e636136c3e3bc35025cca35b705d235b73e933763e07c36ab1d083627a39136bd23163504ef193549b31f3585b71e351a5814379034b236f28d0936f385803600e3223662670735b030c634c1f7c334d3e55f37a7b11b3777c71d36576f443696a15436b35a323f8b4a9b3e32e16a36f2aa5835161e393f208c8d3ee1515c356fb51335fc492b3ff0fd683e902a27358f7cc93517100a3f1261243e0233d23577fc9d360bedce3e9d99ce3d7b93883612900d3574a68a3ee8151b3da1661e35b61cc7359be2023ede82763a0ca40a361c11bc34bae5d73a832b5137b741be347142c53561e31f38f0a4a6376bce643592635e374812893781b8a73641fd3236a02aff35fb49d135677016357a372a35d10d7037cf47c935dc92a33594e7be3539354a37bf4a0f368d8707366c6d09369ddb5938d763d237e85e11367ba22736511b7f375d91143756b0413687219e36857623384424133815c1c03714d6ba37d1ac9a37dcd8d236416afa358fcbfd35fda1713723c64a37f585163701f61737579a24365add013f6833fc3e78361b3633fc97355cdf083f66eced3e1f5d04354990673655e2fc3e770ac73e6ac8a435310cad36dbbad03ec4d5913e899e0436e9b51138ba63973e333c513ede161936e5cb03377eee543e4be4cb3d461b2336e7558d378125d93d0194373c0d545b3746fef7351186493a3bc890381974c33528023937191262380d58643760e0463634f78c37ce24b737ca033d359da550356b85b2340c94b034950fa93448e89e347f2581360f7b9b350229073596170335a7ac1735ec0710359fe40b35504a0b35c224c2372b25a1369208d634a1dfd1344fdb3137d04e70368c9dbf353951c435080d0938ef298b37ad941335a70016356c59d137948465374b6a5735dc425735b31ab2364ee8703668ee6636aabe61366b064f35eb18a43e9ff52d3fba2935353be9bc34dc9bb23e353f263f535ba8346678e035c408a73ec68b0b3fc7cf0b35da0f133528928c3e3480d53e824312356e718837f343553e78b9923e217ed73439fdc536f39b113e09ca213e1703c935329420372e698f3d3344093ddcbb1b3591d253371c0caa398a184c38e4d75a35259293362fb4f3378ec47c3613556236fb650e38760df43710e1413649ec46361c0a0c3863ebfa3523f0a73529d3a735a0b468376b121d3551ca1835a4081435f4e32d36453a293665a71f36f7fe2336f0037438db15ed37c4d9893653dc92365b687237f8307a35d6697a35f9ff7735c7e43635ba233a35984a3d35c44240350df9313711b4e6365dcf1c35887a8735c5c49f3731450a361782ec344553fe348337bf37b9a9053ead865e3f96ec4436740cee37f246233e79e3563f79eba635b7f43437641a203e2294313fcf201a3557df313618390a3e050b0b3f2b242636274d8038e1f5e23dfe85c63ef4cd90364062573714139a3d0d12673ec51f793532d74035474c0f3db344a03dfb343f35e1cf333797e097384786d1371b6b1835b688ef376c4f6938e4cf5a3518a1e03450ed3a37670bfd3646af7c36b53b6f361ebc4b3752311c32c0b41d32cd2b1932756749372c330f360bc8ba35ea9fe43502501136991a0836de6e083639e60736a90eb537aa48623439f3e83343e8df336a5d4637826197360df23636cd7842368f31ea379399c53726cabf3533cfcb3512624934b61d4d34db854a3458a34434cb0713358e6016355c1d133585d41835010e1637f008293c36557d3fa5ba66366fc29f379e50d03c9271743f50031d32ab20a0370ea25a3c2cb4563f2398c635383d0e36108bff3aaf19273fd6330936f1ddae373b1e073b963aef3ed76de933de3b2037b520443a95e18d3e32c934361ca4b43792d2c738d709b33d054a7136bffd4934f6c95138f1840a385e6d4734177d5136c34e923723161035f75710350000000000000000000000000000000003fa2f3788d746360000000000000000362a7e37537ac6342d37c7346029ca34a364a93607cf06357a500535495607357c8a323797c79936a6e5783400df7234a2e73e377399213765b1c9361405dd3604ad093862640f38fad0bc37c55ae3374424ec33f99ff7339eba003485c7f9330000000000000000000000000000000000000000000000000000803f00000000102a4037c679ae3701a87d3f000000008fc6c9377a219538c0c85e3f2cebd1345dcec7362d00883802b12d3fc64e083509570f375360ed379277fb3e601fca35755f1b377177a93877bc993e2bfd1a3748b6b237f5a06c38711de43dac5415384c68ee33cdc51c37e177bc3883e6f73300000000000000000000000000000000000000000000000000000000000000001feb3e37debe08367c44063674500536235a74378b6e1d36da78f135230ae535edb276376150d93486406b34ad45063577033638393b3937b9adf836e7060037e418473823d34937c7a4a73686aac4367b6f40371a61b936235e9536c22bb436bd6c0238dbdfc6371c3e7d37d3d1b83700000000000000000000000000000000000000000000803f000000000000000065023038d6ae7f3f22901736588b0a36bbe18d38100b583f0e998e36f6e30c36dbf64238737b2e3fd3b07335fdf4f534041a84382a78033f6c8dfb3786191a37eb999338741db13e2b801f3809cec4367ac27837b67b393ef4ae0337cd10ac364113c237659a103d3e9ef437c9269537000000000000000000000000000000006c579537e67c0f38a45c833797c2ee36f95e9a35836d8735d3838335525a8435f1acf835c1b5b535818cac355937a2351987f0359546de353176dc35f542db35a4970938138fe6352327f235688def354fa9c437a3ed2d36549d2d3622c02c36b74e8c36061a04368e9104366fd003366617fb37f438bc37046831372f33793746baea37ed69cc37210d8137934abd37bf6288352cf27f3f0a5be2381780b1375057933558fd7f3f6ba9fc3755968035928d39368cf8643f6309ff3564f8b435f732f635090b3b3f470de735ff55d735e0282f383de90b3fafba0e3894f4ef35e548d037d9aec03ead98bd37c2a03136b61b2236f810553eb57f8d36e983013692590337d05e653d17600c38ee7f2d3720101737adad4e38b43ac737103e4a37a2c9973625c78937cee96a3662a21f36e518cd36dc11a636c31400369f96e53541098937a11ffe35c367ec333d26f03383140a38538b0d3708c1683541036135a361cb376d2bb23626693f3696e93d364fecd237fd66e435558dad35a91fae35c2041638e535a137821cd136b498eb367bf4a6375af735373a9b64365381883626daf2372f717a374af02d36049d64368f72a635edd9583f188e1c3e07345936f470cf35470e683fde6bbd3de50eff3574dbde36909a4b3f367d7f3daed0ee334200c737f7e4303f3c2fc83a69c32f36bbe274370497033f43c242386c624636fca15237644cb83e57b62838fa61a5350d12a737fdaf4a3ec3123338585dd6366eb6853662a32e3de554b037ef626a36211480378ac999381b0284370d68243683197437afa5ed37c3931536419ac3355d77ba37588a5d377b9fc3366ecca236fd1de936aa187e3604dd663653dd513696e7fc37fa543034ca752f34493b2f34595a1d3887699037efc6e6369af4a6368c512837f5590e376dd40637381b0637221dde3720804637a263f133192eec33681953362f4e843453078334aae7763479f09f372a241437a3ae89365c1496367321b735e2972e3ffec3a23e2596da35b992df363e1f3d3f4061853e6b8cc13652da8a36102f303f9e03373e66526136eaa6b3378244133fa5b3e83d8b372f3469e6d83773b9e33ecf1b873daa8f0b3753c20937065aa53ea1c8253cb4460837d9c71b37943b383e1f3b3f38b0dfeb33ce8977346c0f033d32469a35c54c7b342ba381370351343818d71937ab497e36ae2e7337727f0638e622b635798daa35dbc96b38330531380c820136e863f43538b41a3634c90836da38dd356af2cd357d894d3714792e367d181836acf50c36a2a9a038f69c76385473e6379c5e7b3722b19537fd363a36c7372f36d4733036b2f32337acbb2936a45f243687642136fd4a8538690c4a38084d93377558853718c1433713c9d235b1a2b135f960b635c468b3358ee8033feb30f83e4c51b035e8ab01385f1a103f1931d73ea9b4f63515b518362953053f94dba53ed95fdd3563bad1364ab1e63efbf2653e73b1173688439238b4aaaa3e9c8d2a3e8cfa0c38496969368ac4853e0259823d0c8c30361c8114367a1b1f3e43b52338d2f01e36f94a6538c59a883c561d803807675e37b044a637a30267388941b53533b4b235ff8f9e37b0729c3724ad533628122736ca397a34ab767d34ecab713411a365343f2bad37aefee833ec35e433a99ce2335c4811379ed9fd369f03c036ac0ba236acdb1f386f4f76376835a535db7897356d2c2c387df72d37aef42e34995e31346f84a43769629b363fa48a36ff148636d20ffd37cca14e37ae40d6363a03d8360fb24237ab8707360f36bf351ce5c0353f6ed636be9ab13e3727273fea6c4c3682d47934675dc73e072c143f9ce36f347a075037a3eeba3e38f2e83e0e49e73300161337245aa73ec221ae3ee002cd36b95f0a381c5d843e083f6c3e9cc52d36213b0b389ec5463e41a1ef3d2c7d30347aa0c436e926f33d4f4e6c3cc3528c36d04ee43735d42d3a6f3bdb375f51d4360e4eb33730ff19381116ef3581bbb635b0c30138c56da737137c883595d87e35faf744376c9936363ea92a3662912636c496063890699d36dfcde33573d06035384dd23735b99935a61f4b3584444235a151de37b7d62f36f97809364ebafe3527d2303810da9837932b4e35041b4d35b02fec3772e15e37c818e9338475e53370abfc36589b04360a41c135ff67c2350e821036a793c23573548135e4ad61359b1b0a37a6d03a3e8941513f7c428735d210e436cf63623e007f3c3f00ee2c36a7a3f037ff86543e2531183f787ffe3500dfbe3768a6403e135ee73e052754353104e1370f38233ea03aa73e51411336602e24382eec013e82c1383e0a165135b030bb3717be973d95ea8b3d90c9493530ff8437ea4a8f3afc0ad7364dffcd355dcb4b370d0f7d378e70d235a39258359eacdd37bbb9c036a7de8935ec147435a93bb83795de3436d562c6354418c735e08f95364d3de5355046b5354952b0350c2cf537198227369ffbec352759e33592252f38552fab3771a3dc350254db359206fb359480f535ace8dc357fede83525e55836b7cb4736ddd80836bd61fb35300b6337be80793610fd9635f7e9a03549542e378b838b354be8813550a387358fdad5374bc4093d2b58773f6b0889350f32ff373ef5713d6a82623fbb53c9355bf78f36650d5f3dfbd23c3fdd17b93528c6c23735b73d3d9dc3133f675701368a480a383e4c073dbf3bd73e6908de352a9ce635b7deda3a5419893e3832db357c630336ac494e3a3fadd63d15c20a3604aeeb36f53d6f3826491b38fb7b9635e89e1a383a081a382f6389353e7e8435000000000000000000000000000000002da3e6378ba026362391f535d421f3356e585637b0eb9e364194793538ed27359b5e6c386f6d1538a74d303693771f36692e523811ac3238beef02379d4c8e36a2b6ed371fc2e03726745635a02834358a120a38c8744538cec39c3703cff936a7a0bf3750861b3802b3e0375786b2370000000000000000000000000000000000000000000000000000803f0000000081a30838b327003a96cc763f926ff735b5d54d379c39fb39f781513fed52a835c14343386b2e2d3ad238273fe7296a36b316173881ef0f3af9a7f83e7616b2374cffcd36bd5b9d38d7f5a23e10849936be78cf3635b689383fa41f3eb08d0b38cd4b193699df2e38036e953aa9c2f13700000000000000000000000000000000000000000000000000000000000000009f1510384b9d8736d6ca7b369d3d6936ec4a5e370bbd2936ff181236c328ff3559ebd0377f56ae36d1fd8c3532b3813575481b3860ba6337a8070a37b276b936721406386c5016367565cb350438c33578c186380a0e2238b354fa36b2f9fa367d215939154c5e3911e11a387256193800000000000000000000000000000000000000000000803f00000000000000003311223cac346f3fc6e98b3615f98036e86f0c3c34c2493f81193536f6431a36a2f0a339665a273f08dbf336b028ab35ff48b939ebca003f934ad2379cd02037e4a43f3885ffb83e09c66337c00fd4352dcf8138a4205d3e6e274e38d9372c37aba43d38a0438b3d4f079d39fffd2438000000000000000000000000000000002770d93720016838613ae6378b70a137f946693876fcd137c8bfb435ee499c357a9d183818e724375ead7336e7e8623660af3b380845b4376a750836435dfd35026d38385f610b382b7c7037d2614d3650d4bc3741795d372efa87365750853692f4fe3755dbec37badc883799252e37ee243d38f1546d388d9c3f383a54473890b87d386964a5389e8e39385a593b383c45103709c0703f2d53733d0e59f237faa154387ed26d3fb19fbf3cbd2ac03516bfff3705af4a3fdbfc153c02db7836b5ae2b385d3e273f785b8e3a6d43833618651d38377e013fd653633915bfa93781d05a37237dbb3ecaf0c137edbda036180d7a370949673e1a141038aeffa437efe1b3373e4aba3d52ec8c396b3c4338785637384ec0933a92026f38506c3c387bdc5c38575b0f3921d29237af5d9a363a51f93739dacd345a68cf34eb06cb34c1d02538fb79bc37d55ced3402d8e5346b48c537426ae3361b0c8a35b6485e352b0f51386ba02638aa5b8537b7996f364c62ff377a62b337621e29362a30fc352bcb1938a1a4103899cc8937f65a9336d0853238a3921438503e62373ca21f37962ca138b80fdf37aaa279371f7035370540853673ba4b3f17ba503eba54aa3779b45337a6a04c3f2a09243e407eca3431d11638e479293f3b0c073e9b74ed3474dc9337f8a5113f1eabb83d9d20933564652f38e78be03eddde8d3d3d08ac37f3eb9a378009a93e6362103d5f974636468e9237d0cf563e56447d3cd3b7a23771543e369355b33d04458e396448573784d6aa3760a0273c493fd8373cc66e375c994438df067e38dc3c843717ca0836808bd33790510f37f0c16a36ee564936957f12384a42bc36eb53ab36ff099a36309d0f3804dd2c37b4a84f3681e994351bc79539ea56ec37350cb935b353a3358cd21a381d0f663648abd6357390c035560946381e000f381c636737c301a33679572838a3712838461dc537e267693792c3373874f3c2377cd8a8366fdb6b360c26a7378b7f273f5cd6b03e4e0884378017ba37d916283f584c923ed43b703602430138681c113f9d80683ec9c8ad3635e9b7378927f33e686b353ee6be8836a1dd0c389fb4c03ec684013e4fb3c035026d39376a798f3e8953a63dd959dd35a472ac376e0e383e1c341d3d96b285375c4dbb3701cca53dd9893b386394c53707de3a385042423af85aec37d686ab364dca2e3898dc3a387287e436135cc03642d78f3854402b389dc8a536ba199736495b4d386ff40b37cb27bc36a843ac36b7fc4038eb06cb37625694368efc8236233c5038a52cec370d91b8358cbe9c35fb333f38909807384efdaf36db62a83667845f389fbe1738f9d2ce36a893ca36b8129638767a6d38ad4e7837913cb336dcf3113809466837c17fce368cdac9364b685b3724e6023f34e4f93e2324f336c4c38338825f033f9715d63ed09fa63684fe5138a85be33ef57aae3e412fbe3636502c38fd06c23e1580883e8a4798366dec33384daa943e0da6563ef266bd353a06143851ca663e45f6033e2b01b136a29b003861ad123e2be2923def1ad1362fe66d38fc008c3d8315983890d9873741b14038ac7efa39404c7c377ea0cd3652df4538f1782c387ca03136123e81355a7614385dfa53371140953523df2e35a3023738fd1502371d3c2036db67fc3514521838f2c9cb35e1408c3525644035d98437392b2cba37e4818f3593268a3528fb1c38e7874837e1fd5d36e7e79135394e2d38b95a5137b58bc03638d4ba36f974fb3715f8af37443acb36cbe58e36ec572338e4769d37f2e2003625a4eb35862be3375fedbb3e54ca213f2e1041361a4621382615bf3ee9a50b3f93869a35a11c4538b273a93eb2d0e63e1ea727368e81ff377439913e45adb53ec5309a3568211e38ef77683e06048a3ede009335c8bdc1379a352e3e8c06363e6d2793362b8f4737840ce13db7c4c43d2be7c236486d4d372d31503d4ae8dd3babfdca365c1867387048a23846e6bc3731fd0136485fe237172f85373d702b369ff10e3632ac033857901d36ef08d8353c1b883552f50138bc1077368a04bc3542c045353de0e2375c5d81369517dc3593b0a5355eb5473869a2f6374406f334e9968034954eb9372fc18f36094427356531043571a62138c138ed37646a67351571e4344ff6d937811f08361ac4b334cfbbac341d401b3820d56a3670dd4936f6d12b3629f8d737d735603e753e453f08072b36d5a82b381def6d3e6b022e3ff656e535b5d63038358d5a3ee0af0f3ff610c63555970038b4d63f3e51f4e43e08eae435176c5038b337183ecbc6af3e6709fd359b1bab371918e73df16c693ef76d39350dc108381730903d31f00a3e9068683662278d362645eb3c73ae3f3c1e45b334d30d823812b28d38dc74bb3688b74e36256c6b386628f637c7bc463652a81c36b15a1d38f5bba136e0352e364dd20036cf93d637f148af36066a3336f8f40c360f55a037c4248236bbe8723689476636f8522d381759ac37683f6235cc6a18352426303833d193378cd6e835e23ab335cc3c0a38ccb95a37041e7036c6865f368f4a6038369705386559af35a5c79735edd18837d70cf5363f787e36630f63360009dd3834d3a33d161a6b3f7a1649367419af3902dac73d99874f3f241335363e1715386143c23dd2dc2d3f02fd3c36fd55cc378b99b23df1e60b3f7bf176366b30423847149a3d524fd63ef0f87e357fae2e3888f4693d74a1933e92c8f535c699de37fb98033d3fdf2a3e6c037636ff193b382a4d8f3c6044f53c612ac035ed05413874881638d49b0c375f7b803600000000000000000000000000000000bafa5e38a5dbbd37c9083a36544d1c36b16e8a381e83ef3779d9b83657a6a23699c318382cb3b8376a0fb23517588635a7722c38308b0a3835590d37e62e29369c541638b8dc1138fb5bc4367e40c53538779d37cf73c937cbb14f3621a04b3608683b38343c7838f0610938d58087370000000000000000000000000000000000000000000000000000803f000000006f98313a2b309a3c9f62693f38924036c20780385e82863cf572443fe161c736252fbb37dcae2a3ce2ca203f736bc1359937f737f665413c921bf83ebda32e3778a81f376e04e03976e8b03eb1ca0137053535360eee9f382408503e5d5bf436cdad8a364fe183388922633d8cbc1c3800000000000000000000000000000000000000000000000000000000000000001d1a2c36f55ff1355123193623a5333688ba3a35bfcd0b35a9df42358ba77835fd6cb434cf068c348619b3341ed7bb34559c1d377bb4f235fb2308367e1c0e36ae89ee35f04cdf352e89f835f218033683483438551efe3392bb12340a1e0038d14d1f362f1f0b36bc0400362154df3500000000000000000000000000000000000000000000803f00000000000000004d0e38360a2d803f506812366b5a1f3606354935f18c623fd90d0a35df5b4d357c9a7338b955333f50edc2349489c234fd9a64389413023f30c600367fe40636cfb0f63500e1a63ebb69d835ae4ff135117e8c385d60063eb77dc0373ec119377a8e0a36166cb83c8540da35e6aabd3500000000000000000000000000000000e0151837eca569375a599d366186233756c825346a192934a1241c34fec5c033b8255532309dad32b93b833026f72e3138289e35d3508b35da029e3541fd9435c4b71f3523c50d35338a07351f750535ae5b1936833a9f35a27793353cc18a3562999634e09c7d34b8bf88348cb95234f9d6ca362ce7e5348546e2340000000095a845378bec7f36f2926236a85c6d3614055f367d0e803fabc12c39bd114337a08e7034d801803f02b77338b76b4834987bd932ba77663f9def7d37b2ef6532402c5536bf693b3f13948c3733a49835f1f94835b02c0c3f6cb48e36a32d2635f522d8356dc9b93e28eb1f3759097e355f49d9347630353eee5c8a3462545f3425810235f15a653d6784c8353890cd34ee8f8a362c256a3871fa50361fe24136b0acdd34fe457d342cef0035b0ac19351c4d273507524f350b82f5348b9fce34c1ac3534c4944c343f16543443bf7b34391c2437ec7256359fe7533538d44f377b34423393b48733000000008de2af32e02a6233c4425b33248f75336a7d5c3324f2da372bcc3f34835139340f241034aa217c34fda65a349991df33b0bab033cab00f360249c83358042c34d6bfd9333f50d0340198623f2092ed3d10b6cb347cf035354f63683fe9749c3da5d60d35a582903486d2623f9b38bf38813d5134e2407b35959f343f6e8d0a39fad41c37000000003ba0073f0384b03700000000df448c34ca13b73e3a8b32366d7c3133854e4a340ad6253e76f95838258d333433f4fd33ae62243d04ef6434b80d14347476fa33715e15384fd80d34e430b733214b6035835c363518054a35beed50351ea21035fb64fd341c6608356046e43433963e34b1954034d41545342a1827344c62a434d2167934f64fb4343ee5aa34a8783234798233347149f433bec10b33f8afea37f9153c35c30864352b2b8237ebe839342e3219349d305634cf67313496805c35a6615935acbd3735b7651b3527c0e0367a8d173604591c36c83d3736035c5535829c313ffc499d3e080c2e3528f80c354c323a3fd3fb813ef9fae934e87530345a46363fcc99203ec10a383424ad45342891203f079b8d3d6a2db634f4f935341d22fa3ee4b7483cfba7b433451237359fd2a93e5094d73877994935a49ded336961273ee8d3393471dd403481d243358bcc023dab24153530033e35b53e0b36be458f387954d13630bafb3577954c38cb839a38cd7fd33671ced63600000000000000000000000000000000000000000000000000000000000000006738ae35e070403598b35935371b70351cd9c2370000000000000000ac1040378cadb8361fd90136616cf235a0d1bd35000000000000000000000000000000000000000000000000000000000000000052835338ab4cc837e9f1dc36ffa15237e0bab136d598013f010bfd3e7b04c2360000000051790a3f3783df3e00000000000000006952073f79b7a83e000000009cd69c353fd1fb3e0c6c5b3ee20a4e3514bbaa36ba60bc3e41dc073e00000000cf8ef93518e9903e695d4c3cfd4891350000000007ef123efeb7803700000000000000009d58bf3c000000000000000056200638d5f9cf38c4a1b037d87ac336e174bf373830fc3726fdaa3583780136fa27413516ae7035ce270a3586afe834f7160034d7d016347d3a1634286b0f346f422238d81b3935f5803235f19d0f354c58093436d8823400000000000000007410843484727a34b62c98344cf1a334352913383d814234df5b1f34ed2f0a35fc4b0b35d09813355afbf5347cb09b34e88431358a545d35ef5c7c3539f55b353d61d9355fa0a13ef3602f3f93711135cd065135f583b43e8bfd1d3fd7c71e3563625634943db33eaf3bfa3e52821634243340353f0da73eef27b03e4a3924351dff2a345759943ecbee583e0f6a1b3383fcdc3499fa643eb365a83daea09a34a3cc3c34f88e073eff2de938d1c426340ea4e63487f3a73c12cd22350672fb34e80545353a689737cab75b353f0e6335d04d9b3698a9ec36ad086b33f5ea5b33b15425343f75613439ba0534f9f2f633f806e837df724334d72e88347f8d79341371053458825933a5d6bb33c221a6334360853300000000000000000000000074b48d38c60f1838a83f8635d4ce763672c203378cb749342aca84345f196c3405e73e35b4b03a351a951e35d6b307359f9d993457d30635ab17de347bee0a35ea5fea33ef94013ec1a45f3f92aa08336e8a2e34fba9293e81bd4b3f3be987334055483403d9233e30d62d3f21086734337c11340c25213eb397f93e6c0bc6330000000043ae0d3e1cd8aa3e0000000028ec0938afd2083e5b2f263e26856b35fd2129340a7fea3dffaa123a197c80340da92e357a30903c0d41013501a9253530a28e34a4e3c83764b46a3473128734fcf9f037a60d9b3722a32e36f89043361ef60f351a1ea03500000000000000003a6708352c5334357978e634f2ccbf34f9fc73360f63443520b0463577ec29357fb6ba35a15d18359e830f3507f902354f7469372ec22836e742b135cec9a33586923237ef13943699308d3392a0ce3087e45837906981369c07d13328f6bb3376fbc9376de5a83627cd873695be8a36fb524236b11b813c05347c3f6c340736d07a8b3440aa2a3df411673fbffa1631a806053517d4c33c0bfc4c3f8d49a5342a58ba3539ca813cca4d1f3fb46c3735c5ea3e350a3a873c70ffdf3e62f528358b7f4d36cdf2373c6f29843ee568a435ad95e232aaaf473c65ccb53db8f2f0330218bd366411eb38fc6d833897861a349da1fe3725439c38ccb0a836bd746136000000000000000000000000000000001ab60436871a0d367760d13530fe8735861ffa374c583934920127341b111f34107cf6351a4dea356102ed35d836d2355afc6c36f7d822365ba02c36849a0736bcaad237b7d58137a718bc34c2c0c134490d56352c2d4b35eafe64359d262035e5845536997cca36a43b7736675510370000000000000000000000000000000000000000000000000000803f00000000d221ea35b0173a3681b27a3fcb6fac35a0bd0338540eae3833d25e3f5f3ecb33d7bed03528908837d8262d3f412ee1355fe1083610678e38cfe8fc3e3fb30c36ac226837dd59933837a49a3ef7565437605afa344ea48c364b13ef3d4b4442354a3020360a39483850bf9739791d253700000000000000000000000000000000000000000000000000000000000000006dbabd354726ae35028bad3505d3a435d13b233616320836c81f0b3672371a3692fc3b36ef060a36f1b42236b63b2d36e420dc35a68bcf356872ce3517d2c535503019369c901736fba01036f74c0d365f32cc374fe1253546768135c9d886355d5230363e4e2536aaff1c36a995163600000000000000000000000000000000000000000000803f0000000000000000377a95375c747b3f42fcab35f125ab357cbe6e381405583ff5e21a367fe11236efc42f39c99d2c3f7d7506361fd518360b61573923f9033f30e1c935ae9dc935514f0339e56bae3e0d09173600901336c491583872d1253e9ef52f3571fb3b3534f15e374dc74d3d5e8217360d5521360000000000000000000000000000000000000000e6b0533700000000000000001b3a5b364db15d36163d5736c23a4e36b2dbac352972af357918af3525b5b535dd1a333400000000000000001dec4334c5542c3647122a365cc0343695e932363c9f0836147fd335ffccd335b874e83533b0b33719707a33e8a37a336029b83378745d36fe8c5d36e8da5936c9545a364ff26a353e50463531113235ad4d253500000000b5007e3f55e90c3c00000000760e53369ecc7f3fadf15c36dacb4b36857cb8359136653ff8ddb5357ea8b3355999f73767963c3f0000000000000000ce36b336783f0f3f9da4243640e02736a5501d36fdadc73e8b4edf357469c935069a8e38873a5c3ec4c02833fb6f8433980760362475a53db9765036a399523661237735ff135f39c5dd34353f752a35d8f51635c039fa3795dcc2347f57b434a1fe883572a35435677f5635897c3035d4c199350f32a2352cd8a8358a408f3555422a369d2ff13549f4cf351603fd35d44974368fdb6a35087ba035ecc2bd356e6bd0353d759e35a2d99c35fcb2913581de2336f90bf035bd08b53537cfd935e33a92373e50a13671349c36aaa6b4363608d8359f6bcd323f82c9322ebee532ab901d35f9f9583f5a991c3e0437ca34a0a25a359c506f3fefc8773df0ff4635dc4b8b35fd11613f3a08a137f2b6c235cf2d3736895c3b3f420106365383b23564842937ec2e0e3ff28bfc353ecb973560d6f7353003c53e0294b43541f29d35f1bc18362765533e1690c63560779635e7eb96376f54a03d07ada836023c9a36dda8733579f3fa3bb3b9cf323d53cd320000000038d74d370000000088682234a6fe3c358dcd4935a5055035851b423515223034d2306c340ff25034a332ab337d3b11366a6807367f1e0436270813365ae2ae3517ebaa3515d3b33582d6a53502418c35834c8835a7e2883542827435976eb43564a098359ca6a23504639e3548d30736960206361e40f43580b2f4356a672635bc593035777d23357a0f213500000000f9bb2e3f09cca23e00000000856a3535bb1e433f1146663eef3e3c35117c4334c1b5423f4803963d45328234b5d7f935137a313f2ebc9f38a25506360569ba353974093f45a4b835d8bca835d1a0943500e8ba3e2aa3a435dc758735527792354c6b4c3e1bd18535ebe6a7356295ec35e9c8733db275e2353385e23547b32f355c2ad73975e12335bc73173500000000c6013437000000004d15b4335de86236230a69361f1b5436623c473689150e35599a193536a8033529bde434bc283b3462750e34f4259934e849523551674736f8b94e36b0de543660fe5336e3f4ee341d3ac434a5080c35c80c09358ca5e434e2f6db34ad7afb348e591335eec86536ae646e36058e6636e0786436b9dc8f32000000000000000000000000000000007dfa033fad41f83e00000000aee753360ffe163fae62c23e8a9b4d366b570635e1d8143fd7cb773ea76b0435e83c4734359e0e3fa3f8c53dd5b8c234272d4136824bf23eaa5fdc3c8ab14936ef7ed9341029b23ebb61fc340531d83494346137a781353e8aff0335d6b2093528e35836d3f8ff3ceaf9673627c55e362f1ea032ffde3a3a0000000000000000db352335c2b82735d38d2b353440233539f8fb35c35ce735cdb1ae35001a783519089d354fc79f35ce8d933535913b3596268a35be7e8a3537268635f1ae8635bd27b635b7c5a635749ca435229d99356d1e0936aac300361565fa3510b9d43519e4903448f04c34843f6b34402bd633258b413512dd203510aa0f3556b40d3500000000000000000000000000000000b4ae2d35fd0bb03eab17283f2ed53135cb4fd735e0afd13eeb38083fb9fab4354b428e358d8cd43ec3cac53e05d2a4356d8897359b29c73eed597c3e969e813512beb8359e86b73e6556d93da0c4a63531090836756c9d3e187f3839fed70236f11aa6341cea2a3eb00d9134b12a6434865fc6360c785c3c822a3435fcf120352b9acb36b686de3700000000000000000b76c53628ef9336d5dccb32a882b0321a079437ccb2223755e26135220a5035ba21063651def535466e81350cc25335d4a001369bc7f7352debb2353e0ebe358dfc08376b386e3655ef94350f0d7f35340932369bcc3336a5d418361d1e00362787c73649d6a33520bbac35c730a2359424af35670ba53596ec8835f91e8935a869463531f27a35d4814835ae2c1c35b9d5b83281962b3e2925533f4108de320e48ad365ead693eb890313fe8ed4d35c979053697556f3e6b8e0f3fde46aa351565a6356ad3693e1ba1c63ecd2db83535f620368f72543e0935733e5616a735398f1a364288393effceb33dfea22e36e3d089352d8ef83d22483e381b6bbf35eea48c35ba0db43b34bf8c3526397f35375d2335a6625838b9c35b35a51e17351db70f35c7138a35c3372d359dac3a356ba75836553760365c0a4936333f343653d63038d72832347899b333fd06ee327704f2352503f8358e7546353dfcaa350377283617dd3336f2a634361e332c36681f04378f5eaf34b452de338d814e34cc11a6355bd6a9354b3aba356613d035b1715a3607a16636733e6136786e5a3600000000000000000000000000000000ff191535e9184e3d1144733f19bb26355be84d360162c23d332b533ff6294536d7facb33e4bec53d837f303ffc48b73350c1f635a6ff983d1e58093f96de9d35dfe824363467523dd8a3c73e04462c3652a28a33a766103d4bb76a3ed87326348ccea1354fcf063d288a943d3ba8c335a3ea51361291943af1406836934e5b36ee538b379869133800000000000000000000000000000000000000000000000082d32436863d2036df89e23547feb63598e1d237b1eb5d3532b72935a57b0e3571f21936eb41183662e418367b5613362a1add3556fed6350bdac535ef2cc135c62a0c388949cb3786cb0f3653df1d3651f84436d16138370c6d173652d50e36c9b26c36017b0e37355faa3505baa7350000000000000000000000000000000000000000000000000000803f00000000097123365031103a501b733fcd50fd3509c81e35fe1cce3c1830503f66793435c6b01b366f20373cff1e263f203b1d366766eb3588957c3aa9e7f73eb8c8c635938413367b6b5a3ae47fa63e1ff51436a4983236f098e338505c203e7df01536dc54d635e94316399602953c7c4da7350000000000000000000000000000000000000000000000000000000000000000dac318384166a73699e088367937653608a80237604e8f36ca78683694384436b9fe2638495376321bc47d32c82383326c2d7e376e579936c5a68a3661c282365688993710b6d3369256c4364c25b636f80e8b3873b84d370b6f063620f2e235472a4d384060f136bfa9e63549f3fe3500000000000000000000000000000000000000000000803f00000000000000004e0c673c055d6e3fabfab136a3bc90362db5033de35c473fdcae9c36ac957a366e686e3cf3b4243f6f8adf33e6847632b26b153bfe49013f93f2a236a39e8b36dfdf8c3af7dfb13ee45ade36c3fcca36cae4f338788e473e4907db37c63a11364e15723830c5663de4737437ce6be8350000000000000000000000000000000048d1e234a3f48238dc74873552fda135f4244038f0d7173644d2cd35b820a2350575523762194432b4254c3240e1513203f0d1370000000000000000000000000b5c83361296453689a61936382ef3354ed53e3707ebdd35c67ec4358485c535472729388c56bb34147d843419546b348108a338057b1e36525218365ae81d3643199637572a4435d59bbb34a41a9b345cb39b337a74743f2a69393de3128235e3404c3847b57d3f372ce23743c1eb35d5290039e3505e3fb2f34332aa9d4b328ff74639a0e3323f0000000000000000bcf4ea38452a0a3fd3a85636b2fe253688e6b0397262c43ecc17f535eb2cd535dc478d38f981713e5bb3d734da0574342bb8f9389c19d13d147f69372f5c1f36b7007638d91df33cd5e67f35c119ea342f6f5038351acb3b53931835ebe0fe34f365323806232838b55ec2364dcead36407e473804e17a3633bd1c358c59993138c22736e4770536238ec035f12d8335900f00386246b3363d9e9e3657bd8f3653bf0e38000000000000000000000000a50da337e3600e3688e4f73527f5df356e055b38630ee736f384d93676d8d136fbd66738403e85367835373622e73d36a589cc3438274b3fa40e4d3e0fb8233590bbb7360919693fc039b53d9ec1c636808c34383a2e563f34485e38743959355c568a380636343fc0c41336f9d3cb35e5f3c938e7bc083f458dbd3643b8a2367aa5f6382d66c43e0000000000000000a2262538abd3673e60e611361531fa3569eb993803b6b63d4e0eea36b317da3617ebc93839d6cd3ca1c68836b44a3c36421b69389f8ac938fa535b3679774036130f593890a42238dbb6cc3696d2aa36ca2e593709b10937bca13636b5170336de85b53824870f36eda5a73595a4933481f8013843a9063712d1f53644e0d7363a0492375d8d8536b1ac6f36eeef4c362ff2e9374ad24b3657e427366d6f0f360318603825c8ad368c62983654b388366c30ab3716e1ca355acdc4357e88b435837443365ef6273fbf0db03e03685f3662b5c536f6863f3f9a276f3e5d0cd436d92e403626d8393f8361c33d04c742367ac62d384e42263f4b1bd43c2ebbc835fc364b381cec043ff9cf0f37743dfa365369b1381589bd3eaefe92366bbd7d36ef9ac13891145f3eee95563699d22a36ed33a9386006a03da8f0b136132b9836f194de38ad69bf399a02d23570b0c935b124d737be83123818e5c2312af00e326ec2543806272838f597a134ef4f8a33a5ed2b38a5d2d736dfde81326ff1843239359d38eeceb3371f3f7d31e1b57b3195687438ad07c937d3c0ab350b05383580675b38eed36731cec05d31b82453314bce9337a0c557321a324b322e2e3a32e11126382d8c33350dbdaf34eb209b333b62e9364edf6b31ca2b6c31619c6b31eeaa69313bfc023fc50cfa3eb3ccb531206b3a355f3e153f29b9bc3e9b4bf93416885b32d3400f3fe1cc773e24d981322e736831d279083f716ef33d3a197831fe1b4d38eb7bd13ef738ba3d80b9bb358869bf38dd7fb23e6b896d3149f26131508b8d3846924b3ece7b5c3275b34932bb498d38af22483db25b5435f7d5e034e408653863094d39a7a86d3156cf6d31ad7a9538aec69738b01d7735b27ee334cf608938ac244838fe9c8c3695bd3b36cc0686384c095f3658432336eaafd4356b077e381ef994375390643642072b36dedf573897ac0c3791e2fe364715e636a3c2ca380ee42b3620980236f134ab35ff033e372c523c365c20fd3515249d35534ba63731c9c536dfcba636f988903679a85837cad83f36a0f1253621b7153689fccb350457bb3e2e57223ff0e48635d3d9b036af28d43e0bf4013f649e92368a7c55369ce1d23e72d9bd3e66ce2b36eaa28f365eb7c63ec8c2773e4d586f365f8d0d3779d5b33ef12a053ea650023780c9a2384a47963efda2fe3ce7c9103622c4b4375158373e4e884c3649550536f5bdf63810039a3ccf80ca3675a4a8368863dc38d3b4c238b8a441363e0e2e369976b9385c3494389298d735853f453508df8e38f9611a387945ae36157e6e3691b5e9379ccb0b36d246b63555514f35915cb83876f5e1370000000000000000d84180382c9d16381a5cb336a9699336f27d0738da1d323679c9243698d4053610737c38f02add37d54e0a348e72a42e78a9233861ceb53666069736f722723677f00a357262b13437731634b7d23432cd999a369f674f3ebcbe453f0f03ef3594c00d37afff863ec8b9253f3e8fb936119d1136d65e813e526f053ffe62c935f39d0e3454b57a3eb06bbe3e000000004528c03600985d3e73d37f3ebb21ba36235e13368f77403e6536de3d42b02d36f3774138f04d1a3e3a2d503c29369734684d8d3898ba913a07dfbe36981f983631d7a63982a3f138cbdcd93463d65034ec2d5c383c9d0d353d9d293305420b33df70dc382161f937d3875d35564dc93232536038d56e8c37034e2232504419324f355838f9f9c73786bfa3353e44ed3452fc51385b5044373c582236127cb3359742de38e40b7838000000000000000065288938ee4853381f651d3245c60f326b5988385d89f537c5beff351cfeaf35e199b0340d2c2c3200000000000000001227823501be783df9ed683fe46630335e12d13754f9d53d6b284b3f12f98e356def0036cf12ef3dbad1253f4f1125327b16ff355175db3d2f6f023fddcbbe35b57865361a35b43df3cfbe3e57873636000000005bb5673ddde17a3e00000000fccc4032a6e1a23c7a1de53d56141d32e25c0038b77d123c68718338652b05360f2882395dd5ce36f35f97330000000000000000000000000000000000000000fee55b38531ba83748f65c35248549344ba6aa3893955038336d0536bfc7a935758898386df80f38b15cbc363b879736274dad38e7e6b0374f8e8e36d9426b36d418ad38db089c388489ea34751a2c340f25043846f72038e92aa536c8928d3624fb8a382915af38c7a70c385c60d4360000000000000000000000000000000000000000000000000000803f0000000063e5e037de593e3de2b5653f48507d3565993238f3ff2c3dbf50433f44b42536b140e3368a8ee23c1bd41f3f70d2c5362cbda836e450353b6e0efb3e04c89536c10a123725de233b6ce2ad3eb30a163565a1a5365ff886391ff1413ead7dac36ea8ab8365cab3e3a1ab05d3df4693a380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004bfa3035c9138733b1b07b3284b0a63227f2d634365fb4345ec707353dd52f35000000000000000000000000000000004451aa35a2a22b35be5bf234e524c73275657e3578b02434a0d89d3405e9b6340000000000000000465428330000000000000000000000000000000000000000000000000000803f000000000000000000000000b147793f00000000000000004e93cd358761563f19ee9b35b94f1e35790ba8359de3293f328ce03416c4ac3400000000fec9f83e0000000000000000f2251536a8569d3efe89c43523247d35977c9a356cce123ec9a310377f913d34000000000c9fe73c00000000000000000000000000000000000000000000000063cb0935e120043572260d35ea930f3502c8ce33e56cd3339788aa336aa7e033f0404733bd2a4c331ac82a3313e3613366b7023360bfe5325eed14333ee77f347c66a13451389e34534091341637b6342c156b3343da70333e864b33665f863378a53934dd2a913475868e34eeaa1235656a4a342ae638348d873d348fe55c34372384354f2f3b35471d383557035b35d5cd03359991793f9e87133d8784083526dfc833a04d803f6505013b44d54d33f77746337606603fa5e16837768509337a000533306b363ff6a4753709ae073350d09334f7ac0b3fba521a3589c38134f33d6b33cd54c03ed0ce8c378a4c233312c74e34798d3e3e9648c3370e90ba3492f31a342771793d30ecbb37b8b74a343ebd1e3578706037b659be35ac421435d44b3733f2b901351becec366aa3cb3400000000000000000000000000000000b89acc343713a3345c17bb34cf560f355d543b34f9793f3461644b34e0456934fed3c434d315b9346c13ae349412b134c49917359a3cfd34ed010335c3bf35356f50a035694a3b353da116352e1dcb355ee22c358ae00f357bbecd347b65ce34546f1536c646f435fe18dc35adcef1352888ed3236fb563fff2b2f3e31f01a3229c952333742613fba34063e000000002264f53438035a3f9b31fb3c0513fb34d9c2653404a0343f79e9713b0c9d3c34ee1dc53446130a3f6850473a16d7c33446550d350d2db53e32aa813ae75f30359c4c2b3516d32f3e686ddc3a4cef023521e2cf34022c193ddabe50399880fe34cfe9e635961fb139d933d5369a17c2359d106c355c8fb735c90dbd35ec798a350d50c8349ceba934f36a2534f8411734c8307f348d406b34b694403433768634a9d0c934c82fca34c29408355a521d35b491f73360673c321bc0353424460f3455231834554fe633bd380d34e8d460346db78d342dc68634f433e23435d8003565b48734b9fe473477dab9345238923404962935b3312a35116c2e35512e4e35d0f82235c4c92a3f5897b13eda4bf9342fd1c93435f3353f2fb1993e000000005c8b93341b44353fd2932a3e04964a3448a937358fb9233fd05b703ddaa0d534a2124e347778fd3edf3baf3cc94cf3331e8c7134fc45a83e0df05b3b920335345ae709352aa3253e8e98c03af584b134150054345d84073c55179e37ab66c134afde1535c42a2c394500e534f96c0b353fb716354c94ec341423e334616ef534571f8f34e55c06342d85d93395580b3408d09234fd1a6334f44e3f349c97613474c01d340c4d2e34dccd61349f6dc034fe27213433cc22346183243498173b34125a8634fdb2883401906b348e1d5734518ede3398d4fc33ea5f3c3486ece034084325340fb4fe336b8200347f611734879654352c53413531c938350f901135ae30f734ba0bf13e95820a3fe9b2ed341af1f333bfe0093f0198f03ec67fa83305ae0d34c3e7073f783baf3e889e093380aa1734394ffe3e15a04f3e5a42603443dd1134c7c3de3ee5929c3db0181034408a0b337345973e4755c63c134d113415b0d7337fa30e3e35aac33aad8571343ba7d033b11ed83bdd631138070e0934637acd34555fc737f04b1c3538200435c85028356dfd0d35ca131535095dda34f763bc34b278b434b06a9f34883e8b3420a6bd3413fc8d3430c4a634cdba0d35e0731e34b4290334d4ac0c3488082734460ba03436e083341a914334110c30347dc806357fd7e4343d93ee34a6fb273504c1e7348ac28d345a4e8e36f2cc6235c3cb1b35fdd50b35a6f2da34e1fab1343c67bb359d179135a1a882350b005d3500331b3573978f3e6c0d3b3f0b91b934eb1ad8342aa0b83e94d4243fe750c4330869e6346a08af3e4e14033fbd96f134bfe06234676da83e27fbb53ef2300034ad7cd4344a179c3eb42e483e6652063490b101350eab813e88228c3dcfec1b35d192a23420e80c3e3999303b7cf271340354ef3423e5013b26b0e437575eec344c2b993568ef0b37ce124e357af42935c336d43585e20636ab7bb235a53dbd3532d60935fc78bd348eb93834e4194d340c8b7f3552388e341e7b50346f0e893454e8e73498fadf3411c60d35f5b82135e8399434ab554534f2189534ca8fa934313933340ebf173409d60034df243d34edeb9d346eb397349c15f4347b220a3500000000000000002364b1330f15753310ecf534fbff6934216b59329856a932747bd635fde8ff3d1cc6613fb2d01f35797f04354bd82e3ee4f24d3f0000000081156a3585b8223e4eca2d3fd5c73e34e8b14b35510e253e6455003f5361d9344c88dc3447ba0d3ecbd9ab3e6a72e03300366e34875c0a3e9f2b323e1fbd013496eb0935a8cfc73de7c0043d7bfac934000000002c14693a46cb30373c5a403390b3fe34bb992d36552ea3325a0d9d32fc364035a6561f35274a92345ae7e934a55d3f34dcde47347e8f1e343a904d345d989e345107153492d90e34ce7e7b34af87753305bc613388b15e332068ac330e49a434971b9f342bb88f3433d9b13497b7c233cc8802331de0c132e95c0933e9db4a337fbb3d330f1a3b3393be1434006de3336ba3d63301eeca338b4cfa339f301f35401f403513ba3435b59a153586df5d359c4d253c5ccc7f3fc86e53342f633834c257373d8441673fef32f533f6e7ba332621d23c4ccc4c3f0b803633374b46337d9af73ba19b213f760d7b33459b8d34d905d13b1547ee3e4ab091340cdff0326cd0333bf503983e0b5692327dd02533ec050a3bdfb60a3ee505a033fbe2a2334a45283b5d24b83a3e08e53314a3a63472e9063506d81b35dcd80f3500000000000000000000000000000000a6273a32000000000000000000000000a8ea5435a077553497846434987fe134fa6cb034e30fc134c635983492ef25350000000000000000000000000000000063231835cbd6ce349baddc34a1a55c35772398343765aa346ac22435849a7035000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000035fba133b517be33bd2d7b3f000000007e3fc6357e170437ed365e3f081fd7343849bb356600253946cc343f53fa7a3500000000e4a19e35c409073ff0b89733500a34359e9f1c3766f5b33eb61a59359ce398359be9e035c181333ea3a522350000000000000000881b1b3dcb89a735000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e252a834d5f057346bb34434fd9c853400000000000000000000000000000000000000000000000000000000000000005c0c09358214c834ed25ac344aa4b23447a8c7354e10c83415f4ac34fd24f2341fbb0c350483dd34e7229634c0fca13400000000000000000000000000000000000000000000803f0000000000000000e49bc739aa87773f0000000000000000a89e713aef564d3fcd153034247c24348223553ac5f2263f00000000000000004a182e3b56e5f53e0000000000000000f6aa613a9c089f3e6895da345806b0344582b6395fee143eda2fea348856c6347b46a637276cf83c756590340662b234000000000000000000000000000000002187e5328f67c237d1930b330000000000000000000000000000000000000000e8e8b6359994813556624835323e8f352bfba1346a8e273418928233664901345a7f803400000000000000000bfbf333337b1835f1f896344c066b34ba668334676a5635aa021035d454d534315bf73431575935f4ad0a354c8bcd34653f1c35f9fd2331462a7331d713bc31bad841310000000066e57a3f75e5cd3cc05570330000000011a27d3f4cb6e9310000000099359e37edbb5e3f75749135547f6e35552b2d381dab333fd9577334ddb87933f14aea389310073f2b9a9b3300000000931e5a38b8dbb33ea4b589349bf06034f4587f3701ac4e3e95651435cee4d434d1595e37bd23893d37cee234f008883473603934a72070391d27c031f3b7ce31bbc4e3341e8adf3889079834dfe69934e5f2ff3412c1e0348de2da34b985093571d0ea3398a5e0335c6be0337bbef433ebd6643545d25035b4375935a062633583e55a3543263935bf443735aff66735446c3f349afe483446fd4d34eb0f67342772df34eb8acf348b74cb346818cb34918fdf33065504344b1496332624b33367770e350a7ead3461c29a34e7b1a434f009c834171e4f3fe7634a3ec41ca53454ae9b3468426c3fdf67a23d718e0135ecccc6334e62613f6fe3ce370131cf33c243fc368fe1343ffd896e35e70970359b0d3e354677063fb4de7135d4365f35e6ac0438e795b33e73bd313479d1223463fa0a37a184383e3353ee345504fd349dd8cf33949f863d735d363423db3134c3930d37671e5e3aa3e99634ef4e6e3468aaf2342523c6390e7dcc3422ffcb347dbaa934a534ce3643be5c344d0464345fcb3933d913bc32793a8332000000006b0ab63498e1b9349e64ab344b23a23430979035939e6a3562df42357fec6735156cab3412e48e345b9275340e1299347b1fcb3345375e33ae821633c2a23c335da7c0347fe5ad3487ee66343fc7b3341b47b034be1cb034804fa134f455a234ad29c4343277263fa73ab73e705dd7346f908d34b310423f13257d3e06e05934b0130533f7f4473fb337993d00000000232d8f34ff65313fc23319382f7eb534b8c06d355a65063f60138e3548a95735cef49a3721b9a83e6dc4a434851c7734a35c6837d1902a3eb7843034f673f832266796340292063d20537634bd155d34873a4736a4f7013994fb8d34eff69334179b81329248203a33ead632c7a6833016735c35118d4b38e94e98346a59c532d9a8b13559e45b3705671b35d6125435a18309357397fb34eb42e0347297fa34a0a88435f5de7d35d6636e35b3eb7a35c5590735515cff34809ccd346fb600351dc3b2353aae9235eda77a3544e98935c0ef2e3555d0ef34e6f89a340a2a013525f2a830935feb3129216f3239f48a32f4fbd830b877f53eaa12073f676f5b333172e234facd193fe4cdcd3e87ded234d08c9735c4111b3ffb3d843e99c756350176a9347b5a173fcc9faa3d3ea1e53411e2503589d1003f14ac7939580d85352034e8345fd9ab3e8b59b9348f38c134ef07203762b3133e1e098e35540a7c35c2f5a137b223d03b667ca5342d534834e619833239b2ff3921e3fb301fadd630fbe6ca348dba443744da8c341e678934463bb534d3a99534b8223734d23a8934b9bf7f33831f20379944ba324d0165332376c934002e863705c19634eed69534cd128435a6a075357da75635f36e7235a1bbb134a0dea834e1f79034a927a134f13f3733f5abd6325b66bc32fb1ead3254b085340aaf9d3435c6443451c13d3489cde434980adf34fe2ebd345464c934f22db534ea7d9f3ec826323f475b93342dca68348445d63ed77e0e3f976072346a536f335a8fe03ead77cf3e766e91333ac68f347456d33e4a6c883eb1a1b5344dbb6835ae73c73e906fc43d7c6f7a35a316a53426c8a03ec09e5739bb577e347484cc32c8661d3e4416b2330d1b0e3305ba8836b3d9043b89e79b3475e184348bc78c37593d2b39a4abbc34947195340ee47036dc0faa38cf3aa534e8369a340be43834d4a8be33a86a2b33a773303337520c359ab6aa340a191034ca29cc33343052341f32203786383d349b782334c0a07235b54a463565b80135c0ea0a35d7706d35e561fb36deaaf934b0b20235a3f8cc33b986a235c559da3360cfb9338c5a0c35e9fe0135c285c134de14f83465adca349ccac7347368ab346aae9d34785ea134332a153e01b35b3f0b90ac34c61fc1335ea4703ecdfc343f05e8b53214ff0e35af05883e700a103f73304d34963b243420e2803e2e6ad03eb8ce5334c3ca3635a3e2673e74ec833e13ed0135d5907635f1e54f3e67e4ca3d63e91035bdc98c333084013eca2f34385948ee331f30db3487b58a3b7440b834e6e4b834f25ca537007a9337c81e9e34c1c99a34a28a6c310c7c1a31dc1b97307d3f632ddd028c356ba65135b450b4342c0c6533c3dd7c35418606357fa0e833a58c303365e55d35f9ac363500cfae347dd77d3401e2a8354ec11b370000000000000000f08638375514d137cd4f2b31ae776b30ef7fd535817cb2376252853561b5913500000000000000000000000000000000000000006bf5e03127d73532b53ec7320c829331aa19ea3c86c0793f14a05a30df543c356db6c93da00f573fd53ae934e0624c35653ac03d7f74363f2fa7843403b12535f5efd33d5e5b0d3f8b8e053512a891344d43ac3dd3e6cb3ea6314d33bc148c347451543d71b5813e55a161336c8abf35d39a043d640cd53d7c4195350000000008086b3c00000000000000001e87d236957c1636000000000000000000000000000000000000000000000000120bdc34ffddce34ef4d5b3408746334e1891038ca666637bfa600341bd5693335030835117ef134070dae34ccf4bd34000000000000000000000000000000002eba22383016153800000000000000004b34e93634f11538fa667834ec2d943400000000b1deb03600000000000000000000000000000000000000000000000000000000000000000000803f0000000029b4d53437c4113b53c7783ff19e92345fdb9e358425073d3181533f910e47348cb2f6342f206d3ca8642e3f25e0c234000000000dc0a23b0322053f000000000000000090ffe63981e1b53e0000000043f88f34624d8e38286e4f3ec3229e3600000000e8ad7539dd5d1d3d000000000000000000000000000000000000000000000000000000000000000000000000cb87cc347d2ad6342dd5f73461dc1435968d0336f115a134ae085a349bdf8634b794063728fa8b3433ac6734e89d0a350cafd237245b8434132ecd34169b003540c28337b5a877341be92d346d5da534893b1e382b0a3c35bd7acb345dc92035bbe314383dd65b333334bd333c10da3300000000000000000000000000000000000000000000803f000000000000000045f2f63c35676e3fc7aad234b93cec3442febb3dad8c453f7ebbb9346c254d34d63fb93dc7bd233f0f558734bda32b340af86d3dfdd3ed3e06f18034d08aa43429b5c63ce34e9e3e16b79b34deac2734db458a3b57410c3e7a4642351cf1b934b848cb3b28ec353d87e58b33bf5a6e330000000000000000000000000000000087b32c380019a838c7060b35276e823496417837050b5f3593934a35cf6f3c350ade4736b4541135234f9d34a46a5c3463033b37f8048f3412dce6331ff2e334cdfde737d25d2f35f0ed18353bc10535c48597371c05193568d5b33488c563349170b137f50c21338b6b3033110087341a2368383f5b3d349c20fa33c1afd032283b6438c584e6342fbbba342b15563466f65c34856a753fd710e83c97fa1335e1b90e351d367c3feff456358b1e4e35ba65d43c2afb5d3f84931e35e8bf9b34588f9e3d3748263f617f98346ac6bf33dcf6443d6264f33eed872b357d301635aed6b53cbdbca13e8d132635d3c09d3432ec0d3cceb3353e203c6333c99403336058a53bc816cc3d02456234dd26f5338d23c93a1688723c5cf6f1343f989f343a27183803760a3d20c69434300241327f67193824ed08389cb7f2334d37073415d15335a1eb5c348de79034c0c6a33478fea237dd0d3c35afd31135e596f134aa877737830ede314e1f1932f43f6b32fd83b43740fef23374f82534d07a3c3462b99338383017357576e734f3fb9c34b13aab37000000000000000000000000cd23873896ff1a3600000000000000006914ff31e8274a3f883a013e0d4599347660c433519c703faf06393d82caf333431d1835a512603f0814ee34578b913477e72f3c213a303fe503503557291835b706273d8eb6f63e05a7ee313e3126328078ad3cc553a13eb3f9fb33fea426346ca7823c281a2a3ed8ca2135b085e9347500c43b2d1fab3d0000000000000000761c0b3bde3f3e3d7c24783600000000a5a00639fafbd33943b3c43661361c3679fc4c385660c73898748835412e85331cacba37749db73700a21d350e81353563e0d5361016c5345919003572481035923dfe334cc4123485230d3487c81d34c5a2963762e8f834ad8beb34f3600a35f973173885b73434dd216b34e7b686341383dc377b810b33e3900b33e7322533ed71db36e2dcd93400000000dff61331c4691a3648d4283f22099d3e1052f23662e57934df7d473f51ef383e0bd8f33549661a3549ef543f778b413dfd7b1d3548210936a0a4313f1cb10d36836200357319853a83f3003feee1e4330f0f1434109d103dba2e973eeeb1bc35eb60e934bdf6ab3b2be8163e7915373417416934e818da3b2d4eee3cb9b5ca323f321233c3cd7e3b9668c4391f0ce334000000001edf21387c2e5f3888394235528a9234477d7338e808ac3801b315353b8ddf342ea61b39f52d003941d38b34a5550c3421398b35361abb37ed33fd34e4e5823445b4e135b9b05f3507ac5e35384f673558fe95355498503598d5dc34fa147234ced4b93614bfa93492f12534d81f8234032d0437a936e634e034bf34e588ad3441eca2370e8af9345183b734afa46534a68bc3347e0e043f1720f23e50294a356113be3476a0273f437aa93e72641f35cb7fef34132d2a3f1150443e5ea7b334594b5d3562c8213fadfc6c3dfca2dd34b1954735ff73003f372d5635bca55b3573f8143a6bdea03e17c06935d645e734bb8a113d7e56e83d1e36af342257f133d65a9b3c4602bd3afd49dd342ac8a7347cf4843ca0a0ec3881d2f1346b2f8c347aece93845229438dd088e340000000078234038b962ed377625f632ac481a3395b366382a3915388d385034de935d3426f271386e917038efa12235819d0f350dc49d3750b42f374a9210347eba34346c91f0361dbed235de12fa3485240b3566ec0b373e6221354e0c283568152535e5ef9037d11b0c34ab517d32cdcba33359e4223883811835dcb8883251f8d5312880e3347fe8ba3e34ce223f74d691340c85d3326945f93e2240f73ede73003362a20a3447e8043f4938ab3e873e56340c63f13569ddf23e58714c3e78096c358f50ef3330bcdd3eebf8873d1f9a13343767d535e8929e3e4cde57368e6afd341363de3a28aafd3de57a2735af312d3525a4373d54df5639e3d2593483000933723a1d3db8613139c07459350000000055c9183a8832a8380000000000000000d164ba38a290a3380000000000000000fff20539cd60d7381220d5349776a13417989b38b6a94d38e8151d3487162e343dfa7438f5d78438f8c23a323bea8b32b76fa6387c4fbd38e4901d357c7c1635148249373395a23442138f347930a034d0bdab37d266d633a9b4c23372fcc13315be6b3425e5213227d71e3287683a320a4ad9361469313eb42b483f7b8a10359093e93462e4933effbd203f00000000cb6c30353bbcaf3e4680f53ebef6f834c1c79933439dae3e14c3a83e9844203494f03436442b953e3f92443ebee94a32bbd253353775733e2be8893d32433335236c12358bb4023e643fc635f6c69034338a8e3c66fe2b3a383fc233a0ecc5332e38633d2f2834383a7aaa32381227328e9c1c39fe64a6387fd4163555892e342762f73809cfbf3819c20734eb8b8b3285482939f51961385b8f083560215332dc935f384ff60838287d0435a8377334c5150b397e4aac3813621135913d0735e4aabe38aefac3385625cb34248b3a33b8ee333803704138ccdde93401dd84343d04b43757012735f8e013353e5d13359307103527f499349e654034a0b4f233e5c1d936a076953d42236a3f4186143555a53634d9c4083ef215443fcfbf2134bfc00635af424d3edec11e3f1b115f353f461a35e4544d3e6348ef3e8e8a0235335c2035b5492f3e659e9f3e69346f352c12ef3460f4ea3d6baa273e6a053a3599b21d35afbf2c3db45e8e3df7c6df34ed085035a1908d3c1bca1f3592580a35c7fe883c33b23438ceb79134fff100340000000000000000000000000000000096c94c39bef1eb3859d3463375aad3323ae63239f9355f37df389e35b21d833570bd3838f0739737bc143a35abc9fe344f5f0c39534e95373b7b73346c3d7734097bca38e36a68380cef2636bc8091352123db381fec4a3c38aa1a356041dd34f7c1a6370335c934fb22b23432f9c1340000000000000000000000000000000000000000000000000000803f0000000074b0d13341b0753dcafc643fc1b078331a578e350b92cc3df861433f1d57c535e9065b3528ec853dcf431b3fe9234b35e120b2344b4f303deecee13e2a1f8b34d4864635badace3b8d258a3ed8cc5d36367bdf34849f9d3b0ce7ff3d047d1e35b8d2e734184b4d3c0257f83cf6c9b23400000000000000000000000000000000000000000000000000000000000000004c5b9c37d6e9a1366cfdb13656b60137990fb037ebb8dd363a640637eb4d6437f3dd933724c600357bde9036b8ff2a371af88d373a6a913524709d358f561337d173993792de2537bbd34c3759668e3731db043872327f37202f943756fff63798e59837e32814379e1f1f37a05b893700000000000000000000000000000000000000000000803f0000000000000000659ace3764f27f3fabe98a37d2e2ce36a69e31380584583f1281af372c822c37988b1b380e952d3fbb81943766a01837894222387fce013f74e18237901e5a3669e5de37ccb6ac3e5c958a37c49f7a376d9e26380ac52c3e41c2e9376ef5ca37aeb1a23721e72a382ff83837b205463700000000000000000000000000000000d4a57037a2bea536cc8f9a36f930c636779a1237bc438d36419c9a36e821c036fa157737a045a336a0ddb5368476cc36c83f26378deac73674cef0368c8d1537e99a663755a4a5364d9cd236ffc44437288fdc37eeea66369331b53634f4b2375d4e4a37087694364330a036ba3407370d45ad37f4b50a37940afb3639b193374207b53768db8d37f11393373e62c33775ae9436bff57f3f6eb94a380a89d036e4b7ae3678f67f3f6fe80b389dcab336a428603764f4583f219a0c385888c53607921f37fd962f3f3fecf137ca731137660f943707cc013ff607ef37ea0f23373ff9e537113aae3ee01f0b385f977f37f96c2b377463333e076c7737af03a436c40a56379621713cfec38e370b60f436807d7f3747bcec37142288371a3771374fc314383750a8371c0ef0368a5c553791e8563722075c36916660363b1cc536b9f11d38f02d3e3659e13d3615a38e36fdbfb7378c3d3b36c7fc3436b22c8e366881a63797a7703607c476366a045b37d32190378d5f63347c6b6b34761a343708c43c38657346378e264b372ea40c385e9f543778db28361e360f36f38622378ead7b37bf2fe036442d7636b84582374cf14c36f0fb573f58d51f3ed99f2a3750565a365979593fe3f7193e3ce075360b426c376e88363f59580b3e49ed6b36507802372741183fe526b43d973b5636fc596b372662e03e9fa3723dcaa21137dd68ff366e4b9d3eb516783b4d169336948ee33704dd2a3e1ee38139d1465037137067361b5d643cb82c47377646f935eaea88360b1c0338f318d5363c8f4a353228b23787888d37372e1a35e28a2b36e81cbf36661d4b36e6a146369a984936ea67d037a0920b364323a635dc667e364efac4380c720535865f0335140d0a351df670396498c3360c6a7d36135825374747c93761649f35086c9635271c3236bf4a08387e2eaf360e7d9135ff18493703590e384208ce3763ea96379779ef37ef15d63741617f3750e8623785969337c86c1b3564f32c3f32faa53ed4972435b6c0483640242f3fb8a0a13e9b8f4836fef1ae3669de173f48f3863e0c7ad1351ebdb536c05ff73e8afb4a3e2e68083586b14c37c743b83e9ca90d3e6884c636372c0a368d227e3ebdf78b3d1ca2a4356b59fc36fada183e392cb138a3912036a085ca37e209303cf6761838df1176377365813724796438e5f25c372a091337015be2374623d3371be7d3367d6b02375ea9f33738aa90378992a23664ec3f37281a683705cdfa36ccccd936c343fb368ed2c137c555c6360a72a436e71ecb36acd1cc37cd8b3537082db436ff353b37d384ef3711d2d9367c2bbd36ee55f636e96375377ebb3f37f3ce1b37e1505b37004501380cacd8373c40b4371f4beb3774ddd937c04caf37b4c59237342ac037347cf8361fc7013f0746fc3e43045736cfac5f374df8033ffe3bf63e2239a536533513374394e43eaa8acd3eeceee436f2cff8364af5bb3e3646a13eb2bbb136bb738b3763df893ef82d6c3efd71e3366d772537782f3e3efe3f073e661ec63670034237bc58ca3df1f7593d6ad316371bfbd5374b36603b8c241c38f6699537601fb43760151038d3b7b3376e892737d7ed0c38d58d9f374c4a1d3661735836dba0f837f002883746729d36131ca13608d2ca377c040235f665ff341f5c01358ae9ab37db3fa33510339235dd519b3562ec4739af510037cdd72a354f95f3367d5ac7384462a4361c5a0e3582984e36ebf4fe3704ca8137f33e97364ff67f379949e336933c8836328a523616a3a436c44f9e3795d01637a5d5bd36cdb64137c79cce36989dad3e3a22293f5707133638055e37969db13ea466243f7f2f9c3685a6a6360d489d3e31150b3fa215f434798e0036ba65813ef470dc3ed81995356f8f5f37a537403e198ca03ebb443036e60632371c3bfc3dfad5473e18eb0a35daaea9375dce683d1081b03d4f7b80365fec8d362211ba37e6eb1c37b6894e3659475337c4500e38ef5f5337e604303563f29a37cd0b0b371202723477797b34ced82337ca28b93528039035d23ba13519782138fad73337e998dd3669ea1537634997373c136734a1b75b344f1269344411b437511d1537d8bf3a3630b782361cc4de370c6ad63603551c366d1f6136dcb25738dc54c337b2096636c9ff7f37e3c89f37c5432e371301e136307e2a37545bc23740428c375968233732fa9b37573732359c4f2f3e7420543f8ea95c34ebbfd73548a13a3e20be4d3f42958e357af9b437ab87313e3ccd283f6f0f03377f0f1d37b4b8103ee72e0c3f34a15d34fa5991372a9cd53d7cd0cb3e3b175e36a77f8a377dbd6f3dcf63843e201d3636a9fd1538ad9c9a3c4411073ee5636336dae8613792a72f38995efb37f5b19336bf67bd3758835e38246fa337f960ad368c5fce372e1291379b284c36559388364e318737d1051836fb1ff835b07c083623f13f378c1e983678213736db4677368dfaf2372cfc303742cc4b36cae65b36839bd13741371b379c3a8d364617b13687f28937ade018379964cd3635b3083754a9bd37ad904b37e273b9368c07ce3608847737f595f836c463b036646dd236f61d253748d8b336497da436d1f7bc36a7b4a237de08453bad2f7f3f9be2643696334a3706aec43c530d763fe69a023632380137b93fd33cab894c3fd8e26836834fdc37e6b1ad3c2463233f288c5836991b5937731c933c2727f33e653fab36ee5728372b0f84382cbda03e4615f436c1458b377dee5138a7fe1b3e799bbe36a39e3537a57dfb37cf3e05382ae1aa360d404337d2569837f66ddb36b6a08d3600000000000000000000000000000000a5925737f81c5336d53f4036016c49363ed5053805399f3773640536236e90360323a7377d896c37dab7e036bfb41d37b3dedb37cff2c0363ebc91357c1ea035b5ccce373da55137b8ed5836c2640d376148e237d562ab37422f19378f0b733734f6b837e779a7378d425537d44b97370000000000000000000000000000000000000000000000000000803f00000000660659378385d2377ff47f3ffa3f4936bcdaf33715bd48389fba543ffa314e37ccab9f37ddb80f38bc96293fb7c636370e7c9537c70733382e3cfc3ed5569f3630ba9337978a21387cb7a43e63531d37f05cad3707984638fbaf1d3e93779837fee98437ae4de937d2cc3d38c2dc71370000000000000000000000000000000000000000000000000000000000000000bfc3f83798a3b13651151d3658bf6b36f51bde37b79e52361af1a13596bda33580c65c3826392c3723940b374d8a4d374cf20238026c3737218b1537ae3a4637df1a2c374ff41336c3b71636d3e55336ed142b38236e93379da46537d983e637ed05c93726e98637d7578e37f3abbc3700000000000000000000000000000000000000000000803f00000000000000007c6b883a6e67733f4b29b5372badbc363bbd743ae8bd4c3f2996bf3719ebb13678df1e3cb9fb253f193a1c388b5b62376b8ff2395b20013ffd2ad63731696e370316dc39eb25b63e9f13dd36a75e2c36324eda38ef57563e9e83d83781119e3726df203872826b3d0bd28337179b8e3700000000000000000000000000000000c44f51395dc1e837eefa413621245b36a7fe2038bc5d1a373f794a365ffb56363d2ac2374eae723636a76c36dfd46f363161e03907e70b3799871236b6abd43689b21c3858569a37c0632037b2c6933782b7d937aa9e9c36569c38369232b736de1a1e38d49b7d370562c5367586b237266bcd3713e82037100bcd366cd1aa3718078037f42e3b3735e14337414b8d37de0b04383e40723f15015a3d362567374e3e62381ef2663f8e8a513d959e6836756d6c392d00443fc789023dd04f77364b35503c9b5f203f068a2b3cf45133377c85323abafcf73ee7511f38f276ac378e3f3938d28faf3e00e6bf3768f6c4363c6f3c39a4c74e3e0140f537b9647437759c4c390ef77e3d3d71683769dc0c3764279c370718ae37d64c07376cbb26373f352338dc4df737e2128136999381365a3c0838580e8b37dab41c3702c91b37f5f03b38bbff3f37d86d693650156a36f069373898b2a5371af7203682785d368253ba38cf25bd37c0ee6c370f2e9137411b483801ffaf3754039d378605b03733f63a384f87a137930ebb3686ee943737184438f2cda537121a973729e4ce376bc206389b04cf37af68c137ec89e837b4f78f37cdb74c3f51e74c3eb189a53603b10e3878f4453f4ba7413ed2c139374abf61386603253f08cb1a3e06806f367baca53829060b3fc670d93d84d57e377f18da39257bd53e18e2983dd7c2a737e2af85383ab59c3e698fdd3c9104aa3720f97138728e433ef47e2a38067b7037b6e9383975d6763d62e4cd3723db95373eec3638f5b27038a98db937a8d0b437b3ca39387d231038af15313781e0cd36795c0e39573e153839f9be36cebbbe36011ff839426fb637b9b78e3564e48a3539093f38f88fb8375fac9c3635cd9b36588063386323783796be2f37e4b137372dce9f38413751376882713556ad7335be9840386104f5376c5051370e62b93770b90b3845d6d037992a89370ceed237d2c8383892230e3880a5d63709321638d64bc137c2c1263f9f4eb23ec370883732424b386273223f693ca53e2bb1633766e8e739cc170b3fe725863ef5eb39368a9754387732e63e3c20503ea85f15370e328a386177b23e07b9153e706c4c3724da4e39d6e6823eee89ac3d72bb7335bf6d5638e31c233ec6e3e03ccef5ac37b76312383e6e653d7250fa3778d18d37d8236038a86ed939d8710e388980c93774a90938cbf70038d86b9437b80d6037433b4738b566f637497b0937198807372b20263806babb3723921f36d0751e36f8764a399d4bba372b17ca36dd83b9361e7aa639554733380c3faf3752fdae3784be2439c858cc3708f83b37371760375a1b29389922e7378748263760048337915938382597f037b7df16379456c137a1f6f9370f6ae0378a10ca37103ee537dbfae437974d013fbe20fd3ea518b637a1532138da41fc3e4902eb3eaf1b0f37ffa4283840ddd83e1020c33ee09f8136fc476b390606b53e374f9a3ef32464371a56d63975038a3ead226b3ea66309383ad69b39eb254e3e313c123e103b9337842a303856cefd3da395913de44d8f37018a4b38f9c0443d5cb42f38536e2d3778fb0d3891b986391a91dc3758e3bb37d7977038726443383b7b66372cf58436487f0738ca3dba372b8e1c37d8851b37531b3a38bd59d937b3c8d935b9a4d13522272b382e3a713755983a35c6602f35740f5a381eef7f37ec932137cc5c1a3787373a385abae537df519d3637159d36ab09b83928510138a1eaa2365c14df36db904b38b2c526387ab9c437c009f237a541d33738ffaf374d518337f708a0371bae1b3853e8b63e7b5b243fcae1d337cc88f2379907b43e329a173f489d1d3782a2403842dc9f3ed92a003f8cc4dc35dd4c83381d1f853eaa9bcc3eb5b245358fe46938093b4f3e19ff9a3ebad93d379cd74438d90f163efa224d3e09a62c377300ce396dc7b43d5a33d63d4fbf74373e545538cba1fa3c15bd3f3c3bc7d837357c1f38b37bff38fb23ba37e8a86637d3002e3811ea1d3869da3c3709ff0937b0ef48385a81ae378ccaff36a565fd36130835381d31ab3728698136b2ba7a36ec343b389ae4a3375f581437117fc636585f1738ee28d4375775e4365486e33662293038cbd7e937669416368f6006362bd32a3851cdba378ab2693635876c364d96003872a6bf378e286e37658a8d37f7d5a7379aafba363147933676bfa9368266e8377198593e9f86493fb27c9437fc3e1838fd295a3e25f3393fb70401371b9a3638f0604c3eb5f21b3f36f686360b2b533841552a3ebb0f003f3d607c37b189a838b158043e02cac13ee2677c37628f3a38a014b93d992f853ec1285c3759f22e38bde85b3db7f4193e9d72c436a3f9053813b6233cad40e13cf0af6e3776960b38fe8232389fd814373ba6823608828e37fa2c75376972a036d7329e363a3add37e4327637661d6436c6225336b13a2a387184d33781052436a3431b36a948f137266b86378bfca835106ca635c1941d3883e1e4379936113602080d365de5b1394bef8c37a0360e36ff020836188bb737b48ae73616716f36a0147236600b14382c0ae037d7fe7336910f7e36a213b337495b513782566d369409d73676976b37dfcc863d8d1b6f3f90c4c136797fc93783aaa13db8c45b3f0c2e7536d883213845609b3da0c3383f4610ec36dc0ef837a9cb8b3d56ad163ff7e459363c372538f22d793d936ae83e49a385370553e139c6a20b3d7a42a13ee5c802372aa7b5375172883c9eec3d3ef449703648990f382e896b39647e3d3dd58f223729380b38c2edf4382e1c9737901de03500000000000000000000000000000000925def37213db63744589c3656399236b2fd4f38aebc173877c2123671210536fac36f378d7908376f04d035a153ba35578f1638bc130038ec9901370637a33648b27b38e0c94b381a671637304cee36bf9606380703ef375ea5f436f93ab43548b30e384782fa3750826f37520754370000000000000000000000000000000000000000000000000000803f00000000f86ad5375fd331384536713fc8797337361c38386c366c39a93f4a3f9b62c8378eca53379fcfe939bea8243f38259936aba70a382117a139d64bfd3e9fcdcf37488e5e387658483ada77ae3e153b07380228e9377e43fa39eb4c4b3e008caa371a34d937fe08ea39f1dc423d1b6ea437000000000000000000000000000000000000000000000000000000000000000077530c3a9599ba3948c832382d53af37fa160e3a6f2cb6393d11c238746e2f3829d8ce39112438392bc82038611d1b38d9ccd33952e0803964f99638b27e2938ec68de39d41b8439231d85385a1dfe37ab520c3a72ec6339744b84370b1e893792b99239add85f382daf98370ff1ca3700000000000000000000000000000000000000000000803f000000000000000016843b3a7543613f14af073ab4e78339a37d403a1374403f617d053a07a38d394bb19d3a6c1a203f3feda6392c99f338d2581b3aac15ff3ef434bb39bb2b4a39dac9333a4a2dbd3ec1ecb439bb6c3b39572e7a3aa219783edc4ba239046ba23899db853a3fb8eb3dbc284138c3a7c137000000000000000000000000000000007f470b3a25aad0393ef0c537be58bc37b0123a3a81cfca399a9488375c38193757274e3abe5a0e3a0db3d93847cd9a37967d1d3a3e009638d605b5373d919d37f4022d3a34b5f43943f74d39be141e39253e283aa926df39c4211c39d150e3385fd4f839c6c0fa386fa29f376ce99a374c141f3a8a0dac39a5cd343819ac3e39d0f2d83910649f390f1c673994118b39e950173acae6603f7191f13d2b77f938a510d23a1688473f97c3de3d6c494d39a423813a30ed293f8eb0b13db767cf394d2bfd3ae3950d3f5c9c8f3df30a0138db1b623a2971e13ef0185c3dfb5abd39daf7dc3ae857a83e3da5123d800aa3396dff733a542a5f3ecef3a43c0a21d137516d813a13fbd93d832694394582d23882d4173a63ec083ad5b46d3905034739b8dd123ae946083aa27958394f485d380a02d83908d38e39fa1e8b37f1652e3748904e3a70142f3a8ef68639db0a00398479033ac3878b3973020c384e41f7370b8b393a5263ad39a785173846ab0a38227a103a50b8d539bc076f37901c4d371e8e123a20e5d93958aa4a3996293339ff15dc394b64a839fe742c396098553991cdf0397d999a397da58f386d640139e3a00d3af799403f8643783ebbc0b539bce75d3a24622a3f22065e3ea9cd6838c3aa613ae3ad113f53733b3e0ca3f8390dc0333ad05df43ed7fc173e18558b3824fb8f3afe75c13e734ef13d7fce1a39733f753aadc1903ea707ac3d12623a392f653c3a87c33f3e69f2583d87959639c1c50e3a6b8dc93d6674a539d6b94939d576383ade5b433a5675713938218e38f10b463a82193e3a202baf38b6a95d3876dd213a715e0c3ad0b0b938d6ba8137ac3d733afe101a3a166a8537978703374f8ab239ca702f39b4dd793746602c372ea5323ac45a0a3a58485639c4f89e387ef70c3a1a9ec439bac72638eed61a38a926303a7e0caa3934bfd737e799cb3724ea703a1104323a6c496e39e59d3b39127ff139d890c33996e77c39a63374396734273af7db1f3fa96cbd3eb580c239111c1e3ac2ea0d3f050aa83ef134ad39374e863a9db9f53eaf16873ef93e62392bfc3c3a90c8ca3ed7616b3e69cdcb3737de553a5565a13e63b7383e0085c439e6c8673aaf9c713eea35073e9b994d39f92b883a2aea1f3e13b0ab3da89ef5376d9d9f3a636b9b3d40370b3da263a339435f303a97a33a3ae108bf3987d78839084c013a00ac023a85cc0338c7d2dc37f1614c3ae0d0323a6593723913752737b75e603a5f503f3aa217aa39f7846238a189553ab4f01d3aa482fd3813ebc73795e31f3ae11a033a5b3e73393cefc538324a433ac82a183a95596a39f0d89538dea34c3a42082b3a3b80d039d6cfb93965b8383af413183afbafa9397df59039ce115839fcb73938564efa3712eaf537ba299039b065ff3e3cfffe3ee5650b39fb204d3afc9ee23ed7cae03eb713f23941cf633a610cc23ee3c6bf3eb7db133ab851c63ac1b9a13e4a819e3e3a76cc39b6855a3a7ebe803eeac97b3ea397c0398909c33aab66403e52f7373edf83cc392d5c653a3e1afe3d9a67ec3d5fcbf9393024583aa2bd773d023c543dd566cb39e0fb113a8820213a954b6038a05c013898df163a73db193aa6cda039fcef6a381f468d3af8206a3a3f1bf9371274c13738385d3aedf6203a4151c137b4086737da642d3a93b6eb390c182338e7f709389352343a86710d3a15370139caa52138794ba3395911283974dc643725bd17374220413a676bbd39cde15d377186fa36da5bfa39f3edaf3950625b3884730138942f093a9913a83969df6b38eb336638a121013a833fbe3e0e691f3f3956e339ff52913a9dbfa93e222e0d3f64cee1399fd8713aabce913e09f2f03ef4390939f0d3573a7022733e2ecec73e80468539f7bf4d3aad56423e1e6c9e3e74ebb939d9fde1394472113ea1546b3e3357ba37e4bf823acae3c83dfcef1c3e5839a237216e253aed073a3d16978b3df022ee388ae6483a2556593afa26c9393044733891a9233afefb1b3a011a56388b4c2438504df639ef20c739f41f3f370f27a03664571d3a73b5fe398cf94038ac95803685b7233a082ee939a100893709cc0337119f523a91cc253a9efdad38ffe20038413ae839a4f69b39d8bb08387bc6de37d3be373a73900a3ad8ea3239e1ba233718f0a73974d4573967a49e37c9e780373f26ec395f03c2395b8e5739a797233903cb073a519c7a3eea1f403ffd0bb43936ee063a800a693e1f952b3f49f5673915992a3ad636423e29cd103f2b4cb039b0aa2e3ae657223e12f4f03eff958c399949653a1e0f013e4610bf3ebdfda8398aee0e3ae9e2c03d96dc8d3ed480c33831c2573a17de7b3d1d01393eea2ba639fa00f5392fbbf43c8e18ae3d1bdeb2374473103a80e71a3afd40d93953066a39141eff39954afb394366653917fb8c37f3b3513aed92273a99edb7370c8945372b8d313ae4e8fe396024a83746f30c3753633b3a61741d3a078e14392adb1a380723373aa504193a5e1e4139cc61273782f52f3a735c5b394971bc37dd55903780cc433a5fd6293a51daa03947604339dadf0b3af848e7391d0e15391f4a8b37ed328f39a0e72d3906c9c237ed66bc37045cdc3974d1f03d02aa603f7664da398314553aff8ae23de917473fca94d339c4c6393a949ec33df0a8293f759c7a399cae8a3a6feea13df1c90c3fa948f639499d463acc01813dad02e03ef1aae83928e9893abe79403dfe71a63e71f11b38738e553a1d73f73cae675a3e7edfe339b1ad573a9572c83aef6ad73dd5b46e39aae6033ad03f1c3a4a837739b46ec337000000000000000000000000000000003cb1453a9a62363ac62ca93758dd41371972493a9ed52d3a55c7083838e60837c2f3093ab9aaf639cd6e2139c843de371110f739453dd539fde30b3926270638399c153a7bfdd3399549d338f04c21380841133ab1f3043a0ede8e39e2282939c504033af6e8e239f3005a39a482a4380000000000000000000000000000000000000000000000000000803f00000000f724203a6983be3adc15613f4fa3213a350e453ab85d933ab76c403f0bb20d3a1089083a81054e3ae12a203fb845d339b631ff39a918233a64b0fe3ef9afaf39422b1a3a6bd3923abf10bd3e60d78439c39f133a1a9c353ad962783e715dc5392f320f3ad6eb293afc4aeb3d3a009739000000000000000000000000000000000000000000000000000000000000000076c55d35206a56357f3f613598505a35af2dc0354c781535d4e11835229c16356bfbbc371285893189e78c31ef878c362dfbf3362a291635d92314359bcf483521194f363065f2348156f134dc4cfc34a06618386ec2a637718fa337a648d537a5290738aa1d96370f7040375987873700000000000000000000000000000000000000000000803f000000000000000052c5a53716e47f3f2a202c37c3b959350d1caf374ac9623fc9af98363534283500d29e38f405323fb73736381a4d81372c195c3824fc013f61d8e4374753bb3530bb1437d5f4a33e9f6bc03612e6f734b061383882eb063e457b31383ac4f4375e5b3038a33c263c07b13738cfe99c3700000000000000000000000000000000e118a93648d83f36a882a336fc89d936a34f9a3641374f36090b6536b1aaa0367d904b35bf273c35fe704f35649d4f3556369b3795a1f9352347003659084d37177f10377e6e6036d0d06e3613b6bc366ede4037f58a3e35f9474535a36ebf36e657ed37d5dc35372bf4203712388c37a06981370e1c0837e5098936f55cc9362a9e0935fa280c35d5e90d35d48312352eb4113519f57f3f6605f338eea24137f4d4a63633f87f3ff9f97b38557ec93693b047373061673f56384938edc08d3529d80f38c508373f372779385ae99f37a385e7376033073fa6f9733878632c37920db4374b42b03e8793753866841237fa6ba8376c9b1e3e3e0b8f38d593ab3702553c362e8fa23c55f14438c0dec0367f090635557acd37d4590f37e2110a35872dd036ab2f2a377fb916378003f636a8a5bd3607eeae36ab77bc36c303c9366e1e4935e59b4735a11d5235753a4c35bd26b03532c6a6351419ae35b697b035708c913602e22c364c59493627418836f80067360d45eb359d6fee35e814ec35e47586377e379736a3b93f3679fce33648f0c4375d8279377fd2b936b154ce3613a57d36e408643613ae473674a75736ae9f8136756e633fbc3ae43d2a522137ff168d366f0c6a3f3777af3d028af436b7a954352f554d3fe219a13df60e4c358c4ead3531a22a3f1f3d043d31a7ac35a71e9a3614d4f73e6027893caf529a368783f0357642a53e1d5d4b38d0561e3673e0ae35b109193e1cd03938a2ee0e3742203a3650e9af3a24bad6380c459a36c06c2836b7749238b953053838f6253621a67a36de512d37201c7136e5997536d2fd1d3670521e364dd61d36be632136d75182379682f735d95ef9359c40f435bf8e8a35ef2e8a35399f8b352f4a8c3538effe35c719fa3599fe003673be0436830bcf36e1e7903607b58136670ba736bd9af737e73aa53722eb773738e9ab3752f8b037bbf667373b05e33631e1f8365cbe6a3749025a378c05483798765337bb593f3645a1323f9db39a3edb2166364e4a1f36b77a383f05e08e3e95231f36edc6e2361e4a293f6fc9693eb6b7eb353f718935976c083ff179263e5e758d35d83402367868cc3e365ad93dbccb0036ff63a236564f883e42fa433de042a436aa055e3702ba033e2fe13f3922ce8f37288bed36e5d7463a4acc2738ea18cf366d974537d49bb237e7847e373a6f2337fce58a373d92c33785362f3524fb5e358409eb36dbd78c36ba3d823694ed8a36f8a5193745f8ad35e9a0aa355e7eab352422dc3616d2ad352a09a23545cba835bd9b9a374c4c0e37b0908b36c7ddb536586f9937ae63ec35bf95bd352369cc3500e42138d9c40638d4d7af37c20daf3758f4f4373704c5370b7f5937291d5837a895a237d6d5733706f79436b23ee43638b634352917023f4ab8fb3e0bed23351b888c3693fe073f3653ef3ee7c98336ef9b3d372ed4f83e167dc83eea04a935e610c6368cc5cc3e409a953eaad7a535a2ef9b37d071943e7b2c573e9cbbd43617771e37f19c4e3e482cd93dde90bc351b35ce37e058d03db63baa3c8e188c37d7909c370aa8a03a53867f3807f792365e3e7937284f5a38a054c437bf893535661070374fd96437ec2db536102a3d36ade8df36b65db2361bc639366c1a4536b2c25237a7041135b6ed0f350aaf0a355481b73679dde635ab8fa5356de0a435f83b02365a83003697fc03361fe801361b14cf3559ad8935fc858c35680b8c350cb83638f80b10382dffa0370c45be375b7b853747c63137de707e3602f1a5364fe6ed3695cb783660eb6736b58167362a8227376b1da33e0a622e3f48e81a363765cc3687c7af3e34f1273fa2243936b2eb3c37a0dba33e28170d3f4a5c0d358006cb369932883e8cf8d63ee5ea9f3590100236f1994e3e2503963e7e640136098d903567520a3e78a52d3e295e89357e6b0e38d380893d8c60303de60d95371b4c6b37a72b5f39ed8cac38ce092536ba831b3705c36138557190360ed14936e7308a36107d53364b96c83588efda35f349963670df1736f74a0f3652941336273fb436f9d5a8358eab9b3501889d35fb637e36f773eb35f531e8350c9aea3515a80c3776bd53366c610436c19d0636231392363f1701367132a735cbcaa8355c238737acf86b3651656535386c65355801d337cdd580373c21ea36a9800737c8c812375eaba5369d5c943689ce96364f664236d150033e702b5f3fc39fbd35af36de366fad1d3e4535583fc5900e36405a3b370b78193e605b333f803390359473c7368003043e2a5e0c3f9a66ea35ad83b7375f6ed63dc9ffc93eff31033628b69a3602c19a3d4d10673edfdd9b35fc838837d13ef53c5cefb63d87936235802aec37aaff8e3805b33538a3d0a93651df5e3739c7df37884ddf36ee7d873605860e35cb760935bd84053551ac0135554343364fcd1d363f36ef35822ff1350cc0b03777aed1356965c935d093ca35ae1aa837ec0c4435a39c3d3511bc353599f5df37ea3bd036e2115936806a6836a9f8443820f60238221a3a3630d89736536e2a38c2d70d38eb5c3f3779c5873789a12037f2b11837dbf4f836453b0937ddf3f836281b1f3692e86d3550a8893523974636b29fa83adda37f3f27920335ad46c5370f6aa03c83e5753fd522ed35cc812238265baa3a62fe573f4bdccc35cfab1b3862cc1a3af8bc273f04c341353752243821f8a13aedeff03e047c6536a3a73f38ac8319395fc6913e3052a037677d1638799ba83848aac43d87f4c437ebf11c3701b19338e9ec7c3885f8e13600e76337a9b4fe37bcfec53624ea2c3500000000000000000000000000000000315c8037a2c78134c2578734acdf8b341e53e837c3705736ffa36735f237a13533956f362c940f353f930b355a180435808ec337a6348b3641bc1535fb7c193519c5583852892c380a204a37a7ac773718c58b37810e8a3750aacc3607c007379557a037c359a937821d7f3703199e370000000000000000000000000000000000000000000000000000803f00000000eaa2f43758c3833822617d3f33b28134906d1938f9a05838942f5e3ff9f51336a5229f362bab6637acfc2d3f78cd06351f0ce7378ada823897f2fb3e19c3593762644838a314bb38a7d29b3ec5fc6438ca7af43637fa1a38304ce93d2940b237a6e14337b8d42f387cd55d39a984a13700000000000000000000000000000000000000000000000000000000000000005dc2bb35b6287235489d6e35688e6635c1091534954e14343775123444a50f3440a77336968354349b7d5634c12257348f8bd237799b853578718135fc577e352bff4534bb023f342a494434d6f93b348810ca3524993d3590de3f3587d34635ef5f05381fa34a37a0f1a536eaad133700000000000000000000000000000000000000000000803f00000000000000007b354238c0c57c3f3c4d8d356d3471356ec3cb3843b5553f514e153421271334bbbd6138fd042d3f0defaf3541005c34487986388891023f9ac2c9379b198b35e98958383a0db13e987f8b36422f3f34a3daf337e3a63a3e8bcad53655553e35eb6a4838bc88153d80ad063886331c3700000000000000000000000000000000c70f85371928b7370abc9836a71a2f36a2f21736390ceb35ab83e435f5c3d4359c5aaa35b2bc3b356b863a3596a42b35f3b88036c5563636c2ac373685cc36366220d436a6af6135cac1683573b276356ef2e5366c338135ba0d9035e3e38d35b96a8c377a7129365baa2e36ca4c2d36e9755937150a4b36b1551836d4a1673614f7bf37d02d8237f0912f3763f98937d27a1d367bee7f3fc29a8b395715ae373ceb2d3620fa7f3f5f1c70370b4d03363ecee0379dc7603fbe1eef350aa64a3597876738efdd353f1264ad37f06a3936b5ac2238e2ba093f895fb63728237235262404388234be3e87ba9837dbf98f350a41e5372c31563ebdbfe737cb6b2936c6d1c736230a7b3d0ebac3372e9e1536a23e9c3784463c38cd72b8370bfe1a37fd8fc437a3c80538d67cd736f34c36361118833619db4536b35709363de7e335ef8b953556a48535bc01863574588035f8d80535557d053523f3fc34ab7aee343f55763574ac60357ded4b354d8f34353c67bc347e45ab34945dd534a4ecc43419b757364f598d35f2929535f0b19935edbb6736d9f560365849553678596e36ddbda237ee53403659ec4536f12e44362a020f3650095a3f15c9173e4074a937c9cd5c365871693fcc61b23d003c383695cc7437ff694a3f18ac523dbc298a35d8b38f373b7c2e3f9932353bd3de053582e240378ec9023fd28e8639b30c643561b66637f5cab63e0bd98238702bca34e8a54e37e5484b3e4a2710381be09a350d593a3655f94b3d9b46c637d31c583678caa6373b2b7b38c65fa7371071433606608637e633a73724dfd236ea8091360de82e36178cf535c2e0c335ba619a35ecc68936236eb934e48cb83496ddb33440bd8b35076b883533a18235f8238535fcc65c37efd3bf35ce9eb935b563b33522c2b7379dd84e35396319355a27163553758a370e7341372fb0ab36e4029f360d762b38a6fdee3727df263733d4393786183e3720114736da0bb8357afeb63519978d36172b2f3f11a9a13e41fb0e3711b20e36762c3d3f9325853e050fd835526b023709192c3f93dc393e1783b734d3298536f5900f3fba15fb3d017a823568959c37347ce13e08d8863d31cac13534c2b237168ca13e1e91c43ca1a01635bd618337b4ec383e507761388c4b1937379e1d387e0ffb3c85c45638df054b37d5c6c137be75733817a525376f32b0353801cf37bc9cc3374a9a44365c294836647109370d7d713597cf9b3479344934d6396936afd0aa358c789335a4e28f35d749da36d52c04364ee5f235fd0bf235abdb53379bf511342e2f113427830f348f21b83706350b3680c80a36c49108361304de379398e2368b8fec35a7b7df35d57f9437eb2c243788a7eb352a09f635eb169e3706278036551d4636f76342367e288436306b033ff72cf93e668742362dc0e836b8e20f3f3a88d83ebc520b35437fce37643c023f5c3ba83ef4219c35ea110a38ecbfdf3eed996e3ed274f9359d76ce3746baa53e8989343e0ec31034eb2a0238fd7a803eb618a23da3170b36b7a8cf378633183e1f8f663cd5b8f7350369af378fa6743cde0911387cbbdf35dd3af937541f4638b6261b376e4d443655c59a374250f0361b587d3561c14735dee6c037be9c373649580c367cb0e73518d1303713c9be359186a135258c9d3520563137b7c31335f7e50e359f87033582e33d37f3a2b1353eb09235dc2e8435ced16936a552803584927e35b8e97635274f2b37d4b698368a17bd348f38b7349042593760bc2336d6a31736463f1436ab622637b2278e363bb08e366ca48b364ebef036d4daaf3e1e11283fe5f38835924b0038338bc43ee9d7153f7f821c36a1879237a70ab63e6081ed3e0ce7af3527a5f837b7d19f3e7259b23ec0951035a461d637138c803eba9b783e9252a53578610b377f2a3a3e12190a3ebe5b8235baba4137242be63d5a4d0b3d9ecfb934edcc0d38882c853ab35d10387cb41d36eb9eb337bda4543895c6c736b0db8e369a7e8d3771aa383657752e36efd22c3601481836355ea835beda70354477553571643b35e649843480a38334e2ae80347a23c6345d8aa834db73a834634ca8342dc16335f82234359848c83420d1b03419c81137025311353a4b0b357a080935e17e9b37737ca535c25d9e358578a3356623e2361e207336cdd5373626493e36b5eb1e3600fa15360b730536ff8703367ccaa737486e333e1f19533f7ce42b36ab215d361ebf543e65153e3f54f98735fb9f9e37d2ce4c3ebffd193ff227833461e6aa370f90383e91e7ec3e49d9a6347b6eba37a3f31a3e3cecac3e30d90c35ffad00383551ee3d8d014c3e984a1235c67a1038911c8a3dfe65b93d3d6a9c3571edf23795397f3ad252d4378f434136de460f38540712380066153623a00136927e933708d39a352c96553540c447354c0903369f20da358111963526d889359dbf1637fae30836c0aee535401ce33576255637eb085e35be9c16350bbb10358826b63765416b3593ca2c35cdd029359ecffc37b9110137463e3c3679223c365b1f2e37b9391036f177ec35891ce5358cbc303659943b3631b9353653d2333662a11f3646c31f3691111e36afbc19363d25f737be94f13c776c783f997f6f35afe6bd374d433f3d8c58643fc486ba35220f0638809c3f3df87b3e3fbca1fa3531ade0379840323d36c0153f8c8f34353402fa372261033de126dc3ebe115b35071ef8373f7b803c673e8c3e3ab7583605c40636e730753acbf7f73da27a0136d0fd2f36503985385a034e385c523a3687161138f6482038ac6f203672191d3600000000000000000000000000000000f82fc737188dad35f7e12235ef5a11359a1208362a290f3555dfe3343061d834233d453765d136346b5c273492d604344cd532381d85de371b106935a2985435473d0638688fbd3728fc62340d4b84344e6a0237c0d8a836584f1c34d6a11c344b599437dd36d937383fe636cf7657360000000000000000000000000000000000000000000000000000803f00000000715a3b38bff1403a856c763fd441823579b3a537f32f603a6223513f4c2b0635d984b0372db1273ae550273f1bca3234010424385df6373ac059fa3ea20aa93782579c37a718b9391ab9a53e7f889d37cc8515349deac7385a30293e741b3b35db1a0c36609f43383ad44b3c0a2ad13700000000000000000000000000000000000000000000000000000000000000004b38e333d2e8cd33b60cc3337d41ab330cf7d937c5716235a3bb5f35ebd55d35087faf3762080c3547ac0b35735e0b35db31ec37b870e534ad66ea34707ceb34f1e34e3845093b37d54f4936578e4436287e2838f4880038c4b2af37ce1a7a371a3d9538bc084d38e319e737468fe33700000000000000000000000000000000000000000000803f00000000000000006a31303a783a6f3fc3fee1336c83ca33bb62393c6942493f57fbb1373cba6135a66f0d3a06f9263fe102913735840b3519e4703aa6f6003f54e2c237b5d3e63491a1cc39c5d3b93ebf233d3877a7db36082c3e382da45f3ec8582b38dedced37972da53865dc883dd18b9439a0a426380000000000000000000000000000000088cd323888a8be389f1083372c600637c3d60538fdfd6936771a5e368dab483651bef737f7d4cf3643e3c736a36cbd36c1530b38e78e34376b02b036457ea936ed803a38c5ef7337342aa83665634d36441d9637312443372a34aa369817a83697cc3d38148cae37f92918370214053709ce0b38e5320c378ee3ab36b6b19d36fdf8133807791138da01f837fd09fb371d952b37fed0713f2ec1613dd1c7db374ef5d538bff76c3fc5fb923c1bb96736f96ad139ace5493f29acba3bacb2ce36d10bdf392d23263f782f2938faadd2363344933811ad003fb75e72381ce255379070003820d7ba3e2aafd5372f782737bded6a383986673e219dd839961a7c37e7c0a63726a9ac3d312df539da86fd369eebe23713c6c73a149d133864ebfa3731ad2838960d1f3832597f3716302637156fba37a25a4836c838263691de0b36fe38aa37b3bfd0361256c936b688bf367d41813774bc623663d85236c4e73e3648451138ee84153692f65735476f313571b32238669f5d371ea5df361edadc3699e01638afb1ee37045692378c0f68378243313820a82638c841f837da8add37f40807381957e637e2f2a637cd688c379a729537d1554c3fb6834e3e2fe6ba37db081f3849604b3fd460203e7f8e34369f3aa73827f1283f4a54033e92dccd36a2351a38fbba123fbcd8bc3d85655b36b2756d387860df3e3f778e3d650aae35292f5138e77da73e0cdb173db3d0e73669d909385ac9543eea409b3ce935c437161404387944a83d5f49e13bab760e384a334f3829b7c039819c0138058bb837353e3f38947430381f539137c06c7a36bf14aa37d74a2b3668a808363603d63572791e37597edc351f0099352f974835d3f85038c01e65377914c336407cb936be91f337073df23578dfd535d87ebf357aba7338eb08033865478f3685bf8e368e3634382a2c2237f2e0fb3699bafc36035d1a38074991375975da36efcadc366d3a013855145637bfb20637dfefbe36c7960f381acf273fda43b03e5af9eb3736505e38b10a273f1433923e46aa153695086f38ac1a103f8b87693e2ab8bd35cac59e384780f03ec8c2353e0d0dc636f4405138b4c6bd3e3b5a093e8e43e135ed918938c9738d3e699bad3d32b69c371ac3553812cd393e8c5a273dec24fa366d67d43782b1a23d403218393efae33644404c3897a42c3c1fcdb137d4241b3753af4a38d1051b38de64b23662a88236b5f47037d94788364af978365933633608bb6538af2fee377e15ae36f28ba236c95c4538a3b2ea36eb19dd362051cf3687d7183864bd0f37661ea83667497f363ddf5e3878d79d37fe04f33612feec367d1282383a6558388fe901386ccf8d376c381c38c456b837cec8193782aac1361ac50638a3290937b619cf36d2a9a736a1be0c3896ab023f323dfa3e3eece0361a4e3b39598e023f75e8d63e7a3881365e1aa5388a1de13eed9eaf3eef1711377c0e72393f78bf3ebf4e8a3e5062e43618d655388bc2923e26755a3ef9eaec367bbd87383e34623ef1f3093e2401f5360e1a92389261113e24e2993d24ff30381755093836df833d1fedbb3bb9466b37c502a038f4c9283a73a9b837e0efde36cb581438f7c79737453d6636d3565336d29dc736d775b936c4fba236d9d88c36f409de378b4ce6364daed5365654c436183d3e3809ca9536f5c84d363e0d2e36ef7fe6372cc2dd3542cdb13501f4833512905738879f96374774cd3613edc43671638137aa7df535d17adf35b7b1bd359693343847aeb0372a0a4d36cbaa42366dec0c38b1e5a03756c98a3611e9593639940438a049b83ea51c213f9484aa364b114838c64fbd3ee7e80c3f1129ad3603db8338b03eaa3e84e1e33e246dde369d5d39396a5b8d3e869eb93e17875c364a774d3823a0603e45328d3e6b7ccd353421923828b32a3ecb5f3e3e1273d0368c729e379892d93d7a3ed23dc989e835c7b418382e903a3d452a853ce9234e367d864d3896e550382c6cf23762f6d2361560e237a2ed5b3728193535bcf956349f90b437216c0736c689aa35b09d1f35fb38c037e2a092363caa6b36d49541365d429f3731a1bb36cb30a836a19e953615f3d137f8a92635520316354d4b1235e3ba8937bad974363d495c3697d25036e4a5df371380d3361136cd36fd2dc936b8e9f937f1219e378ba44c36258e45368d668a3720791a37af32c03603d599364b1f3438d9a1623e6135473f29cb063642034a395af5683eaadf2e3fd21dd9357782e239ad6d563e9d35103f4a6f8536a03fee39df533b3e759ee73e46eeb1363816b338b173153e303bb23e5d7d1735b550ca37621dd33d91fe6c3e4fcf6b36d6474938dbe38d3d67e1113ee3f4cf3620a70338663ce03c108aaf3c2202f736f3ed4b388fa9323844bf603764b4f13691889e3739ee1d36f5c7ff351db3c63518d529365f501436af710636cf8ef3358c1dac37e4ded736a1d8c136536cac36b25178376509a136931f7b3608ca5336c43116384e7ae2363d661c365d880536d5270b3852254e3770c0a6369b449b36fb5014384908d336f780c8368d13bf3619f92a3823bfde37d39a5d36641f4f36503fee366ec37b363b85b73570abaf35ff6e25381dbf9c3d61f26b3f25270e362b75343cb645ba3d5b2e503fab910b36e24a6e3a61e4be3d7ae82d3f4198cf36e86824384215b43d0e090c3fc8c38a369daf8a38f4ee9b3dc39ad73eb8f1643606384c3850206f3dca9b953ea072ae367be34638d161073d1842303e39d9cf366cc75c384b58963cab041b3d36ea75371d291739669701383105c6368f35c335000000000000000000000000000000002dd84338e2015535cee250359eb74b35ef7b143873b769379e92a535b75f5b352aee6038c6e1ad37cc012036cffe0836d83538388f0db4373205d834550cd23466d70d381cbcd637f7290d35b39f0c35b5a4443813fe3a38cd31ea3798547b37112bb6372a200038ad82d736cf4b03340000000000000000000000000000000000000000000000000000803f000000009bb9453a0a42ab3ce832693fbdc75235b11f4a3825396a3cc35d443f43dede35957c883814d52d3c383c203fb5af9d36d7ad3e38a4bf383c85bcf73e2abc1737a1e5f6375426373ace61b13eba83a43700340b38879de73970b94e3e42d52b385f5ee033d80ef8382b72843dbdc0da370000000000000000000000000000000000000000000000000000000000000000bafc46360ac8a73512a758360d4f8436f2f7bd3422a9f43335321a35ffd49835cbb21c3500000000a56fe53300000000ad5194354ff1cf33a6dda7357d52bc35285ed3378cc19d35fb79be358312c536807b44329dab1b3200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000000000000f7b80138e306803f627c2f368bc33136a78d7a3833e3603f18f8193557c471359fca1f371cec313f29430c356c7a6935969754385444013f3cc40c35c6584a359ea8c438e1c2a23e0eefeb377e3e073600000000baa4063e0be424334047f13241737437725fb33c000000000000000000000000000000000000000000000000cd1bdb35e9ffb535885d083687671b36000000000000000000000000000000001e9f9535d9649f3524e3a4351465da35abc7b036cf8e9136afb2b936743ebc360000000000000000000000000000000026d487368715423667a75b36fd746f3645afa6366d9e9335956464358474613500000000000000000000000000000000520b8d34eb0216348d3499345ce1393491f258352707803fde2f543afd2928360000000067de7f3f4c83bb3700000000ea25b435d986633f523bb5379215a43524b8b637d1653a3f6a0c1038851ec336ef07c136f5500b3f5628e53600000000927097360cf6b83e79b0783673796536a5f02f37694d353e10a29437aa458b350000000008765a3d000000000000000085e11934e7f5d236e5732c34dfeaa434e93a623534276235b225733591f86835000000000000000000000000000000001a9613365db7e2354e0b1836402434364dee7c36dcac553631e87736f6f290360f9ff53652c6df309243fe34f15b6436693f92368ee76636d8cc83363fc3863659a86336d0234f36812b43361cc34d36a02e083649bcce359fd2bb35dbbe163516a9d737ad7cb537a3811b37eed5aa37d9673335f177633f133de73d2916663500000000c47b673f497eaa3d000000004d311636fe9d5e3fa5b1a03a13891e36a33a8b3648b6323fc03cb938ab7977369e07fd36cc68053fdee312382907d536ebe8a1360306b33eafbab137afef873630af7536168c243ef7dd6b37726e59364fec4935439e1b3d972f3e3753649e355d76af34be2d9438544a0138b7a9d734af119f355ea4d63673efae35d5c0b535ca629236dd065b360072653608ee7c36f8c5c236651dad36a1c9a9362900b93668489936b4566636a76b8336fd1276363514b535cb1064320bab3435a3511835bc768f36236a643681c05d3655be72361b0a0736e6cba63525cdc03562d79835fbaa2f356436b03477106e34dd8182349c31b737720b793778f1ac350ae306376d630935a889323fa3419b3e21979735bd166b36505e3a3fb4b6833eca597436d88eb136325f343f09f92a3eb550a236017e9036ddc4193fa4acbc3df9ce9636c5bc8035add0f03e4289f63c1e3b8f357df18836ade6a63eb9865938d21e653616f7ed35dbd3233eb7bc843713cd0136053b4f342e6fe83c1d99923442a88f34cea2b6355d9df4388c1498375525c1351edb2935bbd6803672ab0135f1638935e26625354370243566c01735997f3935b5f4813665fa61369f7417365bc6713660d1053726e9f336699eee36e4040537452bf337876ebc356dd59234f61526373af15c3799070c3747b20137589e0e37c283b036469458363abd3a364ff23d367030bd37776172356a1221352b30363572dcd23683237f35ad9c2c35437489353c19213443c5003fa547ff3ef84bf1345e66fd34ad53093f50f2e23e9286fc349f695636b8c1053fc3e8af3ea41b1236e43e0037af9eee3e1a8f623edd5e00379b95a837dfe6b43e87d8163e52778836f5e7103776848d3eadc81a3dcc8607377624513685dd0a3ef9dd3c387c0751369941273666eda93c86c900384adce734f7972f35281c5738ed9b3e34e4cf3e35e9f576372f6b5637d0219635c7e6983503c75a35139ae4340000000000000000f12be535a883cc3508c5933553d49f3554b5703674a74f36ea913b36d7725f3651aed735ef225235000000001c3b6b34831c8e3685cd863654c78036ad297036e404c0361ad1b1363235ac36117fb036348ca036cbcc89360d795f36dc023a366e0e4135e6e637355c642735b940883467189935db5f9e3e5d1d313f89078d35d1acc0322e2ab23e9c01203f000000004482ed355081ad3eea9d003f00789735d6ad863639a4a33ea755b63ed51f3c36ea4e3d35e74c893e65eb6e3e4f132b3562db9c366b9b553e202ece3de6567e36d48ece3629f6043e4c4ae9381237aa36eb888036f794803ce44acf36afea5e36f8018d35e269f938f6215835ae533e35b7551b383c3c00389639aa3460ad0d35783f1536b139a7350000000076fa0235eb848d36ca916836cb8b9f35b4ff1a36fe34a63688d35c36604c113691e83a36295a6c37faa29635000000000000000037e0b1365ea2973646fa61367b738136d4782a374e7b183673e8e335b4e4fe3500000000000000000000000000000000a8316b35717f9435f7947235b1818c3538507137d849fd3dc372603f28ceac34b21805366317213e85564e3f000000004fe28c362a931b3e9c91303fe0e18b350dabc836f987183e5bd7003ff1d12f36c6887537bbc9083e986eb13e000000004e8aa636b17aff3d1da8373ea5865836b3353137487bd53daeebd53ce4bc1c36000000006f4a673c00000000000000006b8a613509dd7e380c093f35945763351ce0363442277c34d72b2f3465e81d34000000000000000000000000000000003b95a83689adc3353f3a8a359c238135b5348a36ae843d3697099a35d9683236723fa9360000000000000000000000002007fc372f2357370ac0a036c2becd366b274d36e6829735257c283549fb9835000000000000000000000000000000007ed93736c3a510364bffdf3501d61836aa855f34ec54733cde917c3fd439f43300000000a430193dd0e4683f00000000531efe36baaf8e3c9e924e3f49219f3568518936fca2243c7979213f482935364581f5352cb4223be3b5e83e000000004a6be0370031c23a85298b3e0c17bc365dfe373676af8d3ca7bcc43da1e893350000000070e0383a93b7113800000000dcb42b3601a58b37519386350109cc350000000000000000000000000000000000000000000000000000000000000000dcd6a932aaf8c4338f078f34cc9db5334fe54238c990a335c4138c3519e7c7355ac1bc3752f9c535292710359a7bd33562de3935c8911935aaa29534335e3f35af782838848cc8370509ab36b82bd33688b713385562c73783372d37a1ad19370000000000000000000000000000000000000000000000000000803f000000000000000005e0ac3798d27a3f0000000043f510331cf94238efb85e3f6519f13401753b38df53ce389ff92e3fcb1ac035e74a43374adb76385b79fe3e74c2c335fa7b7535b82f303924609d3eadef7e35e97f7137a67ca838707dfa3ddc120838772b053741539438ece4773a16e5ea3700000000000000000000000000000000000000000000000000000000000000008d460a3625f5de351aa9e035378cf035cc871e353413b634c768a9348774a7349f9221373a770a37dbc1073720a60b3731b1c336e645ac36251fa03664ee98365ebd943595830e35d6a0a1337623673404fd13378cadcd361080b8362c36b53686b1d73632d0c636deffbb364a16b43600000000000000000000000000000000000000000000803f0000000000000000883e933737aa783fadd7f6358f44d3351048a93a699e543f0567c534fb49b5340ecf1a3b4a0d2a3fa1f91337c4b809378e44e23a9019ff3e4349ba365fc5a5369b84963aa09da83ec5606335b26497340111cb3a2c461f3e2afcce3642d2c136e4602e390397313d8cf3bf364bc0b73600000000000000000000000000000000f9792437c0ad7d372cfbd836b53ebe362c76163617280f3656950c3677150b36a0e93735682fbd34f9cd2034650d19354c580a37ba4cd736c53cda3663c0e4367476f2365acfb136005fb3361670c0366ad0f53471acbf345d62b734a43ee7342387d93637b7b2360d6ea1365491a3367b8d02379a46e13671dcd836b09de53609cdc936044bac3617baa436425bae3686aba03617c47f3fd35bbb3a23cc23379cf00d3720c27c3f8282c937dab1103610848c382bc05c3f77b479341c078334d21da6383c47333fc7c7fc3660ebd836566bbc38b8e7073f4f21e5362c2ebb3620217138c262bc3eb9b5b834e2d6ad342d587d382818513e7853bf365ff3a4366d5c5c384faf8e3d4df6f0367377db36607efb365a22d337d436b63622e2ae36e48c8b363f84b636bd3d933695e48636e47e1f362b46113697c909360c9704363e128b36586747364ee74c369eaa3e36e98acf36f759a636fedda436bec99336a52e913644785536a6a06536f9046936a43bbe36bca18c36c10d7236c5c075361c41f33602decc36c55dc836496abb36b8c11936d811c935a885b835ba89ef35a1a82832000000000000000063a82b341a021b361c285a3f0e14183e959a953607f7ed3546d9743f6d672e3d7adf2736371d1537dd13603f689a6237724180361c787a3798a8333f03d20737f309b936487cb936e96e073f4ef09336a84b7036fac05137cafabb3ee4ddaf36a43d9b364db2033729de403e754deb36b892d53610442538ede18f3dd74ddb350825ba35146ca235b7c8103800000000000000008aa31834eec6c234000000006bd28a31c2567635ad573d353bdc5b3504f6593580bfcb3667a8b33606bda636a37c9c36d01bc43601cf9b36e4449736080a8836282db436ec8497367caf9a3604008e36002d80364e552336639c033606b52f368bea9736adbe6736ed3e393625b143361355d936ed72be36f43daf36fb4db1361a3527375ab01537f2fc083737c61737f17c5f32b0982e3fea25a33e00000000856f5e35625d473fd3d9613e00a57d3505afc336a5ae443fa6b38e3d66c9bc3690c027374ac6303f8092e53705d2a2363cfc1e373c35063f710ed836a558a936f8fa1a37c0c4b33eafd06436a1472436e7aa8137ed85393e64107a369c6c52368fa77d3785073c3dda93c1368abcb236fed83637b8ee6b372c800f37c5ce0d37023cb338856db33840060037e8940537c0583f36615c28366cd3c435ce94c535bb07b7360e019b36ea447e36b0177136dd17d837d3d88336db7b6936ba727a361c356638c5869337ddbe9b3617d09836563c0b38858f85368b1d8136248091362432c23690b4983609518b36afeda136b7a1e23675721436031304366a1a2836f45d3b38a6eb0c3736d90737b2cf1137e5808a37664f023f7aa6fb3e701000378435d6353210193f44cec43e20ece235236ea236c102173f381c7d3e9fd39736c6f6383805620d3f3c3cde3d0f467436bf06b138c79fe33e9190633d8457a037c2eabc381c46ae3ea6dc9538a5cf9a3643a5603820ef273ec074503796018a3643097838ce64973c99c63036ae03ec352614ca38627a0839c60f0e3707740b374ceb2d373ac73137be4d0437824003374059c736803db736ab2d7836b0dc2d36d0568336fc7544361db6aa35eb139b359d2c90369e526c36981519366b23ba359489bc360edaa43611939d36c27a8336ad7fd4367d21b236f8c699360e758f36ad7de93680d7d536a28dc8364f43b3369a12a53588e04b35749978356b97ab3500000000ed028033000000003fce41359b46173735b9ab3e614c2a3f1fdf0737180eb936b47fd13e2da00b3f3b1a9636bb0c71363878d83e6a32cb3e437d1a361cd36236446ec83e3650843e0f194d36c505c236329db53ee750fa3d19b4b5363b75523798de9d3e075ed93a2ffbc136910ced361dce263e0b950037d3e2d6364d27b33594a3a53a7d9d80356b238535783718341aeaff3400000000000000004190d534bf85ee330000000000000000f3120636ea12c83563311035228e2135f9d1e53633d2bf360f455c36b91430365990cb361ac9ab3627cc57360e0824363930a1360a0995365baf63365941313640d60b374744d436f870ac3675c6a63681320a37b7eea436c1e58a3628b48136834e58362ce12436729cdb3574fcf5355ee86936c6231a36c7dfde352ce20a36000000008423253eedd7563f00000000e5b40e36ed6c623e3693353fa8574435799eeb36d4ae743e81c5123f83809836a544bd36a76c733efcc9ca3eff8c82362ddca236ad9b533ea3d7873e9f6992367d191f37e2093c3e7287eb3d4770cf36b4cb4c375f8dff3d0b71fb376b419436a8fd81376c53bd3a32fd4036a7fe0636cb13a43648bd9836d9570236c258e735475cc7360138a136d8de1b36ef4dfe35981e2e37ae61cd3601a92636bc660c3623c6cb367e74b5362edc523612a23b362bb21735ee7c1135b255c934c720de34274e1f3844f4fa3604baa43611eb983603bfd537559c0c37b23ffb36e7bef03608bfec37799659373c9d0835155c0935349d8a370dac21360e1f153637ff1536976dd736d4878836087f8036dc7e81364be7c136ad463c3da36d743f86653536535efc36ea4ec33d5fd8553fa22185363051d236f9d8b13d24bb353f03039d36596ad534ed7aaf3d871f0c3fcaa8c03408f58c3753a39d3d4232c93eefe9d9362a950c377046623d7d9d7b3eaeb90f37a9eb13379187533dc3f7b13dcc93f2340f41d337f4d8533c4db17d387055173652f42b38e5cb3238a3d69136dbe7803600000000000000000000000000000000ce4c0c37c17ccb3662b381364da53b36e0b99537c9f6c43626578a36b1b06a36567711371bea4e351a447d335b49913311a686372305ca3665a89a3624298736642d0d389a6a24377a3c1337200a0737ccda2135cdb21735f16d0d35cf19bf3428a52c36356c1e3673260d366e030b360000000000000000000000000000000000000000000000000000803f0000000082851b37320e4c3c73e0713ff4d8a9362010b1372f9a093d8c744f3f1509b1362ef47c3772b39f3c3bab263f9afde8341472c936996e723c23eef83e88efb336f7ce3e37bad93a3ced7aa53e08c02237ec990f35234c903a057d2c3e1e2b043576f91e36db6e653a95d3e63ca71215360000000000000000000000000000000000000000000000000000000000000000422dbc346b28ae33e7f97e33cce2713343335c3766db03369e2dd335dbf3ac355355ea358418ab35b72884359e35383558af9936a6ac79358d3e4935d93d3f35ff7c0d360243f5351d87d535145ccb35b0538435bfe13835341cdf347db8be34f51d50384f1084363e6380365e927d3600000000000000000000000000000000000000000000803f000000000000000092fdc03cfc45693f18af7b34ee9283333f02223dc78e433f59771a368722f935d009e83c0336203f7473d235b4a1a835c063be3c347ef53eb73eb135d4c27535b8cd9f3b098aae3edd2307360167ef35b858353b564f413eb1576235bec923354c043a3ae9f8763d9fae0a38f0b88136000000000000000000000000000000005ae91c38838807386d71703622115c36d616d3362015be36f744aa367f5b9a369cd0703629493c3615331436831fef35466215368a33a735ac632835d0da0f347c60db362451c136e133a636373393365a057336ed794b36758f333640562936f0b82436dda6fc35a0e8cc350173a735c4bf2f3800d0eb3655cfdf36f4d9d83650562738db2b7336c44661369d2356360fad3b364e19773fde400f3d961ab037676bd238a38a7a3fe2add53648aab636251c943c11d0523fd9e05f361da630367a49f63ac24f293f18abf73557858f35433a5e3b3cb9023f1b3fd736d078b6369295bb3a27dbb83ee87b5b36b2e44536a6743d3af837623eb1df123607f1eb354ec2a63988ccc53d57e3ea3748dbe636aecc103ac89e763c7cce713770016b3663322638543946387b710c365d31ef35994e1a3673110736f476e035c6668c35e5864437c3936035595cc834d3eabe34c1252e35e31c8d33a20b7d3394846833a5537e36ed29be3583da8e35d0f737359058b1356ecf4a35bed7013546692535be07ff36a3533a36afdf23363cf81a36e567633657265536eaa547361f333e363bf95c38700d7337fab95836860c3a368cecd135f0b34e3f4c4e453ee035f6375ed70a364071713fc434653d243d04368e9f6438614f533f839e04388ea2383582f8153a0117303f082a1735ad6d8833d3d96d395209053fbd270f366261a7358ef55a3990d6bc3e09538835a4f31d3508d75c393ef45a3e91e64f360988333656ce2c39b5c9b53dfb1f6336d2854e36e9d1b538ab8cc53bd7a224381d6b73360fa2263881c9053873730e35e2a21035bd8f1b383c38a53602fe0135eb1e4c3390ae4236076e28369a860b362311f0352563b835d7578c3541845f35530d23354bf4ae35879a573595380135b355aa34c56cd035be78963598b55935915e5a35f3e10936703fdd35ff4db535f98fb735972e5e366a9b4b364fc3423663c1433668e25c369ea84c365b2e40363bdb4736820ada348137293f4496ad3eb79490353f5c7c37f437463fc52e563e0466733562dc4436fcd53b3f6587ac3d931725365c8e0f38aecc243ffc97a83c655894354aa67638f479033f89d3cc35b9e84435603e303930feb83ee310bf35bd48883546838a385450573e006dfb358bcfcf35b175323a50977b3d39c059363375473658d54a38ba79283853724e3664b742360065c2382de3763869114836f9721d36a2575b383f010637a689ec364cb9d236a61b7837d96d803656881a3614a7033617878238f6e5413604322236b23ffd35e4e780384e7a3937442fbd366e148436ba080738c8e1443690ea3036af9d2736b5ab99362d9054360a733336c848213642e8a937592506370742fa36683af03667439837ef7b4e36570439362b842c3623149337add9043fe645f63eddd89036baf5c23790bf1b3f223fb43eca78ff36a185f536c79f123f6d8d6a3e001a5836b608d6380f7d083f7147f93d5c3d3a36a8b6083a9c9ecf3ed649c13d7c94fe36b3b82a39e0e9b03e96a64838f32a4336e3d65739c8484b3ef59f91369e9b41366771133990c5233d5c1b0f37b6ae0137ea5499392408bf38637d513611134136a80efe3747105636a1442f360d9b0336d3822437bb9e363684e5f7351a16803525aff23634bbd535adde413506c9d2345a386b37a974a235058d38350bd5a534f43d2c3645598a35277fdf3400000000e708fa36fabb9b35f0fb7435663474354fef3c36ee371636ae25fa359e0edb352eaf7637999063356a310c35f2f56b34a597d234ddf7d034539bc234174bb3348d296036786dbd3e285c213f21a9473607386736b8cbdc3ed6e6013f9a871f3610c41536b9c9db3e02bcb83e2f93a23591ab2637d7c6cb3e8724773e077e983548e410372f6cb53e200c083e9f4c71359d8f0f385876943eb3b73b3d84f488358a711039a0023b3ea5e83f36632316369fd5d63841638a3c6395a635c5353535591c3039f2061438f9b0d834d877c634fb859538e881de378a33fb34ac6dbf344c889137460b3436f33ddd35eaa955357d714438a9424636c86c083644f9af35759c71373597a0350d4e1535c6e2d333c5e59b380fd51736992be03553719b35cc4d103839759135c7be4c3570b00a351ffe1938c97be135860db8357b47ab350a7f0e361841da3533dfa93531509535d0acd035c8099335a7cc4535922b1a35d2778238a010573ed39f483fd024563686f4ba363b5a883e4742253fd18f1936f2de3338d7a6883e3c06053f5d65313685f7c0358843873ea214bc3efad28c3592874738992a6b3ea0ae803e7f6a0e36c005bd372daf4b3e6f2fe83dfa839435a9bd4e384669163e6fcbe23cf8f7df356d9a8739e5599e3a37620b367c28c7353ab28538aeeb7737fd6aa935741f68351a7c8b38da131c37e22ba1355aedc034009f513831a2d03606ada1368c4b7936a6f68b38554a0536226e7a35162e60346460b23725a05a36670c25366639ee3566fe89387aced236f80db13616869636e5d94838a0081a36c340e83539b4b835484e8b38f281dd370953783654b86636631b2238487cdf3697f1d0361296c6369b743e36b4b817365c4ef435f689d1357ba37338a1b0813d6ddb6b3f96a0e335e3ce83388de3df3d6c514b3f66e2be363c646338350e103ec45c233fcfa8d4353e43833696f90b3e6769003fc0924936fc7a3638bbc9f63dc890bb3e1942c836634f5137f480b73d648d7d3e6db10e360039fa378c6c493d4c03e13d95b4843650d31138bc7eaf3c76919f381dffdc36b30a6c382248a437aee42636251800360000000000000000000000000000000066329338124d3836cf15f035c59a933533e2a436fe9ca934f4033934693f0b34db180b38c935f335381ba5357d6d5b35708c4d38776bad36a68f27352bc29b3424f31438c541f335e4b1cb351371c335cb11ac38128c7738b62d3336f0942736f1ad313893938d3604de6635464666350000000000000000000000000000000000000000000000000000803f0000000070eb9b388fd74e3de088633fb5032036fa898135e49a753d5ebd3f3f59246234a1361936349a2d3d54ca1c3f699dd33501e5a437062d0b3d80b8ed3e38718b35352d3837d681973ca612a83e3979e535f434293859b2863bed19453ef9772538056e0a35587b8a3ba6d97c3dc809af350000000000000000000000000000000000000000000000000000000000000000c5213435f6b8c2341744df34acb4ed3413af1d36a951ef35ed1c1b3672e90d36ae620f35c4c1aa342b49b6344005a4345692a135ef09cc346730f5344d80253588acc83534888235692ba03532e68235dc3afd3405257e3491b7823481516f34f6e83c3557c210342a5e8134a819cc3400000000000000000000000000000000000000000000803f0000000000000000370b0935b1917a3f89b64435752d0f356b091d36193b5a3f34030a360f2a0036efa164364b58313fd58dbc34e169bd34ce388a38a880003ffb525f35c03a103539e7e6372332a43ef1259535f9811e358f75033510a4233e417ca637e3a78034bc591c352669153dc52e183618107a34000000000000000000000000000000006e237b3572dd5b3512854935956cce34a6ff983456c8b0341932c134ead78634a56339355e231e35e18027356ade253512ac94358c8a7135f0477e3531875c3558d6f234fcdcc034bb3ffb34366acc34c4899d35313a8d350f689835af6f923596768635636f5e35449b703545c94e3516bb8f34e1e5d83309e648346b5f313413d6ea34ead6123564d91d3572e52a35ab6304353c6c793fe01a153d5cbf6d3567ab4234d18e7f3fc8add5390c7174342124573521a55d3f1484c637844c2435d2df7d35a822343f59b0e4370df186357c5510353afd0b3f04b3cd34792ec23435efb5353d33bb3e8994e1370a4889356dd66036e2933e3e39135838b1f34a3733d5af34a7f8873d4bca4737d1bf0934349ad934c912ca35879ca134d74a0b358b062334819091340441b4342bef8534444db4343c60e534a1dffe34a700a1343465b034f9c09534d971943475b69b3435dd14356cb10935daf1fc341a10d8348c0443342d76cd335cdfb833ba4d8533da2507341f104733ba5f5c33a69207338e4917361e660e369759e736a921f73517f8c532c16e463338ac2f33e76dde327610f632000000000000000000000000c39eac32d34b5a3f984f213e40102d34a1cf0134469c633f134ff13d708ad236ee61d23459395c3fc295a23bb9e58c37c63be034f145333f5e286b388420a035861cff347a12073f4a330638ef35453390d933343ac9b53e1c153f38e7e06533f40512363884323e7deeae39a12c57376bce9c324623173de1fc0b384fdf6a32d3f18d33d488a03661171636eb1c6d3200000000000000008e048231000000000a28fe3246c2eb328fca0a335ce00933ce330d36ed80063644fff3358816d035316ab633c964a63394dae3334ddbd4333c6ea63348f45033303ec733a59961336a32d4341b968a340dada63460e270346a2be334c6b592345354a034507da1340bffc3340145cc33ba862034b5fe3234a8eb2034ca401134bfc2d0334f4faa3300000000f1a42d3f34a8aa3e6aa9db31f22722336022383ff220943ebc0a0f338007e93572b6353f6621243e0e85fc356ad7af33f8ad213f8f498c3df99be133d35aad339678013f8bf3033c72149733a17d1135ce1cab3e2757853b6a516e341732e53488dd273e5bbc0b3bbacd9c34d6c2e9348534ad3cb65fe137eedc0d34a5352434580f4d348d108533b305ce33a99c42351b900935b9609034a5bd85348a3e0434b8097234c5865e34c598013426166e352eaf55352fdb2a3592613b35b25fbc35eb639b359de68a352f137c35abbe8c3441189c346f15af3489f88c3445d2aa35da879735b63b8035f6e58f358cb17a3574db533522f050350d163435409b5335c1ff423484428534237a9b3489f0e034d40a1235221708350ea924351deb18354e6af33e8186093f60f895343d044f335b48093febf4ef3e18749d339fef6b35dcf6093fb257aa3eb20c2b357b8e9b35c7f4fe3ee613493efc2f9635ef0281349ad6d53e2f46b83df8dd7b349293af354146983ebf61cd3c5b247e3587d148356b43113e789c423b71d65c35434a3335739b0b3c4728703447025e340044c934663d19353badf2340591f134533cf733e26a4f34038a7d34929d3334b9b0bd34d867a83467eb953474a41d34aec6c5347ad598340f278d347a9d9434ab26ac3474bb92340d588d3430bf56346cdc7f34000000000000000000000000e261e93375d661332ff94e33f1ee123370b2253614470f364198d735530bcf3561db073383d94833f0784433d8e7283300000000000000000000000000000000eea8853283bb8f3e4ba33a3f0c0cb533d3d70534c8c9b43eb8a2223fa796e63397a8d1342677b23e2cbaff3e5bfa9e34c1176934f341a93ee3d4af3ed98422346053a03439109c3eecf9493e0000000048850334764c803eafa5873d391e4e337127123601890e3e88b5ed3a2c78c435698cb03269c04d3b8fa2143847d20233c5a5c13221cc2f310000000000000000756c7d32aa0fc632019d1333ce91e4328210ab32433b9a32ef9d00337b7b0133aa43273696a00736174eaf35f3aa88350d6cba3317b7b833293e0234ff9307342d4484333d5a52335c767b33e1d59233a5704735b949143577970d351f22f634ca23c13428511c37198f5d3779de8a36567ba3342dc11a3425554c347ce1303484482534c2a12a343cd4fa339b17c9332093ae322356ef3de969643f70db0533acbc323386ec2b3e6b564e3f34b60e33d42f2237cf282b3e202f2b3fa58eb835de66cd33f0ce253eb249ff3eaeba183447f1be338eb81d3e57b0aa3e2aeb8a3328c13e3588ec163ec8a3283e03c9dd3437745437c737ed3d4da1fd3c477b6e37065c06368d48533b44d3ca37e7c63034fba856349f25783492fe3f3336bce133ebe61835f1a1de34cf777934bba75034dc2a7234cf394d3492ad83330000000004fd8335c92e4d35ca760e358d792c35b7faa835b7498c35e0fe6535d24450355547f4349b81fa34f37dd834e21c90347a8f8c3581216235f5e131356eb45035aab34a35b00f333569dc2135cdb308353fc1a3348938a9347b3fc834d152b9345837163597b5573525cb5735ea26923540010f355941ba3c0aec7b3f6ce89234478e9733437e493df960643fc7919133422159370fb6ef3c15464b3f5f632335df099a35b5bcb43c72561f3fb16e7a35d78cae34d6c6af3c874ee33e94faae3421d69335269bc03c5498913e31523c35a0562035abc5bd3c7bddf73d1bcd223536419d349567be3b856a413ac0f8a4344d06803408bb293520f02e359c6a4635000000000000000000000000000000007d6c1635afe7923400000000000000008529b7342f827734d966623418148c34f6fac03511d5523577d717351497043524e58f35320e463515dcbd34b93f773447e5e43496edac34ba43a634cee8ba345d755236dcd3283604e113360ab7123606d7483536be273586d106354f9bd7330000000000000000000000000000000000000000000000000000803f000000006435eb34fd8ad33682c0783f441b683430c9ee34d980c539ca75593f38279e34d86253353b64aa39f89b303f61b01735b2f8b3357061cb394f5a023f5ee2f134ad1717354b33a6381e77a43e7399c634699827367cb443383a2f213e0023033607ec9135c74d8939a1b7fb3c053dcd3400000000000000000000000000000000000000000000000000000000000000000c0dc834559da134d84bb93408f9b5349c23fc33fc4abc330ffe093404bdd73372b64d349c88533474c286341e579f34de012235c1b1023541f11e35384d24357d6683355f612935cc9b3a356d045335b321c334bd52b43455b1c6346656df34b6c2c63463c39b344b60d6348a36d93400000000000000000000000000000000000000000000803f0000000000000000fd38be3ae4a6763fbdc38434bf4ca634ebe3983c76cd4a3f987a3434fe062d347578da3c9c101d3f49bfb8336cf55933f606433da0ede13e01cbc434e6b5f634c7713f3d0041903ed6e164353aee11354879a83bd8dc173ea86b82347a5b48347faa9f3ab488f63cea096b343fefa4340000000000000000000000000000000047358733c2118733f5856733e0f26c3326233e35f40525353a871e35593131350fd5d2344b8cbe3429ebbd3400e3c034280d6c344e268534e77775348c7098349e86af3557409c356d4fb135b32ba5359da49634a7fe933462d4a034ec96ac349dc622357d322535adf61835fc101d35cf5abb3469859e348999f334a058df34488d183389f2e332f5f61c3365063133c0c87a33a79e7e3f54d31e3c4e197f330ef22e35e70e7b3f73663435b7732b35a0f9dc3744ee543f2be5d8341d16c434d6f4cd38aeee243f93918b34345a973411c12c396abbf23e3d5baf35e101cc3518eebd3a5577a43e7f769434f3659934feba6038f498363e892c2035781e21350b311c38dffa593d6be7cc34e8470a355633973731d674374352fd326cee12330c9b83357679003742c480354dc98335000000000000000000000000000000000f094233c6494033441a3833b27d5933cf7782341d281e34335df7326a1bfa32a72b64336b8e4c33109542331db08b330000000000000000000000000000000037484833348537339dcf2a3351f167332445ed34129bf5331b70e73354151d34fff88b34ba2e6734060f4e34329d1c34e00614341e59563f776f2e3ee0d4803500000000120a763feb162f3d0000000003f3f932f7995e3f5f254a331c6d48339dd5f23473212a3f92e7c7347b8a1734901ed9354938f53e7b6be832a4661e33618f7a3902139f3e00000000000000008fdaa2379902223e40aa063395611d33ef6fba357533503d8cc5b333aec6d33341e7713464780839b2b87c345aa2653488b78034b76984349b2527346acdbf33d8b49b34f2d3d8332ce3d033e140f73381213b337f71363367ca3233ae3c553355040433dcb7f232be75e33235f91933000000000000000000000000d281263202389335882d2e35d038223593d246354b0a9133e37e8533dfbc7f33514cad33000000000000000000000000000000003f87533532714e3564a983356c33aa3576368f33935f2b3fa162ad3e657aab33ccc7743312454c3f0ffc553e73bbe1334122cd324860583f6384be3c58467b33d206093395d12f3f57e3b4321e72d132fc818432d314003f0000000000000000787627371bac983e30ef9d359f7251351c6f1b360a5d133e68425633bf4b6933cabad3362fd6953c00000000000000001bfda13515270a37a32e1c35b48e4235b61d2532302110321b12ae312f37cc316419863470d55a34f339243435f53f3411af8134fe6089349b4482344e0a7d3492dc6834a7507934cb276b34f71e8834aaf48f35689f8a35dbcf9b357d53853525d27134590981346c1d8034be04ae34361d9534d379b134c0a69a34a33a8e34983e66349ce16734f77b77344ec27034c530aa319e881e31f44c0f32141a2b32c232973169e7fa3ea428043ff286123252e069348abd233f1d45bb3eaabe61348bf07434b7b72f3fa0e8513e7c5d8734da2d4734b94d273fddff173d6a738234aaacaf352bdb003fe5de9b385859c3358d178734672aa23e91a280345e2b7a34b70379372084ec3d3ab2ab34dd85ad340cbc4537c481c83acc02843456d88634ccdb1432e4eeb63117732e317a4b04323ca5a9353132a935a8d9793585aa8135000000000000000000000000000000006bda8f332b4e8c337cf581335e52993387ecad3521988d354b975d3584d93b353fd2a030000000000000000000000000875d0233cda6fe323f11f63221191333b4d54033bbfb2b33592c153358045133cbf4e6338e29cf339001b433d24ffb33b227b3331ea91433cc1eb33250bc5b325d4f04356222a23e2eb8303f9e8a7835000000002276ed3e1e5d063f00000000751d3a335583033f58d7b33e2e898f3394e68135d0a1fe3efc475b3eeb3e8b3500000000b758e83eeb49603df4248c31085ba932e90ba43e10ca4d3ac4bb043349b30e34bb340d3ee34df23258de0a33322277352c23233ab42891332be4a63338224b34b0b41c34607a9b3376981133c29c9d34ab577d346e704234443f4434e62c8c355e68fa3450f7ea33483108341c78433391b63f33f5ca3233152e513300000000000000000000000000000000b8595f33139662335c66583321276f33a2d50835b45ec9323fb4c132c547e832a43c4133a4513133da4d2a33528b6733000000000000000000000000000000006408133585f00a35f7863235dbca84356c958d345fad173eea325b3fb37229348088de33b750893e8ef82f3fa61c1b34bd9cf3324a3ea93e63df043f789b4533000000007c3bb33efeaab13e00000000e804c8324e0fa43ee82f563e6a667e338c1552351259883e18f19d3d02b1813409284c333ce40b3edde72f3827f41a33000000004a4dab390000000000000000eef1d736b6760c354248a1347fa6c734c89b2533511c2233c864e6321f10d33233360836c124f7349dd6a334937e733407813135a8092635772b02354270e9347b51fa367c9b85343cca66348b706e340966b8358878a635e030a435a90882355c672937c0ee9e3425189d3484f9893465eabc34048ebd347c92a8347386a634c88d25359dfb163573aa0835e164043573197633f34346335ef94733a5e15b33c85112330b57473d5601753f336f19332f7a0135cb49113e563d4f3f50510f35d3ad39356367263e045e2a3fbbf4273528fd8334fd904e3ed345f73eabe78e346f53b23569a34a3e2033ac3eef46d6355fb3a534b520303e7757433e2608b23434accf342207b03d6542b43d1902c134635433350786c13ced152b35210018353a317e332f1280330c0c5e33a6ca453300000000000000000000000000000000f7dada34675e9834f4874534ab75413451afb834ef09ac34dd027c3402792a346886dc3636b2723506144a35c7ec2a35a3d589375c30e4342e6da7348fc99b341fc5d536636d35348676c3336068873389304634d2d2203449b20334099fc233d3cd8e361de6c036358c5934a25124340000000000000000000000000000000000000000000000000000803f000000006b66bb346025363d6a256e3f1012aa34ef7aaa34c66a863dae5d493ff117b6341d6e8f35d010793d3aa61e3f1acd8a35728d0d35fb3da53ddfeae03ef66def3487e34c3437359e3d693d953e1a8fe0337e0f02341506f83cc454293ea6ff8f34e9a78d34959bf33ce99e3a3cc2a785340000000000000000000000000000000000000000000000000000000000000000584a26347a802c34f36b23340d511c3400000000000000000000000000000000b11cdd3514679435e02e8d35e28793350d7cce346a4b993411d69b34a399e534791d74352b867b34f67b86344eb68f3470b78735eb3a3935e6452235af3f1d3594427e34146b1d340afc7734ac8bc73400000000000000000000000000000000000000000000803f0000000000000000585a6b3dd322633feb533534c8942d34463de63d6717353f0000000000000000379f093e9f7cfe3e32f3a935f5c8893579051e3e3c65a43e1957c034fb079034f25e073e664b473e091ae03472768a344f228a3d27e8e43d32eb5e35bd612035d5e51d3d2a7e873caec1363465321a3400000000000000000000000000000000c97ecf37be20a337fdc99434088bed345623a534f7739a341bab8534ac9f8934000000000000000000000000000000000c2bdc35f26be934b5e881348e002e34f92eb5344299b3348d0e9e349bf09b3483a6203375f8223382d02c338cef373326f5033593b91b346386093193ff1231d11b843597953034442d3a348a603f346e125b362cc67135905e373580ff5435ac4a5030b991783f51bf013d1bc12934f7486238eaa9783fe8309134c3735734ab228b3d861f433f0000000000000000f45dec3dc160033f2dd1b3355df96334bfcce53dd3d4a63e867aaf34a4ae913472d5e53d3e9c3b3ea15823332aeb3233f861783ddc91c53dca8dbc3410c70d31027e2b3de667663db6812d34ccca2134607e453b1045a43868c78b3538426235dccf00387b6ef73ba2718736c52ef1359eedfb374480c135824f7534e35c1e33ecafaa34e6ea7f34f4e08234b932733468cc1c35baef0f35188121350d9f473579a31a317b731b315db62b31fc6f453124925d359ff19434a4068c34e0876f34fd7b7c33523d69331db55f3369e36633860b383373680a33490b1e33c02924336f8f3b362d9c4535a96244352c82373500000000fc9f503f1a572a3e4de837379f351633a9177c3f448afb3a4d9540352ea29137fc125c3fff74a0349d4794349e7c583d3208173fbedb10357fbb2d35d9e2b63df273bb3e89ad293159a228318599af3d40cb403e71db19357e34a6349878423d98e99b3d9e797533747064336e68383d200f083da557eb329ede15330d8fa53c9f23f138f96a5a356c6c4835151ead3826edaa37d3771f3502181935ece2ee37c97f1636f4234534db863034737845360000000000000000000000005dc9bc3520d85235b8ba4a35824e483579688d33bb429233c4d813330eafd9324df1273550aa2935c9832b35627c303540188a34b3ff8734a4d48434d2328a3433bc56341ee3a83331f7e63355e20134000000000000000000000000000000009eb61135536b293f894aaf3eb8cd403506543434e451503f004d233e1e695a340000000089536b3f1ec9b2380000000069f04736bfc62c3f4fbfb335bdb056356cc2193d93ffd93e57cdb2339c028a334627a53d7365443e64472b35b2b335357486693db78c323d3f6d9034a9ec8e34b2b00d3d65c66538322370337bd4c133fb2f513ba98f0f3800000000000000004ffe36380ddc7037554b8c339469433403788a384b8edb36d4f9083459060c348f18083850ba9235288d4d355fde1335a6c0a337da1b9435fe6a07359794e534c73985377ba79334c4ad84349af7863446ae74358dc51b350b15c934b70851347bae4235ead016341b441b3393b401312e079c344bf6f833880db333d6edaf33c33cc93400000000000000000000000052b91035681d013f037ff83e6355b435432eeb3467072f3fc49a973e9df0a434744e693522e14b3fc55fea3d7db6a03583598c352af13a3f6872de3883b62c358b5a9238919e003f4562d2371f526834979dbe3cc628803e96238635793f193590407e3d4767033dd4f329354bfcda330279cd3cebc4a838d2fee5333a949033a821893c017ba63700000000000000005c245838651a9e373044293440a9a7331292693890e60536d3aede332487b033aa4d643856c00135245d7334938c9d3346ad5a38896c54368c05ef34f6ee0c35d93c1d386327e93649fc85314e324f31576a1036e2b60936cbdbde3571278c3500000000000000000000000000000000545831348056f533755fe3337abdd433bc12103512f8e7341575cf343347ad3400000000b6f3b73e8851243fcddd1c363a357234a2a7073ff81ce23e07c7e8342b37853461e3273fdd517f3ef4d1c13458630e35d1251f3f012be53df30e0635e97d9f33f570073fabea4a3c8d8dd3328583df35f3f9a83ec0204636a93f06369c96263c5cb1973d0000000000000000f7b8013d7a830e3716a31b34910c1034e5f2d23a049769378e2f0835c871f63484364138903ad936c57424354547fc34e57d16388eaea633983e0f33dd14e9326773fa37141c7c33e1f62b332daae2323f7fd837bdef613508cbd9340491cc345e81e23745e8ac323c92a430eb062c30d348ba376ea581351a534d350f644c35d5075236c6b7d6345453d634d0a1d03491c3063347781a335b58ae322ac14d320000000000000000000000000000000031cd253646413d3e927e4c3f4a354f357bd168339f7eaa3e4916183fd6267d3394f776331420ef3e200cd53ede296633111a44357183fd3e313d733eeeff05351d4e9031c3e9dd3e15afef3d41328e3141e5c235e443a83e2bd9093da5c85c35ad9bfe3462a1143ed8ae6935f03ae03449e88a3cec61813789b51833b32e0233151d7b3cdd2400350000000000000000ad23a438259dd9360000000000000000ec3a80387f378b358c2db13200000000be259e387aecff34329cd133ffd7483188a12e3881fa85368c55d932a1720233b9687a38be90d5341e106d341e4e6034129a9638e804f836c4afee3546b6cf35f14f2738a7af8e3500000000000000004a9a4a37b6237e347dc534340c76313450606133000000000000000000000000a6328a369c71b23d3e2c6a3f60b41635216beb35f803253ee8ce3e3ff12f8e34b76c3835c4349a3ec45e0c3fda97ff34f678a1347263b63eb3f1b53e080af9323c060b35dcc9b13e683c633e794d613479de343630968b3e72fcd63dcc3f123600000000ad98fe3dc078513d05bfc034bd4f82351913033db5cf3935d5f61434cf76a33a56ed9134000000000000000000000000000000000000000000000000dbe71839cf22ab34180f2334dbfdba335a1205381693a835a71b8335360683352dafa938c2750d3799813034db4449348377bf3801fca736e2788c34ee14bc338031a93876ec68371cd80236eeeee435423541381ff0e73629ff8635c8d7af34cceb0339568754386c7ee0333261ca330000000000000000000000000000000000000000000000000000803f0000000088300c368ca2b93dc1ed5b3f5f38a2346e6587356800f43da307353fc983a3358108bd350a093a3ee0bbfe3e5e45ca35c6f3223573f7433e9237ae3e025ce034ac44db3554cb2d3e8fd8523e8756183644cbd634a7777d3dfb0fff3dd7ea1c36acb9213442dd313d75b1863c08e1fc330000000000000000000000000000000000000000000000000000000000000000447f3d378601fe3562262336dfaf7f36ef491a376bc08e35675d3d366511c0369be603373f80a8369ff3b8362bb1da36b8038d37bbd73a36871c51367cdb4937a383c3379a1328378ff186378ebab737673b67372c7c2337b029413779736137f1fb5e37fadb643544e12836190a313700000000000000000000000000000000000000000000803f00000000000000005c72e2370cf37f3fbafc8a37e90bc2366a460138fbe3573f6d6e75377954d13620322538f0552d3f6f7135375aa3e73660702b3a9f5e013f77d0bd375d63ed362a7a2238f17eab3e9aacc637cd6ba93777482438de452d3e332d4d374ced52373778da378005ed39325ec436343aa53600000000000000000000000000000000021d3b374c567636a19f783642e4bb3697ded236faec0036f9680b3603027e36ea796336a12950364e6f5a36f2815d36b40a5837be8d7036922ec73617293237d7f00938f2c069364915553767b3fa3731275d37fe381436a0737636eb9a4537fb08da37f6b4ba36d97811379e4cb437c8d2003887d78d37ae7d8d37c68ae937714483376bd76037b3586f3773498a3793856a36f4f77f3fadc61438fd13f33610f16f36fff27f3f8420e837ce608a368534e5360794573fd9dd153890816036441bec37107e2e3f19f64538821d3737ceb0d4388776013fff7cfb393d4def37a26b7e377fa0ad3ef98da137564a1b377f42f737c2d6333ed558093883019337f1c4e73769947b3c4937023867f6a43711964837a1e2bb3760223e376560403742d40238b1896a37aa499e36b18ce93654e2763501c82735254529351bc32e35fe955a3689572934eedd2734167f2534d63fb33750d8b0343dff6435134b5237388993370000000000000000dac57436951496371b93223652e0b736eec36f374d47a9370ce9e736b3480137c0e963372045d237ecdb3f37f17a21371fbeaf37a2c9913774b972373fa36f37474a91371aec5036126c573f0c05223ec00e0c37c3f92d352b78583f8eed1d3e70b82c35d2bc61345e95343fae8b0f3e8e2b2a34c9a49e3748f3163fa6bfbb3d48db4237c6db9237604ede3ec043813da84e42358c3e753718c99b3e8aa50f3cf16e22375ae56637811f2b3e0f1a19380c2c0d37b2b08937dc4b543cd5c9d737abbf1637d3f66337c035f3370d005837acf82d374bbefc37c8bea637b2db1137d93362376e78b8373b66a836ad459436723db036120157371928de353d87e1359e8f8c367f759437f064ad36fc99a036b1bde33690f39339219978351cf44e358ded8c374fcf4b38e6fac5368519ad3654e305389c4cb33712af0a37dabcee3643df91373dfff137f1ff303725b30d374648b53773a13138e104fa37c849f137870f2c38510dae36f9612c3f1c18a73ea96b1a37106db736e0392e3f6b68a33eda58a03632a3b2368c48163f6f9b883e22cc3f3685b42737bc2df43ebf754f3ee220cb36572010384ff8b63e62d5113e93aefc3662672238d61f7b3e154f9a3d2c3ab037c42070379a0f093eb218353c01592e3799de60376dbd363ce41c12385e67b136a70b0738f3258438dac10538a106c3372ef2983706006537aea293367e5b0e376feff0379c494337612544363572a136ec57d637dddb9936ae6573366cd4bf36ea3854379cc13c36d39d373606dc3c36e2f6473882f127376ed7be36dff59c3719a09f37b8b83e36b4483f36112940366ddb1838926a7d37946e4237b372c437aeeb2738c202e037b737b43778c303389b138c373dd374377ec56537bb7d88376e30c9360438013f7b79fd3ed2cf8f36023e50376bdd053f29f8f33e5fa345369ffe55375470e13ef7b7cf3efa517936655786363478b83e45a1a33ef8eb3936a6f72338cb0c883ee5c26f3e39245c374c6bdd36b17a3a3e693c0d3ed52a3f361d6cc9370766c43d655e6d3d0867513715fbf337b184a73970fd5e38b54c993726f4783766b10138c2c069376d521837d8a53938604f00385cbf4e370c008137b5516b37fe8a693556375635cc606535f4488637004575365e2ad73342451736786e3038b2028e366c98d53529d38436ce377639b3109d35fe902635eee6a435cc78c43733bef6360ddebb36697d1437ba73b537208b0d376aa8a036fe6912372e3c19381164b637e61b783725e9d43724fbe8372cea9f37b6008337d96ecc373f51be37b235ac3e38cb293f428c3d37444a0c363450b03e2cef243f4dee5b35603d303722959c3e47960c3f51e71c35b887123826387b3e3324de3ec045513646571738c0733a3e2e88a23ebaad7b35801b823741d5f13dd8314f3ecb94cf36d6d97e37dd225b3dc596bd3d43beac3672eccc37c1f39e3853346e389fd54237b426bc3739f137380a2de2376bbd073775e48e37619f3d370000000000000000e1b67b37cb98633635baba341eb9e835e5b86c37c251823635fe80356ad6943529598937a64c2236e4b749340c804e3433c3c8370000000000000000000000006245f937d2f363379849fa34eacc4737667c1737c5391e36b4242834e339223643beee366dc4643594693835f14810364040f437b60789374cb704372547c237e17f2d3776dc363eda3a523f0000000007b017378ecc363e25f24e3ff0eac63402b20f371cb82d3ef7c2293f04e0893566707e3778a00b3e7cef0c3f8e124e34542499370b1dcc3d8f46ce3e00000000f0dac03717555c3d078a873e5f540a37dc81cc36d5ba7b3cbb520e3ee41629344f503936f7ac4f38c24b2838f9823735e01adb3727b5423889b0db37224ea53699dd8a37f2b71d37993a9e33bb509c333c26bf372a7dee362c91a336f356cc36b78fcb37f2f1873681125236e6d35e36b01c69372dc9533694db0836dddc1236cdc83b38e740b637a9532a36cd610d378480dd376dc1383718db7d363dd814377fe042373a1f85360cd85d364706643634cf66373a022f371d3b9e36c18d45371e3d03377c06cc364f71823603bf043746786d37ee4e3338c8f07f3f4585a133be83c737156faf3cb08c763febdbcd361898d437efe0b63cb6474d3fb2be5b3638cc6837da68933c5b8e243f46630e3617c6373864f9633c3b87f53ed57caa37f5c4cd370d018d38d0e9a23e07ad13371294203709d37738dd87213e0a475d366f7c4237325fc9375582fd37f1ae87367c8a1c37bc3e8737c65b0237e93e6a36000000000000000000000000000000003e4bb33628194035fef70035c6b82735efb36437d0bf2c370c958736667cbc36a853d33715e695376f929e36819f1137ba100238df10d036de373236ca074f36d08e9137c2b40337f6e2b836c277dd36dd72a537849974374d70a936a0f01037b5bcb437239b9f376498523776fc97370000000000000000000000000000000000000000000000000000803f00000000e7fad2362f870a380ed47f3f3bed3b35feb563370077473897a3543fafeb1c37f368ce37a22f2c38862e2a3f17c092378ccfc93710151e3ab97cfc3e43ae95374a922937d79c1738f13aa53e354bf83662a98137c8e200382441203e2e097737896d89373587e3379011623836e592370000000000000000000000000000000000000000000000000000000000000000620556374aeb5136fa07493615df5136ed522c388ae29a37f8832237558b7f3756562d3856c6b2373aff8437a18dbb379535093874ce83379c0e7837f5479f37ee8d973716c2ed36b41ef336c8ce3b379d9bd837bef66637a51561372ae29637a13fdc3759cb6637710e733799c7d43700000000000000000000000000000000000000000000803f0000000000000000f11e813ab10d733ff51ca13718fc8f36ddc9353cf2f44a3f8f5e4138ac4b0138e85f683ccef0243f52e84038b0bb0d38efc83c3c280dff3e377e1838e13fcd374ead153ccfe8b13ea41e9b37ab6d6c37c6fc353a43db553e596fd13781a2a137656a5c384bb26f3de3ceb337b3b69f3700000000000000000000000000000000ba6ab938147374376f2ccf34465cd334ab998637715a9735290798350a019435fef503385c0269363ab84f364dce4f36fc116937f590bb36a52494366db9b7369330c1369efc31365d623436a96634362f81843761d0dc35bb1fa435bd48bb360b5df83792a621371879a536294a6e37d7fe7d3794afbc3520acc335d4e03737766ac937fa2e8e37e6b493372c25d63709728c39b225713fcedc6a3dbab564372ef4103a44c7643fb895613db327c4350379533cb1fc413f71451d3de2739137a360ad3a88861f3fbaa5a03cb7da0a37ea3c533a1de1f53ed346ef3bbc144436eda03238e7b9ae3e83d1b03789bc293745510f3a64584e3e67720538cd429037368a113a7fd37d3d0d4d2337fb6e7e36f87708388e721538d5f6923762518e371aeb25388b9306387b3d393755a43b373918ca375888ce36cf28c3357fb7c43573e1a43783d6103658bec1354e19bf35fc10ee370f9549376b10663641d1b736270a2538cb92bc37bed13e37155592370a870f3863ff8737103822379bfe5137bef79037f4ae523671b512360ccfa636e2de9737c5c92237cc490c3771b88137ea0ce4372e56af371c3ab1376129cd3723292638eaca4b3fd763503e1cf8e237a67841383979443f7371463e639aea36adf940383ea2233f4a9d203eb6a3af36feefa139777a093f3412e83d7bff9f37a334e23b2fd1d63ea4568f3d76d1fe37ffd11d3ae5d7993e173d0c3d0462c1375b0383395e8d413e044d573b000e023789e98e39613a763d93879f37282e2e375e433d38800e8939c91ca2378ab9a13775cbd6371e6eab370d2c1f37240e03370cc99039f331533732fda3357f58a23533eac83725a8a436adec053655af06364da811382ae38d37e62bd8358cde3536de2621384ea9b0374c068c36d31411372d7b0138157f5337a41d9936e79aa8363e4919385c30c4379b814437655e99379766b3376e2360379107063726f27b37159285370ab925377a962437949c4737aa6bba37ba52263fd529b33ed9ae8837d0462c3ab06e213f7fdba53ed1860f37b3882e3aea07093f69b4883ec17bf5365df450383ef6e23e5f5d553ebf95b0370a7bf9399b70af3eb8bb1b3e4fb7de37ed271e3ade617f3e527fb93d1e908b3773feca39132d1c3eaabd123d0309cd379532df371ad25c3d5c1dc837dc3d4537e51de737c405693996624337a973153707ee0338e308e637c0ee0437b9cdb53530d79837ff4fc0365c745235af464f35d961a8379a464c37046abb353138ba352ece1438c30d3e37b13933311f934831f7af4038f7dcba3716feca365cffcd368ac21b3876759c378b85073569568d368427803954dd9537f1476337153484378ffec837e69a913775a040379d548d37e4b6f637d32bc9371b07ae37a950db376586f037d200013fcec5fd3e1cf2a8373d3dc537c51bfb3ef035ed3e749da435f674063ab27dd53e232cc43e1f1041374549ab39a02fb23e8d039d3e6d5b7137bb6b8638722c883ef87b6f3e2f65d337e55aa639d22a473e3499193ef1d2ae37f973153a5b87f43d5ecda13d8c739137b353d93770663c3df13ded37897076377d430d38ed552f386418ec37786cac37988bbe3720b25837f89a68360ce6673662b68b3787976236457bbd358c96bc35c9b7023889a04e370e06e934dd4fe534c3bbed370cf6033757ea2e36d2f525369cea2238d01fc037235a57358dbe4f35ef3e1638d3b6c4377535d236c198153711b52a39e5ce943715e118360fa9c036f4370b3aef72e2381e846037bf3ea23759f8af37df2f9d37ec088e37cf3da937bee088375672b73ef827243f36f5fe361effbc3765a5b33e9751183fbe3cc6352775783970849d3e72cc003f40af52372ce3c5391714823ef547cf3e85c72d37c03974396d93493e8f719d3e0252cc370e9f36384fb80f3e96a0543e9930c9371abf133ab008aa3d2eb2e73d97978537a7b4373ae1b7c83c8ce9973c2b48b137dce6e93778fe1438a620a737bea182374e2821380403d6379082ef3671f60336d2ee74378705033603bc8935346188355ead4737e9410636b25afc3524e6f735fa270238b8d1443765bc0c36142c0b367f8e24384e1dd23712748835fb3c8a35bdc7f03730a99c37683d653616e3743673a0ca37ea025e37615f1d36480246367476f73739b1ae37cca82a37a3af6437efb50938c7a8df3710769e374e31bf371260fb37106a583e92c1493f638e8d37ce7cb83702de583ed6493a3f2df38f3524f80938b32f493e9a5d1c3f96ad033695858939c30d263e4f87003f6d196e37f645dc39a4a3e73dad9ac73ea7bfdd37dfee16381250ae3d1732873e5a509b372bab0338bc09453dd45c1f3e64d52d377bc32a3822bc253a3d491b3d4cfc75373ea72738ad4cea382d070f384909a73704dfd23734b09c3715bf5a35b592513567ce653709559835d5e88535bd316e35e703f73715931e3783bc303635b42d36554c8137a7545436b17aed34d6a2e734ba2a05374e8c28360fbc263629f52436eccdb2373add27375fe1833659f07d3694701c380e00dd378cf552368160543661e4cb3761e784375501ad35f1101736204e7f3754000a3738dfb2357b2d7236134be6370e3e893d7fc56e3f0f159f37cfcff7387127a13d79ca5b3f4aa99435f8d03938f9c6983d3d1f393f08368037e717cc37654b8a3dff4d173fb69ac0364622a4385854613dfab8e93e2a362836f512fc3940d0073d80fca43e74d1153768e7be39db76ac3a4f9c413e81d0d7370af10a38bfec0a3a65d44c3d4b954d37f56b0138e7bd15397eeaaa37b8f80d360000000000000000000000000000000049e5e3375140623762d0173608d80736b845f0372fbb993705afae3492e2a6343048b0370d358037c558b836397a9c3617a33238bdb70d3854503a37f2180037582f2e391a0a3838b481be37df3c9b37de614f3873af3838ad90d337c1d5b937094e0c383dc0e33737d63137fe4333370000000000000000000000000000000000000000000000000000803f00000000ac5811386e5abc38b2ed703fc7cbc4379d4dfb386539523a7f0e4a3f1774ce37a2e50b396a5a0a3ce57a223f90609f37eb4b3b3845c3ca3948bdfa3ef80f1f38229caa3939b3833a53ecad3ea37e433888485938cebc84385361483efbaf3f38fb55043825099e39ac0f493dbd46af3700000000000000000000000000000000000000000000000000000000000000006696b5390524453869ea27380b461c387dadf03953398639c7c27b38cb1774386bf1233a273ae7392e568f398cd55639b05eb83999525739cafbbc38394ee439fd5b90396e4c11398840633865175f38db64d539c64c933975584739fa1c313928c8b339c5154b392ddc0f39cd7c123900000000000000000000000000000000000000000000803f00000000000000004ff0553a6f60613f39eef3399996dd385aee803a628d403fa7ec103a9a70b5392266713ae3ce1f3f3436373a56ee083a45d2803af3a2fe3e4223ce390e688e39f274203a42d0bd3e786da439119a44393a79483ae4c5773ef7c9db39ddf7a6396817293a05b8ea3dcee4873917e0553900000000000000000000000000000000b3730c3acf00e33973a75339387f2e39f3ab273ae6a57d39780a8b37f7f44b371d3d143a601f42397d8d17384ae51138847c193ad1ec4f39e0467d3747eb4037ff59093a815eb93951252c39825af138cc8a773988be0538c003d437fdcac7378173073abb5ec0390d45773908265d3958d3e639cd2aa939217d7e399a779d39dde4b939d64a663977b316395eba2c393391323a3fc3603f88fced3dfcb1f839116ee63a73b9473fe97dde3db4559e39386fe33a36452a3f47c8b43d629e8a3979d90c3b336e0d3febb9923d4c018c3937918f3a0b26e13e0243623d6356dd39bbcaa03ae839a83e52e51a3d917b0d387158803a8c425e3e565da93c99add3397c2e8b3a6aa4da3db535c1390c229939f5a4253ac0591a3a1f5575393f7a3939c822003ac713e23936ab5839ebcdd438b616313af0af073a8029283967695737e1693a3ab542a839b90b5737c7e93937640d143af5fac439c988a2389584963761830e3aada6d539a4577139f3b92f39f4171e3afdbadb39c1814839d2d708395449023a76b77b393666c4389a7ca4380a8a093a01d8f139e8abc9399e5dd539de8dbb39fd75a739762ca03944bea93943f3123ada5e403f8139793e92c0ce397ddd7d3a50642a3f5bd35c3ed4db063ae6fba43a559c113f08173c3e7728d83991775d3a24eff23ed4b41a3e6181dd395cf5af3cf9a6bb3e9e0fdc3d5338e7393c31c43c45228d3ee73ea13d2b43e839735f9b3a45bf3e3e55db5c3d1d9f81392ecf213aeedac83da1a5093acaf7e439e826ef393dc5063a54a3ac39693f9539d03cb139bef95639d580f1379bd4d737d2c84f3ae5662b3ac853a039539dd7381afc613a8747313a0482ad395f571839e5ebcc399bf30a380a7488374fd21437b6241c3ab57feb3947f969390a17d3382d56403ac4ac123a3e8ea5391bb171396357463a3c96ee39fb565a39c8e82a394857433a03642b3abf92073a5c4b043a91b6d039f789af3991d782399bd68239114a093a052c203f201fbe3e85ac0e395bef873a638d0d3f7359a73e5a81283ae9fb8f3a8fc6f23ec4be8d3e60a13a3a84606c3a5b5fca3e999e6c3eec50bd385aa6743ab80aa13e2ed63a3efc85fe39fa287f3a4408703eae07083ec81d163abe19be3a99021e3e5323ac3d3bccef3952ac6c3a7cce983dbdae123d7d2f233a0f78203a8997283a91a1c0398da0953912edab392f68963980c7ac3855228837fe392b3a57f79d39436abe3716f37b373a6af33908439d3837bc123885daea37fa8ddb39d5cf7c39262b02385d16e037b1d6b039b81f63399c963338dc7d2438a96fc8398b9a6839820911380652053812f4053a5b59f43865a4273888ae1a38834c283aa4ddee399ace2039532921396d88833966434139311bdf38a6c3ca380e62b739e58bff3e41e9fe3e670485397457753a84c1e23e9d29e13e19f7b3396414c43a2b28c23e33f2bf3e9359c7380ae19d3aedb1a13eaec59e3eb3758d398c09593a36c7803e05b87c3e764e8139adb3973a4684403ed13e3a3eee3771393845ac3a6889fd3d2645f13dcdc8de38ca7c513a7b4a743d2428593ddd949a39a557bd39e6a5c03958387339679c0d39ff29fc39d74fe439f5717139dd772338c2b0443aca141f3a28f17a3930735237c6bc4b3a938edb3915ff753730a5f136c583493a64aa1c3ae7da8c3922d894387e021f3a2c40e7391cd54339b7b81a389871b8396b3b1938ad66b937a9c282377ecd5c3a76bf353a7103eb39eb4cb9394e823d3a639b1f3ab393e2390722c93913cf823938ea17394b461238c8a8f837b592033a75e9bd3ef0b11f3f3b50dd39ca0a713ade78a93e6e2c0d3f50e7203a4539bf3aa37d913e7210f13e3bb1013a92777c3a1fe7713e9d92c73e0a4e273acb69583afade403ef95f9e3eeaacf739f36e553aa46d103e555f6b3e06bf1938d72f883a31abbb3d5d1c193e75b42f3a8ce36d3a5ca8313d65af8e3d2bc1123a96b5eb39353e083aaaa59639df6821387203b939c67b973918d3e9389cbd8a3730a1db39445d7639521bb53762037a37bb2e0b3a6780483910efd237b9bbb43783c22b3ae126023aa02108394a0c3136debc0c3ab73cd9398d723f39b0e709384e910e3a3353c3391dd653385503963723c7303a45c8d2398e3c683765064c37de46273aea020d3a21f6b8390d789439f003d2399f8eb0393cef7c398c895739eb2dec3944957a3e8934403fcae29f39043a2c3ab3ef683e7d652b3fb5259c398b58993a919a413e88f0103fa5dba9393b0e8c3aa3f91b3e7edeed3e7de2113a0d05ab3cec58ed3d4499ba3eb0c5ea39b00a493aed7abe3d18d68d3e420fcc39e6c88a3a5ae4773d8b093a3e1deac339c8f34f3a2a38e33cba3bae3d0bbb003ab40f073a7a82093af14bde39e5f29539afe2f739db3db639f7150e382f63af37de9df239c16881399c64cb37cbc694378474143a537bd7391d6a1c388ce7ed37e770763986db0638a4e38d37b7defe36eeb0093a7af9cc39983ac8388800e137616c1f3aa6df813912787037d7c806376f9a123a33a2a239b6945f38f40c11387690133a8199ba398267a237be1288370651eb3937a0c039756a9939db4c8339e5b4223a650af23df29b603fe153033a352e913ac189e43d1dc7463f5de5b3396c92723aae77c23d3a83293fd90c073aba7f6f3a24b1a33d3e030d3fe95ef338a30d663a2ddf803d7fd1df3ea125f4396e00c03a4daa3a3d8620a63ef2d991390b68893ae33af23c9b12593ebc09a5394a78853a9363ab3acc6fd63d509196399d351c3a5bcb143a57c1fa391f6cb4390000000000000000000000000000000042d4023a94fb9639731268382a2e9437cd5a023abffad13925b31739a27eaf37b5f5b63966a9803994ce65384dc85538507cd7399984aa395900e038f5cb7838a06f343aacd5193a5619bc39f4966739a8800b3a3c2df6398f0c8e395eaa4c39b6eaaa393d573d3995d43f3823d634380000000000000000000000000000000000000000000000000000803f00000000c76e383a29f4b93a0442613fb1cd143aa946273a34847c3a8f98403f2439033a0efb0f3ab347453a7118203f7597a73961d9453a2aa8833a6972fe3e7468c2390882523a9f09693a0259bc3e62e8243a22a3233a0667493a61b2773e59eaf2394852143a4a40233a7a37ed3d57a31c3900000000000000000000000000000000000000000000000000000000000000003c62f0346a79dd3480f5f034fe87f63438392b3574492635ed1b2f35b3d42a35d0217b366fb1c6357c63f235794548364e588d357dad8a356e0a89357e2c8735aad08a3758de2d350c30c736ddc65c375c02993777a4c535f6b5ff35ee532b36ab56f6374153a2379f498c377ffda93700000000000000000000000000000000000000000000803f0000000000000000104af936b7f77f3f7a5c1e361736ec34701a0938a492613f98e39437d96d2d3538c95238b862313f4608f93762a76536b397c83760b9013f09cd8037b6078935fa9945387370a43ef1590038e5c0a1379900743873f1043e097a6138bed1313798170e38770ddd3a93191538e2eecd37000000000000000000000000000000005299f236b948c53686080337b1f016373fafb9359b56bd353e4bc235c751c9356b4dc5354036a9358bcab235b185b93541e6fe351a57b235c98eb13566cde0354d861e353963243586992c35dc143735be947d3733bf873599119235fafb23377bdfc837ac478536b456c136667f8437c0cfec370979ab375bb298377be0ad37edf61537efc70d37de670f37f1c20b3772ae5a36e2f17f3fd3173d3929cabe376753c13502ee7f3f34117e388d24c5358cb721377dc7643fd32c333841617136ed048837e68d353f85405138506e2636c7ccf23784bd053f482175385ea5fa36c88114384c7ead3ed7b58c38b499a5371fe8df37ada71b3e82e872381659b6372b8e8b37f8b5ba3cbd4c5738f01ccc371993ce36db740e38f345b0376e450b3789ae4b3791a2803769c59037cebd64371ad86536738da1358b721936ea866236cd0085359c078135ef2882356f1282352cc091353b5590356fe88f35f1a4933571c8f435464670351f3c863590be92355daadc3763589e367bcf29377894a6376b72e1359e8fb135bf13b3351f3db6358ea1b8372e207d3750114637b0335c372be3e837d6a6c43748f49c378b69a537a4dd4a36b9bd633ff2f3e13ddd19bb37b869e735f89c693f00a7b23d6695973709da84353c814b3f5c2aa63d7caf81356b449436c0a2273f9c8c133dd835133763a7a436be6df43e7e87c23c29ee06370d0bbb371941a43e5538f3394653f33715d1b13584b3183e99b3b73921eeb4351455a736443d273cb7374738219450374d783f375f5e70381d684a38a101813793e339374c0bf037421486379579ab3685e3fd3627b0a9365ccc91362c78a836dd70e53520d1e8357115e5352ec3e43574e172343261683401046b3409866c3486059c37bb0a6c35ba4d8535d50c763639747e361bb3be3588cad9359971593629638b354f43ea34735aef34944ced34168e3638d70e263850590a38fffd10384e346a368cfa423692152536631c26367e504236477d323f2eeb9a3e6b59303701d0bc368aae373f6712903e7cb8bd368412e63562e1253fef066d3ebf3ce9351765c9368fe8053fa8732d3e4c0a6e348a6e9d37bd67c83e6787e93d5b02423778f44036c319853e1d22603d01dc533628d9e734f206003e3d63343c13dbe7344644f037e250783982ad8d38a57ce73715872336b5d97a38020d9e37f3a52436f0cd8437a44e8137e8ea5b3679425a36b0a8233662e12636805a20365edb1e36eb25bc36b816e435f901be351b1dbc3520901a37b8a0d635ccd4ce35be63d23594081d370f55aa353e3aa535f8f6a4358802c33717a6fc36a7ffd135353f0437eb75a737b60734370426ef367e3a2b37274bb137ae049d3781c7413727cf6b37a0679e375e5791375a90613776508d379f915536d67e013f06f3fc3e9a8d47367951263649f6063f61def13e8c832036978fd036f083f33e0fe6cb3e79871536ea0f793747e3c63eec41993e8364cd3590b65137e916913ebfc05d3edc46a335fe4bae37f06a473e6f7df03d01281f37732a5f371cb6c13d994d013de31d263769525d3769c2fc38e8ea7a380a5e9d36ec69803781643d38dac4ca377cd05f3604e13c36b1e020364ece2036531c2236ca849c3719277b353c0570356a4c6f35fc28ec349668f03460a6e134a929d334fe571e36f65db7351c14b83594b2b73597b1a937c05e673579e63b35074e6a35d06fd1376f109434cef1803429806a3466e21637fcdceb352f4dec35ce47ef355cf30e384a33f4370a6fa9377223d0370982a437de6b5e37320fac3654f9d936f0a820364b93a13e18342f3f114b1e36b9529537d23fac3e83c0293f32ec6e351617e2348d969d3e0d630e3fd0afe034953781360f1a823e56c8dc3e1fb6b8354d3ae33769de433e4c479b3efe8a5a35db430e389194033e733a373e6349823478f7013794647a3d1832733d107aef35d8970338801e813a4ae68b386ed442370c56cf375e92763827ceec3705944c36aeaece37ab097d37cdc851359d8c4f35e4b98635bff6a234fbd964340a7c3a34de60af352a77b0357e5eaa356015aa357140a737ee91993580ea94351d4096356e6b1c37b95f7735b11e663597946f3528d39c37d47e25367f4393350cc29335394d333741e69436bfad8b35bf678c35c25017388dddf837516fa637b356d13724408a378a925437ce3dd836136626379d84f137aa67fe3d1726603f5c1652358c0c5637467f103e873b593f69ba7634c714ef35d35b103ec2a6353f7846ae3510de1e38494cf63d6bee0e3f53dc9535b364b1373cb2c43d1647ce3edfa87b3527c6dc37ab527e3de9ce7c3e8d3b9535f454753793420a3d0fc8b83da0948c35a73f33388e03c138cbae8f3800da2a37e5bee037eed73038eb3f913704fb8936e9661b37ab41c73619fa1635615a193548b02337ebf79f368490f835cd0cff358f982337021bd835db23cf35a7fcce350a9597379eea8b35f20a8135aa468635cace9e37a4c328357f97093560921935137b6c37173d3436a9d6b03522b9b3352ab50f3831cfcc37c6a08836c0526437ec5f3837afabed369b43d3356299cc354535203722b5e5369a49913618c3ae36f3579e3715e5783a9abc7f3fdf8b0c356430fe378b9d5b3c7fb5763f38ab01360f6012388a561b3a9ce4583f60b7d3352a684a38111d7a3a74fc283f99448135863d2c389502453aca07f43e8b65133549ae03381cfdbb38c8d9943eb7a26636dd9019380aff10399f60d93da9ffd6371445843779d59938edb19c38a457cc353f6aa7376dfe3338ad759837940c3a36000000000000000000000000000000009a6c0f37d02daa35afc19235e4849d35df3dbf3587fca43485438f33b4c182334c039e377b673c36111e103573961e35fbea1637d95d85351cdc81358ad486353177fb37e4419137ce714d3639946136d247023836aee437654e7637452795374ddd233753e63d37d2b8e23632f701370000000000000000000000000000000000000000000000000000803f00000000d092d537d8ae35385f817f3fcf6aa63582bfd43794919c38eac35e3f1deea234a15fe637db8d8138b6b72d3f42be0a37e109623726704238c38efc3ee2228436c50e0638d6618738a3149d3e12b80d38260bce37e74d8038b50af33de7f41338f998af3685ede337afd2933886844c3700000000000000000000000000000000000000000000000000000000000000006e6b8c36624b52365cd14836e0313c36a2d59e35b5c57435b0bb6e35c5256e353ef94936bdb63a3663c23d3651463d36ccfaba369ace93363f38973617979b363cd0a33767c8e0351329c83549f3e03522fca63707ecc836c7e6b036afb0b7364c11d637d25f83374af15c3706868f3700000000000000000000000000000000000000000000803f000000000000000005152f38582e7a3ffc8aa4360d9e7336550157386666543f0898f1359b029735ddd0ed39f1c32b3f5a6451363e9b4936203b9f39b979003f4bece9372b80b736f1d78538f383b13eb125123887ea50377dbca539126c3a3e86dd023880f18a37a42e24380b9f1a3d978f10389113c63700000000000000000000000000000000e6a81837289cb436e286a13641949736aab831366f2dc535253a993541db7b3568820b36975cd1353ed3cb355491bc35d0815a3676c23c36f6393e367df53736ec7329367244563593c75b3534af5d350a912d3628c4c9351fcfcc35ac2df035f8b00736736806362b790a369f8b0936b6719036290fc935c8d3cf35b848d33523d52d37bd88f336e322c1366e84fb36600ba6361df27f3fd2002839eeae5037032a1e37e9d17f3f9fb2a33705051d36abdba2360ce15b3f375f23365fdb023646ac55379a46333fe31076366c74563623a64138e6fa073fa5e6b73772d7b535701c0a387eb6bc3ee799c836ece92b363f62a83619f8543eca029a36b5eb0936cc4fe837f9118a3dce7b24389897fd35f7654c37a8f332387fb65937c416fd367482aa363b22b0361cb6a73640079d36192e0336c0c4ee352501e035e038e0353111823602187636752c6c369b2e6836c50c6d36a6b51536c7fb1036716c0b3691ffa4377dc23e372aea2c3702d52a37da368e3682168b360d8e8936d3548936c29a933660d6833647298636bddd8336f2d91d38f1469637534b0637a8fb54378c30fc363301af367a197a36e56c9a36fe48943622eb5b3fee44103e09fcaf36415c0c37e9e5693f295daf3d7adbfc35a68e8a36fbbe443f725e813d9b007c3670f1ca372d492a3fade6493c8eba6736d7658238a990fe3ee2b5063c5cb29137723ffd37ec9fb53e5f1e8f38f5f38b367ccd0738070f4b3e15ef173aa8fb8b363336583885e2473d24939638940bc33738371737f6c85b3860c1243791678b3693588837e8b87a37e11745365a64bb3539b0593648891336ffe70d3686b90d367a11373656232336676c1136dae709363d4e32369bcc273633ae24367b02203612896b370d39b036f9d0a33632f99d36fc2858377d17df35ee68d335fe4bce3581e74836349e4836ccff4b3627d04c36a4edd4361b619236949193360d7898365125d837d1029337f9723737a9636a3728c50f37c7832f3f87faa03e41ac4537b543f036ed8b3a3f6131843efd9a11366ddfda37fd5d273f95d53e3ef1f42c364783ed3713100b3fca0b073ef7073136b69a7c38ac00d73ee8d7b23d4602c836f6334f386a1d9c3e128f193d9b42f6358ffd44361aac373e89c7633b1a8851365c250e3756e81e3dfcfcbb37aad19436b76e173817ce5938258af9371c473937b5725b3794642a3711deef35b516ef35117fbe35f5c9bd35fb66b935a719b5358d0523365f1a0b367293e335859acd3528cc703617725b36ba414736a09c413642551137344704364530a435a70fa23598e77c369c397636f3c4723647be703606d8473669524a361594463669024836c2bdf0360b461236b102f035a601f135472932373913d836756cfe35d65e683628fe28374c3d033f9e77f93e27d69036a828a636d3220d3f006ddb3e6edbbb3570ed59379f91fa3e66e0ac3e57150e36f3856f3742add63e6fa67d3ec90f60366f930a386dff9e3e7908423e57516036e4e28f37501b723e650ac63d27737e365121aa3742c50e3ed19b093d2ba24936ab70ce37f88da43c562f85385f9ef435c19796372262e0370d0f48378a7e1436cd68c037aa292d3730136e36d3b448361f1d44368ebd0636deb7ab354cc4ac35f4be2b36d52d17368917f335dd9ee3351202d5357ca0ac35439378351107623588d653374fada03606ae7b36062a683663dd7336fac42e36bcc12236ea4a2236c38e4237ded54c364b314436aa9d423681ba0e37bfccf43680b8a73662bfbc36fe231f379b50743665a2a9351807ae353928d8371481ae3ed3b5283fd79b923664c2c536ae23bd3e9980173febbeea35602783367d7fae3e79fff33ed5381236d89d5d3839a8953e2412bb3e7b8bb635ecac8938fae36d3e9e4f853e5566ad3661110c3826252e3eecbf1e3ef0932b366ac41638c551ce3dd777723ddbac5136c110dc370d93573cf4444638676ce136f776a5373612cc377aa629370475a535085355366c41053630a886352f426335a2a18e362c3888361e4f7636e3b27636edbb5236d3d32d36d2ebf1357b71e93572988536d9867b3696a467369c3a64366b51a737dbd81937aab160367eb46136880d8136b2dc3b36cd5106363d5205363f9c8836ef97863606c68336d2468636905a5037eabe1d3619771c36883d1d3695349736bc6e8c3616098036e03980360e98773796f82b3efefc543f12c6cc35ed076b388742463e50eb413fe49c8336d5b915385203413e5fd71c3f25212a36da55143808682a3e9629f53e23357b36ecd28f3862350e3e6123b63e687333375b010f38c989d43dffec5f3e49535536e741b13753df643d2c8de63d3a0288363dec47389a7c293a456581385cbb1e36fb9bb53617812f37fdff9d366d8b84364bb9af365b086435b2575935067d5435f6125235873d343549412b3537d32435456cd33553fca83523295d350fb04f35a8e61e362e1891357ba95d356e326035c263b536a2fc8b35586b1c350516133578227836b0697036cba15936c92b57368c4d3c360e2f3a364da32b3667c13136a074b636edd0aa367fb18f369d5e933600459c366db99136bd2c8736481387360742e737b0fa9f3cddfb7a3f6b216335167d2f386a25143dbd79653facb23235e50c0637188b0d3deef3413f8dc3a0358ee74e37a4f5133d476a183fd8aa9735953a10381018e83cf997e13e37fe013656070d37d579443cdf5b933e28d27436887b5f36122eb53a29350f3ef77c36361b924737e178e4394f11b539c9b0b7360b057a373f667a376440ac36d4a48d360000000000000000000000000000000017015d35820f0f3559c40135d4a0f934522f1f37b8d062367b9d4f362e6b4d3665e3e637830ccc355102af35211bb235745c0c38dcddaf36dd447a3677895a36a6c93437a0745936c987523613fa5336159109383b4ade37b3c18236f7f4cc35cc1eea3752cbf537df1d8437732c36370000000000000000000000000000000000000000000000000000803f0000000090412c38c10590398034763f41ad0b35847f1e383cec9b3acdf9503f71e96436ea4963380eb1473a4e03273ff01468374db26038321e3d3aa46dfe3e5841af37f7edc837803b5c3a21dfa73ec3ddeb362af9cd3715496839e41b2e3e747d1f3861044c3798634c388b40b93ce9bc13380000000000000000000000000000000000000000000000000000000000000000a306de357437a63550116e358f8a1b358b9356367c6a4b369db843360ac53b36e440bf36f64cb7363265b036dc67a936311084384ef21a38859062371297f0366b89823666947f36709b7e36f2a47c3644be6c37b78ab43617dab436fef1b436b58c9138eeac8838748f77385835723800000000000000000000000000000000000000000000803f0000000000000000bab88d3a62706e3f9b9d1136d37cb5357a1a4e3cda17473fa41ece366969513655670a3b9fbd243fc6d49137166cbb3696ae923a2c52003f3b449f38b02e47386302503c2f9ab33e69999d37246f83363506f939b7d7643e075b06386a7df636604996389f91a43d946c9c38d5358f38000000000000000000000000000000003c942a380d71113823659737c2de7636ef449637bcdaaf36d3dfa8363d63a136f1479b36e10794366a6e8f36beca8a3697f647379d650037bb41fd36c19efa369d2f9838bb862438ddecd1363c599136b6ded037bb7fc736988ba93646f6a936b4970c3826c2b837cac92e37efaadb3622e17b39fc1ef83775e1c0375019b737b31de737a7cf8537e9b4423730fa4b37148f143899e7723fc5cc503de2322738ffb51b3c69c2693f9d24713c1c45b336e554e93a230e483fe200d23b6bf09836514f413c0acd233f1e8d0738de130237c07e243cfa6cfc3e18f9d0385a4a6c380b1c9939ed85b93e2e76273817908b379b80243970355f3e18dfb13864c0f53789a7c73948aea03d7cad033c032ec4383a6a3f38febe563a61450738295f873770e2fa3724b2a83731f9873652ef783605f863375aff1436e2da083644aafc359ae3a5361b0e70368ec56736a80f6136ae0d0538589e8a369efa84363a2677366b0902380337bf36f43b3e3670c334365a851237ab07a8367325a53671bda336b7e92e388e0b033880379f378626353753ef5338ffcbfc375e4eb737fb729f37d031e237d48ec13723598a3748537637b0b3d837e1154d3f277e4b3ec83bae37a60f6e382df9493fe97f1f3e68dd1536d0606b3a2ce9263f962d073efdde7336905eda39e52c0f3f1aa7bf3d01fb7c37b4285c39d918dd3e650c943df1536d37f071fa39abf7a43ef2fd2b3d08e8aa3689ac5c388528523e21a6b63c30551838e20e9438c772a13d60c21f3c21120a38e6528b381c77173aef1115381145ac3797f6f237a9709037dc1416359126033513e80c38557b0336d463d7354206b235b8d63e3743efab36ad6fa13648c59936f497c33655dbbc368fb0b536c40aae36992e4138d2ca1937e224a836aab28c368be93237787c9a36869297363af496364c3ba3375b0bb73601deb336601db036786a5c38761640388bcf0b383acaef37bf3dfd37ababcb37b2468e3753c366374b1c0638c105283fecd8af3eacc17237440ce7391736253ff799923eab5231368754dc39bf610e3fc98d6e3eb204b036d4db663a2da9ec3e452c3c3e4fc2bf366e348739c1cfb93ef8a30e3edd8da1371b18b6398a058b3e81aeb83d38999d36243b40389260313edc29453d644ac536e88e87382348933d6ed32d3c5ded40386aa98738a668e0390f100738251db83757e01e382dd4e73787570b375fffdf36443cb237ee8a6d36a6ac533669b33e366797c336f7d5bc36fe97b3362f23ad367d88b23600cfac36e50ba636cdbba236f9bbdc38e6979f38455b1e384bf39437d2aeb636fab7b43640f3b136018eb03625270a377a03cf366cfecc36f9a8cd36435e5a38885a1c383b7e7a379043f436af5c0e38b0f4d437ee886e372a912837fe4134383f9a023f6382fa3ed603d3372e91c639e679003f6796d83e459c6c368d8aee3878b2dd3e0a54b13e2bddbe36be623a3a22bcbb3ede888c3e08cfae36b7d5303aa738903ee2a25e3e64bfaf3872f7dd3979eb5c3e2d5e113e0ab8b73638b0873849f40c3ef8c8a93d60afcf36fc838d38db3a743defde743c61631938ff6e4738fd855c39b76c18381508bb378c7d0b382bdf8237cd878536f21677369976803714e86b3630284c367a773836d265ae3651a2a736359f9c3630a19436f9099036228487365c527936f20262369161333835c90137456c8a36b06d8236e232c636b2e4c3368904bc36e41fb736a2acdb37ead53b375dd0bb36f03bb73611b87c38873a5238c6a1fd37686e9a3780d19a3620c3a834eb5096349d668c344fef63388cc0bb3eb4f2213fd67c4b37ff1b65398ad3b83e94540e3fa5726b36dd003b3a17aba33ebf9bea3ef4d8a836804b223ad1418b3e400fbb3eb7108a363c898f398d7b5c3e2855903ed9c45c3726c1293aaa10233ea4f5453e8df0c53682b02e38df1ace3d47c1e03d252f7c37ce1890381f0b233d1507e33c577450380e9d22381d47253834b85337ea44ac3416e88637ffcbf8350576e835adebd435c2f8b736f8d50436c914d2357d4aaa354982aa37f5ef71362e56573620494336619c9c3677e69236c8f8873600487b365504d7373ddc5d3642342236a66b153669de0838b501073742708536d20181367fd060378e759c366f576b3606f2623609ff0c387c83c737386ac236ff621c3687ae803649a57e36433a7436120c6f36958d8d38c3a55f3e4bdf473fef4ff3358dcac33998b6623e8881303f2c73063608eb313b669e4f3e7024113f4edc78366bef4e3ab76e343ea4b5ea3e00039636296633394f5e103eb679b53e8b628d36f45cfa387773d73d4e23773e8c618437a760cb39b719843d90e3193eeff4b536ca1341387780ab3cf2140c3d9ca6d13744b01e38a22a06383043ab363eeb7936c7796a3716ff85364dd273365345613607834a369bb22f363eaa05367afecf35049ed836d329be367281af36debba536b91a0437bb1798367e928f362dc78936c84a9138dd15f33755e47136346261364ad04337a221ff369abaf63631f9f0363e13d536bf869b3634c4953672809236f5ae173868d0c83756bbb936dd6bb7366ec3c9362a9a3f36e4b032366def2636ad19dc39980d963d0ee06c3faeb18436d3f03a3cfd64ad3dcf11513f73cd313635cd4d3cc83ab03dade42e3fd4bfc03639fb053a17eeab3d73810d3fb0df9a364259f23b49da8b3d998bd73ee2313a38e958ed391de7523d07bf973e5eda0037058143381a46f23c5214393e519e9d36c4847638d3c49c3c8d91313d4f46eb37f0f33138f74f103887cf4237fa573e3600000000000000000000000000000000b65b1c38d726b536edbba8360f159d36090fa736f8be9f3667839236fcf58936fa767636d0a56b36922e5936109f4d361cb19d38fda2673803aaaf378fcfc936fefec137c0a1d636aa64c436807ac1364d88e437f9824f37cc175a3654b65836950c0a387a250138c9ffc037a0479d370000000000000000000000000000000000000000000000000000803f00000000e859663a66da923a4bcc6a3f10fe803748d5313a804c063b34f5453f422ba33623d28e3a9a949e3c54bf1d3f8b247436fc3fc93816ab753c9de5f63ea8a48938f5707138498c4b3c4713af3e54086f3724301038aa582f3c23bc4b3e25ffbc3728a20038a8d15c3a72ca873d2fea663900000000000000000000000000000000000000000000000000000000000000009b93853514ff1035847a66345127a5345df981352dbc58353ac7593528aa3e3590dec335155e9535ffb10436a5f209361d648f353def663580a8683516327035eff3b9354688b7352ecaa23581d97135eac4b837799b8c35181dcf3587fa373794b2053780abb0357db4c235bb3a043600000000000000000000000000000000000000000000803f00000000000000004a50a5371e237d3ff7ad6d35e9d16835d8d5e537d954603fb4965a36785782358e01c3374e1f323fccfcd4358e1ff63589c48c37ab86013fd4cea1357d499a354a22aa3706b8a13efcf0ce354f33bb353607893836d0063ecb930f386d1c3c37fbb9123889fbc33ce023803767778336000000000000000000000000000000004d4c4b3621ef4c3638a2413657224736ded8e0351432b235aababc35bf75ac3595fd00354d1f4034b54057340fd975342e1ccc35c152a3358cc3c5355021da357a73c034e647d73489b1ed34283ef434208c1135676cf734de1317357b603334d0842736aa6b153679703036f5bc1236c708423769fdb63605f29e3665c19b36feac023625c1f6359d670a367ba8b235e48723369b0b803f7a81583a29404336e950d33552c07f3f0f3f9e381dbcff3529141135ade0613fbfa18636bc468434f8dbb435c46f363f3821f3360c3bc53584a6db36f389093f0b640d37182bcb3440e335358eabb73e3154a635fe78183579e3c937e2492e3e77f832381520fe35c6b79c3785db553d36811338924eb1365c6bcf35c49130390d34e2356e5c023677ebc234c5dea935d74303364d0aeb340a81da35d515e135b1dbf435aab50136d84c8936e9dd383698cc5136486cf636ab890f35068eea34252948358b5e57358f0c7936c488653624d98236ecce8a36b52882371d0ab835ed04cd3526362b357fcdb236d74fb83591270c366100ec35772138377225c936819cba361a6cc1367f596f37a26e8d3710479f3607489d360702c234b173633fefcfe53d51ba5836fb5bec351773673f437ca63da508f435d4d8553666b25b3f8098853a9a6a9137dd3917374d6f303fe5e70939a9aa2d37dda28936a987033f7e9425388ab385369d46ef371b65b03e3bb9d8380cd11c377d4df63666dd203e8b5a3338dd91c436069cb5364b36103ddf2c413851b6c4365ca09d3661894d38387c033863609f36aeb72f36d1770a3643b4ca35a2830036f1a34c3664d13e36bfbe2b36e66e35364c97d734c271e134bfbccc34a50bd0342c989e34361ea834f2b2f6340adbdc341c534b366e4940364aea4136c0403c3661753534f8e93e342f9a2c34c6502f344c605a38070bca374850f13781351b38147c9e3651cc8a353c0d813547c4863568ea15373f08c83646bc2736720e3c364ed8a935e25b323feea19b3e7e8e0d36cddf48362322393f55cd863ed06a30362f1f8c365914313fac4c383eb0a32936e325a134ddf3133f23edd33def17d034be5a5f367825e73e16b85a3d3d7e4a3613ff3b34aa49a13e2cc49d3b184b26344f735f3875391d3e845c07397f8ded379a7b9c35878ecc3c73e73438b40b883597b22436f2e2213891f6603720d30f3345c022362d042736318ee6357c2fe535b1341a3743a70b377a19d136d8ac03373f15003684248f35389e2d353a29373597411535e7f4c534d4a6b1340b23d034defa8d367d8b0636686bca354e3d0236bfa7cc34973dfb3436f6b334861fe433c48d3f3626aa153646971a36dcbd0136a0c2773720db37377ea9183731841a37de4e1a36279114366c5f1736e1eed835ae21f535c219013f0f60fe3ef5a0e735e541fe368d6b083fd845e63e6e57ee365849913540d5023f9827b63ea0a927353ea67634b84fe33e2e58783e55d9be343f07ff36d4e9ab3e3cf0283e7a0c283659daa5343e92813e709a7f3d8ea31335375e3936af2b093e54e4663a67e4f435c5e68137bb98923c2e91ec37c7631337cda3f935174a853961a10236a09a17365c2ada36af541a374acc15330a5e2a33ce12613548d474359a1f6e35cba0833562f0f1379e6a04353eebbb342075c9348ed3fe33701fde3336f70634cc1a003499525736d1235b36257f4b3687f44436b6f67e375de8cd340b4cd73444e28434f17bad375cff423788dcd9360aed1037d2a7c236b1896a364d325d36c1a33236da861e366df53a3616151436b2f10536465c1c364f259c3e1119323fa1330233e4ce8835e92aad3e8053233f3bf466350fdffd374226a73ebc63053fb00aac342cfa2134c897993e609cc33e28d5e43379d9e036f6187d3e5d957f3e63b43b36bd2e76371b9a433ea7d4033e9d59b634e1b8ca374b04f73d0978173c97c6263788b3a436e84d733c91de393837414c3656a73c364746fb371558e8354a5b0d368aa24237c2f494366cee4c369cdd823673429d36f7637636940efb35324b193691f38935e6cfd234c022af342df0b63467c195374e2c05350a0a27352d515d35e3d37f361b265c3645bf2636640e52366b92b8379f7ca43542bcfd34d2af9734f4af4738cd7ef23789d09a37f73dca375c44303715c2f5353517e435412eee358a80e434fb59db34447dd334b200e134a32e1a375384e73d94fe623fc6796c3646bff3364ba2183e191d513fa3e7ff3562f70c3745cf103e9bf2333f56dba1348e671f38f3300d3e3de2043f042c5f35d555963634ccfe3d4d22ba3e20644c36922706385733eb3dbb3e4a3ecf059b36b76c623896b2c63df0c7353d0980a937c347bf3709107f3c50676838617de93587f1f436a71487381e7aca3499cadf343c9010366f2810365e9ea8354f06b23592ff113761f985362e80953582761f36f61d1736ad32df35dbb3a735a59bb535b836263581e3e8347cdcb134cd7fad34385dcf342213cd348eb6c4342845c934f56ea8350e36ac351e1f8f35e1357535c88bfa3577479b3538a36c351673493526c1ad374f4e4a37ec03e835f392bf36e6af3a369d803c3640d3443601083536c847f1359d50933ceabd7b3ff608c035336b98371e5f033daa766a3fca1a18362440e135a8d0283c5d08523fd3c1b5351eafdc34b3e6563b97cc233fa083e434dcb34636c9c2d43a4397ec3ebd99d23450fdba35ced1523c253d8d3ee72cb8351c52c93568db843c83acd33dfee1993556272538e8fe9039d1f9b9389c32da36ab123b364ad48037a1973236ebd04b3600000000000000000000000000000000db1a9635358caa353aab9c35896c8d3587e342356bab2c35532732353cfc263576241d36bfb7fb3550300836b7aa0b36043e8d355ba68c351274763514571335c7a81836d87a9d35f6c29435d8b88435503ee437de90f236fce90e361c91f135b27a1036f6bd8b35016f4735b7e9e4340000000000000000000000000000000000000000000000000000803f00000000b9541a379dda2c384f177a3f7e0995354857b9370daf813837aa5e3f0d8d3c3508d6233688d034386f752f3f30dd063681e2aa358e7f99370dd8fd3e3e677f355bd30437154402386ad19c3e33d562365de2913798cbfa389811ff3dbb33ce37855e8336a6144a3856d2503c000f2f3700000000000000000000000000000000000000000000000000000000000000006f20c135ab138e35eef797355cf19d3559eade3546daaa35e0caa135c69aa835c2e2ce3689ad93366f109f365e90af36f5e95136dd25a63339fa1934fb2f5f343dcd9236d1266336f941653620865e36ec72fe366ef1823621fe9236ce5da536c41ca7376d7a46341b4c90343d5cb33400000000000000000000000000000000000000000000803f0000000000000000bc73a038326c763f9316ed35f88cba35977c003bfddb503f390dee35d47feb35a9e2e53a1463283f0b82f4361047d43612421e3b59adf93ed7dfa537b7460d34728a5e3b3473a73e39aa9936b8599636db19133bff81223e4ddf893744d4b93688b6413975d4283d3e73b33795938234000000000000000000000000000000009f866236b21851364dec4236328b4336d81c793508a334351ee04d353f814b3530866136c9684136c2c9433636df4d36c2637d36aa724d366e7f5136eb0f5b368c2ba735e2b89935a630b3353f27b83586c8df369c7bcc36c81ad1360238d4364a9e4735f9881335f1ea4635cb583b35cba2b8371c45083548ad1b3584cd19355498f736870ee836099eeb36c5c1ea365a9c5136cdc67f3f3b57b13ac001e836315c9c3897ef7a3f85f28d38b78b5635b8bac937b45d563f84c981365c3e6036c8adf83851ce2d3f0d759536ce4c6d3612b98539a1ad043fc86d4938d42cc135ac74423a16e9b73eb1f6e7360a97e03605d674384a204b3eaf662537fac352350b561639f885823def1a4738681e3d3544fa0137b4060537fb96ea366671fb363c295337e2f772371d112c372bd7f6368a2b6b36d2472536bab63736ce550a361d65d534c0cfd534bcded134be02e93441bc1034cf0419341caa4234f7066e3407b5cd3461b6d7348312cd34cbf6c034b1dc5e351e2b5234cfaa493490818c34cdb41c34f0832f348f056f34a52b8f34ba3a5f3619bb0d362c440f36e1b520368b060537515b383681f03136a1033236280ff7360acb5d3f5561093ef7dd8d3709efbd3786f4773f3d40f03c72165237dcbe2f3848ed5b3f987e85385dd3eb3441b47137a0bb303f694749341f6c58340ec664380b12053ff81e2c37045bce349dabc5382e90b63eb5090c38db1e4935729180377ce33d3ecc365f343c3f6734a2eb8938c953863dc865ce37bbba3f36178046386b9a8238b0cb6e37e4962f36d33e4737c29b2837f794e53517b7b93536ef673430835e34d0c6463442d94a34723fe33486ccd9349f88ce349010dc346c9d4136d0f007368bed0b36f3c8f035675e853434c98a34c2c59a349a21a4342d3e833611a531361f0e19365e3b21361774aa3672738b36a52d8636d4049336145793379dabaf36b891ae3610f2bc365d6f1c37974a1737c08a12378c3b1837b6430236d4d02f3f77a7a03e09d71a361eab1a3429e2473f14025f3ef1864434f6bee2367ed2413f8e5ca13d868fd634c552933834a12b3f7124833a98ec7f3658c12d384a60033fb3a21d3889cebd3496653838e964b33ea1e12937dc2e6936fc848438bb4d373e68555237cd6ba936657aa738eabd2f3d7e862e38790fba36c80eaa370175fb37e8de10377f1714377503a0362b40a73629177736ba748336ac1c2337f0f9fb350d9db035d06f6935d98b7736eca2613601262136b0c502367660fe36b55ded36f4bbd7360ea1d0368afcaf38d7ff5838947afc37b6989237d2a1fc36785fe636d59fdf36eff2da363e2990364bbd7f3677607036edff8336e8e9dd3740530f362a1204364c6afa35f703ab363c6d943667379436bf3995366bb69236f828023fc00bfc3e15d779369b99ef3781f1183f147ec33eac92d035053191364b58133f910c833e4578693631dd2f387fce083feb4d083e211df636f38618395e7ad33e8c23b33dafa7ac3844f7b7385ceaaa3e313aba38701df9366662b338d85e2d3e0b54d336d1698d36d8a7e4386f0ab13c94cf6438761214362370b936e399cf3662e690365a239f3638c80837ecca02371415d9362940c836a2e8063787f64936e34af435ac99c935a95478363f141b3655242a356809513598db67362ecc05360d038c35add22d35acab49348b45583448693f347fc741342dac66361dd1333614f00636aa300c365dfab534f781cb3485c1d334f362e9347c412c343ad15e34f0144e34d956133403c21436a67a1136cce802360b200236114e0f376f0fa93e19962b3f4f35ee3654152c38e7b0cc3ef9c50e3fb68833365902ae37712cd33ef079d13e38ad303645a99537a5e7c23ea44c8a3e93fd4436040304381968ae3e6cbd163e75fc49340f96a43826bf903e2b7c3c3d6bad653619044238c14e293e93035938218bd334524d50387f4fef3a409050366ff26a34580d04380e04eb3766f1eb35b03d073689d6c93722b61e36d4a2d53573dcb03552e8ef35919e7935171ca43422c2443468ab43341cc54d348be02f3488223e3456a08c359a574f348ce514348cd928344d3f17356511cc34825ac734cdf7c53462a0a634367145343927383448055134bb6158376e2c6d36207a1b35b1531035a8b8c63715508c36f0c3943624269836e3530f371f5c07379f2dfe367dc30937ac6d4e38e582183e25fa593fe4801c3697bf343844a4513e00df3a3f03e11a35772ad233d86d663e363a173f56600d344e319838463d693e772cd53e2a7d2835db42263874f64b3e8635903efebfc234b65ae533990d373e6aa3073e52a00c342c3c8b385b56ff3d08bf873c860235372ce5c938055f153b954f6e381484a736f22ba4372fab7c373363fb36c59ffb360f02e436a0afdb36739cb536f1fbac36d0da1d375b41c734b95db334dd3bbf34f4733f351b492d3500000000000000004d7bf2367bece63635bcb636621faa36cd5f4d38b7b98635bf689635d157a535ab62c936b4308d36277f5c36993e5d361d569436ca55903692246b3696ee5536fa8e1e38329679370f30833560e24735f4e951360707343690b83936ee473c36d1790037651e243d21eb753f6f9fd336620fd4381fbeb33dc769593fa6167e340f67a837ecef9a3dcf113a3fabe8933484fc9a38421fac3d86a80e3fc4f2d836ab60df387b53a73d9d98cd3e9a24d1379144f437a3288b3d93f5813ed3bc9a361001ab361b3f803dd0cace3d4dd4843620d6b438c56ea43cafefe538db33b1378f1b4937be3a1a377a00383676ad3d3600000000000000000000000000000000bf7e7b37f99ae43391dcaa335c6b36344b788c36dc130a368c44aa32ace04b34a110a536c5454d3646b60c360676eb357f072938dd17d1310000000052db88339aff0d37c1b1ec365cafba36af04bb365a4c1637fdd8d53567838235fa8a523524eaad375741b136a657d3359824dd350000000000000000000000000000000000000000000000000000803f00000000394f483895098e3c3213713f5de1dd3372d025383a95e53c6ab04f3f05292836705085373981bb3ceeca253fa5f6583603a68538ae89f73cc51ff63e75af8b3765dde1373488b53c133ea33ef6b2023743b25a3734d4d73c5598203e8307cd3674e426377fa2013a9694183d21fa253700000000000000000000000000000000000000000000000000000000000000007e14af36241d8e36fa226e365b345236f5db90366d228136de58633629934e36a08c7d367d2a5b3679b33b3647c2293628d6b736970fa4368ff19436a8408a36db608a36506b843655dd7036872d6b361c6af237cc86453672903d367b0b3736fbae0d38746aae36a658ad363a5cab3600000000000000000000000000000000000000000000803f0000000000000000d432d53c821d643faaedb836ea3b95360d32d53cd533403fd26f53379f028336ffb3f03cca941b3f47010537b43d6236f298cf3cc6fff13ed0fbe0371ef7a83633e6e73c3203a93eb5a18d365c02843693a5c83c4b65383eb09f483891709336a6a13b3bdb39583d4b4062386d28d736000000000000000000000000000000008e84533525f57a3514128635e1e58235d5613b36348a19361b62f935268fbf357849eb356544a935169f4e35f0440a3542effa34de9ac8348290913489ab8f34afa2803632986c36f39654361a7e4136664627362e6c1c3625980636153c02362d14ac330395e1332f6aa5333f76c933f424c837e1d616355d28ea34cc79bc347843f835c2766c35f7214f35b8ed3d35bc96d534e6c07b3f18bb8a3c723a5f36fe7bc639df7f773f73fa5a36a5442436225e9d3c70dc4a3f722dff356607a9354860a33c1eb7233f80d80535df66c13430c1913c9053fb3e7818203838f7713664e2e43c0bdbad3e590e2736146414364bc2873cf9a9453ee4c8573788ed4a33f0c8703caabc9c3dc6064d38f20b1f35130b1338138918386a4b3137bb615d35afaf6338955b4f3801d5ae37b04e2336192908358a8caa349591383486ab3c34abec423643622936ad410936ba0ee035ff09a335bdb382359baf303524f0123588f4df371d7a1336044d043606edee35082e88365dc9763632cc61363b2252367e6518369c25d2354afeb13541faae35205065369b065c3641a15336691751367232093731e60937d9100a37aead083706a10437083d533f5a22333e63587d381c1eb638debc713fce5e083dddd0d2343ec5633c61774e3f76ef153862043c363f77a93a82aa2c3fbe4dd93592328a35b9a7c63a5b02033fee7a823807791836c5df8f3b445bb73ef47d923688b081362fdd4d3b75534f3e8952f03790b3d8352d4d7d3a8de4a03da148c637ee595e360edd483af7b754393df80c37d8890b3774b68736b9e48536f722783678846136fb638f37e6ff2e3634441836a9300336530416368ec7fc350851b835f2239635aa257a3701f08536d1fb70366b7d5236a97d533871d84d362e1d41365a932936d6c77e3635fd6c36d86f5236df91403651b29b3648c992367ce38c36ff348836d0fc3d368cd3303615f7283636d91936161c95368e5197367ca89636e7748d3674d682361ecc2c3fb59ea63e77a28b36ea419b3833ac453f918e483e20b23c362995183cc169383ffb23b43d76f90e36ddd7893cbfc01d3f1bf3093dae7f8d369b0e983ca0d1f93e68f6d5386f9e87377585613c8813b33eb506423839ff78364b8e1f3b32244e3e9296a036dac5913699e9f339c26d8b3d96754d3694f83a3684708938a53d533887499e368ea29d360f839037f5779233cef3943355269a33367edb35fdd7de323482dc32cb3eda32615ad235ee4c8330bc6d6e303c2c5f30d45d03368af28d34b9b449349a885c344c9306389b01e0356a73c8357979a635760dfc35e938fa342fddbe348da8c534d63332370a059b30d91ca13000baa930aa42a435f5d529344b72ce32b73fce32caf68833538d863323297a33037578331e4232371d93053f6215f53e1ed7953318b9d137d0081a3f2af4b13e8f79db32ea9f4d3c8c300f3f50cc703e7c987a3037edf83c933f023f4ea9fa3dac558834a13c9e3ceae1c03ea7b5d53dd877903633b2b03c9aada23e553bf3375269db34549efd3a3f68443ebb5e2138424d9e30b3dc023aa162513d274d303633a1c734344b2c38b79b92378a1b86338fac81335fd20738c5bf59360c332436626bd93504631f36ff180136f2aab635456c7835f8e19a36379c883618d860363e7441365993223767864736b6131c36b470fd3552d9713827244036e33b2d3600b6183658ba8137a0419336a90187364ade793642640b3626aa0336c39beb35f7e7c9353458943680742e36979d2d36a82f2436d96b52369e813936fce22436728c113650083a3897d8bb3eba1b223f4b7e54360af6a0384c8adb3e23d5003f1dd2fe35905a2e3c0434d73e7070bb3e11ca8f36bf4c033c52c6c03ec853813e3b014e36b7f5ad3ceab4a33e7fe11c3e91327c37f0ba993b16d4883e39e47d3d55659b361665433b295e383ebca63a3833350936b4992e393c6d043df79f163839113336a0b16937accc7c369fef5736e7103b365bbffc362a0ce3368748bc36d4089f36a765423710483f36afaa12367833ea35c87e22369455c935dc157a3516c63a35af448f360b957b3650e24c368ff43a3632d483386376fb36f25217363e24033651d509363a66e935530ebf35ec02a135e70ba5372f225236fd4f4336f0c63d36d18546350ea02a3540a5143518258734944c3a36560123361c141436ad8502360952113830e6563ef6124a3fef53e8365de4893ccda9803ed43e273f74c34036829b6a3caf3d863e4fbd043fef25d735a7324e3b31a9873e6082bd3e25fc83367c4ae8385c146a3e5760843e16edf237ee2598386fd2483e6ffe033ec37afa353626553a5f58073e99cb403d1996543615b0d039daf8b83cf6dd8735f42447356d5863381f9288372c434136fc892836251d043520a61433d6c6033374cfe832717d9a374afd9d3239c19032e58b8732c00bb93253bb0332d78efb315fdd0332db3e2436bea811368315e735374bc9354ef05e389d1f7e36b9e86a36653756367889aa37ad933e35b2eb35351e944b357d3e9e3789da3536a9d12b36e971263638f09437b78e7b36c7187236ab586c36ba6ad5337e92cc337f83bb33e683b43319a9133856fa813d08ca6f3f904f17330d44f33cee1f9f3df0574d3f06d99732dd3bcf3ce264003eccea233f60bb08327868d038a2ad113ee967fb3eec6d1836cd27dd38aec6073ed9fbb73ed4168437e19c513851d7dc3d16fa6e3e86de3635e8da82382fd6893d7ce8f83dd19c44360ec39038d8eb073df6b2c838f1f6a2369da8b2368dfdeb3482dcd233a3c5c8330000000000000000000000000000000073e11d38acaa7b3680983936b4f91d3676e71038ad16303643210c363009ed3583029236975f8c3671b26e366e615936b9414e38b592bd36c2ffa63654439936bf273a383d269436275e883642e28036df1e8838f936f937350f9b36fb889636eed1323899dacc37e9b3e73664e6e6360000000000000000000000000000000000000000000000000000803f00000000f7d38b3c1dc4353d1323623fc05a82365cf6333cdb702b3da34b3e3faa443e36796d6a39a7be393df4d8183fdf598c3653cac638004f2f3d61a7eb3e6877843727569738aa60373de43da33ee6c4b7376dcdb23825b7303d90f4383ef2a03d38da701a38cbd3f03cfb775d3d63860e380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006566d4348fdd4e35ebef5b35736b5835f7296e35c6e5d13400000000000000000000000000000000000000000000000078e61c33362f9c35460fa535ab10a135e0cab635180318354c9b0635e25bec34d7421a3500000000000000000000000000000000000000000000803f00000000000000007999a636ba207b3fc162ca36000000001c81f4364fc85b3f2ae3ab34f9a59532d116d8372234303f69da5237a06b5435aa798a3746df013f9b369936000000000b173e37fa02a43e29830137000000005bd1093807a2223e403214381c06593716205136ba0b2b3ddcc5d83678c5b33400000000000000000000000000000000960a6e34b0155b3434d208377d5a823604a71735893deb34360fe734d25e1b357c27e3344a56b734a987a334e279be346f0b40355b902f35c5e32c35023f3f350c547c35ac596a3537de5335dad57c35ac692134e9f41f346f0dd633cbe62b346213aa35503cb2350f829735fa7f8c358c21bb359f71ac3565129835a2959e35903ec1339f7db53348440e33b84e9f33b0e57634850f7b3f87ebdf3c5c1d8e37e0f2153567367b3f8d343639ee562035453ff834ca2d5c3f2545de37b67fd934101c503507b7333f45487637e0493c35d6c47f35e76b093fcd938936ed646935f9068e355562bc3ef24c99379a9f1a3436aaa53585e23f3e2c023538e320a836da62ac3512b3813da832363727e48f354525273313602933f1c01b33721b0e33147e9e3431d997346d668a34e97e8934f11ca834d3043f34bd2b81342cf1eb340a9b9735e3a78635a9e99c35d5b39b356f7c543475782f343e3402347851e033ffae2a35b87e1f353f7a2b35b4f43535a66473353f5d6935509a6d3554e56f35c6e6923425335c34feb5f13315377e33e794d43445f1c7341af0c634d6f1c234324a6835d9e55a35df028035d5948935c009a634796d5d3fb818163ea7d87434cdcfbf344026643f3d13e43dc742e13471509e353be5593fb891813b62a696354e066f34db9b313f499a7e3a08d3de33dc434e357e8a063f6078fb379710493556a17f3522c8b33e7c7ed237391e87359c4398367200323e7b36063b43e78e36356ee134338a243da250003a77efda3439d73f354b28063968c045358e50193550b8953504a591358c1388354ea185355493ae34c66983344927f733090b58348783ae338610b132b3bb0c310a869b3455c3583514c43f35c15f5e350e239d35b01a35343ef2a43476ce5b34474d9b34d86e103410a74c34266b48344dff44346ccebf351b40c53573ddbb357dcad7353dd7c2349566e5349a98d734bb1de734bc84163596550a356eef2a35bdd75f35e304853527f32e3f8618a83eaa3b673576c4cb341ba4383f9e7a8e3e94557d34e63902359600353f2fc41f3ec473da3356fa8335cb5a203ffb49873d9ddb7a359ad20e35ef68fd3e94ed983caf63a03486d2f5348714ab3e6601ab3bc776073450b78a36ca342b3e8723513b5612c235c977c93419d7e33c7645d53731c6913464b720356c22cb35e45b013517b54934f88566344a645534e1ed6a34981d8f346b36a0357a9787352a76823555769435e36ae934ab5cc1348e6db4341fdacc34efa9bc3458b9a934d74abd341993dc34a7b27035fec35635f75f59351a9c783500c7b33401d1a83447279834d480a93409d5f634a3f176363cdede34a936ec3475b0a935eae59e357df092354c029a3556b9823431b98034544b5134968f6634a4db7c3492c9f63e3476073f1d6942342669a135d746093fd602ee3ee63b8e35419c7f357ae2063f11b3a93e9880ee34ff5fba3421f8f83e9c8c463ee621af34df3c6f35d547cc3e40bae03d4425723502dbb2342cc69b3e3ebcf53c2c2ecb3439354f373849173e5727183ba347543768e69a358b4f263c657d8237fa538935fcf26d34440cc036986e4d3426cc65343857c634d125a83447558d34ec9e8a3431f9263414b91534ee3b0534f2f81334628eb035bfbd9935d3599f35b1e7a8355fac6e347d3a4134c03be433ede7ad3323a60f3445fb3034efc41334f6e1f6339864593574935a351ef94f3590215935e2f6ba34ed4eab344010ca33ce399e3352349734885d8b34fe06d234b5b0ba34b12e7235f0c067352711893554f19235784d3c35203d933ecd13393fab6867346558a6347bceb43eaef8203f6210fa3322a0b7359e2dae3e339b003fe0179a352b6b81344676a63efffcb23eb10c80336b080e3711a0993e17db4b3ec29b81341cd9e135983e743ef2a9a83d42237d35fef3d534e271193effc6893afb0acc3402a9c234693b093c4f07ac3755d7f0344a2d4935ade71d384a0d79356cbd1f35ebca893597258635f2158335b2337d354cefa634d3f113349f0fb1323c9c4c345a6604340667e233d7e47b338a238e338e11783534056435e21f67357353a535aa43153560fe27353cb61735e04d3435f37f15349cc04434c27024340c588c349495a8350f53ae357f6daa353097ca3513f70235a8890f35b293123575b22935a22d8434fc0c9634e9dea034e08ebb343b087c35c7feef3de8c2643febf95835bcf803356e70233ef6404f3f7d3c1334e21dd83601ee213e7a5b2d3f7ae3ef33285a8f35cf09293e74d4ff3ec4e47e35bf217035bac7153e096bae3e8eb72735f1d51735d5b9183ed216303e1003333470a22b371e3bfe3df84f083d33eff43516670935ff50e83b76ca85371a9fe83430e293343d469434c5e18934a9676a34f120e13357a59f334a54343308f0e733edafb735e35288350ab76135f1128a35392da635fccb7c355e0b6035f99d86350d252c34eb120434a593fa3334db3634a2be6f3583f13635490c1b352d1b2835c9873a3583e52135b4e8ed344c10db34c97bdf34d292cb3408ceb934a61dcb34c52f2035d3461335da69f8346fcdf8347922523424844d34df07203449b7173483b0e333d5c5be3c31eb7b3f66190d33f74cba357644663dd517633f8e238835db9073375632b43c16704c3f76026f35ae023f34c947e63c797c1d3fafb19b33d81776359682ea3cda1de53e64b44935b75d65366b61053dbf778c3e0da220359837dd36a7c3203decaddf3ddce7b634abc9153504a8b33cd15f443b7cac0535d4145934401c7035ddf14634a3e4693400000000000000000000000000000000489bf53475b28534f6ca7e349887a134c3c9b235ac8e8435e26e873566208d350000000000000000000000000000000000000000000000000000000000000000d3b17f358d684e350e9e3535fe84283500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f000000007ad11035780cd338193c773f769f89343eeabb37eae08338366c593fa0149435000000009633d239d2e4303f00000000fc20b6356843513a9865003f0000000070221d37ab1e85395dc5a53e6b75e23600000000880e3238d8011a3e75752336000000006cdf09385f69e43c0000000000000000000000000000000000000000000000000000000000000000000000002028d73500b26935e0ec4d35e4ee5a3578aa43349a072634cf6d10349e420f3451092e330000000000000000342e4933412576350926ea340315d5346bc0d934b8a808345daefc3301abeb332277f23300000000000000000000000000000000e6e0ea338a63ee334f05b633ae76a83300000000000000000000000000000000000000000000803f0000000000000000fbb3c13964c9733fae71d635702280355b616a3c2ed3493f24c35034455c3c346246e63cb4e41c3f3572bd3400000000e66c833d3333dc3eaeef313549a100350fa4873dc8538d3ecc861e34eec30a34dd900b3d48e9173e7d27673300000000c49e733bc88b163da588e333bdc1da33000000000000000000000000000000003a43a734c758a83451c5b0348331b5344eb8063586a3f6336a6f6732b1cb11341adb38353f73de34bc58843447c3d13400000000000000000000000000000000078960358fc08f34fc432434548cb134a8b32635b815c2344f7b45344466613400000000000000000000000000000000b3131b3522c28c33af940534fdb4df343720b431590fbe314a6b5731575f393127c04233873b803ffdfa403b46870634e8d87d35ddb9783fabeef43400000000967d2b38277b4f3fb2fb493502cfcf348ab8d23a1007233f00000000000000001654153b45dbf43ec5653435efd89f335597303c996ba33ee44531353dac8b348069b33916163e3e000000000000000079e7e936ae97693dd22adf343f01f3321722d736aaec2a37be048331eeeb8f319ca63833b189183364541b331777283317a49634b2b27334e6838034dc1492346e88ae33330ea633be2b723347dfaf33d8d75034f46b4133680b4b33113bc133735019351841f9337120f73383c73f3408f2c634ee1e8d34bbbf403404da68347bb1b534d7bc6a33000000000000000048944134e8530e3456f5b433e9a5e1337244cd335c38db323d98b0320738a833d0741b3308dd5b3f3234173ef1c71133ad3074349c517c3f85d18f3cb0935c3419e2ea33f3ff593f746835349e67e733d2998a368b9a283f844e923454604b336af3c539de8af93e68733a35d7b0ec3387ac7539955fa33e55a19e3410227334101669393cb02c3eb6591e3498707a334babeb34ec25833d94058e33ec1ca1336554c43325b21539f2cfa6323033cd322e271e335553293367601a33c5d71133e1f95634a0e66d3476e23d34bdbb3034a6101e35115ecf34d4dd8834582dfa330ed55533000000003ed3843256d6da333f8b21354cf53634985d3e34aff00a3580ec7f346a1a6534437762348d769b340000000000000000000000000000000011fb7a34624e5f34511726342e1f2934ec2325342cf004337526e832b84af432ce130533d6542e3f2eb6a63e969e2833974a473422f4523fa2b3393e9bc77434a5bc61356e365a3f8d75d53a65fcc4344a3cd8349e4b2e3f82f9f933000000008a4f4037e259fe3e8c470b3574396b34e8d56f38df669f3efa02ce3465ea9934abc71b37787d243e0000000000000000f6eb3135bf97fc3cfa7c5f3474534734fc870d359f42c639de900733836f073398ca463368ce4a334e7a17336be70833121601355ddc9534e1d49e3250679f333d7fe0345ac68434c6ee2e34a3a46134e75dbe34b87d2f3474dc5333e9290a34a8038535d40717355e9f093569d02b355c021b351ce2bd34c9619134005f833400baaf343ceb21346ed53f33267fbf33e59b8834ae955a3287f14f3223174b34ffb40034e2297e31fbfbcc30ad574233f2947e310f67fe3e3a40023f7df97b31404d423460a1263fa6beb33e0ec29d32fc2c2135f79b323f98b52f3edc9949343f770035416f2d3f9a77a83b02708733dc6abe3721ed003f741542384e7709356bc964357121a63ee4ef3b3567e889340c7df334ffb80d3e1e479a347c2d3c3395191935355d8b3b3a577c3297ec893249f254340e9c7c3486eafb30b404093102d06c34a7297d3323510033ed2d06330e8ea134b0cc613456155534dc036234adb27b331f27d4320000000022d1a532bc717a349ce00934e97e103486826a340596593534e8d634cfa8973499c3ca3476a5ab3478c792340bee1934c02f3b349bb01e35ef5d98346a8c18349d0a4734b3a05934583a263456f10f347e271b345143043323cbef32236bdb3298ade832acfe5e34cb4da13e62d8303fe7db0033c2128a34830be93eea1f053febc364342e2b613449a4053f1041a63e56899e33c38eee34e605043fa20b3a3e2578ec3344607d35e91ef43e3f4a0c3d28d6b334c58adb3442fda63e59f0ce3652bb6234b98c2037ee511b3e83c0f634adb47034e517a8344be8243a0b780934b7790e34c90d263398920e33e93ae0321da6013327d61034126fa533560b1033dca60633da629334ffa6913495b25034a61831342fe3cd34e2604134ac75a833b27a5e3394c2af339e044333b799b833f55000346fba3835d6616734947824345ba5bc349de6c934b2252a344ee6e033692217340000000000000000000000000000000060ee8d34215e7534abc44234663a363468f93133e6fa1e3301fe0a33b203093347d1e832d1710f3eb31a5d3fc7dc31334148013522ff853e7f6a2e3faf2ba13461912235547faa3e2c63013fd533233418c3b934295fb93e63a3a63ebefbba328969cb35a5aaad3e70bb3a3ee9921d35e79b4e3598ee963ed9d15f3dd6d991349b557c344bd11d3e32b50d3900000000311b1835e1db433ab21283341d6b7a340f6a6f34bc93c33366da2633927723332d02233243c61032c3793532441e273219eb6e35dddff834ce0c5c34ebad823483a573330000000000000000000000009fa4d734b6892334bb223532ccdb0232fef8923564a711357d3b9b34e29ab7348bbd6c3479f2c333c458b23200000000f0e321352f5fe93442a28b34cb499a34f9eb0f35d261c03200000000d9b8bd31b50fd93476b592343acc4c33c9ae5a34c212bf319d86663d3bed723f9638cf31d2835035cdb1123ea9f64d3f57c19d34d72eab343849253e61e4283f00000000849d0c35fc7f5a3eae33ed3e0b452633bf099b35c0f2673e35fb9a3ecb06fe343400eb34fa56523e2f5d273e00000000f18b3735b13ee43db97dab3de4759434244d5a354bf3073d55f5e6340000000004f8bb343b89e734b6aa6a34bfb7b23200000000000000000000000000000000916b323514301f343ae42634d9d91634e5702235bcc242346735b831be12f83220d81834498be633d958f133a97c0d34495ae2357b87ed34764beb34f40a0c357a8b2f35428f813467446633dcb29433278812370c57183433421934458637342cc12c36f7b5de3554ef8f35b87a90350000000000000000000000000000000000000000000000000000803f0000000011fcb634e85a5a3d1c5a693f631e17345f271138b0676a3dc41b443f50154734ac10d2341c919b3df9b3173f46b2f1330c87e735cc65d63dabd1d13ec5a1463571aa99355a3de53d146d833e86750b3454162734e12e943d6e64073e27590f34fc692436cef8303d7cd5143c9eee0d360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a6ca133dff91733000000000000000061f55b34a550403400000000000000001be7f6341b1de934cdd7b034529f0d3596bc3f35b57b3135563ff5346ed01b3523311335c64212354e17d4340385f23400000000000000000000000084cc463100000000000000000000000000000000000000000000803f000000000000000056d47b3d170d5d3f0000000000000000d7859d3d08ca2e3f5a4a19356ef874334861263e5714e43e2d06963457209e33f09b3a3e32b58c3ebf9115359205d034bfa62e3e36c6153e815761355f8f3a354e57cf3d05c5b93d530e12354d16dc346d61503d8722cf3b23585434000000000000000000000000000000000000000091cd3a3706007b354aa79d34d63a243400000000000000000000000000000000434c52349485693300000000000000000bf16035062c4835632023357a47203506bce2341aa2aa3425926134f1a189344f1be63522fbd834bad2c2346bd8ce34c2a78d34fa6d873491358c34d8c69034000000000000000000000000000000000e581534b6542034e53a84349a8c9c34bb7e6434c11d7c3ffa799b3c81cc8a360ee42f3a0d40733f000000000000000086db893ddf383a3f03e969355ea8443461a6d03da657f93ee48a7235484c4a35c613243e6477933ed438df34ad258834a962263e7706133e3fa41036b4c9d9345840c63d1019bb3d16e1ac3491818734b202843dff60ff3c0000000000000000b1e9163a9d4c3238fb3f13332258f83264625438cb692338000000000000000048050c34b22895330000000000000000fe4f6d3439d45634fe869a3300000000348d5435ae4f053578129334384ea432d1385835081f0735f75015330000000000000000000000000000000000000000eade6e357e6d3133caf024334e109533000000000000000000000000000000001357a431000000000000000000000000f626813497c5593f27f71c3e61e173381bb8fa359759803f64cece37cbdf8a33d709013c158c523f1d27963419034b34ed36753d88310f3f1828bc3538c7fd34d4afcc3da2a2b23ebd08a835cec30635ca51fb3dd4d52c3e34cd2d3300000000d45a9d3d4cfe973d7566a4356d768532e6095f3d982ec53c00000000000000009ffe263ab77e3438f77fd8324a6aea31a5981b3718eb5e3359d14e336b648f33ccd22937000000000000000000000000fbfc193500000000000000000000000000000000000000000000000000000000e4e00a35d34007357b4d1635437d2e35ccc8ef34d373bf3432ad31343202b034a9abb434e983a834b5de49344adef733246384326bb9be32033008330d03883370053a340afd203431ce2333e7ae26330332bb324e832a3fb053ad3e4cc78d3200000000864c673fa07bce3d00000000d1b92a382441643f8076af37000000008408e838e493263fb6ff0a3200000000fbdf0d3d7bd7d13e48ca31351ec7fc344678bd3dde2d433ec26cc2345330ae34227ea33df6cf4b3dfc8ac334617da5342c2d1e3d897170385fadb133c9a31f3348b313399265b638ebae6d3493e51a344bc58338b5790b361770f8346806cb3483109a35000000000000000000000000e7521636c46f5c3583c08e3417f4e533591ea0368eaa7336333629363a5b03368b231335bd910035c0b2f5349088e834e80fdf35f2c4a235280aac35ac0ab335874b8d35c3edf034208beb34a1a214350000000000000000000000000000000033525f351d895935f74d7f35ca668735412e69359b29033f2a25fc3e7b3bc9360000000046293c3f15b0893e00000000b72c1b36f933573f0074413d3d50d535a2689337d39a3c3febd76737ad3a8336b55812393abd003fa08ea7360c1ff534adbe323b60ee873edec814360849a535da31763d7df0673d625184352512c6348838ce397f34b93700000000000000004ecbd1385afdde36c5cc483571d84735dd4eb538793e813200000000f3c0762f030800368a21e23200000000000000006645553556968c343d90b1330000000028d640366268c534200abe3300000000cf982f35a55e203512b3b23429783f345547af358b6ae334751d8832000000005f72b7359660cf3100000000000000000000000000000000000000000000000074a18b324be89b3100000000000000006d4391381e14b63e09d5253fcad742329b30b937d33d0b3fff14d83e0e595a32f753ec36ec1a303fc4cb403efbe44235a6ca553840902e3f1c38233d3dd313358bcb5f3800a60f3f858d62383ddd13354cc676387915b53e6d9ebe37dfb585354e5d8e3af516e43d0926f635a18087343b0b49381dc4143700000000000000005fbaf936fe35113400000000bcbf143100000000000000000000000000000000017c24370000000000000000000000000c424c367a309632d890243372fb8233000000000000000000000000fb60a73151254736f828f3344506ad348236ea3413c33537c3935f36ccb6ac351c043c352dbec636ee8e71344570513422774734d03563340fb770344f501434f70eae33a3c00134ef478e330000000000000000f846aa37beaa343ef492533f0000000050592c38835bab3eb47e173f00000000b1948337506af63e5035bf3e46848135e5f0423765ea0c3fe5dc273e00000000c2f16e3710dbfb3efd06873d35a718359dfa7a382736c53e542ad338c53b9036729573380a47323ee701213857b46734b7e8c9386a541c3821828934d3b56634b9b9cc37c4fb6534ad3302342b5c6b33fbc92137e4e53634aac9ec332b117933000000000000000000000000000000006ff38235a75a7b34a5639333962432330367c1363b1e7f36b6f1ab3582e37a34ff3a233528e10d357963c234d2e189347ac29d3595ce3a3506ac2b35cbbc2a35a929b9365fbe83364ade1136228a98355e485b3405825c34279306341af0003408228334fb6f82343099d9344f4a0335157919381082b53d84456a3f743fb83480b1813889e9253ecd443f3f00000000923abf37f39f993e4f8e043f182d513406187637116bd53e4763913e03e788368da1ed36d41ed63ebd32103ecdfe063560b25f358fa4b43e2f3b853d7cbb27351b5c76373dfa293ecc6d383d5e5a863610203838f3f5533da8e88a378367f9330c99b437ca590f3401e0c33383091934000000000000000000000000000000004a7da1330000000000000000000000001a815935ccf42b3400000000000000002f39ab3501f1bc347f02553400000000e7c68d37ac5f9e34000000000000000021931536617c913521393935f1d5cc3473cb15362440bd35f3589635cdd5823526d4dc36aa421836c1aec7355ccac1340000000000000000000000000000000000000000000000000000803f000000006f151f3810a7d23dd917583f00000000f005c43b073ffe3dc3412f3f058bc1349fe0743870457d3e6563e23e6eebcd34d6f4103867b58b3e27b88d3e668d7c3490846a35088c813ecb91153edd9e003608ad34360909103eea5cd83d859ef3355f821737384ca43d0eec1e38a7bf23360000000000000000000000000000000000000000000000000000000000000000c9b5c336b986ad3678cbb936df7bbf36adcfe93681dc883681e58e36d0c1c536cf8e8837761d7136cc1997364f738c37a568b33775800e37c422723717c6ae37b13acc37b62ed036d7d64837ba4fd43754dd5337ef3c6c3651bcbc3622c26037bad17037c8f38136d8b2e636ec705d3700000000000000000000000000000000000000000000803f00000000000000005e6bb137c6f27f3f6d018837e1c4d7362957ec37e220573fd0e49e37b7d529375ce11d3842e82c3ff115e3379167a53701261738951b013f281ce737183abf3702328538a008ab3ecdb310386b36cc37478fcb377af12a3eee167737e29344379b54a837969a803801635d378c293b37000000000000000000000000000000007e1566376a9a83349b0f2136e88d3837d55d5a3642374436accd523608db52364b960c374efb7836141282363669c536be4b803729b08c36bb17f53644466f37fd1eb037126aa53615f2b53624c99d37d6dd7937b10a823609478436ee6d7637025b843768f95136f0410d3798fa87378789be3728487737c09d8d372ff1b837ff1a9d360e555f36f14b9536d6ddc636636db136cef17f3f4cb93e38196c77372208553602f67f3f0d42e937e3335f36f600c137513d563f58fc2538c33a5a37200ed0379f352d3fba340a388a86953713e945382c28013f5c106c3898e6bf379b94c237a849ad3e86bdeb37bb077837e2f50e389b91323ee28a21388a516b37fdc6a63787c96f3c64dacd37cf1a9c376d421c360241673748da38368b4b3636a28de13714ca953744f67637dfc2a6373c1fdf367975b836e730ba36318cbb3621108235fb584b35ad0e5b3508076235c50b92378afe9a362dc59c36d9d4483729c22237be7a953670529836252cfa36839f5c3792374a3629c4503695ec38378ae20c37ed8721366a8c23366ba0dd36e8ed143737d64336abc2803677160e37bac4de3780b4b83710a8ba3703f8df37bc4c5b37d6a0563fce39253e4e8baf37bbfab8362e8c573f63b1213e3758bc36e496633551a1333fbf50113e4bba6b358ad99e374bee153f0d45c63d4db97c37c95a26375661dc3ee8298a3d8073f73621466c373698993e9e3a6d3cfcb43937a6fc06373c2f293e3210b6373e088036efdba136f158523cc3393637a8b9643680c4b0378a98193842eecc37caca9b3720bbcd37699292372f3b2a37091d8237e9370e3767a680367cb68036abd98236389c38376ed1533548ff3a351ad35235f2ee7a37a08d88366eed86364ac79336302903376c5df8369ebef73656c9003754e0eb3794ef613793d25f37825ec737bfb88937a3fa8336105a8c36d5a569370ebe5737b6f7f4366d91f136032f4e370b8fe03786dc8e378ab99b37c073e33742e14137e4012c3f19dca73e0f505437e7fc82366a2e2d3fb78ea53ef83a8436c1e21637b5d4143f0bdc8a3e342260351b247f375527f13e2b31553e6102b43631ed0037abdab33e64c5193ed78cff36f257d93753bd753e8e3ca23dd041b73764073c370877053e75f1853cf8e4e736efd70437bfe32e3cf66c8137ac64ed36a25daa37c299293815cdca37bb83433773a7e0379a739a374b4efb3582eeda363bdbd73615289d36fe729b36f7189e3629c186378fdfed3637d1ad3693681b37f344cd3784f2563720c81e37c0588c3748ae5938a6aa0a38aa01ce371607283824f3e437f4919237367381374ef8be374a1f19387d427037b0ca4937ef1dca37aafbc7373527243751efeb36c17ea837df13ed37197cb037fe449d37b733f7371658df3653ff003fdad6fd3e615789357008a03694b5023f067cfa3ed36f9d364bf85537743bde3e99c1d03e857d0e37f3b0bc37bff5b53e2288a53edb2a8537991355388ff7853ebaeb733e41ab2a38b6b8cb37708f353e4c56133e701ca03754cede3778b1bf3d4d19843d8c2d71379da852373d6f90384fe63f38fc78cc36d3d7b53734072e3876c2e137d2653937a06cd437b14a81372ef2a636e8a7d536f0d9ed360424e436bc1fd8369df5e0362baaf13625b0aa355478973551e59e35e761cd37cdf50937c29a8a3665c51937daa1033748aafa36eddbf2363c43fe363029bb37dd31b236e9088f36213e19371b7fbe37dbd43e37a2356736f06a853781347537b7d43d374bc80f37d6686e37a235d8377670c037f8b5aa37f597d33760ba03373edeab3e6b002a3fc2a5b436cc24e8360609ae3e1636263fd8c1db3639a4bc3633d9993e937a0d3fdf2aa03597d7ce3797f1763ef106e13eb1673437af5d013705b1353ef264a43eaa2bfc3633cdb337d7c6e73df465543e4d5510378c4aa037a7d04b3d0faac73d9d642b373af63d373e9f0038c012da3705d6eb36a40fbc374c4f0d385453d837e6c383374d1fd037563096370c21cc363d5bf7368b3c03368f43e53564a0d0352b30d4356bdd1b36f20c183694c8053697650e360de32137165a4536ebbb2836d8c13636505c303738df973626d591365adc9536e313be37bab0533742fc9d3643d05437170377350dcd7e3536aa64355118673573d0833727e34e37835c073784c0843754a5e0375238ba370b14aa37ce44e037525ba23702602c3e6dd9543f74efdd36a814ee356065343e24974f3f0a95d435813d9836354a2b3e3ddb2a3f79cc11369c4357370fee053e93f90d3f39144036e04e363747cdc33d4d11d03e8d5496365668c6373fc1453db7cc893e8f1f4c37ce087435c91e303c550d153ed4fa6a3503b364371368d637faa3d637c3e1d1366811de37e7eb12384303ef377c0c79379a35853662f42c35c4a32635a2402e3575546937581635366e1522361e2b3136ec463e3770894d36199f3b3656594836a39a8337ea8d8036efbf7136b81b7c36a5ca023899153c378f0a9f365d57b9365b2dbf37304d7637892d97369de45237d11ccf3767716937382189368d6f3837e37a1037fa8a6c36e7236536ba9ab23629c084379324543791a122374cea89374ac69c36c34c20387cf47f3fb4772b356f6799373b9f8d3c00ca773f79542e36a2329d3701959f3cba554e3f47eb49362d7caf373d2b643c6cc1253f025d96361c6a14381a323c3cd9b4f73e56e29937b4a4d03799822638be75a53e7d467737f4e5cf3745c5ea38c5bf263e29fd85375095d9363088cc37ee9305384df46036d46982372f1bba377fc59137c34f793600000000000000000000000000000000b1f7c436024215361c140b36b1bb123652d5193732c22a36d1571435739a3435a5dc0b38ef2a7637579fc33658ded136c137e137ac9d9d37a8470f370a9f61370aecde37bc399a37c8d289360b32473780afa8371bd2633786e79636bfba3d379c56a23709468837f03f2837555883370000000000000000000000000000000000000000000000000000803f00000000dea34537c460b63766f47f3ffa681336e3f2683777b7d9371733553f066cbd3628b314382d2f89381f632a3f3a890538830ce8378f031338e0a6fd3e7ec0d7371ce5e237023b19380e0da63e4e29d3370b4f9e37058be237034b233ed41ea137a099843762b9c1379b443a38a0358a370000000000000000000000000000000000000000000000000000000000000000a3f647371a394f34000000001759b334e0560a37001fed35c112ed35cb4a4236e777c23758726a3780246e37a79b7137a93b9a36de2b1036a3e31236e4d31236376bf137dd3ca437e1f7b2379f60cd378472d737b0fb7e370744933779a1b53742f3dd379a869d3761f5ad376b31e23700000000000000000000000000000000000000000000803f0000000000000000ed317d3a5a9a713f0bbe00389ab9763784437a3a70644b3fc8980238cbb15d3750e33b3c30ef243ffbec28389deaf1371236333a4bf6003ff242e437e9852e37cadf3b3c1e51b33e594d42382b651238ea4c67390c2a583ef8ba0d386cfced37fca0373865b67d3da689f5370a2ced3700000000000000000000000000000000d2f50a38617a803751f2a136693db636b4c4c13618458b36eb4d713632ea8336197fa436b7d03a36b334393613bd37361ded46375f799a3690649336f7f2b3366741e937aa4f17378c7ddb36166a6037986bd0374ad36037c4386f3759199e37cf8c4a3732e9d8366771fe36742132373454de370d8a77371ca57b372572cb37120e933705a52937ca5b403745298f37340d6b38ef94703fdd74753d2cd707388c75fd391fc4623fe6446d3d1080d736ced6993c38183e3f5a97233d2f4a283724586e3cb4501d3f93d6ca3c9e0480375049b73ab37cf23e8637803cb52e0938aab8293ce03bac3e6cca1338aea3e737bee79e38a0b34d3e5ae4f237e9675d37208fd23945ae803d34fe0738fb13e537fd2c2038a49433387cf46d37382c4c37048b0b3831b0b537863554370dec6237c33d8837df279236a9f79036139d903629d13b374ed0d23690479436221db0360604ac377767c4365f6c91361e3cb73666b21438032c9a37b5794237cb61933781cbc13784b3823784658137d5b08c37c1d0e43724b27c37fcaf4537d1489c373a1194377c320837cf2314375bd86237cd015f38d7404338d3f8403888d91f393f6b7c39f7744b3fc5f1503ea98dcb3799bb2839ef35423fdb0c483ed2f5683797fc47391862223f7fd5263efa103737f6d3de3915da073f466df63df288b3374cf5a739580bd03e400cb83d58421d3823de9639948e933ebb22133d5807cb372081543918ef353e297f0f39f170ea379d293038fe30733da7b5e637ecae4a37390bd239136c2e3ac6bc5e388dd9493811b51538dad5013882f59337c5b58637da529d374e8e98367a1c4836d48e5536ed3c493795224f35682c4f35c5624e356a160e383512ac3782134c371eb66f3743b7053747e496362cdb41362d4d833639de9237e59285362b5e45366cd289360c5d01386a3789370e4d093712698f3779c8dd377752bd3781c0b53710efd6373cdec83760b79c37f9e18937695eb23751c01f38501a263f0380b33ed8160238c16a1e383b131f3f8b91a83ecad06637734c5238e6c5073f0fa98a3e7fe41a373b472639dc4fdf3ede025c3ee5c80c385a34903811f0ac3e068d233e5f410137d67d6d38bf797a3e0107cf3d8f6668378b8f42386a37193e9b9d393d96b3f1377c9e0c38eb275f3d8c1b0c386dc8c937d7ee003893208839c533d137e81e953703ed4d38285c29389c9291379bd9643706890138b72b5637b5e1eb36a2f6e3364838c83779a99236674d8d36caf18c36e2b2083882d2e4365647d9366bdfda36d47b2a389f85ff3701e5b03722b2cb375a1e26386f9167370fa3e6366019ed36c6f270388dd1b437841c1637b6bd9b37ddb0573896da2a3827260638b5f82f3800564f3846473938868c2838ec024638b1d7593859cd003f3e19fe3e97bf2c38e3ab5f389a14f83ed5c1ed3ec48fba375b461d399399d23e05a1c53e179ba237ae7b0e396909b03e7156a03ee066f6370634b9391dc1853e4f09743ea1a9283807ce2339cdde3f3ee1ec1e3ed2101638883f5b398a6eea3d4f8fb33d4ccb3938d7ae1e391146233d0c6c313cbd0b3a38d93f70387f7e8738f41d5838cd852c38996bbb3756c67b37fe110f36da2be535f9f87937fd039736cfa8573610d95736ebd683374e91b736f0d17c36f5d17a36ab2edd36adc2a1355267923544dc92352068fa36b1f7943629121b3678e11a3633051e383585f4372aa6a83772b2c337055ce337b82b3e3726ca5936490be43698590638ba19cd37f702823773beb43769a50b383a22f73752a9d937f65d00382f0ddd37e065b73e222a243fd1a39b37d8ead9372966b23ec2ca183fc7604537ba532b3877bc993ef12d013fb1e96f37eb6b4a381ba47d3e3a15d03e72028d3691863738da08443eca2a9f3e2d9af6360eeb5e3879a9093ef7565b3ec0d11b382cd24638a16c9e3dab38f83dbad0b137de6b2338413aa63cc77cec3c7382e83785702338cd9d5f3911c31a383da3ef372c2455387a1b2d386dfeaf3733043b3786669836256397360da79236aaed9036b4508a3708c24936632f443629b93f36212a963756ae4b371eccd136dfc5cf36516e193863dfc037f7a58d361cd999369b30e837c0728d372c66bb364b98d3360fa48437bcd6453781651e37b4f82b3734f4eb37b95bb137feed5c3794e88c3708c0da37e9b3c8373a07b5375f36cb3771521c39dadf593e2018493f4d174d38c16ae03784fb573efcc03a3f6f33983686081e38128e4e3efebd1e3f842b9337ac531138cb38283e8edd023fd3aa99376eb684382ee7f63d0ef2c33efa821e38c78446386721a43d3c57893e8711e637637ebd37cd452c3dcd40243e8b42773768ae18380f382d3a3975383df166cf37102b7539d931e23929f121380e0ab937ba7ebb377c5d8e36fbce7c35578261350bf09237e34f043606ccf035b37beb35e51dd136aefec636564ac036d455bf36b1f5b337da9b2d370bf91336e9060f366ac7033897f88837751f6036d9c65d363864b937323c1a37a67d9136369fa536ae54c637904a213774ba44368a48453656279537df4f50371cc7c636ff97e9366f38e2371fa499377a8519372a9b5437b57a0c384b8d8c3d5c5e6e3f925bdb376abe2238910da13d31a15b3f4f4cba3747d22638dec6963d13ac393f64b04e372b891838b8f67e3dd142173f34c6d13774b04c38aed6533df430ea3eadc211384e3eae3887cdcb3c9f71a43e5572e93730dd8639e8b7693cea803c3e8e83c937cd16e7378db3913954ff623d69e78437c48b3038fd624038cc251f382f6b8b37000000000000000000000000000000005d68bc37d1871937542f1c352d5bd634319ae837acca69376a466a36d65f5f3633aa223838fcc5371fae0b37982fde36e155b3374fd50e36b5a7083606b908361c671638ea3ae037198e6d37e4aa6f37f34ce83737589a375191d3362fdae1369c2604387a1cc537a36e8237c45f8b370000000000000000000000000000000000000000000000000000803f0000000089a01838a51f3c38ab10703f1c67f63741014f389c7b7c397cc9493f76c62638a02e72389ea8ba39b838233fbe685038fb0c34389849d639d274fd3ea2040638d2843e38cb385e385319b03e702a2438e4622e3865197f39e1f5503ee72dfd377aba18381c248e393470603da6a1093800000000000000000000000000000000000000000000000000000000000000003cd15e39dde8d7373162b337e7d0a937f37b96395cfa07390a8bf0376647ed37deb9f9391804a739169e4d39ede51f39e525fc399bc5b839ef088c3994aa7a397d29a839b79048395cbce2388d6ba138d5a8b6397f8c83399e354739cfeb3439620093395cbf623931d44639e20c423900000000000000000000000000000000000000000000803f00000000000000007b8a7c3a11e1613fc81b183ad8ee903966358a3a3153413f634f0a3a56dbbb39c6228e3a07ff1f3fdbd5313a1f7f0f3a9159503a54b7fe3e0394253a60f00a3ad7d5283a8509be3e48cbf339c518c23973325a3a2b87773e13ac093a55aaca39ef79f2391c34ea3d2cfcb239f1d0a33900000000000000000000000000000000a5eeaf397064853973019338a7e61d38e7ef0c3a7748b9396bd6e138c4123638dc1c0e381b5aec37bfc3b9377f53a537d9b99d38db8dd2370a228637650f3e37a828083a8496bc39150774398b154639f9df2f3914cee837b0e4de37f622dc37bbc2f8390d1fb83917a18839f0809e399f44233acaab103a8c40043a4f96083a53977539ba7653392e6248395d054d39080c3c3a0522613f8d52ee3d66b6ba39719a823ad418483f9f24df3dd20c1d3a5bcf2c3b59482a3f86bbb33d8e144e39b532683a99c80d3fd44d963df3c6033a023b903ab211e13e9465643d72d4163a6f7fb03af8fea73eb95c1e3da9dc85390f0e523af214643e1502403aea751c3aecbb543a3550d53dbcfd333a08aa283aa331b939cca2b83989867a390c237a3927a8db39bdb5be392861623962db2a39a93e8339f6620338d74bc737420faa3746aef739baf910380ebfe4377f5adb3788485239314cb0370cc65d373926523709f2ab3914fd54399e24a038b06600382a112b39ba50fb372217b7377aaaa33729ee6f3a8287443a6482113ae2c20b3af5a0373a5523163af26ff1394fd8003a5e78c239c0beaf39bef49c39e7f19e39ff376a3a0e7d403f307b783e7f08df39a542b23acffe2a3ffcc75e3e6cadad395426e63acdbd113f37863c3e25fd243a7268803a365ef33ec24e1b3e03b883399497cf3a9118c13e68a9f43d4edcbf394a418c3a1942903eb064b03d02ae4f398eabb23a3ca83c3e6fe65b3d84187d3a04b07c3a7134c33d8c22533aa853323a6a73f53978ccfc39d5dec53915f6b73924d0d23929cabb3981a24e3951540039244b1c3ab245f039c13553392f33b438d996173952c13e3890e4313833b92b3896b715391724d3375853c037866db837f721c33973077b398eea98383eb9d837e130403ab3c2f03915ea06396041b1385762ce385542ff372da6b9373a3ca837bf92163a3352e339e33ab13950b4ad39e6d1df392d86cb39643db2395bc8b039f976f7397017203f3e7dbd3eb0ced339e28cc73abc490e3fbf58a73e43e7233a0e4c063b5e5af33ee02f8f3e31754e39b6f0e83a069bca3e2cfd6c3e49247339d8f2bd3ae5f4a03e3a053b3e96b5d43943d9ab3a89416f3ee0ee073e02904f3a18c2443a19e41d3e857caf3dc862c4381c67763a5b70963ddbd9163d5e090f3a4c1f093a5cb70c3a51aae639eb92cd39227ad9394a62c5392ffa743913d318393ce59d3958110d392dd889386a0d7f380ddfc538120d2338f3da0d3858d20338c640a5396fc91f39fb8e7f37757b073777c2253aa8eb0a3a816ecd3956acb0397590b539fed25e3904d44238ae2ac237b0d82039b1788b38408c1c3848b517381d0fb339f65c6f39794cc538f938a938cbf2b439d6519f398748873926888739dbcdff398002ff3eb277fe3e0133df39bf6f623a15c8e23e5e0fe13e86dbc939a2bbbe3a419ec23eca8cc03e61f01439a0e7a23a7ff7a13e567c9f3ea455c23987495f3a772b803e77357c3e85922d3a6e2a8d3ad2663f3e0d51393ef525ca394b449a3ac297fb3dd96af03d0f20a43900a63c3ae28b733d951b5f3dc403b7399f75ef394162f1397af2c2392542a2392c14f639fd90dd396ca8973918744439f373ee39336a8c3973bea93791cc95374c8ffc371178b1379f9e3a375b7632375637193a73bc72396ef2ed373737e2374d4dc439e8617c390cf13338dc08ac37c0c756396984d937252dc9370a17c437bd198f394f98f3386a0d39383c143538fd1b223a52120d3a8baae33965e9d839bc9ca1390f208e394b647239b9d86a39869e0f3ad39dbd3e4cb21f3f5497003a8c9c843abfb2a93e9a810d3f04dd143ac92f6e3a231e923e0108f23e8b8ea638adfbaf3a7058723ef0f5c73e3f0c3f3a4fbbae3a6697403e66be9e3eca1dd9398779c03ab1e80e3e868b6a3ec64b9d39f545c03a6592ba3d0ee8183e1a63a1395928843a05bf263d9f8a8e3d4f3f1c3a829fdd396ac3e639525cbd39cc329a398d19c3396f79a43969bb3939c4cf3f382a90aa393f07bf37abd99e3776ba8837f0f7353ac207073ac51285393b65ca3842f800395e970138f1108e3750363a37d407b73959837939127d83387aaaf037de5d82399ef1f338fac0653722545737a1c42f3a6f24bd39dd760438c075ed37021aa43987191b3973bb02384545f937ee81b339b8c0a1390d38853976246e39ec71fb39d9c6793e4050403fa3b5e2392bfc843a3582683e2acb2b3ff270063ad638c13a2255403e05ba103f36fd6d3a81ba863a09c4213ecb3df13ea5d360397c09bb3a3a6fff3d9e3fbf3e7dd5073af949093ac6cdbe3dc6e68d3eb6af9e39fe9fb43a566e773d4d5e383e4a284e3a26894a3ad045d83c8e18ad3db3de93396112093ae7b5093a4ae4d8397d29a939ee189e39d226703963ecbc3813cd7537cf2e093a912eba395e249338e3b1f437defdf9378a27bd3709762a379603bd36e461093999fae1378ad5c93730cdbc373858123aace8e53916e45f391f83d738e44c2e395c44263888a4ac37e2638637b2b3753931243a3a62bcee3796d3dd37e389223a0eee0d3a941bce39ae29b339769d92397cb88439cc3e3e392f4b0d396ef7da39de88ef3d592c613fd07ccf391807773a818de33da21c473f9f2d2f3a9a60853a3303d13d719f2b3f42bd5f39a548a13a44c1a23d66dd0c3f5d5f85392da2573ab5107e3db8aadf3e934c2a3a3ce6723a05ce3b3d55dca53e0db27b395c79ee3a2ad5e43c7b32593e623ead3a7147573a1a5d603ae822d23dc39c223a71f8f339e69bf139b757bd39177f84390000000000000000000000000000000056fd87395f701639c9e5c537106eb537c728d139b92b9239042c9d38549be437a9a6d639fcb0a039a4a3d63874212438ab940f3a058ef139023e9a3946a9613967d9173a3543fd3910bfa7391ba17b395e9fb0393a5f88390710ce38f8b73938f054a939db35a739673e1f3986e510390000000000000000000000000000000000000000000000000000803f000000005be8013ad000303a7db7613fee55cf39dbdc573aed107d3a609d403fd86c223acf7a203ac86a303ad0c11f3f1d7f073a75f53f3ad7284c3a02cafd3eca52243ab050493af1256c3a453dbc3e152f2b3ad9a82d3a40b5443a48ac753e5a9cc63945c6203ad61f393a7131e73d77c4e9390000000000000000000000000000000000000000000000000000000000000000e5e15035f9614a35f9465735bb525335a49b33365ce9da35bfa8203619fa3d36513eeb369e397d3610a4a1366270e136b5c673369784c635c9b3eb3579d0f835e6029736ae5a1e36c95c5736ad209636412bef37dd488237201b9337e471d237bee1f9368ed09236f2098e369f5c9a3600000000000000000000000000000000000000000000803f000000000000000092722f375bea7f3fdd4629371a1425362e809d370cae603f4427d736ebc48736b43f41386405313f9571e037d240413780543538d817013f3a9de837a8474337a85ce837cb03a33e4acd953761efc036f6203f38884c063e1ce04038c858f637d0faf9370ad9cd3a0345fd379f67dd3600000000000000000000000000000000932f9933feb89a3363089c3363b399334a69c13548cfc135f43fc635eccfc3359da95b36ed470d3530eec835425e89367af23a3611ef9b35be5dc535a0a55b3655380e3684110236bc920f36eb200f36d7180536890a95352026c135c92c05364e586737f094433719684f3789e36037861316370c68fd3578d8a1358c9b2536186e723620511436985c9535f4d9a0356cd19633c1f67f3f87543539e9be6a370013de352af37f3f536f34387fe83f3663a81137a2dd623fee9d303831c1f63623710b3729bb333fdd5a13389ba4ba36ee111d36c16d043fbd97b53769ed143676359c36f50eab3e6147ee3866ae6136d381a7374e2c183e2ac58938eeca7c371dde0537f264a03c2b386c38c57564371e140b35584c9f37680f54370e300836b1766e3651d7663612c86c361f806b3644ed9134a84e8f3484c29134c20995348089c63612194336fa728d368537c33639bd053744cae83602e6f536c88a03374581a7364096df35d792483610c49c369e0913375892d236aae7e836838c0637d09c4937eee42837e622293798883637be5e52387e813738fb23353860954138f7bf9d370c798d3779ad8037580e7e3790d73c36a767633f24b9e43d32db7936290b94349c9e683f07d1ba3d3faa14363c33043706b8473f6bc0ae3dee7d0e37aa4c0b37a6c0243f424a393d68f40d3778e38537d83cf03efad3023dddb18237a7a29a377666a23e30f1f438961db537ca05763794c0133eb8a61c3cec9ccb3733d71f3841721f3cb0c9c73879cd4d3892dafe3689c82d389dc21a38552e8937ee8e923701779f3742ad7f37c509413703b0cf347b0cd03459cac834b14ad13401c57e36125a48366b61513654506e363ff5d73678c1bb367844ba367a5ac9369a840f35fe4b043521d2093533e01835c0a47437c53786368f9d8c36fe7204375dc337372774dc363782d2367fa4033758237c36b6105c363d4d4a3657075b36d3cff536c6b6a93620bb8936744ba936f1129236f151323f74429b3e6aba9137410ecf34f55d363f99eb923e95a0d134b66ba4360334233f4801743e5fb68a365f2b12377ed0023f7b24363e0c45e836993d60356232c33e688afd3d8eb32635cee499374c70803eacfd8a3d55e4983756e9ff3635c9013e38a8063bd0f70b375ab2dd3503c4043a737535382acf203647592c36a59cfd37327b88378e6e18360c04a7333594a8338d32a833e10ea73375ce34366899ca3575fdc73537bfc635ee364e37cc0c2037ce27083760a12137567305378cc79a36bf4f6636e216b536860f19367bcd0d36badb0936eb6e083671202a37909109377887f73698ff11379e36b637ce5e7e370e85733767d57f3776b9b33742158237d30b3f37fbe76237ead756368736a733e0d9a83366e9a633dc8aa4331e23013f95c0fd3ece26a5334c18ee35927e053f7ac1f43e75bcc535000e68377c78ed3e9ef6ce3eac193d37316f27374f0fc03e41339e3e97e1ea3618b62037637d8c3ece07673e5b3d0c3675b8353776a13e3e94fa043e23551b37872192378ca9b53d60c4313db7367f372c5a723779e5a53964d145381f7c0b371efea533c6d39c3841bb0438c1eba53391e3363641ac17362f89fb35f8210436624e1334fe9610340c8c0834d7bb06340f4e9736f7fb3e36d649e635f41a1e363746bd362aba6a3607415836482c5e3626862235ca46ee34eaf8e6344407ee3497f83f37be3eeb36cd8ed136041fe03670eb50373e18e736691abc366588df36978e003885fae137987cb5378c84db377912c637c3a1ad3719989237b6c7a53794a91736c739a03ea3e02f3fd2a00236a5071c34e4daa83e346e2b3f7c640f34e10fdb36455d993edd5b123fbce8453602a6a63744a6763e2084e13e13317636e88767375e3b373e7ceba13e55edec34b31291371a77f33df0e9443e70b20c372ec28437c7054e3d6767973d104ee036a2241438bdc71d3a7945a638a2826337fe1bf737b65d5a38d5dc1638aa14d836ad3f7c37da8b8436e01d08369a6a08362041ac37b7119c34c936923422739734dad92a371e1ffa36eb468f36d172a636af08003713ac85361effaf35d3020736f7a8f03652bc4536a0e494340a56fb3585e01437330808378f5ffa3629b708377fbdad37d31e4b37a134fe36db481337883c9a3678728136e80e3a366d7169366cc57936cb4f6e361d4b703619f27b36d073b237b904f83d93f3603f10760936b33d3238c7fd073e45715b3f98199734aa9dbc371e0f053e6e60373fa8cdff369d3e0b38ec0de33dee63123f9c6397363958073800d8af3db573d33e88db7836959a0838c740533dadfd843e60d80d37dcb00138a24fc73cb0c1e13d97f44037055493374f07aa38fb46833802b5073647e88f36a549b337dd8b86361e2f593644dfcb3587010a35fedc0035ccc20835507b97357782973531519135a81c93352bdc36370007cf362ec282357a27d03534cae33534bd3a352bc5a634d32bb63451a11636cc340c36f9c8ff3587fa053609a507374b35c636db451b36a3067c36a4833a3749771d37fe87ed36da280b37229c42379ee113375421a136352ee636647d99338c079d335b1c9f33aba39b330e992337d0f84a3adcd07f3f91be1335aefca137bd1a093bea6d7a3fafc795356cd4ca375ecf193aa5d0593fd0fbf636975a8237999dea396f612a3f97458f35e13cba3622f6253af8e3f63ec11e0f36ccf0a63770780a3aa551983e4e90f63646bdbc37ad2d81392dcce83d0f8f8337cfed813798165238d620723802e0bb3623c43437d30e16380ab14b370b14993300000000000000000000000000000000395271368976d935796459345bc60d3593f33e372024b235f23e6335979a8d35fa1b9a3616820c3689b1d6359c72f035c1787137b50b00367587cb35df94eb3513a0af37f53568379a80ef36422900379333a43741674c37118f853657f29d366ffc3b37666237376e751537eb661e370000000000000000000000000000000000000000000000000000803f00000000545eeb3673f004387b947f3f6ee1533685fdfa37cdc832381b5a5e3f52398136d8e4253751ca0e386f762e3f11ee90360e7bda37cf0e82387cc5fd3e8022a93735e2c3375fdb6f3832da9d3e9cf60f38d67a8d37b04529382b5afa3d920af4373e922837e8b8c53737c8c13933858037000000000000000000000000000000000000000000000000000000000000000047e7b235c9094e354b453f35bd103435b3455035896a4c35d8af4a3536ba4935000000000000000000000000000000000bd16633f30c53337f4a5c33dcab0933ac32fe34bf9702350e9b0535397902350b28823726148136c6ee6136306abf369866d1363d9a21362e1a35364afa693600000000000000000000000000000000000000000000803f0000000000000000c08454386238783f5aafdf367a15b83559612d3846b4533fbce7e3356efb563560c4373ac04d2b3f0579bd37c2ae863323a99a38fc67023f9a9f9f3789307d33f577e438e4cdaf3efa4ced376a8d5635595ee4397e933b3eb2a93d38a782c3379e380b3829f22b3da84cd4373430743700000000000000000000000000000000a1858f36c76e6e367efa613673bc5936b1f091364bd47e369e938036aaaf7736f4f7ad3426b17534e5a97b34cd6b74349523ab3489caf73261f926338cb2f7321a03603650e64f361f19533689fd5036f4474535dca220353b873835bd87363527a47235926974354625793511f2703515b51a38e122d737157ac73753f6dd3735d56c37db5b0d37e07fb036f552f63675fcb237d7f27f3f89d6ce38bd05d5379db18538a5727f3f67858c3898329636385e5d38d07c583fd03dfd37e6ac20357bc5493828cc313fcc4ece3705dc2f35c261cf385f36063fdf29ab3814a7c13797d0c638c425bb3e95a09e3821728c37308b263828425a3ea7d8103824129b3512246938cd81823d065091388ad13b389435bb37492c4b384e5de337687f5e37576f3136abfc2d36cd2c303676992e36d06ba136a05c95363c4697361bda913631f07d3342727b3389d07833923572331812d3353344ae35197cb835c21ab6353bffe1363a8b4536a31d4b369b154536fae20e355860ef342c440d3571b9f734cdc161360abc2b367d102d36122c3a367790d73786ed8d37e9d24f3799ea78371806ca36ccb0b0368345a1367de8ac36812e2036274c5d3f9fb60a3eeeed95375480b7363719673f107baf3d3bb8a736fcda133788e83f3f546c8a3deea88033c23c713757f8243f6225c63ccf8cef35becb093838edf63e4221bc3c7e4611376f1f1c367928b43e6a86ab38fbbf2935d2b01238d340493edb9e8f39d6c41837f7041338f49b5f3d93546638fb0ff137d1e1743758677f387560ec37a166b3366ddaf1356563e6359df3d935b5f5d6354fb8a03612b9933662e48d36175b8b36551a0c363c2b0036919ef935c719f835f19541346925ec326c7e6233cc208533574d40366a803236b26e333601d43236128a0136f826f135f05ae335df03df3574520b3661b1d6351d7ddf35bda00336e8f3e437e06fa53721188c370e0a983739cbb437cab381376c924637e60f65373e16e8359bf32f3f9011a03e7aa6ec352d16b636cc8f373ff205863e13c4a23679f74938b484233ffe2d4c3e4c0214368a9d98376be1053f7eb9143e97148f34ff6ef2372c09ce3e8fded13d06664d36e91413387eaa943e56d8623dcf4b0836bc86a63746822e3efb23913c56d45f36ce6c2038ebd2233dbf47743854e5f1378f640238a888403897eb083877428737c903aa3711c954373d5c9d3689d48d36ff64c8363c33bd36d4c3b236b90fad369b5cc93542baa3357194803584576535803a3c363c822d36bdbc21362cec1c3654a105383bbfd536f5bba33678d3a536015c9e371bfd4b36c6384536f9463e36fccfbe374f7a05375b9211368a450f364f6f3338accd193877000338b5640c38af7ec837688b9a370cae6a372b0c8537884f113831db023f0d27fa3e61cb853736d221382162093f8bffde3e2978c436a9fe1c385585ef3e03adb23ed321d135a716ad38ce1acc3e475c873e983d2d37d79fa6383aae973eda8f503ea8792c38491ab4385d01633e7bfceb3d16c10c384b2343387823053ed3b6593d6e4aea37633363380f03e23ca1d9af38686034387c7e3f389a108f389a593c38e5a58e37ce13ef36fed5c13581ab9b35e3469835ba637e36523a643664474e369bbf403649a91234899db1333eb7ae337688aa33cb10d7359a81af35c4538f3567b18e3548853836373836362a083736f4b03336207c8c348f325e34fb971a348183e93370f6b93759190b37ed8c353613ef413684803937c733c736b06bc8367b8fc5366b9af335cf04f935e506fe3505b2fa35a113e737c0b6ab3e99152a3fca9cb4351be9f83772bdb53e05e01a3f21fe743644de99370a4fa33e2354fc3ec9c1b3332dcd1f382f0c8b3edef6c33ee277da35a4d8053876225c3eb07e8f3ef35b3f3658c3e137f5371f3e8db2343e7e3f9a349a838b387f54a93d7913a23dc36d023895f00038ff59a93c6244023ac5273337457a5f373fb6fa37fa3a8d361adaf135c3a9b435849347358ed40f35c02607359383543677dc343617c4233630cb24362e10c135a7dba235b38b9a3599ab9935d58b8b346537e433cdd7cb330ed0a133f82bc436d7c83836a37428362c1c2936dff3e335f7e9cf35b56dab35dd7bb0355afec13556f0893365b189332ad58833690bc036e5dec236264bc336c635c636de2f1c364b0c1636a54c1436d68c1636793ffa37130b253ebfb8563f65cc4c3583e113386e80323eed58453f54f2443699531c38efc6323ec7ee203f2ddbbb358e222c36df88183eaa8dff3e65068034c07510382921fb3d3a88be3e40f9d436829f2938da49b93d26b2763ebb2bed35649be537ab7e503d5c0a073eb92ef235b6db0b38abc6363c587ade3954a1c33619e1ab374bdd1138448d2036d973153619b2be3599baa93532d28b35e1398435d24163362cbb41363d910e36a6dd0236d2754a34047d4934af86463459833c34ea5a193551bfd334e212893496118434418ba73731915236f9b93b36d5753b36cf00473517a53b35c347e734771dd2340cbf2e37ed97aa35c5c79535538f9435d99e5638ad032d3828ff9737a4629237ce5c813642c06736c85f5236be58533628031638aa34233cdb647d3fb136b33589f47b386388a33cce826a3ff97b56368ada0e38246b953c25c9443fa4a84f3472f3b838dffec23c364e1c3f638c9b36641ec838de13b43cf73be83e134001384def36383f85d53afe9f9b3ef07e7f357b7155383c09ba3aaa8b1c3e0d1b0638438c983832b7433a07579e3a838e8638b166fb3772c138382e645537cc9a7136000000000000000000000000000000006e45f1349669ef342c79e534a8e0dc346bfd1f36f45c28355524233504371f35822d03351efb063543720735bd140735632c98334364a53330baad334b88a63309b9ce3751529f360000000000000000c4c799372ff807374e4ae635a51ccc353a3b3538680f30389f8c0238fe08ec370000000000000000000000000000000000000000000000000000803f00000000fbd3f437ff119e38b636753fc8f8ef34835f713810d52f3ab2c6503fdb4ca0360f0752384b538d39b409283f6835153580843a38d5221339b21efb3e56d8493778774738e796a93abe4ca83eba381e38c186e53711af423ad773303e7f8f073889562038f24a88381222f73cf27b6b38000000000000000000000000000000000000000000000000000000000000000097b7ad3556e79235ce9f873501638035bac48133e6ad7f339ccc7d3348a079333cc7cb35e045b83555beba35650bb73581c618362d101636451e1536c6b915369d881537411f993615a774365a154e36b6ccf637d4149c37748c4237a95a0337eaf3ef379c27b037dde39037b2b48a3700000000000000000000000000000000000000000000803f0000000000000000a0d79239dff26c3f7cde73372c97b235b323593cdec6453f0964963667228233e5fb033be72a243f709ce5355204d5355b737d3c7440fb3e55494b3833ea093717f5603ce3d6b33ed64b7d382bbdd2372ad95e3cd5e74e3e095f413887f517388d4a093ae6969d3d3791303af0bf4b390000000000000000000000000000000079abc137d4986137ef1ea036fa7e8e36fa4fb3369041a63691ff9e36e5c59536c548fb34ec77733489b73e34cb2233348d504d36397f3f36c4ab37362e842d36f92ad53718d0e436fd0ae336a50ae2361b3e4836bc234436f6f84436adbf4336555f4036a2693f365b193f36391f3c36560e003853fcc237f8169237d6fa8a37c940da37e47d9a37b83a3537f1d62b375d7b1438cd8d743f2979363dbba604385ff8bd3afeb8693f226f363c02f2bb365ae55a3be474463f6c55b23bccf72e351c07953c865a213f1bf8ca37d90e5a362175dc3a6c95fc3e7e8aad3b0c0b1b38af876a3ab4e8b83ec7333a38929e6137ce4bc23a79e05c3edcac4d3c1dff4936b85390397e57a23d1e2f7a3c5dd13f38d9b641387ebbc839586e1d385568d3378d573637b928e9367d70e3368104da36bcfc933636278e36304a8836add88336e4a2eb35e37dc3350c8ba73529d99b355dcc0a367c27fc35ef8fea35f395d0351108a3360a607436f9417036f0396e3600115136a4ac4936a6b344362df33c36760207381d0c6337345e5636fb7552363cddc937baff86370df40d377cfc0f37e34286379c6b603783601a3790230b37586ab2373d234e3f2664473e5ff88d37889f13394d58483fbc041b3e251b963659146e3a3b87253f860a083e74060136c675343cfe0e0d3f6f18c13db3b316362d97533c9c5ed63e7fea963de6298137266c803a6250a23e2d88483d1b975c361c8f4d3ac62f4f3e2461e73cc9933338c33f8438a05a993db38e853c3416f0370528fb37eed49f38e3ecc2377d818437c6673b362911b5353f72ae35a852ad3565590137551df836d7daeb36f598e13645521436a65a09365c04fb35a75ee3350e4fc635c17cb13524189e35af4a9635b2a696362cf9953691a4953646ab95369a18083643c6ec35c8e8d5355f40c73559f6c0372fcc5137d1b70237b53dad360847e937089d893641378a366e3b8c36f7d60d3883b7f13731bfbc37678cb037d29638386b62283fd729af3e6747553791d23a38b5c2233fbb13933e6c890337df3e5e3afea40c3f5bf46e3e5fbc1a363fb23d3c30e1e63e29173a3edd51d4350a32bd3982aab63e5467153ef18df236c8381a3ccc35853e6cd8be3dc28a1536a34b203a04c62a3e242b593d6a96f237e98e3939ebbd883dcbee923c5b4516382169503837b1b83973de363814d00738520b6d37742a9536e65e85366586803687c4d636382acb361cdcbe36997db4369d240636a83dea35c25cc43594ada8355f448d360a548536de7c793681b46a36a5ca0738c8b31637c2b0b8364e0fb6364df61037cb4e9536a1b0913636448f366f493236be6e3336e08330362a5f2b3635cedf37ecbab637ba3e98377f829637f9d7903755993e37573ca9363c379f3601cc1b381d34023f887efb3e8ac68937c64e4539e003fe3e1c26da3e7e5ddc360dbf643a481fd93e2a20b43e04550d36c73bb639d974b43e2459953e2e509136b8b97b3a36488d3e1b77643eb3d82d38e87a8639483e543e0b93173e82665e3787c90d3aa787063e6041bb3df2003c36721bec38fd45623d2792b63c3661f93704cf103815821f384f14dc37588c8037458dc637bd6b2a372ebfa53690068f3658356336f3075c3636ed5536ce6c4e36a818bf3538a88e35ca83443533b03335aa2dcc3545afab352cc383355fa04735248393365db19136ab8f8f36a2718d36f844d235bc03c635eb0bb535217da9358d7322377737213649af1b366c2e163629b992379a81133744a7143775cb1537fab2c53594e7c9357282cd35c919c33518c486387363b83e5ca4233fb040e037e989933959aeb43ecfd70f3f4acc64362950193cc5a99c3eccaeed3e8ad6723682fc243c5fc8833e2158bd3ecd2be735d06d813997b8543e2ff8933ec03895366359073c6bf9183e4d0d4b3ef5c3df35ec7f223a4a0fc33d1ac6f63dbce1b237961b2d382d5f103dad881a3d06d1bb3740862638c11e2a387a14a3362affc8357c9a8e3680ea843602856e366b80583624adde36d67fcf36ffa1bf360524b1366be63a36a9a32f361a29213637a31436fce2343665072236768c09361f2af7356de07c360c4f753608866b3651a46a36295a0e36796a0636f8b4f6353eeae635728af836263d103611d907368a070236763da536e0baa536c2a8a4366fa3a5366176d9362403d53650bed136c18bcd3615b51f38767b593e9c8f493f34388f368bbcad382409583e449e323f1ef5e3367d59733a51cc463e85d2123f3c264d378b2d8b3a8149293e4603ef3ee487403644958b3a8972fd3d8068bd3e00029d366bbf123a731cc23d36557e3e94ff5036f325223ae692753d4df6223eb6a1753779db9838b6dfbc3c6c112f3d4cee4b371b319e379b4d80379e36e6366068d736f7fc943601cc89362ae67b36ac086a3667abbc367643ac36207f973604ec8836dc05093661cde53595b9b2358e4a8e35afa80f364fb7ed35339fb23572e08a35be689a37c52fd536404ec9367886c3365b7b44360ef437368c6229360a181f360744a93685e92a35adf302354fb0c1341754e5376e984037b257d9368b43db3683d8803654d37b368fa67536252e6e36b86c60392622883df8c96e3f388d953625ae813a68f49b3d60f9533f7fcfc3364b4fe73a083d9d3d5b19313f6fdb143694423e3a3a939f3de1300f3f053a1c36ac68563a21e6883d1b2fdd3e69bb0538bcc91a3c38df2a3d72d4993e154a55360f581b397232d53c786f423e9f0045375ff8f3384ebfaa3cedfb5a3d20091e389367f2371c2aba375431ea36c96684360000000000000000000000000000000003bf6a35285a5c35f48c4035e6b52a35081ab536abb123369f5c0636c717e535940de736f77470361eecd3355a568f3532080b37363b1a36614516367b78123673d0cd359761c035451eb03593c5a63520ae34376cb20037f6c016365ddf8a330370413811e80638ea728e375cb054370000000000000000000000000000000000000000000000000000803f000000001d4f8c3a9f40043aa6866b3f142c7835783f4b3cd9c6603cec0f423fb35c98374799cc3a915f7b3c0f3c1e3f206dfd375d26f339c1598a3ccfeaf33efb9cfd37db27de381d476d3ca82caf3efc5b4c36952494380d478c3ca5b8493e92a501385d0f9438ee847a3c5a61703d6eb192380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f597336dab959366dca873642fe6a36070a57365909473657035136744f573600000000000000000000000000000000e6ee5537d040b936aac0cb36b41586372327aa3640daa2369923a3361bcd9a368d9a8536582dff357e430436121bef3500000000000000000000000000000000000000000000803f00000000000000000000000000837c3f00000000000000006c158e3780d1603ffd837a36730891360cee56381b13323f6f458236c78141367ea207370501013f000000000000000048a4a2386f08a33e885f5938a9c5e437e47d7e388174083e4e6ba237b71da13652c8ca37b49abe3c8da73037f9a6f8350000000000000000000000000000000040664136776a35368ef931369f7e45368414b035b814993536ed9035056ab635aa33073655be9035353c0b3651d0173625782a360195e835b62c1836dadc4236dff08a35151161350ba97535c8758d35e0dcfd3567c6b3356967fe35ec83d33560b494361e6f77360bdb8636f5728f367d26a035b15f9e356a5da335389fb0357a460e3657ae1b36d711343628771736bb6820367bf07f3fb707e63a332e40366a3f5135ffbe7f3fc03e5338c80ea8354975413613a65f3fb54622376703413676473c36c66c353f1b4d5836036a2436d0352a355a51073f1c116b351e3d563582d696372b66b33e91e6be37714b0c364cde91362b8e2b3e7481893657ee7d3653ed7e35c499423d2d4f4436661d833559361e3665b2c53647abf5353dcf0136722cbb3572f5c835e580b8350904c73518b73d36e4dd40364c1e503691355d3632011236b549b935e8610f368c301f36eaad36362405263671282536a8013536f36c5e354bc579353c597f35318f743540c5cf3525a52835c8841635b211b63492b0cf35b10ec2356078bc35dc52d2358dbe79352cd8d834a632733382ce3333f5f702352ce41735b4e3f9349ccab5349ef8ae35d09b633ff92ce43d32c1d635951b4036df68673fe0eda43d3e5a6e36d20ac0358b22563fde34873ce26ad637c242303652632e3f4e555339dc6a3536e494623558bc013f8e780e390b4da135581458360d54ac3e3c75923804212635d70cc735d017193e5dedbe3b02e0c435c8f0d9344a3def3c884a253700000000fe20d434b225f73492f5ce3432f7af3451a9c03458af12342329773392fc4534dbf89d35b3b94035c4532e358c828b35b331a3359d0890359a86923543a88b3587d74b35ef412635bc0299340e2ddf34f75c69356f1a56350db93b3557c4b6346ea26c363d185f3686972336b3840036f9ae5037a79069351e5c8435771d03370da46f3656ee6e365e7e6b36e952443698668536b2958636c0ce3536d1f3263619fa6033f641333f2def993e74fa4934271f8b346d0b383f5713893e09f9a734fd887b3595d12b3f47fd423e1454953548eeb234633e0e3fa2b8023e54e4363589e7fa343779dc3e3ec5983d59316035e3257236a803963e131adb3c90114e365d742d386e17153e58803e3c16489336507d4a36931ea13c07152237e0315c36b20c6e3686ef8936692346367ce746366f7c823616de66360db6343631666b364200a13580c89a35a2579d356677ab3501a74136fdd808362c3ec03595020b36bea4333662b8033628120a36baad3a3633dc82352062653524957b35376e92352be449368b292936c12b123626e011363ede3e367f1d3536fc3f3536656f3e36993ea335bc86aa35b3ceb2358aeeb7352ba9793606728036e8157436d1176036b3005636a739003f301d003f6ba63b3638619a35e246063fb54feb3e10928535b4d30e369233fc3e809ebe3ebf9716362c231e36d691d53e8c98863ef7131d363c966c35b527a13ed44a3e3ebbc7543531f1443631fd703ec1e9b13d5e7228364dc23336daa3f13da2ab9e3c5bdc3236b30b9735096d873c2a14ad37daf58f35c0658536cdabee3767556936bb7e6e36b8357036467f613621950d36a37439366ce13936cae13b363feb22360bd53936f02673353dc0c83400000000c1602234bf3c7f36b04a413695870f3600413236c4c73935477041359a81b7342e3c003527c69035121746351fbef73423f0083556bfb535ba89a135c2918d356661a6350ba81136f922dd35435cbd35ac34be3554feaa359bdcb635a02c9834916354348d4e8f369c3f9b3e55a2323fa1602536b5584d368c0dab3e3ca3253fb0453b363cd157370b2a9e3e371e093f00000000e962a0360e928d3e2075cf3ee8ed3636dcbf6335346a673e00ba8a3ec66f3a352ccbe036903e2f3eb7e3163ea748c1344c0913375243e43df20fe63ce4e4ad3505c90d36e848693c6c78bd3575247735cb3ad434f2cac53511ae0c34df4b2434b922b43450f1c1345e748634f5822d34c46f0a34000000000000000000000000a9b3c035c6deb2354453a6352eecaf35d72e9435918bed3400000000eb2d0334ad21853519f96d35c2c108359ef7d034691f44369f0f3c3641a42b367b2d2636a39713387821383708962d364d1d1836ea8880366eee81369a03743644ba54360cd0093648b60a36baacd53578e5c335e20b9034fdaee63da42e633fc1a2bb340000000020520e3ed522553f000000007b2ea1358547fe3de3d3383fc81fa33526d38937a3c6fb3d75d60a3f253e15351f6f3b3572d1e93d6dc6c23e41645335a4ed0f38ce5ed13dbcfe5e3e10042d36065e9138d653ba3d182d6d3da9238a36726a5b3606f2833ca86e0f37fbb77036c850e9357d64d53728f9d735f60eeb35f6312436bf8f013674fad23557081a3660fd983502709635a3958d35d9569835f8c0933660006236c5b532363d425936b1e24436383d07365978e2359bc2233687f18e35207162351ee65f35b46c8635ca0b713699694036efc52436678f303697a65d3696e04236e8823f36e02e59364b3ead355366b3357b1ba9354625c6353a305b365f225236f0e23c3608973e36f83f1b36e9f7553c3c027d3f55a8ca3514a8a035307fcf3ca0776d3f31c95835f3368c364012b03a3902553f96fd51366c2a2336fe24f5397f8f263f82fd0f36744e9d35ed4dac3a2bbdf13e757351350f0b7336a61d6a3a5d63953e18313336c0fe4736f1478b3cc6b7e23d89a66036a0d4a1373d918c3982b4073aaa03a035090f5c367f26f836741c22366d933236000000000000000000000000000000005ab6e5354c81e0355d37a83506aedd35075e953619098f36d6fc8f36267e9836396e3f372015da366f75b636a0e7d13600000000000000000000000000000000e5fd933797107636f2d4633616307636d7ecbf3653dba036b5bf8936dca991361f6502358849083554383a34b515ce340000000000000000000000000000000000000000000000000000803f00000000142582368c41d637a5507a3fbf9ce4355dcfcb3769fa7e38c9695e3f76888b36c6483a38628c92384cd82e3f5d56af37ca1ee63136cd27372afefe3e00000000ffbde037a00a9939bbc19c3eba77c837f888ea364a3dca3759a3fd3dcbfe5d37f0c484356f086137879d743c0000000000000000000000000000000000000000000000000000000000000000000000006cc8ef356247a8356e13eb3567b4de353bb81636caa7f13535cff135c8c1f335b62f0336debff4356ebb0336a8460d3630292b35ccf119358c651f35db241d35e5cc9535d5c98c355c2e8d358a177d35821bb03516d2c6357f74b535dafccd35168a4535440948353ac8513541f95a3500000000000000000000000000000000000000000000803f0000000000000000a00e03395e72753fac5b9236c439f735ad7be03aafe4503f97d71b362aeb113671a96b3b038f273f5f55073645470036a6aa153bc6affe3e049bf9362f2824358341233b4f02ab3ec63da236ee80a03505e5a63c3527223e6b5faa3667a79d35091c193ac1dd433d5df48d37d1003b35000000000000000000000000000000009cd86c35a0dd5435190860356ad9483506bc9736eb686d36365f8336e8ae67361f73b235a9289835d111a73537dab735c34dc3350d96bd35ec46d535ecfcf7350de28f36f7fa72369ab57736660660362c25823532c97135dc57883573278a353c350b36d5d81136139e1536e83a28369a626936b523593696225636e6bd4436f1db2e366cd52a36d2b1263673210d367607523542f77f3f81621f3a24dd733576742638a199783fa4f7d83787b29436d9e5da37f268533f5fd8c435f215ad3510d04238beac2c3f60cdb9368188b335a438a139b5b2043fbc31923748828f36543434386ee9b93e16761c374666893520804a3978494d3ea822d137c22104366f6f9d373f5b8b3d3c157536dc2d673633969737d803c137a2324836e5ec403684235b36d387533668ba4c3616d05c36b02d8c367a8e7b360aee55364c5a4236a9ed2c36b9fbf4356014f4352ffde4353ed40234e9950434eba804344add0f343c7b23360d1ffb359caab235bf46a23556b74736a0ab0936574c0636179c1036ef81b0357befb63584c9b8352348ca35fbab95366d8c2736e7730b36fe450a36985dd836e3f9cc36c04fba36c05bc136c329483692d2613fa8d2f23de2cbb03785d29f36bcbd763f0e3a863c4ed3a7367d6ff23602ca573f5dcd7e38c01e3f362cd38e3766222f3fb005d136933201346adced38427c043f770881384dbc39367af53f38140db93e5344db365b12533682d88138ecbd3e3e8397b63563f6b435744f4638cdd58e3d6c6b2c3865794f375de15637de018e3785af35374e7dc03644bb773791847437a1d82837d6eef036001a8f3673288036b1595336b6843a36e5e701365895c135704c9635a1b8a1357f29e935955fd035c3e4b5359d31ae35a37a45364e6b293630b90c363480d835c839d8358aacaf35803571357c578935888672356a8a9135e6bb5c35705d753527e6da352db3c23563828c35b4811b355724d836bb88d5364988c836264ecc362bcb61378f3d323fb0cd9b3e25b9a0372cb0a536be32443f64755a3e2f489336f866e336b7b93a3f9f3fcc3d9caef6354219bb37aea6213fab7b0c3d9687f835f60664387def003f63fcbb383c6a503670e73938e1c0b23edccd4238f9bdf135d4a27c371189423e9ec6dd362a445b35dfbe84384b36563dceb6ee37d71cba35d6671737c8df3e37c2f4d2362127d33672f0bb36fc6b6e3698b59435951f24359d9dac3644309a36e109863624897c3626ace435e014d335e906cc355383d0358d426f350e6d2d35c07a50356a788935f708bd36bb0cb036c63da236b7149b36d8a38d35700b7d353d35683594ef5e35c6917f3704fceb36456a0d36a6af6236146eb0361d95aa36aa059b3653c78f36b1211336d4b7d0357abdaa35898370350b0b2c3708dc023fed8afa3e9311e63659103e370e36123f82e8c83ee871a836e11f373860630c3f018e903e8cd5a13617368437e7e6fd3eca042e3ed4cc2835af1ae7384380c13e2e4dfb3d80e8c036ae18d637b6439f3e1f8ac13c4f54493662348c38108c2a3e4521503b122dd637bfbede379f55173dbfaead378e5fb43694f94a3709fb74371ef7ff36307200362edad0364957bb36788c9336457ea5363fa2a835ae18633547dbf034a410d9345ae88f35947f0d35dedcf633ba54503425f77d35eba34a35794057344b78fe34d8223f36eb5e1f36eb00be35b032bf3583552036a7d3e935b45fc135b689d235a6720b3619990b36ad31f335d6f8f835cf4a9f36014b91362ec085362604873672850637f7d2fe36be72f6363b3ffd36f9522137d217a73e45b42c3ff1cdbc364f3c1e38d380c03e077b123f120ec435b44997362ff8c13efd73dd3ee6979f35162f19388effb23e58809a3e669c753579949e3879219e3e860a413e551b59369e1959389e117f3ee34ab13d49772d362012bb3898f3283ed871e23ba2cd063648f7b63721c2aa3cf8227937d905a1360394a3379d3dac3709ad3f374311f536f46cc236ecfbb336f7b57b36c630753675cc283625181536f3e58c35f8aa9135272a8d35b1956935243d483579eb4f35cacd2b36fd6018366f3cbe35b980c435cfc434361ca022364241e635c2dac635fa740434ec2dff33f620ed3372b80034951d2d36f09b3d36105b27363a1e263673b0a036dea19a36db978b36d7a77f3615573d36e1a54036d0913936609633360e49883752420b3eb3435d3f46bd9636371e313820d5313e18c7413f6a701f3669ef943735cf483e2a731e3f0bfe8c35a053e43774664c3e8b8ae13ecdfe2136d251ef38e864363efa479c3e8dcf723636504b3885521e3ebdf3253e2c4001349acb8f38ab54e33d25ac413d8ace343660861a38d05ea53c65c4a736ea4a9b360c4a9036190d4b360c123336c456353686810336d37fc535320ca0351eaf8e358f096e36c3de4f36d95a2636ce24283680240d362eaefd35f0c7c73557f5c3358a6f6335d2825335e69b593577ef763543d39b3687b29136c8b37e360caa7a360fa0dd35d203d335fab1b035f3cfa735c998ac35ce64c2351561d635afdaf2356127c33611a5a63628419436375c9236743f6435d78d84357b4d6a35b5ac4a3578d9bb3766ae0f3d7f2f773f8180f835a7942f3711b58e3df7d75c3fe6345e36ce9813396ca95d3d88f93e3feb401336cf4f04387c01783de49f133ff3543735bcda9938f6948b3dfa09d43e8632a636d5e4fd37b12a8e3d3976833e2c70b63690c0a137c6e09b3d74b6ca3d779b8936a52842384f2bed3cccf89e384633a5376dc51f36acf704365a2e6f35ebe1893500000000000000000000000000000000cb53433588f3333533182435916e103511f5933547890d35a54301351d49fd34f54806354974e4344dd8e63493e1f434a8503f35a9a03b358a1f2a3526632e355538113673d1e7359f26b635e109c135a3970a365d760836ba8110361cb11036586c8e37904c5737cf4239365e0216360000000000000000000000000000000000000000000000000000803f000000003b183c38a34e803c32bc6f3fd94e63350abd64371fcf733c15964e3f3cb49135b87cac38ed1bc13c7635243f53b7ff34f01ede38c3e8e23c9c8df23efa9c4035d7b6be366663023d551a9f3ee9340b36d248df371889253db550123ef4467137667c05382b0e363aec8b283dcac4fc3700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011363b353425fa34f46957340304b133c71d8136c3e17436aa6f6436359f5836637ab53518f29f3536d68b3569ee8635d1accf35bb94c4350e3ab13552f8ab35883e5f3629085a360b4f5436990e51361e838f35222d8c35b1ca8235266d823500000000000000000000000000000000000000000000803f000000000000000023f29d3c19b7633f00000000000000003f2fb13c82ac3e3f693932377b6f7a354e14e73c490f1b3f7bbc91369a21893648ede33c3af1ed3e4c97dd35a5bfc0355c902a3df42b9b3ef937f735c9f5e735f8f20e3d9aaa2c3ea3a91338a6306d36f6cc9c3c4a24383d1bfe7d3832d39035000000000000000000000000000000002e3b0d3620869e358376963509b89435f8019d341e428a34b28c7034d0ab4b3436e97e3666bc6336fe2f4c36577e30368b607d36ea955436279f2d3623db0e369da53f35265f1d35ad7fcb345875c5346995c936e1f6b736f1b5a8368db49936bdc69d36614096360df78e36ff2285367bb0e035e013e7355e1edd35d12fc935c39a173679061c36407e1d36a0431736962eda3686bc7f3fb381bc3a59123b3709996b3babb3713fa33b07355b39a3346acbb43c9b05463f4b329e36675b87360ddcaa3c304a1f3f8f9bae369c7792362f800c3d8ecff03e0db88d35b5d1563527d0063d0129a53e80c8f2369e87cd36e8a6023d3fc4443ece70f2364361ac365521a03c7e0a8d3dcbae41379d48e335fff11138f2f5bc37fd781a3614d0143641db6c377d563636a485ce35493ece3582cfd0332384d3330535cd333520c1334b176836463953362f5a4a366a5628363145b736109aa136480c993685b38c36f721073517bf61345383ac331645aa323eed8c364c248336d857823666f868368c9e883628bd84361016853698687f362d025e35ed9d3f35714a3135ada4e034b9942e352e21343596453b35733d303588332337175f583fd90b1f3ec1ba0e383fd08f391f4d6e3f9d60ad3c1065da33da73be3c2706473ff9f74f370b3d7d364a64e43c12aa233fbea823389b2ac8367d540a3dcba5f43e41b7903540c034354fea043dcb19aa3ea19f1d37bb6d9536024cd73cba853e3e56092937aef58c3658779e3c06ee6c3d958d873645f58235a3e7ff3766a2d1379b7483365d952f356857a037c8e1c235c47a4c3597034e3500000000000000000000000000000000395b7236d0425a364ad04236c7d12c36186390362c9988368c6e7b3678296b368740a534b9def533b109bf32b9847f322562443666883d36f33b3136fdf72336204280363f7877365f9e6d36d34561366f598835192a7b355565633588b73235ce1ca5350af29835bd419535674c8735613f1e38432d2f3f22cda13e0f2c2f38869a1739da14463f6b0c3c3e00000000c0f00b3d48c02f3f75ce9d3d13749d373cda183d7825143f1620133daf279b367178333d5c78e73e9222163bf651f734f4050f3d557ba73e6ff71838789f62369eeaf23c232b413e98f6d53628c688365f1e453c06aa783d9357a636b31f8935e4555b371e9f3037ae1b9a36528ba13506b6863672361f3632b4e4351e7fd135330e75357e1f5b3576be4935b73d3f353d214e36c0392236d57df235f5daaa35f9649a3630bf8936f9086d36972045362d753635e794323529e53135d04a2f35f40ba73697739936ec158c360a05773657259a36b3a09836bc3b943602948a36cd1bbc359df3c035a301c435ba2ebd35ee2817368ae0153668b51536cc1d0b3615bd023739d1053f08a3f43e822fb736bef5203c7883133fcc53b23ed7467e35bed6e53c309e063fb4cc773eeee15e3600372d3db5eaee3e8650113ecc40ae36739c033ddb68b33e7872f13d25c13435ad9c2b3d7d6b923e0436b63ceaefac36058ff93cd7b0323e5d898138a909a736f644353c81ee613d9a9cc13564ffbe35c6aeef36f302ac3686d22636708d173600a48236c63a8a35baef7635ef535d35c892ee34a7bba333d99b9a33ea4b8b3303b559360807433660b42a36c21d053633a83536380a2536f7ba1336b39dfd3555938f32e624ae32474bc1321ae7b732f6368f3627718736bb20833618816836c2d8f237bba794366d828c36325e813600000000b3ef712f77260e303a05fd2f61122c3515fb25350aac1e3515e50c3583a48237b67fb83e89d0233febb8db367fc0b13c9f50cc3ecad3013fbfe01a353f8e013d8fa8c33e3ed0bc3e58e06e36f0aa153d14ccb23e2b7d813eed0c47364fe63f3d3965953eb25c283e6c838234ed731c3dfc5c6e3e6bbb9f3df9b799365086333d8a3e1b3ebe7fe43b08f458389748633ad3c52c3dc7d9c237bf2c8d2f9c061a385b47653755263835d2012a35b6d40035c28fec340b1ebb343cbaa23420b2e933ad4c0b326a33f231d83bd0316ac26d363655563665b5343682b5203611d08b3680b78336f87c6736ce62543649b92535790adf34d1012c340000000078fad5362f46c736cf9ab5365d5bab36c6b696363fa590369408863683cb7a3690dffa3364bdfe33c9f001347b01fe335bb19435c4078935c8967235f07a5535b5a9c2388239493e51bb4d3f370e08355cd7233d6be9653eb0a7283fcb129034f91fff3c4579733e97f4043ffcd78036ce390c3d26886d3e5c8bbd3eab7f9b3689d0f33c5037483ec151873edade4835ac2ceb3cb880293e8d2c0e3e4ffdb837f5eae33c2598e03d3163803d156fa5362efe283c60db1a3d09de64373d3e04348bb0fc36496eb335a7aba435654a94354dd07f35c3205635e29c0d354be7e53437b1713513fd2635d987bc344c26aa3472986536f1b72c3658b0de354ef289354e84c3364db1ac369b479236605a75366bb13835818b0a35f591b0348ecda6341d5891364f4a7836fec84e365c012c36adb4a436da459e3644c09636489d8c3686705835140b5f35db556235b2e255355242893504ba80353245773563af6535c6f5f5391195573deb93723f1f60913579c0443d07dd5a3d87864f3f59868b35cd00193d78c5ce3d7d78233f13a479364b5cd93c8149003e69a1fc3e7eedd736d519a23c136cf63d808bb63ecb0165358774903bd18eed3d7c93733e6fba963625cea13a1982b73d7f5aea3d0eb5b6361a6fdc3800ac563d91c32538f706663564847036317e993564e28b35d6a7823500000000000000000000000000000000f9aea034a76d0234c1d6ee33f179d0339ade4236eda93236f6b31c36809e05363d83bb352cb4a53517d391359d836435e2bc98359881743521df4d35b8ff04357949833643507736a09a6a3636b45936bcdb9f35a4669d350d4d9e3510c49535000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f00000000534cf33c45d80c3d24645f3f3fffe236cad3ff3c6c6af23c12743c3f4837db36eedbe53cbb98433de095143f6d6ad635a6d8573bb42f503df09de83e23ceb9353f0cd93af2d3713d73c59c3efa2987365f600a3a2128893dd6ca2a3eb1a116389990c63885c82e3d3c07493d00000000000000000000000000000000000000000000000000000000000000000000000030350235cf16b8340348aa34ac180135518796348e579634b9a7913490d4a2345c1f35331574e132b903d532d0c091336f3095340c765334be3446347e4cfc345a522f3547cd29353de71b3552a13b35c7905935fc50543518621c3542232b353e3882332aed03332e6dd733f9a1f43200000000000000000000000000000000000000000000803f0000000000000000195f2d3518c3793f92a61735c1eb0d3510f9aa3451035d3faee18734c9de453458ce7f390cdb333fd27d3b3426e70634be733135fb5c033f0a61a7347abb9a340d024c36ae93a33e2b700135c629df34b4fd253ac6011f3e99e5ac395ba392353b16213570b4333d70450f34607af93300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013bc2c348feddb33b9320f33e0cf19340000000000000000000000000000000000000000000000000000000000000000e0e35a340a8c0a34a8ee8631fdc43b34000000000000000000000000000000000000000010776234000000002ac80435fc93fb3222e705335bde1633afec01330000000017657a3f95cdfa3c000000000000000058eb783f8ac7bc3900000000cc067734a42a5b3f21c4b4373e641d3400000000bfb1323f000000000000000000000000aa28083f78b22b354a021433c04606363f51b73e66582239a4d8a031000000009c49393e3574793ad2ea8b36f30dfa34f38b7b3da9ce9e3567d41f35bbfbef328a0db137d46f0e377e51013364284c35470f5935a75f4635103850355661c3333e55db3359180e34934c58332e2a8535cd306a355e1f96355ffbae35b677f935cfd1ed35a2e8ff351c9c0e363b0deb34c9e5fe344f0608357bd2c534760fe03350e8ae33a6e3ce3342e82a3423997f35a1e28335c1648f3545fb8f3520280d35c02e1a35b5382d353d50f334dcb5dd337b6bbe33909ce43318c60d349e7b153578725e3f2cdf0f3ed8577b354006e133b836653fefd5b83dddef9b345e50aa35a614583ff353b23b8c6aba3554970836a82f303f2c3e923aa3530e3654050c351545043ff798b93a18d5f0346431293475eaae3e8b459a3b45745334ee11b235d66a203eef59fe3c3f99863561031f35c2850d3d34c3d23af8f50e35f91d0d34904eea37b2febe37ef26fc3397994334e91496340c7091346b5437340229a634bf9e8e34178c8634ee44993492139c35ed809135292c9c35a1ac953545af8734093a8b3431790d345bf185332956cc344963c23456c8bc34eea4c83479b3e9352d51e235f815f3354ae9e9350fc0b3350cfd993575465e355f4f9d356b32b7356df2893573c78b35a7e9a535e181b835920ec8356cc3a135e894a43572473f3313ef323f1bbc9f3e8ddf8f36d6b6d33487fe373ff02c8f3e4d30b634843697353b1e313f11b0233e06de9135b24a32358d88193f27d4aa3d2d368534d416093572fbf13e55d42c3db981073783d0f7352f1da03e287ab63cfe59ce35de81f8352738173ee608c43ce09c7535d3860d3660ccde3c66803e3af1c0c135a63ad735fa45e3356b42b935c834b2350bc739359b17923400000000000000002e62aa35acb7a235285b2b34f2331f35000000000000000000000000000000000000000000000000000000000000000066f216331dc8403400000000513d513400000000000000000000000000000000000000000000000000000000000000008d924f3520fb7b35265e01356462a53577875235afcc1235000000002983a13437c04c340737fc3ebe43043f00000000d1c7d7358b4c083fe8cce93e037bab3500000000b7b3023fa375b03e0000000000000000f0c7ea3ed590633e0000000047264a3548a7bb3eb7cf113ee142763500000000fda28e3ef857613d0000000000000000d25c0d3e8b3f983c000000007ee7c43501a6b33c0671c836ff34d93598864e35ed3f8338088196358e6d19343260b5353044d9359c52803539158835cc48b635d3d98e35f0db0f3579802a35bafda0353bd65335c2ae79356d558435a400c7357dbfb6357538c635f42dd235ed68ea34f6160135efea013538a2c034eaef6434d4af4134ee749e34281da8349964763565bb703548af8d351c1b95353582d534b0d4e434fbd5f934f099bf343b119034ee266734b57e8d34812aa23441099435a8c2943efc7b383f94b88a3595d6d235cc04af3ead7a233ffca386350ad8b1356e6aa33e23a5063fbba79335da8ae135b6a7983e6b9bc23e4d07c93527351f37d1e9883ef9856c3e36c4ed342f8b3435c104653e6fc0e03d3f32cd346d60b835e5bc0c3ee9e8bd3c99298435c042ed3480b9223cba17673776aa1d35de7fd63440fd1238dae50435417ad934b0de9d33ba176333232acc328bf523335eb3dd343850ae347ea0a034cf9fd034f5258f35f28a7735a63a5d35f61340357423a33315f184339f266d33dfd39f3364a0cb340bc0b8347952ae3470afc634f5a00736d104fe35a16bfa357cc4fd3568a2eb356b6db935626f813549b3bd353ff0ef332862f3329f61df32e4d2f633be2283352f457a351c377b35a48193354359b633123af83d9c14633f94146e3336090b353121173e23e0523f5f59ef343888ae35649d043e25d2313f5dd85e3508773f344571113ecc96063f1003b0339ec20335c49a0d3e3055b83e6456df3420ca1136d4df0c3e39b93b3e2a29e23562690a364b78f43da944383d9d69a83578507c36c5bdb13c93c844384a9fcf33984767358f997335bf955735dbfe2a35b765fd32439edf32c69bbb32ca1dc732aeab2a351612073500000000000000000000000000000000000000000000000081955a3120d49531714bd43155942c320000000000000000000000000000000000000000000000000000000000000000a6a30934125a613200000000d3d51034000000000000000000000000000000000000000000000000000000000000000097d8323363d1f63cf0507a3f5679d43273eb9e35edd6543d28d8643f65700835ab64ce367b34873cb9eb4f3f00000000c2bb4037ee20c63c8a28213f914b0132ea3277333b25e13c5b1be83e0ba8b13400000000f16c123d8acb8e3e000000001a8a00370285433dee73de3df4d3ca3300000000bd7ceb3c9cbea83b000000000000000000000000000000000000000000000000000000000000000000000000957a44344fe81b33446eee322566c532d15284356e0f1335b2dd1c34907a883495e616350fb615351bd1073598d3113579bac934e1febf345203d4348e9cd0340ec13435ab4390343ef59033a69327332a09af34f684a3341c19a33493b8a63439592035dfe326359bf33f357af513350000000000000000000000000000000000000000000000000000803f00000000e04a2a35be595d3591c3763f7b352f352c3b1e394007e139e3b35a3f6100bc352bb4de3492814b373281303f46ba18357c183a35895a7835b519ff3e0fb17635aa7086354e07d43a13f19e3e20344935b186803406ff0a3af6f7133e49eea33458ea2b35c9f702375ef6043de35433350000000000000000000000000000000000000000000000000000000000000000f43f6d3300000000a4bb0634f5529834c8df1134ab6734332d05e9333cf5553437490d35864f273572e42035944516353abda335a668a535119fb4353155b835d7aa8b338f40da32403aa3332afc2934a958ab344c7dcf34dd9bbf346270b134c2befd3414a60635c4d8db34f8e51f3500000000000000000000000000000000000000000000803f0000000000000000f5d3aa3ac475733f1e53833559577d355452343b3a3e4b3f89368434037221342ed6d03bdf8f273f26f30635dbe611358a1c573d9632ee3e0992e0367a9e0a36911f863d1d3d9c3e6aa4b03298d15b335c8d3d3d9a46223ebd529f34eb3aa434ca65da3afb0d6b3dc4ed3535c1014e3500000000000000000000000000000000b727e93577d1bd359338bc3519369f3586158234daaa9633ba29b333c6170b347a5b2134df57493460b7f933f257ad332531ba34df03953415649e344b30b2342eed2b35b2f11435b6b4353537f466359436a1331e455634f867163442786433dd05e6345ff4b534b416c03464c5d4340090ee3368bd1834e4da02344c4d2d34052362327e87963201c28332d276883222a5d735e461803fa1c23d3b11810036a337613751bb743fc5db9b350b1546351adb46389ed54f3f1ec2d434af9e8e344131ca39e5c3273f8e67e5344154e73458fe303b4097003fe52299355e458b35e03e643c0a55b13ef17ab134a3885934b79bcd3c79e14d3eeb5cff34d3aaf834751e1738422d973de25f36347ba20a34457aa8377c64cb37cafc3c36795687326c6b3333e82c2b33b35e1a33b8a61d3383097335851c2d35c002b734d4e9db34241a063545f0b4345613a93421a7b934abbffa344af4cd34bf1bd934fb11d5345df02636e98d04360c510736c7b70f36598285352b167235fa957535367c60356a5a1d3520840d35a2e723357d1615356e1a2d3609b90f366f9b2636d2d23036698ee5349ecde634950fe33474b5c83418e036335135643f51baea3d1a9a4f332fc7903514ac793fe165093a83977735751c2236afef573ff38d1435759e13359e0fa037b7f82a3f34f4f434c814fb34430a1e38a9b9013fb7274936994c25366c4e9a3900feb43eda7a7635b2b89335d5e40a38e95e473eb5ee10355f351a3570deaa37f480a43d978b3836b999253637a9b43426793f36d1542334274ea334165078343f9a703404b01634a18d3834f40c3b367b7c1636e1580836363f0b3678ee0b3519c9e734f42edd344a0ce534e76e3d3544ca503552c449357cec4c3503681c36813f07365dc31036469a21364758b3341149a53461b3983486c3a73469070a35c55c1a3556d1183586e6ee3411ccf3346a5b05354d85bf349d3bc33444883b33e23c713341171f33c4942f335fdc7d349849343f15029b3e68c80a34066a733685d2543f217a203e7ae762362027233590ce513f3725f23934a12035c9c21437e2a72d3fc8af433595d050357cd30a38c536033f59d36836db3b41360619a7375251b23e39e8bb34028fbf34bca326391c3c423eaf391c35c7091c35c3ec7237ab28693d4eaf1a35f2d501356785463349d90c37a6233933cb9a2833d939d735cf33b935e2c6a3352e888b350aac723521a04d3568782c35b0e02835f777d034d697d6347941a4345b9c8b34d9204d348fb5ca3311f9fc33d85fa533eb9d46359ce83535b6cd20355f421c357f8f4f341fed963465537d347fd11e34409dc03415208a34ea6d90343dfd853492d63e356cc7473522d82f353bd6263559eabe35d01ebb353c1fe4350067e635486c7e36f13f033fe86afc3ec32ddc3582ed8635111b233fab69aa3ed123793597030c3534d6293fb1d12d3e3a7cff344605ed350548223ff0199d3c22a18c34658aa237ffd7003fd3f8ce37a1e187356b8b8237cea0b53ee8458335e4bba834abcd19350062323e4da4f234d358d034b7b3bb35fe0c0f3d009741358cd33f3594ff7c37145bf037a3e52a36ad1bbd35ade850333dd740331eb32c33da6f2c337dfe4235c6031a35baa1b8342bdfb934bdca1835d5c7de3460c3c4346d70c934af50d034bdb8b634801dbc347f6ab7348fc8503671b127366457213688352036127271351387623554b175352af0693596800d358d9a0735e9e319352dbe0a35b5895736e03b3f36d04660364b716a3668ce103519e60735437a0235dfd6d4342f0a5533a56ea13ed79c303fcc0e6433b74c0137e048dd3e5b9b043fa60b353521562d354406f73e23cdac3ef19f31356630ce346d72f53ed78a383e7415da348a60c2375af6e23eb231593d7e515436d66240377944a93eb25bbd3937d985358930b6375bd33e3eefee9e356b8b1035903e5337485b8b3cd36c6236490a5036d3579e34e2bac634985f4f3443a9d134da38913416096034b075f333869740342d60ff35c872c7358295903516a39035f84e17354d990035436fe3340e85db3436bc4835b26e50358022453512e74b35c67a0c36f413f23539dae335662cfb35a278e7341d51ce34f37dba34df83b634b323043541b70e35d3c8083519b1cc34c6274835d4304f355c142d352e434635ef901b33feb84c3313661a33d52f463386319e3656d70f3e15985d3ff40a1634419cb2377f18663e5c37333fbe561b36d198c7361d05923e5ff5063f9991293596ba1b36d1c5a63ef5d5a93e0f375b35d72ed037ff9f9b3eb3594a3e63432a364426ee36c570903e43f6733db49afe34be66ac370d4b283ebcec3b3a79781335b79bef364629f03cc4a15a35735a323508d02a33ae091433f7fc1733c9b40f33c6ca8b32486d8f323a49933264519a327fa9b7346df01d34cf051334f9591a349f9a033549ccf234c4c9c334a819a034a527ce33ab4d913229b7803248aa8a32cd788f357b625035c84fdc3443dbcd34a869c134f805bc34a3b6b134aae470346dd54334f9346d33b5309933556ba033cd983b355a0a3b355ff2d834cea60135bf5fda35466ad4354ed4fc3592a20736ba64ee37b208763db0b6713fe10ba932a686e33793a2023e88a24d3f1fad0435b62b4d37e838e13d39fb2b3f1eab2b357c6ba53843c1303eeb1ef33e0a4533345f9d1c38d8fa483e4d4d9d3edb2cb03573490b378845413eaea0263e76740a35bd869c372c0f003e7e678f3d768b5a34317945372c9e413d524e483770905735daba03364d6708362defbc354692de350000000000000000000000000000000036d05335a53116356e356d34ed686e347b9fd534df04ba341e9797346a99873434a257348b426a34a7500e34d5610034de530e365538ec35318ca435a04c873509de36356a243235d5683235578b24351fab1235d5dbdd3415bee6341ca7c934e1efa235983aaf35518f9b3520d886350000000000000000000000000000000000000000000000000000803f0000000018bf85382b8a2c3d1c3b673f38903d3555e71139f3e6343def32423f4107e9343f80ff3719d6363d0673183f98850c341dd4ee38b021a63d2a95d23e4cb815363e5a6935a823c83d90ea803e0a024835f72b793689a3c43db99de83d9702c0346441ee3735021a3d6674883cb8e72f370000000000000000000000000000000000000000000000000000000000000000e84480345e8e4f349a033234297d2d34052c2d33000000000000000000000000a801d732000000000000000000000000220b0c3551120a359455083578330935ec2d03349a6fa133d5424e33058183337da1b433cbc67233719a5f33a58b0f3330ec4635dc184c35f91252357081533500000000000000000000000000000000000000000000803f000000000000000027e24c3da1ea5c3f1de290341c1675343c6e833dfa2f303f6e59d833609db733155e3e3e7ccae43e5f31053567372e332e3d523e12a08b3e727905353da0023538d64b3e6636023e0e98f4330ae505341e07d23d5bdd9e3df55974377b0bbd33cb6e4a3dab0ce8383639ab3666c83935000000000000000000000000000000002797c134d1fc5c343b6a85347d62fd33b5a3a3335ea44c338ed33a330a882833490d5d340036143442144d3488566b340000000000000000000000000000000028ec4d342f9b2a3434641c343b9f1e349c5906353510c734ed0da2348c09973400000000000000000000000000000000d7b954346ed65834510d5e34dfa85e34bc9fb6348004b934fb95b43465e8bb34bebc0c35f5577e3f66ee263ccc30fa36d883dc3cb353693ffb17dd3685b8a43320584e3dc425393f0153a93483157734b6f51f3e837df03e000000000000000090ed543e17d8903e4259683489496234e1f5583eb29bfd3db04ccc35580d04352dded93d9ab59d3d9a0a98370000000078637e3d8739f63853e13137310a4534bd5b5a38138ac337d5726c35463db934f34f6735cb8d3035dc010c35e992f234e17a243557a0093582deef345705c0345b24ec34214ad434fcfbab3438229434084e9935b6639635fef3823510cf8735f901333572e1273573971d35d17d0935053bb2355110a635f3ed933521e79a35c93c1235cdbc0e3541bae3344f14ca34d463bc347909a9341020c23464d5b43421063a35a2481c359ceb1b3514b03735fde08335f60a653fdc40df3dab5e9c38b5fa7639f8c77c3f7ef8bb38b9413635694bc83c3209453f4a65c736b37cf4348f02d53dd800053f883292360d43a535132a283e6ceba83e14a13435cf0f3635d944373ee361203ed483c2352437b2351c15c33d3a37a83da6b39637f5df2b359e54583dd957143c1a298d3702f4b63498ceb73866c824383dd16b35314f2e356c215937650f4a3663552d36b93901362abe1f35d30bee34bca1c134de1c6534d7fc0e356ced043515a59934b7bd3c3494a77d3508bb603516952435f16504359df72835e5bb1a354ab01d356461f734687a9335d8cb823533a25435a91f5535ced3da3465c8913476f66f34afda4b34de9f2c350ac33235dfd25d35fcaa4f351d54bd342c1dc6343126d8349d4d0c3500217d35c5f9323f2a599c3e09122038c3cb9338f16a6f3f8ede4f3db70b1d356e2dae3952e64d3f1b0bca38348d173529877c3d3495123fb4dc00385f888f3599910a3ed5f9b13ec9941c3554c20d354ffa2a3ecc12373e8ecf173808388c350fdcca3d1c21923def4db637eba3e6348df13c3d94e66439a32a52381ea51435f3abc8389e044c387252cb34a88de734ff56ec348eb3b034adc46a349c6e06331fe55e34b3625b344e9f30348d6519346013c3320000000000000000000000004f40ea340056af3480948534d73136346e094e34e566343491e02d34e84822345208eb34bdd6bd349de58134248f2934eae4c73300000000000000000000000002b07c3491c97634be407b3415b37034bfc530348865253326f7ec3229fbdf33fc79bd36d3b7073f9594f23eb4783136a591de38ebdd393fd17e7a3eaafc62341255f23cdc74413f6149153d285a3f366e09053d1e2e213fb04f4e38a81a38354e76d93d8d81cb3e94dc4d37a6095d343f48053e37a75a3eab50f037d012e3342997d13d4947a53d3913e23789455334756e063d0bafe238a80b1137131e7334c7b57a36cadb37359902ff33a9851334634404351072fc346d98d5346dd4c034bdbc1235166d023527b7eb34ec1bb5343062aa340e998c34aaa47234de957134f3b4af35ed25ac3561be9535d7c29335c6ec1a35dc8e0035823bcc347d4895348ee25b354d174e3515eb2b359c462c35dacdae34106ab034093d023412ff71335d5703350900e834ee88e3349831cf343b611e352ce8f8343374ea3436461a35ee90d438b3efb43ef88a263fcd9315353e56033de604003fc739da3e00ed2b357b30173d6da2183f7dcb4e3ef8159935f2f30a3de145173f28dc143d5521c735859a7f3d569fec3e8f0e743848972435c41db13d4071923e2cfa8538ab4366354224ad3d17f8ed3d5c18d238009df63468ba8d3ca059973826180335dd620035ea54a2350ea03a354cfe14355e7d0c3564eac1351ec44b35c8a63335bf541d35307be3347efa8d34d1e455345a483c3490041f35e9bf0d3532dabf34710b8834d70ac6358ba2b4352ee89a358ee18b3594123b35419c2535a8791e35ae760a35723e8d35b3d688350d706135071e3a35ba371d3517b8d234aad4a13422e793348cea3b3598b0323572c04835d31035350e2c12355b950535e7690e3528ef2935eb76093c86bb1b3e75b0573fc6ea16364a43853dd330873e2a2d1d3fd5deee34379e623da764ca3ea7f0c13eb43f2335384f233d5c79ec3ea6bb2d3ea628d7358e372b3d6b6acb3e9d0b983d6bb42a3566cc6d3dde54a63e0a1406391091853580773d3ddbd4283e0f7be438fe9c3837dd97553c233f073b4712743818672f35984e6d35714f6235b55a1f35d5f32735fc2fbb3593ecb534d4ae913444498534668e2934460e2c34808b0b34bebce03300000000000000000000000000000000fac0fd34b8f7cb34453255348274da33268b0e3421c5f93382e2e5336cdec233000000000000000000000000000000004c91de345f5aa0344cee4f34625b21341b9cbb33f32244330b0b4e33aadc31330000000000000000000000000000000072ccc338a3fc9e3df9166d3ff1094a3695219b3d7e35f63deb463f3f706c423419bc923d9190693e8ce4053f0000000054724a3d2143ac3eab10923e207f4a3527e3d53c6e64b03ef60a163eae472334555cc13c53ba9d3e0f2e493d00000000bbed953c1e3f353e311c173dc4ed373531e82f3c7a255f3d27c9cb38f1f0b9333ae88134bac9e1330000000000000000000000000000000000000000000000000b402835bc0a2235488b08354a3be63415618c3379275733682c553340d73833eb61b533d69b9533a9fa7e335f2980335f54ef34d4c3df348ad7c134c2d4a7344c42b03300000000000000000000000000000000000000000000000000000000a41054340c3c1f3497611e34bd441d340000000000000000000000000000000000000000000000000000803f00000000c0c63b3d75dc993d41bd553f33a93e358fad923d3c07b33d87992a3f02eb9633a93f493dfaac513eac34db3e42f277343b42f13c12f36d3e5352893e36820735e156623c70de5c3e5586143e649c43370aab5d3cb0531e3efa93af3d20029837dd52973a8b18ba3d92e02b389609663400000000000000000000000000000000000000000000000000000000000000001476c436c6cc6136ef529e360c8bd1366a1969374a9d01361745163783fe8837b2bf4337dcfe0f377f0d2737d70488373b75923775a938372bc55d3787f3ca375f8c4e379657df36a0032b371d575f373730c737d2474837768aa537b982dd37d083c43715968b37cc78b03784c0ce3700000000000000000000000000000000000000000000803f000000000000000073319a3719f17f3f86f37637ccc8f2363e5917383fab563f0af00238f9aac637de9533382aa32b3fa317f2370b61b03766f92f39908c003fada8413878a606386f7dc337c60faa3ed45389374a2773373e46143821c52c3ec179f8371b7ce3378f90e13788312b3816efc137b6f7be370000000000000000000000000000000056f8623745ac633640e1d236f21c84374d0a3c3708d6c736d9f9163755304437c91fd231d6b1d031d3accc314f7eca31f77c6b3535c0433513cc6f35ae256735794d5d3735375636fa1a1d37df8b6937dcdf8b37544b5936e5890437d842c537cbfe3737feb57934fa52a3369e4464372c8eab3787a84137e5b57d37d966a83794e99e377e558937b46e8f375ee1a3371e41423757f57f3f9df14038a2e7b637ab724d379e867e3f0bc2e23a3189763770a06337ae0b553f53b21f3af90b0c3723242f37281d2c3f3fcbc337196a7a36018843387e89003f732390388179bc37f9502d38aee3ab3e48e863388209e737c857993775f3303eb988c93792ed5c373f5ba337ce116a3c98d5e337524f9137288068376b96cb37f382973744da8637ed809237a47def36839f0b37dfa87a3726af2c373e2aa5363124aa36f2130337e2f5343711e2dc355233f835864918375cc04f37c219de3525f02636b8a93f37a953c03740ff603629300837ac4dbc37329d0537daf2853658a6883674a801376d9bd13732f22a375dc768375a00d4372a66b937754d5a37cdbf6337eaa3ac3746921c3855e9eb3787f6ef37387d0e38d280fc36104b563fe47c263e4e877d37c43905374727563f7f25273ea8f64c37d43f4c37b73e313ff844183eeb3c423795aeff37c710143f4673d33d69069137e93cfb37ede2d93e1248943d7a70e03777bc0b37118a963e5845b13c02a3023792c6e1377576243e87ec2f384727c837011b8d378dad263c27fee53741756d374049d8378cd04f384c3a153815ddc837ef66da37fc168037588b5037f5eb8d374e35f7364533cb36867cca362a8fd2367e8c6a36935bc435fe4cc535ac52e535ec22b83778f229376517373791619e37c0b4fb37ad961037b3031337f682cc37b3663137b5aca936e3f4ca3639f52637bacb5f375c7e05372d770f3787d35b371c6a393873839c375e9f93377a6c2138767f2838ffa10338180b0b3899b42d38ca3f523782e02d3f912ba43e7659803732aad036bd052c3fc2d2a73eb6a2ce36c5da00379b1e133f50398c3ec70802360876b7379c52f03edce2583e4baf9f37b8f209387c45b13e29691c3ef52eee37bffb25374bb0703e3f63b03d733c1c3798553e3710ad013e4f45c93cd2b63437a3e5e8377ab2143c9e8980380d8ca43737750638a14d6738ee412e38c200e037a13b1838d6e6003835b2c3378c4cf437e182da37ea9b213763c72936b61e753704fd1138fb49833738ee0337c2b9d3377a05f937ef240137d85b86358b1dae3779da3638663ba83792b89d3761fff537e1ca9c393060a83701938137af08ff378e10c838ee6c163820ef0e382e7d3c380b5b2f3863910f38c1040938bdaa29389e542f38013a2338937b1f38a4e12c389f7be837bbb1003f2b69fe3e0e28de370945bf37ef4f013ffa9ffc3e344e7c37737d1b386ae7da3eb394d23ec12af637a0bd09386b71b23e0e1fa83e75ffcd374c364638d760833e871b793e721c0c385a543e390b832f3ef9951a3e80350638854b3a38c684b63d3fa6923d58322e38008b18384536523af650b2393d500d389b7d19388fba4638c2423538c5420e3865e91238fbd8bd37223d46377a5c92376fa75937cac7303757c90337633a38376fd30337b56ae935e663c335cae52d36f1c0103727798336e3468036efa39b36ee53023854355b37b89ef5367600a63798a3de3716559437cf035e37335db7378e3bfc3735c6e936607dfd35bcb17f37c802a5371e525a3742153c3711d5a437855d0e38321feb379bccda37a6120a38d0b6b6372d3dab3e08502a3f155a8037583b513718e0ac3e4532273f98a22a37edff0937a9e1953e9d530e3fb1771836f2a21c372bd46f3e7e9ce33e7202ab362b8e10387daa303e6d1fa83ed2aad237de3eda37fa2cda3dc041593e19cdb03778e0bb377b89353dc625db3d90d04b3706bb62374ad2af38fb7c4a38aceb3b37c441de3776a737386edf2038eb2b9e3777c6f13735c78f37ece7a3368def2b37a4e3453771ac12370491d83613ad0b37835189377cef9d361f458336ecbe9f3660afaf36642c82369d8274366e9183366feee33732583c37b84158360d9f57370b370d386bbc11372a9d223651584f3782624539141c733763e00e37bb908c374940ec37d463c33747179f3715d3db378aa4c037c2c3a437df48a037d17dc4373c74bb37d6082c3e87eb543f28762237e5f34a37625c323e00c7503f49ab0437d6bdb8374bfe283ede932c3fe7c0f8368c4afe364dc8003ec4f60e3f5b3b82364ff10238634aba3d5665d23e914eb3370cac21388a00303d5bf48c3e969f96377a3a27396b69e73b63fa1a3e18a87137417fcc3750db31383c85523865caa137ecfba037aad73938fcfc11387443683754567c372843b93698a68c35fe4cd5359bd0de363dd88f35814f593586b884350e5fac369ac90f3489388e3286898c3296edc0379cc97936881309368145663696bba937a5ab27372ea46e350d4c1b37feacd0363a32843536c55f35d0de6535e0fc7337f751333605a2d43115968036a03ed2375cd08f37a63b7a37af5ba93703c0b737f8509d373f4b85375169ac370d6a9d373e7c8c3842f07f3fee08d73574818637f1716e3c3c94783f8a698135e90f7837ed55843ccf984f3f5b40b4326ec90c380c5f303ccb3d273f90bea23764e515380386f13b4101fb3ed43299375dd528377c09dc371bb9a73ec1f0773663f88d3716d22039d8ef2a3e01894d37d7c7c13781a91a38c07d7d3b75629537877aac37bcf8e6371b06d9379619443700000000000000000000000000000000a58b6137b8ac0c37aa61e2368b2a0237c8edb0378e2b193739ba3636b9e775366d305e37999512371ffa0b363efdf436d8711338a1256d37ffb3393799ee50370446cf3795bb8737e39b213717da4937be79f4375da3bd37918f6f372321b437e13987375c5851379b73fb366eb45b370000000000000000000000000000000000000000000000000000803f000000001452b537b08fdd37baef7f3f5c336e371df8eb37ac301438d1bc543f9658d137799c883727dfa63785ec2a3fd5ae7b375cc230383d61c33816abfe3e4ece4c3862c5d93718441338cd93a83e5efce73714b0f637921b1638690d253e9ab00338f2bc65372f7ba737ab8b1e3854b58d3700000000000000000000000000000000000000000000000000000000000000002cd1453765db9636b93c99366f499836525b11372526a436722cc9361fe1ee361597b73790e3d336144e0d37ba9b8937552bbb3736a1113788434937ed08a23727211738188ac937a1dce3375fc50838980d8c3749f4f93663822a378a8681375d06ac378ecf5e37ad8d75371b0daf3700000000000000000000000000000000000000000000803f000000000000000082e4933aaab2713f22582a38c9c8f63754fbd439a0ee4a3fe29c31385ca8ec37414f323aa6be253fcac8453859522338cadee239449e003f4d785538fe2521385be5493a0ae1b53ebcee9f38d3ce4838d350ac3870ab573ecee32f38ee1ff43786367038631f7b3d14ac003801f0ed370000000000000000000000000000000030994f3758a9fc367f73f9367da20037e5db9d3674bb2936e6bc2c36cff62c36670657372770e236b9dcf0363a8b0f37246d0b37e2d53c36446c403622e84036686097379bafb0360cf7b136348a2e375457d73706778b37864ba537ccddc237a43aa83790406937f8128b37cffca43793099e37dff259372d76703794a29a37dfc0e137e8e3c037245dd237344cf437c29c90381d1e703fc3e77c3dca80cf3732064739c32c613f409b7c3d065ec537b0761b3a0e413f3f2d105e3de118ca3783bc2c3cbdc31b3f34ce103d7343ac37dff4393c7757ef3e62caae3cb9e217389481113a39cead3e53cdf938bde209383884e438a0a44d3efdebe9379790d037f7ac3e3822db7f3d3357da37d878bd379a3c143803c52a3815a6f337d9f6ee37e75909384914da3773029637526da2373c0d3b376921a43670255b36cd45a436e4ea7636b377113550bf1735543516357a36823716895c3673833236fed1e93686a1ad37345bbe360f7abe369c211b3762272c379b457035f58b9f3506d492367b9f96372b764e374caf663734228a3764ad94379cc8373724fc42379daa8b378428d237a71db0373464b837a9d2d437aa183f38dfd74a3fb738543e2ab621385c25223822ab403fc36c4b3ef9259a37cb7de338c064203f6ec92a3eb5742037d5abed392f26063f4cd3013e4970c93782d4823a0344cd3e3ce9c33d0fbaa038f5d9263cffbf933e0483453dd673b137e3993b385fb7393e29d0a63ce8abd4372c531638741b723d68a007389ae5ae37293e0338f41c1838bb7ae537d91bd0378669ab3740058837465f3f375a6b463708cdac3616f5aa36b3d3a93694adaa36a14ea737690e3936a136c83505f9c635f41917376e861d35d12920354e2e2435691eb836f6d79d36603c9e365aef9d36481ecd377fd227370351ef3611485e3778bd2336ba2dd035e54dd935c979073635c3f63772c5a037b2ea9c3795bdea37dd1c3b38bf1bef370b9f0b3889d7c638e4ccd437b074253f1ee9b43ef761ad37f6262738b2161e3f96b0a93ed247ad3634c98439df4f063f92be8d3e5c4e10388deb15385439dd3eda3b613e2ae1b93775be143af9c4a93ecb212a3e14f7a137cfa4113a7889743e7126dc3d699c4e38c6e80f38cfbf123edc2c5d3d501b0d37b2373b383ce7503d1e835238282d0938fa5f1e39c4d1e239227a4a38e4bff2378e05cf37924f9c37a514833788588737f049a0370abce036242b1a3628121a36409b8437c98e0237eb1b3f3668b0b236f997a03770d42b37d2bea536eba21337e4b9f13761428f371ca426374dde803781d0c637045a8f3754aa6b372cdb9537c4a5c53794b2a437889198376a65b0377e932838fb6608383b4dfd3788ab1438e82a2d389f6a07389d8806389bc82338a17e2938488e003fd8a1fe3ee9630638d4f037385bb8f53ef4a3ee3ebdf6f4375c953d388817d03eb4eac73e4744af3795e7093883e0ab3e9516a23ec86dd3376b43f338237f833eb6c3783e84ae1f389c7c0a3894f23b3ec3e5273e010be33737e76f38f0afe03d41a5be3dee9cd237306254380b07123dbabb933cd0c32a387fbb43380e441e3952a1423860981538db589c37e40a77376ad6c73642cfce364cd3a336a4e20f3612460d365de80b36a3cf0335cc8f0235a3240235b7ef0135c86c973712f03936685393356b369435b17bd836ba729c36fb759c3691e49b36ab5284372ede89364248293570b1793532d90f380dfed037c1418e37b379be37a6114d37196eb5368dd7b2363870c536ee5dc3379130bb37ecd1b637455ac83718a22e386a9bb63e2b72243f6679b4371fbf0e38f012b13ee8511a3fd0ea64373630ac3727ac963e631c023fe284e33598f0ac3953c3763eb2cdd23e98b417382d2baf39a4ce3d3e7dc5a13e48a6ad3709dc0c380a81023ed28e613eacbaca37b9668e39ffec903db220023e0e2f2e389e676739a83e6d3c922f143df7f8563752a4df37b9c91238257ce537576ab5370bdca13703445e3783a1ca363c4cca36c1bb6936b2b36836dd846136580a6136c3610837aa44c636f5e38c3656229b36f7007e36a74f36352c26313570653235f8f2c237c26b263725eda936eaa4b33610adab37570668378e8fc33633ae1f37f49220378795ec364d50ac36f569da36f043e23711eeb4372abd8f37dc59ac37c0a11b387e4b0e38fc7b0438aade12386b9ff4378ebd593e4d79493fe66dde37f96bbe378598543e93ab3b3f3f644e37dd520538b1a63d3ea2e91c3f841ca537ccf21b38ed27173e1459013fa4189d37a5ab373ae60fe93dd278c63e655b30396158c338e8a9963de8cb8c3e40a5d7375e65e437976e1e3d32d12b3e5954a6376cf91138bc8e5938e48d463d96f5f23716ac353814484638986b3c38972018389a0bbd37446b6537fdaebf36c464b6361ff62f3637922a36083e17362f4d1836dc704b3773695e36b5e8473612d748362dfebb37b6e76737f26682368e878236c93fc737a78c2937efcfae36ba87ae365cad8337ac71213711803d36bef471365a72d63768d9af37279467377f6d9037e503f937c5bec53737787b37b2dba1377b219037e0ce7a370d936137bd1c7b375d8c113853f88a3da78d6e3ff8c70e381febd9377ddd9a3d0a985c3f83179c37796be73705c7923dfa283a3f2795c237ac7a263871c37c3d5914193f52950a3880cb18396d25303dcfc0e93ef0322f380b1c2438657ea23c3db6a63ea7d1ef3724180b389017fd39da364a3e6ca7fb37f3292038f2739438eccf6e3d07be1138ef0713380d363538a59d2f38a0fa9237000000000000000000000000000000003ca32a37ae491e365512c9358f91cb355c75803722ff2436a3aad0356461cf35ae361f3865c4dc37a0f82d3777234c37b31b00388752a937852701376a3104370d5b12386154d837e5293e375de06437981bf53740539d372fff20378af42b3794ff1838fc850238c8b8c137c2dcd0370000000000000000000000000000000000000000000000000000803f00000000125d0c38675b6538be37703fee2a0b38281567383289a63860fa493f8e0966384884a039e65f2b3aa17c243fbd34813959606f384db49c38aa57fe3ef68e7138bfa64d388d8e943905e3b33e28fc463890923b38f0d25e38859a533e6e8f3838ddad31381de4ef3838bd5e3df24b33380000000000000000000000000000000000000000000000000000000000000000cc2a8038b118b83700f5b03715bbaf3779282538370e03383b85fe374ca6f83710509f39f36c3b39eb38f1386428dd38d4152139b4774538b210423891204138bd4d8c3957233639c2881939a58813391ac2b637a6c7b037ee20b0378e75b0378006963942717439a3576939875b6d3900000000000000000000000000000000000000000000803f0000000000000000499c263a66ef643f48dcdd3987809f398ebe803a114e413fc809343a4ef7c939c28e4b3aab71203f6a2a263ac97f0c3abc34803a47d3fe3e7bdc2e3a5932093a01bc2f3a2443bd3ebd90043acb03e53947b9813a9f30783ed2ba093a6b789c39adccf5392050e63d3175ce3955ffc53900000000000000000000000000000000d6b07639ec05483897852338793b23384cd48039c5bca2388926cf375063cd375b33e237cd33ba3749969d3727a59337430a143a77aed23901f1a439da06a0396f0c3e384258c2379787ba37160bba37d5fb3f3a73241e3ac609103a1d200f3a6085f1398aa2bf394923b53920e0bc3961c80e3a8a0ffe390b8ff639cc0a003aec538039f9713239b78c003911090a39fa8ca03ad412613f51b6ec3d449f103a3627b33a8787483fd25ae13d01c80c3a0494a43c62b8293f384db03d5bac6539dfb5dd3a4d8a0d3f17c2903d310d5d3aa3207f3a6452e13ef8ec683daae2003a7f19f73aa093a63ebf8a183d0fae7a3a0bc63f3a558e613e90ae303a7635203ac54f5c3ad104d03d9fb62c3a9e42253a1927ee39b01bfd39eb52a5394bc89639c3801239c858bb38df501d3852ec183853103839303f0e38693baf370390a637719a8c39ba96ef3851277e3786177237864a0438866cde371b63be37c7abbe3743a38639204f2539a94bca389d26b93885309a3978663739d850c6389d21c03808b7f539d7aec939994fb1393927b6391a1be1394787c739743ebd39ca75ca390136e8393936d6392b43c639c324ce399940193aaff9403fe04e793e7b6983390580713aafaf2b3f2e2b5f3e9010e5398e0f933adced113f947a3e3e56af0c3adc65d63ace3ef33e2c511c3e1546ab393734613a6af9c03ec7eff53d211edc39c4a8923abd34903e604db23dfc45013aafb97d3afe0e3c3eef9d5c3d3eb11c3acc740d3ac0f0bf3d83370b3acaf1ff397fc3183a6a1a233a9fd7ff390bffea396b7e943955ac2939dcae4138cc1f3038ae151f38a99302384bb8f337af5fed37b248f0399e26a0391afe2439200a0c393caefa39be06b139d60a613947ce4e3900183e3954df8f38f23406388d21053847fd8a396e241c398b877d38ebea7138341b0f3aa9f1ed39df20d13926f7da399c572b3a42c91d3ae45c0a3a0fe10d3ad2cdc439ba71b539c39fac396aabb239aec15e3a2212203f105dbd3e36441b3a84f3433a559e0e3f0c71a93e06ea123aee59903ab7c7f33ea925903e1db63d3aff80aa3a54dcca3ec9426c3ed4cb413a7f4e183aa6eea03e43433c3e9dedb4398fc42d3a00e16e3e1c1c083ea13cee394862523a785d1a3e8d42ab3da91e303ad410403a770b913def0d143d31472b3a56d8ec39eb11f9392aa6d9397cccc739f5e436395fde1039f05560381c030a38f58ba438f02cca37f0d1a637e9449837bfe3b039a92d63397591b7380d844538580cfe39bc73b339acd44e39af2c3739192ecd382e343438fdac2238c23e20389902143a24f7eb394d26b03955b2aa391d9fec39cc66c5393f7fa839d954aa3914b5ea393fa1b039f3283d39522a3139d72a1e39ccc901390620d638a687d038aa5a4f3a29f9fe3e4219ff3e584d073a9e8c683a7b1ee43e86dee23e388e0c3a0dd43d3ad236c33efd49c03e2cb9133ae66a723ac6f5a03e16fe9e3e8faf403afb75023afb88803ecff97d3ec47e8039f7276b3a49ce3e3eebf13a3ee986433a6b8d343aa907fa3d566eee3d9c5b163a80c34a3ae5c9633dcc45543da25d123a186b043af60b193ab044ae39d7573b399483b43973539f39ab4563397fe8233965f1993923151a3931c78d37029d5c37cb91b139b02a3d39c1759637fd35803779413539eebb453878c22e38f9ff253882e635394e8d9538a92309383142083883d60c3a6f44de392b3f9f39066993393713223a33b6073a9619e5398977e03939814b39c25c113997dab6385b38b338a9f29d39ce1758390484ea38abdcd4384472013a71cbbd3e56ce1f3f1868ec395c864b3a535faa3efe020e3f4cd4113a541c553ac160923ea2e5f23e1d83253ac936323adc88733e9b25c93e4628e839cd150e3af0b0403e975f9f3e34cebe39e591863adbf60c3efa336a3e31f13f3aeb13693ad8c6b43dee0e173e2059483af520b2392e04263de2498d3d958c843903281e3a28bc293a2d880c3addd0b6393b2584397dccfa3851412d38863d8d37af0f4d388d9030387e26213807ac1838717d8a399a85023911f9ba375c85a7378ce57239cd2ab9383750a537558f9037423e91395e9040399513b138737075386ce80e3940fbf537fc0acb37d206c23779ace739c0dcb939f2038c39c84584396cf7d439ffebb4399db19439e9b99139e80450395e4143393e4a0c393ea50139152c2a3a7114793e6c50403f3b66183ae1f40c3a8dba693ef5882c3fbfa4c3391b1d783ab6d0413ea774113f6c80173ae6e8823a46d91f3edc23f13e7e230b3a14a0713a04eafe3d73c8bf3ed0cb1e3ac9c6ac3a839eba3d77d08d3eec0c103aaa82373af9ba6d3d848a393e96db1b3a4499163a5b94c33cad24ab3d5c97f73942708f391577903940088a39296d5039101817394b9f1e38f32a10386ed30138916281391d8bb43876f55f37940a38370652303989b3ce37b94e8b374aab62372bed203aa24cf139f04585394deb4b397eabb8383566c73728b9ba37c4efb637e73d293afac10b3a3d3bc5399437b3391f100939dbdb1838138acb37eb58c3371ae4033a6431e7394bd9b9398973b739eb3cc1394700a039d2a860394ea75439b3ed133a2635f03d1b12613fae00113a00f9743a5e1de33d4d10483f8bd5203a14863b3a244ed13d8b282c3f3fe7103a5357d53af65e9f3d79d90c3f3b87803a4aba4a3ab5587e3d0130e03ea43c143a0332b73a8652343d3bdda53eac897a3a2c7e5c3ad00fb53ce10d543e6a6fa83972ac373ad457443a8c5ace3dfbed1f3aa3d0123a921b123addc30c3ace09cb39000000000000000000000000000000008ebf373958d581384e99cb37c9f2c1371133a837f0d99e37d8799037b97a89376ecf8039ce201b3909380f3826700d385cbf4939712442383ac03838d0bc3638e902d739c3a0aa396c6f5a392dd1383979d76939daf02539a6c18d38ebab4938b39fac397e2b99391bbe7739ca8c6b390000000000000000000000000000000000000000000000000000803f000000000c7f103acd6d433a4320623fd0bff439c700863a21ec983ac8b7403fcf4b273a08f8263a982f423acb2b203f2da2053aa451613a450a753a858afe3e9374263a3ed5313af744373a0f21bc3e1fbd1d3a8ac13d3af430453a3af9753e63720e3ab174e939643df239d0abd03ddf84d3390000000000000000000000000000000000000000000000000000000000000000b26a4b34f4604a342f534b3475de4f34653566352b85613588168535b0408a350eef2135d686de34b6fd0b3509641f35209051364620453636014e367651553679d6bb3550f4b735cbe0cb35e2c9c5359af5e037d62347379e9fa03765eaea373bdb5e37c0b70936d30f1a36002ffe3600000000000000000000000000000000000000000000803f0000000000000000769b5734b6dd7f3f219652349c155334e6e9143687785f3f3fdccf35c2cd8d351316013807ef2f3fc004cd3772cf1d37076ef037ae96003f5c11a83715436536780059370ce1a13e0c221237c23dd63540d56f38ef6d053e0e1a7438297d153831b61e381815d33ad3a52f3851dc893700000000000000000000000000000000c39cfe333d06f033f4e806343b285b36ad565c36d026453686ff6936de267036bb23853606fe4e3605a38236865d9636fca03936de2c2936ea1538360b9a3b36472fbf360860b636a6bac2362d17c436717b59370b3bde35f2d6ef3526b4ae37ecdc0238418958379d3db337b1d9013814719d37434c383773275537c77c7d37c8221937395ea836b1cec836b97ad0363977f133daf27f3f75d08d384bc9aa37a5897436ccd77f3f81cc7e38483c873672aba6374d43603f21b8a73890fe8d37795ef9369698313f75f74438f89db236cf20f9369cd6023f0f2efd371b85cc36985889383593a73ecef1cd38ac5d5a3847cf7f38b0c5193ead10d63810225d38a9778d37da8e883c04348238569bb337fe1f373498e6dd37bac1d63781043137a0a3ef36d2d46236cbd728375d164437b043aa34c551ab34b635b434a195b2342847853624cf3d367dc7513695acb93619fe7b35df2d6f35af0b80354f4488359d38e2343ea8dd34d15de23414e8e234c1a1f636c7f79f36777dc836e9850237719a043741d5d5365720ef361c0b02376c14a0357e25a135a9079f35ffe89f352cb9c337059ab4377673b937c5bebd37d8ec8d35fa2f633fe65ee63dd4b9a2377c37a2344ecb663fa583c93d764ca834f80b05375579443f6ae2b73dda601f37050ba035e9d4213f79f9673d4d34ab35014bcc34fe04ec3e0c542e3d29123e36541a22378c269c3e9995823c8d7d5c37c09d0837eed9113edf9a273c78b2d637963d9935e23c933a1762b03858bc9d35a59a70373d891038a38416387849ab37d1dc9e37d7168f3747908d37eebc86379af2af358176af35e3d5b135ec5ab1350f081c3733dcc9360c02e63623af153742240536b97ef6356556fc35145c0136e7ae08356815043510f20235ced505359226c63616bb6636b1e48536d8c9b4363d85bc37ac3e3237c0274537534997371037313704609035e9354535b1ec6b355835d137e62ec237a58acc372d57c637258c173747f7313f40079c3e42bc9c37ee7fb235b779343f21eb963e4895ad3585795337a82b1f3febf47e3e68df4d373d3296364eb8fd3eb728403ec8ae883663ac00350024bc3e0069093e9d9ef934a1421c37b00f763e087ca03d37dc2d374177cd3732daeb3d6aaeba3cf6380038debecb34e385423aa25237393a7ad0343d108437d5172038e0c21738ddb79c3784b103354ec6e034ad8dcb34802cbe3411b0b336e6dba33640499e36d2a1a63657cc8c36f4a2883687678336aded8736b7f345365e8f4436477a3e3650d6433624e73237bddcdc36c3abdb36a3c4e43659ada63766d3503673cb4a36e87a38372f9433383a4601386fef0038049c22381aadb637f8d3923747c0813748619037950b1137f1f702370e7bcd36664b03375a4713357181003f4ff7fe3e8ca9c634e812bf36fa1d033feb47f93e05d7b436834de33744c5e53e2cc0d33e407d103763440538afa8b93e35a5a43eac523b370a59cd373ead873e94b3703e41224c37088b3238ea49333e1728103eb6b600389d86553883efa73df0d3633d1cbb33382db19e37eb5a303a844d7b39db3c1d37626c1736d1c61e386b280638b63b1835503b6f37337931373bd39f350509a4352248c534da6fcb349dbec63494abc334eafcdd36d7c177367a4b6636a841773673e5733601c51b36ec001b36fd901b36870305357731053530590535bb8a06351ae7d636f36519361aaa0a36b0cf1136d0be8b3792b381374ba57937d75383378e35eb367565b9356938b735894c4b36f1d8d73703e1d137187cd4374ba4dc37620f6f37642e9f3ef35a303f78db9b3525a6c7341b32a43ef1b22d3fcabdb934234c7337ecb3903e4b4f143fec28ad36c7f71937cd39693ec254e83eb36b5a36bfe0fb3430e52d3ea455a83ef7edfd345bd3d937bcc9e13dba79533e62a4b6367d75cc375c23373d516aad3d9e29813711b31237b2056839801b5d38a909b53577e5cc37c941173879050338271c9437c1239537eadf503778f5c736a15db3365b249b35caaf9a3541749735b835983503fc7a363ac20e360c37eb35f703fe354a0ebc3613eb1736a4fad335a4ea0c366a98d7344e0fd334ee14c934465ed134c8c62136584fab35868d8e3521e29335d8b643378fa12b37d24b1337297f2b373060b63490d3b93474deaf34fc8ab634c697923702a37f373e037537443f8b374edcbc37735bf03d32e5613f982fcc367a949b35c642013e98625f3fb3e39135caa00e37bfdff53d2d403a3f9aab1b3695055c3771e2bf3de0d9153fbc11903636819337be20973dca8fd83e36efbd34f9d1a937f9e2233df8e28a3efda1a2352242de379c0db13ce936f83debd0343770498135b67efb384b5fd83866cea434c7c7aa37cde90b389fffb637efdbc736de9c293697be3434fb023b34d4f34234783dda36b68dbc36dfa591363e32a036686ab93613eba6368e4b8d36fc9c973671118437667bc83565bbae35baadbe35f6cfbf36ea64bd36817eb23691f4b9364ddeb636c834483676b93a36be3f41364e4b26383c4bde375d7b0b37fb70a53782340237591295362b339136303f9b364fa353373383213748e19d36b421f2364d7ab637dedeb93968eb7f3f96a3333429ff8737a9e6943acd697b3fae1ac63643065d38b424d738ee82593f578ab4365fca8938fa2be9380a1f2c3fcc6fc83752e351378cb572387951fa3e2438c43674e1d23735b3ae39b3b99c3ef30d3437e1cb83388011fa388170fd3d044b6338025e8c37cc239a388d9be83943dacf362679a53727f611385386db373b3f013400000000000000000000000000000000b4cac6356cd2ab3513996f353fbd9f35a987cb3679f623368bcb0f361e511f3649e7b435330aa3355ebf8135cd6599358a5549368e563d3679c93036621640366b73763729777d358e9b1f3514f63a356e4c00366ec39a35fb538c350c078f35c4cc6134b40665348a316434b86663340000000000000000000000000000000000000000000000000000803f00000000a9d73d372991273897937f3ffef1c43542131238bc935938539c5e3f0b1a9c37e173cc3501566d3716132f3f1c7cb33538bd5c37e20bf93765d0fe3e2b736b370dbce537bdc13a386a07a03ec34b0638e99c06369b57c8370c11023eac26813702165b3494364e37f341173aa0d6cb35000000000000000000000000000000000000000000000000000000000000000030f12933dae52c332ff030333964313358bb2336afee133657552036f3ca1f3621dd1436d07e05367c9a053606210436d10c3a3454a4793222b982330aa64d33285d3a366f682636ff6630362b543336c73a5437469db1368c14b6366fdfcd3655396a361dc96336fb9f6d3600a4763600000000000000000000000000000000000000000000803f000000000000000078e5ac37be44773f3f97cd35b4742e333d204f38ecd4533fc619a2373e33243783baa638b9e92a3fe9603a384f76fe362d5fbc38cfeb003f323ca137906d2235e664e738c2b3b23e3b01563861dc4937b6959138b965393eb39a6b38bcc71d388c519338a872293d65ef8338151f0e380000000000000000000000000000000040400636537abc35b088bc356c2abc3585eb8b350ffa6435be6f7d35e4127835021994343d0895342caa8a3441996834e7ec0234cdce073497e6e3339978d33369016636594b5336e6665b36843a573600000000000000000000000000000000a83c853617d21d36c89a2936e69d3936b3410537a05cca368c99cc36771cd5368aaf84369cdfe133206be4331b86dc3389525a37b9f67f3f085a96382ddd6337d8a06e37da037b3f2f2e3b387bab4c36b5a0e4366c4e543f88d4cf362b65a534b67d1538544a2e3f5225f937b8c39034c2f59d385dc8043faa7f9938bb812d385c172e376964ba3e0cf42437963c313657954738f229533e3ac19b38f79c07372def6338e66c783d7cb0843956b621380c46a037aafd3138c10bf637a1285c37a2f70d34280611341c3a0c348a830c3426d1bd35240ea435797e9f3512af9a35de529c34c0e19b343f519934248e91340b7315357e7a13359c2d1435df991435f72313371ac2a835d37eaa35d634bc3513b3e834e049ee34ecd8ec34176be334690fe236ebde9b365b0e9536d98bac367e080b37b192f236e47eec36dfeaf63664312b371b463336662a0234d0fd00349dc76b3606e45d3f0b61083ef36bd137ba340136fd3d613f75bebe3d18a3eb35ab4b94376c1d3b3fc661a83d3c0e5a36a4d09837a86c1e3fc620383dbcefc836f90990385136ed3ed65b243dac654c38a00c14387230ab3e0288463c4f939e366c7d0538e4323f3e07b2303c94e724375a2919381d0f593dd1e7f239c8dc0038469ef2378042703830d13c38e26bab37d87a0934915f0a34ade4093468130834221f5731c0ed5b31e1e8583173025331b7203835264f393536443b35dd7e39358e23ba34a313bc346e97ba3430fdbb34b197283329d131330764d73203b9a43247a81335bbf516355da118353dd31935257fc03625196f36aeac4736294b6d36a1a7fa371b94ae379d465c370a5e833709531836fdb4803455677d342aa08134b68e2037f4f22f3f8002a03e626a1f37b4b8b1341152333ffc6c8d3e4ccb5b319e650c37acec1a3f0b745a3e5dece035ece41c3824e6fe3e572d2b3e6b2df8349ca92d388e43c33e91daf93d5c2a63370e04063760408a3ed3e29e3d14ef1535b330ba37cbf8223e3c4a0b3dceee103745d87738dd8b203d407e783afc1e4338b452083790d9b0370d398237f178253685cc33358deb37356f993735b0163635494c01350162bf34ee02a8345eb7a434cabb3a35e1889e3414e6873498e871340581af320891af324e5ab0326159ae3278eefc35e9e8bb35e437b935cc9bb335d9be17359361c4322927c33213aec1329d7d9b36e21d583654cf1b36084d3b36e5e66437c4562a377f462137beb8283728bbec366c49713621ea3435b09211365b4e87371921023f16affb3e5c577d36fa357b3751d6033f87afe73e5b232d36c3c58e377265e33e66b3bc3e4729d7356397af3701edbd3ee82c933e169940350caea43857cb8e3eee72623e47824338c713d837cb55513e3d990c3e76dcd13555b32838029aee3dbf4f913de9805137f4372b38d643fb3cc041ec3a6c6d05387302ae372a7e4138bd89fe37df5d1b37e07747347a0b4934955341346c393f346ace0e36dc7a06361b1fec3560e8ed353a857c34100c7834a3e6653470816234b219fb34f081f634982bf5349bcff534de84c53222a3d93264a3a93100000000d34120354cab08353d55e4341cd1d534f4aba03606301336ecd28e353b79bb35ea338835f2ec3a3524652c35f21f3d3578211134078112347f981234304a11344036a036f1a9a73e9e232c3fabae5434d2580a38e32bab3ef620203fd1981a36a9091637fcc7953e2bad033ff86a3435a6818a369e497b3e367dd03e92f3043573f32e38c249443e301c9c3e4c790d37e7544c3867880b3e15894b3e2fd0bc36df46e8374e579e3d6a82d53de8651f377d65c037dcbcb53c1536a53a85d3cc369ef1b73779034838631e013876660f341a49f333db90f4333f28f43330fcf033fdffc1345cd9c0342148ab34d43f9f346f130e356e220d35b6e40a353c060935ff42c634f57ec63460b2be34f782bf3437cb1037a75b8f35a2de443596244e3590820536e52022356ee62135b6882235c58f80365eba1536bb868435851795350eea12370c5c7b366c7a053603c514364c4c32340ab83b345c203a34be183b34280c283870641a3eab57593f5aecf633685fe137a6e7193ec9d74b3f621eb934f1b8b037cc941a3e2cd4263f31a50936857f1138e707003e6850073ffa9b46357a9e9638c8e9d33d4036c93e14502838b6a1e6375a3a933d695e873e63cdf43641b92138fb861a3d07e5183ef9da0b37edf80b381be18c3ca32d203cc1d89437ca75ae37878f2438bb8f5d376c052c348c60b1335322b4339530b03380a1ac33b1fd3535ec8f1c35beed02356955f734f5006434e1614d341ae70d340fbcf43300000000000000000000000000000000ff38253776b25a366fea4d3678e54e3649562f34dc0a0934bf4fcd3353fc973368de85364dbf163634ebd73464d6cf340a9f3837d2d92d3716ed143775111e37147ca136387783366c5b5836fd9d7836de131f38ade5a33a38a77f3f4e7bb6335c42533844ffc13a7c04703f6f7f7035e7c217382ab6213ac3114b3feae61d3663402537f1e7e83aa75e223f1d90443547af9e383c2a0e3ccee4f13e14654838511329382d6f7b3a2bf3a23ee6417a3650b44937c9e50f3cdfd9253e689b0037ae3644384f146e3a8f13983c9e0324380f1b6537a073dc3758414d377d8fc236000000000000000000000000000000009d70e6353b02c635e7659835ba36a035830d21361cd0f93589a4a235fa4d9d3508332436d45b1036e7fafa3505bdfa35b4e6b334594c54341e769e3354d426346efcb43622bc48368fe43f364c3e3e36b98dbd37c0e98a375aca4837385f493797a3873773e55a377565ba36dd2fd6360000000000000000000000000000000000000000000000000000803f0000000017d325382efc8738e25e753fbaea0936f9b24e38b3598538b48e513f47b49a373804893894f08739dd8f263f924bef370e1a0438cb610939611cfe3e01a54e3749908e38d438ba385015aa3e5eb06c3842583338fcaa1a3a51ff2f3ed6e5493861a4c537bb1773387c4b0b3d5c9a0138000000000000000000000000000000000000000000000000000000000000000064e49336085b70368929523675033a364921aa342ecf24348aef2434bc9326344b378435638c82354b188235684e81358f1a783681b06a36e5c566362577613667615a347eb54134b4ea3e34b7683d344e995337cc3eae36e0cd8a36ade3843656ff9b37251a70371e4f5a37f01c6a3700000000000000000000000000000000000000000000803f00000000000000008163ec3859b26b3fb7858e38912ad4374b41563a55c2473f425b6b383ea525378276623a6ed1233fe742e137087845377a79993a85bb003f7ac09238e907053859ae883caa4db13e9b92d13906217338d23e743ce932593e50833f3809180b3855b7023b50c5963d716ecc3a74d5143a000000000000000000000000000000002b248235d41a65350f326a3536315c35e83097362f168936f6e984363a33793620332335d3fc02354f510035e0c5ce34000000000000000000000000000000000d76bf37a46e5a36c17a55369ca74c36ec689b35b9449335a56b943557a08c3500000000000000000000000000000000b96a74371ebd383720c92e37a2e13c375613d4378c59af3757919237fdb89137c1e2ee378021763fe5e41d3dcbe27237ad2c0f3aed45683fffaa303c23e34d3744c3003b0a27443fb934093cd54d813527a5103b4cf9203fd1711a3ccc4df0361cc86f3c356df63efb51173cb695ae384d9f9b3c1ed1ae3e3da7063c59929f37daf2803c1c824f3eb86b873ca211553657c8303c736c923d1c03903c3b56383a43932c38eb2f40384ef81f38bc440b3865fa6d37b73cb736e6491636680b1436878a8e357a128f35c5ca8e35f5678c3586e3c434d634b4348a73a33423bd9334b800cc3539bac735b314c3354ebec035cb52d43676e5f835a2bfea35d5dee23555547534c37b7e3481e78434c1517e3482ab53361a690e369298d1353921bc359cbda93724886a379a71153702c91b3741682337062ffb362916b336cf28bc3699cc5838dd8c4f3fbb8d413e26d23038b7e4aa386412463fcc831a3eff7ebc3591b3d038a7e2233ff7960c3ecd750235fcaf453af74c0b3f02c2d03d3bb02e36a021c23a5544d53e5ac8ac3d09872838373d2b3cc5259c3e8d3b4f3d951dfc36e5d5113a72134b3e4a07063d5cb8ce3756172c3a0579863d5bcbc43ce9599b3863a92e3833838c3836c4cf3732097937525a4a375222c9362f9f683651cb60368fe89a364dea8e367da08636d0de7a365938fa3444f1e33479dcd934b6cfc534471db73535d1b0354773ac35dd04aa3506b14636baa7373637b72d361a8e2436a464cb355e81ca3561b7cb35cff4c935aec6ec359c1aee35d4c2ee3599f9ee35c793e937f69a723737b9ac3656f3ab36eb8f593746a9303775c40337699af03631413038bd97283ffea7ae3ea91b093829cb3d381945213f508c953ea4ceb3361dc0f138c8b9093fe578763ee0beec3623ca8b3acd20e43ec3a5473e4637e7371f80393aab1eb23ed4a41c3ec0092438c2a7373ab963833e892cda3d6fea2338b2b48e39933a263ee3fc833d5e90be37850cff39783b733dcfc0d83c1086ed38ce031c3812653a385bfa103806d0bf3794a0e835ea4fc335aaf8a335f4107b3527346d36875b593657814a36952b38365fb37a35e75c3c35072f05353cc3b9348c43213560c20035b01bbf34356696340b92bf371b1e9a3681f92e36fbcb28367efb3e35fadf29350b102435e0ef183515f6f1355298eb35ff33e0355c08db35cb468d376fc07d37c5a96537ab116b37ee693937a81d07373b33b036c15f983681b25838dde4013fbb25fc3eeacbdb3780da9838b320f83eb0a8dd3efa7d923690f28838ba3cd43ec341b93e5c80d53578ff093989b7b13e5905953ec465913513489c3a3983883ee5b26d3e591f89388fb089396aaf4d3ea98f243e353307374a35f038d7c2fe3d56f8ca3d6ff8d2377ea40a3aa1f94b3dddd5023d7907e338123d2c38e2d35338568d0e386ecd9d37072213352be0113538d00f356e8c0c3528b74936514c2a36bb9904369034da359482cd3569cbc935cafec43569bbbf35a7e0b43597c6b0353831ab35a91da935459f413619523636eac9283602ef21369aa2c035e435c135c5d8be355598bb35d7968736fac5283576bd1f35656c1b356f5cd73635ceda366ca0da36f4cadb36c6809837267b6837a31c2f370d951f371c9337383dfbb53e85f1243fb945ac373a4298381aaaad3ed908133fa21f9336805888381c6d963e1f4cf53ec70fdf35b97a073a46557e3e7e4dc63ec9fbb037c3cf113a38b0493ece199a3e83173c3809f2803a1595133eb46b5a3ed7dc3e38f8509f399713b73deeb9063ea1b91e381c9112397255153dcf52293da473cc371e5b2238f1462a38a57b15385232e23763595635977d3235d5a30f35ac56ed3455705d3652bf443626472a368e661536a00ae034fc28ca346b81bc344172ac34bfc71f34b7c31a34634d0d349b92ff33460f033684e5bc350df0a03539358c357641e035ebe5dd35c9d3dd357380dc35913111350e52103511440d359be60e3502283837a9a0d03622f5f935a5fcf635532a2f37084289366f7d273661392b369ae981380fb7503e61c44b3f1c90cc36974e96384696473e33f0363f93e396360b744139ae413a3efb1b163fed280e36bcd3ef38c4121d3ecf0bf63edab64034353c973a0326fc3d0728bf3e9f2e20381dc0203ac142b53d2135873e8435b637f739b93821805d3db95b2c3e52931f351bebb4390a08f33c6d7d393d857f1b38c095293860482e38ab221138fc2dc13784d9c2354d54ad35030f9535ded185353bc93636688a1e3674f0ff35f74cd53500000000000000000000000000000000808b8135cbdd64351e553a352d992135a4cb933763d054369fa9453601263b3600000000000000000000000000000000923a4735fbcd3c359d771f357a861535fceb4337ae59cf3632d4ce3690ffce36e3365135701f46355f693a35d7472f35551a3838431a663d868d713f63a09637cbf45c3a3392643d12bf573ffccd8136b65e2d3aa430773d4c48343f000000009851433ad810783daff1113fa4d2fe363866bd3a42f7583da96fe13ec7c4a938a06c7b3a77c2233d1933a33e40b544376a8e7b3a1655ea3c1895463e734aa73764abd039b827c23c12796a3de2cd51381a532137df8c07375e9987363ab96e35000000000000000000000000000000005e6d9836fff98f36e65b8336497a7b3692a7ce3518abbc35ce90a735564ea235b2263834ae6f3534276e36349956353469d37936dd637536b5736a36e50b65369e819135ec91923544f993352f9d93357cc393378aeb15371dd1ad36893a8e36490380384285513849811a38645a05380000000000000000000000000000000000000000000000000000803f00000000a24ab539cbdd3d39e3fa6b3fa72bb4368e49d639f9a29d393aab453ff333a83766a3c83a85a75b3cea291f3fce1b8b380d26923a83b7a53a2cb4fc3ed3cf6d381101303ae4fc753c7dd5af3edbbef73751f7453a801e953cf9b44c3e7191b7383bcc36399175433cfe0a773d1dc6d83b0000000000000000000000000000000000000000000000000000000000000000fc4934361f973136a0ad36363a6f3d3694c2db36463fab363ad0c53638eef436ca24cb366d35aa36ee88d336cdbfec36318660369ccd4336620a4c3615005036e0cc8a36147c743643966f3630708936d9531a379b2bbe366b74b836b95f1c37830a903655ec703672776f3648a2733600000000000000000000000000000000000000000000803f0000000000000000569034368c1d7c3ff9f52e362df1233652f21337bcd4603fb5f3f7364453e73653cd2b38a5a7313fbd0a0d38af06a237e44f9937f4ac003faa8905372ddd3136a2e7023850a0a13e1a6399373b2bc93666f90138321b093e0b04de37cc3a9437635294361dc4cd3cd0d06936fc3f5e36000000000000000000000000000000009d80673510ba58355ed768355efa6535af67f435e3cbba359e2c32363215573685103136a09a8b3538f205363c084d367fa4e834734e00352ca503353e9b023550c0a4365a279436e921ad36468db736395b7736fa9425360fdb4d36cf356f36e5b91a36f11f0936dacd1f3637dc0a3678d8be36e2d1ab3680f1c136b4aec636905f013645411a36773825363db707364f2e75350df77f3f4595203a70586735c3e3ff35eb9b7c3f9b970e38cd5440363fc872362fad5d3f19c8933789335736edffa034cef2333fefd1683723bac7349ecd9e36f2a0053fa26dc4361d2aa2361e699036629baf3e28a45337a1677c36caf967377b9d253eae1141387d1d54368df71e3755fa3e3dcbf2be37c932b6363f3a033669e49b37dc521a362edf0036d7bb2835d90cf73496924835c0d33c35854c55364d563736e938503623cc6936fce84c36259e4036e2dc633606407836342547359c1f3235bbc543350c1e4a3595f5cf35a449bd353ca9e8354897f73574924a362f7844369f90613606686037b8f80937f1981c35f5c42835b2f8eb36ad2af6370cedd53713aa9f37b626c937df7aeb37e5b71d38a06c09389747123802f31c35a33a643f501adf3de757063574c85836dbf6643fd757ae3d3f475136f30daa3623bd503fbc64ff3cb04d9a374e548637963e293f4924b53aa8b6a83798669436988ffb3ea755113c04319e3662f046380cb0a63ef79a1c3caa032c3838b1bd37d936063ed24ec53c5d8496373aa401386657b83cec558e380ad4ee37fbbda437f054a438603a8d38b69bea37bd343b36aaff6e364f682e366daa473660f787362b3a5436f4985e36ca0e8a361e286536c7c2153627b61e3604ae8036c3308c36cc414a3654067d368dfe983638157c36d45c24362d4a3836fe845536aaac8436ba25213656253136566d7d36d5a095368b454e3689475f36df12563643abdf36b4dac236a246d0366c68cf36ae879a357cd88b35ed509035a4e59f3569f01f369988333fd745993ecd85b13659258b36c031363f26b98c3e30e06d36913166369d2c263f6daf543e0f904d36c83db93693f4073f3529183e9dda0637543c79366703ce3e10bdca3dd60f373694027a37fecc8b3e8809503d9ce54037a6d7493710d6ff3d1567fa3cbe051f37bbf9d43653867d3cc56f2837cb7cb536fc95ac3538ab0e389b158f374c109235ad762c35e9f221355d8f2535fd0285356a7e7c3628f667360e0f9236a49f9e36f5b4a13587d22435180c613556497235e83747354ed34535e07f41359d0c40358317a5366f5497361e70b336796dbb36026c893503336b35816564352ee36435e59efa357f53ab353211e735c68398352cdeb136932a9536d957bb3675c2c036a7141635e6464235b77a7335082d2435724743352e78003f9c15ff3eef9c68355fee8536ce9a033f3cf0f03e63a47c367488c435814df13eab5cc53e1f0c6c359bd382356f68c93e3fb0933e814c3f35bb0ca5364b91953e3788553e1b10a536c701c2350556583e5f7cde3dec4555353b531036dc2ddb3d8f351a3d56fd01360194a636c5c7833ca74c5337f1feac36dd328f35a7e5dc3774d9de36166c0735331cba352319a33551dab735e5c0ae35f556cb360c4db536a86aab3690aabd36625b323663553136caee3e36bb0e50366afa733671352136b1352236e88f263654a98f36378b4d36488976368d5d6f36e2729236e2028a363c919736cb0eaa366ae39536fb766d360d5d6e36d2e560362ee3c1369f60ad36fb59be36525caf36f5e686374fff933774ff963761f9793706f2b83568af9b3ecc3a323fa8fe883582c6dd3630a3a33ebb452a3f5918973651d6ed36b7a2923e11420f3f63bb33364e8c80372e827f3e928fda3e8b372836fa170837ce924e3e3685983e6c2d3c36ae0923382e4e1b3edf2a2e3e00d6b2369934a937646dcb3dae7e343d957fd436a2fdb236a3a85c3c7d331338bd3aa136d722c2378df09938a6800f3877f44236025f9d37508326370357aa36e48dbd365c31413736ab0136e9f8e8356730f135a4c755359d594135fa7e453598c35735ee626b36253e433662af3936ad2064369978ff35a4c1f135713bf235a1c1f0352a973137182072357b768235678fa03569998d37b110e536e3937336457e1c3721648036d7826936f4c97336136e7236fc0ef734f693eb3492ddf434b50807354fae3f388b02de3dae48643fcd7a9a36356af6374634023eacaf593fdfecac35331ed4376c1ed33dc5fd3d3f6ce02935ccbe6e38c2c7cc3d8613113f9dae6036b559443735e5c03d97d1cf3e4fbab93514da18383054bf3d9cda7a3ee61a343755b94538a853a53dae4d973dd7c7a4377a767937786eab3cde4f4138401141367e872235e2350537ec51df34499fcd34c2ddee351ba0e435d3278335aa8ec435407f9e360ddc963668328f3654419936e41308363b49e6351d96c735f992dc351e836636b6ed2d361d5d0436964efb356d6ca83603439e363497ad36051da436bd6d1735b2c1fe34e50ab73491348a3449ad8a36fbb67136540d84365686513634367736795f3b36165b8a3642378f3689d7573542b26d35e8936c353fea7035bed1f235b2aa673cb98f7c3f1df797358d1af736d70e7c3c2c38703f77a48f36d9f1303767117939dce4563fd0a10c3691eb9d366fd34e3a9151283f1baa3a365239ae369620db3838b2f53e4adaa3360570c735505995393193983ef89e0835427b123796b09e3cae1dee3dd2cf8036b617c436fbf68d3aa7344c3c898a6e3638a67535459a83370c5e3e351c70403500000000000000000000000000000000a6146436678f50364f3f2736312c4936cfd09836092579364caf37367d8a4c36f9419436363d8d36472c77362e875436b21e6d36309c553645d36a36babf5336fb47a23727cf2237ac5df636bd8cf436fec01d37442b1637bafe1237ac03053794385136395843366a236c36cbdd4a360000000000000000000000000000000000000000000000000000803f00000000301a883676bb8d3712de793ff8b03e36a94b8c3737fffc3720eb5d3fac003a377c6b2b3767b3d437fe9e2f3f5d4e13373f61fb363cafaa37bd76ff3ee32fb836d9c80f38709554388e819d3e19b724387c391137cb4e9f37e5f2fb3de8fc1b3778d13e36e5eea5378def843ce2e59c360000000000000000000000000000000000000000000000000000000000000000d5afb33567269c35e6fea93597b19235081f9736bd278e36a7359236bf8582365d0a7e35d9485b35c9c98a35b70b8735a8454536f9924536eb164a36782e4d3612fe9b36e99898361c3b9c36626d8b36492317353234013547ab3f357b4b453539dc1036c0ad133623ad19365f96243600000000000000000000000000000000000000000000803f000000000000000023e816385653743f97e7d53651a0fb357181523acaab513f1baa873776ca9c3636e5183a53bc2a3fd93309384efa6635129698399c64003f62b6cc36763e62365fa4fc3a57e7ae3eebf0ca3708b99f3650f1d33c3cef223e2c367e38d23e0a3875f9ee38c6d1643dd5c12c369bf72d3600000000000000000000000000000000c2ac09361e010436511b04366fa5e9352898f4357688e035592af235b71dce35723e0b36e1abf435042202361b8208360715a6354d6092355a68c63530b2ad352d288536c84c7f36828484367fef7436e48d3136bb1424361e482536f59f2036e30f973577578935b47fb2353edc9d35fb107d366b126836f80b7236237c5c36b8cd713617f27236ac547236c76f7136c235443797f07f3f6c2d213ad2238a37d4a2c7379c8d763f2dff4a388b2e2c3627e63938012f523f6ceba837384005367b8ac537a6d92b3f12e3d9365caaa43591f4e638cb62053f373a4d38136e013722a758387038b93ecb2dda374868213725552e394de5413ebea0cb3a093284376b6ea638c2ae8b3df03b9338347bed37d733b636ee09e03607079536ca6981361f113537ec9240371f504d37727020375a62873624137136a1ba7e36c3336836afb40d3500e41035cd2f203501e613358e06a6366d2c8736304f9d364c1b97363e208a36d9608436fc498b367b4e813605cfd03598f2ce35ef3bd035eee6d0355bae68368c175c3677c2723601e56b367c4514367e2b1d368a0d253678f913368dd117377105fa366040ee36d479fd360dd089377c8c653fce11d43d1d141438626d7637de92703f3beed03c855a0f3755b727385b49513f3529bc39242a2135993c2138fa152c3f65af4238a4379c37f96d68381281023fa9c15b388cfa4437f4e07d388fbdb63e9e646438bf984437771cec3985ca2b3eef75d13cad09913786fc20389d988b3d96d14038ec7c0b373301e9376f544c38814b1e3826b79537ae59123675920c368475ec35243ccc3538fad0355d07c7357617c0353150a435a8d69435a2cd8f353ff37335519e0135ede03335d0064935a4cf3f35734d4535987e8e36283f8d36abc58e36a61d8d362356d0364f5bbd36e1b3be360323b03633892135b1a82d3540252c3581522c3560e2933618d7993668849836f05d9b363dc5b336f755c03663ddb2365c58bb36d5083236fefb333f5f48983e6dfeb636e5aa293718c03d3ff1f4683e07fd0a36b7454e3839b22c3f0503113ee0bdc836ef0e923894f9113f82e8bc3dedb2713745ca3e38444de63ec2f5673d4b0dad36e88677386ceca53e59e59f3cd9cbcd374352a838c15e263ef1c9083def76af37de410b38c494553d15c43a380cc66a375eebff37a9456038c3c21d38b3ee2d371314cd366a7ed136a44fb7360682aa36b27585362f716f36a9534a3658d13636c32945358e710635928f17359bd44f35866ac235b69ebc3507bbe03526b0c535cb74cd3612e4ba36afa5b736ead8ab36028d0836038bf235975bfb35988a02362d56453564803635c24c8835e4eb54356c48fc3604350137b3a40137ed81f5360f5dec364bc8eb36f600e436628de93627931837898b023fc41ffb3ecd7ae43699516038d52c093f36a9d53e82d8d4362c08cf37cd8efd3e8660a43ecb691335b619cf3735b4e13ef55c5e3e8b93fb36907ae138b966a93e27dc2d3eb0fc1238626b0838ec13873e32d0a03debe62b37b60d21386a7f133e2275253da11b3737237af83871d7423d8c5d4639a29afa3723c91c3718d07c37ed4412373578e036f1cfa53604e09e3663e38736541192367e828e3650767636b6936f36d2ee6b3649c33135e3753435b81d3d35819a2d359878b536787399364e478636099c8f36eae8953674908d36ec8c91368ab78b3664d3503511ce59353b116f35be1257353b424736cf0937367b233c36cc2f4536a826063684d6033645da1236a4dc11364080063673fff835c8a5ea3527cb053686273438298da23e9fc72e3f0f02f636a3abc3375ba3ad3e64ee1b3f29ae8c3668ab8938a905a33e67e7f83ecfd33635aec288383c17963e1320ba3e73219737c74d4e38eb807d3e286e7c3e60ad9a360542a238ae974a3ed908103e9cb58637d978a638af37093e5a354e3de648df37ae165538632e003dff1e5938faf55d361ef96d3630d2083728b53f36bd7f123692ab6c36f1984835575609355ebe0f35bc69f235dc45ca35508c8f35950e9f352bde0e36ddf7f135ec7cb1358d6794353b2891357573593523232535026026359067863688328436572a7936dcdf8036044dd2365523bc363267a8362dbd9c36d07df434e5960335a357fa34595300356c7d8b36d7949236fd828e3687da92363ca6de361767ec36d5e0c836d8dcd636929b5538c6c6f73de50b613ffbf33f37b7e43038ce40073e05c74c3f103f03360d3769380021123e4a062a3f747840361b5291384ba71a3ee652fc3eb0b6ce360a187d38d5550e3ef33bb43e698e44371b553e384da9f53d3469553e1b24b33773f5903868e0d73d2bec9d3dcf46853799e86e382d790f3d47bf7d3835a19137ad86b63701fee13751337e3776e60537b4731c365361d03526c0a93564bfa135de12a23512b880351e0714353e0d2b35e57aa035f06979353a0260352df696359e5f093618ea06365e2d12368f880a3648f88836d4aa83368f9e8236349e7836a135f83598ecde35e513de352c45f335b814f935613afa35c98f143617ad02363c533536e8ba2e365d762a36a4831736ff9aef354032e435f66ce63524ccf2354c210b37b9bbf53c447d783ff1028136eee1b13892f9303d9f8a633f2438263619a66f380ca3093dae95463f79ac8b355c4f3b38f759033d575c1b3fa2540c37343cf53822af1d3d4752e23ecef02a3784c7c23727405b3df4238d3e6a2a8e362e38423801fc8d3d6fdfe13d7835b1376f4e8f386c6feb3cf4900f3c446f273832ad333776cb6137ed3ba636f6e6d2350000000000000000000000000000000048481436e138023699de9e352fc29335eef409351de90435a1f0833407fcfa34b15396368ee992361eb580369bf88236f54f523628834b3600463c365bda35369268af36200882359f5d653578798d35a7a5a036a836a136caa797365de69a36e40adc35a05edb3559cfef351468eb350000000000000000000000000000000000000000000000000000803f00000000f7293736fdfe9639d1bd713f1f4a2836d7d6ac388d4d403aea98503f63389c373bf0ec389b6ac23a79c5273fda7df236da6b5637e19d843cc8d9f63ecf648c361324ba38aac2cb3cf1e89d3eb5b490384ec2623889be193d7b7c123eb2cb5b38a309023876b6fb3b67ec1b3db1cccc370000000000000000000000000000000000000000000000000000000000000000f2f99b3429e38934468d71344bf04b34000000000000000000000000000000008140ac336173dc3279edd432ebf1d032bb5ce5340285dd34fb2ad33415f6c734340f9b35de1288354dbc8d35faa68835ccaa963442f60634e535ea337215dd33e3625f355de16335b46d6435f04a643500000000000000000000000000000000000000000000803f0000000000000000ce00bc3b8de5653f2f1cd834b804c634e336a33b6d70413f79bb40380000000028b5893cdfc11c3f78d27038cf45a635eb10b43ccf46ee3ec70e1537b65af434ad1ebd3c61b3a73e226ad53507d2cc35974f373df1672f3eb5a1a938e1b50338a471eb3c5d2b4d3d3db2603810925d3700000000000000000000000000000000b06b9c3571409b358b16943587408835870b2935aeeb2135df072035fdf2163528564b337f09903246b54532d223a73138dff33585e3c235a770a835369789352dbee334bb45df34d716ef3424b0ec344202d2354c98bc3595cab135a1d69a35a22c7a3542c773353c855d3521dd523585e5083513a21235b65022358960253533cbcf35297bd635bbade13528e5de35c42d45388702803f4d8f6839d60ea83701e3823b6c1c6d3f354a8237dba127350cc0bd3b7a35453ff05d153773f10435b11d953c1ac51e3f827e9436f69563369548ad3c91eef23e7c07c73419d9c9344e36223db0e7a43ec20c273658a31336b26d3f3d55103c3eef403037a915a0359d7ff13c4ce5863da5990137529ce834f6b0ec375512ae375bdf52377a48d336bf9a8f3675ed853671f68336e3e87d369da2c732e222b5321f46a5326d0a96323e91d23265d1af32ef6fea32000000003e381c3570b3c1349783bb341f3dad34305fe0342096dc34c14cd5347c7ed43497c27c345bfb28348bc91934f928e5337deca5341aa9a734d2b5b7340c49bd34fc6c16357e5818351b91103575ca12359796fb354b11fa35f9d5f335214101369324313769745d3fe56b0a3e5d212f37e40bee3a15e9663fe851f43cfcbbed32a16fb93c1f9c403f9d359e3bcc54e03322e0073d237d1f3f17632c37240d93359aeb333dee84ee3ebb471e38de75d934e202283d1237aa3e4533fe35efffb635c89f2a3d5d9a373ed118e138078dec345a38dd3cca478b3d5801f33708871035a6990d36ef850f36a5de00365804fc352143b83550c0b73542a9aa35be9f98359db81434b6670634d24aec334f62b833079abc328e0ca732fcdfa53200000000575db934ded4b734d95aab349ec99934ef9fc834092ac6348b26ba348ec3b8345532fd35410ce6358a0fe135824cd63553053e356ceb433551ca303504ca263595d47635f4938635d4c57f35481a6d358e66a8361dffa436abc1a3365ca7a43684d1a438c45d313f76699d3ea6001938a37e163a2ec2393f37cf4e3e8f5c1c3436cb963c7c0a243f7e47fe3d6c4074333ea3093d10b4083fc22d9d3d5d8852351c5e3d3d63acd23eb283333dac20cc342837383d99439d3e19ddf83bc4881f363baf343dd721343e4e1def3be7a14735d9dfa13c089a843da631483834d38235363e6c376aa96237967f1c37eabacc36c5600d3673b60c3659bc0d36894309369d051135bad60e35a40a08354894f7346cfb66355f0349357cf62b359ed0f634180c3a3631aa2a365fe61c3608130a367a4305356a400435493a0635590f0235c20071368e5f64368008523669103f36fa63b735926ab135d21fa83541099f3527925535e6505e3511a16d354e116f35a32b0c36fc6a0f36d9371136aa320f363eb518382d89023f0713fb3ece9a3437247c713cfb7f0c3f8782b83eaaec21353eb4cb3c46acf53e1fa38c3e2b13bc35069b013daf97d83eb4e53e3e3247a636ced2153dbcc4a23ed7a5153e223a8235c916293df336823e28db833d32e4ae3638464f3d97f1113ebd22ec3c3d8ee435d14a933cc24f703d741d7a38c7927535e3f84b370cc22f3792c1d936422f193602f39a36a2119836a6f19136ac028a36916b1733c26f0533061dec32ef99d23293de9134ad7d8a3481948734a2125e3402d5bb35cee8a2355f0592350c557335528ece341abbcb343863c43470a7c334fdb0c134bc8fc934c8a8c734fccfbb347bf8ac33e93abd330647d833f576ce3337297e3402938334b7c07c34048c8234860fb2353486ad3527e0a6350869b43541ec87388a30b23ec3f0263f788b1c3736348c3cfddbb93e5344093f3e05b634ed89d33cd636ae3ec69bd03ec223df342e17013df37e9d3e85d39a3e70e60136e0c9363dc2e97e3eb807533e7f8dcd34b82c3b3dedff453ed46df03d0a663c35b4ce2a3d7f39023e413d483d8d419c33dbe6933c0f065f3dae90ac37c8d869346ce4d5354486d135836cb0352782a735039cbd35e75aaf35a6e39435520379358f5ee9348675db34e4bbc834aa4fbc3400000000000000000000000000000000d0ef1e346c841a34347ecb3350627e33785dd9344bf4d4346abbcc34d53dc6349208953576287e35c81254358e143b3534b70e34b2091c34b2b3f9330d91dd3324f86b3358847933bd918233da98893305457a36a8d9713632696e367e316e36ab143739239e323ed75d533fbe8005365a41dc3cf7fe373eb405333fb9c4f2341e2b003d2dc7463ef5fa0d3f37f642340b0ee63c635b413e753ed23ef44ccf35f05c1a3df4af213eea81973eb3a8dc349d182e3d3c91073eb27e2e3e507cd435416e333d4881ad3df53cbd3d4b33173576b2a23c4a1c413d6b32fc37a15e4c33edb298361fe68e367d37893667128436f67c99352aa59635dbf59535b0978b3550d1363410e82634c7f6b833fc390f3346979834762c2034368b4c33f6ab20334c99a735afd08a355d7a4235a684fb34f2d4e834801fe2340b5fde34eba0d234e10d2736b67f1b36a36605367a4ced356183fd348f96e834328ac13423cf90347d395935f9835e35fb3568359a1266355e716f35f25463357517663519aa5f3563acf83b7dad033d8ce7753fddd21737bd74093d00cd0d3d7a51563f19af8f34b25f173d7524653de2832d3f227467356148223d0b5cae3d1ed7033f58c71136c62f343d7192ab3d4e66c13eb6f8e834dc3f073d952fa63d6b507e3e4d9387367a3ad23c57a48e3d5dd8043eb4913735a72c633cae7b363debd6423cd0e54b35e05d1a37eca86c36a8debf35fe16aa3500000000000000000000000000000000c416fd345d56ef3477ccdd34d330c734594bf4324752c2323f07983200000000983b81356a6d6c357f914c356ff83135cfc7e834824af03480b7f3347698ee34018f1e35599cb2348a188033c9a86c3300000000000000000000000000000000198319359f1124356f1a2d35548831350000000000000000000000000000000000000000000000000000803f00000000cbb6ce3c1447953c77db603f596b17352b9bd83c8db9913c139c3d3fcb2631385aa3ec3cbc70d23c3a7e183f554eb935ee4f053de6c6063ddc9be53e6216aa36743ff03c4b943b3da0ed973e260c9238de9aca3cb49c7f3d919f1c3e1e5f74386634293c3eb7323dbd9f303d150f163500000000000000000000000000000000000000000000000000000000000000000000000000000000af480e332830a033e66758357bb94735d4c84b3566068e35cbb057347846743493838c346d2cc134439c8234201daf34d89ded3428022e3523dc9635115da2353a8692354c9ec035ba54cc341fbfac34ca7d4a34f7cc2034e129ea348213e43475b3e134383c163500000000000000000000000000000000000000000000803f000000000000000092a07a36e21d7a3f7aed9c3600000000ae4d47358c425d3fab6a473569511435daa97b38d130343fbb254a3729608134c8ed9239d794033f8e25ab39ef6e9e3509cbaf391697a13e8f0c053ae17e0e353e982e35d7e21a3ecb046835ff10a034d4e0d5341112383d55f25a39265eeb3400000000000000000000000000000000570cb1338ab0a5304d73843120c65c3416efa7341d7f7134b205a9348dcbfa347b353435ffe7e334016a1835b5314235ef4db434c19b7234f894cb34798eff34f0a688348b5980341167ae348723133584d79534210fce3309aa053442b756349e66383509ec1a350a0f11354cbf1e3554631034a71f2033064d83339dd706355cd929350a124a351ed404357640053592a28434a4877b3f2b3fc73c56f69d3452af9c35ed1c773f87a8013a0abb6e35193f31359f9d5a3f53e719380fd04d35c3b52935123e323f7f96a0388fa8ed34917f66355cb3053faaf67b35fc661c3592686b3488b4b33e22a3bb3adf10ae3432276835d568333ec407543cdf472f35ea2ab2348ab66f3d5525a0397c5a703320c7e334e821b834d39b8e344a04ff34b66b303698832936f84426363ed91f36758be93346c080332e4fd93380c0d133d4873934079f1433dcc45c33279c6833877cd135c27c29358f52443589637935000000000000000000000000000000003fc37532485a6932f3f79c32af24cd32d1aac534dd39d133f6eb1f339f4ea733b9db03356b86b134161e46344ac83035f0ba75353200a5355d75a835da3eb535a601243691e9603f3006043e76f051366b1901345cbd633f364ac13db7edf2337c6182336ab0543fe3e6f13b53e363341f1a203684ba2c3fc9819d3be643d03500000000d2f9003f4dc2833b00000000621e2234a30ea63eaba0c43caeb3bf32b95122357959103ebe682a3dea9b1b3489f14a35f1c3b03cc83bdd3b08ac56346f409d35e8568335708a8635d5e4a4353cd4bb350405ba35bd78ac35c082c835cb0bd932a4c5da3290c2d032a7cb2b34c27e9534000000004e9d6e340aa6a934bbfb7b3571e01135e346d234eff9533577c99832369f9332bc988732fa4d3233b7e718368bea0e36c7d41136d3242636db9fcd35633e99356e7f5c35c5ba8035000000000000000000000000000000000f56873674bb943681f79236bd839836d73bc235121b333f43159e3e96dbc735985d0233354f353f6f558d3edf7a1033d9a90335e8dd2a3f602c3c3e5d5a3035146d3b3567080d3fa431f83d1696ba35c7f2b5325502e33ef6cca73dc605c132a5231a36aabf903ebf2a523d84f40f36f51185353b12023ed11f473d459fa735000000008839b73cfa300e3b00000000a445583682e1d336ffe83637d27f4a36ecdda135ce818f356e3062359c7588356a3b253380fd2633224c0a34184f3e3341f881356cdb593519be633525706a353f259834b7e72934b5ffcd33824835342f4545345afa433416e46a34c76c93340aea2535bb23053549651635c1b6143557d73e3540012b350c440e35a5420f35687a8933acb14a33363aa133eb5c89343fc3c635a0f9d735a8cbca35519bc2351097a2353d69003fab91013f3f9d9235f545343439c7053f89d4eb3ed6d24b33dc214f35e91cf83e91e1bd3e1b08603554bf5e35ae8ed83e54a8863e93cd243445e67d347a12a73e3f69383e2ffa85342472f33451be713e6704bb3d3d0733359c575c354461ed3d56831c3d4f802b35ce744e34e330d73c61205439a4cdb23386caa33556c79c359b349f35ea0da735af2b503642cc5b3669482d36e7c8263600000000000000000000000000000000ed0e3d35000000000000000000000000d78a2c36676ced35dba38835f4d5b4350e6a9132efa19232b11c00337c202933dceb2435b08beb340761da34be16d33411289f35564f4a35f366bd34d4dc25353b1127346bcc2134ea6fad33b5a569332537b73558d9d035c65aea35734bfd3561027136a633973e3d3a363ffda53a36000000006e1eaa3e10bb263f00000000224c1c35e265983e6d8e0a3f7d99ff33f41c6036dbe38c3ec4a2d03e269f0736179e2433b9346f3e80b5833e7bfd1233b0697a35da26433eb40f1b3e297f2235bcd7d7357b69023ed8ad173d16c68c357a276d34107fc73c0d153e3956dcbf33a16fe2351706bf3533dfb035e226bf35ee2a8b35471079356ac83b35edd08035c667233576bc78327a778732c6bddc3300000000fd646632a323a13265bdaf328969c734527a6532a9a49d32c3c7ca320000000000000000000000000000000011d0d9358ff3d435b7b8af3536090c3610f39c3543cd6535a9a32535e8324b35a1f13532b7f4ae3372c3fb3390361934b398683693a478363d0f7a3667ee7d36c1be9f356442f43db0c7623f213568350c134235db1b113e7cc9563f4801a033c1cbb734f72fdc3deb70393f92ed3a324c2b49348c08ec3df1880c3f1faa323400000000810ef03dd95dc73e00000000e252e53590b2f93d1d915a3e8d46cb35af6a4535914ae23db76a7f3dedbb87351a6f4a331109ce3c203a293956cb94330cdb4b365fe6383635850036c13f11367c7b1335c9b98c3419089c316b09de332d6a0c34b47f1733c68e2133dea54a33c46f833535a968350d75493521575a3550f287331a8b9233fd8d9e333cb8a4332b6392340e0c9c342dddad34521fc734ec7b583567a541351b343c355c9e4135d91d0e35d5bb0735d57d83340b1db43426846d35ec3c183566b8183598228635026a9a34cdef6f34e8c9af34c183863474868e35dffeed3cc7837a3fd5309a34943256350783203dfc56683f6e9b7033d2f05c35fdbe953b9572513fb80259354f3bb734d3e10f3c7bf5263f976e9033c57e7335cbbf833c1629f33eacf2513502d11e35a632cf3ca7a5933ebeef5c352db430356e9e323dc4e9eb3db41ddc3417a89535aa89a33ce71d963cfccd85359da37f34c1ff8c3358d24f344fd55d34000000000000000000000000000000002b70c634147d7134c2428834e209c5347d56953538456834153f98342583ae344db5433505224835d1add534d84c2235cae5d2340f966e34e8092d346e4f46343c84e23493efeb3465849734ceaeb33494bf3c35a8a55e350fe8f0346bcb1535ec300334833b573300000000000000000000000000000000000000000000000000000000000000000000803f0000000051550235b19f8e390377763fdaf1e534a8bfad352e91fb358d975b3f1c694735c7eca835fe5a763adc34323f6a8a1f352d34563805f8e23ac3cbfd3e29c4c0343f7a453790e6183bec389d3e9619293770588835dbc2643a1eb7133e74af0a35887e88367764393a2c47043dfc911137000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000289b0b340493f433585e53330008da33931ba1343b4eba345316c3349254a3340000000000000000000000000000000000000000000000000000000000000000e622c334efe5b134eed794341d6fa2340000000000000000000000000000000000000000000000000000000000000000000000000000803f000000000000000026f1b2375dff723f0000000000000000d6c61b38badd4f3f00175d3576aa8b348c89793a7d412b3f49aee5343dcbcc342b6cd13987f5013fc0289a370000000090beb53c7119aa3ec9d1de3724bc073760d2163d769a2a3e7b67ae388a57d834c0b38539fda08b3dca3f92371d0c6936000000000000000000000000000000008348fa322843d1329dcdb4321e888c32418a9534075f8d34601a873487a670349712c5344145a33474deb934520bbe34fb8702356ad5fd3433ae08357b00cf34348527359cbe05356fc22b3520132a3588b7e3349c41c9348b12d43478d9d434ca451c35e4e11835fa2f09358fb0ff34223c6b34db03013413b264347562b234f4eed0349ae6d234db18d634a36acd346e52b7372833803fa73a303b6b7f883737ffe337d2a0723f262f8e3733e49c34b292133920994f3fad5a11357c31ff3446b38239940f2b3ff043ed35e7e607351de0ac39d12d063f591d48370d3784352e2ed139ddc5bc3ef3b67337fa230b35070a223c8a44563ed4fa69394cf11c3529efd2379152ab3d6d7d7d37c0fafe347da8663573418637222a0135cc1be9340000000000000000000000000000000065d3d4334332b1336b832334cb9060349e77ca349b609434a0fa9d34369db23400000000000000000000000000000000000000000000000000000000cac2c433e8e7a334b9b7813499477c345b6f9c348c4d1f317b3adc313c355e3383136733000000000000000000000000000000005310e433d4a5d13200000000184a3534000000004e58693f91aebc3d00000000fe9ddf3478a6733fc4be4b3bc3892b3411f00a35977e533f6ee55b39dd52ef343c41c6374b832c3f0a5d3337000000002da0f4373f5f043f8678bc38000000009213bf37f3f9bc3e5fefbe36a36ece3426089d370a4e4b3e564c8d38eb403333cbbed63795d9a03d322fa4380000000014dd1b37c425dc3778408b3718eef2347c9f77350b0d59355653213571b0ff340000000000000000000000000000000020ff6033f6e1d332a4ca863146cd813181cdec34b026fa341dbbeb34ac6ad634000000000000000000000000000000000000000000000000000000000000000035d3c234a59eda3418edc334b85cb8340000000000000000000000000000000018a44a339daa6b33796437331a7a8a3317153b356846383f1b87923ea3736f35264e7534a0a3483ff928313e9ce4cc34578ca9343fd1433f7a5d443d7570a434579db937c18a293f2316b139c9b90a356638c137367e043f9958c03700000000b1f6ed37324bb83e9f70e837000000004220a4382c54543ee269af378296db34a1a9c43710598d3d18bcbc3700000000fc01933795d7f237f4b082372a0ae73381a81534de46de3385d792333e0cb93300000000000000000000000000000000e71f0e356843ed34c5e0e8345675df34251ab53414b8ae34c903aa344a8b803407b04b35c57c4a35fbcc82355b9c813558de01355d7ff434abe6f5340396fa349d4bd934ac07c734b0879734551082340000000000000000000000000000000050668f34b7dc8d34ffaf9434fa4f90342b3618368212033fcb0ffc3e1fca5434b40d11353a16143f678abd3e00000000f59078367a64133f78c9773ec1ff23350feb1d382bee093f5b61f73da0b1d634150b39383be6de3e74de8c3d4a033b37ba4b533832bbb33e1222843960900537e1fa713813c53d3eaa34ba3b2c32f1340506863724066d3d0c0c013700000000f09a4f364e1023371267b53459b5a0346f395033a4ef1533a49de232ab3e143300000000000000000000000000000000cde2a9348f567434cde430344f226f340000000000000000000000000000000000000000000000000000000000000000fdf0df34f7ebce34a248b2346f4bc434f2248831d6106031cca13e3255fc2233000000000000000000000000209b6534abf22435f8730435ddd62c3528277835b4abe637cc159c3e441a333f9be674322521c237088dbd3e5f30113f00000000e1a52437344dc53eb4d9d53e2cd9ca349c060a386b02c23e53ea8a3e000000003801ff37dc5db03e68ab183e000000001d27f237ce28993e6883463dedc6fa342acd3b376b85443ef0af803b472e0d333afeb9375230453d4258823700000000f3689135f6228035bb9d503590aa5035a4cab9348fdbd633000000000000000000000000000000000000000000000000ed9582332f349f324ff772316b974f31bfb3e434eda2d234c719b434c69fa2341e8e1c34220bfa33aeadb2332db22331c9be20321571333000000000000000001993f834274e0335cc6e0035df90e334ddb6813451926434d2a26c347ffc5634000000000000000000000000000000004664ed37e6d0f23d42c1623f500ac334314adc385bd6293eb60c433f000000001df7f039a34d4a3e0f761c3ffc159c34a8bfb03903e6643e838ed63ec528fc344eb1d839dff85d3e0ebe8c3e0000000018d2f4378a515a3ec9b8fa3d59d4263458458f39297a1b3e6816003dbe3307350f856737393f4d3d33ba1c37348c0134e1bdc43225fdcf327db76f33633f2b33effca334ae14813422233b34e63e4d34f3547633000000000000000000000000757b0e35d628ea348705d334db69e5341e1fb734ecaaa534528f983457c38034700809358e59f1349404e734e9dfc334dab5073506ab02358853f1344a77ff3491b3b734c636a43476bc8c348bbd7a34c7dfa23433c397349a0d9b3433098c34c2f4073356261a33522322331f3a1f33f92f38388163393d6b60753f062fde340f660038b825a73d4c19573fc5d3173514e13b3a4a5b523d8ab63d3fbfda1e35e15c153ad6c9a73dfc6b0f3fac24c6342d5a9139bca3dc3d6b64c13e3e66a735b422c83880cf013ee1265e3ea8b12235f0d369395f37ec3d3305aa3d5420a5349f150e38102b683db3555339b5fc8d36a882ad37cbb8b937994e163613f90f330000000000000000000000000000000000000000000000000000000000000000df69b434ed118c3469e23d341f326c34000000000000000000000000000000000000000000000000000000000000000092dfa0342c959d3449c2643408178434f63a9b33c6722c339589dd32bb5e9333000000000000000000000000000000000000000000000000000000000000000000000000000000000000803f0000000077372838d1acb13c03476a3f00000000eebb333aa5b0813c2d444a3f874eb334cec8cf39960be03cb4b5203ff5b4f4367b38383859034c3d373be73e9af38437d0cde939d66b8a3d44cf8b3e67c39736eb1c1c386724af3d4f6ee13d5363da37efe27237cff2f23c02acdb3c085e52360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fd6913370c5693394598d339cbc0b332bd189346e9db033c83bb333479ea733f6003131000000000000000000000000cb91523382556033c5845b33957d3b33091ada330262ac33df2ee833a335d333f582aa342702aa34f1bc8b34e14d8d3400000000000000000000000000000000000000000000803f00000000000000004fcf1c3d10bb5c3fa8e661370000000067aa223d495f313f58b2f633a3dddd333be40a3e84f6ea3ed6fc7f351f0f3135b0f9333e40a68f3ec0a80b3700000000a2623c3e2776123e4dd2b9363c238c33ee55043e3e1da13d16ce523730f22c3425a84a3d8d3fe13bd73b07387b09a1340000000000000000000000000000000024d93d330000000000000000000000002a393e337d9a0633e13cf33208660233d26fdc348e95ad34209d843462b32634e1243c35e3833a3550d43035223d1c35333f2c334e3d25331ba915338e4c22330a7f9234aa764434b0327a33c64822326bad6634d99a6234b81e6334e71a3134cea4413390ec40338b6c1e33f21e2033cf9bfc31c856fb313feacd31790cd03171022139af57803fd3d1f239a14c71373185093dd190633fe107b73790f18434ca7e3a3d052b343f85458735b85c683501d3083eb12cef3eefc4c6357461a835bba1423e86378f3e8a2d833410dd6c3481f4533ee2cc053e3a3961378ecbf034307c083ee2ffaa3d40e23d371e62d33444cc663d4ba6133c8b9fc837f5846633f42b7a38bf366737a47e08325887ef313df30e35166dd534c7ad10347651ee323c702f34470c04345d43c1335094b533046c8c34050b4e349cc94a34a72b3034558f1d351da410358839fb34c4b8013500000000000000000000000000000000472922358d050635947f0f35a6a90f3522552934b5432a3412245334df086b340000000000000000000000000000000000000000000000000000000000000000f6eec7372a0a6e3fc5e4953dd92f5c3808b84a3c139b703f6bad503868fd8934a2e1c33c97fe3b3fdbeaf636b5200e3575b7003eee65f93e648e8a37250286354941303e15dd9a3ebe437c3700000000a4cb413e2daf183ea34acf37503273354688fc3dc6c4b83deb85c4378bdab0343b204f3d10a3973c4c2e4d38000000001e8a5538670ccd37af72d933690dfb31d9a0e131726ece31ab42b7315dbba03100000000000000000000000000000000059c8e3473776a34ddea7934b65c4b34b9885d3452bd4434fa21573420de6a340000000000000000000000000000000020dab634f96b9934c9bf9b3499128434b6eec733333aa133f4c2bc33a1c8c3336a6a3c34dd572e347c050234b1af08348d4f523440ba67344eb49b342d121734392c833841bc393f217f8e3efed57f3805a7563d0638593fe8eb743d000000003d4c483d1fed3c3f44cb303839f83035f3ea113ec776fc3e47ab4b38ff2e2e35ef9b3d3eb215993eff60973700000000d6a1413e7e6d183ed2385436b9fdd83426b1013e61fdab3d58b7013891f3fe33c180363d88f8823c4dd370386cb01234a5cc8b3777879534edad2934d70c2334fc890331ac2dde30d322b3300e14b63032f195339f427f337401383326f10e332294b43411a29d34b0413b3476e130347b79cf34638acb345f4cc1344bd49734efd210349c911134da6e12344a781234234dff34209bdb34b44e9a34fcd393343d2e7834716f8a34e87c9934279b8a349b8d9e333747a23335e7bf339c79d033bdd909314bdc08319334e03025d7e23048b9cd38bf9d083fd067f03edea90d38280a883dea11203ff7e0863e927ddd347c2a953da5441b3ff5d6e43dd40144355c86333e8858fb3edf084c3935a1753540cc473e72599e3efa21e737395bc834bf9c423efa221a3e43014d38c4094535310c053e2c76ae3d03330f389144e8341f793f3d14731e3b4c3e7638540c6834c3391d31e6960f3125921531ad0a033154176234d4b102331ed0d332f48fcc320c7bfd338deeb23322d35b337bed5933ca6732345eae1c3436ca033482590934c0a59234381f8534b74c8734402994340000000000000000000000000000000041da1a3562540435d256063526300d357be25b34a9e059346a64783402158c340000000000000000000000000000000006c30232c8a5f231e7bfdb312eebce31a5360f393806ad3e29452a3f13ac16354f80b03d9cc8cc3eee37ea3eb0f7603497a4b83db9dedf3efd18893efff89e3432b7303e8868c53ef3b5e43d26a44535dac15d3e08c8973e5fa02b3c0000000040774d3e61002f3ebbf2a138557aa7367f150a3e6737ab3de4964d38fc4ba434185d283d1658913a7807373800000000e50dfc3430d9c534de332f343ecfa43300000000000000000000000000000000000000000000000000000000000000007ebf4d34cfc3383467b04234daab013470c23a34d458273414e9343440f14c340000000000000000000000000000000052e8fb34e42bdb34babb993451ef5a34acd77c33a100483371cc5e33fc417d3366f680343cb3763484744634c61a4a34c7f4df34d91eea34c2f00635e970ce34cae2f83c299ff33dbb905a3f0000000013bbe33d4f70313e08aa263f00000000642cbf3d1800823edd1ce43e05085c357ec42d3e0a80853e9efe733e0c283d355788463e526f583ece2f043e000000001d535a3eb4bd2f3ee656143c7a8539377b5f0a3e96f8e53dc32c2f3988446736cdb0353d95a3de3be2ec3a38e57d613401bd0f35783bfa3439cbc734bf86ca34de55ef31d4b5c8319f93a031d1a4a231dfed3233181a16335869f132c615f532fc8fa934577da53469be2c34a9794d34634e3034d47208347de4973399f316314425c3321ec6c2321ee9a632f8b9393270d14f35a5c543352ed51b35c9562235d3fdcb346061cf342b19d734696db7345a71ac339e03dd333478dd33be07f3330000000000000000fc2e3e33340b89333d06b53a7ecb763db80b713f736645372793e43de5548e3d660c423f4a8f0434fd5ddd3d44d5c33ded17163fc0e130359164233e4fe6163ef7c9b93e53fa3a35eb3b473e23440e3e285c533e153fbf340453493e96e8063e3434a03d008e1736e745ed3d475b043e24a53a3c7de41a35b1a0433d4bfa093d01e4c838314f4434f24cb33399fa5532000000000000000000000000000000000000000000000000de4c9d341944833416df523498015634dbdbc334d258b23459b58034b4748f34d2308633aa9b5f33cede3b33857a2d330000000084d8fa320000000000000000f05d5a353fac4f35241541354499533563718233bb0ba033337bde33f89eeb33000000001b96c2320000000068c9cb320000000000000000000000000000000000000000000000000000803f00000000bf599e3dae75383def61533f069cc0341b0ea73d3115133d61702e3ffd69123570f1203ee1d87b3d44aeec3e8651d334c592393e7aa3983de13c973e7f6ce832cf82263e768ce03d0b09113e87e38b3557ffd23d9bb7f53d774e4e3d94a99233a0854b3d0cd05c3dc98fe3386003243800000000000000000000000000000000000000000000000000000000000000006417553734908836b6900437f68da737b2361d370514e636b01a1a3779f12837f4a5e4379f28b73608beb537219d2b3806f7b8370828a136663d96378fbb033858c31e38e5ecb437071e0e38ee114038c7a9a437569127371a2c8f373022c9372927ff37b630bf378551e8376adf093800000000000000000000000000000000000000000000803f000000000000000095b61c389de97d3f98f61338f682e5370bb02f3880f4523f2782c7371e26613722b48d3818f7293fed76783888a94a38fefd8e38eff5ff3ec4133d385b59113885c5e639b228ad3e9dcdce3806c4423820bd09380f78363e634fe8372189bf37a34e2038df36363c87550e38a69b003800000000000000000000000000000000853dd235c281b8357a3fd235e2bdd935d67d5f37e67e81365a190e37c349b337825adc362f462a35a44b7835019a8437dd7b693729afe536032f5237535786371a77c43764d8d336335ca437bbdb10382e28f63778df54378234d2377e6e17384fc77f37681aa9369c9c2f373f15d137702e01388f93b4377ab4e337990a09381d70b437e6349e3727a5ac3793a2b237dd08c93502e37c3f9299443c269fae36758bfb37b175753fa325a03c614d05380685f33707f84d3f47b0913ccd70d937d6301d38cb70273fd0a9393c252be63791e0b13963ecfc3eeccb8a3b43a78338250f3d38be6eac3e6fe7183acdf923389e2012383fa2373e2c804438d58cc437ee590738be51c23cfec01c38cbf5f337f358943759cffa379030af376a9e9d373556a837a5731f379388723721b3c73765198b3751cd04361b40f6367e909d37a53b1437f4dd7136fa9cb8367320243759573337c53b12360e87283684b2893728421538e0953f36a0b75637d61d38383fdf1038d91dff36a911a83797f22a38d769cb37dd9bcf36f45983375abe0238695137387035a1372ec5fd37e6d44338fc364338360d1d385024393885334e38ecda83374c38533f70b1323ef397be376db6b5377f684f3f4739323e27b5d33763e85337a02e2c3faff9213ee15841374582d3371b360f3f107ceb3dfe6fce37a6247e38a656d53e2336aa3d5c9a553853984738b4f1933e768e103d85d73a38180f00386d182c3e58e25e3808a7e8370aba16386b64b13cc9238939a2181138b9201c387b137438cef35338c83229388cad003854ccc0378ee1b83776b504384d931d374762a936ca00b73675251b374d903637a1e70f377da019372b9d35374bca273865ceb137c41ed0370d65293836d4c337ab5df53625bdf936d5c0e437714e17387f895f37e20d813720621638c641d0375bc86637a6087b37f472e93787c82438f34cf93729c50c380dae30383a910238debccf372247da37de6c0238ca24d537f8b9293f784cac3e9f5fdc371be20b375734273f1ef6aa3eb4ab1d37973b6c37fe350f3fc707923e9a53513738444838f5dbe63e32b6613e9f753d3888770f381c74ac3e1f8f263eb3ae0038ea482e3875eb6a3e1961c73df54f1c38d3e8e3371d0c003e6b58143d3f85ca3707331b387e2f873cfae56c38ec181c389d01b337bf812138c1790038229cab378d2f35385edb1938c97c0838e1d72538e39d15384c02b037cab597379877013853ea2b38bd9fb43770299a373f7b1e386c6c09388bb4f2364fd4ac36357df637f2512238fe6ac837ff68c437f1e90e3846fa3c384effb4372acba937c9cb3538116d713889812e388b5731386e6e7538766a693832734038e58843387734723867ff5f389dbd4638c4504c38b41362381e8f18389c51003f3e0eff3e18e2133891eb17380891fe3ec8bbfc3e97df073814a548382ba2d53ec7ead13e81c535380f633238e2fdad3e7666a93ebc7c1b384847223937a2813e26637c3e2822323873394c38d7722d3ec88c233edfa23738aa7e7238a7ecb83d7bf6a73d2deb6338e8d0523815480c3c497d8a39774c4d38e8414138f935013920647038a4493538a22eab37dc458737b8ea69370b5b8f376ef3ca3706a92337a5401037d8c36237abaa5637ad820937ed38bc36ca4e3a379ec0f9373f2f3d37862e1237250e9537c1120238f3c6fe368b79f436253baf37d7d54e385c2c1e38c477053826e43e38ba34dc37d4b86637068f3c37a9c1b73743da36382066c5374c6fa037c7862638eed83538fc33193835041e38d4433938499e8d37502bad3e2851293fc46d8237695edd378573ac3e1e78253fc4719f37a4a08337ddfc933e30b50c3f151c4737d79a1b38dcc26b3ecda3e23e6af9fb37237612386b842d3e2a60a93e364ffe37351a5b38c298da3d84ee623ebe224b383530cc37174a0a3d239af83d28cdab37123cf637f797533a2ebb423c1162d337195a1438de564f385fb95238c5301038be721838cb59db37a89805378144b137890e603738eb003732adb13670950a37daa150379d576636a7d5573602c86736baad0b3855e80037c43b6036b83a823762fc4238bb4858379f503b3639efce37e6facc3756e7403750062136e96d87373b04123855184837bea02737a0727537b260183827e3fd37a029e5375922113891190838cdd1e137321be237edd10d38d6911e38a94f343ea4ce523f9286ba371e91a2377f9c343e27294d3ffc0925379713b537ee74293e778b2a3f6b745f373c1a35380335fe3d6e290d3f7b031a38a87603392d5cb93d917ed13e755e4838b70ffd372040363d01cf8f3e26bdd0376ebe1338e2af133c7ef2233ec2efb23778cf11385998533834fe7c3c4dd904381c98de3741ad203856c523387b3fb8378c689037c58b3b374035b235913b193768448b37d5bf88366dba5a36eace6d36d8eefb36fdda84365ed6c7356d928236d68e0138752187378800aa340a8a8c37819123387717a3379336d036a86aae372a72d1370afc803755e93d37f6e78537e9a5e137d40090371c8609372198a837d6ef1c382c4104382754e6370edd1538a9c5be36f7704f36ef3f3f3686c8a7369515b03723d75c3c237d7c3f364e523791dde13711e6c93cb58c733f8ff99337a98eaf37b257cf3ce38e4b3f924b8d37e4062938680a953c46e4243fdb942238d2866539028f543c5fd0f93ee2366238195e0738041e6538de37ab3e657a0438710bfa377c68e4391e39353e1895f53783ba1a38212d903954e9ac3cdd0c183827726f36b0711d37e9af6d370467d235000000000000000000000000000000005031a4376e48ea368bd64d3672329d3643e9873730e5c836b2040d367fb55f36606228389cc9da3763cfd03624ebc037b91bf537579b88372ccb9d362f698a3777844d386da40c383a35803766e30e3892057d37c5b95337434b2237297d593785c609388109f137d0ffc7374fb0ff370000000000000000000000000000000000000000000000000000803f00000000c976f237c8181938f6127d3fa8770438eb47cd372fb003389e50523f0039e937d5ee4a387eb99a39b30c293fa9ea533920171d388bfa6f3822cbff3e3e9e43386b5e5f38f310833859d6ab3e0391803864a381375bcbfb376ff5333e211506380847073808781c38d8ad003cc75819380000000000000000000000000000000000000000000000000000000000000000a069a136dae1a834fa62b9350373bd367ec4aa3772b50a379e4876378e30c6372ab49f37cd660a378c436937fb35bb37cbfed0378fe05b37f4fba3375425e7371757df36ba76293633a5c13672871137d3e01b388b24fd37dcc315385e792a3889d1d437b4d7b437d55ed7372cf3173800000000000000000000000000000000000000000000803f00000000000000007502463ad2a9703ff68677394dc5d6376ec3213ab75a4a3f67444c3999e04b38bcd14c3a6c3a253fabaeb439bc5b3a38f6ea553a5e7eff3efe03db39e6573839c050223a8433b53eb3b6a339c2145b385c59cf3978c0573ec402c8381a865d384e23b63933565b3dbd41993861c9753800000000000000000000000000000000339f8a37c7271d376a001a37ed84893723b41035b7980c3524ea0c3533df0e355bcb9635695f8e35627091354dc293359764dc354a14d435b940d9359119d735e5b252377fd74836ccb8f13658c36f375562ed36bcd7a6362b4bd636596601379a168f36603a153634278336db2ca136bf1d6737dd2a053775634537d11a9037441d22389d651438c5e81c3888492a389b370d39df6d6f3f8ea4833d31011e386db9b1391a345f3fce42873dbec5cf37f5806c383e353d3f72fd7a3d09ab74375f92823aa0e31a3f9a063f3d77b40c39bdc6a43aa31aee3e53f2fd3c291a103aa9c72738091eac3e9ecce53b29b6f5371183963833e54d3ee0428038790bfd37e927153ab4d6803dfd12e13971ca7639ab72933840e1ad39882d3838d7b23138d840a63794db7a37a8fc62375eb89237b2a90535f1260235a27dff34b5d00235e89af6347a27e934f9b9f03403d6f6341a4b9b37d64219374cfb3c3784b28d378cb02537efee98362040c736c64a1d37610285370de7ca3625d31237245085373c81b6378f13b83608cbcf3699a0c9378f741b38a5690138331d0a38e38c2238fe342c3811ab1938bf4321387973b03868b4223926364a3f0a18563e19f634382091c33882a03e3ff8fa4b3efce6d137449106388ed11e3f6394303e49f0703779e85538ab93043f85c40a3ef8112b38c5dc1339ed1ecb3e8b7cd23df28af537387820388bc6923e5b516f3de0400a3880ff06393984363e867ad33cc75d7b384a6a7539643a6e3df3a7c739c4783b38848aab38045ac53997fdeb38463a3738ccc61238629a0438da30f3373ff104388435ff362b07a33679cd9436da95d236a3501b360bcd17368755193691b91a36df38543523ea3e35c36446352b0149359d708f3584c2293545342735f215283536b05737d37a8a364c829b363e463937c1977c366c7b1a3585f31c3599af4b366eef38392138aa37021fd4373b387a390c4c38395e464b38b3f29b38c35b5039c3233e385a33253f3e46b53e19e435389473023808981c3ff242ab3e0572da37a037583812cf043f74888f3e67911338ea9201387301da3e00a7683e3b8ab0374776373a9216a73e7d21313e2feca639a0894d3811866e3eb431eb3dd2ca18380e23dd37d945113eb0a6783d8fd8a537cb76e139cb20483d1f1f513a9cf0a1392d553c394b2af2396eb49039929db3384f972938cceb1c381ce011381bf91a3812f639378c830a377467e8369b361637821993379b05f536b089a836c96a3d37bd5c7137c93a33378d8423375d7d4c37a8c7d237f3659537cca58137a149b237a965d13726cf7e3713c877376bae933772affc37453fc1379897ba377273ea37321bdb370995b137345aa937078dd337eada8239f9a51539cf4b2839f83a9339c9339f380e7dff3e895dff3e16644438e4f9d8375476f23e34c4ef3e1fcdb13724a32c380755cd3e48fbc93eb1d41c38577083388d70a83ec8e9a43e35ea5c388b86523abc01813eb8717c3ec7d81d3aa76f8638639c363e2a812e3e48487138e1a93538b6bfd73dac43ca3d83072c38a72b03386363023da0ffd53cbd4afb372efa75395f66ee393260bf3979e3243992e1cb3748e8aa37a4e57f37d6cb9137ad601035c0570c35573b0135300a07358c6c19353c8818352e541535d76a19359fade136dde1ba34f764b33401e5303590824f35fe682535c6a51d3526512135e91ab8360e400d3602835c355a5061360372c73710042636611e2636471d4337fb50023886d9e437f184d437f8d0fa372926363893872f38c9592a38620b35389c36183805e4b53e989e243ffbd00d386248ff375627af3e9d5e1b3fb34c8637ba288b375521933e8186023f6c75393777e72938d990703e8782d53ee4bf0938dc651f3ae4c5373e6760a33e6ffcf339d474f037ca49fa3daaf1653e64b9d3373a0b6a389db7893d969b083e416d5438a5f9f138a496323ccdd22d3d289222386c6840385eabcb38b3d6a738059a3738628cf237cb8cd03710abab37a33abb37f3207037c843ad367bb41036f15a983639d45a361ca9cf3572c5c835efb6cf351db203370ad3cd33b807d033458ed23364ec3c37215feb361fd94036d86fea36fe82eb378c64ba371fa98a37d32eb5376d58e03619989136ec224a363c4e9d362c770038f1a7b037221a66371d50cb37ba061738081203383a5eef37b91d1038111c43387ca8573e92d3493f5964583812222f38b00c503e9fde3c3f67cc2838b3376e385179383e278e1d3f5f556e38ac670d38e2c2123e5cea023f0f58063815662d382e6cdf3d3d38c83ed9832c3885334338d0bd8a3de7a58e3ec86c41388353eb37636e0d3daf94303efe04de37f6948e39ac41343a7787603d300c2039b679b0389dca7e39e9059839def72d38b507e737f811aa373e946637e36a86370393df3515c6db35bdb6d135baf5d8354689613545676135d5594935862957350241bc36f4966936c15a9835dd4628369e128e379a5210371a0cda352ffabd3635afb1379fcb923696c2e8357b9eec3546ebbb362e2abb35e05fac352db8af35bf7bbc377d7888370d061e378c4b86371be70c38efaaf9371248db37194afb37acdddf386a54893dba936e3fb7218139f8321e386e95913dd94e5d3f46781e3905a20338a1f9893db9313b3f10b72038890d07385160653d96c6193f1c800f38653b523abd2f213d5bfeeb3efb4a773a3ca4133aac1e823c15fda83e62372b3a47161e389363f6384a1e4c3e3c442d382828d0382e24da393f8f793d0b581c39199d22386853303836303938cd7a1d3800000000000000000000000000000000f76d1c374cc1d53523885735a6779b35c66902387085ad37fec6163718bd7a374ac5d0366fa42a36c8fe27366d032b36c5810f38f4e3cf37e2bb5b37bda3aa371fae0a38e70ecf370f6e8437b10cb2379efe2a3894450f38dcfdd13700ccff37a580d537bb1ab9373109a2371ff0b4370000000000000000000000000000000000000000000000000000803f00000000d7235538ccc268396d06723f294c65397824643862309b392cba493fe38c8f39898a5f39ce120b3ad1c8243f1994033ac89ec1391151213aa2e9fe3e7609263aaf4d90398d9dfe393435b43e4ce2f9399bec03392c939e3968cc543e7f83a0394f517b39d093c039777a6c3de8f4dc3900000000000000000000000000000000000000000000000000000000000000006915ce371d93c137b0b8bc371cd5c1379555ee379b7fd0374077ce37286fdf37cf5b0d38a50403389a080538a5e30a389ecf5638294b1e389e161f387c052138c3d711380a24d23712b6ee37339b05381ea71539f7e7be386ff3de38e7670739791dc7396b1d9e3931c3a63986f5b93900000000000000000000000000000000000000000000803f000000000000000032e60e3ac6d0623f55b0f539ec7ccb3902be643a25ec413fc068273af111d3392a465c3afd98203f9adf183ad120c8396b04593af72eff3eaea92b3a6fb6053a5418323a082fbd3ebeb8043af049ca399751de39ed6e763e54c0c73919e0bc39dce44d3aaec1e03d82313e3aff8b383a00000000000000000000000000000000079e0d394a437b388e46333810cf36382565283830541b386d691638f0801a38fc698838bf17803815797c3881c8803858a7e53758cec537e9dec1379412cc37721705385bc1f237bf72f437059efc37313029391bf7d1376440dd37513d0f38c6377039bf0f3539b54f4a391bcd6c391094ba391a7ba6392e1da739ecfaad393c484039f9b32239b5341e3918f32839b369913a0ee6603fcbc1eb3dae28503a4a985f3aafb8483f46ece43d8bd9a339af637c3abbd62c3ffc41cd3db38d1f3a45569c3a80c20d3feb229c3d6c21003a855d483a2e15e13e7e58733d12a6183adf76c93ac093a13ef3b7f93cbc94a63a82c5703a8a49603e493d5f3a946e2e3af264753a5534cc3d94e6613acf35533a5fff063aab8b183a7129df39c544e2394bfa8e3922fb6e39e41118397989213914820739456d2838f8c2bd371edebf3713d81739b6a4773823e0d137b72e50382112a937fcfea0378b65a037c3c3a237c909f939989aa639a7209339a536b2398eef3a38bb722f3811272b3838c42f38e0fc383a531f2b3a4bba2a3a2915323a7409ec393f18d7399e95ce39faead739e12b2a3a5bde233ab86c233aa1e4223a48b25d3abe48403f486f773e3985383a30ef483a822e2d3fe36f683e7e541f3a5b8eb03c5ea8103ff68a3a3eda3e3f3a009a383a881cf33e264d203edfcbf5395024bc3a1d33c03ea50cf73d43ad923aa479533a2d9f8e3e9ebfb23dde21253ac37a7a3a81b2393e1f025e3d99be6d3a1eba233a0d80bb3d57db283a3c36163ad54a483a2c01553a7c60443afaee3d3aeb35d439e341c7390f11b339c041b3395f23ba3838b5c037d3c5ad37ccc5ae37d30add39d91db03966a997396163a739bea8e638a48c3d38bd863638b6433a38e1191138585305386c4101380d4905383c27d337e4c3bf374280b23730fcbb373ca6fe39f6e3df398205d639a3c4e7391a9ecf39dcb9b839b3f0b039ac8fb9399bb58a398142803903ab7d39b4b181395340263a60ba1f3f8f0cbd3e9fa41a3a44b45b3ad5b50e3f87f3a93ea16b1f3aef05a33c6d73e73ecac5843e8685973c83f05c3ad23fca3eca846f3e12dd2a3aeac9b73a472aa03e23d83c3eea35853a1258893a8da66c3e7cc8093eadd61f3a90d7473ae577193ed6c5ae3d6c22393a8988053a10e88e3d203b183ded3dfd396ef2c6398169e039c460c239d7e5ab392302bc385c13873871ea1538f5c6093848c72938ab7d2238c3cb19387f941a38362f1c38ad6a1038f3100738c7c50838aa99eb37b675c4371dbdab37ac4bba374b24b9381ded3e38cd6e3b3837743e383a711a3809c408388e36fe3737840538e4765b393626243910daec38493913394f709f3942e78a3989628439f0be8c39ab028d3903df75397adc7239cb9d5b391addf8396130ff3ea407ff3e4560e1392552503a897ee33efcd9e33e91ce173ac627183a44a0c23e72f8c13e3363c4394bad843aaca5a13e8ce2a03ee94f233a5157603a75ba7f3e396d7e3e5d20373a4788773af1753c3e6ad33a3ec57f333a59eb113a9599f53da374f23dfe96e439c774233a75e35c3d400e593dc510063a4a14bb396804d139e499be39fb10a0398e42493983ac273985b40739f100ec38a5d0b137467ba7373b79a13745e7a1374fc184398c182439388ec538b292de38db0cb437de8d9d37207e923783709637f6071038780e0638657dfc3705a70138535278390df918393f7dcf382fb7fe38fbcc1c3af14b0d3ab690023a1cb8073a5440023ac174f2393acae5392980ed3926f7fd398500f839e7a3f43928cbf339d667f23903f8bd3e90ff1f3f381bf1397a63073adf22ab3e13290e3f81d5f23994b7463a24a5913e4c37f33e1cc6393aa70d823a78fa713e8af3c93ef0c8433ae24cab3acbb53d3e71fe9f3e499f8d3ad6f3473ad3040c3e8d0e6c3e16053a3a88c7993cc7a7a83d4f7e133e2f9fcd3a4f3d443a7a971a3dd83b8b3d1cce353a4032143ade58173a3505183a5fe50c3a14b98139d6811a3959920c3997b99a388f23fe3704d2e4372a0bd337e888cd3780a1ee390476be39ded69a398ba0a03969872e386cf91f389f6e15380f7f1638fc53ee396e36a039d4663639e1605f3930c4b33774f1ac37e278a837a0dfa9377a18f939e3eddc396c49c7394e18d439cf5c253a7d041b3aa8b2133a4d031a3a43420f3aa285093acb92033aa072073a00f5553a64c4773ed409403f3f56563a3acb033a78c7693e34f92c3fc504e7390365723a8886403e498e113ff7be6c3ab98b423aaeaa203ebab0f23e2412393a9263a83a2b62fa3db99abf3e2871993a46f2223af23db63d6de38d3e6b870b3ad725883a15444f3d8308343e66d1893add06433acb185b3a87ebb83dfde3403a881a353a8056383addfa453af9052d3a48922338774d1538cb800d38567407380b220038b4fbe237f59ac83701bdc6377312243810c41938fb2f11387bda123872b8a5377f5d8a375572823733758337faba3d38cb50f837dc65df37b55be237913a0038e201e9371962c73725adcc37133bbc395c7d8439c9f3b238b25d1439528497395e0b82393eec4e390b055e3966e0df39fa0fce3958e4b939c618bd39b3cf3e3a589bef3d85f6603f6a8a523abb855c3ac108e63d4f42483ffc95613a9cfaeb39b9d3d13d6c9c2c3fd669c3394fba983af7bfb13d6dcd0f3fc94f8c3a52dd313a30b0763d2b2ce03ef53a243a4d4a713a32742c3d8efaa53e8756603a296f603a2a08753a9e91603e2c615e3a7443f43942ba113a0ec3cd3dfcfbdd39762f333a98542f3a7a0c3b3a1dbd183a00000000000000000000000000000000a3282f38e6872038416c0f3843061138d0103f386e963038373f24384c282538d1bdc23775f39f379453853787d78737cb18d1389b793338459e1b38d32a1c388440de3879542e38cc270b38a7d40f3833a82538bc1d1d380cab10386d56133823b6a039f1e08b39231c6339bdec71390000000000000000000000000000000000000000000000000000803f00000000d5045a3a8d47743acc4b623f44936b3aed37d3393b73e939f49c413f0258db39b100003aa4c1183ab38a203f7dce003a87b5343ae1c1463ad480fe3e812e323a01f5243adf703c3a0cadbc3e43851a3a957e343ae082423a75f0733e01b42a3adb71ea39c903ea396995e13d308de13900000000000000000000000000000000000000000000000000000000000000003c3a2136bc2c113622372e3641f73736ea143b36be982d36b1b93f36edab4036b5700235c5dc7d3425530e35fa4009358a00713646b83636afe14b3624e67b3739b97e367fae7d3699cd8636d70e883608438337c94ab836a36a59376a39cf37d200b937732a623740df9137e30baf3700000000000000000000000000000000000000000000803f000000000000000018a58337cfa77f3f145db23789d939378ac77437a9ed5e3ff7ffab375463ad361084d937047b2f3f571ed037a73580353a4448387b6c003fb48244381f1d0c384c78db372dc6a13e201ed737e0383637b5cb8538ccbd063e6c458738d1b51f3819bd3f38cb47993ad8f66538bde6de3700000000000000000000000000000000851cee352aaad4350f7b4836076fba36a0a09d3559e09a35853cb33514cfd43540c75e35eaf46135b3c06835c3c967354eacbb3388b3c0336ebfbd33e6c76736052f0634aa5ffb33348408346538983466e2db33934ce03326fadf33014f4e37ee195c3758740c37d6f028372637ae37e305d9367b8c6635d49d30367e7002378611cf36502c7b366c48ce36a2e2e63697773c36d2dc7f3fbf7ec9397793cb37b1c304369f967f3f9c5f8e3897fc2b36cf88b437f9e25d3f0a5acc387d4228386a5d353700672f3f2721283820256d37b1d9b5378bd0003f02b06138c8aebf3739256f3889baa43e2004d53879fd56381dac50388b930e3e6a0ff938b0403738839c3e3772de5a3cbff48238c5d69d37c7456c34d265ed37258cfe375b7661373bc6483617244336b8341037c9e35837f35be035bb80ad35a45dd2356946e1350806f3351a49c935346de63580570c362baf2636316119363ce52a36f2d12e368179ce3625d09f332665b835e3fc4337961b9637ca618f363c4c35379db4b1373615a73555279e357041a635baa3913687cb0e36e60a563535b158356123a435f828983783e290374f439f37167c9c374cb1453698d9623fc305e93d3355e637a3c1dc3540bc633ff773dd3dd1b01a3878a524361a43403f3bddcd3d5ebd7837d54833362a451d3f40d8933d4d3a3c361c66b3372f45e43e42e55f3d26a6e937d7f8fc37a63f973edc80bd3c233e193839da353715140d3e2420823c0dac9f371a9b363530b54b3a8c75283aca1d8d368ac327375493f637312b1538c3deb037b4989b3662ea9936a473003726c60537037e4f36fe33303659ff453633d361363c321d36e6191b36cd802236a4572336d39f7e3630923a3624f4453605d0c736a8c54337d31a0a3697ec18369e716c37d372a236e8e6a1367b4ca536f4c4a636455c1638937ad937eb18f837deb315387b52cb37f582993787fcb9376e0ad337a1e60b383801023886491138b71b0d3883f99d362824313f36a19d3e28be5d37f3915c36d533323f90059b3e72b872368214613628bc1a3f2b23853ee2208e36acbda637940ff63e8cc14f3ea5f9d3372e4111388c81b53e9709183e6a7e1e381657a636d0d46a3eb470b83d2f2aa8361233223814c9d93dfca3ff3c5afd36384a78ac37f457693aac5c793a1716f4375178bb37d4378c383e6f8b38aef00038fa0c4337bfaa35377ba22937bfe52e373ce6ec3538c6e9358b3cec350640e9351b978e35b9968e35c5059235b870923524376536b3593035f6993235b51a80354a0fb935ae0c513581855335505751357f8fd437ec34e73618bdfd36e922c737b1e0fe376d37a9379959a43725a7ef374a9f5537baee0a3747120637372a46371dfcbf37add5b5378afdc03782e4bc37dee72537c925003f468aff3eb8fb10372b18eb35c1fa003f64f5fd3eaa0eeb35f6025137f6a8de3e2cc5d93ee9530b37be3fed37fd19b23e0508ab3ea2f5c737a3479f373a30823efa967b3eae92763714a82a3878a4263e2e2d1f3efd971f388422163838ad933d62758a3d2b4e103821c11f37e00267381635a438f340023736829a379579313804702938ff02873742ccb5370942c6375309d336d13da536143caa36006c9e3643198f36170b9736ddcea1363bf57e36923e7036d66e7e3699e39f36f7009c369ae79a3686db9e36776a9937515718362b930f361574f736deb3b637f49722372a4d7a361c3878377b9fa4360a26863614697436dadb94368f47f9362ba7be36619e943610b20137323da037c3b9a337c677ac3795c2af3755ad043841299f3e3660303f7b449f366e1cc0366a739f3eb7c82f3ffce6a1368b48e1375b95893e9cf7173f6e37153712cea6366cb8593e0db9ef3ed295a0364264313814171f3e5de0ae3e5149f63775d01f388bcdc43dd880613e018ee03746d9c4362c3c103dc320ce3d42bda936b834183711e3013a322c223a375f8e3640a4a437b18f2938cbb01638deb32a3726543737fa3bc036f3bc2736be3a303689872e3517862f35d1d52b356c862f352f5d8835f39e81351f72783507a08835885c4f37a84e08351545a634f8e50735dd136b3731343535a2a89f3339609b35dff63836876c393683b5353610563e36ba106b371780de36bb4d3f368610163712f83b38bd022b38f8192f3847f94a382a14b237aa68b637cde2b037ff79bc3737b8b337f725ed3d7d4a623ff4e72b36c8053735d809ee3d7deb613f22fc3035c8660d37f200e03dc6b13c3f5dfe8b35076114382a62a73da284193f3c31843783bf0038673e813d5168df3e651596379c21d537e389f13cc17b913e89bd3d36eb5c2a386cd78f3c3618063e140eae3768ea8738db81573aa0489c3a75a0223842ede237aa054e38f4a61638c565ec361f5666347c066a3492745f3435016434ea42dd34db5ed934a9a8d3346f23cb341709b8367aed8e35a547b234fc43b1349503d1330c78da339c87d833049fd033f02f8f34abc40f34bf08063462000034e19c203780518c36beaeb235ee7e91361eb23938b09def3788c47d37de770638ad620637e10a4d36e53d4936c4c7f036adf7eb36a1c4d836f1fed0361a91f1363bb6a6373c4d0c398fef7f3fdf3465342ff7e63663d43f3ab7577c3ff523d63484bf07386658b33831585c3f3fc3fc3627b65438445bd63814932d3f0ffdc837cac8f437456a7538c84ffe3e0f998837ad35b8377bc26b38833aa13e80568e371df89938faf20339c125083e020e8c386714fc3743e39d384349c13a3a8d8b3794983637aad920386dd00638a8dab13600000000000000000000000000000000b232ee36c0f6e136e138d236d7a0dc36682678364eafc43514df963531aab53538447e36a42b7836f3666b36e9b27836b23ec63701e6e936043e3b36ab9b883693a47835b0c1663575253d355e995f35eaa37e371f071137212a563660a326378f58b2377d3598377dd88637adfbae370000000000000000000000000000000000000000000000000000803f0000000069945537785a1d380bb07f3f6fb9fd36bcedef377ab24c386f385e3ff8c1bb379e2a21375876c037f5232f3f8fa5653704312b38513964389718ff3ea43d4738c8eb5d3765b02e38e3fba03e7ad8093819f5be37eacc35389613043e7f1c1a387959c737bf12563822b2ae3aada41a3800000000000000000000000000000000000000000000000000000000000000005db2cb35cd02aa35acffc435f97fcb357b8db0349846ac34b5caaf347dceb1344ebd85340f6b83345d0a8234f7c382344b591a3564adf8344e52193562b72635d35a0b35d61a0a35e50009356a6e0935778f08344af406349cd50834fef998366111443706198636e8fa0537144b853700000000000000000000000000000000000000000000803f0000000000000000e19ac2373e34763f66f2b73785a5303647ba0d38b15f533f6fffee379d88103701055b38522c2b3fe5a2453898ead1370a567438a6cd003fc8d85a385265d03728348738b17ead3ebfe47e3815ffc2376f4180392acf353e80b9123995b881388c6891383e74243db11f97387797593800000000000000000000000000000000d35051363c053d36bace5336f6895d3684dbd236f7c4c436052acf36ff08d03622610e34e2700f34ec5c1134f35b1034c1f0703590e36f3594f36e3526876f35ef7f0137bbfbf3365813fe3686db01375a628b3330348c330d77903344838d3331ee523655484236637b4b3656104f36ca929c36a9e09d364d6a9e3657f79b3617af97344f649a349cf29634794392349a5da537c1f27f3fe6c694385f9402381c740337a816773f9e0b21381f440337a8aed83722a7513fa0ed79386a5516368397b4378d9e293f34703e38b3914836c072ae379637023fd61684386bbf453737fa2e38b3fbb23e3e0c843862748f373c42ff37002d433ec7534039a9d7b637ffd35e386e94503d9209f0395e99553887cf94346668aa37a7468b37046793347393683637ec5f3633c67036bd21713670e9133559ad153562b01535b3e71235d2572535a1262135928b2435719f203525fd4d35e06e463586754c35d7155335f16a77365a376536203470364fb67a362c4cb93572b99034e7cb9534e93f2f3567c2b836d0748836a43c923635a9ac3616b46136eb94663679e767366a9e633684ee2737049d1d3701f31b3730791d3756164b37caac5d3fe123093ede83023893d2cf366f365b3fee17db3daf3a3137dadb8638974c343ff325cf3d2e605c3875161738194f173f38388d3dc41fe1378c8a1c38c344e13ea01b773da2edff376a918b3886d49f3ea51f033dd1296538e5e339385dcc333e369db83c169d2238de23bb37b1ad1b3dacb0243c9454b037c9f25e37669ee8378262ec375e7b8737038627369fdc1f36c2e42136bcfc22365128a134b366a2343198a334fb24a43414341c35795c1b354b4c1d35fb1d1a354d7e0435c6120235bf870335717b02359b275a35c1494135166d5635fb025c35b19b103554a311358e7c13353a18113504b59c36f83d3f36128d3936977b81360ca98837a45205375507d8366c04253733045c37b40b2637579a1c37b04d3b37928c42369a182f3f62b3a13e7e9d0e376a7f92356b7e2c3f0696933e8ac0893584878136397b133fb026733e2042213579e1643867f1ef3ef4df413ea0e2233862a8d437b6bdb63e50c8153e4d328437277379384bed7e3e484bc73daac54a38f770ae38ffe00f3e972f3d3db7d397383cec3d38bb40f43c94c1563cead32b38d39eae3772f619380dd51838cd94b437fd12aa345f8fad34707eac34f286aa34399d9a369fd19336e76c943608c0953658003834dfc539348aee3a341fc739345fe3b134b7f6bb34e378b334c2aeac34fd8bc7362fc8c336f98fc436ec46c5360c01c734a729cd341f16cb34cd2cc634628ca936c9af6436f44a573627a58d36e5fa1137d25c0537e0560137e2480c37aba04035600b4e35b0f260353b5b5635f1c60a35e0cf003f6f66fe3eca99f3343740bf365b5ffb3e1253f13ee6b1b8360270ba37af67d63ef103c93ed735ad3662b6c834ea7dab3efe3aa53e1c4ac534410e0b37a91d853e38e4753e0215df36c2243436faf5413efdc01c3e1efcc2342c6d59381f49d03d0df5b13d23e8323864d01438a63bb03c75ca853c097e0638686530354d770d3899c0953703cd3635370aea350dc2df350fd2d7357fc0d13508b90e34d4951a34b34e0f343d9e013498958b350a05893561568835fba38635057b0035d1fb0335a9a50235785d00356d416a35c1ba5935f1714635ae155b3561c31135820b0f35cc6d103593280d3574ed2b35fa0f32358fdc323577682e354ff9023629f10a3683870b36000a093676525336814f573688e15c36d77f5b362486a93796c1a43e95902d3fd1d5ff36dac45e3743a99d3e4f2c263f55ce4334c67e5c387eae8c3e8dd2093fa73ea137370b4938d7fe5d3e33bedf3ec688b537edd9d7379b352b3e5dcaa83edfcb3437524a96385e0ded3d36a5673eb6cc423801f717388c877b3da806003e2d8dd937a30c2f373ddd913c98e7a53c18e242369897ea36c3c20a38d216e337f3d2523610229e36bdf07e3606d310364e690c36942e9c355ac67e359e623c35ac174f352b797f349f036834ff116f3461a96a3439a08e349e4a8d34cf488f34d2308c344bb081363c465f3645004d36a21f5936d4ba5e3577815d35b2045e35fb635e35329381376059f936d1decd369441f83639660937ad4122369292253659585236e7a2a63685feab364b3bac362b43b23617dd9c372c940f3e060e5c3fd9fe07370ad63336afe5013e443f533f928f093628fc01381052ff3d5f5f2d3f7f0cfd36b69a7e387ab5c63d200d0f3fb802013808382538aefea63d8d1ad63e445be137ab757038bc5b523d25c3933ebf790038ab0ac4381132083d8711253e09f2aa38d5148a3885b18f3c910a9d3c423970382302ca376ef5263852930a38e397173768138a34237d8d3444f28934830d8834dd2827369f5614362da0f935e083093690a1603555da2b35461027358b4d2635455b8833b877883377978833f8db8533fc840737b89a013739a4f536a6280037aa95813551348135dd0680350e227f355e710e345ba810348307113483920e34a38d1237e34c1337f03a13375fe11437c805b636d0b4b7366342b8367435bd36e6a18b37814ff139f5df7f3ff1b58e34eff7fa379b94ac38c9d5723f5b6c743683901937aaff263861274f3f06a755367245f9374a709738db74263f602b4f363ab7c937b714ab39e573fb3e7ee350377239f137dcdfa2395da1ac3ec271c037a32875387bd3d83bc579323eaa5a5c38d6071738cc7bdd39eefa0c3d5291ec37089ceb37030221380dcd13384dda933700000000000000000000000000000000eb961a354bbf1735fb7514352f811835b5fbe13369f6dc3391b5da33b810dc330637f034992be8347163ec340d98ea3498d364358f97543563c42b355f445835f78cad34208baf34c7d5a7342267aa3424870c3763e22f36653599352089003699346837fc24a536d63d7436413a7b360000000000000000000000000000000000000000000000000000803f00000000516eed37aa6155384cae753f92e493375069483819ea89389f66523f9a562538a057ec37eb317f387040293fcd84da37f47c3c38d55685382c4ffe3ef0214638ed67573827c591386c94a93e07197238b69c39389bb2bb389558323e9e0a7d386be333380dfe153adb341a3d0728ac380000000000000000000000000000000000000000000000000000000000000000f11fbe320cd2bc320ec7c132cf11c632e45aa533b41ea73356609d334fac9d33484105365046fb35d70800368188fb35c22af436bb49c9349015d234596e1535653a6e370f112d37861c2a3712ac333780d9f536b0e4c7361fabcf363ccbdc3693000238a76dde373a38d037c326e13700000000000000000000000000000000000000000000803f000000000000000035e6bf38cbfa6c3f021f9938e5bf19380491f738fdd9463f659556382d5e113843eeff39346b253faa3e8338fea852384e583d3a814e003f97649239eccb8338afc9403a4b9ab73e8ecbb439d90582384287833c06d1463e5454513cc0e9c2397382533c7a3e503d9fba533c4b5c243a00000000000000000000000000000000d2982d357fe42b3510052c3588c32b3583b0ff35760cd9352de3e235de96d3350000000000000000000000000000000070c47335335e513509345e35124c4c3582494936d30f4336a5dd443670e54336b837c433c485c9339228c533b549c733677d41363c223e366c5441364ef53d36ff4bf4379fea5e3712534b371f44583715a30f37dfbbf6362127e83660e3eb363a9362384d28763ff4b91c3d5ec64038c0873a396068663fa16b193ce4bc08392c814839bc613f3f2144d03c484d1138c923893943fa1c3f2f90d43cee27ec371ccb773a2baaf13ebd2ee03ca53f163951f6253c8635ab3e7059443cad457439a3c38a3cf812463e60ebbc3cd1e8ed38a894673c9dcd603d89bab73cec85b23b0189a037f0eed637cbb09e375da18d37c2603936c2de303664343436cb9732369166d136df8ec6360edcc836f2ddc43671cfc2351848b435d812b335947eb13522222e35b906253557062235c52a2435bdbb063714cd82361cb58236d9c381363415d7354698cf3583a1cc354cfbc9357a81ad35a869913599629135f6a6903537c2b037b8826d374c4638374e756637ed569637e22e6f379bdf5b3742bb6437ed512638d7854f3f71a7413ebeb01438a872c0380c52423f35e2233ee86a4c38ee1be438de3e203f8101163e81f62f38a8776e3967c0063f881eef3dc73f4938e189e5395d56ce3e8a21c83d1267cc389d050d3c4df2953e40987f3dff839f3817621d3cc08b3c3e451b133dfba20739d187113c2e99593d5b6bd83c8ccd22396c6a15381a03293842e21538f3ec00384cf8eb351da9d5351146d4351c3bd1353f2e353621532736adf92536ce8d233651f73c3509961735f4dd0335cb920735ee7e02361a6ff53591c9f33558b0f335d60bf93652ad8f36b7d78f363e3f9036be7e24356f7c1935795d0a35f6590b358c2c40365d673e364f1640367e243f36c8d00737d74a0837ac720937febe0937bdaf7237e66c5637fd474437cae85937bb180738ba18283fccafaf3e3bc0e737799eb73867f71c3f4c219b3ed5b64338537bc8381323053f51e1833e3526d437eb189338ba40db3e3623593eb964693811599e394ebba93e93812b3e7ac0b73828ff3b3ab4c5763e9391f33d29565f387f180a3cd306193e49ed8d3d87a6fe381138b939a5e3523dd1160c3d203203393491e937ec3fb438bf56f5370d0dcc37575e9036aabe8b36bc0f8b36ba088a36a8e27d364c7c6f36942e6a36cb6b653692e6a63454578634c0e15934d0655d34a6518a339bb089336c7e8833e0528933fab18b363b6b8936a5898836e6db87365b3696333b219733ddb49533178c95339bde08371035dd365274c43615f8da36669314384307e237b92fc837a529d937b1c98137171a6b37298267370fe26937f92755381972003f7af0fe3e980d1e38eb28e338ceaaef3e3513e63e6e238f38856c6f38d2f1cb3ed91fc23e89684337a42bba38a5b7a83e95419e3e1a94cd37f8c7a739695d833e22d4783e7eaee8383ba55c39bcd63f3e6efd313e1f714738cbac713af4baea3d174eda3d8590c7393b27873af06d2c3db2321d3d8ec65a3ade8910382323243871571a382667fd3710b46436c46f5c3670da5c367d815e367da99436736d8c36196c89367bf18736c1d1133624280d36ae1b0836a61b0736d133d6343b68c934c078be345515c334a8b6db36950b8c36faa989367e168a368f0d1537e6111636473d12361b4e11364a95c635cc96c635f270c335fa71c5354ca3b237fcf276370646493744606937790e2d37a38105374007f536d22b03379d4213387b13b33e5566263f37d4d0375be08138a9b6a43e268f173f45b8a837f002943892488d3efa50fe3e55a650382aa652393e556d3e5c9bd03e148b3538e3e86d39b27c3c3e9fe6a13e1217b638ecad07392096073e9c7c683ece23883864a656392b5fa43d122d113e680e123961928839d8ea183d191e3c3dff2fc8386db9f137b52008385dd50038b516cc3762a426351a0922354ed91d3582b61e3556458836f2957f36728770362b38703650590c35caa7f1345973d1344896d334ce48ae35263dae35e0fdaa35b630ab35650da93661467a360d99763605c177363f65803579727c3563456a3555126d35d5d30436f3d00436548c0436861d04365089823713a12337dd6d24379c3225370df83437727b243771c61b370c362b37e9b32838da67483e19d24d3fb58e06386913f138cde8323ee2883c3fde1c98386b04f638697d263eba8b1b3f200e0c387361b03899c8093e2a5d003fef478b38f78d903957cce33dc736c63ee9bfcb38af11fc3969789d3dc5068f3e224e7b38ae85183cc691323de8a2323e9b84e738e0258f396df0e03cee98583de17b0a39449a023893f50f38e9c30a388152d6379a6ad53415c0d034f4d0d1340ee1d2344f738636e8737e368b206d366ce26c36e69c0236cc71fc3575beeb356aaff03561f9c433d08cc8333ec2c0333d66c03310c846361b15423643843a36aeac3b36f63da33572b7a235855e9f35e67ca035a919d03685948d36ee972436eec539365bd48e376bc508373275bd36b4f4bf3674a021365a20ea355318f1351945ef351fb05938f948383dda6d743f3d8c0a38337d8c399f870c3dc34d5e3f068102390ecaf33832282e3db64d393ff05067387241bd392b12483d2e1d183ff689d33779ca1f3a845a2f3d3a77e93e304f1f398cfcb739a828ec3cfeb1a93ea7b1bf38b96beb3993b1dc3caa7f463e3037b63b62519f3a6907c83c87c3693d61f7f63b44b4e33746ebea372f12e5375e18a1370000000000000000000000000000000011409c3552448c35f9af8035d7e68035655aa235a3d89f35f4b09c3585859d35141f1434c0f2e1336f4cbb3329a1e133553d313706dc4636ae0119352a2f27355f9a0537713fc0366e686036fa757836b60418364bb13835a864f633c3ddf433d15f4d3804ff443802c33d383e5e42380000000000000000000000000000000000000000000000000000803f00000000cbf28638d4ef9138ff216c3f8fdc5838cce68439e6be063a5b9c463fb370913817683e39ef67de39eec2233fff537a3882bc053a93f33e3ae421fe3e7b16bd38f365463a92fc843aecc7b33edc36d039d88a3f3a9fdf833c4a31483e9327313c236d8c3a24007e3cc3da303d7f21693c000000000000000000000000000000000000000000000000000000000000000042f40536282aff35c5ac23360f7f3e36f6939f35bf0b9b35556cab350036cf35de094a36087e2c3667ab473624e45e364dbd98363d7191364a85c036b6c3c036bea38c350b8c90354b7ea335dd05ae3513cec33739ad82360ba18937c70df23772e5b5365fb1b3362979cd36bf2dc53600000000000000000000000000000000000000000000803f0000000000000000c2f4d33632417b3f64cf7d37fa9b3536fca795370fbb5f3fdc8fc537cf0bc135b36f8e3842fa303f8e5c8b38364341383c1f3d389df7003f164e2538d84d94377b521c381779a13e0d91ef372da022376348ba388132053e8b20ac3820697538c94f8d386d2eac3c66d84138db0a9737000000000000000000000000000000007838ed3550b60036d1bd1736f0160a366507de341799d034ad957d349d139b34c7910f3546fd833155bb9f318fbb2634cdaf03367097e53583c4c6359c2db13500000000b4b07e31fffdf832f0afdd314b49f735e43e9b35ba79bf356812c135a6cdf236b6c2a433d8ece3360c89bf378c4f1035746f0b3509970e35cb081536c386b8340fd9b4344534a734fa9a9d342a1c04360b237e3fabcc083ccf098937687cd9344868793f96049b393c9e1936f33d5037b00f5c3f99b9ab3802f4ec379af293372d8f303fc2679d3896ddd0374ff94e3886ad023f960ca6384fcf033821890f38233ba83ee6e991386aa0b43718d980388dc91d3e8a49d738a2756738eb710638b496283dda09903877e6a437a017b33499c49935f8bfd6344e4aca345eafab35ae08b035a851c4357054c2350000000000000000000000000000000060b68c35d2a27c356c62913525da953505308c353dff73354b84bb353d3ab4350000000000000000000000000000000082510636cfa0033550429d35759b5536627e583780ff1537f03b3f3704f18837609e5c367fa019368e702d36940b58368a2d4e3769f04337f5423337bcfa3937e84db235953e643f5c68df3deefbd53576ef3133ea7a623f16cbc23da25dee3544b5243630124a3fdd784b3db7379b375dae76361313223ffba50d3d9292643700000000f3e4ee3e4560f83cf49068377ef28d37759a993ef64ff03c3d86be37ef4bdb37a2b0f23df3531a3da1a1e73702f99e36d78c4f3bf0b2b03bb59e2c3739382a370cdb9237ed1699371f06493760cacb36fc88ef36cfc408370416ff36e38e8e35f7ee893519336235a9c18935f3c3e735c330c735852bcd35671ce635a0f31536c850d535dcaa1a3695452f3636436f35e6c976355e6cb0352236f9352de23b35b9b92035455233352b164e356001ad363841a63670d2c23665a6cf368052c136cd41d236c35f02370291013769327136fbac9e361f06a036861d01367ad7ac367b3e333fc5a1993eb03c0a37516989354a62323f3b71943eae9ecc3568ecc936d2c41e3f3acd683e5f2444374d35ce363484003feffb343e45522f37bcdd00361918bf3ea3ef003e43a5fd35d711b3369e5e7a3e708da23d7e2be736d5e27e37c0c1e03d54de4d3d6f0c7e377246233719421d3ca87f9b3886bb2237173a0e36ef82d0379378a2370ab22636e84023350e562336261c8d35e3cf6535fc710934157dca336e078d3395e79433000000000000000000000000000000007f268a33f9b5db3173b4f0319b1c7e3100000000fe300433ad1faa33e085a933ba9df43403258e31bdb5ac32f5253334de735336bff800363cc0193617f96b36cdc72b34a85d18347d89133463bb02346f05403883004c384874423823112a38263b5f352a2e003fcabdff3ef4fa6b3566bdca33690c013faf1ef83e3a9d8c334a9c33367c19e43e5513d23ef8ec6836ff8fd636d117ba3e4aa1a13e71260a350c9512367efe893e7e306d3e3573de33a207d737d65c3c3e993f0c3e4e668d37f7299a37affab93d31675a3d8e5f66371a67df337962433c4046563986a29b33395a9237ff769738a91c5e38f14550375b030c3646ef0a367d980e36da220d367486a2352d537835ebca0c354dc48d35424d8d3632bd7b362e2c5636d8be8b36d5040c35fff8cf344b0b2135cc153a35621e8135d1247935c1c292350329d435f5430f3630f8e835940aee35f8390136874909373057de36c413ff36946e2c37836fae35f3febe3536fdfa355f5ef635f84c1e376cdb1b379a561437466d1437588b1336f1ae993ebf6d333f8c9f0636b2abc93633909e3eea442e3f9c17e335eff92d37d95e863e3aff133fb7f9a236bf708836ba8b623e69b6e93e1a5e26352f6508363cd3303ee6b1a83ea6f518360c45803705ec023e0a78473e0d742d37ef321538ddbcb33d834e853df3aace37043fcd358b49623cfb99c138626c2736b66a2337dea0bf37a6228237963c0c3714722237059133373493eb3682a60037000000007b3dbb320000000000000000bc11a136f6d407369f9f06369e351436d6df2d36c68547355bd60f351dd90d3500000000000000000000000000000000a734a835b344963506449a350c87a235b1aa9a36e693cc35f640f0357180a536f1e1ad34b534133562df4b3562026135b65bc035ba81c53554fed835973ec135c7654137b97bdc3d3485643f3aaedf36bc9aa936c67cf13de7bc5f3f000000007290d73765c6a63d7f4b433fe9f8ca3658d6b1372c679f3d5ad7173f2f57933632ee75374fd5953d28b8dc3e000000009af3973713e18d3d2a2f873ede80e4361ccbce37e83c8f3d0fd0bb3dbd35913712c46d3728e6a53ccf726e38465b4d35e076da3562b35637a1464636c932d2358a16c73301b4a4341208be34e5cc99340b70ec3425a4f534441e0235fe8f0c35ef598433ba00a833519ce733f604f733d02a573591983b35751e0f35f3b95735000000001c1a0233edc5123444fa0134e3b1fa35ea97bd35e5389c35b571e2351b51a636214d7231a2071d315c5aec30fe29eb341754fd348b8833355230eb348741d736b7fadd36caa50a36ec26fd35df0faa3493545a3ceddb7c3f38037f34df72ba37abf87a3a3e58753f05840435760152384863df38c9a1583f2a760337d79dbc37e0faa1389a062c3f94baaf350ed4603859322d39d54bfb3eaf4de8374ecb3f383719c738261b9f3e9bf60738b57a54382fea753cb967003e13a946386b4dd03784e48639e5fcd33c9b0ec5350114a436822719381f9c7237fdcafc35000000000000000000000000000000002c637436b54852369ec23536fb2c8136e61e033646c9f0356172d635452ebc3503e275357b725035b57a6435c57a4a3521489b36c3a4993611a59136b17eb236e929d3363acb24365ba50a3643a1073696fbb73564a787351953b2354f5aad355a663736ddca35368908533697155e360000000000000000000000000000000000000000000000000000803f0000000050d22a37d1572c3808dc7a3fb97ca436fd79a537c59f623830ef5e3f984cbe37f27bf73637eccc37beb42f3fb64d7e37e5aab937c35a4c3871f9fe3ee5461138885c2638afd4a5385df89e3e2d238238f17c0837e61182386e27023e65b76d383f9efd361263163857d99d3cffa7df3700000000000000000000000000000000000000000000000000000000000000008b72cb331946c4332da300347c94043400000000000000000000000000000000fd790f369f43083610e7173606cb15364032be354561be35563cc33592afc0359eed053460d9d63390d58f3496226f34b307e8369d806f369ee18736f5eb0937d4c4ae3559b9ad35ee36c43570d7bf3500000000000000000000000000000000000000000000803f000000000000000013dc9c37fe49743f02956037a33a363542e48a38be08543f545d4838b155eb37ec10713839f82a3fe01b3238a7f7b23716982238f33d013f38f21038f991d1373a070b3a5671ad3e37018638a8fe4d38c6d95a3c76491d3ec708443cba0f33382fe745389dce563d287a4b3849d0063800000000000000000000000000000000f2c3c235507cc1353f42b8359e57ce3526cbf334b27fd234026be134c5bf29351e82743581058635de359335e46396353f4db835265db435de8abd359c95c3351bcc5b3463f2893456278b34e95ba2345bafc935f781cb3577f9d335ccdada35b49fa2357ea2a135f10faa35aa38b135693169344a0b8434c0f98f349053b03461e78334df285a34e7896b3414838234fbfde43567cb7f3f242ac23a88ee95362c6e6438f69d723fbc25dd38f015283880009338d44f4e3fef3dbe38b8054738386888387afa293f1e819c38e62f1638c279b438ec4e033f0a67133916f9223847ff8b38dc99b33e5f389e386b9335389724d13826e9203e477e113dc1809c38e815c5384f836e3d2d26e13828a0a438f7f1c036a6e6193882340f38c7705b371fdf4333e9bd9133e3ee8633ffc58133dd93493512d3423553a06135726653353adc4e35b22a47355e1f6f3513156e35000000000000000000000000000000002b6ecf3456e1ce34a6fb0e35c2590c35f1eba03581df8e355191973531cfa53500000000000000000000000000000000f461923535e731354f8f853578f0aa3575de4636061f33361b403c36a651393616c97733cdea663fecedc83d8f5a763350739637db38673feeb55d3d63aa00387aec4a38298f463f33f0ee3c029b5938479162389d18233f666c813c9cfa543848f101389ce8f23e9edbd63ca54aa3372d87863824a7a43e852eea3cb40e443850768138e1b5153e4f785f3dfe075b38e35a743836781a3d52c9883c09d97438866a6b363c64ce37039dba377f488a3648cc66369b316a36c83957366b5b553638a97d33b38c1233a1f7073300000000000000000000000000000000000000008dcf5f35c0492735c3ea2d35addd1f35b0b043354c353c3533654035f6063b35dc95ae3304b3b333a6a8d533d46ae7338c9c8435a0ed693524788535f6497735315ddb34203bd33464df0235817e1135912caf34a825c234c0c0b134ea669f3498f07736aadb333f0488983e07c7f736c3bc08375575333f0f1e843eefac7237241ad437be901c3f762c483e9873c5374aa76037fe93003f66a61f3e248a28373dc6bc37a6e5c43e8d5ff33d328b253791316638e69c873edd27a13de824383890486438ed23063ecff5893d99c71e387dc09637e94c0b3da879463c43f48e371103ac33084a5434f9a48934f97b5234a39c42345bfb6934fa312a340bad3b34000000000000000000000000000000000353a435b672a9355c9eb5358d38ba35a48eed358655ec351ac9f83527ec0036000000000000000000000000ffeced314010f8350aa8fc3526a604368d9a07361582bb35517ebf35753ec8350b13ce356e313e37295fb0360000000024707c347bb0823481225c34fec97234b39f8434a8be013761bf003f1896fe3efe8bc93469d88e387e17003f2cfbe93ecaf32c3825681838d8d5de3e3d29bf3e19bec13702fd2038dc38ba3e02b8953ed814b33775f3a33833508e3eb996633e5a7d6f3862f52d38d6cd4f3e39c6103eb39bcb377a16e23807ffe53d1e47a23d5a344f3806e0a9382a4f283d2ae4b63a67f89b388dc912359dd8da37c20ea937e38217358b2224333fdbbf33415290339d698b33148f1334894f173441992134b4a2f433e7fc59355afc5c357b57603528fd6535ab846433085fd23272ea3c33ffac64338d991f35bd4221357ef34335cc1f3a35f39aa43501a796355eb38c3587bc853502e00c33000000000f99a3337151f1333c840235b574db335637c934aad725352b839c36b414923660119836259b99361f831434fa679c3e61de313fe3c5bb32c4d2063739da983edcc4273f4535fc349e294f38067e833e3eab0b3fdf1b94378b697b38bf6c673eeda9dc3e70a2ca37ee7ec13762c33d3eaadb9f3effab3636de6bc0374b2c103e12f84e3e7a653d374f307238140edd3d1f9daf3dc2363938899e3538b404243d9b67933a69cdf637fece9636d6c5bf37e452a03683a49f36de2600369aa6fb3550248d350fdc94356140703400000000000000000000000000000000000000000000000000000000e0879f35667d983550369635359d903503d8e934184ddf346898d234d349d63400000000000000000000000000000000d57b7f3509298c35b5b88c354fef8a35f1f11f3699237a35205d9b3511ee78361cd114340b101d3406980134e9bbff3393e82638f5a6d93db9d6643fbb18e93513519938a192be3da8415a3fea2cc9363be187386300a93d9f8f373f78fb94378aa99738fae4b23d432c103f36d2c7378f083f388fdab43dabd7d23eb44284372e769738c2449e3db96b8a3e322b2b3826f79f38e600ad3dbd98e33de2dc66389c607a3886352e3d04a8ae38588227388ae995339e610c343c3a163463c80034938f853451c57834b9d53a34c2db5f34781a3f34c0155b349cbcfb33c464da3342219335cada973572eba0353882a435b257c6351041c6358537cb35001bd4356d403f348c8d73346c3b4e34b52e64344140be35881ac235b1cfcc359e79d135102fa1358008ab35795bb6351845c0354e836135e70d523534183f3544c76035d522d6354190d8351162da357832d5353f748938ea3d7f3c6d177c3fb9728137a39fd138748ccc3c6bb86a3fa74f4d38f9d8a5384650ac3a24714e3f9e764e3800fd8538dee9103b57c5253f74ee2138e5bcd038ae35173b0ccbf83e93865238e55c8938e370f53c3ebe9c3e408c5b387ffda7384ff3803db7ea063e4eb69f38fd4a97380696a93cda51013d531c80386d76d33580924636e8c7db350021d73500000000000000000000000000000000d3749a35c2189d35148a913574a68b35e07751367b715036c469413666163936000000001708da315d8fe732664b82320a1cb135036cb2358bf6b535fafcb23515054536e67e4636eea51a36f173263660a15b36f9e306340000000060db763475918e3402901a34dc43fb34aaf0de340000000000000000000000000000000000000000000000000000803f000000006dc1df3766f04938429d723f33475a371e882438f1db5b38a451523f38d90e38f3206338f6389b39973f293fb2c13e38e36d0d38976d673a8c52fd3ebb490738e23c44384c82413cce6aa43e89404938f0aa8c3876e9ef3c6bff113e8032a4389f2da9373dda913ac6b5383df7b2ca37000000000000000000000000000000000000000000000000000000000000000044943b35ed942935c54f3635437c3235693b52368b324b3607424e3625ca4e36850f7b368e5c74363a1976361cbc7536b5b8e4343ceec3341c60e134e2b9de34f5eb893691c188362bd0893629318a36830383367bc4813695488236848f8236e5b48f36eaff8c36139d9336d3b1933600000000000000000000000000000000000000000000803f00000000000000002db0973a5b00693f9886ac38adc271382f8ffe3a87e5453f29245338c118c5376a1d383bcdaa213f621222392e91b7386d69573c77faf83e3efe7438dc6c8237572fdb3c6791ac3e5473ea38accc2238c254093d356e333e9c063f3caa5ebe388490d63cebc24b3d53683a3c7918a23800000000000000000000000000000000a527ca35c216c635a4adc33593b1c235646ba23531bf9535acb99935e33e97359593853661a88036f2fc7f365dc27f36e13d99364383953669b6963640899636c5a2f335164be2356f6cea3591ede935ea5cad36cf73a9369d14a836a62ea9368f408f36a00a8e3643ee8e36faa38e362939e2356277db35704fdf357326d9356da88d35e5fa893576948e3559ff9335ff2e1e3925d17f3fb90b8b3a2194f43895d7e33966086b3fb49325390d389737b7a5993a281e463f98bca438f367f2379b12713a917c243f9dfae738de6a28380b21443ccb4ffa3e587f0939650d2436468abe3c70afae3e994a2439a0b3a038e177103dfb67353ebb8eae3cd6d264384853a13c8a00593d5df7843cac6d1c38bc818237d8b9b6370266053750c59f36acd7453639db4636698340361ab04036cd3bdf34b7efd434b27bdf34a236c934fc6c5d360870583639d9563609635636aebd9536609d92364b7892368474923641c00d3579220b35700b123554bf0835bd06ad364567aa36ff50aa363c75aa368123713625b86d363f8d6c3698b66d364bd99d356f2ea135c600a335e57b9f3516445336a1985736919b5636b3ae5336692455389f345f3ff954033e98144a38ac9d02394acc593f9f04923d7d58e93745d1823a982e343f4c978d3d106e543829194a3bf4c6163f396a4c3d14d4c1380611513bd9dbe13e465b643dd5c3043799c9cd3cdfcba23ed0eda53c763c9d3829a9f03ce2cf2b3ea154003dae785138cf4c553c45e55c3d981ac63caa97c9376af62d37391e5b3752e02937be21ba36d806df3571d1d5350232e0355114dd3537910335965eed3461400235d1c5f83465818836a5dc86364af38536c8c48536f98c83363a4281367f1f8236197e81363ad901350334ed349681fc349671f634d1c1b636b1f3b5368255b536cc94b536098c8536d1c6843639e88536178e8536495e05369b99fb352af5fc35b24d003675b866364c696a36346b6c3683cd6b362ffac33898dd303f57709e3e6dba9838ac2e0139b9422c3fcafe7c3e60eb6f37ceec2f3a0757133f7a824c3e7a4362383ecc143b8c8bf53e8bc5243e43389b3838c4123bf13fbc3ecbeb063e52712638eddab43cd98d873e63429b3d57cb88381256eb3c6650203ee1022f3d3e8ddb3808690e3cfacd593d5ca8ce3c1cfd3a38d9a09c370bf4ac37fd7d993769a15f374d3f3b35a89d3b35447142355597453547d1c435c0acbc3524dbbc353a72b735a8f1733657366e369b4e6836275e6636bca28e36920d8c3653eb8a36bf188b36f78dd135f9f6c3352e5dc335dd49c2359f51a03645569d367bfe993658919a3650ae9036551c9036615090362f9190362777053698fcfe3556cf00363d3afc35d822963582eb98354eb097350a939835e8c31339ed78023f363bfb3eeb5ebb38477c3039f7bffb3e9e11d93eeaa2e03737e81a3a7438da3ee378b13e66981b3701c4de3a5969b93e42cd8c3e8cb6c938970dd33a3351903e954c5e3e931d09367f78b03cb461533ea89f093efd7fcb38c0b4cf3cfc2f003ebd6c9d3d017bc6372d6c3a3c18ea443dd0d3cd3c778a4538243ea5353927b53558f8a53553f18b355a124836aa8747369acd3b36c4493e36e802a73493b09034f4a6a23455398734bf7b6336f5ea5f36bc0c563679e65636c900a136b9c39d36a5ef9a3621d49b3616c8e034f11fd3342549e234c210cd34f7c7983652f096360f4b943651d595368913933626569136c1868f36bcfd9036c45a5b350dc25b35c9e861354d2f5735fc8afb359d9a00368274fe35e13dfb350b2ef63825e3a73e60172c3f6a155238f2ccc339fd919f3ee0f9193ffe2f3a375cb6b93a2438913ee6d3f93e70899138f45f2e3b5959803ea129c53eaed347384ace203b8e76513edbc0953e0a721f381914873c139e193e806b443e55589f38025cd83cf038be3d1857d83daeb69a3865bfcb3bd8d66a3dd8818a3c3c29aa376e9ff3355519f4356a3af835a5eeee356ca83836d398313686163636bf6e353691cd5a35b1d650350a80543599b14c35861a5c3660975836545d5136829752368bd19c36db259936d4d8973611ee9836b0a30435a2e7003520ee01356513fd347ee6aa36874aa9369a19a7362645a836bf438036ff0e7e367ff57e360219803633e6bc35a784b9351500ba35f9e9bc3583aa5136292455363acb56367f08563615a8fd390d96163e854b5a3fa622ad38aa47023ba80f093e0608463f4c3f82379d17093beceb153e7eb91f3fcf45e437591c883b795c0e3e0b39fd3ed1ac82381ade383c9fd2f93dc346bc3efb480c37913b8e3c1a5dc13d8c537d3ee21eb73840acf93cf14d7a3dff900a3e6d7990388dd88f3a02b5683de7a0a63cfa021d38e740653671fe7136e0056936588864364cb7883478e67d34f447733432aa7434e069ab356c40a335bc449d35bc3299351c7c6c3666b46436bbaf5a36c1645a36d3f79936a85d9636f1f092368ff094369ce2f135d33ee335d70fd935052bd735fd09a7369033a3368f649f363ea1a03665a19a36a1d998360d1b9836e3ba99361992f935295af5350161f6354a2cf135f9d5e735194be4350f8bea35e449ed358a8e2d3a3552813c87e57b3fe0bbc938c13f5e3bf1fff93ce8aa603fc0938537c9cdc33b239e0f3c6b97403ffd7f3f385a107d3bc8d4203d0be7173f0a0ac738c4f35d3cc73b443dde92e03ebf0862370702a33c7cb0283d88c1973e7c688938ac82c23cf9be4d3d6e5a1b3e19c37938566f253cd7f9183d07330c3d30907138012d0136416e0036c27e013605caf7350000000000000000000000000000000022ea3d3295691c32d1037d3210a03832ab6865362bb05e360c87543600a65636330d6d36de70673642865f362f266236bcf5c934dac0bf347c6cc734bcfdbf3465b38b3619cc88368cc285362af487362d7c60367ae45d3691215a36e2995c36bdc18f35081b8e352afe90353f0290350000000000000000000000000000000000000000000000000000803f0000000057dc363b317b8e3b3503683fdd0d9c385ed1623b8954863b84d5453f314f9f38656e7b3b185a933ce2901d3f0b25a038e045853c6b49a33c3758ee3e2a0b66382685ae3c34e00b3d274f9f3ee6161639421bd13c6f5c353dc34d1e3e92e5b93ab4ad663c7033033d26e72f3d1278c5380000000000000000000000000000000000000000000000000000000000000000000000000000000084d6863084bcc33200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d686a032ab47b43233f6d1320475eb3242ab8033a52491332b81a7330965b03300000000000000000000000000000000000000000000803f000000000000000054452f320349793fef1a92330000000000000000d53f5c3f0000000000000000000000004e34333ffd13033900000000000000003cdb023f5a2c3a39000000000000000027b5a73e2ae09a3a0000000005211d390e901a3efc6a113bd130c332621da0337c812d3d740ebe3387899b3300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa3b963354e88233f5324333822829330f579a332587c233a1338433acbd5a33aa7bc3332bc4fe33cef70634d90e0b340000000018127b3fc191de3c4ff3373500000000d8bc733f655f213b00000000000000007a23593ffbab613a000000000000000013bb2e3f1766ba3a000000000000000008cb023f4662ad3a00000000ea0c8833fc80ac3ea78d873ba309c73371921d33f35b1e3eb8add53cc09e323334aa4433d2305c3d8a532b3b6ee51e33d19faf335f1163334804ac362b1aca33e3c76833f48fa8333909ba33d8327f3365b77c331b9e983336d0a7337ee3bf333ba889328edbaa3201efb732c0c2d43245640d31295017311a613331fea34531cbdf00345a1122349b6a2e3430e545348e560d33c5b73533953b4233083b59339a404733e0d87733458e2833f78c0d33f1cb34342f9e8d345d318534e33b9234d93eb83354fdf53367aaf433c0e61834dcec81334c89613f6a8b013eeb9176353b1993337e465f3fcbdad43d1b1f8c3632de9a32e6e84b3fdd7c1d3d95887732ff563731e780233f2649093dec5734316c8510340e06f23ea888173d41d2ea33f45c19334d87963eda66773dd378f73216d00133e258e93d35188c3d173ace32586e0e34ebe1c63a4850093d039ad0335a1a19343bfbdd3563572b378b33f83307d403340897173482117f3445e590342cf3db33b02a053469f2853496f6da348b82b2307e33fc30db490431dcc11733878ff532c49b03333ae21933d3362933e0031134f4d22234b99a3a34d1fc4c3447d0f1316c871b32a1e02432785d383256f9c332fe7dd932abf1fd3238b3073371a9bd335a23e5335aa9033431fd0f343bd09e34f4e2ba344ef4b23406c6ae34f14ad53315c2353fe875973ef68b123470ae36346d77313f45ed933e1fb82434ef820b31c806203f99355c3eefb0f330eb291f3368f2013f610c2f3e22201a3353363534c0ebc13e1972053e0a2b2b34aede0332bd9d733e7918cf3deab3d1314613fd328d73da3dde05933d09f5f632d30fe83392e1d13bc930db3b2e46d63345d38a342341333892235538b1bf66349c7cad33feb11e33cd604d32cd79373300000000000000000000000000000000578a6a32ef1756328ab65d329d73e33200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010006b334caf2133b8630e33631a0133000000000000000000000000000000006759823348a0a5331f4dad33278dc23342f24a33b2f2003fbb12013fc0fe0a3300000000f075013fe3acf43e00000000d91181322693e53e6c89ce3e92cf5232000000007615ba3ecaa4a03e000000000000000097858d3edfba6d3e0000000000000000d76e4c3e4cb9123e000000009b5105339f0bc13d95648c3d7340303300000000384ac23cf00dcc3a00000000a9e56033a29cdf371c8898374a6a823323a18d3425069634885f8f34cff67534b4c8c7332b95f0334e0701342d7b133473eed93294b106339bde0a33dd04253396d1db3107a9eb315d1306329d751432c6711b3424814034af174b344d1466341df008332fb62f332176373337294e33fa8c222f000000006cd5e2307a9b2431c00bc933f0d02d34d6d75734b0328634008ed3337bdc01343f930334c40a3834cab7e335bb5b9a3e407d343fc0988434f11cf2339c39a43ec2bb2c3f9723c1334c4df732ebab823e100d153f26e4ba32846d1032be68623eeac6ea3edc580632b9f83134a15d353ebb31a93e5deb0d3402d617334d08153e5ff3463eaec9e7326ec820315c67d83d214b8e3da5778932fab30c34cf0adc3c04ee023a933eb2339f99353438071737c741af360738fb3392d7e633a96b03343cb64b34153167347dee243495504934b56f6b3469c77d34bb2318335b4b2f331c0d343340ba323395750133aa3a0b33e2d31b339af72c3359e4ef33adea033446951434d354233456f91f3113d24d31ead65431ad0f6e3168b37e32ad028d322c7fa13227d2ac329ccb77332ae18f3390aaa133bb19ae33e82f3a332c0b2e34473916349aaaf033d9fbdf33cede013eba70613fcd18f13379845c342265f73dfac95a3f98921f34662c083314e4983d97cb413f4717ba321c542a33a52f973d7297173ffa6a1c33bc261c34c3c4a03da657dd3e24331034b2403131a104b53dad36843ee87f0531cadba7328aedbe3d3ff5ad3d21359b32607fd335488f0d3db0f7163a2a4d8a330771c4337ce3af3700aea636e29c7e33ecde04342a408833d99b0133dce57933ef786a3374cc85330ecf873389c38733b4cca132988fb93207c0bb325e751e330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5db033b0edcb3ca5687b3fb0239833de8950330503c73c9b216d3f9c1c0d3301528f326468923a1b9f553f236c4632745ffa38ed44583b70d42b3f39a138340394523964a4823b5967ff3e000000000000000010e1a53c448da03e0000000000000000290d0f3d37cb063e0000000000000000b7f4f33bca3f353d00000000000000007fb31437000000000000000000000000000000000000000000000000f2628d33f677ac333b45ad33c06fcd33c85cb232d333db321eb2db32df8d013300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008cdbe325cbcda330000000000000000000000000000000000000000000000000000803f0000000030d39b337544a73374b0773fbd537033833ec4329b3a96395baa5b3f4206973200000000a5fdda3997b7303f00000000000000000ce8c5391358013f00000000000000005bdbf439558fa23e3a1afc380000000055a70f3adc141b3e000000000000000039d5b039069b193d000000000000000000000000000000000000000000000000000000000000000000000000d550dd34deacd434bf12df34c7012c3578d61c35d177f434329c6635cfe9ad351e47af35245fbb35ef58a73538b0b93509a604359a3afb343cc34635718b94358aa2a33553fbb035eb86e33548cd0636bef46f3573b88c359a7d4f350aee4e35b77f8835e4c281355cbc9d353384a43500000000000000000000000000000000000000000000803f00000000000000003f10d837e908753f7cd38d38817c093774049838cb3e533f8033a037542c02365f8e873ad6b22c3f3c633b3a598615369498f339e5e7033f07812e3aa8d21536550d353a9d60b13ee1bd633a12eb2e3628df253cb36e213e24ddb33c25fa14397c228f39705a823d0f2ddc397e1394370000000000000000000000000000000014d7de333c2ed733887ddf33caeac833b9b82335a1b319358f2b22354726133565c49435b7533c35d0ec663526f58135d181be353d79a5351564b0350f30c9355ee76435631c623599434d3509195135640ccd354adfaf351a90bd356a18bf3598d0c335fbb4bd35f45fc1356dcfc835d919853532c7883534b84935181d5e35606e34356f1910355dd4ca34055bd334ded373345aff7c3f3ffc953ced026b34744e7035d63c713fc58fe439cbea59359947b9375870503f34fd913975aade36e2e50a3a82d62a3f4ec3763ad3190b371f15013a4e93043f432a783a6a472b3762c5d639eb9abb3ebbdbb63af23aba36c3badb39ce332b3ed397343d06c6d337d6adc137b6d5963d787da63a601cd63739969737770e1838acdd1838cf0ad43750aa0a35f060263555263535582f2d3530ff3f351ece013510b10f35f74f26352aa4ac34107a7f34d4a5993491409b34462285352e5579356c499f351647ab3501e761350c080c35596d2c35a74c6c35218213350c4b043578ac0835ecf20e35d1ed543480f28e346d55be34c46ccc3481bb503588ca373525ba1f350cc36035338c90350a187f359ac13f35f33a5135011d6237781f6b3ff250ae3deb83f1375d7a8e354acd693f9aaa213d1e5aef35114f2935b78e4e3f75402c3ba7ef2535545fe2383438293ff304cb3a644a33366bac063a5777003f53e17f3b53072139fef3b239865fa93eb88ff93cd1795f384e8d96393e111c3ec3e16d3da3bbc7360aa24837478b513d70ae043c1c9562372b58d3366a9cd937bab2dd37943c7837a57a78353b4f9035d8967535ff578335d629e534ba62af3415208f345d703b34e9bfc534c95eb334fba30535c12ef434d3c7f1344add14352cabf03482c8e03465821735463cc83400b81435e2176135853c2a351d1f2935f68f6435eb3a5435ec715e342e6c8e34bab13434e0212334a10efb34f4f605350f47e3342344a6345428d9323125ec32026602349e73e73488b29f350dda393f2c9b8f3e78ae3936315180359ed4383f68806e3e6199733512e531370e34273fc9571f3ecbfc7136f5cad73992bc0b3fad68ec3d616e06392b59ec390fd5d83e79d5b73d7893d3386f9a7338d87d993eea9e743df9610637e01efc390731103e507f963d3ca4d8361b482337fd97563d9a87933b468f1937cfe4aa34d03e9e37eacda5379207f936405ca4344ed16b3407be6a3492c67c341f674335e8f32b35c130133507530e352fa7ed351f21ae353dfaa135301eaa3593b0e035a459b535afe2cb350912ed3595a44c35100d3b35f9ff223591c02d3573d91536c8630036f52bfc35951cf2353ddabf3585dead355a25ba35a75dc73500226c35169c5d35ac773135e29a57356b12b4342dd6b7341414c734ecddda3483b7d034cb5c013fa516003fe917d034d131bb352be1023f2588e23e17df933535c4e6371528eb3eba7bb43e08d18737176eff397037cb3e9b63863e45d83b3672b2d839e565a13e4875443e44cabd35df4b15393203783ea61eed3db536463640b5c4390995043e0dc2943dbdf1f6374e95a935d431553d6d6d3b3b473ebc350d08c234ea95b8345fdacd34561bca34b05c3d34f59f0434d94237343d248e34e0981235d539ba347ae1c63473a4ed3423e381345c2634346e65573438e0623409ae1a35f7720c35e3530c3591ad2035b37b9735b02855354bea6235c06191353e8b6a352f25fe34cc73ff34b30604356c70d134d9eee4348843c734b3a9cc3402382d35501a07355f3ff934433d2a35a72d9b352d468035da11423541ac6c35703c1937b584953e2a76363f3adc4335a9e79f3597ff993ed3aa263f9a6ea53504674a391fa9863e95bd093fc6a28e35e0d09c39eab5743e3a52d53e16eaef35001a273a5fa0593eb7f0943e03714137acd2333a68703b3e174f313e7b8ace352f860a382ff7063ecf32943ded4b6537ace92539b4ed583d6928883a527b4b37c9245c360daa9c3719170d373cea8435a0cf86358fde9e35b9036a35b7867f35b1091535c003c134e31fb034a90602351a1284349724503438e08a341f8c7734695ddc34ecede934ac139b349e28aa3461244535e484fb34980d083595d66735cb689d35f6805a35e02f91350763c23563cf9c346658a134c53e903453d48234bf562a35e2c133356428293561fd0135aaf1dc34f9ecb0344d2bb834db017435eedbd238cb86d23d6223673f317ead35e472d438895dc23da5b65a3ffa8b9e3555c5043a6ea39d3d9abc393f34478335cbb7783a2161c43d23110f3f2440a2351f37683abe1dde3d0150cd3e1a762337d270173aa613ef3d62d0703ee7fb163649e3453ad425e83d7b57ba3d3b331435f193a4393ed05d3db84f393ad7df6037f186063820993438b6ed053853919a37318f92341be02934601f37347d8e4a34bfe68035a6285c35b0933c355be74a35fcd404361eeacf35c18796355f699a35cd749c351ba65935682065351027a13546a88935b06574355f4d4f35d1826535e2e61336d42eff35ad94d9359c0bc73580e88c35c61e763527486e35afae883581016a351eb060359641413532a9673566898f342084783491d75834dc9d6234d86c283860d9e53c351e7a3f89fd5a37ffa6e3373e36de3ce590673f7381ec35f74ea338f181673bc1274c3f83161b37bf3c333a2d15903bf0ef243f3b411c368020093afa42b13ccb32f23e5dc54837a4d48339846d663dd73c953eaea85737d76f45393a54a13d0ea0f43d0e3ad93707138e3755e5113d00dfe23cf9fe31371cbd9934120f4737c432ad36287f8734000000000000000000000000000000006b8b973570b333353cc35035fca093359a809135194f5f358e7c4535372c44354938b135e8ea8e35c72b9e35a880d035a887cd358a26b6354becad35ec4fc535b273fa357287e8357d9fc135af1ab03530dc91359a758d353edd8935444baa359224883594f19635a8c75a352f2870350000000000000000000000000000000000000000000000000000803f00000000ad5ca5378c3c183acb06723f635a14370a11ac39369f5d3adc62523f46dfea3798799e39844f983a26722a3f380d2336799f093a91fed23aebdafe3e8379f4368522303a136b9f3c2ea9a33ec4fad93953772438dcf7413dba040f3ee9d9eb38ae6f7c39fd3dc33a872d4a3d4e1e1538000000000000000000000000000000000000000000000000000000000000000080dce433f52bd73371b0d333a7b2d53308aadf34d0879134464138346d93413439eb43350790283565d72b3506fa30350263c234cbd7ad342fa8ab34e2bba7345346a434625a6834e6ba10345d183d346be9b2356b87a335cf479a352b48b035b1a8363576a32435f5e828359f2a263500000000000000000000000000000000000000000000803f000000000000000060acb63b7030693f4cb2873841fcdb3710910c3c97be433f3913443862efb8375fb92f3df133183f4fec8638292c0538e2b2993dd24dd73e79e3f03900ca6c38b984c83d459f853e44d2bb388a548b383482b53d7312ff3df4662b3c7431ec3757ba313d991f283dcc912b395fdcd338000000000000000000000000000000005cc7843481db7c34eb5d6b34a05f653497a5c5340c13ac349d19a034eb01a234efe53a34c07eca3395123933d1fa2733e179d434eb019b343c0fab34ba6eb134cdfae634a5f9e0340c0ad13423cebb348609203530bc0c35f6d5063591b2f7346f29de349dd3a0341175bb340971c03476cfc434ce97cb342511c7349eedb3344d758e34d262a9347dc99c34bf8f86340b1b913adf1e803f9e35f13a46bede385b151b3c03fc683fd8550a390b7caa383008063c2fe4443f8c1b47387b4df53714b74c3dc320173fabd3b738f1862f38408cb43db73cd23e6c67ba399e4e7b38e799dd3d0513823e69ebcf3883ad80381fbcbd3d90c9ef3dcb19813c73cc463806452a3d09ef3b3d90bf5539394ad238a11d0835b7ae1135b9491a3538b90835fc1e4f32226b4232f108373254c02e32325dee34bf07d6340931d734bd10e534c17b6435621b483580755035e5245c3529b71a34fae76332ed394833d4c202344d2fd73480d4c73473eecb34820ccc347fd8b535f4c0a2357cfdaa35f854b03507ccb63477f48134ab1683343c48b4348a114e346d7654343aac56343e965334cdbd6a355e0d6435859e7835173277353bf72c39b0c16f3f6b04883d74e7ff38ba04793aa8b46c3f8c7d1a39cde4b238f96eb63b0722463f7fde7f38a62823388694953d9c86123f6fd2c138f50786383bd0d83d825fcc3e7646be39bb829538f257e43ded1f813e7c51ff3817b29638665dae3da814ed3d26b3d43c9bd33b3873471c3de24e523d20417d3a8560d6388c69a335fcafa0358257a335f0f09e354ed0353534e319359700123509140e3587c03f34e52a3134551a2d34980531348d48d834a54d9a34884571343eaf6e340bad5a35ab162535b128213587c62c3527c4e13444c3c234d6d0c6346c8ac534a09b13354afbea343561df34c43aea348fc0663504293a3537023a35c22953358c2b2335cd0918356c7e18352f7c1c35ae102933e27c913315a0bf337b011d338cd31539ffe03a3fc3ef8b3ef5a1f8381753643c17e33c3f233c2f3e0f9f89384b78ce3cf4e8243f63dbe43d2d342338ac12d03d2d5a023fbb720a3d2f7fa43865f7073e725bbc3eea1bb03b97fba338eff2063ebdb66e3e8764cc38c00793383bfaaf3dfc41e43d42d8ec3ce7c34638721c0e3d6418543d4342bd3af3380639c9dc853456608734861b7b3426f18b34c4fd7934029c6334c6525734192c4e349c13be341740b5345dc5af3483a5ac34e21eb734ed208c34bb1a4c349b1e3334174c1435bdffc2345e21d134241fae34e2040335c13b0335dffdf634ecd9dd34f8f24b357c5436354ff73435f0ee2135a8f0f734e471af342c10c8343385ab346312dd34348fec34f388e6347851d134b3d20b357ed71e35b5fc3f352ccf103510c53c3a8c55043f419df83ee17baf38e6afba3c286d053f39a4c03e61eba8389dbcca3ce3d4f43e0b768e3e3d0500381d34d13dd394c53e50e1203ede278a381046fc3d17af913eaabfc83d3ab98f382b90113e60594b3e4edbbb3ca4dbab38194dc13d2131c43db939133d953640382dd40e3df66d4a3d8675cb39f4bbf138c2fc8a35bfa18e3507748735abe67f350dfd2e33cf6d2b3335102233e2fe27339c8b0e352cdcfe345e68fa34bf6102358ea949359dd92c3529e52835855c3435abe57234435b9633e6bd4f33c4b01c3400b2e834992ad034fff7d334320ad634a9209435c1b58235a0068935d91d8f3588ccfd34bd91c1344577c6340abcfe3484cd57343c214f349b896234d8245034be9871356d666f35a40d83355c5b81355373783a99029d3e1b19323fa297c43817cc053d290e9b3ea1ea143fe6e09a38e5a4ff3c88e29d3e0352e23e23f128387dbdd23d3afb833ee11f913e9fe77c38e407053eb8564f3e6d79303e7fd798381617103e0390123e4a0ca63dcd7fac382f2ecf3dbab0ba3d6d58093dc5f1503804220e3d7fc73e3de20c5a3a8266ab381d6fa035aca99c357d5b9d3504759c35e2f33f35e2702335d4e90d3551f318351eb84134da6b363499973134df4336345afc8234c1aa103449955e33d8a64b3385419735a7137735301a6f3501247835527ccf34977eb234e840b734c2c7b8347283f934e561bc342c4c9d348ca9a834b32e873591e06635ed4e6435426f7435c8b80f35aceb0635fe250a35a4a409359a384a3274175432d33146321d8d40320b70853c0a7db73d0a9f653f85dc9938da3a393d52dbb13d7c64483f1baa8238f1110a3dec2d123e279f1a3f251d1b3887e8da3d5a15083eead9cf3e90a89338f477023e4fe0ed3dcbdc853e492eae380a29113eea36ab3d1e600d3e798f9c389039cb3d5757ae3d5a1e333d4f4b58382a98103da0462d3db1e4583a28940739e6da8d34735e9f34cbd0a734c416ce34b91f4c347ac52f34e19c3034e77d313427689c3473019d34b70c9a343e439c343a470335c081cb343e449434c12295341d75f3342c9a9834db1a8734ee9e8434bea9ee34934fee34b574dc3431d6c934af283035a828163516c50c351bc6fe348256f2349f86aa34591da73471468734de45de34d024f1342974e234a5f6cc346d2d6f34488b8b3485c4ae342b45723493b56c3b20a70e3d1f31773f3e7bb2387c75343d57a8ce3c1e10593f279e983861b91d3db374b13c05da383f1be52f385bbee93d8830d93cdea9013fbf54853880bd0b3e9f88363d248da93eb2d09a38d4b9063ee23f873da52b2f3e9dfba93884dcb13d4eeead3ddaf96d3dcf323238b8da243d263c2f3db29a053b52211739cee028353e0e363501183035dc711f35000000000000000000000000000000002c691a35f5ba08359c2e10356380113580b1e534954baf3451948334ef929c3400000000000000000000000000000000cb55c834b279b4342f88b0343aaab93411f86235ce96453516b13435518244355bb50235f99dbb34b6ee923415abd534c04df833cda802346bc6043434bf03340000000000000000000000000000000000000000000000000000803f000000005f48ed3ceadc6c3c84bd603f5ff3ab3821e7fa3c04e9b33b276b3f3f9f7dcd37bfa1b53d740a813c17970b3f49619038a88df23dd102ee3cbfe4bb3ea67196397154e63d2c5e7b3d49654b3e4c6f583871709e3d0181a13dcabe9e3d51715138ccc8143d0541143d4dbc873cd6c2ab3800000000000000000000000000000000